ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWJsb2NrCmluZGV4IDRiZDllYTUuLjQ0ZjUyYTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1ibG9jawpAQCAtMjYsMyArMjYsMzcgQEAKIAkJSS9PIHN0YXRpc3RpY3Mgb2YgcGFydGl0aW9uIDxwYXJ0Pi4gVGhlIGZvcm1hdCBpcyB0aGUKIAkJc2FtZSBhcyB0aGUgYWJvdmUtd3JpdHRlbiAvc3lzL2Jsb2NrLzxkaXNrPi9zdGF0CiAJCWZvcm1hdC4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L2Zvcm1hdAorRGF0ZToJCUp1bmUgMjAwOAorQ29udGFjdDoJTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlNZXRhZGF0YSBmb3JtYXQgZm9yIGludGVncml0eSBjYXBhYmxlIGJsb2NrIGRldmljZS4KKwkJRS5nLiBUMTAtRElGLVRZUEUxLUNSQy4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L3JlYWRfdmVyaWZ5CitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorRGVzY3JpcHRpb246CisJCUluZGljYXRlcyB3aGV0aGVyIHRoZSBibG9jayBsYXllciBzaG91bGQgdmVyaWZ5IHRoZQorCQlpbnRlZ3JpdHkgb2YgcmVhZCByZXF1ZXN0cyBzZXJ2aWNlZCBieSBkZXZpY2VzIHRoYXQKKwkJc3VwcG9ydCBzZW5kaW5nIGludGVncml0eSBtZXRhZGF0YS4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L3RhZ19zaXplCitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorRGVzY3JpcHRpb246CisJCU51bWJlciBvZiBieXRlcyBvZiBpbnRlZ3JpdHkgdGFnIHNwYWNlIGF2YWlsYWJsZSBwZXIKKwkJNTEyIGJ5dGVzIG9mIGRhdGEuCisKKworV2hhdDoJCS9zeXMvYmxvY2svPGRpc2s+L2ludGVncml0eS93cml0ZV9nZW5lcmF0ZQorRGF0ZToJCUp1bmUgMjAwOAorQ29udGFjdDoJTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlJbmRpY2F0ZXMgd2hldGhlciB0aGUgYmxvY2sgbGF5ZXIgc2hvdWxkIGF1dG9tYXRpY2FsbHkKKwkJZ2VuZXJhdGUgY2hlY2tzdW1zIGZvciB3cml0ZSByZXF1ZXN0cyBib3VuZCBmb3IKKwkJZGV2aWNlcyB0aGF0IHN1cHBvcnQgcmVjZWl2aW5nIGludGVncml0eSBtZXRhZGF0YS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLWNzcyBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLWNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTg1ZWMyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1idXMtY3NzCkBAIC0wLDAgKzEsMzUgQEAKK1doYXQ6CQkvc3lzL2J1cy9jc3MvZGV2aWNlcy8uLi4vdHlwZQorRGF0ZToJCU1hcmNoIDIwMDgKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgc3ViY2hhbm5lbCB0eXBlLCBhcyByZXBvcnRlZCBieSB0aGUgaGFyZHdhcmUuCisJCVRoaXMgYXR0cmlidXRlIGlzIHByZXNlbnQgZm9yIGFsbCBzdWJjaGFubmVsIHR5cGVzLgorCitXaGF0OgkJL3N5cy9idXMvY3NzL2RldmljZXMvLi4uL21vZGFsaWFzCitEYXRlOgkJTWFyY2ggMjAwOAorQ29udGFjdDoJQ29ybmVsaWEgSHVjayA8Y29ybmVsaWEuaHVja0BkZS5pYm0uY29tPgorCQlsaW51eC1zMzkwQHZnZXIua2VybmVsLm9yZworRGVzY3JpcHRpb246CUNvbnRhaW5zIHRoZSBtb2R1bGUgYWxpYXMgYXMgcmVwb3J0ZWQgd2l0aCB1ZXZlbnRzLgorCQlJdCBpcyBvZiB0aGUgZm9ybWF0IGNzczp0PHR5cGU+IGFuZCBwcmVzZW50IGZvciBhbGwKKwkJc3ViY2hhbm5lbCB0eXBlcy4KKworV2hhdDoJCS9zeXMvYnVzL2Nzcy9kcml2ZXJzL2lvX3N1YmNoYW5uZWwvLi4uL2NocGlkcworRGF0ZToJCURlY2VtYmVyIDIwMDIKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgaWRzIG9mIHRoZSBjaGFubmVsIHBhdGhzIHVzZWQgYnkgdGhpcworCQlzdWJjaGFubmVsLCBhcyByZXBvcnRlZCBieSB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0KKwkJZHVyaW5nIHN1YmNoYW5uZWwgcmVjb2duaXRpb24uCisJCU5vdGU6IFRoaXMgaXMgYW4gSS9PLXN1YmNoYW5uZWwgc3BlY2lmaWMgYXR0cmlidXRlLgorVXNlcnM6CQlzMzkwLXRvb2xzLCBIQUwKKworV2hhdDoJCS9zeXMvYnVzL2Nzcy9kcml2ZXJzL2lvX3N1YmNoYW5uZWwvLi4uL3BpbXBhbXBvbQorRGF0ZToJCURlY2VtYmVyIDIwMDIKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgUElNL1BBTS9QT00gdmFsdWVzLCBhcyByZXBvcnRlZCBieSB0aGUKKwkJY2hhbm5lbCBzdWJzeXN0ZW0gd2hlbiBsYXN0IHF1ZXJpZWQgYnkgdGhlIGNvbW1vbiBJL08KKwkJbGF5ZXIgKHRoaXMgaW1wbGllcyB0aGF0IHRoaXMgYXR0cmlidXRlIGlzIG5vdCBuZWNjZXNzYXJpbHkKKwkJaW4gc3luYyB3aXRoIHRoZSB2YWx1ZXMgY3VycmVudCBpbiB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0pLgorCQlOb3RlOiBUaGlzIGlzIGFuIEkvTy1zdWJjaGFubmVsIHNwZWNpZmljIGF0dHJpYnV0ZS4KK1VzZXJzOgkJczM5MC10b29scywgSEFMCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcCBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZmlybXdhcmUtbWVtbWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkOTllZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcApAQCAtMCwwICsxLDcxIEBACitXaGF0OgkJL3N5cy9maXJtd2FyZS9tZW1tYXAvCitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglCZXJuaGFyZCBXYWxsZSA8YndhbGxlQHN1c2UuZGU+CitEZXNjcmlwdGlvbjoKKwkJT24gYWxsIHBsYXRmb3JtcywgdGhlIGZpcm13YXJlIHByb3ZpZGVzIGEgbWVtb3J5IG1hcCB3aGljaCB0aGUKKwkJa2VybmVsIHJlYWRzLiBUaGUgcmVzb3VyY2VzIGZyb20gdGhhdCBtZW1vcnkgbWFwIGFyZSByZWdpc3RlcmVkCisJCWluIHRoZSBrZXJuZWwgcmVzb3VyY2UgdHJlZSBhbmQgZXhwb3NlZCB0byB1c2Vyc3BhY2UgdmlhCisJCS9wcm9jL2lvbWVtICh0b2dldGhlciB3aXRoIG90aGVyIHJlc291cmNlcykuCisKKwkJSG93ZXZlciwgb24gbW9zdCBhcmNoaXRlY3R1cmVzIHRoYXQgZmlybXdhcmUtcHJvdmlkZWQgbWVtb3J5CisJCW1hcCBpcyBtb2RpZmllZCBhZnRlcndhcmRzIGJ5IHRoZSBrZXJuZWwgaXRzZWxmLCBlaXRoZXIgYmVjYXVzZQorCQl0aGUga2VybmVsIG1lcmdlcyB0aGF0IG1lbW9yeSBtYXAgd2l0aCBvdGhlciBpbmZvcm1hdGlvbiBvcgorCQlqdXN0IGJlY2F1c2UgdGhlIHVzZXIgb3ZlcndyaXRlcyB0aGF0IG1lbW9yeSBtYXAgdmlhIGNvbW1hbmQKKwkJbGluZS4KKworCQlrZXhlYyBuZWVkcyB0aGUgcmF3IGZpcm13YXJlLXByb3ZpZGVkIG1lbW9yeSBtYXAgdG8gc2V0dXAgdGhlCisJCXBhcmFtZXRlciBzZWdtZW50IG9mIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgYm9vdGVkIHdpdGgKKwkJa2V4ZWMuIEFsc28sIHRoZSByYXcgbWVtb3J5IG1hcCBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZy4gRm9yCisJCXRoYXQgcmVhc29uLCAvc3lzL2Zpcm13YXJlL21lbW1hcCBpcyBhbiBpbnRlcmZhY2UgdGhhdCBwcm92aWRlcworCQl0aGUgcmF3IG1lbW9yeSBtYXAgdG8gdXNlcnNwYWNlLgorCisJCVRoZSBzdHJ1Y3R1cmUgaXMgYXMgZm9sbG93czogVW5kZXIgL3N5cy9maXJtd2FyZS9tZW1tYXAgdGhlcmUKKwkJYXJlIHN1YmRpcmVjdG9yaWVzIHdpdGggdGhlIG51bWJlciBvZiB0aGUgZW50cnkgYXMgdGhlaXIgbmFtZToKKworCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMAorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMQorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMgorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMworCQkJLi4uCisKKwkJVGhlIG1heGltdW0gZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIG1lbW9yeSBtYXAgZW50cmllcyBwcm92aWRlZAorCQlieSB0aGUgZmlybXdhcmUuIFRoZSBvcmRlciBpcyBqdXN0IHRoZSBvcmRlciB0aGF0IHRoZSBmaXJtd2FyZQorCQlwcm92aWRlcy4KKworCQlFYWNoIGRpcmVjdG9yeSBjb250YWlucyB0aHJlZSBmaWxlczoKKworCQlzdGFydAk6IFRoZSBzdGFydCBhZGRyZXNzIChhcyBoZXhhZGVjaW1hbCBudW1iZXIgd2l0aCB0aGUKKwkJCSAgJzB4JyBwcmVmaXgpLgorCQllbmQJOiBUaGUgZW5kIGFkZHJlc3MsIGluY2x1c2l2ZSAocmVnYXJkbGVzcyB3aGV0aGVyIHRoZQorCQkJICBmaXJtd2FyZSBwcm92aWRlcyBpbmNsdXNpdmUgb3IgZXhjbHVzaXZlIHJhbmdlcykuCisJCXR5cGUJOiBUeXBlIG9mIHRoZSBlbnRyeSBhcyBzdHJpbmcuIFNlZSBiZWxvdyBmb3IgYSBsaXN0IG9mCisJCQkgIHZhbGlkIHR5cGVzLgorCisJCVNvLCBmb3IgZXhhbXBsZToKKworCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMC9zdGFydAorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMC9lbmQKKwkJCS9zeXMvZmlybXdhcmUvbWVtbWFwLzAvdHlwZQorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMS9zdGFydAorCQkJLi4uCisKKwkJQ3VycmVudGx5IGZvbGxvd2luZyB0eXBlcyBleGlzdDoKKworCQkgIC0gU3lzdGVtIFJBTQorCQkgIC0gQUNQSSBUYWJsZXMKKwkJICAtIEFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UKKwkJICAtIHJlc2VydmVkCisKKwkJRm9sbG93aW5nIHNoZWxsIHNuaXBwZXQgY2FuIGJlIHVzZWQgdG8gZGlzcGxheSB0aGF0IG1lbW9yeQorCQltYXAgaW4gYSBodW1hbi1yZWFkYWJsZSBmb3JtYXQ6CisKKwkJLS0tLS0tLS0tLS0tLS0tLS0tLS0gODwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCQkgICMhL2Jpbi9iYXNoCisJCSAgY2QgL3N5cy9maXJtd2FyZS9tZW1tYXAKKwkJICBmb3IgZGlyIGluICogOyBkbworCQkgICAgICBzdGFydD0kKGNhdCAkZGlyL3N0YXJ0KQorCQkgICAgICBlbmQ9JChjYXQgJGRpci9lbmQpCisJCSAgICAgIHR5cGU9JChjYXQgJGRpci90eXBlKQorCQkgICAgICBwcmludGYgIiUwMTZ4LSUwMTZ4ICglcylcbiIgJHN0YXJ0ICRbICRlbmQgKzFdICIkdHlwZSIKKwkJICBkb25lCisJCS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vSE9XVE8gYi9Eb2N1bWVudGF0aW9uL0hPV1RPCmluZGV4IDAyOTFhZGUuLjYxOWU4Y2EgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vSE9XVE8KKysrIGIvRG9jdW1lbnRhdGlvbi9IT1dUTwpAQCAtMzc3LDcgKzM3Nyw3IEBACiBidWd6aWxsYS5rZXJuZWwub3JnIGlzIHdoZXJlIHRoZSBMaW51eCBrZXJuZWwgZGV2ZWxvcGVycyB0cmFjayBrZXJuZWwKIGJ1Z3MuICBVc2VycyBhcmUgZW5jb3VyYWdlZCB0byByZXBvcnQgYWxsIGJ1Z3MgdGhhdCB0aGV5IGZpbmQgaW4gdGhpcwogdG9vbC4gIEZvciBkZXRhaWxzIG9uIGhvdyB0byB1c2UgdGhlIGtlcm5lbCBidWd6aWxsYSwgcGxlYXNlIHNlZToKLQlodHRwOi8vdGVzdC5rZXJuZWwub3JnL2J1Z3ppbGxhL2ZhcS5odG1sCisJaHR0cDovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvcGFnZS5jZ2k/aWQ9ZmFxLmh0bWwKIAogVGhlIGZpbGUgUkVQT1JUSU5HLUJVR1MgaW4gdGhlIG1haW4ga2VybmVsIHNvdXJjZSBkaXJlY3RvcnkgaGFzIGEgZ29vZAogdGVtcGxhdGUgZm9yIGhvdyB0byByZXBvcnQgYSBwb3NzaWJsZSBrZXJuZWwgYnVnLCBhbmQgZGV0YWlscyB3aGF0IGtpbmQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vSVJRLWFmZmluaXR5LnR4dCBiL0RvY3VtZW50YXRpb24vSVJRLWFmZmluaXR5LnR4dAppbmRleCA5MzhkN2RkLi5iNGE2MTViIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0lSUS1hZmZpbml0eS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9JUlEtYWZmaW5pdHkudHh0CkBAIC0xLDE3ICsxLDI2IEBACitDaGFuZ2VMb2c6CisJU3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKwlVcGRhdGUgYnkgTWF4IEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotU01QIElSUSBhZmZpbml0eSwgc3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KLQorU01QIElSUSBhZmZpbml0eQogCiAvcHJvYy9pcnEvSVJRIy9zbXBfYWZmaW5pdHkgc3BlY2lmaWVzIHdoaWNoIHRhcmdldCBDUFVzIGFyZSBwZXJtaXR0ZWQKIGZvciBhIGdpdmVuIElSUSBzb3VyY2UuIEl0J3MgYSBiaXRtYXNrIG9mIGFsbG93ZWQgQ1BVcy4gSXQncyBub3QgYWxsb3dlZAogdG8gdHVybiBvZmYgYWxsIENQVXMsIGFuZCBpZiBhbiBJUlEgY29udHJvbGxlciBkb2VzIG5vdCBzdXBwb3J0IElSUQogYWZmaW5pdHkgdGhlbiB0aGUgdmFsdWUgd2lsbCBub3QgY2hhbmdlIGZyb20gdGhlIGRlZmF1bHQgMHhmZmZmZmZmZi4KIAotSGVyZSBpcyBhbiBleGFtcGxlIG9mIHJlc3RyaWN0aW5nIElSUTQ0IChldGgxKSB0byBDUFUwLTMgdGhlbiByZXN0cmljdGluZwotdGhlIElSUSB0byBDUFU0LTcgKHRoaXMgaXMgYW4gOC1DUFUgU01QIGJveCk6CisvcHJvYy9pcnEvZGVmYXVsdF9zbXBfYWZmaW5pdHkgc3BlY2lmaWVzIGRlZmF1bHQgYWZmaW5pdHkgbWFzayB0aGF0IGFwcGxpZXMKK3RvIGFsbCBub24tYWN0aXZlIElSUXMuIE9uY2UgSVJRIGlzIGFsbG9jYXRlZC9hY3RpdmF0ZWQgaXRzIGFmZmluaXR5IGJpdG1hc2sKK3dpbGwgYmUgc2V0IHRvIHRoZSBkZWZhdWx0IG1hc2suIEl0IGNhbiB0aGVuIGJlIGNoYW5nZWQgYXMgZGVzY3JpYmVkIGFib3ZlLgorRGVmYXVsdCBtYXNrIGlzIDB4ZmZmZmZmZmYuCiAKK0hlcmUgaXMgYW4gZXhhbXBsZSBvZiByZXN0cmljdGluZyBJUlE0NCAoZXRoMSkgdG8gQ1BVMC0zIHRoZW4gcmVzdHJpY3RpbmcKK2l0IHRvIENQVTQtNyAodGhpcyBpcyBhbiA4LUNQVSBTTVAgYm94KToKKworW3Jvb3RAbW9vbiA0NF0jIGNkIC9wcm9jL2lycS80NAogW3Jvb3RAbW9vbiA0NF0jIGNhdCBzbXBfYWZmaW5pdHkKIGZmZmZmZmZmCisKIFtyb290QG1vb24gNDRdIyBlY2hvIDBmID4gc21wX2FmZmluaXR5CiBbcm9vdEBtb29uIDQ0XSMgY2F0IHNtcF9hZmZpbml0eQogMDAwMDAwMGYKQEAgLTIxLDE3ICszMCwyNyBAQAogLS0tIGhlbGwgcGluZyBzdGF0aXN0aWNzIC0tLQogNjAyOSBwYWNrZXRzIHRyYW5zbWl0dGVkLCA2MDI3IHBhY2tldHMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzCiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC4xLzAuMS8wLjQgbXMKLVtyb290QG1vb24gNDRdIyBjYXQgL3Byb2MvaW50ZXJydXB0cyB8IGdyZXAgNDQ6Ci0gNDQ6ICAgICAgICAgIDAgICAgICAgMTc4NSAgICAgICAxNzg1ICAgICAgIDE3ODMgICAgICAgMTc4MyAgICAgICAgICAxCi0xICAgICAgICAgIDAgICBJTy1BUElDLWxldmVsICBldGgxCitbcm9vdEBtb29uIDQ0XSMgY2F0IC9wcm9jL2ludGVycnVwdHMgfCBncmVwICdDUFVcfDQ0OicKKyAgICAgICAgICAgQ1BVMCAgICAgICBDUFUxICAgICAgIENQVTIgICAgICAgQ1BVMyAgICAgIENQVTQgICAgICAgQ1BVNSAgICAgICAgQ1BVNiAgICAgICBDUFU3CisgNDQ6ICAgICAgIDEwNjggICAgICAgMTc4NSAgICAgICAxNzg1ICAgICAgIDE3ODMgICAgICAgICAwICAgICAgICAgIDAgICAgICAgICAgIDAgICAgICAgICAwICAgIElPLUFQSUMtbGV2ZWwgIGV0aDEKKworQXMgY2FuIGJlIHNlZW4gZnJvbSB0aGUgbGluZSBhYm92ZSBJUlE0NCB3YXMgZGVsaXZlcmVkIG9ubHkgdG8gdGhlIGZpcnN0IGZvdXIKK3Byb2Nlc3NvcnMgKDAtMykuCitOb3cgbGV0cyByZXN0cmljdCB0aGF0IElSUSB0byBDUFUoNC03KS4KKwogW3Jvb3RAbW9vbiA0NF0jIGVjaG8gZjAgPiBzbXBfYWZmaW5pdHkKK1tyb290QG1vb24gNDRdIyBjYXQgc21wX2FmZmluaXR5CiswMDAwMDBmMAogW3Jvb3RAbW9vbiA0NF0jIHBpbmcgLWYgaAogUElORyBoZWxsICgxOTUuNC43LjMpOiA1NiBkYXRhIGJ5dGVzCiAuLgogLS0tIGhlbGwgcGluZyBzdGF0aXN0aWNzIC0tLQogMjc3OSBwYWNrZXRzIHRyYW5zbWl0dGVkLCAyNzc3IHBhY2tldHMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzCiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC4xLzAuNS81ODUuNCBtcwotW3Jvb3RAbW9vbiA0NF0jIGNhdCAvcHJvYy9pbnRlcnJ1cHRzIHwgZ3JlcCA0NDoKLSA0NDogICAgICAgMTA2OCAgICAgICAxNzg1ICAgICAgIDE3ODUgICAgICAgMTc4NCAgICAgICAxNzg0ICAgICAgIDEwNjkgICAgICAgMTA3MCAgICAgICAxMDY5ICAgSU8tQVBJQy1sZXZlbCAgZXRoMQotW3Jvb3RAbW9vbiA0NF0jCitbcm9vdEBtb29uIDQ0XSMgY2F0IC9wcm9jL2ludGVycnVwdHMgfCAgJ0NQVVx8NDQ6JworICAgICAgICAgICBDUFUwICAgICAgIENQVTEgICAgICAgQ1BVMiAgICAgICBDUFUzICAgICAgQ1BVNCAgICAgICBDUFU1ICAgICAgICBDUFU2ICAgICAgIENQVTcKKyA0NDogICAgICAgMTA2OCAgICAgICAxNzg1ICAgICAgIDE3ODUgICAgICAgMTc4MyAgICAgIDE3ODQgICAgICAgMTA2OSAgICAgICAgMTA3MCAgICAgICAxMDY5ICAgSU8tQVBJQy1sZXZlbCAgZXRoMQorCitUaGlzIHRpbWUgYXJvdW5kIElSUTQ0IHdhcyBkZWxpdmVyZWQgb25seSB0byB0aGUgbGFzdCBmb3VyIHByb2Nlc3NvcnMuCitpLmUgY291bnRlcnMgZm9yIHRoZSBDUFUwLTMgZGlkIG5vdCBjaGFuZ2UuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUkNVL05NSS1SQ1UudHh0IGIvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKaW5kZXggYzY0MTU4ZS4uYTZkMzJlNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKQEAgLTkzLDYgKzkzLDkgQEAKIG5vdCB0byByZXR1cm4gdW50aWwgYWxsIG9uZ29pbmcgTk1JIGhhbmRsZXJzIGV4aXQuICBJdCBpcyB0aGVyZWZvcmUgc2FmZQogdG8gZnJlZSB1cCB0aGUgaGFuZGxlcidzIGRhdGEgYXMgc29vbiBhcyBzeW5jaHJvbml6ZV9zY2hlZCgpIHJldHVybnMuCiAKK0ltcG9ydGFudCBub3RlOiBmb3IgdGhpcyB0byB3b3JrLCB0aGUgYXJjaGl0ZWN0dXJlIGluIHF1ZXN0aW9uIG11c3QKK2ludm9rZSBpcnFfZW50ZXIoKSBhbmQgaXJxX2V4aXQoKSBvbiBOTUkgZW50cnkgYW5kIGV4aXQsIHJlc3BlY3RpdmVseS4KKwogCiBBbnN3ZXIgdG8gUXVpY2sgUXVpegogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JDVS9SVEZQLnR4dCBiL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CmluZGV4IDM5YWQ4ZjUuLjlmNzExZDIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CkBAIC01Miw2ICs1MiwxMCBAQAogc3RydWN0dXJlZCBkYXRhLCBzdWNoIGFzIHRoZSBtYXRyaWNlcyB1c2VkIGluIHNjaWVudGlmaWMgcHJvZ3JhbXMsIGFuZAogaXMgdGh1cyBpbmFwcGxpY2FibGUgdG8gbW9zdCBkYXRhIHN0cnVjdHVyZXMgaW4gb3BlcmF0aW5nLXN5c3RlbSBrZXJuZWxzLgogCitJbiAxOTkyLCBIZW5yeSAobm93IEFsZXhpYSkgTWFzc2FsaW4gY29tcGxldGVkIGEgZGlzc2VydGF0aW9uIGFkdmlzaW5nCitwYXJhbGxlbCBwcm9ncmFtbWVycyB0byBkZWZlciBwcm9jZXNzaW5nIHdoZW4gZmVhc2libGUgdG8gc2ltcGxpZnkKK3N5bmNocm9uaXphdGlvbi4gIFJDVSBtYWtlcyBleHRyZW1lbHkgaGVhdnkgdXNlIG9mIHRoaXMgYWR2aWNlLgorCiBJbiAxOTkzLCBKYWNvYnNvbiBbSmFjb2Jzb245M10gdmVyYmFsbHkgZGVzY3JpYmVkIHdoYXQgaXMgcGVyaGFwcyB0aGUKIHNpbXBsZXN0IGRlZmVycmVkLWZyZWUgdGVjaG5pcXVlOiBzaW1wbHkgd2FpdGluZyBhIGZpeGVkIGFtb3VudCBvZiB0aW1lCiBiZWZvcmUgZnJlZWluZyBibG9ja3MgYXdhaXRpbmcgZGVmZXJyZWQgZnJlZS4gIEphY29ic29uIGRpZCBub3QgZGVzY3JpYmUKQEAgLTEzOCw2ICsxNDIsMTMgQEAKIFJvYmVydCBPbHNzb24gZGVzY3JpYmVkIGFuIFJDVS1wcm90ZWN0ZWQgdHJpZS1oYXNoIGNvbWJpbmF0aW9uCiBbUm9iZXJ0T2xzc29uMjAwNmFdLgogCisyMDA3IHNhdyB0aGUgam91cm5hbCB2ZXJzaW9uIG9mIHRoZSBhd2FyZC13aW5uaW5nIFJDVSBwYXBlciBmcm9tIDIwMDYKK1tUaG9tYXNFSGFydDIwMDdhXSwgYXMgd2VsbCBhcyBhIHBhcGVyIGRlbW9uc3RyYXRpbmcgdXNlIG9mIFByb21lbGEKK2FuZCBTcGluIHRvIG1lY2hhbmljYWxseSB2ZXJpZnkgYW4gb3B0aW1pemF0aW9uIHRvIE9sZWcgTmVzdGVyb3YncworUVJDVSBbUGF1bEVNY0tlbm5leTIwMDdRUkNVc3Bpbl0sIGEgZGVzaWduIGRvY3VtZW50IGRlc2NyaWJpbmcKK3ByZWVtcHRpYmxlIFJDVSBbUGF1bEVNY0tlbm5leTIwMDdQcmVlbXB0aWJsZVJDVV0sIGFuZCB0aGUgdGhyZWUtcGFydAorTFdOICJXaGF0IGlzIFJDVT8iIHNlcmllcyBbUGF1bEVNY0tlbm5leTIwMDdXaGF0SXNSQ1VGdW5kYW1lbnRhbGx5LAorUGF1bEVNY0tlbm5leTIwMDhXaGF0SXNSQ1VVc2FnZSwgYW5kIFBhdWxFTWNLZW5uZXkyMDA4V2hhdElzUkNVQVBJXS4KIAogQmlidGV4IEVudHJpZXMKIApAQCAtMjAyLDYgKzIxMywyMCBAQAogLFllYXI9IjE5OTEiCiB9CiAKK0BwaGR0aGVzaXN7SE1hc3NhbGluUGhECissYXV0aG9yPSJILiBNYXNzYWxpbiIKKyx0aXRsZT0iU3ludGhlc2lzOiBBbiBFZmZpY2llbnQgSW1wbGVtZW50YXRpb24gb2YgRnVuZGFtZW50YWwgT3BlcmF0aW5nCitTeXN0ZW0gU2VydmljZXMiCissc2Nob29sPSJDb2x1bWJpYSBVbml2ZXJzaXR5IgorLGFkZHJlc3M9Ik5ldyBZb3JrLCBOWSIKKyx5ZWFyPSIxOTkyIgorLGFubm90YXRpb249IgorCU1vbmRvIG9wdGltaXppbmcgY29tcGlsZXIuCisJV2FpdC1mcmVlIHN0dWZmLgorCUdvb2QgYWR2aWNlOiBkZWZlciB3b3JrIHRvIGF2b2lkIHN5bmNocm9uaXphdGlvbi4KKyIKK30KKwogQHVucHVibGlzaGVke0phY29ic29uOTMKICxhdXRob3I9IlZhbiBKYWNvYnNvbiIKICx0aXRsZT0iQXZvaWQgUmVhZC1TaWRlIExvY2tpbmcgVmlhIERlbGF5ZWQgRnJlZSIKQEAgLTYzNSwzICs2NjAsODYgQEAKICIKIH0KIAorQHVucHVibGlzaGVke1BhdWxFTWNLZW5uZXkyMDA3UHJlZW1wdGlibGVSQ1UKKyxBdXRob3I9IlBhdWwgRS4gTWNLZW5uZXkiCissVGl0bGU9IlRoZSBkZXNpZ24gb2YgcHJlZW1wdGlibGUgcmVhZC1jb3B5LXVwZGF0ZSIKKyxtb250aD0iT2N0b2JlciIKKyxkYXk9IjgiCisseWVhcj0iMjAwNyIKKyxub3RlPSJBdmFpbGFibGU6CitcdXJse2h0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI1MzY1MS99CitbVmlld2VkIE9jdG9iZXIgMjUsIDIwMDddIgorLGFubm90YXRpb249IgorCUxXTiBhcnRpY2xlIGRlc2NyaWJpbmcgdGhlIGRlc2lnbiBvZiBwcmVlbXB0aWJsZSBSQ1UuCisiCit9CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIwkiV2hhdCBpcyBSQ1U/IiBMV04gc2VyaWVzLgorIworCitAdW5wdWJsaXNoZWR7UGF1bEVNY0tlbm5leTIwMDdXaGF0SXNSQ1VGdW5kYW1lbnRhbGx5CissQXV0aG9yPSJQYXVsIEUuIE1jS2VubmV5IGFuZCBKb25hdGhhbiBXYWxwb2xlIgorLFRpdGxlPSJXaGF0IGlzIHtSQ1V9LCBGdW5kYW1lbnRhbGx5PyIKKyxtb250aD0iRGVjZW1iZXIiCissZGF5PSIxNyIKKyx5ZWFyPSIyMDA3IgorLG5vdGU9IkF2YWlsYWJsZToKK1x1cmx7aHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjYyNDY0L30KK1tWaWV3ZWQgRGVjZW1iZXIgMjcsIDIwMDddIgorLGFubm90YXRpb249IgorCUxheXMgb3V0IHRoZSB0aHJlZSBiYXNpYyBjb21wb25lbnRzIG9mIFJDVTogKDEpIHB1Ymxpc2gtc3Vic2NyaWJlLAorCSgyKSB3YWl0IGZvciBwcmUtZXhpc3RpbmcgcmVhZGVycyB0byBjb21wbGV0ZSwgYW5kICgyKSBtYWludGFpbgorCW11bHRpcGxlIHZlcnNpb25zLgorIgorfQorCitAdW5wdWJsaXNoZWR7UGF1bEVNY0tlbm5leTIwMDhXaGF0SXNSQ1VVc2FnZQorLEF1dGhvcj0iUGF1bCBFLiBNY0tlbm5leSIKKyxUaXRsZT0iV2hhdCBpcyB7UkNVfT8gUGFydCAyOiBVc2FnZSIKKyxtb250aD0iSmFudWFyeSIKKyxkYXk9IjQiCisseWVhcj0iMjAwOCIKKyxub3RlPSJBdmFpbGFibGU6CitcdXJse2h0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI2MzEzMC99CitbVmlld2VkIEphbnVhcnkgNCwgMjAwOF0iCissYW5ub3RhdGlvbj0iCisJTGF5cyBvdXQgc2l4IHVzZXMgb2YgUkNVOgorCTEuIFJDVSBpcyBhIFJlYWRlci1Xcml0ZXIgTG9jayBSZXBsYWNlbWVudAorCTIuIFJDVSBpcyBhIFJlc3RyaWN0ZWQgUmVmZXJlbmNlLUNvdW50aW5nIE1lY2hhbmlzbQorCTMuIFJDVSBpcyBhIEJ1bGsgUmVmZXJlbmNlLUNvdW50aW5nIE1lY2hhbmlzbQorCTQuIFJDVSBpcyBhIFBvb3IgTWFuJ3MgR2FyYmFnZSBDb2xsZWN0b3IKKwk1LiBSQ1UgaXMgYSBXYXkgb2YgUHJvdmlkaW5nIEV4aXN0ZW5jZSBHdWFyYW50ZWVzCisJNi4gUkNVIGlzIGEgV2F5IG9mIFdhaXRpbmcgZm9yIFRoaW5ncyB0byBGaW5pc2ggCisiCit9CisKK0B1bnB1Ymxpc2hlZHtQYXVsRU1jS2VubmV5MjAwOFdoYXRJc1JDVUFQSQorLEF1dGhvcj0iUGF1bCBFLiBNY0tlbm5leSIKKyxUaXRsZT0ie1JDVX0gcGFydCAzOiB0aGUge1JDVX0ge0FQSX0iCissbW9udGg9IkphbnVhcnkiCissZGF5PSIxNyIKKyx5ZWFyPSIyMDA4IgorLG5vdGU9IkF2YWlsYWJsZToKK1x1cmx7aHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjY0MDkwL30KK1tWaWV3ZWQgSmFudWFyeSAxMCwgMjAwOF0iCissYW5ub3RhdGlvbj0iCisJR2l2ZXMgYW4gb3ZlcnZpZXcgb2YgdGhlIExpbnV4LWtlcm5lbCBSQ1UgQVBJIGFuZCBhIGJyaWVmIGFubm90YXRlZCBSQ1UKKwliaWJsaW9ncmFwaHkuCisiCit9CisKK0BhcnRpY2xle0RpbmFrYXJHdW5pZ3VudGFsYTIwMDhJQk1TeXNKCissYXV0aG9yPSJELiBHdW5pZ3VudGFsYSBhbmQgUC4gRS4gTWNLZW5uZXkgYW5kIEouIFRyaXBsZXR0IGFuZCBKLiBXYWxwb2xlIgorLHRpdGxlPSJUaGUgcmVhZC1jb3B5LXVwZGF0ZSBtZWNoYW5pc20gZm9yIHN1cHBvcnRpbmcgcmVhbC10aW1lIGFwcGxpY2F0aW9ucyBvbiBzaGFyZWQtbWVtb3J5IG11bHRpcHJvY2Vzc29yIHN5c3RlbXMgd2l0aCB7TGludXh9IgorLFllYXI9IjIwMDgiCissTW9udGg9IkFwcmlsIgorLGpvdXJuYWw9IklCTSBTeXN0ZW1zIEpvdXJuYWwiCissdm9sdW1lPSI0NyIKKyxudW1iZXI9IjIiCisscGFnZXM9IkBALUBAIgorLGFubm90YXRpb249IgorCVJDVSwgcmVhbHRpbWUgUkNVLCBzbGVlcGFibGUgUkNVLCBwZXJmb3JtYW5jZS4KKyIKK30KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUkNVL2NoZWNrbGlzdC50eHQgYi9Eb2N1bWVudGF0aW9uL1JDVS9jaGVja2xpc3QudHh0CmluZGV4IDQyYjAxYmMuLmNmNTU2MmMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUkNVL2NoZWNrbGlzdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SQ1UvY2hlY2tsaXN0LnR4dApAQCAtMTMsMTAgKzEzLDEzIEBACiAJZGV0YWlsZWQgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnRzIHNob3cgdGhhdCBSQ1UgaXMgbm9uZXRoZWxlc3MKIAl0aGUgcmlnaHQgdG9vbCBmb3IgdGhlIGpvYi4KIAotCVRoZSBvdGhlciBleGNlcHRpb24gd291bGQgYmUgd2hlcmUgcGVyZm9ybWFuY2UgaXMgbm90IGFuIGlzc3VlLAotCWFuZCBSQ1UgcHJvdmlkZXMgYSBzaW1wbGVyIGltcGxlbWVudGF0aW9uLiAgQW4gZXhhbXBsZSBvZiB0aGlzCi0Jc2l0dWF0aW9uIGlzIHRoZSBkeW5hbWljIE5NSSBjb2RlIGluIHRoZSBMaW51eCAyLjYga2VybmVsLAotCWF0IGxlYXN0IG9uIGFyY2hpdGVjdHVyZXMgd2hlcmUgTk1JcyBhcmUgcmFyZS4KKwlBbm90aGVyIGV4Y2VwdGlvbiBpcyB3aGVyZSBwZXJmb3JtYW5jZSBpcyBub3QgYW4gaXNzdWUsIGFuZCBSQ1UKKwlwcm92aWRlcyBhIHNpbXBsZXIgaW1wbGVtZW50YXRpb24uICBBbiBleGFtcGxlIG9mIHRoaXMgc2l0dWF0aW9uCisJaXMgdGhlIGR5bmFtaWMgTk1JIGNvZGUgaW4gdGhlIExpbnV4IDIuNiBrZXJuZWwsIGF0IGxlYXN0IG9uCisJYXJjaGl0ZWN0dXJlcyB3aGVyZSBOTUlzIGFyZSByYXJlLgorCisJWWV0IGFub3RoZXIgZXhjZXB0aW9uIGlzIHdoZXJlIHRoZSBsb3cgcmVhbC10aW1lIGxhdGVuY3kgb2YgUkNVJ3MKKwlyZWFkLXNpZGUgcHJpbWl0aXZlcyBpcyBjcml0aWNhbGx5IGltcG9ydGFudC4KIAogMS4JRG9lcyB0aGUgdXBkYXRlIGNvZGUgaGF2ZSBwcm9wZXIgbXV0dWFsIGV4Y2x1c2lvbj8KIApAQCAtMzksOSArNDIsMTAgQEAKIAogMi4JRG8gdGhlIFJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMgbWFrZSBwcm9wZXIgdXNlIG9mCiAJcmN1X3JlYWRfbG9jaygpIGFuZCBmcmllbmRzPyAgVGhlc2UgcHJpbWl0aXZlcyBhcmUgbmVlZGVkCi0JdG8gc3VwcHJlc3MgcHJlZW1wdGlvbiAob3IgYm90dG9tIGhhbHZlcywgaW4gdGhlIGNhc2Ugb2YKLQlyY3VfcmVhZF9sb2NrX2JoKCkpIGluIHRoZSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMsCi0JYW5kIGFyZSBhbHNvIGFuIGV4Y2VsbGVudCBhaWQgdG8gcmVhZGFiaWxpdHkuCisJdG8gcHJldmVudCBncmFjZSBwZXJpb2RzIGZyb20gZW5kaW5nIHByZW1hdHVyZWx5LCB3aGljaAorCWNvdWxkIHJlc3VsdCBpbiBkYXRhIGJlaW5nIHVuY2VyZW1vbmlvdXNseSBmcmVlZCBvdXQgZnJvbQorCXVuZGVyIHlvdXIgcmVhZC1zaWRlIGNvZGUsIHdoaWNoIGNhbiBncmVhdGx5IGluY3JlYXNlIHRoZQorCWFjdHVhcmlhbCByaXNrIG9mIHlvdXIga2VybmVsLgogCiAJQXMgYSByb3VnaCBydWxlIG9mIHRodW1iLCBhbnkgZGVyZWZlcmVuY2Ugb2YgYW4gUkNVLXByb3RlY3RlZAogCXBvaW50ZXIgbXVzdCBiZSBjb3ZlcmVkIGJ5IHJjdV9yZWFkX2xvY2soKSBvciByY3VfcmVhZF9sb2NrX2JoKCkKQEAgLTU0LDE1ICs1OCwzMCBAQAogCWJlIHJ1bm5pbmcgd2hpbGUgdXBkYXRlcyBhcmUgaW4gcHJvZ3Jlc3MuICBUaGVyZSBhcmUgYSBudW1iZXIKIAlvZiB3YXlzIHRvIGhhbmRsZSB0aGlzIGNvbmN1cnJlbmN5LCBkZXBlbmRpbmcgb24gdGhlIHNpdHVhdGlvbjoKIAotCWEuCU1ha2UgdXBkYXRlcyBhcHBlYXIgYXRvbWljIHRvIHJlYWRlcnMuICBGb3IgZXhhbXBsZSwKKwlhLglVc2UgdGhlIFJDVSB2YXJpYW50cyBvZiB0aGUgbGlzdCBhbmQgaGxpc3QgdXBkYXRlCisJCXByaW1pdGl2ZXMgdG8gYWRkLCByZW1vdmUsIGFuZCByZXBsYWNlIGVsZW1lbnRzIG9uIGFuCisJCVJDVS1wcm90ZWN0ZWQgbGlzdC4gIEFsdGVybmF0aXZlbHksIHVzZSB0aGUgUkNVLXByb3RlY3RlZAorCQl0cmVlcyB0aGF0IGhhdmUgYmVlbiBhZGRlZCB0byB0aGUgTGludXgga2VybmVsLgorCisJCVRoaXMgaXMgYWxtb3N0IGFsd2F5cyB0aGUgYmVzdCBhcHByb2FjaC4KKworCWIuCVByb2NlZWQgYXMgaW4gKGEpIGFib3ZlLCBidXQgYWxzbyBtYWludGFpbiBwZXItZWxlbWVudAorCQlsb2NrcyAodGhhdCBhcmUgYWNxdWlyZWQgYnkgYm90aCByZWFkZXJzIGFuZCB3cml0ZXJzKQorCQl0aGF0IGd1YXJkIHBlci1lbGVtZW50IHN0YXRlLiAgT2YgY291cnNlLCBmaWVsZHMgdGhhdAorCQl0aGUgcmVhZGVycyByZWZyYWluIGZyb20gYWNjZXNzaW5nIGNhbiBiZSBndWFyZGVkIGJ5IHRoZQorCQl1cGRhdGUtc2lkZSBsb2NrLgorCisJCVRoaXMgd29ya3MgcXVpdGUgd2VsbCwgYWxzby4KKworCWMuCU1ha2UgdXBkYXRlcyBhcHBlYXIgYXRvbWljIHRvIHJlYWRlcnMuICBGb3IgZXhhbXBsZSwKIAkJcG9pbnRlciB1cGRhdGVzIHRvIHByb3Blcmx5IGFsaWduZWQgZmllbGRzIHdpbGwgYXBwZWFyCiAJCWF0b21pYywgYXMgd2lsbCBpbmRpdmlkdWFsIGF0b21pYyBwcmltaXRpdmVzLiAgT3BlcmF0aW9ucwogCQlwZXJmb3JtZWQgdW5kZXIgYSBsb2NrIGFuZCBzZXF1ZW5jZXMgb2YgbXVsdGlwbGUgYXRvbWljCiAJCXByaW1pdGl2ZXMgd2lsbCAtbm90LSBhcHBlYXIgdG8gYmUgYXRvbWljLgogCi0JCVRoaXMgaXMgYWxtb3N0IGFsd2F5cyB0aGUgYmVzdCBhcHByb2FjaC4KKwkJVGhpcyBjYW4gd29yaywgYnV0IGlzIHN0YXJ0aW5nIHRvIGdldCBhIGJpdCB0cmlja3kuCiAKLQliLglDYXJlZnVsbHkgb3JkZXIgdGhlIHVwZGF0ZXMgYW5kIHRoZSByZWFkcyBzbyB0aGF0CisJZC4JQ2FyZWZ1bGx5IG9yZGVyIHRoZSB1cGRhdGVzIGFuZCB0aGUgcmVhZHMgc28gdGhhdAogCQlyZWFkZXJzIHNlZSB2YWxpZCBkYXRhIGF0IGFsbCBwaGFzZXMgb2YgdGhlIHVwZGF0ZS4KIAkJVGhpcyBpcyBvZnRlbiBtb3JlIGRpZmZpY3VsdCB0aGFuIGl0IHNvdW5kcywgZXNwZWNpYWxseQogCQlnaXZlbiBtb2Rlcm4gQ1BVcycgdGVuZGVuY3kgdG8gcmVvcmRlciBtZW1vcnkgcmVmZXJlbmNlcy4KQEAgLTEyMywxOCArMTQyLDIyIEBACiAJCXdoZW4gcHVibGljaXppbmcgYSBwb2ludGVyIHRvIGEgc3RydWN0dXJlIHRoYXQgY2FuCiAJCWJlIHRyYXZlcnNlZCBieSBhbiBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb24uCiAKLTUuCUlmIGNhbGxfcmN1KCksIG9yIGEgcmVsYXRlZCBwcmltaXRpdmUgc3VjaCBhcyBjYWxsX3JjdV9iaCgpLAotCWlzIHVzZWQsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBtdXN0IGJlIHdyaXR0ZW4gdG8gYmUgY2FsbGVkCi0JZnJvbSBzb2Z0aXJxIGNvbnRleHQuICBJbiBwYXJ0aWN1bGFyLCBpdCBjYW5ub3QgYmxvY2suCis1LglJZiBjYWxsX3JjdSgpLCBvciBhIHJlbGF0ZWQgcHJpbWl0aXZlIHN1Y2ggYXMgY2FsbF9yY3VfYmgoKSBvcgorCWNhbGxfcmN1X3NjaGVkKCksIGlzIHVzZWQsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBtdXN0IGJlCisJd3JpdHRlbiB0byBiZSBjYWxsZWQgZnJvbSBzb2Z0aXJxIGNvbnRleHQuICBJbiBwYXJ0aWN1bGFyLAorCWl0IGNhbm5vdCBibG9jay4KIAogNi4JU2luY2Ugc3luY2hyb25pemVfcmN1KCkgY2FuIGJsb2NrLCBpdCBjYW5ub3QgYmUgY2FsbGVkIGZyb20KLQlhbnkgc29ydCBvZiBpcnEgY29udGV4dC4KKwlhbnkgc29ydCBvZiBpcnEgY29udGV4dC4gIERpdHRvIGZvciBzeW5jaHJvbml6ZV9zY2hlZCgpIGFuZAorCXN5bmNocm9uaXplX3NyY3UoKS4KIAogNy4JSWYgdGhlIHVwZGF0ZXIgdXNlcyBjYWxsX3JjdSgpLCB0aGVuIHRoZSBjb3JyZXNwb25kaW5nIHJlYWRlcnMKIAltdXN0IHVzZSByY3VfcmVhZF9sb2NrKCkgYW5kIHJjdV9yZWFkX3VubG9jaygpLiAgSWYgdGhlIHVwZGF0ZXIKIAl1c2VzIGNhbGxfcmN1X2JoKCksIHRoZW4gdGhlIGNvcnJlc3BvbmRpbmcgcmVhZGVycyBtdXN0IHVzZQotCXJjdV9yZWFkX2xvY2tfYmgoKSBhbmQgcmN1X3JlYWRfdW5sb2NrX2JoKCkuICBNaXhpbmcgdGhpbmdzIHVwCi0Jd2lsbCByZXN1bHQgaW4gY29uZnVzaW9uIGFuZCBicm9rZW4ga2VybmVscy4KKwlyY3VfcmVhZF9sb2NrX2JoKCkgYW5kIHJjdV9yZWFkX3VubG9ja19iaCgpLiAgSWYgdGhlIHVwZGF0ZXIKKwl1c2VzIGNhbGxfcmN1X3NjaGVkKCksIHRoZW4gdGhlIGNvcnJlc3BvbmRpbmcgcmVhZGVycyBtdXN0CisJZGlzYWJsZSBwcmVlbXB0aW9uLiAgTWl4aW5nIHRoaW5ncyB1cCB3aWxsIHJlc3VsdCBpbiBjb25mdXNpb24KKwlhbmQgYnJva2VuIGtlcm5lbHMuCiAKIAlPbmUgZXhjZXB0aW9uIHRvIHRoaXMgcnVsZTogcmN1X3JlYWRfbG9jaygpIGFuZCByY3VfcmVhZF91bmxvY2soKQogCW1heSBiZSBzdWJzdGl0dXRlZCBmb3IgcmN1X3JlYWRfbG9ja19iaCgpIGFuZCByY3VfcmVhZF91bmxvY2tfYmgoKQpAQCAtMTQzLDkgKzE2Niw5IEBACiAJc3VjaCBjYXNlcyBpcyBhIG11c3QsIG9mIGNvdXJzZSEgIEFuZCB0aGUganVyeSBpcyBzdGlsbCBvdXQgb24KIAl3aGV0aGVyIHRoZSBpbmNyZWFzZWQgc3BlZWQgaXMgd29ydGggaXQuCiAKLTguCUFsdGhvdWdoIHN5bmNocm9uaXplX3JjdSgpIGlzIGEgYml0IHNsb3dlciB0aGFuIGlzIGNhbGxfcmN1KCksCi0JaXQgdXN1YWxseSByZXN1bHRzIGluIHNpbXBsZXIgY29kZS4gIFNvLCB1bmxlc3MgdXBkYXRlCi0JcGVyZm9ybWFuY2UgaXMgY3JpdGljYWxseSBpbXBvcnRhbnQgb3IgdGhlIHVwZGF0ZXJzIGNhbm5vdCBibG9jaywKKzguCUFsdGhvdWdoIHN5bmNocm9uaXplX3JjdSgpIGlzIHNsb3dlciB0aGFuIGlzIGNhbGxfcmN1KCksIGl0CisJdXN1YWxseSByZXN1bHRzIGluIHNpbXBsZXIgY29kZS4gIFNvLCB1bmxlc3MgdXBkYXRlIHBlcmZvcm1hbmNlCisJaXMgY3JpdGljYWxseSBpbXBvcnRhbnQgb3IgdGhlIHVwZGF0ZXJzIGNhbm5vdCBibG9jaywKIAlzeW5jaHJvbml6ZV9yY3UoKSBzaG91bGQgYmUgdXNlZCBpbiBwcmVmZXJlbmNlIHRvIGNhbGxfcmN1KCkuCiAKIAlBbiBlc3BlY2lhbGx5IGltcG9ydGFudCBwcm9wZXJ0eSBvZiB0aGUgc3luY2hyb25pemVfcmN1KCkKQEAgLTE4NywyMyArMjEwLDIzIEBACiAJCW51bWJlciBvZiB1cGRhdGVzIHBlciBncmFjZSBwZXJpb2QuCiAKIDkuCUFsbCBSQ1UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgd2hpY2ggaW5jbHVkZQotCWxpc3RfZm9yX2VhY2hfcmN1KCksIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksCisJcmN1X2RlcmVmZXJlbmNlKCksIGxpc3RfZm9yX2VhY2hfcmN1KCksIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksCiAJbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UoKSwgYW5kIGxpc3RfZm9yX2VhY2hfc2FmZV9yY3UoKSwKLQltdXN0IGJlIHdpdGhpbiBhbiBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb24uICBSQ1UKKwltdXN0IGJlIGVpdGhlciB3aXRoaW4gYW4gUkNVIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9uIG9yCisJbXVzdCBiZSBwcm90ZWN0ZWQgYnkgYXBwcm9wcmlhdGUgdXBkYXRlLXNpZGUgbG9ja3MuICBSQ1UKIAlyZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMgYXJlIGRlbGltaXRlZCBieSByY3VfcmVhZF9sb2NrKCkKIAlhbmQgcmN1X3JlYWRfdW5sb2NrKCksIG9yIGJ5IHNpbWlsYXIgcHJpbWl0aXZlcyBzdWNoIGFzCiAJcmN1X3JlYWRfbG9ja19iaCgpIGFuZCByY3VfcmVhZF91bmxvY2tfYmgoKS4KIAotCVVzZSBvZiB0aGUgX3JjdSgpIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMgb3V0c2lkZSBvZiBhbgotCVJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbiBjYXVzZXMgbm8gaGFybSBvdGhlciB0aGFuCi0JYSBzbGlnaHQgcGVyZm9ybWFuY2UgZGVncmFkYXRpb24gb24gQWxwaGEgQ1BVcy4gIEl0IGNhbgotCWFsc28gYmUgcXVpdGUgaGVscGZ1bCBpbiByZWR1Y2luZyBjb2RlIGJsb2F0IHdoZW4gY29tbW9uCi0JY29kZSBpcyBzaGFyZWQgYmV0d2VlbiByZWFkZXJzIGFuZCB1cGRhdGVycy4KKwlUaGUgcmVhc29uIHRoYXQgaXQgaXMgcGVybWlzc2libGUgdG8gdXNlIFJDVSBsaXN0LXRyYXZlcnNhbAorCXByaW1pdGl2ZXMgd2hlbiB0aGUgdXBkYXRlLXNpZGUgbG9jayBpcyBoZWxkIGlzIHRoYXQgZG9pbmcgc28KKwljYW4gYmUgcXVpdGUgaGVscGZ1bCBpbiByZWR1Y2luZyBjb2RlIGJsb2F0IHdoZW4gY29tbW9uIGNvZGUgaXMKKwlzaGFyZWQgYmV0d2VlbiByZWFkZXJzIGFuZCB1cGRhdGVycy4KIAogMTAuCUNvbnZlcnNlbHksIGlmIHlvdSBhcmUgaW4gYW4gUkNVIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9uLAotCXlvdSAtbXVzdC0gdXNlIHRoZSAiX3JjdSgpIiB2YXJpYW50cyBvZiB0aGUgbGlzdCBtYWNyb3MuCi0JRmFpbGluZyB0byBkbyBzbyB3aWxsIGJyZWFrIEFscGhhIGFuZCBjb25mdXNlIHBlb3BsZSByZWFkaW5nCi0JeW91ciBjb2RlLgorCWFuZCB5b3UgZG9uJ3QgaG9sZCB0aGUgYXBwcm9wcmlhdGUgdXBkYXRlLXNpZGUgbG9jaywgeW91IC1tdXN0LQorCXVzZSB0aGUgIl9yY3UoKSIgdmFyaWFudHMgb2YgdGhlIGxpc3QgbWFjcm9zLiAgRmFpbGluZyB0byBkbyBzbworCXdpbGwgYnJlYWsgQWxwaGEgYW5kIGNvbmZ1c2UgcGVvcGxlIHJlYWRpbmcgeW91ciBjb2RlLgogCiAxMS4JTm90ZSB0aGF0IHN5bmNocm9uaXplX3JjdSgpIC1vbmx5LSBndWFyYW50ZWVzIHRvIHdhaXQgdW50aWwKIAlhbGwgY3VycmVudGx5IGV4ZWN1dGluZyByY3VfcmVhZF9sb2NrKCktcHJvdGVjdGVkIFJDVSByZWFkLXNpZGUKQEAgLTIzMCw2ICsyNTMsMTQgQEAKIAltdXN0IHVzZSB3aGF0ZXZlciBsb2NraW5nIG9yIG90aGVyIHN5bmNocm9uaXphdGlvbiBpcyByZXF1aXJlZAogCXRvIHNhZmVseSBhY2Nlc3MgYW5kL29yIG1vZGlmeSB0aGF0IGRhdGEgc3RydWN0dXJlLgogCisJUkNVIGNhbGxiYWNrcyBhcmUgLXVzdWFsbHktIGV4ZWN1dGVkIG9uIHRoZSBzYW1lIENQVSB0aGF0IGV4ZWN1dGVkCisJdGhlIGNvcnJlc3BvbmRpbmcgY2FsbF9yY3UoKSwgY2FsbF9yY3VfYmgoKSwgb3IgY2FsbF9yY3Vfc2NoZWQoKSwKKwlidXQgYXJlIGJ5IC1uby0gbWVhbnMgZ3VhcmFudGVlZCB0byBiZS4gIEZvciBleGFtcGxlLCBpZiBhIGdpdmVuCisJQ1BVIGdvZXMgb2ZmbGluZSB3aGlsZSBoYXZpbmcgYW4gUkNVIGNhbGxiYWNrIHBlbmRpbmcsIHRoZW4gdGhhdAorCVJDVSBjYWxsYmFjayB3aWxsIGV4ZWN1dGUgb24gc29tZSBzdXJ2aXZpbmcgQ1BVLiAgKElmIHRoaXMgd2FzCisJbm90IHRoZSBjYXNlLCBhIHNlbGYtc3Bhd25pbmcgUkNVIGNhbGxiYWNrIHdvdWxkIHByZXZlbnQgdGhlCisJdmljdGltIENQVSBmcm9tIGV2ZXIgZ29pbmcgb2ZmbGluZS4pCisKIDE0LglTUkNVIChzcmN1X3JlYWRfbG9jaygpLCBzcmN1X3JlYWRfdW5sb2NrKCksIGFuZCBzeW5jaHJvbml6ZV9zcmN1KCkpCiAJbWF5IG9ubHkgYmUgaW52b2tlZCBmcm9tIHByb2Nlc3MgY29udGV4dC4gIFVubGlrZSBvdGhlciBmb3JtcyBvZgogCVJDVSwgaXQgLWlzLSBwZXJtaXNzaWJsZSB0byBibG9jayBpbiBhbiBTUkNVIHJlYWQtc2lkZSBjcml0aWNhbApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SQ1UvdG9ydHVyZS50eHQgYi9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dAppbmRleCAyOTY3YTY1Li5hMzQyYjZlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dApAQCAtMTAsMjMgKzEwLDMwIEBACiBjb21tYW5kIChwZXJoYXBzIGdyZXBwaW5nIGZvciAidG9ydHVyZSIpLiAgVGhlIHRlc3QgaXMgc3RhcnRlZAogd2hlbiB0aGUgbW9kdWxlIGlzIGxvYWRlZCwgYW5kIHN0b3BzIHdoZW4gdGhlIG1vZHVsZSBpcyB1bmxvYWRlZC4KIAotSG93ZXZlciwgYWN0dWFsbHkgc2V0dGluZyB0aGlzIGNvbmZpZyBvcHRpb24gdG8gInkiIHJlc3VsdHMgaW4gdGhlIHN5c3RlbQotcnVubmluZyB0aGUgdGVzdCBpbW1lZGlhdGVseSB1cG9uIGJvb3QsIGFuZCBlbmRpbmcgb25seSB3aGVuIHRoZSBzeXN0ZW0KLWlzIHRha2VuIGRvd24uICBOb3JtYWxseSwgb25lIHdpbGwgaW5zdGVhZCB3YW50IHRvIGJ1aWxkIHRoZSBzeXN0ZW0KLXdpdGggQ09ORklHX1JDVV9UT1JUVVJFX1RFU1Q9bSBhbmQgdG8gdXNlIG1vZHByb2JlIGFuZCBybW1vZCB0byBjb250cm9sCi10aGUgdGVzdCwgcGVyaGFwcyB1c2luZyBhIHNjcmlwdCBzaW1pbGFyIHRvIHRoZSBvbmUgc2hvd24gYXQgdGhlIGVuZCBvZgotdGhpcyBkb2N1bWVudC4gIE5vdGUgdGhhdCB5b3Ugd2lsbCBuZWVkIENPTkZJR19NT0RVTEVfVU5MT0FEIGluIG9yZGVyCi10byBiZSBhYmxlIHRvIGVuZCB0aGUgdGVzdC4KK0NPTkZJR19SQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFCisKK0l0IGlzIGFsc28gcG9zc2libGUgdG8gc3BlY2lmeSBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVD15LCB3aGljaCB3aWxsCityZXN1bHQgaW4gdGhlIHRlc3RzIGJlaW5nIGxvYWRlZCBpbnRvIHRoZSBiYXNlIGtlcm5lbC4gIEluIHRoaXMgY2FzZSwKK3RoZSBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVF9SVU5OQUJMRSBjb25maWcgb3B0aW9uIGlzIHVzZWQgdG8gc3BlY2lmeQord2hldGhlciB0aGUgUkNVIHRvcnR1cmUgdGVzdHMgYXJlIHRvIGJlIHN0YXJ0ZWQgaW1tZWRpYXRlbHkgZHVyaW5nCitib290IG9yIHdoZXRoZXIgdGhlIC9wcm9jL3N5cy9rZXJuZWwvcmN1dG9ydHVyZV9ydW5uYWJsZSBmaWxlIGlzIHVzZWQKK3RvIGVuYWJsZSB0aGVtLiAgVGhpcyAvcHJvYyBmaWxlIGNhbiBiZSB1c2VkIHRvIHJlcGVhdGVkbHkgcGF1c2UgYW5kCityZXN0YXJ0IHRoZSB0ZXN0cywgcmVnYXJkbGVzcyBvZiB0aGUgaW5pdGlhbCBzdGF0ZSBzcGVjaWZpZWQgYnkgdGhlCitDT05GSUdfUkNVX1RPUlRVUkVfVEVTVF9SVU5OQUJMRSBjb25maWcgb3B0aW9uLgorCitZb3Ugd2lsbCBub3JtYWxseSAtbm90LSB3YW50IHRvIHN0YXJ0IHRoZSBSQ1UgdG9ydHVyZSB0ZXN0cyBkdXJpbmcgYm9vdAorKGFuZCB0aHVzIHRoZSBkZWZhdWx0IGlzIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFPW4pLCBidXQgZG9pbmcKK3RoaXMgY2FuIHNvbWV0aW1lcyBiZSB1c2VmdWwgaW4gZmluZGluZyBib290LXRpbWUgYnVncy4KIAogCiBNT0RVTEUgUEFSQU1FVEVSUwogCiBUaGlzIG1vZHVsZSBoYXMgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgogCi1ucmVhZGVycwlUaGlzIGlzIHRoZSBudW1iZXIgb2YgUkNVIHJlYWRpbmcgdGhyZWFkcyBzdXBwb3J0ZWQuCi0JCVRoZSBkZWZhdWx0IGlzIHR3aWNlIHRoZSBudW1iZXIgb2YgQ1BVcy4gIFdoeSB0d2ljZT8KLQkJVG8gcHJvcGVybHkgZXhlcmNpc2UgUkNVIGltcGxlbWVudGF0aW9ucyB3aXRoIHByZWVtcHRpYmxlCi0JCXJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9ucy4KK2lycXJlYWRlcnMJU2F5cyB0byBpbnZva2UgUkNVIHJlYWRlcnMgZnJvbSBpcnEgbGV2ZWwuICBUaGlzIGlzIGN1cnJlbnRseQorCQlkb25lIHZpYSB0aW1lcnMuICBEZWZhdWx0cyB0byAiMSIgZm9yIHZhcmlhbnRzIG9mIFJDVSB0aGF0CisJCXBlcm1pdCB0aGlzLiAgKE9yLCBtb3JlIGFjY3VyYXRlbHksIHZhcmlhbnRzIG9mIFJDVSB0aGF0IGRvCisJCS1ub3QtIHBlcm1pdCB0aGlzIGtub3cgdG8gaWdub3JlIHRoaXMgdmFyaWFibGUuKQogCiBuZmFrZXdyaXRlcnMJVGhpcyBpcyB0aGUgbnVtYmVyIG9mIFJDVSBmYWtlIHdyaXRlciB0aHJlYWRzIHRvIHJ1bi4gIEZha2UKIAkJd3JpdGVyIHRocmVhZHMgcmVwZWF0ZWRseSB1c2UgdGhlIHN5bmNocm9ub3VzICJ3YWl0IGZvcgpAQCAtMzcsNiArNDQsMTYgQEAKIAkJdG8gdHJpZ2dlciBzcGVjaWFsIGNhc2VzIGNhdXNlZCBieSBtdWx0aXBsZSB3cml0ZXJzLCBzdWNoIGFzCiAJCXRoZSBzeW5jaHJvbml6ZV9zcmN1KCkgZWFybHkgcmV0dXJuIG9wdGltaXphdGlvbi4KIAorbnJlYWRlcnMJVGhpcyBpcyB0aGUgbnVtYmVyIG9mIFJDVSByZWFkaW5nIHRocmVhZHMgc3VwcG9ydGVkLgorCQlUaGUgZGVmYXVsdCBpcyB0d2ljZSB0aGUgbnVtYmVyIG9mIENQVXMuICBXaHkgdHdpY2U/CisJCVRvIHByb3Blcmx5IGV4ZXJjaXNlIFJDVSBpbXBsZW1lbnRhdGlvbnMgd2l0aCBwcmVlbXB0aWJsZQorCQlyZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMuCisKK3NodWZmbGVfaW50ZXJ2YWwKKwkJVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIGtlZXAgdGhlIHRlc3QgdGhyZWFkcyBhZmZpbml0aWVkCisJCXRvIGEgcGFydGljdWxhciBzdWJzZXQgb2YgdGhlIENQVXMsIGRlZmF1bHRzIHRvIDMgc2Vjb25kcy4KKwkJVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRlc3Rfbm9faWRsZV9oei4KKwogc3RhdF9pbnRlcnZhbAlUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiBvdXRwdXQgb2YgdG9ydHVyZQogCQlzdGF0aXN0aWNzICh2aWEgcHJpbnRrKCkpLiAgUmVnYXJkbGVzcyBvZiB0aGUgaW50ZXJ2YWwsCiAJCXN0YXRpc3RpY3MgYXJlIHByaW50ZWQgd2hlbiB0aGUgbW9kdWxlIGlzIHVubG9hZGVkLgpAQCAtNDQsMTAgKzYxLDExIEBACiAJCWJlIHByaW50ZWQgLW9ubHktIHdoZW4gdGhlIG1vZHVsZSBpcyB1bmxvYWRlZCwgYW5kIHRoaXMKIAkJaXMgdGhlIGRlZmF1bHQuCiAKLXNodWZmbGVfaW50ZXJ2YWwKLQkJVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIGtlZXAgdGhlIHRlc3QgdGhyZWFkcyBhZmZpbml0aWVkCi0JCXRvIGEgcGFydGljdWxhciBzdWJzZXQgb2YgdGhlIENQVXMsIGRlZmF1bHRzIHRvIDUgc2Vjb25kcy4KLQkJVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRlc3Rfbm9faWRsZV9oei4KK3N0dXR0ZXIJCVRoZSBsZW5ndGggb2YgdGltZSB0byBydW4gdGhlIHRlc3QgYmVmb3JlIHBhdXNpbmcgZm9yIHRoaXMKKwkJc2FtZSBwZXJpb2Qgb2YgdGltZS4gIERlZmF1bHRzIHRvICJzdHV0dGVyPTUiLCBzbyBhcworCQl0byBydW4gYW5kIHBhdXNlIGZvciAocm91Z2hseSkgZml2ZS1zZWNvbmQgaW50ZXJ2YWxzLgorCQlTcGVjaWZ5aW5nICJzdHV0dGVyPTAiIGNhdXNlcyB0aGUgdGVzdCB0byBydW4gY29udGludW91c2x5CisJCXdpdGhvdXQgcGF1c2luZywgd2hpY2ggaXMgdGhlIG9sZCBkZWZhdWx0IGJlaGF2aW9yLgogCiB0ZXN0X25vX2lkbGVfaHoJV2hldGhlciBvciBub3QgdG8gdGVzdCB0aGUgYWJpbGl0eSBvZiBSQ1UgdG8gb3BlcmF0ZSBpbgogCQlhIGtlcm5lbCB0aGF0IGRpc2FibGVzIHRoZSBzY2hlZHVsaW5nLWNsb2NrIGludGVycnVwdCB0bwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SQ1Uvd2hhdGlzUkNVLnR4dCBiL0RvY3VtZW50YXRpb24vUkNVL3doYXRpc1JDVS50eHQKaW5kZXggZTBkNmQ5OS4uZTA0ZDY0MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SQ1Uvd2hhdGlzUkNVLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JDVS93aGF0aXNSQ1UudHh0CkBAIC0xLDMgKzEsMTEgQEAKK1BsZWFzZSBub3RlIHRoYXQgdGhlICJXaGF0IGlzIFJDVT8iIExXTiBzZXJpZXMgaXMgYW4gZXhjZWxsZW50IHBsYWNlCit0byBzdGFydCBsZWFybmluZyBhYm91dCBSQ1U6CisKKzEuCVdoYXQgaXMgUkNVLCBGdW5kYW1lbnRhbGx5PyAgaHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjYyNDY0LworMi4JV2hhdCBpcyBSQ1U/IFBhcnQgMjogVXNhZ2UgICBodHRwOi8vbHduLm5ldC9BcnRpY2xlcy8yNjMxMzAvCiszLglSQ1UgcGFydCAzOiB0aGUgUkNVIEFQSSAgICAgIGh0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI2NDA5MC8KKworCiBXaGF0IGlzIFJDVT8KIAogUkNVIGlzIGEgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSB0aGF0IHdhcyBhZGRlZCB0byB0aGUgTGludXgga2VybmVsCkBAIC03NzIsMjYgKzc4MCwxOCBAQAogQVBJcywgc2luY2UgdGhlcmUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgd2F5IHRvIGNhdGVnb3JpemUgdGhlbQogaW4gZG9jYm9vay4gIEhlcmUgaXMgdGhlIGxpc3QsIGJ5IGNhdGVnb3J5LgogCi1NYXJrZXJzIGZvciBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb25zOgotCi0JcmN1X3JlYWRfbG9jawotCXJjdV9yZWFkX3VubG9jawotCXJjdV9yZWFkX2xvY2tfYmgKLQlyY3VfcmVhZF91bmxvY2tfYmgKLQlzcmN1X3JlYWRfbG9jawotCXNyY3VfcmVhZF91bmxvY2sKLQogUkNVIHBvaW50ZXIvbGlzdCB0cmF2ZXJzYWw6CiAKIAlyY3VfZGVyZWZlcmVuY2UKLQlsaXN0X2Zvcl9lYWNoX3JjdQkJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YKLQkJCQkJIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KQogCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1Ci0JbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgbmV3Ci0JCQkJCSBsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlX3JjdSkKIAlobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UKIAotUkNVIHBvaW50ZXIgdXBkYXRlOgorCWxpc3RfZm9yX2VhY2hfcmN1CQkodG8gYmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZgorCQkJCQkgbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UpCisJbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgbmV3CisJCQkJCSBsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlX3JjdSkKKworUkNVIHBvaW50ZXIvbGlzdCB1cGRhdGU6CiAKIAlyY3VfYXNzaWduX3BvaW50ZXIKIAlsaXN0X2FkZF9yY3UKQEAgLTc5OSwxNiArNzk5LDM2IEBACiAJbGlzdF9kZWxfcmN1CiAJbGlzdF9yZXBsYWNlX3JjdQogCWhsaXN0X2RlbF9yY3UKKwlobGlzdF9hZGRfYWZ0ZXJfcmN1CisJaGxpc3RfYWRkX2JlZm9yZV9yY3UKIAlobGlzdF9hZGRfaGVhZF9yY3UKKwlobGlzdF9yZXBsYWNlX3JjdQorCWxpc3Rfc3BsaWNlX2luaXRfcmN1KCkKIAotUkNVIGdyYWNlIHBlcmlvZDoKK1JDVToJQ3JpdGljYWwgc2VjdGlvbnMJR3JhY2UgcGVyaW9kCQlCYXJyaWVyCiAKLQlzeW5jaHJvbml6ZV9uZXQKLQlzeW5jaHJvbml6ZV9zY2hlZAotCXN5bmNocm9uaXplX3JjdQotCXN5bmNocm9uaXplX3NyY3UKLQljYWxsX3JjdQotCWNhbGxfcmN1X2JoCisJcmN1X3JlYWRfbG9jawkJc3luY2hyb25pemVfbmV0CQlyY3VfYmFycmllcgorCXJjdV9yZWFkX3VubG9jawkJc3luY2hyb25pemVfcmN1CisJCQkJY2FsbF9yY3UKKworCitiaDoJQ3JpdGljYWwgc2VjdGlvbnMJR3JhY2UgcGVyaW9kCQlCYXJyaWVyCisKKwlyY3VfcmVhZF9sb2NrX2JoCWNhbGxfcmN1X2JoCQlyY3VfYmFycmllcl9iaAorCXJjdV9yZWFkX3VubG9ja19iaAorCisKK3NjaGVkOglDcml0aWNhbCBzZWN0aW9ucwlHcmFjZSBwZXJpb2QJCUJhcnJpZXIKKworCVtwcmVlbXB0X2Rpc2FibGVdCXN5bmNocm9uaXplX3NjaGVkCXJjdV9iYXJyaWVyX3NjaGVkCisJW2FuZCBmcmllbmRzXQkJY2FsbF9yY3Vfc2NoZWQKKworCitTUkNVOglDcml0aWNhbCBzZWN0aW9ucwlHcmFjZSBwZXJpb2QJCUJhcnJpZXIKKworCXNyY3VfcmVhZF9sb2NrCQlzeW5jaHJvbml6ZV9zcmN1CU4vQQorCXNyY3VfcmVhZF91bmxvY2sKKwogCiBTZWUgdGhlIGNvbW1lbnQgaGVhZGVycyBpbiB0aGUgc291cmNlIGNvZGUgKG9yIHRoZSBkb2Nib29rIGdlbmVyYXRlZAogZnJvbSB0aGVtKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0IGIvRG9jdW1lbnRhdGlvbi9ibG9jay9kYXRhLWludGVncml0eS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlkYzhkOAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0CkBAIC0wLDAgKzEsMzI3IEBACistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxLiBJTlRST0RVQ1RJT04KKworTW9kZXJuIGZpbGVzeXN0ZW1zIGZlYXR1cmUgY2hlY2tzdW1taW5nIG9mIGRhdGEgYW5kIG1ldGFkYXRhIHRvCitwcm90ZWN0IGFnYWluc3QgZGF0YSBjb3JydXB0aW9uLiAgSG93ZXZlciwgdGhlIGRldGVjdGlvbiBvZiB0aGUKK2NvcnJ1cHRpb24gaXMgZG9uZSBhdCByZWFkIHRpbWUgd2hpY2ggY291bGQgcG90ZW50aWFsbHkgYmUgbW9udGhzCithZnRlciB0aGUgZGF0YSB3YXMgd3JpdHRlbi4gIEF0IHRoYXQgcG9pbnQgdGhlIG9yaWdpbmFsIGRhdGEgdGhhdCB0aGUKK2FwcGxpY2F0aW9uIHRyaWVkIHRvIHdyaXRlIGlzIG1vc3QgbGlrZWx5IGxvc3QuCisKK1RoZSBzb2x1dGlvbiBpcyB0byBlbnN1cmUgdGhhdCB0aGUgZGlzayBpcyBhY3R1YWxseSBzdG9yaW5nIHdoYXQgdGhlCithcHBsaWNhdGlvbiBtZWFudCBpdCB0by4gIFJlY2VudCBhZGRpdGlvbnMgdG8gYm90aCB0aGUgU0NTSSBmYW1pbHkKK3Byb3RvY29scyAoU0JDIERhdGEgSW50ZWdyaXR5IEZpZWxkLCBTQ0MgcHJvdGVjdGlvbiBwcm9wb3NhbCkgYXMgd2VsbAorYXMgU0FUQS9UMTMgKEV4dGVybmFsIFBhdGggUHJvdGVjdGlvbikgdHJ5IHRvIHJlbWVkeSB0aGlzIGJ5IGFkZGluZworc3VwcG9ydCBmb3IgYXBwZW5kaW5nIGludGVncml0eSBtZXRhZGF0YSB0byBhbiBJL08uICBUaGUgaW50ZWdyaXR5CittZXRhZGF0YSAob3IgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiBpbiBTQ1NJIHRlcm1pbm9sb2d5KSBpbmNsdWRlcyBhCitjaGVja3N1bSBmb3IgZWFjaCBzZWN0b3IgYXMgd2VsbCBhcyBhbiBpbmNyZW1lbnRpbmcgY291bnRlciB0aGF0CitlbnN1cmVzIHRoZSBpbmRpdmlkdWFsIHNlY3RvcnMgYXJlIHdyaXR0ZW4gaW4gdGhlIHJpZ2h0IG9yZGVyLiAgQW5kCitmb3Igc29tZSBwcm90ZWN0aW9uIHNjaGVtZXMgYWxzbyB0aGF0IHRoZSBJL08gaXMgd3JpdHRlbiB0byB0aGUgcmlnaHQKK3BsYWNlIG9uIGRpc2suCisKK0N1cnJlbnQgc3RvcmFnZSBjb250cm9sbGVycyBhbmQgZGV2aWNlcyBpbXBsZW1lbnQgdmFyaW91cyBwcm90ZWN0aXZlCittZWFzdXJlcywgZm9yIGluc3RhbmNlIGNoZWNrc3VtbWluZyBhbmQgc2NydWJiaW5nLiAgQnV0IHRoZXNlCit0ZWNobm9sb2dpZXMgYXJlIHdvcmtpbmcgaW4gdGhlaXIgb3duIGlzb2xhdGVkIGRvbWFpbnMgb3IgYXQgYmVzdAorYmV0d2VlbiBhZGphY2VudCBub2RlcyBpbiB0aGUgSS9PIHBhdGguICBUaGUgaW50ZXJlc3RpbmcgdGhpbmcgYWJvdXQKK0RJRiBhbmQgdGhlIG90aGVyIGludGVncml0eSBleHRlbnNpb25zIGlzIHRoYXQgdGhlIHByb3RlY3Rpb24gZm9ybWF0CitpcyB3ZWxsIGRlZmluZWQgYW5kIGV2ZXJ5IG5vZGUgaW4gdGhlIEkvTyBwYXRoIGNhbiB2ZXJpZnkgdGhlCitpbnRlZ3JpdHkgb2YgdGhlIEkvTyBhbmQgcmVqZWN0IGl0IGlmIGNvcnJ1cHRpb24gaXMgZGV0ZWN0ZWQuICBUaGlzCithbGxvd3Mgbm90IG9ubHkgY29ycnVwdGlvbiBwcmV2ZW50aW9uIGJ1dCBhbHNvIGlzb2xhdGlvbiBvZiB0aGUgcG9pbnQKK29mIGZhaWx1cmUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIuIFRIRSBEQVRBIElOVEVHUklUWSBFWFRFTlNJT05TCisKK0FzIHdyaXR0ZW4sIHRoZSBwcm90b2NvbCBleHRlbnNpb25zIG9ubHkgcHJvdGVjdCB0aGUgcGF0aCBiZXR3ZWVuCitjb250cm9sbGVyIGFuZCBzdG9yYWdlIGRldmljZS4gIEhvd2V2ZXIsIG1hbnkgY29udHJvbGxlcnMgYWN0dWFsbHkKK2FsbG93IHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRvIGludGVyYWN0IHdpdGggdGhlIGludGVncml0eSBtZXRhZGF0YQorKElNRCkuICBXZSBoYXZlIGJlZW4gd29ya2luZyB3aXRoIHNldmVyYWwgRkMvU0FTIEhCQSB2ZW5kb3JzIHRvIGVuYWJsZQordGhlIHByb3RlY3Rpb24gaW5mb3JtYXRpb24gdG8gYmUgdHJhbnNmZXJyZWQgdG8gYW5kIGZyb20gdGhlaXIKK2NvbnRyb2xsZXJzLgorCitUaGUgU0NTSSBEYXRhIEludGVncml0eSBGaWVsZCB3b3JrcyBieSBhcHBlbmRpbmcgOCBieXRlcyBvZiBwcm90ZWN0aW9uCitpbmZvcm1hdGlvbiB0byBlYWNoIHNlY3Rvci4gIFRoZSBkYXRhICsgaW50ZWdyaXR5IG1ldGFkYXRhIGlzIHN0b3JlZAoraW4gNTIwIGJ5dGUgc2VjdG9ycyBvbiBkaXNrLiAgRGF0YSArIElNRCBhcmUgaW50ZXJsZWF2ZWQgd2hlbgordHJhbnNmZXJyZWQgYmV0d2VlbiB0aGUgY29udHJvbGxlciBhbmQgdGFyZ2V0LiAgVGhlIFQxMyBwcm9wb3NhbCBpcworc2ltaWxhci4KKworQmVjYXVzZSBpdCBpcyBoaWdobHkgaW5jb252ZW5pZW50IGZvciBvcGVyYXRpbmcgc3lzdGVtcyB0byBkZWFsIHdpdGgKKzUyMCAoYW5kIDQxMDQpIGJ5dGUgc2VjdG9ycywgd2UgYXBwcm9hY2hlZCBzZXZlcmFsIEhCQSB2ZW5kb3JzIGFuZAorZW5jb3VyYWdlZCB0aGVtIHRvIGFsbG93IHNlcGFyYXRpb24gb2YgdGhlIGRhdGEgYW5kIGludGVncml0eSBtZXRhZGF0YQorc2NhdHRlci1nYXRoZXIgbGlzdHMuCisKK1RoZSBjb250cm9sbGVyIHdpbGwgaW50ZXJsZWF2ZSB0aGUgYnVmZmVycyBvbiB3cml0ZSBhbmQgc3BsaXQgdGhlbSBvbgorcmVhZC4gIFRoaXMgbWVhbnMgdGhhdCB0aGUgTGludXggY2FuIERNQSB0aGUgZGF0YSBidWZmZXJzIHRvIGFuZCBmcm9tCitob3N0IG1lbW9yeSB3aXRob3V0IGNoYW5nZXMgdG8gdGhlIHBhZ2UgY2FjaGUuCisKK0Fsc28sIHRoZSAxNi1iaXQgQ1JDIGNoZWNrc3VtIG1hbmRhdGVkIGJ5IGJvdGggdGhlIFNDU0kgYW5kIFNBVEEgc3BlY3MKK2lzIHNvbWV3aGF0IGhlYXZ5IHRvIGNvbXB1dGUgaW4gc29mdHdhcmUuICBCZW5jaG1hcmtzIGZvdW5kIHRoYXQKK2NhbGN1bGF0aW5nIHRoaXMgY2hlY2tzdW0gaGFkIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIHN5c3RlbQorcGVyZm9ybWFuY2UgZm9yIGEgbnVtYmVyIG9mIHdvcmtsb2Fkcy4gIFNvbWUgY29udHJvbGxlcnMgYWxsb3cgYQorbGlnaHRlci13ZWlnaHQgY2hlY2tzdW0gdG8gYmUgdXNlZCB3aGVuIGludGVyZmFjaW5nIHdpdGggdGhlIG9wZXJhdGluZworc3lzdGVtLiAgRW11bGV4LCBmb3IgaW5zdGFuY2UsIHN1cHBvcnRzIHRoZSBUQ1AvSVAgY2hlY2tzdW0gaW5zdGVhZC4KK1RoZSBJUCBjaGVja3N1bSByZWNlaXZlZCBmcm9tIHRoZSBPUyBpcyBjb252ZXJ0ZWQgdG8gdGhlIDE2LWJpdCBDUkMKK3doZW4gd3JpdGluZyBhbmQgdmljZSB2ZXJzYS4gIFRoaXMgYWxsb3dzIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgdG8gYmUKK2dlbmVyYXRlZCBieSBMaW51eCBvciB0aGUgYXBwbGljYXRpb24gYXQgdmVyeSBsb3cgY29zdCAoY29tcGFyYWJsZSB0bworc29mdHdhcmUgUkFJRDUpLgorCitUaGUgSVAgY2hlY2tzdW0gaXMgd2Vha2VyIHRoYW4gdGhlIENSQyBpbiB0ZXJtcyBvZiBkZXRlY3RpbmcgYml0CitlcnJvcnMuICBIb3dldmVyLCB0aGUgc3RyZW5ndGggaXMgcmVhbGx5IGluIHRoZSBzZXBhcmF0aW9uIG9mIHRoZSBkYXRhCitidWZmZXJzIGFuZCB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhLiAgVGhlc2UgdHdvIGRpc3RpbmN0IGJ1ZmZlcnMgbXVjaAorbWF0Y2ggdXAgZm9yIGFuIEkvTyB0byBjb21wbGV0ZS4KKworVGhlIHNlcGFyYXRpb24gb2YgdGhlIGRhdGEgYW5kIGludGVncml0eSBtZXRhZGF0YSBidWZmZXJzIGFzIHdlbGwgYXMKK3RoZSBjaG9pY2UgaW4gY2hlY2tzdW1zIGlzIHJlZmVycmVkIHRvIGFzIHRoZSBEYXRhIEludGVncml0eQorRXh0ZW5zaW9ucy4gIEFzIHRoZXNlIGV4dGVuc2lvbnMgYXJlIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoZSBwcm90b2NvbAorYm9kaWVzIChUMTAsIFQxMyksIE9yYWNsZSBhbmQgaXRzIHBhcnRuZXJzIGFyZSB0cnlpbmcgdG8gc3RhbmRhcmRpemUKK3RoZW0gd2l0aGluIHRoZSBTdG9yYWdlIE5ldHdvcmtpbmcgSW5kdXN0cnkgQXNzb2NpYXRpb24uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzMuIEtFUk5FTCBDSEFOR0VTCisKK1RoZSBkYXRhIGludGVncml0eSBmcmFtZXdvcmsgaW4gTGludXggZW5hYmxlcyBwcm90ZWN0aW9uIGluZm9ybWF0aW9uCit0byBiZSBwaW5uZWQgdG8gSS9PcyBhbmQgc2VudCB0by9yZWNlaXZlZCBmcm9tIGNvbnRyb2xsZXJzIHRoYXQKK3N1cHBvcnQgaXQuCisKK1RoZSBhZHZhbnRhZ2UgdG8gdGhlIGludGVncml0eSBleHRlbnNpb25zIGluIFNDU0kgYW5kIFNBVEEgaXMgdGhhdAordGhleSBlbmFibGUgdXMgdG8gcHJvdGVjdCB0aGUgZW50aXJlIHBhdGggZnJvbSBhcHBsaWNhdGlvbiB0byBzdG9yYWdlCitkZXZpY2UuICBIb3dldmVyLCBhdCB0aGUgc2FtZSB0aW1lIHRoaXMgaXMgYWxzbyB0aGUgYmlnZ2VzdAorZGlzYWR2YW50YWdlLiBJdCBtZWFucyB0aGF0IHRoZSBwcm90ZWN0aW9uIGluZm9ybWF0aW9uIG11c3QgYmUgaW4gYQorZm9ybWF0IHRoYXQgY2FuIGJlIHVuZGVyc3Rvb2QgYnkgdGhlIGRpc2suCisKK0dlbmVyYWxseSBMaW51eC9QT1NJWCBhcHBsaWNhdGlvbnMgYXJlIGFnbm9zdGljIHRvIHRoZSBpbnRyaWNhY2llcyBvZgordGhlIHN0b3JhZ2UgZGV2aWNlcyB0aGV5IGFyZSBhY2Nlc3NpbmcuICBUaGUgdmlydHVhbCBmaWxlc3lzdGVtIHN3aXRjaAorYW5kIHRoZSBibG9jayBsYXllciBtYWtlIHRoaW5ncyBsaWtlIGhhcmR3YXJlIHNlY3RvciBzaXplIGFuZAordHJhbnNwb3J0IHByb3RvY29scyBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IHRvIHRoZSBhcHBsaWNhdGlvbi4KKworSG93ZXZlciwgdGhpcyBsZXZlbCBvZiBkZXRhaWwgaXMgcmVxdWlyZWQgd2hlbiBwcmVwYXJpbmcgdGhlCitwcm90ZWN0aW9uIGluZm9ybWF0aW9uIHRvIHNlbmQgdG8gYSBkaXNrLiAgQ29uc2VxdWVudGx5LCB0aGUgdmVyeQorY29uY2VwdCBvZiBhbiBlbmQtdG8tZW5kIHByb3RlY3Rpb24gc2NoZW1lIGlzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uLgorSXQgaXMgY29tcGxldGVseSB1bnJlYXNvbmFibGUgZm9yIGFuIGFwcGxpY2F0aW9uIHRvIGJlIGF3YXJlIHdoZXRoZXIKK2l0IGlzIGFjY2Vzc2luZyBhIFNDU0kgb3IgU0FUQSBkaXNrLgorCitUaGUgZGF0YSBpbnRlZ3JpdHkgc3VwcG9ydCBpbXBsZW1lbnRlZCBpbiBMaW51eCBhdHRlbXB0cyB0byBoaWRlIHRoaXMKK2Zyb20gdGhlIGFwcGxpY2F0aW9uLiAgQXMgZmFyIGFzIHRoZSBhcHBsaWNhdGlvbiAoYW5kIHRvIHNvbWUgZXh0ZW50Cit0aGUga2VybmVsKSBpcyBjb25jZXJuZWQsIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaXMgb3BhcXVlIGluZm9ybWF0aW9uCit0aGF0J3MgYXR0YWNoZWQgdG8gdGhlIEkvTy4KKworVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gYWxsb3dzIHRoZSBibG9jayBsYXllciB0byBhdXRvbWF0aWNhbGx5CitnZW5lcmF0ZSB0aGUgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiBmb3IgYW55IEkvTy4gIEV2ZW50dWFsbHkgdGhlCitpbnRlbnQgaXMgdG8gbW92ZSB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIGNhbGN1bGF0aW9uIHRvIHVzZXJzcGFjZSBmb3IKK3VzZXIgZGF0YS4gIE1ldGFkYXRhIGFuZCBvdGhlciBJL08gdGhhdCBvcmlnaW5hdGVzIHdpdGhpbiB0aGUga2VybmVsCit3aWxsIHN0aWxsIHVzZSB0aGUgYXV0b21hdGljIGdlbmVyYXRpb24gaW50ZXJmYWNlLgorCitTb21lIHN0b3JhZ2UgZGV2aWNlcyBhbGxvdyBlYWNoIGhhcmR3YXJlIHNlY3RvciB0byBiZSB0YWdnZWQgd2l0aCBhCisxNi1iaXQgdmFsdWUuICBUaGUgb3duZXIgb2YgdGhpcyB0YWcgc3BhY2UgaXMgdGhlIG93bmVyIG9mIHRoZSBibG9jaworZGV2aWNlLiAgSS5lLiB0aGUgZmlsZXN5c3RlbSBpbiBtb3N0IGNhc2VzLiAgVGhlIGZpbGVzeXN0ZW0gY2FuIHVzZQordGhpcyBleHRyYSBzcGFjZSB0byB0YWcgc2VjdG9ycyBhcyB0aGV5IHNlZSBmaXQuICBCZWNhdXNlIHRoZSB0YWcKK3NwYWNlIGlzIGxpbWl0ZWQsIHRoZSBibG9jayBpbnRlcmZhY2UgYWxsb3dzIHRhZ2dpbmcgYmlnZ2VyIGNodW5rcyBieQord2F5IG9mIGludGVybGVhdmluZy4gIFRoaXMgd2F5LCA4KjE2IGJpdHMgb2YgaW5mb3JtYXRpb24gY2FuIGJlCithdHRhY2hlZCB0byBhIHR5cGljYWwgNEtCIGZpbGVzeXN0ZW0gYmxvY2suCisKK1RoaXMgYWxzbyBtZWFucyB0aGF0IGFwcGxpY2F0aW9ucyBzdWNoIGFzIGZzY2sgYW5kIG1rZnMgd2lsbCBuZWVkCithY2Nlc3MgdG8gbWFuaXB1bGF0ZSB0aGUgdGFncyBmcm9tIHVzZXIgc3BhY2UuICBBIHBhc3N0aHJvdWdoCitpbnRlcmZhY2UgZm9yIHRoaXMgaXMgYmVpbmcgd29ya2VkIG9uLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzQuIEJMT0NLIExBWUVSIElNUExFTUVOVEFUSU9OIERFVEFJTFMKKworNC4xIEJJTworCitUaGUgZGF0YSBpbnRlZ3JpdHkgcGF0Y2hlcyBhZGQgYSBuZXcgZmllbGQgdG8gc3RydWN0IGJpbyB3aGVuCitDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgaXMgZW5hYmxlZC4gIGJpby0+YmlfaW50ZWdyaXR5IGlzIGEgcG9pbnRlcgordG8gYSBzdHJ1Y3QgYmlwIHdoaWNoIGNvbnRhaW5zIHRoZSBiaW8gaW50ZWdyaXR5IHBheWxvYWQuICBFc3NlbnRpYWxseQorYSBiaXAgaXMgYSB0cmltbWVkIGRvd24gc3RydWN0IGJpbyB3aGljaCBob2xkcyBhIGJpb192ZWMgY29udGFpbmluZwordGhlIGludGVncml0eSBtZXRhZGF0YSBhbmQgdGhlIHJlcXVpcmVkIGhvdXNla2VlcGluZyBpbmZvcm1hdGlvbiAoYnZlYworcG9vbCwgdmVjdG9yIGNvdW50LCBldGMuKQorCitBIGtlcm5lbCBzdWJzeXN0ZW0gY2FuIGVuYWJsZSBkYXRhIGludGVncml0eSBwcm90ZWN0aW9uIG9uIGEgYmlvIGJ5CitjYWxsaW5nIGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvKS4gIFRoaXMgd2lsbCBhbGxvY2F0ZSBhbmQgYXR0YWNoIHRoZQorYmlwIHRvIHRoZSBiaW8uCisKK0luZGl2aWR1YWwgcGFnZXMgY29udGFpbmluZyBpbnRlZ3JpdHkgbWV0YWRhdGEgY2FuIHN1YnNlcXVlbnRseSBiZQorYXR0YWNoZWQgdXNpbmcgYmlvX2ludGVncml0eV9hZGRfcGFnZSgpLgorCitiaW9fZnJlZSgpIHdpbGwgYXV0b21hdGljYWxseSBmcmVlIHRoZSBiaXAuCisKKworNC4yIEJMT0NLIERFVklDRQorCitCZWNhdXNlIHRoZSBmb3JtYXQgb2YgdGhlIHByb3RlY3Rpb24gZGF0YSBpcyB0aWVkIHRvIHRoZSBwaHlzaWNhbAorZGlzaywgZWFjaCBibG9jayBkZXZpY2UgaGFzIGJlZW4gZXh0ZW5kZWQgd2l0aCBhIGJsb2NrIGludGVncml0eQorcHJvZmlsZSAoc3RydWN0IGJsa19pbnRlZ3JpdHkpLiAgVGhpcyBvcHRpb25hbCBwcm9maWxlIGlzIHJlZ2lzdGVyZWQKK3dpdGggdGhlIGJsb2NrIGxheWVyIHVzaW5nIGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoKS4KKworVGhlIHByb2ZpbGUgY29udGFpbnMgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBnZW5lcmF0aW5nIGFuZCB2ZXJpZnlpbmcKK3RoZSBwcm90ZWN0aW9uIGRhdGEsIGFzIHdlbGwgYXMgZ2V0dGluZyBhbmQgc2V0dGluZyBhcHBsaWNhdGlvbiB0YWdzLgorVGhlIHByb2ZpbGUgYWxzbyBjb250YWlucyBhIGZldyBjb25zdGFudHMgdG8gYWlkIGluIGNvbXBsZXRpbmcsCittZXJnaW5nIGFuZCBzcGxpdHRpbmcgdGhlIGludGVncml0eSBtZXRhZGF0YS4KKworTGF5ZXJlZCBibG9jayBkZXZpY2VzIHdpbGwgbmVlZCB0byBwaWNrIGEgcHJvZmlsZSB0aGF0J3MgYXBwcm9wcmlhdGUKK2ZvciBhbGwgc3ViZGV2aWNlcy4gIGJsa19pbnRlZ3JpdHlfY29tcGFyZSgpIGNhbiBoZWxwIHdpdGggdGhhdC4gIERNCithbmQgTUQgbGluZWFyLCBSQUlEMCBhbmQgUkFJRDEgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQuICBSQUlENC81LzYKK3dpbGwgcmVxdWlyZSBleHRyYSB3b3JrIGR1ZSB0byB0aGUgYXBwbGljYXRpb24gdGFnLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzUuMCBCTE9DSyBMQVlFUiBJTlRFR1JJVFkgQVBJCisKKzUuMSBOT1JNQUwgRklMRVNZU1RFTQorCisgICAgVGhlIG5vcm1hbCBmaWxlc3lzdGVtIGlzIHVuYXdhcmUgdGhhdCB0aGUgdW5kZXJseWluZyBibG9jayBkZXZpY2UKKyAgICBpcyBjYXBhYmxlIG9mIHNlbmRpbmcvcmVjZWl2aW5nIGludGVncml0eSBtZXRhZGF0YS4gIFRoZSBJTUQgd2lsbAorICAgIGJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHRoZSBibG9jayBsYXllciBhdCBzdWJtaXRfYmlvKCkgdGltZQorICAgIGluIGNhc2Ugb2YgYSBXUklURS4gIEEgUkVBRCByZXF1ZXN0IHdpbGwgY2F1c2UgdGhlIEkvTyBpbnRlZ3JpdHkKKyAgICB0byBiZSB2ZXJpZmllZCB1cG9uIGNvbXBsZXRpb24uCisKKyAgICBJTUQgZ2VuZXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIGNhbiBiZSB0b2dnbGVkIHVzaW5nIHRoZQorCisgICAgICAvc3lzL2Jsb2NrLzxiZGV2Pi9pbnRlZ3JpdHkvd3JpdGVfZ2VuZXJhdGUKKworICAgIGFuZAorCisgICAgICAvc3lzL2Jsb2NrLzxiZGV2Pi9pbnRlZ3JpdHkvcmVhZF92ZXJpZnkKKworICAgIGZsYWdzLgorCisKKzUuMiBJTlRFR1JJVFktQVdBUkUgRklMRVNZU1RFTQorCisgICAgQSBmaWxlc3lzdGVtIHRoYXQgaXMgaW50ZWdyaXR5LWF3YXJlIGNhbiBwcmVwYXJlIEkvT3Mgd2l0aCBJTUQKKyAgICBhdHRhY2hlZC4gIEl0IGNhbiBhbHNvIHVzZSB0aGUgYXBwbGljYXRpb24gdGFnIHNwYWNlIGlmIHRoaXMgaXMKKyAgICBzdXBwb3J0ZWQgYnkgdGhlIGJsb2NrIGRldmljZS4KKworCisgICAgaW50IGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoYmxvY2tfZGV2aWNlLCBpbnQgcncpOworCisgICAgICBiZGV2X2ludGVncml0eV9lbmFibGVkKCkgd2lsbCByZXR1cm4gMSBpZiB0aGUgYmxvY2sgZGV2aWNlCisgICAgICBzdXBwb3J0cyBpbnRlZ3JpdHkgbWV0YWRhdGEgdHJhbnNmZXIgZm9yIHRoZSBkYXRhIGRpcmVjdGlvbgorICAgICAgc3BlY2lmaWVkIGluICdydycuCisKKyAgICAgIGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoKSBob25vcnMgdGhlIHdyaXRlX2dlbmVyYXRlIGFuZAorICAgICAgcmVhZF92ZXJpZnkgZmxhZ3MgaW4gc3lzZnMgYW5kIHdpbGwgcmVzcG9uZCBhY2NvcmRpbmdseS4KKworCisgICAgaW50IGJpb19pbnRlZ3JpdHlfcHJlcChiaW8pOworCisgICAgICBUbyBnZW5lcmF0ZSBJTUQgZm9yIFdSSVRFIGFuZCB0byBzZXQgdXAgYnVmZmVycyBmb3IgUkVBRCwgdGhlCisgICAgICBmaWxlc3lzdGVtIG11c3QgY2FsbCBiaW9faW50ZWdyaXR5X3ByZXAoYmlvKS4KKworICAgICAgUHJpb3IgdG8gY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCB0aGUgYmlvIGRhdGEgZGlyZWN0aW9uIGFuZCBzdGFydAorICAgICAgc2VjdG9yIG11c3QgYmUgc2V0LCBhbmQgdGhlIGJpbyBzaG91bGQgaGF2ZSBhbGwgZGF0YSBwYWdlcworICAgICAgYWRkZWQuICBJdCBpcyB1cCB0byB0aGUgY2FsbGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBiaW8gZG9lcyBub3QKKyAgICAgIGNoYW5nZSB3aGlsZSBJL08gaXMgaW4gcHJvZ3Jlc3MuCisKKyAgICAgIGJpb19pbnRlZ3JpdHlfcHJlcCgpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpZgorICAgICAgYmlvX2ludGVncml0eV9lbmFibGVkKCkgcmV0dXJuZWQgMS4KKworCisgICAgaW50IGJpb19pbnRlZ3JpdHlfdGFnX3NpemUoYmlvKTsKKworICAgICAgSWYgdGhlIGZpbGVzeXN0ZW0gd2FudHMgdG8gdXNlIHRoZSBhcHBsaWNhdGlvbiB0YWcgc3BhY2UgaXQgd2lsbAorICAgICAgZmlyc3QgaGF2ZSB0byBmaW5kIG91dCBob3cgbXVjaCBzdG9yYWdlIHNwYWNlIGlzIGF2YWlsYWJsZS4KKyAgICAgIEJlY2F1c2UgdGFnIHNwYWNlIGlzIGdlbmVyYWxseSBsaW1pdGVkICh1c3VhbGx5IDIgYnl0ZXMgcGVyCisgICAgICBzZWN0b3IgcmVnYXJkbGVzcyBvZiBzZWN0b3Igc2l6ZSksIHRoZSBpbnRlZ3JpdHkgZnJhbWV3b3JrCisgICAgICBzdXBwb3J0cyBpbnRlcmxlYXZpbmcgdGhlIGluZm9ybWF0aW9uIGJldHdlZW4gdGhlIHNlY3RvcnMgaW4gYW4KKyAgICAgIEkvTy4KKworICAgICAgRmlsZXN5c3RlbXMgY2FuIGNhbGwgYmlvX2ludGVncml0eV90YWdfc2l6ZShiaW8pIHRvIGZpbmQgb3V0IGhvdworICAgICAgbWFueSBieXRlcyBvZiBzdG9yYWdlIGFyZSBhdmFpbGFibGUgZm9yIHRoYXQgcGFydGljdWxhciBiaW8uCisKKyAgICAgIEFub3RoZXIgb3B0aW9uIGlzIGJkZXZfZ2V0X3RhZ19zaXplKGJsb2NrX2RldmljZSkgd2hpY2ggd2lsbAorICAgICAgcmV0dXJuIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIGJ5dGVzIHBlciBoYXJkd2FyZSBzZWN0b3IuCisKKworICAgIGludCBiaW9faW50ZWdyaXR5X3NldF90YWcoYmlvLCB2b2lkICp0YWdfYnVmLCBsZW4pOworCisgICAgICBBZnRlciBhIHN1Y2Nlc3NmdWwgcmV0dXJuIGZyb20gYmlvX2ludGVncml0eV9wcmVwKCksCisgICAgICBiaW9faW50ZWdyaXR5X3NldF90YWcoKSBjYW4gYmUgdXNlZCB0byBhdHRhY2ggYW4gb3BhcXVlIHRhZworICAgICAgYnVmZmVyIHRvIGEgYmlvLiAgT2J2aW91c2x5IHRoaXMgb25seSBtYWtlcyBzZW5zZSBpZiB0aGUgSS9PIGlzCisgICAgICBhIFdSSVRFLgorCisKKyAgICBpbnQgYmlvX2ludGVncml0eV9nZXRfdGFnKGJpbywgdm9pZCAqdGFnX2J1ZiwgbGVuKTsKKworICAgICAgU2ltaWxhcmx5LCBhdCBSRUFEIEkvTyBjb21wbGV0aW9uIHRpbWUgdGhlIGZpbGVzeXN0ZW0gY2FuCisgICAgICByZXRyaWV2ZSB0aGUgdGFnIGJ1ZmZlciB1c2luZyBiaW9faW50ZWdyaXR5X2dldF90YWcoKS4KKworCis2LjMgUEFTU0lORyBFWElTVElORyBJTlRFR1JJVFkgTUVUQURBVEEKKworICAgIEZpbGVzeXN0ZW1zIHRoYXQgZWl0aGVyIGdlbmVyYXRlIHRoZWlyIG93biBpbnRlZ3JpdHkgbWV0YWRhdGEgb3IKKyAgICBhcmUgY2FwYWJsZSBvZiB0cmFuc2ZlcnJpbmcgSU1EIGZyb20gdXNlciBzcGFjZSBjYW4gdXNlIHRoZQorICAgIGZvbGxvd2luZyBjYWxsczoKKworCisgICAgc3RydWN0IGJpcCAqIGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvLCBnZnBfbWFzaywgbnJfcGFnZXMpOworCisgICAgICBBbGxvY2F0ZXMgdGhlIGJpbyBpbnRlZ3JpdHkgcGF5bG9hZCBhbmQgaGFuZ3MgaXQgb2ZmIG9mIHRoZSBiaW8uCisgICAgICBucl9wYWdlcyBpbmRpY2F0ZSBob3cgbWFueSBwYWdlcyBvZiBwcm90ZWN0aW9uIGRhdGEgbmVlZCB0byBiZQorICAgICAgc3RvcmVkIGluIHRoZSBpbnRlZ3JpdHkgYmlvX3ZlYyBsaXN0IChzaW1pbGFyIHRvIGJpb19hbGxvYygpKS4KKworICAgICAgVGhlIGludGVncml0eSBwYXlsb2FkIHdpbGwgYmUgZnJlZWQgYXQgYmlvX2ZyZWUoKSB0aW1lLgorCisKKyAgICBpbnQgYmlvX2ludGVncml0eV9hZGRfcGFnZShiaW8sIHBhZ2UsIGxlbiwgb2Zmc2V0KTsKKworICAgICAgQXR0YWNoZXMgYSBwYWdlIGNvbnRhaW5pbmcgaW50ZWdyaXR5IG1ldGFkYXRhIHRvIGFuIGV4aXN0aW5nCisgICAgICBiaW8uICBUaGUgYmlvIG11c3QgaGF2ZSBhbiBleGlzdGluZyBiaXAsCisgICAgICBpLmUuIGJpb19pbnRlZ3JpdHlfYWxsb2MoKSBtdXN0IGhhdmUgYmVlbiBjYWxsZWQuICBGb3IgYSBXUklURSwKKyAgICAgIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaW4gdGhlIHBhZ2VzIG11c3QgYmUgaW4gYSBmb3JtYXQKKyAgICAgIHVuZGVyc3Rvb2QgYnkgdGhlIHRhcmdldCBkZXZpY2Ugd2l0aCB0aGUgbm90YWJsZSBleGNlcHRpb24gdGhhdAorICAgICAgdGhlIHNlY3RvciBudW1iZXJzIHdpbGwgYmUgcmVtYXBwZWQgYXMgdGhlIHJlcXVlc3QgdHJhdmVyc2VzIHRoZQorICAgICAgSS9PIHN0YWNrLiAgVGhpcyBpbXBsaWVzIHRoYXQgdGhlIHBhZ2VzIGFkZGVkIHVzaW5nIHRoaXMgY2FsbAorICAgICAgd2lsbCBiZSBtb2RpZmllZCBkdXJpbmcgSS9PISAgVGhlIGZpcnN0IHJlZmVyZW5jZSB0YWcgaW4gdGhlCisgICAgICBpbnRlZ3JpdHkgbWV0YWRhdGEgbXVzdCBoYXZlIGEgdmFsdWUgb2YgYmlwLT5iaXBfc2VjdG9yLgorCisgICAgICBQYWdlcyBjYW4gYmUgYWRkZWQgdXNpbmcgYmlvX2ludGVncml0eV9hZGRfcGFnZSgpIGFzIGxvbmcgYXMKKyAgICAgIHRoZXJlIGlzIHJvb20gaW4gdGhlIGJpcCBiaW9fdmVjIGFycmF5IChucl9wYWdlcykuCisKKyAgICAgIFVwb24gY29tcGxldGlvbiBvZiBhIFJFQUQgb3BlcmF0aW9uLCB0aGUgYXR0YWNoZWQgcGFnZXMgd2lsbAorICAgICAgY29udGFpbiB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIHJlY2VpdmVkIGZyb20gdGhlIHN0b3JhZ2UgZGV2aWNlLgorICAgICAgSXQgaXMgdXAgdG8gdGhlIHJlY2VpdmVyIHRvIHByb2Nlc3MgdGhlbSBhbmQgdmVyaWZ5IGRhdGEKKyAgICAgIGludGVncml0eSB1cG9uIGNvbXBsZXRpb24uCisKKworNi40IFJFR0lTVEVSSU5HIEEgQkxPQ0sgREVWSUNFIEFTIENBUEFCTEUgT0YgRVhDSEFOR0lORyBJTlRFR1JJVFkKKyAgICBNRVRBREFUQQorCisgICAgVG8gZW5hYmxlIGludGVncml0eSBleGNoYW5nZSBvbiBhIGJsb2NrIGRldmljZSB0aGUgZ2VuZGlzayBtdXN0IGJlCisgICAgcmVnaXN0ZXJlZCBhcyBjYXBhYmxlOgorCisgICAgaW50IGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoZ2VuZGlzaywgYmxrX2ludGVncml0eSk7CisKKyAgICAgIFRoZSBibGtfaW50ZWdyaXR5IHN0cnVjdCBpcyBhIHRlbXBsYXRlIGFuZCBzaG91bGQgY29udGFpbiB0aGUKKyAgICAgIGZvbGxvd2luZzoKKworICAgICAgICBzdGF0aWMgc3RydWN0IGJsa19pbnRlZ3JpdHkgbXlfcHJvZmlsZSA9IHsKKyAgICAgICAgICAgIC5uYW1lICAgICAgICAgICAgICAgICAgID0gIlNUQU5EQVJEU0JPRFktVFlQRS1WQVJJQU5ULUNTVU0iLAorICAgICAgICAgICAgLmdlbmVyYXRlX2ZuICAgICAgICAgICAgPSBteV9nZW5lcmF0ZV9mbiwKKyAgICAgICAJICAgIC52ZXJpZnlfZm4gICAgICAgICAgICAgID0gbXlfdmVyaWZ5X2ZuLAorICAgICAgIAkgICAgLmdldF90YWdfZm4gICAgICAgICAgICAgPSBteV9nZXRfdGFnX2ZuLAorICAgICAgIAkgICAgLnNldF90YWdfZm4gICAgICAgICAgICAgPSBteV9zZXRfdGFnX2ZuLAorCSAgICAudHVwbGVfc2l6ZSAgICAgICAgICAgICA9IHNpemVvZihzdHJ1Y3QgbXlfdHVwbGVfc2l6ZSksCisJICAgIC50YWdfc2l6ZSAgICAgICAgICAgICAgID0gPHRhZyBieXRlcyBwZXIgaHcgc2VjdG9yPiwKKyAgICAgICAgfTsKKworICAgICAgJ25hbWUnIGlzIGEgdGV4dCBzdHJpbmcgd2hpY2ggd2lsbCBiZSB2aXNpYmxlIGluIHN5c2ZzLiAgVGhpcyBpcworICAgICAgcGFydCBvZiB0aGUgdXNlcmxhbmQgQVBJIHNvIGNob3NlIGl0IGNhcmVmdWxseSBhbmQgbmV2ZXIgY2hhbmdlCisgICAgICBpdC4gIFRoZSBmb3JtYXQgaXMgc3RhbmRhcmRzIGJvZHktdHlwZS12YXJpYW50LgorICAgICAgRS5nLiBUMTAtRElGLVRZUEUxLUlQIG9yIFQxMy1FUFAtMC1DUkMuCisKKyAgICAgICdnZW5lcmF0ZV9mbicgZ2VuZXJhdGVzIGFwcHJvcHJpYXRlIGludGVncml0eSBtZXRhZGF0YSAoZm9yIFdSSVRFKS4KKworICAgICAgJ3ZlcmlmeV9mbicgdmVyaWZpZXMgdGhhdCB0aGUgZGF0YSBidWZmZXIgbWF0Y2hlcyB0aGUgaW50ZWdyaXR5CisgICAgICBtZXRhZGF0YS4KKworICAgICAgJ3R1cGxlX3NpemUnIG11c3QgYmUgc2V0IHRvIG1hdGNoIHRoZSBzaXplIG9mIHRoZSBpbnRlZ3JpdHkKKyAgICAgIG1ldGFkYXRhIHBlciBzZWN0b3IuICBJLmUuIDggZm9yIERJRiBhbmQgRVBQLgorCisgICAgICAndGFnX3NpemUnIG11c3QgYmUgc2V0IHRvIGlkZW50aWZ5IGhvdyBtYW55IGJ5dGVzIG9mIHRhZyBzcGFjZQorICAgICAgYXJlIGF2YWlsYWJsZSBwZXIgaGFyZHdhcmUgc2VjdG9yLiAgRm9yIERJRiB0aGlzIGlzIGVpdGhlciAyIG9yCisgICAgICAwIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlIENvbnRyb2wgTW9kZSBQYWdlIEFUTyBiaXQuCisKKyAgICAgIFNlZSA2LjIgZm9yIGEgZGVzY3JpcHRpb24gb2YgZ2V0X3RhZ19mbiBhbmQgc2V0X3RhZ19mbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwNy0xMi0yNCBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jcHV0b3BvbG9neS50eHQgYi9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dAppbmRleCBiNjFjYjk1Li5iZDY5OWRhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dApAQCAtMTQsOSArMTQsOCBAQAogVG8gaW1wbGVtZW50IGl0IGluIGFuIGFyY2hpdGVjdHVyZS1uZXV0cmFsIHdheSwgYSBuZXcgc291cmNlIGZpbGUsCiBkcml2ZXJzL2Jhc2UvdG9wb2xvZ3kuYywgaXMgdG8gZXhwb3J0IHRoZSA0IGF0dHJpYnV0ZXMuCiAKLUlmIG9uZSBhcmNoaXRlY3R1cmUgd2FudHMgdG8gc3VwcG9ydCB0aGlzIGZlYXR1cmUsIGl0IGp1c3QgbmVlZHMgdG8KLWltcGxlbWVudCA0IGRlZmluZXMsIHR5cGljYWxseSBpbiBmaWxlIGluY2x1ZGUvYXNtLVhYWC90b3BvbG9neS5oLgotVGhlIDQgZGVmaW5lcyBhcmU6CitGb3IgYW4gYXJjaGl0ZWN0dXJlIHRvIHN1cHBvcnQgdGhpcyBmZWF0dXJlLCBpdCBtdXN0IGRlZmluZSBzb21lIG9mCit0aGVzZSBtYWNyb3MgaW4gaW5jbHVkZS9hc20tWFhYL3RvcG9sb2d5Lmg6CiAjZGVmaW5lIHRvcG9sb2d5X3BoeXNpY2FsX3BhY2thZ2VfaWQoY3B1KQogI2RlZmluZSB0b3BvbG9neV9jb3JlX2lkKGNwdSkKICNkZWZpbmUgdG9wb2xvZ3lfdGhyZWFkX3NpYmxpbmdzKGNwdSkKQEAgLTI1LDE3ICsyNCwxMCBAQAogVGhlIHR5cGUgb2YgKipfaWQgaXMgaW50LgogVGhlIHR5cGUgb2Ygc2libGluZ3MgaXMgY3B1bWFza190LgogCi1UbyBiZSBjb25zaXN0ZW50IG9uIGFsbCBhcmNoaXRlY3R1cmVzLCB0aGUgNCBhdHRyaWJ1dGVzIHNob3VsZCBoYXZlCi1kZWZhdWx0IHZhbHVlcyBpZiB0aGVpciB2YWx1ZXMgYXJlIHVuYXZhaWxhYmxlLiBCZWxvdyBpcyB0aGUgcnVsZS4KLTEpIHBoeXNpY2FsX3BhY2thZ2VfaWQ6IElmIGNwdSBoYXMgbm8gcGh5c2ljYWwgcGFja2FnZSBpZCwgLTEgaXMgdGhlCi1kZWZhdWx0IHZhbHVlLgotMikgY29yZV9pZDogSWYgY3B1IGRvZXNuJ3Qgc3VwcG9ydCBtdWx0aS1jb3JlLCBpdHMgY29yZSBpZCBpcyAwLgotMykgdGhyZWFkX3NpYmxpbmdzOiBKdXN0IGluY2x1ZGUgaXRzZWxmLCBpZiB0aGUgY3B1IGRvZXNuJ3Qgc3VwcG9ydAotSFQvbXVsdGktdGhyZWFkLgotNCkgY29yZV9zaWJsaW5nczogSnVzdCBpbmNsdWRlIGl0c2VsZiwgaWYgdGhlIGNwdSBkb2Vzbid0IHN1cHBvcnQKLW11bHRpLWNvcmUgYW5kIEhUL011bHRpLXRocmVhZC4KLQotU28gYmUgY2FyZWZ1bCB3aGVuIGRlY2xhcmluZyB0aGUgNCBkZWZpbmVzIGluIGluY2x1ZGUvYXNtLVhYWC90b3BvbG9neS5oLgotCi1JZiBhbiBhdHRyaWJ1dGUgaXNuJ3QgZGVmaW5lZCBvbiBhbiBhcmNoaXRlY3R1cmUsIGl0IHdvbid0IGJlIGV4cG9ydGVkLgotCitUbyBiZSBjb25zaXN0ZW50IG9uIGFsbCBhcmNoaXRlY3R1cmVzLCBpbmNsdWRlL2xpbnV4L3RvcG9sb2d5LmgKK3Byb3ZpZGVzIGRlZmF1bHQgZGVmaW5pdGlvbnMgZm9yIGFueSBvZiB0aGUgYWJvdmUgbWFjcm9zIHRoYXQgYXJlCitub3QgZGVmaW5lZCBieSBpbmNsdWRlL2FzbS1YWFgvdG9wb2xvZ3kuaDoKKzEpIHBoeXNpY2FsX3BhY2thZ2VfaWQ6IC0xCisyKSBjb3JlX2lkOiAwCiszKSB0aHJlYWRfc2libGluZ3M6IGp1c3QgdGhlIGdpdmVuIENQVQorNCkgY29yZV9zaWJsaW5nczoganVzdCB0aGUgZ2l2ZW4gQ1BVCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZS50eHQgYi9Eb2N1bWVudGF0aW9uL2ZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZS50eHQKaW5kZXggNDZlY2UzZi4uNjVhMTQ4MiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9mZWF0dXJlLXJlbW92YWwtc2NoZWR1bGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmVhdHVyZS1yZW1vdmFsLXNjaGVkdWxlLnR4dApAQCAtMjIyLDEzICsyMjIsNiBAQAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotV2hhdDoJaTJjLWk4MTAsIGkyYy1wcm9zYXZhZ2UgYW5kIGkyYy1zYXZhZ2U0Ci1XaGVuOglNYXkgMjAwOAotV2h5OglUaGVzZSBkcml2ZXJzIGFyZSBzdXBlcnNlZGVkIGJ5IGk4MTBmYiwgaW50ZWxmYiBhbmQgc2F2YWdlZmIuCi1XaG86CUplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQogV2hhdCAoV2h5KToKIAktIGluY2x1ZGUvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X1RPUy5oIGlwdF90b3MuaCBoZWFkZXIgZmlsZXMKIAkgIChzdXBlcnNlZGVkIGJ5IHh0X1RPUy94dF90b3MgdGFyZ2V0ICYgbWF0Y2gpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2V4dDQudHh0IGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9leHQ0LnR4dAppbmRleCAwYzUwODZkLi44MGUxOTNkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2V4dDQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvZXh0NC50eHQKQEAgLTEzLDcyICsxMyw5MyBAQAogMS4gUXVpY2sgdXNhZ2UgaW5zdHJ1Y3Rpb25zOgogPT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLSAgLSBHcmFiIHVwZGF0ZWQgZTJmc3Byb2dzIGZyb20KLSAgICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgva2VybmVsL3Blb3BsZS90eXRzby9lMmZzcHJvZ3MtaW50ZXJpbS8KLSAgICBUaGlzIGlzIGEgcGF0Y2hzZXQgb24gdG9wIG9mIGUyZnNwcm9ncy0xLjM5LCB3aGljaCBjYW4gYmUgZm91bmQgYXQKKyAgLSBDb21waWxlIGFuZCBpbnN0YWxsIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBlMmZzcHJvZ3MgKGFzIG9mIHRoaXMKKyAgICB3cml0aW5nIHZlcnNpb24gMS40MSkgZnJvbToKKworICAgIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9zaG93ZmlsZXMucGhwP2dyb3VwX2lkPTI0MDYKKwkKKwlvcgorCiAgICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L2tlcm5lbC9wZW9wbGUvdHl0c28vZTJmc3Byb2dzLwogCi0gIC0gSXQncyBzdGlsbCBta2UyZnMgLWogL2Rldi9oZGExCisJb3IgZ3JhYiB0aGUgbGF0ZXN0IGdpdCByZXBvc2l0b3J5IGZyb206CiAKLSAgLSBtb3VudCAvZGV2L2hkYTEgL3doZXJldmVyIC10IGV4dDRkZXYKKyAgICBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2ZzL2V4dDIvZTJmc3Byb2dzLmdpdAogCi0gIC0gVG8gZW5hYmxlIGV4dGVudHMsCisgIC0gQ3JlYXRlIGEgbmV3IGZpbGVzeXN0ZW0gdXNpbmcgdGhlIGV4dDRkZXYgZmlsZXN5c3RlbSB0eXBlOgogCi0JbW91bnQgL2Rldi9oZGExIC93aGVyZXZlciAtdCBleHQ0ZGV2IC1vIGV4dGVudHMKKyAgICAJIyBta2UyZnMgLXQgZXh0NGRldiAvZGV2L2hkYTEKIAotICAtIFRoZSBmaWxlc3lzdGVtIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgZXh0MyBkcml2ZXIgdW50aWwgeW91IGFkZCBhIGZpbGUKLSAgICB3aGljaCBoYXMgZXh0ZW50cyAoaWU6IGBtb3VudCAtbyBleHRlbnRzJywgdGhlbiBjcmVhdGUgYSBmaWxlKS4KKyAgICBPciBjb25maWd1cmUgYW4gZXhpc3RpbmcgZXh0MyBmaWxlc3lzdGVtIHRvIHN1cHBvcnQgZXh0ZW50cyBhbmQgc2V0CisgICAgdGhlIHRlc3RfZnMgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IGl0J3Mgb2sgZm9yIGFuIGluLWRldmVsb3BtZW50CisgICAgZmlsZXN5c3RlbSB0byB0b3VjaCB0aGlzIGZpbGVzeXN0ZW06CiAKLSAgICBOT1RFOiBUaGUgImV4dGVudHMiIG1vdW50IGZsYWcgaXMgdGVtcG9yYXJ5LiAgSXQgd2lsbCBzb29uIGdvIGF3YXkgYW5kCi0gICAgZXh0ZW50cyB3aWxsIGJlIGVuYWJsZWQgYnkgdGhlICItbyBleHRlbnRzIiBmbGFnIHRvIG1rZTJmcyBvciB0dW5lMmZzCisJIyB0dW5lMmZzIC1PIGV4dGVudHMgLUUgdGVzdF9mcyAvZGV2L2hkYTEKKworICAgIElmIHRoZSBmaWxlc3lzdGVtIHdhcyBjcmVhdGVkIHdpdGggMTI4IGJ5dGUgaW5vZGVzLCBpdCBjYW4gYmUKKyAgICBjb252ZXJ0ZWQgdG8gdXNlIDI1NiBieXRlIGZvciBncmVhdGVyIGVmZmljaWVuY3kgdmlhOgorCisgICAgICAgICMgdHVuZTJmcyAtSSAyNTYgL2Rldi9oZGExCisKKyAgICAoTm90ZTogd2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIHRvb2xzIHRvIGNvbnZlcnQgYW4gZXh0NGRldgorICAgIGZpbGVzeXN0ZW0gYmFjayB0byBleHQzOyBzbyBwbGVhc2UgZG8gbm90IGRvIHRyeSB0aGlzIG9uIHByb2R1Y3Rpb24KKyAgICBmaWxlc3lzdGVtcy4pCisKKyAgLSBNb3VudGluZzoKKworCSMgbW91bnQgLXQgZXh0NGRldiAvZGV2L2hkYTEgL3doZXJldmVyCiAKICAgLSBXaGVuIGNvbXBhcmluZyBwZXJmb3JtYW5jZSB3aXRoIG90aGVyIGZpbGVzeXN0ZW1zLCByZW1lbWJlciB0aGF0Ci0gICAgZXh0My80IGJ5IGRlZmF1bHQgb2ZmZXJzIGhpZ2hlciBkYXRhIGludGVncml0eSBndWFyYW50ZWVzIHRoYW4gbW9zdC4gIFNvCi0gICAgd2hlbiBjb21wYXJpbmcgd2l0aCBhIG1ldGFkYXRhLW9ubHkgam91cm5hbGxpbmcgZmlsZXN5c3RlbSwgdXNlIGBtb3VudCAtbwotICAgIGRhdGE9d3JpdGViYWNrJy4gIEFuZCB5b3UgbWlnaHQgYXMgd2VsbCB1c2UgYG1vdW50IC1vIG5vYmgnIHRvbyBhbG9uZwotICAgIHdpdGggaXQuICBNYWtpbmcgdGhlIGpvdXJuYWwgbGFyZ2VyIHRoYW4gdGhlIG1rZTJmcyBkZWZhdWx0IG9mdGVuIGhlbHBzCi0gICAgcGVyZm9ybWFuY2Ugd2l0aCBtZXRhZGF0YS1pbnRlbnNpdmUgd29ya2xvYWRzLgorICAgIGV4dDMvNCBieSBkZWZhdWx0IG9mZmVycyBoaWdoZXIgZGF0YSBpbnRlZ3JpdHkgZ3VhcmFudGVlcyB0aGFuIG1vc3QuCisgICAgU28gd2hlbiBjb21wYXJpbmcgd2l0aCBhIG1ldGFkYXRhLW9ubHkgam91cm5hbGxpbmcgZmlsZXN5c3RlbSwgc3VjaAorICAgIGFzIGV4dDMsIHVzZSBgbW91bnQgLW8gZGF0YT13cml0ZWJhY2snLiAgQW5kIHlvdSBtaWdodCBhcyB3ZWxsIHVzZQorICAgIGBtb3VudCAtbyBub2JoJyB0b28gYWxvbmcgd2l0aCBpdC4gIE1ha2luZyB0aGUgam91cm5hbCBsYXJnZXIgdGhhbgorICAgIHRoZSBta2UyZnMgZGVmYXVsdCBvZnRlbiBoZWxwcyBwZXJmb3JtYW5jZSB3aXRoIG1ldGFkYXRhLWludGVuc2l2ZQorICAgIHdvcmtsb2Fkcy4KIAogMi4gRmVhdHVyZXMKID09PT09PT09PT09CiAKIDIuMSBDdXJyZW50bHkgYXZhaWxhYmxlCiAKLSogYWJpbGl0eSB0byB1c2UgZmlsZXN5c3RlbXMgPiAxNlRCCisqIGFiaWxpdHkgdG8gdXNlIGZpbGVzeXN0ZW1zID4gMTZUQiAoZTJmc3Byb2dzIHN1cHBvcnQgbm90IGF2YWlsYWJsZSB5ZXQpCiAqIGV4dGVudCBmb3JtYXQgcmVkdWNlcyBtZXRhZGF0YSBvdmVyaGVhZCAoUkFNLCBJTyBmb3IgYWNjZXNzLCB0cmFuc2FjdGlvbnMpCiAqIGV4dGVudCBmb3JtYXQgbW9yZSByb2J1c3QgaW4gZmFjZSBvZiBvbi1kaXNrIGNvcnJ1cHRpb24gZHVlIHRvIG1hZ2ljcywKICogaW50ZXJuYWwgcmVkdW5hbmN5IGluIHRyZWUKLQotMi4xIFByZXZpb3VzbHkgYXZhaWxhYmxlLCBzb29uIHRvIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBieSAibWtlZnMuZXh0NCI6Ci0KLSogZGlyX2luZGV4IGFuZCByZXNpemUgaW5vZGUgd2lsbCBiZSBvbiBieSBkZWZhdWx0Ci0qIGxhcmdlIGlub2RlcyB3aWxsIGJlIHVzZWQgYnkgZGVmYXVsdCBmb3IgZmFzdCBFQXMsIG5zZWMgdGltZXN0YW1wcywgZXRjCisqIGltcHJvdmVkIGZpbGUgYWxsb2NhdGlvbiAobXVsdGktYmxvY2sgYWxsb2MpCisqIGZpeCAzMjAwMCBzdWJkaXJlY3RvcnkgbGltaXQKKyogbnNlYyB0aW1lc3RhbXBzIGZvciBtdGltZSwgYXRpbWUsIGN0aW1lLCBjcmVhdGUgdGltZQorKiBpbm9kZSB2ZXJzaW9uIGZpZWxkIG9uIGRpc2sgKE5GU3Y0LCBMdXN0cmUpCisqIHJlZHVjZWQgZTJmc2NrIHRpbWUgdmlhIHVuaW5pdF9iZyBmZWF0dXJlCisqIGpvdXJuYWwgY2hlY2tzdW1taW5nIGZvciByb2J1c3RuZXNzLCBwZXJmb3JtYW5jZQorKiBwZXJzaXN0ZW50IGZpbGUgcHJlYWxsb2NhdGlvbiAoZS5nIGZvciBzdHJlYW1pbmcgbWVkaWEsIGRhdGFiYXNlcykKKyogYWJpbGl0eSB0byBwYWNrIGJpdG1hcHMgYW5kIGlub2RlIHRhYmxlcyBpbnRvIGxhcmdlciB2aXJ0dWFsIGdyb3VwcyB2aWEgdGhlCisgIGZsZXhfYmcgZmVhdHVyZQorKiBsYXJnZSBmaWxlIHN1cHBvcnQKKyogSW5vZGUgYWxsb2NhdGlvbiB1c2luZyBsYXJnZSB2aXJ0dWFsIGJsb2NrIGdyb3VwcyB2aWEgZmxleF9iZworKiBkZWxheWVkIGFsbG9jYXRpb24KKyogbGFyZ2UgYmxvY2sgKHVwIHRvIHBhZ2VzaXplKSBzdXBwb3J0CisqIGVmZmljZW50IG5ldyBvcmRlcmVkIG1vZGUgaW4gSkJEMiBhbmQgZXh0NChhdm9pZCB1c2luZyBidWZmZXIgaGVhZCB0byBmb3JjZQorICB0aGUgb3JkZXJpbmcpCiAKIDIuMiBDYW5kaWRhdGUgZmVhdHVyZXMgZm9yIGZ1dHVyZSBpbmNsdXNpb24KIAotVGhlcmUgYXJlIHNldmVyYWwgdW5kZXIgZGlzY3Vzc2lvbiwgd2hldGhlciB0aGV5IGFsbCBtYWtlIGl0IGluIGlzCi1wYXJ0bHkgYSBmdW5jdGlvbiBvZiBob3cgbXVjaCB0aW1lIGV2ZXJ5b25lIGhhcyB0byB3b3JrIG9uIHRoZW06CisqIE9ubGluZSBkZWZyYWcgKHBhdGNoZXMgYXZhaWxhYmxlIGJ1dCBub3Qgd2VsbCB0ZXN0ZWQpCisqIHJlZHVjZWQgbWtlMmZzIHRpbWUgdmlhIGxhenkgaXRhYmxlIGluaXRpYWxpemF0aW9uIGluIGNvbmp1Y3Rpb24gd2l0aAorICB0aGUgdW5pbml0X2JnIGZlYXR1cmUgKGNhcGFiaWxpdHkgdG8gZG8gdGhpcyBpcyBhdmFpbGFibGUgaW4gZTJmc3Byb2dzCisgIGJ1dCBhIGtlcm5lbCB0aHJlYWQgdG8gZG8gbGF6eSB6ZXJvaW5nIG9mIHVudXNlZCBpbm9kZSB0YWJsZSBibG9ja3MKKyAgYWZ0ZXIgZmlsZXN5c3RlbSBpcyBmaXJzdCBtb3VudGVkIGlzIHJlcXVpcmVkIGZvciBzYWZldHkpCiAKLSogaW1wcm92ZWQgZmlsZSBhbGxvY2F0aW9uIChtdWx0aS1ibG9jayBhbGxvYywgZGVsYXllZCBhbGxvYzsgYmFzaWNhbGx5IGRvbmUpCi0qIGZpeCAzMjAwMCBzdWJkaXJlY3RvcnkgbGltaXQgKHBhdGNoIGV4aXN0cywgbmVlZHMgc29tZSBlMmZzY2sgd29yaykKLSogbnNlYyB0aW1lc3RhbXBzIGZvciBtdGltZSwgYXRpbWUsIGN0aW1lLCBjcmVhdGUgdGltZSAocGF0Y2ggZXhpc3RzLAotICBuZWVkcyBzb21lIGUyZnNjayB3b3JrKQotKiBpbm9kZSB2ZXJzaW9uIGZpZWxkIG9uIGRpc2sgKE5GU3Y0LCBMdXN0cmU7IHByb3RvdHlwZSBleGlzdHMpCi0qIHJlZHVjZWQgbWtlMmZzL2UyZnNjayB0aW1lIHZpYSB1bmluaXRpYWxpemVkIGdyb3VwcyAocHJvdG90eXBlIGV4aXN0cykKLSogam91cm5hbCBjaGVja3N1bW1pbmcgZm9yIHJvYnVzdG5lc3MsIHBlcmZvcm1hbmNlIChwcm90b3R5cGUgZXhpc3RzKQotKiBwZXJzaXN0ZW50IGZpbGUgcHJlYWxsb2NhdGlvbiAoZS5nIGZvciBzdHJlYW1pbmcgbWVkaWEsIGRhdGFiYXNlcykKK1RoZXJlIGFyZSBzZXZlcmFsIG90aGVycyB1bmRlciBkaXNjdXNzaW9uLCB3aGV0aGVyIHRoZXkgYWxsIG1ha2UgaXQgaW4gaXMKK3BhcnRseSBhIGZ1bmN0aW9uIG9mIGhvdyBtdWNoIHRpbWUgZXZlcnlvbmUgaGFzIHRvIHdvcmsgb24gdGhlbS4gRmVhdHVyZXMgbGlrZQorbWV0YWRhdGEgY2hlY2tzdW1taW5nIGhhdmUgYmVlbiBkaXNjdXNzZWQgYW5kIHBsYW5uZWQgZm9yIGEgYml0IGJ1dCBubyBwYXRjaGVzCitleGlzdCB5ZXQgc28gSSdtIG5vdCBzdXJlIHRoZXkncmUgaW4gdGhlIG5lYXItdGVybSByb2FkbWFwLgogCi1GZWF0dXJlcyBsaWtlIG1ldGFkYXRhIGNoZWNrc3VtbWluZyBoYXZlIGJlZW4gZGlzY3Vzc2VkIGFuZCBwbGFubmVkIGZvcgotYSBiaXQgYnV0IG5vIHBhdGNoZXMgZXhpc3QgeWV0IHNvIEknbSBub3Qgc3VyZSB0aGV5J3JlIGluIHRoZSBuZWFyLXRlcm0KLXJvYWRtYXAuCitUaGUgYmlnIHBlcmZvcm1hbmNlIHdpbiB3aWxsIGNvbWUgd2l0aCBtYmFsbG9jLCBkZWxhbGxvYyBhbmQgZmxleF9iZworZ3JvdXBpbmcgb2YgYml0bWFwcyBhbmQgaW5vZGUgdGFibGVzLiAgU29tZSB0ZXN0IHJlc3VsdHMgYXZhaWxhYmxlIGhlcmU6CiAKLVRoZSBiaWcgcGVyZm9ybWFuY2Ugd2luIHdpbGwgY29tZSB3aXRoIG1iYWxsb2MgYW5kIGRlbGFsbG9jLiAgQ0ZTIGhhcwotYmVlbiB1c2luZyBtYmFsbG9jIGZvciBhIGZldyB5ZWFycyBhbHJlYWR5IHdpdGggTHVzdHJlLCBhbmQgSUJNICsgQnVsbAotZGlkIGEgbG90IG9mIGJlbmNobWFya2luZyBvbiBpdC4gIFRoZSByZWFzb24gaXQgaXNuJ3QgaW4gdGhlIGZpcnN0IHNldCBvZgotcGF0Y2hlcyBpcyBwYXJ0bHkgYSBtYW5hZ2VhYmlsaXR5IGlzc3VlLCBhbmQgcGFydGx5IGJlY2F1c2UgaXQgZG9lc24ndAotZGlyZWN0bHkgYWZmZWN0IHRoZSBvbi1kaXNrIGZvcm1hdCAob3V0c2lkZSBvZiBtdWNoIGJldHRlciBhbGxvY2F0aW9uKQotc28gaXQgaXNuJ3QgY3JpdGljYWwgdG8gZ2V0IGludG8gdGhlIGZpcnN0IHJvdW5kIG9mIGNoYW5nZXMuICBJIGJlbGlldmUKLUFsZXggaXMgd29ya2luZyBvbiBhIG5ldyBzZXQgb2YgcGF0Y2hlcyByaWdodCBub3cuCisgLSBodHRwOi8vd3d3LmJ1bGxvcGVuc291cmNlLm9yZy9leHQ0LzIwMDgwNTMwL2Zmc2Itd3JpdGUtMi42LjI2LXJjMi5odG1sCisgLSBodHRwOi8vd3d3LmJ1bGxvcGVuc291cmNlLm9yZy9leHQ0LzIwMDgwNTMwL2Zmc2ItcmVhZHdyaXRlLTIuNi4yNi1yYzIuaHRtbAogCiAzLiBPcHRpb25zCiA9PT09PT09PT09CkBAIC0yMjIsOSArMjQzLDExIEBACiAJCQl0byB1c2UgZm9yIGFsbG9jYXRpb24gc2l6ZSBhbmQgYWxpZ25tZW50LiBGb3IgUkFJRDUvNgogCQkJc3lzdGVtcyB0aGlzIHNob3VsZCBiZSB0aGUgbnVtYmVyIG9mIGRhdGEKIAkJCWRpc2tzICogIFJBSUQgY2h1bmsgc2l6ZSBpbiBmaWxlIHN5c3RlbSBibG9ja3MuCi0KK2RlbGFsbG9jCSgqKQlEZWZlcnJpbmcgYmxvY2sgYWxsb2NhdGlvbiB1bnRpbCB3cml0ZS1vdXQgdGltZS4KK25vZGVsYWxsb2MJCURpc2FibGUgZGVsYXllZCBhbGxvY2F0aW9uLiBCbG9ja3MgYXJlIGFsbG9jYXRpb24KKwkJCXdoZW4gZGF0YSBpcyBjb3BpZWQgZnJvbSB1c2VyIHRvIHBhZ2UgY2FjaGUuCiBEYXRhIE1vZGUKLS0tLS0tLS0tLQorPT09PT09PT09CiBUaGVyZSBhcmUgMyBkaWZmZXJlbnQgZGF0YSBtb2RlczoKIAogKiB3cml0ZWJhY2sgbW9kZQpAQCAtMjM2LDEwICsyNTksMTAgQEAKIAogKiBvcmRlcmVkIG1vZGUKIEluIGRhdGE9b3JkZXJlZCBtb2RlLCBleHQ0IG9ubHkgb2ZmaWNpYWxseSBqb3VybmFscyBtZXRhZGF0YSwgYnV0IGl0IGxvZ2ljYWxseQotZ3JvdXBzIG1ldGFkYXRhIGFuZCBkYXRhIGJsb2NrcyBpbnRvIGEgc2luZ2xlIHVuaXQgY2FsbGVkIGEgdHJhbnNhY3Rpb24uICBXaGVuCi1pdCdzIHRpbWUgdG8gd3JpdGUgdGhlIG5ldyBtZXRhZGF0YSBvdXQgdG8gZGlzaywgdGhlIGFzc29jaWF0ZWQgZGF0YSBibG9ja3MKLWFyZSB3cml0dGVuIGZpcnN0LiAgSW4gZ2VuZXJhbCwgdGhpcyBtb2RlIHBlcmZvcm1zIHNsaWdodGx5IHNsb3dlciB0aGFuCi13cml0ZWJhY2sgYnV0IHNpZ25pZmljYW50bHkgZmFzdGVyIHRoYW4gam91cm5hbCBtb2RlLgorZ3JvdXBzIG1ldGFkYXRhIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gZGF0YSBjaGFuZ2VzIHdpdGggdGhlIGRhdGEgYmxvY2tzIGludG8gYQorc2luZ2xlIHVuaXQgY2FsbGVkIGEgdHJhbnNhY3Rpb24uICBXaGVuIGl0J3MgdGltZSB0byB3cml0ZSB0aGUgbmV3IG1ldGFkYXRhCitvdXQgdG8gZGlzaywgdGhlIGFzc29jaWF0ZWQgZGF0YSBibG9ja3MgYXJlIHdyaXR0ZW4gZmlyc3QuICBJbiBnZW5lcmFsLAordGhpcyBtb2RlIHBlcmZvcm1zIHNsaWdodGx5IHNsb3dlciB0aGFuIHdyaXRlYmFjayBidXQgc2lnbmlmaWNhbnRseSBmYXN0ZXIgdGhhbiBqb3VybmFsIG1vZGUuCiAKICogam91cm5hbCBtb2RlCiBkYXRhPWpvdXJuYWwgbW9kZSBwcm92aWRlcyBmdWxsIGRhdGEgYW5kIG1ldGFkYXRhIGpvdXJuYWxpbmcuICBBbGwgbmV3IGRhdGEgaXMKQEAgLTI0Nyw3ICsyNzAsOCBAQAogSW4gdGhlIGV2ZW50IG9mIGEgY3Jhc2gsIHRoZSBqb3VybmFsIGNhbiBiZSByZXBsYXllZCwgYnJpbmdpbmcgYm90aCBkYXRhIGFuZAogbWV0YWRhdGEgaW50byBhIGNvbnNpc3RlbnQgc3RhdGUuICBUaGlzIG1vZGUgaXMgdGhlIHNsb3dlc3QgZXhjZXB0IHdoZW4gZGF0YQogbmVlZHMgdG8gYmUgcmVhZCBmcm9tIGFuZCB3cml0dGVuIHRvIGRpc2sgYXQgdGhlIHNhbWUgdGltZSB3aGVyZSBpdAotb3V0cGVyZm9ybXMgYWxsIG90aGVycyBtb2Rlcy4KK291dHBlcmZvcm1zIGFsbCBvdGhlcnMgbW9kZXMuICBDdXJlbnRseSBleHQ0IGRvZXMgbm90IGhhdmUgZGVsYXllZAorYWxsb2NhdGlvbiBzdXBwb3J0IGlmIHRoaXMgZGF0YSBqb3VybmFsbGluZyBtb2RlIGlzIHNlbGVjdGVkLgogCiBSZWZlcmVuY2VzCiA9PT09PT09PT09CkBAIC0yNTYsNyArMjgwLDggQEAKIAkJPGZpbGU6ZnMvamJkMi8+CiAKIHByb2dyYW1zOglodHRwOi8vZTJmc3Byb2dzLnNvdXJjZWZvcmdlLm5ldC8KLQkJaHR0cDovL2V4dDJyZXNpemUuc291cmNlZm9yZ2UubmV0CiAKIHVzZWZ1bCBsaW5rczoJaHR0cDovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvZXh0My1kZXZlbAogCQlodHRwOi8vd3d3LmJ1bGxvcGVuc291cmNlLm9yZy9leHQ0LworCQlodHRwOi8vZXh0NC53aWtpLmtlcm5lbC5vcmcvaW5kZXgucGhwL01haW5fUGFnZQorCQlodHRwOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWF0dXJlcy9FeHQ0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2dmczItZ2xvY2tzLnR4dCBiL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvZ2ZzMi1nbG9ja3MudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkYWU5YTMKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2dmczItZ2xvY2tzLnR4dApAQCAtMCwwICsxLDExNCBAQAorICAgICAgICAgICAgICAgICAgIEdsb2NrIGludGVybmFsIGxvY2tpbmcgcnVsZXMKKyAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGlzIGRvY3VtZW50cyB0aGUgYmFzaWMgcHJpbmNpcGxlcyBvZiB0aGUgZ2xvY2sgc3RhdGUgbWFjaGluZQoraW50ZXJuYWxzLiBFYWNoIGdsb2NrIChzdHJ1Y3QgZ2ZzMl9nbG9jayBpbiBmcy9nZnMyL2luY29yZS5oKQoraGFzIHR3byBtYWluIChpbnRlcm5hbCkgbG9ja3M6CisKKyAxLiBBIHNwaW5sb2NrIChnbF9zcGluKSB3aGljaCBwcm90ZWN0cyB0aGUgaW50ZXJuYWwgc3RhdGUgc3VjaAorICAgIGFzIGdsX3N0YXRlLCBnbF90YXJnZXQgYW5kIHRoZSBsaXN0IG9mIGhvbGRlcnMgKGdsX2hvbGRlcnMpCisgMi4gQSBub24tYmxvY2tpbmcgYml0IGxvY2ssIEdMRl9MT0NLLCB3aGljaCBpcyB1c2VkIHRvIHByZXZlbnQgb3RoZXIKKyAgICB0aHJlYWRzIGZyb20gbWFraW5nIGNhbGxzIHRvIHRoZSBETE0sIGV0Yy4gYXQgdGhlIHNhbWUgdGltZS4gSWYgYQorICAgIHRocmVhZCB0YWtlcyB0aGlzIGxvY2ssIGl0IG11c3QgdGhlbiBjYWxsIHJ1bl9xdWV1ZSAodXN1YWxseSB2aWEgdGhlCisgICAgd29ya3F1ZXVlKSB3aGVuIGl0IHJlbGVhc2VzIGl0IGluIG9yZGVyIHRvIGVuc3VyZSBhbnkgcGVuZGluZyB0YXNrcworICAgIGFyZSBjb21wbGV0ZWQuCisKK1RoZSBnbF9ob2xkZXJzIGxpc3QgY29udGFpbnMgYWxsIHRoZSBxdWV1ZWQgbG9jayByZXF1ZXN0cyAobm90CitqdXN0IHRoZSBob2xkZXJzKSBhc3NvY2lhdGVkIHdpdGggdGhlIGdsb2NrLiBJZiB0aGVyZSBhcmUgYW55CitoZWxkIGxvY2tzLCB0aGVuIHRoZXkgd2lsbCBiZSBjb250aWd1b3VzIGVudHJpZXMgYXQgdGhlIGhlYWQKK29mIHRoZSBsaXN0LiBMb2NrcyBhcmUgZ3JhbnRlZCBpbiBzdHJpY3RseSB0aGUgb3JkZXIgdGhhdCB0aGV5CithcmUgcXVldWVkLCBleGNlcHQgZm9yIHRob3NlIG1hcmtlZCBMTV9GTEFHX1BSSU9SSVRZIHdoaWNoIGFyZQordXNlZCBvbmx5IGR1cmluZyByZWNvdmVyeSwgYW5kIGV2ZW4gdGhlbiBvbmx5IGZvciBqb3VybmFsIGxvY2tzLgorCitUaGVyZSBhcmUgdGhyZWUgbG9jayBzdGF0ZXMgdGhhdCB1c2VycyBvZiB0aGUgZ2xvY2sgbGF5ZXIgY2FuIHJlcXVlc3QsCituYW1lbHkgc2hhcmVkIChTSCksIGRlZmVycmVkIChERikgYW5kIGV4Y2x1c2l2ZSAoRVgpLiBUaG9zZSB0cmFuc2xhdGUKK3RvIHRoZSBmb2xsb3dpbmcgRExNIGxvY2sgbW9kZXM6CisKK0dsb2NrIG1vZGUgICAgfCBETE0gbG9jayBtb2RlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICBVTiAgICAgICAgfCAgICBJVi9OTCAgVW5sb2NrZWQgKG5vIERMTSBsb2NrIGFzc29jaWF0ZWQgd2l0aCBnbG9jaykgb3IgTkwKKyAgICBTSCAgICAgICAgfCAgICBQUiAgICAgKFByb3RlY3RlZCByZWFkKQorICAgIERGICAgICAgICB8ICAgIENXICAgICAoQ29uY3VycmVudCB3cml0ZSkKKyAgICBFWCAgICAgICAgfCAgICBFWCAgICAgKEV4Y2x1c2l2ZSkKKworVGh1cyBERiBpcyBiYXNpY2FsbHkgYSBzaGFyZWQgbW9kZSB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgIm5vcm1hbCIKK3NoYXJlZCBsb2NrIG1vZGUsIFNILiBJbiBHRlMyIHRoZSBERiBtb2RlIGlzIHVzZWQgZXhjbHVzaXZlbHkgZm9yIGRpcmVjdCBJL08KK29wZXJhdGlvbnMuIFRoZSBnbG9ja3MgYXJlIGJhc2ljYWxseSBhIGxvY2sgcGx1cyBzb21lIHJvdXRpbmVzIHdoaWNoIGRlYWwKK3dpdGggY2FjaGUgbWFuYWdlbWVudC4gVGhlIGZvbGxvd2luZyBydWxlcyBhcHBseSBmb3IgdGhlIGNhY2hlOgorCitHbG9jayBtb2RlICAgfCAgQ2FjaGUgZGF0YSB8IENhY2hlIE1ldGFkYXRhIHwgRGlydHkgRGF0YSB8IERpcnR5IE1ldGFkYXRhCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIFVOICAgICAgIHwgICAgIE5vICAgICAgfCAgICAgICBObyAgICAgICB8ICAgICBObyAgICAgfCAgICAgIE5vCisgICAgU0ggICAgICAgfCAgICAgWWVzICAgICB8ICAgICAgIFllcyAgICAgIHwgICAgIE5vICAgICB8ICAgICAgTm8KKyAgICBERiAgICAgICB8ICAgICBObyAgICAgIHwgICAgICAgWWVzICAgICAgfCAgICAgTm8gICAgIHwgICAgICBObworICAgIEVYICAgICAgIHwgICAgIFllcyAgICAgfCAgICAgICBZZXMgICAgICB8ICAgICBZZXMgICAgfCAgICAgIFllcworCitUaGVzZSBydWxlcyBhcmUgaW1wbGVtZW50ZWQgdXNpbmcgdGhlIHZhcmlvdXMgZ2xvY2sgb3BlcmF0aW9ucyB3aGljaAorYXJlIGRlZmluZWQgZm9yIGVhY2ggdHlwZSBvZiBnbG9jay4gTm90IGFsbCB0eXBlcyBvZiBnbG9ja3MgdXNlCithbGwgdGhlIG1vZGVzLiBPbmx5IGlub2RlIGdsb2NrcyB1c2UgdGhlIERGIG1vZGUgZm9yIGV4YW1wbGUuCisKK1RhYmxlIG9mIGdsb2NrIG9wZXJhdGlvbnMgYW5kIHBlciB0eXBlIGNvbnN0YW50czoKKworRmllbGQgICAgICAgICAgICB8IFB1cnBvc2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2dvX3htb3RlX3RoICAgICAgfCBDYWxsZWQgYmVmb3JlIHJlbW90ZSBzdGF0ZSBjaGFuZ2UgKGUuZy4gdG8gc3luYyBkaXJ0eSBkYXRhKQorZ29feG1vdGVfYmggICAgICB8IENhbGxlZCBhZnRlciByZW1vdGUgc3RhdGUgY2hhbmdlIChlLmcuIHRvIHJlZmlsbCBjYWNoZSkKK2dvX2ludmFsICAgICAgICAgfCBDYWxsZWQgaWYgcmVtb3RlIHN0YXRlIGNoYW5nZSByZXF1aXJlcyBpbnZhbGlkYXRpbmcgdGhlIGNhY2hlCitnb19kZW1vdGVfb2sgICAgIHwgUmV0dXJucyBib29sZWFuIHZhbHVlIG9mIHdoZXRoZXIgaXRzIG9rIHRvIGRlbW90ZSBhIGdsb2NrCisgICAgICAgICAgICAgICAgIHwgKGUuZy4gY2hlY2tzIHRpbWVvdXQsIGFuZCB0aGF0IHRoZXJlIGlzIG5vIGNhY2hlZCBkYXRhKQorZ29fbG9jayAgICAgICAgICB8IENhbGxlZCBmb3IgdGhlIGZpcnN0IGxvY2FsIGhvbGRlciBvZiBhIGxvY2sKK2dvX3VubG9jayAgICAgICAgfCBDYWxsZWQgb24gdGhlIGZpbmFsIGxvY2FsIHVubG9jayBvZiBhIGxvY2sKK2dvX2R1bXAgICAgICAgICAgfCBDYWxsZWQgdG8gcHJpbnQgY29udGVudCBvZiBvYmplY3QgZm9yIGRlYnVnZnMgZmlsZSwgb3Igb24KKyAgICAgICAgICAgICAgICAgfCBlcnJvciB0byBkdW1wIGdsb2NrIHRvIHRoZSBsb2cuCitnb190eXBlOyAgICAgICAgIHwgVGhlIHR5cGUgb2YgdGhlIGdsb2NrLCBMTV9UWVBFXy4uLi4uCitnb19taW5faG9sZF90aW1lIHwgVGhlIG1pbmltdW0gaG9sZCB0aW1lCisKK1RoZSBtaW5pbXVtIGhvbGQgdGltZSBmb3IgZWFjaCBsb2NrIGlzIHRoZSB0aW1lIGFmdGVyIGEgcmVtb3RlIGxvY2sKK2dyYW50IGZvciB3aGljaCB3ZSBpZ25vcmUgcmVtb3RlIGRlbW90ZSByZXF1ZXN0cy4gVGhpcyBpcyBpbiBvcmRlciB0bworcHJldmVudCBhIHNpdHVhdGlvbiB3aGVyZSBsb2NrcyBhcmUgYmVpbmcgYm91bmNlZCBhcm91bmQgdGhlIGNsdXN0ZXIKK2Zyb20gbm9kZSB0byBub2RlIHdpdGggbm9uZSBvZiB0aGUgbm9kZXMgbWFraW5nIGFueSBwcm9ncmVzcy4gVGhpcwordGVuZHMgdG8gc2hvdyB1cCBtb3N0IHdpdGggc2hhcmVkIG1tYXBlZCBmaWxlcyB3aGljaCBhcmUgYmVpbmcgd3JpdHRlbgordG8gYnkgbXVsdGlwbGUgbm9kZXMuIEJ5IGRlbGF5aW5nIHRoZSBkZW1vdGlvbiBpbiByZXNwb25zZSB0byBhCityZW1vdGUgY2FsbGJhY2ssIHRoYXQgZ2l2ZXMgdGhlIHVzZXJzcGFjZSBwcm9ncmFtIHRpbWUgdG8gbWFrZQorc29tZSBwcm9ncmVzcyBiZWZvcmUgdGhlIHBhZ2VzIGFyZSB1bm1hcHBlZC4KKworVGhlcmUgaXMgYSBwbGFuIHRvIHRyeSBhbmQgcmVtb3ZlIHRoZSBnb19sb2NrIGFuZCBnb191bmxvY2sgY2FsbGJhY2tzCitpZiBwb3NzaWJsZSwgaW4gb3JkZXIgdG8gdHJ5IGFuZCBzcGVlZCB1cCB0aGUgZmFzdCBwYXRoIHRob3VnaCB0aGUgbG9ja2luZy4KK0Fsc28sIGV2ZW50dWFsbHkgd2UgaG9wZSB0byBtYWtlIHRoZSBnbG9jayAiRVgiIG1vZGUgbG9jYWxseSBzaGFyZWQKK3N1Y2ggdGhhdCBhbnkgbG9jYWwgbG9ja2luZyB3aWxsIGJlIGRvbmUgd2l0aCB0aGUgaV9tdXRleCBhcyByZXF1aXJlZAorcmF0aGVyIHRoYW4gdmlhIHRoZSBnbG9jay4KKworTG9ja2luZyBydWxlcyBmb3IgZ2xvY2sgb3BlcmF0aW9uczoKKworT3BlcmF0aW9uICAgICB8ICBHTEZfTE9DSyBiaXQgbG9jayBoZWxkIHwgIGdsX3NwaW4gc3BpbmxvY2sgaGVsZAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2dvX3htb3RlX3RoICAgfCAgICAgICBZZXMgICAgICAgICAgICAgICB8ICAgICAgIE5vCitnb194bW90ZV9iaCAgIHwgICAgICAgWWVzICAgICAgICAgICAgICAgfCAgICAgICBObworZ29faW52YWwgICAgICB8ICAgICAgIFllcyAgICAgICAgICAgICAgIHwgICAgICAgTm8KK2dvX2RlbW90ZV9vayAgfCAgICAgICBTb21ldGltZXMgICAgICAgICB8ICAgICAgIFllcworZ29fbG9jayAgICAgICB8ICAgICAgIFllcyAgICAgICAgICAgICAgIHwgICAgICAgTm8KK2dvX3VubG9jayAgICAgfCAgICAgICBZZXMgICAgICAgICAgICAgICB8ICAgICAgIE5vCitnb19kdW1wICAgICAgIHwgICAgICAgU29tZXRpbWVzICAgICAgICAgfCAgICAgICBZZXMKKworTi5CLiBPcGVyYXRpb25zIG11c3Qgbm90IGRyb3AgZWl0aGVyIHRoZSBiaXQgbG9jayBvciB0aGUgc3BpbmxvY2sKK2lmIGl0cyBoZWxkIG9uIGVudHJ5LiBnb19kdW1wIGFuZCBkb19kZW1vdGVfb2sgbXVzdCBuZXZlciBibG9jay4KK05vdGUgdGhhdCBnb19kdW1wIHdpbGwgb25seSBiZSBjYWxsZWQgaWYgdGhlIGdsb2NrJ3Mgc3RhdGUKK2luZGljYXRlcyB0aGF0IGl0IGlzIGNhY2hpbmcgdXB0b2RhdGUgZGF0YS4KKworR2xvY2sgbG9ja2luZyBvcmRlciB3aXRoaW4gR0ZTMjoKKworIDEuIGlfbXV0ZXggKGlmIHJlcXVpcmVkKQorIDIuIFJlbmFtZSBnbG9jayAoZm9yIHJlbmFtZSBvbmx5KQorIDMuIElub2RlIGdsb2NrKHMpCisgICAgKFBhcmVudHMgYmVmb3JlIGNoaWxkcmVuLCBpbm9kZXMgYXQgInNhbWUgbGV2ZWwiIHdpdGggc2FtZSBwYXJlbnQgaW4KKyAgICAgbG9jayBudW1iZXIgb3JkZXIpCisgNC4gUmdycCBnbG9jayhzKSAoZm9yIChkZSlhbGxvY2F0aW9uIG9wZXJhdGlvbnMpCisgNS4gVHJhbnNhY3Rpb24gZ2xvY2sgKHZpYSBnZnMyX3RyYW5zX2JlZ2luKSBmb3Igbm9uLXJlYWQgb3BlcmF0aW9ucworIDYuIFBhZ2UgbG9jayAgKGFsd2F5cyBsYXN0LCB2ZXJ5IGltcG9ydGFudCEpCisKK1RoZXJlIGFyZSB0d28gZ2xvY2tzIHBlciBpbm9kZS4gT25lIGRlYWxzIHdpdGggYWNjZXNzIHRvIHRoZSBpbm9kZQoraXRzZWxmIChsb2NraW5nIG9yZGVyIGFzIGFib3ZlKSwgYW5kIHRoZSBvdGhlciwga25vd24gYXMgdGhlIGlvcGVuCitnbG9jayBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGlfbmxpbmsgZmllbGQgaW4gdGhlIGlub2RlIHRvCitkZXRlcm1pbmUgdGhlIGxpZmV0aW1lIG9mIHRoZSBpbm9kZSBpbiBxdWVzdGlvbi4gTG9ja2luZyBvZiBpbm9kZXMKK2lzIG9uIGEgcGVyLWlub2RlIGJhc2lzLiBMb2NraW5nIG9mIHJncnBzIGlzIG9uIGEgcGVyIHJncnAgYmFzaXMuCisKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy50eHQgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3Byb2MudHh0CmluZGV4IGRiYzNjNmEuLjdmMjY4ZjMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9wcm9jLnR4dApAQCAtMzgwLDI4ICszODAsMzUgQEAKIE9mIHNvbWUgaW50ZXJlc3QgaXMgdGhlIGludHJvZHVjdGlvbiBvZiB0aGUgL3Byb2MvaXJxIGRpcmVjdG9yeSB0byAyLjQuCiBJdCBjb3VsZCBiZSB1c2VkIHRvIHNldCBJUlEgdG8gQ1BVIGFmZmluaXR5LCB0aGlzIG1lYW5zIHRoYXQgeW91IGNhbiAiaG9vayIgYW4KIElSUSB0byBvbmx5IG9uZSBDUFUsIG9yIHRvIGV4Y2x1ZGUgYSBDUFUgb2YgaGFuZGxpbmcgSVJRcy4gVGhlIGNvbnRlbnRzIG9mIHRoZQotaXJxIHN1YmRpciBpcyBvbmUgc3ViZGlyIGZvciBlYWNoIElSUSwgYW5kIG9uZSBmaWxlOyBwcm9mX2NwdV9tYXNrCitpcnEgc3ViZGlyIGlzIG9uZSBzdWJkaXIgZm9yIGVhY2ggSVJRLCBhbmQgdHdvIGZpbGVzOyBkZWZhdWx0X3NtcF9hZmZpbml0eSBhbmQKK3Byb2ZfY3B1X21hc2suCiAKIEZvciBleGFtcGxlIAogICA+IGxzIC9wcm9jL2lycS8KICAgMCAgMTAgIDEyICAxNCAgMTYgIDE4ICAyICA0ICA2ICA4ICBwcm9mX2NwdV9tYXNrCi0gIDEgIDExICAxMyAgMTUgIDE3ICAxOSAgMyAgNSAgNyAgOQorICAxICAxMSAgMTMgIDE1ICAxNyAgMTkgIDMgIDUgIDcgIDkgIGRlZmF1bHRfc21wX2FmZmluaXR5CiAgID4gbHMgL3Byb2MvaXJxLzAvCiAgIHNtcF9hZmZpbml0eQogCi1UaGUgY29udGVudHMgb2YgdGhlIHByb2ZfY3B1X21hc2sgZmlsZSBhbmQgZWFjaCBzbXBfYWZmaW5pdHkgZmlsZSBmb3IgZWFjaCBJUlEKLWlzIHRoZSBzYW1lIGJ5IGRlZmF1bHQ6CitzbXBfYWZmaW5pdHkgaXMgYSBiaXRtYXNrLCBpbiB3aGljaCB5b3UgY2FuIHNwZWNpZnkgd2hpY2ggQ1BVcyBjYW4gaGFuZGxlIHRoZQorSVJRLCB5b3UgY2FuIHNldCBpdCBieSBkb2luZzoKIAotICA+IGNhdCAvcHJvYy9pcnEvMC9zbXBfYWZmaW5pdHkgCisgID4gZWNobyAxID4gL3Byb2MvaXJxLzEwL3NtcF9hZmZpbml0eQorCitUaGlzIG1lYW5zIHRoYXQgb25seSB0aGUgZmlyc3QgQ1BVIHdpbGwgaGFuZGxlIHRoZSBJUlEsIGJ1dCB5b3UgY2FuIGFsc28gZWNobworNSB3aGljaCBtZWFucyB0aGF0IG9ubHkgdGhlIGZpcnN0IGFuZCBmb3VydGggQ1BVIGNhbiBoYW5kbGUgdGhlIElSUS4KKworVGhlIGNvbnRlbnRzIG9mIGVhY2ggc21wX2FmZmluaXR5IGZpbGUgaXMgdGhlIHNhbWUgYnkgZGVmYXVsdDoKKworICA+IGNhdCAvcHJvYy9pcnEvMC9zbXBfYWZmaW5pdHkKICAgZmZmZmZmZmYKIAotSXQncyBhIGJpdG1hc2ssIGluIHdoaWNoIHlvdSBjYW4gc3BlY2lmeSB3aGljaCBDUFVzIGNhbiBoYW5kbGUgdGhlIElSUSwgeW91IGNhbgotc2V0IGl0IGJ5IGRvaW5nOgorVGhlIGRlZmF1bHRfc21wX2FmZmluaXR5IG1hc2sgYXBwbGllcyB0byBhbGwgbm9uLWFjdGl2ZSBJUlFzLCB3aGljaCBhcmUgdGhlCitJUlFzIHdoaWNoIGhhdmUgbm90IHlldCBiZWVuIGFsbG9jYXRlZC9hY3RpdmF0ZWQsIGFuZCBoZW5jZSB3aGljaCBsYWNrIGEKKy9wcm9jL2lycS9bMC05XSogZGlyZWN0b3J5LgogCi0gID4gZWNobyAxID4gL3Byb2MvaXJxL3Byb2ZfY3B1X21hc2sKLQotVGhpcyBtZWFucyB0aGF0IG9ubHkgdGhlIGZpcnN0IENQVSB3aWxsIGhhbmRsZSB0aGUgSVJRLCBidXQgeW91IGNhbiBhbHNvIGVjaG8gNQotd2hpY2ggbWVhbnMgdGhhdCBvbmx5IHRoZSBmaXJzdCBhbmQgZm91cnRoIENQVSBjYW4gaGFuZGxlIHRoZSBJUlEuCitwcm9mX2NwdV9tYXNrIHNwZWNpZmllcyB3aGljaCBDUFVzIGFyZSB0byBiZSBwcm9maWxlZCBieSB0aGUgc3lzdGVtIHdpZGUKK3Byb2ZpbGVyLiBEZWZhdWx0IHZhbHVlIGlzIGZmZmZmZmZmIChhbGwgY3B1cykuCiAKIFRoZSB3YXkgSVJRcyBhcmUgcm91dGVkIGlzIGhhbmRsZWQgYnkgdGhlIElPLUFQSUMsIGFuZCBpdCdzIFJvdW5kIFJvYmluCiBiZXR3ZWVuIGFsbCB0aGUgQ1BVcyB3aGljaCBhcmUgYWxsb3dlZCB0byBoYW5kbGUgaXQuIEFzIHVzdWFsIHRoZSBrZXJuZWwgaGFzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2Z0cmFjZS50eHQgYi9Eb2N1bWVudGF0aW9uL2Z0cmFjZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkM2ZhYQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZnRyYWNlLnR4dApAQCAtMCwwICsxLDEzNjEgQEAKKwkJZnRyYWNlIC0gRnVuY3Rpb24gVHJhY2VyCisJCT09PT09PT09PT09PT09PT09PT09PT09PQorCitDb3B5cmlnaHQgMjAwOCBSZWQgSGF0IEluYy4KKyAgIEF1dGhvcjogICBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAgTGljZW5zZTogICBUaGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEuMgorUmV2aWV3ZXJzOiAgIEVsaWFzIE9sdG1hbm5zIGFuZCBSYW5keSBEdW5sYXAKKworV3JpdGVuIGZvcjogMi42LjI2LXJjOCBsaW51eC0yLjYtdGlwLmdpdCB0aXAvdHJhY2luZy9mdHJhY2UgYnJhbmNoCisKK0ludHJvZHVjdGlvbgorLS0tLS0tLS0tLS0tCisKK0Z0cmFjZSBpcyBhbiBpbnRlcm5hbCB0cmFjZXIgZGVzaWduZWQgdG8gaGVscCBvdXQgZGV2ZWxvcGVycyBhbmQKK2Rlc2lnbmVycyBvZiBzeXN0ZW1zIHRvIGZpbmQgd2hhdCBpcyBnb2luZyBvbiBpbnNpZGUgdGhlIGtlcm5lbC4KK0l0IGNhbiBiZSB1c2VkIGZvciBkZWJ1Z2dpbmcgb3IgYW5hbHl6aW5nIGxhdGVuY2llcyBhbmQgcGVyZm9ybWFuY2UKK2lzc3VlcyB0aGF0IHRha2UgcGxhY2Ugb3V0c2lkZSBvZiB1c2VyLXNwYWNlLgorCitBbHRob3VnaCBmdHJhY2UgaXMgdGhlIGZ1bmN0aW9uIHRyYWNlciwgaXQgYWxzbyBpbmNsdWRlcyBhbgoraW5mcmFzdHJ1Y3R1cmUgdGhhdCBhbGxvd3MgZm9yIG90aGVyIHR5cGVzIG9mIHRyYWNpbmcuIFNvbWUgb2YgdGhlCit0cmFjZXJzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiBmdHJhY2UgaXMgYSB0cmFjZXIgdG8gdHJhY2UKK2NvbnRleHQgc3dpdGNoZXMsIHRoZSB0aW1lIGl0IHRha2VzIGZvciBhIGhpZ2ggcHJpb3JpdHkgdGFzayB0bworcnVuIGFmdGVyIGl0IHdhcyB3b2tlbiB1cCwgdGhlIHRpbWUgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIGFuZAorbW9yZS4KKworCitUaGUgRmlsZSBTeXN0ZW0KKy0tLS0tLS0tLS0tLS0tLQorCitGdHJhY2UgdXNlcyB0aGUgZGVidWdmcyBmaWxlIHN5c3RlbSB0byBob2xkIHRoZSBjb250cm9sIGZpbGVzIGFzIHdlbGwKK2FzIHRoZSBmaWxlcyB0byBkaXNwbGF5IG91dHB1dC4KKworVG8gbW91bnQgdGhlIGRlYnVnZnMgc3lzdGVtOgorCisgICMgbWtkaXIgL2RlYnVnCisgICMgbW91bnQgLXQgZGVidWdmcyBub2RldiAvZGVidWcKKworCitUaGF0J3MgaXQhIChhc3N1bWluZyB0aGF0IHlvdSBoYXZlIGZ0cmFjZSBjb25maWd1cmVkIGludG8geW91ciBrZXJuZWwpCisKK0FmdGVyIG1vdW50aW5nIHRoZSBkZWJ1Z2ZzLCB5b3UgY2FuIHNlZSBhIGRpcmVjdG9yeSBjYWxsZWQKKyJ0cmFjaW5nIi4gIFRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIHRoZSBjb250cm9sIGFuZCBvdXRwdXQgZmlsZXMKK29mIGZ0cmFjZS4gSGVyZSBpcyBhIGxpc3Qgb2Ygc29tZSBvZiB0aGUga2V5IGZpbGVzOgorCisKKyBOb3RlOiBhbGwgdGltZSB2YWx1ZXMgYXJlIGluIG1pY3Jvc2Vjb25kcy4KKworICBjdXJyZW50X3RyYWNlciA6IFRoaXMgaXMgdXNlZCB0byBzZXQgb3IgZGlzcGxheSB0aGUgY3VycmVudCB0cmFjZXIKKwkJdGhhdCBpcyBjb25maWd1cmVkLgorCisgIGF2YWlsYWJsZV90cmFjZXJzIDogVGhpcyBob2xkcyB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIHRyYWNlcnMgdGhhdAorCQloYXZlIGJlZW4gY29tcGlsZWQgaW50byB0aGUga2VybmVsLiBUaGUgdHJhY2VycworCQlsaXN0ZWQgaGVyZSBjYW4gYmUgY29uZmlndXJlZCBieSBlY2hvaW5nIGluIHRoZWlyCisJCW5hbWUgaW50byBjdXJyZW50X3RyYWNlci4KKworICB0cmFjaW5nX2VuYWJsZWQgOiBUaGlzIHNldHMgb3IgZGlzcGxheXMgd2hldGhlciB0aGUgY3VycmVudF90cmFjZXIKKwkJaXMgYWN0aXZhdGVkIGFuZCB0cmFjaW5nIG9yIG5vdC4gRWNobyAwIGludG8gdGhpcworCQlmaWxlIHRvIGRpc2FibGUgdGhlIHRyYWNlciBvciAxIChvciBub24temVybykgdG8KKwkJZW5hYmxlIGl0LgorCisgIHRyYWNlIDogVGhpcyBmaWxlIGhvbGRzIHRoZSBvdXRwdXQgb2YgdGhlIHRyYWNlIGluIGEgaHVtYW4gcmVhZGFibGUKKwkJZm9ybWF0LgorCisgIGxhdGVuY3lfdHJhY2UgOiBUaGlzIGZpbGUgc2hvd3MgdGhlIHNhbWUgdHJhY2UgYnV0IHRoZSBpbmZvcm1hdGlvbgorCQlpcyBvcmdhbml6ZWQgbW9yZSB0byBkaXNwbGF5IHBvc3NpYmxlIGxhdGVuY2llcworCQlpbiB0aGUgc3lzdGVtLgorCisgIHRyYWNlX3BpcGUgOiBUaGUgb3V0cHV0IGlzIHRoZSBzYW1lIGFzIHRoZSAidHJhY2UiIGZpbGUgYnV0IHRoaXMKKwkJZmlsZSBpcyBtZWFudCB0byBiZSBzdHJlYW1lZCB3aXRoIGxpdmUgdHJhY2luZy4KKwkJUmVhZHMgZnJvbSB0aGlzIGZpbGUgd2lsbCBibG9jayB1bnRpbCBuZXcgZGF0YQorCQlpcyByZXRyaWV2ZWQuIFVubGlrZSB0aGUgInRyYWNlIiBhbmQgImxhdGVuY3lfdHJhY2UiCisJCWZpbGVzLCB0aGlzIGZpbGUgaXMgYSBjb25zdW1lci4gVGhpcyBtZWFucyByZWFkaW5nCisJCWZyb20gdGhpcyBmaWxlIGNhdXNlcyBzZXF1ZW50aWFsIHJlYWRzIHRvIGRpc3BsYXkKKwkJbW9yZSBjdXJyZW50IGRhdGEuIE9uY2UgZGF0YSBpcyByZWFkIGZyb20gdGhpcworCQlmaWxlLCBpdCBpcyBjb25zdW1lZCwgYW5kIHdpbGwgbm90IGJlIHJlYWQKKwkJYWdhaW4gd2l0aCBhIHNlcXVlbnRpYWwgcmVhZC4gVGhlICJ0cmFjZSIgYW5kCisJCSJsYXRlbmN5X3RyYWNlIiBmaWxlcyBhcmUgc3RhdGljLCBhbmQgaWYgdGhlCisJCXRyYWNlciBpc24ndCBhZGRpbmcgbW9yZSBkYXRhLCB0aGV5IHdpbGwgZGlzcGxheQorCQl0aGUgc2FtZSBpbmZvcm1hdGlvbiBldmVyeSB0aW1lIHRoZXkgYXJlIHJlYWQuCisKKyAgaXRlcl9jdHJsIDogVGhpcyBmaWxlIGxldHMgdGhlIHVzZXIgY29udHJvbCB0aGUgYW1vdW50IG9mIGRhdGEKKwkJdGhhdCBpcyBkaXNwbGF5ZWQgaW4gb25lIG9mIHRoZSBhYm92ZSBvdXRwdXQKKwkJZmlsZXMuCisKKyAgdHJhY2VfbWF4X2xhdGVuY3kgOiBTb21lIG9mIHRoZSB0cmFjZXJzIHJlY29yZCB0aGUgbWF4IGxhdGVuY3kuCisJCUZvciBleGFtcGxlLCB0aGUgdGltZSBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZC4KKwkJVGhpcyB0aW1lIGlzIHNhdmVkIGluIHRoaXMgZmlsZS4gVGhlIG1heCB0cmFjZQorCQl3aWxsIGFsc28gYmUgc3RvcmVkLCBhbmQgZGlzcGxheWVkIGJ5IGVpdGhlcgorCQkidHJhY2UiIG9yICJsYXRlbmN5X3RyYWNlIi4gIEEgbmV3IG1heCB0cmFjZSB3aWxsCisJCW9ubHkgYmUgcmVjb3JkZWQgaWYgdGhlIGxhdGVuY3kgaXMgZ3JlYXRlciB0aGFuCisJCXRoZSB2YWx1ZSBpbiB0aGlzIGZpbGUuIChpbiBtaWNyb3NlY29uZHMpCisKKyAgdHJhY2VfZW50cmllcyA6IFRoaXMgc2V0cyBvciBkaXNwbGF5cyB0aGUgbnVtYmVyIG9mIHRyYWNlCisJCWVudHJpZXMgZWFjaCBDUFUgYnVmZmVyIGNhbiBob2xkLiBUaGUgdHJhY2VyIGJ1ZmZlcnMKKwkJYXJlIHRoZSBzYW1lIHNpemUgZm9yIGVhY2ggQ1BVLCBzbyBjYXJlIG11c3QgYmUKKwkJdGFrZW4gd2hlbiBtb2RpZnlpbmcgdGhlIHRyYWNlX2VudHJpZXMuIFRoZSB0cmFjZQorCQlidWZmZXJzIGFyZSBhbGxvY2F0ZWQgaW4gcGFnZXMgKGJsb2NrcyBvZiBtZW1vcnkgdGhhdAorCQl0aGUga2VybmVsIHVzZXMgZm9yIGFsbG9jYXRpb24sIHVzdWFsbHkgNCBLQiBpbiBzaXplKS4KKwkJU2luY2UgZWFjaCBlbnRyeSBpcyBzbWFsbGVyIHRoYW4gYSBwYWdlLCBpZiB0aGUgbGFzdAorCQlhbGxvY2F0ZWQgcGFnZSBoYXMgcm9vbSBmb3IgbW9yZSBlbnRyaWVzIHRoYW4gd2VyZQorCQlyZXF1ZXN0ZWQsIHRoZSByZXN0IG9mIHRoZSBwYWdlIGlzIHVzZWQgdG8gYWxsb2NhdGUKKwkJZW50cmllcy4KKworCQlUaGlzIGNhbiBvbmx5IGJlIHVwZGF0ZWQgd2hlbiB0aGUgY3VycmVudF90cmFjZXIKKwkJaXMgc2V0IHRvICJub25lIi4KKworCQlOT1RFOiBJdCBpcyBwbGFubmVkIG9uIGNoYW5naW5nIHRoZSBhbGxvY2F0ZWQgYnVmZmVycworCQkgICAgICBmcm9tIGJlaW5nIHRoZSBudW1iZXIgb2YgcG9zc2libGUgQ1BVUyB0bworCQkgICAgICB0aGUgbnVtYmVyIG9mIG9ubGluZSBDUFVTLgorCisgIHRyYWNpbmdfY3B1bWFzayA6IFRoaXMgaXMgYSBtYXNrIHRoYXQgbGV0cyB0aGUgdXNlciBvbmx5IHRyYWNlCisJCW9uIHNwZWNpZmllZCBDUFVTLiBUaGUgZm9ybWF0IGlzIGEgaGV4IHN0cmluZworCQlyZXByZXNlbnRpbmcgdGhlIENQVVMuCisKKyAgc2V0X2Z0cmFjZV9maWx0ZXIgOiBXaGVuIGR5bmFtaWMgZnRyYWNlIGlzIGNvbmZpZ3VyZWQgaW4sIHRoZQorCQljb2RlIGlzIGR5bmFtaWNhbGx5IG1vZGlmaWVkIHRvIGRpc2FibGUgY2FsbGluZworCQlvZiB0aGUgZnVuY3Rpb24gcHJvZmlsZXIgKG1jb3VudCkuIFRoaXMgbGV0cworCQl0cmFjaW5nIGJlIGNvbmZpZ3VyZWQgaW4gd2l0aCBwcmFjdGljYWxseSBubyBvdmVyaGVhZAorCQlpbiBwZXJmb3JtYW5jZS4gIFRoaXMgYWxzbyBoYXMgYSBzaWRlIGVmZmVjdCBvZgorCQllbmFibGluZyBvciBkaXNhYmxpbmcgc3BlY2lmaWMgZnVuY3Rpb25zIHRvIGJlCisJCXRyYWNlZC4gIEVjaG9pbmcgaW4gbmFtZXMgb2YgZnVuY3Rpb25zIGludG8gdGhpcworCQlmaWxlIHdpbGwgbGltaXQgdGhlIHRyYWNlIHRvIG9ubHkgdGhlc2UgZnVuY3Rpb25zLgorCisgIHNldF9mdHJhY2Vfbm90cmFjZTogVGhpcyBoYXMgdGhlIG9wcG9zaXRlIGVmZmVjdCB0aGF0CisJCXNldF9mdHJhY2VfZmlsdGVyIGhhcy4gQW55IGZ1bmN0aW9uIHRoYXQgaXMgYWRkZWQKKwkJaGVyZSB3aWxsIG5vdCBiZSB0cmFjZWQuIElmIGEgZnVuY3Rpb24gZXhpc3RzCisJCWluIGJvdGggc2V0X2Z0cmFjZV9maWx0ZXIgYW5kIHNldF9mdHJhY2Vfbm90cmFjZSwKKwkJdGhlIGZ1bmN0aW9uIHdpbGwgX25vdF8gYmUgdHJhY2VkLgorCisgIGF2YWlsYWJsZV9maWx0ZXJfZnVuY3Rpb25zIDogV2hlbiBhIGZ1bmN0aW9uIGlzIGVuY291bnRlcmVkIHRoZSBmaXJzdAorCQl0aW1lIGJ5IHRoZSBkeW5hbWljIHRyYWNlciwgaXQgaXMgcmVjb3JkZWQgYW5kCisJCWxhdGVyIHRoZSBjYWxsIGlzIGNvbnZlcnRlZCBpbnRvIGEgbm9wLiBUaGlzIGZpbGUKKwkJbGlzdHMgdGhlIGZ1bmN0aW9ucyB0aGF0IGhhdmUgYmVlbiByZWNvcmRlZAorCQlieSB0aGUgZHluYW1pYyB0cmFjZXIgYW5kIHRoZXNlIGZ1bmN0aW9ucyBjYW4KKwkJYmUgdXNlZCB0byBzZXQgdGhlIGZ0cmFjZSBmaWx0ZXIgYnkgdGhlIGFib3ZlCisJCSJzZXRfZnRyYWNlX2ZpbHRlciIgZmlsZS4KKworCitUaGUgVHJhY2VycworLS0tLS0tLS0tLS0KKworSGVyZSBhcmUgdGhlIGxpc3Qgb2YgY3VycmVudCB0cmFjZXJzIHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWQuCisKKyAgZnRyYWNlIC0gZnVuY3Rpb24gdHJhY2VyIHRoYXQgdXNlcyBtY291bnQgdG8gdHJhY2UgYWxsIGZ1bmN0aW9ucy4KKwkJSXQgaXMgcG9zc2libGUgdG8gZmlsdGVyIG91dCB3aGljaCBmdW5jdGlvbnMgdGhhdCBhcmUKKwkJdG8gYmUgdHJhY2VkIHdoZW4gZHluYW1pYyBmdHJhY2UgaXMgY29uZmlndXJlZCBpbi4KKworICBzY2hlZF9zd2l0Y2ggLSB0cmFjZXMgdGhlIGNvbnRleHQgc3dpdGNoZXMgYmV0d2VlbiB0YXNrcy4KKworICBpcnFzb2ZmIC0gdHJhY2VzIHRoZSBhcmVhcyB0aGF0IGRpc2FibGUgaW50ZXJydXB0cyBhbmQgc2F2ZXMgb2ZmCisgIAkJdGhlIHRyYWNlIHdpdGggdGhlIGxvbmdlc3QgbWF4IGxhdGVuY3kuCisJCVNlZSB0cmFjaW5nX21heF9sYXRlbmN5LiAgV2hlbiBhIG5ldyBtYXggaXMgcmVjb3JkZWQsCisJCWl0IHJlcGxhY2VzIHRoZSBvbGQgdHJhY2UuIEl0IGlzIGJlc3QgdG8gdmlldyB0aGlzCisJCXRyYWNlIHdpdGggdGhlIGxhdGVuY3lfdHJhY2UgZmlsZS4KKworICBwcmVlbXB0b2ZmIC0gU2ltaWxhciB0byBpcnFzb2ZmIGJ1dCB0cmFjZXMgYW5kIHJlY29yZHMgdGhlIHRpbWUKKwkJcHJlZW1wdGlvbiBpcyBkaXNhYmxlZC4KKworICBwcmVlbXB0aXJxc29mZiAtIFNpbWlsYXIgdG8gaXJxc29mZiBhbmQgcHJlZW1wdG9mZiwgYnV0IHRyYWNlcyBhbmQKKwkJIHJlY29yZHMgdGhlIGxhcmdlc3QgdGltZSBpcnFzIGFuZC9vciBwcmVlbXB0aW9uIGlzCisJCSBkaXNhYmxlZC4KKworICB3YWtldXAgLSBUcmFjZXMgYW5kIHJlY29yZHMgdGhlIG1heCBsYXRlbmN5IHRoYXQgaXQgdGFrZXMgZm9yCisJCXRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgdG8gZ2V0IHNjaGVkdWxlZCBhZnRlcgorCQlpdCBoYXMgYmVlbiB3b2tlbiB1cC4KKworICBub25lIC0gVGhpcyBpcyBub3QgYSB0cmFjZXIuIFRvIHJlbW92ZSBhbGwgdHJhY2VycyBmcm9tIHRyYWNpbmcKKwkJc2ltcGx5IGVjaG8gIm5vbmUiIGludG8gY3VycmVudF90cmFjZXIuCisKKworRXhhbXBsZXMgb2YgdXNpbmcgdGhlIHRyYWNlcgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitIZXJlIGFyZSB0eXBpY2FsIGV4YW1wbGVzIG9mIHVzaW5nIHRoZSB0cmFjZXJzIHdpdGggb25seSBjb250cm9sbGluZwordGhlbSB3aXRoIHRoZSBkZWJ1Z2ZzIGludGVyZmFjZSAod2l0aG91dCB1c2luZyBhbnkgdXNlci1sYW5kIHV0aWxpdGllcykuCisKK091dHB1dCBmb3JtYXQ6CistLS0tLS0tLS0tLS0tLQorCitIZXJlJ3MgYW4gZXhhbXBsZSBvZiB0aGUgb3V0cHV0IGZvcm1hdCBvZiB0aGUgZmlsZSAidHJhY2UiCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0KKyMgdHJhY2VyOiBmdHJhY2UKKyMKKyMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OCisjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8CisgICAgICAgICAgICBiYXNoLTQyNTEgIFswMV0gMTAxNTIuNTgzODU0OiBwYXRoX3B1dCA8LXBhdGhfd2FsaworICAgICAgICAgICAgYmFzaC00MjUxICBbMDFdIDEwMTUyLjU4Mzg1NTogZHB1dCA8LXBhdGhfcHV0CisgICAgICAgICAgICBiYXNoLTQyNTEgIFswMV0gMTAxNTIuNTgzODU1OiBfYXRvbWljX2RlY19hbmRfbG9jayA8LWRwdXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0KKworQSBoZWFkZXIgaXMgcHJpbnRlZCB3aXRoIHRoZSB0cmFjZSB0aGF0IGlzIHJlcHJlc2VudGVkLiBJbiB0aGlzIGNhc2UKK3RoZSB0cmFjZXIgaXMgImZ0cmFjZSIuIFRoZW4gYSBoZWFkZXIgc2hvd2luZyB0aGUgZm9ybWF0LiBUYXNrIG5hbWUKKyJiYXNoIiwgdGhlIHRhc2sgUElEICI0MjUxIiwgdGhlIENQVSB0aGF0IGl0IHdhcyBydW5uaW5nIG9uCisiMDEiLCB0aGUgdGltZXN0YW1wIGluIDxzZWNzPi48dXNlY3M+IGZvcm1hdCwgdGhlIGZ1bmN0aW9uIG5hbWUgdGhhdCB3YXMKK3RyYWNlZCAicGF0aF9wdXQiIGFuZCB0aGUgcGFyZW50IGZ1bmN0aW9uIHRoYXQgY2FsbGVkIHRoaXMgZnVuY3Rpb24KKyJwYXRoX3dhbGsiLgorCitUaGUgc2NoZWRfc3dpdGNoIHRyYWNlciBhbHNvIGluY2x1ZGVzIHRyYWNpbmcgb2YgdGFzayB3YWtlIHVwcyBhbmQKK2NvbnRleHQgc3dpdGNoZXMuCisKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UiAgICsgIDI5MTY6MTE1OlMKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UiAgICsgICAgMTA6MTE1OlMKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UiA9PT4gICAgMTA6MTE1OlIKKyAgICAgICAgZXZlbnRzLzEtMTAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAxMDoxMTU6UyA9PT4gIDI5MTY6MTE1OlIKKyAgICAga29uZGVtYW5kLzEtMjkxNiAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgMjkxNjoxMTU6UyA9PT4gICAgIDc6MTE1OlIKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UyA9PT4gICAgIDA6MTQwOlIKKworV2FrZSB1cHMgYXJlIHJlcHJlc2VudGVkIGJ5IGEgIisiIGFuZCB0aGUgY29udGV4dCBzd2l0Y2hlcyBzaG93CisiPT0+Ii4gIFRoZSBmb3JtYXQgaXM6CisKKyBDb250ZXh0IHN3aXRjaGVzOgorCisgICAgICAgUHJldmlvdXMgdGFzayAgICAgICAgICAgICAgTmV4dCBUYXNrCisKKyAgPHBpZD46PHByaW8+OjxzdGF0ZT4gID09PiAgPHBpZD46PHByaW8+OjxzdGF0ZT4KKworIFdha2UgdXBzOgorCisgICAgICAgQ3VycmVudCB0YXNrICAgICAgICAgICAgICAgVGFzayB3YWtpbmcgdXAKKworICA8cGlkPjo8cHJpbz46PHN0YXRlPiAgICArICA8cGlkPjo8cHJpbz46PHN0YXRlPgorCitUaGUgcHJpbyBpcyB0aGUgaW50ZXJuYWwga2VybmVsIHByaW9yaXR5LCB3aGljaCBpcyBpbnZlcnNlIHRvIHRoZQorcHJpb3JpdHkgdGhhdCBpcyB1c3VhbGx5IGRpc3BsYXllZCBieSB1c2VyLXNwYWNlIHRvb2xzLiBaZXJvIHJlcHJlc2VudHMKK3RoZSBoaWdoZXN0IHByaW9yaXR5ICg5OSkuIFByaW8gMTAwIHN0YXJ0cyB0aGUgIm5pY2UiIHByaW9yaXRpZXMgd2l0aAorMTAwIGJlaW5nIGVxdWFsIHRvIG5pY2UgLTIwIGFuZCAxMzkgYmVpbmcgbmljZSAxOS4gVGhlIHByaW8gIjE0MCIgaXMKK3Jlc2VydmVkIGZvciB0aGUgaWRsZSB0YXNrIHdoaWNoIGlzIHRoZSBsb3dlc3QgcHJpb3JpdHkgdGhyZWFkIChwaWQgMCkuCisKKworTGF0ZW5jeSB0cmFjZSBmb3JtYXQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0ZvciB0cmFjZXMgdGhhdCBkaXNwbGF5IGxhdGVuY3kgdGltZXMsIHRoZSBsYXRlbmN5X3RyYWNlIGZpbGUgZ2l2ZXMKK2EgYml0IG1vcmUgaW5mb3JtYXRpb24gdG8gc2VlIHdoeSBhIGxhdGVuY3kgaGFwcGVuZWQuIEhlcmUncyBhIHR5cGljYWwKK3RyYWNlLgorCisjIHRyYWNlcjogaXJxc29mZgorIworaXJxc29mZiBsYXRlbmN5IHRyYWNlIHYxLjEuNSBvbiAyLjYuMjYtcmM4CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxhdGVuY3k6IDk3IHVzLCAjMy8zLCBDUFUjMCB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IHN3YXBwZXItMCAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IGFwaWNfdGltZXJfaW50ZXJydXB0CisgPT4gZW5kZWQgYXQ6ICAgZG9fc29mdGlycQorCisjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjCisjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZgorIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkCisjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEKKyMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGgKKyMgICAgICAgICAgICAgIHx8fHwgLworIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5CisjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyCisjICAgICBcICAgLyAgICB8fHx8fCAgIFwgICB8ICAgLworICA8aWRsZT4tMCAgICAgMGQuLjEgICAgMHVzKzogdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rIChhcGljX3RpbWVyX2ludGVycnVwdCkKKyAgPGlkbGU+LTAgICAgIDBkLnMuICAgOTd1cyA6IF9fZG9fc29mdGlycSAoZG9fc29mdGlycSkKKyAgPGlkbGU+LTAgICAgIDBkLnMxICAgOTh1cyA6IHRyYWNlX2hhcmRpcnFzX29uIChkb19zb2Z0aXJxKQorCisKK3ZpbTpmdD1oZWxwCisKKworVGhpcyBzaG93cyB0aGF0IHRoZSBjdXJyZW50IHRyYWNlciBpcyAiaXJxc29mZiIgdHJhY2luZyB0aGUgdGltZQoraW50ZXJydXB0cyBhcmUgZGlzYWJsZWQuIEl0IGdpdmVzIHRoZSB0cmFjZSB2ZXJzaW9uIGFuZCB0aGUga2VybmVsCit0aGlzIHdhcyBleGVjdXRlZCBvbiAoMi42LjI2LXJjOCkuIFRoZW4gaXQgZGlzcGxheXMgdGhlIG1heCBsYXRlbmN5CitpbiBtaWNyb3NlY3MgKDk3IHVzKS4gVGhlIG51bWJlciBvZiB0cmFjZSBlbnRyaWVzIGRpc3BsYXllZAorYnkgdGhlIHRvdGFsIG51bWJlciByZWNvcmRlZCAoYm90aCBhcmUgdGhyZWU6ICMzLzMpLiBUaGUgdHlwZSBvZgorcHJlZW1wdGlvbiB0aGF0IHdhcyB1c2VkIChQUkVFTVBUKS4gVlAsIEtQLCBTUCwgYW5kIEhQIGFyZSBhbHdheXMgemVybworYW5kIHJlc2VydmVkIGZvciBsYXRlciB1c2UuICNQIGlzIHRoZSBudW1iZXIgb2Ygb25saW5lIENQVVMgKCNQOjIpLgorCitUaGUgdGFzayBpcyB0aGUgcHJvY2VzcyB0aGF0IHdhcyBydW5uaW5nIHdoZW4gdGhlIGxhdGVuY3kgaGFwcGVuZWQuCisoc3dhcHBlciBwaWQ6IDApLgorCitUaGUgc3RhcnQgYW5kIHN0b3AgdGhhdCBjYXVzZWQgdGhlIGxhdGVuY2llczoKKworICBhcGljX3RpbWVyX2ludGVycnVwdCBpcyB3aGVyZSB0aGUgaW50ZXJydXB0cyB3ZXJlIGRpc2FibGVkLgorICBkb19zb2Z0aXJxIGlzIHdoZXJlIHRoZXkgd2VyZSBlbmFibGVkIGFnYWluLgorCitUaGUgbmV4dCBsaW5lcyBhZnRlciB0aGUgaGVhZGVyIGFyZSB0aGUgdHJhY2UgaXRzZWxmLiBUaGUgaGVhZGVyCitleHBsYWlucyB3aGljaCBpcyB3aGljaC4KKworICBjbWQ6IFRoZSBuYW1lIG9mIHRoZSBwcm9jZXNzIGluIHRoZSB0cmFjZS4KKworICBwaWQ6IFRoZSBQSUQgb2YgdGhhdCBwcm9jZXNzLgorCisgIENQVSM6IFRoZSBDUFUgdGhhdCB0aGUgcHJvY2VzcyB3YXMgcnVubmluZyBvbi4KKworICBpcnFzLW9mZjogJ2QnIGludGVycnVwdHMgYXJlIGRpc2FibGVkLiAnLicgb3RoZXJ3aXNlLgorCisgIG5lZWQtcmVzY2hlZDogJ04nIHRhc2sgbmVlZF9yZXNjaGVkIGlzIHNldCwgJy4nIG90aGVyd2lzZS4KKworICBoYXJkaXJxL3NvZnRpcnE6CisJJ0gnIC0gaGFyZCBpcnEgaGFwcGVuZWQgaW5zaWRlIGEgc29mdGlycS4KKwknaCcgLSBoYXJkIGlycSBpcyBydW5uaW5nCisJJ3MnIC0gc29mdCBpcnEgaXMgcnVubmluZworCScuJyAtIG5vcm1hbCBjb250ZXh0LgorCisgIHByZWVtcHQtZGVwdGg6IFRoZSBsZXZlbCBvZiBwcmVlbXB0X2Rpc2FibGVkCisKK1RoZSBhYm92ZSBpcyBtb3N0bHkgbWVhbmluZ2Z1bCBmb3Iga2VybmVsIGRldmVsb3BlcnMuCisKKyAgdGltZTogVGhpcyBkaWZmZXJzIGZyb20gdGhlIHRyYWNlIGZpbGUgb3V0cHV0LiBUaGUgdHJhY2UgZmlsZSBvdXRwdXQKKwlpbmNsdWRlZCBhbiBhYnNvbHV0ZSB0aW1lc3RhbXAuIFRoZSB0aW1lc3RhbXAgdXNlZCBieSB0aGUKKwlsYXRlbmN5X3RyYWNlIGZpbGUgaXMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSB0cmFjZS4KKworICBkZWxheTogVGhpcyBpcyBqdXN0IHRvIGhlbHAgY2F0Y2ggeW91ciBleWUgYSBiaXQgYmV0dGVyLiBBbmQKKwluZWVkcyB0byBiZSBmaXhlZCB0byBiZSBvbmx5IHJlbGF0aXZlIHRvIHRoZSBzYW1lIENQVS4KKwlUaGUgbWFya3MgYXJlIGRldGVybWluZWQgYnkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzCisJY3VycmVudCB0cmFjZSBhbmQgdGhlIG5leHQgdHJhY2UuCisJICchJyAtIGdyZWF0ZXIgdGhhbiBwcmVlbXB0X21hcmtfdGhyZXNoIChkZWZhdWx0IDEwMCkKKwkgJysnIC0gZ3JlYXRlciB0aGFuIDEgbWljcm9zZWNvbmQKKwkgJyAnIC0gbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEgbWljcm9zZWNvbmQuCisKKyAgVGhlIHJlc3QgaXMgdGhlIHNhbWUgYXMgdGhlICd0cmFjZScgZmlsZS4KKworCitpdGVyX2N0cmwKKy0tLS0tLS0tLQorCitUaGUgaXRlcl9jdHJsIGZpbGUgaXMgdXNlZCB0byBjb250cm9sIHdoYXQgZ2V0cyBwcmludGVkIGluIHRoZSB0cmFjZQorb3V0cHV0LiBUbyBzZWUgd2hhdCBpcyBhdmFpbGFibGUsIHNpbXBseSBjYXQgdGhlIGZpbGU6CisKKyAgY2F0IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybAorICBwcmludC1wYXJlbnQgbm9zeW0tb2Zmc2V0IG5vc3ltLWFkZHIgbm92ZXJib3NlIG5vcmF3IG5vaGV4IG5vYmluIFwKKyBub2Jsb2NrIG5vc3RhY2t0cmFjZSBub3NjaGVkLXRyZWUKKworVG8gZGlzYWJsZSBvbmUgb2YgdGhlIG9wdGlvbnMsIGVjaG8gaW4gdGhlIG9wdGlvbiBwcmVwZW5kZWQgd2l0aCAibm8iLgorCisgIGVjaG8gbm9wcmludC1wYXJlbnQgPiAvZGVidWcvdHJhY2luZy9pdGVyX2N0cmwKKworVG8gZW5hYmxlIGFuIG9wdGlvbiwgbGVhdmUgb2ZmIHRoZSAibm8iLgorCisgIGVjaG8gc3ltLW9mZnNldCA+IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybAorCitIZXJlIGFyZSB0aGUgYXZhaWxhYmxlIG9wdGlvbnM6CisKKyAgcHJpbnQtcGFyZW50IC0gT24gZnVuY3Rpb24gdHJhY2VzLCBkaXNwbGF5IHRoZSBjYWxsaW5nIGZ1bmN0aW9uCisJCWFzIHdlbGwgYXMgdGhlIGZ1bmN0aW9uIGJlaW5nIHRyYWNlZC4KKworICBwcmludC1wYXJlbnQ6CisgICBiYXNoLTQwMDAgIFswMV0gIDE0NzcuNjA2Njk0OiBzaW1wbGVfc3RydG91bCA8LXN0cmljdF9zdHJ0b3VsCisKKyAgbm9wcmludC1wYXJlbnQ6CisgICBiYXNoLTQwMDAgIFswMV0gIDE0NzcuNjA2Njk0OiBzaW1wbGVfc3RydG91bAorCisKKyAgc3ltLW9mZnNldCAtIERpc3BsYXkgbm90IG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUsIGJ1dCBhbHNvIHRoZSBvZmZzZXQKKwkJaW4gdGhlIGZ1bmN0aW9uLiBGb3IgZXhhbXBsZSwgaW5zdGVhZCBvZiBzZWVpbmcganVzdAorCQkia3RpbWVfZ2V0IiwgeW91IHdpbGwgc2VlICJrdGltZV9nZXQrMHhiLzB4MjAiLgorCisgIHN5bS1vZmZzZXQ6CisgICBiYXNoLTQwMDAgIFswMV0gIDE0NzcuNjA2Njk0OiBzaW1wbGVfc3RydG91bCsweDYvMHhhMAorCisgIHN5bS1hZGRyIC0gdGhpcyB3aWxsIGFsc28gZGlzcGxheSB0aGUgZnVuY3Rpb24gYWRkcmVzcyBhcyB3ZWxsIGFzCisJCXRoZSBmdW5jdGlvbiBuYW1lLgorCisgIHN5bS1hZGRyOgorICAgYmFzaC00MDAwICBbMDFdICAxNDc3LjYwNjY5NDogc2ltcGxlX3N0cnRvdWwgPGMwMzM5MzQ2PgorCisgIHZlcmJvc2UgLSBUaGlzIGRlYWxzIHdpdGggdGhlIGxhdGVuY3lfdHJhY2UgZmlsZS4KKworICAgIGJhc2ggIDQwMDAgMSAwIDAwMDAwMDAwIDAwMDEwYTk1IFs1ODEyN2QyNl0gMTcyMC40MTVtcyBcCisgICAgKCswLjAwMG1zKTogc2ltcGxlX3N0cnRvdWwgKHN0cmljdF9zdHJ0b3VsKQorCisgIHJhdyAtIFRoaXMgd2lsbCBkaXNwbGF5IHJhdyBudW1iZXJzLiBUaGlzIG9wdGlvbiBpcyBiZXN0IGZvciB1c2Ugd2l0aAorCXVzZXIgYXBwbGljYXRpb25zIHRoYXQgY2FuIHRyYW5zbGF0ZSB0aGUgcmF3IG51bWJlcnMgYmV0dGVyIHRoYW4KKwloYXZpbmcgaXQgZG9uZSBpbiB0aGUga2VybmVsLgorCisgIGhleCAtIFNpbWlsYXIgdG8gcmF3LCBidXQgdGhlIG51bWJlcnMgd2lsbCBiZSBpbiBhIGhleGFkZWNpbWFsIGZvcm1hdC4KKworICBiaW4gLSBUaGlzIHdpbGwgcHJpbnQgb3V0IHRoZSBmb3JtYXRzIGluIHJhdyBiaW5hcnkuCisKKyAgYmxvY2sgLSBUQkQgKG5lZWRzIHVwZGF0ZSkKKworICBzdGFja3RyYWNlIC0gVGhpcyBpcyBvbmUgb2YgdGhlIG9wdGlvbnMgdGhhdCBjaGFuZ2VzIHRoZSB0cmFjZSBpdHNlbGYuCisJCVdoZW4gYSB0cmFjZSBpcyByZWNvcmRlZCwgc28gaXMgdGhlIHN0YWNrIG9mIGZ1bmN0aW9ucy4KKwkJVGhpcyBhbGxvd3MgZm9yIGJhY2sgdHJhY2VzIG9mIHRyYWNlIHNpdGVzLgorCisgIHNjaGVkLXRyZWUgLSBUQkQgKGFueSB1c2Vycz8/KQorCisKK3NjaGVkX3N3aXRjaAorLS0tLS0tLS0tLS0tCisKK1RoaXMgdHJhY2VyIHNpbXBseSByZWNvcmRzIHNjaGVkdWxlIHN3aXRjaGVzLiBIZXJlJ3MgYW4gZXhhbXBsZQorb2YgaG93IHRvIHVzZSBpdC4KKworICMgZWNobyBzY2hlZF9zd2l0Y2ggPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBzbGVlcCAxCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZQorCisjIHRyYWNlcjogc2NoZWRfc3dpdGNoCisjCisjICAgICAgICAgICBUQVNLLVBJRCAgIENQVSMgICAgVElNRVNUQU1QICBGVU5DVElPTgorIyAgICAgICAgICAgICAgfCB8ICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfAorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjI4MTogICAzOTk3OjEyMDpSICAgKyAgNDA1NToxMjA6UgorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjI4NDogICAzOTk3OjEyMDpSID09PiAgNDA1NToxMjA6UgorICAgICAgICAgICBzbGVlcC00MDU1ICBbMDFdICAgMjQwLjEzMjM3MTogICA0MDU1OjEyMDpTID09PiAgMzk5NzoxMjA6UgorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ1NDogICAzOTk3OjEyMDpSICAgKyAgNDA1NToxMjA6UworICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ1NzogICAzOTk3OjEyMDpSID09PiAgNDA1NToxMjA6UgorICAgICAgICAgICBzbGVlcC00MDU1ICBbMDFdICAgMjQwLjEzMjQ2MDogICA0MDU1OjEyMDpEID09PiAgMzk5NzoxMjA6UgorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ2MzogICAzOTk3OjEyMDpSICAgKyAgNDA1NToxMjA6RAorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ2NTogICAzOTk3OjEyMDpSID09PiAgNDA1NToxMjA6UgorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU4OTogICAgICAwOjE0MDpSICAgKyAgICAgNDoxMTU6UworICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU5MTogICAgICAwOjE0MDpSID09PiAgICAgNDoxMTU6UgorICAgICBrc29mdGlycWQvMC00ICAgICBbMDBdICAgMjQwLjEzMjU5NTogICAgICA0OjExNTpTID09PiAgICAgMDoxNDA6UgorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU5ODogICAgICAwOjE0MDpSICAgKyAgICAgNDoxMTU6UworICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU5OTogICAgICAwOjE0MDpSID09PiAgICAgNDoxMTU6UgorICAgICBrc29mdGlycWQvMC00ICAgICBbMDBdICAgMjQwLjEzMjYwMzogICAgICA0OjExNTpTID09PiAgICAgMDoxNDA6UgorICAgICAgICAgICBzbGVlcC00MDU1ICBbMDFdICAgMjQwLjEzMzA1ODogICA0MDU1OjEyMDpTID09PiAgMzk5NzoxMjA6UgorIFsuLi5dCisKKworQXMgd2UgaGF2ZSBkaXNjdXNzZWQgcHJldmlvdXNseSBhYm91dCB0aGlzIGZvcm1hdCwgdGhlIGhlYWRlciBzaG93cwordGhlIG5hbWUgb2YgdGhlIHRyYWNlIGFuZCBwb2ludHMgdG8gdGhlIG9wdGlvbnMuIFRoZSAiRlVOQ1RJT04iCitpcyBhIG1pc25vbWVyIHNpbmNlIGhlcmUgaXQgcmVwcmVzZW50cyB0aGUgd2FrZSB1cHMgYW5kIGNvbnRleHQKK3N3aXRjaGVzLgorCitUaGUgc2NoZWRfc3dpdGNoIG9ubHkgbGlzdHMgdGhlIHdha2UgdXBzIChyZXByZXNlbnRlZCB3aXRoICcrJykKK2FuZCBjb250ZXh0IHN3aXRjaGVzICgnPT0+Jykgd2l0aCB0aGUgcHJldmlvdXMgdGFzayBvciBjdXJyZW50CitmaXJzdCBmb2xsb3dlZCBieSB0aGUgbmV4dCB0YXNrIG9yIHRhc2sgd2FraW5nIHVwLiBUaGUgZm9ybWF0IGZvciBib3RoCitvZiB0aGVzZSBpcyBQSUQ6S0VSTkVMLVBSSU86VEFTSy1TVEFURS4gUmVtZW1iZXIgdGhhdCB0aGUgS0VSTkVMLVBSSU8KK2lzIHRoZSBpbnZlcnNlIG9mIHRoZSBhY3R1YWwgcHJpb3JpdHkgd2l0aCB6ZXJvICgwKSBiZWluZyB0aGUgaGlnaGVzdAorcHJpb3JpdHkgYW5kIHRoZSBuaWNlIHZhbHVlcyBzdGFydGluZyBhdCAxMDAgKG5pY2UgLTIwKS4gQmVsb3cgaXMKK2EgcXVpY2sgY2hhcnQgdG8gbWFwIHRoZSBrZXJuZWwgcHJpb3JpdHkgdG8gdXNlciBsYW5kIHByaW9yaXRpZXMuCisKKyAgS2VybmVsIHByaW9yaXR5OiAwIHRvIDk5ICAgID09PiB1c2VyIFJUIHByaW9yaXR5IDk5IHRvIDAKKyAgS2VybmVsIHByaW9yaXR5OiAxMDAgdG8gMTM5ID09PiB1c2VyIG5pY2UgLTIwIHRvIDE5CisgIEtlcm5lbCBwcmlvcml0eTogMTQwICAgICAgICA9PT4gaWRsZSB0YXNrIHByaW9yaXR5CisKK1RoZSB0YXNrIHN0YXRlcyBhcmU6CisKKyBSIC0gcnVubmluZyA6IHdhbnRzIHRvIHJ1biwgbWF5IG5vdCBhY3R1YWxseSBiZSBydW5uaW5nCisgUyAtIHNsZWVwICAgOiBwcm9jZXNzIGlzIHdhaXRpbmcgdG8gYmUgd29rZW4gdXAgKGhhbmRsZXMgc2lnbmFscykKKyBEIC0gZGVlcCBzbGVlcCA6IHByb2Nlc3MgbXVzdCBiZSB3b2tlbiB1cCAoaWdub3JlcyBzaWduYWxzKQorIFQgLSBzdG9wcGVkIDogcHJvY2VzcyBzdXNwZW5kZWQKKyB0IC0gdHJhY2VkICA6IHByb2Nlc3MgaXMgYmVpbmcgdHJhY2VkICh3aXRoIHNvbWV0aGluZyBsaWtlIGdkYikKKyBaIC0gem9tYmllICA6IHByb2Nlc3Mgd2FpdGluZyB0byBiZSBjbGVhbmVkIHVwCisgWCAtIHVua25vd24KKworCitmdHJhY2VfZW5hYmxlZAorLS0tLS0tLS0tLS0tLS0KKworVGhlIGZvbGxvd2luZyB0cmFjZXJzIGdpdmUgZGlmZmVyZW50IG91dHB1dCBkZXBlbmRpbmcgb24gd2hldGhlcgorb3Igbm90IHRoZSBzeXNjdGwgZnRyYWNlX2VuYWJsZWQgaXMgc2V0LiBUbyBzZXQgZnRyYWNlX2VuYWJsZWQsCitvbmUgY2FuIGVpdGhlciB1c2UgdGhlIHN5c2N0bCBmdW5jdGlvbiBvciBzZXQgaXQgdmlhIHRoZSBwcm9jCitmaWxlIHN5c3RlbSBpbnRlcmZhY2UuCisKKyAgc3lzY3RsIGtlcm5lbC5mdHJhY2VfZW5hYmxlZD0xCisKKyBvcgorCisgIGVjaG8gMSA+IC9wcm9jL3N5cy9rZXJuZWwvZnRyYWNlX2VuYWJsZWQKKworVG8gZGlzYWJsZSBmdHJhY2VfZW5hYmxlZCBzaW1wbHkgcmVwbGFjZSB0aGUgJzEnIHdpdGggJzAnIGluCit0aGUgYWJvdmUgY29tbWFuZHMuCisKK1doZW4gZnRyYWNlX2VuYWJsZWQgaXMgc2V0IHRoZSB0cmFjZXJzIHdpbGwgYWxzbyByZWNvcmQgdGhlIGZ1bmN0aW9ucwordGhhdCBhcmUgd2l0aGluIHRoZSB0cmFjZS4gVGhlIGRlc2NyaXB0aW9ucyBvZiB0aGUgdHJhY2Vycword2lsbCBhbHNvIHNob3cgYW4gZXhhbXBsZSB3aXRoIGZ0cmFjZSBlbmFibGVkLgorCisKK2lycXNvZmYKKy0tLS0tLS0KKworV2hlbiBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCwgdGhlIENQVSBjYW4gbm90IHJlYWN0IHRvIGFueSBvdGhlcgorZXh0ZXJuYWwgZXZlbnQgKGJlc2lkZXMgTk1JcyBhbmQgU01JcykuIFRoaXMgcHJldmVudHMgdGhlIHRpbWVyCitpbnRlcnJ1cHQgZnJvbSB0cmlnZ2VyaW5nIG9yIHRoZSBtb3VzZSBpbnRlcnJ1cHQgZnJvbSBsZXR0aW5nIHRoZQora2VybmVsIGtub3cgb2YgYSBuZXcgbW91c2UgZXZlbnQuIFRoZSByZXN1bHQgaXMgYSBsYXRlbmN5IHdpdGggdGhlCityZWFjdGlvbiB0aW1lLgorCitUaGUgaXJxc29mZiB0cmFjZXIgdHJhY2tzIHRoZSB0aW1lIGludGVycnVwdHMgYXJlIGRpc2FibGVkIHRvIHRoZSB0aW1lCit0aGV5IGFyZSByZS1lbmFibGVkLiBXaGVuIGEgbmV3IG1heGltdW0gbGF0ZW5jeSBpcyBoaXQsIGl0IHNhdmVzIG9mZgordGhlIHRyYWNlIHNvIHRoYXQgaXQgbWF5IGJlIHJldHJpZXZlZCBhdCBhIGxhdGVyIHRpbWUuIEV2ZXJ5IHRpbWUgYQorbmV3IG1heGltdW0gaW4gcmVhY2hlZCwgdGhlIG9sZCBzYXZlZCB0cmFjZSBpcyBkaXNjYXJkZWQgYW5kIHRoZSBuZXcKK3RyYWNlIGlzIHNhdmVkLgorCitUbyByZXNldCB0aGUgbWF4aW11bSwgZWNobyAwIGludG8gdHJhY2luZ19tYXhfbGF0ZW5jeS4gSGVyZSdzIGFuCitleGFtcGxlOgorCisgIyBlY2hvIGlycXNvZmYgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBscyAtbHRyCisgWy4uLl0KKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgY2F0IC9kZWJ1Zy90cmFjaW5nL2xhdGVuY3lfdHJhY2UKKyMgdHJhY2VyOiBpcnFzb2ZmCisjCitpcnFzb2ZmIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogNiB1cywgIzMvMywgQ1BVIzEgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBiYXNoLTQyNjkgKHVpZDowIG5pY2U6MCBwb2xpY3k6MCBydF9wcmlvOjApCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyA9PiBzdGFydGVkIGF0OiBjb3B5X3BhZ2VfcmFuZ2UKKyA9PiBlbmRlZCBhdDogICBjb3B5X3BhZ2VfcmFuZ2UKKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KKyAgICBiYXNoLTQyNjkgIDEuLi4xICAgIDB1cys6IF9zcGluX2xvY2sgKGNvcHlfcGFnZV9yYW5nZSkKKyAgICBiYXNoLTQyNjkgIDEuLi4xICAgIDd1cyA6IF9zcGluX3VubG9jayAoY29weV9wYWdlX3JhbmdlKQorICAgIGJhc2gtNDI2OSAgMS4uLjIgICAgN3VzIDogdHJhY2VfcHJlZW1wdF9vbiAoY29weV9wYWdlX3JhbmdlKQorCisKK3ZpbTpmdD1oZWxwCisKK0hlcmUgd2Ugc2VlIHRoYXQgdGhhdCB3ZSBoYWQgYSBsYXRlbmN5IG9mIDYgbWljcm9zZWNzICh3aGljaCBpcwordmVyeSBnb29kKS4gVGhlIHNwaW5fbG9jayBpbiBjb3B5X3BhZ2VfcmFuZ2UgZGlzYWJsZWQgaW50ZXJydXB0cy4KK1RoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIDYgYW5kIHRoZSBkaXNwbGF5ZWQgdGltZXN0YW1wIDd1cyBpcworYmVjYXVzZSB0aGUgY2xvY2sgbXVzdCBoYXZlIGluY3JlbWVudGVkIGJldHdlZW4gdGhlIHRpbWUgb2YgcmVjb3JkaW5nCit0aGUgbWF4IGxhdGVuY3kgYW5kIHJlY29yZGluZyB0aGUgZnVuY3Rpb24gdGhhdCBoYWQgdGhhdCBsYXRlbmN5LgorCitOb3RlIHRoZSBhYm92ZSBoYWQgZnRyYWNlX2VuYWJsZWQgbm90IHNldC4gSWYgd2Ugc2V0IHRoZSBmdHJhY2VfZW5hYmxlZCwKK3dlIGdldCBhIG11Y2ggbGFyZ2VyIG91dHB1dDoKKworIyB0cmFjZXI6IGlycXNvZmYKKyMKK2lycXNvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiA1MCB1cywgIzEwMS8xMDEsIENQVSMwIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogbHMtNDMzOSAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwKKyA9PiBlbmRlZCBhdDogICBfX2FsbG9jX3BhZ2VzX2ludGVybmFsCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgICBscy00MzM5ICAwLi4uMSAgICAwdXMrOiBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0IChfX2FsbG9jX3BhZ2VzX2ludGVybmFsKQorICAgICAgbHMtNDMzOSAgMGQuLjEgICAgM3VzIDogcm1xdWV1ZV9idWxrIChnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KQorICAgICAgbHMtNDMzOSAgMGQuLjEgICAgM3VzIDogX3NwaW5fbG9jayAocm1xdWV1ZV9idWxrKQorICAgICAgbHMtNDMzOSAgMGQuLjEgICAgNHVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2spCisgICAgICBscy00MzM5ICAwZC4uMiAgICA0dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDV1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICAgNXVzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgICA2dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDZ1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICAgN3VzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgICA3dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDh1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorWy4uLl0KKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDZ1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA0N3VzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgIDQ3dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDh1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA0OHVzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgIDQ5dXMgOiBfc3Bpbl91bmxvY2sgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChfc3Bpbl91bmxvY2spCisgICAgICBscy00MzM5ICAwZC4uMSAgIDUwdXMgOiBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0IChfX2FsbG9jX3BhZ2VzX2ludGVybmFsKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA1MXVzIDogdHJhY2VfaGFyZGlycXNfb24gKF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwpCisKKwordmltOmZ0PWhlbHAKKworCitIZXJlIHdlIHRyYWNlZCBhIDUwIG1pY3Jvc2Vjb25kIGxhdGVuY3kuIEJ1dCB3ZSBhbHNvIHNlZSBhbGwgdGhlCitmdW5jdGlvbnMgdGhhdCB3ZXJlIGNhbGxlZCBkdXJpbmcgdGhhdCB0aW1lLiBOb3RlIHRoYXQgYnkgZW5hYmxpbmcKK2Z1bmN0aW9uIHRyYWNpbmcsIHdlIGVuZHVyZSBhbiBhZGRlZCBvdmVyaGVhZC4gVGhpcyBvdmVyaGVhZCBtYXkKK2V4dGVuZCB0aGUgbGF0ZW5jeSB0aW1lcy4gQnV0IG5ldmVydGhlbGVzcywgdGhpcyB0cmFjZSBoYXMgcHJvdmlkZWQKK3NvbWUgdmVyeSBoZWxwZnVsIGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4KKworCitwcmVlbXB0b2ZmCistLS0tLS0tLS0tCisKK1doZW4gcHJlZW1wdGlvbiBpcyBkaXNhYmxlZCwgd2UgbWF5IGJlIGFibGUgdG8gcmVjZWl2ZSBpbnRlcnJ1cHRzIGJ1dAordGhlIHRhc2sgY2Fubm90IGJlIHByZWVtcHRlZCBhbmQgYSBoaWdoZXIgcHJpb3JpdHkgdGFzayBtdXN0IHdhaXQKK2ZvciBwcmVlbXB0aW9uIHRvIGJlIGVuYWJsZWQgYWdhaW4gYmVmb3JlIGl0IGNhbiBwcmVlbXB0IGEgbG93ZXIKK3ByaW9yaXR5IHRhc2suCisKK1RoZSBwcmVlbXB0b2ZmIHRyYWNlciB0cmFjZXMgdGhlIHBsYWNlcyB0aGF0IGRpc2FibGUgcHJlZW1wdGlvbi4KK0xpa2UgdGhlIGlycXNvZmYsIGl0IHJlY29yZHMgdGhlIG1heGltdW0gbGF0ZW5jeSB0aGF0IHByZWVtcHRpb24KK3dhcyBkaXNhYmxlZC4gVGhlIGNvbnRyb2wgb2YgcHJlZW1wdG9mZiBpcyBtdWNoIGxpa2UgdGhlIGlycXNvZmYuCisKKyAjIGVjaG8gcHJlZW1wdG9mZiA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX21heF9sYXRlbmN5CisgIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGxzIC1sdHIKKyBbLi4uXQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvbGF0ZW5jeV90cmFjZQorIyB0cmFjZXI6IHByZWVtcHRvZmYKKyMKK3ByZWVtcHRvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiAyOSB1cywgIzMvMywgQ1BVIzAgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBzc2hkLTQyNjEgKHVpZDowIG5pY2U6MCBwb2xpY3k6MCBydF9wcmlvOjApCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyA9PiBzdGFydGVkIGF0OiBkb19JUlEKKyA9PiBlbmRlZCBhdDogICBfX2RvX3NvZnRpcnEKKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KKyAgICBzc2hkLTQyNjEgIDBkLmguICAgIDB1cys6IGlycV9lbnRlciAoZG9fSVJRKQorICAgIHNzaGQtNDI2MSAgMGQucy4gICAyOXVzIDogX2xvY2FsX2JoX2VuYWJsZSAoX19kb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQuczEgICAzMHVzIDogdHJhY2VfcHJlZW1wdF9vbiAoX19kb19zb2Z0aXJxKQorCisKK3ZpbTpmdD1oZWxwCisKK1RoaXMgaGFzIHNvbWUgbW9yZSBjaGFuZ2VzLiBQcmVlbXB0aW9uIHdhcyBkaXNhYmxlZCB3aGVuIGFuIGludGVycnVwdAorY2FtZSBpbiAobm90aWNlIHRoZSAnaCcpLCBhbmQgd2FzIGVuYWJsZWQgd2hpbGUgZG9pbmcgYSBzb2Z0aXJxLgorKG5vdGljZSB0aGUgJ3MnKS4gQnV0IHdlIGFsc28gc2VlIHRoYXQgaW50ZXJydXB0cyBoYXZlIGJlZW4gZGlzYWJsZWQKK3doZW4gZW50ZXJpbmcgdGhlIHByZWVtcHQgb2ZmIHNlY3Rpb24gYW5kIGxlYXZpbmcgaXQgKHRoZSAnZCcpLgorV2UgZG8gbm90IGtub3cgaWYgaW50ZXJydXB0cyB3ZXJlIGVuYWJsZWQgaW4gdGhlIG1lYW4gdGltZS4KKworIyB0cmFjZXI6IHByZWVtcHRvZmYKKyMKK3ByZWVtcHRvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiA2MyB1cywgIzg3Lzg3LCBDUFUjMCB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IHNzaGQtNDI2MSAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IHJlbW92ZV93YWl0X3F1ZXVlCisgPT4gZW5kZWQgYXQ6ICAgX19kb19zb2Z0aXJxCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgc3NoZC00MjYxICAwZC4uMSAgICAwdXMgOiBfc3Bpbl9sb2NrX2lycXNhdmUgKHJlbW92ZV93YWl0X3F1ZXVlKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMXVzIDogX3NwaW5fdW5sb2NrX2lycXJlc3RvcmUgKHJlbW92ZV93YWl0X3F1ZXVlKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMnVzIDogZG9fSVJRIChjb21tb25faW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMnVzIDogaXJxX2VudGVyIChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC4uMSAgICAydXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgM3VzIDogYWRkX3ByZWVtcHRfY291bnQgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgIDN1cyA6IGlkbGVfY3B1IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5oLiAgICA0dXMgOiBoYW5kbGVfZmFzdGVvaV9pcnEgKGRvX0lSUSkKK1suLi5dCisgICAgc3NoZC00MjYxICAwZC5oLiAgIDEydXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX3NwaW5fbG9jaykKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMTJ1cyA6IGFja19pb2FwaWNfcXVpcmtfaXJxIChoYW5kbGVfZmFzdGVvaV9pcnEpCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDEzdXMgOiBtb3ZlX25hdGl2ZV9pcnEgKGFja19pb2FwaWNfcXVpcmtfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAxM3VzIDogX3NwaW5fdW5sb2NrIChoYW5kbGVfZmFzdGVvaV9pcnEpCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDE0dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX3NwaW5fdW5sb2NrKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAxNHVzIDogaXJxX2V4aXQgKGRvX0lSUSkKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMTV1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChpcnFfZXhpdCkKKyAgICBzc2hkLTQyNjEgIDBkLi4yICAgMTV1cyA6IGRvX3NvZnRpcnEgKGlycV9leGl0KQorICAgIHNzaGQtNDI2MSAgMGQuLi4gICAxNXVzIDogX19kb19zb2Z0aXJxIChkb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQuLi4gICAxNnVzIDogX19sb2NhbF9iaF9kaXNhYmxlIChfX2RvX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC4uLiAgIDE2dXMrOiBhZGRfcHJlZW1wdF9jb3VudCAoX19sb2NhbF9iaF9kaXNhYmxlKQorICAgIHNzaGQtNDI2MSAgMGQuczQgICAyMHVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9fbG9jYWxfYmhfZGlzYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM0ICAgMjF1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChsb2NhbF9iaF9lbmFibGUpCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDIxdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLnM2ICAgNDF1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNiAgIDQydXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlKQorICAgIHNzaGQtNDI2MSAgMGQuczcgICA0MnVzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM1ICAgNDN1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDQzdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlX2lwKQorICAgIHNzaGQtNDI2MSAgMGQuczYgICA0NHVzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZV9pcCkKKyAgICBzc2hkLTQyNjEgIDBkLnM1ICAgNDR1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDQ1dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLnMuICAgNjN1cyA6IF9sb2NhbF9iaF9lbmFibGUgKF9fZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLnMxICAgNjR1cyA6IHRyYWNlX3ByZWVtcHRfb24gKF9fZG9fc29mdGlycSkKKworCitUaGUgYWJvdmUgaXMgYW4gZXhhbXBsZSBvZiB0aGUgcHJlZW1wdG9mZiB0cmFjZSB3aXRoIGZ0cmFjZV9lbmFibGVkCitzZXQuIEhlcmUgd2Ugc2VlIHRoYXQgaW50ZXJydXB0cyB3ZXJlIGRpc2FibGVkIHRoZSBlbnRpcmUgdGltZS4KK1RoZSBpcnFfZW50ZXIgY29kZSBsZXRzIHVzIGtub3cgdGhhdCB3ZSBlbnRlcmVkIGFuIGludGVycnVwdCAnaCcuCitCZWZvcmUgdGhhdCwgdGhlIGZ1bmN0aW9ucyBiZWluZyB0cmFjZWQgc3RpbGwgc2hvdyB0aGF0IGl0IGlzIG5vdAoraW4gYW4gaW50ZXJydXB0LCBidXQgd2UgY2FuIHNlZSBieSB0aGUgZnVuY3Rpb25zIHRoZW1zZWx2ZXMgdGhhdAordGhpcyBpcyBub3QgdGhlIGNhc2UuCisKK05vdGljZSB0aGF0IHRoZSBfX2RvX3NvZnRpcnEgd2hlbiBjYWxsZWQgZG9lc24ndCBoYXZlIGEgcHJlZW1wdF9jb3VudC4KK0l0IG1heSBzZWVtIHRoYXQgd2UgbWlzc2VkIGEgcHJlZW1wdCBlbmFibGVkLiBXaGF0IHJlYWxseSBoYXBwZW5lZAoraXMgdGhhdCB0aGUgcHJlZW1wdCBjb3VudCBpcyBoZWxkIG9uIHRoZSB0aHJlYWRzIHN0YWNrIGFuZCB3ZQorc3dpdGNoZWQgdG8gdGhlIHNvZnRpcnEgc3RhY2sgKDRLIHN0YWNrcyBpbiBlZmZlY3QpLiBUaGUgY29kZQorZG9lcyBub3QgY29weSB0aGUgcHJlZW1wdCBjb3VudCwgYnV0IGJlY2F1c2UgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsCit3ZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGl0LiBIYXZpbmcgYSB0cmFjZXIgbGlrZSB0aGlzIGlzIGdvb2QKK3RvIGxldCBwZW9wbGUga25vdyB3aGF0IHJlYWxseSBoYXBwZW5zIGluc2lkZSB0aGUga2VybmVsLgorCisKK3ByZWVtcHRpcnFzb2ZmCistLS0tLS0tLS0tLS0tLQorCitLbm93aW5nIHRoZSBsb2NhdGlvbnMgdGhhdCBoYXZlIGludGVycnVwdHMgZGlzYWJsZWQgb3IgcHJlZW1wdGlvbgorZGlzYWJsZWQgZm9yIHRoZSBsb25nZXN0IHRpbWVzIGlzIGhlbHBmdWwuIEJ1dCBzb21ldGltZXMgd2Ugd291bGQKK2xpa2UgdG8ga25vdyB3aGVuIGVpdGhlciBwcmVlbXB0aW9uIGFuZC9vciBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZC4KKworVGhlIGZvbGxvd2luZyBjb2RlOgorCisgICAgbG9jYWxfaXJxX2Rpc2FibGUoKTsKKyAgICBjYWxsX2Z1bmN0aW9uX3dpdGhfaXJxc19vZmYoKTsKKyAgICBwcmVlbXB0X2Rpc2FibGUoKTsKKyAgICBjYWxsX2Z1bmN0aW9uX3dpdGhfaXJxc19hbmRfcHJlZW1wdGlvbl9vZmYoKTsKKyAgICBsb2NhbF9pcnFfZW5hYmxlKCk7CisgICAgY2FsbF9mdW5jdGlvbl93aXRoX3ByZWVtcHRpb25fb2ZmKCk7CisgICAgcHJlZW1wdF9lbmFibGUoKTsKKworVGhlIGlycXNvZmYgdHJhY2VyIHdpbGwgcmVjb3JkIHRoZSB0b3RhbCBsZW5ndGggb2YKK2NhbGxfZnVuY3Rpb25fd2l0aF9pcnFzX29mZigpIGFuZAorY2FsbF9mdW5jdGlvbl93aXRoX2lycXNfYW5kX3ByZWVtcHRpb25fb2ZmKCkuCisKK1RoZSBwcmVlbXB0b2ZmIHRyYWNlciB3aWxsIHJlY29yZCB0aGUgdG90YWwgbGVuZ3RoIG9mCitjYWxsX2Z1bmN0aW9uX3dpdGhfaXJxc19hbmRfcHJlZW1wdGlvbl9vZmYoKSBhbmQKK2NhbGxfZnVuY3Rpb25fd2l0aF9wcmVlbXB0aW9uX29mZigpLgorCitCdXQgbmVpdGhlciB3aWxsIHRyYWNlIHRoZSB0aW1lIHRoYXQgaW50ZXJydXB0cyBhbmQvb3IgcHJlZW1wdGlvbgoraXMgZGlzYWJsZWQuIFRoaXMgdG90YWwgdGltZSBpcyB0aGUgdGltZSB0aGF0IHdlIGNhbiBub3Qgc2NoZWR1bGUuCitUbyByZWNvcmQgdGhpcyB0aW1lLCB1c2UgdGhlIHByZWVtcHRpcnFzb2ZmIHRyYWNlci4KKworQWdhaW4sIHVzaW5nIHRoaXMgdHJhY2UgaXMgbXVjaCBsaWtlIHRoZSBpcnFzb2ZmIGFuZCBwcmVlbXB0b2ZmIHRyYWNlcnMuCisKKyAjIGVjaG8gcHJlZW1wdGlycXNvZmYgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBscyAtbHRyCisgWy4uLl0KKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgY2F0IC9kZWJ1Zy90cmFjaW5nL2xhdGVuY3lfdHJhY2UKKyMgdHJhY2VyOiBwcmVlbXB0aXJxc29mZgorIworcHJlZW1wdGlycXNvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiAyOTMgdXMsICMzLzMsIENQVSMwIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogbHMtNDg2MCAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IGFwaWNfdGltZXJfaW50ZXJydXB0CisgPT4gZW5kZWQgYXQ6ICAgX19kb19zb2Z0aXJxCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgICBscy00ODYwICAwZC4uLiAgICAwdXMhOiB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmsgKGFwaWNfdGltZXJfaW50ZXJydXB0KQorICAgICAgbHMtNDg2MCAgMGQucy4gIDI5NHVzIDogX2xvY2FsX2JoX2VuYWJsZSAoX19kb19zb2Z0aXJxKQorICAgICAgbHMtNDg2MCAgMGQuczEgIDI5NHVzIDogdHJhY2VfcHJlZW1wdF9vbiAoX19kb19zb2Z0aXJxKQorCisKK3ZpbTpmdD1oZWxwCisKKworVGhlIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuayBpcyBjYWxsZWQgZnJvbSBhc3NlbWJseSBvbiB4ODYgd2hlbgoraW50ZXJydXB0cyBhcmUgZGlzYWJsZWQgaW4gdGhlIGFzc2VtYmx5IGNvZGUuIFdpdGhvdXQgdGhlIGZ1bmN0aW9uCit0cmFjaW5nLCB3ZSBkb24ndCBrbm93IGlmIGludGVycnVwdHMgd2VyZSBlbmFibGVkIHdpdGhpbiB0aGUgcHJlZW1wdGlvbgorcG9pbnRzLiBXZSBkbyBzZWUgdGhhdCBpdCBzdGFydGVkIHdpdGggcHJlZW1wdGlvbiBlbmFibGVkLgorCitIZXJlIGlzIGEgdHJhY2Ugd2l0aCBmdHJhY2VfZW5hYmxlZCBzZXQ6CisKKworIyB0cmFjZXI6IHByZWVtcHRpcnFzb2ZmCisjCitwcmVlbXB0aXJxc29mZiBsYXRlbmN5IHRyYWNlIHYxLjEuNSBvbiAyLjYuMjYtcmM4CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxhdGVuY3k6IDEwNSB1cywgIzE4My8xODMsIENQVSMwIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogc3NoZC00MjYxICh1aWQ6MCBuaWNlOjAgcG9saWN5OjAgcnRfcHJpbzowKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgPT4gc3RhcnRlZCBhdDogd3JpdGVfY2hhbgorID0+IGVuZGVkIGF0OiAgIF9fZG9fc29mdGlycQorCisjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjCisjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZgorIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkCisjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEKKyMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGgKKyMgICAgICAgICAgICAgIHx8fHwgLworIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5CisjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyCisjICAgICBcICAgLyAgICB8fHx8fCAgIFwgICB8ICAgLworICAgICAgbHMtNDQ3MyAgMC5OLi4gICAgMHVzIDogcHJlZW1wdF9zY2hlZHVsZSAod3JpdGVfY2hhbikKKyAgICAgIGxzLTQ0NzMgIDBkTi4xICAgIDF1cyA6IF9zcGluX2xvY2sgKHNjaGVkdWxlKQorICAgICAgbHMtNDQ3MyAgMGROLjEgICAgMnVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2spCisgICAgICBscy00NDczICAwZC4uMiAgICAydXMgOiBwdXRfcHJldl90YXNrX2ZhaXIgKHNjaGVkdWxlKQorWy4uLl0KKyAgICAgIGxzLTQ0NzMgIDBkLi4yICAgMTN1cyA6IHNldF9ub3JtYWxpemVkX3RpbWVzcGVjIChrdGltZV9nZXRfdHMpCisgICAgICBscy00NDczICAwZC4uMiAgIDEzdXMgOiBfX3N3aXRjaF90byAoc2NoZWR1bGUpCisgICAgc3NoZC00MjYxICAwZC4uMiAgIDE0dXMgOiBmaW5pc2hfdGFza19zd2l0Y2ggKHNjaGVkdWxlKQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxNHVzIDogX3NwaW5fdW5sb2NrX2lycSAoZmluaXNoX3Rhc2tfc3dpdGNoKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAxNXVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2tfaXJxc2F2ZSkKKyAgICBzc2hkLTQyNjEgIDBkLi4yICAgMTZ1cyA6IF9zcGluX3VubG9ja19pcnFyZXN0b3JlIChocnRpY2tfc2V0KQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxNnVzIDogZG9fSVJRIChjb21tb25faW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxN3VzIDogaXJxX2VudGVyIChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC4uMiAgIDE3dXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxOHVzIDogYWRkX3ByZWVtcHRfY291bnQgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLmgyICAgMTh1cyA6IGlkbGVfY3B1IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5oLiAgIDE4dXMgOiBoYW5kbGVfZmFzdGVvaV9pcnEgKGRvX0lSUSkKKyAgICBzc2hkLTQyNjEgIDBkLmguICAgMTl1cyA6IF9zcGluX2xvY2sgKGhhbmRsZV9mYXN0ZW9pX2lycSkKKyAgICBzc2hkLTQyNjEgIDBkLmguICAgMTl1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl9sb2NrKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAyMHVzIDogX3NwaW5fdW5sb2NrIChoYW5kbGVfZmFzdGVvaV9pcnEpCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDIwdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX3NwaW5fdW5sb2NrKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMjh1cyA6IF9zcGluX3VubG9jayAoaGFuZGxlX2Zhc3Rlb2lfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAyOXVzIDogc3ViX3ByZWVtcHRfY291bnQgKF9zcGluX3VubG9jaykKKyAgICBzc2hkLTQyNjEgIDBkLmgyICAgMjl1cyA6IGlycV9leGl0IChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC5oMiAgIDI5dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC4uMyAgIDMwdXMgOiBkb19zb2Z0aXJxIChpcnFfZXhpdCkKKyAgICBzc2hkLTQyNjEgIDBkLi4uICAgMzB1cyA6IF9fZG9fc29mdGlycSAoZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLi4uICAgMzF1cyA6IF9fbG9jYWxfYmhfZGlzYWJsZSAoX19kb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQuLi4gICAzMXVzKzogYWRkX3ByZWVtcHRfY291bnQgKF9fbG9jYWxfYmhfZGlzYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM0ICAgMzR1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCitbLi4uXQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0M3VzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZV9pcCkKKyAgICBzc2hkLTQyNjEgIDBkLnM0ICAgNDR1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChsb2NhbF9iaF9lbmFibGVfaXApCisgICAgc3NoZC00MjYxICAwZC5zMyAgIDQ0dXMgOiBzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQgKGFwaWNfdGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0NXVzIDogaXJxX2VudGVyIChzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQpCisgICAgc3NoZC00MjYxICAwZC5zMyAgIDQ1dXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0NnVzIDogYWRkX3ByZWVtcHRfY291bnQgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgNDZ1cyA6IGlkbGVfY3B1IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDQ3dXMgOiBocnRpbWVyX2ludGVycnVwdCAoc21wX2FwaWNfdGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA0N3VzIDoga3RpbWVfZ2V0IChocnRpbWVyX2ludGVycnVwdCkKK1suLi5dCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDgxdXMgOiB0aWNrX3Byb2dyYW1fZXZlbnQgKGhydGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4MnVzIDoga3RpbWVfZ2V0ICh0aWNrX3Byb2dyYW1fZXZlbnQpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDgydXMgOiBrdGltZV9nZXRfdHMgKGt0aW1lX2dldCkKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgODN1cyA6IGdldG5zdGltZW9mZGF5IChrdGltZV9nZXRfdHMpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDgzdXMgOiBzZXRfbm9ybWFsaXplZF90aW1lc3BlYyAoa3RpbWVfZ2V0X3RzKQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4NHVzIDogY2xvY2tldmVudHNfcHJvZ3JhbV9ldmVudCAodGlja19wcm9ncmFtX2V2ZW50KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4NHVzIDogbGFwaWNfbmV4dF9ldmVudCAoY2xvY2tldmVudHNfcHJvZ3JhbV9ldmVudCkKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgODV1cyA6IGlycV9leGl0IChzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDg1dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC5zNCAgIDg2dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC5zMyAgIDg2dXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX19sb2NhbF9iaF9kaXNhYmxlKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLnMxICAgOTh1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChuZXRfcnhfYWN0aW9uKQorICAgIHNzaGQtNDI2MSAgMGQucy4gICA5OXVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2tfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuczEgICA5OXVzKzogX3NwaW5fdW5sb2NrX2lycSAocnVuX3RpbWVyX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC5zLiAgMTA0dXMgOiBfbG9jYWxfYmhfZW5hYmxlIChfX2RvX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC5zLiAgMTA0dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX2xvY2FsX2JoX2VuYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnMuICAxMDV1cyA6IF9sb2NhbF9iaF9lbmFibGUgKF9fZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLnMxICAxMDV1cyA6IHRyYWNlX3ByZWVtcHRfb24gKF9fZG9fc29mdGlycSkKKworCitUaGlzIGlzIGEgdmVyeSBpbnRlcmVzdGluZyB0cmFjZS4gSXQgc3RhcnRlZCB3aXRoIHRoZSBwcmVlbXB0aW9uIG9mCit0aGUgbHMgdGFzay4gV2Ugc2VlIHRoYXQgdGhlIHRhc2sgaGFkIHRoZSAibmVlZF9yZXNjaGVkIiBiaXQgc2V0Cit3aXRoIHRoZSAnTicgaW4gdGhlIHRyYWNlLiAgSW50ZXJydXB0cyBhcmUgZGlzYWJsZWQgaW4gdGhlIHNwaW5fbG9jaworYW5kIHRoZSB0cmFjZSBzdGFydGVkLiBXZSBzZWUgdGhhdCBhIHNjaGVkdWxlIHRvb2sgcGxhY2UgdG8gcnVuCitzc2hkLiAgV2hlbiB0aGUgaW50ZXJydXB0cyB3ZXJlIGVuYWJsZWQsIHdlIHRvb2sgYW4gaW50ZXJydXB0LgorT24gcmV0dXJuIGZyb20gdGhlIGludGVycnVwdCBoYW5kbGVyLCB0aGUgc29mdGlycSByYW4uIFdlIHRvb2sgYW5vdGhlcgoraW50ZXJydXB0IHdoaWxlIHJ1bm5pbmcgdGhlIHNvZnRpcnEgYXMgd2Ugc2VlIHdpdGggdGhlIGNhcGl0YWwgJ0gnLgorCisKK3dha2V1cAorLS0tLS0tCisKK0luIFJlYWwtVGltZSBlbnZpcm9ubWVudCBpdCBpcyB2ZXJ5IGltcG9ydGFudCB0byBrbm93IHRoZSB3YWtldXAKK3RpbWUgaXQgdGFrZXMgZm9yIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgdGhhdCB3YWtlcyB1cCB0byB0aGUKK3RpbWUgaXQgZXhlY3V0ZXMuIFRoaXMgaXMgYWxzbyBrbm93biBhcyAic2NoZWR1bGUgbGF0ZW5jeSIuCitJIHN0cmVzcyB0aGUgcG9pbnQgdGhhdCB0aGlzIGlzIGFib3V0IFJUIHRhc2tzLiBJdCBpcyBhbHNvIGltcG9ydGFudAordG8ga25vdyB0aGUgc2NoZWR1bGluZyBsYXRlbmN5IG9mIG5vbi1SVCB0YXNrcywgYnV0IHRoZSBhdmVyYWdlCitzY2hlZHVsZSBsYXRlbmN5IGlzIGJldHRlciBmb3Igbm9uLVJUIHRhc2tzLiBUb29scyBsaWtlCitMYXRlbmN5VG9wIGFyZSBtb3JlIGFwcHJvcHJpYXRlIGZvciBzdWNoIG1lYXN1cmVtZW50cy4KKworUmVhbC1UaW1lIGVudmlyb25tZW50cyBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgd29yc3QgY2FzZSBsYXRlbmN5LgorVGhhdCBpcyB0aGUgbG9uZ2VzdCBsYXRlbmN5IGl0IHRha2VzIGZvciBzb21ldGhpbmcgdG8gaGFwcGVuLCBhbmQKK25vdCB0aGUgYXZlcmFnZS4gV2UgY2FuIGhhdmUgYSB2ZXJ5IGZhc3Qgc2NoZWR1bGVyIHRoYXQgbWF5IG9ubHkKK2hhdmUgYSBsYXJnZSBsYXRlbmN5IG9uY2UgaW4gYSB3aGlsZSwgYnV0IHRoYXQgd291bGQgbm90IHdvcmsgd2VsbAord2l0aCBSZWFsLVRpbWUgdGFza3MuICBUaGUgd2FrZXVwIHRyYWNlciB3YXMgZGVzaWduZWQgdG8gcmVjb3JkCit0aGUgd29yc3QgY2FzZSB3YWtldXBzIG9mIFJUIHRhc2tzLiBOb24tUlQgdGFza3MgYXJlIG5vdCByZWNvcmRlZAorYmVjYXVzZSB0aGUgdHJhY2VyIG9ubHkgcmVjb3JkcyBvbmUgd29yc3QgY2FzZSBhbmQgdHJhY2luZyBub24tUlQKK3Rhc2tzIHRoYXQgYXJlIHVucHJlZGljdGFibGUgd2lsbCBvdmVyd3JpdGUgdGhlIHdvcnN0IGNhc2UgbGF0ZW5jeQorb2YgUlQgdGFza3MuCisKK1NpbmNlIHRoaXMgdHJhY2VyIG9ubHkgZGVhbHMgd2l0aCBSVCB0YXNrcywgd2Ugd2lsbCBydW4gdGhpcyBzbGlnaHRseQorZGlmZmVyZW50bHkgdGhhbiB3ZSBkaWQgd2l0aCB0aGUgcHJldmlvdXMgdHJhY2Vycy4gSW5zdGVhZCBvZiBwZXJmb3JtaW5nCithbiAnbHMnLCB3ZSB3aWxsIHJ1biAnc2xlZXAgMScgdW5kZXIgJ2NocnQnIHdoaWNoIGNoYW5nZXMgdGhlCitwcmlvcml0eSBvZiB0aGUgdGFzay4KKworICMgZWNobyB3YWtldXAgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjaHJ0IC1mIDUgc2xlZXAgMQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvbGF0ZW5jeV90cmFjZQorIyB0cmFjZXI6IHdha2V1cAorIword2FrZXVwIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogNCB1cywgIzIvMiwgQ1BVIzEgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBzbGVlcC00OTAxICh1aWQ6MCBuaWNlOjAgcG9saWN5OjEgcnRfcHJpbzo1KQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgIDxpZGxlPi0wICAgICAxZC5oNCAgICAwdXMrOiB0cnlfdG9fd2FrZV91cCAod2FrZV91cF9wcm9jZXNzKQorICA8aWRsZT4tMCAgICAgMWQuLjQgICAgNHVzIDogc2NoZWR1bGUgKGNwdV9pZGxlKQorCisKK3ZpbTpmdD1oZWxwCisKKworUnVubmluZyB0aGlzIG9uIGFuIGlkbGUgc3lzdGVtLCB3ZSBzZWUgdGhhdCBpdCBvbmx5IHRvb2sgNCBtaWNyb3NlY29uZHMKK3RvIHBlcmZvcm0gdGhlIHRhc2sgc3dpdGNoLiAgTm90ZSwgc2luY2UgdGhlIHRyYWNlIG1hcmtlciBpbiB0aGUKK3NjaGVkdWxlIGlzIGJlZm9yZSB0aGUgYWN0dWFsICJzd2l0Y2giLCB3ZSBzdG9wIHRoZSB0cmFjaW5nIHdoZW4KK3RoZSByZWNvcmRlZCB0YXNrIGlzIGFib3V0IHRvIHNjaGVkdWxlIGluLiBUaGlzIG1heSBjaGFuZ2UgaWYKK3dlIGFkZCBhIG5ldyBtYXJrZXIgYXQgdGhlIGVuZCBvZiB0aGUgc2NoZWR1bGVyLgorCitOb3RpY2UgdGhhdCB0aGUgcmVjb3JkZWQgdGFzayBpcyAnc2xlZXAnIHdpdGggdGhlIFBJRCBvZiA0OTAxIGFuZCBpdAoraGFzIGFuIHJ0X3ByaW8gb2YgNS4gVGhpcyBwcmlvcml0eSBpcyB1c2VyLXNwYWNlIHByaW9yaXR5IGFuZCBub3QKK3RoZSBpbnRlcm5hbCBrZXJuZWwgcHJpb3JpdHkuIFRoZSBwb2xpY3kgaXMgMSBmb3IgU0NIRURfRklGTyBhbmQgMgorZm9yIFNDSEVEX1JSLgorCitEb2luZyB0aGUgc2FtZSB3aXRoIGNocnQgLXIgNSBhbmQgZnRyYWNlX2VuYWJsZWQgc2V0LgorCisjIHRyYWNlcjogd2FrZXVwCisjCit3YWtldXAgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiA1MCB1cywgIzYwLzYwLCBDUFUjMSB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IHNsZWVwLTQwNjggKHVpZDowIG5pY2U6MCBwb2xpY3k6MiBydF9wcmlvOjUpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDB1cyA6IHRyeV90b193YWtlX3VwICh3YWtlX3VwX3Byb2Nlc3MpCitrc29mdGlycS03ICAgICAxZC5INCAgICAxdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobWFya2VyX3Byb2JlX2NiKQora3NvZnRpcnEtNyAgICAgMWQuSDMgICAgMnVzIDogY2hlY2tfcHJlZW1wdF93YWtldXAgKHRyeV90b193YWtlX3VwKQora3NvZnRpcnEtNyAgICAgMWQuSDMgICAgM3VzIDogdXBkYXRlX2N1cnIgKGNoZWNrX3ByZWVtcHRfd2FrZXVwKQora3NvZnRpcnEtNyAgICAgMWQuSDMgICAgNHVzIDogY2FsY19kZWx0YV9taW5lICh1cGRhdGVfY3VycikKK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDV1cyA6IF9fcmVzY2hlZF90YXNrIChjaGVja19wcmVlbXB0X3dha2V1cCkKK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDZ1cyA6IHRhc2tfd2FrZV91cF9ydCAodHJ5X3RvX3dha2VfdXApCitrc29mdGlycS03ICAgICAxZC5IMyAgICA3dXMgOiBfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSAodHJ5X3RvX3dha2VfdXApCitbLi4uXQora3NvZnRpcnEtNyAgICAgMWQuSDIgICAxN3VzIDogaXJxX2V4aXQgKHNtcF9hcGljX3RpbWVyX2ludGVycnVwdCkKK2tzb2Z0aXJxLTcgICAgIDFkLkgyICAgMTh1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChpcnFfZXhpdCkKK2tzb2Z0aXJxLTcgICAgIDFkLnMzICAgMTl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChpcnFfZXhpdCkKK2tzb2Z0aXJxLTcgICAgIDEuLnMyICAgMjB1cyA6IHJjdV9wcm9jZXNzX2NhbGxiYWNrcyAoX19kb19zb2Z0aXJxKQorWy4uLl0KK2tzb2Z0aXJxLTcgICAgIDEuLnMyICAgMjZ1cyA6IF9fcmN1X3Byb2Nlc3NfY2FsbGJhY2tzIChyY3VfcHJvY2Vzc19jYWxsYmFja3MpCitrc29mdGlycS03ICAgICAxZC5zMiAgIDI3dXMgOiBfbG9jYWxfYmhfZW5hYmxlIChfX2RvX3NvZnRpcnEpCitrc29mdGlycS03ICAgICAxZC5zMiAgIDI4dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX2xvY2FsX2JoX2VuYWJsZSkKK2tzb2Z0aXJxLTcgICAgIDEuTi4zICAgMjl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChrc29mdGlycWQpCitrc29mdGlycS03ICAgICAxLk4uMiAgIDMwdXMgOiBfY29uZF9yZXNjaGVkIChrc29mdGlycWQpCitrc29mdGlycS03ICAgICAxLk4uMiAgIDMxdXMgOiBfX2NvbmRfcmVzY2hlZCAoX2NvbmRfcmVzY2hlZCkKK2tzb2Z0aXJxLTcgICAgIDEuTi4yICAgMzJ1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2NvbmRfcmVzY2hlZCkKK2tzb2Z0aXJxLTcgICAgIDEuTi4yICAgMzN1cyA6IHNjaGVkdWxlIChfX2NvbmRfcmVzY2hlZCkKK2tzb2Z0aXJxLTcgICAgIDEuTi4yICAgMzN1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChzY2hlZHVsZSkKK2tzb2Z0aXJxLTcgICAgIDEuTi4zICAgMzR1cyA6IGhydGlja19jbGVhciAoc2NoZWR1bGUpCitrc29mdGlycS03ICAgICAxZE4uMyAgIDM1dXMgOiBfc3Bpbl9sb2NrIChzY2hlZHVsZSkKK2tzb2Z0aXJxLTcgICAgIDFkTi4zICAgMzZ1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl9sb2NrKQora3NvZnRpcnEtNyAgICAgMWQuLjQgICAzN3VzIDogcHV0X3ByZXZfdGFza19mYWlyIChzY2hlZHVsZSkKK2tzb2Z0aXJxLTcgICAgIDFkLi40ICAgMzh1cyA6IHVwZGF0ZV9jdXJyIChwdXRfcHJldl90YXNrX2ZhaXIpCitbLi4uXQora3NvZnRpcnEtNyAgICAgMWQuLjUgICA0N3VzIDogX3NwaW5fdHJ5bG9jayAodHJhY2luZ19yZWNvcmRfY21kbGluZSkKK2tzb2Z0aXJxLTcgICAgIDFkLi41ICAgNDh1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl90cnlsb2NrKQora3NvZnRpcnEtNyAgICAgMWQuLjYgICA0OXVzIDogX3NwaW5fdW5sb2NrICh0cmFjaW5nX3JlY29yZF9jbWRsaW5lKQora3NvZnRpcnEtNyAgICAgMWQuLjYgICA0OXVzIDogc3ViX3ByZWVtcHRfY291bnQgKF9zcGluX3VubG9jaykKK2tzb2Z0aXJxLTcgICAgIDFkLi40ICAgNTB1cyA6IHNjaGVkdWxlIChfX2NvbmRfcmVzY2hlZCkKKworVGhlIGludGVycnVwdCB3ZW50IG9mZiB3aGlsZSBydW5uaW5nIGtzb2Z0aXJxZC4gVGhpcyB0YXNrIHJ1bnMgYXQKK1NDSEVEX09USEVSLiBXaHkgZGlkbid0IHdlIHNlZSB0aGUgJ04nIHNldCBlYXJseT8gVGhpcyBtYXkgYmUKK2EgaGFybWxlc3MgYnVnIHdpdGggeDg2XzMyIGFuZCA0SyBzdGFja3MuIE9uIHg4Nl8zMiB3aXRoIDRLIHN0YWNrcworY29uZmlndXJlZCwgdGhlIGludGVycnVwdCBhbmQgc29mdGlycSBydW5zIHdpdGggdGhlaXIgb3duIHN0YWNrLgorU29tZSBpbmZvcm1hdGlvbiBpcyBoZWxkIG9uIHRoZSB0b3Agb2YgdGhlIHRhc2sncyBzdGFjayAobmVlZF9yZXNjaGVkCithbmQgcHJlZW1wdF9jb3VudCBhcmUgYm90aCBzdG9yZWQgdGhlcmUpLiBUaGUgc2V0dGluZyBvZiB0aGUgTkVFRF9SRVNDSEVECitiaXQgaXMgZG9uZSBkaXJlY3RseSB0byB0aGUgdGFzaydzIHN0YWNrLCBidXQgdGhlIHJlYWRpbmcgb2YgdGhlCitORUVEX1JFU0NIRUQgaXMgZG9uZSBieSBsb29raW5nIGF0IHRoZSBjdXJyZW50IHN0YWNrLCB3aGljaCBpbiB0aGlzIGNhc2UKK2lzIHRoZSBzdGFjayBmb3IgdGhlIGhhcmQgaW50ZXJydXB0LiBUaGlzIGhpZGVzIHRoZSBmYWN0IHRoYXQgTkVFRF9SRVNDSEVECitoYXMgYmVlbiBzZXQuIFdlIGRvbid0IHNlZSB0aGUgJ04nIHVudGlsIHdlIHN3aXRjaCBiYWNrIHRvIHRoZSB0YXNrJ3MKK2Fzc2lnbmVkIHN0YWNrLgorCitmdHJhY2UKKy0tLS0tLQorCitmdHJhY2UgaXMgbm90IG9ubHkgdGhlIG5hbWUgb2YgdGhlIHRyYWNpbmcgaW5mcmFzdHJ1Y3R1cmUsIGJ1dCBpdAoraXMgYWxzbyBhIG5hbWUgb2Ygb25lIG9mIHRoZSB0cmFjZXJzLiBUaGUgdHJhY2VyIGlzIHRoZSBmdW5jdGlvbgordHJhY2VyLiBFbmFibGluZyB0aGUgZnVuY3Rpb24gdHJhY2VyIGNhbiBiZSBkb25lIGZyb20gdGhlCitkZWJ1ZyBmaWxlIHN5c3RlbS4gTWFrZSBzdXJlIHRoZSBmdHJhY2VfZW5hYmxlZCBpcyBzZXQgb3RoZXJ3aXNlCit0aGlzIHRyYWNlciBpcyBhIG5vcC4KKworICMgc3lzY3RsIGtlcm5lbC5mdHJhY2VfZW5hYmxlZD0xCisgIyBlY2hvIGZ0cmFjZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisgIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIHVzbGVlcCAxCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZQorIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTM6IGZpbmlzaF90YXNrX3N3aXRjaCA8LXNjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE0OiBfc3Bpbl91bmxvY2tfaXJxIDwtZmluaXNoX3Rhc2tfc3dpdGNoCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE0OiBzdWJfcHJlZW1wdF9jb3VudCA8LV9zcGluX3VubG9ja19pcnEKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTU6IGhydGlja19zZXQgPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNTogX3NwaW5fbG9ja19pcnFzYXZlIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNjogYWRkX3ByZWVtcHRfY291bnQgPC1fc3Bpbl9sb2NrX2lycXNhdmUKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTY6IF9zcGluX3VubG9ja19pcnFyZXN0b3JlIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNzogc3ViX3ByZWVtcHRfY291bnQgPC1fc3Bpbl91bmxvY2tfaXJxcmVzdG9yZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNzogaHJ0aWNrX2NsZWFyIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxODogc3ViX3ByZWVtcHRfY291bnQgPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxODogc3ViX3ByZWVtcHRfY291bnQgPC1wcmVlbXB0X3NjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE5OiB3YWl0X2Zvcl9jb21wbGV0aW9uIDwtX19zdG9wX21hY2hpbmVfcnVuCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE5OiB3YWl0X2Zvcl9jb21tb24gPC13YWl0X2Zvcl9jb21wbGV0aW9uCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzIwOiBfc3Bpbl9sb2NrX2lycSA8LXdhaXRfZm9yX2NvbW1vbgorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcyMDogYWRkX3ByZWVtcHRfY291bnQgPC1fc3Bpbl9sb2NrX2lycQorWy4uLl0KKworCitOb3RlOiBJdCBpcyBzb21ldGltZXMgYmV0dGVyIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRyYWNpbmcgZGlyZWN0bHkgZnJvbQorYSBwcm9ncmFtLCBiZWNhdXNlIHRoZSBidWZmZXIgbWF5IGJlIG92ZXJmbG93ZWQgYnkgdGhlIGVjaG8gY29tbWFuZHMKK2JlZm9yZSB5b3UgZ2V0IHRvIHRoZSBwb2ludCB5b3Ugd2FudCB0byB0cmFjZS4gSXQgaXMgYWxzbyBlYXNpZXIgdG8KK3N0b3AgdGhlIHRyYWNpbmcgYXQgdGhlIHBvaW50IHRoYXQgeW91IGhpdCB0aGUgcGFydCB0aGF0IHlvdSBhcmUKK2ludGVyZXN0ZWQgaW4uIFNpbmNlIHRoZSBmdHJhY2UgYnVmZmVyIGlzIGEgcmluZyBidWZmZXIgd2l0aCB0aGUKK29sZGVzdCBkYXRhIGJlaW5nIG92ZXJ3cml0dGVuLCB1c3VhbGx5IGl0IGlzIHN1ZmZpY2llbnQgdG8gc3RhcnQgdGhlCit0cmFjZXIgd2l0aCBhbiBlY2hvIGNvbW1hbmQgYnV0IGhhdmUgeW91IGNvZGUgc3RvcCBpdC4gU29tZXRoaW5nCitsaWtlIHRoZSBmb2xsb3dpbmcgaXMgdXN1YWxseSBhcHByb3ByaWF0ZSBmb3IgdGhpcy4KKworaW50IHRyYWNlX2ZkOworWy4uLl0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKwlbLi4uXQorCXRyYWNlX2ZkID0gb3BlbigiL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkIiwgT19XUk9OTFkpOworCVsuLi5dCisJaWYgKGNvbmRpdGlvbl9oaXQoKSkgeworCXdyaXRlKHRyYWNlX2ZkLCAiMCIsIDEpOworCX0KKwlbLi4uXQorfQorCisKK2R5bmFtaWMgZnRyYWNlCistLS0tLS0tLS0tLS0tLQorCitJZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgaXMgc2V0LCB0aGVuIHRoZSBzeXN0ZW0gd2lsbCBydW4gd2l0aAordmlydHVhbGx5IG5vIG92ZXJoZWFkIHdoZW4gZnVuY3Rpb24gdHJhY2luZyBpcyBkaXNhYmxlZC4gVGhlIHdheQordGhpcyB3b3JrcyBpcyB0aGUgbWNvdW50IGZ1bmN0aW9uIGNhbGwgKHBsYWNlZCBhdCB0aGUgc3RhcnQgb2YKK2V2ZXJ5IGtlcm5lbCBmdW5jdGlvbiwgcHJvZHVjZWQgYnkgdGhlIC1wZyBzd2l0Y2ggaW4gZ2NjKSwgc3RhcnRzCitvZiBwb2ludGluZyB0byBhIHNpbXBsZSByZXR1cm4uCisKK1doZW4gZHluYW1pYyBmdHJhY2UgaXMgaW5pdGlhbGl6ZWQsIGl0IGNhbGxzIGtzdG9wX21hY2hpbmUgdG8gbWFrZQordGhlIG1hY2hpbmUgYWN0IGxpa2UgYSB1bmlwcm9jZXNzb3Igc28gdGhhdCBpdCBjYW4gZnJlZWx5IG1vZGlmeSBjb2RlCit3aXRob3V0IHdvcnJ5aW5nIGFib3V0IG90aGVyIHByb2Nlc3NvcnMgZXhlY3V0aW5nIHRoYXQgc2FtZSBjb2RlLiAgQXQKK2luaXRpYWxpemF0aW9uLCB0aGUgbWNvdW50IGNhbGxzIGFyZSBjaGFuZ2VkIHRvIGNhbGwgYSAicmVjb3JkX2lwIgorZnVuY3Rpb24uICBBZnRlciB0aGlzLCB0aGUgZmlyc3QgdGltZSBhIGtlcm5lbCBmdW5jdGlvbiBpcyBjYWxsZWQsCitpdCBoYXMgdGhlIGNhbGxpbmcgYWRkcmVzcyBzYXZlZCBpbiBhIGhhc2ggdGFibGUuCisKK0xhdGVyIG9uIHRoZSBmdHJhY2VkIGtlcm5lbCB0aHJlYWQgaXMgYXdva2VuIGFuZCB3aWxsIGFnYWluIGNhbGwKK2tzdG9wX21hY2hpbmUgaWYgbmV3IGZ1bmN0aW9ucyBoYXZlIGJlZW4gcmVjb3JkZWQuIFRoZSBmdHJhY2VkIHRocmVhZAord2lsbCBjaGFuZ2UgYWxsIGNhbGxzIHRvIG1jb3VudCB0byAibm9wIi4gIEp1c3QgY2FsbGluZyBtY291bnQKK2FuZCBoYXZpbmcgbWNvdW50IHJldHVybiBoYXMgc2hvd24gYSAxMCUgb3ZlcmhlYWQuIEJ5IGNvbnZlcnRpbmcKK2l0IHRvIGEgbm9wLCB0aGVyZSBpcyBubyByZWNvcmRhYmxlIG92ZXJoZWFkIHRvIHRoZSBzeXN0ZW0uCisKK09uZSBzcGVjaWFsIHNpZGUtZWZmZWN0IHRvIHRoZSByZWNvcmRpbmcgb2YgdGhlIGZ1bmN0aW9ucyBiZWluZwordHJhY2VkLCBpcyB0aGF0IHdlIGNhbiBub3cgc2VsZWN0aXZlbHkgY2hvb3NlIHdoaWNoIGZ1bmN0aW9ucyB3ZQord2FudCB0byB0cmFjZSBhbmQgd2hpY2ggb25lcyB3ZSB3YW50IHRoZSBtY291bnQgY2FsbHMgdG8gcmVtYWluIGFzCitub3BzLgorCitUd28gZmlsZXMgYXJlIHVzZWQsIG9uZSBmb3IgZW5hYmxpbmcgYW5kIG9uZSBmb3IgZGlzYWJsaW5nIHRoZSB0cmFjaW5nCitvZiByZWNvcmRlZCBmdW5jdGlvbnMuIFRoZXkgYXJlOgorCisgIHNldF9mdHJhY2VfZmlsdGVyCisKK2FuZAorCisgIHNldF9mdHJhY2Vfbm90cmFjZQorCitBIGxpc3Qgb2YgYXZhaWxhYmxlIGZ1bmN0aW9ucyB0aGF0IHlvdSBjYW4gYWRkIHRvIHRoZXNlIGZpbGVzIGlzIGxpc3RlZAoraW46CisKKyAgIGF2YWlsYWJsZV9maWx0ZXJfZnVuY3Rpb25zCisKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9hdmFpbGFibGVfZmlsdGVyX2Z1bmN0aW9ucworcHV0X3ByZXZfdGFza19pZGxlCitrbWVtX2NhY2hlX2NyZWF0ZQorcGlja19uZXh0X3Rhc2tfcnQKK2dldF9vbmxpbmVfY3B1cworcGlja19uZXh0X3Rhc2tfZmFpcgorbXV0ZXhfbG9jaworWy4uLl0KKworSWYgSSdtIG9ubHkgaW50ZXJlc3RlZCBpbiBzeXNfbmFub3NsZWVwIGFuZCBocnRpbWVyX2ludGVycnVwdDoKKworICMgZWNobyBzeXNfbmFub3NsZWVwIGhydGltZXJfaW50ZXJydXB0IFwKKwkJPiAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorICMgZWNobyBmdHJhY2UgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyB1c2xlZXAgMQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2UKKyMgdHJhY2VyOiBmdHJhY2UKKyMKKyMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OCisjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8CisgICAgICAgICAgdXNsZWVwLTQxMzQgIFswMF0gIDEzMTcuMDcwMDE3OiBocnRpbWVyX2ludGVycnVwdCA8LXNtcF9hcGljX3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIHVzbGVlcC00MTM0ICBbMDBdICAxMzE3LjA3MDExMTogc3lzX25hbm9zbGVlcCA8LXN5c2NhbGxfY2FsbAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxMzE3LjA3MDExNTogaHJ0aW1lcl9pbnRlcnJ1cHQgPC1zbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQKKworVG8gc2VlIHdoYXQgZnVuY3Rpb25zIGFyZSBiZWluZyB0cmFjZWQsIHlvdSBjYW4gY2F0IHRoZSBmaWxlOgorCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKK2hydGltZXJfaW50ZXJydXB0CitzeXNfbmFub3NsZWVwCisKKworUGVyaGFwcyB0aGlzIGlzbid0IGVub3VnaC4gVGhlIGZpbHRlcnMgYWxzbyBhbGxvdyBzaW1wbGUgd2lsZCBjYXJkcy4KK09ubHkgdGhlIGZvbGxvd2luZyBhcmUgY3VycmVudGx5IGF2YWlsYWJsZQorCisgIDxtYXRjaD4qICAtIHdpbGwgbWF0Y2ggZnVuY3Rpb25zIHRoYXQgYmVnaW4gd2l0aCA8bWF0Y2g+CisgICo8bWF0Y2g+ICAtIHdpbGwgbWF0Y2ggZnVuY3Rpb25zIHRoYXQgZW5kIHdpdGggPG1hdGNoPgorICAqPG1hdGNoPiogLSB3aWxsIG1hdGNoIGZ1bmN0aW9ucyB0aGF0IGhhdmUgPG1hdGNoPiBpbiBpdAorCitUaGF0cyBhbGwgdGhlIHdpbGQgY2FyZHMgdGhhdCBhcmUgYWxsb3dlZC4KKworICA8bWF0Y2g+KjxtYXRjaD4gd2lsbCBub3Qgd29yay4KKworICMgZWNobyBocnRpbWVyXyogPiAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorCitQcm9kdWNlczoKKworIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgMTQ4MC42MTE3OTQ6IGhydGltZXJfaW5pdCA8LWNvcHlfcHJvY2VzcworICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAxNDgwLjYxMTk0MTogaHJ0aW1lcl9zdGFydCA8LWhydGlja19zZXQKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgMTQ4MC42MTE5NTY6IGhydGltZXJfY2FuY2VsIDwtaHJ0aWNrX2NsZWFyCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gIDE0ODAuNjExOTU2OiBocnRpbWVyX3RyeV90b19jYW5jZWwgPC1ocnRpbWVyX2NhbmNlbAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAxOTogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAyNTogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAzMjogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAzNzogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjM4MjogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorCisKK05vdGljZSB0aGF0IHdlIGxvc3QgdGhlIHN5c19uYW5vc2xlZXAuCisKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgoraHJ0aW1lcl9ydW5fcXVldWVzCitocnRpbWVyX3J1bl9wZW5kaW5nCitocnRpbWVyX2luaXQKK2hydGltZXJfY2FuY2VsCitocnRpbWVyX3RyeV90b19jYW5jZWwKK2hydGltZXJfZm9yd2FyZAoraHJ0aW1lcl9zdGFydAoraHJ0aW1lcl9yZXByb2dyYW0KK2hydGltZXJfZm9yY2VfcmVwcm9ncmFtCitocnRpbWVyX2dldF9uZXh0X2V2ZW50CitocnRpbWVyX2ludGVycnVwdAoraHJ0aW1lcl9uYW5vc2xlZXAKK2hydGltZXJfd2FrZXVwCitocnRpbWVyX2dldF9yZW1haW5pbmcKK2hydGltZXJfZ2V0X3JlcworaHJ0aW1lcl9pbml0X3NsZWVwZXIKKworCitUaGlzIGlzIGJlY2F1c2UgdGhlICc+JyBhbmQgJz4+JyBhY3QganVzdCBsaWtlIHRoZXkgZG8gaW4gYmFzaC4KK1RvIHJld3JpdGUgdGhlIGZpbHRlcnMsIHVzZSAnPicKK1RvIGFwcGVuZCB0byB0aGUgZmlsdGVycywgdXNlICc+PicKKworVG8gY2xlYXIgb3V0IGEgZmlsdGVyIHNvIHRoYXQgYWxsIGZ1bmN0aW9ucyB3aWxsIGJlIHJlY29yZGVkIGFnYWluOgorCisgIyBlY2hvID4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorICMKKworQWdhaW4sIG5vdyB3ZSB3YW50IHRvIGFwcGVuZC4KKworICMgZWNobyBzeXNfbmFub3NsZWVwID4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorc3lzX25hbm9zbGVlcAorICMgZWNobyBocnRpbWVyXyogPj4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgoraHJ0aW1lcl9ydW5fcXVldWVzCitocnRpbWVyX3J1bl9wZW5kaW5nCitocnRpbWVyX2luaXQKK2hydGltZXJfY2FuY2VsCitocnRpbWVyX3RyeV90b19jYW5jZWwKK2hydGltZXJfZm9yd2FyZAoraHJ0aW1lcl9zdGFydAoraHJ0aW1lcl9yZXByb2dyYW0KK2hydGltZXJfZm9yY2VfcmVwcm9ncmFtCitocnRpbWVyX2dldF9uZXh0X2V2ZW50CitocnRpbWVyX2ludGVycnVwdAorc3lzX25hbm9zbGVlcAoraHJ0aW1lcl9uYW5vc2xlZXAKK2hydGltZXJfd2FrZXVwCitocnRpbWVyX2dldF9yZW1haW5pbmcKK2hydGltZXJfZ2V0X3JlcworaHJ0aW1lcl9pbml0X3NsZWVwZXIKKworCitUaGUgc2V0X2Z0cmFjZV9ub3RyYWNlIHByZXZlbnRzIHRob3NlIGZ1bmN0aW9ucyBmcm9tIGJlaW5nIHRyYWNlZC4KKworICMgZWNobyAnKnByZWVtcHQqJyAnKmxvY2sqJyA+IC9kZWJ1Zy90cmFjaW5nL3NldF9mdHJhY2Vfbm90cmFjZQorCitQcm9kdWNlczoKKworIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDQ6IGZpbmlzaF90YXNrX3N3aXRjaCA8LXNjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMV0gICAxMTUuMjgxNjQ1OiBocnRpY2tfc2V0IDwtc2NoZWR1bGUKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDU6IGhydGlja19jbGVhciA8LWhydGlja19zZXQKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDY6IHdhaXRfZm9yX2NvbXBsZXRpb24gPC1fX3N0b3BfbWFjaGluZV9ydW4KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDc6IHdhaXRfZm9yX2NvbW1vbiA8LXdhaXRfZm9yX2NvbXBsZXRpb24KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDc6IGt0aHJlYWRfc3RvcCA8LXN0b3BfbWFjaGluZV9ydW4KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDg6IGluaXRfd2FpdHF1ZXVlX2hlYWQgPC1rdGhyZWFkX3N0b3AKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDg6IHdha2VfdXBfcHJvY2VzcyA8LWt0aHJlYWRfc3RvcAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDFdICAgMTE1LjI4MTY0OTogdHJ5X3RvX3dha2VfdXAgPC13YWtlX3VwX3Byb2Nlc3MKKworV2UgY2FuIHNlZSB0aGF0IHRoZXJlJ3Mgbm8gbW9yZSBsb2NrIG9yIHByZWVtcHQgdHJhY2luZy4KKworZnRyYWNlZAorLS0tLS0tLQorCitBcyBtZW50aW9uZWQgYWJvdmUsIHdoZW4gZHluYW1pYyBmdHJhY2UgaXMgY29uZmlndXJlZCBpbiwgYSBrZXJuZWwKK3RocmVhZCB3YWtlcyB1cCBvbmNlIGEgc2Vjb25kIGFuZCBjaGVja3MgdG8gc2VlIGlmIHRoZXJlIGFyZSBtY291bnQKK2NhbGxzIHRoYXQgbmVlZCB0byBiZSBjb252ZXJ0ZWQgaW50byBub3BzLiBJZiB0aGVyZSBhcmUgbm90IGFueSwgdGhlbgoraXQgc2ltcGx5IGdvZXMgYmFjayB0byBzbGVlcC4gQnV0IGlmIHRoZXJlIGFyZSBzb21lLCBpdCB3aWxsIGNhbGwKK2tzdG9wX21hY2hpbmUgdG8gY29udmVydCB0aGUgY2FsbHMgdG8gbm9wcy4KKworVGhlcmUgbWF5IGJlIGEgY2FzZSB0aGF0IHlvdSBkbyBub3Qgd2FudCB0aGlzIGFkZGVkIGxhdGVuY3kuCitQZXJoYXBzIHlvdSBhcmUgZG9pbmcgc29tZSBhdWRpbyByZWNvcmRpbmcgYW5kIHRoaXMgYWN0aXZpdHkgbWlnaHQKK2NhdXNlIHNraXBzIGluIHRoZSBwbGF5YmFjay4gVGhlcmUgaXMgYW4gaW50ZXJmYWNlIHRvIGRpc2FibGUKK2FuZCBlbmFibGUgdGhlIGZ0cmFjZWQga2VybmVsIHRocmVhZC4KKworICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvZnRyYWNlZF9lbmFibGVkCisKK1RoaXMgd2lsbCBkaXNhYmxlIHRoZSBjYWxsaW5nIG9mIHRoZSBrc3RvcF9tYWNoaW5lIHRvIHVwZGF0ZSB0aGUKK21jb3VudCBjYWxscyB0byBub3BzLiBSZW1lbWJlciB0aGF0IHRoZXJlJ3MgYSBsYXJnZSBvdmVyaGVhZAordG8gY2FsbGluZyBtY291bnQuIFdpdGhvdXQgdGhpcyBrZXJuZWwgdGhyZWFkLCB0aGF0IG92ZXJoZWFkIHdpbGwKK2V4aXN0LgorCitJZiB0aGVyZSBhcmUgcmVjb3JkZWQgY2FsbHMgdG8gbWNvdW50LCBhbnkgd3JpdGUgdG8gdGhlIGZ0cmFjZWRfZW5hYmxlZAorZmlsZSB3aWxsIGNhdXNlIHRoZSBrc3RvcF9tYWNoaW5lIHRvIHJ1bi4gVGhpcyBtZWFucyB0aGF0IGEKK3VzZXIgY2FuIG1hbnVhbGx5IHBlcmZvcm0gdGhlIHVwZGF0ZXMgd2hlbiB0aGV5IHdhbnQgdG8gYnkgc2ltcGx5CitlY2hvaW5nIGEgJzAnIGludG8gdGhlIGZ0cmFjZWRfZW5hYmxlZCBmaWxlLgorCitUaGUgdXBkYXRlcyBhcmUgYWxzbyBkb25lIGF0IHRoZSBiZWdpbm5pbmcgb2YgZW5hYmxpbmcgYSB0cmFjZXIKK3RoYXQgdXNlcyBmdHJhY2UgZnVuY3Rpb24gcmVjb3JkaW5nLgorCisKK3RyYWNlX3BpcGUKKy0tLS0tLS0tLS0KKworVGhlIHRyYWNlX3BpcGUgb3V0cHV0cyB0aGUgc2FtZSBhcyB0cmFjZSwgYnV0IHRoZSBlZmZlY3Qgb24gdGhlCit0cmFjaW5nIGlzIGRpZmZlcmVudC4gRXZlcnkgcmVhZCBmcm9tIHRyYWNlX3BpcGUgaXMgY29uc3VtZWQuCitUaGlzIG1lYW5zIHRoYXQgc3Vic2VxdWVudCByZWFkcyB3aWxsIGJlIGRpZmZlcmVudC4gVGhlIHRyYWNlCitpcyBsaXZlLgorCisgIyBlY2hvIGZ0cmFjZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfcGlwZSA+IC90bXAvdHJhY2Uub3V0ICYKK1sxXSA0MTUzCisgIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIHVzbGVlcCAxCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZQorIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKworICMKKyAjIGNhdCAvdG1wL3RyYWNlLm91dAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwNjogZmluaXNoX3Rhc2tfc3dpdGNoIDwtc2NoZWR1bGUKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMDY6IGhydGlja19zZXQgPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwNzogaHJ0aWNrX2NsZWFyIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwODogd2FpdF9mb3JfY29tcGxldGlvbiA8LV9fc3RvcF9tYWNoaW5lX3J1bgorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwODogd2FpdF9mb3JfY29tbW9uIDwtd2FpdF9mb3JfY29tcGxldGlvbgorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwOToga3RocmVhZF9zdG9wIDwtc3RvcF9tYWNoaW5lX3J1bgorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwOTogaW5pdF93YWl0cXVldWVfaGVhZCA8LWt0aHJlYWRfc3RvcAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzExMDogd2FrZV91cF9wcm9jZXNzIDwta3RocmVhZF9zdG9wCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMF0gNDEuMjY3MTEwOiB0cnlfdG9fd2FrZV91cCA8LXdha2VfdXBfcHJvY2VzcworICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzExMTogc2VsZWN0X3Rhc2tfcnFfcnQgPC10cnlfdG9fd2FrZV91cAorCisKK05vdGUsIHJlYWRpbmcgdGhlIHRyYWNlX3BpcGUgd2lsbCBibG9jayB1bnRpbCBtb3JlIGlucHV0IGlzIGFkZGVkLgorQnkgY2hhbmdpbmcgdGhlIHRyYWNlciwgdHJhY2VfcGlwZSB3aWxsIGlzc3VlIGFuIEVPRi4gV2UgbmVlZGVkCit0byBzZXQgdGhlIGZ0cmFjZSB0cmFjZXIgX2JlZm9yZV8gY2F0aW5nIHRoZSB0cmFjZV9waXBlIGZpbGUuCisKKwordHJhY2UgZW50cmllcworLS0tLS0tLS0tLS0tLQorCitIYXZpbmcgdG9vIG11Y2ggb3Igbm90IGVub3VnaCBkYXRhIGNhbiBiZSB0cm91Ymxlc29tZSBpbiBkaWFnbm9zaW5nCitzb21lIGlzc3VlIGluIHRoZSBrZXJuZWwuIFRoZSBmaWxlIHRyYWNlX2VudHJpZXMgaXMgdXNlZCB0byBtb2RpZnkKK3RoZSBzaXplIG9mIHRoZSBpbnRlcm5hbCB0cmFjZSBidWZmZXJzLiBUaGUgbnVtYmVyIGxpc3RlZAoraXMgdGhlIG51bWJlciBvZiBlbnRyaWVzIHRoYXQgY2FuIGJlIHJlY29yZGVkIHBlciBDUFUuIFRvIGtub3cKK3RoZSBmdWxsIHNpemUsIG11bHRpcGx5IHRoZSBudW1iZXIgb2YgcG9zc2libGUgQ1BVUyB3aXRoIHRoZQorbnVtYmVyIG9mIGVudHJpZXMuCisKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCis2NTYyMAorCitOb3RlLCB0byBtb2RpZnkgdGhpcywgeW91IG11c3QgaGF2ZSB0cmFjaW5nIGNvbXBsZXRlbHkgZGlzYWJsZWQuIFRvIGRvIHRoYXQsCitlY2hvICJub25lIiBpbnRvIHRoZSBjdXJyZW50X3RyYWNlci4KKworICMgZWNobyBub25lID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKyAjIGVjaG8gMTAwMDAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworICMgY2F0IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX2VudHJpZXMKKzEwMDA0NQorCisKK05vdGljZSB0aGF0IHdlIGVjaG9lZCBpbiAxMDAsMDAwIGJ1dCB0aGUgc2l6ZSBpcyAxMDAsMDQ1LiBUaGUgZW50cmllcworYXJlIGhlbGQgYnkgaW5kaXZpZHVhbCBwYWdlcy4gSXQgYWxsb2NhdGVzIHRoZSBudW1iZXIgb2YgcGFnZXMgaXQgdGFrZXMKK3RvIGZ1bGZpbGwgdGhlIHJlcXVlc3QuIElmIG1vcmUgZW50cmllcyBtYXkgZml0IG9uIHRoZSBsYXN0IHBhZ2UKK2l0IHdpbGwgYWRkIHRoZW0uCisKKyAjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX2VudHJpZXMKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCis4NQorCitUaGlzIHNob3dzIHVzIHRoYXQgODUgZW50cmllcyBjYW4gZml0IG9uIGEgc2luZ2xlIHBhZ2UuCisKK1RoZSBudW1iZXIgb2YgcGFnZXMgdGhhdCB3aWxsIGJlIGFsbG9jYXRlZCBpcyBhIHBlcmNlbnRhZ2Ugb2YgYXZhaWxhYmxlCittZW1vcnkuIEFsbG9jYXRpbmcgdG9vIG11Y2ggd2lsbCBwcm9kdWNlIGFuIGVycm9yLgorCisgIyBlY2hvIDEwMDAwMDAwMDAwMDAgPiAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCistYmFzaDogZWNobzogd3JpdGUgZXJyb3I6IENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCis4NQorCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLWk4MTAgYi9Eb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLWk4MTAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3ODIxMGUuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1pODEwCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotS2VybmVsIGRyaXZlciBpMmMtaTgxMAotCi1TdXBwb3J0ZWQgYWRhcHRlcnM6Ci0gICogSW50ZWwgODI4MTAsIDgyODEwLURDMTAwLCA4MjgxMEUsIGFuZCA4MjgxNSAoR01DSCkKLSAgKiBJbnRlbCA4Mjg0NUcgKEdNQ0gpCi0KLUF1dGhvcnM6IAotCUZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sIAotCVBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCi0gICAgICAgIEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+LAotCVJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4sCi0JTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgotCi1NYWluIGNvbnRhY3Q6IE1hcmsgU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KLQotRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLSAKLQotV0FSTklORzogSWYgeW91IGhhdmUgYW4gJzgxMCcgb3IgJzgxNScgbW90aGVyYm9hcmQsIHlvdXIgc3RhbmRhcmQgSTJDCi10ZW1wZXJhdHVyZSBzZW5zb3JzIGFyZSBtb3N0IGxpa2VseSBvbiB0aGUgODAxJ3MgSTJDIGJ1cy4gWW91IHdhbnQgdGhlCi1pMmMtaTgwMSBkcml2ZXIgZm9yIHRob3NlLCBub3QgdGhpcyBkcml2ZXIuCi0KLU5vdyBmb3IgdGhlIGkyYy1pODEwLi4uCi0KLVRoZSBHTUNIIGNoaXAgY29udGFpbnMgdHdvIEkyQyBpbnRlcmZhY2VzLgotCi1UaGUgZmlyc3QgaW50ZXJmYWNlIGlzIHVzZWQgZm9yIEREQyAoRGF0YSBEaXNwbGF5IENoYW5uZWwpIHdoaWNoIGlzIGEKLXNlcmlhbCBjaGFubmVsIHRocm91Z2ggdGhlIFZHQSBtb25pdG9yIGNvbm5lY3RvciB0byBhIEREQy1jb21wbGlhbnQKLW1vbml0b3IuIFRoaXMgaW50ZXJmYWNlIGlzIGRlZmluZWQgYnkgdGhlIFZpZGVvIEVsZWN0cm9uaWNzIFN0YW5kYXJkcwotQXNzb2NpYXRpb24gKFZFU0EpLiBUaGUgc3RhbmRhcmRzIGFyZSBhdmFpbGFibGUgZm9yIHB1cmNoYXNlIGF0Ci1odHRwOi8vd3d3LnZlc2Eub3JnIC4KLQotVGhlIHNlY29uZCBpbnRlcmZhY2UgaXMgYSBnZW5lcmFsLXB1cnBvc2UgSTJDIGJ1cy4gSXQgbWF5IGJlIGNvbm5lY3RlZCB0byBhCi1UVi1vdXQgY2hpcCBzdWNoIGFzIHRoZSBCVDg2OSBvciBwb3NzaWJseSB0byBhIGRpZ2l0YWwgZmxhdC1wYW5lbCBkaXNwbGF5LgotCi1GZWF0dXJlcwotLS0tLS0tLS0gCi0KLUJvdGggYnVzc2VzIHVzZSB0aGUgaTJjLWFsZ28tYml0IGRyaXZlciBmb3IgJ2JpdCBiYW5naW5nJwotYW5kIHN1cHBvcnQgZm9yIHNwZWNpZmljIHRyYW5zYWN0aW9ucyBpcyBwcm92aWRlZCBieSBpMmMtYWxnby1iaXQuCi0KLUlzc3VlcwotLS0tLS0tCi0KLUlmIHlvdSBlbmFibGUgYnVzIHRlc3RpbmcgaW4gaTJjLWFsZ28tYml0IChpbnNtb2QgaTJjLWFsZ28tYml0IGJpdF90ZXN0PTEpLAotdGhlIHRlc3QgbWF5IGZhaWw7IGlmIHNvLCB0aGUgaTJjLWk4MTAgZHJpdmVyIHdvbid0IGJlIGluc2VydGVkLiBIb3dldmVyLAotd2UgdGhpbmsgdGhpcyBoYXMgYmVlbiBmaXhlZC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtcHJvc2F2YWdlIGIvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwMzY4NzkuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1LZXJuZWwgZHJpdmVyIGkyYy1wcm9zYXZhZ2UKLQotU3VwcG9ydGVkIGFkYXB0ZXJzOgotCQotCVMzL1ZJQSBLTTI2Ni9WVDgzNzUgYWthIFByb1NhdmFnZTggCi0JUzMvVklBIEtNMTMzL1ZUODM2NSBha2EgU2F2YWdlNCAKLQotQXV0aG9yOiBIZW5rIFZlcmdvbmV0IDxoZW5rQGdvZC5keW5kbnMub3JnPgotCi1EZXNjcmlwdGlvbgotLS0tLS0tLS0tLS0KLQotVGhlIFNhdmFnZTQgY2hpcHMgY29udGFpbiB0d28gSTJDIGludGVyZmFjZXMgKGFrYSBhIEkyQyAnbWFzdGVyJyBvcgotJ2hvc3QnKS4gCi0KLVRoZSBmaXJzdCBpbnRlcmZhY2UgaXMgdXNlZCBmb3IgRERDIChEYXRhIERpc3BsYXkgQ2hhbm5lbCkgd2hpY2ggaXMgYQotc2VyaWFsIGNoYW5uZWwgdGhyb3VnaCB0aGUgVkdBIG1vbml0b3IgY29ubmVjdG9yIHRvIGEgRERDLWNvbXBsaWFudAotbW9uaXRvci4gVGhpcyBpbnRlcmZhY2UgaXMgZGVmaW5lZCBieSB0aGUgVmlkZW8gRWxlY3Ryb25pY3MgU3RhbmRhcmRzCi1Bc3NvY2lhdGlvbiAoVkVTQSkuIFRoZSBzdGFuZGFyZHMgYXJlIGF2YWlsYWJsZSBmb3IgcHVyY2hhc2UgYXQKLWh0dHA6Ly93d3cudmVzYS5vcmcgLiBUaGUgc2Vjb25kIGludGVyZmFjZSBpcyBhIGdlbmVyYWwtcHVycG9zZSBJMkMgYnVzLgotCi1Vc2VmdWxsIGZvciBnYWluaW5nIGFjY2VzcyB0byB0aGUgVFYgRW5jb2RlciBjaGlwcy4KLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0IGIvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWNjZWFiLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUtlcm5lbCBkcml2ZXIgaTJjLXNhdmFnZTQKLQotU3VwcG9ydGVkIGFkYXB0ZXJzOgotICAqIFNhdmFnZTQKLSAgKiBTYXZhZ2UyMDAwCi0KLUF1dGhvcnM6IAotCUFsZXhhbmRlciBXb2xkIDxhd29sZEBiaWdmb290LmNvbT4sCi0JTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPiAKLQotRGVzY3JpcHRpb24KLS0tLS0tLS0tLS0tCi0KLVRoZSBTYXZhZ2U0IGNoaXBzIGNvbnRhaW4gdHdvIEkyQyBpbnRlcmZhY2VzIChha2EgYSBJMkMgJ21hc3RlcicKLW9yICdob3N0JykuIAotCi1UaGUgZmlyc3QgaW50ZXJmYWNlIGlzIHVzZWQgZm9yIEREQyAoRGF0YSBEaXNwbGF5IENoYW5uZWwpIHdoaWNoIGlzIGEKLXNlcmlhbCBjaGFubmVsIHRocm91Z2ggdGhlIFZHQSBtb25pdG9yIGNvbm5lY3RvciB0byBhIEREQy1jb21wbGlhbnQKLW1vbml0b3IuIFRoaXMgaW50ZXJmYWNlIGlzIGRlZmluZWQgYnkgdGhlIFZpZGVvIEVsZWN0cm9uaWNzIFN0YW5kYXJkcwotQXNzb2NpYXRpb24gKFZFU0EpLiBUaGUgc3RhbmRhcmRzIGFyZSBhdmFpbGFibGUgZm9yIHB1cmNoYXNlIGF0Ci1odHRwOi8vd3d3LnZlc2Eub3JnIC4gVGhlIEREQyBidXMgaXMgbm90IHlldCBzdXBwb3J0ZWQgYmVjYXVzZSBpdHMgcmVnaXN0ZXIKLWlzIG5vdCBkaXJlY3RseSBtZW1vcnktbWFwcGVkLgotCi1UaGUgc2Vjb25kIGludGVyZmFjZSBpcyBhIGdlbmVyYWwtcHVycG9zZSBJMkMgYnVzLiBUaGlzIGlzIHRoZSBvbmx5Ci1pbnRlcmZhY2Ugc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIgYXQgdGhlIG1vbWVudC4KLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvZmF1bHQtY29kZXMgYi9Eb2N1bWVudGF0aW9uL2kyYy9mYXVsdC1jb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDU3NjVjCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvZmF1bHQtY29kZXMKQEAgLTAsMCArMSwxMjcgQEAKK1RoaXMgaXMgYSBzdW1tYXJ5IG9mIHRoZSBtb3N0IGltcG9ydGFudCBjb252ZW50aW9ucyBmb3IgdXNlIG9mIGZhdWx0Citjb2RlcyBpbiB0aGUgSTJDL1NNQnVzIHN0YWNrLgorCisKK0EgIkZhdWx0IiBpcyBub3QgYWx3YXlzIGFuICJFcnJvciIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK05vdCBhbGwgZmF1bHQgcmVwb3J0cyBpbXBseSBlcnJvcnM7ICJwYWdlIGZhdWx0cyIgc2hvdWxkIGJlIGEgZmFtaWxpYXIKK2V4YW1wbGUuICBTb2Z0d2FyZSBvZnRlbiByZXRyaWVzIGlkZW1wb3RlbnQgb3BlcmF0aW9ucyBhZnRlciB0cmFuc2llbnQKK2ZhdWx0cy4gIFRoZXJlIG1heSBiZSBmYW5jaWVyIHJlY292ZXJ5IHNjaGVtZXMgdGhhdCBhcmUgYXBwcm9wcmlhdGUgaW4KK3NvbWUgY2FzZXMsIHN1Y2ggYXMgcmUtaW5pdGlhbGl6aW5nIChhbmQgbWF5YmUgcmVzZXR0aW5nKS4gIEFmdGVyIHN1Y2gKK3JlY292ZXJ5LCB0cmlnZ2VyZWQgYnkgYSBmYXVsdCByZXBvcnQsIHRoZXJlIGlzIG5vIGVycm9yLgorCitJbiBhIHNpbWlsYXIgd2F5LCBzb21ldGltZXMgYSAiZmF1bHQiIGNvZGUganVzdCByZXBvcnRzIG9uZSBkZWZpbmVkCityZXN1bHQgZm9yIGFuIG9wZXJhdGlvbiAuLi4gaXQgZG9lc24ndCBpbmRpY2F0ZSB0aGF0IGFueXRoaW5nIGlzIHdyb25nCithdCBhbGwsIGp1c3QgdGhhdCB0aGUgb3V0Y29tZSB3YXNuJ3Qgb24gdGhlICJnb2xkZW4gcGF0aCIuCisKK0luIHNob3J0LCB5b3VyIEkyQyBkcml2ZXIgY29kZSBtYXkgbmVlZCB0byBrbm93IHRoZXNlIGNvZGVzIGluIG9yZGVyCit0byByZXNwb25kIGNvcnJlY3RseS4gIE90aGVyIGNvZGUgbWF5IG5lZWQgdG8gcmVseSBvbiBZT1VSIGNvZGUgcmVwb3J0aW5nCit0aGUgcmlnaHQgZmF1bHQgY29kZSwgc28gdGhhdCBpdCBjYW4gKGluIHR1cm4pIGJlaGF2ZSBjb3JyZWN0bHkuCisKKworSTJDIGFuZCBTTUJ1cyBmYXVsdCBjb2RlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGhlc2UgYXJlIHJldHVybmVkIGFzIG5lZ2F0aXZlIG51bWJlcnMgZnJvbSBtb3N0IGNhbGxzLCB3aXRoIHplcm8gb3IKK3NvbWUgcG9zaXRpdmUgbnVtYmVyIGluZGljYXRpbmcgYSBub24tZmF1bHQgcmV0dXJuLiAgVGhlIHNwZWNpZmljCitudW1iZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGVzZSBzeW1ib2xzIGRpZmZlciBiZXR3ZWVuIGFyY2hpdGVjdHVyZXMsCit0aG91Z2ggbW9zdCBMaW51eCBzeXN0ZW1zIHVzZSA8YXNtLWdlbmVyaWMvZXJybm8qLmg+IG51bWJlcmluZy4KKworTm90ZSB0aGF0IHRoZSBkZXNjcmlwdGlvbnMgaGVyZSBhcmUgbm90IGV4aGF1c3RpdmUuICBUaGVyZSBhcmUgb3RoZXIKK2NvZGVzIHRoYXQgbWF5IGJlIHJldHVybmVkLCBhbmQgb3RoZXIgY2FzZXMgd2hlcmUgdGhlc2UgY29kZXMgc2hvdWxkCitiZSByZXR1cm5lZC4gIEhvd2V2ZXIsIGRyaXZlcnMgc2hvdWxkIG5vdCByZXR1cm4gb3RoZXIgY29kZXMgZm9yIHRoZXNlCitjYXNlcyAodW5sZXNzIHRoZSBoYXJkd2FyZSBkb2Vzbid0IHByb3ZpZGUgdW5pcXVlIGZhdWx0IHJlcG9ydHMpLgorCitBbHNvLCBjb2RlcyByZXR1cm5lZCBieSBhZGFwdGVyIHByb2JlIG1ldGhvZHMgZm9sbG93IHJ1bGVzIHdoaWNoIGFyZQorc3BlY2lmaWMgdG8gdGhlaXIgaG9zdCBidXMgKHN1Y2ggYXMgUENJLCBvciB0aGUgcGxhdGZvcm0gYnVzKS4KKworCitFQUdBSU4KKwlSZXR1cm5lZCBieSBJMkMgYWRhcHRlcnMgd2hlbiB0aGV5IGxvc2UgYXJiaXRyYXRpb24gaW4gbWFzdGVyCisJdHJhbnNtaXQgbW9kZTogIHNvbWUgb3RoZXIgbWFzdGVyIHdhcyB0cmFuc21pdHRpbmcgZGlmZmVyZW50CisJZGF0YSBhdCB0aGUgc2FtZSB0aW1lLgorCisJQWxzbyByZXR1cm5lZCB3aGVuIHRyeWluZyB0byBpbnZva2UgYW4gSTJDIG9wZXJhdGlvbiBpbiBhbgorCWF0b21pYyBjb250ZXh0LCB3aGVuIHNvbWUgdGFzayBpcyBhbHJlYWR5IHVzaW5nIHRoYXQgSTJDIGJ1cworCXRvIGV4ZWN1dGUgc29tZSBvdGhlciBvcGVyYXRpb24uCisKK0VCQURNU0cKKwlSZXR1cm5lZCBieSBTTUJ1cyBsb2dpYyB3aGVuIGFuIGludmFsaWQgUGFja2V0IEVycm9yIENvZGUgYnl0ZQorCWlzIHJlY2VpdmVkLiAgVGhpcyBjb2RlIGlzIGEgQ1JDIGNvdmVyaW5nIGFsbCBieXRlcyBpbiB0aGUKKwl0cmFuc2FjdGlvbiwgYW5kIGlzIHNlbnQgYmVmb3JlIHRoZSB0ZXJtaW5hdGluZyBTVE9QLiAgVGhpcworCWZhdWx0IGlzIG9ubHkgcmVwb3J0ZWQgb24gcmVhZCB0cmFuc2FjdGlvbnM7IHRoZSBTTUJ1cyBzbGF2ZQorCW1heSBoYXZlIGEgd2F5IHRvIHJlcG9ydCBQRUMgbWlzbWF0Y2hlcyBvbiB3cml0ZXMgZnJvbSB0aGUKKwlob3N0LiAgTm90ZSB0aGF0IGV2ZW4gaWYgUEVDcyBhcmUgaW4gdXNlLCB5b3Ugc2hvdWxkIG5vdCByZWx5CisJb24gdGhlc2UgYXMgdGhlIG9ubHkgd2F5IHRvIGRldGVjdCBpbmNvcnJlY3QgZGF0YSB0cmFuc2ZlcnMuCisKK0VCVVNZCisJUmV0dXJuZWQgYnkgU01CdXMgYWRhcHRlcnMgd2hlbiB0aGUgYnVzIHdhcyBidXN5IGZvciBsb25nZXIKKwl0aGFuIGFsbG93ZWQuICBUaGlzIHVzdWFsbHkgaW5kaWNhdGVzIHNvbWUgZGV2aWNlIChtYXliZSB0aGUKKwlTTUJ1cyBhZGFwdGVyKSBuZWVkcyBzb21lIGZhdWx0IHJlY292ZXJ5IChzdWNoIGFzIHJlc2V0dGluZyksCisJb3IgdGhhdCB0aGUgcmVzZXQgd2FzIGF0dGVtcHRlZCBidXQgZmFpbGVkLgorCitFSU5WQUwKKwlUaGlzIHJhdGhlciB2YWd1ZSBlcnJvciBtZWFucyBhbiBpbnZhbGlkIHBhcmFtZXRlciBoYXMgYmVlbgorCWRldGVjdGVkIGJlZm9yZSBhbnkgSS9PIG9wZXJhdGlvbiB3YXMgc3RhcnRlZC4gIFVzZSBhIG1vcmUKKwlzcGVjaWZpYyBmYXVsdCBjb2RlIHdoZW4geW91IGNhbi4KKworCU9uZSBleGFtcGxlIHdvdWxkIGJlIGEgZHJpdmVyIHRyeWluZyBhbiBTTUJ1cyBCbG9jayBXcml0ZQorCXdpdGggYmxvY2sgc2l6ZSBvdXRzaWRlIHRoZSByYW5nZSBvZiAxLTMyIGJ5dGVzLgorCitFSU8KKwlUaGlzIHJhdGhlciB2YWd1ZSBlcnJvciBtZWFucyBzb21ldGhpbmcgd2VudCB3cm9uZyB3aGVuCisJcGVyZm9ybWluZyBhbiBJL08gb3BlcmF0aW9uLiAgVXNlIGEgbW9yZSBzcGVjaWZpYyBmYXVsdAorCWNvZGUgd2hlbiB5b3UgY2FuLgorCitFTk9ERVYKKwlSZXR1cm5lZCBieSBkcml2ZXIgcHJvYmUoKSBtZXRob2RzLiAgVGhpcyBpcyBhIGJpdCBtb3JlCisJc3BlY2lmaWMgdGhhbiBFTlhJTywgaW1wbHlpbmcgdGhlIHByb2JsZW0gaXNuJ3Qgd2l0aCB0aGUKKwlhZGRyZXNzLCBidXQgd2l0aCB0aGUgZGV2aWNlIGZvdW5kIHRoZXJlLiAgRHJpdmVyIHByb2JlcworCW1heSB2ZXJpZnkgdGhlIGRldmljZSByZXR1cm5zICpjb3JyZWN0KiByZXNwb25zZXMsIGFuZAorCXJldHVybiB0aGlzIGFzIGFwcHJvcHJpYXRlLiAgKFRoZSBkcml2ZXIgY29yZSB3aWxsIHdhcm4KKwlhYm91dCBwcm9iZSBmYXVsdHMgb3RoZXIgdGhhbiBFTlhJTyBhbmQgRU5PREVWLikKKworRU5PTUVNCisJUmV0dXJuZWQgYnkgYW55IGNvbXBvbmVudCB0aGF0IGNhbid0IGFsbG9jYXRlIG1lbW9yeSB3aGVuCisJaXQgbmVlZHMgdG8gZG8gc28uCisKK0VOWElPCisJUmV0dXJuZWQgYnkgSTJDIGFkYXB0ZXJzIHRvIGluZGljYXRlIHRoYXQgdGhlIGFkZHJlc3MgcGhhc2UKKwlvZiBhIHRyYW5zZmVyIGRpZG4ndCBnZXQgYW4gQUNLLiAgV2hpbGUgaXQgbWlnaHQganVzdCBtZWFuCisJYW4gSTJDIGRldmljZSB3YXMgdGVtcG9yYXJpbHkgbm90IHJlc3BvbmRpbmcsIHVzdWFsbHkgaXQKKwltZWFucyB0aGVyZSdzIG5vdGhpbmcgbGlzdGVuaW5nIGF0IHRoYXQgYWRkcmVzcy4KKworCVJldHVybmVkIGJ5IGRyaXZlciBwcm9iZSgpIG1ldGhvZHMgdG8gaW5kaWNhdGUgdGhhdCB0aGV5CisJZm91bmQgbm8gZGV2aWNlIHRvIGJpbmQgdG8uICAoRU5PREVWIG1heSBhbHNvIGJlIHVzZWQuKQorCitFT1BOT1RTVVBQCisJUmV0dXJuZWQgYnkgYW4gYWRhcHRlciB3aGVuIGFza2VkIHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uCisJdGhhdCBpdCBkb2Vzbid0LCBvciBjYW4ndCwgc3VwcG9ydC4KKworCUZvciBleGFtcGxlLCB0aGlzIHdvdWxkIGJlIHJldHVybmVkIHdoZW4gYW4gYWRhcHRlciB0aGF0CisJZG9lc24ndCBzdXBwb3J0IFNNQnVzIGJsb2NrIHRyYW5zZmVycyBpcyBhc2tlZCB0byBleGVjdXRlCisJb25lLiAgSW4gdGhhdCBjYXNlLCB0aGUgZHJpdmVyIG1ha2luZyB0aGF0IHJlcXVlc3Qgc2hvdWxkCisJaGF2ZSB2ZXJpZmllZCB0aGF0IGZ1bmN0aW9uYWxpdHkgd2FzIHN1cHBvcnRlZCBiZWZvcmUgaXQKKwltYWRlIHRoYXQgYmxvY2sgdHJhbnNmZXIgcmVxdWVzdC4KKworCVNpbWlsYXJseSwgaWYgYW4gSTJDIGFkYXB0ZXIgY2FuJ3QgZXhlY3V0ZSBhbGwgbGVnYWwgSTJDCisJbWVzc2FnZXMsIGl0IHNob3VsZCByZXR1cm4gdGhpcyB3aGVuIGFza2VkIHRvIHBlcmZvcm0gYQorCXRyYW5zYWN0aW9uIGl0IGNhbid0LiAgKFRoZXNlIGxpbWl0YXRpb25zIGNhbid0IGJlIHNlZW4gaW4KKwl0aGUgYWRhcHRlcidzIGZ1bmN0aW9uYWxpdHkgbWFzaywgc2luY2UgdGhlIGFzc3VtcHRpb24gaXMKKwl0aGF0IGlmIGFuIGFkYXB0ZXIgc3VwcG9ydHMgSTJDIGl0IHN1cHBvcnRzIGFsbCBvZiBJMkMuKQorCitFUFJPVE8KKwlSZXR1cm5lZCB3aGVuIHNsYXZlIGRvZXMgbm90IGNvbmZvcm0gdG8gdGhlIHJlbGV2YW50IEkyQworCW9yIFNNQnVzIChvciBjaGlwLXNwZWNpZmljKSBwcm90b2NvbCBzcGVjaWZpY2F0aW9ucy4gIE9uZQorCWNhc2UgaXMgd2hlbiB0aGUgbGVuZ3RoIG9mIGFuIFNNQnVzIGJsb2NrIGRhdGEgcmVzcG9uc2UKKwkoZnJvbSB0aGUgU01CdXMgc2xhdmUpIGlzIG91dHNpZGUgdGhlIHJhbmdlIDEtMzIgYnl0ZXMuCisKK0VUSU1FRE9VVAorCVRoaXMgaXMgcmV0dXJuZWQgYnkgZHJpdmVycyB3aGVuIGFuIG9wZXJhdGlvbiB0b29rIHRvbyBtdWNoCisJdGltZSwgYW5kIHdhcyBhYm9ydGVkIGJlZm9yZSBpdCBjb21wbGV0ZWQuCisKKwlTTUJ1cyBhZGFwdGVycyBtYXkgcmV0dXJuIGl0IHdoZW4gYW4gb3BlcmF0aW9uIHRvb2sgbW9yZQorCXRpbWUgdGhhbiBhbGxvd2VkIGJ5IHRoZSBTTUJ1cyBzcGVjaWZpY2F0aW9uOyBmb3IgZXhhbXBsZSwKKwl3aGVuIGEgc2xhdmUgc3RyZXRjaGVzIGNsb2NrcyB0b28gZmFyLiAgSTJDIGhhcyBubyBzdWNoCisJdGltZW91dHMsIGJ1dCBpdCdzIG5vcm1hbCBmb3IgSTJDIGFkYXB0ZXJzIHRvIGltcG9zZSBzb21lCisJYXJiaXRyYXJ5IGxpbWl0cyAobXVjaCBsb25nZXIgdGhhbiBTTUJ1cyEpIHRvby4KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvc21idXMtcHJvdG9jb2wgYi9Eb2N1bWVudGF0aW9uL2kyYy9zbWJ1cy1wcm90b2NvbAppbmRleCAwM2YwOGZiLi4yNGJmYjY1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2kyYy9zbWJ1cy1wcm90b2NvbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9zbWJ1cy1wcm90b2NvbApAQCAtNDIsOCArNDIsOCBAQAogWy4uXTogRGF0YSBzZW50IGJ5IEkyQyBkZXZpY2UsIGFzIG9wcG9zZWQgdG8gZGF0YSBzZW50IGJ5IHRoZSBob3N0IGFkYXB0ZXIuCiAKIAotU01CdXMgUXVpY2sgQ29tbWFuZDogIGkyY19zbWJ1c193cml0ZV9xdWljaygpCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1NNQnVzIFF1aWNrIENvbW1hbmQKKz09PT09PT09PT09PT09PT09PT0KIAogVGhpcyBzZW5kcyBhIHNpbmdsZSBiaXQgdG8gdGhlIGRldmljZSwgYXQgdGhlIHBsYWNlIG9mIHRoZSBSZC9XciBiaXQuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL3dyaXRpbmctY2xpZW50cyBiL0RvY3VtZW50YXRpb24vaTJjL3dyaXRpbmctY2xpZW50cwppbmRleCBkNGNkNDEyLi42YjYxYjNhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2kyYy93cml0aW5nLWNsaWVudHMKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvd3JpdGluZy1jbGllbnRzCkBAIC00NCw2ICs0NCwxMCBAQAogCS5pZF90YWJsZQk9IGZvb19pZHMsCiAJLnByb2JlCQk9IGZvb19wcm9iZSwKIAkucmVtb3ZlCQk9IGZvb19yZW1vdmUsCisJLyogaWYgZGV2aWNlIGF1dG9kZXRlY3Rpb24gaXMgbmVlZGVkOiAqLworCS5jbGFzcwkJPSBJMkNfQ0xBU1NfU09NRVRISU5HLAorCS5kZXRlY3QJCT0gZm9vX2RldGVjdCwKKwkuYWRkcmVzc19kYXRhCT0gJmFkZHJfZGF0YSwKIAogCS8qIGVsc2UsIGRyaXZlciB1c2VzICJsZWdhY3kiIGJpbmRpbmcgbW9kZWw6ICovCiAJLmF0dGFjaF9hZGFwdGVyCT0gZm9vX2F0dGFjaF9hZGFwdGVyLApAQCAtMjE3LDYgKzIyMSwzMSBAQAogcmVmZXJlbmNlIGZvciBsYXRlciB1c2UuCiAKIAorRGV2aWNlIERldGVjdGlvbiAoU3RhbmRhcmQgZHJpdmVyIG1vZGVsKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitTb21ldGltZXMgeW91IGRvIG5vdCBrbm93IGluIGFkdmFuY2Ugd2hpY2ggSTJDIGRldmljZXMgYXJlIGNvbm5lY3RlZCB0bworYSBnaXZlbiBJMkMgYnVzLiAgVGhpcyBpcyBmb3IgZXhhbXBsZSB0aGUgY2FzZSBvZiBoYXJkd2FyZSBtb25pdG9yaW5nCitkZXZpY2VzIG9uIGEgUEMncyBTTUJ1cy4gIEluIHRoYXQgY2FzZSwgeW91IG1heSB3YW50IHRvIGxldCB5b3VyIGRyaXZlcgorZGV0ZWN0IHN1cHBvcnRlZCBkZXZpY2VzIGF1dG9tYXRpY2FsbHkuICBUaGlzIGlzIGhvdyB0aGUgbGVnYWN5IG1vZGVsCit3YXMgd29ya2luZywgYW5kIGlzIG5vdyBhdmFpbGFibGUgYXMgYW4gZXh0ZW5zaW9uIHRvIHRoZSBzdGFuZGFyZAorZHJpdmVyIG1vZGVsIChzbyB0aGF0IHdlIGNhbiBmaW5hbGx5IGdldCByaWQgb2YgdGhlIGxlZ2FjeSBtb2RlbC4pCisKK1lvdSBzaW1wbHkgaGF2ZSB0byBkZWZpbmUgYSBkZXRlY3QgY2FsbGJhY2sgd2hpY2ggd2lsbCBhdHRlbXB0IHRvCitpZGVudGlmeSBzdXBwb3J0ZWQgZGV2aWNlcyAocmV0dXJuaW5nIDAgZm9yIHN1cHBvcnRlZCBvbmVzIGFuZCAtRU5PREVWCitmb3IgdW5zdXBwb3J0ZWQgb25lcyksIGEgbGlzdCBvZiBhZGRyZXNzZXMgdG8gcHJvYmUsIGFuZCBhIGRldmljZSB0eXBlCisob3IgY2xhc3MpIHNvIHRoYXQgb25seSBJMkMgYnVzZXMgd2hpY2ggbWF5IGhhdmUgdGhhdCB0eXBlIG9mIGRldmljZQorY29ubmVjdGVkIChhbmQgbm90IG90aGVyd2lzZSBlbnVtZXJhdGVkKSB3aWxsIGJlIHByb2JlZC4gIFRoZSBpMmMKK2NvcmUgd2lsbCB0aGVuIGNhbGwgeW91IGJhY2sgYXMgbmVlZGVkIGFuZCB3aWxsIGluc3RhbnRpYXRlIGEgZGV2aWNlCitmb3IgeW91IGZvciBldmVyeSBzdWNjZXNzZnVsIGRldGVjdGlvbi4KKworTm90ZSB0aGF0IHRoaXMgbWVjaGFuaXNtIGlzIHB1cmVseSBvcHRpb25hbCBhbmQgbm90IHN1aXRhYmxlIGZvciBhbGwKK2RldmljZXMuICBZb3UgbmVlZCBzb21lIHJlbGlhYmxlIHdheSB0byBpZGVudGlmeSB0aGUgc3VwcG9ydGVkIGRldmljZXMKKyh0eXBpY2FsbHkgdXNpbmcgZGV2aWNlLXNwZWNpZmljLCBkZWRpY2F0ZWQgaWRlbnRpZmljYXRpb24gcmVnaXN0ZXJzKSwKK290aGVyd2lzZSBtaXNkZXRlY3Rpb25zIGFyZSBsaWtlbHkgdG8gb2NjdXIgYW5kIHRoaW5ncyBjYW4gZ2V0IHdyb25nCitxdWlja2x5LgorCisKIERldmljZSBEZWxldGlvbiAoU3RhbmRhcmQgZHJpdmVyIG1vZGVsKQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKQEAgLTU2OSw3ICs1OTgsNiBAQAogICBpbiB0ZXJtcyBvZiBpdC4gTmV2ZXIgdXNlIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHkhCiAKIAotICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9xdWljayhzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggdmFsdWUpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCB2YWx1ZSk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCBjb21tYW5kKTsKQEAgLTU3OCwzMCArNjA2LDMxIEBACiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfd29yZF9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCBjb21tYW5kKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfd29yZF9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTE2IHZhbHVlKTsKKyAgZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9ibG9ja19kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTggKnZhbHVlcyk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX2Jsb2NrX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTggbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4ICp2YWx1ZXMpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2kyY19ibG9ja19kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwgdTggKnZhbHVlcyk7Ci0KLVRoZXNlIG9uZXMgd2VyZSByZW1vdmVkIGluIExpbnV4IDIuNi4xMCBiZWNhdXNlIHRoZXkgaGFkIG5vIHVzZXJzLCBidXQgY291bGQKLWJlIGFkZGVkIGJhY2sgbGF0ZXIgaWYgbmVlZGVkOgotCi0gIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4ICp2YWx1ZXMpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9pMmNfYmxvY2tfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTggbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCAqdmFsdWVzKTsKKworVGhlc2Ugb25lcyB3ZXJlIHJlbW92ZWQgZnJvbSBpMmMtY29yZSBiZWNhdXNlIHRoZXkgaGFkIG5vIHVzZXJzLCBidXQgY291bGQKK2JlIGFkZGVkIGJhY2sgbGF0ZXIgaWYgbmVlZGVkOgorCisgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX3F1aWNrKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCB2YWx1ZSk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3Byb2Nlc3NfY2FsbChzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHUxNiB2YWx1ZSk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX2Jsb2NrX3Byb2Nlc3NfY2FsbChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTggbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggKnZhbHVlcykKIAotQWxsIHRoZXNlIHRyYW5zYWN0aW9ucyByZXR1cm4gLTEgb24gZmFpbHVyZS4gVGhlICd3cml0ZScgdHJhbnNhY3Rpb25zIAotcmV0dXJuIDAgb24gc3VjY2VzczsgdGhlICdyZWFkJyB0cmFuc2FjdGlvbnMgcmV0dXJuIHRoZSByZWFkIHZhbHVlLCBleGNlcHQgCi1mb3IgcmVhZF9ibG9jaywgd2hpY2ggcmV0dXJucyB0aGUgbnVtYmVyIG9mIHZhbHVlcyByZWFkLiBUaGUgYmxvY2sgYnVmZmVycyAKLW5lZWQgbm90IGJlIGxvbmdlciB0aGFuIDMyIGJ5dGVzLgorQWxsIHRoZXNlIHRyYW5zYWN0aW9ucyByZXR1cm4gYSBuZWdhdGl2ZSBlcnJubyB2YWx1ZSBvbiBmYWlsdXJlLiBUaGUgJ3dyaXRlJwordHJhbnNhY3Rpb25zIHJldHVybiAwIG9uIHN1Y2Nlc3M7IHRoZSAncmVhZCcgdHJhbnNhY3Rpb25zIHJldHVybiB0aGUgcmVhZAordmFsdWUsIGV4Y2VwdCBmb3IgYmxvY2sgdHJhbnNhY3Rpb25zLCB3aGljaCByZXR1cm4gdGhlIG51bWJlciBvZiB2YWx1ZXMKK3JlYWQuIFRoZSBibG9jayBidWZmZXJzIG5lZWQgbm90IGJlIGxvbmdlciB0aGFuIDMyIGJ5dGVzLgogCiBZb3UgY2FuIHJlYWQgdGhlIGZpbGUgYHNtYnVzLXByb3RvY29sJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUKIGFjdHVhbCBTTUJ1cyBwcm90b2NvbC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaW9jdGwtbnVtYmVyLnR4dCBiL0RvY3VtZW50YXRpb24vaW9jdGwtbnVtYmVyLnR4dAppbmRleCAyNDBjZTdhLi4zYmI1ZjQ2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2lvY3RsLW51bWJlci50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9pb2N0bC1udW1iZXIudHh0CkBAIC0xMTcsNiArMTE3LDcgQEAKIAkJCQkJPG1haWx0bzpuYXRhbGlhQG5pa2hlZmsubmlraGVmLm5sPgogJ2MnCTAwLTdGCWxpbnV4L2NvbXN0YXRzLmgJY29uZmxpY3QhCiAnYycJMDAtN0YJbGludXgvY29kYS5oCQljb25mbGljdCEKKydjJwk4MC05Rglhc20tczM5MC9jaHNjLmgKICdkJwkwMC1GRglsaW51eC9jaGFyL2RybS9kcm0vaAljb25mbGljdCEKICdkJwkwMC1ERglsaW51eC92aWRlb19kZWNvZGVyLmgJY29uZmxpY3QhCiAnZCcJRjAtRkYJbGludXgvZGlnaTEuaApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9rZHVtcC9rZHVtcC50eHQgYi9Eb2N1bWVudGF0aW9uL2tkdW1wL2tkdW1wLnR4dAppbmRleCBiOGU1MmMwLi45NjkxYzdmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2tkdW1wL2tkdW1wLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2tkdW1wL2tkdW1wLnR4dApAQCAtMTA5LDcgKzEwOSw3IEBACiAyKSBPciB1c2UgdGhlIHN5c3RlbSBrZXJuZWwgYmluYXJ5IGl0c2VsZiBhcyBkdW1wLWNhcHR1cmUga2VybmVsIGFuZCB0aGVyZSBpcwogICAgbm8gbmVlZCB0byBidWlsZCBhIHNlcGFyYXRlIGR1bXAtY2FwdHVyZSBrZXJuZWwuIFRoaXMgaXMgcG9zc2libGUKICAgIG9ubHkgd2l0aCB0aGUgYXJjaGl0ZWN1dHJlcyB3aGljaCBzdXBwb3J0IGEgcmVsb2NhdGFibGUga2VybmVsLiBBcwotICAgb2YgdG9kYXkgaTM4NiBhbmQgaWE2NCBhcmNoaXRlY3R1cmVzIHN1cHBvcnQgcmVsb2NhdGFibGUga2VybmVsLgorICAgb2YgdG9kYXksIGkzODYsIHg4Nl82NCBhbmQgaWE2NCBhcmNoaXRlY3R1cmVzIHN1cHBvcnQgcmVsb2NhdGFibGUga2VybmVsLgogCiBCdWlsZGluZyBhIHJlbG9jYXRhYmxlIGtlcm5lbCBpcyBhZHZhbnRhZ2VvdXMgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyB0aGF0CiBvbmUgZG9lcyBub3QgaGF2ZSB0byBidWlsZCBhIHNlY29uZCBrZXJuZWwgZm9yIGNhcHR1cmluZyB0aGUgZHVtcC4gQnV0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dCBiL0RvY3VtZW50YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0CmluZGV4IGI1MmY0N2QuLjMxMmZlNzcgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0CkBAIC0yNzEsNiArMjcxLDE3IEBACiAJYWljNzl4eD0JW0hXLFNDU0ldCiAJCQlTZWUgRG9jdW1lbnRhdGlvbi9zY3NpL2FpYzc5eHgudHh0LgogCisJYW1kX2lvbW11PQlbSFcsWDg2LTg0XQorCQkJUGFzcyBwYXJhbWV0ZXJzIHRvIHRoZSBBTUQgSU9NTVUgZHJpdmVyIGluIHRoZSBzeXN0ZW0uCisJCQlQb3NzaWJsZSB2YWx1ZXMgYXJlOgorCQkJaXNvbGF0ZSAtIGVuYWJsZSBkZXZpY2UgaXNvbGF0aW9uIChlYWNoIGRldmljZSwgYXMgZmFyCisJCQkgICAgICAgICAgYXMgcG9zc2libGUsIHdpbGwgZ2V0IGl0cyBvd24gcHJvdGVjdGlvbgorCQkJICAgICAgICAgIGRvbWFpbikKKwlhbWRfaW9tbXVfc2l6ZT0gW0hXLFg4Ni02NF0KKwkJCURlZmluZSB0aGUgc2l6ZSBvZiB0aGUgYXBlcnR1cmUgZm9yIHRoZSBBTUQgSU9NTVUKKwkJCWRyaXZlci4gUG9zc2libGUgdmFsdWVzIGFyZToKKwkJCSczMk0nLCAnNjRNJyAoZGVmYXVsdCksICcxMjhNJywgJzI1Nk0nLCAnNTEyTScsICcxRycKKwogCWFtaWpveS5tYXA9CVtIVyxKT1ldIEFtaWdhIGpveXN0aWNrIHN1cHBvcnQKIAkJCU1hcCBvZiBkZXZpY2VzIGF0dGFjaGVkIHRvIEpPWTBEQVQgYW5kIEpPWTFEQVQKIAkJCUZvcm1hdDogPGE+LDxiPgpAQCAtNTYwLDYgKzU3MSw4IEBACiAKIAlkZWJ1Z19vYmplY3RzCVtLTkxdIEVuYWJsZSBvYmplY3QgZGVidWdnaW5nCiAKKwlkZWJ1Z3BhdAlbWDg2XSBFbmFibGUgUEFUIGRlYnVnZ2luZworCiAJZGVjbmV0LmFkZHI9CVtIVyxORVRdCiAJCQlGb3JtYXQ6IDxhcmVhPlssPG5vZGU+XQogCQkJU2VlIGFsc28gRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RlY25ldC50eHQuCkBAIC01OTksNiArNjEyLDI5IEBACiAJCQlTZWUgZHJpdmVycy9jaGFyL1JFQURNRS5lcGNhIGFuZAogCQkJRG9jdW1lbnRhdGlvbi9kaWdpZXBjYS50eHQuCiAKKwlkaXNhYmxlX210cnJfY2xlYW51cCBbWDg2XQorCWVuYWJsZV9tdHJyX2NsZWFudXAgW1g4Nl0KKwkJCVRoZSBrZXJuZWwgdHJpZXMgdG8gYWRqdXN0IE1UUlIgbGF5b3V0IGZyb20gY29udGludW91cworCQkJdG8gZGlzY3JldGUsIHRvIG1ha2UgWCBzZXJ2ZXIgZHJpdmVyIGFibGUgdG8gYWRkIFdCCisJCQllbnRyeSBsYXRlci4gVGhpcyBwYXJhbWV0ZXIgZW5hYmxlcy9kaXNhYmxlcyB0aGF0LgorCisJbXRycl9jaHVua19zaXplPW5uW0tNR10gW1g4Nl0KKwkJCXVzZWQgZm9yIG10cnIgY2xlYW51cC4gSXQgaXMgbGFyZ2VzdCBjb250aW5vdXMgY2h1bmsKKwkJCXRoYXQgY291bGQgaG9sZCBob2xlcyBha2EuIFVDIGVudHJpZXMuCisKKwltdHJyX2dyYW5fc2l6ZT1ubltLTUddIFtYODZdCisJCQlVc2VkIGZvciBtdHJyIGNsZWFudXAuIEl0IGlzIGdyYW51bGFyaXR5IG9mIG10cnIgYmxvY2suCisJCQlEZWZhdWx0IGlzIDEuCisJCQlMYXJnZSB2YWx1ZSBjb3VsZCBwcmV2ZW50IHNtYWxsIGFsaWdubWVudCBmcm9tCisJCQl1c2luZyB1cCBNVFJScy4KKworCW10cnJfc3BhcmVfcmVnX25yPW4gW1g4Nl0KKwkJCUZvcm1hdDogPGludGVnZXI+CisJCQlSYW5nZTogMCw3IDogc3BhcmUgcmVnIG51bWJlcgorCQkJRGVmYXVsdCA6IDEKKwkJCVVzZWQgZm9yIG10cnIgY2xlYW51cC4gSXQgaXMgc3BhcmUgbXRyciBlbnRyaWVzIG51bWJlci4KKwkJCVNldCB0byAyIG9yIG1vcmUgaWYgeW91ciBncmFwaGljYWwgY2FyZCBuZWVkcyBtb3JlLgorCiAJZGlzYWJsZV9tdHJyX3RyaW0gW1g4NiwgSW50ZWwgYW5kIEFNRCBvbmx5XQogCQkJQnkgZGVmYXVsdCB0aGUga2VybmVsIHdpbGwgdHJpbSBhbnkgdW5jYWNoZWFibGUKIAkJCW1lbW9yeSBvdXQgb2YgeW91ciBhdmFpbGFibGUgbWVtb3J5IHBvb2wgYmFzZWQgb24KQEAgLTcyMiw5ICs3NTgsNiBAQAogCWhkPQkJW0VJREVdIChFKUlERSBoYXJkIGRyaXZlIHN1YnN5c3RlbSBnZW9tZXRyeQogCQkJRm9ybWF0OiA8Y3lsPiw8aGVhZD4sPHNlY3Q+CiAKLQloZD89CQlbSFddIChFKUlERSBzdWJzeXN0ZW0KLQloZD9sdW49CQlTZWUgRG9jdW1lbnRhdGlvbi9pZGUvaWRlLnR4dC4KLQogCWhpZ2htZW09bm5bS01HXQlbS05MLEJPT1RdIGZvcmNlcyB0aGUgaGlnaG1lbSB6b25lIHRvIGhhdmUgYW4gZXhhY3QKIAkJCXNpemUgb2YgPG5uPi4gVGhpcyB3b3JrcyBldmVuIG9uIGJveGVzIHRoYXQgaGF2ZSBubwogCQkJaGlnaG1lbSBvdGhlcndpc2UuIFRoaXMgYWxzbyB3b3JrcyB0byByZWR1Y2UgaGlnaG1lbQpAQCAtMTIwOCw2ICsxMjQxLDExIEBACiAJbXRkcGFydHM9CVtNVERdCiAJCQlTZWUgZHJpdmVycy9tdGQvY21kbGluZXBhcnQuYy4KIAorCW10ZHNldD0JCVtBUk1dCisJCQlBUk0vUzNDMjQxMiBKSVZFIGJvb3QgY29udHJvbAorCisJCQlTZWUgYXJjaC9hcm0vbWFjaC1zM2MyNDEyL21hY2gtaml2ZS5jCisKIAltdG91Y2h1c2IucmF3X2Nvb3JkaW5hdGVzPQogCQkJW0hXXSBNYWtlIHRoZSBNaWNyb1RvdWNoIFVTQiBkcml2ZXIgdXNlIHJhdyBjb29yZGluYXRlcwogCQkJKCd5JywgZGVmYXVsdCkgb3IgY29va2VkIGNvb3JkaW5hdGVzICgnbicpCkBAIC0xNTcxLDYgKzE2MDksMTAgQEAKIAkJCUZvcm1hdDogeyBwYXJwb3J0PG5yPiB8IHRpbWlkIHwgMCB9CiAJCQlTZWUgYWxzbyBEb2N1bWVudGF0aW9uL3BhcnBvcnQudHh0LgogCisJcG10bXI9CQlbWDg2XSBNYW51YWwgc2V0dXAgb2YgcG10bXIgSS9PIFBvcnQuIAorCQkJT3ZlcnJpZGUgcG10aW1lciBJT1BvcnQgd2l0aCBhIGhleCB2YWx1ZS4KKwkJCWUuZy4gcG10bXI9MHg1MDgKKwogCXBucGFjcGk9CVtBQ1BJXQogCQkJeyBvZmYgfQogCkBAIC0yMTE2LDYgKzIxNTgsOSBAQAogCXVzYmhpZC5tb3VzZXBvbGw9CiAJCQlbVVNCSElEXSBUaGUgaW50ZXJ2YWwgd2hpY2ggbWljZSBhcmUgdG8gYmUgcG9sbGVkIGF0LgogCisJYWRkX2VmaV9tZW1tYXAJW0VGSTsgeDg2LTMyLFg4Ni02NF0gSW5jbHVkZSBFRkkgbWVtb3J5IG1hcCBpbgorCQkJa2VybmVsJ3MgbWFwIG9mIGF2YWlsYWJsZSBwaHlzaWNhbCBSQU0uCisKIAl2ZHNvPQkJW1g4Ni0zMixTSCx4ODYtNjRdCiAJCQl2ZHNvPTI6IGVuYWJsZSBjb21wYXQgVkRTTyAoZGVmYXVsdCB3aXRoIENPTVBBVF9WRFNPKQogCQkJdmRzbz0xOiBlbmFibGUgVkRTTyAoZGVmYXVsdCkKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNjdGwudHh0IGIvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2lwLXN5c2N0bC50eHQKaW5kZXggMTdmMWY5MS4uOTQ2YjY2ZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2lwLXN5c2N0bC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2lwLXN5c2N0bC50eHQKQEAgLTE0OCw5ICsxNDgsOSBAQAogCWJ1dCBub3QgbG9hZGVkLgogCiB0Y3BfYmFzZV9tc3MgLSBJTlRFR0VSCi0JVGhlIGluaXRpYWwgdmFsdWUgb2Ygc2VhcmNoX2xvdyB0byBiZSB1c2VkIGJ5IFBhY2tldGl6YXRpb24gTGF5ZXIKLQlQYXRoIE1UVSBEaXNjb3ZlcnkgKE1UVSBwcm9iaW5nKS4gIElmIE1UVSBwcm9iaW5nIGlzIGVuYWJsZWQsCi0JdGhpcyBpcyB0aGUgaW5pdGFsIE1TUyB1c2VkIGJ5IHRoZSBjb25uZWN0aW9uLgorCVRoZSBpbml0aWFsIHZhbHVlIG9mIHNlYXJjaF9sb3cgdG8gYmUgdXNlZCBieSB0aGUgcGFja2V0aXphdGlvbiBsYXllcgorCVBhdGggTVRVIGRpc2NvdmVyeSAoTVRVIHByb2JpbmcpLiAgSWYgTVRVIHByb2JpbmcgaXMgZW5hYmxlZCwKKwl0aGlzIGlzIHRoZSBpbml0aWFsIE1TUyB1c2VkIGJ5IHRoZSBjb25uZWN0aW9uLgogCiB0Y3BfY29uZ2VzdGlvbl9jb250cm9sIC0gU1RSSU5HCiAJU2V0IHRoZSBjb25nZXN0aW9uIGNvbnRyb2wgYWxnb3JpdGhtIHRvIGJlIHVzZWQgZm9yIG5ldwpAQCAtMTg1LDEwICsxODUsOSBAQAogCXRpbWVvdXRzLiAgSXQgaXMgcGFydGljdWxhcmx5IGJlbmVmaWNpYWwgaW4gd2lyZWxlc3MgZW52aXJvbm1lbnRzCiAJd2hlcmUgcGFja2V0IGxvc3MgaXMgdHlwaWNhbGx5IGR1ZSB0byByYW5kb20gcmFkaW8gaW50ZXJmZXJlbmNlCiAJcmF0aGVyIHRoYW4gaW50ZXJtZWRpYXRlIHJvdXRlciBjb25nZXN0aW9uLiAgRi1SVE8gaXMgc2VuZGVyLXNpZGUKLQlvbmx5IG1vZGlmaWNhdGlvbi4gIFRoZXJlZm9yZSBpdCBkb2VzIG5vdCByZXF1aXJlIGFueSBzdXBwb3J0IGZyb20KLQl0aGUgcGVlciwgYnV0IGluIGEgdHlwaWNhbCBjYXNlLCBob3dldmVyLCB3aGVyZSB3aXJlbGVzcyBsaW5rIGlzCi0JdGhlIGxvY2FsIGFjY2VzcyBsaW5rIGFuZCBtb3N0IG9mIHRoZSBkYXRhIGZsb3dzIGRvd25saW5rLCB0aGUKLQlmYXJhd2F5IHNlcnZlcnMgc2hvdWxkIGhhdmUgRi1SVE8gZW5hYmxlZCB0byB0YWtlIGFkdmFudGFnZSBvZiBpdC4KKwlvbmx5IG1vZGlmaWNhdGlvbi4gVGhlcmVmb3JlIGl0IGRvZXMgbm90IHJlcXVpcmUgYW55IHN1cHBvcnQgZnJvbQorCXRoZSBwZWVyLgorCiAJSWYgc2V0IHRvIDEsIGJhc2ljIHZlcnNpb24gaXMgZW5hYmxlZC4gIDIgZW5hYmxlcyBTQUNLIGVuaGFuY2VkCiAJRi1SVE8gaWYgZmxvdyB1c2VzIFNBQ0suICBUaGUgYmFzaWMgdmVyc2lvbiBjYW4gYmUgdXNlZCBhbHNvIHdoZW4KIAlTQUNLIGlzIGluIHVzZSB0aG91Z2ggc2NlbmFyaW8ocykgd2l0aCBpdCBleGlzdHMgd2hlcmUgRi1SVE8KQEAgLTI3Niw3ICsyNzUsNyBAQAogCW1lbW9yeS4KIAogdGNwX21vZGVyYXRlX3JjdmJ1ZiAtIEJPT0xFQU4KLQlJZiBzZXQsIFRDUCBwZXJmb3JtcyByZWNlaXZlIGJ1ZmZlciBhdXRvdHVuaW5nLCBhdHRlbXB0aW5nIHRvCisJSWYgc2V0LCBUQ1AgcGVyZm9ybXMgcmVjZWl2ZSBidWZmZXIgYXV0by10dW5pbmcsIGF0dGVtcHRpbmcgdG8KIAlhdXRvbWF0aWNhbGx5IHNpemUgdGhlIGJ1ZmZlciAobm8gZ3JlYXRlciB0aGFuIHRjcF9ybWVtWzJdKSB0bwogCW1hdGNoIHRoZSBzaXplIHJlcXVpcmVkIGJ5IHRoZSBwYXRoIGZvciBmdWxsIHRocm91Z2hwdXQuICBFbmFibGVkIGJ5CiAJZGVmYXVsdC4KQEAgLTMzNiw3ICszMzUsNyBAQAogCXByZXNzdXJlLgogCURlZmF1bHQ6IDhLCiAKLQlkZWZhdWx0OiBkZWZhdWx0IHNpemUgb2YgcmVjZWl2ZSBidWZmZXIgdXNlZCBieSBUQ1Agc29ja2V0cy4KKwlkZWZhdWx0OiBpbml0aWFsIHNpemUgb2YgcmVjZWl2ZSBidWZmZXIgdXNlZCBieSBUQ1Agc29ja2V0cy4KIAlUaGlzIHZhbHVlIG92ZXJyaWRlcyBuZXQuY29yZS5ybWVtX2RlZmF1bHQgdXNlZCBieSBvdGhlciBwcm90b2NvbHMuCiAJRGVmYXVsdDogODczODAgYnl0ZXMuIFRoaXMgdmFsdWUgcmVzdWx0cyBpbiB3aW5kb3cgb2YgNjU1MzUgd2l0aAogCWRlZmF1bHQgc2V0dGluZyBvZiB0Y3BfYWR2X3dpbl9zY2FsZSBhbmQgdGNwX2FwcF93aW46MCBhbmQgYSBiaXQKQEAgLTM0NCw4ICszNDMsMTAgQEAKIAogCW1heDogbWF4aW1hbCBzaXplIG9mIHJlY2VpdmUgYnVmZmVyIGFsbG93ZWQgZm9yIGF1dG9tYXRpY2FsbHkKIAlzZWxlY3RlZCByZWNlaXZlciBidWZmZXJzIGZvciBUQ1Agc29ja2V0LiBUaGlzIHZhbHVlIGRvZXMgbm90IG92ZXJyaWRlCi0JbmV0LmNvcmUucm1lbV9tYXgsICJzdGF0aWMiIHNlbGVjdGlvbiB2aWEgU09fUkNWQlVGIGRvZXMgbm90IHVzZSB0aGlzLgotCURlZmF1bHQ6IDg3MzgwKjIgYnl0ZXMuCisJbmV0LmNvcmUucm1lbV9tYXguICBDYWxsaW5nIHNldHNvY2tvcHQoKSB3aXRoIFNPX1JDVkJVRiBkaXNhYmxlcworCWF1dG9tYXRpYyB0dW5pbmcgb2YgdGhhdCBzb2NrZXQncyByZWNlaXZlIGJ1ZmZlciBzaXplLCBpbiB3aGljaAorCWNhc2UgdGhpcyB2YWx1ZSBpcyBpZ25vcmVkLgorCURlZmF1bHQ6IGJldHdlZW4gODczODBCIGFuZCA0TUIsIGRlcGVuZGluZyBvbiBSQU0gc2l6ZS4KIAogdGNwX3NhY2sgLSBCT09MRUFOCiAJRW5hYmxlIHNlbGVjdCBhY2tub3dsZWRnbWVudHMgKFNBQ0tTKS4KQEAgLTM1OCw3ICszNTksNyBAQAogCURlZmF1bHQ6IDEKIAogdGNwX3N0ZHVyZyAtIEJPT0xFQU4KLQlVc2UgdGhlIEhvc3QgcmVxdWlyZW1lbnRzIGludGVycHJldGF0aW9uIG9mIHRoZSBUQ1AgdXJnIHBvaW50ZXIgZmllbGQuCisJVXNlIHRoZSBIb3N0IHJlcXVpcmVtZW50cyBpbnRlcnByZXRhdGlvbiBvZiB0aGUgVENQIHVyZ2VudCBwb2ludGVyIGZpZWxkLgogCU1vc3QgaG9zdHMgdXNlIHRoZSBvbGRlciBCU0QgaW50ZXJwcmV0YXRpb24sIHNvIGlmIHlvdSB0dXJuIHRoaXMgb24KIAlMaW51eCBtaWdodCBub3QgY29tbXVuaWNhdGUgY29ycmVjdGx5IHdpdGggdGhlbS4KIAlEZWZhdWx0OiBGQUxTRQpAQCAtMzcxLDEyICszNzIsMTIgQEAKIHRjcF9zeW5jb29raWVzIC0gQk9PTEVBTgogCU9ubHkgdmFsaWQgd2hlbiB0aGUga2VybmVsIHdhcyBjb21waWxlZCB3aXRoIENPTkZJR19TWU5DT09LSUVTCiAJU2VuZCBvdXQgc3luY29va2llcyB3aGVuIHRoZSBzeW4gYmFja2xvZyBxdWV1ZSBvZiBhIHNvY2tldAotCW92ZXJmbG93cy4gVGhpcyBpcyB0byBwcmV2ZW50IGFnYWluc3QgdGhlIGNvbW1vbiAnc3luIGZsb29kIGF0dGFjaycKKwlvdmVyZmxvd3MuIFRoaXMgaXMgdG8gcHJldmVudCBhZ2FpbnN0IHRoZSBjb21tb24gJ1NZTiBmbG9vZCBhdHRhY2snCiAJRGVmYXVsdDogRkFMU0UKIAogCU5vdGUsIHRoYXQgc3luY29va2llcyBpcyBmYWxsYmFjayBmYWNpbGl0eS4KIAlJdCBNVVNUIE5PVCBiZSB1c2VkIHRvIGhlbHAgaGlnaGx5IGxvYWRlZCBzZXJ2ZXJzIHRvIHN0YW5kCi0JYWdhaW5zdCBsZWdhbCBjb25uZWN0aW9uIHJhdGUuIElmIHlvdSBzZWUgc3luZmxvb2Qgd2FybmluZ3MKKwlhZ2FpbnN0IGxlZ2FsIGNvbm5lY3Rpb24gcmF0ZS4gSWYgeW91IHNlZSBTWU4gZmxvb2Qgd2FybmluZ3MKIAlpbiB5b3VyIGxvZ3MsIGJ1dCBpbnZlc3RpZ2F0aW9uCXNob3dzIHRoYXQgdGhleSBvY2N1cgogCWJlY2F1c2Ugb2Ygb3ZlcmxvYWQgd2l0aCBsZWdhbCBjb25uZWN0aW9ucywgeW91IHNob3VsZCB0dW5lCiAJYW5vdGhlciBwYXJhbWV0ZXJzIHVudGlsIHRoaXMgd2FybmluZyBkaXNhcHBlYXIuCkBAIC0zODYsNyArMzg3LDcgQEAKIAl0byB1c2UgVENQIGV4dGVuc2lvbnMsIGNhbiByZXN1bHQgaW4gc2VyaW91cyBkZWdyYWRhdGlvbgogCW9mIHNvbWUgc2VydmljZXMgKGYuZS4gU01UUCByZWxheWluZyksIHZpc2libGUgbm90IGJ5IHlvdSwKIAlidXQgeW91ciBjbGllbnRzIGFuZCByZWxheXMsIGNvbnRhY3RpbmcgeW91LiBXaGlsZSB5b3Ugc2VlCi0Jc3luZmxvb2Qgd2FybmluZ3MgaW4gbG9ncyBub3QgYmVpbmcgcmVhbGx5IGZsb29kZWQsIHlvdXIgc2VydmVyCisJU1lOIGZsb29kIHdhcm5pbmdzIGluIGxvZ3Mgbm90IGJlaW5nIHJlYWxseSBmbG9vZGVkLCB5b3VyIHNlcnZlcgogCWlzIHNlcmlvdXNseSBtaXNjb25maWd1cmVkLgogCiB0Y3Bfc3luX3JldHJpZXMgLSBJTlRFR0VSCkBAIC00MTksMTkgKzQyMCwyMSBAQAogCUVuYWJsZSB3aW5kb3cgc2NhbGluZyBhcyBkZWZpbmVkIGluIFJGQzEzMjMuCiAKIHRjcF93bWVtIC0gdmVjdG9yIG9mIDMgSU5URUdFUnM6IG1pbiwgZGVmYXVsdCwgbWF4Ci0JbWluOiBBbW91bnQgb2YgbWVtb3J5IHJlc2VydmVkIGZvciBzZW5kIGJ1ZmZlcnMgZm9yIFRDUCBzb2NrZXQuCisJbWluOiBBbW91bnQgb2YgbWVtb3J5IHJlc2VydmVkIGZvciBzZW5kIGJ1ZmZlcnMgZm9yIFRDUCBzb2NrZXRzLgogCUVhY2ggVENQIHNvY2tldCBoYXMgcmlnaHRzIHRvIHVzZSBpdCBkdWUgdG8gZmFjdCBvZiBpdHMgYmlydGguCiAJRGVmYXVsdDogNEsKIAotCWRlZmF1bHQ6IEFtb3VudCBvZiBtZW1vcnkgYWxsb3dlZCBmb3Igc2VuZCBidWZmZXJzIGZvciBUQ1Agc29ja2V0Ci0JYnkgZGVmYXVsdC4gVGhpcyB2YWx1ZSBvdmVycmlkZXMgbmV0LmNvcmUud21lbV9kZWZhdWx0IHVzZWQKLQlieSBvdGhlciBwcm90b2NvbHMsIGl0IGlzIHVzdWFsbHkgbG93ZXIgdGhhbiBuZXQuY29yZS53bWVtX2RlZmF1bHQuCisJZGVmYXVsdDogaW5pdGlhbCBzaXplIG9mIHNlbmQgYnVmZmVyIHVzZWQgYnkgVENQIHNvY2tldHMuICBUaGlzCisJdmFsdWUgb3ZlcnJpZGVzIG5ldC5jb3JlLndtZW1fZGVmYXVsdCB1c2VkIGJ5IG90aGVyIHByb3RvY29scy4KKwlJdCBpcyB1c3VhbGx5IGxvd2VyIHRoYW4gbmV0LmNvcmUud21lbV9kZWZhdWx0LgogCURlZmF1bHQ6IDE2SwogCi0JbWF4OiBNYXhpbWFsIGFtb3VudCBvZiBtZW1vcnkgYWxsb3dlZCBmb3IgYXV0b21hdGljYWxseSBzZWxlY3RlZAotCXNlbmQgYnVmZmVycyBmb3IgVENQIHNvY2tldC4gVGhpcyB2YWx1ZSBkb2VzIG5vdCBvdmVycmlkZQotCW5ldC5jb3JlLndtZW1fbWF4LCAic3RhdGljIiBzZWxlY3Rpb24gdmlhIFNPX1NOREJVRiBkb2VzIG5vdCB1c2UgdGhpcy4KLQlEZWZhdWx0OiAxMjhLCisJbWF4OiBNYXhpbWFsIGFtb3VudCBvZiBtZW1vcnkgYWxsb3dlZCBmb3IgYXV0b21hdGljYWxseSB0dW5lZAorCXNlbmQgYnVmZmVycyBmb3IgVENQIHNvY2tldHMuIFRoaXMgdmFsdWUgZG9lcyBub3Qgb3ZlcnJpZGUKKwluZXQuY29yZS53bWVtX21heC4gIENhbGxpbmcgc2V0c29ja29wdCgpIHdpdGggU09fU05EQlVGIGRpc2FibGVzCisJYXV0b21hdGljIHR1bmluZyBvZiB0aGF0IHNvY2tldCdzIHNlbmQgYnVmZmVyIHNpemUsIGluIHdoaWNoIGNhc2UKKwl0aGlzIHZhbHVlIGlzIGlnbm9yZWQuCisJRGVmYXVsdDogYmV0d2VlbiA2NEsgYW5kIDRNQiwgZGVwZW5kaW5nIG9uIFJBTSBzaXplLgogCiB0Y3Bfd29ya2Fyb3VuZF9zaWduZWRfd2luZG93cyAtIEJPT0xFQU4KIAlJZiBzZXQsIGFzc3VtZSBubyByZWNlaXB0IG9mIGEgd2luZG93IHNjYWxpbmcgb3B0aW9uIG1lYW5zIHRoZQpAQCAtMTA2MCwyNCArMTA2MywxOTMgQEAKIAlEZWZhdWx0OiAxCiAKIAorcHJvYy9zeXMvbmV0L3NjdHAvKiBWYXJpYWJsZXM6CisKK2FkZGlwX2VuYWJsZSAtIEJPT0xFQU4KKwlFbmFibGUgb3IgZGlzYWJsZSBleHRlbnNpb24gb2YgIER5bmFtaWMgQWRkcmVzcyBSZWNvbmZpZ3VyYXRpb24KKwkoQURELUlQKSBmdW5jdGlvbmFsaXR5IHNwZWNpZmllZCBpbiBSRkM1MDYxLiAgVGhpcyBleHRlbnNpb24gcHJvdmlkZXMKKwl0aGUgYWJpbGl0eSB0byBkeW5hbWljYWxseSBhZGQgYW5kIHJlbW92ZSBuZXcgYWRkcmVzc2VzIGZvciB0aGUgU0NUUAorCWFzc29jaWF0aW9ucy4KKworCTE6IEVuYWJsZSBleHRlbnNpb24uCisKKwkwOiBEaXNhYmxlIGV4dGVuc2lvbi4KKworCURlZmF1bHQ6IDAKKworYWRkaXBfbm9hdXRoX2VuYWJsZSAtIEJPT0xFQU4KKwlEeW5hbWljIEFkZHJlc3MgUmVjb25maWd1cmF0aW9uIChBREQtSVApIHJlcXVpcmVzIHRoZSB1c2Ugb2YKKwlhdXRoZW50aWNhdGlvbiB0byBwcm90ZWN0IHRoZSBvcGVyYXRpb25zIG9mIGFkZGluZyBvciByZW1vdmluZyBuZXcKKwlhZGRyZXNzZXMuICBUaGlzIHJlcXVpcmVtZW50IGlzIG1hbmRhdGVkIHNvIHRoYXQgdW5hdXRob3JpemVkIGhvc3RzCisJd291bGQgbm90IGJlIGFibGUgdG8gaGlqYWNrIGFzc29jaWF0aW9ucy4gIEhvd2V2ZXIsIG9sZGVyCisJaW1wbGVtZW50YXRpb25zIG1heSBub3QgaGF2ZSBpbXBsZW1lbnRlZCB0aGlzIHJlcXVpcmVtZW50IHdoaWxlCisJYWxsb3dpbmcgdGhlIEFERC1JUCBleHRlbnNpb24uICBGb3IgcmVhc29ucyBvZiBpbnRlcm9wZXJhYmlsaXR5LAorCXdlIHByb3ZpZGUgdGhpcyB2YXJpYWJsZSB0byBjb250cm9sIHRoZSBlbmZvcmNlbWVudCBvZiB0aGUKKwlhdXRoZW50aWNhdGlvbiByZXF1aXJlbWVudC4KKworCTE6IEFsbG93IEFERC1JUCBleHRlbnNpb24gdG8gYmUgdXNlZCB3aXRob3V0IGF1dGhlbnRpY2F0aW9uLiAgVGhpcworCSAgIHNob3VsZCBvbmx5IGJlIHNldCBpbiBhIGNsb3NlZCBlbnZpcm9ubWVudCBmb3IgaW50ZXJvcGVyYWJpbGl0eQorCSAgIHdpdGggb2xkZXIgaW1wbGVtZW50YXRpb25zLgorCisJMDogRW5mb3JjZSB0aGUgYXV0aGVudGljYXRpb24gcmVxdWlyZW1lbnQKKworCURlZmF1bHQ6IDAKKworYXV0aF9lbmFibGUgLSBCT09MRUFOCisJRW5hYmxlIG9yIGRpc2FibGUgQXV0aGVudGljYXRlZCBDaHVua3MgZXh0ZW5zaW9uLiAgVGhpcyBleHRlbnNpb24KKwlwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBzZW5kIGFuZCByZWNlaXZlIGF1dGhlbnRpY2F0ZWQgY2h1bmtzIGFuZCBpcworCXJlcXVpcmVkIGZvciBzZWN1cmUgb3BlcmF0aW9uIG9mIER5bmFtaWMgQWRkcmVzcyBSZWNvbmZpZ3VyYXRpb24KKwkoQURELUlQKSBleHRlbnNpb24uCisKKwkxOiBFbmFibGUgdGhpcyBleHRlbnNpb24uCisJMDogRGlzYWJsZSB0aGlzIGV4dGVuc2lvbi4KKworCURlZmF1bHQ6IDAKKworcHJzY3RwX2VuYWJsZSAtIEJPT0xFQU4KKwlFbmFibGUgb3IgZGlzYWJsZSB0aGUgUGFydGlhbCBSZWxpYWJpbGl0eSBleHRlbnNpb24gKFJGQzM3NTgpIHdoaWNoCisJaXMgdXNlZCB0byBub3RpZnkgcGVlcnMgdGhhdCBhIGdpdmVuIERBVEEgc2hvdWxkIG5vIGxvbmdlciBiZSBleHBlY3RlZC4KKworCTE6IEVuYWJsZSBleHRlbnNpb24KKwkwOiBEaXNhYmxlCisKKwlEZWZhdWx0OiAxCisKK21heF9idXJzdCAtIElOVEVHRVIKKwlUaGUgbGltaXQgb2YgdGhlIG51bWJlciBvZiBuZXcgcGFja2V0cyB0aGF0IGNhbiBiZSBpbml0aWFsbHkgc2VudC4gIEl0CisJY29udHJvbHMgaG93IGJ1cnN0eSB0aGUgZ2VuZXJhdGVkIHRyYWZmaWMgY2FuIGJlLgorCisJRGVmYXVsdDogNAorCithc3NvY2lhdGlvbl9tYXhfcmV0cmFucyAtIElOVEVHRVIKKwlTZXQgdGhlIG1heGltdW0gbnVtYmVyIGZvciByZXRyYW5zbWlzc2lvbnMgdGhhdCBhbiBhc3NvY2lhdGlvbiBjYW4KKwlhdHRlbXB0IGRlY2lkaW5nIHRoYXQgdGhlIHJlbW90ZSBlbmQgaXMgdW5yZWFjaGFibGUuICBJZiB0aGlzIHZhbHVlCisJaXMgZXhjZWVkZWQsIHRoZSBhc3NvY2lhdGlvbiBpcyB0ZXJtaW5hdGVkLgorCisJRGVmYXVsdDogMTAKKworbWF4X2luaXRfcmV0cmFuc21pdHMgLSBJTlRFR0VSCisJVGhlIG1heGltdW0gbnVtYmVyIG9mIHJldHJhbnNtaXNzaW9ucyBvZiBJTklUIGFuZCBDT09LSUUtRUNITyBjaHVua3MKKwl0aGF0IGFuIGFzc29jaWF0aW9uIHdpbGwgYXR0ZW1wdCBiZWZvcmUgZGVjbGFyaW5nIHRoZSBkZXN0aW5hdGlvbgorCXVucmVhY2hhYmxlIGFuZCB0ZXJtaW5hdGluZy4KKworCURlZmF1bHQ6IDgKKworcGF0aF9tYXhfcmV0cmFucyAtIElOVEVHRVIKKwlUaGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmFuc21pc3Npb25zIHRoYXQgd2lsbCBiZSBhdHRlbXB0ZWQgb24gYSBnaXZlbgorCXBhdGguICBPbmNlIHRoaXMgdGhyZXNob2xkIGlzIGV4Y2VlZGVkLCB0aGUgcGF0aCBpcyBjb25zaWRlcmVkCisJdW5yZWFjaGFibGUsIGFuZCBuZXcgdHJhZmZpYyB3aWxsIHVzZSBhIGRpZmZlcmVudCBwYXRoIHdoZW4gdGhlCisJYXNzb2NpYXRpb24gaXMgbXVsdGlob21lZC4KKworCURlZmF1bHQ6IDUKKworcnRvX2luaXRpYWwgLSBJTlRFR0VSCisJVGhlIGluaXRpYWwgcm91bmQgdHJpcCB0aW1lb3V0IHZhbHVlIGluIG1pbGxpc2Vjb25kcyB0aGF0IHdpbGwgYmUgdXNlZAorCWluIGNhbGN1bGF0aW5nIHJvdW5kIHRyaXAgdGltZXMuICBUaGlzIGlzIHRoZSBpbml0aWFsIHRpbWUgaW50ZXJ2YWwKKwlmb3IgcmV0cmFuc21pc3Npb25zLgorCisJRGVmYXVsdDogMzAwMAorCitydG9fbWF4IC0gSU5URUdFUgorCVRoZSBtYXhpbXVtIHZhbHVlIChpbiBtaWxsaXNlY29uZHMpIG9mIHRoZSByb3VuZCB0cmlwIHRpbWVvdXQuICBUaGlzCisJaXMgdGhlIGxhcmdlc3QgdGltZSBpbnRlcnZhbCB0aGF0IGNhbiBlbGFwc2UgYmV0d2VlbiByZXRyYW5zbWlzc2lvbnMuCisKKwlEZWZhdWx0OiA2MDAwMAorCitydG9fbWluIC0gSU5URUdFUgorCVRoZSBtaW5pbXVtIHZhbHVlIChpbiBtaWxsaXNlY29uZHMpIG9mIHRoZSByb3VuZCB0cmlwIHRpbWVvdXQuICBUaGlzCisJaXMgdGhlIHNtYWxsZXN0IHRpbWUgaW50ZXJ2YWwgdGhlIGNhbiBlbGFwc2UgYmV0d2VlbiByZXRyYW5zbWlzc2lvbnMuCisKKwlEZWZhdWx0OiAxMDAwCisKK2hiX2ludGVydmFsIC0gSU5URUdFUgorCVRoZSBpbnRlcnZhbCAoaW4gbWlsbGlzZWNvbmRzKSBiZXR3ZWVuIEhFQVJUQkVBVCBjaHVua3MuICBUaGVzZSBjaHVua3MKKwlhcmUgc2VudCBhdCB0aGUgc3BlY2lmaWVkIGludGVydmFsIG9uIGlkbGUgcGF0aHMgdG8gcHJvYmUgdGhlIHN0YXRlIG9mCisJYSBnaXZlbiBwYXRoIGJldHdlZW4gMiBhc3NvY2lhdGlvbnMuCisKKwlEZWZhdWx0OiAzMDAwMAorCitzYWNrX3RpbWVvdXQgLSBJTlRFR0VSCisJVGhlIGFtb3VudCBvZiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIHdpbGwgd2FpdAorCXRvIHNlbmQgYSBTQUNLLgorCisJRGVmYXVsdDogMjAwCisKK3ZhbGlkX2Nvb2tpZV9saWZlIC0gSU5URUdFUgorCVRoZSBkZWZhdWx0IGxpZmV0aW1lIG9mIHRoZSBTQ1RQIGNvb2tpZSAoaW4gbWlsbGlzZWNvbmRzKS4gIFRoZSBjb29raWUKKwlpcyB1c2VkIGR1cmluZyBhc3NvY2lhdGlvbiBlc3RhYmxpc2htZW50LgorCisJRGVmYXVsdDogNjAwMDAKKworY29va2llX3ByZXNlcnZlX2VuYWJsZSAtIEJPT0xFQU4KKwlFbmFibGUgb3IgZGlzYWJsZSB0aGUgYWJpbGl0eSB0byBleHRlbmQgdGhlIGxpZmV0aW1lIG9mIHRoZSBTQ1RQIGNvb2tpZQorCXRoYXQgaXMgdXNlZCBkdXJpbmcgdGhlIGVzdGFibGlzaG1lbnQgcGhhc2Ugb2YgU0NUUCBhc3NvY2lhdGlvbgorCisJMTogRW5hYmxlIGNvb2tpZSBsaWZldGltZSBleHRlbnNpb24uCisJMDogRGlzYWJsZQorCisJRGVmYXVsdDogMQorCityY3ZidWZfcG9saWN5IC0gSU5URUdFUgorCURldGVybWluZXMgaWYgdGhlIHJlY2VpdmUgYnVmZmVyIGlzIGF0dHJpYnV0ZWQgdG8gdGhlIHNvY2tldCBvciB0bworCWFzc29jaWF0aW9uLiAgIFNDVFAgc3VwcG9ydHMgdGhlIGNhcGFiaWxpdHkgdG8gY3JlYXRlIG11bHRpcGxlCisJYXNzb2NpYXRpb25zIG9uIGEgc2luZ2xlIHNvY2tldC4gIFdoZW4gdXNpbmcgdGhpcyBjYXBhYmlsaXR5LCBpdCBpcworCXBvc3NpYmxlIHRoYXQgYSBzaW5nbGUgc3RhbGxlZCBhc3NvY2lhdGlvbiB0aGF0J3MgYnVmZmVyaW5nIGEgbG90CisJb2YgZGF0YSBtYXkgYmxvY2sgb3RoZXIgYXNzb2NpYXRpb25zIGZyb20gZGVsaXZlcmluZyB0aGVpciBkYXRhIGJ5CisJY29uc3VtaW5nIGFsbCBvZiB0aGUgcmVjZWl2ZSBidWZmZXIgc3BhY2UuICBUbyB3b3JrIGFyb3VuZCB0aGlzLAorCXRoZSByY3ZidWZfcG9saWN5IGNvdWxkIGJlIHNldCB0byBhdHRyaWJ1dGUgdGhlIHJlY2VpdmVyIGJ1ZmZlciBzcGFjZQorCXRvIGVhY2ggYXNzb2NpYXRpb24gaW5zdGVhZCBvZiB0aGUgc29ja2V0LiAgVGhpcyBwcmV2ZW50cyB0aGUgZGVzY3JpYmVkCisJYmxvY2tpbmcuCisKKwkxOiByY3ZidWYgc3BhY2UgaXMgcGVyIGFzc29jaWF0aW9uCisJMDogcmVjYnVmIHNwYWNlIGlzIHBlciBzb2NrZXQKKworCURlZmF1bHQ6IDAKKworc25kYnVmX3BvbGljeSAtIElOVEVHRVIKKwlTaW1pbGFyIHRvIHJjdmJ1Zl9wb2xpY3kgYWJvdmUsIHRoaXMgYXBwbGllcyB0byBzZW5kIGJ1ZmZlciBzcGFjZS4KKworCTE6IFNlbmQgYnVmZmVyIGlzIHRyYWNrZWQgcGVyIGFzc29jaWF0aW9uCisJMDogU2VuZCBidWZmZXIgaXMgdHJhY2tlZCBwZXIgc29ja2V0LgorCisJRGVmYXVsdDogMAorCitzY3RwX21lbSAtIHZlY3RvciBvZiAzIElOVEVHRVJzOiBtaW4sIHByZXNzdXJlLCBtYXgKKwlOdW1iZXIgb2YgcGFnZXMgYWxsb3dlZCBmb3IgcXVldWVpbmcgYnkgYWxsIFNDVFAgc29ja2V0cy4KKworCW1pbjogQmVsb3cgdGhpcyBudW1iZXIgb2YgcGFnZXMgU0NUUCBpcyBub3QgYm90aGVyZWQgYWJvdXQgaXRzCisJbWVtb3J5IGFwcGV0aXRlLiBXaGVuIGFtb3VudCBvZiBtZW1vcnkgYWxsb2NhdGVkIGJ5IFNDVFAgZXhjZWVkcworCXRoaXMgbnVtYmVyLCBTQ1RQIHN0YXJ0cyB0byBtb2RlcmF0ZSBtZW1vcnkgdXNhZ2UuCisKKwlwcmVzc3VyZTogVGhpcyB2YWx1ZSB3YXMgaW50cm9kdWNlZCB0byBmb2xsb3cgZm9ybWF0IG9mIHRjcF9tZW0uCisKKwltYXg6IE51bWJlciBvZiBwYWdlcyBhbGxvd2VkIGZvciBxdWV1ZWluZyBieSBhbGwgU0NUUCBzb2NrZXRzLgorCisJRGVmYXVsdCBpcyBjYWxjdWxhdGVkIGF0IGJvb3QgdGltZSBmcm9tIGFtb3VudCBvZiBhdmFpbGFibGUgbWVtb3J5LgorCitzY3RwX3JtZW0gLSB2ZWN0b3Igb2YgMyBJTlRFR0VSczogbWluLCBkZWZhdWx0LCBtYXgKKwlTZWUgdGNwX3JtZW0gZm9yIGEgZGVzY3JpcHRpb24uCisKK3NjdHBfd21lbSAgLSB2ZWN0b3Igb2YgMyBJTlRFR0VSczogbWluLCBkZWZhdWx0LCBtYXgKKwlTZWUgdGNwX3dtZW0gZm9yIGEgZGVzY3JpcHRpb24uCisKIFVORE9DVU1FTlRFRDoKIAotZGV2X3dlaWdodCBGSVhNRQotZGlzY292ZXJ5X3Nsb3RzIEZJWE1FCi1kaXNjb3ZlcnlfdGltZW91dCBGSVhNRQotZmFzdF9wb2xsX2luY3JlYXNlIEZJWE1FCi1pcDZfcXVldWVfbWF4bGVuIEZJWE1FCi1sYXBfa2VlcGFsaXZlX3RpbWUgRklYTUUKLWxvX2NvbmcgRklYTUUKLW1heF9iYXVkX3JhdGUgRklYTUUKLW1heF9kZ3JhbV9xbGVuIEZJWE1FCi1tYXhfbm9yZXBseV90aW1lIEZJWE1FCi1tYXhfdHhfZGF0YV9zaXplIEZJWE1FCi1tYXhfdHhfd2luZG93IEZJWE1FCi1taW5fdHhfdHVybl90aW1lIEZJWE1FCi1tb2RfY29uZyBGSVhNRQotbm9fY29uZyBGSVhNRQotbm9fY29uZ190aHJlc2ggRklYTUUKLXNsb3RfdGltZW91dCBGSVhNRQotd2Fybl9ub3JlcGx5X3RpbWUgRklYTUUKKy9wcm9jL3N5cy9uZXQvY29yZS8qCisJZGV2X3dlaWdodCBGSVhNRQogCisvcHJvYy9zeXMvbmV0L3VuaXgvKgorCW1heF9kZ3JhbV9xbGVuIEZJWE1FCisKKy9wcm9jL3N5cy9uZXQvaXJkYS8qCisJZmFzdF9wb2xsX2luY3JlYXNlIEZJWE1FCisJd2Fybl9ub3JlcGx5X3RpbWUgRklYTUUKKwlkaXNjb3Zlcnlfc2xvdHMgRklYTUUKKwlzbG90X3RpbWVvdXQgRklYTUUKKwltYXhfYmF1ZF9yYXRlIEZJWE1FCisJZGlzY292ZXJ5X3RpbWVvdXQgRklYTUUKKwlsYXBfa2VlcGFsaXZlX3RpbWUgRklYTUUKKwltYXhfbm9yZXBseV90aW1lIEZJWE1FCisJbWF4X3R4X2RhdGFfc2l6ZSBGSVhNRQorCW1heF90eF93aW5kb3cgRklYTUUKKwltaW5fdHhfdHVybl90aW1lIEZJWE1FCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL25taV93YXRjaGRvZy50eHQgYi9Eb2N1bWVudGF0aW9uL25taV93YXRjaGRvZy50eHQKaW5kZXggNzU3YzcyOS4uOTBhYTQ1MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ubWlfd2F0Y2hkb2cudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbm1pX3dhdGNoZG9nLnR4dApAQCAtMTAsNyArMTAsNyBAQAogd2hpY2ggZ2V0IGV4ZWN1dGVkIGV2ZW4gaWYgdGhlIHN5c3RlbSBpcyBvdGhlcndpc2UgbG9ja2VkIHVwIGhhcmQpLgogVGhpcyBjYW4gYmUgdXNlZCB0byBkZWJ1ZyBoYXJkIGtlcm5lbCBsb2NrdXBzLiAgQnkgZXhlY3V0aW5nIHBlcmlvZGljCiBOTUkgaW50ZXJydXB0cywgdGhlIGtlcm5lbCBjYW4gbW9uaXRvciB3aGV0aGVyIGFueSBDUFUgaGFzIGxvY2tlZCB1cCwKLWFuZCBwcmludCBvdXQgZGVidWdnaW5nIG1lc3NhZ2VzIGlmIHNvLiAgCithbmQgcHJpbnQgb3V0IGRlYnVnZ2luZyBtZXNzYWdlcyBpZiBzby4KIAogSW4gb3JkZXIgdG8gdXNlIHRoZSBOTUkgd2F0Y2hkb2csIHlvdSBuZWVkIHRvIGhhdmUgQVBJQyBzdXBwb3J0IGluIHlvdXIKIGtlcm5lbC4gRm9yIFNNUCBrZXJuZWxzLCBBUElDIHN1cHBvcnQgZ2V0cyBjb21waWxlZCBpbiBhdXRvbWF0aWNhbGx5LiBGb3IKQEAgLTIyLDggKzIyLDcgQEAKIGtlcm5lbCBkZWJ1Z2dpbmcgb3B0aW9ucywgc3VjaCBhcyBLZXJuZWwgU3RhY2sgTWV0ZXIgb3IgS2VybmVsIFRyYWNlciwKIG1heSBpbXBsaWNpdGx5IGRpc2FibGUgdGhlIE5NSSB3YXRjaGRvZy5dCiAKLUZvciB4ODYtNjQsIHRoZSBuZWVkZWQgQVBJQyBpcyBhbHdheXMgY29tcGlsZWQgaW4sIGFuZCB0aGUgTk1JIHdhdGNoZG9nIGlzCi1hbHdheXMgZW5hYmxlZCB3aXRoIEkvTy1BUElDIG1vZGUgKG5taV93YXRjaGRvZz0xKS4KK0ZvciB4ODYtNjQsIHRoZSBuZWVkZWQgQVBJQyBpcyBhbHdheXMgY29tcGlsZWQgaW4uCiAKIFVzaW5nIGxvY2FsIEFQSUMgKG5taV93YXRjaGRvZz0yKSBuZWVkcyB0aGUgZmlyc3QgcGVyZm9ybWFuY2UgcmVnaXN0ZXIsIHNvCiB5b3UgY2FuJ3QgdXNlIGl0IGZvciBvdGhlciBwdXJwb3NlcyAoc3VjaCBhcyBoaWdoIHByZWNpc2lvbiBwZXJmb3JtYW5jZQpAQCAtNjMsMTYgKzYyLDE1IEBACiAiaGx0IiwgdGhlbiB5b3UgYXJlIG91dCBvZiBsdWNrIC0tIHRoZSBldmVudCB3aWxsIG5vdCBoYXBwZW4gYXQgYWxsIGFuZCB0aGUKIHdhdGNoZG9nIHdvbid0IHRyaWdnZXIuIFRoaXMgaXMgYSBzaG9ydGNvbWluZyBvZiB0aGUgbG9jYWwgQVBJQyB3YXRjaGRvZwogLS0gdW5mb3J0dW5hdGVseSB0aGVyZSBpcyBubyAiY2xvY2sgdGlja3MiIGV2ZW50IHRoYXQgd291bGQgd29yayBhbGwgdGhlCi10aW1lLiBUaGUgSS9PIEFQSUMgd2F0Y2hkb2cgaXMgZHJpdmVuIGV4dGVybmFsbHkgYW5kIGhhcyBubyBzdWNoIHNob3J0Y29taW5nLiAgCit0aW1lLiBUaGUgSS9PIEFQSUMgd2F0Y2hkb2cgaXMgZHJpdmVuIGV4dGVybmFsbHkgYW5kIGhhcyBubyBzdWNoIHNob3J0Y29taW5nLgogQnV0IGl0cyBOTUkgZnJlcXVlbmN5IGlzIG11Y2ggaGlnaGVyLCByZXN1bHRpbmcgaW4gYSBtb3JlIHNpZ25pZmljYW50IGhpdAogdG8gdGhlIG92ZXJhbGwgc3lzdGVtIHBlcmZvcm1hbmNlLgogCi1OT1RFOiBzdGFydGluZyB3aXRoIDIuNC4yLWFjMTggdGhlIE5NSS1vb3BzZXIgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCwKLXlvdSBoYXZlIHRvIGVuYWJsZSBpdCB3aXRoIGEgYm9vdCB0aW1lIHBhcmFtZXRlci4gIFByaW9yIHRvIDIuNC4yLWFjMTgKLXRoZSBOTUktb29wc2VyIGlzIGVuYWJsZWQgdW5jb25kaXRpb25hbGx5IG9uIHg4NiBTTVAgYm94ZXMuCitPbiB4ODYgbm1pX3dhdGNoZG9nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgc28geW91IGhhdmUgdG8gZW5hYmxlIGl0IHdpdGgKK2EgYm9vdCB0aW1lIHBhcmFtZXRlci4KIAotT24geDg2LTY0IHRoZSBOTUkgb29wc2VyIGlzIG9uIGJ5IGRlZmF1bHQuIE9uIDY0Yml0IEludGVsIENQVXMKLWl0IHVzZXMgSU8tQVBJQyBieSBkZWZhdWx0IGFuZCBvbiBBTUQgaXQgdXNlcyBsb2NhbCBBUElDLgorTk9URTogSW4ga2VybmVscyBwcmlvciB0byAyLjQuMi1hYzE4IHRoZSBOTUktb29wc2VyIGlzIGVuYWJsZWQgdW5jb25kaXRpb25hbGx5CitvbiB4ODYgU01QIGJveGVzLgogCiBbIGZlZWwgZnJlZSB0byBzZW5kIGJ1ZyByZXBvcnRzLCBzdWdnZXN0aW9ucyBhbmQgcGF0Y2hlcyB0bwogICBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4gb3IgdGhlIExpbnV4IFNNUCBtYWlsaW5nCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1kb21haW5zLnR4dCBiL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLWRvbWFpbnMudHh0CmluZGV4IGE5ZTk5MGEuLjM3M2NlYWMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLWRvbWFpbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLWRvbWFpbnMudHh0CkBAIC02MSwxMCArNjEsNyBAQAogYXJjaF9pbml0X3NjaGVkX2RvbWFpbnMgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gd2lsbCBhdHRhY2ggZG9tYWlucyB0byBhbGwKIENQVXMgdXNpbmcgY3B1X2F0dGFjaF9kb21haW4uCiAKLUltcGxlbWVudG9ycyBzaG91bGQgY2hhbmdlIHRoZSBsaW5lCi0jdW5kZWYgU0NIRURfRE9NQUlOX0RFQlVHCi10bwotI2RlZmluZSBTQ0hFRF9ET01BSU5fREVCVUcKLWluIGtlcm5lbC9zY2hlZC5jIGFzIHRoaXMgZW5hYmxlcyBhbiBlcnJvciBjaGVja2luZyBwYXJzZSBvZiB0aGUgc2NoZWQgZG9tYWlucworVGhlIHNjaGVkLWRvbWFpbnMgZGVidWdnaW5nIGluZnJhc3RydWN0dXJlIGNhbiBiZSBlbmFibGVkIGJ5IGVuYWJsaW5nCitDT05GSUdfU0NIRURfREVCVUcuIFRoaXMgZW5hYmxlcyBhbiBlcnJvciBjaGVja2luZyBwYXJzZSBvZiB0aGUgc2NoZWQgZG9tYWlucwogd2hpY2ggc2hvdWxkIGNhdGNoIG1vc3QgcG9zc2libGUgZXJyb3JzIChkZXNjcmliZWQgYWJvdmUpLiBJdCBhbHNvIHByaW50cyBvdXQKIHRoZSBkb21haW4gc3RydWN0dXJlIGluIGEgdmlzdWFsIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLXJ0LWdyb3VwLnR4dCBiL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLXJ0LWdyb3VwLnR4dAppbmRleCAxNGY5MDFmLi4zZWYzMzlmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1ydC1ncm91cC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9zY2hlZHVsZXIvc2NoZWQtcnQtZ3JvdXAudHh0CkBAIC01MSw5ICs1MSw5IEBACiAwLjAwMDE1cy4gU28gdGhpcyBncm91cCBjYW4gYmUgc2NoZWR1bGVkIHdpdGggYSBwZXJpb2Qgb2YgMC4wMDVzIGFuZCBhIHJ1biB0aW1lCiBvZiAwLjAwMDE1cy4KIAotVGhlIHJlbWFpbmluZyBDUFUgdGltZSB3aWxsIGJlIHVzZWQgZm9yIHVzZXIgaW5wdXQgYW5kIG90aGVyIHRhc3MuIEJlY2F1c2UKK1RoZSByZW1haW5pbmcgQ1BVIHRpbWUgd2lsbCBiZSB1c2VkIGZvciB1c2VyIGlucHV0IGFuZCBvdGhlciB0YXNrcy4gQmVjYXVzZQogcmVhbHRpbWUgdGFza3MgaGF2ZSBleHBsaWNpdGx5IGFsbG9jYXRlZCB0aGUgQ1BVIHRpbWUgdGhleSBuZWVkIHRvIHBlcmZvcm0KLXRoZWlyIHRhc2tzLCBidWZmZXIgdW5kZXJydW5zIGluIHRoZSBncmFwaG9jcyBvciBhdWRpbyBjYW4gYmUgZWxpbWluYXRlZC4KK3RoZWlyIHRhc2tzLCBidWZmZXIgdW5kZXJydW5zIGluIHRoZSBncmFwaGljcyBvciBhdWRpbyBjYW4gYmUgZWxpbWluYXRlZC4KIAogTk9URTogdGhlIGFib3ZlIGV4YW1wbGUgaXMgbm90IGZ1bGx5IGltcGxlbWVudGVkIGFzIG9mIHlldCAoMi42LjI1KS4gV2Ugc3RpbGwKIGxhY2sgYW4gRURGIHNjaGVkdWxlciB0byBtYWtlIG5vbi11bmlmb3JtIHBlcmlvZHMgdXNhYmxlLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0FMU0EtQ29uZmlndXJhdGlvbi50eHQgYi9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvQUxTQS1Db25maWd1cmF0aW9uLnR4dAppbmRleCAwYmJlZTM4Li43MmFmZjYxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvQUxTQS1Db25maWd1cmF0aW9uLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvQUxTQS1Db25maWd1cmF0aW9uLnR4dApAQCAtNzUzLDggKzc1MywxMSBAQAogCiAgICAgW011bHRpcGxlIG9wdGlvbnMgZm9yIGVhY2ggY2FyZCBpbnN0YW5jZV0KICAgICBtb2RlbAktIGZvcmNlIHRoZSBtb2RlbCBuYW1lCi0gICAgcG9zaXRpb25fZml4IC0gRml4IERNQSBwb2ludGVyICgwID0gYXV0bywgMSA9IG5vbmUsIDIgPSBQT1NCVUYsIDMgPSBGSUZPIHNpemUpCisgICAgcG9zaXRpb25fZml4IC0gRml4IERNQSBwb2ludGVyICgwID0gYXV0bywgMSA9IHVzZSBMUElCLCAyID0gUE9TQlVGKQogICAgIHByb2JlX21hc2sgIC0gQml0bWFzayB0byBwcm9iZSBjb2RlY3MgKGRlZmF1bHQgPSAtMSwgbWVhbmluZyBhbGwgc2xvdHMpCisgICAgYmRsX3Bvc19hZGoJLSBTcGVjaWZpZXMgdGhlIERNQSBJUlEgdGltaW5nIGRlbGF5IGluIHNhbXBsZXMuCisJCVBhc3NpbmcgLTEgd2lsbCBtYWtlIHRoZSBkcml2ZXIgdG8gY2hvb3NlIHRoZSBhcHByb3ByaWF0ZQorCQl2YWx1ZSBiYXNlZCBvbiB0aGUgY29udHJvbGxlciBjaGlwLgogICAgIAogICAgIFtTaW5nbGUgKGdsb2JhbCkgb3B0aW9uc10KICAgICBzaW5nbGVfY21kICAtIFVzZSBzaW5nbGUgaW1tZWRpYXRlIGNvbW1hbmRzIHRvIGNvbW11bmljYXRlIHdpdGgKQEAgLTg0NSw3ICs4NDgsNyBAQAogCUFMQzI2OQogCSAgYmFzaWMJCUJhc2ljIHByZXNldAogCi0JQUxDNjYyCisJQUxDNjYyLzY2MwogCSAgM3N0YWNrLWRpZwkzLXN0YWNrICgyLWNoYW5uZWwpIHdpdGggU1BESUYKIAkgIDNzdGFjay02Y2gJIDMtc3RhY2sgKDYtY2hhbm5lbCkKIAkgIDNzdGFjay02Y2gtZGlnIDMtc3RhY2sgKDYtY2hhbm5lbCkgd2l0aCBTUERJRgpAQCAtODUzLDYgKzg1NiwxMCBAQAogCSAgbGVub3ZvLTEwMWUJIExlbm92byBsYXB0b3AKIAkgIGVlZXBjLXA3MDEJQVNVUyBFZWVwYyBQNzAxCiAJICBlZWVwYy1lcDIwCUFTVVMgRWVlcGMgRVAyMAorCSAgbTUxdmEJCUFTVVMgTTUxVkEKKwkgIGc3MXYJCUFTVVMgRzcxVgorCSAgaDEzCQlBU1VTIEgxMworCSAgZzUwdgkJQVNVUyBHNTBWCiAJICBhdXRvCQlhdXRvLWNvbmZpZyByZWFkaW5nIEJJT1MgKGRlZmF1bHQpCiAKIAlBTEM4ODIvODg1CkBAIC0xMDkxLDcgKzEwOTgsNyBAQAogICAgIFRoaXMgb2NjdXJzIHdoZW4gdGhlIGFjY2VzcyB0byBub24tZXhpc3Rpbmcgb3Igbm9uLXdvcmtpbmcgY29kZWMgc2xvdAogICAgIChsaWtlbHkgYSBtb2RlbSBvbmUpIGNhdXNlcyBhIHN0YWxsIG9mIHRoZSBjb21tdW5pY2F0aW9uIHZpYSBIRC1hdWRpbwogICAgIGJ1cy4gIFlvdSBjYW4gc2VlIHdoaWNoIGNvZGVjIHNsb3RzIGFyZSBwcm9iZWQgYnkgZW5hYmxpbmcKLSAgICBDT05GSUdfU05EX0RFQlVHX0RFVEVDVCwgb3Igc2ltcGx5IGZyb20gdGhlIGZpbGUgbmFtZSBvZiB0aGUgY29kZWMKKyAgICBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UsIG9yIHNpbXBseSBmcm9tIHRoZSBmaWxlIG5hbWUgb2YgdGhlIGNvZGVjCiAgICAgcHJvYyBmaWxlcy4gIFRoZW4gbGltaXQgdGhlIHNsb3RzIHRvIHByb2JlIGJ5IHByb2JlX21hc2sgb3B0aW9uLgogICAgIEZvciBleGFtcGxlLCBwcm9iZV9tYXNrPTEgbWVhbnMgdG8gcHJvYmUgb25seSB0aGUgZmlyc3Qgc2xvdCwgYW5kCiAgICAgcHJvYmVfbWFzaz00IG1lYW5zIG9ubHkgdGhlIHRoaXJkIHNsb3QuCkBAIC0yMjY3LDYgKzIyNzQsMTAgQEAKIG90aGVyIGRyaXZlciAoZS5nLiBzbmQtdXNiLWF1ZGlvKSBpcyBsb2FkZWQgYmVmb3JlIHNuZC1pbnRlcndhdmUgb3IKIHNuZC1lbnMxMzcxLCBpdCB3aWxsIGJlIGFzc2lnbmVkIHRvIHRoZSB0aGlyZCBvciBsYXRlciBzbG90LgogCitXaGVuIGEgbW9kdWxlIG5hbWUgaXMgZ2l2ZW4gd2l0aCAnIScsIHRoZSBzbG90IHdpbGwgYmUgZ2l2ZW4gZm9yIGFueQorbW9kdWxlcyBidXQgdGhhdCBuYW1lLiAgRm9yIGV4YW1wbGUsICJzbG90cz0hc25kLXBjc3AiIHdpbGwgcmVzZXJ2ZQordGhlIGZpcnN0IHNsb3QgZm9yIGFueSBtb2R1bGVzIGJ1dCBzbmQtcGNzcC4gCisKIAogQUxTQSBQQ00gZGV2aWNlcyB0byBPU1MgZGV2aWNlcyBtYXBwaW5nCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9Eb2NCb29rL3dyaXRpbmctYW4tYWxzYS1kcml2ZXIudG1wbCBiL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9Eb2NCb29rL3dyaXRpbmctYW4tYWxzYS1kcml2ZXIudG1wbAppbmRleCBiMDNkZjRkLi5lMTNjNGU2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvRG9jQm9vay93cml0aW5nLWFuLWFsc2EtZHJpdmVyLnRtcGwKKysrIGIvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0RvY0Jvb2svd3JpdGluZy1hbi1hbHNhLWRyaXZlci50bXBsCkBAIC02MTI3LDggKzYxMjcsOCBAQAogCiAgICAgICA8cGFyYT4KICAgICAgICAgPGZ1bmN0aW9uPnNuZF9wcmludGRkKCk8L2Z1bmN0aW9uPiBpcyBjb21waWxlZCBpbiBvbmx5IHdoZW4KLSAgICAgIDxjb25zdGFudD5DT05GSUdfU05EX0RFQlVHX0RFVEVDVDwvY29uc3RhbnQ+IGlzIHNldC4gUGxlYXNlIG5vdGUKLSAgICAgIHRoYXQgPGNvbnN0YW50PkRFQlVHX0RFVEVDVDwvY29uc3RhbnQ+IGlzIG5vdCBzZXQgYXMgZGVmYXVsdAorICAgICAgPGNvbnN0YW50PkNPTkZJR19TTkRfREVCVUdfVkVSQk9TRTwvY29uc3RhbnQ+IGlzIHNldC4gUGxlYXNlIG5vdGUKKyAgICAgIHRoYXQgPGNvbnN0YW50PkNPTkZJR19TTkRfREVCVUdfVkVSQk9TRTwvY29uc3RhbnQ+IGlzIG5vdCBzZXQgYXMgZGVmYXVsdAogICAgICAgZXZlbiBpZiB5b3UgY29uZmlndXJlIHRoZSBhbHNhLWRyaXZlciB3aXRoCiAgICAgICA8b3B0aW9uPi0td2l0aC1kZWJ1Zz1mdWxsPC9vcHRpb24+IG9wdGlvbi4gWW91IG5lZWQgdG8gZ2l2ZQogICAgICAgZXhwbGljaXRseSA8b3B0aW9uPi0td2l0aC1kZWJ1Zz1kZXRlY3Q8L29wdGlvbj4gb3B0aW9uIGluc3RlYWQuIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90cmFjZXJzL21taW90cmFjZS50eHQgYi9Eb2N1bWVudGF0aW9uL3RyYWNlcnMvbW1pb3RyYWNlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGFmYjU2Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi90cmFjZXJzL21taW90cmFjZS50eHQKQEAgLTAsMCArMSwxNjQgQEAKKwkJSW4ta2VybmVsIG1lbW9yeS1tYXBwZWQgSS9PIHRyYWNpbmcKKworCitIb21lIHBhZ2UgYW5kIGxpbmtzIHRvIG9wdGlvbmFsIHVzZXIgc3BhY2UgdG9vbHM6CisKKwlodHRwOi8vbm91dmVhdS5mcmVlZGVza3RvcC5vcmcvd2lraS9NbWlvVHJhY2UKKworTU1JTyB0cmFjaW5nIHdhcyBvcmlnaW5hbGx5IGRldmVsb3BlZCBieSBJbnRlbCBhcm91bmQgMjAwMyBmb3IgdGhlaXIgRmF1bHQKK0luamVjdGlvbiBUZXN0IEhhcm5lc3MuIEluIERlYyAyMDA2IC0gSmFuIDIwMDcsIHVzaW5nIHRoZSBjb2RlIGZyb20gSW50ZWwsCitKZWZmIE11aXplbGFhciBjcmVhdGVkIGEgdG9vbCBmb3IgdHJhY2luZyBNTUlPIGFjY2Vzc2VzIHdpdGggdGhlIE5vdXZlYXUKK3Byb2plY3QgaW4gbWluZC4gU2luY2UgdGhlbiBtYW55IHBlb3BsZSBoYXZlIGNvbnRyaWJ1dGVkLgorCitNbWlvdHJhY2Ugd2FzIGJ1aWx0IGZvciByZXZlcnNlIGVuZ2luZWVyaW5nIGFueSBtZW1vcnktbWFwcGVkIElPIGRldmljZSB3aXRoCit0aGUgTm91dmVhdSBwcm9qZWN0IGFzIHRoZSBmaXJzdCByZWFsIHVzZXIuIE9ubHkgeDg2IGFuZCB4ODZfNjQgYXJjaGl0ZWN0dXJlcworYXJlIHN1cHBvcnRlZC4KKworT3V0LW9mLXRyZWUgbW1pb3RyYWNlIHdhcyBvcmlnaW5hbGx5IG1vZGlmaWVkIGZvciBtYWlubGluZSBpbmNsdXNpb24gYW5kCitmdHJhY2UgZnJhbWV3b3JrIGJ5IFBla2thIFBhYWxhbmVuIDxwcUBpa2kuZmk+LgorCisKK1ByZXBhcmF0aW9uCistLS0tLS0tLS0tLQorCitNbWlvdHJhY2UgZmVhdHVyZSBpcyBjb21waWxlZCBpbiBieSB0aGUgQ09ORklHX01NSU9UUkFDRSBvcHRpb24uIFRyYWNpbmcgaXMKK2Rpc2FibGVkIGJ5IGRlZmF1bHQsIHNvIGl0IGlzIHNhZmUgdG8gaGF2ZSB0aGlzIHNldCB0byB5ZXMuIFNNUCBzeXN0ZW1zIGFyZQorc3VwcG9ydGVkLCBidXQgdHJhY2luZyBpcyB1bnJlbGlhYmxlIGFuZCBtYXkgbWlzcyBldmVudHMgaWYgbW9yZSB0aGFuIG9uZSBDUFUKK2lzIG9uLWxpbmUsIHRoZXJlZm9yZSBtbWlvdHJhY2UgdGFrZXMgYWxsIGJ1dCBvbmUgQ1BVIG9mZi1saW5lIGR1cmluZyBydW4tdGltZQorYWN0aXZhdGlvbi4gWW91IGNhbiByZS1lbmFibGUgQ1BVcyBieSBoYW5kLCBidXQgeW91IGhhdmUgYmVlbiB3YXJuZWQsIHRoZXJlCitpcyBubyB3YXkgdG8gYXV0b21hdGljYWxseSBkZXRlY3QgaWYgeW91IGFyZSBsb3NpbmcgZXZlbnRzIGR1ZSB0byBDUFVzIHJhY2luZy4KKworCitVc2FnZSBRdWljayBSZWZlcmVuY2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiskIG1vdW50IC10IGRlYnVnZnMgZGVidWdmcyAvZGVidWcKKyQgZWNobyBtbWlvdHJhY2UgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorJCBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfcGlwZSA+IG15ZHVtcC50eHQgJgorU3RhcnQgWCBvciB3aGF0ZXZlci4KKyQgZWNobyAiWCBpcyB1cCIgPiAvZGVidWcvdHJhY2luZy9tYXJrZXIKKyQgZWNobyBub25lID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKK0NoZWNrIGZvciBsb3N0IGV2ZW50cy4KKworCitVc2FnZQorLS0tLS0KKworTWFrZSBzdXJlIGRlYnVnZnMgaXMgbW91bnRlZCB0byAvZGVidWcuIElmIG5vdCwgKHJlcXVpcmVzIHJvb3QgcHJpdmlsZWdlcykKKyQgbW91bnQgLXQgZGVidWdmcyBkZWJ1Z2ZzIC9kZWJ1ZworCitDaGVjayB0aGF0IHRoZSBkcml2ZXIgeW91IGFyZSBhYm91dCB0byB0cmFjZSBpcyBub3QgbG9hZGVkLgorCitBY3RpdmF0ZSBtbWlvdHJhY2UgKHJlcXVpcmVzIHJvb3QgcHJpdmlsZWdlcyk6CiskIGVjaG8gbW1pb3RyYWNlID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKworU3RhcnQgc3RvcmluZyB0aGUgdHJhY2U6CiskIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9waXBlID4gbXlkdW1wLnR4dCAmCitUaGUgJ2NhdCcgcHJvY2VzcyBzaG91bGQgc3RheSBydW5uaW5nIChzbGVlcGluZykgaW4gdGhlIGJhY2tncm91bmQuCisKK0xvYWQgdGhlIGRyaXZlciB5b3Ugd2FudCB0byB0cmFjZSBhbmQgdXNlIGl0LiBNbWlvdHJhY2Ugd2lsbCBvbmx5IGNhdGNoIE1NSU8KK2FjY2Vzc2VzIHRvIGFyZWFzIHRoYXQgYXJlIGlvcmVtYXBwZWQgd2hpbGUgbW1pb3RyYWNlIGlzIGFjdGl2ZS4KKworW1VuaW1wbGVtZW50ZWQgZmVhdHVyZTpdCitEdXJpbmcgdHJhY2luZyB5b3UgY2FuIHBsYWNlIGNvbW1lbnRzIChtYXJrZXJzKSBpbnRvIHRoZSB0cmFjZSBieQorJCBlY2hvICJYIGlzIHVwIiA+IC9kZWJ1Zy90cmFjaW5nL21hcmtlcgorVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gc2VlIHdoaWNoIHBhcnQgb2YgdGhlIChodWdlKSB0cmFjZSBjb3JyZXNwb25kcyB0bword2hpY2ggYWN0aW9uLiBJdCBpcyByZWNvbW1lbmRlZCB0byBwbGFjZSBkZXNjcmlwdGl2ZSBtYXJrZXJzIGFib3V0IHdoYXQgeW91Citkby4KKworU2h1dCBkb3duIG1taW90cmFjZSAocmVxdWlyZXMgcm9vdCBwcml2aWxlZ2VzKToKKyQgZWNobyBub25lID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKK1RoZSAnY2F0JyBwcm9jZXNzIGV4aXRzLiBJZiBpdCBkb2VzIG5vdCwga2lsbCBpdCBieSBpc3N1aW5nICdmZycgY29tbWFuZCBhbmQKK3ByZXNzaW5nIGN0cmwrYy4KKworQ2hlY2sgdGhhdCBtbWlvdHJhY2UgZGlkIG5vdCBsb3NlIGV2ZW50cyBkdWUgdG8gYSBidWZmZXIgZmlsbGluZyB1cC4gRWl0aGVyCiskIGdyZXAgLWkgbG9zdCBteWR1bXAudHh0Cit3aGljaCB0ZWxscyB5b3UgZXhhY3RseSBob3cgbWFueSBldmVudHMgd2VyZSBsb3N0LCBvciB1c2UKKyQgZG1lc2cKK3RvIHZpZXcgeW91ciBrZXJuZWwgbG9nIGFuZCBsb29rIGZvciAibW1pb3RyYWNlIGhhcyBsb3N0IGV2ZW50cyIgd2FybmluZy4gSWYKK2V2ZW50cyB3ZXJlIGxvc3QsIHRoZSB0cmFjZSBpcyBpbmNvbXBsZXRlLiBZb3Ugc2hvdWxkIGVubGFyZ2UgdGhlIGJ1ZmZlcnMgYW5kCit0cnkgYWdhaW4uIEJ1ZmZlcnMgYXJlIGVubGFyZ2VkIGJ5IGZpcnN0IHNlZWluZyBob3cgbGFyZ2UgdGhlIGN1cnJlbnQgYnVmZmVycworYXJlOgorJCBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworZ2l2ZXMgeW91IGEgbnVtYmVyLiBBcHByb3hpbWF0ZWx5IGRvdWJsZSB0aGlzIG51bWJlciBhbmQgd3JpdGUgaXQgYmFjaywgZm9yCitpbnN0YW5jZToKKyQgZWNobyAxMjgwMDAgPiAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCitUaGVuIHN0YXJ0IGFnYWluIGZyb20gdGhlIHRvcC4KKworSWYgeW91IGFyZSBkb2luZyBhIHRyYWNlIGZvciBhIGRyaXZlciBwcm9qZWN0LCBlLmcuIE5vdXZlYXUsIHlvdSBzaG91bGQgYWxzbworZG8gdGhlIGZvbGxvd2luZyBiZWZvcmUgc2VuZGluZyB5b3VyIHJlc3VsdHM6CiskIGxzcGNpIC12dnYgPiBsc3BjaS50eHQKKyQgZG1lc2cgPiBkbWVzZy50eHQKKyQgdGFyIHpjZiBwY2lpZC1uaWNrLW1taW90cmFjZS50YXIuZ3ogbXlkdW1wLnR4dCBsc3BjaS50eHQgZG1lc2cudHh0CithbmQgdGhlbiBzZW5kIHRoZSAudGFyLmd6IGZpbGUuIFRoZSB0cmFjZSBjb21wcmVzc2VzIGNvbnNpZGVyYWJseS4gUmVwbGFjZQorInBjaWlkIiBhbmQgIm5pY2siIHdpdGggdGhlIFBDSSBJRCBvciBtb2RlbCBuYW1lIG9mIHlvdXIgcGllY2Ugb2YgaGFyZHdhcmUKK3VuZGVyIGludmVzdGlnYXRpb24gYW5kIHlvdXIgbmljayBuYW1lLgorCisKK0hvdyBNbWlvdHJhY2UgV29ya3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQWNjZXNzIHRvIGhhcmR3YXJlIElPLW1lbW9yeSBpcyBnYWluZWQgYnkgbWFwcGluZyBhZGRyZXNzZXMgZnJvbSBQQ0kgYnVzIGJ5CitjYWxsaW5nIG9uZSBvZiB0aGUgaW9yZW1hcF8qKCkgZnVuY3Rpb25zLiBNbWlvdHJhY2UgaXMgaG9va2VkIGludG8gdGhlCitfX2lvcmVtYXAoKSBmdW5jdGlvbiBhbmQgZ2V0cyBjYWxsZWQgd2hlbmV2ZXIgYSBtYXBwaW5nIGlzIGNyZWF0ZWQuIE1hcHBpbmcgaXMKK2FuIGV2ZW50IHRoYXQgaXMgcmVjb3JkZWQgaW50byB0aGUgdHJhY2UgbG9nLiBOb3RlLCB0aGF0IElTQSByYW5nZSBtYXBwaW5ncworYXJlIG5vdCBjYXVnaHQsIHNpbmNlIHRoZSBtYXBwaW5nIGFsd2F5cyBleGlzdHMgYW5kIGlzIHJldHVybmVkIGRpcmVjdGx5LgorCitNTUlPIGFjY2Vzc2VzIGFyZSByZWNvcmRlZCB2aWEgcGFnZSBmYXVsdHMuIEp1c3QgYmVmb3JlIF9faW9yZW1hcCgpIHJldHVybnMsCit0aGUgbWFwcGVkIHBhZ2VzIGFyZSBtYXJrZWQgYXMgbm90IHByZXNlbnQuIEFueSBhY2Nlc3MgdG8gdGhlIHBhZ2VzIGNhdXNlcyBhCitmYXVsdC4gVGhlIHBhZ2UgZmF1bHQgaGFuZGxlciBjYWxscyBtbWlvdHJhY2UgdG8gaGFuZGxlIHRoZSBmYXVsdC4gTW1pb3RyYWNlCittYXJrcyB0aGUgcGFnZSBwcmVzZW50LCBzZXRzIFRGIGZsYWcgdG8gYWNoaWV2ZSBzaW5nbGUgc3RlcHBpbmcgYW5kIGV4aXRzIHRoZQorZmF1bHQgaGFuZGxlci4gVGhlIGluc3RydWN0aW9uIHRoYXQgZmF1bHRlZCBpcyBleGVjdXRlZCBhbmQgZGVidWcgdHJhcCBpcworZW50ZXJlZC4gSGVyZSBtbWlvdHJhY2UgYWdhaW4gbWFya3MgdGhlIHBhZ2UgYXMgbm90IHByZXNlbnQuIFRoZSBpbnN0cnVjdGlvbgoraXMgZGVjb2RlZCB0byBnZXQgdGhlIHR5cGUgb2Ygb3BlcmF0aW9uIChyZWFkL3dyaXRlKSwgZGF0YSB3aWR0aCBhbmQgdGhlIHZhbHVlCityZWFkIG9yIHdyaXR0ZW4uIFRoZXNlIGFyZSBzdG9yZWQgdG8gdGhlIHRyYWNlIGxvZy4KKworU2V0dGluZyB0aGUgcGFnZSBwcmVzZW50IGluIHRoZSBwYWdlIGZhdWx0IGhhbmRsZXIgaGFzIGEgcmFjZSBjb25kaXRpb24gb24gU01QCittYWNoaW5lcy4gRHVyaW5nIHRoZSBzaW5nbGUgc3RlcHBpbmcgb3RoZXIgQ1BVcyBtYXkgcnVuIGZyZWVseSBvbiB0aGF0IHBhZ2UKK2FuZCBldmVudHMgY2FuIGJlIG1pc3NlZCB3aXRob3V0IGEgbm90aWNlLiBSZS1lbmFibGluZyBvdGhlciBDUFVzIGR1cmluZwordHJhY2luZyBpcyBkaXNjb3VyYWdlZC4KKworCitUcmFjZSBMb2cgRm9ybWF0CistLS0tLS0tLS0tLS0tLS0tCisKK1RoZSByYXcgbG9nIGlzIHRleHQgYW5kIGVhc2lseSBmaWx0ZXJlZCB3aXRoIGUuZy4gZ3JlcCBhbmQgYXdrLiBPbmUgcmVjb3JkIGlzCitvbmUgbGluZSBpbiB0aGUgbG9nLiBBIHJlY29yZCBzdGFydHMgd2l0aCBhIGtleXdvcmQsIGZvbGxvd2VkIGJ5IGtleXdvcmQKK2RlcGVuZGFudCBhcmd1bWVudHMuIEFyZ3VtZW50cyBhcmUgc2VwYXJhdGVkIGJ5IGEgc3BhY2UsIG9yIGNvbnRpbnVlIHVudGlsIHRoZQorZW5kIG9mIGxpbmUuIFRoZSBmb3JtYXQgZm9yIHZlcnNpb24gMjAwNzA4MjQgaXMgYXMgZm9sbG93czoKKworRXhwbGFuYXRpb24JS2V5d29yZAlTcGFjZSBzZXBhcmF0ZWQgYXJndW1lbnRzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworcmVhZCBldmVudAlSCXdpZHRoLCB0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIHZhbHVlLCBQQywgUElECit3cml0ZSBldmVudAlXCXdpZHRoLCB0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIHZhbHVlLCBQQywgUElECitpb3JlbWFwIGV2ZW50CU1BUAl0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIHZpcnR1YWwsIGxlbmd0aCwgUEMsIFBJRAoraW91bm1hcCBldmVudAlVTk1BUAl0aW1lc3RhbXAsIG1hcCBpZCwgUEMsIFBJRAorbWFya2VyCQlNQVJLCXRpbWVzdGFtcCwgdGV4dAordmVyc2lvbgkJVkVSU0lPTgl0aGUgc3RyaW5nICIyMDA3MDgyNCIKK2luZm8gZm9yIHJlYWRlcglMU1BDSQlvbmUgbGluZSBmcm9tIGxzcGNpIC12CitQQ0kgYWRkcmVzcyBtYXAJUENJREVWCXNwYWNlIHNlcGFyYXRlZCAvcHJvYy9idXMvcGNpL2RldmljZXMgZGF0YQordW5rLiBvcGNvZGUJVU5LTk9XTgl0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIGRhdGEsIFBDLCBQSUQKKworVGltZXN0YW1wIGlzIGluIHNlY29uZHMgd2l0aCBkZWNpbWFscy4gUGh5c2ljYWwgaXMgYSBQQ0kgYnVzIGFkZHJlc3MsIHZpcnR1YWwKK2lzIGEga2VybmVsIHZpcnR1YWwgYWRkcmVzcy4gV2lkdGggaXMgdGhlIGRhdGEgd2lkdGggaW4gYnl0ZXMgYW5kIHZhbHVlIGlzIHRoZQorZGF0YSB2YWx1ZS4gTWFwIGlkIGlzIGFuIGFyYml0cmFyeSBpZCBudW1iZXIgaWRlbnRpZnlpbmcgdGhlIG1hcHBpbmcgdGhhdCB3YXMKK3VzZWQgaW4gYW4gb3BlcmF0aW9uLiBQQyBpcyB0aGUgcHJvZ3JhbSBjb3VudGVyIGFuZCBQSUQgaXMgcHJvY2VzcyBpZC4gUEMgaXMKK3plcm8gaWYgaXQgaXMgbm90IHJlY29yZGVkLiBQSUQgaXMgYWx3YXlzIHplcm8gYXMgdHJhY2luZyBNTUlPIGFjY2Vzc2VzCitvcmlnaW5hdGluZyBpbiB1c2VyIHNwYWNlIG1lbW9yeSBpcyBub3QgeWV0IHN1cHBvcnRlZC4KKworRm9yIGluc3RhbmNlLCB0aGUgZm9sbG93aW5nIGF3ayBmaWx0ZXIgd2lsbCBwYXNzIGFsbCAzMi1iaXQgd3JpdGVzIHRoYXQgdGFyZ2V0CitwaHlzaWNhbCBhZGRyZXNzZXMgaW4gdGhlIHJhbmdlIFsweGZiNzNjZTQwLCAweGZiODAwMDAwWworCiskIGF3ayAnL1cgNCAvIHsgYWRyPXN0cnRvbnVtKCQ1KTsgaWYgKGFkciA+PSAweGZiNzNjZTQwICYmCithZHIgPCAweGZiODAwMDAwKSBwcmludDsgfScKKworCitUb29scyBmb3IgRGV2ZWxvcGVycworLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIHVzZXIgc3BhY2UgdG9vbHMgaW5jbHVkZSB1dGlsaXRpZXMgZm9yOgorLSByZXBsYWNpbmcgbnVtZXJpYyBhZGRyZXNzZXMgYW5kIHZhbHVlcyB3aXRoIGhhcmR3YXJlIHJlZ2lzdGVyIG5hbWVzCistIHJlcGxheWluZyBNTUlPIGxvZ3MsIGkuZS4sIHJlLWV4ZWN1dGluZyB0aGUgcmVjb3JkZWQgd3JpdGVzCisKKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMzg2L0lPLUFQSUMudHh0IGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9JTy1BUElDLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi9pMzg2L0lPLUFQSUMudHh0CnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni9pMzg2L0lPLUFQSUMudHh0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kzODYvYm9vdC50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni9pMzg2L2Jvb3QudHh0CnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24vaTM4Ni9ib290LnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9ib290LnR4dAppbmRleCA5NWFkMTVjLi4xNDdiZmU1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2kzODYvYm9vdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9ib290LnR4dApAQCAtMSwxNyArMSwxNCBAQAotCQkgICAgIFRIRSBMSU5VWC9JMzg2IEJPT1QgUFJPVE9DT0wKLQkJICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJCSAgICAgVEhFIExJTlVYL3g4NiBCT09UIFBST1RPQ09MCisJCSAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLQkJICAgIEguIFBldGVyIEFudmluIDxocGFAenl0b3IuY29tPgotCQkJTGFzdCB1cGRhdGUgMjAwNy0wNS0yMwotCi1PbiB0aGUgaTM4NiBwbGF0Zm9ybSwgdGhlIExpbnV4IGtlcm5lbCB1c2VzIGEgcmF0aGVyIGNvbXBsaWNhdGVkIGJvb3QKK09uIHRoZSB4ODYgcGxhdGZvcm0sIHRoZSBMaW51eCBrZXJuZWwgdXNlcyBhIHJhdGhlciBjb21wbGljYXRlZCBib290CiBjb252ZW50aW9uLiAgVGhpcyBoYXMgZXZvbHZlZCBwYXJ0aWFsbHkgZHVlIHRvIGhpc3RvcmljYWwgYXNwZWN0cywgYXMKIHdlbGwgYXMgdGhlIGRlc2lyZSBpbiB0aGUgZWFybHkgZGF5cyB0byBoYXZlIHRoZSBrZXJuZWwgaXRzZWxmIGJlIGEKIGJvb3RhYmxlIGltYWdlLCB0aGUgY29tcGxpY2F0ZWQgUEMgbWVtb3J5IG1vZGVsIGFuZCBkdWUgdG8gY2hhbmdlZAogZXhwZWN0YXRpb25zIGluIHRoZSBQQyBpbmR1c3RyeSBjYXVzZWQgYnkgdGhlIGVmZmVjdGl2ZSBkZW1pc2Ugb2YKIHJlYWwtbW9kZSBET1MgYXMgYSBtYWluc3RyZWFtIG9wZXJhdGluZyBzeXN0ZW0uCiAKLUN1cnJlbnRseSwgdGhlIGZvbGxvd2luZyB2ZXJzaW9ucyBvZiB0aGUgTGludXgvaTM4NiBib290IHByb3RvY29sIGV4aXN0LgorQ3VycmVudGx5LCB0aGUgZm9sbG93aW5nIHZlcnNpb25zIG9mIHRoZSBMaW51eC94ODYgYm9vdCBwcm90b2NvbCBleGlzdC4KIAogT2xkIGtlcm5lbHM6CXpJbWFnZS9JbWFnZSBzdXBwb3J0IG9ubHkuICBTb21lIHZlcnkgZWFybHkga2VybmVscwogCQltYXkgbm90IGV2ZW4gc3VwcG9ydCBhIGNvbW1hbmQgbGluZS4KQEAgLTM3MiwxMCArMzY5LDE3IEBACiAJLSBJZiAwLCB0aGUgcHJvdGVjdGVkLW1vZGUgY29kZSBpcyBsb2FkZWQgYXQgMHgxMDAwMC4KIAktIElmIDEsIHRoZSBwcm90ZWN0ZWQtbW9kZSBjb2RlIGlzIGxvYWRlZCBhdCAweDEwMDAwMC4KIAorICBCaXQgNSAod3JpdGUpOiBRVUlFVF9GTEFHCisJLSBJZiAwLCBwcmludCBlYXJseSBtZXNzYWdlcy4KKwktIElmIDEsIHN1cHByZXNzIGVhcmx5IG1lc3NhZ2VzLgorCQlUaGlzIHJlcXVlc3RzIHRvIHRoZSBrZXJuZWwgKGRlY29tcHJlc3NvciBhbmQgZWFybHkKKwkJa2VybmVsKSB0byBub3Qgd3JpdGUgZWFybHkgbWVzc2FnZXMgdGhhdCByZXF1aXJlCisJCWFjY2Vzc2luZyB0aGUgZGlzcGxheSBoYXJkd2FyZSBkaXJlY3RseS4KKwogICBCaXQgNiAod3JpdGUpOiBLRUVQX1NFR01FTlRTCiAJUHJvdG9jb2w6IDIuMDcrCi0JLSBpZiAwLCByZWxvYWQgdGhlIHNlZ21lbnQgcmVnaXN0ZXJzIGluIHRoZSAzMmJpdCBlbnRyeSBwb2ludC4KLQktIGlmIDEsIGRvIG5vdCByZWxvYWQgdGhlIHNlZ21lbnQgcmVnaXN0ZXJzIGluIHRoZSAzMmJpdCBlbnRyeSBwb2ludC4KKwktIElmIDAsIHJlbG9hZCB0aGUgc2VnbWVudCByZWdpc3RlcnMgaW4gdGhlIDMyYml0IGVudHJ5IHBvaW50LgorCS0gSWYgMSwgZG8gbm90IHJlbG9hZCB0aGUgc2VnbWVudCByZWdpc3RlcnMgaW4gdGhlIDMyYml0IGVudHJ5IHBvaW50LgogCQlBc3N1bWUgdGhhdCAlY3MgJWRzICVzcyAlZXMgYXJlIGFsbCBzZXQgdG8gZmxhdCBzZWdtZW50cyB3aXRoCiAJCWEgYmFzZSBvZiAwIChvciB0aGUgZXF1aXZhbGVudCBmb3IgdGhlaXIgZW52aXJvbm1lbnQpLgogCkBAIC01MDQsNyArNTA4LDcgQEAKICAgbWF4aW11bSBzaXplIHdhcyAyNTUuCiAKIEZpZWxkIG5hbWU6CWhhcmR3YXJlX3N1YmFyY2gKLVR5cGU6CQl3cml0ZQorVHlwZToJCXdyaXRlIChvcHRpb25hbCwgZGVmYXVsdHMgdG8geDg2L1BDKQogT2Zmc2V0L3NpemU6CTB4MjNjLzQKIFByb3RvY29sOgkyLjA3KwogCkBAIC01MjAsMTEgKzUyNCwxMyBAQAogICAweDAwMDAwMDAyCVhlbgogCiBGaWVsZCBuYW1lOgloYXJkd2FyZV9zdWJhcmNoX2RhdGEKLVR5cGU6CQl3cml0ZQorVHlwZToJCXdyaXRlIChzdWJhcmNoLWRlcGVuZGVudCkKIE9mZnNldC9zaXplOgkweDI0MC84CiBQcm90b2NvbDoJMi4wNysKIAogICBBIHBvaW50ZXIgdG8gZGF0YSB0aGF0IGlzIHNwZWNpZmljIHRvIGhhcmR3YXJlIHN1YmFyY2gKKyAgVGhpcyBmaWVsZCBpcyBjdXJyZW50bHkgdW51c2VkIGZvciB0aGUgZGVmYXVsdCB4ODYvUEMgZW52aXJvbm1lbnQsCisgIGRvIG5vdCBtb2RpZnkuCiAKIEZpZWxkIG5hbWU6CXBheWxvYWRfb2Zmc2V0CiBUeXBlOgkJcmVhZApAQCAtNTQ1LDYgKzU1MSwzNCBAQAogCiAgIFRoZSBsZW5ndGggb2YgdGhlIHBheWxvYWQuCiAKK0ZpZWxkIG5hbWU6CXNldHVwX2RhdGEKK1R5cGU6CQl3cml0ZSAoc3BlY2lhbCkKK09mZnNldC9zaXplOgkweDI1MC84CitQcm90b2NvbDoJMi4wOSsKKworICBUaGUgNjQtYml0IHBoeXNpY2FsIHBvaW50ZXIgdG8gTlVMTCB0ZXJtaW5hdGVkIHNpbmdsZSBsaW5rZWQgbGlzdCBvZgorICBzdHJ1Y3Qgc2V0dXBfZGF0YS4gVGhpcyBpcyB1c2VkIHRvIGRlZmluZSBhIG1vcmUgZXh0ZW5zaWJsZSBib290CisgIHBhcmFtZXRlcnMgcGFzc2luZyBtZWNoYW5pc20uIFRoZSBkZWZpbml0aW9uIG9mIHN0cnVjdCBzZXR1cF9kYXRhIGlzCisgIGFzIGZvbGxvdzoKKworICBzdHJ1Y3Qgc2V0dXBfZGF0YSB7CisJICB1NjQgbmV4dDsKKwkgIHUzMiB0eXBlOworCSAgdTMyIGxlbjsKKwkgIHU4ICBkYXRhWzBdOworICB9OworCisgIFdoZXJlLCB0aGUgbmV4dCBpcyBhIDY0LWJpdCBwaHlzaWNhbCBwb2ludGVyIHRvIHRoZSBuZXh0IG5vZGUgb2YKKyAgbGlua2VkIGxpc3QsIHRoZSBuZXh0IGZpZWxkIG9mIHRoZSBsYXN0IG5vZGUgaXMgMDsgdGhlIHR5cGUgaXMgdXNlZAorICB0byBpZGVudGlmeSB0aGUgY29udGVudHMgb2YgZGF0YTsgdGhlIGxlbiBpcyB0aGUgbGVuZ3RoIG9mIGRhdGEKKyAgZmllbGQ7IHRoZSBkYXRhIGhvbGRzIHRoZSByZWFsIHBheWxvYWQuCisKKyAgVGhpcyBsaXN0IG1heSBiZSBtb2RpZmllZCBhdCBhIG51bWJlciBvZiBwb2ludHMgZHVyaW5nIHRoZSBib290dXAKKyAgcHJvY2Vzcy4gIFRoZXJlZm9yZSwgd2hlbiBtb2RpZnlpbmcgdGhpcyBsaXN0IG9uZSBzaG91bGQgYWx3YXlzIG1ha2UKKyAgc3VyZSB0byBjb25zaWRlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGlua2VkIGxpc3QgYWxyZWFkeSBjb250YWlucworICBlbnRyaWVzLgorCisKICoqKiogVEhFIElNQUdFIENIRUNLU1VNCiAKIEZyb20gYm9vdCBwcm90b2NvbCB2ZXJzaW9uIDIuMDggb253YXJkcyB0aGUgQ1JDLTMyIGlzIGNhbGN1bGF0ZWQgb3ZlcgpAQCAtNTUzLDYgKzU4Nyw3IEBACiBmaWxlOyB0aGVyZWZvcmUgdGhlIENSQyBvZiB0aGUgZmlsZSB1cCB0byB0aGUgbGltaXQgc3BlY2lmaWVkIGluIHRoZQogc3lzc2l6ZSBmaWVsZCBvZiB0aGUgaGVhZGVyIGlzIGFsd2F5cyAwLgogCisKICoqKiogVEhFIEtFUk5FTCBDT01NQU5EIExJTkUKIAogVGhlIGtlcm5lbCBjb21tYW5kIGxpbmUgaGFzIGJlY29tZSBhbiBpbXBvcnRhbnQgd2F5IGZvciB0aGUgYm9vdApAQCAtNTg0LDI4ICs2MTksNiBAQAogCWNvdmVyZWQgYnkgc2V0dXBfbW92ZV9zaXplLCBzbyB5b3UgbWF5IG5lZWQgdG8gYWRqdXN0IHRoaXMKIAlmaWVsZC4KIAotRmllbGQgbmFtZToJc2V0dXBfZGF0YQotVHlwZToJCXdyaXRlIChvYmxpZ2F0b3J5KQotT2Zmc2V0L3NpemU6CTB4MjUwLzgKLVByb3RvY29sOgkyLjA5KwotCi0gIFRoZSA2NC1iaXQgcGh5c2ljYWwgcG9pbnRlciB0byBOVUxMIHRlcm1pbmF0ZWQgc2luZ2xlIGxpbmtlZCBsaXN0IG9mCi0gIHN0cnVjdCBzZXR1cF9kYXRhLiBUaGlzIGlzIHVzZWQgdG8gZGVmaW5lIGEgbW9yZSBleHRlbnNpYmxlIGJvb3QKLSAgcGFyYW1ldGVycyBwYXNzaW5nIG1lY2hhbmlzbS4gVGhlIGRlZmluaXRpb24gb2Ygc3RydWN0IHNldHVwX2RhdGEgaXMKLSAgYXMgZm9sbG93OgotCi0gIHN0cnVjdCBzZXR1cF9kYXRhIHsKLQkgIHU2NCBuZXh0OwotCSAgdTMyIHR5cGU7Ci0JICB1MzIgbGVuOwotCSAgdTggIGRhdGFbMF07Ci0gIH07Ci0KLSAgV2hlcmUsIHRoZSBuZXh0IGlzIGEgNjQtYml0IHBoeXNpY2FsIHBvaW50ZXIgdG8gdGhlIG5leHQgbm9kZSBvZgotICBsaW5rZWQgbGlzdCwgdGhlIG5leHQgZmllbGQgb2YgdGhlIGxhc3Qgbm9kZSBpcyAwOyB0aGUgdHlwZSBpcyB1c2VkCi0gIHRvIGlkZW50aWZ5IHRoZSBjb250ZW50cyBvZiBkYXRhOyB0aGUgbGVuIGlzIHRoZSBsZW5ndGggb2YgZGF0YQotICBmaWVsZDsgdGhlIGRhdGEgaG9sZHMgdGhlIHJlYWwgcGF5bG9hZC4KLQogCiAqKioqIE1FTU9SWSBMQVlPVVQgT0YgVEhFIFJFQUwtTU9ERSBDT0RFCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTM4Ni91c2ItbGVnYWN5LXN1cHBvcnQudHh0IGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni91c2ItbGVnYWN5LXN1cHBvcnQudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL2kzODYvdXNiLWxlZ2FjeS1zdXBwb3J0LnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni91c2ItbGVnYWN5LXN1cHBvcnQudHh0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kzODYvemVyby1wYWdlLnR4dCBiL0RvY3VtZW50YXRpb24veDg2L2kzODYvemVyby1wYWdlLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi9pMzg2L3plcm8tcGFnZS50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L2kzODYvemVyby1wYWdlLnR4dApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvMDAtSU5ERVggYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvMDAtSU5ERVgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0LzAwLUlOREVYCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvMDAtSU5ERVgKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L2Jvb3Qtb3B0aW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvYm9vdC1vcHRpb25zLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvYm9vdC1vcHRpb25zLnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2Jvb3Qtb3B0aW9ucy50eHQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L2NwdS1ob3RwbHVnLXNwZWMgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvY3B1LWhvdHBsdWctc3BlYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvY3B1LWhvdHBsdWctc3BlYwpyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2NwdS1ob3RwbHVnLXNwZWMKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L2Zha2UtbnVtYS1mb3ItY3B1c2V0cyBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9mYWtlLW51bWEtZm9yLWNwdXNldHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L2Zha2UtbnVtYS1mb3ItY3B1c2V0cwpyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2Zha2UtbnVtYS1mb3ItY3B1c2V0cwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQva2VybmVsLXN0YWNrcyBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9rZXJuZWwtc3RhY2tzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL3g4Nl82NC9rZXJuZWwtc3RhY2tzCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQva2VybmVsLXN0YWNrcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvbWFjaGluZWNoZWNrIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21hY2hpbmVjaGVjawpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvbWFjaGluZWNoZWNrCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvbWFjaGluZWNoZWNrCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9tbS50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvbW0udHh0CnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L21tLnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21tLnR4dAppbmRleCBiODliNmQyLi5lZmNlNzUwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9tbS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21tLnR4dApAQCAtMTEsOSArMTEsOCBAQAogZmZmZmMyMDAwMDAwMDAwMCAtIGZmZmZlMWZmZmZmZmZmZmYgKD00NSBiaXRzKSB2bWFsbG9jL2lvcmVtYXAgc3BhY2UKIGZmZmZlMjAwMDAwMDAwMDAgLSBmZmZmZTJmZmZmZmZmZmZmICg9NDAgYml0cykgdmlydHVhbCBtZW1vcnkgbWFwICgxVEIpCiAuLi4gdW51c2VkIGhvbGUgLi4uCi1mZmZmZmZmZjgwMDAwMDAwIC0gZmZmZmZmZmY4MjgwMDAwMCAoPTQwIE1CKSAgIGtlcm5lbCB0ZXh0IG1hcHBpbmcsIGZyb20gcGh5cyAwCi0uLi4gdW51c2VkIGhvbGUgLi4uCi1mZmZmZmZmZjg4MDAwMDAwIC0gZmZmZmZmZmZmZmYwMDAwMCAoPTE5MTkgTUIpIG1vZHVsZSBtYXBwaW5nIHNwYWNlCitmZmZmZmZmZjgwMDAwMDAwIC0gZmZmZmZmZmZhMDAwMDAwMCAoPTUxMiBNQikgIGtlcm5lbCB0ZXh0IG1hcHBpbmcsIGZyb20gcGh5cyAwCitmZmZmZmZmZmEwMDAwMDAwIC0gZmZmZmZmZmZmZmYwMDAwMCAoPTE1MzYgTUIpIG1vZHVsZSBtYXBwaW5nIHNwYWNlCiAKIFRoZSBkaXJlY3QgbWFwcGluZyBjb3ZlcnMgYWxsIG1lbW9yeSBpbiB0aGUgc3lzdGVtIHVwIHRvIHRoZSBoaWdoZXN0CiBtZW1vcnkgYWRkcmVzcyAodGhpcyBtZWFucyBpbiBzb21lIGNhc2VzIGl0IGNhbiBhbHNvIGluY2x1ZGUgUENJIG1lbW9yeQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvdWVmaS50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvdWVmaS50eHQKc2ltaWxhcml0eSBpbmRleCA4NCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvdWVmaS50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L3g4Nl82NC91ZWZpLnR4dAppbmRleCA3ZDc3MTIwLi5hNWUyYjRmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC91ZWZpLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvdWVmaS50eHQKQEAgLTM2LDMgKzM2LDcgQEAKICAgc2VydmljZXMuCiAJbm9lZmkJCXR1cm4gb2ZmIGFsbCBFRkkgcnVudGltZSBzZXJ2aWNlcwogCXJlYm9vdF90eXBlPWsJdHVybiBvZmYgRUZJIHJlYm9vdCBydW50aW1lIHNlcnZpY2UKKy0gSWYgdGhlIEVGSSBtZW1vcnkgbWFwIGhhcyBhZGRpdGlvbmFsIGVudHJpZXMgbm90IGluIHRoZSBFODIwIG1hcCwKKyAgeW91IGNhbiBpbmNsdWRlIHRob3NlIGVudHJpZXMgaW4gdGhlIGtlcm5lbHMgbWVtb3J5IG1hcCBvZiBhdmFpbGFibGUKKyAgcGh5c2ljYWwgUkFNIGJ5IHVzaW5nIHRoZSBmb2xsb3dpbmcga2VybmVsIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXIuCisJYWRkX2VmaV9tZW1tYXAJaW5jbHVkZSBFRkkgbWVtb3J5IG1hcCBvZiBhdmFpbGFibGUgcGh5c2ljYWwgUkFNCmRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTCmluZGV4IDY0NzYxMjUuLmZjNmMwMDUgMTAwNjQ0Ci0tLSBhL01BSU5UQUlORVJTCisrKyBiL01BSU5UQUlORVJTCkBAIC0zNzYsNiArMzc2LDEyIEBACiBXOglodHRwOi8vd3d3LmFtZC5jb20vdXMtZW4vQ29ubmVjdGl2aXR5U29sdXRpb25zL1RlY2huaWNhbFJlc291cmNlcy8wLCw1MF8yMzM0XzI0NTJfMTEzNjMsMDAuaHRtbAogUzoJU3VwcG9ydGVkCiAKK0FNRCBJT01NVSAoQU1ELVZJKQorUDoJSm9lcmcgUm9lZGVsCitNOglqb2VyZy5yb2VkZWxAYW1kLmNvbQorTDoJaW9tbXVAbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKK1M6CVN1cHBvcnRlZAorCiBBTVMgKEFwcGxlIE1vdGlvbiBTZW5zb3IpIERSSVZFUgogUDoJU3RlbGlhbiBQb3AKIE06CXN0ZWxpYW5AcG9waWVzLm5ldApAQCAtMTY4MCw2ICsxNjg2LDEzIEBACiBMOglsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCiBTOglNYWludGFpbmVkCiAKK0ZSRUVTQ0FMRSBJMkMgQ1BNIERSSVZFUgorUDoJSm9jaGVuIEZyaWVkcmljaAorTToJam9jaGVuQHNjcmFtLmRlCitMOglsaW51eHBwYy1kZXZAb3psYWJzLm9yZworTDoJaTJjQGxtLXNlbnNvcnMub3JnCitTOglNYWludGFpbmVkCisKIEZSRUVTQ0FMRSBTT0MgRlNfRU5FVCBEUklWRVIKIFA6CVBhbnRlbGlzIEFudG9uaW91CiBNOglwYW50ZWxpcy5hbnRvbmlvdUBnbWFpbC5jb20KQEAgLTE3NjQsNiArMTc3NywxMSBAQAogVzoJZnRwOi8vZnRwLm9wZW5saW51eC5vcmcvcHViL3Blb3BsZS9oY2gvdnhmcwogUzoJTWFpbnRhaW5lZAogCitGVFJBQ0UKK1A6CVN0ZXZlbiBSb3N0ZWR0CitNOglzcm9zdGVkdEByZWRoYXQuY29tCitTOglNYWludGFpbmVkCisKIEZVSklUU1UgRlItViAoRlJWKSBQT1JUCiBQOglEYXZpZCBIb3dlbGxzCiBNOglkaG93ZWxsc0ByZWRoYXQuY29tCkBAIC0zMDgyLDggKzMxMDAsOCBAQAogUzoJTWFpbnRhaW5lZAogCiBPUFJPRklMRQotUDoJUGhpbGlwcGUgRWxpZQotTToJcGhpbC5lbEB3YW5hZG9vLmZyCitQOglSb2JlcnQgUmljaHRlcgorTToJcm9iZXJ0LnJpY2h0ZXJAYW1kLmNvbQogTDoJb3Byb2ZpbGUtbGlzdEBsaXN0cy5zZi5uZXQKIFM6CU1haW50YWluZWQKIApkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCA2MzE1NDI0Li41ZWZkZDg4IDEwMDY0NAotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtMSw3ICsxLDcgQEAKIFZFUlNJT04gPSAyCiBQQVRDSExFVkVMID0gNgogU1VCTEVWRUwgPSAyNgotRVhUUkFWRVJTSU9OID0gLXJjOQorRVhUUkFWRVJTSU9OID0KIE5BTUUgPSBSb3RhcnkgV29tYmF0CiAKICMgKkRPQ1VNRU5UQVRJT04qCkBAIC00NTAsNyArNDUwLDcgQEAKIAogIyBPYmplY3RzIHdlIHdpbGwgbGluayBpbnRvIHZtbGludXggLyBzdWJkaXJzIHdlIG5lZWQgdG8gdmlzaXQKIGluaXQteQkJOj0gaW5pdC8KLWRyaXZlcnMteQk6PSBkcml2ZXJzLyBzb3VuZC8KK2RyaXZlcnMteQk6PSBkcml2ZXJzLyBzb3VuZC8gZmlybXdhcmUvCiBuZXQteQkJOj0gbmV0LwogbGlicy15CQk6PSBsaWIvCiBjb3JlLXkJCTo9IHVzci8KQEAgLTUyOCw2ICs1MjgsMTAgQEAKIEtCVUlMRF9BRkxBR1MJKz0gLWdkd2FyZi0yCiBlbmRpZgogCitpZmRlZiBDT05GSUdfRlRSQUNFCitLQlVJTERfQ0ZMQUdTCSs9IC1wZworZW5kaWYKKwogIyBXZSB0cmlnZ2VyIGFkZGl0aW9uYWwgbWlzbWF0Y2hlcyB3aXRoIGxlc3MgaW5saW5pbmcKIGlmZGVmIENPTkZJR19ERUJVR19TRUNUSU9OX01JU01BVENICiBLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1vcHRpb24sIC1mbm8taW5saW5lLWZ1bmN0aW9ucy1jYWxsZWQtb25jZSkKQEAgLTk5NSw2ICs5OTksMTYgQEAKIAlAZWNobyAnKioqIFdhcm5pbmc6IG1ha2UgJEAgaXMgdW5uZWNlc3Nhcnkgbm93LicKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgRmlybXdhcmUgaW5zdGFsbAorSU5TVEFMTF9GV19QQVRIPSQoSU5TVEFMTF9NT0RfUEFUSCkvbGliL2Zpcm13YXJlCitleHBvcnQgSU5TVEFMTF9GV19QQVRICisKK1BIT05ZICs9IGZpcm13YXJlX2luc3RhbGwKK2Zpcm13YXJlX2luc3RhbGw6IEZPUkNFCisJQG1rZGlyIC1wICQob2JqdHJlZSkvZmlybXdhcmUKKwkkKFEpJChNQUtFKSAtZiAkKHNyY3RyZWUpL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0IG9iaj1maXJtd2FyZSBfX2Z3X2luc3RhbGwKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgS2VybmVsIGhlYWRlcnMKIElOU1RBTExfSERSX1BBVEg9JChvYmp0cmVlKS91c3IKIGV4cG9ydCBJTlNUQUxMX0hEUl9QQVRICkBAIC0xMDgwLDYgKzEwOTQsNyBAQAogIyBib290IHNjcmlwdCBkZXBtb2QgaXMgdGhlIG1hc3RlciB2ZXJzaW9uLgogUEhPTlkgKz0gX21vZGluc3RfcG9zdAogX21vZGluc3RfcG9zdDogX21vZGluc3RfCisJJChRKSQoTUFLRSkgLWYgJChzcmN0cmVlKS9zY3JpcHRzL01ha2VmaWxlLmZ3aW5zdCBvYmo9ZmlybXdhcmUgX19md19tb2RpbnN0CiAJJChjYWxsIGNtZCxkZXBtb2QpCiAKIGVsc2UgIyBDT05GSUdfTU9EVUxFUwpAQCAtMTE5Nyw2ICsxMjEyLDggQEAKIAlAZWNobyAgJyogdm1saW51eAkgIC0gQnVpbGQgdGhlIGJhcmUga2VybmVsJwogCUBlY2hvICAnKiBtb2R1bGVzCSAgLSBCdWlsZCBhbGwgbW9kdWxlcycKIAlAZWNobyAgJyAgbW9kdWxlc19pbnN0YWxsIC0gSW5zdGFsbCBhbGwgbW9kdWxlcyB0byBJTlNUQUxMX01PRF9QQVRIIChkZWZhdWx0OiAvKScKKwlAZWNobyAgJyAgZmlybXdhcmVfaW5zdGFsbC0gSW5zdGFsbCBhbGwgZmlybXdhcmUgdG8gSU5TVEFMTF9GV19QQVRIJworCUBlY2hvICAnICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdDogJCQoSU5TVEFMTF9NT0RfUEFUSCkvbGliL2Zpcm13YXJlKScKIAlAZWNobyAgJyAgZGlyLyAgICAgICAgICAgIC0gQnVpbGQgYWxsIGZpbGVzIGluIGRpciBhbmQgYmVsb3cnCiAJQGVjaG8gICcgIGRpci9maWxlLltvaXNdICAtIEJ1aWxkIHNwZWNpZmllZCB0YXJnZXQgb25seScKIAlAZWNobyAgJyAgZGlyL2ZpbGUua28gICAgIC0gQnVpbGQgbW9kdWxlIGluY2x1ZGluZyBmaW5hbCBsaW5rJwpkaWZmIC0tZ2l0IGEvYXJjaC9LY29uZmlnIGIvYXJjaC9LY29uZmlnCmluZGV4IDNlYTMzMmIuLmFkODlhMzMgMTAwNjQ0Ci0tLSBhL2FyY2gvS2NvbmZpZworKysgYi9hcmNoL0tjb25maWcKQEAgLTM5LDMgKzM5LDYgQEAKIAogY29uZmlnIEhBVkVfRE1BX0FUVFJTCiAJZGVmX2Jvb2wgbgorCitjb25maWcgVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMKKwlkZWZfYm9vbCBuCmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL0tjb25maWcgYi9hcmNoL2FscGhhL0tjb25maWcKaW5kZXggNzI5Y2RiZC4uZGJlOGMyOCAxMDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9LY29uZmlnCisrKyBiL2FyY2gvYWxwaGEvS2NvbmZpZwpAQCAtNTI4LDYgKzUyOCw3IEBACiBjb25maWcgU01QCiAJYm9vbCAiU3ltbWV0cmljIG11bHRpLXByb2Nlc3Npbmcgc3VwcG9ydCIKIAlkZXBlbmRzIG9uIEFMUEhBX1NBQkxFIHx8IEFMUEhBX0xZTlggfHwgQUxQSEFfUkFXSElERSB8fCBBTFBIQV9EUDI2NCB8fCBBTFBIQV9XSUxERklSRSB8fCBBTFBIQV9USVRBTiB8fCBBTFBIQV9HRU5FUklDIHx8IEFMUEhBX1NIQVJLIHx8IEFMUEhBX01BUlZFTAorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL2tlcm5lbC9jb3JlX21hcnZlbC5jIGIvYXJjaC9hbHBoYS9rZXJuZWwvY29yZV9tYXJ2ZWwuYwppbmRleCBiMDRmMWZlLi4wNGRjYzVlIDEwMDY0NAotLS0gYS9hcmNoL2FscGhhL2tlcm5lbC9jb3JlX21hcnZlbC5jCisrKyBiL2FyY2gvYWxwaGEva2VybmVsL2NvcmVfbWFydmVsLmMKQEAgLTY2MCw5ICs2NjAsOSBAQAogCiAjaWZkZWYgQ09ORklHX1NNUAogCQlpZiAoc21wX3Byb2Nlc3Nvcl9pZCgpICE9IGJvb3RfY3B1aWQpCi0JCQlzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoX19tYXJ2ZWxfYWNjZXNzX3J0YywKLQkJCQkJCSAmcnRjX2FjY2VzcywgMSwgMSwKLQkJCQkJCSBjcHVtYXNrX29mX2NwdShib290X2NwdWlkKSk7CisJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoYm9vdF9jcHVpZCwKKwkJCQkJCSBfX21hcnZlbF9hY2Nlc3NfcnRjLAorCQkJCQkJICZydGNfYWNjZXNzLCAxKTsKIAkJZWxzZQogCQkJX19tYXJ2ZWxfYWNjZXNzX3J0YygmcnRjX2FjY2Vzcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9rZXJuZWwvaXJxLmMgYi9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYwppbmRleCBmYWNmODJhLi5jNjI2YTgyIDEwMDY0NAotLS0gYS9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYworKysgYi9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYwpAQCAtNDIsOCArNDIsNyBAQAogI2lmZGVmIENPTkZJR19TTVAgCiBzdGF0aWMgY2hhciBpcnFfdXNlcl9hZmZpbml0eVtOUl9JUlFTXTsKIAotaW50Ci1zZWxlY3Rfc21wX2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpCitpbnQgaXJxX3NlbGVjdF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXN0YXRpYyBpbnQgbGFzdF9jcHU7CiAJaW50IGNwdSA9IGxhc3RfY3B1ICsgMTsKQEAgLTUxLDcgKzUwLDcgQEAKIAlpZiAoIWlycV9kZXNjW2lycV0uY2hpcC0+c2V0X2FmZmluaXR5IHx8IGlycV91c2VyX2FmZmluaXR5W2lycV0pCiAJCXJldHVybiAxOwogCi0Jd2hpbGUgKCFjcHVfcG9zc2libGUoY3B1KSkKKwl3aGlsZSAoIWNwdV9wb3NzaWJsZShjcHUpIHx8ICFjcHVfaXNzZXQoY3B1LCBpcnFfZGVmYXVsdF9hZmZpbml0eSkpCiAJCWNwdSA9IChjcHUgPCAoTlJfQ1BVUy0xKSA/IGNwdSArIDEgOiAwKTsKIAlsYXN0X2NwdSA9IGNwdTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9rZXJuZWwvcHJvY2Vzcy5jIGIvYXJjaC9hbHBoYS9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IDk2ZWQ4MmYuLjM1MTQwN2UgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEva2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL2FscGhhL2tlcm5lbC9wcm9jZXNzLmMKQEAgLTE2MCw3ICsxNjAsNyBAQAogCXN0cnVjdCBoYWx0X2luZm8gYXJnczsKIAlhcmdzLm1vZGUgPSBtb2RlOwogCWFyZ3MucmVzdGFydF9jbWQgPSByZXN0YXJ0X2NtZDsKLQlvbl9lYWNoX2NwdShjb21tb25fc2h1dGRvd25fMSwgJmFyZ3MsIDEsIDApOworCW9uX2VhY2hfY3B1KGNvbW1vbl9zaHV0ZG93bl8xLCAmYXJncywgMCk7CiB9CiAKIHZvaWQKZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEva2VybmVsL3NtcC5jIGIvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMKaW5kZXggMjUyNTY5Mi4uODNkZjU0MSAxMDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMKQEAgLTYyLDYgKzYyLDcgQEAKIGVudW0gaXBpX21lc3NhZ2VfdHlwZSB7CiAJSVBJX1JFU0NIRURVTEUsCiAJSVBJX0NBTExfRlVOQywKKwlJUElfQ0FMTF9GVU5DX1NJTkdMRSwKIAlJUElfQ1BVX1NUT1AsCiB9OwogCkBAIC01NTgsNTEgKzU1OSw2IEBACiAJCXdyaXBpcihpKTsKIH0KIAotLyogU3RydWN0dXJlIGFuZCBkYXRhIGZvciBzbXBfY2FsbF9mdW5jdGlvbi4gIFRoaXMgaXMgZGVzaWduZWQgdG8gCi0gICBtaW5pbWl6ZSBzdGF0aWMgbWVtb3J5IHJlcXVpcmVtZW50cy4gIFBsdXMgaXQgbG9va3MgY2xlYW5lci4gICovCi0KLXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlsb25nIHdhaXQ7Ci0JYXRvbWljX3QgdW5zdGFydGVkX2NvdW50OwotCWF0b21pY190IHVuZmluaXNoZWRfY291bnQ7Ci19OwotCi1zdGF0aWMgc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqc21wX2NhbGxfZnVuY3Rpb25fZGF0YTsKLQotLyogQXRvbWljbHkgZHJvcCBkYXRhIGludG8gYSBzaGFyZWQgcG9pbnRlci4gIFRoZSBwb2ludGVyIGlzIGZyZWUgaWYKLSAgIGl0IGlzIGluaXRpYWxseSBsb2NrZWQuICBJZiByZXRyeSwgc3BpbiB1bnRpbCBmcmVlLiAgKi8KLQotc3RhdGljIGludAotcG9pbnRlcl9sb2NrICh2b2lkICpsb2NrLCB2b2lkICpkYXRhLCBpbnQgcmV0cnkpCi17Ci0Jdm9pZCAqb2xkLCAqdG1wOwotCi0JbWIoKTsKLSBhZ2FpbjoKLQkvKiBDb21wYXJlIGFuZCBzd2FwIHdpdGggemVyby4gICovCi0JYXNtIHZvbGF0aWxlICgKLQkiMToJbGRxX2wJJTAsJTFcbiIKLQkiCW1vdgklMywlMlxuIgotCSIJYm5lCSUwLDJmXG4iCi0JIglzdHFfYwklMiwlMVxuIgotCSIJYmVxCSUyLDFiXG4iCi0JIjI6IgotCTogIj0mciIob2xkKSwgIj1tIigqKHZvaWQgKiopbG9jayksICI9JnIiKHRtcCkKLQk6ICJyIihkYXRhKQotCTogIm1lbW9yeSIpOwotCi0JaWYgKG9sZCA9PSAwKQotCQlyZXR1cm4gMDsKLQlpZiAoISByZXRyeSkKLQkJcmV0dXJuIC1FQlVTWTsKLQotCXdoaWxlICgqKHZvaWQgKiopbG9jaykKLQkJYmFycmllcigpOwotCWdvdG8gYWdhaW47Ci19Ci0KIHZvaWQKIGhhbmRsZV9pcGkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CkBAIC02MzIsMzEgKzU4OCwxMiBAQAogCQkJYnJlYWs7CiAKIAkJY2FzZSBJUElfQ0FMTF9GVU5DOgotCQkgICAgewotCQkJc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqZGF0YTsKLQkJCXZvaWQgKCpmdW5jKSh2b2lkICppbmZvKTsKLQkJCXZvaWQgKmluZm87Ci0JCQlpbnQgd2FpdDsKLQotCQkJZGF0YSA9IHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGE7Ci0JCQlmdW5jID0gZGF0YS0+ZnVuYzsKLQkJCWluZm8gPSBkYXRhLT5pbmZvOwotCQkJd2FpdCA9IGRhdGEtPndhaXQ7Ci0KLQkJCS8qIE5vdGlmeSB0aGUgc2VuZGluZyBDUFUgdGhhdCB0aGUgZGF0YSBoYXMgYmVlbgotCQkJICAgcmVjZWl2ZWQsIGFuZCBleGVjdXRpb24gaXMgYWJvdXQgdG8gYmVnaW4uICAqLwotCQkJbWIoKTsKLQkJCWF0b21pY19kZWMgKCZkYXRhLT51bnN0YXJ0ZWRfY291bnQpOwotCi0JCQkvKiBBdCB0aGlzIHBvaW50IHRoZSBzdHJ1Y3R1cmUgbWF5IGJlIGdvbmUgdW5sZXNzCi0JCQkgICB3YWl0IGlzIHRydWUuICAqLwotCQkJKCpmdW5jKShpbmZvKTsKLQotCQkJLyogTm90aWZ5IHRoZSBzZW5kaW5nIENQVSB0aGF0IHRoZSB0YXNrIGlzIGRvbmUuICAqLwotCQkJbWIoKTsKLQkJCWlmICh3YWl0KSBhdG9taWNfZGVjICgmZGF0YS0+dW5maW5pc2hlZF9jb3VudCk7CisJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogCQkJYnJlYWs7Ci0JCSAgICB9CisKKwkJY2FzZSBJUElfQ0FMTF9GVU5DX1NJTkdMRToKKwkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCQkJYnJlYWs7CiAKIAkJY2FzZSBJUElfQ1BVX1NUT1A6CiAJCQloYWx0KCk7CkBAIC03MDAsMTAyICs2MzcsMTUgQEAKIAlzZW5kX2lwaV9tZXNzYWdlKHRvX3dob20sIElQSV9DUFVfU1RPUCk7CiB9CiAKLS8qCi0gKiBSdW4gYSBmdW5jdGlvbiBvbiBhbGwgb3RoZXIgQ1BVcy4KLSAqICA8ZnVuYz4JVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqICA8aW5mbz4JQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiAgPHJldHJ5PglJZiB0cnVlLCBrZWVwIHJldHJ5aW5nIHVudGlsIHJlYWR5LgotICogIDx3YWl0PglJZiB0cnVlLCB3YWl0IHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqICBbUkVUVVJOU10gICAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBEb2VzIG5vdCByZXR1cm4gdW50aWwgcmVtb3RlIENQVXMgYXJlIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDxmdW5jPgotICogb3IgYXJlIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi0KLWludAotc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1ICh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksCi0JCQkgIGludCB3YWl0LCBjcHVtYXNrX3QgdG9fd2hvbSkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgZGF0YTsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7Ci0JaW50IG51bV9jcHVzX3RvX2NhbGw7Ci0JCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlkYXRhLndhaXQgPSB3YWl0OwotCi0JY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgdG9fd2hvbSk7Ci0JbnVtX2NwdXNfdG9fY2FsbCA9IGNwdXNfd2VpZ2h0KHRvX3dob20pOwotCi0JYXRvbWljX3NldCgmZGF0YS51bnN0YXJ0ZWRfY291bnQsIG51bV9jcHVzX3RvX2NhbGwpOwotCWF0b21pY19zZXQoJmRhdGEudW5maW5pc2hlZF9jb3VudCwgbnVtX2NwdXNfdG9fY2FsbCk7Ci0KLQkvKiBBY3F1aXJlIHRoZSBzbXBfY2FsbF9mdW5jdGlvbl9kYXRhIG11dGV4LiAgKi8KLQlpZiAocG9pbnRlcl9sb2NrKCZzbXBfY2FsbF9mdW5jdGlvbl9kYXRhLCAmZGF0YSwgcmV0cnkpKQotCQlyZXR1cm4gLUVCVVNZOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gdGhlIHJlcXVlc3RlZCBDUFVzLiAgKi8KLQlzZW5kX2lwaV9tZXNzYWdlKHRvX3dob20sIElQSV9DQUxMX0ZVTkMpOwotCi0JLyogV2FpdCBmb3IgYSBtaW5pbWFsIHJlc3BvbnNlLiAgKi8KLQl0aW1lb3V0ID0gamlmZmllcyArIEhaOwotCXdoaWxlIChhdG9taWNfcmVhZCAoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDAKLQkgICAgICAgJiYgdGltZV9iZWZvcmUgKGppZmZpZXMsIHRpbWVvdXQpKQotCQliYXJyaWVyKCk7Ci0KLQkvKiBJZiB0aGVyZSdzIG5vIHJlc3BvbnNlIHlldCwgbG9nIGEgbWVzc2FnZSBidXQgYWxsb3cgYSBsb25nZXIKLQkgKiB0aW1lb3V0IHBlcmlvZCAtLSBpZiB3ZSBnZXQgYSByZXNwb25zZSB0aGlzIHRpbWUsIGxvZwotCSAqIGEgbWVzc2FnZSBzYXlpbmcgd2hlbiB3ZSBnb3QgaXQuLiAKLQkgKi8KLQlpZiAoYXRvbWljX3JlYWQoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDApIHsKLQkJbG9uZyBzdGFydF90aW1lID0gamlmZmllczsKLQkJcHJpbnRrKEtFUk5fRVJSICIlczogaW5pdGlhbCB0aW1lb3V0IC0tIHRyeWluZyBsb25nIHdhaXRcbiIsCi0JCSAgICAgICBfX2Z1bmNfXyk7Ci0JCXRpbWVvdXQgPSBqaWZmaWVzICsgMzAgKiBIWjsKLQkJd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnVuc3RhcnRlZF9jb3VudCkgPiAwCi0JCSAgICAgICAmJiB0aW1lX2JlZm9yZShqaWZmaWVzLCB0aW1lb3V0KSkKLQkJCWJhcnJpZXIoKTsKLQkJaWYgKGF0b21pY19yZWFkKCZkYXRhLnVuc3RhcnRlZF9jb3VudCkgPD0gMCkgewotCQkJbG9uZyBkZWx0YSA9IGppZmZpZXMgLSBzdGFydF90aW1lOwotCQkJcHJpbnRrKEtFUk5fRVJSIAotCQkJICAgICAgICIlczogcmVzcG9uc2UgJWxkLiVsZCBzZWNvbmRzIGludG8gbG9uZyB3YWl0XG4iLAotCQkJICAgICAgIF9fZnVuY19fLCBkZWx0YSAvIEhaLAotCQkJICAgICAgICgxMDAgKiAoZGVsdGEgLSAoKGRlbHRhIC8gSFopICogSFopKSkgLyBIWik7Ci0JCX0KLQl9Ci0KLQkvKiBXZSBlaXRoZXIgZ290IG9uZSBvciB0aW1lZCBvdXQgLS0gY2xlYXIgdGhlIGxvY2suICovCi0JbWIoKTsKLQlzbXBfY2FsbF9mdW5jdGlvbl9kYXRhID0gTlVMTDsKLQotCS8qIAotCSAqIElmIGFmdGVyIGJvdGggdGhlIGluaXRpYWwgYW5kIGxvbmcgdGltZW91dCBwZXJpb2RzIHdlIHN0aWxsIGRvbid0Ci0JICogaGF2ZSBhIHJlc3BvbnNlLCBzb21ldGhpbmcgaXMgdmVyeSB3cm9uZy4uLgotCSAqLwotCUJVR19PTihhdG9taWNfcmVhZCAoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDApOwotCi0JLyogV2FpdCBmb3IgYSBjb21wbGV0ZSByZXNwb25zZSwgaWYgbmVlZGVkLiAgKi8KLQlpZiAod2FpdCkgewotCQl3aGlsZSAoYXRvbWljX3JlYWQgKCZkYXRhLnVuZmluaXNoZWRfY291bnQpID4gMCkKLQkJCWJhcnJpZXIoKTsKLQl9Ci0KLQlyZXR1cm4gMDsKKwlzZW5kX2lwaV9tZXNzYWdlKG1hc2ssIElQSV9DQUxMX0ZVTkMpOwogfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUpOwogCi1pbnQKLXNtcF9jYWxsX2Z1bmN0aW9uICh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0KQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0JcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdSAoZnVuYywgaW5mbywgcmV0cnksIHdhaXQsCi0JCQkJCSBjcHVfb25saW5lX21hcCk7CisJc2VuZF9pcGlfbWVzc2FnZShjcHVtYXNrX29mX2NwdShjcHUpLCBJUElfQ0FMTF9GVU5DX1NJTkdMRSk7CiB9Ci1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uKTsKIAogc3RhdGljIHZvaWQKIGlwaV9pbWIodm9pZCAqaWdub3JlZCkKQEAgLTgwNyw3ICs2NTcsNyBAQAogc21wX2ltYih2b2lkKQogewogCS8qIE11c3Qgd2FpdCBvdGhlciBwcm9jZXNzb3JzIHRvIGZsdXNoIHRoZWlyIGljYWNoZSBiZWZvcmUgY29udGludWUuICovCi0JaWYgKG9uX2VhY2hfY3B1KGlwaV9pbWIsIE5VTEwsIDEsIDEpKQorCWlmIChvbl9lYWNoX2NwdShpcGlfaW1iLCBOVUxMLCAxKSkKIAkJcHJpbnRrKEtFUk5fQ1JJVCAic21wX2ltYjogdGltZWQgb3V0XG4iKTsKIH0KIEVYUE9SVF9TWU1CT0woc21wX2ltYik7CkBAIC04MjMsNyArNjczLDcgQEAKIHsKIAkvKiBBbHRob3VnaCB3ZSBkb24ndCBoYXZlIGFueSBkYXRhIHRvIHBhc3MsIHdlIGRvIHdhbnQgdG8KIAkgICBzeW5jaHJvbml6ZSB3aXRoIHRoZSBvdGhlciBwcm9jZXNzb3JzLiAgKi8KLQlpZiAob25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpKSB7CisJaWYgKG9uX2VhY2hfY3B1KGlwaV9mbHVzaF90bGJfYWxsLCBOVUxMLCAxKSkgewogCQlwcmludGsoS0VSTl9DUklUICJmbHVzaF90bGJfYWxsOiB0aW1lZCBvdXRcbiIpOwogCX0KIH0KQEAgLTg2MCw3ICs3MTAsNyBAQAogCQl9CiAJfQogCi0JaWYgKHNtcF9jYWxsX2Z1bmN0aW9uKGlwaV9mbHVzaF90bGJfbW0sIG1tLCAxLCAxKSkgeworCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfdGxiX21tLCBtbSwgMSkpIHsKIAkJcHJpbnRrKEtFUk5fQ1JJVCAiZmx1c2hfdGxiX21tOiB0aW1lZCBvdXRcbiIpOwogCX0KIApAQCAtOTEzLDcgKzc2Myw3IEBACiAJZGF0YS5tbSA9IG1tOwogCWRhdGEuYWRkciA9IGFkZHI7CiAKLQlpZiAoc21wX2NhbGxfZnVuY3Rpb24oaXBpX2ZsdXNoX3RsYl9wYWdlLCAmZGF0YSwgMSwgMSkpIHsKKwlpZiAoc21wX2NhbGxfZnVuY3Rpb24oaXBpX2ZsdXNoX3RsYl9wYWdlLCAmZGF0YSwgMSkpIHsKIAkJcHJpbnRrKEtFUk5fQ1JJVCAiZmx1c2hfdGxiX3BhZ2U6IHRpbWVkIG91dFxuIik7CiAJfQogCkBAIC05NjUsNyArODE1LDcgQEAKIAkJfQogCX0KIAotCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfaWNhY2hlX3BhZ2UsIG1tLCAxLCAxKSkgeworCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfaWNhY2hlX3BhZ2UsIG1tLCAxKSkgewogCQlwcmludGsoS0VSTl9DUklUICJmbHVzaF9pY2FjaGVfcGFnZTogdGltZWQgb3V0XG4iKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEvb3Byb2ZpbGUvY29tbW9uLmMgYi9hcmNoL2FscGhhL29wcm9maWxlL2NvbW1vbi5jCmluZGV4IDlmYzBlZWIuLjdjM2Q1ZWMgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEvb3Byb2ZpbGUvY29tbW9uLmMKKysrIGIvYXJjaC9hbHBoYS9vcHJvZmlsZS9jb21tb24uYwpAQCAtNjUsNyArNjUsNyBAQAogCW1vZGVsLT5yZWdfc2V0dXAoJnJlZywgY3RyLCAmc3lzKTsKIAogCS8qIENvbmZpZ3VyZSB0aGUgcmVnaXN0ZXJzIG9uIGFsbCBjcHVzLiAgKi8KLQkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihtb2RlbC0+Y3B1X3NldHVwLCAmcmVnLCAwLCAxKTsKKwkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihtb2RlbC0+Y3B1X3NldHVwLCAmcmVnLCAxKTsKIAltb2RlbC0+Y3B1X3NldHVwKCZyZWcpOwogCXJldHVybiAwOwogfQpAQCAtODYsNyArODYsNyBAQAogc3RhdGljIGludAogb3BfYXhwX3N0YXJ0KHZvaWQpCiB7Ci0JKHZvaWQpc21wX2NhbGxfZnVuY3Rpb24ob3BfYXhwX2NwdV9zdGFydCwgTlVMTCwgMCwgMSk7CisJKHZvaWQpc21wX2NhbGxfZnVuY3Rpb24ob3BfYXhwX2NwdV9zdGFydCwgTlVMTCwgMSk7CiAJb3BfYXhwX2NwdV9zdGFydChOVUxMKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTEwMSw3ICsxMDEsNyBAQAogc3RhdGljIHZvaWQKIG9wX2F4cF9zdG9wKHZvaWQpCiB7Ci0JKHZvaWQpc21wX2NhbGxfZnVuY3Rpb24ob3BfYXhwX2NwdV9zdG9wLCBOVUxMLCAwLCAxKTsKKwkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihvcF9heHBfY3B1X3N0b3AsIE5VTEwsIDEpOwogCW9wX2F4cF9jcHVfc3RvcChOVUxMKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vS2NvbmZpZyBiL2FyY2gvYXJtL0tjb25maWcKaW5kZXggYjc4NmU2OC4uYzdhZDMyNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vS2NvbmZpZworKysgYi9hcmNoL2FybS9LY29uZmlnCkBAIC0xNCw2ICsxNCw4IEBACiAJc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAlzZWxlY3QgSEFWRV9LUFJPQkVTIGlmICghWElQX0tFUk5FTCkKIAlzZWxlY3QgSEFWRV9LUkVUUFJPQkVTIGlmIChIQVZFX0tQUk9CRVMpCisJc2VsZWN0IEhBVkVfRlRSQUNFIGlmICghWElQX0tFUk5FTCkKKwlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRSBpZiAoSEFWRV9GVFJBQ0UpCiAJaGVscAogCSAgVGhlIEFSTSBzZXJpZXMgaXMgYSBsaW5lIG9mIGxvdy1wb3dlci1jb25zdW1wdGlvbiBSSVNDIGNoaXAgZGVzaWducwogCSAgbGljZW5zZWQgYnkgQVJNIEx0ZCBhbmQgdGFyZ2V0ZWQgYXQgZW1iZWRkZWQgYXBwbGljYXRpb25zIGFuZApAQCAtMjIsNiArMjQsOSBAQAogCSAgRXVyb3BlLiAgVGhlcmUgaXMgYW4gQVJNIExpbnV4IHByb2plY3Qgd2l0aCBhIHdlYiBwYWdlIGF0CiAJICA8aHR0cDovL3d3dy5hcm0ubGludXgub3JnLnVrLz4uCiAKK2NvbmZpZyBIQVZFX1BXTQorCWJvb2wKKwogY29uZmlnIFNZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OCiAJYm9vbAogCkBAIC04NCw2ICs4OSwxMSBAQAogCWJvb2wKIAlkZWZhdWx0IHkKIAorY29uZmlnIEhBVkVfTEFURU5DWVRPUF9TVVBQT1JUCisJYm9vbAorCWRlcGVuZHMgb24gIVNNUAorCWRlZmF1bHQgeQorCiBjb25maWcgTE9DS0RFUF9TVVBQT1JUCiAJYm9vbAogCWRlZmF1bHQgeQpAQCAtMTQ3LDYgKzE1NywxMCBAQAogY29uZmlnIEFSQ0hfTVREX1hJUAogCWJvb2wKIAorY29uZmlnIEdFTkVSSUNfSEFSRElSUVNfTk9fX0RPX0lSUQorCWJvb2wKKwlkZWZfYm9vbCB5CisKIGlmIE9QUk9GSUxFCiAKIGNvbmZpZyBPUFJPRklMRV9BUk1WNgpAQCAtMjMyLDEzICsyNDYsNiBAQAogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIENpcnJ1cyBMb2dpYyA3MTF4LzcyMXggYmFzZWQgYm9hcmRzLgogCi1jb25maWcgQVJDSF9DTzI4NQotCWJvb2wgIkNvLUVCU0EyODUiCi0Jc2VsZWN0IEZPT1RCUklER0UKLQlzZWxlY3QgRk9PVEJSSURHRV9BRERJTgotCWhlbHAKLQkgIFN1cHBvcnQgZm9yIEludGVsJ3MgRUJTQTI4NSBjb21wYW5pb24gY2hpcC4KLQogY29uZmlnIEFSQ0hfRUJTQTExMAogCWJvb2wgIkVCU0EtMTEwIgogCXNlbGVjdCBJU0EKQEAgLTI5OSw2ICszMDYsOCBAQAogCWRlcGVuZHMgb24gTU1VCiAJc2VsZWN0IFBMQVRfSU9QCiAJc2VsZWN0IFBDSQorCXNlbGVjdCBHRU5FUklDX0dQSU8KKwlzZWxlY3QgSEFWRV9HUElPX0xJQgogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIEludGVsJ3MgODAyMTkgYW5kIElPUDMyWCAoWFNjYWxlKSBmYW1pbHkgb2YKIAkgIHByb2Nlc3NvcnMuCkBAIC0zMDgsNiArMzE3LDggQEAKIAlkZXBlbmRzIG9uIE1NVQogCXNlbGVjdCBQTEFUX0lPUAogCXNlbGVjdCBQQ0kKKwlzZWxlY3QgR0VORVJJQ19HUElPCisJc2VsZWN0IEhBVkVfR1BJT19MSUIKIAloZWxwCiAJICBTdXBwb3J0IGZvciBJbnRlbCdzIElPUDMzWCAoWFNjYWxlKSBmYW1pbHkgb2YgcHJvY2Vzc29ycy4KIApAQCAtMzQ3LDYgKzM1OCwxNiBAQAogCSAgSWYgeW91IGhhdmUgYW55IHF1ZXN0aW9ucyBvciBjb21tZW50cyBhYm91dCB0aGUgTGludXgga2VybmVsIHBvcnQKIAkgIHRvIHRoaXMgYm9hcmQsIHNlbmQgZS1tYWlsIHRvIDxzamhpbGxAY290dy5jb20+LgogCitjb25maWcgQVJDSF9LSVJLV09PRAorCWJvb2wgIk1hcnZlbGwgS2lya3dvb2QiCisJc2VsZWN0IFBDSQorCXNlbGVjdCBHRU5FUklDX1RJTUUKKwlzZWxlY3QgR0VORVJJQ19DTE9DS0VWRU5UUworCXNlbGVjdCBQTEFUX09SSU9OCisJaGVscAorCSAgU3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBNYXJ2ZWxsIEtpcmt3b29kIHNlcmllcyBTb0NzOgorCSAgODhGNjE4MCwgODhGNjE5MiBhbmQgODhGNjI4MS4KKwogY29uZmlnIEFSQ0hfS1M4Njk1CiAJYm9vbCAiTWljcmVsL0tlbmRpbiBLUzg2OTUiCiAJc2VsZWN0IEdFTkVSSUNfR1BJTwpAQCAtMzY1LDkgKzM4NiwzMSBAQAogCiAJICA8aHR0cDovL3d3dy5kaWdpLmNvbS9wcm9kdWN0cy9taWNyb3Byb2Nlc3NvcnMvaW5kZXguanNwPgogCitjb25maWcgQVJDSF9MT0tJCisJYm9vbCAiTWFydmVsbCBMb2tpICg4OFJDODQ4MCkiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCisJc2VsZWN0IFBMQVRfT1JJT04KKwloZWxwCisJICBTdXBwb3J0IGZvciB0aGUgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DLgorCitjb25maWcgQVJDSF9NVjc4WFgwCisJYm9vbCAiTWFydmVsbCBNVjc4eHgwIgorCXNlbGVjdCBQQ0kKKwlzZWxlY3QgR0VORVJJQ19USU1FCisJc2VsZWN0IEdFTkVSSUNfQ0xPQ0tFVkVOVFMKKwlzZWxlY3QgUExBVF9PUklPTgorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgTWFydmVsbCBNVjc4eHgwIHNlcmllcyBTb0NzOgorCSAgTVY3ODF4MCwgTVY3ODJ4MC4KKwogY29uZmlnIEFSQ0hfTVhDCiAJYm9vbCAiRnJlZXNjYWxlIE1YQy9pTVgtYmFzZWQiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCiAJc2VsZWN0IEFSQ0hfTVREX1hJUAorCXNlbGVjdCBHRU5FUklDX0dQSU8KKwlzZWxlY3QgSEFWRV9HUElPX0xJQgogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIEZyZWVzY2FsZSBNWEMvaU1YLWJhc2VkIGZhbWlseSBvZiBwcm9jZXNzb3JzCiAKQEAgLTM4MSw3ICs0MjQsOCBAQAogCXNlbGVjdCBQTEFUX09SSU9OCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBNYXJ2ZWxsIE9yaW9uIDV4IHNlcmllcyBTb0NzOgotCSAgT3Jpb24tMSAoNTE4MSksIE9yaW9uLU5BUyAoNTE4MiksIE9yaW9uLTIgKDUyODEuKQorCSAgT3Jpb24tMSAoNTE4MSksIE9yaW9uLVZvSVAgKDUxODFMKSwgT3Jpb24tTkFTICg1MTgyKSwKKwkgIE9yaW9uLTIgKDUyODEpLgogCiBjb25maWcgQVJDSF9QTlg0MDA4CiAJYm9vbCAiUGhpbGlwcyBOZXhwZXJpYSBQTlg0MDA4IE1vYmlsZSIKQEAgLTQwNiw2ICs0NTAsNyBAQAogCXNlbGVjdCBGSVEKIAlzZWxlY3QgVElNRVJfQUNPUk4KIAlzZWxlY3QgQVJDSF9NQVlfSEFWRV9QQ19GREMKKwlzZWxlY3QgSEFWRV9QQVRBX1BMQVRGT1JNCiAJc2VsZWN0IElTQV9ETUFfQVBJCiAJc2VsZWN0IE5PX0lPUE9SVAogCWhlbHAKQEAgLTUwMiw2ICs1NDcsMTAgQEAKIAogc291cmNlICJhcmNoL2FybS9tYWNoLWl4cDIzeHgvS2NvbmZpZyIKIAorc291cmNlICJhcmNoL2FybS9tYWNoLWxva2kvS2NvbmZpZyIKKworc291cmNlICJhcmNoL2FybS9tYWNoLW12Nzh4eDAvS2NvbmZpZyIKKwogc291cmNlICJhcmNoL2FybS9tYWNoLXB4YS9LY29uZmlnIgogCiBzb3VyY2UgImFyY2gvYXJtL21hY2gtc2ExMTAwL0tjb25maWciCkBAIC01MTQsNiArNTYzLDggQEAKIAogc291cmNlICJhcmNoL2FybS9tYWNoLW9yaW9uNXgvS2NvbmZpZyIKIAorc291cmNlICJhcmNoL2FybS9tYWNoLWtpcmt3b29kL0tjb25maWciCisKIHNvdXJjZSAiYXJjaC9hcm0vcGxhdC1zM2MyNHh4L0tjb25maWciCiBzb3VyY2UgImFyY2gvYXJtL3BsYXQtczNjL0tjb25maWciCiAKQEAgLTY1MCw2ICs3MDEsNyBAQAogY29uZmlnIFNNUAogCWJvb2wgIlN5bW1ldHJpYyBNdWx0aS1Qcm9jZXNzaW5nIChFWFBFUklNRU5UQUwpIgogCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIChSRUFMVklFV19FQl9BUk0xMU1QIHx8IE1BQ0hfUkVBTFZJRVdfUEIxMU1QKQorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCkBAIC03MDMsMjcgKzc1NSw2IEBACiAJICBTYXkgWSBoZXJlIGlmIHlvdSBhcmUgYnVpbGRpbmcgYSBrZXJuZWwgZm9yIGEgZGVza3RvcCwgZW1iZWRkZWQKIAkgIG9yIHJlYWwtdGltZSBzeXN0ZW0uICBTYXkgTiBpZiB5b3UgYXJlIHVuc3VyZS4KIAotY29uZmlnIE5PX0lETEVfSFoKLQlib29sICJEeW5hbWljIHRpY2sgdGltZXIiCi0JZGVwZW5kcyBvbiAhR0VORVJJQ19DTE9DS0VWRU5UUwotCWhlbHAKLQkgIFNlbGVjdCB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBkaXNhYmxlIGNvbnRpbnVvdXMgdGltZXIgdGlja3MKLQkgIGFuZCBoYXZlIHRoZW0gcHJvZ3JhbW1lZCB0byBvY2N1ciBhcyByZXF1aXJlZC4gVGhpcyBvcHRpb24gc2F2ZXMKLQkgIHBvd2VyIGFzIHRoZSBzeXN0ZW0gY2FuIHJlbWFpbiBpbiBpZGxlIHN0YXRlIGZvciBsb25nZXIuCi0KLQkgIEJ5IGRlZmF1bHQgZHluYW1pYyB0aWNrIGlzIGRpc2FibGVkIGR1cmluZyB0aGUgYm9vdCwgYW5kIGNhbiBiZQotCSAgbWFudWFsbHkgZW5hYmxlZCB3aXRoOgotCi0JICAgIGVjaG8gMSA+IC9zeXMvZGV2aWNlcy9zeXN0ZW0vdGltZXIvdGltZXIwL2R5bl90aWNrCi0KLQkgIEFsdGVybmF0aXZlbHksIGlmIHlvdSB3YW50IGR5bmFtaWMgdGljayBhdXRvbWF0aWNhbGx5IGVuYWJsZWQKLQkgIGR1cmluZyBib290LCBwYXNzICJkeW50aWNrPWVuYWJsZSIgdmlhIHRoZSBrZXJuZWwgY29tbWFuZCBzdHJpbmcuCi0KLQkgIFBsZWFzZSBub3RlIHRoYXQgZHluYW1pYyB0aWNrIG1heSBhZmZlY3QgdGhlIGFjY3VyYWN5IG9mCi0JICB0aW1la2VlcGluZyBvbiBzb21lIHBsYXRmb3JtcyBkZXBlbmRpbmcgb24gdGhlIGltcGxlbWVudGF0aW9uLgotCSAgQ3VycmVudGx5IGF0IGxlYXN0IE9NQVAsIFBYQTJ4eCBhbmQgU0ExMXgwIHBsYXRmb3JtcyBhcmUga25vd24KLQkgIHRvIGhhdmUgYWNjdXJhdGUgdGltZWtlZXBpbmcgd2l0aCBkeW5hbWljIHRpY2suCi0KIGNvbmZpZyBIWgogCWludAogCWRlZmF1bHQgMTI4IGlmIEFSQ0hfTDcyMDAKQEAgLTc4OSw3ICs4MjAsNyBAQAogCiBjb25maWcgTEVEUwogCWJvb2wgIlRpbWVyIGFuZCBDUFUgdXNhZ2UgTEVEcyIKLQlkZXBlbmRzIG9uIEFSQ0hfQ0RCODk3MTIgfHwgQVJDSF9DTzI4NSB8fCBBUkNIX0VCU0ExMTAgfHwgXAorCWRlcGVuZHMgb24gQVJDSF9DREI4OTcxMiB8fCBBUkNIX0VCU0ExMTAgfHwgXAogCQkgICBBUkNIX0VCU0EyODUgfHwgQVJDSF9JTVggfHwgQVJDSF9JTlRFR1JBVE9SIHx8IFwKIAkJICAgQVJDSF9MVUJCT0NLIHx8IE1BQ0hfTUFJTlNUT05FIHx8IEFSQ0hfTkVUV0lOREVSIHx8IFwKIAkJICAgQVJDSF9PTUFQIHx8IEFSQ0hfUDcyMFQgfHwgQVJDSF9QWEFfSURQIHx8IFwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL01ha2VmaWxlIGIvYXJjaC9hcm0vTWFrZWZpbGUKaW5kZXggZTcyZGIyNy4uYjIwOTk1YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vTWFrZWZpbGUKQEAgLTEwMCw4ICsxMDAsNiBAQAogICBpbmNkaXItJChDT05GSUdfQVJDSF9DTFBTNzUwMCkgICA6PSBjbDc1MDAKICBtYWNoaW5lLSQoQ09ORklHX0ZPT1RCUklER0UpCSAgIDo9IGZvb3RicmlkZ2UKICAgaW5jZGlyLSQoQ09ORklHX0ZPT1RCUklER0UpCSAgIDo9IGVic2EyODUKLSBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfQ08yODUpCSAgIDo9IGZvb3RicmlkZ2UKLSAgaW5jZGlyLSQoQ09ORklHX0FSQ0hfQ08yODUpCSAgIDo9IGVic2EyODUKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfU0hBUkspCSAgIDo9IHNoYXJrCiAgbWFjaGluZS0kKENPTkZJR19BUkNIX1NBMTEwMCkJICAgOj0gc2ExMTAwCiBpZmVxICgkKENPTkZJR19BUkNIX1NBMTEwMCkseSkKQEAgLTEzNSwxMSArMTMzLDE1IEBACiAgbWFjaGluZS0kKENPTkZJR19BUkNIX05FVFgpCSAgIDo9IG5ldHgKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTlM5WFhYKQkgICA6PSBuczl4eHgKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfREFWSU5DSSkJICAgOj0gZGF2aW5jaQorIG1hY2hpbmUtJChDT05GSUdfQVJDSF9LSVJLV09PRCkgICA6PSBraXJrd29vZAogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9LUzg2OTUpICAgICA6PSBrczg2OTUKICAgaW5jZGlyLSQoQ09ORklHX0FSQ0hfTVhDKQkgICA6PSBteGMKKyBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTVgyKQkgICA6PSBteDIKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTVgzKQkgICA6PSBteDMKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfT1JJT041WCkJICAgOj0gb3Jpb241eAogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9NU003WDAwQSkgICA6PSBtc20KKyBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTE9LSSkgICAgICAgOj0gbG9raQorIG1hY2hpbmUtJChDT05GSUdfQVJDSF9NVjc4WFgwKSAgICA6PSBtdjc4eHgwCiAKIGlmZXEgKCQoQ09ORklHX0FSQ0hfRUJTQTExMCkseSkKICMgVGhpcyBpcyB3aGF0IGhhcHBlbnMgaWYgeW91IGZvcmdldCB0aGUgSU9DUzE2IGxpbmUuCkBAIC0xOTAsOCArMTkyLDYgQEAKIGNvcmUtJChDT05GSUdfQVJDSF9NWEMpCQkrPSBhcmNoL2FybS9wbGF0LW14Yy8KIAogZHJpdmVycy0kKENPTkZJR19PUFJPRklMRSkgICAgICArPSBhcmNoL2FybS9vcHJvZmlsZS8KLWRyaXZlcnMtJChDT05GSUdfQVJDSF9DTFBTNzUwMCkJKz0gZHJpdmVycy9hY29ybi9jaGFyLwotZHJpdmVycy0kKENPTkZJR19BUkNIX0w3MjAwKQkrPSBkcml2ZXJzL2Fjb3JuL2NoYXIvCiAKIGxpYnMteQkJCQk6PSBhcmNoL2FybS9saWIvICQobGlicy15KQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvTWFrZWZpbGUgYi9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvTWFrZWZpbGUKaW5kZXggZGU5ZDllZS4uOTViYWFjNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9NYWtlZmlsZQpAQCAtNjksNiArNjksMTIgQEAKIAogdGFyZ2V0cyAgICAgICA6PSB2bWxpbnV4IHZtbGludXgubGRzIHBpZ2d5Lmd6IHBpZ2d5Lm8gZm9udC5vIGZvbnQuYyBcCiAJCSBoZWFkLm8gbWlzYy5vICQoT0JKUykKKworaWZlcSAoJChDT05GSUdfRlRSQUNFKSx5KQorT1JJR19DRkxBR1MgOj0gJChLQlVJTERfQ0ZMQUdTKQorS0JVSUxEX0NGTEFHUyA9ICQoc3Vic3QgLXBnLCAsICQoT1JJR19DRkxBR1MpKQorZW5kaWYKKwogRVhUUkFfQ0ZMQUdTICA6PSAtZnBpYyAtZm5vLWJ1aWx0aW4KIEVYVFJBX0FGTEFHUyAgOj0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL2hlYWQuUyBiL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9oZWFkLlMKaW5kZXggM2MyYzhmMi4uZGU0MWRhZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL2hlYWQuUworKysgYi9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvaGVhZC5TCkBAIC02MjMsOCArNjIzLDggQEAKIAkJYglfX2FybXY0X21tdV9jYWNoZV9vZmYKIAkJYglfX2FybXY0X21tdV9jYWNoZV9mbHVzaAogCi0JCS53b3JkCTB4NTYwNTUzMTAJCUAgRmVyb2Nlb24KLQkJLndvcmQJMHhmZmZmZmZmMAorCQkud29yZAkweDU2MDUwMDAwCQlAIEZlcm9jZW9uCisJCS53b3JkCTB4ZmYwZjAwMDAKIAkJYglfX2FybXY0X21tdV9jYWNoZV9vbgogCQliCV9fYXJtdjRfbW11X2NhY2hlX29mZgogCQliCV9fYXJtdjV0ZWpfbW11X2NhY2hlX2ZsdXNoCmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb21tb24vTWFrZWZpbGUgYi9hcmNoL2FybS9jb21tb24vTWFrZWZpbGUKaW5kZXggM2QwYjlmYS4uMzI1ZTRiNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29tbW9uL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL2NvbW1vbi9NYWtlZmlsZQpAQCAtMiw3ICsyLDYgQEAKICMgTWFrZWZpbGUgZm9yIHRoZSBsaW51eCBrZXJuZWwuCiAjCiAKLW9iai15CQkJCSs9IHJ0Y3RpbWUubwogb2JqLSQoQ09ORklHX0FSTV9HSUMpCQkrPSBnaWMubwogb2JqLSQoQ09ORklHX0FSTV9WSUMpCQkrPSB2aWMubwogb2JqLSQoQ09ORklHX0lDU1Q1MjUpCQkrPSBpY3N0NTI1Lm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbW1vbi9ydGN0aW1lLmMgYi9hcmNoL2FybS9jb21tb24vcnRjdGltZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYThmNzczLi4wMDAwMDAwCi0tLSBhL2FyY2gvYXJtL2NvbW1vbi9ydGN0aW1lLmMKKysrIC9kZXYvbnVsbApAQCAtMSw0MzQgKzAsMCBAQAotLyoKLSAqICBsaW51eC9hcmNoL2FybS9jb21tb24vcnRjdGltZS5jCi0gKgotICogIENvcHlyaWdodCAoQykgMjAwMyBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZC4KLSAqICBCYXNlZCBvbiBzYTExMDAtcnRjLmMsIE5pbHMgRmFlcmJlciwgQ0lILCBOaWNvbGFzIFBpdHJlLgotICogIEJhc2VkIG9uIHJ0Yy5jIGJ5IFBhdWwgR29ydG1ha2VyCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqLwotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KLSNpbmNsdWRlIDxsaW51eC9ydGMuaD4KLSNpbmNsdWRlIDxsaW51eC9wb2xsLmg+Ci0jaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgotI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgotI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KLSNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgotCi0jaW5jbHVkZSA8YXNtL3J0Yy5oPgotCi1zdGF0aWMgREVDTEFSRV9XQUlUX1FVRVVFX0hFQUQocnRjX3dhaXQpOwotc3RhdGljIHN0cnVjdCBmYXN5bmNfc3RydWN0ICpydGNfYXN5bmNfcXVldWU7Ci0KLS8qCi0gKiBydGNfbG9jayBwcm90ZWN0cyBydGNfaXJxX2RhdGEKLSAqLwotc3RhdGljIERFRklORV9TUElOTE9DSyhydGNfbG9jayk7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBydGNfaXJxX2RhdGE7Ci0KLS8qCi0gKiBydGNfc2VtIHByb3RlY3RzIHJ0Y19pbnVzZSBhbmQgcnRjX29wcwotICovCi1zdGF0aWMgREVGSU5FX01VVEVYKHJ0Y19tdXRleCk7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBydGNfaW51c2U7Ci1zdGF0aWMgc3RydWN0IHJ0Y19vcHMgKnJ0Y19vcHM7Ci0KLSNkZWZpbmUgcnRjX2Vwb2NoIDE5MDBVTAotCi0vKgotICogQ2FsY3VsYXRlIHRoZSBuZXh0IGFsYXJtIHRpbWUgZ2l2ZW4gdGhlIHJlcXVlc3RlZCBhbGFybSB0aW1lIG1hc2sKLSAqIGFuZCB0aGUgY3VycmVudCB0aW1lLgotICovCi12b2lkIHJ0Y19uZXh0X2FsYXJtX3RpbWUoc3RydWN0IHJ0Y190aW1lICpuZXh0LCBzdHJ1Y3QgcnRjX3RpbWUgKm5vdywgc3RydWN0IHJ0Y190aW1lICphbHJtKQotewotCXVuc2lnbmVkIGxvbmcgbmV4dF90aW1lOwotCXVuc2lnbmVkIGxvbmcgbm93X3RpbWU7Ci0KLQluZXh0LT50bV95ZWFyID0gbm93LT50bV95ZWFyOwotCW5leHQtPnRtX21vbiA9IG5vdy0+dG1fbW9uOwotCW5leHQtPnRtX21kYXkgPSBub3ctPnRtX21kYXk7Ci0JbmV4dC0+dG1faG91ciA9IGFscm0tPnRtX2hvdXI7Ci0JbmV4dC0+dG1fbWluID0gYWxybS0+dG1fbWluOwotCW5leHQtPnRtX3NlYyA9IGFscm0tPnRtX3NlYzsKLQotCXJ0Y190bV90b190aW1lKG5vdywgJm5vd190aW1lKTsKLQlydGNfdG1fdG9fdGltZShuZXh0LCAmbmV4dF90aW1lKTsKLQotCWlmIChuZXh0X3RpbWUgPCBub3dfdGltZSkgewotCQkvKiBBZHZhbmNlIG9uZSBkYXkgKi8KLQkJbmV4dF90aW1lICs9IDYwICogNjAgKiAyNDsKLQkJcnRjX3RpbWVfdG9fdG0obmV4dF90aW1lLCBuZXh0KTsKLQl9Ci19Ci1FWFBPUlRfU1lNQk9MKHJ0Y19uZXh0X2FsYXJtX3RpbWUpOwotCi1zdGF0aWMgaW5saW5lIGludCBydGNfYXJtX3JlYWRfdGltZShzdHJ1Y3QgcnRjX29wcyAqb3BzLCBzdHJ1Y3QgcnRjX3RpbWUgKnRtKQotewotCW1lbXNldCh0bSwgMCwgc2l6ZW9mKHN0cnVjdCBydGNfdGltZSkpOwotCXJldHVybiBvcHMtPnJlYWRfdGltZSh0bSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHJ0Y19hcm1fc2V0X3RpbWUoc3RydWN0IHJ0Y19vcHMgKm9wcywgc3RydWN0IHJ0Y190aW1lICp0bSkKLXsKLQlpbnQgcmV0OwotCi0JcmV0ID0gcnRjX3ZhbGlkX3RtKHRtKTsKLQlpZiAocmV0ID09IDApCi0JCXJldCA9IG9wcy0+c2V0X3RpbWUodG0pOwotCi0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgcnRjX2FybV9yZWFkX2FsYXJtKHN0cnVjdCBydGNfb3BzICpvcHMsIHN0cnVjdCBydGNfd2thbHJtICphbHJtKQotewotCWludCByZXQgPSAtRUlOVkFMOwotCWlmIChvcHMtPnJlYWRfYWxhcm0pIHsKLQkJbWVtc2V0KGFscm0sIDAsIHNpemVvZihzdHJ1Y3QgcnRjX3drYWxybSkpOwotCQlyZXQgPSBvcHMtPnJlYWRfYWxhcm0oYWxybSk7Ci0JfQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHJ0Y19hcm1fc2V0X2FsYXJtKHN0cnVjdCBydGNfb3BzICpvcHMsIHN0cnVjdCBydGNfd2thbHJtICphbHJtKQotewotCWludCByZXQgPSAtRUlOVkFMOwotCWlmIChvcHMtPnNldF9hbGFybSkKLQkJcmV0ID0gb3BzLT5zZXRfYWxhcm0oYWxybSk7Ci0JcmV0dXJuIHJldDsKLX0KLQotdm9pZCBydGNfdXBkYXRlKHVuc2lnbmVkIGxvbmcgbnVtLCB1bnNpZ25lZCBsb25nIGV2ZW50cykKLXsKLQlzcGluX2xvY2soJnJ0Y19sb2NrKTsKLQlydGNfaXJxX2RhdGEgPSAocnRjX2lycV9kYXRhICsgKG51bSA8PCA4KSkgfCBldmVudHM7Ci0Jc3Bpbl91bmxvY2soJnJ0Y19sb2NrKTsKLQotCXdha2VfdXBfaW50ZXJydXB0aWJsZSgmcnRjX3dhaXQpOwotCWtpbGxfZmFzeW5jKCZydGNfYXN5bmNfcXVldWUsIFNJR0lPLCBQT0xMX0lOKTsKLX0KLUVYUE9SVF9TWU1CT0wocnRjX3VwZGF0ZSk7Ci0KLQotc3RhdGljIHNzaXplX3QKLXJ0Y19yZWFkKHN0cnVjdCBmaWxlICpmaWxlLCBjaGFyIF9fdXNlciAqYnVmLCBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKLXsKLQlERUNMQVJFX1dBSVRRVUVVRSh3YWl0LCBjdXJyZW50KTsKLQl1bnNpZ25lZCBsb25nIGRhdGE7Ci0Jc3NpemVfdCByZXQ7Ci0KLQlpZiAoY291bnQgPCBzaXplb2YodW5zaWduZWQgbG9uZykpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JYWRkX3dhaXRfcXVldWUoJnJ0Y193YWl0LCAmd2FpdCk7Ci0JZG8gewotCQlfX3NldF9jdXJyZW50X3N0YXRlKFRBU0tfSU5URVJSVVBUSUJMRSk7Ci0KLQkJc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwotCQlkYXRhID0gcnRjX2lycV9kYXRhOwotCQlydGNfaXJxX2RhdGEgPSAwOwotCQlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKLQotCQlpZiAoZGF0YSAhPSAwKSB7Ci0JCQlyZXQgPSAwOwotCQkJYnJlYWs7Ci0JCX0KLQkJaWYgKGZpbGUtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSB7Ci0JCQlyZXQgPSAtRUFHQUlOOwotCQkJYnJlYWs7Ci0JCX0KLQkJaWYgKHNpZ25hbF9wZW5kaW5nKGN1cnJlbnQpKSB7Ci0JCQlyZXQgPSAtRVJFU1RBUlRTWVM7Ci0JCQlicmVhazsKLQkJfQotCQlzY2hlZHVsZSgpOwotCX0gd2hpbGUgKDEpOwotCXNldF9jdXJyZW50X3N0YXRlKFRBU0tfUlVOTklORyk7Ci0JcmVtb3ZlX3dhaXRfcXVldWUoJnJ0Y193YWl0LCAmd2FpdCk7Ci0KLQlpZiAocmV0ID09IDApIHsKLQkJcmV0ID0gcHV0X3VzZXIoZGF0YSwgKHVuc2lnbmVkIGxvbmcgX191c2VyICopYnVmKTsKLQkJaWYgKHJldCA9PSAwKQotCQkJcmV0ID0gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpOwotCX0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgdW5zaWduZWQgaW50IHJ0Y19wb2xsKHN0cnVjdCBmaWxlICpmaWxlLCBwb2xsX3RhYmxlICp3YWl0KQotewotCXVuc2lnbmVkIGxvbmcgZGF0YTsKLQotCXBvbGxfd2FpdChmaWxlLCAmcnRjX3dhaXQsIHdhaXQpOwotCi0Jc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwotCWRhdGEgPSBydGNfaXJxX2RhdGE7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7Ci0KLQlyZXR1cm4gZGF0YSAhPSAwID8gUE9MTElOIHwgUE9MTFJETk9STSA6IDA7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAotCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQotewotCXN0cnVjdCBydGNfb3BzICpvcHMgPSBmaWxlLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHJ0Y190aW1lIHRtOwotCXN0cnVjdCBydGNfd2thbHJtIGFscm07Ci0Jdm9pZCBfX3VzZXIgKnVhcmcgPSAodm9pZCBfX3VzZXIgKilhcmc7Ci0JaW50IHJldCA9IC1FSU5WQUw7Ci0KLQlzd2l0Y2ggKGNtZCkgewotCWNhc2UgUlRDX0FMTV9SRUFEOgotCQlyZXQgPSBydGNfYXJtX3JlYWRfYWxhcm0ob3BzLCAmYWxybSk7Ci0JCWlmIChyZXQpCi0JCQlicmVhazsKLQkJcmV0ID0gY29weV90b191c2VyKHVhcmcsICZhbHJtLnRpbWUsIHNpemVvZih0bSkpOwotCQlpZiAocmV0KQotCQkJcmV0ID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19BTE1fU0VUOgotCQlyZXQgPSBjb3B5X2Zyb21fdXNlcigmYWxybS50aW1lLCB1YXJnLCBzaXplb2YodG0pKTsKLQkJaWYgKHJldCkgewotCQkJcmV0ID0gLUVGQVVMVDsKLQkJCWJyZWFrOwotCQl9Ci0JCWFscm0uZW5hYmxlZCA9IDA7Ci0JCWFscm0ucGVuZGluZyA9IDA7Ci0JCWFscm0udGltZS50bV9tZGF5ID0gLTE7Ci0JCWFscm0udGltZS50bV9tb24gPSAtMTsKLQkJYWxybS50aW1lLnRtX3llYXIgPSAtMTsKLQkJYWxybS50aW1lLnRtX3dkYXkgPSAtMTsKLQkJYWxybS50aW1lLnRtX3lkYXkgPSAtMTsKLQkJYWxybS50aW1lLnRtX2lzZHN0ID0gLTE7Ci0JCXJldCA9IHJ0Y19hcm1fc2V0X2FsYXJtKG9wcywgJmFscm0pOwotCQlicmVhazsKLQotCWNhc2UgUlRDX1JEX1RJTUU6Ci0JCXJldCA9IHJ0Y19hcm1fcmVhZF90aW1lKG9wcywgJnRtKTsKLQkJaWYgKHJldCkKLQkJCWJyZWFrOwotCQlyZXQgPSBjb3B5X3RvX3VzZXIodWFyZywgJnRtLCBzaXplb2YodG0pKTsKLQkJaWYgKHJldCkKLQkJCXJldCA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCi0JY2FzZSBSVENfU0VUX1RJTUU6Ci0JCWlmICghY2FwYWJsZShDQVBfU1lTX1RJTUUpKSB7Ci0JCQlyZXQgPSAtRUFDQ0VTOwotCQkJYnJlYWs7Ci0JCX0KLQkJcmV0ID0gY29weV9mcm9tX3VzZXIoJnRtLCB1YXJnLCBzaXplb2YodG0pKTsKLQkJaWYgKHJldCkgewotCQkJcmV0ID0gLUVGQVVMVDsKLQkJCWJyZWFrOwotCQl9Ci0JCXJldCA9IHJ0Y19hcm1fc2V0X3RpbWUob3BzLCAmdG0pOwotCQlicmVhazsKLQotCWNhc2UgUlRDX0VQT0NIX1NFVDoKLSNpZm5kZWYgcnRjX2Vwb2NoCi0JCS8qCi0JCSAqIFRoZXJlIHdlcmUgbm8gUlRDIGNsb2NrcyBiZWZvcmUgMTkwMC4KLQkJICovCi0JCWlmIChhcmcgPCAxOTAwKSB7Ci0JCQlyZXQgPSAtRUlOVkFMOwotCQkJYnJlYWs7Ci0JCX0KLQkJaWYgKCFjYXBhYmxlKENBUF9TWVNfVElNRSkpIHsKLQkJCXJldCA9IC1FQUNDRVM7Ci0JCQlicmVhazsKLQkJfQotCQlydGNfZXBvY2ggPSBhcmc7Ci0JCXJldCA9IDA7Ci0jZW5kaWYKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19FUE9DSF9SRUFEOgotCQlyZXQgPSBwdXRfdXNlcihydGNfZXBvY2gsICh1bnNpZ25lZCBsb25nIF9fdXNlciAqKXVhcmcpOwotCQlicmVhazsKLQotCWNhc2UgUlRDX1dLQUxNX1NFVDoKLQkJcmV0ID0gY29weV9mcm9tX3VzZXIoJmFscm0sIHVhcmcsIHNpemVvZihhbHJtKSk7Ci0JCWlmIChyZXQpIHsKLQkJCXJldCA9IC1FRkFVTFQ7Ci0JCQlicmVhazsKLQkJfQotCQlyZXQgPSBydGNfYXJtX3NldF9hbGFybShvcHMsICZhbHJtKTsKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19XS0FMTV9SRDoKLQkJcmV0ID0gcnRjX2FybV9yZWFkX2FsYXJtKG9wcywgJmFscm0pOwotCQlpZiAocmV0KQotCQkJYnJlYWs7Ci0JCXJldCA9IGNvcHlfdG9fdXNlcih1YXJnLCAmYWxybSwgc2l6ZW9mKGFscm0pKTsKLQkJaWYgKHJldCkKLQkJCXJldCA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCi0JZGVmYXVsdDoKLQkJaWYgKG9wcy0+aW9jdGwpCi0JCQlyZXQgPSBvcHMtPmlvY3RsKGNtZCwgYXJnKTsKLQkJYnJlYWs7Ci0JfQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JaW50IHJldDsKLQotCW11dGV4X2xvY2soJnJ0Y19tdXRleCk7Ci0KLQlpZiAocnRjX2ludXNlKSB7Ci0JCXJldCA9IC1FQlVTWTsKLQl9IGVsc2UgaWYgKCFydGNfb3BzIHx8ICF0cnlfbW9kdWxlX2dldChydGNfb3BzLT5vd25lcikpIHsKLQkJcmV0ID0gLUVOT0RFVjsKLQl9IGVsc2UgewotCQlmaWxlLT5wcml2YXRlX2RhdGEgPSBydGNfb3BzOwotCi0JCXJldCA9IHJ0Y19vcHMtPm9wZW4gPyBydGNfb3BzLT5vcGVuKCkgOiAwOwotCQlpZiAocmV0ID09IDApIHsKLQkJCXNwaW5fbG9ja19pcnEoJnJ0Y19sb2NrKTsKLQkJCXJ0Y19pcnFfZGF0YSA9IDA7Ci0JCQlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKLQotCQkJcnRjX2ludXNlID0gMTsKLQkJfQotCX0KLQltdXRleF91bmxvY2soJnJ0Y19tdXRleCk7Ci0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IHJ0Y19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQotewotCXN0cnVjdCBydGNfb3BzICpvcHMgPSBmaWxlLT5wcml2YXRlX2RhdGE7Ci0KLQlpZiAob3BzLT5yZWxlYXNlKQotCQlvcHMtPnJlbGVhc2UoKTsKLQotCXNwaW5fbG9ja19pcnEoJnJ0Y19sb2NrKTsKLQlydGNfaXJxX2RhdGEgPSAwOwotCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOwotCi0JbW9kdWxlX3B1dChydGNfb3BzLT5vd25lcik7Ci0JcnRjX2ludXNlID0gMDsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHJ0Y19mYXN5bmMoaW50IGZkLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IG9uKQotewotCXJldHVybiBmYXN5bmNfaGVscGVyKGZkLCBmaWxlLCBvbiwgJnJ0Y19hc3luY19xdWV1ZSk7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHJ0Y19mb3BzID0gewotCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkubGxzZWVrCQk9IG5vX2xsc2VlaywKLQkucmVhZAkJPSBydGNfcmVhZCwKLQkucG9sbAkJPSBydGNfcG9sbCwKLQkuaW9jdGwJCT0gcnRjX2lvY3RsLAotCS5vcGVuCQk9IHJ0Y19vcGVuLAotCS5yZWxlYXNlCT0gcnRjX3JlbGVhc2UsCi0JLmZhc3luYwkJPSBydGNfZmFzeW5jLAotfTsKLQotc3RhdGljIHN0cnVjdCBtaXNjZGV2aWNlIHJ0Y19taXNjZGV2ID0gewotCS5taW5vcgkJPSBSVENfTUlOT1IsCi0JLm5hbWUJCT0gInJ0YyIsCi0JLmZvcHMJCT0gJnJ0Y19mb3BzLAotfTsKLQotCi1zdGF0aWMgaW50IHJ0Y19yZWFkX3Byb2MoY2hhciAqcGFnZSwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmYsIGludCBjb3VudCwgaW50ICplb2YsIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IHJ0Y19vcHMgKm9wcyA9IGRhdGE7Ci0Jc3RydWN0IHJ0Y193a2Fscm0gYWxybTsKLQlzdHJ1Y3QgcnRjX3RpbWUgdG07Ci0JY2hhciAqcCA9IHBhZ2U7Ci0KLQlpZiAocnRjX2FybV9yZWFkX3RpbWUob3BzLCAmdG0pID09IDApIHsKLQkJcCArPSBzcHJpbnRmKHAsCi0JCQkicnRjX3RpbWVcdDogJTAyZDolMDJkOiUwMmRcbiIKLQkJCSJydGNfZGF0ZVx0OiAlMDRkLSUwMmQtJTAyZFxuIgotCQkJInJ0Y19lcG9jaFx0OiAlMDRsdVxuIiwKLQkJCXRtLnRtX2hvdXIsIHRtLnRtX21pbiwgdG0udG1fc2VjLAotCQkJdG0udG1feWVhciArIDE5MDAsIHRtLnRtX21vbiArIDEsIHRtLnRtX21kYXksCi0JCQlydGNfZXBvY2gpOwotCX0KLQotCWlmIChydGNfYXJtX3JlYWRfYWxhcm0ob3BzLCAmYWxybSkgPT0gMCkgewotCQlwICs9IHNwcmludGYocCwgImFscm1fdGltZVx0OiAiKTsKLQkJaWYgKCh1bnNpZ25lZCBpbnQpYWxybS50aW1lLnRtX2hvdXIgPD0gMjQpCi0JCQlwICs9IHNwcmludGYocCwgIiUwMmQ6IiwgYWxybS50aW1lLnRtX2hvdXIpOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqOiIpOwotCQlpZiAoKHVuc2lnbmVkIGludClhbHJtLnRpbWUudG1fbWluIDw9IDU5KQotCQkJcCArPSBzcHJpbnRmKHAsICIlMDJkOiIsIGFscm0udGltZS50bV9taW4pOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqOiIpOwotCQlpZiAoKHVuc2lnbmVkIGludClhbHJtLnRpbWUudG1fc2VjIDw9IDU5KQotCQkJcCArPSBzcHJpbnRmKHAsICIlMDJkXG4iLCBhbHJtLnRpbWUudG1fc2VjKTsKLQkJZWxzZQotCQkJcCArPSBzcHJpbnRmKHAsICIqKlxuIik7Ci0KLQkJcCArPSBzcHJpbnRmKHAsICJhbHJtX2RhdGVcdDogIik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV95ZWFyIDw9IDIwMCkKLQkJCXAgKz0gc3ByaW50ZihwLCAiJTA0ZC0iLCBhbHJtLnRpbWUudG1feWVhciArIDE5MDApOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqKiotIik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV9tb24gPD0gMTEpCi0JCQlwICs9IHNwcmludGYocCwgIiUwMmQtIiwgYWxybS50aW1lLnRtX21vbiArIDEpOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqLSIpOwotCQlpZiAoKHVuc2lnbmVkIGludClhbHJtLnRpbWUudG1fbWRheSA8PSAzMSkKLQkJCXAgKz0gc3ByaW50ZihwLCAiJTAyZFxuIiwgYWxybS50aW1lLnRtX21kYXkpOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqXG4iKTsKLQkJcCArPSBzcHJpbnRmKHAsICJhbHJtX3dha2V1cFx0OiAlc1xuIiwKLQkJCSAgICAgYWxybS5lbmFibGVkID8gInllcyIgOiAibm8iKTsKLQkJcCArPSBzcHJpbnRmKHAsICJhbHJtX3BlbmRpbmdcdDogJXNcbiIsCi0JCQkgICAgIGFscm0ucGVuZGluZyA/ICJ5ZXMiIDogIm5vIik7Ci0JfQotCi0JaWYgKG9wcy0+cHJvYykKLQkJcCArPSBvcHMtPnByb2MocCk7Ci0KLQlyZXR1cm4gcCAtIHBhZ2U7Ci19Ci0KLWludCByZWdpc3Rlcl9ydGMoc3RydWN0IHJ0Y19vcHMgKm9wcykKLXsKLQlpbnQgcmV0ID0gLUVCVVNZOwotCi0JbXV0ZXhfbG9jaygmcnRjX211dGV4KTsKLQlpZiAocnRjX29wcyA9PSBOVUxMKSB7Ci0JCXJ0Y19vcHMgPSBvcHM7Ci0KLQkJcmV0ID0gbWlzY19yZWdpc3RlcigmcnRjX21pc2NkZXYpOwotCQlpZiAocmV0ID09IDApCi0JCQljcmVhdGVfcHJvY19yZWFkX2VudHJ5KCJkcml2ZXIvcnRjIiwgMCwgTlVMTCwKLQkJCQkJICAgICAgIHJ0Y19yZWFkX3Byb2MsIG9wcyk7Ci0JfQotCW11dGV4X3VubG9jaygmcnRjX211dGV4KTsKLQotCXJldHVybiByZXQ7Ci19Ci1FWFBPUlRfU1lNQk9MKHJlZ2lzdGVyX3J0Yyk7Ci0KLXZvaWQgdW5yZWdpc3Rlcl9ydGMoc3RydWN0IHJ0Y19vcHMgKnJ0YykKLXsKLQltdXRleF9sb2NrKCZydGNfbXV0ZXgpOwotCWlmIChydGMgPT0gcnRjX29wcykgewotCQlyZW1vdmVfcHJvY19lbnRyeSgiZHJpdmVyL3J0YyIsIE5VTEwpOwotCQltaXNjX2RlcmVnaXN0ZXIoJnJ0Y19taXNjZGV2KTsKLQkJcnRjX29wcyA9IE5VTEw7Ci0JfQotCW11dGV4X3VubG9jaygmcnRjX211dGV4KTsKLX0KLUVYUE9SVF9TWU1CT0wodW5yZWdpc3Rlcl9ydGMpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29tbW9uL3NoYXJwc2xfcG0uYyBiL2FyY2gvYXJtL2NvbW1vbi9zaGFycHNsX3BtLmMKaW5kZXggNWJiYTUyNS4uODgyMmI2OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29tbW9uL3NoYXJwc2xfcG0uYworKysgYi9hcmNoL2FybS9jb21tb24vc2hhcnBzbF9wbS5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3BtLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3NoYXJwc2wuaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUvc2hhcnBzbF9wbS5oPgogCkBAIC0xNTcsNiArMTU4LDcgQEAKIAlkZXZfZGJnKHNoYXJwc2xfcG0uZGV2LCAiQmF0dGVyeTogdm9sdGFnZTogJWQsIHN0YXR1czogJWQsIHBlcmNlbnRhZ2U6ICVkLCB0aW1lOiAlbGRcbiIsIHZvbHRhZ2UsCiAJCQlzaGFycHNsX3BtLmJhdHRzdGF0Lm1haW5iYXRfc3RhdHVzLCBzaGFycHNsX3BtLmJhdHRzdGF0Lm1haW5iYXRfcGVyY2VudCwgamlmZmllcyk7CiAKKyNpZmRlZiBDT05GSUdfQkFDS0xJR0hUX0NPUkdJCiAJLyogSWYgYmF0dGVyeSBpcyBsb3cuIGxpbWl0IGJhY2tsaWdodCBpbnRlbnNpdHkgdG8gc2F2ZSBwb3dlci4gKi8KIAlpZiAoKHNoYXJwc2xfcG0uYmF0dHN0YXQuYWNfc3RhdHVzICE9IEFQTV9BQ19PTkxJTkUpCiAJCQkmJiAoKHNoYXJwc2xfcG0uYmF0dHN0YXQubWFpbmJhdF9zdGF0dXMgPT0gQVBNX0JBVFRFUllfU1RBVFVTX0xPVykgfHwKQEAgLTE2OSw2ICsxNzEsNyBAQAogCQlzaGFycHNsX3BtLm1hY2hpbmZvLT5iYWNrbGlnaHRfbGltaXQoMCk7CiAJCXNoYXJwc2xfcG0uZmxhZ3MgJj0gflNIQVJQU0xfQkxfTElNSVQ7CiAJfQorI2VuZGlmCiAKIAkvKiBTdXNwZW5kIGlmIGNyaXRpY2FsIGJhdHRlcnkgbGV2ZWwgKi8KIAlpZiAoKHNoYXJwc2xfcG0uYmF0dHN0YXQuYWNfc3RhdHVzICE9IEFQTV9BQ19PTkxJTkUpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFjYXA5YWRrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MWNhcDlhZGtfZGVmY29uZmlnCmluZGV4IGUzMmU3MzYuLmJlMmIyZjMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MWNhcDlhZGtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MWNhcDlhZGtfZGVmY29uZmlnCkBAIC0yMTMsNyArMjEzLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CkBAIC05MDcsNyArOTA2LDMyIEBACiAjCiAjIFVTQiBHYWRnZXQgU3VwcG9ydAogIwotIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVD15CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUdfRklMRVMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfU0VMRUNURUQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9BTUQ1NTM2VURDIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkE9eQorQ09ORklHX1VTQl9BVE1FTF9VU0JBPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfRlNMX1VTQjIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ORVQyMjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTTY2NTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfR09LVSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUzNDMjQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0FUOTEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9EVU1NWV9IQ0QgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfRFVBTFNQRUVEPXkKKyMgQ09ORklHX1VTQl9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRVRIPW0KK0NPTkZJR19VU0JfRVRIX1JORElTPXkKKyMgQ09ORklHX1VTQl9HQURHRVRGUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRT1tCisjIENPTkZJR19VU0JfRklMRV9TVE9SQUdFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dfU0VSSUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NSURJX0dBREdFVCBpcyBub3Qgc2V0CiBDT05GSUdfTU1DPXkKICMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CkBAIC05MjYsNyArOTUwLDU5IEBACiAjIENPTkZJR19NTUNfU1BJIGlzIG5vdCBzZXQKICMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKLSMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0NMQVNTPXkKK0NPTkZJR19SVENfSENUT1NZUz15CitDT05GSUdfUlRDX0hDVE9TWVNfREVWSUNFPSJydGMwIgorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKKworIworIyBSVEMgaW50ZXJmYWNlcworIworQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKK0NPTkZJR19SVENfSU5URl9QUk9DPXkKK0NPTkZJR19SVENfSU5URl9ERVY9eQorIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorCisjCisjIFNQSSBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUjk3MDEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKKworIworIyBQbGF0Zm9ybSBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CisKKyMKKyMgb24tQ1BVIFJUQyBkcml2ZXJzCisjCitDT05GSUdfUlRDX0RSVl9BVDkxU0FNOT15CitDT05GSUdfUlRDX0RSVl9BVDkxU0FNOV9SVFQ9MAorQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTlfR1BCUj0wCiAKICMKICMgRmlsZSBzeXN0ZW1zCmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBka19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBka19kZWZjb25maWcKaW5kZXggMmRiYmJjMy4uODY4ZmI3YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZGtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGRrX2RlZmNvbmZpZwpAQCAtMTY5LDcgKzE2OSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZWtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZWtfZGVmY29uZmlnCmluZGV4IDZlOTk0ZjcuLmRlNDNmYzYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGVrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBla19kZWZjb25maWcKQEAgLTE2MCw3ICsxNjAsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjBla19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYwZWtfZGVmY29uZmlnCmluZGV4IGY2NTljOTMuLjIwMTFhZGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjBla19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MGVrX2RlZmNvbmZpZwpAQCAtMjIwLDcgKzIyMCw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYxZWtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MWVrX2RlZmNvbmZpZwppbmRleCAzODAyZTg1Li40MDQ5NzY4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYxZWtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjFla19kZWZjb25maWcKQEAgLTIxMyw3ICsyMTMsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2M2VrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjNla19kZWZjb25maWcKaW5kZXggMzJhMGQ3NC4uZmExYzVhZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2M2VrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYzZWtfZGVmY29uZmlnCkBAIC0yMTMsNyArMjEzLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05ZzIwZWtfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNzAlCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOWcyMGVrX2RlZmNvbmZpZwppbmRleCA2YmVhMDkwLi5jMDY4NjM4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlnMjBla19kZWZjb25maWcKQEAgLTEsMTMgKzEsMTMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBNb24gSnVsICA5IDE1OjE4OjIwIDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNAorIyBUdWUgSnVuIDEwIDE1OjUxOjUyIDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQEAgLTIyLDQ1ICsyMiw0MCBAQAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKLUNPTkZJR19TV0FQPXkKKyMgQ09ORklHX1NXQVAgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAorIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNworIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9JTklUUkQ9eQogQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CiBDT05GSUdfU1lTQ1RMPXkKLUNPTkZJR19FTUJFRERFRD15CisjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKIENPTkZJR19LQUxMU1lNUz15Ci0jIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKQEAgLTcxLDQyICs2NiwzNSBAQAogQ09ORklHX0FOT05fSU5PREVTPXkKIENPTkZJR19FUE9MTD15CiBDT05GSUdfU0lHTkFMRkQ9eQotQ09ORklHX1RJTUVSRkQ9eQogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKICMKIENPTkZJR19JT1NDSEVEX05PT1A9eQogQ09ORklHX0lPU0NIRURfQVM9eQotQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQotQ09ORklHX0lPU0NIRURfQ0ZRPXkKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfQVM9eQogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CkBAIC0xMjAsNyArMTA4LDcgQEAKICMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxPXkKICMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKQEAgLTEzOSw4ICsxMjcsOSBAQAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNTAsMjUgKzEzOSw2MCBAQAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIEJvb3Qgb3B0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfRU1fWDI3MD15Ci1DT05GSUdfUFhBMjd4PXkKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgQXRtZWwgQVQ5MSBTeXN0ZW0tb24tQ2hpcAorIworIyBDT05GSUdfQVJDSF9BVDkxUk05MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTlSTCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxU0FNOUcyMD15CisjIENPTkZJR19BUkNIX0FUOTFDQVA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVg0MCBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9QTUNfVU5JVD15CisKKyMKKyMgQVQ5MVNBTTlHMjAgQm9hcmQgVHlwZQorIworQ09ORklHX01BQ0hfQVQ5MVNBTTlHMjBFSz15CisKKyMKKyMgQVQ5MSBCb2FyZCBPcHRpb25zCisjCisjIENPTkZJR19NVERfQVQ5MV9EQVRBRkxBU0hfQ0FSRCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9BVDkxX0JVU1dJRFRIXzE2IGlzIG5vdCBzZXQKKworIworIyBBVDkxIEZlYXR1cmUgU2VsZWN0aW9ucworIworQ09ORklHX0FUOTFfUFJPR1JBTU1BQkxFX0NMT0NLUz15CisjIENPTkZJR19BVDkxX1NMT1dfQ0xPQ0sgaXMgbm90IHNldAorQ09ORklHX0FUOTFfVElNRVJfSFo9MTAwCitDT05GSUdfQVQ5MV9FQVJMWV9EQkdVPXkKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ1IGlzIG5vdCBzZXQKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQogQ09ORklHX0NQVV8zMnY1PXkKLUNPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQpAQCAtMTc2LDI4ICsyMDAsMjggQEAKICMKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCi1DT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0FSTV9USFVNQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAorIyBDT05GSUdfTk9fSFogaXMgbm90IHNldAorIyBDT05GSUdfSElHSF9SRVNfVElNRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTIwOSw5ICsyMzMsMTQgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKK0NPTkZJR19MRURTPXkKK0NPTkZJR19MRURTX0NQVT15CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMTksNyArMjQ4LDcgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJtZW09NjRNIGNvbnNvbGU9dHR5UzAsMTE1MjAwIGluaXRyZD0weDIxMTAwMDAwLDMxNDU3Mjggcm9vdD0vZGV2L3JhbTAgcnciCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIApAQCAtMjMzLDYgKzI2Miw3IEBACiBDT05GSUdfRlBFX05XRlBFPXkKICMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0CiAjIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CisjIENPTkZJR19WRlAgaXMgbm90IHNldAogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwpAQCAtMjQ1LDEwICsyNzUsMTIgQEAKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15CisjIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci1DT05GSUdfQVBNX0VNVUxBVElPTj1tCitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkRfVVBfUE9TU0lCTEU9eQorQ09ORklHX1NVU1BFTkQ9eQorIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjYxLDE3ICsyOTMsMTMgQEAKIENPTkZJR19QQUNLRVQ9eQogIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAogQ09ORklHX1VOSVg9eQotQ09ORklHX1hGUk09eQotIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15CiAjIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CiBDT05GSUdfSVBfUE5QX0JPT1RQPXkKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKQEAgLTI4Myw5ICszMTEsMTAgQEAKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9ESUFHPXkKIENPTkZJR19JTkVUX1RDUF9ESUFHPXkKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKQEAgLTMxMSwxMCArMzQwLDYgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwpAQCAtMzIzLDI4ICszNDgsNyBAQAogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLUNPTkZJR19CVD1tCi1DT05GSUdfQlRfTDJDQVA9bQotQ09ORklHX0JUX1NDTz1tCi1DT05GSUdfQlRfUkZDT01NPW0KLSMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAotQ09ORklHX0JUX0JORVA9bQotIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAotIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAotQ09ORklHX0JUX0hJRFA9bQotCi0jCi0jIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycwotIwotQ09ORklHX0JUX0hDSVVTQj1tCi0jIENPTkZJR19CVF9IQ0lVU0JfU0NPIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lVQVJUPW0KLSMgQ09ORklHX0JUX0hDSVVBUlRfSDQgaXMgbm90IHNldAotIyBDT05GSUdfQlRfSENJVUFSVF9CQ1NQIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lCQ00yMDNYPW0KLUNPTkZJR19CVF9IQ0lCUEExMFg9bQotQ09ORklHX0JUX0hDSUJGVVNCPW0KLSMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCkBAIC0zNTMsMTMgKzM1Nyw5IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzY4LDIzICszNjgsMTggQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKLUNPTkZJR19GV19MT0FERVI9eQotIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CisjIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NPTkNBVD15CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NNRExJTkVfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAogCiAjCkBAIC0zOTgsMTUgKzM5MywxMyBAQAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKICMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9OT1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtNDI1LDEyICs0MTgsMTMgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKK0NPTkZJR19NVERfREFUQUZMQVNIPXkKKyMgQ09ORklHX01URF9NMjVQODAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKQEAgLTQ0NiwzMiArNDQwLDIzIEBACiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9BVDkxPXkKK0NPTkZJR19NVERfTkFORF9BVDkxX0VDQ19TT0ZUPXkKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX0hXIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX05PTkUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKICMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCiAjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKLQotIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKLSMKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAotCi0jCi0jIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAotIwotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIworQ09ORklHX0JMS19ERVY9eQogIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0xPT1A9eQogIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKQEAgLTQ3OSwyMCArNDY0LDI0IEBACiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCitDT05GSUdfQkxLX0RFVl9SQU1fU0laRT04MTkyCiBDT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERSBpcyBub3Qgc2V0CitDT05GSUdfTUlTQ19ERVZJQ0VTPXkKK0NPTkZJR19BVE1FTF9QV009eQorIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKK0NPTkZJR19BVE1FTF9TU0M9eQogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUwNyw3ICs0OTYsNyBAQAogIwogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKLSMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CiAjIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKQEAgLTUxOSwzOSArNTA4LDQ2IEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCi0jIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0xPV0xFVkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAotIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorQ09ORklHX1BIWUxJQj15CiAKICMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCisjIE1JSSBQSFkgZGV2aWNlIGRyaXZlcnMKICMKKyMgQ09ORklHX01BUlZFTExfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RBVklDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FTRU1JX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19MWFRfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJQ0FEQV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfVklURVNTRV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfU01TQ19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQlJPQURDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lDUExVU19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfRklYRURfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX01ESU9fQklUQkFORyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorQ09ORklHX01BQ0I9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAKQEAgLTU2OCw3ICs1NjQsNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldApAQCAtNTc3LDEwICs1NzIsNiBAQAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNTk1LDEwICs1ODYsOSBAQAogIwogQ09ORklHX0lOUFVUX01PVVNFREVWPXkKICMgQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MzIwCitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9MjQwCiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIApAQCAtNjEyLDI5ICs2MDIsMTggQEAKICMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0Ci1DT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KLSMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0tFWUJPQVJEX0dQSU89eQogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwogQ09ORklHX1NFUklPPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAotQ09ORklHX1NFUklPX0xJQlBTMj15CitDT05GSUdfU0VSSU9fU0VSUE9SVD15CiAjIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCkBAIC02NTUsNDUgKzYzNCw1MCBAQAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfQVRNRUw9eQorQ09ORklHX1NFUklBTF9BVE1FTF9DT05TT0xFPXkKKyMgQ09ORklHX1NFUklBTF9BVE1FTF9UVFlBVCBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKLQotIwotIyBJUE1JCi0jCitDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0xNgogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorQ09ORklHX0hXX1JBTkRPTT15CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKLQotIwotIyBUUE0gZGV2aWNlcwotIwogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkMgaXMgbm90IHNldAogCiAjCiAjIFNQSSBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKK0NPTkZJR19TUElfTUFTVEVSPXkKIAogIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCiAjCitDT05GSUdfU1BJX0FUTUVMPXkKKyMgQ09ORklHX1NQSV9CSVRCQU5HIGlzIG5vdCBzZXQKKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorQ09ORklHX1NQSV9TUElERVY9eQorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIAogIwotIyBNaXNjIGRldmljZXMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiAjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwpAQCAtNzAxLDE5ICs2ODUsNiBAQAogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKIAogIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi0KLSMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldApAQCAtNzIzLDgxICs2OTQsNTEgQEAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01CWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKICMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KK0NPTkZJR19TT1VORD15CiAKICMKICMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCiAjCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0CitDT05GSUdfU05EPXkKK0NPTkZJR19TTkRfVElNRVI9eQorQ09ORklHX1NORF9QQ009eQorQ09ORklHX1NORF9TRVFVRU5DRVI9eQorIyBDT05GSUdfU05EX1NFUV9EVU1NWSBpcyBub3Qgc2V0CiBDT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KK0NPTkZJR19TTkRfTUlYRVJfT1NTPXkKK0NPTkZJR19TTkRfUENNX09TUz15CiBDT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15CitDT05GSUdfU05EX1NFUVVFTkNFUl9PU1M9eQogIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKIENPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQorIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIEdlbmVyaWMgZGV2aWNlcwogIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KICMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklSTUlESSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAogIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAogIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0CkBAIC04MDUsOCArNzQ2LDEzIEBACiAjCiAjIEFMU0EgQVJNIGRldmljZXMKICMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KKyMgQ09ORklHX1NORF9BVDkxX0FDOTcgaXMgbm90IHNldAorCisjCisjIFNQSSBkZXZpY2VzCisjCitDT05GSUdfU05EX0FUNzNDMjEzPXkKK0NPTkZJR19TTkRfQVQ3M0MyMTNfVEFSR0VUX0JJVFJBVEU9NDgwMDAKIAogIwogIyBVU0IgZGV2aWNlcwpAQCAtODIwLDE2ICs3NjYsMTcgQEAKICMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAogCiAjCisjIFNvQyBBdWRpbyBzdXBwb3J0IGZvciBTdXBlckgKKyMKKworIwogIyBPcGVuIFNvdW5kIFN5c3RlbQogIwogIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KLQotIwotIyBISUQgRGV2aWNlcwotIworQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTgzOCwxMCArNzg1LDcgQEAKICMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAogIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAotCi0jCi0jIFVTQiBzdXBwb3J0Ci0jCitDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQogQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKICMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKQEAgLTg1NSw2ICs3OTksNyBAQAogIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKQEAgLTg2Niw2ICs4MTEsNyBAQAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCkBAIC04ODQsNiArODMwLDcgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldApAQCAtODk4LDcgKzg0NSw3IEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCkBAIC05MzksMjYgKzg4Niw2NiBAQAogIwogIyBVU0IgR2FkZ2V0IFN1cHBvcnQKICMKLSMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCitDT05GSUdfVVNCX0dBREdFVD15CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHX0ZJTEVTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX1NFTEVDVEVEPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfQU1ENTUzNlVEQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9GU0xfVVNCMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX05FVDIyODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9NNjY1OTIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9HT0tVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9TM0MyNDEwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX0FUOTE9eQorQ09ORklHX1VTQl9BVDkxPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVNTVlfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVBTFNQRUVEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfWkVSTz1tCisjIENPTkZJR19VU0JfRVRIIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VURlM9bQorQ09ORklHX1VTQl9GSUxFX1NUT1JBR0U9bQorIyBDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRV9URVNUIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR19TRVJJQUw9bQorIyBDT05GSUdfVVNCX01JRElfR0FER0VUIGlzIG5vdCBzZXQKK0NPTkZJR19NTUM9eQogIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKIAogIwogIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KK0NPTkZJR19NTUNfQkxPQ0s9eQorQ09ORklHX01NQ19CTE9DS19CT1VOQ0U9eQorIyBDT05GSUdfU0RJT19VQVJUIGlzIG5vdCBzZXQKIAogIwogIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KK0NPTkZJR19NTUNfQVQ5MT15CisjIENPTkZJR19NTUNfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKLSMgUmVhbCBUaW1lIENsb2NrCisjIExFRCBkcml2ZXJzCiAjCitDT05GSUdfTEVEU19BVE1FTF9QV009eQorQ09ORklHX0xFRFNfR1BJTz15CisKKyMKKyMgTEVEIFRyaWdnZXJzCisjCitDT05GSUdfTEVEU19UUklHR0VSUz15CitDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKIENPTkZJR19SVENfTElCPXkKLUNPTkZJR19SVENfQ0xBU1M9bQorQ09ORklHX1JUQ19DTEFTUz15CitDT05GSUdfUlRDX0hDVE9TWVM9eQorQ09ORklHX1JUQ19IQ1RPU1lTX0RFVklDRT0icnRjMCIKKyMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CiAKICMKICMgUlRDIGludGVyZmFjZXMKQEAgLTk3MCwyNiArOTU3LDI4IEBACiAjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCi0jIEkyQyBSVEMgZHJpdmVycwotIwotCi0jCiAjIFNQSSBSVEMgZHJpdmVycwogIworIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CiAKICMKICMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAogCiAjCiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPW0KK0NPTkZJR19SVENfRFJWX0FUOTFTQU05PXkKK0NPTkZJR19SVENfRFJWX0FUOTFTQU05X1JUVD0wCitDT05GSUdfUlRDX0RSVl9BVDkxU0FNOV9HUEJSPTAKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTk5NywxNCArOTg2LDggQEAKIENPTkZJR19FWFQyX0ZTPXkKICMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAotQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAotQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CkBAIC0xMDQ2LDcgKzEwMjksNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA2MiwyMiArMTA0NCwyMSBAQAogQ09ORklHX0pGRlMyX0ZTPXkKIENPTkZJR19KRkZTMl9GU19ERUJVRz0wCiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1NVTU1BUlk9eQogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQogIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CkBAIC0xMDkyLDI5ICsxMDczLDIzIEBACiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CiAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCiAjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMTQ1LDEwOCArMTEyMCwzNiBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMTU9eQogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCiAjIENPTkZJR19ETE0gaXMgbm90IHNldAotCi0jCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfSU5TVFJVTUVOVEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRCBpcyBub3Qgc2V0CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0tFUk5FTD15Ci0jIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15Ci0jIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKLSMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAotIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19VU0VSPXkKLUNPTkZJR19ERUJVR19FUlJPUlM9eQotQ09ORklHX0RFQlVHX0xMPXkKLSMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAogCiAjCiAjIFNlY3VyaXR5IG9wdGlvbnMKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotCi0jCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucwotIwotQ09ORklHX0NSWVBUTz15Ci1DT05GSUdfQ1JZUFRPX0FMR0FQST1tCi1DT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi1DT05GSUdfQ1JZUFRPX01BTkFHRVI9bQotIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KLSMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQotIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKLSMKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwpAQCAtMTI1NiwxMCArMTE1OSwxMCBAQAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQogQ09ORklHX0hBU19JT1BPUlQ9eQotQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOXJsZWtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOXJsZWtfZGVmY29uZmlnCmluZGV4IDk4ZTY3NDYuLmQ4ZWM1ZjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlybGVrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05cmxla19kZWZjb25maWcKQEAgLTIxMSw3ICsyMTEsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdGViOTIwMF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0ZWI5MjAwX2RlZmNvbmZpZwppbmRleCBkODQ2YTQ5Li44NWM4MGY3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0ZWI5MjAwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0ZWI5MjAwX2RlZmNvbmZpZwpAQCAtMTcxLDcgKzE3MSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotQ09ORklHX05PX0lETEVfSFo9eQogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvY29sbGllX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvY29sbGllX2RlZmNvbmZpZwppbmRleCA0MjY0ZTI3Li5mNzYyMmU2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2NvbGxpZV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9jb2xsaWVfZGVmY29uZmlnCkBAIC0xNjYsNyArMTY2LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2NvcmdpX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvY29yZ2lfZGVmY29uZmlnCmluZGV4IGU4OTgwYTkuLjliODc0OGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvY29yZ2lfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvY29yZ2lfZGVmY29uZmlnCkBAIC0xNjUsNyArMTY1LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lY2JhdDkxX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvZWNiYXQ5MV9kZWZjb25maWcKaW5kZXggOTBlZDIxNC4uY2ZlYjgxNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lY2JhdDkxX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2VjYmF0OTFfZGVmY29uZmlnCkBAIC0yMzAsNyArMjMwLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VwOTN4eF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2VwOTN4eF9kZWZjb25maWcKaW5kZXggMjRhNzAxYS4uMjFhYTAxMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lcDkzeHhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvZXA5M3h4X2RlZmNvbmZpZwpAQCAtMTg0LDcgKzE4NCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VzZXJpZXNfcHhhX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvZXNlcmllc19weGFfZGVmY29uZmlnCmluZGV4IGVkNDg3YjkuLjQ5M2VjZWUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZXNlcmllc19weGFfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvZXNlcmllc19weGFfZGVmY29uZmlnCkBAIC0yNTEsNyArMjUxLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2lteDI3YWRzX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW14MjdhZHNfZGVmY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjZDk1YjgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9jb25maWdzL2lteDI3YWRzX2RlZmNvbmZpZwpAQCAtMCwwICsxLDgyNiBAQAorIworIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAorIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNgorIyBGcmkgSnVuIDIwIDE2OjI5OjM0IDIwMDgKKyMKK0NPTkZJR19BUk09eQorQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKK0NPTkZJR19HRU5FUklDX0dQSU89eQorQ09ORklHX0dFTkVSSUNfVElNRT15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CitDT05GSUdfTU1VPXkKKyMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQorQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQorQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CitDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQorQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKK0NPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKK0NPTkZJR19aT05FX0RNQT15CitDT05GSUdfQVJDSF9NVERfWElQPXkKK0NPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAorQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKKworIworIyBHZW5lcmFsIHNldHVwCisjCitDT05GSUdfRVhQRVJJTUVOVEFMPXkKK0NPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CitDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQorIyBDT05GSUdfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfU1lTVklQQz15CitDT05GSUdfU1lTVklQQ19TWVNDVEw9eQorQ09ORklHX1BPU0lYX01RVUVVRT15CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CisjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNDVEw9eQorQ09ORklHX0VNQkVEREVEPXkKK0NPTkZJR19VSUQxNj15CitDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKK0NPTkZJR19LQUxMU1lNUz15CitDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUz15CitDT05GSUdfSE9UUExVRz15CitDT05GSUdfUFJJTlRLPXkKK0NPTkZJR19CVUc9eQorQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKK0NPTkZJR19CQVNFX0ZVTEw9eQorQ09ORklHX0ZVVEVYPXkKK0NPTkZJR19BTk9OX0lOT0RFUz15CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKK0NPTkZJR19TSE1FTT15CitDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQorQ09ORklHX1NMQUI9eQorIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQorQ09ORklHX1JUX01VVEVYRVM9eQorIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CitDT05GSUdfQkFTRV9TTUFMTD0wCitDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CitDT05GSUdfTU9EVUxFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CisjIENPTkZJR19LTU9EIGlzIG5vdCBzZXQKK0NPTkZJR19CTE9DSz15CisjIENPTkZJR19MQkQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAorCisjCisjIElPIFNjaGVkdWxlcnMKKyMKK0NPTkZJR19JT1NDSEVEX05PT1A9eQorIyBDT05GSUdfSU9TQ0hFRF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfQ0ZRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9OT09QPXkKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9Im5vb3AiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQorCisjCisjIFN5c3RlbSBUeXBlCisjCisjIENPTkZJR19BUkNIX0FBRUMyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VCU0ExMTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FUDkzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9GT09UQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTkVUWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0g3MjBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU1YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMyWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMzWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVhDPXkKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0hBUksgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zCisjCitDT05GSUdfQVJDSF9NWDI9eQorIyBDT05GSUdfQVJDSF9NWDMgaXMgbm90IHNldAorCisjCisjIE1YMiBmYW1pbHkgQ1BVIHN1cHBvcnQKKyMKK0NPTkZJR19NQUNIX01YMjc9eQorCisjCisjIE1YMiBQbGF0Zm9ybXMKKyMKK0NPTkZJR19NQUNIX01YMjdBRFM9eQorIyBDT05GSUdfTUFDSF9QQ00wMzggaXMgbm90IHNldAorCisjCisjIFByb2Nlc3NvciBUeXBlCisjCitDT05GSUdfQ1BVXzMyPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CitDT05GSUdfQ1BVXzMydjU9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKK0NPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CitDT05GSUdfQ1BVX1RMQl9WNFdCST15CitDT05GSUdfQ1BVX0NQMTU9eQorQ09ORklHX0NQVV9DUDE1X01NVT15CisKKyMKKyMgUHJvY2Vzc29yIEZlYXR1cmVzCisjCitDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKKyMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKKworIworIyBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgRmVhdHVyZXMKKyMKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQorQ09ORklHX0haPTEwMAorQ09ORklHX0FFQUJJPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CitDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQorIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fTUFOVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19GTEFUTUVNPXkKK0NPTkZJR19GTEFUX05PREVfTUVNX01BUD15CisjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKK0NPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CisjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAorQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKK0NPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKK0NPTkZJR19aQk9PVF9ST01fQlNTPTB4MAorQ09ORklHX0NNRExJTkU9IiIKKyMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAorCisjCisjIEZsb2F0aW5nIHBvaW50IGVtdWxhdGlvbgorIworCisjCisjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAorIworIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKKworIworIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKKyMKK0NPTkZJR19CSU5GTVRfRUxGPXkKKyMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKKworIworIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKKyMKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQorCisjCisjIE5ldHdvcmtpbmcKKyMKK0NPTkZJR19ORVQ9eQorCisjCisjIE5ldHdvcmtpbmcgb3B0aW9ucworIworQ09ORklHX1BBQ0tFVD15CitDT05GSUdfUEFDS0VUX01NQVA9eQorQ09ORklHX1VOSVg9eQorIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CitDT05GSUdfSU5FVD15CitDT05GSUdfSVBfTVVMVElDQVNUPXkKKyMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfRklCX0hBU0g9eQorQ09ORklHX0lQX1BOUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CisjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfQ09OR19DVUJJQz15CitDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCisjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAorIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE0gaXMgbm90IHNldAorIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAorIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xMQzIgaXMgbm90IHNldAorIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1gyNSBpcyBub3Qgc2V0CisjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisKKyMKKyMgTmV0d29yayB0ZXN0aW5nCisjCisjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CisjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcworIworIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKKworIworIyBEZXZpY2UgRHJpdmVycworIworCisjCisjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKKyMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCitDT05GSUdfU1RBTkRBTE9ORT15CitDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CisjIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAorIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAorIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19NVEQ9eQorIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAorQ09ORklHX01URF9QQVJUSVRJT05TPXkKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CisjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAorCisjCisjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCisjCitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQorIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GVEwgaXMgbm90IHNldAorIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAorIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CisKKyMKKyMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKKyMKK0NPTkZJR19NVERfQ0ZJPXkKKyMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMSBpcyBub3Qgc2V0CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JMT15CisjIENPTkZJR19NVERfQ0ZJX0kyIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKKyMgQ09ORklHX01URF9DRklfQU1EU1REIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9VVElMPXkKKyMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9YSVAgaXMgbm90IHNldAorCisjCisjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKKyMKKyMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwMDAwMDAwMAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MgorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKKworIworIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQkxPQ0syTVREIGlzIG5vdCBzZXQKKworIworIyBEaXNrLU9uLUNoaXAgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CisKKyMKKyMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCisjCisjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVY9eQorIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfTE9PUCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CisjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisKKyMKKyMgU0NTSSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19BVEEgaXMgbm90IHNldAorIyBDT05GSUdfTUQgaXMgbm90IHNldAorQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CisjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAorIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRVRIRVJORVQ9eQorIyBDT05GSUdfTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAorIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQ19PTEQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcyBMQU4KKyMKKyMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lTRE4gaXMgbm90IHNldAorCisjCisjIElucHV0IGRldmljZSBzdXBwb3J0CisjCitDT05GSUdfSU5QVVQ9eQorIyBDT05GSUdfSU5QVVRfRkZfTUVNTEVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9QT0xMREVWIGlzIG5vdCBzZXQKKworIworIyBVc2VybGFuZCBpbnRlcmZhY2VzCisjCisjIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0VWREVWPXkKKyMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKKworIworIyBJbnB1dCBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfSU5QVVRfS0VZQk9BUkQgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAorCisjCisjIEhhcmR3YXJlIEkvTyBwb3J0cworIworIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAorIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAorCisjCisjIENoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19WVCBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CisjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorCisjCisjIFNlcmlhbCBkcml2ZXJzCisjCisjIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CisKKyMKKyMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAorIworIyBDT05GSUdfU0VSSUFMX0lNWCBpcyBub3Qgc2V0CitDT05GSUdfVU5JWDk4X1BUWVM9eQorIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CisjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSSBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9HUElPX0xJQj15CisKKyMKKyMgR1BJTyBTdXBwb3J0CisjCisKKyMKKyMgSTJDIEdQSU8gZXhwYW5kZXJzOgorIworCisjCisjIFNQSSBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfRUdQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkZXZpY2VzCisjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAorCisjCisjIEdyYXBoaWNzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBTb3VuZAorIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorIyBDT05GSUdfSElEX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfTElCPXkKKyMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19VSU8gaXMgbm90IHNldAorCisjCisjIEZpbGUgc3lzdGVtcworIworIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRE5PVElGWSBpcyBub3Qgc2V0CisjIENPTkZJR19JTk9USUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorCisjCisjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKKworIworIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WRkFUX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05URlNfRlMgaXMgbm90IHNldAorCisjCisjIFBzZXVkbyBmaWxlc3lzdGVtcworIworQ09ORklHX1BST0NfRlM9eQorQ09ORklHX1BST0NfU1lTQ1RMPXkKK0NPTkZJR19TWVNGUz15CitDT05GSUdfVE1QRlM9eQorIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBmaWxlc3lzdGVtcworIworIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfRlM9eQorQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKK0NPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9SVElNRT15CisjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CitDT05GSUdfTkZTX0ZTPXkKK0NPTkZJR19ORlNfVjM9eQorIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CitDT05GSUdfUk9PVF9ORlM9eQorQ09ORklHX0xPQ0tEPXkKK0NPTkZJR19MT0NLRF9WND15CitDT05GSUdfTkZTX0NPTU1PTj15CitDT05GSUdfU1VOUlBDPXkKKyMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlMgaXMgbm90IHNldAorIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQYXJ0aXRpb24gVHlwZXMKKyMKKyMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKK0NPTkZJR19OTFM9eQorQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCitDT05GSUdfTkxTX0NPREVQQUdFXzQzNz1tCisjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9bQorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYxIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY5IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzk1MCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg3NCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV84IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMT15CisjIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzYgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8xNT1tCisjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAorIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgaGFja2luZworIworIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQorQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1BPSU5URVI9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19VU0VSIGlzIG5vdCBzZXQKKworIworIyBTZWN1cml0eSBvcHRpb25zCisjCisjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CisKKyMKKyMgTGlicmFyeSByb3V0aW5lcworIworQ09ORklHX0JJVFJFVkVSU0U9eQorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKK0NPTkZJR19QTElTVD15CitDT05GSUdfSEFTX0lPTUVNPXkKK0NPTkZJR19IQVNfSU9QT1JUPXkKK0NPTkZJR19IQVNfRE1BPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMTN4eF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2lvcDEzeHhfZGVmY29uZmlnCmluZGV4IDk4OGI0ZDEuLjQ4MmU1NzAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMTN4eF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9pb3AxM3h4X2RlZmNvbmZpZwpAQCAtMTk3LDcgKzE5Nyw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2lvcDMyeF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2lvcDMyeF9kZWZjb25maWcKaW5kZXggODNmNDBkNC4uODYxMmY1OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9pb3AzMnhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzJ4X2RlZmNvbmZpZwpAQCAtMjAxLDcgKzIwMSw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2lvcDMzeF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2lvcDMzeF9kZWZjb25maWcKaW5kZXggOTE3YWZiNS4uOGIwMDk4ZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9pb3AzM3hfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzN4X2RlZmNvbmZpZwpAQCAtMTk3LDcgKzE5Nyw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2l4cDIwMDBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9peHAyMDAwX2RlZmNvbmZpZwppbmRleCBmOGY5NzkzLi44NDY4MGRiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2l4cDIwMDBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjAwMF9kZWZjb25maWcKQEAgLTE4NCw3ICsxODQsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9peHAyM3h4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjN4eF9kZWZjb25maWcKaW5kZXggMjdjZjAyMi4uNGEyZjdiMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9peHAyM3h4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2l4cDIzeHhfZGVmY29uZmlnCkBAIC0xODAsNyArMTgwLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaXhwNHh4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaXhwNHh4X2RlZmNvbmZpZwppbmRleCBlZmEwNDg1Li5mYzE0OTMyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2l4cDR4eF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9peHA0eHhfZGVmY29uZmlnCkBAIC0xNjUsNiArMTY1LDcgQEAKIENPTkZJR19NQUNIX05BUzEwMEQ9eQogQ09ORklHX01BQ0hfRFNNRzYwMD15CiBDT05GSUdfQVJDSF9JWERQNFhYPXkKK0NPTkZJR19NQUNIX0ZTRz15CiBDT05GSUdfQ1BVX0lYUDQ2WD15CiBDT05GSUdfQ1BVX0lYUDQzWD15CiBDT05GSUdfTUFDSF9HVFdYNTcxNT15CkBAIC03NzAsNyArNzcxLDcgQEAKICMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAotIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAorQ09ORklHX1NBVEFfVklBPXkKICMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKQEAgLTExNDMsNyArMTE0NCw3IEBACiAjIENPTkZJR19TRU5TT1JTX1ZJQTY4NkEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19WVDEyMTEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19WVDgyMzEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlzIG5vdCBzZXQKK0NPTkZJR19TRU5TT1JTX1c4Mzc4MUQ9eQogIyBDT05GSUdfU0VOU09SU19XODM3OTFEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4Mzc5MyBpcyBub3Qgc2V0CkBAIC0xMzM0LDggKzEzMzUsOCBAQAogIwogIyBMRUQgZHJpdmVycwogIwotIyBDT05GSUdfTEVEU19JWFA0WFggaXMgbm90IHNldAogQ09ORklHX0xFRFNfR1BJTz15CitDT05GSUdfTEVEU19GU0c9eQogCiAjCiAjIExFRCBUcmlnZ2VycwpAQCAtMTM2Nyw3ICsxMzY4LDcgQEAKICMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX0lTTDEyMDg9eQogQ09ORklHX1JUQ19EUlZfWDEyMDU9eQogQ09ORklHX1JUQ19EUlZfUENGODU2Mz15CiAjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9rYWZhX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2FmYV9kZWZjb25maWcKaW5kZXggYWU1MWE0MC4uNmRkOTVhMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9rYWZhX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2thZmFfZGVmY29uZmlnCkBAIC0xNjIsNyArMTYyLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2tiOTIwMl9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2tiOTIwMl9kZWZjb25maWcKaW5kZXggYzE2NTM3ZC4uOGU3NGM2NiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9rYjkyMDJfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2I5MjAyX2RlZmNvbmZpZwpAQCAtMTI2LDcgKzEyNiw2IEBACiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2tpcmt3b29kX2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20gYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZwpjb3B5IHRvIGFyY2gvYXJtL2NvbmZpZ3Mva2lya3dvb2RfZGVmY29uZmlnCmluZGV4IDVjYWIwODMuLmUzMzU3YmEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9raXJrd29vZF9kZWZjb25maWcKQEAgLTEsMTcgKzEsMTggQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBXZWQgSnVsIDE4IDE0OjExOjQ4IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzUKKyMgU3VuIEp1biAyMiAxNTo1MToyNSAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CiBDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19IQVZFX0xBVEVOQ1lUT1BfU1VQUE9SVD15CiBDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKIENPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQpAQCAtMjEsNDMgKzIyLDQxIEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCi0jIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNwotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMiBpcyBub3Qgc2V0CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19TWVNDVEw9eQogQ09ORklHX0VNQkVEREVEPXkKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiAjIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CkBAIC02NSwyNyArNjQsNDAgQEAKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKLSMgQ09ORklHX0VQT0xMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NJR05BTEZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJTUVSRkQgaXMgbm90IHNldAotIyBDT05GSUdfRVZFTlRGRCBpcyBub3Qgc2V0CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9GSUxJTkc9eQorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfT1BST0ZJTEU9eQorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0Ci1DT05GSUdfS01PRD15CisjIENPTkZJR19LTU9EIGlzIG5vdCBzZXQKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CkBAIC05OSwxMSArMTExLDEyIEBACiBDT05GSUdfSU9TQ0hFRF9BUz15CiBDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CiBDT05GSUdfSU9TQ0hFRF9DRlE9eQotQ09ORklHX0RFRkFVTFRfQVM9eQorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAotQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iYW50aWNpcGF0b3J5IgorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBTeXN0ZW0gVHlwZQpAQCAtMTI5LDEwICsxNDIsMTUgQEAKICMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0tJUktXT09EPXkKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTE9LSSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01WNzhYWDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE0MCwyOSArMTU4LDM2IEBACiAjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0Ci1DT05GSUdfRE1BQk9VTkNFPXkKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgTWFydmVsbCBLaXJrd29vZCBJbXBsZW1lbnRhdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0FSTUNPUkU9eQotQ09ORklHX1BYQTI3eD15CitDT05GSUdfTUFDSF9EQjg4RjYyODFfQlA9eQorQ09ORklHX01BQ0hfUkQ4OEY2MTkyX05BUz15CitDT05GSUdfTUFDSF9SRDg4RjYyODE9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKK0NPTkZJR19QTEFUX09SSU9OPXkKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0ZFUk9DRU9OPXkKKyMgQ09ORklHX0NQVV9GRVJPQ0VPTl9PTERfSUQgaXMgbm90IHNldAogQ09ORklHX0NQVV8zMnY1PXkKIENPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15Ci1DT05GSUdfQ1BVX1RMQl9WNFdCST15CitDT05GSUdfQ1BVX0NPUFlfRkVST0NFT049eQorQ09ORklHX0NQVV9UTEJfRkVST0NFT049eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQogCkBAIC0xNzAsMzMgKzE5NSwzMiBAQAogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKIENPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKK0NPTkZJR19PVVRFUl9DQUNIRT15CitDT05GSUdfQ0FDSEVfRkVST0NFT05fTDI9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCiBDT05GSUdfUENJPXkKIENPTkZJR19QQ0lfU1lTQ0FMTD15Ci1DT05GSUdfUENJX0hPU1RfSVRFODE1Mj15CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CitDT05GSUdfUENJX0xFR0FDWT15CiAjIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQogQ09ORklHX0haPTEwMAotIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAorQ09ORklHX0FFQUJJPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpAQCAtMjA1LDYgKzIyOSw4IEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKQEAgLTIyOCw5ICsyNTQsNyBAQAogIwogIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKICMKLUNPTkZJR19GUEVfTldGUEU9eQotIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yMzgsMTYgKzI2MiwxMiBAQAogQ09ORklHX0JJTkZNVF9FTEY9eQogIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAogIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAotIyBDT05GSUdfQVJUSFVSIGlzIG5vdCBzZXQKIAogIwogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKLUNPTkZJR19QTT15Ci0jIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAotIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI1OCwxNSArMjc4LDE2IEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKQEAgLTI3NSw2ICsyOTYsNyBAQAogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjg1LDYgKzMwNyw3IEBACiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkBAIC0yOTIsOCArMzE1LDYgQEAKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMxMCwxNyArMzMxLDE1IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCi0jIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfUEtUR0VOPW0KKyMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CkBAIC0zMzEsMTIgKzM1MCw3IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiBDT05GSUdfV0lSRUxFU1NfRVhUPXkKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKQEAgLTM0Nyw2ICszNjEsNyBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQogQ09ORklHX0ZXX0xPQURFUj15CkBAIC0zNTQsMzQgKzM2OSw0MiBAQAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0Ci1DT05GSUdfTVREPW0KK0NPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCiAjCi1DT05GSUdfTVREX0NIQVI9bQotQ09ORklHX01URF9CTEtERVZTPW0KLUNPTkZJR19NVERfQkxPQ0s9bQotIyBDT05GSUdfTVREX0JMT0NLX1JPIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CiAjIENPTkZJR19GVEwgaXMgbm90IHNldAogIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwotIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGST15CitDT05GSUdfTVREX0pFREVDUFJPQkU9eQorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQotQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF84IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xNiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldApAQCAtMzg5LDYgKzQxMiwxMSBAQAogQ09ORklHX01URF9DRklfSTI9eQogIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQorIyBDT05GSUdfTVREX0NGSV9BTURTVEQgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfU1RBQT15CitDT05GSUdfTVREX0NGSV9VVElMPXkKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKQEAgLTM5NywxMyArNDI1LDIyIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MAorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTVBBNyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU5URUxfVlJfTk9SIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01URF9QTUM1NTEgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RBVEFGTEFTSCBpcyBub3Qgc2V0CitDT05GSUdfTVREX00yNVA4MD15CitDT05GSUdfTTI1UFhYX1VTRV9GQVNUX1JFQUQ9eQogIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKQEAgLTQxNSwxOCArNDUyLDE3IEBACiAjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EPW0KLSMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkQ9eQorQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURT15CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0lEUz1tCitDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9DQUZFIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9DTV9YMjcwPW0KICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfT1JJT049eQogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCkBAIC00NDUsMzggKzQ4MSwxMiBAQAogIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9TWDggaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFPW0KLUNPTkZJR19JREVfTUFYX0hXSUZTPTQKLUNPTkZJR19CTEtfREVWX0lERT1tCi0KLSMKLSMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCi0jCi0jIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURJU0s9bQotIyBDT05GSUdfSURFRElTS19NVUxUSV9NT0RFIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERUNEPW0KLSMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERUZMT1BQWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAotIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAotQ09ORklHX0lERV9QUk9DX0ZTPXkKLQotIwotIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCi0jCi0jIENPTkZJR19JREVfR0VORVJJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVQQ0lfUENJQlVTX09SREVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVETUEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNDk0LDggKzUwNCw5IEBACiBDT05GSUdfQkxLX0RFVl9TRD15CiAjIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIUl9ERVZfU0cgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfU1I9bQorIyBDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1IgaXMgbm90IHNldAorQ09ORklHX0NIUl9ERVZfU0c9bQogIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAogCiAjCkBAIC01MTMsMTIgKzUyNCw5IEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl8zV19YWFhYX1JBSUQgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKQEAgLTUyOSw2ICs1MzcsNyBAQAogIyBDT05GSUdfU0NTSV9BSUM3OVhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQUlDOTRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RQVF9JMk8gaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9BRFZBTlNZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0FSQ01TUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9ORVdHRU4gaXMgbm90IHNldAogIyBDT05GSUdfTUVHQVJBSURfTEVHQUNZIGlzIG5vdCBzZXQKQEAgLTUzOSw4ICs1NDgsMTAgQEAKICMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX01WU0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfRkMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfSVNDU0kgaXMgbm90IHNldApAQCAtNTUwLDE2ICs1NjEsNjggQEAKICMgQ09ORklHX1NDU0lfTlNQMzIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEEgaXMgbm90IHNldAorQ09ORklHX0FUQT15CisjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1NBVEFfUE1QPXkKKyMgQ09ORklHX1NBVEFfQUhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKKyMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9QSUlYIGlzIG5vdCBzZXQKK0NPTkZJR19TQVRBX01WPXkKKyMgQ09ORklHX1NBVEFfTlYgaXMgbm90IHNldAorIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9RU1RPUiBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BTUQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FUSUlYUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DTUQ2NFggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MjAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MzAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DWVBSRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfRUZBUiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfR0VORVJJQyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDM2NiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDM3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMk4gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzWDMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9JVDgyMVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9JVDgyMTMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9KTUlDUk9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9NUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9ORVRDRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDE1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09QVElETUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDMTIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NFUlZFUldPUktTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUERDMjAyN1ggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSUw2ODAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TQ0ggaXMgbm90IHNldAogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKICMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU0FTIGlzIG5vdCBzZXQKIAogIwogIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0CkBAIC01NzQsNiArNjM3LDcgQEAKICMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CkBAIC01ODQsMjggKzY0OCwyOCBAQAogIyBDT05GSUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVkVORE9SXzNDT00gaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRU5DMjhKNjAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1RVTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BDST15CiAjIENPTkZJR19QQ05FVDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAogIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0ZPUkNFREVUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ER1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VFUFJPMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKICMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAogIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldAogIyBDT05GSUdfODEzOUNQIGlzIG5vdCBzZXQKLUNPTkZJR184MTM5VE9PPW0KLSMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlUT09fVFVORV9UV0lTVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlUT09fODEyOSBpcyBub3Qgc2V0Ci0jIENPTkZJR184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CisjIENPTkZJR184MTM5VE9PIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FUElDMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NVTkRBTkNFIGlzIG5vdCBzZXQKQEAgLTYxNSw3ICs2NzksMTMgQEAKIENPTkZJR19ORVRERVZfMTAwMD15CiAjIENPTkZJR19BQ0VOSUMgaXMgbm90IHNldAogIyBDT05GSUdfREwySyBpcyBub3Qgc2V0Ci0jIENPTkZJR19FMTAwMCBpcyBub3Qgc2V0CitDT05GSUdfRTEwMDA9eQorQ09ORklHX0UxMDAwX05BUEk9eQorIyBDT05GSUdfRTEwMDBfRElTQUJMRV9QQUNLRVRfU1BMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JR0IgaXMgbm90IHNldAogIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKICMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0CkBAIC02MjYsMTYgKzY5NiwxMCBAQAogIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJR09OMyBpcyBub3Qgc2V0CiAjIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKK0NPTkZJR19NVjY0M1hYX0VUSD15CiAjIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUTDEgaXMgbm90IHNldAotQ09ORklHX05FVERFVl8xMDAwMD15Ci0jIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAotIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TMklPIGlzIG5vdCBzZXQKLSMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAotIyBDT05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19UUiBpcyBub3Qgc2V0CiAKICMKQEAgLTY0Myw2ICs3MDcsNyBAQAogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTY1MSw3ICs3MTYsNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GRERJIGlzIG5vdCBzZXQKQEAgLTY1OSw3ICs3MjMsNiBAQAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CkBAIC02NzUsMTAgKzczOCwxMiBAQAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCi0jIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfTU9VU0VERVY9eQorQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX0VWREVWPXkKKyMgQ09ORklHX0lOUFVUX0VWREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIAogIwpAQCAtNjg4LDE2ICs3NTMsNyBAQAogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDA9bQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwpAQCAtNzA5LDI3NSArNzY1LDE1OCBAQAogIwogIyBDaGFyYWN0ZXIgZGV2aWNlcwogIwotQ09ORklHX1ZUPXkKLUNPTkZJR19WVF9DT05TT0xFPXkKLUNPTkZJR19IV19DT05TT0xFPXkKLSMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19WVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERVZLTUVNIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisjIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCiAjCi0jIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTA9eQorQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMXzgyNTBfUENJIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CitDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz0yCisjIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CiAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgorQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MTYKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19EUk0gaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKIENPTkZJR19ERVZQT1JUPXkKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj15CiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QUk9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CitDT05GSUdfSTJDX01WNjRYWFg9eQorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAorQ09ORklHX1NQST15CisjIENPTkZJR19TUElfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NQSV9NQVNURVI9eQorCisjCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCisjCisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX09SSU9OPXkKKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1NQSURFViBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAotQ09ORklHX01JU0NfREVWSUNFUz15Ci0jIENPTkZJR19QSEFOVE9NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLUNPTkZJR19ORVdfTEVEUz15Ci1DT05GSUdfTEVEU19DTEFTUz15Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLUNPTkZJR19MRURTX0NNX1gyNzA9eQotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotQ09ORklHX0xFRFNfVFJJR0dFUlM9eQotIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9JREVfRElTSyBpcyBub3Qgc2V0Ci1DT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci1DT05GSUdfREFCPXkKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19EUk0gaXMgbm90IHNldAorIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9DSVJSVVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUE0yIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0NZQkVSMjAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BU0lMSUFOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9JTVNUVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9OVklESUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUklWQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQVRST1ggaXMgbm90IHNldAotIyBDT05GSUdfRkJfUkFERU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BVFkgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU0FWQUdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9LWVJPIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCXzNERlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVk9PRE9PMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WVDg2MjMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVFJJREVOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BUksgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotQ09ORklHX0ZCX01CWD1tCi0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKLQotIwotIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKLSMKLSMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKLUNPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlkgaXMgbm90IHNldAotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIFBDSSBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfQUQxODg5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FMSTU0NTEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FUSUlYUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVTg4MTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FVODgyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BWlQzMzI4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9CVDg3WCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9EQVJMQTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9HSU5BMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RBUkxBMjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0dJTkEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTU9OQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUlBIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FQ0hPM0cgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5ESUdPSU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTVUxMEsxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTVUxMEsxWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU5TMTM3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU5TMTM3MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FUzE5NjggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0ZNODAxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9IREFfSU5URUwgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEU1AgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JQ0UxNzI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTlRFTDhYMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9LT1JHMTIxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUFFU1RSTzMgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01JWEFSVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTk0yNTYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1BDWEhSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9SSVBUSURFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9STUUzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUk1FOTYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JNRTk2NTIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NPTklDVklCRVMgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ZTUZQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FDOTdfUE9XRVJfU0FWRSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQorIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAogQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTk5MiwyNiArOTMxLDI4IEBACiBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0k9eQogQ09ORklHX1VTQj15CiAjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCiBDT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19XSElURUxJU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19CTEFDS0xJU1RfSFVCIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKLSMgQ09ORklHX1VTQl9FSENJX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0VIQ0lfSENEPXkKK0NPTkZJR19VU0JfRUhDSV9ST09UX0hVQl9UVD15CitDT05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQ9eQogIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09IQ0lfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldApAQCAtMTAyMCw3ICs5NjEsOCBAQAogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKICMKICMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BSSU5URVIgaXMgbm90IHNldAorQ09ORklHX1VTQl9QUklOVEVSPXkKKyMgQ09ORklHX1VTQl9XRE0gaXMgbm90IHNldAogCiAjCiAjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKQEAgLTEwMzEsMTUgKzk3MywxOCBAQAogIwogQ09ORklHX1VTQl9TVE9SQUdFPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCPXkKK0NPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NPXkKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfRFBDTT15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9TRERSMDk9eQorQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NT15CitDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1Q9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA0NywxNSArOTkyLDExIEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX01PTj15CisjIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCi0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwogIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNzYsNDMgKzEwMTcsMjcgQEAKICMgQ09ORklHX1VTQl9JRE1PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9GVERJX0VMQU4gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0FQUExFRElTUExBWSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0lTVVNCVkdBIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCisjIENPTkZJR19VU0JfSVNJR0hURlcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KLSMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKKyMgQ09ORklHX0xFRFNfQ0xBU1MgaXMgbm90IHNldAogCiAjCi0jIE1NQy9TRCBDYXJkIERyaXZlcnMKKyMgTEVEIGRyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQotQ09ORklHX01NQ19CTE9DS19CT1VOQ0U9eQogCiAjCi0jIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycworIyBMRUQgVHJpZ2dlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KLSMgQ09ORklHX01NQ19TREhDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVElGTV9TRCBpcyBub3Qgc2V0Ci0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCisjIENPTkZJR19MRURTX1RSSUdHRVJTIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKIENPTkZJR19SVENfQ0xBU1M9eQotQ09ORklHX1JUQ19IQ1RPU1lTPXkKLUNPTkZJR19SVENfSENUT1NZU19ERVZJQ0U9InJ0YzAiCiAjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAogCiAjCkBAIC0xMTI1LDMyICsxMDUwLDU2IEBACiAjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCisjIEkyQyBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX01WPXkKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SOTcwMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorCisjCiAjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiAjCiAjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD15CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKIAogIwogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD15Ci0KLSMKLSMgRE1BIEVuZ2luZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKLQotIwotIyBETUEgQ2xpZW50cwotIworQ09ORklHX0RNQURFVklDRVM9eQogCiAjCiAjIERNQSBEZXZpY2VzCiAjCitDT05GSUdfTVZfWE9SPXkKK0NPTkZJR19ETUFfRU5HSU5FPXkKKworIworIyBETUEgQ2xpZW50cworIworIyBDT05GSUdfTkVUX0RNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtMTE1OSwyNSArMTEwOCwyMiBAQAogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19YRlNfRlM9eQorIyBDT05GSUdfWEZTX1FVT1RBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKICMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTE4NSw4ICsxMTMxLDExIEBACiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKICMKLSMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAotIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19JU085NjYwX0ZTPXkKK0NPTkZJR19KT0xJRVQ9eQorIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19VREZfRlM9bQorQ09ORklHX1VERl9OTFM9eQogCiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKQEAgLTEyMDcsNyArMTE1Niw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMjIwLDIyICsxMTY4LDMwIEBACiAjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfSkZGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKK0NPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKQEAgLTEyNDUsOCArMTIwMSw3IEBACiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKQEAgLTEyNTUsMTggKzEyMTAsMzAgQEAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCi0jIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CisjIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfT1NGX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BTUlHQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ19QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKKyMgQ09ORklHX0JTRF9ESVNLTEFCRUwgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTklYV0FSRV9ESVNLTEFCRUwgaXMgbm90IHNldAorIyBDT05GSUdfTERNX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TR0lfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1VOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMjg4LDcgKzEyNTUsNyBAQAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfSVNPODg1OV8xPXkKLSMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzI9eQogIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldApAQCAtMTMwMCw1MyArMTI2Nyw1NyBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKK0NPTkZJR19OTFNfVVRGOD15CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAogQ09ORklHX01BR0lDX1NZU1JRPXkKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NIRURfREVCVUc9eQorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKKyMgQ09ORklHX1NDSEVEX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1BSRUVNUFQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0lORk89eQogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19LUFJPQkVTX1NBTklUWV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfTEtEVE0gaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBVEVOQ1lUT1AgaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15CiBDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMzU1LDU1ICsxMzI2LDEwMCBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CitDT05GSUdfQVNZTkNfQ09SRT15CiBDT05GSUdfQ1JZUFRPPXkKKworIworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKKyMKIENPTkZJR19DUllQVE9fQUxHQVBJPW0KIENPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KIENPTkZJR19DUllQVE9fTUFOQUdFUj1tCisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9bQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPW0KKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCi0jIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPX0hXPXkKKyMgQ09ORklHX0NSWVBUT19ERVZfSElGTl83OTVYIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15Ci0jIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfQ0NJVFQ9eQorQ09ORklHX0NSQzE2PXkKK0NPTkZJR19DUkNfSVRVX1Q9bQogQ09ORklHX0NSQzMyPXkKICMgQ09ORklHX0NSQzcgaXMgbm90IHNldAotIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19MSUJDUkMzMkM9eQorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CiBDT05GSUdfSEFTX0lPTUVNPXkKIENPTkZJR19IQVNfSU9QT1JUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mva3M4Njk1X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mva3M4Njk1X2RlZmNvbmZpZwppbmRleCA4YWIyMWEwLi42MDc3ZjJjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2tzODY5NV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9rczg2OTVfZGVmY29uZmlnCkBAIC0xNzQsNyArMTc0LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2xva2lfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjUlCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9sb2tpX2RlZmNvbmZpZwppbmRleCA2YmVhMDkwLi4xN2RhN2MzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbG9raV9kZWZjb25maWcKQEAgLTEsMTcgKzEsMTggQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBNb24gSnVsICA5IDE1OjE4OjIwIDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzUKKyMgRnJpIEp1biAxMyAwMzowNzo0OSAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15Ci1DT05GSUdfR0VORVJJQ19HUElPPXkKKyMgQ09ORklHX0dFTkVSSUNfR1BJTyBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQogQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfSEFWRV9MQVRFTkNZVE9QX1NVUFBPUlQ9eQogQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CiBDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKQEAgLTIxLDUxICsyMiw0OCBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwotQ09ORklHX0xPQ0FMVkVSU0lPTj0iLWVtLXgyNzAiCi0jIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNwotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMiBpcyBub3Qgc2V0CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19TWVNDVEw9eQogQ09ORklHX0VNQkVEREVEPXkKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15Ci0jIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15CkBAIC03OCwyNyArNzYsMzAgQEAKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0Ci1DT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKKyMgQ09ORklHX0tNT0QgaXMgbm90IHNldAogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwpAQCAtMTA3LDExICsxMDgsMTIgQEAKIENPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15Ci1DT05GSUdfREVGQVVMVF9BUz15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAotIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMzcsMTAgKzEzOSwxNSBAQAogIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LSVJLV09PRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9MT0tJPXkKKyMgQ09ORklHX0FSQ0hfTVY3OFhYMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTQ4LDI4ICsxNTUsMzQgQEAKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgSW1wbGVtZW50YXRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9FTV9YMjcwPXkKLUNPTkZJR19QWEEyN3g9eQorQ09ORklHX01BQ0hfTEI4OFJDODQ4MD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworQ09ORklHX1BMQVRfT1JJT049eQogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfRkVST0NFT049eQorIyBDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRCBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKLUNPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfQ09QWV9GRVJPQ0VPTj15CitDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTj15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CiAKQEAgLTE3NywyNyArMTkwLDI1IEBACiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwogQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKLSMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAorQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTIwOSw5ICsyMjAsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjMwLDkgKzI0NSw5IEBACiAjCiAjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAogIwotQ09ORklHX0ZQRV9OV0ZQRT15Ci0jIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAorIyBDT05GSUdfRlBFX05XRlBFIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yNDQsMTEgKzI1OSw4IEBACiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwotQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQotIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci1DT05GSUdfQVBNX0VNVUxBVElPTj1tCisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNTksMTUgKzI3MSwxNiBAQAogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKIENPTkZJR19QQUNLRVQ9eQotIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVF9NTUFQPXkKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKICMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15CkBAIC0yNzYsNiArMjg5LDcgQEAKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4Niw2ICszMDAsNyBAQAogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX0RJQUc9eQogQ09ORklHX0lORVRfVENQX0RJQUc9eQogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldApAQCAtMjkzLDggKzMwOCw2IEBACiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CkBAIC0zMTEsNTUgKzMyNCwyNyBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmsgdGVzdGluZwogIwotIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1BLVEdFTj1tCiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci1DT05GSUdfQlQ9bQotQ09ORklHX0JUX0wyQ0FQPW0KLUNPTkZJR19CVF9TQ089bQotQ09ORklHX0JUX1JGQ09NTT1tCi0jIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9CTkVQPW0KLSMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9ISURQPW0KLQotIwotIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKLSMKLUNPTkZJR19CVF9IQ0lVU0I9bQotIyBDT05GSUdfQlRfSENJVVNCX1NDTyBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJVUFSVD1tCi0jIENPTkZJR19CVF9IQ0lVQVJUX0g0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0hDSVVBUlRfQkNTUCBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJQkNNMjAzWD1tCi1DT05GSUdfQlRfSENJQlBBMTBYPW0KLUNPTkZJR19CVF9IQ0lCRlVTQj1tCi0jIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwogIyBXaXJlbGVzcwogIwogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKK0NPTkZJR19XSVJFTEVTU19FWFQ9eQogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzY4LDI0ICszNTMsMjAgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQotIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfQ09OQ0FUPXkKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCkBAIC0zOTMsMjAgKzM3NCwyNSBAQAogQ09ORklHX01URF9DSEFSPXkKIENPTkZJR19NVERfQkxLREVWUz15CiBDT05GSUdfTVREX0JMT0NLPXkKLSMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKK0NPTkZJR19GVEw9eQorQ09ORklHX05GVEw9eQorIyBDT05GSUdfTkZUTF9SVyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwotIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGST15CitDT05GSUdfTVREX0pFREVDUFJPQkU9eQorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKICMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTQxNSw4ICs0MDEsMTMgQEAKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NGSV9JMT15CiBDT05GSUdfTVREX0NGSV9JMj15Ci0jIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0k0PXkKICMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CitDT05GSUdfTVREX0NGSV9BTURTVEQ9eQorQ09ORklHX01URF9DRklfU1RBQT15CitDT05GSUdfTVREX0NGSV9VVElMPXkKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKQEAgLTQyNSwxMiArNDE2LDIwIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MAorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTVBBNyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKICMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCiAjCisjIENPTkZJR19NVERfREFUQUZMQVNIIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTTI1UDgwPXkKK0NPTkZJR19NMjVQWFhfVVNFX0ZBU1RfUkVBRD15CiAjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldApAQCAtNDQzLDQ2ICs0NDIsMzMgQEAKICMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkQ9eQotIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEU9eQogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX09SSU9OPXkKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwogIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKICMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAotCi0jCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAotIwogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCi0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCitDT05GSUdfQkxLX0RFVj15CiAjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfTE9PUD15CiAjIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKICMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKQEAgLTQ5MCw2ICs0NzYsNyBAQAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CkBAIC01MDAsOCArNDg3LDkgQEAKIENPTkZJR19CTEtfREVWX1NEPXkKICMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU1IgaXMgbm90IHNldAotIyBDT05GSUdfQ0hSX0RFVl9TRyBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUj1tCisjIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CitDT05GSUdfQ0hSX0RFVl9TRz1tCiAjIENPTkZJR19DSFJfREVWX1NDSCBpcyBub3Qgc2V0CiAKICMKQEAgLTUxOSw0MCArNTA3LDQxIEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCitDT05GSUdfQVRBPXkKKyMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9QTVA9eQorQ09ORklHX0FUQV9TRkY9eQorQ09ORklHX1NBVEFfTVY9eQorIyBDT05GSUdfUEFUQV9QTEFURk9STSBpcyBub3Qgc2V0CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKLQotIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKLSMKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAotIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQzI4SjYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorQ09ORklHX05FVERFVl8xMDAwPXkKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKK0NPTkZJR19NVjY0M1hYX0VUSD15CiAjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAogCiAjCkBAIC01NjAsNiArNTQ5LDcgQEAKICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC01NjgsMTkgKzU1OCwxMyBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNTk0LDQ4ICs1NzgsMjcgQEAKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwogQ09ORklHX0lOUFVUX01PVVNFREVWPXkKLSMgQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9FVkRFVj15CisjIENPTkZJR19JTlBVVF9FVkRFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKICMKICMgSW5wdXQgRGV2aWNlIERyaXZlcnMKICMKLUNPTkZJR19JTlBVVF9LRVlCT0FSRD15Ci0jIENPTkZJR19LRVlCT0FSRF9BVEtCRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19LRVlCT0FSRF9TVU5LQkQgaXMgbm90IHNldAotIyBDT05GSUdfS0VZQk9BUkRfTEtLQkQgaXMgbm90IHNldAotIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAotIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKLUNPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQotIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9LRVlCT0FSRCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCi1DT05GSUdfU0VSSU89eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fTElCUFMyPXkKLSMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKICMKQEAgLTY0NSwxOTEgKzYwOCwxMzcgQEAKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKICMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCiAjCi0jIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTA9eQorQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKK0NPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTIKKyMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKIAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKK0NPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTE2CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogQ09ORklHX0hXX1JBTkRPTT1tCiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKLQotIwotIyBUUE0gZGV2aWNlcwotIwogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CitDT05GSUdfSTJDX0NIQVJERVY9eQogCiAjCi0jIFNQSSBzdXBwb3J0CisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIwotIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CitDT05GSUdfSTJDX01WNjRYWFg9eQogCiAjCi0jIERhbGxhcydzIDEtd2lyZSBidXMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CiAjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKK0NPTkZJR19TUElfTUFTVEVSPXkKKworIworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycworIworIyBDT05GSUdfU1BJX0JJVEJBTkcgaXMgbm90IHNldAorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiAKICMKLSMgTWlzYyBkZXZpY2VzCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQogIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZHJpdmVycwotIwotCi0jCi0jIExFRCBUcmlnZ2VycwotIworIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIwogIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUJYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KLQotIwotIyBISUQgRGV2aWNlcwotIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTgzOCw0MCArNzQ3LDM5IEBACiAjIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKICMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKLQotIwotIyBVU0Igc3VwcG9ydAotIworQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKLUNPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CisjIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CiBDT05GSUdfVVNCPXkKICMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX1dISVRFTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX0JMQUNLTElTVF9IVUIgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIworIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKICMKICMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BSSU5URVIgaXMgbm90IHNldAorQ09ORklHX1VTQl9QUklOVEVSPXkKKyMgQ09ORklHX1VTQl9XRE0gaXMgbm90IHNldAogCiAjCiAjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKQEAgLTg4MiwxNSArNzkwLDE4IEBACiAjCiBDT05GSUdfVVNCX1NUT1JBR0U9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUI9eQorQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT009eQorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9EUENNPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOT15CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVD15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC05MDMsMTAgKzgxNCw2IEBACiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtOTMxLDY1ICs4MzgsMjMgQEAKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorIyBDT05GSUdfTEVEU19DTEFTUyBpcyBub3Qgc2V0CiAKICMKLSMgTU1DL1NEIENhcmQgRHJpdmVycworIyBMRUQgZHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCiAKICMKLSMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCisjIExFRCBUcmlnZ2VycwogIwotQ09ORklHX01NQ19QWEE9bQotCi0jCi0jIFJlYWwgVGltZSBDbG9jawotIworIyBDT05GSUdfTEVEU19UUklHR0VSUyBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15Ci1DT05GSUdfUlRDX0NMQVNTPW0KLQotIwotIyBSVEMgaW50ZXJmYWNlcwotIwotQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKLUNPTkZJR19SVENfSU5URl9QUk9DPXkKLUNPTkZJR19SVENfSU5URl9ERVY9eQotIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSTJDIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgU1BJIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKLSMKLSMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD1tCi0KLSMKLSMgb24tQ1BVIFJUQyBkcml2ZXJzCi0jCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9bQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC05OTgsMjUgKzg2MywyMiBAQAogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19YRlNfRlM9eQorIyBDT05GSUdfWEZTX1FVT1RBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKICMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTAyNCw4ICs4ODYsMTEgQEAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwogIwotIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorQ09ORklHX0lTTzk2NjBfRlM9eQorIyBDT05GSUdfSk9MSUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CitDT05GSUdfVURGX0ZTPW0KK0NPTkZJR19VREZfTkxTPXkKIAogIwogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCkBAIC0xMDQ2LDcgKzkxMSw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDI3ICs5MjYsMjcgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLUNPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQogIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CkBAIC0xMDkyLDI5ICs5NTYsNDAgQEAKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19PU0ZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FNSUdBX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfTUFDX1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIworQ09ORklHX0JTRF9ESVNLTEFCRUw9eQorQ09ORklHX01JTklYX1NVQlBBUlRJVElPTj15CitDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OPXkKK0NPTkZJR19VTklYV0FSRV9ESVNLTEFCRUw9eQorQ09ORklHX0xETV9QQVJUSVRJT049eQorQ09ORklHX0xETV9ERUJVRz15CisjIENPTkZJR19TR0lfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX1NVTl9QQVJUSVRJT049eQorIyBDT05GSUdfS0FSTUFfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldApAQCAtMTEzNiw3ICsxMDExLDcgQEAKICMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0CiBDT05GSUdfTkxTX0lTTzg4NTlfMT15Ci0jIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8yPXkKICMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKQEAgLTExNDgsMTE1ICsxMDIzLDEyMiBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAogQ09ORklHX01BR0lDX1NZU1JRPXkKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0tFUk5FTD15Ci0jIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQotIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKLSMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAotIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBVEVOQ1lUT1AgaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15Ci1DT05GSUdfREVCVUdfRVJST1JTPXkKLUNPTkZJR19ERUJVR19MTD15Ci0jIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCiAjCiAjIFNlY3VyaXR5IG9wdGlvbnMKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CiAKICMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgogIwotQ09ORklHX0NSWVBUTz15CiBDT05GSUdfQ1JZUFRPX0FMR0FQST1tCiBDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCiBDT05GSUdfQ1JZUFRPX01BTkFHRVI9bQotIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KLSMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQotIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCiAjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9bQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPW0KKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKKyMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKKyMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19IVz15CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQotIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDX0NDSVRUPXkKK0NPTkZJR19DUkMxNj15CitDT05GSUdfQ1JDX0lUVV9UPW0KIENPTkZJR19DUkMzMj15Ci0jIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CitDT05GSUdfTElCQ1JDMzJDPXkKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9scGQyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9scGQyNzBfZGVmY29uZmlnCmluZGV4IGEzYmY1ODMuLjFhMzhkOGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvbHBkMjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2xwZDI3MF9kZWZjb25maWcKQEAgLTE3Myw3ICsxNzMsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9scGQ3YTQwNF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2xwZDdhNDA0X2RlZmNvbmZpZwppbmRleCA0NmEwZjdmLi43YTJlOTMyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2xwZDdhNDA0X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2xwZDdhNDA0X2RlZmNvbmZpZwpAQCAtMTQ4LDcgKzE0OCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFPXkKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL212Nzh4eDBfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjElCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9tdjc4eHgwX2RlZmNvbmZpZwppbmRleCA1Y2FiMDgzLi5kMzhlYmY4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXY3OHh4MF9kZWZjb25maWcKQEAgLTEsMTcgKzEsMTggQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBXZWQgSnVsIDE4IDE0OjExOjQ4IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzUKKyMgRnJpIEp1biAxMyAwMjo1NzozMiAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15Ci1DT05GSUdfR0VORVJJQ19HUElPPXkKKyMgQ09ORklHX0dFTkVSSUNfR1BJTyBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQogQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfSEFWRV9MQVRFTkNZVE9QX1NVUFBPUlQ9eQogQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CiBDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKQEAgLTIxLDcxICsyMiw4MyBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwogQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgotIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKIENPTkZJR19TV0FQPXkKIENPTkZJR19TWVNWSVBDPXkKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15CiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKLSMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CitDT05GSUdfS0FMTFNZTVNfQUxMPXkKICMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAogQ09ORklHX0hPVFBMVUc9eQogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQotIyBDT05GSUdfRVBPTEwgaXMgbm90IHNldAotIyBDT05GSUdfU0lHTkFMRkQgaXMgbm90IHNldAotIyBDT05GSUdfVElNRVJGRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FVkVOVEZEIGlzIG5vdCBzZXQKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15Ci1DT05GSUdfU0xBQj15Ci0jIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CitDT05GSUdfU0xVQj15CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9GSUxJTkc9eQorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfT1BST0ZJTEU9eQorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKLUNPTkZJR19LTU9EPXkKKyMgQ09ORklHX0tNT0QgaXMgbm90IHNldAogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKQEAgLTk5LDExICsxMTIsMTIgQEAKIENPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15Ci1DT05GSUdfREVGQVVMVF9BUz15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAotIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMjksMTAgKzE0MywxNSBAQAogIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LSVJLV09PRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0xPS0kgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVY3OFhYMD15CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTQwLDI5ICsxNTksMzQgQEAKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKLUNPTkZJR19ETUFCT1VOQ0U9eQorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBNYXJ2ZWxsIE1WNzh4eDAgSW1wbGVtZW50YXRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9BUk1DT1JFPXkKLUNPTkZJR19QWEEyN3g9eQorQ09ORklHX01BQ0hfREI3OFgwMF9CUD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworQ09ORklHX1BMQVRfT1JJT049eQogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfRkVST0NFT049eQorQ09ORklHX0NQVV9GRVJPQ0VPTl9PTERfSUQ9eQogQ09ORklHX0NQVV8zMnY1PXkKIENPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15Ci1DT05GSUdfQ1BVX1RMQl9WNFdCST15CitDT05GSUdfQ1BVX0NPUFlfRkVST0NFT049eQorQ09ORklHX0NQVV9UTEJfRkVST0NFT049eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQogCkBAIC0xNzAsMzMgKzE5NCwzMiBAQAogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKIENPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKK0NPTkZJR19PVVRFUl9DQUNIRT15CitDT05GSUdfQ0FDSEVfRkVST0NFT05fTDI9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCiBDT05GSUdfUENJPXkKIENPTkZJR19QQ0lfU1lTQ0FMTD15Ci1DT05GSUdfUENJX0hPU1RfSVRFODE1Mj15CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CitDT05GSUdfUENJX0xFR0FDWT15CiAjIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQogQ09ORklHX0haPTEwMAotIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAorQ09ORklHX0FFQUJJPXkKK0NPTkZJR19PQUJJX0NPTVBBVD15CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKQEAgLTIwNSw2ICsyMjgsOCBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCkBAIC0yMzEsNiArMjU2LDcgQEAKIENPTkZJR19GUEVfTldGUEU9eQogIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKK0NPTkZJR19WRlA9eQogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwpAQCAtMjM4LDE2ICsyNjQsMTIgQEAKIENPTkZJR19CSU5GTVRfRUxGPXkKICMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKICMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSVEhVUiBpcyBub3Qgc2V0CiAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCi1DT05GSUdfUE09eQotIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNTgsMTUgKzI4MCwxNiBAQAogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKIENPTkZJR19QQUNLRVQ9eQotIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVF9NTUFQPXkKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKICMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15CkBAIC0yNzUsNiArMjk4LDcgQEAKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4NSw2ICszMDksNyBAQAogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX0RJQUc9eQogQ09ORklHX0lORVRfVENQX0RJQUc9eQogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldApAQCAtMjkyLDggKzMxNyw2IEBACiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CkBAIC0zMTAsMTcgKzMzMywxNSBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmsgdGVzdGluZwogIwotIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1BLVEdFTj1tCisjIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAogIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldApAQCAtMzMxLDEyICszNTIsNyBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogQ09ORklHX1dJUkVMRVNTX0VYVD15CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCkBAIC0zNDcsNiArMzYzLDcgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQpAQCAtMzU0LDMxICszNzEsMzkgQEAKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAotQ09ORklHX01URD1tCitDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKIAogIwogIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycwogIwotQ09ORklHX01URF9DSEFSPW0KLUNPTkZJR19NVERfQkxLREVWUz1tCi1DT05GSUdfTVREX0JMT0NLPW0KLSMgQ09ORklHX01URF9CTE9DS19STyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQogIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GVEwgaXMgbm90IHNldAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKLSMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9DRkk9eQorQ09ORklHX01URF9KRURFQ1BST0JFPXkKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC0zODksNiArNDE0LDExIEBACiBDT05GSUdfTVREX0NGSV9JMj15CiAjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CitDT05GSUdfTVREX0NGSV9BTURTVEQ9eQorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldApAQCAtMzk3LDcgKzQyNywxMyBAQAogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAKK0NPTkZJR19NVERfUEhZU01BUF9MRU49MHgwCitDT05GSUdfTVREX1BIWVNNQVBfQkFOS1dJRFRIPTAKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU1QQTcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lOVEVMX1ZSX05PUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKQEAgLTQxNSwxOCArNDUxLDE3IEBACiAjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EPW0KLSMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkQ9eQorQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURT15CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0lEUz1tCitDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9DQUZFIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9DTV9YMjcwPW0KICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfT1JJT049eQogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCkBAIC00NDUsMzggKzQ4MCwxNyBAQAogIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9TWDggaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFPW0KLUNPTkZJR19JREVfTUFYX0hXSUZTPTQKLUNPTkZJR19CTEtfREVWX0lERT1tCi0KLSMKLSMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCi0jCi0jIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURJU0s9bQotIyBDT05GSUdfSURFRElTS19NVUxUSV9NT0RFIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERUNEPW0KLSMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERUZMT1BQWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAotIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAotQ09ORklHX0lERV9QUk9DX0ZTPXkKLQotIwotIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCi0jCi0jIENPTkZJR19JREVfR0VORVJJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVQQ0lfUENJQlVTX09SREVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVETUEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CitDT05GSUdfTUlTQ19ERVZJQ0VTPXkKKyMgQ09ORklHX1BIQU5UT00gaXMgbm90IHNldAorIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkNMT1NVUkVfU0VSVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNDk0LDggKzUwOCw5IEBACiBDT05GSUdfQkxLX0RFVl9TRD15CiAjIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIUl9ERVZfU0cgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfU1I9bQorIyBDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1IgaXMgbm90IHNldAorQ09ORklHX0NIUl9ERVZfU0c9bQogIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAogCiAjCkBAIC01MTMsMTIgKzUyOCw5IEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl8zV19YWFhYX1JBSUQgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKQEAgLTUyOSw2ICs1NDEsNyBAQAogIyBDT05GSUdfU0NTSV9BSUM3OVhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQUlDOTRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RQVF9JMk8gaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9BRFZBTlNZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0FSQ01TUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9ORVdHRU4gaXMgbm90IHNldAogIyBDT05GSUdfTUVHQVJBSURfTEVHQUNZIGlzIG5vdCBzZXQKQEAgLTUzOSw4ICs1NTIsMTAgQEAKICMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX01WU0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfRkMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfSVNDU0kgaXMgbm90IHNldApAQCAtNTUwLDE2ICs1NjUsNjggQEAKICMgQ09ORklHX1NDU0lfTlNQMzIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEEgaXMgbm90IHNldAorQ09ORklHX0FUQT15CisjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1NBVEFfUE1QPXkKKyMgQ09ORklHX1NBVEFfQUhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKKyMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9QSUlYIGlzIG5vdCBzZXQKK0NPTkZJR19TQVRBX01WPXkKKyMgQ09ORklHX1NBVEFfTlYgaXMgbm90IHNldAorIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9RU1RPUiBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BTUQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FUSUlYUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DTUQ2NFggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MjAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MzAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DWVBSRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfRUZBUiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfR0VORVJJQyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDM2NiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDM3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMk4gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzWDMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9JVDgyMVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9JVDgyMTMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9KTUlDUk9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9NUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9ORVRDRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDE1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09QVElETUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDMTIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NFUlZFUldPUktTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUERDMjAyN1ggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSUw2ODAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TQ0ggaXMgbm90IHNldAogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKICMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU0FTIGlzIG5vdCBzZXQKIAogIwogIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0CkBAIC01NzQsNiArNjQxLDcgQEAKICMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CkBAIC01ODQsMjggKzY1MiwyNyBAQAogIyBDT05GSUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVkVORE9SXzNDT00gaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1RVTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BDST15CiAjIENPTkZJR19QQ05FVDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAogIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0ZPUkNFREVUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ER1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VFUFJPMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKICMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAogIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldAogIyBDT05GSUdfODEzOUNQIGlzIG5vdCBzZXQKLUNPTkZJR184MTM5VE9PPW0KLSMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlUT09fVFVORV9UV0lTVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlUT09fODEyOSBpcyBub3Qgc2V0Ci0jIENPTkZJR184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CisjIENPTkZJR184MTM5VE9PIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FUElDMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NVTkRBTkNFIGlzIG5vdCBzZXQKQEAgLTYxNiw2ICs2ODMsMTAgQEAKICMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19ETDJLIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRSBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEVfRU5BQkxFRCBpcyBub3Qgc2V0CisjIENPTkZJR19JUDEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUdCIGlzIG5vdCBzZXQKICMgQ09ORklHX05TODM4MjAgaXMgbm90IHNldAogIyBDT05GSUdfSEFNQUNISSBpcyBub3Qgc2V0CiAjIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldApAQCAtNjI2LDE2ICs2OTcsMTAgQEAKICMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19USUdPTjMgaXMgbm90IHNldAogIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0CitDT05GSUdfTVY2NDNYWF9FVEg9eQogIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKLUNPTkZJR19ORVRERVZfMTAwMDA9eQotIyBDT05GSUdfQ0hFTFNJT19UMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lYR0IgaXMgbm90IHNldAotIyBDT05GSUdfUzJJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX01MWDRfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAogIyBDT05GSUdfVFIgaXMgbm90IHNldAogCiAjCkBAIC02NDMsNiArNzA4LDcgQEAKICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC02NTEsNyArNzE3LDYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CkBAIC02NTksNyArNzI0LDYgQEAKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldApAQCAtNjc3LDcgKzc0MSw2IEBACiAjCiAjIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIApAQCAtNjg4LDE2ICs3NTEsNyBAQAogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDA9bQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwpAQCAtNzA5LDI3NSArNzYzLDE5NSBAQAogIwogIyBDaGFyYWN0ZXIgZGV2aWNlcwogIwotQ09ORklHX1ZUPXkKLUNPTkZJR19WVF9DT05TT0xFPXkKLUNPTkZJR19IV19DT05TT0xFPXkKLSMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19WVCBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorIyBDT05GSUdfTk9aT01JIGlzIG5vdCBzZXQKIAogIwogIyBTZXJpYWwgZHJpdmVycwogIwotIyBDT05GSUdfU0VSSUFMXzgyNTAgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwPXkKK0NPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkKKyMgQ09ORklHX1NFUklBTF84MjUwX1BDSSBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9NAorQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9MgorIyBDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldAogCiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKICMgQ09ORklHX1NFUklBTF9KU00gaXMgbm90IHNldAogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKK0NPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTE2CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldAotIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiBDT05GSUdfREVWUE9SVD15Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CitDT05GSUdfSTJDX0NIQVJERVY9eQogCiAjCi0jIFNQSSBzdXBwb3J0CisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1NjMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1WDMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDc1NiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1EODExMSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfSTgwMSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUElJWDQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX05GT1JDRTIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUFJPU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TQVZBR0U0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzU1OTUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTOTZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBUFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorQ09ORklHX0kyQ19NVjY0WFhYPXkKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKLUNPTkZJR19NSVNDX0RFVklDRVM9eQotIyBDT05GSUdfUEhBTlRPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAotIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldAotIyBDT05GSUdfVElGTV9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CitDT05GSUdfSFdNT049eQorIyBDT05GSUdfSFdNT05fVklEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQUQ3NDE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDI2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyOSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMzEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE05MjQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEVDc0NzMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BVFhQMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0RTMTYyMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0k1S19BTUIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19GNzE4MDVGIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRjcxODgyRkcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19GNzUzNzVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfR0w1MThTTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0dMNTIwU00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19JVDg3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE02MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNNzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTc3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE03OCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNODAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE04NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNODcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTkwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE05MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNOTMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVgxNjE5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjY1MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDODczNjAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQzg3NDI3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0RNRTE3MzcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xOTIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TTVNDNDdCMzk3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURTNzgyOCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RITUM1MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1ZJQTY4NkEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19WVDEyMTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19WVDgyMzEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzkxRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODNMNzg1VFMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODNMNzg2TkcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTl9ERUJVR19DSElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi1DT05GSUdfTkVXX0xFRFM9eQotQ09ORklHX0xFRFNfQ0xBU1M9eQotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi1DT05GSUdfTEVEU19DTV9YMjcwPXkKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLUNPTkZJR19MRURTX1RSSUdHRVJTPXkKLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19MRURTX1RSSUdHRVJfSURFX0RJU0sgaXMgbm90IHNldAotQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAotQ09ORklHX0RBQj15Ci0jIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfQ0lSUlVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1BNMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9DWUJFUjIwMDAgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVNJTElBTlQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfSU1TVFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotIyBDT05GSUdfRkJfTlZJRElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1JJVkEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFUUk9YIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1JBREVPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BVFkxMjggaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1MzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NBVkFHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TSVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTkVPTUFHSUMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfS1lSTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl8zREZYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZPT0RPTzEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVlQ4NjIzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVJLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1BNMyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9NQlg9bQotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0Ci0jCi0jIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0Ci1DT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX0RFVEVDVF9QUklNQVJZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBQQ0kgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX0FEMTg4OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQUxTMzAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BTEk1NDUxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FUSUlYUF9NT0RFTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVU4ODEwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FVODgzMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVpUMzMyOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ01JUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DUzQyODEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NTNDZYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREFSTEEyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfR0lOQTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9MQVlMQTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9EQVJMQTI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9HSU5BMjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0xBWUxBMjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01PTkEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01JQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRUNITzNHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTkRJR08gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHT0lPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTkRJR09ESiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU1VMTBLMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU1VMTBLMVggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VOUzEzNzAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VOUzEzNzEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VTMTkzOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRVMxOTY4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9GTTgwMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSERBX0lOVEVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9IRFNQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9IRFNQTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSUNFMTcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lOVEVMOFgwTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfS09SRzEyMTIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01BRVNUUk8zIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NSVhBUlQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX05NMjU2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9QQ1hIUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUklQVElERSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JNRTk2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9STUU5NjUyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9WSUE4MlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9WWDIyMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfWU1GUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BQzk3X1BPV0VSX1NBVkUgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKIENPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCkBAIC05OTIsMjYgKzk2NiwyOCBAQAogQ09ORklHX1VTQl9BUkNIX0hBU19FSENJPXkKIENPTkZJR19VU0I9eQogIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwogQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfV0hJVEVMSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfQkxBQ0tMSVNUX0hVQiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCi0jIENPTkZJR19VU0JfRUhDSV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAorQ09ORklHX1VTQl9FSENJX0hDRD15CitDT05GSUdfVVNCX0VIQ0lfUk9PVF9IVUJfVFQ9eQorQ09ORklHX1VTQl9FSENJX1RUX05FV1NDSEVEPXkKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVUhDSV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKQEAgLTEwMjAsNyArOTk2LDggQEAKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCiAjCiAjIENPTkZJR19VU0JfQUNNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QUklOVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfUFJJTlRFUj15CisjIENPTkZJR19VU0JfV0RNIGlzIG5vdCBzZXQKIAogIwogIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCkBAIC0xMDMxLDE1ICsxMDA4LDE4IEBACiAjCiBDT05GSUdfVVNCX1NUT1JBR0U9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUI9eQorQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT009eQorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9EUENNPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOT15CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVD15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDQ3LDE1ICsxMDI3LDExIEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX01PTj15CisjIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCi0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwogIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNzYsMzkgKzEwNTIsMjggQEAKICMgQ09ORklHX1VTQl9JRE1PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9GVERJX0VMQU4gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0FQUExFRElTUExBWSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0lTVVNCVkdBIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCisjIENPTkZJR19VU0JfSVNJR0hURlcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KLSMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwotIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCisjIExFRCBkcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KLUNPTkZJR19NTUNfQkxPQ0tfQk9VTkNFPXkKIAogIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMgTEVEIFRyaWdnZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCi0jIENPTkZJR19NTUNfU0RIQ0kgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1RJRk1fU0QgaXMgbm90IHNldAotCi0jCi0jIFJlYWwgVGltZSBDbG9jawotIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUj15CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CisjIENPTkZJR19MRURTX1RSSUdHRVJfREVGQVVMVF9PTiBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15CiBDT05GSUdfUlRDX0NMQVNTPXkKIENPTkZJR19SVENfSENUT1NZUz15CkBAIC0xMTI1LDMyICsxMDkwLDQxIEBACiAjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCisjIEkyQyBSVEMgZHJpdmVycworIworQ09ORklHX1JUQ19EUlZfRFMxMzA3PXkKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0RSVl9SUzVDMzcyPXkKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorQ09ORklHX1JUQ19EUlZfTTQxVDgwPXkKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAorCisjCisjIFNQSSBSVEMgZHJpdmVycworIworCisjCiAjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiAjCiAjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD15CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKIAogIwogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD15Ci0KLSMKLSMgRE1BIEVuZ2luZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKLQotIwotIyBETUEgQ2xpZW50cwotIwotCi0jCi0jIERNQSBEZXZpY2VzCi0jCisjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtMTE1OSwyNSArMTEzMywxOCBAQAogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMTg1LDggKzExNTIsMTEgQEAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwogIwotIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorQ09ORklHX0lTTzk2NjBfRlM9bQorQ09ORklHX0pPTElFVD15CisjIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX1VERl9GUz1tCitDT05GSUdfVURGX05MUz15CiAKICMKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwpAQCAtMTIwNyw3ICsxMTc3LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEyMjAsMjIgKzExODksMzAgQEAKICMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19KRkZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKICMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQpAQCAtMTI0NSw4ICsxMjIyLDcgQEAKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldApAQCAtMTI1NSwxOCArMTIzMSwzMCBAQAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19PU0ZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FNSUdBX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfTUFDX1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIworQ09ORklHX0JTRF9ESVNLTEFCRUw9eQorIyBDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTklYV0FSRV9ESVNLTEFCRUwgaXMgbm90IHNldAorIyBDT05GSUdfTERNX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TR0lfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1VOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMjg4LDcgKzEyNzYsNyBAQAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfSVNPODg1OV8xPXkKLSMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzI9eQogIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldApAQCAtMTMwMSw1MiArMTI4OSw1NSBAQAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CiBDT05GSUdfTUFHSUNfU1lTUlE9eQogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKK0NPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CiBDT05GSUdfU0NIRURfREVCVUc9eQotIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CitDT05GSUdfU0NIRURTVEFUUz15CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1BSRUVNUFQ9eQogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0lORk89eQogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19LUFJPQkVTX1NBTklUWV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfTEtEVE0gaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBVEVOQ1lUT1AgaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15CiBDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMzU1LDU1ICsxMzQ2LDk5IEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIwogQ09ORklHX0NSWVBUT19BTEdBUEk9bQogQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQogQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz1tCisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9bQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIwogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE9fSFc9eQorIyBDT05GSUdfQ1JZUFRPX0RFVl9ISUZOXzc5NVggaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorQ09ORklHX0NSQ19JVFVfVD1tCiBDT05GSUdfQ1JDMzI9eQogIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CiBDT05GSUdfSEFTX0lPTUVNPXkKIENPTkZJR19IQVNfSU9QT1JUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvbXgzMWFkc19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL214MzFhZHNfZGVmY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNTI3MTcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9jb25maWdzL214MzFhZHNfZGVmY29uZmlnCkBAIC0wLDAgKzEsODM5IEBACisjCisjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM2CisjIEZyaSBKdW4gMjAgMTY6MjE6MTEgMjAwOAorIworQ09ORklHX0FSTT15CitDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQorQ09ORklHX0dFTkVSSUNfR1BJTz15CitDT05GSUdfR0VORVJJQ19USU1FPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKK0NPTkZJR19NTVU9eQorIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CitDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CitDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKK0NPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CitDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSz15CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQorQ09ORklHX1pPTkVfRE1BPXkKK0NPTkZJR19BUkNIX01URF9YSVA9eQorQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCitDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgorCisjCisjIEdlbmVyYWwgc2V0dXAKKyMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CitDT05GSUdfU1dBUD15CitDT05GSUdfU1lTVklQQz15CitDT05GSUdfU1lTVklQQ19TWVNDVEw9eQorIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAorIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKK0NPTkZJR19JS0NPTkZJRz15CitDT05GSUdfSUtDT05GSUdfUFJPQz15CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKKyMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKK0NPTkZJR19TWVNDVEw9eQorQ09ORklHX0VNQkVEREVEPXkKK0NPTkZJR19VSUQxNj15CitDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKK0NPTkZJR19LQUxMU1lNUz15CisjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19IT1RQTFVHPXkKK0NPTkZJR19QUklOVEs9eQorQ09ORklHX0JVRz15CitDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQorQ09ORklHX0JBU0VfRlVMTD15CitDT05GSUdfRlVURVg9eQorQ09ORklHX0FOT05fSU5PREVTPXkKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQorQ09ORklHX1NITUVNPXkKK0NPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CitDT05GSUdfU0xBQj15CisjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CitDT05GSUdfUlRfTVVURVhFUz15CisjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKK0NPTkZJR19CQVNFX1NNQUxMPTAKK0NPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKK0NPTkZJR19NT0RVTEVfVU5MT0FEPXkKK0NPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKK0NPTkZJR19NT0RWRVJTSU9OUz15CisjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAorQ09ORklHX0tNT0Q9eQorQ09ORklHX0JMT0NLPXkKKyMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CisKKyMKKyMgSU8gU2NoZWR1bGVycworIworQ09ORklHX0lPU0NIRURfTk9PUD15CitDT05GSUdfSU9TQ0hFRF9BUz15CitDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CitDT05GSUdfSU9TQ0hFRF9DRlE9eQorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NGUT15CisjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKKworIworIyBTeXN0ZW0gVHlwZQorIworIyBDT05GSUdfQVJDSF9BQUVDMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FQlNBMTEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRVA5M1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRk9PVEJSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05FVFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9INzIwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lNWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzMlggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzM1ggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01YQz15CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NIQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBGcmVlc2NhbGUgTVhDIEltcGxlbWVudGF0aW9ucworIworIyBDT05GSUdfQVJDSF9NWDIgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVgzPXkKKworIworIyBNWDMgT3B0aW9ucworIworQ09ORklHX01BQ0hfTVgzMUFEUz15CisjIENPTkZJR19NQUNIX1BDTTAzNyBpcyBub3Qgc2V0CisKKyMKKyMgUHJvY2Vzc29yIFR5cGUKKyMKK0NPTkZJR19DUFVfMzI9eQorQ09ORklHX0NQVV9WNj15CisjIENPTkZJR19DUFVfMzJ2NksgaXMgbm90IHNldAorQ09ORklHX0NQVV8zMnY2PXkKK0NPTkZJR19DUFVfQUJSVF9FVjY9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQorQ09ORklHX0NQVV9DQUNIRV9WNj15CitDT05GSUdfQ1BVX0NBQ0hFX1ZJUFQ9eQorQ09ORklHX0NQVV9DT1BZX1Y2PXkKK0NPTkZJR19DUFVfVExCX1Y2PXkKK0NPTkZJR19DUFVfSEFTX0FTSUQ9eQorQ09ORklHX0NQVV9DUDE1PXkKK0NPTkZJR19DUFVfQ1AxNV9NTVU9eQorCisjCisjIFByb2Nlc3NvciBGZWF0dXJlcworIworQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9CUFJFRElDVF9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKKworIworIyBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgRmVhdHVyZXMKKyMKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQorQ09ORklHX0haPTEwMAorQ09ORklHX0FFQUJJPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CitDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQorIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fTUFOVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19GTEFUTUVNPXkKK0NPTkZJR19GTEFUX05PREVfTUVNX01BUD15CisjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKK0NPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CisjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAorQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKK0NPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKK0NPTkZJR19aQk9PVF9ST01fQlNTPTB4MAorQ09ORklHX0NNRExJTkU9Im5vaW5pdHJkIGNvbnNvbGU9dHR5bXhjMCwxMTUyMDAgcm9vdD0vZGV2L210ZGJsb2NrMiBydyBpcD1vZmYiCisjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKKworIworIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KKyMKKworIworIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKKyMKK0NPTkZJR19WRlA9eQorCisjCisjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cworIworQ09ORklHX0JJTkZNVF9FTEY9eQorIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAorIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucworIworIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CisKKyMKKyMgTmV0d29ya2luZworIworQ09ORklHX05FVD15CisKKyMKKyMgTmV0d29ya2luZyBvcHRpb25zCisjCitDT05GSUdfUEFDS0VUPXkKKyMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19VTklYPXkKK0NPTkZJR19YRlJNPXkKKyMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUPXkKKyMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0ZJQl9IQVNIPXkKK0NPTkZJR19JUF9QTlA9eQorQ09ORklHX0lQX1BOUF9ESENQPXkKKyMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAorQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CitDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKK0NPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUX0RJQUc9eQorQ09ORklHX0lORVRfVENQX0RJQUc9eQorIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1RDUF9DT05HX0NVQklDPXkKK0NPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKKyMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAorIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAorIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAorIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CisjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CisjIENPTkZJR19CUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfVkxBTl84MDIxUSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUNORVQgaXMgbm90IHNldAorIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CisjIENPTkZJR19JUFggaXMgbm90IHNldAorIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldAorIyBDT05GSUdfWDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBUEIgaXMgbm90IHNldAorIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKKworIworIyBOZXR3b3JrIHRlc3RpbmcKKyMKKyMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAorIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lSREEgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAorIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzCisjCisjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAorCisjCisjIERldmljZSBEcml2ZXJzCisjCisKKyMKKyMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucworIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKK0NPTkZJR19TVEFOREFMT05FPXkKK0NPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKK0NPTkZJR19GV19MT0FERVI9bQorIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAorIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19NVEQ9eQorIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAorQ09ORklHX01URF9QQVJUSVRJT05TPXkKK0NPTkZJR19NVERfUkVEQk9PVF9QQVJUUz15CitDT05GSUdfTVREX1JFREJPT1RfRElSRUNUT1JZX0JMT0NLPS0xCisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUU19VTkFMTE9DQVRFRCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUU19SRUFET05MWSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQorIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKKworIworIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycworIworQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKKyMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAorIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAorCisjCisjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCisjCitDT05GSUdfTVREX0NGST15CisjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQorIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzEgaXMgbm90IHNldAorQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF84IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xNiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSTE9eQorIyBDT05GSUdfTVREX0NGSV9JMiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0lOVEVMRVhUIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0FNRFNURD15CisjIENPTkZJR19NVERfQ0ZJX1NUQUEgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfVVRJTD15CitDT05GSUdfTVREX1JBTT15CisjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1hJUCBpcyBub3Qgc2V0CisKKyMKKyMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcworIworIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BIWVNNQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKKworIworIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQkxPQ0syTVREIGlzIG5vdCBzZXQKKworIworIyBEaXNrLU9uLUNoaXAgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkQ9eQorIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfSURTPXkKKyMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CisKKyMKKyMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCisjCisjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisKKyMKKyMgU0NTSSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19BVEEgaXMgbm90IHNldAorIyBDT05GSUdfTUQgaXMgbm90IHNldAorQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CisjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAorIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRVRIRVJORVQ9eQorQ09ORklHX01JST15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzIExBTgorIworIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19XQU4gaXMgbm90IHNldAorIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0lOUFVUIGlzIG5vdCBzZXQKKworIworIyBIYXJkd2FyZSBJL08gcG9ydHMKKyMKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKKworIworIyBDaGFyYWN0ZXIgZGV2aWNlcworIworIyBDT05GSUdfVlQgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQorIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKworIworIyBTZXJpYWwgZHJpdmVycworIworIyBDT05GSUdfU0VSSUFMXzgyNTAgaXMgbm90IHNldAorCisjCisjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKKyMKK0NPTkZJR19TRVJJQUxfSU1YPXkKK0NPTkZJR19TRVJJQUxfSU1YX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9DT1JFPXkKK0NPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKK0NPTkZJR19VTklYOThfUFRZUz15CisjIENPTkZJR19MRUdBQ1lfUFRZUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkMgaXMgbm90IHNldAorIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisKKyMKKyMgU1BJIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRldmljZXMKKyMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CisKKyMKKyMgR3JhcGhpY3Mgc3VwcG9ydAorIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIFNvdW5kCisjCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorQ09ORklHX1JUQ19MSUI9eQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisKKyMKKyMgRmlsZSBzeXN0ZW1zCisjCisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKK0NPTkZJR19JTk9USUZZPXkKK0NPTkZJR19JTk9USUZZX1VTRVI9eQorIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CisKKyMKKyMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorCisjCisjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUHNldWRvIGZpbGVzeXN0ZW1zCisjCitDT05GSUdfUFJPQ19GUz15CitDT05GSUdfUFJPQ19TWVNDVEw9eQorQ09ORklHX1NZU0ZTPXkKK0NPTkZJR19UTVBGUz15CisjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKK0NPTkZJR19DUkFNRlM9eQorIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CitDT05GSUdfTkZTX0ZTPXkKKyMgQ09ORklHX05GU19WMyBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CitDT05GSUdfUk9PVF9ORlM9eQorQ09ORklHX0xPQ0tEPXkKK0NPTkZJR19ORlNfQ09NTU9OPXkKK0NPTkZJR19TVU5SUEM9eQorIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CisjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAorCisjCisjIFBhcnRpdGlvbiBUeXBlcworIworIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19NU0RPU19QQVJUSVRJT049eQorIyBDT05GSUdfTkxTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIGhhY2tpbmcKKyMKK0NPTkZJR19QUklOVEtfVElNRT15CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CitDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAorIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAorCisjCisjIFNlY3VyaXR5IG9wdGlvbnMKKyMKKyMgQ09ORklHX0tFWVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCisjIENPTkZJR19DUllQVE9fTUFOQUdFUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0NCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKKyMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKKyMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0hXIGlzIG5vdCBzZXQKKworIworIyBMaWJyYXJ5IHJvdXRpbmVzCisjCitDT05GSUdfQklUUkVWRVJTRT15CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKK0NPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQorQ09ORklHX1BMSVNUPXkKK0NPTkZJR19IQVNfSU9NRU09eQorQ09ORklHX0hBU19JT1BPUlQ9eQorQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXgzMWxpdGVraXRfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjQlCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9teDMxbGl0ZWtpdF9kZWZjb25maWcKaW5kZXggNmJlYTA5MC4uNGY0MWM0MSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL214MzFsaXRla2l0X2RlZmNvbmZpZwpAQCAtMSwxMiArMSwxMiBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIE1vbiBKdWwgIDkgMTU6MTg6MjAgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNQorIyBGcmkgSnVuIDEzIDE0OjIzOjM5IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKLUNPTkZJR19HRU5FUklDX0dQSU89eQotQ09ORklHX0dFTkVSSUNfVElNRT15CisjIENPTkZJR19HRU5FUklDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19USU1FIGlzIG5vdCBzZXQKICMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldApAQCAtMjEsNDQgKzIxLDQ0IEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQogQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKLSMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAogQ09ORklHX0lLQ09ORklHPXkKIENPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19TWVNDVEw9eQogQ09ORklHX0VNQkVEREVEPXkKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiAjIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CkBAIC02Niw2ICs2Niw3IEBACiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15CkBAIC03OCwyNyArNzksMzAgQEAKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15CiBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15Ci0jIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfTU9EVkVSU0lPTlM9eQogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIwogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwpAQCAtMTA3LDExICsxMTEsMTIgQEAKIENPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15Ci1DT05GSUdfREVGQVVMVF9BUz15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAotIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMzksOCArMTQ0LDEwIEBACiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01YQz15CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTQ4LDI4ICsxNTUsNDEgQEAKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgQm9vdCBvcHRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9FTV9YMjcwPXkKLUNPTkZJR19QWEEyN3g9eQorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBGcmVlc2NhbGUgTVhDIEltcGxlbWVudGF0aW9ucworIworQ09ORklHX0FSQ0hfTVgzPXkKKworIworIyBNWDMgT3B0aW9ucworIworIyBDT05GSUdfTUFDSF9NWDMxQURTIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX01YMzFMSVRFPXkKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15Ci1DT05GSUdfQ1BVXzMydjU9eQotQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQotQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKLUNPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfVjY9eQorIyBDT05GSUdfQ1BVXzMydjZLIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVfMzJ2Nj15CitDT05GSUdfQ1BVX0FCUlRfRVY2PXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKK0NPTkZJR19DUFVfQ0FDSEVfVjY9eQorQ09ORklHX0NQVV9DQUNIRV9WSVBUPXkKK0NPTkZJR19DUFVfQ09QWV9WNj15CitDT05GSUdfQ1BVX1RMQl9WNj15CitDT05GSUdfQ1BVX0hBU19BU0lEPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKIApAQCAtMTc3LDMwICsxOTcsMzMgQEAKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCiBDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0JQUkVESUNUX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0NBUkQ9bQorIyBDT05GSUdfUENNQ0lBX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQSBpcyBub3Qgc2V0CiAKICMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAorIyBQQy1jYXJkIGJyaWRnZXMKICMKLSMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0CitDT05GSUdfUFJFRU1QVD15CiAjIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15Ci1DT05GSUdfT0FCSV9DT01QQVQ9eQorIyBDT05GSUdfT0FCSV9DT01QQVQgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CkBAIC0yMDksOSArMjMyLDEzIEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0Ci1DT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQorQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMTksNyArMjQ2LDcgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJub2luaXRyZCBjb25zb2xlPXR0eW14YzAsMTE1MjAwIHJvb3Q9L2Rldi9tdGRibG9jazIgcncgaXA9b2ZmIgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiAKQEAgLTIzMCwyNSArMjU3LDIzIEBACiAjCiAjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAogIwotQ09ORklHX0ZQRV9OV0ZQRT15Ci0jIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAotIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorQ09ORklHX1ZGUD15CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCiAjCiBDT05GSUdfQklORk1UX0VMRj15Ci0jIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CitDT05GSUdfQklORk1UX0FPVVQ9eQogIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAogCiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci1DT05GSUdfQVBNX0VNVUxBVElPTj1tCisjIENPTkZJR19TVVNQRU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjY1LDYgKzI5MCw3IEBACiAjIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15CiAjIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldApAQCAtMjcyLDcgKzI5OCw3IEBACiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15CiBDT05GSUdfSVBfUE5QX0RIQ1A9eQotQ09ORklHX0lQX1BOUF9CT09UUD15CisjIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKQEAgLTI4Niw2ICszMTIsNyBAQAogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX0RJQUc9eQogQ09ORklHX0lORVRfVENQX0RJQUc9eQogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldApAQCAtMjkzLDggKzMyMCw2IEBACiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CkBAIC0zMTEsMTAgKzMzNiw2IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKQEAgLTMyMiwyOSArMzQzLDkgQEAKICMKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTM1MywxMyArMzU0LDkgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjQgKzM2NSwyNSBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15CitDT05GSUdfRldfTE9BREVSPW0KICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX0NPTkNBVD15CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15Ci0jIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ01ETElORV9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX1JFREJPT1RfUEFSVFM9eQorQ09ORklHX01URF9SRURCT09UX0RJUkVDVE9SWV9CTE9DSz0tMQorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFNfVU5BTExPQ0FURUQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFNfUkVBRE9OTFkgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKQEAgLTM5OCwzNCArMzk2LDQ1IEBACiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwotIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGST15CiAjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQogIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAotQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15Ci1DT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NGSV9JMT15Ci1DT05GSUdfTVREX0NGSV9JMj15CisjIENPTkZJR19NVERfQ0ZJX0kyIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JTlRFTEVYVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9BTURTVEQ9eQorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQorQ09ORklHX01URF9SQU09eQogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9YSVAgaXMgbm90IHNldAogCiAjCiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhZU01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCkBAIC00NDYsNDMgKzQ1NSwyMSBAQAogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9QTEFURk9STT15CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwogIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKICMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAotCi0jCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAotIwogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCi0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCi0jIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfTE9PUD15Ci0jIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0Ci0jIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQogIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwpAQCAtNDkwLDkgKzQ3NywxMCBAQAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA3LDcgKzQ5NSw3IEBACiAjCiAjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwogIwotIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldAorQ09ORklHX1NDU0lfTVVMVElfTFVOPXkKICMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NDQU5fQVNZTkMgaXMgbm90IHNldApAQCAtNTE5LDM5ICs1MDcsMzIgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAotCi0jCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQotIwogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAogCkBAIC01NjAsNiArNTQxLDcgQEAKICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC01NjgsMTkgKzU1MCwxMyBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNTkzLDEyICs1NjksOCBAQAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCi1DT05GSUdfSU5QVVRfTU9VU0VERVY9eQotIyBDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldAotQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKKyMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC02MTIsMTIgKzU4NCwxMSBAQAogIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKLUNPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQotIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CkBAIC02MzIsMTAgKzYwMyw3IEBACiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwotQ09ORklHX1NFUklPPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAotQ09ORklHX1NFUklPX0xJQlBTMj15Ci0jIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAorIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCiAjCkBAIC02NDUsNiArNjEzLDcgQEAKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKICMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAogCiAjCkBAIC02NTUsOTIgKzYyNCwxMTAgQEAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15Ci1DT05GSUdfU0VSSUFMX0NPUkU9eQotQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKLQotIwotIyBJUE1JCi0jCiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCitDT05GSUdfSFdfUkFORE9NPXkKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAotCi0jCi0jIFRQTSBkZXZpY2VzCi0jCiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQyBpcyBub3Qgc2V0Ci0KLSMKLSMgU1BJIHN1cHBvcnQKLSMKICMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKLQotIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCi0jCiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorQ09ORklHX1dBVENIRE9HPXkKK0NPTkZJR19XQVRDSERPR19OT1dBWU9VVD15CiAKICMKLSMgTWlzYyBkZXZpY2VzCisjIFdhdGNoZG9nIERldmljZSBEcml2ZXJzCiAjCisjIENPTkZJR19TT0ZUX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBVU0ItYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKKyMKKyMgQ09ORklHX1VTQlBDV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZHJpdmVycwotIwotCi0jCi0jIExFRCBUcmlnZ2VycwotIworIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIwotIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworQ09ORklHX1ZJREVPX0RFVj15CitDT05GSUdfVklERU9fVjRMMl9DT01NT049eQorQ09ORklHX1ZJREVPX0FMTE9XX1Y0TDE9eQorQ09ORklHX1ZJREVPX1Y0TDFfQ09NUEFUPXkKICMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CitDT05GSUdfVklERU9fTUVESUE9eQorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfTUVESUFfQVRUQUNIIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFT19WNEwyPXkKK0NPTkZJR19WSURFT19WNEwxPXkKK0NPTkZJR19WSURFT19DQVBUVVJFX0RSSVZFUlM9eQorIyBDT05GSUdfVklERU9fQURWX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFT19IRUxQRVJfQ0hJUFNfQVVUTz15CisjIENPTkZJR19WSURFT19WSVZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX0NQSUEgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fQ1BJQTIgaXMgbm90IHNldAorQ09ORklHX1Y0TF9VU0JfRFJJVkVSUz15CisjIENPTkZJR19VU0JfVklDQU0gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lCTUNBTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfS09OSUNBV0MgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1FVSUNLQ0FNX01FU1NFTkdFUiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfRVQ2MVgyNTEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09WNTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRTQwMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU045QzEwMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RWNjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aQzAzMDEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BXQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWlIzNjRYWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RLV0VCQ0FNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPQ19DQU1FUkEgaXMgbm90IHNldAorQ09ORklHX1JBRElPX0FEQVBURVJTPXkKKyMgQ09ORklHX1VTQl9EU0JSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TSTQ3MFggaXMgbm90IHNldAorQ09ORklHX0RBQj15CisjIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCi0jIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAotCi0jCi0jIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKLSMKLSMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CiAjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CiBDT05GSUdfRkI9eQogIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKKyMgQ09ORklHX0ZCX0NGQl9GSUxMUkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfQ09QWUFSRUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9GT1JFSUdOX0VORElBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQogIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldApAQCAtNzUxLDEwICs3MzgsMTMgQEAKICMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKICMKICMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUJYIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydApAQCAtNzYyLDExNiArNzUyLDU1IEBACiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15CiBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX0RFVEVDVF9QUklNQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAogQ09ORklHX0ZPTlRfOHg4PXkKIENPTkZJR19GT05UXzh4MTY9eQogQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15CisjIENPTkZJR19MT0dPX0xJTlVYX01PTk8gaXMgbm90IHNldAorIyBDT05GSUdfTE9HT19MSU5VWF9WR0ExNiBpcyBub3Qgc2V0CiBDT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCi0KLSMKLSMgSElEIERldmljZXMKLSMKLUNPTkZJR19ISUQ9eQotIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgSW5wdXQgRGV2aWNlcwotIwotQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIHN1cHBvcnQKLSMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRF9TVVBQT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15Ci1DT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQorIyBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0kgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldAogQ09ORklHX1VTQj15CiAjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCi1DT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0RFVklDRUZTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfV0hJVEVMSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfQkxBQ0tMSVNUX0hVQiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0hDRD15Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAogCiAjCiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwogIwogIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUFJJTlRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfV0RNIGlzIG5vdCBzZXQKIAogIwogIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCkBAIC04ODAsMTcgKzgwOSw3IEBACiAjCiAjIG1heSBhbHNvIGJlIG5lZWRlZDsgc2VlIFVTQl9TVE9SQUdFIEhlbHAgZm9yIG1vcmUgaW5mb3JtYXRpb24KICMKLUNPTkZJR19VU0JfU1RPUkFHRT15Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC04OTgsMTUgKzgxNywxMSBAQAogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX01PTiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX01PTj15CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC05MzAsOTMgKzg0NSwyOSBAQAogIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKLQotIwotIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCi0jCi1DT05GSUdfTU1DX0JMT0NLPW0KLQotIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKLSMKLUNPTkZJR19NTUNfUFhBPW0KLQotIwotIyBSZWFsIFRpbWUgQ2xvY2sKLSMKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15Ci1DT05GSUdfUlRDX0NMQVNTPW0KLQotIwotIyBSVEMgaW50ZXJmYWNlcwotIwotQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKLUNPTkZJR19SVENfSU5URl9QUk9DPXkKLUNPTkZJR19SVENfSU5URl9ERVY9eQotIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSTJDIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgU1BJIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKLSMKLSMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD1tCi0KLSMKLSMgb24tQ1BVIFJUQyBkcml2ZXJzCi0jCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9bQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCiAjCi1DT05GSUdfRVhUMl9GUz15Ci0jIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKLUNPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAotQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMDMwLDExICs4ODEsOCBAQAogIwogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCiAjCi1DT05GSUdfRkFUX0ZTPXkKLUNPTkZJR19NU0RPU19GUz15Ci1DT05GSUdfVkZBVF9GUz15Ci1DT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3Ci1DT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WRkFUX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05URlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDQ2LDcgKzg5NCw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDEzOCArOTA5LDkzIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15Ci1DT05GSUdfSkZGUzJfU1VNTUFSWT15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15Ci1DT05GSUdfTkZTX1YzPXkKLSMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfTkZTX1YzIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKLUNPTkZJR19MT0NLRF9WND15CiBDT05GSUdfTkZTX0NPTU1PTj15CiBDT05GSUdfU1VOUlBDPXkKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKICMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwotQ09ORklHX05MUz15Ci1DT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKLUNPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKLSMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYyIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTM2IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85NTAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTQ5IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NzQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAotQ09ORklHX05MU19JU084ODU5XzE9eQotIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV82IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKKyMgQ09ORklHX05MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCi0jIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfUFJJTlRLX1RJTUU9eQorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKLUNPTkZJR19NQUdJQ19TWVNSUT15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKK0NPTkZJR19TQ0hFRF9ERUJVRz15CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfUFJFRU1QVD15CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15CitDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CisjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAotQ09ORklHX0RFQlVHX1VTRVI9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19VU0VSIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEyMDIsNjAgKzEwMDQsOTMgQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CiAKICMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgogIwotQ09ORklHX0NSWVBUTz15Ci1DT05GSUdfQ1JZUFRPX0FMR0FQST1tCi1DT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi1DT05GSUdfQ1JZUFRPX01BTkFHRVI9bQotIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUFOQUdFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KLSMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQotIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCiAjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0NCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKKyMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKKyMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19IVz15CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQotIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfQ0NJVFQ9bQogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9uZXR4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbmV0eF9kZWZjb25maWcKaW5kZXggNTdmMzJmMy4uMDg4NGYyMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9uZXR4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL25ldHhfZGVmY29uZmlnCkBAIC0xNTQsNyArMTU0LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL29uZWFybV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL29uZWFybV9kZWZjb25maWcKaW5kZXggNjUwYTI0OC4uNDE4Y2EyZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9vbmVhcm1fZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mvb25lYXJtX2RlZmNvbmZpZwpAQCAtMjAyLDcgKzIwMiw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL29yaW9uNXhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9vcmlvbjV4X2RlZmNvbmZpZwppbmRleCA1MmNkOTliLi45NTc4YjVkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL29yaW9uNXhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mvb3Jpb241eF9kZWZjb25maWcKQEAgLTEsNyArMSw3IEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjQKLSMgVGh1IEZlYiAgNyAxNDoxMDozMCAyMDA4CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM0CisjIE1vbiBKdW4gIDIgMjM6NTQ6NDggMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQpAQCAtMjEsNiArMjEsNyBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKQEAgLTQwLDI0ICs0MSwyNCBAQAogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAotIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKICMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKIENPTkZJR19MT0dfQlVGX1NISUZUPTE0CiAjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKLUNPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKLUNPTkZJR19GQUlSX1VTRVJfU0NIRUQ9eQotIyBDT05GSUdfRkFJUl9DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAogQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15CiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKK0NPTkZJR19LQUxMU1lNU19BTEw9eQogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKQEAgLTczLDIwICs3NCwyNSBAQAogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15Ci1DT05GSUdfU0xBQj15Ci0jIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CitDT05GSUdfU0xVQj15CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CitDT05GSUdfUFJPRklMSU5HPXkKICMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX09QUk9GSUxFPXkKIENPTkZJR19IQVZFX09QUk9GSUxFPXkKLSMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQogQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15Ci1DT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15CiAjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKQEAgLTExMSw3ICsxMTcsNiBAQAogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKIENPTkZJR19DTEFTU0lDX1JDVT15Ci0jIENPTkZJR19QUkVFTVBUX1JDVSBpcyBub3Qgc2V0CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTE2MCw2ICsxNjUsMTUgQEAKIENPTkZJR19NQUNIX0tVUk9CT1hfUFJPPXkKIENPTkZJR19NQUNIX0ROUzMyMz15CiBDT05GSUdfTUFDSF9UUzIwOT15CitDT05GSUdfTUFDSF9MSU5LU1RBVElPTl9QUk89eQorQ09ORklHX01BQ0hfVFM0MDk9eQorQ09ORklHX01BQ0hfV1JUMzUwTl9WMj15CitDT05GSUdfTUFDSF9UUzc4WFg9eQorQ09ORklHX01BQ0hfTVYyMTIwPXkKK0NPTkZJR19NQUNIX01TUzI9eQorQ09ORklHX01BQ0hfV05SODU0VD15CitDT05GSUdfTUFDSF9SRDg4RjUxODFMX0dFPXkKK0NPTkZJR19NQUNIX1JEODhGNTE4MUxfRlhPPXkKIAogIwogIyBCb290IG9wdGlvbnMKQEAgLTE2OCw2ICsxODIsNyBAQAogIwogIyBQb3dlciBtYW5hZ2VtZW50CiAjCitDT05GSUdfUExBVF9PUklPTj15CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKQEAgLTE3Nyw4ICsxOTIsOSBAQAogQ09ORklHX0NQVV9GRVJPQ0VPTl9PTERfSUQ9eQogQ09ORklHX0NQVV8zMnY1PXkKIENPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15Ci1DT05GSUdfQ1BVX0NPUFlfVjRXQj15CitDT05GSUdfQ1BVX0NPUFlfRkVST0NFT049eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQpAQCAtMTg5LDcgKzIwNSw2IEBACiBDT05GSUdfQVJNX1RIVU1CPXkKICMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAogCiAjCkBAIC0xOTksNiArMjE0LDcgQEAKIENPTkZJR19QQ0lfU1lTQ0FMTD15CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CiBDT05GSUdfUENJX0xFR0FDWT15CisjIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwpAQCAtMjIxLDYgKzIzNyw3IEBACiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CiAjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKQEAgLTIzOCw3ICsyNTUsNiBAQAogQ09ORklHX0NNRExJTkU9IiIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAotIyBDT05GSUdfQVRBR1NfUFJPQyBpcyBub3Qgc2V0CiAKICMKICMgRmxvYXRpbmcgcG9pbnQgZW11bGF0aW9uCkBAIC0zMTEsOCArMzI3LDYgQEAKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMzNSw2ICszNDksNyBAQAogIyBOZXR3b3JrIHRlc3RpbmcKICMKIENPTkZJR19ORVRfUEtUR0VOPW0KKyMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CkBAIC0zNjIsNiArMzc3LDggQEAKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQorIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CkBAIC0zNzEsNiArMzg4LDcgQEAKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCkBAIC0zNzgsOSArMzk2LDggQEAKIENPTkZJR19NVERfQ0hBUj15CiBDT05GSUdfTVREX0JMS0RFVlM9eQogQ09ORklHX01URF9CTE9DSz15Ci1DT05GSUdfRlRMPXkKLUNPTkZJR19ORlRMPXkKLSMgQ09ORklHX05GVExfUlcgaXMgbm90IHNldAorIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GVEwgaXMgbm90IHNldAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CkBAIC00MDUsMTIgKzQyMiwxMiBAQAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ0ZJX0kxPXkKIENPTkZJR19NVERfQ0ZJX0kyPXkKLUNPTkZJR19NVERfQ0ZJX0k0PXkKKyMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKIENPTkZJR19NVERfQ0ZJX0FNRFNURD15Ci1DT05GSUdfTVREX0NGSV9TVEFBPXkKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NGSV9VVElMPXkKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CkBAIC00ODEsNiArNDk4LDkgQEAKICMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CiAjIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0CiAjIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfRU5DTE9TVVJFX1NFUlZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKQEAgLTU0Miw2ICs1NjIsNyBAQAogIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTVZTQVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldApAQCAtNTU2LDcgKzU3NywxMCBAQAogIyBDT05GSUdfU0NTSV9TUlAgaXMgbm90IHNldAogQ09ORklHX0FUQT15CiAjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1NBVEFfUE1QPXkKICMgQ09ORklHX1NBVEFfQUhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKICMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9QSUlYIGlzIG5vdCBzZXQKIENPTkZJR19TQVRBX01WPXkKQEAgLTU2Niw3ICs1OTAsNiBAQAogIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU1g0IGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldApAQCAtNjExLDYgKzYzNCw3IEBACiAjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNJT04gaXMgbm90IHNldAogCkBAIC02NTIsNyArNjc2LDcgQEAKICMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19GT1JDRURFVEggaXMgbm90IHNldAogIyBDT05GSUdfRUVQUk8xMDAgaXMgbm90IHNldAotQ09ORklHX0UxMDA9eQorIyBDT05GSUdfRTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0CkBAIC02NjgsOSArNjkyLDcgQEAKIENPTkZJR19ORVRERVZfMTAwMD15CiAjIENPTkZJR19BQ0VOSUMgaXMgbm90IHNldAogIyBDT05GSUdfREwySyBpcyBub3Qgc2V0Ci1DT05GSUdfRTEwMDA9eQotQ09ORklHX0UxMDAwX05BUEk9eQotIyBDT05GSUdfRTEwMDBfRElTQUJMRV9QQUNLRVRfU1BMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDAgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMDBFIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CkBAIC02ODAsMjcgKzcwMiwxNSBAQAogIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKICMgQ09ORklHX1I4MTY5IGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0Ci1DT05GSUdfU0tHRT15Ci1DT05GSUdfU0tZMj15Ci0jIENPTkZJR19TSzk4TElOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NLR0UgaXMgbm90IHNldAorIyBDT05GSUdfU0tZMiBpcyBub3Qgc2V0CiAjIENPTkZJR19WSUFfVkVMT0NJVFkgaXMgbm90IHNldAotQ09ORklHX1RJR09OMz15CisjIENPTkZJR19USUdPTjMgaXMgbm90IHNldAogIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0CiBDT05GSUdfTVY2NDNYWF9FVEg9eQogIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKLUNPTkZJR19ORVRERVZfMTAwMDA9eQotIyBDT05GSUdfQ0hFTFNJT19UMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lYR0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lYR0IgaXMgbm90IHNldAotIyBDT05GSUdfUzJJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX05JVSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAotIyBDT05GSUdfVEVIVVRJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JOWDJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19UUiBpcyBub3Qgc2V0CiAKICMKQEAgLTcwOCw2ICs3MTgsNyBAQAogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTczOCwxMiArNzQ5LDkgQEAKICMKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwotQ09ORklHX0lOUFVUX01PVVNFREVWPXkKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAotQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAorIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX0VWREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKICMKQEAgLTc2NSwxMCArNzczLDggQEAKICMKICMgQ2hhcmFjdGVyIGRldmljZXMKICMKLUNPTkZJR19WVD15Ci1DT05GSUdfVlRfQ09OU09MRT15Ci1DT05GSUdfSFdfQ09OU09MRT15Ci0jIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfVlQgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQogIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKICMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKQEAgLTc3Nyw3ICs3ODMsNyBAQAogIwogQ09ORklHX1NFUklBTF84MjUwPXkKIENPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkKLUNPTkZJR19TRVJJQUxfODI1MF9QQ0k9eQorIyBDT05GSUdfU0VSSUFMXzgyNTBfUENJIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CiBDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz0yCiAjIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CkBAIC03OTIsNyArNzk4LDcgQEAKIENPTkZJR19MRUdBQ1lfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0xNgogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKQEAgLTgwNCwxMyArODEwLDYgQEAKIENPTkZJR19JMkNfQ0hBUkRFVj15CiAKICMKLSMgSTJDIEFsZ29yaXRobXMKLSMKLSMgQ09ORklHX0kyQ19BTEdPQklUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19BTEdPUENGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19BTEdPUENBIGlzIG5vdCBzZXQKLQotIwogIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKICMKICMgQ09ORklHX0kyQ19BTEkxNTM1IGlzIG5vdCBzZXQKQEAgLTgzNyw2ICs4MzYsNyBAQAogIyBDT05GSUdfSTJDX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNfVklBUFJPIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAogQ09ORklHX0kyQ19NVjY0WFhYPXkKIAogIwpAQCAtODQ3LDE5ICs4NDcsMTMgQEAKICMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UUFM2NTAxMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAogIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAotCi0jCi0jIFNQSSBzdXBwb3J0Ci0jCiAjIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CiAjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogQ09ORklHX0hXTU9OPXkKQEAgLTg3Miw2ICs4NjYsNyBAQAogIyBDT05GSUdfU0VOU09SU19BRE0xMDMxIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfQURNOTI0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX0FEVDc0NzAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFQ3NDczIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfQVRYUDEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19EUzE2MjEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19JNUtfQU1CIGlzIG5vdCBzZXQKQEAgLTkwMSw2ICs4OTYsNyBAQAogIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xOTIgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19TTVNDNDdCMzk3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURTNzgyOCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1RITUM1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1ZJQTY4NkEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19WVDEyMTEgaXMgbm90IHNldApAQCAtOTEwLDYgKzkwNiw3IEBACiAjIENPTkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19XODNMNzg1VFMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODNMNzg2TkcgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTl9ERUJVR19DSElQIGlzIG5vdCBzZXQKQEAgLTkyNSwxNCArOTIyLDI0IEBACiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci1DT05GSUdfREFCPXkKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CkBAIC05NDksMTIgKzk1Niw2IEBACiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCi0jIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAotIwotIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAotQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotCi0jCiAjIFNvdW5kCiAjCiAjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CkBAIC05ODUsMTQgKzk4NiwxOCBAQAogQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19XSElURUxJU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19CTEFDS0xJU1RfSFVCIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfRUhDSV9IQ0Q9eQogQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUPXkKIENPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRD15CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVUhDSV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CkBAIC0xMDAzLDYgKzEwMDgsNyBAQAogIwogIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX1BSSU5URVI9eQorIyBDT05GSUdfVVNCX1dETSBpcyBub3Qgc2V0CiAKICMKICMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JwpAQCAtMTAyMiw3ICsxMDI4LDkgQEAKIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTU9eQogQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjAsNiArMTA2OCw3IEBACiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNJR0hURlcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUMgaXMgbm90IHNldAogQ09ORklHX05FV19MRURTPXkKQEAgLTEwNjgsNyArMTA3Nyw3IEBACiAjCiAjIExFRCBkcml2ZXJzCiAjCi0jIENPTkZJR19MRURTX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0xFRFNfR1BJTz15CiAKICMKICMgTEVEIFRyaWdnZXJzCkBAIC0xMDc2LDYgKzEwODUsNyBAQAogQ09ORklHX0xFRFNfVFJJR0dFUlM9eQogQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUj15CiBDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CitDT05GSUdfTEVEU19UUklHR0VSX0RFRkFVTFRfT049eQogQ09ORklHX1JUQ19MSUI9eQogQ09ORklHX1JUQ19DTEFTUz15CiBDT05GSUdfUlRDX0hDVE9TWVM9eQpAQCAtMTEwNSw2ICsxMTE1LDcgQEAKICMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0RSVl9NNDFUODA9eQogIyBDT05GSUdfUlRDX0RSVl9NNDFUODBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CiAKICMKICMgU1BJIFJUQyBkcml2ZXJzCkBAIC0xMTI1LDYgKzExMzYsNyBAQAogIwogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC0xMTQwLDE0ICsxMTUyLDExIEBACiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMTU1LDggKzExNjQsOCBAQAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiAjCi1DT05GSUdfSVNPOTY2MF9GUz15Ci0jIENPTkZJR19KT0xJRVQgaXMgbm90IHNldAorQ09ORklHX0lTTzk2NjBfRlM9bQorQ09ORklHX0pPTElFVD15CiAjIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAogQ09ORklHX1VERl9GUz1tCiBDT05GSUdfVURGX05MUz15CkBAIC0xMjA1LDggKzEyMTQsMTAgQEAKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKIENPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CkBAIC0xMjE0LDcgKzEyMjUsNiBAQAogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKQEAgLTEyNDEsMTQgKzEyNTEsMTMgQEAKICMgQ09ORklHX01BQ19QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15CiBDT05GSUdfQlNEX0RJU0tMQUJFTD15Ci1DT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OPXkKLUNPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT049eQotQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTD15Ci1DT05GSUdfTERNX1BBUlRJVElPTj15Ci1DT05GSUdfTERNX0RFQlVHPXkKKyMgQ09ORklHX01JTklYX1NVQlBBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xETV9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfU0dJX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKLUNPTkZJR19TVU5fUEFSVElUSU9OPXkKKyMgQ09ORklHX1NVTl9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfS0FSTUFfUEFSVElUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0VGSV9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CkBAIC0xMzAwLDE1ICsxMzA5LDQ4IEBACiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CiBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAorQ09ORklHX01BR0lDX1NZU1JRPXkKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19LRVJORUw9eQorIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKK0NPTkZJR19TQ0hFRF9ERUJVRz15CitDT05GSUdfU0NIRURTVEFUUz15CisjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19QUkVFTVBUPXkKKyMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAorIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19JTkZPPXkKKyMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19MS0RUTSBpcyBub3Qgc2V0CisjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAogIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15CitDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19MTD15CisjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCiAjCiAjIFNlY3VyaXR5IG9wdGlvbnMKQEAgLTEzMTcsNTAgKzEzNTksNzkgQEAKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIwogQ09ORklHX0NSWVBUT19BTEdBUEk9bQogQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE9fTUFOQUdFUj1tCisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9bQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPW0KKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCi0jIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIwogIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE9fSFc9eQogIyBDT05GSUdfQ1JZUFRPX0RFVl9ISUZOXzc5NVggaXMgbm90IHNldApAQCAtMTM2OSwxMiArMTQ0MCwxNCBAQAogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15Ci1DT05GSUdfQ1JDX0NDSVRUPXkKLUNPTkZJR19DUkMxNj15Ci0jIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfSVRVX1Q9bQogQ09ORklHX0NSQzMyPXkKICMgQ09ORklHX0NSQzcgaXMgbm90IHNldAotQ09ORklHX0xJQkNSQzMyQz15CisjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3BjbTAzN19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3BjbTAzN19kZWZjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI3NDc0NQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM3X2RlZmNvbmZpZwpAQCAtMCwwICsxLDc0OCBAQAorIworIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAorIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNgorIyBXZWQgSnVuIDI1IDExOjUyOjQyIDIwMDgKKyMKK0NPTkZJR19BUk09eQorQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKK0NPTkZJR19HRU5FUklDX0dQSU89eQorQ09ORklHX0dFTkVSSUNfVElNRT15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CitDT05GSUdfTU1VPXkKKyMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQorQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQorQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CitDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQorQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKK0NPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKK0NPTkZJR19aT05FX0RNQT15CitDT05GSUdfQVJDSF9NVERfWElQPXkKK0NPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAorQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKKworIworIyBHZW5lcmFsIHNldHVwCisjCitDT05GSUdfRVhQRVJJTUVOVEFMPXkKK0NPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CitDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQorQ09ORklHX1NXQVA9eQorQ09ORklHX1NZU1ZJUEM9eQorQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKKyMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CitDT05GSUdfSUtDT05GSUc9eQorQ09ORklHX0lLQ09ORklHX1BST0M9eQorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKKyMgQ09ORklHX1JUX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CisjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKK0NPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CitDT05GSUdfU1lTQ1RMPXkKK0NPTkZJR19FTUJFRERFRD15CitDT05GSUdfVUlEMTY9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CitDT05GSUdfS0FMTFNZTVM9eQorIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CitDT05GSUdfSE9UUExVRz15CitDT05GSUdfUFJJTlRLPXkKK0NPTkZJR19CVUc9eQorQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKK0NPTkZJR19CQVNFX0ZVTEw9eQorQ09ORklHX0ZVVEVYPXkKK0NPTkZJR19BTk9OX0lOT0RFUz15CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKK0NPTkZJR19TSE1FTT15CitDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQorQ09ORklHX1NMQUI9eQorIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQorQ09ORklHX1JUX01VVEVYRVM9eQorIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CitDT05GSUdfQkFTRV9TTUFMTD0wCitDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CitDT05GSUdfTU9EVUxFX1VOTE9BRD15CitDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CitDT05GSUdfTU9EVkVSU0lPTlM9eQorIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKK0NPTkZJR19LTU9EPXkKK0NPTkZJR19CTE9DSz15CisjIENPTkZJR19MQkQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAorCisjCisjIElPIFNjaGVkdWxlcnMKKyMKK0NPTkZJR19JT1NDSEVEX05PT1A9eQorQ09ORklHX0lPU0NIRURfQVM9eQorQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQorQ09ORklHX0lPU0NIRURfQ0ZRPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQorIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CisKKyMKKyMgU3lzdGVtIFR5cGUKKyMKKyMgQ09ORklHX0FSQ0hfQUFFQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRUJTQTExMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VQOTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0ZPT1RCUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ORVRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSDcyMFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AxM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NWEM9eQorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TSEFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgRnJlZXNjYWxlIE1YQyBJbXBsZW1lbnRhdGlvbnMKKyMKK0NPTkZJR19BUkNIX01YMz15CisKKyMKKyMgTVgzIE9wdGlvbnMKKyMKKyMgQ09ORklHX01BQ0hfTVgzMUFEUyBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9QQ00wMzc9eQorCisjCisjIFByb2Nlc3NvciBUeXBlCisjCitDT05GSUdfQ1BVXzMyPXkKK0NPTkZJR19DUFVfVjY9eQorIyBDT05GSUdfQ1BVXzMydjZLIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVfMzJ2Nj15CitDT05GSUdfQ1BVX0FCUlRfRVY2PXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKK0NPTkZJR19DUFVfQ0FDSEVfVjY9eQorQ09ORklHX0NQVV9DQUNIRV9WSVBUPXkKK0NPTkZJR19DUFVfQ09QWV9WNj15CitDT05GSUdfQ1BVX1RMQl9WNj15CitDT05GSUdfQ1BVX0hBU19BU0lEPXkKK0NPTkZJR19DUFVfQ1AxNT15CitDT05GSUdfQ1BVX0NQMTVfTU1VPXkKKworIworIyBQcm9jZXNzb3IgRmVhdHVyZXMKKyMKK0NPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQlBSRURJQ1RfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0CisKKyMKKyMgQnVzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIEZlYXR1cmVzCisjCitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKK0NPTkZJR19QUkVFTVBUPXkKK0NPTkZJR19IWj0xMDAKK0NPTkZJR19BRUFCST15CisjIENPTkZJR19PQUJJX0NPTVBBVCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQorQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKKyMgQ09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX01BTlVBTCBpcyBub3Qgc2V0CitDT05GSUdfRkxBVE1FTT15CitDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQorIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CitDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NAorIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKK0NPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKK0NPTkZJR19BTElHTk1FTlRfVFJBUD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCitDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCitDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKK0NPTkZJR19DTURMSU5FPSJub2luaXRyZCBjb25zb2xlPXR0eW14YzAsMTE1MjAwIHJvb3Q9L2Rldi9tdGRibG9jazIgcncgaXA9b2ZmIgorIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CisKKyMKKyMgRmxvYXRpbmcgcG9pbnQgZW11bGF0aW9uCisjCisKKyMKKyMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCisjCitDT05GSUdfVkZQPXkKKworIworIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKKyMKK0NPTkZJR19CSU5GTVRfRUxGPXkKKyMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKKworIworIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKKyMKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQorCisjCisjIE5ldHdvcmtpbmcKKyMKK0NPTkZJR19ORVQ9eQorCisjCisjIE5ldHdvcmtpbmcgb3B0aW9ucworIworQ09ORklHX1BBQ0tFVD15CisjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfVU5JWD15CisjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUPXkKKyMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0ZJQl9IQVNIPXkKK0NPTkZJR19JUF9QTlA9eQorQ09ORklHX0lQX1BOUF9ESENQPXkKKyMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgorIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQWCBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0CisjIENPTkZJR19YMjUgaXMgbm90IHNldAorIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CisjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAorIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorCisjCisjIE5ldHdvcmsgdGVzdGluZworIworIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CisjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAorIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CisjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MKKyMKKyMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CisKKyMKKyMgRGV2aWNlIERyaXZlcnMKKyMKKworIworIyBHZW5lcmljIERyaXZlciBPcHRpb25zCisjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgorQ09ORklHX1NUQU5EQUxPTkU9eQorQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQorQ09ORklHX0ZXX0xPQURFUj1tCisjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CisjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX01URD15CisjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BBUlRJVElPTlM9eQorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKKyMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CisKKyMKKyMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKKyMKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CisjIENPTkZJR19GVEwgaXMgbm90IHNldAorIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKKworIworIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycworIworQ09ORklHX01URF9DRkk9eQorIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9HRU5fUFJPQkU9eQorIyBDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQorQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKK0NPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMTYgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0kxPXkKK0NPTkZJR19NVERfQ0ZJX0kyPXkKKyMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0lOVEVMRVhUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfQU1EU1REIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CisKKyMKKyMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcworIworIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAKK0NPTkZJR19NVERfUEhZU01BUF9MRU49MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0yCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAorCisjCisjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9CTE9DSzJNVEQgaXMgbm90IHNldAorCisjCisjIERpc2stT24tQ2hpcCBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKKworIworIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKKyMKKyMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAorIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKworIworIyBTQ1NJIGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0kgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CisjIENPTkZJR19NRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CisjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorQ09ORklHX05FVF9FVEhFUk5FVD15CitDT05GSUdfTUlJPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAorQ09ORklHX1NNQzkxWD15CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzIExBTgorIworIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19XQU4gaXMgbm90IHNldAorIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0lOUFVUIGlzIG5vdCBzZXQKKworIworIyBIYXJkd2FyZSBJL08gcG9ydHMKKyMKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKKworIworIyBDaGFyYWN0ZXIgZGV2aWNlcworIworIyBDT05GSUdfVlQgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQorIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKworIworIyBTZXJpYWwgZHJpdmVycworIworIyBDT05GSUdfU0VSSUFMXzgyNTAgaXMgbm90IHNldAorCisjCisjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKKyMKK0NPTkZJR19TRVJJQUxfSU1YPXkKK0NPTkZJR19TRVJJQUxfSU1YX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9DT1JFPXkKK0NPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKK0NPTkZJR19VTklYOThfUFRZUz15CisjIENPTkZJR19MRUdBQ1lfUFRZUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkMgaXMgbm90IHNldAorIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisKKyMKKyMgU1BJIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRldmljZXMKKyMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CisKKyMKKyMgR3JhcGhpY3Mgc3VwcG9ydAorIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIFNvdW5kCisjCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorQ09ORklHX1JUQ19MSUI9eQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisKKyMKKyMgRmlsZSBzeXN0ZW1zCisjCisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKK0NPTkZJR19JTk9USUZZPXkKK0NPTkZJR19JTk9USUZZX1VTRVI9eQorIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CisKKyMKKyMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorCisjCisjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUHNldWRvIGZpbGVzeXN0ZW1zCisjCitDT05GSUdfUFJPQ19GUz15CitDT05GSUdfUFJPQ19TWVNDVEw9eQorQ09ORklHX1NZU0ZTPXkKK0NPTkZJR19UTVBGUz15CisjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKK0NPTkZJR19ORlNfRlM9eQorIyBDT05GSUdfTkZTX1YzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKK0NPTkZJR19ST09UX05GUz15CitDT05GSUdfTE9DS0Q9eQorQ09ORklHX05GU19DT01NT049eQorQ09ORklHX1NVTlJQQz15CisjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUGFydGl0aW9uIFR5cGVzCisjCisjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX01TRE9TX1BBUlRJVElPTj15CisjIENPTkZJR19OTFMgaXMgbm90IHNldAorIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgaGFja2luZworIworIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRCBpcyBub3Qgc2V0CisjIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSyBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CisjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfVVNFUiBpcyBub3Qgc2V0CisKKyMKKyMgU2VjdXJpdHkgb3B0aW9ucworIworIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE8gaXMgbm90IHNldAorCisjCisjIExpYnJhcnkgcm91dGluZXMKKyMKK0NPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAorIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CitDT05GSUdfUExJU1Q9eQorQ09ORklHX0hBU19JT01FTT15CitDT05GSUdfSEFTX0lPUE9SVD15CitDT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3BjbTAzOF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3BjbTAzOF9kZWZjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI3OThjMgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM4X2RlZmNvbmZpZwpAQCAtMCwwICsxLDEwMDggQEAKKyMKKyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzYKKyMgRnJpIEp1biAyMCAxNjozODozNiAyMDA4CisjCitDT05GSUdfQVJNPXkKK0NPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CitDT05GSUdfR0VORVJJQ19HUElPPXkKK0NPTkZJR19HRU5FUklDX1RJTUU9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQorQ09ORklHX01NVT15CisjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKK0NPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKK0NPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQorQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKK0NPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CitDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CitDT05GSUdfWk9ORV9ETUE9eQorQ09ORklHX0FSQ0hfTVREX1hJUD15CitDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKK0NPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCisKKyMKKyMgR2VuZXJhbCBzZXR1cAorIworQ09ORklHX0VYUEVSSU1FTlRBTD15CitDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQorQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKKyMgQ09ORklHX1NXQVAgaXMgbm90IHNldAorQ09ORklHX1NZU1ZJUEM9eQorQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKK0NPTkZJR19QT1NJWF9NUVVFVUU9eQorIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CisjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKK0NPTkZJR19SVF9HUk9VUF9TQ0hFRD15CitDT05GSUdfVVNFUl9TQ0hFRD15CisjIENPTkZJR19DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMiBpcyBub3Qgc2V0CisjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNDVEw9eQorQ09ORklHX0VNQkVEREVEPXkKK0NPTkZJR19VSUQxNj15CitDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKK0NPTkZJR19LQUxMU1lNUz15CitDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUz15CitDT05GSUdfSE9UUExVRz15CitDT05GSUdfUFJJTlRLPXkKK0NPTkZJR19CVUc9eQorQ09ORklHX0VMRl9DT1JFPXkKKyMgQ09ORklHX0NPTVBBVF9CUksgaXMgbm90IHNldAorQ09ORklHX0JBU0VfRlVMTD15CitDT05GSUdfRlVURVg9eQorQ09ORklHX0FOT05fSU5PREVTPXkKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQorQ09ORklHX1NITUVNPXkKK0NPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CitDT05GSUdfU0xBQj15CisjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CitDT05GSUdfTUFSS0VSUz15CitDT05GSUdfT1BST0ZJTEU9eQorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0NfUEFHRV9NT05JVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19TTEFCSU5GTz15CitDT05GSUdfUlRfTVVURVhFUz15CisjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKK0NPTkZJR19CQVNFX1NNQUxMPTAKK0NPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKK0NPTkZJR19NT0RVTEVfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAorIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAorIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tNT0QgaXMgbm90IHNldAorQ09ORklHX0JMT0NLPXkKKyMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CisKKyMKKyMgSU8gU2NoZWR1bGVycworIworQ09ORklHX0lPU0NIRURfTk9PUD15CisjIENPTkZJR19JT1NDSEVEX0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX05PT1A9eQorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0ibm9vcCIKK0NPTkZJR19DTEFTU0lDX1JDVT15CisKKyMKKyMgU3lzdGVtIFR5cGUKKyMKKyMgQ09ORklHX0FSQ0hfQUFFQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRUJTQTExMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VQOTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0ZPT1RCUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ORVRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSDcyMFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AxM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NWEM9eQorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TSEFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgRnJlZXNjYWxlIE1YQyBJbXBsZW1lbnRhdGlvbnMKKyMKK0NPTkZJR19BUkNIX01YMj15CisjIENPTkZJR19BUkNIX01YMyBpcyBub3Qgc2V0CisKKyMKKyMgTVgyIGZhbWlseSBDUFUgc3VwcG9ydAorIworQ09ORklHX01BQ0hfTVgyNz15CisKKyMKKyMgTVgyIFBsYXRmb3JtcworIworIyBDT05GSUdfTUFDSF9NWDI3QURTIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX1BDTTAzOD15CitDT05GSUdfTUFDSF9QQ005NzBfQkFTRUJPQVJEPXkKKworIworIyBQcm9jZXNzb3IgVHlwZQorIworQ09ORklHX0NQVV8zMj15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQorQ09ORklHX0NQVV8zMnY1PXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CitDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQorQ09ORklHX0NQVV9UTEJfVjRXQkk9eQorQ09ORklHX0NQVV9DUDE1PXkKK0NPTkZJR19DUFVfQ1AxNV9NTVU9eQorCisjCisjIFByb2Nlc3NvciBGZWF0dXJlcworIworQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CisjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0CisKKyMKKyMgQnVzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIEZlYXR1cmVzCisjCitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKK0NPTkZJR19QUkVFTVBUPXkKK0NPTkZJR19IWj0xMDAKK0NPTkZJR19BRUFCST15CisjIENPTkZJR19PQUJJX0NPTVBBVCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQorQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKKyMgQ09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX01BTlVBTCBpcyBub3Qgc2V0CitDT05GSUdfRkxBVE1FTT15CitDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQorIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CitDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgorIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKK0NPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKK0NPTkZJR19BTElHTk1FTlRfVFJBUD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCitDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCitDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKK0NPTkZJR19DTURMSU5FPSIiCisjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKKworIworIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KKyMKKworIworIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKKyMKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CisKKyMKKyMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCisjCitDT05GSUdfQklORk1UX0VMRj15CisjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CisjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCisjCisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKKworIworIyBOZXR3b3JraW5nCisjCitDT05GSUdfTkVUPXkKKworIworIyBOZXR3b3JraW5nIG9wdGlvbnMKKyMKK0NPTkZJR19QQUNLRVQ9eQorQ09ORklHX1BBQ0tFVF9NTUFQPXkKK0NPTkZJR19VTklYPXkKKyMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAorQ09ORklHX0lORVQ9eQorQ09ORklHX0lQX01VTFRJQ0FTVD15CisjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0ZJQl9IQVNIPXkKK0NPTkZJR19JUF9QTlA9eQorIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAorIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgorIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQWCBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0CisjIENPTkZJR19YMjUgaXMgbm90IHNldAorIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CisjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAorIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorCisjCisjIE5ldHdvcmsgdGVzdGluZworIworIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAorIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lSREEgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAorIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzCisjCisjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAorCisjCisjIERldmljZSBEcml2ZXJzCisjCisKKyMKKyMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucworIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKK0NPTkZJR19TVEFOREFMT05FPXkKK0NPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKK0NPTkZJR19GV19MT0FERVI9eQorIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAorIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19NVEQ9eQorIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAorQ09ORklHX01URF9QQVJUSVRJT05TPXkKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CisjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAorCisjCisjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCisjCitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQorIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GVEwgaXMgbm90IHNldAorIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAorIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CisKKyMKKyMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKKyMKK0NPTkZJR19NVERfQ0ZJPXkKKyMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMSBpcyBub3Qgc2V0CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JMT15CisjIENPTkZJR19NVERfQ0ZJX0kyIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKKyMgQ09ORklHX01URF9DRklfQU1EU1REIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9VVElMPXkKKyMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9YSVAgaXMgbm90IHNldAorCisjCisjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKKyMKKyMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwMDAwMDAwMAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MgorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKKworIworIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01URF9EQVRBRkxBU0ggaXMgbm90IHNldAorIyBDT05GSUdfTVREX00yNVA4MCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0JMT0NLMk1URCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzay1Pbi1DaGlwIERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAorCisjCisjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcworIworIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWPXkKKyMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0xPT1AgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAorCisjCisjIFNDU0kgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0RNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAorIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAorIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0VUSEVSTkVUPXkKKyMgQ09ORklHX01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRU5DMjhKNjAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CitDT05GSUdfRkVDX09MRD15CisjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzIExBTgorIworIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19XQU4gaXMgbm90IHNldAorIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKKyMKK0NPTkZJR19JTlBVVD15CisjIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1BPTExERVYgaXMgbm90IHNldAorCisjCisjIFVzZXJsYW5kIGludGVyZmFjZXMKKyMKKyMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRVZERVY9eQorIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAorCisjCisjIElucHV0IERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19JTlBVVF9LRVlCT0FSRCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDYgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRlVKSVRTVSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKKworIworIyBIYXJkd2FyZSBJL08gcG9ydHMKKyMKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKKworIworIyBDaGFyYWN0ZXIgZGV2aWNlcworIworQ09ORklHX1ZUPXkKK0NPTkZJR19WVF9DT05TT0xFPXkKK0NPTkZJR19IV19DT05TT0xFPXkKKyMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CisjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorCisjCisjIFNlcmlhbCBkcml2ZXJzCisjCisjIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CisKKyMKKyMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAorIworQ09ORklHX1NFUklBTF9JTVg9eQorQ09ORklHX1NFUklBTF9JTVhfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0NPUkU9eQorQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQorQ09ORklHX1VOSVg5OF9QVFlTPXkKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAorIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAorIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorIyBDT05GSUdfSTJDX0NIQVJERVYgaXMgbm90IHNldAorCisjCisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfSTJDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfVFBTNjUwMTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorQ09ORklHX1NQSV9NQVNURVI9eQorCisjCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCisjCitDT05GSUdfU1BJX0JJVEJBTkc9eQorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19HUElPX1BDQTk1M1ggaXMgbm90IHNldAorIyBDT05GSUdfR1BJT19QQ0Y4NTdYIGlzIG5vdCBzZXQKKworIworIyBTUEkgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19HUElPX01DUDIzUzA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfRUdQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkZXZpY2VzCisjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKK0NPTkZJR19WSURFT19ERVY9eQorQ09ORklHX1ZJREVPX1Y0TDJfQ09NTU9OPXkKK0NPTkZJR19WSURFT19BTExPV19WNEwxPXkKK0NPTkZJR19WSURFT19WNEwxX0NPTVBBVD15CisjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CitDT05GSUdfVklERU9fTUVESUE9eQorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfTUVESUFfQVRUQUNIIGlzIG5vdCBzZXQKK0NPTkZJR19NRURJQV9UVU5FUj15CisjIENPTkZJR19NRURJQV9UVU5FUl9DVVNUT01JWkUgaXMgbm90IHNldAorQ09ORklHX01FRElBX1RVTkVSX1NJTVBMRT15CitDT05GSUdfTUVESUFfVFVORVJfVERBODI5MD15CitDT05GSUdfTUVESUFfVFVORVJfVERBOTg4Nz15CitDT05GSUdfTUVESUFfVFVORVJfVEVBNTc2MT15CitDT05GSUdfTUVESUFfVFVORVJfVEVBNTc2Nz15CitDT05GSUdfTUVESUFfVFVORVJfTVQyMFhYPXkKK0NPTkZJR19NRURJQV9UVU5FUl9YQzIwMjg9eQorQ09ORklHX01FRElBX1RVTkVSX1hDNTAwMD15CitDT05GSUdfVklERU9fVjRMMj15CitDT05GSUdfVklERU9fVjRMMT15CitDT05GSUdfVklERU9fQ0FQVFVSRV9EUklWRVJTPXkKKyMgQ09ORklHX1ZJREVPX0FEVl9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfVklERU9fSEVMUEVSX0NISVBTX0FVVE89eQorIyBDT05GSUdfVklERU9fVklWSSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19DUElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX1NBQTUyNDZBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX1NBQTUyNDkgaXMgbm90IHNldAorIyBDT05GSUdfVFVORVJfMzAzNiBpcyBub3Qgc2V0CisjIENPTkZJR19TT0NfQ0FNRVJBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBRElPX0FEQVBURVJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CisKKyMKKyMgR3JhcGhpY3Mgc3VwcG9ydAorIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorQ09ORklHX0ZCPXkKKyMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9GSUxMUkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfQ09QWUFSRUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9GT1JFSUdOX0VORElBTiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKKworIworIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycworIworIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAorIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CisjCisjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CitDT05GSUdfRFVNTVlfQ09OU09MRT15CitDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX0RFVEVDVF9QUklNQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAorQ09ORklHX0ZPTlRTPXkKK0NPTkZJR19GT05UXzh4OD15CisjIENPTkZJR19GT05UXzh4MTYgaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF82eDExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfN3gxNCBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UX1BFQVJMXzh4OCBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UX0FDT1JOXzh4OCBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UX01JTklfNHg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfU1VOOHgxNiBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UX1NVTjEyeDIyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfMTB4MTggaXMgbm90IHNldAorIyBDT05GSUdfTE9HTyBpcyBub3Qgc2V0CisKKyMKKyMgU291bmQKKyMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRF9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CitDT05GSUdfUlRDX0NMQVNTPXkKK0NPTkZJR19SVENfSENUT1NZUz15CitDT05GSUdfUlRDX0hDVE9TWVNfREVWSUNFPSJydGMwIgorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKKworIworIyBSVEMgaW50ZXJmYWNlcworIworQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKK0NPTkZJR19SVENfSU5URl9QUk9DPXkKK0NPTkZJR19SVENfSU5URl9ERVY9eQorIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX1BDRjg1NjM9eQorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0ZNMzEzMCBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SOTcwMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorCisjCisjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKKworIworIyBvbi1DUFUgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisKKyMKKyMgRmlsZSBzeXN0ZW1zCisjCisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOT1RJRlkgaXMgbm90IHNldAorIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CisKKyMKKyMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorCisjCisjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUHNldWRvIGZpbGVzeXN0ZW1zCisjCitDT05GSUdfUFJPQ19GUz15CitDT05GSUdfUFJPQ19TWVNDVEw9eQorQ09ORklHX1NZU0ZTPXkKK0NPTkZJR19UTVBGUz15CisjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKK0NPTkZJR19ORlNfRlM9eQorQ09ORklHX05GU19WMz15CisjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKK0NPTkZJR19ST09UX05GUz15CitDT05GSUdfTE9DS0Q9eQorQ09ORklHX0xPQ0tEX1Y0PXkKK0NPTkZJR19ORlNfQ09NTU9OPXkKK0NPTkZJR19TVU5SUEM9eQorIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CisjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAorCisjCisjIFBhcnRpdGlvbiBUeXBlcworIworIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19NU0RPU19QQVJUSVRJT049eQorQ09ORklHX05MUz15CitDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKK0NPTkZJR19OTFNfQ09ERVBBR0VfNDM3PW0KKyMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD1tCisjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjEgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjQgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzNiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85MzIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzk0OSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzggaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTAgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8xPXkKKyMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV83IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzE1PW0KKyMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CisjIENPTkZJR19ETE0gaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBoYWNraW5nCisjCisjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CitDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAorIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAorCisjCisjIFNlY3VyaXR5IG9wdGlvbnMKKyMKKyMgQ09ORklHX0tFWVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKKworIworIyBMaWJyYXJ5IHJvdXRpbmVzCisjCitDT05GSUdfQklUUkVWRVJTRT15CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKK0NPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQorQ09ORklHX1BMSVNUPXkKK0NPTkZJR19IQVNfSU9NRU09eQorQ09ORklHX0hBU19JT1BPUlQ9eQorQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9waWNvdHV4MjAwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGljb3R1eDIwMF9kZWZjb25maWcKaW5kZXggOTVhMjJmNS4uMTQ4MjZmMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9waWNvdHV4MjAwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3BpY290dXgyMDBfZGVmY29uZmlnCkBAIC0yMDEsNyArMjAxLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLUNPTkZJR19OT19JRExFX0haPXkKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9wbng0MDA4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcG54NDAwOF9kZWZjb25maWcKaW5kZXggYjVlMTFhYS4uODExYjhmNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9wbng0MDA4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3BueDQwMDhfZGVmY29uZmlnCkBAIC0xNTEsNyArMTUxLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9xaWwtYTkyNjBfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjclCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9xaWwtYTkyNjBfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLmVmOTAzYmUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9xaWwtYTkyNjBfZGVmY29uZmlnCkBAIC0xLDEzICsxLDEzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgTW9uIEp1bCAgOSAxNToxODoyMCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjQKKyMgVHVlIEFwciAxNSAxMjoyODozOCAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CkBAIC0yMiw0MSArMjIsMzggQEAKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwotQ09ORklHX0xPQ0FMVkVSU0lPTj0iLWVtLXgyNzAiCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0Ci1DT05GSUdfU1dBUD15CisjIENPTkZJR19TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BJRF9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfRkFJUl9DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKLUNPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CisjIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CiBDT05GSUdfU1lTQ1RMPXkKLUNPTkZJR19FTUJFRERFRD15CisjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKIENPTkZJR19LQUxMU1lNUz15CkBAIC03MSw0MiArNjgsMzUgQEAKIENPTkZJR19BTk9OX0lOT0RFUz15CiBDT05GSUdfRVBPTEw9eQogQ09ORklHX1NJR05BTEZEPXkKLUNPTkZJR19USU1FUkZEPXkKIENPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLQotIwotIyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAotIwogQ09ORklHX01PRFVMRVM9eQogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCiAjCiBDT05GSUdfSU9TQ0hFRF9OT09QPXkKIENPTkZJR19JT1NDSEVEX0FTPXkKLUNPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKLUNPTkZJR19JT1NDSEVEX0NGUT15CisjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfQ0ZRIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0FTPXkKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldApAQCAtMTIwLDcgKzExMCw3IEBACiAjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MT15CiAjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CkBAIC0xMzksOCArMTI5LDkgQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTUwLDI1ICsxNDEsNjYgQEAKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBCb290IG9wdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEF0bWVsIEFUOTEgU3lzdGVtLW9uLUNoaXAKKyMKKyMgQ09ORklHX0FSQ0hfQVQ5MVJNOTIwMCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxU0FNOTI2MD15CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOVJMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MUNBUDkgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxWDQwIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1BNQ19VTklUPXkKKworIworIyBBVDkxU0FNOTI2MCBWYXJpYW50cworIworIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MF9TQU05WEUgaXMgbm90IHNldAorCisjCisjIEFUOTFTQU05MjYwIC8gQVQ5MVNBTTlYRSBCb2FyZCBUeXBlCisjCisjIENPTkZJR19NQUNIX0FUOTFTQU05MjYwRUsgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9DQU02MCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX1NBTTlfTDkyNjAgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9VU0JfQTkyNjAgaXMgbm90IHNldAorQ09ORklHX01BQ0hfUUlMX0E5MjYwPXkKKworIworIyBBVDkxIEJvYXJkIE9wdGlvbnMKKyMKKworIworIyBBVDkxIEZlYXR1cmUgU2VsZWN0aW9ucworIworIyBDT05GSUdfQVQ5MV9QUk9HUkFNTUFCTEVfQ0xPQ0tTIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1NMT1dfQ0xPQ0s9eQorQ09ORklHX0FUOTFfVElNRVJfSFo9MTAwCisjIENPTkZJR19BVDkxX0VBUkxZX0RCR1UgaXMgbm90IHNldAorQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQwPXkKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ1IGlzIG5vdCBzZXQKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQogQ09ORklHX0NQVV8zMnY1PXkKLUNPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQpAQCAtMTc2LDI4ICsyMDgsMjggQEAKICMKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCi1DT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0FSTV9USFVNQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAorIyBDT05GSUdfTk9fSFogaXMgbm90IHNldAorIyBDT05GSUdfSElHSF9SRVNfVElNRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTIwOSw5ICsyNDEsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKKyMgQ09ORklHX0xFRFMgaXMgbm90IHNldAogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjE5LDcgKzI1NSw3IEBACiAjCiBDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCiBDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKLUNPTkZJR19DTURMSU5FPSIiCitDT05GSUdfQ01ETElORT0ibWVtPTY0TSBjb25zb2xlPXR0eVMxLDExNTIwMCIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCkBAIC0yMzMsNiArMjY5LDcgQEAKIENPTkZJR19GUEVfTldGUEU9eQogIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yNDUsMTAgKzI4MiwxMiBAQAogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKKyMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORF9VUF9QT1NTSUJMRT15CitDT05GSUdfU1VTUEVORD15CisjIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNjEsMjEgKzMwMCwyNSBAQAogQ09ORklHX1BBQ0tFVD15CiAjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWD15Ci1DT05GSUdfWEZSTT15Ci0jIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CitDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSPXkKK0NPTkZJR19BU0tfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfRklCX1RSSUUgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9ST1VURV9NVUxUSVBBVEggaXMgbm90IHNldAorQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0U9eQogQ09ORklHX0lQX1BOUD15Ci1DT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAogQ09ORklHX0lQX1BOUF9CT09UUD15Ci0jIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUE5QX1JBUlA9eQogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NUk9VVEU9eQorQ09ORklHX0lQX1BJTVNNX1YxPXkKK0NPTkZJR19JUF9QSU1TTV9WMj15CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjgzLDExICszMjYsMTEgQEAKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKLUNPTkZJR19JTkVUX0RJQUc9eQotQ09ORklHX0lORVRfVENQX0RJQUc9eQorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgpAQCAtMzExLDEwICszNTQsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjMsMjggKzM2Miw3IEBACiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTM1MywxMyArMzcxLDkgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjMgKzM4MiwyMCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15CisjIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfQ09OQ0FUPXkKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKIAogIwpAQCAtMzk4LDE1ICs0MDksMTMgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCiAjIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTQyNSwxMiArNDM0LDEzIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKICMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCiAjCitDT05GSUdfTVREX0RBVEFGTEFTSD15CisjIENPTkZJR19NVERfTTI1UDgwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CkBAIC00NDYsNTMgKzQ1Niw0MiBAQAogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfQVQ5MT15CitDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfU09GVD15CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19IVyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19OT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUwNyw3ICs1MDYsNyBAQAogIwogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKLSMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CiAjIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKQEAgLTUxOSw0MSArNTE4LDUwIEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKK0NPTkZJR19QSFlMSUI9eQogCiAjCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQorIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiAjCisjIENPTkZJR19NQVJWRUxMX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19EQVZJQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19RU0VNSV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTFhUX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19DSUNBREFfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJVEVTU0VfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNU0NfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JST0FEQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19JQ1BMVVNfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZJWEVEX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19NRElPX0JJVEJBTkcgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKK0NPTkZJR19NQUNCPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorQ09ORklHX05FVERFVl8xMDAwPXkKK0NPTkZJR19ORVRERVZfMTAwMDA9eQogCiAjCiAjIFdpcmVsZXNzIExBTgpAQCAtNTY4LDcgKzU3Niw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CkBAIC01NzcsMTAgKzU4NCw2IEBACiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTgsOSArNjAxLDggQEAKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKLSMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkJVRz15CiAKICMKICMgSW5wdXQgRGV2aWNlIERyaXZlcnMKQEAgLTYxMiwzMCArNjE0LDE3IEBACiAjIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlCT0FSRF9HUElPPXkKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKLUNPTkZJR19TRVJJTz15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19TRVJJT19MSUJQUzI9eQotIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNjU1LDQ1ICs2NDQsMTAxIEBACiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9BVE1FTD15CitDT05GSUdfU0VSSUFMX0FUTUVMX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMX0FUTUVMX1RUWUFUIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KK0NPTkZJR19IV19SQU5ET009eQogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorQ09ORklHX0kyQ19DSEFSREVWPXkKIAogIwotIyBUUE0gZGV2aWNlcworIyBJMkMgQWxnb3JpdGhtcwogIwotIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMR09CSVQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMR09QQ0YgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMR09QQ0EgaXMgbm90IHNldAorCisjCisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfSTJDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQSBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19TRU5TT1JTX0RTMTMzNyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENBOTUzOSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKIAogIwogIyBTUEkgc3VwcG9ydAogIwotIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAorQ09ORklHX1NQST15CisjIENPTkZJR19TUElfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NQSV9NQVNURVI9eQogCiAjCi0jIERhbGxhcydzIDEtd2lyZSBidXMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKICMKK0NPTkZJR19TUElfQVRNRUw9eQorIyBDT05GSUdfU1BJX0JJVEJBTkcgaXMgbm90IHNldAorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CitDT05GSUdfV0FUQ0hET0c9eQorQ09ORklHX1dBVENIRE9HX05PV0FZT1VUPXkKIAogIwotIyBNaXNjIGRldmljZXMKKyMgV2F0Y2hkb2cgRGV2aWNlIERyaXZlcnMKICMKKyMgQ09ORklHX1NPRlRfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MVNBTTlfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFVTQi1iYXNlZCBXYXRjaGRvZyBDYXJkcworIworIyBDT05GSUdfVVNCUENXQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwpAQCAtNzAxLDE5ICs3NDYsNiBAQAogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKIAogIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi0KLSMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldApAQCAtNzIzLDEyNSArNzU1LDQyIEBACiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwogIwotQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSElEIGlzIG5vdCBzZXQKIAogIwotIyBVU0Igc3VwcG9ydAorIyBVU0IgSElEIEJvb3QgUHJvdG9jb2wgZHJpdmVycwogIworIyBDT05GSUdfVVNCX0tCRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTU9VU0UgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CkBAIC04NTIsOSArODAxLDEwIEBACiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKQEAgLTg2Niw2ICs4MTYsNyBAQAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCkBAIC04ODQsNiArODM1LDcgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldApAQCAtODk4LDcgKzg1MCw3IEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCkBAIC05MzksMjYgKzg5MSw2NiBAQAogIwogIyBVU0IgR2FkZ2V0IFN1cHBvcnQKICMKLSMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCitDT05GSUdfVVNCX0dBREdFVD15CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUdfRklMRVMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfU0VMRUNURUQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9BTUQ1NTM2VURDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0ZTTF9VU0IyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTkVUMjI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1BYQTJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX002NjU5MiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0dPS1UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1MzQzI0MTAgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfQVQ5MT15CitDT05GSUdfVVNCX0FUOTE9eQorIyBDT05GSUdfVVNCX0dBREdFVF9EVU1NWV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9EVUFMU1BFRUQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pFUk8gaXMgbm90IHNldAorQ09ORklHX1VTQl9FVEg9eQorQ09ORklHX1VTQl9FVEhfUk5ESVM9eQorIyBDT05GSUdfVVNCX0dBREdFVEZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9GSUxFX1NUT1JBR0UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dfU0VSSUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NSURJX0dBREdFVCBpcyBub3Qgc2V0CitDT05GSUdfTU1DPXkKICMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CiAKICMKICMgTU1DL1NEIENhcmQgRHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCitDT05GSUdfTU1DX0JMT0NLPXkKK0NPTkZJR19NTUNfQkxPQ0tfQk9VTkNFPXkKKyMgQ09ORklHX1NESU9fVUFSVCBpcyBub3Qgc2V0CiAKICMKICMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCitDT05GSUdfTU1DX0FUOTE9eQorIyBDT05GSUdfTU1DX1NQSSBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCi0jIFJlYWwgVGltZSBDbG9jaworIyBMRUQgZHJpdmVycwogIworQ09ORklHX0xFRFNfR1BJTz15CisKKyMKKyMgTEVEIFRyaWdnZXJzCisjCitDT05GSUdfTEVEU19UUklHR0VSUz15CisjIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQogQ09ORklHX1JUQ19MSUI9eQotQ09ORklHX1JUQ19DTEFTUz1tCitDT05GSUdfUlRDX0NMQVNTPXkKK0NPTkZJR19SVENfSENUT1NZUz15CitDT05GSUdfUlRDX0hDVE9TWVNfREVWSUNFPSJydGMwIgorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKIAogIwogIyBSVEMgaW50ZXJmYWNlcwpAQCAtOTcyLDI0ICs5NjQsMzkgQEAKICMKICMgSTJDIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAogCiAjCiAjIFNQSSBSVEMgZHJpdmVycwogIworIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0RSVl9NNDFUOTQ9eQogCiAjCiAjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiAjCiAjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD1tCisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKIAogIwogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD1tCisjIENPTkZJR19SVENfRFJWX0FUOTFTQU05IGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTk5NywxNyArMTAwNCwxMSBAQAogQ09ORklHX0VYVDJfRlM9eQogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0Ci1DT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKK0NPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldApAQCAtMTAxOSw3ICsxMDIwLDcgQEAKIENPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorQ09ORklHX0ZVU0VfRlM9bQogCiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKQEAgLTEwMzEsNyArMTAzMiw3IEBACiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKICMKIENPTkZJR19GQVRfRlM9eQotQ09ORklHX01TRE9TX0ZTPXkKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19WRkFUX0ZTPXkKIENPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKIENPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKQEAgLTEwNDYsNyArMTA0Nyw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDEwICsxMDYyLDEyIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15Ci1DT05GSUdfSkZGUzJfU1VNTUFSWT15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldApAQCAtMTA3NCw0NyArMTA3Niw0MCBAQAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKLSMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKK0NPTkZJR19ORlNfVjNfQUNMPXkKK0NPTkZJR19ORlNfVjQ9eQogIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CiBDT05GSUdfTE9DS0RfVjQ9eQorQ09ORklHX05GU19BQ0xfU1VQUE9SVD15CiBDT05GSUdfTkZTX0NPTU1PTj15CiBDT05GSUdfU1VOUlBDPXkKK0NPTkZJR19TVU5SUENfR1NTPXkKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKK0NPTkZJR19SUENTRUNfR1NTX0tSQjU9eQogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwogIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldApAQCAtMTE0OCwzMCArMTE0MywyNCBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAotCi0jCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfSU5TVFJVTUVOVEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKLUNPTkZJR19NQUdJQ19TWVNSUT15CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKK0NPTkZJR19TQ0hFRF9ERUJVRz15CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldApAQCAtMTE4MSwxOSArMTE3MCwyMyBAQAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQorQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQorIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKIENPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15Ci1DT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX0VSUk9SUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTIwMiw1MSArMTE5NSw0OCBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0Ci0KLSMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCi0jCisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCitDT05GSUdfQ1JZUFRPX0FMR0FQST15CitDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj15CitDT05GSUdfQ1JZUFRPX01BTkFHRVI9eQogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fTUQ1PXkKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19FQ0IgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19DQkM9eQorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz15CiAjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKLSMKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19IVyBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwpAQCAtMTI1Niw2ICsxMjQ2LDcgQEAKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CiBDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXctc21wX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXctc21wX2RlZmNvbmZpZwppbmRleCBmYzM5YmExLi4wYzA5YjIzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3LXNtcF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlldy1zbXBfZGVmY29uZmlnCkBAIC0xNzcsNyArMTc3LDYgQEAKIENPTkZJR19IT1RQTFVHX0NQVT15CiBDT05GSUdfTE9DQUxfVElNRVJTPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlld19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3X2RlZmNvbmZpZwppbmRleCBhY2NiZjUyLi45MDdlNTQzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3X2RlZmNvbmZpZwpAQCAtMTI2LDcgKzEyNiw2IEBACiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcnBjX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcnBjX2RlZmNvbmZpZwppbmRleCA1ZGRlY2I5Li5mNjJkMTgxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3JwY19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9ycGNfZGVmY29uZmlnCkBAIC0xOTAsNyArMTkwLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvczNjMjQxMF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3MzYzI0MTBfZGVmY29uZmlnCmluZGV4IGY4YTE2NDUuLjM1ZmFhZWEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvczNjMjQxMF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9zM2MyNDEwX2RlZmNvbmZpZwpAQCAtMSwxNSArMSwxOCBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIxLXJjNgotIyBNb24gQXByICA5IDEwOjEyOjU4IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzgKKyMgTW9uIEp1bCAgNyAxNjo1OToyMyAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKICMgQ09ORklHX0dFTkVSSUNfVElNRSBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKIENPTkZJR19NTVU9eQogQ09ORklHX05PX0lPUE9SVD15CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQogQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQogQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CiBDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQpAQCAtMTgsMzQgKzIxLDM5IEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19JS0NPTkZJRz1tCitDT05GSUdfSUtDT05GSUdfUFJPQz15CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNgorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CitDT05GSUdfTkFNRVNQQUNFUz15CisjIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAorIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAorIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0lOSVRSRD15CiBDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKQEAgLTUzLDYgKzYxLDcgQEAKICMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiAjIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CkBAIC02MCwzNCArNjksNDMgQEAKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQorQ09ORklHX0FOT05fSU5PREVTPXkKIENPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKLUNPTkZJR19TTEFCPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CitDT05GSUdfU0xBQj15CisjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLSMgQ09ORklHX1NMT0IgaXMgbm90IHNldAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15CiAjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKQEAgLTEwMSw2ICsxMTksNyBAQAogIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTExOSwxNCArMTM4LDE3IEBACiAjIENPTkZJR19BUkNIX05FVFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9INzIwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lNWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JT1AzMlggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JT1AzM1ggaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9JT1AxM1hYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lYUDIzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CkBAIC0xMzQsMTggKzE1NiwzMiBAQAogQ09ORklHX0FSQ0hfUzNDMjQxMD15CiAjIENPTkZJR19BUkNIX1NIQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogQ09ORklHX1BMQVRfUzNDMjRYWD15CiBDT05GSUdfQ1BVX1MzQzI0NFg9eQorIyBDT05GSUdfUzNDMjRYWF9QV00gaXMgbm90IHNldAogQ09ORklHX1BNX1NJTVRFQz15Ci0jIENPTkZJR19TM0NfQk9PVF9XQVRDSERPRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TM0NfQk9PVF9FUlJPUl9SRVNFVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TM0MyNDEwX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MzQzI0MTBfUE1fQ0hFQ0sgaXMgbm90IHNldAotQ09ORklHX1MzQ19MT1dMRVZFTF9VQVJUX1BPUlQ9MAogQ09ORklHX1MzQzI0MTBfRE1BPXkKICMgQ09ORklHX1MzQzI0MTBfRE1BX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19NQUNIX1NNREs9eQorQ09ORklHX1BMQVRfUzNDPXkKK0NPTkZJR19DUFVfTExTRVJJQUxfUzNDMjQxMD15CitDT05GSUdfQ1BVX0xMU0VSSUFMX1MzQzI0NDA9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworIyBDT05GSUdfUzNDX0JPT1RfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfUzNDX0JPT1RfRVJST1JfUkVTRVQgaXMgbm90IHNldAorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKyMgQ09ORklHX1MzQzI0MTBfUE1fREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfUzNDMjQxMF9QTV9DSEVDSyBpcyBub3Qgc2V0CitDT05GSUdfUzNDX0xPV0xFVkVMX1VBUlRfUE9SVD0wCiAKICMKICMgUzNDMjQwMCBNYWNoaW5lcwpAQCAtMTU1LDYgKzE5MSw4IEBACiBDT05GSUdfUzNDMjQxMF9QTT15CiBDT05GSUdfUzNDMjQxMF9HUElPPXkKIENPTkZJR19TM0MyNDEwX0NMT0NLPXkKK0NPTkZJR19TSU1URUNfTk9SPXkKK0NPTkZJR19NQUNIX0JBU1RfSURFPXkKIAogIwogIyBTM0MyNDEwIE1hY2hpbmVzCkBAIC0xNjcsNiArMjA1LDcgQEAKIENPTkZJR19NQUNIX09UT009eQogQ09ORklHX01BQ0hfQU1MX001OTAwPXkKIENPTkZJR19CQVNUX1BDMTA0X0lSUT15CisjIENPTkZJR19NQUNIX1RDVF9IQU1NRVIgaXMgbm90IHNldAogQ09ORklHX01BQ0hfVlIxMDAwPXkKIENPTkZJR19NQUNIX1FUMjQxMD15CiBDT05GSUdfQ1BVX1MzQzI0MTI9eQpAQCAtMTc2LDggKzIxNSwxMCBAQAogIwogIyBTM0MyNDEyIE1hY2hpbmVzCiAjCisjIENPTkZJR19NQUNIX0pJVkUgaXMgbm90IHNldAogQ09ORklHX01BQ0hfU01ESzI0MTM9eQogQ09ORklHX01BQ0hfUzNDMjQxMz15CisjIENPTkZJR19NQUNIX1NNREsyNDEyIGlzIG5vdCBzZXQKIENPTkZJR19NQUNIX1ZTVE1TPXkKIENPTkZJR19DUFVfUzNDMjQ0MD15CiBDT05GSUdfUzNDMjQ0MF9ETUE9eQpAQCAtMTkxLDYgKzIzMiw3IEBACiBDT05GSUdfQVJDSF9TM0MyNDQwPXkKIENPTkZJR19NQUNIX05FWENPREVSXzI0NDA9eQogQ09ORklHX1NNREsyNDQwX0NQVTI0NDA9eQorIyBDT05GSUdfTUFDSF9BVDI0NDBFVkIgaXMgbm90IHNldAogQ09ORklHX0NQVV9TM0MyNDQyPXkKIAogIwpAQCAtMjE1LDYgKzI1Nyw3IEBACiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNFQ9eQogQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKIENPTkZJR19DUFVfQ0FDSEVfVjRXVD15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQogQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQpAQCAtMjM2LDE3ICsyNzksMTUgQEAKICMgQnVzIHN1cHBvcnQKICMKIENPTkZJR19JU0E9eQotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCisjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0yMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CkBAIC0yNTcsOSArMjk4LDEzIEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTI3OSw3ICszMjQsNyBAQAogIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKICMKIENPTkZJR19GUEVfTldGUEU9eQotIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKK0NPTkZJR19GUEVfTldGUEVfWFA9eQogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAogIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIApAQCAtMjk1LDEwICszNDAsMTIgQEAKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkQ9eQorQ09ORklHX1NVU1BFTkRfRlJFRVpFUj15CitDT05GSUdfQVBNX0VNVUxBVElPTj1tCitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0zMDgsNTkgKzM1NSw2NyBAQAogIwogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKLSMgQ09ORklHX05FVERFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BBQ0tFVCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUPXkKKyMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKICMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15Ci0jIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUE5QX0RIQ1A9eQogQ09ORklHX0lQX1BOUF9CT09UUD15CiAjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUX1RVTk5FTD1tCiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CitDT05GSUdfSVBWNj1tCitDT05GSUdfSVBWNl9QUklWQUNZPXkKK0NPTkZJR19JUFY2X1JPVVRFUl9QUkVGPXkKKyMgQ09ORklHX0lQVjZfUk9VVEVfSU5GTyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2X09QVElNSVNUSUNfREFEIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUNl9BSD1tCitDT05GSUdfSU5FVDZfRVNQPW0KK0NPTkZJR19JTkVUNl9JUENPTVA9bQorQ09ORklHX0lQVjZfTUlQNj1tCitDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUw9bQorQ09ORklHX0lORVQ2X1RVTk5FTD1tCitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RSQU5TUE9SVD1tCitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RVTk5FTD1tCitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQ9bQorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9ST1VURU9QVElNSVpBVElPTj1tCitDT05GSUdfSVBWNl9TSVQ9bQorQ09ORklHX0lQVjZfTkRJU0NfTk9ERVRZUEU9eQorQ09ORklHX0lQVjZfVFVOTkVMPW0KKyMgQ09ORklHX0lQVjZfTVVMVElQTEVfVEFCTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjZfTVJPVVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAotCi0jCi0jIERDQ1AgQ29uZmlndXJhdGlvbiAoRVhQRVJJTUVOVEFMKQotIwogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NUUCBDb25maWd1cmF0aW9uIChFWFBFUklNRU5UQUwpCi0jCiAjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKLQotIwotIyBUSVBDIENvbmZpZ3VyYXRpb24gKEVYUEVSSU1FTlRBTCkKLSMKICMgQ09ORklHX1RJUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKICMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CkBAIC0zNzMsMjAgKzQyOCw3MSBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX05FVF9TQ0hfRklGTz15CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUIGlzIG5vdCBzZXQKK0NPTkZJR19CVD1tCitDT05GSUdfQlRfTDJDQVA9bQorQ09ORklHX0JUX1NDTz1tCitDT05GSUdfQlRfUkZDT01NPW0KK0NPTkZJR19CVF9SRkNPTU1fVFRZPXkKK0NPTkZJR19CVF9CTkVQPW0KK0NPTkZJR19CVF9CTkVQX01DX0ZJTFRFUj15CitDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVI9eQorQ09ORklHX0JUX0hJRFA9bQorCisjCisjIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycworIworQ09ORklHX0JUX0hDSVVTQj1tCitDT05GSUdfQlRfSENJVVNCX1NDTz15CitDT05GSUdfQlRfSENJVUFSVD1tCitDT05GSUdfQlRfSENJVUFSVF9IND15CitDT05GSUdfQlRfSENJVUFSVF9CQ1NQPXkKK0NPTkZJR19CVF9IQ0lVQVJUX0xMPXkKK0NPTkZJR19CVF9IQ0lCQ00yMDNYPW0KK0NPTkZJR19CVF9IQ0lCUEExMFg9bQorQ09ORklHX0JUX0hDSUJGVVNCPW0KK0NPTkZJR19CVF9IQ0lWSENJPW0KKyMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcworIworQ09ORklHX0NGRzgwMjExPW0KK0NPTkZJR19OTDgwMjExPXkKK0NPTkZJR19XSVJFTEVTU19FWFQ9eQorQ09ORklHX01BQzgwMjExPW0KKworIworIyBSYXRlIGNvbnRyb2wgYWxnb3JpdGhtIHNlbGVjdGlvbgorIworQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFRfUElEPXkKKyMgQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFRfTk9ORSBpcyBub3Qgc2V0CisKKyMKKyMgU2VsZWN0aW5nICd5JyBmb3IgYW4gYWxnb3JpdGhtIHdpbGwKKyMKKworIworIyBidWlsZCB0aGUgYWxnb3JpdGhtIGludG8gbWFjODAyMTEuCisjCitDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVD0icGlkIgorQ09ORklHX01BQzgwMjExX1JDX1BJRD15CitDT05GSUdfTUFDODAyMTFfTUVTSD15CitDT05GSUdfTUFDODAyMTFfTEVEUz15CisjIENPTkZJR19NQUM4MDIxMV9ERUJVR19QQUNLRVRfQUxJR05NRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzk1LDIxICs1MDEsMTQgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKLSMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CitDT05GSUdfRldfTE9BREVSPW0KICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgTWVtb3J5IFRlY2hub2xvZ3kgRGV2aWNlcyAoTVREKQotIwogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CkBAIC00MjAsNiArNTE5LDcgQEAKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTX1JFQURPTkxZIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCkBAIC00MzIsNiArNTMyLDcgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCkBAIC00NTcsNyArNTU4LDYgQEAKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogQ09ORklHX01URF9ST009eQogIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfT0JTT0xFVEVfQ0hJUFMgaXMgbm90IHNldAogCiAjCiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKQEAgLTQ4NiwxMyArNTg2LDEwIEBACiAjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAotCi0jCi0jIE5BTkQgRmxhc2ggRGV2aWNlIERyaXZlcnMKLSMKIENPTkZJR19NVERfTkFORD15CiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogQ09ORklHX01URF9OQU5EX1MzQzI0MTA9eQogIyBDT05GSUdfTVREX05BTkRfUzNDMjQxMF9ERUJVRyBpcyBub3Qgc2V0CkBAIC01MDAsMzAgKzU5NywyNSBAQAogIyBDT05GSUdfTVREX05BTkRfUzNDMjQxMF9DTEtTVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci0KLSMKLSMgT25lTkFORCBGbGFzaCBEZXZpY2UgRHJpdmVycwotIworIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0CisjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIworIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0CiBDT05GSUdfUEFSUE9SVD15Ci0jIENPTkZJR19QQVJQT1JUX1BDIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJQT1JUX1BDPW0KKyMgQ09ORklHX1BBUlBPUlRfUENfRklGTyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVJQT1JUX1BDX1NVUEVSSU8gaXMgbm90IHNldAogIyBDT05GSUdfUEFSUE9SVF9HU0MgaXMgbm90IHNldAotIyBDT05GSUdfUEFSUE9SVF9BWDg4Nzk2IGlzIG5vdCBzZXQKK0NPTkZJR19QQVJQT1JUX0FYODg3OTY9bQogQ09ORklHX1BBUlBPUlRfMTI4ND15Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCitDT05GSUdfUEFSUE9SVF9OT1RfUEM9eQogIyBDT05GSUdfUE5QIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKKyMgQ09ORklHX1BBUklERSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfTE9PUD15CiAjIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldApAQCAtNTMyLDM0ICs2MjQsMzQgQEAKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKIENPTkZJR19CTEtfREVWX1JBTV9TSVpFPTQwOTYKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorIyBDT05GSUdfQkxLX0RFVl9YSVAgaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiBDT05GSUdfQVRBX09WRVJfRVRIPW0KLQotIwotIyBBVEEvQVRBUEkvTUZNL1JMTCBzdXBwb3J0Ci0jCitDT05GSUdfTUlTQ19ERVZJQ0VTPXkKKyMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CisjIENPTkZJR19FTkNMT1NVUkVfU0VSVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKIENPTkZJR19JREU9eQogQ09ORklHX0JMS19ERVZfSURFPXkKIAogIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKKyMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwogIwogIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9JREVESVNLPXkKICMgQ09ORklHX0lERURJU0tfTVVMVElfTU9ERSBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9JREVDRD15CitDT05GSUdfQkxLX0RFVl9JREVDRF9WRVJCT1NFX0VSUk9SUz15CiBDT05GSUdfQkxLX0RFVl9JREVUQVBFPW0KIENPTkZJR19CTEtfREVWX0lERUZMT1BQWT1tCisjIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAogIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAorQ09ORklHX0lERV9QUk9DX0ZTPXkKIAogIwogIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCiAjCi1DT05GSUdfSURFX0dFTkVSSUM9eQotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVfQkFTVD15Ci0jIENPTkZJR19JREVfQ0hJUFNFVFMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9QTEFURk9STSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lERURNQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKIApAQCAtNTY3LDEwMSArNjU5LDExOSBAQAogIyBTQ1NJIGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0kgaXMgbm90IHNldAorQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKK0NPTkZJR19TQ1NJX1RHVD1tCiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKLSMgU2VyaWFsIEFUQSAocHJvZCkgYW5kIFBhcmFsbGVsIEFUQSAoZXhwZXJpbWVudGFsKSBkcml2ZXJzCisjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCiAjCitDT05GSUdfQkxLX0RFVl9TRD15CitDT05GSUdfQ0hSX0RFVl9TVD1tCisjIENPTkZJR19DSFJfREVWX09TU1QgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfU1I9bQorQ09ORklHX0JMS19ERVZfU1JfVkVORE9SPXkKK0NPTkZJR19DSFJfREVWX1NHPXkKK0NPTkZJR19DSFJfREVWX1NDSD1tCisKKyMKKyMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCisjCitDT05GSUdfU0NTSV9NVUxUSV9MVU49eQorQ09ORklHX1NDU0lfQ09OU1RBTlRTPXkKKyMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9TQ0FOX0FTWU5DPXkKK0NPTkZJR19TQ1NJX1dBSVRfU0NBTj1tCisKKyMKKyMgU0NTSSBUcmFuc3BvcnRzCisjCisjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKKyMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FIQTE1MlggaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9BSUM3WFhYX09MRCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FEVkFOU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSU4yMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRFRDMzI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0ZVVFVSRV9ET01BSU4gaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9HRU5FUklDX05DUjUzODAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9HRU5FUklDX05DUjUzODBfTU1JTyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1BQQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0lNTSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX05DUjUzQzQwNkEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9QQVMxNiBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1FMT0dJQ19GQVMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9TWU01M0M0MTYgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9UMTI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIworQ09ORklHX0hBVkVfUEFUQV9QTEFURk9STT15CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAotIwotIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKLQotIwotIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0Ci0jCi0KLSMKLSMgSTJPIGRldmljZSBzdXBwb3J0Ci0jCi0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKLQotIwotIyBBUkNuZXQgZGV2aWNlcwotIworIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNORVQgaXMgbm90IHNldAotCi0jCi0jIFBIWSBkZXZpY2Ugc3VwcG9ydAotIwogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKLQotIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKLSMKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9WRU5ET1JfM0NPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVkVORE9SX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAogQ09ORklHX0RNOTAwMD15CisjIENPTkZJR19FTkMyOEo2MCBpcyBub3Qgc2V0CitDT05GSUdfRE05MDAwX0RFQlVHTEVWRUw9NAogIyBDT05GSUdfTkVUX1ZFTkRPUl9SQUNBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVDE3MDAgaXMgbm90IHNldAogIyBDT05GSUdfREVQQ0EgaXMgbm90IHNldAogIyBDT05GSUdfSFAxMDAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lTQSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPQ0tFVCBpcyBub3Qgc2V0Ci0KLSMKLSMgRXRoZXJuZXQgKDEwMDAgTWJpdCkKLSMKLQotIwotIyBFdGhlcm5ldCAoMTAwMDAgTWJpdCkKLSMKLQotIwotIyBUb2tlbiBSaW5nIGRldmljZXMKLSMKK0NPTkZJR19ORVRERVZfMTAwMD15CisjIENPTkZJR19FMTAwMEVfRU5BQkxFRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWXzEwMDAwPXkKICMgQ09ORklHX1RSIGlzIG5vdCBzZXQKIAogIwotIyBXaXJlbGVzcyBMQU4gKG5vbi1oYW1yYWRpbykKKyMgV2lyZWxlc3MgTEFOCiAjCi0jIENPTkZJR19ORVRfUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKLSMgV2FuIGludGVyZmFjZXMKKyMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKICMKKyMgQ09ORklHX1VTQl9DQVRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfUExJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNjY5LDYgKzc3OSw3IEBACiAjCiBDT05GSUdfSU5QVVQ9eQogIyBDT05GSUdfSU5QVVRfRkZfTUVNTEVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9QT0xMREVWIGlzIG5vdCBzZXQKIAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCkBAIC02NzgsNyArNzg5LDYgQEAKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfRVZERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC02OTUsMTIgKzgwNSwyMSBAQAogIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfTU9VU0U9eQogQ09ORklHX01PVVNFX1BTMj15CitDT05GSUdfTU9VU0VfUFMyX0FMUFM9eQorQ09ORklHX01PVVNFX1BTMl9MT0dJUFMyUFA9eQorQ09ORklHX01PVVNFX1BTMl9TWU5BUFRJQ1M9eQorQ09ORklHX01PVVNFX1BTMl9MSUZFQk9PSz15CitDT05GSUdfTU9VU0VfUFMyX1RSQUNLUE9JTlQ9eQorIyBDT05GSUdfTU9VU0VfUFMyX1RPVUNIS0lUIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX1NFUklBTCBpcyBub3Qgc2V0CisjIENPTkZJR19NT1VTRV9BUFBMRVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX0lOUE9SVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9MT0dJQk0gaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfUEMxMTBQQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfVlNYWFhBQSBpcyBub3Qgc2V0CisjIENPTkZJR19NT1VTRV9HUElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIApAQCAtNzIxLDYgKzg0MCw3IEBACiBDT05GSUdfVlRfQ09OU09MRT15CiBDT05GSUdfSFdfQ09OU09MRT15CiAjIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQogQ09ORklHX1NFUklBTF9OT05TVEFOREFSRD15CiAjIENPTkZJR19DT01QVVRPTkUgaXMgbm90IHNldAogIyBDT05GSUdfUk9DS0VUUE9SVCBpcyBub3Qgc2V0CkBAIC03MjgsOCArODQ4LDYgQEAKICMgQ09ORklHX0RJR0lFUENBIGlzIG5vdCBzZXQKICMgQ09ORklHX01PWEFfSU5URUxMSU8gaXMgbm90IHNldAogIyBDT05GSUdfTU9YQV9TTUFSVElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX01PWEFfU01BUlRJT19ORVcgaXMgbm90IHNldAotIyBDT05GSUdfU1lOQ0xJTktNUCBpcyBub3Qgc2V0CiAjIENPTkZJR19OX0hETEMgaXMgbm90IHNldAogIyBDT05GSUdfUklTQ09NOCBpcyBub3Qgc2V0CiAjIENPTkZJR19TUEVDSUFMSVggaXMgbm90IHNldApAQCAtNzU4LDggKzg3NiwxMiBAQAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCitDT05GSUdfU0VSSUFMX1NBTVNVTkc9eQorIyBDT05GSUdfU0VSSUFMX1NBTVNVTkdfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF9TQU1TVU5HX0NPTlNPTEU9eQogQ09ORklHX1NFUklBTF9TM0MyNDEwPXkKLUNPTkZJR19TRVJJQUxfUzNDMjQxMF9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfUzNDMjQxMj15CitDT05GSUdfU0VSSUFMX1MzQzI0NDA9eQogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CkBAIC03NjgsMTYgKzg5MCwxMzkgQEAKIENPTkZJR19QUklOVEVSPXkKICMgQ09ORklHX0xQX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX1BQREVWPXkKLSMgQ09ORklHX1RJUEFSIGlzIG5vdCBzZXQKLQotIwotIyBJUE1JCi0jCiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAorQ09ORklHX0hXX1JBTkRPTT15CisjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19EVExLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CitDT05GSUdfREVWUE9SVD15CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj1tCitDT05GSUdfSTJDX0FMR09CSVQ9eQogCiAjCi0jIFdhdGNoZG9nIENhcmRzCisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfSTJDX0VMRUtUT1IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CitDT05GSUdfSTJDX1MzQzI0MTA9eQorQ09ORklHX0kyQ19TSU1URUM9eQorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX0lTQSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CitDT05GSUdfU0VOU09SU19FRVBST009bQorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RQUzY1MDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKKyMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX01BU1RFUj15CisKKyMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKKyMKK0NPTkZJR19TUElfQklUQkFORz1tCisjIENPTkZJR19TUElfQlVUVEVSRkxZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9MTTcwX0xMUCBpcyBub3Qgc2V0CitDT05GSUdfU1BJX1MzQzI0WFg9bQorQ09ORklHX1NQSV9TM0MyNFhYX0dQSU89bQorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKyMgQ09ORklHX0RFQlVHX0dQSU8gaXMgbm90IHNldAorCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX0dQSU9fUENBOTUzWCBpcyBub3Qgc2V0CisjIENPTkZJR19HUElPX1BDRjg1N1ggaXMgbm90IHNldAorCisjCisjIFNQSSBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX0dQSU9fTUNQMjNTMDggaXMgbm90IHNldAorIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKK0NPTkZJR19IV01PTj15CitDT05GSUdfSFdNT05fVklEPW0KKyMgQ09ORklHX1NFTlNPUlNfQUQ3NDE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDI2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyOSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMzEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE05MjQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEVDc0NzMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BVFhQMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0RTMTYyMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3MTgwNUYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19GNzE4ODJGRyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3NTM3NVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19HTDUxOFNNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfR0w1MjBTTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0lUODcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE03MCBpcyBub3Qgc2V0CitDT05GSUdfU0VOU09SU19MTTc1PW0KKyMgQ09ORklHX1NFTlNPUlNfTE03NyBpcyBub3Qgc2V0CitDT05GSUdfU0VOU09SU19MTTc4PW0KKyMgQ09ORklHX1NFTlNPUlNfTE04MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNODMgaXMgbm90IHNldAorQ09ORklHX1NFTlNPUlNfTE04NT1tCisjIENPTkZJR19TRU5TT1JTX0xNODcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTkwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE05MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNOTMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVgxNjE5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjY1MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDODczNjAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQzg3NDI3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRE1FMTczNyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFM3ODI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVEhNQzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVlQxMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzgxRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc5MUQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3OTJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzkzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzTDc4NVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzTDc4Nk5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNjI3SEYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM2MjdFSEYgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT05fREVCVUdfQ0hJUCBpcyBub3Qgc2V0CiBDT05GSUdfV0FUQ0hET0c9eQogIyBDT05GSUdfV0FUQ0hET0dfTk9XQVlPVVQgaXMgbm90IHNldAogCkBAIC03OTgsMTc5ICsxMDQzLDU0IEBACiAjIFVTQi1iYXNlZCBXYXRjaGRvZyBDYXJkcwogIwogIyBDT05GSUdfVVNCUENXQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPXkKLSMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RUTEsgaXMgbm90IHNldAotIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAotIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CiAKICMKLSMgVFBNIGRldmljZXMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiAjCi0jIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKLQotIwotIyBJMkMgc3VwcG9ydAotIwotQ09ORklHX0kyQz15Ci1DT05GSUdfSTJDX0NIQVJERVY9bQotCi0jCi0jIEkyQyBBbGdvcml0aG1zCi0jCi1DT05GSUdfSTJDX0FMR09CSVQ9bQotIyBDT05GSUdfSTJDX0FMR09QQ0YgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0FMR09QQ0EgaXMgbm90IHNldAotCi0jCi0jIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAotIwotIyBDT05GSUdfSTJDX0VMRUtUT1IgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfUEFSUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0Ci1DT05GSUdfSTJDX1MzQzI0MTA9eQotIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX1BDQV9JU0EgaXMgbm90IHNldAotCi0jCi0jIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAotIwotIyBDT05GSUdfU0VOU09SU19EUzEzMzcgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19EUzEzNzQgaXMgbm90IHNldAotQ09ORklHX1NFTlNPUlNfRUVQUk9NPW0KLSMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1BDQTk1MzkgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKLQotIwotIyBTUEkgc3VwcG9ydAotIwotQ09ORklHX1NQST15Ci0jIENPTkZJR19TUElfREVCVUcgaXMgbm90IHNldAotQ09ORklHX1NQSV9NQVNURVI9eQotCi0jCi0jIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCi0jCi1DT05GSUdfU1BJX0JJVEJBTkc9bQotIyBDT05GSUdfU1BJX0JVVFRFUkZMWSBpcyBub3Qgc2V0Ci1DT05GSUdfU1BJX1MzQzI0WFg9bQotQ09ORklHX1NQSV9TM0MyNFhYX0dQSU89bQotCi0jCi0jIFNQSSBQcm90b2NvbCBNYXN0ZXJzCi0jCi0jIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0Ci0KLSMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cwotIwotIyBDT05GSUdfVzEgaXMgbm90IHNldAotCi0jCi0jIEhhcmR3YXJlIE1vbml0b3Jpbmcgc3VwcG9ydAotIwotQ09ORklHX0hXTU9OPXkKLUNPTkZJR19IV01PTl9WSUQ9bQotIyBDT05GSUdfU0VOU09SU19BQklUVUdVUlUgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BRE0xMDIxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQURNMTAyNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FETTEwMjYgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BRE0xMDI5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQURNMTAzMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FETTkyNDAgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BU0IxMDAgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BVFhQMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0RTMTYyMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0Y3MTgwNUYgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19GU0NIRVIgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19GU0NQT1MgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19HTDUxOFNNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfR0w1MjBTTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0lUODcgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19MTTYzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTE03MCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VOU09SU19MTTc1PW0KLSMgQ09ORklHX1NFTlNPUlNfTE03NyBpcyBub3Qgc2V0Ci1DT05GSUdfU0VOU09SU19MTTc4PW0KLSMgQ09ORklHX1NFTlNPUlNfTE04MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0xNODMgaXMgbm90IHNldAotQ09ORklHX1NFTlNPUlNfTE04NT1tCi0jIENPTkZJR19TRU5TT1JTX0xNODcgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19MTTkwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTE05MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX01BWDE2MTkgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19QQzg3MzYwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfUEM4NzQyNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1NNU0M0N00xIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19WVDEyMTEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzNzkxRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODNMNzg1VFMgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19IV01PTl9ERUJVR19DSElQIGlzIG5vdCBzZXQKLQotIwotIyBNaXNjIGRldmljZXMKLSMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCi0jIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi1DT05GSUdfTkVXX0xFRFM9eQotQ09ORklHX0xFRFNfQ0xBU1M9bQotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi1DT05GSUdfTEVEU19TM0MyNFhYPW0KLUNPTkZJR19MRURTX0gxOTQwPW0KLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLUNPTkZJR19MRURTX1RSSUdHRVJTPXkKLUNPTkZJR19MRURTX1RSSUdHRVJfVElNRVI9bQotIyBDT05GSUdfTEVEU19UUklHR0VSX0lERV9ESVNLIGlzIG5vdCBzZXQKLUNPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPW0KK0NPTkZJR19NRkRfU001MDE9eQorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKLSMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAKICMKLSMgRGlnaXRhbCBWaWRlbyBCcm9hZGNhc3RpbmcgRGV2aWNlcworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAogIwotIyBDT05GSUdfRFZCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIwotIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKIENPTkZJR19GQj15CiBDT05GSUdfRklSTVdBUkVfRURJRD15CiAjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAogQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15CiBDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKIENPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAogIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAogIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKQEAgLTk3OCwxMiArMTA5OCwxOSBAQAogIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKIAogIwotIyBGcmFtYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKKyMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKICMKICMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKIENPTkZJR19GQl9TM0MyNDEwPXkKICMgQ09ORklHX0ZCX1MzQzI0MTBfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0ZCX1NNNTAxPXkKICMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydApAQCAtOTkyLDY4ICsxMTE5LDIxIEBACiAjIENPTkZJR19NREFfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15CiBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX0RFVEVDVF9QUklNQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAogQ09ORklHX0ZPTlRfOHg4PXkKIENPTkZJR19GT05UXzh4MTY9eQotCi0jCi0jIExvZ28gY29uZmlndXJhdGlvbgotIwogIyBDT05GSUdfTE9HTyBpcyBub3Qgc2V0CiAKICMKICMgU291bmQKICMKICMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKLQotIwotIyBISUQgRGV2aWNlcwotIworQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBVU0Igc3VwcG9ydAotIwotQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQotQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKLSMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKLUNPTkZJR19VU0I9eQotIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCi0jCi1DT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKLSMKLSMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQotIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCi0jCi0jIENPTkZJR19VU0JfQUNNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QUklOVEVSIGlzIG5vdCBzZXQKLQotIwotIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCi0jCi0KLSMKLSMgbWF5IGFsc28gYmUgbmVlZGVkOyBzZWUgVVNCX1NUT1JBR0UgSGVscCBmb3IgbW9yZSBpbmZvcm1hdGlvbgotIwotIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTEwNjUsNDUgKzExNDUsMTIyIEBACiAjCiAjIENPTkZJR19VU0JfS0JEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NT1VTRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfQUlQVEVLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9XQUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfQUNFQ0FEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9LQlRBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUE9XRVJNQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfWUVBTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfWFBBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfQVRJX1JFTU9URSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfQVRJX1JFTU9URTIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0tFWVNQQU5fUkVNT1RFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9BUFBMRVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9HVENPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VQUE9SVD15CitDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CitDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQorIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldAorQ09ORklHX1VTQj15CisjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCisjCitDT05GSUdfVVNCX0RFVklDRUZTPXkKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKKyMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKworIworIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAorQ09ORklHX1VTQl9PSENJX0hDRD15CisjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKKyMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CisKKyMKKyMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCisjCitDT05GSUdfVVNCX0FDTT1tCitDT05GSUdfVVNCX1BSSU5URVI9bQorQ09ORklHX1VTQl9XRE09bQorCisjCisjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKKyMKKworIworIyBtYXkgYWxzbyBiZSBuZWVkZWQ7IHNlZSBVU0JfU1RPUkFHRSBIZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uCisjCitDT05GSUdfVVNCX1NUT1JBR0U9bQorIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAorQ09ORklHX1VTQl9MSUJVU1VBTD15CiAKICMKICMgVVNCIEltYWdpbmcgZGV2aWNlcwogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKLSMKLSMgQ09ORklHX1VTQl9DQVRDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAogQ09ORklHX1VTQl9NT049eQogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKICMgQ09ORklHX1VTQl9VU1M3MjAgaXMgbm90IHNldAotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKLSMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAorQ09ORklHX1VTQl9TRVJJQUw9eQorIyBDT05GSUdfVVNCX1NFUklBTF9DT05TT0xFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9FWlVTQiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NFUklBTF9HRU5FUklDPXkKKyMgQ09ORklHX1VTQl9TRVJJQUxfQUlSQ0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9BSVJQUklNRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0FSSzMxMTYgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9CRUxLSU4gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9DSDM0MSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1dISVRFSEVBVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0RJR0lfQUNDRUxFUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0NQMjEwMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0NZUFJFU1NfTTggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9FTVBFRyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NFUklBTF9GVERJX1NJTz15CisjIENPTkZJR19VU0JfU0VSSUFMX0ZVTlNPRlQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9WSVNPUiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0lQQVEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9JUiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0VER0VQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfRURHRVBPUlRfVEkgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9HQVJNSU4gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9JUFcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9JVVUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1BEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU4gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9LTFNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfS09CSUxfU0NUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfTUNUX1UyMzIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9NT1M3NzIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfTU9TNzg0MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX01PVE9ST0xBIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU0VSSUFMX05BVk1BTj1tCitDT05GSUdfVVNCX1NFUklBTF9QTDIzMDM9eQorIyBDT05GSUdfVVNCX1NFUklBTF9PVEk2ODU4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfU1BDUDhYNSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0hQNFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9TQUZFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfU0lFUlJBV0lSRUxFU1MgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9USSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0NZQkVSSkFDSyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1hJUkNPTSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NFUklBTF9PUFRJT049bQorIyBDT05GSUdfVVNCX1NFUklBTF9PTU5JTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBNaXNjZWxsYW5lb3VzIGRyaXZlcnMKQEAgLTExMTYsMzUgKzEyNzMsMzggQEAKICMgQ09ORklHX1VTQl9MRUdPVE9XRVIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQkVSUllfQ0hBUkdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9MRUQgaXMgbm90IHNldAorQ09ORklHX1VTQl9MRUQ9bQogIyBDT05GSUdfVVNCX0NZUFJFU1NfQ1k3QzYzIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9DWVRIRVJNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QSElER0VUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JRE1PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9GVERJX0VMQU4gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0FQUExFRElTUExBWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTEQgaXMgbm90IHNldAorQ09ORklHX1VTQl9MRD1tCiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCisjIENPTkZJR19VU0JfSVNJR0hURlcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci0KLSMKLSMgTU1DL1NEIENhcmQgc3VwcG9ydAotIwogIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz1tCiAKICMKLSMgUmVhbCBUaW1lIENsb2NrCisjIExFRCBkcml2ZXJzCiAjCitDT05GSUdfTEVEU19TM0MyNFhYPW0KK0NPTkZJR19MRURTX0gxOTQwPW0KKyMgQ09ORklHX0xFRFNfR1BJTyBpcyBub3Qgc2V0CisKKyMKKyMgTEVEIFRyaWdnZXJzCisjCitDT05GSUdfTEVEU19UUklHR0VSUz15CitDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSPW0KKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9JREVfRElTSyBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD1tCisjIENPTkZJR19MRURTX1RSSUdHRVJfREVGQVVMVF9PTiBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15CiBDT05GSUdfUlRDX0NMQVNTPXkKIENPTkZJR19SVENfSENUT1NZUz15CkBAIC0xMTU4LDYxICsxMzE4LDg2IEBACiBDT05GSUdfUlRDX0lOVEZfUFJPQz15CiBDT05GSUdfUlRDX0lOVEZfREVWPXkKICMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCi0jIFJUQyBkcml2ZXJzCisjIEkyQyBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0ZNMzEzMCBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SOTcwMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorCisjCisjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiAjCiAjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfUzNDPXkKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKIAogIworIyBvbi1DUFUgUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19SVENfRFJWX1MzQz15CisjIENPTkZJR19VSU8gaXMgbm90IHNldAorCisjCiAjIEZpbGUgc3lzdGVtcwogIwogQ09ORklHX0VYVDJfRlM9eQotIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CitDT05GSUdfRVhUMl9GU19YQVRUUj15CitDT05GSUdfRVhUMl9GU19QT1NJWF9BQ0w9eQorQ09ORklHX0VYVDJfRlNfU0VDVVJJVFk9eQogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAogQ09ORklHX0VYVDNfRlM9eQogQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKK0NPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotQ09ORklHX1JPTUZTX0ZTPXkKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19BQ0w9eQogCiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKICMKLSMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAotIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19JU085NjYwX0ZTPXkKK0NPTkZJR19KT0xJRVQ9eQorIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19VREZfRlM9bQorQ09ORklHX1VERl9OTFM9eQogCiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKQEAgLTEyMjIsNyArMTQwNyw5IEBACiBDT05GSUdfVkZBVF9GUz15CiBDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3CiBDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCi0jIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19OVEZTX0ZTPW0KKyMgQ09ORklHX05URlNfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTlRGU19SVyBpcyBub3Qgc2V0CiAKICMKICMgUHNldWRvIGZpbGVzeXN0ZW1zCkBAIC0xMjMwLDEwICsxNDE3LDEwIEBACiBDT05GSUdfUFJPQ19GUz15CiBDT05GSUdfUFJPQ19TWVNDVEw9eQogQ09ORklHX1NZU0ZTPXkKLSMgQ09ORklHX1RNUEZTIGlzIG5vdCBzZXQKK0NPTkZJR19UTVBGUz15CitDT05GSUdfVE1QRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQotIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0NPTkZJR0ZTX0ZTPW0KIAogIwogIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCkBAIC0xMjQ4LDMxICsxNDM1LDMyIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15Ci0jIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9TVU1NQVJZPXkKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CiBDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorQ09ORklHX1JPTUZTX0ZTPXkKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiAjIENPTkZJR19ORlNfVjMgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQogQ09ORklHX05GU19DT01NT049eQogQ09ORklHX1NVTlJQQz15CisjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CkBAIC0xMjgwLDcgKzE0NjgsNiBAQAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKQEAgLTEzMDIsOTQgKzE0ODksOTMgQEAKICMgQ09ORklHX1NVTl9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfS0FSTUFfUEFSVElUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0VGSV9QQVJUSVRJT04gaXMgbm90IHNldAotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCi0jIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYyIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTM2IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85NTAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTQ5IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NzQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCitDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CitDT05GSUdfTkxTX0NPREVQQUdFXzczNz1tCitDT05GSUdfTkxTX0NPREVQQUdFXzc3NT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CitDT05GSUdfTkxTX0NPREVQQUdFXzg1Mj1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg1NT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg1Nz1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2MD1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2MT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2Mj1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2Mz1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2ND1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2NT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2Nj1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg2OT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzkzNj1tCitDT05GSUdfTkxTX0NPREVQQUdFXzk1MD1tCitDT05GSUdfTkxTX0NPREVQQUdFXzkzMj1tCitDT05GSUdfTkxTX0NPREVQQUdFXzk0OT1tCitDT05GSUdfTkxTX0NPREVQQUdFXzg3ND1tCitDT05GSUdfTkxTX0lTTzg4NTlfOD1tCitDT05GSUdfTkxTX0NPREVQQUdFXzEyNTA9bQorQ09ORklHX05MU19DT0RFUEFHRV8xMjUxPW0KK0NPTkZJR19OTFNfQVNDSUk9eQorQ09ORklHX05MU19JU084ODU5XzE9eQorQ09ORklHX05MU19JU084ODU5XzI9bQorQ09ORklHX05MU19JU084ODU5XzM9bQorQ09ORklHX05MU19JU084ODU5XzQ9bQorQ09ORklHX05MU19JU084ODU5XzU9bQorQ09ORklHX05MU19JU084ODU5XzY9bQorQ09ORklHX05MU19JU084ODU5Xzc9bQorQ09ORklHX05MU19JU084ODU5Xzk9bQorQ09ORklHX05MU19JU084ODU5XzEzPW0KK0NPTkZJR19OTFNfSVNPODg1OV8xND1tCitDT05GSUdfTkxTX0lTTzg4NTlfMTU9bQorQ09ORklHX05MU19LT0k4X1I9bQorQ09ORklHX05MU19LT0k4X1U9bQorQ09ORklHX05MU19VVEY4PW0KICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CiBDT05GSUdfTUFHSUNfU1lTUlE9eQogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE2CiBDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19NVVRFWEVTPXkKKyMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAorIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQogQ09ORklHX0RFQlVHX0lORk89eQogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKLSMgQ09ORklHX0RFQlVHX0VSUk9SUyBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1MzQ19QT1JUPXkKQEAgLTE0MDAsMjEgKzE1ODYsMTAwIEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE89eQogCiAjCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKICMKLSMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FMR0FQST1tCitDT05GSUdfQ1JZUFRPX0FFQUQ9bQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQorQ09ORklHX0NSWVBUT19IQVNIPW0KK0NPTkZJR19DUllQVE9fTUFOQUdFUj1tCisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FVVEhFTkM9bQorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj1tCisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fSE1BQz1tCisjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9bQorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fU0hBMT1tCisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKK0NPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz1tCisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKK0NPTkZJR19DUllQVE9fREVGTEFURT1tCisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fSFc9eQogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CitDT05GSUdfQ1JDX0lUVV9UPW0KIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQorQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9zYW05X2w5MjYwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mvc2FtOV9sOTI2MF9kZWZjb25maWcKaW5kZXggNDg0ZGM5Ny4uODY4ODM2MiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9zYW05X2w5MjYwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3NhbTlfbDkyNjBfZGVmY29uZmlnCkBAIC0yMTEsNyArMjExLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3NwaXR6X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mvc3BpdHpfZGVmY29uZmlnCmluZGV4IGFhN2EwMTEuLjdkNTlmYjEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3Mvc3BpdHpfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mvc3BpdHpfZGVmY29uZmlnCkBAIC0xNjQsNyArMTY0LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy90Y3RfaGFtbWVyX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvdGN0X2hhbW1lcl9kZWZjb25maWcKaW5kZXggNTc2YjgzMy4uMDdkZmI5OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy90Y3RfaGFtbWVyX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3RjdF9oYW1tZXJfZGVmY29uZmlnCkBAIC0yNDcsNyArMjQ3LDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTIwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvdHJpemVwczRfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy90cml6ZXBzNF9kZWZjb25maWcKaW5kZXggNmRiNjM5Mi4uOGI3YTQzMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy90cml6ZXBzNF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy90cml6ZXBzNF9kZWZjb25maWcKQEAgLTE5NSw3ICsxOTUsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjBfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNzAlCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjBfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLjM2ODBiZDIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjBfZGVmY29uZmlnCkBAIC0xLDEzICsxLDEzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgTW9uIEp1bCAgOSAxNToxODoyMCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjQKKyMgVHVlIEFwciAxNSAxMTozOTozNSAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CkBAIC0yMiw0MSArMjIsMzggQEAKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwotQ09ORklHX0xPQ0FMVkVSU0lPTj0iLWVtLXgyNzAiCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0Ci1DT05GSUdfU1dBUD15CisjIENPTkZJR19TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BJRF9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfRkFJUl9DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKLUNPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CisjIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CiBDT05GSUdfU1lTQ1RMPXkKLUNPTkZJR19FTUJFRERFRD15CisjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKIENPTkZJR19LQUxMU1lNUz15CkBAIC03MSw0MiArNjgsMzUgQEAKIENPTkZJR19BTk9OX0lOT0RFUz15CiBDT05GSUdfRVBPTEw9eQogQ09ORklHX1NJR05BTEZEPXkKLUNPTkZJR19USU1FUkZEPXkKIENPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLQotIwotIyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAotIwogQ09ORklHX01PRFVMRVM9eQogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCiAjCiBDT05GSUdfSU9TQ0hFRF9OT09QPXkKIENPTkZJR19JT1NDSEVEX0FTPXkKLUNPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKLUNPTkZJR19JT1NDSEVEX0NGUT15CisjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfQ0ZRIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0FTPXkKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldApAQCAtMTIwLDcgKzExMCw3IEBACiAjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MT15CiAjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CkBAIC0xMzksOCArMTI5LDkgQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTUwLDI1ICsxNDEsNjYgQEAKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBCb290IG9wdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEF0bWVsIEFUOTEgU3lzdGVtLW9uLUNoaXAKKyMKKyMgQ09ORklHX0FSQ0hfQVQ5MVJNOTIwMCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxU0FNOTI2MD15CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOVJMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MUNBUDkgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxWDQwIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1BNQ19VTklUPXkKKworIworIyBBVDkxU0FNOTI2MCBWYXJpYW50cworIworIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MF9TQU05WEUgaXMgbm90IHNldAorCisjCisjIEFUOTFTQU05MjYwIC8gQVQ5MVNBTTlYRSBCb2FyZCBUeXBlCisjCisjIENPTkZJR19NQUNIX0FUOTFTQU05MjYwRUsgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9DQU02MCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX1NBTTlfTDkyNjAgaXMgbm90IHNldAorQ09ORklHX01BQ0hfVVNCX0E5MjYwPXkKKyMgQ09ORklHX01BQ0hfUUlMX0E5MjYwIGlzIG5vdCBzZXQKKworIworIyBBVDkxIEJvYXJkIE9wdGlvbnMKKyMKKworIworIyBBVDkxIEZlYXR1cmUgU2VsZWN0aW9ucworIworIyBDT05GSUdfQVQ5MV9QUk9HUkFNTUFCTEVfQ0xPQ0tTIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1NMT1dfQ0xPQ0s9eQorQ09ORklHX0FUOTFfVElNRVJfSFo9MTAwCitDT05GSUdfQVQ5MV9FQVJMWV9EQkdVPXkKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ1IGlzIG5vdCBzZXQKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQogQ09ORklHX0NQVV8zMnY1PXkKLUNPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQpAQCAtMTc2LDI4ICsyMDgsMjggQEAKICMKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCi1DT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0FSTV9USFVNQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAorIyBDT05GSUdfTk9fSFogaXMgbm90IHNldAorIyBDT05GSUdfSElHSF9SRVNfVElNRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTIwOSw5ICsyNDEsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKKyMgQ09ORklHX0xFRFMgaXMgbm90IHNldAogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjE5LDcgKzI1NSw3IEBACiAjCiBDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCiBDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKLUNPTkZJR19DTURMSU5FPSIiCitDT05GSUdfQ01ETElORT0ibWVtPTY0TSBjb25zb2xlPXR0eVMwLDExNTIwMCIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCkBAIC0yMzMsNiArMjY5LDcgQEAKIENPTkZJR19GUEVfTldGUEU9eQogIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yNDUsMTAgKzI4MiwxMiBAQAogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKKyMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORF9VUF9QT1NTSUJMRT15CitDT05GSUdfU1VTUEVORD15CisjIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNjEsMjEgKzMwMCwyNSBAQAogQ09ORklHX1BBQ0tFVD15CiAjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWD15Ci1DT05GSUdfWEZSTT15Ci0jIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CitDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSPXkKK0NPTkZJR19BU0tfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfRklCX1RSSUUgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9ST1VURV9NVUxUSVBBVEggaXMgbm90IHNldAorQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0U9eQogQ09ORklHX0lQX1BOUD15Ci1DT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAogQ09ORklHX0lQX1BOUF9CT09UUD15Ci0jIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUE5QX1JBUlA9eQogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NUk9VVEU9eQorQ09ORklHX0lQX1BJTVNNX1YxPXkKK0NPTkZJR19JUF9QSU1TTV9WMj15CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjgzLDExICszMjYsMTEgQEAKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKLUNPTkZJR19JTkVUX0RJQUc9eQotQ09ORklHX0lORVRfVENQX0RJQUc9eQorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgpAQCAtMzExLDEwICszNTQsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjMsMjggKzM2Miw3IEBACiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTM1MywxMyArMzcxLDkgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjMgKzM4MiwyMCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15CisjIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfQ09OQ0FUPXkKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKIAogIwpAQCAtMzk4LDE1ICs0MDksMTMgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCiAjIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTQyNSwxMiArNDM0LDEzIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKICMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCiAjCitDT05GSUdfTVREX0RBVEFGTEFTSD15CisjIENPTkZJR19NVERfTTI1UDgwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CkBAIC00NDYsNTMgKzQ1Niw0MiBAQAogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfQVQ5MT15CitDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfU09GVD15CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19IVyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19OT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUwNyw3ICs1MDYsNyBAQAogIwogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKLSMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CiAjIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKQEAgLTUxOSw0MSArNTE4LDUwIEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKK0NPTkZJR19QSFlMSUI9eQogCiAjCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQorIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiAjCisjIENPTkZJR19NQVJWRUxMX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19EQVZJQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19RU0VNSV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTFhUX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19DSUNBREFfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJVEVTU0VfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNU0NfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JST0FEQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19JQ1BMVVNfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZJWEVEX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19NRElPX0JJVEJBTkcgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKK0NPTkZJR19NQUNCPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorQ09ORklHX05FVERFVl8xMDAwPXkKK0NPTkZJR19ORVRERVZfMTAwMDA9eQogCiAjCiAjIFdpcmVsZXNzIExBTgpAQCAtNTY4LDcgKzU3Niw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CkBAIC01NzcsMTAgKzU4NCw2IEBACiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTgsOSArNjAxLDggQEAKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKLSMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkJVRz15CiAKICMKICMgSW5wdXQgRGV2aWNlIERyaXZlcnMKQEAgLTYxMiwzMCArNjE0LDE3IEBACiAjIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlCT0FSRF9HUElPPXkKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKLUNPTkZJR19TRVJJTz15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19TRVJJT19MSUJQUzI9eQotIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNjU1LDQ1ICs2NDQsNTEgQEAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0FUTUVMPXkKK0NPTkZJR19TRVJJQUxfQVRNRUxfQ09OU09MRT15CisjIENPTkZJR19TRVJJQUxfQVRNRUxfVFRZQVQgaXMgbm90IHNldAogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2Ci0KLSMKLSMgSVBNSQotIwogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorQ09ORklHX0hXX1JBTkRPTT15CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKLQotIwotIyBUUE0gZGV2aWNlcwotIwogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkMgaXMgbm90IHNldAogCiAjCiAjIFNQSSBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKKyMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX01BU1RFUj15CiAKICMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycwogIworQ09ORklHX1NQSV9BVE1FTD15CisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIAogIwotIyBNaXNjIGRldmljZXMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiAjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwpAQCAtNzAxLDE5ICs2OTYsNiBAQAogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKIAogIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi0KLSMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldApAQCAtNzIzLDEyNSArNzA1LDQyIEBACiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwogIwotQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSElEIGlzIG5vdCBzZXQKIAogIwotIyBVU0Igc3VwcG9ydAorIyBVU0IgSElEIEJvb3QgUHJvdG9jb2wgZHJpdmVycwogIworIyBDT05GSUdfVVNCX0tCRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTU9VU0UgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CkBAIC04NTIsOSArNzUxLDEwIEBACiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKQEAgLTg2Niw2ICs3NjYsNyBAQAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCkBAIC04ODQsNiArNzg1LDcgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldApAQCAtODk4LDcgKzgwMCw3IEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCkBAIC05MzksNTcgKzg0MSw0OCBAQAogIwogIyBVU0IgR2FkZ2V0IFN1cHBvcnQKICMKLSMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCi0jIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHX0ZJTEVTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX1NFTEVDVEVEPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfQU1ENTUzNlVEQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9GU0xfVVNCMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX05FVDIyODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9NNjY1OTIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9HT0tVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9TM0MyNDEwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX0FUOTE9eQorQ09ORklHX1VTQl9BVDkxPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVNTVlfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVBTFNQRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRVRIPXkKK0NPTkZJR19VU0JfRVRIX1JORElTPXkKKyMgQ09ORklHX1VTQl9HQURHRVRGUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfRklMRV9TVE9SQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HX1NFUklBTCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTUlESV9HQURHRVQgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKLSMgTU1DL1NEIENhcmQgRHJpdmVycworIyBMRUQgZHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCitDT05GSUdfTEVEU19HUElPPXkKIAogIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMgTEVEIFRyaWdnZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCi0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCitDT05GSUdfTEVEU19UUklHR0VSUz15CisjIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQogQ09ORklHX1JUQ19MSUI9eQotQ09ORklHX1JUQ19DTEFTUz1tCi0KLSMKLSMgUlRDIGludGVyZmFjZXMKLSMKLUNPTkZJR19SVENfSU5URl9TWVNGUz15Ci1DT05GSUdfUlRDX0lOVEZfUFJPQz15Ci1DT05GSUdfUlRDX0lOVEZfREVWPXkKLSMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEkyQyBSVEMgZHJpdmVycwotIwotCi0jCi0jIFNQSSBSVEMgZHJpdmVycwotIwotCi0jCi0jIFBsYXRmb3JtIFJUQyBkcml2ZXJzCi0jCi0jIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9bQotCi0jCi0jIG9uLUNQVSBSVEMgZHJpdmVycwotIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPW0KKyMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC05OTcsMTcgKzg5MCwxMSBAQAogQ09ORklHX0VYVDJfRlM9eQogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0Ci1DT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKK0NPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldApAQCAtMTAxOSw3ICs5MDYsNyBAQAogQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CitDT05GSUdfRlVTRV9GUz1tCiAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwpAQCAtMTAzMSw3ICs5MTgsNyBAQAogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCiAjCiBDT05GSUdfRkFUX0ZTPXkKLUNPTkZJR19NU0RPU19GUz15CisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfVkZBVF9GUz15CiBDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3CiBDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCkBAIC0xMDQ2LDcgKzkzMyw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDEwICs5NDgsMTIgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLUNPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CkBAIC0xMDc0LDQ3ICs5NjIsNDAgQEAKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15Ci0jIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CitDT05GSUdfTkZTX1YzX0FDTD15CitDT05GSUdfTkZTX1Y0PXkKICMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQogQ09ORklHX0xPQ0tEX1Y0PXkKK0NPTkZJR19ORlNfQUNMX1NVUFBPUlQ9eQogQ09ORklHX05GU19DT01NT049eQogQ09ORklHX1NVTlJQQz15CitDT05GSUdfU1VOUlBDX0dTUz15CiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CitDT05GSUdfUlBDU0VDX0dTU19LUkI1PXkKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKICMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTExNDgsMzAgKzEwMjksMjQgQEAKICMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKLQotIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOU1RSVU1FTlRBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci1DT05GSUdfTUFHSUNfU1lTUlE9eQorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKK0NPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CitDT05GSUdfU0NIRURfREVCVUc9eQogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKQEAgLTExODEsMTkgKzEwNTYsMjMgQEAKICMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiAjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKK0NPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKKyMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15CiBDT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQotQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19FUlJPUlMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEyMDIsNTEgKzEwODEsNDggQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotCi0jCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucwotIworIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAogQ09ORklHX0NSWVBUTz15Ci1DT05GSUdfQ1JZUFRPX0FMR0FQST1tCi1DT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi1DT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorQ09ORklHX0NSWVBUT19BTEdBUEk9eQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQorQ09ORklHX0NSWVBUT19NQU5BR0VSPXkKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX01ENT15CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQ0JDPXkKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19ERVM9eQogIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEhhcmR3YXJlIGNyeXB0byBkZXZpY2VzCi0jCisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fSFcgaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKQEAgLTEyNTYsNiArMTEzMiw3IEBACiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjNfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNzAlCnJlbmFtZSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKcmVuYW1lIHRvIGFyY2gvYXJtL2NvbmZpZ3MvdXNiLWE5MjYzX2RlZmNvbmZpZwppbmRleCA2YmVhMDkwLi40OGQ0NTViIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvdXNiLWE5MjYzX2RlZmNvbmZpZwpAQCAtMSwxMyArMSwxMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIE1vbiBKdWwgIDkgMTU6MTg6MjAgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI0CisjIFR1ZSBBcHIgMTUgMTE6MTU6MTkgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQogQ09ORklHX0dFTkVSSUNfR1BJTz15CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQpAQCAtMjIsNDEgKzIyLDM4IEBACiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKLUNPTkZJR19MT0NBTFZFUlNJT049Ii1lbS14MjcwIgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgogIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAotQ09ORklHX1NXQVA9eQorIyBDT05GSUdfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19QSURfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0ZBSVJfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKLUNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCi1DT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorIyBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkUgaXMgbm90IHNldAogQ09ORklHX1NZU0NUTD15Ci1DT05GSUdfRU1CRURERUQ9eQorIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CiBDT05GSUdfS0FMTFNZTVM9eQpAQCAtNzEsNDIgKzY4LDM1IEBACiBDT05GSUdfQU5PTl9JTk9ERVM9eQogQ09ORklHX0VQT0xMPXkKIENPTkZJR19TSUdOQUxGRD15Ci1DT05GSUdfVElNRVJGRD15CiBDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIwogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwogIwogQ09ORklHX0lPU0NIRURfTk9PUD15CiBDT05GSUdfSU9TQ0hFRF9BUz15Ci1DT05GSUdfSU9TQ0hFRF9ERUFETElORT15Ci1DT05GSUdfSU9TQ0hFRF9DRlE9eQorIyBDT05GSUdfSU9TQ0hFRF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0NGUSBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9BUz15CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKQEAgLTEyMCw3ICsxMTAsNyBAQAogIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTE9eQogIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldApAQCAtMTM5LDggKzEyOSw5IEBACiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE1MCwyNSArMTQxLDU4IEBACiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgQm9vdCBvcHRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9FTV9YMjcwPXkKLUNPTkZJR19QWEEyN3g9eQorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBBdG1lbCBBVDkxIFN5c3RlbS1vbi1DaGlwCisjCisjIENPTkZJR19BUkNIX0FUOTFSTTkyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYxIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTFTQU05MjYzPXkKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTlSTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFDQVA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVg0MCBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9QTUNfVU5JVD15CisKKyMKKyMgQVQ5MVNBTTkyNjMgQm9hcmQgVHlwZQorIworIyBDT05GSUdfTUFDSF9BVDkxU0FNOTI2M0VLIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX1VTQl9BOTI2Mz15CisKKyMKKyMgQVQ5MSBCb2FyZCBPcHRpb25zCisjCisKKyMKKyMgQVQ5MSBGZWF0dXJlIFNlbGVjdGlvbnMKKyMKKyMgQ09ORklHX0FUOTFfUFJPR1JBTU1BQkxFX0NMT0NLUyBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9TTE9XX0NMT0NLPXkKK0NPTkZJR19BVDkxX1RJTUVSX0haPTEwMAorQ09ORklHX0FUOTFfRUFSTFlfREJHVT15CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMCBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMSBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMiBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMyBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUNCBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUNSBpcyBub3Qgc2V0CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQorQ09ORklHX0NQVV9BUk05MjZUPXkKIENPTkZJR19DUFVfMzJ2NT15Ci1DT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX0FCUlRfRVY1VEo9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKK0NPTkZJR19DUFVfQ09QWV9WNFdCPXkKIENPTkZJR19DUFVfVExCX1Y0V0JJPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKQEAgLTE3NiwyOCArMjAwLDI4IEBACiAjCiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwotQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19BUk1fVEhVTUIgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQ0FDSEVfUk9VTkRfUk9CSU4gaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKLQotIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PX0haIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJR0hfUkVTX1RJTUVSUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CkBAIC0yMDksOSArMjMzLDEzIEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CisjIENPTkZJR19MRURTIGlzIG5vdCBzZXQKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTIxOSw3ICsyNDcsNyBAQAogIwogQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAogQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCi1DT05GSUdfQ01ETElORT0iIgorQ09ORklHX0NNRExJTkU9Im1lbT02NE0gY29uc29sZT10dHlTMCwxMTUyMDAiCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIApAQCAtMjMzLDYgKzI2MSw3IEBACiBDT05GSUdfRlBFX05XRlBFPXkKICMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0CiAjIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CisjIENPTkZJR19WRlAgaXMgbm90IHNldAogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwpAQCAtMjQ1LDEwICsyNzQsMTIgQEAKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15CisjIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci1DT05GSUdfQVBNX0VNVUxBVElPTj1tCitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkRfVVBfUE9TU0lCTEU9eQorQ09ORklHX1NVU1BFTkQ9eQorIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjYxLDIxICsyOTIsMjUgQEAKIENPTkZJR19QQUNLRVQ9eQogIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAogQ09ORklHX1VOSVg9eQotQ09ORklHX1hGUk09eQotIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15Ci0jIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAotIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQorQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUj15CitDT05GSUdfQVNLX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX0ZJQl9UUklFIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9ST1VURV9WRVJCT1NFPXkKIENPTkZJR19JUF9QTlA9eQotQ09ORklHX0lQX1BOUF9ESENQPXkKKyMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKIENPTkZJR19JUF9QTlBfQk9PVFA9eQotIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorQ09ORklHX0lQX1BOUF9SQVJQPXkKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVJPVVRFPXkKK0NPTkZJR19JUF9QSU1TTV9WMT15CitDT05GSUdfSVBfUElNU01fVjI9eQogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4MywxMSArMzE4LDExIEBACiAjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15Ci1DT05GSUdfSU5FVF9ESUFHPXkKLUNPTkZJR19JTkVUX1RDUF9ESUFHPXkKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX1RDUF9DT05HX0NVQklDPXkKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKQEAgLTMxMSwxMCArMzQ2LDYgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwpAQCAtMzIzLDI4ICszNTQsNyBAQAogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLUNPTkZJR19CVD1tCi1DT05GSUdfQlRfTDJDQVA9bQotQ09ORklHX0JUX1NDTz1tCi1DT05GSUdfQlRfUkZDT01NPW0KLSMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAotQ09ORklHX0JUX0JORVA9bQotIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAotIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAotQ09ORklHX0JUX0hJRFA9bQotCi0jCi0jIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycwotIwotQ09ORklHX0JUX0hDSVVTQj1tCi0jIENPTkZJR19CVF9IQ0lVU0JfU0NPIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lVQVJUPW0KLSMgQ09ORklHX0JUX0hDSVVBUlRfSDQgaXMgbm90IHNldAotIyBDT05GSUdfQlRfSENJVUFSVF9CQ1NQIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lCQ00yMDNYPW0KLUNPTkZJR19CVF9IQ0lCUEExMFg9bQotQ09ORklHX0JUX0hDSUJGVVNCPW0KLSMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCkBAIC0zNTMsMTMgKzM2Myw5IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzY4LDIzICszNzQsMjAgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKLUNPTkZJR19GV19MT0FERVI9eQorIyBDT05GSUdfRldfTE9BREVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX0NPTkNBVD15CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ01ETElORV9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CiAKICMKQEAgLTM5OCwxNSArNDAxLDEzIEBACiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwogIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC00MjUsMTIgKzQyNiwxMyBAQAogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCiAjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycwogIworQ09ORklHX01URF9EQVRBRkxBU0g9eQorIyBDT05GSUdfTVREX00yNVA4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldApAQCAtNDQ2LDUzICs0NDgsNDIgQEAKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX0FUOTE9eQorQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX1NPRlQ9eQorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfSFcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfTk9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9QTEFURk9STT15CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwogIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKICMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAotCi0jCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAotIwogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCi0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCitDT05GSUdfQkxLX0RFVj15CiAjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfTE9PUD15CiAjIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREUgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJPXkKK0NPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MDcsNyArNDk4LDcgQEAKICMKICMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCiAjCi0jIENPTkZJR19TQ1NJX01VTFRJX0xVTiBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9NVUxUSV9MVU49eQogIyBDT05GSUdfU0NTSV9DT05TVEFOVFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBpcyBub3Qgc2V0CkBAIC01MTksNDEgKzUxMCw1MCBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIwogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKLSMKIENPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CitDT05GSUdfUEhZTElCPXkKIAogIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKKyMgTUlJIFBIWSBkZXZpY2UgZHJpdmVycwogIworIyBDT05GSUdfTUFSVkVMTF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfREFWSUNPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfUVNFTUlfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xYVF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQ0lDQURBX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVRFU1NFX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTVNDX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19CUk9BRENPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfSUNQTFVTX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19GSVhFRF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTURJT19CSVRCQU5HIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CitDT05GSUdfTUFDQj15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAotIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAotIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZfMTAwMD15CitDT05GSUdfTkVUREVWXzEwMDAwPXkKIAogIwogIyBXaXJlbGVzcyBMQU4KQEAgLTU2OCw3ICs1NjgsNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldApAQCAtNTc3LDEwICs1NzYsNiBAQAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNTk4LDkgKzU5Myw4IEBACiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15Ci0jIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRVZCVUc9eQogCiAjCiAjIElucHV0IERldmljZSBEcml2ZXJzCkBAIC02MTIsMzAgKzYwNiwxNyBAQAogIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKLUNPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQotIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfS0VZQk9BUkRfR1BJTz15CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCi1DT05GSUdfU0VSSU89eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fTElCUFMyPXkKLSMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKICMKQEAgLTY1NSw0NSArNjM2LDUxIEBACiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9BVE1FTD15CitDT05GSUdfU0VSSUFMX0FUTUVMX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMX0FUTUVMX1RUWUFUIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KK0NPTkZJR19IV19SQU5ET009eQogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgVFBNIGRldmljZXMKLSMKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKIAogIwogIyBTUEkgc3VwcG9ydAogIwotIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAorQ09ORklHX1NQST15CisjIENPTkZJR19TUElfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NQSV9NQVNURVI9eQogCiAjCi0jIERhbGxhcydzIDEtd2lyZSBidXMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKICMKK0NPTkZJR19TUElfQVRNRUw9eQorIyBDT05GSUdfU1BJX0JJVEJBTkcgaXMgbm90IHNldAorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiAKICMKLSMgTWlzYyBkZXZpY2VzCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQogIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKQEAgLTcwMSwxOSArNjg4LDYgQEAKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CiAKICMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZHJpdmVycwotIwotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotCi0jCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKQEAgLTcyMywxMjUgKzY5Nyw0MiBAQAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUJYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KLQotIwotIyBISUQgRGV2aWNlcwotIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKICMKLUNPTkZJR19VU0JfSElEPXkKLSMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAotIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0hJRCBpcyBub3Qgc2V0CiAKICMKLSMgVVNCIHN1cHBvcnQKKyMgVVNCIEhJRCBCb290IFByb3RvY29sIGRyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9LQkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01PVVNFIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQogIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldApAQCAtODUyLDkgKzc0MywxMCBAQAogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCiBDT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAogCiAjCkBAIC04NjYsNiArNzU4LDcgQEAKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAogCiAjCiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwpAQCAtODg0LDYgKzc3Nyw3IEBACiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKQEAgLTg5OCw3ICs3OTIsNyBAQAogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX01PTiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX01PTj15CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwpAQCAtOTM5LDU3ICs4MzMsNDggQEAKICMKICMgVVNCIEdhZGdldCBTdXBwb3J0CiAjCi0jIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVR19GSUxFUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9TRUxFQ1RFRD15CisjIENPTkZJR19VU0JfR0FER0VUX0FNRDU1MzZVREMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRlNMX1VTQjIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ORVQyMjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTTY2NTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfR09LVSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUzNDMjQxMCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9BVDkxPXkKK0NPTkZJR19VU0JfQVQ5MT15CisjIENPTkZJR19VU0JfR0FER0VUX0RVTU1ZX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RVQUxTUEVFRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkVSTyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0VUSD15CitDT05GSUdfVVNCX0VUSF9STkRJUz15CisjIENPTkZJR19VU0JfR0FER0VURlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR19TRVJJQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01JRElfR0FER0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCi0jIE1NQy9TRCBDYXJkIERyaXZlcnMKKyMgTEVEIGRyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQorQ09ORklHX0xFRFNfR1BJTz15CiAKICMKLSMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCisjIExFRCBUcmlnZ2VycwogIwotQ09ORklHX01NQ19QWEE9bQotCi0jCi0jIFJlYWwgVGltZSBDbG9jawotIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKIENPTkZJR19SVENfTElCPXkKLUNPTkZJR19SVENfQ0xBU1M9bQotCi0jCi0jIFJUQyBpbnRlcmZhY2VzCi0jCi1DT05GSUdfUlRDX0lOVEZfU1lTRlM9eQotQ09ORklHX1JUQ19JTlRGX1BST0M9eQotQ09ORklHX1JUQ19JTlRGX0RFVj15Ci0jIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBJMkMgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBTUEkgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwotIwotIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KLQotIwotIyBvbi1DUFUgUlRDIGRyaXZlcnMKLSMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD1tCisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtOTk3LDE3ICs4ODIsMTEgQEAKIENPTkZJR19FWFQyX0ZTPXkKICMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAotQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAotQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CitDT05GSUdfRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKQEAgLTEwMTksNyArODk4LDcgQEAKIENPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorQ09ORklHX0ZVU0VfRlM9bQogCiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKQEAgLTEwMzEsNyArOTEwLDcgQEAKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwogIwogQ09ORklHX0ZBVF9GUz15Ci1DT05GSUdfTVNET1NfRlM9eQorIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAogQ09ORklHX1ZGQVRfRlM9eQogQ09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNwogQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1OS0xIgpAQCAtMTA0Niw3ICs5MjUsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA2MiwxMCArOTQwLDEyIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15Ci1DT05GSUdfSkZGUzJfU1VNTUFSWT15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldApAQCAtMTA3NCw0NyArOTU0LDQwIEBACiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorQ09ORklHX05GU19WM19BQ0w9eQorQ09ORklHX05GU19WND15CiAjIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKIENPTkZJR19MT0NLRF9WND15CitDT05GSUdfTkZTX0FDTF9TVVBQT1JUPXkKIENPTkZJR19ORlNfQ09NTU9OPXkKIENPTkZJR19TVU5SUEM9eQorQ09ORklHX1NVTlJQQ19HU1M9eQogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorQ09ORklHX1JQQ1NFQ19HU1NfS1JCNT15CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CiAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCiAjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMTQ4LDMwICsxMDIxLDI0IEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKKyMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0Ci0KLSMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlNUUlVNRU5UQVRJT04gaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CkBAIC0xMTgxLDE5ICsxMDQ4LDIzIEBACiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15CitDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CisjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQogQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKLUNPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfRVJST1JTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMjAyLDUxICsxMDczLDQ4IEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLQotIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKLSMKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQotQ09ORklHX0NSWVBUT19BTEdBUEk9bQotQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KK0NPTkZJR19DUllQVE9fQUxHQVBJPXkKK0NPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKK0NPTkZJR19DUllQVE9fTUFOQUdFUj15CiAjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9eQogIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0NCQz15CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fREVTPXkKICMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKLQotIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcwotIworIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0hXIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCkBAIC0xMjU2LDYgKzExMjQsNyBAQAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy92ZXJzYXRpbGVfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy92ZXJzYXRpbGVfZGVmY29uZmlnCmluZGV4IDQ4ZGNhNjkuLjgzNTVmODggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvdmVyc2F0aWxlX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3ZlcnNhdGlsZV9kZWZjb25maWcKQEAgLTE1MSw3ICsxNTEsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MveG1feDI3MF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2NiUKcmVuYW1lIGZyb20gYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZwpyZW5hbWUgdG8gYXJjaC9hcm0vY29uZmlncy94bV94MjcwX2RlZmNvbmZpZwppbmRleCA1Y2FiMDgzLi5hYTQwZDkxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MveG1feDI3MF9kZWZjb25maWcKQEAgLTEsMTMgKzEsMTMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBXZWQgSnVsIDE4IDE0OjExOjQ4IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNQorIyBTdW4gTWF5IDExIDE1OjEyOjUyIDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQEAgLTIxLDIxICsyMSwxOCBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKIENPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CiBDT05GSUdfU1dBUD15CkBAIC00NCwxMyArNDEsMjAgQEAKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKIENPTkZJR19JS0NPTkZJRz15CiBDT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNworQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKKyMgQ09ORklHX1JUX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0lOSVRSRD15CiBDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKQEAgLTU4LDYgKzYyLDcgQEAKIENPTkZJR19FTUJFRERFRD15CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQogIyBDT05GSUdfS0FMTFNZTVNfQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldApAQCAtNjUsMjQgKzcwLDM0IEBACiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKKyMgQ09ORklHX0NPTVBBVF9CUksgaXMgbm90IHNldAogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKLSMgQ09ORklHX0VQT0xMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NJR05BTEZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJTUVSRkQgaXMgbm90IHNldAotIyBDT05GSUdfRVZFTlRGRCBpcyBub3Qgc2V0CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15Ci1DT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQotQ09ORklHX1NMQUI9eQotIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TTFVCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMQUIgaXMgbm90IHNldAorQ09ORklHX1NMVUI9eQogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9DX1BBR0VfTU9OSVRPUiBpcyBub3Qgc2V0CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKIENPTkZJR19NT0RVTEVTPXkKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKQEAgLTk5LDExICsxMTQsMTIgQEAKIENPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15Ci1DT05GSUdfREVGQVVMVF9BUz15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAotIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMzEsNiArMTQ3LDggQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9QWEE9eQogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldApAQCAtMTQwLDE5ICsxNTgsNDEgQEAKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogQ09ORklHX0RNQUJPVU5DRT15CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBJbnRlbCBQWEEyeHgvUFhBM3h4IEltcGxlbWVudGF0aW9ucwogIworCisjCisjIFNlbGVjdCB0YXJnZXQgYm9hcmRzCisjCisjIENPTkZJR19BUkNIX0dVTVNUSVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAogIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKICMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUFhBX0VTRVJJRVMgaXMgbm90IHNldAogIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9FTV9YMjcwPXkKKyMgQ09ORklHX01BQ0hfQ09MSUJSSSBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX1pZTE9OSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfTElUVExFVE9OIGlzIG5vdCBzZXQKIENPTkZJR19NQUNIX0FSTUNPUkU9eQorIyBDT05GSUdfTUFDSF9NQUdJQ0lBTiBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX1BDTTAyNyBpcyBub3Qgc2V0CiBDT05GSUdfUFhBMjd4PXkKKyMgQ09ORklHX1BYQV9QV00gaXMgbm90IHNldAorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKIAogIwogIyBQcm9jZXNzb3IgVHlwZQpAQCAtMTYxLDYgKzIwMSw3IEBACiBDT05GSUdfQ1BVX1hTQ0FMRT15CiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKIENPTkZJR19DUFVfVExCX1Y0V0JJPXkKIENPTkZJR19DUFVfQ1AxNT15CkBAIC0xODIsMjEgKzIyMyw0MCBAQAogQ09ORklHX1BDSV9TWVNDQUxMPXkKIENPTkZJR19QQ0lfSE9TVF9JVEU4MTUyPXkKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0lfTEVHQUNZPXkKICMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfUENDQVJEPW0KKyMgQ09ORklHX1BDTUNJQV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfUENNQ0lBPW0KK0NPTkZJR19QQ01DSUFfTE9BRF9DSVM9eQorQ09ORklHX1BDTUNJQV9JT0NUTD15CitDT05GSUdfQ0FSREJVUz15CiAKICMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAorIyBQQy1jYXJkIGJyaWRnZXMKICMKLSMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CitDT05GSUdfWUVOVEE9bQorIyBDT05GSUdfWUVOVEFfTzIgaXMgbm90IHNldAorIyBDT05GSUdfWUVOVEFfUklDT0ggaXMgbm90IHNldAorQ09ORklHX1lFTlRBX1RJPXkKKyMgQ09ORklHX1lFTlRBX0VORV9UVU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX1lFTlRBX1RPU0hJQkEgaXMgbm90IHNldAorIyBDT05GSUdfUEQ2NzI5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0k4MjA5MiBpcyBub3Qgc2V0CitDT05GSUdfUENNQ0lBX1BYQTJYWD1tCitDT05GSUdfUENDQVJEX05PTlNUQVRJQz1tCiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAorQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorIyBDT05GSUdfSElHSF9SRVNfVElNRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCi0jIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CitDT05GSUdfQUVBQkk9eQorQ09ORklHX09BQklfQ09NUEFUPXkKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpAQCAtMjA1LDYgKzI2NSw4IEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKQEAgLTIxNywxMSArMjc5LDE2IEBACiAjCiBDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCiBDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKLUNPTkZJR19DTURMSU5FPSIiCitDT05GSUdfQ01ETElORT0icm9vdD0xZjAzIG1lbT0zMk0iCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIAogIworIyBDUFUgRnJlcXVlbmN5IHNjYWxpbmcKKyMKKyMgQ09ORklHX0NQVV9GUkVRIGlzIG5vdCBzZXQKKworIwogIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KICMKIApAQCAtMjM4LDE2ICszMDUsMTcgQEAKIENPTkZJR19CSU5GTVRfRUxGPXkKICMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKICMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSVEhVUiBpcyBub3Qgc2V0CiAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkQ9eQorQ09ORklHX1NVU1BFTkRfRlJFRVpFUj15CitDT05GSUdfQVBNX0VNVUxBVElPTj1tCitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNTgsMTUgKzMyNiwxNiBAQAogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKIENPTkZJR19QQUNLRVQ9eQotIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVF9NTUFQPXkKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKICMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15CkBAIC0yNzUsNiArMzQ0LDcgQEAKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4NSwxNSArMzU1LDEzIEBACiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQotQ09ORklHX0lORVRfRElBRz15Ci1DT05GSUdfSU5FVF9UQ1BfRElBRz15CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX1RDUF9DT05HX0NVQklDPXkKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMxMCwxMCArMzc4LDYgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwpAQCAtMzIxLDggKzM4NSwzMyBAQAogIwogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVCBpcyBub3Qgc2V0CitDT05GSUdfQlQ9bQorQ09ORklHX0JUX0wyQ0FQPW0KK0NPTkZJR19CVF9TQ089bQorQ09ORklHX0JUX1JGQ09NTT1tCisjIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKK0NPTkZJR19CVF9CTkVQPW0KKyMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19CVF9ISURQPW0KKworIworIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKKyMKK0NPTkZJR19CVF9IQ0lVU0I9bQorQ09ORklHX0JUX0hDSVVTQl9TQ089eQorIyBDT05GSUdfQlRfSENJQlRTRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSVVBUlQgaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJQkNNMjAzWCBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lCUEExMFggaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJQkZVU0IgaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJRFRMMSBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lCVDNDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSUJMVUVDQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSUJUVUFSVCBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwpAQCAtMzMxLDEyICs0MjAsNyBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogQ09ORklHX1dJUkVMRVNTX0VYVD15CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCkBAIC0zNDcsMzggKzQzMSw0NyBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15CitDT05GSUdfRldfTE9BREVSPW0KICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKLUNPTkZJR19NVEQ9bQorQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKICMKLUNPTkZJR19NVERfQ0hBUj1tCi1DT05GSUdfTVREX0JMS0RFVlM9bQotQ09ORklHX01URF9CTE9DSz1tCi0jIENPTkZJR19NVERfQkxPQ0tfUk8gaXMgbm90IHNldAorQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKICMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCi0jIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJPXkKK0NPTkZJR19NVERfSkVERUNQUk9CRT15CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQorIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9HRU9NRVRSWSBpcyBub3Qgc2V0CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC0zODksMTUgKzQ4MiwyOSBAQAogQ09ORklHX01URF9DRklfSTI9eQogIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQorQ09ORklHX01URF9DRklfQU1EU1REPXkKK0NPTkZJR19NVERfQ0ZJX1NUQUE9eQorQ09ORklHX01URF9DRklfVVRJTD15CiAjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAogIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfWElQIGlzIG5vdCBzZXQKIAogIwogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDQwMDAwMAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0yCitDT05GSUdfTVREX1BYQTJYWD15CisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lNUEE3IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU5URUxfVlJfTk9SIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwpAQCAtNDE1LDE4ICs1MjIsMTkgQEAKICMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkQ9bQorQ09ORklHX01URF9OQU5EPXkKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0lEUz1tCitDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9DQUZFIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9DTV9YMjcwPW0KK0NPTkZJR19NVERfTkFORF9DTV9YMjcwPXkKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCkBAIC00NDcsMzYgKzU1NSwxMyBAQAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9SQU09eQogQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CitDT05GSUdfQkxLX0RFVl9SQU1fU0laRT00MDk2CisjIENPTkZJR19CTEtfREVWX1hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFPW0KLUNPTkZJR19JREVfTUFYX0hXSUZTPTQKLUNPTkZJR19CTEtfREVWX0lERT1tCi0KLSMKLSMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCi0jCi0jIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURJU0s9bQotIyBDT05GSUdfSURFRElTS19NVUxUSV9NT0RFIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERUNEPW0KLSMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERUZMT1BQWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAotIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAotQ09ORklHX0lERV9QUk9DX0ZTPXkKLQotIwotIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCi0jCi0jIENPTkZJR19JREVfR0VORVJJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVQQ0lfUENJQlVTX09SREVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVETUEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNDg2LDcgKzU3MSw3IEBACiBDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTEzLDEyICs1OTgsOSBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfM1dfWFhYWF9SQUlEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0CkBAIC01MjksNiArNjExLDcgQEAKICMgQ09ORklHX1NDU0lfQUlDNzlYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0FJQzk0WFggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9EUFRfSTJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfQURWQU5TWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9BUkNNU1IgaXMgbm90IHNldAogIyBDT05GSUdfTUVHQVJBSURfTkVXR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX01FR0FSQUlEX0xFR0FDWSBpcyBub3Qgc2V0CkBAIC01MzksOCArNjIyLDEwIEBACiAjIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSUExMDAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9NVlNBUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0lQUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMT0dJQ18xMjgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxBX0lTQ1NJIGlzIG5vdCBzZXQKQEAgLTU1MCwxNiArNjM1LDY5IEBACiAjIENPTkZJR19TQ1NJX05TUDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TUlAgaXMgbm90IHNldAotIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUxfUENNQ0lBIGlzIG5vdCBzZXQKK0NPTkZJR19BVEE9bQorIyBDT05GSUdfQVRBX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUE1QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfQUhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKKyMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9QSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfTVYgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9OViBpcyBub3Qgc2V0CisjIENPTkZJR19QRENfQURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NYNCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9JTklDMTYyWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FNRCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQVRJSVhQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ01ENjQwX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUyMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUzMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NZUFJFU1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9FRkFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9HRU5FUklDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUM1gyTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0pNSUNST04gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9UUklGTEVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTUFSVkVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT0xEUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OSU5KQTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CitDT05GSUdfUEFUQV9QQ01DSUE9bQorIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDMTIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NFUlZFUldPUktTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUERDMjAyN1ggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSUw2ODAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUExBVEZPUk0gaXMgbm90IHNldAogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKICMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU0FTIGlzIG5vdCBzZXQKIAogIwogIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0CkBAIC01NzQsNiArNzEyLDcgQEAKICMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CkBAIC01ODUsNjQgKzcyNCw2NSBAQAogIyBDT05GSUdfTkVUX1ZFTkRPUl8zQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0CiBDT05GSUdfRE05MDAwPXkKK0NPTkZJR19ETTkwMDBfREVCVUdMRVZFTD0xCiAjIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9UVUxJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAogQ09ORklHX05FVF9QQ0k9eQogIyBDT05GSUdfUENORVQzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19BTUQ4MTExX0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BREFQVEVDX1NUQVJGSVJFIGlzIG5vdCBzZXQKICMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19GT1JDRURFVEggaXMgbm90IHNldAotIyBDT05GSUdfREdSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRVBSTzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQVRTRU1JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FMktfUENJIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlDUCBpcyBub3Qgc2V0Ci1DT05GSUdfODEzOVRPTz1tCitDT05GSUdfODEzOVRPTz15CiAjIENPTkZJR184MTM5VE9PX1BJTyBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5VE9PX1RVTkVfVFdJU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAogIyBDT05GSUdfODEzOV9PTERfUlhfUkVTRVQgaXMgbm90IHNldAorIyBDT05GSUdfUjYwNDAgaXMgbm90IHNldAogIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAogIyBDT05GSUdfU1VOREFOQ0UgaXMgbm90IHNldAogIyBDT05GSUdfVExBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19WSUFfUkhJTkUgaXMgbm90IHNldAogIyBDT05GSUdfU0M5MjAzMSBpcyBub3Qgc2V0Ci1DT05GSUdfTkVUREVWXzEwMDA9eQotIyBDT05GSUdfQUNFTklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RMMksgaXMgbm90IHNldAotIyBDT05GSUdfRTEwMDAgaXMgbm90IHNldAotIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SODE2OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSVMxOTAgaXMgbm90IHNldAotIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TS1kyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19USUdPTjMgaXMgbm90IHNldAotIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUTDEgaXMgbm90IHNldAotQ09ORklHX05FVERFVl8xMDAwMD15Ci0jIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAotIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TMklPIGlzIG5vdCBzZXQKLSMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAotIyBDT05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19UUiBpcyBub3Qgc2V0CiAKICMKICMgV2lyZWxlc3MgTEFOCiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorQ09ORklHX1dMQU5fODAyMTE9eQorIyBDT05GSUdfUENNQ0lBX1JBWUNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVzIxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjIwMCBpcyBub3Qgc2V0CitDT05GSUdfTElCRVJUQVM9bQorIyBDT05GSUdfTElCRVJUQVNfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkVSVEFTX0NTIGlzIG5vdCBzZXQKK0NPTkZJR19MSUJFUlRBU19TRElPPW0KKyMgQ09ORklHX0xJQkVSVEFTX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFUk1FUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE1FTCBpcyBub3Qgc2V0CisjIENPTkZJR19BSVJPX0NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9XTDM1MDEgaXMgbm90IHNldAorIyBDT05GSUdfUFJJU001NCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkQxMjAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ORVRfUk5ESVNfV0xBTiBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19IT1NUQVAgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC02NTEsMTUgKzc5MSwyNCBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9QQ01DSUEgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZEREkgaXMgbm90IHNldAogIyBDT05GSUdfSElQUEkgaXMgbm90IHNldAotIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKK0NPTkZJR19QUFA9bQorQ09ORklHX1BQUF9NVUxUSUxJTks9eQorQ09ORklHX1BQUF9GSUxURVI9eQorQ09ORklHX1BQUF9BU1lOQz1tCisjIENPTkZJR19QUFBfU1lOQ19UVFkgaXMgbm90IHNldAorQ09ORklHX1BQUF9ERUZMQVRFPW0KK0NPTkZJR19QUFBfQlNEQ09NUD1tCisjIENPTkZJR19QUFBfTVBQRSBpcyBub3Qgc2V0CisjIENPTkZJR19QUFBPRSBpcyBub3Qgc2V0CisjIENPTkZJR19QUFBPTDJUUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKK0NPTkZJR19TTEhDPW0KICMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldApAQCAtNjc1LDIwICs4MjQsMzIgQEAKICMKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwotIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX01PVVNFREVWPXkKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15CitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAorQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BUE1QT1dFUiBpcyBub3Qgc2V0CiAKICMKICMgSW5wdXQgRGV2aWNlIERyaXZlcnMKICMKLSMgQ09ORklHX0lOUFVUX0tFWUJPQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9LRVlCT0FSRD15CitDT05GSUdfS0VZQk9BUkRfQVRLQkQ9eQorIyBDT05GSUdfS0VZQk9BUkRfU1VOS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWUJPQVJEX0xLS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CisjIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0CitDT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KKyMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldApAQCAtNjk3LDEzICs4NTgsMjIgQEAKICMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAogQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDA9bQorQ09ORklHX1RPVUNIU0NSRUVOX1dNOTdYWD1tCisjIENPTkZJR19UT1VDSFNDUkVFTl9XTTk3MDUgaXMgbm90IHNldAorQ09ORklHX1RPVUNIU0NSRUVOX1dNOTcxMj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9XTTk3MTMgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fV005N1hYX01BSU5TVE9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwotIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAorQ09ORklHX1NFUklPPXkKKyMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfU0VSSU9fUENJUFMyIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJT19MSUJQUzI9eQorIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNzEzLDcgKzg4Myw5IEBACiBDT05GSUdfVlRfQ09OU09MRT15CiBDT05GSUdfSFdfQ09OU09MRT15CiAjIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQogIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKQEAgLTczMCw4MyArOTAyLDE0MSBAQAogIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgorQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MTYKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19EUk0gaXMgbm90IHNldAorCisjCisjIFBDTUNJQSBjaGFyYWN0ZXIgZGV2aWNlcworIworIyBDT05GSUdfU1lOQ0xJTktfQ1MgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBUkRNQU5fNDA0MCBpcyBub3Qgc2V0CisjIENPTkZJR19JUFdJUkVMRVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiBDT05GSUdfREVWUE9SVD15Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CitDT05GSUdfSTJDX0NIQVJERVY9bQogCiAjCi0jIFNQSSBzdXBwb3J0CisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1NjMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1WDMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDc1NiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1EODExMSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfSTgwMSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfSTgxMCBpcyBub3Qgc2V0CitDT05GSUdfSTJDX1BYQT15CisjIENPTkZJR19JMkNfUFhBX1NMQVZFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QUk9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RQUzY1MDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9HUElPX0xJQj15CisKKyMKKyMgR1BJTyBTdXBwb3J0CisjCisjIENPTkZJR19ERUJVR19HUElPIGlzIG5vdCBzZXQKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19HUElPX1BDQTk1M1ggaXMgbm90IHNldAorIyBDT05GSUdfR1BJT19QQ0Y4NTdYIGlzIG5vdCBzZXQKKworIworIyBTUEkgR1BJTyBleHBhbmRlcnM6CisjCiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAotQ09ORklHX01JU0NfREVWSUNFUz15Ci0jIENPTkZJR19QSEFOVE9NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLUNPTkZJR19ORVdfTEVEUz15Ci1DT05GSUdfTEVEU19DTEFTUz15Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLUNPTkZJR19MRURTX0NNX1gyNzA9eQotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotQ09ORklHX0xFRFNfVFJJR0dFUlM9eQotIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9JREVfRElTSyBpcyBub3Qgc2V0Ci1DT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX0VHUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAotQ09ORklHX0RBQj15Ci0jIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIwotIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKIENPTkZJR19GQj15CiAjIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0CiBDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKIENPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQogQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQorIyBDT05GSUdfRkJfQ0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJQU4gaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAogQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKICMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldApAQCAtODQyLDkgKzEwNzIsMTcgQEAKICMgQ09ORklHX0ZCX0FSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9QTTMgaXMgbm90IHNldAogQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9QWEFfU01BUlRQQU5FTCBpcyBub3Qgc2V0CitDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlM9eQogQ09ORklHX0ZCX01CWD1tCisjIENPTkZJR19GQl9BTTIwMEVQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKQEAgLTkwNCwxMCArMTE0MiwxMiBAQAogIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQVU4ODIwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9BVTg4MzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FXMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQVpUMzMyOCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90IHNldAogIyBDT05GSUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQ01JUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9PWFlHRU4gaXMgbm90IHNldAogIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9EQVJMQTIwIGlzIG5vdCBzZXQKQEAgLTkzMiw2ICsxMTcyLDcgQEAKICMgQ09ORklHX1NORF9IREFfSU5URUwgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0hEU1AgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ISUZJRVIgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0lDRTE3MTIgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0lDRTE3MjQgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0lOVEVMOFgwIGlzIG5vdCBzZXQKQEAgLTk0OSw2ICsxMTkwLDcgQEAKICMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9WSUE4MlhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJUVU9TTyBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfVlgyMjIgaXMgbm90IHNldAogIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQUM5N19QT1dFUl9TQVZFIGlzIG5vdCBzZXQKQEAgLTk2NiwxOCArMTIwOCwzMyBAQAogIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0CiAKICMKKyMgUENNQ0lBIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9WWFBPQ0tFVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUERBVURJT0NGIGlzIG5vdCBzZXQKKworIwogIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0CiAjCiAjIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKIAogIworIyBBTFNBIFNvQyBhdWRpbyBmb3IgRnJlZXNjYWxlIFNPQ3MKKyMKKworIworIyBTb0MgQXVkaW8gZm9yIHRoZSBUZXhhcyBJbnN0cnVtZW50cyBPTUFQCisjCisKKyMKICMgT3BlbiBTb3VuZCBTeXN0ZW0KICMKICMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKIENPTkZJR19BQzk3X0JVUz1tCiBDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15Ci0jIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0hJRF9ERUJVRz15CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCkBAIC05OTIsNiArMTI0OSw3IEBACiBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0k9eQogQ09ORklHX1VTQj15CiAjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCkBAIC0xMDAwLDggKzEyNTgsOSBAQAogIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX1dISVRFTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX0JMQUNLTElTVF9IVUIgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwpAQCAtMTAzMywxMyArMTI5MiwxNiBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA1MiwxMCArMTMxNCw2IEBACiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA4MCwxNCArMTMzOCw2IEBACiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKIENPTkZJR19NTUM9bQogIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKQEAgLTEwOTgsNiArMTM0OCw3IEBACiAjCiBDT05GSUdfTU1DX0JMT0NLPW0KIENPTkZJR19NTUNfQkxPQ0tfQk9VTkNFPXkKKyMgQ09ORklHX1NESU9fVUFSVCBpcyBub3Qgc2V0CiAKICMKICMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCkBAIC0xMTA1LDEwICsxMzU2LDIyIEBACiBDT05GSUdfTU1DX1BYQT1tCiAjIENPTkZJR19NTUNfU0RIQ0kgaXMgbm90IHNldAogIyBDT05GSUdfTU1DX1RJRk1fU0QgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgTEVEIGRyaXZlcnMKICMKKyMgQ09ORklHX0xFRFNfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19DTV9YMjcwPXkKKworIworIyBMRUQgVHJpZ2dlcnMKKyMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CisjIENPTkZJR19MRURTX1RSSUdHRVJfREVGQVVMVF9PTiBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15CiBDT05GSUdfUlRDX0NMQVNTPXkKIENPTkZJR19SVENfSENUT1NZUz15CkBAIC0xMTI1LDExICsxMzg4LDMyIEBACiAjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCisjIEkyQyBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisKKyMKICMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKIENPTkZJR19SVENfRFJWX1YzMDIwPXkKQEAgLTExMzgsMTkgKzE0MjIsNyBAQAogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKIENPTkZJR19SVENfRFJWX1NBMTEwMD15Ci0KLSMKLSMgRE1BIEVuZ2luZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKLQotIwotIyBETUEgQ2xpZW50cwotIwotCi0jCi0jIERNQSBEZXZpY2VzCi0jCisjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtMTE2NCwyMCArMTQzNiwxNiBAQAogIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTExOTEsOSArMTQ1OSw5IEBACiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKICMKLUNPTkZJR19GQVRfRlM9eQotQ09ORklHX01TRE9TX0ZTPXkKLUNPTkZJR19WRkFUX0ZTPXkKK0NPTkZJR19GQVRfRlM9bQorIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAorQ09ORklHX1ZGQVRfRlM9bQogQ09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNwogQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1OS0xIgogIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CkBAIC0xMjA3LDcgKzE0NzUsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTIyMCwyMiArMTQ4NywzMCBAQAogIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0pGRlMyX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9SVElNRT15CisjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKQEAgLTEyNDUsOSArMTUyMCwxMyBAQAogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CitDT05GSUdfQ0lGUz1tCisjIENPTkZJR19DSUZTX1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlNfV0VBS19QV19IQVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGU19ERUJVRzIgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGU19FWFBFUklNRU5UQUwgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKQEAgLTEyNTUsMTUgKzE1MzQsMjcgQEAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCi0jIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CisjIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfT1NGX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BTUlHQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ19QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKLUNPTkZJR19OTFM9eQorIyBDT05GSUdfQlNEX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9TVUJQQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NHSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TVU5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tBUk1BX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19FRklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX05MUz1tCiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKLUNPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKK0NPTkZJR19OTFNfQ09ERVBBR0VfNDM3PW0KICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKQEAgLTEyODcsNyArMTU3OCw3IEBACiAjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAotQ09ORklHX05MU19JU084ODU5XzE9eQorQ09ORklHX05MU19JU084ODU5XzE9bQogIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldApAQCAtMTMwMCw1MyArMTU5MSw1MiBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKK0NPTkZJR19OTFNfVVRGOD1tCiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKK0NPTkZJR19GUkFNRV9XQVJOPTAKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NIRURfREVCVUc9eQorIyBDT05GSUdfU0NIRURfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQorIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQogQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTM1NSw1NSArMTY0NSw5NiBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCisjIENPTkZJR19DUllQVE9fTUFOQUdFUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0NCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCi0jIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19IVz15CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19IVyBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQotIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfQ0NJVFQ9bQogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CiAjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQogQ09ORklHX0hBU19JT1BPUlQ9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL01ha2VmaWxlIGIvYXJjaC9hcm0va2VybmVsL01ha2VmaWxlCmluZGV4IGFkNDU1ZmYuLmViOTA5MmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9rZXJuZWwvTWFrZWZpbGUKQEAgLTQsNiArNCwxMCBAQAogCiBBRkxBR1NfaGVhZC5vIDo9IC1EVEVYVF9PRkZTRVQ9JChURVhUX09GRlNFVCkKIAoraWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitDRkxBR1NfUkVNT1ZFX2Z0cmFjZS5vID0gLXBnCitlbmRpZgorCiAjIE9iamVjdCBmaWxlIGxpc3RzLgogCiBvYmoteQkJOj0gY29tcGF0Lm8gZW50cnktYXJtdi5vIGVudHJ5LWNvbW1vbi5vIGlycS5vIFwKQEAgLTE4LDYgKzIyLDcgQEAKIG9iai0kKENPTkZJR19JU0FfRE1BKQkJKz0gZG1hLWlzYS5vCiBvYmotJChDT05GSUdfUENJKQkJKz0gYmlvczMyLm8gaXNhLm8KIG9iai0kKENPTkZJR19TTVApCQkrPSBzbXAubworb2JqLSQoQ09ORklHX0RZTkFNSUNfRlRSQUNFKQkrPSBmdHJhY2Uubwogb2JqLSQoQ09ORklHX0tFWEVDKQkJKz0gbWFjaGluZV9rZXhlYy5vIHJlbG9jYXRlX2tlcm5lbC5vCiBvYmotJChDT05GSUdfS1BST0JFUykJCSs9IGtwcm9iZXMubyBrcHJvYmVzLWRlY29kZS5vCiBvYmotJChDT05GSUdfQVRBR1NfUFJPQykJKz0gYXRhZ3MubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2FybWtzeW1zLmMgYi9hcmNoL2FybS9rZXJuZWwvYXJta3N5bXMuYwppbmRleCA2ODhiN2IxLi5jYzdiMjQ2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvYXJta3N5bXMuYworKysgYi9hcmNoL2FybS9rZXJuZWwvYXJta3N5bXMuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KIAogLyoKICAqIGxpYmdjYyBmdW5jdGlvbnMgLSBmdW5jdGlvbnMgdGhhdCBhcmUgdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZQpAQCAtMTgxLDMgKzE4Miw3IEBACiAjZW5kaWYKIAogRVhQT1JUX1NZTUJPTChjb3B5X3BhZ2UpOworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorRVhQT1JUX1NZTUJPTChtY291bnQpOworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvYXRhZ3MuYyBiL2FyY2gvYXJtL2tlcm5lbC9hdGFncy5jCmluZGV4IDY0YzQyMDguLjQyYTFhMTQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9hdGFncy5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9hdGFncy5jCkBAIC0xLDUgKzEsNCBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KQEAgLTcsOSArNiw4IEBACiAKIHN0cnVjdCBidWZmZXIgewogCXNpemVfdCBzaXplOwotCWNoYXIgKmRhdGE7CisJY2hhciBkYXRhW107CiB9Owotc3RhdGljIHN0cnVjdCBidWZmZXIgdGFnc19idWZmZXI7CiAKIHN0YXRpYyBpbnQKIHJlYWRfYnVmZmVyKGNoYXIqIHBhZ2UsIGNoYXIqKiBzdGFydCwgb2ZmX3Qgb2ZmLCBpbnQgY291bnQsCkBAIC0yOSw1OCArMjcsNTcgQEAKIAlyZXR1cm4gY291bnQ7CiB9CiAKLQotc3RhdGljIGludAotY3JlYXRlX3Byb2NfZW50cmllcyh2b2lkKQotewotCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSogdGFnc19lbnRyeTsKLQotCXRhZ3NfZW50cnkgPSBjcmVhdGVfcHJvY19yZWFkX2VudHJ5KCJhdGFncyIsIDA0MDAsIE5VTEwsIHJlYWRfYnVmZmVyLCAmdGFnc19idWZmZXIpOwotCWlmICghdGFnc19lbnRyeSkKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlyZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgY2hhciBfX2luaXRkYXRhIGF0YWdzX2NvcHlfYnVmW0tFWEVDX0JPT1RfUEFSQU1TX1NJWkVdOwotc3RhdGljIGNoYXIgX19pbml0ZGF0YSAqYXRhZ3NfY29weTsKKyNkZWZpbmUgQk9PVF9QQVJBTVNfU0laRSAxNTM2CitzdGF0aWMgY2hhciBfX2luaXRkYXRhIGF0YWdzX2NvcHlbQk9PVF9QQVJBTVNfU0laRV07CiAKIHZvaWQgX19pbml0IHNhdmVfYXRhZ3MoY29uc3Qgc3RydWN0IHRhZyAqdGFncykKIHsKLQlhdGFnc19jb3B5ID0gYXRhZ3NfY29weV9idWY7Ci0JbWVtY3B5KGF0YWdzX2NvcHksIHRhZ3MsIEtFWEVDX0JPT1RfUEFSQU1TX1NJWkUpOworCW1lbWNweShhdGFnc19jb3B5LCB0YWdzLCBzaXplb2YoYXRhZ3NfY29weSkpOwogfQogCi0KIHN0YXRpYyBpbnQgX19pbml0IGluaXRfYXRhZ3NfcHJvY2ZzKHZvaWQpCiB7Ci0Jc3RydWN0IHRhZyAqdGFnOwotCWludCBlcnJvcjsKKwkvKgorCSAqIFRoaXMgY2Fubm90IGdvIGludG8gc2F2ZV9hdGFncygpIGJlY2F1c2Uga21hbGxvYyBhbmQgcHJvYyBkb24ndCB3b3JrCisJICogeWV0IHdoZW4gaXQgaXMgY2FsbGVkLgorCSAqLworCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqdGFnc19lbnRyeTsKKwlzdHJ1Y3QgdGFnICp0YWcgPSAoc3RydWN0IHRhZyAqKWF0YWdzX2NvcHk7CisJc3RydWN0IGJ1ZmZlciAqYjsKKwlzaXplX3Qgc2l6ZTsKIAotCWlmICghYXRhZ3NfY29weSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJFeHBvcnRpbmcgQVRBR3M6IE5vIHNhdmVkIHRhZ3MgZm91bmRcbiIpOwotCQlyZXR1cm4gLUVJTzsKKwlpZiAodGFnLT5oZHIudGFnICE9IEFUQUdfQ09SRSkgeworCQlwcmludGsoS0VSTl9JTkZPICJObyBBVEFHcz8iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JZm9yICh0YWcgPSAoc3RydWN0IHRhZyAqKSBhdGFnc19jb3B5OyB0YWctPmhkci5zaXplOyB0YWcgPSB0YWdfbmV4dCh0YWcpKQorCWZvciAoOyB0YWctPmhkci5zaXplOyB0YWcgPSB0YWdfbmV4dCh0YWcpKQogCQk7CiAKLQl0YWdzX2J1ZmZlci5zaXplID0gKChjaGFyICopIHRhZyAtIGF0YWdzX2NvcHkpICsgc2l6ZW9mKHRhZy0+aGRyKTsKLQl0YWdzX2J1ZmZlci5kYXRhID0ga21hbGxvYyh0YWdzX2J1ZmZlci5zaXplLCBHRlBfS0VSTkVMKTsKLQlpZiAodGFnc19idWZmZXIuZGF0YSA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT01FTTsKLQltZW1jcHkodGFnc19idWZmZXIuZGF0YSwgYXRhZ3NfY29weSwgdGFnc19idWZmZXIuc2l6ZSk7CisJLyogaW5jbHVkZSB0aGUgdGVybWluYXRpbmcgQVRBR19OT05FICovCisJc2l6ZSA9IChjaGFyICopdGFnIC0gYXRhZ3NfY29weSArIHNpemVvZihzdHJ1Y3QgdGFnX2hlYWRlcik7CiAKLQllcnJvciA9IGNyZWF0ZV9wcm9jX2VudHJpZXMoKTsKLQlpZiAoZXJyb3IpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJFeHBvcnRpbmcgQVRBR3M6IG5vdCBlbm91Z2ggbWVtb3J5XG4iKTsKLQkJa2ZyZWUodGFnc19idWZmZXIuZGF0YSk7Ci0JCXRhZ3NfYnVmZmVyLnNpemUgPSAwOwotCQl0YWdzX2J1ZmZlci5kYXRhID0gTlVMTDsKLQl9CisJV0FSTl9PTih0YWctPmhkci50YWcgIT0gQVRBR19OT05FKTsKIAotCXJldHVybiBlcnJvcjsKKwliID0ga21hbGxvYyhzaXplb2YoKmIpICsgc2l6ZSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFiKQorCQlnb3RvIG5vbWVtOworCisJYi0+c2l6ZSA9IHNpemU7CisJbWVtY3B5KGItPmRhdGEsIGF0YWdzX2NvcHksIHNpemUpOworCisJdGFnc19lbnRyeSA9IGNyZWF0ZV9wcm9jX3JlYWRfZW50cnkoImF0YWdzIiwgMDQwMCwKKwkJCU5VTEwsIHJlYWRfYnVmZmVyLCBiKTsKKworCWlmICghdGFnc19lbnRyeSkKKwkJZ290byBub21lbTsKKworCXJldHVybiAwOworCitub21lbToKKwlrZnJlZShiKTsKKwlwcmludGsoS0VSTl9FUlIgIkV4cG9ydGluZyBBVEFHczogbm90IGVub3VnaCBtZW1vcnlcbiIpOworCisJcmV0dXJuIC1FTk9NRU07CiB9Ci0KIGFyY2hfaW5pdGNhbGwoaW5pdF9hdGFnc19wcm9jZnMpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2VjYXJkLmMgYi9hcmNoL2FybS9rZXJuZWwvZWNhcmQuYwppbmRleCBhNTNjMGFiLi44YmZkMjk5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvZWNhcmQuYworKysgYi9hcmNoL2FybS9rZXJuZWwvZWNhcmQuYwpAQCAtNjgwLDcgKzY4MCw3IEBACiAjZGVmaW5lIElPX0VDX01FTUM4X0JBU0UgMAogI2VuZGlmCiAKLXVuc2lnbmVkIGludCBfX2VjYXJkX2FkZHJlc3MoZWNhcmRfdCAqZWMsIGNhcmRfdHlwZV90IHR5cGUsIGNhcmRfc3BlZWRfdCBzcGVlZCkKK3N0YXRpYyB1bnNpZ25lZCBpbnQgX19lY2FyZF9hZGRyZXNzKGVjYXJkX3QgKmVjLCBjYXJkX3R5cGVfdCB0eXBlLCBjYXJkX3NwZWVkX3Qgc3BlZWQpCiB7CiAJdW5zaWduZWQgbG9uZyBhZGRyZXNzID0gMDsKIAlpbnQgc2xvdCA9IGVjLT5zbG90X25vOwpAQCAtMTAwMiw3ICsxMDAyLDcgQEAKIAl9CiAKIAlyYyA9IC1FTk9ERVY7Ci0JaWYgKChlYy0+cG9kYWRkciA9IGVjYXJkX2FkZHJlc3MoZWMsIHR5cGUsIEVDQVJEX1NZTkMpKSA9PSAwKQorCWlmICgoZWMtPnBvZGFkZHIgPSBfX2VjYXJkX2FkZHJlc3MoZWMsIHR5cGUsIEVDQVJEX1NZTkMpKSA9PSAwKQogCQlnb3RvIG5vZGV2OwogCiAJY2lkLnJfemVybyA9IDE7CkBAIC0xMTQxLDEwICsxMTQxLDEwIEBACiAKIAlpZCA9IGVjYXJkX21hdGNoX2RldmljZShkcnYtPmlkX3RhYmxlLCBlYyk7CiAKLQllY2FyZF9jbGFpbShlYyk7CisJZWMtPmNsYWltZWQgPSAxOwogCXJldCA9IGRydi0+cHJvYmUoZWMsIGlkKTsKIAlpZiAocmV0KQotCQllY2FyZF9yZWxlYXNlKGVjKTsKKwkJZWMtPmNsYWltZWQgPSAwOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTExNTQsNyArMTE1NCw3IEBACiAJc3RydWN0IGVjYXJkX2RyaXZlciAqZHJ2ID0gRUNBUkRfRFJWKGRldi0+ZHJpdmVyKTsKIAogCWRydi0+cmVtb3ZlKGVjKTsKLQllY2FyZF9yZWxlYXNlKGVjKTsKKwllYy0+Y2xhaW1lZCA9IDA7CiAKIAkvKgogCSAqIFJlc3RvcmUgdGhlIGRlZmF1bHQgb3BlcmF0aW9ucy4gIFdlIGVuc3VyZSB0aGF0IHRoZQpAQCAtMTE4Miw3ICsxMTgyLDcgQEAKIAlpZiAoZGV2LT5kcml2ZXIpIHsKIAkJaWYgKGRydi0+c2h1dGRvd24pCiAJCQlkcnYtPnNodXRkb3duKGVjKTsKLQkJZWNhcmRfcmVsZWFzZShlYyk7CisJCWVjLT5jbGFpbWVkID0gMDsKIAl9CiAKIAkvKgpAQCAtMTIzOSw3ICsxMjM5LDYgQEAKIHBvc3Rjb3JlX2luaXRjYWxsKGVjYXJkX2J1c19pbml0KTsKIAogRVhQT1JUX1NZTUJPTChlY2FyZF9yZWFkY2h1bmspOwotRVhQT1JUX1NZTUJPTChfX2VjYXJkX2FkZHJlc3MpOwogRVhQT1JUX1NZTUJPTChlY2FyZF9yZWdpc3Rlcl9kcml2ZXIpOwogRVhQT1JUX1NZTUJPTChlY2FyZF9yZW1vdmVfZHJpdmVyKTsKIEVYUE9SVF9TWU1CT0woZWNhcmRfYnVzX3R5cGUpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2VjYXJkLmggYi9hcmNoL2FybS9rZXJuZWwvZWNhcmQuaAppbmRleCBkN2MyZGFjLi40NjQyZDQzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvZWNhcmQuaAorKysgYi9hcmNoL2FybS9rZXJuZWwvZWNhcmQuaApAQCAtNTQsMyArNTQsMTYgQEAKICNkZWZpbmUgY19sZW4oeCkJKCh4KS0+cl9sZW5bMF18KCh4KS0+cl9sZW5bMV08PDgpfCgoeCktPnJfbGVuWzJdPDwxNikpCiAjZGVmaW5lIGNfc3RhcnQoeCkJKCh4KS0+cl9zdGFydCkKIH07CisKK3R5cGVkZWYgZW51bSBlY2FyZF90eXBlIHsJCS8qIENhcmRzIGFkZHJlc3Mgc3BhY2UJCSovCisJRUNBUkRfSU9DLAorCUVDQVJEX01FTUMsCisJRUNBUkRfRUFTSQorfSBjYXJkX3R5cGVfdDsKKwordHlwZWRlZiBlbnVtIHsJCQkJLyogU3BlZWQgZm9yIEVDQVJEX0lPQyBzcGFjZQkqLworCUVDQVJEX1NMT1cJID0gMCwKKwlFQ0FSRF9NRURJVU0JID0gMSwKKwlFQ0FSRF9GQVNUCSA9IDIsCisJRUNBUkRfU1lOQwkgPSAzCit9IGNhcmRfc3BlZWRfdDsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9lbnRyeS1jb21tb24uUyBiL2FyY2gvYXJtL2tlcm5lbC9lbnRyeS1jb21tb24uUwppbmRleCA1OTdlZDAwLi44NDY5NGU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvZW50cnktY29tbW9uLlMKKysrIGIvYXJjaC9hcm0va2VybmVsL2VudHJ5LWNvbW1vbi5TCkBAIC05LDYgKzksNyBAQAogICovCiAKICNpbmNsdWRlIDxhc20vdW5pc3RkLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2VudHJ5LW1hY3JvLlM+CiAKICNpbmNsdWRlICJlbnRyeS1oZWFkZXIuUyIKQEAgLTk5LDYgKzEwMCw1NiBAQAogI3VuZGVmIENBTEwKICNkZWZpbmUgQ0FMTCh4KSAubG9uZyB4CiAKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitFTlRSWShtY291bnQpCisJc3RtZGIgc3AhLCB7cjAtcjMsIGxyfQorCW1vdiByMCwgbHIKKwlzdWIgcjAsIHIwLCAjTUNPVU5UX0lOU05fU0laRQorCisJLmdsb2JsIG1jb3VudF9jYWxsCittY291bnRfY2FsbDoKKwlibCBmdHJhY2Vfc3R1YgorCWxkbWlhIHNwISwge3IwLXIzLCBwY30KKworRU5UUlkoZnRyYWNlX2NhbGxlcikKKwlzdG1kYiBzcCEsIHtyMC1yMywgbHJ9CisJbGRyIHIxLCBbZnAsICMtNF0KKwltb3YgcjAsIGxyCisJc3ViIHIwLCByMCwgI01DT1VOVF9JTlNOX1NJWkUKKworCS5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJYmwgZnRyYWNlX3N0dWIKKwlsZG1pYSBzcCEsIHtyMC1yMywgcGN9CisKKyNlbHNlCisKK0VOVFJZKG1jb3VudCkKKwlzdG1kYiBzcCEsIHtyMC1yMywgbHJ9CisJbGRyIHIwLCA9ZnRyYWNlX3RyYWNlX2Z1bmN0aW9uCisJbGRyIHIyLCBbcjBdCisJYWRyIHIwLCBmdHJhY2Vfc3R1YgorCWNtcCByMCwgcjIKKwlibmUgdHJhY2UKKwlsZG1pYSBzcCEsIHtyMC1yMywgcGN9CisKK3RyYWNlOgorCWxkciByMSwgW2ZwLCAjLTRdCisJbW92IHIwLCBscgorCXN1YiByMCwgcjAsICNNQ09VTlRfSU5TTl9TSVpFCisJbW92IGxyLCBwYworCW1vdiBwYywgcjIKKwlsZG1pYSBzcCEsIHtyMC1yMywgcGN9CisKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKworCS5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJbW92IHBjLCBscgorCisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgKiBTV0kgaGFuZGxlcgogICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2Z0cmFjZS5jIGIvYXJjaC9hcm0va2VybmVsL2Z0cmFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2ZDUwZTYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9rZXJuZWwvZnRyYWNlLmMKQEAgLTAsMCArMSwxMTYgQEAKKy8qCisgKiBEeW5hbWljIGZ1bmN0aW9uIHRyYWNpbmcgc3VwcG9ydC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQWJoaXNoZWsgU2FnYXIgPHNhZ2FyLmFiaGlzaGVrQGdtYWlsLmNvbT4KKyAqCisgKiBGb3IgbGljZW5jaW5nIGRldGFpbHMsIHNlZSBDT1BZSU5HLgorICoKKyAqIERlZmluZXMgbG93LWxldmVsIGhhbmRsaW5nIG9mIG1jb3VudCBjYWxscyB3aGVuIHRoZSBrZXJuZWwKKyAqIGlzIGNvbXBpbGVkIHdpdGggdGhlIC1wZyBmbGFnLiBXaGVuIHVzaW5nIGR5bmFtaWMgZnRyYWNlLCB0aGUKKyAqIG1jb3VudCBjYWxsLXNpdGVzIGdldCBwYXRjaGVkIGxhemlseSB3aXRoIE5PUCB0aWxsIHRoZXkgYXJlCisgKiBlbmFibGVkLiBBbGwgY29kZSBtdXRhdGlvbiByb3V0aW5lcyBoZXJlIHRha2UgZWZmZWN0IGF0b21pY2FsbHkuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorCisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CisKKyNkZWZpbmUgUENfT0ZGU0VUICAgICAgOAorI2RlZmluZSBCTF9PUENPREUgICAgICAweGViMDAwMDAwCisjZGVmaW5lIEJMX09GRlNFVF9NQVNLIDB4MDBmZmZmZmYKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgYmxfaW5zbjsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25nIE5PUCA9IDB4ZTFhMDAwMDA7IC8qIG1vdiByMCwgcjAgKi8KKwordW5zaWduZWQgY2hhciAqZnRyYWNlX25vcF9yZXBsYWNlKHZvaWQpCit7CisJcmV0dXJuIChjaGFyICopJk5PUDsKK30KKworLyogY29uc3RydWN0IGEgYnJhbmNoIChCTCkgaW5zdHJ1Y3Rpb24gdG8gYWRkciAqLwordW5zaWduZWQgY2hhciAqZnRyYWNlX2NhbGxfcmVwbGFjZSh1bnNpZ25lZCBsb25nIHBjLCB1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJbG9uZyBvZmZzZXQ7CisKKwlvZmZzZXQgPSAobG9uZylhZGRyIC0gKGxvbmcpKHBjICsgUENfT0ZGU0VUKTsKKwlpZiAodW5saWtlbHkob2Zmc2V0IDwgLTMzNTU0NDMyIHx8IG9mZnNldCA+IDMzNTU0NDI4KSkgeworCQkvKiBDYW4ndCBnZW5lcmF0ZSBicmFuY2hlcyB0aGF0IGZhciAoZnJvbSBBUk0gQVJNKS4gRnRyYWNlCisJCSAqIGRvZXNuJ3QgZ2VuZXJhdGUgYnJhbmNoZXMgb3V0c2lkZSBvZiBrZXJuZWwgdGV4dC4KKwkJICovCisJCVdBUk5fT05fT05DRSgxKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCW9mZnNldCA9IChvZmZzZXQgPj4gMikgJiBCTF9PRkZTRVRfTUFTSzsKKwlibF9pbnNuID0gQkxfT1BDT0RFIHwgb2Zmc2V0OworCXJldHVybiAodW5zaWduZWQgY2hhciAqKSZibF9pbnNuOworfQorCitpbnQgZnRyYWNlX21vZGlmeV9jb2RlKHVuc2lnbmVkIGxvbmcgcGMsIHVuc2lnbmVkIGNoYXIgKm9sZF9jb2RlLAorCQkgICAgICAgdW5zaWduZWQgY2hhciAqbmV3X2NvZGUpCit7CisJdW5zaWduZWQgbG9uZyBlcnIgPSAwLCByZXBsYWNlZCA9IDAsIG9sZCwgbmV3OworCisJb2xkID0gKih1bnNpZ25lZCBsb25nICopb2xkX2NvZGU7CisJbmV3ID0gKih1bnNpZ25lZCBsb25nICopbmV3X2NvZGU7CisKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoCisJCSIxOiAgbGRyICAgICUxLCBbJTJdICBcbiIKKwkJIiAgICBjbXAgICAgJTEsICU0ICAgIFxuIgorCQkiMjogIHN0cmVxICAlMywgWyUyXSAgXG4iCisJCSIgICAgY21wbmUgICUxLCAlMyAgICBcbiIKKwkJIiAgICBtb3ZuZSAgJTAsICMyICAgIFxuIgorCQkiMzpcbiIKKworCQkiLnNlY3Rpb24gLmZpeHVwLCBcImF4XCJcbiIKKwkJIjQ6ICBtb3YgICUwLCAjMSAgXG4iCisJCSIgICAgYiAgICAzYiAgICAgIFxuIgorCQkiLnByZXZpb3VzXG4iCisKKwkJIi5zZWN0aW9uIF9fZXhfdGFibGUsIFwiYVwiXG4iCisJCSIgICAgLmxvbmcgMWIsIDRiIFxuIgorCQkiICAgIC5sb25nIDJiLCA0YiBcbiIKKwkJIi5wcmV2aW91c1xuIgorCisJCTogIj1yIihlcnIpLCAiPXIiKHJlcGxhY2VkKQorCQk6ICJyIihwYyksICJyIihuZXcpLCAiciIob2xkKSwgIjAiKGVyciksICIxIihyZXBsYWNlZCkKKwkJOiAibWVtb3J5Iik7CisKKwlpZiAoIWVyciAmJiAocmVwbGFjZWQgPT0gb2xkKSkKKwkJZmx1c2hfaWNhY2hlX3JhbmdlKHBjLCBwYyArIE1DT1VOVF9JTlNOX1NJWkUpOworCisJcmV0dXJuIGVycjsKK30KKworaW50IGZ0cmFjZV91cGRhdGVfZnRyYWNlX2Z1bmMoZnRyYWNlX2Z1bmNfdCBmdW5jKQoreworCWludCByZXQ7CisJdW5zaWduZWQgbG9uZyBwYywgb2xkOworCXVuc2lnbmVkIGNoYXIgKm5ldzsKKworCXBjID0gKHVuc2lnbmVkIGxvbmcpJmZ0cmFjZV9jYWxsOworCW1lbWNweSgmb2xkLCAmZnRyYWNlX2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UocGMsICh1bnNpZ25lZCBsb25nKWZ1bmMpOworCXJldCA9IGZ0cmFjZV9tb2RpZnlfY29kZShwYywgKHVuc2lnbmVkIGNoYXIgKikmb2xkLCBuZXcpOworCXJldHVybiByZXQ7Cit9CisKK2ludCBmdHJhY2VfbWNvdW50X3NldCh1bnNpZ25lZCBsb25nICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgcGMsIG9sZDsKKwl1bnNpZ25lZCBsb25nICphZGRyID0gZGF0YTsKKwl1bnNpZ25lZCBjaGFyICpuZXc7CisKKwlwYyA9ICh1bnNpZ25lZCBsb25nKSZtY291bnRfY2FsbDsKKwltZW1jcHkoJm9sZCwgJm1jb3VudF9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKHBjLCAqYWRkcik7CisJKmFkZHIgPSBmdHJhY2VfbW9kaWZ5X2NvZGUocGMsICh1bnNpZ25lZCBjaGFyICopJm9sZCwgbmV3KTsKKwlyZXR1cm4gMDsKK30KKworLyogcnVuIGZyb20ga3N0b3BfbWFjaGluZSAqLworaW50IF9faW5pdCBmdHJhY2VfZHluX2FyY2hfaW5pdCh2b2lkICpkYXRhKQoreworCWZ0cmFjZV9tY291bnRfc2V0KGRhdGEpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2twcm9iZXMuYyBiL2FyY2gvYXJtL2tlcm5lbC9rcHJvYmVzLmMKaW5kZXggNTU5M2RkMi4uNWVlMzllMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL2twcm9iZXMuYworKysgYi9hcmNoL2FybS9rZXJuZWwva3Byb2Jlcy5jCkBAIC0yNzQsNyArMjc0LDcgQEAKICAqIGZvciBrcmV0cHJvYmUgaGFuZGxlcnMgd2hpY2ggc2hvdWxkIG5vcm1hbGx5IGJlIGludGVyZXN0ZWQgaW4gcjAgb25seQogICogYW55d2F5LgogICovCi1zdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChuYWtlZCkpIF9fa3Byb2JlcyBrcmV0cHJvYmVfdHJhbXBvbGluZSh2b2lkKQordm9pZCBfX25ha2VkIF9fa3Byb2JlcyBrcmV0cHJvYmVfdHJhbXBvbGluZSh2b2lkKQogewogCV9fYXNtX18gX192b2xhdGlsZV9fICgKIAkJInN0bWRiCXNwISwge3IwIC0gcjExfQkJXG5cdCIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL2FybS9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IDQ2YmYyZWRlLi4xOTliMzY4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvcHJvY2Vzcy5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9wcm9jZXNzLmMKQEAgLTEzMywxMCArMTMzLDggQEAKIAkJY3B1X3JlbGF4KCk7CiAJZWxzZSB7CiAJCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JCWlmICghbmVlZF9yZXNjaGVkKCkpIHsKLQkJCXRpbWVyX2R5bl9yZXByb2dyYW0oKTsKKwkJaWYgKCFuZWVkX3Jlc2NoZWQoKSkKIAkJCWFyY2hfaWRsZSgpOwotCQl9CiAJCWxvY2FsX2lycV9lbmFibGUoKTsKIAl9CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvc21wLmMgYi9hcmNoL2FybS9rZXJuZWwvc21wLmMKaW5kZXggZWVmYWUxZC4uNWE3YzA5NSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL3NtcC5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9zbXAuYwpAQCAtNjgsMjAgKzY4LDEwIEBACiAJSVBJX1RJTUVSLAogCUlQSV9SRVNDSEVEVUxFLAogCUlQSV9DQUxMX0ZVTkMsCisJSVBJX0NBTExfRlVOQ19TSU5HTEUsCiAJSVBJX0NQVV9TVE9QLAogfTsKIAotc3RydWN0IHNtcF9jYWxsX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pOwotCXZvaWQgKmluZm87Ci0JaW50IHdhaXQ7Ci0JY3B1bWFza190IHBlbmRpbmc7Ci0JY3B1bWFza190IHVuZmluaXNoZWQ7Ci19OwotCi1zdGF0aWMgc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqIHZvbGF0aWxlIHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGE7Ci1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKHNtcF9jYWxsX2Z1bmN0aW9uX2xvY2spOwotCiBpbnQgX19jcHVpbml0IF9fY3B1X3VwKHVuc2lnbmVkIGludCBjcHUpCiB7CiAJc3RydWN0IGNwdWluZm9fYXJtICpjaSA9ICZwZXJfY3B1KGNwdV9kYXRhLCBjcHUpOwpAQCAtMzY2LDExNCArMzU2LDE1IEBACiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQogCi0vKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMsIGZyb20gYQotICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIsIG5vciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotc3RhdGljIGludCBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUodm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSAgICBpbnQgcmV0cnksIGludCB3YWl0LCBjcHVtYXNrX3QgY2FsbG1hcCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgZGF0YTsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7Ci0JaW50IHJldCA9IDA7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQotCWNwdV9jbGVhcihzbXBfcHJvY2Vzc29yX2lkKCksIGNhbGxtYXApOwotCWlmIChjcHVzX2VtcHR5KGNhbGxtYXApKQotCQlnb3RvIG91dDsKLQotCWRhdGEucGVuZGluZyA9IGNhbGxtYXA7Ci0JaWYgKHdhaXQpCi0JCWRhdGEudW5maW5pc2hlZCA9IGNhbGxtYXA7Ci0KLQkvKgotCSAqIHRyeSB0byBnZXQgdGhlIG11dGV4IG9uIHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEKLQkgKi8KLQlzcGluX2xvY2soJnNtcF9jYWxsX2Z1bmN0aW9uX2xvY2spOwotCXNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEgPSAmZGF0YTsKLQotCXNlbmRfaXBpX21lc3NhZ2UoY2FsbG1hcCwgSVBJX0NBTExfRlVOQyk7Ci0KLQl0aW1lb3V0ID0gamlmZmllcyArIEhaOwotCXdoaWxlICghY3B1c19lbXB0eShkYXRhLnBlbmRpbmcpICYmIHRpbWVfYmVmb3JlKGppZmZpZXMsIHRpbWVvdXQpKQotCQliYXJyaWVyKCk7Ci0KLQkvKgotCSAqIGRpZCB3ZSB0aW1lIG91dD8KLQkgKi8KLQlpZiAoIWNwdXNfZW1wdHkoZGF0YS5wZW5kaW5nKSkgewotCQkvKgotCQkgKiB0aGlzIG1heSBiZSBjYXVzaW5nIG91ciBwYW5pYyAtIHJlcG9ydCBpdAotCQkgKi8KLQkJcHJpbnRrKEtFUk5fQ1JJVAotCQkgICAgICAgIkNQVSV1OiBzbXBfY2FsbF9mdW5jdGlvbiB0aW1lb3V0IGZvciAlcCglcClcbiIKLQkJICAgICAgICIgICAgICBjYWxsbWFwICVseCBwZW5kaW5nICVseCwgJXN3YWl0XG4iLAotCQkgICAgICAgc21wX3Byb2Nlc3Nvcl9pZCgpLCBmdW5jLCBpbmZvLCAqY3B1c19hZGRyKGNhbGxtYXApLAotCQkgICAgICAgKmNwdXNfYWRkcihkYXRhLnBlbmRpbmcpLCB3YWl0ID8gIiIgOiAibm8gIik7Ci0KLQkJLyoKLQkJICogVFJBQ0UKLQkJICovCi0JCXRpbWVvdXQgPSBqaWZmaWVzICsgKDUgKiBIWik7Ci0JCXdoaWxlICghY3B1c19lbXB0eShkYXRhLnBlbmRpbmcpICYmIHRpbWVfYmVmb3JlKGppZmZpZXMsIHRpbWVvdXQpKQotCQkJYmFycmllcigpOwotCi0JCWlmIChjcHVzX2VtcHR5KGRhdGEucGVuZGluZykpCi0JCQlwcmludGsoS0VSTl9DUklUICIgICAgIFJFU09MVkVEXG4iKTsKLQkJZWxzZQotCQkJcHJpbnRrKEtFUk5fQ1JJVCAiICAgICBTVElMTCBTVFVDS1xuIik7Ci0JfQotCi0JLyoKLQkgKiB3aGF0ZXZlciBoYXBwZW5lZCwgd2UncmUgZG9uZSB3aXRoIHRoZSBkYXRhLCBzbyByZWxlYXNlIGl0Ci0JICovCi0Jc21wX2NhbGxfZnVuY3Rpb25fZGF0YSA9IE5VTEw7Ci0Jc3Bpbl91bmxvY2soJnNtcF9jYWxsX2Z1bmN0aW9uX2xvY2spOwotCi0JaWYgKCFjcHVzX2VtcHR5KGRhdGEucGVuZGluZykpIHsKLQkJcmV0ID0gLUVUSU1FRE9VVDsKLQkJZ290byBvdXQ7Ci0JfQotCi0JaWYgKHdhaXQpCi0JCXdoaWxlICghY3B1c19lbXB0eShkYXRhLnVuZmluaXNoZWQpKQotCQkJYmFycmllcigpOwotIG91dDoKLQotCXJldHVybiAwOworCXNlbmRfaXBpX21lc3NhZ2UobWFzaywgSVBJX0NBTExfRlVOQyk7CiB9CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCByZXRyeSwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQogewotCXJldHVybiBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoZnVuYywgaW5mbywgcmV0cnksIHdhaXQsCi0JCQkJCWNwdV9vbmxpbmVfbWFwKTsKKwlzZW5kX2lwaV9tZXNzYWdlKGNwdW1hc2tfb2ZfY3B1KGNwdSksIElQSV9DQUxMX0ZVTkNfU0lOR0xFKTsKIH0KLUVYUE9SVF9TWU1CT0xfR1BMKHNtcF9jYWxsX2Z1bmN0aW9uKTsKLQotaW50IHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1LCB2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkgICAgIGludCByZXRyeSwgaW50IHdhaXQpCi17Ci0JLyogcHJldmVudCBwcmVlbXB0aW9uIGFuZCByZXNjaGVkdWxlIG9uIGFub3RoZXIgcHJvY2Vzc29yICovCi0JaW50IGN1cnJlbnRfY3B1ID0gZ2V0X2NwdSgpOwotCWludCByZXQgPSAwOwotCi0JaWYgKGNwdSA9PSBjdXJyZW50X2NwdSkgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JfSBlbHNlCi0JCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdShmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCwKLQkJCQkJICAgICAgIGNwdW1hc2tfb2ZfY3B1KGNwdSkpOwotCi0JcHV0X2NwdSgpOwotCi0JcmV0dXJuIHJldDsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSk7CiAKIHZvaWQgc2hvd19pcGlfbGlzdChzdHJ1Y3Qgc2VxX2ZpbGUgKnApCiB7CkBAIC01MjEsMjcgKzQxMiw2IEBACiB9CiAjZW5kaWYKIAotLyoKLSAqIGlwaV9jYWxsX2Z1bmN0aW9uIC0gaGFuZGxlIElQSSBmcm9tIHNtcF9jYWxsX2Z1bmN0aW9uKCkKLSAqCi0gKiBOb3RlIHRoYXQgd2UgY29weSBkYXRhIG91dCBvZiB0aGUgY3Jvc3MtY2FsbCBzdHJ1Y3R1cmUgYW5kIHRoZW4KLSAqIGxldCB0aGUgY2FsbGVyIGtub3cgdGhhdCB3ZSdyZSBoZXJlIGFuZCBoYXZlIGRvbmUgd2l0aCB0aGVpciBkYXRhCi0gKi8KLXN0YXRpYyB2b2lkIGlwaV9jYWxsX2Z1bmN0aW9uKHVuc2lnbmVkIGludCBjcHUpCi17Ci0Jc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqZGF0YSA9IHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGE7Ci0Jdm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pID0gZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gZGF0YS0+aW5mbzsKLQlpbnQgd2FpdCA9IGRhdGEtPndhaXQ7Ci0KLQljcHVfY2xlYXIoY3B1LCBkYXRhLT5wZW5kaW5nKTsKLQotCWZ1bmMoaW5mbyk7Ci0KLQlpZiAod2FpdCkKLQkJY3B1X2NsZWFyKGNwdSwgZGF0YS0+dW5maW5pc2hlZCk7Ci19Ci0KIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0soc3RvcF9sb2NrKTsKIAogLyoKQEAgLTYxMSw3ICs0ODEsMTEgQEAKIAkJCQlicmVhazsKIAogCQkJY2FzZSBJUElfQ0FMTF9GVU5DOgotCQkJCWlwaV9jYWxsX2Z1bmN0aW9uKGNwdSk7CisJCQkJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBJUElfQ0FMTF9GVU5DX1NJTkdMRToKKwkJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKIAkJCQlicmVhazsKIAogCQkJY2FzZSBJUElfQ1BVX1NUT1A6CkBAIC02NjIsMTQgKzUzNiwxMyBAQAogfQogCiBzdGF0aWMgaW50Ci1vbl9lYWNoX2NwdV9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0LAotCQkgY3B1bWFza190IG1hc2spCitvbl9lYWNoX2NwdV9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICppbmZvLCBpbnQgd2FpdCwgY3B1bWFza190IG1hc2spCiB7CiAJaW50IHJldCA9IDA7CiAKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAotCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdShmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCwgbWFzayk7CisJcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhtYXNrLCBmdW5jLCBpbmZvLCB3YWl0KTsKIAlpZiAoY3B1X2lzc2V0KHNtcF9wcm9jZXNzb3JfaWQoKSwgbWFzaykpCiAJCWZ1bmMoaW5mbyk7CiAKQEAgLTczMSwxNCArNjA0LDE0IEBACiAKIHZvaWQgZmx1c2hfdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGlwaV9mbHVzaF90bGJfYWxsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2FsbCwgTlVMTCwgMSk7CiB9CiAKIHZvaWQgZmx1c2hfdGxiX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQogewogCWNwdW1hc2tfdCBtYXNrID0gbW0tPmNwdV92bV9tYXNrOwogCi0Jb25fZWFjaF9jcHVfbWFzayhpcGlfZmx1c2hfdGxiX21tLCBtbSwgMSwgMSwgbWFzayk7CisJb25fZWFjaF9jcHVfbWFzayhpcGlfZmx1c2hfdGxiX21tLCBtbSwgMSwgbWFzayk7CiB9CiAKIHZvaWQgZmx1c2hfdGxiX3BhZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgdWFkZHIpCkBAIC03NDksNyArNjIyLDcgQEAKIAl0YS50YV92bWEgPSB2bWE7CiAJdGEudGFfc3RhcnQgPSB1YWRkcjsKIAotCW9uX2VhY2hfY3B1X21hc2soaXBpX2ZsdXNoX3RsYl9wYWdlLCAmdGEsIDEsIDEsIG1hc2spOworCW9uX2VhY2hfY3B1X21hc2soaXBpX2ZsdXNoX3RsYl9wYWdlLCAmdGEsIDEsIG1hc2spOwogfQogCiB2b2lkIGZsdXNoX3RsYl9rZXJuZWxfcGFnZSh1bnNpZ25lZCBsb25nIGthZGRyKQpAQCAtNzU4LDcgKzYzMSw3IEBACiAKIAl0YS50YV9zdGFydCA9IGthZGRyOwogCi0Jb25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9rZXJuZWxfcGFnZSwgJnRhLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2tlcm5lbF9wYWdlLCAmdGEsIDEpOwogfQogCiB2b2lkIGZsdXNoX3RsYl9yYW5nZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKQEAgLTc3MSw3ICs2NDQsNyBAQAogCXRhLnRhX3N0YXJ0ID0gc3RhcnQ7CiAJdGEudGFfZW5kID0gZW5kOwogCi0Jb25fZWFjaF9jcHVfbWFzayhpcGlfZmx1c2hfdGxiX3JhbmdlLCAmdGEsIDEsIDEsIG1hc2spOworCW9uX2VhY2hfY3B1X21hc2soaXBpX2ZsdXNoX3RsYl9yYW5nZSwgJnRhLCAxLCBtYXNrKTsKIH0KIAogdm9pZCBmbHVzaF90bGJfa2VybmVsX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQpAQCAtNzgxLDUgKzY1NCw1IEBACiAJdGEudGFfc3RhcnQgPSBzdGFydDsKIAl0YS50YV9lbmQgPSBlbmQ7CiAKLQlvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2tlcm5lbF9yYW5nZSwgJnRhLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2tlcm5lbF9yYW5nZSwgJnRhLCAxKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9hcmNoL2FybS9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGFlMzFkZWIuLmZjNjUwZjYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtMzYsNiArMzYsNyBAQAogI2lmZGVmIENPTkZJR19TVEFDS1RSQUNFCiBzdHJ1Y3Qgc3RhY2tfdHJhY2VfZGF0YSB7CiAJc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZTsKKwl1bnNpZ25lZCBpbnQgbm9fc2NoZWRfZnVuY3Rpb25zOwogCXVuc2lnbmVkIGludCBza2lwOwogfTsKIApAQCAtNDMsMjcgKzQ0LDUzIEBACiB7CiAJc3RydWN0IHN0YWNrX3RyYWNlX2RhdGEgKmRhdGEgPSBkOwogCXN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UgPSBkYXRhLT50cmFjZTsKKwl1bnNpZ25lZCBsb25nIGFkZHIgPSBmcmFtZS0+bHI7CiAKKwlpZiAoZGF0YS0+bm9fc2NoZWRfZnVuY3Rpb25zICYmIGluX3NjaGVkX2Z1bmN0aW9ucyhhZGRyKSkKKwkJcmV0dXJuIDA7CiAJaWYgKGRhdGEtPnNraXApIHsKIAkJZGF0YS0+c2tpcC0tOwogCQlyZXR1cm4gMDsKIAl9CiAKLQl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IGZyYW1lLT5scjsKKwl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IGFkZHI7CiAKIAlyZXR1cm4gdHJhY2UtPm5yX2VudHJpZXMgPj0gdHJhY2UtPm1heF9lbnRyaWVzOwogfQogCi12b2lkIHNhdmVfc3RhY2tfdHJhY2Uoc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSkKK3ZvaWQgc2F2ZV9zdGFja190cmFjZV90c2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UpCiB7CiAJc3RydWN0IHN0YWNrX3RyYWNlX2RhdGEgZGF0YTsKIAl1bnNpZ25lZCBsb25nIGZwLCBiYXNlOwogCiAJZGF0YS50cmFjZSA9IHRyYWNlOwogCWRhdGEuc2tpcCA9IHRyYWNlLT5za2lwOwotCWJhc2UgPSAodW5zaWduZWQgbG9uZyl0YXNrX3N0YWNrX3BhZ2UoY3VycmVudCk7Ci0JYXNtKCJtb3YgJTAsIGZwIiA6ICI9ciIgKGZwKSk7CisJYmFzZSA9ICh1bnNpZ25lZCBsb25nKXRhc2tfc3RhY2tfcGFnZSh0c2spOworCisJaWYgKHRzayAhPSBjdXJyZW50KSB7CisjaWZkZWYgQ09ORklHX1NNUAorCQkvKgorCQkgKiBXaGF0IGd1YXJhbnRlZXMgZG8gd2UgaGF2ZSBoZXJlIHRoYXQgJ3RzaycKKwkJICogaXMgbm90IHJ1bm5pbmcgb24gYW5vdGhlciBDUFU/CisJCSAqLworCQlCVUcoKTsKKyNlbHNlCisJCWRhdGEubm9fc2NoZWRfZnVuY3Rpb25zID0gMTsKKwkJZnAgPSB0aHJlYWRfc2F2ZWRfZnAodHNrKTsKKyNlbmRpZgorCX0gZWxzZSB7CisJCWRhdGEubm9fc2NoZWRfZnVuY3Rpb25zID0gMDsKKwkJYXNtKCJtb3YgJTAsIGZwIiA6ICI9ciIgKGZwKSk7CisJfQogCiAJd2Fsa19zdGFja2ZyYW1lKGZwLCBiYXNlLCBiYXNlICsgVEhSRUFEX1NJWkUsIHNhdmVfdHJhY2UsICZkYXRhKTsKKwlpZiAodHJhY2UtPm5yX2VudHJpZXMgPCB0cmFjZS0+bWF4X2VudHJpZXMpCisJCXRyYWNlLT5lbnRyaWVzW3RyYWNlLT5ucl9lbnRyaWVzKytdID0gVUxPTkdfTUFYOwogfQorCit2b2lkIHNhdmVfc3RhY2tfdHJhY2Uoc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSkKK3sKKwlzYXZlX3N0YWNrX3RyYWNlX3RzayhjdXJyZW50LCB0cmFjZSk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL3RpbWUuYyBiL2FyY2gvYXJtL2tlcm5lbC90aW1lLmMKaW5kZXggYjU4NjdlYy4uY2M1MTQ1YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL3RpbWUuYworKysgYi9hcmNoL2FybS9rZXJuZWwvdGltZS5jCkBAIC0zNjUsMTA4ICszNjUsNiBAQAogCS5yZXN1bWUJCT0gdGltZXJfcmVzdW1lLAogfTsKIAotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi1zdGF0aWMgaW50IHRpbWVyX2R5bl90aWNrX2VuYWJsZSh2b2lkKQotewotCXN0cnVjdCBkeW5fdGlja190aW1lciAqZHluX3RpY2sgPSBzeXN0ZW1fdGltZXItPmR5bl90aWNrOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJldCA9IC1FTk9ERVY7Ci0KLQlpZiAoZHluX3RpY2spIHsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JCXJldCA9IDA7Ci0JCWlmICghKGR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpKSB7Ci0JCQlyZXQgPSBkeW5fdGljay0+ZW5hYmxlKCk7Ci0KLQkJCWlmIChyZXQgPT0gMCkKLQkJCQlkeW5fdGljay0+c3RhdGUgfD0gRFlOX1RJQ0tfRU5BQkxFRDsKLQkJfQotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkeW5fdGljay0+bG9jaywgZmxhZ3MpOwotCX0KLQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgdGltZXJfZHluX3RpY2tfZGlzYWJsZSh2b2lkKQotewotCXN0cnVjdCBkeW5fdGlja190aW1lciAqZHluX3RpY2sgPSBzeXN0ZW1fdGltZXItPmR5bl90aWNrOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJldCA9IC1FTk9ERVY7Ci0KLQlpZiAoZHluX3RpY2spIHsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JCXJldCA9IDA7Ci0JCWlmIChkeW5fdGljay0+c3RhdGUgJiBEWU5fVElDS19FTkFCTEVEKSB7Ci0JCQlyZXQgPSBkeW5fdGljay0+ZGlzYWJsZSgpOwotCi0JCQlpZiAocmV0ID09IDApCi0JCQkJZHluX3RpY2stPnN0YXRlICY9IH5EWU5fVElDS19FTkFCTEVEOwotCQl9Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JfQotCi0JcmV0dXJuIHJldDsKLX0KLQotLyoKLSAqIFJlcHJvZ3JhbSB0aGUgc3lzdGVtIHRpbWVyIGZvciBhdCBsZWFzdCB0aGUgY2FsY3VsYXRlZCB0aW1lIGludGVydmFsLgotICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGZyb20gdGhlIGlkbGUgdGhyZWFkIHdpdGggSVJRcyBkaXNhYmxlZCwKLSAqIGltbWVkaWF0ZWx5IGJlZm9yZSBzbGVlcGluZy4KLSAqLwotdm9pZCB0aW1lcl9keW5fcmVwcm9ncmFtKHZvaWQpCi17Ci0Jc3RydWN0IGR5bl90aWNrX3RpbWVyICpkeW5fdGljayA9IHN5c3RlbV90aW1lci0+ZHluX3RpY2s7Ci0JdW5zaWduZWQgbG9uZyBuZXh0LCBzZXEsIGZsYWdzOwotCi0JaWYgKCFkeW5fdGljaykKLQkJcmV0dXJuOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JaWYgKGR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpIHsKLQkJbmV4dCA9IG5leHRfdGltZXJfaW50ZXJydXB0KCk7Ci0JCWRvIHsKLQkJCXNlcSA9IHJlYWRfc2VxYmVnaW4oJnh0aW1lX2xvY2spOwotCQkJZHluX3RpY2stPnJlcHJvZ3JhbShuZXh0IC0gamlmZmllcyk7Ci0JCX0gd2hpbGUgKHJlYWRfc2VxcmV0cnkoJnh0aW1lX2xvY2ssIHNlcSkpOwotCX0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkeW5fdGljay0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgc3NpemVfdCB0aW1lcl9zaG93X2R5bl90aWNrKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIGNoYXIgKmJ1ZikKLXsKLQlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwKLQkJICAgICAgIChzeXN0ZW1fdGltZXItPmR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpID4+IDEpOwotfQotCi1zdGF0aWMgc3NpemVfdCB0aW1lcl9zZXRfZHluX3RpY2soc3RydWN0IHN5c19kZXZpY2UgKmRldiwgY29uc3QgY2hhciAqYnVmLAotCQkJCSAgc2l6ZV90IGNvdW50KQotewotCXVuc2lnbmVkIGludCBlbmFibGUgPSBzaW1wbGVfc3RydG91bChidWYsIE5VTEwsIDIpOwotCi0JaWYgKGVuYWJsZSkKLQkJdGltZXJfZHluX3RpY2tfZW5hYmxlKCk7Ci0JZWxzZQotCQl0aW1lcl9keW5fdGlja19kaXNhYmxlKCk7Ci0KLQlyZXR1cm4gY291bnQ7Ci19Ci1zdGF0aWMgU1lTREVWX0FUVFIoZHluX3RpY2ssIDA2NDQsIHRpbWVyX3Nob3dfZHluX3RpY2ssIHRpbWVyX3NldF9keW5fdGljayk7Ci0KLS8qCi0gKiBkeW50aWNrPWVuYWJsZXxkaXNhYmxlCi0gKi8KLXN0YXRpYyBjaGFyIGR5bnRpY2tfc3RyWzRdIF9faW5pdGRhdGEgPSAiIjsKLQotc3RhdGljIGludCBfX2luaXQgZHludGlja19zZXR1cChjaGFyICpzdHIpCi17Ci0JaWYgKHN0cikKLQkJc3RybGNweShkeW50aWNrX3N0ciwgc3RyLCBzaXplb2YoZHludGlja19zdHIpKTsKLQlyZXR1cm4gMTsKLX0KLQotX19zZXR1cCgiZHludGljaz0iLCBkeW50aWNrX3NldHVwKTsKLSNlbmRpZgotCiBzdGF0aWMgaW50IF9faW5pdCB0aW1lcl9pbml0X3N5c2ZzKHZvaWQpCiB7CiAJaW50IHJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmdGltZXJfc3lzY2xhc3MpOwpAQCAtNDc1LDE5ICszNzMsNiBAQAogCQlyZXQgPSBzeXNkZXZfcmVnaXN0ZXIoJnN5c3RlbV90aW1lci0+ZGV2KTsKIAl9CiAKLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCWlmIChyZXQgPT0gMCAmJiBzeXN0ZW1fdGltZXItPmR5bl90aWNrKSB7Ci0JCXJldCA9IHN5c2Rldl9jcmVhdGVfZmlsZSgmc3lzdGVtX3RpbWVyLT5kZXYsICZhdHRyX2R5bl90aWNrKTsKLQotCQkvKgotCQkgKiBUdXJuIG9uIGR5bmFtaWMgdGljayBhZnRlciBjYWxpYnJhdGUgZGVsYXkKLQkJICogZm9yIGNvcnJlY3QgYm9nb21pcHMKLQkJICovCi0JCWlmIChyZXQgPT0gMCAmJiBkeW50aWNrX3N0clswXSA9PSAnZScpCi0JCQlyZXQgPSB0aW1lcl9keW5fdGlja19lbmFibGUoKTsKLQl9Ci0jZW5kaWYKLQogCXJldHVybiByZXQ7CiB9CiAKQEAgLTUwMCwxMCArMzg1LDUgQEAKIAkJc3lzdGVtX3RpbWVyLT5vZmZzZXQgPSBkdW1teV9nZXR0aW1lb2Zmc2V0OwogI2VuZGlmCiAJc3lzdGVtX3RpbWVyLT5pbml0KCk7Ci0KLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCWlmIChzeXN0ZW1fdGltZXItPmR5bl90aWNrKQotCQlzcGluX2xvY2tfaW5pdCgmc3lzdGVtX3RpbWVyLT5keW5fdGljay0+bG9jayk7Ci0jZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbGliL2NvcHlfdGVtcGxhdGUuUyBiL2FyY2gvYXJtL2xpYi9jb3B5X3RlbXBsYXRlLlMKaW5kZXggY2FiMzU1Yy4uMTM5Y2NlNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbGliL2NvcHlfdGVtcGxhdGUuUworKysgYi9hcmNoL2FybS9saWIvY29weV90ZW1wbGF0ZS5TCkBAIC0xMywxNCArMTMsNiBAQAogICovCiAKIC8qCi0gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGVuYWJsZSBjb2RlIHRvIGNhY2hlbGluZSBhbGlnbiB0aGUgc291cmNlIHBvaW50ZXIuCi0gKiBFeHBlcmltZW50cyBvbiB0ZXN0ZWQgYXJjaGl0ZWN0dXJlcyAoU3Ryb25nQVJNIGFuZCBYU2NhbGUpIGRpZG4ndCBzaG93Ci0gKiB0aGlzIGEgd29ydGh3aGlsZSB0aGluZyB0byBkby4gIFRoYXQgbWlnaHQgYmUgZGlmZmVyZW50IGluIHRoZSBmdXR1cmUuCi0gKi8KLS8vI2RlZmluZSBDQUxHTihjb2RlLi4uKQljb2RlCi0jZGVmaW5lIENBTEdOKGNvZGUuLi4pCi0KLS8qCiAgKiBUaGVvcnkgb2Ygb3BlcmF0aW9uCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tCiAgKgpAQCAtODIsNyArNzQsNyBAQAogCQlzdG1mZAlzcCEsIHtyNSAtIHI4fQogCQlibHQJNWYKIAotCUNBTEdOKAlhbmRzCWlwLCByMSwgIzMxCQkpCisJQ0FMR04oCWFuZHMJaXAsIHIwLCAjMzEJCSkKIAlDQUxHTigJcnNiCXIzLCBpcCwgIzMyCQkpCiAJQ0FMR04oCXNiY25lcwlyNCwgcjMsIHIyCQkpICBAIEMgaXMgYWx3YXlzIHNldCBoZXJlCiAJQ0FMR04oCWJjcwkyZgkJCSkKQEAgLTE2OCw3ICsxNjAsNyBAQAogCQlzdWJzCXIyLCByMiwgIzI4CiAJCWJsdAkxNGYKIAotCUNBTEdOKAlhbmRzCWlwLCByMSwgIzMxCQkpCisJQ0FMR04oCWFuZHMJaXAsIHIwLCAjMzEJCSkKIAlDQUxHTigJcnNiCWlwLCBpcCwgIzMyCQkpCiAJQ0FMR04oCXNiY25lcwlyNCwgaXAsIHIyCQkpICBAIEMgaXMgYWx3YXlzIHNldCBoZXJlCiAJQ0FMR04oCXN1YmNjCXIyLCByMiwgaXAJCSkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2xpYi9tZW1tb3ZlLlMgYi9hcmNoL2FybS9saWIvbWVtbW92ZS5TCmluZGV4IGVmN2ZkZGMuLjJlMzAxYjcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2xpYi9tZW1tb3ZlLlMKKysrIGIvYXJjaC9hcm0vbGliL21lbW1vdmUuUwpAQCAtMTMsMTQgKzEzLDYgQEAKICNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CiAjaW5jbHVkZSA8YXNtL2Fzc2VtYmxlci5oPgogCi0vKgotICogVGhpcyBjYW4gYmUgdXNlZCB0byBlbmFibGUgY29kZSB0byBjYWNoZWxpbmUgYWxpZ24gdGhlIHNvdXJjZSBwb2ludGVyLgotICogRXhwZXJpbWVudHMgb24gdGVzdGVkIGFyY2hpdGVjdHVyZXMgKFN0cm9uZ0FSTSBhbmQgWFNjYWxlKSBkaWRuJ3Qgc2hvdwotICogdGhpcyBhIHdvcnRod2hpbGUgdGhpbmcgdG8gZG8uICBUaGF0IG1pZ2h0IGJlIGRpZmZlcmVudCBpbiB0aGUgZnV0dXJlLgotICovCi0vLyNkZWZpbmUgQ0FMR04oY29kZS4uLikgICAgICAgIGNvZGUKLSNkZWZpbmUgQ0FMR04oY29kZS4uLikKLQogCQkudGV4dAogCiAvKgpAQCAtNTUsMTEgKzQ3LDEyIEBACiAJCXN0bWZkCXNwISwge3I1IC0gcjh9CiAJCWJsdAk1ZgogCi0JQ0FMR04oCWFuZHMJaXAsIHIxLCAjMzEJCSkKKwlDQUxHTigJYW5kcwlpcCwgcjAsICMzMQkJKQogCUNBTEdOKAlzYmNuZXMJcjQsIGlwLCByMgkJKSAgQCBDIGlzIGFsd2F5cyBzZXQgaGVyZQogCUNBTEdOKAliY3MJMmYJCQkpCiAJQ0FMR04oCWFkcglyNCwgNmYJCQkpCiAJQ0FMR04oCXN1YnMJcjIsIHIyLCBpcAkJKSAgQCBDIGlzIHNldCBoZXJlCisJQ0FMR04oCXJzYglpcCwgaXAsICMzMgkJKQogCUNBTEdOKAlhZGQJcGMsIHI0LCBpcAkJKQogCiAJUExEKAlwbGQJW3IxLCAjLTRdCQkpCkBAIC0xMzgsOCArMTMxLDcgQEAKIAkJc3VicwlyMiwgcjIsICMyOAogCQlibHQJMTRmCiAKLQlDQUxHTigJYW5kcwlpcCwgcjEsICMzMQkJKQotCUNBTEdOKAlyc2IJaXAsIGlwLCAjMzIJCSkKKwlDQUxHTigJYW5kcwlpcCwgcjAsICMzMQkJKQogCUNBTEdOKAlzYmNuZXMJcjQsIGlwLCByMgkJKSAgQCBDIGlzIGFsd2F5cyBzZXQgaGVyZQogCUNBTEdOKAlzdWJjYwlyMiwgcjIsIGlwCQkpCiAJQ0FMR04oCWJjYwkxNWYJCQkpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9saWIvbWVtc2V0LlMgYi9hcmNoL2FybS9saWIvbWVtc2V0LlMKaW5kZXggOTViMTEwYi4uYjQ3N2Q0YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbGliL21lbXNldC5TCisrKyBiL2FyY2gvYXJtL2xpYi9tZW1zZXQuUwpAQCAtMzksNiArMzksOSBAQAogCW1vdglyMywgcjEKIAljbXAJcjIsICMxNgogCWJsdAk0ZgorCisjaWYgISBDQUxHTigxKSswCisKIC8qCiAgKiBXZSBuZWVkIGFuIGV4dHJhIHJlZ2lzdGVyIGZvciB0aGlzIGxvb3AgLSBzYXZlIHRoZSByZXR1cm4gYWRkcmVzcyBhbmQKICAqIHVzZSB0aGUgTFIKQEAgLTY0LDYgKzY3LDQ5IEBACiAJc3RtbmVpYQlyMCEsIHtyMSwgcjMsIGlwLCBscn0KIAlsZHIJbHIsIFtzcF0sICM0CiAKKyNlbHNlCisKKy8qCisgKiBUaGlzIHZlcnNpb24gYWxpZ25zIHRoZSBkZXN0aW5hdGlvbiBwb2ludGVyIGluIG9yZGVyIHRvIHdyaXRlCisgKiB3aG9sZSBjYWNoZSBsaW5lcyBhdCBvbmNlLgorICovCisKKwlzdG1mZAlzcCEsIHtyNC1yNywgbHJ9CisJbW92CXI0LCByMQorCW1vdglyNSwgcjEKKwltb3YJcjYsIHIxCisJbW92CXI3LCByMQorCW1vdglpcCwgcjEKKwltb3YJbHIsIHIxCisKKwljbXAJcjIsICM5NgorCXRzdGd0CXIwLCAjMzEKKwlibGUJM2YKKworCWFuZAlpcCwgcjAsICMzMQorCXJzYglpcCwgaXAsICMzMgorCXN1YglyMiwgcjIsIGlwCisJbW92cwlpcCwgaXAsIGxzbCAjKDMyIC0gNCkKKwlzdG1jc2lhCXIwISwge3I0LCByNSwgcjYsIHI3fQorCXN0bW1paWEJcjAhLCB7cjQsIHI1fQorCXRzdAlpcCwgIygxIDw8IDMwKQorCW1vdglpcCwgcjEKKwlzdHJuZQlyMSwgW3IwXSwgIzQKKworMzoJc3VicwlyMiwgcjIsICM2NAorCXN0bWdlaWEJcjAhLCB7cjEsIHIzLXI3LCBpcCwgbHJ9CisJc3RtZ2VpYQlyMCEsIHtyMSwgcjMtcjcsIGlwLCBscn0KKwliZ3QJM2IKKwlsZG1lcWZkCXNwISwge3I0LXI3LCBwY30KKworCXRzdAlyMiwgIzMyCisJc3RtbmVpYQlyMCEsIHtyMSwgcjMtcjcsIGlwLCBscn0KKwl0c3QJcjIsICMxNgorCXN0bW5laWEJcjAhLCB7cjQtcjd9CisJbGRtZmQJc3AhLCB7cjQtcjcsIGxyfQorCisjZW5kaWYKKwogNDoJdHN0CXIyLCAjOAogCXN0bW5laWEJcjAhLCB7cjEsIHIzfQogCXRzdAlyMiwgIzQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2xpYi9tZW16ZXJvLlMgYi9hcmNoL2FybS9saWIvbWVtemVyby5TCmluZGV4IGFiZjI1MDguLmI4Zjc5ZDggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2xpYi9tZW16ZXJvLlMKKysrIGIvYXJjaC9hcm0vbGliL21lbXplcm8uUwpAQCAtMzksNiArMzksOSBAQAogICovCiAJY21wCXIxLCAjMTYJCQlAIDEgd2UgY2FuIHNraXAgdGhpcyBjaHVuayBpZiB3ZQogCWJsdAk0ZgkJCUAgMSBoYXZlIDwgMTYgYnl0ZXMKKworI2lmICEgQ0FMR04oMSkrMAorCiAvKgogICogV2UgbmVlZCBhbiBleHRyYSByZWdpc3RlciBmb3IgdGhpcyBsb29wIC0gc2F2ZSB0aGUgcmV0dXJuIGFkZHJlc3MgYW5kCiAgKiB1c2UgdGhlIExSCkBAIC02NCw2ICs2Nyw0NyBAQAogCXN0bW5laWEJcjAhLCB7cjIsIHIzLCBpcCwgbHJ9CUAgNAogCWxkcglsciwgW3NwXSwgIzQJCUAgMQogCisjZWxzZQorCisvKgorICogVGhpcyB2ZXJzaW9uIGFsaWducyB0aGUgZGVzdGluYXRpb24gcG9pbnRlciBpbiBvcmRlciB0byB3cml0ZQorICogd2hvbGUgY2FjaGUgbGluZXMgYXQgb25jZS4KKyAqLworCisJc3RtZmQJc3AhLCB7cjQtcjcsIGxyfQorCW1vdglyNCwgcjIKKwltb3YJcjUsIHIyCisJbW92CXI2LCByMgorCW1vdglyNywgcjIKKwltb3YJaXAsIHIyCisJbW92CWxyLCByMgorCisJY21wCXIxLCAjOTYKKwlhbmRndHMJaXAsIHIwLCAjMzEKKwlibGUJM2YKKworCXJzYglpcCwgaXAsICMzMgorCXN1YglyMSwgcjEsIGlwCisJbW92cwlpcCwgaXAsIGxzbCAjKDMyIC0gNCkKKwlzdG1jc2lhCXIwISwge3I0LCByNSwgcjYsIHI3fQorCXN0bW1paWEJcjAhLCB7cjQsIHI1fQorCW1vdnMJaXAsIGlwLCBsc2wgIzIKKwlzdHJjcwlyMiwgW3IwXSwgIzQKKworMzoJc3VicwlyMSwgcjEsICM2NAorCXN0bWdlaWEJcjAhLCB7cjItcjcsIGlwLCBscn0KKwlzdG1nZWlhCXIwISwge3IyLXI3LCBpcCwgbHJ9CisJYmd0CTNiCisJbGRtZXFmZAlzcCEsIHtyNC1yNywgcGN9CisKKwl0c3QJcjEsICMzMgorCXN0bW5laWEJcjAhLCB7cjItcjcsIGlwLCBscn0KKwl0c3QJcjEsICMxNgorCXN0bW5laWEJcjAhLCB7cjQtcjd9CisJbGRtZmQJc3AhLCB7cjQtcjcsIGxyfQorCisjZW5kaWYKKwogNDoJdHN0CXIxLCAjOAkJCUAgMSA4IGJ5dGVzIG9yIG1vcmU/CiAJc3RtbmVpYQlyMCEsIHtyMiwgcjN9CQlAIDIKIAl0c3QJcjEsICM0CQkJQCAxIDQgYnl0ZXMgb3IgbW9yZT8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1hdDkxL0tjb25maWcKaW5kZXggMGZjMDdiNi4uNWJhZDZiOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL0tjb25maWcKQEAgLTMwLDYgKzMwLDExIEBACiAJc2VsZWN0IEdFTkVSSUNfVElNRQogCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCiAKK2NvbmZpZyBBUkNIX0FUOTFTQU05RzIwCisJYm9vbCAiQVQ5MVNBTTlHMjAiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCisKIGNvbmZpZyBBUkNIX0FUOTFDQVA5CiAJYm9vbCAiQVQ5MUNBUDkiCiAJc2VsZWN0IEdFTkVSSUNfVElNRQpAQCAtMTI2LDYgKzEzMSwxMiBAQAogCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBlbVFiaXQncyBFQ0JfQVQ5MSBib2FyZC4KIAkgIDxodHRwOi8vd2lraS5lbXFiaXQuY29tL2ZyZWUtZWNiLWF0OTE+CiAKK2NvbmZpZyBNQUNIX1lMOTIwMAorCWJvb2wgInVjRHJhZ29uIFlMLTkyMDAiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFSTTkyMDAKKwloZWxwCisJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIHRoZSB1Y0RyYWdvbiBZTC05MjAwIGJvYXJkLgorCiBlbmRpZgogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTE2NCw2ICsxNzUsMjAgQEAKIAkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgT2xpbWV4J3MgU0FNOS1MOTI2MCBib2FyZCBiYXNlZCBvbiB0aGUgQXRtZWwgQVQ5MVNBTTkyNjAuCiAJICA8aHR0cDovL3d3dy5vbGltZXguY29tL2Rldi9zYW05LUw5MjYwLmh0bWw+CiAKK2NvbmZpZyBNQUNIX1VTQl9BOTI2MAorCWJvb2wgIkNBTEFPIFVTQi1BOTI2MCIKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVNBTTkyNjAKKwloZWxwCisJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIGEgQ2FsYW8gU3lzdGVtcyBVU0ItQTkyNjAuCisJICA8aHR0cDovL3d3dy5jYWxhby1zeXN0ZW1zLmNvbT4KKworY29uZmlnIE1BQ0hfUUlMX0E5MjYwCisJYm9vbCAiQ0FMQU8gUUlMLUE5MjYwIGJvYXJkIgorCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MAorCWhlbHAKKwkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgYSBDYWxhbyBTeXN0ZW1zIFFJTC1BOTI2MCBCb2FyZC4KKwkgIDxodHRwOi8vd3d3LmNhbGFvLXN5c3RlbXMuY29tPgorCiBlbmRpZgogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTE5NCw2ICsyMTksMTMgQEAKIAkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgQXRtZWwncyBBVDkxU0FNOTI2My1FSyBFdmFsdWF0aW9uIEtpdC4KIAkgIDxodHRwOi8vd3d3LmF0bWVsLmNvbS9keW4vcHJvZHVjdHMvdG9vbHNfY2FyZC5hc3A/dG9vbF9pZD00MDU3PgogCitjb25maWcgTUFDSF9VU0JfQTkyNjMKKwlib29sICJDQUxBTyBVU0ItQTkyNjMiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYzCisJaGVscAorCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBhIENhbGFvIFN5c3RlbXMgVVNCLUE5MjYzLgorCSAgPGh0dHA6Ly93d3cuY2FsYW8tc3lzdGVtcy5jb20+CisKIGVuZGlmCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjEyLDYgKzI0NCwyMCBAQAogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAoraWYgQVJDSF9BVDkxU0FNOUcyMAorCitjb21tZW50ICJBVDkxU0FNOUcyMCBCb2FyZCBUeXBlIgorCitjb25maWcgTUFDSF9BVDkxU0FNOUcyMEVLCisJYm9vbCAiQXRtZWwgQVQ5MVNBTTlHMjAtRUsgRXZhbHVhdGlvbiBLaXQiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05RzIwCisJaGVscAorCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBBdG1lbCdzIEFUOTFTQU05RzIwLUVLIEV2YWx1YXRpb24gS2l0LgorCitlbmRpZgorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwogaWYgQVJDSF9BVDkxQ0FQOQogCiBjb21tZW50ICJBVDkxQ0FQOSBCb2FyZCBUeXBlIgpAQCAtMjQ3LDEzICsyOTMsMTMgQEAKIAogY29uZmlnIE1URF9BVDkxX0RBVEFGTEFTSF9DQVJECiAJYm9vbCAiRW5hYmxlIERhdGFGbGFzaCBDYXJkIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiAoQVJDSF9BVDkxUk05MjAwREsgfHwgTUFDSF9BVDkxUk05MjAwRUsgfHwgTUFDSF9BVDkxU0FNOTI2MEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjFFSyB8fCBNQUNIX0FUOTFTQU05MjYzRUsgfHwgTUFDSF9BVDkxQ0FQOUFESyB8fCBNQUNIX1NBTTlfTDkyNjAgfHwgTUFDSF9FQ0JBVDkxKQorCWRlcGVuZHMgb24gKEFSQ0hfQVQ5MVJNOTIwMERLIHx8IE1BQ0hfQVQ5MVJNOTIwMEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjBFSyB8fCBNQUNIX0FUOTFTQU05MjYxRUsgfHwgTUFDSF9BVDkxU0FNOTI2M0VLIHx8IE1BQ0hfQVQ5MVNBTTlHMjBFSyB8fCBNQUNIX0VDQkFUOTEgfHwgTUFDSF9TQU05X0w5MjYwIHx8IE1BQ0hfQVQ5MUNBUDlBREspCiAJaGVscAogCSAgRW5hYmxlIHN1cHBvcnQgZm9yIHRoZSBEYXRhRmxhc2ggY2FyZC4KIAogY29uZmlnIE1URF9OQU5EX0FUOTFfQlVTV0lEVEhfMTYKIAlib29sICJFbmFibGUgMTYtYml0IGRhdGEgYnVzIGludGVyZmFjZSB0byBOQU5EIGZsYXNoIgotCWRlcGVuZHMgb24gKE1BQ0hfQVQ5MVNBTTkyNjBFSyB8fCBNQUNIX0FUOTFTQU05MjYxRUsgfHwgTUFDSF9BVDkxU0FNOTI2M0VLIHx8IE1BQ0hfQVQ5MUNBUDlBREspCisJZGVwZW5kcyBvbiAoTUFDSF9BVDkxU0FNOTI2MEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjFFSyB8fCBNQUNIX0FUOTFTQU05MjYzRUsgfHwgTUFDSF9BVDkxU0FNOUcyMEVLIHx8IE1BQ0hfQVQ5MUNBUDlBREspCiAJaGVscAogCSAgT24gQVQ5MVNBTTkyNnggYm9hcmRzIGJvdGggdHlwZXMgb2YgTkFORCBmbGFzaCBjYW4gYmUgcHJlc2VudAogCSAgKDggYW5kIDE2IGJpdCBkYXRhIGJ1cyB3aWR0aCkuCkBAIC0zMDIsMTUgKzM0OCwxNSBAQAogCiBjb25maWcgQVQ5MV9FQVJMWV9VU0FSVDMKIAlib29sICJVU0FSVDMiCi0JZGVwZW5kcyBvbiAoQVJDSF9BVDkxUk05MjAwIHx8IEFSQ0hfQVQ5MVNBTTlSTCB8fCBBUkNIX0FUOTFTQU05MjYwKQorCWRlcGVuZHMgb24gKEFSQ0hfQVQ5MVJNOTIwMCB8fCBBUkNIX0FUOTFTQU05UkwgfHwgQVJDSF9BVDkxU0FNOTI2MCB8fCBBUkNIX0FUOTFTQU05RzIwKQogCiBjb25maWcgQVQ5MV9FQVJMWV9VU0FSVDQKIAlib29sICJVU0FSVDQiCi0JZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYwCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTlHMjAKIAogY29uZmlnIEFUOTFfRUFSTFlfVVNBUlQ1CiAJYm9vbCAiVVNBUlQ1IgotCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MAorCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MCB8fCBBUkNIX0FUOTFTQU05RzIwCiAKIGVuZGNob2ljZQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLWF0OTEvTWFrZWZpbGUKaW5kZXggOGQ5YmMwMS4uN2Q2NDFmOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9NYWtlZmlsZQpAQCAtMTUsNiArMTUsNyBAQAogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEpCSs9IGF0OTFzYW05MjYxLm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFzYW05MjYxX2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMpCSs9IGF0OTFzYW05MjYzLm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFzYW05MjYzX2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlSTCkJKz0gYXQ5MXNhbTlybC5vIGF0OTFzYW05MjZ4X3RpbWUubyBhdDkxc2FtOXJsX2RldmljZXMubworb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApCSs9IGF0OTFzYW05MjYwLm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFzYW05MjYwX2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MUNBUDkpCSs9IGF0OTFjYXA5Lm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFjYXA5X2RldmljZXMubwogb2JqLSQoQ09ORklHX0FSQ0hfQVQ5MVg0MCkJKz0gYXQ5MXg0MC5vIGF0OTF4NDBfdGltZS5vCiAKQEAgLTMwLDIxICszMSwyOCBAQAogb2JqLSQoQ09ORklHX01BQ0hfS0FGQSkJCSs9IGJvYXJkLWthZmEubwogb2JqLSQoQ09ORklHX01BQ0hfUElDT1RVWDJYWCkJKz0gYm9hcmQtcGljb3R1eDIwMC5vCiBvYmotJChDT05GSUdfTUFDSF9FQ0JBVDkxKQkrPSBib2FyZC1lY2JhdDkxLm8KK29iai0kKENPTkZJR19NQUNIX1lMOTIwMCkJKz0gYm9hcmQteWwtOTIwMC5vCiAKICMgQVQ5MVNBTTkyNjAgYm9hcmQtc3BlY2lmaWMgc3VwcG9ydAogb2JqLSQoQ09ORklHX01BQ0hfQVQ5MVNBTTkyNjBFSykgKz0gYm9hcmQtc2FtOTI2MGVrLm8KIG9iai0kKENPTkZJR19NQUNIX0NBTTYwKQkrPSBib2FyZC1jYW02MC5vCiBvYmotJChDT05GSUdfTUFDSF9TQU05X0w5MjYwKQkrPSBib2FyZC1zYW05LWw5MjYwLm8KK29iai0kKENPTkZJR19NQUNIX1VTQl9BOTI2MCkJKz0gYm9hcmQtdXNiLWE5MjYwLm8KK29iai0kKENPTkZJR19NQUNIX1FJTF9BOTI2MCkJKz0gYm9hcmQtcWlsLWE5MjYwLm8KIAogIyBBVDkxU0FNOTI2MSBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CiBvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOTI2MUVLKSArPSBib2FyZC1zYW05MjYxZWsubwogCiAjIEFUOTFTQU05MjYzIGJvYXJkLXNwZWNpZmljIHN1cHBvcnQKIG9iai0kKENPTkZJR19NQUNIX0FUOTFTQU05MjYzRUspICs9IGJvYXJkLXNhbTkyNjNlay5vCitvYmotJChDT05GSUdfTUFDSF9VU0JfQTkyNjMpCSs9IGJvYXJkLXVzYi1hOTI2My5vCiAKICMgQVQ5MVNBTTlSTCBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CiBvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOVJMRUspCSs9IGJvYXJkLXNhbTlybGVrLm8KIAorIyBBVDkxU0FNOUcyMCBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CitvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOUcyMEVLKSArPSBib2FyZC1zYW05ZzIwZWsubworCiAjIEFUOTFDQVA5IGJvYXJkLXNwZWNpZmljIHN1cHBvcnQKIG9iai0kKENPTkZJR19NQUNIX0FUOTFDQVA5QURLKQkrPSBib2FyZC1jYXA5YWRrLm8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFjYXA5X2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxY2FwOV9kZXZpY2VzLmMKaW5kZXggYmU1MjY3NC4uNzQ3YjlkZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFjYXA5X2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MWNhcDlfZGV2aWNlcy5jCkBAIC04NCw2ICs4NCwxMDUgQEAKIAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogIFVTQiBIUyBEZXZpY2UgKEdhZGdldCkKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKyNpZiBkZWZpbmVkKENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEpIHx8IGRlZmluZWQoQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQV9NT0RVTEUpCisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdXNiYV91ZGNfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBBVDkxQ0FQOV9VRFBIU19GSUZPLAorCQkuZW5kCT0gQVQ5MUNBUDlfVURQSFNfRklGTyArIFNaXzUxMksgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0CT0gQVQ5MUNBUDlfQkFTRV9VRFBIUywKKwkJLmVuZAk9IEFUOTFDQVA5X0JBU0VfVURQSFMgKyBTWl8xSyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzJdID0geworCQkuc3RhcnQJPSBBVDkxQ0FQOV9JRF9VRFBIUywKKwkJLmVuZAk9IEFUOTFDQVA5X0lEX1VEUEhTLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworI2RlZmluZSBFUChuYW0sIGlkeCwgbWF4cGt0LCBtYXhiaywgZG1hLCBpc29jKQkJCVwKKwlbaWR4XSA9IHsJCQkJCQlcCisJCS5uYW1lCQk9IG5hbSwJCQkJXAorCQkuaW5kZXgJCT0gaWR4LAkJCQlcCisJCS5maWZvX3NpemUJPSBtYXhwa3QsCQkJXAorCQkubnJfYmFua3MJPSBtYXhiaywJCQlcCisJCS5jYW5fZG1hCT0gZG1hLAkJCQlcCisJCS5jYW5faXNvYwk9IGlzb2MsCQkJCVwKKwl9CisKK3N0YXRpYyBzdHJ1Y3QgdXNiYV9lcF9kYXRhIHVzYmFfdWRjX2VwW10gPSB7CisJRVAoImVwMCIsIDAsICAgNjQsIDEsIDAsIDApLAorCUVQKCJlcDEiLCAxLCAxMDI0LCAzLCAxLCAxKSwKKwlFUCgiZXAyIiwgMiwgMTAyNCwgMywgMSwgMSksCisJRVAoImVwMyIsIDMsIDEwMjQsIDIsIDEsIDEpLAorCUVQKCJlcDQiLCA0LCAxMDI0LCAyLCAxLCAxKSwKKwlFUCgiZXA1IiwgNSwgMTAyNCwgMiwgMSwgMCksCisJRVAoImVwNiIsIDYsIDEwMjQsIDIsIDEsIDApLAorCUVQKCJlcDciLCA3LCAxMDI0LCAyLCAwLCAwKSwKK307CisKKyN1bmRlZiBFUAorCisvKgorICogcGRhdGEgZG9lc24ndCBoYXZlIHJvb20gZm9yIGFueSBlbmRwb2ludHMsIHNvIHdlIG5lZWQgdG8KKyAqIGFwcGVuZCByb29tIGZvciB0aGUgb25lcyB3ZSBuZWVkIHJpZ2h0IGFmdGVyIGl0LgorICovCitzdGF0aWMgc3RydWN0IHsKKwlzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhIHBkYXRhOworCXN0cnVjdCB1c2JhX2VwX2RhdGEgZXBbOF07Cit9IHVzYmFfdWRjX2RhdGE7CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF0OTFfdXNiYV91ZGNfZGV2aWNlID0geworCS5uYW1lCQk9ICJhdG1lbF91c2JhX3VkYyIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkJCS5wbGF0Zm9ybV9kYXRhCT0gJnVzYmFfdWRjX2RhdGEucGRhdGEsCisJfSwKKwkucmVzb3VyY2UJPSB1c2JhX3VkY19yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHVzYmFfdWRjX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKQoreworCWF0OTFfc3lzX3dyaXRlKEFUOTFfTUFUUklYX1VEUEhTLCBBVDkxX01BVFJJWF9TRUxFQ1RfVURQSFMgfAorCQkJCQkgIEFUOTFfTUFUUklYX1VEUEhTX0JZUEFTU19MT0NLKTsKKworCS8qCisJICogSW52YWxpZCBwaW5zIGFyZSAwIG9uIEFUOTEsIGJ1dCB0aGUgdXNiYSBkcml2ZXIgaXMgc2hhcmVkCisJICogd2l0aCBBVlIzMiwgd2hpY2ggdXNlIG5lZ2F0aXZlIHZhbHVlcyBpbnN0ZWFkLiBPbmNlL2lmCisJICogZ3Bpb19pc192YWxpZCgpIGlzIHBvcnRlZCB0byBBVDkxLCByZXZpc2l0IHRoaXMgY29kZS4KKwkgKi8KKwl1c2JhX3VkY19kYXRhLnBkYXRhLnZidXNfcGluID0gLUVJTlZBTDsKKwl1c2JhX3VkY19kYXRhLnBkYXRhLm51bV9lcCA9IEFSUkFZX1NJWkUodXNiYV91ZGNfZXApOworCW1lbWNweSh1c2JhX3VkY19kYXRhLmVwLCB1c2JhX3VkY19lcCwgc2l6ZW9mKHVzYmFfdWRjX2VwKSk7OworCisJaWYgKGRhdGEgJiYgZGF0YS0+dmJ1c19waW4gPiAwKSB7CisJCWF0OTFfc2V0X2dwaW9faW5wdXQoZGF0YS0+dmJ1c19waW4sIDApOworCQlhdDkxX3NldF9kZWdsaXRjaChkYXRhLT52YnVzX3BpbiwgMSk7CisJCXVzYmFfdWRjX2RhdGEucGRhdGEudmJ1c19waW4gPSBkYXRhLT52YnVzX3BpbjsKKwl9CisKKwkvKiBQdWxsdXAgcGluIGlzIGhhbmRsZWQgaW50ZXJuYWxseSBieSBVU0IgZGV2aWNlIHBlcmlwaGVyYWwgKi8KKworCS8qIENsb2NrcyAqLworCWF0OTFfY2xvY2tfYXNzb2NpYXRlKCJ1dG1pX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJoY2xrIik7CisJYXQ5MV9jbG9ja19hc3NvY2lhdGUoInVkcGhzX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJwY2xrIik7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmF0OTFfdXNiYV91ZGNfZGV2aWNlKTsKK30KKyNlbHNlCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKSB7fQorI2VuZGlmCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqICBFdGhlcm5ldAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjAuYwppbmRleCBlZTI2NTUwLi4zODBmMTJhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjAuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjAuYwpAQCAtNDcsNiArNDcsMjAgQEAKIAl9CiB9OwogCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGF0OTFzYW05ZzIwX3NyYW1fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IEFUOTFfSU9fVklSVF9CQVNFIC0gQVQ5MVNBTTlHMjBfU1JBTTBfU0laRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEFUOTFTQU05RzIwX1NSQU0wX0JBU0UpLAorCQkubGVuZ3RoCQk9IEFUOTFTQU05RzIwX1NSQU0wX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CisJCS52aXJ0dWFsCT0gQVQ5MV9JT19WSVJUX0JBU0UgLSBBVDkxU0FNOUcyMF9TUkFNMF9TSVpFIC0gQVQ5MVNBTTlHMjBfU1JBTTFfU0laRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEFUOTFTQU05RzIwX1NSQU0xX0JBU0UpLAorCQkubGVuZ3RoCQk9IEFUOTFTQU05RzIwX1NSQU0xX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9Cit9OworCiBzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGF0OTFzYW05eGVfc3JhbV9kZXNjW10gX19pbml0ZGF0YSA9IHsKIAl7CiAJCS5wZm4JCT0gX19waHlzX3RvX3BmbihBVDkxU0FNOVhFX1NSQU1fQkFTRSksCkBAIC0zMDcsNiArMzIxLDggQEAKIAogCWlmIChjcHVfaXNfYXQ5MXNhbTl4ZSgpKQogCQlhdDkxc2FtOXhlX2luaXRpYWxpemUoKTsKKwllbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTlnMjAoKSkKKwkJaW90YWJsZV9pbml0KGF0OTFzYW05ZzIwX3NyYW1fZGVzYywgQVJSQVlfU0laRShhdDkxc2FtOWcyMF9zcmFtX2Rlc2MpKTsKIAllbHNlCiAJCWlvdGFibGVfaW5pdChhdDkxc2FtOTI2MF9zcmFtX2Rlc2MsIEFSUkFZX1NJWkUoYXQ5MXNhbTkyNjBfc3JhbV9kZXNjKSk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MF9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjBfZGV2aWNlcy5jCmluZGV4IDM5M2EzMmEuLjg2Y2JhNGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MF9kZXZpY2VzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwX2RldmljZXMuYwpAQCAtMTgsNiArMTgsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY3B1Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXNhbTkyNjAuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOTI2MF9tYXRyaXguaD4KICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOV9zbWMuaD4KQEAgLTMyMCwyMCArMzIxLDQxIEBACiAJY3NhID0gYXQ5MV9zeXNfcmVhZChBVDkxX01BVFJJWF9FQklDU0EpOwogCWF0OTFfc3lzX3dyaXRlKEFUOTFfTUFUUklYX0VCSUNTQSwgY3NhIHwgQVQ5MV9NQVRSSVhfQ1MzQV9TTUNfU01BUlRNRURJQSk7CiAKLQkvKiBzZXQgdGhlIGJ1cyBpbnRlcmZhY2UgY2hhcmFjdGVyaXN0aWNzICovCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygwKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQotCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOworCWlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSkgeworCQkvKiBUaW1pbmcgZm9yIHNhbTkyNjAgKi8KKwkJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygzKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXygzKQotCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDMpCisJCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg1KSB8IEFUOTFfU01DX05SRENZQ0xFXyg1KSk7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNSkgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNSkpOwogCi0JaWYgKGRhdGEtPmJ1c193aWR0aF8xNikKLQkJbW9kZSA9IEFUOTFfU01DX0RCV18xNjsKLQllbHNlCi0JCW1vZGUgPSBBVDkxX1NNQ19EQldfODsKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBtb2RlIHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygyKSk7CisJCWlmIChkYXRhLT5idXNfd2lkdGhfMTYpCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzE2OworCQllbHNlCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzg7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIG1vZGUgfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDIpKTsKKwl9CisKKwlpZiAoY3B1X2lzX2F0OTFzYW05ZzIwKCkpIHsKKwkJLyogVGltaW5nIGZvciBzYW05ZzIwICovCisJCS8qIHNldCB0aGUgYnVzIGludGVyZmFjZSBjaGFyYWN0ZXJpc3RpY3MgKi8KKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygyKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQorCQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDIpIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDQpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDQpCisJCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oNCkgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oNCkpOworCisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNykgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNykpOworCisJCWlmIChkYXRhLT5idXNfd2lkdGhfMTYpCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzE2OworCQllbHNlCisJCQltb2RlID0gQVQ5MV9TTUNfREJXXzg7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIG1vZGUgfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDMpKTsKKwl9CiAKIAkvKiBlbmFibGUgcGluICovCiAJaWYgKGRhdGEtPmVuYWJsZV9waW4pCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjFfZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYxX2RldmljZXMuYwppbmRleCAwYmFiYjY0Li5lYzE4OTEzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjFfZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MV9kZXZpY2VzLmMKQEAgLTIzMiwxOSArMjMyLDE5IEBACiAJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9NQVRSSVhfRUJJQ1NBLCBjc2EgfCBBVDkxX01BVFJJWF9DUzNBX1NNQ19TTUFSVE1FRElBKTsKIAogCS8qIHNldCB0aGUgYnVzIGludGVyZmFjZSBjaGFyYWN0ZXJpc3RpY3MgKi8KLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCi0JCQl8IEFUOTFfU01DX05SRFNFVFVQXygwKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygxKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQorCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygyKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXyg1KQotCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMikgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oNSkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1BVTFNFKDMpLCBBVDkxX1NNQ19OV0VQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfV1JQVUxTRV8oMykKKwkJCXwgQVQ5MV9TTUNfTlJEUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1JEUFVMU0VfKDMpKTsKIAotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNykgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNykpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNSkgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNSkpOwogCiAJaWYgKGRhdGEtPmJ1c193aWR0aF8xNikKIAkJbW9kZSA9IEFUOTFfU01DX0RCV18xNjsKIAllbHNlCiAJCW1vZGUgPSBBVDkxX1NNQ19EQldfODsKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBtb2RlIHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygxKSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfTU9ERSgzKSwgbW9kZSB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMikpOwogCiAJLyogZW5hYmxlIHBpbiAqLwogCWlmIChkYXRhLT5lbmFibGVfcGluKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYzX2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2M19kZXZpY2VzLmMKaW5kZXggNzE5NjY3ZS4uOGE4MWY3NiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYzX2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjNfZGV2aWNlcy5jCkBAIC0zOTEsOCArMzkxLDggQEAKIAlhdDkxX3N5c193cml0ZShBVDkxX01BVFJJWF9FQkkwQ1NBLCBjc2EgfCBBVDkxX01BVFJJWF9FQkkwX0NTM0FfU01DX1NNQVJUTUVESUEpOwogCiAJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKLQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQl8IEFUOTFfU01DX05SRFNFVFVQXygxKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CiAKIAlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDMpCiAJCQl8IEFUOTFfU01DX05SRFBVTFNFXygzKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXygzKSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTlybF9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTlybF9kZXZpY2VzLmMKaW5kZXggNDUwZGIzMC4uYWUyODEwMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05cmxfZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOXJsX2RldmljZXMuYwpAQCAtMjYsNiArMjYsMTAxIEBACiAKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqICBVU0IgSFMgRGV2aWNlIChHYWRnZXQpCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjaWYgZGVmaW5lZChDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBKSB8fCBkZWZpbmVkKENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkFfTU9EVUxFKQorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVzYmFfdWRjX3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gQVQ5MVNBTTlSTF9VRFBIU19GSUZPLAorCQkuZW5kCT0gQVQ5MVNBTTlSTF9VRFBIU19GSUZPICsgU1pfNTEySyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzFdID0geworCQkuc3RhcnQJPSBBVDkxU0FNOVJMX0JBU0VfVURQSFMsCisJCS5lbmQJPSBBVDkxU0FNOVJMX0JBU0VfVURQSFMgKyBTWl8xSyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzJdID0geworCQkuc3RhcnQJPSBBVDkxU0FNOVJMX0lEX1VEUEhTLAorCQkuZW5kCT0gQVQ5MVNBTTlSTF9JRF9VRFBIUywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKKyNkZWZpbmUgRVAobmFtLCBpZHgsIG1heHBrdCwgbWF4YmssIGRtYSwgaXNvYykJCQlcCisJW2lkeF0gPSB7CQkJCQkJXAorCQkubmFtZQkJPSBuYW0sCQkJCVwKKwkJLmluZGV4CQk9IGlkeCwJCQkJXAorCQkuZmlmb19zaXplCT0gbWF4cGt0LAkJCVwKKwkJLm5yX2JhbmtzCT0gbWF4YmssCQkJXAorCQkuY2FuX2RtYQk9IGRtYSwJCQkJXAorCQkuY2FuX2lzb2MJPSBpc29jLAkJCQlcCisJfQorCitzdGF0aWMgc3RydWN0IHVzYmFfZXBfZGF0YSB1c2JhX3VkY19lcFtdIF9faW5pdGRhdGEgPSB7CisJRVAoImVwMCIsIDAsIDY0LCAxLCAwLCAwKSwKKwlFUCgiZXAxIiwgMSwgMTAyNCwgMiwgMSwgMSksCisJRVAoImVwMiIsIDIsIDEwMjQsIDIsIDEsIDEpLAorCUVQKCJlcDMiLCAzLCAxMDI0LCAzLCAxLCAwKSwKKwlFUCgiZXA0IiwgNCwgMTAyNCwgMywgMSwgMCksCisJRVAoImVwNSIsIDUsIDEwMjQsIDMsIDEsIDEpLAorCUVQKCJlcDYiLCA2LCAxMDI0LCAzLCAxLCAxKSwKK307CisKKyN1bmRlZiBFUAorCisvKgorICogcGRhdGEgZG9lc24ndCBoYXZlIHJvb20gZm9yIGFueSBlbmRwb2ludHMsIHNvIHdlIG5lZWQgdG8KKyAqIGFwcGVuZCByb29tIGZvciB0aGUgb25lcyB3ZSBuZWVkIHJpZ2h0IGFmdGVyIGl0LgorICovCitzdGF0aWMgc3RydWN0IHsKKwlzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhIHBkYXRhOworCXN0cnVjdCB1c2JhX2VwX2RhdGEgZXBbN107Cit9IHVzYmFfdWRjX2RhdGE7CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF0OTFfdXNiYV91ZGNfZGV2aWNlID0geworCS5uYW1lCQk9ICJhdG1lbF91c2JhX3VkYyIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkJCS5wbGF0Zm9ybV9kYXRhCT0gJnVzYmFfdWRjX2RhdGEucGRhdGEsCisJfSwKKwkucmVzb3VyY2UJPSB1c2JhX3VkY19yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHVzYmFfdWRjX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKQoreworCS8qCisJICogSW52YWxpZCBwaW5zIGFyZSAwIG9uIEFUOTEsIGJ1dCB0aGUgdXNiYSBkcml2ZXIgaXMgc2hhcmVkCisJICogd2l0aCBBVlIzMiwgd2hpY2ggdXNlIG5lZ2F0aXZlIHZhbHVlcyBpbnN0ZWFkLiBPbmNlL2lmCisJICogZ3Bpb19pc192YWxpZCgpIGlzIHBvcnRlZCB0byBBVDkxLCByZXZpc2l0IHRoaXMgY29kZS4KKwkgKi8KKwl1c2JhX3VkY19kYXRhLnBkYXRhLnZidXNfcGluID0gLUVJTlZBTDsKKwl1c2JhX3VkY19kYXRhLnBkYXRhLm51bV9lcCA9IEFSUkFZX1NJWkUodXNiYV91ZGNfZXApOworCW1lbWNweSh1c2JhX3VkY19kYXRhLmVwLCB1c2JhX3VkY19lcCwgc2l6ZW9mKHVzYmFfdWRjX2VwKSk7OworCisJaWYgKGRhdGEgJiYgZGF0YS0+dmJ1c19waW4gPiAwKSB7CisJCWF0OTFfc2V0X2dwaW9faW5wdXQoZGF0YS0+dmJ1c19waW4sIDApOworCQlhdDkxX3NldF9kZWdsaXRjaChkYXRhLT52YnVzX3BpbiwgMSk7CisJCXVzYmFfdWRjX2RhdGEucGRhdGEudmJ1c19waW4gPSBkYXRhLT52YnVzX3BpbjsKKwl9CisKKwkvKiBQdWxsdXAgcGluIGlzIGhhbmRsZWQgaW50ZXJuYWxseSBieSBVU0IgZGV2aWNlIHBlcmlwaGVyYWwgKi8KKworCS8qIENsb2NrcyAqLworCWF0OTFfY2xvY2tfYXNzb2NpYXRlKCJ1dG1pX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJoY2xrIik7CisJYXQ5MV9jbG9ja19hc3NvY2lhdGUoInVkcGhzX2NsayIsICZhdDkxX3VzYmFfdWRjX2RldmljZS5kZXYsICJwY2xrIik7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmF0OTFfdXNiYV91ZGNfZGV2aWNlKTsKK30KKyNlbHNlCit2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdXNiYShzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhICpkYXRhKSB7fQorI2VuZGlmCisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqICBNTUMgLyBTRAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTM4LDE1ICsyMzMsMTUgQEAKIAlhdDkxX3N5c193cml0ZShBVDkxX01BVFJJWF9FQklDU0EsIGNzYSB8IEFUOTFfTUFUUklYX0NTM0FfU01DX1NNQVJUTUVESUEpOwogCiAJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKLQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQl8IEFUOTFfU01DX05SRFNFVFVQXygxKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDIpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDUpCi0JCQl8IEFUOTFfU01DX05SRFBVTFNFXygyKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXyg1KSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygzKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXygzKQorCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg3KSB8IEFUOTFfU01DX05SRENZQ0xFXyg3KSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg1KSB8IEFUOTFfU01DX05SRENZQ0xFXyg1KSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBBVDkxX1NNQ19EQldfOCB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMSkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIEFUOTFfU01DX0RCV184IHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygyKSk7CiAKIAkvKiBlbmFibGUgcGluICovCiAJaWYgKGRhdGEtPmVuYWJsZV9waW4pCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FwOWFkay5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcDlhZGsuYwppbmRleCBlNTUxMmQxLi44YTJhOTU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FwOWFkay5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXA5YWRrLmMKQEAgLTc4LDYgKzc4LDEyIEBACiAJLnBvcnRzCQk9IDIsCiB9OwogCisvKgorICogVVNCIEhTIERldmljZSBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgdXNiYV9wbGF0Zm9ybV9kYXRhIF9faW5pdGRhdGEgY2FwOWFka191c2JhX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BCMzEsCit9OwogCiAvKgogICogQURTNzg0NiBUb3VjaHNjcmVlbgpAQCAtMzI2LDYgKzMzMiw5IEBACiAJLyogVVNCIEhvc3QgKi8KIAlzZXRfaXJxX3R5cGUoQVQ5MUNBUDlfSURfVUhQLCBJUlFUX0hJR0gpOwogCWF0OTFfYWRkX2RldmljZV91c2JoKCZjYXA5YWRrX3VzYmhfZGF0YSk7CisJLyogVVNCIEhTICovCisJc2V0X2lycV90eXBlKEFUOTFDQVA5X0lEX1VEUEhTLCBJUlFUX0hJR0gpOworCWF0OTFfYWRkX2RldmljZV91c2JhKCZjYXA5YWRrX3VzYmFfdWRjX2RhdGEpOwogCS8qIFNQSSAqLwogCWF0OTFfYWRkX2RldmljZV9zcGkoY2FwOWFka19zcGlfZGV2aWNlcywgQVJSQVlfU0laRShjYXA5YWRrX3NwaV9kZXZpY2VzKSk7CiAJLyogVG91Y2hzY3JlZW4gKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXJtZXZhLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FybWV2YS5jCmluZGV4IDBmMDg3ODIuLjk4NTRmYzMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXJtZXZhLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcm1ldmEuYwpAQCAtNDAsMjQgKzQwLDIxIEBACiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiAKLS8qCi0gKiBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uLgotICogICAgMCAuLiAzID0gVVNBUlQwIC4uIFVTQVJUMwotICogICAgNCAgICAgID0gREJHVQotICovCi1zdGF0aWMgc3RydWN0IGF0OTFfdWFydF9jb25maWcgX19pbml0ZGF0YSBjYXJtZXZhX3VhcnRfY29uZmlnID0gewotCS5jb25zb2xlX3R0eQk9IDAsCQkJCS8qIHR0eVMwICovCi0JLm5yX3R0eQkJPSAyLAotCS50dHlfbWFwCT0geyA0LCAxLCAtMSwgLTEsIC0xIH0JCS8qIHR0eVMwLCAuLi4sIHR0eVM0ICovCi19OwotCiBzdGF0aWMgdm9pZCBfX2luaXQgY2FybWV2YV9tYXBfaW8odm9pZCkKIHsKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMjAuMDAwIE1IeiBjcnlzdGFsICovCiAJYXQ5MXJtOTIwMF9pbml0aWFsaXplKDIwMDAwMDAwLCBBVDkxUk05MjAwX0JHQSk7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgmY2FybWV2YV91YXJ0X2NvbmZpZyk7CisJLyogREJHVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzEuIChSeCwgVHgsIENUUywgUlRTLCBEVFIsIERTUiwgRENELCBSSSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzEsIDEsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMKKwkJCSAgIHwgQVRNRUxfVUFSVF9EVFIgfCBBVE1FTF9VQVJUX0RTUiB8IEFUTUVMX1VBUlRfRENECisJCQkgICB8IEFUTUVMX1VBUlRfUkkpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGNhcm1ldmFfaW5pdF9pcnEodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jc2I2MzcuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jc2I2MzcuYwppbmRleCA0MTlmZDE5Li5iYjFhNTQ3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY3NiNjM3LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNzYjYzNy5jCkBAIC00NSwxMCArNDUsMTAgQEAKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMy42ODY0IE1IeiBjcnlzdGFsICovCiAJYXQ5MXJtOTIwMF9pbml0aWFsaXplKDM2ODY0MDAsIEFUOTFSTTkyMDBfQkdBKTsKIAotCS8qIERCR1Ugb24gdHR5UzAgKi8KKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLwogCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKIAotCS8qIG1ha2UgY29uc29sZT10dHlTMCB0aGUgZGVmYXVsdCAqLworCS8qIG1ha2UgY29uc29sZT10dHlTMCAoaWUsIERCR1UpIHRoZSBkZWZhdWx0ICovCiAJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1kay5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWRrLmMKaW5kZXggYzFhODEzYy4uZGFiOTU4ZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWRrLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWRrLmMKQEAgLTQ1LDE3ICs0NSw2IEBACiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiAKLS8qCi0gKiBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uLgotICogICAgMCAuLiAzID0gVVNBUlQwIC4uIFVTQVJUMwotICogICAgNCAgICAgID0gREJHVQotICovCi1zdGF0aWMgc3RydWN0IGF0OTFfdWFydF9jb25maWcgX19pbml0ZGF0YSBka191YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMiwKLQkudHR5X21hcAk9IHsgNCwgMSwgLTEsIC0xLCAtMSB9CQkvKiB0dHlTMCwgLi4uLCB0dHlTNCAqLwotfTsKLQogc3RhdGljIHZvaWQgX19pbml0IGRrX21hcF9pbyh2b2lkKQogewogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxOC40MzIgTUh6IGNyeXN0YWwgKi8KQEAgLTY0LDggKzUzLDE2IEBACiAJLyogU2V0dXAgdGhlIExFRHMgKi8KIAlhdDkxX2luaXRfbGVkcyhBVDkxX1BJTl9QQjIsIEFUOTFfUElOX1BCMik7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgmZGtfdWFydF9jb25maWcpOworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQkgICB8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJICAgfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBka19pbml0X2lycSh2b2lkKQpAQCAtMTYzLDcgKzE2MCw3IEBACiAjZGVmaW5lIERLX0ZMQVNIX1NJWkUJMHgyMDAwMDAKIAogc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgZGtfZmxhc2hfZGF0YSA9IHsKLQkud2lkdGgJPSAyLAorCS53aWR0aAkJPSAyLAogfTsKIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBka19mbGFzaF9yZXNvdXJjZSA9IHsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lYjkyMDAuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lYjkyMDAuYwppbmRleCBhZjFhMWQ4Li4zZmUwNTRlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWI5MjAwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWViOTIwMC5jCkBAIC00MCwyNCArNDAsMjQgQEAKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKIAotLyoKLSAqIFNlcmlhbCBwb3J0IGNvbmZpZ3VyYXRpb24uCi0gKiAgICAwIC4uIDMgPSBVU0FSVDAgLi4gVVNBUlQzCi0gKiAgICA0ICAgICAgPSBEQkdVCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91YXJ0X2NvbmZpZyBfX2luaXRkYXRhIGViOTIwMF91YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMiwKLQkudHR5X21hcAk9IHsgNCwgMSwgLTEsIC0xLCAtMSB9CQkvKiB0dHlTMCwgLi4uLCB0dHlTNCAqLwotfTsKLQogc3RhdGljIHZvaWQgX19pbml0IGViOTIwMF9tYXBfaW8odm9pZCkKIHsKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTguNDMyIE1IeiBjcnlzdGFsICovCiAJYXQ5MXJtOTIwMF9pbml0aWFsaXplKDE4NDMyMDAwLCBBVDkxUk05MjAwX0JHQSk7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgmZWI5MjAwX3VhcnRfY29uZmlnKTsKKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMSwgMSwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUworCQkJfCBBVE1FTF9VQVJUX0RUUiB8IEFUTUVMX1VBUlRfRFNSIHwgQVRNRUxfVUFSVF9EQ0QKKwkJCXwgQVRNRUxfVUFSVF9SSSk7CisKKwkvKiBVU0FSVDIgb24gdHR5UzIuIChSeCwgVHgpIC0gSVJEQSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMiwgMiwgMCk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgZWI5MjAwX2luaXRfaXJxKHZvaWQpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWsuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lay5jCmluZGV4IDA1NzRlNTAuLjc0YWE0MzIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lay5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lay5jCkBAIC00NSwxNyArNDUsNiBAQAogI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogCi0vKgotICogU2VyaWFsIHBvcnQgY29uZmlndXJhdGlvbi4KLSAqICAgIDAgLi4gMyA9IFVTQVJUMCAuLiBVU0FSVDMKLSAqICAgIDQgICAgICA9IERCR1UKLSAqLwotc3RhdGljIHN0cnVjdCBhdDkxX3VhcnRfY29uZmlnIF9faW5pdGRhdGEgZWtfdWFydF9jb25maWcgPSB7Ci0JLmNvbnNvbGVfdHR5CT0gMCwJCQkJLyogdHR5UzAgKi8KLQkubnJfdHR5CQk9IDIsCi0JLnR0eV9tYXAJPSB7IDQsIDEsIC0xLCAtMSwgLTEgfQkJLyogdHR5UzAsIC4uLiwgdHR5UzQgKi8KLX07Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBla19tYXBfaW8odm9pZCkKIHsKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTguNDMyIE1IeiBjcnlzdGFsICovCkBAIC02NCw4ICs1MywxNiBAQAogCS8qIFNldHVwIHRoZSBMRURzICovCiAJYXQ5MV9pbml0X2xlZHMoQVQ5MV9QSU5fUEIxLCBBVDkxX1BJTl9QQjIpOwogCi0JLyogU2V0dXAgdGhlIHNlcmlhbCBwb3J0cyBhbmQgY29uc29sZSAqLwotCWF0OTFfaW5pdF9zZXJpYWwoJmVrX3VhcnRfY29uZmlnKTsKKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMSwgMSwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUworCQkJICAgfCBBVE1FTF9VQVJUX0RUUiB8IEFUTUVMX1VBUlRfRFNSIHwgQVRNRUxfVUFSVF9EQ0QKKwkJCSAgIHwgQVRNRUxfVUFSVF9SSSk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgZWtfaW5pdF9pcnEodm9pZCkKQEAgLTEyMiw3ICsxMTksNyBAQAogI2RlZmluZSBFS19GTEFTSF9TSVpFCTB4MjAwMDAwCiAKIHN0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIGVrX2ZsYXNoX2RhdGEgPSB7Ci0JLndpZHRoCT0gMiwKKwkud2lkdGgJCT0gMiwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZWtfZmxhc2hfcmVzb3VyY2UgPSB7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQta2I5MjAyLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQta2I5MjAyLmMKaW5kZXggNGIzOWI5Yy4uY2IwNjVmZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWtiOTIwMi5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1rYjkyMDIuYwpAQCAtMzcsMjAgKzM3LDExIEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CiAKKyNpbmNsdWRlIDxhc20vYXJjaC9hdDkxcm05MjAwX21jLmg+CisKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKIAotLyoKLSAqIFNlcmlhbCBwb3J0IGNvbmZpZ3VyYXRpb24uCi0gKiAgICAwIC4uIDMgPSBVU0FSVDAgLi4gVVNBUlQzCi0gKiAgICA0ICAgICAgPSBEQkdVCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91YXJ0X2NvbmZpZyBfX2luaXRkYXRhIGtiOTIwMl91YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkJLyogdHR5UzAgKi8KLQkubnJfdHR5CQk9IDMsCi0JLnR0eV9tYXAJPSB7IDQsIDAsIDEsIC0xLCAtMSB9CQkJLyogdHR5UzAsIC4uLiwgdHR5UzQgKi8KLX07Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBrYjkyMDJfbWFwX2lvKHZvaWQpCiB7CiAJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDEwIE1IeiBjcnlzdGFsICovCkBAIC01OSw4ICs1MCwyMCBAQAogCS8qIFNldCB1cCB0aGUgTEVEcyAqLwogCWF0OTFfaW5pdF9sZWRzKEFUOTFfUElOX1BDMTksIEFUOTFfUElOX1BDMTgpOwogCi0JLyogU2V0dXAgdGhlIHNlcmlhbCBwb3J0cyBhbmQgY29uc29sZSAqLwotCWF0OTFfaW5pdF9zZXJpYWwoJmtiOTIwMl91YXJ0X2NvbmZpZyk7CisJLyogREJHVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDAgb24gdHR5UzEgKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzAsIDEsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMyIChSeCAmIFR4IG9ubHkpIC0gSVJEQSAob3B0aW9uYWwpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAyLCAwKTsKKworCS8qIFVTQVJUMyBvbiB0dHlTMyAoUngsIFR4LCBDVFMsIFJUUykgLSBSUzQ4NSAob3B0aW9uYWwpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMzLCAzLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBrYjkyMDJfaW5pdF9pcnEodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1xaWwtYTkyNjAuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1xaWwtYTkyNjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWI0ZWMzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXFpbC1hOTI2MC5jCkBAIC0wLDAgKzEsMjU1IEBACisvKgorICogbGludXgvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXFpbC1hOTI2MC5jCisgKgorICogIENvcHlyaWdodCAoQykgMjAwNSBTQU4gUGVvcGxlCisgKiAgQ29weXJpZ2h0IChDKSAyMDA2IEF0bWVsCisgKiAgQ29weXJpZ2h0IChDKSAyMDA3IENhbGFvLXN5c3RlbXMKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFfc2hkd2MuaD4KKworI2luY2x1ZGUgImdlbmVyaWMuaCIKKworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfbWFwX2lvKHZvaWQpCit7CisJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDEyLjAwMCBNSHogY3J5c3RhbCAqLworCWF0OTFzYW05MjYwX2luaXRpYWxpemUoMTIwMDAwMDApOworCisJLyogREdCVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDAgb24gdHR5UzEuIChSeCwgVHgsIENUUywgUlRTLCBEVFIsIERTUiwgRENELCBSSSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVNBTTkyNjBfSURfVVMwLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQkgICB8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJICAgfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMi4gKFJ4LCBUeCwgQ1RTLCBSVFMpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFTQU05MjYwX0lEX1VTMSwgMiwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUyk7CisKKwkvKiBVU0FSVDIgb24gdHR5UzMuIChSeCwgVHgsIENUUywgUlRTKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxU0FNOTI2MF9JRF9VUzIsIDMsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMxIChpZSwgVVNBUlQwKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDEpOworCit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19pbml0X2lycSh2b2lkKQoreworCWF0OTFzYW05MjYwX2luaXRfaW50ZXJydXB0cyhOVUxMKTsKK30KKworCisvKgorICogVVNCIEhvc3QgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdXNiaF9kYXRhIF9faW5pdGRhdGEgZWtfdXNiaF9kYXRhID0geworCS5wb3J0cwkJPSAyLAorfTsKKworLyoKKyAqIFVTQiBEZXZpY2UgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdWRjX2RhdGEgX19pbml0ZGF0YSBla191ZGNfZGF0YSA9IHsKKwkudmJ1c19waW4JPSBBVDkxX1BJTl9QQzUsCisJLnB1bGx1cF9waW4JPSAwLAkJLyogcHVsbC11cCBkcml2ZW4gYnkgVURDICovCit9OworCisvKgorICogU1BJIGRldmljZXMuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3BpX2JvYXJkX2luZm8gZWtfc3BpX2RldmljZXNbXSA9IHsKKyNpZiBkZWZpbmVkKENPTkZJR19SVENfRFJWX000MVQ5NCkKKwl7CS8qIE00MVQ5NCBSVEMgKi8KKwkJLm1vZGFsaWFzCT0gIm00MXQ5NCIsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tYXhfc3BlZWRfaHoJPSAxICogMTAwMCAqIDEwMDAsCisJCS5idXNfbnVtCT0gMCwKKwl9CisjZW5kaWYKK307CisKKy8qCisgKiBNQUNCIEV0aGVybmV0IGRldmljZQorICovCitzdGF0aWMgc3RydWN0IGF0OTFfZXRoX2RhdGEgX19pbml0ZGF0YSBla19tYWNiX2RhdGEgPSB7CisJLnBoeV9pcnFfcGluCT0gQVQ5MV9QSU5fUEEzMSwKKwkuaXNfcm1paQk9IDEsCit9OworCisvKgorICogTkFORCBmbGFzaAorICovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gX19pbml0ZGF0YSBla19uYW5kX3BhcnRpdGlvbltdID0geworCXsKKwkJLm5hbWUJPSAiVWJvb3QgJiBLZXJuZWwiLAorCQkub2Zmc2V0CT0gMHgwMDAwMDAwMCwKKwkJLnNpemUJPSAxNiAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJSb290IEZTIiwKKwkJLm9mZnNldAk9IDB4MDEwMDAwMDAsCisJCS5zaXplCT0gMTIwICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIkZTIiwKKwkJLm9mZnNldAk9IDB4MDg4MDAwMDAsCisJCS5zaXplCT0gMTIwICogMTAyNCAqIDEwMjQsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiAqIF9faW5pdCBuYW5kX3BhcnRpdGlvbnMoaW50IHNpemUsIGludCAqbnVtX3BhcnRpdGlvbnMpCit7CisJKm51bV9wYXJ0aXRpb25zID0gQVJSQVlfU0laRShla19uYW5kX3BhcnRpdGlvbik7CisJcmV0dXJuIGVrX25hbmRfcGFydGl0aW9uOworfQorCitzdGF0aWMgc3RydWN0IGF0OTFfbmFuZF9kYXRhIF9faW5pdGRhdGEgZWtfbmFuZF9kYXRhID0geworCS5hbGUJCT0gMjEsCisJLmNsZQkJPSAyMiwKKy8vCS5kZXRfcGluCT0gLi4uIG5vdCBjb25uZWN0ZWQKKwkucmR5X3Bpbgk9IEFUOTFfUElOX1BDMTMsCisJLmVuYWJsZV9waW4JPSBBVDkxX1BJTl9QQzE0LAorCS5wYXJ0aXRpb25faW5mbwk9IG5hbmRfcGFydGl0aW9ucywKKyNpZiBkZWZpbmVkKENPTkZJR19NVERfTkFORF9BVDkxX0JVU1dJRFRIXzE2KQorCS5idXNfd2lkdGhfMTYJPSAxLAorI2Vsc2UKKwkuYnVzX3dpZHRoXzE2CT0gMCwKKyNlbmRpZgorfTsKKworLyoKKyAqIE1DSSAoU0QvTU1DKQorICovCitzdGF0aWMgc3RydWN0IGF0OTFfbW1jX2RhdGEgX19pbml0ZGF0YSBla19tbWNfZGF0YSA9IHsKKwkuc2xvdF9iCQk9IDAsCisJLndpcmU0CQk9IDEsCisvLwkuZGV0X3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCisvLwkud3BfcGluCQk9IC4uLiBub3QgY29ubmVjdGVkCisvLwkudmNjX3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCit9OworCisvKgorICogR1BJTyBCdXR0b25zCisgKi8KKyNpZiBkZWZpbmVkKENPTkZJR19LRVlCT0FSRF9HUElPKSB8fCBkZWZpbmVkKENPTkZJR19LRVlCT0FSRF9HUElPX01PRFVMRSkKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBla19idXR0b25zW10gPSB7CisJewkvKiBVU0VSIFBVU0ggQlVUVE9OICovCisJCS5jb2RlCQk9IEtFWV9FTlRFUiwKKwkJLmdwaW8JCT0gQVQ5MV9QSU5fUEIxMCwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCQkuZGVzYwkJPSAidXNlcl9wYiIsCisJCS53YWtldXAJCT0gMSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIGVrX2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0gZWtfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKGVrX2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZWtfYnV0dG9uX2RldmljZSA9IHsKKwkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZla19idXR0b25fZGF0YSwKKwl9Cit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYWRkX2RldmljZV9idXR0b25zKHZvaWQpCit7CisJYXQ5MV9zZXRfR1BJT19wZXJpcGgoQVQ5MV9QSU5fUEIxMCwgMSk7CS8qIHVzZXIgcHVzaCBidXR0b24sIHB1bGwgdXAgZW5hYmxlZCAqLworCWF0OTFfc2V0X2RlZ2xpdGNoKEFUOTFfUElOX1BCMTAsIDEpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZla19idXR0b25fZGV2aWNlKTsKK30KKyNlbHNlCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYWRkX2RldmljZV9idXR0b25zKHZvaWQpIHt9CisjZW5kaWYKKworLyoKKyAqIExFRHMKKyAqLworc3RhdGljIHN0cnVjdCBncGlvX2xlZCBla19sZWRzW10gPSB7CisJewkvKiB1c2VyX2xlZCAoZ3JlZW4pICovCisJCS5uYW1lCQkJPSAidXNlcl9sZWQiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEIyMSwKKwkJLmFjdGl2ZV9sb3cJCT0gMCwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAorCX0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19ib2FyZF9pbml0KHZvaWQpCit7CisJLyogU2VyaWFsICovCisJYXQ5MV9hZGRfZGV2aWNlX3NlcmlhbCgpOworCS8qIFVTQiBIb3N0ICovCisJYXQ5MV9hZGRfZGV2aWNlX3VzYmgoJmVrX3VzYmhfZGF0YSk7CisJLyogVVNCIERldmljZSAqLworCWF0OTFfYWRkX2RldmljZV91ZGMoJmVrX3VkY19kYXRhKTsKKwkvKiBTUEkgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc3BpKGVrX3NwaV9kZXZpY2VzLCBBUlJBWV9TSVpFKGVrX3NwaV9kZXZpY2VzKSk7CisJLyogTkFORCAqLworCWF0OTFfYWRkX2RldmljZV9uYW5kKCZla19uYW5kX2RhdGEpOworCS8qIEkyQyAqLworCWF0OTFfYWRkX2RldmljZV9pMmMoTlVMTCwgMCk7CisJLyogRXRoZXJuZXQgKi8KKwlhdDkxX2FkZF9kZXZpY2VfZXRoKCZla19tYWNiX2RhdGEpOworCS8qIE1NQyAqLworCWF0OTFfYWRkX2RldmljZV9tbWMoMCwgJmVrX21tY19kYXRhKTsKKwkvKiBQdXNoIEJ1dHRvbnMgKi8KKwlla19hZGRfZGV2aWNlX2J1dHRvbnMoKTsKKwkvKiBMRURzICovCisJYXQ5MV9ncGlvX2xlZHMoZWtfbGVkcywgQVJSQVlfU0laRShla19sZWRzKSk7CisJLyogc2h1dGRvd24gY29udHJvbGxlciwgd2FrZXVwIGJ1dHRvbiAoNSBtc2VjIGxvdykgKi8KKwlhdDkxX3N5c193cml0ZShBVDkxX1NIRFdfTVIsIEFUOTFfU0hEV19DUFRXSzBfKDEwKSB8IEFUOTFfU0hEV19XS01PREUwX0xPVworCQkJCXwgQVQ5MV9TSERXX1JUVFdLRU4pOworfQorCitNQUNISU5FX1NUQVJUKFFJTF9BOTI2MCwgIkNBTEFPIFFJTF9BOTI2MCIpCisJLyogTWFpbnRhaW5lcjogY2FsYW8tc3lzdGVtcyAqLworCS5waHlzX2lvCT0gQVQ5MV9CQVNFX1NZUywKKwkuaW9fcGdfb2Zmc3QJPSAoQVQ5MV9WQV9CQVNFX1NZUyA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gQVQ5MV9TRFJBTV9CQVNFICsgMHgxMDAsCisJLnRpbWVyCQk9ICZhdDkxc2FtOTI2eF90aW1lciwKKwkubWFwX2lvCQk9IGVrX21hcF9pbywKKwkuaW5pdF9pcnEJPSBla19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lCT0gZWtfYm9hcmRfaW5pdCwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtc2FtOWcyMGVrLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtc2FtOWcyMGVrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU2MTdjMgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05ZzIwZWsuYwpAQCAtMCwwICsxLDIxOCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDUgU0FOIFBlb3BsZQorICogIENvcHlyaWdodCAoQykgMjAwOCBBdG1lbAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisjaW5jbHVkZSA8bGludXgvc3BpL2F0NzNjMjEzLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorCisjaW5jbHVkZSAiZ2VuZXJpYy5oIgorCisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19tYXBfaW8odm9pZCkKK3sKKwkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTguNDMyIE1IeiBjcnlzdGFsICovCisJYXQ5MXNhbTkyNjBfaW5pdGlhbGl6ZSgxODQzMjAwMCk7CisKKwkvKiBER0JVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMCBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxU0FNOTI2MF9JRF9VUzAsIDEsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMKKwkJCSAgIHwgQVRNRUxfVUFSVF9EVFIgfCBBVE1FTF9VQVJUX0RTUiB8IEFUTUVMX1VBUlRfRENECisJCQkgICB8IEFUTUVMX1VBUlRfUkkpOworCisJLyogVVNBUlQxIG9uIHR0eVMyLiAoUngsIFR4LCBSVFMsIENUUykgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVNBTTkyNjBfSURfVVMxLCAyLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19pbml0X2lycSh2b2lkKQoreworCWF0OTFzYW05MjYwX2luaXRfaW50ZXJydXB0cyhOVUxMKTsKK30KKworCisvKgorICogVVNCIEhvc3QgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdXNiaF9kYXRhIF9faW5pdGRhdGEgZWtfdXNiaF9kYXRhID0geworCS5wb3J0cwkJPSAyLAorfTsKKworLyoKKyAqIFVTQiBEZXZpY2UgcG9ydAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdWRjX2RhdGEgX19pbml0ZGF0YSBla191ZGNfZGF0YSA9IHsKKwkudmJ1c19waW4JPSBBVDkxX1BJTl9QQzUsCisJLnB1bGx1cF9waW4JPSAwLAkJLyogcHVsbC11cCBkcml2ZW4gYnkgVURDICovCit9OworCisKKy8qCisgKiBTUEkgZGV2aWNlcy4KKyAqLworc3RhdGljIHN0cnVjdCBzcGlfYm9hcmRfaW5mbyBla19zcGlfZGV2aWNlc1tdID0geworI2lmICFkZWZpbmVkKENPTkZJR19NTUNfQVQ5MSkKKwl7CS8qIERhdGFGbGFzaCBjaGlwICovCisJCS5tb2RhbGlhcwk9ICJtdGRfZGF0YWZsYXNoIiwKKwkJLmNoaXBfc2VsZWN0CT0gMSwKKwkJLm1heF9zcGVlZF9oegk9IDE1ICogMTAwMCAqIDEwMDAsCisJCS5idXNfbnVtCT0gMCwKKwl9LAorI2lmIGRlZmluZWQoQ09ORklHX01URF9BVDkxX0RBVEFGTEFTSF9DQVJEKQorCXsJLyogRGF0YUZsYXNoIGNhcmQgKi8KKwkJLm1vZGFsaWFzCT0gIm10ZF9kYXRhZmxhc2giLAorCQkuY2hpcF9zZWxlY3QJPSAwLAorCQkubWF4X3NwZWVkX2h6CT0gMTUgKiAxMDAwICogMTAwMCwKKwkJLmJ1c19udW0JPSAwLAorCX0sCisjZW5kaWYKKyNlbmRpZgorfTsKKworCisvKgorICogTUFDQiBFdGhlcm5ldCBkZXZpY2UKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX2V0aF9kYXRhIF9faW5pdGRhdGEgZWtfbWFjYl9kYXRhID0geworCS5waHlfaXJxX3Bpbgk9IEFUOTFfUElOX1BBNywKKwkuaXNfcm1paQk9IDEsCit9OworCisKKy8qCisgKiBOQU5EIGZsYXNoCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBfX2luaXRkYXRhIGVrX25hbmRfcGFydGl0aW9uW10gPSB7CisJeworCQkubmFtZSAgID0gIkJvb3RzdHJhcCIsCisJCS5vZmZzZXQgPSAwLAorCQkuc2l6ZSAgID0gNCAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJQYXJ0aXRpb24gMSIsCisJCS5vZmZzZXQJPSA0ICogMTAyNCAqIDEwMjQsCisJCS5zaXplCT0gNjAgKiAxMDI0ICogMTAyNCwKKwl9LAorCXsKKwkJLm5hbWUJPSAiUGFydGl0aW9uIDIiLAorCQkub2Zmc2V0CT0gNjQgKiAxMDI0ICogMTAyNCwKKwkJLnNpemUJPSBNVERQQVJUX1NJWl9GVUxMLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gKiBfX2luaXQgbmFuZF9wYXJ0aXRpb25zKGludCBzaXplLCBpbnQgKm51bV9wYXJ0aXRpb25zKQoreworCSpudW1fcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoZWtfbmFuZF9wYXJ0aXRpb24pOworCXJldHVybiBla19uYW5kX3BhcnRpdGlvbjsKK30KKworLyogZGV0X3BpbiBpcyBub3QgY29ubmVjdGVkICovCitzdGF0aWMgc3RydWN0IGF0OTFfbmFuZF9kYXRhIF9faW5pdGRhdGEgZWtfbmFuZF9kYXRhID0geworCS5hbGUJCT0gMjEsCisJLmNsZQkJPSAyMiwKKwkucmR5X3Bpbgk9IEFUOTFfUElOX1BDMTMsCisJLmVuYWJsZV9waW4JPSBBVDkxX1BJTl9QQzE0LAorCS5wYXJ0aXRpb25faW5mbwk9IG5hbmRfcGFydGl0aW9ucywKKyNpZiBkZWZpbmVkKENPTkZJR19NVERfTkFORF9BVDkxX0JVU1dJRFRIXzE2KQorCS5idXNfd2lkdGhfMTYJPSAxLAorI2Vsc2UKKwkuYnVzX3dpZHRoXzE2CT0gMCwKKyNlbmRpZgorfTsKKworCisvKgorICogTUNJIChTRC9NTUMpCisgKiBkZXRfcGluLCB3cF9waW4gYW5kIHZjY19waW4gYXJlIG5vdCBjb25uZWN0ZWQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX21tY19kYXRhIF9faW5pdGRhdGEgZWtfbW1jX2RhdGEgPSB7CisJLnNsb3RfYgkJPSAxLAorCS53aXJlNAkJPSAxLAorfTsKKworCisvKgorICogTEVEcworICovCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIGVrX2xlZHNbXSA9IHsKKwl7CS8qICJib3R0b20iIGxlZCwgZ3JlZW4sIHVzZXJsZWQxIHRvIGJlIGRlZmluZWQgKi8KKwkJLm5hbWUJCQk9ICJkczUiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEE2LAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gIm5vbmUiLAorCX0sCisJewkvKiAicG93ZXIiIGxlZCwgeWVsbG93ICovCisJCS5uYW1lCQkJPSAiZHMxIiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BBOSwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAorCX0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19ib2FyZF9pbml0KHZvaWQpCit7CisJLyogU2VyaWFsICovCisJYXQ5MV9hZGRfZGV2aWNlX3NlcmlhbCgpOworCS8qIFVTQiBIb3N0ICovCisJYXQ5MV9hZGRfZGV2aWNlX3VzYmgoJmVrX3VzYmhfZGF0YSk7CisJLyogVVNCIERldmljZSAqLworCWF0OTFfYWRkX2RldmljZV91ZGMoJmVrX3VkY19kYXRhKTsKKwkvKiBTUEkgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc3BpKGVrX3NwaV9kZXZpY2VzLCBBUlJBWV9TSVpFKGVrX3NwaV9kZXZpY2VzKSk7CisJLyogTkFORCAqLworCWF0OTFfYWRkX2RldmljZV9uYW5kKCZla19uYW5kX2RhdGEpOworCS8qIEV0aGVybmV0ICovCisJYXQ5MV9hZGRfZGV2aWNlX2V0aCgmZWtfbWFjYl9kYXRhKTsKKwkvKiBNTUMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfbW1jKDAsICZla19tbWNfZGF0YSk7CisJLyogSTJDICovCisJYXQ5MV9hZGRfZGV2aWNlX2kyYyhOVUxMLCAwKTsKKwkvKiBMRURzICovCisJYXQ5MV9ncGlvX2xlZHMoZWtfbGVkcywgQVJSQVlfU0laRShla19sZWRzKSk7Cit9CisKK01BQ0hJTkVfU1RBUlQoQVQ5MVNBTTlHMjBFSywgIkF0bWVsIEFUOTFTQU05RzIwLUVLIikKKwkvKiBNYWludGFpbmVyOiBBdG1lbCAqLworCS5waHlzX2lvCT0gQVQ5MV9CQVNFX1NZUywKKwkuaW9fcGdfb2Zmc3QJPSAoQVQ5MV9WQV9CQVNFX1NZUyA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gQVQ5MV9TRFJBTV9CQVNFICsgMHgxMDAsCisJLnRpbWVyCQk9ICZhdDkxc2FtOTI2eF90aW1lciwKKwkubWFwX2lvCQk9IGVrX21hcF9pbywKKwkuaW5pdF9pcnEJPSBla19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lCT0gZWtfYm9hcmRfaW5pdCwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtc2FtOXJsZWsuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05cmxlay5jCmluZGV4IGZmYzA1OTcuLmI2YTcwZmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05cmxlay5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05cmxlay5jCkBAIC01Niw2ICs1NiwxNCBAQAogCiAKIC8qCisgKiBVU0IgSFMgRGV2aWNlIHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgX19pbml0ZGF0YSBla191c2JhX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BBOCwKK307CisKKworLyoKICAqIE1DSSAoU0QvTU1DKQogICovCiBzdGF0aWMgc3RydWN0IGF0OTFfbW1jX2RhdGEgX19pbml0ZGF0YSBla19tbWNfZGF0YSA9IHsKQEAgLTE3NSw2ICsxODMsOCBAQAogewogCS8qIFNlcmlhbCAqLwogCWF0OTFfYWRkX2RldmljZV9zZXJpYWwoKTsKKwkvKiBVU0IgSFMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdXNiYSgmZWtfdXNiYV91ZGNfZGF0YSk7CiAJLyogSTJDICovCiAJYXQ5MV9hZGRfZGV2aWNlX2kyYyhOVUxMLCAwKTsKIAkvKiBOQU5EICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYwLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM3YWVkZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjAuYwpAQCAtMCwwICsxLDIxNSBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjAuYworICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDUgU0FOIFBlb3BsZQorICogIENvcHlyaWdodCAoQykgMjAwNiBBdG1lbAorICogIENvcHlyaWdodCAoQykgMjAwNyBDYWxhby1zeXN0ZW1zCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9hdDkxX3NoZHdjLmg+CisKKyNpbmNsdWRlICJnZW5lcmljLmgiCisKKworc3RhdGljIHZvaWQgX19pbml0IGVrX21hcF9pbyh2b2lkKQoreworCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxMi4wMDAgTUh6IGNyeXN0YWwgKi8KKwlhdDkxc2FtOTI2MF9pbml0aWFsaXplKDEyMDAwMDAwKTsKKworCS8qIERHQlUgb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGVrX2luaXRfaXJxKHZvaWQpCit7CisJYXQ5MXNhbTkyNjBfaW5pdF9pbnRlcnJ1cHRzKE5VTEwpOworfQorCisKKy8qCisgKiBVU0IgSG9zdCBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91c2JoX2RhdGEgX19pbml0ZGF0YSBla191c2JoX2RhdGEgPSB7CisJLnBvcnRzCQk9IDIsCit9OworCisvKgorICogVVNCIERldmljZSBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSBfX2luaXRkYXRhIGVrX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BDNSwKKwkucHVsbHVwX3Bpbgk9IDAsCQkvKiBwdWxsLXVwIGRyaXZlbiBieSBVREMgKi8KK307CisKKy8qCisgKiBNQUNCIEV0aGVybmV0IGRldmljZQorICovCitzdGF0aWMgc3RydWN0IGF0OTFfZXRoX2RhdGEgX19pbml0ZGF0YSBla19tYWNiX2RhdGEgPSB7CisJLnBoeV9pcnFfcGluCT0gQVQ5MV9QSU5fUEEzMSwKKwkuaXNfcm1paQk9IDEsCit9OworCisvKgorICogTkFORCBmbGFzaAorICovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gX19pbml0ZGF0YSBla19uYW5kX3BhcnRpdGlvbltdID0geworCXsKKwkJLm5hbWUJPSAiVWJvb3QgJiBLZXJuZWwiLAorCQkub2Zmc2V0CT0gMHgwMDAwMDAwMCwKKwkJLnNpemUJPSAxNiAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJSb290IEZTIiwKKwkJLm9mZnNldAk9IDB4MDEwMDAwMDAsCisJCS5zaXplCT0gMTIwICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIkZTIiwKKwkJLm9mZnNldAk9IDB4MDg4MDAwMDAsCisJCS5zaXplCT0gMTIwICogMTAyNCAqIDEwMjQsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uICogX19pbml0IG5hbmRfcGFydGl0aW9ucyhpbnQgc2l6ZSwgaW50ICpudW1fcGFydGl0aW9ucykKK3sKKwkqbnVtX3BhcnRpdGlvbnMgPSBBUlJBWV9TSVpFKGVrX25hbmRfcGFydGl0aW9uKTsKKwlyZXR1cm4gZWtfbmFuZF9wYXJ0aXRpb247Cit9CisKK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9uYW5kX2RhdGEgX19pbml0ZGF0YSBla19uYW5kX2RhdGEgPSB7CisJLmFsZQkJPSAyMSwKKwkuY2xlCQk9IDIyLAorLy8JLmRldF9waW4JPSAuLi4gbm90IGNvbm5lY3RlZAorCS5yZHlfcGluCT0gQVQ5MV9QSU5fUEMxMywKKwkuZW5hYmxlX3Bpbgk9IEFUOTFfUElOX1BDMTQsCisJLnBhcnRpdGlvbl9pbmZvCT0gbmFuZF9wYXJ0aXRpb25zLAorI2lmIGRlZmluZWQoQ09ORklHX01URF9OQU5EX0FUOTFfQlVTV0lEVEhfMTYpCisJLmJ1c193aWR0aF8xNgk9IDEsCisjZWxzZQorCS5idXNfd2lkdGhfMTYJPSAwLAorI2VuZGlmCit9OworCisvKgorICogR1BJTyBCdXR0b25zCisgKi8KKworI2lmIGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU8pIHx8IGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU9fTU9EVUxFKQorc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIGVrX2J1dHRvbnNbXSA9IHsKKwl7CS8qIFVTRVIgUFVTSCBCVVRUT04gKi8KKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQjEwLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJCS5kZXNjCQk9ICJ1c2VyX3BiIiwKKwkJLndha2V1cAkJPSAxLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgZWtfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBla19idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUoZWtfYnV0dG9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBla19idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmVrX2J1dHRvbl9kYXRhLAorCX0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkKK3sKKwlhdDkxX3NldF9HUElPX3BlcmlwaChBVDkxX1BJTl9QQjEwLCAxKTsJLyogdXNlciBwdXNoIGJ1dHRvbiwgcHVsbCB1cCBlbmFibGVkICovCisJYXQ5MV9zZXRfZGVnbGl0Y2goQVQ5MV9QSU5fUEIxMCwgMSk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmVrX2J1dHRvbl9kZXZpY2UpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkge30KKyNlbmRpZgorCisvKgorICogTEVEcworICovCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIGVrX2xlZHNbXSA9IHsKKwl7CS8qIHVzZXJfbGVkIChncmVlbikgKi8KKwkJLm5hbWUJCQk9ICJ1c2VyX2xlZCIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjIxLAorCQkuYWN0aXZlX2xvdwkJPSAwLAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCisJfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGVrX2JvYXJkX2luaXQodm9pZCkKK3sKKwkvKiBTZXJpYWwgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc2VyaWFsKCk7CisJLyogVVNCIEhvc3QgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdXNiaCgmZWtfdXNiaF9kYXRhKTsKKwkvKiBVU0IgRGV2aWNlICovCisJYXQ5MV9hZGRfZGV2aWNlX3VkYygmZWtfdWRjX2RhdGEpOworCS8qIE5BTkQgKi8KKwlhdDkxX2FkZF9kZXZpY2VfbmFuZCgmZWtfbmFuZF9kYXRhKTsKKwkvKiBJMkMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfaTJjKE5VTEwsIDApOworCS8qIEV0aGVybmV0ICovCisJYXQ5MV9hZGRfZGV2aWNlX2V0aCgmZWtfbWFjYl9kYXRhKTsKKwkvKiBQdXNoIEJ1dHRvbnMgKi8KKwlla19hZGRfZGV2aWNlX2J1dHRvbnMoKTsKKwkvKiBMRURzICovCisJYXQ5MV9ncGlvX2xlZHMoZWtfbGVkcywgQVJSQVlfU0laRShla19sZWRzKSk7CisJLyogc2h1dGRvd24gY29udHJvbGxlciwgd2FrZXVwIGJ1dHRvbiAoNSBtc2VjIGxvdykgKi8KKwlhdDkxX3N5c193cml0ZShBVDkxX1NIRFdfTVIsIEFUOTFfU0hEV19DUFRXSzBfKDEwKSB8IEFUOTFfU0hEV19XS01PREUwX0xPVworCQkJCXwgQVQ5MV9TSERXX1JUVFdLRU4pOworfQorCitNQUNISU5FX1NUQVJUKFVTQl9BOTI2MCwgIkNBTEFPIFVTQl9BOTI2MCIpCisJLyogTWFpbnRhaW5lcjogY2FsYW8tc3lzdGVtcyAqLworCS5waHlzX2lvCT0gQVQ5MV9CQVNFX1NZUywKKwkuaW9fcGdfb2Zmc3QJPSAoQVQ5MV9WQV9CQVNFX1NZUyA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gQVQ5MV9TRFJBTV9CQVNFICsgMHgxMDAsCisJLnRpbWVyCQk9ICZhdDkxc2FtOTI2eF90aW1lciwKKwkubWFwX2lvCQk9IGVrX21hcF9pbywKKwkuaW5pdF9pcnEJPSBla19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lCT0gZWtfYm9hcmRfaW5pdCwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtdXNiLWE5MjYzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU4MDBkMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjMuYwpAQCAtMCwwICsxLDIzMCBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjMuYworICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDUgU0FOIFBlb3BsZQorICogIENvcHlyaWdodCAoQykgMjAwNyBBdG1lbCBDb3Jwb3JhdGlvbi4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDcgQ2FsYW8tc3lzdGVtcworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MV9zaGR3Yy5oPgorCisjaW5jbHVkZSAiZ2VuZXJpYy5oIgorCisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19tYXBfaW8odm9pZCkKK3sKKwkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTIuMDAgTUh6IGNyeXN0YWwgKi8KKwlhdDkxc2FtOTI2M19pbml0aWFsaXplKDEyMDAwMDAwKTsKKworCS8qIERHQlUgb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGVrX2luaXRfaXJxKHZvaWQpCit7CisJYXQ5MXNhbTkyNjNfaW5pdF9pbnRlcnJ1cHRzKE5VTEwpOworfQorCisKKy8qCisgKiBVU0IgSG9zdCBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91c2JoX2RhdGEgX19pbml0ZGF0YSBla191c2JoX2RhdGEgPSB7CisJLnBvcnRzCQk9IDIsCit9OworCisvKgorICogVVNCIERldmljZSBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSBfX2luaXRkYXRhIGVrX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BCMTEsCisJLnB1bGx1cF9waW4JPSAwLAkJLyogcHVsbC11cCBkcml2ZW4gYnkgVURDICovCit9OworCisvKgorICogU1BJIGRldmljZXMuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3BpX2JvYXJkX2luZm8gZWtfc3BpX2RldmljZXNbXSA9IHsKKyNpZiAhZGVmaW5lZChDT05GSUdfTU1DX0FUOTEpCisJewkvKiBEYXRhRmxhc2ggY2hpcCAqLworCQkubW9kYWxpYXMJPSAibXRkX2RhdGFmbGFzaCIsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tYXhfc3BlZWRfaHoJPSAxNSAqIDEwMDAgKiAxMDAwLAorCQkuYnVzX251bQk9IDAsCisJfQorI2VuZGlmCit9OworCisvKgorICogTUFDQiBFdGhlcm5ldCBkZXZpY2UKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX2V0aF9kYXRhIF9faW5pdGRhdGEgZWtfbWFjYl9kYXRhID0geworCS5waHlfaXJxX3Bpbgk9IEFUOTFfUElOX1BFMzEsCisJLmlzX3JtaWkJPSAxLAorfTsKKworLyoKKyAqIE5BTkQgZmxhc2gKKyAqLworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIF9faW5pdGRhdGEgZWtfbmFuZF9wYXJ0aXRpb25bXSA9IHsKKwl7CisJCS5uYW1lCT0gIkxpbnV4IEtlcm5lbCIsCisJCS5vZmZzZXQJPSAweDAwMDAwMDAwLAorCQkuc2l6ZQk9IDE2ICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIlJvb3QgRlMiLAorCQkub2Zmc2V0CT0gMHgwMTAwMDAwMCwKKwkJLnNpemUJPSAxMjAgKiAxMDI0ICogMTAyNCwKKwl9LAorCXsKKwkJLm5hbWUJPSAiRlMiLAorCQkub2Zmc2V0CT0gMHgwODgwMDAwMCwKKwkJLnNpemUJPSAxMjAgKiAxMDI0ICogMTAyNCwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gKiBfX2luaXQgbmFuZF9wYXJ0aXRpb25zKGludCBzaXplLCBpbnQgKm51bV9wYXJ0aXRpb25zKQoreworCSpudW1fcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoZWtfbmFuZF9wYXJ0aXRpb24pOworCXJldHVybiBla19uYW5kX3BhcnRpdGlvbjsKK30KKworc3RhdGljIHN0cnVjdCBhdDkxX25hbmRfZGF0YSBfX2luaXRkYXRhIGVrX25hbmRfZGF0YSA9IHsKKwkuYWxlCQk9IDIxLAorCS5jbGUJCT0gMjIsCisvLwkuZGV0X3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCisJLnJkeV9waW4JPSBBVDkxX1BJTl9QQTIyLAorCS5lbmFibGVfcGluCT0gQVQ5MV9QSU5fUEQxNSwKKwkucGFydGl0aW9uX2luZm8JPSBuYW5kX3BhcnRpdGlvbnMsCisjaWYgZGVmaW5lZChDT05GSUdfTVREX05BTkRfQVQ5MV9CVVNXSURUSF8xNikKKwkuYnVzX3dpZHRoXzE2CT0gMSwKKyNlbHNlCisJLmJ1c193aWR0aF8xNgk9IDAsCisjZW5kaWYKK307CisKKy8qCisgKiBHUElPIEJ1dHRvbnMKKyAqLworI2lmIGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU8pIHx8IGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU9fTU9EVUxFKQorc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIGVrX2J1dHRvbnNbXSA9IHsKKwl7CS8qIFVTRVIgUFVTSCBCVVRUT04gKi8KKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQjEwLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJCS5kZXNjCQk9ICJ1c2VyX3BiIiwKKwkJLndha2V1cAkJPSAxLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgZWtfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBla19idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUoZWtfYnV0dG9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBla19idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmVrX2J1dHRvbl9kYXRhLAorCX0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkKK3sKKwlhdDkxX3NldF9HUElPX3BlcmlwaChBVDkxX1BJTl9QQjEwLCAxKTsJLyogdXNlciBwdXNoIGJ1dHRvbiwgcHVsbCB1cCBlbmFibGVkICovCisJYXQ5MV9zZXRfZGVnbGl0Y2goQVQ5MV9QSU5fUEIxMCwgMSk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmVrX2J1dHRvbl9kZXZpY2UpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkge30KKyNlbmRpZgorCisvKgorICogTEVEcworICovCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIGVrX2xlZHNbXSA9IHsKKwl7CS8qIHVzZXJfbGVkIChncmVlbikgKi8KKwkJLm5hbWUJCQk9ICJ1c2VyX2xlZCIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjIxLAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCisJfQorfTsKKworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYm9hcmRfaW5pdCh2b2lkKQoreworCS8qIFNlcmlhbCAqLworCWF0OTFfYWRkX2RldmljZV9zZXJpYWwoKTsKKwkvKiBVU0IgSG9zdCAqLworCWF0OTFfYWRkX2RldmljZV91c2JoKCZla191c2JoX2RhdGEpOworCS8qIFVTQiBEZXZpY2UgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdWRjKCZla191ZGNfZGF0YSk7CisJLyogU1BJICovCisJYXQ5MV9hZGRfZGV2aWNlX3NwaShla19zcGlfZGV2aWNlcywgQVJSQVlfU0laRShla19zcGlfZGV2aWNlcykpOworCS8qIEV0aGVybmV0ICovCisJYXQ5MV9hZGRfZGV2aWNlX2V0aCgmZWtfbWFjYl9kYXRhKTsKKwkvKiBOQU5EICovCisJYXQ5MV9hZGRfZGV2aWNlX25hbmQoJmVrX25hbmRfZGF0YSk7CisJLyogSTJDICovCisJYXQ5MV9hZGRfZGV2aWNlX2kyYyhOVUxMLCAwKTsKKwkvKiBQdXNoIEJ1dHRvbnMgKi8KKwlla19hZGRfZGV2aWNlX2J1dHRvbnMoKTsKKwkvKiBMRURzICovCisJYXQ5MV9ncGlvX2xlZHMoZWtfbGVkcywgQVJSQVlfU0laRShla19sZWRzKSk7CisJLyogc2h1dGRvd24gY29udHJvbGxlciwgd2FrZXVwIGJ1dHRvbiAoNSBtc2VjIGxvdykgKi8KKwlhdDkxX3N5c193cml0ZShBVDkxX1NIRFdfTVIsIEFUOTFfU0hEV19DUFRXSzBfKDEwKSB8IEFUOTFfU0hEV19XS01PREUwX0xPVworCQkJCXwgQVQ5MV9TSERXX1JUVFdLRU4pOworfQorCitNQUNISU5FX1NUQVJUKFVTQl9BOTI2MywgIkNBTEFPIFVTQl9BOTI2MyIpCisJLyogTWFpbnRhaW5lcjogY2FsYW8tc3lzdGVtcyAqLworCS5waHlzX2lvCT0gQVQ5MV9CQVNFX1NZUywKKwkuaW9fcGdfb2Zmc3QJPSAoQVQ5MV9WQV9CQVNFX1NZUyA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gQVQ5MV9TRFJBTV9CQVNFICsgMHgxMDAsCisJLnRpbWVyCQk9ICZhdDkxc2FtOTI2eF90aW1lciwKKwkubWFwX2lvCQk9IGVrX21hcF9pbywKKwkuaW5pdF9pcnEJPSBla19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lCT0gZWtfYm9hcmRfaW5pdCwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQteWwtOTIwMC5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXlsLTkyMDAuYwppbmRleCBiNTcxNzEwLi43MDc5MDUwIDEwMDc1NQotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQteWwtOTIwMC5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC15bC05MjAwLmMKQEAgLTEsMTEgKzEsMTAgQEAKIC8qCiAgKiBsaW51eC9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQteWwtOTIwMC5jCiAgKgotICogQWRhcHRlZCBmcm9tOgotICp2YXJpb3VzIGJvYXJkIGZpbGVzIGluCi0gKiAvYXJjaC9hcm0vbWFjaC1hdDkxCi0gKiBtb2RpZmljYXRpb25zICB0byBjb252ZXJ0IHRvICBZTC05MjAwIHBsYXRmb3JtCi0gKiAgQ29weXJpZ2h0IChDKSAyMDA3IFMuQmlydGxlcworICogQWRhcHRlZCBmcm9tIHZhcmlvdXMgYm9hcmQgZmlsZXMgaW4gYXJjaC9hcm0vbWFjaC1hdDkxCisgKgorICogTW9kaWZpY2F0aW9ucyBmb3IgWUwtOTIwMCBwbGF0Zm9ybToKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDcgUy4gQmlydGxlcwogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAtMjYsMTMgKzI1LDE0IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+Ci0vKiNpbmNsdWRlIDxsaW51eC9jYW5fYnVzL2NhbmRhdGEuaD4qLwogI2luY2x1ZGUgPGxpbnV4L3NwaS9hZHM3ODQ2Lmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogCi0vKiNpbmNsdWRlIDxzb3VuZC9ncGlvX3NvdW5kZXIuaD4qLwogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CkBAIC00NSwxNzkgKzQ1LDEwOCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFybTkyMDBfbWMuaD4KLSNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogCiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgotI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFfcGlvLmg+CiAKLSNkZWZpbmUgWUxfOTIwMF9GTEFTSF9CQVNFCUFUOTFfQ0hJUFNFTEVDVF8wCi0jZGVmaW5lIFlMXzkyMDBfRkxBU0hfU0laRQkweDgwMDAwMAogCi0vKgotICogU2VyaWFsIHBvcnQgY29uZmlndXJhdGlvbi4KLSAqICAgIDAgLi4gMyA9IFVTQVJUMCAuLiBVU0FSVDMKLSAqICAgIDQgICAgICA9IERCR1UKLSAqYXRtZWxfdXNhcnQuMDogdHR5UzAgYXQgTU1JTyAweGZlZmZmMjAwIChpcnEgPSAxKSBpcyBhIEFUTUVMX1NFUklBTAotICphdG1lbF91c2FydC4xOiB0dHlTMSBhdCBNTUlPIDB4ZmZmYzAwMDAgKGlycSA9IDYpIGlzIGEgQVRNRUxfU0VSSUFMCi0gKmF0bWVsX3VzYXJ0LjI6IHR0eVMyIGF0IE1NSU8gMHhmZmZjNDAwMCAoaXJxID0gNykgaXMgYSBBVE1FTF9TRVJJQUwKLSAqYXRtZWxfdXNhcnQuMzogdHR5UzMgYXQgTU1JTyAweGZmZmM4MDAwIChpcnEgPSA4KSBpcyBhIEFUTUVMX1NFUklBTAotICphdG1lbF91c2FydC40OiB0dHlTNCBhdCBNTUlPIDB4ZmZmY2MwMDAgKGlycSA9IDkpIGlzIGEgQVRNRUxfU0VSSUFMCi0gKiBvbiB0aGUgWUwtOTIwMCB3ZSBhcmUgc2l0dGluZyBhdCB0aGUgZm9sbG93aW5nCi0gKnR0eVMwIGF0IE1NSU8gMHhmZWZmZjIwMCAoaXJxID0gMSkgaXMgYSBBVDkxX1NFUklBTAotICp0dHlTMSBhdCBNTUlPIDB4ZmVmYzQwMDAgKGlycSA9IDcpIGlzIGEgQVQ5MV9TRVJJQUwKLSAqLwotCi0vKiBleHRlcm4gdm9pZCBfX2luaXQgeWxfOTIwMF9hZGRfZGV2aWNlX3NvdW5kZXIoc3RydWN0IGdwaW9fc291bmRlciAqc291bmRlcnMsIGludCBucik7Ki8KLQotc3RhdGljIHN0cnVjdCBhdDkxX3VhcnRfY29uZmlnIF9faW5pdGRhdGEgeWxfOTIwMF91YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMywKLQkudHR5X21hcAk9IHsgNCwgMSwgMCwgLTEsIC0xIH0JCS8qIHR0eVMwLCAuLi4sIHR0eVM0ICovCi19OwotCi1zdGF0aWMgdm9pZCBfX2luaXQgeWxfOTIwMF9tYXBfaW8odm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfbWFwX2lvKHZvaWQpCiB7CiAJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDE4LjQzMiBNSHogY3J5c3RhbCAqLwotCS8qQWxzbyBpbml0aWFsaXNlcyByZWdpc3RlciBjbG9ja3MgJiBncGlvKi8KLQlhdDkxcm05MjAwX2luaXRpYWxpemUoMTg0MzIwMDAsIEFUOTFSTTkyMDBfUFFGUCk7IC8qd2UgaGF2ZSBhIDMgYmFuayBzeXN0ZW0qLworCWF0OTFybTkyMDBfaW5pdGlhbGl6ZSgxODQzMjAwMCwgQVQ5MVJNOTIwMF9QUUZQKTsKIAotCS8qIFNldHVwIHRoZSBzZXJpYWwgcG9ydHMgYW5kIGNvbnNvbGUgKi8KLQlhdDkxX2luaXRfc2VyaWFsKCZ5bF85MjAwX3VhcnRfY29uZmlnKTsKKwkvKiBTZXR1cCB0aGUgTEVEcyBEMj1QQjE3ICh0aW1lciksIEQzPVBCMTYgKGNwdSkgKi8KKwlhdDkxX2luaXRfbGVkcyhBVDkxX1BJTl9QQjE2LCBBVDkxX1BJTl9QQjE3KTsKIAotCS8qIFNldHVwIHRoZSBMRURzIEQyPVBCMTcsRDM9UEIxNiAqLwotCWF0OTFfaW5pdF9sZWRzKEFUOTFfUElOX1BCMTYsQVQ5MV9QSU5fUEIxNyk7IC8qY3B1LWxlZCx0aW1lci1sZWQqLworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQl8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIFVTQVJUMCBvbiB0dHlTMi4gKFJ4ICYgVHggb25seSB0byBKUDMpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMwLCAyLCAwKTsKKworCS8qIFVTQVJUMyBvbiB0dHlTMy4gKFJ4LCBUeCwgUlRTIC0gUlM0ODUgaW50ZXJmYWNlKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMywgMywgQVRNRUxfVUFSVF9SVFMpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IHlsXzkyMDBfaW5pdF9pcnEodm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfaW5pdF9pcnEodm9pZCkKIHsKIAlhdDkxcm05MjAwX2luaXRfaW50ZXJydXB0cyhOVUxMKTsKIH0KIAotc3RhdGljIHN0cnVjdCBhdDkxX2V0aF9kYXRhIF9faW5pdGRhdGEgeWxfOTIwMF9ldGhfZGF0YSA9IHsKLQkucGh5X2lycV9waW4JPSBBVDkxX1BJTl9QQjI4LAotCS5pc19ybWlpCT0gMSwKLX07CiAKLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91c2JoX2RhdGEgX19pbml0ZGF0YSB5bF85MjAwX3VzYmhfZGF0YSA9IHsKLQkucG9ydHMJCT0gMSwgIC8qIHRoaXMgc2hvdWxkIGJlIDEgbm90IDIgZm9yIHRoZSBZbDkyMDAqLwotfTsKLQotc3RhdGljIHN0cnVjdCBhdDkxX3VkY19kYXRhIF9faW5pdGRhdGEgeWxfOTIwMF91ZGNfZGF0YSA9IHsKLS8qb24gc2hlZXQgNyBTY2hlbWl0aWMgcmV2IDEuMCovCi0JLnB1bGx1cF9waW4JPSBBVDkxX1BJTl9QQzQsCi0JLnZidXNfcGluPSAgQVQ5MV9QSU5fUEM1LAotCS5wdWxsdXBfYWN0aXZlX2xvdyA9IDEsIC8qQUNUSVZFIExPVyEhIGR1ZSB0byBQTlAgdHJhbnNpc3RvciBvbiBwYWdlIDcqLwotCi19OwogLyoKLXN0YXRpYyBzdHJ1Y3QgYXQ5MV9jZl9kYXRhIF9faW5pdGRhdGEgeWxfOTIwMF9jZl9kYXRhID0gewotVE9ETyBTLkJJUlRMRVMKLQkuZGV0X3Bpbgk9IEFUOTFfUElOX3h4eCwKLQkucnN0X3Bpbgk9IEFUOTFfUElOX3h4eCwKLQkuaXJxX3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCi0JLnZjY19waW4JPSAuLi4gYWx3YXlzIHBvd2VyZWQKKyAqIExFRHMKKyAqLworc3RhdGljIHN0cnVjdCBncGlvX2xlZCB5bDkyMDBfbGVkc1tdID0geworCXsJLyogRDIgKi8KKwkJLm5hbWUJCQk9ICJsZWQyIiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BCMTcsCisJCS5hY3RpdmVfbG93CQk9IDEsCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAidGltZXIiLAorCX0sCisJewkvKiBEMyAqLworCQkubmFtZQkJCT0gImxlZDMiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEIxNiwKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAorCX0sCisJewkvKiBENCAqLworCQkubmFtZQkJCT0gImxlZDQiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEIxNSwKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwl9LAorCXsJLyogRDUgKi8KKwkJLm5hbWUJCQk9ICJsZWQ1IiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BCOCwKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwl9Cit9OworCisvKgorICogRXRoZXJuZXQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX2V0aF9kYXRhIF9faW5pdGRhdGEgeWw5MjAwX2V0aF9kYXRhID0geworCS5waHlfaXJxX3BpbgkJPSBBVDkxX1BJTl9QQjI4LAorCS5pc19ybWlpCQk9IDEsCit9OworCisvKgorICogVVNCIEhvc3QKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VzYmhfZGF0YSBfX2luaXRkYXRhIHlsOTIwMF91c2JoX2RhdGEgPSB7CisJLnBvcnRzCQkJPSAxLAkvKiBQUUZQIHZlcnNpb24gb2YgQVQ5MVJNOTIwMCAqLworfTsKKworLyoKKyAqIFVTQiBEZXZpY2UKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VkY19kYXRhIF9faW5pdGRhdGEgeWw5MjAwX3VkY19kYXRhID0geworCS5wdWxsdXBfcGluCQk9IEFUOTFfUElOX1BDNCwKKwkudmJ1c19waW4JCT0gQVQ5MV9QSU5fUEM1LAorCS5wdWxsdXBfYWN0aXZlX2xvdwk9IDEsCS8qIEFjdGl2ZSBMb3cgZHVlIHRvIFBOUCB0cmFuc2lzdG9yIChwZyA3KSAqLwogCiB9OwotKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV9tbWNfZGF0YSBfX2luaXRkYXRhIHlsXzkyMDBfbW1jX2RhdGEgPSB7Ci0JLmRldF9waW4JPSBBVDkxX1BJTl9QQjksIC8qVEhJUyBMT09LUyBDT1JSRUNUIFNIRUVUNyovCi0vKgkud3BfcGluCQk9IC4uLiBub3QgY29ubmVjdGVkICBTSEVFVDcqLwotCS5zbG90X2IJCT0gMCwKKworLyoKKyAqIE1NQworICovCitzdGF0aWMgc3RydWN0IGF0OTFfbW1jX2RhdGEgX19pbml0ZGF0YSB5bDkyMDBfbW1jX2RhdGEgPSB7CisJLmRldF9waW4JPSBBVDkxX1BJTl9QQjksCisJLy8gLndwX3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCiAJLndpcmU0CQk9IDEsCi0KIH07CiAKLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiAgVG91Y2ggc2NyZWVuCi0gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwotI2lmIGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDYpIHx8IGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDZfTU9EVUxFKQotc3RhdGljIGludCBhZHM3ODQzX3BlbmRvd25fc3RhdGUodm9pZCkKLXsKLQlyZXR1cm4gIWF0OTFfZ2V0X2dwaW9fdmFsdWUoQVQ5MV9QSU5fUEIxMSk7CS8qIFRvdWNoc2NyZWVuIFBFTklSUSAqLwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgYXQ5MV9pbml0X2RldmljZV90cyh2b2lkKQotewotLypJTVBPUlRBTlQgTk9URSBUSEUgU1BJIElOVEVSRkFDRSBJUyBBTFJFQURZIENPTkZJR1VSRUQgQlkgWFhYX0RFVklDRVMuQwotVEhBVCBJUyBUTyBTQVkgVEhBVCAgTUlTTyxNT1NJLFNQQ0sgQU5EIENTICBhcmUgYWxyZWFkeSBjb25maWd1cmVkCi13ZSBvbmx5IG5lZWQgdG8gZW5hYmxlIHRoZSBvdGhlciBkYXRhcGlucyB3aGljaCBhcmU6Ci1QQjEwL1JLMSBCVVNZCi0qLwotLyogVG91Y2hzY3JlZW4gQlVTWSBzaWduYWwgLCAgcGluLHVzZSBwdWxsdXAgKCBUT0RPIG5vdCBjdXJyZW50bHkgdXNlZCBpbiB0aGUgQURTNzg0My82LmMgZHJpdmVyKSovCi1hdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMTAsIDEpOwotfQotCi0jZWxzZQotc3RhdGljIHZvaWQgX19pbml0IGF0OTFfaW5pdF9kZXZpY2VfdHModm9pZCkge30KLSNlbmRpZgotCi1zdGF0aWMgc3RydWN0IGFkczc4NDZfcGxhdGZvcm1fZGF0YSBhZHNfaW5mbyA9IHsKLQkubW9kZWwJCQk9IDc4NDMsCi0JLnhfbWluCQkJPSAxNTAsCi0JLnhfbWF4CQkJPSAzODMwLAotCS55X21pbgkJCT0gMTkwLAotCS55X21heAkJCT0gMzgzMCwKLQkudnJlZl9kZWxheV91c2Vjcwk9IDEwMCwKLS8qIGZvciBhIDgiIHRvdWNoIHNjcmVlbiovCi0JLy8ueF9wbGF0ZV9vaG1zCQk9IDYwMywgLy89IDQ1MCwgUy5CaXJ0bGVzIFRPRE8KLQkvLy55X3BsYXRlX29obXMJCT0gMzMyLCAvLz0gMjUwLCBTLkJpcnRsZXMgVE9ETwotLypmb3IgYSAxMC40IiB0b3VjaCBzY3JlZW4qLwotCS8vLnhfcGxhdGVfb2htcwkJPTYxMSwKLQkvLy55X3BsYXRlX29obXMJCT0zMjUsCi0KLQkueF9wbGF0ZV9vaG1zCT0gNTc2LAotCS55X3BsYXRlX29obXMJPSAzNjYsCi0JCS8vCi0JLnByZXNzdXJlX21heAkJPSAxNTAwMCwgLypnZW5lcmFsbHkgbm9uc2Vuc2Ugb24gdGhlIDc4NDMqLwotCSAvKm51bWJlciBvZiB0aW1lcyB0byBzZW5kIHF1ZXJ5IHRvIGNoaXAgaW4gYSBnaXZlbiBydW4gMCBlcXVhbHMgb25lIHRpbWUgKGRvIG5vdCBzZXQgdG8gMCEhICx0aGVyZSBpcyBhIGJ1ZyBpbiBBRFMgNzg0NiBjb2RlKSovCi0JLmRlYm91bmNlX21heAkJPSAxLAotCS5kZWJvdW5jZV9yZXAJCT0gMCwKLQkuZGVib3VuY2VfdG9sCQk9ICh+MCksCi0JLmdldF9wZW5kb3duX3N0YXRlCT0gYWRzNzg0M19wZW5kb3duX3N0YXRlLAotfTsKLQotLypzdGF0aWMgc3RydWN0IGNhbmJ1c19wbGF0Zm9ybV9kYXRhIGNhbl9pbmZvID0gewotCS5tb2RlbAkJCT0gMjUxMCwKLX07Ci0qLwotCi1zdGF0aWMgc3RydWN0IHNwaV9ib2FyZF9pbmZvIHlsXzkyMDBfc3BpX2RldmljZXNbXSA9IHsKLS8qdGhpcyBzdGlja3MgaXQgYXQ6Ci0gL3N5cy9kZXZpY2VzL3BsYXRmb3JtL2F0bWVsX3NwaS4wL3NwaTAuMAotIC9zeXMvYnVzL3BsYXRmb3JtL2RldmljZXMvCi1Eb2N1bWVudGF0aW9uL3NwaSBJSVJDKi8KLQotI2lmIGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDYpIHx8IGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDZfTU9EVUxFKQotIC8qKHRoaXMgSVMgY29ycmVjdCAwNC1OT1YtMjAwNykqLwotCXsKLQkJLm1vZGFsaWFzCQk9ICJhZHM3ODQ2IiwgLyogYmVjYXVzZSB0aGUgZHJpdmVyIGlzIGNhbGxlZCBhZHM3ODQ2Ki8KLQkJLmNoaXBfc2VsZWN0CT0gMCwgLypUSElTIE1VU1QgQkUgQU4gSU5ERVggSU5UTyBBTiBBUlJBWSBPRiAgcGlucyAqLwotLyp0aGlzIGlzIE9OTFkgVE8gQkUgVVNFRCBpZiBjaGlwc2VsZWN0IGFib3ZlIGlzIG5vdCB1c2VkLCBpdCBwYXNzZXMgYSBwaW4gZGlyZWN0bHkgZm9yIHRoZSBjaGlwIHNlbGVjdCovCi0JCS8qLmNvbnRyb2xsZXJfZGF0YSA9QVQ5MV9QSU5fUEEzICwqLwotCQkubWF4X3NwZWVkX2h6CT0gNTAwMCoyNiwgLyooNDcwMCAqIDI2KS0xMjUwMDAgKiAyNiwgKG1heCBzYW1wbGUgcmF0ZSBAIDNWKSAqIChjbWQgKyBkYXRhICsgb3ZlcmhlYWQpICovCi0JCS5idXNfbnVtCQk9IDAsCi0JCS5wbGF0Zm9ybV9kYXRhCT0gJmFkc19pbmZvLAotCQkuaXJxCQkJPSBBVDkxX1BJTl9QQjExLAotCX0sCi0jZW5kaWYKLS8qd2UgbmVlZCB0byBwdXQgb3VyIENBTiBkcml2ZXIgZGF0YSBoZXJlISEqLwotLypUSElTIElTIEFMTCBEVU1NWSBEQVRBKi8KLS8qCXsKLQkJLm1vZGFsaWFzCQk9ICJtY3AyNTEwIiwgLy9EVU1NWSBmb3IgTUNQMjUxMCBjaGlwCi0JCS5jaGlwX3NlbGVjdAk9IDEsKi8gLypUSElTIE1VU1QgQkUgQU4gSU5ERVggSU5UTyBBTiBBUlJBWSBPRiAgcGlucyAqLwotCS8qdGhpcyBpcyBPTkxZIFRPIEJFIFVTRUQgaWYgY2hpcHNlbGVjdCBhYm92ZSBpcyBub3QgdXNlZCwgaXQgcGFzc2VzIGEgcGluIGRpcmVjdGx5IGZvciB0aGUgY2hpcCBzZWxlY3QgKi8KLQkvKiAgLmNvbnRyb2xsZXJfZGF0YSA9QVQ5MV9QSU5fUEE0ICwKLQkJLm1heF9zcGVlZF9oegk9IDI1MDAwICogMjYsCi0JCS5idXNfbnVtCQk9IDAsCi0JCS5wbGF0Zm9ybV9kYXRhCT0gJmNhbl9pbmZvLAotCQkuaXJxCQkJPSBBVDkxX1BJTl9QQzAsCi0JfSwKLQkqLwotCS8vbWF4IFNQSSBjaGlwIG5lZWRzIHRvIGdvIGhlcmUKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBfX2luaXRkYXRhIHlsXzkyMDBfbmFuZF9wYXJ0aXRpb25bXSA9IHsKKy8qCisgKiBOQU5EIEZsYXNoCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBfX2luaXRkYXRhIHlsOTIwMF9uYW5kX3BhcnRpdGlvbltdID0gewogCXsKIAkJLm5hbWUJPSAiQVQ5MSBOQU5EIHBhcnRpdGlvbiAxLCBib290IiwKIAkJLm9mZnNldAk9IDAsCkBAIC0yNDIsNDQyICsxNzEsNDM0IEBACiAJCS5uYW1lCT0gIkFUOTEgTkFORCBwYXJ0aXRpb24gNSwgZXh0LWZzIiwKIAkJLm9mZnNldAk9IDMyICogU1pfMU0sCiAJCS5zaXplCT0gMzIgKiBTWl8xTQotCX0sCisJfQogfTsKIAogc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uICogX19pbml0IG5hbmRfcGFydGl0aW9ucyhpbnQgc2l6ZSwgaW50ICpudW1fcGFydGl0aW9ucykKIHsKLQkqbnVtX3BhcnRpdGlvbnMgPSBBUlJBWV9TSVpFKHlsXzkyMDBfbmFuZF9wYXJ0aXRpb24pOwotCXJldHVybiB5bF85MjAwX25hbmRfcGFydGl0aW9uOworCSpudW1fcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoeWw5MjAwX25hbmRfcGFydGl0aW9uKTsKKwlyZXR1cm4geWw5MjAwX25hbmRfcGFydGl0aW9uOwogfQogCi1zdGF0aWMgc3RydWN0IGF0OTFfbmFuZF9kYXRhIF9faW5pdGRhdGEgeWxfOTIwMF9uYW5kX2RhdGEgPSB7Ci0JLmFsZT0gNiwKLQkuY2xlPSA3LAotCS8qLmRldF9waW4JPSBBVDkxX1BJTl9QQ3h4LCovICAgLyp3ZSBkb24ndCBoYXZlIGEgZGV0IHBpbiBiZWNhdXNlIE5hbmRGbGFzaCBpcyBmaXhlZCB0byBib2FyZCovCi0JLnJkeV9waW4JPSBBVDkxX1BJTl9QQzE0LCAgLypSLyFCIFNoZWV0MTAqLwotCS5lbmFibGVfcGluCT0gQVQ5MV9QSU5fUEMxNSwgIC8qIUNFICBTaGVldDEwICovCitzdGF0aWMgc3RydWN0IGF0OTFfbmFuZF9kYXRhIF9faW5pdGRhdGEgeWw5MjAwX25hbmRfZGF0YSA9IHsKKwkuYWxlCQk9IDYsCisJLmNsZQkJPSA3LAorCS8vIC5kZXRfcGluCT0gLi4uIG5vdCBjb25uZWN0ZWQKKwkucmR5X3Bpbgk9IEFUOTFfUElOX1BDMTQsCS8qIFIvIUIgKFNoZWV0MTApICovCisJLmVuYWJsZV9waW4JPSBBVDkxX1BJTl9QQzE1LAkvKiAhQ0UgIChTaGVldDEwKSAqLwogCS5wYXJ0aXRpb25faW5mbwk9IG5hbmRfcGFydGl0aW9ucywKIH07CiAKLQotCiAvKgotVE9ETyBTLkJpcnRsZXMKLXBvdGVudGlhbGx5IGEgcHJvYmxlbSB3aXRoIHRoZSBzaXplIGFib3ZlCi1waHlzbWFwIHBsYXRmb3JtIGZsYXNoIGRldmljZTogMDA4MDAwMDAgYXQgMTAwMDAwMDAKLXBoeXNtYXAtZmxhc2guMDogRm91bmQgMSB4MTYgZGV2aWNlcyBhdCAweDAgaW4gMTYtYml0IGJhbmsKLU5PUiBjaGlwIHRvbyBsYXJnZSB0byBmaXQgaW4gbWFwcGluZy4gQXR0ZW1wdGluZyB0byBjb3BlLi4uCi0gSW50ZWwvU2hhcnAgRXh0ZW5kZWQgUXVlcnkgVGFibGUgYXQgMHgwMDMxCi1Vc2luZyBidWZmZXIgd3JpdGUgbWV0aG9kCi1jZmlfY21kc2V0XzAwMDE6IEVyYXNlIHN1c3BlbmQgb24gd3JpdGUgZW5hYmxlZAotUmVkdWNpbmcgdmlzaWJpbGl0eSBvZiAxNjM4NEtpQiBjaGlwIHRvIDgxOTJLaUIKLSovCisgKiBOT1IgRmxhc2gKKyAqLworI2RlZmluZSBZTDkyMDBfRkxBU0hfQkFTRQlBVDkxX0NISVBTRUxFQ1RfMAorI2RlZmluZSBZTDkyMDBfRkxBU0hfU0laRQkweDEwMDAwMDAKIAotc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHlsXzkyMDBfZmxhc2hfcGFydGl0aW9uc1tdID0geworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHlsOTIwMF9mbGFzaF9wYXJ0aXRpb25zW10gPSB7CiAJewotCQkubmFtZSA9CQkiQm9vdGxvYWRlciIsCi0JCS5zaXplID0JCTB4MDAwNDAwMDAsCi0JCS5vZmZzZXQgPQkwLAotCQkubWFza19mbGFncyA9CU1URF9XUklURUFCTEUgIC8qIGZvcmNlIHJlYWQtb25seSAqLwotCX0sewotCQkubmFtZSA9CQkiS2VybmVsIiwKLQkJLnNpemUgPQkJMHgwMDFDMDAwMCwKLQkJLm9mZnNldCA9CTB4MDAwNDAwMDAsCi0JfSx7Ci0JCS5uYW1lID0JCSJGaWxlc3lzdGVtIiwKLQkJLnNpemUgPQkJTVREUEFSVF9TSVpfRlVMTCwKLQkJLm9mZnNldCA9CTB4MDAyMDAwMDAKLQl9Ci0KLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHlsXzkyMDBfZmxhc2hfZGF0YSA9IHsKLQkud2lkdGgJPSAyLAotCS5wYXJ0cyAgICAgICAgICA9IHlsXzkyMDBfZmxhc2hfcGFydGl0aW9ucywKLQkubnJfcGFydHMgICAgICAgPSBBUlJBWV9TSVpFKHlsXzkyMDBfZmxhc2hfcGFydGl0aW9ucyksCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHlsXzkyMDBfZmxhc2hfcmVzb3VyY2VzW10gPSB7Ci17Ci0JLnN0YXJ0CQk9IFlMXzkyMDBfRkxBU0hfQkFTRSwKLQkuZW5kCQk9IFlMXzkyMDBfRkxBU0hfQkFTRSArIFlMXzkyMDBfRkxBU0hfU0laRSAtIDEsCi0JLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCQkubmFtZQkJPSAiQm9vdGxvYWRlciIsCisJCS5zaXplCQk9IDB4MDAwNDAwMDAsCisJCS5vZmZzZXQJCT0gMCwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAkvKiBmb3JjZSByZWFkLW9ubHkgKi8KKwl9LAorCXsKKwkJLm5hbWUJCT0gIktlcm5lbCIsCisJCS5zaXplCQk9IDB4MDAxQzAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDA0MDAwMCwKKwl9LAorCXsKKwkJLm5hbWUJCT0gIkZpbGVzeXN0ZW0iLAorCQkuc2l6ZQkJPSBNVERQQVJUX1NJWl9GVUxMLAorCQkub2Zmc2V0CQk9IDB4MDAyMDAwMDAKIAl9CiB9OwogCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB5bF85MjAwX2ZsYXNoID0geworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgeWw5MjAwX2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDIsCisJLnBhcnRzCQk9IHlsOTIwMF9mbGFzaF9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUoeWw5MjAwX2ZsYXNoX3BhcnRpdGlvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB5bDkyMDBfZmxhc2hfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBZTDkyMDBfRkxBU0hfQkFTRSwKKwkJLmVuZAk9IFlMOTIwMF9GTEFTSF9CQVNFICsgWUw5MjAwX0ZMQVNIX1NJWkUgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB5bDkyMDBfZmxhc2ggPSB7CiAJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAogCS5pZAkJPSAwLAogCS5kZXYJCT0gewotCQkJCS5wbGF0Zm9ybV9kYXRhCT0gJnlsXzkyMDBfZmxhc2hfZGF0YSwKKwkJCQkucGxhdGZvcm1fZGF0YQk9ICZ5bDkyMDBfZmxhc2hfZGF0YSwKIAkJCX0sCi0JLnJlc291cmNlCT0geWxfOTIwMF9mbGFzaF9yZXNvdXJjZXMsCi0JLm51bV9yZXNvdXJjZXMgID0gQVJSQVlfU0laRSh5bF85MjAwX2ZsYXNoX3Jlc291cmNlcyksCisJLnJlc291cmNlCT0geWw5MjAwX2ZsYXNoX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUoeWw5MjAwX2ZsYXNoX3Jlc291cmNlcyksCiB9OwogCi0KLXN0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWQgeWxfOTIwMF9sZWRzW10gPSB7Ci0vKkQyICZEMyBhcmUgcGFzc2VkIGRpcmVjdGx5IGluIHZpYSBhdDkxX2luaXRfbGVkcyovCi0JewotCQkubmFtZQkJCT0gImxlZDQiLCAgLypENCovCi0JCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjE1LAotCQkuYWN0aXZlX2xvdwkJPSAxLAotCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCi0JCS8qLmRlZmF1bHRfdHJpZ2dlcgk9ICJ0aW1lciIsKi8KLQl9LAotCXsKLQkJLm5hbWUJCQk9ICJsZWQ1IiwgIC8qRDUqLwotCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEI4LAotCQkuYWN0aXZlX2xvdwkJPSAxLAotCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCi0JfQotfTsKLQotLy9zdGF0aWMgc3RydWN0IGdwaW9fc291bmRlciB5bF85MjAwX3NvdW5kZXJbXSA9IHsqLwotLypUaGlzIGlzIGEgc2ltcGxlIHNwZWFrZXIgYXR0YWNoZWQgdG8gYSBncG8gbGluZSovCi0KLS8vCXsKLS8vCQkubmFtZQkJCT0gIlNwZWFrZXIiLCAgLypMUzEqLwotLy8JCS5ncGlvCQkJPSBBVDkxX1BJTl9QQTIyLAotLy8JCS5hY3RpdmVfbG93CQk9IDAsCi0vLwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJoZWFydGJlYXQiLAotCQkvKi5kZWZhdWx0X3RyaWdnZXIJPSAidGltZXIiLCovCi0vLwl9LAotLy99OwotCi0KLQotc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHlsXzkyMDBfaTJjX2RldmljZXNbXSA9IHsKLQl7Ci0JLypUT0RPKi8KLQkJSTJDX0JPQVJEX0lORk8oIkNTNDMzNCIsIDB4MDApLAotCX0KLX07Ci0KLQotIC8qCi0gKiBHUElPIEJ1dHRvbnMKKy8qCisgKiBJMkMgKFRXSSkKICAqLworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHlsOTIwMF9pMmNfZGV2aWNlc1tdID0geworCXsJLyogRUVQUk9NICovCisJCUkyQ19CT0FSRF9JTkZPKCIyNGMxMjgiLCAweDUwKSwKKwl9Cit9OworCisvKgorICogR1BJTyBCdXR0b25zCisqLwogI2lmIGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU8pIHx8IGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU9fTU9EVUxFKQotc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIHlsXzkyMDBfYnV0dG9uc1tdID0geworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIHlsOTIwMF9idXR0b25zW10gPSB7CiAJewogCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQTI0LAotCQkuY29kZQk9IEJUTl8yLAorCQkuY29kZQkJPSBCVE5fMiwKIAkJLmRlc2MJCT0gIlNXMiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKIAkJLndha2V1cAkJPSAxLAogCX0sCiAJewogCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQjEsCi0JCS5jb2RlCT0gQlROXzMsCisJCS5jb2RlCQk9IEJUTl8zLAogCQkuZGVzYwkJPSAiU1czIiwKIAkJLmFjdGl2ZV9sb3cJPSAxLAogCQkud2FrZXVwCQk9IDEsCiAJfSwKIAl7CiAJCS5ncGlvCQk9IEFUOTFfUElOX1BCMiwKLQkJLmNvZGUJPSBCVE5fNCwKKwkJLmNvZGUJCT0gQlROXzQsCiAJCS5kZXNjCQk9ICJTVzQiLAogCQkuYWN0aXZlX2xvdwk9IDEsCiAJCS53YWtldXAJCT0gMSwKIAl9LAogCXsKIAkJLmdwaW8JCT0gQVQ5MV9QSU5fUEI2LAotCQkuY29kZQk9IEJUTl81LAorCQkuY29kZQkJPSBCVE5fNSwKIAkJLmRlc2MJCT0gIlNXNSIsCiAJCS5hY3RpdmVfbG93CT0gMSwKIAkJLndha2V1cAkJPSAxLAotCX0sCi0KKwl9CiB9OwogCi1zdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIHlsXzkyMDBfYnV0dG9uX2RhdGEgPSB7Ci0JLmJ1dHRvbnMJPSB5bF85MjAwX2J1dHRvbnMsCi0JLm5idXR0b25zCT0gQVJSQVlfU0laRSh5bF85MjAwX2J1dHRvbnMpLAorc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSB5bDkyMDBfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSB5bDkyMDBfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKHlsOTIwMF9idXR0b25zKSwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHlsXzkyMDBfYnV0dG9uX2RldmljZSA9IHsKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHlsOTIwMF9idXR0b25fZGV2aWNlID0gewogCS5uYW1lCQk9ICJncGlvLWtleXMiLAogCS5pZAkJPSAtMSwKIAkubnVtX3Jlc291cmNlcwk9IDAsCiAJLmRldgkJPSB7Ci0JLnBsYXRmb3JtX2RhdGEJPSAmeWxfOTIwMF9idXR0b25fZGF0YSwKKwkJLnBsYXRmb3JtX2RhdGEJPSAmeWw5MjAwX2J1dHRvbl9kYXRhLAogCX0KIH07CiAKLXN0YXRpYyB2b2lkIF9faW5pdCB5bF85MjAwX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKQorc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkKIHsKLQkvL1NXMgotCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEEyNCwgMCk7CisJYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQTI0LCAxKTsJLyogU1cyICovCiAJYXQ5MV9zZXRfZGVnbGl0Y2goQVQ5MV9QSU5fUEEyNCwgMSk7Ci0KLQkvL1NXMwotCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEIxLCAwKTsKKwlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMSwgMSk7CS8qIFNXMyAqLwogCWF0OTFfc2V0X2RlZ2xpdGNoKEFUOTFfUElOX1BCMSwgMSk7Ci0JLy9TVzQKLQlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMiwgMCk7CisJYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjIsIDEpOwkvKiBTVzQgKi8KIAlhdDkxX3NldF9kZWdsaXRjaChBVDkxX1BJTl9QQjIsIDEpOwotCi0JLy9TVzUKLQlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCNiwgMCk7CisJYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjYsIDEpOwkvKiBTVzUgKi8KIAlhdDkxX3NldF9kZWdsaXRjaChBVDkxX1BJTl9QQjYsIDEpOwogCisJLyogRW5hYmxlIGJ1dHRvbnMgKFNoZWV0IDUpICovCisJYXQ5MV9zZXRfZ3Bpb19vdXRwdXQoQVQ5MV9QSU5fUEI3LCAxKTsKIAotCWF0OTFfc2V0X2dwaW9fb3V0cHV0KEFUOTFfUElOX1BCNywgMSk7CS8qICNUVVJOIEJVVFRPTlMgT04sIFNIRUVUIDUgIG9mIHNjaGVtYXRpY3MgKi8KLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnlsXzkyMDBfYnV0dG9uX2RldmljZSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ5bDkyMDBfYnV0dG9uX2RldmljZSk7CiB9CiAjZWxzZQotc3RhdGljIHZvaWQgX19pbml0IHlsXzkyMDBfYWRkX2RldmljZV9idXR0b25zKHZvaWQpIHt9CitzdGF0aWMgdm9pZCBfX2luaXQgeWw5MjAwX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKSB7fQogI2VuZGlmCiAKKy8qCisgKiBUb3VjaHNjcmVlbgorICovCisjaWYgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0NikgfHwgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0Nl9NT0RVTEUpCitzdGF0aWMgaW50IGFkczc4NDNfcGVuZG93bl9zdGF0ZSh2b2lkKQoreworCXJldHVybiAhYXQ5MV9nZXRfZ3Bpb192YWx1ZShBVDkxX1BJTl9QQjExKTsJLyogVG91Y2hzY3JlZW4gUEVOSVJRICovCit9CisKK3N0YXRpYyBzdHJ1Y3QgYWRzNzg0Nl9wbGF0Zm9ybV9kYXRhIGFkc19pbmZvID0geworCS5tb2RlbAkJCT0gNzg0MywKKwkueF9taW4JCQk9IDE1MCwKKwkueF9tYXgJCQk9IDM4MzAsCisJLnlfbWluCQkJPSAxOTAsCisJLnlfbWF4CQkJPSAzODMwLAorCS52cmVmX2RlbGF5X3VzZWNzCT0gMTAwLAorCisJLyogRm9yIGEgOCIgdG91Y2gtc2NyZWVuICovCisJLy8gLnhfcGxhdGVfb2htcwkJPSA2MDMsCisJLy8gLnlfcGxhdGVfb2htcwkJPSAzMzIsCisKKwkvKiBGb3IgYSAxMC40IiB0b3VjaC1zY3JlZW4gKi8KKwkvLyAueF9wbGF0ZV9vaG1zCQk9IDYxMSwKKwkvLyAueV9wbGF0ZV9vaG1zCQk9IDMyNSwKKworCS54X3BsYXRlX29obXMJCT0gNTc2LAorCS55X3BsYXRlX29obXMJCT0gMzY2LAorCisJLnByZXNzdXJlX21heAkJPSAxNTAwMCwgLyogZ2VuZXJhbGx5IG5vbnNlbnNlIG9uIHRoZSA3ODQzICovCisJLmRlYm91bmNlX21heAkJPSAxLAorCS5kZWJvdW5jZV9yZXAJCT0gMCwKKwkuZGVib3VuY2VfdG9sCQk9ICh+MCksCisJLmdldF9wZW5kb3duX3N0YXRlCT0gYWRzNzg0M19wZW5kb3duX3N0YXRlLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9hZGRfZGV2aWNlX3RzKHZvaWQpCit7CisJYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjExLCAxKTsJLyogVG91Y2hzY3JlZW4gaW50ZXJydXB0IHBpbiAqLworCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEIxMCwgMSk7CS8qIFRvdWNoc2NyZWVuIEJVU1kgc2lnbmFsIC0gbm90IHVzZWQhICovCit9CisjZWxzZQorc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9hZGRfZGV2aWNlX3RzKHZvaWQpIHt9CisjZW5kaWYKKworLyoKKyAqIFNQSSBkZXZpY2VzCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3BpX2JvYXJkX2luZm8geWw5MjAwX3NwaV9kZXZpY2VzW10gPSB7CisjaWYgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0NikgfHwgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0Nl9NT0RVTEUpCisJewkvKiBUb3VjaHNjcmVlbiAqLworCQkubW9kYWxpYXMJPSAiYWRzNzg0NiIsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tYXhfc3BlZWRfaHoJPSA1MDAwICogMjYsCisJCS5wbGF0Zm9ybV9kYXRhCT0gJmFkc19pbmZvLAorCQkuaXJxCQk9IEFUOTFfUElOX1BCMTEsCisJfSwKKyNlbmRpZgorCXsJLyogQ0FOICovCisJCS5tb2RhbGlhcwk9ICJtY3AyNTEwIiwKKwkJLmNoaXBfc2VsZWN0CT0gMSwKKwkJLm1heF9zcGVlZF9oegk9IDI1MDAwICogMjYsCisJCS5pcnEJCT0gQVQ5MV9QSU5fUEMwLAorCX0KK307CisKKy8qCisgKiBMQ0QgLyBWR0EKKyAqCisgKiBFUFNPTiBTMUQxMzgwNiBGQiAoZGlzY29udGludWVkIGNoaXApCisgKiBFUFNPTiBTMUQxMzUwNiBGQgorICovCiAjaWYgZGVmaW5lZChDT05GSUdfRkJfUzFEMTM1WFgpIHx8IGRlZmluZWQoQ09ORklHX0ZCX1MxRDEzWFhYX01PRFVMRSkKICNpbmNsdWRlIDx2aWRlby9zMWQxM3h4eGZiLmg+CiAKLS8qIEVQU09OIFMxRDEzODA2IEZCIChkaXNjb250aW51ZWQgY2hpcCkqLwotLyogRVBTT04gUzFEMTM1MDYgRkIgKi8KLQogI2RlZmluZSBBVDkxX0ZCX1JFR19CQVNFCTB4ODAwMDAwMDBMCiAjZGVmaW5lIEFUOTFfRkJfUkVHX1NJWkUJMHgyMDAKICNkZWZpbmUgQVQ5MV9GQl9WTUVNX0JBU0UJMHg4MDIwMDAwMEwKICNkZWZpbmUgQVQ5MV9GQl9WTUVNX1NJWkUJMHgyMDAwMDBMCiAKLS8qI2RlZmluZSBTMURfRElTUExBWV9XSURUSCAgICAgICAgICAgNjQwKi8KLS8qI2RlZmluZSBTMURfRElTUExBWV9IRUlHSFQgICAgICAgICAgNDgwKi8KLQotCi1zdGF0aWMgdm9pZCBfX2luaXQgeWxfOTIwMF9pbml0X3ZpZGVvKHZvaWQpCitzdGF0aWMgdm9pZCBfX2luaXQgeWw5MjAwX2luaXRfdmlkZW8odm9pZCkKIHsKLQlhdDkxX3N5c193cml0ZShBVDkxX1BJT0MgKyBQSU9fQVNSLEFUOTFfUElOX1BDNik7Ci0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9QSU9DICsgUElPX0JTUiwwKTsKLQlhdDkxX3N5c193cml0ZShBVDkxX1BJT0MgKyBQSU9fQVNSLEFUOTFfUElOX1BDNik7CisJLyogTldBSVQgU2lnbmFsICovCisJYXQ5MV9zZXRfQV9wZXJpcGgoQVQ5MV9QSU5fUEM2LCAwKTsKIAotCWF0OTFfc3lzX3dyaXRlKCBBVDkxX1NNQ19DU1IoMiksCi0JQVQ5MV9TTUNfTldTXygweDQpIHwKLQlBVDkxX1NNQ19XU0VOIHwKLQlBVDkxX1NNQ19UREZfKDB4MTAwKSB8Ci0JQVQ5MV9TTUNfREJXCisJLyogSW5pdGlhbGl6YXRpb24gb2YgdGhlIFN0YXRpYyBNZW1vcnkgQ29udHJvbGxlciBmb3IgQ2hpcCBTZWxlY3QgMiAqLworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NTUigyKSwgQVQ5MV9TTUNfREJXXzE2CQkvKiAxNiBiaXQgKi8KKwkJCXwgQVQ5MV9TTUNfV1NFTiB8IEFUOTFfU01DX05XU18oMHg0KQkvKiB3YWl0IHN0YXRlcyAqLworCQkJfCBBVDkxX1NNQ19UREZfKDB4MTAwKQkJCS8qIGZsb2F0IHRpbWUgKi8KIAkpOwotCi0KLQogfQogCi0KLXN0YXRpYyBzdHJ1Y3QgczFkMTN4eHhmYl9yZWd2YWwgeWxfOTIwMF9zMWRmYl9pbml0cmVnc1tdID0KK3N0YXRpYyBzdHJ1Y3QgczFkMTN4eHhmYl9yZWd2YWwgeWw5MjAwX3MxZGZiX2luaXRyZWdzW10gPQogewotCXtTMURSRUdfTUlTQywJCQkJMHgwMH0sICAgLyogTWlzY2VsbGFuZW91cyBSZWdpc3RlciovCi0Je1MxRFJFR19DT01fRElTUF9NT0RFLAkJMHgwMX0sICAgLyogRGlzcGxheSBNb2RlIFJlZ2lzdGVyLCBMQ0Qgb25seSovCi0Je1MxRFJFR19HUElPX0NORjAsCQkJMHgwMH0sICAgLyogR2VuZXJhbCBJTyBQaW5zIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfR1BJT19DVEwwLAkJCTB4MDB9LCAgIC8qIEdlbmVyYWwgSU8gUGlucyBDb250cm9sIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NMS19DTkYsCQkJMHgxMX0sICAgLyogTWVtb3J5IENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NMS19DTkYsCQkweDEwfSwgICAvKiBMQ0QgUGl4ZWwgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ0xLX0NORiwJCTB4MTJ9LCAgIC8qIENSVC9UViBQaXhlbCBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX01QTFVHX0NMS19DTkYsCQkweDAxfSwgICAvKiBNZWRpYVBsdWcgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19DUFUyTUVNX1dTVF9TRUwsCTB4MDJ9LCAgIC8qIENQVSBUbyBNZW1vcnkgV2FpdCBTdGF0ZSBTZWxlY3QgUmVnaXN0ZXIqLwotCXtTMURSRUdfTUVNX0NORiwJCQkweDAwfSwgICAvKiBNZW1vcnkgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19TRFJBTV9SRUZfUkFURSwJCTB4MDR9LCAgIC8qIERSQU0gUmVmcmVzaCBSYXRlIFJlZ2lzdGVyLCBNQ0xLIHNvdXJjZSovCi0Je1MxRFJFR19TRFJBTV9UQzAsCQkJMHgxMn0sICAgLyogRFJBTSBUaW1pbmdzIENvbnRyb2wgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19TRFJBTV9UQzEsCQkJMHgwMn0sICAgLyogRFJBTSBUaW1pbmdzIENvbnRyb2wgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19QQU5FTF9UWVBFLAkJCTB4MjV9LCAgIC8qIFBhbmVsIFR5cGUgUmVnaXN0ZXIqLwotCXtTMURSRUdfTU9EX1JBVEUsCQkJMHgwMH0sICAgLyogTU9EIFJhdGUgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfSFdJRFRILAkweDRGfSwgICAvKiBMQ0QgSG9yaXpvbnRhbCBEaXNwbGF5IFdpZHRoIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9ORElTUF9IUEVSLAkJMHgxM30sICAgLyogTENEIEhvcml6b250YWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1RGVF9GUExJTkVfU1RBUlQsCTB4MDF9LCAgIC8qIFRGVCBGUExJTkUgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfVEZUX0ZQTElORV9QV0lEVEgsCTB4MGN9LCAgIC8qIFRGVCBGUExJTkUgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfVkhFSUdIVDAsCTB4REZ9LCAgIC8qIExDRCBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0xDRF9ESVNQX1ZIRUlHSFQxLAkweDAxfSwgICAvKiBMQ0QgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19MQ0RfTkRJU1BfVlBFUiwJCTB4MmN9LCAgIC8qIExDRCBWZXJ0aWNhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIqLwotCXtTMURSRUdfVEZUX0ZQRlJBTUVfU1RBUlQsCTB4MGF9LCAgIC8qIFRGVCBGUEZSQU1FIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1RGVF9GUEZSQU1FX1BXSURUSCwJMHgwMn0sICAgLyogVEZUIEZQRlJBTUUgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfTU9ERSwJCTB4MDV9LCAgIC8qIExDRCBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX01JU0MsCQkJMHgwMX0sICAgLyogTENEIE1pc2NlbGxhbmVvdXMgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfU1RBUlQwLAkweDAwfSwgICAvKiBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfTENEX0RJU1BfU1RBUlQxLAkweDAwfSwgICAvKiBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfTENEX0RJU1BfU1RBUlQyLAkweDAwfSwgICAvKiBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLwotCXtTMURSRUdfTENEX01FTV9PRkYwLAkJMHg4MH0sICAgLyogTENEIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0xDRF9NRU1fT0ZGMSwJCTB4MDJ9LCAgIC8qIExDRCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19MQ0RfUElYX1BBTiwJCTB4MDN9LCAgIC8qIExDRCBQaXhlbCBQYW5uaW5nIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9ESVNQX0ZJRk9fSFRDLAkweDAwfSwgICAvKiBMQ0QgRGlzcGxheSBGSUZPIEhpZ2ggVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfRklGT19MVEMsCTB4MDB9LCAgIC8qIExDRCBEaXNwbGF5IEZJRk8gTG93IFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9ESVNQX0hXSURUSCwJMHg0Rn0sICAgLyogQ1JUL1RWIEhvcml6b250YWwgRGlzcGxheSBXaWR0aCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfTkRJU1BfSFBFUiwJCTB4MTN9LCAgIC8qIENSVC9UViBIb3Jpem9udGFsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfSFJUQ19TVEFSVCwJCTB4MDF9LCAgIC8qIENSVC9UViBIUlRDIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9IUlRDX1BXSURUSCwJMHgwQn0sICAgLyogQ1JUL1RWIEhSVEMgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0RJU1BfVkhFSUdIVDAsCTB4REZ9LCAgIC8qIENSVC9UViBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0NSVF9ESVNQX1ZIRUlHSFQxLAkweDAxfSwgICAvKiBDUlQvVFYgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19DUlRfTkRJU1BfVlBFUiwJCTB4MkJ9LCAgIC8qIENSVC9UViBWZXJ0aWNhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX1ZSVENfU1RBUlQsCQkweDA5fSwgICAvKiBDUlQvVFYgVlJUQyBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfVlJUQ19QV0lEVEgsCTB4MDF9LCAgIC8qIENSVC9UViBWUlRDIFB1bHNlIFdpZHRoIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1RWX09VVF9DVEwsCQkJMHgxOH0sICAgLyogVFYgT3V0cHV0IENvbnRyb2wgUmVnaXN0ZXIgKi8KLQl7UzFEUkVHX0NSVF9ESVNQX01PREUsCQkweDA1fSwgICAvKiBDUlQvVFYgRGlzcGxheSBNb2RlIFJlZ2lzdGVyLCAxNkJQUCovCi0Je1MxRFJFR19DUlRfRElTUF9TVEFSVDAsCTB4MDB9LCAgIC8qIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19DUlRfRElTUF9TVEFSVDEsCTB4MDB9LCAgIC8qIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19DUlRfRElTUF9TVEFSVDIsCTB4MDB9LCAgIC8qIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMiovCi0Je1MxRFJFR19DUlRfTUVNX09GRjAsCQkweDgwfSwgICAvKiBDUlQvVFYgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQ1JUX01FTV9PRkYxLAkJMHgwMn0sICAgLyogQ1JUL1RWIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0NSVF9QSVhfUEFOLAkJMHgwMH0sICAgLyogQ1JUL1RWIFBpeGVsIFBhbm5pbmcgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0RJU1BfRklGT19IVEMsCTB4MDB9LCAgIC8qIENSVC9UViBEaXNwbGF5IEZJRk8gSGlnaCBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfRElTUF9GSUZPX0xUQywJMHgwMH0sICAgLyogQ1JUL1RWIERpc3BsYXkgRklGTyBMb3cgVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NVUl9DVEwsCQkweDAwfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBDb250cm9sIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfU1RBUlQsCQkweDAxfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfWFBPUzAsCQkweDAwfSwgICAvKiBMQ0QgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19MQ0RfQ1VSX1hQT1MxLAkJMHgwMH0sICAgLyogTENEIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfTENEX0NVUl9ZUE9TMCwJCTB4MDB9LCAgIC8qIExDRCBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0xDRF9DVVJfWVBPUzEsCQkweDAwfSwgICAvKiBMQ0QgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19MQ0RfQ1VSX0JDVEwwLAkJMHgwMH0sICAgLyogTENEIEluay9DdXJzb3IgQmx1ZSBDb2xvciAwIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfR0NUTDAsCQkweDAwfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAwIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfUkNUTDAsCQkweDAwfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBSZWQgQ29sb3IgMCBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX0JDVEwxLAkJMHgxRn0sICAgLyogTENEIEluay9DdXJzb3IgQmx1ZSBDb2xvciAxIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfR0NUTDEsCQkweDNGfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAxIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfUkNUTDEsCQkweDFGfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBSZWQgQ29sb3IgMSBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX0ZJRk9fSFRDLAkweDAwfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBGSUZPIFRocmVzaG9sZCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ1VSX0NUTCwJCTB4MDB9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIENvbnRyb2wgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9TVEFSVCwJCTB4MDF9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9YUE9TMCwJCTB4MDB9LCAgIC8qIENSVC9UViBDdXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0NSVF9DVVJfWFBPUzEsCQkweDAwfSwgICAvKiBDUlQvVFYgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19DUlRfQ1VSX1lQT1MwLAkJMHgwMH0sICAgLyogQ1JUL1RWIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQ1JUX0NVUl9ZUE9TMSwJCTB4MDB9LCAgIC8qIENSVC9UViBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0NSVF9DVVJfQkNUTDAsCQkweDAwfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBCbHVlIENvbG9yIDAgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9HQ1RMMCwJCTB4MDB9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDAgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9SQ1RMMCwJCTB4MDB9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIFJlZCBDb2xvciAwIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfQkNUTDEsCQkweDFGfSwgICAvKiBDUlQvVFYgSW5rL0N1cnNvciBCbHVlIENvbG9yIDEgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9HQ1RMMSwJCTB4M0Z9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDEgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9SQ1RMMSwJCTB4MUZ9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIFJlZCBDb2xvciAxIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfRklGT19IVEMsCTB4MDB9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIEZJRk8gVGhyZXNob2xkIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0JCTFRfQ1RMMCwJCQkweDAwfSwgICAvKiBCaXRCbHQgQ29udHJvbCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfQ1RMMSwJCQkweDAxfSwgICAvKiBCaXRCbHQgQ29udHJvbCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfQ0NfRVhQLAkJMHgwMH0sICAgLyogQml0Qmx0IFJPUCBDb2RlL0NvbG9yIEV4cGFuc2lvbiBSZWdpc3RlciovCi0Je1MxRFJFR19CQkxUX09QLAkJCTB4MDB9LCAgIC8qIEJpdEJsdCBPcGVyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfQkJMVF9TUkNfU1RBUlQwLAkweDAwfSwgICAvKiBCaXRCbHQgU291cmNlIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19CQkxUX1NSQ19TVEFSVDEsCTB4MDB9LCAgIC8qIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfU1JDX1NUQVJUMiwJMHgwMH0sICAgLyogQml0Qmx0IFNvdXJjZSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLwotCXtTMURSRUdfQkJMVF9EU1RfU1RBUlQwLAkweDAwfSwgICAvKiBCaXRCbHQgRGVzdGluYXRpb24gU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfRFNUX1NUQVJUMSwJMHgwMH0sICAgLyogQml0Qmx0IERlc3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19CQkxUX0RTVF9TVEFSVDIsCTB4MDB9LCAgIC8qIEJpdEJsdCBEZXN0aW5hdGlvbiBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLwotCXtTMURSRUdfQkJMVF9NRU1fT0ZGMCwJCTB4MDB9LCAgIC8qIEJpdEJsdCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19CQkxUX01FTV9PRkYxLAkJMHgwMH0sICAgLyogQml0Qmx0IE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfV0lEVEgwLAkJMHgwMH0sICAgLyogQml0Qmx0IFdpZHRoIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQkJMVF9XSURUSDEsCQkweDAwfSwgICAvKiBCaXRCbHQgV2lkdGggUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19CQkxUX0hFSUdIVDAsCQkweDAwfSwgICAvKiBCaXRCbHQgSGVpZ2h0IFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQkJMVF9IRUlHSFQxLAkJMHgwMH0sICAgLyogQml0Qmx0IEhlaWdodCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfQkdDMCwJCQkweDAwfSwgICAvKiBCaXRCbHQgQmFja2dyb3VuZCBDb2xvciBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfQkdDMSwJCQkweDAwfSwgICAvKiBCaXRCbHQgQmFja2dyb3VuZCBDb2xvciBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfRkdDMCwJCQkweDAwfSwgICAvKiBCaXRCbHQgRm9yZWdyb3VuZCBDb2xvciBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfRkdDMSwJCQkweDAwfSwgICAvKiBCaXRCbHQgRm9yZWdyb3VuZCBDb2xvciBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0xLVVBfTU9ERSwJCQkweDAwfSwgICAvKiBMb29rLVVwIFRhYmxlIE1vZGUgUmVnaXN0ZXIqLwotCXtTMURSRUdfTEtVUF9BRERSLAkJCTB4MDB9LCAgIC8qIExvb2stVXAgVGFibGUgQWRkcmVzcyBSZWdpc3RlciovCi0Je1MxRFJFR19QU19DTkYsCQkJCTB4MDB9LCAgIC8qIFBvd2VyIFNhdmUgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19QU19TVEFUVVMsCQkJMHgwMH0sICAgLyogUG93ZXIgU2F2ZSBTdGF0dXMgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1BVMk1FTV9XRE9HVCwJCTB4MDB9LCAgIC8qIENQVS10by1NZW1vcnkgQWNjZXNzIFdhdGNoZG9nIFRpbWVyIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NPTV9ESVNQX01PREUsCQkweDAxfSwgICAvKiBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIsIExDRCBvbmx5Ki8KKwl7UzFEUkVHX01JU0MsCQkJMHgwMH0sCS8qIE1pc2NlbGxhbmVvdXMgUmVnaXN0ZXIqLworCXtTMURSRUdfQ09NX0RJU1BfTU9ERSwJCTB4MDF9LAkvKiBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIsIExDRCBvbmx5Ki8KKwl7UzFEUkVHX0dQSU9fQ05GMCwJCTB4MDB9LAkvKiBHZW5lcmFsIElPIFBpbnMgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19HUElPX0NUTDAsCQkweDAwfSwJLyogR2VuZXJhbCBJTyBQaW5zIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfQ0xLX0NORiwJCTB4MTF9LAkvKiBNZW1vcnkgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ0xLX0NORiwJCTB4MTB9LAkvKiBMQ0QgUGl4ZWwgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ0xLX0NORiwJCTB4MTJ9LAkvKiBDUlQvVFYgUGl4ZWwgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19NUExVR19DTEtfQ05GLAkJMHgwMX0sCS8qIE1lZGlhUGx1ZyBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NQVTJNRU1fV1NUX1NFTCwJMHgwMn0sCS8qIENQVSBUbyBNZW1vcnkgV2FpdCBTdGF0ZSBTZWxlY3QgUmVnaXN0ZXIqLworCXtTMURSRUdfTUVNX0NORiwJCTB4MDB9LAkvKiBNZW1vcnkgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19TRFJBTV9SRUZfUkFURSwJCTB4MDR9LAkvKiBEUkFNIFJlZnJlc2ggUmF0ZSBSZWdpc3RlciwgTUNMSyBzb3VyY2UqLworCXtTMURSRUdfU0RSQU1fVEMwLAkJMHgxMn0sCS8qIERSQU0gVGltaW5ncyBDb250cm9sIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfU0RSQU1fVEMxLAkJMHgwMn0sCS8qIERSQU0gVGltaW5ncyBDb250cm9sIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfUEFORUxfVFlQRSwJCTB4MjV9LAkvKiBQYW5lbCBUeXBlIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX01PRF9SQVRFLAkJMHgwMH0sCS8qIE1PRCBSYXRlIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9ESVNQX0hXSURUSCwJMHg0Rn0sCS8qIExDRCBIb3Jpem9udGFsIERpc3BsYXkgV2lkdGggUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX05ESVNQX0hQRVIsCQkweDEzfSwJLyogTENEIEhvcml6b250YWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1RGVF9GUExJTkVfU1RBUlQsCTB4MDF9LAkvKiBURlQgRlBMSU5FIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1RGVF9GUExJTkVfUFdJRFRILAkweDBjfSwJLyogVEZUIEZQTElORSBQdWxzZSBXaWR0aCBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfRElTUF9WSEVJR0hUMCwJMHhERn0sCS8qIExDRCBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0xDRF9ESVNQX1ZIRUlHSFQxLAkweDAxfSwJLyogTENEIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDEqLworCXtTMURSRUdfTENEX05ESVNQX1ZQRVIsCQkweDJjfSwJLyogTENEIFZlcnRpY2FsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCisJe1MxRFJFR19URlRfRlBGUkFNRV9TVEFSVCwJMHgwYX0sCS8qIFRGVCBGUEZSQU1FIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1RGVF9GUEZSQU1FX1BXSURUSCwJMHgwMn0sCS8qIFRGVCBGUEZSQU1FIFB1bHNlIFdpZHRoIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9ESVNQX01PREUsCQkweDA1fSwJLyogTENEIERpc3BsYXkgTW9kZSBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfTUlTQywJCTB4MDF9LAkvKiBMQ0QgTWlzY2VsbGFuZW91cyBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfRElTUF9TVEFSVDAsCTB4MDB9LAkvKiBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfTENEX0RJU1BfU1RBUlQxLAkweDAwfSwJLyogTENEIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0xDRF9ESVNQX1NUQVJUMiwJMHgwMH0sCS8qIExDRCBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMiovCisJe1MxRFJFR19MQ0RfTUVNX09GRjAsCQkweDgwfSwJLyogTENEIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0xDRF9NRU1fT0ZGMSwJCTB4MDJ9LAkvKiBMQ0QgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDEqLworCXtTMURSRUdfTENEX1BJWF9QQU4sCQkweDAzfSwJLyogTENEIFBpeGVsIFBhbm5pbmcgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0RJU1BfRklGT19IVEMsCTB4MDB9LAkvKiBMQ0QgRGlzcGxheSBGSUZPIEhpZ2ggVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0RJU1BfRklGT19MVEMsCTB4MDB9LAkvKiBMQ0QgRGlzcGxheSBGSUZPIExvdyBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfRElTUF9IV0lEVEgsCTB4NEZ9LAkvKiBDUlQvVFYgSG9yaXpvbnRhbCBEaXNwbGF5IFdpZHRoIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9ORElTUF9IUEVSLAkJMHgxM30sCS8qIENSVC9UViBIb3Jpem9udGFsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfSFJUQ19TVEFSVCwJCTB4MDF9LAkvKiBDUlQvVFYgSFJUQyBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfSFJUQ19QV0lEVEgsCTB4MEJ9LAkvKiBDUlQvVFYgSFJUQyBQdWxzZSBXaWR0aCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfRElTUF9WSEVJR0hUMCwJMHhERn0sCS8qIENSVC9UViBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0NSVF9ESVNQX1ZIRUlHSFQxLAkweDAxfSwJLyogQ1JUL1RWIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQ1JUX05ESVNQX1ZQRVIsCQkweDJCfSwJLyogQ1JUL1RWIFZlcnRpY2FsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfVlJUQ19TVEFSVCwJCTB4MDl9LAkvKiBDUlQvVFYgVlJUQyBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfVlJUQ19QV0lEVEgsCTB4MDF9LAkvKiBDUlQvVFYgVlJUQyBQdWxzZSBXaWR0aCBSZWdpc3RlciovCisJe1MxRFJFR19UVl9PVVRfQ1RMLAkJMHgxOH0sCS8qIFRWIE91dHB1dCBDb250cm9sIFJlZ2lzdGVyICovCisJe1MxRFJFR19DUlRfRElTUF9NT0RFLAkJMHgwNX0sCS8qIENSVC9UViBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIsIDE2QlBQKi8KKwl7UzFEUkVHX0NSVF9ESVNQX1NUQVJUMCwJMHgwMH0sCS8qIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19DUlRfRElTUF9TVEFSVDEsCTB4MDB9LAkvKiBDUlQvVFYgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQ1JUX0RJU1BfU1RBUlQyLAkweDAwfSwJLyogQ1JUL1RWIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KKwl7UzFEUkVHX0NSVF9NRU1fT0ZGMCwJCTB4ODB9LAkvKiBDUlQvVFYgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQ1JUX01FTV9PRkYxLAkJMHgwMn0sCS8qIENSVC9UViBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19DUlRfUElYX1BBTiwJCTB4MDB9LAkvKiBDUlQvVFYgUGl4ZWwgUGFubmluZyBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfRElTUF9GSUZPX0hUQywJMHgwMH0sCS8qIENSVC9UViBEaXNwbGF5IEZJRk8gSGlnaCBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfRElTUF9GSUZPX0xUQywJMHgwMH0sCS8qIENSVC9UViBEaXNwbGF5IEZJRk8gTG93IFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfQ1RMLAkJMHgwMH0sCS8qIExDRCBJbmsvQ3Vyc29yIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9TVEFSVCwJCTB4MDF9LAkvKiBMQ0QgSW5rL0N1cnNvciBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfWFBPUzAsCQkweDAwfSwJLyogTENEIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfTENEX0NVUl9YUE9TMSwJCTB4MDB9LAkvKiBMQ0QgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMSovCisJe1MxRFJFR19MQ0RfQ1VSX1lQT1MwLAkJMHgwMH0sCS8qIExDRCBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0xDRF9DVVJfWVBPUzEsCQkweDAwfSwJLyogTENEIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfTENEX0NVUl9CQ1RMMCwJCTB4MDB9LAkvKiBMQ0QgSW5rL0N1cnNvciBCbHVlIENvbG9yIDAgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9HQ1RMMCwJCTB4MDB9LAkvKiBMQ0QgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAwIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfUkNUTDAsCQkweDAwfSwJLyogTENEIEluay9DdXJzb3IgUmVkIENvbG9yIDAgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9CQ1RMMSwJCTB4MUZ9LAkvKiBMQ0QgSW5rL0N1cnNvciBCbHVlIENvbG9yIDEgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9HQ1RMMSwJCTB4M0Z9LAkvKiBMQ0QgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAxIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DVVJfUkNUTDEsCQkweDFGfSwJLyogTENEIEluay9DdXJzb3IgUmVkIENvbG9yIDEgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9GSUZPX0hUQywJMHgwMH0sCS8qIExDRCBJbmsvQ3Vyc29yIEZJRk8gVGhyZXNob2xkIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfQ1RMLAkJMHgwMH0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9TVEFSVCwJCTB4MDF9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfWFBPUzAsCQkweDAwfSwJLyogQ1JUL1RWIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQ1JUX0NVUl9YUE9TMSwJCTB4MDB9LAkvKiBDUlQvVFYgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMSovCisJe1MxRFJFR19DUlRfQ1VSX1lQT1MwLAkJMHgwMH0sCS8qIENSVC9UViBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0NSVF9DVVJfWVBPUzEsCQkweDAwfSwJLyogQ1JUL1RWIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQ1JUX0NVUl9CQ1RMMCwJCTB4MDB9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBCbHVlIENvbG9yIDAgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9HQ1RMMCwJCTB4MDB9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAwIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfUkNUTDAsCQkweDAwfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgUmVkIENvbG9yIDAgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9CQ1RMMSwJCTB4MUZ9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBCbHVlIENvbG9yIDEgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9HQ1RMMSwJCTB4M0Z9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAxIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DVVJfUkNUTDEsCQkweDFGfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgUmVkIENvbG9yIDEgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9GSUZPX0hUQywJMHgwMH0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIEZJRk8gVGhyZXNob2xkIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0JCTFRfQ1RMMCwJCTB4MDB9LAkvKiBCaXRCbHQgQ29udHJvbCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfQ1RMMSwJCTB4MDF9LAkvKiBCaXRCbHQgQ29udHJvbCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfQ0NfRVhQLAkJMHgwMH0sCS8qIEJpdEJsdCBST1AgQ29kZS9Db2xvciBFeHBhbnNpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfQkJMVF9PUCwJCTB4MDB9LAkvKiBCaXRCbHQgT3BlcmF0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0JCTFRfU1JDX1NUQVJUMCwJMHgwMH0sCS8qIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfU1JDX1NUQVJUMSwJMHgwMH0sCS8qIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfU1JDX1NUQVJUMiwJMHgwMH0sCS8qIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KKwl7UzFEUkVHX0JCTFRfRFNUX1NUQVJUMCwJMHgwMH0sCS8qIEJpdEJsdCBEZXN0aW5hdGlvbiBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQkJMVF9EU1RfU1RBUlQxLAkweDAwfSwJLyogQml0Qmx0IERlc3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19CQkxUX0RTVF9TVEFSVDIsCTB4MDB9LAkvKiBCaXRCbHQgRGVzdGluYXRpb24gU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KKwl7UzFEUkVHX0JCTFRfTUVNX09GRjAsCQkweDAwfSwJLyogQml0Qmx0IE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfTUVNX09GRjEsCQkweDAwfSwJLyogQml0Qmx0IE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfV0lEVEgwLAkJMHgwMH0sCS8qIEJpdEJsdCBXaWR0aCBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfV0lEVEgxLAkJMHgwMH0sCS8qIEJpdEJsdCBXaWR0aCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfSEVJR0hUMCwJCTB4MDB9LAkvKiBCaXRCbHQgSGVpZ2h0IFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQkJMVF9IRUlHSFQxLAkJMHgwMH0sCS8qIEJpdEJsdCBIZWlnaHQgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19CQkxUX0JHQzAsCQkweDAwfSwJLyogQml0Qmx0IEJhY2tncm91bmQgQ29sb3IgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19CQkxUX0JHQzEsCQkweDAwfSwJLyogQml0Qmx0IEJhY2tncm91bmQgQ29sb3IgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19CQkxUX0ZHQzAsCQkweDAwfSwJLyogQml0Qmx0IEZvcmVncm91bmQgQ29sb3IgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19CQkxUX0ZHQzEsCQkweDAwfSwJLyogQml0Qmx0IEZvcmVncm91bmQgQ29sb3IgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19MS1VQX01PREUsCQkweDAwfSwJLyogTG9vay1VcCBUYWJsZSBNb2RlIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xLVVBfQUREUiwJCTB4MDB9LAkvKiBMb29rLVVwIFRhYmxlIEFkZHJlc3MgUmVnaXN0ZXIqLworCXtTMURSRUdfUFNfQ05GLAkJCTB4MDB9LAkvKiBQb3dlciBTYXZlIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfUFNfU1RBVFVTLAkJMHgwMH0sCS8qIFBvd2VyIFNhdmUgU3RhdHVzIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NQVTJNRU1fV0RPR1QsCQkweDAwfSwJLyogQ1BVLXRvLU1lbW9yeSBBY2Nlc3MgV2F0Y2hkb2cgVGltZXIgUmVnaXN0ZXIqLworCXtTMURSRUdfQ09NX0RJU1BfTU9ERSwJCTB4MDF9LAkvKiBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIsIExDRCBvbmx5Ki8KIH07CiAKLXN0YXRpYyB1NjQgczFkZmJfZG1hbWFzayA9IDB4ZmZmZmZmZmZVTDsKK3N0YXRpYyB1NjQgczFkZmJfZG1hbWFzayA9IERNQV9CSVRfTUFTSygzMik7CiAKLXN0YXRpYyBzdHJ1Y3QgczFkMTN4eHhmYl9wZGF0YSB5bF85MjAwX3MxZGZiX3BkYXRhID0gewotCQkuaW5pdHJlZ3MJCQkJPSB5bF85MjAwX3MxZGZiX2luaXRyZWdzLAotCQkuaW5pdHJlZ3NzaXplCQkJPSBBUlJBWV9TSVpFKHlsXzkyMDBfczFkZmJfaW5pdHJlZ3MpLAotCQkucGxhdGZvcm1faW5pdF92aWRlbwk9IHlsXzkyMDBfaW5pdF92aWRlbywKK3N0YXRpYyBzdHJ1Y3QgczFkMTN4eHhmYl9wZGF0YSB5bDkyMDBfczFkZmJfcGRhdGEgPSB7CisJLmluaXRyZWdzCQk9IHlsOTIwMF9zMWRmYl9pbml0cmVncywKKwkuaW5pdHJlZ3NzaXplCQk9IEFSUkFZX1NJWkUoeWw5MjAwX3MxZGZiX2luaXRyZWdzKSwKKwkucGxhdGZvcm1faW5pdF92aWRlbwk9IHlsOTIwMF9pbml0X3ZpZGVvLAogfTsKIAotc3RhdGljIHN0cnVjdCByZXNvdXJjZSB5bF85MjAwX3MxZGZiX3Jlc291cmNlW10gPSB7CitzdGF0aWMgc3RydWN0IHJlc291cmNlIHlsOTIwMF9zMWRmYl9yZXNvdXJjZVtdID0gewogCVswXSA9IHsJLyogdmlkZW8gbWVtICovCi0JCS5uYW1lICAgPSAiczFkMTN4eHhmYiBtZW1vcnkiLAotCS8qCS5uYW1lICAgPSAiczFkMTM4MDYgbWVtb3J5IiwqLwotCQkuc3RhcnQgID0gQVQ5MV9GQl9WTUVNX0JBU0UsCi0JCS5lbmQgICAgPSBBVDkxX0ZCX1ZNRU1fQkFTRSArIEFUOTFfRkJfVk1FTV9TSVpFIC0xLAotCQkuZmxhZ3MgID0gSU9SRVNPVVJDRV9NRU0sCisJCS5uYW1lCT0gInMxZDEzeHh4ZmIgbWVtb3J5IiwKKwkJLnN0YXJ0CT0gQVQ5MV9GQl9WTUVNX0JBU0UsCisJCS5lbmQJPSBBVDkxX0ZCX1ZNRU1fQkFTRSArIEFUOTFfRkJfVk1FTV9TSVpFIC0xLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LAogCVsxXSA9IHsJLyogdmlkZW8gcmVnaXN0ZXJzICovCi0JCS5uYW1lICAgPSAiczFkMTN4eHhmYiByZWdpc3RlcnMiLAotCS8qCS5uYW1lICAgPSAiczFkMTM4MDYgcmVnaXN0ZXJzIiwqLwotCQkuc3RhcnQgID0gQVQ5MV9GQl9SRUdfQkFTRSwKLQkJLmVuZCAgICA9IEFUOTFfRkJfUkVHX0JBU0UgKyBBVDkxX0ZCX1JFR19TSVpFIC0xLAotCQkuZmxhZ3MgID0gSU9SRVNPVVJDRV9NRU0sCisJCS5uYW1lCT0gInMxZDEzeHh4ZmIgcmVnaXN0ZXJzIiwKKwkJLnN0YXJ0CT0gQVQ5MV9GQl9SRUdfQkFTRSwKKwkJLmVuZAk9IEFUOTFfRkJfUkVHX0JBU0UgKyBBVDkxX0ZCX1JFR19TSVpFIC0xLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LAogfTsKIAotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgeWxfOTIwMF9zMWRmYl9kZXZpY2UgPSB7Ci0JLypUT0RPIFMuQmlydGxlcyAsIHJlYWxseSB3ZSBuZWVkIHRoZSBjaGlwIHJldmlzaW9uIGluIGhlcmUgYXMgd2VsbCovCi0JCS5uYW1lCQk9ICJzMWQxMzgwNmZiIiwKLQkvKiAgLm5hbWUJCT0gInMxZDEzNTA2ZmIiLCovCi0JCS5pZAkJCT0gLTEsCi0JCS5kZXYJCT0gewotCS8qVE9ETyB0aGVyZXMgYSB3YXJpbmcgaGVyZSEhKi8KLQkvKldBUk5JTkc6IHZtbGludXgubyguZGF0YSsweDJkYmMpOiBTZWN0aW9uIG1pc21hdGNoOiByZWZlcmVuY2UgdG8gLmluaXQudGV4dDogKGJldHdlZW4gJ3lsXzkyMDBfczFkZmJfcGRhdGEnIGFuZCAnczFkZmJfZG1hbWFzaycpKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHlsOTIwMF9zMWRmYl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gInMxZDEzODA2ZmIiLAorCS5pZAkJPSAtMSwKKwkuZGV2CT0gewogCQkuZG1hX21hc2sJCT0gJnMxZGZiX2RtYW1hc2ssCi0JCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCi0JCS5wbGF0Zm9ybV9kYXRhCQk9ICZ5bF85MjAwX3MxZGZiX3BkYXRhLAorCQkuY29oZXJlbnRfZG1hX21hc2sJPSBETUFfQklUX01BU0soMzIpLAorCQkucGxhdGZvcm1fZGF0YQkJPSAmeWw5MjAwX3MxZGZiX3BkYXRhLAogCX0sCi0JLnJlc291cmNlCT0geWxfOTIwMF9zMWRmYl9yZXNvdXJjZSwKLQkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUoeWxfOTIwMF9zMWRmYl9yZXNvdXJjZSksCisJLnJlc291cmNlCT0geWw5MjAwX3MxZGZiX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRSh5bDkyMDBfczFkZmJfcmVzb3VyY2UpLAogfTsKIAotdm9pZCBfX2luaXQgeWxfOTIwMF9hZGRfZGV2aWNlX3ZpZGVvKHZvaWQpCit2b2lkIF9faW5pdCB5bDkyMDBfYWRkX2RldmljZV92aWRlbyh2b2lkKQogewotCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmeWxfOTIwMF9zMWRmYl9kZXZpY2UpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmeWw5MjAwX3MxZGZiX2RldmljZSk7CiB9CiAjZWxzZQotCXZvaWQgX19pbml0IHlsXzkyMDBfYWRkX2RldmljZV92aWRlbyh2b2lkKSB7fQordm9pZCBfX2luaXQgeWw5MjAwX2FkZF9kZXZpY2VfdmlkZW8odm9pZCkge30KICNlbmRpZgogCi0vKnRoaXMgaXMgbm90IGNhbGxlZCBmaXJzdCAsIHlsXzkyMDBfbWFwX2lvIGlzIGNhbGxlZCBmaXJzdCovCi1zdGF0aWMgdm9pZCBfX2luaXQgeWxfOTIwMF9ib2FyZF9pbml0KHZvaWQpCisKK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfYm9hcmRfaW5pdCh2b2lkKQogewogCS8qIFNlcmlhbCAqLwogCWF0OTFfYWRkX2RldmljZV9zZXJpYWwoKTsKIAkvKiBFdGhlcm5ldCAqLwotCWF0OTFfYWRkX2RldmljZV9ldGgoJnlsXzkyMDBfZXRoX2RhdGEpOworCWF0OTFfYWRkX2RldmljZV9ldGgoJnlsOTIwMF9ldGhfZGF0YSk7CiAJLyogVVNCIEhvc3QgKi8KLQlhdDkxX2FkZF9kZXZpY2VfdXNiaCgmeWxfOTIwMF91c2JoX2RhdGEpOworCWF0OTFfYWRkX2RldmljZV91c2JoKCZ5bDkyMDBfdXNiaF9kYXRhKTsKIAkvKiBVU0IgRGV2aWNlICovCi0JYXQ5MV9hZGRfZGV2aWNlX3VkYygmeWxfOTIwMF91ZGNfZGF0YSk7Ci0JLyogcHVsbHVwX3BpbiBpdCBpcyAgYWN0dWFsbHkgYWN0aXZlIGxvdywgYnV0IHRoaXMgaXMgbm90IG5lZWRlZCwgZHJpdmVyIHNldHMgaXQgdXAgKi8KLQkvKmF0OTFfc2V0X211bHRpX2RyaXZlKHlsXzkyMDBfdWRjX2RhdGEucHVsbHVwX3BpbiwgMCk7Ki8KLQotCS8qIENvbXBhY3QgRmxhc2ggKi8KLQkvKmF0OTFfYWRkX2RldmljZV9jZigmeWxfOTIwMF9jZl9kYXRhKTsqLwotCisJYXQ5MV9hZGRfZGV2aWNlX3VkYygmeWw5MjAwX3VkY19kYXRhKTsKIAkvKiBJMkMgKi8KLQlhdDkxX2FkZF9kZXZpY2VfaTJjKHlsXzkyMDBfaTJjX2RldmljZXMsIEFSUkFZX1NJWkUoeWxfOTIwMF9pMmNfZGV2aWNlcykpOwotCS8qIFNQSSAqLwotCS8qVE9ETyBZTDkyMDAgd2UgaGF2ZSAyIHNwaSBpbnRlcmZhY2VzIHRvdWNoIHNjcmVlbiAmIENBTiovCi0JLyogQVQ5MV9QSU5fUEE1LCBBVDkxX1BJTl9QQTYgLCBhcmUgdXNlZCBvbiB0aGUgIG1heCA0ODUgTk9UIFNQSSovCi0KLQkvKnRvdWNoIHNjcmVlbiBhbmQgQ0FOKi8KLQlhdDkxX2FkZF9kZXZpY2Vfc3BpKHlsXzkyMDBfc3BpX2RldmljZXMsIEFSUkFZX1NJWkUoeWxfOTIwMF9zcGlfZGV2aWNlcykpOwotCi0JLypCYXNpY2FsbHkgdGhlICBUUyB1c2VzICBQQjExICYgUEIxMCAsIFBCMTEgaXMgY29uZmlndXJlZCBieSB0aGUgU1BJIHN5c3RlbSBCUDEwIElTIE5PVCBVU0VEISEqLwotCS8qIHdlIG5lZWQgdGhpcyBpbmNhc2UgdGhlIGJvYXJkIGlzIHJ1bm5pbmcgd2l0aG91dCBhIHRvdWNoIHNjcmVlbiovCi0JI2lmIGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDYpIHx8IGRlZmluZWQoQ09ORklHX1RPVUNIU0NSRUVOX0FEUzc4NDZfTU9EVUxFKQotCWF0OTFfaW5pdF9kZXZpY2VfdHMoKTsgLyppbml0IHRoZSB0b3VjaCBzY3JlZW4gZGV2aWNlKi8KLQkjZW5kaWYKLQkvKiBEYXRhRmxhc2ggY2FyZCAqLwotCWF0OTFfYWRkX2RldmljZV9tbWMoMCwgJnlsXzkyMDBfbW1jX2RhdGEpOworCWF0OTFfYWRkX2RldmljZV9pMmMoeWw5MjAwX2kyY19kZXZpY2VzLCBBUlJBWV9TSVpFKHlsOTIwMF9pMmNfZGV2aWNlcykpOworCS8qIE1NQyAqLworCWF0OTFfYWRkX2RldmljZV9tbWMoMCwgJnlsOTIwMF9tbWNfZGF0YSk7CiAJLyogTkFORCAqLwotCWF0OTFfYWRkX2RldmljZV9uYW5kKCZ5bF85MjAwX25hbmRfZGF0YSk7CisJYXQ5MV9hZGRfZGV2aWNlX25hbmQoJnlsOTIwMF9uYW5kX2RhdGEpOwogCS8qIE5PUiBGbGFzaCAqLwotCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmeWxfOTIwMF9mbGFzaCk7Ci0JLyogTEVEcy4gTm90ZSEhIHRoaXMgZG9lcyBub3QgaW5jbHVkZSB0aGUgbGVkJ3Mgd2UgcGFzc2VkIGZvciB0aGUgcHJvY2Vzc29yIHN0YXR1cyAqLwotCWF0OTFfZ3Bpb19sZWRzKHlsXzkyMDBfbGVkcywgQVJSQVlfU0laRSh5bF85MjAwX2xlZHMpKTsKLQkvKiBWR0EgICovCi0JLyp0aGlzIGlzIHNlbGYgcmVnaXN0ZXJlZCBieSBpbmNsdWRpbmcgdGhlIHMxZDEzeHh4IGNoaXAgaW4gdGhlIGtlcm5lbCBidWlsZCovCi0JeWxfOTIwMF9hZGRfZGV2aWNlX3ZpZGVvKCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ5bDkyMDBfZmxhc2gpOworI2lmIGRlZmluZWQoQ09ORklHX1NQSV9BVE1FTCkgfHwgZGVmaW5lZChDT05GSUdfU1BJX0FUTUVMX01PRFVMRSkKKwkvKiBTUEkgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc3BpKHlsOTIwMF9zcGlfZGV2aWNlcywgQVJSQVlfU0laRSh5bDkyMDBfc3BpX2RldmljZXMpKTsKKwkvKiBUb3VjaHNjcmVlbiAqLworCXlsOTIwMF9hZGRfZGV2aWNlX3RzKCk7CisjZW5kaWYKKwkvKiBMRURzLiAqLworCWF0OTFfZ3Bpb19sZWRzKHlsOTIwMF9sZWRzLCBBUlJBWV9TSVpFKHlsOTIwMF9sZWRzKSk7CiAJLyogUHVzaCBCdXR0b25zICovCi0JeWxfOTIwMF9hZGRfZGV2aWNlX2J1dHRvbnMoKTsKLQkvKlRPRE8gZml4dXAgdGhlIFNvdW5kZXIgKi8KLS8vCXlsXzkyMDBfYWRkX2RldmljZV9zb3VuZGVyKHlsXzkyMDBfc291bmRlcixBUlJBWV9TSVpFKHlsXzkyMDBfc291bmRlcikpOwotCisJeWw5MjAwX2FkZF9kZXZpY2VfYnV0dG9ucygpOworCS8qIFZHQSAqLworCXlsOTIwMF9hZGRfZGV2aWNlX3ZpZGVvKCk7CiB9CiAKIE1BQ0hJTkVfU1RBUlQoWUw5MjAwLCAidUNkcmFnb24gWUwtOTIwMCIpCi0JLyogTWFpbnRhaW5lcjogUy5CaXJ0bGVzKi8KLQkucGh5c19pbwkJPSBBVDkxX0JBU0VfU1lTLAorCS8qIE1haW50YWluZXI6IFMuQmlydGxlcyAqLworCS5waHlzX2lvCT0gQVQ5MV9CQVNFX1NZUywKIAkuaW9fcGdfb2Zmc3QJPSAoQVQ5MV9WQV9CQVNFX1NZUyA+PiAxOCkgJiAweGZmZmMsCiAJLmJvb3RfcGFyYW1zCT0gQVQ5MV9TRFJBTV9CQVNFICsgMHgxMDAsCi0JLnRpbWVyCQkJPSAmYXQ5MXJtOTIwMF90aW1lciwKLQkubWFwX2lvCQkJPSB5bF85MjAwX21hcF9pbywKLQkuaW5pdF9pcnEJCT0geWxfOTIwMF9pbml0X2lycSwKLQkuaW5pdF9tYWNoaW5lCT0geWxfOTIwMF9ib2FyZF9pbml0LAorCS50aW1lcgkJPSAmYXQ5MXJtOTIwMF90aW1lciwKKwkubWFwX2lvCQk9IHlsOTIwMF9tYXBfaW8sCisJLmluaXRfaXJxCT0geWw5MjAwX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUJPSB5bDkyMDBfYm9hcmRfaW5pdCwKIE1BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9jbG9jay5jCmluZGV4IGEzM2RmZTQuLjQ2NGJkYmIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9jbG9jay5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9jbG9jay5jCkBAIC0xMTIsMTIgKzExMiwzNCBAQAogCQlhdDkxX3N5c193cml0ZShBVDkxX1BNQ19TQ0RSLCBjbGstPnBtY19tYXNrKTsKIH0KIAorc3RhdGljIHZvaWQgcG1jX3Vja3JfbW9kZShzdHJ1Y3QgY2xrICpjbGssIGludCBpc19vbikKK3sKKwl1bnNpZ25lZCBpbnQgdWNrciA9IGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX1VDS1IpOworCisJaWYgKGlzX29uKSB7CisJCWlzX29uID0gQVQ5MV9QTUNfTE9DS1U7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfQ0tHUl9VQ0tSLCB1Y2tyIHwgY2xrLT5wbWNfbWFzayk7CisJfSBlbHNlCisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfQ0tHUl9VQ0tSLCB1Y2tyICYgfihjbGstPnBtY19tYXNrKSk7CisKKwlkbyB7CisJCWNwdV9yZWxheCgpOworCX0gd2hpbGUgKChhdDkxX3N5c19yZWFkKEFUOTFfUE1DX1NSKSAmIEFUOTFfUE1DX0xPQ0tVKSAhPSBpc19vbik7Cit9CisKIC8qIFVTQiBmdW5jdGlvbiBjbG9ja3MgKFBMTEIgbXVzdCBiZSA0OCBNSHopICovCiBzdGF0aWMgc3RydWN0IGNsayB1ZHBjayA9IHsKIAkubmFtZQkJPSAidWRwY2siLAogCS5wYXJlbnQJCT0gJnBsbGIsCiAJLm1vZGUJCT0gcG1jX3N5c19tb2RlLAogfTsKK3N0YXRpYyBzdHJ1Y3QgY2xrIHV0bWlfY2xrID0geworCS5uYW1lCQk9ICJ1dG1pX2NsayIsCisJLnBhcmVudAkJPSAmbWFpbl9jbGssCisJLnBtY19tYXNrCT0gQVQ5MV9QTUNfVVBMTEVOLAkvKiBpbiBDS0dSX1VDS1IgKi8KKwkubW9kZQkJPSBwbWNfdWNrcl9tb2RlLAorCS50eXBlCQk9IENMS19UWVBFX1BMTCwKK307CiBzdGF0aWMgc3RydWN0IGNsayB1aHBjayA9IHsKIAkubmFtZQkJPSAidWhwY2siLAogCS5wYXJlbnQJCT0gJnBsbGIsCkBAIC0zNjEsNyArMzgzLDcgQEAKIAogc3RhdGljIGludCBhdDkxX2Nsa19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdW51c2VkKQogewotCXUzMgkJc2NzciwgcGNzciwgc3I7CisJdTMyCQlzY3NyLCBwY3NyLCB1Y2tyID0gMCwgc3I7CiAJc3RydWN0IGNsawkqY2xrOwogCiAJc2VxX3ByaW50ZihzLCAiU0NTUiA9ICU4eFxuIiwgc2NzciA9IGF0OTFfc3lzX3JlYWQoQVQ5MV9QTUNfU0NTUikpOwpAQCAtMzY5LDcgKzM5MSwxMCBAQAogCXNlcV9wcmludGYocywgIk1PUiAgPSAlOHhcbiIsIGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX01PUikpOwogCXNlcV9wcmludGYocywgIk1DRlIgPSAlOHhcbiIsIGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX01DRlIpKTsKIAlzZXFfcHJpbnRmKHMsICJQTExBID0gJTh4XG4iLCBhdDkxX3N5c19yZWFkKEFUOTFfQ0tHUl9QTExBUikpOwotCXNlcV9wcmludGYocywgIlBMTEIgPSAlOHhcbiIsIGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX1BMTEJSKSk7CisJaWYgKCFjcHVfaXNfYXQ5MXNhbTlybCgpKQorCQlzZXFfcHJpbnRmKHMsICJQTExCID0gJTh4XG4iLCBhdDkxX3N5c19yZWFkKEFUOTFfQ0tHUl9QTExCUikpOworCWlmIChjcHVfaXNfYXQ5MWNhcDkoKSB8fCBjcHVfaXNfYXQ5MXNhbTlybCgpKQorCQlzZXFfcHJpbnRmKHMsICJVQ0tSID0gJTh4XG4iLCB1Y2tyID0gYXQ5MV9zeXNfcmVhZChBVDkxX0NLR1JfVUNLUikpOwogCXNlcV9wcmludGYocywgIk1DS1IgPSAlOHhcbiIsIGF0OTFfc3lzX3JlYWQoQVQ5MV9QTUNfTUNLUikpOwogCXNlcV9wcmludGYocywgIlNSICAgPSAlOHhcbiIsIHNyID0gYXQ5MV9zeXNfcmVhZChBVDkxX1BNQ19TUikpOwogCkBAIC0zODIsNiArNDA3LDggQEAKIAkJCXN0YXRlID0gKHNjc3IgJiBjbGstPnBtY19tYXNrKSA/ICJvbiIgOiAib2ZmIjsKIAkJZWxzZSBpZiAoY2xrLT5tb2RlID09IHBtY19wZXJpcGhfbW9kZSkKIAkJCXN0YXRlID0gKHBjc3IgJiBjbGstPnBtY19tYXNrKSA/ICJvbiIgOiAib2ZmIjsKKwkJZWxzZSBpZiAoY2xrLT5tb2RlID09IHBtY191Y2tyX21vZGUpCisJCQlzdGF0ZSA9ICh1Y2tyICYgY2xrLT5wbWNfbWFzaykgPyAib24iIDogIm9mZiI7CiAJCWVsc2UgaWYgKGNsay0+cG1jX21hc2spCiAJCQlzdGF0ZSA9IChzciAmIGNsay0+cG1jX21hc2spID8gIm9uIiA6ICJvZmYiOwogCQllbHNlIGlmIChjbGsgPT0gJmNsazMyayB8fCBjbGsgPT0gJm1haW5fY2xrKQpAQCAtNDg4LDE0ICs1MTUsMTkgQEAKIAkJLyoKIAkJICogUExMIGlucHV0IGJldHdlZW4gMU1IeiBhbmQgMzJNSHogcGVyIHNwZWMsIGJ1dCBsb3dlcgogCQkgKiBmcmVxdWVuY2VzIHNlZW0gbmVjZXNzYXJ5IGluIHNvbWUgY2FzZXMgc28gYWxsb3cgMTAwSy4KKwkJICogV2FybmluZzogc29tZSBuZXdlciBwcm9kdWN0cyBuZWVkIDJNSHogbWluLgogCQkgKi8KIAkJaW5wdXQgPSBtYWluX2ZyZXEgLyBpOworCQlpZiAoY3B1X2lzX2F0OTFzYW05ZzIwKCkgJiYgaW5wdXQgPCAyMDAwMDAwKQorCQkJY29udGludWU7CiAJCWlmIChpbnB1dCA8IDEwMDAwMCkKIAkJCWNvbnRpbnVlOwogCQlpZiAoaW5wdXQgPiAzMjAwMDAwMCkKIAkJCWNvbnRpbnVlOwogCiAJCW11bDEgPSBvdXRfZnJlcSAvIGlucHV0OworCQlpZiAoY3B1X2lzX2F0OTFzYW05ZzIwKCkgJiYgbXVsID4gNjMpCisJCQljb250aW51ZTsKIAkJaWYgKG11bDEgPiAyMDQ4KQogCQkJY29udGludWU7CiAJCWlmIChtdWwxIDwgMikKQEAgLTU1NSw3ICs1ODcsOCBAQAogCiAJLyogcmVwb3J0IGlmIFBMTEEgaXMgbW9yZSB0aGFuIG1pbGRseSBvdmVyY2xvY2tlZCAqLwogCXBsbGEucmF0ZV9oeiA9IGF0OTFfcGxsX3JhdGUoJnBsbGEsIG1haW5fY2xvY2ssIGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX1BMTEFSKSk7Ci0JaWYgKHBsbGEucmF0ZV9oeiA+IDIwOTAwMDAwMCkKKwlpZiAoKCFjcHVfaXNfYXQ5MXNhbTlnMjAoKSAmJiBwbGxhLnJhdGVfaHogPiAyMDkwMDAwMDApCisJICAgfHwgKGNwdV9pc19hdDkxc2FtOWcyMCgpICYmIHBsbGEucmF0ZV9oeiA+IDgwMDAwMDAwMCkpCiAJCXByX2luZm8oIkNsb2NrczogUExMQSBvdmVyY2xvY2tlZCwgJWxkIE1IelxuIiwgcGxsYS5yYXRlX2h6IC8gMTAwMDAwMCk7CiAKIAkvKgpAQCAtNTcwLDcgKzYwMyw3IEBACiAJCXVocGNrLnBtY19tYXNrID0gQVQ5MVJNOTIwMF9QTUNfVUhQOwogCQl1ZHBjay5wbWNfbWFzayA9IEFUOTFSTTkyMDBfUE1DX1VEUDsKIAkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9QTUNfU0NFUiwgQVQ5MVJNOTIwMF9QTUNfTUNLVURQKTsKLQl9IGVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MSgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpKSB7CisJfSBlbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjEoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSB8fCBjcHVfaXNfYXQ5MXNhbTlnMjAoKSkgewogCQl1aHBjay5wbWNfbWFzayA9IEFUOTFTQU05MjZ4X1BNQ19VSFA7CiAJCXVkcGNrLnBtY19tYXNrID0gQVQ5MVNBTTkyNnhfUE1DX1VEUDsKIAl9IGVsc2UgaWYgKGNwdV9pc19hdDkxY2FwOSgpKSB7CkBAIC01ODIsNiArNjE1LDE3IEBACiAJdWhwY2sucmF0ZV9oeiA9IGF0OTFfdXNiX3JhdGUoJnBsbGIsIHBsbGIucmF0ZV9oeiwgYXQ5MV9wbGxiX3VzYl9pbml0KTsKIAogCS8qCisJICogVVNCIEhTIGNsb2NrIGluaXQKKwkgKi8KKwlpZiAoY3B1X2lzX2F0OTFjYXA5KCkgfHwgY3B1X2lzX2F0OTFzYW05cmwoKSkgeworCQkvKgorCQkgKiBtdWx0aXBsaWVyIGlzIGhhcmQtd2lyZWQgdG8gNDAKKwkJICogKG9idGFpbiB0aGUgVVNCIEhpZ2ggU3BlZWQgNDgwIE1IeiB3aGVuIGlucHV0IGlzIDEyIE1IeikKKwkJICovCisJCXV0bWlfY2xrLnJhdGVfaHogPSA0MCAqIHV0bWlfY2xrLnBhcmVudC0+cmF0ZV9oejsKKwl9CisKKwkvKgogCSAqIE1DSyBhbmQgQ1BVIGRlcml2ZSBmcm9tIG9uZSBvZiB0aG9zZSBwcmltYXJ5IGNsb2Nrcy4KIAkgKiBGb3Igbm93LCBhc3N1bWUgdGhpcyBwYXJlbnRhZ2Ugd29uJ3QgY2hhbmdlLgogCSAqLwpAQCAtNTkxLDEzICs2MzUsMjEgQEAKIAlmcmVxIC89ICgxIDw8ICgobWNrciAmIEFUOTFfUE1DX1BSRVMpID4+IDIpKTsJCQkJLyogcHJlc2NhbGUgKi8KIAlpZiAoY3B1X2lzX2F0OTFybTkyMDAoKSkKIAkJbWNrLnJhdGVfaHogPSBmcmVxIC8gKDEgKyAoKG1ja3IgJiBBVDkxX1BNQ19NRElWKSA+PiA4KSk7CS8qIG1kaXYgKi8KLQllbHNlCi0JCW1jay5yYXRlX2h6ID0gZnJlcSAvICgxIDw8ICgobWNrciAmIEFUOTFfUE1DX01ESVYpID4+IDgpKTsJLyogbWRpdiAqLworCWVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOWcyMCgpKSB7CisJCW1jay5yYXRlX2h6ID0gKG1ja3IgJiBBVDkxX1BNQ19NRElWKSA/CisJCQlmcmVxIC8gKChtY2tyICYgQVQ5MV9QTUNfTURJVikgPj4gNykgOiBmcmVxOwkvKiBtZGl2IDsgKHggPj4gNykgPSAoKHggPj4gOCkgKiAyKSAqLworCQlpZiAobWNrciAmIEFUOTFfUE1DX1BESVYpCisJCQlmcmVxIC89IDI7CQkvKiBwcm9jZXNzb3IgY2xvY2sgZGl2aXNpb24gKi8KKwl9IGVsc2UKKwkJbWNrLnJhdGVfaHogPSBmcmVxIC8gKDEgPDwgKChtY2tyICYgQVQ5MV9QTUNfTURJVikgPj4gOCkpOyAgICAgIC8qIG1kaXYgKi8KIAogCS8qIFJlZ2lzdGVyIHRoZSBQTUMncyBzdGFuZGFyZCBjbG9ja3MgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGFuZGFyZF9wbWNfY2xvY2tzKTsgaSsrKQogCQlsaXN0X2FkZF90YWlsKCZzdGFuZGFyZF9wbWNfY2xvY2tzW2ldLT5ub2RlLCAmY2xvY2tzKTsKIAorCWlmIChjcHVfaXNfYXQ5MWNhcDkoKSB8fCBjcHVfaXNfYXQ5MXNhbTlybCgpKQorCQlsaXN0X2FkZF90YWlsKCZ1dG1pX2Nsay5ub2RlLCAmY2xvY2tzKTsKKwogCS8qIE1DSyBhbmQgQ1BVIGNsb2NrIGFyZSAiYWx3YXlzIG9uIiAqLwogCWNsa19lbmFibGUoJm1jayk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9wbS5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL3BtLmMKaW5kZXggYWE4NjNjMS4uOGFiNGZlYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL3BtLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL3BtLmMKQEAgLTIwMiw3ICsyMDIsNyBAQAogCQkJcHJfZGVidWcoIkFUOTE6IFBNIC0gU3VzcGVuZC10by1SQU0gd2l0aCBVU0Igc3RpbGwgYWN0aXZlXG4iKTsKIAkJCXJldHVybiAwOwogCQl9Ci0JfSBlbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjEoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSkgeworCX0gZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05MjYwKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYxKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYzKCkgfHwgY3B1X2lzX2F0OTFzYW05ZzIwKCkpIHsKIAkJaWYgKChzY3NyICYgKEFUOTFTQU05MjZ4X1BNQ19VSFAgfCBBVDkxU0FNOTI2eF9QTUNfVURQKSkgIT0gMCkgewogCQkJcHJfZGVidWcoIkFUOTE6IFBNIC0gU3VzcGVuZC10by1SQU0gd2l0aCBVU0Igc3RpbGwgYWN0aXZlXG4iKTsKIAkJCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1lcDkzeHgvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtZXA5M3h4L2Nsb2NrLmMKaW5kZXggOWQ3NTE1Yy4uZjYyYzM1NSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1lcDkzeHgvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLWVwOTN4eC9jbG9jay5jCkBAIC03NCw2ICs3NCw3IEBACiAKIAlyZXR1cm4gRVJSX1BUUigtRU5PRU5UKTsKIH0KK0VYUE9SVF9TWU1CT0woY2xrX2dldCk7CiAKIGludCBjbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKIHsKQEAgLTg2LDYgKzg3LDcgQEAKIAogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChjbGtfZW5hYmxlKTsKIAogdm9pZCBjbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCiB7CkBAIC05NiwxNSArOTgsMTggQEAKIAkJX19yYXdfd3JpdGVsKHZhbHVlICYgfmNsay0+ZW5hYmxlX21hc2ssIGNsay0+ZW5hYmxlX3JlZyk7CiAJfQogfQorRVhQT1JUX1NZTUJPTChjbGtfZGlzYWJsZSk7CiAKIHVuc2lnbmVkIGxvbmcgY2xrX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKIHsKIAlyZXR1cm4gY2xrLT5yYXRlOwogfQorRVhQT1JUX1NZTUJPTChjbGtfZ2V0X3JhdGUpOwogCiB2b2lkIGNsa19wdXQoc3RydWN0IGNsayAqY2xrKQogewogfQorRVhQT1JUX1NZTUJPTChjbGtfcHV0KTsKIAogCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9NYWtlZmlsZQppbmRleCAwNjk0YWQ2Li4zMmY4NjA5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL01ha2VmaWxlCkBAIC0xNCwxMiArMTQsMTAgQEAKIHBjaS0kKENPTkZJR19BUkNIX05FVFdJTkRFUikgKz0gbmV0d2luZGVyLXBjaS5vCiBwY2ktJChDT05GSUdfQVJDSF9QRVJTT05BTF9TRVJWRVIpICs9IHBlcnNvbmFsLXBjaS5vCiAKLWxlZHMtJChDT05GSUdfQVJDSF9DTzI4NSkgKz0gZWJzYTI4NS1sZWRzLm8KIGxlZHMtJChDT05GSUdfQVJDSF9FQlNBMjg1KSArPSBlYnNhMjg1LWxlZHMubwogbGVkcy0kKENPTkZJR19BUkNIX05FVFdJTkRFUikgKz0gbmV0d2luZGVyLWxlZHMubwogCiBvYmotJChDT05GSUdfQVJDSF9DQVRTKSArPSBjYXRzLWh3Lm8gaXNhLXRpbWVyLm8KLW9iai0kKENPTkZJR19BUkNIX0NPMjg1KSArPSBjbzI4NS5vIGRjMjEyODUtdGltZXIubwogb2JqLSQoQ09ORklHX0FSQ0hfRUJTQTI4NSkgKz0gZWJzYTI4NS5vIGRjMjEyODUtdGltZXIubwogb2JqLSQoQ09ORklHX0FSQ0hfTkVUV0lOREVSKSArPSBuZXR3aW5kZXItaHcubyBpc2EtdGltZXIubwogb2JqLSQoQ09ORklHX0FSQ0hfUEVSU09OQUxfU0VSVkVSKSArPSBwZXJzb25hbC5vIGRjMjEyODUtdGltZXIubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2NvMjg1LmMgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY28yODUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDU0NTU3Ni4uMDAwMDAwMAotLS0gYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY28yODUuYworKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLS8qCi0gKiBsaW51eC9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY28yODUuYwotICoKLSAqIENPMjg1IG1hY2hpbmUgZml4dXAKLSAqLwotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLQotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9kZWMyMTI4NS5oPgotI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+Ci0KLSNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+Ci0KLSNpbmNsdWRlICJjb21tb24uaCIKLQotc3RhdGljIHZvaWQgX19pbml0Ci1maXh1cF9jb2Vic2EyODUoc3RydWN0IG1hY2hpbmVfZGVzYyAqZGVzYywgc3RydWN0IHRhZyAqdGFncywKLQkJY2hhciAqKmNtZGxpbmUsIHN0cnVjdCBtZW1pbmZvICptaSkKLXsKLQlleHRlcm4gdW5zaWduZWQgbG9uZyBib290X21lbW9yeV9lbmQ7Ci0JZXh0ZXJuIGNoYXIgYm9vdF9jb21tYW5kX2xpbmVbXTsKLQotCW1pLT5ucl9iYW5rcyAgICAgID0gMTsKLQltaS0+YmFua1swXS5zdGFydCA9IFBIWVNfT0ZGU0VUOwotCW1pLT5iYW5rWzBdLnNpemUgID0gYm9vdF9tZW1vcnlfZW5kOwotCW1pLT5iYW5rWzBdLm5vZGUgID0gMDsKLQotCSpjbWRsaW5lID0gYm9vdF9jb21tYW5kX2xpbmU7Ci19Ci0KLU1BQ0hJTkVfU1RBUlQoQ08yODUsICJjby1FQlNBMjg1IikKLQkvKiBNYWludGFpbmVyOiBNYXJrIHZhbiBEb2VzYnVyZyAqLwotCS5waHlzX2lvCT0gREMyMTI4NV9BUk1DU1JfQkFTRSwKLQkuaW9fcGdfb2Zmc3QJPSAoKDB4N2NmMDAwMDApID4+IDE4KSAmIDB4ZmZmYywKLQkuZml4dXAJCT0gZml4dXBfY29lYnNhMjg1LAotCS5tYXBfaW8JCT0gZm9vdGJyaWRnZV9tYXBfaW8sCi0JLmluaXRfaXJxCT0gZm9vdGJyaWRnZV9pbml0X2lycSwKLQkudGltZXIJCT0gJmZvb3RicmlkZ2VfdGltZXIsCi1NQUNISU5FX0VORAotCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY29tbW9uLmMKaW5kZXggZWYyOWZjMy4uYjA4YWI1MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2NvbW1vbi5jCisrKyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9jb21tb24uYwpAQCAtMTc3LDI1ICsxNzcsNiBAQAogI2VuZGlmCiB9OwogCi0vKgotICogVGhlIENPLWVic2EyODUgbWFwcGluZy4KLSAqLwotc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBjbzI4NV9pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKLSNpZmRlZiBDT05GSUdfQVJDSF9DTzI4NQotCXsKLQkJLnZpcnR1YWwJPSBQQ0lPX0JBU0UsCi0JCS5wZm4JCT0gX19waHlzX3RvX3BmbihEQzIxMjg1X1BDSV9JTyksCi0JCS5sZW5ndGgJCT0gUENJT19TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UsCi0JfSwgewotCQkudmlydHVhbAk9IFBDSU1FTV9CQVNFLAotCQkucGZuCQk9IF9fcGh5c190b19wZm4oREMyMTI4NV9QQ0lfTUVNKSwKLQkJLmxlbmd0aAkJPSBQQ0lNRU1fU0laRSwKLQkJLnR5cGUJCT0gTVRfREVWSUNFLAotCX0sCi0jZW5kaWYKLX07Ci0KIHZvaWQgX19pbml0IGZvb3RicmlkZ2VfbWFwX2lvKHZvaWQpCiB7CiAJLyoKQEAgLTIwOCw4ICsxODksNiBAQAogCSAqIE5vdywgd29yayBvdXQgd2hhdCB3ZSd2ZSBnb3QgdG8gbWFwIGluIGFkZGl0aW9uIG9uIHRoaXMKIAkgKiBwbGF0Zm9ybS4KIAkgKi8KLQlpZiAobWFjaGluZV9pc19jbzI4NSgpKQotCQlpb3RhYmxlX2luaXQoY28yODVfaW9fZGVzYywgQVJSQVlfU0laRShjbzI4NV9pb19kZXNjKSk7CiAJaWYgKGZvb3RicmlkZ2VfY2ZuX21vZGUoKSkKIAkJaW90YWJsZV9pbml0KGVic2EyODVfaG9zdF9pb19kZXNjLCBBUlJBWV9TSVpFKGVic2EyODVfaG9zdF9pb19kZXNjKSk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvZWJzYTI4NS1sZWRzLmMgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvZWJzYTI4NS1sZWRzLmMKaW5kZXggYTY0ZTIyMi4uMDljMWZiYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2Vic2EyODUtbGVkcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9lYnNhMjg1LWxlZHMuYwpAQCAtMTI4LDcgKzEyOCw3IEBACiAKIHN0YXRpYyBpbnQgX19pbml0IGxlZHNfaW5pdCh2b2lkKQogewotCWlmIChtYWNoaW5lX2lzX2Vic2EyODUoKSB8fCBtYWNoaW5lX2lzX2NvMjg1KCkpCisJaWYgKG1hY2hpbmVfaXNfZWJzYTI4NSgpKQogCQlsZWRzX2V2ZW50ID0gZWJzYTI4NV9sZWRzX2V2ZW50OwogCiAJbGVkc19ldmVudChsZWRfc3RhcnQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL3RpbWUuYyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS90aW1lLmMKaW5kZXggNWQwMmU5NS4uZDVjZmNkYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL3RpbWUuYworKysgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvdGltZS5jCkBAIC0xMTUsOCArMTE1LDcgQEAKIAogdm9pZCBfX2luaXQgaXNhX3J0Y19pbml0KHZvaWQpCiB7Ci0JaWYgKG1hY2hpbmVfaXNfY28yODUoKSB8fAotCSAgICBtYWNoaW5lX2lzX3BlcnNvbmFsX3NlcnZlcigpKQorCWlmIChtYWNoaW5lX2lzX3BlcnNvbmFsX3NlcnZlcigpKQogCQkvKgogCQkgKiBBZGQtaW4gMjEyODVzIHNob3VsZG4ndCBhY2Nlc3MgdGhlIFJUQwogCQkgKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1pbXgvTWFrZWZpbGUKaW5kZXggODhkNWU2MS4uYjA0N2M3ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbXgvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1pbXgvTWFrZWZpbGUKQEAgLTQsNyArNCw3IEBACiAKICMgT2JqZWN0IGZpbGUgbGlzdHMuCiAKLW9iai15CQkJKz0gaXJxLm8gdGltZS5vIGRtYS5vIGdlbmVyaWMubworb2JqLXkJCQkrPSBpcnEubyB0aW1lLm8gZG1hLm8gZ2VuZXJpYy5vIGNsb2NrLm8KIAogb2JqLSQoQ09ORklHX0NQVV9GUkVRX0lNWCkJKz0gY3B1ZnJlcS5vCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLWlteC9jbG9jay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhOTBmZTUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWlteC9jbG9jay5jCkBAIC0wLDAgKzEsMjA1IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwOCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L21hdGg2NC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorCisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW14LXJlZ3MuaD4KKworLyoKKyAqIFZlcnkgc2ltcGxlIGFwcHJvYWNoOiBXZSBjYW4ndCBkaXNhYmxlIGNsb2Nrcywgc28gd2UgZG8KKyAqIG5vdCBuZWVkIHJlZmNvdW50aW5nCisgKi8KKworc3RydWN0IGNsayB7CisJc3RydWN0IGxpc3RfaGVhZCBub2RlOworCWNvbnN0IGNoYXIgKm5hbWU7CisJdW5zaWduZWQgbG9uZyAoKmdldF9yYXRlKSh2b2lkKTsKK307CisKKy8qCisgKiAgZ2V0IHRoZSBzeXN0ZW0gcGxsIGNsb2NrIGluIEh6CisgKgorICogICAgICAgICAgICAgICAgICBtZmkgKyBtZm4gLyAobWZkICsxKQorICogIGYgPSAyICogZl9yZWYgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLQorICogICAgICAgICAgICAgICAgICAgICAgICBwZCArIDEKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgaW14X2RlY29kZV9wbGwodW5zaWduZWQgaW50IHBsbCwgdTMyIGZfcmVmKQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBsbDsKKwl1bnNpZ25lZCBsb25nIHF1b3Q7CisKKwl1MzIgbWZpID0gKHBsbCA+PiAxMCkgJiAweGY7CisJdTMyIG1mbiA9IHBsbCAmIDB4M2ZmOworCXUzMiBtZmQgPSAocGxsID4+IDE2KSAmIDB4M2ZmOworCXUzMiBwZCA9ICAocGxsID4+IDI2KSAmIDB4ZjsKKworCW1maSA9IG1maSA8PSA1ID8gNSA6IG1maTsKKworCWxsID0gMiAqICh1bnNpZ25lZCBsb25nIGxvbmcpZl9yZWYgKgorCQkoKG1maSA8PCAxNikgKyAobWZuIDw8IDE2KSAvIChtZmQgKyAxKSk7CisJcXVvdCA9IChwZCArIDEpICogKDEgPDwgMTYpOworCWxsICs9IHF1b3QgLyAyOworCWRvX2RpdihsbCwgcXVvdCk7CisJcmV0dXJuICh1bnNpZ25lZCBsb25nKWxsOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBpbXhfZ2V0X3N5c3RlbV9jbGsodm9pZCkKK3sKKwl1MzIgZl9yZWYgPSAoQ1NDUiAmIENTQ1JfU1lTVEVNX1NFTCkgPyAxNjAwMDAwMCA6IChDTEszMiAqIDUxMik7CisKKwlyZXR1cm4gaW14X2RlY29kZV9wbGwoU1BDVEwwLCBmX3JlZik7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGlteF9nZXRfbWN1X2Nsayh2b2lkKQoreworCXJldHVybiBpbXhfZGVjb2RlX3BsbChNUENUTDAsIENMSzMyICogNTEyKTsKK30KKworLyoKKyAqICBnZXQgcGVyaXBoZXJhbCBjbG9jayAxICggVUFSVFsxMl0sIFRpbWVyWzEyXSwgUFdNICkKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgaW14X2dldF9wZXJjbGsxKHZvaWQpCit7CisJcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoUENEUikgJiAweGYpKzEpOworfQorCisvKgorICogIGdldCBwZXJpcGhlcmFsIGNsb2NrIDIgKCBMQ0QsIFNELCBTUElbMTJdICkKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgaW14X2dldF9wZXJjbGsyKHZvaWQpCit7CisJcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoUENEUj4+NCkgJiAweGYpKzEpOworfQorCisvKgorICogIGdldCBwZXJpcGhlcmFsIGNsb2NrIDMgKCBTU0kgKQorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBpbXhfZ2V0X3BlcmNsazModm9pZCkKK3sKKwlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChQQ0RSPj4xNikgJiAweDdmKSsxKTsKK30KKworLyoKKyAqICBnZXQgaGNsayAoIFNEUkFNLCBDU0ksIE1lbW9yeSBTdGljaywgSTJDLCBETUEgKQorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBpbXhfZ2V0X2hjbGsodm9pZCkKK3sKKwlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChDU0NSPj4xMCkgJiAweGYpKzEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtfc3lzdGVtX2NsayA9IHsKKwkubmFtZSA9ICJzeXN0ZW1fY2xrIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X3N5c3RlbV9jbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfaGNsayA9IHsKKwkubmFtZSA9ICJoY2xrIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X2hjbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfbWN1X2NsayA9IHsKKwkubmFtZSA9ICJtY3VfY2xrIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X21jdV9jbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfcGVyY2xrMSA9IHsKKwkubmFtZSA9ICJwZXJjbGsxIiwKKwkuZ2V0X3JhdGUgPSBpbXhfZ2V0X3BlcmNsazEsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfdWFydF9jbGsgPSB7CisJLm5hbWUgPSAidWFydF9jbGsiLAorCS5nZXRfcmF0ZSA9IGlteF9nZXRfcGVyY2xrMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa19wZXJjbGsyID0geworCS5uYW1lID0gInBlcmNsazIiLAorCS5nZXRfcmF0ZSA9IGlteF9nZXRfcGVyY2xrMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa19wZXJjbGszID0geworCS5uYW1lID0gInBlcmNsazMiLAorCS5nZXRfcmF0ZSA9IGlteF9nZXRfcGVyY2xrMywKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrICpjbGtzW10gPSB7CisJJmNsa19wZXJjbGsxLAorCSZjbGtfcGVyY2xrMiwKKwkmY2xrX3BlcmNsazMsCisJJmNsa19zeXN0ZW1fY2xrLAorCSZjbGtfaGNsaywKKwkmY2xrX21jdV9jbGssCisJJmNsa191YXJ0X2NsaywKK307CisKK3N0YXRpYyBMSVNUX0hFQUQoY2xvY2tzKTsKK3N0YXRpYyBERUZJTkVfTVVURVgoY2xvY2tzX211dGV4KTsKKworc3RydWN0IGNsayAqY2xrX2dldChzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmlkKQoreworCXN0cnVjdCBjbGsgKnAsICpjbGsgPSBFUlJfUFRSKC1FTk9FTlQpOworCisJbXV0ZXhfbG9jaygmY2xvY2tzX211dGV4KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHAsICZjbG9ja3MsIG5vZGUpIHsKKwkJaWYgKCFzdHJjbXAocC0+bmFtZSwgaWQpKSB7CisJCQljbGsgPSBwOworCQkJZ290byBmb3VuZDsKKwkJfQorCX0KKworZm91bmQ6CisJbXV0ZXhfdW5sb2NrKCZjbG9ja3NfbXV0ZXgpOworCisJcmV0dXJuIGNsazsKK30KKwordm9pZCBjbGtfcHV0KHN0cnVjdCBjbGsgKmNsaykKK3sKK30KKworaW50IGNsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiAwOworfQorCit2b2lkIGNsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKK30KKwordW5zaWduZWQgbG9uZyBjbGtfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBjbGstPmdldF9yYXRlKCk7Cit9CisKK2ludCBpbXhfY2xvY2tzX2luaXQodm9pZCkKK3sKKwlpbnQgaTsKKworCW11dGV4X2xvY2soJmNsb2Nrc19tdXRleCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY2xrcyk7IGkrKykKKwkJbGlzdF9hZGQoJmNsa3NbaV0tPm5vZGUsICZjbG9ja3MpOworCW11dGV4X3VubG9jaygmY2xvY2tzX211dGV4KTsKKworCXJldHVybiAwOworfQorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWlteC9jcHVmcmVxLmMgYi9hcmNoL2FybS9tYWNoLWlteC9jcHVmcmVxLmMKaW5kZXggZTU0OGJhNy4uYmUwODA5YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbXgvY3B1ZnJlcS5jCisrKyBiL2FyY2gvYXJtL21hY2gtaW14L2NwdWZyZXEuYwpAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdWZyZXEuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KQEAgLTUyLDYgKzU0LDggQEAKIHN0YXRpYyB1MzIgbXBjdGwwX2F0X2Jvb3Q7CiBzdGF0aWMgdTMyIGJjbGtfZGl2X2F0X2Jvb3Q7CiAKK3N0YXRpYyBzdHJ1Y3QgY2xrICpzeXN0ZW1fY2xrLCAqbWN1X2NsazsKKwogc3RhdGljIHZvaWQgaW14X3NldF9hc3luY19tb2RlKHZvaWQpCiB7CiAJYWRqdXN0X2NyKENSXzkyMFRfQ0xPQ0tfTU9ERSwgQ1JfOTIwVF9BU1lOQ19NT0RFKTsKQEAgLTE2MCwxMCArMTY0LDEwIEBACiAJY3IgPSBnZXRfY3IoKTsKIAogCWlmKChjciAmIENSXzkyMFRfQ0xPQ0tfTU9ERSkgPT0gQ1JfOTIwVF9GQVNUQlVTX01PREUpIHsKLQkJZnJlcSA9IGlteF9nZXRfc3lzdGVtX2NsaygpOworCQlmcmVxID0gY2xrX2dldF9yYXRlKHN5c3RlbV9jbGspOwogCQlmcmVxID0gKGZyZXEgKyBiY2xrX2Rpdi8yKSAvIGJjbGtfZGl2OwogCX0gZWxzZSB7Ci0JCWZyZXEgPSBpbXhfZ2V0X21jdV9jbGsoKTsKKwkJZnJlcSA9IGNsa19nZXRfcmF0ZShtY3VfY2xrKTsKIAkJaWYgKGNzY3IgJiBDU0NSX01QVV9QUkVTQykKIAkJCWZyZXEgLz0gMjsKIAl9CkBAIC0yMDEsNyArMjA1LDcgQEAKIAlwcl9kZWJ1ZyhLRVJOX0RFQlVHICJpbXg6IHJlcXVlc3RlZCBmcmVxdWVuY3kgJWxkIEh6LCBtcGN0bDAgYXQgYm9vdCAweCUwOHhcbiIsCiAJCQlmcmVxLCBtcGN0bDBfYXRfYm9vdCk7CiAKLQlzeXNjbGsgPSBpbXhfZ2V0X3N5c3RlbV9jbGsoKTsKKwlzeXNjbGsgPSBjbGtfZ2V0X3JhdGUoc3lzdGVtX2Nsayk7CiAKIAlpZiAoZnJlcSA+IHN5c2NsayAvIGJjbGtfZGl2X2F0X2Jvb3QgKyAxMDAwMDAwKSB7CiAJCWZyZXEgPSBpbXhfY29tcHV0ZV9tcGN0bCgmbXBjdGwwLCBtcGN0bDBfYXRfYm9vdCwgQ0xLMzIgKiA1MTIsIGZyZXEsIHJlbGF0aW9uKTsKQEAgLTI5MCw2ICsyOTQsMTYgQEAKIAliY2xrX2Rpdl9hdF9ib290ID0gX19tZmxkMnZhbChDU0NSX0JDTEtfRElWLCBDU0NSKSArIDE7CiAJbXBjdGwwX2F0X2Jvb3QgPSAwOwogCisJc3lzdGVtX2NsayA9IGNsa19nZXQoTlVMTCwgInN5c3RlbV9jbGsiKTsKKwlpZiAoSVNfRVJSKHN5c3RlbV9jbGspKQorCQlyZXR1cm4gUFRSX0VSUihzeXN0ZW1fY2xrKTsKKworCW1jdV9jbGsgPSBjbGtfZ2V0KE5VTEwsICJtY3VfY2xrIik7CisJaWYgKElTX0VSUihtY3VfY2xrKSkgeworCQljbGtfcHV0KHN5c3RlbV9jbGspOworCQlyZXR1cm4gUFRSX0VSUihtY3VfY2xrKTsKKwl9CisKIAlpZigoQ1NDUiAmIENTQ1JfTVBFTikgJiYKIAkgICAoKGdldF9jcigpICYgQ1JfOTIwVF9DTE9DS19NT0RFKSAhPSBDUl85MjBUX0ZBU1RCVVNfTU9ERSkpCiAJCW1wY3RsMF9hdF9ib290ID0gTVBDVEwwOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbXgvZG1hLmMgYi9hcmNoL2FybS9tYWNoLWlteC9kbWEuYwppbmRleCBhNTlmZjI5Li5lZTFjNmYwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWlteC9kbWEuYworKysgYi9hcmNoL2FybS9tYWNoLWlteC9kbWEuYwpAQCAtNDEwLDcgKzQxMCw2IEBACiAKIC8qKgogICogaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8gLSBmaW5kIGFuZCByZXF1ZXN0IHNvbWUgb2YgZnJlZSBjaGFubmVscyBiZXN0IHN1aXRpbmcgcmVxdWVzdGVkIHByaW9yaXR5Ci0gKiBAZG1hX2NoOiBpLk1YIERNQSBjaGFubmVsIG51bWJlcgogICogQG5hbWU6IHRoZSBkcml2ZXIvY2FsbGVyIG93biBub24tJU5VTEwgaWRlbnRpZmljYXRpb24KICAqIEBwcmlvOiBvbmUgb2YgdGhlIGhhcmR3YXJlIGRpc3Rpbmd1aXNoZWQgcHJpb3JpdHkgbGV2ZWw6CiAgKiAgICAgICAgJURNQV9QUklPX0hJR0gsICVETUFfUFJJT19NRURJVU0sICVETUFfUFJJT19MT1cKQEAgLTQyMCwxMSArNDE5LDkgQEAKICAqIGluIHRoZSBoaWdoZXIgYW5kIHRoZW4gZXZlbiBsb3dlciBwcmlvcml0eSBncm91cHMuCiAgKgogICogUmV0dXJuIHZhbHVlOiBJZiB0aGVyZSBpcyBubyBmcmVlIGNoYW5uZWwgdG8gYWxsb2NhdGUsIC0lRU5PREVWIGlzIHJldHVybmVkLgotICogICAgICAgICAgICAgICBaZXJvIHZhbHVlIGluZGljYXRlcyBzdWNjZXNzZnVsIGNoYW5uZWwgYWxsb2NhdGlvbi4KKyAqICAgICAgICAgICAgICAgT24gc3VjY2Vzc2Z1bCBhbGxvY2F0aW9uIGNoYW5uZWwgaXMgcmV0dXJuZWQuCiAgKi8KLWludAotaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oaW14X2RtYWNoX3QgKiBwZG1hX2NoLCBjb25zdCBjaGFyICpuYW1lLAotCQkJaW14X2RtYV9wcmlvIHByaW8pCitpbXhfZG1hY2hfdCBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyhjb25zdCBjaGFyICpuYW1lLCBpbXhfZG1hX3ByaW8gcHJpbykKIHsKIAlpbnQgaTsKIAlpbnQgYmVzdDsKQEAgLTQ0NCwxNSArNDQxLDEzIEBACiAKIAlmb3IgKGkgPSBiZXN0OyBpIDwgSU1YX0RNQV9DSEFOTkVMUzsgaSsrKSB7CiAJCWlmICghaW14X2RtYV9yZXF1ZXN0KGksIG5hbWUpKSB7Ci0JCQkqcGRtYV9jaCA9IGk7Ci0JCQlyZXR1cm4gMDsKKwkJCXJldHVybiBpOwogCQl9CiAJfQogCiAJZm9yIChpID0gYmVzdCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAJCWlmICghaW14X2RtYV9yZXF1ZXN0KGksIG5hbWUpKSB7Ci0JCQkqcGRtYV9jaCA9IGk7Ci0JCQlyZXR1cm4gMDsKKwkJCXJldHVybiBpOwogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWlteC9nZW5lcmljLmMgYi9hcmNoL2FybS9tYWNoLWlteC9nZW5lcmljLmMKaW5kZXggNGNmYzlkMy4uOThkZGQ4YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbXgvZ2VuZXJpYy5jCisrKyBiL2FyY2gvYXJtL21hY2gtaW14L2dlbmVyaWMuYwpAQCAtMjE0LDgyICsyMTQsNiBAQAogCiBFWFBPUlRfU1lNQk9MKGlteF9pcnFfdG9fZ3Bpbyk7CiAKLS8qCi0gKiAgZ2V0IHRoZSBzeXN0ZW0gcGxsIGNsb2NrIGluIEh6Ci0gKgotICogICAgICAgICAgICAgICAgICBtZmkgKyBtZm4gLyAobWZkICsxKQotICogIGYgPSAyICogZl9yZWYgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLQotICogICAgICAgICAgICAgICAgICAgICAgICBwZCArIDEKLSAqLwotc3RhdGljIHVuc2lnbmVkIGludCBpbXhfZGVjb2RlX3BsbCh1bnNpZ25lZCBpbnQgcGxsLCB1MzIgZl9yZWYpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIGxsOwotCXVuc2lnbmVkIGxvbmcgcXVvdDsKLQotCXUzMiBtZmkgPSAocGxsID4+IDEwKSAmIDB4ZjsKLQl1MzIgbWZuID0gcGxsICYgMHgzZmY7Ci0JdTMyIG1mZCA9IChwbGwgPj4gMTYpICYgMHgzZmY7Ci0JdTMyIHBkID0gIChwbGwgPj4gMjYpICYgMHhmOwotCi0JbWZpID0gbWZpIDw9IDUgPyA1IDogbWZpOwotCi0JbGwgPSAyICogKHVuc2lnbmVkIGxvbmcgbG9uZylmX3JlZiAqICggKG1maTw8MTYpICsgKG1mbjw8MTYpIC8gKG1mZCsxKSApOwotCXF1b3QgPSAocGQrMSkgKiAoMTw8MTYpOwotCWxsICs9IHF1b3QgLyAyOwotCWRvX2RpdihsbCwgcXVvdCk7Ci0JcmV0dXJuICh1bnNpZ25lZCBpbnQpIGxsOwotfQotCi11bnNpZ25lZCBpbnQgaW14X2dldF9zeXN0ZW1fY2xrKHZvaWQpCi17Ci0JdTMyIGZfcmVmID0gKENTQ1IgJiBDU0NSX1NZU1RFTV9TRUwpID8gMTYwMDAwMDAgOiAoQ0xLMzIgKiA1MTIpOwotCi0JcmV0dXJuIGlteF9kZWNvZGVfcGxsKFNQQ1RMMCwgZl9yZWYpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X3N5c3RlbV9jbGspOwotCi11bnNpZ25lZCBpbnQgaW14X2dldF9tY3VfY2xrKHZvaWQpCi17Ci0JcmV0dXJuIGlteF9kZWNvZGVfcGxsKE1QQ1RMMCwgQ0xLMzIgKiA1MTIpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X21jdV9jbGspOwotCi0vKgotICogIGdldCBwZXJpcGhlcmFsIGNsb2NrIDEgKCBVQVJUWzEyXSwgVGltZXJbMTJdLCBQV00gKQotICovCi11bnNpZ25lZCBpbnQgaW14X2dldF9wZXJjbGsxKHZvaWQpCi17Ci0JcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoUENEUikgJiAweGYpKzEpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X3BlcmNsazEpOwotCi0vKgotICogIGdldCBwZXJpcGhlcmFsIGNsb2NrIDIgKCBMQ0QsIFNELCBTUElbMTJdICkKLSAqLwotdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMih2b2lkKQotewotCXJldHVybiBpbXhfZ2V0X3N5c3RlbV9jbGsoKSAvICgoKFBDRFI+PjQpICYgMHhmKSsxKTsKLX0KLUVYUE9SVF9TWU1CT0woaW14X2dldF9wZXJjbGsyKTsKLQotLyoKLSAqICBnZXQgcGVyaXBoZXJhbCBjbG9jayAzICggU1NJICkKLSAqLwotdW5zaWduZWQgaW50IGlteF9nZXRfcGVyY2xrMyh2b2lkKQotewotCXJldHVybiBpbXhfZ2V0X3N5c3RlbV9jbGsoKSAvICgoKFBDRFI+PjE2KSAmIDB4N2YpKzEpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X3BlcmNsazMpOwotCi0vKgotICogIGdldCBoY2xrICggU0RSQU0sIENTSSwgTWVtb3J5IFN0aWNrLCBJMkMsIERNQSApCi0gKi8KLXVuc2lnbmVkIGludCBpbXhfZ2V0X2hjbGsodm9pZCkKLXsKLQlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChDU0NSPj4xMCkgJiAweGYpKzEpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X2hjbGspOwotCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGlteF9tbWNfcmVzb3VyY2VzW10gPSB7CiAJWzBdID0gewogCQkuc3RhcnQJPSAweDAwMjE0MDAwLApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbXgvbXgxYWRzLmMgYi9hcmNoL2FybS9tYWNoLWlteC9teDFhZHMuYwppbmRleCBhOTc3OGMxLi45NjM1ZDU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWlteC9teDFhZHMuYworKysgYi9hcmNoL2FybS9tYWNoLWlteC9teDFhZHMuYwpAQCAtNjksNiArNjksMTEgQEAKIAkJLmVuZAk9IChVQVJUMV9NSU5UX1RYKSwKIAkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCiAJfSwKKwlbM10gPSB7CisJCS5zdGFydAk9IFVBUlQxX01JTlRfUlRTLAorCQkuZW5kCT0gVUFSVDFfTUlOVF9SVFMsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBpbXhfdWFydDFfZGV2aWNlID0gewpAQCAtOTcsNiArMTAyLDExIEBACiAJCS5lbmQJPSAoVUFSVDJfTUlOVF9UWCksCiAJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAogCX0sCisJWzNdID0geworCQkuc3RhcnQJPSBVQVJUMl9NSU5UX1JUUywKKwkJLmVuZAk9IFVBUlQyX01JTlRfUlRTLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgaW14X3VhcnQyX2RldmljZSA9IHsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L3RpbWUuYyBiL2FyY2gvYXJtL21hY2gtaW14L3RpbWUuYwppbmRleCBkODZkMTI0Li41YTQxZTk2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWlteC90aW1lLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1pbXgvdGltZS5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvdGltZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+CiAjaW5jbHVkZSA8bGludXgvY2xvY2tjaGlwcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC04NiwxMCArODcsMTAgQEAKIAkuZmxhZ3MJCT0gQ0xPQ0tfU09VUkNFX0lTX0NPTlRJTlVPVVMsCiB9OwogCi1zdGF0aWMgaW50IF9faW5pdCBpbXhfY2xvY2tzb3VyY2VfaW5pdCh2b2lkKQorc3RhdGljIGludCBfX2luaXQgaW14X2Nsb2Nrc291cmNlX2luaXQodW5zaWduZWQgbG9uZyByYXRlKQogewogCWNsb2Nrc291cmNlX2lteC5tdWx0ID0KLQkJY2xvY2tzb3VyY2VfaHoybXVsdChpbXhfZ2V0X3BlcmNsazEoKSwgY2xvY2tzb3VyY2VfaW14LnNoaWZ0KTsKKwkJY2xvY2tzb3VyY2VfaHoybXVsdChyYXRlLCBjbG9ja3NvdXJjZV9pbXguc2hpZnQpOwogCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV9pbXgpOwogCiAJcmV0dXJuIDA7CkBAIC0xNzQsOSArMTc1LDkgQEAKIAkucmF0aW5nCQk9IDIwMCwKIH07CiAKLXN0YXRpYyBpbnQgX19pbml0IGlteF9jbG9ja2V2ZW50X2luaXQodm9pZCkKK3N0YXRpYyBpbnQgX19pbml0IGlteF9jbG9ja2V2ZW50X2luaXQodW5zaWduZWQgbG9uZyByYXRlKQogewotCWNsb2NrZXZlbnRfaW14Lm11bHQgPSBkaXZfc2MoaW14X2dldF9wZXJjbGsxKCksIE5TRUNfUEVSX1NFQywKKwljbG9ja2V2ZW50X2lteC5tdWx0ID0gZGl2X3NjKHJhdGUsIE5TRUNfUEVSX1NFQywKIAkJCQkJY2xvY2tldmVudF9pbXguc2hpZnQpOwogCWNsb2NrZXZlbnRfaW14Lm1heF9kZWx0YV9ucyA9CiAJCWNsb2NrZXZlbnRfZGVsdGEybnMoMHhmZmZmZmZmZSwgJmNsb2NrZXZlbnRfaW14KTsKQEAgLTE5MCwxMyArMTkxLDIzIEBACiAJcmV0dXJuIDA7CiB9CiAKK2V4dGVybiBpbnQgaW14X2Nsb2Nrc19pbml0KHZvaWQpOwogCiBzdGF0aWMgdm9pZCBfX2luaXQgaW14X3RpbWVyX2luaXQodm9pZCkKIHsKLQlpbXhfdGltZXJfaGFyZHdhcmVfaW5pdCgpOwotCWlteF9jbG9ja3NvdXJjZV9pbml0KCk7CisJc3RydWN0IGNsayAqY2xrOworCXVuc2lnbmVkIGxvbmcgcmF0ZTsKIAotCWlteF9jbG9ja2V2ZW50X2luaXQoKTsKKwlpbXhfY2xvY2tzX2luaXQoKTsKKworCWNsayA9IGNsa19nZXQoTlVMTCwgInBlcmNsazEiKTsKKwljbGtfZW5hYmxlKGNsayk7CisJcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGspOworCisJaW14X3RpbWVyX2hhcmR3YXJlX2luaXQoKTsKKwlpbXhfY2xvY2tzb3VyY2VfaW5pdChyYXRlKTsKKworCWlteF9jbG9ja2V2ZW50X2luaXQocmF0ZSk7CiAKIAkvKgogCSAqIE1ha2UgaXJxcyBoYXBwZW4gZm9yIHRoZSBzeXN0ZW0gdGltZXIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW50ZWdyYXRvci9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtaW50ZWdyYXRvci9NYWtlZmlsZQppbmRleCAxNThkYWFmLi42YTVlZjhkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL01ha2VmaWxlCkBAIC00LDcgKzQsNyBAQAogCiAjIE9iamVjdCBmaWxlIGxpc3RzLgogCi1vYmoteQkJCQkJOj0gY2xvY2subyBjb3JlLm8gbG0ubyB0aW1lLm8KK29iai15CQkJCQk6PSBjbG9jay5vIGNvcmUubyBsbS5vCiBvYmotJChDT05GSUdfQVJDSF9JTlRFR1JBVE9SX0FQKQkrPSBpbnRlZ3JhdG9yX2FwLm8KIG9iai0kKENPTkZJR19BUkNIX0lOVEVHUkFUT1JfQ1ApCSs9IGludGVncmF0b3JfY3AubwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvdGltZS5jIGIvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL3RpbWUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODUwOGEwZC4uMDAwMDAwMAotLS0gYS9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvdGltZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMjIzICswLDAgQEAKLS8qCi0gKiAgbGludXgvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL3RpbWUuYwotICoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMSBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICovCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZS5oPgotI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L2FtYmEvYnVzLmg+Ci0KLSNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGFzbS9ydGMuaD4KLQotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KLQotI2RlZmluZSBSVENfRFIJCSgwKQotI2RlZmluZSBSVENfTVIJCSg0KQotI2RlZmluZSBSVENfU1RBVAkoOCkKLSNkZWZpbmUgUlRDX0VPSQkJKDgpCi0jZGVmaW5lIFJUQ19MUgkJKDEyKQotI2RlZmluZSBSVENfQ1IJCSgxNikKLSNkZWZpbmUgUlRDX0NSX01JRQkoMSA8PCAwKQotCi1leHRlcm4gaW50ICgqc2V0X3J0Yykodm9pZCk7Ci1zdGF0aWMgdm9pZCBfX2lvbWVtICpydGNfYmFzZTsKLQotc3RhdGljIGludCBpbnRlZ3JhdG9yX3NldF9ydGModm9pZCkKLXsKLQlfX3Jhd193cml0ZWwoeHRpbWUudHZfc2VjLCBydGNfYmFzZSArIFJUQ19MUik7Ci0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyBpbnQgaW50ZWdyYXRvcl9ydGNfcmVhZF9hbGFybShzdHJ1Y3QgcnRjX3drYWxybSAqYWxybSkKLXsKLQlydGNfdGltZV90b190bShyZWFkbChydGNfYmFzZSArIFJUQ19NUiksICZhbHJtLT50aW1lKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgaW50ZWdyYXRvcl9ydGNfc2V0X2FsYXJtKHN0cnVjdCBydGNfd2thbHJtICphbHJtKQotewotCXVuc2lnbmVkIGxvbmcgdGltZTsKLQlpbnQgcmV0OwotCi0JLyoKLQkgKiBBdCB0aGUgbW9tZW50LCB3ZSBjYW4gb25seSBkZWFsIHdpdGggbm9uLXdpbGRjYXJkZWQgYWxhcm0gdGltZXMuCi0JICovCi0JcmV0ID0gcnRjX3ZhbGlkX3RtKCZhbHJtLT50aW1lKTsKLQlpZiAocmV0ID09IDApCi0JCXJldCA9IHJ0Y190bV90b190aW1lKCZhbHJtLT50aW1lLCAmdGltZSk7Ci0JaWYgKHJldCA9PSAwKQotCQl3cml0ZWwodGltZSwgcnRjX2Jhc2UgKyBSVENfTVIpOwotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgaW50ZWdyYXRvcl9ydGNfcmVhZF90aW1lKHN0cnVjdCBydGNfdGltZSAqdG0pCi17Ci0JcnRjX3RpbWVfdG9fdG0ocmVhZGwocnRjX2Jhc2UgKyBSVENfRFIpLCB0bSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBTZXQgdGhlIFJUQyB0aW1lLiAgVW5mb3J0dW5hdGVseSwgd2UgY2FuJ3QgYWNjdXJhdGVseSBzZXQKLSAqIHRoZSBwb2ludCBhdCB3aGljaCB0aGUgY291bnRlciB1cGRhdGVzLgotICoKLSAqIEFsc28sIHNpbmNlIFJUQ19MUiBpcyB0cmFuc2ZlcnJlZCB0byBSVENfQ1Igb24gbmV4dCByaXNpbmcKLSAqIGVkZ2Ugb2YgdGhlIDFIeiBjbG9jaywgd2UgbXVzdCB3cml0ZSB0aGUgdGltZSBvbmUgc2Vjb25kCi0gKiBpbiBhZHZhbmNlLgotICovCi1zdGF0aWMgaW5saW5lIGludCBpbnRlZ3JhdG9yX3J0Y19zZXRfdGltZShzdHJ1Y3QgcnRjX3RpbWUgKnRtKQotewotCXVuc2lnbmVkIGxvbmcgdGltZTsKLQlpbnQgcmV0OwotCi0JcmV0ID0gcnRjX3RtX3RvX3RpbWUodG0sICZ0aW1lKTsKLQlpZiAocmV0ID09IDApCi0JCXdyaXRlbCh0aW1lICsgMSwgcnRjX2Jhc2UgKyBSVENfTFIpOwotCi0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIHN0cnVjdCBydGNfb3BzIHJ0Y19vcHMgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5yZWFkX3RpbWUJPSBpbnRlZ3JhdG9yX3J0Y19yZWFkX3RpbWUsCi0JLnNldF90aW1lCT0gaW50ZWdyYXRvcl9ydGNfc2V0X3RpbWUsCi0JLnJlYWRfYWxhcm0JPSBpbnRlZ3JhdG9yX3J0Y19yZWFkX2FsYXJtLAotCS5zZXRfYWxhcm0JPSBpbnRlZ3JhdG9yX3J0Y19zZXRfYWxhcm0sCi19OwotCi1zdGF0aWMgaXJxcmV0dXJuX3QgYXJtX3J0Y19pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQotewotCXdyaXRlbCgwLCBydGNfYmFzZSArIFJUQ19FT0kpOwotCXJldHVybiBJUlFfSEFORExFRDsKLX0KLQotc3RhdGljIGludCBydGNfcHJvYmUoc3RydWN0IGFtYmFfZGV2aWNlICpkZXYsIHZvaWQgKmlkKQotewotCWludCByZXQ7Ci0KLQlpZiAocnRjX2Jhc2UpCi0JCXJldHVybiAtRUJVU1k7Ci0KLQlyZXQgPSBhbWJhX3JlcXVlc3RfcmVnaW9ucyhkZXYsIE5VTEwpOwotCWlmIChyZXQpCi0JCWdvdG8gb3V0OwotCi0JcnRjX2Jhc2UgPSBpb3JlbWFwKGRldi0+cmVzLnN0YXJ0LCBTWl80Syk7Ci0JaWYgKCFydGNfYmFzZSkgewotCQlyZXQgPSAtRU5PTUVNOwotCQlnb3RvIHJlc19vdXQ7Ci0JfQotCi0JX19yYXdfd3JpdGVsKDAsIHJ0Y19iYXNlICsgUlRDX0NSKTsKLQlfX3Jhd193cml0ZWwoMCwgcnRjX2Jhc2UgKyBSVENfRU9JKTsKLQotCXh0aW1lLnR2X3NlYyA9IF9fcmF3X3JlYWRsKHJ0Y19iYXNlICsgUlRDX0RSKTsKLQotCS8qIG5vdGUgdGhhdCAnZGV2JyBpcyBtZXJlbHkgdXNlZCBmb3IgaXJxIGRpc2FtYmlndWF0aW9uOwotCSAqIGl0IGlzIG5vdCBhY3R1YWxseSByZWZlcmVuY2VkIGluIHRoZSBpcnEgaGFuZGxlcgotCSAqLwotCXJldCA9IHJlcXVlc3RfaXJxKGRldi0+aXJxWzBdLCBhcm1fcnRjX2ludGVycnVwdCwgSVJRRl9ESVNBQkxFRCwKLQkJCSAgInJ0Yy1wbDAzMCIsIGRldik7Ci0JaWYgKHJldCkKLQkJZ290byBtYXBfb3V0OwotCi0JcmV0ID0gcmVnaXN0ZXJfcnRjKCZydGNfb3BzKTsKLQlpZiAocmV0KQotCQlnb3RvIGlycV9vdXQ7Ci0KLQlzZXRfcnRjID0gaW50ZWdyYXRvcl9zZXRfcnRjOwotCXJldHVybiAwOwotCi0gaXJxX291dDoKLQlmcmVlX2lycShkZXYtPmlycVswXSwgZGV2KTsKLSBtYXBfb3V0OgotCWlvdW5tYXAocnRjX2Jhc2UpOwotCXJ0Y19iYXNlID0gTlVMTDsKLSByZXNfb3V0OgotCWFtYmFfcmVsZWFzZV9yZWdpb25zKGRldik7Ci0gb3V0OgotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX3JlbW92ZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmRldikKLXsKLQlzZXRfcnRjID0gTlVMTDsKLQotCXdyaXRlbCgwLCBydGNfYmFzZSArIFJUQ19DUik7Ci0KLQlmcmVlX2lycShkZXYtPmlycVswXSwgZGV2KTsKLQl1bnJlZ2lzdGVyX3J0YygmcnRjX29wcyk7Ci0KLQlpb3VubWFwKHJ0Y19iYXNlKTsKLQlydGNfYmFzZSA9IE5VTEw7Ci0JYW1iYV9yZWxlYXNlX3JlZ2lvbnMoZGV2KTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IHRpbWVzcGVjIHJ0Y19kZWx0YTsKLQotc3RhdGljIGludCBydGNfc3VzcGVuZChzdHJ1Y3QgYW1iYV9kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQotewotCXN0cnVjdCB0aW1lc3BlYyBydGM7Ci0KLQlydGMudHZfc2VjID0gcmVhZGwocnRjX2Jhc2UgKyBSVENfRFIpOwotCXJ0Yy50dl9uc2VjID0gMDsKLQlzYXZlX3RpbWVfZGVsdGEoJnJ0Y19kZWx0YSwgJnJ0Yyk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBydGNfcmVzdW1lKHN0cnVjdCBhbWJhX2RldmljZSAqZGV2KQotewotCXN0cnVjdCB0aW1lc3BlYyBydGM7Ci0KLQlydGMudHZfc2VjID0gcmVhZGwocnRjX2Jhc2UgKyBSVENfRFIpOwotCXJ0Yy50dl9uc2VjID0gMDsKLQlyZXN0b3JlX3RpbWVfZGVsdGEoJnJ0Y19kZWx0YSwgJnJ0Yyk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBhbWJhX2lkIHJ0Y19pZHNbXSA9IHsKLQl7Ci0JCS5pZAk9IDB4MDAwNDEwMzAsCi0JCS5tYXNrCT0gMHgwMDBmZmZmZiwKLQl9LAotCXsgMCwgMCB9LAotfTsKLQotc3RhdGljIHN0cnVjdCBhbWJhX2RyaXZlciBydGNfZHJpdmVyID0gewotCS5kcnYJCT0gewotCQkubmFtZQk9ICJydGMtcGwwMzAiLAotCX0sCi0JLnByb2JlCQk9IHJ0Y19wcm9iZSwKLQkucmVtb3ZlCQk9IHJ0Y19yZW1vdmUsCi0JLnN1c3BlbmQJPSBydGNfc3VzcGVuZCwKLQkucmVzdW1lCQk9IHJ0Y19yZXN1bWUsCi0JLmlkX3RhYmxlCT0gcnRjX2lkcywKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGludGVncmF0b3JfcnRjX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gYW1iYV9kcml2ZXJfcmVnaXN0ZXIoJnJ0Y19kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgaW50ZWdyYXRvcl9ydGNfZXhpdCh2b2lkKQotewotCWFtYmFfZHJpdmVyX3VucmVnaXN0ZXIoJnJ0Y19kcml2ZXIpOwotfQotCi1tb2R1bGVfaW5pdChpbnRlZ3JhdG9yX3J0Y19pbml0KTsKLW1vZHVsZV9leGl0KGludGVncmF0b3JfcnRjX2V4aXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L0tjb25maWcKaW5kZXggZTc3NDQ0Ny4uZGI4YjVmZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9LY29uZmlnCkBAIC0xMjUsNiArMTI1LDE1IEBACiAJZGVwZW5kcyBvbiBBUkNIX0lYRFA0MjUgfHwgTUFDSF9JWERQNDY1IHx8IE1BQ0hfS0lYUlA0MzUKIAlkZWZhdWx0IHkKIAorY29uZmlnIE1BQ0hfRlNHCisJYm9vbAorCXByb21wdCAiRnJlZWNvbSBGU0ctMyIKKwlzZWxlY3QgUENJCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgRnJlZWNvbSdzCisJICBGU0ctMyBkZXZpY2UuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgcGxhdGZvcm0sCisJICBzZWUgaHR0cDovL3d3dy5uc2x1Mi1saW51eC5vcmcvd2lraS9GU0czL0hvbWVQYWdlCisKICMKICMgQ2VydGFpbiByZWdpc3RlcnMgYW5kIElSUXMgYXJlIG9ubHkgZW5hYmxlZCBpZiBzdXBwb3J0aW5nIElYUDQ2NSBDUFVzCiAjCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L01ha2VmaWxlCmluZGV4IGMxOTU2ODguLjJlNmJiZjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaXhwNHh4L01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L01ha2VmaWxlCkBAIC0xNSw2ICsxNSw3IEBACiBvYmotcGNpLSQoQ09ORklHX01BQ0hfRFNNRzYwMCkJCSs9IGRzbWc2MDAtcGNpLm8KIG9iai1wY2ktJChDT05GSUdfTUFDSF9HQVRFV0FZNzAwMSkJKz0gZ2F0ZXdheTcwMDEtcGNpLm8KIG9iai1wY2ktJChDT05GSUdfTUFDSF9XRzMwMlYyKQkJKz0gd2czMDJ2Mi1wY2kubworb2JqLXBjaS0kKENPTkZJR19NQUNIX0ZTRykJCSs9IGZzZy1wY2kubwogCiBvYmoteQkrPSBjb21tb24ubwogCkBAIC0yOCw2ICsyOSw3IEBACiBvYmotJChDT05GSUdfTUFDSF9EU01HNjAwKSAgICAgICs9IGRzbWc2MDAtc2V0dXAubwogb2JqLSQoQ09ORklHX01BQ0hfR0FURVdBWTcwMDEpCSs9IGdhdGV3YXk3MDAxLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX1dHMzAyVjIpCSs9IHdnMzAydjItc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfRlNHKQkJKz0gZnNnLXNldHVwLm8KIAogb2JqLSQoQ09ORklHX1BDSSkJCSs9ICQob2JqLXBjaS0kKENPTkZJR19QQ0kpKSBjb21tb24tcGNpLm8KIG9iai0kKENPTkZJR19JWFA0WFhfUU1HUikJKz0gaXhwNHh4X3FtZ3IubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9jb21tb24uYwppbmRleCBmNmQ2NmRjLi4zNzgxYjNkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9jb21tb24uYworKysgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9jb21tb24uYwpAQCAtMzI2LDExICszMjYsMTEgQEAKIH07CiAKIC8qCi0gKiBVU0IgZGV2aWNlIGNvbnRyb2xsZXIuIFRoZSBJWFA0eHggdXNlcyB0aGUgc2FtZSBjb250cm9sbGVyIGFzIFBYQTJYWCwKKyAqIFVTQiBkZXZpY2UgY29udHJvbGxlci4gVGhlIElYUDR4eCB1c2VzIHRoZSBzYW1lIGNvbnRyb2xsZXIgYXMgUFhBMjVYLAogICogc28gd2UganVzdCB1c2UgdGhlIHNhbWUgZGV2aWNlLgogICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBpeHA0eHhfdWRjX2RldmljZSA9IHsKLQkubmFtZSAgICAgICAgICAgPSAicHhhMnh4LXVkYyIsCisJLm5hbWUgICAgICAgICAgID0gInB4YTI1eC11ZGMiLAogCS5pZCAgICAgICAgICAgICA9IC0xLAogCS5udW1fcmVzb3VyY2VzICA9IDIsCiAJLnJlc291cmNlICAgICAgID0gaXhwNHh4X3VkY19yZXNvdXJjZXMsCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctcGNpLmMgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctcGNpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE5ZjNmNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L2ZzZy1wY2kuYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogYXJjaC9hcmNoL21hY2gtaXhwNHh4L2ZzZy1wY2kuYworICoKKyAqIEZTRyBib2FyZC1sZXZlbCBQQ0kgaW5pdGlhbGl6YXRpb24KKyAqCisgKiBBdXRob3I6IFJvZCBXaGl0YnkgPHJvZEB3aGl0YnkuaWQuYXU+CisgKiBNYWludGFpbmVyOiBodHRwOi8vd3d3Lm5zbHUyLWxpbnV4Lm9yZy8KKyAqCisgKiBiYXNlZCBvbiBpeGRwNDI1LXBjaS5jOgorICoJQ29weXJpZ2h0IChDKSAyMDAyIEludGVsIENvcnBvcmF0aW9uLgorICoJQ29weXJpZ2h0IChDKSAyMDAzLTIwMDQgTW9udGFWaXN0YSBTb2Z0d2FyZSwgSW5jLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorCit2b2lkIF9faW5pdCBmc2dfcGNpX3ByZWluaXQodm9pZCkKK3sKKwlzZXRfaXJxX3R5cGUoSVJRX0ZTR19QQ0lfSU5UQSwgSVJRVF9MT1cpOworCXNldF9pcnFfdHlwZShJUlFfRlNHX1BDSV9JTlRCLCBJUlFUX0xPVyk7CisJc2V0X2lycV90eXBlKElSUV9GU0dfUENJX0lOVEMsIElSUVRfTE9XKTsKKworCWl4cDR4eF9wY2lfcHJlaW5pdCgpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBmc2dfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJc3RhdGljIGludCBwY2lfaXJxX3RhYmxlW0ZTR19QQ0lfSVJRX0xJTkVTXSA9IHsKKwkJSVJRX0ZTR19QQ0lfSU5UQywKKwkJSVJRX0ZTR19QQ0lfSU5UQiwKKwkJSVJRX0ZTR19QQ0lfSU5UQSwKKwl9OworCisJaW50IGlycSA9IC0xOworCXNsb3QgPSBzbG90IC0gMTE7CisKKwlpZiAoc2xvdCA+PSAxICYmIHNsb3QgPD0gRlNHX1BDSV9NQVhfREVWICYmCisJICAgIHBpbiA+PSAxICYmIHBpbiA8PSBGU0dfUENJX0lSUV9MSU5FUykKKwkJaXJxID0gcGNpX2lycV90YWJsZVsoc2xvdCAtIDEpXTsKKwlwcmludGsoS0VSTl9JTkZPICIlczogTWFwcGVkIHNsb3QgJWQgcGluICVkIHRvIElSUSAlZFxuIiwKKwkgICAgICAgX19mdW5jX18sIHNsb3QsIHBpbiwgaXJxKTsKKworCXJldHVybiBpcnE7Cit9CisKK3N0cnVjdCBod19wY2kgZnNnX3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycyA9IDEsCisJLnByZWluaXQgPQkgIGZzZ19wY2lfcHJlaW5pdCwKKwkuc3dpenpsZSA9CSAgcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cCA9CSAgaXhwNHh4X3NldHVwLAorCS5zY2FuID0JCSAgaXhwNHh4X3NjYW5fYnVzLAorCS5tYXBfaXJxID0JICBmc2dfbWFwX2lycSwKK307CisKK2ludCBfX2luaXQgZnNnX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfZnNnKCkpCisJCXBjaV9jb21tb25faW5pdCgmZnNnX3BjaSk7CisJcmV0dXJuIDA7Cit9CisKK3N1YnN5c19pbml0Y2FsbChmc2dfcGNpX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvZnNnLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGIzYTkwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvZnNnLXNldHVwLmMKQEAgLTAsMCArMSwyNzYgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctc2V0dXAuYworICoKKyAqIEZTRyBib2FyZC1zZXR1cAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBSb2QgV2hpdGJ5IDxyb2RAd2hpdGJ5LmlkLmF1PgorICoKKyAqIGJhc2VkIG9uIGl4ZHA0MjUtc2V0dXAuYzoKKyAqCUNvcHlyaWdodCAoQykgMjAwMy0yMDA0IE1vbnRhVmlzdGEgU29mdHdhcmUsIEluYy4KKyAqIGJhc2VkIG9uIG5zbHUyLXBvd2VyLmMKKyAqCUNvcHlyaWdodCAoQykgMjAwNSBUb3dlciBUZWNobm9sb2dpZXMKKyAqCisgKiBBdXRob3I6IFJvZCBXaGl0YnkgPHJvZEB3aGl0YnkuaWQuYXU+CisgKiBNYWludGFpbmVyczogaHR0cDovL3d3dy5uc2x1Mi1saW51eC5vcmcvCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pZl9ldGhlci5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF84MjUwLmg+CisjaW5jbHVkZSA8bGludXgvbGVkcy5oPgorI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy1ncGlvLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9mbGFzaC5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9ncGlvLmg+CisKK3N0YXRpYyBzdHJ1Y3QgZmxhc2hfcGxhdGZvcm1fZGF0YSBmc2dfZmxhc2hfZGF0YSA9IHsKKwkubWFwX25hbWUJCT0gImNmaV9wcm9iZSIsCisJLndpZHRoCQkJPSAyLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBmc2dfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQkJPSBJT1JFU09VUkNFX01FTSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGZzZ19mbGFzaCA9IHsKKwkubmFtZQkJCT0gIklYUDRYWC1GbGFzaCIsCisJLmlkCQkJPSAwLAorCS5kZXYgPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmZzZ19mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJmZzZ19mbGFzaF9yZXNvdXJjZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2dwaW9fcGxhdGZvcm1fZGF0YSBmc2dfaTJjX2dwaW9fZGF0YSA9IHsKKwkuc2RhX3BpbgkJPSBGU0dfU0RBX1BJTiwKKwkuc2NsX3BpbgkJPSBGU0dfU0NMX1BJTiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGZzZ19pMmNfZ3BpbyA9IHsKKwkubmFtZQkJCT0gImkyYy1ncGlvIiwKKwkuaWQJCQk9IDAsCisJLmRldiA9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZnNnX2kyY19ncGlvX2RhdGEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gX19pbml0ZGF0YSBmc2dfaTJjX2JvYXJkX2luZm8gW10gPSB7CisJeworCQlJMkNfQk9BUkRfSU5GTygicnRjLWlzbDEyMDgiLCAweDZmKSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBmc2dfdWFydF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBJWFA0WFhfVUFSVDFfQkFTRV9QSFlTLAorCQkuZW5kCQk9IElYUDRYWF9VQVJUMV9CQVNFX1BIWVMgKyAweDBmZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCXsKKwkJLnN0YXJ0CQk9IElYUDRYWF9VQVJUMl9CQVNFX1BIWVMsCisJCS5lbmQJCT0gSVhQNFhYX1VBUlQyX0JBU0VfUEhZUyArIDB4MGZmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgZnNnX3VhcnRfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBJWFA0WFhfVUFSVDFfQkFTRV9QSFlTLAorCQkubWVtYmFzZQk9IChjaGFyICopSVhQNFhYX1VBUlQxX0JBU0VfVklSVCArIFJFR19PRkZTRVQsCisJCS5pcnEJCT0gSVJRX0lYUDRYWF9VQVJUMSwKKwkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GIHwgVVBGX1NLSVBfVEVTVCwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBJWFA0WFhfVUFSVF9YVEFMLAorCX0sCisJeworCQkubWFwYmFzZQk9IElYUDRYWF9VQVJUMl9CQVNFX1BIWVMsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilJWFA0WFhfVUFSVDJfQkFTRV9WSVJUICsgUkVHX09GRlNFVCwKKwkJLmlycQkJPSBJUlFfSVhQNFhYX1VBUlQyLAorCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYgfCBVUEZfU0tJUF9URVNULAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IElYUDRYWF9VQVJUX1hUQUwsCisJfSwKKwl7IH0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGZzZ191YXJ0ID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSBQTEFUODI1MF9ERVZfUExBVEZPUk0sCisJLmRldiA9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBmc2dfdWFydF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShmc2dfdWFydF9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZQkJPSBmc2dfdWFydF9yZXNvdXJjZXMsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBmc2dfbGVkcyA9IHsKKwkubmFtZQkJPSAiZnNnLWxlZCIsCisJLmlkCQk9IC0xLAorfTsKKworLyogQnVpbHQtaW4gMTAvMTAwIEV0aGVybmV0IE1BQyBpbnRlcmZhY2VzICovCitzdGF0aWMgc3RydWN0IGV0aF9wbGF0X2luZm8gZnNnX3BsYXRfZXRoW10gPSB7CisJeworCQkucGh5CQk9IDUsCisJCS5yeHEJCT0gMywKKwkJLnR4cmVhZHlxCT0gMjAsCisJfSwgeworCQkucGh5CQk9IDQsCisJCS5yeHEJCT0gNCwKKwkJLnR4cmVhZHlxCT0gMjEsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZnNnX2V0aFtdID0geworCXsKKwkJLm5hbWUJCQk9ICJpeHA0eHhfZXRoIiwKKwkJLmlkCQkJPSBJWFA0WFhfRVRIX05QRUIsCisJCS5kZXYgPSB7CisJCQkucGxhdGZvcm1fZGF0YQk9IGZzZ19wbGF0X2V0aCwKKwkJfSwKKwl9LCB7CisJCS5uYW1lCQkJPSAiaXhwNHh4X2V0aCIsCisJCS5pZAkJCT0gSVhQNFhYX0VUSF9OUEVDLAorCQkuZGV2ID0geworCQkJLnBsYXRmb3JtX2RhdGEJPSBmc2dfcGxhdF9ldGggKyAxLAorCQl9LAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpmc2dfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJmZzZ19pMmNfZ3BpbywKKwkmZnNnX2ZsYXNoLAorCSZmc2dfbGVkcywKKwkmZnNnX2V0aFswXSwKKwkmZnNnX2V0aFsxXSwKK307CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBmc2dfcG93ZXJfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJLyogU2lnbmFsIGluaXQgdG8gZG8gdGhlIGN0cmxhbHRkZWwgYWN0aW9uLCB0aGlzIHdpbGwgYnlwYXNzIGluaXQgaWYKKwkgKiBpdCBoYXNuJ3Qgc3RhcnRlZCBhbmQgZG8gYSBrZXJuZWxfcmVzdGFydC4KKwkgKi8KKwljdHJsX2FsdF9kZWwoKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIGlycXJldHVybl90IGZzZ19yZXNldF9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwkvKiBUaGlzIGlzIHRoZSBwYXBlci1jbGlwIHJlc2V0IHdoaWNoIGRvZXMgYW4gZW1lcmdlbmN5IHJlYm9vdC4gKi8KKwlwcmludGsoS0VSTl9JTkZPICJSZXN0YXJ0aW5nIHN5c3RlbS5cbiIpOworCW1hY2hpbmVfcmVzdGFydChOVUxMKTsKKworCS8qIFRoaXMgc2hvdWxkIG5ldmVyIGJlIHJlYWNoZWQuICovCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZnNnX2luaXQodm9pZCkKK3sKKwlERUNMQVJFX01BQ19CVUYobWFjX2J1Zik7CisJdWludDhfdCBfX2lvbWVtICpmOworCWludCBpOworCisJaXhwNHh4X3N5c19pbml0KCk7CisKKwlmc2dfZmxhc2hfcmVzb3VyY2Uuc3RhcnQgPSBJWFA0WFhfRVhQX0JVU19CQVNFKDApOworCWZzZ19mbGFzaF9yZXNvdXJjZS5lbmQgPQorCQlJWFA0WFhfRVhQX0JVU19CQVNFKDApICsgaXhwNHh4X2V4cF9idXNfc2l6ZSAtIDE7CisKKwkqSVhQNFhYX0VYUF9DUzAgfD0gSVhQNFhYX0ZMQVNIX1dSSVRBQkxFOworCSpJWFA0WFhfRVhQX0NTMSA9ICpJWFA0WFhfRVhQX0NTMDsKKworCS8qIENvbmZpZ3VyZSBDUzIgZm9yIG9wZXJhdGlvbiwgOGJpdCBhbmQgd3JpdGFibGUgKi8KKwkqSVhQNFhYX0VYUF9DUzIgPSAweGJmZmYwMDAyOworCisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgZnNnX2kyY19ib2FyZF9pbmZvLAorCQkJCUFSUkFZX1NJWkUoZnNnX2kyY19ib2FyZF9pbmZvKSk7CisKKwkvKiBUaGlzIGlzIG9ubHkgdXNlZnVsIG9uIGEgbW9kaWZpZWQgbWFjaGluZSwgYnV0IGl0IGlzIHZhbHVhYmxlCisJICogdG8gaGF2ZSBpdCBmaXJzdCBpbiBvcmRlciB0byBzZWUgZGVidWcgbWVzc2FnZXMsIGFuZCBzbyB0aGF0CisJICogaXQgZG9lcyAqbm90KiBnZXQgcmVtb3ZlZCBpZiBwbGF0Zm9ybV9hZGRfZGV2aWNlcyBmYWlscyEKKwkgKi8KKwkodm9pZClwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmZzZ191YXJ0KTsKKworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGZzZ19kZXZpY2VzLCBBUlJBWV9TSVpFKGZzZ19kZXZpY2VzKSk7CisKKwlpZiAocmVxdWVzdF9pcnEoZ3Bpb190b19pcnEoRlNHX1JCX0dQSU8pLCAmZnNnX3Jlc2V0X2hhbmRsZXIsCisJCQlJUlFGX0RJU0FCTEVEIHwgSVJRRl9UUklHR0VSX0xPVywKKwkJCSJGU0cgcmVzZXQgYnV0dG9uIiwgTlVMTCkgPCAwKSB7CisKKwkJcHJpbnRrKEtFUk5fREVCVUcgIlJlc2V0IEJ1dHRvbiBJUlEgJWQgbm90IGF2YWlsYWJsZVxuIiwKKwkJCWdwaW9fdG9faXJxKEZTR19SQl9HUElPKSk7CisJfQorCisJaWYgKHJlcXVlc3RfaXJxKGdwaW9fdG9faXJxKEZTR19TQl9HUElPKSwgJmZzZ19wb3dlcl9oYW5kbGVyLAorCQkJSVJRRl9ESVNBQkxFRCB8IElSUUZfVFJJR0dFUl9MT1csCisJCQkiRlNHIHBvd2VyIGJ1dHRvbiIsIE5VTEwpIDwgMCkgeworCisJCXByaW50ayhLRVJOX0RFQlVHICJQb3dlciBCdXR0b24gSVJRICVkIG5vdCBhdmFpbGFibGVcbiIsCisJCQlncGlvX3RvX2lycShGU0dfU0JfR1BJTykpOworCX0KKworCS8qCisJICogTWFwIGluIGEgcG9ydGlvbiBvZiB0aGUgZmxhc2ggYW5kIHJlYWQgdGhlIE1BQyBhZGRyZXNzZXMuCisJICogU2luY2UgaXQgaXMgc3RvcmVkIGluIEJFIGluIHRoZSBmbGFzaCBpdHNlbGYsIHdlIG5lZWQgdG8KKwkgKiBieXRlc3dhcCBpdCBpZiB3ZSdyZSBpbiBMRSBtb2RlLgorCSAqLworCWYgPSBpb3JlbWFwKElYUDRYWF9FWFBfQlVTX0JBU0UoMCksIDB4NDAwMDAwKTsKKwlpZiAoZikgeworI2lmZGVmIF9fQVJNRUJfXworCQlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKSB7CisJCQlmc2dfcGxhdF9ldGhbMF0uaHdhZGRyW2ldID0gcmVhZGIoZiArIDB4M0MwNDIyICsgaSk7CisJCQlmc2dfcGxhdF9ldGhbMV0uaHdhZGRyW2ldID0gcmVhZGIoZiArIDB4M0MwNDNCICsgaSk7CisJCX0KKyNlbHNlCisKKwkJLyoKKwkJICBFbmRpYW4tc3dhcHBlZCByZWFkcyBmcm9tIHVuYWxpZ25lZCBhZGRyZXNzZXMgYXJlCisJCSAgcmVxdWlyZWQgdG8gZXh0cmFjdCB0aGUgdHdvIE1BQ3MgZnJvbSB0aGUgYmlnLWVuZGlhbgorCQkgIFJlZGJvb3QgY29uZmlnIGFyZWEgaW4gZmxhc2guCisJCSovCisKKwkJZnNnX3BsYXRfZXRoWzBdLmh3YWRkclswXSA9IHJlYWRiKGYgKyAweDNDMDQyMSk7CisJCWZzZ19wbGF0X2V0aFswXS5od2FkZHJbMV0gPSByZWFkYihmICsgMHgzQzA0MjApOworCQlmc2dfcGxhdF9ldGhbMF0uaHdhZGRyWzJdID0gcmVhZGIoZiArIDB4M0MwNDI3KTsKKwkJZnNnX3BsYXRfZXRoWzBdLmh3YWRkclszXSA9IHJlYWRiKGYgKyAweDNDMDQyNik7CisJCWZzZ19wbGF0X2V0aFswXS5od2FkZHJbNF0gPSByZWFkYihmICsgMHgzQzA0MjUpOworCQlmc2dfcGxhdF9ldGhbMF0uaHdhZGRyWzVdID0gcmVhZGIoZiArIDB4M0MwNDI0KTsKKworCQlmc2dfcGxhdF9ldGhbMV0uaHdhZGRyWzBdID0gcmVhZGIoZiArIDB4M0MwNDM5KTsKKwkJZnNnX3BsYXRfZXRoWzFdLmh3YWRkclsxXSA9IHJlYWRiKGYgKyAweDNDMDQzRik7CisJCWZzZ19wbGF0X2V0aFsxXS5od2FkZHJbMl0gPSByZWFkYihmICsgMHgzQzA0M0UpOworCQlmc2dfcGxhdF9ldGhbMV0uaHdhZGRyWzNdID0gcmVhZGIoZiArIDB4M0MwNDNEKTsKKwkJZnNnX3BsYXRfZXRoWzFdLmh3YWRkcls0XSA9IHJlYWRiKGYgKyAweDNDMDQzQyk7CisJCWZzZ19wbGF0X2V0aFsxXS5od2FkZHJbNV0gPSByZWFkYihmICsgMHgzQzA0NDMpOworI2VuZGlmCisJCWlvdW5tYXAoZik7CisJfQorCXByaW50ayhLRVJOX0lORk8gIkZTRzogVXNpbmcgTUFDIGFkZHJlc3MgJXMgZm9yIHBvcnQgMFxuIiwKKwkgICAgICAgcHJpbnRfbWFjKG1hY19idWYsIGZzZ19wbGF0X2V0aFswXS5od2FkZHIpKTsKKwlwcmludGsoS0VSTl9JTkZPICJGU0c6IFVzaW5nIE1BQyBhZGRyZXNzICVzIGZvciBwb3J0IDFcbiIsCisJICAgICAgIHByaW50X21hYyhtYWNfYnVmLCBmc2dfcGxhdF9ldGhbMV0uaHdhZGRyKSk7CisKK30KKworTUFDSElORV9TVEFSVChGU0csICJGcmVlY29tIEZTRy0zIikKKwkvKiBNYWludGFpbmVyOiB3d3cubnNsdTItbGludXgub3JnICovCisJLnBoeXNfaW8JPSBJWFA0WFhfUEVSSVBIRVJBTF9CQVNFX1BIWVMsCisJLmlvX3BnX29mZnN0CT0gKChJWFA0WFhfUEVSSVBIRVJBTF9CQVNFX1ZJUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkubWFwX2lvCQk9IGl4cDR4eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gaXhwNHh4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmaXhwNHh4X3RpbWVyLAorCS5ib290X3BhcmFtcwk9IDB4MDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gZnNnX2luaXQsCitNQUNISU5FX0VORAorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzYwMGNkOQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvS2NvbmZpZwpAQCAtMCwwICsxLDI1IEBACitpZiBBUkNIX0tJUktXT09ECisKK21lbnUgIk1hcnZlbGwgS2lya3dvb2QgSW1wbGVtZW50YXRpb25zIgorCitjb25maWcgTUFDSF9EQjg4RjYyODFfQlAKKwlib29sICJNYXJ2ZWxsIERCLTg4RjYyODEtQlAgRGV2ZWxvcG1lbnQgQm9hcmQiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBNYXJ2ZWxsIERCLTg4RjYyODEtQlAgRGV2ZWxvcG1lbnQgQm9hcmQuCisKK2NvbmZpZyBNQUNIX1JEODhGNjE5Ml9OQVMKKwlib29sICJNYXJ2ZWxsIFJELTg4RjYxOTItTkFTIFJlZmVyZW5jZSBCb2FyZCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1hcnZlbGwgUkQtODhGNjE5Mi1OQVMgUmVmZXJlbmNlIEJvYXJkLgorCitjb25maWcgTUFDSF9SRDg4RjYyODEKKwlib29sICJNYXJ2ZWxsIFJELTg4RjYyODEgUmVmZXJlbmNlIEJvYXJkIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBSRC04OEY2MjgxIFJlZmVyZW5jZSBCb2FyZC4KKworZW5kbWVudQorCitlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE0YmY0MAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvTWFrZWZpbGUKQEAgLTAsMCArMSw1IEBACitvYmoteQkJCQkrPSBjb21tb24ubyBhZGRyLW1hcC5vIGlycS5vIHBjaWUubworCitvYmotJChDT05GSUdfTUFDSF9EQjg4RjYyODFfQlApCQkrPSBkYjg4ZjYyODEtYnAtc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfUkQ4OEY2MTkyX05BUykJKz0gcmQ4OGY2MTkyLW5hcy1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9SRDg4RjYxOTJfTkFTKQkrPSByZDg4ZjYyODEtc2V0dXAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9NYWtlZmlsZS5ib290IGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9NYWtlZmlsZS5ib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MDM5YzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL01ha2VmaWxlLmJvb3QKQEAgLTAsMCArMSwzIEBACisgICB6cmVsYWRkci15CTo9IDB4MDAwMDgwMDAKK3BhcmFtc19waHlzLXkJOj0gMHgwMDAwMDEwMAoraW5pdHJkX3BoeXMteQk6PSAweDAwODAwMDAwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2FkZHItbWFwLmMgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2FkZHItbWFwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM5ZjBmMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvYWRkci1tYXAuYwpAQCAtMCwwICsxLDEzOSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvYWRkci1tYXAuYworICoKKyAqIEFkZHJlc3MgbWFwIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBLaXJrd29vZCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworLyoKKyAqIEdlbmVyaWMgQWRkcmVzcyBEZWNvZGUgV2luZG93cyBiaXQgc2V0dGluZ3MKKyAqLworI2RlZmluZSBUQVJHRVRfRERSCQkwCisjZGVmaW5lIFRBUkdFVF9ERVZfQlVTCQkxCisjZGVmaW5lIFRBUkdFVF9QQ0lFCQk0CisjZGVmaW5lIEFUVFJfREVWX1NQSV9ST00JMHgxZQorI2RlZmluZSBBVFRSX0RFVl9CT09UCQkweDFkCisjZGVmaW5lIEFUVFJfREVWX05BTkQJCTB4MmYKKyNkZWZpbmUgQVRUUl9ERVZfQ1MzCQkweDM3CisjZGVmaW5lIEFUVFJfREVWX0NTMgkJMHgzYgorI2RlZmluZSBBVFRSX0RFVl9DUzEJCTB4M2QKKyNkZWZpbmUgQVRUUl9ERVZfQ1MwCQkweDNlCisjZGVmaW5lIEFUVFJfUENJRV9JTwkJMHhlMAorI2RlZmluZSBBVFRSX1BDSUVfTUVNCQkweGU4CisKKy8qCisgKiBIZWxwZXJzIHRvIGdldCBERFIgYmFuayBpbmZvCisgKi8KKyNkZWZpbmUgRERSX0JBU0VfQ1NfT0ZGKG4pCSgweDAwMDAgKyAoKG4pIDw8IDMpKQorI2RlZmluZSBERFJfU0laRV9DU19PRkYobikJKDB4MDAwNCArICgobikgPDwgMykpCisKKy8qCisgKiBDUFUgQWRkcmVzcyBEZWNvZGUgV2luZG93cyByZWdpc3RlcnMKKyAqLworI2RlZmluZSBXSU5fT0ZGKG4pCQkoQlJJREdFX1ZJUlRfQkFTRSArIDB4MDAwMCArICgobikgPDwgNCkpCisjZGVmaW5lIFdJTl9DVFJMX09GRgkJMHgwMDAwCisjZGVmaW5lIFdJTl9CQVNFX09GRgkJMHgwMDA0CisjZGVmaW5lIFdJTl9SRU1BUF9MT19PRkYJMHgwMDA4CisjZGVmaW5lIFdJTl9SRU1BUF9ISV9PRkYJMHgwMDBjCisKKworc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBraXJrd29vZF9tYnVzX2RyYW1faW5mbzsKKworc3RhdGljIGludCBfX2luaXQgY3B1X3dpbl9jYW5fcmVtYXAoaW50IHdpbikKK3sKKwlpZiAod2luIDwgNCkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdV93aW4oaW50IHdpbiwgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCSB1OCB0YXJnZXQsIHU4IGF0dHIsIGludCByZW1hcCkKK3sKKwl2b2lkIF9faW9tZW0gKmFkZHIgPSAodm9pZCBfX2lvbWVtICopV0lOX09GRih3aW4pOworCXUzMiBjdHJsOworCisJYmFzZSAmPSAweGZmZmYwMDAwOworCWN0cmwgPSAoKHNpemUgLSAxKSAmIDB4ZmZmZjAwMDApIHwgKGF0dHIgPDwgOCkgfCAodGFyZ2V0IDw8IDQpIHwgMTsKKworCXdyaXRlbChiYXNlLCBhZGRyICsgV0lOX0JBU0VfT0ZGKTsKKwl3cml0ZWwoY3RybCwgYWRkciArIFdJTl9DVFJMX09GRik7CisJaWYgKGNwdV93aW5fY2FuX3JlbWFwKHdpbikpIHsKKwkJaWYgKHJlbWFwIDwgMCkKKwkJCXJlbWFwID0gYmFzZTsKKworCQl3cml0ZWwocmVtYXAgJiAweGZmZmYwMDAwLCBhZGRyICsgV0lOX1JFTUFQX0xPX09GRik7CisJCXdyaXRlbCgwLCBhZGRyICsgV0lOX1JFTUFQX0hJX09GRik7CisJfQorfQorCit2b2lkIF9faW5pdCBraXJrd29vZF9zZXR1cF9jcHVfbWJ1cyh2b2lkKQoreworCXZvaWQgX19pb21lbSAqYWRkcjsKKwlpbnQgaTsKKwlpbnQgY3M7CisKKwkvKgorCSAqIEZpcnN0LCBkaXNhYmxlIGFuZCBjbGVhciB3aW5kb3dzLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKwkJYWRkciA9ICh2b2lkIF9faW9tZW0gKilXSU5fT0ZGKGkpOworCisJCXdyaXRlbCgwLCBhZGRyICsgV0lOX0JBU0VfT0ZGKTsKKwkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fQ1RSTF9PRkYpOworCQlpZiAoY3B1X3dpbl9jYW5fcmVtYXAoaSkpIHsKKwkJCXdyaXRlbCgwLCBhZGRyICsgV0lOX1JFTUFQX0xPX09GRik7CisJCQl3cml0ZWwoMCwgYWRkciArIFdJTl9SRU1BUF9ISV9PRkYpOworCQl9CisJfQorCisJLyoKKwkgKiBTZXR1cCB3aW5kb3dzIGZvciBQQ0llIElPK01FTSBzcGFjZS4KKwkgKi8KKwlzZXR1cF9jcHVfd2luKDAsIEtJUktXT09EX1BDSUVfSU9fUEhZU19CQVNFLCBLSVJLV09PRF9QQ0lFX0lPX1NJWkUsCisJCSAgICAgIFRBUkdFVF9QQ0lFLCBBVFRSX1BDSUVfSU8sIEtJUktXT09EX1BDSUVfSU9fQlVTX0JBU0UpOworCXNldHVwX2NwdV93aW4oMSwgS0lSS1dPT0RfUENJRV9NRU1fUEhZU19CQVNFLCBLSVJLV09PRF9QQ0lFX01FTV9TSVpFLAorCQkgICAgICBUQVJHRVRfUENJRSwgQVRUUl9QQ0lFX01FTSwgLTEpOworCisJLyoKKwkgKiBTZXR1cCB3aW5kb3cgZm9yIE5BTkQgY29udHJvbGxlci4KKwkgKi8KKwlzZXR1cF9jcHVfd2luKDIsIEtJUktXT09EX05BTkRfTUVNX1BIWVNfQkFTRSwgS0lSS1dPT0RfTkFORF9NRU1fU0laRSwKKwkJICAgICAgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX05BTkQsIC0xKTsKKworCS8qCisJICogU2V0dXAgTUJVUyBkcmFtIHRhcmdldCBpbmZvLgorCSAqLworCWtpcmt3b29kX21idXNfZHJhbV9pbmZvLm1idXNfZHJhbV90YXJnZXRfaWQgPSBUQVJHRVRfRERSOworCisJYWRkciA9ICh2b2lkIF9faW9tZW0gKilERFJfV0lORE9XX0NQVV9CQVNFOworCisJZm9yIChpID0gMCwgY3MgPSAwOyBpIDwgNDsgaSsrKSB7CisJCXUzMiBiYXNlID0gcmVhZGwoYWRkciArIEREUl9CQVNFX0NTX09GRihpKSk7CisJCXUzMiBzaXplID0gcmVhZGwoYWRkciArIEREUl9TSVpFX0NTX09GRihpKSk7CisKKwkJLyoKKwkJICogQ2hpcCBzZWxlY3QgZW5hYmxlZD8KKwkJICovCisJCWlmIChzaXplICYgMSkgeworCQkJc3RydWN0IG1idXNfZHJhbV93aW5kb3cgKnc7CisKKwkJCXcgPSAma2lya3dvb2RfbWJ1c19kcmFtX2luZm8uY3NbY3MrK107CisJCQl3LT5jc19pbmRleCA9IGk7CisJCQl3LT5tYnVzX2F0dHIgPSAweGYgJiB+KDEgPDwgaSk7CisJCQl3LT5iYXNlID0gYmFzZSAmIDB4ZmZmZjAwMDA7CisJCQl3LT5zaXplID0gKHNpemUgfCAweDAwMDBmZmZmKSArIDE7CisJCX0KKwl9CisJa2lya3dvb2RfbWJ1c19kcmFtX2luZm8ubnVtX2NzID0gY3M7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2NvbW1vbi5jIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTM4YTNiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uYwpAQCAtMCwwICsxLDMzMSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvY29tbW9uLmMKKyAqCisgKiBDb3JlIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBLaXJrd29vZCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfODI1MC5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL3RpbWV4Lmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9laGNpLW9yaW9uLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL3RpbWUuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBJL08gQWRkcmVzcyBNYXBwaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2Mga2lya3dvb2RfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IEtJUktXT09EX1BDSUVfSU9fVklSVF9CQVNFLAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oS0lSS1dPT0RfUENJRV9JT19QSFlTX0JBU0UpLAorCQkubGVuZ3RoCQk9IEtJUktXT09EX1BDSUVfSU9fU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sIHsKKwkJLnZpcnR1YWwJPSBLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEtJUktXT09EX1JFR1NfUEhZU19CQVNFKSwKKwkJLmxlbmd0aAkJPSBLSVJLV09PRF9SRUdTX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfbWFwX2lvKHZvaWQpCit7CisJaW90YWJsZV9pbml0KGtpcmt3b29kX2lvX2Rlc2MsIEFSUkFZX1NJWkUoa2lya3dvb2RfaW9fZGVzYykpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uX2VoY2lfZGF0YSBraXJrd29vZF9laGNpX2RhdGEgPSB7CisJLmRyYW0JCT0gJmtpcmt3b29kX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHU2NCBlaGNpX2RtYW1hc2sgPSAweGZmZmZmZmZmVUw7CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX2VoY2lfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBVU0JfUEhZU19CQVNFLAorCQkuZW5kCT0gVVNCX1BIWVNfQkFTRSArIDB4MGZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJPSBJUlFfS0lSS1dPT0RfVVNCLAorCQkuZW5kCT0gSVJRX0tJUktXT09EX1VTQiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGtpcmt3b29kX2VoY2kgPSB7CisJLm5hbWUJCT0gIm9yaW9uLWVoY2kiLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkuZG1hX21hc2sJCT0gJmVoY2lfZG1hbWFzaywKKwkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKKwkJLnBsYXRmb3JtX2RhdGEJCT0gJmtpcmt3b29kX2VoY2lfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9IGtpcmt3b29kX2VoY2lfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShraXJrd29vZF9laGNpX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBraXJrd29vZF9laGNpX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmtpcmt3b29kX2VoY2kpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UwMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEga2lya3dvb2RfZ2UwMF9zaGFyZWRfZGF0YSA9IHsKKwkudF9jbGsJCT0gS0lSS1dPT0RfVENMSywKKwkuZHJhbQkJPSAma2lya3dvb2RfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX2dlMDBfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwMCBiYXNlIiwKKwkJLnN0YXJ0CT0gR0UwMF9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTAwX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGtpcmt3b29kX2dlMDBfc2hhcmVkID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX1NIQVJFRF9OQU1FLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZraXJrd29vZF9nZTAwX3NoYXJlZF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IGtpcmt3b29kX2dlMDBfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Uga2lya3dvb2RfZ2UwMF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMDAgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX0tJUktXT09EX0dFMDBfU1VNLAorCQkuZW5kCT0gSVJRX0tJUktXT09EX0dFMDBfU1VNLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Uga2lya3dvb2RfZ2UwMCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9OQU1FLAorCS5pZAkJPSAwLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBraXJrd29vZF9nZTAwX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX2dlMDBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZraXJrd29vZF9nZTAwX3NoYXJlZDsKKwlraXJrd29vZF9nZTAwLmRldi5wbGF0Zm9ybV9kYXRhID0gZXRoX2RhdGE7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmtpcmt3b29kX2dlMDBfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmtpcmt3b29kX2dlMDApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU29DIFJUQworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX3J0Y19yZXNvdXJjZSA9IHsKKwkuc3RhcnQJPSBSVENfUEhZU19CQVNFLAorCS5lbmQJPSBSVENfUEhZU19CQVNFICsgU1pfMTYgLSAxLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfcnRjX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfc2ltcGxlKCJydGMtbXYiLCAtMSwgJmtpcmt3b29kX3J0Y19yZXNvdXJjZSwgMSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBTQVRBCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Uga2lya3dvb2Rfc2F0YV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gInNhdGEgYmFzZSIsCisJCS5zdGFydAk9IFNBVEFfUEhZU19CQVNFLAorCQkuZW5kCT0gU0FUQV9QSFlTX0JBU0UgKyAweDUwMDAgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5uYW1lCT0gInNhdGEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX0tJUktXT09EX1NBVEEsCisJCS5lbmQJPSBJUlFfS0lSS1dPT0RfU0FUQSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGtpcmt3b29kX3NhdGEgPSB7CisJLm5hbWUJCT0gInNhdGFfbXYiLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGtpcmt3b29kX3NhdGFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UJPSBraXJrd29vZF9zYXRhX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX3NhdGFfaW5pdChzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhICpzYXRhX2RhdGEpCit7CisJc2F0YV9kYXRhLT5kcmFtID0gJmtpcmt3b29kX21idXNfZHJhbV9pbmZvOworCWtpcmt3b29kX3NhdGEuZGV2LnBsYXRmb3JtX2RhdGEgPSBzYXRhX2RhdGE7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZraXJrd29vZF9zYXRhKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQga2lya3dvb2RfdWFydDBfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMF9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX0tJUktXT09EX1VBUlRfMCwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBLSVJLV09PRF9UQ0xLLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBraXJrd29vZF91YXJ0MF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9LSVJLV09PRF9VQVJUXzAsCisJCS5lbmQJCT0gSVJRX0tJUktXT09EX1VBUlRfMCwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBraXJrd29vZF91YXJ0MCA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gMCwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0ga2lya3dvb2RfdWFydDBfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBraXJrd29vZF91YXJ0MF9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShraXJrd29vZF91YXJ0MF9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfdWFydDBfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma2lya3dvb2RfdWFydDApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBraXJrd29vZF91YXJ0MV9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQxX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfS0lSS1dPT0RfVUFSVF8xLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IEtJUktXT09EX1RDTEssCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX3VhcnQxX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMV9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX0tJUktXT09EX1VBUlRfMSwKKwkJLmVuZAkJPSBJUlFfS0lSS1dPT0RfVUFSVF8xLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGtpcmt3b29kX3VhcnQxID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAxLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBraXJrd29vZF91YXJ0MV9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IGtpcmt3b29kX3VhcnQxX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKGtpcmt3b29kX3VhcnQxX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBraXJrd29vZF91YXJ0MV9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZraXJrd29vZF91YXJ0MSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaW1lIGhhbmRsaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkIGtpcmt3b29kX3RpbWVyX2luaXQodm9pZCkKK3sKKwlvcmlvbl90aW1lX2luaXQoSVJRX0tJUktXT09EX0JSSURHRSwgS0lSS1dPT0RfVENMSyk7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIga2lya3dvb2RfdGltZXIgPSB7CisJLmluaXQgPSBraXJrd29vZF90aW1lcl9pbml0LAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIGNoYXIgKiBfX2luaXQga2lya3dvb2RfaWQodm9pZCkKK3sKKwlzd2l0Y2ggKHJlYWRsKERFVklDRV9JRCkgJiAweDMpIHsKKwljYXNlIDA6CisJCXJldHVybiAiODhGNjE4MCI7CisJY2FzZSAxOgorCQlyZXR1cm4gIjg4RjYxOTIiOworCWNhc2UgMjoKKwkJcmV0dXJuICI4OEY2MjgxIjsKKwl9CisKKwlyZXR1cm4gInVua25vd24gODhGNjAwMCB2YXJpYW50IjsKK30KKworc3RhdGljIGludCBfX2luaXQgaXNfbDJfd3JpdGV0aHJvdWdoKHZvaWQpCit7CisJcmV0dXJuICEhKHJlYWRsKEwyX0NPTkZJR19SRUcpICYgTDJfV1JJVEVUSFJPVUdIKTsKK30KKwordm9pZCBfX2luaXQga2lya3dvb2RfaW5pdCh2b2lkKQoreworCXByaW50ayhLRVJOX0lORk8gIktpcmt3b29kOiAlcywgVENMSz0lZC5cbiIsCisJCWtpcmt3b29kX2lkKCksIEtJUktXT09EX1RDTEspOworCisJa2lya3dvb2Rfc2V0dXBfY3B1X21idXMoKTsKKworI2lmZGVmIENPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMgorCWZlcm9jZW9uX2wyX2luaXQoaXNfbDJfd3JpdGV0aHJvdWdoKCkpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2NvbW1vbi5oIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGVlMmY2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uaApAQCAtMCwwICsxLDQyIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uaAorICoKKyAqIENvcmUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIEtpcmt3b29kIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVJDSF9LSVJLV09PRF9DT01NT05fSAorI2RlZmluZSBfX0FSQ0hfS0lSS1dPT0RfQ09NTU9OX0gKKworc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGE7CitzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhOworCisvKgorICogQmFzaWMgS2lya3dvb2QgaW5pdCBmdW5jdGlvbnMgdXNlZCBlYXJseSBieSBtYWNoaW5lLXNldHVwLgorICovCit2b2lkIGtpcmt3b29kX21hcF9pbyh2b2lkKTsKK3ZvaWQga2lya3dvb2RfaW5pdCh2b2lkKTsKK3ZvaWQga2lya3dvb2RfaW5pdF9pcnEodm9pZCk7CisKK2V4dGVybiBzdHJ1Y3QgbWJ1c19kcmFtX3RhcmdldF9pbmZvIGtpcmt3b29kX21idXNfZHJhbV9pbmZvOwordm9pZCBraXJrd29vZF9zZXR1cF9jcHVfbWJ1cyh2b2lkKTsKK3ZvaWQga2lya3dvb2Rfc2V0dXBfcGNpZV9pb193aW4oaW50IHdpbmRvdywgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCWludCBtYWosIGludCBtaW4pOwordm9pZCBraXJrd29vZF9zZXR1cF9wY2llX21lbV93aW4oaW50IHdpbmRvdywgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCSBpbnQgbWFqLCBpbnQgbWluKTsKKwordm9pZCBraXJrd29vZF9laGNpX2luaXQodm9pZCk7Cit2b2lkIGtpcmt3b29kX2dlMDBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwordm9pZCBraXJrd29vZF9wY2llX2luaXQodm9pZCk7Cit2b2lkIGtpcmt3b29kX3J0Y19pbml0KHZvaWQpOwordm9pZCBraXJrd29vZF9zYXRhX2luaXQoc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSAqc2F0YV9kYXRhKTsKK3ZvaWQga2lya3dvb2RfdWFydDBfaW5pdCh2b2lkKTsKK3ZvaWQga2lya3dvb2RfdWFydDFfaW5pdCh2b2lkKTsKKworZXh0ZXJuIHN0cnVjdCBzeXNfdGltZXIga2lya3dvb2RfdGltZXI7CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2RiODhmNjI4MS1icC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9kYjg4ZjYyODEtYnAtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWM0ODJjCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9kYjg4ZjYyODEtYnAtc2V0dXAuYwpAQCAtMCwwICsxLDY4IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9kYjg4ZjYyODEtYnAtc2V0dXAuYworICoKKyAqIE1hcnZlbGwgREItODhGNjI4MS1CUCBEZXZlbG9wbWVudCBCb2FyZCBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI4OGY2MjgxX2dlMDBfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSA4LAorfTsKKworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgZGI4OGY2MjgxX3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZGI4OGY2MjgxX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIEJhc2ljIHNldHVwLiBOZWVkcyB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJa2lya3dvb2RfaW5pdCgpOworCisJa2lya3dvb2RfZWhjaV9pbml0KCk7CisJa2lya3dvb2RfZ2UwMF9pbml0KCZkYjg4ZjYyODFfZ2UwMF9kYXRhKTsKKwlraXJrd29vZF9ydGNfaW5pdCgpOworCWtpcmt3b29kX3NhdGFfaW5pdCgmZGI4OGY2MjgxX3NhdGFfZGF0YSk7CisJa2lya3dvb2RfdWFydDBfaW5pdCgpOworCWtpcmt3b29kX3VhcnQxX2luaXQoKTsKK30KKworc3RhdGljIGludCBfX2luaXQgZGI4OGY2MjgxX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfZGI4OGY2MjgxX2JwKCkpCisJCWtpcmt3b29kX3BjaWVfaW5pdCgpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwoZGI4OGY2MjgxX3BjaV9pbml0KTsKKworTUFDSElORV9TVEFSVChEQjg4RjYyODFfQlAsICJNYXJ2ZWxsIERCLTg4RjYyODEtQlAgRGV2ZWxvcG1lbnQgQm9hcmQiKQorCS8qIE1haW50YWluZXI6IFNhZWVkIEJpc2hhcmEgPHNhZWVkQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IGRiODhmNjI4MV9pbml0LAorCS5tYXBfaW8JCT0ga2lya3dvb2RfbWFwX2lvLAorCS5pbml0X2lycQk9IGtpcmt3b29kX2luaXRfaXJxLAorCS50aW1lcgkJPSAma2lya3dvb2RfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9pcnEuYyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvaXJxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAyYmIyYwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvaXJxLmMKQEAgLTAsMCArMSwyMiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvaXJxLmMKKyAqCisgKiBLaXJrd29vZCBJUlEgaGFuZGxpbmcuCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL2lycS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCit2b2lkIF9faW5pdCBraXJrd29vZF9pbml0X2lycSh2b2lkKQoreworCW9yaW9uX2lycV9pbml0KDAsICh2b2lkIF9faW9tZW0gKikoSVJRX1ZJUlRfQkFTRSArIElSUV9NQVNLX0xPV19PRkYpKTsKKwlvcmlvbl9pcnFfaW5pdCgzMiwgKHZvaWQgX19pb21lbSAqKShJUlFfVklSVF9CQVNFICsgSVJRX01BU0tfSElHSF9PRkYpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcGNpZS5jIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9wY2llLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI4MmQwZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcGNpZS5jCkBAIC0wLDAgKzEsMTgwIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9wY2llLmMKKyAqCisgKiBQQ0llIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBLaXJrd29vZCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9wY2llLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKworI2RlZmluZSBQQ0lFX0JBU0UJKCh2b2lkIF9faW9tZW0gKilQQ0lFX1ZJUlRfQkFTRSkKKworc3RhdGljIGludCBwY2llX3ZhbGlkX2NvbmZpZyhpbnQgYnVzLCBpbnQgZGV2KQoreworCS8qCisJICogRG9uJ3QgZ28gb3V0IHdoZW4gdHJ5aW5nIHRvIGFjY2VzcyAtLQorCSAqIDEuIG5vbmV4aXN0aW5nIGRldmljZSBvbiBsb2NhbCBidXMKKwkgKiAyLiB3aGVyZSB0aGVyZSdzIG5vIGRldmljZSBjb25uZWN0ZWQgKG5vIGxpbmspCisJICovCisJaWYgKGJ1cyA9PSAwICYmIGRldiA9PSAwKQorCQlyZXR1cm4gMTsKKworCWlmICghb3Jpb25fcGNpZV9saW5rX3VwKFBDSUVfQkFTRSkpCisJCXJldHVybiAwOworCisJaWYgKGJ1cyA9PSAwICYmIGRldiAhPSAxKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAxOworfQorCisKKy8qCisgKiBQQ0llIGNvbmZpZyBjeWNsZXMgYXJlIGRvbmUgYnkgcHJvZ3JhbW1pbmcgdGhlIFBDSUVfQ09ORl9BRERSIHJlZ2lzdGVyCisgKiBhbmQgdGhlbiByZWFkaW5nIHRoZSBQQ0lFX0NPTkZfREFUQSByZWdpc3Rlci4gTmVlZCB0byBtYWtlIHN1cmUgdGhlc2UKKyAqIHRyYW5zYWN0aW9ucyBhcmUgYXRvbWljLgorICovCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGtpcmt3b29kX3BjaWVfbG9jayk7CisKK3N0YXRpYyBpbnQgcGNpZV9yZF9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwgaW50IHdoZXJlLAorCQkJaW50IHNpemUsIHUzMiAqdmFsKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHJldDsKKworCWlmIChwY2llX3ZhbGlkX2NvbmZpZyhidXMtPm51bWJlciwgUENJX1NMT1QoZGV2Zm4pKSA9PSAwKSB7CisJCSp2YWwgPSAweGZmZmZmZmZmOworCQlyZXR1cm4gUENJQklPU19ERVZJQ0VfTk9UX0ZPVU5EOworCX0KKworCXNwaW5fbG9ja19pcnFzYXZlKCZraXJrd29vZF9wY2llX2xvY2ssIGZsYWdzKTsKKwlyZXQgPSBvcmlvbl9wY2llX3JkX2NvbmYoUENJRV9CQVNFLCBidXMsIGRldmZuLCB3aGVyZSwgc2l6ZSwgdmFsKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZraXJrd29vZF9wY2llX2xvY2ssIGZsYWdzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcGNpZV93cl9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwKKwkJCWludCB3aGVyZSwgaW50IHNpemUsIHUzMiB2YWwpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgcmV0OworCisJaWYgKHBjaWVfdmFsaWRfY29uZmlnKGJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXZmbikpID09IDApCisJCXJldHVybiBQQ0lCSU9TX0RFVklDRV9OT1RfRk9VTkQ7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgma2lya3dvb2RfcGNpZV9sb2NrLCBmbGFncyk7CisJcmV0ID0gb3Jpb25fcGNpZV93cl9jb25mKFBDSUVfQkFTRSwgYnVzLCBkZXZmbiwgd2hlcmUsIHNpemUsIHZhbCk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgma2lya3dvb2RfcGNpZV9sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3RydWN0IHBjaV9vcHMgcGNpZV9vcHMgPSB7CisJLnJlYWQgPSBwY2llX3JkX2NvbmYsCisJLndyaXRlID0gcGNpZV93cl9jb25mLAorfTsKKworCitzdGF0aWMgaW50IGtpcmt3b29kX3BjaWVfc2V0dXAoaW50IG5yLCBzdHJ1Y3QgcGNpX3N5c19kYXRhICpzeXMpCit7CisJc3RydWN0IHJlc291cmNlICpyZXM7CisKKwkvKgorCSAqIEdlbmVyaWMgUENJZSB1bml0IHNldHVwLgorCSAqLworCW9yaW9uX3BjaWVfc2V0dXAoUENJRV9CQVNFLCAma2lya3dvb2RfbWJ1c19kcmFtX2luZm8pOworCisJLyoKKwkgKiBSZXF1ZXN0IHJlc291cmNlcy4KKwkgKi8KKwlyZXMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgcmVzb3VyY2UpICogMiwgR0ZQX0tFUk5FTCk7CisJaWYgKCFyZXMpCisJCXBhbmljKCJwY2llX3NldHVwIHVuYWJsZSB0byBhbGxvYyByZXNvdXJjZXMiKTsKKworCS8qCisJICogSU9SRVNPVVJDRV9JTworCSAqLworCXJlc1swXS5uYW1lID0gIlBDSWUgSS9PIFNwYWNlIjsKKwlyZXNbMF0uZmxhZ3MgPSBJT1JFU09VUkNFX0lPOworCXJlc1swXS5zdGFydCA9IEtJUktXT09EX1BDSUVfSU9fUEhZU19CQVNFOworCXJlc1swXS5lbmQgPSByZXNbMF0uc3RhcnQgKyBLSVJLV09PRF9QQ0lFX0lPX1NJWkUgLSAxOworCWlmIChyZXF1ZXN0X3Jlc291cmNlKCZpb3BvcnRfcmVzb3VyY2UsICZyZXNbMF0pKQorCQlwYW5pYygiUmVxdWVzdCBQQ0llIElPIHJlc291cmNlIGZhaWxlZFxuIik7CisJc3lzLT5yZXNvdXJjZVswXSA9ICZyZXNbMF07CisKKwkvKgorCSAqIElPUkVTT1VSQ0VfTUVNCisJICovCisJcmVzWzFdLm5hbWUgPSAiUENJZSBNZW1vcnkgU3BhY2UiOworCXJlc1sxXS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNOworCXJlc1sxXS5zdGFydCA9IEtJUktXT09EX1BDSUVfTUVNX1BIWVNfQkFTRTsKKwlyZXNbMV0uZW5kID0gcmVzWzFdLnN0YXJ0ICsgS0lSS1dPT0RfUENJRV9NRU1fU0laRSAtIDE7CisJaWYgKHJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmcmVzWzFdKSkKKwkJcGFuaWMoIlJlcXVlc3QgUENJZSBNZW1vcnkgcmVzb3VyY2UgZmFpbGVkXG4iKTsKKwlzeXMtPnJlc291cmNlWzFdID0gJnJlc1sxXTsKKworCXN5cy0+cmVzb3VyY2VbMl0gPSBOVUxMOworCXN5cy0+aW9fb2Zmc2V0ID0gMDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCBfX2RldmluaXQgcmNfcGNpX2ZpeHVwKHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJLyoKKwkgKiBQcmV2ZW50IGVudW1lcmF0aW9uIG9mIHJvb3QgY29tcGxleC4KKwkgKi8KKwlpZiAoZGV2LT5idXMtPnBhcmVudCA9PSBOVUxMICYmIGRldi0+ZGV2Zm4gPT0gMCkgeworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgREVWSUNFX0NPVU5UX1JFU09VUkNFOyBpKyspIHsKKwkJCWRldi0+cmVzb3VyY2VbaV0uc3RhcnQgPSAwOworCQkJZGV2LT5yZXNvdXJjZVtpXS5lbmQgICA9IDA7CisJCQlkZXYtPnJlc291cmNlW2ldLmZsYWdzID0gMDsKKwkJfQorCX0KK30KK0RFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX01BUlZFTEwsIFBDSV9BTllfSUQsIHJjX3BjaV9maXh1cCk7CisKK3N0YXRpYyBzdHJ1Y3QgcGNpX2J1cyBfX2luaXQgKgora2lya3dvb2RfcGNpZV9zY2FuX2J1cyhpbnQgbnIsIHN0cnVjdCBwY2lfc3lzX2RhdGEgKnN5cykKK3sKKwlzdHJ1Y3QgcGNpX2J1cyAqYnVzOworCisJaWYgKG5yID09IDApIHsKKwkJYnVzID0gcGNpX3NjYW5fYnVzKHN5cy0+YnVzbnIsICZwY2llX29wcywgc3lzKTsKKwl9IGVsc2UgeworCQlidXMgPSBOVUxMOworCQlCVUcoKTsKKwl9CisKKwlyZXR1cm4gYnVzOworfQorCitzdGF0aWMgaW50IF9faW5pdCBraXJrd29vZF9wY2llX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKQoreworCXJldHVybiBJUlFfS0lSS1dPT0RfUENJRTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kga2lya3dvb2RfcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gMSwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0ga2lya3dvb2RfcGNpZV9zZXR1cCwKKwkuc2NhbgkJPSBraXJrd29vZF9wY2llX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0ga2lya3dvb2RfcGNpZV9tYXBfaXJxLAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfcGNpZV9pbml0KHZvaWQpCit7CisJcGNpX2NvbW1vbl9pbml0KCZraXJrd29vZF9wY2kpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYxOTItbmFzLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL3JkODhmNjE5Mi1uYXMtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2Y2NDJjCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYxOTItbmFzLXNldHVwLmMKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MTkyLW5hcy1zZXR1cC5jCisgKgorICogTWFydmVsbCBSRC04OEY2MTkyLU5BUyBSZWZlcmVuY2UgQm9hcmQgU2V0dXAKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworI2RlZmluZSBSRDg4RjYxOTJfR1BJT19VU0JfVkJVUwkJMTAKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHJkODhmNjE5Ml9nZTAwX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gOCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIHJkODhmNjE5Ml9zYXRhX2RhdGEgPSB7CisJLm5fcG9ydHMJPSAyLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHJkODhmNjE5Ml9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBCYXNpYyBzZXR1cC4gTmVlZHMgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCWtpcmt3b29kX2luaXQoKTsKKworCWtpcmt3b29kX2VoY2lfaW5pdCgpOworCWtpcmt3b29kX2dlMDBfaW5pdCgmcmQ4OGY2MTkyX2dlMDBfZGF0YSk7CisJa2lya3dvb2RfcnRjX2luaXQoKTsKKwlraXJrd29vZF9zYXRhX2luaXQoJnJkODhmNjE5Ml9zYXRhX2RhdGEpOworCWtpcmt3b29kX3VhcnQwX2luaXQoKTsKK30KKworc3RhdGljIGludCBfX2luaXQgcmQ4OGY2MTkyX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfcmQ4OGY2MTkyX25hcygpKQorCQlraXJrd29vZF9wY2llX2luaXQoKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHJkODhmNjE5Ml9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoUkQ4OEY2MTkyX05BUywgIk1hcnZlbGwgUkQtODhGNjE5Mi1OQVMgRGV2ZWxvcG1lbnQgQm9hcmQiKQorCS8qIE1haW50YWluZXI6IFNhZWVkIEJpc2hhcmEgPHNhZWVkQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHJkODhmNjE5Ml9pbml0LAorCS5tYXBfaW8JCT0ga2lya3dvb2RfbWFwX2lvLAorCS5pbml0X2lycQk9IGtpcmt3b29kX2luaXRfaXJxLAorCS50aW1lcgkJPSAma2lya3dvb2RfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYyODEtc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MjgxLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFmOGRlMgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MjgxLXNldHVwLmMKQEAgLTAsMCArMSwxMTMgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWtpcmt3b29kL3JkODhmNjI4MS1zZXR1cC5jCisgKgorICogTWFydmVsbCBSRC04OEY2MjgxIFJlZmVyZW5jZSBCb2FyZCBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHJkODhmNjI4MV9uYW5kX3BhcnRzW10gPSB7CisJeworCQkubmFtZSA9ICJ1LWJvb3QiLAorCQkub2Zmc2V0ID0gMCwKKwkJLnNpemUgPSBTWl8xTQorCX0sIHsKKwkJLm5hbWUgPSAidUltYWdlIiwKKwkJLm9mZnNldCA9IE1URFBBUlRfT0ZTX05YVEJMSywKKwkJLnNpemUgPSBTWl8yTQorCX0sIHsKKwkJLm5hbWUgPSAicm9vdCIsCisJCS5vZmZzZXQgPSBNVERQQVJUX09GU19OWFRCTEssCisJCS5zaXplID0gTVREUEFSVF9TSVpfRlVMTAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHJkODhmNjI4MV9uYW5kX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gS0lSS1dPT0RfTkFORF9NRU1fUEhZU19CQVNFLAorCS5lbmQJCT0gS0lSS1dPT0RfTkFORF9NRU1fUEhZU19CQVNFICsKKwkJCSAgS0lSS1dPT0RfTkFORF9NRU1fU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IG9yaW9uX25hbmRfZGF0YSByZDg4ZjYyODFfbmFuZF9kYXRhID0geworCS5wYXJ0cwkJPSByZDg4ZjYyODFfbmFuZF9wYXJ0cywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKHJkODhmNjI4MV9uYW5kX3BhcnRzKSwKKwkuY2xlCQk9IDAsCisJLmFsZQkJPSAxLAorCS53aWR0aAkJPSA4LAorCS5jaGlwX2RlbGF5CT0gMjUsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSByZDg4ZjYyODFfbmFuZF9mbGFzaCA9IHsKKwkubmFtZQkJPSAib3Jpb25fbmFuZCIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZyZDg4ZjYyODFfbmFuZF9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gJnJkODhmNjI4MV9uYW5kX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSByZDg4ZjYyODFfZ2UwMF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgcmQ4OGY2MjgxX3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcmQ4OGY2MjgxX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIEJhc2ljIHNldHVwLiBOZWVkcyB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJa2lya3dvb2RfaW5pdCgpOworCisJa2lya3dvb2RfZWhjaV9pbml0KCk7CisJa2lya3dvb2RfZ2UwMF9pbml0KCZyZDg4ZjYyODFfZ2UwMF9kYXRhKTsKKwlraXJrd29vZF9ydGNfaW5pdCgpOworCWtpcmt3b29kX3NhdGFfaW5pdCgmcmQ4OGY2MjgxX3NhdGFfZGF0YSk7CisJa2lya3dvb2RfdWFydDBfaW5pdCgpOworCWtpcmt3b29kX3VhcnQxX2luaXQoKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcmQ4OGY2MjgxX25hbmRfZmxhc2gpOworfQorCitzdGF0aWMgaW50IF9faW5pdCByZDg4ZjYyODFfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19yZDg4ZjYyODEoKSkKKwkJa2lya3dvb2RfcGNpZV9pbml0KCk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChyZDg4ZjYyODFfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKFJEODhGNjI4MSwgIk1hcnZlbGwgUkQtODhGNjI4MSBSZWZlcmVuY2UgQm9hcmQiKQorCS8qIE1haW50YWluZXI6IFNhZWVkIEJpc2hhcmEgPHNhZWVkQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHJkODhmNjI4MV9pbml0LAorCS5tYXBfaW8JCT0ga2lya3dvb2RfbWFwX2lvLAorCS5pbml0X2lycQk9IGtpcmt3b29kX2luaXRfaXJxLAorCS50aW1lcgkJPSAma2lya3dvb2RfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLWxva2kvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDQ1YmRkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL0tjb25maWcKQEAgLTAsMCArMSwxMyBAQAoraWYgQVJDSF9MT0tJCisKK21lbnUgIk1hcnZlbGwgTG9raSAoODhSQzg0ODApIEltcGxlbWVudGF0aW9ucyIKKworY29uZmlnIE1BQ0hfTEI4OFJDODQ4MAorCWJvb2wgIk1hcnZlbGwgTEI4OFJDODQ4MCBEZXZlbG9wbWVudCBCb2FyZCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1hcnZlbGwgTEI4OFJDODQ4MCBEZXZlbG9wbWVudCBCb2FyZC4KKworZW5kbWVudQorCitlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1sb2tpL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0MzIzM2UKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvTWFrZWZpbGUKQEAgLTAsMCArMSwzIEBACitvYmoteQkJCQkrPSBjb21tb24ubyBhZGRyLW1hcC5vIGlycS5vCisKK29iai0kKENPTkZJR19NQUNIX0xCODhSQzg0ODApCSs9IGxiODhyYzg0ODAtc2V0dXAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL01ha2VmaWxlLmJvb3QgYi9hcmNoL2FybS9tYWNoLWxva2kvTWFrZWZpbGUuYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzAzOWMzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL01ha2VmaWxlLmJvb3QKQEAgLTAsMCArMSwzIEBACisgICB6cmVsYWRkci15CTo9IDB4MDAwMDgwMDAKK3BhcmFtc19waHlzLXkJOj0gMHgwMDAwMDEwMAoraW5pdHJkX3BoeXMteQk6PSAweDAwODAwMDAwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvYWRkci1tYXAuYyBiL2FyY2gvYXJtL21hY2gtbG9raS9hZGRyLW1hcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhMjVlNTYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvYWRkci1tYXAuYwpAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbG9raS9hZGRyLW1hcC5jCisgKgorICogQWRkcmVzcyBtYXAgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKy8qCisgKiBHZW5lcmljIEFkZHJlc3MgRGVjb2RlIFdpbmRvd3MgYml0IHNldHRpbmdzCisgKi8KKyNkZWZpbmUgVEFSR0VUX0REUgkJMAorI2RlZmluZSBUQVJHRVRfREVWX0JVUwkJMQorI2RlZmluZSBUQVJHRVRfUENJRTAJCTMKKyNkZWZpbmUgVEFSR0VUX1BDSUUxCQk0CisjZGVmaW5lIEFUVFJfREVWX0JPT1QJCTB4MGYKKyNkZWZpbmUgQVRUUl9ERVZfQ1MyCQkweDFiCisjZGVmaW5lIEFUVFJfREVWX0NTMQkJMHgxZAorI2RlZmluZSBBVFRSX0RFVl9DUzAJCTB4MWUKKyNkZWZpbmUgQVRUUl9QQ0lFX0lPCQkweDUxCisjZGVmaW5lIEFUVFJfUENJRV9NRU0JCTB4NTkKKworLyoKKyAqIEhlbHBlcnMgdG8gZ2V0IEREUiBiYW5rIGluZm8KKyAqLworI2RlZmluZSBERFJfU0laRV9DUyhuKQkJRERSX1JFRygweDE1MDAgKyAoKG4pIDw8IDMpKQorI2RlZmluZSBERFJfQkFTRV9DUyhuKQkJRERSX1JFRygweDE1MDQgKyAoKG4pIDw8IDMpKQorCisvKgorICogQ1BVIEFkZHJlc3MgRGVjb2RlIFdpbmRvd3MgcmVnaXN0ZXJzCisgKi8KKyNkZWZpbmUgQ1BVX1dJTl9DVFJMKG4pCQlCUklER0VfUkVHKDB4MDAwIHwgKChuKSA8PCA0KSkKKyNkZWZpbmUgQ1BVX1dJTl9CQVNFKG4pCQlCUklER0VfUkVHKDB4MDA0IHwgKChuKSA8PCA0KSkKKyNkZWZpbmUgQ1BVX1dJTl9SRU1BUF9MTyhuKQlCUklER0VfUkVHKDB4MDA4IHwgKChuKSA8PCA0KSkKKyNkZWZpbmUgQ1BVX1dJTl9SRU1BUF9ISShuKQlCUklER0VfUkVHKDB4MDBjIHwgKChuKSA8PCA0KSkKKworCitzdHJ1Y3QgbWJ1c19kcmFtX3RhcmdldF9pbmZvIGxva2lfbWJ1c19kcmFtX2luZm87CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9jcHVfd2luKGludCB3aW4sIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCQkgdTggdGFyZ2V0LCB1OCBhdHRyLCBpbnQgcmVtYXApCit7CisJdTMyIGN0cmw7CisKKwliYXNlICY9IDB4ZmZmZjAwMDA7CisJY3RybCA9ICgoc2l6ZSAtIDEpICYgMHhmZmZmMDAwMCkgfCAoYXR0ciA8PCA4KSB8ICgxIDw8IDUpIHwgdGFyZ2V0OworCisJd3JpdGVsKGJhc2UsIENQVV9XSU5fQkFTRSh3aW4pKTsKKwl3cml0ZWwoY3RybCwgQ1BVX1dJTl9DVFJMKHdpbikpOworCWlmICh3aW4gPCAyKSB7CisJCWlmIChyZW1hcCA8IDApCisJCQlyZW1hcCA9IGJhc2U7CisKKwkJd3JpdGVsKHJlbWFwICYgMHhmZmZmMDAwMCwgQ1BVX1dJTl9SRU1BUF9MTyh3aW4pKTsKKwkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfSEkod2luKSk7CisJfQorfQorCit2b2lkIF9faW5pdCBsb2tpX3NldHVwX2NwdV9tYnVzKHZvaWQpCit7CisJaW50IGk7CisJaW50IGNzOworCisJLyoKKwkgKiBGaXJzdCwgZGlzYWJsZSBhbmQgY2xlYXIgd2luZG93cy4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgODsgaSsrKSB7CisJCXdyaXRlbCgwLCBDUFVfV0lOX0JBU0UoaSkpOworCQl3cml0ZWwoMCwgQ1BVX1dJTl9DVFJMKGkpKTsKKwkJaWYgKGkgPCAyKSB7CisJCQl3cml0ZWwoMCwgQ1BVX1dJTl9SRU1BUF9MTyhpKSk7CisJCQl3cml0ZWwoMCwgQ1BVX1dJTl9SRU1BUF9ISShpKSk7CisJCX0KKwl9CisKKwkvKgorCSAqIFNldHVwIHdpbmRvd3MgZm9yIFBDSWUgSU8rTUVNIHNwYWNlLgorCSAqLworCXNldHVwX2NwdV93aW4oMiwgTE9LSV9QQ0lFMF9NRU1fUEhZU19CQVNFLCBMT0tJX1BDSUUwX01FTV9TSVpFLAorCQkgICAgICBUQVJHRVRfUENJRTAsIEFUVFJfUENJRV9NRU0sIC0xKTsKKwlzZXR1cF9jcHVfd2luKDMsIExPS0lfUENJRTFfTUVNX1BIWVNfQkFTRSwgTE9LSV9QQ0lFMV9NRU1fU0laRSwKKwkJICAgICAgVEFSR0VUX1BDSUUxLCBBVFRSX1BDSUVfTUVNLCAtMSk7CisKKwkvKgorCSAqIFNldHVwIE1CVVMgZHJhbSB0YXJnZXQgaW5mby4KKwkgKi8KKwlsb2tpX21idXNfZHJhbV9pbmZvLm1idXNfZHJhbV90YXJnZXRfaWQgPSBUQVJHRVRfRERSOworCisJZm9yIChpID0gMCwgY3MgPSAwOyBpIDwgNDsgaSsrKSB7CisJCXUzMiBiYXNlID0gcmVhZGwoRERSX0JBU0VfQ1MoaSkpOworCQl1MzIgc2l6ZSA9IHJlYWRsKEREUl9TSVpFX0NTKGkpKTsKKworCQkvKgorCQkgKiBDaGlwIHNlbGVjdCBlbmFibGVkPworCQkgKi8KKwkJaWYgKHNpemUgJiAxKSB7CisJCQlzdHJ1Y3QgbWJ1c19kcmFtX3dpbmRvdyAqdzsKKworCQkJdyA9ICZsb2tpX21idXNfZHJhbV9pbmZvLmNzW2NzKytdOworCQkJdy0+Y3NfaW5kZXggPSBpOworCQkJdy0+bWJ1c19hdHRyID0gMHhmICYgfigxIDw8IGkpOworCQkJdy0+YmFzZSA9IGJhc2UgJiAweGZmZmYwMDAwOworCQkJdy0+c2l6ZSA9IChzaXplIHwgMHgwMDAwZmZmZikgKyAxOworCQl9CisJfQorCWxva2lfbWJ1c19kcmFtX2luZm8ubnVtX2NzID0gY3M7Cit9CisKK3ZvaWQgX19pbml0IGxva2lfc2V0dXBfZGV2X2Jvb3Rfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKK3sKKwlzZXR1cF9jcHVfd2luKDQsIGJhc2UsIHNpemUsIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9CT09ULCAtMSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEwZjUwMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbG9raS9jb21tb24uYwpAQCAtMCwwICsxLDMwNSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbG9raS9jb21tb24uYworICoKKyAqIENvcmUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfODI1MC5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL3RpbWV4Lmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2xva2kuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vdGltZS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEkvTyBBZGRyZXNzIE1hcHBpbmcKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBsb2tpX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwJPSBMT0tJX1JFR1NfVklSVF9CQVNFLAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oTE9LSV9SRUdTX1BIWVNfQkFTRSksCisJCS5sZW5ndGgJCT0gTE9LSV9SRUdTX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LAorfTsKKwordm9pZCBfX2luaXQgbG9raV9tYXBfaW8odm9pZCkKK3sKKwlpb3RhYmxlX2luaXQobG9raV9pb19kZXNjLCBBUlJBWV9TSVpFKGxva2lfaW9fZGVzYykpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBsb2tpX2dlMF9zaGFyZWRfZGF0YSA9IHsKKwkudF9jbGsJCT0gTE9LSV9UQ0xLLAorCS5kcmFtCQk9ICZsb2tpX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsb2tpX2dlMF9zaGFyZWRfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAgYmFzZSIsCisJCS5zdGFydAk9IEdFMF9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTBfUEhZU19CQVNFICsgMHgzZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbG9raV9nZTBfc2hhcmVkID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX1NIQVJFRF9OQU1FLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZsb2tpX2dlMF9zaGFyZWRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBsb2tpX2dlMF9zaGFyZWRfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsb2tpX2dlMF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMCBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTE9LSV9HQkVfQV9JTlQsCisJCS5lbmQJPSBJUlFfTE9LSV9HQkVfQV9JTlQsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsb2tpX2dlMCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9OQU1FLAorCS5pZAkJPSAwLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBsb2tpX2dlMF9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBsb2tpX2dlMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSkKK3sKKwlldGhfZGF0YS0+c2hhcmVkID0gJmxva2lfZ2UwX3NoYXJlZDsKKwlsb2tpX2dlMC5kZXYucGxhdGZvcm1fZGF0YSA9IGV0aF9kYXRhOworCisJd3JpdGVsKDB4MDAwNzkyMjAsIEdFMF9WSVJUX0JBU0UgKyAweDIwYjApOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbG9raV9nZTBfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxva2lfZ2UwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdFMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEgbG9raV9nZTFfc2hhcmVkX2RhdGEgPSB7CisJLnRfY2xrCQk9IExPS0lfVENMSywKKwkuZHJhbQkJPSAmbG9raV9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbG9raV9nZTFfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UxIGJhc2UiLAorCQkuc3RhcnQJPSBHRTFfUEhZU19CQVNFICsgMHgyMDAwLAorCQkuZW5kCT0gR0UxX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxva2lfZ2UxX3NoYXJlZCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9TSEFSRURfTkFNRSwKKwkuaWQJCT0gMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbG9raV9nZTFfc2hhcmVkX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbG9raV9nZTFfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbG9raV9nZTFfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX0xPS0lfR0JFX0JfSU5ULAorCQkuZW5kCT0gSVJRX0xPS0lfR0JFX0JfSU5ULAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbG9raV9nZTEgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfTkFNRSwKKwkuaWQJCT0gMSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbG9raV9nZTFfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbG9raV9nZTFfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZsb2tpX2dlMV9zaGFyZWQ7CisJbG9raV9nZTEuZGV2LnBsYXRmb3JtX2RhdGEgPSBldGhfZGF0YTsKKworCXdyaXRlbCgweDAwMDc5MjIwLCBHRTFfVklSVF9CQVNFICsgMHgyMGIwKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxva2lfZ2UxX3NoYXJlZCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZsb2tpX2dlMSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBTQVMvU0FUQQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGxva2lfc2FzX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAibXZzYXMwIG1lbSIsCisJCS5zdGFydAk9IFNBUzBfUEhZU19CQVNFLAorCQkuZW5kCT0gU0FTMF9QSFlTX0JBU0UgKyAweDAxZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLm5hbWUJPSAibXZzYXMwIGlycSIsCisJCS5zdGFydAk9IElSUV9MT0tJX1NBU19BLAorCQkuZW5kCT0gSVJRX0xPS0lfU0FTX0EsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sIHsKKwkJLm5hbWUJPSAibXZzYXMxIG1lbSIsCisJCS5zdGFydAk9IFNBUzFfUEhZU19CQVNFLAorCQkuZW5kCT0gU0FTMV9QSFlTX0JBU0UgKyAweDAxZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLm5hbWUJPSAibXZzYXMxIGlycSIsCisJCS5zdGFydAk9IElSUV9MT0tJX1NBU19CLAorCQkuZW5kCT0gSVJRX0xPS0lfU0FTX0IsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsb2tpX3NhcyA9IHsKKwkubmFtZQkJPSAibXZzYXMiLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGxva2lfc2FzX3Jlc291cmNlcyksCisJLnJlc291cmNlCT0gbG9raV9zYXNfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbG9raV9zYXNfaW5pdCh2b2lkKQoreworCXdyaXRlbCgweDgzMDBmNzA3LCBERFJfUkVHKDB4MTQyNCkpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbG9raV9zYXMpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBsb2tpX3VhcnQwX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDBfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDBfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9MT0tJX1VBUlQwLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IExPS0lfVENMSywKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbG9raV91YXJ0MF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9MT0tJX1VBUlQwLAorCQkuZW5kCQk9IElSUV9MT0tJX1VBUlQwLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxva2lfdWFydDAgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IDAsCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IGxva2lfdWFydDBfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBsb2tpX3VhcnQwX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKGxva2lfdWFydDBfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IGxva2lfdWFydDBfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbG9raV91YXJ0MCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IGxva2lfdWFydDFfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMV9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMV9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX0xPS0lfVUFSVDEsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gTE9LSV9UQ0xLLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsb2tpX3VhcnQxX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMV9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX0xPS0lfVUFSVDEsCisJCS5lbmQJCT0gSVJRX0xPS0lfVUFSVDEsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbG9raV91YXJ0MSA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gMSwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gbG9raV91YXJ0MV9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IGxva2lfdWFydDFfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUobG9raV91YXJ0MV9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbG9raV91YXJ0MV9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZsb2tpX3VhcnQxKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRpbWUgaGFuZGxpbmcKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHZvaWQgbG9raV90aW1lcl9pbml0KHZvaWQpCit7CisJb3Jpb25fdGltZV9pbml0KElSUV9MT0tJX0JSSURHRSwgTE9LSV9UQ0xLKTsKK30KKworc3RydWN0IHN5c190aW1lciBsb2tpX3RpbWVyID0geworCS5pbml0ID0gbG9raV90aW1lcl9pbml0LAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBfX2luaXQgbG9raV9pbml0KHZvaWQpCit7CisJcHJpbnRrKEtFUk5fSU5GTyAiTG9raSBJRDogODhSQzg0ODAuIFRDTEs9JWQuXG4iLCBMT0tJX1RDTEspOworCisJbG9raV9zZXR1cF9jcHVfbWJ1cygpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL2NvbW1vbi5oIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2NvbW1vbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MDU0ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbG9raS9jb21tb24uaAorICoKKyAqIENvcmUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FSQ0hfTE9LSV9DT01NT05fSAorI2RlZmluZSBfX0FSQ0hfTE9LSV9DT01NT05fSAorCitzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YTsKKworLyoKKyAqIEJhc2ljIExva2kgaW5pdCBmdW5jdGlvbnMgdXNlZCBlYXJseSBieSBtYWNoaW5lLXNldHVwLgorICovCit2b2lkIGxva2lfbWFwX2lvKHZvaWQpOwordm9pZCBsb2tpX2luaXQodm9pZCk7Cit2b2lkIGxva2lfaW5pdF9pcnEodm9pZCk7CisKK2V4dGVybiBzdHJ1Y3QgbWJ1c19kcmFtX3RhcmdldF9pbmZvIGxva2lfbWJ1c19kcmFtX2luZm87Cit2b2lkIGxva2lfc2V0dXBfY3B1X21idXModm9pZCk7Cit2b2lkIGxva2lfc2V0dXBfZGV2X2Jvb3Rfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSk7CisKK3ZvaWQgbG9raV9nZTBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwordm9pZCBsb2tpX2dlMV9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIGxva2lfc2FzX2luaXQodm9pZCk7Cit2b2lkIGxva2lfdWFydDBfaW5pdCh2b2lkKTsKK3ZvaWQgbG9raV91YXJ0MV9pbml0KHZvaWQpOworCitleHRlcm4gc3RydWN0IHN5c190aW1lciBsb2tpX3RpbWVyOworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sb2tpL2lycS5jIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2lycS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4MzlhZjkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvaXJxLmMKQEAgLTAsMCArMSwyMSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbG9raS9pcnEuYworICoKKyAqIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIElSUSBoYW5kbGluZy4KKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL2lycS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCit2b2lkIF9faW5pdCBsb2tpX2luaXRfaXJxKHZvaWQpCit7CisJb3Jpb25faXJxX2luaXQoMCwgKHZvaWQgX19pb21lbSAqKShJUlFfVklSVF9CQVNFICsgSVJRX01BU0tfT0ZGKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvbGI4OHJjODQ4MC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2xiODhyYzg0ODAtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWI5ZTZlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2xiODhyYzg0ODAtc2V0dXAuYwpAQCAtMCwwICsxLDEwMCBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbG9raS9sYjg4cmM4NDgwLXNldHVwLmMKKyAqCisgKiBNYXJ2ZWxsIExCODhSQzg0ODAgRGV2ZWxvcG1lbnQgQm9hcmQgU2V0dXAKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbG9raS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisjZGVmaW5lIExCODhSQzg0ODBfRkxBU0hfQk9PVF9DU19CQVNFCTB4ZjgwMDAwMDAKKyNkZWZpbmUgTEI4OFJDODQ4MF9GTEFTSF9CT09UX0NTX1NJWkUJU1pfMTI4TQorCisjZGVmaW5lIExCODhSQzg0ODBfTk9SX0JPT1RfQkFTRQkweGZmMDAwMDAwCisjZGVmaW5lIExCODhSQzg0ODBfTk9SX0JPT1RfU0laRQlTWl8xNk0KKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIGxiODhyYzg0ODBfYm9vdF9mbGFzaF9wYXJ0c1tdID0geworCXsKKwkJLm5hbWUJPSAia2VybmVsIiwKKwkJLm9mZnNldAk9IDAsCisJCS5zaXplCT0gU1pfMk0sCisJfSwgeworCQkubmFtZQk9ICJyb290LWZzIiwKKwkJLm9mZnNldAk9IFNaXzJNLAorCQkuc2l6ZQk9IChTWl84TSArIFNaXzRNICsgU1pfMU0pLAorCX0sIHsKKwkJLm5hbWUJPSAidS1ib290IiwKKwkJLm9mZnNldAk9IChTWl84TSArIFNaXzRNICsgU1pfMk0gKyBTWl8xTSksCisJCS5zaXplCT0gU1pfMU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIGxiODhyYzg0ODBfYm9vdF9mbGFzaF9kYXRhID0geworCS5wYXJ0cwkJPSBsYjg4cmM4NDgwX2Jvb3RfZmxhc2hfcGFydHMsCisJLm5yX3BhcnRzCT0gQVJSQVlfU0laRShsYjg4cmM4NDgwX2Jvb3RfZmxhc2hfcGFydHMpLAorCS53aWR0aAkJPSAxLAkvKiA4IGJpdCBidXMgd2lkdGggKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbGI4OHJjODQ4MF9ib290X2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAk9IExCODhSQzg0ODBfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCT0gTEI4OFJDODQ4MF9OT1JfQk9PVF9CQVNFICsgTEI4OFJDODQ4MF9OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxiODhyYzg0ODBfYm9vdF9mbGFzaCA9IHsKKwkubmFtZQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJPSAwLAorCS5kZXYJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmxiODhyYzg0ODBfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9ICZsYjg4cmM4NDgwX2Jvb3RfZmxhc2hfcmVzb3VyY2UsCit9OworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgbGI4OHJjODQ4MF9nZTBfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSAxLAorCS5tYWNfYWRkcgk9IHsgMHgwMCwgMHg1MCwgMHg0MywgMHgxMSwgMHgyMiwgMHgzMyB9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGxiODhyYzg0ODBfaW5pdCh2b2lkKQoreworCS8qCisJICogQmFzaWMgc2V0dXAuIE5lZWRzIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlsb2tpX2luaXQoKTsKKworCWxva2lfZ2UwX2luaXQoJmxiODhyYzg0ODBfZ2UwX2RhdGEpOworCWxva2lfc2FzX2luaXQoKTsKKwlsb2tpX3VhcnQwX2luaXQoKTsKKwlsb2tpX3VhcnQxX2luaXQoKTsKKworCWxva2lfc2V0dXBfZGV2X2Jvb3Rfd2luKExCODhSQzg0ODBfRkxBU0hfQk9PVF9DU19CQVNFLAorCQkJCUxCODhSQzg0ODBfRkxBU0hfQk9PVF9DU19TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxiODhyYzg0ODBfYm9vdF9mbGFzaCk7Cit9CisKK01BQ0hJTkVfU1RBUlQoTEI4OFJDODQ4MCwgIk1hcnZlbGwgTEI4OFJDODQ4MCBEZXZlbG9wbWVudCBCb2FyZCIpCisJLyogTWFpbnRhaW5lcjogS2UgV2VpIDxrZXdlaUBtYXJ2ZWxsLmNvbT4gKi8KKwkucGh5c19pbwk9IExPS0lfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChMT0tJX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gbGI4OHJjODQ4MF9pbml0LAorCS5tYXBfaW8JCT0gbG9raV9tYXBfaW8sCisJLmluaXRfaXJxCT0gbG9raV9pbml0X2lycSwKKwkudGltZXIJCT0gJmxva2lfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODNjYjg2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL0tjb25maWcKQEAgLTAsMCArMSwxMyBAQAoraWYgQVJDSF9NVjc4WFgwCisKK21lbnUgIk1hcnZlbGwgTVY3OHh4MCBJbXBsZW1lbnRhdGlvbnMiCisKK2NvbmZpZyBNQUNIX0RCNzhYMDBfQlAKKwlib29sICJNYXJ2ZWxsIERCLTc4eDAwLUJQIERldmVsb3BtZW50IEJvYXJkIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBEQi03OHgwMC1CUCBEZXZlbG9wbWVudCBCb2FyZC4KKworZW5kbWVudQorCitlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjMTZjMDUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvTWFrZWZpbGUKQEAgLTAsMCArMSwyIEBACitvYmoteQkJCQkrPSBjb21tb24ubyBhZGRyLW1hcC5vIGlycS5vIHBjaWUubworb2JqLSQoQ09ORklHX01BQ0hfREI3OFgwMF9CUCkJKz0gZGI3OHgwMC1icC1zZXR1cC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvTWFrZWZpbGUuYm9vdCBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9NYWtlZmlsZS5ib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MDM5YzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvTWFrZWZpbGUuYm9vdApAQCAtMCwwICsxLDMgQEAKKyAgIHpyZWxhZGRyLXkJOj0gMHgwMDAwODAwMAorcGFyYW1zX3BoeXMteQk6PSAweDAwMDAwMTAwCitpbml0cmRfcGh5cy15CTo9IDB4MDA4MDAwMDAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9hZGRyLW1hcC5jIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2FkZHItbWFwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDAwNGI2NwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9hZGRyLW1hcC5jCkBAIC0wLDAgKzEsMTU2IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2FkZHItbWFwLmMKKyAqCisgKiBBZGRyZXNzIG1hcCBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgTVY3OHh4MCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKy8qCisgKiBHZW5lcmljIEFkZHJlc3MgRGVjb2RlIFdpbmRvd3MgYml0IHNldHRpbmdzCisgKi8KKyNkZWZpbmUgVEFSR0VUX0REUgkJMAorI2RlZmluZSBUQVJHRVRfREVWX0JVUwkJMQorI2RlZmluZSBUQVJHRVRfUENJRTAJCTQKKyNkZWZpbmUgVEFSR0VUX1BDSUUxCQk4CisjZGVmaW5lIFRBUkdFVF9QQ0lFKGkpCQkoKGkpID8gVEFSR0VUX1BDSUUxIDogVEFSR0VUX1BDSUUwKQorI2RlZmluZSBBVFRSX0RFVl9TUElfUk9NCTB4MWYKKyNkZWZpbmUgQVRUUl9ERVZfQk9PVAkJMHgyZgorI2RlZmluZSBBVFRSX0RFVl9DUzMJCTB4MzcKKyNkZWZpbmUgQVRUUl9ERVZfQ1MyCQkweDNiCisjZGVmaW5lIEFUVFJfREVWX0NTMQkJMHgzZAorI2RlZmluZSBBVFRSX0RFVl9DUzAJCTB4M2UKKyNkZWZpbmUgQVRUUl9QQ0lFX0lPKGwpCQkoMHhmMCAmIH4oMHgxMCA8PCAobCkpKQorI2RlZmluZSBBVFRSX1BDSUVfTUVNKGwpCSgweGY4ICYgfigweDEwIDw8IChsKSkpCisKKy8qCisgKiBIZWxwZXJzIHRvIGdldCBERFIgYmFuayBpbmZvCisgKi8KKyNkZWZpbmUgRERSX0JBU0VfQ1NfT0ZGKG4pCSgweDAwMDAgKyAoKG4pIDw8IDMpKQorI2RlZmluZSBERFJfU0laRV9DU19PRkYobikJKDB4MDAwNCArICgobikgPDwgMykpCisKKy8qCisgKiBDUFUgQWRkcmVzcyBEZWNvZGUgV2luZG93cyByZWdpc3RlcnMKKyAqLworI2RlZmluZSBXSU4wX09GRihuKQkJKEJSSURHRV9WSVJUX0JBU0UgKyAweDAwMDAgKyAoKG4pIDw8IDQpKQorI2RlZmluZSBXSU44X09GRihuKQkJKEJSSURHRV9WSVJUX0JBU0UgKyAweDA5MDAgKyAoKChuKSAtIDgpIDw8IDQpKQorI2RlZmluZSBXSU5fQ1RSTF9PRkYJCTB4MDAwMAorI2RlZmluZSBXSU5fQkFTRV9PRkYJCTB4MDAwNAorI2RlZmluZSBXSU5fUkVNQVBfTE9fT0ZGCTB4MDAwOAorI2RlZmluZSBXSU5fUkVNQVBfSElfT0ZGCTB4MDAwYworCisKK3N0cnVjdCBtYnVzX2RyYW1fdGFyZ2V0X2luZm8gbXY3OHh4MF9tYnVzX2RyYW1faW5mbzsKKworc3RhdGljIHZvaWQgX19pbml0IF9faW9tZW0gKndpbl9jZmdfYmFzZShpbnQgd2luKQoreworCS8qCisJICogRmluZCB0aGUgY29udHJvbCByZWdpc3RlciBiYXNlIGFkZHJlc3MgZm9yIHRoaXMgd2luZG93LgorCSAqCisJICogQlJJREdFX1ZJUlRfQkFTRSBwb2ludHMgdG8gdGhlIHJpZ2h0IChDUFUwJ3Mgb3IgQ1BVMSdzKQorCSAqIE1CVVMgYnJpZGdlIGRlcGVuZGluZyBvbiB3aGljaCBDUFUgY29yZSB3ZSdyZSBydW5uaW5nIG9uLAorCSAqIHNvIHdlIGRvbid0IG5lZWQgdG8gdGFrZSB0aGF0IGludG8gYWNjb3VudCBoZXJlLgorCSAqLworCisJcmV0dXJuICh2b2lkIF9faW9tZW0gKikoKHdpbiA8IDgpID8gV0lOMF9PRkYod2luKSA6IFdJTjhfT0ZGKHdpbikpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBjcHVfd2luX2Nhbl9yZW1hcChpbnQgd2luKQoreworCWlmICh3aW4gPCA4KQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfY3B1X3dpbihpbnQgd2luLCB1MzIgYmFzZSwgdTMyIHNpemUsCisJCQkJIHU4IHRhcmdldCwgdTggYXR0ciwgaW50IHJlbWFwKQoreworCXZvaWQgX19pb21lbSAqYWRkciA9IHdpbl9jZmdfYmFzZSh3aW4pOworCXUzMiBjdHJsOworCisJYmFzZSAmPSAweGZmZmYwMDAwOworCWN0cmwgPSAoKHNpemUgLSAxKSAmIDB4ZmZmZjAwMDApIHwgKGF0dHIgPDwgOCkgfCAodGFyZ2V0IDw8IDQpIHwgMTsKKworCXdyaXRlbChiYXNlLCBhZGRyICsgV0lOX0JBU0VfT0ZGKTsKKwl3cml0ZWwoY3RybCwgYWRkciArIFdJTl9DVFJMX09GRik7CisJaWYgKGNwdV93aW5fY2FuX3JlbWFwKHdpbikpIHsKKwkJaWYgKHJlbWFwIDwgMCkKKwkJCXJlbWFwID0gYmFzZTsKKworCQl3cml0ZWwocmVtYXAgJiAweGZmZmYwMDAwLCBhZGRyICsgV0lOX1JFTUFQX0xPX09GRik7CisJCXdyaXRlbCgwLCBhZGRyICsgV0lOX1JFTUFQX0hJX09GRik7CisJfQorfQorCit2b2lkIF9faW5pdCBtdjc4eHgwX3NldHVwX2NwdV9tYnVzKHZvaWQpCit7CisJdm9pZCBfX2lvbWVtICphZGRyOworCWludCBpOworCWludCBjczsKKworCS8qCisJICogRmlyc3QsIGRpc2FibGUgYW5kIGNsZWFyIHdpbmRvd3MuCisJICovCisJZm9yIChpID0gMDsgaSA8IDE0OyBpKyspIHsKKwkJYWRkciA9IHdpbl9jZmdfYmFzZShpKTsKKworCQl3cml0ZWwoMCwgYWRkciArIFdJTl9CQVNFX09GRik7CisJCXdyaXRlbCgwLCBhZGRyICsgV0lOX0NUUkxfT0ZGKTsKKwkJaWYgKGNwdV93aW5fY2FuX3JlbWFwKGkpKSB7CisJCQl3cml0ZWwoMCwgYWRkciArIFdJTl9SRU1BUF9MT19PRkYpOworCQkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fUkVNQVBfSElfT0ZGKTsKKwkJfQorCX0KKworCS8qCisJICogU2V0dXAgTUJVUyBkcmFtIHRhcmdldCBpbmZvLgorCSAqLworCW12Nzh4eDBfbWJ1c19kcmFtX2luZm8ubWJ1c19kcmFtX3RhcmdldF9pZCA9IFRBUkdFVF9ERFI7CisKKwlpZiAobXY3OHh4MF9jb3JlX2luZGV4KCkgPT0gMCkKKwkJYWRkciA9ICh2b2lkIF9faW9tZW0gKilERFJfV0lORE9XX0NQVTBfQkFTRTsKKwllbHNlCisJCWFkZHIgPSAodm9pZCBfX2lvbWVtICopRERSX1dJTkRPV19DUFUxX0JBU0U7CisKKwlmb3IgKGkgPSAwLCBjcyA9IDA7IGkgPCA0OyBpKyspIHsKKwkJdTMyIGJhc2UgPSByZWFkbChhZGRyICsgRERSX0JBU0VfQ1NfT0ZGKGkpKTsKKwkJdTMyIHNpemUgPSByZWFkbChhZGRyICsgRERSX1NJWkVfQ1NfT0ZGKGkpKTsKKworCQkvKgorCQkgKiBDaGlwIHNlbGVjdCBlbmFibGVkPworCQkgKi8KKwkJaWYgKHNpemUgJiAxKSB7CisJCQlzdHJ1Y3QgbWJ1c19kcmFtX3dpbmRvdyAqdzsKKworCQkJdyA9ICZtdjc4eHgwX21idXNfZHJhbV9pbmZvLmNzW2NzKytdOworCQkJdy0+Y3NfaW5kZXggPSBpOworCQkJdy0+bWJ1c19hdHRyID0gMHhmICYgfigxIDw8IGkpOworCQkJdy0+YmFzZSA9IGJhc2UgJiAweGZmZmYwMDAwOworCQkJdy0+c2l6ZSA9IChzaXplIHwgMHgwMDAwZmZmZikgKyAxOworCQl9CisJfQorCW12Nzh4eDBfbWJ1c19kcmFtX2luZm8ubnVtX2NzID0gY3M7Cit9CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfc2V0dXBfcGNpZV9pb193aW4oaW50IHdpbmRvdywgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCSAgICAgIGludCBtYWosIGludCBtaW4pCit7CisJc2V0dXBfY3B1X3dpbih3aW5kb3csIGJhc2UsIHNpemUsIFRBUkdFVF9QQ0lFKG1haiksCisJCSAgICAgIEFUVFJfUENJRV9JTyhtaW4pLCAtMSk7Cit9CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfc2V0dXBfcGNpZV9tZW1fd2luKGludCB3aW5kb3csIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCQkgICAgICAgaW50IG1haiwgaW50IG1pbikKK3sKKwlzZXR1cF9jcHVfd2luKHdpbmRvdywgYmFzZSwgc2l6ZSwgVEFSR0VUX1BDSUUobWFqKSwKKwkJICAgICAgQVRUUl9QQ0lFX01FTShtaW4pLCAtMSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI3YjgzYgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uYwpAQCAtMCwwICsxLDc1NCBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uYworICoKKyAqIENvcmUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIE1WNzh4eDAgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsXzgyNTAuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXY3OHh4MC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vZWhjaS1vcmlvbi5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi90aW1lLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb21tb24gYml0cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitpbnQgbXY3OHh4MF9jb3JlX2luZGV4KHZvaWQpCit7CisJdTMyIGV4dHJhOworCisJLyoKKwkgKiBSZWFkIEV4dHJhIEZlYXR1cmVzIHJlZ2lzdGVyLgorCSAqLworCV9fYXNtX18oIm1yYyBwMTUsIDEsICUwLCBjMTUsIGMxLCAwIiA6ICI9ciIgKGV4dHJhKSk7CisKKwlyZXR1cm4gISEoZXh0cmEgJiAweDAwMDA0MDAwKTsKK30KKworc3RhdGljIGludCBnZXRfaGNsayh2b2lkKQoreworCWludCBoY2xrOworCisJLyoKKwkgKiBIQ0xLIHRpY2sgcmF0ZSBpcyBjb25maWd1cmVkIGJ5IERFVl9EWzc6NV0gcGlucy4KKwkgKi8KKwlzd2l0Y2ggKChyZWFkbChTQU1QTEVfQVRfUkVTRVRfTE9XKSA+PiA1KSAmIDcpIHsKKwljYXNlIDA6CisJCWhjbGsgPSAxNjY2NjY2Njc7CisJCWJyZWFrOworCWNhc2UgMToKKwkJaGNsayA9IDIwMDAwMDAwMDsKKwkJYnJlYWs7CisJY2FzZSAyOgorCQloY2xrID0gMjY2NjY2NjY3OworCQlicmVhazsKKwljYXNlIDM6CisJCWhjbGsgPSAzMzMzMzMzMzM7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJaGNsayA9IDQwMDAwMDAwMDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcGFuaWMoInVua25vd24gSENMSyBQTEwgc2V0dGluZzogJS44eFxuIiwKKwkJCXJlYWRsKFNBTVBMRV9BVF9SRVNFVF9MT1cpKTsKKwl9CisKKwlyZXR1cm4gaGNsazsKK30KKworc3RhdGljIHZvaWQgZ2V0X3BjbGtfbDJjbGsoaW50IGhjbGssIGludCBjb3JlX2luZGV4LCBpbnQgKnBjbGssIGludCAqbDJjbGspCit7CisJdTMyIGNmZzsKKworCS8qCisJICogQ29yZSAjMCBQQ0xLL0wyQ0xLIGlzIGNvbmZpZ3VyZWQgYnkgYml0cyBbMTM6OF0sIGNvcmUgIzEKKwkgKiBQQ0xLL0wyQ0xLIGJ5IGJpdHMgWzE5OjE0XS4KKwkgKi8KKwlpZiAoY29yZV9pbmRleCA9PSAwKSB7CisJCWNmZyA9IChyZWFkbChTQU1QTEVfQVRfUkVTRVRfTE9XKSA+PiA4KSAmIDB4M2Y7CisJfSBlbHNlIHsKKwkJY2ZnID0gKHJlYWRsKFNBTVBMRV9BVF9SRVNFVF9MT1cpID4+IDE0KSAmIDB4M2Y7CisJfQorCisJLyoKKwkgKiBCaXRzIFsxMTo4XSAoWzE3OjE0XSBmb3IgY29yZSAjMSkgY29uZmlndXJlIHRoZSBQQ0xLOkhDTEsKKwkgKiByYXRpbyAoMSwgMS41LCAyLCAyLjUsIDMsIDMuNSwgNCwgNC41LCA1LCA1LjUsIDYpLgorCSAqLworCSpwY2xrID0gKCh1NjQpaGNsayAqICgyICsgKGNmZyAmIDB4ZikpKSA+PiAxOworCisJLyoKKwkgKiBCaXRzIFsxMzoxMl0gKFsxOToxOF0gZm9yIGNvcmUgIzEpIGNvbmZpZ3VyZSB0aGUgUENMSzpMMkNMSworCSAqIHJhdGlvICgxLCAyLCAzKS4KKwkgKi8KKwkqbDJjbGsgPSAqcGNsayAvICgoKGNmZyA+PiA0KSAmIDMpICsgMSk7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X3RjbGsodm9pZCkKK3sKKwlpbnQgdGNsazsKKworCS8qCisJICogVENMSyB0aWNrIHJhdGUgaXMgY29uZmlndXJlZCBieSBERVZfQVsyOjBdIHN0cmFwIHBpbnMuCisJICovCisJc3dpdGNoICgocmVhZGwoU0FNUExFX0FUX1JFU0VUX0hJR0gpID4+IDYpICYgNykgeworCWNhc2UgMToKKwkJdGNsayA9IDE2NjY2NjY2NzsKKwkJYnJlYWs7CisJY2FzZSAzOgorCQl0Y2xrID0gMjAwMDAwMDAwOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlwYW5pYygidW5rbm93biBUQ0xLIFBMTCBzZXR0aW5nOiAlLjh4XG4iLAorCQkJcmVhZGwoU0FNUExFX0FUX1JFU0VUX0hJR0gpKTsKKwl9CisKKwlyZXR1cm4gdGNsazsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEkvTyBBZGRyZXNzIE1hcHBpbmcKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBtdjc4eHgwX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwJPSBNVjc4WFgwX0NPUkVfUkVHU19WSVJUX0JBU0UsCisJCS5wZm4JCT0gMCwKKwkJLmxlbmd0aAkJPSBNVjc4WFgwX0NPUkVfUkVHU19TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwgeworCQkudmlydHVhbAk9IE1WNzhYWDBfUENJRV9JT19WSVJUX0JBU0UoMCksCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihNVjc4WFgwX1BDSUVfSU9fUEhZU19CQVNFKDApKSwKKwkJLmxlbmd0aAkJPSBNVjc4WFgwX1BDSUVfSU9fU0laRSAqIDgsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CisJCS52aXJ0dWFsCT0gTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UpLAorCQkubGVuZ3RoCQk9IE1WNzhYWDBfUkVHU19TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfbWFwX2lvKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBwaHlzOworCisJLyoKKwkgKiBNYXAgdGhlIHJpZ2h0IHNldCBvZiBwZXItY29yZSByZWdpc3RlcnMgZGVwZW5kaW5nIG9uCisJICogd2hpY2ggY29yZSB3ZSBhcmUgcnVubmluZyBvbi4KKwkgKi8KKwlpZiAobXY3OHh4MF9jb3JlX2luZGV4KCkgPT0gMCkgeworCQlwaHlzID0gTVY3OFhYMF9DT1JFMF9SRUdTX1BIWVNfQkFTRTsKKwl9IGVsc2UgeworCQlwaHlzID0gTVY3OFhYMF9DT1JFMV9SRUdTX1BIWVNfQkFTRTsKKwl9CisJbXY3OHh4MF9pb19kZXNjWzBdLnBmbiA9IF9fcGh5c190b19wZm4ocGh5cyk7CisKKwlpb3RhYmxlX2luaXQobXY3OHh4MF9pb19kZXNjLCBBUlJBWV9TSVpFKG12Nzh4eDBfaW9fZGVzYykpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uX2VoY2lfZGF0YSBtdjc4eHgwX2VoY2lfZGF0YSA9IHsKKwkuZHJhbQkJPSAmbXY3OHh4MF9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyB1NjQgZWhjaV9kbWFtYXNrID0gMHhmZmZmZmZmZlVMOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSTAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2VoY2kwX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gVVNCMF9QSFlTX0JBU0UsCisJCS5lbmQJPSBVU0IwX1BIWVNfQkFTRSArIDB4MGZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9VU0JfMCwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX1VTQl8wLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9laGNpMCA9IHsKKwkubmFtZQkJPSAib3Jpb24tZWhjaSIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5kbWFfbWFzawkJPSAmZWhjaV9kbWFtYXNrLAorCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAorCQkucGxhdGZvcm1fZGF0YQkJPSAmbXY3OHh4MF9laGNpX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2VoY2kwX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUobXY3OHh4MF9laGNpMF9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9laGNpMF9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2VoY2kwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVIQ0kxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9laGNpMV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAk9IFVTQjFfUEhZU19CQVNFLAorCQkuZW5kCT0gVVNCMV9QSFlTX0JBU0UgKyAweDBmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CT0gSVJRX01WNzhYWDBfVVNCXzEsCisJCS5lbmQJPSBJUlFfTVY3OFhYMF9VU0JfMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZWhjaTEgPSB7CisJLm5hbWUJCT0gIm9yaW9uLWVoY2kiLAorCS5pZAkJPSAxLAorCS5kZXYJCT0geworCQkuZG1hX21hc2sJCT0gJmVoY2lfZG1hbWFzaywKKwkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKKwkJLnBsYXRmb3JtX2RhdGEJCT0gJm12Nzh4eDBfZWhjaV9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gbXY3OHh4MF9laGNpMV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG12Nzh4eDBfZWhjaTFfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfZWhjaTFfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9laGNpMSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJMgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZWhjaTJfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBVU0IyX1BIWVNfQkFTRSwKKwkJLmVuZAk9IFVTQjJfUEhZU19CQVNFICsgMHgwZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAk9IElSUV9NVjc4WFgwX1VTQl8yLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfVVNCXzIsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2VoY2kyID0geworCS5uYW1lCQk9ICJvcmlvbi1laGNpIiwKKwkuaWQJCT0gMiwKKwkuZGV2CQk9IHsKKwkJLmRtYV9tYXNrCQk9ICZlaGNpX2RtYW1hc2ssCisJCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCisJCS5wbGF0Zm9ybV9kYXRhCQk9ICZtdjc4eHgwX2VoY2lfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZWhjaTJfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShtdjc4eHgwX2VoY2kyX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX2VoY2kyX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZWhjaTIpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UwMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEgbXY3OHh4MF9nZTAwX3NoYXJlZF9kYXRhID0geworCS50X2NsawkJPSAwLAorCS5kcmFtCQk9ICZtdjc4eHgwX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMDBfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwMCBiYXNlIiwKKwkJLnN0YXJ0CT0gR0UwMF9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTAwX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UwMF9zaGFyZWQgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfU0hBUkVEX05BTUUsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12Nzh4eDBfZ2UwMF9zaGFyZWRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMDBfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTAwX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwMCBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9HRTAwX1NVTSwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX0dFMDBfU1VNLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTAwID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX05BTUUsCisJLmlkCQk9IDAsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UwMF9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX2dlMDBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZtdjc4eHgwX2dlMDBfc2hhcmVkOworCW12Nzh4eDBfZ2UwMC5kZXYucGxhdGZvcm1fZGF0YSA9IGV0aF9kYXRhOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMDBfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UwMCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHRTAxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBtdjc4eHgwX2dlMDFfc2hhcmVkX2RhdGEgPSB7CisJLnRfY2xrCQk9IDAsCisJLmRyYW0JCT0gJm12Nzh4eDBfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZ2UwMV9zaGFyZWRfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAxIGJhc2UiLAorCQkuc3RhcnQJPSBHRTAxX1BIWVNfQkFTRSArIDB4MjAwMCwKKwkJLmVuZAk9IEdFMDFfUEhZU19CQVNFICsgMHgzZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTAxX3NoYXJlZCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9TSEFSRURfTkFNRSwKKwkuaWQJCT0gMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXY3OHh4MF9nZTAxX3NoYXJlZF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UwMV9zaGFyZWRfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMDFfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAxIGlycSIsCisJCS5zdGFydAk9IElSUV9NVjc4WFgwX0dFMDFfU1VNLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfR0UwMV9TVU0sCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2dlMDEgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfTkFNRSwKKwkuaWQJCT0gMSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbXY3OHh4MF9nZTAxX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfZ2UwMV9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSkKK3sKKwlldGhfZGF0YS0+c2hhcmVkID0gJm12Nzh4eDBfZ2UwMV9zaGFyZWQ7CisJZXRoX2RhdGEtPnNoYXJlZF9zbWkgPSAmbXY3OHh4MF9nZTAwX3NoYXJlZDsKKwltdjc4eHgwX2dlMDEuZGV2LnBsYXRmb3JtX2RhdGEgPSBldGhfZGF0YTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9nZTAxX3NoYXJlZCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMDEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UxMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEgbXY3OHh4MF9nZTEwX3NoYXJlZF9kYXRhID0geworCS50X2NsawkJPSAwLAorCS5kcmFtCQk9ICZtdjc4eHgwX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMTBfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UxMCBiYXNlIiwKKwkJLnN0YXJ0CT0gR0UxMF9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTEwX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UxMF9zaGFyZWQgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfU0hBUkVEX05BTUUsCisJLmlkCQk9IDIsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12Nzh4eDBfZ2UxMF9zaGFyZWRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMTBfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTEwX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UxMCBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9HRTEwX1NVTSwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX0dFMTBfU1VNLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTEwID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX05BTUUsCisJLmlkCQk9IDIsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UxMF9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX2dlMTBfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZtdjc4eHgwX2dlMTBfc2hhcmVkOworCWV0aF9kYXRhLT5zaGFyZWRfc21pID0gJm12Nzh4eDBfZ2UwMF9zaGFyZWQ7CisJbXY3OHh4MF9nZTEwLmRldi5wbGF0Zm9ybV9kYXRhID0gZXRoX2RhdGE7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UxMF9zaGFyZWQpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9nZTEwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdFMTEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RydWN0IG12NjQzeHhfZXRoX3NoYXJlZF9wbGF0Zm9ybV9kYXRhIG12Nzh4eDBfZ2UxMV9zaGFyZWRfZGF0YSA9IHsKKwkudF9jbGsJCT0gMCwKKwkuZHJhbQkJPSAmbXY3OHh4MF9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTExX3NoYXJlZF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMTEgYmFzZSIsCisJCS5zdGFydAk9IEdFMTFfUEhZU19CQVNFICsgMHgyMDAwLAorCQkuZW5kCT0gR0UxMV9QSFlTX0JBU0UgKyAweDNmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2dlMTFfc2hhcmVkID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX1NIQVJFRF9OQU1FLAorCS5pZAkJPSAzLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZtdjc4eHgwX2dlMTFfc2hhcmVkX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbXY3OHh4MF9nZTExX3NoYXJlZF9yZXNvdXJjZXMsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZ2UxMV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMTEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX01WNzhYWDBfR0UxMV9TVU0sCisJCS5lbmQJPSBJUlFfTVY3OFhYMF9HRTExX1NVTSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UxMSA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9OQU1FLAorCS5pZAkJPSAzLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMTFfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9nZTExX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKQoreworCWV0aF9kYXRhLT5zaGFyZWQgPSAmbXY3OHh4MF9nZTExX3NoYXJlZDsKKwlldGhfZGF0YS0+c2hhcmVkX3NtaSA9ICZtdjc4eHgwX2dlMDBfc2hhcmVkOworCW12Nzh4eDBfZ2UxMS5kZXYucGxhdGZvcm1fZGF0YSA9IGV0aF9kYXRhOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMTFfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UxMSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBTQVRBCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9zYXRhX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAic2F0YSBiYXNlIiwKKwkJLnN0YXJ0CT0gU0FUQV9QSFlTX0JBU0UsCisJCS5lbmQJPSBTQVRBX1BIWVNfQkFTRSArIDB4NTAwMCAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLm5hbWUJPSAic2F0YSBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9TQVRBLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfU0FUQSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfc2F0YSA9IHsKKwkubmFtZQkJPSAic2F0YV9tdiIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUobXY3OHh4MF9zYXRhX3Jlc291cmNlcyksCisJLnJlc291cmNlCT0gbXY3OHh4MF9zYXRhX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSkKK3sKKwlzYXRhX2RhdGEtPmRyYW0gPSAmbXY3OHh4MF9tYnVzX2RyYW1faW5mbzsKKwltdjc4eHgwX3NhdGEuZGV2LnBsYXRmb3JtX2RhdGEgPSBzYXRhX2RhdGE7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX3NhdGEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBtdjc4eHgwX3VhcnQwX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDBfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDBfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9NVjc4WFgwX1VBUlRfMCwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSAwLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX3VhcnQwX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQwX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMF9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX01WNzhYWDBfVUFSVF8wLAorCQkuZW5kCQk9IElSUV9NVjc4WFgwX1VBUlRfMCwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX3VhcnQwID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBtdjc4eHgwX3VhcnQwX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gbXY3OHh4MF91YXJ0MF9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShtdjc4eHgwX3VhcnQwX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX3VhcnQwX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfdWFydDApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBtdjc4eHgwX3VhcnQxX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDFfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDFfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9NVjc4WFgwX1VBUlRfMSwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSAwLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX3VhcnQxX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMV9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX01WNzhYWDBfVUFSVF8xLAorCQkuZW5kCQk9IElSUV9NVjc4WFgwX1VBUlRfMSwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX3VhcnQxID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAxLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBtdjc4eHgwX3VhcnQxX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gbXY3OHh4MF91YXJ0MV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShtdjc4eHgwX3VhcnQxX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX3VhcnQxX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfdWFydDEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDIKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBtdjc4eHgwX3VhcnQyX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDJfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDJfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9NVjc4WFgwX1VBUlRfMiwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSAwLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX3VhcnQyX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQyX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMl9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX01WNzhYWDBfVUFSVF8yLAorCQkuZW5kCQk9IElSUV9NVjc4WFgwX1VBUlRfMiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX3VhcnQyID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAyLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBtdjc4eHgwX3VhcnQyX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gbXY3OHh4MF91YXJ0Ml9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShtdjc4eHgwX3VhcnQyX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX3VhcnQyX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfdWFydDIpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBtdjc4eHgwX3VhcnQzX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDNfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDNfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9NVjc4WFgwX1VBUlRfMywKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSAwLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX3VhcnQzX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQzX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUM19QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX01WNzhYWDBfVUFSVF8zLAorCQkuZW5kCQk9IElSUV9NVjc4WFgwX1VBUlRfMywKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX3VhcnQzID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAzLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBtdjc4eHgwX3VhcnQzX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gbXY3OHh4MF91YXJ0M19yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShtdjc4eHgwX3VhcnQzX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX3VhcnQzX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfdWFydDMpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGltZSBoYW5kbGluZworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCBtdjc4eHgwX3RpbWVyX2luaXQodm9pZCkKK3sKKwlvcmlvbl90aW1lX2luaXQoSVJRX01WNzhYWDBfVElNRVJfMSwgZ2V0X3RjbGsoKSk7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgbXY3OHh4MF90aW1lciA9IHsKKwkuaW5pdCA9IG12Nzh4eDBfdGltZXJfaW5pdCwKK307CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHZW5lcmFsCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBpbnQgX19pbml0IGlzX2wyX3dyaXRldGhyb3VnaCh2b2lkKQoreworCXJldHVybiAhIShyZWFkbChDUFVfQ09OVFJPTCkgJiBMMl9XUklURVRIUk9VR0gpOworfQorCit2b2lkIF9faW5pdCBtdjc4eHgwX2luaXQodm9pZCkKK3sKKwlpbnQgY29yZV9pbmRleDsKKwlpbnQgaGNsazsKKwlpbnQgcGNsazsKKwlpbnQgbDJjbGs7CisJaW50IHRjbGs7CisKKwljb3JlX2luZGV4ID0gbXY3OHh4MF9jb3JlX2luZGV4KCk7CisJaGNsayA9IGdldF9oY2xrKCk7CisJZ2V0X3BjbGtfbDJjbGsoaGNsaywgY29yZV9pbmRleCwgJnBjbGssICZsMmNsayk7CisJdGNsayA9IGdldF90Y2xrKCk7CisKKwlwcmludGsoS0VSTl9JTkZPICJNVjc4eHgwIGNvcmUgIyVkLCAiLCBjb3JlX2luZGV4KTsKKwlwcmludGsoIlBDTEsgPSAlZE1IeiwgIiwgKHBjbGsgKyA0OTk5OTkpIC8gMTAwMDAwMCk7CisJcHJpbnRrKCJMMiA9ICVkTUh6LCAiLCAobDJjbGsgKyA0OTk5OTkpIC8gMTAwMDAwMCk7CisJcHJpbnRrKCJIQ0xLID0gJWRNSHosICIsIChoY2xrICsgNDk5OTk5KSAvIDEwMDAwMDApOworCXByaW50aygiVENMSyA9ICVkTUh6XG4iLCAodGNsayArIDQ5OTk5OSkgLyAxMDAwMDAwKTsKKworCW12Nzh4eDBfc2V0dXBfY3B1X21idXMoKTsKKworI2lmZGVmIENPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMgorCWZlcm9jZW9uX2wyX2luaXQoaXNfbDJfd3JpdGV0aHJvdWdoKCkpOworI2VuZGlmCisKKwltdjc4eHgwX2dlMDBfc2hhcmVkX2RhdGEudF9jbGsgPSB0Y2xrOworCW12Nzh4eDBfZ2UwMV9zaGFyZWRfZGF0YS50X2NsayA9IHRjbGs7CisJbXY3OHh4MF9nZTEwX3NoYXJlZF9kYXRhLnRfY2xrID0gdGNsazsKKwltdjc4eHgwX2dlMTFfc2hhcmVkX2RhdGEudF9jbGsgPSB0Y2xrOworCW12Nzh4eDBfdWFydDBfZGF0YVswXS51YXJ0Y2xrID0gdGNsazsKKwltdjc4eHgwX3VhcnQxX2RhdGFbMF0udWFydGNsayA9IHRjbGs7CisJbXY3OHh4MF91YXJ0Ml9kYXRhWzBdLnVhcnRjbGsgPSB0Y2xrOworCW12Nzh4eDBfdWFydDNfZGF0YVswXS51YXJ0Y2xrID0gdGNsazsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uaCBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGFmNWRlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2NvbW1vbi5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmgKKyAqCisgKiBDb3JlIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBNVjc4eHgwIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVJDSF9NVjc4WFgwX0NPTU1PTl9ICisjZGVmaW5lIF9fQVJDSF9NVjc4WFgwX0NPTU1PTl9ICisKK3N0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhOworc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YTsKKworLyoKKyAqIEJhc2ljIE1WNzh4eDAgaW5pdCBmdW5jdGlvbnMgdXNlZCBlYXJseSBieSBtYWNoaW5lLXNldHVwLgorICovCitpbnQgbXY3OHh4MF9jb3JlX2luZGV4KHZvaWQpOwordm9pZCBtdjc4eHgwX21hcF9pbyh2b2lkKTsKK3ZvaWQgbXY3OHh4MF9pbml0KHZvaWQpOwordm9pZCBtdjc4eHgwX2luaXRfaXJxKHZvaWQpOworCitleHRlcm4gc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBtdjc4eHgwX21idXNfZHJhbV9pbmZvOwordm9pZCBtdjc4eHgwX3NldHVwX2NwdV9tYnVzKHZvaWQpOwordm9pZCBtdjc4eHgwX3NldHVwX3BjaWVfaW9fd2luKGludCB3aW5kb3csIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCSAgICAgICBpbnQgbWFqLCBpbnQgbWluKTsKK3ZvaWQgbXY3OHh4MF9zZXR1cF9wY2llX21lbV93aW4oaW50IHdpbmRvdywgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCWludCBtYWosIGludCBtaW4pOworCit2b2lkIG12Nzh4eDBfZWhjaTBfaW5pdCh2b2lkKTsKK3ZvaWQgbXY3OHh4MF9laGNpMV9pbml0KHZvaWQpOwordm9pZCBtdjc4eHgwX2VoY2kyX2luaXQodm9pZCk7Cit2b2lkIG12Nzh4eDBfZ2UwMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG12Nzh4eDBfZ2UwMV9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG12Nzh4eDBfZ2UxMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG12Nzh4eDBfZ2UxMV9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG12Nzh4eDBfcGNpZV9pbml0KGludCBpbml0X3BvcnQwLCBpbnQgaW5pdF9wb3J0MSk7Cit2b2lkIG12Nzh4eDBfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSk7Cit2b2lkIG12Nzh4eDBfdWFydDBfaW5pdCh2b2lkKTsKK3ZvaWQgbXY3OHh4MF91YXJ0MV9pbml0KHZvaWQpOwordm9pZCBtdjc4eHgwX3VhcnQyX2luaXQodm9pZCk7Cit2b2lkIG12Nzh4eDBfdWFydDNfaW5pdCh2b2lkKTsKKworZXh0ZXJuIHN0cnVjdCBzeXNfdGltZXIgbXY3OHh4MF90aW1lcjsKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9kYjc4eDAwLWJwLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvZGI3OHgwMC1icC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOTNkMTkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvZGI3OHgwMC1icC1zZXR1cC5jCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW12Nzh4eDAvZGI3OHgwMC1icC1zZXR1cC5jCisgKgorICogTWFydmVsbCBEQi03OHgwMC1CUCBEZXZlbG9wbWVudCBCb2FyZCBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBkYjc4eDAwX2dlMDBfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSA4LAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIGRiNzh4MDBfZ2UwMV9kYXRhID0geworCS5waHlfYWRkcgk9IDksCit9OworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI3OHgwMF9nZTEwX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI3OHgwMF9nZTExX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBkYjc4eDAwX3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZGI3OHgwMF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBCYXNpYyBNVjc4eHgwIHNldHVwLiBOZWVkcyB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJbXY3OHh4MF9pbml0KCk7CisKKwkvKgorCSAqIFBhcnRpdGlvbiBvbi1jaGlwIHBlcmlwaGVyYWxzIGJldHdlZW4gdGhlIHR3byBDUFUgY29yZXMuCisJICovCisJaWYgKG12Nzh4eDBfY29yZV9pbmRleCgpID09IDApIHsKKwkJbXY3OHh4MF9laGNpMF9pbml0KCk7CisJCW12Nzh4eDBfZWhjaTFfaW5pdCgpOworCQltdjc4eHgwX2VoY2kyX2luaXQoKTsKKwkJbXY3OHh4MF9nZTAwX2luaXQoJmRiNzh4MDBfZ2UwMF9kYXRhKTsKKwkJbXY3OHh4MF9nZTAxX2luaXQoJmRiNzh4MDBfZ2UwMV9kYXRhKTsKKwkJbXY3OHh4MF9nZTEwX2luaXQoJmRiNzh4MDBfZ2UxMF9kYXRhKTsKKwkJbXY3OHh4MF9nZTExX2luaXQoJmRiNzh4MDBfZ2UxMV9kYXRhKTsKKwkJbXY3OHh4MF9zYXRhX2luaXQoJmRiNzh4MDBfc2F0YV9kYXRhKTsKKwkJbXY3OHh4MF91YXJ0MF9pbml0KCk7CisJCW12Nzh4eDBfdWFydDJfaW5pdCgpOworCX0gZWxzZSB7CisJCW12Nzh4eDBfdWFydDFfaW5pdCgpOworCQltdjc4eHgwX3VhcnQzX2luaXQoKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGRiNzh4MDBfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19kYjc4eDAwX2JwKCkpIHsKKwkJLyoKKwkJICogQXNzaWduIHRoZSB4MTYgUENJZSBzbG90IG9uIHRoZSBib2FyZCB0byBDUFUgY29yZQorCQkgKiAjMCwgYW5kIGxldCBDUFUgY29yZSAjMSBoYXZlIHRoZSBmb3VyIHgxIHNsb3RzLgorCQkgKi8KKwkJaWYgKG12Nzh4eDBfY29yZV9pbmRleCgpID09IDApCisJCQltdjc4eHgwX3BjaWVfaW5pdCgwLCAxKTsKKwkJZWxzZQorCQkJbXY3OHh4MF9wY2llX2luaXQoMSwgMCk7CisJfQorCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwoZGI3OHgwMF9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoREI3OFgwMF9CUCwgIk1hcnZlbGwgREItNzh4MDAtQlAgRGV2ZWxvcG1lbnQgQm9hcmQiKQorCS8qIE1haW50YWluZXI6IExlbm5lcnQgQnV5dGVuaGVrIDxidXl0ZW5oQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSBkYjc4eDAwX2luaXQsCisJLm1hcF9pbwkJPSBtdjc4eHgwX21hcF9pbywKKwkuaW5pdF9pcnEJPSBtdjc4eHgwX2luaXRfaXJxLAorCS50aW1lcgkJPSAmbXY3OHh4MF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvaXJxLmMgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvaXJxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBmNGVlNAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9pcnEuYwpAQCAtMCwwICsxLDIyIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2lycS5jCisgKgorICogTVY3OHh4MCBJUlEgaGFuZGxpbmcuCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vaXJxLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKK3ZvaWQgX19pbml0IG12Nzh4eDBfaW5pdF9pcnEodm9pZCkKK3sKKwlvcmlvbl9pcnFfaW5pdCgwLCAodm9pZCBfX2lvbWVtICopKElSUV9WSVJUX0JBU0UgKyBJUlFfTUFTS19MT1dfT0ZGKSk7CisJb3Jpb25faXJxX2luaXQoMzIsICh2b2lkIF9faW9tZW0gKikoSVJRX1ZJUlRfQkFTRSArIElSUV9NQVNLX0hJR0hfT0ZGKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvcGNpZS5jIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL3BjaWUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzhlMTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL3BjaWUuYwpAQCAtMCwwICsxLDMxMiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbXY3OHh4MC9wY2llLmMKKyAqCisgKiBQQ0llIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBNVjc4eHgwIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvbWJ1cy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL3BjaWUuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworc3RydWN0IHBjaWVfcG9ydCB7CisJdTgJCQltYWo7CisJdTgJCQltaW47CisJdTgJCQlyb290X2J1c19ucjsKKwl2b2lkIF9faW9tZW0JCSpiYXNlOworCXNwaW5sb2NrX3QJCWNvbmZfbG9jazsKKwljaGFyCQkJaW9fc3BhY2VfbmFtZVsxNl07CisJY2hhcgkJCW1lbV9zcGFjZV9uYW1lWzE2XTsKKwlzdHJ1Y3QgcmVzb3VyY2UJCXJlc1syXTsKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGNpZV9wb3J0IHBjaWVfcG9ydFs4XTsKK3N0YXRpYyBpbnQgbnVtX3BjaWVfcG9ydHM7CitzdGF0aWMgc3RydWN0IHJlc291cmNlIHBjaWVfaW9fc3BhY2U7CitzdGF0aWMgc3RydWN0IHJlc291cmNlIHBjaWVfbWVtX3NwYWNlOworCisKK3N0YXRpYyB2b2lkIF9faW5pdCBtdjc4eHgwX3BjaWVfcHJlaW5pdCh2b2lkKQoreworCWludCBpOworCXUzMiBzaXplX2VhY2g7CisJdTMyIHN0YXJ0OworCWludCB3aW47CisKKwlwY2llX2lvX3NwYWNlLm5hbWUgPSAiUENJZSBJL08gU3BhY2UiOworCXBjaWVfaW9fc3BhY2Uuc3RhcnQgPSBNVjc4WFgwX1BDSUVfSU9fUEhZU19CQVNFKDApOworCXBjaWVfaW9fc3BhY2UuZW5kID0KKwkJTVY3OFhYMF9QQ0lFX0lPX1BIWVNfQkFTRSgwKSArIE1WNzhYWDBfUENJRV9JT19TSVpFICogOCAtIDE7CisJcGNpZV9pb19zcGFjZS5mbGFncyA9IElPUkVTT1VSQ0VfSU87CisJaWYgKHJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmcGNpZV9pb19zcGFjZSkpCisJCXBhbmljKCJjYW4ndCBhbGxvY2F0ZSBQQ0llIEkvTyBzcGFjZSIpOworCisJcGNpZV9tZW1fc3BhY2UubmFtZSA9ICJQQ0llIE1FTSBTcGFjZSI7CisJcGNpZV9tZW1fc3BhY2Uuc3RhcnQgPSBNVjc4WFgwX1BDSUVfTUVNX1BIWVNfQkFTRTsKKwlwY2llX21lbV9zcGFjZS5lbmQgPQorCQlNVjc4WFgwX1BDSUVfTUVNX1BIWVNfQkFTRSArIE1WNzhYWDBfUENJRV9NRU1fU0laRSAtIDE7CisJcGNpZV9tZW1fc3BhY2UuZmxhZ3MgPSBJT1JFU09VUkNFX01FTTsKKwlpZiAocmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZwY2llX21lbV9zcGFjZSkpCisJCXBhbmljKCJjYW4ndCBhbGxvY2F0ZSBQQ0llIE1FTSBzcGFjZSIpOworCisJZm9yIChpID0gMDsgaSA8IG51bV9wY2llX3BvcnRzOyBpKyspIHsKKwkJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSBwY2llX3BvcnQgKyBpOworCisJCXNucHJpbnRmKHBwLT5pb19zcGFjZV9uYW1lLCBzaXplb2YocHAtPmlvX3NwYWNlX25hbWUpLAorCQkJIlBDSWUgJWQuJWQgSS9PIiwgcHAtPm1haiwgcHAtPm1pbik7CisJCXBwLT5pb19zcGFjZV9uYW1lW3NpemVvZihwcC0+aW9fc3BhY2VfbmFtZSkgLSAxXSA9IDA7CisJCXBwLT5yZXNbMF0ubmFtZSA9IHBwLT5pb19zcGFjZV9uYW1lOworCQlwcC0+cmVzWzBdLnN0YXJ0ID0gTVY3OFhYMF9QQ0lFX0lPX1BIWVNfQkFTRShpKTsKKwkJcHAtPnJlc1swXS5lbmQgPSBwcC0+cmVzWzBdLnN0YXJ0ICsgTVY3OFhYMF9QQ0lFX0lPX1NJWkUgLSAxOworCQlwcC0+cmVzWzBdLmZsYWdzID0gSU9SRVNPVVJDRV9JTzsKKworCQlzbnByaW50ZihwcC0+bWVtX3NwYWNlX25hbWUsIHNpemVvZihwcC0+bWVtX3NwYWNlX25hbWUpLAorCQkJIlBDSWUgJWQuJWQgTUVNIiwgcHAtPm1haiwgcHAtPm1pbik7CisJCXBwLT5tZW1fc3BhY2VfbmFtZVtzaXplb2YocHAtPm1lbV9zcGFjZV9uYW1lKSAtIDFdID0gMDsKKwkJcHAtPnJlc1sxXS5uYW1lID0gcHAtPm1lbV9zcGFjZV9uYW1lOworCQlwcC0+cmVzWzFdLmZsYWdzID0gSU9SRVNPVVJDRV9NRU07CisJfQorCisJc3dpdGNoIChudW1fcGNpZV9wb3J0cykgeworCWNhc2UgMDoKKwkJc2l6ZV9lYWNoID0gMDsKKwkJYnJlYWs7CisKKwljYXNlIDE6CisJCXNpemVfZWFjaCA9IDB4MzAwMDAwMDA7CisJCWJyZWFrOworCisJY2FzZSAyIC4uLiAzOgorCQlzaXplX2VhY2ggPSAweDEwMDAwMDAwOworCQlicmVhazsKKworCWNhc2UgNCAuLi4gNjoKKwkJc2l6ZV9lYWNoID0gMHgwODAwMDAwMDsKKwkJYnJlYWs7CisKKwljYXNlIDc6CisJCXNpemVfZWFjaCA9IDB4MDQwMDAwMDA7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcGFuaWMoImludmFsaWQgbnVtYmVyIG9mIFBDSWUgcG9ydHMiKTsKKwl9CisKKwlzdGFydCA9IE1WNzhYWDBfUENJRV9NRU1fUEhZU19CQVNFOworCWZvciAoaSA9IDA7IGkgPCBudW1fcGNpZV9wb3J0czsgaSsrKSB7CisJCXN0cnVjdCBwY2llX3BvcnQgKnBwID0gcGNpZV9wb3J0ICsgaTsKKworCQlwcC0+cmVzWzFdLnN0YXJ0ID0gc3RhcnQ7CisJCXBwLT5yZXNbMV0uZW5kID0gc3RhcnQgKyBzaXplX2VhY2ggLSAxOworCQlzdGFydCArPSBzaXplX2VhY2g7CisJfQorCisJZm9yIChpID0gMDsgaSA8IG51bV9wY2llX3BvcnRzOyBpKyspIHsKKwkJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSBwY2llX3BvcnQgKyBpOworCisJCWlmIChyZXF1ZXN0X3Jlc291cmNlKCZwY2llX2lvX3NwYWNlLCAmcHAtPnJlc1swXSkpCisJCQlwYW5pYygiY2FuJ3QgYWxsb2NhdGUgUENJZSBJL08gc3ViLXNwYWNlIik7CisKKwkJaWYgKHJlcXVlc3RfcmVzb3VyY2UoJnBjaWVfbWVtX3NwYWNlLCAmcHAtPnJlc1sxXSkpCisJCQlwYW5pYygiY2FuJ3QgYWxsb2NhdGUgUENJZSBNRU0gc3ViLXNwYWNlIik7CisJfQorCisJd2luID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3BjaWVfcG9ydHM7IGkrKykgeworCQlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9IHBjaWVfcG9ydCArIGk7CisKKwkJbXY3OHh4MF9zZXR1cF9wY2llX2lvX3dpbih3aW4rKywgcHAtPnJlc1swXS5zdGFydCwKKwkJCXBwLT5yZXNbMF0uZW5kIC0gcHAtPnJlc1swXS5zdGFydCArIDEsCisJCQlwcC0+bWFqLCBwcC0+bWluKTsKKworCQltdjc4eHgwX3NldHVwX3BjaWVfbWVtX3dpbih3aW4rKywgcHAtPnJlc1sxXS5zdGFydCwKKwkJCXBwLT5yZXNbMV0uZW5kIC0gcHAtPnJlc1sxXS5zdGFydCArIDEsCisJCQlwcC0+bWFqLCBwcC0+bWluKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG12Nzh4eDBfcGNpZV9zZXR1cChpbnQgbnIsIHN0cnVjdCBwY2lfc3lzX2RhdGEgKnN5cykKK3sKKwlzdHJ1Y3QgcGNpZV9wb3J0ICpwcDsKKworCWlmIChuciA+PSBudW1fcGNpZV9wb3J0cykKKwkJcmV0dXJuIDA7CisKKwlwcCA9ICZwY2llX3BvcnRbbnJdOworCXBwLT5yb290X2J1c19uciA9IHN5cy0+YnVzbnI7CisKKwkvKgorCSAqIEdlbmVyaWMgUENJZSB1bml0IHNldHVwLgorCSAqLworCW9yaW9uX3BjaWVfc2V0X2xvY2FsX2J1c19ucihwcC0+YmFzZSwgc3lzLT5idXNucik7CisJb3Jpb25fcGNpZV9zZXR1cChwcC0+YmFzZSwgJm12Nzh4eDBfbWJ1c19kcmFtX2luZm8pOworCisJc3lzLT5yZXNvdXJjZVswXSA9ICZwcC0+cmVzWzBdOworCXN5cy0+cmVzb3VyY2VbMV0gPSAmcHAtPnJlc1sxXTsKKwlzeXMtPnJlc291cmNlWzJdID0gTlVMTDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgc3RydWN0IHBjaWVfcG9ydCAqYnVzX3RvX3BvcnQoaW50IGJ1cykKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IG51bV9wY2llX3BvcnRzIC0gMTsgaSA+PSAwOyBpLS0pIHsKKwkJaW50IHJidXMgPSBwY2llX3BvcnRbaV0ucm9vdF9idXNfbnI7CisJCWlmIChyYnVzICE9IC0xICYmIHJidXMgPD0gYnVzKQorCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIGkgPj0gMCA/IHBjaWVfcG9ydCArIGkgOiBOVUxMOworfQorCitzdGF0aWMgaW50IHBjaWVfdmFsaWRfY29uZmlnKHN0cnVjdCBwY2llX3BvcnQgKnBwLCBpbnQgYnVzLCBpbnQgZGV2KQoreworCS8qCisJICogRG9uJ3QgZ28gb3V0IHdoZW4gdHJ5aW5nIHRvIGFjY2VzcyBub25leGlzdGluZyBkZXZpY2VzCisJICogb24gdGhlIGxvY2FsIGJ1cy4KKwkgKi8KKwlpZiAoYnVzID09IHBwLT5yb290X2J1c19uciAmJiBkZXYgPiAxKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHBjaWVfcmRfY29uZihzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1MzIgZGV2Zm4sIGludCB3aGVyZSwKKwkJCWludCBzaXplLCB1MzIgKnZhbCkKK3sKKwlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9IGJ1c190b19wb3J0KGJ1cy0+bnVtYmVyKTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQ7CisKKwlpZiAocGNpZV92YWxpZF9jb25maWcocHAsIGJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXZmbikpID09IDApIHsKKwkJKnZhbCA9IDB4ZmZmZmZmZmY7CisJCXJldHVybiBQQ0lCSU9TX0RFVklDRV9OT1RfRk9VTkQ7CisJfQorCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBwLT5jb25mX2xvY2ssIGZsYWdzKTsKKwlyZXQgPSBvcmlvbl9wY2llX3JkX2NvbmYocHAtPmJhc2UsIGJ1cywgZGV2Zm4sIHdoZXJlLCBzaXplLCB2YWwpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBwLT5jb25mX2xvY2ssIGZsYWdzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcGNpZV93cl9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwKKwkJCWludCB3aGVyZSwgaW50IHNpemUsIHUzMiB2YWwpCit7CisJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSBidXNfdG9fcG9ydChidXMtPm51bWJlcik7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgcmV0OworCisJaWYgKHBjaWVfdmFsaWRfY29uZmlnKHBwLCBidXMtPm51bWJlciwgUENJX1NMT1QoZGV2Zm4pKSA9PSAwKQorCQlyZXR1cm4gUENJQklPU19ERVZJQ0VfTk9UX0ZPVU5EOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBwLT5jb25mX2xvY2ssIGZsYWdzKTsKKwlyZXQgPSBvcmlvbl9wY2llX3dyX2NvbmYocHAtPmJhc2UsIGJ1cywgZGV2Zm4sIHdoZXJlLCBzaXplLCB2YWwpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBwLT5jb25mX2xvY2ssIGZsYWdzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGNpX29wcyBwY2llX29wcyA9IHsKKwkucmVhZCA9IHBjaWVfcmRfY29uZiwKKwkud3JpdGUgPSBwY2llX3dyX2NvbmYsCit9OworCitzdGF0aWMgdm9pZCBfX2RldmluaXQgcmNfcGNpX2ZpeHVwKHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJLyoKKwkgKiBQcmV2ZW50IGVudW1lcmF0aW9uIG9mIHJvb3QgY29tcGxleC4KKwkgKi8KKwlpZiAoZGV2LT5idXMtPnBhcmVudCA9PSBOVUxMICYmIGRldi0+ZGV2Zm4gPT0gMCkgeworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgREVWSUNFX0NPVU5UX1JFU09VUkNFOyBpKyspIHsKKwkJCWRldi0+cmVzb3VyY2VbaV0uc3RhcnQgPSAwOworCQkJZGV2LT5yZXNvdXJjZVtpXS5lbmQgICA9IDA7CisJCQlkZXYtPnJlc291cmNlW2ldLmZsYWdzID0gMDsKKwkJfQorCX0KK30KK0RFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX01BUlZFTEwsIFBDSV9BTllfSUQsIHJjX3BjaV9maXh1cCk7CisKK3N0YXRpYyBzdHJ1Y3QgcGNpX2J1cyBfX2luaXQgKgorbXY3OHh4MF9wY2llX3NjYW5fYnVzKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKQoreworCXN0cnVjdCBwY2lfYnVzICpidXM7CisKKwlpZiAobnIgPCBudW1fcGNpZV9wb3J0cykgeworCQlidXMgPSBwY2lfc2Nhbl9idXMoc3lzLT5idXNuciwgJnBjaWVfb3BzLCBzeXMpOworCX0gZWxzZSB7CisJCWJ1cyA9IE5VTEw7CisJCUJVRygpOworCX0KKworCXJldHVybiBidXM7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG12Nzh4eDBfcGNpZV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9IGJ1c190b19wb3J0KGRldi0+YnVzLT5udW1iZXIpOworCisJcmV0dXJuIElSUV9NVjc4WFgwX1BDSUVfMDAgKyAocHAtPm1haiA8PCAyKSArIHBwLT5taW47Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaHdfcGNpIG12Nzh4eDBfcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gOCwKKwkucHJlaW5pdAk9IG12Nzh4eDBfcGNpZV9wcmVpbml0LAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBtdjc4eHgwX3BjaWVfc2V0dXAsCisJLnNjYW4JCT0gbXY3OHh4MF9wY2llX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gbXY3OHh4MF9wY2llX21hcF9pcnEsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgYWRkX3BjaWVfcG9ydChpbnQgbWFqLCBpbnQgbWluLCB1bnNpZ25lZCBsb25nIGJhc2UpCit7CisJcHJpbnRrKEtFUk5fSU5GTyAiTVY3OHh4MCBQQ0llIHBvcnQgJWQuJWQ6ICIsIG1haiwgbWluKTsKKworCWlmIChvcmlvbl9wY2llX2xpbmtfdXAoKHZvaWQgX19pb21lbSAqKWJhc2UpKSB7CisJCXN0cnVjdCBwY2llX3BvcnQgKnBwID0gJnBjaWVfcG9ydFtudW1fcGNpZV9wb3J0cysrXTsKKworCQlwcmludGsoImxpbmsgdXBcbiIpOworCisJCXBwLT5tYWogPSBtYWo7CisJCXBwLT5taW4gPSBtaW47CisJCXBwLT5yb290X2J1c19uciA9IC0xOworCQlwcC0+YmFzZSA9ICh2b2lkIF9faW9tZW0gKiliYXNlOworCQlzcGluX2xvY2tfaW5pdCgmcHAtPmNvbmZfbG9jayk7CisJCW1lbXNldChwcC0+cmVzLCAwLCBzaXplb2YocHAtPnJlcykpOworCX0gZWxzZSB7CisJCXByaW50aygibGluayBkb3duLCBpZ25vcmluZ1xuIik7CisJfQorfQorCit2b2lkIF9faW5pdCBtdjc4eHgwX3BjaWVfaW5pdChpbnQgaW5pdF9wb3J0MCwgaW50IGluaXRfcG9ydDEpCit7CisJaWYgKGluaXRfcG9ydDApIHsKKwkJYWRkX3BjaWVfcG9ydCgwLCAwLCBQQ0lFMDBfVklSVF9CQVNFKTsKKwkJaWYgKCFvcmlvbl9wY2llX3g0X21vZGUoKHZvaWQgX19pb21lbSAqKVBDSUUwMF9WSVJUX0JBU0UpKSB7CisJCQlhZGRfcGNpZV9wb3J0KDAsIDEsIFBDSUUwMV9WSVJUX0JBU0UpOworCQkJYWRkX3BjaWVfcG9ydCgwLCAyLCBQQ0lFMDJfVklSVF9CQVNFKTsKKwkJCWFkZF9wY2llX3BvcnQoMCwgMywgUENJRTAzX1ZJUlRfQkFTRSk7CisJCX0KKwl9CisKKwlpZiAoaW5pdF9wb3J0MSkgeworCQlhZGRfcGNpZV9wb3J0KDEsIDAsIFBDSUUxMF9WSVJUX0JBU0UpOworCQlpZiAoIW9yaW9uX3BjaWVfeDRfbW9kZSgodm9pZCBfX2lvbWVtICopUENJRTEwX1ZJUlRfQkFTRSkpIHsKKwkJCWFkZF9wY2llX3BvcnQoMSwgMSwgUENJRTExX1ZJUlRfQkFTRSk7CisJCQlhZGRfcGNpZV9wb3J0KDEsIDIsIFBDSUUxMl9WSVJUX0JBU0UpOworCQkJYWRkX3BjaWVfcG9ydCgxLCAzLCBQQ0lFMTNfVklSVF9CQVNFKTsKKwkJfQorCX0KKworCXBjaV9jb21tb25faW5pdCgmbXY3OHh4MF9wY2kpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtbXgyL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVhYTk3YwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL0tjb25maWcKQEAgLTAsMCArMSwzOSBAQAorY29tbWVudCAiTVgyIGZhbWlseSBDUFUgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEFSQ0hfTVgyCisKK2NvbmZpZyBNQUNIX01YMjcKKwlib29sICJpLk1YMjcgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEFSQ0hfTVgyCisJaGVscAorCSAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIEZyZWVzY2FsZSdzIE1YMiBiYXNlZCBpLk1YMjcgcHJvY2Vzc29yLgorCitjb21tZW50ICJNWDIgUGxhdGZvcm1zIgorCWRlcGVuZHMgb24gQVJDSF9NWDIKKworY29uZmlnIE1BQ0hfTVgyN0FEUworCWJvb2wgIk1YMjdBRFMgcGxhdGZvcm0iCisJZGVwZW5kcyBvbiBNQUNIX01YMjcKKwloZWxwCisJICBJbmNsdWRlIHN1cHBvcnQgZm9yIE1YMjdBRFMgcGxhdGZvcm0uIFRoaXMgaW5jbHVkZXMgc3BlY2lmaWMKKwkgIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgYm9hcmQgYW5kIGl0cyBwZXJpcGhlcmFscy4KKworY29uZmlnIE1BQ0hfUENNMDM4CisJYm9vbCAiUGh5dGVjIHBoeUNPUkUtaS5NWDI3IENQVSBtb2R1bGUgKHBjbTAzOCkiCisJZGVwZW5kcyBvbiBNQUNIX01YMjcKKwloZWxwCisJICBJbmNsdWRlIHN1cHBvcnQgZm9yIHBoeUNPUkUtaS5NWDI3IChha2EgcGNtMDM4KSBwbGF0Zm9ybS4gVGhpcworCSAgaW5jbHVkZXMgc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBtb2R1bGUgYW5kIGl0cyBwZXJpcGhlcmFscy4KKworY2hvaWNlCisJcHJvbXB0ICJCYXNlYm9hcmQiCisJZGVwZW5kcyBvbiBNQUNIX1BDTTAzOAorCWRlZmF1bHQgTUFDSF9QQ005NzBfQkFTRUJPQVJECisKK2NvbmZpZyBNQUNIX1BDTTk3MF9CQVNFQk9BUkQKKwlwcm9tcHQgIlBIWVRFQyBQQ005NzAgZGV2ZWxvcG1lbnQgYm9hcmQiCisJYm9vbAorCWhlbHAKKwkgIFRoaXMgYWRkcyBib2FyZCBzcGVjaWZpYyBkZXZpY2VzIHRoYXQgY2FuIGJlIGZvdW5kIG9uIFBoeXRlYydzCisJICBQQ005NzAgZXZhbHVhdGlvbiBib2FyZC4KKworZW5kY2hvaWNlCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4MmQ4NjAKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9NYWtlZmlsZQpAQCAtMCwwICsxLDE0IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgbGludXgga2VybmVsLgorIworCisjIE9iamVjdCBmaWxlIGxpc3RzLgorCitvYmoteQk6PSAgc3lzdGVtLm8gZ2VuZXJpYy5vIGRldmljZXMubyBzZXJpYWwubworCitvYmotJChDT05GSUdfTUFDSF9NWDI3KSArPSBjcHVfaW14Mjcubworb2JqLSQoQ09ORklHX01BQ0hfTVgyNykgKz0gY2xvY2tfaW14MjcubworCitvYmotJChDT05GSUdfTUFDSF9NWDI3QURTKSArPSBteDI3YWRzLm8KK29iai0kKENPTkZJR19NQUNIX1BDTTAzOCkgKz0gcGNtMDM4Lm8KK29iai0kKENPTkZJR19NQUNIX1BDTTk3MF9CQVNFQk9BUkQpICs9IHBjbTk3MC1iYXNlYm9hcmQubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvTWFrZWZpbGUuYm9vdCBiL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlLmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk2ODMxZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlLmJvb3QKQEAgLTAsMCArMSwzIEBACisgICB6cmVsYWRkci15CTo9IDB4QTAwMDgwMDAKK3BhcmFtc19waHlzLXkJOj0gMHhBMDAwMDEwMAoraW5pdHJkX3BoeXMteQk6PSAweEEwODAwMDAwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9jbG9ja19pbXgyNy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvY2xvY2tfaW14MjcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTI5ZWYyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvY2xvY2tfaW14MjcuYwpAQCAtMCwwICsxLDE2MjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisKKyNpbmNsdWRlICJjcm1fcmVncy5oIgorCitzdGF0aWMgc3RydWN0IGNsayBja2lsX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1wbGxfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgbXBsbF9tYWluX2Nsa1tdOworc3RhdGljIHN0cnVjdCBjbGsgc3BsbF9jbGs7CisKK3N0YXRpYyBpbnQgX2Nsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgfD0gMSA8PCBjbGstPmVuYWJsZV9zaGlmdDsKKwlfX3Jhd193cml0ZWwocmVnLCBjbGstPmVuYWJsZV9yZWcpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChjbGstPmVuYWJsZV9yZWcpOworCXJlZyAmPSB+KDEgPDwgY2xrLT5lbmFibGVfc2hpZnQpOworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19zcGxsX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fQ1NDUik7CisJcmVnIHw9IENDTV9DU0NSX1NQRU47CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX0NTQ1IpOworCisJd2hpbGUgKChfX3Jhd19yZWFkbChDQ01fU1BDVEwxKSAmIENDTV9TUENUTDFfTEYpID09IDApCisJCTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3NwbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fQ1NDUik7CisJcmVnICY9IH5DQ01fQ1NDUl9TUEVOOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9DU0NSKTsKK30KKworc3RhdGljIHZvaWQgX2Nsa19wY2NyMDFfZW5hYmxlKHVuc2lnbmVkIGxvbmcgbWFzazAsIHVuc2lnbmVkIGxvbmcgbWFzazEpCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjApOworCXJlZyB8PSBtYXNrMDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjApOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgfD0gbWFzazE7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IxKTsKKworfQorCitzdGF0aWMgdm9pZCBfY2xrX3BjY3IwMV9kaXNhYmxlKHVuc2lnbmVkIGxvbmcgbWFzazAsIHVuc2lnbmVkIGxvbmcgbWFzazEpCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjApOworCXJlZyAmPSB+bWFzazA7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IwKTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMSk7CisJcmVnICY9IH5tYXNrMTsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3BjY3IxMF9lbmFibGUodW5zaWduZWQgbG9uZyBtYXNrMSwgdW5zaWduZWQgbG9uZyBtYXNrMCkKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMSk7CisJcmVnIHw9IG1hc2sxOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMSk7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjApOworCXJlZyB8PSBtYXNrMDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjApOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3BjY3IxMF9kaXNhYmxlKHVuc2lnbmVkIGxvbmcgbWFzazEsIHVuc2lnbmVkIGxvbmcgbWFzazApCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjEpOworCXJlZyAmPSB+bWFzazE7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IxKTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMCk7CisJcmVnICY9IH5tYXNrMDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjApOworfQorCitzdGF0aWMgaW50IF9jbGtfZG1hX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZW5hYmxlKENDTV9QQ0NSMF9ETUFfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfRE1BX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfZG1hX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2Rpc2FibGUoQ0NNX1BDQ1IwX0RNQV9NQVNLLCBDQ01fUENDUjFfSENMS19ETUFfTUFTSyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19ydGljX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZW5hYmxlKENDTV9QQ0NSMF9SVElDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1JUSUNfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19ydGljX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2Rpc2FibGUoQ0NNX1BDQ1IwX1JUSUNfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfUlRJQ19NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX2VtbWFfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX0VNTUFfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfRU1NQV9NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2VtbWFfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfRU1NQV9NQVNLLCBDQ01fUENDUjFfSENMS19FTU1BX01BU0spOworfQorCitzdGF0aWMgaW50IF9jbGtfc2xjZGNfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX1NMQ0RDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1NMQ0RDX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfc2xjZGNfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfU0xDRENfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfU0xDRENfTUFTSyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19mZWNfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX0ZFQ19NQVNLLCBDQ01fUENDUjFfSENMS19GRUNfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19mZWNfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfRkVDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX0ZFQ19NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX3ZwdV9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgfD0gQ0NNX1BDQ1IxX1ZQVV9CQVVEX01BU0sgfCBDQ01fUENDUjFfSENMS19WUFVfTUFTSzsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfdnB1X2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgJj0gfihDQ01fUENDUjFfVlBVX0JBVURfTUFTSyB8IENDTV9QQ0NSMV9IQ0xLX1ZQVV9NQVNLKTsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworfQorCitzdGF0aWMgaW50IF9jbGtfc2FoYXJhMl9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2VuYWJsZShDQ01fUENDUjBfU0FIQVJBX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1NBSEFSQV9NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3NhaGFyYTJfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfU0FIQVJBX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1NBSEFSQV9NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX21zdGljazFfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IxMF9lbmFibGUoQ0NNX1BDQ1IxX01TSENfQkFVRF9NQVNLLCBDQ01fUENDUjBfTVNIQ19NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX21zdGljazFfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMTBfZGlzYWJsZShDQ01fUENDUjFfTVNIQ19CQVVEX01BU0ssIENDTV9QQ0NSMF9NU0hDX01BU0spOworfQorCisjZGVmaW5lIENTQ1IoKSAoX19yYXdfcmVhZGwoQ0NNX0NTQ1IpKQorI2RlZmluZSBQQ0RSMCgpIChfX3Jhd19yZWFkbChDQ01fUENEUjApKQorI2RlZmluZSBQQ0RSMSgpIChfX3Jhd19yZWFkbChDQ01fUENEUjEpKQorCitzdGF0aWMgaW50IF9jbGtfY3B1X3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJaW50IGNzY3IgPSBDU0NSKCk7CisKKwlpZiAoY2xrLT5wYXJlbnQgPT0gcGFyZW50KQorCQlyZXR1cm4gMDsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCWlmIChwYXJlbnQgPT0gJm1wbGxfbWFpbl9jbGtbMF0pIHsKKwkJCWNzY3IgfD0gQ0NNX0NTQ1JfQVJNX1NSQzsKKwkJfSBlbHNlIHsKKwkJCWlmIChwYXJlbnQgPT0gJm1wbGxfbWFpbl9jbGtbMV0pCisJCQkJY3NjciAmPSB+Q0NNX0NTQ1JfQVJNX1NSQzsKKwkJCWVsc2UKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQlfX3Jhd193cml0ZWwoY3NjciwgQ0NNX0NTQ1IpOworCX0gZWxzZQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWNsay0+cGFyZW50ID0gcGFyZW50OworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NwdV9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCWludCBkaXY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKwlpZiAocGFyZW50X3JhdGUgJSByYXRlKQorCQlkaXYrKzsKKworCWlmIChkaXYgPiA0KQorCQlkaXYgPSA0OworCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gZGl2OworfQorCitzdGF0aWMgaW50IF9jbGtfY3B1X3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXVuc2lnbmVkIGludCBkaXY7CisJdWludDMyX3QgcmVnOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnRfcmF0ZSAvIHJhdGU7CisKKwlpZiAoZGl2ID4gNCB8fCBkaXYgPCAxIHx8ICgocGFyZW50X3JhdGUgLyBkaXYpICE9IHJhdGUpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRpdi0tOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX0NTQ1IpOworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCXJlZyAmPSB+Q0NNX0NTQ1JfQVJNX01BU0s7CisJCXJlZyB8PSBkaXYgPDwgQ0NNX0NTQ1JfQVJNX09GRlNFVDsKKwkJcmVnICY9IH4weDA2OworCQlfX3Jhd193cml0ZWwocmVnIHwgMHg4MDAwMDAwMCwgQ0NNX0NTQ1IpOworCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0VSUiAiQ2FudCBzZXQgQ1BVIGZyZXF1ZW5jeSFcbiIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3BlcmNsa3hfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssCisJCQkJCSAgICAgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiBkaXY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKwlpZiAocGFyZW50X3JhdGUgJSByYXRlKQorCQlkaXYrKzsKKworCWlmIChkaXYgPiA2NCkKKwkJZGl2ID0gNjQ7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19wZXJjbGt4X3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiByZWc7CisJdTMyIGRpdjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJaWYgKGNsay0+aWQgPCAwIHx8IGNsay0+aWQgPiAzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKwlpZiAoZGl2ID4gNjQgfHwgZGl2IDwgMSB8fCAoKHBhcmVudF9yYXRlIC8gZGl2KSAhPSByYXRlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJZGl2LS07CisKKwlyZWcgPQorCSAgICBfX3Jhd19yZWFkbChDQ01fUENEUjEpICYgfihDQ01fUENEUjFfUEVSRElWMV9NQVNLIDw8CisJCQkJICAgICAgIChjbGstPmlkIDw8IDMpKTsKKwlyZWcgfD0gZGl2IDw8IChjbGstPmlkIDw8IDMpOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0RSMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa191c2JfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHVzYl9wZGY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXVzYl9wZGYgPSAoQ1NDUigpICYgQ0NNX0NTQ1JfVVNCX01BU0spID4+IENDTV9DU0NSX1VTQl9PRkZTRVQ7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyAodXNiX3BkZiArIDFVKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19zc2kxX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBzc2kxX3BkZjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJc3NpMV9wZGYgPSAoUENEUjAoKSAmIENDTV9QQ0RSMF9TU0kxQkFVRERJVl9NQVNLKSA+PgorCQkJCQlDQ01fUENEUjBfU1NJMUJBVURESVZfT0ZGU0VUOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCXNzaTFfcGRmICs9IDQ7CisJZWxzZQorCQlzc2kxX3BkZiA9IChzc2kxX3BkZiA8IDIpID8gMTI0VUwgOiBzc2kxX3BkZjsKKworCXJldHVybiAyVUwgKiBwYXJlbnRfcmF0ZSAvIHNzaTFfcGRmOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3NzaTJfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHNzaTJfcGRmOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlzc2kyX3BkZiA9IChQQ0RSMCgpICYgQ0NNX1BDRFIwX1NTSTJCQVVERElWX01BU0spID4+CisJICAgIENDTV9QQ0RSMF9TU0kyQkFVRERJVl9PRkZTRVQ7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkKKwkJc3NpMl9wZGYgKz0gNDsKKwllbHNlCisJCXNzaTJfcGRmID0gKHNzaTJfcGRmIDwgMikgPyAxMjRVTCA6IHNzaTJfcGRmOworCisJcmV0dXJuIDJVTCAqIHBhcmVudF9yYXRlIC8gc3NpMl9wZGY7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfbmZjX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBuZmNfcGRmOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkgeworCQluZmNfcGRmID0KKwkJICAgIChQQ0RSMCgpICYgQ0NNX1BDRFIwX05GQ0RJVjJfTUFTSykgPj4KKwkJICAgIENDTV9QQ0RSMF9ORkNESVYyX09GRlNFVDsKKwl9IGVsc2UgeworCQluZmNfcGRmID0KKwkJICAgIChQQ0RSMCgpICYgQ0NNX1BDRFIwX05GQ0RJVl9NQVNLKSA+PgorCQkgICAgQ0NNX1BDRFIwX05GQ0RJVl9PRkZTRVQ7CisJfQorCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gKG5mY19wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa192cHVfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHZwdV9wZGY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCXZwdV9wZGYgPQorCQkgICAgKFBDRFIwKCkgJiBDQ01fUENEUjBfVlBVRElWMl9NQVNLKSA+PgorCQkgICAgQ0NNX1BDRFIwX1ZQVURJVjJfT0ZGU0VUOworCQl2cHVfcGRmICs9IDQ7CisJfSBlbHNlIHsKKwkJdnB1X3BkZiA9CisJCSAgICAoUENEUjAoKSAmIENDTV9QQ0RSMF9WUFVESVZfTUFTSykgPj4KKwkJICAgIENDTV9QQ0RSMF9WUFVESVZfT0ZGU0VUOworCQl2cHVfcGRmID0gKHZwdV9wZGYgPCAyKSA/IDEyNCA6IHZwdV9wZGY7CisJfQorCXJldHVybiAyVUwgKiBwYXJlbnRfcmF0ZSAvIHZwdV9wZGY7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGFyZW50X3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJcmV0dXJuIGNsay0+cGFyZW50LT5yb3VuZF9yYXRlKGNsay0+cGFyZW50LCByYXRlKTsKK30KKworc3RhdGljIGludCBfY2xrX3BhcmVudF9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwlyZXR1cm4gY2xrLT5wYXJlbnQtPnNldF9yYXRlKGNsay0+cGFyZW50LCByYXRlKTsKK30KKworLyogaW4gSHogKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGV4dGVybmFsX2hpZ2hfcmVmZXJlbmNlID0gMjYwMDAwMDA7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9oaWdoX3JlZmVyZW5jZV9jbG9ja19yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gZXh0ZXJuYWxfaGlnaF9yZWZlcmVuY2U7Cit9CisKKy8qCisgKiB0aGUgaGlnaCBmcmVxdWVuY3kgZXh0ZXJuYWwgY2xvY2sgcmVmZXJlbmNlCisgKiBEZWZhdWx0IGNhc2UgaXMgMjZNSHouIENvdWxkIGJlIGNoYW5nZWQgYXQgcnVudGltZQorICogd2l0aCBhIGNhbGwgdG8gY2hhbmdlX2V4dGVybmFsX2hpZ2hfcmVmZXJlbmNlKCkKKyAqLworc3RhdGljIHN0cnVjdCBjbGsgY2tpaF9jbGsgPSB7CisJLm5hbWUgPSAiY2tpaCIsCisJLmdldF9yYXRlID0gZ2V0X2hpZ2hfcmVmZXJlbmNlX2Nsb2NrX3JhdGUsCit9OworCisvKiBpbiBIeiAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgZXh0ZXJuYWxfbG93X3JlZmVyZW5jZSA9IDMyNzY4OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfbG93X3JlZmVyZW5jZV9jbG9ja19yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gZXh0ZXJuYWxfbG93X3JlZmVyZW5jZTsKK30KKworLyoKKyAqIHRoZSBsb3cgZnJlcXVlbmN5IGV4dGVybmFsIGNsb2NrIHJlZmVyZW5jZQorICogRGVmYXVsdCBjYXNlIGlzIDMyLjc2OGtIeiBDb3VsZCBiZSBjaGFuZ2VkIGF0IHJ1bnRpbWUKKyAqIHdpdGggYSBjYWxsIHRvIGNoYW5nZV9leHRlcm5hbF9sb3dfcmVmZXJlbmNlKCkKKyAqLworc3RhdGljIHN0cnVjdCBjbGsgY2tpbF9jbGsgPSB7CisJLm5hbWUgPSAiY2tpbCIsCisJLmdldF9yYXRlID0gZ2V0X2xvd19yZWZlcmVuY2VfY2xvY2tfcmF0ZSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9tcGxsX2NsayhzdHJ1Y3QgY2xrICpjbGspCit7CisJdWludDMyX3QgcmVnOworCXVuc2lnbmVkIGxvbmcgcmVmX2NsazsKKwl1bnNpZ25lZCBsb25nIG1maSA9IDAsIG1mbiA9IDAsIG1mZCA9IDAsIHBkZiA9IDA7CisJdW5zaWduZWQgbG9uZyBsb25nIHRlbXA7CisKKwlyZWZfY2xrID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9NUENUTDApOworCXBkZiA9IChyZWcgJiBDQ01fTVBDVEwwX1BEX01BU0spID4+IENDTV9NUENUTDBfUERfT0ZGU0VUOworCW1mZCA9IChyZWcgJiBDQ01fTVBDVEwwX01GRF9NQVNLKSA+PiBDQ01fTVBDVEwwX01GRF9PRkZTRVQ7CisJbWZpID0gKHJlZyAmIENDTV9NUENUTDBfTUZJX01BU0spID4+IENDTV9NUENUTDBfTUZJX09GRlNFVDsKKwltZm4gPSAocmVnICYgQ0NNX01QQ1RMMF9NRk5fTUFTSykgPj4gQ0NNX01QQ1RMMF9NRk5fT0ZGU0VUOworCisJbWZpID0gKG1maSA8PSA1KSA/IDUgOiBtZmk7CisJdGVtcCA9IDJMTCAqIHJlZl9jbGsgKiBtZm47CisJZG9fZGl2KHRlbXAsIG1mZCArIDEpOworCXRlbXAgPSAyTEwgKiByZWZfY2xrICogbWZpICsgdGVtcDsKKwlkb19kaXYodGVtcCwgcGRmICsgMSk7CisKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpdGVtcDsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgbXBsbF9jbGsgPSB7CisJLm5hbWUgPSAibXBsbCIsCisJLnBhcmVudCA9ICZja2loX2NsaywKKwkuZ2V0X3JhdGUgPSBnZXRfbXBsbF9jbGssCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX21wbGxfbWFpbl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCS8qIGkuTVgyNyBUTzI6CisJICogY2xrLT5pZCA9PSAwOiBhcm0gY2xvY2sgc291cmNlIHBhdGggMSB3aGljaCBpcyBmcm9tIDIqTVBMTC9ESVZfMgorCSAqIGNsay0+aWQgPT0gMTogYXJtIGNsb2NrIHNvdXJjZSBwYXRoIDIgd2hpY2ggaXMgZnJvbSAyKk1QTEwvRElWXzMKKwkgKi8KKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wICYmIGNsay0+aWQgPT0gMSkKKwkJcmV0dXJuIDJVTCAqIHBhcmVudF9yYXRlIC8gM1VMOworCisJcmV0dXJuIHBhcmVudF9yYXRlOworfQorCitzdGF0aWMgc3RydWN0IGNsayBtcGxsX21haW5fY2xrW10gPSB7CisJeworCQkvKiBGb3IgaS5NWDI3IFRPMiwgaXQgaXMgdGhlIE1QTEwgcGF0aCAxIG9mIEFSTSBjb3JlCisJCSAqIEl0IHByb3ZpZGUgdGhlIGNsb2NrIHNvdXJjZSB3aG9zZSByYXRlIGlzIHNhbWUgYXMgTVBMTAorCQkgKi8KKwkJLm5hbWUgPSAibXBsbF9tYWluIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZtcGxsX2NsaywKKwkJLmdldF9yYXRlID0gX2Nsa19tcGxsX21haW5fZ2V0X3JhdGUKKwl9LCB7CisJCS8qIEZvciBpLk1YMjcgVE8yLCBpdCBpcyB0aGUgTVBMTCBwYXRoIDIgb2YgQVJNIGNvcmUKKwkJICogSXQgcHJvdmlkZSB0aGUgY2xvY2sgc291cmNlIHdob3NlIHJhdGUgaXMgc2FtZSBNUExMICogMi8zCisJCSAqLworCQkubmFtZSA9ICJtcGxsX21haW4iLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJm1wbGxfY2xrLAorCQkuZ2V0X3JhdGUgPSBfY2xrX21wbGxfbWFpbl9nZXRfcmF0ZQorCX0KK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9zcGxsX2NsayhzdHJ1Y3QgY2xrICpjbGspCit7CisJdWludDMyX3QgcmVnOworCXVuc2lnbmVkIGxvbmcgcmVmX2NsazsKKwl1bnNpZ25lZCBsb25nIG1maSA9IDAsIG1mbiA9IDAsIG1mZCA9IDAsIHBkZiA9IDA7CisJdW5zaWduZWQgbG9uZyBsb25nIHRlbXA7CisKKwlyZWZfY2xrID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9TUENUTDApOworCS8qVE9ETzogVGhpcyBpcyBUTzIgQnVnICovCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCV9fcmF3X3dyaXRlbChyZWcsIENDTV9TUENUTDApOworCisJcGRmID0gKHJlZyAmIENDTV9TUENUTDBfUERfTUFTSykgPj4gQ0NNX1NQQ1RMMF9QRF9PRkZTRVQ7CisJbWZkID0gKHJlZyAmIENDTV9TUENUTDBfTUZEX01BU0spID4+IENDTV9TUENUTDBfTUZEX09GRlNFVDsKKwltZmkgPSAocmVnICYgQ0NNX1NQQ1RMMF9NRklfTUFTSykgPj4gQ0NNX1NQQ1RMMF9NRklfT0ZGU0VUOworCW1mbiA9IChyZWcgJiBDQ01fU1BDVEwwX01GTl9NQVNLKSA+PiBDQ01fU1BDVEwwX01GTl9PRkZTRVQ7CisKKwltZmkgPSAobWZpIDw9IDUpID8gNSA6IG1maTsKKwl0ZW1wID0gMkxMICogcmVmX2NsayAqIG1mbjsKKwlkb19kaXYodGVtcCwgbWZkICsgMSk7CisJdGVtcCA9IDJMTCAqIHJlZl9jbGsgKiBtZmkgKyB0ZW1wOworCWRvX2Rpdih0ZW1wLCBwZGYgKyAxKTsKKworCXJldHVybiAodW5zaWduZWQgbG9uZyl0ZW1wOworfQorCitzdGF0aWMgc3RydWN0IGNsayBzcGxsX2NsayA9IHsKKwkubmFtZSA9ICJzcGxsIiwKKwkucGFyZW50ID0gJmNraWhfY2xrLAorCS5nZXRfcmF0ZSA9IGdldF9zcGxsX2NsaywKKwkuZW5hYmxlID0gX2Nsa19zcGxsX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfc3BsbF9kaXNhYmxlLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2NwdV9jbGsoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiBkaXY7CisJdW5zaWduZWQgbG9uZyByYXRlOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCWRpdiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9BUk1fTUFTSykgPj4gQ0NNX0NTQ1JfQVJNX09GRlNFVDsKKwllbHNlCisJCWRpdiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9QUkVTQ19NQVNLKSA+PiBDQ01fQ1NDUl9QUkVTQ19PRkZTRVQ7CisKKwlyYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwlyZXR1cm4gcmF0ZSAvIChkaXYgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY3B1X2NsayA9IHsKKwkubmFtZSA9ICJjcHVfY2xrIiwKKwkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJLnNldF9wYXJlbnQgPSBfY2xrX2NwdV9zZXRfcGFyZW50LAorCS5yb3VuZF9yYXRlID0gX2Nsa19jcHVfcm91bmRfcmF0ZSwKKwkuZ2V0X3JhdGUgPSBnZXRfY3B1X2NsaywKKwkuc2V0X3JhdGUgPSBfY2xrX2NwdV9zZXRfcmF0ZSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9haGJfY2xrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisJdW5zaWduZWQgbG9uZyBiY2xrX3BkZjsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKQorCQliY2xrX3BkZiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9BSEJfTUFTSykKKwkJCQkJPj4gQ0NNX0NTQ1JfQUhCX09GRlNFVDsKKwllbHNlCisJCWJjbGtfcGRmID0gKENTQ1IoKSAmIENDTV9DU0NSX0JDTEtfTUFTSykKKwkJCQkJPj4gQ0NNX0NTQ1JfQkNMS19PRkZTRVQ7CisKKwlyYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwlyZXR1cm4gcmF0ZSAvIChiY2xrX3BkZiArIDEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBhaGJfY2xrID0geworCS5uYW1lID0gImFoYl9jbGsiLAorCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkuZ2V0X3JhdGUgPSBnZXRfYWhiX2NsaywKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9pcGdfY2xrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisJdW5zaWduZWQgbG9uZyBpcGdfcGRmOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCWVsc2UKKwkJaXBnX3BkZiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9JUERJVikgPj4gQ0NNX0NTQ1JfSVBESVZfT0ZGU0VUOworCisJcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJcmV0dXJuIHJhdGUgLyAoaXBnX3BkZiArIDEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBpcGdfY2xrID0geworCS5uYW1lID0gImlwZ19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZ2V0X3JhdGUgPSBnZXRfaXBnX2NsaywKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGVyY2xreF9yZWNhbGMoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcGVyY2xrX3BkZjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJaWYgKGNsay0+aWQgPCAwIHx8IGNsay0+aWQgPiAzKQorCQlyZXR1cm4gMDsKKworCXBlcmNsa19wZGYgPSAoUENEUjEoKSA+PiAoY2xrLT5pZCA8PCAzKSkgJiBDQ01fUENEUjFfUEVSRElWMV9NQVNLOworCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gKHBlcmNsa19wZGYgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgcGVyX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAicGVyX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkJLmdldF9yYXRlID0gX2Nsa19wZXJjbGt4X3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9QRVJDTEsxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJwZXJfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3BlcmNsa3hfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1BFUkNMSzJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gInBlcl9jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJCS5yb3VuZF9yYXRlID0gX2Nsa19wZXJjbGt4X3JvdW5kX3JhdGUsCisJCS5zZXRfcmF0ZSA9IF9jbGtfcGVyY2xreF9zZXRfcmF0ZSwKKwkJLmdldF9yYXRlID0gX2Nsa19wZXJjbGt4X3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9QRVJDTEszX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJwZXJfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkucm91bmRfcmF0ZSA9IF9jbGtfcGVyY2xreF9yb3VuZF9yYXRlLAorCQkuc2V0X3JhdGUgPSBfY2xrX3BlcmNsa3hfc2V0X3JhdGUsCisJCS5nZXRfcmF0ZSA9IF9jbGtfcGVyY2xreF9yZWNhbGMsCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfUEVSQ0xLNF9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdHJ1Y3QgY2xrIHVhcnQxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidWFydF9jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmdWFydDFfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAidWFydF9pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VBUlQxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0cnVjdCBjbGsgdWFydDJfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1YXJ0X2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZ1YXJ0Ml9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJ1YXJ0X2lwZ19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVUFSVDJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RydWN0IGNsayB1YXJ0M19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVhcnRfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnVhcnQzX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInVhcnRfaXBnX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VQVJUM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdHJ1Y3QgY2xrIHVhcnQ0X2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidWFydF9jbGsiLAorCQkuaWQgPSAzLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmdWFydDRfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAidWFydF9pcGdfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VBUlQ0X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0cnVjdCBjbGsgdWFydDVfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1YXJ0X2NsayIsCisJCS5pZCA9IDQsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZ1YXJ0NV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJ1YXJ0X2lwZ19jbGsiLAorCQkuaWQgPSA0LAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVUFSVDVfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RydWN0IGNsayB1YXJ0Nl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVhcnRfY2xrIiwKKwkJLmlkID0gNSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnVhcnQ2X2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInVhcnRfaXBnX2NsayIsCisJCS5pZCA9IDUsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VQVJUNl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHQxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiZ3B0X2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZncHQxX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImdwdF9pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQVDFfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0Ml9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImdwdF9jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmZ3B0Ml9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJncHRfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUFQyX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdDNfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJncHRfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJmdwdDNfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiZ3B0X2lwZ19jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BUM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHQ0X2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiZ3B0X2NsayIsCisJCS5pZCA9IDMsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZncHQ0X2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImdwdF9pcGdfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQVDRfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0NV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImdwdF9jbGsiLAorCQkuaWQgPSA0LAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmZ3B0NV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJncHRfaXBnX2NsayIsCisJCS5pZCA9IDQsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUFQ1X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdDZfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJncHRfY2xrIiwKKwkJLmlkID0gNSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJmdwdDZfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiZ3B0X2lwZ19jbGsiLAorCQkuaWQgPSA1LAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BUNl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBwd21fY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJwd21fY2xrIiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnB3bV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJwd21fY2xrIiwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1BXTV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjMV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNkaGNfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNkaGMxX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInNkaGNfaXBnX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TREhDMV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjMl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNkaGNfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNkaGMyX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInNkaGNfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TREhDMl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjM19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNkaGNfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNkaGMzX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInNkaGNfaXBnX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TREhDM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpMV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImNzcGlfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJmNzcGkxX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImNzcGlfaXBnX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9DU1BJMV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpMl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImNzcGlfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJmNzcGkyX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImNzcGlfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9DU1BJMl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpM19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImNzcGlfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJmNzcGkzX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImNzcGlfaXBnX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9DU1BJM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBsY2RjX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAibGNkY19jbGsiLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMl0sCisJCS5zZWNvbmRhcnkgPSAmbGNkY19jbGtbMV0sCisJCS5yb3VuZF9yYXRlID0gX2Nsa19wYXJlbnRfcm91bmRfcmF0ZSwKKwkJLnNldF9yYXRlID0gX2Nsa19wYXJlbnRfc2V0X3JhdGUsCisJfSwgeworCQkubmFtZSA9ICJsY2RjX2lwZ19jbGsiLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5zZWNvbmRhcnkgPSAmbGNkY19jbGtbMl0sCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfTENEQ19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAibGNkY19haGJfY2xrIiwKKwkJLnBhcmVudCA9ICZhaGJfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX0hDTEtfTENEQ19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc2lfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJjc2lfcGVyY2xrIiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzNdLAorCQkuc2Vjb25kYXJ5ID0gJmNzaV9jbGtbMV0sCisJCS5yb3VuZF9yYXRlID0gX2Nsa19wYXJlbnRfcm91bmRfcmF0ZSwKKwkJLnNldF9yYXRlID0gX2Nsa19wYXJlbnRfc2V0X3JhdGUsCisJfSwgeworCQkubmFtZSA9ICJjc2lfYWhiX2NsayIsCisJCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0NTSV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayB1c2JfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1c2JfY2xrIiwKKwkJLnBhcmVudCA9ICZzcGxsX2NsaywKKwkJLmdldF9yYXRlID0gX2Nsa191c2JfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VTQk9UR19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAidXNiX2FoYl9jbGsiLAorCQkucGFyZW50ID0gJmFoYl9jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfSENMS19VU0JPVEdfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGNsayBzc2kxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAic3NpX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkJLnNlY29uZGFyeSA9ICZzc2kxX2Nsa1sxXSwKKwkJLmdldF9yYXRlID0gX2Nsa19zc2kxX3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9TU0kxX0JBVURfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gInNzaV9pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1NTSTFfSVBHX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNzaTJfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJzc2lfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNzaTJfY2xrWzFdLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3NzaTJfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1NTSTJfQkFVRF9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAic3NpX2lwZ19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfU1NJMl9JUEdfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbmZjX2NsayA9IHsKKwkubmFtZSA9ICJuZmNfY2xrIiwKKwkucGFyZW50ID0gJmNwdV9jbGssCisJLmdldF9yYXRlID0gX2Nsa19uZmNfcmVjYWxjLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX05GQ19CQVVEX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHZwdV9jbGsgPSB7CisJLm5hbWUgPSAidnB1X2NsayIsCisJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCS5nZXRfcmF0ZSA9IF9jbGtfdnB1X3JlY2FsYywKKwkuZW5hYmxlID0gX2Nsa192cHVfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa192cHVfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGRtYV9jbGsgPSB7CisJLm5hbWUgPSAiZG1hX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2RtYV9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2RtYV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcnRpY19jbGsgPSB7CisJLm5hbWUgPSAicnRpY19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19ydGljX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfcnRpY19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgYnJvbV9jbGsgPSB7CisJLm5hbWUgPSAiYnJvbV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0JST01fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZW1tYV9jbGsgPSB7CisJLm5hbWUgPSAiZW1tYV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbW1hX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfZW1tYV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2xjZGNfY2xrID0geworCS5uYW1lID0gInNsY2RjX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX3NsY2RjX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfc2xjZGNfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGZlY19jbGsgPSB7CisJLm5hbWUgPSAiZmVjX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2ZlY19lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2ZlY19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZW1pX2NsayA9IHsKKwkubmFtZSA9ICJlbWlfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfSENMS19FTUlfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2FoYXJhMl9jbGsgPSB7CisJLm5hbWUgPSAic2FoYXJhX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX3NhaGFyYTJfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19zYWhhcmEyX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBhdGFfY2xrID0geworCS5uYW1lID0gImF0YV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0FUQV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBtc3RpY2sxX2NsayA9IHsKKwkubmFtZSA9ICJtc3RpY2sxX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX21zdGljazFfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19tc3RpY2sxX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB3ZG9nX2NsayA9IHsKKwkubmFtZSA9ICJ3ZG9nX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1dEVF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncGlvX2NsayA9IHsKKwkubmFtZSA9ICJncGlvX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQSU9fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaTJjX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiaTJjX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9JMkMxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJpMmNfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0kyQzJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaWltX2NsayA9IHsKKwkubmFtZSA9ICJpaW1fY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfSUlNX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGtwcF9jbGsgPSB7CisJLm5hbWUgPSAia3BwX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0tQUF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBvd2lyZV9jbGsgPSB7CisJLm5hbWUgPSAib3dpcmVfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfT1dJUkVfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcnRjX2NsayA9IHsKKwkubmFtZSA9ICJydGNfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfUlRDX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNjY19jbGsgPSB7CisJLm5hbWUgPSAic2NjX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1NDQ19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2Nsa29fcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgZGl2OworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJZGl2ID0gcGFyZW50X3JhdGUgLyByYXRlOworCWlmIChwYXJlbnRfcmF0ZSAlIHJhdGUpCisJCWRpdisrOworCisJaWYgKGRpdiA+IDgpCisJCWRpdiA9IDg7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jbGtvX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiByZWc7CisJdTMyIGRpdjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50X3JhdGUgLyByYXRlOworCisJaWYgKGRpdiA+IDggfHwgZGl2IDwgMSB8fCAoKHBhcmVudF9yYXRlIC8gZGl2KSAhPSByYXRlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJZGl2LS07CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENEUjApICYgfkNDTV9QQ0RSMF9DTEtPRElWX01BU0s7CisJcmVnIHw9IGRpdiA8PCBDQ01fUENEUjBfQ0xLT0RJVl9PRkZTRVQ7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDRFIwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2Nsa29fcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgZGl2OworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBfX3Jhd19yZWFkbChDQ01fUENEUjApICYgQ0NNX1BDRFIwX0NMS09ESVZfTUFTSyA+PgorCQlDQ01fUENEUjBfQ0xLT0RJVl9PRkZTRVQ7CisJZGl2Kys7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jbGtvX3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9DQ1NSKSAmIH5DQ01fQ0NTUl9DTEtPU0VMX01BU0s7CisKKwlpZiAocGFyZW50ID09ICZja2lsX2NsaykKKwkJcmVnIHw9IDAgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZja2loX2NsaykKKwkJcmVnIHw9IDIgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09IG1wbGxfY2xrLnBhcmVudCkKKwkJcmVnIHw9IDMgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09IHNwbGxfY2xrLnBhcmVudCkKKwkJcmVnIHw9IDQgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZtcGxsX2NsaykKKwkJcmVnIHw9IDUgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZzcGxsX2NsaykKKwkJcmVnIHw9IDYgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZjcHVfY2xrKQorCQlyZWcgfD0gNyA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmFoYl9jbGspCisJCXJlZyB8PSA4IDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmaXBnX2NsaykKKwkJcmVnIHw9IDkgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZwZXJfY2xrWzBdKQorCQlyZWcgfD0gMHhBIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmcGVyX2Nsa1sxXSkKKwkJcmVnIHw9IDB4QiA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnBlcl9jbGtbMl0pCisJCXJlZyB8PSAweEMgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZwZXJfY2xrWzNdKQorCQlyZWcgfD0gMHhEIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmc3NpMV9jbGtbMF0pCisJCXJlZyB8PSAweEUgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZzc2kyX2Nsa1swXSkKKwkJcmVnIHw9IDB4RiA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJm5mY19jbGspCisJCXJlZyB8PSAweDEwIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmbXN0aWNrMV9jbGspCisJCXJlZyB8PSAweDExIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmdnB1X2NsaykKKwkJcmVnIHw9IDB4MTIgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZ1c2JfY2xrWzBdKQorCQlyZWcgfD0gMHgxNSA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX0NDU1IpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jbGtvX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0RSMCkgfCBDQ01fUENEUjBfQ0xLT19FTjsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENEUjApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfY2xrb19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDRFIwKSAmIH5DQ01fUENEUjBfQ0xLT19FTjsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENEUjApOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtvX2NsayA9IHsKKwkubmFtZSA9ICJjbGtvX2NsayIsCisJLmdldF9yYXRlID0gX2Nsa19jbGtvX3JlY2FsYywKKwkuc2V0X3JhdGUgPSBfY2xrX2Nsa29fc2V0X3JhdGUsCisJLnJvdW5kX3JhdGUgPSBfY2xrX2Nsa29fcm91bmRfcmF0ZSwKKwkuc2V0X3BhcmVudCA9IF9jbGtfY2xrb19zZXRfcGFyZW50LAorCS5lbmFibGUgPSBfY2xrX2Nsa29fZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19jbGtvX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayAqbXhjX2Nsa3NbXSA9IHsKKwkmY2tpaF9jbGssCisJJmNraWxfY2xrLAorCSZtcGxsX2NsaywKKwkmbXBsbF9tYWluX2Nsa1swXSwKKwkmbXBsbF9tYWluX2Nsa1sxXSwKKwkmc3BsbF9jbGssCisJJmNwdV9jbGssCisJJmFoYl9jbGssCisJJmlwZ19jbGssCisJJnBlcl9jbGtbMF0sCisJJnBlcl9jbGtbMV0sCisJJnBlcl9jbGtbMl0sCisJJnBlcl9jbGtbM10sCisJJmNsa29fY2xrLAorCSZ1YXJ0MV9jbGtbMF0sCisJJnVhcnQxX2Nsa1sxXSwKKwkmdWFydDJfY2xrWzBdLAorCSZ1YXJ0Ml9jbGtbMV0sCisJJnVhcnQzX2Nsa1swXSwKKwkmdWFydDNfY2xrWzFdLAorCSZ1YXJ0NF9jbGtbMF0sCisJJnVhcnQ0X2Nsa1sxXSwKKwkmdWFydDVfY2xrWzBdLAorCSZ1YXJ0NV9jbGtbMV0sCisJJnVhcnQ2X2Nsa1swXSwKKwkmdWFydDZfY2xrWzFdLAorCSZncHQxX2Nsa1swXSwKKwkmZ3B0MV9jbGtbMV0sCisJJmdwdDJfY2xrWzBdLAorCSZncHQyX2Nsa1sxXSwKKwkmZ3B0M19jbGtbMF0sCisJJmdwdDNfY2xrWzFdLAorCSZncHQ0X2Nsa1swXSwKKwkmZ3B0NF9jbGtbMV0sCisJJmdwdDVfY2xrWzBdLAorCSZncHQ1X2Nsa1sxXSwKKwkmZ3B0Nl9jbGtbMF0sCisJJmdwdDZfY2xrWzFdLAorCSZwd21fY2xrWzBdLAorCSZwd21fY2xrWzFdLAorCSZzZGhjMV9jbGtbMF0sCisJJnNkaGMxX2Nsa1sxXSwKKwkmc2RoYzJfY2xrWzBdLAorCSZzZGhjMl9jbGtbMV0sCisJJnNkaGMzX2Nsa1swXSwKKwkmc2RoYzNfY2xrWzFdLAorCSZjc3BpMV9jbGtbMF0sCisJJmNzcGkxX2Nsa1sxXSwKKwkmY3NwaTJfY2xrWzBdLAorCSZjc3BpMl9jbGtbMV0sCisJJmNzcGkzX2Nsa1swXSwKKwkmY3NwaTNfY2xrWzFdLAorCSZsY2RjX2Nsa1swXSwKKwkmbGNkY19jbGtbMV0sCisJJmxjZGNfY2xrWzJdLAorCSZjc2lfY2xrWzBdLAorCSZjc2lfY2xrWzFdLAorCSZ1c2JfY2xrWzBdLAorCSZ1c2JfY2xrWzFdLAorCSZzc2kxX2Nsa1swXSwKKwkmc3NpMV9jbGtbMV0sCisJJnNzaTJfY2xrWzBdLAorCSZzc2kyX2Nsa1sxXSwKKwkmbmZjX2NsaywKKwkmdnB1X2NsaywKKwkmZG1hX2NsaywKKwkmcnRpY19jbGssCisJJmJyb21fY2xrLAorCSZlbW1hX2NsaywKKwkmc2xjZGNfY2xrLAorCSZmZWNfY2xrLAorCSZlbWlfY2xrLAorCSZzYWhhcmEyX2NsaywKKwkmYXRhX2NsaywKKwkmbXN0aWNrMV9jbGssCisJJndkb2dfY2xrLAorCSZncGlvX2NsaywKKwkmaTJjX2Nsa1swXSwKKwkmaTJjX2Nsa1sxXSwKKwkmaWltX2NsaywKKwkma3BwX2NsaywKKwkmb3dpcmVfY2xrLAorCSZydGNfY2xrLAorCSZzY2NfY2xrLAorfTsKKwordm9pZCBfX2luaXQgY2hhbmdlX2V4dGVybmFsX2xvd19yZWZlcmVuY2UodW5zaWduZWQgbG9uZyBuZXdfcmVmKQoreworCWV4dGVybmFsX2xvd19yZWZlcmVuY2UgPSBuZXdfcmVmOworfQorCit1bnNpZ25lZCBsb25nIF9faW5pdCBjbGtfZWFybHlfZ2V0X3RpbWVyX3JhdGUodm9pZCkKK3sKKwlyZXR1cm4gY2xrX2dldF9yYXRlKCZwZXJfY2xrWzBdKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHByb2JlX214Y19jbG9ja3Modm9pZCkKK3sKKwlpbnQgaTsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCWlmIChDU0NSKCkgJiAweDgwMDApCisJCQljcHVfY2xrLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzBdOworCisJCWlmICghKENTQ1IoKSAmIDB4MDA4MDAwMDApKQorCQkJc3NpMl9jbGtbMF0ucGFyZW50ID0gJnNwbGxfY2xrOworCisJCWlmICghKENTQ1IoKSAmIDB4MDA0MDAwMDApKQorCQkJc3NpMV9jbGtbMF0ucGFyZW50ID0gJnNwbGxfY2xrOworCisJCWlmICghKENTQ1IoKSAmIDB4MDAyMDAwMDApKQorCQkJdnB1X2Nsay5wYXJlbnQgPSAmc3BsbF9jbGs7CisJfSBlbHNlIHsKKwkJY3B1X2Nsay5wYXJlbnQgPSAmbXBsbF9jbGs7CisJCWNwdV9jbGsuc2V0X3BhcmVudCA9IE5VTEw7CisJCWNwdV9jbGsucm91bmRfcmF0ZSA9IE5VTEw7CisJCWNwdV9jbGsuc2V0X3JhdGUgPSBOVUxMOworCQlhaGJfY2xrLnBhcmVudCA9ICZtcGxsX2NsazsKKworCQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHBlcl9jbGspIC8gc2l6ZW9mKHBlcl9jbGtbMF0pOyBpKyspCisJCQlwZXJfY2xrW2ldLnBhcmVudCA9ICZtcGxsX2NsazsKKworCQlzc2kxX2Nsa1swXS5wYXJlbnQgPSAmbXBsbF9jbGs7CisJCXNzaTJfY2xrWzBdLnBhcmVudCA9ICZtcGxsX2NsazsKKworCQl2cHVfY2xrLnBhcmVudCA9ICZtcGxsX2NsazsKKwl9Cit9CisKKy8qCisgKiBtdXN0IGJlIGNhbGxlZCB2ZXJ5IGVhcmx5IHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUKKyAqIGF2YWlsYWJsZSBjbG9jayByYXRlIHdoZW4gdGhlIHRpbWVyIGZyYW1ld29yayBzdGFydHMKKyAqLworaW50IF9faW5pdCBteGNfY2xvY2tzX2luaXQodW5zaWduZWQgbG9uZyBmcmVmKQoreworCXUzMiBjc2NyOworCXN0cnVjdCBjbGsgKipjbGtwOworCisJZXh0ZXJuYWxfaGlnaF9yZWZlcmVuY2UgPSBmcmVmOworCisJLyogZGV0ZWN0IGNsb2NrIHJlZmVyZW5jZSBmb3IgYm90aCBzeXN0ZW0gUExMICovCisJY3NjciA9IENTQ1IoKTsKKwlpZiAoY3NjciAmIENDTV9DU0NSX01DVSkKKwkJbXBsbF9jbGsucGFyZW50ID0gJmNraWhfY2xrOworCWVsc2UKKwkJbXBsbF9jbGsucGFyZW50ID0gJmNraWxfY2xrOworCisJaWYgKGNzY3IgJiBDQ01fQ1NDUl9TUCkKKwkJc3BsbF9jbGsucGFyZW50ID0gJmNraWhfY2xrOworCWVsc2UKKwkJc3BsbF9jbGsucGFyZW50ID0gJmNraWxfY2xrOworCisJcHJvYmVfbXhjX2Nsb2NrcygpOworCisJcGVyX2Nsa1swXS5lbmFibGUoJnBlcl9jbGtbMF0pOworCWdwdDFfY2xrWzFdLmVuYWJsZSgmZ3B0MV9jbGtbMV0pOworCisJZm9yIChjbGtwID0gbXhjX2Nsa3M7IGNsa3AgPCBteGNfY2xrcyArIEFSUkFZX1NJWkUobXhjX2Nsa3MpOyBjbGtwKyspCisJCWNsa19yZWdpc3RlcigqY2xrcCk7CisKKwkvKiBUdXJuIG9mZiBhbGwgcG9zc2libGUgY2xvY2tzICovCisJX19yYXdfd3JpdGVsKENDTV9QQ0NSMF9HUFQxX01BU0ssIENDTV9QQ0NSMCk7CisJX19yYXdfd3JpdGVsKENDTV9QQ0NSMV9QRVJDTEsxX01BU0sgfCBDQ01fUENDUjFfSENMS19FTUlfTUFTSywKKwkJICAgICBDQ01fUENDUjEpOworCXNwbGxfY2xrLmRpc2FibGUoJnNwbGxfY2xrKTsKKworCS8qIFRoaXMgd2lsbCBwcm9wYWdhdGUgdG8gYWxsIGNoaWxkcmVuIGFuZCBpbml0IGFsbCB0aGUgY2xvY2sgcmF0ZXMgKi8KKworCWNsa19lbmFibGUoJmVtaV9jbGspOworCWNsa19lbmFibGUoJmdwaW9fY2xrKTsKKwljbGtfZW5hYmxlKCZpaW1fY2xrKTsKKwljbGtfZW5hYmxlKCZncHQxX2Nsa1swXSk7CisjaWZkZWYgQ09ORklHX0RFQlVHX0xMX0NPTlNPTEUKKwljbGtfZW5hYmxlKCZ1YXJ0MV9jbGtbMF0pOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9jcHVfaW14MjcuYyBiL2FyY2gvYXJtL21hY2gtbXgyL2NwdV9pbXgyNy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2YjVjMmUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9jcHVfaW14MjcuYwpAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IDIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworLyoKKyAqIGkuTVgyNyBzcGVjaWZpYyBDUFUgZGV0ZWN0aW9uIGNvZGUKKyAqLworCisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorCisjaW5jbHVkZSAiY3JtX3JlZ3MuaCIKKworc3RhdGljIGludCBjcHVfc2lsaWNvbl9yZXYgPSAtMTsKK3N0YXRpYyBpbnQgY3B1X3BhcnRudW1iZXI7CisKK3N0YXRpYyB2b2lkIHF1ZXJ5X3NpbGljb25fcGFyYW1ldGVyKHZvaWQpCit7CisJdTMyIHZhbDsKKwkvKgorCSAqIG5vdyB3ZSBoYXZlIGFjY2VzcyB0byB0aGUgSU8gcmVnaXN0ZXJzLiBBcyB3ZSBuZWVkCisJICogdGhlIHNpbGljb24gcmV2aXNpb24gdmVyeSBlYXJseSB3ZSByZWFkIGl0IGhlcmUgdG8KKwkgKiBhdm9pZCBhbnkgZnVydGhlciBob29rcworCSovCisJdmFsID0gX19yYXdfcmVhZGwoSU9fQUREUkVTUyhTWVNDVFJMX0JBU0VfQUREUikgKyBTWVNfQ0hJUF9JRCk7CisKKwljcHVfc2lsaWNvbl9yZXYgPSAoaW50KSh2YWwgPj4gMjgpOworCWNwdV9wYXJ0bnVtYmVyID0gKGludCkoKHZhbCA+PiAxMikgJiAweEZGRkYpOworfQorCisvKgorICogUmV0dXJuczoKKyAqCXRoZSBzaWxpY29uIHJldmlzaW9uIG9mIHRoZSBjcHUKKyAqCS1FSU5WQUwgLSBub3QgYSBteDI3CisgKi8KK2ludCBteDI3X3JldmlzaW9uKHZvaWQpCit7CisJaWYgKGNwdV9zaWxpY29uX3JldiA9PSAtMSkKKwkJcXVlcnlfc2lsaWNvbl9wYXJhbWV0ZXIoKTsKKworCWlmIChjcHVfcGFydG51bWJlciAhPSAweDg4MjEpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIGNwdV9zaWxpY29uX3JldjsKK30KK0VYUE9SVF9TWU1CT0wobXgyN19yZXZpc2lvbik7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9jcm1fcmVncy5oIGIvYXJjaC9hcm0vbWFjaC1teDIvY3JtX3JlZ3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDBhOWI5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvY3JtX3JlZ3MuaApAQCAtMCwwICsxLDI3MyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FSQ0hfQVJNX01BQ0hfTVgyX0NSTV9SRUdTX0hfXworI2RlZmluZSBfX0FSQ0hfQVJNX01BQ0hfTVgyX0NSTV9SRUdTX0hfXworCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKworLyogUmVnaXN0ZXIgb2Zmc2V0cyAqLworI2RlZmluZSBDQ01fQ1NDUiAgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MCkKKyNkZWZpbmUgQ0NNX01QQ1RMMCAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDQpCisjZGVmaW5lIENDTV9NUENUTDEgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHg4KQorI2RlZmluZSBDQ01fU1BDVEwwICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4QykKKyNkZWZpbmUgQ0NNX1NQQ1RMMSAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDEwKQorI2RlZmluZSBDQ01fT1NDMjZNQ1RMICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MTQpCisjZGVmaW5lIENDTV9QQ0RSMCAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgxOCkKKyNkZWZpbmUgQ0NNX1BDRFIxICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDFjKQorI2RlZmluZSBDQ01fUENDUjAgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MjApCisjZGVmaW5lIENDTV9QQ0NSMSAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgyNCkKKyNkZWZpbmUgQ0NNX0NDU1IgICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDI4KQorI2RlZmluZSBDQ01fUE1DVEwgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MmMpCisjZGVmaW5lIENDTV9QTUNPVU5UICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgzMCkKKyNkZWZpbmUgQ0NNX1dLR0RDVEwgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDM0KQorCisjZGVmaW5lIENDTV9DU0NSX1VTQl9PRkZTRVQgICAgIDI4CisjZGVmaW5lIENDTV9DU0NSX1VTQl9NQVNLICAgICAgICgweDcgPDwgMjgpCisjZGVmaW5lIENDTV9DU0NSX1NEX09GRlNFVCAgICAgIDI0CisjZGVmaW5lIENDTV9DU0NSX1NEX01BU0sgICAgICAgICgweDMgPDwgMjQpCisjZGVmaW5lIENDTV9DU0NSX1NTSTIgICAgICAgICAgICgxIDw8IDIzKQorI2RlZmluZSBDQ01fQ1NDUl9TU0kyX09GRlNFVCAgICAyMworI2RlZmluZSBDQ01fQ1NDUl9TU0kxICAgICAgICAgICAoMSA8PCAyMikKKyNkZWZpbmUgQ0NNX0NTQ1JfU1NJMV9PRkZTRVQgICAgMjIKKyNkZWZpbmUgQ0NNX0NTQ1JfVlBVICAgICAgICAgICAoMSA8PCAyMSkKKyNkZWZpbmUgQ0NNX0NTQ1JfVlBVX09GRlNFVCAgICAyMQorI2RlZmluZSBDQ01fQ1NDUl9NU0hDICAgICAgICAgICAoMSA8PCAyMCkKKyNkZWZpbmUgQ0NNX0NTQ1JfU1BMTFJFUyAgICAgICAgKDEgPDwgMTkpCisjZGVmaW5lIENDTV9DU0NSX01QTExSRVMgICAgICAgICgxIDw8IDE4KQorI2RlZmluZSBDQ01fQ1NDUl9TUCAgICAgICAgICAgICAoMSA8PCAxNykKKyNkZWZpbmUgQ0NNX0NTQ1JfTUNVICAgICAgICAgICAgKDEgPDwgMTYpCisvKiBDQ01fQ1NDUl9BUk1feHh4IGp1c3QgYmUgYXZhbGlhYmxlIG9uIGkuTVgyNyBUTzIqLworI2RlZmluZSBDQ01fQ1NDUl9BUk1fU1JDICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX0NTQ1JfQVJNX09GRlNFVCAgICAgMTIKKyNkZWZpbmUgQ0NNX0NTQ1JfQVJNX01BU0sgICAgICAgKDB4MyA8PCAxMikKKy8qIENDTV9DU0NSX0FSTV94eHgganVzdCBiZSBhdmFsaWFibGUgb24gaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9DU0NSX1BSRVNDX09GRlNFVCAgIDEzCisjZGVmaW5lIENDTV9DU0NSX1BSRVNDX01BU0sgICAgICgweDcgPDwgMTMpCisjZGVmaW5lIENDTV9DU0NSX0JDTEtfT0ZGU0VUICAgIDkKKyNkZWZpbmUgQ0NNX0NTQ1JfQkNMS19NQVNLICAgICAgKDB4ZiA8PCA5KQorI2RlZmluZSBDQ01fQ1NDUl9JUERJVl9PRkZTRVQgICA4CisjZGVmaW5lIENDTV9DU0NSX0lQRElWICAgICAgICAgICgxIDw8IDgpCisvKiBDQ01fQ1NDUl9BSEJfeHh4IGp1c3QgYmUgYXZhbGlhYmxlIG9uIGkuTVgyNyBUTzIqLworI2RlZmluZSBDQ01fQ1NDUl9BSEJfT0ZGU0VUICAgICA4CisjZGVmaW5lIENDTV9DU0NSX0FIQl9NQVNLICAgICAgICgweDMgPDwgOCkKKy8qIENDTV9DU0NSX0FIQl94eHgganVzdCBiZSBhdmFsaWFibGUgb24gaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9DU0NSX09TQzI2TURJViAgICAgICgxIDw8IDQpCisjZGVmaW5lIENDTV9DU0NSX09TQzI2TSAgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIENDTV9DU0NSX0ZQTSAgICAgICAgICAgICgxIDw8IDIpCisjZGVmaW5lIENDTV9DU0NSX1NQRU4gICAgICAgICAgICgxIDw8IDEpCisjZGVmaW5lIENDTV9DU0NSX01QRU4gICAgICAgICAgIDEKKworI2RlZmluZSBDQ01fTVBDVEwwX0NQTE0gICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgQ0NNX01QQ1RMMF9QRF9PRkZTRVQgICAgMjYKKyNkZWZpbmUgQ0NNX01QQ1RMMF9QRF9NQVNLICAgICAgKDB4ZiA8PCAyNikKKyNkZWZpbmUgQ0NNX01QQ1RMMF9NRkRfT0ZGU0VUICAgMTYKKyNkZWZpbmUgQ0NNX01QQ1RMMF9NRkRfTUFTSyAgICAgKDB4M2ZmIDw8IDE2KQorI2RlZmluZSBDQ01fTVBDVEwwX01GSV9PRkZTRVQgICAxMAorI2RlZmluZSBDQ01fTVBDVEwwX01GSV9NQVNLICAgICAoMHhmIDw8IDEwKQorI2RlZmluZSBDQ01fTVBDVEwwX01GTl9PRkZTRVQgICAwCisjZGVmaW5lIENDTV9NUENUTDBfTUZOX01BU0sgICAgIDB4M2ZmCisKKyNkZWZpbmUgQ0NNX01QQ1RMMV9MRiAgICAgICAgICAgKDEgPDwgMTUpCisjZGVmaW5lIENDTV9NUENUTDFfQlJNTyAgICAgICAgICgxIDw8IDYpCisKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9DUExNICAgICAgICAgKDEgPDwgMzEpCisjZGVmaW5lIENDTV9TUENUTDBfUERfT0ZGU0VUICAgIDI2CisjZGVmaW5lIENDTV9TUENUTDBfUERfTUFTSyAgICAgICgweGYgPDwgMjYpCisjZGVmaW5lIENDTV9TUENUTDBfTUZEX09GRlNFVCAgIDE2CisjZGVmaW5lIENDTV9TUENUTDBfTUZEX01BU0sgICAgICgweDNmZiA8PCAxNikKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRklfT0ZGU0VUICAgMTAKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRklfTUFTSyAgICAgKDB4ZiA8PCAxMCkKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRk5fT0ZGU0VUICAgMAorI2RlZmluZSBDQ01fU1BDVEwwX01GTl9NQVNLICAgICAweDNmZgorCisjZGVmaW5lIENDTV9TUENUTDFfTEYgICAgICAgICAgICgxIDw8IDE1KQorI2RlZmluZSBDQ01fU1BDVEwxX0JSTU8gICAgICAgICAoMSA8PCA2KQorCisjZGVmaW5lIENDTV9PU0MyNk1DVExfUEVBS19PRkZTRVQgICAgICAgMTYKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9QRUFLX01BU0sgICAgICAgICAoMHgzIDw8IDE2KQorI2RlZmluZSBDQ01fT1NDMjZNQ1RMX0FHQ19PRkZTRVQgICAgICAgIDgKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9BR0NfTUFTSyAgICAgICAgICAoMHgzZiA8PCA4KQorI2RlZmluZSBDQ01fT1NDMjZNQ1RMX0FOQVRFU1RfT0ZGU0VUICAgIDAKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9BTkFURVNUX01BU0sgICAgICAweDNmCisKKyNkZWZpbmUgQ0NNX1BDRFIwX1NTSTJCQVVERElWX09GRlNFVCAgICAyNgorI2RlZmluZSBDQ01fUENEUjBfU1NJMkJBVURESVZfTUFTSyAgICAgICgweDNmIDw8IDI2KQorI2RlZmluZSBDQ01fUENEUjBfQ0xLT19FTiAgICAgICAgICAgICAgIDI1CisjZGVmaW5lIENDTV9QQ0RSMF9DTEtPRElWX09GRlNFVCAgICAgICAgMjIKKyNkZWZpbmUgQ0NNX1BDRFIwX0NMS09ESVZfTUFTSyAgICAgICAgICAoMHg3IDw8IDIyKQorI2RlZmluZSBDQ01fUENEUjBfU1NJMUJBVURESVZfT0ZGU0VUICAgIDE2CisjZGVmaW5lIENDTV9QQ0RSMF9TU0kxQkFVRERJVl9NQVNLICAgICAgKDB4M2YgPDwgMTYpCisvKlRoZSBkaWZpbml0aW9uIGZvciBpLk1YMjcgVE8yKi8KKyNkZWZpbmUgQ0NNX1BDRFIwX1ZQVURJVjJfT0ZGU0VUICAgICAgICAxMAorI2RlZmluZSBDQ01fUENEUjBfVlBVRElWMl9NQVNLICAgICAgICAgICgweDNmIDw8IDEwKQorI2RlZmluZSBDQ01fUENEUjBfTkZDRElWMl9PRkZTRVQgICAgICAgICA2CisjZGVmaW5lIENDTV9QQ0RSMF9ORkNESVYyX01BU0sgICAgICAgICAgICgweGYgPDwgNikKKyNkZWZpbmUgQ0NNX1BDRFIwX01TSENESVYyX01BU0sgICAgICAgICAgMHgzZgorLypUaGUgZGlmaW5pdGlvbiBmb3IgaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9QQ0RSMF9ORkNESVZfT0ZGU0VUICAgICAgICAgMTIKKyNkZWZpbmUgQ0NNX1BDRFIwX05GQ0RJVl9NQVNLICAgICAgICAgICAoMHhmIDw8IDEyKQorI2RlZmluZSBDQ01fUENEUjBfVlBVRElWX09GRlNFVCAgICAgICAgOAorI2RlZmluZSBDQ01fUENEUjBfVlBVRElWX01BU0sgICAgICAgICAgKDB4ZiA8PCA4KQorI2RlZmluZSBDQ01fUENEUjBfTVNIQ0RJVl9PRkZTRVQgICAgICAgIDAKKyNkZWZpbmUgQ0NNX1BDRFIwX01TSENESVZfTUFTSyAgICAgICAgICAweDFmCisKKyNkZWZpbmUgQ0NNX1BDRFIxX1BFUkRJVjRfT0ZGU0VUICAgICAgICAyNAorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWNF9NQVNLICAgICAgICAgICgweDNmIDw8IDI0KQorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWM19PRkZTRVQgICAgICAgIDE2CisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYzX01BU0sgICAgICAgICAgKDB4M2YgPDwgMTYpCisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYyX09GRlNFVCAgICAgICAgOAorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWMl9NQVNLICAgICAgICAgICgweDNmIDw8IDgpCisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYxX09GRlNFVCAgICAgICAgMAorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWMV9NQVNLICAgICAgICAgIDB4M2YKKworI2RlZmluZSBDQ01fUENDUjBfQ1NQSTFfT0ZGU0VUICAgICAgICAgIDMxCisjZGVmaW5lIENDTV9QQ0NSMF9DU1BJMV9NQVNLICAgICAgICAgICAgKDEgPDwgMzEpCisjZGVmaW5lIENDTV9QQ0NSMF9DU1BJMl9PRkZTRVQgICAgICAgICAgMzAKKyNkZWZpbmUgQ0NNX1BDQ1IwX0NTUEkyX01BU0sgICAgICAgICAgICAoMSA8PCAzMCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0NTUEkzX09GRlNFVCAgICAgICAgICAyOQorI2RlZmluZSBDQ01fUENDUjBfQ1NQSTNfTUFTSyAgICAgICAgICAgICgxIDw8IDI5KQorI2RlZmluZSBDQ01fUENDUjBfRE1BX09GRlNFVCAgICAgICAgICAgIDI4CisjZGVmaW5lIENDTV9QQ0NSMF9ETUFfTUFTSyAgICAgICAgICAgICAgKDEgPDwgMjgpCisjZGVmaW5lIENDTV9QQ0NSMF9FTU1BX09GRlNFVCAgICAgICAgICAgMjcKKyNkZWZpbmUgQ0NNX1BDQ1IwX0VNTUFfTUFTSyAgICAgICAgICAgICAoMSA8PCAyNykKKyNkZWZpbmUgQ0NNX1BDQ1IwX0ZFQ19PRkZTRVQgICAgICAgICAgICAyNgorI2RlZmluZSBDQ01fUENDUjBfRkVDX01BU0sgICAgICAgICAgICAgICgxIDw8IDI2KQorI2RlZmluZSBDQ01fUENDUjBfR1BJT19PRkZTRVQgICAgICAgICAgIDI1CisjZGVmaW5lIENDTV9QQ0NSMF9HUElPX01BU0sgICAgICAgICAgICAgKDEgPDwgMjUpCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQxX09GRlNFVCAgICAgICAgICAgMjQKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDFfTUFTSyAgICAgICAgICAgICAoMSA8PCAyNCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDJfT0ZGU0VUICAgICAgICAgICAyMworI2RlZmluZSBDQ01fUENDUjBfR1BUMl9NQVNLICAgICAgICAgICAgICgxIDw8IDIzKQorI2RlZmluZSBDQ01fUENDUjBfR1BUM19PRkZTRVQgICAgICAgICAgIDIyCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQzX01BU0sgICAgICAgICAgICAgKDEgPDwgMjIpCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQ0X09GRlNFVCAgICAgICAgICAgMjEKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDRfTUFTSyAgICAgICAgICAgICAoMSA8PCAyMSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDVfT0ZGU0VUICAgICAgICAgICAyMAorI2RlZmluZSBDQ01fUENDUjBfR1BUNV9NQVNLICAgICAgICAgICAgICgxIDw8IDIwKQorI2RlZmluZSBDQ01fUENDUjBfR1BUNl9PRkZTRVQgICAgICAgICAgIDE5CisjZGVmaW5lIENDTV9QQ0NSMF9HUFQ2X01BU0sgICAgICAgICAgICAgKDEgPDwgMTkpCisjZGVmaW5lIENDTV9QQ0NSMF9JMkMxX09GRlNFVCAgICAgICAgICAgMTgKKyNkZWZpbmUgQ0NNX1BDQ1IwX0kyQzFfTUFTSyAgICAgICAgICAgICAoMSA8PCAxOCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0kyQzJfT0ZGU0VUICAgICAgICAgICAxNworI2RlZmluZSBDQ01fUENDUjBfSTJDMl9NQVNLICAgICAgICAgICAgICgxIDw8IDE3KQorI2RlZmluZSBDQ01fUENDUjBfSUlNX09GRlNFVCAgICAgICAgICAgIDE2CisjZGVmaW5lIENDTV9QQ0NSMF9JSU1fTUFTSyAgICAgICAgICAgICAgKDEgPDwgMTYpCisjZGVmaW5lIENDTV9QQ0NSMF9LUFBfT0ZGU0VUICAgICAgICAgICAgMTUKKyNkZWZpbmUgQ0NNX1BDQ1IwX0tQUF9NQVNLICAgICAgICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0xDRENfT0ZGU0VUICAgICAgICAgICAxNAorI2RlZmluZSBDQ01fUENDUjBfTENEQ19NQVNLICAgICAgICAgICAgICgxIDw8IDE0KQorI2RlZmluZSBDQ01fUENDUjBfTVNIQ19PRkZTRVQgICAgICAgICAgIDEzCisjZGVmaW5lIENDTV9QQ0NSMF9NU0hDX01BU0sgICAgICAgICAgICAgKDEgPDwgMTMpCisjZGVmaW5lIENDTV9QQ0NSMF9PV0lSRV9PRkZTRVQgICAgICAgICAgMTIKKyNkZWZpbmUgQ0NNX1BDQ1IwX09XSVJFX01BU0sgICAgICAgICAgICAoMSA8PCAxMikKKyNkZWZpbmUgQ0NNX1BDQ1IwX1BXTV9PRkZTRVQgICAgICAgICAgICAxMQorI2RlZmluZSBDQ01fUENDUjBfUFdNX01BU0sgICAgICAgICAgICAgICgxIDw8IDExKQorI2RlZmluZSBDQ01fUENDUjBfUlRDX09GRlNFVCAgICAgICAgICAgIDkKKyNkZWZpbmUgQ0NNX1BDQ1IwX1JUQ19NQVNLICAgICAgICAgICAgICAoMSA8PCA5KQorI2RlZmluZSBDQ01fUENDUjBfUlRJQ19PRkZTRVQgICAgICAgICAgIDgKKyNkZWZpbmUgQ0NNX1BDQ1IwX1JUSUNfTUFTSyAgICAgICAgICAgICAoMSA8PCA4KQorI2RlZmluZSBDQ01fUENDUjBfU0FIQVJBX09GRlNFVCAgICAgICAgIDcKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NBSEFSQV9NQVNLICAgICAgICAgICAoMSA8PCA3KQorI2RlZmluZSBDQ01fUENDUjBfU0NDX09GRlNFVCAgICAgICAgICAgIDYKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NDQ19NQVNLICAgICAgICAgICAgICAoMSA8PCA2KQorI2RlZmluZSBDQ01fUENDUjBfU0RIQzFfT0ZGU0VUICAgICAgICAgIDUKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMxX01BU0sgICAgICAgICAgICAoMSA8PCA1KQorI2RlZmluZSBDQ01fUENDUjBfU0RIQzJfT0ZGU0VUICAgICAgICAgIDQKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMyX01BU0sgICAgICAgICAgICAoMSA8PCA0KQorI2RlZmluZSBDQ01fUENDUjBfU0RIQzNfT0ZGU0VUICAgICAgICAgIDMKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMzX01BU0sgICAgICAgICAgICAoMSA8PCAzKQorI2RlZmluZSBDQ01fUENDUjBfU0xDRENfT0ZGU0VUICAgICAgICAgIDIKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NMQ0RDX01BU0sgICAgICAgICAgICAoMSA8PCAyKQorI2RlZmluZSBDQ01fUENDUjBfU1NJMV9JUEdfT0ZGU0VUICAgICAgIDEKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NTSTFfSVBHX01BU0sgICAgICAgICAoMSA8PCAxKQorI2RlZmluZSBDQ01fUENDUjBfU1NJMl9JUEdfT0ZGU0VUICAgICAgIDAKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NTSTJfSVBHX01BU0sgICAgICAgICAoMSA8PCAwKQorCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUMV9PRkZTRVQgICAgICAgICAgMzEKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQxX01BU0sgICAgICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQyX09GRlNFVCAgICAgICAgICAzMAorI2RlZmluZSBDQ01fUENDUjFfVUFSVDJfTUFTSyAgICAgICAgICAgICgxIDw8IDMwKQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDNfT0ZGU0VUICAgICAgICAgIDI5CisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUM19NQVNLICAgICAgICAgICAgKDEgPDwgMjkpCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUNF9PRkZTRVQgICAgICAgICAgMjgKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQ0X01BU0sgICAgICAgICAgICAoMSA8PCAyOCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQ1X09GRlNFVCAgICAgICAgICAyNworI2RlZmluZSBDQ01fUENDUjFfVUFSVDVfTUFTSyAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDZfT0ZGU0VUICAgICAgICAgIDI2CisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUNl9NQVNLICAgICAgICAgICAgKDEgPDwgMjYpCisjZGVmaW5lIENDTV9QQ0NSMV9VU0JPVEdfT0ZGU0VUICAgICAgICAgMjUKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VTQk9UR19NQVNLICAgICAgICAgICAoMSA8PCAyNSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1dEVF9PRkZTRVQgICAgICAgICAgICAyNAorI2RlZmluZSBDQ01fUENDUjFfV0RUX01BU0sgICAgICAgICAgICAgICgxIDw8IDI0KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19BVEFfT0ZGU0VUICAgICAgIDIzCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0FUQV9NQVNLICAgICAgICAgKDEgPDwgMjMpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0JST01fT0ZGU0VUICAgICAgMjIKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfQlJPTV9NQVNLICAgICAgICAoMSA8PCAyMikKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfQ1NJX09GRlNFVCAgICAgICAyMQorI2RlZmluZSBDQ01fUENDUjFfSENMS19DU0lfTUFTSyAgICAgICAgICgxIDw8IDIxKQorI2RlZmluZSBDQ01fUENDUjFfSENMS19ETUFfT0ZGU0VUICAgICAgIDIwCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0RNQV9NQVNLICAgICAgICAgKDEgPDwgMjApCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0VNSV9PRkZTRVQgICAgICAgMTkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRU1JX01BU0sgICAgICAgICAoMSA8PCAxOSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRU1NQV9PRkZTRVQgICAgICAxOAorI2RlZmluZSBDQ01fUENDUjFfSENMS19FTU1BX01BU0sgICAgICAgICgxIDw8IDE4KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19GRUNfT0ZGU0VUICAgICAgIDE3CisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0ZFQ19NQVNLICAgICAgICAgKDEgPDwgMTcpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1ZQVV9PRkZTRVQgICAgICAgMTYKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfVlBVX01BU0sgICAgICAgICAoMSA8PCAxNikKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfTENEQ19PRkZTRVQgICAgICAxNQorI2RlZmluZSBDQ01fUENDUjFfSENMS19MQ0RDX01BU0sgICAgICAgICgxIDw8IDE1KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19SVElDX09GRlNFVCAgICAgIDE0CisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1JUSUNfTUFTSyAgICAgICAgKDEgPDwgMTQpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1NBSEFSQV9PRkZTRVQgICAgMTMKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfU0FIQVJBX01BU0sgICAgICAoMSA8PCAxMykKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfU0xDRENfT0ZGU0VUICAgICAxMgorI2RlZmluZSBDQ01fUENDUjFfSENMS19TTENEQ19NQVNLICAgICAgICgxIDw8IDEyKQorI2RlZmluZSBDQ01fUENDUjFfSENMS19VU0JPVEdfT0ZGU0VUICAgIDExCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1VTQk9UR19NQVNLICAgICAgKDEgPDwgMTEpCisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEsxX09GRlNFVCAgICAgICAgMTAKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzFfTUFTSyAgICAgICAgICAoMSA8PCAxMCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzJfT0ZGU0VUICAgICAgICA5CisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEsyX01BU0sgICAgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzNfT0ZGU0VUICAgICAgICA4CisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEszX01BU0sgICAgICAgICAgKDEgPDwgOCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzRfT0ZGU0VUICAgICAgICA3CisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEs0X01BU0sgICAgICAgICAgKDEgPDwgNykKKyNkZWZpbmUgQ0NNX1BDQ1IxX1ZQVV9CQVVEX09GRlNFVCAgICAgICA2CisjZGVmaW5lIENDTV9QQ0NSMV9WUFVfQkFVRF9NQVNLICAgICAgICAgKDEgPDwgNikKKyNkZWZpbmUgQ0NNX1BDQ1IxX1NTSTFfQkFVRF9PRkZTRVQgICAgICA1CisjZGVmaW5lIENDTV9QQ0NSMV9TU0kxX0JBVURfTUFTSyAgICAgICAgKDEgPDwgNSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1NTSTJfQkFVRF9PRkZTRVQgICAgICA0CisjZGVmaW5lIENDTV9QQ0NSMV9TU0kyX0JBVURfTUFTSyAgICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX05GQ19CQVVEX09GRlNFVCAgICAgICAzCisjZGVmaW5lIENDTV9QQ0NSMV9ORkNfQkFVRF9NQVNLICAgICAgICAgKDEgPDwgMykKKyNkZWZpbmUgQ0NNX1BDQ1IxX01TSENfQkFVRF9PRkZTRVQgICAgICAyCisjZGVmaW5lIENDTV9QQ0NSMV9NU0hDX0JBVURfTUFTSyAgICAgICAgKDEgPDwgMikKKworI2RlZmluZSBDQ01fQ0NTUl8zMktTUiAgICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX0NDU1JfQ0xLTU9ERTEgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgQ0NNX0NDU1JfQ0xLTU9ERTAgICAgICAgKDEgPDwgOCkKKyNkZWZpbmUgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQgMAorI2RlZmluZSBDQ01fQ0NTUl9DTEtPU0VMX01BU0sgICAweDFmCisKKyNkZWZpbmUgU1lTX0ZNQ1IgICAgICAgICAgICAgICAgMHgxNAkvKiAgRnVuY3Rpb25hbCBNdXhpbmcgQ29udHJvbCBSZWcgKi8KKyNkZWZpbmUgU1lTX0NISVBfSUQgICAgICAgICAgICAgMHgwMAkvKiBUaGUgb2Zmc2V0IG9mIENISVAgSUQgcmVnaXN0ZXIgKi8KKworI2VuZGlmIC8qIF9fQVJDSF9BUk1fTUFDSF9NWDJfQ1JNX1JFR1NfSF9fICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9kZXZpY2VzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFmNDRjMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL2RldmljZXMuYwpAQCAtMCwwICsxLDIzMSBAQAorLyoKKyAqIEF1dGhvcjogTW9udGFWaXN0YSBTb2Z0d2FyZSwgSW5jLgorICogICAgICAgPHNvdXJjZUBtdmlzdGEuY29tPgorICoKKyAqIEJhc2VkIG9uIHRoZSBPTUFQIGRldmljZXMuYworICoKKyAqIDIwMDUgKGMpIE1vbnRhVmlzdGEgU29mdHdhcmUsIEluYy4gVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4gVGhpcyBwcm9ncmFtIGlzCisgKiBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55IHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3MKKyAqIG9yIGltcGxpZWQuCisgKgorICogQ29weXJpZ2h0IDIwMDYtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworLyoKKyAqIFJlc291cmNlIGRlZmluaXRpb24gZm9yIHRoZSBNWEMgSXJEQQorICovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG14Y19pcmRhX3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0ICAgPSBVQVJUM19CQVNFX0FERFIsCisJCS5lbmQgICAgID0gVUFSVDNfQkFTRV9BRERSICsgU1pfNEsgLSAxLAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfVUFSVDMsCisJCS5lbmQgICAgID0gTVhDX0lOVF9VQVJUMywKKwkJLmZsYWdzICAgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworLyogUGxhdGZvcm0gRGF0YSBmb3IgTVhDIElyREEgKi8KK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2lyZGFfZGV2aWNlID0geworCS5uYW1lID0gIm14Y19pcmRhIiwKKwkuaWQgPSAwLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRShteGNfaXJkYV9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IG14Y19pcmRhX3Jlc291cmNlcywKK307CisKKy8qCisgKiBHZW5lcmFsIFB1cnBvc2UgVGltZXIKKyAqIC0gaS5NWDE6IDIgdGltZXIgKHNsaWdobHkgZGlmZmVyZW50IHJlZ2lzdGVyIGhhbmRsaW5nKQorICogLSBpLk1YMjE6IDMgdGltZXIKKyAqIC0gaS5NWDI3OiA2IHRpbWVyCisgKi8KKworLyogV2UgdXNlIGdwdDAgYXMgc3lzdGVtIHRpbWVyLCBzbyBkbyBub3QgYWRkIGEgZGV2aWNlIGZvciB0aGlzIG9uZSAqLworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHRpbWVyMV9yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEdQVDJfQkFTRV9BRERSLAorCQkuZW5kCT0gR1BUMl9CQVNFX0FERFIgKyAweDE3LAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfR1BUMiwKKwkJLmVuZCAgICAgPSBNWENfSU5UX0dQVDIsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9JUlEsCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfZ3B0MSA9IHsKKwkubmFtZSA9ICJpbXhfZ3B0IiwKKwkuaWQgPSAxLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh0aW1lcjFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSB0aW1lcjFfcmVzb3VyY2VzCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHRpbWVyMl9yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEdQVDNfQkFTRV9BRERSLAorCQkuZW5kCT0gR1BUM19CQVNFX0FERFIgKyAweDE3LAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfR1BUMywKKwkJLmVuZCAgICAgPSBNWENfSU5UX0dQVDMsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9JUlEsCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfZ3B0MiA9IHsKKwkubmFtZSA9ICJpbXhfZ3B0IiwKKwkuaWQgPSAyLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh0aW1lcjJfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSB0aW1lcjJfcmVzb3VyY2VzCit9OworCisjaWZkZWYgQ09ORklHX01BQ0hfTVgyNworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjNfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQ0X0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDRfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDQsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQ0LAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDMgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gMywKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXIzX3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXIzX3Jlc291cmNlcworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjRfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQ1X0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDVfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDUsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQ1LAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDQgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gNCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXI0X3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXI0X3Jlc291cmNlcworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjVfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQ2X0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDZfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDYsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQ2LAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDUgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gNSwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXI1X3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXI1X3Jlc291cmNlcworfTsKKyNlbmRpZgorCisvKgorICogV2F0Y2hkb2c6CisgKiAtIGkuTVgxCisgKiAtIGkuTVgyMQorICogLSBpLk1YMjcKKyAqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBteGNfd2R0X3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gV0RPR19CQVNFX0FERFIsCisJCS5lbmQJPSBXRE9HX0JBU0VfQUREUiArIDB4MzAsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y193ZHQgPSB7CisJLm5hbWUgPSAibXhjX3dkdCIsCisJLmlkID0gMCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUobXhjX3dkdF9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IG14Y193ZHRfcmVzb3VyY2VzLAorfTsKKworLyogR1BJTyBwb3J0IGRlc2NyaXB0aW9uICovCitzdGF0aWMgc3RydWN0IG14Y19ncGlvX3BvcnQgaW14X2dwaW9fcG9ydHNbXSA9IHsKKwlbMF0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMCIsCisJCS5pcnEgPSBNWENfSU5UX0dQSU8sCisJCS5iYXNlID0gKHZvaWQqKShBSVBJX0JBU0VfQUREUl9WSVJUICsgMHgxNTAwMCArIDB4MTAwICogMCksCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19NQVhfSU5UX0xJTkVTLAorCX0sCisJWzFdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTEiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDEpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDMyLAorCX0sCisJWzJdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTIiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDIpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDY0LAorCX0sCisJWzNdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTMiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDMpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDk2LAorCX0sCisJWzRdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTQiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDQpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDEyOCwKKwl9LAorCVs1XSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby01IiwKKwkJLmJhc2UgPSAodm9pZCopKEFJUElfQkFTRV9BRERSX1ZJUlQgKyAweDE1MDAwICsgMHgxMDAgKiA1KSwKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX01BWF9JTlRfTElORVMgKyAxNjAsCisJfQorfTsKKworaW50IF9faW5pdCBteGNfcmVnaXN0ZXJfZ3Bpb3Modm9pZCkKK3sKKwlyZXR1cm4gbXhjX2dwaW9faW5pdChpbXhfZ3Bpb19wb3J0cywgQVJSQVlfU0laRShpbXhfZ3Bpb19wb3J0cykpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvZ2VuZXJpYy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvZ2VuZXJpYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ODc1Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9nZW5lcmljLmMKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIGdlbmVyaWMuYworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKworLyogTVgyNyBtZW1vcnkgbWFwIGRlZmluaXRpb24gKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgbXhjX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCS8qCisJICogdGhpcyBmaXhlZCBtYXBwaW5nIGNvdmVyczoKKwkgKiAtIEFJUEkxCisJICogLSBBSVBJMgorCSAqIC0gQUlUQworCSAqIC0gUk9NIFBhdGNoCisJICogLSBhbmQgc29tZSByZXNlcnZlZCBzcGFjZQorCSAqLworCXsKKwkJLnZpcnR1YWwgPSBBSVBJX0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihBSVBJX0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBBSVBJX1NJWkUsCisJCS50eXBlID0gTVRfREVWSUNFCisJfSwKKwkvKgorCSAqIHRoaXMgZml4ZWQgbWFwcGluZyBjb3ZlcnM6CisJICogLSBDU0kKKwkgKiAtIEFUQQorCSAqLworCXsKKwkJLnZpcnR1YWwgPSBTQUhCMV9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oU0FIQjFfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IFNBSEIxX1NJWkUsCisJCS50eXBlID0gTVRfREVWSUNFCisJfSwKKwkvKgorCSAqIHRoaXMgZml4ZWQgbWFwcGluZyBjb3ZlcnM6CisJICogLSBFTUkKKwkgKi8KKwl7CisJCS52aXJ0dWFsID0gWF9NRU1DX0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihYX01FTUNfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IFhfTUVNQ19TSVpFLAorCQkudHlwZSA9IE1UX0RFVklDRQorCX0KK307CisKKy8qCisgKiBJbml0aWFsaXplIHRoZSBtZW1vcnkgbWFwLiBJdCBpcyBjYWxsZWQgZHVyaW5nIHRoZQorICogc3lzdGVtIHN0YXJ0dXAgdG8gY3JlYXRlIHN0YXRpYyBwaHlzaWNhbCB0byB2aXJ0dWFsCisgKiBtZW1vcnkgbWFwIGZvciB0aGUgSU8gbW9kdWxlcy4KKyAqLwordm9pZCBfX2luaXQgbXhjX21hcF9pbyh2b2lkKQoreworCWlvdGFibGVfaW5pdChteGNfaW9fZGVzYywgQVJSQVlfU0laRShteGNfaW9fZGVzYykpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvbXgyN2Fkcy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvbXgyN2Fkcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZmYwMWYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9teDI3YWRzLmMKQEAgLTAsMCArMSwzMDQgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDAwIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkCisgKiAgQ29weXJpZ2h0IChDKSAyMDAyIFNoYW5lIE5heSAoc2hhbmVAbWluaXJsLmNvbSkKKyAqICBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9wYXJ0aXRpb25zLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW9tdXgtbXgxLW14Mi5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MjdhZHMuaD4KKworLyogQURTJ3MgTk9SIGZsYXNoICovCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBteDI3YWRzX2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoID0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXgyN2Fkc19mbGFzaF9yZXNvdXJjZSA9IHsKKwkuc3RhcnQgPSAweGMwMDAwMDAwLAorCS5lbmQgPSAweGMwMDAwMDAwICsgMHgwMjAwMDAwMCAtIDEsCisJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14MjdhZHNfbm9yX210ZF9kZXZpY2UgPSB7CisJLm5hbWUgPSAicGh5c21hcC1mbGFzaCIsCisJLmlkID0gMCwKKwkuZGV2ID0geworCQkucGxhdGZvcm1fZGF0YSA9ICZteDI3YWRzX2ZsYXNoX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcyA9IDEsCisJLnJlc291cmNlID0gJm14MjdhZHNfZmxhc2hfcmVzb3VyY2UsCit9OworCitzdGF0aWMgaW50IG14Y191YXJ0MF9waW5zW10gPSB7CisJUEUxMl9QRl9VQVJUMV9UWEQsCisJUEUxM19QRl9VQVJUMV9SWEQsCisJUEUxNF9QRl9VQVJUMV9DVFMsCisJUEUxNV9QRl9VQVJUMV9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQwIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMCIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0MV9waW5zW10gPSB7CisJUEUzX1BGX1VBUlQyX0NUUywKKwlQRTRfUEZfVUFSVDJfUlRTLAorCVBFNl9QRl9VQVJUMl9UWEQsCisJUEU3X1BGX1VBUlQyX1JYRAorfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDEiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQxIik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQyX3BpbnNbXSA9IHsKKwlQRThfUEZfVUFSVDNfVFhELAorCVBFOV9QRl9VQVJUM19SWEQsCisJUEUxMF9QRl9VQVJUM19DVFMsCisJUEUxMV9QRl9VQVJUM19SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQyIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMiIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0M19waW5zW10gPSB7CisJUEIyNl9BRl9VQVJUNF9SVFMsCisJUEIyOF9BRl9VQVJUNF9UWEQsCisJUEIyOV9BRl9VQVJUNF9DVFMsCisJUEIzMV9BRl9VQVJUNF9SWEQKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDNfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0M19waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQzIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDNfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0M19waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMyIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0NF9waW5zW10gPSB7CisJUEIxOF9BRl9VQVJUNV9UWEQsCisJUEIxOV9BRl9VQVJUNV9SWEQsCisJUEIyMF9BRl9VQVJUNV9DVFMsCisJUEIyMV9BRl9VQVJUNV9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDRfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDRfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQ0Iik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDRfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDRfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUNCIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0NV9waW5zW10gPSB7CisJUEIxMF9BRl9VQVJUNl9UWEQsCisJUEIxMl9BRl9VQVJUNl9DVFMsCisJUEIxMV9BRl9VQVJUNl9SWEQsCisJUEIxM19BRl9VQVJUNl9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDVfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NV9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDVfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQ1Iik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDVfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0NV9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDVfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUNSIpOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJm14MjdhZHNfbm9yX210ZF9kZXZpY2UsCit9OworCitzdGF0aWMgaW50IG14Y19mZWNfcGluc1tdID0geworCVBEMF9BSU5fRkVDX1RYRDAsCisJUEQxX0FJTl9GRUNfVFhEMSwKKwlQRDJfQUlOX0ZFQ19UWEQyLAorCVBEM19BSU5fRkVDX1RYRDMsCisJUEQ0X0FPVVRfRkVDX1JYX0VSLAorCVBENV9BT1VUX0ZFQ19SWEQxLAorCVBENl9BT1VUX0ZFQ19SWEQyLAorCVBEN19BT1VUX0ZFQ19SWEQzLAorCVBEOF9BRl9GRUNfTURJTywKKwlQRDlfQUlOX0ZFQ19NREMsCisJUEQxMF9BT1VUX0ZFQ19DUlMsCisJUEQxMV9BT1VUX0ZFQ19UWF9DTEssCisJUEQxMl9BT1VUX0ZFQ19SWEQwLAorCVBEMTNfQU9VVF9GRUNfUlhfRFYsCisJUEQxNF9BT1VUX0ZFQ19DTFIsCisJUEQxNV9BT1VUX0ZFQ19DT0wsCisJUEQxNl9BSU5fRkVDX1RYX0VSLAorCVBGMjNfQUlOX0ZFQ19UWF9FTgorfTsKKworc3RhdGljIHZvaWQgZ3Bpb19mZWNfYWN0aXZlKHZvaWQpCit7CisJbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfZmVjX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y19mZWNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIkZFQyIpOworfQorCitzdGF0aWMgdm9pZCBncGlvX2ZlY19pbmFjdGl2ZSh2b2lkKQoreworCW14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX2ZlY19waW5zLAorCQkJQVJSQVlfU0laRShteGNfZmVjX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiRkVDIik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhIHVhcnRfcGRhdGFbXSA9IHsKKwl7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDBfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0MF9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0MV9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQxX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQyX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDJfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDNfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0M19leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0NF9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQ0X2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQ1X2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDVfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IG14MjdhZHNfYm9hcmRfaW5pdCh2b2lkKQoreworCWludCBpOworCisJZ3Bpb19mZWNfYWN0aXZlKCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQorCQlpbXhfaW5pdF91YXJ0KGksICZ1YXJ0X3BkYXRhW2ldKTsKKworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHBsYXRmb3JtX2RldmljZXMsIEFSUkFZX1NJWkUocGxhdGZvcm1fZGV2aWNlcykpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgbXgyN2Fkc190aW1lcl9pbml0KHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmcmVmID0gMjYwMDAwMDA7CisKKwlpZiAoKF9fcmF3X3JlYWR3KFBCQ19WRVJTSU9OX1JFRykgJiBDS0lIXzI3TUhaX0JJVF9TRVQpID09IDApCisJCWZyZWYgPSAyNzAwMDAwMDsKKworCW14Y19jbG9ja3NfaW5pdChmcmVmKTsKKwlteGNfdGltZXJfaW5pdCgiZ3B0X2Nsay4wIik7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgbXgyN2Fkc190aW1lciA9IHsKKwkuaW5pdAk9IG14MjdhZHNfdGltZXJfaW5pdCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgbXgyN2Fkc19pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS52aXJ0dWFsID0gUEJDX0JBU0VfQUREUkVTUywKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQ1M0X0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBTWl8xTSwKKwkJLnR5cGUgPSBNVF9ERVZJQ0UsCisJfSwKK307CisKK3ZvaWQgX19pbml0IG14MjdhZHNfbWFwX2lvKHZvaWQpCit7CisJbXhjX21hcF9pbygpOworCWlvdGFibGVfaW5pdChteDI3YWRzX2lvX2Rlc2MsIEFSUkFZX1NJWkUobXgyN2Fkc19pb19kZXNjKSk7Cit9CisKK01BQ0hJTkVfU1RBUlQoTVgyN0FEUywgIkZyZWVzY2FsZSBpLk1YMjdBRFMiKQorCS8qIG1haW50YWluZXI6IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuICovCisJLnBoeXNfaW8gICAgICAgID0gQUlQSV9CQVNFX0FERFIsCisJLmlvX3BnX29mZnN0ICAgID0gKChBSVBJX0JBU0VfQUREUl9WSVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zICAgID0gUEhZU19PRkZTRVQgKyAweDEwMCwKKwkubWFwX2lvICAgICAgICAgPSBteDI3YWRzX21hcF9pbywKKwkuaW5pdF9pcnEgICAgICAgPSBteGNfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZSAgID0gbXgyN2Fkc19ib2FyZF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZteDI3YWRzX3RpbWVyLAorTUFDSElORV9FTkQKKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvcGNtMDM4LmMgYi9hcmNoL2FybS9tYWNoLW14Mi9wY20wMzguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWEyOGY1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvcGNtMDM4LmMKQEAgLTAsMCArMSwyMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNyBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorICogQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14MS1teDIuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW14LXVhcnQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1wY20wMzguaD4KKworLyoKKyAqIFBoeXRlYydzIHBoeUNPUkUtaS5NWDI3IGNvbWVzIHdpdGggMzJNaUIgZmxhc2gsCisgKiAxNiBiaXQgd2lkdGgKKyAqLworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgcGNtMDM4X2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoID0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcGNtMDM4X2ZsYXNoX3Jlc291cmNlID0geworCS5zdGFydCA9IDB4YzAwMDAwMDAsCisJLmVuZCAgID0gMHhjMWZmZmZmZiwKKwkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBjbTAzOF9ub3JfbXRkX2RldmljZSA9IHsKKwkubmFtZSA9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQgPSAwLAorCS5kZXYgPSB7CisJCS5wbGF0Zm9ybV9kYXRhID0gJnBjbTAzOF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMgPSAxLAorCS5yZXNvdXJjZSA9ICZwY20wMzhfZmxhc2hfcmVzb3VyY2UsCit9OworCitzdGF0aWMgaW50IG14Y191YXJ0MF9waW5zW10gPSB7CisJUEUxMl9QRl9VQVJUMV9UWEQsCisJUEUxM19QRl9VQVJUMV9SWEQsCisJUEUxNF9QRl9VQVJUMV9DVFMsCisJUEUxNV9QRl9VQVJUMV9SVFMKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQwIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDBfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MF9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDBfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMCIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0MV9waW5zW10gPSB7CisJUEUzX1BGX1VBUlQyX0NUUywKKwlQRTRfUEZfVUFSVDJfUlRTLAorCVBFNl9QRl9VQVJUMl9UWEQsCisJUEU3X1BGX1VBUlQyX1JYRAorfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDEiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MV9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQxX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQxIik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQyX3BpbnNbXSA9IHsgUEUxMF9QRl9VQVJUM19DVFMsCisJCQkJUEU5X1BGX1VBUlQzX1JYRCwKKwkJCQlQRTEwX1BGX1VBUlQzX0NUUywKKwkJCQlQRTlfUEZfVUFSVDNfUlhEIH07CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQyIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDJfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0Ml9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDJfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMiIpOworfQorCitzdGF0aWMgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSB1YXJ0X3BkYXRhW10gPSB7CisJeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQwX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDBfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDFfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0MV9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0Ml9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQyX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwKK307CisKK3N0YXRpYyBpbnQgbXhjX2ZlY19waW5zW10gPSB7CisJUEQwX0FJTl9GRUNfVFhEMCwKKwlQRDFfQUlOX0ZFQ19UWEQxLAorCVBEMl9BSU5fRkVDX1RYRDIsCisJUEQzX0FJTl9GRUNfVFhEMywKKwlQRDRfQU9VVF9GRUNfUlhfRVIsCisJUEQ1X0FPVVRfRkVDX1JYRDEsCisJUEQ2X0FPVVRfRkVDX1JYRDIsCisJUEQ3X0FPVVRfRkVDX1JYRDMsCisJUEQ4X0FGX0ZFQ19NRElPLAorCVBEOV9BSU5fRkVDX01EQywKKwlQRDEwX0FPVVRfRkVDX0NSUywKKwlQRDExX0FPVVRfRkVDX1RYX0NMSywKKwlQRDEyX0FPVVRfRkVDX1JYRDAsCisJUEQxM19BT1VUX0ZFQ19SWF9EViwKKwlQRDE0X0FPVVRfRkVDX0NMUiwKKwlQRDE1X0FPVVRfRkVDX0NPTCwKKwlQRDE2X0FJTl9GRUNfVFhfRVIsCisJUEYyM19BSU5fRkVDX1RYX0VOCit9OworCitzdGF0aWMgdm9pZCBncGlvX2ZlY19hY3RpdmUodm9pZCkKK3sKKwlteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y19mZWNfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX2ZlY19waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiRkVDIik7Cit9CisKK3N0YXRpYyB2b2lkIGdwaW9fZmVjX2luYWN0aXZlKHZvaWQpCit7CisJbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfZmVjX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y19mZWNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJGRUMiKTsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRmb3JtX2RldmljZXNbXSBfX2luaXRkYXRhID0geworCSZwY20wMzhfbm9yX210ZF9kZXZpY2UsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcGNtMDM4X2luaXQodm9pZCkKK3sKKwlpbnQgaTsKKwlncGlvX2ZlY19hY3RpdmUoKTsKKworCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspCisJCWlteF9pbml0X3VhcnQoaSwgJnVhcnRfcGRhdGFbaV0pOworCisJcGxhdGZvcm1fYWRkX2RldmljZXMocGxhdGZvcm1fZGV2aWNlcywgQVJSQVlfU0laRShwbGF0Zm9ybV9kZXZpY2VzKSk7CisKKyNpZmRlZiBDT05GSUdfTUFDSF9QQ005NzBfQkFTRUJPQVJECisJcGNtOTcwX2Jhc2Vib2FyZF9pbml0KCk7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgX19pbml0IHBjbTAzOF90aW1lcl9pbml0KHZvaWQpCit7CisJbXhjX2Nsb2Nrc19pbml0KDI2MDAwMDAwKTsKKwlteGNfdGltZXJfaW5pdCgiZ3B0X2Nsay4wIik7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgcGNtMDM4X3RpbWVyID0geworCS5pbml0ID0gcGNtMDM4X3RpbWVyX2luaXQsCit9OworCitNQUNISU5FX1NUQVJUKFBDTTAzOCwgInBoeUNPUkUtaS5NWDI3IikKKwkucGh5c19pbyAgICAgICAgPSBBSVBJX0JBU0VfQUREUiwKKwkuaW9fcGdfb2Zmc3QgICAgPSAoKEFJUElfQkFTRV9BRERSX1ZJUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMgICAgPSBQSFlTX09GRlNFVCArIDB4MTAwLAorCS5tYXBfaW8gICAgICAgICA9IG14Y19tYXBfaW8sCisJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUgICA9IHBjbTAzOF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZwY20wMzhfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvcGNtOTcwLWJhc2Vib2FyZC5jIGIvYXJjaC9hcm0vbWFjaC1teDIvcGNtOTcwLWJhc2Vib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyOGFjNGQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9wY205NzAtYmFzZWJvYXJkLmMKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisKKy8qCisgKiBzeXN0ZW0gaW5pdCBmb3IgYmFzZWJvYXJkIHVzYWdlLiBXaWxsIGJlIGNhbGxlZCBieSBwY20wMzggaW5pdC4KKyAqCisgKiBBZGQgcGxhdGZvcm0gZGV2aWNlcyBwcmVzZW50IG9uIHRoaXMgYmFzZWJvYXJkIGFuZCBpbml0CisgKiB0aGVtIGZyb20gQ1BVIHNpZGUgYXMgZmFyIGFzIHJlcXVpcmVkIHRvIHVzZSB0aGVtIGxhdGVyIG9uCisgKi8KK3ZvaWQgX19pbml0IHBjbTk3MF9iYXNlYm9hcmRfaW5pdCh2b2lkKQoreworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvc2VyaWFsLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9zZXJpYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzBjMDJiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvc2VyaWFsLmMKQEAgLTAsMCArMSwxNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pbXgtdWFydC5oPgorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQwW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUMV9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUMV9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQxLAorCQkuZW5kID0gTVhDX0lOVF9VQVJUMSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTAgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDAsCisJLnJlc291cmNlID0gdWFydDAsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQwKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDFbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQyX0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQyX0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDIsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQyLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMSA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMSwKKwkucmVzb3VyY2UgPSB1YXJ0MSwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDEpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0MltdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDNfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDNfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUMywKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UyID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAyLAorCS5yZXNvdXJjZSA9IHVhcnQyLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MiksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQzW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUNF9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUNF9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQ0LAorCQkuZW5kID0gTVhDX0lOVF9VQVJUNCwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTMgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDMsCisJLnJlc291cmNlID0gdWFydDMsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQzKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDRbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQ1X0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQ1X0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDUsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQ1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlNCA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gNCwKKwkucmVzb3VyY2UgPSB1YXJ0NCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDQpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0NVtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDZfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDZfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUNiwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDYsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2U1ID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSA1LAorCS5yZXNvdXJjZSA9IHVhcnQ1LAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0NSksCit9OworCisvKgorICogUmVnaXN0ZXIgb25seSB0aG9zZSBVQVJUcyB0aGF0IHBoeXNpY2FsbHkgZXhpc3RzCisgKi8KK2ludCBfX2luaXQgaW14X2luaXRfdWFydChpbnQgdWFydF9ubywgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSAqcGRhdGEpCit7CisJc3dpdGNoICh1YXJ0X25vKSB7CisJY2FzZSAwOgorCQlteGNfdWFydF9kZXZpY2UwLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMCk7CisJCWJyZWFrOworCWNhc2UgMToKKwkJbXhjX3VhcnRfZGV2aWNlMS5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTEpOworCQlicmVhazsKKyNpZm5kZWYgQ09ORklHX01YQ19JUkRBCisJY2FzZSAyOgorCQlteGNfdWFydF9kZXZpY2UyLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMik7CisJCWJyZWFrOworI2VuZGlmCisJY2FzZSAzOgorCQlteGNfdWFydF9kZXZpY2UzLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMyk7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJbXhjX3VhcnRfZGV2aWNlNC5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTQpOworCQlicmVhazsKKwljYXNlIDU6CisJCW14Y191YXJ0X2RldmljZTUuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2U1KTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9zeXN0ZW0uYyBiL2FyY2gvYXJtL21hY2gtbXgyL3N5c3RlbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5MzA0NjQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9zeXN0ZW0uYwpAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5IEFSTSBMaW1pdGVkCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAgRGVlcCBCbHVlIFNvbHV0aW9ucyBMdGQKKyAqIENvcHlyaWdodCAyMDA2LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vcHJvYy1mbnMuaD4KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CisKKy8qCisgKiBQdXQgdGhlIENQVSBpbnRvIGlkbGUgbW9kZS4gSXQgaXMgY2FsbGVkIGJ5IGRlZmF1bHRfaWRsZSgpCisgKiBpbiBwcm9jZXNzLmMgZmlsZS4KKyAqLwordm9pZCBhcmNoX2lkbGUodm9pZCkKK3sKKwkvKgorCSAqIFRoaXMgc2hvdWxkIGRvIGFsbCB0aGUgY2xvY2sgc3dpdGNoaW5nCisJICogYW5kIHdhaXQgZm9yIGludGVycnVwdCB0cmlja3MuCisJICovCisJY3B1X2RvX2lkbGUoKTsKK30KKworI2RlZmluZSBXRE9HX1dDUl9SRUcgICAgICAgICAgICAgICAgICAgIElPX0FERFJFU1MoV0RPR19CQVNFX0FERFIpCisjZGVmaW5lIFdET0dfV0NSX1NSUyAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKKworLyoKKyAqIFJlc2V0IHRoZSBzeXN0ZW0uIEl0IGlzIGNhbGxlZCBieSBtYWNoaW5lX3Jlc3RhcnQoKS4KKyAqLwordm9pZCBhcmNoX3Jlc2V0KGNoYXIgbW9kZSkKK3sKKwlzdHJ1Y3QgY2xrICpjbGs7CisKKwljbGsgPSBjbGtfZ2V0KE5VTEwsICJ3ZG9nX2NsayIpOworCWlmICghY2xrKSB7CisJCXByaW50ayhLRVJOX0VSUiJDYW5ub3QgYWN0aXZhdGUgdGhlIHdhdGNoZG9nLiBHaXZpbmcgdXBcbiIpOworCQlyZXR1cm47CisJfQorCisJY2xrX2VuYWJsZShjbGspOworCisJLyogQXNzZXJ0IFNSUyBzaWduYWwgKi8KKwlfX3Jhd193cml0ZXcoX19yYXdfcmVhZHcoV0RPR19XQ1JfUkVHKSAmIH5XRE9HX1dDUl9TUlMsIFdET0dfV0NSX1JFRyk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1teDMvS2NvbmZpZwppbmRleCA1ZmU4NjA2Li5kYjk0MzFkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14My9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL0tjb25maWcKQEAgLTgsNSArOCwxOCBAQAogCSAgSW5jbHVkZSBzdXBwb3J0IGZvciBNWDMxQURTIHBsYXRmb3JtLiBUaGlzIGluY2x1ZGVzIHNwZWNpZmljCiAJICBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGJvYXJkIGFuZCBpdHMgcGVyaXBoZXJhbHMuCiAKK2NvbmZpZyBNQUNIX1BDTTAzNworCWJvb2wgIlN1cHBvcnQgUGh5dGVjIHBjbTAzNyBwbGF0Zm9ybXMiCisJaGVscAorCSAgSW5jbHVkZSBzdXBwb3J0IGZvciBQaHl0ZWMgcGNtMDM3IHBsYXRmb3JtLiBUaGlzIGluY2x1ZGVzCisJICBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGJvYXJkIGFuZCBpdHMgcGVyaXBoZXJhbHMuCisKK2NvbmZpZyBNQUNIX01YMzFMSVRFCisJYm9vbCAiU3VwcG9ydCBNWDMxIExJVEVLSVQgKExvZ2ljUEQpIgorCWRlZmF1bHQgbgorCWhlbHAKKwkgIEluY2x1ZGUgc3VwcG9ydCBmb3IgTVgzMSBMSVRFS0lUIHBsYXRmb3JtLiBUaGlzIGluY2x1ZGVzIHNwZWNpZmljCisJICBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGJvYXJkIGFuZCBpdHMgcGVyaXBoZXJhbHMuCisKIGVuZG1lbnUKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW14My9NYWtlZmlsZQppbmRleCBjYmVjOTk3Li44YjIxYWJiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14My9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLW14My9NYWtlZmlsZQpAQCAtNCw1ICs0LDcgQEAKIAogIyBPYmplY3QgZmlsZSBsaXN0cy4KIAotb2JqLXkJCQk6PSBtbS5vIHRpbWUubworb2JqLXkJCQk6PSBtbS5vIGNsb2NrLm8gZGV2aWNlcy5vIGlvbXV4Lm8KIG9iai0kKENPTkZJR19NQUNIX01YMzFBRFMpCSs9IG14MzFhZHMubworb2JqLSQoQ09ORklHX01BQ0hfTVgzMUxJVEUpCSs9IG14MzFsaXRlLm8KK29iai0kKENPTkZJR19NQUNIX1BDTTAzNykJKz0gcGNtMDM3Lm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLW14My9jbG9jay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMzYzNTkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9jbG9jay5jCkBAIC0wLDAgKzEsMTE0NyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA1LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBieSBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vZGl2NjQuaD4KKworI2luY2x1ZGUgImNybV9yZWdzLmgiCisKKyNkZWZpbmUgUFJFX0RJVl9NSU5fRlJFUSAgICAxMDAwMDAwMCAvKiBNaW5pbXVtIEZyZXF1ZW5jeSBhZnRlciBQcmVkaXZpZGVyICovCisKK3N0YXRpYyB2b2lkIF9fY2FsY19wcmVfcG9zdF9kaXZpZGVycyh1MzIgZGl2LCB1MzIgKnByZSwgdTMyICpwb3N0KQoreworCXUzMiBtaW5fcHJlLCB0ZW1wX3ByZSwgb2xkX2VyciwgZXJyOworCisJaWYgKGRpdiA+PSA1MTIpIHsKKwkJKnByZSA9IDg7CisJCSpwb3N0ID0gNjQ7CisJfSBlbHNlIGlmIChkaXYgPj0gNjQpIHsKKwkJbWluX3ByZSA9IChkaXYgLSAxKSAvIDY0ICsgMTsKKwkJb2xkX2VyciA9IDg7CisJCWZvciAodGVtcF9wcmUgPSA4OyB0ZW1wX3ByZSA+PSBtaW5fcHJlOyB0ZW1wX3ByZS0tKSB7CisJCQllcnIgPSBkaXYgJSB0ZW1wX3ByZTsKKwkJCWlmIChlcnIgPT0gMCkgeworCQkJCSpwcmUgPSB0ZW1wX3ByZTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWVyciA9IHRlbXBfcHJlIC0gZXJyOworCQkJaWYgKGVyciA8IG9sZF9lcnIpIHsKKwkJCQlvbGRfZXJyID0gZXJyOworCQkJCSpwcmUgPSB0ZW1wX3ByZTsKKwkJCX0KKwkJfQorCQkqcG9zdCA9IChkaXYgKyAqcHJlIC0gMSkgLyAqcHJlOworCX0gZWxzZSBpZiAoZGl2IDw9IDgpIHsKKwkJKnByZSA9IGRpdjsKKwkJKnBvc3QgPSAxOworCX0gZWxzZSB7CisJCSpwcmUgPSAxOworCQkqcG9zdCA9IGRpdjsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1jdV9wbGxfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgbWN1X21haW5fY2xrOworc3RhdGljIHN0cnVjdCBjbGsgdXNiX3BsbF9jbGs7CitzdGF0aWMgc3RydWN0IGNsayBzZXJpYWxfcGxsX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIGlwZ19jbGs7CitzdGF0aWMgc3RydWN0IGNsayBja2loX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIGFoYl9jbGs7CisKK3N0YXRpYyBpbnQgX2Nsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChjbGstPmVuYWJsZV9yZWcpOworCXJlZyB8PSAzIDw8IGNsay0+ZW5hYmxlX3NoaWZ0OworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgJj0gfigzIDw8IGNsay0+ZW5hYmxlX3NoaWZ0KTsKKwlfX3Jhd193cml0ZWwocmVnLCBjbGstPmVuYWJsZV9yZWcpOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2VtaV9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgJj0gfigzIDw8IGNsay0+ZW5hYmxlX3NoaWZ0KTsKKwlyZWcgfD0gKDEgPDwgY2xrLT5lbmFibGVfc2hpZnQpOworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19wbGxfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZzsKKwlzaWduZWQgbG9uZyBwZCA9IDE7CS8qIFByZS1kaXZpZGVyICovCisJc2lnbmVkIGxvbmcgbWZpOwkvKiBNdWx0aXBsaWNhdGlvbiBGYWN0b3IgKEludGVnZXIgcGFydCkgKi8KKwlzaWduZWQgbG9uZyBtZm47CS8qIE11bHRpcGxpY2F0aW9uIEZhY3RvciAoSW50ZWdlciBwYXJ0KSAqLworCXNpZ25lZCBsb25nIG1mZDsJLyogTXVsdGlwbGljYXRpb24gRmFjdG9yIChEZW5vbWluYXRvciBQYXJ0KSAqLworCXNpZ25lZCBsb25nIHRtcDsKKwl1MzIgcmVmX2ZyZXEgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJd2hpbGUgKCgocmVmX2ZyZXEgLyBwZCkgKiAxMCkgPiByYXRlKQorCQlwZCsrOworCisJaWYgKChyZWZfZnJlcSAvIHBkKSA8IFBSRV9ESVZfTUlOX0ZSRVEpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogdGhlIHJlZl9mcmVxLzIgaW4gdGhlIGZvbGxvd2luZyBpcyB0byByb3VuZCB1cCAqLworCW1maSA9ICgoKHJhdGUgLyAyKSAqIHBkKSArIChyZWZfZnJlcSAvIDIpKSAvIHJlZl9mcmVxOworCWlmIChtZmkgPCA1IHx8IG1maSA+IDE1KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIHBpY2sgYSBtZmQgdmFsdWUgdGhhdCB3aWxsIHdvcmsKKwkgKiB0aGVuIHNvbHZlIGZvciBtZm4gKi8KKwltZmQgPSByZWZfZnJlcSAvIDUwMDAwOworCisJLyoKKwkgKiAgICAgICAgICBwbGxfZnJlcSAqIHBkICogbWZkCisJICogICBtZm4gPSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAgLSAgKG1maSAqIG1mZCkKKwkgKiAgICAgICAgICAgMiAqIHJlZl9mcmVxCisJICovCisJLyogdGhlIHRtcC8yIGlzIGZvciByb3VuZGluZyAqLworCXRtcCA9IHJlZl9mcmVxIC8gMTAwMDA7CisJbWZuID0KKwkgICAgKCgoKCgocmF0ZSAvIDIpICsgKHRtcCAvIDIpKSAvIHRtcCkgKiBwZCkgKiBtZmQpIC8gMTAwMDApIC0KKwkgICAgKG1maSAqIG1mZCk7CisKKwltZm4gPSBtZm4gJiAweDNmZjsKKwlwZC0tOworCW1mZC0tOworCisJLyogQ2hhbmdlIHRoZSBQbGwgdmFsdWUgKi8KKwlyZWcgPSAobWZpIDw8IE1YQ19DQ01fUENUTF9NRklfT0ZGU0VUKSB8CisJICAgIChtZm4gPDwgTVhDX0NDTV9QQ1RMX01GTl9PRkZTRVQpIHwKKwkgICAgKG1mZCA8PCBNWENfQ0NNX1BDVExfTUZEX09GRlNFVCkgfCAocGQgPDwgTVhDX0NDTV9QQ1RMX1BEX09GRlNFVCk7CisKKwlpZiAoY2xrID09ICZtY3VfcGxsX2NsaykKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9NUENUTCk7CisJZWxzZSBpZiAoY2xrID09ICZ1c2JfcGxsX2NsaykKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9VUENUTCk7CisJZWxzZSBpZiAoY2xrID09ICZzZXJpYWxfcGxsX2NsaykKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9TUlBDVEwpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGxsX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlsb25nIG1maSwgbWZuLCBtZmQsIHBkZiwgcmVmX2NsaywgbWZuX2FiczsKKwl1bnNpZ25lZCBsb25nIHJlZywgY2NtcjsKKwlzNjQgdGVtcDsKKwl1bnNpZ25lZCBpbnQgcHJjczsKKworCWNjbXIgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NDTVIpOworCXByY3MgPSAoY2NtciAmIE1YQ19DQ01fQ0NNUl9QUkNTX01BU0spID4+IE1YQ19DQ01fQ0NNUl9QUkNTX09GRlNFVDsKKwlpZiAocHJjcyA9PSAweDEpCisJCXJlZl9jbGsgPSBDS0lMX0NMS19GUkVRICogMTAyNDsKKwllbHNlCisJCXJlZl9jbGsgPSBjbGtfZ2V0X3JhdGUoJmNraWhfY2xrKTsKKworCWlmIChjbGsgPT0gJm1jdV9wbGxfY2xrKSB7CisJCWlmICgoY2NtciAmIE1YQ19DQ01fQ0NNUl9NUEUpID09IDApCisJCQlyZXR1cm4gcmVmX2NsazsKKwkJaWYgKChjY21yICYgTVhDX0NDTV9DQ01SX01EUykgIT0gMCkKKwkJCXJldHVybiByZWZfY2xrOworCQlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX01QQ1RMKTsKKwl9IGVsc2UgaWYgKGNsayA9PSAmdXNiX3BsbF9jbGspCisJCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fVVBDVEwpOworCWVsc2UgaWYgKGNsayA9PSAmc2VyaWFsX3BsbF9jbGspCisJCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fU1JQQ1RMKTsKKwllbHNlIHsKKwkJQlVHKCk7CisJCXJldHVybiAwOworCX0KKworCXBkZiA9IChyZWcgJiBNWENfQ0NNX1BDVExfUERfTUFTSykgPj4gTVhDX0NDTV9QQ1RMX1BEX09GRlNFVDsKKwltZmQgPSAocmVnICYgTVhDX0NDTV9QQ1RMX01GRF9NQVNLKSA+PiBNWENfQ0NNX1BDVExfTUZEX09GRlNFVDsKKwltZmkgPSAocmVnICYgTVhDX0NDTV9QQ1RMX01GSV9NQVNLKSA+PiBNWENfQ0NNX1BDVExfTUZJX09GRlNFVDsKKwltZmkgPSAobWZpIDw9IDUpID8gNSA6IG1maTsKKwltZm4gPSBtZm5fYWJzID0gcmVnICYgTVhDX0NDTV9QQ1RMX01GTl9NQVNLOworCisJaWYgKG1mbiA+PSAweDIwMCkgeworCQltZm4gfD0gMHhGRkZGRkUwMDsKKwkJbWZuX2FicyA9IC1tZm47CisJfQorCisJcmVmX2NsayAqPSAyOworCXJlZl9jbGsgLz0gcGRmICsgMTsKKworCXRlbXAgPSAodTY0KSByZWZfY2xrICogbWZuX2FiczsKKwlkb19kaXYodGVtcCwgbWZkICsgMSk7CisJaWYgKG1mbiA8IDApCisJCXRlbXAgPSAtdGVtcDsKKwl0ZW1wID0gKHJlZl9jbGsgKiBtZmkpICsgdGVtcDsKKworCXJldHVybiB0ZW1wOworfQorCitzdGF0aWMgaW50IF9jbGtfdXNiX3BsbF9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NDTVIpOworCXJlZyB8PSBNWENfQ0NNX0NDTVJfVVBFOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ0NNUik7CisKKwkvKiBObyBsb2NrIGJpdCBvbiBNWDMxLCBzbyB1c2luZyBtYXggdGltZSBmcm9tIHNwZWMgKi8KKwl1ZGVsYXkoODApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfdXNiX3BsbF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DQ01SKTsKKwlyZWcgJj0gfk1YQ19DQ01fQ0NNUl9VUEU7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DQ01SKTsKK30KKworc3RhdGljIGludCBfY2xrX3NlcmlhbF9wbGxfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DQ01SKTsKKwlyZWcgfD0gTVhDX0NDTV9DQ01SX1NQRTsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NDTVIpOworCisJLyogTm8gbG9jayBiaXQgb24gTVgzMSwgc28gdXNpbmcgbWF4IHRpbWUgZnJvbSBzcGVjICovCisJdWRlbGF5KDgwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3NlcmlhbF9wbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ0NNUik7CisJcmVnICY9IH5NWENfQ0NNX0NDTVJfU1BFOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ0NNUik7Cit9CisKKyNkZWZpbmUgUERSMChtYXNrLCBvZmYpICgoX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIwKSAmIG1hc2spID4+IG9mZikKKyNkZWZpbmUgUERSMShtYXNrLCBvZmYpICgoX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIxKSAmIG1hc2spID4+IG9mZikKKyNkZWZpbmUgUERSMihtYXNrLCBvZmYpICgoX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIyKSAmIG1hc2spID4+IG9mZikKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tY3VfbWFpbl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHBtY3IwID0gX19yYXdfcmVhZGwoTVhDX0NDTV9QTUNSMCk7CisKKwlpZiAoKHBtY3IwICYgTVhDX0NDTV9QTUNSMF9ERlNVUDEpID09IE1YQ19DQ01fUE1DUjBfREZTVVAxX1NQTEwpCisJCXJldHVybiBjbGtfZ2V0X3JhdGUoJnNlcmlhbF9wbGxfY2xrKTsKKwllbHNlCisJCXJldHVybiBjbGtfZ2V0X3JhdGUoJm1jdV9wbGxfY2xrKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19oY2xrX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG1heF9wZGY7CisKKwltYXhfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfTUFYX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9NQVhfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKG1heF9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19pcGdfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgaXBnX3BkZjsKKworCWlwZ19wZGYgPSBQRFIwKE1YQ19DQ01fUERSMF9JUEdfUE9ERl9NQVNLLAorCQkgICAgICAgTVhDX0NDTV9QRFIwX0lQR19QT0RGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAoaXBnX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX25mY19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBuZmNfcGRmOworCisJbmZjX3BkZiA9IFBEUjAoTVhDX0NDTV9QRFIwX05GQ19QT0RGX01BU0ssCisJCSAgICAgICBNWENfQ0NNX1BEUjBfTkZDX1BPREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChuZmNfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfaHNwX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIGhzcF9wZGY7CisKKwloc3BfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfSFNQX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9IU1BfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKGhzcF9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa191c2JfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdXNiX3BkZiwgdXNiX3ByZXBkZjsKKworCXVzYl9wZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9VU0JfUE9ERl9NQVNLLAorCQkgICAgICAgTVhDX0NDTV9QRFIxX1VTQl9QT0RGX09GRlNFVCk7CisJdXNiX3ByZXBkZiA9IFBEUjEoTVhDX0NDTV9QRFIxX1VTQl9QUkRGX01BU0ssCisJCQkgIE1YQ19DQ01fUERSMV9VU0JfUFJERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHVzYl9wcmVwZGYgKyAxKSAvICh1c2JfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfY3NpX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnLCBwcmUsIHBvc3Q7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1BEUjApOworCXByZSA9IChyZWcgJiBNWENfQ0NNX1BEUjBfQ1NJX1BSREZfTUFTSykgPj4KKwkgICAgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX09GRlNFVDsKKwlwcmUrKzsKKwlwb3N0ID0gKHJlZyAmIE1YQ19DQ01fUERSMF9DU0lfUE9ERl9NQVNLKSA+PgorCSAgICBNWENfQ0NNX1BEUjBfQ1NJX1BPREZfT0ZGU0VUOworCXBvc3QrKzsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChwcmUgKiBwb3N0KTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19jc2lfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcHJlLCBwb3N0LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCXUzMiBkaXYgPSBwYXJlbnQgLyByYXRlOworCisJaWYgKHBhcmVudCAlIHJhdGUpCisJCWRpdisrOworCisJX19jYWxjX3ByZV9wb3N0X2RpdmlkZXJzKGRpdiwgJnByZSwgJnBvc3QpOworCisJcmV0dXJuIHBhcmVudCAvIChwcmUgKiBwb3N0KTsKK30KKworc3RhdGljIGludCBfY2xrX2NzaV9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcmVnLCBkaXYsIHByZSwgcG9zdCwgcGFyZW50ID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudCAvIHJhdGU7CisKKwlpZiAoKHBhcmVudCAvIGRpdikgIT0gcmF0ZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlfX2NhbGNfcHJlX3Bvc3RfZGl2aWRlcnMoZGl2LCAmcHJlLCAmcG9zdCk7CisKKwkvKiBTZXQgQ1NJIGNsb2NrIGRpdmlkZXIgKi8KKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1BEUjApICYKKwkgICAgfihNWENfQ0NNX1BEUjBfQ1NJX1BPREZfTUFTSyB8IE1YQ19DQ01fUERSMF9DU0lfUFJERl9NQVNLKTsKKwlyZWcgfD0gKHBvc3QgLSAxKSA8PCBNWENfQ0NNX1BEUjBfQ1NJX1BPREZfT0ZGU0VUOworCXJlZyB8PSAocHJlIC0gMSkgPDwgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX09GRlNFVDsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX1BEUjApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGVyX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHBlcl9wZGY7CisKKwlwZXJfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfUEVSX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9QRVJfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHBlcl9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19zc2kxX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHNzaTFfcGRmLCBzc2kxX3ByZXBkZjsKKworCXNzaTFfcGRmID0gUERSMShNWENfQ0NNX1BEUjFfU1NJMV9QT0RGX01BU0ssCisJCQlNWENfQ0NNX1BEUjFfU1NJMV9QT0RGX09GRlNFVCk7CisJc3NpMV9wcmVwZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9TU0kxX1BSRV9QT0RGX01BU0ssCisJCQkgICBNWENfQ0NNX1BEUjFfU1NJMV9QUkVfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHNzaTFfcHJlcGRmICsgMSkgLyAoc3NpMV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19zc2kyX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHNzaTJfcGRmLCBzc2kyX3ByZXBkZjsKKworCXNzaTJfcGRmID0gUERSMShNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX01BU0ssCisJCQlNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX09GRlNFVCk7CisJc3NpMl9wcmVwZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9TU0kyX1BSRV9QT0RGX01BU0ssCisJCQkgICBNWENfQ0NNX1BEUjFfU1NJMl9QUkVfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHNzaTJfcHJlcGRmICsgMSkgLyAoc3NpMl9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19maXJpX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIGZpcmlfcGRmLCBmaXJpX3ByZXBkZjsKKworCWZpcmlfcGRmID0gUERSMShNWENfQ0NNX1BEUjFfRklSSV9QT0RGX01BU0ssCisJCQlNWENfQ0NNX1BEUjFfRklSSV9QT0RGX09GRlNFVCk7CisJZmlyaV9wcmVwZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX01BU0ssCisJCQkgICBNWENfQ0NNX1BEUjFfRklSSV9QUkVfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKGZpcmlfcHJlcGRmICsgMSkgLyAoZmlyaV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19maXJpX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHByZSwgcG9zdDsKKwl1MzIgcGFyZW50ID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwl1MzIgZGl2ID0gcGFyZW50IC8gcmF0ZTsKKworCWlmIChwYXJlbnQgJSByYXRlKQorCQlkaXYrKzsKKworCV9fY2FsY19wcmVfcG9zdF9kaXZpZGVycyhkaXYsICZwcmUsICZwb3N0KTsKKworCXJldHVybiBwYXJlbnQgLyAocHJlICogcG9zdCk7CisKK30KKworc3RhdGljIGludCBfY2xrX2Zpcmlfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZywgZGl2LCBwcmUsIHBvc3QsIHBhcmVudCA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnQgLyByYXRlOworCisJaWYgKChwYXJlbnQgLyBkaXYpICE9IHJhdGUpCisJCXJldHVybiAtRUlOVkFMOworCisJX19jYWxjX3ByZV9wb3N0X2RpdmlkZXJzKGRpdiwgJnByZSwgJnBvc3QpOworCisJLyogU2V0IEZJUkkgY2xvY2sgZGl2aWRlciAqLworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fUERSMSkgJgorCSAgICB+KE1YQ19DQ01fUERSMV9GSVJJX1BPREZfTUFTSyB8IE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX01BU0spOworCXJlZyB8PSAocHJlIC0gMSkgPDwgTVhDX0NDTV9QRFIxX0ZJUklfUFJFX1BPREZfT0ZGU0VUOworCXJlZyB8PSAocG9zdCAtIDEpIDw8IE1YQ19DQ01fUERSMV9GSVJJX1BPREZfT0ZGU0VUOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fUERSMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tYnhfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gMjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tc3RpY2sxX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG1zdGlfcGRmOworCisJbXN0aV9wZGYgPSBQRFIyKE1YQ19DQ01fUERSMl9NU1QxX1BERl9NQVNLLAorCQkJTVhDX0NDTV9QRFIyX01TVDFfUERGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAobXN0aV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tc3RpY2syX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG1zdGlfcGRmOworCisJbXN0aV9wZGYgPSBQRFIyKE1YQ19DQ01fUERSMl9NU1QyX1BERl9NQVNLLAorCQkJTVhDX0NDTV9QRFIyX01TVDJfUERGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAobXN0aV9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgY2tpaF9yYXRlOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjbGtfY2tpaF9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIGNraWhfcmF0ZTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY2tpaF9jbGsgPSB7CisJLm5hbWUgPSAiY2tpaCIsCisJLmdldF9yYXRlID0gY2xrX2NraWhfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjbGtfY2tpbF9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIENLSUxfQ0xLX0ZSRVE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNraWxfY2xrID0geworCS5uYW1lID0gImNraWwiLAorCS5nZXRfcmF0ZSA9IGNsa19ja2lsX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbWN1X3BsbF9jbGsgPSB7CisJLm5hbWUgPSAibWN1X3BsbCIsCisJLnBhcmVudCA9ICZja2loX2NsaywKKwkuc2V0X3JhdGUgPSBfY2xrX3BsbF9zZXRfcmF0ZSwKKwkuZ2V0X3JhdGUgPSBfY2xrX3BsbF9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1jdV9tYWluX2NsayA9IHsKKwkubmFtZSA9ICJtY3VfbWFpbl9jbGsiLAorCS5wYXJlbnQgPSAmbWN1X3BsbF9jbGssCisJLmdldF9yYXRlID0gX2Nsa19tY3VfbWFpbl9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNlcmlhbF9wbGxfY2xrID0geworCS5uYW1lID0gInNlcmlhbF9wbGwiLAorCS5wYXJlbnQgPSAmY2tpaF9jbGssCisJLnNldF9yYXRlID0gX2Nsa19wbGxfc2V0X3JhdGUsCisJLmdldF9yYXRlID0gX2Nsa19wbGxfZ2V0X3JhdGUsCisJLmVuYWJsZSA9IF9jbGtfc2VyaWFsX3BsbF9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3NlcmlhbF9wbGxfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHVzYl9wbGxfY2xrID0geworCS5uYW1lID0gInVzYl9wbGwiLAorCS5wYXJlbnQgPSAmY2tpaF9jbGssCisJLnNldF9yYXRlID0gX2Nsa19wbGxfc2V0X3JhdGUsCisJLmdldF9yYXRlID0gX2Nsa19wbGxfZ2V0X3JhdGUsCisJLmVuYWJsZSA9IF9jbGtfdXNiX3BsbF9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3VzYl9wbGxfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGFoYl9jbGsgPSB7CisJLm5hbWUgPSAiYWhiX2NsayIsCisJLnBhcmVudCA9ICZtY3VfbWFpbl9jbGssCisJLmdldF9yYXRlID0gX2Nsa19oY2xrX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcGVyX2NsayA9IHsKKwkubmFtZSA9ICJwZXJfY2xrIiwKKwkucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfcGVyX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcGVyY2xrX2NsayA9IHsKKwkubmFtZSA9ICJwZXJjbGtfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc3BpX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAiY3NwaV9jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJmlwZ19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfQ1NQSTFfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiY3NwaV9jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJmlwZ19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfQ1NQSTJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiY3NwaV9jbGsiLAorCSAuaWQgPSAyLAorCSAucGFyZW50ID0gJmlwZ19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfQ1NQSTNfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaXBnX2NsayA9IHsKKwkubmFtZSA9ICJpcGdfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmdldF9yYXRlID0gX2Nsa19pcGdfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBlbWlfY2xrID0geworCS5uYW1lID0gImVtaV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMl9FTUlfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19lbWlfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdF9jbGsgPSB7CisJLm5hbWUgPSAiZ3B0X2NsayIsCisJLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0dQVF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBwd21fY2xrID0geworCS5uYW1lID0gInB3bV9jbGsiLAorCS5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9QV01fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZXBpdF9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gImVwaXRfY2xrIiwKKwkgLmlkID0gMCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0VQSVQxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gImVwaXRfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0VQSVQyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG5mY19jbGsgPSB7CisJLm5hbWUgPSAibmZjX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfbmZjX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2NjX2NsayA9IHsKKwkubmFtZSA9ICJzY2NfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCit9OworCitzdGF0aWMgc3RydWN0IGNsayBpcHVfY2xrID0geworCS5uYW1lID0gImlwdV9jbGsiLAorCS5wYXJlbnQgPSAmbWN1X21haW5fY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfaHNwX2dldF9yYXRlLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX0lQVV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBrcHBfY2xrID0geworCS5uYW1lID0gImtwcF9jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9LUFBfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgd2RvZ19jbGsgPSB7CisJLm5hbWUgPSAid2RvZ19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9XRE9HX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CitzdGF0aWMgc3RydWN0IGNsayBydGNfY2xrID0geworCS5uYW1lID0gInJ0Y19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9SVENfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdXNiX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAidXNiX2NsayIsCisJIC5wYXJlbnQgPSAmdXNiX3BsbF9jbGssCisJIC5nZXRfcmF0ZSA9IF9jbGtfdXNiX2dldF9yYXRlLH0sCisJeworCSAubmFtZSA9ICJ1c2JfYWhiX2NsayIsCisJIC5wYXJlbnQgPSAmYWhiX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9VU0JPVEdfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY3NpX2NsayA9IHsKKwkubmFtZSA9ICJjc2lfY2xrIiwKKwkucGFyZW50ID0gJnNlcmlhbF9wbGxfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfY3NpX2dldF9yYXRlLAorCS5yb3VuZF9yYXRlID0gX2Nsa19jc2lfcm91bmRfcmF0ZSwKKwkuc2V0X3JhdGUgPSBfY2xrX2NzaV9zZXRfcmF0ZSwKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9DU0lfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdWFydF9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1VBUlQxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1VBUlQyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMiwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1VBUlQzX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gMywKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1VBUlQ0X09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInVhcnRfY2xrIiwKKwkgLmlkID0gNCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1VBUlQ1X09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGkyY19jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gImkyY19jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfSTJDMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJpMmNfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0kyQzJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiaTJjX2NsayIsCisJIC5pZCA9IDIsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9JMkMzX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG93aXJlX2NsayA9IHsKKwkubmFtZSA9ICJvd2lyZV9jbGsiLAorCS5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX09XSVJFX09GRlNFVCwKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZGhjX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAic2RoY19jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfU0RfTU1DMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJzZGhjX2NsayIsCisJIC5pZCA9IDEsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9TRF9NTUMyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNzaV9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gInNzaV9jbGsiLAorCSAucGFyZW50ID0gJnNlcmlhbF9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX3NzaTFfZ2V0X3JhdGUsCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfU1NJMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJzc2lfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZzZXJpYWxfcGxsX2NsaywKKwkgLmdldF9yYXRlID0gX2Nsa19zc2kyX2dldF9yYXRlLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX1NTSTJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZmlyaV9jbGsgPSB7CisJLm5hbWUgPSAiZmlyaV9jbGsiLAorCS5wYXJlbnQgPSAmdXNiX3BsbF9jbGssCisJLnJvdW5kX3JhdGUgPSBfY2xrX2Zpcmlfcm91bmRfcmF0ZSwKKwkuc2V0X3JhdGUgPSBfY2xrX2Zpcmlfc2V0X3JhdGUsCisJLmdldF9yYXRlID0gX2Nsa19maXJpX2dldF9yYXRlLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX0ZJUklfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgYXRhX2NsayA9IHsKKwkubmFtZSA9ICJhdGFfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfQVRBX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1ieF9jbGsgPSB7CisJLm5hbWUgPSAibWJ4X2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX0dBQ0NfT0ZGU0VULAorCS5nZXRfcmF0ZSA9IF9jbGtfbWJ4X2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdnB1X2NsayA9IHsKKwkubmFtZSA9ICJ2cHVfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfR0FDQ19PRkZTRVQsCisJLmdldF9yYXRlID0gX2Nsa19tYnhfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBydGljX2NsayA9IHsKKwkubmFtZSA9ICJydGljX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX1JUSUNfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcm5nX2NsayA9IHsKKwkubmFtZSA9ICJybmdfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfUk5HX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNkbWFfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJzZG1hX2FoYl9jbGsiLAorCSAucGFyZW50ID0gJmFoYl9jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfU0RNQV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJzZG1hX2lwZ19jbGsiLAorCSAucGFyZW50ID0gJmlwZ19jbGssfQorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbXBlZzRfY2xrID0geworCS5uYW1lID0gIm1wZWc0X2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX0hBTlRST19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB2bDJjY19jbGsgPSB7CisJLm5hbWUgPSAidmwyY2NfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfSEFOVFJPX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1zdGlja19jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gIm1zdGlja19jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX21zdGljazFfZ2V0X3JhdGUsCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0sxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gIm1zdGlja19jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX21zdGljazJfZ2V0X3JhdGUsCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0syX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGlpbV9jbGsgPSB7CisJLm5hbWUgPSAiaWltX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0lJTV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NrbzFfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgZGl2LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50IC8gcmF0ZTsKKwlpZiAocGFyZW50ICUgcmF0ZSkKKwkJZGl2Kys7CisKKwlpZiAoZGl2ID4gOCkKKwkJZGl2ID0gMTY7CisJZWxzZSBpZiAoZGl2ID4gNCkKKwkJZGl2ID0gODsKKwllbHNlIGlmIChkaXYgPiAyKQorCQlkaXYgPSA0OworCisJcmV0dXJuIHBhcmVudCAvIGRpdjsKK30KKworc3RhdGljIGludCBfY2xrX2NrbzFfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZywgZGl2LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50IC8gcmF0ZTsKKworCWlmIChkaXYgPT0gMTYpCisJCWRpdiA9IDQ7CisJZWxzZSBpZiAoZGl2ID09IDgpCisJCWRpdiA9IDM7CisJZWxzZSBpZiAoZGl2ID09IDQpCisJCWRpdiA9IDI7CisJZWxzZSBpZiAoZGl2ID09IDIpCisJCWRpdiA9IDE7CisJZWxzZSBpZiAoZGl2ID09IDEpCisJCWRpdiA9IDA7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ09TUikgJiB+TVhDX0NDTV9DT1NSX0NMS09VVERJVl9NQVNLOworCXJlZyB8PSBkaXYgPDwgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9PRkZTRVQ7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DT1NSKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NrbzFfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiBkaXY7CisKKwlkaXYgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpICYgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9NQVNLID4+CisJICAgIE1YQ19DQ01fQ09TUl9DTEtPVVRESVZfT0ZGU0VUOworCisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAoMSA8PCBkaXYpOworfQorCitzdGF0aWMgaW50IF9jbGtfY2tvMV9zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpICYgfk1YQ19DQ01fQ09TUl9DTEtPU0VMX01BU0s7CisKKwlpZiAocGFyZW50ID09ICZtY3VfbWFpbl9jbGspCisJCXJlZyB8PSAwIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmlwZ19jbGspCisJCXJlZyB8PSAxIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnVzYl9wbGxfY2xrKQorCQlyZWcgfD0gMiA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09IG1jdV9tYWluX2Nsay5wYXJlbnQpCisJCXJlZyB8PSAzIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmFoYl9jbGspCisJCXJlZyB8PSA1IDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnNlcmlhbF9wbGxfY2xrKQorCQlyZWcgfD0gNyA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZja2loX2NsaykKKwkJcmVnIHw9IDggPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmZW1pX2NsaykKKwkJcmVnIHw9IDkgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmaXB1X2NsaykKKwkJcmVnIHw9IDB4QSA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZuZmNfY2xrKQorCQlyZWcgfD0gMHhCIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnVhcnRfY2xrWzBdKQorCQlyZWcgfD0gMHhDIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DT1NSKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9jbGtfY2tvMV9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpIHwgTVhDX0NDTV9DT1NSX0NMS09FTjsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NPU1IpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfY2tvMV9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DT1NSKSAmIH5NWENfQ0NNX0NPU1JfQ0xLT0VOOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ09TUik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNrbzFfY2xrID0geworCS5uYW1lID0gImNrbzFfY2xrIiwKKwkuZ2V0X3JhdGUgPSBfY2xrX2NrbzFfZ2V0X3JhdGUsCisJLnNldF9yYXRlID0gX2Nsa19ja28xX3NldF9yYXRlLAorCS5yb3VuZF9yYXRlID0gX2Nsa19ja28xX3JvdW5kX3JhdGUsCisJLnNldF9wYXJlbnQgPSBfY2xrX2NrbzFfc2V0X3BhcmVudCwKKwkuZW5hYmxlID0gX2Nsa19ja28xX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfY2tvMV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgKm14Y19jbGtzW10gPSB7CisJJmNraWhfY2xrLAorCSZja2lsX2NsaywKKwkmbWN1X3BsbF9jbGssCisJJnVzYl9wbGxfY2xrLAorCSZzZXJpYWxfcGxsX2NsaywKKwkmbWN1X21haW5fY2xrLAorCSZhaGJfY2xrLAorCSZwZXJfY2xrLAorCSZwZXJjbGtfY2xrLAorCSZja28xX2NsaywKKwkmZW1pX2NsaywKKwkmY3NwaV9jbGtbMF0sCisJJmNzcGlfY2xrWzFdLAorCSZjc3BpX2Nsa1syXSwKKwkmaXBnX2NsaywKKwkmZ3B0X2NsaywKKwkmcHdtX2NsaywKKwkmd2RvZ19jbGssCisJJnJ0Y19jbGssCisJJmVwaXRfY2xrWzBdLAorCSZlcGl0X2Nsa1sxXSwKKwkmbmZjX2NsaywKKwkmaXB1X2NsaywKKwkma3BwX2NsaywKKwkmdXNiX2Nsa1swXSwKKwkmdXNiX2Nsa1sxXSwKKwkmY3NpX2NsaywKKwkmdWFydF9jbGtbMF0sCisJJnVhcnRfY2xrWzFdLAorCSZ1YXJ0X2Nsa1syXSwKKwkmdWFydF9jbGtbM10sCisJJnVhcnRfY2xrWzRdLAorCSZpMmNfY2xrWzBdLAorCSZpMmNfY2xrWzFdLAorCSZpMmNfY2xrWzJdLAorCSZvd2lyZV9jbGssCisJJnNkaGNfY2xrWzBdLAorCSZzZGhjX2Nsa1sxXSwKKwkmc3NpX2Nsa1swXSwKKwkmc3NpX2Nsa1sxXSwKKwkmZmlyaV9jbGssCisJJmF0YV9jbGssCisJJnJ0aWNfY2xrLAorCSZybmdfY2xrLAorCSZzZG1hX2Nsa1swXSwKKwkmc2RtYV9jbGtbMV0sCisJJm1zdGlja19jbGtbMF0sCisJJm1zdGlja19jbGtbMV0sCisJJnNjY19jbGssCisJJmlpbV9jbGssCit9OworCitpbnQgX19pbml0IG14Y19jbG9ja3NfaW5pdCh1bnNpZ25lZCBsb25nIGZyZWYpCit7CisJdTMyIHJlZzsKKwlzdHJ1Y3QgY2xrICoqY2xrcDsKKworCWNraWhfcmF0ZSA9IGZyZWY7CisKKwlmb3IgKGNsa3AgPSBteGNfY2xrczsgY2xrcCA8IG14Y19jbGtzICsgQVJSQVlfU0laRShteGNfY2xrcyk7IGNsa3ArKykKKwkJY2xrX3JlZ2lzdGVyKCpjbGtwKTsKKworCWlmIChjcHVfaXNfbXgzMSgpKSB7CisJCWNsa19yZWdpc3RlcigmbXBlZzRfY2xrKTsKKwkJY2xrX3JlZ2lzdGVyKCZtYnhfY2xrKTsKKwl9IGVsc2UgeworCQljbGtfcmVnaXN0ZXIoJnZwdV9jbGspOworCQljbGtfcmVnaXN0ZXIoJnZsMmNjX2Nsayk7CisJfQorCisJLyogVHVybiBvZmYgYWxsIHBvc3NpYmxlIGNsb2NrcyAqLworCV9fcmF3X3dyaXRlbChNWENfQ0NNX0NHUjBfR1BUX01BU0ssIE1YQ19DQ01fQ0dSMCk7CisJX19yYXdfd3JpdGVsKDAsIE1YQ19DQ01fQ0dSMSk7CisKKwlfX3Jhd193cml0ZWwoTVhDX0NDTV9DR1IyX0VNSV9NQVNLIHwKKwkJICAgICBNWENfQ0NNX0NHUjJfSVBNVVgxX01BU0sgfAorCQkgICAgIE1YQ19DQ01fQ0dSMl9JUE1VWDJfTUFTSyB8CisJCSAgICAgTVhDX0NDTV9DR1IyX01YQ0NMS0VOU0VMX01BU0sgfAkvKiBmb3IgTVgzMiAqLworCQkgICAgIE1YQ19DQ01fQ0dSMl9DSElLQ0FNUEVOX01BU0sgfAkvKiBmb3IgTVgzMiAqLworCQkgICAgIE1YQ19DQ01fQ0dSMl9PVlJWUFVCVVNZX01BU0sgfAkvKiBmb3IgTVgzMiAqLworCQkgICAgIDEgPDwgMjcgfCAxIDw8IDI4LCAvKiBCaXQgMjcgYW5kIDI4IGFyZSBub3QgZGVmaW5lZCBmb3IKKwkJCQkJICAgTVgzMiwgYnV0IHN0aWxsIHJlcXVpcmVkIHRvIGJlIHNldCAqLworCQkgICAgIE1YQ19DQ01fQ0dSMik7CisKKwljbGtfZGlzYWJsZSgmY2tvMV9jbGspOworCWNsa19kaXNhYmxlKCZ1c2JfcGxsX2Nsayk7CisKKwlwcl9pbmZvKCJDbG9jayBpbnB1dCBzb3VyY2UgaXMgJWxkXG4iLCBjbGtfZ2V0X3JhdGUoJmNraWhfY2xrKSk7CisKKwljbGtfZW5hYmxlKCZncHRfY2xrKTsKKwljbGtfZW5hYmxlKCZlbWlfY2xrKTsKKwljbGtfZW5hYmxlKCZpaW1fY2xrKTsKKworCWNsa19lbmFibGUoJnNlcmlhbF9wbGxfY2xrKTsKKworCWlmIChteDMxX3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fUE1DUjEpOworCQkvKiBObyBQTEwgcmVzdGFydCBvbiBEVkZTIHN3aXRjaDsgZW5hYmxlIGF1dG8gRU1JIGhhbmRzaGFrZSAqLworCQlyZWcgfD0gTVhDX0NDTV9QTUNSMV9QTExSRElTIHwgTVhDX0NDTV9QTUNSMV9FTUlSUV9FTjsKKwkJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9QTUNSMSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL2NybV9yZWdzLmggYi9hcmNoL2FybS9tYWNoLW14My9jcm1fcmVncy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMGUwZWQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9jcm1fcmVncy5oCkBAIC0wLDAgKzEsNDAxIEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BUkNIX0FSTV9NQUNIX01YM19DUk1fUkVHU19IX18KKyNkZWZpbmUgX19BUkNIX0FSTV9NQUNIX01YM19DUk1fUkVHU19IX18KKworI2RlZmluZSBDS0lIX0NMS19GUkVRICAgICAgICAgICAyNjAwMDAwMAorI2RlZmluZSBDS0lIX0NMS19GUkVRXzI3TUhaICAgICAyNzAwMDAwMAorI2RlZmluZSBDS0lMX0NMS19GUkVRICAgICAgICAgICAzMjc2OAorCisjZGVmaW5lIE1YQ19DQ01fQkFTRQkJSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKQorCisvKiBSZWdpc3RlciBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgTVhDX0NDTV9DQ01SCQkoTVhDX0NDTV9CQVNFICsgMHgwMCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwCQkoTVhDX0NDTV9CQVNFICsgMHgwNCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxCQkoTVhDX0NDTV9CQVNFICsgMHgwOCkKKyNkZWZpbmUgTVhDX0NDTV9SQ1NSCQkoTVhDX0NDTV9CQVNFICsgMHgwQykKKyNkZWZpbmUgTVhDX0NDTV9NUENUTAkJKE1YQ19DQ01fQkFTRSArIDB4MTApCisjZGVmaW5lIE1YQ19DQ01fVVBDVEwJCShNWENfQ0NNX0JBU0UgKyAweDE0KQorI2RlZmluZSBNWENfQ0NNX1NSUENUTAkJKE1YQ19DQ01fQkFTRSArIDB4MTgpCisjZGVmaW5lIE1YQ19DQ01fQ09TUgkJKE1YQ19DQ01fQkFTRSArIDB4MUMpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMAkJKE1YQ19DQ01fQkFTRSArIDB4MjApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMQkJKE1YQ19DQ01fQkFTRSArIDB4MjQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMgkJKE1YQ19DQ01fQkFTRSArIDB4MjgpCisjZGVmaW5lIE1YQ19DQ01fV0lNUgkJKE1YQ19DQ01fQkFTRSArIDB4MkMpCisjZGVmaW5lIE1YQ19DQ01fTERDCQkoTVhDX0NDTV9CQVNFICsgMHgzMCkKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSMAkJKE1YQ19DQ01fQkFTRSArIDB4MzQpCisjZGVmaW5lIE1YQ19DQ01fRENWUjEJCShNWENfQ0NNX0JBU0UgKyAweDM4KQorI2RlZmluZSBNWENfQ0NNX0RDVlIyCQkoTVhDX0NDTV9CQVNFICsgMHgzQykKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSMwkJKE1YQ19DQ01fQkFTRSArIDB4NDApCisjZGVmaW5lIE1YQ19DQ01fTFRSMAkJKE1YQ19DQ01fQkFTRSArIDB4NDQpCisjZGVmaW5lIE1YQ19DQ01fTFRSMQkJKE1YQ19DQ01fQkFTRSArIDB4NDgpCisjZGVmaW5lIE1YQ19DQ01fTFRSMgkJKE1YQ19DQ01fQkFTRSArIDB4NEMpCisjZGVmaW5lIE1YQ19DQ01fTFRSMwkJKE1YQ19DQ01fQkFTRSArIDB4NTApCisjZGVmaW5lIE1YQ19DQ01fTFRCUjAJCShNWENfQ0NNX0JBU0UgKyAweDU0KQorI2RlZmluZSBNWENfQ0NNX0xUQlIxCQkoTVhDX0NDTV9CQVNFICsgMHg1OCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMAkJKE1YQ19DQ01fQkFTRSArIDB4NUMpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjEJCShNWENfQ0NNX0JBU0UgKyAweDYwKQorI2RlZmluZSBNWENfQ0NNX1BEUjIJCShNWENfQ0NNX0JBU0UgKyAweDY0KQorCisvKiBSZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1dCRU4gICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfQ1NDUyAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjUpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9QRVJDUyAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NTSTFTX09GRlNFVCAgICAgICAgICAgICAgIDE4CisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9TU0kxU19NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfU1NJMlNfT0ZGU0VUICAgICAgICAgICAgICAgMjEKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NTSTJTX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjEpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9MUE1fT0ZGU0VUICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNWENfQ0NNX0NDTVJfTFBNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxNCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX0ZJUlNfT0ZGU0VUICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9GSVJTX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDExKQorI2RlZmluZSBNWENfQ0NNX0NDTVJfVVBFICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NQRSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9NRFMgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfU0JZQ1MgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX01QRSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9QUkNTX09GRlNFVCAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9QUkNTX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDEpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0NTSV9QT0RGX09GRlNFVCAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fUERSMF9DU0lfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHgzRiA8PCAyNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX09GRlNFVCAgICAgICAgICAgIDIzCisjZGVmaW5lIE1YQ19DQ01fUERSMF9DU0lfUFJERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDIzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfUEVSX1BPREZfT0ZGU0VUICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX1BFUl9QT0RGX01BU0sgICAgICAgICAgICAgICgweDFGIDw8IDE2KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX1BPREZfT0ZGU0VUICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9QT0RGX01BU0sgICAgICAgICAgICAgICgweDcgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfUE9ERl9PRkZTRVQgICAgICAgICAgICA4CisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9JUEdfUE9ERl9PRkZTRVQgICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fUERSMF9JUEdfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHgzIDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfUE9ERl9PRkZTRVQgICAgICAgICAgICAzCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfUE9ERl9PRkZTRVQgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfUE9ERl9NQVNLICAgICAgICAgICAgICAweDcKKworI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl8xICAgICAgICAgICAgICAgICAgKDB4MCA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfMiAgICAgICAgICAgICAgICAgICgweDEgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzMgICAgICAgICAgICAgICAgICAoMHgyIDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl80ICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfNSAgICAgICAgICAgICAgICAgICgweDQgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzYgICAgICAgICAgICAgICAgICAoMHg1IDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl83ICAgICAgICAgICAgICAgICAgKDB4NiA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfOCAgICAgICAgICAgICAgICAgICgweDcgPDwgMTEpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfMSAgICAgICAgICAgICAgICAgICgweDAgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfMiAgICAgICAgICAgICAgICAgICgweDEgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfMyAgICAgICAgICAgICAgICAgICgweDIgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19ESVZfNCAgICAgICAgICAgICAgICAgICgweDMgPDwgNikKKworI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl8xICAgICAgICAgICAgICAgICAgKDB4MCA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl8yICAgICAgICAgICAgICAgICAgKDB4MSA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl8zICAgICAgICAgICAgICAgICAgKDB4MiA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl80ICAgICAgICAgICAgICAgICAgKDB4MyA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl81ICAgICAgICAgICAgICAgICAgKDB4NCA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl82ICAgICAgICAgICAgICAgICAgKDB4NSA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl83ICAgICAgICAgICAgICAgICAgKDB4NiA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX0RJVl84ICAgICAgICAgICAgICAgICAgKDB4NyA8PCAzKQorCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzEgICAgICAgICAgICAgICAgICAoMHgwIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzIgICAgICAgICAgICAgICAgICAoMHgxIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzMgICAgICAgICAgICAgICAgICAoMHgyIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzQgICAgICAgICAgICAgICAgICAoMHgzIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzUgICAgICAgICAgICAgICAgICAoMHg0IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzYgICAgICAgICAgICAgICAgICAoMHg1IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzcgICAgICAgICAgICAgICAgICAoMHg2IDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9ORkNfRElWXzggICAgICAgICAgICAgICAgICAoMHg3IDw8IDgpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfMSAgICAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl8yICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzMgICAgICAgICAgICAgICAgICAweDIKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfNCAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl81ICAgICAgICAgICAgICAgICAgMHg0CisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzYgICAgICAgICAgICAgICAgICAweDUKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfNyAgICAgICAgICAgICAgICAgIDB4NgorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl84ICAgICAgICAgICAgICAgICAgMHg3CisKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1VTQl9QUkRGX09GRlNFVCAgICAgICAgICAgIDMwCisjZGVmaW5lIE1YQ19DQ01fUERSMV9VU0JfUFJERl9NQVNLICAgICAgICAgICAgICAoMHgzIDw8IDMwKQorI2RlZmluZSBNWENfQ0NNX1BEUjFfVVNCX1BPREZfT0ZGU0VUICAgICAgICAgICAgMjcKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1VTQl9QT0RGX01BU0sgICAgICAgICAgICAgICgweDcgPDwgMjcpCisjZGVmaW5lIE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX09GRlNFVCAgICAgICAyNAorI2RlZmluZSBNWENfQ0NNX1BEUjFfRklSSV9QUkVfUE9ERl9NQVNLICAgICAgICAgKDB4NyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX0ZJUklfUE9ERl9PRkZTRVQgICAgICAgICAgIDE4CisjZGVmaW5lIE1YQ19DQ01fUERSMV9GSVJJX1BPREZfTUFTSyAgICAgICAgICAgICAoMHgzRiA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTJfUFJFX1BPREZfT0ZGU0VUICAgICAgIDE1CisjZGVmaW5lIE1YQ19DQ01fUERSMV9TU0kyX1BSRV9QT0RGX01BU0sgICAgICAgICAoMHg3IDw8IDE1KQorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX09GRlNFVCAgICAgICAgICAgOQorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMl9QT0RGX01BU0sgICAgICAgICAgICAgKDB4M0YgPDwgOSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUFJFX1BPREZfT0ZGU0VUICAgICAgIDYKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUFJFX1BPREZfTUFTSyAgICAgICAgICgweDcgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUE9ERl9PRkZTRVQgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTFfUE9ERl9NQVNLICAgICAgICAgICAgIDB4M0YKKworLyogQml0IGRlZmluaXRpb25zIGZvciBSQ1NSICovCisjZGVmaW5lIE1YQ19DQ01fUkNTUl9ORjE2QgkJCTB4ODAwMDAwMDAKKworLyogQml0IGRlZmluaXRpb25zIGZvciBib3RoIE1DVSwgVVNCIGFuZCBTUiBQTEwgY29udHJvbCByZWdpc3RlcnMgKi8KKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX0JSTSAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX1BEX09GRlNFVCAgICAgICAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fUENUTF9QRF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHhGIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZEX09GRlNFVCAgICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX01GRF9NQVNLICAgICAgICAgICAgICAgICAgICgweDNGRiA8PCAxNikKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX01GSV9PRkZTRVQgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1YQ19DQ01fUENUTF9NRklfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGIDw8IDEwKQorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZOX09GRlNFVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZOX01BU0sgICAgICAgICAgICAgICAgICAgMHgzRkYKKworI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMV9PRkZTRVQgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMV9NQVNLICAgICAgICAgICAgICAgKDB4MyA8PCAwKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMl9PRkZTRVQgICAgICAgICAgICAgMgorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RfTU1DMl9NQVNLICAgICAgICAgICAgICAgKDB4MyA8PCAyKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfR1BUX09GRlNFVCAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNWENfQ0NNX0NHUjBfR1BUX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA0KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDFfT0ZGU0VUICAgICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDFfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDJfT0ZGU0VUICAgICAgICAgICAgICAgOAorI2RlZmluZSBNWENfQ0NNX0NHUjBfRVBJVDJfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfSUlNX09GRlNFVCAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0lJTV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9BVEFfT0ZGU0VUICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0NHUjBfQVRBX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1NETUFfT0ZGU0VUICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TRE1BX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfQ1NQSTNfT0ZGU0VUICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0NTUEkzX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMTYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9STkdfT0ZGU0VUICAgICAgICAgICAgICAgICAxOAorI2RlZmluZSBNWENfQ0NNX0NHUjBfUk5HX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1VBUlQxX09GRlNFVCAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9VQVJUMV9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDIwKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfVUFSVDJfT0ZGU0VUICAgICAgICAgICAgICAgMjIKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1VBUlQyX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TU0kxX09GRlNFVCAgICAgICAgICAgICAgICAyNAorI2RlZmluZSBNWENfQ0NNX0NHUjBfU1NJMV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0kyQzFfT0ZGU0VUICAgICAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JMkMxX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfSTJDMl9PRkZTRVQgICAgICAgICAgICAgICAgMjgKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0kyQzJfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JMkMzX09GRlNFVCAgICAgICAgICAgICAgICAzMAorI2RlZmluZSBNWENfQ0NNX0NHUjBfSTJDM19NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAzMCkKKworI2RlZmluZSBNWENfQ0NNX0NHUjFfSEFOVFJPX09GRlNFVCAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0NHUjFfSEFOVFJPX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAwKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0sxX09GRlNFVCAgICAgICAgICAgMgorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0sxX01BU0sgICAgICAgICAgICAgKDB4MyA8PCAyKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0syX09GRlNFVCAgICAgICAgICAgNAorI2RlZmluZSBNWENfQ0NNX0NHUjFfTUVNU1RJQ0syX01BU0sgICAgICAgICAgICAgKDB4MyA8PCA0KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfQ1NJX09GRlNFVCAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0NHUjFfQ1NJX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfUlRDX09GRlNFVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNWENfQ0NNX0NHUjFfUlRDX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfV0RPR19PRkZTRVQgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1dET0dfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMTApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9QV01fT0ZGU0VUICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0NHUjFfUFdNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1NJTV9PRkZTRVQgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9TSU1fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfRUNUX09GRlNFVCAgICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0VDVF9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VU0JPVEdfT0ZGU0VUICAgICAgICAgICAgICAxOAorI2RlZmluZSBNWENfQ0NNX0NHUjFfVVNCT1RHX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0tQUF9PRkZTRVQgICAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9LUFBfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDIwKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfSVBVX09GRlNFVCAgICAgICAgICAgICAgICAgMjIKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0lQVV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMjIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VQVJUM19PRkZTRVQgICAgICAgICAgICAgICAyNAorI2RlZmluZSBNWENfQ0NNX0NHUjFfVUFSVDNfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VBUlQ0X09GRlNFVCAgICAgICAgICAgICAgIDI2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VQVJUNF9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfVUFSVDVfT0ZGU0VUICAgICAgICAgICAgICAgMjgKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VBUlQ1X01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9PV0lSRV9PRkZTRVQgICAgICAgICAgICAgICAzMAorI2RlZmluZSBNWENfQ0NNX0NHUjFfT1dJUkVfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAzMCkKKworI2RlZmluZSBNWENfQ0NNX0NHUjJfU1NJMl9PRkZTRVQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0NHUjJfU1NJMl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAwKQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTFfT0ZGU0VUICAgICAgICAgICAgICAgMgorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTFfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyKQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTJfT0ZGU0VUICAgICAgICAgICAgICAgNAorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ1NQSTJfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCA0KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfR0FDQ19PRkZTRVQgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0NHUjJfR0FDQ19NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfRU1JX09GRlNFVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNWENfQ0NNX0NHUjJfRU1JX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfUlRJQ19PRkZTRVQgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX1JUSUNfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMTApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9GSVJJX09GRlNFVCAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0NHUjJfRklSSV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0lQTVVYMV9PRkZTRVQgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9JUE1VWDFfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfSVBNVVgyX09GRlNFVCAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0lQTVVYMl9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMTYpCisKKy8qIFRoZXNlIG5ldyBDR1IyIGJpdHMgYXJlIGFkZGVkIGluIE1YMzIgKi8KKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTVNZU0NMS1NFTF9PRkZTRVQJMTgKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTVNZU0NMS1NFTF9NQVNLCQkoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNU1NJQ0xLU0VMX09GRlNFVAkyMAorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNU1NJQ0xLU0VMX01BU0sJCSgweDMgPDwgMjApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1QRVJDTEtTRUxfT0ZGU0VUCTIyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1QRVJDTEtTRUxfTUFTSwkJKDB4MyA8PCAyMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX01YQ0NMS0VOU0VMX09GRlNFVAkJMjQKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX01YQ0NMS0VOU0VMX01BU0sJCSgweDEgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9DSElLQ0FNUEVOX09GRlNFVAkJMjUKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0NISUtDQU1QRU5fTUFTSwkJKDB4MSA8PCAyNSkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX09WUlZQVUJVU1lfT0ZGU0VUCQkyNgorI2RlZmluZSBNWENfQ0NNX0NHUjJfT1ZSVlBVQlVTWV9NQVNLCQkoMHgxIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNRU5BX09GRlNFVAkJMzAKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FPTUVOQV9NQVNLCQkoMHgxIDw8IDMwKQorCisvKgorICogTFRSMCByZWdpc3RlciBvZmZzZXRzCisgKi8KKyNkZWZpbmUgTVhDX0NDTV9MVFIwX0RJVjNDS19PRkZTRVQgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX0RJVjNDS19NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMSkKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX0ROVEhSX09GRlNFVCAgICAgICAgICAgICAgIDE2CisjZGVmaW5lIE1YQ19DQ01fTFRSMF9ETlRIUl9NQVNLICAgICAgICAgICAgICAgICAoMHgzRiA8PCAxNikKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX1VQVEhSX09GRlNFVCAgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fTFRSMF9VUFRIUl9NQVNLICAgICAgICAgICAgICAgICAoMHgzRiA8PCAyMikKKworLyoKKyAqIExUUjEgcmVnaXN0ZXIgb2Zmc2V0cworICovCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9QTkNUSFJfT0ZGU0VUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9QTkNUSFJfTUFTSyAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9VUENOVF9PRkZTRVQgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fTFRSMV9VUENOVF9NQVNLICAgICAgICAgICAgICAgICAoMHhGRiA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0xUUjFfRE5DTlRfT0ZGU0VUICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX0ROQ05UX01BU0sgICAgICAgICAgICAgICAgICgweEZGIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0xUUjFfTFRCUlNSX01BU0sgICAgICAgICAgICAgICAgMHg0MDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX0xUQlJTUl9PRkZTRVQgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9MVEJSU1IgICAgICAgICAgICAgICAgICAgICAweDQwMDAwMAorI2RlZmluZSBNWENfQ0NNX0xUUjFfTFRCUlNIICAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAKKworLyoKKyAqIExUUjIgYml0IGRlZmluaXRpb25zLiB4IHJhbmdlcyBmcm9tIDAgZm9yIFdTVzkgdG8gNiBmb3IgV1NXMTUKKyAqLworI2RlZmluZSBNWENfQ0NNX0xUUjJfV1NXX09GRlNFVCh4KSAgICAgICAgICAgICAgKDExICsgKHgpICogMykKKyNkZWZpbmUgTVhDX0NDTV9MVFIyX1dTV19NQVNLKHgpICAgICAgICAgICAgICAgICgweDcgPDwgXAorCQkJCQlNWENfQ0NNX0xUUjJfV1NXX09GRlNFVCgoeCkpKQorI2RlZmluZSBNWENfQ0NNX0xUUjJfRU1BQ19PRkZTRVQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0xUUjJfRU1BQ19NQVNLICAgICAgICAgICAgICAgICAgMHgxRkYKKworLyoKKyAqIExUUjMgYml0IGRlZmluaXRpb25zLiB4IHJhbmdlcyBmcm9tIDAgZm9yIFdTVzAgdG8gOCBmb3IgV1NXOAorICovCisjZGVmaW5lIE1YQ19DQ01fTFRSM19XU1dfT0ZGU0VUKHgpICAgICAgICAgICAgICAoNSArICh4KSAqIDMpCisjZGVmaW5lIE1YQ19DQ01fTFRSM19XU1dfTUFTSyh4KSAgICAgICAgICAgICAgICAoMHg3IDw8IFwKKwkJCQkJTVhDX0NDTV9MVFIzX1dTV19PRkZTRVQoKHgpKSkKKworI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMSAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMV9TUExMICAgICAgICAgICAgICAgKDAgPDwgMzEpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVAxX01QTEwgICAgICAgICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDAgICAgICAgICAgICAgICAgICAgIDB4NDAwMDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDBfUExMICAgICAgICAgICAgICAgICgwIDw8IDMwKQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMF9QRFIgICAgICAgICAgICAgICAgKDEgPDwgMzApCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVBfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDMwKQorCisjZGVmaW5lIERWU1VQX1RVUkJPCQkJCTAKKyNkZWZpbmUgRFZTVVBfSElHSAkJCQkxCisjZGVmaW5lIERWU1VQX01FRElVTQkJCQkyCisjZGVmaW5lIERWU1VQX0xPVwkJCQkzCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfVFVSQk8gICAgICAgICAgICAgICAoRFZTVVBfVFVSQk8gPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfSElHSCAgICAgICAgICAgICAgICAoRFZTVVBfSElHSCA8PCAyOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVlNVUF9NRURJVU0gICAgICAgICAgICAgIChEVlNVUF9NRURJVU0gPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfTE9XICAgICAgICAgICAgICAgICAoRFZTVVBfTE9XIDw8IDI4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWU1VQX09GRlNFVCAgICAgICAgICAgICAgMjgKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVlNVUF9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVURTQyAgICAgICAgICAgICAgICAgICAgICAweDA4MDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVURTQ19NQVNLICAgICAgICAgICAgICAgICAoMSA8PCAyNykKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9VRFNDX1VQICAgICAgICAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1VEU0NfRE9XTiAgICAgICAgICAgICAgICAgKDAgPDwgMjcpCisKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF8xICAgICAgICAgICAgICAgICAgICgweDAgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfMiAgICAgICAgICAgICAgICAgICAoMHgxIDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzMgICAgICAgICAgICAgICAgICAgKDB4MiA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF80ICAgICAgICAgICAgICAgICAgICgweDMgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfNSAgICAgICAgICAgICAgICAgICAoMHg0IDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzYgICAgICAgICAgICAgICAgICAgKDB4NSA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF83ICAgICAgICAgICAgICAgICAgICgweDYgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfOCAgICAgICAgICAgICAgICAgICAoMHg3IDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UX09GRlNFVCAgICAgICAgICAgICAgMjQKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF9NQVNLICAgICAgICAgICAgICAgICgweDcgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZGRVYgICAgICAgICAgICAgICAgICAgICAweDAwODAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZGSVMgICAgICAgICAgICAgICAgICAgICAweDAwNDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJNSSAgICAgICAgICAgICAgICAgICAgICAweDAwMjAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJGTCAgICAgICAgICAgICAgICAgICAgICAweDAwMTAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJDRl80ICAgICAgICAgICAgICAgICAgICAoMHgwIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCQ0ZfOCAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkNGXzEyICAgICAgICAgICAgICAgICAgICgweDIgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJDRl8xNiAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCQ0ZfT0ZGU0VUICAgICAgICAgICAgICAgMTgKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkNGX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWSVMgICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVVBEVEVOICAgICAgICAgICAgICAgICAgICAweDAwMDEwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVVBEVEVOX01BU0sgICAgICAgICAgICAgICAoMHgxIDw8IDE2KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0ZTVkFJTSAgICAgICAgICAgICAgICAgICAgMHgwMDAwODAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0ZTVkFJX09GRlNFVCAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9GU1ZBSV9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMTMpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFBWQ1IgICAgICAgICAgICAgICAgICAgICAweDAwMDAxMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFBWViAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwODAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfV0ZJTSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTMgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMjAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTIgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTEgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDgwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFJDRTAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDQwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRENSICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDIwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZGRU4gICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDEwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWQUlNICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA4CisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWQUlfT0ZGU0VUICAgICAgICAgICAgICAxCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfUFRWQUlfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDEpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFBURU4gICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxCisKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9EVkdQX09GRlNFVCAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9EVkdQX01BU0sgICAgICAgICAgICAgICAgICgweEYpCisKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9QTExSRElTICAgICAgICAgICAgICAgICAgICAgICgweDEgPDwgNykKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMV9FTUlSUV9FTiAgICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IDgpCisKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSX1VMVl9NQVNLICAgICAgICAgICAgICAgICAgICgweDNGRiA8PCAyMikKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSX1VMVl9PRkZTRVQgICAgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fRENWUl9MTFZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzRkYgPDwgMTIpCisjZGVmaW5lIE1YQ19DQ01fRENWUl9MTFZfT0ZGU0VUICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNWENfQ0NNX0RDVlJfRUxWX01BU0sgICAgICAgICAgICAgICAgICAgKDB4M0ZGIDw8IDIpCisjZGVmaW5lIE1YQ19DQ01fRENWUl9FTFZfT0ZGU0VUICAgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIyX01TVDJfUERGX01BU0sgICAgICAgICAgICAgICgweDNGIDw8IDcpCisjZGVmaW5lIE1YQ19DQ01fUERSMl9NU1QyX1BERl9PRkZTRVQgICAgICAgICAgICA3CisjZGVmaW5lIE1YQ19DQ01fUERSMl9NU1QxX1BERl9NQVNLICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1YQ19DQ01fUERSMl9NU1QxX1BERl9PRkZTRVQgICAgICAgICAgICAwCisKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MEYKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9NQVNLICAgICAgICAgICAgICgweDA3IDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fQ09TUl9DTEtPVVRESVZfT0ZGU0VUICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fQ09TUl9DTEtPRU4gICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQorCisvKgorICogUE1DUjAgcmVnaXN0ZXIgb2Zmc2V0cworICovCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJGTF9PRkZTRVQgICAyMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMF9PRkZTRVQgMzAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDFfT0ZGU0VUIDMxCisKKyNlbmRpZgkJCQkvKiBfX0FSQ0hfQVJNX01BQ0hfTVgzX0NSTV9SRUdTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1teDMvZGV2aWNlcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjMDMyMGYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9kZXZpY2VzLmMKQEAgLTAsMCArMSwxODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBTYXNjaGEgSGF1ZXIsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDBbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQxX0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQxX0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDEsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMCA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMCwKKwkucmVzb3VyY2UgPSB1YXJ0MCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDApLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0MVtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDJfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDJfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUMiwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDIsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UxID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAxLAorCS5yZXNvdXJjZSA9IHVhcnQxLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MSksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQyW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUM19CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUM19CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQzLAorCQkuZW5kID0gTVhDX0lOVF9VQVJUMywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTIgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDIsCisJLnJlc291cmNlID0gdWFydDIsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQyKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDNbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQ0X0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQ0X0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDQsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQ0LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMyA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMywKKwkucmVzb3VyY2UgPSB1YXJ0MywKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0NFtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDVfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDVfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUNSwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2U0ID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSA0LAorCS5yZXNvdXJjZSA9IHVhcnQ0LAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0NCksCit9OworCisvKgorICogUmVnaXN0ZXIgb25seSB0aG9zZSBVQVJUcyB0aGF0IHBoeXNpY2FsbHkgZXhpc3QKKyAqLworaW50IF9faW5pdCBpbXhfaW5pdF91YXJ0KGludCB1YXJ0X25vLCBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhICpwZGF0YSkKK3sKKwlzd2l0Y2ggKHVhcnRfbm8pIHsKKwljYXNlIDA6CisJCW14Y191YXJ0X2RldmljZTAuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UwKTsKKwkJYnJlYWs7CisJY2FzZSAxOgorCQlteGNfdWFydF9kZXZpY2UxLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMSk7CisJCWJyZWFrOworCWNhc2UgMjoKKwkJbXhjX3VhcnRfZGV2aWNlMi5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTIpOworCQlicmVhazsKKwljYXNlIDM6CisJCW14Y191YXJ0X2RldmljZTMuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UzKTsKKwkJYnJlYWs7CisJY2FzZSA0OgorCQlteGNfdWFydF9kZXZpY2U0LmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlNCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRU5PREVWOworCX0KKworCXJldHVybiAwOworfQorCisvKiBHUElPIHBvcnQgZGVzY3JpcHRpb24gKi8KK3N0YXRpYyBzdHJ1Y3QgbXhjX2dwaW9fcG9ydCBpbXhfZ3Bpb19wb3J0c1tdID0geworCVswXSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby0wIiwKKwkJLmJhc2UgPSBJT19BRERSRVNTKEdQSU8xX0JBU0VfQUREUiksCisJCS5pcnEgPSBNWENfSU5UX0dQSU8xLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfR1BJT19JTlRfQkFTRQorCX0sCisJWzFdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTEiLAorCQkuYmFzZSA9IElPX0FERFJFU1MoR1BJTzJfQkFTRV9BRERSKSwKKwkJLmlycSA9IE1YQ19JTlRfR1BJTzIsCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19HUElPX0lOVF9CQVNFICsgR1BJT19OVU1fUElOCisJfSwKKwlbMl0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMiIsCisJCS5iYXNlID0gSU9fQUREUkVTUyhHUElPM19CQVNFX0FERFIpLAorCQkuaXJxID0gTVhDX0lOVF9HUElPMywKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX0dQSU9fSU5UX0JBU0UgKyBHUElPX05VTV9QSU4gKiAyCisJfQorfTsKKworaW50IF9faW5pdCBteGNfcmVnaXN0ZXJfZ3Bpb3Modm9pZCkKK3sKKwlyZXR1cm4gbXhjX2dwaW9faW5pdChpbXhfZ3Bpb19wb3J0cywgQVJSQVlfU0laRShpbXhfZ3Bpb19wb3J0cykpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvaW9tdXguYyBiL2FyY2gvYXJtL21hY2gtbXgzL2lvbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRjNTFmZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL2lvbXV4LmMKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggYnkgU2FzY2hhIEhhdWVyIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14My5oPgorCisvKgorICogSU9NVVggcmVnaXN0ZXIgKGJhc2UpIGFkZHJlc3NlcworICovCisjZGVmaW5lIElPTVVYX0JBU0UJSU9fQUREUkVTUyhJT01VWENfQkFTRV9BRERSKQorI2RlZmluZSBJT01VWElOVF9PQlMxCShJT01VWF9CQVNFICsgMHgwMDApCisjZGVmaW5lIElPTVVYSU5UX09CUzIJKElPTVVYX0JBU0UgKyAweDAwNCkKKyNkZWZpbmUgSU9NVVhHUFIJKElPTVVYX0JBU0UgKyAweDAwOCkKKyNkZWZpbmUgSU9NVVhTV19NVVhfQ1RMCShJT01VWF9CQVNFICsgMHgwMEMpCisjZGVmaW5lIElPTVVYU1dfUEFEX0NUTAkoSU9NVVhfQkFTRSArIDB4MTU0KQorCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGdwaW9fbXV4X2xvY2spOworCisjZGVmaW5lIElPTVVYX1JFR19NQVNLIChJT01VWF9QQUROVU1fTUFTSyAmIH4weDMpCisvKgorICogc2V0IHRoZSBtb2RlIGZvciBhIElPTVVYIHBpbi4KKyAqLworaW50IG14Y19pb211eF9tb2RlKHVuc2lnbmVkIGludCBwaW5fbW9kZSkKK3sKKwl1MzIgcmVnLCBmaWVsZCwgbCwgbW9kZSwgcmV0ID0gMDsKKworCXJlZyA9IElPTVVYU1dfTVVYX0NUTCArIChwaW5fbW9kZSAmIElPTVVYX1JFR19NQVNLKTsKKwlmaWVsZCA9IHBpbl9tb2RlICYgMHgzOworCW1vZGUgPSAocGluX21vZGUgJiBJT01VWF9NT0RFX01BU0spID4+IElPTVVYX01PREVfU0hJRlQ7CisKKwlwcl9kZWJ1ZygiJXM6IHJlZyBvZmZzZXQgPSAweCV4IGZpZWxkID0gJWQgbW9kZSA9IDB4JTAyeFxuIiwKKwkJCV9fZnVuY19fLCAocGluX21vZGUgJiBJT01VWF9SRUdfTUFTSyksIGZpZWxkLCBtb2RlKTsKKworCXNwaW5fbG9jaygmZ3Bpb19tdXhfbG9jayk7CisKKwlsID0gX19yYXdfcmVhZGwocmVnKTsKKwlsICY9IH4oMHhmZiA8PCAoZmllbGQgKiA4KSk7CisJbCB8PSBtb2RlIDw8IChmaWVsZCAqIDgpOworCV9fcmF3X3dyaXRlbChsLCByZWcpOworCisJc3Bpbl91bmxvY2soJmdwaW9fbXV4X2xvY2spOworCisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0wobXhjX2lvbXV4X21vZGUpOworCisvKgorICogVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBwYWQgdmFsdWUgZm9yIGEgSU9NVVggcGluLgorICovCit2b2lkIG14Y19pb211eF9zZXRfcGFkKGVudW0gaW9tdXhfcGlucyBwaW4sIHUzMiBjb25maWcpCit7CisJdTMyIHJlZywgZmllbGQsIGw7CisKKwlyZWcgPSBJT01VWFNXX1BBRF9DVEwgKyAocGluICsgMikgLyAzOworCWZpZWxkID0gKHBpbiArIDIpICUgMzsKKworCXByX2RlYnVnKCIlczogcmVnIG9mZnNldCA9IDB4JXggZmllbGQgPSAlZFxuIiwKKwkJCV9fZnVuY19fLCAocGluICsgMikgLyAzLCBmaWVsZCk7CisKKwlzcGluX2xvY2soJmdwaW9fbXV4X2xvY2spOworCisJbCA9IF9fcmF3X3JlYWRsKHJlZyk7CisJbCAmPSB+KDB4MWZmIDw8IChmaWVsZCAqIDkpKTsKKwlsIHw9IGNvbmZpZyA8PCAoZmllbGQgKiA5KTsKKwlfX3Jhd193cml0ZWwobCwgcmVnKTsKKworCXNwaW5fdW5sb2NrKCZncGlvX211eF9sb2NrKTsKK30KK0VYUE9SVF9TWU1CT0wobXhjX2lvbXV4X3NldF9wYWQpOworCisvKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzL2Rpc2FibGVzIHRoZSBnZW5lcmFsIHB1cnBvc2UgZnVuY3Rpb24gZm9yIGEgcGFydGljdWxhcgorICogc2lnbmFsLgorICovCit2b2lkIG14Y19pb211eF9zZXRfZ3ByKGVudW0gaW9tdXhfZ3BfZnVuYyBncCwgYm9vbCBlbikKK3sKKwl1MzIgbDsKKworCXNwaW5fbG9jaygmZ3Bpb19tdXhfbG9jayk7CisJbCA9IF9fcmF3X3JlYWRsKElPTVVYR1BSKTsKKwlpZiAoZW4pCisJCWwgfD0gZ3A7CisJZWxzZQorCQlsICY9IH5ncDsKKworCV9fcmF3X3dyaXRlbChsLCBJT01VWEdQUik7CisJc3Bpbl91bmxvY2soJmdwaW9fbXV4X2xvY2spOworfQorRVhQT1JUX1NZTUJPTChteGNfaW9tdXhfc2V0X2dwcik7CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL214MzFhZHMuYyBiL2FyY2gvYXJtL21hY2gtbXgzL214MzFhZHMuYwppbmRleCA3ZTg5YmRjLi5lYmEzZTBjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14My9teDMxYWRzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvbXgzMWFkcy5jCkBAIC0yNiw5ICsyNiwxMSBAQAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KICNpbmNsdWRlIDxhc20vbWVtb3J5Lmg+CiAjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgzMWFkcy5oPgogCiAvKiEKICAqIEBmaWxlIG14MzFhZHMuYwpAQCAtMTI2LDYgKzEyOCwxNiBAQAogCW14Y19pbml0X2V4dHVhcnQoKTsKIH0KIAorc3RhdGljIHZvaWQgX19pbml0IG14MzFhZHNfdGltZXJfaW5pdCh2b2lkKQoreworCW14Y19jbG9ja3NfaW5pdCgyNjAwMDAwMCk7CisJbXhjX3RpbWVyX2luaXQoImlwZ19jbGsuMCIpOworfQorCitzdHJ1Y3Qgc3lzX3RpbWVyIG14MzFhZHNfdGltZXIgPSB7CisJLmluaXQJPSBteDMxYWRzX3RpbWVyX2luaXQsCit9OworCiAvKgogICogVGhlIGZvbGxvd2luZyB1c2VzIHN0YW5kYXJkIGtlcm5lbCBtYWNyb3MgZGVmaW5lZCBpbiBhcmNoLmggaW4gb3JkZXIgdG8KICAqIGluaXRpYWxpemUgX19tYWNoX2Rlc2NfTVgzMUFEUyBkYXRhIHN0cnVjdHVyZS4KQEAgLTEzOCw1ICsxNTAsNSBAQAogCS5tYXBfaW8gICAgICAgICA9IG14MzFhZHNfbWFwX2lvLAogCS5pbml0X2lycSAgICAgICA9IG14Y19pbml0X2lycSwKIAkuaW5pdF9tYWNoaW5lICAgPSBteGNfYm9hcmRfaW5pdCwKLQkudGltZXIgICAgICAgICAgPSAmbXhjX3RpbWVyLAorCS50aW1lciAgICAgICAgICA9ICZteDMxYWRzX3RpbWVyLAogTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL214MzFsaXRlLmMgYi9hcmNoL2FybS9tYWNoLW14My9teDMxbGl0ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNzJjMWEKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9teDMxbGl0ZS5jCkBAIC0wLDAgKzEsMTA3IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwMCBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZAorICogIENvcHlyaWdodCAoQykgMjAwMiBTaGFuZSBOYXkgKHNoYW5lQG1pbmlybC5jb20pCisgKiAgQ29weXJpZ2h0IDIwMDUtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbWVtb3J5Lmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDMxbGl0ZS5oPgorCisvKgorICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBib2FyZC1zcGVjaWZpYyBpbml0aWFsaXphdGlvbiByb3V0aW5lcy4KKyAqLworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgZGVmaW5lcyB0aGUgTVgzMSBtZW1vcnkgbWFwLgorICovCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIG14MzFsaXRlX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwgPSBBSVBTMV9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQUlQUzFfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IEFJUFMxX1NJWkUsCisJCS50eXBlID0gTVRfTk9OU0hBUkVEX0RFVklDRQorCX0sIHsKKwkJLnZpcnR1YWwgPSBTUEJBMF9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oU1BCQTBfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IFNQQkEwX1NJWkUsCisJCS50eXBlID0gTVRfTk9OU0hBUkVEX0RFVklDRQorCX0sIHsKKwkJLnZpcnR1YWwgPSBBSVBTMl9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQUlQUzJfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IEFJUFMyX1NJWkUsCisJCS50eXBlID0gTVRfTk9OU0hBUkVEX0RFVklDRQorCX0sIHsKKwkJLnZpcnR1YWwgPSBDUzRfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4gPSBfX3BoeXNfdG9fcGZuKENTNF9CQVNFX0FERFIpLAorCQkubGVuZ3RoID0gQ1M0X1NJWkUsCisJCS50eXBlID0gTVRfREVWSUNFCisJfQorfTsKKworLyoKKyAqIFNldCB1cCBzdGF0aWMgdmlydHVhbCBtYXBwaW5ncy4KKyAqLwordm9pZCBfX2luaXQgbXgzMWxpdGVfbWFwX2lvKHZvaWQpCit7CisJbXhjX21hcF9pbygpOworCWlvdGFibGVfaW5pdChteDMxbGl0ZV9pb19kZXNjLCBBUlJBWV9TSVpFKG14MzFsaXRlX2lvX2Rlc2MpKTsKK30KKworLyoKKyAqIEJvYXJkIHNwZWNpZmljIGluaXRpYWxpemF0aW9uLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgbXhjX2JvYXJkX2luaXQodm9pZCkKK3sKK30KKworc3RhdGljIHZvaWQgX19pbml0IG14MzFsaXRlX3RpbWVyX2luaXQodm9pZCkKK3sKKwlteGNfY2xvY2tzX2luaXQoMjYwMDAwMDApOworCW14Y190aW1lcl9pbml0KCJpcGdfY2xrLjAiKTsKK30KKworc3RydWN0IHN5c190aW1lciBteDMxbGl0ZV90aW1lciA9IHsKKwkuaW5pdAk9IG14MzFsaXRlX3RpbWVyX2luaXQsCit9OworCisvKgorICogVGhlIGZvbGxvd2luZyB1c2VzIHN0YW5kYXJkIGtlcm5lbCBtYWNyb3MgZGVmaW5lZCBpbiBhcmNoLmggaW4gb3JkZXIgdG8KKyAqIGluaXRpYWxpemUgX19tYWNoX2Rlc2NfTVgzMUxJVEUgZGF0YSBzdHJ1Y3R1cmUuCisgKi8KKworTUFDSElORV9TVEFSVChNWDMxTElURSwgIkxvZ2ljUEQgTVgzMSBMSVRFS0lUIikKKwkvKiBNYWludGFpbmVyOiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiAqLworCS5waHlzX2lvICAgICAgICA9IEFJUFMxX0JBU0VfQUREUiwKKwkuaW9fcGdfb2Zmc3QgICAgPSAoKEFJUFMxX0JBU0VfQUREUl9WSVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zICAgID0gUEhZU19PRkZTRVQgKyAweDEwMCwKKwkubWFwX2lvICAgICAgICAgPSBteDMxbGl0ZV9tYXBfaW8sCisJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUgICA9IG14Y19ib2FyZF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZteDMxbGl0ZV90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9wY20wMzcuYyBiL2FyY2gvYXJtL21hY2gtbXgzL3BjbTAzNy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNGFlNmQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9wY20wMzcuYwpAQCAtMCwwICsxLDEzMCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L21lbW9yeS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW9tdXgtbXgzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtcGNtMDM3Lmg+CisKK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHBjbTAzN19mbGFzaF9kYXRhID0geworCS53aWR0aCAgPSAyLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBwY20wMzdfZmxhc2hfcmVzb3VyY2UgPSB7CisJLnN0YXJ0CT0gMHhhMDAwMDAwMCwKKwkuZW5kCT0gMHhhMWZmZmZmZiwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBjbTAzN19mbGFzaCA9IHsKKwkubmFtZQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJPSAwLAorCS5kZXYJPSB7CisJCS5wbGF0Zm9ybV9kYXRhICA9ICZwY20wMzdfZmxhc2hfZGF0YSwKKwl9LAorCS5yZXNvdXJjZSA9ICZwY20wMzdfZmxhc2hfcmVzb3VyY2UsCisJLm51bV9yZXNvdXJjZXMgPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgdWFydF9wZGF0YSA9IHsKKwkuZmxhZ3MgPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldmljZXNbXSBfX2luaXRkYXRhID0geworCSZwY20wMzdfZmxhc2gsCit9OworCisvKgorICogQm9hcmQgc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24uCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBteGNfYm9hcmRfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGRldmljZXMsIEFSUkFZX1NJWkUoZGV2aWNlcykpOworCisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fQ1RTMV9fQ1RTMSk7CisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fUlRTMV9fUlRTMSk7CisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fVFhEMV9fVFhEMSk7CisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fUlhEMV9fUlhEMSk7CisKKwlpbXhfaW5pdF91YXJ0KDAsICZ1YXJ0X3BkYXRhKTsKKworCW14Y19pb211eF9tb2RlKE1YMzFfUElOX0NTUEkzX01PU0lfX1JYRDMpOworCW14Y19pb211eF9tb2RlKE1YMzFfUElOX0NTUEkzX01JU09fX1RYRDMpOworCisJaW14X2luaXRfdWFydCgyLCAmdWFydF9wZGF0YSk7Cit9CisKKy8qCisgKiBUaGlzIHN0cnVjdHVyZSBkZWZpbmVzIHN0YXRpYyBtYXBwaW5ncyBmb3IgdGhlIHBjbTAzNyBib2FyZC4KKyAqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBwY20wMzdfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IEFJUFMxX0JBU0VfQUREUl9WSVJULAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oQUlQUzFfQkFTRV9BRERSKSwKKwkJLmxlbmd0aAkJPSBBSVBTMV9TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UKKwl9LCB7CisJCS52aXJ0dWFsCT0gQUlQUzJfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihBSVBTMl9CQVNFX0FERFIpLAorCQkubGVuZ3RoCQk9IEFJUFMyX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRQorCX0sCit9OworCisvKgorICogU2V0IHVwIHN0YXRpYyB2aXJ0dWFsIG1hcHBpbmdzLgorICovCit2b2lkIF9faW5pdCBwY20wMzdfbWFwX2lvKHZvaWQpCit7CisJbXhjX21hcF9pbygpOworCWlvdGFibGVfaW5pdChwY20wMzdfaW9fZGVzYywgQVJSQVlfU0laRShwY20wMzdfaW9fZGVzYykpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgcGNtMDM3X3RpbWVyX2luaXQodm9pZCkKK3sKKwlteGNfY2xvY2tzX2luaXQoMjYwMDAwMDApOworCW14Y190aW1lcl9pbml0KCJpcGdfY2xrLjAiKTsKK30KKworc3RydWN0IHN5c190aW1lciBwY20wMzdfdGltZXIgPSB7CisJLmluaXQJPSBwY20wMzdfdGltZXJfaW5pdCwKK307CisKK01BQ0hJTkVfU1RBUlQoUENNMDM3LCAiUGh5dGVjIFBoeWNvcmUgcGNtMDM3IikKKwkvKiBNYWludGFpbmVyOiBQZW5ndXRyb25peCAqLworCS5waHlzX2lvCT0gQUlQUzFfQkFTRV9BRERSLAorCS5pb19wZ19vZmZzdAk9ICgoQUlQUzFfQkFTRV9BRERSX1ZJUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMgICAgPSBQSFlTX09GRlNFVCArIDB4MTAwLAorCS5tYXBfaW8gICAgICAgICA9IHBjbTAzN19tYXBfaW8sCisJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUgICA9IG14Y19ib2FyZF9pbml0LAorCS50aW1lciAgICAgICAgICA9ICZwY20wMzdfdGltZXIsCitNQUNISU5FX0VORAorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My90aW1lLmMgYi9hcmNoL2FybS9tYWNoLW14My90aW1lLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNTY1YzkuLjAwMDAwMDAKLS0tIGEvYXJjaC9hcm0vbWFjaC1teDMvdGltZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMTQ4ICswLDAgQEAKLS8qCi0gKiBTeXN0ZW0gVGltZXIgSW50ZXJydXB0IHJlY29uZmlndXJlZCB0byBydW4gaW4gZnJlZS1ydW4gbW9kZS4KLSAqIEF1dGhvcjogVml0YWx5IFdvb2wKLSAqIENvcHlyaWdodCAyMDA0IE1vbnRhVmlzdGEgU29mdHdhcmUgSW5jLgotICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICovCi0KLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICovCi0KLS8qIQotICogQGZpbGUgdGltZS5jCi0gKiBAYnJpZWYgVGhpcyBmaWxlIGNvbnRhaW5zIE9TIHRpY2sgYW5kIHdkb2cgdGltZXIgaW1wbGVtZW50YXRpb25zLgotICoKLSAqIFRoaXMgZmlsZSBjb250YWlucyBPUyB0aWNrIGFuZCB3ZG9nIHRpbWVyIGltcGxlbWVudGF0aW9ucy4KLSAqCi0gKiBAaW5ncm91cCBUaW1lcnMKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2lycS5oPgotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KLQotLyohCi0gKiBUaGlzIGlzIHRoZSB0aW1lciBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lIHRvIGRvIHJlcXVpcmVkIHRhc2tzLgotICogSXQgYWxzbyBzZXJ2aWNlcyB0aGUgV0RPRyB0aW1lciBhdCB0aGUgZnJlcXVlbmN5IG9mIHR3aWNlIHBlciBXRE9HCi0gKiB0aW1lb3V0IHZhbHVlLiBGb3IgZXhhbXBsZSwgaWYgdGhlIFdET0cncyB0aW1lb3V0IHZhbHVlIGlzIDQgKDIKLSAqIHNlY29uZHMgc2luY2UgdGhlIFdET0cgcnVucyBhdCAwLjVIeiksIGl0IHdpbGwgYmUgc2VydmljZWQgb25jZQotICogZXZlcnkgMi8yPTEgc2Vjb25kLgotICoKLSAqIEBwYXJhbSAgaXJxICAgICAgICAgIEdQVCBpbnRlcnJ1cHQgc291cmNlIG51bWJlciAobm90IHVzZWQpCi0gKiBAcGFyYW0gIGRldl9pZCAgICAgICB0aGlzIHBhcmFtZXRlciBpcyBub3QgdXNlZAotICogQHJldHVybiBhbHdheXMgcmV0dXJucyBcYiBJUlFfSEFORExFRCBhcyBkZWZpbmVkIGluCi0gKiAgICAgICAgIGluY2x1ZGUvbGludXgvaW50ZXJydXB0LmguCi0gKi8KLXN0YXRpYyBpcnFyZXR1cm5fdCBteGNfdGltZXJfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgbmV4dF9tYXRjaDsKLQotCWlmIChfX3Jhd19yZWFkbChNWENfR1BUX0dQVFNSKSAmIEdQVFNSX09GMSkgewotCQlkbyB7Ci0JCQl0aW1lcl90aWNrKCk7Ci0JCQluZXh0X21hdGNoID0gX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRPQ1IxKSArIExBVENIOwotCQkJX19yYXdfd3JpdGVsKEdQVFNSX09GMSwgTVhDX0dQVF9HUFRTUik7Ci0JCQlfX3Jhd193cml0ZWwobmV4dF9tYXRjaCwgTVhDX0dQVF9HUFRPQ1IxKTsKLQkJfSB3aGlsZSAoKHNpZ25lZCBsb25nKShuZXh0X21hdGNoIC0KLQkJCQkgICAgICAgX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRDTlQpKSA8PSAwKTsKLQl9Ci0KLQlyZXR1cm4gSVJRX0hBTkRMRUQ7Ci19Ci0KLS8qIQotICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIG9idGFpbiB0aGUgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcyBzaW5jZSB0aGUgbGFzdAotICogdGltZXIgaW50ZXJydXB0LiBOb3RlIHRoYXQgaW50ZXJydXB0cyBpcyBkaXNhYmxlZCBieSBkb19nZXR0aW1lb2ZkYXkoKS4KLSAqCi0gKiBAcmV0dXJuIHRoZSBudW1iZXIgb2YgbWljcm9zZWNvbmRzIHNpbmNlIHRoZSBsYXN0IHRpbWVyIGludGVycnVwdC4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbXhjX2dldHRpbWVvZmZzZXQodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHRpY2tzX3RvX21hdGNoLCBlbGFwc2VkLCB1c2VjLCB0aWNrX3VzZWMsIGk7Ci0KLQkvKiBHZXQgdGlja3MgYmVmb3JlIG5leHQgdGltZXIgbWF0Y2ggKi8KLQl0aWNrc190b19tYXRjaCA9Ci0JICAgIF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUT0NSMSkgLSBfX3Jhd19yZWFkbChNWENfR1BUX0dQVENOVCk7Ci0KLQkvKiBXZSBuZWVkIGVsYXBzZWQgdGlja3Mgc2luY2UgbGFzdCBtYXRjaCAqLwotCWVsYXBzZWQgPSBMQVRDSCAtIHRpY2tzX3RvX21hdGNoOwotCi0JLyogTm93IGNvbnZlcnQgdGhlbSB0byB1c2VjICovCi0JLyogSW5zdXJlIG5vIG92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgdGhlIHVzZWMgYmVsb3cgKi8KLQlmb3IgKGkgPSAxLCB0aWNrX3VzZWMgPSB0aWNrX25zZWMgLyAxMDAwOzsgaSAqPSAyKSB7Ci0JCXRpY2tfdXNlYyAvPSBpOwotCQlpZiAoKDB4RkZGRkZGRkYgLyB0aWNrX3VzZWMpID4gZWxhcHNlZCkKLQkJCWJyZWFrOwotCX0KLQl1c2VjID0gKHVuc2lnbmVkIGxvbmcpKGVsYXBzZWQgKiB0aWNrX3VzZWMpIC8gKExBVENIIC8gaSk7Ci0KLQlyZXR1cm4gdXNlYzsKLX0KLQotLyohCi0gKiBUaGUgT1MgdGljayB0aW1lciBpbnRlcnJ1cHQgc3RydWN0dXJlLgotICovCi1zdGF0aWMgc3RydWN0IGlycWFjdGlvbiB0aW1lcl9pcnEgPSB7Ci0JLm5hbWUgPSAiTVhDIFRpbWVyIFRpY2siLAotCS5mbGFncyA9IElSUUZfRElTQUJMRUQgfCBJUlFGX1RJTUVSLAotCS5oYW5kbGVyID0gbXhjX3RpbWVyX2ludGVycnVwdAotfTsKLQotLyohCi0gKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgR1BUIHRvIHByb2R1Y2UgYW4gaW50ZXJydXB0Ci0gKiBiYXNlZCBvbiBIWi4gIEl0IGlzIGNhbGxlZCBieSBzdGFydF9rZXJuZWwoKSBkdXJpbmcgc3lzdGVtIHN0YXJ0dXAuCi0gKi8KLXZvaWQgX19pbml0IG14Y19pbml0X3RpbWUodm9pZCkKLXsKLQl1MzIgcmVnLCB2OwotCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ1IpOwotCXJlZyAmPSB+R1BUQ1JfRU5BQkxFOwotCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19HUFRfR1BUQ1IpOwotCXJlZyB8PSBHUFRDUl9TV1I7Ci0JX19yYXdfd3JpdGVsKHJlZywgTVhDX0dQVF9HUFRDUik7Ci0KLQl3aGlsZSAoKF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ1IpICYgR1BUQ1JfU1dSKSAhPSAwKQotCQljcHVfcmVsYXgoKTsKLQotCXJlZyA9IEdQVENSX0ZSUiB8IEdQVENSX0NMS1NSQ19ISUdIRlJFUTsKLQlfX3Jhd193cml0ZWwocmVnLCBNWENfR1BUX0dQVENSKTsKLQotCS8qIFRPRE86IGdldCB0aW1lciByYXRlIGZyb20gY2xrIGRyaXZlciAqLwotCXYgPSA2NjUwMDAwMDsKLQotCV9fcmF3X3dyaXRlbCgodiAvIENMT0NLX1RJQ0tfUkFURSkgLSAxLCBNWENfR1BUX0dQVFBSKTsKLQotCWlmICgodiAlIENMT0NLX1RJQ0tfUkFURSkgIT0gMCkgewotCQlwcl9pbmZvKCJcbldBUk5JTkc6IENhbid0IGdlbmVyYXRlIENMT0NLX1RJQ0tfUkFURSBhdCAlZCBIelxuIiwKLQkJCUNMT0NLX1RJQ0tfUkFURSk7Ci0JfQotCXByX2luZm8oIkFjdHVhbCBDTE9DS19USUNLX1JBVEUgaXMgJWQgSHpcbiIsCi0JCXYgLyAoKF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUUFIpICYgMHhGRkYpICsgMSkpOwotCi0JcmVnID0gX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRDTlQpOwotCXJlZyArPSBMQVRDSDsKLQlfX3Jhd193cml0ZWwocmVnLCBNWENfR1BUX0dQVE9DUjEpOwotCi0Jc2V0dXBfaXJxKE1YQ19JTlRfR1BULCAmdGltZXJfaXJxKTsKLQotCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ1IpOwotCXJlZyA9Ci0JICAgIEdQVENSX0ZSUiB8IEdQVENSX0NMS1NSQ19ISUdIRlJFUSB8IEdQVENSX1NUT1BFTiB8IEdQVENSX0RPWkVOIHwKLQkgICAgR1BUQ1JfV0FJVEVOIHwgR1BUQ1JfRU5NT0QgfCBHUFRDUl9FTkFCTEU7Ci0JX19yYXdfd3JpdGVsKHJlZywgTVhDX0dQVF9HUFRDUik7Ci0KLQlfX3Jhd193cml0ZWwoR1BUSVJfT0YxSUUsIE1YQ19HUFRfR1BUSVIpOwotfQotCi1zdHJ1Y3Qgc3lzX3RpbWVyIG14Y190aW1lciA9IHsKLQkuaW5pdCA9IG14Y19pbml0X3RpbWUsCi0JLm9mZnNldCA9IG14Y19nZXR0aW1lb2Zmc2V0LAotfTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDEvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW9tYXAxL01ha2VmaWxlCmluZGV4IGMwNmY1MjUuLjFiZGE4ZjUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDEvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9NYWtlZmlsZQpAQCAtMyw3ICszLDkgQEAKICMKIAogIyBDb21tb24gc3VwcG9ydAotb2JqLXkgOj0gaW8ubyBpZC5vIGNsb2NrLm8gaXJxLm8gbXV4Lm8gc2VyaWFsLm8gZGV2aWNlcy5vCitvYmoteSA6PSBpby5vIGlkLm8gc3JhbS5vIGNsb2NrLm8gaXJxLm8gbXV4Lm8gc2VyaWFsLm8gZGV2aWNlcy5vCisKK29iai0kKENPTkZJR19PTUFQX01DQlNQKSArPSBtY2JzcC5vCiAKIG9iai0kKENPTkZJR19PTUFQX01QVV9USU1FUikJKz0gdGltZS5vCiBvYmotJChDT05GSUdfT01BUF8zMktfVElNRVIpCSs9IHRpbWVyMzJrLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtbm9raWE3NzAuYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtbm9raWE3NzAuYwppbmRleCBiY2I5ODRmLi4zZjM5ZTBlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW5va2lhNzcwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1ub2tpYTc3MC5jCkBAIC0xMCw2ICsxMCw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgpAQCAtMjAyLDcgKzIwMyw3IEBACiAjZGVmaW5lCUFNUExJRklFUl9DVFJMX0dQSU8JNTgKIAogc3RhdGljIHN0cnVjdCBjbGsgKmRzcHhvcl9jazsKLXN0YXRpYyBERUNMQVJFX01VVEVYKGF1ZGlvX3B3cl9zZW0pOworc3RhdGljIERFRklORV9NVVRFWChhdWRpb19wd3JfbG9jayk7CiAvKgogICogYXVkaW9fcHdyX3N0YXRlCiAgKiArLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCkBAIC0yMTgsNyArMjE5LDcgQEAKIHN0YXRpYyBpbnQgYXVkaW9fcHdyX3N0YXRlID0gLTE7CiAKIC8qCi0gKiBhdWRpb19wd3JfdXAgLyBkb3duIHNob3VsZCBiZSBjYWxsZWQgdW5kZXIgYXVkaW9fcHdyX3NlbQorICogYXVkaW9fcHdyX3VwIC8gZG93biBzaG91bGQgYmUgY2FsbGVkIHVuZGVyIGF1ZGlvX3B3cl9sb2NrCiAgKi8KIHN0YXRpYyB2b2lkIG5va2lhNzcwX2F1ZGlvX3B3cl91cCh2b2lkKQogewpAQCAtMjM3LDExICsyMzgsMTEgQEAKIAogc3RhdGljIHZvaWQgY29kZWNfZGVsYXllZF9wb3dlcl9kb3duKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLQlkb3duKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF9sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJaWYgKGF1ZGlvX3B3cl9zdGF0ZSA9PSAtMSkKIAkJYWljMjNfcG93ZXJfZG93bigpOwogCWNsa19kaXNhYmxlKGRzcHhvcl9jayk7Ci0JdXAoJmF1ZGlvX3B3cl9zZW0pOworCW11dGV4X3VubG9jaygmYXVkaW9fcHdyX2xvY2spOwogfQogCiBzdGF0aWMgREVDTEFSRV9ERUxBWUVEX1dPUksoY29kZWNfcG93ZXJfZG93bl93b3JrLCBjb2RlY19kZWxheWVkX3Bvd2VyX2Rvd24pOwpAQCAtMjU4LDE5ICsyNTksMTkgQEAKIHN0YXRpYyBpbnQKIG5va2lhNzcwX2F1ZGlvX3B3cl91cF9yZXF1ZXN0KHN0cnVjdCBkc3Bfa2Z1bmNfZGV2aWNlICprZGV2LCBpbnQgc3RhZ2UpCiB7Ci0JZG93bigmYXVkaW9fcHdyX3NlbSk7CisJbXV0ZXhfbG9jaygmYXVkaW9fcHdyX2xvY2spOwogCWlmIChhdWRpb19wd3Jfc3RhdGUgPT0gLTEpCiAJCW5va2lhNzcwX2F1ZGlvX3B3cl91cCgpOwogCS8qIGZvcmNlIGF1ZGlvX3B3cl9zdGF0ZSA9IDAsIGV2ZW4gaWYgaXQgd2FzIDEuICovCiAJYXVkaW9fcHdyX3N0YXRlID0gMDsKLQl1cCgmYXVkaW9fcHdyX3NlbSk7CisJbXV0ZXhfdW5sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQKIG5va2lhNzcwX2F1ZGlvX3B3cl9kb3duX3JlcXVlc3Qoc3RydWN0IGRzcF9rZnVuY19kZXZpY2UgKmtkZXYsIGludCBzdGFnZSkKIHsKLQlkb3duKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF9sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJc3dpdGNoIChzdGFnZSkgewogCWNhc2UgMToKIAkJaWYgKGF1ZGlvX3B3cl9zdGF0ZSA9PSAwKQpAQCAtMjgzLDcgKzI4NCw3IEBACiAJCX0KIAkJYnJlYWs7CiAJfQotCXVwKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF91bmxvY2soJmF1ZGlvX3B3cl9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1vc2suYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtb3NrLmMKaW5kZXggYTY2NTA1Zi4uODQ1YzY2MyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1vc2suYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW9zay5jCkBAIC0yNjcsMTMgKzI2NywxNyBAQAogCiBzdGF0aWMgdm9pZCBfX2luaXQgb3NrX2luaXRfc21jOTF4KHZvaWQpCiB7CisJdTMyIGw7CisKIAlpZiAoKGdwaW9fcmVxdWVzdCgwLCAic21jX2lycSIpKSA8IDApIHsKIAkJcHJpbnRrKCJFcnJvciByZXF1ZXN0aW5nIGdwaW8gMCBmb3Igc21jOTF4IGlycVxuIik7CiAJCXJldHVybjsKIAl9CiAKIAkvKiBDaGVjayBFTUlGUyB3YWl0IHN0YXRlcyB0byBmaXggZXJyb3JzIHdpdGggU01DX0dFVF9QS1RfSERSICovCi0JRU1JRlNfQ0NTKDEpIHw9IDB4MzsKKwlsID0gb21hcF9yZWFkbChFTUlGU19DQ1MoMSkpOworCWwgfD0gMHgzOworCW9tYXBfd3JpdGVsKGwsIEVNSUZTX0NDUygxKSk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBvc2tfaW5pdF9jZih2b2lkKQpAQCAtNTI2LDIwICs1MzAsMjYgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IG9za19pbml0KHZvaWQpCiB7CisJdTMyIGw7CisKIAkvKiBXb3JrYXJvdW5kIGZvciB3cm9uZyBDUzMgKE5PUiBmbGFzaCkgdGltaW5nCiAJICogVGhlcmUgYXJlIHNvbWUgVS1Cb290IHZlcnNpb25zIG91dCB0aGVyZSB3aGljaCBjb25maWd1cmUKIAkgKiB3cm9uZyBDUzMgbWVtb3J5IHRpbWluZ3MuIFRoaXMgbWFpbmx5IGxlYWRzIHRvIENSQwogCSAqIG9yIHNpbWlsYXIgZXJyb3JzIGlmIHlvdSB1c2UgTk9SIGZsYXNoIChlLmcuIHdpdGggSkZGUzIpCiAJICovCi0JaWYgKEVNSUZTX0NDUygzKSAhPSBFTUlGU19DUzNfVkFMKQotCQlFTUlGU19DQ1MoMykgPSBFTUlGU19DUzNfVkFMOworCWwgPSBvbWFwX3JlYWRsKEVNSUZTX0NDUygzKSk7CisJaWYgKGwgIT0gRU1JRlNfQ1MzX1ZBTCkKKwkJb21hcF93cml0ZWwoRU1JRlNfQ1MzX1ZBTCwgRU1JRlNfQ0NTKDMpKTsKIAogCW9za19mbGFzaF9yZXNvdXJjZS5lbmQgPSBvc2tfZmxhc2hfcmVzb3VyY2Uuc3RhcnQgPSBvbWFwX2NzM19waHlzKCk7CiAJb3NrX2ZsYXNoX3Jlc291cmNlLmVuZCArPSBTWl8zMk0gLSAxOwogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG9zazU5MTJfZGV2aWNlcywgQVJSQVlfU0laRShvc2s1OTEyX2RldmljZXMpKTsKIAlvbWFwX2JvYXJkX2NvbmZpZyA9IG9za19jb25maWc7CiAJb21hcF9ib2FyZF9jb25maWdfc2l6ZSA9IEFSUkFZX1NJWkUob3NrX2NvbmZpZyk7Ci0JVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHIHw9ICgzIDw8IDEpOworCisJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCWwgfD0gKDMgPDwgMSk7CisJb21hcF93cml0ZWwobCwgVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOwogCiAJLyogaXJxIGZvciB0cHM2NTAxMCBjaGlwICovCiAJLyogYm9vdGxvYWRlciBlZmZlY3RpdmVseSBkb2VzOiAgb21hcF9jZmdfcmVnKFUxOV8xNjEwX01QVUlPMSk7ICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL2ZwZ2EuYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvZnBnYS5jCmluZGV4IDMwZTE4ODEuLjBjZjYyZWYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDEvZnBnYS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvZnBnYS5jCkBAIC0zMiw3ICszMiw3IEBACiAKIHN0YXRpYyB2b2lkIGZwZ2FfbWFza19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKLQlpcnEgLT0gT01BUDE1MTBfSUhfRlBHQV9CQVNFOworCWlycSAtPSBPTUFQX0ZQR0FfSVJRX0JBU0U7CiAKIAlpZiAoaXJxIDwgOCkKIAkJX19yYXdfd3JpdGViKChfX3Jhd19yZWFkYihPTUFQMTUxMF9GUEdBX0lNUl9MTykKQEAgLTY1LDcgKzY1LDcgQEAKIAogc3RhdGljIHZvaWQgZnBnYV91bm1hc2tfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7Ci0JaXJxIC09IE9NQVAxNTEwX0lIX0ZQR0FfQkFTRTsKKwlpcnEgLT0gT01BUF9GUEdBX0lSUV9CQVNFOwogCiAJaWYgKGlycSA8IDgpCiAJCV9fcmF3X3dyaXRlYigoX19yYXdfcmVhZGIoT01BUDE1MTBfRlBHQV9JTVJfTE8pIHwgKDEgPDwgaXJxKSksCkBAIC05NSw4ICs5NSw4IEBACiAJaWYgKCFzdGF0KQogCQlyZXR1cm47CiAKLQlmb3IgKGZwZ2FfaXJxID0gT01BUDE1MTBfSUhfRlBHQV9CQVNFOwotCSAgICAgKGZwZ2FfaXJxIDwgKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIE5SX0ZQR0FfSVJRUykpICYmIHN0YXQ7CisJZm9yIChmcGdhX2lycSA9IE9NQVBfRlBHQV9JUlFfQkFTRTsKKwkgICAgIChmcGdhX2lycSA8IE9NQVBfRlBHQV9JUlFfRU5EKSAmJiBzdGF0OwogCSAgICAgZnBnYV9pcnErKywgc3RhdCA+Pj0gMSkgewogCQlpZiAoc3RhdCAmIDEpIHsKIAkJCWQgPSBpcnFfZGVzYyArIGZwZ2FfaXJxOwpAQCAtMTUxLDcgKzE1MSw3IEBACiAJX19yYXdfd3JpdGViKDAsIE9NQVAxNTEwX0ZQR0FfSU1SX0hJKTsKIAlfX3Jhd193cml0ZWIoMCwgSU5OT1ZBVE9SX0ZQR0FfSU1SMik7CiAKLQlmb3IgKGkgPSBPTUFQMTUxMF9JSF9GUEdBX0JBU0U7IGkgPCAoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgTlJfRlBHQV9JUlFTKTsgaSsrKSB7CisJZm9yIChpID0gT01BUF9GUEdBX0lSUV9CQVNFOyBpIDwgT01BUF9GUEdBX0lSUV9FTkQ7IGkrKykgewogCiAJCWlmIChpID09IE9NQVAxNTEwX0lOVF9GUEdBX1RTKSB7CiAJCQkvKgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9tY2JzcC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9tY2JzcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMmMyNTIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL21jYnNwLmMKQEAgLTAsMCArMSwyODAgQEAKKy8qCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAxL21jYnNwLmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5zdGl0dXRvIE5va2lhIGRlIFRlY25vbG9naWEKKyAqIENvbnRhY3Q6IEVkdWFyZG8gVmFsZW50aW4gPGVkdWFyZG8udmFsZW50aW5AaW5kdC5vcmcuYnI+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBNdWx0aWNoYW5uZWwgbW9kZSBub3Qgc3VwcG9ydGVkLgorICovCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9kbWEuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdXguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jcHUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tY2JzcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2RzcF9jb21tb24uaD4KKworI2RlZmluZSBEUFNfUlNUQ1QyX1BFUl9FTgkoMSA8PCAwKQorI2RlZmluZSBEU1BfUlNUQ1QyX1dEX1BFUl9FTgkoMSA8PCAxKQorCitzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIHsKKwlzdHJ1Y3QgY2xrIGNsazsKKwlzdHJ1Y3QgY2xrICoqY2hpbGRzOworCWludCBuX2NoaWxkczsKK307CisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNVhYKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNlhYKQorc3RhdGljIHZvaWQgb21hcF9tY2JzcF9jbGtfaW5pdChzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrKQoreworCWNvbnN0IGNoYXIgKmNsa19uYW1lc1tdID0geyAiZHNwX2NrIiwgImFwaV9jayIsICJkc3B4b3JfY2siIH07CisJaW50IGk7CisKKwltY2xrLT5uX2NoaWxkcyA9IEFSUkFZX1NJWkUoY2xrX25hbWVzKTsKKwltY2xrLT5jaGlsZHMgPSBremFsbG9jKG1jbGstPm5fY2hpbGRzICogc2l6ZW9mKHN0cnVjdCBjbGsgKiksCisJCQkJR0ZQX0tFUk5FTCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWNsay0+bl9jaGlsZHM7IGkrKykgeworCQkvKiBXZSBmYWtlIGEgcGxhdGZvcm0gZGV2aWNlIHRvIGdldCBjb3JyZWN0IGRldmljZSBpZCAqLworCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBkZXY7CisKKwkJcGRldi5kZXYuYnVzID0gJnBsYXRmb3JtX2J1c190eXBlOworCQlwZGV2LmlkID0gbWNsay0+Y2xrLmlkOworCQltY2xrLT5jaGlsZHNbaV0gPSBjbGtfZ2V0KCZwZGV2LmRldiwgY2xrX25hbWVzW2ldKTsKKwkJaWYgKElTX0VSUihtY2xrLT5jaGlsZHNbaV0pKQorCQkJcHJpbnRrKEtFUk5fRVJSICJDb3VsZCBub3QgZ2V0IGNsb2NrICVzICglZCkuXG4iLAorCQkJCWNsa19uYW1lc1tpXSwgbWNsay0+Y2xrLmlkKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9jbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrID0gY29udGFpbmVyX29mKGNsaywKKwkJCQkJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsaywgY2xrKTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBtY2xrLT5uX2NoaWxkczsgaSsrKQorCQljbGtfZW5hYmxlKG1jbGstPmNoaWxkc1tpXSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIG9tYXBfbWNic3BfY2xrX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGsgPSBjb250YWluZXJfb2YoY2xrLAorCQkJCQlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrLCBjbGspOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG1jbGstPm5fY2hpbGRzOyBpKyspCisJCWNsa19kaXNhYmxlKG1jbGstPmNoaWxkc1tpXSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIG9tYXBfbWNic3BfY2xrc1tdID0geworCXsKKwkJLmNsayA9IHsKKwkJCS5uYW1lIAkJPSAibWNic3BfY2xrIiwKKwkJCS5pZAkJPSAxLAorCQkJLmVuYWJsZQkJPSBvbWFwX21jYnNwX2Nsa19lbmFibGUsCisJCQkuZGlzYWJsZQk9IG9tYXBfbWNic3BfY2xrX2Rpc2FibGUsCisJCX0sCisJfSwKKwl7CisJCS5jbGsgPSB7CisJCQkubmFtZSAJCT0gIm1jYnNwX2NsayIsCisJCQkuaWQJCT0gMywKKwkJCS5lbmFibGUJCT0gb21hcF9tY2JzcF9jbGtfZW5hYmxlLAorCQkJLmRpc2FibGUJPSBvbWFwX21jYnNwX2Nsa19kaXNhYmxlLAorCQl9LAorCX0sCit9OworCisjZGVmaW5lIG9tYXBfbWNic3BfY2xrc19zaXplCUFSUkFZX1NJWkUob21hcF9tY2JzcF9jbGtzKQorI2Vsc2UKKyNkZWZpbmUgb21hcF9tY2JzcF9jbGtzX3NpemUJMAorc3RhdGljIHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgX19pbml0ZGF0YSAqb21hcF9tY2JzcF9jbGtzOworc3RhdGljIGlubGluZSB2b2lkIG9tYXBfbWNic3BfY2xrX2luaXQoc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsaykKK3sgfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgb21hcDFfbWNic3BfY2hlY2sodW5zaWduZWQgaW50IGlkKQoreworCS8qIFJFVklTSVQ6IENoZWNrIGNvcnJlY3RseSBmb3IgbnVtYmVyIG9mIHJlZ2lzdGVyZWQgTWNCU1BzICovCisJaWYgKGNwdV9pc19vbWFwNzMwKCkpIHsKKwkJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQgLSAyKSB7CisJCSAgICAgICBwcmludGsoS0VSTl9FUlIgIk9NQVAtTWNCU1A6IE1jQlNQJWQgZG9lc24ndCBleGlzdFxuIiwKKwkJCQlpZCArIDEpOworCQkgICAgICAgcmV0dXJuIC1FTk9ERVY7CisJCX0KKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKGNwdV9pc19vbWFwMTV4eCgpIHx8IGNwdV9pc19vbWFwMTZ4eCgpKSB7CisJCWlmIChpZCA+IE9NQVBfTUFYX01DQlNQX0NPVU5UIC0gMSkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJPTUFQLU1jQlNQOiBNY0JTUCVkIGRvZXNuJ3QgZXhpc3RcbiIsCisJCQkJaWQgKyAxKTsKKwkJCXJldHVybiAtRU5PREVWOworCQl9CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAtRU5PREVWOworfQorCitzdGF0aWMgdm9pZCBvbWFwMV9tY2JzcF9yZXF1ZXN0KHVuc2lnbmVkIGludCBpZCkKK3sKKwkvKgorCSAqIE9uIDE1MTAsIDE2MTAgYW5kIDE3MTAsIE1jQlNQMSBhbmQgTWNCU1AzCisJICogYXJlIERTUCBwdWJsaWMgcGVyaXBoZXJhbHMuCisJICovCisJaWYgKGlkID09IE9NQVBfTUNCU1AxIHx8IGlkID09IE9NQVBfTUNCU1AzKSB7CisJCW9tYXBfZHNwX3JlcXVlc3RfbWVtKCk7CisJCS8qCisJCSAqIERTUCBleHRlcm5hbCBwZXJpcGhlcmFsIHJlc2V0CisJCSAqIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBtb3ZlZCB0byBkc3AgY29kZQorCQkgKi8KKwkJX19yYXdfd3JpdGV3KF9fcmF3X3JlYWR3KERTUF9SU1RDVDIpIHwgRFBTX1JTVENUMl9QRVJfRU4gfAorCQkJCURTUF9SU1RDVDJfV0RfUEVSX0VOLCBEU1BfUlNUQ1QyKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIG9tYXAxX21jYnNwX2ZyZWUodW5zaWduZWQgaW50IGlkKQoreworCWlmIChpZCA9PSBPTUFQX01DQlNQMSB8fCBpZCA9PSBPTUFQX01DQlNQMykKKwkJb21hcF9kc3BfcmVsZWFzZV9tZW0oKTsKK30KKworc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwX29wcyBvbWFwMV9tY2JzcF9vcHMgPSB7CisJLmNoZWNrCQk9IG9tYXAxX21jYnNwX2NoZWNrLAorCS5yZXF1ZXN0CT0gb21hcDFfbWNic3BfcmVxdWVzdCwKKwkuZnJlZQkJPSBvbWFwMV9tY2JzcF9mcmVlLAorfTsKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVA3MzAKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhIG9tYXA3MzBfbWNic3BfcGRhdGFbXSA9IHsKKwl7CisJCS52aXJ0X2Jhc2UJPSBpb19wMnYoT01BUDczMF9NQ0JTUDFfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AxX1RYLAorCQkucnhfaXJxCQk9IElOVF83MzBfTWNCU1AxUlgsCisJCS50eF9pcnEJCT0gSU5UXzczMF9NY0JTUDFUWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gaW9fcDJ2KE9NQVA3MzBfTUNCU1AyX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDNfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19UWCwKKwkJLnJ4X2lycQkJPSBJTlRfNzMwX01jQlNQMlJYLAorCQkudHhfaXJxCQk9IElOVF83MzBfTWNCU1AyVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwl9LAorfTsKKyNkZWZpbmUgT01BUDczMF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwNzMwX21jYnNwX3BkYXRhKQorI2Vsc2UKKyNkZWZpbmUgb21hcDczMF9tY2JzcF9wZGF0YQkJTlVMTAorI2RlZmluZSBPTUFQNzMwX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAxNVhYCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwMTV4eF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IE9NQVAxNTEwX01DQlNQMV9CQVNFLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfTWNCU1AxUlgsCisJCS50eF9pcnEJCT0gSU5UX01jQlNQMVRYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCQl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IGlvX3AydihPTUFQMTUxMF9NQ0JTUDJfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQMl9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AyX1RYLAorCQkucnhfaXJxCQk9IElOVF8xNTEwX1NQSV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMTUxMF9TUElfVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IE9NQVAxNTEwX01DQlNQM19CQVNFLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDNfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19UWCwKKwkJLnJ4X2lycQkJPSBJTlRfTWNCU1AzUlgsCisJCS50eF9pcnEJCT0gSU5UX01jQlNQM1RYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCit9OworI2RlZmluZSBPTUFQMTVYWF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwMTV4eF9tY2JzcF9wZGF0YSkKKyNlbHNlCisjZGVmaW5lIG9tYXAxNXh4X21jYnNwX3BkYXRhCQlOVUxMCisjZGVmaW5lIE9NQVAxNVhYX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAxNlhYCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwMTZ4eF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IE9NQVAxNjEwX01DQlNQMV9CQVNFLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfTWNCU1AxUlgsCisJCS50eF9pcnEJCT0gSU5UX01jQlNQMVRYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gaW9fcDJ2KE9NQVAxNjEwX01DQlNQMl9CQVNFKSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUF9ETUFfTUNCU1AyX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDJfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzE2MTBfTWNCU1AyX1JYLAorCQkudHhfaXJxCQk9IElOVF8xNjEwX01jQlNQMl9UWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gT01BUDE2MTBfTUNCU1AzX0JBU0UsCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AzX1RYLAorCQkucnhfaXJxCQk9IElOVF9NY0JTUDNSWCwKKwkJLnR4X2lycQkJPSBJTlRfTWNCU1AzVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwkJLmNsa19uYW1lCT0gIm1jYnNwX2NsayIsCisJfSwKK307CisjZGVmaW5lIE9NQVAxNlhYX01DQlNQX1BEQVRBX1NaCQlBUlJBWV9TSVpFKG9tYXAxNnh4X21jYnNwX3BkYXRhKQorI2Vsc2UKKyNkZWZpbmUgb21hcDE2eHhfbWNic3BfcGRhdGEJCU5VTEwKKyNkZWZpbmUgT01BUDE2WFhfTUNCU1BfUERBVEFfU1oJCTAKKyNlbmRpZgorCitpbnQgX19pbml0IG9tYXAxX21jYnNwX2luaXQodm9pZCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBvbWFwX21jYnNwX2Nsa3Nfc2l6ZTsgaSsrKSB7CisJCWlmIChjcHVfaXNfb21hcDE1eHgoKSB8fCBjcHVfaXNfb21hcDE2eHgoKSkgeworCQkJb21hcF9tY2JzcF9jbGtfaW5pdCgmb21hcF9tY2JzcF9jbGtzW2ldKTsKKwkJCWNsa19yZWdpc3Rlcigmb21hcF9tY2JzcF9jbGtzW2ldLmNsayk7CisJCX0KKwl9CisKKwlpZiAoY3B1X2lzX29tYXA3MzAoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDczMF9tY2JzcF9wZGF0YSwKKwkJCQkJCU9NQVA3MzBfTUNCU1BfUERBVEFfU1opOworCisJaWYgKGNwdV9pc19vbWFwMTV4eCgpKQorCQlvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhvbWFwMTV4eF9tY2JzcF9wZGF0YSwKKwkJCQkJCU9NQVAxNVhYX01DQlNQX1BEQVRBX1NaKTsKKworCWlmIChjcHVfaXNfb21hcDE2eHgoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDE2eHhfbWNic3BfcGRhdGEsCisJCQkJCQlPTUFQMTZYWF9NQ0JTUF9QREFUQV9TWik7CisKKwlyZXR1cm4gb21hcF9tY2JzcF9pbml0KCk7Cit9CisKK2FyY2hfaW5pdGNhbGwob21hcDFfbWNic3BfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL3BtLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAxL3BtLmMKaW5kZXggZTZjNjRlMS4uNzQyZjc5ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9wbS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvcG0uYwpAQCAtMTE2LDEzICsxMTYsNiBAQAogCQlyZXR1cm47CiAJfQogCi0JLyoKLQkgKiBTaW5jZSBhbiBpbnRlcnJ1cHQgbWF5IHNldCB1cCBhIHRpbWVyLCB3ZSBkb24ndCB3YW50IHRvCi0JICogcmVwcm9ncmFtIHRoZSBoYXJkd2FyZSB0aW1lciB3aXRoIGludGVycnVwdHMgZW5hYmxlZC4KLQkgKiBSZS1lbmFibGUgaW50ZXJydXB0cyBvbmx5IGFmdGVyIHJldHVybmluZyBmcm9tIGlkbGUuCi0JICovCi0JdGltZXJfZHluX3JlcHJvZ3JhbSgpOwotCiAjaWZkZWYgQ09ORklHX09NQVBfTVBVX1RJTUVSCiAjd2FybmluZyBFbmFibGUgMzJrSHogT1MgdGltZXIgaW4gb3JkZXIgdG8gYWxsb3cgc2xlZXAgc3RhdGVzIGluIGlkbGUKIAl1c2VfaWRsZWN0MSA9IHVzZV9pZGxlY3QxICYgfigxIDw8IDkpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL3NyYW0tZm4uUyBiL2FyY2gvYXJtL21hY2gtb21hcDEvc3JhbS5TCnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIGFyY2gvYXJtL3BsYXQtb21hcC9zcmFtLWZuLlMKcmVuYW1lIHRvIGFyY2gvYXJtL21hY2gtb21hcDEvc3JhbS5TCmluZGV4IDllMTgxM2MuLjEyNmQyNTIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9zcmFtLWZuLlMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9zcmFtLlMKQEAgLTE4LDcgKzE4LDcgQEAKIC8qCiAgKiBSZXByb2dyYW1zIFVMUEQgYW5kIENLQ1RMLgogICovCi1FTlRSWShzcmFtX3JlcHJvZ3JhbV9jbG9jaykKK0VOVFJZKG9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrKQogCXN0bWZkCXNwISwge3IwIC0gcjEyLCBscn0JCUAgc2F2ZSByZWdpc3RlcnMgb24gc3RhY2sKIAogCW1vdglyMiwgI0lPX0FERFJFU1MoRFBMTF9DVEwpICYgMHhmZjAwMDAwMApAQCAtNTMsNSArNTMsNSBAQAogCiBvdXQ6CiAJbGRtZmQJc3AhLCB7cjAgLSByMTIsIHBjfQkJQCByZXN0b3JlIHJlZ3MgYW5kIHJldHVybgotRU5UUlkoc3JhbV9yZXByb2dyYW1fY2xvY2tfc3opCi0JLndvcmQJLiAtIHNyYW1fcmVwcm9ncmFtX2Nsb2NrCitFTlRSWShvbWFwMV9zcmFtX3JlcHJvZ3JhbV9jbG9ja19zeikKKwkud29yZAkuIC0gb21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2sKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW9tYXAyL01ha2VmaWxlCmluZGV4IDJmZWI2ODcuLjkzZWU5OTAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9NYWtlZmlsZQpAQCAtMyw5ICszLDE1IEBACiAjCiAKICMgQ29tbW9uIHN1cHBvcnQKLW9iai15IDo9IGlycS5vIGlkLm8gaW8ubyBzcmFtLWZuLm8gbWVtb3J5Lm8gY29udHJvbC5vIHByY20ubyBjbG9jay5vIG11eC5vIFwKK29iai15IDo9IGlycS5vIGlkLm8gaW8ubyBtZW1vcnkubyBjb250cm9sLm8gcHJjbS5vIGNsb2NrLm8gbXV4Lm8gXAogCQlkZXZpY2VzLm8gc2VyaWFsLm8gZ3BtYy5vIHRpbWVyLWdwLm8KIAorb2JqLSQoQ09ORklHX09NQVBfTUNCU1ApICs9IG1jYnNwLm8KKworIyBGdW5jdGlvbnMgbG9hZGVkIHRvIFNSQU0KK29iai0kKENPTkZJR19BUkNIX09NQVAyNDIwKQkJKz0gc3JhbTI0Mngubworb2JqLSQoQ09ORklHX0FSQ0hfT01BUDI0MzApCQkrPSBzcmFtMjQzeC5vCisKICMgUG93ZXIgTWFuYWdlbWVudAogb2JqLSQoQ09ORklHX1BNKSArPSBwbS5vIHNsZWVwLm8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5jCmluZGV4IGFiOWZjNTcuLjE1Njc1YmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmMKQEAgLTQxLDYgKzQxLDI0IEBACiAKICNkZWZpbmUgTUFYX0NMT0NLX0VOQUJMRV9XQUlUCQkxMDAwMDAKIAorLyogRFBMTCByYXRlIHJvdW5kaW5nOiBtaW5pbXVtIERQTEwgbXVsdGlwbGllciwgZGl2aWRlciB2YWx1ZXMgKi8KKyNkZWZpbmUgRFBMTF9NSU5fTVVMVElQTElFUgkJMQorI2RlZmluZSBEUExMX01JTl9ESVZJREVSCQkxCisKKy8qIFBvc3NpYmxlIGVycm9yIHJlc3VsdHMgZnJvbSBfZHBsbF90ZXN0X211bHQgKi8KKyNkZWZpbmUgRFBMTF9NVUxUX1VOREVSRkxPVwkJKDEgPDwgMCkKKworLyoKKyAqIFNjYWxlIGZhY3RvciB0byBtaXRpZ2F0ZSByb3VuZG9mZiBlcnJvcnMgaW4gRFBMTCByYXRlIHJvdW5kaW5nLgorICogVGhlIGhpZ2hlciB0aGUgc2NhbGUgZmFjdG9yLCB0aGUgZ3JlYXRlciB0aGUgcmlzayBvZiBhcml0aG1ldGljIG92ZXJmbG93LAorICogYnV0IHRoZSBjbG9zZXIgdGhlIHJvdW5kZWQgcmF0ZSB0byB0aGUgdGFyZ2V0IHJhdGUuICBEUExMX1NDQUxFX0ZBQ1RPUgorICogbXVzdCBiZSBhIHBvd2VyIG9mIERQTExfU0NBTEVfQkFTRS4KKyAqLworI2RlZmluZSBEUExMX1NDQUxFX0ZBQ1RPUgkJNjQKKyNkZWZpbmUgRFBMTF9TQ0FMRV9CQVNFCQkJMgorI2RlZmluZSBEUExMX1JPVU5ESU5HX1ZBTAkJKChEUExMX1NDQUxFX0JBU0UgLyAyKSAqIFwKKwkJCQkJIChEUExMX1NDQUxFX0ZBQ1RPUiAvIERQTExfU0NBTEVfQkFTRSkpCisKIHU4IGNwdV9tYXNrOwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk1LDcgKzExMyw3IEBACiB7CiAJbG9uZyBsb25nIGRwbGxfY2xrOwogCXUzMiBkcGxsX211bHQsIGRwbGxfZGl2LCBkcGxsOwotCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCXN0cnVjdCBkcGxsX2RhdGEgKmRkOwogCiAJZGQgPSBjbGstPmRwbGxfZGF0YTsKIAkvKiBSRVZJU0lUOiBXaGF0IGRvIHdlIHJldHVybiBvbiBlcnJvcj8gKi8KQEAgLTYwMyw3ICs2MjEsOCBAQAogCWNsay0+cmF0ZSA9IGNsay0+cGFyZW50LT5yYXRlIC8gbmV3X2RpdjsKIAogCWlmIChjbGstPmZsYWdzICYgREVMQVlFRF9BUFAgJiYgY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJX19yYXdfd3JpdGVsKE9NQVAyNFhYX1ZBTElEX0NPTkZJRywgT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTCk7CisJCXBybV93cml0ZV9tb2RfcmVnKE9NQVAyNFhYX1ZBTElEX0NPTkZJRywKKwkJCU9NQVAyNFhYX0dSX01PRCwgT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTF9PRkZTRVQpOwogCQl3bWIoKTsKIAl9CiAKQEAgLTcyMyw2ICs3NDIsMTg0IEBACiAJcmV0dXJuIDA7CiB9CiAKKy8qIERQTEwgcmF0ZSByb3VuZGluZyBjb2RlICovCisKKy8qKgorICogb21hcDJfZHBsbF9zZXRfcmF0ZV90b2xlcmFuY2U6IHNldCB0aGUgZXJyb3IgdG9sZXJhbmNlIGR1cmluZyByYXRlIHJvdW5kaW5nCisgKiBAY2xrOiBzdHJ1Y3QgY2xrICogb2YgdGhlIERQTEwKKyAqIEB0b2xlcmFuY2U6IG1heGltdW0gcmF0ZSBlcnJvciB0b2xlcmFuY2UKKyAqCisgKiBTZXQgdGhlIG1heGltdW0gRFBMTCByYXRlIGVycm9yIHRvbGVyYW5jZSBmb3IgdGhlIHJhdGUgcm91bmRpbmcKKyAqIGFsZ29yaXRobS4gIFRoZSByYXRlIHRvbGVyYW5jZSBpcyBhbiBhdHRlbXB0IHRvIGJhbGFuY2UgRFBMTCBwb3dlcgorICogc2F2aW5nICh0aGUgbGVhc3QgZGl2aWRlciB2YWx1ZSAibiIpIHZzLiByYXRlIGZpZGVsaXR5ICh0aGUgbGVhc3QKKyAqIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgZGVzaXJlZCBEUExMIHRhcmdldCByYXRlIGFuZCB0aGUgcm91bmRlZAorICogcmF0ZSBvdXQgb2YgdGhlIGFsZ29yaXRobSkuICBTbywgaW5jcmVhc2luZyB0aGUgdG9sZXJhbmNlIGlzIGxpa2VseQorICogdG8gZGVjcmVhc2UgRFBMTCBwb3dlciBjb25zdW1wdGlvbiBhbmQgaW5jcmVhc2UgRFBMTCByYXRlIGVycm9yLgorICogUmV0dXJucyAtRUlOVkFMIGlmIHByb3ZpZGVkIGEgbnVsbCBjbG9jayBwdHIgb3IgYSBjbGsgdGhhdCBpcyBub3QgYQorICogRFBMTDsgb3IgMCB1cG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBvbWFwMl9kcGxsX3NldF9yYXRlX3RvbGVyYW5jZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGludCB0b2xlcmFuY2UpCit7CisJaWYgKCFjbGsgfHwgIWNsay0+ZHBsbF9kYXRhKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNsay0+ZHBsbF9kYXRhLT5yYXRlX3RvbGVyYW5jZSA9IHRvbGVyYW5jZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfZHBsbF9jb21wdXRlX25ld19yYXRlKHVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGUsIHVuc2lnbmVkIGludCBtLCB1bnNpZ25lZCBpbnQgbikKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgbnVtOworCisJbnVtID0gKHVuc2lnbmVkIGxvbmcgbG9uZylwYXJlbnRfcmF0ZSAqIG07CisJZG9fZGl2KG51bSwgbik7CisJcmV0dXJuIG51bTsKK30KKworLyoKKyAqIF9kcGxsX3Rlc3RfbXVsdCAtIHRlc3QgYSBEUExMIG11bHRpcGxpZXIgdmFsdWUKKyAqIEBtOiBwb2ludGVyIHRvIHRoZSBEUExMIG0gKG11bHRpcGxpZXIpIHZhbHVlIHVuZGVyIHRlc3QKKyAqIEBuOiBjdXJyZW50IERQTEwgbiAoZGl2aWRlcikgdmFsdWUgdW5kZXIgdGVzdAorICogQG5ld19yYXRlOiBwb2ludGVyIHRvIHN0b3JhZ2UgZm9yIHRoZSByZXN1bHRpbmcgcm91bmRlZCByYXRlCisgKiBAdGFyZ2V0X3JhdGU6IHRoZSBkZXNpcmVkIERQTEwgcmF0ZQorICogQHBhcmVudF9yYXRlOiB0aGUgRFBMTCdzIHBhcmVudCBjbG9jayByYXRlCisgKgorICogVGhpcyBjb2RlIHRlc3RzIGEgRFBMTCBtdWx0aXBsaWVyIHZhbHVlLCBlbnN1cmluZyB0aGF0IHRoZQorICogcmVzdWx0aW5nIHJhdGUgd2lsbCBub3QgYmUgaGlnaGVyIHRoYW4gdGhlIHRhcmdldF9yYXRlLCBhbmQgdGhhdAorICogdGhlIG11bHRpcGxpZXIgdmFsdWUgaXRzZWxmIGlzIHZhbGlkIGZvciB0aGUgRFBMTC4gIEluaXRpYWxseSwgdGhlCisgKiBpbnRlZ2VyIHBvaW50ZWQgdG8gYnkgdGhlIG0gYXJndW1lbnQgc2hvdWxkIGJlIHByZXNjYWxlZCBieQorICogbXVsdGlwbHlpbmcgYnkgRFBMTF9TQ0FMRV9GQUNUT1IuICBUaGUgY29kZSB3aWxsIHJlcGxhY2UgdGhpcyB3aXRoCisgKiBhIG5vbi1zY2FsZWQgbSB1cG9uIHJldHVybi4gIFRoaXMgbm9uLXNjYWxlZCBtIHdpbGwgcmVzdWx0IGluIGEKKyAqIG5ld19yYXRlIGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRhcmdldF9yYXRlIChidXQgbm90IGdyZWF0ZXIgdGhhbgorICogdGFyZ2V0X3JhdGUpIGdpdmVuIHRoZSBjdXJyZW50IChwYXJlbnRfcmF0ZSwgbiwgcHJlc2NhbGVkIG0pCisgKiB0cmlwbGUuIFJldHVybnMgRFBMTF9NVUxUX1VOREVSRkxPVyBpbiB0aGUgZXZlbnQgdGhhdCB0aGUKKyAqIG5vbi1zY2FsZWQgbSBhdHRlbXB0ZWQgdG8gdW5kZXJmbG93LCB3aGljaCBjYW4gYWxsb3cgdGhlIGNhbGxpbmcKKyAqIGZ1bmN0aW9uIHRvIGJhaWwgb3V0IGVhcmx5OyBvciAwIHVwb24gc3VjY2Vzcy4KKyAqLworc3RhdGljIGludCBfZHBsbF90ZXN0X211bHQoaW50ICptLCBpbnQgbiwgdW5zaWduZWQgbG9uZyAqbmV3X3JhdGUsCisJCQkgICB1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlLAorCQkJICAgdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZSkKK3sKKwlpbnQgZmxhZ3MgPSAwLCBjYXJyeSA9IDA7CisKKwkvKiBVbnNjYWxlIG0gYW5kIHJvdW5kIGlmIG5lY2Vzc2FyeSAqLworCWlmICgqbSAlIERQTExfU0NBTEVfRkFDVE9SID49IERQTExfUk9VTkRJTkdfVkFMKQorCQljYXJyeSA9IDE7CisJKm0gPSAoKm0gLyBEUExMX1NDQUxFX0ZBQ1RPUikgKyBjYXJyeTsKKworCS8qCisJICogVGhlIG5ldyByYXRlIG11c3QgYmUgPD0gdGhlIHRhcmdldCByYXRlIHRvIGF2b2lkIHByb2dyYW1taW5nCisJICogYSByYXRlIHRoYXQgaXMgaW1wb3NzaWJsZSBmb3IgdGhlIGhhcmR3YXJlIHRvIGhhbmRsZQorCSAqLworCSpuZXdfcmF0ZSA9IF9kcGxsX2NvbXB1dGVfbmV3X3JhdGUocGFyZW50X3JhdGUsICptLCBuKTsKKwlpZiAoKm5ld19yYXRlID4gdGFyZ2V0X3JhdGUpIHsKKwkJKCptKS0tOworCQkqbmV3X3JhdGUgPSAwOworCX0KKworCS8qIEd1YXJkIGFnYWluc3QgbSB1bmRlcmZsb3cgKi8KKwlpZiAoKm0gPCBEUExMX01JTl9NVUxUSVBMSUVSKSB7CisJCSptID0gRFBMTF9NSU5fTVVMVElQTElFUjsKKwkJKm5ld19yYXRlID0gMDsKKwkJZmxhZ3MgPSBEUExMX01VTFRfVU5ERVJGTE9XOworCX0KKworCWlmICgqbmV3X3JhdGUgPT0gMCkKKwkJKm5ld19yYXRlID0gX2RwbGxfY29tcHV0ZV9uZXdfcmF0ZShwYXJlbnRfcmF0ZSwgKm0sIG4pOworCisJcmV0dXJuIGZsYWdzOworfQorCisvKioKKyAqIG9tYXAyX2RwbGxfcm91bmRfcmF0ZSAtIHJvdW5kIGEgdGFyZ2V0IHJhdGUgZm9yIGFuIE9NQVAgRFBMTAorICogQGNsazogc3RydWN0IGNsayAqIGZvciBhIERQTEwKKyAqIEB0YXJnZXRfcmF0ZTogZGVzaXJlZCBEUExMIGNsb2NrIHJhdGUKKyAqCisgKiBHaXZlbiBhIERQTEwsIGEgZGVzaXJlZCB0YXJnZXQgcmF0ZSwgYW5kIGEgcmF0ZSB0b2xlcmFuY2UsIHJvdW5kCisgKiB0aGUgdGFyZ2V0IHJhdGUgdG8gYSBwb3NzaWJsZSwgcHJvZ3JhbW1hYmxlIHJhdGUgZm9yIHRoaXMgRFBMTC4KKyAqIFJhdGUgdG9sZXJhbmNlIGlzIGFzc3VtZWQgdG8gYmUgc2V0IGJ5IHRoZSBjYWxsZXIgYmVmb3JlIHRoaXMKKyAqIGZ1bmN0aW9uIGlzIGNhbGxlZC4gIEF0dGVtcHRzIHRvIHNlbGVjdCB0aGUgbWluaW11bSBwb3NzaWJsZSBuCisgKiB3aXRoaW4gdGhlIHRvbGVyYW5jZSB0byByZWR1Y2UgcG93ZXIgY29uc3VtcHRpb24uICBTdG9yZXMgdGhlCisgKiBjb21wdXRlZCAobSwgbikgaW4gdGhlIERQTEwncyBkcGxsX2RhdGEgc3RydWN0dXJlIHNvIHNldF9yYXRlKCkKKyAqIHdpbGwgbm90IG5lZWQgdG8gY2FsbCB0aGlzIChleHBlbnNpdmUpIGZ1bmN0aW9uIGFnYWluLiAgUmV0dXJucyB+MAorICogaWYgdGhlIHRhcmdldCByYXRlIGNhbm5vdCBiZSByb3VuZGVkLCBlaXRoZXIgYmVjYXVzZSB0aGUgcmF0ZSBpcworICogdG9vIGxvdyBvciBiZWNhdXNlIHRoZSByYXRlIHRvbGVyYW5jZSBpcyBzZXQgdG9vIHRpZ2h0bHk7IG9yIHRoZQorICogcm91bmRlZCByYXRlIHVwb24gc3VjY2Vzcy4KKyAqLworbG9uZyBvbWFwMl9kcGxsX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlKQoreworCWludCBtLCBuLCByLCBlLCBzY2FsZWRfbWF4X207CisJdW5zaWduZWQgbG9uZyBzY2FsZWRfcnRfcnAsIG5ld19yYXRlOworCWludCBtaW5fZSA9IC0xLCBtaW5fZV9tID0gLTEsIG1pbl9lX24gPSAtMTsKKworCWlmICghY2xrIHx8ICFjbGstPmRwbGxfZGF0YSkKKwkJcmV0dXJuIH4wOworCisJcHJfZGVidWcoImNsb2NrOiBzdGFydGluZyBEUExMIHJvdW5kX3JhdGUgZm9yIGNsb2NrICVzLCB0YXJnZXQgcmF0ZSAiCisJCSAiJWxkXG4iLCBjbGstPm5hbWUsIHRhcmdldF9yYXRlKTsKKworCXNjYWxlZF9ydF9ycCA9IHRhcmdldF9yYXRlIC8gKGNsay0+cGFyZW50LT5yYXRlIC8gRFBMTF9TQ0FMRV9GQUNUT1IpOworCXNjYWxlZF9tYXhfbSA9IGNsay0+ZHBsbF9kYXRhLT5tYXhfbXVsdGlwbGllciAqIERQTExfU0NBTEVfRkFDVE9SOworCisJY2xrLT5kcGxsX2RhdGEtPmxhc3Rfcm91bmRlZF9yYXRlID0gMDsKKworCWZvciAobiA9IGNsay0+ZHBsbF9kYXRhLT5tYXhfZGl2aWRlcjsgbiA+PSBEUExMX01JTl9ESVZJREVSOyBuLS0pIHsKKworCQkvKiBDb21wdXRlIHRoZSBzY2FsZWQgRFBMTCBtdWx0aXBsaWVyLCBiYXNlZCBvbiB0aGUgZGl2aWRlciAqLworCQltID0gc2NhbGVkX3J0X3JwICogbjsKKworCQkvKgorCQkgKiBTaW5jZSB3ZSdyZSBjb3VudGluZyBuIGRvd24sIGEgbSBvdmVyZmxvdyBtZWFucyB3ZSBjYW4KKwkJICogY2FuIGltbWVkaWF0ZWx5IHNraXAgdG8gdGhlIG5leHQgbgorCQkgKi8KKwkJaWYgKG0gPiBzY2FsZWRfbWF4X20pCisJCQljb250aW51ZTsKKworCQlyID0gX2RwbGxfdGVzdF9tdWx0KCZtLCBuLCAmbmV3X3JhdGUsIHRhcmdldF9yYXRlLAorCQkJCSAgICBjbGstPnBhcmVudC0+cmF0ZSk7CisKKwkJZSA9IHRhcmdldF9yYXRlIC0gbmV3X3JhdGU7CisJCXByX2RlYnVnKCJjbG9jazogbiA9ICVkOiBtID0gJWQ6IHJhdGUgZXJyb3IgaXMgJWQgIgorCQkJICIobmV3X3JhdGUgPSAlbGQpXG4iLCBuLCBtLCBlLCBuZXdfcmF0ZSk7CisKKwkJaWYgKG1pbl9lID09IC0xIHx8CisJCSAgICBtaW5fZSA+PSAoaW50KShhYnMoZSkgLSBjbGstPmRwbGxfZGF0YS0+cmF0ZV90b2xlcmFuY2UpKSB7CisJCQltaW5fZSA9IGU7CisJCQltaW5fZV9tID0gbTsKKwkJCW1pbl9lX24gPSBuOworCisJCQlwcl9kZWJ1ZygiY2xvY2s6IGZvdW5kIG5ldyBsZWFzdCBlcnJvciAlZFxuIiwgbWluX2UpOworCQl9CisKKwkJLyoKKwkJICogU2luY2Ugd2UncmUgY291bnRpbmcgbiBkb3duLCBhIG0gdW5kZXJmbG93IG1lYW5zIHdlCisJCSAqIGNhbiBiYWlsIG91dCBjb21wbGV0ZWx5IChzaW5jZSBhcyBuIGRlY3JlYXNlcyBpbgorCQkgKiB0aGUgbmV4dCBpdGVyYXRpb24sIHRoZXJlJ3Mgbm8gd2F5IHRoYXQgbSBjYW4KKwkJICogaW5jcmVhc2UgYmV5b25kIHRoZSBjdXJyZW50IG0pCisJCSAqLworCQlpZiAociAmIERQTExfTVVMVF9VTkRFUkZMT1cpCisJCQlicmVhazsKKwl9CisKKwlpZiAobWluX2UgPCAwKSB7CisJCXByX2RlYnVnKCJjbG9jazogZXJyb3I6IHRhcmdldCByYXRlIG9yIHRvbGVyYW5jZSB0b28gbG93XG4iKTsKKwkJcmV0dXJuIH4wOworCX0KKworCWNsay0+ZHBsbF9kYXRhLT5sYXN0X3JvdW5kZWRfbSA9IG1pbl9lX207CisJY2xrLT5kcGxsX2RhdGEtPmxhc3Rfcm91bmRlZF9uID0gbWluX2VfbjsKKwljbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX3JhdGUgPQorCQlfZHBsbF9jb21wdXRlX25ld19yYXRlKGNsay0+cGFyZW50LT5yYXRlLCBtaW5fZV9tLCAgbWluX2Vfbik7CisKKwlwcl9kZWJ1ZygiY2xvY2s6IGZpbmFsIGxlYXN0IGVycm9yOiBlID0gJWQsIG0gPSAlZCwgbiA9ICVkXG4iLAorCQkgbWluX2UsIG1pbl9lX20sIG1pbl9lX24pOworCXByX2RlYnVnKCJjbG9jazogZmluYWwgcmF0ZTogJWxkICAodGFyZ2V0IHJhdGU6ICVsZClcbiIsCisJCSBjbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX3JhdGUsIHRhcmdldF9yYXRlKTsKKworCXJldHVybiBjbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX3JhdGU7Cit9CisKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogT21hcDIgY2xvY2sgcmVzZXQgYW5kIGluaXQgZnVuY3Rpb25zCiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5oCmluZGV4IGQ1OTgwYTkuLjNjZDM3Y2IgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmgKQEAgLTE4LDExICsxOCwxNiBAQAogCiAjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KIAorLyogVGhlIG1heGltdW0gZXJyb3IgYmV0d2VlbiBhIHRhcmdldCBEUExMIHJhdGUgYW5kIHRoZSByb3VuZGVkIHJhdGUgaW4gSHogKi8KKyNkZWZpbmUgREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCTUwMDAwCisKIGludCBvbWFwMl9jbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsayk7CiB2b2lkIG9tYXAyX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsayk7CiBsb25nIG9tYXAyX2Nsa19yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKIGludCBvbWFwMl9jbGtfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpOwogaW50IG9tYXAyX2Nsa19zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqbmV3X3BhcmVudCk7CitpbnQgb21hcDJfZHBsbF9yYXRlX3RvbGVyYW5jZV9zZXQoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBpbnQgdG9sZXJhbmNlKTsKK2xvbmcgb21hcDJfZHBsbF9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyB0YXJnZXRfcmF0ZSk7CiAKICNpZmRlZiBDT05GSUdfT01BUF9SRVNFVF9DTE9DS1MKIHZvaWQgb21hcDJfY2xrX2Rpc2FibGVfdW51c2VkKHN0cnVjdCBjbGsgKmNsayk7CkBAIC00Miw2ICs0Nyw3IEBACiBpbnQgb21hcDJfY2xrc2VsX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKIHUzMiBvbWFwMl9nZXRfZHBsbF9yYXRlKHN0cnVjdCBjbGsgKmNsayk7CiBpbnQgb21hcDJfd2FpdF9jbG9ja19yZWFkeSh2b2lkIF9faW9tZW0gKnJlZywgdTMyIGN2YWwsIGNvbnN0IGNoYXIgKm5hbWUpOwordm9pZCBvbWFwMl9jbGtfcHJlcGFyZV9mb3JfcmVib290KHZvaWQpOwogCiBleHRlcm4gdTggY3B1X21hc2s7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5jCmluZGV4IGVjZTMyZDguLmFhNTY3ODcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguYwpAQCAtMTU0LDcgKzE1NCw3IEBACiAgKiBVc2VzIHRoZSBjdXJyZW50IHByY20gc2V0IHRvIHRlbGwgaWYgYSByYXRlIGlzIHZhbGlkLgogICogWW91IGNhbiBnbyBzbG93ZXIsIGJ1dCBub3QgZmFzdGVyIHdpdGhpbiBhIGdpdmVuIHJhdGUgc2V0LgogICovCi1zdGF0aWMgdTMyIG9tYXAyX2RwbGxfcm91bmRfcmF0ZSh1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlKQorbG9uZyBvbWFwMl9kcGxsY29yZV9yb3VuZF9yYXRlKHVuc2lnbmVkIGxvbmcgdGFyZ2V0X3JhdGUpCiB7CiAJdTMyIGhpZ2gsIGxvdywgY29yZV9jbGtfc3JjOwogCkBAIC0xODMsMTQgKzE4MywxNCBAQAogCiB9CiAKLXN0YXRpYyB2b2lkIG9tYXAyX2RwbGxfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3N0YXRpYyB2b2lkIG9tYXAyX2RwbGxjb3JlX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCiB7CiAJY2xrLT5yYXRlID0gb21hcDJfZ2V0X2RwbGxfcmF0ZV8yNHh4KGNsayk7CiAKIAlwcm9wYWdhdGVfcmF0ZShjbGspOwogfQogCi1zdGF0aWMgaW50IG9tYXAyX3JlcHJvZ3JhbV9kcGxsKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQorc3RhdGljIGludCBvbWFwMl9yZXByb2dyYW1fZHBsbGNvcmUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCiB7CiAJdTMyIGN1cl9yYXRlLCBsb3csIG11bHQsIGRpdiwgdmFsaWRfcmF0ZSwgZG9uZV9yYXRlOwogCXUzMiBieXBhc3MgPSAwOwpAQCAtMjA5LDcgKzIwOSw3IEBACiAJfSBlbHNlIGlmICgocmF0ZSA9PSAoY3VyX3JhdGUgKiAyKSkgJiYgKG11bHQgPT0gMSkpIHsKIAkJb21hcDJfcmVwcm9ncmFtX3NkcmMoQ09SRV9DTEtfU1JDX0RQTExfWDIsIDEpOwogCX0gZWxzZSBpZiAocmF0ZSAhPSBjdXJfcmF0ZSkgewotCQl2YWxpZF9yYXRlID0gb21hcDJfZHBsbF9yb3VuZF9yYXRlKHJhdGUpOworCQl2YWxpZF9yYXRlID0gb21hcDJfZHBsbGNvcmVfcm91bmRfcmF0ZShyYXRlKTsKIAkJaWYgKHZhbGlkX3JhdGUgIT0gcmF0ZSkKIAkJCWdvdG8gZHBsbF9leGl0OwogCkBAIC0yNTYsNyArMjU2LDcgQEAKIAkJb21hcDJfaW5pdF9tZW1vcnlfcGFyYW1zKG9tYXAyX2RsbF9mb3JjZV9uZWVkZWQoKSk7CiAJCW9tYXAyX3JlcHJvZ3JhbV9zZHJjKGRvbmVfcmF0ZSwgMCk7CiAJfQotCW9tYXAyX2RwbGxfcmVjYWxjKCZkcGxsX2NrKTsKKwlvbWFwMl9kcGxsY29yZV9yZWNhbGMoJmRwbGxfY2spOwogCXJldCA9IDA7CiAKIGRwbGxfZXhpdDoKQEAgLTM4Myw3ICszODMsNyBAQAogCiAJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIAl9Ci0Jb21hcDJfZHBsbF9yZWNhbGMoJmRwbGxfY2spOworCW9tYXAyX2RwbGxjb3JlX3JlY2FsYygmZHBsbF9jayk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5oCmluZGV4IDg4MDgxZWQuLmJlNGUyNTUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguaApAQCAtMzAsMTIgKzMwLDEyIEBACiBzdGF0aWMgdm9pZCBvbWFwMl9zeXNfY2xrX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIHZvaWQgb21hcDJfb3NjX2Nsa19yZWNhbGMoc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAyX3N5c19jbGtfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7Ci1zdGF0aWMgdm9pZCBvbWFwMl9kcGxsX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOworc3RhdGljIHZvaWQgb21hcDJfZHBsbGNvcmVfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgaW50IG9tYXAyX2Nsa19maXhlZF9lbmFibGUoc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAyX2Nsa19maXhlZF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgaW50IG9tYXAyX2VuYWJsZV9vc2NfY2soc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAyX2Rpc2FibGVfb3NjX2NrKHN0cnVjdCBjbGsgKmNsayk7Ci1zdGF0aWMgaW50IG9tYXAyX3JlcHJvZ3JhbV9kcGxsKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKK3N0YXRpYyBpbnQgb21hcDJfcmVwcm9ncmFtX2RwbGxjb3JlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKIAogLyogS2V5IGRpdmlkZXJzIHdoaWNoIG1ha2UgdXAgYSBQUkNNIHNldC4gUmF0aW8ncyBmb3IgYSBQUkNNIGFyZSBtYW5kYXRlZC4KICAqIHh0YWxfc3BlZWQsIGRwbGxfc3BlZWQsIG1wdV9zcGVlZCwgQ01fQ0xLU0VMX01QVSxDTV9DTEtTRUxfRFNQCkBAIC02NjUsMjAgKzY2NSwyNyBAQAogICogZGVhbCB3aXRoIHRoaXMKICAqLwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRwbGxfZGF0YSBkcGxsX2RkID0geworc3RhdGljIHN0cnVjdCBkcGxsX2RhdGEgZHBsbF9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwkJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMSksCiAJLm11bHRfbWFzawkJPSBPTUFQMjRYWF9EUExMX01VTFRfTUFTSywKIAkuZGl2MV9tYXNrCQk9IE9NQVAyNFhYX0RQTExfRElWX01BU0ssCisJLm1heF9tdWx0aXBsaWVyCQk9IDEwMjQsCisJLm1heF9kaXZpZGVyCQk9IDE2LAorCS5yYXRlX3RvbGVyYW5jZQkJPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKKy8qCisgKiBYWFggQ2Fubm90IGFkZCByb3VuZF9yYXRlIGhlcmUgeWV0LCBhcyB0aGlzIGlzIHN0aWxsIGEgY29tcG9zaXRlIGNsb2NrLAorICogbm90IGp1c3QgYSBEUExMCisgKi8KIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGxfY2sgPSB7CiAJLm5hbWUJCT0gImRwbGxfY2siLAogCS5wYXJlbnQJCT0gJnN5c19jaywJCS8qIENhbiBiZSBmdW5jXzMyayBhbHNvICovCiAJLmRwbGxfZGF0YQk9ICZkcGxsX2RkLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQyWCB8IENMT0NLX0lOX09NQVAyNDNYIHwKIAkJCQlSQVRFX1BST1BBR0FURVMgfCBBTFdBWVNfRU5BQkxFRCwKLQkucmVjYWxjCQk9ICZvbWFwMl9kcGxsX3JlY2FsYywKLQkuc2V0X3JhdGUJPSAmb21hcDJfcmVwcm9ncmFtX2RwbGwsCisJLnJlY2FsYwkJPSAmb21hcDJfZHBsbGNvcmVfcmVjYWxjLAorCS5zZXRfcmF0ZQk9ICZvbWFwMl9yZXByb2dyYW1fZHBsbGNvcmUsCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBhcGxsOTZfY2sgPSB7CkBAIC0xNzQ3LDcgKzE3NTQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AxX2ljayA9IHsKLQkubmFtZQkJPSAibWNic3AxX2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDEsCiAJLnBhcmVudAkJPSAmbDRfY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDJYIHwgQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjEpLApAQCAtMTc1Niw3ICsxNzY0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMV9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMV9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAxLAogCS5wYXJlbnQJCT0gJmZ1bmNfOTZtX2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQyWCB8IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9GQ0xLRU4xKSwKQEAgLTE3NjUsNyArMTc3NCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDJfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDJfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gMiwKIAkucGFyZW50CQk9ICZsNF9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0MlggfCBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMSksCkBAIC0xNzc0LDcgKzE3ODQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AyX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AyX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDIsCiAJLnBhcmVudAkJPSAmZnVuY185Nm1fY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDJYIHwgQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0ZDTEtFTjEpLApAQCAtMTc4Myw3ICsxNzk0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwM19pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwM19pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSAzLAogCS5wYXJlbnQJCT0gJmw0X2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMiksCkBAIC0xNzkyLDcgKzE4MDQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AzX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AzX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDMsCiAJLnBhcmVudAkJPSAmZnVuY185Nm1fY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBPTUFQMjRYWF9DTV9GQ0xLRU4yKSwKQEAgLTE4MDEsNyArMTgxNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDRfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDRfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gNCwKIAkucGFyZW50CQk9ICZsNF9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjIpLApAQCAtMTgxMCw3ICsxODI0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNF9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNF9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSA0LAogCS5wYXJlbnQJCT0gJmZ1bmNfOTZtX2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgT01BUDI0WFhfQ01fRkNMS0VOMiksCkBAIC0xODE5LDcgKzE4MzQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3A1X2ljayA9IHsKLQkubmFtZQkJPSAibWNic3A1X2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDUsCiAJLnBhcmVudAkJPSAmbDRfY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4yKSwKQEAgLTE4MjgsNyArMTg0NCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDVfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDVfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gNSwKIAkucGFyZW50CQk9ICZmdW5jXzk2bV9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIE9NQVAyNFhYX0NNX0ZDTEtFTjIpLApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmMKaW5kZXggYjQyYmRkNi4uNDI2MzA5OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5jCkBAIC0xLDEwICsxLDExIEBACiAvKgogICogT01BUDMtc3BlY2lmaWMgY2xvY2sgZnJhbWV3b3JrIGZ1bmN0aW9ucwogICoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBUZXhhcyBJbnN0cnVtZW50cywgSW5jLgotICogQ29weXJpZ2h0IChDKSAyMDA3IE5va2lhIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBUZXhhcyBJbnN0cnVtZW50cywgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggTm9raWEgQ29ycG9yYXRpb24KICAqCiAgKiBXcml0dGVuIGJ5IFBhdWwgV2FsbXNsZXkKKyAqIFRlc3RpbmcgYW5kIGludGVncmF0aW9uIGZpeGVzIGJ5IEpvdW5pIEjDtmdhbmRlcgogICoKICAqIFBhcnRzIG9mIHRoaXMgY29kZSBhcmUgYmFzZWQgb24gY29kZSB3cml0dGVuIGJ5CiAgKiBSaWNoYXJkIFdvb2RydWZmLCBUb255IExpbmRncmVuLCBUdXVra2EgVGlra2FuZW4sIEthcnRoaWsgRGFzdQpAQCAtMjMsNiArMjQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9saW1pdHMuaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL2Nsb2NrLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvc3JhbS5oPgpAQCAtMzcsOCArMzksMTEgQEAKICNpbmNsdWRlICJjbS5oIgogI2luY2x1ZGUgImNtLXJlZ2JpdHMtMzR4eC5oIgogCi0vKiBDTV9DTEtFTl9QTEwqLkVOKiBiaXQgdmFsdWVzICovCi0jZGVmaW5lIERQTExfTE9DS0VECQkweDcKKy8qIENNX0FVVE9JRExFX1BMTCouQVVUT18qIGJpdCB2YWx1ZXMgKi8KKyNkZWZpbmUgRFBMTF9BVVRPSURMRV9ESVNBQkxFCQkJMHgwCisjZGVmaW5lIERQTExfQVVUT0lETEVfTE9XX1BPV0VSX1NUT1AJCTB4MQorCisjZGVmaW5lIE1BWF9EUExMX1dBSVRfVFJJRVMJCTEwMDAwMDAKIAogLyoqCiAgKiBvbWFwM19kcGxsX3JlY2FsYyAtIHJlY2FsY3VsYXRlIERQTEwgcmF0ZQpAQCAtNTMsNiArNTgsMjkwIEBACiAJcHJvcGFnYXRlX3JhdGUoY2xrKTsKIH0KIAorLyogX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4gLSB3cml0ZSBjbGtlbl9iaXRzIGFyZyB0byBhIERQTEwncyBlbmFibGUgYml0cyAqLworc3RhdGljIHZvaWQgX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4oc3RydWN0IGNsayAqY2xrLCB1OCBjbGtlbl9iaXRzKQoreworCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCWNtX3Jtd19yZWdfYml0cyhkZC0+ZW5hYmxlX21hc2ssIGNsa2VuX2JpdHMgPDwgX19mZnMoZGQtPmVuYWJsZV9tYXNrKSwKKwkJCWRkLT5jb250cm9sX3JlZyk7Cit9CisKKy8qIF9vbWFwM193YWl0X2RwbGxfc3RhdHVzOiB3YWl0IGZvciBhIERQTEwgdG8gZW50ZXIgYSBzcGVjaWZpYyBzdGF0ZSAqLworc3RhdGljIGludCBfb21hcDNfd2FpdF9kcGxsX3N0YXR1cyhzdHJ1Y3QgY2xrICpjbGssIHU4IHN0YXRlKQoreworCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCWludCBpID0gMDsKKwlpbnQgcmV0ID0gLUVJTlZBTDsKKwl1MzIgaWRsZXN0X21hc2s7CisKKwlkZCA9IGNsay0+ZHBsbF9kYXRhOworCisJc3RhdGUgPDw9IGRkLT5pZGxlc3RfYml0OworCWlkbGVzdF9tYXNrID0gMSA8PCBkZC0+aWRsZXN0X2JpdDsKKworCXdoaWxlICgoKGNtX3JlYWRfcmVnKGRkLT5pZGxlc3RfcmVnKSAmIGlkbGVzdF9tYXNrKSAhPSBzdGF0ZSkgJiYKKwkgICAgICAgaSA8IE1BWF9EUExMX1dBSVRfVFJJRVMpIHsKKwkJaSsrOworCQl1ZGVsYXkoMSk7CisJfQorCisJaWYgKGkgPT0gTUFYX0RQTExfV0FJVF9UUklFUykgeworCQlwcmludGsoS0VSTl9FUlIgImNsb2NrOiAlcyBmYWlsZWQgdHJhbnNpdGlvbiB0byAnJXMnXG4iLAorCQkgICAgICAgY2xrLT5uYW1lLCAoc3RhdGUpID8gImxvY2tlZCIgOiAiYnlwYXNzZWQiKTsKKwl9IGVsc2UgeworCQlwcl9kZWJ1ZygiY2xvY2s6ICVzIHRyYW5zaXRpb24gdG8gJyVzJyBpbiAlZCBsb29wc1xuIiwKKwkJCSBjbGstPm5hbWUsIChzdGF0ZSkgPyAibG9ja2VkIiA6ICJieXBhc3NlZCIsIGkpOworCisJCXJldCA9IDA7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworLyogTm9uLUNPUkUgRFBMTCAoZS5nLiwgRFBMTHMgdGhhdCBkbyBub3QgY29udHJvbCBTRFJDKSBjbG9jayBmdW5jdGlvbnMgKi8KKworLyoKKyAqIF9vbWFwM19ub25jb3JlX2RwbGxfbG9jayAtIGluc3RydWN0IGEgRFBMTCB0byBsb2NrIGFuZCB3YWl0IGZvciByZWFkaW5lc3MKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGxvY2suICBXYWl0cyBmb3IgdGhlIERQTEwgdG8gcmVwb3J0CisgKiByZWFkaW5lc3MgYmVmb3JlIHJldHVybmluZy4gIFdpbGwgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgRFBMTCdzCisgKiBhdXRvaWRsZSBzdGF0ZSBhY3Jvc3MgdGhlIGVuYWJsZSwgcGVyIHRoZSBDRFAgY29kZS4gIElmIHRoZSBEUExMCisgKiBsb2NrZWQgc3VjY2Vzc2Z1bGx5LCByZXR1cm4gMDsgaWYgdGhlIERQTEwgZGlkIG5vdCBsb2NrIGluIHRoZSB0aW1lCisgKiBhbGxvdHRlZCwgb3IgRFBMTDMgd2FzIHBhc3NlZCBpbiwgcmV0dXJuIC1FSU5WQUwuCisgKi8KK3N0YXRpYyBpbnQgX29tYXAzX25vbmNvcmVfZHBsbF9sb2NrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1OCBhaTsKKwlpbnQgcjsKKworCWlmIChjbGsgPT0gJmRwbGwzX2NrKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByX2RlYnVnKCJjbG9jazogbG9ja2luZyBEUExMICVzXG4iLCBjbGstPm5hbWUpOworCisJYWkgPSBvbWFwM19kcGxsX2F1dG9pZGxlX3JlYWQoY2xrKTsKKworCV9vbWFwM19kcGxsX3dyaXRlX2Nsa2VuKGNsaywgRFBMTF9MT0NLRUQpOworCisJaWYgKGFpKSB7CisJCS8qCisJCSAqIElmIG5vIGRvd25zdHJlYW0gY2xvY2tzIGFyZSBlbmFibGVkLCBDTV9JRExFU1QgYml0CisJCSAqIG1heSBuZXZlciBiZWNvbWUgYWN0aXZlLCBzbyBkb24ndCB3YWl0IGZvciBEUExMIHRvIGxvY2suCisJCSAqLworCQlyID0gMDsKKwkJb21hcDNfZHBsbF9hbGxvd19pZGxlKGNsayk7CisJfSBlbHNlIHsKKwkJciA9IF9vbWFwM193YWl0X2RwbGxfc3RhdHVzKGNsaywgMSk7CisJCW9tYXAzX2RwbGxfZGVueV9pZGxlKGNsayk7CisJfTsKKworCXJldHVybiByOworfQorCisvKgorICogb21hcDNfbm9uY29yZV9kcGxsX2J5cGFzcyAtIGluc3RydWN0IGEgRFBMTCB0byBieXBhc3MgYW5kIHdhaXQgZm9yIHJlYWRpbmVzcworICogQGNsazogcG9pbnRlciB0byBhIERQTEwgc3RydWN0IGNsaworICoKKyAqIEluc3RydWN0cyBhIG5vbi1DT1JFIERQTEwgdG8gZW50ZXIgbG93LXBvd2VyIGJ5cGFzcyBtb2RlLiAgSW4KKyAqIGJ5cGFzcyBtb2RlLCB0aGUgRFBMTCdzIHJhdGUgaXMgc2V0IGVxdWFsIHRvIGl0cyBwYXJlbnQgY2xvY2sncworICogcmF0ZS4gIFdhaXRzIGZvciB0aGUgRFBMTCB0byByZXBvcnQgcmVhZGluZXNzIGJlZm9yZSByZXR1cm5pbmcuCisgKiBXaWxsIHNhdmUgYW5kIHJlc3RvcmUgdGhlIERQTEwncyBhdXRvaWRsZSBzdGF0ZSBhY3Jvc3MgdGhlIGVuYWJsZSwKKyAqIHBlciB0aGUgQ0RQIGNvZGUuICBJZiB0aGUgRFBMTCBlbnRlcmVkIGJ5cGFzcyBtb2RlIHN1Y2Nlc3NmdWxseSwKKyAqIHJldHVybiAwOyBpZiB0aGUgRFBMTCBkaWQgbm90IGVudGVyIGJ5cGFzcyBpbiB0aGUgdGltZSBhbGxvdHRlZCwgb3IKKyAqIERQTEwzIHdhcyBwYXNzZWQgaW4sIG9yIHRoZSBEUExMIGRvZXMgbm90IHN1cHBvcnQgbG93LXBvd2VyIGJ5cGFzcywKKyAqIHJldHVybiAtRUlOVkFMLgorICovCitzdGF0aWMgaW50IF9vbWFwM19ub25jb3JlX2RwbGxfYnlwYXNzKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpbnQgcjsKKwl1OCBhaTsKKworCWlmIChjbGsgPT0gJmRwbGwzX2NrKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghKGNsay0+ZHBsbF9kYXRhLT5tb2RlcyAmICgxIDw8IERQTExfTE9XX1BPV0VSX0JZUEFTUykpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByX2RlYnVnKCJjbG9jazogY29uZmlndXJpbmcgRFBMTCAlcyBmb3IgbG93LXBvd2VyIGJ5cGFzc1xuIiwKKwkJIGNsay0+bmFtZSk7CisKKwlhaSA9IG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChjbGspOworCisJX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4oY2xrLCBEUExMX0xPV19QT1dFUl9CWVBBU1MpOworCisJciA9IF9vbWFwM193YWl0X2RwbGxfc3RhdHVzKGNsaywgMCk7CisKKwlpZiAoYWkpCisJCW9tYXAzX2RwbGxfYWxsb3dfaWRsZShjbGspOworCWVsc2UKKwkJb21hcDNfZHBsbF9kZW55X2lkbGUoY2xrKTsKKworCXJldHVybiByOworfQorCisvKgorICogX29tYXAzX25vbmNvcmVfZHBsbF9zdG9wIC0gaW5zdHJ1Y3QgYSBEUExMIHRvIHN0b3AKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGVudGVyIGxvdy1wb3dlciBzdG9wLiBXaWxsIHNhdmUgYW5kCisgKiByZXN0b3JlIHRoZSBEUExMJ3MgYXV0b2lkbGUgc3RhdGUgYWNyb3NzIHRoZSBzdG9wLCBwZXIgdGhlIENEUAorICogY29kZS4gIElmIERQTEwzIHdhcyBwYXNzZWQgaW4sIG9yIHRoZSBEUExMIGRvZXMgbm90IHN1cHBvcnQKKyAqIGxvdy1wb3dlciBzdG9wLCByZXR1cm4gLUVJTlZBTDsgb3RoZXJ3aXNlLCByZXR1cm4gMC4KKyAqLworc3RhdGljIGludCBfb21hcDNfbm9uY29yZV9kcGxsX3N0b3Aoc3RydWN0IGNsayAqY2xrKQoreworCXU4IGFpOworCisJaWYgKGNsayA9PSAmZHBsbDNfY2spCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCEoY2xrLT5kcGxsX2RhdGEtPm1vZGVzICYgKDEgPDwgRFBMTF9MT1dfUE9XRVJfU1RPUCkpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByX2RlYnVnKCJjbG9jazogc3RvcHBpbmcgRFBMTCAlc1xuIiwgY2xrLT5uYW1lKTsKKworCWFpID0gb21hcDNfZHBsbF9hdXRvaWRsZV9yZWFkKGNsayk7CisKKwlfb21hcDNfZHBsbF93cml0ZV9jbGtlbihjbGssIERQTExfTE9XX1BPV0VSX1NUT1ApOworCisJaWYgKGFpKQorCQlvbWFwM19kcGxsX2FsbG93X2lkbGUoY2xrKTsKKwllbHNlCisJCW9tYXAzX2RwbGxfZGVueV9pZGxlKGNsayk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlIC0gaW5zdHJ1Y3QgYSBEUExMIHRvIGVudGVyIGJ5cGFzcyBvciBsb2NrIG1vZGUKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGVuYWJsZSwgZS5nLiwgdG8gZW50ZXIgYnlwYXNzIG9yIGxvY2suCisgKiBUaGUgY2hvaWNlIG9mIG1vZGVzIGRlcGVuZHMgb24gdGhlIERQTEwncyBwcm9ncmFtbWVkIHJhdGU6IGlmIGl0IGlzCisgKiB0aGUgc2FtZSBhcyB0aGUgRFBMTCdzIHBhcmVudCBjbG9jaywgaXQgd2lsbCBlbnRlciBieXBhc3M7CisgKiBvdGhlcndpc2UsIGl0IHdpbGwgZW50ZXIgbG9jay4gIFRoaXMgY29kZSB3aWxsIHdhaXQgZm9yIHRoZSBEUExMIHRvCisgKiBpbmRpY2F0ZSByZWFkaW5lc3MgYmVmb3JlIHJldHVybmluZywgdW5sZXNzIHRoZSBEUExMIHRha2VzIHRvbyBsb25nCisgKiB0byBlbnRlciB0aGUgdGFyZ2V0IHN0YXRlLiAgSW50ZW5kZWQgdG8gYmUgdXNlZCBhcyB0aGUgc3RydWN0IGNsaydzCisgKiBlbmFibGUgZnVuY3Rpb24uICBJZiBEUExMMyB3YXMgcGFzc2VkIGluLCBvciB0aGUgRFBMTCBkb2VzIG5vdAorICogc3VwcG9ydCBsb3ctcG93ZXIgc3RvcCwgb3IgaWYgdGhlIERQTEwgdG9vayB0b28gbG9uZyB0byBlbnRlcgorICogYnlwYXNzIG9yIGxvY2ssIHJldHVybiAtRUlOVkFMOyBvdGhlcndpc2UsIHJldHVybiAwLgorICovCitzdGF0aWMgaW50IG9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCWludCByOworCisJaWYgKGNsayA9PSAmZHBsbDNfY2spCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNsay0+cGFyZW50LT5yYXRlID09IGNsa19nZXRfcmF0ZShjbGspKQorCQlyID0gX29tYXAzX25vbmNvcmVfZHBsbF9ieXBhc3MoY2xrKTsKKwllbHNlCisJCXIgPSBfb21hcDNfbm9uY29yZV9kcGxsX2xvY2soY2xrKTsKKworCXJldHVybiByOworfQorCisvKioKKyAqIG9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUgLSBpbnN0cnVjdCBhIERQTEwgdG8gZW50ZXIgYnlwYXNzIG9yIGxvY2sgbW9kZQorICogQGNsazogcG9pbnRlciB0byBhIERQTEwgc3RydWN0IGNsaworICoKKyAqIEluc3RydWN0cyBhIG5vbi1DT1JFIERQTEwgdG8gZW5hYmxlLCBlLmcuLCB0byBlbnRlciBieXBhc3Mgb3IgbG9jay4KKyAqIFRoZSBjaG9pY2Ugb2YgbW9kZXMgZGVwZW5kcyBvbiB0aGUgRFBMTCdzIHByb2dyYW1tZWQgcmF0ZTogaWYgaXQgaXMKKyAqIHRoZSBzYW1lIGFzIHRoZSBEUExMJ3MgcGFyZW50IGNsb2NrLCBpdCB3aWxsIGVudGVyIGJ5cGFzczsKKyAqIG90aGVyd2lzZSwgaXQgd2lsbCBlbnRlciBsb2NrLiAgVGhpcyBjb2RlIHdpbGwgd2FpdCBmb3IgdGhlIERQTEwgdG8KKyAqIGluZGljYXRlIHJlYWRpbmVzcyBiZWZvcmUgcmV0dXJuaW5nLCB1bmxlc3MgdGhlIERQTEwgdGFrZXMgdG9vIGxvbmcKKyAqIHRvIGVudGVyIHRoZSB0YXJnZXQgc3RhdGUuICBJbnRlbmRlZCB0byBiZSB1c2VkIGFzIHRoZSBzdHJ1Y3QgY2xrJ3MKKyAqIGVuYWJsZSBmdW5jdGlvbi4gIElmIERQTEwzIHdhcyBwYXNzZWQgaW4sIG9yIHRoZSBEUExMIGRvZXMgbm90CisgKiBzdXBwb3J0IGxvdy1wb3dlciBzdG9wLCBvciBpZiB0aGUgRFBMTCB0b29rIHRvbyBsb25nIHRvIGVudGVyCisgKiBieXBhc3Mgb3IgbG9jaywgcmV0dXJuIC1FSU5WQUw7IG90aGVyd2lzZSwgcmV0dXJuIDAuCisgKi8KK3N0YXRpYyB2b2lkIG9tYXAzX25vbmNvcmVfZHBsbF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpZiAoY2xrID09ICZkcGxsM19jaykKKwkJcmV0dXJuOworCisJX29tYXAzX25vbmNvcmVfZHBsbF9zdG9wKGNsayk7Cit9CisKKy8qKgorICogb21hcDNfZHBsbF9hdXRvaWRsZV9yZWFkIC0gcmVhZCBhIERQTEwncyBhdXRvaWRsZSBiaXRzCisgKiBAY2xrOiBzdHJ1Y3QgY2xrICogb2YgdGhlIERQTEwgdG8gcmVhZAorICoKKyAqIFJldHVybiB0aGUgRFBMTCdzIGF1dG9pZGxlIGJpdHMsIHNoaWZ0ZWQgZG93biB0byBiaXQgMC4gIFJldHVybnMKKyAqIC1FSU5WQUwgaWYgcGFzc2VkIGEgbnVsbCBwb2ludGVyIG9yIGlmIHRoZSBzdHJ1Y3QgY2xrIGRvZXMgbm90CisgKiBhcHBlYXIgdG8gcmVmZXIgdG8gYSBEUExMLgorICovCitzdGF0aWMgdTMyIG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChzdHJ1Y3QgY2xrICpjbGspCit7CisJY29uc3Qgc3RydWN0IGRwbGxfZGF0YSAqZGQ7CisJdTMyIHY7CisKKwlpZiAoIWNsayB8fCAhY2xrLT5kcGxsX2RhdGEpCisJCXJldHVybiAtRUlOVkFMOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCXYgPSBjbV9yZWFkX3JlZyhkZC0+YXV0b2lkbGVfcmVnKTsKKwl2ICY9IGRkLT5hdXRvaWRsZV9tYXNrOworCXYgPj49IF9fZmZzKGRkLT5hdXRvaWRsZV9tYXNrKTsKKworCXJldHVybiB2OworfQorCisvKioKKyAqIG9tYXAzX2RwbGxfYWxsb3dfaWRsZSAtIGVuYWJsZSBEUExMIGF1dG9pZGxlIGJpdHMKKyAqIEBjbGs6IHN0cnVjdCBjbGsgKiBvZiB0aGUgRFBMTCB0byBvcGVyYXRlIG9uCisgKgorICogRW5hYmxlIERQTEwgYXV0b21hdGljIGlkbGUgY29udHJvbC4gIFRoaXMgYXV0b21hdGljIGlkbGUgbW9kZQorICogc3dpdGNoaW5nIHRha2VzIGVmZmVjdCBvbmx5IHdoZW4gdGhlIERQTEwgaXMgbG9ja2VkLCBhdCBsZWFzdCBvbgorICogT01BUDM0MzAuICBUaGUgRFBMTCB3aWxsIGVudGVyIGxvdy1wb3dlciBzdG9wIHdoZW4gaXRzIGRvd25zdHJlYW0KKyAqIGNsb2NrcyBhcmUgZ2F0ZWQuICBObyByZXR1cm4gdmFsdWUuCisgKi8KK3N0YXRpYyB2b2lkIG9tYXAzX2RwbGxfYWxsb3dfaWRsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJY29uc3Qgc3RydWN0IGRwbGxfZGF0YSAqZGQ7CisKKwlpZiAoIWNsayB8fCAhY2xrLT5kcGxsX2RhdGEpCisJCXJldHVybjsKKworCWRkID0gY2xrLT5kcGxsX2RhdGE7CisKKwkvKgorCSAqIFJFVklTSVQ6IENPUkUgRFBMTCBjYW4gb3B0aW9uYWxseSBlbnRlciBsb3ctcG93ZXIgYnlwYXNzCisJICogYnkgd3JpdGluZyAweDUgaW5zdGVhZCBvZiAweDEuICBBZGQgc29tZSBtZWNoYW5pc20gdG8KKwkgKiBvcHRpb25hbGx5IGVudGVyIHRoaXMgbW9kZS4KKwkgKi8KKwljbV9ybXdfcmVnX2JpdHMoZGQtPmF1dG9pZGxlX21hc2ssCisJCQlEUExMX0FVVE9JRExFX0xPV19QT1dFUl9TVE9QIDw8IF9fZmZzKGRkLT5hdXRvaWRsZV9tYXNrKSwKKwkJCWRkLT5hdXRvaWRsZV9yZWcpOworfQorCisvKioKKyAqIG9tYXAzX2RwbGxfZGVueV9pZGxlIC0gcHJldmVudCBEUExMIGZyb20gYXV0b21hdGljYWxseSBpZGxpbmcKKyAqIEBjbGs6IHN0cnVjdCBjbGsgKiBvZiB0aGUgRFBMTCB0byBvcGVyYXRlIG9uCisgKgorICogRGlzYWJsZSBEUExMIGF1dG9tYXRpYyBpZGxlIGNvbnRyb2wuICBObyByZXR1cm4gdmFsdWUuCisgKi8KK3N0YXRpYyB2b2lkIG9tYXAzX2RwbGxfZGVueV9pZGxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwljb25zdCBzdHJ1Y3QgZHBsbF9kYXRhICpkZDsKKworCWlmICghY2xrIHx8ICFjbGstPmRwbGxfZGF0YSkKKwkJcmV0dXJuOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCWNtX3Jtd19yZWdfYml0cyhkZC0+YXV0b2lkbGVfbWFzaywKKwkJCURQTExfQVVUT0lETEVfRElTQUJMRSA8PCBfX2ZmcyhkZC0+YXV0b2lkbGVfbWFzayksCisJCQlkZC0+YXV0b2lkbGVfcmVnKTsKK30KKworLyogQ2xvY2sgY29udHJvbCBmb3IgRFBMTCBvdXRwdXRzICovCisKIC8qKgogICogb21hcDNfY2xrb3V0eDJfcmVjYWxjIC0gcmVjYWxjdWxhdGUgRFBMTCBYMiBvdXRwdXQgdmlydHVhbCBjbG9jayByYXRlCiAgKiBAY2xrOiBEUExMIG91dHB1dCBzdHJ1Y3QgY2xrCkBAIC04OSw2ICszNzgsOCBAQAogCQlwcm9wYWdhdGVfcmF0ZShjbGspOwogfQogCisvKiBDb21tb24gY2xvY2sgY29kZSAqLworCiAvKgogICogQXMgaXQgaXMgc3RydWN0dXJlZCBub3csIHRoaXMgd2lsbCBwcmV2ZW50IGFuIE9NQVAyLzMgbXVsdGlib290CiAgKiBrZXJuZWwgZnJvbSBjb21waWxpbmcuICBUaGlzIHdpbGwgbmVlZCBmdXJ0aGVyIGF0dGVudGlvbi4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5oCmluZGV4IGM5YzU5NzIuLjA1NzU3ZWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguaApAQCAtMSwxNCArMSwxOSBAQAogLyoKICAqIE9NQVAzIGNsb2NrIGZyYW1ld29yawogICoKLSAqIFZpcnR1YWwgY2xvY2tzIGFyZSBpbnRyb2R1Y2VkIGFzIGEgY29udmVuaWVudCB0b29scy4KLSAqIFRoZXkgYXJlIHNvdXJjZXMgZm9yIG90aGVyIGNsb2NrcyBhbmQgbm90IHN1cHBvc2VkCi0gKiB0byBiZSByZXF1ZXN0ZWQgZnJvbSBkcml2ZXJzIGRpcmVjdGx5LgotICoKICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFRleGFzIEluc3RydW1lbnRzLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbgogICoKICAqIFdyaXR0ZW4gYnkgUGF1bCBXYWxtc2xleQorICogV2l0aCBtYW55IGRldmljZSBjbG9jayBmaXhlcyBieSBLZXZpbiBIaWxtYW4gYW5kIEpvdW5pIEjDtmdhbmRlcgorICogRFBMTCBieXBhc3MgY2xvY2sgc3VwcG9ydCBhZGRlZCBieSBSb21hbiBUZXJlc2hvbmtvdgorICoKKyAqLworCisvKgorICogVmlydHVhbCBjbG9ja3MgYXJlIGludHJvZHVjZWQgYXMgY29udmVuaWVudCB0b29scy4KKyAqIFRoZXkgYXJlIHNvdXJjZXMgZm9yIG90aGVyIGNsb2NrcyBhbmQgbm90IHN1cHBvc2VkCisgKiB0byBiZSByZXF1ZXN0ZWQgZnJvbSBkcml2ZXJzIGRpcmVjdGx5LgogICovCiAKICNpZm5kZWYgX19BUkNIX0FSTV9NQUNIX09NQVAyX0NMT0NLMzRYWF9ICkBAIC0yNCw2ICsyOSwxNSBAQAogCiBzdGF0aWMgdm9pZCBvbWFwM19kcGxsX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIHZvaWQgb21hcDNfY2xrb3V0eDJfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdm9pZCBvbWFwM19kcGxsX2FsbG93X2lkbGUoc3RydWN0IGNsayAqY2xrKTsKK3N0YXRpYyB2b2lkIG9tYXAzX2RwbGxfZGVueV9pZGxlKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdTMyIG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChzdHJ1Y3QgY2xrICpjbGspOworc3RhdGljIGludCBvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdm9pZCBvbWFwM19ub25jb3JlX2RwbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspOworCisvKiBNYXhpbXVtIERQTEwgbXVsdGlwbGllciwgZGl2aWRlciB2YWx1ZXMgZm9yIE9NQVAzICovCisjZGVmaW5lIE9NQVAzX01BWF9EUExMX01VTFQJCTIwNDgKKyNkZWZpbmUgT01BUDNfTUFYX0RQTExfRElWCQkxMjgKIAogLyoKICAqIERQTEwxIHN1cHBsaWVzIGNsb2NrIHRvIHRoZSBNUFUuCkBAIC0zMyw2ICs0NywxMSBAQAogICogRFBMTDUgc3VwcGxpZXMgb3RoZXIgcGVyaXBoZXJhbCBjbG9ja3MgKFVTQkhPU1QsIFVTSU0pLgogICovCiAKKy8qIENNX0NMS0VOX1BMTCouRU4qIGJpdCB2YWx1ZXMgLSBub3QgYWxsIGFyZSBhdmFpbGFibGUgZm9yIGV2ZXJ5IERQTEwgKi8KKyNkZWZpbmUgRFBMTF9MT1dfUE9XRVJfU1RPUAkJMHgxCisjZGVmaW5lIERQTExfTE9XX1BPV0VSX0JZUEFTUwkJMHg1CisjZGVmaW5lIERQTExfTE9DS0VECQkJMHg3CisKIC8qIFBSTSBDTE9DS1MgKi8KIAogLyogQWNjb3JkaW5nIHRvIHRpbWVyMzJrLmMsIHRoaXMgaXMgYSAzMjc2OEh6IGNsb2NrLCBub3QgYSAzMjAwMEh6IGNsb2NrLiAqLwpAQCAtMjQwLDE1ICsyNTksMjMgQEAKIC8qIERQTEwxICovCiAvKiBNUFUgY2xvY2sgc291cmNlICovCiAvKiBUeXBlOiBEUExMICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRwbGxfZGF0YSBkcGxsMV9kZCA9IHsKK3N0YXRpYyBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwxX2RkID0gewogCS5tdWx0X2RpdjFfcmVnCT0gT01BUF9DTV9SRUdBRERSKE1QVV9NT0QsIE9NQVAzNDMwX0NNX0NMS1NFTDFfUExMKSwKIAkubXVsdF9tYXNrCT0gT01BUDM0MzBfTVBVX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9NUFVfRFBMTF9ESVZfTUFTSywKIAkuY29udHJvbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoTVBVX01PRCwgT01BUDM0MzBfQ01fQ0xLRU5fUExMKSwKIAkuZW5hYmxlX21hc2sJPSBPTUFQMzQzMF9FTl9NUFVfRFBMTF9NQVNLLAorCS5tb2RlcwkJPSAoMSA8PCBEUExMX0xPV19QT1dFUl9CWVBBU1MpIHwgKDEgPDwgRFBMTF9MT0NLRUQpLAogCS5hdXRvX3JlY2FsX2JpdAk9IE9NQVAzNDMwX0VOX01QVV9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwX01QVV9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMF9NUFVfRFBMTF9TVF9TSElGVCwKKwkuYXV0b2lkbGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE1QVV9NT0QsIE9NQVAzNDMwX0NNX0FVVE9JRExFX1BMTCksCisJLmF1dG9pZGxlX21hc2sJPSBPTUFQMzQzMF9BVVRPX01QVV9EUExMX01BU0ssCisJLmlkbGVzdF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoTVBVX01PRCwgT01BUDM0MzBfQ01fSURMRVNUX1BMTCksCisJLmlkbGVzdF9iaXQJPSBPTUFQMzQzMF9TVF9NUFVfQ0xLX1NISUZULAorCS5tYXhfbXVsdGlwbGllciA9IE9NQVAzX01BWF9EUExMX01VTFQsCisJLm1heF9kaXZpZGVyCT0gT01BUDNfTUFYX0RQTExfRElWLAorCS5yYXRlX3RvbGVyYW5jZSA9IERFRkFVTFRfRFBMTF9SQVRFX1RPTEVSQU5DRQogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgZHBsbDFfY2sgPSB7CkBAIC0yNTYsNiArMjgzLDcgQEAKIAkucGFyZW50CQk9ICZzeXNfY2ssCiAJLmRwbGxfZGF0YQk9ICZkcGxsMV9kZCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfCBBTFdBWVNfRU5BQkxFRCwKKwkucm91bmRfcmF0ZQk9ICZvbWFwMl9kcGxsX3JvdW5kX3JhdGUsCiAJLnJlY2FsYwkJPSAmb21hcDNfZHBsbF9yZWNhbGMsCiB9OwogCkBAIC0yOTcsMjIgKzMyNSwzNCBAQAogLyogSVZBMiBjbG9jayBzb3VyY2UgKi8KIC8qIFR5cGU6IERQTEwgKi8KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgZHBsbDJfZGQgPSB7CitzdGF0aWMgc3RydWN0IGRwbGxfZGF0YSBkcGxsMl9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9JVkEyX01PRCwgT01BUDM0MzBfQ01fQ0xLU0VMMV9QTEwpLAogCS5tdWx0X21hc2sJPSBPTUFQMzQzMF9JVkEyX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9JVkEyX0RQTExfRElWX01BU0ssCiAJLmNvbnRyb2xfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0lWQTJfTU9ELCBPTUFQMzQzMF9DTV9DTEtFTl9QTEwpLAogCS5lbmFibGVfbWFzawk9IE9NQVAzNDMwX0VOX0lWQTJfRFBMTF9NQVNLLAorCS5tb2RlcwkJPSAoMSA8PCBEUExMX0xPV19QT1dFUl9TVE9QKSB8ICgxIDw8IERQTExfTE9DS0VEKSB8CisJCQkJKDEgPDwgRFBMTF9MT1dfUE9XRVJfQllQQVNTKSwKIAkuYXV0b19yZWNhbF9iaXQJPSBPTUFQMzQzMF9FTl9JVkEyX0RQTExfRFJJRlRHVUFSRF9TSElGVCwKIAkucmVjYWxfZW5fYml0CT0gT01BUDM0MzBfUFJNX0lSUUVOQUJMRV9NUFVfSVZBMl9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMF9QUk1fSVJRU1RBVFVTX01QVV9JVkEyX0RQTExfU1RfU0hJRlQsCisJLmF1dG9pZGxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9JVkEyX01PRCwgT01BUDM0MzBfQ01fQVVUT0lETEVfUExMKSwKKwkuYXV0b2lkbGVfbWFzawk9IE9NQVAzNDMwX0FVVE9fSVZBMl9EUExMX01BU0ssCisJLmlkbGVzdF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfSVZBMl9NT0QsIE9NQVAzNDMwX0NNX0lETEVTVF9QTEwpLAorCS5pZGxlc3RfYml0CT0gT01BUDM0MzBfU1RfSVZBMl9DTEtfU0hJRlQsCisJLm1heF9tdWx0aXBsaWVyID0gT01BUDNfTUFYX0RQTExfTVVMVCwKKwkubWF4X2RpdmlkZXIJPSBPTUFQM19NQVhfRFBMTF9ESVYsCisJLnJhdGVfdG9sZXJhbmNlID0gREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBkcGxsMl9jayA9IHsKIAkubmFtZQkJPSAiZHBsbDJfY2siLAogCS5wYXJlbnQJCT0gJnN5c19jaywKIAkuZHBsbF9kYXRhCT0gJmRwbGwyX2RkLAotCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8IEFMV0FZU19FTkFCTEVELAorCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUywKKwkuZW5hYmxlCQk9ICZvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlLAorCS5kaXNhYmxlCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9kaXNhYmxlLAorCS5yb3VuZF9yYXRlCT0gJm9tYXAyX2RwbGxfcm91bmRfcmF0ZSwKIAkucmVjYWxjCQk9ICZvbWFwM19kcGxsX3JlY2FsYywKIH07CiAKQEAgLTMzOCwxMCArMzc4LDEyIEBACiAJLnJlY2FsYwkJPSAmb21hcDJfY2xrc2VsX3JlY2FsYywKIH07CiAKLS8qIERQTEwzICovCi0vKiBTb3VyY2UgY2xvY2sgZm9yIGFsbCBpbnRlcmZhY2VzIGFuZCBmb3Igc29tZSBkZXZpY2UgZmNsa3MgKi8KLS8qIFR5cGU6IERQTEwgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwzX2RkID0geworLyoKKyAqIERQTEwzCisgKiBTb3VyY2UgY2xvY2sgZm9yIGFsbCBpbnRlcmZhY2VzIGFuZCBmb3Igc29tZSBkZXZpY2UgZmNsa3MKKyAqIFJFVklTSVQ6IEFsc28gc3VwcG9ydHMgZmFzdCByZWxvY2sgYnlwYXNzIC0gbm90IGluY2x1ZGVkIGJlbG93CisgKi8KK3N0YXRpYyBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwzX2RkID0gewogCS5tdWx0X2RpdjFfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDEpLAogCS5tdWx0X21hc2sJPSBPTUFQMzQzMF9DT1JFX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9DT1JFX0RQTExfRElWX01BU0ssCkBAIC0zNTAsNiArMzkyLDExIEBACiAJLmF1dG9fcmVjYWxfYml0CT0gT01BUDM0MzBfRU5fQ09SRV9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwX0NPUkVfRFBMTF9SRUNBTF9FTl9TSElGVCwKIAkucmVjYWxfc3RfYml0CT0gT01BUDM0MzBfQ09SRV9EUExMX1NUX1NISUZULAorCS5hdXRvaWRsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQVVUT0lETEUpLAorCS5hdXRvaWRsZV9tYXNrCT0gT01BUDM0MzBfQVVUT19DT1JFX0RQTExfTUFTSywKKwkubWF4X211bHRpcGxpZXIgPSBPTUFQM19NQVhfRFBMTF9NVUxULAorCS5tYXhfZGl2aWRlcgk9IE9NQVAzX01BWF9EUExMX0RJViwKKwkucmF0ZV90b2xlcmFuY2UgPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGwzX2NrID0gewpAQCAtMzU3LDYgKzQwNCw3IEBACiAJLnBhcmVudAkJPSAmc3lzX2NrLAogCS5kcGxsX2RhdGEJPSAmZHBsbDNfZGQsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwgQUxXQVlTX0VOQUJMRUQsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtNDM5LDcgKzQ4Nyw3IEBACiAJLm5hbWUJCT0gImNvcmVfY2siLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9DT1JFX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9DT1JFX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gY29yZV9ja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC00NTYsNyArNTA0LDcgQEAKIAkubmFtZQkJPSAiZHBsbDNfbTJ4Ml9jayIsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBkcGxsM19tMngyX2NrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfAogCQkJCVBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTUwMyw3ICs1NTEsNyBAQAogCS5wYXJlbnQJCT0gJmRwbGwzX20zeDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBlbXVfY29yZV9hbHdvbl9ja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC01MTMsMjIgKzU2MSwzMyBAQAogLyogRFBMTDQgKi8KIC8qIFN1cHBsaWVzIDk2TUh6LCA1NE1oeiBUViBEQUMsIERTUyBmY2xrLCBDQU0gc2Vuc29yIGNsb2NrLCBlbXVsIHRyYWNlIGNsayAqLwogLyogVHlwZTogRFBMTCAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgZHBsbDRfZGQgPSB7CitzdGF0aWMgc3RydWN0IGRwbGxfZGF0YSBkcGxsNF9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKSwKIAkubXVsdF9tYXNrCT0gT01BUDM0MzBfUEVSSVBIX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMF9QRVJJUEhfRFBMTF9ESVZfTUFTSywKIAkuY29udHJvbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLRU4pLAogCS5lbmFibGVfbWFzawk9IE9NQVAzNDMwX0VOX1BFUklQSF9EUExMX01BU0ssCisJLm1vZGVzCQk9ICgxIDw8IERQTExfTE9XX1BPV0VSX1NUT1ApIHwgKDEgPDwgRFBMTF9MT0NLRUQpLAogCS5hdXRvX3JlY2FsX2JpdAk9IE9NQVAzNDMwX0VOX1BFUklQSF9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwX1BFUklQSF9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMF9QRVJJUEhfRFBMTF9TVF9TSElGVCwKKwkuYXV0b2lkbGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0FVVE9JRExFKSwKKwkuYXV0b2lkbGVfbWFzawk9IE9NQVAzNDMwX0FVVE9fUEVSSVBIX0RQTExfTUFTSywKKwkuaWRsZXN0X3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAorCS5pZGxlc3RfYml0CT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19TSElGVCwKKwkubWF4X211bHRpcGxpZXIgPSBPTUFQM19NQVhfRFBMTF9NVUxULAorCS5tYXhfZGl2aWRlcgk9IE9NQVAzX01BWF9EUExMX0RJViwKKwkucmF0ZV90b2xlcmFuY2UgPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGw0X2NrID0gewogCS5uYW1lCQk9ICJkcGxsNF9jayIsCiAJLnBhcmVudAkJPSAmc3lzX2NrLAogCS5kcGxsX2RhdGEJPSAmZHBsbDRfZGQsCi0JLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwgQUxXQVlTX0VOQUJMRUQsCisJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTLAorCS5lbmFibGUJCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUsCisJLmRpc2FibGUJPSAmb21hcDNfbm9uY29yZV9kcGxsX2Rpc2FibGUsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtNTg0LDcgKzY0Myw3IEBACiAJLnBhcmVudAkJPSAmZHBsbDRfbTJ4Ml9jaywKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBvbWFwXzk2bV9hbHdvbl9mY2tfY2xrc2VsLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8CiAJCQkJIFBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTYxMCw3ICs2NjksNyBAQAogCS5wYXJlbnQJCT0gJmRwbGw0X20yeDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gY21fOTZtX2Zja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC02NTIsNyArNzExLDcgQEAKIAkucGFyZW50CQk9ICZkcGxsNF9tM3gyX2NrLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEtfTUFTSywKIAkuY2xrc2VsCQk9IHZpcnRfb21hcF81NG1fZmNrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfAogCQkJCVBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTgwNCwyMyArODYzLDMzIEBACiAvKiBTdXBwbGllcyAxMjBNSHogY2xvY2ssIFVTSU0gc291cmNlIGNsb2NrICovCiAvKiBUeXBlOiBEUExMICovCiAvKiAzNDMwRVMyIG9ubHkgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGw1X2RkID0geworc3RhdGljIHN0cnVjdCBkcGxsX2RhdGEgZHBsbDVfZGQgPSB7CiAJLm11bHRfZGl2MV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgT01BUDM0MzBFUzJfQ01fQ0xLU0VMNCksCiAJLm11bHRfbWFzawk9IE9NQVAzNDMwRVMyX1BFUklQSDJfRFBMTF9NVUxUX01BU0ssCiAJLmRpdjFfbWFzawk9IE9NQVAzNDMwRVMyX1BFUklQSDJfRFBMTF9ESVZfTUFTSywKIAkuY29udHJvbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgT01BUDM0MzBFUzJfQ01fQ0xLRU4yKSwKIAkuZW5hYmxlX21hc2sJPSBPTUFQMzQzMEVTMl9FTl9QRVJJUEgyX0RQTExfTUFTSywKKwkubW9kZXMJCT0gKDEgPDwgRFBMTF9MT1dfUE9XRVJfU1RPUCkgfCAoMSA8PCBEUExMX0xPQ0tFRCksCiAJLmF1dG9fcmVjYWxfYml0CT0gT01BUDM0MzBFUzJfRU5fUEVSSVBIMl9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwRVMyX1NORF9QRVJJUEhfRFBMTF9SRUNBTF9FTl9TSElGVCwKIAkucmVjYWxfc3RfYml0CT0gT01BUDM0MzBFUzJfU05EX1BFUklQSF9EUExMX1NUX1NISUZULAorCS5hdXRvaWRsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgT01BUDM0MzBFUzJfQ01fQVVUT0lETEUyX1BMTCksCisJLmF1dG9pZGxlX21hc2sJPSBPTUFQMzQzMEVTMl9BVVRPX1BFUklQSDJfRFBMTF9NQVNLLAorCS5pZGxlc3RfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVDIpLAorCS5pZGxlc3RfYml0CT0gT01BUDM0MzBFUzJfU1RfUEVSSVBIMl9DTEtfU0hJRlQsCisJLm1heF9tdWx0aXBsaWVyID0gT01BUDNfTUFYX0RQTExfTVVMVCwKKwkubWF4X2RpdmlkZXIJPSBPTUFQM19NQVhfRFBMTF9ESVYsCisJLnJhdGVfdG9sZXJhbmNlID0gREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBkcGxsNV9jayA9IHsKIAkubmFtZQkJPSAiZHBsbDVfY2siLAogCS5wYXJlbnQJCT0gJnN5c19jaywKIAkuZHBsbF9kYXRhCT0gJmRwbGw1X2RkLAotCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzMEVTMiB8IFJBVEVfUFJPUEFHQVRFUyB8Ci0JCQkJQUxXQVlTX0VOQUJMRUQsCisJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDMwRVMyIHwgUkFURV9QUk9QQUdBVEVTLAorCS5lbmFibGUJCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUsCisJLmRpc2FibGUJPSAmb21hcDNfbm9uY29yZV9kcGxsX2Rpc2FibGUsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtMTM2NSw3ICsxNDM0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNV9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNV9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSA1LAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0ZDTEtFTjEpLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1A1X1NISUZULApAQCAtMTM3Nyw3ICsxNDQ3LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMV9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMV9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAxLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0ZDTEtFTjEpLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AxX1NISUZULApAQCAtMTc4OSw3ICsxODYwLDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNV9pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNV9pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSA1LAogCS5wYXJlbnQJCT0gJmNvcmVfbDRfaWNrLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4xKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQNV9TSElGVCwKQEAgLTE3OTgsNyArMTg3MCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDFfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDFfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gMSwKIAkucGFyZW50CQk9ICZjb3JlX2w0X2ljaywKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMSksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDFfU0hJRlQsCkBAIC0xOTM1LDcgKzIwMDgsNyBAQAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0RTU19NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9EU1MxX1NISUZULAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBkc3MxX2Fsd29uX2Zja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYLAogCS5yZWNhbGMJCT0gJm9tYXAyX2Nsa3NlbF9yZWNhbGMsCkBAIC0xOTkxLDcgKzIwNjQsNyBAQAogCS5wYXJlbnQJCT0gJmRwbGw0X201eDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gY2FtX21jbGtfY2xrc2VsLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0NBTV9NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9DQU1fU0hJRlQsCkBAIC0yNTQxLDcgKzI2MTQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AyX2ljayA9IHsKLQkubmFtZQkJPSAibWNic3AyX2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDIsCiAJLnBhcmVudAkJPSAmcGVyX2w0X2ljaywKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9QRVJfTU9ELCBDTV9JQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AyX1NISUZULApAQCAtMjU1MCw3ICsyNjI0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwM19pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwM19pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSAzLAogCS5wYXJlbnQJCT0gJnBlcl9sNF9pY2ssCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfUEVSX01PRCwgQ01fSUNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQM19TSElGVCwKQEAgLTI1NTksNyArMjYzNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDRfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDRfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gNCwKIAkucGFyZW50CQk9ICZwZXJfbDRfaWNrLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX1BFUl9NT0QsIENNX0lDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDRfU0hJRlQsCkBAIC0yNTc0LDcgKzI2NTAsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AyX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AyX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDIsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9QRVJfTU9ELCBDTV9GQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AyX1NISUZULApAQCAtMjU4Niw3ICsyNjYzLDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwM19mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwM19mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAzLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfUEVSX01PRCwgQ01fRkNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQM19TSElGVCwKQEAgLTI1OTgsNyArMjY3Niw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDRfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDRfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gNCwKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX1BFUl9NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDRfU0hJRlQsCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLXJlZ2JpdHMtMzR4eC5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS1yZWdiaXRzLTM0eHguaAppbmRleCAzYzM4Mzk1Li5lZTRjMGNhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLXJlZ2JpdHMtMzR4eC5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY20tcmVnYml0cy0zNHh4LmgKQEAgLTcyLDcgKzcyLDggQEAKICNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMgkJCQkoMSA8PCAwKQogCiAvKiBDTV9JRExFU1RfUExMX0lWQTIgKi8KLSNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMl9DTEsJCQkJKDEgPDwgMCkKKyNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMl9DTEtfU0hJRlQJCQkwCisjZGVmaW5lIE9NQVAzNDMwX1NUX0lWQTJfQ0xLX01BU0sJCQkoMSA8PCAwKQogCiAvKiBDTV9BVVRPSURMRV9QTExfSVZBMiAqLwogI2RlZmluZSBPTUFQMzQzMF9BVVRPX0lWQTJfRFBMTF9TSElGVAkJCTAKQEAgLTExNSwxMCArMTE2LDcgQEAKICNkZWZpbmUgT01BUDM0MzBfU1RfTVBVCQkJCQkoMSA8PCAwKQogCiAvKiBDTV9JRExFU1RfUExMX01QVSAqLwotI2RlZmluZSBPTUFQMzQzMF9TVF9NUFVfQ0xLCQkJCSgxIDw8IDApCi0jZGVmaW5lIE9NQVAzNDMwX1NUX0lWQTJfQ0xLX01BU0sJCQkoMSA8PCAwKQotCi0vKiBDTV9JRExFU1RfUExMX01QVSAqLworI2RlZmluZSBPTUFQMzQzMF9TVF9NUFVfQ0xLX1NISUZUCQkJMAogI2RlZmluZSBPTUFQMzQzMF9TVF9NUFVfQ0xLX01BU0sJCQkoMSA8PCAwKQogCiAvKiBDTV9BVVRPSURMRV9QTExfTVBVICovCkBAIC00MDgsOCArNDA2LDEwIEBACiAjZGVmaW5lIE9NQVAzNDMwX1NUXzEyTV9DTEsJCQkJKDEgPDwgNCkKICNkZWZpbmUgT01BUDM0MzBfU1RfNDhNX0NMSwkJCQkoMSA8PCAzKQogI2RlZmluZSBPTUFQMzQzMF9TVF85Nk1fQ0xLCQkJCSgxIDw8IDIpCi0jZGVmaW5lIE9NQVAzNDMwX1NUX1BFUklQSF9DTEsJCQkJKDEgPDwgMSkKLSNkZWZpbmUgT01BUDM0MzBfU1RfQ09SRV9DTEsJCQkJKDEgPDwgMCkKKyNkZWZpbmUgT01BUDM0MzBfU1RfUEVSSVBIX0NMS19TSElGVAkJCTEKKyNkZWZpbmUgT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLCQkJKDEgPDwgMSkKKyNkZWZpbmUgT01BUDM0MzBfU1RfQ09SRV9DTEtfU0hJRlQJCQkwCisjZGVmaW5lIE9NQVAzNDMwX1NUX0NPUkVfQ0xLX01BU0sJCQkoMSA8PCAwKQogCiAvKiBDTV9JRExFU1QyX0NLR0VOICovCiAjZGVmaW5lIE9NQVAzNDMwRVMyX1NUXzEyME1fQ0xLX1NISUZUCQkJMQpAQCAtNDIzLDYgKzQyMywxMCBAQAogI2RlZmluZSBPTUFQMzQzMF9BVVRPX0NPUkVfRFBMTF9TSElGVAkJCTAKICNkZWZpbmUgT01BUDM0MzBfQVVUT19DT1JFX0RQTExfTUFTSwkJCSgweDcgPDwgMCkKIAorLyogQ01fQVVUT0lETEUyX1BMTCAqLworI2RlZmluZSBPTUFQMzQzMEVTMl9BVVRPX1BFUklQSDJfRFBMTF9TSElGVAkJMAorI2RlZmluZSBPTUFQMzQzMEVTMl9BVVRPX1BFUklQSDJfRFBMTF9NQVNLCQkoMHg3IDw8IDApCisKIC8qIENNX0NMS1NFTDFfUExMICovCiAvKiBOb3RlIHRoYXQgT01BUDM0MzBfQ09SRV9EUExMX0NMS09VVF9ESVZfTUFTSyB3YXMgKDB4MyA8PCAyNykgb24gMzQzMEVTMSAqLwogI2RlZmluZSBPTUFQMzQzMF9DT1JFX0RQTExfQ0xLT1VUX0RJVl9TSElGVAkJMjcKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY20uaCBiL2FyY2gvYXJtL21hY2gtb21hcDIvY20uaAppbmRleCA4NDg5ZjMwLi44N2E0NGM3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS5oCkBAIC04MSw2ICs4MSw3IEBACiAjZGVmaW5lIE9NQVAzNDMwRVMyX0NNX0ZDTEtFTjMJCQkJMHgwMDA4CiAjZGVmaW5lIE9NQVAzNDMwX0NNX0lETEVTVF9QTEwJCQkJQ01fSURMRVNUMgogI2RlZmluZSBPTUFQMzQzMF9DTV9BVVRPSURMRV9QTEwJCQlDTV9BVVRPSURMRTIKKyNkZWZpbmUgT01BUDM0MzBFUzJfQ01fQVVUT0lETEUyX1BMTAkJCUNNX0FVVE9JRExFMgogI2RlZmluZSBPTUFQMzQzMF9DTV9DTEtTRUwxCQkJCUNNX0NMS1NFTAogI2RlZmluZSBPTUFQMzQzMF9DTV9DTEtTRUwxX1BMTAkJCQlDTV9DTEtTRUwKICNkZWZpbmUgT01BUDM0MzBfQ01fQ0xLU0VMMl9QTEwJCQkJQ01fQ0xLU0VMMgpAQCAtOTYsMTUgKzk3LDIxIEBACiAvKiBDbG9jayBtYW5hZ2VtZW50IGRvbWFpbiByZWdpc3RlciBnZXQvc2V0ICovCiAKICNpZm5kZWYgX19BU1NFTUJMRVJfXwotc3RhdGljIGlubGluZSB2b2lkIGNtX3dyaXRlX21vZF9yZWcodTMyIHZhbCwgczE2IG1vZHVsZSwgczE2IGlkeCkKKworZXh0ZXJuIHUzMiBjbV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgdTE2IGlkeCk7CitleHRlcm4gdm9pZCBjbV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHUxNiBpZHgpOworZXh0ZXJuIHUzMiBjbV9ybXdfbW9kX3JlZ19iaXRzKHUzMiBtYXNrLCB1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCk7CisKK3N0YXRpYyBpbmxpbmUgdTMyIGNtX3NldF9tb2RfcmVnX2JpdHModTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCiB7Ci0JX19yYXdfd3JpdGVsKHZhbCwgT01BUF9DTV9SRUdBRERSKG1vZHVsZSwgaWR4KSk7CisJcmV0dXJuIGNtX3Jtd19tb2RfcmVnX2JpdHMoYml0cywgYml0cywgbW9kdWxlLCBpZHgpOwogfQogCi1zdGF0aWMgaW5saW5lIHUzMiBjbV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgczE2IGlkeCkKK3N0YXRpYyBpbmxpbmUgdTMyIGNtX2NsZWFyX21vZF9yZWdfYml0cyh1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCkKIHsKLQlyZXR1cm4gX19yYXdfcmVhZGwoT01BUF9DTV9SRUdBRERSKG1vZHVsZSwgaWR4KSk7CisJcmV0dXJuIGNtX3Jtd19tb2RfcmVnX2JpdHMoYml0cywgMHgwLCBtb2R1bGUsIGlkeCk7CiB9CisKICNlbmRpZgogCiAvKiBDTSByZWdpc3RlciBiaXRzIHNoYXJlZCBiZXR3ZWVuIDI0WFggYW5kIDM0MzAgKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY29udHJvbC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jb250cm9sLmMKaW5kZXggYTVkODZhNC4uNTFmNzAzMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jb250cm9sLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jb250cm9sLmMKQEAgLTEzLDIyICsxMywyMSBAQAogI3VuZGVmIERFQlVHCiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCi0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9jb250cm9sLmg+CiAKLXN0YXRpYyB1MzIgb21hcDJfY3RybF9iYXNlOworc3RhdGljIHZvaWQgX19pb21lbSAqb21hcDJfY3RybF9iYXNlOwogCi0jZGVmaW5lIE9NQVBfQ1RSTF9SRUdBRERSKHJlZykJKHZvaWQgX19pb21lbSAqKUlPX0FERFJFU1Mob21hcDJfY3RybF9iYXNlIFwKLQkJCQkJCQkJKyAocmVnKSkKKyNkZWZpbmUgT01BUF9DVFJMX1JFR0FERFIocmVnKQkJKG9tYXAyX2N0cmxfYmFzZSArIChyZWcpKQogCi12b2lkIG9tYXBfY3RybF9iYXNlX3NldCh1MzIgYmFzZSkKK3ZvaWQgX19pbml0IG9tYXAyX3NldF9nbG9iYWxzX2NvbnRyb2woc3RydWN0IG9tYXBfZ2xvYmFscyAqb21hcDJfZ2xvYmFscykKIHsKLQlvbWFwMl9jdHJsX2Jhc2UgPSBiYXNlOworCW9tYXAyX2N0cmxfYmFzZSA9IG9tYXAyX2dsb2JhbHMtPmN0cmw7CiB9CiAKLXUzMiBvbWFwX2N0cmxfYmFzZV9nZXQodm9pZCkKK3ZvaWQgX19pb21lbSAqb21hcF9jdHJsX2Jhc2VfZ2V0KHZvaWQpCiB7CiAJcmV0dXJuIG9tYXAyX2N0cmxfYmFzZTsKIH0KQEAgLTUwLDI1ICs0OSwxNiBAQAogCiB2b2lkIG9tYXBfY3RybF93cml0ZWIodTggdmFsLCB1MTYgb2Zmc2V0KQogewotCXByX2RlYnVnKCJvbWFwX2N0cmxfd3JpdGViOiB3cml0aW5nIDB4JTB4IHRvIDB4JTB4XG4iLCB2YWwsCi0JCSAodTMyKU9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwotCiAJX19yYXdfd3JpdGViKHZhbCwgT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7CiB9CiAKIHZvaWQgb21hcF9jdHJsX3dyaXRldyh1MTYgdmFsLCB1MTYgb2Zmc2V0KQogewotCXByX2RlYnVnKCJvbWFwX2N0cmxfd3JpdGV3OiB3cml0aW5nIDB4JTB4IHRvIDB4JTB4XG4iLCB2YWwsCi0JCSAodTMyKU9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwotCiAJX19yYXdfd3JpdGV3KHZhbCwgT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7CiB9CiAKIHZvaWQgb21hcF9jdHJsX3dyaXRlbCh1MzIgdmFsLCB1MTYgb2Zmc2V0KQogewotCXByX2RlYnVnKCJvbWFwX2N0cmxfd3JpdGVsOiB3cml0aW5nIDB4JTB4IHRvIDB4JTB4XG4iLCB2YWwsCi0JCSAodTMyKU9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwotCiAJX19yYXdfd3JpdGVsKHZhbCwgT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvaWQuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvaWQuYwppbmRleCA0ZGZkODc4Li5kZmY0YjE2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2lkLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9pZC5jCkBAIC0xNywxNiArMTcsMjMgQEAKIAogI2luY2x1ZGUgPGFzbS9pby5oPgogCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjQyMCkKLSNkZWZpbmUgT01BUDI0WFhfVEFQX0JBU0UJaW9fcDJ2KDB4NDgwMTQwMDApCi0jZW5kaWYKKyNpbmNsdWRlIDxhc20vYXJjaC9jb250cm9sLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY3B1Lmg+CiAKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNDMwKQotI2RlZmluZSBPTUFQMjRYWF9UQVBfQkFTRQlpb19wMnYoMHg0OTAwQTAwMCkKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNDIwKQorI2RlZmluZSBUQVBfQkFTRQlpb19wMnYoMHg0ODAxNDAwMCkKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MzApCisjZGVmaW5lIFRBUF9CQVNFCWlvX3AydigweDQ5MDBBMDAwKQorI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMzRYWCkKKyNkZWZpbmUgVEFQX0JBU0UJaW9fcDJ2KDB4NDgzMEEwMDApCiAjZW5kaWYKIAogI2RlZmluZSBPTUFQX1RBUF9JRENPREUJCTB4MDIwNAorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0WFgpCisjZGVmaW5lIE9NQVBfVEFQX1BST0RfSUQJMHgwMjEwCisjZWxzZQogI2RlZmluZSBPTUFQX1RBUF9QUk9EX0lECTB4MDIwOAorI2VuZGlmCiAKICNkZWZpbmUgT01BUF9UQVBfRElFX0lEXzAJMHgwMjE4CiAjZGVmaW5lIE9NQVBfVEFQX0RJRV9JRF8xCTB4MDIxQwpAQCAtNTYsOSArNjMsMTM0IEBACiAJeyAuaGF3a2V5ZSA9IDB4YjY4YSwgLmRldiA9IDB4MCwgLnR5cGUgPSAweDI0MzAwMDAwIH0sCiB9OwogCitzdGF0aWMgc3RydWN0IG9tYXBfY2hpcF9pZCBvbWFwX2NoaXA7CisKKy8qKgorICogb21hcF9jaGlwX2lzIC0gdGVzdCB3aGV0aGVyIGN1cnJlbnRseSBydW5uaW5nIE9NQVAgbWF0Y2hlcyBhIGNoaXAgdHlwZQorICogQG9jOiBvbWFwX2NoaXBfdCB0byB0ZXN0IGFnYWluc3QKKyAqCisgKiBUZXN0IHdoZXRoZXIgdGhlIGN1cnJlbnRseS1ydW5uaW5nIE9NQVAgY2hpcCBtYXRjaGVzIHRoZSBzdXBwbGllZAorICogY2hpcCB0eXBlICdvYycuICBSZXR1cm5zIDEgdXBvbiBhIG1hdGNoOyAwIHVwb24gZmFpbHVyZS4KKyAqLworaW50IG9tYXBfY2hpcF9pcyhzdHJ1Y3Qgb21hcF9jaGlwX2lkIG9jaSkKK3sKKwlyZXR1cm4gKG9jaS5vYyAmIG9tYXBfY2hpcC5vYykgPyAxIDogMDsKK30KK0VYUE9SVF9TWU1CT0wob21hcF9jaGlwX2lzKTsKKwogc3RhdGljIHUzMiBfX2luaXQgcmVhZF90YXBfcmVnKGludCByZWcpCiB7Ci0JcmV0dXJuIF9fcmF3X3JlYWRsKE9NQVAyNFhYX1RBUF9CQVNFICsgcmVnKTsKKwl1bnNpZ25lZCBpbnQgcmVndmFsID0gMDsKKwl1MzIgY3B1aWQ7CisKKwkvKiBSZWFkaW5nIHRoZSBJRENPREUgcmVnaXN0ZXIgb24gMzQzMCBFUzEgcmVzdWx0cyBpbiBhCisJICogZGF0YSBhYm9ydCBhcyB0aGUgcmVnaXN0ZXIgaXMgbm90IGV4cG9zZWQgb24gdGhlIE9DUAorCSAqIEhlbmNlIHJlYWRpbmcgdGhlIENvcnRleCBSZXYKKwkgKi8KKwljcHVpZCA9IHJlYWRfY3B1aWQoQ1BVSURfSUQpOworCisJLyogSWYgdGhlIHByb2Nlc3NvciB0eXBlIGlzIENvcnRleC1BOCBhbmQgdGhlIHJldmlzaW9uIGlzIDB4MAorCSAqIGl0IG1lYW5zIGl0cyBDb3J0ZXggcjBwMCB3aGljaCBpcyAzNDMwIEVTMQorCSAqLworCWlmICgoKChjcHVpZCA+PiA0KSAmIDB4RkZGKSA9PSAweEMwOCkgJiYgKChjcHVpZCAmIDB4RikgPT0gMHgwKSkgeworCQlzd2l0Y2ggKHJlZykgeworCQljYXNlIE9NQVBfVEFQX0lEQ09ERSAgOiByZWd2YWwgPSAweDBCN0FFMDJGOyBicmVhazsKKwkJLyogTWFraW5nIERldlR5cGUgYXMgMHhGIGluIEVTMSB0byBkaWZmZXIgZnJvbSBFUzIgKi8KKwkJY2FzZSBPTUFQX1RBUF9QUk9EX0lEIDogcmVndmFsID0gMHgwMDBGMDBGMDsgYnJlYWs7CisJCWNhc2UgT01BUF9UQVBfRElFX0lEXzA6IHJlZ3ZhbCA9IDB4MDEwMDAwMDA7IGJyZWFrOworCQljYXNlIE9NQVBfVEFQX0RJRV9JRF8xOiByZWd2YWwgPSAweDEwMTJkNjg3OyBicmVhazsKKwkJY2FzZSBPTUFQX1RBUF9ESUVfSURfMjoJcmVndmFsID0gMHgwMDAwMDAwMDsgYnJlYWs7CisJCWNhc2UgT01BUF9UQVBfRElFX0lEXzM6CXJlZ3ZhbCA9IDB4MmQyYzAwMDA7IGJyZWFrOworCQl9CisJfSBlbHNlCisJCXJlZ3ZhbCA9IF9fcmF3X3JlYWRsKFRBUF9CQVNFICsgcmVnKTsKKworCXJldHVybiByZWd2YWw7CisKK30KKworLyoKKyAqIF9zZXRfc3lzdGVtX3JldiAtIHNldCB0aGUgc3lzdGVtX3JldiBnbG9iYWwgYmFzZWQgb24gY3VycmVudCBPTUFQIGNoaXAgdHlwZQorICoKKyAqIFNldCB0aGUgc3lzdGVtX3JldiBnbG9iYWwuICBUaGlzIGlzIHByaW1hcmlseSB1c2VkIGJ5IHRoZSBjcHVfaXNfb21hcHh4eHgoKQorICogbWFjcm9zLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgX3NldF9zeXN0ZW1fcmV2KHUzMiB0eXBlLCB1OCByZXYpCit7CisJdTMyIGksIGN0cmxfc3RhdHVzOworCisJLyoKKwkgKiBzeXN0ZW1fcmV2IGVuY29kaW5nIGlzIGFzIGZvbGxvd3MKKwkgKiBzeXN0ZW1fcmV2ICYgMHhmZjAwMDAwMCAtPiBPbWFwIENsYXNzICgyNHh4LzM0eHgpCisJICogc3lzdGVtX3JldiAmIDB4ZmZmMDAwMDAgLT4gT21hcCBTdWIgQ2xhc3MgKDI0MngvMzQzeCkKKwkgKiBzeXN0ZW1fcmV2ICYgMHhmZmZmMDAwMCAtPiBPbWFwIHR5cGUgKDI0MjAvMjQyMi8yNDIzLzI0MzAvMzQzMCkKKwkgKiBzeXN0ZW1fcmV2ICYgMHgwMDAwZjAwMCAtPiBTaWxpY29uIHJldmlzaW9uIChFUzEsIEVTMiApCisJICogc3lzdGVtX3JldiAmIDB4MDAwMDA3MDAgLT4gRGV2aWNlIFR5cGUgKCBFTVUvSFMvR1AvQkFEICkKKwkgKiBzeXN0ZW1fcmV2ICYgMHgwMDAwMDBjMCAtPiBJRENPREUgcmV2aXNpb25bNjo3XQorCSAqIHN5c3RlbV9yZXYgJiAweDAwMDAwMDNmIC0+IHN5c19ib290WzA6NV0KKwkgKi8KKwkvKiBFbWJlZGRpbmcgdGhlIEVTIHJldmlzaW9uIGluZm8gaW4gdHlwZSBmaWVsZCAqLworCXN5c3RlbV9yZXYgPSB0eXBlOworCS8qIEFsc28gYWRkIElEQ09ERSByZXZpc2lvbiBpbmZvIG9ubHkgdHdvIGxvd2VyIGJpdHMgKi8KKwlzeXN0ZW1fcmV2IHw9ICgocmV2ICYgMHgzKSA8PCA2KTsKKworCS8qIEFkZCBpbiB0aGUgZGV2aWNlIHR5cGUgYW5kIHN5c19ib290IGZpZWxkcyAoc2VlIGFib3ZlKSAqLworCWlmIChjcHVfaXNfb21hcDI0eHgoKSkgeworCQlpID0gT01BUDI0WFhfQ09OVFJPTF9TVEFUVVM7CisJfSBlbHNlIGlmIChjcHVfaXNfb21hcDM0M3goKSkgeworCQlpID0gT01BUDM0M1hfQ09OVFJPTF9TVEFUVVM7CisJfSBlbHNlIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJpZDogdW5rbm93biBDUFUgdHlwZVxuIik7CisJCUJVRygpOworCX0KKwljdHJsX3N0YXR1cyA9IG9tYXBfY3RybF9yZWFkbChpKTsKKwlzeXN0ZW1fcmV2IHw9IChjdHJsX3N0YXR1cyAmIChPTUFQMl9TWVNCT09UXzVfTUFTSyB8CisJCQkJICAgICAgT01BUDJfU1lTQk9PVF80X01BU0sgfAorCQkJCSAgICAgIE9NQVAyX1NZU0JPT1RfM19NQVNLIHwKKwkJCQkgICAgICBPTUFQMl9TWVNCT09UXzJfTUFTSyB8CisJCQkJICAgICAgT01BUDJfU1lTQk9PVF8xX01BU0sgfAorCQkJCSAgICAgIE9NQVAyX1NZU0JPT1RfMF9NQVNLKSk7CisJc3lzdGVtX3JldiB8PSAoY3RybF9zdGF0dXMgJiBPTUFQMl9ERVZJQ0VUWVBFX01BU0spOworfQorCisKKy8qCisgKiBfc2V0X29tYXBfY2hpcCAtIHNldCB0aGUgb21hcF9jaGlwIGdsb2JhbCBiYXNlZCBvbiBPTUFQIGNoaXAgdHlwZQorICoKKyAqIEJ1aWxkIHRoZSBvbWFwX2NoaXAgYml0cy4gIFRoaXMgdmFyaWFibGUgaXMgdXNlZCBieSBwb3dlcmRvbWFpbiBhbmQKKyAqIGNsb2NrZG9tYWluIGNvZGUgdG8gaW5kaWNhdGUgd2hldGhlciBzdHJ1Y3R1cmVzIGFyZSBhcHBsaWNhYmxlIGZvcgorICogdGhlIGN1cnJlbnQgT01BUCBjaGlwIHR5cGUgYnkgQU5EaW5nIGl0IGFnYWluc3QgYSAncGxhdGZvcm0nIGJpdGZpZWxkCisgKiBpbiB0aGUgc3RydWN0dXJlLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgX3NldF9vbWFwX2NoaXAodm9pZCkKK3sKKwlpZiAoY3B1X2lzX29tYXAzNDN4KCkpIHsKKworCQlvbWFwX2NoaXAub2MgPSBDSElQX0lTX09NQVAzNDMwOworCQlpZiAoaXNfc2lsX3Jldl9lcXVhbF90byhPTUFQMzQzMF9SRVZfRVMxXzApKQorCQkJb21hcF9jaGlwLm9jIHw9IENISVBfSVNfT01BUDM0MzBFUzE7CisJCWVsc2UgaWYgKGlzX3NpbF9yZXZfZ3JlYXRlcl90aGFuKE9NQVAzNDMwX1JFVl9FUzFfMCkpCisJCQlvbWFwX2NoaXAub2MgfD0gQ0hJUF9JU19PTUFQMzQzMEVTMjsKKworCX0gZWxzZSBpZiAoY3B1X2lzX29tYXAyNDN4KCkpIHsKKworCQkvKiBDdXJyZW50bHkgb25seSBzdXBwb3J0cyAyNDMwRVMyLjEgYW5kIDI0MzAtYWxsICovCisJCW9tYXBfY2hpcC5vYyB8PSBDSElQX0lTX09NQVAyNDMwOworCisJfSBlbHNlIGlmIChjcHVfaXNfb21hcDI0MngoKSkgeworCisJCS8qIEN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIDI0MjBFUzIuMS4xIGFuZCAyNDIwLWFsbCAqLworCQlvbWFwX2NoaXAub2MgfD0gQ0hJUF9JU19PTUFQMjQyMDsKKworCX0gZWxzZSB7CisKKwkJLyogQ3VycmVudCBDUFUgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvZGUuICovCisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk9NQVAgY2hpcCB0eXBlIGNvZGUgZG9lcyBub3QgeWV0IHN1cHBvcnQgIgorCQkgICAgICAgInRoaXMgQ1BVIHR5cGUuXG4iKTsKKwkJV0FSTl9PTigxKTsKKworCX0KKwogfQogCiB2b2lkIF9faW5pdCBvbWFwMl9jaGVja19yZXZpc2lvbih2b2lkKQpAQCAtNzYsMjEgKzIwOCwzMSBAQAogCXJldiA9IChpZGNvZGUgPj4gMjgpICYgMHgwZjsKIAlkZXZfdHlwZSA9IChwcm9kX2lkID4+IDE2KSAmIDB4MGY7CiAKLSNpZmRlZiBERUJVRwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9JRENPREUgMHglMDh4IFJFViAlaSBIQVdLRVlFIDB4JTA0eCBNQU5GICUwM3hcbiIsCi0JCWlkY29kZSwgcmV2LCBoYXdrZXllLCAoaWRjb2RlID4+IDEpICYgMHg3ZmYpOwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9ESUVfSURfMDogMHglMDh4XG4iLAotCQlyZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzApKTsKLQlwcmludGsoS0VSTl9ERUJVRyAiT01BUF9UQVBfRElFX0lEXzE6IDB4JTA4eCBERVZfUkVWOiAlaVxuIiwKLQkJcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8xKSwKLQkgICAgICAgKHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMSkgPj4gMjgpICYgMHhmKTsKLQlwcmludGsoS0VSTl9ERUJVRyAiT01BUF9UQVBfRElFX0lEXzI6IDB4JTA4eFxuIiwKLQkJcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8yKSk7Ci0JcHJpbnRrKEtFUk5fREVCVUcgIk9NQVBfVEFQX0RJRV9JRF8zOiAweCUwOHhcbiIsCi0JCXJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMykpOwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9QUk9EX0lEXzA6IDB4JTA4eCBERVZfVFlQRTogJWlcbiIsCi0JCXByb2RfaWQsIGRldl90eXBlKTsKLSNlbmRpZgorCXByX2RlYnVnKCJPTUFQX1RBUF9JRENPREUgMHglMDh4IFJFViAlaSBIQVdLRVlFIDB4JTA0eCBNQU5GICUwM3hcbiIsCisJCSBpZGNvZGUsIHJldiwgaGF3a2V5ZSwgKGlkY29kZSA+PiAxKSAmIDB4N2ZmKTsKKwlwcl9kZWJ1ZygiT01BUF9UQVBfRElFX0lEXzA6IDB4JTA4eFxuIiwKKwkJIHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMCkpOworCXByX2RlYnVnKCJPTUFQX1RBUF9ESUVfSURfMTogMHglMDh4IERFVl9SRVY6ICVpXG4iLAorCQkgcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8xKSwKKwkJIChyZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzEpID4+IDI4KSAmIDB4Zik7CisJcHJfZGVidWcoIk9NQVBfVEFQX0RJRV9JRF8yOiAweCUwOHhcbiIsCisJCSByZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzIpKTsKKwlwcl9kZWJ1ZygiT01BUF9UQVBfRElFX0lEXzM6IDB4JTA4eFxuIiwKKwkJIHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMykpOworCXByX2RlYnVnKCJPTUFQX1RBUF9QUk9EX0lEXzA6IDB4JTA4eCBERVZfVFlQRTogJWlcbiIsCisJCSBwcm9kX2lkLCBkZXZfdHlwZSk7CisKKwkvKgorCSAqIERldGVjdGlvbiBmb3IgMzR4eCBFUzIuMCBhbmQgYWJvdmUgY2FuIGJlIGRvbmUgd2l0aCBqdXN0CisJICogaGF3a2V5ZSBhbmQgcmV2LiBTZWUgVFJNIDEuNS4yIERldmljZSBJZGVudGlmaWNhdGlvbi4KKwkgKiBOb3RlIHRoYXQgcmV2IGNhbm5vdCBiZSB1c2VkIGRpcmVjdGx5IGFzIEVTMS4wIHVzZXMgdmFsdWUgMC4KKwkgKi8KKwlpZiAoaGF3a2V5ZSA9PSAweGI3YWUpIHsKKwkJc3lzdGVtX3JldiA9IDB4MzQzMDAwMDAgfCAoKDEgKyByZXYpIDw8IDEyKTsKKwkJcHJfaW5mbygiT01BUCUwNHggRVMyLiVpXG4iLCBzeXN0ZW1fcmV2ID4+IDE2LCByZXYpOworCQlfc2V0X29tYXBfY2hpcCgpOworCQlyZXR1cm47CisJfQogCiAJLyogQ2hlY2sgaGF3a2V5ZSBpZHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShvbWFwX2lkcyk7IGkrKykgewpAQCAtMTE0LDE2ICsyNTYsMTUgQEAKIAkJCQlvbWFwX2lkc1tpXS50eXBlID4+IDE2KTsKIAkJaiA9IGk7CiAJfQotCXN5c3RlbV9yZXYgPSBvbWFwX2lkc1tqXS50eXBlOwogCi0Jc3lzdGVtX3JldiB8PSByZXYgPDwgODsKKwlfc2V0X3N5c3RlbV9yZXYob21hcF9pZHNbal0udHlwZSwgcmV2KTsKIAotCS8qIEFkZCB0aGUgY3B1IGNsYXNzIGluZm8gKDI0eHgpICovCi0Jc3lzdGVtX3JldiB8PSAweDI0OworCV9zZXRfb21hcF9jaGlwKCk7CiAKIAlwcl9pbmZvKCJPTUFQJTA0eCIsIHN5c3RlbV9yZXYgPj4gMTYpOwogCWlmICgoc3lzdGVtX3JldiA+PiA4KSAmIDB4MGYpCi0JCXByaW50aygiJXgiLCAoc3lzdGVtX3JldiA+PiA4KSAmIDB4MGYpOwotCXByaW50aygiXG4iKTsKKwkJcHJfaW5mbygiRVMleCIsIChzeXN0ZW1fcmV2ID4+IDEyKSAmIDB4Zik7CisJcHJfaW5mbygiXG4iKTsKKwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL21jYnNwLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL21jYnNwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdjZjE5OQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvbWNic3AuYwpAQCAtMCwwICsxLDIwOCBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtb21hcDIvbWNic3AuYworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbnN0aXR1dG8gTm9raWEgZGUgVGVjbm9sb2dpYQorICogQ29udGFjdDogRWR1YXJkbyBWYWxlbnRpbiA8ZWR1YXJkby52YWxlbnRpbkBpbmR0Lm9yZy5icj4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE11bHRpY2hhbm5lbCBtb2RlIG5vdCBzdXBwb3J0ZWQuCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2RtYS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL211eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NwdS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL21jYnNwLmg+CisKK3N0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgeworCXN0cnVjdCBjbGsgY2xrOworCXN0cnVjdCBjbGsgKipjaGlsZHM7CisJaW50IG5fY2hpbGRzOworfTsKKworI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0WFgpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0WFgpCitzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2Nsa19pbml0KHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGspCit7CisJY29uc3QgY2hhciAqY2xrX25hbWVzW10gPSB7ICJtY2JzcF9pY2siLCAibWNic3BfZmNrIiB9OworCWludCBpOworCisJbWNsay0+bl9jaGlsZHMgPSBBUlJBWV9TSVpFKGNsa19uYW1lcyk7CisJbWNsay0+Y2hpbGRzID0ga3phbGxvYyhtY2xrLT5uX2NoaWxkcyAqIHNpemVvZihzdHJ1Y3QgY2xrICopLAorCQkJCUdGUF9LRVJORUwpOworCisJZm9yIChpID0gMDsgaSA8IG1jbGstPm5fY2hpbGRzOyBpKyspIHsKKwkJLyogV2UgZmFrZSBhIHBsYXRmb3JtIGRldmljZSB0byBnZXQgY29ycmVjdCBkZXZpY2UgaWQgKi8KKwkJc3RydWN0IHBsYXRmb3JtX2RldmljZSBwZGV2OworCisJCXBkZXYuZGV2LmJ1cyA9ICZwbGF0Zm9ybV9idXNfdHlwZTsKKwkJcGRldi5pZCA9IG1jbGstPmNsay5pZDsKKwkJbWNsay0+Y2hpbGRzW2ldID0gY2xrX2dldCgmcGRldi5kZXYsIGNsa19uYW1lc1tpXSk7CisJCWlmIChJU19FUlIobWNsay0+Y2hpbGRzW2ldKSkKKwkJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IGdldCBjbG9jayAlcyAoJWQpLlxuIiwKKwkJCQljbGtfbmFtZXNbaV0sIG1jbGstPmNsay5pZCk7CisJfQorfQorCitzdGF0aWMgaW50IG9tYXBfbWNic3BfY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsayA9IGNvbnRhaW5lcl9vZihjbGssCisJCQkJCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGssIGNsayk7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWNsay0+bl9jaGlsZHM7IGkrKykKKwkJY2xrX2VuYWJsZShtY2xrLT5jaGlsZHNbaV0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrID0gY29udGFpbmVyX29mKGNsaywKKwkJCQkJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsaywgY2xrKTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBtY2xrLT5uX2NoaWxkczsgaSsrKQorCQljbGtfZGlzYWJsZShtY2xrLT5jaGlsZHNbaV0pOworfQorCitzdGF0aWMgc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayBvbWFwX21jYnNwX2Nsa3NbXSA9IHsKKwl7CisJCS5jbGsgPSB7CisJCQkubmFtZSAJCT0gIm1jYnNwX2NsayIsCisJCQkuaWQJCT0gMSwKKwkJCS5lbmFibGUJCT0gb21hcF9tY2JzcF9jbGtfZW5hYmxlLAorCQkJLmRpc2FibGUJPSBvbWFwX21jYnNwX2Nsa19kaXNhYmxlLAorCQl9LAorCX0sCisJeworCQkuY2xrID0geworCQkJLm5hbWUgCQk9ICJtY2JzcF9jbGsiLAorCQkJLmlkCQk9IDIsCisJCQkuZW5hYmxlCQk9IG9tYXBfbWNic3BfY2xrX2VuYWJsZSwKKwkJCS5kaXNhYmxlCT0gb21hcF9tY2JzcF9jbGtfZGlzYWJsZSwKKwkJfSwKKwl9LAorfTsKKworI2RlZmluZSBvbWFwX21jYnNwX2Nsa3Nfc2l6ZQlBUlJBWV9TSVpFKG9tYXBfbWNic3BfY2xrcykKKyNlbHNlCisjZGVmaW5lIG9tYXBfbWNic3BfY2xrc19zaXplCTAKK3N0YXRpYyBzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIF9faW5pdGRhdGEgKm9tYXBfbWNic3BfY2xrczsKK3N0YXRpYyBpbmxpbmUgdm9pZCBvbWFwX21jYnNwX2Nsa19pbml0KHN0cnVjdCBjbGsgKmNsaykKK3sgfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIG9tYXAyX21jYnNwMl9tdXhfc2V0dXAodm9pZCkKK3sKKwlvbWFwX2NmZ19yZWcoWTE1XzI0WFhfTUNCU1AyX0NMS1gpOworCW9tYXBfY2ZnX3JlZyhSMTRfMjRYWF9NQ0JTUDJfRlNYKTsKKwlvbWFwX2NmZ19yZWcoVzE1XzI0WFhfTUNCU1AyX0RSKTsKKwlvbWFwX2NmZ19yZWcoVjE1XzI0WFhfTUNCU1AyX0RYKTsKKwlvbWFwX2NmZ19yZWcoVjE0XzI0WFhfR1BJTzExNyk7CisJLyoKKwkgKiBUT0RPOiBOZWVkIHRvIGFkZCBNVVggc2V0dGluZ3MgZm9yIE9NQVAgMjQzMCBTRFAKKwkgKi8KK30KKworc3RhdGljIHZvaWQgb21hcDJfbWNic3BfcmVxdWVzdCh1bnNpZ25lZCBpbnQgaWQpCit7CisJaWYgKGNwdV9pc19vbWFwMjQyMCgpICYmIChpZCA9PSBPTUFQX01DQlNQMikpCisJCW9tYXAyX21jYnNwMl9tdXhfc2V0dXAoKTsKK30KKworc3RhdGljIGludCBvbWFwMl9tY2JzcF9jaGVjayh1bnNpZ25lZCBpbnQgaWQpCit7CisJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQgLSAxKSB7CisJCXByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBkb2Vzbid0IGV4aXN0XG4iLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9vcHMgb21hcDJfbWNic3Bfb3BzID0geworCS5yZXF1ZXN0CT0gb21hcDJfbWNic3BfcmVxdWVzdCwKKwkuY2hlY2sJCT0gb21hcDJfbWNic3BfY2hlY2ssCit9OworCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDI0WFgKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhIG9tYXAyNHh4X21jYnNwX3BkYXRhW10gPSB7CisJeworCQkudmlydF9iYXNlCT0gSU9fQUREUkVTUyhPTUFQMjRYWF9NQ0JTUDFfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDFfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AxX0lSUV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDFfSVJRX1RYLAorCQkub3BzCQk9ICZvbWFwMl9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gSU9fQUREUkVTUyhPTUFQMjRYWF9NQ0JTUDJfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AyX0lSUV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDJfSVJRX1RYLAorCQkub3BzCQk9ICZvbWFwMl9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCit9OworI2RlZmluZSBPTUFQMjRYWF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwMjR4eF9tY2JzcF9wZGF0YSkKKyNlbHNlCisjZGVmaW5lIG9tYXAyNHh4X21jYnNwX3BkYXRhCQlOVUxMCisjZGVmaW5lIE9NQVAyNFhYX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAzNFhYCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwMzR4eF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IElPX0FERFJFU1MoT01BUDM0WFhfTUNCU1AxX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1RYLAorCQkucnhfaXJxCQk9IElOVF8yNFhYX01DQlNQMV9JUlFfUlgsCisJCS50eF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AxX0lSUV9UWCwKKwkJLm9wcwkJPSAmb21hcDJfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IElPX0FERFJFU1MoT01BUDM0WFhfTUNCU1AyX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AyX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AyX1RYLAorCQkucnhfaXJxCQk9IElOVF8yNFhYX01DQlNQMl9JUlFfUlgsCisJCS50eF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AyX0lSUV9UWCwKKwkJLm9wcwkJPSAmb21hcDJfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorfTsKKyNkZWZpbmUgT01BUDM0WFhfTUNCU1BfUERBVEFfU1oJCUFSUkFZX1NJWkUob21hcDM0eHhfbWNic3BfcGRhdGEpCisjZWxzZQorI2RlZmluZSBvbWFwMzR4eF9tY2JzcF9wZGF0YQkJTlVMTAorI2RlZmluZSBPTUFQMzRYWF9NQ0JTUF9QREFUQV9TWgkJMAorI2VuZGlmCisKK2ludCBfX2luaXQgb21hcDJfbWNic3BfaW5pdCh2b2lkKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG9tYXBfbWNic3BfY2xrc19zaXplOyBpKyspIHsKKwkJLyogT25jZSB3ZSBjYWxsIGNsa19nZXQgaW5zaWRlIGluaXQsIHdlIGRvIG5vdCByZWdpc3RlciBpdCAqLworCQlvbWFwX21jYnNwX2Nsa19pbml0KCZvbWFwX21jYnNwX2Nsa3NbaV0pOworCQljbGtfcmVnaXN0ZXIoJm9tYXBfbWNic3BfY2xrc1tpXS5jbGspOworCX0KKworCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDI0eHhfbWNic3BfcGRhdGEsCisJCQkJCQlPTUFQMjRYWF9NQ0JTUF9QREFUQV9TWik7CisKKwlpZiAoY3B1X2lzX29tYXAzNHh4KCkpCisJCW9tYXBfbWNic3BfcmVnaXN0ZXJfYm9hcmRfY2ZnKG9tYXAzNHh4X21jYnNwX3BkYXRhLAorCQkJCQkJT01BUDM0WFhfTUNCU1BfUERBVEFfU1opOworCisJcmV0dXJuIG9tYXBfbWNic3BfaW5pdCgpOworfQorYXJjaF9pbml0Y2FsbChvbWFwMl9tY2JzcF9pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvbWVtb3J5LmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL21lbW9yeS5jCmluZGV4IDEyNDc5MDguLjczY2FkYjIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvbWVtb3J5LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9tZW1vcnkuYwpAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3NyYW0uaD4KIApAQCAtMzIsOCArMzMsOCBAQAogI2luY2x1ZGUgIm1lbW9yeS5oIgogI2luY2x1ZGUgInNkcmMuaCIKIAotdW5zaWduZWQgbG9uZyBvbWFwMl9zZHJjX2Jhc2U7Ci11bnNpZ25lZCBsb25nIG9tYXAyX3Ntc19iYXNlOwordm9pZCBfX2lvbWVtICpvbWFwMl9zZHJjX2Jhc2U7Cit2b2lkIF9faW9tZW0gKm9tYXAyX3Ntc19iYXNlOwogCiBzdGF0aWMgc3RydWN0IG1lbW9yeV90aW1pbmdzIG1lbV90aW1pbmdzOwogc3RhdGljIHUzMiBjdXJyX3BlcmZfbGV2ZWwgPSBDT1JFX0NMS19TUkNfRFBMTF9YMjsKQEAgLTE1NCw2ICsxNTUsMTIgQEAKIAltZW1fdGltaW5ncy5zbG93X2RsbF9jdHJsIHw9ICgoMSA8PCAxKSB8ICgzIDw8IDgpKTsKIH0KIAordm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfbWVtb3J5KHN0cnVjdCBvbWFwX2dsb2JhbHMgKm9tYXAyX2dsb2JhbHMpCit7CisJb21hcDJfc2RyY19iYXNlID0gb21hcDJfZ2xvYmFscy0+c2RyYzsKKwlvbWFwMl9zbXNfYmFzZSA9IG9tYXAyX2dsb2JhbHMtPnNtczsKK30KKwogLyogdHVybiBvbiBzbWFydCBpZGxlIG1vZGVzIGZvciBTRFJBTSBzY2hlZHVsZXIgYW5kIGNvbnRyb2xsZXIgKi8KIHZvaWQgX19pbml0IG9tYXAyX2luaXRfbWVtb3J5KHZvaWQpCiB7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9tdXguYwppbmRleCA5MzA3NzAwLi44Zjk4YjIwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvbXV4LmMKQEAgLTIzNiw3ICsyMzYsNyBAQAogCXdhcm4gPSAob3JpZyAhPSByZWcpOwogCWlmIChkZWJ1ZyB8fCB3YXJuKQogCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCQkiTVVYOiBzZXR1cCAlcyAoMHglMDh4KTogMHglMDJ4IC0+IDB4JTAyeFxuIiwKKwkJCSJNVVg6IHNldHVwICVzICgweCVwKTogMHglMDR4IC0+IDB4JTA0eFxuIiwKIAkJCWNmZy0+bmFtZSwgb21hcF9jdHJsX2Jhc2VfZ2V0KCkgKyBjZmctPm11eF9yZWcsCiAJCQlvcmlnLCByZWcpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wbS5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wbS5jCmluZGV4IGFhZDc4MWQuLmQ2YzlkZTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvcG0uYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3BtLmMKQEAgLTU3LDEzICs1Nyw2IEBACiAJCXJldHVybjsKIAl9CiAKLQkvKgotCSAqIFNpbmNlIGFuIGludGVycnVwdCBtYXkgc2V0IHVwIGEgdGltZXIsIHdlIGRvbid0IHdhbnQgdG8KLQkgKiByZXByb2dyYW0gdGhlIGhhcmR3YXJlIHRpbWVyIHdpdGggaW50ZXJydXB0cyBlbmFibGVkLgotCSAqIFJlLWVuYWJsZSBpbnRlcnJ1cHRzIG9ubHkgYWZ0ZXIgcmV0dXJuaW5nIGZyb20gaWRsZS4KLQkgKi8KLQl0aW1lcl9keW5fcmVwcm9ncmFtKCk7Ci0KIAlvbWFwMl9zcmFtX2lkbGUoKTsKIAlsb2NhbF9maXFfZW5hYmxlKCk7CiAJbG9jYWxfaXJxX2VuYWJsZSgpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLWNvbW1vbi5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLWNvbW1vbi5oCmluZGV4IGNhY2IzNDAuLjU0YzMyZjQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJjbS1jb21tb24uaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20tY29tbW9uLmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogCiAvKiBDaGlwLXNwZWNpZmljIG1vZHVsZSBvZmZzZXRzICovCisjZGVmaW5lIE9NQVAyNFhYX0dSX01PRAkJCQkJT0NQX01PRAogI2RlZmluZSBPTUFQMjRYWF9EU1BfTU9ECQkJCTB4ODAwCiAKICNkZWZpbmUgT01BUDI0MzBfTURNX01PRAkJCQkweGMwMApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20uYwppbmRleCBiMTJmNDIzLi5mZDkyYTgwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20uYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20uYwpAQCAtMTYsMTYgKzE2LDIxIEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAKLSNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9wcmNtLmg+CiAKKyNpbmNsdWRlICJjbG9jay5oIgogI2luY2x1ZGUgInBybS5oIgogI2luY2x1ZGUgInBybS1yZWdiaXRzLTI0eHguaCIKIAotZXh0ZXJuIHZvaWQgb21hcDJfY2xrX3ByZXBhcmVfZm9yX3JlYm9vdCh2b2lkKTsKK3N0YXRpYyB2b2lkIF9faW9tZW0gKnBybV9iYXNlOworc3RhdGljIHZvaWQgX19pb21lbSAqY21fYmFzZTsKIAogdTMyIG9tYXBfcHJjbV9nZXRfcmVzZXRfc291cmNlcyh2b2lkKQogeworCS8qIFhYWCBUaGlzIHByZXN1bWFibHkgbmVlZHMgbW9kaWZpY2F0aW9uIGZvciAzNFhYICovCiAJcmV0dXJuIHBybV9yZWFkX21vZF9yZWcoV0tVUF9NT0QsIFJNX1JTVFNUKSAmIDB4N2Y7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfcHJjbV9nZXRfcmVzZXRfc291cmNlcyk7CkBAIC0zMywxMSArMzgsOTAgQEAKIC8qIFJlc2V0cyBjbG9jayByYXRlcyBhbmQgcmVib290cyB0aGUgc3lzdGVtLiBPbmx5IGNhbGxlZCBmcm9tIHN5c3RlbS5oICovCiB2b2lkIG9tYXBfcHJjbV9hcmNoX3Jlc2V0KGNoYXIgbW9kZSkKIHsKLQl1MzIgd2t1cDsKKwlzMTYgcHJjbV9vZmZzOwogCW9tYXAyX2Nsa19wcmVwYXJlX2Zvcl9yZWJvb3QoKTsKIAotCWlmIChjcHVfaXNfb21hcDI0eHgoKSkgewotCQl3a3VwID0gcHJtX3JlYWRfbW9kX3JlZyhXS1VQX01PRCwgUk1fUlNUQ1RSTCkgfCBPTUFQX1JTVF9EUExMMzsKLQkJcHJtX3dyaXRlX21vZF9yZWcod2t1cCwgV0tVUF9NT0QsIFJNX1JTVENUUkwpOwotCX0KKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpCisJCXByY21fb2ZmcyA9IFdLVVBfTU9EOworCWVsc2UgaWYgKGNwdV9pc19vbWFwMzR4eCgpKQorCQlwcmNtX29mZnMgPSBPTUFQMzQzMF9HUl9NT0Q7CisJZWxzZQorCQlXQVJOX09OKDEpOworCisJcHJtX3NldF9tb2RfcmVnX2JpdHMoT01BUF9SU1RfRFBMTDMsIHByY21fb2ZmcywgUk1fUlNUQ1RSTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTMyIF9fb21hcF9wcmNtX3JlYWQodm9pZCBfX2lvbWVtICpiYXNlLCBzMTYgbW9kdWxlLCB1MTYgcmVnKQoreworCUJVR19PTighYmFzZSk7CisJcmV0dXJuIF9fcmF3X3JlYWRsKGJhc2UgKyBtb2R1bGUgKyByZWcpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgX19vbWFwX3ByY21fd3JpdGUodTMyIHZhbHVlLCB2b2lkIF9faW9tZW0gKmJhc2UsCisJCQkJCQlzMTYgbW9kdWxlLCB1MTYgcmVnKQoreworCUJVR19PTighYmFzZSk7CisJX19yYXdfd3JpdGVsKHZhbHVlLCBiYXNlICsgbW9kdWxlICsgcmVnKTsKK30KKworLyogUmVhZCBhIHJlZ2lzdGVyIGluIGEgUFJNIG1vZHVsZSAqLwordTMyIHBybV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgdTE2IGlkeCkKK3sKKwlyZXR1cm4gX19vbWFwX3ByY21fcmVhZChwcm1fYmFzZSwgbW9kdWxlLCBpZHgpOworfQorRVhQT1JUX1NZTUJPTChwcm1fcmVhZF9tb2RfcmVnKTsKKworLyogV3JpdGUgaW50byBhIHJlZ2lzdGVyIGluIGEgUFJNIG1vZHVsZSAqLwordm9pZCBwcm1fd3JpdGVfbW9kX3JlZyh1MzIgdmFsLCBzMTYgbW9kdWxlLCB1MTYgaWR4KQoreworCV9fb21hcF9wcmNtX3dyaXRlKHZhbCwgcHJtX2Jhc2UsIG1vZHVsZSwgaWR4KTsKK30KK0VYUE9SVF9TWU1CT0wocHJtX3dyaXRlX21vZF9yZWcpOworCisvKiBSZWFkLW1vZGlmeS13cml0ZSBhIHJlZ2lzdGVyIGluIGEgUFJNIG1vZHVsZS4gQ2FsbGVyIG11c3QgbG9jayAqLwordTMyIHBybV9ybXdfbW9kX3JlZ19iaXRzKHUzMiBtYXNrLCB1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCkKK3sKKwl1MzIgdjsKKworCXYgPSBwcm1fcmVhZF9tb2RfcmVnKG1vZHVsZSwgaWR4KTsKKwl2ICY9IH5tYXNrOworCXYgfD0gYml0czsKKwlwcm1fd3JpdGVfbW9kX3JlZyh2LCBtb2R1bGUsIGlkeCk7CisKKwlyZXR1cm4gdjsKK30KK0VYUE9SVF9TWU1CT0wocHJtX3Jtd19tb2RfcmVnX2JpdHMpOworCisvKiBSZWFkIGEgcmVnaXN0ZXIgaW4gYSBDTSBtb2R1bGUgKi8KK3UzMiBjbV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgdTE2IGlkeCkKK3sKKwlyZXR1cm4gX19vbWFwX3ByY21fcmVhZChjbV9iYXNlLCBtb2R1bGUsIGlkeCk7Cit9CitFWFBPUlRfU1lNQk9MKGNtX3JlYWRfbW9kX3JlZyk7CisKKy8qIFdyaXRlIGludG8gYSByZWdpc3RlciBpbiBhIENNIG1vZHVsZSAqLwordm9pZCBjbV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHUxNiBpZHgpCit7CisJX19vbWFwX3ByY21fd3JpdGUodmFsLCBjbV9iYXNlLCBtb2R1bGUsIGlkeCk7Cit9CitFWFBPUlRfU1lNQk9MKGNtX3dyaXRlX21vZF9yZWcpOworCisvKiBSZWFkLW1vZGlmeS13cml0ZSBhIHJlZ2lzdGVyIGluIGEgQ00gbW9kdWxlLiBDYWxsZXIgbXVzdCBsb2NrICovCit1MzIgY21fcm13X21vZF9yZWdfYml0cyh1MzIgbWFzaywgdTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCit7CisJdTMyIHY7CisKKwl2ID0gY21fcmVhZF9tb2RfcmVnKG1vZHVsZSwgaWR4KTsKKwl2ICY9IH5tYXNrOworCXYgfD0gYml0czsKKwljbV93cml0ZV9tb2RfcmVnKHYsIG1vZHVsZSwgaWR4KTsKKworCXJldHVybiB2OworfQorRVhQT1JUX1NZTUJPTChjbV9ybXdfbW9kX3JlZ19iaXRzKTsKKwordm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfcHJjbShzdHJ1Y3Qgb21hcF9nbG9iYWxzICpvbWFwMl9nbG9iYWxzKQoreworCXBybV9iYXNlID0gb21hcDJfZ2xvYmFscy0+cHJtOworCWNtX2Jhc2UgPSBvbWFwMl9nbG9iYWxzLT5jbTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJtLmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL3BybS5oCmluZGV4IDYxOGY4MTEuLmJiZjQxZmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJtLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcm0uaApAQCAtMzgsMTMgKzM4LDI5IEBACiAgKgogICovCiAKKy8qIEdsb2JhbCAyNHh4IHJlZ2lzdGVycyBpbiBHUl9NT0QgKFNhbWUgYXMgT0NQX01PRCBmb3IgMjR4eCkgKi8KKyNkZWZpbmUgT01BUDI0WFhfUFJDTV9WT0xUQ1RSTF9PRkZTRVQJCTB4MDA1MAorI2RlZmluZSBPTUFQMjRYWF9QUkNNX0NMS0NGR19DVFJMX09GRlNFVAkweDAwODAKKworLyogMjQyeCBHUl9NT0QgcmVnaXN0ZXJzLCB1c2UgdGhlc2Ugb25seSBmb3IgYXNzZW1ibHkgY29kZSAqLworI2RlZmluZSBPTUFQMjQyWF9QUkNNX1ZPTFRDVFJMCQlPTUFQMjQyMF9QUk1fUkVHQUREUihPTUFQMjRYWF9HUl9NT0QsCVwKKwkJCQkJCU9NQVAyNFhYX1BSQ01fVk9MVENUUkxfT0ZGU0VUKQorI2RlZmluZSBPTUFQMjQyWF9QUkNNX0NMS0NGR19DVFJMCU9NQVAyNDIwX1BSTV9SRUdBRERSKE9NQVAyNFhYX0dSX01PRCwJXAorCQkJCQkJT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTF9PRkZTRVQpCisKKy8qIDI0M3ggR1JfTU9EIHJlZ2lzdGVycywgdXNlIHRoZXNlIG9ubHkgZm9yIGFzc2VtYmx5IGNvZGUgKi8KKyNkZWZpbmUgT01BUDI0M1hfUFJDTV9WT0xUQ1RSTAkJT01BUDI0MzBfUFJNX1JFR0FERFIoT01BUDI0WFhfR1JfTU9ELAlcCisJCQkJCQlPTUFQMjRYWF9QUkNNX1ZPTFRDVFJMX09GRlNFVCkKKyNkZWZpbmUgT01BUDI0M1hfUFJDTV9DTEtDRkdfQ1RSTAlPTUFQMjQzMF9QUk1fUkVHQUREUihPTUFQMjRYWF9HUl9NT0QsCVwKKwkJCQkJCU9NQVAyNFhYX1BSQ01fQ0xLQ0ZHX0NUUkxfT0ZGU0VUKQorCisvKiBUaGVzZSB3aWxsIGRpc2FwcGVhciAqLwogI2RlZmluZSBPTUFQMjRYWF9QUkNNX1JFVklTSU9OCQlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDAwMCkKICNkZWZpbmUgT01BUDI0WFhfUFJDTV9TWVNDT05GSUcJCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDEwKQogCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fSVJRU1RBVFVTX01QVQlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDAxOCkKICNkZWZpbmUgT01BUDI0WFhfUFJDTV9JUlFFTkFCTEVfTVBVCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDFjKQogCi0jZGVmaW5lIE9NQVAyNFhYX1BSQ01fVk9MVENUUkwJCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDUwKQogI2RlZmluZSBPTUFQMjRYWF9QUkNNX1ZPTFRTVAkJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwNTQpCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fQ0xLU1JDX0NUUkwJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwNjApCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fQ0xLT1VUX0NUUkwJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwNzApCkBAIC0xNTAsMTUgKzE2NiwxOSBAQAogI2lmbmRlZiBfX0FTU0VNQkxFUl9fCiAKIC8qIFBvd2VyL3Jlc2V0IG1hbmFnZW1lbnQgZG9tYWluIHJlZ2lzdGVyIGdldC9zZXQgKi8KK2V4dGVybiB1MzIgcHJtX3JlYWRfbW9kX3JlZyhzMTYgbW9kdWxlLCB1MTYgaWR4KTsKK2V4dGVybiB2b2lkIHBybV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHUxNiBpZHgpOworZXh0ZXJuIHUzMiBwcm1fcm13X21vZF9yZWdfYml0cyh1MzIgbWFzaywgdTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpOwogCi1zdGF0aWMgaW5saW5lIHZvaWQgcHJtX3dyaXRlX21vZF9yZWcodTMyIHZhbCwgczE2IG1vZHVsZSwgczE2IGlkeCkKKy8qIFJlYWQtbW9kaWZ5LXdyaXRlIGJpdHMgaW4gYSBQUk0gcmVnaXN0ZXIgKGJ5IGRvbWFpbikgKi8KK3N0YXRpYyBpbmxpbmUgdTMyIHBybV9zZXRfbW9kX3JlZ19iaXRzKHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQogewotCV9fcmF3X3dyaXRlbCh2YWwsIE9NQVBfUFJNX1JFR0FERFIobW9kdWxlLCBpZHgpKTsKKwlyZXR1cm4gcHJtX3Jtd19tb2RfcmVnX2JpdHMoYml0cywgYml0cywgbW9kdWxlLCBpZHgpOwogfQogCi1zdGF0aWMgaW5saW5lIHUzMiBwcm1fcmVhZF9tb2RfcmVnKHMxNiBtb2R1bGUsIHMxNiBpZHgpCitzdGF0aWMgaW5saW5lIHUzMiBwcm1fY2xlYXJfbW9kX3JlZ19iaXRzKHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQogewotCXJldHVybiBfX3Jhd19yZWFkbChPTUFQX1BSTV9SRUdBRERSKG1vZHVsZSwgaWR4KSk7CisJcmV0dXJuIHBybV9ybXdfbW9kX3JlZ19iaXRzKGJpdHMsIDB4MCwgbW9kdWxlLCBpZHgpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvc2RyYy5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zZHJjLmgKaW5kZXggZDdmMjNiYy4uMWIxZmU0ZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zZHJjLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zZHJjLmgKQEAgLTE4LDEzICsxOCwxMSBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL3NkcmMuaD4KIAogI2lmbmRlZiBfX0FTU0VNQkxFUl9fCi1leHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMl9zZHJjX2Jhc2U7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMl9zbXNfYmFzZTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKm9tYXAyX3NkcmNfYmFzZTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKm9tYXAyX3Ntc19iYXNlOwogCi0jZGVmaW5lIE9NQVBfU0RSQ19SRUdBRERSKHJlZykJCQkJCQlcCi0JCSh2b2lkIF9faW9tZW0gKilJT19BRERSRVNTKG9tYXAyX3NkcmNfYmFzZSArIChyZWcpKQotI2RlZmluZSBPTUFQX1NNU19SRUdBRERSKHJlZykJCQkJCQlcCi0JCSh2b2lkIF9faW9tZW0gKilJT19BRERSRVNTKG9tYXAyX3Ntc19iYXNlICsgKHJlZykpCisjZGVmaW5lIE9NQVBfU0RSQ19SRUdBRERSKHJlZykJCQkob21hcDJfc2RyY19iYXNlICsgKHJlZykpCisjZGVmaW5lIE9NQVBfU01TX1JFR0FERFIocmVnKQkJCShvbWFwMl9zbXNfYmFzZSArIChyZWcpKQogCiAvKiBTRFJDIGdsb2JhbCByZWdpc3RlciBnZXQvc2V0ICovCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQyeC5TCnNpbWlsYXJpdHkgaW5kZXggODAlCnJlbmFtZSBmcm9tIGFyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCnJlbmFtZSB0byBhcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDJ4LlMKaW5kZXggNGE5ZTQ5MS4uNGMyNzQ1MSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQyeC5TCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIGxpbnV4L2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDJ4LlMKICAqCiAgKiBPbWFwMiBzcGVjaWZpYyBmdW5jdGlvbnMgdGhhdCBuZWVkIHRvIGJlIHJ1biBpbiBpbnRlcm5hbCBTUkFNCiAgKgpAQCAtMjcsMjIgKzI3LDIwIEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvaW8uaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAotI2luY2x1ZGUgInNkcmMuaCIKICNpbmNsdWRlICJwcm0uaCIKICNpbmNsdWRlICJjbS5oIgotCi0jZGVmaW5lIFRJTUVSXzMyS1NZTkNUX0NSX1YJSU9fQUREUkVTUyhPTUFQMjQyMF8zMktTWU5DVF9CQVNFICsgMHgwMTApCisjaW5jbHVkZSAic2RyYy5oIgogCiAJLnRleHQKIAotRU5UUlkoc3JhbV9kZHJfaW5pdCkKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fZGRyX2luaXQpCiAJc3RtZmQJc3AhLCB7cjAgLSByMTIsIGxyfQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAKIAltb3YJcjEyLCByMgkJCUAgY2FwdHVyZSBDUzEgdnMgQ1MwCiAJbW92CXI4LCByMwkJCUAgY2FwdHVyZSBmb3JjZSBwYXJhbWV0ZXIKIAogCS8qIGZyZXF1ZW5jeSBzaGlmdCBkb3duICovCi0JbGRyCXIyLCBjbV9jbGtzZWwyX3BsbAlAIGdldCBhZGRyZXNzIG9mIGRwbGxvdXQgcmVnCisJbGRyCXIyLCBvbWFwMjQyeF9zZGlfY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBkcGxsb3V0IHJlZwogCW1vdglyMywgIzB4MQkJQCB2YWx1ZSBmb3IgMXggb3BlcmF0aW9uCiAJc3RyCXIzLCBbcjJdCQlAIGdvIHRvIEwxLWZyZXEgb3BlcmF0aW9uCiAKQEAgLTUxLDcgKzQ5LDcgQEAKIAlibCB2b2x0YWdlX3NoaWZ0CQlAIGdvIGRyb3Agdm9sdGFnZQogCiAJLyogZGxsIGxvY2sgbW9kZSAqLwotCWxkcglyMTEsIHNkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKKwlsZHIJcjExLCBvbWFwMjQyeF9zZGlfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAogCWxkcglyMTAsIFtyMTFdCQlAIGdldCBjdXJyZW50IHZhbAogCWNtcAlyMTIsICMweDEJCUAgY3MxIGJhc2UgKDI0MjIgZXMyLjA1LzEpCiAJYWRkZXEJcjExLCByMTEsICMweDgJCUAgaWYgY3MxIGJhc2UsIG1vdmUgdG8gRExMQgpAQCAtMTAyLDcgKzEwMCw3IEBACiAJICogd2FpdCBmb3IgaXQgdG8gZmluaXNoLCB1c2UgMzJrIHN5bmMgY291bnRlciwgMXRpY2s9MzF1Uy4KIAkgKi8KIHZvbHRhZ2Vfc2hpZnQ6Ci0JbGRyCXI0LCBwcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsLgorCWxkcglyNCwgb21hcDI0Mnhfc2RpX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwuCiAJbGRyCXI1LCBbcjRdCQlAIGdldCB2YWx1ZS4KIAlsZHIJcjYsIHByY21fbWFza192YWwJQCBnZXQgdmFsdWUgb2YgbWFzawogCWFuZAlyNSwgcjUsIHI2CQlAIGFwcGx5IG1hc2sgdG8gY2xlYXIgYml0cwpAQCAtMTEyLDcgKzExMCw3IEBACiAJb3JyCXI1LCByNSwgcjMJCUAgYnVpbGQgdmFsdWUgZm9yIGZvcmNlCiAJc3RyCXI1LCBbcjRdCQlAIEZvcmNlIHRyYW5zaXRpb24gdG8gTDEKIAotCWxkcglyMywgdGltZXJfMzJrc3luY3RfY3IJQCBnZXQgYWRkciBvZiBjb3VudGVyCisJbGRyCXIzLCBvbWFwMjQyeF9zZGlfdGltZXJfMzJrc3luY3RfY3IJQCBnZXQgYWRkciBvZiBjb3VudGVyCiAJbGRyCXI1LCBbcjNdCQlAIGdldCB2YWx1ZQogCWFkZAlyNSwgcjUsICMweDMJCUAgZ2l2ZSBpdCBhdCBtb3N0IDkzdVMKIHZvbHRfZGVsYXk6CkBAIC0xMjEsMzIgKzExOSwzMSBAQAogCWJoaQl2b2x0X2RlbGF5CQlAIG5vdCB5ZXQtPmJyYW5jaAogCW1vdglwYywgbHIJCQlAIGJhY2sgdG8gY2FsbGVyLgogCi0vKiByZWxhdGl2ZSBsb2FkIGNvbnN0YW50cyAqLwotY21fY2xrc2VsMl9wbGw6CitvbWFwMjQyeF9zZGlfY21fY2xrc2VsMl9wbGw6CiAJLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKQotc2RyY19kbGxhX2N0cmw6CitvbWFwMjQyeF9zZGlfc2RyY19kbGxhX2N0cmw6CiAJLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQotcHJjbV92b2x0Y3RybDoKLQkud29yZCBPTUFQMjQyMF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDUwKQorb21hcDI0Mnhfc2RpX3ByY21fdm9sdGN0cmw6CisJLndvcmQgT01BUDI0MlhfUFJDTV9WT0xUQ1RSTAogcHJjbV9tYXNrX3ZhbDoKIAkud29yZCAweEZGRkYzRkZDCi10aW1lcl8zMmtzeW5jdF9jcjoKLQkud29yZCBUSU1FUl8zMktTWU5DVF9DUl9WCi1FTlRSWShzcmFtX2Rkcl9pbml0X3N6KQotCS53b3JkCS4gLSBzcmFtX2Rkcl9pbml0CitvbWFwMjQyeF9zZGlfdGltZXJfMzJrc3luY3RfY3I6CisJLndvcmQgSU9fQUREUkVTUyhPTUFQMl8zMktTWU5DVF9CQVNFICsgMHgwMTApCitFTlRSWShvbWFwMjQyeF9zcmFtX2Rkcl9pbml0X3N6KQorCS53b3JkCS4gLSBvbWFwMjQyeF9zcmFtX2Rkcl9pbml0CiAKIC8qCiAgKiBSZXByb2dyYW1zIG1lbW9yeSB0aW1pbmdzLgogICogcjAgPSBbUFJDTV9GVUxMIHwgUFJDTV9IQUxGXSByMSA9IFNEUkNfRExMQV9DVFJMIHZhbHVlIHIyID0gW0REUiB8IFNEUl0KICAqIFBSQ01fRlVMTCA9IDIsIFBSQ01fSEFMRiA9IDEsIEREUiA9IDEsIFNEUiA9IDAKICAqLwotRU5UUlkoc3JhbV9yZXByb2dyYW1fc2RyYykKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmMpCiAJc3RtZmQJc3AhLCB7cjAgLSByMTAsIGxyfQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAJbW92CXIzLCAjMHgwCQlAIGNsZWFyIGZvciBtcmMgY2FsbAogCW1jcglwMTUsIDAsIHIzLCBjNywgYzEwLCA0CUAgbWVtb3J5IGJhcnJpZXIsIGZpbmlzaCBBUk0gU0RSL0REUgogCW5vcAogCW5vcAotCWxkcglyNiwgZGRyX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZworCWxkcglyNiwgb21hcDI0Mnhfc3JzX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZwogCWxkcglyNSwgW3I2XQkJQCBnZXQgdmFsdWUKIAltb3YJcjUsIHI1LCBsc3IgIzgJCUAgaXNvbGF0ZSByZnIgZmllbGQgYW5kIGRyb3AgYnVyc3QKIApAQCAtMTYwLDcgKzE1Nyw3IEBACiAJbW92bmUJcjUsIHI1LCBsc2wgIzEJCUAgbXVsdCBieSAyIGlmIHRvIGZ1bGwKIAltb3YJcjUsIHI1LCBsc2wgIzgJCUAgcHV0IHJmciBmaWVsZCBiYWNrIGludG8gcGxhY2UKIAlhZGQJcjUsIHI1LCAjMHgxCQlAIHR1cm4gb24gYnVyc3Qgb2YgMQotCWxkcglyNCwgZGRyX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZworCWxkcglyNCwgb21hcDI0Mnhfc3JzX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZwogCWxkcglyMywgW3I0XQkJQCBnZXQgY3VyciB2YWx1ZQogCW9ycglyMywgcjMsICMweDMKIAliaWMJcjMsIHIzLCAjMHgzCQlAIGNsZWFyIGxvd2VyIGJpdHMKQEAgLTE4MSw3ICsxNzgsNyBAQAogCWJuZQlmcmVxX291dAkJQCBsZWF2ZSBpZiBTRFIsIG5vIERMTCBmdW5jdGlvbgogCiAJLyogV2l0aCBERFIsIHdlIG5lZWQgdG8gdGFrZSBjYXJlIG9mIHRoZSBETEwgZm9yIHRoZSBmcmVxdWVuY3kgY2hhbmdlICovCi0JbGRyCXIyLCBkZHJfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAorCWxkcglyMiwgb21hcDI0Mnhfc3JzX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKIAlzdHIJcjEsIFtyMl0JCUAgd3JpdGUgb3V0IG5ldyBTRFJDX0RMTEFfQ1RSTAogCWFkZAlyMiwgcjIsICMweDgJCUAgYWRkciB0byBTRFJDX0RMTEJfQ1RSTAogCXN0cglyMSwgW3IyXQkJQCBjb21taXQgdG8gU0RSQ19ETExCX0NUUkwKQEAgLTE5Nyw3ICsxOTQsNyBAQAogICAgICAqCXdhaXQgZm9yIGl0IHRvIGZpbmlzaCwgdXNlIDMyayBzeW5jIGNvdW50ZXIsIDF0aWNrPTMxdVMuCiAgICAgICovCiB2b2x0YWdlX3NoaWZ0X2M6Ci0JbGRyCXIxMCwgZGRyX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwKKwlsZHIJcjEwLCBvbWFwMjQyeF9zcnNfcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybAogCWxkcglyOCwgW3IxMF0JCUAgZ2V0IHZhbHVlCiAJbGRyCXI3LCBkZHJfcHJjbV9tYXNrX3ZhbAlAIGdldCB2YWx1ZSBvZiBtYXNrCiAJYW5kCXI4LCByOCwgcjcJCUAgYXBwbHkgbWFzayB0byBjbGVhciBiaXRzCkBAIC0yMDcsNyArMjA0LDcgQEAKIAlvcnIJcjgsIHI4LCByNwkJQCBidWlsZCB2YWx1ZSBmb3IgZm9yY2UKIAlzdHIJcjgsIFtyMTBdCQlAIEZvcmNlIHRyYW5zaXRpb24gdG8gTDEKIAotCWxkcglyMTAsIGRkcl90aW1lcl8zMmtzeW5jdAlAIGdldCBhZGRyIG9mIGNvdW50ZXIKKwlsZHIJcjEwLCBvbWFwMjQyeF9zcnNfdGltZXJfMzJrc3luY3QJQCBnZXQgYWRkciBvZiBjb3VudGVyCiAJbGRyCXI4LCBbcjEwXQkJQCBnZXQgdmFsdWUKIAlhZGQJcjgsIHI4LCAjMHgyCQlAIGdpdmUgaXQgYXQgbW9zdCA2MnVTIChtaW4gMzErKQogdm9sdF9kZWxheV9jOgpAQCAtMjE2LDM5ICsyMTMsMzkgQEAKIAliaGkJdm9sdF9kZWxheV9jCQlAIG5vdCB5ZXQtPmJyYW5jaAogCW1vdglwYywgbHIJCQlAIGJhY2sgdG8gY2FsbGVyCiAKLWRkcl9jbV9jbGtzZWwyX3BsbDoKK29tYXAyNDJ4X3Nyc19jbV9jbGtzZWwyX3BsbDoKIAkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCi1kZHJfc2RyY19kbGxhX2N0cmw6CitvbWFwMjQyeF9zcnNfc2RyY19kbGxhX2N0cmw6CiAJLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQotZGRyX3NkcmNfcmZyX2N0cmw6CitvbWFwMjQyeF9zcnNfc2RyY19yZnJfY3RybDoKIAkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19SRlJfQ1RSTF8wKQotZGRyX3ByY21fdm9sdGN0cmw6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg1MCkKK29tYXAyNDJ4X3Nyc19wcmNtX3ZvbHRjdHJsOgorCS53b3JkIE9NQVAyNDJYX1BSQ01fVk9MVENUUkwKIGRkcl9wcmNtX21hc2tfdmFsOgogCS53b3JkIDB4RkZGRjNGRkMKLWRkcl90aW1lcl8zMmtzeW5jdDoKLQkud29yZCBUSU1FUl8zMktTWU5DVF9DUl9WCitvbWFwMjQyeF9zcnNfdGltZXJfMzJrc3luY3Q6CisJLndvcmQgSU9fQUREUkVTUyhPTUFQMl8zMktTWU5DVF9CQVNFICsgMHgwMTApCiAKLUVOVFJZKHNyYW1fcmVwcm9ncmFtX3NkcmNfc3opCi0JLndvcmQJLiAtIHNyYW1fcmVwcm9ncmFtX3NkcmMKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmNfc3opCisJLndvcmQJLiAtIG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmMKIAogLyoKICAqIFNldCBkaXZpZGVycyBhbmQgcGxsLiBBbHNvIHJlY2FsY3VsYXRlIERMTCB2YWx1ZSBmb3IgRERSIGFuZCB1bmxvY2sgbW9kZS4KICAqLwotRU5UUlkoc3JhbV9zZXRfcHJjbSkKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fc2V0X3ByY20pCiAJc3RtZmQJc3AhLCB7cjAtcjEyLCBscn0JQCByZWdzIHRvIHN0YWNrCiAJYWRyCXI0LCBwYmVnaW4JCUAgYWRkciBvZiBwcmVsb2FkIHN0YXJ0CiAJYWRyCXI4LCBwZW5kCQlAIGFkZHIgb2YgcHJlbG9hZCBlbmQKIAltY3JyCXAxNSwgMSwgcjgsIHI0LCBjMTIJQCBwcmVsb2FkIGludG8gaWNhY2hlCiBwYmVnaW46CiAJLyogbW92ZSBpbnRvIGZhc3QgcmVsb2NrIGJ5cGFzcyAqLwotCWxkcglyOCwgcGxsX2N0bAkJQCBnZXQgYWRkcgorCWxkcglyOCwgb21hcDI0Mnhfc3NwX3BsbF9jdGwJQCBnZXQgYWRkcgogCWxkcglyNSwgW3I4XQkJQCBnZXQgdmFsCiAJbXZuCXI2LCAjMHgzCQlAIGNsZWFyIG1hc2sKIAlhbmQJcjUsIHI1LCByNgkJQCBjbGVhciBmaWVsZAogCW9ycglyNywgcjUsICMweDIJCUAgZmFzdCByZWxvY2sgdmFsCiAJc3RyCXI3LCBbcjhdCQlAIGdvIHRvIGZhc3QgcmVsb2NrCi0JbGRyCXI0LCBwbGxfc3RhdAkJQCBhZGRyIG9mIHN0YXQKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9wbGxfc3RhdAlAIGFkZHIgb2Ygc3RhdAogYmxvY2s6CiAJLyogd2FpdCBmb3IgYnlwYXNzICovCiAJbGRyCXI4LCBbcjRdCQlAIHN0YXQgdmFsdWUKQEAgLTI1NywxMCArMjU0LDEwIEBACiAJYm5lCWJsb2NrCQkJQCBsb29wIGlmIG5vdAogCiAJLyogc2V0IG5ldyBkcGxsIGRpdmlkZXJzIF9hZnRlcl8gaW4gYnlwYXNzICovCi0JbGRyCXI0LCBwbGxfZGl2CQlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQyeF9zc3BfcGxsX2RpdglAIGdldCBhZGRyCiAJc3RyCXIwLCBbcjRdCQlAIHNldCBkcGxsIGN0cmwgdmFsCiAKLQlsZHIJcjQsIHNldF9jb25maWcJCUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9zZXRfY29uZmlnCUAgZ2V0IGFkZHIKIAltb3YJcjgsICMxCQkJQCB2YWxpZCBjZmcgbXNrCiAJc3RyCXI4LCBbcjRdCQlAIG1ha2UgZGl2aWRlcnMgdGFrZQogCkBAIC0yNzQsOCArMjcxLDggQEAKIAliZXEJcGVuZAkJCUAganVtcCBvdmVyIGRwbGwgcmVsb2NrCiAKIAkvKiByZWxvY2sgRFBMTCB3aXRoIG5ldyB2YWxzICovCi0JbGRyCXI1LCBwbGxfc3RhdAkJQCBnZXQgYWRkcgotCWxkcglyNCwgcGxsX2N0bAkJQCBnZXQgYWRkcgorCWxkcglyNSwgb21hcDI0Mnhfc3NwX3BsbF9zdGF0CUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9wbGxfY3RsCUAgZ2V0IGFkZHIKIAlvcnIJcjgsIHI3LCAjMHgzCQlAIHZhbCBmb3IgbG9jayBkcGxsCiAJc3RyCXI4LCBbcjRdCQlAIHNldCB2YWwKIAltb3YJcjAsICMxMDAwCQlAIGRlYWQgc3BpbiBhIGJpdApAQCAtMjg5LDkgKzI4Niw5IEBACiAJYm5lCXdhaXRfbG9jawkJQCB3YWl0IGlmIG5vdAogcGVuZDoKIAkvKiB1cGRhdGUgbWVtb3J5IHRpbWluZ3MgJiBicmllZmx5IGxvY2sgZGxsICovCi0JbGRyCXI0LCBzZHJjX3JmcgkJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0Mnhfc3NwX3NkcmNfcmZyCUAgZ2V0IGFkZHIKIAlzdHIJcjEsIFtyNF0JCUAgdXBkYXRlIHJlZnJlc2ggdGltaW5nCi0JbGRyCXIxMSwgZGxsYV9jdHJsCQlAIGdldCBhZGRyIG9mIERMTEEgY3RybAorCWxkcglyMTEsIG9tYXAyNDJ4X3NzcF9kbGxhX2N0cmwJQCBnZXQgYWRkciBvZiBETExBIGN0cmwKIAlsZHIJcjEwLCBbcjExXQkJQCBnZXQgY3VycmVudCB2YWwKIAltdm4JcjksICMweDQJCUAgbWFzayB0byBnZXQgY2xlYXIgYml0MgogCWFuZAlyMTAsIHIxMCwgcjkJCUAgY2xlYXIgYml0MiBmb3IgbG9jayBtb2RlCkBAIC0zMDcsMTggKzMwNCwxOCBAQAogCW5vcAogCWxkbWZkCXNwISwge3IwLXIxMiwgcGN9CUAgcmVzdG9yZSByZWdzIGFuZCByZXR1cm4KIAotc2V0X2NvbmZpZzoKLQkud29yZCBPTUFQMjQyMF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDgwKQotcGxsX2N0bDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0ZDTEtFTjEpCi1wbGxfc3RhdDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVDEpCi1wbGxfZGl2OgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMKQotc2RyY19yZnI6CitvbWFwMjQyeF9zc3Bfc2V0X2NvbmZpZzoKKwkud29yZCBPTUFQMjQyWF9QUkNNX0NMS0NGR19DVFJMCitvbWFwMjQyeF9zc3BfcGxsX2N0bDoKKwkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS0VOKQorb21hcDI0Mnhfc3NwX3BsbF9zdGF0OgorCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKQorb21hcDI0Mnhfc3NwX3BsbF9kaXY6CisJLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwxKQorb21hcDI0Mnhfc3NwX3NkcmNfcmZyOgogCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCi1kbGxhX2N0cmw6CitvbWFwMjQyeF9zc3BfZGxsYV9jdHJsOgogCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKIAotRU5UUlkoc3JhbV9zZXRfcHJjbV9zeikKLQkud29yZAkuIC0gc3JhbV9zZXRfcHJjbQorRU5UUlkob21hcDI0Mnhfc3JhbV9zZXRfcHJjbV9zeikKKwkud29yZAkuIC0gb21hcDI0Mnhfc3JhbV9zZXRfcHJjbQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDN4LlMKc2ltaWxhcml0eSBpbmRleCA3NyUKY29weSBmcm9tIGFyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCmNvcHkgdG8gYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQzeC5TCmluZGV4IDRhOWU0OTEuLmEzZmE0OGQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbTI0M3guUwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0tZm4uUworICogbGludXgvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQzeC5TCiAgKgogICogT21hcDIgc3BlY2lmaWMgZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSBydW4gaW4gaW50ZXJuYWwgU1JBTQogICoKQEAgLTI3LDIyICsyNywyMCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKLSNpbmNsdWRlICJzZHJjLmgiCiAjaW5jbHVkZSAicHJtLmgiCiAjaW5jbHVkZSAiY20uaCIKLQotI2RlZmluZSBUSU1FUl8zMktTWU5DVF9DUl9WCUlPX0FERFJFU1MoT01BUDI0MjBfMzJLU1lOQ1RfQkFTRSArIDB4MDEwKQorI2luY2x1ZGUgInNkcmMuaCIKIAogCS50ZXh0CiAKLUVOVFJZKHNyYW1fZGRyX2luaXQpCitFTlRSWShvbWFwMjQzeF9zcmFtX2Rkcl9pbml0KQogCXN0bWZkCXNwISwge3IwIC0gcjEyLCBscn0JQCBzYXZlIHJlZ2lzdGVycyBvbiBzdGFjawogCiAJbW92CXIxMiwgcjIJCQlAIGNhcHR1cmUgQ1MxIHZzIENTMAogCW1vdglyOCwgcjMJCQlAIGNhcHR1cmUgZm9yY2UgcGFyYW1ldGVyCiAKIAkvKiBmcmVxdWVuY3kgc2hpZnQgZG93biAqLwotCWxkcglyMiwgY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBkcGxsb3V0IHJlZworCWxkcglyMiwgb21hcDI0M3hfc2RpX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2YgZHBsbG91dCByZWcKIAltb3YJcjMsICMweDEJCUAgdmFsdWUgZm9yIDF4IG9wZXJhdGlvbgogCXN0cglyMywgW3IyXQkJQCBnbyB0byBMMS1mcmVxIG9wZXJhdGlvbgogCkBAIC01MSw3ICs0OSw3IEBACiAJYmwgdm9sdGFnZV9zaGlmdAkJQCBnbyBkcm9wIHZvbHRhZ2UKIAogCS8qIGRsbCBsb2NrIG1vZGUgKi8KLQlsZHIJcjExLCBzZHJjX2RsbGFfY3RybAlAIGFkZHIgb2YgZGxsYSBjdHJsCisJbGRyCXIxMSwgb21hcDI0M3hfc2RpX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKIAlsZHIJcjEwLCBbcjExXQkJQCBnZXQgY3VycmVudCB2YWwKIAljbXAJcjEyLCAjMHgxCQlAIGNzMSBiYXNlICgyNDIyIGVzMi4wNS8xKQogCWFkZGVxCXIxMSwgcjExLCAjMHg4CQlAIGlmIGNzMSBiYXNlLCBtb3ZlIHRvIERMTEIKQEAgLTEwMiw3ICsxMDAsNyBAQAogCSAqIHdhaXQgZm9yIGl0IHRvIGZpbmlzaCwgdXNlIDMyayBzeW5jIGNvdW50ZXIsIDF0aWNrPTMxdVMuCiAJICovCiB2b2x0YWdlX3NoaWZ0OgotCWxkcglyNCwgcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybC4KKwlsZHIJcjQsIG9tYXAyNDN4X3NkaV9wcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsLgogCWxkcglyNSwgW3I0XQkJQCBnZXQgdmFsdWUuCiAJbGRyCXI2LCBwcmNtX21hc2tfdmFsCUAgZ2V0IHZhbHVlIG9mIG1hc2sKIAlhbmQJcjUsIHI1LCByNgkJQCBhcHBseSBtYXNrIHRvIGNsZWFyIGJpdHMKQEAgLTExMiw3ICsxMTAsNyBAQAogCW9ycglyNSwgcjUsIHIzCQlAIGJ1aWxkIHZhbHVlIGZvciBmb3JjZQogCXN0cglyNSwgW3I0XQkJQCBGb3JjZSB0cmFuc2l0aW9uIHRvIEwxCiAKLQlsZHIJcjMsIHRpbWVyXzMya3N5bmN0X2NyCUAgZ2V0IGFkZHIgb2YgY291bnRlcgorCWxkcglyMywgb21hcDI0M3hfc2RpX3RpbWVyXzMya3N5bmN0X2NyCUAgZ2V0IGFkZHIgb2YgY291bnRlcgogCWxkcglyNSwgW3IzXQkJQCBnZXQgdmFsdWUKIAlhZGQJcjUsIHI1LCAjMHgzCQlAIGdpdmUgaXQgYXQgbW9zdCA5M3VTCiB2b2x0X2RlbGF5OgpAQCAtMTIxLDMyICsxMTksMzEgQEAKIAliaGkJdm9sdF9kZWxheQkJQCBub3QgeWV0LT5icmFuY2gKIAltb3YJcGMsIGxyCQkJQCBiYWNrIHRvIGNhbGxlci4KIAotLyogcmVsYXRpdmUgbG9hZCBjb25zdGFudHMgKi8KLWNtX2Nsa3NlbDJfcGxsOgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMikKLXNkcmNfZGxsYV9jdHJsOgotCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKLXByY21fdm9sdGN0cmw6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg1MCkKK29tYXAyNDN4X3NkaV9jbV9jbGtzZWwyX3BsbDoKKwkud29yZCBPTUFQMjQzMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCitvbWFwMjQzeF9zZGlfc2RyY19kbGxhX2N0cmw6CisJLndvcmQgT01BUDI0M1hfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQorb21hcDI0M3hfc2RpX3ByY21fdm9sdGN0cmw6CisJLndvcmQgT01BUDI0M1hfUFJDTV9WT0xUQ1RSTAogcHJjbV9tYXNrX3ZhbDoKIAkud29yZCAweEZGRkYzRkZDCi10aW1lcl8zMmtzeW5jdF9jcjoKLQkud29yZCBUSU1FUl8zMktTWU5DVF9DUl9WCi1FTlRSWShzcmFtX2Rkcl9pbml0X3N6KQotCS53b3JkCS4gLSBzcmFtX2Rkcl9pbml0CitvbWFwMjQzeF9zZGlfdGltZXJfMzJrc3luY3RfY3I6CisJLndvcmQgSU9fQUREUkVTUyhPTUFQMl8zMktTWU5DVF9CQVNFICsgMHgwMTApCitFTlRSWShvbWFwMjQzeF9zcmFtX2Rkcl9pbml0X3N6KQorCS53b3JkCS4gLSBvbWFwMjQzeF9zcmFtX2Rkcl9pbml0CiAKIC8qCiAgKiBSZXByb2dyYW1zIG1lbW9yeSB0aW1pbmdzLgogICogcjAgPSBbUFJDTV9GVUxMIHwgUFJDTV9IQUxGXSByMSA9IFNEUkNfRExMQV9DVFJMIHZhbHVlIHIyID0gW0REUiB8IFNEUl0KICAqIFBSQ01fRlVMTCA9IDIsIFBSQ01fSEFMRiA9IDEsIEREUiA9IDEsIFNEUiA9IDAKICAqLwotRU5UUlkoc3JhbV9yZXByb2dyYW1fc2RyYykKK0VOVFJZKG9tYXAyNDN4X3NyYW1fcmVwcm9ncmFtX3NkcmMpCiAJc3RtZmQJc3AhLCB7cjAgLSByMTAsIGxyfQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAJbW92CXIzLCAjMHgwCQlAIGNsZWFyIGZvciBtcmMgY2FsbAogCW1jcglwMTUsIDAsIHIzLCBjNywgYzEwLCA0CUAgbWVtb3J5IGJhcnJpZXIsIGZpbmlzaCBBUk0gU0RSL0REUgogCW5vcAogCW5vcAotCWxkcglyNiwgZGRyX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZworCWxkcglyNiwgb21hcDI0M3hfc3JzX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZwogCWxkcglyNSwgW3I2XQkJQCBnZXQgdmFsdWUKIAltb3YJcjUsIHI1LCBsc3IgIzgJCUAgaXNvbGF0ZSByZnIgZmllbGQgYW5kIGRyb3AgYnVyc3QKIApAQCAtMTYwLDcgKzE1Nyw3IEBACiAJbW92bmUJcjUsIHI1LCBsc2wgIzEJCUAgbXVsdCBieSAyIGlmIHRvIGZ1bGwKIAltb3YJcjUsIHI1LCBsc2wgIzgJCUAgcHV0IHJmciBmaWVsZCBiYWNrIGludG8gcGxhY2UKIAlhZGQJcjUsIHI1LCAjMHgxCQlAIHR1cm4gb24gYnVyc3Qgb2YgMQotCWxkcglyNCwgZGRyX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZworCWxkcglyNCwgb21hcDI0M3hfc3JzX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZwogCWxkcglyMywgW3I0XQkJQCBnZXQgY3VyciB2YWx1ZQogCW9ycglyMywgcjMsICMweDMKIAliaWMJcjMsIHIzLCAjMHgzCQlAIGNsZWFyIGxvd2VyIGJpdHMKQEAgLTE4MSw3ICsxNzgsNyBAQAogCWJuZQlmcmVxX291dAkJQCBsZWF2ZSBpZiBTRFIsIG5vIERMTCBmdW5jdGlvbgogCiAJLyogV2l0aCBERFIsIHdlIG5lZWQgdG8gdGFrZSBjYXJlIG9mIHRoZSBETEwgZm9yIHRoZSBmcmVxdWVuY3kgY2hhbmdlICovCi0JbGRyCXIyLCBkZHJfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAorCWxkcglyMiwgb21hcDI0M3hfc3JzX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKIAlzdHIJcjEsIFtyMl0JCUAgd3JpdGUgb3V0IG5ldyBTRFJDX0RMTEFfQ1RSTAogCWFkZAlyMiwgcjIsICMweDgJCUAgYWRkciB0byBTRFJDX0RMTEJfQ1RSTAogCXN0cglyMSwgW3IyXQkJQCBjb21taXQgdG8gU0RSQ19ETExCX0NUUkwKQEAgLTE5Nyw3ICsxOTQsNyBAQAogICAgICAqCXdhaXQgZm9yIGl0IHRvIGZpbmlzaCwgdXNlIDMyayBzeW5jIGNvdW50ZXIsIDF0aWNrPTMxdVMuCiAgICAgICovCiB2b2x0YWdlX3NoaWZ0X2M6Ci0JbGRyCXIxMCwgZGRyX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwKKwlsZHIJcjEwLCBvbWFwMjQzeF9zcnNfcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybAogCWxkcglyOCwgW3IxMF0JCUAgZ2V0IHZhbHVlCiAJbGRyCXI3LCBkZHJfcHJjbV9tYXNrX3ZhbAlAIGdldCB2YWx1ZSBvZiBtYXNrCiAJYW5kCXI4LCByOCwgcjcJCUAgYXBwbHkgbWFzayB0byBjbGVhciBiaXRzCkBAIC0yMDcsNyArMjA0LDcgQEAKIAlvcnIJcjgsIHI4LCByNwkJQCBidWlsZCB2YWx1ZSBmb3IgZm9yY2UKIAlzdHIJcjgsIFtyMTBdCQlAIEZvcmNlIHRyYW5zaXRpb24gdG8gTDEKIAotCWxkcglyMTAsIGRkcl90aW1lcl8zMmtzeW5jdAlAIGdldCBhZGRyIG9mIGNvdW50ZXIKKwlsZHIJcjEwLCBvbWFwMjQzeF9zcnNfdGltZXJfMzJrc3luY3QJQCBnZXQgYWRkciBvZiBjb3VudGVyCiAJbGRyCXI4LCBbcjEwXQkJQCBnZXQgdmFsdWUKIAlhZGQJcjgsIHI4LCAjMHgyCQlAIGdpdmUgaXQgYXQgbW9zdCA2MnVTIChtaW4gMzErKQogdm9sdF9kZWxheV9jOgpAQCAtMjE2LDM5ICsyMTMsMzkgQEAKIAliaGkJdm9sdF9kZWxheV9jCQlAIG5vdCB5ZXQtPmJyYW5jaAogCW1vdglwYywgbHIJCQlAIGJhY2sgdG8gY2FsbGVyCiAKLWRkcl9jbV9jbGtzZWwyX3BsbDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCi1kZHJfc2RyY19kbGxhX2N0cmw6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQotZGRyX3NkcmNfcmZyX2N0cmw6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfUkZSX0NUUkxfMCkKLWRkcl9wcmNtX3ZvbHRjdHJsOgotCS53b3JkIE9NQVAyNDIwX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4NTApCitvbWFwMjQzeF9zcnNfY21fY2xrc2VsMl9wbGw6CisJLndvcmQgT01BUDI0MzBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKQorb21hcDI0M3hfc3JzX3NkcmNfZGxsYV9jdHJsOgorCS53b3JkIE9NQVAyNDNYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKK29tYXAyNDN4X3Nyc19zZHJjX3Jmcl9jdHJsOgorCS53b3JkIE9NQVAyNDNYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCitvbWFwMjQzeF9zcnNfcHJjbV92b2x0Y3RybDoKKwkud29yZCBPTUFQMjQzWF9QUkNNX1ZPTFRDVFJMCiBkZHJfcHJjbV9tYXNrX3ZhbDoKIAkud29yZCAweEZGRkYzRkZDCi1kZHJfdGltZXJfMzJrc3luY3Q6Ci0JLndvcmQgVElNRVJfMzJLU1lOQ1RfQ1JfVgorb21hcDI0M3hfc3JzX3RpbWVyXzMya3N5bmN0OgorCS53b3JkIElPX0FERFJFU1MoT01BUDJfMzJLU1lOQ1RfQkFTRSArIDB4MDEwKQogCi1FTlRSWShzcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KQotCS53b3JkCS4gLSBzcmFtX3JlcHJvZ3JhbV9zZHJjCitFTlRSWShvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KQorCS53b3JkCS4gLSBvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjCiAKIC8qCiAgKiBTZXQgZGl2aWRlcnMgYW5kIHBsbC4gQWxzbyByZWNhbGN1bGF0ZSBETEwgdmFsdWUgZm9yIEREUiBhbmQgdW5sb2NrIG1vZGUuCiAgKi8KLUVOVFJZKHNyYW1fc2V0X3ByY20pCitFTlRSWShvbWFwMjQzeF9zcmFtX3NldF9wcmNtKQogCXN0bWZkCXNwISwge3IwLXIxMiwgbHJ9CUAgcmVncyB0byBzdGFjawogCWFkcglyNCwgcGJlZ2luCQlAIGFkZHIgb2YgcHJlbG9hZCBzdGFydAogCWFkcglyOCwgcGVuZAkJQCBhZGRyIG9mIHByZWxvYWQgZW5kCiAJbWNycglwMTUsIDEsIHI4LCByNCwgYzEyCUAgcHJlbG9hZCBpbnRvIGljYWNoZQogcGJlZ2luOgogCS8qIG1vdmUgaW50byBmYXN0IHJlbG9jayBieXBhc3MgKi8KLQlsZHIJcjgsIHBsbF9jdGwJCUAgZ2V0IGFkZHIKKwlsZHIJcjgsIG9tYXAyNDN4X3NzcF9wbGxfY3RsCUAgZ2V0IGFkZHIKIAlsZHIJcjUsIFtyOF0JCUAgZ2V0IHZhbAogCW12bglyNiwgIzB4MwkJQCBjbGVhciBtYXNrCiAJYW5kCXI1LCByNSwgcjYJCUAgY2xlYXIgZmllbGQKIAlvcnIJcjcsIHI1LCAjMHgyCQlAIGZhc3QgcmVsb2NrIHZhbAogCXN0cglyNywgW3I4XQkJQCBnbyB0byBmYXN0IHJlbG9jawotCWxkcglyNCwgcGxsX3N0YXQJCUAgYWRkciBvZiBzdGF0CisJbGRyCXI0LCBvbWFwMjQzeF9zc3BfcGxsX3N0YXQJQCBhZGRyIG9mIHN0YXQKIGJsb2NrOgogCS8qIHdhaXQgZm9yIGJ5cGFzcyAqLwogCWxkcglyOCwgW3I0XQkJQCBzdGF0IHZhbHVlCkBAIC0yNTcsMTAgKzI1NCwxMCBAQAogCWJuZQlibG9jawkJCUAgbG9vcCBpZiBub3QKIAogCS8qIHNldCBuZXcgZHBsbCBkaXZpZGVycyBfYWZ0ZXJfIGluIGJ5cGFzcyAqLwotCWxkcglyNCwgcGxsX2RpdgkJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0M3hfc3NwX3BsbF9kaXYJQCBnZXQgYWRkcgogCXN0cglyMCwgW3I0XQkJQCBzZXQgZHBsbCBjdHJsIHZhbAogCi0JbGRyCXI0LCBzZXRfY29uZmlnCQlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQzeF9zc3Bfc2V0X2NvbmZpZwlAIGdldCBhZGRyCiAJbW92CXI4LCAjMQkJCUAgdmFsaWQgY2ZnIG1zawogCXN0cglyOCwgW3I0XQkJQCBtYWtlIGRpdmlkZXJzIHRha2UKIApAQCAtMjc0LDggKzI3MSw4IEBACiAJYmVxCXBlbmQJCQlAIGp1bXAgb3ZlciBkcGxsIHJlbG9jawogCiAJLyogcmVsb2NrIERQTEwgd2l0aCBuZXcgdmFscyAqLwotCWxkcglyNSwgcGxsX3N0YXQJCUAgZ2V0IGFkZHIKLQlsZHIJcjQsIHBsbF9jdGwJCUAgZ2V0IGFkZHIKKwlsZHIJcjUsIG9tYXAyNDN4X3NzcF9wbGxfc3RhdAlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQzeF9zc3BfcGxsX2N0bAlAIGdldCBhZGRyCiAJb3JyCXI4LCByNywgIzB4MwkJQCB2YWwgZm9yIGxvY2sgZHBsbAogCXN0cglyOCwgW3I0XQkJQCBzZXQgdmFsCiAJbW92CXIwLCAjMTAwMAkJQCBkZWFkIHNwaW4gYSBiaXQKQEAgLTI4OSw5ICsyODYsOSBAQAogCWJuZQl3YWl0X2xvY2sJCUAgd2FpdCBpZiBub3QKIHBlbmQ6CiAJLyogdXBkYXRlIG1lbW9yeSB0aW1pbmdzICYgYnJpZWZseSBsb2NrIGRsbCAqLwotCWxkcglyNCwgc2RyY19yZnIJCUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDN4X3NzcF9zZHJjX3JmcglAIGdldCBhZGRyCiAJc3RyCXIxLCBbcjRdCQlAIHVwZGF0ZSByZWZyZXNoIHRpbWluZwotCWxkcglyMTEsIGRsbGFfY3RybAkJQCBnZXQgYWRkciBvZiBETExBIGN0cmwKKwlsZHIJcjExLCBvbWFwMjQzeF9zc3BfZGxsYV9jdHJsCUAgZ2V0IGFkZHIgb2YgRExMQSBjdHJsCiAJbGRyCXIxMCwgW3IxMV0JCUAgZ2V0IGN1cnJlbnQgdmFsCiAJbXZuCXI5LCAjMHg0CQlAIG1hc2sgdG8gZ2V0IGNsZWFyIGJpdDIKIAlhbmQJcjEwLCByMTAsIHI5CQlAIGNsZWFyIGJpdDIgZm9yIGxvY2sgbW9kZQpAQCAtMzA3LDE4ICszMDQsMTggQEAKIAlub3AKIAlsZG1mZAlzcCEsIHtyMC1yMTIsIHBjfQlAIHJlc3RvcmUgcmVncyBhbmQgcmV0dXJuCiAKLXNldF9jb25maWc6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg4MCkKLXBsbF9jdGw6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9GQ0xLRU4xKQotcGxsX3N0YXQ6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QxKQotcGxsX2RpdjoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTCkKLXNkcmNfcmZyOgotCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCi1kbGxhX2N0cmw6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQorb21hcDI0M3hfc3NwX3NldF9jb25maWc6CisJLndvcmQgT01BUDI0M1hfUFJDTV9DTEtDRkdfQ1RSTAorb21hcDI0M3hfc3NwX3BsbF9jdGw6CisJLndvcmQgT01BUDI0MzBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtFTikKK29tYXAyNDN4X3NzcF9wbGxfc3RhdDoKKwkud29yZCBPTUFQMjQzMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCkKK29tYXAyNDN4X3NzcF9wbGxfZGl2OgorCS53b3JkIE9NQVAyNDMwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMSkKK29tYXAyNDN4X3NzcF9zZHJjX3JmcjoKKwkud29yZCBPTUFQMjQzWF9TRFJDX1JFR0FERFIoU0RSQ19SRlJfQ1RSTF8wKQorb21hcDI0M3hfc3NwX2RsbGFfY3RybDoKKwkud29yZCBPTUFQMjQzWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCiAKLUVOVFJZKHNyYW1fc2V0X3ByY21fc3opCi0JLndvcmQJLiAtIHNyYW1fc2V0X3ByY20KK0VOVFJZKG9tYXAyNDN4X3NyYW1fc2V0X3ByY21fc3opCisJLndvcmQJLiAtIG9tYXAyNDN4X3NyYW1fc2V0X3ByY20KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvdGltZXItZ3AuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvdGltZXItZ3AuYwppbmRleCA3OGQwNWYyLi41NTc2MDNmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3RpbWVyLWdwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi90aW1lci1ncC5jCkBAIC01OSw4ICs1OSw3IEBACiBzdGF0aWMgaW50IG9tYXAyX2dwX3RpbWVyX3NldF9uZXh0X2V2ZW50KHVuc2lnbmVkIGxvbmcgY3ljbGVzLAogCQkJCQkgc3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSAqZXZ0KQogewotCW9tYXBfZG1fdGltZXJfc2V0X2xvYWQoZ3B0aW1lciwgMCwgMHhmZmZmZmZmZiAtIGN5Y2xlcyk7Ci0Jb21hcF9kbV90aW1lcl9zdGFydChncHRpbWVyKTsKKwlvbWFwX2RtX3RpbWVyX3NldF9sb2FkX3N0YXJ0KGdwdGltZXIsIDAsIDB4ZmZmZmZmZmYgLSBjeWNsZXMpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC03Nyw4ICs3Niw3IEBACiAJCXBlcmlvZCA9IGNsa19nZXRfcmF0ZShvbWFwX2RtX3RpbWVyX2dldF9mY2xrKGdwdGltZXIpKSAvIEhaOwogCQlwZXJpb2QgLT0gMTsKIAotCQlvbWFwX2RtX3RpbWVyX3NldF9sb2FkKGdwdGltZXIsIDEsIDB4ZmZmZmZmZmYgLSBwZXJpb2QpOwotCQlvbWFwX2RtX3RpbWVyX3N0YXJ0KGdwdGltZXIpOworCQlvbWFwX2RtX3RpbWVyX3NldF9sb2FkX3N0YXJ0KGdwdGltZXIsIDEsIDB4ZmZmZmZmZmYgLSBwZXJpb2QpOwogCQlicmVhazsKIAljYXNlIENMT0NLX0VWVF9NT0RFX09ORVNIT1Q6CiAJCWJyZWFrOwpAQCAtMTcyLDggKzE3MCw3IEBACiAJdGlja19yYXRlID0gY2xrX2dldF9yYXRlKG9tYXBfZG1fdGltZXJfZ2V0X2ZjbGsoZ3B0KSk7CiAJdGlja19wZXJpb2QgPSAodGlja19yYXRlIC8gSFopIC0gMTsKIAotCW9tYXBfZG1fdGltZXJfc2V0X2xvYWQoZ3B0LCAxLCAwKTsKLQlvbWFwX2RtX3RpbWVyX3N0YXJ0KGdwdCk7CisJb21hcF9kbV90aW1lcl9zZXRfbG9hZF9zdGFydChncHQsIDEsIDApOwogCiAJY2xvY2tzb3VyY2VfZ3B0Lm11bHQgPQogCQljbG9ja3NvdXJjZV9raHoybXVsdCh0aWNrX3JhdGUvMTAwMCwgY2xvY2tzb3VyY2VfZ3B0LnNoaWZ0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L0tjb25maWcKaW5kZXggOTNkZWJmMy4uZGRjZDQxYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L0tjb25maWcKQEAgLTQ0LDYgKzQ0LDU0IEBACiAJICBCdWZmYWxvIExpbmtzdGF0aW9uIFByby9MaXZlIHBsYXRmb3JtLiBCb3RoIHYxIGFuZAogCSAgdjIgZGV2aWNlcyBhcmUgc3VwcG9ydGVkLgogCitjb25maWcgTUFDSF9UUzQwOQorCWJvb2wgIlFOQVAgVFMtNDA5IgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgUU5BUCBUUy00MDkgcGxhdGZvcm0uCisKK2NvbmZpZyBNQUNIX1dSVDM1ME5fVjIKKwlib29sICJMaW5rc3lzIFdSVDM1ME4gdjIiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBMaW5rc3lzIFdSVDM1ME4gdjIgcGxhdGZvcm0uCisKK2NvbmZpZyBNQUNIX1RTNzhYWAorCWJvb2wgIlRlY2hub2xvZ2ljIFN5c3RlbXMgVFMtNzh4eCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIFRlY2hub2xvZ2ljIFN5c3RlbXMgVFMtNzh4eCBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfTVYyMTIwCisJYm9vbCAiSFAgTWVkaWEgVmF1bHQgbXYyMTIwIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgSFAgTWVkaWEgVmF1bHQgbXYyMTIwIG9yIG12NTEwMC4KKworY29uZmlnIE1BQ0hfTVNTMgorCWJvb2wgIk1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfV05SODU0VAorCWJvb2wgIk5ldGdlYXIgV05SODU0VCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE5ldGdlYXIgV05SODU0VCBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfUkQ4OEY1MTgxTF9HRQorCWJvb2wgIk1hcnZlbGwgT3Jpb24tVm9JUCBHRSBSZWZlcmVuY2UgRGVzaWduIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBPcmlvbi1Wb0lQIEdFICg4OEY1MTgxTCkgUkQuCisKK2NvbmZpZyBNQUNIX1JEODhGNTE4MUxfRlhPCisJYm9vbCAiTWFydmVsbCBPcmlvbi1Wb0lQIEZYTyBSZWZlcmVuY2UgRGVzaWduIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBPcmlvbi1Wb0lQIEZYTyAoODhGNTE4MUwpIFJELgorCiBlbmRtZW51CiAKIGVuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvTWFrZWZpbGUKaW5kZXggOTMwMWJmNS4uZmNjNDhhOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9NYWtlZmlsZQpAQCAtMSw3ICsxLDE1IEBACi1vYmoteQkJCQkrPSBjb21tb24ubyBhZGRyLW1hcC5vIHBjaS5vIGdwaW8ubyBpcnEubworb2JqLXkJCQkJKz0gY29tbW9uLm8gYWRkci1tYXAubyBwY2kubyBncGlvLm8gaXJxLm8gbXBwLm8KIG9iai0kKENPTkZJR19NQUNIX0RCODhGNTI4MSkJKz0gZGI4OGY1MjgxLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX1JEODhGNTE4MikJKz0gcmQ4OGY1MTgyLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX0tVUk9CT1hfUFJPKQkrPSBrdXJvYm94X3Byby1zZXR1cC5vCiBvYmotJChDT05GSUdfTUFDSF9MSU5LU1RBVElPTl9QUk8pICs9IGt1cm9ib3hfcHJvLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX0ROUzMyMykJKz0gZG5zMzIzLXNldHVwLm8KLW9iai0kKENPTkZJR19NQUNIX1RTMjA5KQkrPSB0czIwOS1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9UUzIwOSkJKz0gdHMyMDktc2V0dXAubyB0c3gwOS1jb21tb24ubworb2JqLSQoQ09ORklHX01BQ0hfVFM0MDkpCSs9IHRzNDA5LXNldHVwLm8gdHN4MDktY29tbW9uLm8KK29iai0kKENPTkZJR19NQUNIX1dSVDM1ME5fVjIpCSs9IHdydDM1MG4tdjItc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfVFM3OFhYKQkrPSB0czc4eHgtc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfTVYyMTIwKQkrPSBtdjIxMjAtc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfTVNTMikJCSs9IG1zczItc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfV05SODU0VCkJKz0gd25yODU0dC1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9SRDg4RjUxODFMX0dFKQkrPSByZDg4ZjUxODFsLWdlLXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX1JEODhGNTE4MUxfRlhPKQkrPSByZDg4ZjUxODFsLWZ4by1zZXR1cC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvYWRkci1tYXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9hZGRyLW1hcC5jCmluZGV4IGU2M2ZiMDUuLjZmMGRiZGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9hZGRyLW1hcC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9hZGRyLW1hcC5jCkBAIC03MCw2ICs3MCw3IEBACiAKIAogc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBvcmlvbjV4X21idXNfZHJhbV9pbmZvOworc3RhdGljIGludCBfX2luaXRkYXRhIHdpbl9hbGxvY19jb3VudDsKIAogc3RhdGljIGludCBfX2luaXQgb3Jpb241eF9jcHVfd2luX2Nhbl9yZW1hcChpbnQgd2luKQogewpAQCAtODcsMTYgKzg4LDIyIEBACiBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfY3B1X3dpbihpbnQgd2luLCB1MzIgYmFzZSwgdTMyIHNpemUsCiAJCQkJIHU4IHRhcmdldCwgdTggYXR0ciwgaW50IHJlbWFwKQogewotCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9CQVNFKHdpbiksIGJhc2UgJiAweGZmZmYwMDAwKTsKLQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fQ1RSTCh3aW4pLAotCQkoKHNpemUgLSAxKSAmIDB4ZmZmZjAwMDApIHwgKGF0dHIgPDwgOCkgfCAodGFyZ2V0IDw8IDQpIHwgMSk7CisJaWYgKHdpbiA+PSA4KSB7CisJCXByaW50ayhLRVJOX0VSUiAic2V0dXBfY3B1X3dpbjogdHJ5aW5nIHRvIGFsbG9jYXRlICIKKwkJCQkid2luZG93ICVkXG4iLCB3aW4pOworCQlyZXR1cm47CisJfQorCisJd3JpdGVsKGJhc2UgJiAweGZmZmYwMDAwLCBDUFVfV0lOX0JBU0Uod2luKSk7CisJd3JpdGVsKCgoc2l6ZSAtIDEpICYgMHhmZmZmMDAwMCkgfCAoYXR0ciA8PCA4KSB8ICh0YXJnZXQgPDwgNCkgfCAxLAorCQlDUFVfV0lOX0NUUkwod2luKSk7CiAKIAlpZiAob3Jpb241eF9jcHVfd2luX2Nhbl9yZW1hcCh3aW4pKSB7CiAJCWlmIChyZW1hcCA8IDApCiAJCQlyZW1hcCA9IGJhc2U7CiAKLQkJb3Jpb241eF93cml0ZShDUFVfV0lOX1JFTUFQX0xPKHdpbiksIHJlbWFwICYgMHhmZmZmMDAwMCk7Ci0JCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9SRU1BUF9ISSh3aW4pLCAwKTsKKwkJd3JpdGVsKHJlbWFwICYgMHhmZmZmMDAwMCwgQ1BVX1dJTl9SRU1BUF9MTyh3aW4pKTsKKwkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfSEkod2luKSk7CiAJfQogfQogCkBAIC0xMDksMTEgKzExNiwxMSBAQAogCSAqIEZpcnN0LCBkaXNhYmxlIGFuZCBjbGVhciB3aW5kb3dzLgogCSAqLwogCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKLQkJb3Jpb241eF93cml0ZShDUFVfV0lOX0JBU0UoaSksIDApOwotCQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fQ1RSTChpKSwgMCk7CisJCXdyaXRlbCgwLCBDUFVfV0lOX0JBU0UoaSkpOworCQl3cml0ZWwoMCwgQ1BVX1dJTl9DVFJMKGkpKTsKIAkJaWYgKG9yaW9uNXhfY3B1X3dpbl9jYW5fcmVtYXAoaSkpIHsKLQkJCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9SRU1BUF9MTyhpKSwgMCk7Ci0JCQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fUkVNQVBfSEkoaSksIDApOworCQkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfTE8oaSkpOworCQkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfSEkoaSkpOwogCQl9CiAJfQogCkBAIC0xMjgsNiArMTM1LDcgQEAKIAkJVEFSR0VUX1BDSUUsIEFUVFJfUENJRV9NRU0sIC0xKTsKIAlzZXR1cF9jcHVfd2luKDMsIE9SSU9ONVhfUENJX01FTV9QSFlTX0JBU0UsIE9SSU9ONVhfUENJX01FTV9TSVpFLAogCQlUQVJHRVRfUENJLCBBVFRSX1BDSV9NRU0sIC0xKTsKKwl3aW5fYWxsb2NfY291bnQgPSA0OwogCiAJLyoKIAkgKiBTZXR1cCBNQlVTIGRyYW0gdGFyZ2V0IGluZm8uCkBAIC0xNDcsOCArMTU1LDggQEAKIAkJCXcgPSAmb3Jpb241eF9tYnVzX2RyYW1faW5mby5jc1tjcysrXTsKIAkJCXctPmNzX2luZGV4ID0gaTsKIAkJCXctPm1idXNfYXR0ciA9IDB4ZiAmIH4oMSA8PCBpKTsKLQkJCXctPmJhc2UgPSBiYXNlICYgMHhmZjAwMDAwMDsKLQkJCXctPnNpemUgPSAoc2l6ZSB8IDB4MDBmZmZmZmYpICsgMTsKKwkJCXctPmJhc2UgPSBiYXNlICYgMHhmZmZmMDAwMDsKKwkJCXctPnNpemUgPSAoc2l6ZSB8IDB4MDAwMGZmZmYpICsgMTsKIAkJfQogCX0KIAlvcmlvbjV4X21idXNfZHJhbV9pbmZvLm51bV9jcyA9IGNzOwpAQCAtMTU2LDI1ICsxNjQsMzAgQEAKIAogdm9pZCBfX2luaXQgb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4odTMyIGJhc2UsIHUzMiBzaXplKQogewotCXNldHVwX2NwdV93aW4oNCwgYmFzZSwgc2l6ZSwgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0JPT1QsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQk9PVCwgLTEpOwogfQogCiB2b2lkIF9faW5pdCBvcmlvbjV4X3NldHVwX2RldjBfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKIHsKLQlzZXR1cF9jcHVfd2luKDUsIGJhc2UsIHNpemUsIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9DUzAsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQ1MwLCAtMSk7CiB9CiAKIHZvaWQgX19pbml0IG9yaW9uNXhfc2V0dXBfZGV2MV93aW4odTMyIGJhc2UsIHUzMiBzaXplKQogewotCXNldHVwX2NwdV93aW4oNiwgYmFzZSwgc2l6ZSwgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0NTMSwgLTEpOworCXNldHVwX2NwdV93aW4od2luX2FsbG9jX2NvdW50KyssIGJhc2UsIHNpemUsCisJCSAgICAgIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9DUzEsIC0xKTsKIH0KIAogdm9pZCBfX2luaXQgb3Jpb241eF9zZXR1cF9kZXYyX3dpbih1MzIgYmFzZSwgdTMyIHNpemUpCiB7Ci0Jc2V0dXBfY3B1X3dpbig3LCBiYXNlLCBzaXplLCBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQ1MyLCAtMSk7CisJc2V0dXBfY3B1X3dpbih3aW5fYWxsb2NfY291bnQrKywgYmFzZSwgc2l6ZSwKKwkJICAgICAgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0NTMiwgLTEpOwogfQogCiB2b2lkIF9faW5pdCBvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKIHsKLQlzZXR1cF9jcHVfd2luKDcsIGJhc2UsIHNpemUsIFRBUkdFVF9QQ0lFLCBBVFRSX1BDSUVfV0EsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfUENJRSwgQVRUUl9QQ0lFX1dBLCAtMSk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmMKaW5kZXggNGYxM2ZkMC4uZmFmNGUzMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uYwpAQCAtMzksMjUgKzM5LDIyIEBACiAJCS52aXJ0dWFsCT0gT1JJT041WF9SRUdTX1ZJUlRfQkFTRSwKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE9SSU9ONVhfUkVHU19QSFlTX0JBU0UpLAogCQkubGVuZ3RoCQk9IE9SSU9ONVhfUkVHU19TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UKLQl9LAotCXsKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sIHsKIAkJLnZpcnR1YWwJPSBPUklPTjVYX1BDSUVfSU9fVklSVF9CQVNFLAogCQkucGZuCQk9IF9fcGh5c190b19wZm4oT1JJT041WF9QQ0lFX0lPX1BIWVNfQkFTRSksCiAJCS5sZW5ndGgJCT0gT1JJT041WF9QQ0lFX0lPX1NJWkUsCi0JCS50eXBlCQk9IE1UX0RFVklDRQotCX0sCi0JeworCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwgewogCQkudmlydHVhbAk9IE9SSU9ONVhfUENJX0lPX1ZJUlRfQkFTRSwKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE9SSU9ONVhfUENJX0lPX1BIWVNfQkFTRSksCiAJCS5sZW5ndGgJCT0gT1JJT041WF9QQ0lfSU9fU0laRSwKLQkJLnR5cGUJCT0gTVRfREVWSUNFCi0JfSwKLQl7CisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CiAJCS52aXJ0dWFsCT0gT1JJT041WF9QQ0lFX1dBX1ZJUlRfQkFTRSwKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE9SSU9ONVhfUENJRV9XQV9QSFlTX0JBU0UpLAogCQkubGVuZ3RoCQk9IE9SSU9ONVhfUENJRV9XQV9TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAogCX0sCiB9OwogCkBAIC02NiwxMDEgKzYzLDMyIEBACiAJaW90YWJsZV9pbml0KG9yaW9uNXhfaW9fZGVzYywgQVJSQVlfU0laRShvcmlvbjV4X2lvX2Rlc2MpKTsKIH0KIAorCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIFVBUlQKKyAqIEVIQ0kKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfdWFydF9yZXNvdXJjZXNbXSA9IHsKLQl7Ci0JCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCi0JCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKLQkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JewotCQkuc3RhcnQJCT0gSVJRX09SSU9ONVhfVUFSVDAsCi0JCS5lbmQJCT0gSVJRX09SSU9ONVhfVUFSVDAsCi0JCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKLQl9LAotCXsKLQkJLnN0YXJ0CQk9IFVBUlQxX1BIWVNfQkFTRSwKLQkJLmVuZAkJPSBVQVJUMV9QSFlTX0JBU0UgKyAweGZmLAotCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQl7Ci0JCS5zdGFydAkJPSBJUlFfT1JJT041WF9VQVJUMSwKLQkJLmVuZAkJPSBJUlFfT1JJT041WF9VQVJUMSwKLQkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi19OwotCi1zdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IG9yaW9uNXhfdWFydF9kYXRhW10gPSB7Ci0JewotCQkubWFwYmFzZQk9IFVBUlQwX1BIWVNfQkFTRSwKLQkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQwX1ZJUlRfQkFTRSwKLQkJLmlycQkJPSBJUlFfT1JJT041WF9VQVJUMCwKLQkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKLQkJLmlvdHlwZQkJPSBVUElPX01FTSwKLQkJLnJlZ3NoaWZ0CT0gMiwKLQkJLnVhcnRjbGsJPSBPUklPTjVYX1RDTEssCi0JfSwKLQl7Ci0JCS5tYXBiYXNlCT0gVUFSVDFfUEhZU19CQVNFLAotCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDFfVklSVF9CQVNFLAotCQkuaXJxCQk9IElSUV9PUklPTjVYX1VBUlQxLAotCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAotCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkucmVnc2hpZnQJPSAyLAotCQkudWFydGNsawk9IE9SSU9ONVhfVENMSywKLQl9LAotCXsgfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfdWFydCA9IHsKLQkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAotCS5pZAkJCT0gUExBVDgyNTBfREVWX1BMQVRGT1JNLAotCS5kZXYJCQk9IHsKLQkJLnBsYXRmb3JtX2RhdGEJPSBvcmlvbjV4X3VhcnRfZGF0YSwKLQl9LAotCS5yZXNvdXJjZQkJPSBvcmlvbjV4X3VhcnRfcmVzb3VyY2VzLAotCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUob3Jpb241eF91YXJ0X3Jlc291cmNlcyksCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogVVNCIENvbnRyb2xsZXIgLSAyIGludGVyZmFjZXMKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF9laGNpMF9yZXNvdXJjZXNbXSA9IHsKLQl7Ci0JCS5zdGFydAk9IE9SSU9ONVhfVVNCMF9QSFlTX0JBU0UsCi0JCS5lbmQJPSBPUklPTjVYX1VTQjBfUEhZU19CQVNFICsgU1pfNEsgLSAxLAotCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCXsKLQkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAotCQkuZW5kCT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAotCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKLQl9LAotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X2VoY2kxX3Jlc291cmNlc1tdID0gewotCXsKLQkJLnN0YXJ0CT0gT1JJT041WF9VU0IxX1BIWVNfQkFTRSwKLQkJLmVuZAk9IE9SSU9ONVhfVVNCMV9QSFlTX0JBU0UgKyBTWl80SyAtIDEsCi0JCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JewotCQkuc3RhcnQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCi0JCS5lbmQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCi0JCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi19OwotCiBzdGF0aWMgc3RydWN0IG9yaW9uX2VoY2lfZGF0YSBvcmlvbjV4X2VoY2lfZGF0YSA9IHsKIAkuZHJhbQkJPSAmb3Jpb241eF9tYnVzX2RyYW1faW5mbywKIH07CiAKIHN0YXRpYyB1NjQgZWhjaV9kbWFtYXNrID0gMHhmZmZmZmZmZlVMOwogCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSTAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X2VoY2kwX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gT1JJT041WF9VU0IwX1BIWVNfQkFTRSwKKwkJLmVuZAk9IE9SSU9ONVhfVVNCMF9QSFlTX0JBU0UgKyBTWl80SyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAorCQkuZW5kCT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugb3Jpb241eF9laGNpMCA9IHsKIAkubmFtZQkJPSAib3Jpb24tZWhjaSIsCiAJLmlkCQk9IDAsCkBAIC0xNzMsNiArMTAxLDI3IEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG9yaW9uNXhfZWhjaTBfcmVzb3VyY2VzKSwKIH07CiAKK3ZvaWQgX19pbml0IG9yaW9uNXhfZWhjaTBfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9laGNpMCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfZWhjaTFfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBPUklPTjVYX1VTQjFfUEhZU19CQVNFLAorCQkuZW5kCT0gT1JJT041WF9VU0IxX1BIWVNfQkFTRSArIFNaXzRLIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCisJCS5lbmQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X2VoY2kxID0gewogCS5uYW1lCQk9ICJvcmlvbi1laGNpIiwKIAkuaWQJCT0gMSwKQEAgLTE4NSwxMSArMTM0LDE1IEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG9yaW9uNXhfZWhjaTFfcmVzb3VyY2VzKSwKIH07CiAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogR2lnYWJpdCBFdGhlcm5ldCBwb3J0Ci0gKiAoVGhlIE9yaW9uIGFuZCBEaXNjb3ZlcnkgKE1WNjQzeHgpIGZhbWlsaWVzIHVzZSB0aGUgc2FtZSBFdGhlcm5ldCBkcml2ZXIpCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgX19pbml0IG9yaW9uNXhfZWhjaTFfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9laGNpMSk7Cit9CiAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHaWdFCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBvcmlvbjV4X2V0aF9zaGFyZWRfZGF0YSA9IHsKIAkuZHJhbQkJPSAmb3Jpb241eF9tYnVzX2RyYW1faW5mbywKIAkudF9jbGsJCT0gT1JJT041WF9UQ0xLLApAQCAtMjE5LDcgKzE3Miw3IEBACiAJCS5zdGFydAk9IElSUV9PUklPTjVYX0VUSF9TVU0sCiAJCS5lbmQJPSBJUlFfT1JJT041WF9FVEhfU1VNLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKLQl9CisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfZXRoID0gewpAQCAtMjM4LDExICsxOTEsMTAgQEAKIAlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfZXRoKTsKIH0KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBJMkMgY29udHJvbGxlcgotICogKFRoZSBPcmlvbiBhbmQgRGlzY292ZXJ5IChNVjY0M3h4KSBmYW1pbGllcyBzaGFyZSB0aGUgc2FtZSBJMkMgY29udHJvbGxlcikKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEkyQworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12NjR4eHhfaTJjX3BkYXRhIG9yaW9uNXhfaTJjX3BkYXRhID0gewogCS5mcmVxX20JCT0gOCwgLyogYXNzdW1lcyAxNjYgTUh6IFRDTEsgKi8KIAkuZnJlcV9uCQk9IDMsCkBAIC0yNTEsMTYgKzIwMywxNSBAQAogCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfaTJjX3Jlc291cmNlc1tdID0gewogCXsKLQkJLm5hbWUgICA9ICJpMmMgYmFzZSIsCi0JCS5zdGFydCAgPSBJMkNfUEhZU19CQVNFLAotCQkuZW5kICAgID0gSTJDX1BIWVNfQkFTRSArIDB4MjAgLTEsCi0JCS5mbGFncyAgPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCXsKLQkJLm5hbWUgICA9ICJpMmMgaXJxIiwKLQkJLnN0YXJ0ICA9IElSUV9PUklPTjVYX0kyQywKLQkJLmVuZCAgICA9IElSUV9PUklPTjVYX0kyQywKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfSVJRLAorCQkubmFtZQk9ICJpMmMgYmFzZSIsCisJCS5zdGFydAk9IEkyQ19QSFlTX0JBU0UsCisJCS5lbmQJPSBJMkNfUEhZU19CQVNFICsgMHgxZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkubmFtZQk9ICJpMmMgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfSTJDLAorCQkuZW5kCT0gSVJRX09SSU9ONVhfSTJDLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKIAl9LAogfTsKIApAQCAtMjcwLDM2ICsyMjEsNDEgQEAKIAkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUob3Jpb241eF9pMmNfcmVzb3VyY2VzKSwKIAkucmVzb3VyY2UJPSBvcmlvbjV4X2kyY19yZXNvdXJjZXMsCiAJLmRldgkJPSB7Ci0JCS5wbGF0Zm9ybV9kYXRhID0gJm9yaW9uNXhfaTJjX3BkYXRhLAorCQkucGxhdGZvcm1fZGF0YQk9ICZvcmlvbjV4X2kyY19wZGF0YSwKIAl9LAogfTsKIAordm9pZCBfX2luaXQgb3Jpb241eF9pMmNfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9pMmMpOworfQorCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogU2F0YSBwb3J0CisgKiBTQVRBCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF9zYXRhX3Jlc291cmNlc1tdID0gewotICAgICAgICB7Ci0gICAgICAgICAgICAgICAgLm5hbWUgICA9ICJzYXRhIGJhc2UiLAotICAgICAgICAgICAgICAgIC5zdGFydCAgPSBPUklPTjVYX1NBVEFfUEhZU19CQVNFLAotICAgICAgICAgICAgICAgIC5lbmQgICAgPSBPUklPTjVYX1NBVEFfUEhZU19CQVNFICsgMHg1MDAwIC0gMSwKLSAgICAgICAgICAgICAgICAuZmxhZ3MgID0gSU9SRVNPVVJDRV9NRU0sCi0gICAgICAgIH0sCiAJewotICAgICAgICAgICAgICAgIC5uYW1lICAgPSAic2F0YSBpcnEiLAotICAgICAgICAgICAgICAgIC5zdGFydCAgPSBJUlFfT1JJT041WF9TQVRBLAotICAgICAgICAgICAgICAgIC5lbmQgICAgPSBJUlFfT1JJT041WF9TQVRBLAotICAgICAgICAgICAgICAgIC5mbGFncyAgPSBJT1JFU09VUkNFX0lSUSwKLSAgICAgICAgfSwKKwkJLm5hbWUJPSAic2F0YSBiYXNlIiwKKwkJLnN0YXJ0CT0gT1JJT041WF9TQVRBX1BIWVNfQkFTRSwKKwkJLmVuZAk9IE9SSU9ONVhfU0FUQV9QSFlTX0JBU0UgKyAweDUwMDAgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5uYW1lCT0gInNhdGEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfU0FUQSwKKwkJLmVuZAk9IElSUV9PUklPTjVYX1NBVEEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X3NhdGEgPSB7Ci0JLm5hbWUgICAgICAgICAgID0gInNhdGFfbXYiLAotCS5pZCAgICAgICAgICAgICA9IDAsCisJLm5hbWUJCT0gInNhdGFfbXYiLAorCS5pZAkJPSAwLAogCS5kZXYJCT0gewogCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAogCX0sCi0JLm51bV9yZXNvdXJjZXMgID0gQVJSQVlfU0laRShvcmlvbjV4X3NhdGFfcmVzb3VyY2VzKSwKLQkucmVzb3VyY2UgICAgICAgPSBvcmlvbjV4X3NhdGFfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShvcmlvbjV4X3NhdGFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UJPSBvcmlvbjV4X3NhdGFfcmVzb3VyY2VzLAogfTsKIAogdm9pZCBfX2luaXQgb3Jpb241eF9zYXRhX2luaXQoc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSAqc2F0YV9kYXRhKQpAQCAtMzA5LDIzICsyNjUsMTExIEBACiAJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X3NhdGEpOwogfQogCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBvcmlvbjV4X3VhcnQwX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDBfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDBfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9PUklPTjVYX1VBUlQwLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IE9SSU9ONVhfVENMSywKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF91YXJ0MF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9PUklPTjVYX1VBUlQwLAorCQkuZW5kCQk9IElSUV9PUklPTjVYX1VBUlQwLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfdWFydDAgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IFBMQVQ4MjUwX0RFVl9QTEFURk9STSwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gb3Jpb241eF91YXJ0MF9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IG9yaW9uNXhfdWFydDBfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUob3Jpb241eF91YXJ0MF9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgb3Jpb241eF91YXJ0MF9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X3VhcnQwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgb3Jpb241eF91YXJ0MV9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQxX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfT1JJT041WF9VQVJUMSwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBPUklPTjVYX1RDTEssCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfdWFydDFfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDFfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQxX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfT1JJT041WF9VQVJUMSwKKwkJLmVuZAkJPSBJUlFfT1JJT041WF9VQVJUMSwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X3VhcnQxID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSBQTEFUODI1MF9ERVZfUExBVEZPUk0xLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBvcmlvbjV4X3VhcnQxX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gb3Jpb241eF91YXJ0MV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShvcmlvbjV4X3VhcnQxX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBvcmlvbjV4X3VhcnQxX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfdWFydDEpOworfQorCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogVGltZSBoYW5kbGluZwogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KIHN0YXRpYyB2b2lkIG9yaW9uNXhfdGltZXJfaW5pdCh2b2lkKQogewogCW9yaW9uX3RpbWVfaW5pdChJUlFfT1JJT041WF9CUklER0UsIE9SSU9ONVhfVENMSyk7CiB9CiAKIHN0cnVjdCBzeXNfdGltZXIgb3Jpb241eF90aW1lciA9IHsKLSAgICAgICAgLmluaXQgPSBvcmlvbjV4X3RpbWVyX2luaXQsCisJLmluaXQgPSBvcmlvbjV4X3RpbWVyX2luaXQsCiB9OwogCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogR2VuZXJhbAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KIC8qCiAgKiBJZGVudGlmeSBkZXZpY2UgSUQgYW5kIHJldiBmcm9tIFBDSWUgY29uZmlndXJhdGlvbiBoZWFkZXIgc3BhY2UgJzAnLgogICovCkBAIC0zNTAsOCArMzk0LDEwIEBACiAJfSBlbHNlIGlmICgqZGV2ID09IE1WODhGNTE4MV9ERVZfSUQpIHsKIAkJaWYgKCpyZXYgPT0gTVY4OEY1MTgxX1JFVl9CMSkgewogCQkJKmRldl9uYW1lID0gIk1WODhGNTE4MS1SZXYtQjEiOworCQl9IGVsc2UgaWYgKCpyZXYgPT0gTVY4OEY1MTgxTF9SRVZfQTEpIHsKKwkJCSpkZXZfbmFtZSA9ICJNVjg4RjUxODFMLVJldi1BMSI7CiAJCX0gZWxzZSB7Ci0JCQkqZGV2X25hbWUgPSAiTVY4OEY1MTgxLVJldi1VbnN1cHBvcnRlZCI7CisJCQkqZGV2X25hbWUgPSAiTVY4OEY1MTgxKEwpLVJldi1VbnN1cHBvcnRlZCI7CiAJCX0KIAl9IGVsc2UgewogCQkqZGV2X25hbWUgPSAiRGV2aWNlLVVua25vd24iOwpAQCAtMzcwLDE1ICs0MTYsNiBAQAogCSAqIFNldHVwIE9yaW9uIGFkZHJlc3MgbWFwCiAJICovCiAJb3Jpb241eF9zZXR1cF9jcHVfbWJ1c19icmlkZ2UoKTsKLQotCS8qCi0JICogUmVnaXN0ZXIgZGV2aWNlcy4KLQkgKi8KLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfdWFydCk7Ci0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2VoY2kwKTsKLQlpZiAoZGV2ID09IE1WODhGNTE4Ml9ERVZfSUQpCi0JCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9laGNpMSk7Ci0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2kyYyk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmggYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmgKaW5kZXggYmQwZjA1ZC4uZjcyY2YwZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5oCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uaApAQCAtMSwxMCArMSwxMiBAQAogI2lmbmRlZiBfX0FSQ0hfT1JJT041WF9DT01NT05fSAogI2RlZmluZSBfX0FSQ0hfT1JJT041WF9DT01NT05fSAogCitzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YTsKK3N0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGE7CisKIC8qCiAgKiBCYXNpYyBPcmlvbiBpbml0IGZ1bmN0aW9ucyB1c2VkIGVhcmx5IGJ5IG1hY2hpbmUtc2V0dXAuCiAgKi8KLQogdm9pZCBvcmlvbjV4X21hcF9pbyh2b2lkKTsKIHZvaWQgb3Jpb241eF9pbml0X2lycSh2b2lkKTsKIHZvaWQgb3Jpb241eF9pbml0KHZvaWQpOwpAQCAtMjMsMTUgKzI1LDIyIEBACiB2b2lkIG9yaW9uNXhfc2V0dXBfZGV2Ml93aW4odTMyIGJhc2UsIHUzMiBzaXplKTsKIHZvaWQgb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbih1MzIgYmFzZSwgdTMyIHNpemUpOwogCi0vKgotICogU2hhcmVkIGNvZGUgdXNlZCBpbnRlcm5hbGx5IGJ5IG90aGVyIE9yaW9uIGNvcmUgZnVuY3Rpb25zLgotICogKC9tYWNoLW9yaW9uL3BjaS5jKQotICovCit2b2lkIG9yaW9uNXhfZWhjaTBfaW5pdCh2b2lkKTsKK3ZvaWQgb3Jpb241eF9laGNpMV9pbml0KHZvaWQpOwordm9pZCBvcmlvbjV4X2V0aF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG9yaW9uNXhfaTJjX2luaXQodm9pZCk7Cit2b2lkIG9yaW9uNXhfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSk7Cit2b2lkIG9yaW9uNXhfdWFydDBfaW5pdCh2b2lkKTsKK3ZvaWQgb3Jpb241eF91YXJ0MV9pbml0KHZvaWQpOwogCi1zdHJ1Y3QgcGNpX3N5c19kYXRhOworLyoKKyAqIFBDSWUvUENJIGZ1bmN0aW9ucy4KKyAqLwogc3RydWN0IHBjaV9idXM7CitzdHJ1Y3QgcGNpX3N5c19kYXRhOwogCiB2b2lkIG9yaW9uNXhfcGNpZV9pZCh1MzIgKmRldiwgdTMyICpyZXYpOwordm9pZCBvcmlvbjV4X3BjaV9zZXRfY2FyZGJ1c19tb2RlKHZvaWQpOwogaW50IG9yaW9uNXhfcGNpX3N5c19zZXR1cChpbnQgbnIsIHN0cnVjdCBwY2lfc3lzX2RhdGEgKnN5cyk7CiBzdHJ1Y3QgcGNpX2J1cyAqb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKTsKIGludCBvcmlvbjV4X3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbik7CkBAIC00MCwyNiArNDksOSBAQAogICogVmFsaWQgR1BJTyBwaW5zIGFjY29yZGluZyB0byBNUFAgc2V0dXAsIHVzZWQgYnkgbWFjaGluZS1zZXR1cC4KICAqICgvbWFjaC1vcmlvbi9ncGlvLmMpLgogICovCi0KLXZvaWQgb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKHUzMiBwaW5zKTsKK3ZvaWQgb3Jpb241eF9ncGlvX3NldF92YWxpZCh1bnNpZ25lZCBwaW4sIGludCB2YWxpZCk7CiB2b2lkIGdwaW9fZGlzcGxheSh2b2lkKTsJLyogZGVidWcgKi8KIAotLyoKLSAqIFB1bGwgaW4gT3Jpb24gRXRoZXJuZXQgcGxhdGZvcm1fZGF0YSwgdXNlZCBieSBtYWNoaW5lLXNldHVwCi0gKi8KLQotc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGE7Ci0KLXZvaWQgb3Jpb241eF9ldGhfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwotCi0vKgotICogT3Jpb24gU2F0YSBwbGF0Zm9ybV9kYXRhLCB1c2VkIGJ5IG1hY2hpbmUtc2V0dXAKLSAqLwotCi1zdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhOwotCi12b2lkIG9yaW9uNXhfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSk7Ci0KIHN0cnVjdCBtYWNoaW5lX2Rlc2M7CiBzdHJ1Y3QgbWVtaW5mbzsKIHN0cnVjdCB0YWc7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZGI4OGY1MjgxLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZGI4OGY1MjgxLXNldHVwLmMKaW5kZXggNDRjNjQzNC4uODg0MDVlNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RiODhmNTI4MS1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kYjg4ZjUyODEtc2V0dXAuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmg+CiAjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogREItODhGNTI4MSBvbiBib2FyZCBkZXZpY2VzCkBAIC04Niw3ICs4Nyw3IEBACiAJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAogCS5pZAkJPSAwLAogCS5kZXYJCT0gewotCQkucGxhdGZvcm1fZGF0YSA9ICZkYjg4ZjUyODFfYm9vdF9mbGFzaF9kYXRhLAorCQkucGxhdGZvcm1fZGF0YQk9ICZkYjg4ZjUyODFfYm9vdF9mbGFzaF9kYXRhLAogCX0sCiAJLm51bV9yZXNvdXJjZXMJPSAxLAogCS5yZXNvdXJjZQk9ICZkYjg4ZjUyODFfYm9vdF9mbGFzaF9yZXNvdXJjZSwKQEAgLTExMCw3ICsxMTEsNyBAQAogCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKIAkuaWQJCT0gMSwKIAkuZGV2CQk9IHsKLQkJLnBsYXRmb3JtX2RhdGEgPSAmZGI4OGY1MjgxX25vcl9mbGFzaF9kYXRhLAorCQkucGxhdGZvcm1fZGF0YQk9ICZkYjg4ZjUyODFfbm9yX2ZsYXNoX2RhdGEsCiAJfSwKIAkubnVtX3Jlc291cmNlcwk9IDEsCiAJLnJlc291cmNlCT0gJmRiODhmNTI4MV9ub3JfZmxhc2hfcmVzb3VyY2UsCkBAIC0xMjUsMTggKzEyNiwxNSBAQAogCQkubmFtZSA9ICJrZXJuZWwiLAogCQkub2Zmc2V0ID0gMCwKIAkJLnNpemUgPSBTWl8yTSwKLQl9LAotCXsKKwl9LCB7CiAJCS5uYW1lID0gInJvb3QiLAogCQkub2Zmc2V0ID0gU1pfMk0sCiAJCS5zaXplID0gKFNaXzE2TSAtIFNaXzJNKSwKLQl9LAotCXsKKwl9LCB7CiAJCS5uYW1lID0gInVzZXIiLAogCQkub2Zmc2V0ID0gU1pfMTZNLAogCQkuc2l6ZSA9IFNaXzhNLAotCX0sCi0JeworCX0sIHsKIAkJLm5hbWUgPSAicmVjb3ZlcnkiLAogCQkub2Zmc2V0ID0gKFNaXzE2TSArIFNaXzhNKSwKIAkJLnNpemUgPSBTWl84TSwKQEAgLTI4OCw3ICsyODYsNiBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI4OGY1MjgxX2V0aF9kYXRhID0gewogCS5waHlfYWRkcgk9IDgsCi0JLmZvcmNlX3BoeV9hZGRyID0gMSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMzAxLDExICsyOTgsMjggQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogR2VuZXJhbCBTZXR1cAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkYjg4ZjUyODFfZGV2c1tdIF9faW5pdGRhdGEgPSB7Ci0JJmRiODhmNTI4MV9ib290X2ZsYXNoLAotCSZkYjg4ZjUyODFfbm9yX2ZsYXNoLAotCSZkYjg4ZjUyODFfbmFuZF9mbGFzaCwKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBkYjg4ZjUyODFfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogVVNCIE92ZXIgQ3VycmVudCAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBVU0IgVmJhdCBpbnB1dCAqLworCXsgIDIsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfUkVRblsyXSAqLworCXsgIDMsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfR05UblsyXSAqLworCXsgIDQsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfUkVRblszXSAqLworCXsgIDUsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfR05UblszXSAqLworCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBKUDAsIENPTjE3LjIgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogSlAxLCBDT04xNy4xICovCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIEpQMiwgQ09OMTEuMiAqLworCXsgIDksIE1QUF9HUElPIH0sCQkvKiBKUDMsIENPTjExLjMgKi8KKwl7IDEwLCBNUFBfR1BJTyB9LAkJLyogUlRDIGludCAqLworCXsgMTEsIE1QUF9HUElPIH0sCQkvKiBCYXVkIFJhdGUgR2VuZXJhdG9yICovCisJeyAxMiwgTVBQX0dQSU8gfSwJCS8qIFBDSSBpbnQgMSAqLworCXsgMTMsIE1QUF9HUElPIH0sCQkvKiBQQ0kgaW50IDIgKi8KKwl7IDE0LCBNUFBfTkFORCB9LAkJLyogTkFORF9SRW5bMl0gKi8KKwl7IDE1LCBNUFBfTkFORCB9LAkJLyogTkFORF9XRW5bMl0gKi8KKwl7IDE2LCBNUFBfVUFSVCB9LAkJLyogVUFSVDFfUlggKi8KKwl7IDE3LCBNUFBfVUFSVCB9LAkJLyogVUFSVDFfVFggKi8KKwl7IDE4LCBNUFBfVUFSVCB9LAkJLyogVUFSVDFfQ1RTbiAqLworCXsgMTksIE1QUF9VQVJUIH0sCQkvKiBVQVJUMV9SVFNuICovCisJeyAtMSB9LAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IGRiODhmNTI4MV9pbml0KHZvaWQpCkBAIC0zMTUsMzkgKzMyOSwzMSBAQAogCSAqLwogCW9yaW9uNXhfaW5pdCgpOwogCisJb3Jpb241eF9tcHBfY29uZihkYjg4ZjUyODFfbXBwX21vZGVzKTsKKwl3cml0ZWwoMCwgTVBQX0RFVl9DVFJMKTsJCS8qIERFVl9EWzMxOjE2XSAqLworCiAJLyoKLQkgKiBTZXR1cCB0aGUgQ1BVIGFkZHJlc3MgZGVjb2RlIHdpbmRvd3MgZm9yIG91ciBvbi1ib2FyZCBkZXZpY2VzCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgogCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJmRiODhmNTI4MV9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCW9yaW9uNXhfdWFydDFfaW5pdCgpOworCiAJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oREI4OEY1MjgxX05PUl9CT09UX0JBU0UsCiAJCQkJREI4OEY1MjgxX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZGI4OGY1MjgxX2Jvb3RfZmxhc2gpOworCiAJb3Jpb241eF9zZXR1cF9kZXYwX3dpbihEQjg4RjUyODFfN1NFR19CQVNFLCBEQjg4RjUyODFfN1NFR19TSVpFKTsKKwogCW9yaW9uNXhfc2V0dXBfZGV2MV93aW4oREI4OEY1MjgxX05PUl9CQVNFLCBEQjg4RjUyODFfTk9SX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZGI4OGY1MjgxX25vcl9mbGFzaCk7CisKIAlvcmlvbjV4X3NldHVwX2RldjJfd2luKERCODhGNTI4MV9OQU5EX0JBU0UsIERCODhGNTI4MV9OQU5EX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZGI4OGY1MjgxX25hbmRfZmxhc2gpOwogCi0JLyoKLQkgKiBTZXR1cCBNdWx0aXBsZXhpbmcgUGluczoKLQkgKiBNUFAwOiBHUElPIChVU0IgT3ZlciBDdXJyZW50KQlNUFAxOiBHUElPIChVU0IgVmJhdCBpbnB1dCkKLQkgKiBNUFAyOiBQQ0lfUkVRblsyXQkJCU1QUDM6IFBDSV9HTlRuWzJdCi0JICogTVBQNDogUENJX1JFUW5bM10JCQlNUFA1OiBQQ0lfR05UblszXQotCSAqIE1QUDY6IEdQSU8gKEpQMCwgQ09OMTcuMikJCU1QUDc6IEdQSU8gKEpQMSwgQ09OMTcuMSkKLQkgKiBNUFA4OiBHUElPIChKUDIsIENPTjExLjIpCQlNUFA5OiBHUElPIChKUDMsIENPTjExLjMpCi0JICogTVBQMTA6IEdQSU8gKFJUQyBpbnQpCQlNUFAxMTogR1BJTyAoQmF1ZCBSYXRlIEdlbmVyYXRvcikKLQkgKiBNUFAxMjogR1BJTyAoUENJIGludCAxKQkJTVBQMTM6IEdQSU8gKFBDSSBpbnQgMikKLQkgKiBNUFAxNDogTkFORF9SRW5bMl0JCQlNUFAxNTogTkFORF9XRW5bMl0KLQkgKiBNUFAxNjogVUFSVDFfUlgJCQlNUFAxNzogVUFSVDFfVFgKLQkgKiBNUFAxODogVUFSVDFfQ1RTCQkJTVBQMTk6IFVBUlQxX1JUUwotCSAqIE1QUC1ERVY6IERFVl9EWzE2OjMxXQotCSAqLwotCW9yaW9uNXhfd3JpdGUoTVBQXzBfN19DVFJMLCAweDAwMjIyMjAzKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDB4NDQwMDAwMDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDApOwotCW9yaW9uNXhfd3JpdGUoTVBQX0RFVl9DVFJMLCAwKTsKLQotCW9yaW9uNXhfZ3Bpb19zZXRfdmFsaWRfcGlucygweDAwMDAzZmMzKTsKLQotCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGRiODhmNTI4MV9kZXZzLCBBUlJBWV9TSVpFKGRiODhmNTI4MV9kZXZzKSk7CiAJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJmRiODhmNTI4MV9pMmNfcnRjLCAxKTsKLQlvcmlvbjV4X2V0aF9pbml0KCZkYjg4ZjUyODFfZXRoX2RhdGEpOwogfQogCiBNQUNISU5FX1NUQVJUKERCODhGNTI4MSwgIk1hcnZlbGwgT3Jpb24tMiBEZXZlbG9wbWVudCBCb2FyZCIpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZG5zMzIzLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZG5zMzIzLXNldHVwLmMKaW5kZXggMjdjZTk2Ny4uMzc5MWNhNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RuczMyMy1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kbnMzMjMtc2V0dXAuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKIAogI2RlZmluZSBETlMzMjNfR1BJT19MRURfUklHSFRfQU1CRVIJMQogI2RlZmluZSBETlMzMjNfR1BJT19MRURfTEVGVF9BTUJFUgkyCkBAIC01Miw4ICs1Myw2IEBACiAJaWYgKGlycSAhPSAtMSkKIAkJcmV0dXJuIGlycTsKIAotCXByX2VycigiJXM6IHJlcXVlc3RlZCBtYXBwaW5nIGZvciB1bmtub3duIGRldmljZVxuIiwgX19mdW5jX18pOwotCiAJcmV0dXJuIC0xOwogfQogCkBAIC04MSw3ICs4MCw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBkbnMzMjNfZXRoX2RhdGEgPSB7CiAJLnBoeV9hZGRyID0gOCwKLQkuZm9yY2VfcGh5X2FkZHIgPSAxLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTExOSw3ICsxMTcsNyBAQAogCQkubmFtZQk9ICJ1LWJvb3QiLAogCQkuc2l6ZQk9IDB4MDAwMzAwMDAsCiAJCS5vZmZzZXQJPSAweDAwN2QwMDAwLAotCX0KKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgZG5zMzIzX25vcl9mbGFzaF9kYXRhID0gewpAQCAtMTM3LDcgKzEzNSw5IEBACiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBkbnMzMjNfbm9yX2ZsYXNoID0gewogCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKIAkuaWQJCT0gMCwKLQkuZGV2CQk9IHsgLnBsYXRmb3JtX2RhdGEgPSAmZG5zMzIzX25vcl9mbGFzaF9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZkbnMzMjNfbm9yX2ZsYXNoX2RhdGEsCisJfSwKIAkucmVzb3VyY2UJPSAmZG5zMzIzX25vcl9mbGFzaF9yZXNvdXJjZSwKIAkubnVtX3Jlc291cmNlcwk9IDEsCiB9OwpAQCAtMTcwLDcgKzE3MCw5IEBACiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBkbnMzMjNfZ3Bpb19sZWRzID0gewogCS5uYW1lCQk9ICJsZWRzLWdwaW8iLAogCS5pZAkJPSAtMSwKLQkuZGV2CQk9IHsgLnBsYXRmb3JtX2RhdGEgPSAmZG5zMzIzX2xlZF9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZkbnMzMjNfbGVkX2RhdGEsCisJfSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0xODMsMzUgKzE4NSw1MyBAQAogCQkuZ3BpbwkJPSBETlMzMjNfR1BJT19LRVlfUkVTRVQsCiAJCS5kZXNjCQk9ICJSZXNldCBCdXR0b24iLAogCQkuYWN0aXZlX2xvdwk9IDEsCi0JfSwKLQl7CisJfSwgewogCQkuY29kZQkJPSBLRVlfUE9XRVIsCiAJCS5ncGlvCQk9IEROUzMyM19HUElPX0tFWV9QT1dFUiwKIAkJLmRlc2MJCT0gIlBvd2VyIEJ1dHRvbiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKLQl9CisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgZG5zMzIzX2J1dHRvbl9kYXRhID0gewogCS5idXR0b25zCT0gZG5zMzIzX2J1dHRvbnMsCi0JLm5idXR0b25zICAgICAgID0gQVJSQVlfU0laRShkbnMzMjNfYnV0dG9ucyksCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShkbnMzMjNfYnV0dG9ucyksCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBkbnMzMjNfYnV0dG9uX2RldmljZSA9IHsKIAkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKIAkuaWQJCT0gLTEsCiAJLm51bV9yZXNvdXJjZXMJPSAwLAotCS5kZXYJCT0geyAucGxhdGZvcm1fZGF0YSAgPSAmZG5zMzIzX2J1dHRvbl9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZkbnMzMjNfYnV0dG9uX2RhdGEsCisJfSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsIFNldHVwCiAgKi8KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRuczMyM19wbGF0X2RldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZkbnMzMjNfbm9yX2ZsYXNoLAotCSZkbnMzMjNfZ3Bpb19sZWRzLAotCSZkbnMzMjNfYnV0dG9uX2RldmljZSwKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBkbnMzMjNfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfUENJRV9SU1RfT1VUbiB9LAorCXsgIDEsIE1QUF9HUElPIH0sCQkvKiByaWdodCBhbWJlciBMRUQgKHNhdGEgY2gwKSAqLworCXsgIDIsIE1QUF9HUElPIH0sCQkvKiBsZWZ0IGFtYmVyIExFRCAoc2F0YSBjaDEpICovCisJeyAgMywgTVBQX1VOVVNFRCB9LAorCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBwb3dlciBidXR0b24gTEVEICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIHBvd2VyIGJ1dHRvbiBMRUQgKi8KKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogR01UIEc3NTEtMmYgb3ZlcnRlbXAgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogTTQxVDgwIG5JUlEvT1VUL1NRVyAqLworCXsgIDgsIE1QUF9HUElPIH0sCQkvKiB0cmlnZ2VycyBwb3dlciBvZmYgKi8KKwl7ICA5LCBNUFBfR1BJTyB9LAkJLyogcG93ZXIgYnV0dG9uIHN3aXRjaCAqLworCXsgMTAsIE1QUF9HUElPIH0sCQkvKiByZXNldCBidXR0b24gc3dpdGNoICovCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9VTlVTRUQgfSwKKwl7IDEzLCBNUFBfVU5VU0VEIH0sCisJeyAxNCwgTVBQX1VOVVNFRCB9LAorCXsgMTUsIE1QUF9VTlVTRUQgfSwKKwl7IDE2LCBNUFBfVU5VU0VEIH0sCisJeyAxNywgTVBQX1VOVVNFRCB9LAorCXsgMTgsIE1QUF9VTlVTRUQgfSwKKwl7IDE5LCBNUFBfVU5VU0VEIH0sCisJeyAtMSB9LAogfTsKIAogLyoKQEAgLTIyNSwxNyArMjQ1LDE1IEBACiBzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgZG5zMzIzX2kyY19kZXZpY2VzW10gPSB7CiAJewogCQlJMkNfQk9BUkRfSU5GTygiZzc2MGEiLCAweDNlKSwKLQl9LAogI2lmIDAKIAkvKiB0aGlzIGVudHJ5IHJlcXVpcmVzIHRoZSBuZXctc3R5bGUgZHJpdmVyIG1vZGVsIGxtNzUgZHJpdmVyLAogCSAqIGZvciB0aGUgbWVhbnRpbWUgImluc21vZCBsbTc1LmtvIGZvcmNlX2xtNzU9MCwweDQ4IiBpcyBuZWVkZWQgKi8KLQl7CisJfSwgewogCQlJMkNfQk9BUkRfSU5GTygiZzc1MSIsIDB4NDgpLAotCX0sCiAjZW5kaWYKLQl7CisJfSwgewogCQlJMkNfQk9BUkRfSU5GTygibTQxdDgwIiwgMHg2OCksCi0JfQorCX0sCiB9OwogCiAvKiBETlMtMzIzIHNwZWNpZmljIHBvd2VyIG9mZiBtZXRob2QgKi8KQEAgLTI1MCw2MiArMjY4LDM1IEBACiAJLyogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4gKi8KIAlvcmlvbjV4X2luaXQoKTsKIAorCW9yaW9uNXhfbXBwX2NvbmYoZG5zMzIzX21wcF9tb2Rlcyk7CisJd3JpdGVsKDAsIE1QUF9ERVZfQ1RSTCk7CQkvKiBERVZfRFszMToxNl0gKi8KKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJmRuczMyM19ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCiAJLyogc2V0dXAgZmxhc2ggbWFwcGluZwogCSAqIENTMyBob2xkcyBhIDggTUIgU3BhbnNpb24gUzI5R0wwNjRNOTBURklSNAogCSAqLwogCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKEROUzMyM19OT1JfQk9PVF9CQVNFLCBETlMzMjNfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZkbnMzMjNfbm9yX2ZsYXNoKTsKIAotCS8qIEROUy0zMjMgaGFzIGEgTWFydmVsbCA4OFg3MDQyIFNBVEEgY29udHJvbGxlciBhdHRhY2hlZCB2aWEgUENJZQotCSAqCi0JICogT3BlbiBhIHNwZWNpYWwgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3IgdGhlIFBDSWUgV0EuCi0JICovCi0Jb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAotCQkJCU9SSU9ONVhfUENJRV9XQV9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmRuczMyM19ncGlvX2xlZHMpOwogCi0JLyogc2V0IE1QUCB0byAwIGFzIEQtTGluaydzIDIuNi4xMi42IGtlcm5lbCBkaWQgKi8KLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMCk7Ci0Jb3Jpb241eF93cml0ZShNUFBfOF8xNV9DVFJMLCAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF8xNl8xOV9DVFJMLCAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF9ERVZfQ1RSTCwgMCk7Ci0KLQkvKiBEZWZpbmUgdXNlZCBHUElPIHBpbnMKLQotCSAgR1BJTyBNYXA6Ci0KLQkgIHwgIDAgfCAgICAgfCBQRVhfUlNUX09VVCAobm90IGNvbnRyb2xsZWQgYnkgR1BJTykKLQkgIHwgIDEgfCBPdXQgfCByaWdodCBhbWJlciBMRUQgKD0gc2F0YSBjaDAgTEVEKSAgKGxvdy1hY3RpdmUpCi0JICB8ICAyIHwgT3V0IHwgbGVmdCAgYW1iZXIgTEVEICg9IHNhdGEgY2gxIExFRCkgIChsb3ctYWN0aXZlKQotCSAgfCAgMyB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8ICA0IHwgT3V0IHwgcG93ZXIgYnV0dG9uIExFRCAobG93LWFjdGl2ZSwgdG9nZXRoZXIgd2l0aCBwaW4gIzUpCi0JICB8ICA1IHwgT3V0IHwgcG93ZXIgYnV0dG9uIExFRCAobG93LWFjdGl2ZSwgdG9nZXRoZXIgd2l0aCBwaW4gIzQpCi0JICB8ICA2IHwgSW4gIHwgR01UIEc3NTEtMmYgb3ZlcnRlbXAuIHNodXRkb3duIHNpZ25hbCAobG93LWFjdGl2ZSkKLQkgIHwgIDcgfCBJbiAgfCBNNDFUODAgbklSUS9PVVQvU1FXIHNpZ25hbAotCSAgfCAgOCB8IE91dCB8IHRyaWdnZXJzIHBvd2VyIG9mZiAoaGlnaC1hY3RpdmUpCi0JICB8ICA5IHwgSW4gIHwgcG93ZXIgYnV0dG9uIHN3aXRjaCAobG93LWFjdGl2ZSkKLQkgIHwgMTAgfCBJbiAgfCByZXNldCBidXR0b24gc3dpdGNoIChsb3ctYWN0aXZlKQotCSAgfCAxMSB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8IDEyIHwgT3V0IHwgLy91bmtub3duLy8KLQkgIHwgMTMgfCBPdXQgfCAvL3Vua25vd24vLwotCSAgfCAxNCB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8IDE1IHwgT3V0IHwgLy91bmtub3duLy8KLQkqLwotCW9yaW9uNXhfZ3Bpb19zZXRfdmFsaWRfcGlucygweDA3ZjYpOwotCi0JLyogcmVnaXN0ZXIgZG5zMzIzIHNwZWNpZmljIHBvd2VyLW9mZiBtZXRob2QgKi8KLQlpZiAoKGdwaW9fcmVxdWVzdChETlMzMjNfR1BJT19QT1dFUl9PRkYsICJQT1dFUk9GRiIpICE9IDApCi0JICAgIHx8IChncGlvX2RpcmVjdGlvbl9vdXRwdXQoRE5TMzIzX0dQSU9fUE9XRVJfT0ZGLCAwKSAhPSAwKSkKLQkJcHJfZXJyKCJETlMzMjM6IGZhaWxlZCB0byBzZXR1cCBwb3dlci1vZmYgR1BJT1xuIik7Ci0KLQlwbV9wb3dlcl9vZmYgPSBkbnMzMjNfcG93ZXJfb2ZmOwotCi0JLyogcmVnaXN0ZXIgZmxhc2ggYW5kIG90aGVyIHBsYXRmb3JtIGRldmljZXMgKi8KLQlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhkbnMzMjNfcGxhdF9kZXZpY2VzLAotCQkJICAgICBBUlJBWV9TSVpFKGRuczMyM19wbGF0X2RldmljZXMpKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmRuczMyM19idXR0b25fZGV2aWNlKTsKIAogCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsIGRuczMyM19pMmNfZGV2aWNlcywKIAkJCQlBUlJBWV9TSVpFKGRuczMyM19pMmNfZGV2aWNlcykpOwogCi0Jb3Jpb241eF9ldGhfaW5pdCgmZG5zMzIzX2V0aF9kYXRhKTsKKwkvKiByZWdpc3RlciBkbnMzMjMgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCWlmIChncGlvX3JlcXVlc3QoRE5TMzIzX0dQSU9fUE9XRVJfT0ZGLCAiUE9XRVJPRkYiKSAhPSAwIHx8CisJICAgIGdwaW9fZGlyZWN0aW9uX291dHB1dChETlMzMjNfR1BJT19QT1dFUl9PRkYsIDApICE9IDApCisJCXByX2VycigiRE5TMzIzOiBmYWlsZWQgdG8gc2V0dXAgcG93ZXItb2ZmIEdQSU9cbiIpOworCXBtX3Bvd2VyX29mZiA9IGRuczMyM19wb3dlcl9vZmY7CiB9CiAKIC8qIFdhcm5pbmc6IEQtTGluayB1c2VzIGEgd3JvbmcgbWFjaC10eXBlICg9NTI2KSBpbiB0aGVpciBib290bG9hZGVyICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZ3Bpby5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2dwaW8uYwppbmRleCA4MTA4YzMxLi5kMDk3OTc5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZ3Bpby5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9ncGlvLmMKQEAgLTI0LDkgKzI0LDEyIEBACiBzdGF0aWMgdW5zaWduZWQgbG9uZyBncGlvX3ZhbGlkW0JJVFNfVE9fTE9OR1MoR1BJT19NQVgpXTsKIHN0YXRpYyBjb25zdCBjaGFyICpncGlvX2xhYmVsW0dQSU9fTUFYXTsgIC8qIG5vbiBudWxsIGZvciBhbGxvY2F0ZWQgR1BJT3MgKi8KIAotdm9pZCBfX2luaXQgb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKHUzMiBwaW5zKQordm9pZCBfX2luaXQgb3Jpb241eF9ncGlvX3NldF92YWxpZCh1bnNpZ25lZCBwaW4sIGludCB2YWxpZCkKIHsKLQlncGlvX3ZhbGlkWzBdID0gcGluczsKKwlpZiAodmFsaWQpCisJCV9fc2V0X2JpdChwaW4sIGdwaW9fdmFsaWQpOworCWVsc2UKKwkJX19jbGVhcl9iaXQocGluLCBncGlvX3ZhbGlkKTsKIH0KIAogLyoKQEAgLTkzLDEwICs5NiwxMCBAQAogewogCWludCB2YWwsIG1hc2sgPSAxIDw8IHBpbjsKIAotCWlmIChvcmlvbjV4X3JlYWQoR1BJT19JT19DT05GKSAmIG1hc2spCi0JCXZhbCA9IG9yaW9uNXhfcmVhZChHUElPX0RBVEFfSU4pIF4gb3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKTsKKwlpZiAocmVhZGwoR1BJT19JT19DT05GKSAmIG1hc2spCisJCXZhbCA9IHJlYWRsKEdQSU9fREFUQV9JTikgXiByZWFkbChHUElPX0lOX1BPTCk7CiAJZWxzZQotCQl2YWwgPSBvcmlvbjV4X3JlYWQoR1BJT19PVVQpOworCQl2YWwgPSByZWFkbChHUElPX09VVCk7CiAKIAlyZXR1cm4gdmFsICYgbWFzazsKIH0KQEAgLTE4OCwzOSArMTkxLDM5IEBACiAJCQlwcmludGsoIkdQSU8sIGZyZWVcbiIpOwogCQl9IGVsc2UgewogCQkJcHJpbnRrKCJHUElPLCB1c2VkIGJ5ICVzLCAiLCBncGlvX2xhYmVsW2ldKTsKLQkJCWlmIChvcmlvbjV4X3JlYWQoR1BJT19JT19DT05GKSAmICgxIDw8IGkpKSB7CisJCQlpZiAocmVhZGwoR1BJT19JT19DT05GKSAmICgxIDw8IGkpKSB7CiAJCQkJcHJpbnRrKCJpbnB1dCwgYWN0aXZlICVzLCBsZXZlbCAlcywgZWRnZSAlc1xuIiwKLQkJCQkoKG9yaW9uNXhfcmVhZChHUElPX0lOX1BPTCkgPj4gaSkgJiAxKSA/ICJsb3ciIDogImhpZ2giLAotCQkJCSgob3Jpb241eF9yZWFkKEdQSU9fTEVWRUxfTUFTSykgPj4gaSkgJiAxKSA/ICJlbmFibGVkIiA6ICJtYXNrZWQiLAotCQkJCSgob3Jpb241eF9yZWFkKEdQSU9fRURHRV9NQVNLKSA+PiBpKSAmIDEpID8gImVuYWJsZWQiIDogIm1hc2tlZCIpOworCQkJCSgocmVhZGwoR1BJT19JTl9QT0wpID4+IGkpICYgMSkgPyAibG93IiA6ICJoaWdoIiwKKwkJCQkoKHJlYWRsKEdQSU9fTEVWRUxfTUFTSykgPj4gaSkgJiAxKSA/ICJlbmFibGVkIiA6ICJtYXNrZWQiLAorCQkJCSgocmVhZGwoR1BJT19FREdFX01BU0spID4+IGkpICYgMSkgPyAiZW5hYmxlZCIgOiAibWFza2VkIik7CiAJCQl9IGVsc2UgewotCQkJCXByaW50aygib3V0cHV0LCB2YWw9JWRcbiIsIChvcmlvbjV4X3JlYWQoR1BJT19PVVQpID4+IGkpICYgMSk7CisJCQkJcHJpbnRrKCJvdXRwdXQsIHZhbD0lZFxuIiwgKHJlYWRsKEdQSU9fT1VUKSA+PiBpKSAmIDEpOwogCQkJfQogCQl9CiAJfQogCiAJcHJpbnRrKEtFUk5fREVCVUcgIk1QUF8wXzdfQ1RSTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlNUFBfMF83X0NUUkwsIG9yaW9uNXhfcmVhZChNUFBfMF83X0NUUkwpKTsKKwkJCQlNUFBfMF83X0NUUkwsIHJlYWRsKE1QUF8wXzdfQ1RSTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJNUFBfOF8xNV9DVFJMICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCU1QUF84XzE1X0NUUkwsIG9yaW9uNXhfcmVhZChNUFBfOF8xNV9DVFJMKSk7CisJCQkJTVBQXzhfMTVfQ1RSTCwgcmVhZGwoTVBQXzhfMTVfQ1RSTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJNUFBfMTZfMTlfQ1RSTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlNUFBfMTZfMTlfQ1RSTCwgb3Jpb241eF9yZWFkKE1QUF8xNl8xOV9DVFJMKSk7CisJCQkJTVBQXzE2XzE5X0NUUkwsIHJlYWRsKE1QUF8xNl8xOV9DVFJMKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIk1QUF9ERVZfQ1RSTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlNUFBfREVWX0NUUkwsIG9yaW9uNXhfcmVhZChNUFBfREVWX0NUUkwpKTsKKwkJCQlNUFBfREVWX0NUUkwsIHJlYWRsKE1QUF9ERVZfQ1RSTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX09VVCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX09VVCwgb3Jpb241eF9yZWFkKEdQSU9fT1VUKSk7CisJCQkJR1BJT19PVVQsIHJlYWRsKEdQSU9fT1VUKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fSU9fQ09ORiAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0lPX0NPTkYsIG9yaW9uNXhfcmVhZChHUElPX0lPX0NPTkYpKTsKKwkJCQlHUElPX0lPX0NPTkYsIHJlYWRsKEdQSU9fSU9fQ09ORikpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0JMSU5LX0VOICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fQkxJTktfRU4sIG9yaW9uNXhfcmVhZChHUElPX0JMSU5LX0VOKSk7CisJCQkJR1BJT19CTElOS19FTiwgcmVhZGwoR1BJT19CTElOS19FTikpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0lOX1BPTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0lOX1BPTCwgb3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKSk7CisJCQkJR1BJT19JTl9QT0wsIHJlYWRsKEdQSU9fSU5fUE9MKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fREFUQV9JTiAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0RBVEFfSU4sIG9yaW9uNXhfcmVhZChHUElPX0RBVEFfSU4pKTsKKwkJCQlHUElPX0RBVEFfSU4sIHJlYWRsKEdQSU9fREFUQV9JTikpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0xFVkVMX01BU0sgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJR1BJT19MRVZFTF9NQVNLLCBvcmlvbjV4X3JlYWQoR1BJT19MRVZFTF9NQVNLKSk7CisJCQkJR1BJT19MRVZFTF9NQVNLLCByZWFkbChHUElPX0xFVkVMX01BU0spKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiR1BJT19FREdFX0NBVVNFICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fRURHRV9DQVVTRSwgb3Jpb241eF9yZWFkKEdQSU9fRURHRV9DQVVTRSkpOworCQkJCUdQSU9fRURHRV9DQVVTRSwgcmVhZGwoR1BJT19FREdFX0NBVVNFKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fRURHRV9NQVNLICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fRURHRV9NQVNLLCBvcmlvbjV4X3JlYWQoR1BJT19FREdFX01BU0spKTsKKwkJCQlHUElPX0VER0VfTUFTSywgcmVhZGwoR1BJT19FREdFX01BU0spKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9pcnEuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9pcnEuYwppbmRleCBkZDIxZjM4Li5lMmEwMDg0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvaXJxLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2lycS5jCkBAIC04Miw3ICs4Miw3IEBACiAJaW50IHBpbiA9IGlycV90b19ncGlvKGlycSk7CiAJc3RydWN0IGlycV9kZXNjICpkZXNjOwogCi0JaWYgKChvcmlvbjV4X3JlYWQoR1BJT19JT19DT05GKSAmICgxIDw8IHBpbikpID09IDApIHsKKwlpZiAoKHJlYWRsKEdQSU9fSU9fQ09ORikgJiAoMSA8PCBwaW4pKSA9PSAwKSB7CiAJCXByaW50ayhLRVJOX0VSUiAib3Jpb241eF9ncGlvX3NldF9pcnFfdHlwZSBmYWlsZWQgIgogCQkJCSIoaXJxICVkLCBwaW4gJWQpLlxuIiwgaXJxLCBwaW4pOwogCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTExNyw3ICsxMTcsNyBAQAogCQkvKgogCQkgKiBzZXQgaW5pdGlhbCBwb2xhcml0eSBiYXNlZCBvbiBjdXJyZW50IGlucHV0IGxldmVsCiAJCSAqLwotCQlpZiAoKG9yaW9uNXhfcmVhZChHUElPX0lOX1BPTCkgXiBvcmlvbjV4X3JlYWQoR1BJT19EQVRBX0lOKSkKKwkJaWYgKChyZWFkbChHUElPX0lOX1BPTCkgXiByZWFkbChHUElPX0RBVEFfSU4pKQogCQkgICAgJiAoMSA8PCBwaW4pKQogCQkJb3Jpb241eF9zZXRiaXRzKEdQSU9fSU5fUE9MLCAoMSA8PCBwaW4pKTsgLyogZmFsbGluZyAqLwogCQllbHNlCkBAIC0xNDksOCArMTQ5LDggQEAKIAogCUJVR19PTihpcnEgPCBJUlFfT1JJT041WF9HUElPXzBfNyB8fCBpcnEgPiBJUlFfT1JJT041WF9HUElPXzI0XzMxKTsKIAlvZmZzID0gKGlycSAtIElSUV9PUklPTjVYX0dQSU9fMF83KSAqIDg7Ci0JY2F1c2UgPSAob3Jpb241eF9yZWFkKEdQSU9fREFUQV9JTikgJiBvcmlvbjV4X3JlYWQoR1BJT19MRVZFTF9NQVNLKSkgfAotCQkob3Jpb241eF9yZWFkKEdQSU9fRURHRV9DQVVTRSkgJiBvcmlvbjV4X3JlYWQoR1BJT19FREdFX01BU0spKTsKKwljYXVzZSA9IChyZWFkbChHUElPX0RBVEFfSU4pICYgcmVhZGwoR1BJT19MRVZFTF9NQVNLKSkgfAorCQkocmVhZGwoR1BJT19FREdFX0NBVVNFKSAmIHJlYWRsKEdQSU9fRURHRV9NQVNLKSk7CiAKIAlmb3IgKHBpbiA9IG9mZnM7IHBpbiA8IG9mZnMgKyA4OyBwaW4rKykgewogCQlpZiAoY2F1c2UgJiAoMSA8PCBwaW4pKSB7CkBAIC0xNTgsOSArMTU4LDkgQEAKIAkJCWRlc2MgPSBpcnFfZGVzYyArIGlycTsKIAkJCWlmICgoZGVzYy0+c3RhdHVzICYgSVJRX1RZUEVfU0VOU0VfTUFTSykgPT0gSVJRVF9CT1RIRURHRSkgewogCQkJCS8qIFN3YXAgcG9sYXJpdHkgKHJhY2Ugd2l0aCBHUElPIGxpbmUpICovCi0JCQkJdTMyIHBvbGFyaXR5ID0gb3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKTsKKwkJCQl1MzIgcG9sYXJpdHkgPSByZWFkbChHUElPX0lOX1BPTCk7CiAJCQkJcG9sYXJpdHkgXj0gMSA8PCBwaW47Ci0JCQkJb3Jpb241eF93cml0ZShHUElPX0lOX1BPTCwgcG9sYXJpdHkpOworCQkJCXdyaXRlbChwb2xhcml0eSwgR1BJT19JTl9QT0wpOwogCQkJfQogCQkJZGVzY19oYW5kbGVfaXJxKGlycSwgZGVzYyk7CiAJCX0KQEAgLTE3NSw5ICsxNzUsOSBAQAogCS8qCiAJICogTWFzayBhbmQgY2xlYXIgR1BJTyBJUlEgaW50ZXJydXB0cwogCSAqLwotCW9yaW9uNXhfd3JpdGUoR1BJT19MRVZFTF9NQVNLLCAweDApOwotCW9yaW9uNXhfd3JpdGUoR1BJT19FREdFX01BU0ssIDB4MCk7Ci0Jb3Jpb241eF93cml0ZShHUElPX0VER0VfQ0FVU0UsIDB4MCk7CisJd3JpdGVsKDB4MCwgR1BJT19MRVZFTF9NQVNLKTsKKwl3cml0ZWwoMHgwLCBHUElPX0VER0VfTUFTSyk7CisJd3JpdGVsKDB4MCwgR1BJT19FREdFX0NBVVNFKTsKIAogCS8qCiAJICogUmVnaXN0ZXIgY2hhaW5lZCBsZXZlbCBoYW5kbGVycyBmb3IgR1BJTyBJUlFzIGJ5IGRlZmF1bHQuCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgva3Vyb2JveF9wcm8tc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9rdXJvYm94X3Byby1zZXR1cC5jCmluZGV4IGY1MDc0YjguLjg0ZmVhYzQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9rdXJvYm94X3Byby1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9rdXJvYm94X3Byby1zZXR1cC5jCkBAIC0xMywxMCArMTMsMTIgQEAKICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KICNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KICNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9ncGlvLmg+CkBAIC0yNSw2ICsyNyw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgogI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBLVVJPQk9YLVBSTyBJbmZvCkBAIC01MywxMyArNTYsMTEgQEAKIAkJLm5hbWUJPSAidUltYWdlIiwKIAkJLm9mZnNldAk9IDAsCiAJCS5zaXplCT0gU1pfNE0sCi0JfSwKLQl7CisJfSwgewogCQkubmFtZQk9ICJyb290ZnMiLAogCQkub2Zmc2V0CT0gU1pfNE0sCiAJCS5zaXplCT0gU1pfNjRNLAotCX0sCi0JeworCX0sIHsKIAkJLm5hbWUJPSAiZXh0cmEiLAogCQkub2Zmc2V0CT0gU1pfNE0gKyBTWl82NE0sCiAJCS5zaXplCT0gU1pfMjU2TSAtIChTWl80TSArIFNaXzY0TSksCkBAIC0xMzIsOCArMTMzLDYgQEAKIAkvKgogCSAqIFBDSSBpc24ndCB1c2VkIG9uIHRoZSBLdXJvCiAJICovCi0JcHJpbnRrKEtFUk5fRVJSICJrdXJvYm94X3Byb19wY2lfbWFwX2lycSBmYWlsZWQsIHVua25vd24gYnVzXG4iKTsKLQogCXJldHVybiAtMTsKIH0KIApAQCAtMTYxLDcgKzE2MCw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBrdXJvYm94X3Byb19ldGhfZGF0YSA9IHsKIAkucGh5X2FkZHIJPSA4LAotCS5mb3JjZV9waHlfYWRkciA9IDEsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTE3NSwxMiArMTczLDE2OSBAQAogICogU0FUQQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBrdXJvYm94X3Byb19zYXRhX2RhdGEgPSB7Ci0JLm5fcG9ydHMgICAgICAgID0gMiwKKwkubl9wb3J0cwk9IDIsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEt1cm9ib3ggUHJvIHNwZWNpZmljIHBvd2VyIG9mZiBtZXRob2QgdmlhIFVBUlQxLWF0dGFjaGVkIG1pY3JvY29udHJvbGxlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgVUFSVDFfUkVHKHgpCShVQVJUMV9WSVJUX0JBU0UgKyAoKFVBUlRfIyN4KSA8PCAyKSkKKworc3RhdGljIGludCBrdXJvYm94X3Byb19taWNvbnJlYWQodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgY291bnQpCit7CisJaW50IGk7CisJaW50IHRpbWVvdXQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQl0aW1lb3V0ID0gMTA7CisKKwkJd2hpbGUgKCEocmVhZGwoVUFSVDFfUkVHKExTUikpICYgVUFSVF9MU1JfRFIpKSB7CisJCQlpZiAoLS10aW1lb3V0ID09IDApCisJCQkJYnJlYWs7CisJCQl1ZGVsYXkoMTAwMCk7CisJCX0KKworCQlpZiAodGltZW91dCA9PSAwKQorCQkJYnJlYWs7CisJCWJ1ZltpXSA9IHJlYWRsKFVBUlQxX1JFRyhSWCkpOworCX0KKworCS8qIHJldHVybiByZWFkIGJ5dGVzICovCisJcmV0dXJuIGk7Cit9CisKK3N0YXRpYyBpbnQga3Vyb2JveF9wcm9fbWljb253cml0ZShjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBjb3VudCkKK3sKKwlpbnQgaSA9IDA7CisKKwl3aGlsZSAoY291bnQtLSkgeworCQl3aGlsZSAoIShyZWFkbChVQVJUMV9SRUcoTFNSKSkgJiBVQVJUX0xTUl9USFJFKSkKKwkJCWJhcnJpZXIoKTsKKwkJd3JpdGVsKGJ1ZltpKytdLCBVQVJUMV9SRUcoVFgpKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBrdXJvYm94X3Byb19taWNvbnNlbmQoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGNvdW50KQoreworCWludCBpOworCXVuc2lnbmVkIGNoYXIgY2hlY2tzdW0gPSAwOworCXVuc2lnbmVkIGNoYXIgcmVjdl9idWZbNDBdOworCXVuc2lnbmVkIGNoYXIgc2VuZF9idWZbNDBdOworCXVuc2lnbmVkIGNoYXIgY29ycmVjdF9hY2tbM107CisJaW50IHJldHJ5ID0gMjsKKworCS8qIEdlbmVyYXRlIGNoZWNrc3VtICovCisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspCisJCWNoZWNrc3VtIC09ICBkYXRhW2ldOworCisJZG8geworCQkvKiBTZW5kIGRhdGEgKi8KKwkJa3Vyb2JveF9wcm9fbWljb253cml0ZShkYXRhLCBjb3VudCk7CisKKwkJLyogc2VuZCBjaGVja3N1bSAqLworCQlrdXJvYm94X3Byb19taWNvbndyaXRlKCZjaGVja3N1bSwgMSk7CisKKwkJaWYgKGt1cm9ib3hfcHJvX21pY29ucmVhZChyZWN2X2J1Ziwgc2l6ZW9mKHJlY3ZfYnVmKSkgPD0gMykgeworCQkJcHJpbnRrKEtFUk5fRVJSICI+JXM6IHJlY2VpdmUgZmFpbGVkLlxuIiwgX19mdW5jX18pOworCisJCQkvKiBzZW5kIHByZWFtYmxlIHRvIGNsZWFyIHRoZSByZWNlaXZlIGJ1ZmZlciAqLworCQkJbWVtc2V0KCZzZW5kX2J1ZiwgMHhmZiwgc2l6ZW9mKHNlbmRfYnVmKSk7CisJCQlrdXJvYm94X3Byb19taWNvbndyaXRlKHNlbmRfYnVmLCBzaXplb2Yoc2VuZF9idWYpKTsKKworCQkJLyogbWFrZSBkdW1teSByZWFkcyAqLworCQkJbWRlbGF5KDEwMCk7CisJCQlrdXJvYm94X3Byb19taWNvbnJlYWQocmVjdl9idWYsIHNpemVvZihyZWN2X2J1ZikpOworCQl9IGVsc2UgeworCQkJLyogR2VuZXJhdGUgZXhwZWN0ZWQgYWNrICovCisJCQljb3JyZWN0X2Fja1swXSA9IDB4MDE7CisJCQljb3JyZWN0X2Fja1sxXSA9IGRhdGFbMV07CisJCQljb3JyZWN0X2Fja1syXSA9IDB4MDA7CisKKwkJCS8qIGNoZWNrc3VtIENoZWNrICovCisJCQlpZiAoKHJlY3ZfYnVmWzBdICsgcmVjdl9idWZbMV0gKyByZWN2X2J1ZlsyXSArCisJCQkgICAgIHJlY3ZfYnVmWzNdKSAmIDB4RkYpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIj4lczogQ2hlY2tzdW0gRXJyb3IgOiAiCisJCQkJCSJSZWNlaXZlZCBkYXRhWyUwMngsICUwMngsICUwMngsICUwMnhdIgorCQkJCQkiXG4iLCBfX2Z1bmNfXywgcmVjdl9idWZbMF0sCisJCQkJCXJlY3ZfYnVmWzFdLCByZWN2X2J1ZlsyXSwgcmVjdl9idWZbM10pOworCQkJfSBlbHNlIHsKKwkJCQkvKiBDaGVjayBSZWNlaXZlZCBEYXRhICovCisJCQkJaWYgKGNvcnJlY3RfYWNrWzBdID09IHJlY3ZfYnVmWzBdICYmCisJCQkJICAgIGNvcnJlY3RfYWNrWzFdID09IHJlY3ZfYnVmWzFdICYmCisJCQkJICAgIGNvcnJlY3RfYWNrWzJdID09IHJlY3ZfYnVmWzJdKSB7CisJCQkJCS8qIEludGVydmFsIGZvciBuZXh0IGNvbW1hbmQgKi8KKwkJCQkJbWRlbGF5KDEwKTsKKworCQkJCQkvKiBSZWNlaXZlIEFDSyAqLworCQkJCQlyZXR1cm4gMDsKKwkJCQl9CisJCQl9CisJCQkvKiBSZWNlaXZlZCBOQUsgb3IgaWxsZWdhbCBEYXRhICovCisJCQlwcmludGsoS0VSTl9FUlIgIj4lczogRXJyb3IgOiBOQUsgb3IgSWxsZWdhbCBEYXRhICIKKwkJCQkJIlJlY2VpdmVkXG4iLCBfX2Z1bmNfXyk7CisJCX0KKwl9IHdoaWxlIChyZXRyeS0tKTsKKworCS8qIEludGVydmFsIGZvciBuZXh0IGNvbW1hbmQgKi8KKwltZGVsYXkoMTApOworCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCBrdXJvYm94X3Byb19wb3dlcl9vZmYodm9pZCkKK3sKKwljb25zdCB1bnNpZ25lZCBjaGFyIHdhdGNoZG9na2lsbFtdCT0gezB4MDEsIDB4MzUsIDB4MDB9OworCWNvbnN0IHVuc2lnbmVkIGNoYXIgc2h1dGRvd253YWl0W10JPSB7MHgwMCwgMHgwY307CisJY29uc3QgdW5zaWduZWQgY2hhciBwb3dlcm9mZltdCQk9IHsweDAwLCAweDA2fTsKKwkvKiAzODQwMCBiYXVkIGRpdmlzb3IgKi8KKwljb25zdCB1bnNpZ25lZCBkaXZpc29yID0gKChPUklPTjVYX1RDTEsgKyAoOCAqIDM4NDAwKSkgLyAoMTYgKiAzODQwMCkpOworCisJcHJfaW5mbygiJXM6IHRyaWdnZXJpbmcgcG93ZXItb2ZmLi4uXG4iLCBfX2Z1bmNfXyk7CisKKwkvKiBoaWphY2sgdWFydDEgYW5kIHJlc2V0IGludG8gc2FuZSBzdGF0ZSAoMzg0MDAsOG4xLGV2ZW4gcGFyaXR5KSAqLworCXdyaXRlbCgweDgzLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKGRpdmlzb3IgJiAweGZmLCBVQVJUMV9SRUcoRExMKSk7CisJd3JpdGVsKChkaXZpc29yID4+IDgpICYgMHhmZiwgVUFSVDFfUkVHKERMTSkpOworCXdyaXRlbCgweDFiLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKDB4MDAsIFVBUlQxX1JFRyhJRVIpKTsKKwl3cml0ZWwoMHgwNywgVUFSVDFfUkVHKEZDUikpOworCXdyaXRlbCgweDAwLCBVQVJUMV9SRUcoTUNSKSk7CisKKwkvKiBTZW5kIHRoZSBjb21tYW5kcyB0byBzaHV0ZG93biB0aGUgS3Vyb2JveCBQcm8gKi8KKwlrdXJvYm94X3Byb19taWNvbnNlbmQod2F0Y2hkb2draWxsLCBzaXplb2Yod2F0Y2hkb2draWxsKSkgOworCWt1cm9ib3hfcHJvX21pY29uc2VuZChzaHV0ZG93bndhaXQsIHNpemVvZihzaHV0ZG93bndhaXQpKSA7CisJa3Vyb2JveF9wcm9fbWljb25zZW5kKHBvd2Vyb2ZmLCBzaXplb2YocG93ZXJvZmYpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsIFNldHVwCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBrdXJvYm94X3Byb19tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9VTlVTRUQgfSwKKwl7ICAxLCBNUFBfVU5VU0VEIH0sCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIEdQSU8gTWljb24gKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogR1BJTyBSdGMgKi8KKwl7ICA0LCBNUFBfVU5VU0VEIH0sCisJeyAgNSwgTVBQX1VOVVNFRCB9LAorCXsgIDYsIE1QUF9OQU5EIH0sCQkvKiBOQU5EIEZsYXNoIFJFbiAqLworCXsgIDcsIE1QUF9OQU5EIH0sCQkvKiBOQU5EIEZsYXNoIFdFbiAqLworCXsgIDgsIE1QUF9VTlVTRUQgfSwKKwl7ICA5LCBNUFBfVU5VU0VEIH0sCisJeyAxMCwgTVBQX1VOVVNFRCB9LAorCXsgMTEsIE1QUF9VTlVTRUQgfSwKKwl7IDEyLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBwcmVzZW5jZSAqLworCXsgMTMsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIHByZXNlbmNlICovCisJeyAxNCwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgYWN0aXZlICovCisJeyAxNSwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgYWN0aXZlICovCisJeyAxNiwgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFJYRCAqLworCXsgMTcsIE1QUF9VQVJUIH0sCQkvKiBVQVJUMSBUWEQgKi8KKwl7IDE4LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgQ1RTbiAqLworCXsgMTksIE1QUF9VQVJUIH0sCQkvKiBVQVJUMSBSVFNuICovCisJeyAtMSB9LAorfTsKIAogc3RhdGljIHZvaWQgX19pbml0IGt1cm9ib3hfcHJvX2luaXQodm9pZCkKIHsKQEAgLTE4OSw0NiArMzQ0LDMzIEBACiAJICovCiAJb3Jpb241eF9pbml0KCk7CiAKLQkvKgotCSAqIFNldHVwIHRoZSBDUFUgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3Igb3VyIGRldmljZXMKLQkgKi8KLQlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihLVVJPQk9YX1BST19OT1JfQk9PVF9CQVNFLAotCQkJCUtVUk9CT1hfUFJPX05PUl9CT09UX1NJWkUpOwotCW9yaW9uNXhfc2V0dXBfZGV2MF93aW4oS1VST0JPWF9QUk9fTkFORF9CQVNFLCBLVVJPQk9YX1BST19OQU5EX1NJWkUpOworCW9yaW9uNXhfbXBwX2NvbmYoa3Vyb2JveF9wcm9fbXBwX21vZGVzKTsKIAogCS8qCi0JICogT3BlbiBhIHNwZWNpYWwgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3IgdGhlIFBDSWUgV0EuCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgogCSAqLwotCW9yaW9uNXhfc2V0dXBfcGNpZV93YV93aW4oT1JJT041WF9QQ0lFX1dBX1BIWVNfQkFTRSwKLQkJCQlPUklPTjVYX1BDSUVfV0FfU0laRSk7Ci0KLQkvKgotCSAqIFNldHVwIE11bHRpcGxleGluZyBQaW5zIC0tCi0JICogTVBQWzAtMV0gTm90IHVzZWQKLQkgKiBNUFBbMl0gR1BJTyBNaWNvbgotCSAqIE1QUFszXSBHUElPIFJUQwotCSAqIE1QUFs0LTVdIE5vdCB1c2VkCi0JICogTVBQWzZdIE5hbmQgRmxhc2ggUkVuCi0JICogTVBQWzddIE5hbmQgRmxhc2ggV0VuCi0JICogTVBQWzgtMTFdIE5vdCB1c2VkCi0JICogTVBQWzEyXSBTQVRBIDAgcHJlc2VuY2UgSW5kaWNhdGlvbgotCSAqIE1QUFsxM10gU0FUQSAxIHByZXNlbmNlIEluZGljYXRpb24KLQkgKiBNUFBbMTRdIFNBVEEgMCBhY3RpdmUgSW5kaWNhdGlvbgotCSAqIE1QUFsxNV0gU0FUQSAxIGFjdGl2ZSBpbmRpY2F0aW9uCi0JICogTVBQWzE2LTE5XSBOb3QgdXNlZAotCSAqLwotCW9yaW9uNXhfd3JpdGUoTVBQXzBfN19DVFJMLCAweDQ0MjIwMDAzKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDB4NTU1NTAwMDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDB4MCk7Ci0KLQlvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkX3BpbnMoMHgwMDAwMDAwYyk7Ci0KLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmt1cm9ib3hfcHJvX25vcl9mbGFzaCk7Ci0JaWYgKG1hY2hpbmVfaXNfa3Vyb2JveF9wcm8oKSkKLQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZrdXJvYm94X3Byb19uYW5kX2ZsYXNoKTsKLQlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAma3Vyb2JveF9wcm9faTJjX3J0YywgMSk7CisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9laGNpMV9pbml0KCk7CiAJb3Jpb241eF9ldGhfaW5pdCgma3Vyb2JveF9wcm9fZXRoX2RhdGEpOworCW9yaW9uNXhfaTJjX2luaXQoKTsKIAlvcmlvbjV4X3NhdGFfaW5pdCgma3Vyb2JveF9wcm9fc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKwlvcmlvbjV4X3VhcnQxX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKEtVUk9CT1hfUFJPX05PUl9CT09UX0JBU0UsCisJCQkJICAgS1VST0JPWF9QUk9fTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZrdXJvYm94X3Byb19ub3JfZmxhc2gpOworCisJaWYgKG1hY2hpbmVfaXNfa3Vyb2JveF9wcm8oKSkgeworCQlvcmlvbjV4X3NldHVwX2RldjBfd2luKEtVUk9CT1hfUFJPX05BTkRfQkFTRSwKKwkJCQkgICAgICAgS1VST0JPWF9QUk9fTkFORF9TSVpFKTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZrdXJvYm94X3Byb19uYW5kX2ZsYXNoKTsKKwl9CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAma3Vyb2JveF9wcm9faTJjX3J0YywgMSk7CisKKwkvKiByZWdpc3RlciBLdXJvYm94IFBybyBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJcG1fcG93ZXJfb2ZmID0ga3Vyb2JveF9wcm9fcG93ZXJfb2ZmOwogfQogCiAjaWZkZWYgQ09ORklHX01BQ0hfS1VST0JPWF9QUk8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDhjYWRiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5jCkBAIC0wLDAgKzEsMTYzIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5jCisgKgorICogTVBQIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBPcmlvbiA1eCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKK3N0YXRpYyBpbnQgaXNfNTE4MWwodm9pZCkKK3sKKwl1MzIgZGV2OworCXUzMiByZXY7CisKKwlvcmlvbjV4X3BjaWVfaWQoJmRldiwgJnJldik7CisKKwlyZXR1cm4gISEoZGV2ID09IE1WODhGNTE4MV9ERVZfSUQgJiYgcmV2ID49IE1WODhGNTE4MUxfUkVWX0EwKTsKK30KKworc3RhdGljIGludCBpc181MTgyKHZvaWQpCit7CisJdTMyIGRldjsKKwl1MzIgcmV2OworCisJb3Jpb241eF9wY2llX2lkKCZkZXYsICZyZXYpOworCisJcmV0dXJuICEhKGRldiA9PSBNVjg4RjUxODJfREVWX0lEKTsKK30KKworc3RhdGljIGludCBpc181MjgxKHZvaWQpCit7CisJdTMyIGRldjsKKwl1MzIgcmV2OworCisJb3Jpb241eF9wY2llX2lkKCZkZXYsICZyZXYpOworCisJcmV0dXJuICEhKGRldiA9PSBNVjg4RjUyODFfREVWX0lEKTsKK30KKworc3RhdGljIGludCBfX2luaXQgZGV0ZXJtaW5lX3R5cGVfZW5jb2RpbmcoaW50IG1wcCwgZW51bSBvcmlvbjV4X21wcF90eXBlIHR5cGUpCit7CisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBNUFBfVU5VU0VEOgorCWNhc2UgTVBQX0dQSU86CisJCWlmIChtcHAgPT0gMCkKKwkJCXJldHVybiAzOworCQlpZiAobXBwID49IDEgJiYgbXBwIDw9IDE1KQorCQkJcmV0dXJuIDA7CisJCWlmIChtcHAgPj0gMTYgJiYgbXBwIDw9IDE5KSB7CisJCQlpZiAoaXNfNTE4MigpKQorCQkJCXJldHVybiA1OworCQkJaWYgKHR5cGUgPT0gTVBQX1VOVVNFRCkKKwkJCQlyZXR1cm4gMDsKKwkJfQorCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9QQ0lFX1JTVF9PVVRuOgorCQlpZiAobXBwID09IDApCisJCQlyZXR1cm4gMDsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfUENJX0FSQjoKKwkJaWYgKG1wcCA+PSAwICYmIG1wcCA8PSA3KQorCQkJcmV0dXJuIDI7CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX1BDSV9QTUVuOgorCQlpZiAobXBwID09IDIpCisJCQlyZXR1cm4gMzsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfR0lHRToKKwkJaWYgKG1wcCA+PSA4ICYmIG1wcCA8PSAxOSkKKwkJCXJldHVybiAxOworCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9OQU5EOgorCQlpZiAoaXNfNTE4MigpIHx8IGlzXzUyODEoKSkgeworCQkJaWYgKG1wcCA+PSA0ICYmIG1wcCA8PSA3KQorCQkJCXJldHVybiA0OworCQkJaWYgKG1wcCA+PSAxMiAmJiBtcHAgPD0gMTcpCisJCQkJcmV0dXJuIDQ7CisJCX0KKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfUENJX0NMSzoKKwkJaWYgKGlzXzUxODFsKCkgJiYgbXBwID49IDYgJiYgbXBwIDw9IDcpCisJCQlyZXR1cm4gNTsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfU0FUQV9MRUQ6CisJCWlmIChpc181MTgyKCkpIHsKKwkJCWlmIChtcHAgPj0gNCAmJiBtcHAgPD0gNykKKwkJCQlyZXR1cm4gNTsKKwkJCWlmIChtcHAgPj0gMTIgJiYgbXBwIDw9IDE1KQorCQkJCXJldHVybiA1OworCQl9CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX1VBUlQ6CisJCWlmIChtcHAgPj0gMTYgJiYgbXBwIDw9IDE5KQorCQkJcmV0dXJuIDA7CisJCXJldHVybiAtMTsKKwl9CisKKwlwcmludGsoS0VSTl9JTkZPICJ1bmtub3duIE1QUCB0eXBlICVkXG4iLCB0eXBlKTsKKworCXJldHVybiAtMTsKK30KKwordm9pZCBfX2luaXQgb3Jpb241eF9tcHBfY29uZihzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSAqbW9kZSkKK3sKKwl1MzIgbXBwXzBfN19jdHJsID0gcmVhZGwoTVBQXzBfN19DVFJMKTsKKwl1MzIgbXBwXzhfMTVfY3RybCA9IHJlYWRsKE1QUF84XzE1X0NUUkwpOworCXUzMiBtcHBfMTZfMTlfY3RybCA9IHJlYWRsKE1QUF8xNl8xOV9DVFJMKTsKKworCXdoaWxlIChtb2RlLT5tcHAgPj0gMCkgeworCQl1MzIgKnJlZzsKKwkJaW50IG51bV90eXBlOworCQlpbnQgc2hpZnQ7CisKKwkJaWYgKG1vZGUtPm1wcCA+PSAwICYmIG1vZGUtPm1wcCA8PSA3KQorCQkJcmVnID0gJm1wcF8wXzdfY3RybDsKKwkJZWxzZSBpZiAobW9kZS0+bXBwID49IDggJiYgbW9kZS0+bXBwIDw9IDE1KQorCQkJcmVnID0gJm1wcF84XzE1X2N0cmw7CisJCWVsc2UgaWYgKG1vZGUtPm1wcCA+PSAxNiAmJiBtb2RlLT5tcHAgPD0gMTkpCisJCQlyZWcgPSAmbXBwXzE2XzE5X2N0cmw7CisJCWVsc2UgeworCQkJcHJpbnRrKEtFUk5fRVJSICJvcmlvbjV4X21wcF9jb25mOiBpbnZhbGlkIE1QUCAiCisJCQkJCSIoJWQpXG4iLCBtb2RlLT5tcHApOworCQkJY29udGludWU7CisJCX0KKworCQludW1fdHlwZSA9IGRldGVybWluZV90eXBlX2VuY29kaW5nKG1vZGUtPm1wcCwgbW9kZS0+dHlwZSk7CisJCWlmIChudW1fdHlwZSA8IDApIHsKKwkJCXByaW50ayhLRVJOX0VSUiAib3Jpb241eF9tcHBfY29uZjogaW52YWxpZCBNUFAgIgorCQkJCQkiY29tYmluYXRpb24gKCVkLCAlZClcbiIsIG1vZGUtPm1wcCwKKwkJCQkJbW9kZS0+dHlwZSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCXNoaWZ0ID0gKG1vZGUtPm1wcCAmIDcpIDw8IDI7CisJCSpyZWcgJj0gfigweGYgPDwgc2hpZnQpOworCQkqcmVnIHw9IChudW1fdHlwZSAmIDB4ZikgPDwgc2hpZnQ7CisKKwkJb3Jpb241eF9ncGlvX3NldF92YWxpZChtb2RlLT5tcHAsICEhKG1vZGUtPnR5cGUgPT0gTVBQX0dQSU8pKTsKKworCQltb2RlKys7CisJfQorCisJd3JpdGVsKG1wcF8wXzdfY3RybCwgTVBQXzBfN19DVFJMKTsKKwl3cml0ZWwobXBwXzhfMTVfY3RybCwgTVBQXzhfMTVfQ1RSTCk7CisJd3JpdGVsKG1wcF8xNl8xOV9jdHJsLCBNUFBfMTZfMTlfQ1RSTCk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmggYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkwZTYxMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuaApAQCAtMCwwICsxLDc0IEBACisjaWZuZGVmIF9fQVJDSF9PUklPTjVYX01QUF9ICisjZGVmaW5lIF9fQVJDSF9PUklPTjVYX01QUF9ICisKK2VudW0gb3Jpb241eF9tcHBfdHlwZSB7CisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1bnVzZWQuCisJICovCisJTVBQX1VOVVNFRCwKKworCS8qCisJICogVGhpcyBNUFAgcGluIGlzIHVzZWQgYXMgYSBnZW5lcmljIEdQSU8gcGluLiAgVmFsaWQgZm9yCisJICogTVBQcyAwLTE1IGFuZCBkZXZpY2UgYnVzIGRhdGEgcGlucyAxNi0zMS4gIE9uIDUxODIsIGFsc28KKwkgKiB2YWxpZCBmb3IgTVBQcyAxNi0xOS4KKwkgKi8KKwlNUFBfR1BJTywKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBQQ0llX1JTVF9PVVRuIHBpbi4gIFZhbGlkIGZvcgorCSAqIE1QUCAwIG9ubHkuCisJICovCisJTVBQX1BDSUVfUlNUX09VVG4sCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgUENJIGFyYml0ZXIgcGluIChSRVFuL0dOVG4pLgorCSAqIFZhbGlkIGZvciBNUFBzIDAtNyBvbmx5LgorCSAqLworCU1QUF9QQ0lfQVJCLAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIFBDSV9QTUVuIHBpbi4gIFZhbGlkIGZvciBNUFAgMiBvbmx5LgorCSAqLworCU1QUF9QQ0lfUE1FbiwKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBHaWdFIGhhbGYtZHVwbGV4IChDT0wsIENSUykgb3IgR01JSQorCSAqIChSWEVSUiwgQ1JTLCBUWEVSUiwgVFhEWzc6NF0sIFJYRFs3OjRdKSBwaW4uICBWYWxpZCBmb3IKKwkgKiBNUFBzIDgtMTkgb25seS4KKwkgKi8KKwlNUFBfR0lHRSwKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBOQU5EIFJFbi9XRW4gcGluLiAgVmFsaWQgZm9yIE1QUHMKKwkgKiA0LTcgYW5kIDEyLTE3IG9ubHksIGFuZCBvbmx5IG9uIHRoZSA1MTgxbC81MTgyLzUyODEuCisJICovCisJTVBQX05BTkQsCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgYSBQQ0kgY2xvY2sgb3V0cHV0IHBpbi4gIFZhbGlkIGZvcgorCSAqIE1QUHMgNi03IG9ubHksIGFuZCBvbmx5IG9uIHRoZSA1MTgxbC4KKwkgKi8KKwlNUFBfUENJX0NMSywKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBhIFNBVEEgcHJlc2VuY2UvYWN0aXZpdHkgTEVELgorCSAqIFZhbGlkIGZvciBNUFBzIDQtNyBhbmQgMTItMTUgb25seSwgYW5kIG9ubHkgb24gdGhlIDUxODIuCisJICovCisJTVBQX1NBVEFfTEVELAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIFVBUlQxIFJYRC9UWEQvQ1RTbi9SVFNuIHBpbi4KKwkgKiBWYWxpZCBmb3IgTVBQcyAxNi0xOSBvbmx5LgorCSAqLworCU1QUF9VQVJULAorfTsKKworc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgeworCWludAkJCW1wcDsKKwllbnVtIG9yaW9uNXhfbXBwX3R5cGUJdHlwZTsKK307CisKK3ZvaWQgb3Jpb241eF9tcHBfY29uZihzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSAqbW9kZSk7CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXNzMi1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21zczItc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2U5ZTQwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21zczItc2V0dXAuYwpAQCAtMCwwICsxLDI3MCBAQAorLyoKKyAqIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSBCb2FyZCBTZXR1cAorICoKKyAqIE1haW50YWluZXI6IFN5bHZlciBCcnVuZWF1IDxzeWx2ZXIuYnJ1bmVhdUBnb29nbGVtYWlsLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uCisgKiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2xlZHMuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKKyNkZWZpbmUgTVNTMl9OT1JfQk9PVF9CQVNFCTB4ZmY4MDAwMDAKKyNkZWZpbmUgTVNTMl9OT1JfQk9PVF9TSVpFCVNaXzI1NksKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUkgSW5mbworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUkgaGFyZHdhcmUgOgorICogLSBNYXJ2ZWxsIDg4RjUxODItQTIgQzUwMAorICogLSBNYXJ2ZWxsIDg4RTExMTEgR2lnYWJpdCBFdGhlcm5ldCBQSFkKKyAqIC0gUlRDIE00MVQ4MSAoQDB4NjgpIG9uIEkyQyBidXMKKyAqIC0gMjU2S0IgTk9SIGZsYXNoCisgKiAtIDY0TUIgb2YgUkFNCisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAyNTZLQiBOT1IgRmxhc2ggb24gQk9PVCBEZXZpY2UKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBtc3MyX25vcl9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtc3MyX25vcl9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CQk9IE1TUzJfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IE1TUzJfTk9SX0JPT1RfQkFTRSArIE1TUzJfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtc3MyX25vcl9mbGFzaCA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm1zczJfbm9yX2ZsYXNoX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSAmbXNzMl9ub3JfZmxhc2hfcmVzb3VyY2UsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFBDSSBzZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgaW50IF9faW5pdCBtc3MyX3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSBtc3MyX3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycyA9IDIsCisJLnN3aXp6bGUJPSBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwCQk9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKKwkuc2NhbgkJPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCisJLm1hcF9pcnEJPSBtc3MyX3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgbXNzMl9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX21zczIoKSkKKwkJcGNpX2NvbW1vbl9pbml0KCZtc3MyX3BjaSk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChtc3MyX3BjaV9pbml0KTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEV0aGVybmV0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIG1zczJfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gOCwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU0FUQQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIG1zczJfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR1BJTyBidXR0b25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBNU1MyX0dQSU9fS0VZX1JFU0VUCTEyCisjZGVmaW5lIE1TUzJfR1BJT19LRVlfUE9XRVIJMTEKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIG1zczJfYnV0dG9uc1tdID0geworCXsKKwkJLmNvZGUJCT0gS0VZX1BPV0VSLAorCQkuZ3BpbwkJPSBNU1MyX0dQSU9fS0VZX1BPV0VSLAorCQkuZGVzYwkJPSAiUG93ZXIiLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJfSwgeworCQkuY29kZQkJPSBLRVlfUkVTVEFSVCwKKwkJLmdwaW8JCT0gTVNTMl9HUElPX0tFWV9SRVNFVCwKKwkJLmRlc2MJCT0gIlJlc2V0IiwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIG1zczJfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBtc3MyX2J1dHRvbnMsCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShtc3MyX2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXNzMl9idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXNzMl9idXR0b25fZGF0YSwKKwl9LAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBSVEMgbTQxdDgxIG9uIEkyQyBidXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIE1TUzJfR1BJT19SVENfSVJRCTMKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIG1zczJfaTJjX3J0YyA9IHsKKwlJMkNfQk9BUkRfSU5GTygibTQxdDgxIiwgMHg2OCksCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIE1TUzIgcG93ZXIgb2ZmIG1ldGhvZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogT24gdGhlIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSwgdGhlIHNodXRkb3duIHByb2Nlc3MgaXMgdGhlIGZvbGxvd2luZyA6CisgKiAtIFVzZXJsYW5kIG1vZGlmaWVzIFUtYm9vdCBlbnYgdG8gdGVsbCBVLWJvb3QgdG8gZ28gaWRsZSBhdCBuZXh0IGJvb3QKKyAqIC0gVGhlIGJvYXJkIHJlYm9vdHMKKyAqIC0gVS1ib290IHN0YXJ0cyBhbmQgZ28gaW50byBhbiBpZGxlIG1vZGUgdW50aWwgdGhlIHVzZXIgcHJlc3MgInBvd2VyIgorICovCitzdGF0aWMgdm9pZCBtc3MyX3Bvd2VyX29mZih2b2lkKQoreworCXUzMiByZWc7CisKKwkvKgorCSAqIEVuYWJsZSBhbmQgaXNzdWUgc29mdCByZXNldAorCSAqLworCXJlZyA9IHJlYWRsKENQVV9SRVNFVF9NQVNLKTsKKwlyZWcgfD0gMSA8PCAyOworCXdyaXRlbChyZWcsIENQVV9SRVNFVF9NQVNLKTsKKworCXJlZyA9IHJlYWRsKENQVV9TT0ZUX1JFU0VUKTsKKwlyZWcgfD0gMTsKKwl3cml0ZWwocmVnLCBDUFVfU09GVF9SRVNFVCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHZW5lcmFsIFNldHVwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBtc3MyX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIExFRCAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBFcnJvciBMRUQgKi8KKwl7ICAyLCBNUFBfVU5VU0VEIH0sCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnRlcnJ1cHQgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogSEREIGluZC4gKFNpbmdsZS9EdWFsKSovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIEhEMCA1ViBjb250cm9sICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIEhEMCAxMlYgY29udHJvbCAqLworCXsgIDcsIE1QUF9HUElPIH0sCQkvKiBIRDEgNVYgY29udHJvbCAqLworCXsgIDgsIE1QUF9HUElPIH0sCQkvKiBIRDEgMTJWIGNvbnRyb2wgKi8KKwl7ICA5LCBNUFBfVU5VU0VEIH0sCisJeyAxMCwgTVBQX0dQSU8gfSwJCS8qIEZhbiBjb250cm9sICovCisJeyAxMSwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIGJ1dHRvbiAqLworCXsgMTIsIE1QUF9HUElPIH0sCQkvKiBSZXNldCBidXR0b24gKi8KKwl7IDEzLCBNUFBfVU5VU0VEIH0sCisJeyAxNCwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgYWN0aXZlICovCisJeyAxNSwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgYWN0aXZlICovCisJeyAxNiwgTVBQX1VOVVNFRCB9LAorCXsgMTcsIE1QUF9VTlVTRUQgfSwKKwl7IDE4LCBNUFBfVU5VU0VEIH0sCisJeyAxOSwgTVBQX1VOVVNFRCB9LAorCXsgLTEgfSwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBtc3MyX2luaXQodm9pZCkKK3sKKwkvKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LiAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZihtc3MyX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIE1QUFsyMF0gVW51c2VkCisJICogTVBQWzIxXSBQQ0kgY2xvY2sKKwkgKiBNUFBbMjJdIFVTQiAwIG92ZXIgY3VycmVudAorCSAqIE1QUFsyM10gVVNCIDEgb3ZlciBjdXJyZW50CisJICovCisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2VoY2kxX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZtc3MyX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF9zYXRhX2luaXQoJm1zczJfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKE1TUzJfTk9SX0JPT1RfQkFTRSwgTVNTMl9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm1zczJfbm9yX2ZsYXNoKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXNzMl9idXR0b25fZGV2aWNlKTsKKworCWlmIChncGlvX3JlcXVlc3QoTVNTMl9HUElPX1JUQ19JUlEsICJydGMiKSA9PSAwKSB7CisJCWlmIChncGlvX2RpcmVjdGlvbl9pbnB1dChNU1MyX0dQSU9fUlRDX0lSUSkgPT0gMCkKKwkJCW1zczJfaTJjX3J0Yy5pcnEgPSBncGlvX3RvX2lycShNU1MyX0dQSU9fUlRDX0lSUSk7CisJCWVsc2UKKwkJCWdwaW9fZnJlZShNU1MyX0dQSU9fUlRDX0lSUSk7CisJfQorCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZtc3MyX2kyY19ydGMsIDEpOworCisJLyogcmVnaXN0ZXIgbXNzMiBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJcG1fcG93ZXJfb2ZmID0gbXNzMl9wb3dlcl9vZmY7Cit9CisKK01BQ0hJTkVfU1RBUlQoTVNTMiwgIk1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSIpCisJLyogTWFpbnRhaW5lcjogU3lsdmVyIEJydW5lYXUgPHN5bHZlci5icnVuZWF1QGdvb2dsZW1haWwuY29tPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSBtc3MyX2luaXQsCisJLm1hcF9pbwkJPSBvcmlvbjV4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBvcmlvbjV4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmb3Jpb241eF90aW1lciwKKwkuZml4dXAJCT0gdGFnX2ZpeHVwX21lbTMyCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L212MjEyMC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L212MjEyMC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1ZjNiMGYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXYyMTIwLXNldHVwLmMKQEAgLTAsMCArMSwyMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgSGVyYmVydCBWYWxlcmlvIFJpZWRlbCA8aHZyQGdudS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTWFydGluIE1pY2hsbWF5ciA8dGJtQGN5cml1cy5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUKKyAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8bGludXgvbGVkcy5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKKyNkZWZpbmUgTVYyMTIwX05PUl9CT09UX0JBU0UJMHhmNDAwMDAwMAorI2RlZmluZSBNVjIxMjBfTk9SX0JPT1RfU0laRQlTWl81MTJLCisKKyNkZWZpbmUgTVYyMTIwX0dQSU9fUlRDX0lSUQkzCisjZGVmaW5lIE1WMjEyMF9HUElPX0tFWV9SRVNFVAkxNworI2RlZmluZSBNVjIxMjBfR1BJT19LRVlfUE9XRVIJMTgKKyNkZWZpbmUgTVYyMTIwX0dQSU9fUE9XRVJfT0ZGCTE5CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFdGhlcm5ldAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgbXYyMTIwX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IDgsCit9OworCitzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBtdjIxMjBfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBtdjIxMjBfcGFydGl0aW9uc1tdID0geworCXsKKwkJLm5hbWUJPSAiZmlybXdhcmUiLAorCQkuc2l6ZQk9IDB4MDAwODAwMDAsCisJCS5vZmZzZXQJPSAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBtdjIxMjBfbm9yX2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDEsCisJLnBhcnRzCQk9IG12MjEyMF9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUobXYyMTIwX3BhcnRpdGlvbnMpCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12MjEyMF9ub3JfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBNVjIxMjBfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IE1WMjEyMF9OT1JfQk9PVF9CQVNFICsgTVYyMTIwX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXYyMTIwX25vcl9mbGFzaCA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12MjEyMF9ub3JfZmxhc2hfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9ICZtdjIxMjBfbm9yX2ZsYXNoX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBtdjIxMjBfYnV0dG9uc1tdID0geworCXsKKwkJLmNvZGUJCT0gS0VZX1JFU1RBUlQsCisJCS5ncGlvCQk9IE1WMjEyMF9HUElPX0tFWV9SRVNFVCwKKwkJLmRlc2MJCT0gInJlc2V0IiwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCX0sIHsKKwkJLmNvZGUJCT0gS0VZX1BPV0VSLAorCQkuZ3BpbwkJPSBNVjIxMjBfR1BJT19LRVlfUE9XRVIsCisJCS5kZXNjCQk9ICJwb3dlciIsCisJCS5hY3RpdmVfbG93CT0gMSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBtdjIxMjBfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBtdjIxMjBfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKG12MjEyMF9idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12MjEyMF9idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12MjEyMF9idXR0b25fZGF0YSwKKwl9LAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgbXYyMTIwX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIFN5cyBzdGF0dXMgTEVEICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFN5cyBlcnJvciBMRUQgKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogT3ZlclRlbXAgaW50ZXJydXB0ICovCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnRlcnJ1cHQgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogVl9MRUQgNVYgKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogVl9MRUQgMy4zViAqLworCXsgIDYsIE1QUF9VTlVTRUQgfSwKKwl7ICA3LCBNUFBfVU5VU0VEIH0sCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIFNBVEEgMCBmYWlsIExFRCAqLworCXsgIDksIE1QUF9HUElPIH0sCQkvKiBTQVRBIDEgZmFpbCBMRUQgKi8KKwl7IDEwLCBNUFBfVU5VU0VEIH0sCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIHByZXNlbmNlICovCisJeyAxMywgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgcHJlc2VuY2UgKi8KKwl7IDE0LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBhY3RpdmUgKi8KKwl7IDE1LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBhY3RpdmUgKi8KKwl7IDE2LCBNUFBfVU5VU0VEIH0sCisJeyAxNywgTVBQX0dQSU8gfSwJCS8qIFJlc2V0IGJ1dHRvbiAqLworCXsgMTgsIE1QUF9HUElPIH0sCQkvKiBQb3dlciBidXR0b24gKi8KKwl7IDE5LCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgb2ZmICovCisJeyAtMSB9LAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIG12MjEyMF9pMmNfcnRjID0geworCUkyQ19CT0FSRF9JTkZPKCJwY2Y4NTYzIiwgMHg1MSksCisJLmlycQk9IDAsCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIG12MjEyMF9sZWRfcGluc1tdID0geworCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6Ymx1ZTpoZWFsdGgiLAorCQkuZ3BpbwkJCT0gMCwKKwl9LAorCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6cmVkOmhlYWx0aCIsCisJCS5ncGlvCQkJPSAxLAorCX0sCisJeworCQkubmFtZQkJCT0gIm12MjEyMDpsZWQ6YnJpZ2h0IiwKKwkJLmdwaW8JCQk9IDQsCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAiZGVmYXVsdC1vbiIsCisJfSwKKwl7CisJCS5uYW1lCQkJPSAibXYyMTIwOmxlZDpkaW1tZWQiLAorCQkuZ3BpbwkJCT0gNSwKKwl9LAorCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6cmVkOnNhdGEwIiwKKwkJLmdwaW8JCQk9IDgsCisJCS5hY3RpdmVfbG93CQk9IDEsCisJfSwKKwl7CisJCS5uYW1lCQkJPSAibXYyMTIwOnJlZDpzYXRhMSIsCisJCS5ncGlvCQkJPSA5LAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCX0sCisKK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWRfcGxhdGZvcm1fZGF0YSBtdjIxMjBfbGVkX2RhdGEgPSB7CisJLmxlZHMJCT0gbXYyMTIwX2xlZF9waW5zLAorCS5udW1fbGVkcwk9IEFSUkFZX1NJWkUobXYyMTIwX2xlZF9waW5zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12MjEyMF9sZWRzID0geworCS5uYW1lCT0gImxlZHMtZ3BpbyIsCisJLmlkCT0gLTEsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXYyMTIwX2xlZF9kYXRhLAorCX0KK307CisKK3N0YXRpYyB2b2lkIG12MjEyMF9wb3dlcl9vZmYodm9pZCkKK3sKKwlwcl9pbmZvKCIlczogdHJpZ2dlcmluZyBwb3dlci1vZmYuLi5cbiIsIF9fZnVuY19fKTsKKwlncGlvX3NldF92YWx1ZShNVjIxMjBfR1BJT19QT1dFUl9PRkYsIDApOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgbXYyMTIwX2luaXQodm9pZCkKK3sKKwkvKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LiAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZihtdjIxMjBfbXBwX21vZGVzKTsKKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJm12MjEyMF9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfc2F0YV9pbml0KCZtdjIxMjBfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKE1WMjEyMF9OT1JfQk9PVF9CQVNFLCBNVjIxMjBfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjIxMjBfbm9yX2ZsYXNoKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXYyMTIwX2J1dHRvbl9kZXZpY2UpOworCisJaWYgKGdwaW9fcmVxdWVzdChNVjIxMjBfR1BJT19SVENfSVJRLCAicnRjIikgPT0gMCkgeworCQlpZiAoZ3Bpb19kaXJlY3Rpb25faW5wdXQoTVYyMTIwX0dQSU9fUlRDX0lSUSkgPT0gMCkKKwkJCW12MjEyMF9pMmNfcnRjLmlycSA9IGdwaW9fdG9faXJxKE1WMjEyMF9HUElPX1JUQ19JUlEpOworCQllbHNlCisJCQlncGlvX2ZyZWUoTVYyMTIwX0dQSU9fUlRDX0lSUSk7CisJfQorCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZtdjIxMjBfaTJjX3J0YywgMSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjIxMjBfbGVkcyk7CisKKwkvKiByZWdpc3RlciBtdjIxMjAgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCWlmIChncGlvX3JlcXVlc3QoTVYyMTIwX0dQSU9fUE9XRVJfT0ZGLCAiUE9XRVJPRkYiKSAhPSAwIHx8CisJICAgIGdwaW9fZGlyZWN0aW9uX291dHB1dChNVjIxMjBfR1BJT19QT1dFUl9PRkYsIDEpICE9IDApCisJCXByX2VycigibXYyMTIwOiBmYWlsZWQgdG8gc2V0dXAgcG93ZXItb2ZmIEdQSU9cbiIpOworCXBtX3Bvd2VyX29mZiA9IG12MjEyMF9wb3dlcl9vZmY7Cit9CisKKy8qIFdhcm5pbmc6IEhQIHVzZXMgYSB3cm9uZyBtYWNoLXR5cGUgKD01MjYpIGluIHRoZWlyIGJvb3Rsb2FkZXIgKi8KK01BQ0hJTkVfU1RBUlQoTVYyMTIwLCAiSFAgTWVkaWEgVmF1bHQgbXYyMTIwIikKKwkvKiBNYWludGFpbmVyOiBNYXJ0aW4gTWljaGxtYXlyIDx0Ym1AY3lyaXVzLmNvbT4gKi8KKwkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gbXYyMTIwX2luaXQsCisJLm1hcF9pbwkJPSBvcmlvbjV4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBvcmlvbjV4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmb3Jpb241eF90aW1lciwKKwkuZml4dXAJCT0gdGFnX2ZpeHVwX21lbTMyCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3BjaS5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3BjaS5jCmluZGV4IDlkNWQzOWYuLjI1NmE0ZjYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9wY2kuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcGNpLmMKQEAgLTE1Miw2ICsxNTIsOCBAQAogCWlmIChkZXYgPT0gTVY4OEY1MTgxX0RFVl9JRCB8fCBkZXYgPT0gTVY4OEY1MTgyX0RFVl9JRCkgewogCQlwcmludGsoS0VSTl9OT1RJQ0UgIkFwcGx5aW5nIE9yaW9uLTEvT3Jpb24tTkFTIFBDSWUgY29uZmlnICIKIAkJCQkgICAicmVhZCB0cmFuc2FjdGlvbiB3b3JrYXJvdW5kXG4iKTsKKwkJb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAorCQkJCQkgIE9SSU9ONVhfUENJRV9XQV9TSVpFKTsKIAkJcGNpZV9vcHMucmVhZCA9IHBjaWVfcmRfY29uZl93YTsKIAl9CiAKQEAgLTI0MCwxMyArMjQyLDEzIEBACiAgKiBQQ0kgQWRkcmVzcyBEZWNvZGUgV2luZG93cyByZWdpc3RlcnMKICAqLwogI2RlZmluZSBQQ0lfQkFSX1NJWkVfRERSX0NTKG4pCSgoKG4pID09IDApID8gT1JJT041WF9QQ0lfUkVHKDB4YzA4KSA6IFwKLQkJCQkoKG4pID09IDEpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDA4KSA6ICBcCi0JCQkJKChuKSA9PSAyKSA/IE9SSU9ONVhfUENJX1JFRygweGMwYykgOiAgXAotCQkJCSgobikgPT0gMykgPyBPUklPTjVYX1BDSV9SRUcoMHhkMGMpIDogMCkKLSNkZWZpbmUgUENJX0JBUl9SRU1BUF9ERFJfQ1MobikJKCgobikgPT0wKSA/IE9SSU9ONVhfUENJX1JFRygweGM0OCkgOiAgXAotCQkJCSgobikgPT0gMSkgPyBPUklPTjVYX1BDSV9SRUcoMHhkNDgpIDogIFwKLQkJCQkoKG4pID09IDIpID8gT1JJT041WF9QQ0lfUkVHKDB4YzRjKSA6ICBcCi0JCQkJKChuKSA9PSAzKSA/IE9SSU9ONVhfUENJX1JFRygweGQ0YykgOiAwKQorCQkJCSAoKG4pID09IDEpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDA4KSA6IFwKKwkJCQkgKChuKSA9PSAyKSA/IE9SSU9ONVhfUENJX1JFRygweGMwYykgOiBcCisJCQkJICgobikgPT0gMykgPyBPUklPTjVYX1BDSV9SRUcoMHhkMGMpIDogMCkKKyNkZWZpbmUgUENJX0JBUl9SRU1BUF9ERFJfQ1MobikJKCgobikgPT0gMCkgPyBPUklPTjVYX1BDSV9SRUcoMHhjNDgpIDogXAorCQkJCSAoKG4pID09IDEpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDQ4KSA6IFwKKwkJCQkgKChuKSA9PSAyKSA/IE9SSU9ONVhfUENJX1JFRygweGM0YykgOiBcCisJCQkJICgobikgPT0gMykgPyBPUklPTjVYX1BDSV9SRUcoMHhkNGMpIDogMCkKICNkZWZpbmUgUENJX0JBUl9FTkFCTEUJCU9SSU9ONVhfUENJX1JFRygweGMzYykKICNkZWZpbmUgUENJX0FERFJfREVDT0RFX0NUUkwJT1JJT041WF9QQ0lfUkVHKDB4ZDNjKQogCkBAIC0yNjQsOSArMjY2LDExIEBACiAgKi8KIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sob3Jpb241eF9wY2lfbG9jayk7CiAKK3N0YXRpYyBpbnQgb3Jpb241eF9wY2lfY2FyZGJ1c19tb2RlOworCiBzdGF0aWMgaW50IG9yaW9uNXhfcGNpX2xvY2FsX2J1c19ucih2b2lkKQogewotCXUzMiBjb25mID0gb3Jpb241eF9yZWFkKFBDSV9QMlBfQ09ORik7CisJdTMyIGNvbmYgPSByZWFkbChQQ0lfUDJQX0NPTkYpOwogCXJldHVybigoY29uZiAmIFBDSV9QMlBfQlVTX01BU0spID4+IFBDSV9QMlBfQlVTX09GRlMpOwogfQogCkBAIC0yNzYsMTEgKzI4MCwxMSBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJm9yaW9uNXhfcGNpX2xvY2ssIGZsYWdzKTsKIAotCW9yaW9uNXhfd3JpdGUoUENJX0NPTkZfQUREUiwgUENJX0NPTkZfQlVTKGJ1cykgfAotCQkJUENJX0NPTkZfREVWKGRldikgfCBQQ0lfQ09ORl9SRUcod2hlcmUpIHwKLQkJCVBDSV9DT05GX0ZVTkMoZnVuYykgfCBQQ0lfQ09ORl9BRERSX0VOKTsKKwl3cml0ZWwoUENJX0NPTkZfQlVTKGJ1cykgfAorCQlQQ0lfQ09ORl9ERVYoZGV2KSB8IFBDSV9DT05GX1JFRyh3aGVyZSkgfAorCQlQQ0lfQ09ORl9GVU5DKGZ1bmMpIHwgUENJX0NPTkZfQUREUl9FTiwgUENJX0NPTkZfQUREUik7CiAKLQkqdmFsID0gb3Jpb241eF9yZWFkKFBDSV9DT05GX0RBVEEpOworCSp2YWwgPSByZWFkbChQQ0lfQ09ORl9EQVRBKTsKIAogCWlmIChzaXplID09IDEpCiAJCSp2YWwgPSAoKnZhbCA+PiAoOCood2hlcmUgJiAweDMpKSkgJiAweGZmOwpAQCAtMzAwLDkgKzMwNCw5IEBACiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmb3Jpb241eF9wY2lfbG9jaywgZmxhZ3MpOwogCi0Jb3Jpb241eF93cml0ZShQQ0lfQ09ORl9BRERSLCBQQ0lfQ09ORl9CVVMoYnVzKSB8Ci0JCQlQQ0lfQ09ORl9ERVYoZGV2KSB8IFBDSV9DT05GX1JFRyh3aGVyZSkgfAotCQkJUENJX0NPTkZfRlVOQyhmdW5jKSB8IFBDSV9DT05GX0FERFJfRU4pOworCXdyaXRlbChQQ0lfQ09ORl9CVVMoYnVzKSB8CisJCVBDSV9DT05GX0RFVihkZXYpIHwgUENJX0NPTkZfUkVHKHdoZXJlKSB8CisJCVBDSV9DT05GX0ZVTkMoZnVuYykgfCBQQ0lfQ09ORl9BRERSX0VOLCBQQ0lfQ09ORl9BRERSKTsKIAogCWlmIChzaXplID09IDQpIHsKIAkJX19yYXdfd3JpdGVsKHZhbCwgUENJX0NPTkZfREFUQSk7CkBAIC0zMTksMTQgKzMyMywzMCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgb3Jpb241eF9wY2lfdmFsaWRfY29uZmlnKGludCBidXMsIHUzMiBkZXZmbikKK3sKKwlpZiAoYnVzID09IG9yaW9uNXhfcGNpX2xvY2FsX2J1c19ucigpKSB7CisJCS8qCisJCSAqIERvbid0IGdvIG91dCBmb3IgbG9jYWwgZGV2aWNlCisJCSAqLworCQlpZiAoUENJX1NMT1QoZGV2Zm4pID09IDAgJiYgUENJX0ZVTkMoZGV2Zm4pICE9IDApCisJCQlyZXR1cm4gMDsKKworCQkvKgorCQkgKiBXaGVuIHRoZSBQQ0kgc2lnbmFscyBhcmUgZGlyZWN0bHkgY29ubmVjdGVkIHRvIGEKKwkJICogQ2FyZGJ1cyBzbG90LCBpZ25vcmUgYWxsIGJ1dCBkZXZpY2UgSURzIDAgYW5kIDEuCisJCSAqLworCQlpZiAob3Jpb241eF9wY2lfY2FyZGJ1c19tb2RlICYmIFBDSV9TTE9UKGRldmZuKSA+IDEpCisJCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIGludCBvcmlvbjV4X3BjaV9yZF9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwKIAkJCQlpbnQgd2hlcmUsIGludCBzaXplLCB1MzIgKnZhbCkKIHsKLQkvKgotCSAqIERvbid0IGdvIG91dCBmb3IgbG9jYWwgZGV2aWNlCi0JICovCi0JaWYgKGJ1cy0+bnVtYmVyID09IG9yaW9uNXhfcGNpX2xvY2FsX2J1c19ucigpICYmCi0JICAgIFBDSV9TTE9UKGRldmZuKSA9PSAwICYmIFBDSV9GVU5DKGRldmZuKSAhPSAwKSB7CisJaWYgKCFvcmlvbjV4X3BjaV92YWxpZF9jb25maWcoYnVzLT5udW1iZXIsIGRldmZuKSkgewogCQkqdmFsID0gMHhmZmZmZmZmZjsKIAkJcmV0dXJuIFBDSUJJT1NfREVWSUNFX05PVF9GT1VORDsKIAl9CkBAIC0zMzgsOCArMzU4LDcgQEAKIHN0YXRpYyBpbnQgb3Jpb241eF9wY2lfd3JfY29uZihzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1MzIgZGV2Zm4sCiAJCQkJaW50IHdoZXJlLCBpbnQgc2l6ZSwgdTMyIHZhbCkKIHsKLQlpZiAoYnVzLT5udW1iZXIgPT0gb3Jpb241eF9wY2lfbG9jYWxfYnVzX25yKCkgJiYKLQkgICAgUENJX1NMT1QoZGV2Zm4pID09IDAgJiYgUENJX0ZVTkMoZGV2Zm4pICE9IDApCisJaWYgKCFvcmlvbjV4X3BjaV92YWxpZF9jb25maWcoYnVzLT5udW1iZXIsIGRldmZuKSkKIAkJcmV0dXJuIFBDSUJJT1NfREVWSUNFX05PVF9GT1VORDsKIAogCXJldHVybiBvcmlvbjV4X3BjaV9od193cl9jb25mKGJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXZmbiksCkBAIC0zNTMsOSArMzcyLDkgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IG9yaW9uNXhfcGNpX3NldF9idXNfbnIoaW50IG5yKQogewotCXUzMiBwMnAgPSBvcmlvbjV4X3JlYWQoUENJX1AyUF9DT05GKTsKKwl1MzIgcDJwID0gcmVhZGwoUENJX1AyUF9DT05GKTsKIAotCWlmIChvcmlvbjV4X3JlYWQoUENJX01PREUpICYgUENJX01PREVfUENJWCkgeworCWlmIChyZWFkbChQQ0lfTU9ERSkgJiBQQ0lfTU9ERV9QQ0lYKSB7CiAJCS8qCiAJCSAqIFBDSS1YIG1vZGUKIAkJICovCkBAIC0zNzIsNyArMzkxLDcgQEAKIAkJICovCiAJCXAycCAmPSB+UENJX1AyUF9CVVNfTUFTSzsKIAkJcDJwIHw9IChuciA8PCBQQ0lfUDJQX0JVU19PRkZTKTsKLQkJb3Jpb241eF93cml0ZShQQ0lfUDJQX0NPTkYsIHAycCk7CisJCXdyaXRlbChwMnAsIFBDSV9QMlBfQ09ORik7CiAJfQogfQogCkBAIC0zOTksNyArNDE4LDcgQEAKIAkgKiBGaXJzdCwgZGlzYWJsZSB3aW5kb3dzLgogCSAqLwogCXdpbl9lbmFibGUgPSAweGZmZmZmZmZmOwotCW9yaW9uNXhfd3JpdGUoUENJX0JBUl9FTkFCTEUsIHdpbl9lbmFibGUpOworCXdyaXRlbCh3aW5fZW5hYmxlLCBQQ0lfQkFSX0VOQUJMRSk7CiAKIAkvKgogCSAqIFNldHVwIHdpbmRvd3MgZm9yIEREUiBiYW5rcy4KQEAgLTQyNSwxMCArNDQ0LDEwIEBACiAJCSAqLwogCQlyZWcgPSBQQ0lfQ09ORl9SRUdfQkFSX0hJX0NTKGNzLT5jc19pbmRleCk7CiAJCW9yaW9uNXhfcGNpX2h3X3dyX2NvbmYoYnVzLCAwLCBmdW5jLCByZWcsIDQsIDApOwotCQlvcmlvbjV4X3dyaXRlKFBDSV9CQVJfU0laRV9ERFJfQ1MoY3MtPmNzX2luZGV4KSwKLQkJCQkoY3MtPnNpemUgLSAxKSAmIDB4ZmZmZmYwMDApOwotCQlvcmlvbjV4X3dyaXRlKFBDSV9CQVJfUkVNQVBfRERSX0NTKGNzLT5jc19pbmRleCksCi0JCQkJY3MtPmJhc2UgJiAweGZmZmZmMDAwKTsKKwkJd3JpdGVsKChjcy0+c2l6ZSAtIDEpICYgMHhmZmZmZjAwMCwKKwkJCVBDSV9CQVJfU0laRV9ERFJfQ1MoY3MtPmNzX2luZGV4KSk7CisJCXdyaXRlbChjcy0+YmFzZSAmIDB4ZmZmZmYwMDAsCisJCQlQQ0lfQkFSX1JFTUFQX0REUl9DUyhjcy0+Y3NfaW5kZXgpKTsKIAogCQkvKgogCQkgKiBFbmFibGUgZGVjb2RlIHdpbmRvdyBmb3IgdGhpcyBjaGlwIHNlbGVjdC4KQEAgLTQzOSw3ICs0NTgsNyBAQAogCS8qCiAJICogUmUtZW5hYmxlIGRlY29kZSB3aW5kb3dzLgogCSAqLwotCW9yaW9uNXhfd3JpdGUoUENJX0JBUl9FTkFCTEUsIHdpbl9lbmFibGUpOworCXdyaXRlbCh3aW5fZW5hYmxlLCBQQ0lfQkFSX0VOQUJMRSk7CiAKIAkvKgogCSAqIERpc2FibGUgYXV0b21hdGljIHVwZGF0ZSBvZiBhZGRyZXNzIHJlbWFwaW5nIHdoZW4gd3JpdGluZyB0byBCQVJzLgpAQCAtNTIyLDYgKzU0MSwxMSBAQAogfQogREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfTUFSVkVMTCwgUENJX0FOWV9JRCwgcmNfcGNpX2ZpeHVwKTsKIAordm9pZCBfX2luaXQgb3Jpb241eF9wY2lfc2V0X2NhcmRidXNfbW9kZSh2b2lkKQoreworCW9yaW9uNXhfcGNpX2NhcmRidXNfbW9kZSA9IDE7Cit9CisKIGludCBfX2luaXQgb3Jpb241eF9wY2lfc3lzX3NldHVwKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKQogewogCWludCByZXQgPSAwOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZnhvLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1meG8tc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTBlMzY1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZnhvLXNldHVwLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1meG8tc2V0dXAuYworICoKKyAqIE1hcnZlbGwgT3Jpb24tVm9JUCBGWE8gUmVmZXJlbmNlIERlc2lnbiBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbGVkcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUkQtODhGNTE4MUwgRlhPIEluZm8KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIDhNIE5PUiBmbGFzaCBEZXZpY2UgYnVzIGJvb3QgY2hpcCBzZWxlY3QKKyAqLworI2RlZmluZSBSRDg4RjUxODFMX0ZYT19OT1JfQk9PVF9CQVNFCQkweGZmODAwMDAwCisjZGVmaW5lIFJEODhGNTE4MUxfRlhPX05PUl9CT09UX1NJWkUJCVNaXzhNCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiA4TSBOT1IgRmxhc2ggb24gRGV2aWNlIGJ1cyBCb290IGNoaXAgc2VsZWN0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gUkQ4OEY1MTgxTF9GWE9fTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IFJEODhGNTE4MUxfRlhPX05PUl9CT09UX0JBU0UgKworCQkJICBSRDg4RjUxODFMX0ZYT19OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoID0geworCS5uYW1lCQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZyZDg4ZjUxODFsX2Z4b19ub3JfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJnJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoX3Jlc291cmNlLAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwgU2V0dXAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHJkODhmNTE4MWxfZnhvX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIExFRDEgQ2FyZEJ1cyBMRUQgKGZyb250IHBhbmVsKSAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBQQ0lfaW50QSAqLworCXsgIDIsIE1QUF9HUElPIH0sCQkvKiBIYXJkIFJlc2V0IC8gRmFjdG9yeSBJbml0Ki8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogRlhTIG9yIERBQSBzZWxlY3QgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogTEVENiAtIHBob25lIExFRCAoZnJvbnQgcGFuZWwpICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIExFRDUgLSBwaG9uZSBMRUQgKGZyb250IHBhbmVsKSAqLworCXsgIDYsIE1QUF9QQ0lfQ0xLIH0sCQkvKiBDUFUgUENJIHJlZmNsayAqLworCXsgIDcsIE1QUF9QQ0lfQ0xLIH0sCQkvKiBQQ0kvUENJZSByZWZjbGsgKi8KKwl7ICA4LCBNUFBfR1BJTyB9LAkJLyogQ2FyZEJ1cyByZXNldCAqLworCXsgIDksIE1QUF9HUElPIH0sCQkvKiBHRV9SWEVSUiAqLworCXsgMTAsIE1QUF9HUElPIH0sCQkvKiBMRUQyIE1pbmlQQ0kgTEVEIChmcm9udCBwYW5lbCkgKi8KKwl7IDExLCBNUFBfR1BJTyB9LAkJLyogTGlmZWxpbmUgY29udHJvbCAqLworCXsgMTIsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNF0gKi8KKwl7IDEzLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzVdICovCisJeyAxNCwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs2XSAqLworCXsgMTUsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbN10gKi8KKwl7IDE2LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzRdICovCisJeyAxNywgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs1XSAqLworCXsgMTgsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNl0gKi8KKwl7IDE5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzddICovCisJeyAtMSB9LAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHJkODhmNTE4MWxfZnhvX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHJkODhmNTE4MWxfZnhvX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIFNldHVwIGJhc2ljIE9yaW9uIGZ1bmN0aW9ucy4gTmVlZCB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJb3Jpb241eF9pbml0KCk7CisKKwlvcmlvbjV4X21wcF9jb25mKHJkODhmNTE4MWxfZnhvX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZyZDg4ZjUxODFsX2Z4b19ldGhfZGF0YSk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihSRDg4RjUxODFMX0ZYT19OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFJEODhGNTE4MUxfRlhPX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcmQ4OGY1MTgxbF9meG9fbm9yX2Jvb3RfZmxhc2gpOworfQorCitzdGF0aWMgaW50IF9faW5pdAorcmQ4OGY1MTgxbF9meG9fcGNpX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKQoreworCWludCBpcnE7CisKKwkvKgorCSAqIENoZWNrIGZvciBkZXZpY2VzIHdpdGggaGFyZC13aXJlZCBJUlFzLgorCSAqLworCWlycSA9IG9yaW9uNXhfcGNpX21hcF9pcnEoZGV2LCBzbG90LCBwaW4pOworCWlmIChpcnEgIT0gLTEpCisJCXJldHVybiBpcnE7CisKKwkvKgorCSAqIE1pbmktUENJIC8gQ2FyZGJ1cyBzbG90LgorCSAqLworCXJldHVybiBncGlvX3RvX2lycSgxKTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgcmQ4OGY1MTgxbF9meG9fcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gMiwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IHJkODhmNTE4MWxfZnhvX3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcmQ4OGY1MTgxbF9meG9fcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19yZDg4ZjUxODFsX2Z4bygpKSB7CisJCW9yaW9uNXhfcGNpX3NldF9jYXJkYnVzX21vZGUoKTsKKwkJcGNpX2NvbW1vbl9pbml0KCZyZDg4ZjUxODFsX2Z4b19wY2kpOworCX0KKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHJkODhmNTE4MWxfZnhvX3BjaV9pbml0KTsKKworTUFDSElORV9TVEFSVChSRDg4RjUxODFMX0ZYTywgIk1hcnZlbGwgT3Jpb24tVm9JUCBGWE8gUmVmZXJlbmNlIERlc2lnbiIpCisJLyogTWFpbnRhaW5lcjogTmljb2xhcyBQaXRyZSA8bmljb0BtYXJ2ZWxsLmNvbT4gKi8KKwkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gcmQ4OGY1MTgxbF9meG9faW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZ2Utc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODFsLWdlLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU2NDQ3ZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODFsLWdlLXNldHVwLmMKQEAgLTAsMCArMSwxNzIgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1nZS1zZXR1cC5jCisgKgorICogTWFydmVsbCBPcmlvbi1Wb0lQIEdFIFJlZmVyZW5jZSBEZXNpZ24gU2V0dXAKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2xlZHMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFJELTg4RjUxODFMIEdFIEluZm8KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIDE2TSBOT1IgZmxhc2ggRGV2aWNlIGJ1cyBib290IGNoaXAgc2VsZWN0CisgKi8KKyNkZWZpbmUgUkQ4OEY1MTgxTF9HRV9OT1JfQk9PVF9CQVNFCQkweGZmMDAwMDAwCisjZGVmaW5lIFJEODhGNTE4MUxfR0VfTk9SX0JPT1RfU0laRQkJU1pfMTZNCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAxNk0gTk9SIEZsYXNoIG9uIERldmljZSBidXMgQm9vdCBjaGlwIHNlbGVjdAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSByZDg4ZjUxODFsX2dlX25vcl9ib290X2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHJkODhmNTE4MWxfZ2Vfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBSRDg4RjUxODFMX0dFX05PUl9CT09UX0JBU0UsCisJLmVuZAkJPSBSRDg4RjUxODFMX0dFX05PUl9CT09UX0JBU0UgKworCQkJICBSRDg4RjUxODFMX0dFX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcmQ4OGY1MTgxbF9nZV9ub3JfYm9vdF9mbGFzaCA9IHsKKwkubmFtZQkJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmcmQ4OGY1MTgxbF9nZV9ub3JfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJnJkODhmNTE4MWxfZ2Vfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UsCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgcmQ4OGY1MTgxbF9nZV9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBMRUQxICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIExFRDUgKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogTEVENCAqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBMRUQzICovCisJeyAgNCwgTVBQX0dQSU8gfSwJCS8qIFBDSV9pbnRBICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnRlcnJ1cHQgKi8KKwl7ICA2LCBNUFBfUENJX0NMSyB9LAkJLyogQ1BVIFBDSSByZWZjbGsgKi8KKwl7ICA3LCBNUFBfUENJX0NMSyB9LAkJLyogUENJL1BDSWUgcmVmY2xrICovCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIDg4ZTYxMzEgaW50ZXJydXB0ICovCisJeyAgOSwgTVBQX0dQSU8gfSwJCS8qIEdFX1JYRVJSICovCisJeyAxMCwgTVBQX0dQSU8gfSwJCS8qIFBDSV9pbnRCICovCisJeyAxMSwgTVBQX0dQSU8gfSwJCS8qIExFRDIgKi8KKwl7IDEyLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzRdICovCisJeyAxMywgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs1XSAqLworCXsgMTQsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNl0gKi8KKwl7IDE1LCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzddICovCisJeyAxNiwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs0XSAqLworCXsgMTcsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNV0gKi8KKwl7IDE4LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzZdICovCisJeyAxOSwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs3XSAqLworCXsgLTEgfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSByZDg4ZjUxODFsX2dlX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHJkODhmNTE4MWxfZ2VfaTJjX3J0YyA9IHsKKwlJMkNfQk9BUkRfSU5GTygiZHMxMzM4IiwgMHg2OCksCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcmQ4OGY1MTgxbF9nZV9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZihyZDg4ZjUxODFsX2dlX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZyZDg4ZjUxODFsX2dlX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihSRDg4RjUxODFMX0dFX05PUl9CT09UX0JBU0UsCisJCQkJICAgUkQ4OEY1MTgxTF9HRV9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnJkODhmNTE4MWxfZ2Vfbm9yX2Jvb3RfZmxhc2gpOworCisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJnJkODhmNTE4MWxfZ2VfaTJjX3J0YywgMSk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0CityZDg4ZjUxODFsX2dlX3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJLyoKKwkgKiBDYXJkYnVzIHNsb3QuCisJICovCisJaWYgKHBpbiA9PSAxKQorCQlyZXR1cm4gZ3Bpb190b19pcnEoNCk7CisJZWxzZQorCQlyZXR1cm4gZ3Bpb190b19pcnEoMTApOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSByZDg4ZjUxODFsX2dlX3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycwk9IDIsCisJLnN3aXp6bGUJPSBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwCQk9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKKwkuc2NhbgkJPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCisJLm1hcF9pcnEJPSByZDg4ZjUxODFsX2dlX3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcmQ4OGY1MTgxbF9nZV9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX3JkODhmNTE4MWxfZ2UoKSkgeworCQlvcmlvbjV4X3BjaV9zZXRfY2FyZGJ1c19tb2RlKCk7CisJCXBjaV9jb21tb25faW5pdCgmcmQ4OGY1MTgxbF9nZV9wY2kpOworCX0KKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHJkODhmNTE4MWxfZ2VfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKFJEODhGNTE4MUxfR0UsICJNYXJ2ZWxsIE9yaW9uLVZvSVAgR0UgUmVmZXJlbmNlIERlc2lnbiIpCisJLyogTWFpbnRhaW5lcjogTGVubmVydCBCdXl0ZW5oZWsgPGJ1eXRlbmhAbWFydmVsbC5jb20+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHJkODhmNTE4MWxfZ2VfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4Mi1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4Mi1zZXR1cC5jCmluZGV4IDgxYWJjMTAuLjEwYWU2MjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODItc2V0dXAuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgyLXNldHVwLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CiAjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogUkQtODhGNTE4MiBJbmZvCkBAIC0xMjUsNiArMTI2LDcgQEAKIAogCQlsZWRzX2V2ZW50ID0gcmQ4OGY1MTgyX2RiZ2xlZF9ldmVudDsKIAl9CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjIwLDcgKzIyMiw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSByZDg4ZjUxODJfZXRoX2RhdGEgPSB7CiAJLnBoeV9hZGRyCT0gOCwKLQkuZm9yY2VfcGh5X2FkZHIgPSAxLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0yMzQsMTUgKzIzNSwzNCBAQAogICogU2F0YQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSByZDg4ZjUxODJfc2F0YV9kYXRhID0gewotCS5uX3BvcnRzICAgICAgICA9IDIsCisJLm5fcG9ydHMJPSAyLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsIFNldHVwCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnJkODhmNTE4Ml9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKLQkmcmQ4OGY1MTgyX25vcl9mbGFzaCwKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSByZDg4ZjUxODJfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogRGVidWcgTGVkICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFJlc2V0IFN3aXRjaCAqLworCXsgIDIsIE1QUF9VTlVTRUQgfSwKKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogUlRDIEludCAqLworCXsgIDQsIE1QUF9HUElPIH0sCisJeyAgNSwgTVBQX0dQSU8gfSwKKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogUENJX2ludEEgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogUENJX2ludEIgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9VTlVTRUQgfSwKKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgcHJlc2VuY2UgKi8KKwl7IDEzLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBwcmVzZW5jZSAqLworCXsgMTQsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIGFjdGl2ZSAqLworCXsgMTUsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIGFjdGl2ZSAqLworCXsgMTYsIE1QUF9VTlVTRUQgfSwKKwl7IDE3LCBNUFBfVU5VU0VEIH0sCisJeyAxOCwgTVBQX1VOVVNFRCB9LAorCXsgMTksIE1QUF9VTlVTRUQgfSwKKwl7IC0xIH0sCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcmQ4OGY1MTgyX2luaXQodm9pZCkKQEAgLTI1MiwzNSArMjcyLDkgQEAKIAkgKi8KIAlvcmlvbjV4X2luaXQoKTsKIAotCS8qCi0JICogU2V0dXAgdGhlIENQVSBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciBvdXIgZGV2aWNlcwotCSAqLwotCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFJEODhGNTE4Ml9OT1JfQk9PVF9CQVNFLAotCQkJCVJEODhGNTE4Ml9OT1JfQk9PVF9TSVpFKTsKLQlvcmlvbjV4X3NldHVwX2RldjFfd2luKFJEODhGNTE4Ml9OT1JfQkFTRSwgUkQ4OEY1MTgyX05PUl9TSVpFKTsKKwlvcmlvbjV4X21wcF9jb25mKHJkODhmNTE4Ml9tcHBfbW9kZXMpOwogCiAJLyoKLQkgKiBPcGVuIGEgc3BlY2lhbCBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciB0aGUgUENJZSBXQS4KLQkgKi8KLQlvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKE9SSU9ONVhfUENJRV9XQV9QSFlTX0JBU0UsCi0JCQkJT1JJT041WF9QQ0lFX1dBX1NJWkUpOwotCi0JLyoKLQkgKiBTZXR1cCBNdWx0aXBsZXhpbmcgUGlucyAtLQotCSAqIE1QUFswXSBEZWJ1ZyBMZWQgKEdQSU8gLSBPdXQpCi0JICogTVBQWzFdIERlYnVnIExlZCAoR1BJTyAtIE91dCkKLQkgKiBNUFBbMl0gTi9BCi0JICogTVBQWzNdIFJUQ19JbnQgKEdQSU8gLSBJbikKLQkgKiBNUFBbNF0gR1BJTwotCSAqIE1QUFs1XSBHUElPCi0JICogTVBQWzZdIFBDSV9pbnRBIChHUElPIC0gSW4pCi0JICogTVBQWzddIFBDSV9pbnRCIChHUElPIC0gSW4pCi0JICogTVBQWzgtMTFdIE4vQQotCSAqIE1QUFsxMl0gU0FUQSAwIHByZXNlbmNlIEluZGljYXRpb24KLQkgKiBNUFBbMTNdIFNBVEEgMSBwcmVzZW5jZSBJbmRpY2F0aW9uCi0JICogTVBQWzE0XSBTQVRBIDAgYWN0aXZlIEluZGljYXRpb24KLQkgKiBNUFBbMTVdIFNBVEEgMSBhY3RpdmUgaW5kaWNhdGlvbgotCSAqIE1QUFsxNi0xOV0gTm90IHVzZWQKIAkgKiBNUFBbMjBdIFBDSSBDbG9jayB0byBNVjg4RjUxODIKIAkgKiBNUFBbMjFdIFBDSSBDbG9jayB0byBtaW5pIFBDSSBDT04xMQogCSAqIE1QUFsyMl0gVVNCIDAgb3ZlciBjdXJyZW50IGluZGljYXRpb24KQEAgLTI4OSwxNiArMjgzLDIzIEBACiAJICogTVBQWzI1XSBVU0IgMCBvdmVyIGN1cnJlbnQgZW5hYmxlCiAJICovCiAKLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMHgwMDAwMDAwMyk7Ci0Jb3Jpb241eF93cml0ZShNUFBfOF8xNV9DVFJMLCAweDU1NTUwMDAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF8xNl8xOV9DVFJMLCAweDU1NTUpOwotCi0Jb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKDB4MDAwMDAwZmIpOwotCi0JcGxhdGZvcm1fYWRkX2RldmljZXMocmQ4OGY1MTgyX2RldmljZXMsIEFSUkFZX1NJWkUocmQ4OGY1MTgyX2RldmljZXMpKTsKLQlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcmQ4OGY1MTgyX2kyY19ydGMsIDEpOworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOwogCW9yaW9uNXhfZXRoX2luaXQoJnJkODhmNTE4Ml9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOwogCW9yaW9uNXhfc2F0YV9pbml0KCZyZDg4ZjUxODJfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFJEODhGNTE4Ml9OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFJEODhGNTE4Ml9OT1JfQk9PVF9TSVpFKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2MV93aW4oUkQ4OEY1MTgyX05PUl9CQVNFLCBSRDg4RjUxODJfTk9SX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcmQ4OGY1MTgyX25vcl9mbGFzaCk7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcmQ4OGY1MTgyX2kyY19ydGMsIDEpOwogfQogCiBNQUNISU5FX1NUQVJUKFJEODhGNTE4MiwgIk1hcnZlbGwgT3Jpb24tTkFTIFJlZmVyZW5jZSBEZXNpZ24iKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzMjA5LXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHMyMDktc2V0dXAuYwppbmRleCA5YWZiNDFlLi5hOWNlZjk3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHMyMDktc2V0dXAuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHMyMDktc2V0dXAuYwpAQCAtMjgsNiArMjgsOCBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKyNpbmNsdWRlICJ0c3gwOS1jb21tb24uaCIKIAogI2RlZmluZSBRTkFQX1RTMjA5X05PUl9CT09UX0JBU0UgMHhmNDAwMDAwMAogI2RlZmluZSBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUgU1pfOE0KQEAgLTQ3LDUyICs0OSw1NCBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBxbmFwX3RzMjA5X3BhcnRpdGlvbnNbXSA9IHsKIAl7Ci0JCS5uYW1lICAgICAgID0gIlUtQm9vdCIsCi0JCS5zaXplICAgICAgID0gMHgwMDA4MDAwMCwKLQkJLm9mZnNldCAgICAgPSAweDAwNzgwMDAwLAotCQkubWFza19mbGFncyA9IE1URF9XUklURUFCTEUsCisJCS5uYW1lCQk9ICJVLUJvb3QiLAorCQkuc2l6ZQkJPSAweDAwMDgwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA3ODAwMDAsCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwKIAl9LCB7Ci0JCS5uYW1lICAgPSAiS2VybmVsIiwKLQkJLnNpemUgICA9IDB4MDAyMDAwMDAsCi0JCS5vZmZzZXQgPSAwLAorCQkubmFtZQkJPSAiS2VybmVsIiwKKwkJLnNpemUJCT0gMHgwMDIwMDAwMCwKKwkJLm9mZnNldAkJPSAwLAogCX0sIHsKLQkJLm5hbWUgICA9ICJSb290RlMxIiwKLQkJLnNpemUgICA9IDB4MDA0MDAwMDAsCi0JCS5vZmZzZXQgPSAweDAwMjAwMDAwLAorCQkubmFtZQkJPSAiUm9vdEZTMSIsCisJCS5zaXplCQk9IDB4MDA0MDAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDIwMDAwMCwKIAl9LCB7Ci0JCS5uYW1lICAgPSAiUm9vdEZTMiIsCi0JCS5zaXplICAgPSAweDAwMTAwMDAwLAotCQkub2Zmc2V0ID0gMHgwMDYwMDAwMCwKKwkJLm5hbWUJCT0gIlJvb3RGUzIiLAorCQkuc2l6ZQkJPSAweDAwMTAwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA2MDAwMDAsCiAJfSwgewotCQkubmFtZSAgID0gIlUtQm9vdCBDb25maWciLAotCQkuc2l6ZSAgID0gMHgwMDAyMDAwMCwKLQkJLm9mZnNldCA9IDB4MDA3NjAwMDAsCisJCS5uYW1lCQk9ICJVLUJvb3QgQ29uZmlnIiwKKwkJLnNpemUJCT0gMHgwMDAyMDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAogCX0sIHsKLQkJLm5hbWUgICAgICAgPSAiTkFTIENvbmZpZyIsCi0JCS5zaXplICAgICAgID0gMHgwMDA2MDAwMCwKLQkJLm9mZnNldCAgICAgPSAweDAwNzAwMDAwLAotCQkubWFza19mbGFncyA9IE1URF9XUklURUFCTEUsCi0JfQorCQkubmFtZQkJPSAiTkFTIENvbmZpZyIsCisJCS5zaXplCQk9IDB4MDAwNjAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDcwMDAwMCwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBxbmFwX3RzMjA5X25vcl9mbGFzaF9kYXRhID0gewotCS53aWR0aCAgICA9IDEsCi0JLnBhcnRzICAgID0gcW5hcF90czIwOV9wYXJ0aXRpb25zLAotCS5ucl9wYXJ0cyA9IEFSUkFZX1NJWkUocW5hcF90czIwOV9wYXJ0aXRpb25zKQorCS53aWR0aAkJPSAxLAorCS5wYXJ0cwkJPSBxbmFwX3RzMjA5X3BhcnRpdGlvbnMsCisJLm5yX3BhcnRzCT0gQVJSQVlfU0laRShxbmFwX3RzMjA5X3BhcnRpdGlvbnMpCiB9OwogCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIHFuYXBfdHMyMDlfbm9yX2ZsYXNoX3Jlc291cmNlID0gewotCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAotCS5zdGFydCA9IFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKLQkuZW5kICAgPSBRTkFQX1RTMjA5X05PUl9CT09UX0JBU0UgKyBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUgLSAxLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAk9IFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCT0gUU5BUF9UUzIwOV9OT1JfQk9PVF9CQVNFICsgUU5BUF9UUzIwOV9OT1JfQk9PVF9TSVpFIC0gMSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHFuYXBfdHMyMDlfbm9yX2ZsYXNoID0gewotCS5uYW1lICAgICAgICAgID0gInBoeXNtYXAtZmxhc2giLAotCS5pZCAgICAgICAgICAgID0gMCwKLQkuZGV2ICAgICAgICAgICA9IHsgLnBsYXRmb3JtX2RhdGEgPSAmcW5hcF90czIwOV9ub3JfZmxhc2hfZGF0YSwgfSwKLQkucmVzb3VyY2UgICAgICA9ICZxbmFwX3RzMjA5X25vcl9mbGFzaF9yZXNvdXJjZSwKLQkubnVtX3Jlc291cmNlcyA9IDEsCisJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZxbmFwX3RzMjA5X25vcl9mbGFzaF9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gJnFuYXBfdHMyMDlfbm9yX2ZsYXNoX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTY0LDEyICsxNjgsMTIgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBod19wY2kgcW5hcF90czIwOV9wY2kgX19pbml0ZGF0YSA9IHsKLQkubnJfY29udHJvbGxlcnMgPSAyLAotCS5wcmVpbml0ICAgICAgICA9IHFuYXBfdHMyMDlfcGNpX3ByZWluaXQsCi0JLnN3aXp6bGUgICAgICAgID0gcGNpX3N0ZF9zd2l6emxlLAotCS5zZXR1cCAgICAgICAgICA9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKLQkuc2NhbiAgICAgICAgICAgPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCi0JLm1hcF9pcnEgICAgICAgID0gcW5hcF90czIwOV9wY2lfbWFwX2lycSwKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5wcmVpbml0CT0gcW5hcF90czIwOV9wY2lfcHJlaW5pdCwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IHFuYXBfdHMyMDlfcGNpX21hcF9pcnEsCiB9OwogCiBzdGF0aWMgaW50IF9faW5pdCBxbmFwX3RzMjA5X3BjaV9pbml0KHZvaWQpCkBAIC0xODMsOTYgKzE4Nyw2IEBACiBzdWJzeXNfaW5pdGNhbGwocW5hcF90czIwOV9wY2lfaW5pdCk7CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogRXRoZXJuZXQKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgcW5hcF90czIwOV9ldGhfZGF0YSA9IHsKLQkucGh5X2FkZHIgICAgICAgPSA4LAotCS5mb3JjZV9waHlfYWRkciA9IDEsCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9oZXhfbmliYmxlKGNoYXIgbikKLXsKLQlpZiAobiA+PSAnMCcgJiYgbiA8PSAnOScpCi0JCXJldHVybiBuIC0gJzAnOwotCi0JaWYgKG4gPj0gJ0EnICYmIG4gPD0gJ0YnKQotCQlyZXR1cm4gbiAtICdBJyArIDEwOwotCi0JaWYgKG4gPj0gJ2EnICYmIG4gPD0gJ2YnKQotCQlyZXR1cm4gbiAtICdhJyArIDEwOwotCi0JcmV0dXJuIC0xOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9oZXhfYnl0ZShjb25zdCBjaGFyICpiKQotewotCWludCBoaTsKLQlpbnQgbG87Ci0KLQloaSA9IHBhcnNlX2hleF9uaWJibGUoYlswXSk7Ci0JbG8gPSBwYXJzZV9oZXhfbmliYmxlKGJbMV0pOwotCi0JaWYgKGhpIDwgMCB8fCBsbyA8IDApCi0JCXJldHVybiAtMTsKLQotCXJldHVybiAoaGkgPDwgNCkgfCBsbzsKLX0KLQotc3RhdGljIGludCBfX2luaXQgY2hlY2tfbWFjX2FkZHIoY29uc3QgY2hhciAqYWRkcl9zdHIpCi17Ci0JdV9pbnQ4X3QgYWRkcls2XTsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCA2OyBpKyspIHsKLQkJaW50IGJ5dGU7Ci0KLQkJLyoKLQkJICogRW5mb3JjZSAieHg6eHg6eHg6eHg6eHg6eHhcbiIgZm9ybWF0LgotCQkgKi8KLQkJaWYgKGFkZHJfc3RyWyhpICogMykgKyAyXSAhPSAoKGkgPCA1KSA/ICc6JyA6ICdcbicpKQotCQkJcmV0dXJuIC0xOwotCi0JCWJ5dGUgPSBwYXJzZV9oZXhfYnl0ZShhZGRyX3N0ciArIChpICogMykpOwotCQlpZiAoYnl0ZSA8IDApCi0JCQlyZXR1cm4gLTE7Ci0JCWFkZHJbaV0gPSBieXRlOwotCX0KLQotCXByaW50ayhLRVJOX0lORk8gInRzMjA5OiBmb3VuZCBldGhlcm5ldCBtYWMgYWRkcmVzcyAiKTsKLQlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQotCQlwcmludGsoIiUuMnglcyIsIGFkZHJbaV0sIChpIDwgNSkgPyAiOiIgOiAiLlxuIik7Ci0KLQltZW1jcHkocW5hcF90czIwOV9ldGhfZGF0YS5tYWNfYWRkciwgYWRkciwgNik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIFRoZSAnTkFTIENvbmZpZycgZmxhc2ggcGFydGl0aW9uIGhhcyBhbiBleHQyIGZpbGVzeXN0ZW0gd2hpY2gKLSAqIGNvbnRhaW5zIGEgZmlsZSB0aGF0IGhhcyB0aGUgZXRoZXJuZXQgTUFDIGFkZHJlc3MgaW4gcGxhaW4gdGV4dAotICogKGZvcm1hdCAieHg6eHg6eHg6eHg6eHg6eHhcbiIuKQotICovCi1zdGF0aWMgdm9pZCBfX2luaXQgdHMyMDlfZmluZF9tYWNfYWRkcih2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgYWRkcjsKLQotCWZvciAoYWRkciA9IDB4MDA3MDAwMDA7IGFkZHIgPCAweDAwNzYwMDAwOyBhZGRyICs9IDEwMjQpIHsKLQkJY2hhciAqbm9yX3BhZ2U7Ci0JCWludCByZXQgPSAwOwotCi0JCW5vcl9wYWdlID0gaW9yZW1hcChRTkFQX1RTMjA5X05PUl9CT09UX0JBU0UgKyBhZGRyLCAxMDI0KTsKLQkJaWYgKG5vcl9wYWdlICE9IE5VTEwpIHsKLQkJCXJldCA9IGNoZWNrX21hY19hZGRyKG5vcl9wYWdlKTsKLQkJCWlvdW5tYXAobm9yX3BhZ2UpOwotCQl9Ci0KLQkJaWYgKHJldCA9PSAwKQotCQkJYnJlYWs7Ci0JfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFJUQyBTMzUzOTBBIG9uIEkyQyBidXMKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCkBAIC0yODAsNyArMTk0LDcgQEAKIAogc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHFuYXBfdHMyMDlfaTJjX3J0YyA9IHsKIAlJMkNfQk9BUkRfSU5GTygiczM1MzkwYSIsIDB4MzApLAotICAgICAgIC5pcnEgICAgICAgICA9IDAsCisJLmlycQk9IDAsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMjk3LDcwICsyMTEsNjMgQEAKIAkJLmdwaW8JCT0gUU5BUF9UUzIwOV9HUElPX0tFWV9NRURJQSwKIAkJLmRlc2MJCT0gIlVTQiBDb3B5IEJ1dHRvbiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKLQl9LAotCXsKKwl9LCB7CiAJCS5jb2RlCQk9IEtFWV9QT1dFUiwKIAkJLmdwaW8JCT0gUU5BUF9UUzIwOV9HUElPX0tFWV9SRVNFVCwKIAkJLmRlc2MJCT0gIlJlc2V0IEJ1dHRvbiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKLQl9CisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgcW5hcF90czIwOV9idXR0b25fZGF0YSA9IHsKIAkuYnV0dG9ucwk9IHFuYXBfdHMyMDlfYnV0dG9ucywKLQkubmJ1dHRvbnMgICAgICAgPSBBUlJBWV9TSVpFKHFuYXBfdHMyMDlfYnV0dG9ucyksCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShxbmFwX3RzMjA5X2J1dHRvbnMpLAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcW5hcF90czIwOV9idXR0b25fZGV2aWNlID0gewogCS5uYW1lCQk9ICJncGlvLWtleXMiLAogCS5pZAkJPSAtMSwKIAkubnVtX3Jlc291cmNlcwk9IDAsCi0JLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhICA9ICZxbmFwX3RzMjA5X2J1dHRvbl9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZxbmFwX3RzMjA5X2J1dHRvbl9kYXRhLAorCX0sCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFNBVEEKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgcW5hcF90czIwOV9zYXRhX2RhdGEgPSB7Ci0JLm5fcG9ydHMgICAgICAgID0gMiwKKwkubl9wb3J0cwk9IDIsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAogICogR2VuZXJhbCBTZXR1cAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpxbmFwX3RzMjA5X2RldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZxbmFwX3RzMjA5X25vcl9mbGFzaCwKLQkmcW5hcF90czIwOV9idXR0b25fZGV2aWNlLAorc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHRzMjA5X21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1VOVVNFRCB9LAorCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBVU0IgY29weSBidXR0b24gKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogTG9hZCBkZWZhdWx0cyBidXR0b24gKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogR1BJTyBSVEMgKi8KKwl7ICA0LCBNUFBfVU5VU0VEIH0sCisJeyAgNSwgTVBQX1VOVVNFRCB9LAorCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBQQ0kgSW50IEEgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogUENJIEludCBCICovCisJeyAgOCwgTVBQX1VOVVNFRCB9LAorCXsgIDksIE1QUF9VTlVTRUQgfSwKKwl7IDEwLCBNUFBfVU5VU0VEIH0sCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIHByZXNlbmNlICovCisJeyAxMywgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgcHJlc2VuY2UgKi8KKwl7IDE0LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBhY3RpdmUgKi8KKwl7IDE1LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBhY3RpdmUgKi8KKwl7IDE2LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgUlhEICovCisJeyAxNywgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFRYRCAqLworCXsgMTgsIE1QUF9HUElPIH0sCQkvKiBTV19SU1QgKi8KKwl7IDE5LCBNUFBfVU5VU0VEIH0sCisJeyAtMSB9LAogfTsKIAotLyoKLSAqIFFOQVAgVFMtWzEyXTA5IHNwZWNpZmljIHBvd2VyIG9mZiBtZXRob2QgdmlhIFVBUlQxLWF0dGFjaGVkIFBJQwotICovCi0KLSNkZWZpbmUgVUFSVDFfUkVHKHgpICAoVUFSVDFfVklSVF9CQVNFICsgKChVQVJUXyMjeCkgPDwgMikpCi0KLXN0YXRpYyB2b2lkIHFuYXBfdHMyMDlfcG93ZXJfb2ZmKHZvaWQpCi17Ci0JLyogMTkyMDAgYmF1ZCBkaXZpc29yICovCi0JY29uc3QgdW5zaWduZWQgZGl2aXNvciA9ICgoT1JJT041WF9UQ0xLICsgKDggKiAxOTIwMCkpIC8gKDE2ICogMTkyMDApKTsKLQotCXByX2luZm8oIiVzOiB0cmlnZ2VyaW5nIHBvd2VyLW9mZi4uLlxuIiwgX19mdW5jX18pOwotCi0JLyogaGlqYWNrIHVhcnQxIGFuZCByZXNldCBpbnRvIHNhbmUgc3RhdGUgKDE5MjAwLDhuMSkgKi8KLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhMQ1IpLCAweDgzKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhETEwpLCBkaXZpc29yICYgMHhmZik7Ci0Jb3Jpb241eF93cml0ZShVQVJUMV9SRUcoRExNKSwgKGRpdmlzb3IgPj4gOCkgJiAweGZmKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhMQ1IpLCAweDAzKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhJRVIpLCAweDAwKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhGQ1IpLCAweDAwKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhNQ1IpLCAweDAwKTsKLQotCS8qIHNlbmQgdGhlIHBvd2VyLW9mZiBjb21tYW5kICdBJyB0byBQSUMgKi8KLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhUWCksICdBJyk7Ci19Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBxbmFwX3RzMjA5X2luaXQodm9pZCkKIHsKIAkvKgpAQCAtMzY4LDUxICsyNzUsMzMgQEAKIAkgKi8KIAlvcmlvbjV4X2luaXQoKTsKIAotCS8qCi0JICogU2V0dXAgZmxhc2ggbWFwcGluZwotCSAqLwotCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKLQkJCSAgICBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUpOworCW9yaW9uNXhfbXBwX2NvbmYodHMyMDlfbXBwX21vZGVzKTsKIAogCS8qCi0JICogT3BlbiBhIHNwZWNpYWwgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3IgdGhlIFBDSWUgV0EuCi0JICovCi0Jb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAotCQkJCU9SSU9ONVhfUENJRV9XQV9TSVpFKTsKLQotCS8qCi0JICogU2V0dXAgTXVsdGlwbGV4aW5nIFBpbnMgLS0KLQkgKiBNUFBbMF0gUmVzZXJ2ZWQKLQkgKiBNUFBbMV0gVVNCIGNvcHkgYnV0dG9uICgwIGFjdGl2ZSkKLQkgKiBNUFBbMl0gTG9hZCBkZWZhdWx0cyBidXR0b24gKDAgYWN0aXZlKQotCSAqIE1QUFszXSBHUElPIFJUQwotCSAqIE1QUFs0LTVdIFJlc2VydmVkCi0JICogTVBQWzZdIFBDSSBJbnQgQQotCSAqIE1QUFs3XSBQQ0kgSW50IEIKLQkgKiBNUFBbOC0xMV0gUmVzZXJ2ZWQKLQkgKiBNUFBbMTJdIFNBVEEgMCBwcmVzZW5jZQotCSAqIE1QUFsxM10gU0FUQSAxIHByZXNlbmNlCi0JICogTVBQWzE0XSBTQVRBIDAgYWN0aXZlCi0JICogTVBQWzE1XSBTQVRBIDEgYWN0aXZlCi0JICogTVBQWzE2XSBVQVJUMSBSWEQKLQkgKiBNUFBbMTddIFVBUlQxIFRYRAotCSAqIE1QUFsxOF0gU1dfUlNUICgwIGFjdGl2ZSkKLQkgKiBNUFBbMTldIFJlc2VydmVkCiAJICogTVBQWzIwXSBQQ0kgY2xvY2sgMAogCSAqIE1QUFsyMV0gUENJIGNsb2NrIDEKIAkgKiBNUFBbMjJdIFVTQiAwIG92ZXIgY3VycmVudAogCSAqIE1QUFsyMy0yNV0gUmVzZXJ2ZWQKIAkgKi8KLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMHgzKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDB4NTU1NTAwMDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDB4NTUwMCk7Ci0Jb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKDB4M2NjMGZmZik7CiAKLQkvKiByZWdpc3RlciB0czIwOSBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCi0JcG1fcG93ZXJfb2ZmID0gcW5hcF90czIwOV9wb3dlcl9vZmY7CisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9laGNpMV9pbml0KCk7CisJcW5hcF90c3gwOV9maW5kX21hY19hZGRyKFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSArCisJCQkJIHFuYXBfdHMyMDlfcGFydGl0aW9uc1s1XS5vZmZzZXQsCisJCQkJIHFuYXBfdHMyMDlfcGFydGl0aW9uc1s1XS5zaXplKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZxbmFwX3RzeDA5X2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF9zYXRhX2luaXQoJnFuYXBfdHMyMDlfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKIAotCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHFuYXBfdHMyMDlfZGV2aWNlcywKLQkJCQlBUlJBWV9TSVpFKHFuYXBfdHMyMDlfZGV2aWNlcykpOworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKKwkJCQkgICBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcW5hcF90czIwOV9ub3JfZmxhc2gpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZxbmFwX3RzMjA5X2J1dHRvbl9kZXZpY2UpOwogCiAJLyogR2V0IFJUQyBJUlEgYW5kIHJlZ2lzdGVyIHRoZSBjaGlwICovCiAJaWYgKGdwaW9fcmVxdWVzdChUUzIwOV9SVENfR1BJTywgInJ0YyIpID09IDApIHsKQEAgLTQyNSwxNCArMzE0LDEyIEBACiAJCXByX3dhcm5pbmcoInFuYXBfdHMyMDlfaW5pdDogZmFpbGVkIHRvIGdldCBSVEMgSVJRXG4iKTsKIAlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcW5hcF90czIwOV9pMmNfcnRjLCAxKTsKIAotCXRzMjA5X2ZpbmRfbWFjX2FkZHIoKTsKLQlvcmlvbjV4X2V0aF9pbml0KCZxbmFwX3RzMjA5X2V0aF9kYXRhKTsKLQotCW9yaW9uNXhfc2F0YV9pbml0KCZxbmFwX3RzMjA5X3NhdGFfZGF0YSk7CisJLyogcmVnaXN0ZXIgdHN4MDkgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCXBtX3Bvd2VyX29mZiA9IHFuYXBfdHN4MDlfcG93ZXJfb2ZmOwogfQogCiBNQUNISU5FX1NUQVJUKFRTMjA5LCAiUU5BUCBUUy0xMDkvVFMtMjA5IikKLQkvKiBNYWludGFpbmVyOiAgQnlyb24gQnJhZGxleSA8Ynlyb24uYmJyYWRsZXlAZ21haWwuY29tPiAqLworCS8qIE1haW50YWluZXI6IEJ5cm9uIEJyYWRsZXkgPGJ5cm9uLmJicmFkbGV5QGdtYWlsLmNvbT4gKi8KIAkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCiAJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCiAJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC90czQwOS1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNDA5LXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJmMGZmMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90czQwOS1zZXR1cC5jCkBAIC0wLDAgKzEsMjczIEBACisvKgorICogUU5BUCBUUy00MDkgQm9hcmQgU2V0dXAKKyAqCisgKiBNYWludGFpbmVyOiBTeWx2ZXIgQnJ1bmVhdSA8c3lsdmVyLmJydW5lYXVAZ21haWwuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24KKyAqIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisjaW5jbHVkZSAidHN4MDktY29tbW9uLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUU5BUCBUUy00MDkgSW5mbworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBRTkFQIFRTLTQwOSBoYXJkd2FyZSA6CisgKiAtIE1hcnZlbGwgODhGNTI4MS1EMAorICogLSBNYXJ2ZWxsIDg4U1g3MDQyIFNBVEEgY29udHJvbGxlciAoUENJZSkKKyAqIC0gTWFydmVsbCA4OEUxMTE4IEdpZ2FiaXQgRXRoZXJuZXQgUEhZCisgKiAtIFJUQyBTMzUzOTBBIChAMHgzMCkgb24gSTJDIGJ1cworICogLSA4TUIgTk9SIGZsYXNoCisgKiAtIDI1Nk1CIG9mIEREUi0yIFJBTQorICovCisKKy8qCisgKiA4TUIgTk9SIGZsYXNoIERldmljZSBidXMgYm9vdCBjaGlwIHNlbGVjdAorICovCisKKyNkZWZpbmUgUU5BUF9UUzQwOV9OT1JfQk9PVF9CQVNFIDB4ZmY4MDAwMDAKKyNkZWZpbmUgUU5BUF9UUzQwOV9OT1JfQk9PVF9TSVpFIFNaXzhNCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiA4TWlCIE5PUiBmbGFzaC4gVGhlIHN0cnVjdCBtdGRfcGFydGl0aW9uIGlzIG5vdCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUKKyAqICAgICBwYXJ0aXRpb25zIG9uIHRoZSBkZXZpY2UgYmVjYXVzZSB3ZSB3YW50IHRvIGtlZXAgY29tcGF0YWJpbGl0eSB3aXRoCisgKiAgICAgZXhpc3RpbmcgUU5BUCBmaXJtd2FyZS4KKyAqCisgKiBMYXlvdXQgYXMgdXNlZCBieSBRTkFQOgorICogIFsyXSAweDAwMDAwMDAwLTB4MDAyMDAwMDAgOiAiS2VybmVsIgorICogIFszXSAweDAwMjAwMDAwLTB4MDA2MDAwMDAgOiAiUm9vdEZTMSIKKyAqICBbNF0gMHgwMDYwMDAwMC0weDAwNzAwMDAwIDogIlJvb3RGUzIiCisgKiAgWzZdIDB4MDA3MDAwMDAtMHgwMDc2MDAwMCA6ICJOQVMgQ29uZmlnIiAocmVhZC1vbmx5KQorICogIFs1XSAweDAwNzYwMDAwLTB4MDA3ODAwMDAgOiAiVS1Cb290IENvbmZpZyIKKyAqICBbMV0gMHgwMDc4MDAwMC0weDAwODAwMDAwIDogIlUtQm9vdCIgKHJlYWQtb25seSkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gcW5hcF90czQwOV9wYXJ0aXRpb25zW10gPSB7CisJeworCQkubmFtZQkJPSAiVS1Cb290IiwKKwkJLnNpemUJCT0gMHgwMDA4MDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNzgwMDAwLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsCisJfSwgeworCQkubmFtZQkJPSAiS2VybmVsIiwKKwkJLnNpemUJCT0gMHgwMDIwMDAwMCwKKwkJLm9mZnNldAkJPSAwLAorCX0sIHsKKwkJLm5hbWUJCT0gIlJvb3RGUzEiLAorCQkuc2l6ZQkJPSAweDAwNDAwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDAyMDAwMDAsCisJfSwgeworCQkubmFtZQkJPSAiUm9vdEZTMiIsCisJCS5zaXplCQk9IDB4MDAxMDAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDYwMDAwMCwKKwl9LCB7CisJCS5uYW1lCQk9ICJVLUJvb3QgQ29uZmlnIiwKKwkJLnNpemUJCT0gMHgwMDAyMDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gIk5BUyBDb25maWciLAorCQkuc2l6ZQkJPSAweDAwMDYwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA3MDAwMDAsCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgcW5hcF90czQwOV9ub3JfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKKwkucGFydHMJCT0gcW5hcF90czQwOV9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUocW5hcF90czQwOV9wYXJ0aXRpb25zKQorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBxbmFwX3RzNDA5X25vcl9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJPSBRTkFQX1RTNDA5X05PUl9CT09UX0JBU0UsCisJLmVuZAk9IFFOQVBfVFM0MDlfTk9SX0JPT1RfQkFTRSArIFFOQVBfVFM0MDlfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBxbmFwX3RzNDA5X25vcl9mbGFzaCA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhID0gJnFuYXBfdHM0MDlfbm9yX2ZsYXNoX2RhdGEsIH0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9ICZxbmFwX3RzNDA5X25vcl9mbGFzaF9yZXNvdXJjZSwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUENJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGludCBfX2luaXQgcW5hcF90czQwOV9wY2lfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJaW50IGlycTsKKworCS8qCisJICogQ2hlY2sgZm9yIGRldmljZXMgd2l0aCBoYXJkLXdpcmVkIElSUXMuCisJICovCisJaXJxID0gb3Jpb241eF9wY2lfbWFwX2lycShkZXYsIHNsb3QsIHBpbik7CisJaWYgKGlycSAhPSAtMSkKKwkJcmV0dXJuIGlycTsKKworCS8qCisJICogUENJIGlzbid0IHVzZWQgb24gdGhlIFRTLTQwOQorCSAqLworCXJldHVybiAtMTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgcW5hcF90czQwOV9wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBvcmlvbjV4X3BjaV9zeXNfc2V0dXAsCisJLnNjYW4JCT0gb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gcW5hcF90czQwOV9wY2lfbWFwX2lycSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHFuYXBfdHM0MDlfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc190czQwOSgpKQorCQlwY2lfY29tbW9uX2luaXQoJnFuYXBfdHM0MDlfcGNpKTsKKworCXJldHVybiAwOworfQorCitzdWJzeXNfaW5pdGNhbGwocW5hcF90czQwOV9wY2lfaW5pdCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUlRDIFMzNTM5MEEgb24gSTJDIGJ1cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgVFM0MDlfUlRDX0dQSU8JMTAKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHFuYXBfdHM0MDlfaTJjX3J0YyA9IHsKKwlJMkNfQk9BUkRfSU5GTygiczM1MzkwYSIsIDB4MzApLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdQSU8gQXR0YWNoZWQgS2V5cworICogICAgIFBvd2VyIGJ1dHRvbiBpcyBhdHRhY2hlZCB0byB0aGUgUElDIG1pY3JvY29udHJvbGxlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgUU5BUF9UUzQwOV9HUElPX0tFWV9NRURJQQkxNQorCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gcW5hcF90czQwOV9idXR0b25zW10gPSB7CisJeworCQkuY29kZQkJPSBLRVlfUkVTVEFSVCwKKwkJLmdwaW8JCT0gUU5BUF9UUzQwOV9HUElPX0tFWV9NRURJQSwKKwkJLmRlc2MJCT0gIlVTQiBDb3B5IEJ1dHRvbiIsCisJCS5hY3RpdmVfbG93CT0gMSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBxbmFwX3RzNDA5X2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0gcW5hcF90czQwOV9idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUocW5hcF90czQwOV9idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHFuYXBfdHM0MDlfYnV0dG9uX2RldmljZSA9IHsKKwkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZxbmFwX3RzNDA5X2J1dHRvbl9kYXRhLAorCX0sCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwgU2V0dXAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHRzNDA5X21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1VOVVNFRCB9LAorCXsgIDEsIE1QUF9VTlVTRUQgfSwKKwl7ICAyLCBNUFBfVU5VU0VEIH0sCisJeyAgMywgTVBQX1VOVVNFRCB9LAorCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBIREQgMSBzdGF0dXMgKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogSEREIDIgc3RhdHVzICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIEhERCAzIHN0YXR1cyAqLworCXsgIDcsIE1QUF9HUElPIH0sCQkvKiBIREQgNCBzdGF0dXMgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9HUElPIH0sCQkvKiBSVEMgaW50ICovCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9VTlVTRUQgfSwKKwl7IDEzLCBNUFBfVU5VU0VEIH0sCisJeyAxNCwgTVBQX0dQSU8gfSwJCS8qIFNXX1JTVCAqLworCXsgMTUsIE1QUF9HUElPIH0sCQkvKiBVU0IgY29weSBidXR0b24gKi8KKwl7IDE2LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgUlhEICovCisJeyAxNywgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFRYRCAqLworCXsgMTgsIE1QUF9VTlVTRUQgfSwKKwl7IDE5LCBNUFBfVU5VU0VEIH0sCisJeyAtMSB9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHFuYXBfdHM0MDlfaW5pdCh2b2lkKQoreworCS8qCisJICogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlvcmlvbjV4X2luaXQoKTsKKworCW9yaW9uNXhfbXBwX2NvbmYodHM0MDlfbXBwX21vZGVzKTsKKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCXFuYXBfdHN4MDlfZmluZF9tYWNfYWRkcihRTkFQX1RTNDA5X05PUl9CT09UX0JBU0UgKworCQkJCSBxbmFwX3RzNDA5X3BhcnRpdGlvbnNbNV0ub2Zmc2V0LAorCQkJCSBxbmFwX3RzNDA5X3BhcnRpdGlvbnNbNV0uc2l6ZSk7CisJb3Jpb241eF9ldGhfaW5pdCgmcW5hcF90c3gwOV9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oUU5BUF9UUzQwOV9OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFFOQVBfVFM0MDlfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZxbmFwX3RzNDA5X25vcl9mbGFzaCk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnFuYXBfdHM0MDlfYnV0dG9uX2RldmljZSk7CisKKwkvKiBHZXQgUlRDIElSUSBhbmQgcmVnaXN0ZXIgdGhlIGNoaXAgKi8KKwlpZiAoZ3Bpb19yZXF1ZXN0KFRTNDA5X1JUQ19HUElPLCAicnRjIikgPT0gMCkgeworCQlpZiAoZ3Bpb19kaXJlY3Rpb25faW5wdXQoVFM0MDlfUlRDX0dQSU8pID09IDApCisJCQlxbmFwX3RzNDA5X2kyY19ydGMuaXJxID0gZ3Bpb190b19pcnEoVFM0MDlfUlRDX0dQSU8pOworCQllbHNlCisJCQlncGlvX2ZyZWUoVFM0MDlfUlRDX0dQSU8pOworCX0KKwlpZiAocW5hcF90czQwOV9pMmNfcnRjLmlycSA9PSAwKQorCQlwcl93YXJuaW5nKCJxbmFwX3RzNDA5X2luaXQ6IGZhaWxlZCB0byBnZXQgUlRDIElSUVxuIik7CisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJnFuYXBfdHM0MDlfaTJjX3J0YywgMSk7CisKKwkvKiByZWdpc3RlciB0c3gwOSBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJcG1fcG93ZXJfb2ZmID0gcW5hcF90c3gwOV9wb3dlcl9vZmY7Cit9CisKK01BQ0hJTkVfU1RBUlQoVFM0MDksICJRTkFQIFRTLTQwOSIpCisJLyogTWFpbnRhaW5lcjogIFN5bHZlciBCcnVuZWF1IDxzeWx2ZXIuYnJ1bmVhdUBnbWFpbC5jb20+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHFuYXBfdHM0MDlfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNzh4eC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNzh4eC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZTlmMzUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHM3OHh4LXNldHVwLmMKQEAgLTAsMCArMSwyNzcgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvdHM3OHh4LXNldHVwLmMKKyAqCisgKiBNYWludGFpbmVyOiBBbGV4YW5kZXIgQ2xvdXRlciA8YWxleEBkaWdyaXoub3JnLnVrPgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L200OHQ4Ni5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUUy03OHh4IEluZm8KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogRlBHQSAtIGxpdmVzIHdoZXJlIHRoZSBQQ0kgYnVzIHdvdWxkIGJlIGF0IE9SSU9ONVhfUENJX01FTV9QSFlTX0JBU0UKKyAqLworI2RlZmluZSBUUzc4WFhfRlBHQV9SRUdTX1BIWVNfQkFTRQkweGU4MDAwMDAwCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFCTB4ZmY5MDAwMDAKKyNkZWZpbmUgVFM3OFhYX0ZQR0FfUkVHU19TSVpFCQlTWl8xTQorCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfU1lTQ09OX0lECShUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSB8IDB4MDAwKQorI2RlZmluZSBUUzc4WFhfRlBHQV9SRUdTX1NZU0NPTl9MQ0RJCShUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSB8IDB4MDA0KQorI2RlZmluZSBUUzc4WFhfRlBHQV9SRUdTX1NZU0NPTl9MQ0RPCShUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSB8IDB4MDA4KQorCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfUlRDX0NUUkwJKFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFIHwgMHg4MDgpCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfUlRDX0RBVEEJKFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFIHwgMHg4MGMpCisKKy8qCisgKiA1MTJrQiBOT1IgZmxhc2ggRGV2aWNlCisgKi8KKyNkZWZpbmUgVFM3OFhYX05PUl9CT09UX0JBU0UJCTB4ZmY4MDAwMDAKKyNkZWZpbmUgVFM3OFhYX05PUl9CT09UX1NJWkUJCVNaXzUxMksKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBJL08gQWRkcmVzcyBNYXBwaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgdHM3OHh4X2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwJPSBUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKFRTNzhYWF9GUEdBX1JFR1NfUEhZU19CQVNFKSwKKwkJLmxlbmd0aAkJPSBUUzc4WFhfRlBHQV9SRUdTX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LAorfTsKKwordm9pZCBfX2luaXQgdHM3OHh4X21hcF9pbyh2b2lkKQoreworCW9yaW9uNXhfbWFwX2lvKCk7CisJaW90YWJsZV9pbml0KHRzNzh4eF9pb19kZXNjLCBBUlJBWV9TSVpFKHRzNzh4eF9pb19kZXNjKSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogNTEya0IgTk9SIEJvb3QgRmxhc2ggLSB0aGUgY2hpcCBpcyBhIE0yNVA0MAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gdHM3OHh4X25vcl9ib290X2ZsYXNoX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJCT0gInRzLWJvb3Ryb20iLAorCQkub2Zmc2V0CQk9IDAsCisJCS8qIG9ubHkgdGhlIGZpcnN0IDI1NmtCIGlzIHVzZWQgKi8KKwkJLnNpemUJCT0gU1pfMjU2SywKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSB0czc4eHhfbm9yX2Jvb3RfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKKwkucGFydHMJCT0gdHM3OHh4X25vcl9ib290X2ZsYXNoX3Jlc291cmNlcywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKHRzNzh4eF9ub3JfYm9vdF9mbGFzaF9yZXNvdXJjZXMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0czc4eHhfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBUUzc4WFhfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IFRTNzhYWF9OT1JfQk9PVF9CQVNFICsgVFM3OFhYX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgdHM3OHh4X25vcl9ib290X2ZsYXNoID0geworCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJCT0gLTEsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnRzNzh4eF9ub3JfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9ICZ0czc4eHhfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UsCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEV0aGVybmV0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSB0czc4eHhfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gMCwKKwkuZm9yY2VfcGh5X2FkZHIgPSAxLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBSVEMgTTQ4VDg2IC0gbmlja2VkXldib3Jyb3dlZCBmcm9tIGFyY2gvYXJtL21hY2gtZXA5M3h4L3RzNzJ4eC5jCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZmRlZiBDT05GSUdfUlRDX0RSVl9NNDhUODYKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIHRzNzh4eF9ydGNfcmVhZGJ5dGUodW5zaWduZWQgbG9uZyBhZGRyKQoreworCXdyaXRlYihhZGRyLCBUUzc4WFhfRlBHQV9SRUdTX1JUQ19DVFJMKTsKKwlyZXR1cm4gcmVhZGIoVFM3OFhYX0ZQR0FfUkVHU19SVENfREFUQSk7Cit9CisKK3N0YXRpYyB2b2lkIHRzNzh4eF9ydGNfd3JpdGVieXRlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwl3cml0ZWIoYWRkciwgVFM3OFhYX0ZQR0FfUkVHU19SVENfQ1RSTCk7CisJd3JpdGViKHZhbHVlLCBUUzc4WFhfRlBHQV9SRUdTX1JUQ19EQVRBKTsKK30KKworc3RhdGljIHN0cnVjdCBtNDh0ODZfb3BzIHRzNzh4eF9ydGNfb3BzID0geworCS5yZWFkYnl0ZQk9IHRzNzh4eF9ydGNfcmVhZGJ5dGUsCisJLndyaXRlYnl0ZQk9IHRzNzh4eF9ydGNfd3JpdGVieXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgdHM3OHh4X3J0Y19kZXZpY2UgPSB7CisJLm5hbWUJCT0gInJ0Yy1tNDh0ODYiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmdHM3OHh4X3J0Y19vcHMsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCit9OworCisvKgorICogVFMgdXNlcyBzb21lIG9mIHRoZSB1c2VyIHN0b3JhZ2Ugc3BhY2Ugb24gdGhlIFJUQyBjaGlwIHNvIHNlZSBpZiBpdCBpcworICogcHJlc2VudDsgYXMgaXQncyBhbiBvcHRpb25hbCBmZWF0dXJlIGF0IHB1cmNoYXNlIHRpbWUgYW5kIG5vdCBhbGwgYm9hcmRzCisgKiB3aWxsIGhhdmUgaXQgcHJlc2VudAorICoKKyAqIEkndmUgdXNlZCB0aGUgbWV0aG9kIFRTIHVzZSBpbiB0aGVpciBydGM3ODAwLmMgZXhhbXBsZSBmb3IgdGhlIGRldGVjdGlvbgorICoKKyAqIFRPRE86IHRyYWNrIGRvd24gYSBndWluZWEgcGlnIHdpdGhvdXQgYW4gUlRDIHRvIHNlZSBpZiB3ZSBjYW4gd29yayBvdXQgYQorICogCQliZXR0ZXIgUlRDIGRldGVjdGlvbiByb3V0aW5lCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IHRzNzh4eF9ydGNfaW5pdCh2b2lkKQoreworCXVuc2lnbmVkIGNoYXIgdG1wX3J0YzAsIHRtcF9ydGMxOworCisJdG1wX3J0YzAgPSB0czc4eHhfcnRjX3JlYWRieXRlKDEyNik7CisJdG1wX3J0YzEgPSB0czc4eHhfcnRjX3JlYWRieXRlKDEyNyk7CisKKwl0czc4eHhfcnRjX3dyaXRlYnl0ZSgweDAwLCAxMjYpOworCXRzNzh4eF9ydGNfd3JpdGVieXRlKDB4NTUsIDEyNyk7CisJaWYgKHRzNzh4eF9ydGNfcmVhZGJ5dGUoMTI3KSA9PSAweDU1KSB7CisJCXRzNzh4eF9ydGNfd3JpdGVieXRlKDB4YWEsIDEyNyk7CisJCWlmICh0czc4eHhfcnRjX3JlYWRieXRlKDEyNykgPT0gMHhhYQorCQkJCSYmIHRzNzh4eF9ydGNfcmVhZGJ5dGUoMTI2KSA9PSAweDAwKSB7CisJCQl0czc4eHhfcnRjX3dyaXRlYnl0ZSh0bXBfcnRjMCwgMTI2KTsKKwkJCXRzNzh4eF9ydGNfd3JpdGVieXRlKHRtcF9ydGMxLCAxMjcpOworCQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ0czc4eHhfcnRjX2RldmljZSk7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKworCXJldHVybiAwOworfTsKKyNlbHNlCitzdGF0aWMgaW50IF9faW5pdCB0czc4eHhfcnRjX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFNBVEEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgdHM3OHh4X3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHByaW50IHNvbWUgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBib2FyZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCBfX2luaXQgdHM3OHh4X3ByaW50X2JvYXJkX2lkKHZvaWQpCit7CisJdW5zaWduZWQgaW50IGJvYXJkX2luZm87CisKKwlib2FyZF9pbmZvID0gcmVhZGwoVFM3OFhYX0ZQR0FfUkVHU19TWVNDT05fSUQpOworCXByaW50ayhLRVJOX0lORk8gIlRTLTc4eHggSW5mbzogRlBHQSByZXY9JS4yeCwgQm9hcmQgTWFnaWM9JS42eCwgIiwKKwkJCQlib2FyZF9pbmZvICYgMHhmZiwKKwkJCQkoYm9hcmRfaW5mbyA+PiA4KSAmIDB4ZmZmZmZmKTsKKwlib2FyZF9pbmZvID0gcmVhZGwoVFM3OFhYX0ZQR0FfUkVHU19TWVNDT05fTENESSk7CisJcHJpbnRrKCJKUDE9JWQsIEpQMj0lZFxuIiwKKwkJCQkoYm9hcmRfaW5mbyA+PiAzMCkgJiAweDEsCisJCQkJKGJvYXJkX2luZm8gPj4gMzEpICYgMHgxKTsKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgdHM3OHh4X21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1VOVVNFRCB9LAorCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBKVEFHIENsb2NrICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIEpUQUcgRGF0YSBJbiAqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBMYXQgRUNQMiAyNTYgRlBHQSAtIFBCMkIgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogSlRBRyBEYXRhIE91dCAqLworCXsgIDUsIE1QUF9HUElPIH0sCQkvKiBKVEFHIFRNUyAqLworCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBMYXQgRUNQMiAyNTYgRlBHQSAtIFBCMzFBX0NMSzQrICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qIExhdCBFQ1AyIDI1NiBGUEdBIC0gUEIyMkIgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9VTlVTRUQgfSwKKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1VOVVNFRCB9LAorCXsgMTMsIE1QUF9VTlVTRUQgfSwKKwl7IDE0LCBNUFBfVU5VU0VEIH0sCisJeyAxNSwgTVBQX1VOVVNFRCB9LAorCXsgMTYsIE1QUF9VQVJUIH0sCisJeyAxNywgTVBQX1VBUlQgfSwKKwl7IDE4LCBNUFBfVUFSVCB9LAorCXsgMTksIE1QUF9VQVJUIH0sCisJeyAtMSB9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHRzNzh4eF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJdHM3OHh4X3ByaW50X2JvYXJkX2lkKCk7CisKKwlvcmlvbjV4X21wcF9jb25mKHRzNzh4eF9tcHBfbW9kZXMpOworCisJLyoKKwkgKiBNUFBbMjBdIFBDSSBDbG9jayBPdXQgMQorCSAqIE1QUFsyMV0gUENJIENsb2NrIE91dCAwCisJICogTVBQWzIyXSBVbnVzZWQKKwkgKiBNUFBbMjNdIFVudXNlZAorCSAqIE1QUFsyNF0gVW51c2VkCisJICogTVBQWzI1XSBVbnVzZWQKKwkgKi8KKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJnRzNzh4eF9ldGhfZGF0YSk7CisJb3Jpb241eF9zYXRhX2luaXQoJnRzNzh4eF9zYXRhX2RhdGEpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCW9yaW9uNXhfdWFydDFfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oVFM3OFhYX05PUl9CT09UX0JBU0UsCisJCQkJICAgVFM3OFhYX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmdHM3OHh4X25vcl9ib290X2ZsYXNoKTsKKworCWlmICghdHM3OHh4X3J0Y19pbml0KCkpCisJCXByaW50ayhLRVJOX0lORk8gIlRTLTc4eHggUlRDIG5vdCBkZXRlY3RlZCBvciBlbmFibGVkXG4iKTsKK30KKworTUFDSElORV9TVEFSVChUUzc4WFgsICJUZWNobm9sb2dpYyBTeXN0ZW1zIFRTLTc4eHggU0JDIikKKwkvKiBNYWludGFpbmVyOiBBbGV4YW5kZXIgQ2xvdXRlciA8YWxleEBkaWdyaXoub3JnLnVrPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSB0czc4eHhfaW5pdCwKKwkubWFwX2lvCQk9IHRzNzh4eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gb3Jpb241eF9pbml0X2lycSwKKwkudGltZXIJCT0gJm9yaW9uNXhfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzeDA5LWNvbW1vbi5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzeDA5LWNvbW1vbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZmVhYzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmMKQEAgLTAsMCArMSwxMzMgQEAKKy8qCisgKiBRTkFQIFRTLXgwOSBCb2FyZHMgY29tbW9uIGZ1bmN0aW9ucworICoKKyAqIE1haW50YWluZXJzOiBMZW5uZXJ0IEJ1eXRlbmhlayA8YnV5dGVuaEBtYXJ2ZWxsLmNvbT4KKyAqCQlCeXJvbiBCcmFkbGV5IDxieXJvbi5iYnJhZGxleUBnbWFpbC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbgorICogMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KKyNpbmNsdWRlICJ0c3gwOS1jb21tb24uaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBRTkFQIFRTLXgwOSBzcGVjaWZpYyBwb3dlciBvZmYgbWV0aG9kIHZpYSBVQVJUMS1hdHRhY2hlZCBQSUMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIFVBUlQxX1JFRyh4KQkoVUFSVDFfVklSVF9CQVNFICsgKChVQVJUXyMjeCkgPDwgMikpCisKK3ZvaWQgcW5hcF90c3gwOV9wb3dlcl9vZmYodm9pZCkKK3sKKwkvKiAxOTIwMCBiYXVkIGRpdmlzb3IgKi8KKwljb25zdCB1bnNpZ25lZCBkaXZpc29yID0gKChPUklPTjVYX1RDTEsgKyAoOCAqIDE5MjAwKSkgLyAoMTYgKiAxOTIwMCkpOworCisJcHJfaW5mbygiJXM6IHRyaWdnZXJpbmcgcG93ZXItb2ZmLi4uXG4iLCBfX2Z1bmNfXyk7CisKKwkvKiBoaWphY2sgdWFydDEgYW5kIHJlc2V0IGludG8gc2FuZSBzdGF0ZSAoMTkyMDAsOG4xKSAqLworCXdyaXRlbCgweDgzLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKGRpdmlzb3IgJiAweGZmLCBVQVJUMV9SRUcoRExMKSk7CisJd3JpdGVsKChkaXZpc29yID4+IDgpICYgMHhmZiwgVUFSVDFfUkVHKERMTSkpOworCXdyaXRlbCgweDAzLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKDB4MDAsIFVBUlQxX1JFRyhJRVIpKTsKKwl3cml0ZWwoMHgwMCwgVUFSVDFfUkVHKEZDUikpOworCXdyaXRlbCgweDAwLCBVQVJUMV9SRUcoTUNSKSk7CisKKwkvKiBzZW5kIHRoZSBwb3dlci1vZmYgY29tbWFuZCAnQScgdG8gUElDICovCisJd3JpdGVsKCdBJywgVUFSVDFfUkVHKFRYKSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRXRoZXJuZXQKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBxbmFwX3RzeDA5X2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IDgsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBxbmFwX3RzeDA5X3BhcnNlX2hleF9uaWJibGUoY2hhciBuKQoreworCWlmIChuID49ICcwJyAmJiBuIDw9ICc5JykKKwkJcmV0dXJuIG4gLSAnMCc7CisKKwlpZiAobiA+PSAnQScgJiYgbiA8PSAnRicpCisJCXJldHVybiBuIC0gJ0EnICsgMTA7CisKKwlpZiAobiA+PSAnYScgJiYgbiA8PSAnZicpCisJCXJldHVybiBuIC0gJ2EnICsgMTA7CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHFuYXBfdHN4MDlfcGFyc2VfaGV4X2J5dGUoY29uc3QgY2hhciAqYikKK3sKKwlpbnQgaGk7CisJaW50IGxvOworCisJaGkgPSBxbmFwX3RzeDA5X3BhcnNlX2hleF9uaWJibGUoYlswXSk7CisJbG8gPSBxbmFwX3RzeDA5X3BhcnNlX2hleF9uaWJibGUoYlsxXSk7CisKKwlpZiAoaGkgPCAwIHx8IGxvIDwgMCkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIChoaSA8PCA0KSB8IGxvOworfQorCitzdGF0aWMgaW50IF9faW5pdCBxbmFwX3RzeDA5X2NoZWNrX21hY19hZGRyKGNvbnN0IGNoYXIgKmFkZHJfc3RyKQoreworCXVfaW50OF90IGFkZHJbNl07CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKSB7CisJCWludCBieXRlOworCisJCS8qCisJCSAqIEVuZm9yY2UgInh4Onh4Onh4Onh4Onh4Onh4XG4iIGZvcm1hdC4KKwkJICovCisJCWlmIChhZGRyX3N0clsoaSAqIDMpICsgMl0gIT0gKChpIDwgNSkgPyAnOicgOiAnXG4nKSkKKwkJCXJldHVybiAtMTsKKworCQlieXRlID0gcW5hcF90c3gwOV9wYXJzZV9oZXhfYnl0ZShhZGRyX3N0ciArIChpICogMykpOworCQlpZiAoYnl0ZSA8IDApCisJCQlyZXR1cm4gLTE7CisJCWFkZHJbaV0gPSBieXRlOworCX0KKworCXByaW50ayhLRVJOX0lORk8gInRzeDA5OiBmb3VuZCBldGhlcm5ldCBtYWMgYWRkcmVzcyAiKTsKKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQorCQlwcmludGsoIiUuMnglcyIsIGFkZHJbaV0sIChpIDwgNSkgPyAiOiIgOiAiLlxuIik7CisKKwltZW1jcHkocW5hcF90c3gwOV9ldGhfZGF0YS5tYWNfYWRkciwgYWRkciwgNik7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFRoZSAnTkFTIENvbmZpZycgZmxhc2ggcGFydGl0aW9uIGhhcyBhbiBleHQyIGZpbGVzeXN0ZW0gd2hpY2gKKyAqIGNvbnRhaW5zIGEgZmlsZSB0aGF0IGhhcyB0aGUgZXRoZXJuZXQgTUFDIGFkZHJlc3MgaW4gcGxhaW4gdGV4dAorICogKGZvcm1hdCAieHg6eHg6eHg6eHg6eHg6eHhcbiIpLgorICovCit2b2lkIF9faW5pdCBxbmFwX3RzeDA5X2ZpbmRfbWFjX2FkZHIodTMyIG1lbV9iYXNlLCB1MzIgc2l6ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisKKwlmb3IgKGFkZHIgPSBtZW1fYmFzZTsgYWRkciA8IChtZW1fYmFzZSArIHNpemUpOyBhZGRyICs9IDEwMjQpIHsKKwkJY2hhciAqbm9yX3BhZ2U7CisJCWludCByZXQgPSAwOworCisJCW5vcl9wYWdlID0gaW9yZW1hcChhZGRyLCAxMDI0KTsKKwkJaWYgKG5vcl9wYWdlICE9IE5VTEwpIHsKKwkJCXJldCA9IHFuYXBfdHN4MDlfY2hlY2tfbWFjX2FkZHIobm9yX3BhZ2UpOworCQkJaW91bm1hcChub3JfcGFnZSk7CisJCX0KKworCQlpZiAocmV0ID09IDApCisJCQlicmVhazsKKwl9Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmggYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk4NDI2NAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90c3gwOS1jb21tb24uaApAQCAtMCwwICsxLDIwIEBACisjaWZuZGVmIF9fQVJDSF9PUklPTjVYX1RTWDA5X0NPTU1PTl9ICisjZGVmaW5lIF9fQVJDSF9PUklPTjVYX1RTWDA5X0NPTU1PTl9ICisKKy8qCisgKiBRTkFQIFRTLXgwOSBCb2FyZHMgcG93ZXItb2ZmIGZ1bmN0aW9uCisgKi8KK2V4dGVybiB2b2lkIHFuYXBfdHN4MDlfcG93ZXJfb2ZmKHZvaWQpOworCisvKgorICogUU5BUCBUUy14MDkgQm9hcmRzIGZ1bmN0aW9uIHRvIGZpbmQgRXRoZXJuZXQgTUFDIGFkZHJlc3MgaW4gZmxhc2ggbWVtb3J5CisgKi8KK2V4dGVybiB2b2lkIF9faW5pdCBxbmFwX3RzeDA5X2ZpbmRfbWFjX2FkZHIodTMyIG1lbV9iYXNlLCB1MzIgc2l6ZSk7CisKKy8qCisgKiBRTkFQIFRTLXgwOSBCb2FyZHMgZXRoZXJuZXQgZGVjbGFyYXRpb24KKyAqLworZXh0ZXJuIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHFuYXBfdHN4MDlfZXRoX2RhdGE7CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvd25yODU0dC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3ducjg1NHQtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWYwOTNmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3ducjg1NHQtc2V0dXAuYwpAQCAtMCwwICsxLDE2NCBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtb3Jpb241eC93bnI4NTR0LXNldHVwLmMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgd25yODU0dF9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBQb3dlciBMRUQgZ3JlZW4gKDA9b24pICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFJlc2V0IEJ1dHRvbiAoMD1vZmYpICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIExFRCBibGluayAoMD1vZmYpICovCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIFdBTiBTdGF0dXMgTEVEIGFtYmVyICgwPW9mZikgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogUENJIGludCAqLworCXsgIDUsIE1QUF9HUElPIH0sCQkvKiA/Pz8gKi8KKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogPz8/ICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qID8/PyAqLworCXsgIDgsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgIDksIE1QUF9HSUdFIH0sCQkvKiBHRV9SWEVSUiAqLworCXsgMTAsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgMTEsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgMTIsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNF0gKi8KKwl7IDEzLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzVdICovCisJeyAxNCwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs2XSAqLworCXsgMTUsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbN10gKi8KKwl7IDE2LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzRdICovCisJeyAxNywgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs1XSAqLworCXsgMTgsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNl0gKi8KKwl7IDE5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzddICovCisJeyAtMSB9LAorfTsKKworLyoKKyAqIDhNIE5PUiBmbGFzaCBEZXZpY2UgYnVzIGJvb3QgY2hpcCBzZWxlY3QKKyAqLworI2RlZmluZSBXTlI4NTRUX05PUl9CT09UX0JBU0UJMHhmNDAwMDAwMAorI2RlZmluZSBXTlI4NTRUX05PUl9CT09UX1NJWkUJU1pfOE0KKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHducjg1NHRfbm9yX2ZsYXNoX3BhcnRpdGlvbnNbXSA9IHsKKwl7CisJCS5uYW1lCQk9ICJrZXJuZWwiLAorCQkub2Zmc2V0CQk9IDB4MDAwMDAwMDAsCisJCS5zaXplCQk9IDB4MDAxMDAwMDAsCisJfSwgeworCQkubmFtZQkJPSAicm9vdGZzIiwKKwkJLm9mZnNldAkJPSAweDAwMTAwMDAwLAorCQkuc2l6ZQkJPSAweDAwNjYwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gInVib290IiwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAorCQkuc2l6ZQkJPSAweDAwMDQwMDAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSB3bnI4NTR0X25vcl9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAyLAorCS5wYXJ0cwkJPSB3bnI4NTR0X25vcl9mbGFzaF9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUod25yODU0dF9ub3JfZmxhc2hfcGFydGl0aW9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHducjg1NHRfbm9yX2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gV05SODU0VF9OT1JfQk9PVF9CQVNFLAorCS5lbmQJCT0gV05SODU0VF9OT1JfQk9PVF9CQVNFICsgV05SODU0VF9OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHducjg1NHRfbm9yX2ZsYXNoID0geworCS5uYW1lCQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZ3bnI4NTR0X25vcl9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJnducjg1NHRfbm9yX2ZsYXNoX3Jlc291cmNlLAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHducjg1NHRfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgd25yODU0dF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZih3bnI4NTR0X21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2V0aF9pbml0KCZ3bnI4NTR0X2V0aF9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFdOUjg1NFRfTk9SX0JPT1RfQkFTRSwKKwkJCQkgICBXTlI4NTRUX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmd25yODU0dF9ub3JfZmxhc2gpOworfQorCitzdGF0aWMgaW50IF9faW5pdCB3bnI4NTR0X3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJLyoKKwkgKiBNaW5pLVBDSSBzbG90LgorCSAqLworCWlmIChzbG90ID09IDcpCisJCXJldHVybiBncGlvX3RvX2lycSg0KTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgd25yODU0dF9wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBvcmlvbjV4X3BjaV9zeXNfc2V0dXAsCisJLnNjYW4JCT0gb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gd25yODU0dF9wY2lfbWFwX2lycSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHducjg1NHRfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc193bnI4NTR0KCkpCisJCXBjaV9jb21tb25faW5pdCgmd25yODU0dF9wY2kpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwod25yODU0dF9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoV05SODU0VCwgIk5ldGdlYXIgV05SODU0VCIpCisJLyogTWFpbnRhaW5lcjogSW1yZSBLYWxveiA8a2Fsb3pAb3BlbndydC5vcmc+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHducjg1NHRfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3dydDM1MG4tdjItc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC93cnQzNTBuLXYyLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVhYjU1YwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC93cnQzNTBuLXYyLXNldHVwLmMKQEAgLTAsMCArMSwxNzMgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvd3J0MzUwbi12Mi1zZXR1cC5jCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHdydDM1MG5fdjJfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgTEVEIGdyZWVuICgwPW9uKSAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBTZWN1cml0eSBMRUQgKDA9b24pICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIEludGVybmFsIEJ1dHRvbiAoMD1vbikgKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogUmVzZXQgQnV0dG9uICgwPW9uKSAqLworCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBQQ0kgaW50ICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIExFRCBvcmFuZ2UgKDA9b24pICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIFVTQiBMRUQgKDA9b24pICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qIFdpcmVsZXNzIExFRCAoMD1vbikgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCQkvKiA/Pz8gKi8KKwl7ICA5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhFUlIgKi8KKwl7IDEwLCBNUFBfVU5VU0VEIH0sCQkvKiA/Pz8gKi8KKwl7IDExLCBNUFBfVU5VU0VEIH0sCQkvKiA/Pz8gKi8KKwl7IDEyLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzRdICovCisJeyAxMywgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs1XSAqLworCXsgMTQsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNl0gKi8KKwl7IDE1LCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzddICovCisJeyAxNiwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs0XSAqLworCXsgMTcsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNV0gKi8KKwl7IDE4LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzZdICovCisJeyAxOSwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs3XSAqLworCXsgLTEgfSwKK307CisKKy8qCisgKiA4TSBOT1IgZmxhc2ggRGV2aWNlIGJ1cyBib290IGNoaXAgc2VsZWN0CisgKi8KKyNkZWZpbmUgV1JUMzUwTl9WMl9OT1JfQk9PVF9CQVNFCTB4ZjQwMDAwMDAKKyNkZWZpbmUgV1JUMzUwTl9WMl9OT1JfQk9PVF9TSVpFCVNaXzhNCisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiB3cnQzNTBuX3YyX25vcl9mbGFzaF9wYXJ0aXRpb25zW10gPSB7CisJeworCQkubmFtZQkJPSAia2VybmVsIiwKKwkJLm9mZnNldAkJPSAweDAwMDAwMDAwLAorCQkuc2l6ZQkJPSAweDAwNzYwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gInJvb3RmcyIsCisJCS5vZmZzZXQJCT0gMHgwMDFhMDAwMCwKKwkJLnNpemUJCT0gMHgwMDVjMDAwMCwKKwl9LCB7CisJCS5uYW1lCQk9ICJsYW5nIiwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAorCQkuc2l6ZQkJPSAweDAwMDQwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gIm52cmFtIiwKKwkJLm9mZnNldAkJPSAweDAwN2EwMDAwLAorCQkuc2l6ZQkJPSAweDAwMDIwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gInUtYm9vdCIsCisJCS5vZmZzZXQJCT0gMHgwMDdjMDAwMCwKKwkJLnNpemUJCT0gMHgwMDA0MDAwMCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgd3J0MzUwbl92Ml9ub3JfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKKwkucGFydHMJCT0gd3J0MzUwbl92Ml9ub3JfZmxhc2hfcGFydGl0aW9ucywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKHdydDM1MG5fdjJfbm9yX2ZsYXNoX3BhcnRpdGlvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB3cnQzNTBuX3YyX25vcl9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CQk9IFdSVDM1ME5fVjJfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IFdSVDM1ME5fVjJfTk9SX0JPT1RfQkFTRSArIFdSVDM1ME5fVjJfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB3cnQzNTBuX3YyX25vcl9mbGFzaCA9IHsKKwkubmFtZQkJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmd3J0MzUwbl92Ml9ub3JfZmxhc2hfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCQk9IDEsCisJLnJlc291cmNlCQk9ICZ3cnQzNTBuX3YyX25vcl9mbGFzaF9yZXNvdXJjZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSB3cnQzNTBuX3YyX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHdydDM1MG5fdjJfaW5pdCh2b2lkKQoreworCS8qCisJICogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlvcmlvbjV4X2luaXQoKTsKKworCW9yaW9uNXhfbXBwX2NvbmYod3J0MzUwbl92Ml9tcHBfbW9kZXMpOworCisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9ldGhfaW5pdCgmd3J0MzUwbl92Ml9ldGhfZGF0YSk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihXUlQzNTBOX1YyX05PUl9CT09UX0JBU0UsCisJCQkJICAgV1JUMzUwTl9WMl9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJndydDM1MG5fdjJfbm9yX2ZsYXNoKTsKK30KKworc3RhdGljIGludCBfX2luaXQgd3J0MzUwbl92Ml9wY2lfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJaW50IGlycTsKKworCS8qCisJICogQ2hlY2sgZm9yIGRldmljZXMgd2l0aCBoYXJkLXdpcmVkIElSUXMuCisJICovCisJaXJxID0gb3Jpb241eF9wY2lfbWFwX2lycShkZXYsIHNsb3QsIHBpbik7CisJaWYgKGlycSAhPSAtMSkKKwkJcmV0dXJuIGlycTsKKworCS8qCisJICogTWluaS1QQ0kgc2xvdC4KKwkgKi8KKwlpZiAoc2xvdCA9PSA3KQorCQlyZXR1cm4gZ3Bpb190b19pcnEoNCk7CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaHdfcGNpIHdydDM1MG5fdjJfcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gMiwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IHdydDM1MG5fdjJfcGNpX21hcF9pcnEsCit9OworCitzdGF0aWMgaW50IF9faW5pdCB3cnQzNTBuX3YyX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfd3J0MzUwbl92MigpKQorCQlwY2lfY29tbW9uX2luaXQoJndydDM1MG5fdjJfcGNpKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHdydDM1MG5fdjJfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKFdSVDM1ME5fVjIsICJMaW5rc3lzIFdSVDM1ME4gdjIiKQorCS8qIE1haW50YWluZXI6IExlbm5lcnQgQnV5dGVuaGVrIDxidXl0ZW5oQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSB3cnQzNTBuX3YyX2luaXQsCisJLm1hcF9pbwkJPSBvcmlvbjV4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBvcmlvbjV4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmb3Jpb241eF90aW1lciwKKwkuZml4dXAJCT0gdGFnX2ZpeHVwX21lbTMyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLXB4YS9LY29uZmlnCmluZGV4IDVkYTdhNjguLjkxNGJiMzMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvS2NvbmZpZwpAQCAtMjAsOCArMjAsNyBAQAogCiBlbmRpZgogCi1jaG9pY2UKLQlwcm9tcHQgIlNlbGVjdCB0YXJnZXQgYm9hcmQiCittZW51ICJTZWxlY3QgdGFyZ2V0IGJvYXJkcyIKIAogY29uZmlnIEFSQ0hfR1VNU1RJWAogCWJvb2wgIkd1bXN0aXggWFNjYWxlIGJvYXJkcyIKQEAgLTM3LDEwICszNiwxMiBAQAogY29uZmlnIE1BQ0hfTE9HSUNQRF9QWEEyNzAKIAlib29sICJMb2dpY1BEIFBYQTI3MCBDYXJkIEVuZ2luZSBEZXZlbG9wbWVudCBQbGF0Zm9ybSIKIAlzZWxlY3QgUFhBMjd4CisJc2VsZWN0IEhBVkVfUFdNCiAKIGNvbmZpZyBNQUNIX01BSU5TVE9ORQogCWJvb2wgIkludGVsIEhDRERCQlZBMCBEZXZlbG9wbWVudCBQbGF0Zm9ybSIKIAlzZWxlY3QgUFhBMjd4CisJc2VsZWN0IEhBVkVfUFdNCiAKIGNvbmZpZyBBUkNIX1BYQV9JRFAKIAlib29sICJBY2NlbGVudCBYc2NhbGUgSURQIgpAQCAtMTE2LDYgKzExNyw3IEBACiBjb25maWcgTUFDSF9aWUxPTklURQogCWJvb2wgIlBYQTN4eCBEZXZlbG9wbWVudCBQbGF0Zm9ybSIKIAlzZWxlY3QgUFhBM3h4CisJc2VsZWN0IEhBVkVfUFdNCiAKIGNvbmZpZyBNQUNIX0xJVFRMRVRPTgogCWJvb2wgIlBYQTN4eCBGb3JtIEZhY3RvciBQbGF0Zm9ybSAoYWthIExpdHRsZXRvbikiCkBAIC0xMzgsNyArMTQwLDcgQEAKIAlzZWxlY3QgUFhBMjd4CiAJc2VsZWN0IElXTU1YVAogCi1lbmRjaG9pY2UKK2VuZG1lbnUKIAogY2hvaWNlCiAJcHJvbXB0ICJVc2VkIGJhc2Vib2FyZCIKQEAgLTE0NiwyNiArMTQ4LDI1IEBACiAKIGNvbmZpZyBNQUNIX1BDTTk5MF9CQVNFQk9BUkQKIAlib29sICJQSFlURUMgUENNLTk5MCBkZXZlbG9wbWVudCBib2FyZCIKKwlzZWxlY3QgSEFWRV9QV00KIAogZW5kY2hvaWNlCiAKLWlmIFBYQV9TSEFSUFNMCi0KIGNob2ljZQotCXByb21wdCAiU2VsZWN0IHRhcmdldCBTaGFycCBaYXVydXMgZGV2aWNlIHJhbmdlIgorCXByb21wdCAiZGlzcGxheSBvbiBwY205OTAiCisJZGVwZW5kcyBvbiBNQUNIX1BDTTk5MF9CQVNFQk9BUkQKIAotY29uZmlnIFBYQV9TSEFSUFNMXzI1eAotCWJvb2wgIlNoYXJwIFBYQTI1eCBtb2RlbHMgKFNMLTU2MDAsIFNMLUM3eHggYW5kIFNMLUM2MDAweCkiCi0Jc2VsZWN0IFBYQTI1eAorY29uZmlnIFBDTTk5MF9ESVNQTEFZX1NIQVJQCisJYm9vbCAic2hhcnAgbHEwODR2MWRnMjEgc3RuIGRpc3BsYXkiCiAKLWNvbmZpZyBQWEFfU0hBUlBTTF8yN3gKLQlib29sICJTaGFycCBQWEEyNzAgbW9kZWxzIChTTC1DeHgwMCkiCi0Jc2VsZWN0IFBYQTI3eAorY29uZmlnIFBDTTk5MF9ESVNQTEFZX05FQworCWJvb2wgIm5lYyBubDY0NDhiYzIwXzE4ZCB0ZnQgZGlzcGxheSIKKworY29uZmlnIFBDTTk5MF9ESVNQTEFZX05PTkUKKwlib29sICJubyBkaXNwbGF5IgogCiBlbmRjaG9pY2UKIAotZW5kaWYKLQogaWYgQVJDSF9HVU1TVElYCiAKIGNob2ljZQpAQCAtMTk5LDI4ICsyMDAsMzMgQEAKIAogY29uZmlnIE1BQ0hfUE9PRExFCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLTU2MDAgKFBvb2RsZSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI1eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjV4CiAJc2VsZWN0IFNIQVJQX0xPQ09NTwogCXNlbGVjdCBQWEFfU1NQCiAKIGNvbmZpZyBNQUNIX0NPUkdJCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLUM3MDAgKENvcmdpKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gUFhBX1NIQVJQU0xfMjV4CisJZGVwZW5kcyBvbiBQWEFfU0hBUlBTTAorCXNlbGVjdCBQWEEyNXgKIAlzZWxlY3QgUFhBX1NIQVJQX0M3eHgKIAogY29uZmlnIE1BQ0hfU0hFUEhFUkQKIAlib29sICJFbmFibGUgU2hhcnAgU0wtQzc1MCAoU2hlcGhlcmQpIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yNXgKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI1eAogCXNlbGVjdCBQWEFfU0hBUlBfQzd4eAogCiBjb25maWcgTUFDSF9IVVNLWQogCWJvb2wgIkVuYWJsZSBTaGFycCBTTC1DNzYwIChIdXNreSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI1eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjV4CiAJc2VsZWN0IFBYQV9TSEFSUF9DN3h4CiAKIGNvbmZpZyBNQUNIX0FLSVRBCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLTEwMDAgKEFraXRhKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gUFhBX1NIQVJQU0xfMjd4CisJZGVwZW5kcyBvbiBQWEFfU0hBUlBTTAorCXNlbGVjdCBQWEEyN3gKIAlzZWxlY3QgUFhBX1NIQVJQX0N4eDAwCiAJc2VsZWN0IE1BQ0hfU1BJVFoKIAlzZWxlY3QgSTJDCkBAIC0yMjgsMTcgKzIzNCwyMCBAQAogCiBjb25maWcgTUFDSF9TUElUWgogCWJvb2wgIkVuYWJsZSBTaGFycCBaYXVydXMgU0wtMzAwMCAoU3BpdHopIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yN3gKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI3eAogCXNlbGVjdCBQWEFfU0hBUlBfQ3h4MDAKIAogY29uZmlnIE1BQ0hfQk9SWk9JCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFphdXJ1cyBTTC0zMTAwIChCb3J6b2kpIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yN3gKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI3eAogCXNlbGVjdCBQWEFfU0hBUlBfQ3h4MDAKIAogY29uZmlnIE1BQ0hfVE9TQQogCWJvb2wgIkVuYWJsZSBTaGFycCBTTC02MDAweCAoVG9zYSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI1eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjV4CiAKIGNvbmZpZyBQWEEyNXgKIAlib29sCkBAIC0yNzMsNCArMjgyLDEwIEBACiAJdHJpc3RhdGUKIAloZWxwCiAJICBFbmFibGUgc3VwcG9ydCBmb3IgUFhBMnh4IFNTUCBwb3J0cworCitjb25maWcgUFhBX1BXTQorCXRyaXN0YXRlCisJZGVmYXVsdCBCQUNLTElHSFRfUFdNCisJaGVscAorCSAgRW5hYmxlIHN1cHBvcnQgZm9yIFBYQTJ4eC9QWEEzeHggUFdNIGNvbnRyb2xsZXJzCiBlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZQppbmRleCAwZTZkMDViLi5jNGRmYmU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZQpAQCAtMTAsMTAgKzEwLDExIEBACiAKICMgR2VuZXJpYyBkcml2ZXJzIHRoYXQgb3RoZXIgZHJpdmVycyBtYXkgZGVwZW5kIHVwb24KIG9iai0kKENPTkZJR19QWEFfU1NQKQkJKz0gc3NwLm8KK29iai0kKENPTkZJR19QWEFfUFdNKQkJKz0gcHdtLm8KIAogIyBTb0Mtc3BlY2lmaWMgY29kZQotb2JqLSQoQ09ORklHX1BYQTI1eCkJCSs9IG1mcC1weGEyeHgubyBweGEyNXgubwotb2JqLSQoQ09ORklHX1BYQTI3eCkJCSs9IG1mcC1weGEyeHgubyBweGEyN3gubworb2JqLSQoQ09ORklHX1BYQTI1eCkJCSs9IG1mcC1weGEyeHgubyBweGEyeHgubyBweGEyNXgubworb2JqLSQoQ09ORklHX1BYQTI3eCkJCSs9IG1mcC1weGEyeHgubyBweGEyeHgubyBweGEyN3gubwogb2JqLSQoQ09ORklHX1BYQTN4eCkJCSs9IG1mcC1weGEzeHgubyBweGEzeHgubyBzbWVtYy5vCiBvYmotJChDT05GSUdfQ1BVX1BYQTMwMCkJKz0gcHhhMzAwLm8KIG9iai0kKENPTkZJR19DUFVfUFhBMzIwKQkrPSBweGEzMjAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtcHhhL2Nsb2NrLmMKaW5kZXggZTk3ZGM1OS4uYjRkMDQ5NSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5jCkBAIC0xMiw3ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KIAotI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCkBAIC00Nyw2ICs0Nyw5IEBACiAJCWNsayA9IHA7CiAJbXV0ZXhfdW5sb2NrKCZjbG9ja3NfbXV0ZXgpOwogCisJaWYgKCFJU19FUlIoY2xrKSAmJiBjbGstPm9wcyA9PSBOVUxMKQorCQljbGsgPSBjbGstPm90aGVyOworCiAJcmV0dXJuIGNsazsKIH0KIEVYUE9SVF9TWU1CT0woY2xrX2dldCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5oIGIvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suaAppbmRleCBiYzZiNzdlLi44M2NiZmFiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5oCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2Nsb2NrLmgKQEAgLTE1LDYgKzE1LDcgQEAKIAl1bnNpZ25lZCBpbnQJCWNrZW47CiAJdW5zaWduZWQgaW50CQlkZWxheTsKIAl1bnNpZ25lZCBpbnQJCWVuYWJsZWQ7CisJc3RydWN0IGNsawkJKm90aGVyOwogfTsKIAogI2RlZmluZSBJTklUX0NLRU4oX25hbWUsIF9ja2VuLCBfcmF0ZSwgX2RlbGF5LCBfZGV2KQlcCkBAIC0zNSw2ICszNiwxNyBAQAogCQkuY2tlbgk9IENLRU5fIyNfY2tlbiwJCQlcCiAJfQogCisvKgorICogVGhpcyBpcyBhIHBsYWNlaG9sZGVyIHRvIGFsaWFzIG9uZSBjbG9jayBkZXZpY2UrbmFtZSBwYWlyCisgKiB0byBhbm90aGVyIHN0cnVjdCBjbGsuCisgKi8KKyNkZWZpbmUgSU5JVF9DS09USEVSKF9uYW1lLCBfb3RoZXIsIF9kZXYpCQlcCisJewkJCQkJCVwKKwkJLm5hbWUJPSBfbmFtZSwJCQlcCisJCS5kZXYJPSBfZGV2LAkJCQlcCisJCS5vdGhlcgk9IF9vdGhlciwJCQlcCisJfQorCiBleHRlcm4gY29uc3Qgc3RydWN0IGNsa29wcyBjbGtfY2tlbl9vcHM7CiAKIHZvaWQgY2xrX2NrZW5fZW5hYmxlKHN0cnVjdCBjbGsgKmNsayk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLXBjaS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvY20teDI3MC1wY2kuYwppbmRleCBhYzdmMDVmLi4zMTljOWZmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLXBjaS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2NtLXgyNzAtcGNpLmMKQEAgLTQxLDE4ICs0MSwyMCBAQAogewogCXVuc2lnbmVkIGludCBzeiA9IFNaXzY0TSA+PiBQQUdFX1NISUZUOwogCi0JcHJfaW5mbygiQWRqdXN0aW5nIHpvbmVzIGZvciBDTS14MjcwXG4iKTsKKwlpZiAobWFjaGluZV9pc19hcm1jb3JlKCkpIHsKKwkJcHJfaW5mbygiQWRqdXN0aW5nIHpvbmVzIGZvciBDTS14MjcwXG4iKTsKIAotCS8qCi0JICogT25seSBhZGp1c3QgaWYgPiA2NE0gb24gY3VycmVudCBzeXN0ZW0KLQkgKi8KLQlpZiAobm9kZSB8fCAoem9uZV9zaXplWzBdIDw9IHN6KSkKLQkJcmV0dXJuOworCQkvKgorCQkgKiBPbmx5IGFkanVzdCBpZiA+IDY0TSBvbiBjdXJyZW50IHN5c3RlbQorCQkgKi8KKwkJaWYgKG5vZGUgfHwgKHpvbmVfc2l6ZVswXSA8PSBzeikpCisJCQlyZXR1cm47CiAKLQl6b25lX3NpemVbMV0gPSB6b25lX3NpemVbMF0gLSBzejsKLQl6b25lX3NpemVbMF0gPSBzejsKLQl6aG9sZV9zaXplWzFdID0gemhvbGVfc2l6ZVswXTsKLQl6aG9sZV9zaXplWzBdID0gMDsKKwkJem9uZV9zaXplWzFdID0gem9uZV9zaXplWzBdIC0gc3o7CisJCXpvbmVfc2l6ZVswXSA9IHN6OworCQl6aG9sZV9zaXplWzFdID0gemhvbGVfc2l6ZVswXTsKKwkJemhvbGVfc2l6ZVswXSA9IDA7CisJfQogfQogCiBzdGF0aWMgdm9pZCBjbXgyNzBfaXQ4MTUyX2lycV9kZW11eCh1bnNpZ25lZCBpbnQgaXJxLCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLmMKaW5kZXggZjU4NTFkMS4uMDFiOTk2NCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvY20teDI3MC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2NtLXgyNzAuYwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhZmIuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CkBAIC04MSwxMiArODIsNiBAQAogCX0KIH07CiAKLS8qIGF1ZGlvIGRldmljZSAqLwotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgY214MjcwX2F1ZGlvX2RldmljZSA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLX07Ci0KIC8qIHRvdWNoc2NyZWVuIGNvbnRyb2xsZXIgKi8KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGNteDI3MF90c19kZXZpY2UgPSB7CiAJLm5hbWUJCT0gInVjYjE0MDBfdHMiLApAQCAtMjE5LDcgKzIxNCw2IEBACiAvKiBwbGF0Zm9ybSBkZXZpY2VzICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJmNteDI3MF9kZXZpY2VfZG05aywKLQkmY214MjcwX2F1ZGlvX2RldmljZSwKIAkmY214MjcwX3J0Y19kZXZpY2UsCiAJJmNteDI3MF8yNzAwRywKIAkmY214MjcwX2xlZF9kZXZpY2UsCkBAIC01OTQsNiArNTg4LDcgQEAKIAogCS8qIHJlZ2lzdGVyIENNLVgyNzAgcGxhdGZvcm0gZGV2aWNlcyAqLwogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHBsYXRmb3JtX2RldmljZXMsIEFSUkFZX1NJWkUocGxhdGZvcm1fZGV2aWNlcykpOworCXB4YV9zZXRfYWM5N19pbmZvKE5VTEwpOwogCiAJLyogc2V0IE1DSSBhbmQgT0hDSSBwbGF0Zm9ybSBwYXJhbWV0ZXJzICovCiAJcHhhX3NldF9tY2lfaW5mbygmY214MjcwX21jaV9wbGF0Zm9ybV9kYXRhKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9jb3JnaS5jCmluZGV4IGI3NTdkZDcuLmIzNzY3MWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2kuYwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaXJkYS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2lfcG0uYyBiL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpX3BtLmMKaW5kZXggMGE4NWY3MC4uZTkxYzBmMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2lfcG0uYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9jb3JnaV9wbS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvc2hhcnBzbC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2NvcmdpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSAic2hhcnBzbC5oIgogCkBAIC0yMDQsNyArMjA1LDkgQEAKIAkucmVhZF9kZXZkYXRhICAgID0gY29yZ2lwbV9yZWFkX2RldmRhdGEsCiAJLmNoYXJnZXJfd2FrZXVwICA9IGNvcmdpX2NoYXJnZXJfd2FrZXVwLAogCS5zaG91bGRfd2FrZXVwICAgPSBjb3JnaV9zaG91bGRfd2FrZXVwLAorI2lmZGVmIENPTkZJR19CQUNLTElHSFRfQ09SR0kKIAkuYmFja2xpZ2h0X2xpbWl0ID0gY29yZ2libF9saW1pdF9pbnRlbnNpdHksCisjZW5kaWYKIAkuY2hhcmdlX29uX3ZvbHQJICA9IFNIQVJQU0xfQ0hBUkdFX09OX1ZPTFQsCiAJLmNoYXJnZV9vbl90ZW1wCSAgPSBTSEFSUFNMX0NIQVJHRV9PTl9URU1QLAogCS5jaGFyZ2VfYWNpbl9oaWdoID0gU0hBUlBTTF9DSEFSR0VfT05fQUNJTl9ISUdILApAQCAtMjI2LDYgKzIyOSwxMCBAQAogewogCWludCByZXQ7CiAKKwlpZiAoIW1hY2hpbmVfaXNfY29yZ2koKSAmJiAhbWFjaGluZV9pc19zaGVwaGVyZCgpCisJCQkmJiAhbWFjaGluZV9pc19odXNreSgpKQorCQlyZXR1cm4gLUVOT0RFVjsKKwogCWNvcmdpcG1fZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzaGFycHNsLXBtIiwgLTEpOwogCWlmICghY29yZ2lwbV9kZXZpY2UpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5jCmluZGV4IGQ2YzA1YjYuLmE2ZjIzOTAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9kZXZpY2VzLmMKQEAgLTEwLDExICsxMCwxNCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9pMmMuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tZnAtcHhhMjd4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvb2hjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTI3eF9rZXlwYWQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9jYW1lcmEuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9hdWRpby5oPgogCiAjaW5jbHVkZSAiZGV2aWNlcy5oIgorI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogdm9pZCBfX2luaXQgcHhhX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCiB7CkBAIC05MSw4ICs5NCwxOSBAQAogCiBzdGF0aWMgdTY0IHVkY19kbWFfbWFzayA9IH4odTMyKTA7CiAKLXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV91ZGMgPSB7Ci0JLm5hbWUJCT0gInB4YTJ4eC11ZGMiLAorc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyNXhfZGV2aWNlX3VkYyA9IHsKKwkubmFtZQkJPSAicHhhMjV4LXVkYyIsCisJLmlkCQk9IC0xLAorCS5yZXNvdXJjZQk9IHB4YTJ4eF91ZGNfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyeHhfdWRjX3Jlc291cmNlcyksCisJLmRldgkJPSAgeworCQkucGxhdGZvcm1fZGF0YQk9ICZweGFfdWRjX2luZm8sCisJCS5kbWFfbWFzawk9ICZ1ZGNfZG1hX21hc2ssCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3VkYyA9IHsKKwkubmFtZQkJPSAicHhhMjd4LXVkYyIsCiAJLmlkCQk9IC0xLAogCS5yZXNvdXJjZQk9IHB4YTJ4eF91ZGNfcmVzb3VyY2VzLAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyeHhfdWRjX3Jlc291cmNlcyksCkBAIC0yMzMsOCArMjQ3LDE1IEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YWkyY19yZXNvdXJjZXMpLAogfTsKIAorc3RhdGljIHVuc2lnbmVkIGxvbmcgcHhhMjd4X2kyY19tZnBfY2ZnW10gPSB7CisJR1BJTzExN19JMkNfU0NMLAorCUdQSU8xMThfSTJDX1NEQSwKK307CisKIHZvaWQgX19pbml0IHB4YV9zZXRfaTJjX2luZm8oc3RydWN0IGkyY19weGFfcGxhdGZvcm1fZGF0YSAqaW5mbykKIHsKKwlpZiAoY3B1X2lzX3B4YTI3eCgpKQorCQlweGEyeHhfbWZwX2NvbmZpZyhBUlJBWV9BTkRfU0laRShweGEyN3hfaTJjX21mcF9jZmcpKTsKIAlweGFfcmVnaXN0ZXJfZGV2aWNlKCZweGFfZGV2aWNlX2kyYywgaW5mbyk7CiB9CiAKQEAgLTI3OCw4ICsyOTksNjkgQEAKIAkuaWQJCT0gLTEsCiB9OwogCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YV9hYzk3X3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0ICA9IDB4NDA1MDAwMDAsCisJCS5lbmQJPSAweDQwNTAwMDAwICsgMHhmZmYsCisJCS5mbGFncyAgPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICA9IElSUV9BQzk3LAorCQkuZW5kICAgID0gSVJRX0FDOTcsCisJCS5mbGFncyAgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHU2NCBweGFfYWM5N19kbWFtYXNrID0gMHhmZmZmZmZmZlVMOworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YV9kZXZpY2VfYWM5NyA9IHsKKwkubmFtZSAgICAgICAgICAgPSAicHhhMnh4LWFjOTciLAorCS5pZCAgICAgICAgICAgICA9IC0xLAorCS5kZXYgICAgICAgICAgICA9IHsKKwkJLmRtYV9tYXNrID0gJnB4YV9hYzk3X2RtYW1hc2ssCisJCS5jb2hlcmVudF9kbWFfbWFzayA9IDB4ZmZmZmZmZmYsCisJfSwKKwkubnVtX3Jlc291cmNlcyAgPSBBUlJBWV9TSVpFKHB4YV9hYzk3X3Jlc291cmNlcyksCisJLnJlc291cmNlICAgICAgID0gcHhhX2FjOTdfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgcHhhX3NldF9hYzk3X2luZm8ocHhhMnh4X2F1ZGlvX29wc190ICpvcHMpCit7CisJcHhhX3JlZ2lzdGVyX2RldmljZSgmcHhhX2RldmljZV9hYzk3LCBvcHMpOworfQorCiAjaWZkZWYgQ09ORklHX1BYQTI1eAogCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YTI1eF9yZXNvdXJjZV9wd20wW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSAweDQwYjAwMDAwLAorCQkuZW5kCT0gMHg0MGIwMDAwZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjV4X2RldmljZV9wd20wID0geworCS5uYW1lCQk9ICJweGEyNXgtcHdtIiwKKwkuaWQJCT0gMCwKKwkucmVzb3VyY2UJPSBweGEyNXhfcmVzb3VyY2VfcHdtMCwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUocHhhMjV4X3Jlc291cmNlX3B3bTApLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBweGEyNXhfcmVzb3VyY2VfcHdtMVtdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gMHg0MGMwMDAwMCwKKwkJLmVuZAk9IDB4NDBjMDAwMGYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI1eF9kZXZpY2VfcHdtMSA9IHsKKwkubmFtZQkJPSAicHhhMjV4LXB3bSIsCisJLmlkCQk9IDEsCisJLnJlc291cmNlCT0gcHhhMjV4X3Jlc291cmNlX3B3bTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YTI1eF9yZXNvdXJjZV9wd20xKSwKK307CisKIHN0YXRpYyB1NjQgcHhhMjV4X3NzcF9kbWFfbWFzayA9IERNQV9CSVRfTUFTSygzMik7CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjV4X3Jlc291cmNlX3NzcFtdID0gewpAQCAtNTY4LDYgKzY1MCwzNiBAQAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyN3hfcmVzb3VyY2Vfc3NwMyksCiB9OwogCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YTI3eF9yZXNvdXJjZV9wd20wW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSAweDQwYjAwMDAwLAorCQkuZW5kCT0gMHg0MGIwMDAxZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9wd20wID0geworCS5uYW1lCQk9ICJweGEyN3gtcHdtIiwKKwkuaWQJCT0gMCwKKwkucmVzb3VyY2UJPSBweGEyN3hfcmVzb3VyY2VfcHdtMCwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUocHhhMjd4X3Jlc291cmNlX3B3bTApLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBweGEyN3hfcmVzb3VyY2VfcHdtMVtdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gMHg0MGMwMDAwMCwKKwkJLmVuZAk9IDB4NDBjMDAwMWYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfcHdtMSA9IHsKKwkubmFtZQkJPSAicHhhMjd4LXB3bSIsCisJLmlkCQk9IDEsCisJLnJlc291cmNlCT0gcHhhMjd4X3Jlc291cmNlX3B3bTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YTI3eF9yZXNvdXJjZV9wd20xKSwKK307CisKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjd4X3Jlc291cmNlX2NhbWVyYVtdID0gewogCVswXSA9IHsKIAkJLnN0YXJ0CT0gMHg1MDAwMDAwMCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuaCBiL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuaAppbmRleCBmY2FiMDE3Li5iODUyZWIxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9kZXZpY2VzLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5oCkBAIC0xLDcgKzEsOCBAQAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9tY2k7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEzeHhfZGV2aWNlX21jaTI7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEzeHhfZGV2aWNlX21jaTM7Ci1leHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX3VkYzsKK2V4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI1eF9kZXZpY2VfdWRjOworZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV91ZGM7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2ZiOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9mZnVhcnQ7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2J0dWFydDsKQEAgLTExLDYgKzEyLDcgQEAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YV9kZXZpY2VfaTJzOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9maWNwOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9ydGM7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2FjOTc7CiAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfaTJjX3Bvd2VyOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9vaGNpOwpAQCAtMjQsNCArMjYsOSBAQAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9zc3AzOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhM3h4X2RldmljZV9zc3A0OwogCitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyNXhfZGV2aWNlX3B3bTA7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyNXhfZGV2aWNlX3B3bTE7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3B3bTA7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3B3bTE7CisKIHZvaWQgX19pbml0IHB4YV9yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2VtLXgyNzAuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2VtLXgyNzAuYwppbmRleCA5YzU3NzAwLi4xYmY2ODA3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9lbS14MjcwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZW0teDI3MC5jCkBAIC0yNCw2ICsyNCw4IEBACiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMjd4LXVkYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhZmIuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CkBAIC03MiwxMiArNzQsNiBAQAogCX0KIH07CiAKLS8qIGF1ZGlvIGRldmljZSAqLwotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZW1feDI3MF9hdWRpbyA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLX07Ci0KIC8qIFdNOTcxMiB0b3VjaHNjcmVlbiBjb250cm9sbGVyLiBIb3BlZnVsbHkgdGhlIGRyaXZlciB3aWxsIG1ha2UgaXQgdG8KICAqIHRoZSBtYWluc3RyZWFtIHNvbWV0aW1lICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBlbV94MjcwX3RzID0gewpAQCAtMjE3LDcgKzIxMyw2IEBACiAvKiBwbGF0Zm9ybSBkZXZpY2VzICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJmVtX3gyNzBfZG05aywKLQkmZW1feDI3MF9hdWRpbywKIAkmZW1feDI3MF90cywKIAkmZW1feDI3MF9ydGMsCiAJJmVtX3gyNzBfbmFuZCwKQEAgLTMyNSw2ICszMjAsNyBAQAogCiAJLyogcmVnaXN0ZXIgRU0tWDI3MCBwbGF0Zm9ybSBkZXZpY2VzICovCiAJcGxhdGZvcm1fYWRkX2RldmljZXMocGxhdGZvcm1fZGV2aWNlcywgQVJSQVlfU0laRShwbGF0Zm9ybV9kZXZpY2VzKSk7CisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CiAKIAkvKiBzZXQgTUNJIGFuZCBPSENJIHBsYXRmb3JtIHBhcmFtZXRlcnMgKi8KIAlweGFfc2V0X21jaV9pbmZvKCZlbV94MjcwX21jaV9wbGF0Zm9ybV9kYXRhKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2dlbmVyaWMuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2dlbmVyaWMuYwppbmRleCA0NDYxNzkzLi5jYTA1MzIyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9nZW5lcmljLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZ2VuZXJpYy5jCkBAIC02MCwyMyArNjAsNiBAQAogRVhQT1JUX1NZTUJPTChnZXRfbWVtY2xrX2ZyZXF1ZW5jeV8xMGtoeik7CiAKIC8qCi0gKiBSb3V0aW5lIHRvIHNhZmVseSBlbmFibGUgb3IgZGlzYWJsZSBhIGNsb2NrIGluIHRoZSBDS0VOCi0gKi8KLXZvaWQgX19weGFfc2V0X2NrZW4oaW50IGNsb2NrLCBpbnQgZW5hYmxlKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCi0JaWYgKGVuYWJsZSkKLQkJQ0tFTiB8PSAoMSA8PCBjbG9jayk7Ci0JZWxzZQotCQlDS0VOICY9IH4oMSA8PCBjbG9jayk7Ci0KLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci19Ci1FWFBPUlRfU1lNQk9MKF9fcHhhX3NldF9ja2VuKTsKLQotLyoKICAqIEludGVsIFBYQTJ4eCBpbnRlcm5hbCByZWdpc3RlciBtYXBwaW5nLgogICoKICAqIE5vdGUgMTogbm90IGFsbCBQWEEyeHggdmFyaWFudHMgaW1wbGVtZW50IGFsbCB0aG9zZSBhZGRyZXNzZXMuCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9pcnEuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2lycS5jCmluZGV4IGE5YTBjM2YuLmZiZmY1NTcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2lycS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2lycS5jCkBAIC0yMSw3ICsyMSw2IEBACiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KIAogI2luY2x1ZGUgImdlbmVyaWMuaCIKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbHBkMjcwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9scGQyNzAuYwppbmRleCBhMjBlNGIxLi5jYzFjNGZhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9scGQyNzAuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9scGQyNzAuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvcGFydGl0aW9ucy5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bV9iYWNrbGlnaHQuaD4KIAogI2luY2x1ZGUgPGFzbS90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgpAQCAtMTM0LDkgKzEzNSwxMiBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBscGQyNzBfaXJxX2RldmljZV9pbml0KHZvaWQpCiB7Ci0JaW50IHJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmbHBkMjcwX2lycV9zeXNjbGFzcyk7Ci0JaWYgKHJldCA9PSAwKQotCQlyZXQgPSBzeXNkZXZfcmVnaXN0ZXIoJmxwZDI3MF9pcnFfZGV2aWNlKTsKKwlpbnQgcmV0ID0gLUVOT0RFVjsKKwlpZiAobWFjaGluZV9pc19sb2dpY3BkX3B4YTI3MCgpKSB7CisJCXJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmbHBkMjcwX2lycV9zeXNjbGFzcyk7CisJCWlmIChyZXQgPT0gMCkKKwkJCXJldCA9IHN5c2Rldl9yZWdpc3RlcigmbHBkMjcwX2lycV9kZXZpY2UpOworCX0KIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xNjQsMTEgKzE2OCw2IEBACiAJLnJlc291cmNlCT0gc21jOTF4X3Jlc291cmNlcywKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxwZDI3MF9hdWRpb19kZXZpY2UgPSB7Ci0JLm5hbWUJCT0gInB4YTJ4eC1hYzk3IiwKLQkuaWQJCT0gLTEsCi19OwotCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGxwZDI3MF9mbGFzaF9yZXNvdXJjZXNbXSA9IHsKIAlbMF0gPSB7CiAJCS5zdGFydAk9IFBYQV9DUzBfUEhZUywKQEAgLTIzMywyMSArMjMyLDIwIEBACiAJfSwKIH07CiAKLXN0YXRpYyB2b2lkIGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIoaW50IG9uKQotewotCWlmIChvbikgewotCQlweGFfZ3Bpb19tb2RlKEdQSU8xNl9QV00wX01EKTsKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMSk7Ci0JCVBXTV9DVFJMMCA9IDA7Ci0JCVBXTV9QV0RVVFkwID0gMHgzZmY7Ci0JCVBXTV9QRVJWQUwwID0gMHgzZmY7Ci0JfSBlbHNlIHsKLQkJUFdNX0NUUkwwID0gMDsKLQkJUFdNX1BXRFVUWTAgPSAweDA7Ci0JCVBXTV9QRVJWQUwwID0gMHgzRkY7Ci0JCXB4YV9zZXRfY2tlbihDS0VOX1BXTTAsIDApOwotCX0KLX0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIGxwZDI3MF9iYWNrbGlnaHRfZGF0YSA9IHsKKwkucHdtX2lkCQk9IDAsCisJLm1heF9icmlnaHRuZXNzCT0gMSwKKwkuZGZ0X2JyaWdodG5lc3MJPSAxLAorCS5wd21fcGVyaW9kX25zCT0gNzg3NzAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBscGQyNzBfYmFja2xpZ2h0X2RldmljZSA9IHsKKwkubmFtZQkJPSAicHdtLWJhY2tsaWdodCIsCisJLmRldgkJPSB7CisJCS5wYXJlbnQJPSAmcHhhMjd4X2RldmljZV9wd20wLmRldiwKKwkJLnBsYXRmb3JtX2RhdGEgPSAmbHBkMjcwX2JhY2tsaWdodF9kYXRhLAorCX0sCit9OwogCiAvKiA1LjciIFRGVCBRVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDEpICovCiBzdGF0aWMgc3RydWN0IHB4YWZiX21vZGVfaW5mbyBzaGFycF9scTA1N3EzZGMwMl9tb2RlID0gewpAQCAtMjY5LDcgKzI2Nyw2IEBACiAJLm51bV9tb2RlcwkJPSAxLAogCS5sY2NyMAkJCT0gMHgwNzgwMDA4MCwKIAkubGNjcjMJCQk9IDB4MDA0MDAwMDAsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiAvKiAxMi4xIiBURlQgU1ZHQSAoTG9MbyBkaXNwbGF5IG51bWJlciAyKSAqLwpAQCAtMjkyLDcgKzI4OSw2IEBACiAJLm51bV9tb2RlcwkJPSAxLAogCS5sY2NyMAkJCT0gMHgwNzgwMDA4MCwKIAkubGNjcjMJCQk9IDB4MDA0MDAwMDAsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiAvKiAzLjYiIFRGVCBRVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDMpICovCkBAIC0zMTUsNyArMzExLDYgQEAKIAkubnVtX21vZGVzCQk9IDEsCiAJLmxjY3IwCQkJPSAweDA3ODAwMDgwLAogCS5sY2NyMwkJCT0gMHgwMDQwMDAwMCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0gbHBkMjcwX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIC8qIDYuNCIgVEZUIFZHQSAoTG9MbyBkaXNwbGF5IG51bWJlciA1KSAqLwpAQCAtMzM4LDcgKzMzMyw2IEBACiAJLm51bV9tb2RlcwkJPSAxLAogCS5sY2NyMAkJCT0gMHgwNzgwMDA4MCwKIAkubGNjcjMJCQk9IDB4MDA0MDAwMDAsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiAvKiAxMC40IiBURlQgVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDcpICovCkBAIC0zNjEsNyArMzU1LDYgQEAKIAkubnVtX21vZGVzCQk9IDEsCiAJLmxjY3IwCQkJPSAweDA3ODAwMDgwLAogCS5sY2NyMwkJCT0gMHgwMDQwMDAwMCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0gbHBkMjcwX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIC8qIDMuNSIgVEZUIFFWR0EgKExvTG8gZGlzcGxheSBudW1iZXIgOCkgKi8KQEAgLTM4NCw3ICszNzcsNiBAQAogCS5udW1fbW9kZXMJCT0gMSwKIAkubGNjcjAJCQk9IDB4MDc4MDAwODAsCiAJLmxjY3IzCQkJPSAweDAwNDAwMDAwLAotCS5weGFmYl9iYWNrbGlnaHRfcG93ZXIJPSBscGQyNzBfYmFja2xpZ2h0X3Bvd2VyLAogfTsKIAogc3RhdGljIHN0cnVjdCBweGFmYl9tYWNoX2luZm8gKmxwZDI3MF9sY2RfdG9fdXNlOwpAQCAtNDE0LDcgKzQwNiw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF0Zm9ybV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmc21jOTF4X2RldmljZSwKLQkmbHBkMjcwX2F1ZGlvX2RldmljZSwKKwkmbHBkMjcwX2JhY2tsaWdodF9kZXZpY2UsCiAJJmxwZDI3MF9mbGFzaF9kZXZpY2VbMF0sCiAJJmxwZDI3MF9mbGFzaF9kZXZpY2VbMV0sCiB9OwpAQCAtNDU0LDkgKzQ0NiwxMiBAQAogCSAqIE9uIExvZ2ljUEQgUFhBMjcwLCB3ZSByb3V0ZSBBQzk3X1NZU0NMSyB2aWEgR1BJTzQ1LgogCSAqLwogCXB4YV9ncGlvX21vZGUoR1BJTzQ1X1NZU0NMS19BQzk3X01EKTsKKwlweGFfZ3Bpb19tb2RlKEdQSU8xNl9QV00wX01EKTsKIAogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHBsYXRmb3JtX2RldmljZXMsIEFSUkFZX1NJWkUocGxhdGZvcm1fZGV2aWNlcykpOwogCisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CisKIAlpZiAobHBkMjcwX2xjZF90b191c2UgIT0gTlVMTCkKIAkJc2V0X3B4YV9mYl9pbmZvKGxwZDI3MF9sY2RfdG9fdXNlKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbHViYm9jay5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbHViYm9jay5jCmluZGV4IDdiOWJkZDAuLmEzZmFlNDEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2x1YmJvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9sdWJib2NrLmMKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTI1eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbHViYm9jay5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3VkYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KQEAgLTE5NiwxMSArMTk3LDYgQEAKIAkvLyBubyBEKyBwdWxsdXA7IGx1YmJvY2sgY2FuJ3QgY29ubmVjdC9kaXNjb25uZWN0IGluIHNvZnR3YXJlCiB9OwogCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsdWJfYXVkaW9fZGV2aWNlID0gewotCS5uYW1lCQk9ICJweGEyeHgtYWM5NyIsCi0JLmlkCQk9IC0xLAotfTsKLQogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzYTExMTFfcmVzb3VyY2VzW10gPSB7CiAJWzBdID0gewogCQkuc3RhcnQJPSAweDEwMDAwMDAwLApAQCAtMzY4LDcgKzM2NCw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmc2ExMTExX2RldmljZSwKLQkmbHViX2F1ZGlvX2RldmljZSwKIAkmc21jOTF4X2RldmljZSwKIAkmbHViYm9ja19mbGFzaF9kZXZpY2VbMF0sCiAJJmx1YmJvY2tfZmxhc2hfZGV2aWNlWzFdLApAQCAtNDk0LDYgKzQ4OSw3IEBACiAJc2V0X3B4YV9mYl9pbmZvKCZzaGFycF9sbTh2MzEpOwogCXB4YV9zZXRfbWNpX2luZm8oJmx1YmJvY2tfbWNpX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfZmljcF9pbmZvKCZsdWJib2NrX2ZpY3BfcGxhdGZvcm1fZGF0YSk7CisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CiAKIAlsdWJib2NrX2ZsYXNoX2RhdGFbMF0ud2lkdGggPSBsdWJib2NrX2ZsYXNoX2RhdGFbMV0ud2lkdGggPQogCQkoQk9PVF9ERUYgJiAxKSA/IDIgOiA0OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbWFnaWNpYW4uYyBiL2FyY2gvYXJtL21hY2gtcHhhL21hZ2ljaWFuLmMKaW5kZXggYmFkYmEwNi4uMDFiMmZhNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvbWFnaWNpYW4uYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9tYWdpY2lhbi5jCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSA8bGludXgvbXRkL21hcC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvcGRhX3Bvd2VyLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8YXNtL2dwaW8uaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KQEAgLTMzLDEyICszNCwxNCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL21hZ2ljaWFuLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTI3eC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGFmYi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2kyYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAKKyNpbmNsdWRlICJkZXZpY2VzLmgiCiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBtYWdpY2lhbl9waW5fY29uZmlnW10gPSB7CkBAIC0zNDgsNDAgKzM1MSw1OCBAQAogICogQmFja2xpZ2h0CiAgKi8KIAotc3RhdGljIHZvaWQgbWFnaWNpYW5fc2V0X2JsX2ludGVuc2l0eShpbnQgaW50ZW5zaXR5KQorc3RhdGljIGludCBtYWdpY2lhbl9iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7Ci0JaWYgKGludGVuc2l0eSkgewotCQlQV01fQ1RSTDAgPSAxOwotCQlQV01fUEVSVkFMMCA9IDB4Yzg7Ci0JCWlmIChpbnRlbnNpdHkgPiAweGM3KSB7Ci0JCQlQV01fUFdEVVRZMCA9IGludGVuc2l0eSAtIDB4NDg7Ci0JCQlncGlvX3NldF92YWx1ZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUjIsIDEpOwotCQl9IGVsc2UgewotCQkJUFdNX1BXRFVUWTAgPSBpbnRlbnNpdHk7Ci0JCQlncGlvX3NldF92YWx1ZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUjIsIDApOwotCQl9Ci0JCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSLCAxKTsKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMSk7CisJaW50IHJldDsKKworCXJldCA9IGdwaW9fcmVxdWVzdChFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUiwgIkJMX1BPV0VSIik7CisJaWYgKHJldCkKKwkJZ290byBlcnI7CisJcmV0ID0gZ3Bpb19yZXF1ZXN0KEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgIkJMX1BPV0VSMiIpOworCWlmIChyZXQpCisJCWdvdG8gZXJyMjsKKwlyZXR1cm4gMDsKKworZXJyMjoKKwlncGlvX2ZyZWUoRUdQSU9fTUFHSUNJQU5fQkxfUE9XRVIpOworZXJyOgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgbWFnaWNpYW5fYmFja2xpZ2h0X25vdGlmeShpbnQgYnJpZ2h0bmVzcykKK3sKKwlncGlvX3NldF92YWx1ZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUiwgYnJpZ2h0bmVzcyk7CisJaWYgKGJyaWdodG5lc3MgPj0gMjAwKSB7CisJCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgMSk7CisJCXJldHVybiBicmlnaHRuZXNzIC0gNzI7CiAJfSBlbHNlIHsKLQkJLyogUFdNX1BXRFVUWTAgPSBpbnRlbnNpdHk7ICovCi0JCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSLCAwKTsKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMCk7CisJCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgMCk7CisJCXJldHVybiBicmlnaHRuZXNzOwogCX0KIH0KIAotc3RhdGljIHN0cnVjdCBnZW5lcmljX2JsX2luZm8gYmFja2xpZ2h0X2luZm8gPSB7Ci0JLmRlZmF1bHRfaW50ZW5zaXR5ID0gMHg2NCwKLQkubGltaXRfbWFzayAgICAgICAgPSAweDBiLAotCS5tYXhfaW50ZW5zaXR5ICAgICA9IDB4YzcrMHg0OCwKLQkuc2V0X2JsX2ludGVuc2l0eSAgPSBtYWdpY2lhbl9zZXRfYmxfaW50ZW5zaXR5LAorc3RhdGljIHZvaWQgbWFnaWNpYW5fYmFja2xpZ2h0X2V4aXQoc3RydWN0IGRldmljZSAqZGV2KQoreworCWdwaW9fZnJlZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUik7CisJZ3Bpb19mcmVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIGJhY2tsaWdodF9kYXRhID0geworCS5wd21faWQgICAgICAgICA9IDAsCisJLm1heF9icmlnaHRuZXNzID0gMjcyLAorCS5kZnRfYnJpZ2h0bmVzcyA9IDEwMCwKKwkucHdtX3BlcmlvZF9ucyAgPSAzMDkyMywKKwkuaW5pdCAgICAgICAgICAgPSBtYWdpY2lhbl9iYWNrbGlnaHRfaW5pdCwKKwkubm90aWZ5ICAgICAgICAgPSBtYWdpY2lhbl9iYWNrbGlnaHRfbm90aWZ5LAorCS5leGl0ICAgICAgICAgICA9IG1hZ2ljaWFuX2JhY2tsaWdodF9leGl0LAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYmFja2xpZ2h0ID0gewotCS5uYW1lID0gImdlbmVyaWMtYmwiLAorCS5uYW1lID0gInB3bS1iYWNrbGlnaHQiLAogCS5kZXYgID0gewotCQkucGxhdGZvcm1fZGF0YSA9ICZiYWNrbGlnaHRfaW5mbywKKwkJLnBhcmVudCAgICAgICAgPSAmcHhhMjd4X2RldmljZV9wd20wLmRldiwKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYmFja2xpZ2h0X2RhdGEsCiAJfSwKLQkuaWQgICA9IC0xLAogfTsKIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL21haW5zdG9uZS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbWFpbnN0b25lLmMKaW5kZXggNzM5OWZiMy4uZjJlOWU3YyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvbWFpbnN0b25lLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvbWFpbnN0b25lLmMKQEAgLTIzLDkgKzIzLDkgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KLSNpbmNsdWRlIDxsaW51eC9iYWNrbGlnaHQuaD4KICNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bV9iYWNrbGlnaHQuaD4KIAogI2luY2x1ZGUgPGFzbS90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgpAQCAtMjgwLDEyICsyODAsNiBAQAogCS5yZXN1bWUJCT0gbXN0X2F1ZGlvX3Jlc3VtZSwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG1zdF9hdWRpb19kZXZpY2UgPSB7Ci0JLm5hbWUJCT0gInB4YTJ4eC1hYzk3IiwKLQkuaWQJCT0gLTEsCi0JLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhID0gJm1zdF9hdWRpb19vcHMgfSwKLX07Ci0KIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZmxhc2hfcmVzb3VyY2VzW10gPSB7CiAJWzBdID0gewogCQkuc3RhcnQJPSBQWEFfQ1MwX1BIWVMsCkBAIC0zNDksNTYgKzM0MywyNyBAQAogCX0sCiB9OwogCi0jaWZkZWYgQ09ORklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0UKLXN0YXRpYyBpbnQgbWFpbnN0b25lX2JhY2tsaWdodF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkKLXsKLQlpbnQgYnJpZ2h0bmVzcyA9IGJsLT5wcm9wcy5icmlnaHRuZXNzOworI2lmIGRlZmluZWQoQ09ORklHX0ZCX1BYQSkgfHwgZGVmaW5lZChDT05GSUdfRkJfUFhBX01PRFVMRSkKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIG1haW5zdG9uZV9iYWNrbGlnaHRfZGF0YSA9IHsKKwkucHdtX2lkCQk9IDAsCisJLm1heF9icmlnaHRuZXNzCT0gMTAyMywKKwkuZGZ0X2JyaWdodG5lc3MJPSAxMDIzLAorCS5wd21fcGVyaW9kX25zCT0gNzg3NzAsCit9OwogCi0JaWYgKGJsLT5wcm9wcy5wb3dlciAhPSBGQl9CTEFOS19VTkJMQU5LIHx8Ci0JICAgIGJsLT5wcm9wcy5mYl9ibGFuayAhPSBGQl9CTEFOS19VTkJMQU5LKQotCQlicmlnaHRuZXNzID0gMDsKLQotCWlmIChicmlnaHRuZXNzICE9IDApCi0JCXB4YV9zZXRfY2tlbihDS0VOX1BXTTAsIDEpOwotCi0JUFdNX0NUUkwwID0gMDsKLQlQV01fUFdEVVRZMCA9IGJyaWdodG5lc3M7Ci0JUFdNX1BFUlZBTDAgPSBibC0+cHJvcHMubWF4X2JyaWdodG5lc3M7Ci0KLQlpZiAoYnJpZ2h0bmVzcyA9PSAwKQotCQlweGFfc2V0X2NrZW4oQ0tFTl9QV00wLCAwKTsKLQlyZXR1cm4gMDsgLyogcG9pbnRsZXNzIHJldHVybiB2YWx1ZSAqLwotfQotCi1zdGF0aWMgaW50IG1haW5zdG9uZV9iYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3Moc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQotewotCXJldHVybiBQV01fUFdEVVRZMDsKLX0KLQotc3RhdGljIC8qY29uc3QqLyBzdHJ1Y3QgYmFja2xpZ2h0X29wcyBtYWluc3RvbmVfYmFja2xpZ2h0X29wcyA9IHsKLQkudXBkYXRlX3N0YXR1cwk9IG1haW5zdG9uZV9iYWNrbGlnaHRfdXBkYXRlX3N0YXR1cywKLQkuZ2V0X2JyaWdodG5lc3MJPSBtYWluc3RvbmVfYmFja2xpZ2h0X2dldF9icmlnaHRuZXNzLAorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbWFpbnN0b25lX2JhY2tsaWdodF9kZXZpY2UgPSB7CisJLm5hbWUJCT0gInB3bS1iYWNrbGlnaHQiLAorCS5kZXYJCT0geworCQkucGFyZW50ID0gJnB4YTI3eF9kZXZpY2VfcHdtMC5kZXYsCisJCS5wbGF0Zm9ybV9kYXRhID0gJm1haW5zdG9uZV9iYWNrbGlnaHRfZGF0YSwKKwl9LAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IG1haW5zdG9uZV9iYWNrbGlnaHRfcmVnaXN0ZXIodm9pZCkKIHsKLQlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmw7Ci0KLQlibCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoIm1haW5zdG9uZS1ibCIsICZweGFfZGV2aWNlX2ZiLmRldiwKLQkJCQkgICAgICAgTlVMTCwgJm1haW5zdG9uZV9iYWNrbGlnaHRfb3BzKTsKLQlpZiAoSVNfRVJSKGJsKSkgewotCQlwcmludGsoS0VSTl9FUlIgIm1haW5zdG9uZTogdW5hYmxlIHRvIHJlZ2lzdGVyIGJhY2tsaWdodDogJWxkXG4iLAotCQkgICAgICAgUFRSX0VSUihibCkpOwotCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBicm9rZW4gZGVzaWduIC0gcmVnaXN0ZXItdGhlbi1zZXR1cCBpbnRlcmZhY2VzIGFyZQotCSAqIHV0dGVybHkgYnJva2VuIGJ5IGRlZmluaXRpb24uCi0JICovCi0JYmwtPnByb3BzLm1heF9icmlnaHRuZXNzID0gMTAyMzsKLQlibC0+cHJvcHMuYnJpZ2h0bmVzcyA9IDEwMjM7Ci0JYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoYmwpOworCWludCByZXQgPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm1haW5zdG9uZV9iYWNrbGlnaHRfZGV2aWNlKTsKKwlpZiAocmV0KQorCQlwcmludGsoS0VSTl9FUlIgIm1haW5zdG9uZTogZmFpbGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodCBkZXZpY2U6ICVkXG4iLCByZXQpOwogfQogI2Vsc2UKICNkZWZpbmUgbWFpbnN0b25lX2JhY2tsaWdodF9yZWdpc3RlcigpCWRvIHsgfSB3aGlsZSAoMCkKQEAgLTUyOCw3ICs0OTMsNiBAQAogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJnNtYzkxeF9kZXZpY2UsCi0JJm1zdF9hdWRpb19kZXZpY2UsCiAJJm1zdF9mbGFzaF9kZXZpY2VbMF0sCiAJJm1zdF9mbGFzaF9kZXZpY2VbMV0sCiAJJm1zdF9ncGlvX2tleXNfZGV2aWNlLApAQCAtNjM4LDYgKzYwMiw3IEBACiAJcHhhX3NldF9maWNwX2luZm8oJm1haW5zdG9uZV9maWNwX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfb2hjaV9pbmZvKCZtYWluc3RvbmVfb2hjaV9wbGF0Zm9ybV9kYXRhKTsKIAlweGFfc2V0X2kyY19pbmZvKE5VTEwpOworCXB4YV9zZXRfYWM5N19pbmZvKCZtc3RfYXVkaW9fb3BzKTsKIAogCW1haW5zdG9uZV9pbml0X2tleXBhZCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbWZwLXB4YTJ4eC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbWZwLXB4YTJ4eC5jCmluZGV4IDIyMDk3YTEuLmQxY2RiNGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL21mcC1weGEyeHguYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9tZnAtcHhhMnh4LmMKQEAgLTIwLDYgKzIwLDcgQEAKIAogI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21mcC1weGEyeHguaD4KIAogI2luY2x1ZGUgImdlbmVyaWMuaCIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3BjbTk5MC1iYXNlYm9hcmQuYyBiL2FyY2gvYXJtL21hY2gtcHhhL3BjbTk5MC1iYXNlYm9hcmQuYwppbmRleCA0OWQ5NTFkLi41ZDg3YzdjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9wY205OTAtYmFzZWJvYXJkLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvcGNtOTkwLWJhc2Vib2FyZC5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvaWRlLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8bWVkaWEvc29jX2NhbWVyYS5oPgogCkBAIC0zMywxMiArMzQsMTAzIEBACiAjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvb2hjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3BjbTk5MF9iYXNlYm9hcmQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGFmYi5oPgorCisjaW5jbHVkZSAiZGV2aWNlcy5oIgogCiAvKgotICogVGhlIFBDTS05OTAgZGV2ZWxvcG1lbnQgYmFzZWJvYXJkIHVzZXMgUENNLTAyNydzIGhhcmRld2FyZSBpbiB0aGUKKyAqIHBjbTk5MF9sY2RfcG93ZXIgLSBjb250cm9sIHBvd2VyIHN1cHBseSB0byB0aGUgTENECisgKiBAb246IDAgPSBzd2l0Y2ggb2ZmLCAxID0gc3dpdGNoIG9uCisgKgorICogQ2FsbGVkIGJ5IHRoZSBweGFmYiBkcml2ZXIKKyAqLworI2lmbmRlZiBDT05GSUdfUENNOTkwX0RJU1BMQVlfTk9ORQorc3RhdGljIHZvaWQgcGNtOTkwX2xjZF9wb3dlcihpbnQgb24sIHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyKQoreworCWlmIChvbikgeworCQkvKiBlbmFibGUgTENELUxhdGNoZXMKKwkJICogcG93ZXIgb24gTENECisJCSAqLworCQlfX1BDTTk5MF9DVFJMX1JFRyhQQ005OTBfQ1RSTF9QSFlTICsgUENNOTkwX0NUUkxfUkVHMykgPQorCQkJUENNOTkwX0NUUkxfTENEUFdSICsgUENNOTkwX0NUUkxfTENET047CisJfSBlbHNlIHsKKwkJLyogZGlzYWJsZSBMQ0QtTGF0Y2hlcworCQkgKiBwb3dlciBvZmYgTENECisJCSAqLworCQlfX1BDTTk5MF9DVFJMX1JFRyhQQ005OTBfQ1RSTF9QSFlTICsgUENNOTkwX0NUUkxfUkVHMykgPSAweDAwOworCX0KK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfUENNOTkwX0RJU1BMQVlfU0hBUlApCitzdGF0aWMgc3RydWN0IHB4YWZiX21vZGVfaW5mbyBmYl9pbmZvX3NoYXJwX2xxMDg0djFkZzIxID0geworCS5waXhjbG9jawkJPSAyODAwMCwKKwkueHJlcwkJCT0gNjQwLAorCS55cmVzCQkJPSA0ODAsCisJLmJwcAkJCT0gMTYsCisJLmhzeW5jX2xlbgkJPSAyMCwKKwkubGVmdF9tYXJnaW4JCT0gMTAzLAorCS5yaWdodF9tYXJnaW4JCT0gNDcsCisJLnZzeW5jX2xlbgkJPSA2LAorCS51cHBlcl9tYXJnaW4JCT0gMjgsCisJLmxvd2VyX21hcmdpbgkJPSA1LAorCS5zeW5jCQkJPSAwLAorCS5jbWFwX2dyZXlzY2FsZQkJPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCBweGFmYl9tYWNoX2luZm8gcGNtOTkwX2ZiaW5mbyBfX2luaXRkYXRhID0geworCS5tb2RlcwkJCT0gJmZiX2luZm9fc2hhcnBfbHEwODR2MWRnMjEsCisJLm51bV9tb2RlcwkJPSAxLAorCS5sY2NyMAkJCT0gTENDUjBfUEFTLAorCS5sY2NyMwkJCT0gTENDUjNfUENQLAorCS5weGFmYl9sY2RfcG93ZXIJPSBwY205OTBfbGNkX3Bvd2VyLAorfTsKKyNlbGlmIGRlZmluZWQoQ09ORklHX1BDTTk5MF9ESVNQTEFZX05FQykKK3N0cnVjdCBweGFmYl9tb2RlX2luZm8gZmJfaW5mb19uZWNfbmw2NDQ4YmMyMF8xOGQgPSB7CisJLnBpeGNsb2NrCQk9IDM5NzIwLAorCS54cmVzCQkJPSA2NDAsCisJLnlyZXMJCQk9IDQ4MCwKKwkuYnBwCQkJPSAxNiwKKwkuaHN5bmNfbGVuCQk9IDMyLAorCS5sZWZ0X21hcmdpbgkJPSAxNiwKKwkucmlnaHRfbWFyZ2luCQk9IDQ4LAorCS52c3luY19sZW4JCT0gMiwKKwkudXBwZXJfbWFyZ2luCQk9IDEyLAorCS5sb3dlcl9tYXJnaW4JCT0gMTcsCisJLnN5bmMJCQk9IDAsCisJLmNtYXBfZ3JleXNjYWxlCQk9IDAsCit9OworCitzdGF0aWMgc3RydWN0IHB4YWZiX21hY2hfaW5mbyBwY205OTBfZmJpbmZvIF9faW5pdGRhdGEgPSB7CisJLm1vZGVzCQkJPSAmZmJfaW5mb19uZWNfbmw2NDQ4YmMyMF8xOGQsCisJLm51bV9tb2RlcwkJPSAxLAorCS5sY2NyMAkJCT0gTENDUjBfQWN0LAorCS5sY2NyMwkJCT0gTENDUjNfUGl4RmxFZGcsCisJLnB4YWZiX2xjZF9wb3dlcgk9IHBjbTk5MF9sY2RfcG93ZXIsCit9OworI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIHBjbTk5MF9iYWNrbGlnaHRfZGF0YSA9IHsKKwkucHdtX2lkCQk9IDAsCisJLm1heF9icmlnaHRuZXNzCT0gMTAyMywKKwkuZGZ0X2JyaWdodG5lc3MJPSAxMDIzLAorCS5wd21fcGVyaW9kX25zCT0gNzg3NzAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBwY205OTBfYmFja2xpZ2h0X2RldmljZSA9IHsKKwkubmFtZQkJPSAicHdtLWJhY2tsaWdodCIsCisJLmRldgkJPSB7CisJCS5wYXJlbnQgPSAmcHhhMjd4X2RldmljZV9wd20wLmRldiwKKwkJLnBsYXRmb3JtX2RhdGEgPSAmcGNtOTkwX2JhY2tsaWdodF9kYXRhLAorCX0sCit9OworCisvKgorICogVGhlIFBDTS05OTAgZGV2ZWxvcG1lbnQgYmFzZWJvYXJkIHVzZXMgUENNLTAyNydzIGhhcmR3YXJlIGluIHRoZQogICogZm9sbG93aW5nIHdheToKICAqCiAgKiAtIExDRCBzdXBwb3J0IGlzIGluIHVzZQpAQCAtMzMzLDM2ICs0MjUsNiBAQAogI2VuZGlmIC8qIENPTkZJR19WSURFT19QWEEyN3ggfHxDT05GSUdfVklERU9fUFhBMjd4X01PRFVMRSAqLwogCiAvKgotICogQUM5NyBzdXBwb3J0Ci0gKiBOb3RlOiBUaGUgY29ubmVjdGVkIEFDOTcgbWl4ZXIgYWxzbyByZXBvcnRzIGludGVycnVwdHMgYXQgUENNOTkwX0FDOTdfSVJRCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjd4X2FjOTdfcmVzb3VyY2VzW10gPSB7Ci0JWzBdID0gewotCQkuc3RhcnQgID0gMHg0MDUwMDAwMCwKLQkJLmVuZAk9IDB4NDA1MDAwMDAgKyAweGZmZiwKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JWzFdID0gewotCQkuc3RhcnQgID0gSVJRX0FDOTcsCi0JCS5lbmQgICAgPSBJUlFfQUM5NywKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi19OwotCi1zdGF0aWMgdTY0IHB4YV9hYzk3X2RtYW1hc2sgPSAweGZmZmZmZmZmVUw7Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfYWM5NyA9IHsKLQkubmFtZSAgICAgICAgICAgPSAicHhhMnh4LWFjOTciLAotCS5pZCAgICAgICAgICAgICA9IC0xLAotCS5kZXYgICAgICAgICAgICA9IHsKLQkJLmRtYV9tYXNrID0gJnB4YV9hYzk3X2RtYW1hc2ssCi0JCS5jb2hlcmVudF9kbWFfbWFzayA9IDB4ZmZmZmZmZmYsCi0JfSwKLQkubnVtX3Jlc291cmNlcyAgPSBBUlJBWV9TSVpFKHB4YTI3eF9hYzk3X3Jlc291cmNlcyksCi0JLnJlc291cmNlICAgICAgID0gcHhhMjd4X2FjOTdfcmVzb3VyY2VzLAotfTsKLQotLyoKICAqIGVuYWJsZSBnZW5lcmljIGFjY2VzcyB0byB0aGUgYmFzZSBib2FyZCBjb250cm9sIENQTERzIFU2IGFuZCBVNwogICovCiBzdGF0aWMgc3RydWN0IG1hcF9kZXNjIHBjbTk5MF9pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKQEAgLTM5Myw3ICs0NTUsMTEgQEAKIAkvKiByZWdpc3RlciBDUExEJ3MgSVJRIGNvbnRyb2xsZXIgKi8KIAlwY205OTBfaW5pdF9pcnEoKTsKIAotCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcHhhMjd4X2RldmljZV9hYzk3KTsKKyNpZm5kZWYgQ09ORklHX1BDTTk5MF9ESVNQTEFZX05PTkUKKwlzZXRfcHhhX2ZiX2luZm8oJnBjbTk5MF9mYmluZm8pOworI2VuZGlmCisJcHhhX2dwaW9fbW9kZShHUElPMTZfUFdNMF9NRCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZwY205OTBfYmFja2xpZ2h0X2RldmljZSk7CiAKIAkvKiBNTUMgKi8KIAlweGFfc2V0X21jaV9pbmZvKCZwY205OTBfbWNpX3BsYXRmb3JtX2RhdGEpOwpAQCAtNDAyLDYgKzQ2OCw3IEBACiAJcHhhX3NldF9vaGNpX2luZm8oJnBjbTk5MF9vaGNpX3BsYXRmb3JtX2RhdGEpOwogCiAJcHhhX3NldF9pMmNfaW5mbyhOVUxMKTsKKwlweGFfc2V0X2FjOTdfaW5mbyhOVUxMKTsKIAogI2lmIGRlZmluZWQoQ09ORklHX1ZJREVPX1BYQTI3eCkgfHwgZGVmaW5lZChDT05GSUdfVklERU9fUFhBMjd4X01PRFVMRSkKIAlweGFfc2V0X2NhbWVyYV9pbmZvKCZwY205OTBfcHhhY2FtZXJhX3BsYXRmb3JtX2RhdGEpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcG9vZGxlLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9wb29kbGUuYwppbmRleCAwYjMwZjI1Li5mODFjMTBjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9wb29kbGUuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9wb29kbGUuYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvdWRjLmg+CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9wd20uYyBiL2FyY2gvYXJtL21hY2gtcHhhL3B3bS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMjhjZDkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9wd20uYwpAQCAtMCwwICsxLDMxOSBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtcHhhL3B3bS5jCisgKgorICogc2ltcGxlIGRyaXZlciBmb3IgUFdNIChQdWxzZSBXaWR0aCBNb2R1bGF0b3IpIGNvbnRyb2xsZXIKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIDIwMDgtMDItMTMJaW5pdGlhbCB2ZXJzaW9uCisgKiAJCWVyaWMgbWlhbyA8ZXJpYy5taWFvQG1hcnZlbGwuY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bS5oPgorCisjaW5jbHVkZSA8YXNtL2RpdjY0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKworLyogUFdNIHJlZ2lzdGVycyBhbmQgYml0cyBkZWZpbml0aW9ucyAqLworI2RlZmluZSBQV01DUgkJKDB4MDApCisjZGVmaW5lIFBXTURDUgkJKDB4MDQpCisjZGVmaW5lIFBXTVBDUgkJKDB4MDgpCisKKyNkZWZpbmUgUFdNQ1JfU0QJKDEgPDwgNikKKyNkZWZpbmUgUFdNRENSX0ZECSgxIDw8IDEwKQorCitzdHJ1Y3QgcHdtX2RldmljZSB7CisJc3RydWN0IGxpc3RfaGVhZAlub2RlOworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7CisKKwljb25zdCBjaGFyCSpsYWJlbDsKKwlzdHJ1Y3QgY2xrCSpjbGs7CisJaW50CQljbGtfZW5hYmxlZDsKKwl2b2lkIF9faW9tZW0JKm1taW9fYmFzZTsKKworCXVuc2lnbmVkIGludAl1c2VfY291bnQ7CisJdW5zaWduZWQgaW50CXB3bV9pZDsKK307CisKKy8qCisgKiBwZXJpb2RfbnMgPSAxMF45ICogKFBSRVNDQUxFICsgMSkgKiAoUFYgKyAxKSAvIFBXTV9DTEtfUkFURQorICogZHV0eV9ucyAgID0gMTBeOSAqIChQUkVTQ0FMRSArIDEpICogREMgLyBQV01fQ0xLX1JBVEUKKyAqLworaW50IHB3bV9jb25maWcoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwgaW50IGR1dHlfbnMsIGludCBwZXJpb2RfbnMpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIGM7CisJdW5zaWduZWQgbG9uZyBwZXJpb2RfY3ljbGVzLCBwcmVzY2FsZSwgcHYsIGRjOworCisJaWYgKHB3bSA9PSBOVUxMIHx8IHBlcmlvZF9ucyA9PSAwIHx8IGR1dHlfbnMgPiBwZXJpb2RfbnMpCisJCXJldHVybiAtRUlOVkFMOworCisJYyA9IGNsa19nZXRfcmF0ZShwd20tPmNsayk7CisJYyA9IGMgKiBwZXJpb2RfbnM7CisJZG9fZGl2KGMsIDEwMDAwMDAwMDApOworCXBlcmlvZF9jeWNsZXMgPSBjOworCisJaWYgKHBlcmlvZF9jeWNsZXMgPCAwKQorCQlwZXJpb2RfY3ljbGVzID0gMTsKKwlwcmVzY2FsZSA9IChwZXJpb2RfY3ljbGVzIC0gMSkgLyAxMDI0OworCXB2ID0gcGVyaW9kX2N5Y2xlcyAvIChwcmVzY2FsZSArIDEpIC0gMTsKKworCWlmIChwcmVzY2FsZSA+IDYzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChkdXR5X25zID09IHBlcmlvZF9ucykKKwkJZGMgPSBQV01EQ1JfRkQ7CisJZWxzZQorCQlkYyA9IChwdiArIDEpICogZHV0eV9ucyAvIHBlcmlvZF9uczsKKworCS8qIE5PVEU6IHRoZSBjbG9jayB0byBQV00gaGFzIHRvIGJlIGVuYWJsZWQgZmlyc3QKKwkgKiBiZWZvcmUgd3JpdGluZyB0byB0aGUgcmVnaXN0ZXJzCisJICovCisJY2xrX2VuYWJsZShwd20tPmNsayk7CisJX19yYXdfd3JpdGVsKHByZXNjYWxlLCBwd20tPm1taW9fYmFzZSArIFBXTUNSKTsKKwlfX3Jhd193cml0ZWwoZGMsIHB3bS0+bW1pb19iYXNlICsgUFdNRENSKTsKKwlfX3Jhd193cml0ZWwocHYsIHB3bS0+bW1pb19iYXNlICsgUFdNUENSKTsKKwljbGtfZGlzYWJsZShwd20tPmNsayk7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0wocHdtX2NvbmZpZyk7CisKK2ludCBwd21fZW5hYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJaW50IHJjID0gMDsKKworCWlmICghcHdtLT5jbGtfZW5hYmxlZCkgeworCQlyYyA9IGNsa19lbmFibGUocHdtLT5jbGspOworCQlpZiAoIXJjKQorCQkJcHdtLT5jbGtfZW5hYmxlZCA9IDE7CisJfQorCXJldHVybiByYzsKK30KK0VYUE9SVF9TWU1CT0wocHdtX2VuYWJsZSk7CisKK3ZvaWQgcHdtX2Rpc2FibGUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSkKK3sKKwlpZiAocHdtLT5jbGtfZW5hYmxlZCkgeworCQljbGtfZGlzYWJsZShwd20tPmNsayk7CisJCXB3bS0+Y2xrX2VuYWJsZWQgPSAwOworCX0KK30KK0VYUE9SVF9TWU1CT0wocHdtX2Rpc2FibGUpOworCitzdGF0aWMgREVGSU5FX01VVEVYKHB3bV9sb2NrKTsKK3N0YXRpYyBMSVNUX0hFQUQocHdtX2xpc3QpOworCitzdHJ1Y3QgcHdtX2RldmljZSAqcHdtX3JlcXVlc3QoaW50IHB3bV9pZCwgY29uc3QgY2hhciAqbGFiZWwpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bTsKKwlpbnQgZm91bmQgPSAwOworCisJbXV0ZXhfbG9jaygmcHdtX2xvY2spOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwd20sICZwd21fbGlzdCwgbm9kZSkgeworCQlpZiAocHdtLT5wd21faWQgPT0gcHdtX2lkKSB7CisJCQlmb3VuZCA9IDE7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmIChmb3VuZCkgeworCQlpZiAocHdtLT51c2VfY291bnQgPT0gMCkgeworCQkJcHdtLT51c2VfY291bnQrKzsKKwkJCXB3bS0+bGFiZWwgPSBsYWJlbDsKKwkJfSBlbHNlCisJCQlwd20gPSBFUlJfUFRSKC1FQlVTWSk7CisJfSBlbHNlCisJCXB3bSA9IEVSUl9QVFIoLUVOT0VOVCk7CisKKwltdXRleF91bmxvY2soJnB3bV9sb2NrKTsKKwlyZXR1cm4gcHdtOworfQorRVhQT1JUX1NZTUJPTChwd21fcmVxdWVzdCk7CisKK3ZvaWQgcHdtX2ZyZWUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSkKK3sKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisKKwlpZiAocHdtLT51c2VfY291bnQpIHsKKwkJcHdtLT51c2VfY291bnQtLTsKKwkJcHdtLT5sYWJlbCA9IE5VTEw7CisJfSBlbHNlCisJCXByX3dhcm5pbmcoIlBXTSBkZXZpY2UgYWxyZWFkeSBmcmVlZFxuIik7CisKKwltdXRleF91bmxvY2soJnB3bV9sb2NrKTsKK30KK0VYUE9SVF9TWU1CT0wocHdtX2ZyZWUpOworCitzdGF0aWMgaW5saW5lIHZvaWQgX19hZGRfcHdtKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJbXV0ZXhfbG9jaygmcHdtX2xvY2spOworCWxpc3RfYWRkX3RhaWwoJnB3bS0+bm9kZSwgJnB3bV9saXN0KTsKKwltdXRleF91bmxvY2soJnB3bV9sb2NrKTsKK30KKworc3RhdGljIHN0cnVjdCBwd21fZGV2aWNlICpwd21fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJdW5zaWduZWQgaW50IHB3bV9pZCwgc3RydWN0IHB3bV9kZXZpY2UgKnBhcmVudF9wd20pCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bTsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJaW50IHJldCA9IDA7CisKKwlwd20gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgcHdtX2RldmljZSksIEdGUF9LRVJORUwpOworCWlmIChwd20gPT0gTlVMTCkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5XG4iKTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisJfQorCisJcHdtLT5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJQV01DTEsiKTsKKwlpZiAoSVNfRVJSKHB3bS0+Y2xrKSkgeworCQlyZXQgPSBQVFJfRVJSKHB3bS0+Y2xrKTsKKwkJZ290byBlcnJfZnJlZTsKKwl9CisJcHdtLT5jbGtfZW5hYmxlZCA9IDA7CisKKwlwd20tPnVzZV9jb3VudCA9IDA7CisJcHdtLT5wd21faWQgPSBwd21faWQ7CisJcHdtLT5wZGV2ID0gcGRldjsKKworCWlmIChwYXJlbnRfcHdtICE9IE5VTEwpIHsKKwkJLyogcmVnaXN0ZXJzIGZvciB0aGUgc2Vjb25kIFBXTSBoYXMgb2Zmc2V0IG9mIDB4MTAgKi8KKwkJcHdtLT5tbWlvX2Jhc2UgPSBwYXJlbnRfcHdtLT5tbWlvX2Jhc2UgKyAweDEwOworCQlfX2FkZF9wd20ocHdtKTsKKwkJcmV0dXJuIHB3bTsKKwl9CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKwlpZiAociA9PSBOVUxMKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgIm5vIG1lbW9yeSByZXNvdXJjZSBkZWZpbmVkXG4iKTsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBlcnJfZnJlZV9jbGs7CisJfQorCisJciA9IHJlcXVlc3RfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxLCBwZGV2LT5uYW1lKTsKKwlpZiAociA9PSBOVUxMKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZXF1ZXN0IG1lbW9yeSByZXNvdXJjZVxuIik7CisJCXJldCA9IC1FQlVTWTsKKwkJZ290byBlcnJfZnJlZV9jbGs7CisJfQorCisJcHdtLT5tbWlvX2Jhc2UgPSBpb3JlbWFwKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOworCWlmIChwd20tPm1taW9fYmFzZSA9PSBOVUxMKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBpb3JlbWFwKCkgcmVnaXN0ZXJzXG4iKTsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBlcnJfZnJlZV9tZW07CisJfQorCisJX19hZGRfcHdtKHB3bSk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgcHdtKTsKKwlyZXR1cm4gcHdtOworCitlcnJfZnJlZV9tZW06CisJcmVsZWFzZV9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOworZXJyX2ZyZWVfY2xrOgorCWNsa19wdXQocHdtLT5jbGspOworZXJyX2ZyZWU6CisJa2ZyZWUocHdtKTsKKwlyZXR1cm4gRVJSX1BUUihyZXQpOworfQorCitzdGF0aWMgaW50IF9fZGV2aW5pdCBweGEyNXhfcHdtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bSA9IHB3bV9wcm9iZShwZGV2LCBwZGV2LT5pZCwgTlVMTCk7CisKKwlpZiAoSVNfRVJSKHB3bSkpCisJCXJldHVybiBQVFJfRVJSKHB3bSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2RldmluaXQgcHhhMjd4X3B3bV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBwd21fZGV2aWNlICpwd207CisKKwlwd20gPSBwd21fcHJvYmUocGRldiwgcGRldi0+aWQsIE5VTEwpOworCWlmIChJU19FUlIocHdtKSkKKwkJcmV0dXJuIFBUUl9FUlIocHdtKTsKKworCXB3bSA9IHB3bV9wcm9iZShwZGV2LCBwZGV2LT5pZCArIDIsIHB3bSk7CisJaWYgKElTX0VSUihwd20pKQorCQlyZXR1cm4gUFRSX0VSUihwd20pOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZleGl0IHB3bV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCXN0cnVjdCByZXNvdXJjZSAqcjsKKworCXB3bSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCWlmIChwd20gPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisJbGlzdF9kZWwoJnB3bS0+bm9kZSk7CisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7CisKKwlpb3VubWFwKHB3bS0+bW1pb19iYXNlKTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCXJlbGVhc2VfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxKTsKKworCWNsa19wdXQocHdtLT5jbGspOworCWtmcmVlKHB3bSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHB4YTI1eF9wd21fZHJpdmVyID0geworCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJweGEyNXgtcHdtIiwKKwl9LAorCS5wcm9iZQkJPSBweGEyNXhfcHdtX3Byb2JlLAorCS5yZW1vdmUJCT0gX19kZXZleGl0X3AocHdtX3JlbW92ZSksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBweGEyN3hfcHdtX2RyaXZlciA9IHsKKwkuZHJpdmVyCQk9IHsKKwkJLm5hbWUJPSAicHhhMjd4LXB3bSIsCisJfSwKKwkucHJvYmUJCT0gcHhhMjd4X3B3bV9wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKHB3bV9yZW1vdmUpLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcHdtX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0ID0gMDsKKworCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmcHhhMjV4X3B3bV9kcml2ZXIpOworCWlmIChyZXQpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgcHhhMjV4X3B3bV9kcml2ZXJcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmcHhhMjd4X3B3bV9kcml2ZXIpOworCWlmIChyZXQpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgcHhhMjd4X3B3bV9kcml2ZXJcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiByZXQ7Cit9CithcmNoX2luaXRjYWxsKHB3bV9pbml0KTsKKworc3RhdGljIHZvaWQgX19leGl0IHB3bV9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnB4YTI1eF9wd21fZHJpdmVyKTsKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmcHhhMjd4X3B3bV9kcml2ZXIpOworfQorbW9kdWxlX2V4aXQocHdtX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9weGEyNXguYyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI1eC5jCmluZGV4IGU1YjQxN2QuLjRjZDUwZTMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI1eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI1eC5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaXJxcy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tZnAtcHhhMjV4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcG0uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9kbWEuaD4KQEAgLTExNywyOSArMTE4LDM1IEBACiAJSU5JVF9DS0VOKCJVQVJUQ0xLIiwgSFdVQVJULCAxNDc0NTYwMCwgMSwgJnB4YV9kZXZpY2VfaHd1YXJ0LmRldikKIDsKIAorLyoKKyAqIFBYQSAyeHggY2xvY2sgZGVjbGFyYXRpb25zLiBPcmRlciBpcyBpbXBvcnRhbnQgKHNlZSBhbGlhc2VzIGJlbG93KQorICogUGxlYXNlIGJlIGNhcmVmdWwgbm90IHRvIGRpc3J1cHQgdGhlIG9yZGVyaW5nLgorICovCiBzdGF0aWMgc3RydWN0IGNsayBweGEyNXhfY2xrc1tdID0gewogCUlOSVRfQ0soIkxDRENMSyIsIExDRCwgJmNsa19weGEyNXhfbGNkX29wcywgJnB4YV9kZXZpY2VfZmIuZGV2KSwKIAlJTklUX0NLRU4oIlVBUlRDTEsiLCBGRlVBUlQsIDE0NzQ1NjAwLCAxLCAmcHhhX2RldmljZV9mZnVhcnQuZGV2KSwKIAlJTklUX0NLRU4oIlVBUlRDTEsiLCBCVFVBUlQsIDE0NzQ1NjAwLCAxLCAmcHhhX2RldmljZV9idHVhcnQuZGV2KSwKIAlJTklUX0NLRU4oIlVBUlRDTEsiLCBTVFVBUlQsIDE0NzQ1NjAwLCAxLCBOVUxMKSwKLQlJTklUX0NLRU4oIlVEQ0NMSyIsIFVTQiwgNDc5MjMwMDAsIDUsICZweGFfZGV2aWNlX3VkYy5kZXYpLAorCUlOSVRfQ0tFTigiVURDQ0xLIiwgVVNCLCA0NzkyMzAwMCwgNSwgJnB4YTI1eF9kZXZpY2VfdWRjLmRldiksCiAJSU5JVF9DS0VOKCJNTUNDTEsiLCBNTUMsIDE5MTY5MDAwLCAwLCAmcHhhX2RldmljZV9tY2kuZGV2KSwKIAlJTklUX0NLRU4oIkkyQ0NMSyIsIEkyQywgMzE5NDkwMDAsIDAsICZweGFfZGV2aWNlX2kyYy5kZXYpLAogCiAJSU5JVF9DS0VOKCJTU1BDTEsiLCAgU1NQLCAzNjg2NDAwLCAwLCAmcHhhMjV4X2RldmljZV9zc3AuZGV2KSwKIAlJTklUX0NLRU4oIlNTUENMSyIsIE5TU1AsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX25zc3AuZGV2KSwKIAlJTklUX0NLRU4oIlNTUENMSyIsIEFTU1AsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX2Fzc3AuZGV2KSwKKwlJTklUX0NLRU4oIlBXTUNMSyIsIFBXTTAsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX3B3bTAuZGV2KSwKKwlJTklUX0NLRU4oIlBXTUNMSyIsIFBXTTEsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX3B3bTEuZGV2KSwKIAogCUlOSVRfQ0tFTigiQUM5N0NMSyIsICAgICBBQzk3LCAgICAgMjQ1NzYwMDAsIDAsIE5VTEwpLAogCiAJLyoKLQlJTklUX0NLRU4oIlBXTUNMSyIsICBQV00wLCAzNjg2NDAwLCAgMCwgTlVMTCksCi0JSU5JVF9DS0VOKCJQV01DTEsiLCAgUFdNMCwgMzY4NjQwMCwgIDAsIE5VTEwpLAogCUlOSVRfQ0tFTigiSTJTQ0xLIiwgIEkyUywgIDE0NzQ1NjAwLCAwLCBOVUxMKSwKIAkqLwogCUlOSVRfQ0tFTigiRklDUENMSyIsIEZJQ1AsIDQ3OTIzMDAwLCAwLCBOVUxMKSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwaW83X2NsayA9IElOSVRfQ0tPVEhFUigiR1BJTzdfQ0siLCAmcHhhMjV4X2Nsa3NbNF0sIE5VTEwpOworCiAjaWZkZWYgQ09ORklHX1BNCiAKICNkZWZpbmUgU0FWRSh4KQkJc2xlZXBfc2F2ZVtTTEVFUF9TQVZFXyMjeF0gPSB4CkBAIC0yNjAsNyArMjY3LDcgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnB4YTI1eF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKLQkmcHhhX2RldmljZV91ZGMsCisJJnB4YTI1eF9kZXZpY2VfdWRjLAogCSZweGFfZGV2aWNlX2ZmdWFydCwKIAkmcHhhX2RldmljZV9idHVhcnQsCiAJJnB4YV9kZXZpY2Vfc3R1YXJ0LApAQCAtMjY5LDYgKzI3Niw4IEBACiAJJnB4YTI1eF9kZXZpY2Vfc3NwLAogCSZweGEyNXhfZGV2aWNlX25zc3AsCiAJJnB4YTI1eF9kZXZpY2VfYXNzcCwKKwkmcHhhMjV4X2RldmljZV9wd20wLAorCSZweGEyNXhfZGV2aWNlX3B3bTEsCiB9OwogCiBzdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgcHhhMjV4X3N5c2RldltdID0gewpAQCAtMzExLDYgKzMyMCw4IEBACiAJaWYgKGNwdV9pc19weGEyNXgoKSkKIAkJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZweGFfZGV2aWNlX2h3dWFydCk7CiAKKwljbGtzX3JlZ2lzdGVyKCZncGlvN19jbGssIDEpOworCiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcHhhMjd4LmMgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEyN3guYwppbmRleCA3ZTk0NTgzLi5kNWQxNGVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9weGEyN3guYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEyN3guYwpAQCAtMTQ2LDcgKzE0Niw3IEBACiAKIAlJTklUX0NLRU4oIkkyU0NMSyIsICBJMlMsICAxNDY4MjAwMCwgMCwgJnB4YV9kZXZpY2VfaTJzLmRldiksCiAJSU5JVF9DS0VOKCJJMkNDTEsiLCAgSTJDLCAgMzI4NDIwMDAsIDAsICZweGFfZGV2aWNlX2kyYy5kZXYpLAotCUlOSVRfQ0tFTigiVURDQ0xLIiwgIFVTQiwgIDQ4MDAwMDAwLCA1LCAmcHhhX2RldmljZV91ZGMuZGV2KSwKKwlJTklUX0NLRU4oIlVEQ0NMSyIsICBVU0IsICA0ODAwMDAwMCwgNSwgJnB4YTI3eF9kZXZpY2VfdWRjLmRldiksCiAJSU5JVF9DS0VOKCJNTUNDTEsiLCAgTU1DLCAgMTk1MDAwMDAsIDAsICZweGFfZGV2aWNlX21jaS5kZXYpLAogCUlOSVRfQ0tFTigiRklDUENMSyIsIEZJQ1AsIDQ4MDAwMDAwLCAwLCAmcHhhX2RldmljZV9maWNwLmRldiksCiAKQEAgLTE1NywxMiArMTU3LDEzIEBACiAJSU5JVF9DS0VOKCJTU1BDTEsiLCBTU1AxLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfc3NwMS5kZXYpLAogCUlOSVRfQ0tFTigiU1NQQ0xLIiwgU1NQMiwgMTMwMDAwMDAsIDAsICZweGEyN3hfZGV2aWNlX3NzcDIuZGV2KSwKIAlJTklUX0NLRU4oIlNTUENMSyIsIFNTUDMsIDEzMDAwMDAwLCAwLCAmcHhhMjd4X2RldmljZV9zc3AzLmRldiksCisJSU5JVF9DS0VOKCJQV01DTEsiLCBQV00wLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2VfcHdtMC5kZXYpLAorCUlOSVRfQ0tFTigiUFdNQ0xLIiwgUFdNMSwgMTMwMDAwMDAsIDAsICZweGEyN3hfZGV2aWNlX3B3bTEuZGV2KSwKIAogCUlOSVRfQ0tFTigiQUM5N0NMSyIsICAgICBBQzk3LCAgICAgMjQ1NzYwMDAsIDAsIE5VTEwpLAogCUlOSVRfQ0tFTigiQUM5N0NPTkZDTEsiLCBBQzk3Q09ORiwgMjQ1NzYwMDAsIDAsIE5VTEwpLAogCiAJLyoKLQlJTklUX0NLRU4oIlBXTUNMSyIsICBQV00wLCAxMzAwMDAwMCwgMCwgTlVMTCksCiAJSU5JVF9DS0VOKCJNU0xDTEsiLCAgTVNMLCAgNDgwMDAwMDAsIDAsIE5VTEwpLAogCUlOSVRfQ0tFTigiVVNJTUNMSyIsIFVTSU0sIDQ4MDAwMDAwLCAwLCBOVUxMKSwKIAlJTklUX0NLRU4oIk1TVEtDTEsiLCBNRU1TVEssIDE5NTAwMDAwLCAwLCBOVUxMKSwKQEAgLTM0OSwxMSArMzUwLDE0IEBACiAKIHZvaWQgX19pbml0IHB4YV9zZXRfaTJjX3Bvd2VyX2luZm8oc3RydWN0IGkyY19weGFfcGxhdGZvcm1fZGF0YSAqaW5mbykKIHsKKwlsb2NhbF9pcnFfZGlzYWJsZSgpOworCVBDRlIgfD0gUENGUl9QSTJDRU47CisJbG9jYWxfaXJxX2VuYWJsZSgpOwogCXB4YTI3eF9kZXZpY2VfaTJjX3Bvd2VyLmRldi5wbGF0Zm9ybV9kYXRhID0gaW5mbzsKIH0KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZweGFfZGV2aWNlX3VkYywKKwkmcHhhMjd4X2RldmljZV91ZGMsCiAJJnB4YV9kZXZpY2VfZmZ1YXJ0LAogCSZweGFfZGV2aWNlX2J0dWFydCwKIAkmcHhhX2RldmljZV9zdHVhcnQsCkBAIC0zNjMsNiArMzY3LDggQEAKIAkmcHhhMjd4X2RldmljZV9zc3AxLAogCSZweGEyN3hfZGV2aWNlX3NzcDIsCiAJJnB4YTI3eF9kZXZpY2Vfc3NwMywKKwkmcHhhMjd4X2RldmljZV9wd20wLAorCSZweGEyN3hfZGV2aWNlX3B3bTEsCiB9OwogCiBzdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgcHhhMjd4X3N5c2RldltdID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcHhhMnh4LmMgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEyeHguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGY2NDE1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvcHhhMnh4LmMKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtcHhhL3B4YTJ4eC5jCisgKgorICogY29kZSBzcGVjaWZpYyB0byBweGEyeHgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggRG1pdHJ5IEJhcnlzaGtvdgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTJ4eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL21mcC1weGEyNXguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pcmRhLmg+CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHB4YTJ4eF9tZnBfZmlyW10gPSB7CisJR1BJTzQ2X0ZJQ1BfUlhELAorCUdQSU80N19GSUNQX1RYRCwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHB4YTJ4eF9tZnBfc2lyW10gPSB7CisJR1BJTzQ2X1NUVUFSVF9SWEQsCisJR1BJTzQ3X1NUVUFSVF9UWEQsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBweGEyeHhfbWZwX29mZltdID0geworCUdQSU80Nl9HUElPIHwgTUZQX0xQTV9EUklWRV9MT1csCisJR1BJTzQ3X0dQSU8gfCBNRlBfTFBNX0RSSVZFX0xPVywKK307CisKK3ZvaWQgcHhhMnh4X3RyYW5zY2VpdmVyX21vZGUoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgbW9kZSkKK3sKKwlpZiAobW9kZSAmIElSX09GRikgeworCQlweGEyeHhfbWZwX2NvbmZpZyhweGEyeHhfbWZwX29mZiwgQVJSQVlfU0laRShweGEyeHhfbWZwX29mZikpOworCX0gZWxzZSBpZiAobW9kZSAmIElSX1NJUk1PREUpIHsKKwkJcHhhMnh4X21mcF9jb25maWcocHhhMnh4X21mcF9zaXIsIEFSUkFZX1NJWkUocHhhMnh4X21mcF9zaXIpKTsKKwl9IGVsc2UgaWYgKG1vZGUgJiBJUl9GSVJNT0RFKSB7CisJCXB4YTJ4eF9tZnBfY29uZmlnKHB4YTJ4eF9tZnBfZmlyLCBBUlJBWV9TSVpFKHB4YTJ4eF9tZnBfZmlyKSk7CisJfSBlbHNlCisJCUJVRygpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcHhhM3h4LmMgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEzeHguYwppbmRleCA2NDQ1NTBiLi4xNTY4NWQyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9weGEzeHguYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEzeHguYwpAQCAtMjMxLDcgKzIzMSw3IEBACiAJUFhBM3h4X0NLRU4oIlVBUlRDTEsiLCBTVFVBUlQsIDE0ODU3MDAwLCAxLCBOVUxMKSwKIAogCVBYQTN4eF9DS0VOKCJJMkNDTEsiLCBJMkMsICAzMjg0MjAwMCwgMCwgJnB4YV9kZXZpY2VfaTJjLmRldiksCi0JUFhBM3h4X0NLRU4oIlVEQ0NMSyIsIFVEQywgIDQ4MDAwMDAwLCA1LCAmcHhhX2RldmljZV91ZGMuZGV2KSwKKwlQWEEzeHhfQ0tFTigiVURDQ0xLIiwgVURDLCAgNDgwMDAwMDAsIDUsICZweGEyN3hfZGV2aWNlX3VkYy5kZXYpLAogCVBYQTN4eF9DS0VOKCJVU0JDTEsiLCBVU0JILCA0ODAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfb2hjaS5kZXYpLAogCVBYQTN4eF9DS0VOKCJLQkRDTEsiLCBLRVlQQUQsICAzMjc2OCwgMCwgJnB4YTI3eF9kZXZpY2Vfa2V5cGFkLmRldiksCiAKQEAgLTIzOSw2ICsyMzksOCBAQAogCVBYQTN4eF9DS0VOKCJTU1BDTEsiLCBTU1AyLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfc3NwMi5kZXYpLAogCVBYQTN4eF9DS0VOKCJTU1BDTEsiLCBTU1AzLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfc3NwMy5kZXYpLAogCVBYQTN4eF9DS0VOKCJTU1BDTEsiLCBTU1A0LCAxMzAwMDAwMCwgMCwgJnB4YTN4eF9kZXZpY2Vfc3NwNC5kZXYpLAorCVBYQTN4eF9DS0VOKCJQV01DTEsiLCBQV00wLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2VfcHdtMC5kZXYpLAorCVBYQTN4eF9DS0VOKCJQV01DTEsiLCBQV00xLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2VfcHdtMS5kZXYpLAogCiAJUFhBM3h4X0NLRU4oIk1NQ0NMSyIsIE1NQzEsIDE5NTAwMDAwLCAwLCAmcHhhX2RldmljZV9tY2kuZGV2KSwKIAlQWEEzeHhfQ0tFTigiTU1DQ0xLIiwgTU1DMiwgMTk1MDAwMDAsIDAsICZweGEzeHhfZGV2aWNlX21jaTIuZGV2KSwKQEAgLTUyMCw3ICs1MjIsNyBAQAogICovCiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKLQkmcHhhX2RldmljZV91ZGMsCisvKgkmcHhhX2RldmljZV91ZGMsCVRoZSBVREMgZHJpdmVyIGlzIFBYQTI1eCBvbmx5ICovCiAJJnB4YV9kZXZpY2VfZmZ1YXJ0LAogCSZweGFfZGV2aWNlX2J0dWFydCwKIAkmcHhhX2RldmljZV9zdHVhcnQsCkBAIC01MzAsNiArNTMyLDggQEAKIAkmcHhhMjd4X2RldmljZV9zc3AyLAogCSZweGEyN3hfZGV2aWNlX3NzcDMsCiAJJnB4YTN4eF9kZXZpY2Vfc3NwNCwKKwkmcHhhMjd4X2RldmljZV9wd20wLAorCSZweGEyN3hfZGV2aWNlX3B3bTEsCiB9OwogCiBzdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgcHhhM3h4X3N5c2RldltdID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvc3BpdHpfcG0uYyBiL2FyY2gvYXJtL21hY2gtcHhhL3NwaXR6X3BtLmMKaW5kZXggMjNmMDUwZi4uMzYwMzU0MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvc3BpdHpfcG0uYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9zcGl0el9wbS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvc2hhcnBzbC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3NwaXR6Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSAic2hhcnBzbC5oIgogCkBAIC0yMDcsNyArMjA4LDkgQEAKIAkucmVhZF9kZXZkYXRhICAgICA9IHNwaXR6cG1fcmVhZF9kZXZkYXRhLAogCS5jaGFyZ2VyX3dha2V1cCAgID0gc3BpdHpfY2hhcmdlcl93YWtldXAsCiAJLnNob3VsZF93YWtldXAgICAgPSBzcGl0el9zaG91bGRfd2FrZXVwLAorI2lmZGVmIENPTkZJR19CQUNLTElHSFRfQ09SR0kKICAgICAgICAgLmJhY2tsaWdodF9saW1pdCAgPSBjb3JnaWJsX2xpbWl0X2ludGVuc2l0eSwKKyNlbmRpZgogCS5jaGFyZ2Vfb25fdm9sdAkgID0gU0hBUlBTTF9DSEFSR0VfT05fVk9MVCwKIAkuY2hhcmdlX29uX3RlbXAJICA9IFNIQVJQU0xfQ0hBUkdFX09OX1RFTVAsCiAJLmNoYXJnZV9hY2luX2hpZ2ggPSBTSEFSUFNMX0NIQVJHRV9PTl9BQ0lOX0hJR0gsCkBAIC0yMjksNiArMjMyLDEwIEBACiB7CiAJaW50IHJldDsKIAorCWlmICghbWFjaGluZV9pc19zcGl0eigpICYmICFtYWNoaW5lX2lzX2FraXRhKCkKKwkJCSYmICFtYWNoaW5lX2lzX2JvcnpvaSgpKQorCQlyZXR1cm4gLUVOT0RFVjsKKwogCXNwaXR6cG1fZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzaGFycHNsLXBtIiwgLTEpOwogCWlmICghc3BpdHpwbV9kZXZpY2UpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvc3RhbmRieS5TIGIvYXJjaC9hcm0vbWFjaC1weGEvc3RhbmRieS5TCmluZGV4IDE2NzQxMmUuLjQwYmI3MGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3N0YW5kYnkuUworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9zdGFuZGJ5LlMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KIAogCQkudGV4dAogCkBAIC0zNSwyMCArMzYsMjAgQEAKIAogI2lmZGVmIENPTkZJR19QWEEzeHgKIAotI2RlZmluZSBNRENORkcJCTB4MDAwMAotI2RlZmluZSBNRENORkdfRE1DRU4JKDEgPDwgMzApCi0jZGVmaW5lIEREUl9IQ0FMCTB4MDA2MAotI2RlZmluZSBERFJfSENBTF9IQ1JORwkweDFmCi0jZGVmaW5lIEREUl9IQ0FMX0hDUFJPRwkoMSA8PCAyOCkKLSNkZWZpbmUgRERSX0hDQUxfSENFTgkoMSA8PCAzMSkKLSNkZWZpbmUgRE1DSUVSCQkweDAwNzAKLSNkZWZpbmUgRE1DSUVSX0VETFAJKDEgPDwgMjkpCi0jZGVmaW5lIERNQ0lTUgkJMHgwMDc4Ci0jZGVmaW5lIFJDT01QCQkweDAxMDAKLSNkZWZpbmUgUkNPTVBfU1dFVkFMCSgxIDw8IDMxKQorI2RlZmluZSBQWEEzX01EQ05GRwkJMHgwMDAwCisjZGVmaW5lIFBYQTNfTURDTkZHX0RNQ0VOCSgxIDw8IDMwKQorI2RlZmluZSBQWEEzX0REUl9IQ0FMCQkweDAwNjAKKyNkZWZpbmUgUFhBM19ERFJfSENBTF9IQ1JORwkweDFmCisjZGVmaW5lIFBYQTNfRERSX0hDQUxfSENQUk9HCSgxIDw8IDI4KQorI2RlZmluZSBQWEEzX0REUl9IQ0FMX0hDRU4JKDEgPDwgMzEpCisjZGVmaW5lIFBYQTNfRE1DSUVSCQkweDAwNzAKKyNkZWZpbmUgUFhBM19ETUNJRVJfRURMUAkoMSA8PCAyOSkKKyNkZWZpbmUgUFhBM19ETUNJU1IJCTB4MDA3OAorI2RlZmluZSBQWEEzX1JDT01QCQkweDAxMDAKKyNkZWZpbmUgUFhBM19SQ09NUF9TV0VWQUwJKDEgPDwgMzEpCiAKIEVOVFJZKHBtX2VudGVyX3N0YW5kYnlfc3RhcnQpCi0JbW92CXIxLCAjMHhmNjAwMDAwMAkJQCBETUVNQ19SRUdfQkFTRSAoTURDTkZHKQorCW1vdglyMSwgIzB4ZjYwMDAwMDAJCQlAIERNRU1DX1JFR19CQVNFIChQWEEzX01EQ05GRykKIAlhZGQJcjEsIHIxLCAjMHgwMDEwMDAwMAogCiAJLyoKQEAgLTU5LDU0ICs2MCw1NCBAQAogCSAqIFRoaXMgYWxzbyBtZWFucyB0aGF0IG9ubHkgdGhlIGR5bmFtaWMgbWVtb3J5IGNvbnRyb2xsZXIKIAkgKiBjYW4gYmUgcmVsaWFibHkgYWNjZXNzZWQgaW4gdGhlIGNvZGUgZm9sbG93aW5nIHN0YW5kYnkuCiAJICovCi0JbGRyCXIyLCBbcjFdCQlAIER1bW15IHJlYWQgTURDTkZHCisJbGRyCXIyLCBbcjFdCQkJQCBEdW1teSByZWFkIFBYQTNfTURDTkZHCiAKIAltY3IJcDE0LCAwLCByMCwgYzcsIGMwLCAwCiAJLnJlcHQJOAogCW5vcAogCS5lbmRyCiAKLQlsZHIJcjAsIFtyMSwgI0REUl9IQ0FMXQlAIENsZWFyIChhbmQgd2FpdCBmb3IpIEhDRU4KLQliaWMJcjAsIHIwLCAjRERSX0hDQUxfSENFTgotCXN0cglyMCwgW3IxLCAjRERSX0hDQUxdCi0xOglsZHIJcjAsIFtyMSwgI0REUl9IQ0FMXQotCXRzdAlyMCwgI0REUl9IQ0FMX0hDRU4KKwlsZHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCUAgQ2xlYXIgKGFuZCB3YWl0IGZvcikgSENFTgorCWJpYwlyMCwgcjAsICNQWEEzX0REUl9IQ0FMX0hDRU4KKwlzdHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCisxOglsZHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCisJdHN0CXIwLCAjUFhBM19ERFJfSENBTF9IQ0VOCiAJYm5lCTFiCiAKLQlsZHIJcjAsIFtyMSwgI1JDT01QXQlAIEluaXRpYXRlIFJDT01QCi0Jb3JyCXIwLCByMCwgI1JDT01QX1NXRVZBTAotCXN0cglyMCwgW3IxLCAjUkNPTVBdCisJbGRyCXIwLCBbcjEsICNQWEEzX1JDT01QXQkJQCBJbml0aWF0ZSBSQ09NUAorCW9ycglyMCwgcjAsICNQWEEzX1JDT01QX1NXRVZBTAorCXN0cglyMCwgW3IxLCAjUFhBM19SQ09NUF0KIAotCW1vdglyMCwgI34wCQkJQCBDbGVhciBpbnRlcnJ1cHRzCi0Jc3RyCXIwLCBbcjEsICNETUNJU1JdCisJbW92CXIwLCAjfjAJCQkJQCBDbGVhciBpbnRlcnJ1cHRzCisJc3RyCXIwLCBbcjEsICNQWEEzX0RNQ0lTUl0KIAotCWxkcglyMCwgW3IxLCAjRE1DSUVSXQlAIHNldCBETUlFUltFRExQXQotCW9ycglyMCwgcjAsICNETUNJRVJfRURMUAotCXN0cglyMCwgW3IxLCAjRE1DSUVSXQorCWxkcglyMCwgW3IxLCAjUFhBM19ETUNJRVJdCQlAIHNldCBETUlFUltFRExQXQorCW9ycglyMCwgcjAsICNQWEEzX0RNQ0lFUl9FRExQCisJc3RyCXIwLCBbcjEsICNQWEEzX0RNQ0lFUl0KIAotCWxkcglyMCwgW3IxLCAjRERSX0hDQUxdCUAgY2xlYXIgSENSTkcsIHNldCBIQ1BST0csIEhDRU4KLQliaWMJcjAsIHIwLCAjRERSX0hDQUxfSENSTkcKLQlvcnIJcjAsIHIwLCAjRERSX0hDQUxfSENFTiB8IEREUl9IQ0FMX0hDUFJPRwotCXN0cglyMCwgW3IxLCAjRERSX0hDQUxdCisJbGRyCXIwLCBbcjEsICNQWEEzX0REUl9IQ0FMXQlAIGNsZWFyIEhDUk5HLCBzZXQgSENQUk9HLCBIQ0VOCisJYmljCXIwLCByMCwgI1BYQTNfRERSX0hDQUxfSENSTkcKKwlvcnIJcjAsIHIwLCAjUFhBM19ERFJfSENBTF9IQ0VOIHwgUFhBM19ERFJfSENBTF9IQ1BST0cKKwlzdHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCiAKLTE6CWxkcglyMCwgW3IxLCAjRE1DSVNSXQotCXRzdAlyMCwgI0RNQ0lFUl9FRExQCisxOglsZHIJcjAsIFtyMSwgI1BYQTNfRE1DSVNSXQorCXRzdAlyMCwgI1BYQTNfRE1DSUVSX0VETFAKIAliZXEJMWIKIAotCWxkcglyMCwgW3IxLCAjTURDTkZHXQlAIHNldCBNRENORkdbRE1DRU5dCi0Jb3JyCXIwLCByMCwgI01EQ05GR19ETUNFTgotCXN0cglyMCwgW3IxLCAjTURDTkZHXQotMToJbGRyCXIwLCBbcjEsICNNRENORkddCi0JdHN0CXIwLCAjTURDTkZHX0RNQ0VOCisJbGRyCXIwLCBbcjEsICNQWEEzX01EQ05GR10JCUAgc2V0IFBYQTNfTURDTkZHW0RNQ0VOXQorCW9ycglyMCwgcjAsICNQWEEzX01EQ05GR19ETUNFTgorCXN0cglyMCwgW3IxLCAjUFhBM19NRENORkddCisxOglsZHIJcjAsIFtyMSwgI1BYQTNfTURDTkZHXQorCXRzdAlyMCwgI1BYQTNfTURDTkZHX0RNQ0VOCiAJYmVxCTFiCiAKLQlsZHIJcjAsIFtyMSwgI0REUl9IQ0FMXQlAIHNldCBERFJfSENBTFtIQ1JOR10KKwlsZHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCUAgc2V0IFBYQTNfRERSX0hDQUxbSENSTkddCiAJb3JyCXIwLCByMCwgIzIgQCBIQ1JORwotCXN0cglyMCwgW3IxLCAjRERSX0hDQUxdCisJc3RyCXIwLCBbcjEsICNQWEEzX0REUl9IQ0FMXQogCi0JbGRyCXIwLCBbcjEsICNETUNJRVJdCUAgQ2xlYXIgdGhlIGludGVycnVwdAorCWxkcglyMCwgW3IxLCAjUFhBM19ETUNJRVJdCQlAIENsZWFyIHRoZSBpbnRlcnJ1cHQKIAliaWMJcjAsIHIwLCAjMHgyMDAwMDAwMAotCXN0cglyMCwgW3IxLCAjRE1DSUVSXQorCXN0cglyMCwgW3IxLCAjUFhBM19ETUNJRVJdCiAKIAltb3YJcGMsIGxyCiBFTlRSWShwbV9lbnRlcl9zdGFuZGJ5X2VuZCkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3RyaXplcHM0LmMgYi9hcmNoL2FybS9tYWNoLXB4YS90cml6ZXBzNC5jCmluZGV4IDkzMTg4NWQuLjYxZTI0NDAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3RyaXplcHM0LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvdHJpemVwczQuYwpAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL2ZsYXNoLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC90cml6ZXBzNC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CkBAIC0xNzUsMTkgKzE3NiwxMCBAQAogCS5yZXNvdXJjZQk9IE5VTEwsCiB9OwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIFBYQTI3MCBhYzk3IHNvdW5kIGNvZGVjCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBhYzk3X2F1ZGlvX2RldmljZSA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLX07Ci0KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICogdHJpemVwczRfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJmZsYXNoX2RldmljZSwKIAkmdWFydF9kZXZpY2VzLAogCSZkbTkwMDBfZGV2aWNlLAotCSZhYzk3X2F1ZGlvX2RldmljZSwKIH07CiAKICNpZmRlZiBDT05GSUdfTUFDSF9UUklaRVBTNF9DT05YUwpAQCAtNDM4LDYgKzQzMCw3IEBACiAJcHhhX3NldF9tY2lfaW5mbygmdHJpemVwczRfbWNpX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfZmljcF9pbmZvKCZ0cml6ZXBzNF9maWNwX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfb2hjaV9pbmZvKCZ0cml6ZXBzNF9vaGNpX3BsYXRmb3JtX2RhdGEpOworCXB4YV9zZXRfYWM5N19pbmZvKE5VTEwpOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgdHJpemVwczRfbWFwX2lvKHZvaWQpCkBAIC00ODcsNiArNDgwLDcgQEAKIAlDb25YU19CQ1IgPSB0cml6ZXBzX2NvbnhzX2JjcjsKICNlbmRpZgogCisjd2FybmluZyBGSVhNRSAtIGFjY2Vzc2luZyBQTSByZWdpc3RlcnMgZGlyZWN0bHkgaXMgZGVwcmVjYXRlZAogCVBXRVIgID0gMHgwMDAwMDAwMjsKIAlQRkVSICA9IDB4MDAwMDAwMDA7CiAJUFJFUiAgPSAweDAwMDAwMDAyOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGUuYyBiL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlLmMKaW5kZXggNGEwMDI4MC4uNjZiNDQ2YyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGUuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZS5jCkBAIC0xOCwyMiArMTgsMjQgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KICNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXVkaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhZmIuaD4KICNpbmNsdWRlIDxhc20vYXJjaC96eWxvbml0ZS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTI3eF9rZXlwYWQuaD4KIAorI2luY2x1ZGUgImRldmljZXMuaCIKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKICNkZWZpbmUgTUFYX1NMT1RTCTMKIHN0cnVjdCBwbGF0Zm9ybV9tbWNfc2xvdCB6eWxvbml0ZV9tbWNfc2xvdFtNQVhfU0xPVFNdOwogCi1pbnQgZ3Bpb19iYWNrbGlnaHQ7CiBpbnQgZ3Bpb19ldGhfaXJxOwogCiBpbnQgd205NzEzX2lycTsKQEAgLTYyLDEwICs2NCwyMCBAQAogfTsKIAogI2lmIGRlZmluZWQoQ09ORklHX0ZCX1BYQSkgfHwgZGVmaW5lZChDT05GSUdfRkJfUFhBX01PRFVMRSkKLXN0YXRpYyB2b2lkIHp5bG9uaXRlX2JhY2tsaWdodF9wb3dlcihpbnQgb24pCi17Ci0JZ3Bpb19zZXRfdmFsdWUoZ3Bpb19iYWNrbGlnaHQsIG9uKTsKLX0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIHp5bG9uaXRlX2JhY2tsaWdodF9kYXRhID0geworCS5wd21faWQJCT0gMywKKwkubWF4X2JyaWdodG5lc3MJPSAxMDAsCisJLmRmdF9icmlnaHRuZXNzCT0gMTAwLAorCS5wd21fcGVyaW9kX25zCT0gMTAwMDAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB6eWxvbml0ZV9iYWNrbGlnaHRfZGV2aWNlID0geworCS5uYW1lCQk9ICJwd20tYmFja2xpZ2h0IiwKKwkuZGV2CQk9IHsKKwkJLnBhcmVudCA9ICZweGEyN3hfZGV2aWNlX3B3bTEuZGV2LAorCQkucGxhdGZvcm1fZGF0YQk9ICZ6eWxvbml0ZV9iYWNrbGlnaHRfZGF0YSwKKwl9LAorfTsKIAogc3RhdGljIHN0cnVjdCBweGFmYl9tb2RlX2luZm8gdG9zaGliYV9sdG0wMzVhNzc2Y19tb2RlID0gewogCS5waXhjbG9jawkJPSAxMTAwMDAsCkBAIC05OCw3ICsxMTAsNiBAQAogc3RhdGljIHN0cnVjdCBweGFmYl9tYWNoX2luZm8genlsb25pdGVfdG9zaGliYV9sY2RfaW5mbyA9IHsKIAkubnVtX21vZGVzICAgICAgCT0gMSwKIAkubGNkX2Nvbm4JCT0gTENEX0NPTE9SX1RGVF8xNkJQUCB8IExDRF9QQ0xLX0VER0VfRkFMTCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0genlsb25pdGVfYmFja2xpZ2h0X3Bvd2VyLAogfTsKIAogc3RhdGljIHN0cnVjdCBweGFmYl9tb2RlX2luZm8gc2hhcnBfbHMwMzdfbW9kZXNbXSA9IHsKQEAgLTEzNCwxMyArMTQ1LDExIEBACiAJLm1vZGVzCQkJPSBzaGFycF9sczAzN19tb2RlcywKIAkubnVtX21vZGVzCQk9IDIsCiAJLmxjZF9jb25uCQk9IExDRF9DT0xPUl9URlRfMTZCUFAgfCBMQ0RfUENMS19FREdFX0ZBTEwsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IHp5bG9uaXRlX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCB6eWxvbml0ZV9pbml0X2xjZCh2b2lkKQogewotCS8qIGJhY2tsaWdodCBHUElPOiBvdXRwdXQsIGRlZmF1bHQgb24gKi8KLQlncGlvX2RpcmVjdGlvbl9vdXRwdXQoZ3Bpb19iYWNrbGlnaHQsIDEpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmenlsb25pdGVfYmFja2xpZ2h0X2RldmljZSk7CiAKIAlpZiAobGNkX2lkICYgMHgyMCkgewogCQlzZXRfcHhhX2ZiX2luZm8oJnp5bG9uaXRlX3NoYXJwX2xjZF9pbmZvKTsKQEAgLTMyOSw2ICszMzgsNyBAQAogCXNtYzkxeF9yZXNvdXJjZXNbMV0uZW5kICAgPSBncGlvX3RvX2lycShncGlvX2V0aF9pcnEpOwogCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmc21jOTF4X2RldmljZSk7CiAKKwlweGFfc2V0X2FjOTdfaW5mbyhOVUxMKTsKIAl6eWxvbml0ZV9pbml0X2xjZCgpOwogCXp5bG9uaXRlX2luaXRfbW1jKCk7CiAJenlsb25pdGVfaW5pdF9rZXlwYWQoKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlX3B4YTMwMC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzAwLmMKaW5kZXggMzI0ZmI5ZC4uNmY3YWU5NyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzAwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzAwLmMKQEAgLTUwLDYgKzUwLDcgQEAKIAlHUElPNzVfTENEX0JJQVMsCiAJR1BJTzc2X0xDRF9WU1lOQywKIAlHUElPMTI3X0xDRF9DU19OLAorCUdQSU8yMF9QV00zX09VVCwJLyogYmFja2xpZ2h0ICovCiAKIAkvKiBCVFVBUlQgKi8KIAlHUElPMTExX1VBUlQyX1JUUywKQEAgLTIwMCw5ICsyMDEsNiBAQAogCQkvKiBkZXRlY3QgTENEIHBhbmVsICovCiAJCXp5bG9uaXRlX2RldGVjdF9sY2RfcGFuZWwoKTsKIAotCQkvKiBHUElPIHBpbiBhc3NpZ25tZW50ICovCi0JCWdwaW9fYmFja2xpZ2h0ID0gbWZwX3RvX2dwaW8oTUZQX1BJTl9HUElPMjApOwotCiAJCS8qIE1NQyBjYXJkIGRldGVjdCAmIHdyaXRlIHByb3RlY3QgZm9yIGNvbnRyb2xsZXIgMCAqLwogCQl6eWxvbml0ZV9tbWNfc2xvdFswXS5ncGlvX2NkICA9IEVYVF9HUElPKDApOwogCQl6eWxvbml0ZV9tbWNfc2xvdFswXS5ncGlvX3dwICA9IEVYVF9HUElPKDIpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzIwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMjAuYwppbmRleCAxOTNkMDc5Li4yYjRmYzM0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMjAuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMjAuYwpAQCAtNDksNiArNDksNyBAQAogCUdQSU8xNV8yX0xDRF9MQ0xLLAogCUdQSU8xNl8yX0xDRF9QQ0xLLAogCUdQSU8xN18yX0xDRF9CSUFTLAorCUdQSU8xNF9QV00zX09VVCwJLyogYmFja2xpZ2h0ICovCiAKIAkvKiBGRlVBUlQgKi8KIAlHUElPNDFfVUFSVDFfUlhEIHwgTUZQX0xQTV9FREdFX0ZBTEwsCkBAIC0xODcsNyArMTg4LDYgQEAKIAkJenlsb25pdGVfZGV0ZWN0X2xjZF9wYW5lbCgpOwogCiAJCS8qIEdQSU8gcGluIGFzc2lnbm1lbnQgKi8KLQkJZ3Bpb19iYWNrbGlnaHQJPSBtZnBfdG9fZ3BpbyhNRlBfUElOX0dQSU8xNCk7CiAJCWdwaW9fZXRoX2lycQk9IG1mcF90b19ncGlvKE1GUF9QSU5fR1BJTzkpOwogCiAJCS8qIE1NQyBjYXJkIGRldGVjdCAmIHdyaXRlIHByb3RlY3QgZm9yIGNvbnRyb2xsZXIgMCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvS2NvbmZpZwppbmRleCBjZDNkYzA4Li45OWZkYzczIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvS2NvbmZpZwpAQCAtMzcsNiArMzcsMTcgQEAKIAloZWxwCiAJICBDbG9jayBjb2RlIGZvciB0aGUgUzNDMjQxMCwgYW5kIHNpbWlsYXIgcHJvY2Vzc29ycwogCitjb25maWcgU0lNVEVDX05PUgorCWJvb2wKKwloZWxwCisJICBJbnRlcm5hbCBub2RlIHRvIHNwZWNpZnkgbWFjaGluZSBoYXMgc2ltdGVjIE5PUiBtYXBwaW5nCisKK2NvbmZpZyBNQUNIX0JBU1RfSURFCisJYm9vbAorCXNlbGVjdCBIQVZFX1BBVEFfUExBVEZPUk0KKwloZWxwCisJICBJbnRlcm5hbCBub2RlIGZvciBtYWNoaW5lcyB3aXRoIGFuIEJBU1Qgc3R5bGUgSURFCisJICBpbnRlcmZhY2UKIAogbWVudSAiUzNDMjQxMCBNYWNoaW5lcyIKIApAQCAtNjEsMTUgKzcyLDE4IEBACiAJICBJbnRlcm5hbCBub2RlIGZvciBIMTk0MCBhbmQgcmVsYXRlZCBQTQogCiBjb25maWcgTUFDSF9OMzAKLQlib29sICJBY2VyIE4zMCIKKwlib29sICJBY2VyIE4zMCBmYW1pbHkiCiAJc2VsZWN0IENQVV9TM0MyNDEwCiAJaGVscAotCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBBY2VyIE4zMAorCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCBzdXBwdCBmb3IgdGhlIEFjZXIgTjMwLCBBY2VyIE4zNSwKKwkgIE5hdm1hbiBQaU41NzAsIFlha3VtbyBBbHBoYVggb3IgQWlyaXMgTkMwNSBQREFzLgogCiBjb25maWcgQVJDSF9CQVNUCiAJYm9vbCAiU2ltdGVjIEVsZWN0cm9uaWNzIEJBU1QgKEVCMjQxMElUWCkiCiAJc2VsZWN0IENQVV9TM0MyNDEwCiAJc2VsZWN0IFBNX1NJTVRFQyBpZiBQTQorCXNlbGVjdCBTSU1URUNfTk9SCisJc2VsZWN0IE1BQ0hfQkFTVF9JREUKIAlzZWxlY3QgSVNBCiAJaGVscAogCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBTaW10ZWMgRWxlY3Ryb25pY3MgRUIyNDEwSVRYCkBAIC0xMDcsNiArMTIxLDggQEAKIGNvbmZpZyBNQUNIX1ZSMTAwMAogCWJvb2wgIlRob3Jjb20gVlIxMDAwIgogCXNlbGVjdCBQTV9TSU1URUMgaWYgUE0KKwlzZWxlY3QgU0lNVEVDX05PUgorCXNlbGVjdCBNQUNIX0JBU1RfSURFCiAJc2VsZWN0IENQVV9TM0MyNDEwCiAJaGVscAogCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBUaG9yY29tIFZSMTAwMCBib2FyZC4KQEAgLTExOCw0ICsxMzQsMyBAQAogCSAgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgQXJtem9uZSBRVDI0MTAKIAogZW5kbWVudQotCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvTWFrZWZpbGUKaW5kZXggY2FiYzEzYy4uMDBmMzFmOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9NYWtlZmlsZQpAQCAtMzAsMyArMzAsMTEgQEAKIG9iai0kKENPTkZJR19NQUNIX1RDVF9IQU1NRVIpCSs9IG1hY2gtdGN0X2hhbW1lci5vCiBvYmotJChDT05GSUdfTUFDSF9WUjEwMDApCSs9IG1hY2gtdnIxMDAwLm8gdXNiLXNpbXRlYy5vCiBvYmotJChDT05GSUdfTUFDSF9RVDI0MTApCSs9IG1hY2gtcXQyNDEwLm8KKworIyBDb21tb24gYml0cyBvZiBtYWNoaW5lIHN1cHBvcnQKKworb2JqLSQoQ09ORklHX1NJTVRFQ19OT1IpCSs9IG5vci1zaW10ZWMubworCisjIG1hY2hpbmUgYWRkaXRpb25zCisKK29iai0kKENPTkZJR19NQUNIX0JBU1RfSURFKQkrPSBiYXN0LWlkZS5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvYmFzdC1pZGUuYyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9iYXN0LWlkZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmOTVmZTMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvYmFzdC1pZGUuYwpAQCAtMCwwICsxLDExMiBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL2Jhc3QtaWRlLmMKKyAqCisgKiBDb3B5cmlnaHQgMjAwNyBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly93d3cuc2ltdGVjLmNvLnVrL3Byb2R1Y3RzL0VCMjQxMElUWC8KKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKglCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKworI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2Jhc3QtbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYmFzdC1pcnEuaD4KKworLyogSURFIHBvcnRzICovCisKK3N0YXRpYyBzdHJ1Y3QgcGF0YV9wbGF0Zm9ybV9pbmZvIGJhc3RfaWRlX3BsYXRkYXRhID0geworCS5pb3BvcnRfc2hpZnQJPSA1LAorfTsKKworI2RlZmluZSBJREVfQ1MJUzNDMjQxMF9DUzUKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBiYXN0X2lkZTBfcmVzb3VyY2VbXSA9IHsKKwlbMF0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFUFJJLAorCQkuZW5kCT0gSURFX0NTICsgQkFTVF9QQV9JREVQUkkgKyAoOCAqIDB4MjApIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFUFJJQVVYICsgKDYgKiAweDIwKSAsCisJCS5lbmQJPSBJREVfQ1MgKyBCQVNUX1BBX0lERVBSSUFVWCArICg3ICogMHgyMCkgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsyXQk9IHsKKwkJLnN0YXJ0CT0gSVJRX0lERTAsCisJCS5lbmQJPSBJUlFfSURFMCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGJhc3RfZGV2aWNlX2lkZTAgPSB7CisJLm5hbWUJCT0gInBhdGFfcGxhdGZvcm0iLAorCS5pZAkJPSAwLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShiYXN0X2lkZTBfcmVzb3VyY2UpLAorCS5yZXNvdXJjZQk9IGJhc3RfaWRlMF9yZXNvdXJjZSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYmFzdF9pZGVfcGxhdGRhdGEsCisJCS5jb2hlcmVudF9kbWFfbWFzayA9IH4wLAorCX0KKworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBiYXN0X2lkZTFfcmVzb3VyY2VbXSA9IHsKKwlbMF0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFU0VDLAorCQkuZW5kCT0gSURFX0NTICsgQkFTVF9QQV9JREVTRUMgKyAoOCAqIDB4MjApIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFU0VDQVVYICsgKDYgKiAweDIwKSwKKwkJLmVuZAk9IElERV9DUyArIEJBU1RfUEFfSURFU0VDQVVYICsgKDcgKiAweDIwKSAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzJdCT0geworCQkuc3RhcnQJPSBJUlFfSURFMSwKKwkJLmVuZAk9IElSUV9JREUxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYmFzdF9kZXZpY2VfaWRlMSA9IHsKKwkubmFtZQkJPSAicGF0YV9wbGF0Zm9ybSIsCisJLmlkCQk9IDEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGJhc3RfaWRlMV9yZXNvdXJjZSksCisJLnJlc291cmNlCT0gYmFzdF9pZGUxX3Jlc291cmNlLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YSA9ICZiYXN0X2lkZV9wbGF0ZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gfjAsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmJhc3RfaWRlX2RldmljZXNbXSBfX2luaXRkYXRhID0geworCSZiYXN0X2RldmljZV9pZGUwLAorCSZiYXN0X2RldmljZV9pZGUxLAorfTsKKworc3RhdGljIF9faW5pdCBpbnQgYmFzdF9pZGVfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX2Jhc3QoKSB8fCBtYWNoaW5lX2lzX3ZyMTAwMCgpKQorCQlyZXR1cm4gcGxhdGZvcm1fYWRkX2RldmljZXMoYmFzdF9pZGVfZGV2aWNlcywKKwkJCQkJICAgIEFSUkFZX1NJWkUoYmFzdF9pZGVfZGV2aWNlcykpOworCisJcmV0dXJuIDA7Cit9CisKK2ZzX2luaXRjYWxsKGJhc3RfaWRlX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtYmFzdC5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtYmFzdC5jCmluZGV4IDI3ZjYzZDUuLjk2NWYyNzEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLWJhc3QuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1iYXN0LmMKQEAgLTEsNiArMSw2IEBACiAvKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1iYXN0LmMKICAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCiAgKiAgIEJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCiAgKiBodHRwOi8vd3d3LnNpbXRlYy5jby51ay9wcm9kdWN0cy9FQjI0MTBJVFgvCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9kbTkwMDAuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KIAogI2luY2x1ZGUgPG5ldC9heDg4Nzk2Lmg+CiAKQEAgLTU2LDcgKzU4LDkgQEAKICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2Nsb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9kZXZzLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jcHUuaD4KKwogI2luY2x1ZGUgInVzYi1zaW10ZWMuaCIKKyNpbmNsdWRlICJub3Itc2ltdGVjLmgiCiAKICNkZWZpbmUgQ09QWVJJR0hUICIsIChjKSAyMDA0LTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzIgogCkBAIC0xMzQsMzcgKzEzOCwyMSBAQAogICB7IFZBX0MyKEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTMihCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DMihCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzIoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzIoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1MyKEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MyKEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTMyhCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMihCQVNUX1ZBX0lERVNFQyksICBQQV9DUzMoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiAKICAgLyogc2xvdywgd29yZCAqLwogICB7IFZBX0MzKEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTMyhCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DMyhCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzMoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzMoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1MzKEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MzKEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTMyhCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhCQVNUX1ZBX0lERVNFQyksICBQQV9DUzMoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzMoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzMoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiAKICAgLyogZmFzdCwgYnl0ZSAqLwogICB7IFZBX0M0KEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTNChCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DNChCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzQoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzQoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1M0KEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M0KEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTNShCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNChCQVNUX1ZBX0lERVNFQyksICBQQV9DUzUoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiAKICAgLyogZmFzdCwgd29yZCAqLwogICB7IFZBX0M1KEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTNShCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DNShCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzUoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzUoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1M1KEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M1KEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTNShCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNShCQVNUX1ZBX0lERVNFQyksICBQQV9DUzUoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiB9OwogCiAjZGVmaW5lIFVDT04gUzNDMjQxMF9VQ09OX0RFRkFVTFQgfCBTM0MyNDEwX1VDT05fVUNMSwpAQCAtMjE4LDIzICsyMDYsNiBAQAogCX0KIH07CiAKLS8qIE5PUiBGbGFzaCBvbiBCQVNUIGJvYXJkICovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYmFzdF9ub3JfcmVzb3VyY2VbXSA9IHsKLQlbMF0gPSB7Ci0JCS5zdGFydCA9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwLAotCQkuZW5kICAgPSBTM0MyNDEwX0NTMSArIDB4NDAwMDAwMCArICgzMioxMDI0KjEwMjQpIC0gMSwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCi0JfQotfTsKLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYmFzdF9kZXZpY2Vfbm9yID0gewotCS5uYW1lCQk9ICJiYXN0LW5vciIsCi0JLmlkCQk9IC0xLAotCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShiYXN0X25vcl9yZXNvdXJjZSksCi0JLnJlc291cmNlCT0gYmFzdF9ub3JfcmVzb3VyY2UsCi19OwotCiAvKiBOQU5EIEZsYXNoIG9uIEJBU1QgYm9hcmQgKi8KIAogI2lmZGVmIENPTkZJR19QTQpAQCAtMzc0LDcgKzM0NSw3IEBACiAJWzJdID0gewogCQkuc3RhcnQgPSBJUlFfRE05MDAwLAogCQkuZW5kICAgPSBJUlFfRE05MDAwLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElSUUZfVFJJR0dFUl9ISUdILAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElPUkVTT1VSQ0VfSVJRX0hJR0hMRVZFTCwKIAl9CiAKIH07CkBAIC01NjQsNiArNTM1LDE4IEBACiAJLmRlZmF1bHRfZGlzcGxheSA9IDEsCiB9OwogCisvKiBJMkMgZGV2aWNlcyBmaXR0ZWQuICovCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gYmFzdF9pMmNfZGV2c1tdIF9faW5pdGRhdGEgPSB7CisJeworCQlJMkNfQk9BUkRfSU5GTygidGx2MzIwYWljMjMiLCAweDFhKSwKKwl9LCB7CisJCUkyQ19CT0FSRF9JTkZPKCJzaW10ZWMtcG11IiwgMHg2YiksCisJfSwgeworCQlJMkNfQk9BUkRfSU5GTygiY2g3MDEzIiwgMHg3NSksCisJfSwKK307CisKIC8qIFN0YW5kYXJkIEJBU1QgZGV2aWNlcyAqLwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYmFzdF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKQEAgLTU3Myw3ICs1NTYsNiBAQAogCSZzM2NfZGV2aWNlX2kyYywKICAJJnMzY19kZXZpY2VfcnRjLAogCSZzM2NfZGV2aWNlX25hbmQsCi0JJmJhc3RfZGV2aWNlX25vciwKIAkmYmFzdF9kZXZpY2VfZG05aywKIAkmYmFzdF9kZXZpY2VfYXNpeCwKIAkmYmFzdF9kZXZpY2VfYXhwcCwKQEAgLTYyMiw2ICs2MDQsMTEgQEAKIAogCXMzYzI0eHhfZmJfc2V0X3BsYXRkYXRhKCZiYXN0X2ZiX2luZm8pOwogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGJhc3RfZGV2aWNlcywgQVJSQVlfU0laRShiYXN0X2RldmljZXMpKTsKKworCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsIGJhc3RfaTJjX2RldnMsCisJCQkJQVJSQVlfU0laRShiYXN0X2kyY19kZXZzKSk7CisKKwlub3Jfc2ltdGVjX2luaXQoKTsKIH0KIAogTUFDSElORV9TVEFSVChCQVNULCAiU2ltdGVjLUJBU1QiKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtbjMwLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYwppbmRleCA2MjFmNTQ4Li40M2MyZTkxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYwpAQCAtMSw5ICsxLDEwIEBACi0vKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYworLyogTWFjaGluZSBzcGVjaWZpYyBjb2RlIGZvciB0aGUgQWNlciBuMzAsIEFjZXIgTjM1LCBOYXZtYW4gUGlOIDU3MCwKKyAqIFlha3VtbyBBbHBoYVggYW5kIEFpcmlzIE5DMDUgUERBcy4KICAqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKICAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDUgQ2hyaXN0ZXIgV2VpbmlnZWwgPGNocmlzdGVyQHdlaW5pZ2VsLnNlPgorICogQ29weXJpZ2h0IChjKSAyMDA1LTIwMDggQ2hyaXN0ZXIgV2VpbmlnZWwgPGNocmlzdGVyQHdlaW5pZ2VsLnNlPgogICoKICAqIFRoZXJlIGlzIGEgd2lraSB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG4zMCBwb3J0IGF0CiAgKiBodHRwOi8vaGFuZGhlbGRzLm9yZy9tb2luL21vaW4uY2dpL0FjZXJOMzBEb2N1bWVudGF0aW9uIC4KQEAgLTExLDM2ICsxMiw0MiBAQAogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCiAgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSovCisgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0jaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KLSNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CiAKLSNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+Ci0jaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+Ci0jaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KIAotI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2ZiLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbGVkcy1ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1ncGlvLmg+Ci0jaW5jbHVkZSA8YXNtL3BsYXQtczNjL2lpYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtbGNkLmg+CiAKLSNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3MzYzI0MTAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvaWljLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3Mtc2VyaWFsLmg+CisKICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2Nsb2NrLmg+Ci0jaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9kZXZzLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jcHUuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3MzYzI0MTAuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3VkYy5oPgogCiBzdGF0aWMgc3RydWN0IG1hcF9kZXNjIG4zMF9pb2Rlc2NbXSBfX2luaXRkYXRhID0gewogCS8qIG5vdGhpbmcgaGVyZSB5ZXQgKi8KQEAgLTY0LDcgKzcxLDggQEAKIAkJLnVsY29uCSAgICAgPSAweDQzLAogCQkudWZjb24JICAgICA9IDB4NTEsCiAJfSwKLQkvKiBUaGUgQmx1ZVRvb3RoIGNvbnRyb2xsZXIgaXMgY29ubmVjdGVkIHRvIHBvcnQgMiAqLworCS8qIE9uIHRoZSBOMzAgdGhlIGJsdWV0b290aCBjb250cm9sbGVyIGlzIGNvbm5lY3RlZCBoZXJlLgorCSAqIE9uIHRoZSBOMzUgYW5kIHZhcmlhbnRzIHRoZSBHUFMgcmVjZWl2ZXIgaXMgY29ubmVjdGVkIGhlcmUuICovCiAJWzJdID0gewogCQkuaHdwb3J0CSAgICAgPSAyLAogCQkuZmxhZ3MJICAgICA9IDAsCkBAIC03NCwxMyArODIsMjYwIEBACiAJfSwKIH07CiAKK3N0YXRpYyB2b2lkIG4zMF91ZGNfcHVsbHVwKGVudW0gczNjMjQxMF91ZGNfY21kX2UgY21kKQoreworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTM0MyNDEwX1VEQ19QX0VOQUJMRSA6CisJCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEIzLCAxKTsKKwkJYnJlYWs7CisJY2FzZSBTM0MyNDEwX1VEQ19QX0RJU0FCTEUgOgorCQlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BCMywgMCk7CisJCWJyZWFrOworCWNhc2UgUzNDMjQxMF9VRENfUF9SRVNFVCA6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3VkY19tYWNoX2luZm8gbjMwX3VkY19jZmcgX19pbml0ZGF0YSA9IHsKKwkudWRjX2NvbW1hbmQJCT0gbjMwX3VkY19wdWxsdXAsCisJLnZidXNfcGluCQk9IFMzQzI0MTBfR1BHMSwKKwkudmJ1c19waW5faW52ZXJ0ZWQJPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIG4zMF9idXR0b25zW10gPSB7CisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjAsCisJCS5jb2RlCQk9IEtFWV9QT1dFUiwKKwkJLmRlc2MJCT0gIlBvd2VyIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRzksCisJCS5jb2RlCQk9IEtFWV9VUCwKKwkJLmRlc2MJCT0gIlRodW1id2hlZWwgVXAiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHOCwKKwkJLmNvZGUJCT0gS0VZX0RPV04sCisJCS5kZXNjCQk9ICJUaHVtYndoZWVsIERvd24iLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHNywKKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZGVzYwkJPSAiVGh1bWJ3aGVlbCBQcmVzcyIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY3LAorCQkuY29kZQkJPSBLRVlfSE9NRVBBR0UsCisJCS5kZXNjCQk9ICJIb21lIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjYsCisJCS5jb2RlCQk9IEtFWV9DQUxFTkRBUiwKKwkJLmRlc2MJCT0gIkNhbGVuZGFyIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjUsCisJCS5jb2RlCQk9IEtFWV9BRERSRVNTQk9PSywKKwkJLmRlc2MJCT0gIkNvbnRhY3RzIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjQsCisJCS5jb2RlCQk9IEtFWV9NQUlMLAorCQkuZGVzYwkJPSAiTWFpbCIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBuMzBfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBuMzBfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKG4zMF9idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG4zMF9idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjMwX2J1dHRvbl9kYXRhLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBuMzVfYnV0dG9uc1tdID0geworCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEYwLAorCQkuY29kZQkJPSBLRVlfUE9XRVIsCisJCS5kZXNjCQk9ICJQb3dlciIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEc5LAorCQkuY29kZQkJPSBLRVlfVVAsCisJCS5kZXNjCQk9ICJKb3lzdGljayBVcCIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEc4LAorCQkuY29kZQkJPSBLRVlfRE9XTiwKKwkJLmRlc2MJCT0gIkpveXN0aWNrIERvd24iLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHNiwKKwkJLmNvZGUJCT0gS0VZX0RPV04sCisJCS5kZXNjCQk9ICJKb3lzdGljayBMZWZ0IiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRzUsCisJCS5jb2RlCQk9IEtFWV9ET1dOLAorCQkuZGVzYwkJPSAiSm95c3RpY2sgUmlnaHQiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHNywKKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZGVzYwkJPSAiSm95c3RpY2sgUHJlc3MiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BGNywKKwkJLmNvZGUJCT0gS0VZX0hPTUVQQUdFLAorCQkuZGVzYwkJPSAiSG9tZSIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY2LAorCQkuY29kZQkJPSBLRVlfQ0FMRU5EQVIsCisJCS5kZXNjCQk9ICJDYWxlbmRhciIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY1LAorCQkuY29kZQkJPSBLRVlfQUREUkVTU0JPT0ssCisJCS5kZXNjCQk9ICJDb250YWN0cyIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY0LAorCQkuY29kZQkJPSBLRVlfTUFJTCwKKwkJLmRlc2MJCT0gIk1haWwiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BGMywKKwkJLmNvZGUJCT0gU1dfUkFESU8sCisJCS5kZXNjCQk9ICJHUFMgQW50ZW5uYSIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEcyLAorCQkuY29kZQkJPSBTV19IRUFEUEhPTkVfSU5TRVJULAorCQkuZGVzYwkJPSAiSGVhZHBob25lIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIG4zNV9idXR0b25fZGF0YSA9IHsKKwkuYnV0dG9ucwk9IG4zNV9idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUobjM1X2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbjM1X2J1dHRvbl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gImdwaW8ta2V5cyIsCisJLmlkCQk9IC0xLAorCS5udW1fcmVzb3VyY2VzCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjM1X2J1dHRvbl9kYXRhLAorCX0KK307CisKKy8qIFRoaXMgaXMgdGhlIGJsdWV0b290aCBMRUQgb24gdGhlIGRldmljZS4gKi8KK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF9sZWRfcGxhdGRhdGEgbjMwX2JsdWVfbGVkX3BkYXRhID0geworCS5uYW1lCQk9ICJibHVlX2xlZCIsCisJLmdwaW8JCT0gUzNDMjQxMF9HUEc2LAorCS5kZWZfdHJpZ2dlcgk9ICIiLAorfTsKKworLyogVGhpcyBMRUQgaXMgZHJpdmVuIGJ5IHRoZSBiYXR0ZXJ5IG1pY3JvY29udHJvbGxlciwgYW5kIGlzIGJsaW5raW5nCisgKiByZWQsIGJsaW5raW5nIGdyZWVuIG9yIHNvbGlkIGdyZWVuIHdoZW4gdGhlIGJhdHRlcnkgaXMgbG93LAorICogY2hhcmdpbmcgb3IgZnVsbCByZXNwZWN0aXZlbHkuICBCeSBkcml2aW5nIEdQRDkgbG93LCBpdCdzIHBvc3NpYmxlCisgKiB0byBmb3JjZSB0aGUgTEVEIHRvIGJsaW5rIHJlZCwgc28gY2FsbCB0aGF0IHdhcm5pbmcgTEVELiAgKi8KK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF9sZWRfcGxhdGRhdGEgbjMwX3dhcm5pbmdfbGVkX3BkYXRhID0geworCS5uYW1lCQk9ICJ3YXJuaW5nX2xlZCIsCisJLmZsYWdzICAgICAgICAgID0gUzNDMjRYWF9MRURGX0FDVExPVywKKwkuZ3BpbwkJPSBTM0MyNDEwX0dQRDksCisJLmRlZl90cmlnZ2VyCT0gIiIsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBuMzBfYmx1ZV9sZWQgPSB7CisJLm5hbWUJCT0gInMzYzI0eHhfbGVkIiwKKwkuaWQJCT0gMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjMwX2JsdWVfbGVkX3BkYXRhLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBuMzBfd2FybmluZ19sZWQgPSB7CisJLm5hbWUJCT0gInMzYzI0eHhfbGVkIiwKKwkuaWQJCT0gMiwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjMwX3dhcm5pbmdfbGVkX3BkYXRhLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBmYl9kaXNwbGF5IG4zMF9kaXNwbGF5IF9faW5pdGRhdGEgPSB7CisJLnR5cGUJCT0gUzNDMjQxMF9MQ0RDT04xX1RGVCwKKwkud2lkdGgJCT0gMjQwLAorCS5oZWlnaHQJCT0gMzIwLAorCS5waXhjbG9jawk9IDE3MDAwMCwKKworCS54cmVzCQk9IDI0MCwKKwkueXJlcwkJPSAzMjAsCisJLmJwcAkJPSAxNiwKKwkubGVmdF9tYXJnaW4JPSAzLAorCS5yaWdodF9tYXJnaW4JPSA0MCwKKwkuaHN5bmNfbGVuCT0gNDAsCisJLnVwcGVyX21hcmdpbgk9IDIsCisJLmxvd2VyX21hcmdpbgk9IDMsCisJLnZzeW5jX2xlbgk9IDIsCisKKwkubGNkY29uNSA9IFMzQzI0MTBfTENEQ09ONV9JTlZWTElORSB8IFMzQzI0MTBfTENEQ09ONV9JTlZWRlJBTUUsCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBmYl9tYWNoX2luZm8gbjMwX2ZiX2luZm8gX19pbml0ZGF0YSA9IHsKKwkuZGlzcGxheXMJPSAmbjMwX2Rpc3BsYXksCisJLm51bV9kaXNwbGF5cwk9IDEsCisJLmRlZmF1bHRfZGlzcGxheSA9IDAsCisJLmxwY3NlbAkJPSAweDA2LAorfTsKKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm4zMF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmczNjX2RldmljZV9sY2QsCisJJnMzY19kZXZpY2Vfd2R0LAorCSZzM2NfZGV2aWNlX2kyYywKKwkmczNjX2RldmljZV9paXMsCiAJJnMzY19kZXZpY2VfdXNiLAorCSZzM2NfZGV2aWNlX3VzYmdhZGdldCwKKwkmbjMwX2J1dHRvbl9kZXZpY2UsCisJJm4zMF9ibHVlX2xlZCwKKwkmbjMwX3dhcm5pbmdfbGVkLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm4zNV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmczNjX2RldmljZV9sY2QsCiAJJnMzY19kZXZpY2Vfd2R0LAogCSZzM2NfZGV2aWNlX2kyYywKIAkmczNjX2RldmljZV9paXMsCiAJJnMzY19kZXZpY2VfdXNiZ2FkZ2V0LAorCSZuMzVfYnV0dG9uX2RldmljZSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgczNjMjQxMF9wbGF0Zm9ybV9pMmMgbjMwX2kyY2NmZyA9IHsKQEAgLTkwLDkgKzM0NSwxNDggQEAKIAkubWF4X2ZyZXEJPSAxMCoxMDAwLAogfTsKIAorLyogTG90cyBvZiBoYXJkY29kZWQgc3R1ZmYsIGJ1dCBpdCBzZXRzIHVwIHRoZSBoYXJkd2FyZSBpbiBhIHVzZWZ1bAorICogc3RhdGUgc28gdGhhdCB3ZSBjYW4gYm9vdCBMaW51eCBkaXJlY3RseSBmcm9tIGZsYXNoLiAqLworc3RhdGljIHZvaWQgX19pbml0IG4zMF9od2luaXQodm9pZCkKK3sKKwkvKiBHUEEwLTExIHNwZWNpYWwgZnVuY3Rpb25zIC0tIHVua25vd24gd2hhdCB0aGV5IGRvCisJICogR1BBMTIgTjMwIHNwZWNpYWwgZnVuY3Rpb24gLS0gdW5rbm93biB3aGF0IGl0IGRvZXMKKwkgKiAgICAgICBOMzUvUGlOIG91dHB1dCAtLSB1bmtub3duIHdoYXQgaXQgZG9lcworCSAqCisJICogQTEyIGlzIG5HQ1MxIG9uIHRoZSBOMzAgYW5kIGFuIG91dHB1dCBvbiB0aGUgTjM1L1BpTi4gIEkKKwkgKiBkb24ndCB0aGluayBpdCBkb2VzIGFueXRoaW5nIHVzZWZ1bCBvbiB0aGUgTjMwLCBzbyBJIG91Z2h0CisJICogdG8gbWFrZSBpdCBhbiBvdXRwdXQgdGhlcmUgdG9vIHNpbmNlIGl0IGFsd2F5cyBkcml2ZW4gdG8gMAorCSAqIGFzIGZhciBhcyBJIGNhbiB0ZWxsLiAqLworCWlmIChtYWNoaW5lX2lzX24zMCgpKQorCQlfX3Jhd193cml0ZWwoMHgwMDdmZmZmZiwgUzNDMjQxMF9HUEFDT04pOworCWlmIChtYWNoaW5lX2lzX24zNSgpKQorCQlfX3Jhd193cml0ZWwoMHgwMDdmZWZmZiwgUzNDMjQxMF9HUEFDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwMDAwLCBTM0MyNDEwX0dQQURBVCk7CisKKwkvKiBHUEIwIFRPVVQwIGJhY2tsaWdodCBsZXZlbAorCSAqIEdQQjEgb3V0cHV0IDE9YmFja2xpZ2h0IG9uCisJICogR1BCMiBvdXRwdXQgSXJEQSBlbmFibGUgMD10cmFuc2NlaXZlciBlbmFibGVkLCAxPWRpc2FibGVkCisJICogR1BCMyBvdXRwdXQgVVNCIEQrIHB1bGwgdXAgMD1kaXNhYmxlZCwgMT1lbmFibGVkCisJICogR1BCNCBOMzAgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiAgICAgIE4zMC9QaU4gR1BTIGNvbnRyb2wgMD1HUFMgZW5hYmxlZCwgMT1HUFMgZGlzYWJsZWQKKwkgKiBHUEI1IG91dHB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BCNiBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BCNyBvdXRwdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQQjggb3V0cHV0IC0tIHByb2JhYmx5IExDRCBkcml2ZXIgZW5hYmxlCisJICogR1BCOSBvdXRwdXQgLS0gcHJvYmFibHkgTENEIFZTWU5DIGRyaXZlciBlbmFibGUKKwkgKiBHUEIxMCBvdXRwdXQgLS0gcHJvYmFibHkgTENEIEhTWU5DIGRyaXZlciBlbmFibGUKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHgwMDE1NDU1NiwgUzNDMjQxMF9HUEJDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwNzUwLCBTM0MyNDEwX0dQQkRBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMDAwNzMsIFMzQzI0MTBfR1BCVVApOworCisJLyogR1BDMCBpbnB1dCBSUzIzMiBEQ0QvRFNSL1JJCisJICogR1BDMSBMQ0QKKwkgKiBHUEMyIG91dHB1dCBSUzIzMiBEVFI/CisJICogR1BDMyBpbnB1dCBSUzIzMiBEQ0QvRFNSL1JJCisJICogR1BDNCBMQ0QKKwkgKiBHUEM1IG91dHB1dCAwPU5BTkQgd3JpdGUgZW5hYmxlZCwgMT1OQU5EIHdyaXRlIHByb3RlY3QKKwkgKiBHUEM2IGlucHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiBHUEM3IGlucHV0IGNoYXJnZXIgc3RhdHVzIDA9Y2hhcmdlciBjb25uZWN0ZWQKKwkgKiAgICAgIHRoaXMgaW5wdXQgY2FuIGJlIHRyaWdnZXJlZCBieSBwb3dlciBvbiB0aGUgVVNCIGRldmljZQorCSAqICAgICAgcG9ydCB0b28sIGJ1dCB3aWxsIGdvIGJhY2sgdG8gZGlzY29ubmVjdGVkIHNvb24gYWZ0ZXIuCisJICogR1BDOCBOMzAvTjM1IG91dHB1dCAtLSB1bmtub3duIGZ1bmN0aW9uLCBhbHdheXMgZHJpdmVuIHRvIDEKKwkgKiAgICAgIFBpTiBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uLCBhbHdheXMgcmVhZCBhcyAxCisJICogICAgICBNYWtlIGl0IGFuIGlucHV0IHdpdGggYSBwdWxsIHVwIGZvciBhbGwgbW9kZWxzLgorCSAqIEdQQzktMTUgTENECisJICovCisJX19yYXdfd3JpdGVsKDB4YWFhODA2MTgsIFMzQzI0MTBfR1BDQ09OKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDE0YywgUzNDMjQxMF9HUENEQVQpOworCV9fcmF3X3dyaXRlbCgweDAwMDBmZWYyLCBTM0MyNDEwX0dQQ1VQKTsKKworCS8qIEdQRDAgaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQRDEtRDcgTENECisJICogR1BEOCBOMzAgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiAgICAgIE4zNS9QaU4gb3V0cHV0IDE9R1BTIExFRCBvbgorCSAqIEdQRDkgb3V0cHV0IDA9cG93ZXIgbGVkIGJsaW5rcyByZWQsIDE9bm9ybWFsIHBvd2VyIGxlZCBmdW5jdGlvbgorCSAqIEdQRDEwIG91dHB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BEMTEtMTUgTENEIGRyaXZlcnMKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHhhYTk1YWFhNCwgUzNDMjQxMF9HUERDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwNjAxLCBTM0MyNDEwX0dQRERBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMGZiZmUsIFMzQzI0MTBfR1BEVVApOworCisJLyogR1BFMC00IEkyUyBhdWRpbyBidXMKKwkgKiBHUEU1LTEwIFNEL01NQyBidXMKKwkgKiBFMTEtMTMgb3V0cHV0cyAtLSB1bmtub3duIGZ1bmN0aW9uLCBwcm9iYWJseSBwb3dlciBtYW5hZ2VtZW50CisJICogRTE0LTE1IEkyQyBidXMgY29ubmVjdGVkIHRvIHRoZSBiYXR0ZXJ5IGNvbnRyb2xsZXIKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHhhNTZhYWFhYSwgUzNDMjQxMF9HUEVDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDBlZmM1LCBTM0MyNDEwX0dQRURBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMGY4MWYsIFMzQzI0MTBfR1BFVVApOworCisJLyogR1BGMCAgaW5wdXQgMD1wb3dlciBidXR0b24gcHJlc3NlZAorCSAqIEdQRjEgIGlucHV0IFNEL01NQyBzd2l0Y2ggMD1jYXJkIHByZXNlbnQKKwkgKiBHUEYyICBOMzAgMT1yZXNldCBidXR0b24gcHJlc3NlZCAoaW52ZXJ0ZWQgY29tcGFyZWQgdG8gdGhlIHJlc3QpCisJICoJIE4zNS9QaU4gMD1yZXNldCBidXR0b24gcHJlc3NlZAorCSAqIEdQRjMgIE4zMC9QaU4gaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqICAgICAgIE4zNSBpbnB1dCBHUFMgYW50ZW5uYSBwb3NpdGlvbiwgMD1hbnRlbm5hIGNsb3NlZCwgMT1vcGVuCisJICogR1BGNCAgaW5wdXQgMD1idXR0b24gNCBwcmVzc2VkCisJICogR1BGNSAgaW5wdXQgMD1idXR0b24gMyBwcmVzc2VkCisJICogR1BGNiAgaW5wdXQgMD1idXR0b24gMiBwcmVzc2VkCisJICogR1BGNyAgaW5wdXQgMD1idXR0b24gMSBwcmVzc2VkCisJICovCisJX19yYXdfd3JpdGVsKDB4MDAwMGFhYWEsIFMzQzI0MTBfR1BGQ09OKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDAwMCwgUzNDMjQxMF9HUEZEQVQpOworCV9fcmF3X3dyaXRlbCgweDAwMDAwMGZmLCBTM0MyNDEwX0dQRlVQKTsKKworCS8qIEdQRzAgIGlucHV0IFJTMjMyIERDRC9EU1IvUkkKKwkgKiBHUEcxICBpbnB1dCAxPVVTQiBnYWRnZXQgcG9ydCBoYXMgcG93ZXIgZnJvbSBhIGhvc3QKKwkgKiBHUEcyICBOMzAgaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqICAgICAgIE4zNS9QaU4gaW5wdXQgMD1oZWFkcGhvbmVzIHBsdWdnZWQgaW4sIDE9bm90IHBsdWdnZWQgaW4KKwkgKiBHUEczICBOMzAgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiAgICAgICBOMzUvUGlOIGlucHV0IHdpdGggdW5rbm93biBmdW5jdGlvbgorCSAqIEdQRzQgIE4zMCBvdXRwdXQgMD1NTUMgZW5hYmxlZCwgMT1NTUMgZGlzYWJsZWQKKwkgKiBHUEc1ICBOMzAgb3V0cHV0IDA9Qmx1ZVRvb3RoIGNoaXAgZGlzYWJsZWQsIDE9ZW5hYmxlZAorCSAqICAgICAgIE4zNS9QaU4gaW5wdXQgam95c3RpY2sgcmlnaHQKKwkgKiBHUEc2ICBOMzAgb3V0cHV0IDA9Ymx1ZSBsZWQgb24sIDE9b2ZmCisJICogICAgICAgTjM1L1BpTiBpbnB1dCBqb3lzdGljayBsZWZ0CisJICogR1BHNyAgaW5wdXQgMD10aHVtYndoZWVsIHByZXNzZWQKKwkgKiBHUEc4ICBpbnB1dCAwPXRodW1id2hlZWwgZG93bgorCSAqIEdQRzkgIGlucHV0IDA9dGh1bWJ3aGVlbCB1cAorCSAqIEdQRzEwIGlucHV0IFNEL01NQyB3cml0ZSBwcm90ZWN0IHN3aXRjaAorCSAqIEdQRzExIE4zMCBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogICAgICAgTjM1IG91dHB1dCAwPUdQUyBhbnRlbm5hIHBvd2VyZWQsIDE9bm90IHBvd2VyZWQKKwkgKiAgICAgICBQaU4gb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiBHUEcxMi0xNSB0b3VjaCBzY3JlZW4gZnVuY3Rpb25zCisJICoKKwkgKiBUaGUgcHVsbHVwcyBkaWZmZXIgYmV0d2VlbiB0aGUgbW9kZWxzLCBzbyBlbmFibGUgYWxsCisJICogcHVsbHVwcyB0aGF0IGFyZSBlbmFibGVkIG9uIGFueSBvZiB0aGUgbW9kZWxzLgorCSAqLworCWlmIChtYWNoaW5lX2lzX24zMCgpKQorCQlfX3Jhd193cml0ZWwoMHhmZjBhOTU2YSwgUzNDMjQxMF9HUEdDT04pOworCWlmIChtYWNoaW5lX2lzX24zNSgpKQorCQlfX3Jhd193cml0ZWwoMHhmZjRhYTkyYSwgUzNDMjQxMF9HUEdDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDBlODAwLCBTM0MyNDEwX0dQR0RBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMGY4NmYsIFMzQzI0MTBfR1BHVVApOworCisJLyogR1BIMC8xLzIvMyBSUzIzMiBzZXJpYWwgcG9ydAorCSAqIEdQSDQvNSBJckRBIHNlcmlhbCBwb3J0CisJICogR1BINi83ICBOMzAgQmx1ZVRvb3RoIHNlcmlhbCBwb3J0CisJICogICAgICAgICBOMzUvUGlOIEdQUyByZWNlaXZlcgorCSAqIEdQSDggaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQSDkgQ0xLT1VUMCBIQ0xLIC0tIHVua25vd24gdXNlCisJICogR1BIMTAgQ0xLT1VUMSBGQ0xLIC0tIHVua25vd24gdXNlCisJICoKKwkgKiBUaGUgcHVsbCB1cHMgZm9yIEg2L0g3IGFyZSBlbmFibGVkIG9uIE4zMCBidXQgbm90IG9uIHRoZQorCSAqIE4zNS9QaU4uICBJIHN1cHBvc2UgaXMgdXNlZnVsIGZvciBhIGJ1ZGdldCBtb2RlbCBvZiB0aGUgTjMwCisJICogd2l0aCBubyBibHVldG9vaC4gIEl0IGRvZXNuJ3QgaHVydCB0byBoYXZlIHRoZSBwdWxsIHVwcworCSAqIGVuYWJsZWQgb24gdGhlIE4zNSwgc28gbGVhdmUgdGhlbSBlbmFibGVkIGZvciBhbGwgbW9kZWxzLgorCSAqLworCV9fcmF3X3dyaXRlbCgweDAwMjhhYWFhLCBTM0MyNDEwX0dQSENPTik7CisJX19yYXdfd3JpdGVsKDB4MDAwMDA1ZWYsIFMzQzI0MTBfR1BIREFUKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDYzZiwgUzNDMjQxMF9HUEhVUCk7Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCBuMzBfbWFwX2lvKHZvaWQpCiB7CiAJczNjMjR4eF9pbml0X2lvKG4zMF9pb2Rlc2MsIEFSUkFZX1NJWkUobjMwX2lvZGVzYykpOworCW4zMF9od2luaXQoKTsKIAlzM2MyNHh4X2luaXRfY2xvY2tzKDApOwogCXMzYzI0eHhfaW5pdF91YXJ0cyhuMzBfdWFydGNmZ3MsIEFSUkFZX1NJWkUobjMwX3VhcnRjZmdzKSk7CiB9CkBAIC0xMDYsNyArNTAwLDkgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IG4zMF9pbml0KHZvaWQpCiB7CisJczNjMjR4eF9mYl9zZXRfcGxhdGRhdGEoJm4zMF9mYl9pbmZvKTsKIAlzM2NfZGV2aWNlX2kyYy5kZXYucGxhdGZvcm1fZGF0YSA9ICZuMzBfaTJjY2ZnOworCXMzYzI0eHhfdWRjX3NldF9wbGF0ZGF0YSgmbjMwX3VkY19jZmcpOwogCiAJLyogVHVybiBvZmYgc3VzcGVuZCBvbiBib3RoIFVTQiBwb3J0cywgYW5kIHN3aXRjaCB0aGUKIAkgKiBzZWxlY3RhYmxlIFVTQiBwb3J0IHRvIFVTQiBkZXZpY2UgbW9kZS4gKi8KQEAgLTExNSw3ICs1MTEsMzIgQEAKIAkJCSAgICAgIFMzQzI0MTBfTUlTQ0NSX1VTQlNVU1BORDAgfAogCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMSwgMHgwKTsKIAotCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG4zMF9kZXZpY2VzLCBBUlJBWV9TSVpFKG4zMF9kZXZpY2VzKSk7CisJaWYgKG1hY2hpbmVfaXNfbjMwKCkpIHsKKwkJLyogVHVybiBvZmYgc3VzcGVuZCBvbiBib3RoIFVTQiBwb3J0cywgYW5kIHN3aXRjaCB0aGUKKwkJICogc2VsZWN0YWJsZSBVU0IgcG9ydCB0byBVU0IgZGV2aWNlIG1vZGUuICovCisJCXMzYzI0MTBfbW9kaWZ5X21pc2NjcihTM0MyNDEwX01JU0NDUl9VU0JIT1NUIHwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQwIHwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxLCAweDApOworCisJCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG4zMF9kZXZpY2VzLCBBUlJBWV9TSVpFKG4zMF9kZXZpY2VzKSk7CisJfQorCisJaWYgKG1hY2hpbmVfaXNfbjM1KCkpIHsKKwkJLyogVHVybiBvZmYgc3VzcGVuZCBhbmQgc3dpdGNoIHRoZSBzZWxlY3RhYmxlIFVTQiBwb3J0CisJCSAqIHRvIFVTQiBkZXZpY2UgbW9kZS4gIFR1cm4gb24gc3VzcGVuZCBmb3IgdGhlIGhvc3QKKwkJICogcG9ydCBzaW5jZSBpdCBpcyBub3QgY29ubmVjdGVkIG9uIHRoZSBOMzUuCisJCSAqCisJCSAqIEFjdHVhbGx5LCB0aGUgaG9zdCBwb3J0IGlzIGF2YWlsYWJsZSBhdCBzb21lIHBhZHMKKwkJICogb24gdGhlIGJhY2sgb2YgdGhlIGRldmljZSwgc28gaXQgd291bGQgYWN0dWFsbHkgYmUKKwkJICogcG9zc2libGUgdG8gYWRkIGEgVVNCIGRldmljZSBpbnNpZGUgdGhlIE4zNSBpZiB5b3UKKwkJICogYXJlIHdpbGxpbmcgdG8gZG8gc29tZSBoYXJkd2FyZSBtb2RpZmljYXRpb25zLiAqLworCQlzM2MyNDEwX21vZGlmeV9taXNjY3IoUzNDMjQxMF9NSVNDQ1JfVVNCSE9TVCB8CisJCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMCB8CisJCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMSwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxKTsKKworCQlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhuMzVfZGV2aWNlcywgQVJSQVlfU0laRShuMzVfZGV2aWNlcykpOworCX0KIH0KIAogTUFDSElORV9TVEFSVChOMzAsICJBY2VyLU4zMCIpCkBAIC0xMzEsOSArNTUyLDE0IEBACiAJLm1hcF9pbwkJPSBuMzBfbWFwX2lvLAogTUFDSElORV9FTkQKIAotLyoKLSAgICBMb2NhbCB2YXJpYWJsZXM6Ci0gICAgICAgIGNvbXBpbGUtY29tbWFuZDogIm1ha2UgQVJDSD1hcm0gQ1JPU1NfQ09NUElMRT0vdXNyL2xvY2FsL2FybS8zLjMuMi9iaW4vYXJtLWxpbnV4LSAtayAtQyAuLi8uLi8uLiIKLSAgICAgICAgYy1iYXNpYy1vZmZzZXQ6IDgKLSAgICBFbmQ6Ci0qLworTUFDSElORV9TVEFSVChOMzUsICJBY2VyLU4zNSIpCisJLyogTWFpbnRhaW5lcjogQ2hyaXN0ZXIgV2VpbmlnZWwgPGNocmlzdGVyQHdlaW5pZ2VsLnNlPgorCSovCisJLnBoeXNfaW8JPSBTM0MyNDEwX1BBX1VBUlQsCisJLmlvX3BnX29mZnN0CT0gKCgodTMyKVMzQzI0WFhfVkFfVUFSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IFMzQzI0MTBfU0RSQU1fUEEgKyAweDEwMCwKKwkudGltZXIJCT0gJnMzYzI0eHhfdGltZXIsCisJLmluaXRfbWFjaGluZQk9IG4zMF9pbml0LAorCS5pbml0X2lycQk9IG4zMF9pbml0X2lycSwKKwkubWFwX2lvCQk9IG4zMF9tYXBfaW8sCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtdnIxMDAwLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC12cjEwMDAuYwppbmRleCA0YzRiNWM0Li45YTA5NjVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC12cjEwMDAuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC12cjEwMDAuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLXZyMTAwMC5jCiAgKgotICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcwogICogICBCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CiAgKgogICogTWFjaGluZSBzdXBwb3J0IGZvciBUaG9yY29tIFZSMTAwMCBib2FyZC4gRGVzaWduZWQgZm9yIFRob3Jjb20gYnkKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kbTkwMDAuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KIAogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgpAQCAtNDYsNyArNDcsOSBAQAogI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorCiAjaW5jbHVkZSAidXNiLXNpbXRlYy5oIgorI2luY2x1ZGUgIm5vci1zaW10ZWMuaCIKIAogLyogbWFjcm9zIGZvciB2aXJ0dWFsIGFkZHJlc3MgbW9kcyBmb3IgdGhlIGlvIHNwYWNlIGVudHJpZXMgKi8KICNkZWZpbmUgVkFfQzUoaXRlbSkgKCh1bnNpZ25lZCBsb25nKShpdGVtKSArIEJBU1RfVkFNX0NTNSkKQEAgLTk3LDM0ICsxMDAsNiBAQAogCSAgLmxlbmd0aAk9IFNaXzFNLAogCSAgLnR5cGUJCT0gTVRfREVWSUNFLAogICB9LAotCi0gIC8qIHBlcmlwaGVyYWwgc3BhY2UuLi4gb25lIGZvciBlYWNoIG9mIGZhc3Qvc2xvdy9ieXRlLzE2Yml0ICovCi0gIC8qIG5vdGUsIGlkZSBpcyBvbmx5IGRlY29kZWQgaW4gd29yZCBzcGFjZSwgZXZlbiB0aG91Z2ggc29tZSByZWdpc3RlcnMKLSAgICogYXJlIG9ubHkgOGJpdCAqLwotCi0gIC8qIHNsb3csIGJ5dGUgKi8KLSAgeyBWQV9DMihWUjEwMDBfVkFfSURFUFJJKSwgIFBBX0NTMyhWUjEwMDBfUEFfSURFUFJJKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MyKFZSMTAwMF9WQV9JREVTRUMpLCAgUEFfQ1MzKFZSMTAwMF9QQV9JREVTRUMpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoVlIxMDAwX1ZBX0lERVBSSUFVWCksIFBBX0NTMyhWUjEwMDBfUEFfSURFUFJJQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotICB7IFZBX0MyKFZSMTAwMF9WQV9JREVTRUNBVVgpLCBQQV9DUzMoVlIxMDAwX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLQotICAvKiBzbG93LCB3b3JkICovCi0gIHsgVkFfQzMoVlIxMDAwX1ZBX0lERVBSSSksICBQQV9DUzMoVlIxMDAwX1BBX0lERVBSSSksCSAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhWUjEwMDBfVkFfSURFU0VDKSwgIFBBX0NTMyhWUjEwMDBfUEFfSURFU0VDKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MzKFZSMTAwMF9WQV9JREVQUklBVVgpLCBQQV9DUzMoVlIxMDAwX1BBX0lERVBSSUFVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhWUjEwMDBfVkFfSURFU0VDQVVYKSwgUEFfQ1MzKFZSMTAwMF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0KLSAgLyogZmFzdCwgYnl0ZSAqLwotICB7IFZBX0M0KFZSMTAwMF9WQV9JREVQUkkpLCAgUEFfQ1M1KFZSMTAwMF9QQV9JREVQUkkpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoVlIxMDAwX1ZBX0lERVNFQyksICBQQV9DUzUoVlIxMDAwX1BBX0lERVNFQyksCSAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNChWUjEwMDBfVkFfSURFUFJJQVVYKSwgUEFfQ1M1KFZSMTAwMF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoVlIxMDAwX1ZBX0lERVNFQ0FVWCksIFBBX0NTNShWUjEwMDBfUEFfSURFU0VDQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotCi0gIC8qIGZhc3QsIHdvcmQgKi8KLSAgeyBWQV9DNShWUjEwMDBfVkFfSURFUFJJKSwgIFBBX0NTNShWUjEwMDBfUEFfSURFUFJJKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M1KFZSMTAwMF9WQV9JREVTRUMpLCAgUEFfQ1M1KFZSMTAwMF9QQV9JREVTRUMpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoVlIxMDAwX1ZBX0lERVBSSUFVWCksIFBBX0NTNShWUjEwMDBfUEFfSURFUFJJQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotICB7IFZBX0M1KFZSMTAwMF9WQV9JREVTRUNBVVgpLCBQQV9DUzUoVlIxMDAwX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKIH07CiAKICNkZWZpbmUgVUNPTiBTM0MyNDEwX1VDT05fREVGQVVMVCB8IFMzQzI0MTBfVUNPTl9VQ0xLCkBAIC0yMzAsMjMgKzIwNSw2IEBACiAJfSwKIH07CiAKLS8qIE1URCBOT1IgRmxhc2ggKi8KLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2cjEwMDBfbm9yX3Jlc291cmNlW10gPSB7Ci0JWzBdID0gewotCQkuc3RhcnQJPSBTM0MyNDEwX0NTMSArIDB4NDAwMDAwMCwKLQkJLmVuZAk9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwICsgU1pfMTZNIC0gMSwKLQkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCi0JfQotfTsKLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgdnIxMDAwX25vciA9IHsKLQkubmFtZQkJPSAiYmFzdC1ub3IiLAotCS5pZAkJPSAtMSwKLQkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUodnIxMDAwX25vcl9yZXNvdXJjZSksCi0JLnJlc291cmNlCT0gdnIxMDAwX25vcl9yZXNvdXJjZSwKLX07Ci0KIC8qIERNOTAwMCBldGhlcm5ldCBkZXZpY2VzICovCiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdnIxMDAwX2RtOWswX3Jlc291cmNlW10gPSB7CkBAIC0yNjMsNyArMjIxLDcgQEAKIAlbMl0gPSB7CiAJCS5zdGFydCA9IElSUV9WUjEwMDBfRE05MDAwQSwKIAkJLmVuZCAgID0gSVJRX1ZSMTAwMF9ETTkwMDBBLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElSUUZfVFJJR0dFUl9ISUdILAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElPUkVTT1VSQ0VfSVJRX0hJR0hMRVZFTCwKIAl9CiAKIH07CkBAIC0yODIsNyArMjQwLDcgQEAKIAlbMl0gPSB7CiAJCS5zdGFydCA9IElSUV9WUjEwMDBfRE05MDAwTiwKIAkJLmVuZCAgID0gSVJRX1ZSMTAwMF9ETTkwMDBOLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElSUUZfVFJJR0dFUl9ISUdILAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElPUkVTT1VSQ0VfSVJRX0hJR0hMRVZFTCwKIAl9CiB9OwogCkBAIC0zNTgsNiArMzE2LDE4IEBACiAJfSwKIH07CiAKKy8qIEkyQyBkZXZpY2VzLiAqLworCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIHZyMTAwMF9pMmNfZGV2c1tdIF9faW5pdGRhdGEgPSB7CisJeworCQlJMkNfQk9BUkRfSU5GTygidGx2MzIwYWljMjMiLCAweDFhKSwKKwl9LCB7CisJCUkyQ19CT0FSRF9JTkZPKCJ0bXAxMDEiLCAweDQ4KSwKKwl9LCB7CisJCUkyQ19CT0FSRF9JTkZPKCJtNDFzdDg3IiwgMHg2OCksCisJfSwKK307CisKIC8qIGRldmljZXMgZm9yIHRoaXMgYm9hcmQgKi8KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnZyMTAwMF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKQEAgLTM2Nyw3ICszMzcsNiBAQAogCSZzM2NfZGV2aWNlX2kyYywKIAkmczNjX2RldmljZV9hZGMsCiAJJnNlcmlhbF9kZXZpY2UsCi0JJnZyMTAwMF9ub3IsCiAJJnZyMTAwMF9kbTlrMCwKIAkmdnIxMDAwX2RtOWsxLAogCSZ2cjEwMDBfbGVkMSwKQEAgLTQxNiw2ICszODUsMTEgQEAKIHN0YXRpYyB2b2lkIF9faW5pdCB2cjEwMDBfaW5pdCh2b2lkKQogewogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHZyMTAwMF9kZXZpY2VzLCBBUlJBWV9TSVpFKHZyMTAwMF9kZXZpY2VzKSk7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCB2cjEwMDBfaTJjX2RldnMsCisJCQkJQVJSQVlfU0laRSh2cjEwMDBfaTJjX2RldnMpKTsKKworCW5vcl9zaW10ZWNfaW5pdCgpOwogfQogCiBNQUNISU5FX1NUQVJUKFZSMTAwMCwgIlRob3Jjb20tVlIxMDAwIikKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbm9yLXNpbXRlYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NGUyMWIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbm9yLXNpbXRlYy5jCkBAIC0wLDAgKzEsODYgQEAKKy8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgorICoKKyAqIFNpbXRlYyBOT1IgbWFwcGluZworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2Jhc3QtbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYmFzdC1jcGxkLmg+CisKKworc3RhdGljIHZvaWQgc2ltdGVjX25vcl92cHAoc3RydWN0IG1hcF9pbmZvICptYXAsIGludCB2cHApCit7CisJdW5zaWduZWQgaW50IHZhbDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCXZhbCA9IF9fcmF3X3JlYWRiKEJBU1RfVkFfQ1RSTDMpOworCisJcHJpbnRrKEtFUk5fREVCVUcgIiVzKCVkKVxuIiwgX19mdW5jX18sIHZwcCk7CisKKwlpZiAodnBwKQorCQl2YWwgfD0gQkFTVF9DUExEX0NUUkwzX1JPTVdFTjsKKwllbHNlCisJCXZhbCAmPSB+QkFTVF9DUExEX0NUUkwzX1JPTVdFTjsKKworCV9fcmF3X3dyaXRlYih2YWwsIEJBU1RfVkFfQ1RSTDMpOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBzaW10ZWNfbm9yX3BkYXRhID0geworCS53aWR0aAkJPSAyLAorCS5zZXRfdnBwCT0gc2ltdGVjX25vcl92cHAsCisJLm5yX3BhcnRzCT0gMCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc2ltdGVjX25vcl9yZXNvdXJjZVtdID0geworCVswXSA9IHsKKwkJLnN0YXJ0ID0gUzNDMjQxMF9DUzEgKyAweDQwMDAwMDAsCisJCS5lbmQgICA9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwICsgU1pfOE0gLSAxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBzaW10ZWNfZGV2aWNlX25vciA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IC0xLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShzaW10ZWNfbm9yX3Jlc291cmNlKSwKKwkucmVzb3VyY2UJPSBzaW10ZWNfbm9yX3Jlc291cmNlLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YSA9ICZzaW10ZWNfbm9yX3BkYXRhLAorCX0sCit9OworCit2b2lkIF9faW5pdCBub3Jfc2ltdGVjX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZzaW10ZWNfZGV2aWNlX25vcik7CisJaWYgKHJldCA8IDApCisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIHJlZ2lzdGVyIHBoeXNtYXAtZmxhc2ggZGV2aWNlXG4iKTsKKwllbHNlCisJCXNpbXRlY19ub3JfdnBwKE5VTEwsIDEpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL25vci1zaW10ZWMuaCBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYxOWMxZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmgKQEAgLTAsMCArMSwxNCBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL25vci1zaW10ZWMuaAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKglCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CisgKgorICogU2ltdGVjIE5PUiBtYXBwaW5nCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKK2V4dGVybiB2b2lkIG5vcl9zaW10ZWNfaW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMi9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL0tjb25maWcKaW5kZXggMGI0MzQzMS4uYzU5YTlkMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL0tjb25maWcKQEAgLTM0LDYgKzM0LDE2IEBACiAKIG1lbnUgIlMzQzI0MTIgTWFjaGluZXMiCiAKK2NvbmZpZyBNQUNIX0pJVkUKKwlib29sICJMb2dpdGVjaCBKaXZlIgorCXNlbGVjdCBDUFVfUzNDMjQxMgorCWhlbHAKKwkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgTG9naXRlY2ggSml2ZS4KKworY29uZmlnIE1BQ0hfSklWRV9TSE9XX0JPT1RMT0FERVIKKwlib29sICJBbGxvdyBhY2Nlc3MgdG8gYm9vdGxvYWRlciBwYXJ0aXRpb25zIGluIE1URCIKKwlkZXBlbmRzIG9uIE1BQ0hfSklWRSAmJiBFWFBFUklNRU5UQUwKKwogY29uZmlnIE1BQ0hfU01ESzI0MTMKIAlib29sICJTTURLMjQxMyIKIAlzZWxlY3QgQ1BVX1MzQzI0MTIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMi9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtczNjMjQxMi9NYWtlZmlsZQppbmRleCAyNjdmMzM0Li4yMDkxOGQ1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTIvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL01ha2VmaWxlCkBAIC0xOCw1ICsxOCw2IEBACiAKICMgTWFjaGluZSBzdXBwb3J0CiAKK29iai0kKENPTkZJR19NQUNIX0pJVkUpCQkrPSBtYWNoLWppdmUubwogb2JqLSQoQ09ORklHX01BQ0hfU01ESzI0MTMpCSs9IG1hY2gtc21kazI0MTMubwogb2JqLSQoQ09ORklHX01BQ0hfVlNUTVMpCSs9IG1hY2gtdnN0bXMubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvY2xvY2suYwppbmRleCAyNjk3YTY1Li4xMTU3YjVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTIvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvY2xvY2suYwpAQCAtNjMxLDYgKzYzMSwxNyBAQAogCQkuYml0CT0gUzNDMjQxMl9DTEtTUkNfVVNCQ0xLX0hDTEssCiAJCS5zcmNfMAk9ICZjbGtfdXN5c2NsaywKIAkJLnNyY18xCT0gJmNsa19oLAorCS8qIGhlcmUgd2UgYXNzdW1lICBPTVs0XSBzZWxlY3QgeHRhbCAqLworCX0sIHsKKwkJLmNsawk9ICZjbGtfZXJlZmNsaywKKwkJLmJpdAk9IFMzQzI0MTJfQ0xLU1JDX0VSRUZDTEtfRVhUQ0xLLAorCQkuc3JjXzAJPSAmY2xrX3h0YWwsCisJCS5zcmNfMQk9ICZjbGtfZXh0LAorCX0sIHsKKwkJLmNsawk9ICZjbGtfdXJlZmNsaywKKwkJLmJpdAk9IFMzQzI0MTJfQ0xLU1JDX1VSRUZDTEtfRVhUQ0xLLAorCQkuc3JjXzAJPSAmY2xrX3h0YWwsCisJCS5zcmNfMQk9ICZjbGtfZXh0LAogCX0sCiB9OwogCkBAIC02NjYsOCArNjc3LDYgQEAKIHN0YXRpYyBzdHJ1Y3QgY2xrICpjbGtzW10gX19pbml0ZGF0YSA9IHsKIAkmY2xrX2V4dCwKIAkmY2xrX3VzYl9idXMsCi0JJmNsa19lcmVmY2xrLAotCSZjbGtfdXJlZmNsaywKIAkmY2xrX21yZWZjbGssCiAJJmNsa19hcm1jbGssCiB9OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL21hY2gtaml2ZS5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL21hY2gtaml2ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNTkyNDcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvbWFjaC1qaXZlLmMKQEAgLTAsMCArMSw2ODcgQEAKKy8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLWppdmUuYworICoKKyAqIENvcHlyaWdodCAyMDA3IFNpbXRlYyBFbGVjdHJvbmljcworICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgorICoKKyAqIGh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisKKyNpbmNsdWRlIDx2aWRlby9pbGk5MzIwLmg+CisKKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisKKyNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9uYW5kLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL2lpYy5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1wb3dlci5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtbWVtLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1sY2QuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9zcGktZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2ZiLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorCisjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmRfZWNjLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvcG0uaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3VkYy5oPgorCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGppdmVfaW9kZXNjW10gX19pbml0ZGF0YSA9IHsKK307CisKKyNkZWZpbmUgVUNPTiBTM0MyNDEwX1VDT05fREVGQVVMVAorI2RlZmluZSBVTENPTiBTM0MyNDEwX0xDT05fQ1M4IHwgUzNDMjQxMF9MQ09OX1BOT05FCisjZGVmaW5lIFVGQ09OIFMzQzI0MTBfVUZDT05fUlhUUklHOCB8IFMzQzI0MTBfVUZDT05fRklGT01PREUKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgaml2ZV91YXJ0Y2Znc1tdID0geworCVswXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMCwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwl9LAorCVsxXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMSwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwl9LAorCVsyXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMiwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwl9Cit9OworCisvKiBKaXZlIGZsYXNoIGFzc2lnbm1lbnQKKyAqCisgKiAweDAwMDAwMDAwLTB4MDAwMjgwMDAgOiB1Ym9vdAorICogMHgwMDAyODAwMC0weDAwMDJjMDAwIDogdWJvb3QgZW52CisgKiAweDAwMDJjMDAwLTB4MDAwMzAwMDAgOiBzcGFyZQorICogMHgwMDAzMDAwMC0weDAwMjAwMDAwIDogemltYWdlIEEKKyAqIDB4MDAyMDAwMDAtMHgwMTYwMDAwMCA6IGNyYW1mcyBBCisgKiAweDAxNjAwMDAwLTB4MDE3ZDAwMDAgOiB6aW1hZ2UgQgorICogMHgwMTdkMDAwMC0weDAyYmQwMDAwIDogY3JhbWZzIEIKKyAqIDB4MDJiZDAwMDAtMHgwM2ZkMDAwMCA6IHlhZmZzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBqaXZlX2ltYWdlQV9uYW5kX3BhcnRbXSA9IHsKKworI2lmZGVmIENPTkZJR19NQUNIX0pJVkVfU0hPV19CT09UTE9BREVSCisJLyogRG9uJ3QgYWxsb3cgYWNjZXNzIHRvIHRoZSBib290bG9hZGVyIGZyb20gbGludXggKi8KKwl7CisJCS5uYW1lICAgICAgICAgICA9ICJ1Ym9vdCIsCisJCS5vZmZzZXQgICAgICAgICA9IDAsCisJCS5zaXplICAgICAgICAgICA9ICgxNjAgKiBTWl8xSyksCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwgLyogZm9yY2UgcmVhZC1vbmx5ICovCisJfSwKKworCS8qIHNwYXJlICovCisgICAgICAgIHsKKyAgICAgICAgICAgICAgICAubmFtZSAgICAgICAgICAgPSAic3BhcmUiLAorICAgICAgICAgICAgICAgIC5vZmZzZXQgICAgICAgICA9ICgxNzYgKiBTWl8xSyksCisgICAgICAgICAgICAgICAgLnNpemUgICAgICAgICAgID0gKDE2ICogU1pfMUspLAorICAgICAgICB9LAorI2VuZGlmCisKKwkvKiBib290ZWQgaW1hZ2VzICovCisgICAgICAgIHsKKwkJLm5hbWUJCT0gImtlcm5lbCAocm8pIiwKKwkJLm9mZnNldAkJPSAoMTkyICogU1pfMUspLAorCQkuc2l6ZQkJPSAoU1pfMk0pIC0gKDE5MiAqIFNaXzFLKSwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLCAvKiBmb3JjZSByZWFkLW9ubHkgKi8KKyAgICAgICAgfSwgeworICAgICAgICAgICAgICAgIC5uYW1lICAgICAgICAgICA9ICJyb290IChybykiLAorICAgICAgICAgICAgICAgIC5vZmZzZXQgICAgICAgICA9IChTWl8yTSksCisgICAgICAgICAgICAgICAgLnNpemUgICAgICAgICAgID0gKDIwICogU1pfMU0pLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLworICAgICAgICB9LAorCisJLyogeWFmZnMgKi8KKwl7CisJCS5uYW1lCQk9ICJ5YWZmcyIsCisJCS5vZmZzZXQJCT0gKDQ0ICogU1pfMU0pLAorCQkuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisJfSwKKworCS8qIGJvb3Rsb2FkZXIgZW52aXJvbm1lbnQgKi8KKwl7CisgICAgICAgICAgICAgICAgLm5hbWUJCT0gImVudiIsCisJCS5vZmZzZXQJCT0gKDE2MCAqIFNaXzFLKSwKKwkJLnNpemUJCT0gKDE2ICogU1pfMUspLAorCX0sCisKKwkvKiB1cGdyYWRlIGltYWdlcyAqLworICAgICAgICB7CisJCS5uYW1lCQk9ICJ6aW1hZ2UiLAorCQkub2Zmc2V0CQk9ICgyMiAqIFNaXzFNKSwKKwkJLnNpemUJCT0gKDIgKiBTWl8xTSkgLSAoMTkyICogU1pfMUspLAorICAgICAgICB9LCB7CisJCS5uYW1lCQk9ICJjcmFtZnMiLAorCQkub2Zmc2V0CQk9ICgyNCAqIFNaXzFNKSAtICgxOTIqU1pfMUspLAorCQkuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisgICAgICAgIH0sCit9OworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gaml2ZV9pbWFnZUJfbmFuZF9wYXJ0W10gPSB7CisKKyNpZmRlZiBDT05GSUdfTUFDSF9KSVZFX1NIT1dfQk9PVExPQURFUgorCS8qIERvbid0IGFsbG93IGFjY2VzcyB0byB0aGUgYm9vdGxvYWRlciBmcm9tIGxpbnV4ICovCisJeworCQkubmFtZSAgICAgICAgICAgPSAidWJvb3QiLAorCQkub2Zmc2V0ICAgICAgICAgPSAwLAorCQkuc2l6ZSAgICAgICAgICAgPSAoMTYwICogU1pfMUspLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLworCX0sCisKKwkvKiBzcGFyZSAqLworICAgICAgICB7CisgICAgICAgICAgICAgICAgLm5hbWUgICAgICAgICAgID0gInNwYXJlIiwKKyAgICAgICAgICAgICAgICAub2Zmc2V0ICAgICAgICAgPSAoMTc2ICogU1pfMUspLAorICAgICAgICAgICAgICAgIC5zaXplICAgICAgICAgICA9ICgxNiAqIFNaXzFLKSwKKyAgICAgICAgfSwKKyNlbmRpZgorCisJLyogYm9vdGVkIGltYWdlcyAqLworICAgICAgICB7CisJCS5uYW1lICAgICAgICAgICA9ICJrZXJuZWwgKHJvKSIsCisJCS5vZmZzZXQgICAgICAgICA9ICgyMiAqIFNaXzFNKSwKKwkJLnNpemUgICAgICAgICAgID0gKDIgKiBTWl8xTSkgLSAoMTkyICogU1pfMUspLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLworICAgICAgICB9LAorCXsKKwkJLm5hbWUJCT0gInJvb3QgKHJvKSIsCisJCS5vZmZzZXQJCT0gKDI0ICogU1pfMU0pIC0gKDE5MiAqIFNaXzFLKSwKKyAgICAgICAgICAgICAgICAuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwgLyogZm9yY2UgcmVhZC1vbmx5ICovCisJfSwKKworCS8qIHlhZmZzICovCisJeworCQkubmFtZQkJPSAieWFmZnMiLAorCQkub2Zmc2V0CQk9ICg0NCAqIFNaXzFNKSwKKwkJLnNpemUJCT0gKDIwICogU1pfMU0pLAorICAgICAgICB9LAorCisJLyogYm9vdGxvYWRlciBlbnZpcm9ubWVudCAqLworCXsKKwkJLm5hbWUJCT0gImVudiIsCisJCS5vZmZzZXQJCT0gKDE2MCAqIFNaXzFLKSwKKwkJLnNpemUJCT0gKDE2ICogU1pfMUspLAorCX0sCisKKwkvKiB1cGdyYWRlIGltYWdlcyAqLworCXsKKwkJLm5hbWUJCT0gInppbWFnZSIsCisJCS5vZmZzZXQJCT0gKDE5MiAqIFNaXzFLKSwKKwkJLnNpemUJCT0gKDIgKiBTWl8xTSkgLSAoMTkyICogU1pfMUspLAorICAgICAgICB9LCB7CisJCS5uYW1lCQk9ICJjcmFtZnMiLAorCQkub2Zmc2V0CQk9ICgyICogU1pfMU0pLAorCQkuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisgICAgICAgIH0sCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfbmFuZF9zZXQgaml2ZV9uYW5kX3NldHNbXSA9IHsKKwlbMF0gPSB7CisJCS5uYW1lICAgICAgICAgICA9ICJmbGFzaCIsCisJCS5ucl9jaGlwcyAgICAgICA9IDEsCisJCS5ucl9wYXJ0aXRpb25zICA9IEFSUkFZX1NJWkUoaml2ZV9pbWFnZUFfbmFuZF9wYXJ0KSwKKwkJLnBhcnRpdGlvbnMgICAgID0gaml2ZV9pbWFnZUFfbmFuZF9wYXJ0LAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfcGxhdGZvcm1fbmFuZCBqaXZlX25hbmRfaW5mbyA9IHsKKwkvKiBzZXQgdGFrZW4gZnJvbSBvc2lyaXMgbmFuZCB0aW1pbmdzLCBwb3NzaWJseSBzdGlsbCBjb25zZXJ2YXRpdmUgKi8KKwkudGFjbHMJCT0gMzAsCisJLnR3cnBoMAkJPSA1NSwKKwkudHdycGgxCQk9IDQwLAorCS5zZXRzCQk9IGppdmVfbmFuZF9zZXRzLAorCS5ucl9zZXRzCT0gQVJSQVlfU0laRShqaXZlX25hbmRfc2V0cyksCit9OworCitzdGF0aWMgaW50IF9faW5pdCBqaXZlX210ZHNldChjaGFyICpvcHRpb25zKQoreworCXN0cnVjdCBzM2MyNDEwX25hbmRfc2V0ICpuYW5kID0gJmppdmVfbmFuZF9zZXRzWzBdOworCXVuc2lnbmVkIGxvbmcgc2V0OworCisJaWYgKG9wdGlvbnMgPT0gTlVMTCB8fCBvcHRpb25zWzBdID09ICdcMCcpCisJCXJldHVybiAwOworCisJaWYgKHN0cmljdF9zdHJ0b3VsKG9wdGlvbnMsIDEwLCAmc2V0KSkgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBwYXJzZSBtdGRzZXQ9JXNcbiIsIG9wdGlvbnMpOworCQlyZXR1cm4gMDsKKwl9CisKKwlzd2l0Y2ggKHNldCkgeworCWNhc2UgMToKKwkJbmFuZC0+bnJfcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoaml2ZV9pbWFnZUJfbmFuZF9wYXJ0KTsKKwkJbmFuZC0+cGFydGl0aW9ucyA9IGppdmVfaW1hZ2VCX25hbmRfcGFydDsKKwljYXNlIDA6CisJCS8qIHRoaXMgaXMgYWxyZWFkeSBzZXR1cCBpbiB0aGUgbmFuZCBpbmZvICovCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAiVW5rbm93biBtdGQgc2V0ICVsZCBzcGVjaWZpZWQsIgorCQkgICAgICAgInVzaW5nIGRlZmF1bHQuIiwgc2V0KTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogcGFyc2UgdGhlIG10ZHNldD0gb3B0aW9uIGdpdmVuIHRvIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lICovCitfX3NldHVwKCJtdGRzZXQ9Iiwgaml2ZV9tdGRzZXQpOworCisvKiBMQ0QgdGltaW5nIGFuZCBzZXR1cCAqLworCisjZGVmaW5lIExDRF9YUkVTCSAoMjQwKQorI2RlZmluZSBMQ0RfWVJFUwkgKDMyMCkKKyNkZWZpbmUgTENEX0xFRlRfTUFSR0lOICAoMTIpCisjZGVmaW5lIExDRF9SSUdIVF9NQVJHSU4gKDEyKQorI2RlZmluZSBMQ0RfTE9XRVJfTUFSR0lOICgxMikKKyNkZWZpbmUgTENEX1VQUEVSX01BUkdJTiAoMTIpCisjZGVmaW5lIExDRF9WU1lOQwkgKDIpCisjZGVmaW5lIExDRF9IU1lOQwkgKDIpCisKKyNkZWZpbmUgTENEX1JFRlJFU0gJICg2MCkKKworI2RlZmluZSBMQ0RfSFRPVCAoTENEX0hTWU5DICsgTENEX0xFRlRfTUFSR0lOICsgTENEX1hSRVMgKyBMQ0RfUklHSFRfTUFSR0lOKQorI2RlZmluZSBMQ0RfVlRPVCAoTENEX1ZTWU5DICsgTENEX0xPV0VSX01BUkdJTiArIExDRF9ZUkVTICsgTENEX1VQUEVSX01BUkdJTikKKworc3RydWN0IHMzYzI0MTBmYl9kaXNwbGF5IGppdmVfdmdnMjQzMmE0X2Rpc3BsYXlbXSA9IHsKKwlbMF0gPSB7CisJCS53aWR0aAkJPSBMQ0RfWFJFUywKKwkJLmhlaWdodAkJPSBMQ0RfWVJFUywKKwkJLnhyZXMJCT0gTENEX1hSRVMsCisJCS55cmVzCQk9IExDRF9ZUkVTLAorCQkubGVmdF9tYXJnaW4JPSBMQ0RfTEVGVF9NQVJHSU4sCisJCS5yaWdodF9tYXJnaW4JPSBMQ0RfUklHSFRfTUFSR0lOLAorCQkudXBwZXJfbWFyZ2luCT0gTENEX1VQUEVSX01BUkdJTiwKKwkJLmxvd2VyX21hcmdpbgk9IExDRF9MT1dFUl9NQVJHSU4sCisJCS5oc3luY19sZW4JPSBMQ0RfSFNZTkMsCisJCS52c3luY19sZW4JPSBMQ0RfVlNZTkMsCisKKwkJLnBpeGNsb2NrCT0gKDEwMDAwMDAwMDAwMDBMTCAvCisJCQkJICAgKExDRF9SRUZSRVNIICogTENEX0hUT1QgKiBMQ0RfVlRPVCkpLAorCisJCS5icHAJCT0gMTYsCisJCS50eXBlCQk9IChTM0MyNDEwX0xDRENPTjFfVEZUMTZCUFAgfAorCQkJCSAgIFMzQzI0MTBfTENEQ09OMV9URlQpLAorCisJCS5sY2Rjb241CT0gKFMzQzI0MTBfTENEQ09ONV9GUk01NjUgfAorCQkJCSAgIFMzQzI0MTBfTENEQ09ONV9JTlZWTElORSB8CisJCQkJICAgUzNDMjQxMF9MQ0RDT041X0lOVlZGUkFNRSB8CisJCQkJICAgUzNDMjQxMF9MQ0RDT041X0lOVlZERU4gfAorCQkJCSAgIFMzQzI0MTBfTENEQ09ONV9QV1JFTiksCisJfSwKK307CisKKy8qIHRvZG8gLSBwdXQgaW50byBncGlvIGhlYWRlciAqLworCisjZGVmaW5lIFMzQzI0MTBfR1BDQ09OX01BU0soeCkJKDMgPDwgKCh4KSAqIDIpKQorI2RlZmluZSBTM0MyNDEwX0dQRENPTl9NQVNLKHgpCSgzIDw8ICgoeCkgKiAyKSkKKworc3RydWN0IHMzYzI0MTBmYl9tYWNoX2luZm8gaml2ZV9sY2RfY29uZmlnID0geworCS5kaXNwbGF5cwkgPSBqaXZlX3ZnZzI0MzJhNF9kaXNwbGF5LAorCS5udW1fZGlzcGxheXMJID0gQVJSQVlfU0laRShqaXZlX3ZnZzI0MzJhNF9kaXNwbGF5KSwKKwkuZGVmYXVsdF9kaXNwbGF5ID0gMCwKKworCS8qIEVuYWJsZSBWRFsyLi43XSwgVkRbMTAuLjE1XSwgVkRbMTguLjIzXSBhbmQgVkNMSywgc3luY3MsIFZERU4KKwkgKiBhbmQgZGlzYWJsZSB0aGUgcHVsbCBkb3duIHJlc2lzdG9ycyBvbiBwaW5zIHdlIGFyZSB1c2luZyBmb3IgTENECisJICogZGF0YS4gKi8KKworCS5ncGN1cAkJPSAoMHhmIDw8IDEpIHwgKDB4M2YgPDwgMTApLAorCisJLmdwY2NvbgkJPSAoUzNDMjQxMF9HUEMxX1ZDTEsgICB8IFMzQzI0MTBfR1BDMl9WTElORSB8CisJCQkgICBTM0MyNDEwX0dQQzNfVkZSQU1FIHwgUzNDMjQxMF9HUEM0X1ZNIHwKKwkJCSAgIFMzQzI0MTBfR1BDMTBfVkQyICAgfCBTM0MyNDEwX0dQQzExX1ZEMyB8CisJCQkgICBTM0MyNDEwX0dQQzEyX1ZENCAgIHwgUzNDMjQxMF9HUEMxM19WRDUgfAorCQkJICAgUzNDMjQxMF9HUEMxNF9WRDYgICB8IFMzQzI0MTBfR1BDMTVfVkQ3KSwKKworCS5ncGNjb25fbWFzawk9IChTM0MyNDEwX0dQQ0NPTl9NQVNLKDEpICB8IFMzQzI0MTBfR1BDQ09OX01BU0soMikgIHwKKwkJCSAgIFMzQzI0MTBfR1BDQ09OX01BU0soMykgIHwgUzNDMjQxMF9HUENDT05fTUFTSyg0KSAgfAorCQkJICAgUzNDMjQxMF9HUENDT05fTUFTSygxMCkgfCBTM0MyNDEwX0dQQ0NPTl9NQVNLKDExKSB8CisJCQkgICBTM0MyNDEwX0dQQ0NPTl9NQVNLKDEyKSB8IFMzQzI0MTBfR1BDQ09OX01BU0soMTMpIHwKKwkJCSAgIFMzQzI0MTBfR1BDQ09OX01BU0soMTQpIHwgUzNDMjQxMF9HUENDT05fTUFTSygxNSkpLAorCisJLmdwZHVwCQk9ICgweDNmIDw8IDIpIHwgKDB4M2YgPDwgMTApLAorCisJLmdwZGNvbgkJPSAoUzNDMjQxMF9HUEQyX1ZEMTAgIHwgUzNDMjQxMF9HUEQzX1ZEMTEgfAorCQkJICAgUzNDMjQxMF9HUEQ0X1ZEMTIgIHwgUzNDMjQxMF9HUEQ1X1ZEMTMgfAorCQkJICAgUzNDMjQxMF9HUEQ2X1ZEMTQgIHwgUzNDMjQxMF9HUEQ3X1ZEMTUgfAorCQkJICAgUzNDMjQxMF9HUEQxMF9WRDE4IHwgUzNDMjQxMF9HUEQxMV9WRDE5IHwKKwkJCSAgIFMzQzI0MTBfR1BEMTJfVkQyMCB8IFMzQzI0MTBfR1BEMTNfVkQyMSB8CisJCQkgICBTM0MyNDEwX0dQRDE0X1ZEMjIgfCBTM0MyNDEwX0dQRDE1X1ZEMjMpLAorCisJLmdwZGNvbl9tYXNrCT0gKFMzQzI0MTBfR1BEQ09OX01BU0soMikgIHwgUzNDMjQxMF9HUERDT05fTUFTSygzKSB8CisJCQkgICBTM0MyNDEwX0dQRENPTl9NQVNLKDQpICB8IFMzQzI0MTBfR1BEQ09OX01BU0soNSkgfAorCQkJICAgUzNDMjQxMF9HUERDT05fTUFTSyg2KSAgfCBTM0MyNDEwX0dQRENPTl9NQVNLKDcpIHwKKwkJCSAgIFMzQzI0MTBfR1BEQ09OX01BU0soMTApIHwgUzNDMjQxMF9HUERDT05fTUFTSygxMSl8CisJCQkgICBTM0MyNDEwX0dQRENPTl9NQVNLKDEyKSB8IFMzQzI0MTBfR1BEQ09OX01BU0soMTMpfAorCQkJICAgUzNDMjQxMF9HUERDT05fTUFTSygxNCkgfCBTM0MyNDEwX0dQRENPTl9NQVNLKDE1KSksCit9OworCisvKiBJTEk5MzIwIHN1cHBvcnQuICovCisKK3N0YXRpYyB2b2lkIGppdmVfbGNtX3Jlc2V0KHVuc2lnbmVkIGludCBzZXQpCit7CisJcHJpbnRrKEtFUk5fREVCVUcgIiVzKCVkKVxuIiwgX19mdW5jX18sIHNldCk7CisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BHMTMsIHNldCk7CisJczNjMjQxMF9ncGlvX2NmZ3BpbihTM0MyNDEwX0dQRzEzLCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKK30KKworI3VuZGVmIExDRF9VUFBFUl9NQVJHSU4KKyNkZWZpbmUgTENEX1VQUEVSX01BUkdJTiAyCisKK3N0YXRpYyBzdHJ1Y3QgaWxpOTMyMF9wbGF0ZGF0YSBqaXZlX2xjbV9jb25maWcgPSB7CisJLmhzaXplCQk9IExDRF9YUkVTLAorCS52c2l6ZQkJPSBMQ0RfWVJFUywKKworCS5yZXNldAkJPSBqaXZlX2xjbV9yZXNldCwKKwkuc3VzcGVuZAk9IElMSTkzMjBfU1VTUEVORF9ERUVQLAorCisJLmVudHJ5X21vZGUJPSBJTEk5MzIwX0VOVFJZTU9ERV9JRCgzKSB8IElMSTkzMjBfRU5UUllNT0RFX0JHUiwKKwkuZGlzcGxheTIJPSAoSUxJOTMyMF9ESVNQTEFZMl9GUChMQ0RfVVBQRVJfTUFSR0lOKSB8CisJCQkgICBJTEk5MzIwX0RJU1BMQVkyX0JQKExDRF9MT1dFUl9NQVJHSU4pKSwKKwkuZGlzcGxheTMJPSAweDAsCisJLmRpc3BsYXk0CT0gMHgwLAorCS5yZ2JfaWYxCT0gKElMSTkzMjBfUkdCSUYxX1JJTV9SR0IxOCB8CisJCQkgICBJTEk5MzIwX1JHQklGMV9STSB8IElMSTkzMjBfUkdCSUYxX0NMS19SR0JJRiksCisJLnJnYl9pZjIJPSBJTEk5MzIwX1JHQklGMl9EUEwsCisJLmludGVyZmFjZTIJPSAweDAsCisJLmludGVyZmFjZTMJPSAweDMsCisJLmludGVyZmFjZTQJPSAoSUxJOTMyMF9JTlRFUkZBQ0U0X1JUTkUoMTYpIHwKKwkJCSAgIElMSTkzMjBfSU5URVJGQUNFNF9ESVZFKDEpKSwKKwkuaW50ZXJmYWNlNQk9IDB4MCwKKwkuaW50ZXJmYWNlNgk9IDB4MCwKK307CisKKy8qIExDRCBTUEkgc3VwcG9ydCAqLworCitzdGF0aWMgdm9pZCBqaXZlX2xjZF9zcGlfY2hpcHNlbGVjdChzdHJ1Y3QgczNjMjQxMF9zcGlncGlvX2luZm8gKnNwaSwgaW50IGNzKQoreworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEI3LCBjcyA/IDAgOiAxKTsKK30KKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3NwaWdwaW9faW5mbyBqaXZlX2xjZF9zcGkgPSB7CisJLmJ1c19udW0JPSAwLAorCS5waW5fY2xrCT0gUzNDMjQxMF9HUEc4LAorCS5waW5fbW9zaQk9IFMzQzI0MTBfR1BCOCwKKwkuY2hpcF9zZWxlY3QJPSBqaXZlX2xjZF9zcGlfY2hpcHNlbGVjdCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGppdmVfZGV2aWNlX2xjZHNwaSA9IHsKKwkubmFtZQkJPSAiczNjMjR4eC1zcGktZ3BpbyIsCisJLmlkCQk9IDEsCisJLm51bV9yZXNvdXJjZXMgID0gMCwKKwkuZGV2LnBsYXRmb3JtX2RhdGEgPSAmaml2ZV9sY2Rfc3BpLAorfTsKKworLyogV004NzUwIGF1ZGlvIGNvZGUgU1BJIGRlZmluaXRpb24gKi8KKworc3RhdGljIHZvaWQgaml2ZV93bTg3NTBfY2hpcHNlbGVjdChzdHJ1Y3QgczNjMjQxMF9zcGlncGlvX2luZm8gKnNwaSwgaW50IGNzKQoreworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEgxMCwgY3MgPyAwIDogMSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF9zcGlncGlvX2luZm8gaml2ZV93bTg3NTBfc3BpID0geworCS5idXNfbnVtCT0gMiwKKwkucGluX2Nsawk9IFMzQzI0MTBfR1BCNCwKKwkucGluX21vc2kJPSBTM0MyNDEwX0dQQjksCisJLmNoaXBfc2VsZWN0CT0gaml2ZV93bTg3NTBfY2hpcHNlbGVjdCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGppdmVfZGV2aWNlX3dtODc1MCA9IHsKKwkubmFtZQkJPSAiczNjMjR4eC1zcGktZ3BpbyIsCisJLmlkCQk9IDIsCisJLm51bV9yZXNvdXJjZXMgID0gMCwKKwkuZGV2LnBsYXRmb3JtX2RhdGEgPSAmaml2ZV93bTg3NTBfc3BpLAorfTsKKworLyogSklWRSBTUEkgZGV2aWNlcy4gKi8KKworc3RhdGljIHN0cnVjdCBzcGlfYm9hcmRfaW5mbyBfX2luaXRkYXRhIGppdmVfc3BpX2RldnNbXSA9IHsKKwlbMF0gPSB7CisJCS5tb2RhbGlhcwk9ICJWR0cyNDMyQTQiLAorCQkuYnVzX251bQk9IDEsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tb2RlCQk9IFNQSV9NT0RFXzMsCS8qIENQT0w9MSwgQ1BIQT0xICovCisJCS5tYXhfc3BlZWRfaHoJPSAxMDAwMDAsCisJCS5wbGF0Zm9ybV9kYXRhCT0gJmppdmVfbGNtX2NvbmZpZywKKwl9LCB7CisJCS5tb2RhbGlhcwk9ICJXTTg3NTAiLAorCQkuYnVzX251bQk9IDIsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tb2RlCQk9IFNQSV9NT0RFXzAsCS8qIENQT0w9MCwgQ1BIQT0wICovCisJCS5tYXhfc3BlZWRfaHoJPSAxMDAwMDAsCisJfSwKK307CisKKy8qIEkyQyBidXMgYW5kIGRldmljZSBjb25maWd1cmF0aW9uLiAqLworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfcGxhdGZvcm1faTJjIGppdmVfaTJjX2NmZyA9IHsKKwkubWF4X2ZyZXEJPSA4MCAqIDEwMDAsCisJLmJ1c19mcmVxCT0gNTAgKiAxMDAwLAorCS5mbGFncwkJPSBTM0NfSUlDRkxHX0ZJTFRFUiwKKwkuc2RhX2RlbGF5CT0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gaml2ZV9pMmNfZGV2c1tdID0geworCVswXSA9IHsKKwkJSTJDX0JPQVJEX0lORk8oImxpczMwMmRsIiwgMHgxYyksCisJCS5pcnEJPSBJUlFfRUlOVDE0LAorCX0sCit9OworCisvKiBUaGUgcGxhdGZvcm0gZGV2aWNlcyBiZWluZyB1c2VkLiAqLworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqaml2ZV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmczNjX2RldmljZV91c2IsCisJJnMzY19kZXZpY2VfcnRjLAorCSZzM2NfZGV2aWNlX3dkdCwKKwkmczNjX2RldmljZV9pMmMsCisJJnMzY19kZXZpY2VfbGNkLAorCSZqaXZlX2RldmljZV9sY2RzcGksCisJJmppdmVfZGV2aWNlX3dtODc1MCwKKwkmczNjX2RldmljZV9uYW5kLAorCSZzM2NfZGV2aWNlX3VzYmdhZGdldCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF91ZGNfbWFjaF9pbmZvIGppdmVfdWRjX2NmZyBfX2luaXRkYXRhID0geworCS52YnVzX3Bpbgk9IFMzQzI0MTBfR1BHMSwJCS8qIGRldGVjdCBpcyBvbiBHUEcxICovCit9OworCisvKiBKaXZlIHBvd2VyIG1hbmFnZW1lbnQgZGV2aWNlICovCisKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgaml2ZV9wbV9zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpzZCwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCS8qIFdyaXRlIHRoZSBtYWdpYyB2YWx1ZSB1LWJvb3QgdXNlcyB0byBjaGVjayBmb3IgcmVzdW1lIGludG8KKwkgKiB0aGUgSU5GT1JNMCByZWdpc3RlciwgYW5kIGVuc3VyZSBJTkZPUk0xIGlzIHNldCB0byB0aGUKKwkgKiBjb3JyZWN0IGFkZHJlc3MgdG8gcmVzdW1lIGZyb20uICovCisKKwlfX3Jhd193cml0ZWwoMHgyQkVELCBTM0MyNDEyX0lORk9STTApOworCV9fcmF3X3dyaXRlbCh2aXJ0X3RvX3BoeXMoczNjMjQxMF9jcHVfcmVzdW1lKSwgUzNDMjQxMl9JTkZPUk0xKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGppdmVfcG1fcmVzdW1lKHN0cnVjdCBzeXNfZGV2aWNlICpzZCkKK3sKKwlfX3Jhd193cml0ZWwoMHgwLCBTM0MyNDEyX0lORk9STTApOworCXJldHVybiAwOworfQorCisjZWxzZQorI2RlZmluZSBqaXZlX3BtX3N1c3BlbmQgTlVMTAorI2RlZmluZSBqaXZlX3BtX3Jlc3VtZSBOVUxMCisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3Mgaml2ZV9wbV9zeXNjbGFzcyA9IHsKKwkubmFtZQkJPSAiaml2ZS1wbSIsCisJLnN1c3BlbmQJPSBqaXZlX3BtX3N1c3BlbmQsCisJLnJlc3VtZQkJPSBqaXZlX3BtX3Jlc3VtZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBqaXZlX3BtX3N5c2RldiA9IHsKKwkuY2xzCQk9ICZqaXZlX3BtX3N5c2NsYXNzLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGppdmVfbWFwX2lvKHZvaWQpCit7CisJczNjMjR4eF9pbml0X2lvKGppdmVfaW9kZXNjLCBBUlJBWV9TSVpFKGppdmVfaW9kZXNjKSk7CisJczNjMjR4eF9pbml0X2Nsb2NrcygxMjAwMDAwMCk7CisJczNjMjR4eF9pbml0X3VhcnRzKGppdmVfdWFydGNmZ3MsIEFSUkFZX1NJWkUoaml2ZV91YXJ0Y2ZncykpOworfQorCitzdGF0aWMgdm9pZCBqaXZlX3Bvd2VyX29mZih2b2lkKQoreworCXByaW50ayhLRVJOX0lORk8gInBvd2VyaW5nIHN5c3RlbSBkb3duLi4uXG4iKTsKKworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEM1LCAxKTsKKwlzM2MyNDEwX2dwaW9fY2ZncGluKFMzQzI0MTBfR1BDNSwgUzNDMjQxMF9HUElPX09VVFBVVCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBqaXZlX21hY2hpbmVfaW5pdCh2b2lkKQoreworCS8qIHJlZ2lzdGVyIHN5c3RlbSBkZXZpY2VzIGZvciBtYW5hZ2luZyBsb3cgbGV2ZWwgc3VzcGVuZCAqLworCisJc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZqaXZlX3BtX3N5c2NsYXNzKTsKKwlzeXNkZXZfcmVnaXN0ZXIoJmppdmVfcG1fc3lzZGV2KTsKKworCS8qIHdyaXRlIG91ciBzbGVlcCBjb25maWd1cmF0aW9ucyBmb3IgdGhlIElPLiBQdWxsIGRvd24gYWxsIHVudXNlZAorCSAqIElPLCBlbnN1cmUgdGhhdCB3ZSBoYXZlIHR1cm5lZCBvZmYgYWxsIHBlcmlwaGVyYWxzIHdlIGRvIG5vdAorCSAqIG5lZWQsIGFuZCBjb25maWd1cmUgdGhlIG9uZXMgd2UgZG8gbmVlZC4gKi8KKworCS8qIFBvcnQgQiBzbGVlcCAqLworCisJX19yYXdfd3JpdGVsKFMzQzI0MTJfU0xQQ09OX0lOKDApICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0hJR0goMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0hJR0goNykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTApLCBTM0MyNDEyX0dQQlNMUENPTik7CisKKwkvKiBQb3J0IEMgc2xlZXAgKi8KKworCV9fcmF3X3dyaXRlbChTM0MyNDEyX1NMUENPTl9QVUxMKDApIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDEpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDIpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDMpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDQpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDUpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9MT1coNikgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDYpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDcpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDgpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDkpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDEwKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxMSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTIpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDEzKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxNCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTUpLCBTM0MyNDEyX0dQQ1NMUENPTik7CisKKwkvKiBQb3J0IEQgc2xlZXAgKi8KKworCV9fcmF3X3dyaXRlbChTM0MyNDEyX1NMUENPTl9BTExfUFVMTCwgUzNDMjQxMl9HUERTTFBDT04pOworCisJLyogUG9ydCBGIHNsZWVwICovCisKKwlfX3Jhd193cml0ZWwoUzNDMjQxMl9TTFBDT05fTE9XKDApICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fTE9XKDEpICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fTE9XKDIpICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCgzKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg0KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg1KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg2KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg3KSwgUzNDMjQxMl9HUEZTTFBDT04pOworCisJLyogUG9ydCBHIHNsZWVwICovCisKKwlfX3Jhd193cml0ZWwoUzNDMjQxMl9TTFBDT05fSU4oMCkgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDEpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTigyKSAgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oMykgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDQpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTig1KSAgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oNikgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDcpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDgpICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg5KSAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDEwKSAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDExKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTMpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTigxNCkgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxNSksIFMzQzI0MTJfR1BHU0xQQ09OKTsKKworCS8qIFBvcnQgSCBzbGVlcCAqLworCisJX19yYXdfd3JpdGVsKFMzQzI0MTJfU0xQQ09OX1BVTEwoMCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDcpICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDgpICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDEwKSwgUzNDMjQxMl9HUEhTTFBDT04pOworCisJLyogaW5pdGlhbGlzZSB0aGUgcG93ZXIgbWFuYWdlbWVudCBub3cgd2UndmUgc2V0dXAgZXZlcnl0aGluZy4gKi8KKworCXMzYzI0MTBfcG1faW5pdCgpOworCisJczNjX2RldmljZV9uYW5kLmRldi5wbGF0Zm9ybV9kYXRhID0gJmppdmVfbmFuZF9pbmZvOworCisJLyogaW5pdGlhbGlzZSB0aGUgc3BpICovCisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BHMTMsIDApOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEcxMywgUzNDMjQxMF9HUElPX09VVFBVVCk7CisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BCNywgMSk7CisJczNjMjQxMF9ncGlvX2NmZ3BpbihTM0MyNDEwX0dQQjcsIFMzQzI0MTBfR1BJT19PVVRQVVQpOworCisJczNjMjQxMF9ncGlvX3NldHBpbihTM0MyNDEwX0dQQjYsIDApOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEI2LCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKKworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEc4LCAxKTsKKwlzM2MyNDEwX2dwaW9fY2ZncGluKFMzQzI0MTBfR1BHOCwgUzNDMjQxMF9HUElPX09VVFBVVCk7CisKKwkvKiBpbml0aWFsaXNlIHRoZSBXTTg3NTAgc3BpICovCisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BIMTAsIDEpOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEgxMCwgUzNDMjQxMF9HUElPX09VVFBVVCk7CisKKwkvKiBUdXJuIG9mZiBzdXNwZW5kIG9uIGJvdGggVVNCIHBvcnRzLCBhbmQgc3dpdGNoIHRoZQorCSAqIHNlbGVjdGFibGUgVVNCIHBvcnQgdG8gVVNCIGRldmljZSBtb2RlLiAqLworCisJczNjMjQxMF9tb2RpZnlfbWlzY2NyKFMzQzI0MTBfTUlTQ0NSX1VTQkhPU1QgfAorCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMCB8CisJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxLCAweDApOworCisJczNjMjR4eF91ZGNfc2V0X3BsYXRkYXRhKCZqaXZlX3VkY19jZmcpOworCXMzYzI0eHhfZmJfc2V0X3BsYXRkYXRhKCZqaXZlX2xjZF9jb25maWcpOworCisJc3BpX3JlZ2lzdGVyX2JvYXJkX2luZm8oaml2ZV9zcGlfZGV2cywgQVJSQVlfU0laRShqaXZlX3NwaV9kZXZzKSk7CisKKwlzM2NfZGV2aWNlX2kyYy5kZXYucGxhdGZvcm1fZGF0YSA9ICZqaXZlX2kyY19jZmc7CisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgaml2ZV9pMmNfZGV2cywgQVJSQVlfU0laRShqaXZlX2kyY19kZXZzKSk7CisKKwlwbV9wb3dlcl9vZmYgPSBqaXZlX3Bvd2VyX29mZjsKKworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGppdmVfZGV2aWNlcywgQVJSQVlfU0laRShqaXZlX2RldmljZXMpKTsKK30KKworTUFDSElORV9TVEFSVChKSVZFLCAiSklWRSIpCisJLyogTWFpbnRhaW5lcjogQmVuIERvb2tzIDxiZW5AZmx1ZmYub3JnPiAqLworCS5waHlzX2lvCT0gUzNDMjQxMF9QQV9VQVJULAorCS5pb19wZ19vZmZzdAk9ICgoKHUzMilTM0MyNFhYX1ZBX1VBUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSBTM0MyNDEwX1NEUkFNX1BBICsgMHgxMDAsCisKKwkuaW5pdF9pcnEJPSBzM2MyNHh4X2luaXRfaXJxLAorCS5tYXBfaW8JCT0gaml2ZV9tYXBfaW8sCisJLmluaXRfbWFjaGluZQk9IGppdmVfbWFjaGluZV9pbml0LAorCS50aW1lcgkJPSAmczNjMjR4eF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9LY29uZmlnCmluZGV4IGYxOTE1YmQuLjI1ZGUwNDIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9LY29uZmlnCkBAIC0yOSw2ICsyOSw3IEBACiAJYm9vbCAiU2ltdGVjIEVsZWN0cm9uaWNzIEFOVUJJUyIKIAlzZWxlY3QgQ1BVX1MzQzI0NDAKIAlzZWxlY3QgUE1fU0lNVEVDIGlmIFBNCisJc2VsZWN0IEhBVkVfUEFUQV9QTEFURk9STQogCWhlbHAKIAkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgU2ltdGVjIEVsZWN0cm9uaWNzIEFOVUJJUwogCSAgZGV2ZWxvcG1lbnQgc3lzdGVtCkBAIC02Nyw2ICs2OCwxMSBAQAogCWRlZmF1bHQgeSBpZiBBUkNIX1MzQzI0NDAKIAlzZWxlY3QgQ1BVX1MzQzI0NDAKIAorY29uZmlnIE1BQ0hfQVQyNDQwRVZCCisJYm9vbCAiQXZhbnRlY2ggQVQyNDQwRVZCIGRldmVsb3BtZW50IGJvYXJkIgorCXNlbGVjdCBDUFVfUzNDMjQ0MAorCWhlbHAKKwkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgQVQyNDQwRVZCIGRldmVsb3BtZW50IGJvYXJkCiAKIGVuZG1lbnUKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL01ha2VmaWxlCmluZGV4IGM4MWVkNjIuLjBiNDQ0MGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvTWFrZWZpbGUKQEAgLTIxLDMgKzIxLDQgQEAKIG9iai0kKENPTkZJR19NQUNIX1JYMzcxNSkJKz0gbWFjaC1yeDM3MTUubwogb2JqLSQoQ09ORklHX0FSQ0hfUzNDMjQ0MCkJKz0gbWFjaC1zbWRrMjQ0MC5vCiBvYmotJChDT05GSUdfTUFDSF9ORVhDT0RFUl8yNDQwKSArPSBtYWNoLW5leGNvZGVyLm8KK29iai0kKENPTkZJR19NQUNIX0FUMjQ0MEVWQikgKz0gbWFjaC1hdDI0NDBldmIubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtYW51YmlzLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hbnViaXMuYwppbmRleCA0NzI1ODkxLi4wOWFmOGIyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hbnViaXMuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hbnViaXMuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWFudWJpcy5jCiAgKgotICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcwogICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KICAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCkBAIC0xNyw2ICsxNyw4IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAKICNpbmNsdWRlIDxsaW51eC9zbTUwMS5oPgogI2luY2x1ZGUgPGxpbnV4L3NtNTAxLXJlZ3MuaD4KQEAgLTI0MSwxNCArMjQzLDE4IEBACiAKIC8qIElERSBjaGFubmVscyAqLwogCitzdHJ1Y3QgcGF0YV9wbGF0Zm9ybV9pbmZvIGFudWJpc19pZGVfcGxhdGRhdGEgPSB7CisJLmlvcG9ydF9zaGlmdAk9IDUsCit9OworCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGFudWJpc19pZGUwX3Jlc291cmNlW10gPSB7CiAJewogCQkuc3RhcnQJPSBTM0MyNDEwX0NTMywKIAkJLmVuZAk9IFMzQzI0MTBfQ1MzICsgKDgqMzIpIC0gMSwKIAkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCiAJfSwgewotCQkuc3RhcnQJPSBTM0MyNDEwX0NTMyArICgxPDwyNiksCi0JCS5lbmQJPSBTM0MyNDEwX0NTMyArICgxPDwyNikgKyAoOCozMikgLSAxLAorCQkuc3RhcnQJPSBTM0MyNDEwX0NTMyArICgxPDwyNikgKyAoNiozMiksCisJCS5lbmQJPSBTM0MyNDEwX0NTMyArICgxPDwyNikgKyAoNyozMikgLSAxLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LCB7CiAJCS5zdGFydAk9IElSUV9JREUwLApAQCAtMjU4LDEwICsyNjQsMTQgQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGFudWJpc19kZXZpY2VfaWRlMCA9IHsKLQkubmFtZQkJPSAic2ltdGVjLWlkZSIsCisJLm5hbWUJCT0gInBhdGFfcGxhdGZvcm0iLAogCS5pZAkJPSAwLAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShhbnViaXNfaWRlMF9yZXNvdXJjZSksCiAJLnJlc291cmNlCT0gYW51YmlzX2lkZTBfcmVzb3VyY2UsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYW51YmlzX2lkZV9wbGF0ZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gfjAsCisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYW51YmlzX2lkZTFfcmVzb3VyY2VbXSA9IHsKQEAgLTI3MCw4ICsyODAsOCBAQAogCQkuZW5kCT0gUzNDMjQxMF9DUzQgKyAoOCozMikgLSAxLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LCB7Ci0JCS5zdGFydAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSwKLQkJLmVuZAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSArICg4KjMyKSAtIDEsCisJCS5zdGFydAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSArICg2KjMyKSwKKwkJLmVuZAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSArICg3KjMyKSAtIDEsCiAJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAogCX0sIHsKIAkJLnN0YXJ0CT0gSVJRX0lERTAsCkBAIC0yODAsMTIgKzI5MCwxNSBAQAogCX0sCiB9OwogCi0KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGFudWJpc19kZXZpY2VfaWRlMSA9IHsKLQkubmFtZQkJPSAic2ltdGVjLWlkZSIsCisJLm5hbWUJCT0gInBhdGFfcGxhdGZvcm0iLAogCS5pZAkJPSAxLAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShhbnViaXNfaWRlMV9yZXNvdXJjZSksCiAJLnJlc291cmNlCT0gYW51YmlzX2lkZTFfcmVzb3VyY2UsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYW51YmlzX2lkZV9wbGF0ZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gfjAsCisJfSwKIH07CiAKIC8qIEFzaXggQVg4ODc5NiAxMC8xMDAgZXRoZXJuZXQgY29udHJvbGxlciAqLwpAQCAtNDA5LDYgKzQyMiwxNSBAQAogCSZzM2MyNHh4X3VjbGssCiB9OwogCisvKiBJMkMgZGV2aWNlcy4gKi8KKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBhbnViaXNfaTJjX2RldnNbXSBfX2luaXRkYXRhID0geworCXsKKwkJSTJDX0JPQVJEX0lORk8oInRwczY1MDExIiwgMHg0OCksCisJCS5pcnEJPSBJUlFfRUlOVDIwLAorCX0KK307CisKIHN0YXRpYyB2b2lkIF9faW5pdCBhbnViaXNfbWFwX2lvKHZvaWQpCiB7CiAJLyogaW5pdGlhbGlzZSB0aGUgY2xvY2tzICovCkBAIC00NDgsNiArNDcwLDkgQEAKIHN0YXRpYyB2b2lkIF9faW5pdCBhbnViaXNfaW5pdCh2b2lkKQogewogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGFudWJpc19kZXZpY2VzLCBBUlJBWV9TSVpFKGFudWJpc19kZXZpY2VzKSk7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCBhbnViaXNfaTJjX2RldnMsCisJCQkJQVJSQVlfU0laRShhbnViaXNfaTJjX2RldnMpKTsKIH0KIAogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hdDI0NDBldmIuYyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWF0MjQ0MGV2Yi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZTNjN2YKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hdDI0NDBldmIuYwpAQCAtMCwwICsxLDE5OCBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtYXQyNDQwZXZiLmMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggUmFtYXggTG8gPHJhbWF4bG9AZ21haWwuY29tPgorICogICAgICBCYXNlZCBvbiBtYWNoLWFudWJpcy5jIGJ5IEJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KKyAqICAgICAgYW5kIG1vZGlmaWNhdGlvbnMgYnkgU0JaIDxzYnpAc3BndWkub3JnPiBhbmQKKyAqICAgICAgV2VpYmluZyA8aHR0cDovL3dlaWJpbmcuYmxvZ2J1cy5jb20+CisgKgorICogRm9yIHByb2R1Y3QgaW5mb3JtYXRpb24sIHZpc2l0IGh0dHA6Ly93d3cuYXJtOWUuY29tLworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtOTAwMC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2lycS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLW1lbS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtbGNkLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL25hbmQuaD4KKworI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kX2VjYy5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9wYXJ0aXRpb25zLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2Nsb2NrLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9kZXZzLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jcHUuaD4KKworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBhdDI0NDBldmJfaW9kZXNjW10gX19pbml0ZGF0YSA9IHsKKwkvKiBOb3RoaW5nIGhlcmUgKi8KK307CisKKyNkZWZpbmUgVUNPTiBTM0MyNDEwX1VDT05fREVGQVVMVAorI2RlZmluZSBVTENPTiAoUzNDMjQxMF9MQ09OX0NTOCB8IFMzQzI0MTBfTENPTl9QTk9ORSkKKyNkZWZpbmUgVUZDT04gKFMzQzI0MTBfVUZDT05fUlhUUklHOCB8IFMzQzI0MTBfVUZDT05fRklGT01PREUpCisKK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyBhdDI0NDBldmJfc2VyaWFsX2Nsb2Nrc1tdID0geworCVswXSA9IHsKKwkJLm5hbWUJCT0gInVjbGsiLAorCQkuZGl2aXNvcgk9IDEsCisJCS5taW5fYmF1ZAk9IDAsCisJCS5tYXhfYmF1ZAk9IDAsCisJfSwKKwlbMV0gPSB7CisJCS5uYW1lCQk9ICJwY2xrIiwKKwkJLmRpdmlzb3IJPSAxLAorCQkubWluX2JhdWQJPSAwLAorCQkubWF4X2JhdWQJPSAwLAorCX0KK307CisKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgYXQyNDQwZXZiX3VhcnRjZmdzW10gX19pbml0ZGF0YSA9IHsKKwlbMF0gPSB7CisJCS5od3BvcnQJICAgICA9IDAsCisJCS5mbGFncwkgICAgID0gMCwKKwkJLnVjb24JICAgICA9IFVDT04sCisJCS51bGNvbgkgICAgID0gVUxDT04sCisJCS51ZmNvbgkgICAgID0gVUZDT04sCisJCS5jbG9ja3MJICAgICA9IGF0MjQ0MGV2Yl9zZXJpYWxfY2xvY2tzLAorCQkuY2xvY2tzX3NpemUgPSBBUlJBWV9TSVpFKGF0MjQ0MGV2Yl9zZXJpYWxfY2xvY2tzKSwKKwl9LAorCVsxXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMSwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwkJLmNsb2NrcwkgICAgID0gYXQyNDQwZXZiX3NlcmlhbF9jbG9ja3MsCisJCS5jbG9ja3Nfc2l6ZSA9IEFSUkFZX1NJWkUoYXQyNDQwZXZiX3NlcmlhbF9jbG9ja3MpLAorCX0sCit9OworCisvKiBOQU5EIEZsYXNoIG9uIEFUMjQ0MEVWQiBib2FyZCAqLworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gYXQyNDQwZXZiX2RlZmF1bHRfbmFuZF9wYXJ0W10gPSB7CisJWzBdID0geworCQkubmFtZQk9ICJCb290IEFnZW50IiwKKwkJLnNpemUJPSBTWl8yNTZLLAorCQkub2Zmc2V0CT0gMCwKKwl9LAorCVsxXSA9IHsKKwkJLm5hbWUJPSAiS2VybmVsIiwKKwkJLnNpemUJPSBTWl8yTSwKKwkJLm9mZnNldAk9IFNaXzI1NkssCisJfSwKKwlbMl0gPSB7CisJCS5uYW1lCT0gIlJvb3QiLAorCQkub2Zmc2V0CT0gU1pfMjU2SyArIFNaXzJNLAorCQkuc2l6ZQk9IE1URFBBUlRfU0laX0ZVTEwsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF9uYW5kX3NldCBhdDI0NDBldmJfbmFuZF9zZXRzW10gPSB7CisJWzBdID0geworCQkubmFtZQkJPSAibmFuZCIsCisJCS5ucl9jaGlwcwk9IDEsCisJCS5ucl9wYXJ0aXRpb25zCT0gQVJSQVlfU0laRShhdDI0NDBldmJfZGVmYXVsdF9uYW5kX3BhcnQpLAorCQkucGFydGl0aW9ucwk9IGF0MjQ0MGV2Yl9kZWZhdWx0X25hbmRfcGFydCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3BsYXRmb3JtX25hbmQgYXQyNDQwZXZiX25hbmRfaW5mbyA9IHsKKwkudGFjbHMJCT0gMjUsCisJLnR3cnBoMAkJPSA1NSwKKwkudHdycGgxCQk9IDQwLAorCS5ucl9zZXRzCT0gQVJSQVlfU0laRShhdDI0NDBldmJfbmFuZF9zZXRzKSwKKwkuc2V0cwkJPSBhdDI0NDBldmJfbmFuZF9zZXRzLAorfTsKKworLyogRE05MDAwQUVQIDEwLzEwMCBldGhlcm5ldCBjb250cm9sbGVyICovCisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYXQyNDQwZXZiX2RtOWtfcmVzb3VyY2VbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydCA9IFMzQzI0MTBfQ1MzLAorCQkuZW5kICAgPSBTM0MyNDEwX0NTMyArIDMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydCA9IFMzQzI0MTBfQ1MzICsgNCwKKwkJLmVuZCAgID0gUzNDMjQxMF9DUzMgKyA3LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzJdID0geworCQkuc3RhcnQgPSBJUlFfRUlOVDcsCisJCS5lbmQgICA9IElSUV9FSU5UNywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEgfCBJT1JFU09VUkNFX0lSUV9ISUdIRURHRSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGRtOTAwMF9wbGF0X2RhdGEgYXQyNDQwZXZiX2RtOWtfcGRhdGEgPSB7CisJLmZsYWdzCQk9IChETTkwMDBfUExBVEZfMTZCSVRPTkxZIHwgRE05MDAwX1BMQVRGX05PX0VFUFJPTSksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBhdDI0NDBldmJfZGV2aWNlX2V0aCA9IHsKKwkubmFtZQkJPSAiZG05MDAwIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGF0MjQ0MGV2Yl9kbTlrX3Jlc291cmNlKSwKKwkucmVzb3VyY2UJPSBhdDI0NDBldmJfZG05a19yZXNvdXJjZSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmYXQyNDQwZXZiX2RtOWtfcGRhdGEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdDI0NDBldmJfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJnMzY19kZXZpY2VfdXNiLAorCSZzM2NfZGV2aWNlX3dkdCwKKwkmczNjX2RldmljZV9hZGMsCisJJnMzY19kZXZpY2VfaTJjLAorCSZzM2NfZGV2aWNlX3J0YywKKwkmczNjX2RldmljZV9uYW5kLAorCSZhdDI0NDBldmJfZGV2aWNlX2V0aCwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBhdDI0NDBldmJfbWFwX2lvKHZvaWQpCit7CisJczNjX2RldmljZV9uYW5kLmRldi5wbGF0Zm9ybV9kYXRhID0gJmF0MjQ0MGV2Yl9uYW5kX2luZm87CisKKwlzM2MyNHh4X2luaXRfaW8oYXQyNDQwZXZiX2lvZGVzYywgQVJSQVlfU0laRShhdDI0NDBldmJfaW9kZXNjKSk7CisJczNjMjR4eF9pbml0X2Nsb2NrcygxNjkzNDQwMCk7CisJczNjMjR4eF9pbml0X3VhcnRzKGF0MjQ0MGV2Yl91YXJ0Y2ZncywgQVJSQVlfU0laRShhdDI0NDBldmJfdWFydGNmZ3MpKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGF0MjQ0MGV2Yl9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fYWRkX2RldmljZXMoYXQyNDQwZXZiX2RldmljZXMsIEFSUkFZX1NJWkUoYXQyNDQwZXZiX2RldmljZXMpKTsKK30KKworCitNQUNISU5FX1NUQVJUKEFUMjQ0MEVWQiwgIkFUMjQ0MEVWQiIpCisJLnBoeXNfaW8JPSBTM0MyNDEwX1BBX1VBUlQsCisJLmlvX3BnX29mZnN0CT0gKCgodTMyKVMzQzI0WFhfVkFfVUFSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IFMzQzI0MTBfU0RSQU1fUEEgKyAweDEwMCwKKwkubWFwX2lvCQk9IGF0MjQ0MGV2Yl9tYXBfaW8sCisJLmluaXRfbWFjaGluZQk9IGF0MjQ0MGV2Yl9pbml0LAorCS5pbml0X2lycQk9IHMzYzI0eHhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZzM2MyNHh4X3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLW9zaXJpcy5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtb3NpcmlzLmMKaW5kZXggOGE4YWNkYi4uYWY5OTZiMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtb3NpcmlzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtb3NpcmlzLmMKQEAgLTEsNiArMSw2IEBACiAvKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1vc2lyaXMuYwogICoKLSAqIENvcHlyaWdodCAoYykgMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoYykgMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcwogICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KICAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KIAogI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KICNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KQEAgLTMyMiw2ICszMjMsMTUgQEAKIAkuY2xzCQk9ICZvc2lyaXNfcG1fc3lzY2xhc3MsCiB9OwogCisvKiBJMkMgZGV2aWNlcyBmaXR0ZWQuICovCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gb3NpcmlzX2kyY19kZXZzW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCUkyQ19CT0FSRF9JTkZPKCJ0cHM2NTAxMSIsIDB4NDgpLAorCQkuaXJxCT0gSVJRX0VJTlQyMCwKKwl9LAorfTsKKwogLyogU3RhbmRhcmQgT3NpcmlzIGRldmljZXMgKi8KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm9zaXJpc19kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKQEAgLTM4OCw2ICszOTgsOSBAQAogCXN5c2Rldl9jbGFzc19yZWdpc3Rlcigmb3NpcmlzX3BtX3N5c2NsYXNzKTsKIAlzeXNkZXZfcmVnaXN0ZXIoJm9zaXJpc19wbV9zeXNkZXYpOwogCisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgb3NpcmlzX2kyY19kZXZzLAorCQkJCUFSUkFZX1NJWkUob3NpcmlzX2kyY19kZXZzKSk7CisKIAlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhvc2lyaXNfZGV2aWNlcywgQVJSQVlfU0laRShvc2lyaXNfZGV2aWNlcykpOwogfTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQzL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDMvY2xvY2suYwppbmRleCBiNDJmOTU2Li4xN2YwNjRmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0NDMvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDMvY2xvY2suYwpAQCAtODEsNyArODEsNyBAQAogCWVsc2UKIAkJY2xrY29uICY9IH5jbG9ja3M7CiAKLQlfX3Jhd193cml0ZWwoY2xrY29uLCBTM0MyNDQzX0hDTEtDT04pOworCV9fcmF3X3dyaXRlbChjbGtjb24sIFMzQzI0NDNfUENMS0NPTik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTIyMSw3ICsyMjEsNiBAQAogCS5nZXRfcmF0ZQk9IHMzYzI0NDNfZ2V0cmF0ZV9tZGl2Y2xrLAogfTsKIAotCiBzdGF0aWMgaW50IHMzYzI0NDNfc2V0cGFyZW50X21zeXNjbGsoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCiB7CiAJdW5zaWduZWQgbG9uZyBjbGtzcmMgPSBfX3Jhd19yZWFkbChTM0MyNDQzX0NMS1NSQyk7CkBAIC0yNDksNiArMjQ4LDQ2IEBACiAJLnNldF9wYXJlbnQJPSBzM2MyNDQzX3NldHBhcmVudF9tc3lzY2xrLAogfTsKIAorLyogYXJtZGl2CisgKgorICogdGhpcyBjbG9jayBpcyBzb3VyY2VkIGZyb20gbXN5c2NsayBhbmQgY2FuIGhhdmUgYSBudW1iZXIgb2YKKyAqIGRpdmlkZXIgdmFsdWVzIGFwcGxpZWQgdG8gaXQgdG8gdGhlbiBiZSBmZWQgaW50byBhcm1jbGsuCisqLworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfYXJtZGl2ID0geworCS5uYW1lCQk9ICJhcm1kaXYiLAorCS5pZAkJPSAtMSwKKwkucGFyZW50CQk9ICZjbGtfbXN5c2NsaywKK307CisKKy8qIGFybWNsaworICoKKyAqIHRoaXMgaXMgdGhlIGNsb2NrIGZlZCBpbnRvIHRoZSBBUk0gY29yZSBpdHNlbGYsIGVpdGhlciBmcm9tCisgKiBhcm1kaXYgb3IgZnJvbSBoY2xrLgorICovCisKK3N0YXRpYyBpbnQgczNjMjQ0M19zZXRwYXJlbnRfYXJtY2xrKHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCXVuc2lnbmVkIGxvbmcgY2xrZGl2MDsKKworCWNsa2RpdjAgPSBfX3Jhd19yZWFkbChTM0MyNDQzX0NMS0RJVjApOworCisJaWYgKHBhcmVudCA9PSAmY2xrX2FybWRpdikKKwkJY2xrZGl2MCAmPSB+UzNDMjQ0M19DTEtESVYwX0RWUzsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmNsa19oKQorCQljbGtkaXYwIHw9IFMzQzI0NDNfQ0xLRElWMF9EVlM7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKKworCV9fcmF3X3dyaXRlbChjbGtkaXYwLCBTM0MyNDQzX0NMS0RJVjApOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtfYXJtID0geworCS5uYW1lCQk9ICJhcm1jbGsiLAorCS5pZAkJPSAtMSwKKwkuc2V0X3BhcmVudAk9IHMzYzI0NDNfc2V0cGFyZW50X2FybWNsaywKK307CiAKIC8qIGVzeXNjbGsKICAqCkBAIC02MzksNiArNjc4LDI5IEBACiAJLnJvdW5kX3JhdGUJPSBzM2MyNDQzX3JvdW5kcmF0ZV9jbGtzcmMyNTYsCiB9OwogCisvKiBwcmVkaXYKKyAqCisgKiB0aGlzIGRpdmlkZXMgdGhlIG1zeXNjbGsgZG93biB0byBwYXNzIHRvIGgvcC9ldGMuCisgKi8KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgczNjMjQ0M19wcmVkaXZfZ2V0cmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwl1bnNpZ25lZCBsb25nIGNsa2RpdjAgPSBfX3Jhd19yZWFkbChTM0MyNDQzX0NMS0RJVjApOworCisJY2xrZGl2MCAmPSBTM0MyNDQzX0NMS0RJVjBfUFJFRElWX01BU0s7CisJY2xrZGl2MCA+Pj0gUzNDMjQ0M19DTEtESVYwX1BSRURJVl9TSElGVDsKKworCXJldHVybiByYXRlIC8gKGNsa2RpdjAgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY2xrX3ByZWRpdiA9IHsKKwkubmFtZQkJPSAicHJlZGl2IiwKKwkuaWQJCT0gLTEsCisJLnBhcmVudAkJPSAmY2xrX21zeXNjbGssCisJLmdldF9yYXRlCT0gczNjMjQ0M19wcmVkaXZfZ2V0cmF0ZSwKK307CisKIC8qIHN0YW5kYXJkIGNsb2NrIGRlZmluaXRpb25zICovCiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGluaXRfY2xvY2tzX2Rpc2FibGVbXSA9IHsKQEAgLTg4Nyw2ICs5NDksMTUgQEAKIAl9CiAKIAljbGtfaW5pdF9zZXRfcGFyZW50KCZjbGtfbXN5c2NsaywgcGFyZW50KTsKKworCS8qIGFybSAqLworCisJaWYgKF9fcmF3X3JlYWRsKFMzQzI0NDNfQ0xLRElWMCkgJiBTM0MyNDQzX0NMS0RJVjBfRFZTKQorCQlwYXJlbnQgPSAmY2xrX2g7CisJZWxzZQorCQlwYXJlbnQgPSAmY2xrX2FybWRpdjsKKworCWNsa19pbml0X3NldF9wYXJlbnQoJmNsa19hcm0sIHBhcmVudCk7CiB9CiAKIC8qIGFybWRpdiBkaXZpc29yIHRhYmxlICovCkBAIC05MDksMTAgKzk4MCw5IEBACiAJcmV0dXJuIGFybWRpdltjbGtjb24wID4+IFMzQzI0NDNfQ0xLRElWMF9BUk1ESVZfU0hJRlRdOwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgczNjMjQ0M19nZXRfcHJlZGl2KHVuc2lnbmVkIGxvbmcgY2xrY29uMCkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBzM2MyNDQzX2dldF9oZGl2KHVuc2lnbmVkIGxvbmcgY2xrY29uMCkKIHsKLQljbGtjb24wICY9IFMzQzI0NDNfQ0xLRElWMF9QUkVESVZfTUFTSzsKLQljbGtjb24wID4+PSBTM0MyNDQzX0NMS0RJVjBfUFJFRElWX1NISUZUOworCWNsa2NvbjAgJj0gUzNDMjQ0M19DTEtESVYwX0hDTEtESVZfTUFTSzsKIAogCXJldHVybiBjbGtjb24wICsgMTsKIH0KQEAgLTkzNiw2ICsxMDA2LDkgQEAKIAkmY2xrX2hzc3BpLAogCSZjbGtfaHNtbWNfZGl2LAogCSZjbGtfaHNtbWMsCisJJmNsa19hcm1kaXYsCisJJmNsa19hcm0sCisJJmNsa19wcmVkaXYsCiB9OwogCiB2b2lkIF9faW5pdCBzM2MyNDQzX2luaXRfY2xvY2tzKGludCB4dGFsKQpAQCAtOTUxLDEwICsxMDI0LDE2IEBACiAJaW50IHJldDsKIAlpbnQgcHRyOwogCisJLyogczNjMjQ0MyBwYXJlbnRzIGggYW5kIHAgY2xvY2tzIGZyb20gcHJlZGl2ICovCisJY2xrX2gucGFyZW50ID0gJmNsa19wcmVkaXY7CisJY2xrX3AucGFyZW50ID0gJmNsa19wcmVkaXY7CisKIAlwbGwgPSBzM2MyNDQzX2dldF9tcGxsKG1wbGxjb24sIHh0YWwpOworCWNsa19tc3lzY2xrLnJhdGUgPSBwbGw7CiAKIAlmY2xrID0gcGxsIC8gczNjMjQ0M19mY2xrX2RpdihjbGtkaXYwKTsKLQloY2xrID0gZmNsayAvIHMzYzI0NDNfZ2V0X3ByZWRpdihjbGtkaXYwKTsKKwloY2xrID0gczNjMjQ0M19wcmVkaXZfZ2V0cmF0ZSgmY2xrX3ByZWRpdik7CisJaGNsayA9IGhjbGsgLyBzM2MyNDQzX2dldF9oZGl2KGNsa2RpdjApOwogCWhjbGsgPSBoY2xrIC8gKChjbGtkaXYwICYgUzNDMjQ0M19DTEtESVYwX0hBTEZfSENMSykgPyAyIDogMSk7CiAgCXBjbGsgPSBoY2xrIC8gKChjbGtkaXYwICYgUzNDMjQ0M19DTEtESVYwX0hBTEZfUENMSykgPyAyIDogMSk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL0tjb25maWcgYi9hcmNoL2FybS9tbS9LY29uZmlnCmluZGV4IDMzZWQwNDguLjNhNmM4ZWMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbW0vS2NvbmZpZwpAQCAtMTgwLDggKzE4MCwyMSBAQAogIyBBUk05MjZUCiBjb25maWcgQ1BVX0FSTTkyNlQKIAlib29sICJTdXBwb3J0IEFSTTkyNlQgcHJvY2Vzc29yIgotCWRlcGVuZHMgb24gQVJDSF9JTlRFR1JBVE9SIHx8IEFSQ0hfVkVSU0FUSUxFX1BCIHx8IE1BQ0hfVkVSU0FUSUxFX0FCIHx8IEFSQ0hfT01BUDczMCB8fCBBUkNIX09NQVAxNlhYIHx8IE1BQ0hfUkVBTFZJRVdfRUIgfHwgQVJDSF9QTlg0MDA4IHx8IEFSQ0hfTkVUWCB8fCBDUFVfUzNDMjQxMiB8fCBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjEgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFTQU05UkwgfHwgQVJDSF9BVDkxQ0FQOSB8fCBBUkNIX05TOVhYWCB8fCBBUkNIX0RBVklOQ0kKLQlkZWZhdWx0IHkgaWYgQVJDSF9WRVJTQVRJTEVfUEIgfHwgTUFDSF9WRVJTQVRJTEVfQUIgfHwgQVJDSF9PTUFQNzMwIHx8IEFSQ0hfT01BUDE2WFggfHwgQVJDSF9QTlg0MDA4IHx8IEFSQ0hfTkVUWCB8fCBDUFVfUzNDMjQxMiB8fCBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjEgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFTQU05UkwgfHwgQVJDSF9BVDkxQ0FQOSB8fCBBUkNIX05TOVhYWCB8fCBBUkNIX0RBVklOQ0kKKwlkZXBlbmRzIG9uIEFSQ0hfSU5URUdSQVRPUiB8fCBBUkNIX1ZFUlNBVElMRV9QQiB8fCBcCisJCU1BQ0hfVkVSU0FUSUxFX0FCIHx8IEFSQ0hfT01BUDczMCB8fCBcCisJCUFSQ0hfT01BUDE2WFggfHwgTUFDSF9SRUFMVklFV19FQiB8fCBcCisJCUFSQ0hfUE5YNDAwOCB8fCBBUkNIX05FVFggfHwgQ1BVX1MzQzI0MTIgfHwgXAorCQlBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjEgfHwgXAorCQlBUkNIX0FUOTFTQU05MjYzIHx8IEFSQ0hfQVQ5MVNBTTlSTCB8fCBcCisJCUFSQ0hfQVQ5MVNBTTlHMjAgfHwgQVJDSF9BVDkxQ0FQOSB8fCBcCisJCUFSQ0hfTlM5WFhYIHx8IEFSQ0hfREFWSU5DSQorCWRlZmF1bHQgeSBpZiBBUkNIX1ZFUlNBVElMRV9QQiB8fCBNQUNIX1ZFUlNBVElMRV9BQiB8fCBcCisJCUFSQ0hfT01BUDczMCB8fCBBUkNIX09NQVAxNlhYIHx8IFwKKwkJQVJDSF9QTlg0MDA4IHx8IEFSQ0hfTkVUWCB8fCBDUFVfUzNDMjQxMiB8fCBcCisJCUFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MSB8fCBcCisJCUFSQ0hfQVQ5MVNBTTkyNjMgfHwgQVJDSF9BVDkxU0FNOVJMIHx8IFwKKwkJQVJDSF9BVDkxU0FNOUcyMCB8fCBBUkNIX0FUOTFDQVA5IHx8IFwKKwkJQVJDSF9OUzlYWFggfHwgQVJDSF9EQVZJTkNJIHx8IEFSQ0hfTVgyCiAJc2VsZWN0IENQVV8zMnY1CiAJc2VsZWN0IENQVV9BQlJUX0VWNVRKCiAJc2VsZWN0IENQVV9QQUJSVF9OT0lGQVIKQEAgLTM2NSw3ICszNzgsNyBAQAogIyBGZXJvY2VvbgogY29uZmlnIENQVV9GRVJPQ0VPTgogCWJvb2wKLQlkZXBlbmRzIG9uIEFSQ0hfT1JJT041WAorCWRlcGVuZHMgb24gQVJDSF9PUklPTjVYIHx8IEFSQ0hfTE9LSSB8fCBBUkNIX0tJUktXT09EIHx8IEFSQ0hfTVY3OFhYMAogCWRlZmF1bHQgeQogCXNlbGVjdCBDUFVfMzJ2NQogCXNlbGVjdCBDUFVfQUJSVF9FVjVUCkBAIC0zNzMsNyArMzg2LDcgQEAKIAlzZWxlY3QgQ1BVX0NBQ0hFX1ZJVlQKIAlzZWxlY3QgQ1BVX0NQMTVfTU1VCiAJc2VsZWN0IENQVV9DT1BZX0ZFUk9DRU9OIGlmIE1NVQotCXNlbGVjdCBDUFVfVExCX1Y0V0JJIGlmIE1NVQorCXNlbGVjdCBDUFVfVExCX0ZFUk9DRU9OIGlmIE1NVQogCiBjb25maWcgQ1BVX0ZFUk9DRU9OX09MRF9JRAogCWJvb2wgIkFjY2VwdCBlYXJseSBGZXJvY2VvbiBjb3JlcyB3aXRoIGFuIEFSTTkyNiBJRCIKQEAgLTU1MSw2ICs1NjQsMTEgQEAKIAkgIEFSTSBBcmNoaXRlY3R1cmUgVmVyc2lvbiA0IFRMQiB3aXRoIHdyaXRlYmFjayBjYWNoZSBhbmQgaW52YWxpZGF0ZQogCSAgaW5zdHJ1Y3Rpb24gY2FjaGUgZW50cnkuCiAKK2NvbmZpZyBDUFVfVExCX0ZFUk9DRU9OCisJYm9vbAorCWhlbHAKKwkgIEZlcm9jZW9uIFRMQiAodjR3Ymkgd2l0aCBub24tb3V0ZXItY2FjaGFibGUgcGFnZSB0YWJsZSB3YWxrcykuCisKIGNvbmZpZyBDUFVfVExCX1Y2CiAJYm9vbAogCkBAIC03MDksNiArNzI3LDE0IEBACiAJYm9vbAogCWRlZmF1bHQgbgogCitjb25maWcgQ0FDSEVfRkVST0NFT05fTDIKKwlib29sICJFbmFibGUgdGhlIEZlcm9jZW9uIEwyIGNhY2hlIGNvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiBBUkNIX0tJUktXT09EIHx8IEFSQ0hfTVY3OFhYMAorCWRlZmF1bHQgeQorCXNlbGVjdCBPVVRFUl9DQUNIRQorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgdGhlIEZlcm9jZW9uIEwyIGNhY2hlIGNvbnRyb2xsZXIuCisKIGNvbmZpZyBDQUNIRV9MMlgwCiAJYm9vbCAiRW5hYmxlIHRoZSBMMngwIG91dGVyIGNhY2hlIGNvbnRyb2xsZXIiCiAJZGVwZW5kcyBvbiBSRUFMVklFV19FQl9BUk0xMU1QIHx8IE1BQ0hfUkVBTFZJRVdfUEIxMU1QIHx8IE1BQ0hfUkVBTFZJRVdfUEIxMTc2CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9NYWtlZmlsZSBiL2FyY2gvYXJtL21tL01ha2VmaWxlCmluZGV4IDMyYjJkMmQuLmY2NGI5MjUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21tL01ha2VmaWxlCkBAIC00Niw2ICs0Niw3IEBACiBvYmotJChDT05GSUdfQ1BVX1RMQl9WNFdUKQkrPSB0bGItdjQubwogb2JqLSQoQ09ORklHX0NQVV9UTEJfVjRXQikJKz0gdGxiLXY0d2Iubwogb2JqLSQoQ09ORklHX0NQVV9UTEJfVjRXQkkpCSs9IHRsYi12NHdiaS5vCitvYmotJChDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTikJKz0gdGxiLXY0d2JpLm8JIyByZXVzZSB2NHdiaSBUTEIgZnVuY3Rpb25zCiBvYmotJChDT05GSUdfQ1BVX1RMQl9WNikJKz0gdGxiLXY2Lm8KIG9iai0kKENPTkZJR19DUFVfVExCX1Y3KQkrPSB0bGItdjcubwogCkBAIC03Myw0ICs3NCw1IEBACiBvYmotJChDT05GSUdfQ1BVX1Y2KQkJKz0gcHJvYy12Ni5vCiBvYmotJChDT05GSUdfQ1BVX1Y3KQkJKz0gcHJvYy12Ny5vCiAKK29iai0kKENPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMikJKz0gY2FjaGUtZmVyb2Nlb24tbDIubwogb2JqLSQoQ09ORklHX0NBQ0hFX0wyWDApCSs9IGNhY2hlLWwyeDAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbW0vY2FjaGUtZmVyb2Nlb24tbDIuYyBiL2FyY2gvYXJtL21tL2NhY2hlLWZlcm9jZW9uLWwyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBlZWM0YgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21tL2NhY2hlLWZlcm9jZW9uLWwyLmMKQEAgLTAsMCArMSwzMTggQEAKKy8qCisgKiBhcmNoL2FybS9tbS9jYWNoZS1mZXJvY2Vvbi1sMi5jIC0gRmVyb2Nlb24gTDIgY2FjaGUgY29udHJvbGxlciBzdXBwb3J0CisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IE1hcnZlbGwgU2VtaWNvbmR1Y3RvcgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICoKKyAqIFJlZmVyZW5jZXM6CisgKiAtIFVuaWZpZWQgTGF5ZXIgMiBDYWNoZSBmb3IgRmVyb2Nlb24gQ1BVIENvcmVzLAorICogICBEb2N1bWVudCBJRCBNVi1TMTA0ODU4LTAwLCBSZXYuIEEsIE9jdG9iZXIgMjMgMjAwNy4KKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaD4KKworCisvKgorICogTG93LWxldmVsIGNhY2hlIG1haW50ZW5hbmNlIG9wZXJhdGlvbnMuCisgKgorICogQXMgd2VsbCBhcyB0aGUgcmVndWxhciAnY2xlYW4vaW52YWxpZGF0ZS9mbHVzaCBMMiBjYWNoZSBsaW5lIGJ5CisgKiBNVkEnIGluc3RydWN0aW9ucywgdGhlIEZlcm9jZW9uIEwyIGNhY2hlIGNvbnRyb2xsZXIgYWxzbyBmZWF0dXJlcworICogJ2NsZWFuL2ludmFsaWRhdGUgTDIgcmFuZ2UgYnkgTVZBJyBvcGVyYXRpb25zLgorICoKKyAqIENhY2hlIHJhbmdlIG9wZXJhdGlvbnMgYXJlIGluaXRpYXRlZCBieSB3cml0aW5nIHRoZSBzdGFydCBhbmQKKyAqIGVuZCBhZGRyZXNzZXMgdG8gc3VjY2Vzc2l2ZSBjcDE1IHJlZ2lzdGVycywgYW5kIHByb2Nlc3MgZXZlcnkKKyAqIGNhY2hlIGxpbmUgd2hvc2UgZmlyc3QgYnl0ZSBhZGRyZXNzIGxpZXMgaW4gdGhlIGluY2x1c2l2ZSByYW5nZQorICogW3N0YXJ0OmVuZF0uCisgKgorICogVGhlIGNhY2hlIHJhbmdlIG9wZXJhdGlvbnMgc3RhbGwgdGhlIENQVSBwaXBlbGluZSB1bnRpbCBjb21wbGV0aW9uLgorICoKKyAqIFRoZSByYW5nZSBvcGVyYXRpb25zIHJlcXVpcmUgdHdvIHN1Y2Nlc3NpdmUgY3AxNSB3cml0ZXMsIGluCisgKiBiZXR3ZWVuIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gYmUgcHJlZW1wdGVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgbDJfY2xlYW5fcGEodW5zaWduZWQgbG9uZyBhZGRyKQoreworCV9fYXNtX18oIm1jciBwMTUsIDEsICUwLCBjMTUsIGM5LCAzIiA6IDogInIiIChhZGRyKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBsMl9jbGVhbl9tdmFfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qCisJICogTWFrZSBzdXJlICdzdGFydCcgYW5kICdlbmQnIHJlZmVyZW5jZSB0aGUgc2FtZSBwYWdlLCBhcworCSAqIEwyIGlzIFBJUFQgYW5kIHJhbmdlIG9wZXJhdGlvbnMgb25seSBkbyBhIFRMQiBsb29rdXAgb24KKwkgKiB0aGUgc3RhcnQgYWRkcmVzcy4KKwkgKi8KKwlCVUdfT04oKHN0YXJ0IF4gZW5kKSAmIH4oUEFHRV9TSVpFIC0gMSkpOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjOSwgNCIgOiA6ICJyIiAoc3RhcnQpKTsKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjOSwgNSIgOiA6ICJyIiAoZW5kKSk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2NsZWFuX3BhX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCWwyX2NsZWFuX212YV9yYW5nZShfX3BoeXNfdG9fdmlydChzdGFydCksIF9fcGh5c190b192aXJ0KGVuZCkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgbDJfY2xlYW5faW52X3BhKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjMTAsIDMiIDogOiAiciIgKGFkZHIpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2ludl9wYSh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJX19hc21fXygibWNyIHAxNSwgMSwgJTAsIGMxNSwgYzExLCAzIiA6IDogInIiIChhZGRyKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBsMl9pbnZfbXZhX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkvKgorCSAqIE1ha2Ugc3VyZSAnc3RhcnQnIGFuZCAnZW5kJyByZWZlcmVuY2UgdGhlIHNhbWUgcGFnZSwgYXMKKwkgKiBMMiBpcyBQSVBUIGFuZCByYW5nZSBvcGVyYXRpb25zIG9ubHkgZG8gYSBUTEIgbG9va3VwIG9uCisJICogdGhlIHN0YXJ0IGFkZHJlc3MuCisJICovCisJQlVHX09OKChzdGFydCBeIGVuZCkgJiB+KFBBR0VfU0laRSAtIDEpKTsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJX19hc21fXygibWNyIHAxNSwgMSwgJTAsIGMxNSwgYzExLCA0IiA6IDogInIiIChzdGFydCkpOworCV9fYXNtX18oIm1jciBwMTUsIDEsICUwLCBjMTUsIGMxMSwgNSIgOiA6ICJyIiAoZW5kKSk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2ludl9wYV9yYW5nZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlsMl9pbnZfbXZhX3JhbmdlKF9fcGh5c190b192aXJ0KHN0YXJ0KSwgX19waHlzX3RvX3ZpcnQoZW5kKSk7Cit9CisKKworLyoKKyAqIExpbnV4IHByaW1pdGl2ZXMuCisgKgorICogTm90ZSB0aGF0IHRoZSBlbmQgYWRkcmVzc2VzIHBhc3NlZCB0byBMaW51eCBwcmltaXRpdmVzIGFyZQorICogbm9uaW5jbHVzaXZlLCB3aGlsZSB0aGUgaGFyZHdhcmUgY2FjaGUgcmFuZ2Ugb3BlcmF0aW9ucyB1c2UKKyAqIGluY2x1c2l2ZSBzdGFydCBhbmQgZW5kIGFkZHJlc3Nlcy4KKyAqLworI2RlZmluZSBDQUNIRV9MSU5FX1NJWkUJCTMyCisjZGVmaW5lIE1BWF9SQU5HRV9TSVpFCQkxMDI0CisKK3N0YXRpYyBpbnQgbDJfd3Rfb3ZlcnJpZGU7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNhbGNfcmFuZ2VfZW5kKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCXVuc2lnbmVkIGxvbmcgcmFuZ2VfZW5kOworCisJQlVHX09OKHN0YXJ0ICYgKENBQ0hFX0xJTkVfU0laRSAtIDEpKTsKKwlCVUdfT04oZW5kICYgKENBQ0hFX0xJTkVfU0laRSAtIDEpKTsKKworCS8qCisJICogVHJ5IHRvIHByb2Nlc3MgYWxsIGNhY2hlIGxpbmVzIGJldHdlZW4gJ3N0YXJ0JyBhbmQgJ2VuZCcuCisJICovCisJcmFuZ2VfZW5kID0gZW5kOworCisJLyoKKwkgKiBMaW1pdCB0aGUgbnVtYmVyIG9mIGNhY2hlIGxpbmVzIHByb2Nlc3NlZCBhdCBvbmNlLAorCSAqIHNpbmNlIGNhY2hlIHJhbmdlIG9wZXJhdGlvbnMgc3RhbGwgdGhlIENQVSBwaXBlbGluZQorCSAqIHVudGlsIGNvbXBsZXRpb24uCisJICovCisJaWYgKHJhbmdlX2VuZCA+IHN0YXJ0ICsgTUFYX1JBTkdFX1NJWkUpCisJCXJhbmdlX2VuZCA9IHN0YXJ0ICsgTUFYX1JBTkdFX1NJWkU7CisKKwkvKgorCSAqIENhY2hlIHJhbmdlIG9wZXJhdGlvbnMgY2FuJ3Qgc3RyYWRkbGUgYSBwYWdlIGJvdW5kYXJ5LgorCSAqLworCWlmIChyYW5nZV9lbmQgPiAoc3RhcnQgfCAoUEFHRV9TSVpFIC0gMSkpICsgMSkKKwkJcmFuZ2VfZW5kID0gKHN0YXJ0IHwgKFBBR0VfU0laRSAtIDEpKSArIDE7CisKKwlyZXR1cm4gcmFuZ2VfZW5kOworfQorCitzdGF0aWMgdm9pZCBmZXJvY2Vvbl9sMl9pbnZfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJLyoKKwkgKiBDbGVhbiBhbmQgaW52YWxpZGF0ZSBwYXJ0aWFsIGZpcnN0IGNhY2hlIGxpbmUuCisJICovCisJaWYgKHN0YXJ0ICYgKENBQ0hFX0xJTkVfU0laRSAtIDEpKSB7CisJCWwyX2NsZWFuX2ludl9wYShzdGFydCAmIH4oQ0FDSEVfTElORV9TSVpFIC0gMSkpOworCQlzdGFydCA9IChzdGFydCB8IChDQUNIRV9MSU5FX1NJWkUgLSAxKSkgKyAxOworCX0KKworCS8qCisJICogQ2xlYW4gYW5kIGludmFsaWRhdGUgcGFydGlhbCBsYXN0IGNhY2hlIGxpbmUuCisJICovCisJaWYgKGVuZCAmIChDQUNIRV9MSU5FX1NJWkUgLSAxKSkgeworCQlsMl9jbGVhbl9pbnZfcGEoZW5kICYgfihDQUNIRV9MSU5FX1NJWkUgLSAxKSk7CisJCWVuZCAmPSB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCX0KKworCS8qCisJICogSW52YWxpZGF0ZSBhbGwgZnVsbCBjYWNoZSBsaW5lcyBiZXR3ZWVuICdzdGFydCcgYW5kICdlbmQnLgorCSAqLworCXdoaWxlIChzdGFydCAhPSBlbmQpIHsKKwkJdW5zaWduZWQgbG9uZyByYW5nZV9lbmQgPSBjYWxjX3JhbmdlX2VuZChzdGFydCwgZW5kKTsKKwkJbDJfaW52X3BhX3JhbmdlKHN0YXJ0LCByYW5nZV9lbmQgLSBDQUNIRV9MSU5FX1NJWkUpOworCQlzdGFydCA9IHJhbmdlX2VuZDsKKwl9CisKKwlkc2IoKTsKK30KKworc3RhdGljIHZvaWQgZmVyb2Nlb25fbDJfY2xlYW5fcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJLyoKKwkgKiBJZiBMMiBpcyBmb3JjZWQgdG8gV1QsIHRoZSBMMiB3aWxsIGFsd2F5cyBiZSBjbGVhbiBhbmQgd2UKKwkgKiBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nIGhlcmUuCisJICovCisJaWYgKCFsMl93dF9vdmVycmlkZSkgeworCQlzdGFydCAmPSB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCQllbmQgPSAoZW5kICsgQ0FDSEVfTElORV9TSVpFIC0gMSkgJiB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCQl3aGlsZSAoc3RhcnQgIT0gZW5kKSB7CisJCQl1bnNpZ25lZCBsb25nIHJhbmdlX2VuZCA9IGNhbGNfcmFuZ2VfZW5kKHN0YXJ0LCBlbmQpOworCQkJbDJfY2xlYW5fcGFfcmFuZ2Uoc3RhcnQsIHJhbmdlX2VuZCAtIENBQ0hFX0xJTkVfU0laRSk7CisJCQlzdGFydCA9IHJhbmdlX2VuZDsKKwkJfQorCX0KKworCWRzYigpOworfQorCitzdGF0aWMgdm9pZCBmZXJvY2Vvbl9sMl9mbHVzaF9yYW5nZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlzdGFydCAmPSB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCWVuZCA9IChlbmQgKyBDQUNIRV9MSU5FX1NJWkUgLSAxKSAmIH4oQ0FDSEVfTElORV9TSVpFIC0gMSk7CisJd2hpbGUgKHN0YXJ0ICE9IGVuZCkgeworCQl1bnNpZ25lZCBsb25nIHJhbmdlX2VuZCA9IGNhbGNfcmFuZ2VfZW5kKHN0YXJ0LCBlbmQpOworCQlpZiAoIWwyX3d0X292ZXJyaWRlKQorCQkJbDJfY2xlYW5fcGFfcmFuZ2Uoc3RhcnQsIHJhbmdlX2VuZCAtIENBQ0hFX0xJTkVfU0laRSk7CisJCWwyX2ludl9wYV9yYW5nZShzdGFydCwgcmFuZ2VfZW5kIC0gQ0FDSEVfTElORV9TSVpFKTsKKwkJc3RhcnQgPSByYW5nZV9lbmQ7CisJfQorCisJZHNiKCk7Cit9CisKKworLyoKKyAqIFJvdXRpbmVzIHRvIGRpc2FibGUgYW5kIHJlLWVuYWJsZSB0aGUgRC1jYWNoZSBhbmQgSS1jYWNoZSBhdCBydW4KKyAqIHRpbWUuICBUaGVzZSBhcmUgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIEwyIGNhY2hlIGNhbiBvbmx5IGJlIGVuYWJsZWQKKyAqIG9yIGRpc2FibGVkIHdoaWxlIHRoZSBMMSBEY2FjaGUgYW5kIEljYWNoZSBhcmUgYm90aCBkaXNhYmxlZC4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IGludmFsaWRhdGVfYW5kX2Rpc2FibGVfZGNhY2hlKHZvaWQpCit7CisJdTMyIGNyOworCisJY3IgPSBnZXRfY3IoKTsKKwlpZiAoY3IgJiBDUl9DKSB7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkJcmF3X2xvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwkJZmx1c2hfY2FjaGVfYWxsKCk7CisJCXNldF9jcihjciAmIH5DUl9DKTsKKwkJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfZGNhY2hlKHZvaWQpCit7CisJdTMyIGNyOworCisJY3IgPSBnZXRfY3IoKTsKKwlpZiAoIShjciAmIENSX0MpKQorCQlzZXRfY3IoY3IgfCBDUl9DKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IF9faW52YWxpZGF0ZV9pY2FjaGUodm9pZCkKK3sKKwlpbnQgZHVtbXk7CisKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXygibWNyIHAxNSwgMCwgJTAsIGM3LCBjNSwgMFxuIiA6ICI9ciIgKGR1bW15KSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpbnZhbGlkYXRlX2FuZF9kaXNhYmxlX2ljYWNoZSh2b2lkKQoreworCXUzMiBjcjsKKworCWNyID0gZ2V0X2NyKCk7CisJaWYgKGNyICYgQ1JfSSkgeworCQlzZXRfY3IoY3IgJiB+Q1JfSSk7CisJCV9faW52YWxpZGF0ZV9pY2FjaGUoKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfaWNhY2hlKHZvaWQpCit7CisJdTMyIGNyOworCisJY3IgPSBnZXRfY3IoKTsKKwlpZiAoIShjciAmIENSX0kpKQorCQlzZXRfY3IoY3IgfCBDUl9JKTsKK30KKworc3RhdGljIGlubGluZSB1MzIgcmVhZF9leHRyYV9mZWF0dXJlcyh2b2lkKQoreworCXUzMiB1OworCisJX19hc21fXygibXJjIHAxNSwgMSwgJTAsIGMxNSwgYzEsIDAiIDogIj1yIiAodSkpOworCisJcmV0dXJuIHU7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9leHRyYV9mZWF0dXJlcyh1MzIgdSkKK3sKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjMSwgMCIgOiA6ICJyIiAodSkpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZGlzYWJsZV9sMl9wcmVmZXRjaCh2b2lkKQoreworCXUzMiB1OworCisJLyoKKwkgKiBSZWFkIHRoZSBDUFUgRXh0cmEgRmVhdHVyZXMgcmVnaXN0ZXIgYW5kIHZlcmlmeSB0aGF0IHRoZQorCSAqIERpc2FibGUgTDIgUHJlZmV0Y2ggYml0IGlzIHNldC4KKwkgKi8KKwl1ID0gcmVhZF9leHRyYV9mZWF0dXJlcygpOworCWlmICghKHUgJiAweDAxMDAwMDAwKSkgeworCQlwcmludGsoS0VSTl9JTkZPICJGZXJvY2VvbiBMMjogRGlzYWJsaW5nIEwyIHByZWZldGNoLlxuIik7CisJCXdyaXRlX2V4dHJhX2ZlYXR1cmVzKHUgfCAweDAxMDAwMDAwKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfbDIodm9pZCkKK3sKKwl1MzIgdTsKKworCXUgPSByZWFkX2V4dHJhX2ZlYXR1cmVzKCk7CisJaWYgKCEodSAmIDB4MDA0MDAwMDApKSB7CisJCXByaW50ayhLRVJOX0lORk8gIkZlcm9jZW9uIEwyOiBFbmFibGluZyBMMlxuIik7CisKKwkJaW52YWxpZGF0ZV9hbmRfZGlzYWJsZV9kY2FjaGUoKTsKKwkJaW52YWxpZGF0ZV9hbmRfZGlzYWJsZV9pY2FjaGUoKTsKKwkJd3JpdGVfZXh0cmFfZmVhdHVyZXModSB8IDB4MDA0MDAwMDApOworCQllbmFibGVfaWNhY2hlKCk7CisJCWVuYWJsZV9kY2FjaGUoKTsKKwl9Cit9CisKK3ZvaWQgX19pbml0IGZlcm9jZW9uX2wyX2luaXQoaW50IF9fbDJfd3Rfb3ZlcnJpZGUpCit7CisJbDJfd3Rfb3ZlcnJpZGUgPSBfX2wyX3d0X292ZXJyaWRlOworCisJZGlzYWJsZV9sMl9wcmVmZXRjaCgpOworCisJb3V0ZXJfY2FjaGUuaW52X3JhbmdlID0gZmVyb2Nlb25fbDJfaW52X3JhbmdlOworCW91dGVyX2NhY2hlLmNsZWFuX3JhbmdlID0gZmVyb2Nlb25fbDJfY2xlYW5fcmFuZ2U7CisJb3V0ZXJfY2FjaGUuZmx1c2hfcmFuZ2UgPSBmZXJvY2Vvbl9sMl9mbHVzaF9yYW5nZTsKKworCWVuYWJsZV9sMigpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiRmVyb2Nlb24gTDI6IENhY2hlIHN1cHBvcnQgaW5pdGlhbGlzZWQlcy5cbiIsCisJCQkgbDJfd3Rfb3ZlcnJpZGUgPyAiLCBpbiBXVCBvdmVycmlkZSBtb2RlIiA6ICIiKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL2ZhdWx0LWFybXYuYyBiL2FyY2gvYXJtL21tL2ZhdWx0LWFybXYuYwppbmRleCA0NDU1OGQ1Li5mYmZhMjYwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tbS9mYXVsdC1hcm12LmMKKysrIGIvYXJjaC9hcm0vbW0vZmF1bHQtYXJtdi5jCkBAIC0xNDQsMTMgKzE0NCwxNyBAQAogCXBhZ2UgPSBwZm5fdG9fcGFnZShwZm4pOwogCW1hcHBpbmcgPSBwYWdlX21hcHBpbmcocGFnZSk7CiAJaWYgKG1hcHBpbmcpIHsKKyNpZm5kZWYgQ09ORklHX1NNUAogCQlpbnQgZGlydHkgPSB0ZXN0X2FuZF9jbGVhcl9iaXQoUEdfZGNhY2hlX2RpcnR5LCAmcGFnZS0+ZmxhZ3MpOwogCiAJCWlmIChkaXJ0eSkKIAkJCV9fZmx1c2hfZGNhY2hlX3BhZ2UobWFwcGluZywgcGFnZSk7CisjZW5kaWYKIAogCQlpZiAoY2FjaGVfaXNfdml2dCgpKQogCQkJbWFrZV9jb2hlcmVudChtYXBwaW5nLCB2bWEsIGFkZHIsIHBmbik7CisJCWVsc2UgaWYgKHZtYS0+dm1fZmxhZ3MgJiBWTV9FWEVDKQorCQkJX19mbHVzaF9pY2FjaGVfYWxsKCk7CiAJfQogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9mbHVzaC5jIGIvYXJjaC9hcm0vbW0vZmx1c2guYwppbmRleCA5ZGY1MDdkLi4wMjllZTY1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tbS9mbHVzaC5jCisrKyBiL2FyY2gvYXJtL21tL2ZsdXNoLmMKQEAgLTE5OSw2ICsxOTksOCBAQAogCQlfX2ZsdXNoX2RjYWNoZV9wYWdlKG1hcHBpbmcsIHBhZ2UpOwogCQlpZiAobWFwcGluZyAmJiBjYWNoZV9pc192aXZ0KCkpCiAJCQlfX2ZsdXNoX2RjYWNoZV9hbGlhc2VzKG1hcHBpbmcsIHBhZ2UpOworCQllbHNlIGlmIChtYXBwaW5nKQorCQkJX19mbHVzaF9pY2FjaGVfYWxsKCk7CiAJfQogfQogRVhQT1JUX1NZTUJPTChmbHVzaF9kY2FjaGVfcGFnZSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9wcm9jLWZlcm9jZW9uLlMgYi9hcmNoL2FybS9tbS9wcm9jLWZlcm9jZW9uLlMKaW5kZXggYTAyYzE3MS4uZjJlNTg4NCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbW0vcHJvYy1mZXJvY2Vvbi5TCisrKyBiL2FyY2gvYXJtL21tL3Byb2MtZmVyb2Nlb24uUwpAQCAtNDQsMTEgKzQ0LDMxIEBACiAgKi8KICNkZWZpbmUgQ0FDSEVfRExJTkVTSVpFCTMyCiAKKwkuYnNzCisJLmFsaWduIDMKK19fY2FjaGVfcGFyYW1zX2xvYzoKKwkuc3BhY2UJOAorCiAJLnRleHQKK19fY2FjaGVfcGFyYW1zOgorCS53b3JkCV9fY2FjaGVfcGFyYW1zX2xvYworCiAvKgogICogY3B1X2Zlcm9jZW9uX3Byb2NfaW5pdCgpCiAgKi8KIEVOVFJZKGNwdV9mZXJvY2Vvbl9wcm9jX2luaXQpCisJbXJjCXAxNSwgMCwgcjAsIGMwLCBjMCwgMQkJQCByZWFkIGNhY2hlIHR5cGUgcmVnaXN0ZXIKKwlsZHIJcjEsIF9fY2FjaGVfcGFyYW1zCisJbW92CXIyLCAjKDE2IDw8IDUpCisJdHN0CXIwLCAjKDEgPDwgMTYpCQkJQCBnZXQgd2F5CisJbW92CXIwLCByMCwgbHNyICMxOAkJCUAgZ2V0IGNhY2hlIHNpemUgb3JkZXIKKwltb3ZuZQlyMywgIygoNCAtIDEpIDw8IDMwKQkJQCA0LXdheQorCWFuZAlyMCwgcjAsICMweGYKKwltb3ZlcQlyMywgIzAJCQkJQCAxLXdheQorCW1vdglyMiwgcjIsIGxzbCByMAkJCUAgYWN0dWFsIGNhY2hlIHNpemUKKwltb3ZuZQlyMiwgcjIsIGxzciAjMgkJCUAgdHVybmVkIGludG8gIyBvZiBzZXRzCisJc3ViCXIyLCByMiwgIygxIDw8IDUpCisJc3RtaWEJcjEsIHtyMiwgcjN9CiAJbW92CXBjLCBscgogCiAvKgpAQCAtNTksNiArNzksMTMgQEAKIAltb3YJaXAsICNQU1JfRl9CSVQgfCBQU1JfSV9CSVQgfCBTVkNfTU9ERQogCW1zcgljcHNyX2MsIGlwCiAJYmwJZmVyb2Nlb25fZmx1c2hfa2Vybl9jYWNoZV9hbGwKKworI2lmIGRlZmluZWQoQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyKSAmJiAhZGVmaW5lZChDT05GSUdfTDJfQ0FDSEVfV1JJVEVUSFJPVUdIKQorCW1vdglyMCwgIzAKKwltY3IJcDE1LCAxLCByMCwgYzE1LCBjOSwgMAkJQCBjbGVhbiBMMgorCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisjZW5kaWYKKwogCW1yYwlwMTUsIDAsIHIwLCBjMSwgYzAsIDAJCUAgY3RybCByZWdpc3RlcgogCWJpYwlyMCwgcjAsICMweDEwMDAJCQlAIC4uLmkuLi4uLi4uLi4uLi4KIAliaWMJcjAsIHIwLCAjMHgwMDBlCQkJQCAuLi4uLi4uLi4uLi53Y2EuCkBAIC0xMTcsMTEgKzE0NCwxOSBAQAogICovCiBFTlRSWShmZXJvY2Vvbl9mbHVzaF9rZXJuX2NhY2hlX2FsbCkKIAltb3YJcjIsICNWTV9FWEVDCi0JbW92CWlwLCAjMAorCiBfX2ZsdXNoX3dob2xlX2NhY2hlOgotMToJbXJjCXAxNSwgMCwgcjE1LCBjNywgYzE0LCAzIAlAIHRlc3QsY2xlYW4saW52YWxpZGF0ZQotCWJuZQkxYgorCWxkcglyMSwgX19jYWNoZV9wYXJhbXMKKwlsZG1pYQlyMSwge3IxLCByM30KKzE6CW9ycglpcCwgcjEsIHIzCisyOgltY3IJcDE1LCAwLCBpcCwgYzcsIGMxNCwgMgkJQCBjbGVhbiArIGludmFsaWRhdGUgRCBzZXQvd2F5CisJc3VicwlpcCwgaXAsICMoMSA8PCAzMCkJCUAgbmV4dCB3YXkKKwliY3MJMmIKKwlzdWJzCXIxLCByMSwgIygxIDw8IDUpCQlAIG5leHQgc2V0CisJYmNzCTFiCisKIAl0c3QJcjIsICNWTV9FWEVDCisJbW92CWlwLCAjMAogCW1jcm5lCXAxNSwgMCwgaXAsIGM3LCBjNSwgMAkJQCBpbnZhbGlkYXRlIEkgY2FjaGUKIAltY3JuZQlwMTUsIDAsIGlwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgpAQCAtMTM4LDcgKzE3Myw2IEBACiAgKi8KIAkuYWxpZ24JNQogRU5UUlkoZmVyb2Nlb25fZmx1c2hfdXNlcl9jYWNoZV9yYW5nZSkKLQltb3YJaXAsICMwCiAJc3ViCXIzLCByMSwgcjAJCQlAIGNhbGN1bGF0ZSB0b3RhbCBzaXplCiAJY21wCXIzLCAjQ0FDSEVfRExJTUlUCiAJYmd0CV9fZmx1c2hfd2hvbGVfY2FjaGUKQEAgLTE1Miw2ICsxODYsNyBAQAogCWNtcAlyMCwgcjEKIAlibG8JMWIKIAl0c3QJcjIsICNWTV9FWEVDCisJbW92CWlwLCAjMAogCW1jcm5lCXAxNSwgMCwgaXAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKIAltb3YJcGMsIGxyCiAKQEAgLTIwOSw2ICsyNDQsMjAgQEAKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogCW1vdglwYywgbHIKIAorCS5hbGlnbgk1CitFTlRSWShmZXJvY2Vvbl9yYW5nZV9mbHVzaF9rZXJuX2RjYWNoZV9wYWdlKQorCW1ycwlyMiwgY3BzcgorCWFkZAlyMSwgcjAsICNQQUdFX1NaIC0gQ0FDSEVfRExJTkVTSVpFCUAgdG9wIGFkZHIgaXMgaW5jbHVzaXZlCisJb3JyCXIzLCByMiwgI1BTUl9JX0JJVAorCW1zcgljcHNyX2MsIHIzCQkJQCBkaXNhYmxlIGludGVycnVwdHMKKwltY3IJcDE1LCA1LCByMCwgYzE1LCBjMTUsIDAJCUAgRCBjbGVhbi9pbnYgcmFuZ2Ugc3RhcnQKKwltY3IJcDE1LCA1LCByMSwgYzE1LCBjMTUsIDEJCUAgRCBjbGVhbi9pbnYgcmFuZ2UgdG9wCisJbXNyCWNwc3JfYywgcjIJCQlAIHJlc3RvcmUgaW50ZXJydXB0cworCW1vdglyMCwgIzAKKwltY3IJcDE1LCAwLCByMCwgYzcsIGM1LCAwCQlAIGludmFsaWRhdGUgSSBjYWNoZQorCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisJbW92CXBjLCBscgorCiAvKgogICoJZG1hX2ludl9yYW5nZShzdGFydCwgZW5kKQogICoKQEAgLTIyNSwxMCArMjc0LDEwIEBACiAJLmFsaWduCTUKIEVOVFJZKGZlcm9jZW9uX2RtYV9pbnZfcmFuZ2UpCiAJdHN0CXIwLCAjQ0FDSEVfRExJTkVTSVpFIC0gMQorCWJpYwlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUgLSAxCiAJbWNybmUJcDE1LCAwLCByMCwgYzcsIGMxMCwgMQkJQCBjbGVhbiBEIGVudHJ5CiAJdHN0CXIxLCAjQ0FDSEVfRExJTkVTSVpFIC0gMQogCW1jcm5lCXAxNSwgMCwgcjEsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQotCWJpYwlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUgLSAxCiAxOgltY3IJcDE1LCAwLCByMCwgYzcsIGM2LCAxCQlAIGludmFsaWRhdGUgRCBlbnRyeQogCWFkZAlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUKIAljbXAJcjAsIHIxCkBAIC0yMzYsNiArMjg1LDIyIEBACiAJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKIAltb3YJcGMsIGxyCiAKKwkuYWxpZ24JNQorRU5UUlkoZmVyb2Nlb25fcmFuZ2VfZG1hX2ludl9yYW5nZSkKKwltcnMJcjIsIGNwc3IKKwl0c3QJcjAsICNDQUNIRV9ETElORVNJWkUgLSAxCisJbWNybmUJcDE1LCAwLCByMCwgYzcsIGMxMCwgMQkJQCBjbGVhbiBEIGVudHJ5CisJdHN0CXIxLCAjQ0FDSEVfRExJTkVTSVpFIC0gMQorCW1jcm5lCXAxNSwgMCwgcjEsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQorCWNtcAlyMSwgcjAKKwlzdWJuZQlyMSwgcjEsICMxCQkJQCB0b3AgYWRkcmVzcyBpcyBpbmNsdXNpdmUKKwlvcnIJcjMsIHIyLCAjUFNSX0lfQklUCisJbXNyCWNwc3JfYywgcjMJCQlAIGRpc2FibGUgaW50ZXJydXB0cworCW1jcglwMTUsIDUsIHIwLCBjMTUsIGMxNCwgMAkJQCBEIGludiByYW5nZSBzdGFydAorCW1jcglwMTUsIDUsIHIxLCBjMTUsIGMxNCwgMQkJQCBEIGludiByYW5nZSB0b3AKKwltc3IJY3Bzcl9jLCByMgkJCUAgcmVzdG9yZSBpbnRlcnJ1cHRzCisJbW92CXBjLCBscgorCiAvKgogICoJZG1hX2NsZWFuX3JhbmdlKHN0YXJ0LCBlbmQpCiAgKgpAQCAtMjU2LDYgKzMyMSwxOSBAQAogCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgogCisJLmFsaWduCTUKK0VOVFJZKGZlcm9jZW9uX3JhbmdlX2RtYV9jbGVhbl9yYW5nZSkKKwltcnMJcjIsIGNwc3IKKwljbXAJcjEsIHIwCisJc3VibmUJcjEsIHIxLCAjMQkJCUAgdG9wIGFkZHJlc3MgaXMgaW5jbHVzaXZlCisJb3JyCXIzLCByMiwgI1BTUl9JX0JJVAorCW1zcgljcHNyX2MsIHIzCQkJQCBkaXNhYmxlIGludGVycnVwdHMKKwltY3IJcDE1LCA1LCByMCwgYzE1LCBjMTMsIDAJCUAgRCBjbGVhbiByYW5nZSBzdGFydAorCW1jcglwMTUsIDUsIHIxLCBjMTUsIGMxMywgMQkJQCBEIGNsZWFuIHJhbmdlIHRvcAorCW1zcgljcHNyX2MsIHIyCQkJQCByZXN0b3JlIGludGVycnVwdHMKKwltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgorCW1vdglwYywgbHIKKwogLyoKICAqCWRtYV9mbHVzaF9yYW5nZShzdGFydCwgZW5kKQogICoKQEAgLTI3NCw2ICszNTIsMTkgQEAKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogCW1vdglwYywgbHIKIAorCS5hbGlnbgk1CitFTlRSWShmZXJvY2Vvbl9yYW5nZV9kbWFfZmx1c2hfcmFuZ2UpCisJbXJzCXIyLCBjcHNyCisJY21wCXIxLCByMAorCXN1Ym5lCXIxLCByMSwgIzEJCQlAIHRvcCBhZGRyZXNzIGlzIGluY2x1c2l2ZQorCW9ycglyMywgcjIsICNQU1JfSV9CSVQKKwltc3IJY3Bzcl9jLCByMwkJCUAgZGlzYWJsZSBpbnRlcnJ1cHRzCisJbWNyCXAxNSwgNSwgcjAsIGMxNSwgYzE1LCAwCQlAIEQgY2xlYW4vaW52IHJhbmdlIHN0YXJ0CisJbWNyCXAxNSwgNSwgcjEsIGMxNSwgYzE1LCAxCQlAIEQgY2xlYW4vaW52IHJhbmdlIHRvcAorCW1zcgljcHNyX2MsIHIyCQkJQCByZXN0b3JlIGludGVycnVwdHMKKwltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgorCW1vdglwYywgbHIKKwogRU5UUlkoZmVyb2Nlb25fY2FjaGVfZm5zKQogCS5sb25nCWZlcm9jZW9uX2ZsdXNoX2tlcm5fY2FjaGVfYWxsCiAJLmxvbmcJZmVyb2Nlb25fZmx1c2hfdXNlcl9jYWNoZV9hbGwKQEAgLTI4NSwxMiArMzc2LDMzIEBACiAJLmxvbmcJZmVyb2Nlb25fZG1hX2NsZWFuX3JhbmdlCiAJLmxvbmcJZmVyb2Nlb25fZG1hX2ZsdXNoX3JhbmdlCiAKK0VOVFJZKGZlcm9jZW9uX3JhbmdlX2NhY2hlX2ZucykKKwkubG9uZwlmZXJvY2Vvbl9mbHVzaF9rZXJuX2NhY2hlX2FsbAorCS5sb25nCWZlcm9jZW9uX2ZsdXNoX3VzZXJfY2FjaGVfYWxsCisJLmxvbmcJZmVyb2Nlb25fZmx1c2hfdXNlcl9jYWNoZV9yYW5nZQorCS5sb25nCWZlcm9jZW9uX2NvaGVyZW50X2tlcm5fcmFuZ2UKKwkubG9uZwlmZXJvY2Vvbl9jb2hlcmVudF91c2VyX3JhbmdlCisJLmxvbmcJZmVyb2Nlb25fcmFuZ2VfZmx1c2hfa2Vybl9kY2FjaGVfcGFnZQorCS5sb25nCWZlcm9jZW9uX3JhbmdlX2RtYV9pbnZfcmFuZ2UKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9kbWFfY2xlYW5fcmFuZ2UKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9kbWFfZmx1c2hfcmFuZ2UKKwogCS5hbGlnbgk1CiBFTlRSWShjcHVfZmVyb2Nlb25fZGNhY2hlX2NsZWFuX2FyZWEpCisjaWYgZGVmaW5lZChDT05GSUdfQ0FDSEVfRkVST0NFT05fTDIpICYmICFkZWZpbmVkKENPTkZJR19MMl9DQUNIRV9XUklURVRIUk9VR0gpCisJbW92CXIyLCByMAorCW1vdglyMywgcjEKKyNlbmRpZgogMToJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQogCWFkZAlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUKIAlzdWJzCXIxLCByMSwgI0NBQ0hFX0RMSU5FU0laRQogCWJoaQkxYgorI2lmIGRlZmluZWQoQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyKSAmJiAhZGVmaW5lZChDT05GSUdfTDJfQ0FDSEVfV1JJVEVUSFJPVUdIKQorMToJbWNyCXAxNSwgMSwgcjIsIGMxNSwgYzksIDEJCUAgY2xlYW4gTDIgZW50cnkKKwlhZGQJcjIsIHIyLCAjQ0FDSEVfRExJTkVTSVpFCisJc3VicwlyMywgcjMsICNDQUNIRV9ETElORVNJWkUKKwliaGkJMWIKKyNlbmRpZgogCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgogCkBAIC0zMDYsMTYgKzQxOCwyNSBAQAogCS5hbGlnbgk1CiBFTlRSWShjcHVfZmVyb2Nlb25fc3dpdGNoX21tKQogI2lmZGVmIENPTkZJR19NTVUKLQltb3YJaXAsICMwCi1AICYmICdDbGVhbiAmIEludmFsaWRhdGUgd2hvbGUgRENhY2hlJwotMToJbXJjCXAxNSwgMCwgcjE1LCBjNywgYzE0LCAzIAlAIHRlc3QsY2xlYW4saW52YWxpZGF0ZQotCWJuZQkxYgotCW1jcglwMTUsIDAsIGlwLCBjNywgYzUsIDAJCUAgaW52YWxpZGF0ZSBJIGNhY2hlCi0JbWNyCXAxNSwgMCwgaXAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKKwkvKgorCSAqIE5vdGU6IHdlIHdpc2ggdG8gY2FsbCBfX2ZsdXNoX3dob2xlX2NhY2hlIGJ1dCB3ZSBuZWVkIHRvIHByZXNlcnZlCisJICogbHIgdG8gZG8gc28uICBUaGUgb25seSB3YXkgd2l0aG91dCB0b3VjaGluZyBtYWluIG1lbW9yeSBpcyB0bworCSAqIHVzZSByMiB3aGljaCBpcyBub3JtYWxseSB1c2VkIHRvIHRlc3QgdGhlIFZNX0VYRUMgZmxhZywgYW5kCisJICogY29tcGVuc2F0ZSBsb2NhbGx5IGZvciB0aGUgc2tpcHBlZCBvcHMgaWYgaXQgaXMgbm90IHNldC4KKwkgKi8KKwltb3YJcjIsIGxyCQkJCUAgYWJ1c2UgcjIgdG8gcHJlc2VydmUgbHIKKwlibAlfX2ZsdXNoX3dob2xlX2NhY2hlCisJQCBpZiByMiBjb250YWlucyB0aGUgVk1fRVhFQyBiaXQgdGhlbiB0aGUgbmV4dCAyIG9wcyBhcmUgZG9uZSBhbHJlYWR5CisJdHN0CXIyLCAjVk1fRVhFQworCW1jcmVxCXAxNSwgMCwgaXAsIGM3LCBjNSwgMAkJQCBpbnZhbGlkYXRlIEkgY2FjaGUKKwltY3JlcQlwMTUsIDAsIGlwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisKIAltY3IJcDE1LCAwLCByMCwgYzIsIGMwLCAwCQlAIGxvYWQgcGFnZSB0YWJsZSBwb2ludGVyCiAJbWNyCXAxNSwgMCwgaXAsIGM4LCBjNywgMAkJQCBpbnZhbGlkYXRlIEkgJiBEIFRMQnMKLSNlbmRpZgorCW1vdglwYywgcjIKKyNlbHNlCiAJbW92CXBjLCBscgorI2VuZGlmCiAKIC8qCiAgKiBjcHVfZmVyb2Nlb25fc2V0X3B0ZV9leHQocHRlcCwgcHRlLCBleHQpCkBAIC0zNDUsNiArNDY2LDkgQEAKIAlzdHIJcjIsIFtyMF0JCQlAIGhhcmR3YXJlIHZlcnNpb24KIAltb3YJcjAsIHIwCiAJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQorI2lmIGRlZmluZWQoQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyKSAmJiAhZGVmaW5lZChDT05GSUdfTDJfQ0FDSEVfV1JJVEVUSFJPVUdIKQorCW1jcglwMTUsIDEsIHIwLCBjMTUsIGM5LCAxCQlAIGNsZWFuIEwyIGVudHJ5CisjZW5kaWYKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogI2VuZGlmCiAJbW92CXBjLCBscgpAQCAtMzY5LDE0ICs0OTMsMTUgQEAKIAkuc2l6ZQlfX2Zlcm9jZW9uX3NldHVwLCAuIC0gX19mZXJvY2Vvbl9zZXR1cAogCiAJLyoKLQkgKiAgUgotCSAqIC5SVkkgWkZSUyBCTERQIFdDQU0KLQkgKiAuMDExIDAwMDEgLi4xMSAwMTAxCisJICogICAgICBCCisJICogIFIgICBQCisJICogLlJWSSBVRlJTIEJMRFAgV0NBTQorCSAqIC4wMTEgLjAwMSAuLjExIDAxMDEKIAkgKgogCSAqLwogCS50eXBlCWZlcm9jZW9uX2NydmFsLCAjb2JqZWN0CiBmZXJvY2Vvbl9jcnZhbDoKLQljcnZhbAljbGVhcj0weDAwMDA3ZjNmLCBtbXVzZXQ9MHgwMDAwMzEzNSwgdWNzZXQ9MHgwMDAwMTEzNAorCWNydmFsCWNsZWFyPTB4MDAwMDc3M2YsIG1tdXNldD0weDAwMDAzMTM1LCB1Y3NldD0weDAwMDAxMTM0CiAKIAlfX0lOSVREQVRBCiAKQEAgLTQxNCw2ICs1MzksMjEgQEAKIAkuYXNjaXoJIkZlcm9jZW9uIgogCS5zaXplCWNwdV9mZXJvY2Vvbl9uYW1lLCAuIC0gY3B1X2Zlcm9jZW9uX25hbWUKIAorCS50eXBlCWNwdV84OGZyNTMxX25hbWUsICNvYmplY3QKK2NwdV84OGZyNTMxX25hbWU6CisJLmFzY2l6CSJGZXJvY2VvbiA4OEZSNTMxLXZkIgorCS5zaXplCWNwdV84OGZyNTMxX25hbWUsIC4gLSBjcHVfODhmcjUzMV9uYW1lCisKKwkudHlwZQljcHVfODhmcjU3MV9uYW1lLCAjb2JqZWN0CitjcHVfODhmcjU3MV9uYW1lOgorCS5hc2NpegkiRmVyb2Nlb24gODhGUjU3MS12ZCIKKwkuc2l6ZQljcHVfODhmcjU3MV9uYW1lLCAuIC0gY3B1Xzg4ZnI1NzFfbmFtZQorCisJLnR5cGUJY3B1Xzg4ZnIxMzFfbmFtZSwgI29iamVjdAorY3B1Xzg4ZnIxMzFfbmFtZToKKwkuYXNjaXoJIkZlcm9jZW9uIDg4RlIxMzEiCisJLnNpemUJY3B1Xzg4ZnIxMzFfbmFtZSwgLiAtIGNwdV84OGZyMTMxX25hbWUKKwogCS5hbGlnbgogCiAJLnNlY3Rpb24gIi5wcm9jLmluZm8uaW5pdCIsICNhbGxvYywgI2V4ZWNpbnN0cgpAQCAtNDIxLDE1ICs1NjEsMTUgQEAKICNpZmRlZiBDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRAogCS50eXBlCV9fZmVyb2Nlb25fb2xkX2lkX3Byb2NfaW5mbywjb2JqZWN0CiBfX2Zlcm9jZW9uX29sZF9pZF9wcm9jX2luZm86Ci0JLmxvbmcJMHg0MTA2OTI2MAotCS5sb25nCTB4ZmZmZmZmZjAKLQkubG9uZyAgIFBNRF9UWVBFX1NFQ1QgfCBcCisJLmxvbmcJMHg0MTAwOTI2MAorCS5sb25nCTB4ZmYwMGZmZjAKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfU0VDVF9CVUZGRVJBQkxFIHwgXAogCQlQTURfU0VDVF9DQUNIRUFCTEUgfCBcCiAJCVBNRF9CSVQ0IHwgXAogCQlQTURfU0VDVF9BUF9XUklURSB8IFwKIAkJUE1EX1NFQ1RfQVBfUkVBRAotCS5sb25nICAgUE1EX1RZUEVfU0VDVCB8IFwKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfQklUNCB8IFwKIAkJUE1EX1NFQ1RfQVBfV1JJVEUgfCBcCiAJCVBNRF9TRUNUX0FQX1JFQUQKQEAgLTQ0NSwxNyArNTg1LDE3IEBACiAJLnNpemUJX19mZXJvY2Vvbl9vbGRfaWRfcHJvY19pbmZvLCAuIC0gX19mZXJvY2Vvbl9vbGRfaWRfcHJvY19pbmZvCiAjZW5kaWYKIAotCS50eXBlCV9fZmVyb2Nlb25fcHJvY19pbmZvLCNvYmplY3QKLV9fZmVyb2Nlb25fcHJvY19pbmZvOgorCS50eXBlCV9fODhmcjUzMV9wcm9jX2luZm8sI29iamVjdAorX184OGZyNTMxX3Byb2NfaW5mbzoKIAkubG9uZwkweDU2MDU1MzEwCiAJLmxvbmcJMHhmZmZmZmZmMAotCS5sb25nICAgUE1EX1RZUEVfU0VDVCB8IFwKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfU0VDVF9CVUZGRVJBQkxFIHwgXAogCQlQTURfU0VDVF9DQUNIRUFCTEUgfCBcCiAJCVBNRF9CSVQ0IHwgXAogCQlQTURfU0VDVF9BUF9XUklURSB8IFwKIAkJUE1EX1NFQ1RfQVBfUkVBRAotCS5sb25nICAgUE1EX1RZUEVfU0VDVCB8IFwKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfQklUNCB8IFwKIAkJUE1EX1NFQ1RfQVBfV1JJVEUgfCBcCiAJCVBNRF9TRUNUX0FQX1JFQUQKQEAgLTQ2Myw5ICs2MDMsNTkgQEAKIAkubG9uZwljcHVfYXJjaF9uYW1lCiAJLmxvbmcJY3B1X2VsZl9uYW1lCiAJLmxvbmcJSFdDQVBfU1dQfEhXQ0FQX0hBTEZ8SFdDQVBfVEhVTUJ8SFdDQVBfRkFTVF9NVUxUfEhXQ0FQX0VEU1AKLQkubG9uZwljcHVfZmVyb2Nlb25fbmFtZQorCS5sb25nCWNwdV84OGZyNTMxX25hbWUKIAkubG9uZwlmZXJvY2Vvbl9wcm9jZXNzb3JfZnVuY3Rpb25zCiAJLmxvbmcJdjR3YmlfdGxiX2ZucwogCS5sb25nCWZlcm9jZW9uX3VzZXJfZm5zCiAJLmxvbmcJZmVyb2Nlb25fY2FjaGVfZm5zCi0JLnNpemUJX19mZXJvY2Vvbl9wcm9jX2luZm8sIC4gLSBfX2Zlcm9jZW9uX3Byb2NfaW5mbworCS5zaXplCV9fODhmcjUzMV9wcm9jX2luZm8sIC4gLSBfXzg4ZnI1MzFfcHJvY19pbmZvCisKKwkudHlwZQlfXzg4ZnI1NzFfcHJvY19pbmZvLCNvYmplY3QKK19fODhmcjU3MV9wcm9jX2luZm86CisJLmxvbmcJMHg1NjE1NTcxMAorCS5sb25nCTB4ZmZmZmZmZjAKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAorCQlQTURfU0VDVF9CVUZGRVJBQkxFIHwgXAorCQlQTURfU0VDVF9DQUNIRUFCTEUgfCBcCisJCVBNRF9CSVQ0IHwgXAorCQlQTURfU0VDVF9BUF9XUklURSB8IFwKKwkJUE1EX1NFQ1RfQVBfUkVBRAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCisJCVBNRF9CSVQ0IHwgXAorCQlQTURfU0VDVF9BUF9XUklURSB8IFwKKwkJUE1EX1NFQ1RfQVBfUkVBRAorCWIJX19mZXJvY2Vvbl9zZXR1cAorCS5sb25nCWNwdV9hcmNoX25hbWUKKwkubG9uZwljcHVfZWxmX25hbWUKKwkubG9uZwlIV0NBUF9TV1B8SFdDQVBfSEFMRnxIV0NBUF9USFVNQnxIV0NBUF9GQVNUX01VTFR8SFdDQVBfRURTUAorCS5sb25nCWNwdV84OGZyNTcxX25hbWUKKwkubG9uZwlmZXJvY2Vvbl9wcm9jZXNzb3JfZnVuY3Rpb25zCisJLmxvbmcJdjR3YmlfdGxiX2ZucworCS5sb25nCWZlcm9jZW9uX3VzZXJfZm5zCisJLmxvbmcJZmVyb2Nlb25fcmFuZ2VfY2FjaGVfZm5zCisJLnNpemUJX184OGZyNTcxX3Byb2NfaW5mbywgLiAtIF9fODhmcjU3MV9wcm9jX2luZm8KKworCS50eXBlCV9fODhmcjEzMV9wcm9jX2luZm8sI29iamVjdAorX184OGZyMTMxX3Byb2NfaW5mbzoKKwkubG9uZwkweDU2MjUxMzEwCisJLmxvbmcJMHhmZmZmZmZmMAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCisJCVBNRF9TRUNUX0JVRkZFUkFCTEUgfCBcCisJCVBNRF9TRUNUX0NBQ0hFQUJMRSB8IFwKKwkJUE1EX0JJVDQgfCBcCisJCVBNRF9TRUNUX0FQX1dSSVRFIHwgXAorCQlQTURfU0VDVF9BUF9SRUFECisJLmxvbmcJUE1EX1RZUEVfU0VDVCB8IFwKKwkJUE1EX0JJVDQgfCBcCisJCVBNRF9TRUNUX0FQX1dSSVRFIHwgXAorCQlQTURfU0VDVF9BUF9SRUFECisJYglfX2Zlcm9jZW9uX3NldHVwCisJLmxvbmcJY3B1X2FyY2hfbmFtZQorCS5sb25nCWNwdV9lbGZfbmFtZQorCS5sb25nCUhXQ0FQX1NXUHxIV0NBUF9IQUxGfEhXQ0FQX1RIVU1CfEhXQ0FQX0ZBU1RfTVVMVHxIV0NBUF9FRFNQCisJLmxvbmcJY3B1Xzg4ZnIxMzFfbmFtZQorCS5sb25nCWZlcm9jZW9uX3Byb2Nlc3Nvcl9mdW5jdGlvbnMKKwkubG9uZwl2NHdiaV90bGJfZm5zCisJLmxvbmcJZmVyb2Nlb25fdXNlcl9mbnMKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9jYWNoZV9mbnMKKwkuc2l6ZQlfXzg4ZnIxMzFfcHJvY19pbmZvLCAuIC0gX184OGZyMTMxX3Byb2NfaW5mbwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vb3Byb2ZpbGUvb3BfbW9kZWxfbXBjb3JlLmMgYi9hcmNoL2FybS9vcHJvZmlsZS9vcF9tb2RlbF9tcGNvcmUuYwppbmRleCA3NGZhZTYwLi40NDU4NzA1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9vcHJvZmlsZS9vcF9tb2RlbF9tcGNvcmUuYworKysgYi9hcmNoL2FybS9vcHJvZmlsZS9vcF9tb2RlbF9tcGNvcmUuYwpAQCAtMjAxLDcgKzIwMSw3IEBACiAJZGF0YS5yZXQgPSAwOwogCiAJcHJlZW1wdF9kaXNhYmxlKCk7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oZW1fZnVuYywgJmRhdGEsIDEsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGVtX2Z1bmMsICZkYXRhLCAxKTsKIAllbV9mdW5jKCZkYXRhKTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LWlvcC9ncGlvLmMgYi9hcmNoL2FybS9wbGF0LWlvcC9ncGlvLmMKaW5kZXggZWRhNDM2MC4uNjQwZTQ5OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1pb3AvZ3Bpby5jCisrKyBiL2FyY2gvYXJtL3BsYXQtaW9wL2dwaW8uYwpAQCAtMTEsNiArMTEsMTAgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2lvcDN4eC5oPgogCiB2b2lkIGdwaW9fbGluZV9jb25maWcoaW50IGxpbmUsIGludCBkaXJlY3Rpb24pCkBAIC00NiwzICs1MCw0MiBAQAogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIEVYUE9SVF9TWU1CT0woZ3Bpb19saW5lX3NldCk7CisKK3N0YXRpYyBpbnQgaW9wM3h4X2dwaW9fZGlyZWN0aW9uX2lucHV0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIGdwaW8pCit7CisJZ3Bpb19saW5lX2NvbmZpZyhncGlvLCBHUElPX0lOKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb3AzeHhfZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIGdwaW8sIGludCBsZXZlbCkKK3sKKwlncGlvX2xpbmVfc2V0KGdwaW8sIGxldmVsKTsKKwlncGlvX2xpbmVfY29uZmlnKGdwaW8sIEdQSU9fT1VUKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb3AzeHhfZ3Bpb19nZXRfdmFsdWUoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgZ3BpbykKK3sKKwlyZXR1cm4gZ3Bpb19saW5lX2dldChncGlvKTsKK30KKworc3RhdGljIHZvaWQgaW9wM3h4X2dwaW9fc2V0X3ZhbHVlKHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIGdwaW8sIGludCB2YWx1ZSkKK3sKKwlncGlvX2xpbmVfc2V0KGdwaW8sIHZhbHVlKTsKK30KKworc3RhdGljIHN0cnVjdCBncGlvX2NoaXAgaW9wM3h4X2NoaXAgPSB7CisJLmxhYmVsCQkJPSAiaW9wM3h4IiwKKwkuZGlyZWN0aW9uX2lucHV0CT0gaW9wM3h4X2dwaW9fZGlyZWN0aW9uX2lucHV0LAorCS5nZXQJCQk9IGlvcDN4eF9ncGlvX2dldF92YWx1ZSwKKwkuZGlyZWN0aW9uX291dHB1dAk9IGlvcDN4eF9ncGlvX2RpcmVjdGlvbl9vdXRwdXQsCisJLnNldAkJCT0gaW9wM3h4X2dwaW9fc2V0X3ZhbHVlLAorCS5iYXNlCQkJPSAwLAorCS5uZ3BpbwkJCT0gSU9QM1hYX05fR1BJT1MsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBpb3AzeHhfZ3Bpb19zZXR1cCh2b2lkKQoreworCXJldHVybiBncGlvY2hpcF9hZGQoJmlvcDN4eF9jaGlwKTsKK30KK2FyY2hfaW5pdGNhbGwoaW9wM3h4X2dwaW9fc2V0dXApOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1teGMvS2NvbmZpZyBiL2FyY2gvYXJtL3BsYXQtbXhjL0tjb25maWcKaW5kZXggYmI2ZTEyNy4uZTE0ZWFhZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1teGMvS2NvbmZpZworKysgYi9hcmNoL2FybS9wbGF0LW14Yy9LY29uZmlnCkBAIC0zLDkgKzMsMTQgQEAKIG1lbnUgIkZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zIgogCiBjaG9pY2UKLQlwcm9tcHQgIk1YQy9pTVggU3lzdGVtIFR5cGUiCisJcHJvbXB0ICJNWEMvaU1YIEJhc2UgVHlwZSIKIAlkZWZhdWx0IEFSQ0hfTVgzCiAKK2NvbmZpZyBBUkNIX01YMgorCWJvb2wgIk1YMi1iYXNlZCIKKwloZWxwCisJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3Igc3lzdGVtcyBiYXNlZCBvbiB0aGUgRnJlZXNjYWxlIGkuTVgyIGZhbWlseQorCiBjb25maWcgQVJDSF9NWDMKIAlib29sICJNWDMtYmFzZWQiCiAJaGVscApAQCAtMTMsNiArMTgsNyBAQAogCiBlbmRjaG9pY2UKIAorc291cmNlICJhcmNoL2FybS9tYWNoLW14Mi9LY29uZmlnIgogc291cmNlICJhcmNoL2FybS9tYWNoLW14My9LY29uZmlnIgogCiBlbmRtZW51CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9NYWtlZmlsZSBiL2FyY2gvYXJtL3BsYXQtbXhjL01ha2VmaWxlCmluZGV4IGY5NmRjMDMuLmRiNjZlOWEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtbXhjL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL3BsYXQtbXhjL01ha2VmaWxlCkBAIC0zLDQgKzMsNiBAQAogIwogCiAjIENvbW1vbiBzdXBwb3J0Ci1vYmoteSA6PSBpcnEubworb2JqLXkgOj0gaXJxLm8gY2xvY2subyBncGlvLm8gdGltZS5vCisKK29iai0kKENPTkZJR19BUkNIX01YMikgKz0gaW9tdXgtbXgxLW14Mi5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9jbG9jay5jIGIvYXJjaC9hcm0vcGxhdC1teGMvY2xvY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWE4NmZkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vcGxhdC1teGMvY2xvY2suYwpAQCAtMCwwICsxLDMzMSBAQAorLyoKKyAqIEJhc2VkIG9uIGFyY2gvYXJtL3BsYXQtb21hcC9jbG9jay5jCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA0IC0gMjAwNSBOb2tpYSBjb3Jwb3JhdGlvbgorICogV3JpdHRlbiBieSBUdXVra2EgVGlra2FuZW4gPHR1dWtrYS50aWtrYW5lbkBlbGVrdHJvYml0LmNvbT4KKyAqIE1vZGlmaWVkIGZvciBvbWFwIHNoYXJlZCBjbG9jayBmcmFtZXdvcmsgYnkgVG9ueSBMaW5kZ3JlbiA8dG9ueUBhdG9taWRlLmNvbT4KKyAqIENvcHlyaWdodCAyMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisvKiAjZGVmaW5lIERFQlVHICovCisKKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZW1hcGhvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgorCitzdGF0aWMgTElTVF9IRUFEKGNsb2Nrcyk7CitzdGF0aWMgREVGSU5FX01VVEVYKGNsb2Nrc19tdXRleCk7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogU3RhbmRhcmQgY2xvY2sgZnVuY3Rpb25zIGRlZmluZWQgaW4gaW5jbHVkZS9saW51eC9jbGsuaAorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoKKyAqIFJldHJpZXZlIGEgY2xvY2sgYnkgbmFtZS4KKyAqCisgKiBOb3RlIHRoYXQgd2UgZmlyc3QgdHJ5IHRvIHVzZSBkZXZpY2UgaWQgb24gdGhlIGJ1cworICogYW5kIGNsb2NrIG5hbWUuIElmIHRoaXMgZmFpbHMsIHdlIHRyeSB0byB1c2UgIjxuYW1lPi48aWQ+Ii4gSWYgdGhpcyBmYWlscywKKyAqIHdlIHRyeSB0byB1c2UgY2xvY2sgbmFtZSBvbmx5LgorICogVGhlIHJlZmVyZW5jZSBjb3VudCB0byB0aGUgY2xvY2sncyBtb2R1bGUgb3duZXIgcmVmIGNvdW50IGlzIGluY3JlbWVudGVkLgorICovCitzdHJ1Y3QgY2xrICpjbGtfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3QgY2hhciAqaWQpCit7CisJc3RydWN0IGNsayAqcCwgKmNsayA9IEVSUl9QVFIoLUVOT0VOVCk7CisJaW50IGlkbm87CisJY29uc3QgY2hhciAqc3RyOworCisJaWYgKGlkID09IE5VTEwpCisJCXJldHVybiBjbGs7CisKKwlpZiAoZGV2ID09IE5VTEwgfHwgZGV2LT5idXMgIT0gJnBsYXRmb3JtX2J1c190eXBlKQorCQlpZG5vID0gLTE7CisJZWxzZQorCQlpZG5vID0gdG9fcGxhdGZvcm1fZGV2aWNlKGRldiktPmlkOworCisJbXV0ZXhfbG9jaygmY2xvY2tzX211dGV4KTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkocCwgJmNsb2Nrcywgbm9kZSkgeworCQlpZiAocC0+aWQgPT0gaWRubyAmJgorCQkgICAgc3RyY21wKGlkLCBwLT5uYW1lKSA9PSAwICYmIHRyeV9tb2R1bGVfZ2V0KHAtPm93bmVyKSkgeworCQkJY2xrID0gcDsKKwkJCWdvdG8gZm91bmQ7CisJCX0KKwl9CisKKwlzdHIgPSBzdHJyY2hyKGlkLCAnLicpOworCWlmIChzdHIpIHsKKwkJaW50IGNudCA9IHN0ciAtIGlkOworCQlzdHIrKzsKKwkJaWRubyA9IHNpbXBsZV9zdHJ0b2woc3RyLCBOVUxMLCAxMCk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkocCwgJmNsb2Nrcywgbm9kZSkgeworCQkJaWYgKHAtPmlkID09IGlkbm8gJiYKKwkJCSAgICBzdHJsZW4ocC0+bmFtZSkgPT0gY250ICYmCisJCQkgICAgc3RybmNtcChpZCwgcC0+bmFtZSwgY250KSA9PSAwICYmCisJCQkgICAgdHJ5X21vZHVsZV9nZXQocC0+b3duZXIpKSB7CisJCQkJY2xrID0gcDsKKwkJCQlnb3RvIGZvdW5kOworCQkJfQorCQl9CisJfQorCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwLCAmY2xvY2tzLCBub2RlKSB7CisJCWlmIChzdHJjbXAoaWQsIHAtPm5hbWUpID09IDAgJiYgdHJ5X21vZHVsZV9nZXQocC0+b3duZXIpKSB7CisJCQljbGsgPSBwOworCQkJZ290byBmb3VuZDsKKwkJfQorCX0KKworCXByaW50ayhLRVJOX1dBUk5JTkcgImNsazogVW5hYmxlIHRvIGdldCByZXF1ZXN0ZWQgY2xvY2s6ICVzXG4iLCBpZCk7CisKK2ZvdW5kOgorCW11dGV4X3VubG9jaygmY2xvY2tzX211dGV4KTsKKworCXJldHVybiBjbGs7Cit9CitFWFBPUlRfU1lNQk9MKGNsa19nZXQpOworCitzdGF0aWMgdm9pZCBfX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykpCisJCXJldHVybjsKKworCV9fY2xrX2Rpc2FibGUoY2xrLT5wYXJlbnQpOworCV9fY2xrX2Rpc2FibGUoY2xrLT5zZWNvbmRhcnkpOworCisJaWYgKCEoLS1jbGstPnVzZWNvdW50KSAmJiBjbGstPmRpc2FibGUpCisJCWNsay0+ZGlzYWJsZShjbGspOworfQorCitzdGF0aWMgaW50IF9fY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCV9fY2xrX2VuYWJsZShjbGstPnBhcmVudCk7CisJX19jbGtfZW5hYmxlKGNsay0+c2Vjb25kYXJ5KTsKKworCWlmIChjbGstPnVzZWNvdW50KysgPT0gMCAmJiBjbGstPmVuYWJsZSkKKwkJY2xrLT5lbmFibGUoY2xrKTsKKworCXJldHVybiAwOworfQorCisvKiBUaGlzIGZ1bmN0aW9uIGluY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudCBvbiB0aGUgY2xvY2sgYW5kIGVuYWJsZXMgdGhlCisgKiBjbG9jayBpZiBub3QgYWxyZWFkeSBlbmFibGVkLiBUaGUgcGFyZW50IGNsb2NrIHRyZWUgaXMgcmVjdXJzaXZlbHkgZW5hYmxlZAorICovCitpbnQgY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaW50IHJldCA9IDA7CisKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykpCisJCXJldHVybiAtRUlOVkFMOworCisJbXV0ZXhfbG9jaygmY2xvY2tzX211dGV4KTsKKwlyZXQgPSBfX2Nsa19lbmFibGUoY2xrKTsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChjbGtfZW5hYmxlKTsKKworLyogVGhpcyBmdW5jdGlvbiBkZWNyZW1lbnRzIHRoZSByZWZlcmVuY2UgY291bnQgb24gdGhlIGNsb2NrIGFuZCBkaXNhYmxlcworICogdGhlIGNsb2NrIHdoZW4gcmVmZXJlbmNlIGNvdW50IGlzIDAuIFRoZSBwYXJlbnQgY2xvY2sgdHJlZSBpcworICogcmVjdXJzaXZlbHkgZGlzYWJsZWQKKyAqLwordm9pZCBjbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm47CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCV9fY2xrX2Rpc2FibGUoY2xrKTsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7Cit9CitFWFBPUlRfU1lNQk9MKGNsa19kaXNhYmxlKTsKKworLyogUmV0cmlldmUgdGhlICpjdXJyZW50KiBjbG9jayByYXRlLiBJZiB0aGUgY2xvY2sgaXRzZWxmCisgKiBkb2VzIG5vdCBwcm92aWRlIGEgc3BlY2lhbCBjYWxjdWxhdGlvbiByb3V0aW5lLCBhc2sKKyAqIGl0cyBwYXJlbnQgYW5kIHNvIG9uLCB1bnRpbCBvbmUgaXMgYWJsZSB0byByZXR1cm4KKyAqIGEgdmFsaWQgY2xvY2sgcmF0ZQorICovCit1bnNpZ25lZCBsb25nIGNsa19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm4gMFVMOworCisJaWYgKGNsay0+Z2V0X3JhdGUpCisJCXJldHVybiBjbGstPmdldF9yYXRlKGNsayk7CisKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKK30KK0VYUE9SVF9TWU1CT0woY2xrX2dldF9yYXRlKTsKKworLyogRGVjcmVtZW50IHRoZSBjbG9jaydzIG1vZHVsZSByZWZlcmVuY2UgY291bnQgKi8KK3ZvaWQgY2xrX3B1dChzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayAmJiAhSVNfRVJSKGNsaykpCisJCW1vZHVsZV9wdXQoY2xrLT5vd25lcik7Cit9CitFWFBPUlRfU1lNQk9MKGNsa19wdXQpOworCisvKiBSb3VuZCB0aGUgcmVxdWVzdGVkIGNsb2NrIHJhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkCisgKiByYXRlIHRoYXQgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSByZXF1ZXN0ZWQgcmF0ZS4KKyAqIFRoaXMgaXMgZGVwZW5kZW50IG9uIHRoZSBjbG9jaydzIGN1cnJlbnQgcGFyZW50LgorICovCitsb25nIGNsa19yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCWlmIChjbGsgPT0gTlVMTCB8fCBJU19FUlIoY2xrKSB8fCAhY2xrLT5yb3VuZF9yYXRlKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBjbGstPnJvdW5kX3JhdGUoY2xrLCByYXRlKTsKK30KK0VYUE9SVF9TWU1CT0woY2xrX3JvdW5kX3JhdGUpOworCisvKiBTZXQgdGhlIGNsb2NrIHRvIHRoZSByZXF1ZXN0ZWQgY2xvY2sgcmF0ZS4gVGhlIHJhdGUgbXVzdAorICogbWF0Y2ggYSBzdXBwb3J0ZWQgcmF0ZSBleGFjdGx5IGJhc2VkIG9uIHdoYXQgY2xrX3JvdW5kX3JhdGUgcmV0dXJucworICovCitpbnQgY2xrX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCWludCByZXQgPSAtRUlOVkFMOworCisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspIHx8IGNsay0+c2V0X3JhdGUgPT0gTlVMTCB8fCByYXRlID09IDApCisJCXJldHVybiByZXQ7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCXJldCA9IGNsay0+c2V0X3JhdGUoY2xrLCByYXRlKTsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChjbGtfc2V0X3JhdGUpOworCisvKiBTZXQgdGhlIGNsb2NrJ3MgcGFyZW50IHRvIGFub3RoZXIgY2xvY2sgc291cmNlICovCitpbnQgY2xrX3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJaW50IHJldCA9IC1FSU5WQUw7CisKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykgfHwgcGFyZW50ID09IE5VTEwgfHwKKwkgICAgSVNfRVJSKHBhcmVudCkgfHwgY2xrLT5zZXRfcGFyZW50ID09IE5VTEwpCisJCXJldHVybiByZXQ7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCXJldCA9IGNsay0+c2V0X3BhcmVudChjbGssIHBhcmVudCk7CisJaWYgKHJldCA9PSAwKQorCQljbGstPnBhcmVudCA9IHBhcmVudDsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChjbGtfc2V0X3BhcmVudCk7CisKKy8qIFJldHJpZXZlIHRoZSBjbG9jaydzIHBhcmVudCBjbG9jayBzb3VyY2UgKi8KK3N0cnVjdCBjbGsgKmNsa19nZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgY2xrICpyZXQgPSBOVUxMOworCisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm4gcmV0OworCisJcmV0dXJuIGNsay0+cGFyZW50OworfQorRVhQT1JUX1NZTUJPTChjbGtfZ2V0X3BhcmVudCk7CisKKy8qCisgKiBBZGQgYSBuZXcgY2xvY2sgdG8gdGhlIGNsb2NrIHRyZWUuCisgKi8KK2ludCBjbGtfcmVnaXN0ZXIoc3RydWN0IGNsayAqY2xrKQoreworCWlmIChjbGsgPT0gTlVMTCB8fCBJU19FUlIoY2xrKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCWxpc3RfYWRkKCZjbGstPm5vZGUsICZjbG9ja3MpOworCW11dGV4X3VubG9jaygmY2xvY2tzX211dGV4KTsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChjbGtfcmVnaXN0ZXIpOworCisvKiBSZW1vdmUgYSBjbG9jayBmcm9tIHRoZSBjbG9jayB0cmVlICovCit2b2lkIGNsa191bnJlZ2lzdGVyKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmNsb2Nrc19tdXRleCk7CisJbGlzdF9kZWwoJmNsay0+bm9kZSk7CisJbXV0ZXhfdW5sb2NrKCZjbG9ja3NfbXV0ZXgpOworfQorRVhQT1JUX1NZTUJPTChjbGtfdW5yZWdpc3Rlcik7CisKKyNpZmRlZiBDT05GSUdfUFJPQ19GUworc3RhdGljIGludCBteGNfY2xvY2tfcmVhZF9wcm9jKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLAorCQkJCWludCBjb3VudCwgaW50ICplb2YsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNsayAqY2xrcDsKKwljaGFyICpwID0gcGFnZTsKKwlpbnQgbGVuOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShjbGtwLCAmY2xvY2tzLCBub2RlKSB7CisJCXAgKz0gc3ByaW50ZihwLCAiJXMtJWQ6XHRcdCVsdSwgJWQiLCBjbGtwLT5uYW1lLCBjbGtwLT5pZCwKKwkJCQljbGtfZ2V0X3JhdGUoY2xrcCksIGNsa3AtPnVzZWNvdW50KTsKKwkJaWYgKGNsa3AtPnBhcmVudCkKKwkJCXAgKz0gc3ByaW50ZihwLCAiLCAlcy0lZFxuIiwgY2xrcC0+cGFyZW50LT5uYW1lLAorCQkJCSAgICAgY2xrcC0+cGFyZW50LT5pZCk7CisJCWVsc2UKKwkJCXAgKz0gc3ByaW50ZihwLCAiXG4iKTsKKwl9CisKKwlsZW4gPSAocCAtIHBhZ2UpIC0gb2ZmOworCWlmIChsZW4gPCAwKQorCQlsZW4gPSAwOworCisJKmVvZiA9IChsZW4gPD0gY291bnQpID8gMSA6IDA7CisJKnN0YXJ0ID0gcGFnZSArIG9mZjsKKworCXJldHVybiBsZW47Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG14Y19zZXR1cF9wcm9jX2VudHJ5KHZvaWQpCit7CisJc3RydWN0IHByb2NfZGlyX2VudHJ5ICpyZXM7CisKKwlyZXMgPSBjcmVhdGVfcHJvY19yZWFkX2VudHJ5KCJjcHUvY2xvY2tzIiwgMCwgTlVMTCwKKwkJCQkgICAgIG14Y19jbG9ja19yZWFkX3Byb2MsIE5VTEwpOworCWlmICghcmVzKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGNyZWF0ZSBwcm9jL2NwdS9jbG9ja3NcbiIpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2xhdGVfaW5pdGNhbGwobXhjX3NldHVwX3Byb2NfZW50cnkpOworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9ncGlvLmMgYi9hcmNoL2FybS9wbGF0LW14Yy9ncGlvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE3NzM2NwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtbXhjL2dwaW8uYwpAQCAtMCwwICsxLDI1MyBAQAorLyoKKyAqIE1YQyBHUElPIHN1cHBvcnQuIChjKSAyMDA4IERhbmllbCBNYWNrIDxkYW5pZWxAY2FpYXEuZGU+CisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJvbSBGcmVlc2NhbGUsCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9idWcuaD4KKworc3RhdGljIHN0cnVjdCBteGNfZ3Bpb19wb3J0ICpteGNfZ3Bpb19wb3J0czsKK3N0YXRpYyBpbnQgZ3Bpb190YWJsZV9zaXplOworCisvKiBOb3RlOiBUaGlzIGRyaXZlciBhc3N1bWVzIDMyIEdQSU9zIGFyZSBoYW5kbGVkIGluIG9uZSByZWdpc3RlciAqLworCitzdGF0aWMgdm9pZCBfY2xlYXJfZ3Bpb19pcnFzdGF0dXMoc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQsIHUzMiBpbmRleCkKK3sKKwlfX3Jhd193cml0ZWwoMSA8PCBpbmRleCwgcG9ydC0+YmFzZSArIEdQSU9fSVNSKTsKK30KKworc3RhdGljIHZvaWQgX3NldF9ncGlvX2lycWVuYWJsZShzdHJ1Y3QgbXhjX2dwaW9fcG9ydCAqcG9ydCwgdTMyIGluZGV4LAorCQkJCWludCBlbmFibGUpCit7CisJdTMyIGw7CisKKwlsID0gX19yYXdfcmVhZGwocG9ydC0+YmFzZSArIEdQSU9fSU1SKTsKKwlsID0gKGwgJiAofigxIDw8IGluZGV4KSkpIHwgKCEhZW5hYmxlIDw8IGluZGV4KTsKKwlfX3Jhd193cml0ZWwobCwgcG9ydC0+YmFzZSArIEdQSU9fSU1SKTsKK30KKworc3RhdGljIHZvaWQgZ3Bpb19hY2tfaXJxKHUzMiBpcnEpCit7CisJdTMyIGdwaW8gPSBpcnFfdG9fZ3BpbyhpcnEpOworCV9jbGVhcl9ncGlvX2lycXN0YXR1cygmbXhjX2dwaW9fcG9ydHNbZ3BpbyAvIDMyXSwgZ3BpbyAmIDB4MWYpOworfQorCitzdGF0aWMgdm9pZCBncGlvX21hc2tfaXJxKHUzMiBpcnEpCit7CisJdTMyIGdwaW8gPSBpcnFfdG9fZ3BpbyhpcnEpOworCV9zZXRfZ3Bpb19pcnFlbmFibGUoJm14Y19ncGlvX3BvcnRzW2dwaW8gLyAzMl0sIGdwaW8gJiAweDFmLCAwKTsKK30KKworc3RhdGljIHZvaWQgZ3Bpb191bm1hc2tfaXJxKHUzMiBpcnEpCit7CisJdTMyIGdwaW8gPSBpcnFfdG9fZ3BpbyhpcnEpOworCV9zZXRfZ3Bpb19pcnFlbmFibGUoJm14Y19ncGlvX3BvcnRzW2dwaW8gLyAzMl0sIGdwaW8gJiAweDFmLCAxKTsKK30KKworc3RhdGljIGludCBncGlvX3NldF9pcnFfdHlwZSh1MzIgaXJxLCB1MzIgdHlwZSkKK3sKKwl1MzIgZ3BpbyA9IGlycV90b19ncGlvKGlycSk7CisJc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQgPSAmbXhjX2dwaW9fcG9ydHNbZ3BpbyAvIDMyXTsKKwl1MzIgYml0LCB2YWw7CisJaW50IGVkZ2U7CisJdm9pZCBfX2lvbWVtICpyZWcgPSBwb3J0LT5iYXNlOworCisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBJUlFUX1JJU0lORzoKKwkJZWRnZSA9IEdQSU9fSU5UX1JJU0VfRURHRTsKKwkJYnJlYWs7CisJY2FzZSBJUlFUX0ZBTExJTkc6CisJCWVkZ2UgPSBHUElPX0lOVF9GQUxMX0VER0U7CisJCWJyZWFrOworCWNhc2UgSVJRVF9MT1c6CisJCWVkZ2UgPSBHUElPX0lOVF9MT1dfTEVWOworCQlicmVhazsKKwljYXNlIElSUVRfSElHSDoKKwkJZWRnZSA9IEdQSU9fSU5UX0hJR0hfTEVWOworCQlicmVhazsKKwlkZWZhdWx0OgkvKiB0aGlzIGluY2x1ZGVzIElSUVRfQk9USEVER0UgKi8KKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmVnICs9IEdQSU9fSUNSMSArICgoZ3BpbyAmIDB4MTApID4+IDIpOyAvKiBsb3dlciBvciB1cHBlciByZWdpc3RlciAqLworCWJpdCA9IGdwaW8gJiAweGY7CisJdmFsID0gX19yYXdfcmVhZGwocmVnKSAmIH4oMHgzIDw8IChiaXQgPDwgMSkpOworCV9fcmF3X3dyaXRlbCh2YWwgfCAoZWRnZSA8PCAoYml0IDw8IDEpKSwgcmVnKTsKKwlfY2xlYXJfZ3Bpb19pcnFzdGF0dXMocG9ydCwgZ3BpbyAmIDB4MWYpOworCisJcmV0dXJuIDA7Cit9CisKKy8qIGhhbmRsZSBuIGludGVycnVwdHMgaW4gb25lIHN0YXR1cyByZWdpc3RlciAqLworc3RhdGljIHZvaWQgbXhjX2dwaW9faXJxX2hhbmRsZXIoc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQsIHUzMiBpcnFfc3RhdCkKK3sKKwl1MzIgZ3Bpb19pcnFfbm87CisKKwlncGlvX2lycV9ubyA9IHBvcnQtPnZpcnR1YWxfaXJxX3N0YXJ0OworCWZvciAoOyBpcnFfc3RhdCAhPSAwOyBpcnFfc3RhdCA+Pj0gMSwgZ3Bpb19pcnFfbm8rKykgeworCisJCWlmICgoaXJxX3N0YXQgJiAxKSA9PSAwKQorCQkJY29udGludWU7CisKKwkJQlVHX09OKCEoaXJxX2Rlc2NbZ3Bpb19pcnFfbm9dLmhhbmRsZV9pcnEpKTsKKwkJaXJxX2Rlc2NbZ3Bpb19pcnFfbm9dLmhhbmRsZV9pcnEoZ3Bpb19pcnFfbm8sCisJCQkJJmlycV9kZXNjW2dwaW9faXJxX25vXSk7CisJfQorfQorCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgzCisvKiBNWDMgaGFzIG9uZSBpbnRlcnJ1cHQgKnBlciogZ3BpbyBwb3J0ICovCitzdGF0aWMgdm9pZCBteDNfZ3Bpb19pcnFfaGFuZGxlcih1MzIgaXJxLCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCit7CisJdTMyIGlycV9zdGF0OworCXN0cnVjdCBteGNfZ3Bpb19wb3J0ICpwb3J0ID0gKHN0cnVjdCBteGNfZ3Bpb19wb3J0ICopZ2V0X2lycV9kYXRhKGlycSk7CisKKwlpcnFfc3RhdCA9IF9fcmF3X3JlYWRsKHBvcnQtPmJhc2UgKyBHUElPX0lTUikgJgorCQkJX19yYXdfcmVhZGwocG9ydC0+YmFzZSArIEdQSU9fSU1SKTsKKwlCVUdfT04oIWlycV9zdGF0KTsKKwlteGNfZ3Bpb19pcnFfaGFuZGxlcihwb3J0LCBpcnFfc3RhdCk7Cit9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX01YMgorLyogTVgyIGhhcyBvbmUgaW50ZXJydXB0ICpmb3IgYWxsKiBncGlvIHBvcnRzICovCitzdGF0aWMgdm9pZCBteDJfZ3Bpb19pcnFfaGFuZGxlcih1MzIgaXJxLCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCit7CisJaW50IGk7CisJdTMyIGlycV9tc2ssIGlycV9zdGF0OworCXN0cnVjdCBteGNfZ3Bpb19wb3J0ICpwb3J0ID0gKHN0cnVjdCBteGNfZ3Bpb19wb3J0ICopZ2V0X2lycV9kYXRhKGlycSk7CisKKwkvKiB3YWxrIHRocm91Z2ggYWxsIGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXJzICovCisJZm9yIChpID0gMDsgaSA8IGdwaW9fdGFibGVfc2l6ZTsgaSsrKSB7CisJCWlycV9tc2sgPSBfX3Jhd19yZWFkbChwb3J0W2ldLmJhc2UgKyBHUElPX0lNUik7CisJCWlmICghaXJxX21zaykKKwkJCWNvbnRpbnVlOworCisJCWlycV9zdGF0ID0gX19yYXdfcmVhZGwocG9ydFtpXS5iYXNlICsgR1BJT19JU1IpICYgaXJxX21zazsKKwkJaWYgKGlycV9zdGF0KQorCQkJbXhjX2dwaW9faXJxX2hhbmRsZXIoJnBvcnRbaV0sIGlycV9zdGF0KTsKKwl9Cit9CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBncGlvX2lycV9jaGlwID0geworCS5hY2sgPSBncGlvX2Fja19pcnEsCisJLm1hc2sgPSBncGlvX21hc2tfaXJxLAorCS51bm1hc2sgPSBncGlvX3VubWFza19pcnEsCisJLnNldF90eXBlID0gZ3Bpb19zZXRfaXJxX3R5cGUsCit9OworCitzdGF0aWMgdm9pZCBfc2V0X2dwaW9fZGlyZWN0aW9uKHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIG9mZnNldCwKKwkJCQlpbnQgZGlyKQoreworCXN0cnVjdCBteGNfZ3Bpb19wb3J0ICpwb3J0ID0KKwkJY29udGFpbmVyX29mKGNoaXAsIHN0cnVjdCBteGNfZ3Bpb19wb3J0LCBjaGlwKTsKKwl1MzIgbDsKKworCWwgPSBfX3Jhd19yZWFkbChwb3J0LT5iYXNlICsgR1BJT19HRElSKTsKKwlpZiAoZGlyKQorCQlsIHw9IDEgPDwgb2Zmc2V0OworCWVsc2UKKwkJbCAmPSB+KDEgPDwgb2Zmc2V0KTsKKwlfX3Jhd193cml0ZWwobCwgcG9ydC0+YmFzZSArIEdQSU9fR0RJUik7Cit9CisKK3N0YXRpYyB2b2lkIG14Y19ncGlvX3NldChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBvZmZzZXQsIGludCB2YWx1ZSkKK3sKKwlzdHJ1Y3QgbXhjX2dwaW9fcG9ydCAqcG9ydCA9CisJCWNvbnRhaW5lcl9vZihjaGlwLCBzdHJ1Y3QgbXhjX2dwaW9fcG9ydCwgY2hpcCk7CisJdm9pZCBfX2lvbWVtICpyZWcgPSBwb3J0LT5iYXNlICsgR1BJT19EUjsKKwl1MzIgbDsKKworCWwgPSAoX19yYXdfcmVhZGwocmVnKSAmICh+KDEgPDwgb2Zmc2V0KSkpIHwgKHZhbHVlIDw8IG9mZnNldCk7CisJX19yYXdfd3JpdGVsKGwsIHJlZyk7Cit9CisKK3N0YXRpYyBpbnQgbXhjX2dwaW9fZ2V0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIG9mZnNldCkKK3sKKwlzdHJ1Y3QgbXhjX2dwaW9fcG9ydCAqcG9ydCA9CisJCWNvbnRhaW5lcl9vZihjaGlwLCBzdHJ1Y3QgbXhjX2dwaW9fcG9ydCwgY2hpcCk7CisKKwlyZXR1cm4gKF9fcmF3X3JlYWRsKHBvcnQtPmJhc2UgKyBHUElPX0RSKSA+PiBvZmZzZXQpICYgMTsKK30KKworc3RhdGljIGludCBteGNfZ3Bpb19kaXJlY3Rpb25faW5wdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgb2Zmc2V0KQoreworCV9zZXRfZ3Bpb19kaXJlY3Rpb24oY2hpcCwgb2Zmc2V0LCAwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBteGNfZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsCisJCQkJICAgICB1bnNpZ25lZCBvZmZzZXQsIGludCB2YWx1ZSkKK3sKKwlfc2V0X2dwaW9fZGlyZWN0aW9uKGNoaXAsIG9mZnNldCwgMSk7CisJbXhjX2dwaW9fc2V0KGNoaXAsIG9mZnNldCwgdmFsdWUpOworCXJldHVybiAwOworfQorCitpbnQgX19pbml0IG14Y19ncGlvX2luaXQoc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQsIGludCBjbnQpCit7CisJaW50IGksIGo7CisKKwkvKiBzYXZlIGZvciBsb2NhbCB1c2FnZSAqLworCW14Y19ncGlvX3BvcnRzID0gcG9ydDsKKwlncGlvX3RhYmxlX3NpemUgPSBjbnQ7CisKKwlwcmludGsoS0VSTl9JTkZPICJNWEMgR1BJTyBoYXJkd2FyZVxuIik7CisKKwlmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKKwkJLyogZGlzYWJsZSB0aGUgaW50ZXJydXB0IGFuZCBjbGVhciB0aGUgc3RhdHVzICovCisJCV9fcmF3X3dyaXRlbCgwLCBwb3J0W2ldLmJhc2UgKyBHUElPX0lNUik7CisJCV9fcmF3X3dyaXRlbCh+MCwgcG9ydFtpXS5iYXNlICsgR1BJT19JU1IpOworCQlmb3IgKGogPSBwb3J0W2ldLnZpcnR1YWxfaXJxX3N0YXJ0OworCQkJaiA8IHBvcnRbaV0udmlydHVhbF9pcnFfc3RhcnQgKyAzMjsgaisrKSB7CisJCQlzZXRfaXJxX2NoaXAoaiwgJmdwaW9faXJxX2NoaXApOworCQkJc2V0X2lycV9oYW5kbGVyKGosIGhhbmRsZV9lZGdlX2lycSk7CisJCQlzZXRfaXJxX2ZsYWdzKGosIElSUUZfVkFMSUQpOworCQl9CisKKwkJLyogcmVnaXN0ZXIgZ3BpbyBjaGlwICovCisJCXBvcnRbaV0uY2hpcC5kaXJlY3Rpb25faW5wdXQgPSBteGNfZ3Bpb19kaXJlY3Rpb25faW5wdXQ7CisJCXBvcnRbaV0uY2hpcC5kaXJlY3Rpb25fb3V0cHV0ID0gbXhjX2dwaW9fZGlyZWN0aW9uX291dHB1dDsKKwkJcG9ydFtpXS5jaGlwLmdldCA9IG14Y19ncGlvX2dldDsKKwkJcG9ydFtpXS5jaGlwLnNldCA9IG14Y19ncGlvX3NldDsKKwkJcG9ydFtpXS5jaGlwLmJhc2UgPSBpICogMzI7CisJCXBvcnRbaV0uY2hpcC5uZ3BpbyA9IDMyOworCisJCS8qIGl0cyBhIHNlcmlvdXMgY29uZmlndXJhdGlvbiBidWcgd2hlbiBpdCBmYWlscyAqLworCQlCVUdfT04oIGdwaW9jaGlwX2FkZCgmcG9ydFtpXS5jaGlwKSA8IDAgKTsKKworI2lmZGVmIENPTkZJR19BUkNIX01YMworCQkvKiBzZXR1cCBvbmUgaGFuZGxlciBmb3IgZWFjaCBlbnRyeSAqLworCQlzZXRfaXJxX2NoYWluZWRfaGFuZGxlcihwb3J0W2ldLmlycSwgbXgzX2dwaW9faXJxX2hhbmRsZXIpOworCQlzZXRfaXJxX2RhdGEocG9ydFtpXS5pcnEsICZwb3J0W2ldKTsKKyNlbmRpZgorCX0KKworI2lmZGVmIENPTkZJR19BUkNIX01YMgorCS8qIHNldHVwIG9uZSBoYW5kbGVyIGZvciBhbGwgR1BJTyBpbnRlcnJ1cHRzICovCisJc2V0X2lycV9jaGFpbmVkX2hhbmRsZXIocG9ydFswXS5pcnEsIG14Ml9ncGlvX2lycV9oYW5kbGVyKTsKKwlzZXRfaXJxX2RhdGEocG9ydFswXS5pcnEsIHBvcnQpOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9pb211eC1teDEtbXgyLmMgYi9hcmNoL2FybS9wbGF0LW14Yy9pb211eC1teDEtbXgyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk4NTU3MQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtbXhjL2lvbXV4LW14MS1teDIuYwpAQCAtMCwwICsxLDE1NiBAQAorLyoKKyAqICBhcmNoL2FybS9tYWNoLW14Yy9nZW5lcmljLmMKKyAqCisgKiAgYXV0aG9yOiBTYXNjaGEgSGF1ZXIKKyAqICBDcmVhdGVkOiBhcHJpbCAyMHRoLCAyMDA0CisgKiAgQ29weXJpZ2h0OiBTeW5lcnRyb25peHggR21iSAorICoKKyAqICBDb21tb24gY29kZSBmb3IgaS5NWCBtYWNoaW5lcworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14MS1teDIuaD4KKwordm9pZCBteGNfZ3Bpb19tb2RlKGludCBncGlvX21vZGUpCit7CisJdW5zaWduZWQgaW50IHBpbiA9IGdwaW9fbW9kZSAmIEdQSU9fUElOX01BU0s7CisJdW5zaWduZWQgaW50IHBvcnQgPSAoZ3Bpb19tb2RlICYgR1BJT19QT1JUX01BU0spID4+IEdQSU9fUE9SVF9TSElGVDsKKwl1bnNpZ25lZCBpbnQgb2NyID0gKGdwaW9fbW9kZSAmIEdQSU9fT0NSX01BU0spID4+IEdQSU9fT0NSX1NISUZUOworCXVuc2lnbmVkIGludCB0bXA7CisKKwkvKiBQdWxsdXAgZW5hYmxlICovCisJdG1wID0gX19yYXdfcmVhZGwoVkFfR1BJT19CQVNFICsgTVhDX1BVRU4ocG9ydCkpOworCWlmIChncGlvX21vZGUgJiBHUElPX1BVRU4pCisJCXRtcCB8PSAoMSA8PCBwaW4pOworCWVsc2UKKwkJdG1wICY9IH4oMSA8PCBwaW4pOworCV9fcmF3X3dyaXRlbCh0bXAsIFZBX0dQSU9fQkFTRSArIE1YQ19QVUVOKHBvcnQpKTsKKworCS8qIERhdGEgZGlyZWN0aW9uICovCisJdG1wID0gX19yYXdfcmVhZGwoVkFfR1BJT19CQVNFICsgTVhDX0RESVIocG9ydCkpOworCWlmIChncGlvX21vZGUgJiBHUElPX09VVCkKKwkJdG1wIHw9IDEgPDwgcGluOworCWVsc2UKKwkJdG1wICY9IH4oMSA8PCBwaW4pOworCV9fcmF3X3dyaXRlbCh0bXAsIFZBX0dQSU9fQkFTRSArIE1YQ19ERElSKHBvcnQpKTsKKworCS8qIFByaW1hcnkgLyBhbHRlcm5hdGUgZnVuY3Rpb24gKi8KKwl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfR1BSKHBvcnQpKTsKKwlpZiAoZ3Bpb19tb2RlICYgR1BJT19BRikKKwkJdG1wIHw9ICgxIDw8IHBpbik7CisJZWxzZQorCQl0bXAgJj0gfigxIDw8IHBpbik7CisJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0dQUihwb3J0KSk7CisKKwkvKiB1c2UgYXMgZ3Bpbz8gKi8KKwl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfR0lVUyhwb3J0KSk7CisJaWYgKGdwaW9fbW9kZSAmIChHUElPX1BGIHwgR1BJT19BRikpCisJCXRtcCAmPSB+KDEgPDwgcGluKTsKKwllbHNlCisJCXRtcCB8PSAoMSA8PCBwaW4pOworCV9fcmF3X3dyaXRlbCh0bXAsIFZBX0dQSU9fQkFTRSArIE1YQ19HSVVTKHBvcnQpKTsKKworCWlmIChwaW4gPCAxNikgeworCQl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfT0NSMShwb3J0KSk7CisJCXRtcCAmPSB+KDMgPDwgKHBpbiAqIDIpKTsKKwkJdG1wIHw9IChvY3IgPDwgKHBpbiAqIDIpKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX09DUjEocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkExKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19BT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQTEocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkIxKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19CT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQjEocG9ydCkpOworCX0gZWxzZSB7CisJCXBpbiAtPSAxNjsKKworCQl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfT0NSMihwb3J0KSk7CisJCXRtcCAmPSB+KDMgPDwgKHBpbiAqIDIpKTsKKwkJdG1wIHw9IChvY3IgPDwgKHBpbiAqIDIpKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX09DUjIocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkEyKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19BT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQTIocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkIyKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19CT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQjIocG9ydCkpOworCX0KK30KK0VYUE9SVF9TWU1CT0wobXhjX2dwaW9fbW9kZSk7CisKK2ludCBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKGNvbnN0IGludCAqcGluX2xpc3QsIHVuc2lnbmVkIGNvdW50LAorCQkJCWludCBhbGxvY19tb2RlLCBjb25zdCBjaGFyICpsYWJlbCkKK3sKKwljb25zdCBpbnQgKnAgPSBwaW5fbGlzdDsKKwlpbnQgaTsKKwl1bnNpZ25lZCBncGlvOworCXVuc2lnbmVkIG1vZGU7CisKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlncGlvID0gKnAgJiAoR1BJT19QSU5fTUFTSyB8IEdQSU9fUE9SVF9NQVNLKTsKKwkJbW9kZSA9ICpwICYgfihHUElPX1BJTl9NQVNLIHwgR1BJT19QT1JUX01BU0spOworCisJCWlmIChncGlvID49IChHUElPX1BPUlRfTUFYICsgMSkgKiAzMikKKwkJCWdvdG8gc2V0dXBfZXJyb3I7CisKKwkJaWYgKGFsbG9jX21vZGUgJiBNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UpCisJCQlncGlvX2ZyZWUoZ3Bpbyk7CisJCWVsc2UgaWYgKCEoYWxsb2NfbW9kZSAmIE1YQ19HUElPX0FMTE9DX01PREVfTk9fQUxMT0MpKQorCQkJaWYgKGdwaW9fcmVxdWVzdChncGlvLCBsYWJlbCkKKwkJCSAgICYmICEoYWxsb2NfbW9kZSAmIE1YQ19HUElPX0FMTE9DX01PREVfVFJZX0FMTE9DKSkKKwkJCQlnb3RvIHNldHVwX2Vycm9yOworCisJCWlmICghKGFsbG9jX21vZGUgJiAoTVhDX0dQSU9fQUxMT0NfTU9ERV9BTExPQ19PTkxZIHwKKwkJCQkgICAgTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFKSkpCisJCQlteGNfZ3Bpb19tb2RlKGdwaW8gfCBtb2RlKTsKKworCQlwKys7CisJfQorCXJldHVybiAwOworCitzZXR1cF9lcnJvcjoKKwlpZiAoYWxsb2NfbW9kZSAmIChNWENfR1BJT19BTExPQ19NT0RFX05PX0FMTE9DIHwKKwkgICAgTVhDX0dQSU9fQUxMT0NfTU9ERV9UUllfQUxMT0MpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXdoaWxlIChwICE9IHBpbl9saXN0KSB7CisJCXAtLTsKKwkJZ3BpbyA9ICpwICYgKEdQSU9fUElOX01BU0sgfCBHUElPX1BPUlRfTUFTSyk7CisJCWdwaW9fZnJlZShncGlvKTsKKwl9CisKKwlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0wobXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyk7CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtbXhjL2lycS5jIGIvYXJjaC9hcm0vcGxhdC1teGMvaXJxLmMKaW5kZXggMmFkNWE2OS4uMWZiZTAxZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1teGMvaXJxLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1teGMvaXJxLmMKQEAgLTEsMjQgKzEsNTkgQEAKIC8qCi0gKiAgQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BICAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAotLyoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgogCisjZGVmaW5lIEFWSUNfQkFTRQkJSU9fQUREUkVTUyhBVklDX0JBU0VfQUREUikKKyNkZWZpbmUgQVZJQ19JTlRDTlRMCQkoQVZJQ19CQVNFICsgMHgwMCkJLyogaW50IGNvbnRyb2wgcmVnICovCisjZGVmaW5lIEFWSUNfTklNQVNLCQkoQVZJQ19CQVNFICsgMHgwNCkJLyogaW50IG1hc2sgcmVnICovCisjZGVmaW5lIEFWSUNfSU5URU5OVU0JCShBVklDX0JBU0UgKyAweDA4KQkvKiBpbnQgZW5hYmxlIG51bWJlciByZWcgKi8KKyNkZWZpbmUgQVZJQ19JTlRESVNOVU0JCShBVklDX0JBU0UgKyAweDBDKQkvKiBpbnQgZGlzYWJsZSBudW1iZXIgcmVnICovCisjZGVmaW5lIEFWSUNfSU5URU5BQkxFSAkJKEFWSUNfQkFTRSArIDB4MTApCS8qIGludCBlbmFibGUgcmVnIGhpZ2ggKi8KKyNkZWZpbmUgQVZJQ19JTlRFTkFCTEVMCQkoQVZJQ19CQVNFICsgMHgxNCkJLyogaW50IGVuYWJsZSByZWcgbG93ICovCisjZGVmaW5lIEFWSUNfSU5UVFlQRUgJCShBVklDX0JBU0UgKyAweDE4KQkvKiBpbnQgdHlwZSByZWcgaGlnaCAqLworI2RlZmluZSBBVklDX0lOVFRZUEVMCQkoQVZJQ19CQVNFICsgMHgxQykJLyogaW50IHR5cGUgcmVnIGxvdyAqLworI2RlZmluZSBBVklDX05JUFJJT1JJVFk3CShBVklDX0JBU0UgKyAweDIwKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw3ICovCisjZGVmaW5lIEFWSUNfTklQUklPUklUWTYJKEFWSUNfQkFTRSArIDB4MjQpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDYgKi8KKyNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZNQkoQVZJQ19CQVNFICsgMHgyOCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsNSAqLworI2RlZmluZSBBVklDX05JUFJJT1JJVFk0CShBVklDX0JBU0UgKyAweDJDKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw0ICovCisjZGVmaW5lIEFWSUNfTklQUklPUklUWTMJKEFWSUNfQkFTRSArIDB4MzApCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDMgKi8KKyNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZMgkoQVZJQ19CQVNFICsgMHgzNCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsMiAqLworI2RlZmluZSBBVklDX05JUFJJT1JJVFkxCShBVklDX0JBU0UgKyAweDM4KQkvKiBub3JtIGludCBwcmlvcml0eSBsdmwxICovCisjZGVmaW5lIEFWSUNfTklQUklPUklUWTAJKEFWSUNfQkFTRSArIDB4M0MpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDAgKi8KKyNkZWZpbmUgQVZJQ19OSVZFQ1NSCQkoQVZJQ19CQVNFICsgMHg0MCkJLyogbm9ybSBpbnQgdmVjdG9yL3N0YXR1cyAqLworI2RlZmluZSBBVklDX0ZJVkVDU1IJCShBVklDX0JBU0UgKyAweDQ0KQkvKiBmYXN0IGludCB2ZWN0b3Ivc3RhdHVzICovCisjZGVmaW5lIEFWSUNfSU5UU1JDSAkJKEFWSUNfQkFTRSArIDB4NDgpCS8qIGludCBzb3VyY2UgcmVnIGhpZ2ggKi8KKyNkZWZpbmUgQVZJQ19JTlRTUkNMCQkoQVZJQ19CQVNFICsgMHg0QykJLyogaW50IHNvdXJjZSByZWcgbG93ICovCisjZGVmaW5lIEFWSUNfSU5URlJDSAkJKEFWSUNfQkFTRSArIDB4NTApCS8qIGludCBmb3JjZSByZWcgaGlnaCAqLworI2RlZmluZSBBVklDX0lOVEZSQ0wJCShBVklDX0JBU0UgKyAweDU0KQkvKiBpbnQgZm9yY2UgcmVnIGxvdyAqLworI2RlZmluZSBBVklDX05JUE5ESAkJKEFWSUNfQkFTRSArIDB4NTgpCS8qIG5vcm0gaW50IHBlbmRpbmcgaGlnaCAqLworI2RlZmluZSBBVklDX05JUE5ETAkJKEFWSUNfQkFTRSArIDB4NUMpCS8qIG5vcm0gaW50IHBlbmRpbmcgbG93ICovCisjZGVmaW5lIEFWSUNfRklQTkRICQkoQVZJQ19CQVNFICsgMHg2MCkJLyogZmFzdCBpbnQgcGVuZGluZyBoaWdoICovCisjZGVmaW5lIEFWSUNfRklQTkRMCQkoQVZJQ19CQVNFICsgMHg2NCkJLyogZmFzdCBpbnQgcGVuZGluZyBsb3cgKi8KKworI2RlZmluZSBTWVNURU1fUFJFVl9SRUcJCUlPX0FERFJFU1MoSUlNX0JBU0VfQUREUiArIDB4MjApCisjZGVmaW5lIFNZU1RFTV9TUkVWX1JFRwkJSU9fQUREUkVTUyhJSU1fQkFTRV9BRERSICsgMHgyNCkKKyNkZWZpbmUgSUlNX1BST0RfUkVWX1NICQkzCisjZGVmaW5lIElJTV9QUk9EX1JFVl9MRU4JNQorCiAvKiBEaXNhYmxlIGludGVycnVwdCBudW1iZXIgImlycSIgaW4gdGhlIEFWSUMgKi8KIHN0YXRpYyB2b2lkIG14Y19tYXNrX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewpAQCAtMzIsNyArNjcsNyBAQAogfQogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIG14Y19hdmljX2NoaXAgPSB7Ci0JLm1hc2tfYWNrID0gbXhjX21hc2tfaXJxLAorCS5hY2sgPSBteGNfbWFza19pcnEsCiAJLm1hc2sgPSBteGNfbWFza19pcnEsCiAJLnVubWFzayA9IG14Y191bm1hc2tfaXJxLAogfTsKQEAgLTcxLDUgKzEwNiw4IEBACiAJcmVnIHw9ICgweEYgPDwgMjgpOwogCV9fcmF3X3dyaXRlbChyZWcsIEFWSUNfTklQUklPUklUWTYpOwogCisJLyogaW5pdCBhcmNoaXRlY3R1cmVzIGNoYWluZWQgaW50ZXJydXB0IGhhbmRsZXIgKi8KKwlteGNfcmVnaXN0ZXJfZ3Bpb3MoKTsKKwogCXByaW50ayhLRVJOX0lORk8gIk1YQyBJUlEgaW5pdGlhbGl6ZWRcbiIpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1teGMvdGltZS5jIGIvYXJjaC9hcm0vcGxhdC1teGMvdGltZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiZjg2MzQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9wbGF0LW14Yy90aW1lLmMKQEAgLTAsMCArMSwyMjggQEAKKy8qCisgKiAgbGludXgvYXJjaC9hcm0vcGxhdC1teGMvdGltZS5jCisgKgorICogIENvcHlyaWdodCAoQykgMjAwMC0yMDAxIERlZXAgQmx1ZSBTb2x1dGlvbnMKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDIgU2hhbmUgTmF5IChzaGFuZUBtaW5pcmwuY29tKQorICogIENvcHlyaWdodCAoQykgMjAwNi0yMDA3IFBhdmVsIFBpc2EgKHBwaXNhQHBpa3Jvbi5jb20pCisgKiAgQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja2NoaXBzLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXhjX3RpbWVyLmg+CisKK3N0YXRpYyBzdHJ1Y3QgY2xvY2tfZXZlbnRfZGV2aWNlIGNsb2NrZXZlbnRfbXhjOworc3RhdGljIGVudW0gY2xvY2tfZXZlbnRfbW9kZSBjbG9ja2V2ZW50X21vZGUgPSBDTE9DS19FVlRfTU9ERV9VTlVTRUQ7CisKKy8qIGNsb2NrIHNvdXJjZSBmb3IgdGhlIHRpbWVyICovCitzdGF0aWMgc3RydWN0IGNsayAqdGltZXJfY2xrOworCisvKiBjbG9jayBzb3VyY2UgKi8KKworc3RhdGljIGN5Y2xlX3QgbXhjX2dldF9jeWNsZXModm9pZCkKK3sKKwlyZXR1cm4gX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UQ04pOworfQorCitzdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX214YyA9IHsKKwkubmFtZSAJCT0gIm14Y190aW1lcjEiLAorCS5yYXRpbmcJCT0gMjAwLAorCS5yZWFkCQk9IG14Y19nZXRfY3ljbGVzLAorCS5tYXNrCQk9IENMT0NLU09VUkNFX01BU0soMzIpLAorCS5zaGlmdCAJCT0gMjAsCisJLmZsYWdzCQk9IENMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTLAorfTsKKworc3RhdGljIGludCBfX2luaXQgbXhjX2Nsb2Nrc291cmNlX2luaXQodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgY2xvY2s7CisKKwljbG9jayA9IGNsa19nZXRfcmF0ZSh0aW1lcl9jbGspOworCisJY2xvY2tzb3VyY2VfbXhjLm11bHQgPSBjbG9ja3NvdXJjZV9oejJtdWx0KGNsb2NrLAorCQkJCQljbG9ja3NvdXJjZV9teGMuc2hpZnQpOworCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV9teGMpOworCisJcmV0dXJuIDA7Cit9CisKKy8qIGNsb2NrIGV2ZW50ICovCisKK3N0YXRpYyBpbnQgbXhjX3NldF9uZXh0X2V2ZW50KHVuc2lnbmVkIGxvbmcgZXZ0LAorCQkJICAgICAgc3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSAqdW51c2VkKQoreworCXVuc2lnbmVkIGxvbmcgdGNtcDsKKworCXRjbXAgPSBfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDTikgKyBldnQ7CisJX19yYXdfd3JpdGVsKHRjbXAsIFRJTUVSX0JBU0UgKyBNWENfVENNUCk7CisKKwlyZXR1cm4gKGludCkodGNtcCAtIF9fcmF3X3JlYWRsKFRJTUVSX0JBU0UgKyBNWENfVENOKSkgPCAwID8KKwkJCQktRVRJTUUgOiAwOworfQorCisjaWZkZWYgREVCVUcKK3N0YXRpYyBjb25zdCBjaGFyICpjbG9ja19ldmVudF9tb2RlX2xhYmVsW10gPSB7CisJW0NMT0NLX0VWVF9NT0RFX1BFUklPRElDXSA9ICJDTE9DS19FVlRfTU9ERV9QRVJJT0RJQyIsCisJW0NMT0NLX0VWVF9NT0RFX09ORVNIT1RdICA9ICJDTE9DS19FVlRfTU9ERV9PTkVTSE9UIiwKKwlbQ0xPQ0tfRVZUX01PREVfU0hVVERPV05dID0gIkNMT0NLX0VWVF9NT0RFX1NIVVRET1dOIiwKKwlbQ0xPQ0tfRVZUX01PREVfVU5VU0VEXSAgID0gIkNMT0NLX0VWVF9NT0RFX1VOVVNFRCIKK307CisjZW5kaWYgLyogREVCVUcgKi8KKworc3RhdGljIHZvaWQgbXhjX3NldF9tb2RlKGVudW0gY2xvY2tfZXZlbnRfbW9kZSBtb2RlLAorCQkJCXN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJLyoKKwkgKiBUaGUgdGltZXIgaW50ZXJydXB0IGdlbmVyYXRpb24gaXMgZGlzYWJsZWQgYXQgbGVhc3QKKwkgKiBmb3IgZW5vdWdoIHRpbWUgdG8gY2FsbCBteGNfc2V0X25leHRfZXZlbnQoKQorCSAqLworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCS8qIERpc2FibGUgaW50ZXJydXB0IGluIEdQVCBtb2R1bGUgKi8KKwlncHRfaXJxX2Rpc2FibGUoKTsKKworCWlmIChtb2RlICE9IGNsb2NrZXZlbnRfbW9kZSkgeworCQkvKiBTZXQgZXZlbnQgdGltZSBpbnRvIGZhci1mYXIgZnV0dXJlICovCisJCV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDTikgLSAzLAorCQkJCVRJTUVSX0JBU0UgKyBNWENfVENNUCk7CisJCS8qIENsZWFyIHBlbmRpbmcgaW50ZXJydXB0ICovCisJCWdwdF9pcnFfYWNrbm93bGVkZ2UoKTsKKwl9CisKKyNpZmRlZiBERUJVRworCXByaW50ayhLRVJOX0lORk8gIm14Y19zZXRfbW9kZTogY2hhbmdpbmcgbW9kZSBmcm9tICVzIHRvICVzXG4iLAorCQljbG9ja19ldmVudF9tb2RlX2xhYmVsW2Nsb2NrZXZlbnRfbW9kZV0sCisJCWNsb2NrX2V2ZW50X21vZGVfbGFiZWxbbW9kZV0pOworI2VuZGlmIC8qIERFQlVHICovCisKKwkvKiBSZW1lbWJlciB0aW1lciBtb2RlICovCisJY2xvY2tldmVudF9tb2RlID0gbW9kZTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwlzd2l0Y2ggKG1vZGUpIHsKKwljYXNlIENMT0NLX0VWVF9NT0RFX1BFUklPRElDOgorCQlwcmludGsoS0VSTl9FUlIibXhjX3NldF9tb2RlOiBQZXJpb2RpYyBtb2RlIGlzIG5vdCAiCisJCQkJInN1cHBvcnRlZCBmb3IgaS5NWFxuIik7CisJCWJyZWFrOworCWNhc2UgQ0xPQ0tfRVZUX01PREVfT05FU0hPVDoKKwkvKgorCSAqIERvIG5vdCBwdXQgb3ZlcmhlYWQgb2YgaW50ZXJydXB0IGVuYWJsZS9kaXNhYmxlIGludG8KKwkgKiBteGNfc2V0X25leHRfZXZlbnQoKSwgdGhlIGNvcmUgaGFzIGFib3V0IDQgbWludXRlcworCSAqIHRvIGNhbGwgbXhjX3NldF9uZXh0X2V2ZW50KCkgb3Igc2h1dGRvd24gY2xvY2sgYWZ0ZXIKKwkgKiBtb2RlIHN3aXRjaGluZworCSAqLworCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCWdwdF9pcnFfZW5hYmxlKCk7CisJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwkJYnJlYWs7CisJY2FzZSBDTE9DS19FVlRfTU9ERV9TSFVURE9XTjoKKwljYXNlIENMT0NLX0VWVF9NT0RFX1VOVVNFRDoKKwljYXNlIENMT0NLX0VWVF9NT0RFX1JFU1VNRToKKwkJLyogTGVmdCBldmVudCBzb3VyY2VzIGRpc2FibGVkLCBubyBtb3JlIGludGVycnVwdHMgYXBwZWFyICovCisJCWJyZWFrOworCX0KK30KKworLyoKKyAqIElSUSBoYW5kbGVyIGZvciB0aGUgdGltZXIKKyAqLworc3RhdGljIGlycXJldHVybl90IG14Y190aW1lcl9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCA9ICZjbG9ja2V2ZW50X214YzsKKwl1aW50MzJfdCB0c3RhdDsKKworCXRzdGF0ID0gX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UU1RBVCk7CisKKwlncHRfaXJxX2Fja25vd2xlZGdlKCk7CisKKwlldnQtPmV2ZW50X2hhbmRsZXIoZXZ0KTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gbXhjX3RpbWVyX2lycSA9IHsKKwkubmFtZQkJPSAiaS5NWCBUaW1lciBUaWNrIiwKKwkuZmxhZ3MJCT0gSVJRRl9ESVNBQkxFRCB8IElSUUZfVElNRVIgfCBJUlFGX0lSUVBPTEwsCisJLmhhbmRsZXIJPSBteGNfdGltZXJfaW50ZXJydXB0LAorfTsKKworc3RhdGljIHN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgY2xvY2tldmVudF9teGMgPSB7CisJLm5hbWUJCT0gIm14Y190aW1lcjEiLAorCS5mZWF0dXJlcwk9IENMT0NLX0VWVF9GRUFUX09ORVNIT1QsCisJLnNoaWZ0CQk9IDMyLAorCS5zZXRfbW9kZQk9IG14Y19zZXRfbW9kZSwKKwkuc2V0X25leHRfZXZlbnQJPSBteGNfc2V0X25leHRfZXZlbnQsCisJLnJhdGluZwkJPSAyMDAsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBteGNfY2xvY2tldmVudF9pbml0KHZvaWQpCit7CisJdW5zaWduZWQgaW50IGNsb2NrOworCisJY2xvY2sgPSBjbGtfZ2V0X3JhdGUodGltZXJfY2xrKTsKKworCWNsb2NrZXZlbnRfbXhjLm11bHQgPSBkaXZfc2MoY2xvY2ssIE5TRUNfUEVSX1NFQywKKwkJCQkJY2xvY2tldmVudF9teGMuc2hpZnQpOworCWNsb2NrZXZlbnRfbXhjLm1heF9kZWx0YV9ucyA9CisJCQljbG9ja2V2ZW50X2RlbHRhMm5zKDB4ZmZmZmZmZmUsICZjbG9ja2V2ZW50X214Yyk7CisJY2xvY2tldmVudF9teGMubWluX2RlbHRhX25zID0KKwkJCWNsb2NrZXZlbnRfZGVsdGEybnMoMHhmZiwgJmNsb2NrZXZlbnRfbXhjKTsKKworCWNsb2NrZXZlbnRfbXhjLmNwdW1hc2sgPSBjcHVtYXNrX29mX2NwdSgwKTsKKworCWNsb2NrZXZlbnRzX3JlZ2lzdGVyX2RldmljZSgmY2xvY2tldmVudF9teGMpOworCisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgX19pbml0IG14Y190aW1lcl9pbml0KGNvbnN0IGNoYXIgKmNsa190aW1lcikKK3sKKwl0aW1lcl9jbGsgPSBjbGtfZ2V0KE5VTEwsIGNsa190aW1lcik7CisJaWYgKCF0aW1lcl9jbGspIHsKKwkJcHJpbnRrKEtFUk5fRVJSIkNhbm5vdCBkZXRlcm1pbmUgdGltZXIgY2xvY2suIEdpdmluZyB1cC5cbiIpOworCQlyZXR1cm47CisJfQorCisJY2xrX2VuYWJsZSh0aW1lcl9jbGspOworCisJLyoKKwkgKiBJbml0aWFsaXNlIHRvIGEga25vd24gc3RhdGUgKGFsbCB0aW1lcnMgb2ZmLCBhbmQgdGltaW5nIHJlc2V0KQorCSAqLworCV9fcmF3X3dyaXRlbCgwLCBUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworCV9fcmF3X3dyaXRlbCgwLCBUSU1FUl9CQVNFICsgTVhDX1RQUkVSKTsgLyogc2VlIGRhdGFzaGVldCBub3RlICovCisKKwlfX3Jhd193cml0ZWwoVENUTF9GUlIgfAkvKiBmcmVlIHJ1bm5pbmcgKi8KKwkJICAgICBUQ1RMX1ZBTCB8CS8qIHNldCBjbG9ja3NvdXJjZSBhbmQgYXJjaCBzcGVjaWZpYyBiaXRzICovCisJCSAgICAgVENUTF9URU4sCS8qIHN0YXJ0IHRoZSB0aW1lciAqLworCQkgICAgIFRJTUVSX0JBU0UgKyBNWENfVENUTCk7CisKKwkvKiBpbml0IGFuZCByZWdpc3RlciB0aGUgdGltZXIgdG8gdGhlIGZyYW1ld29yayAqLworCW14Y19jbG9ja3NvdXJjZV9pbml0KCk7CisJbXhjX2Nsb2NrZXZlbnRfaW5pdCgpOworCisJLyogTWFrZSBpcnFzIGhhcHBlbiAqLworCXNldHVwX2lycShUSU1FUl9JTlRFUlJVUFQsICZteGNfdGltZXJfaXJxKTsKK30KKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL01ha2VmaWxlIGIvYXJjaC9hcm0vcGxhdC1vbWFwL01ha2VmaWxlCmluZGV4IGJjNjM5YTMuLjJjNDA1MWMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvTWFrZWZpbGUKQEAgLTMsNyArMyw3IEBACiAjCiAKICMgQ29tbW9uIHN1cHBvcnQKLW9iai15IDo9IGNvbW1vbi5vIHNyYW0ubyBzcmFtLWZuLm8gY2xvY2subyBkZXZpY2VzLm8gZG1hLm8gbXV4Lm8gZ3Bpby5vIFwKK29iai15IDo9IGNvbW1vbi5vIHNyYW0ubyBjbG9jay5vIGRldmljZXMubyBkbWEubyBtdXgubyBncGlvLm8gXAogCSB1c2IubyBmYi5vCiBvYmotbSA6PQogb2JqLW4gOj0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9jbG9jay5jIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2Nsb2NrLmMKaW5kZXggMmRiNTU4MC4uYzJlNzQxZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL2Nsb2NrLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2Nsb2NrLmMKQEAgLTEsNyArMSw3IEBACiAvKgogICogIGxpbnV4L2FyY2gvYXJtL3BsYXQtb21hcC9jbG9jay5jCiAgKgotICogIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMDUgTm9raWEgY29ycG9yYXRpb24KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgLSAyMDA4IE5va2lhIGNvcnBvcmF0aW9uCiAgKiAgV3JpdHRlbiBieSBUdXVra2EgVGlra2FuZW4gPHR1dWtrYS50aWtrYW5lbkBlbGVrdHJvYml0LmNvbT4KICAqCiAgKiAgTW9kaWZpZWQgZm9yIG9tYXAgc2hhcmVkIGNsb2NrIGZyYW1ld29yayBieSBUb255IExpbmRncmVuIDx0b255QGF0b21pZGUuY29tPgpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogCkBAIC0zMyw0MSArMzQsNiBAQAogCiBzdGF0aWMgc3RydWN0IGNsa19mdW5jdGlvbnMgKmFyY2hfY2xvY2s7CiAKLSNpZmRlZiBDT05GSUdfUE1fREVCVUcKLQotc3RhdGljIHZvaWQgcHJpbnRfcGFyZW50cyhzdHJ1Y3QgY2xrICpjbGspCi17Ci0Jc3RydWN0IGNsayAqcDsKLQlpbnQgcHJpbnRlZCA9IDA7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHAsICZjbG9ja3MsIG5vZGUpIHsKLQkJaWYgKHAtPnBhcmVudCA9PSBjbGsgJiYgcC0+dXNlY291bnQpIHsKLQkJCWlmICghY2xrLT51c2Vjb3VudCAmJiAhcHJpbnRlZCkgewotCQkJCXByaW50aygiTUlTTUFUQ0g6ICVzXG4iLCBjbGstPm5hbWUpOwotCQkJCXByaW50ZWQgPSAxOwotCQkJfQotCQkJcHJpbnRrKCJcdCUtMTVzXG4iLCBwLT5uYW1lKTsKLQkJfQotCX0KLX0KLQotdm9pZCBjbGtfcHJpbnRfdXNlY291bnRzKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlzdHJ1Y3QgY2xrICpwOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNsb2NrZndfbG9jaywgZmxhZ3MpOwotCWxpc3RfZm9yX2VhY2hfZW50cnkocCwgJmNsb2Nrcywgbm9kZSkgewotCQlpZiAocC0+dXNlY291bnQpCi0JCQlwcmludGsoIiUtMTVzOiAlZFxuIiwgcC0+bmFtZSwgcC0+dXNlY291bnQpOwotCQlwcmludF9wYXJlbnRzKHApOwotCi0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNsb2NrZndfbG9jaywgZmxhZ3MpOwotfQotCi0jZW5kaWYKLQogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBTdGFuZGFyZCBjbG9jayBmdW5jdGlvbnMgZGVmaW5lZCBpbiBpbmNsdWRlL2xpbnV4L2Nsay5oCiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtNDQ2LDMgKzQxMiw5MyBAQAogCXJldHVybiAwOwogfQogCisjaWYgZGVmaW5lZChDT05GSUdfUE1fREVCVUcpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKQorLyoKKyAqCWRlYnVnZnMgc3VwcG9ydCB0byB0cmFjZSBjbG9jayB0cmVlIGhpZXJhcmNoeSBhbmQgYXR0cmlidXRlcworICovCitzdGF0aWMgc3RydWN0IGRlbnRyeSAqY2xrX2RlYnVnZnNfcm9vdDsKKworc3RhdGljIGludCBjbGtfZGVidWdmc19yZWdpc3Rlcl9vbmUoc3RydWN0IGNsayAqYykKK3sKKwlpbnQgZXJyOworCXN0cnVjdCBkZW50cnkgKmQsICpjaGlsZDsKKwlzdHJ1Y3QgY2xrICpwYSA9IGMtPnBhcmVudDsKKwljaGFyIHNbMjU1XTsKKwljaGFyICpwID0gczsKKworCXAgKz0gc3ByaW50ZihwLCAiJXMiLCBjLT5uYW1lKTsKKwlpZiAoYy0+aWQgIT0gMCkKKwkJc3ByaW50ZihwLCAiOiVkIiwgYy0+aWQpOworCWQgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIocywgcGEgPyBwYS0+ZGVudCA6IGNsa19kZWJ1Z2ZzX3Jvb3QpOworCWlmIChJU19FUlIoZCkpCisJCXJldHVybiBQVFJfRVJSKGQpOworCWMtPmRlbnQgPSBkOworCisJZCA9IGRlYnVnZnNfY3JlYXRlX3U4KCJ1c2Vjb3VudCIsIFNfSVJVR08sIGMtPmRlbnQsICh1OCAqKSZjLT51c2Vjb3VudCk7CisJaWYgKElTX0VSUihkKSkgeworCQllcnIgPSBQVFJfRVJSKGQpOworCQlnb3RvIGVycl9vdXQ7CisJfQorCWQgPSBkZWJ1Z2ZzX2NyZWF0ZV91MzIoInJhdGUiLCBTX0lSVUdPLCBjLT5kZW50LCAodTMyICopJmMtPnJhdGUpOworCWlmIChJU19FUlIoZCkpIHsKKwkJZXJyID0gUFRSX0VSUihkKTsKKwkJZ290byBlcnJfb3V0OworCX0KKwlkID0gZGVidWdmc19jcmVhdGVfeDMyKCJmbGFncyIsIFNfSVJVR08sIGMtPmRlbnQsICh1MzIgKikmYy0+ZmxhZ3MpOworCWlmIChJU19FUlIoZCkpIHsKKwkJZXJyID0gUFRSX0VSUihkKTsKKwkJZ290byBlcnJfb3V0OworCX0KKwlyZXR1cm4gMDsKKworZXJyX291dDoKKwlkID0gYy0+ZGVudDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNoaWxkLCAmZC0+ZF9zdWJkaXJzLCBkX3UuZF9jaGlsZCkKKwkJZGVidWdmc19yZW1vdmUoY2hpbGQpOworCWRlYnVnZnNfcmVtb3ZlKGMtPmRlbnQpOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgY2xrX2RlYnVnZnNfcmVnaXN0ZXIoc3RydWN0IGNsayAqYykKK3sKKwlpbnQgZXJyOworCXN0cnVjdCBjbGsgKnBhID0gYy0+cGFyZW50OworCisJaWYgKHBhICYmICFwYS0+ZGVudCkgeworCQllcnIgPSBjbGtfZGVidWdmc19yZWdpc3RlcihwYSk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOworCX0KKworCWlmICghYy0+ZGVudCkgeworCQllcnIgPSBjbGtfZGVidWdmc19yZWdpc3Rlcl9vbmUoYyk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgY2xrX2RlYnVnZnNfaW5pdCh2b2lkKQoreworCXN0cnVjdCBjbGsgKmM7CisJc3RydWN0IGRlbnRyeSAqZDsKKwlpbnQgZXJyOworCisJZCA9IGRlYnVnZnNfY3JlYXRlX2RpcigiY2xvY2siLCBOVUxMKTsKKwlpZiAoSVNfRVJSKGQpKQorCQlyZXR1cm4gUFRSX0VSUihkKTsKKwljbGtfZGVidWdmc19yb290ID0gZDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoYywgJmNsb2Nrcywgbm9kZSkgeworCQllcnIgPSBjbGtfZGVidWdmc19yZWdpc3RlcihjKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gZXJyX291dDsKKwl9CisJcmV0dXJuIDA7CitlcnJfb3V0OgorCWRlYnVnZnNfcmVtb3ZlKGNsa19kZWJ1Z2ZzX3Jvb3QpOyAvKiBSRVZJU0lUOiBDbGVhbnVwIGNvcnJlY3RseSAqLworCXJldHVybiBlcnI7Cit9CitsYXRlX2luaXRjYWxsKGNsa19kZWJ1Z2ZzX2luaXQpOworCisjZW5kaWYgLyogZGVmaW5lZChDT05GSUdfUE1fREVCVUcpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL2NvbW1vbi5jIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2NvbW1vbi5jCmluZGV4IGJkMWNlZjIuLjhkMDQ5MjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9jb21tb24uYworKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvY29tbW9uLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvY29udHJvbC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL211eC5oPgpAQCAtMjQxLDMwICsyNDIsNzAgQEAKIAogLyogR2xvYmFsIGFkZHJlc3MgYmFzZSBzZXR1cCBjb2RlICovCiAKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQorCitzdGF0aWMgc3RydWN0IG9tYXBfZ2xvYmFscyAqb21hcDJfZ2xvYmFsczsKKworc3RhdGljIHZvaWQgX19pbml0IF9fb21hcDJfc2V0X2dsb2JhbHModm9pZCkKK3sKKwlvbWFwMl9zZXRfZ2xvYmFsc19tZW1vcnkob21hcDJfZ2xvYmFscyk7CisJb21hcDJfc2V0X2dsb2JhbHNfY29udHJvbChvbWFwMl9nbG9iYWxzKTsKKwlvbWFwMl9zZXRfZ2xvYmFsc19wcmNtKG9tYXAyX2dsb2JhbHMpOworfQorCisjZW5kaWYKKwogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MjApCisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9nbG9iYWxzIG9tYXAyNDJ4X2dsb2JhbHMgPSB7CisJLnRhcAk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoMHg0ODAxNDAwMCksCisJLnNkcmMJPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDIwX1NEUkNfQkFTRSksCisJLnNtcwk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoT01BUDI0MjBfU01TX0JBU0UpLAorCS5jdHJsCT0gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopT01BUDJfSU9fQUREUkVTUyhPTUFQMjQyMF9DVFJMX0JBU0UpLAorCS5wcm0JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDIwX1BSTV9CQVNFKSwKKwkuY20JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDIwX0NNX0JBU0UpLAorfTsKKwogdm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfMjQyeCh2b2lkKQogewotCW9tYXAyX3NkcmNfYmFzZSA9IE9NQVAyNDIwX1NEUkNfQkFTRTsKLQlvbWFwMl9zbXNfYmFzZSA9IE9NQVAyNDIwX1NNU19CQVNFOwotCW9tYXBfY3RybF9iYXNlX3NldChPTUFQMjQyMF9DVFJMX0JBU0UpOworCW9tYXAyX2dsb2JhbHMgPSAmb21hcDI0MnhfZ2xvYmFsczsKKwlfX29tYXAyX3NldF9nbG9iYWxzKCk7CiB9CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MzApCisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9nbG9iYWxzIG9tYXAyNDN4X2dsb2JhbHMgPSB7CisJLnRhcAk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoMHg0OTAwYTAwMCksCisJLnNkcmMJPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDNYX1NEUkNfQkFTRSksCisJLnNtcwk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoT01BUDI0M1hfU01TX0JBU0UpLAorCS5jdHJsCT0gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopT01BUDJfSU9fQUREUkVTUyhPTUFQMjQzWF9DVFJMX0JBU0UpLAorCS5wcm0JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDMwX1BSTV9CQVNFKSwKKwkuY20JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDMwX0NNX0JBU0UpLAorfTsKKwogdm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfMjQzeCh2b2lkKQogewotCW9tYXAyX3NkcmNfYmFzZSA9IE9NQVAyNDNYX1NEUkNfQkFTRTsKLQlvbWFwMl9zbXNfYmFzZSA9IE9NQVAyNDNYX1NNU19CQVNFOwotCW9tYXBfY3RybF9iYXNlX3NldChPTUFQMjQzWF9DVFJMX0JBU0UpOworCW9tYXAyX2dsb2JhbHMgPSAmb21hcDI0M3hfZ2xvYmFsczsKKwlfX29tYXAyX3NldF9nbG9iYWxzKCk7CiB9CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0MzApCisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9nbG9iYWxzIG9tYXAzNDN4X2dsb2JhbHMgPSB7CisJLnRhcAk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoMHg0ODMwQTAwMCksCisJLnNkcmMJPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAzNDNYX1NEUkNfQkFTRSksCisJLnNtcwk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoT01BUDM0M1hfU01TX0JBU0UpLAorCS5jdHJsCT0gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopT01BUDJfSU9fQUREUkVTUyhPTUFQMzQzWF9DVFJMX0JBU0UpLAorCS5wcm0JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAzNDMwX1BSTV9CQVNFKSwKKwkuY20JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAzNDMwX0NNX0JBU0UpLAorfTsKKwogdm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfMzQzeCh2b2lkKQogewotCW9tYXAyX3NkcmNfYmFzZSA9IE9NQVAzNDNYX1NEUkNfQkFTRTsKLQlvbWFwMl9zbXNfYmFzZSA9IE9NQVAzNDNYX1NNU19CQVNFOwotCW9tYXBfY3RybF9iYXNlX3NldChPTUFQMzQzWF9DVFJMX0JBU0UpOworCW9tYXAyX2dsb2JhbHMgPSAmb21hcDM0M3hfZ2xvYmFsczsKKwlfX29tYXAyX3NldF9nbG9iYWxzKCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL2RldmljZXMuYyBiL2FyY2gvYXJtL3BsYXQtb21hcC9kZXZpY2VzLmMKaW5kZXggNGE1M2Y5Yi4uODEwMDJiNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL2RldmljZXMuYworKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvZGV2aWNlcy5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvbXV4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21lbmVsYXVzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbWNic3AuaD4KIAogI2lmCWRlZmluZWQoQ09ORklHX09NQVBfRFNQKSB8fCBkZWZpbmVkKENPTkZJR19PTUFQX0RTUF9NT0RVTEUpCiAKQEAgLTE0NSw2ICsxNDYsNTMgQEAKICNlbmRpZgogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2lmIGRlZmluZWQoQ09ORklHX09NQVBfTUNCU1ApIHx8IGRlZmluZWQoQ09ORklHX09NQVBfTUNCU1BfTU9EVUxFKQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqKm9tYXBfbWNic3BfZGV2aWNlczsKKwordm9pZCBvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpjb25maWcsCisJCQkJCWludCBzaXplKQoreworCWludCBpOworCisJaWYgKHNpemUgPiBPTUFQX01BWF9NQ0JTUF9DT1VOVCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJSZWdpc3RlcmVkIHRvbyBtYW55IE1jQlNQcyBwbGF0Zm9ybV9kYXRhLiIKKwkJCSIgVXNpbmcgbWF4aW11bSAoJWQpIGF2YWlsYWJsZS5cbiIsCisJCQlPTUFQX01BWF9NQ0JTUF9DT1VOVCk7CisJCXNpemUgPSBPTUFQX01BWF9NQ0JTUF9DT1VOVDsKKwl9CisKKwlvbWFwX21jYnNwX2RldmljZXMgPSBremFsbG9jKHNpemUgKiBzaXplb2Yoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqKSwKKwkJCQkgICAgIEdGUF9LRVJORUwpOworCWlmICghb21hcF9tY2JzcF9kZXZpY2VzKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IHJlZ2lzdGVyIE1jQlNQIGRldmljZXNcbiIpOworCQlyZXR1cm47CisJfQorCisJZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykgeworCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpuZXdfbWNic3A7CisJCWludCByZXQ7CisKKwkJbmV3X21jYnNwID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJvbWFwLW1jYnNwIiwgaSArIDEpOworCQlpZiAoIW5ld19tY2JzcCkKKwkJCWNvbnRpbnVlOworCQluZXdfbWNic3AtPmRldi5wbGF0Zm9ybV9kYXRhID0gJmNvbmZpZ1tpXTsKKwkJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChuZXdfbWNic3ApOworCQlpZiAocmV0KSB7CisJCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KG5ld19tY2JzcCk7CisJCQljb250aW51ZTsKKwkJfQorCQlvbWFwX21jYnNwX2RldmljZXNbaV0gPSBuZXdfbWNic3A7CisJfQorfQorCisjZWxzZQordm9pZCBvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpjb25maWcsCisJCQkJCWludCBzaXplKQoreyAgfQorI2VuZGlmCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKICNpZglkZWZpbmVkKENPTkZJR19NTUNfT01BUCkgfHwgZGVmaW5lZChDT05GSUdfTU1DX09NQVBfTU9EVUxFKQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW9tYXAvZG1hLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvZG1hLmMKaW5kZXggMzljNjM3Yi4uZmFjOGU5OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL2RtYS5jCisrKyBiL2FyY2gvYXJtL3BsYXQtb21hcC9kbWEuYwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBsaW51eC9hcmNoL2FybS9wbGF0LW9tYXAvZG1hLmMKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgTm9raWEgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoQykgMjAwMyAtIDIwMDggTm9raWEgQ29ycG9yYXRpb24KICAqIEF1dGhvcjogSnVoYSBZcmrDtmzDpCA8anVoYS55cmpvbGFAbm9raWEuY29tPgogICogRE1BIGNoYW5uZWwgbGlua2luZyBmb3IgMTYxMCBieSBTYW11ZWwgT3J0aXogPHNhbXVlbC5vcnRpekBub2tpYS5jb20+CiAgKiBHcmFwaGljcyBETUEgYW5kIExDRCBETUEgZ3JhcGhpY3MgdHJhbmZvcm1hdGlvbnMKQEAgLTI1LDExICsyNSwxMSBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC90Yy5oPgogCkBAIC00MywxMyArNDMsMTMgQEAKIGVudW0geyBETUFfQ0hBSU5fU1RBUlRFRCwgRE1BX0NIQUlOX05PVFNUQVJURUQgfTsKICNlbmRpZgogCi0jZGVmaW5lIE9NQVBfRE1BX0FDVElWRQkJMHgwMQotI2RlZmluZSBPTUFQX0RNQV9DQ1JfRU4JCSgxIDw8IDcpCisjZGVmaW5lIE9NQVBfRE1BX0FDVElWRQkJCTB4MDEKKyNkZWZpbmUgT01BUF9ETUFfQ0NSX0VOCQkJKDEgPDwgNykKICNkZWZpbmUgT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLCTB4ZmZlCiAKLSNkZWZpbmUgT01BUF9GVU5DX01VWF9BUk1fQkFTRQkoMHhmZmZlMTAwMCArIDB4ZWMpCisjZGVmaW5lIE9NQVBfRlVOQ19NVVhfQVJNX0JBU0UJCSgweGZmZmUxMDAwICsgMHhlYykKIAotc3RhdGljIGludCBlbmFibGVfMTUxMF9tb2RlID0gMDsKK3N0YXRpYyBpbnQgZW5hYmxlXzE1MTBfbW9kZTsKIAogc3RydWN0IG9tYXBfZG1hX2xjaCB7CiAJaW50IG5leHRfbGNoOwpAQCAtNTcsNyArNTcsNyBAQAogCXUxNiBzYXZlZF9jc3I7CiAJdTE2IGVuYWJsZWRfaXJxczsKIAljb25zdCBjaGFyICpkZXZfbmFtZTsKLQl2b2lkICgqIGNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKTsKKwl2b2lkICgqY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpOwogCXZvaWQgKmRhdGE7CiAKICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKQEAgLTcyLDcgKzcyLDYgQEAKIAlsb25nIGZsYWdzOwogfTsKIAotI2lmbmRlZiBDT05GSUdfQVJDSF9PTUFQMQogc3RydWN0IGRtYV9saW5rX2luZm8gewogCWludCAqbGlua2VkX2RtYWNoX3E7CiAJaW50IG5vX29mX2xjaHNfbGlua2VkOwpAQCAtODYsNyArODUsOSBAQAogCiB9OwogCi1zdGF0aWMgc3RydWN0IGRtYV9saW5rX2luZm8gZG1hX2xpbmtlZF9sY2hbT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVF07CitzdGF0aWMgc3RydWN0IGRtYV9saW5rX2luZm8gKmRtYV9saW5rZWRfbGNoOworCisjaWZuZGVmIENPTkZJR19BUkNIX09NQVAxCiAKIC8qIENoYWluIGhhbmRsaW5nIG1hY3JvcyAqLwogI2RlZmluZSBPTUFQX0RNQV9DSEFJTl9RSU5JVChjaGFpbl9pZCkJCQkJCVwKQEAgLTExOSwxMiArMTIwLDE1IEBACiAJCWRtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5xX2NvdW50Kys7IFwKIAl9IHdoaWxlICgwKQogI2VuZGlmCisKK3N0YXRpYyBpbnQgZG1hX2xjaF9jb3VudDsKIHN0YXRpYyBpbnQgZG1hX2NoYW5fY291bnQ7CiAKIHN0YXRpYyBzcGlubG9ja190IGRtYV9jaGFuX2xvY2s7Ci1zdGF0aWMgc3RydWN0IG9tYXBfZG1hX2xjaCBkbWFfY2hhbltPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UXTsKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9kbWFfbGNoICpkbWFfY2hhbjsKK3N0YXRpYyB2b2lkIF9faW9tZW0gKm9tYXBfZG1hX2Jhc2U7CiAKLXN0YXRpYyBjb25zdCB1OCBvbWFwMV9kbWFfaXJxW09NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdID0geworc3RhdGljIGNvbnN0IHU4IG9tYXAxX2RtYV9pcnFbT01BUDFfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdID0gewogCUlOVF9ETUFfQ0gwXzYsIElOVF9ETUFfQ0gxXzcsIElOVF9ETUFfQ0gyXzgsIElOVF9ETUFfQ0gzLAogCUlOVF9ETUFfQ0g0LCBJTlRfRE1BX0NINSwgSU5UXzE2MTBfRE1BX0NINiwgSU5UXzE2MTBfRE1BX0NINywKIAlJTlRfMTYxMF9ETUFfQ0g4LCBJTlRfMTYxMF9ETUFfQ0g5LCBJTlRfMTYxMF9ETUFfQ0gxMCwKQEAgLTEzOSw2ICsxNDMsMjQgQEAKICNkZWZpbmUgUkVWSVNJVF8yNFhYKCkJCXByaW50ayhLRVJOX0VSUiAiRklYTUU6IG5vICVzIG9uIDI0eHhcbiIsIFwKIAkJCQkJCV9fZnVuY19fKTsKIAorI2RlZmluZSBkbWFfcmVhZChyZWcpCQkJCQkJCVwKKyh7CQkJCQkJCQkJXAorCXUzMiBfX3ZhbDsJCQkJCQkJXAorCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkJCQkJCVwKKwkJX192YWwgPSBfX3Jhd19yZWFkdyhvbWFwX2RtYV9iYXNlICsgT01BUDFfRE1BXyMjcmVnKTsJXAorCWVsc2UJCQkJCQkJCVwKKwkJX192YWwgPSBfX3Jhd19yZWFkbChvbWFwX2RtYV9iYXNlICsgT01BUF9ETUE0XyMjcmVnKTsJXAorCV9fdmFsOwkJCQkJCQkJXAorfSkKKworI2RlZmluZSBkbWFfd3JpdGUodmFsLCByZWcpCQkJCQkJXAorKHsJCQkJCQkJCQlcCisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQkJCQkJXAorCQlfX3Jhd193cml0ZXcoKHUxNikodmFsKSwgb21hcF9kbWFfYmFzZSArIE9NQVAxX0RNQV8jI3JlZyk7IFwKKwllbHNlCQkJCQkJCQlcCisJCV9fcmF3X3dyaXRlbCgodmFsKSwgb21hcF9kbWFfYmFzZSArIE9NQVBfRE1BNF8jI3JlZyk7CVwKK30pCisKICNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTVYWAogLyogUmV0dXJucyAxIGlmIHRoZSBETUEgbW9kdWxlIGlzIGluIE9NQVAxNTEwLWNvbXBhdGlibGUgbW9kZSwgMCBvdGhlcndpc2UgKi8KIGludCBvbWFwX2RtYV9pbl8xNTEwX21vZGUodm9pZCkKQEAgLTE3MywxMyArMTk1LDE0IEBACiAjZGVmaW5lIHNldF9nZG1hX2RldihyZXEsIGRldikJZG8ge30gd2hpbGUgKDApCiAjZW5kaWYKIAorLyogT21hcDEgb25seSAqLwogc3RhdGljIHZvaWQgY2xlYXJfbGNoX3JlZ3MoaW50IGxjaCkKIHsKIAlpbnQgaTsKLQl1MzIgbGNoX2Jhc2UgPSBPTUFQX0RNQV9CQVNFICsgbGNoICogMHg0MDsKKwl2b2lkIF9faW9tZW0gKmxjaF9iYXNlID0gb21hcF9kbWFfYmFzZSArIE9NQVAxX0RNQV9DSF9CQVNFKGxjaCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgMHgyYzsgaSArPSAyKQotCQlvbWFwX3dyaXRldygwLCBsY2hfYmFzZSArIGkpOworCQlfX3Jhd193cml0ZXcoMCwgbGNoX2Jhc2UgKyBpKTsKIH0KIAogdm9pZCBvbWFwX3NldF9kbWFfcHJpb3JpdHkoaW50IGxjaCwgaW50IGRzdF9wb3J0LCBpbnQgcHJpb3JpdHkpCkBAIC0yMTIsMzMgKzIzNSw0OSBAQAogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgeworCQl1MzIgY2NyOworCisJCWNjciA9IGRtYV9yZWFkKENDUihsY2gpKTsKIAkJaWYgKHByaW9yaXR5KQotCQkJT01BUF9ETUFfQ0NSX1JFRyhsY2gpIHw9ICgxIDw8IDYpOworCQkJY2NyIHw9ICgxIDw8IDYpOwogCQllbHNlCi0JCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgJj0gfigxIDw8IDYpOworCQkJY2NyICY9IH4oMSA8PCA2KTsKKwkJZG1hX3dyaXRlKGNjciwgQ0NSKGxjaCkpOwogCX0KIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3ByaW9yaXR5KTsKIAogdm9pZCBvbWFwX3NldF9kbWFfdHJhbnNmZXJfcGFyYW1zKGludCBsY2gsIGludCBkYXRhX3R5cGUsIGludCBlbGVtX2NvdW50LAogCQkJCSAgaW50IGZyYW1lX2NvdW50LCBpbnQgc3luY19tb2RlLAogCQkJCSAgaW50IGRtYV90cmlnZ2VyLCBpbnQgc3JjX29yX2RzdF9zeW5jaCkKIHsKLQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpICY9IH4weDAzOwotCU9NQVBfRE1BX0NTRFBfUkVHKGxjaCkgfD0gZGF0YV90eXBlOworCXUzMiBsOworCisJbCA9IGRtYV9yZWFkKENTRFAobGNoKSk7CisJbCAmPSB+MHgwMzsKKwlsIHw9IGRhdGFfdHlwZTsKKwlkbWFfd3JpdGUobCwgQ1NEUChsY2gpKTsKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewotCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgJj0gfigxIDw8IDUpOwotCQlpZiAoc3luY19tb2RlID09IE9NQVBfRE1BX1NZTkNfRlJBTUUpCi0JCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgfD0gMSA8PCA1OworCQl1MTYgY2NyOwogCi0JCU9NQVAxX0RNQV9DQ1IyX1JFRyhsY2gpICY9IH4oMSA8PCAyKTsKKwkJY2NyID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCQljY3IgJj0gfigxIDw8IDUpOworCQlpZiAoc3luY19tb2RlID09IE9NQVBfRE1BX1NZTkNfRlJBTUUpCisJCQljY3IgfD0gMSA8PCA1OworCQlkbWFfd3JpdGUoY2NyLCBDQ1IobGNoKSk7CisKKwkJY2NyID0gZG1hX3JlYWQoQ0NSMihsY2gpKTsKKwkJY2NyICY9IH4oMSA8PCAyKTsKIAkJaWYgKHN5bmNfbW9kZSA9PSBPTUFQX0RNQV9TWU5DX0JMT0NLKQotCQkJT01BUDFfRE1BX0NDUjJfUkVHKGxjaCkgfD0gMSA8PCAyOworCQkJY2NyIHw9IDEgPDwgMjsKKwkJZG1hX3dyaXRlKGNjciwgQ0NSMihsY2gpKTsKIAl9CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgZG1hX3RyaWdnZXIpIHsKLQkJdTMyIHZhbCA9IE9NQVBfRE1BX0NDUl9SRUcobGNoKTsKKwkJdTMyIHZhbDsKIAorCQl2YWwgPSBkbWFfcmVhZChDQ1IobGNoKSk7CiAJCXZhbCAmPSB+KDMgPDwgMTkpOwogCQlpZiAoZG1hX3RyaWdnZXIgPiA2MykKIAkJCXZhbCB8PSAxIDw8IDIwOwpAQCAtMjYzLDEyICszMDIsMTMgQEAKIAkJZWxzZQogCQkJdmFsICY9IH4oMSA8PCAyNCk7CS8qIGRlc3Qgc3luY2ggKi8KIAotCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSB2YWw7CisJCWRtYV93cml0ZSh2YWwsIENDUihsY2gpKTsKIAl9CiAKLQlPTUFQX0RNQV9DRU5fUkVHKGxjaCkgPSBlbGVtX2NvdW50OwotCU9NQVBfRE1BX0NGTl9SRUcobGNoKSA9IGZyYW1lX2NvdW50OworCWRtYV93cml0ZShlbGVtX2NvdW50LCBDRU4obGNoKSk7CisJZG1hX3dyaXRlKGZyYW1lX2NvdW50LCBDRk4obGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV90cmFuc2Zlcl9wYXJhbXMpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV9jb2xvcl9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfY29sb3JfbW9kZSBtb2RlLCB1MzIgY29sb3IpCiB7CkBAIC0yODEsNyArMzIxLDkgQEAKIAkJcmV0dXJuOwogCX0KIAotCXcgPSBPTUFQMV9ETUFfQ0NSMl9SRUcobGNoKSAmIH4weDAzOworCXcgPSBkbWFfcmVhZChDQ1IyKGxjaCkpOworCXcgJj0gfjB4MDM7CisKIAlzd2l0Y2ggKG1vZGUpIHsKIAljYXNlIE9NQVBfRE1BX0NPTlNUQU5UX0ZJTEw6CiAJCXcgfD0gMHgwMTsKQEAgLTI5NCw1MiArMzM2LDgxIEBACiAJZGVmYXVsdDoKIAkJQlVHKCk7CiAJfQotCU9NQVAxX0RNQV9DQ1IyX1JFRyhsY2gpID0gdzsKKwlkbWFfd3JpdGUodywgQ0NSMihsY2gpKTsKIAotCXcgPSBPTUFQMV9ETUFfTENIX0NUUkxfUkVHKGxjaCkgJiB+MHgwZjsKKwl3ID0gZG1hX3JlYWQoTENIX0NUUkwobGNoKSk7CisJdyAmPSB+MHgwZjsKIAkvKiBEZWZhdWx0IGlzIGNoYW5uZWwgdHlwZSAyRCAqLwogCWlmIChtb2RlKSB7Ci0JCU9NQVAxX0RNQV9DT0xPUl9MX1JFRyhsY2gpID0gKHUxNiljb2xvcjsKLQkJT01BUDFfRE1BX0NPTE9SX1VfUkVHKGxjaCkgPSAodTE2KShjb2xvciA+PiAxNik7CisJCWRtYV93cml0ZSgodTE2KWNvbG9yLCBDT0xPUl9MKGxjaCkpOworCQlkbWFfd3JpdGUoKHUxNikoY29sb3IgPj4gMTYpLCBDT0xPUl9VKGxjaCkpOwogCQl3IHw9IDE7CQkvKiBDaGFubmVsIHR5cGUgRyAqLwogCX0KLQlPTUFQMV9ETUFfTENIX0NUUkxfUkVHKGxjaCkgPSB3OworCWRtYV93cml0ZSh3LCBMQ0hfQ1RSTChsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2NvbG9yX21vZGUpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV93cml0ZV9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfd3JpdGVfbW9kZSBtb2RlKQogewogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpICY9IH4oMHgzIDw8IDE2KTsKLQkJT01BUF9ETUFfQ1NEUF9SRUcobGNoKSB8PSAobW9kZSA8PCAxNik7CisJCXUzMiBjc2RwOworCisJCWNzZHAgPSBkbWFfcmVhZChDU0RQKGxjaCkpOworCQljc2RwICY9IH4oMHgzIDw8IDE2KTsKKwkJY3NkcCB8PSAobW9kZSA8PCAxNik7CisJCWRtYV93cml0ZShjc2RwLCBDU0RQKGxjaCkpOwogCX0KIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3dyaXRlX21vZGUpOworCit2b2lkIG9tYXBfc2V0X2RtYV9jaGFubmVsX21vZGUoaW50IGxjaCwgZW51bSBvbWFwX2RtYV9jaGFubmVsX21vZGUgbW9kZSkKK3sKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCXUzMiBsOworCisJCWwgPSBkbWFfcmVhZChMQ0hfQ1RSTChsY2gpKTsKKwkJbCAmPSB+MHg3OworCQlsIHw9IG1vZGU7CisJCWRtYV93cml0ZShsLCBMQ0hfQ1RSTChsY2gpKTsKKwl9Cit9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jaGFubmVsX21vZGUpOwogCiAvKiBOb3RlIHRoYXQgc3JjX3BvcnQgaXMgb25seSBmb3Igb21hcDEgKi8KIHZvaWQgb21hcF9zZXRfZG1hX3NyY19wYXJhbXMoaW50IGxjaCwgaW50IHNyY19wb3J0LCBpbnQgc3JjX2Ftb2RlLAogCQkJICAgICB1bnNpZ25lZCBsb25nIHNyY19zdGFydCwKIAkJCSAgICAgaW50IHNyY19laSwgaW50IHNyY19maSkKIHsKKwl1MzIgbDsKKwogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpICY9IH4oMHgxZiA8PCAyKTsKLQkJT01BUF9ETUFfQ1NEUF9SRUcobGNoKSB8PSBzcmNfcG9ydCA8PCAyOworCQl1MTYgdzsKKworCQl3ID0gZG1hX3JlYWQoQ1NEUChsY2gpKTsKKwkJdyAmPSB+KDB4MWYgPDwgMik7CisJCXcgfD0gc3JjX3BvcnQgPDwgMjsKKwkJZG1hX3dyaXRlKHcsIENTRFAobGNoKSk7CiAJfQogCi0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpICY9IH4oMHgwMyA8PCAxMik7Ci0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpIHw9IHNyY19hbW9kZSA8PCAxMjsKKwlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCWwgJj0gfigweDAzIDw8IDEyKTsKKwlsIHw9IHNyY19hbW9kZSA8PCAxMjsKKwlkbWFfd3JpdGUobCwgQ0NSKGxjaCkpOwogCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7Ci0JCU9NQVAxX0RNQV9DU1NBX1VfUkVHKGxjaCkgPSBzcmNfc3RhcnQgPj4gMTY7Ci0JCU9NQVAxX0RNQV9DU1NBX0xfUkVHKGxjaCkgPSBzcmNfc3RhcnQ7CisJCWRtYV93cml0ZShzcmNfc3RhcnQgPj4gMTYsIENTU0FfVShsY2gpKTsKKwkJZG1hX3dyaXRlKCh1MTYpc3JjX3N0YXJ0LCBDU1NBX0wobGNoKSk7CiAJfQogCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKQotCQlPTUFQMl9ETUFfQ1NTQV9SRUcobGNoKSA9IHNyY19zdGFydDsKKwkJZG1hX3dyaXRlKHNyY19zdGFydCwgQ1NTQShsY2gpKTsKIAotCU9NQVBfRE1BX0NTRUlfUkVHKGxjaCkgPSBzcmNfZWk7Ci0JT01BUF9ETUFfQ1NGSV9SRUcobGNoKSA9IHNyY19maTsKKwlkbWFfd3JpdGUoc3JjX2VpLCBDU0VJKGxjaCkpOworCWRtYV93cml0ZShzcmNfZmksIENTRkkobGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfcGFyYW1zKTsKIAotdm9pZCBvbWFwX3NldF9kbWFfcGFyYW1zKGludCBsY2gsIHN0cnVjdCBvbWFwX2RtYV9jaGFubmVsX3BhcmFtcyAqIHBhcmFtcykKK3ZvaWQgb21hcF9zZXRfZG1hX3BhcmFtcyhpbnQgbGNoLCBzdHJ1Y3Qgb21hcF9kbWFfY2hhbm5lbF9wYXJhbXMgKnBhcmFtcykKIHsKIAlvbWFwX3NldF9kbWFfdHJhbnNmZXJfcGFyYW1zKGxjaCwgcGFyYW1zLT5kYXRhX3R5cGUsCiAJCQkJICAgICBwYXJhbXMtPmVsZW1fY291bnQsIHBhcmFtcy0+ZnJhbWVfY291bnQsCkBAIC0zNTYsMjggKzQyNywzNyBAQAogCQlvbWFwX2RtYV9zZXRfcHJpb19sY2gobGNoLCBwYXJhbXMtPnJlYWRfcHJpbywKIAkJCQkgICAgICBwYXJhbXMtPndyaXRlX3ByaW8pOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfcGFyYW1zKTsKIAogdm9pZCBvbWFwX3NldF9kbWFfc3JjX2luZGV4KGludCBsY2gsIGludCBlaWR4LCBpbnQgZmlkeCkKIHsKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKLQkJUkVWSVNJVF8yNFhYKCk7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKQogCQlyZXR1cm47Ci0JfQotCU9NQVBfRE1BX0NTRUlfUkVHKGxjaCkgPSBlaWR4OwotCU9NQVBfRE1BX0NTRklfUkVHKGxjaCkgPSBmaWR4OworCisJZG1hX3dyaXRlKGVpZHgsIENTRUkobGNoKSk7CisJZG1hX3dyaXRlKGZpZHgsIENTRkkobGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfaW5kZXgpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV9zcmNfZGF0YV9wYWNrKGludCBsY2gsIGludCBlbmFibGUpCiB7Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDEgPDwgNik7CisJdTMyIGw7CisKKwlsID0gZG1hX3JlYWQoQ1NEUChsY2gpKTsKKwlsICY9IH4oMSA8PCA2KTsKIAlpZiAoZW5hYmxlKQotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpIHw9ICgxIDw8IDYpOworCQlsIHw9ICgxIDw8IDYpOworCWRtYV93cml0ZShsLCBDU0RQKGxjaCkpOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfc3JjX2RhdGFfcGFjayk7CiAKIHZvaWQgb21hcF9zZXRfZG1hX3NyY19idXJzdF9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfYnVyc3RfbW9kZSBidXJzdF9tb2RlKQogewogCXVuc2lnbmVkIGludCBidXJzdCA9IDA7Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDB4MDMgPDwgNyk7CisJdTMyIGw7CisKKwlsID0gZG1hX3JlYWQoQ1NEUChsY2gpKTsKKwlsICY9IH4oMHgwMyA8PCA3KTsKIAogCXN3aXRjaCAoYnVyc3RfbW9kZSkgewogCWNhc2UgT01BUF9ETUFfREFUQV9CVVJTVF9ESVM6CkBAIC00MDgsNTUgKzQ4OCw3MyBAQAogCWRlZmF1bHQ6CiAJCUJVRygpOwogCX0KLQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpIHw9IChidXJzdCA8PCA3KTsKKworCWwgfD0gKGJ1cnN0IDw8IDcpOworCWRtYV93cml0ZShsLCBDU0RQKGxjaCkpOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfc3JjX2J1cnN0X21vZGUpOwogCiAvKiBOb3RlIHRoYXQgZGVzdF9wb3J0IGlzIG9ubHkgZm9yIE9NQVAxICovCiB2b2lkIG9tYXBfc2V0X2RtYV9kZXN0X3BhcmFtcyhpbnQgbGNoLCBpbnQgZGVzdF9wb3J0LCBpbnQgZGVzdF9hbW9kZSwKIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZGVzdF9zdGFydCwKIAkJCSAgICAgIGludCBkc3RfZWksIGludCBkc3RfZmkpCiB7CisJdTMyIGw7CisKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDB4MWYgPDwgOSk7Ci0JCU9NQVBfRE1BX0NTRFBfUkVHKGxjaCkgfD0gZGVzdF9wb3J0IDw8IDk7CisJCWwgPSBkbWFfcmVhZChDU0RQKGxjaCkpOworCQlsICY9IH4oMHgxZiA8PCA5KTsKKwkJbCB8PSBkZXN0X3BvcnQgPDwgOTsKKwkJZG1hX3dyaXRlKGwsIENTRFAobGNoKSk7CiAJfQogCi0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpICY9IH4oMHgwMyA8PCAxNCk7Ci0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpIHw9IGRlc3RfYW1vZGUgPDwgMTQ7CisJbCA9IGRtYV9yZWFkKENDUihsY2gpKTsKKwlsICY9IH4oMHgwMyA8PCAxNCk7CisJbCB8PSBkZXN0X2Ftb2RlIDw8IDE0OworCWRtYV93cml0ZShsLCBDQ1IobGNoKSk7CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJT01BUDFfRE1BX0NEU0FfVV9SRUcobGNoKSA9IGRlc3Rfc3RhcnQgPj4gMTY7Ci0JCU9NQVAxX0RNQV9DRFNBX0xfUkVHKGxjaCkgPSBkZXN0X3N0YXJ0OworCQlkbWFfd3JpdGUoZGVzdF9zdGFydCA+PiAxNiwgQ0RTQV9VKGxjaCkpOworCQlkbWFfd3JpdGUoZGVzdF9zdGFydCwgQ0RTQV9MKGxjaCkpOwogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkKLQkJT01BUDJfRE1BX0NEU0FfUkVHKGxjaCkgPSBkZXN0X3N0YXJ0OworCQlkbWFfd3JpdGUoZGVzdF9zdGFydCwgQ0RTQShsY2gpKTsKIAotCU9NQVBfRE1BX0NERUlfUkVHKGxjaCkgPSBkc3RfZWk7Ci0JT01BUF9ETUFfQ0RGSV9SRUcobGNoKSA9IGRzdF9maTsKKwlkbWFfd3JpdGUoZHN0X2VpLCBDREVJKGxjaCkpOworCWRtYV93cml0ZShkc3RfZmksIENERkkobGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9kZXN0X3BhcmFtcyk7CiAKIHZvaWQgb21hcF9zZXRfZG1hX2Rlc3RfaW5kZXgoaW50IGxjaCwgaW50IGVpZHgsIGludCBmaWR4KQogewotCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewotCQlSRVZJU0lUXzI0WFgoKTsKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCiAJCXJldHVybjsKLQl9Ci0JT01BUF9ETUFfQ0RFSV9SRUcobGNoKSA9IGVpZHg7Ci0JT01BUF9ETUFfQ0RGSV9SRUcobGNoKSA9IGZpZHg7CisKKwlkbWFfd3JpdGUoZWlkeCwgQ0RFSShsY2gpKTsKKwlkbWFfd3JpdGUoZmlkeCwgQ0RGSShsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2Rlc3RfaW5kZXgpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV9kZXN0X2RhdGFfcGFjayhpbnQgbGNoLCBpbnQgZW5hYmxlKQogewotCU9NQVBfRE1BX0NTRFBfUkVHKGxjaCkgJj0gfigxIDw8IDEzKTsKKwl1MzIgbDsKKworCWwgPSBkbWFfcmVhZChDU0RQKGxjaCkpOworCWwgJj0gfigxIDw8IDEzKTsKIAlpZiAoZW5hYmxlKQotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpIHw9IDEgPDwgMTM7CisJCWwgfD0gMSA8PCAxMzsKKwlkbWFfd3JpdGUobCwgQ1NEUChsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2Rlc3RfZGF0YV9wYWNrKTsKIAogdm9pZCBvbWFwX3NldF9kbWFfZGVzdF9idXJzdF9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfYnVyc3RfbW9kZSBidXJzdF9tb2RlKQogewogCXVuc2lnbmVkIGludCBidXJzdCA9IDA7Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDB4MDMgPDwgMTQpOworCXUzMiBsOworCisJbCA9IGRtYV9yZWFkKENTRFAobGNoKSk7CisJbCAmPSB+KDB4MDMgPDwgMTQpOwogCiAJc3dpdGNoIChidXJzdF9tb2RlKSB7CiAJY2FzZSBPTUFQX0RNQV9EQVRBX0JVUlNUX0RJUzoKQEAgLTQ4Niw4ICs1ODQsMTAgQEAKIAkJQlVHKCk7CiAJCXJldHVybjsKIAl9Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSB8PSAoYnVyc3QgPDwgMTQpOworCWwgfD0gKGJ1cnN0IDw8IDE0KTsKKwlkbWFfd3JpdGUobCwgQ1NEUChsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2Rlc3RfYnVyc3RfbW9kZSk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBvbWFwX2VuYWJsZV9jaGFubmVsX2lycShpbnQgbGNoKQogewpAQCAtNDk1LDYyICs1OTUsNzQgQEAKIAogCS8qIENsZWFyIENTUiAqLwogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkKLQkJc3RhdHVzID0gT01BUF9ETUFfQ1NSX1JFRyhsY2gpOworCQlzdGF0dXMgPSBkbWFfcmVhZChDU1IobGNoKSk7CiAJZWxzZSBpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCi0JCU9NQVBfRE1BX0NTUl9SRUcobGNoKSA9IE9NQVAyX0RNQV9DU1JfQ0xFQVJfTUFTSzsKKwkJZG1hX3dyaXRlKE9NQVAyX0RNQV9DU1JfQ0xFQVJfTUFTSywgQ1NSKGxjaCkpOwogCiAJLyogRW5hYmxlIHNvbWUgbmljZSBpbnRlcnJ1cHRzLiAqLwotCU9NQVBfRE1BX0NJQ1JfUkVHKGxjaCkgPSBkbWFfY2hhbltsY2hdLmVuYWJsZWRfaXJxczsKKwlkbWFfd3JpdGUoZG1hX2NoYW5bbGNoXS5lbmFibGVkX2lycXMsIENJQ1IobGNoKSk7CiB9CiAKIHN0YXRpYyB2b2lkIG9tYXBfZGlzYWJsZV9jaGFubmVsX2lycShpbnQgbGNoKQogewogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkKLQkJT01BUF9ETUFfQ0lDUl9SRUcobGNoKSA9IDA7CisJCWRtYV93cml0ZSgwLCBDSUNSKGxjaCkpOwogfQogCiB2b2lkIG9tYXBfZW5hYmxlX2RtYV9pcnEoaW50IGxjaCwgdTE2IGJpdHMpCiB7CiAJZG1hX2NoYW5bbGNoXS5lbmFibGVkX2lycXMgfD0gYml0czsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9lbmFibGVfZG1hX2lycSk7CiAKIHZvaWQgb21hcF9kaXNhYmxlX2RtYV9pcnEoaW50IGxjaCwgdTE2IGJpdHMpCiB7CiAJZG1hX2NoYW5bbGNoXS5lbmFibGVkX2lycXMgJj0gfmJpdHM7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfZGlzYWJsZV9kbWFfaXJxKTsKIAogc3RhdGljIGlubGluZSB2b2lkIGVuYWJsZV9sbmsoaW50IGxjaCkKIHsKKwl1MzIgbDsKKworCWwgPSBkbWFfcmVhZChDTE5LX0NUUkwobGNoKSk7CisKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpCi0JCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoKSAmPSB+KDEgPDwgMTQpOworCQlsICY9IH4oMSA8PCAxNCk7CiAKIAkvKiBTZXQgdGhlIEVOQUJMRV9MTksgYml0cyAqLwogCWlmIChkbWFfY2hhbltsY2hdLm5leHRfbGNoICE9IC0xKQotCQlPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKGxjaCkgPQotCQkJZG1hX2NoYW5bbGNoXS5uZXh0X2xjaCB8ICgxIDw8IDE1KTsKKwkJbCA9IGRtYV9jaGFuW2xjaF0ubmV4dF9sY2ggfCAoMSA8PCAxNSk7CiAKICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKLQlpZiAoZG1hX2NoYW5bbGNoXS5uZXh0X2xpbmtlZF9jaCAhPSAtMSkKLQkJT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhsY2gpID0KLQkJCWRtYV9jaGFuW2xjaF0ubmV4dF9saW5rZWRfY2ggfCAoMSA8PCAxNSk7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKQorCQlpZiAoZG1hX2NoYW5bbGNoXS5uZXh0X2xpbmtlZF9jaCAhPSAtMSkKKwkJCWwgPSBkbWFfY2hhbltsY2hdLm5leHRfbGlua2VkX2NoIHwgKDEgPDwgMTUpOwogI2VuZGlmCisKKwlkbWFfd3JpdGUobCwgQ0xOS19DVFJMKGxjaCkpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZGlzYWJsZV9sbmsoaW50IGxjaCkKIHsKKwl1MzIgbDsKKworCWwgPSBkbWFfcmVhZChDTE5LX0NUUkwobGNoKSk7CisKIAkvKiBEaXNhYmxlIGludGVycnVwdHMgKi8KIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJT01BUF9ETUFfQ0lDUl9SRUcobGNoKSA9IDA7CisJCWRtYV93cml0ZSgwLCBDSUNSKGxjaCkpOwogCQkvKiBTZXQgdGhlIFNUT1BfTE5LIGJpdCAqLwotCQlPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKGxjaCkgfD0gMSA8PCAxNDsKKwkJbCB8PSAxIDw8IDE0OwogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewogCQlvbWFwX2Rpc2FibGVfY2hhbm5lbF9pcnEobGNoKTsKIAkJLyogQ2xlYXIgdGhlIEVOQUJMRV9MTksgYml0ICovCi0JCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoKSAmPSB+KDEgPDwgMTUpOworCQlsICY9IH4oMSA8PCAxNSk7CiAJfQogCisJZG1hX3dyaXRlKGwsIENMTktfQ1RSTChsY2gpKTsKIAlkbWFfY2hhbltsY2hdLmZsYWdzICY9IH5PTUFQX0RNQV9BQ1RJVkU7CiB9CiAKQEAgLTU2MSwxMyArNjczLDEzIEBACiAJaWYgKCFjcHVfY2xhc3NfaXNfb21hcDIoKSkKIAkJcmV0dXJuOwogCi0JdmFsID0gb21hcF9yZWFkbChPTUFQX0RNQTRfSVJRRU5BQkxFX0wwKTsKKwl2YWwgPSBkbWFfcmVhZChJUlFFTkFCTEVfTDApOwogCXZhbCB8PSAxIDw8IGxjaDsKLQlvbWFwX3dyaXRlbCh2YWwsIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDApOworCWRtYV93cml0ZSh2YWwsIElSUUVOQUJMRV9MMCk7CiB9CiAKIGludCBvbWFwX3JlcXVlc3RfZG1hKGludCBkZXZfaWQsIGNvbnN0IGNoYXIgKmRldl9uYW1lLAotCQkgICAgIHZvaWQgKCogY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAorCQkgICAgIHZvaWQgKCpjYWxsYmFjaykoaW50IGxjaCwgdTE2IGNoX3N0YXR1cywgdm9pZCAqZGF0YSksCiAJCSAgICAgdm9pZCAqZGF0YSwgaW50ICpkbWFfY2hfb3V0KQogewogCWludCBjaCwgZnJlZV9jaCA9IC0xOwpAQCAtNjAwLDEwICs3MTIsMTQgQEAKIAljaGFuLT5kZXZfbmFtZSA9IGRldl9uYW1lOwogCWNoYW4tPmNhbGxiYWNrID0gY2FsbGJhY2s7CiAJY2hhbi0+ZGF0YSA9IGRhdGE7CisKICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKLQljaGFuLT5jaGFpbl9pZCA9IC0xOwotCWNoYW4tPm5leHRfbGlua2VkX2NoID0gLTE7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKSB7CisJCWNoYW4tPmNoYWluX2lkID0gLTE7CisJCWNoYW4tPm5leHRfbGlua2VkX2NoID0gLTE7CisJfQogI2VuZGlmCisKIAljaGFuLT5lbmFibGVkX2lycXMgPSBPTUFQX0RNQV9EUk9QX0lSUSB8IE9NQVBfRE1BX0JMT0NLX0lSUTsKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkKQEAgLTYxOCwyNiArNzM0LDI4IEBACiAJCQlzZXRfZ2RtYV9kZXYoZnJlZV9jaCArIDEsIGRldl9pZCk7CiAJCQlkZXZfaWQgPSBmcmVlX2NoICsgMTsKIAkJfQotCQkvKiBEaXNhYmxlIHRoZSAxNTEwIGNvbXBhdGliaWxpdHkgbW9kZSBhbmQgc2V0IHRoZSBzeW5jIGRldmljZQotCQkgKiBpZC4gKi8KLQkJT01BUF9ETUFfQ0NSX1JFRyhmcmVlX2NoKSA9IGRldl9pZCB8ICgxIDw8IDEwKTsKKwkJLyoKKwkJICogRGlzYWJsZSB0aGUgMTUxMCBjb21wYXRpYmlsaXR5IG1vZGUgYW5kIHNldCB0aGUgc3luYyBkZXZpY2UKKwkJICogaWQuCisJCSAqLworCQlkbWFfd3JpdGUoZGV2X2lkIHwgKDEgPDwgMTApLCBDQ1IoZnJlZV9jaCkpOwogCX0gZWxzZSBpZiAoY3B1X2lzX29tYXA3MzAoKSB8fCBjcHVfaXNfb21hcDE1eHgoKSkgewotCQlPTUFQX0RNQV9DQ1JfUkVHKGZyZWVfY2gpID0gZGV2X2lkOworCQlkbWFfd3JpdGUoZGV2X2lkLCBDQ1IoZnJlZV9jaCkpOwogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewogCQlvbWFwMl9lbmFibGVfaXJxX2xjaChmcmVlX2NoKTsKLQogCQlvbWFwX2VuYWJsZV9jaGFubmVsX2lycShmcmVlX2NoKTsKIAkJLyogQ2xlYXIgdGhlIENTUiByZWdpc3RlciBhbmQgSVJRIHN0YXR1cyByZWdpc3RlciAqLwotCQlPTUFQX0RNQV9DU1JfUkVHKGZyZWVfY2gpID0gT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLOwotCQlvbWFwX3dyaXRlbCgxIDw8IGZyZWVfY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCQlkbWFfd3JpdGUoT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLLCBDU1IoZnJlZV9jaCkpOworCQlkbWFfd3JpdGUoMSA8PCBmcmVlX2NoLCBJUlFTVEFUVVNfTDApOwogCX0KIAogCSpkbWFfY2hfb3V0ID0gZnJlZV9jaDsKIAogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3JlcXVlc3RfZG1hKTsKIAogdm9pZCBvbWFwX2ZyZWVfZG1hKGludCBsY2gpCiB7CkBAIC02NDUsMTEgKzc2MywxMiBAQAogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmRtYV9jaGFuX2xvY2ssIGZsYWdzKTsKIAlpZiAoZG1hX2NoYW5bbGNoXS5kZXZfaWQgPT0gLTEpIHsKLQkJcHJpbnRrKCJvbWFwX2RtYTogdHJ5aW5nIHRvIGZyZWUgbm9uYWxsb2NhdGVkIERNQSBjaGFubmVsICVkXG4iLAorCQlwcl9lcnIoIm9tYXBfZG1hOiB0cnlpbmcgdG8gZnJlZSB1bmFsbG9jYXRlZCBETUEgY2hhbm5lbCAlZFxuIiwKIAkJICAgICAgIGxjaCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRtYV9jaGFuX2xvY2ssIGZsYWdzKTsKIAkJcmV0dXJuOwogCX0KKwogCWRtYV9jaGFuW2xjaF0uZGV2X2lkID0gLTE7CiAJZG1hX2NoYW5bbGNoXS5uZXh0X2xjaCA9IC0xOwogCWRtYV9jaGFuW2xjaF0uY2FsbGJhY2sgPSBOVUxMOwpAQCAtNjU3LDMwICs3NzYsMzEgQEAKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewogCQkvKiBEaXNhYmxlIGFsbCBETUEgaW50ZXJydXB0cyBmb3IgdGhlIGNoYW5uZWwuICovCi0JCU9NQVBfRE1BX0NJQ1JfUkVHKGxjaCkgPSAwOworCQlkbWFfd3JpdGUoMCwgQ0lDUihsY2gpKTsKIAkJLyogTWFrZSBzdXJlIHRoZSBETUEgdHJhbnNmZXIgaXMgc3RvcHBlZC4gKi8KLQkJT01BUF9ETUFfQ0NSX1JFRyhsY2gpID0gMDsKKwkJZG1hX3dyaXRlKDAsIENDUihsY2gpKTsKIAl9CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKIAkJdTMyIHZhbDsKIAkJLyogRGlzYWJsZSBpbnRlcnJ1cHRzICovCi0JCXZhbCA9IG9tYXBfcmVhZGwoT01BUF9ETUE0X0lSUUVOQUJMRV9MMCk7CisJCXZhbCA9IGRtYV9yZWFkKElSUUVOQUJMRV9MMCk7CiAJCXZhbCAmPSB+KDEgPDwgbGNoKTsKLQkJb21hcF93cml0ZWwodmFsLCBPTUFQX0RNQTRfSVJRRU5BQkxFX0wwKTsKKwkJZG1hX3dyaXRlKHZhbCwgSVJRRU5BQkxFX0wwKTsKIAogCQkvKiBDbGVhciB0aGUgQ1NSIHJlZ2lzdGVyIGFuZCBJUlEgc3RhdHVzIHJlZ2lzdGVyICovCi0JCU9NQVBfRE1BX0NTUl9SRUcobGNoKSA9IE9NQVAyX0RNQV9DU1JfQ0xFQVJfTUFTSzsKLQkJb21hcF93cml0ZWwoMSA8PCBsY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCQlkbWFfd3JpdGUoT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLLCBDU1IobGNoKSk7CisJCWRtYV93cml0ZSgxIDw8IGxjaCwgSVJRU1RBVFVTX0wwKTsKIAogCQkvKiBEaXNhYmxlIGFsbCBETUEgaW50ZXJydXB0cyBmb3IgdGhlIGNoYW5uZWwuICovCi0JCU9NQVBfRE1BX0NJQ1JfUkVHKGxjaCkgPSAwOworCQlkbWFfd3JpdGUoMCwgQ0lDUihsY2gpKTsKIAogCQkvKiBNYWtlIHN1cmUgdGhlIERNQSB0cmFuc2ZlciBpcyBzdG9wcGVkLiAqLwotCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSAwOworCQlkbWFfd3JpdGUoMCwgQ0NSKGxjaCkpOwogCQlvbWFwX2NsZWFyX2RtYShsY2gpOwogCX0KIH0KK0VYUE9SVF9TWU1CT0wob21hcF9mcmVlX2RtYSk7CiAKIC8qKgogICogQGJyaWVmIG9tYXBfZG1hX3NldF9nbG9iYWxfcGFyYW1zIDogU2V0IGdsb2JhbCBwcmlvcml0eSBzZXR0aW5ncyBmb3IgZG1hCkBAIC03MDgsNyArODI4LDcgQEAKIAlyZWcgPSAoYXJiX3JhdGUgJiAweGZmKSA8PCAxNjsKIAlyZWcgfD0gKDB4ZmYgJiBtYXhfZmlmb19kZXB0aCk7CiAKLQlvbWFwX3dyaXRlbChyZWcsIE9NQVBfRE1BNF9HQ1JfUkVHKTsKKwlkbWFfd3JpdGUocmVnLCBHQ1IpOwogfQogRVhQT1JUX1NZTUJPTChvbWFwX2RtYV9zZXRfZ2xvYmFsX3BhcmFtcyk7CiAKQEAgLTcyNSwyMCArODQ1LDIxIEBACiBvbWFwX2RtYV9zZXRfcHJpb19sY2goaW50IGxjaCwgdW5zaWduZWQgY2hhciByZWFkX3ByaW8sCiAJCSAgICAgIHVuc2lnbmVkIGNoYXIgd3JpdGVfcHJpbykKIHsKLQl1MzIgdzsKKwl1MzIgbDsKIAotCWlmICh1bmxpa2VseSgobGNoIDwgMCB8fCBsY2ggPj0gT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVCkpKSB7CisJaWYgKHVubGlrZWx5KChsY2ggPCAwIHx8IGxjaCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYW5uZWwgaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9Ci0JdyA9IE9NQVBfRE1BX0NDUl9SRUcobGNoKTsKLQl3ICY9IH4oKDEgPDwgNikgfCAoMSA8PCAyNikpOworCWwgPSBkbWFfcmVhZChDQ1IobGNoKSk7CisJbCAmPSB+KCgxIDw8IDYpIHwgKDEgPDwgMjYpKTsKIAlpZiAoY3B1X2lzX29tYXAyNDMwKCkgfHwgY3B1X2lzX29tYXAzNHh4KCkpCi0JCXcgfD0gKChyZWFkX3ByaW8gJiAweDEpIDw8IDYpIHwgKCh3cml0ZV9wcmlvICYgMHgxKSA8PCAyNik7CisJCWwgfD0gKChyZWFkX3ByaW8gJiAweDEpIDw8IDYpIHwgKCh3cml0ZV9wcmlvICYgMHgxKSA8PCAyNik7CiAJZWxzZQotCQl3IHw9ICgocmVhZF9wcmlvICYgMHgxKSA8PCA2KTsKKwkJbCB8PSAoKHJlYWRfcHJpbyAmIDB4MSkgPDwgNik7CiAKLQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSB3OworCWRtYV93cml0ZShsLCBDQ1IobGNoKSk7CisKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wob21hcF9kbWFfc2V0X3ByaW9fbGNoKTsKQEAgLTc1NCwyOCArODc1LDM0IEBACiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7Ci0JCWludCBzdGF0dXM7Ci0JCU9NQVBfRE1BX0NDUl9SRUcobGNoKSAmPSB+T01BUF9ETUFfQ0NSX0VOOworCQl1MzIgbDsKKworCQlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCQlsICY9IH5PTUFQX0RNQV9DQ1JfRU47CisJCWRtYV93cml0ZShsLCBDQ1IobGNoKSk7CiAKIAkJLyogQ2xlYXIgcGVuZGluZyBpbnRlcnJ1cHRzICovCi0JCXN0YXR1cyA9IE9NQVBfRE1BX0NTUl9SRUcobGNoKTsKKwkJbCA9IGRtYV9yZWFkKENTUihsY2gpKTsKIAl9CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKIAkJaW50IGk7Ci0JCXUzMiBsY2hfYmFzZSA9IE9NQVBfRE1BNF9CQVNFICsgbGNoICogMHg2MCArIDB4ODA7CisJCXZvaWQgX19pb21lbSAqbGNoX2Jhc2UgPSBvbWFwX2RtYV9iYXNlICsgT01BUF9ETUE0X0NIX0JBU0UobGNoKTsKIAkJZm9yIChpID0gMDsgaSA8IDB4NDQ7IGkgKz0gNCkKLQkJCW9tYXBfd3JpdGVsKDAsIGxjaF9iYXNlICsgaSk7CisJCQlfX3Jhd193cml0ZWwoMCwgbGNoX2Jhc2UgKyBpKTsKIAl9CiAKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfY2xlYXJfZG1hKTsKIAogdm9pZCBvbWFwX3N0YXJ0X2RtYShpbnQgbGNoKQogeworCXUzMiBsOworCiAJaWYgKCFvbWFwX2RtYV9pbl8xNTEwX21vZGUoKSAmJiBkbWFfY2hhbltsY2hdLm5leHRfbGNoICE9IC0xKSB7CiAJCWludCBuZXh0X2xjaCwgY3VyX2xjaDsKLQkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UXTsKKwkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdOwogCiAJCWRtYV9jaGFuX2xpbmtfbWFwW2xjaF0gPSAxOwogCQkvKiBTZXQgdGhlIGxpbmsgcmVnaXN0ZXIgb2YgdGhlIGZpcnN0IGNoYW5uZWwgKi8KQEAgLTc5OSwyNyArOTI2LDM0IEBACiAJCX0gd2hpbGUgKG5leHRfbGNoICE9IC0xKTsKIAl9IGVsc2UgaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKSB7CiAJCS8qIEVycmF0YTogTmVlZCB0byB3cml0ZSBsY2ggZXZlbiBpZiBub3QgdXNpbmcgY2hhaW5pbmcgKi8KLQkJT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhsY2gpID0gbGNoOworCQlkbWFfd3JpdGUobGNoLCBDTE5LX0NUUkwobGNoKSk7CiAJfQogCiAJb21hcF9lbmFibGVfY2hhbm5lbF9pcnEobGNoKTsKIAotCS8qIEVycmF0YTogT24gRVMyLjAgQlVGRkVSSU5HIGRpc2FibGUgbXVzdCBiZSBzZXQuCi0JICogVGhpcyB3aWxsIGFsd2F5cyBmYWlsIG9uIEVTMS4wICovCi0JaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7Ci0JCU9NQVBfRE1BX0NDUl9SRUcobGNoKSB8PSBPTUFQX0RNQV9DQ1JfRU47Ci0JfQorCWwgPSBkbWFfcmVhZChDQ1IobGNoKSk7CiAKLQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgfD0gT01BUF9ETUFfQ0NSX0VOOworCS8qCisJICogRXJyYXRhOiBPbiBFUzIuMCBCVUZGRVJJTkcgZGlzYWJsZSBtdXN0IGJlIHNldC4KKwkgKiBUaGlzIHdpbGwgYWx3YXlzIGZhaWwgb24gRVMxLjAKKwkgKi8KKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpCisJCWwgfD0gT01BUF9ETUFfQ0NSX0VOOworCisJbCB8PSBPTUFQX0RNQV9DQ1JfRU47CisJZG1hX3dyaXRlKGwsIENDUihsY2gpKTsKIAogCWRtYV9jaGFuW2xjaF0uZmxhZ3MgfD0gT01BUF9ETUFfQUNUSVZFOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3N0YXJ0X2RtYSk7CiAKIHZvaWQgb21hcF9zdG9wX2RtYShpbnQgbGNoKQogeworCXUzMiBsOworCiAJaWYgKCFvbWFwX2RtYV9pbl8xNTEwX21vZGUoKSAmJiBkbWFfY2hhbltsY2hdLm5leHRfbGNoICE9IC0xKSB7CiAJCWludCBuZXh0X2xjaCwgY3VyX2xjaCA9IGxjaDsKLQkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UXTsKKwkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdOwogCiAJCW1lbXNldChkbWFfY2hhbl9saW5rX21hcCwgMCwgc2l6ZW9mKGRtYV9jaGFuX2xpbmtfbWFwKSk7CiAJCWRvIHsKQEAgLTg0MCwxOCArOTc0LDIyIEBACiAKIAkvKiBEaXNhYmxlIGFsbCBpbnRlcnJ1cHRzIG9uIHRoZSBjaGFubmVsICovCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQotCQlPTUFQX0RNQV9DSUNSX1JFRyhsY2gpID0gMDsKKwkJZG1hX3dyaXRlKDAsIENJQ1IobGNoKSk7CiAKLQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgJj0gfk9NQVBfRE1BX0NDUl9FTjsKKwlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCWwgJj0gfk9NQVBfRE1BX0NDUl9FTjsKKwlkbWFfd3JpdGUobCwgQ0NSKGxjaCkpOworCiAJZG1hX2NoYW5bbGNoXS5mbGFncyAmPSB+T01BUF9ETUFfQUNUSVZFOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3N0b3BfZG1hKTsKIAogLyoKICAqIEFsbG93cyBjaGFuZ2luZyB0aGUgRE1BIGNhbGxiYWNrIGZ1bmN0aW9uIG9yIGRhdGEuIFRoaXMgbWF5IGJlIG5lZWRlZCBpZgogICogdGhlIGRyaXZlciBzaGFyZXMgYSBzaW5nbGUgRE1BIGNoYW5uZWwgZm9yIG11bHRpcGxlIGRtYSB0cmlnZ2Vycy4KICAqLwogaW50IG9tYXBfc2V0X2RtYV9jYWxsYmFjayhpbnQgbGNoLAotCQkJICB2b2lkICgqIGNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKKwkJCSAgdm9pZCAoKmNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKIAkJCSAgdm9pZCAqZGF0YSkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtODcxLDYgKzEwMDksNyBAQAogCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jYWxsYmFjayk7CiAKIC8qCiAgKiBSZXR1cm5zIGN1cnJlbnQgcGh5c2ljYWwgc291cmNlIGFkZHJlc3MgZm9yIHRoZSBnaXZlbiBETUEgY2hhbm5lbC4KQEAgLTg4NCwxNSArMTAyMywyNCBAQAogewogCWRtYV9hZGRyX3Qgb2Zmc2V0ID0gMDsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkKLQkJb2Zmc2V0ID0gKGRtYV9hZGRyX3QpIChPTUFQMV9ETUFfQ1NTQV9MX1JFRyhsY2gpIHwKLQkJCQkgICAgICAgKE9NQVAxX0RNQV9DU1NBX1VfUkVHKGxjaCkgPDwgMTYpKTsKKwlpZiAoY3B1X2lzX29tYXAxNXh4KCkpCisJCW9mZnNldCA9IGRtYV9yZWFkKENQQyhsY2gpKTsKKwllbHNlCisJCW9mZnNldCA9IGRtYV9yZWFkKENTQUMobGNoKSk7CiAKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCi0JCW9mZnNldCA9IE9NQVBfRE1BX0NTQUNfUkVHKGxjaCk7CisJLyoKKwkgKiBvbWFwIDMuMi8zLjMgZXJyYXR1bTogc29tZXRpbWVzIDAgaXMgcmV0dXJuZWQgaWYgQ1NBQy9DREFDIGlzCisJICogcmVhZCBiZWZvcmUgdGhlIERNQSBjb250cm9sbGVyIGZpbmlzaGVkIGRpc2FibGluZyB0aGUgY2hhbm5lbC4KKwkgKi8KKwlpZiAoIWNwdV9pc19vbWFwMTV4eCgpICYmIG9mZnNldCA9PSAwKQorCQlvZmZzZXQgPSBkbWFfcmVhZChDU0FDKGxjaCkpOworCisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQorCQlvZmZzZXQgfD0gKGRtYV9yZWFkKENTU0FfVShsY2gpKSA8PCAxNik7CiAKIAlyZXR1cm4gb2Zmc2V0OwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2dldF9kbWFfc3JjX3Bvcyk7CiAKIC8qCiAgKiBSZXR1cm5zIGN1cnJlbnQgcGh5c2ljYWwgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgdGhlIGdpdmVuIERNQSBjaGFubmVsLgpAQCAtOTA2LDI1ICsxMDU0LDMwIEBACiB7CiAJZG1hX2FkZHJfdCBvZmZzZXQgPSAwOwogCi0JaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQotCQlvZmZzZXQgPSAoZG1hX2FkZHJfdCkgKE9NQVAxX0RNQV9DRFNBX0xfUkVHKGxjaCkgfAotCQkJCSAgICAgICAoT01BUDFfRE1BX0NEU0FfVV9SRUcobGNoKSA8PCAxNikpOworCWlmIChjcHVfaXNfb21hcDE1eHgoKSkKKwkJb2Zmc2V0ID0gZG1hX3JlYWQoQ1BDKGxjaCkpOworCWVsc2UKKwkJb2Zmc2V0ID0gZG1hX3JlYWQoQ0RBQyhsY2gpKTsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkKLQkJb2Zmc2V0ID0gT01BUF9ETUFfQ0RBQ19SRUcobGNoKTsKKwkvKgorCSAqIG9tYXAgMy4yLzMuMyBlcnJhdHVtOiBzb21ldGltZXMgMCBpcyByZXR1cm5lZCBpZiBDU0FDL0NEQUMgaXMKKwkgKiByZWFkIGJlZm9yZSB0aGUgRE1BIGNvbnRyb2xsZXIgZmluaXNoZWQgZGlzYWJsaW5nIHRoZSBjaGFubmVsLgorCSAqLworCWlmICghY3B1X2lzX29tYXAxNXh4KCkgJiYgb2Zmc2V0ID09IDApCisJCW9mZnNldCA9IGRtYV9yZWFkKENEQUMobGNoKSk7CisKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpCisJCW9mZnNldCB8PSAoZG1hX3JlYWQoQ0RTQV9VKGxjaCkpIDw8IDE2KTsKIAogCXJldHVybiBvZmZzZXQ7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9kc3RfcG9zKTsKIAotLyoKLSAqIFJldHVybnMgY3VycmVudCBzb3VyY2UgdHJhbnNmZXIgY291bnRpbmcgZm9yIHRoZSBnaXZlbiBETUEgY2hhbm5lbC4KLSAqIENhbiBiZSB1c2VkIHRvIG1vbml0b3IgdGhlIHByb2dyZXNzIG9mIGEgdHJhbnNmZXIgaW5zaWRlIGEgYmxvY2suCi0gKiBJdCBtdXN0IGJlIGNhbGxlZCB3aXRoIGRpc2FibGVkIGludGVycnVwdHMuCi0gKi8KLWludCBvbWFwX2dldF9kbWFfc3JjX2FkZHJfY291bnRlcihpbnQgbGNoKQoraW50IG9tYXBfZ2V0X2RtYV9hY3RpdmVfc3RhdHVzKGludCBsY2gpCiB7Ci0JcmV0dXJuIChkbWFfYWRkcl90KSBPTUFQX0RNQV9DU0FDX1JFRyhsY2gpOworCXJldHVybiAoZG1hX3JlYWQoQ0NSKGxjaCkpICYgT01BUF9ETUFfQ0NSX0VOKSAhPSAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2dldF9kbWFfYWN0aXZlX3N0YXR1cyk7CiAKIGludCBvbWFwX2RtYV9ydW5uaW5nKHZvaWQpCiB7CkBAIC05MzYsNyArMTA4OSw3IEBACiAJCQlyZXR1cm4gMTsKIAogCWZvciAobGNoID0gMDsgbGNoIDwgZG1hX2NoYW5fY291bnQ7IGxjaCsrKQotCQlpZiAoT01BUF9ETUFfQ0NSX1JFRyhsY2gpICYgT01BUF9ETUFfQ0NSX0VOKQorCQlpZiAoZG1hX3JlYWQoQ0NSKGxjaCkpICYgT01BUF9ETUFfQ0NSX0VOKQogCQkJcmV0dXJuIDE7CiAKIAlyZXR1cm4gMDsKQEAgLTk0Nyw3ICsxMTAwLDcgQEAKICAqIEZvciB0aGlzIERNQSBsaW5rIHRvIHN0YXJ0LCB5b3Ugc3RpbGwgbmVlZCB0byBzdGFydCAoc2VlIG9tYXBfc3RhcnRfZG1hKQogICogdGhlIGZpcnN0IG9uZS4gVGhhdCB3aWxsIGZpcmUgdXAgdGhlIGVudGlyZSBxdWV1ZS4KICAqLwotdm9pZCBvbWFwX2RtYV9saW5rX2xjaCAoaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKQordm9pZCBvbWFwX2RtYV9saW5rX2xjaChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpCiB7CiAJaWYgKG9tYXBfZG1hX2luXzE1MTBfbW9kZSgpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiRE1BIGxpbmtpbmcgaXMgbm90IHN1cHBvcnRlZCBpbiAxNTEwIG1vZGVcbiIpOwpAQCAtOTY0LDExICsxMTE3LDEyIEBACiAKIAlkbWFfY2hhbltsY2hfaGVhZF0ubmV4dF9sY2ggPSBsY2hfcXVldWU7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfZG1hX2xpbmtfbGNoKTsKIAogLyoKICAqIE9uY2UgdGhlIERNQSBxdWV1ZSBpcyBzdG9wcGVkLCB3ZSBjYW4gZGVzdHJveSBpdC4KICAqLwotdm9pZCBvbWFwX2RtYV91bmxpbmtfbGNoIChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpCit2b2lkIG9tYXBfZG1hX3VubGlua19sY2goaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKQogewogCWlmIChvbWFwX2RtYV9pbl8xNTEwX21vZGUoKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkRNQSBsaW5raW5nIGlzIG5vdCBzdXBwb3J0ZWQgaW4gMTUxMCBtb2RlXG4iKTsKQEAgLTk4Myw3ICsxMTM3LDYgQEAKIAkJZHVtcF9zdGFjaygpOwogCX0KIAotCiAJaWYgKChkbWFfY2hhbltsY2hfaGVhZF0uZmxhZ3MgJiBPTUFQX0RNQV9BQ1RJVkUpIHx8CiAJICAgIChkbWFfY2hhbltsY2hfaGVhZF0uZmxhZ3MgJiBPTUFQX0RNQV9BQ1RJVkUpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAib21hcF9kbWE6IFlvdSBuZWVkIHRvIHN0b3AgdGhlIERNQSBjaGFubmVscyAiCkBAIC05OTMsMTIgKzExNDYsMTUgQEAKIAogCWRtYV9jaGFuW2xjaF9oZWFkXS5uZXh0X2xjaCA9IC0xOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2RtYV91bmxpbmtfbGNoKTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogI2lmbmRlZiBDT05GSUdfQVJDSF9PTUFQMQogLyogQ3JlYXRlIGNoYWluIG9mIERNQSBjaGFubmVzbHMgKi8KIHN0YXRpYyB2b2lkIGNyZWF0ZV9kbWFfbGNoX2NoYWluKGludCBsY2hfaGVhZCwgaW50IGxjaF9xdWV1ZSkKIHsKLQl1MzIgdzsKKwl1MzIgbDsKIAogCS8qIENoZWNrIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGxpbmsgaW4gY2hhaW4gKi8KIAlpZiAoZG1hX2NoYW5bbGNoX2hlYWRdLm5leHRfbGlua2VkX2NoID09IC0xKSB7CkBAIC0xMDE4LDE1ICsxMTc0LDE1IEBACiAJCQkJCWxjaF9xdWV1ZTsKIAl9CiAKLQl3ID0gT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhsY2hfaGVhZCk7Ci0JdyAmPSB+KDB4MWYpOwotCXcgfD0gbGNoX3F1ZXVlOwotCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoX2hlYWQpID0gdzsKKwlsID0gZG1hX3JlYWQoQ0xOS19DVFJMKGxjaF9oZWFkKSk7CisJbCAmPSB+KDB4MWYpOworCWwgfD0gbGNoX3F1ZXVlOworCWRtYV93cml0ZShsLCBDTE5LX0NUUkwobGNoX2hlYWQpKTsKIAotCXcgPSBPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKGxjaF9xdWV1ZSk7Ci0JdyAmPSB+KDB4MWYpOwotCXcgfD0gKGRtYV9jaGFuW2xjaF9xdWV1ZV0ubmV4dF9saW5rZWRfY2gpOwotCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoX3F1ZXVlKSA9IHc7CisJbCA9IGRtYV9yZWFkKENMTktfQ1RSTChsY2hfcXVldWUpKTsKKwlsICY9IH4oMHgxZik7CisJbCB8PSAoZG1hX2NoYW5bbGNoX3F1ZXVlXS5uZXh0X2xpbmtlZF9jaCk7CisJZG1hX3dyaXRlKGwsIENMTktfQ1RSTChsY2hfcXVldWUpKTsKIH0KIAogLyoqCkBAIC0xMDYxLDcgKzEyMTcsNyBAQAogCX0KIAogCWlmICh1bmxpa2VseSgobm9fb2ZfY2hhbnMgPCAxCi0JCQl8fCBub19vZl9jaGFucyA+IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCQkJfHwgbm9fb2ZfY2hhbnMgPiBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIE51bWJlciBvZiBjaGFubmVscyByZXF1ZXN0ZWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xMTE2LDYgKzEyNzIsNyBAQAogCQlmb3IgKGkgPSAwOyBpIDwgKG5vX29mX2NoYW5zIC0gMSk7IGkrKykKIAkJCWNyZWF0ZV9kbWFfbGNoX2NoYWluKGNoYW5uZWxzW2ldLCBjaGFubmVsc1tpICsgMV0pOwogCX0KKwogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTChvbWFwX3JlcXVlc3RfZG1hX2NoYWluKTsKQEAgLTExMzgsNyArMTI5NSw3IEBACiAKIAkvKiBDaGVjayBmb3IgaW5wdXQgcGFyYW1zICovCiAJaWYgKHVubGlrZWx5KChjaGFpbl9pZCA8IDAKLQkJCXx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCQkJfHwgY2hhaW5faWQgPj0gZG1hX2xjaF9jb3VudCkpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiSW52YWxpZCBjaGFpbiBpZFxuIik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KQEAgLTExNTgsNiArMTMxNSw3IEBACiAJCSAqLwogCQlvbWFwX3NldF9kbWFfcGFyYW1zKGNoYW5uZWxzW2ldLCAmcGFyYW1zKTsKIAl9CisKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wob21hcF9tb2RpZnlfZG1hX2NoYWluX3BhcmFtcyk7CkBAIC0xMTc2LDcgKzEzMzQsNyBAQAogCXUzMiBpOwogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwotCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xMjAxLDYgKzEzNTksNyBAQAogCWRtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5saW5rZWRfZG1hY2hfcSA9IE5VTEw7CiAJZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmNoYWluX21vZGUgPSAtMTsKIAlkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0uY2hhaW5fc3RhdGUgPSAtMTsKKwogCXJldHVybiAoMCk7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZnJlZV9kbWFfY2hhaW4pOwpAQCAtMTIxNiw3ICsxMzc1LDcgQEAKIGludCBvbWFwX2RtYV9jaGFpbl9zdGF0dXMoaW50IGNoYWluX2lkKQogewogCS8qIENoZWNrIGZvciBpbnB1dCBwYXJhbXMgKi8KLQlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYWluIGlkXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTIzMSw2ICsxMzkwLDcgQEAKIAogCWlmIChPTUFQX0RNQV9DSEFJTl9RRU1QVFkoY2hhaW5faWQpKQogCQlyZXR1cm4gT01BUF9ETUFfQ0hBSU5fSU5BQ1RJVkU7CisKIAlyZXR1cm4gT01BUF9ETUFfQ0hBSU5fQUNUSVZFOwogfQogRVhQT1JUX1NZTUJPTChvbWFwX2RtYV9jaGFpbl9zdGF0dXMpOwpAQCAtMTI1MywxMSArMTQxMywxMyBAQAogCQkJaW50IGVsZW1fY291bnQsIGludCBmcmFtZV9jb3VudCwgdm9pZCAqY2FsbGJrX2RhdGEpCiB7CiAJaW50ICpjaGFubmVsczsKLQl1MzIgdywgbGNoOworCXUzMiBsLCBsY2g7CiAJaW50IHN0YXJ0X2RtYSA9IDA7CiAKLQkvKiBpZiBidWZmZXIgc2l6ZSBpcyBsZXNzIHRoYW4gMSB0aGVuIHRoZXJlIGlzCi0JICogbm8gdXNlIG9mIHN0YXJ0aW5nIHRoZSBjaGFpbiAqLworCS8qCisJICogaWYgYnVmZmVyIHNpemUgaXMgbGVzcyB0aGFuIDEgdGhlbiB0aGVyZSBpcworCSAqIG5vIHVzZSBvZiBzdGFydGluZyB0aGUgY2hhaW4KKwkgKi8KIAlpZiAoZWxlbV9jb3VudCA8IDEpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGJ1ZmZlciBzaXplXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xMjY1LDcgKzE0MjcsNyBAQAogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwogCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwCi0JCQl8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwkJCXx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xMjk0LDIwICsxNDU2LDI0IEBACiAKIAkvKiBTZXQgdGhlIHBhcmFtcyB0byB0aGUgZnJlZSBjaGFubmVsICovCiAJaWYgKHNyY19zdGFydCAhPSAwKQotCQlPTUFQMl9ETUFfQ1NTQV9SRUcobGNoKSA9IHNyY19zdGFydDsKKwkJZG1hX3dyaXRlKHNyY19zdGFydCwgQ1NTQShsY2gpKTsKIAlpZiAoZGVzdF9zdGFydCAhPSAwKQotCQlPTUFQMl9ETUFfQ0RTQV9SRUcobGNoKSA9IGRlc3Rfc3RhcnQ7CisJCWRtYV93cml0ZShkZXN0X3N0YXJ0LCBDRFNBKGxjaCkpOwogCiAJLyogV3JpdGUgdGhlIGJ1ZmZlciBzaXplICovCi0JT01BUF9ETUFfQ0VOX1JFRyhsY2gpID0gZWxlbV9jb3VudDsKLQlPTUFQX0RNQV9DRk5fUkVHKGxjaCkgPSBmcmFtZV9jb3VudDsKKwlkbWFfd3JpdGUoZWxlbV9jb3VudCwgQ0VOKGxjaCkpOworCWRtYV93cml0ZShmcmFtZV9jb3VudCwgQ0ZOKGxjaCkpOwogCi0JLyogSWYgdGhlIGNoYWluIGlzIGR5bmFtaWNhbGx5IGxpbmtlZCwKLQkgKiB0aGVuIHdlIG1heSBoYXZlIHRvIHN0YXJ0IHRoZSBjaGFpbiBpZiBpdHMgbm90IGFjdGl2ZSAqLworCS8qCisJICogSWYgdGhlIGNoYWluIGlzIGR5bmFtaWNhbGx5IGxpbmtlZCwKKwkgKiB0aGVuIHdlIG1heSBoYXZlIHRvIHN0YXJ0IHRoZSBjaGFpbiBpZiBpdHMgbm90IGFjdGl2ZQorCSAqLwogCWlmIChkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0uY2hhaW5fbW9kZSA9PSBPTUFQX0RNQV9EWU5BTUlDX0NIQUlOKSB7CiAKLQkJLyogSW4gRHluYW1pYyBjaGFpbiwgaWYgdGhlIGNoYWluIGlzIG5vdCBzdGFydGVkLAotCQkgKiBxdWV1ZSB0aGUgY2hhbm5lbCAqLworCQkvKgorCQkgKiBJbiBEeW5hbWljIGNoYWluLCBpZiB0aGUgY2hhaW4gaXMgbm90IHN0YXJ0ZWQsCisJCSAqIHF1ZXVlIHRoZSBjaGFubmVsCisJCSAqLwogCQlpZiAoZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmNoYWluX3N0YXRlID09CiAJCQkJCQlETUFfQ0hBSU5fTk9UU1RBUlRFRCkgewogCQkJLyogRW5hYmxlIHRoZSBsaW5rIGluIHByZXZpb3VzIGNoYW5uZWwgKi8KQEAgLTEzMTcsOCArMTQ4MywxMCBAQAogCQkJZG1hX2NoYW5bbGNoXS5zdGF0ZSA9IERNQV9DSF9RVUVVRUQ7CiAJCX0KIAotCQkvKiBDaGFpbiBpcyBhbHJlYWR5IHN0YXJ0ZWQsIG1ha2Ugc3VyZSBpdHMgYWN0aXZlLAotCQkgKiBpZiBub3QgdGhlbiBzdGFydCB0aGUgY2hhaW4gKi8KKwkJLyoKKwkJICogQ2hhaW4gaXMgYWxyZWFkeSBzdGFydGVkLCBtYWtlIHN1cmUgaXRzIGFjdGl2ZSwKKwkJICogaWYgbm90IHRoZW4gc3RhcnQgdGhlIGNoYWluCisJCSAqLwogCQllbHNlIHsKIAkJCXN0YXJ0X2RtYSA9IDE7CiAKQEAgLTEzMjcsOCArMTQ5NSw4IEBACiAJCQkJZW5hYmxlX2xuayhkbWFfY2hhbltsY2hdLnByZXZfbGlua2VkX2NoKTsKIAkJCQlkbWFfY2hhbltsY2hdLnN0YXRlID0gRE1BX0NIX1FVRVVFRDsKIAkJCQlzdGFydF9kbWEgPSAwOwotCQkJCWlmICgwID09ICgoMSA8PCA3KSAmIChPTUFQX0RNQV9DQ1JfUkVHCi0JCQkJCShkbWFfY2hhbltsY2hdLnByZXZfbGlua2VkX2NoKSkpKSB7CisJCQkJaWYgKDAgPT0gKCgxIDw8IDcpICYgZG1hX3JlYWQoCisJCQkJCUNDUihkbWFfY2hhbltsY2hdLnByZXZfbGlua2VkX2NoKSkpKSB7CiAJCQkJCWRpc2FibGVfbG5rKGRtYV9jaGFuW2xjaF0uCiAJCQkJCQkgICAgcHJldl9saW5rZWRfY2gpOwogCQkJCQlwcl9kZWJ1ZygiXG4gcHJldiBjaCBpcyBzdG9wcGVkXG4iKTsKQEAgLTEzNDQsMjcgKzE1MTIsMjggQEAKIAkJCX0KIAkJCW9tYXBfZW5hYmxlX2NoYW5uZWxfaXJxKGxjaCk7CiAKLQkJCXcgPSBPTUFQX0RNQV9DQ1JfUkVHKGxjaCk7CisJCQlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOwogCi0JCQlpZiAoKDAgPT0gKHcgJiAoMSA8PCAyNCkpKSkKLQkJCQl3ICY9IH4oMSA8PCAyNSk7CisJCQlpZiAoKDAgPT0gKGwgJiAoMSA8PCAyNCkpKSkKKwkJCQlsICY9IH4oMSA8PCAyNSk7CiAJCQllbHNlCi0JCQkJdyB8PSAoMSA8PCAyNSk7CisJCQkJbCB8PSAoMSA8PCAyNSk7CiAJCQlpZiAoc3RhcnRfZG1hID09IDEpIHsKLQkJCQlpZiAoMCA9PSAodyAmICgxIDw8IDcpKSkgewotCQkJCQl3IHw9ICgxIDw8IDcpOworCQkJCWlmICgwID09IChsICYgKDEgPDwgNykpKSB7CisJCQkJCWwgfD0gKDEgPDwgNyk7CiAJCQkJCWRtYV9jaGFuW2xjaF0uc3RhdGUgPSBETUFfQ0hfU1RBUlRFRDsKIAkJCQkJcHJfZGVidWcoInN0YXJ0aW5nICVkXG4iLCBsY2gpOwotCQkJCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSB3OworCQkJCQlkbWFfd3JpdGUobCwgQ0NSKGxjaCkpOwogCQkJCX0gZWxzZQogCQkJCQlzdGFydF9kbWEgPSAwOwogCQkJfSBlbHNlIHsKLQkJCQlpZiAoMCA9PSAodyAmICgxIDw8IDcpKSkKLQkJCQkJT01BUF9ETUFfQ0NSX1JFRyhsY2gpID0gdzsKKwkJCQlpZiAoMCA9PSAobCAmICgxIDw8IDcpKSkKKwkJCQkJZG1hX3dyaXRlKGwsIENDUihsY2gpKTsKIAkJCX0KIAkJCWRtYV9jaGFuW2xjaF0uZmxhZ3MgfD0gT01BUF9ETUFfQUNUSVZFOwogCQl9CiAJfQorCiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZG1hX2NoYWluX2FfdHJhbnNmZXIpOwpAQCAtMTM4MCw5ICsxNTQ5LDkgQEAKIGludCBvbWFwX3N0YXJ0X2RtYV9jaGFpbl90cmFuc2ZlcnMoaW50IGNoYWluX2lkKQogewogCWludCAqY2hhbm5lbHM7Ci0JdTMyIHcsIGk7CisJdTMyIGwsIGk7CiAKLQlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYWluIGlkXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTQwNCwxOCArMTU3MywxOSBAQAogCQlvbWFwX2VuYWJsZV9jaGFubmVsX2lycShjaGFubmVsc1swXSk7CiAJfQogCi0JdyA9IE9NQVBfRE1BX0NDUl9SRUcoY2hhbm5lbHNbMF0pOwotCXcgfD0gKDEgPDwgNyk7CisJbCA9IGRtYV9yZWFkKENDUihjaGFubmVsc1swXSkpOworCWwgfD0gKDEgPDwgNyk7CiAJZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmNoYWluX3N0YXRlID0gRE1BX0NIQUlOX1NUQVJURUQ7CiAJZG1hX2NoYW5bY2hhbm5lbHNbMF1dLnN0YXRlID0gRE1BX0NIX1NUQVJURUQ7CiAKLQlpZiAoKDAgPT0gKHcgJiAoMSA8PCAyNCkpKSkKLQkJdyAmPSB+KDEgPDwgMjUpOworCWlmICgoMCA9PSAobCAmICgxIDw8IDI0KSkpKQorCQlsICY9IH4oMSA8PCAyNSk7CiAJZWxzZQotCQl3IHw9ICgxIDw8IDI1KTsKLQlPTUFQX0RNQV9DQ1JfUkVHKGNoYW5uZWxzWzBdKSA9IHc7CisJCWwgfD0gKDEgPDwgMjUpOworCWRtYV93cml0ZShsLCBDQ1IoY2hhbm5lbHNbMF0pKTsKIAogCWRtYV9jaGFuW2NoYW5uZWxzWzBdXS5mbGFncyB8PSBPTUFQX0RNQV9BQ1RJVkU7CisKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wob21hcF9zdGFydF9kbWFfY2hhaW5fdHJhbnNmZXJzKTsKQEAgLTE0MzEsMTEgKzE2MDEsMTEgQEAKIGludCBvbWFwX3N0b3BfZG1hX2NoYWluX3RyYW5zZmVycyhpbnQgY2hhaW5faWQpCiB7CiAJaW50ICpjaGFubmVsczsKLQl1MzIgdywgaTsKKwl1MzIgbCwgaTsKIAl1MzIgc3lzX2NmOwogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwotCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xNDQ3LDIxICsxNjE3LDIyIEBACiAJfQogCWNoYW5uZWxzID0gZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmxpbmtlZF9kbWFjaF9xOwogCi0JLyogRE1BIEVycmF0YToKKwkvKgorCSAqIERNQSBFcnJhdGE6CiAJICogU3BlY2lhbCBwcm9ncmFtbWluZyBtb2RlbCBuZWVkZWQgdG8gZGlzYWJsZSBETUEgYmVmb3JlIGVuZCBvZiBibG9jawogCSAqLwotCXN5c19jZiA9IG9tYXBfcmVhZGwoT01BUF9ETUE0X09DUF9TWVNDT05GSUcpOwotCXcgPSBzeXNfY2Y7CisJc3lzX2NmID0gZG1hX3JlYWQoT0NQX1NZU0NPTkZJRyk7CisJbCA9IHN5c19jZjsKIAkvKiBNaWRkbGUgbW9kZSByZWcgc2V0IG5vIFN0YW5kYnkgKi8KLQl3ICY9IH4oKDEgPDwgMTIpfCgxIDw8IDEzKSk7Ci0Jb21hcF93cml0ZWwodywgT01BUF9ETUE0X09DUF9TWVNDT05GSUcpOworCWwgJj0gfigoMSA8PCAxMil8KDEgPDwgMTMpKTsKKwlkbWFfd3JpdGUobCwgT0NQX1NZU0NPTkZJRyk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLm5vX29mX2xjaHNfbGlua2VkOyBpKyspIHsKIAogCQkvKiBTdG9wIHRoZSBDaGFubmVsIHRyYW5zbWlzc2lvbiAqLwotCQl3ID0gT01BUF9ETUFfQ0NSX1JFRyhjaGFubmVsc1tpXSk7Ci0JCXcgJj0gfigxIDw8IDcpOwotCQlPTUFQX0RNQV9DQ1JfUkVHKGNoYW5uZWxzW2ldKSA9IHc7CisJCWwgPSBkbWFfcmVhZChDQ1IoY2hhbm5lbHNbaV0pKTsKKwkJbCAmPSB+KDEgPDwgNyk7CisJCWRtYV93cml0ZShsLCBDQ1IoY2hhbm5lbHNbaV0pKTsKIAogCQkvKiBEaXNhYmxlIHRoZSBsaW5rIGluIGFsbCB0aGUgY2hhbm5lbHMgKi8KIAkJZGlzYWJsZV9sbmsoY2hhbm5lbHNbaV0pOwpAQCAtMTQ3NCw3ICsxNjQ1LDggQEAKIAlPTUFQX0RNQV9DSEFJTl9RSU5JVChjaGFpbl9pZCk7CiAKIAkvKiBFcnJhdGEgLSBwdXQgaW4gdGhlIG9sZCB2YWx1ZSAqLwotCW9tYXBfd3JpdGVsKHN5c19jZiwgT01BUF9ETUE0X09DUF9TWVNDT05GSUcpOworCWRtYV93cml0ZShzeXNfY2YsIE9DUF9TWVNDT05GSUcpOworCiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfc3RvcF9kbWFfY2hhaW5fdHJhbnNmZXJzKTsKQEAgLTE0OTcsNyArMTY2OSw3IEBACiAJaW50ICpjaGFubmVsczsKIAogCS8qIENoZWNrIGZvciBpbnB1dCBwYXJhbXMgKi8KLQlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYWluIGlkXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTUxNSw4ICsxNjg3LDggQEAKIAkvKiBHZXQgdGhlIGN1cnJlbnQgY2hhbm5lbCAqLwogCWxjaCA9IGNoYW5uZWxzW2RtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5xX2hlYWRdOwogCi0JKmVpID0gT01BUDJfRE1BX0NDRU5fUkVHKGxjaCk7Ci0JKmZpID0gT01BUDJfRE1BX0NDRk5fUkVHKGxjaCk7CisJKmVpID0gZG1hX3JlYWQoQ0NFTihsY2gpKTsKKwkqZmkgPSBkbWFfcmVhZChDQ0ZOKGxjaCkpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNTM3LDcgKzE3MDksNyBAQAogCWludCAqY2hhbm5lbHM7CiAKIAkvKiBDaGVjayBmb3IgaW5wdXQgcGFyYW1zICovCi0JaWYgKHVubGlrZWx5KChjaGFpbl9pZCA8IDAgfHwgY2hhaW5faWQgPj0gT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVCkpKSB7CisJaWYgKHVubGlrZWx5KChjaGFpbl9pZCA8IDAgfHwgY2hhaW5faWQgPj0gZG1hX2xjaF9jb3VudCkpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiSW52YWxpZCBjaGFpbiBpZFxuIik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KQEAgLTE1NTMsNyArMTcyNSw3IEBACiAJLyogR2V0IHRoZSBjdXJyZW50IGNoYW5uZWwgKi8KIAlsY2ggPSBjaGFubmVsc1tkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0ucV9oZWFkXTsKIAotCXJldHVybiAoT01BUF9ETUFfQ0RBQ19SRUcobGNoKSk7CisJcmV0dXJuIGRtYV9yZWFkKENEQUMobGNoKSk7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9jaGFpbl9kc3RfcG9zKTsKIApAQCAtMTU3MSw3ICsxNzQzLDcgQEAKIAlpbnQgKmNoYW5uZWxzOwogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwotCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xNTg3LDEwICsxNzU5LDEwIEBACiAJLyogR2V0IHRoZSBjdXJyZW50IGNoYW5uZWwgKi8KIAlsY2ggPSBjaGFubmVsc1tkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0ucV9oZWFkXTsKIAotCXJldHVybiAoT01BUF9ETUFfQ1NBQ19SRUcobGNoKSk7CisJcmV0dXJuIGRtYV9yZWFkKENTQUMobGNoKSk7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9jaGFpbl9zcmNfcG9zKTsKLSNlbmRpZgorI2VuZGlmCS8qIGlmbmRlZiBDT05GSUdfQVJDSF9PTUFQMSAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0xNTk4LDEzICsxNzcwLDEzIEBACiAKIHN0YXRpYyBpbnQgb21hcDFfZG1hX2hhbmRsZV9jaChpbnQgY2gpCiB7Ci0JdTE2IGNzcjsKKwl1MzIgY3NyOwogCiAJaWYgKGVuYWJsZV8xNTEwX21vZGUgJiYgY2ggPj0gNikgewogCQljc3IgPSBkbWFfY2hhbltjaF0uc2F2ZWRfY3NyOwogCQlkbWFfY2hhbltjaF0uc2F2ZWRfY3NyID0gMDsKIAl9IGVsc2UKLQkJY3NyID0gT01BUF9ETUFfQ1NSX1JFRyhjaCk7CisJCWNzciA9IGRtYV9yZWFkKENTUihjaCkpOwogCWlmIChlbmFibGVfMTUxMF9tb2RlICYmIGNoIDw9IDIgJiYgKGNzciA+PiA3KSAhPSAwKSB7CiAJCWRtYV9jaGFuW2NoICsgNl0uc2F2ZWRfY3NyID0gY3NyID4+IDc7CiAJCWNzciAmPSAweDdmOwpAQCAtMTYyNiw2ICsxNzk4LDcgQEAKIAkJZG1hX2NoYW5bY2hdLmZsYWdzICY9IH5PTUFQX0RNQV9BQ1RJVkU7CiAJaWYgKGxpa2VseShkbWFfY2hhbltjaF0uY2FsbGJhY2sgIT0gTlVMTCkpCiAJCWRtYV9jaGFuW2NoXS5jYWxsYmFjayhjaCwgY3NyLCBkbWFfY2hhbltjaF0uZGF0YSk7CisKIAlyZXR1cm4gMTsKIH0KIApAQCAtMTY1NiwxMiArMTgyOSwxMyBAQAogCiBzdGF0aWMgaW50IG9tYXAyX2RtYV9oYW5kbGVfY2goaW50IGNoKQogewotCXUzMiBzdGF0dXMgPSBPTUFQX0RNQV9DU1JfUkVHKGNoKTsKKwl1MzIgc3RhdHVzID0gZG1hX3JlYWQoQ1NSKGNoKSk7CiAKIAlpZiAoIXN0YXR1cykgewogCQlpZiAocHJpbnRrX3JhdGVsaW1pdCgpKQotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiU3B1cmlvdXMgRE1BIElSUSBmb3IgbGNoICVkXG4iLCBjaCk7Ci0JCW9tYXBfd3JpdGVsKDEgPDwgY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiU3B1cmlvdXMgRE1BIElSUSBmb3IgbGNoICVkXG4iLAorCQkJCWNoKTsKKwkJZG1hX3dyaXRlKDEgPDwgY2gsIElSUVNUQVRVU19MMCk7CiAJCXJldHVybiAwOwogCX0KIAlpZiAodW5saWtlbHkoZG1hX2NoYW5bY2hdLmRldl9pZCA9PSAtMSkpIHsKQEAgLTE2ODQsMTQgKzE4NTgsMTQgQEAKIAkJcHJpbnRrKEtFUk5fSU5GTyAiRE1BIG1pc2FsaWduZWQgZXJyb3Igd2l0aCBkZXZpY2UgJWRcbiIsCiAJCSAgICAgICBkbWFfY2hhbltjaF0uZGV2X2lkKTsKIAotCU9NQVBfRE1BX0NTUl9SRUcoY2gpID0gT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLOwotCW9tYXBfd3JpdGVsKDEgPDwgY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCWRtYV93cml0ZShPTUFQMl9ETUFfQ1NSX0NMRUFSX01BU0ssIENTUihjaCkpOworCWRtYV93cml0ZSgxIDw8IGNoLCBJUlFTVEFUVVNfTDApOwogCiAJLyogSWYgdGhlIGNoIGlzIG5vdCBjaGFpbmVkIHRoZW4gY2hhaW5faWQgd2lsbCBiZSAtMSAqLwogCWlmIChkbWFfY2hhbltjaF0uY2hhaW5faWQgIT0gLTEpIHsKIAkJaW50IGNoYWluX2lkID0gZG1hX2NoYW5bY2hdLmNoYWluX2lkOwogCQlkbWFfY2hhbltjaF0uc3RhdGUgPSBETUFfQ0hfTk9UU1RBUlRFRDsKLQkJaWYgKE9NQVBfRE1BX0NMTktfQ1RSTF9SRUcoY2gpICYgKDEgPDwgMTUpKQorCQlpZiAoZG1hX3JlYWQoQ0xOS19DVFJMKGNoKSkgJiAoMSA8PCAxNSkpCiAJCQlkbWFfY2hhbltkbWFfY2hhbltjaF0ubmV4dF9saW5rZWRfY2hdLnN0YXRlID0KIAkJCQkJCQlETUFfQ0hfU1RBUlRFRDsKIAkJaWYgKGRtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5jaGFpbl9tb2RlID09CkBAIC0xNzAxLDEzICsxODc1LDEzIEBACiAJCWlmICghT01BUF9ETUFfQ0hBSU5fUUVNUFRZKGNoYWluX2lkKSkKIAkJCU9NQVBfRE1BX0NIQUlOX0lOQ1FIRUFEKGNoYWluX2lkKTsKIAotCQlzdGF0dXMgPSBPTUFQX0RNQV9DU1JfUkVHKGNoKTsKKwkJc3RhdHVzID0gZG1hX3JlYWQoQ1NSKGNoKSk7CiAJfQogCiAJaWYgKGxpa2VseShkbWFfY2hhbltjaF0uY2FsbGJhY2sgIT0gTlVMTCkpCiAJCWRtYV9jaGFuW2NoXS5jYWxsYmFjayhjaCwgc3RhdHVzLCBkbWFfY2hhbltjaF0uZGF0YSk7CiAKLQlPTUFQX0RNQV9DU1JfUkVHKGNoKSA9IHN0YXR1czsKKwlkbWFfd3JpdGUoc3RhdHVzLCBDU1IoY2gpKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTcxOCwxMyArMTg5MiwxMyBAQAogCXUzMiB2YWw7CiAJaW50IGk7CiAKLQl2YWwgPSBvbWFwX3JlYWRsKE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCXZhbCA9IGRtYV9yZWFkKElSUVNUQVRVU19MMCk7CiAJaWYgKHZhbCA9PSAwKSB7CiAJCWlmIChwcmludGtfcmF0ZWxpbWl0KCkpCiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICJTcHVyaW91cyBETUEgSVJRXG4iKTsKIAkJcmV0dXJuIElSUV9IQU5ETEVEOwogCX0KLQlmb3IgKGkgPSAwOyBpIDwgT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVCAmJiB2YWwgIT0gMDsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGRtYV9sY2hfY291bnQgJiYgdmFsICE9IDA7IGkrKykgewogCQlpZiAodmFsICYgMSkKIAkJCW9tYXAyX2RtYV9oYW5kbGVfY2goaSk7CiAJCXZhbCA+Pj0gMTsKQEAgLTE3NDgsNyArMTkyMiw3IEBACiBzdGF0aWMgc3RydWN0IGxjZF9kbWFfaW5mbyB7CiAJc3BpbmxvY2tfdCBsb2NrOwogCWludCByZXNlcnZlZDsKLQl2b2lkICgqIGNhbGxiYWNrKSh1MTYgc3RhdHVzLCB2b2lkICpkYXRhKTsKKwl2b2lkICgqY2FsbGJhY2spKHUxNiBzdGF0dXMsIHZvaWQgKmRhdGEpOwogCXZvaWQgKmNiX2RhdGE7CiAKIAlpbnQgYWN0aXZlOwpAQCAtMTc3MCw2ICsxOTQ0LDcgQEAKIAlsY2RfZG1hLnhyZXMgPSBmYl94cmVzOwogCWxjZF9kbWEueXJlcyA9IGZiX3lyZXM7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfYjEpOwogCiB2b2lkIG9tYXBfc2V0X2xjZF9kbWFfc3JjX3BvcnQoaW50IHBvcnQpCiB7CkBAIC0xNzgwLDEyICsxOTU1LDEzIEBACiB7CiAJbGNkX2RtYS5leHRfY3RybCA9IGV4dGVybmFsOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2V4dF9jb250cm9sbGVyKTsKIAogdm9pZCBvbWFwX3NldF9sY2RfZG1hX3NpbmdsZV90cmFuc2ZlcihpbnQgc2luZ2xlKQogewogCWxjZF9kbWEuc2luZ2xlX3RyYW5zZmVyID0gc2luZ2xlOwogfQotCitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfc2luZ2xlX3RyYW5zZmVyKTsKIAogdm9pZCBvbWFwX3NldF9sY2RfZG1hX2IxX3JvdGF0aW9uKGludCByb3RhdGUpCiB7CkBAIC0xNzk2LDYgKzE5NzIsNyBAQAogCX0KIAlsY2RfZG1hLnJvdGF0ZSA9IHJvdGF0ZTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfbGNkX2RtYV9iMV9yb3RhdGlvbik7CiAKIHZvaWQgb21hcF9zZXRfbGNkX2RtYV9iMV9taXJyb3IoaW50IG1pcnJvcikKIHsKQEAgLTE4MDUsNiArMTk4Miw3IEBACiAJfQogCWxjZF9kbWEubWlycm9yID0gbWlycm9yOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX21pcnJvcik7CiAKIHZvaWQgb21hcF9zZXRfbGNkX2RtYV9iMV92eHJlcyh1bnNpZ25lZCBsb25nIHZ4cmVzKQogewpAQCAtMTgxNSw2ICsxOTkzLDcgQEAKIAl9CiAJbGNkX2RtYS52eHJlcyA9IHZ4cmVzOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX3Z4cmVzKTsKIAogdm9pZCBvbWFwX3NldF9sY2RfZG1hX2IxX3NjYWxlKHVuc2lnbmVkIGludCB4c2NhbGUsIHVuc2lnbmVkIGludCB5c2NhbGUpCiB7CkBAIC0xODI1LDYgKzIwMDQsNyBAQAogCWxjZF9kbWEueHNjYWxlID0geHNjYWxlOwogCWxjZF9kbWEueXNjYWxlID0geXNjYWxlOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX3NjYWxlKTsKIAogc3RhdGljIHZvaWQgc2V0X2IxX3JlZ3Modm9pZCkKIHsKQEAgLTE4NTUsOCArMjAzNSwxMSBAQAogCXhzY2FsZSA9IGxjZF9kbWEueHNjYWxlID8gbGNkX2RtYS54c2NhbGUgOiAxOwogCXlzY2FsZSA9IGxjZF9kbWEueXNjYWxlID8gbGNkX2RtYS55c2NhbGUgOiAxOwogCUJVR19PTih2eHJlcyA8IGxjZF9kbWEueHJlcyk7Ci0jZGVmaW5lIFBJWEFERFIoeCx5KSAobGNkX2RtYS5hZGRyICsgKCh5KSAqIHZ4cmVzICogeXNjYWxlICsgKHgpICogeHNjYWxlKSAqIGVzKQorCisjZGVmaW5lIFBJWEFERFIoeCwgeSkgKGxjZF9kbWEuYWRkciArCQkJCQlcCisJCSgoeSkgKiB2eHJlcyAqIHlzY2FsZSArICh4KSAqIHhzY2FsZSkgKiBlcykKICNkZWZpbmUgUElYU1RFUChzeCwgc3ksIGR4LCBkeSkgKFBJWEFERFIoZHgsIGR5KSAtIFBJWEFERFIoc3gsIHN5KSAtIGVzICsgMSkKKwogCXN3aXRjaCAobGNkX2RtYS5yb3RhdGUpIHsKIAljYXNlIDA6CiAJCWlmICghbGNkX2RtYS5taXJyb3IpIHsKQEAgLTE4NjUsOCArMjA0OCw4IEBACiAJCQkvKiAxNTEwIERNQSByZXF1aXJlcyB0aGUgYm90dG9tIGFkZHJlc3MgdG8gYmUgMiBtb3JlCiAJCQkgKiB0aGFuIHRoZSBhY3R1YWwgbGFzdCBtZW1vcnkgYWNjZXNzIGxvY2F0aW9uLiAqLwogCQkJaWYgKG9tYXBfZG1hX2luXzE1MTBfbW9kZSgpICYmCi0JCQkgICAgbGNkX2RtYS5kYXRhX3R5cGUgPT0gT01BUF9ETUFfREFUQV9UWVBFX1MzMikKLQkJCQlib3R0b20gKz0gMjsKKwkJCQlsY2RfZG1hLmRhdGFfdHlwZSA9PSBPTUFQX0RNQV9EQVRBX1RZUEVfUzMyKQorCQkJCQlib3R0b20gKz0gMjsKIAkJCWVpID0gUElYU1RFUCgwLCAwLCAxLCAwKTsKIAkJCWZpID0gUElYU1RFUChsY2RfZG1hLnhyZXMgLSAxLCAwLCAwLCAxKTsKIAkJfSBlbHNlIHsKQEAgLTE5OTMsNyArMjE3Niw3IEBACiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCi1pbnQgb21hcF9yZXF1ZXN0X2xjZF9kbWEodm9pZCAoKiBjYWxsYmFjaykodTE2IHN0YXR1cywgdm9pZCAqZGF0YSksCitpbnQgb21hcF9yZXF1ZXN0X2xjZF9kbWEodm9pZCAoKmNhbGxiYWNrKSh1MTYgc3RhdHVzLCB2b2lkICpkYXRhKSwKIAkJCSB2b2lkICpkYXRhKQogewogCXNwaW5fbG9ja19pcnEoJmxjZF9kbWEubG9jayk7CkBAIC0yMDE5LDYgKzIyMDIsNyBAQAogCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfcmVxdWVzdF9sY2RfZG1hKTsKIAogdm9pZCBvbWFwX2ZyZWVfbGNkX2RtYSh2b2lkKQogewpAQCAtMjAzNSwxMiArMjIxOSwxNCBAQAogCWxjZF9kbWEucmVzZXJ2ZWQgPSAwOwogCXNwaW5fdW5sb2NrKCZsY2RfZG1hLmxvY2spOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2ZyZWVfbGNkX2RtYSk7CiAKIHZvaWQgb21hcF9lbmFibGVfbGNkX2RtYSh2b2lkKQogewogCXUxNiB3OwogCi0JLyogU2V0IHRoZSBFbmFibGUgYml0IG9ubHkgaWYgYW4gZXh0ZXJuYWwgY29udHJvbGxlciBpcworCS8qCisJICogU2V0IHRoZSBFbmFibGUgYml0IG9ubHkgaWYgYW4gZXh0ZXJuYWwgY29udHJvbGxlciBpcwogCSAqIGNvbm5lY3RlZC4gT3RoZXJ3aXNlIHRoZSBPTUFQIGludGVybmFsIGNvbnRyb2xsZXIgd2lsbAogCSAqIHN0YXJ0IHRoZSB0cmFuc2ZlciB3aGVuIGl0IGdldHMgZW5hYmxlZC4KIAkgKi8KQEAgLTIwNTcsNiArMjI0Myw3IEBACiAJdyB8PSAxIDw8IDc7CiAJb21hcF93cml0ZXcodywgT01BUDE2MTBfRE1BX0xDRF9DQ1IpOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2VuYWJsZV9sY2RfZG1hKTsKIAogdm9pZCBvbWFwX3NldHVwX2xjZF9kbWEodm9pZCkKIHsKQEAgLTIwNzIsMTYgKzIyNTksMTggQEAKIAkJdTE2IHc7CiAKIAkJdyA9IG9tYXBfcmVhZHcoT01BUDE2MTBfRE1BX0xDRF9DQ1IpOwotCQkvKiBJZiBETUEgd2FzIGFscmVhZHkgYWN0aXZlIHNldCB0aGUgZW5kX3Byb2cgYml0IHRvIGhhdmUKKwkJLyoKKwkJICogSWYgRE1BIHdhcyBhbHJlYWR5IGFjdGl2ZSBzZXQgdGhlIGVuZF9wcm9nIGJpdCB0byBoYXZlCiAJCSAqIHRoZSBwcm9ncmFtbWVkIHJlZ2lzdGVyIHNldCBsb2FkZWQgaW50byB0aGUgYWN0aXZlCiAJCSAqIHJlZ2lzdGVyIHNldC4KIAkJICovCiAJCXcgfD0gMSA8PCAxMTsJCS8qIEVuZF9wcm9nICovCiAJCWlmICghbGNkX2RtYS5zaW5nbGVfdHJhbnNmZXIpCi0JICAgICAgICAJdyB8PSAoMyA8PCA4KTsJLyogQXV0b19pbml0LCByZXBlYXQgKi8KKwkJCXcgfD0gKDMgPDwgOCk7CS8qIEF1dG9faW5pdCwgcmVwZWF0ICovCiAJCW9tYXBfd3JpdGV3KHcsIE9NQVAxNjEwX0RNQV9MQ0RfQ0NSKTsKIAl9CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0dXBfbGNkX2RtYSk7CiAKIHZvaWQgb21hcF9zdG9wX2xjZF9kbWEodm9pZCkKIHsKQEAgLTIwOTksNiArMjI4OCw3IEBACiAJdyAmPSB+KDEgPDwgOCk7CiAJb21hcF93cml0ZXcodywgT01BUDE2MTBfRE1BX0xDRF9DVFJMKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zdG9wX2xjZF9kbWEpOwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0yMTA2LDI3ICsyMjk2LDU1IEBACiB7CiAJaW50IGNoLCByOwogCisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7CisJCW9tYXBfZG1hX2Jhc2UgPSAodm9pZCBfX2lvbWVtICopSU9fQUREUkVTUyhPTUFQMV9ETUFfQkFTRSk7CisJCWRtYV9sY2hfY291bnQgPSBPTUFQMV9MT0dJQ0FMX0RNQV9DSF9DT1VOVDsKKwl9IGVsc2UgaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7CisJCW9tYXBfZG1hX2Jhc2UgPSAodm9pZCBfX2lvbWVtICopSU9fQUREUkVTUyhPTUFQMjRYWF9ETUE0X0JBU0UpOworCQlkbWFfbGNoX2NvdW50ID0gT01BUF9ETUE0X0xPR0lDQUxfRE1BX0NIX0NPVU5UOworCX0gZWxzZSBpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJb21hcF9kbWFfYmFzZSA9ICh2b2lkIF9faW9tZW0gKilJT19BRERSRVNTKE9NQVAzNFhYX0RNQTRfQkFTRSk7CisJCWRtYV9sY2hfY291bnQgPSBPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlQ7CisJfSBlbHNlIHsKKwkJcHJfZXJyKCJETUEgaW5pdCBmYWlsZWQgZm9yIHVuc3VwcG9ydGVkIG9tYXBcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlkbWFfY2hhbiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBvbWFwX2RtYV9sY2gpICogZG1hX2xjaF9jb3VudCwKKwkJCQlHRlBfS0VSTkVMKTsKKwlpZiAoIWRtYV9jaGFuKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgeworCQlkbWFfbGlua2VkX2xjaCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBkbWFfbGlua19pbmZvKSAqCisJCQkJCQlkbWFfbGNoX2NvdW50LCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFkbWFfbGlua2VkX2xjaCkgeworCQkJa2ZyZWUoZG1hX2NoYW4pOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKwl9CisKIAlpZiAoY3B1X2lzX29tYXAxNXh4KCkpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiRE1BIHN1cHBvcnQgZm9yIE9NQVAxNXh4IGluaXRpYWxpemVkXG4iKTsKIAkJZG1hX2NoYW5fY291bnQgPSA5OwogCQllbmFibGVfMTUxMF9tb2RlID0gMTsKIAl9IGVsc2UgaWYgKGNwdV9pc19vbWFwMTZ4eCgpIHx8IGNwdV9pc19vbWFwNzMwKCkpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiT01BUCBETUEgaGFyZHdhcmUgdmVyc2lvbiAlZFxuIiwKLQkJICAgICAgIG9tYXBfcmVhZHcoT01BUF9ETUFfSFdfSUQpKTsKKwkJICAgICAgIGRtYV9yZWFkKEhXX0lEKSk7CiAJCXByaW50ayhLRVJOX0lORk8gIkRNQSBjYXBhYmlsaXRpZXM6ICUwOHg6JTA4eDolMDR4OiUwNHg6JTA0eFxuIiwKLQkJICAgICAgIChvbWFwX3JlYWR3KE9NQVBfRE1BX0NBUFNfMF9VKSA8PCAxNikgfAotCQkgICAgICAgb21hcF9yZWFkdyhPTUFQX0RNQV9DQVBTXzBfTCksCi0JCSAgICAgICAob21hcF9yZWFkdyhPTUFQX0RNQV9DQVBTXzFfVSkgPDwgMTYpIHwKLQkJICAgICAgIG9tYXBfcmVhZHcoT01BUF9ETUFfQ0FQU18xX0wpLAotCQkgICAgICAgb21hcF9yZWFkdyhPTUFQX0RNQV9DQVBTXzIpLCBvbWFwX3JlYWR3KE9NQVBfRE1BX0NBUFNfMyksCi0JCSAgICAgICBvbWFwX3JlYWR3KE9NQVBfRE1BX0NBUFNfNCkpOworCQkgICAgICAgKGRtYV9yZWFkKENBUFNfMF9VKSA8PCAxNikgfAorCQkgICAgICAgZG1hX3JlYWQoQ0FQU18wX0wpLAorCQkgICAgICAgKGRtYV9yZWFkKENBUFNfMV9VKSA8PCAxNikgfAorCQkgICAgICAgZG1hX3JlYWQoQ0FQU18xX0wpLAorCQkgICAgICAgZG1hX3JlYWQoQ0FQU18yKSwgZG1hX3JlYWQoQ0FQU18zKSwKKwkJICAgICAgIGRtYV9yZWFkKENBUFNfNCkpOwogCQlpZiAoIWVuYWJsZV8xNTEwX21vZGUpIHsKIAkJCXUxNiB3OwogCiAJCQkvKiBEaXNhYmxlIE9NQVAgMy4wLzMuMSBjb21wYXRpYmlsaXR5IG1vZGUuICovCi0JCQl3ID0gb21hcF9yZWFkdyhPTUFQX0RNQV9HU0NSKTsKKwkJCXcgPSBkbWFfcmVhZChHU0NSKTsKIAkJCXcgfD0gMSA8PCAzOwotCQkJb21hcF93cml0ZXcodywgT01BUF9ETUFfR1NDUik7CisJCQlkbWFfd3JpdGUodywgR1NDUik7CiAJCQlkbWFfY2hhbl9jb3VudCA9IDE2OwogCQl9IGVsc2UKIAkJCWRtYV9jaGFuX2NvdW50ID0gOTsKQEAgLTIxMzksMTkgKzIzNTcsMTcgQEAKIAkJCW9tYXBfd3JpdGV3KHcsIE9NQVAxNjEwX0RNQV9MQ0RfQ1RSTCk7CiAJCX0KIAl9IGVsc2UgaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKSB7Ci0JCXU4IHJldmlzaW9uID0gb21hcF9yZWFkYihPTUFQX0RNQTRfUkVWSVNJT04pOworCQl1OCByZXZpc2lvbiA9IGRtYV9yZWFkKFJFVklTSU9OKSAmIDB4ZmY7CiAJCXByaW50ayhLRVJOX0lORk8gIk9NQVAgRE1BIGhhcmR3YXJlIHJldmlzaW9uICVkLiVkXG4iLAogCQkgICAgICAgcmV2aXNpb24gPj4gNCwgcmV2aXNpb24gJiAweGYpOwotCQlkbWFfY2hhbl9jb3VudCA9IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQ7CisJCWRtYV9jaGFuX2NvdW50ID0gT01BUF9ETUE0X0xPR0lDQUxfRE1BX0NIX0NPVU5UOwogCX0gZWxzZSB7CiAJCWRtYV9jaGFuX2NvdW50ID0gMDsKIAkJcmV0dXJuIDA7CiAJfQogCi0JbWVtc2V0KCZsY2RfZG1hLCAwLCBzaXplb2YobGNkX2RtYSkpOwogCXNwaW5fbG9ja19pbml0KCZsY2RfZG1hLmxvY2spOwogCXNwaW5fbG9ja19pbml0KCZkbWFfY2hhbl9sb2NrKTsKLQltZW1zZXQoJmRtYV9jaGFuLCAwLCBzaXplb2YoZG1hX2NoYW4pKTsKIAogCWZvciAoY2ggPSAwOyBjaCA8IGRtYV9jaGFuX2NvdW50OyBjaCsrKSB7CiAJCW9tYXBfY2xlYXJfZG1hKGNoKTsKQEAgLTIxNjIsOCArMjM3OCwxMCBAQAogCQkJY29udGludWU7CiAKIAkJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7Ci0JCQkvKiByZXF1ZXN0X2lycSgpIGRvZXNuJ3QgbGlrZSBkZXZfaWQgKGllLiBjaCkgYmVpbmcKLQkJCSAqIHplcm8sIHNvIHdlIGhhdmUgdG8ga2x1ZGdlIGFyb3VuZCB0aGlzLiAqLworCQkJLyoKKwkJCSAqIHJlcXVlc3RfaXJxKCkgZG9lc24ndCBsaWtlIGRldl9pZCAoaWUuIGNoKSBiZWluZworCQkJICogemVybywgc28gd2UgaGF2ZSB0byBrbHVkZ2UgYXJvdW5kIHRoaXMuCisJCQkgKi8KIAkJCXIgPSByZXF1ZXN0X2lycShvbWFwMV9kbWFfaXJxW2NoXSwKIAkJCQkJb21hcDFfZG1hX2lycV9oYW5kbGVyLCAwLCAiRE1BIiwKIAkJCQkJKHZvaWQgKikgKGNoICsgMSkpOwpAQCAtMjIwOCw0OCArMjQyNiw0IEBACiAKIGFyY2hfaW5pdGNhbGwob21hcF9pbml0X2RtYSk7CiAKLUVYUE9SVF9TWU1CT0wob21hcF9nZXRfZG1hX3NyY19wb3MpOwotRVhQT1JUX1NZTUJPTChvbWFwX2dldF9kbWFfZHN0X3Bvcyk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9zcmNfYWRkcl9jb3VudGVyKTsKLUVYUE9SVF9TWU1CT0wob21hcF9jbGVhcl9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfcHJpb3JpdHkpOwotRVhQT1JUX1NZTUJPTChvbWFwX3JlcXVlc3RfZG1hKTsKLUVYUE9SVF9TWU1CT0wob21hcF9mcmVlX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc3RhcnRfZG1hKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zdG9wX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jYWxsYmFjayk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfZW5hYmxlX2RtYV9pcnEpOwotRVhQT1JUX1NZTUJPTChvbWFwX2Rpc2FibGVfZG1hX2lycSk7Ci0KLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3RyYW5zZmVyX3BhcmFtcyk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jb2xvcl9tb2RlKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3dyaXRlX21vZGUpOwotCi1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfcGFyYW1zKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3NyY19pbmRleCk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfZGF0YV9wYWNrKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3NyY19idXJzdF9tb2RlKTsKLQotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfZGVzdF9wYXJhbXMpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfZGVzdF9pbmRleCk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9kZXN0X2RhdGFfcGFjayk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9kZXN0X2J1cnN0X21vZGUpOwotCi1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9wYXJhbXMpOwotCi1FWFBPUlRfU1lNQk9MKG9tYXBfZG1hX2xpbmtfbGNoKTsKLUVYUE9SVF9TWU1CT0wob21hcF9kbWFfdW5saW5rX2xjaCk7Ci0KLUVYUE9SVF9TWU1CT0wob21hcF9yZXF1ZXN0X2xjZF9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX2ZyZWVfbGNkX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfZW5hYmxlX2xjZF9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldHVwX2xjZF9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3N0b3BfbGNkX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfYjEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX3NpbmdsZV90cmFuc2Zlcik7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfZXh0X2NvbnRyb2xsZXIpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX3JvdGF0aW9uKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfbGNkX2RtYV9iMV92eHJlcyk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfYjFfc2NhbGUpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX21pcnJvcik7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9kbXRpbWVyLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvZG10aW1lci5jCmluZGV4IDMwMmFkOGQuLmYyMjUwNmEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9kbXRpbWVyLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2RtdGltZXIuYwpAQCAtMzgsMzQgKzM4LDExMyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL2lycXMuaD4KIAogLyogcmVnaXN0ZXIgb2Zmc2V0cyAqLwotI2RlZmluZSBPTUFQX1RJTUVSX0lEX1JFRwkJMHgwMAotI2RlZmluZSBPTUFQX1RJTUVSX09DUF9DRkdfUkVHCQkweDEwCi0jZGVmaW5lIE9NQVBfVElNRVJfU1lTX1NUQVRfUkVHCQkweDE0Ci0jZGVmaW5lIE9NQVBfVElNRVJfU1RBVF9SRUcJCTB4MTgKLSNkZWZpbmUgT01BUF9USU1FUl9JTlRfRU5fUkVHCQkweDFjCi0jZGVmaW5lIE9NQVBfVElNRVJfV0FLRVVQX0VOX1JFRwkweDIwCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9SRUcJCTB4MjQKLSNkZWZpbmUgT01BUF9USU1FUl9DT1VOVEVSX1JFRwkJMHgyOAotI2RlZmluZSBPTUFQX1RJTUVSX0xPQURfUkVHCQkweDJjCi0jZGVmaW5lIE9NQVBfVElNRVJfVFJJR0dFUl9SRUcJCTB4MzAKLSNkZWZpbmUgT01BUF9USU1FUl9XUklURV9QRU5EX1JFRwkweDM0Ci0jZGVmaW5lIE9NQVBfVElNRVJfTUFUQ0hfUkVHCQkweDM4Ci0jZGVmaW5lIE9NQVBfVElNRVJfQ0FQVFVSRV9SRUcJCTB4M2MKLSNkZWZpbmUgT01BUF9USU1FUl9JRl9DVFJMX1JFRwkJMHg0MAorI2RlZmluZSBfT01BUF9USU1FUl9JRF9PRkZTRVQJCTB4MDAKKyNkZWZpbmUgX09NQVBfVElNRVJfT0NQX0NGR19PRkZTRVQJMHgxMAorI2RlZmluZSBfT01BUF9USU1FUl9TWVNfU1RBVF9PRkZTRVQJMHgxNAorI2RlZmluZSBfT01BUF9USU1FUl9TVEFUX09GRlNFVAkJMHgxOAorI2RlZmluZSBfT01BUF9USU1FUl9JTlRfRU5fT0ZGU0VUCTB4MWMKKyNkZWZpbmUgX09NQVBfVElNRVJfV0FLRVVQX0VOX09GRlNFVAkweDIwCisjZGVmaW5lIF9PTUFQX1RJTUVSX0NUUkxfT0ZGU0VUCQkweDI0CisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfR1BPQ0ZHCQkoMSA8PCAxNCkKKyNkZWZpbmUJCU9NQVBfVElNRVJfQ1RSTF9DQVBUTU9ERQkoMSA8PCAxMykKKyNkZWZpbmUJCU9NQVBfVElNRVJfQ1RSTF9QVAkJKDEgPDwgMTIpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfVENNX0xPV1RPSElHSAkoMHgxIDw8IDgpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfVENNX0hJR0hUT0xPVwkoMHgyIDw8IDgpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfVENNX0JPVEhFREdFUwkoMHgzIDw8IDgpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfU0NQV00JCSgxIDw8IDcpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfQ0UJCSgxIDw8IDYpIC8qIGNvbXBhcmUgZW5hYmxlICovCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfUFJFCQkoMSA8PCA1KSAvKiBwcmVzY2FsZXIgZW5hYmxlICovCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfUFRWX1NISUZUCTIgLyogcHJlc2NhbGVyIHZhbHVlIHNoaWZ0ICovCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfUE9TVEVECQkoMSA8PCAyKQorI2RlZmluZQkJT01BUF9USU1FUl9DVFJMX0FSCQkoMSA8PCAxKSAvKiBhdXRvLXJlbG9hZCBlbmFibGUgKi8KKyNkZWZpbmUJCU9NQVBfVElNRVJfQ1RSTF9TVAkJKDEgPDwgMCkgLyogc3RhcnQgdGltZXIgKi8KKyNkZWZpbmUgX09NQVBfVElNRVJfQ09VTlRFUl9PRkZTRVQJMHgyOAorI2RlZmluZSBfT01BUF9USU1FUl9MT0FEX09GRlNFVAkJMHgyYworI2RlZmluZSBfT01BUF9USU1FUl9UUklHR0VSX09GRlNFVAkweDMwCisjZGVmaW5lIF9PTUFQX1RJTUVSX1dSSVRFX1BFTkRfT0ZGU0VUCTB4MzQKKyNkZWZpbmUJCVdQX05PTkUJCQkwCS8qIG5vIHdyaXRlIHBlbmRpbmcgYml0ICovCisjZGVmaW5lCQlXUF9UQ0xSCQkJKDEgPDwgMCkKKyNkZWZpbmUJCVdQX1RDUlIJCQkoMSA8PCAxKQorI2RlZmluZQkJV1BfVExEUgkJCSgxIDw8IDIpCisjZGVmaW5lCQlXUF9UVEdSCQkJKDEgPDwgMykKKyNkZWZpbmUJCVdQX1RNQVIJCQkoMSA8PCA0KQorI2RlZmluZQkJV1BfVFBJUgkJCSgxIDw8IDUpCisjZGVmaW5lCQlXUF9UTklSCQkJKDEgPDwgNikKKyNkZWZpbmUJCVdQX1RDVlIJCQkoMSA8PCA3KQorI2RlZmluZQkJV1BfVE9DUgkJCSgxIDw8IDgpCisjZGVmaW5lCQlXUF9UT1dSCQkJKDEgPDwgOSkKKyNkZWZpbmUgX09NQVBfVElNRVJfTUFUQ0hfT0ZGU0VUCTB4MzgKKyNkZWZpbmUgX09NQVBfVElNRVJfQ0FQVFVSRV9PRkZTRVQJMHgzYworI2RlZmluZSBfT01BUF9USU1FUl9JRl9DVFJMX09GRlNFVAkweDQwCisjZGVmaW5lIF9PTUFQX1RJTUVSX0NBUFRVUkUyX09GRlNFVAkJMHg0NAkvKiBUQ0FSMiwgMzR4eCBvbmx5ICovCisjZGVmaW5lIF9PTUFQX1RJTUVSX1RJQ0tfUE9TX09GRlNFVAkJMHg0OAkvKiBUUElSLCAzNHh4IG9ubHkgKi8KKyNkZWZpbmUgX09NQVBfVElNRVJfVElDS19ORUdfT0ZGU0VUCQkweDRjCS8qIFROSVIsIDM0eHggb25seSAqLworI2RlZmluZSBfT01BUF9USU1FUl9USUNLX0NPVU5UX09GRlNFVAkJMHg1MAkvKiBUQ1ZSLCAzNHh4IG9ubHkgKi8KKyNkZWZpbmUgX09NQVBfVElNRVJfVElDS19JTlRfTUFTS19TRVRfT0ZGU0VUCTB4NTQJLyogVE9DUiwgMzR4eCBvbmx5ICovCisjZGVmaW5lIF9PTUFQX1RJTUVSX1RJQ0tfSU5UX01BU0tfQ09VTlRfT0ZGU0VUCTB4NTgJLyogVE9XUiwgMzR4eCBvbmx5ICovCiAKLS8qIHRpbWVyIGNvbnRyb2wgcmVnIGJpdHMgKi8KLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX0dQT0NGRwkJKDEgPDwgMTQpCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9DQVBUTU9ERQkoMSA8PCAxMykKLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1BUCQkoMSA8PCAxMikKLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1RDTV9MT1dUT0hJR0gJKDB4MSA8PCA4KQotI2RlZmluZSBPTUFQX1RJTUVSX0NUUkxfVENNX0hJR0hUT0xPVwkoMHgyIDw8IDgpCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9UQ01fQk9USEVER0VTCSgweDMgPDwgOCkKLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1NDUFdNCQkoMSA8PCA3KQotI2RlZmluZSBPTUFQX1RJTUVSX0NUUkxfQ0UJCSgxIDw8IDYpCS8qIGNvbXBhcmUgZW5hYmxlICovCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9QUkUJCSgxIDw8IDUpCS8qIHByZXNjYWxlciBlbmFibGUgKi8KLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1BUVl9TSElGVAkyCQkvKiBob3cgbXVjaCB0byBzaGlmdCB0aGUgcHJlc2NhbGVyIHZhbHVlICovCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9BUgkJKDEgPDwgMSkJLyogYXV0by1yZWxvYWQgZW5hYmxlICovCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9TVAkJKDEgPDwgMCkJLyogc3RhcnQgdGltZXIgKi8KKy8qIHJlZ2lzdGVyIG9mZnNldHMgd2l0aCB0aGUgd3JpdGUgcGVuZGluZyBiaXQgZW5jb2RlZCAqLworI2RlZmluZQlXUFNISUZUCQkJCQkxNgorCisjZGVmaW5lIE9NQVBfVElNRVJfSURfUkVHCQkJKF9PTUFQX1RJTUVSX0lEX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfTk9ORSA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX09DUF9DRkdfUkVHCQkJKF9PTUFQX1RJTUVSX09DUF9DRkdfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9OT05FIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfU1lTX1NUQVRfUkVHCQkJKF9PTUFQX1RJTUVSX1NZU19TVEFUX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfTk9ORSA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX1NUQVRfUkVHCQkJKF9PTUFQX1RJTUVSX1NUQVRfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9OT05FIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfSU5UX0VOX1JFRwkJCShfT01BUF9USU1FUl9JTlRfRU5fT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9OT05FIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfV0FLRVVQX0VOX1JFRwkJKF9PTUFQX1RJTUVSX1dBS0VVUF9FTl9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1JFRwkJCShfT01BUF9USU1FUl9DVFJMX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfVENMUiA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX0NPVU5URVJfUkVHCQkJKF9PTUFQX1RJTUVSX0NPVU5URVJfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9UQ1JSIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfTE9BRF9SRUcJCQkoX09NQVBfVElNRVJfTE9BRF9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX1RMRFIgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9UUklHR0VSX1JFRwkJCShfT01BUF9USU1FUl9UUklHR0VSX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfVFRHUiA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX1dSSVRFX1BFTkRfUkVHCQkoX09NQVBfVElNRVJfV1JJVEVfUEVORF9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9NQVRDSF9SRUcJCQkoX09NQVBfVElNRVJfTUFUQ0hfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9UTUFSIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfQ0FQVFVSRV9SRUcJCQkoX09NQVBfVElNRVJfQ0FQVFVSRV9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9JRl9DVFJMX1JFRwkJCShfT01BUF9USU1FUl9JRl9DVFJMX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfTk9ORSA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX0NBUFRVUkUyX1JFRwkJCShfT01BUF9USU1FUl9DQVBUVVJFMl9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9USUNLX1BPU19SRUcJCQkoX09NQVBfVElNRVJfVElDS19QT1NfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9UUElSIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfVElDS19ORUdfUkVHCQkJKF9PTUFQX1RJTUVSX1RJQ0tfTkVHX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfVE5JUiA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX1RJQ0tfQ09VTlRfUkVHCQkoX09NQVBfVElNRVJfVElDS19DT1VOVF9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX1RDVlIgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9USUNLX0lOVF9NQVNLX1NFVF9SRUcJCQkJXAorCQkoX09NQVBfVElNRVJfVElDS19JTlRfTUFTS19TRVRfT0ZGU0VUIHwgKFdQX1RPQ1IgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9USUNLX0lOVF9NQVNLX0NPVU5UX1JFRwkJCQlcCisJCShfT01BUF9USU1FUl9USUNLX0lOVF9NQVNLX0NPVU5UX09GRlNFVCB8IChXUF9UT1dSIDw8IFdQU0hJRlQpKQogCiBzdHJ1Y3Qgb21hcF9kbV90aW1lciB7CiAJdW5zaWduZWQgbG9uZyBwaHlzX2Jhc2U7CkBAIC03Niw2ICsxNTUsNyBAQAogCXZvaWQgX19pb21lbSAqaW9fYmFzZTsKIAl1bnNpZ25lZCByZXNlcnZlZDoxOwogCXVuc2lnbmVkIGVuYWJsZWQ6MTsKKwl1bnNpZ25lZCBwb3N0ZWQ6MTsKIH07CiAKICNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQpAQCAtMTgxLDE2ICsyNjEsMzQgQEAKIAogc3RhdGljIHNwaW5sb2NrX3QgZG1fdGltZXJfbG9jazsKIAotc3RhdGljIGlubGluZSB1MzIgb21hcF9kbV90aW1lcl9yZWFkX3JlZyhzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCByZWcpCisvKgorICogUmVhZHMgdGltZXIgcmVnaXN0ZXJzIGluIHBvc3RlZCBhbmQgbm9uLXBvc3RlZCBtb2RlLiBUaGUgcG9zdGVkIG1vZGUgYml0CisgKiBpcyBlbmNvZGVkIGluIHJlZy4gTm90ZSB0aGF0IGluIHBvc3RlZCBtb2RlIHdyaXRlIHBlbmRpbmcgYml0IG11c3QgYmUKKyAqIGNoZWNrZWQuIE90aGVyd2lzZSBhIHJlYWQgb2YgYSBub24gY29tcGxldGVkIHdyaXRlIHdpbGwgcHJvZHVjZSBhbiBlcnJvci4KKyAqLworc3RhdGljIGlubGluZSB1MzIgb21hcF9kbV90aW1lcl9yZWFkX3JlZyhzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIHUzMiByZWcpCiB7Ci0JcmV0dXJuIHJlYWRsKHRpbWVyLT5pb19iYXNlICsgcmVnKTsKKwlpZiAodGltZXItPnBvc3RlZCkKKwkJd2hpbGUgKHJlYWRsKHRpbWVyLT5pb19iYXNlICsgKE9NQVBfVElNRVJfV1JJVEVfUEVORF9SRUcgJiAweGZmKSkKKwkJCQkmIChyZWcgPj4gV1BTSElGVCkpCisJCQljcHVfcmVsYXgoKTsKKwlyZXR1cm4gcmVhZGwodGltZXItPmlvX2Jhc2UgKyAocmVnICYgMHhmZikpOwogfQogCi1zdGF0aWMgdm9pZCBvbWFwX2RtX3RpbWVyX3dyaXRlX3JlZyhzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCByZWcsIHUzMiB2YWx1ZSkKKy8qCisgKiBXcml0ZXMgdGltZXIgcmVnaXN0ZXJzIGluIHBvc3RlZCBhbmQgbm9uLXBvc3RlZCBtb2RlLiBUaGUgcG9zdGVkIG1vZGUgYml0CisgKiBpcyBlbmNvZGVkIGluIHJlZy4gTm90ZSB0aGF0IGluIHBvc3RlZCBtb2RlIHRoZSB3cml0ZSBwZW5kaW5nIGJpdCBtdXN0IGJlCisgKiBjaGVja2VkLiBPdGhlcndpc2UgYSB3cml0ZSBvbiBhIHJlZ2lzdGVyIHdoaWNoIGhhcyBhIHBlbmRpbmcgd3JpdGUgd2lsbCBiZQorICogbG9zdC4KKyAqLworc3RhdGljIHZvaWQgb21hcF9kbV90aW1lcl93cml0ZV9yZWcoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCB1MzIgcmVnLAorCQkJCQkJdTMyIHZhbHVlKQogewotCXdyaXRlbCh2YWx1ZSwgdGltZXItPmlvX2Jhc2UgKyByZWcpOwotCXdoaWxlIChvbWFwX2RtX3RpbWVyX3JlYWRfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX1dSSVRFX1BFTkRfUkVHKSkKLQkJOworCWlmICh0aW1lci0+cG9zdGVkKQorCQl3aGlsZSAocmVhZGwodGltZXItPmlvX2Jhc2UgKyAoT01BUF9USU1FUl9XUklURV9QRU5EX1JFRyAmIDB4ZmYpKQorCQkJCSYgKHJlZyA+PiBXUFNISUZUKSkKKwkJCWNwdV9yZWxheCgpOworCXdyaXRlbCh2YWx1ZSwgdGltZXItPmlvX2Jhc2UgKyAocmVnICYgMHhmZikpOwogfQogCiBzdGF0aWMgdm9pZCBvbWFwX2RtX3RpbWVyX3dhaXRfZm9yX3Jlc2V0KHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lcikKQEAgLTIxNywxNyArMzE1LDIzIEBACiAJfQogCW9tYXBfZG1fdGltZXJfc2V0X3NvdXJjZSh0aW1lciwgT01BUF9USU1FUl9TUkNfMzJfS0haKTsKIAotCS8qIFNldCB0byBzbWFydC1pZGxlIG1vZGUgKi8KIAlsID0gb21hcF9kbV90aW1lcl9yZWFkX3JlZyh0aW1lciwgT01BUF9USU1FUl9PQ1BfQ0ZHX1JFRyk7Ci0JbCB8PSAweDAyIDw8IDM7CisJbCB8PSAweDAyIDw8IDM7ICAvKiBTZXQgdG8gc21hcnQtaWRsZSBtb2RlICovCisJbCB8PSAweDIgPDwgODsgICAvKiBTZXQgY2xvY2sgYWN0aXZpdHkgdG8gcGVyc2VydmUgZi1jbG9jayBvbiBpZGxlICovCiAKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgdGltZXIgPT0gJmRtX3RpbWVyc1swXSkgewotCQkvKiBFbmFibGUgd2FrZS11cCBvbmx5IGZvciBHUFQxIG9uIE9NQVAyIENQVXMqLworCS8qCisJICogRW5hYmxlIHdha2UtdXAgb25seSBmb3IgR1BUMSBvbiBPTUFQMiBDUFVzLgorCSAqIEZJWE1FOiBBbGwgdGltZXJzIHNob3VsZCBoYXZlIHdha2UtdXAgZW5hYmxlZCBhbmQgY2xlYXIKKwkgKiBQUkNNIHN0YXR1cy4KKwkgKi8KKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgKHRpbWVyID09ICZkbV90aW1lcnNbMF0pKQogCQlsIHw9IDEgPDwgMjsKLQkJLyogTm9uLXBvc3RlZCBtb2RlICovCi0JCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0lGX0NUUkxfUkVHLCAwKTsKLQl9CiAJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfT0NQX0NGR19SRUcsIGwpOworCisJLyogTWF0Y2ggaGFyZHdhcmUgcmVzZXQgZGVmYXVsdCBvZiBwb3N0ZWQgbW9kZSAqLworCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0lGX0NUUkxfUkVHLAorCQkJT01BUF9USU1FUl9DVFJMX1BPU1RFRCk7CisJdGltZXItPnBvc3RlZCA9IDE7CiB9CiAKIHN0YXRpYyB2b2lkIG9tYXBfZG1fdGltZXJfcHJlcGFyZShzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIpCkBAIC00MzQsOSArNTM4LDMyIEBACiAJCWwgJj0gfk9NQVBfVElNRVJfQ1RSTF9BUjsKIAlvbWFwX2RtX3RpbWVyX3dyaXRlX3JlZyh0aW1lciwgT01BUF9USU1FUl9DVFJMX1JFRywgbCk7CiAJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfTE9BRF9SRUcsIGxvYWQpOworCisJLyogUkVWSVNJVDogaHcgZmVhdHVyZSwgdHRnciBvdmVydGFraW5nIHRsZHI/ICovCisJd2hpbGUgKHJlYWRsKHRpbWVyLT5pb19iYXNlICsgKE9NQVBfVElNRVJfV1JJVEVfUEVORF9SRUcgJiAweGZmKSkpCisJCWNwdV9yZWxheCgpOworCiAJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfVFJJR0dFUl9SRUcsIDApOwogfQogCisvKiBPcHRpbWl6ZWQgc2V0X2xvYWQgd2hpY2ggcmVtb3ZlcyBjb3N0bHkgc3BpbiB3YWl0IGluIHRpbWVyX3N0YXJ0ICovCit2b2lkIG9tYXBfZG1fdGltZXJfc2V0X2xvYWRfc3RhcnQoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgYXV0b3JlbG9hZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbG9hZCkKK3sKKwl1MzIgbDsKKworCWwgPSBvbWFwX2RtX3RpbWVyX3JlYWRfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0NUUkxfUkVHKTsKKwlpZiAoYXV0b3JlbG9hZCkKKwkJbCB8PSBPTUFQX1RJTUVSX0NUUkxfQVI7CisJZWxzZQorCQlsICY9IH5PTUFQX1RJTUVSX0NUUkxfQVI7CisJbCB8PSBPTUFQX1RJTUVSX0NUUkxfU1Q7CisKKwlvbWFwX2RtX3RpbWVyX3dyaXRlX3JlZyh0aW1lciwgT01BUF9USU1FUl9DT1VOVEVSX1JFRywgbG9hZCk7CisJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfTE9BRF9SRUcsIGxvYWQpOworCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0NUUkxfUkVHLCBsKTsKK30KKwogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9tYXRjaChzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBlbmFibGUsCiAJCQkgICAgIHVuc2lnbmVkIGludCBtYXRjaCkKIHsKQEAgLTQ1MSw3ICs1NzgsNiBAQAogCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX01BVENIX1JFRywgbWF0Y2gpOwogfQogCi0KIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfcHdtKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IGRlZl9vbiwKIAkJCSAgIGludCB0b2dnbGUsIGludCB0cmlnZ2VyKQogewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL21jYnNwLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvbWNic3AuYwppbmRleCA5Y2Y4M2M0Li5jN2Y3NDA2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9wbGF0LW9tYXAvbWNic3AuYworKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvbWNic3AuYwpAQCAtMTUsOTUgKzE1LDY2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLQotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvbXV4Lmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvaXJxcy5oPgotI2luY2x1ZGUgPGFzbS9hcmNoL2RzcF9jb21tb24uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tY2JzcC5oPgogCi0jaWZkZWYgQ09ORklHX01DQlNQX0RFQlVHCi0jZGVmaW5lIERCRyh4Li4uKQlwcmludGsoeCkKLSNlbHNlCi0jZGVmaW5lIERCRyh4Li4uKQkJCWRvIHsgfSB3aGlsZSAoMCkKLSNlbmRpZgotCi1zdHJ1Y3Qgb21hcF9tY2JzcCB7Ci0JdTMyICAgICAgICAgICAgICAgICAgICAgICAgICBpb19iYXNlOwotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ7Ci0JdTggICAgICAgICAgICAgICAgICAgICAgICAgICBmcmVlOwotCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggICAgICAgcnhfd29yZF9sZW5ndGg7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCAgICAgICB0eF93b3JkX2xlbmd0aDsKLQotCW9tYXBfbWNic3BfaW9fdHlwZV90ICAgICAgICAgaW9fdHlwZTsgLyogSVJRIG9yIHBvbGwgKi8KLQkvKiBJUlEgYmFzZWQgVFgvUlggKi8KLQlpbnQgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4X2lycTsKLQlpbnQgICAgICAgICAgICAgICAgICAgICAgICAgIHR4X2lycTsKLQotCS8qIERNQSBzdHVmZiAqLwotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hX3J4X3N5bmM7Ci0Jc2hvcnQgICAgICAgICAgICAgICAgICAgICAgICBkbWFfcnhfbGNoOwotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hX3R4X3N5bmM7Ci0Jc2hvcnQgICAgICAgICAgICAgICAgICAgICAgICBkbWFfdHhfbGNoOwotCi0JLyogQ29tcGxldGlvbiBxdWV1ZXMgKi8KLQlzdHJ1Y3QgY29tcGxldGlvbiAgICAgICAgICAgIHR4X2lycV9jb21wbGV0aW9uOwotCXN0cnVjdCBjb21wbGV0aW9uICAgICAgICAgICAgcnhfaXJxX2NvbXBsZXRpb247Ci0Jc3RydWN0IGNvbXBsZXRpb24gICAgICAgICAgICB0eF9kbWFfY29tcGxldGlvbjsKLQlzdHJ1Y3QgY29tcGxldGlvbiAgICAgICAgICAgIHJ4X2RtYV9jb21wbGV0aW9uOwotCi0Jc3BpbmxvY2tfdCAgICAgICAgICAgICAgICAgICBsb2NrOwotfTsKLQogc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwIG1jYnNwW09NQVBfTUFYX01DQlNQX0NPVU5UXTsKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQotc3RhdGljIHN0cnVjdCBjbGsgKm1jYnNwX2RzcF9jayA9IDA7Ci1zdGF0aWMgc3RydWN0IGNsayAqbWNic3BfYXBpX2NrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcF9kc3B4b3JfY2sgPSAwOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDIKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDFfaWNrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDFfZmNrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDJfaWNrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDJfZmNrID0gMDsKLSNlbmRpZgorCisjZGVmaW5lIG9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpCShtY2JzcFtpZF0ucGRhdGEgJiYgXAorCQkJCQltY2JzcFtpZF0ucGRhdGEtPm9wcyAmJiBcCisJCQkJCW1jYnNwW2lkXS5wZGF0YS0+b3BzLT5jaGVjayAmJiBcCisJCQkJCShtY2JzcFtpZF0ucGRhdGEtPm9wcy0+Y2hlY2soaWQpID09IDApKQogCiBzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2R1bXBfcmVnKHU4IGlkKQogewotCURCRygiKioqKiBNQ0JTUCVkIHJlZ3MgKioqKlxuIiwgbWNic3BbaWRdLmlkKTsKLQlEQkcoIkRSUjI6ICAweCUwNHhcbiIsIE9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgRFJSMikpOwotCURCRygiRFJSMTogIDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBEUlIxKSk7Ci0JREJHKCJEWFIyOiAgMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIERYUjIpKTsKLQlEQkcoIkRYUjE6ICAweCUwNHhcbiIsIE9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgRFhSMSkpOwotCURCRygiU1BDUjI6IDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBTUENSMikpOwotCURCRygiU1BDUjE6IDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBTUENSMSkpOwotCURCRygiUkNSMjogIDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBSQ1IyKSk7Ci0JREJHKCJSQ1IxOiAgMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFJDUjEpKTsKLQlEQkcoIlhDUjI6ICAweCUwNHhcbiIsIE9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgWENSMikpOwotCURCRygiWENSMTogIDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBYQ1IxKSk7Ci0JREJHKCJTUkdSMjogMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNSR1IyKSk7Ci0JREJHKCJTUkdSMTogMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNSR1IxKSk7Ci0JREJHKCJQQ1IwOiAgMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFBDUjApKTsKLQlEQkcoIioqKioqKioqKioqKioqKioqKioqKioqXG4iKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICIqKioqIE1jQlNQJWQgcmVncyAqKioqXG4iLCBtY2JzcFtpZF0uaWQpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIkRSUjI6ICAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIERSUjIpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJEUlIxOiAgMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBEUlIxKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiRFhSMjogIDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgRFhSMikpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIkRYUjE6ICAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIERYUjEpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJTUENSMjogMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBTUENSMikpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIlNQQ1IxOiAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNQQ1IxKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiUkNSMjogIDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgUkNSMikpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIlJDUjE6ICAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFJDUjEpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJYQ1IyOiAgMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBYQ1IyKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiWENSMTogIDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgWENSMSkpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIlNSR1IyOiAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNSR1IyKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiU1JHUjE6IDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgU1JHUjEpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJQQ1IwOiAgMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBQQ1IwKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiKioqKioqKioqKioqKioqKioqKioqKipcbiIpOwogfQogCiBzdGF0aWMgaXJxcmV0dXJuX3Qgb21hcF9tY2JzcF90eF9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7CiAJc3RydWN0IG9tYXBfbWNic3AgKm1jYnNwX3R4ID0gZGV2X2lkOwogCi0JREJHKCJUWCBJUlEgY2FsbGJhY2sgOiAweCV4XG4iLAotCSAgICBPTUFQX01DQlNQX1JFQUQobWNic3BfdHgtPmlvX2Jhc2UsIFNQQ1IyKSk7CisJZGV2X2RiZyhtY2JzcF90eC0+ZGV2LCAiVFggSVJRIGNhbGxiYWNrIDogMHgleFxuIiwKKwkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwX3R4LT5pb19iYXNlLCBTUENSMikpOwogCiAJY29tcGxldGUoJm1jYnNwX3R4LT50eF9pcnFfY29tcGxldGlvbik7CisKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKQEAgLTExMSwxMCArODIsMTEgQEAKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcCAqbWNic3BfcnggPSBkZXZfaWQ7CiAKLQlEQkcoIlJYIElSUSBjYWxsYmFjayA6IDB4JXhcbiIsCi0JICAgIE9NQVBfTUNCU1BfUkVBRChtY2JzcF9yeC0+aW9fYmFzZSwgU1BDUjIpKTsKKwlkZXZfZGJnKG1jYnNwX3J4LT5kZXYsICJSWCBJUlEgY2FsbGJhY2sgOiAweCV4XG4iLAorCQlPTUFQX01DQlNQX1JFQUQobWNic3BfcngtPmlvX2Jhc2UsIFNQQ1IyKSk7CiAKIAljb21wbGV0ZSgmbWNic3BfcngtPnJ4X2lycV9jb21wbGV0aW9uKTsKKwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIApAQCAtMTIyLDggKzk0LDggQEAKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcCAqbWNic3BfZG1hX3R4ID0gZGF0YTsKIAotCURCRygiVFggRE1BIGNhbGxiYWNrIDogMHgleFxuIiwKLQkgICAgT01BUF9NQ0JTUF9SRUFEKG1jYnNwX2RtYV90eC0+aW9fYmFzZSwgU1BDUjIpKTsKKwlkZXZfZGJnKG1jYnNwX2RtYV90eC0+ZGV2LCAiVFggRE1BIGNhbGxiYWNrIDogMHgleFxuIiwKKwkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwX2RtYV90eC0+aW9fYmFzZSwgU1BDUjIpKTsKIAogCS8qIFdlIGNhbiBmcmVlIHRoZSBjaGFubmVscyAqLwogCW9tYXBfZnJlZV9kbWEobWNic3BfZG1hX3R4LT5kbWFfdHhfbGNoKTsKQEAgLTEzNiw4ICsxMDgsOCBAQAogewogCXN0cnVjdCBvbWFwX21jYnNwICptY2JzcF9kbWFfcnggPSBkYXRhOwogCi0JREJHKCJSWCBETUEgY2FsbGJhY2sgOiAweCV4XG4iLAotCSAgICBPTUFQX01DQlNQX1JFQUQobWNic3BfZG1hX3J4LT5pb19iYXNlLCBTUENSMikpOworCWRldl9kYmcobWNic3BfZG1hX3J4LT5kZXYsICJSWCBETUEgY2FsbGJhY2sgOiAweCV4XG4iLAorCQlPTUFQX01DQlNQX1JFQUQobWNic3BfZG1hX3J4LT5pb19iYXNlLCBTUENSMikpOwogCiAJLyogV2UgY2FuIGZyZWUgdGhlIGNoYW5uZWxzICovCiAJb21hcF9mcmVlX2RtYShtY2JzcF9kbWFfcngtPmRtYV9yeF9sY2gpOwpAQCAtMTQ2LDE5ICsxMTgsMjQgQEAKIAljb21wbGV0ZSgmbWNic3BfZG1hX3J4LT5yeF9kbWFfY29tcGxldGlvbik7CiB9CiAKLQogLyoKICAqIG9tYXBfbWNic3BfY29uZmlnIHNpbXBseSB3cml0ZSBhIGNvbmZpZyB0byB0aGUKICAqIGFwcHJvcHJpYXRlIE1jQlNQLgogICogWW91IGVpdGhlciBjYWxsIHRoaXMgZnVuY3Rpb24gb3Igc2V0IHRoZSBNY0JTUCByZWdpc3RlcnMKICAqIGJ5IHlvdXJzZWxmIGJlZm9yZSBjYWxsaW5nIG9tYXBfbWNic3Bfc3RhcnQoKS4KICAqLwotCi12b2lkIG9tYXBfbWNic3BfY29uZmlnKHVuc2lnbmVkIGludCBpZCwgY29uc3Qgc3RydWN0IG9tYXBfbWNic3BfcmVnX2NmZyAqIGNvbmZpZykKK3ZvaWQgb21hcF9tY2JzcF9jb25maWcodW5zaWduZWQgaW50IGlkLCBjb25zdCBzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnICpjb25maWcpCiB7Ci0JdTMyIGlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKKwl1MzIgaW9fYmFzZTsKIAotCURCRygiT01BUC1NY0JTUDogTWNCU1AlZCAgaW9fYmFzZTogMHglOHhcbiIsIGlkKzEsIGlvX2Jhc2UpOworCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKKwkJcmV0dXJuOworCX0KKworCWlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJDb25maWd1cmluZyBNY0JTUCVkICBpb19iYXNlOiAweCU4eFxuIiwKKwkJCW1jYnNwW2lkXS5pZCwgaW9fYmFzZSk7CiAKIAkvKiBXZSB3cml0ZSB0aGUgZ2l2ZW4gY29uZmlnICovCiAJT01BUF9NQ0JTUF9XUklURShpb19iYXNlLCBTUENSMiwgY29uZmlnLT5zcGNyMik7CkBAIC0xNzMsODMgKzE1MCw3IEBACiAJT01BUF9NQ0JTUF9XUklURShpb19iYXNlLCBNQ1IxLCBjb25maWctPm1jcjEpOwogCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgUENSMCwgY29uZmlnLT5wY3IwKTsKIH0KLQotCi0KLXN0YXRpYyBpbnQgb21hcF9tY2JzcF9jaGVjayh1bnNpZ25lZCBpbnQgaWQpCi17Ci0JaWYgKGNwdV9pc19vbWFwNzMwKCkpIHsKLQkJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQgLSAxKSB7Ci0JCSAgICAgICBwcmludGsoS0VSTl9FUlIgIk9NQVAtTWNCU1A6IE1jQlNQJWQgZG9lc24ndCBleGlzdFxuIiwgaWQgKyAxKTsKLQkJICAgICAgIHJldHVybiAtMTsKLQkJfQotCQlyZXR1cm4gMDsKLQl9Ci0KLQlpZiAoY3B1X2lzX29tYXAxNXh4KCkgfHwgY3B1X2lzX29tYXAxNnh4KCkgfHwgY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQpIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBkb2Vzbid0IGV4aXN0XG4iLCBpZCArIDEpOwotCQkJcmV0dXJuIC0xOwotCQl9Ci0JCXJldHVybiAwOwotCX0KLQotCXJldHVybiAtMTsKLX0KLQotI2lmZGVmIENPTkZJR19BUkNIX09NQVAxCi1zdGF0aWMgdm9pZCBvbWFwX21jYnNwX2RzcF9yZXF1ZXN0KHZvaWQpCi17Ci0JaWYgKGNwdV9pc19vbWFwMTV4eCgpIHx8IGNwdV9pc19vbWFwMTZ4eCgpKSB7Ci0JCWludCByZXQ7Ci0KLQkJcmV0ID0gb21hcF9kc3BfcmVxdWVzdF9tZW0oKTsKLQkJaWYgKHJldCA8IDApIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IGdldCBkc3AgbWVtb3J5OiAlaVxuIiwgcmV0KTsKLQkJCXJldHVybjsKLQkJfQotCi0JCWNsa19lbmFibGUobWNic3BfZHNwX2NrKTsKLQkJY2xrX2VuYWJsZShtY2JzcF9hcGlfY2spOwotCi0JCS8qIGVuYWJsZSAxMk1IeiBjbG9jayB0byBtY2JzcCAxICYgMyAqLwotCQljbGtfZW5hYmxlKG1jYnNwX2RzcHhvcl9jayk7Ci0KLQkJLyoKLQkJICogRFNQIGV4dGVybmFsIHBlcmlwaGVyYWwgcmVzZXQKLQkJICogRklYTUU6IFRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIGRzcCBjb2RlCi0JCSAqLwotCQlfX3Jhd193cml0ZXcoX19yYXdfcmVhZHcoRFNQX1JTVENUMikgfCAxIHwgMSA8PCAxLAotCQkJICAgICBEU1BfUlNUQ1QyKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIG9tYXBfbWNic3BfZHNwX2ZyZWUodm9pZCkKLXsKLQlpZiAoY3B1X2lzX29tYXAxNXh4KCkgfHwgY3B1X2lzX29tYXAxNnh4KCkpIHsKLQkJb21hcF9kc3BfcmVsZWFzZV9tZW0oKTsKLQkJY2xrX2Rpc2FibGUobWNic3BfZHNweG9yX2NrKTsKLQkJY2xrX2Rpc2FibGUobWNic3BfZHNwX2NrKTsKLQkJY2xrX2Rpc2FibGUobWNic3BfYXBpX2NrKTsKLQl9Ci19Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19BUkNIX09NQVAyCi1zdGF0aWMgdm9pZCBvbWFwMl9tY2JzcDJfbXV4X3NldHVwKHZvaWQpCi17Ci0JaWYgKGNwdV9pc19vbWFwMjQyMCgpKSB7Ci0JCW9tYXBfY2ZnX3JlZyhZMTVfMjRYWF9NQ0JTUDJfQ0xLWCk7Ci0JCW9tYXBfY2ZnX3JlZyhSMTRfMjRYWF9NQ0JTUDJfRlNYKTsKLQkJb21hcF9jZmdfcmVnKFcxNV8yNFhYX01DQlNQMl9EUik7Ci0JCW9tYXBfY2ZnX3JlZyhWMTVfMjRYWF9NQ0JTUDJfRFgpOwotCQlvbWFwX2NmZ19yZWcoVjE0XzI0WFhfR1BJTzExNyk7Ci0JfQotCS8qCi0JICogTmVlZCB0byBhZGQgTVVYIHNldHRpbmdzIGZvciBPTUFQIDI0MzAgU0RQCi0JICovCi19Ci0jZW5kaWYKK0VYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9jb25maWcpOwogCiAvKgogICogV2UgY2FuIGNob29zZSBiZXR3ZWVuIElSUSBiYXNlZCBvciBwb2xsZWQgSU8uCkBAIC0yNTcsMTMgKzE1OCwxNiBAQAogICovCiBpbnQgb21hcF9tY2JzcF9zZXRfaW9fdHlwZSh1bnNpZ25lZCBpbnQgaWQsIG9tYXBfbWNic3BfaW9fdHlwZV90IGlvX3R5cGUpCiB7Ci0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKLQkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CiAKIAlzcGluX2xvY2soJm1jYnNwW2lkXS5sb2NrKTsKIAogCWlmICghbWNic3BbaWRdLmZyZWUpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBpcyBjdXJyZW50bHkgaW4gdXNlXG4iLCBpZCArIDEpOworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIGlzIGN1cnJlbnRseSBpbiB1c2VcbiIsCisJCQltY2JzcFtpZF0uaWQpOwogCQlzcGluX3VubG9jaygmbWNic3BbaWRdLmxvY2spOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0yNzQsMzggKzE3OCwyNiBAQAogCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3Bfc2V0X2lvX3R5cGUpOwogCiBpbnQgb21hcF9tY2JzcF9yZXF1ZXN0KHVuc2lnbmVkIGludCBpZCkKIHsKIAlpbnQgZXJyOwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQotCS8qCi0JICogT24gMTUxMCwgMTYxMCBhbmQgMTcxMCwgTWNCU1AxIGFuZCBNY0JTUDMKLQkgKiBhcmUgRFNQIHB1YmxpYyBwZXJpcGhlcmFscy4KLQkgKi8KLQlpZiAoaWQgPT0gT01BUF9NQ0JTUDEgfHwgaWQgPT0gT01BUF9NQ0JTUDMpCi0JCW9tYXBfbWNic3BfZHNwX3JlcXVlc3QoKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDIKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJaWYgKGlkID09IE9NQVBfTUNCU1AxKSB7Ci0JCQljbGtfZW5hYmxlKG1jYnNwMV9pY2spOwotCQkJY2xrX2VuYWJsZShtY2JzcDFfZmNrKTsKLQkJfSBlbHNlIHsKLQkJCWNsa19lbmFibGUobWNic3AyX2ljayk7Ci0JCQljbGtfZW5hYmxlKG1jYnNwMl9mY2spOwotCQl9CisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKIAl9Ci0jZW5kaWYKKworCWlmIChtY2JzcFtpZF0ucGRhdGEtPm9wcy0+cmVxdWVzdCkKKwkJbWNic3BbaWRdLnBkYXRhLT5vcHMtPnJlcXVlc3QoaWQpOworCisJY2xrX2VuYWJsZShtY2JzcFtpZF0uY2xrKTsKIAogCXNwaW5fbG9jaygmbWNic3BbaWRdLmxvY2spOwogCWlmICghbWNic3BbaWRdLmZyZWUpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBpcyBjdXJyZW50bHkgaW4gdXNlXG4iLCBpZCArIDEpOworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIGlzIGN1cnJlbnRseSBpbiB1c2VcbiIsCisJCQltY2JzcFtpZF0uaWQpOwogCQlzcGluX3VubG9jaygmbWNic3BbaWRdLmxvY2spOwogCQlyZXR1cm4gLTE7CiAJfQpAQCAtMzE1LDI0ICsyMDcsMjMgQEAKIAogCWlmIChtY2JzcFtpZF0uaW9fdHlwZSA9PSBPTUFQX01DQlNQX0lSUV9JTykgewogCQkvKiBXZSBuZWVkIHRvIGdldCBJUlFzIGhlcmUgKi8KLQkJZXJyID0gcmVxdWVzdF9pcnEobWNic3BbaWRdLnR4X2lycSwgb21hcF9tY2JzcF90eF9pcnFfaGFuZGxlciwgMCwKLQkJCQkgICJNY0JTUCIsCi0JCQkJICAodm9pZCAqKSAoJm1jYnNwW2lkXSkpOworCQllcnIgPSByZXF1ZXN0X2lycShtY2JzcFtpZF0udHhfaXJxLCBvbWFwX21jYnNwX3R4X2lycV9oYW5kbGVyLAorCQkJCQkwLCAiTWNCU1AiLCAodm9pZCAqKSAoJm1jYnNwW2lkXSkpOwogCQlpZiAoZXJyICE9IDApIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogVW5hYmxlIHRvIHJlcXVlc3QgVFggSVJRICVkIGZvciBNY0JTUCVkXG4iLAotCQkJICAgICAgIG1jYnNwW2lkXS50eF9pcnEsIG1jYnNwW2lkXS5pZCk7CisJCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJVbmFibGUgdG8gcmVxdWVzdCBUWCBJUlEgJWQgIgorCQkJCQkiZm9yIE1jQlNQJWRcbiIsIG1jYnNwW2lkXS50eF9pcnEsCisJCQkJCW1jYnNwW2lkXS5pZCk7CiAJCQlyZXR1cm4gZXJyOwogCQl9CiAKIAkJaW5pdF9jb21wbGV0aW9uKCYobWNic3BbaWRdLnR4X2lycV9jb21wbGV0aW9uKSk7CiAKLQotCQllcnIgPSByZXF1ZXN0X2lycShtY2JzcFtpZF0ucnhfaXJxLCBvbWFwX21jYnNwX3J4X2lycV9oYW5kbGVyLCAwLAotCQkJCSAgIk1jQlNQIiwKLQkJCQkgICh2b2lkICopICgmbWNic3BbaWRdKSk7CisJCWVyciA9IHJlcXVlc3RfaXJxKG1jYnNwW2lkXS5yeF9pcnEsIG9tYXBfbWNic3BfcnhfaXJxX2hhbmRsZXIsCisJCQkJCTAsICJNY0JTUCIsICh2b2lkICopICgmbWNic3BbaWRdKSk7CiAJCWlmIChlcnIgIT0gMCkgewotCQkJcHJpbnRrKEtFUk5fRVJSICJPTUFQLU1jQlNQOiBVbmFibGUgdG8gcmVxdWVzdCBSWCBJUlEgJWQgZm9yIE1jQlNQJWRcbiIsCi0JCQkgICAgICAgbWNic3BbaWRdLnJ4X2lycSwgbWNic3BbaWRdLmlkKTsKKwkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIlVuYWJsZSB0byByZXF1ZXN0IFJYIElSUSAlZCAiCisJCQkJCSJmb3IgTWNCU1AlZFxuIiwgbWNic3BbaWRdLnJ4X2lycSwKKwkJCQkJbWNic3BbaWRdLmlkKTsKIAkJCWZyZWVfaXJxKG1jYnNwW2lkXS50eF9pcnEsICh2b2lkICopICgmbWNic3BbaWRdKSk7CiAJCQlyZXR1cm4gZXJyOwogCQl9CkBAIC0zNDEsMzYgKzIzMiwyNSBAQAogCX0KIAogCXJldHVybiAwOwotCiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcmVxdWVzdCk7CiAKIHZvaWQgb21hcF9tY2JzcF9mcmVlKHVuc2lnbmVkIGludCBpZCkKIHsKLQlpZiAob21hcF9tY2JzcF9jaGVjayhpZCkgPCAwKQorCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKIAkJcmV0dXJuOwotCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDEKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJaWYgKGlkID09IE9NQVBfTUNCU1AxIHx8IGlkID09IE9NQVBfTUNCU1AzKQotCQkJb21hcF9tY2JzcF9kc3BfZnJlZSgpOwogCX0KLSNlbmRpZgogCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDIKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJaWYgKGlkID09IE9NQVBfTUNCU1AxKSB7Ci0JCQljbGtfZGlzYWJsZShtY2JzcDFfaWNrKTsKLQkJCWNsa19kaXNhYmxlKG1jYnNwMV9mY2spOwotCQl9IGVsc2UgewotCQkJY2xrX2Rpc2FibGUobWNic3AyX2ljayk7Ci0JCQljbGtfZGlzYWJsZShtY2JzcDJfZmNrKTsKLQkJfQotCX0KLSNlbmRpZgorCWlmIChtY2JzcFtpZF0ucGRhdGEtPm9wcy0+ZnJlZSkKKwkJbWNic3BbaWRdLnBkYXRhLT5vcHMtPmZyZWUoaWQpOworCisJY2xrX2Rpc2FibGUobWNic3BbaWRdLmNsayk7CiAKIAlzcGluX2xvY2soJm1jYnNwW2lkXS5sb2NrKTsKIAlpZiAobWNic3BbaWRdLmZyZWUpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCB3YXMgbm90IHJlc2VydmVkXG4iLCBpZCArIDEpOworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIHdhcyBub3QgcmVzZXJ2ZWRcbiIsCisJCQltY2JzcFtpZF0uaWQpOwogCQlzcGluX3VubG9jaygmbWNic3BbaWRdLmxvY2spOwogCQlyZXR1cm47CiAJfQpAQCAtMzg0LDYgKzI2NCw3IEBACiAJCWZyZWVfaXJxKG1jYnNwW2lkXS50eF9pcnEsICh2b2lkICopICgmbWNic3BbaWRdKSk7CiAJfQogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX2ZyZWUpOwogCiAvKgogICogSGVyZSB3ZSBzdGFydCB0aGUgTWNCU1AsIGJ5IGVuYWJsaW5nIHRoZSBzYW1wbGUKQEAgLTM5NSwxMyArMjc2LDE1IEBACiAJdTMyIGlvX2Jhc2U7CiAJdTE2IHc7CiAKLQlpZiAob21hcF9tY2JzcF9jaGVjayhpZCkgPCAwKQorCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKIAkJcmV0dXJuOworCX0KIAogCWlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKIAotCW1jYnNwW2lkXS5yeF93b3JkX2xlbmd0aCA9ICgoT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFJDUjEpID4+IDUpICYgMHg3KTsKLQltY2JzcFtpZF0udHhfd29yZF9sZW5ndGggPSAoKE9NQVBfTUNCU1BfUkVBRChpb19iYXNlLCBYQ1IxKSA+PiA1KSAmIDB4Nyk7CisJbWNic3BbaWRdLnJ4X3dvcmRfbGVuZ3RoID0gKE9NQVBfTUNCU1BfUkVBRChpb19iYXNlLCBSQ1IxKSA+PiA1KSAmIDB4NzsKKwltY2JzcFtpZF0udHhfd29yZF9sZW5ndGggPSAoT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFhDUjEpID4+IDUpICYgMHg3OwogCiAJLyogU3RhcnQgdGhlIHNhbXBsZSBnZW5lcmF0b3IgKi8KIAl3ID0gT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFNQQ1IyKTsKQEAgLTQyMiwyMCArMzA1LDIyIEBACiAKIAkvKiBEdW1wIE1jQlNQIFJlZ3MgKi8KIAlvbWFwX21jYnNwX2R1bXBfcmVnKGlkKTsKLQogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3N0YXJ0KTsKIAogdm9pZCBvbWFwX21jYnNwX3N0b3AodW5zaWduZWQgaW50IGlkKQogewogCXUzMiBpb19iYXNlOwogCXUxNiB3OwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CiAJCXJldHVybjsKKwl9CiAKIAlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CiAKLSAgICAgICAgLyogUmVzZXQgdHJhbnNtaXR0ZXIgKi8KKwkvKiBSZXNldCB0cmFuc21pdHRlciAqLwogCXcgPSBPTUFQX01DQlNQX1JFQUQoaW9fYmFzZSwgU1BDUjIpOwogCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgU1BDUjIsIHcgJiB+KDEpKTsKIApAQCAtNDQ3LDEyICszMzIsMTkgQEAKIAl3ID0gT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFNQQ1IyKTsKIAlPTUFQX01DQlNQX1dSSVRFKGlvX2Jhc2UsIFNQQ1IyLCB3ICYgfigxIDw8IDYpKTsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3N0b3ApOwogCiAvKiBwb2xsZWQgbWNic3AgaS9vIG9wZXJhdGlvbnMgKi8KIGludCBvbWFwX21jYnNwX3BvbGx3cml0ZSh1bnNpZ25lZCBpbnQgaWQsIHUxNiBidWYpCiB7Ci0JdTMyIGJhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKKwl1MzIgYmFzZTsKKworCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJYmFzZSA9IG1jYnNwW2lkXS5pb19iYXNlOwogCXdyaXRldyhidWYsIGJhc2UgKyBPTUFQX01DQlNQX1JFR19EWFIxKTsKIAkvKiBpZiBmcmFtZSBzeW5jIGVycm9yIC0gY2xlYXIgdGhlIGVycm9yICovCiAJaWYgKHJlYWR3KGJhc2UgKyBPTUFQX01DQlNQX1JFR19TUENSMikgJiBYU1lOQ19FUlIpIHsKQEAgLTQ3NCwxOCArMzY2LDI3IEBACiAJCQkJICAgICAgIChYUlNUKSwKIAkJCQkgICAgICAgYmFzZSArIE9NQVBfTUNCU1BfUkVHX1NQQ1IyKTsKIAkJCQl1ZGVsYXkoMTApOwotCQkJCXByaW50ayhLRVJOX0VSUgotCQkJCSAgICAgICAiIENvdWxkIG5vdCB3cml0ZSB0byBNY0JTUCBSZWdpc3RlclxuIik7CisJCQkJZGV2X2VycihtY2JzcFtpZF0uZGV2LCAiQ291bGQgbm90IHdyaXRlIHRvIgorCQkJCQkiIE1jQlNQJWQgUmVnaXN0ZXJcbiIsIG1jYnNwW2lkXS5pZCk7CiAJCQkJcmV0dXJuIC0yOwogCQkJfQogCQl9CiAJfQorCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcG9sbHdyaXRlKTsKIAotaW50IG9tYXBfbWNic3BfcG9sbHJlYWQodW5zaWduZWQgaW50IGlkLCB1MTYgKiBidWYpCitpbnQgb21hcF9tY2JzcF9wb2xscmVhZCh1bnNpZ25lZCBpbnQgaWQsIHUxNiAqYnVmKQogewotCXUzMiBiYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJdTMyIGJhc2U7CisKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CisJCXJldHVybiAtRU5PREVWOworCX0KKworCWJhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKIAkvKiBpZiBmcmFtZSBzeW5jIGVycm9yIC0gY2xlYXIgdGhlIGVycm9yICovCiAJaWYgKHJlYWR3KGJhc2UgKyBPTUFQX01DQlNQX1JFR19TUENSMSkgJiBSU1lOQ19FUlIpIHsKIAkJLyogY2xlYXIgZXJyb3IgKi8KQEAgLTUwNiwxNSArNDA3LDE3IEBACiAJCQkJICAgICAgIChSUlNUKSwKIAkJCQkgICAgICAgYmFzZSArIE9NQVBfTUNCU1BfUkVHX1NQQ1IxKTsKIAkJCQl1ZGVsYXkoMTApOwotCQkJCXByaW50ayhLRVJOX0VSUgotCQkJCSAgICAgICAiIENvdWxkIG5vdCByZWFkIGZyb20gTWNCU1AgUmVnaXN0ZXJcbiIpOworCQkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIkNvdWxkIG5vdCByZWFkIGZyb20iCisJCQkJCSIgTWNCU1AlZCBSZWdpc3RlclxuIiwgbWNic3BbaWRdLmlkKTsKIAkJCQlyZXR1cm4gLTI7CiAJCQl9CiAJCX0KIAl9CiAJKmJ1ZiA9IHJlYWR3KGJhc2UgKyBPTUFQX01DQlNQX1JFR19EUlIxKTsKKwogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3BvbGxyZWFkKTsKIAogLyoKICAqIElSUSBiYXNlZCB3b3JkIHRyYW5zbWlzc2lvbi4KQEAgLTUyMiwxMiArNDI1LDE1IEBACiB2b2lkIG9tYXBfbWNic3BfeG1pdF93b3JkKHVuc2lnbmVkIGludCBpZCwgdTMyIHdvcmQpCiB7CiAJdTMyIGlvX2Jhc2U7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCB3b3JkX2xlbmd0aCA9IG1jYnNwW2lkXS50eF93b3JkX2xlbmd0aDsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHdvcmRfbGVuZ3RoOwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CiAJCXJldHVybjsKKwl9CiAKIAlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7CiAKIAl3YWl0X2Zvcl9jb21wbGV0aW9uKCYobWNic3BbaWRdLnR4X2lycV9jb21wbGV0aW9uKSk7CiAKQEAgLTUzNSwxNiArNDQxLDIwIEBACiAJCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgRFhSMiwgd29yZCA+PiAxNik7CiAJT01BUF9NQ0JTUF9XUklURShpb19iYXNlLCBEWFIxLCB3b3JkICYgMHhmZmZmKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9tY2JzcF94bWl0X3dvcmQpOwogCiB1MzIgb21hcF9tY2JzcF9yZWN2X3dvcmQodW5zaWduZWQgaW50IGlkKQogewogCXUzMiBpb19iYXNlOwogCXUxNiB3b3JkX2xzYiwgd29yZF9tc2IgPSAwOwotCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CisJb21hcF9tY2JzcF93b3JkX2xlbmd0aCB3b3JkX2xlbmd0aDsKIAotCWlmIChvbWFwX21jYnNwX2NoZWNrKGlkKSA8IDApCi0JCXJldHVybiAtRUlOVkFMOworCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQogCisJd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CiAJaW9fYmFzZSA9IG1jYnNwW2lkXS5pb19iYXNlOwogCiAJd2FpdF9mb3JfY29tcGxldGlvbigmKG1jYnNwW2lkXS5yeF9pcnFfY29tcGxldGlvbikpOwpAQCAtNTU1LDE1ICs0NjUsMjQgQEAKIAogCXJldHVybiAod29yZF9sc2IgfCAod29yZF9tc2IgPDwgMTYpKTsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3JlY3Zfd29yZCk7CiAKIGludCBvbWFwX21jYnNwX3NwaV9tYXN0ZXJfeG1pdF93b3JkX3BvbGwodW5zaWduZWQgaW50IGlkLCB1MzIgd29yZCkKIHsKLQl1MzIgaW9fYmFzZSA9IG1jYnNwW2lkXS5pb19iYXNlOwotCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggdHhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCByeF93b3JkX2xlbmd0aCA9IG1jYnNwW2lkXS5yeF93b3JkX2xlbmd0aDsKKwl1MzIgaW9fYmFzZTsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHR4X3dvcmRfbGVuZ3RoOworCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggcnhfd29yZF9sZW5ndGg7CiAJdTE2IHNwY3IyLCBzcGNyMSwgYXR0ZW1wdHMgPSAwLCB3b3JkX2xzYiwgd29yZF9tc2IgPSAwOwogCisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJdHhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7CisJcnhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CisKIAlpZiAodHhfd29yZF9sZW5ndGggIT0gcnhfd29yZF9sZW5ndGgpCiAJCXJldHVybiAtRUlOVkFMOwogCkBAIC01NzcsNyArNDk2LDggQEAKIAkJCXVkZWxheSgxMCk7CiAJCQlPTUFQX01DQlNQX1dSSVRFKGlvX2Jhc2UsIFNQQ1IyLCBzcGNyMiB8IFhSU1QpOwogCQkJdWRlbGF5KDEwKTsKLQkJCXByaW50aygiTWNCU1AgdHJhbnNtaXR0ZXIgbm90IHJlYWR5XG4iKTsKKwkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIk1jQlNQJWQgdHJhbnNtaXR0ZXIgbm90ICIKKwkJCQkicmVhZHlcbiIsIG1jYnNwW2lkXS5pZCk7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQogCX0KQEAgLTU5Nyw3ICs1MTcsOCBAQAogCQkJdWRlbGF5KDEwKTsKIAkJCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgU1BDUjEsIHNwY3IxIHwgUlJTVCk7CiAJCQl1ZGVsYXkoMTApOwotCQkJcHJpbnRrKCJNY0JTUCByZWNlaXZlciBub3QgcmVhZHlcbiIpOworCQkJZGV2X2VycihtY2JzcFtpZF0uZGV2LCAiTWNCU1AlZCByZWNlaXZlciBub3QgIgorCQkJCSJyZWFkeVxuIiwgbWNic3BbaWRdLmlkKTsKIAkJCXJldHVybiAtRUFHQUlOOwogCQl9CiAJfQpAQCAtNjA5LDE0ICs1MzAsMjQgQEAKIAogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfeG1pdF93b3JkX3BvbGwpOwogCi1pbnQgb21hcF9tY2JzcF9zcGlfbWFzdGVyX3JlY3Zfd29yZF9wb2xsKHVuc2lnbmVkIGludCBpZCwgdTMyICogd29yZCkKK2ludCBvbWFwX21jYnNwX3NwaV9tYXN0ZXJfcmVjdl93b3JkX3BvbGwodW5zaWduZWQgaW50IGlkLCB1MzIgKndvcmQpCiB7Ci0JdTMyIGlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZSwgY2xvY2tfd29yZCA9IDA7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCB0eF93b3JkX2xlbmd0aCA9IG1jYnNwW2lkXS50eF93b3JkX2xlbmd0aDsKLQlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHJ4X3dvcmRfbGVuZ3RoID0gbWNic3BbaWRdLnJ4X3dvcmRfbGVuZ3RoOworCXUzMiBpb19iYXNlLCBjbG9ja193b3JkID0gMDsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHR4X3dvcmRfbGVuZ3RoOworCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggcnhfd29yZF9sZW5ndGg7CiAJdTE2IHNwY3IyLCBzcGNyMSwgYXR0ZW1wdHMgPSAwLCB3b3JkX2xzYiwgd29yZF9tc2IgPSAwOwogCisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJdHhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7CisJcnhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CisKIAlpZiAodHhfd29yZF9sZW5ndGggIT0gcnhfd29yZF9sZW5ndGgpCiAJCXJldHVybiAtRUlOVkFMOwogCkBAIC02MzAsNyArNTYxLDggQEAKIAkJCXVkZWxheSgxMCk7CiAJCQlPTUFQX01DQlNQX1dSSVRFKGlvX2Jhc2UsIFNQQ1IyLCBzcGNyMiB8IFhSU1QpOwogCQkJdWRlbGF5KDEwKTsKLQkJCXByaW50aygiTWNCU1AgdHJhbnNtaXR0ZXIgbm90IHJlYWR5XG4iKTsKKwkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIk1jQlNQJWQgdHJhbnNtaXR0ZXIgbm90ICIKKwkJCQkicmVhZHlcbiIsIG1jYnNwW2lkXS5pZCk7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQogCX0KQEAgLTY1MCw3ICs1ODIsOCBAQAogCQkJdWRlbGF5KDEwKTsKIAkJCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgU1BDUjEsIHNwY3IxIHwgUlJTVCk7CiAJCQl1ZGVsYXkoMTApOwotCQkJcHJpbnRrKCJNY0JTUCByZWNlaXZlciBub3QgcmVhZHlcbiIpOworCQkJZGV2X2VycihtY2JzcFtpZF0uZGV2LCAiTWNCU1AlZCByZWNlaXZlciBub3QgIgorCQkJCSJyZWFkeVxuIiwgbWNic3BbaWRdLmlkKTsKIAkJCXJldHVybiAtRUFHQUlOOwogCQl9CiAJfQpAQCAtNjY0LDcgKzU5Nyw3IEBACiAKIAlyZXR1cm4gMDsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfcmVjdl93b3JkX3BvbGwpOwogCiAvKgogICogU2ltcGxlIERNQSBiYXNlZCBidWZmZXIgcngvdHggcm91dGluZXMuCkBAIC02NzMsMjUgKzYwNiwzMiBAQAogICogRm9yIGFueXRoaW5nIGZhbmNpZXIsIHlvdSBzaG91bGQgdXNlIHlvdXIgb3duIGN1c3RvbWl6ZWQgRE1BCiAgKiByb3V0aW5lcyBhbmQgY2FsbGJhY2tzLgogICovCi1pbnQgb21hcF9tY2JzcF94bWl0X2J1ZmZlcih1bnNpZ25lZCBpbnQgaWQsIGRtYV9hZGRyX3QgYnVmZmVyLCB1bnNpZ25lZCBpbnQgbGVuZ3RoKQoraW50IG9tYXBfbWNic3BfeG1pdF9idWZmZXIodW5zaWduZWQgaW50IGlkLCBkbWFfYWRkcl90IGJ1ZmZlciwKKwkJCQl1bnNpZ25lZCBpbnQgbGVuZ3RoKQogewogCWludCBkbWFfdHhfY2g7CiAJaW50IHNyY19wb3J0ID0gMDsKIAlpbnQgZGVzdF9wb3J0ID0gMDsKIAlpbnQgc3luY19kZXYgPSAwOwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKLQkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CiAKLQlpZiAob21hcF9yZXF1ZXN0X2RtYShtY2JzcFtpZF0uZG1hX3R4X3N5bmMsICJNY0JTUCBUWCIsIG9tYXBfbWNic3BfdHhfZG1hX2NhbGxiYWNrLAotCQkJICAgICAmbWNic3BbaWRdLAotCQkJICAgICAmZG1hX3R4X2NoKSkgewotCQlwcmludGsoIk9NQVAtTWNCU1A6IFVuYWJsZSB0byByZXF1ZXN0IERNQSBjaGFubmVsIGZvciBNY0JTUCVkIFRYLiBUcnlpbmcgSVJRIGJhc2VkIFRYXG4iLCBpZCsxKTsKKwlpZiAob21hcF9yZXF1ZXN0X2RtYShtY2JzcFtpZF0uZG1hX3R4X3N5bmMsICJNY0JTUCBUWCIsCisJCQkJb21hcF9tY2JzcF90eF9kbWFfY2FsbGJhY2ssCisJCQkJJm1jYnNwW2lkXSwKKwkJCQkmZG1hX3R4X2NoKSkgeworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICIgVW5hYmxlIHRvIHJlcXVlc3QgRE1BIGNoYW5uZWwgZm9yICIKKwkJCQkiTWNCU1AlZCBUWC4gVHJ5aW5nIElSUSBiYXNlZCBUWFxuIiwKKwkJCQltY2JzcFtpZF0uaWQpOwogCQlyZXR1cm4gLUVBR0FJTjsKIAl9CiAJbWNic3BbaWRdLmRtYV90eF9sY2ggPSBkbWFfdHhfY2g7CiAKLQlEQkcoIlRYIERNQSBvbiBjaGFubmVsICVkXG4iLCBkbWFfdHhfY2gpOworCWRldl9lcnIobWNic3BbaWRdLmRldiwgIk1jQlNQJWQgVFggRE1BIG9uIGNoYW5uZWwgJWRcbiIsIG1jYnNwW2lkXS5pZCwKKwkJZG1hX3R4X2NoKTsKIAogCWluaXRfY29tcGxldGlvbigmKG1jYnNwW2lkXS50eF9kbWFfY29tcGxldGlvbikpOwogCkBAIC02OTksNyArNjM5LDcgQEAKIAkJc3JjX3BvcnQgPSBPTUFQX0RNQV9QT1JUX1RJUEI7CiAJCWRlc3RfcG9ydCA9IE9NQVBfRE1BX1BPUlRfRU1JRkY7CiAJfQotCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCiAJCXN5bmNfZGV2ID0gbWNic3BbaWRdLmRtYV90eF9zeW5jOwogCiAJb21hcF9zZXRfZG1hX3RyYW5zZmVyX3BhcmFtcyhtY2JzcFtpZF0uZG1hX3R4X2xjaCwKQEAgLTcyMiwyOSArNjYyLDM3IEBACiAKIAlvbWFwX3N0YXJ0X2RtYShtY2JzcFtpZF0uZG1hX3R4X2xjaCk7CiAJd2FpdF9mb3JfY29tcGxldGlvbigmKG1jYnNwW2lkXS50eF9kbWFfY29tcGxldGlvbikpOworCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfeG1pdF9idWZmZXIpOwogCi0KLWludCBvbWFwX21jYnNwX3JlY3ZfYnVmZmVyKHVuc2lnbmVkIGludCBpZCwgZG1hX2FkZHJfdCBidWZmZXIsIHVuc2lnbmVkIGludCBsZW5ndGgpCitpbnQgb21hcF9tY2JzcF9yZWN2X2J1ZmZlcih1bnNpZ25lZCBpbnQgaWQsIGRtYV9hZGRyX3QgYnVmZmVyLAorCQkJCXVuc2lnbmVkIGludCBsZW5ndGgpCiB7CiAJaW50IGRtYV9yeF9jaDsKIAlpbnQgc3JjX3BvcnQgPSAwOwogCWludCBkZXN0X3BvcnQgPSAwOwogCWludCBzeW5jX2RldiA9IDA7CiAKLQlpZiAob21hcF9tY2JzcF9jaGVjayhpZCkgPCAwKQotCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CisJCXJldHVybiAtRU5PREVWOworCX0KIAotCWlmIChvbWFwX3JlcXVlc3RfZG1hKG1jYnNwW2lkXS5kbWFfcnhfc3luYywgIk1jQlNQIFJYIiwgb21hcF9tY2JzcF9yeF9kbWFfY2FsbGJhY2ssCi0JCQkgICAgICZtY2JzcFtpZF0sCi0JCQkgICAgICZkbWFfcnhfY2gpKSB7Ci0JCXByaW50aygiVW5hYmxlIHRvIHJlcXVlc3QgRE1BIGNoYW5uZWwgZm9yIE1jQlNQJWQgUlguIFRyeWluZyBJUlEgYmFzZWQgUlhcbiIsIGlkKzEpOworCWlmIChvbWFwX3JlcXVlc3RfZG1hKG1jYnNwW2lkXS5kbWFfcnhfc3luYywgIk1jQlNQIFJYIiwKKwkJCQlvbWFwX21jYnNwX3J4X2RtYV9jYWxsYmFjaywKKwkJCQkmbWNic3BbaWRdLAorCQkJCSZkbWFfcnhfY2gpKSB7CisJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIlVuYWJsZSB0byByZXF1ZXN0IERNQSBjaGFubmVsIGZvciAiCisJCQkJIk1jQlNQJWQgUlguIFRyeWluZyBJUlEgYmFzZWQgUlhcbiIsCisJCQkJbWNic3BbaWRdLmlkKTsKIAkJcmV0dXJuIC1FQUdBSU47CiAJfQogCW1jYnNwW2lkXS5kbWFfcnhfbGNoID0gZG1hX3J4X2NoOwogCi0JREJHKCJSWCBETUEgb24gY2hhbm5lbCAlZFxuIiwgZG1hX3J4X2NoKTsKKwlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIFJYIERNQSBvbiBjaGFubmVsICVkXG4iLCBtY2JzcFtpZF0uaWQsCisJCWRtYV9yeF9jaCk7CiAKIAlpbml0X2NvbXBsZXRpb24oJihtY2JzcFtpZF0ucnhfZG1hX2NvbXBsZXRpb24pKTsKIApAQCAtNzUyLDE0ICs3MDAsMTQgQEAKIAkJc3JjX3BvcnQgPSBPTUFQX0RNQV9QT1JUX1RJUEI7CiAJCWRlc3RfcG9ydCA9IE9NQVBfRE1BX1BPUlRfRU1JRkY7CiAJfQotCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCiAJCXN5bmNfZGV2ID0gbWNic3BbaWRdLmRtYV9yeF9zeW5jOwogCiAJb21hcF9zZXRfZG1hX3RyYW5zZmVyX3BhcmFtcyhtY2JzcFtpZF0uZG1hX3J4X2xjaCwKLQkJCQkgICAgIE9NQVBfRE1BX0RBVEFfVFlQRV9TMTYsCi0JCQkJICAgICBsZW5ndGggPj4gMSwgMSwKLQkJCQkgICAgIE9NQVBfRE1BX1NZTkNfRUxFTUVOVCwKLQkgc3luY19kZXYsIDApOworCQkJCQlPTUFQX0RNQV9EQVRBX1RZUEVfUzE2LAorCQkJCQlsZW5ndGggPj4gMSwgMSwKKwkJCQkJT01BUF9ETUFfU1lOQ19FTEVNRU5ULAorCQkJCQlzeW5jX2RldiwgMCk7CiAKIAlvbWFwX3NldF9kbWFfc3JjX3BhcmFtcyhtY2JzcFtpZF0uZG1hX3J4X2xjaCwKIAkJCQlzcmNfcG9ydCwKQEAgLTc2OCwxNiArNzE2LDE3IEBACiAJCQkJMCwgMCk7CiAKIAlvbWFwX3NldF9kbWFfZGVzdF9wYXJhbXMobWNic3BbaWRdLmRtYV9yeF9sY2gsCi0JCQkJIGRlc3RfcG9ydCwKLQkJCQkgT01BUF9ETUFfQU1PREVfUE9TVF9JTkMsCi0JCQkJIGJ1ZmZlciwKLQkJCQkgMCwgMCk7CisJCQkJCWRlc3RfcG9ydCwKKwkJCQkJT01BUF9ETUFfQU1PREVfUE9TVF9JTkMsCisJCQkJCWJ1ZmZlciwKKwkJCQkJMCwgMCk7CiAKIAlvbWFwX3N0YXJ0X2RtYShtY2JzcFtpZF0uZG1hX3J4X2xjaCk7CiAJd2FpdF9mb3JfY29tcGxldGlvbigmKG1jYnNwW2lkXS5yeF9kbWFfY29tcGxldGlvbikpOworCiAJcmV0dXJuIDA7CiB9Ci0KK0VYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9yZWN2X2J1ZmZlcik7CiAKIC8qCiAgKiBTUEkgd3JhcHBlci4KQEAgLTc4NSwxMiArNzM0LDE1IEBACiAgKiB0aGlzIHdyYXBwZXIganVzdCBuZWVkIGFuIG9tYXBfbWNic3Bfc3BpX2NmZyBzdHJ1Y3R1cmUgYXMgYW4gaW5wdXQuCiAgKiBPbmNlIHRoaXMgaXMgZG9uZSwgeW91IGNhbiBjYWxsIG9tYXBfbWNic3Bfc3RhcnQoKS4KICAqLwotdm9pZCBvbWFwX21jYnNwX3NldF9zcGlfbW9kZSh1bnNpZ25lZCBpbnQgaWQsIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX3NwaV9jZmcgKiBzcGlfY2ZnKQordm9pZCBvbWFwX21jYnNwX3NldF9zcGlfbW9kZSh1bnNpZ25lZCBpbnQgaWQsCisJCQkJY29uc3Qgc3RydWN0IG9tYXBfbWNic3Bfc3BpX2NmZyAqc3BpX2NmZykKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnIG1jYnNwX2NmZzsKIAotCWlmIChvbWFwX21jYnNwX2NoZWNrKGlkKSA8IDApCisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOwogCQlyZXR1cm47CisJfQogCiAJbWVtc2V0KCZtY2JzcF9jZmcsIDAsIHNpemVvZihzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnKSk7CiAKQEAgLTc5OCw3ICs3NTAsNyBAQAogCW1jYnNwX2NmZy5yY3IxIHw9IChSV0RMRU4xKHNwaV9jZmctPndvcmRfbGVuZ3RoKSB8IFJGUkxFTjEoMCkpOwogCW1jYnNwX2NmZy54Y3IxIHw9IChYV0RMRU4xKHNwaV9jZmctPndvcmRfbGVuZ3RoKSB8IFhGUkxFTjEoMCkpOwogCi0gICAgICAgIC8qIENsb2NrIHN0b3AgbW9kZSAqLworCS8qIENsb2NrIHN0b3AgbW9kZSAqLwogCWlmIChzcGlfY2ZnLT5jbGtfc3RwX21vZGUgPT0gT01BUF9NQ0JTUF9DTEtfU1RQX01PREVfTk9fREVMQVkpCiAJCW1jYnNwX2NmZy5zcGNyMSB8PSAoMSA8PCAxMik7CiAJZWxzZQpAQCAtODI3LDEzICs3NzksMTIgQEAKIAogCWlmIChzcGlfY2ZnLT5zcGlfbW9kZSA9PSBPTUFQX01DQlNQX1NQSV9NQVNURVIpIHsKIAkJbWNic3BfY2ZnLnBjcjAgfD0gQ0xLWE07Ci0JCW1jYnNwX2NmZy5zcmdyMSB8PSBDTEtHRFYoc3BpX2NmZy0+Y2xrX2RpdiAtMSk7CisJCW1jYnNwX2NmZy5zcmdyMSB8PSBDTEtHRFYoc3BpX2NmZy0+Y2xrX2RpdiAtIDEpOwogCQltY2JzcF9jZmcucGNyMCB8PSBGU1hNOwogCQltY2JzcF9jZmcuc3JncjIgJj0gfkZTR007CiAJCW1jYnNwX2NmZy54Y3IyIHw9IFhEQVRETFkoMSk7CiAJCW1jYnNwX2NmZy5yY3IyIHw9IFJEQVRETFkoMSk7Ci0JfQotCWVsc2UgeworCX0gZWxzZSB7CiAJCW1jYnNwX2NmZy5wY3IwICY9IH5DTEtYTTsKIAkJbWNic3BfY2ZnLnNyZ3IxIHw9IENMS0dEVigxKTsKIAkJbWNic3BfY2ZnLnBjcjAgJj0gfkZTWE07CkBAIC04NDYsMTk5ICs3OTcsOTkgQEAKIAogCW9tYXBfbWNic3BfY29uZmlnKGlkLCAmbWNic3BfY2ZnKTsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NldF9zcGlfbW9kZSk7CiAKIC8qCiAgKiBNY0JTUDEgYW5kIE1jQlNQMyBhcmUgZGlyZWN0bHkgbWFwcGVkIG9uIDE2MTAgYW5kIDE1MTAuCiAgKiA3MzAgaGFzIG9ubHkgMiBNY0JTUCwgYW5kIGJvdGggb2YgdGhlbSBhcmUgTVBVIHBlcmlwaGVyYWxzLgogICovCi1zdHJ1Y3Qgb21hcF9tY2JzcF9pbmZvIHsKLQl1MzIgdmlydF9iYXNlOwotCXU4IGRtYV9yeF9zeW5jLCBkbWFfdHhfc3luYzsKLQl1MTYgcnhfaXJxLCB0eF9pcnE7Ci19OwotCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDczMAotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfNzMwW10gPSB7Ci0JWzBdID0geyAudmlydF9iYXNlID0gaW9fcDJ2KE9NQVA3MzBfTUNCU1AxX0JBU0UpLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQMV9UWCwKLQkJLnJ4X2lycSA9IElOVF83MzBfTWNCU1AxUlgsCi0JCS50eF9pcnEgPSBJTlRfNzMwX01jQlNQMVRYIH0sCi0JWzFdID0geyAudmlydF9iYXNlID0gaW9fcDJ2KE9NQVA3MzBfTUNCU1AyX0JBU0UpLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDNfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQM19UWCwKLQkJLnJ4X2lycSA9IElOVF83MzBfTWNCU1AyUlgsCi0JCS50eF9pcnEgPSBJTlRfNzMwX01jQlNQMlRYIH0sCi19OwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTVYWAotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfMTUxMFtdID0gewotCVswXSA9IHsgLnZpcnRfYmFzZSA9IE9NQVAxNTEwX01DQlNQMV9CQVNFLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQMV9UWCwKLQkJLnJ4X2lycSA9IElOVF9NY0JTUDFSWCwKLQkJLnR4X2lycSA9IElOVF9NY0JTUDFUWCB9LAotCVsxXSA9IHsgLnZpcnRfYmFzZSA9IGlvX3AydihPTUFQMTUxMF9NQ0JTUDJfQkFTRSksCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQMl9SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AyX1RYLAotCQkucnhfaXJxID0gSU5UXzE1MTBfU1BJX1JYLAotCQkudHhfaXJxID0gSU5UXzE1MTBfU1BJX1RYIH0sCi0JWzJdID0geyAudmlydF9iYXNlID0gT01BUDE1MTBfTUNCU1AzX0JBU0UsCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQM19SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AzX1RYLAotCQkucnhfaXJxID0gSU5UX01jQlNQM1JYLAotCQkudHhfaXJxID0gSU5UX01jQlNQM1RYIH0sCi19OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNlhYKQotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfMTYxMFtdID0gewotCVswXSA9IHsgLnZpcnRfYmFzZSA9IE9NQVAxNjEwX01DQlNQMV9CQVNFLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQMV9UWCwKLQkJLnJ4X2lycSA9IElOVF9NY0JTUDFSWCwKLQkJLnR4X2lycSA9IElOVF9NY0JTUDFUWCB9LAotCVsxXSA9IHsgLnZpcnRfYmFzZSA9IGlvX3AydihPTUFQMTYxMF9NQ0JTUDJfQkFTRSksCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQMl9SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AyX1RYLAotCQkucnhfaXJxID0gSU5UXzE2MTBfTWNCU1AyX1JYLAotCQkudHhfaXJxID0gSU5UXzE2MTBfTWNCU1AyX1RYIH0sCi0JWzJdID0geyAudmlydF9iYXNlID0gT01BUDE2MTBfTUNCU1AzX0JBU0UsCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQM19SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AzX1RYLAotCQkucnhfaXJxID0gSU5UX01jQlNQM1JYLAotCQkudHhfaXJxID0gSU5UX01jQlNQM1RYIH0sCi19OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNFhYKQotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfMjR4eFtdID0gewotCVswXSA9IHsgLnZpcnRfYmFzZSA9IElPX0FERFJFU1MoT01BUDI0WFhfTUNCU1AxX0JBU0UpLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYLAotCQkuZG1hX3R4X3N5bmMgPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1RYLAotCQkucnhfaXJxID0gSU5UXzI0WFhfTUNCU1AxX0lSUV9SWCwKLQkJLnR4X2lycSA9IElOVF8yNFhYX01DQlNQMV9JUlFfVFgsCi0JCX0sCi0JWzFdID0geyAudmlydF9iYXNlID0gSU9fQUREUkVTUyhPTUFQMjRYWF9NQ0JTUDJfQkFTRSksCi0JCS5kbWFfcnhfc3luYyA9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgsCi0JCS5yeF9pcnEgPSBJTlRfMjRYWF9NQ0JTUDJfSVJRX1JYLAotCQkudHhfaXJxID0gSU5UXzI0WFhfTUNCU1AyX0lSUV9UWCwKLQkJfSwKLX07Ci0jZW5kaWYKLQotc3RhdGljIGludCBfX2luaXQgb21hcF9tY2JzcF9pbml0KHZvaWQpCitzdGF0aWMgaW50IF9faW5pdCBvbWFwX21jYnNwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7Ci0JaW50IG1jYnNwX2NvdW50ID0gMCwgaTsKLQlzdGF0aWMgY29uc3Qgc3RydWN0IG9tYXBfbWNic3BfaW5mbyAqbWNic3BfaW5mbzsKKwlzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpwZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCWludCBpZCA9IHBkZXYtPmlkIC0gMTsKKwlpbnQgcmV0ID0gMDsKIAotCXByaW50aygiSW5pdGlhbGl6aW5nIE9NQVAgTWNCU1Agc3lzdGVtXG4iKTsKKwlpZiAoIXBkYXRhKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgIk1jQlNQIGRldmljZSBpbml0aWFsaXplZCB3aXRob3V0IgorCQkJCSJwbGF0Zm9ybSBkYXRhXG4iKTsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBleGl0OworCX0KIAotI2lmZGVmIENPTkZJR19BUkNIX09NQVAxCi0JbWNic3BfZHNwX2NrID0gY2xrX2dldCgwLCAiZHNwX2NrIik7Ci0JaWYgKElTX0VSUihtY2JzcF9kc3BfY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIGRzcF9jayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3BfZHNwX2NrKTsKLQl9Ci0JbWNic3BfYXBpX2NrID0gY2xrX2dldCgwLCAiYXBpX2NrIik7Ci0JaWYgKElTX0VSUihtY2JzcF9hcGlfY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIGFwaV9jayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3BfYXBpX2NrKTsKLQl9Ci0JbWNic3BfZHNweG9yX2NrID0gY2xrX2dldCgwLCAiZHNweG9yX2NrIik7Ci0JaWYgKElTX0VSUihtY2JzcF9kc3B4b3JfY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIGRzcHhvcl9jayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3BfZHNweG9yX2NrKTsKLQl9Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMgotCW1jYnNwMV9pY2sgPSBjbGtfZ2V0KDAsICJtY2JzcDFfaWNrIik7Ci0JaWYgKElTX0VSUihtY2JzcDFfaWNrKSkgewotCQlwcmludGsoS0VSTl9FUlIgIm1jYnNwOiBjb3VsZCBub3QgYWNxdWlyZSBtY2JzcDFfaWNrIGhhbmRsZS5cbiIpOwotCQlyZXR1cm4gUFRSX0VSUihtY2JzcDFfaWNrKTsKLQl9Ci0JbWNic3AxX2ZjayA9IGNsa19nZXQoMCwgIm1jYnNwMV9mY2siKTsKLQlpZiAoSVNfRVJSKG1jYnNwMV9mY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIG1jYnNwMV9mY2sgaGFuZGxlLlxuIik7Ci0JCXJldHVybiBQVFJfRVJSKG1jYnNwMV9mY2spOwotCX0KLQltY2JzcDJfaWNrID0gY2xrX2dldCgwLCAibWNic3AyX2ljayIpOwotCWlmIChJU19FUlIobWNic3AyX2ljaykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJtY2JzcDogY291bGQgbm90IGFjcXVpcmUgbWNic3AyX2ljayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3AyX2ljayk7Ci0JfQotCW1jYnNwMl9mY2sgPSBjbGtfZ2V0KDAsICJtY2JzcDJfZmNrIik7Ci0JaWYgKElTX0VSUihtY2JzcDJfZmNrKSkgewotCQlwcmludGsoS0VSTl9FUlIgIm1jYnNwOiBjb3VsZCBub3QgYWNxdWlyZSBtY2JzcDJfZmNrIGhhbmRsZS5cbiIpOwotCQlyZXR1cm4gUFRSX0VSUihtY2JzcDJfZmNrKTsKLQl9Ci0jZW5kaWYKKwlkZXZfZGJnKCZwZGV2LT5kZXYsICJJbml0aWFsaXppbmcgT01BUCBNY0JTUCAoJWQpLlxuIiwgcGRldi0+aWQpOwogCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDczMAotCWlmIChjcHVfaXNfb21hcDczMCgpKSB7Ci0JCW1jYnNwX2luZm8gPSBtY2JzcF83MzA7Ci0JCW1jYnNwX2NvdW50ID0gQVJSQVlfU0laRShtY2JzcF83MzApOworCWlmIChpZCA+PSBPTUFQX01BWF9NQ0JTUF9DT1VOVCkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJJbnZhbGlkIE1jQlNQIGRldmljZSBpZCAoJWQpXG4iLCBpZCk7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gZXhpdDsKIAl9Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTVYWAotCWlmIChjcHVfaXNfb21hcDE1eHgoKSkgewotCQltY2JzcF9pbmZvID0gbWNic3BfMTUxMDsKLQkJbWNic3BfY291bnQgPSBBUlJBWV9TSVpFKG1jYnNwXzE1MTApOwotCX0KLSNlbmRpZgotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDE2WFgpCi0JaWYgKGNwdV9pc19vbWFwMTZ4eCgpKSB7Ci0JCW1jYnNwX2luZm8gPSBtY2JzcF8xNjEwOwotCQltY2JzcF9jb3VudCA9IEFSUkFZX1NJWkUobWNic3BfMTYxMCk7Ci0JfQotI2VuZGlmCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjRYWCkKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJbWNic3BfaW5mbyA9IG1jYnNwXzI0eHg7Ci0JCW1jYnNwX2NvdW50ID0gQVJSQVlfU0laRShtY2JzcF8yNHh4KTsKLQkJb21hcDJfbWNic3AyX211eF9zZXR1cCgpOwotCX0KLSNlbmRpZgotCWZvciAoaSA9IDA7IGkgPCBPTUFQX01BWF9NQ0JTUF9DT1VOVCA7IGkrKykgewotCQlpZiAoaSA+PSBtY2JzcF9jb3VudCkgewotCQkJbWNic3BbaV0uaW9fYmFzZSA9IDA7Ci0JCQltY2JzcFtpXS5mcmVlID0gMDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCQl9Ci0JCW1jYnNwW2ldLmlkID0gaSArIDE7Ci0JCW1jYnNwW2ldLmZyZWUgPSAxOwotCQltY2JzcFtpXS5kbWFfdHhfbGNoID0gLTE7Ci0JCW1jYnNwW2ldLmRtYV9yeF9sY2ggPSAtMTsKIAotCQltY2JzcFtpXS5pb19iYXNlID0gbWNic3BfaW5mb1tpXS52aXJ0X2Jhc2U7Ci0JCW1jYnNwW2ldLmlvX3R5cGUgPSBPTUFQX01DQlNQX0lSUV9JTzsgLyogRGVmYXVsdCBJL08gaXMgSVJRIGJhc2VkICovCi0JCW1jYnNwW2ldLnR4X2lycSA9IG1jYnNwX2luZm9baV0udHhfaXJxOwotCQltY2JzcFtpXS5yeF9pcnEgPSBtY2JzcF9pbmZvW2ldLnJ4X2lycTsKLQkJbWNic3BbaV0uZG1hX3J4X3N5bmMgPSBtY2JzcF9pbmZvW2ldLmRtYV9yeF9zeW5jOwotCQltY2JzcFtpXS5kbWFfdHhfc3luYyA9IG1jYnNwX2luZm9baV0uZG1hX3R4X3N5bmM7Ci0JCXNwaW5fbG9ja19pbml0KCZtY2JzcFtpXS5sb2NrKTsKKwlzcGluX2xvY2tfaW5pdCgmbWNic3BbaWRdLmxvY2spOworCW1jYnNwW2lkXS5pZCA9IGlkICsgMTsKKwltY2JzcFtpZF0uZnJlZSA9IDE7CisJbWNic3BbaWRdLmRtYV90eF9sY2ggPSAtMTsKKwltY2JzcFtpZF0uZG1hX3J4X2xjaCA9IC0xOworCisJbWNic3BbaWRdLmlvX2Jhc2UgPSBwZGF0YS0+dmlydF9iYXNlOworCS8qIERlZmF1bHQgSS9PIGlzIElSUSBiYXNlZCAqLworCW1jYnNwW2lkXS5pb190eXBlID0gT01BUF9NQ0JTUF9JUlFfSU87CisJbWNic3BbaWRdLnR4X2lycSA9IHBkYXRhLT50eF9pcnE7CisJbWNic3BbaWRdLnJ4X2lycSA9IHBkYXRhLT5yeF9pcnE7CisJbWNic3BbaWRdLmRtYV9yeF9zeW5jID0gcGRhdGEtPmRtYV9yeF9zeW5jOworCW1jYnNwW2lkXS5kbWFfdHhfc3luYyA9IHBkYXRhLT5kbWFfdHhfc3luYzsKKworCWlmIChwZGF0YS0+Y2xrX25hbWUpCisJCW1jYnNwW2lkXS5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsIHBkYXRhLT5jbGtfbmFtZSk7CisJaWYgKElTX0VSUihtY2JzcFtpZF0uY2xrKSkgeworCQltY2JzcFtpZF0uZnJlZSA9IDA7CisJCWRldl9lcnIoJnBkZXYtPmRldiwKKwkJCSJJbnZhbGlkIGNsb2NrIGNvbmZpZ3VyYXRpb24gZm9yIE1jQlNQJWQuXG4iLAorCQkJbWNic3BbaWRdLmlkKTsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBleGl0OworCX0KKworCW1jYnNwW2lkXS5wZGF0YSA9IHBkYXRhOworCW1jYnNwW2lkXS5kZXYgPSAmcGRldi0+ZGV2OworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsICZtY2JzcFtpZF0pOworCitleGl0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgb21hcF9tY2JzcCAqbWNic3AgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOworCWlmIChtY2JzcCkgeworCisJCWlmIChtY2JzcC0+cGRhdGEgJiYgbWNic3AtPnBkYXRhLT5vcHMgJiYKKwkJCQltY2JzcC0+cGRhdGEtPm9wcy0+ZnJlZSkKKwkJCW1jYnNwLT5wZGF0YS0+b3BzLT5mcmVlKG1jYnNwLT5pZCk7CisKKwkJY2xrX2Rpc2FibGUobWNic3AtPmNsayk7CisJCWNsa19wdXQobWNic3AtPmNsayk7CisKKwkJbWNic3AtPmNsayA9IE5VTEw7CisJCW1jYnNwLT5mcmVlID0gMDsKKwkJbWNic3AtPmRldiA9IE5VTEw7CiAJfQogCiAJcmV0dXJuIDA7CiB9CiAKLWFyY2hfaW5pdGNhbGwob21hcF9tY2JzcF9pbml0KTsKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG9tYXBfbWNic3BfZHJpdmVyID0geworCS5wcm9iZQkJPSBvbWFwX21jYnNwX3Byb2JlLAorCS5yZW1vdmUJCT0gb21hcF9tY2JzcF9yZW1vdmUsCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gIm9tYXAtbWNic3AiLAorCX0sCit9OwogCi1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfY29uZmlnKTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9yZXF1ZXN0KTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9zZXRfaW9fdHlwZSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfZnJlZSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3Bfc3RhcnQpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3N0b3ApOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3BvbGxyZWFkKTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9wb2xsd3JpdGUpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3htaXRfd29yZCk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcmVjdl93b3JkKTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF94bWl0X2J1ZmZlcik7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcmVjdl9idWZmZXIpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfeG1pdF93b3JkX3BvbGwpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfcmVjdl93b3JkX3BvbGwpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NldF9zcGlfbW9kZSk7CitpbnQgX19pbml0IG9tYXBfbWNic3BfaW5pdCh2b2lkKQoreworCS8qIFJlZ2lzdGVyIHRoZSBNY0JTUCBkcml2ZXIgKi8KKwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZvbWFwX21jYnNwX2RyaXZlcik7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9zcmFtLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvc3JhbS5jCmluZGV4IDFmMjNmMDQuLjU1NGVlNTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9zcmFtLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL3NyYW0uYwpAQCAtMTAsNiArMTAsNyBAQAogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKICAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogICovCisjdW5kZWYgREVCVUcKIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpAQCAtMjQsMjUgKzI1LDQzIEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvc3JhbS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAKKyNpbmNsdWRlIDxhc20vYXJjaC9jb250cm9sLmg+CisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQorIyBpbmNsdWRlICIuLi9tYWNoLW9tYXAyL3BybS5oIgorIyBpbmNsdWRlICIuLi9tYWNoLW9tYXAyL2NtLmgiCisjIGluY2x1ZGUgIi4uL21hY2gtb21hcDIvc2RyYy5oIgorI2VuZGlmCisKICNkZWZpbmUgT01BUDFfU1JBTV9QQQkJMHgyMDAwMDAwMAotI2RlZmluZSBPTUFQMV9TUkFNX1ZBCQkweGQwMDAwMDAwCisjZGVmaW5lIE9NQVAxX1NSQU1fVkEJCVZNQUxMT0NfRU5ECiAjZGVmaW5lIE9NQVAyX1NSQU1fUEEJCTB4NDAyMDAwMDAKICNkZWZpbmUgT01BUDJfU1JBTV9QVUJfUEEJMHg0MDIwZjgwMAotI2RlZmluZSBPTUFQMl9TUkFNX1ZBCQkweGQwMDAwMDAwCi0jZGVmaW5lIE9NQVAyX1NSQU1fUFVCX1ZBCTB4ZDAwMDA4MDAKKyNkZWZpbmUgT01BUDJfU1JBTV9WQQkJVk1BTExPQ19FTkQKKyNkZWZpbmUgT01BUDJfU1JBTV9QVUJfVkEJKFZNQUxMT0NfRU5EICsgMHg4MDApCisjZGVmaW5lIE9NQVAzX1NSQU1fUEEgICAgICAgICAgIDB4NDAyMDAwMDAKKyNkZWZpbmUgT01BUDNfU1JBTV9WQSAgICAgICAgICAgMHhkNzAwMDAwMAorI2RlZmluZSBPTUFQM19TUkFNX1BVQl9QQSAgICAgICAweDQwMjA4MDAwCisjZGVmaW5lIE9NQVAzX1NSQU1fUFVCX1ZBICAgICAgIDB4ZDcwMDgwMDAKIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0WFgpCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjRYWCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMzRYWCkKICNkZWZpbmUgU1JBTV9CT09UTE9BREVSX1NaCTB4MDAKICNlbHNlCiAjZGVmaW5lIFNSQU1fQk9PVExPQURFUl9TWgkweDgwCiAjZW5kaWYKIAotI2RlZmluZSBWQV9SRVFJTkZPUEVSTTAJCUlPX0FERFJFU1MoMHg2ODAwNTA0OCkKLSNkZWZpbmUgVkFfUkVBRFBFUk0wCQlJT19BRERSRVNTKDB4NjgwMDUwNTApCi0jZGVmaW5lIFZBX1dSSVRFUEVSTTAJCUlPX0FERFJFU1MoMHg2ODAwNTA1OCkKLSNkZWZpbmUgVkFfQ09OVFJPTF9TVEFUCQlJT19BRERSRVNTKDB4NDgwMDAyRjgpCisjZGVmaW5lIE9NQVAyNFhYX1ZBX1JFUUlORk9QRVJNMAlJT19BRERSRVNTKDB4NjgwMDUwNDgpCisjZGVmaW5lIE9NQVAyNFhYX1ZBX1JFQURQRVJNMAkJSU9fQUREUkVTUygweDY4MDA1MDUwKQorI2RlZmluZSBPTUFQMjRYWF9WQV9XUklURVBFUk0wCQlJT19BRERSRVNTKDB4NjgwMDUwNTgpCisKKyNkZWZpbmUgT01BUDM0WFhfVkFfUkVRSU5GT1BFUk0wCUlPX0FERFJFU1MoMHg2ODAxMjg0OCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfUkVBRFBFUk0wCQlJT19BRERSRVNTKDB4NjgwMTI4NTApCisjZGVmaW5lIE9NQVAzNFhYX1ZBX1dSSVRFUEVSTTAJCUlPX0FERFJFU1MoMHg2ODAxMjg1OCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfQUREUl9NQVRDSDIJCUlPX0FERFJFU1MoMHg2ODAxMjg4MCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfU01TX1JHX0FUVDAJCUlPX0FERFJFU1MoMHg2QzAwMDA0OCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfQ09OVFJPTF9TVEFUCUlPX0FERFJFU1MoMHg0ODAwMjJGMCkKKwogI2RlZmluZSBHUF9ERVZJQ0UJCTB4MzAwCi0jZGVmaW5lIFRZUEVfTUFTSwkJMHg3MDAKIAogI2RlZmluZSBST1VORF9ET1dOKHZhbHVlLGJvdW5kYXJ5KQkoKHZhbHVlKSAmICh+KChib3VuZGFyeSktMSkpKQogCkBAIC02OCwxNCArODcsMjEgQEAKIAlpbnQgdHlwZSA9IDA7CiAKIAlpZiAoY3B1X2lzX29tYXAyNDJ4KCkpCi0JCXR5cGUgPSBfX3Jhd19yZWFkbChWQV9DT05UUk9MX1NUQVQpICYgVFlQRV9NQVNLOworCQl0eXBlID0gc3lzdGVtX3JldiAmIE9NQVAyX0RFVklDRVRZUEVfTUFTSzsKIAogCWlmICh0eXBlID09IEdQX0RFVklDRSkgewogCQkvKiBSQU1GVzogUi9XIGFjY2VzcyB0byBhbGwgaW5pdGlhdG9ycyBmb3IgYWxsIHF1YWxpZmllciBzZXRzICovCiAJCWlmIChjcHVfaXNfb21hcDI0MngoKSkgewotCQkJX19yYXdfd3JpdGVsKDB4RkYsIFZBX1JFUUlORk9QRVJNMCk7IC8qIGFsbCBxLXZlY3RzICovCi0JCQlfX3Jhd193cml0ZWwoMHhDRkRFLCBWQV9SRUFEUEVSTTApOyAgLyogYWxsIGktcmVhZCAqLwotCQkJX19yYXdfd3JpdGVsKDB4Q0ZERSwgVkFfV1JJVEVQRVJNMCk7IC8qIGFsbCBpLXdyaXRlICovCisJCQlfX3Jhd193cml0ZWwoMHhGRiwgT01BUDI0WFhfVkFfUkVRSU5GT1BFUk0wKTsgLyogYWxsIHEtdmVjdHMgKi8KKwkJCV9fcmF3X3dyaXRlbCgweENGREUsIE9NQVAyNFhYX1ZBX1JFQURQRVJNMCk7ICAvKiBhbGwgaS1yZWFkICovCisJCQlfX3Jhd193cml0ZWwoMHhDRkRFLCBPTUFQMjRYWF9WQV9XUklURVBFUk0wKTsgLyogYWxsIGktd3JpdGUgKi8KKwkJfQorCQlpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJCV9fcmF3X3dyaXRlbCgweEZGRkYsIE9NQVAzNFhYX1ZBX1JFUUlORk9QRVJNMCk7IC8qIGFsbCBxLXZlY3RzICovCisJCQlfX3Jhd193cml0ZWwoMHhGRkZGLCBPTUFQMzRYWF9WQV9SRUFEUEVSTTApOyAgLyogYWxsIGktcmVhZCAqLworCQkJX19yYXdfd3JpdGVsKDB4RkZGRiwgT01BUDM0WFhfVkFfV1JJVEVQRVJNMCk7IC8qIGFsbCBpLXdyaXRlICovCisJCQlfX3Jhd193cml0ZWwoMHgwLCBPTUFQMzRYWF9WQV9BRERSX01BVENIMik7CisJCQlfX3Jhd193cml0ZWwoMHhGRkZGRkZGRiwgT01BUDM0WFhfVkFfU01TX1JHX0FUVDApOwogCQl9CiAJCXJldHVybiAwOwogCX0gZWxzZQpAQCAtOTIsMTggKzExOCwzMCBAQAogewogCXVuc2lnbmVkIGxvbmcgcmVzZXJ2ZWQ7CiAKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKIAkJaWYgKGlzX3NyYW1fbG9ja2VkKCkpIHsKLQkJCW9tYXBfc3JhbV9iYXNlID0gT01BUDJfU1JBTV9QVUJfVkE7Ci0JCQlvbWFwX3NyYW1fc3RhcnQgPSBPTUFQMl9TUkFNX1BVQl9QQTsKLQkJCW9tYXBfc3JhbV9zaXplID0gMHg4MDA7IC8qIDJLICovCisJCQlpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJCQlvbWFwX3NyYW1fYmFzZSA9IE9NQVAzX1NSQU1fUFVCX1ZBOworCQkJCW9tYXBfc3JhbV9zdGFydCA9IE9NQVAzX1NSQU1fUFVCX1BBOworCQkJCW9tYXBfc3JhbV9zaXplID0gMHg4MDAwOyAvKiAzMksgKi8KKwkJCX0gZWxzZSB7CisJCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQMl9TUkFNX1BVQl9WQTsKKwkJCQlvbWFwX3NyYW1fc3RhcnQgPSBPTUFQMl9TUkFNX1BVQl9QQTsKKwkJCQlvbWFwX3NyYW1fc2l6ZSA9IDB4ODAwOyAvKiAySyAqLworCQkJfQogCQl9IGVsc2UgewotCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQMl9TUkFNX1ZBOwotCQkJb21hcF9zcmFtX3N0YXJ0ID0gT01BUDJfU1JBTV9QQTsKLQkJCWlmIChjcHVfaXNfb21hcDI0MngoKSkKLQkJCQlvbWFwX3NyYW1fc2l6ZSA9IDB4YTAwMDA7IC8qIDY0MEsgKi8KLQkJCWVsc2UgaWYgKGNwdV9pc19vbWFwMjQzeCgpKQorCQkJaWYgKGNwdV9pc19vbWFwMzR4eCgpKSB7CisJCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQM19TUkFNX1ZBOworCQkJCW9tYXBfc3JhbV9zdGFydCA9IE9NQVAzX1NSQU1fUEE7CiAJCQkJb21hcF9zcmFtX3NpemUgPSAweDEwMDAwOyAvKiA2NEsgKi8KKwkJCX0gZWxzZSB7CisJCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQMl9TUkFNX1ZBOworCQkJCW9tYXBfc3JhbV9zdGFydCA9IE9NQVAyX1NSQU1fUEE7CisJCQkJaWYgKGNwdV9pc19vbWFwMjQyeCgpKQorCQkJCQlvbWFwX3NyYW1fc2l6ZSA9IDB4YTAwMDA7IC8qIDY0MEsgKi8KKwkJCQllbHNlIGlmIChjcHVfaXNfb21hcDI0M3goKSkKKwkJCQkJb21hcF9zcmFtX3NpemUgPSAweDEwMDAwOyAvKiA2NEsgKi8KKwkJCX0KIAkJfQogCX0gZWxzZSB7CiAJCW9tYXBfc3JhbV9iYXNlID0gT01BUDFfU1JBTV9WQTsKQEAgLTE1Nyw2ICsxOTUsMTMgQEAKIAkJb21hcF9zcmFtX2lvX2Rlc2NbMF0ucGZuID0gX19waHlzX3RvX3BmbihiYXNlKTsKIAl9CiAKKwlpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJb21hcF9zcmFtX2lvX2Rlc2NbMF0udmlydHVhbCA9IE9NQVAzX1NSQU1fVkE7CisJCWJhc2UgPSBPTUFQM19TUkFNX1BBOworCQliYXNlID0gUk9VTkRfRE9XTihiYXNlLCBQQUdFX1NJWkUpOworCQlvbWFwX3NyYW1faW9fZGVzY1swXS5wZm4gPSBfX3BoeXNfdG9fcGZuKGJhc2UpOworCX0KKwogCW9tYXBfc3JhbV9pb19kZXNjWzBdLmxlbmd0aCA9IDEwMjQgKiAxMDI0OwkvKiBVc2Ugc2VjdGlvbiBkZXNjICovCiAJaW90YWJsZV9pbml0KG9tYXBfc3JhbV9pb19kZXNjLCBBUlJBWV9TSVpFKG9tYXBfc3JhbV9pb19kZXNjKSk7CiAKQEAgLTE5MSw2ICsyMzYsNyBAQAogCW9tYXBfc3JhbV9jZWlsIC09IHNpemU7CiAJb21hcF9zcmFtX2NlaWwgPSBST1VORF9ET1dOKG9tYXBfc3JhbV9jZWlsLCBzaXplb2Yodm9pZCAqKSk7CiAJbWVtY3B5KCh2b2lkICopb21hcF9zcmFtX2NlaWwsIHN0YXJ0LCBzaXplKTsKKwlmbHVzaF9pY2FjaGVfcmFuZ2UoKHVuc2lnbmVkIGxvbmcpc3RhcnQsICh1bnNpZ25lZCBsb25nKShzdGFydCArIHNpemUpKTsKIAogCXJldHVybiAodm9pZCAqKW9tYXBfc3JhbV9jZWlsOwogfQpAQCAtMjE0LDggKzI2MCw5IEBACiAKIGludCBfX2luaXQgb21hcDFfc3JhbV9pbml0KHZvaWQpCiB7Ci0JX29tYXBfc3JhbV9yZXByb2dyYW1fY2xvY2sgPSBvbWFwX3NyYW1fcHVzaChzcmFtX3JlcHJvZ3JhbV9jbG9jaywKLQkJCQkJCSAgICBzcmFtX3JlcHJvZ3JhbV9jbG9ja19zeik7CisJX29tYXBfc3JhbV9yZXByb2dyYW1fY2xvY2sgPQorCQkJb21hcF9zcmFtX3B1c2gob21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2ssCisJCQkJCW9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrX3N6KTsKIAogCXJldHVybiAwOwogfQpAQCAtMjI0LDcgKzI3MSw3IEBACiAjZGVmaW5lIG9tYXAxX3NyYW1faW5pdCgpCWRvIHt9IHdoaWxlICgwKQogI2VuZGlmCiAKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMgorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDIpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDMpCiAKIHN0YXRpYyB2b2lkICgqX29tYXAyX3NyYW1fZGRyX2luaXQpKHUzMiAqc2xvd19kbGxfY3RybCwgdTMyIGZhc3RfZGxsX2N0cmwsCiAJCQkgICAgICB1MzIgYmFzZV9jcywgdTMyIGZvcmNlX3VubG9jayk7CkBAIC0yNTksMTkgKzMwNiwxMDkgQEAKIAogCXJldHVybiBfb21hcDJfc2V0X3ByY20oZHBsbF9jdHJsX3ZhbCwgc2RyY19yZnJfdmFsLCBieXBhc3MpOwogfQorI2VuZGlmCiAKLWludCBfX2luaXQgb21hcDJfc3JhbV9pbml0KHZvaWQpCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDI0MjAKK2ludCBfX2luaXQgb21hcDI0Mnhfc3JhbV9pbml0KHZvaWQpCiB7Ci0JX29tYXAyX3NyYW1fZGRyX2luaXQgPSBvbWFwX3NyYW1fcHVzaChzcmFtX2Rkcl9pbml0LCBzcmFtX2Rkcl9pbml0X3N6KTsKKwlfb21hcDJfc3JhbV9kZHJfaW5pdCA9IG9tYXBfc3JhbV9wdXNoKG9tYXAyNDJ4X3NyYW1fZGRyX2luaXQsCisJCQkJCW9tYXAyNDJ4X3NyYW1fZGRyX2luaXRfc3opOwogCi0JX29tYXAyX3NyYW1fcmVwcm9ncmFtX3NkcmMgPSBvbWFwX3NyYW1fcHVzaChzcmFtX3JlcHJvZ3JhbV9zZHJjLAotCQkJCQkJICAgIHNyYW1fcmVwcm9ncmFtX3NkcmNfc3opOwotCV9vbWFwMl9zZXRfcHJjbSA9IG9tYXBfc3JhbV9wdXNoKHNyYW1fc2V0X3ByY20sIHNyYW1fc2V0X3ByY21fc3opOworCV9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9zZHJjID0gb21hcF9zcmFtX3B1c2gob21hcDI0Mnhfc3JhbV9yZXByb2dyYW1fc2RyYywKKwkJCQkJICAgIG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmNfc3opOworCisJX29tYXAyX3NldF9wcmNtID0gb21hcF9zcmFtX3B1c2gob21hcDI0Mnhfc3JhbV9zZXRfcHJjbSwKKwkJCQkJIG9tYXAyNDJ4X3NyYW1fc2V0X3ByY21fc3opOwogCiAJcmV0dXJuIDA7CiB9CiAjZWxzZQotI2RlZmluZSBvbWFwMl9zcmFtX2luaXQoKQlkbyB7fSB3aGlsZSAoMCkKK3N0YXRpYyBpbmxpbmUgaW50IG9tYXAyNDJ4X3NyYW1faW5pdCh2b2lkKQoreworCXJldHVybiAwOworfQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMjQzMAoraW50IF9faW5pdCBvbWFwMjQzeF9zcmFtX2luaXQodm9pZCkKK3sKKwlfb21hcDJfc3JhbV9kZHJfaW5pdCA9IG9tYXBfc3JhbV9wdXNoKG9tYXAyNDN4X3NyYW1fZGRyX2luaXQsCisJCQkJCW9tYXAyNDN4X3NyYW1fZGRyX2luaXRfc3opOworCisJX29tYXAyX3NyYW1fcmVwcm9ncmFtX3NkcmMgPSBvbWFwX3NyYW1fcHVzaChvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjLAorCQkJCQkgICAgb21hcDI0M3hfc3JhbV9yZXByb2dyYW1fc2RyY19zeik7CisKKwlfb21hcDJfc2V0X3ByY20gPSBvbWFwX3NyYW1fcHVzaChvbWFwMjQzeF9zcmFtX3NldF9wcmNtLAorCQkJCQkgb21hcDI0M3hfc3JhbV9zZXRfcHJjbV9zeik7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBvbWFwMjQzeF9zcmFtX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDMKKworc3RhdGljIHUzMiAoKl9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9ncG1jKSh1MzIgcGVyZl9sZXZlbCk7Cit1MzIgb21hcDJfc3JhbV9yZXByb2dyYW1fZ3BtYyh1MzIgcGVyZl9sZXZlbCkKK3sKKwlpZiAoIV9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9ncG1jKQorCQlvbWFwX3NyYW1fZXJyb3IoKTsKKworCXJldHVybiBfb21hcDJfc3JhbV9yZXByb2dyYW1fZ3BtYyhwZXJmX2xldmVsKTsKK30KKworc3RhdGljIHUzMiAoKl9vbWFwMl9zcmFtX2NvbmZpZ3VyZV9jb3JlX2RwbGwpKHUzMiBtLCB1MzIgbiwKKwkJCQkJCXUzMiBmcmVxc2VsLCB1MzIgbTIpOwordTMyIG9tYXAyX3NyYW1fY29uZmlndXJlX2NvcmVfZHBsbCh1MzIgbSwgdTMyIG4sIHUzMiBmcmVxc2VsLCB1MzIgbTIpCit7CisJaWYgKCFfb21hcDJfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsKQorCQlvbWFwX3NyYW1fZXJyb3IoKTsKKworCXJldHVybiBfb21hcDJfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsKG0sIG4sIGZyZXFzZWwsIG0yKTsKK30KKworLyogUkVWSVNJVDogU2hvdWxkIHRoaXMgYmUgc2FtZSBhcyBvbWFwMzR4eF9zcmFtX2luaXQoKSBhZnRlciBvZmYtaWRsZT8gKi8KK3ZvaWQgcmVzdG9yZV9zcmFtX2Z1bmN0aW9ucyh2b2lkKQoreworCW9tYXBfc3JhbV9jZWlsID0gb21hcF9zcmFtX2Jhc2UgKyBvbWFwX3NyYW1fc2l6ZTsKKworCV9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9ncG1jID0gb21hcF9zcmFtX3B1c2gob21hcDM0eHhfc3JhbV9yZXByb2dyYW1fZ3BtYywKKwkJb21hcDM0eHhfc3JhbV9yZXByb2dyYW1fZ3BtY19zeik7CisKKwlfb21hcDJfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsID0KKwkJCW9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fY29uZmlndXJlX2NvcmVfZHBsbCwKKwkJCQkJb21hcDM0eHhfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsX3N6KTsKK30KKworaW50IF9faW5pdCBvbWFwMzR4eF9zcmFtX2luaXQodm9pZCkKK3sKKwlfb21hcDJfc3JhbV9kZHJfaW5pdCA9IG9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fZGRyX2luaXQsCisJCQkJCW9tYXAzNHh4X3NyYW1fZGRyX2luaXRfc3opOworCisJX29tYXAyX3NyYW1fcmVwcm9ncmFtX3NkcmMgPSBvbWFwX3NyYW1fcHVzaChvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9zZHJjLAorCQkJCQlvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KTsKKworCV9vbWFwMl9zZXRfcHJjbSA9IG9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fc2V0X3ByY20sCisJCQkJCW9tYXAzNHh4X3NyYW1fc2V0X3ByY21fc3opOworCisJX29tYXAyX3NyYW1fcmVwcm9ncmFtX2dwbWMgPSBvbWFwX3NyYW1fcHVzaChvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9ncG1jLAorCQkJCQlvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9ncG1jX3N6KTsKKworCV9vbWFwMl9zcmFtX2NvbmZpZ3VyZV9jb3JlX2RwbGwgPQorCQkJCW9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fY29uZmlndXJlX2NvcmVfZHBsbCwKKwkJCQkJb21hcDM0eHhfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsX3N6KTsKKworCXJldHVybiAwOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IG9tYXAzNHh4X3NyYW1faW5pdCh2b2lkKQoreworCXJldHVybiAwOworfQogI2VuZGlmCiAKIGludCBfX2luaXQgb21hcF9zcmFtX2luaXQodm9pZCkKQEAgLTI3OSwxMCArNDE2LDE0IEBACiAJb21hcF9kZXRlY3Rfc3JhbSgpOwogCW9tYXBfbWFwX3NyYW0oKTsKIAotCWlmICghY3B1X2lzX29tYXAyNHh4KCkpCisJaWYgKCEoY3B1X2NsYXNzX2lzX29tYXAyKCkpKQogCQlvbWFwMV9zcmFtX2luaXQoKTsKLQllbHNlCi0JCW9tYXAyX3NyYW1faW5pdCgpOworCWVsc2UgaWYgKGNwdV9pc19vbWFwMjQyeCgpKQorCQlvbWFwMjQyeF9zcmFtX2luaXQoKTsKKwllbHNlIGlmIChjcHVfaXNfb21hcDI0MzAoKSkKKwkJb21hcDI0M3hfc3JhbV9pbml0KCk7CisJZWxzZSBpZiAoY3B1X2lzX29tYXAzNHh4KCkpCisJCW9tYXAzNHh4X3NyYW1faW5pdCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW9tYXAvdXNiLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvdXNiLmMKaW5kZXggYTYxOTQ3NS4uMjY5OWMxNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL3VzYi5jCisrKyBiL2FyY2gvYXJtL3BsYXQtb21hcC91c2IuYwpAQCAtMSw0ICsxLDQgQEAKLS8qCisgLyoKICAqIGFyY2gvYXJtL3BsYXQtb21hcC91c2IuYyAtLSBwbGF0Zm9ybSBsZXZlbCBVU0IgaW5pdGlhbGl6YXRpb24KICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQgVGV4YXMgSW5zdHJ1bWVudHMsIEluYy4KQEAgLTE1Niw4ICsxNTYsMTIgQEAKIAogCWlmIChud2lyZXMgPT0gMCkgewogCQlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCQl1MzIgbDsKKwogCQkJLyogcHVsbGRvd24gRCsvRC0gKi8KLQkJCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyAmPSB+KDMgPDwgMSk7CisJCQlsID0gb21hcF9yZWFkbChVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJCQlsICY9IH4oMyA8PCAxKTsKKwkJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKIAkJfQogCQlyZXR1cm4gMDsKIAl9CkBAIC0xNzEsNiArMTc1LDggQEAKIAogCS8qIGludGVybmFsIHRyYW5zY2VpdmVyICh1bmF2YWlsYWJsZSBvbiAxN3h4LCAyNHh4KSAqLwogCWlmICghY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgbndpcmVzID09IDIpIHsKKwkJdTMyIGw7CisKIAkJLy8gb21hcF9jZmdfcmVnKFA5X1VTQl9EUCk7CiAJCS8vIG9tYXBfY2ZnX3JlZyhSOF9VU0JfRE0pOwogCkBAIC0xODUsOSArMTkxLDExIEBACiAJCSAqICAtIE9URyBzdXBwb3J0IG9uIHRoaXMgcG9ydCBub3QgeWV0IHdyaXR0ZW4KIAkJICovCiAKLQkJVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHICY9IH4oNyA8PCA0KTsKKwkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQlsICY9IH4oNyA8PCA0KTsKIAkJaWYgKCFpc19kZXZpY2UpCi0JCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gKDMgPDwgMSk7CisJCQlsIHw9ICgzIDw8IDEpOworCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CiAKIAkJcmV0dXJuIDMgPDwgMTY7CiAJfQpAQCAtMjE3LDggKzIyNSwxMyBAQAogCSAqIHdpdGggVkJVUyBzd2l0Y2hpbmcgYW5kIG92ZXJjdXJyZW50IGRldGVjdGlvbi4KIAkgKi8KIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiBud2lyZXMgIT0gNikKLQkJVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHICY9IH5DT05GX1VTQjJfVU5JX1I7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpICYmIG53aXJlcyAhPSA2KSB7CisJCXUzMiBsOworCisJCWwgPSBvbWFwX3JlYWRsKFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKKwkJbCAmPSB+Q09ORl9VU0IyX1VOSV9SOworCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJfQogCiAJc3dpdGNoIChud2lyZXMpIHsKIAljYXNlIDM6CkBAIC0yMzgsOSArMjUxLDEzIEBACiAJCQlvbWFwX2NmZ19yZWcoSzIwXzI0WFhfVVNCMF9WTSk7CiAJCQlvbWFwMl91c2JfZGV2Y29uZl9zZXQoMCwgVVNCX1VOSURJUik7CiAJCX0gZWxzZSB7CisJCQl1MzIgbDsKKwogCQkJb21hcF9jZmdfcmVnKEFBOV9VU0IwX1ZQKTsKIAkJCW9tYXBfY2ZnX3JlZyhSOV9VU0IwX1ZNKTsKLQkJCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyB8PSBDT05GX1VTQjJfVU5JX1I7CisJCQlsID0gb21hcF9yZWFkbChVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJCQlsIHw9IENPTkZfVVNCMl9VTklfUjsKKwkJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKIAkJfQogCQlicmVhazsKIAlkZWZhdWx0OgpAQCAtMjU0LDggKzI3MSwxMyBAQAogewogCXUzMglzeXNjb24xID0gMDsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpCi0JCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyAmPSB+Q09ORl9VU0IxX1VOSV9SOworCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQlsICY9IH5DT05GX1VTQjFfVU5JX1I7CisJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKKwl9CiAJaWYgKGNwdV9pc19vbWFwMjR4eCgpKQogCQlvbWFwMl91c2JfZGV2Y29uZl9jbGVhcigxLCBVU0JfQklESVJfVExMKTsKIApAQCAtMzE2LDggKzMzOCwxMyBAQAogCQlzeXNjb24xID0gMzsKIAkJb21hcF9jZmdfcmVnKFVTQjFfVlApOwogCQlvbWFwX2NmZ19yZWcoVVNCMV9WTSk7Ci0JCWlmICghY3B1X2lzX29tYXAxNXh4KCkpCi0JCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gQ09ORl9VU0IxX1VOSV9SOworCQlpZiAoIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCQl1MzIgbDsKKworCQkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQkJbCB8PSBDT05GX1VTQjFfVU5JX1I7CisJCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJCX0KIAkJYnJlYWs7CiAJZGVmYXVsdDoKIGJhZDoKQEAgLTM0MCw4ICszNjcsMTMgQEAKIAlpZiAoYWx0X3Bpbmdyb3VwIHx8IG53aXJlcyA9PSAwKQogCQlyZXR1cm4gMDsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpCi0JCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyAmPSB+Q09ORl9VU0IyX1VOSV9SOworCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQlsICY9IH5DT05GX1VTQjJfVU5JX1I7CisJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKKwl9CiAKIAkvKiBleHRlcm5hbCB0cmFuc2NlaXZlciAqLwogCWlmIChjcHVfaXNfb21hcDE1eHgoKSkgewpAQCAtNDEwLDkgKzQ0MiwxMyBAQAogCQkJb21hcF9jZmdfcmVnKFVTQjJfVlApOwogCQkJb21hcF9jZmdfcmVnKFVTQjJfVk0pOwogCQl9IGVsc2UgeworCQkJdTMyIGw7CisKIAkJCW9tYXBfY2ZnX3JlZyhBQTlfVVNCMl9WUCk7CiAJCQlvbWFwX2NmZ19yZWcoUjlfVVNCMl9WTSk7Ci0JCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gQ09ORl9VU0IyX1VOSV9SOworCQkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQkJbCB8PSBDT05GX1VTQjJfVU5JX1I7CisJCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CiAJCX0KIAkJYnJlYWs7CiAJZGVmYXVsdDoKQEAgLTUzMSwxMCArNTY3LDYgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotI2RlZmluZSBVTFBEX0NMT0NLX0NUUkxfUkVHCV9fUkVHMTYoVUxQRF9DTE9DS19DVFJMKQotI2RlZmluZSBVTFBEX1NPRlRfUkVRX1JFRwlfX1JFRzE2KFVMUERfU09GVF9SRVEpCi0KLQogLy8gRklYTUUgY29ycmVjdCBhbnN3ZXIgZGVwZW5kcyBvbiBobWNfbW9kZSwKIC8vIGFzIGRvZXMgKG9uIG9tYXAxKSBhbnkgbm9uemVybyB2YWx1ZSBmb3IgY29uZmlnLT5vdGcgcG9ydCBudW1iZXIKICNpZmRlZglDT05GSUdfVVNCX0dBREdFVF9PTUFQCkBAIC01NTAsMTcgKzU4MiwxNyBAQAogdm9pZCBfX2luaXQKIG9tYXBfb3RnX2luaXQoc3RydWN0IG9tYXBfdXNiX2NvbmZpZyAqY29uZmlnKQogewotCXUzMgkJc3lzY29uID0gT1RHX1NZU0NPTl8xX1JFRyAmIDB4ZmZmZjsKKwl1MzIJCXN5c2NvbjsKIAlpbnQJCXN0YXR1czsKIAlpbnQJCWFsdF9waW5ncm91cCA9IDA7CiAKIAkvKiBOT1RFOiAgbm8gYnVzIG9yIGNsb2NrIHNldHVwICh5ZXQ/KSAqLwogCi0Jc3lzY29uID0gT1RHX1NZU0NPTl8xX1JFRyAmIDB4ZmZmZjsKKwlzeXNjb24gPSBvbWFwX3JlYWRsKE9UR19TWVNDT05fMSkgJiAweGZmZmY7CiAJaWYgKCEoc3lzY29uICYgT1RHX1JFU0VUX0RPTkUpKQogCQlwcl9kZWJ1ZygiVVNCIHJlc2V0cyBub3QgY29tcGxldGU/XG4iKTsKIAotCS8vIE9UR19JUlFfRU5fUkVHID0gMDsKKwkvL29tYXBfd3JpdGV3KDAsIE9UR19JUlFfRU4pOwogCiAJLyogcGluIG11eGluZyBhbmQgdHJhbnNjZWl2ZXIgcGlub3V0cyAqLwogCWlmIChjb25maWctPnBpbnNbMF0gPiAyKQkvKiBhbHQgcGluZ3JvdXAgMiAqLwpAQCAtNTY4LDggKzYwMCw4IEBACiAJc3lzY29uIHw9IG9tYXBfdXNiMF9pbml0KGNvbmZpZy0+cGluc1swXSwgaXNfdXNiMF9kZXZpY2UoY29uZmlnKSk7CiAJc3lzY29uIHw9IG9tYXBfdXNiMV9pbml0KGNvbmZpZy0+cGluc1sxXSk7CiAJc3lzY29uIHw9IG9tYXBfdXNiMl9pbml0KGNvbmZpZy0+cGluc1syXSwgYWx0X3Bpbmdyb3VwKTsKLQlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xX1JFRyA9ICUwOHhcbiIsIHN5c2Nvbik7Ci0JT1RHX1NZU0NPTl8xX1JFRyA9IHN5c2NvbjsKKwlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xID0gJTA4eFxuIiwgb21hcF9yZWFkbChPVEdfU1lTQ09OXzEpKTsKKwlvbWFwX3dyaXRlbChzeXNjb24sIE9UR19TWVNDT05fMSk7CiAKIAlzeXNjb24gPSBjb25maWctPmhtY19tb2RlOwogCXN5c2NvbiB8PSBVU0JYX1NZTkNIUk8gfCAoNCA8PCAxNikgLyogQl9BU0UwX0JSU1QgKi87CkBAIC01NzgsOSArNjEwLDEwIEBACiAJCXN5c2NvbiB8PSBPVEdfRU47CiAjZW5kaWYKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpCi0JCXByX2RlYnVnKCJVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgPSAlMDN4XG4iLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcpOwotCXByX2RlYnVnKCJPVEdfU1lTQ09OXzJfUkVHID0gJTA4eFxuIiwgc3lzY29uKTsKLQlPVEdfU1lTQ09OXzJfUkVHID0gc3lzY29uOworCQlwcl9kZWJ1ZygiVVNCX1RSQU5TQ0VJVkVSX0NUUkwgPSAlMDN4XG4iLAorCQkJIG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpKTsKKwlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8yID0gJTA4eFxuIiwgb21hcF9yZWFkbChPVEdfU1lTQ09OXzIpKTsKKwlvbWFwX3dyaXRlbChzeXNjb24sIE9UR19TWVNDT05fMik7CiAKIAlwcmludGsoIlVTQjogaG1jICVkIiwgY29uZmlnLT5obWNfbW9kZSk7CiAJaWYgKCFhbHRfcGluZ3JvdXApCkBAIC01OTcsMTIgKzYzMCwxOSBAQAogCXByaW50aygiXG4iKTsKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgeworCQl1MTYgdzsKKwogCQkvKiBsZWF2ZSBVU0IgY2xvY2tzL2NvbnRyb2xsZXJzIG9mZiB1bnRpbCBuZWVkZWQgKi8KLQkJVUxQRF9TT0ZUX1JFUV9SRUcgJj0gflNPRlRfVVNCX0NMS19SRVE7Ci0JCVVMUERfQ0xPQ0tfQ1RSTF9SRUcgJj0gflVTQl9NQ0xLX0VOOwotCQlVTFBEX0NMT0NLX0NUUkxfUkVHIHw9IERJU19VU0JfUFZDSV9DTEs7CisJCXcgPSBvbWFwX3JlYWR3KFVMUERfU09GVF9SRVEpOworCQl3ICY9IH5TT0ZUX1VTQl9DTEtfUkVROworCQlvbWFwX3dyaXRldyh3LCBVTFBEX1NPRlRfUkVRKTsKKworCQl3ID0gb21hcF9yZWFkdyhVTFBEX0NMT0NLX0NUUkwpOworCQl3ICY9IH5VU0JfTUNMS19FTjsKKwkJdyB8PSBESVNfVVNCX1BWQ0lfQ0xLOworCQlvbWFwX3dyaXRldyh3LCBVTFBEX0NMT0NLX0NUUkwpOwogCX0KLQlzeXNjb24gPSBPVEdfU1lTQ09OXzFfUkVHOworCXN5c2NvbiA9IG9tYXBfcmVhZGwoT1RHX1NZU0NPTl8xKTsKIAlzeXNjb24gfD0gSFNUX0lETEVfRU58REVWX0lETEVfRU58T1RHX0lETEVfRU47CiAKICNpZmRlZglDT05GSUdfVVNCX0dBREdFVF9PTUFQCkBAIC02MzksOCArNjc5LDggQEAKIAkJCXByX2RlYnVnKCJjYW4ndCByZWdpc3RlciBPVEcgZGV2aWNlLCAlZFxuIiwgc3RhdHVzKTsKIAl9CiAjZW5kaWYKLQlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xX1JFRyA9ICUwOHhcbiIsIHN5c2Nvbik7Ci0JT1RHX1NZU0NPTl8xX1JFRyA9IHN5c2NvbjsKKwlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xID0gJTA4eFxuIiwgb21hcF9yZWFkbChPVEdfU1lTQ09OXzEpKTsKKwlvbWFwX3dyaXRlbChzeXNjb24sIE9UR19TWVNDT05fMSk7CiAKIAlzdGF0dXMgPSAwOwogfQpAQCAtNjUzLDE4ICs2OTMsMTkgQEAKIAogI2lmZGVmCUNPTkZJR19BUkNIX09NQVAxNVhYCiAKLSNkZWZpbmUgVUxQRF9EUExMX0NUUkxfUkVHCV9fUkVHMTYoVUxQRF9EUExMX0NUUkwpCisvKiBVTFBEX0RQTExfQ1RSTCAqLwogI2RlZmluZSBEUExMX0lPQgkJKDEgPDwgMTMpCiAjZGVmaW5lIERQTExfUExMX0VOQUJMRQkJKDEgPDwgNCkKICNkZWZpbmUgRFBMTF9MT0NLCQkoMSA8PCAwKQogCi0jZGVmaW5lIFVMUERfQVBMTF9DVFJMX1JFRwlfX1JFRzE2KFVMUERfQVBMTF9DVFJMKQorLyogVUxQRF9BUExMX0NUUkwgKi8KICNkZWZpbmUgQVBMTF9ORFBMTF9TV0lUQ0gJKDEgPDwgMCkKIAogCiBzdGF0aWMgdm9pZCBfX2luaXQgb21hcF8xNTEwX3VzYl9pbml0KHN0cnVjdCBvbWFwX3VzYl9jb25maWcgKmNvbmZpZykKIHsKIAl1bnNpZ25lZCBpbnQgdmFsOworCXUxNiB3OwogCiAJb21hcF91c2IwX2luaXQoY29uZmlnLT5waW5zWzBdLCBpc191c2IwX2RldmljZShjb25maWcpKTsKIAlvbWFwX3VzYjFfaW5pdChjb25maWctPnBpbnNbMV0pOwpAQCAtNjg1LDEyICs3MjYsMjIgQEAKIAlwcmludGsoIlxuIik7CiAKIAkvKiB1c2UgRFBMTCBmb3IgNDggTUh6IGZ1bmN0aW9uIGNsb2NrICovCi0JcHJfZGVidWcoIkFQTEwgJTA0eCBEUExMICUwNHggUkVRICUwNHhcbiIsIFVMUERfQVBMTF9DVFJMX1JFRywKLQkJCVVMUERfRFBMTF9DVFJMX1JFRywgVUxQRF9TT0ZUX1JFUV9SRUcpOwotCVVMUERfQVBMTF9DVFJMX1JFRyAmPSB+QVBMTF9ORFBMTF9TV0lUQ0g7Ci0JVUxQRF9EUExMX0NUUkxfUkVHIHw9IERQTExfSU9CIHwgRFBMTF9QTExfRU5BQkxFOwotCVVMUERfU09GVF9SRVFfUkVHIHw9IFNPRlRfVURDX1JFUSB8IFNPRlRfRFBMTF9SRVE7Ci0Jd2hpbGUgKCEoVUxQRF9EUExMX0NUUkxfUkVHICYgRFBMTF9MT0NLKSkKKwlwcl9kZWJ1ZygiQVBMTCAlMDR4IERQTEwgJTA0eCBSRVEgJTA0eFxuIiwgb21hcF9yZWFkdyhVTFBEX0FQTExfQ1RSTCksCisJCQlvbWFwX3JlYWR3KFVMUERfRFBMTF9DVFJMKSwgb21hcF9yZWFkdyhVTFBEX1NPRlRfUkVRKSk7CisKKwl3ID0gb21hcF9yZWFkdyhVTFBEX0FQTExfQ1RSTCk7CisJdyAmPSB+QVBMTF9ORFBMTF9TV0lUQ0g7CisJb21hcF93cml0ZXcodywgVUxQRF9BUExMX0NUUkwpOworCisJdyA9IG9tYXBfcmVhZHcoVUxQRF9EUExMX0NUUkwpOworCXcgfD0gRFBMTF9JT0IgfCBEUExMX1BMTF9FTkFCTEU7CisJb21hcF93cml0ZXcodywgVUxQRF9EUExMX0NUUkwpOworCisJdyA9IG9tYXBfcmVhZHcoVUxQRF9TT0ZUX1JFUSk7CisJdyB8PSBTT0ZUX1VEQ19SRVEgfCBTT0ZUX0RQTExfUkVROworCW9tYXBfd3JpdGV3KHcsIFVMUERfU09GVF9SRVEpOworCisJd2hpbGUgKCEob21hcF9yZWFkdyhVTFBEX0RQTExfQ1RSTCkgJiBEUExMX0xPQ0spKQogCQljcHVfcmVsYXgoKTsKIAogI2lmZGVmCUNPTkZJR19VU0JfR0FER0VUX09NQVAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vaXJxLmMgYi9hcmNoL2FybS9wbGF0LW9yaW9uL2lycS5jCmluZGV4IGM1YjY2OWQuLmZlNjZhMTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vaXJxLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi9pcnEuYwpAQCAtMzYsOCArMzYsOCBAQAogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIG9yaW9uX2lycV9jaGlwID0gewogCS5uYW1lCQk9ICJvcmlvbl9pcnEiLAotCS5hY2sJCT0gb3Jpb25faXJxX21hc2ssCiAJLm1hc2sJCT0gb3Jpb25faXJxX21hc2ssCisJLm1hc2tfYWNrCT0gb3Jpb25faXJxX21hc2ssCiAJLnVubWFzawkJPSBvcmlvbl9pcnFfdW5tYXNrLAogfTsKIApAQCAtNTksNiArNTksNyBAQAogCQlzZXRfaXJxX2NoaXAoaXJxLCAmb3Jpb25faXJxX2NoaXApOwogCQlzZXRfaXJxX2NoaXBfZGF0YShpcnEsIG1hc2thZGRyKTsKIAkJc2V0X2lycV9oYW5kbGVyKGlycSwgaGFuZGxlX2xldmVsX2lycSk7CisJCWlycV9kZXNjW2lycV0uc3RhdHVzIHw9IElSUV9MRVZFTDsKIAkJc2V0X2lycV9mbGFncyhpcnEsIElSUUZfVkFMSUQpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vcGNpZS5jIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi9wY2llLmMKaW5kZXggYWJmZGE1My4uY2EzMmM2MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vcmlvbi9wY2llLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi9wY2llLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNkZWZpbmUgUENJRV9DT05GX0RBVEFfT0ZGCTB4MThmYwogI2RlZmluZSBQQ0lFX01BU0tfT0ZGCQkweDE5MTAKICNkZWZpbmUgUENJRV9DVFJMX09GRgkJMHgxYTAwCisjZGVmaW5lICBQQ0lFX0NUUkxfWDFfTU9ERQkJMHgwMDAxCiAjZGVmaW5lIFBDSUVfU1RBVF9PRkYJCTB4MWEwNAogI2RlZmluZSAgUENJRV9TVEFUX0RFVl9PRkZTCQkyMAogI2RlZmluZSAgUENJRV9TVEFUX0RFVl9NQVNLCQkweDFmCkBAIC02Miw2ICs2MywxMSBAQAogCXJldHVybiAhKHJlYWRsKGJhc2UgKyBQQ0lFX1NUQVRfT0ZGKSAmIFBDSUVfU1RBVF9MSU5LX0RPV04pOwogfQogCitpbnQgX19pbml0IG9yaW9uX3BjaWVfeDRfbW9kZSh2b2lkIF9faW9tZW0gKmJhc2UpCit7CisJcmV0dXJuICEocmVhZGwoYmFzZSArIFBDSUVfQ1RSTF9PRkYpICYgUENJRV9DVFJMX1gxX01PREUpOworfQorCiBpbnQgb3Jpb25fcGNpZV9nZXRfbG9jYWxfYnVzX25yKHZvaWQgX19pb21lbSAqYmFzZSkKIHsKIAl1MzIgc3RhdCA9IHJlYWRsKGJhc2UgKyBQQ0lFX1NUQVRfT0ZGKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vdGltZS5jIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi90aW1lLmMKaW5kZXggMjhiNTI4NS4uOTNjNGVmOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vcmlvbi90aW1lLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi90aW1lLmMKQEAgLTc0LDcgKzc0LDcgQEAKIAkvKgogCSAqIENsZWFyIGFuZCBlbmFibGUgY2xvY2tldmVudCB0aW1lciBpbnRlcnJ1cHQuCiAJICovCi0Jd3JpdGVsKH5CUklER0VfSU5UX1RJTUVSMSwgQlJJREdFX0NBVVNFKTsKKwl3cml0ZWwoQlJJREdFX0lOVF9USU1FUjFfQ0xSLCBCUklER0VfQ0FVU0UpOwogCiAJdSA9IHJlYWRsKEJSSURHRV9NQVNLKTsKIAl1IHw9IEJSSURHRV9JTlRfVElNRVIxOwpAQCAtMTM4LDcgKzEzOCw3IEBACiAJCS8qCiAJCSAqIEFDSyBwZW5kaW5nIHRpbWVyIGludGVycnVwdC4KIAkJICovCi0JCXdyaXRlbCh+QlJJREdFX0lOVF9USU1FUjEsIEJSSURHRV9DQVVTRSk7CisJCXdyaXRlbChCUklER0VfSU5UX1RJTUVSMV9DTFIsIEJSSURHRV9DQVVTRSk7CiAKIAl9CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwpAQCAtMTU5LDcgKzE1OSw3IEBACiAJLyoKIAkgKiBBQ0sgdGltZXIgaW50ZXJydXB0IGFuZCBjYWxsIGV2ZW50IGhhbmRsZXIuCiAJICovCi0Jd3JpdGVsKH5CUklER0VfSU5UX1RJTUVSMSwgQlJJREdFX0NBVVNFKTsKKwl3cml0ZWwoQlJJREdFX0lOVF9USU1FUjFfQ0xSLCBCUklER0VfQ0FVU0UpOwogCW9yaW9uX2Nsa2V2dC5ldmVudF9oYW5kbGVyKCZvcmlvbl9jbGtldnQpOwogCiAJcmV0dXJuIElSUV9IQU5ETEVEOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L0tjb25maWcgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvS2NvbmZpZwppbmRleCBiNjZmYjNjLi41ZTI4YzIxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9wbGF0LXMzYzI0eHgvS2NvbmZpZworKysgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvS2NvbmZpZwpAQCAtOSw2ICs5LDcgQEAKIAlkZXBlbmRzIG9uIEFSQ0hfUzNDMjQxMAogCWRlZmF1bHQgeSBpZiBBUkNIX1MzQzI0MTAKIAlzZWxlY3QgTk9fSU9QT1JUCisJc2VsZWN0IEhBVkVfR1BJT19MSUIKIAloZWxwCiAJICBCYXNlIHBsYXRmb3JtIGNvZGUgZm9yIGFueSBTYW1zdW5nIFMzQzI0WFggZGV2aWNlCiAKQEAgLTIwLDYgKzIxLDEzIEBACiAJaGVscAogCSAgU3VwcG9ydCBmb3IgUzNDMjQ0MCBhbmQgUzNDMjQ0MiBTYW1zdW5nIE1vYmlsZSBDUFUgYmFzZWQgc3lzdGVtcy4KIAorY29uZmlnIFMzQzI0WFhfUFdNCisJYm9vbCAiUFdNIGRldmljZSBzdXBwb3J0IgorCXNlbGVjdCBIQVZFX1BXTQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIGV4cG9ydGluZyB0aGUgUFdNIHRpbWVyIGJsb2NrcyB2aWEgdGhlIHB3bSBkZXZpY2UKKwkgIHN5c3RlbS4KKwogY29uZmlnIFBNX1NJTVRFQwogCWJvb2wKIAloZWxwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LXMzYzI0eHgvTWFrZWZpbGUgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvTWFrZWZpbGUKaW5kZXggMTMxZDIwMi4uZDgyNzY3YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9NYWtlZmlsZQpAQCAtMTYsOCArMTYsMTAgQEAKIG9iai15CQkJCSs9IGlycS5vCiBvYmoteQkJCQkrPSBkZXZzLm8KIG9iai15CQkJCSs9IGdwaW8ubworb2JqLXkJCQkJKz0gZ3Bpb2xpYi5vCiBvYmoteQkJCQkrPSB0aW1lLm8KIG9iai15CQkJCSs9IGNsb2NrLm8KK29iai15CQkJCSs9IHB3bS1jbG9jay5vCiAKICMgQXJjaGl0ZWN0dXJlIGRlcGVuZGFudCBidWlsZHMKIApAQCAtMjcsNSArMjksNiBAQAogb2JqLSQoQ09ORklHX1BNX1NJTVRFQykJCSs9IHBtLXNpbXRlYy5vCiBvYmotJChDT05GSUdfUE0pCQkrPSBwbS5vCiBvYmotJChDT05GSUdfUE0pCQkrPSBzbGVlcC5vCitvYmotJChDT05GSUdfSEFWRV9QV00pCQkrPSBwd20ubwogb2JqLSQoQ09ORklHX1MzQzI0MTBfRE1BKQkrPSBkbWEubwogb2JqLSQoQ09ORklHX01BQ0hfU01ESykJCSs9IGNvbW1vbi1zbWRrLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9kZXZzLmMgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvZGV2cy5jCmluZGV4IGU1NDZlOTMuLmVlYTNiMzIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9kZXZzLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L2RldnMuYwpAQCAtNDk1LDEwNiArNDk1LDYgQEAKIAogRVhQT1JUX1NZTUJPTChzM2NfZGV2aWNlX3NwaTEpOwogCi0vKiBwd20gdGltZXIgYmxvY2tzICovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgczNjX3RpbWVyMF9yZXNvdXJjZVtdID0gewotCVswXSA9IHsKLQkJLnN0YXJ0ID0gUzNDMjRYWF9QQV9USU1FUiArIDB4MEMsCi0JCS5lbmQgICA9IFMzQzI0WFhfUEFfVElNRVIgKyAweDBDICsgMHhCLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCVsxXSA9IHsKLQkJLnN0YXJ0ID0gSVJRX1RJTUVSMCwKLQkJLmVuZCAgID0gSVJRX1RJTUVSMCwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCi0JfQotCi19OwotCi1zdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIwID0gewotCS5uYW1lCQkgID0gInMzYzI0MTAtdGltZXIiLAotCS5pZAkJICA9IDAsCi0JLm51bV9yZXNvdXJjZXMJICA9IEFSUkFZX1NJWkUoczNjX3RpbWVyMF9yZXNvdXJjZSksCi0JLnJlc291cmNlCSAgPSBzM2NfdGltZXIwX3Jlc291cmNlLAotfTsKLQotRVhQT1JUX1NZTUJPTChzM2NfZGV2aWNlX3RpbWVyMCk7Ci0KLS8qIHRpbWVyIDEgKi8KLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzM2NfdGltZXIxX3Jlc291cmNlW10gPSB7Ci0JWzBdID0gewotCQkuc3RhcnQgPSBTM0MyNFhYX1BBX1RJTUVSICsgMHgxOCwKLQkJLmVuZCAgID0gUzNDMjRYWF9QQV9USU1FUiArIDB4MjMsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JWzFdID0gewotCQkuc3RhcnQgPSBJUlFfVElNRVIxLAotCQkuZW5kICAgPSBJUlFfVElNRVIxLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKLQl9Ci0KLX07Ci0KLXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcjEgPSB7Ci0JLm5hbWUJCSAgPSAiczNjMjQxMC10aW1lciIsCi0JLmlkCQkgID0gMSwKLQkubnVtX3Jlc291cmNlcwkgID0gQVJSQVlfU0laRShzM2NfdGltZXIxX3Jlc291cmNlKSwKLQkucmVzb3VyY2UJICA9IHMzY190aW1lcjFfcmVzb3VyY2UsCi19OwotCi1FWFBPUlRfU1lNQk9MKHMzY19kZXZpY2VfdGltZXIxKTsKLQotLyogdGltZXIgMiAqLwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHMzY190aW1lcjJfcmVzb3VyY2VbXSA9IHsKLQlbMF0gPSB7Ci0JCS5zdGFydCA9IFMzQzI0WFhfUEFfVElNRVIgKyAweDI0LAotCQkuZW5kICAgPSBTM0MyNFhYX1BBX1RJTUVSICsgMHgyRiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQlbMV0gPSB7Ci0JCS5zdGFydCA9IElSUV9USU1FUjIsCi0JCS5lbmQgICA9IElSUV9USU1FUjIsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAotCX0KLQotfTsKLQotc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyMiA9IHsKLQkubmFtZQkJICA9ICJzM2MyNDEwLXRpbWVyIiwKLQkuaWQJCSAgPSAyLAotCS5udW1fcmVzb3VyY2VzCSAgPSBBUlJBWV9TSVpFKHMzY190aW1lcjJfcmVzb3VyY2UpLAotCS5yZXNvdXJjZQkgID0gczNjX3RpbWVyMl9yZXNvdXJjZSwKLX07Ci0KLUVYUE9SVF9TWU1CT0woczNjX2RldmljZV90aW1lcjIpOwotCi0vKiB0aW1lciAzICovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgczNjX3RpbWVyM19yZXNvdXJjZVtdID0gewotCVswXSA9IHsKLQkJLnN0YXJ0ID0gUzNDMjRYWF9QQV9USU1FUiArIDB4MzAsCi0JCS5lbmQgICA9IFMzQzI0WFhfUEFfVElNRVIgKyAweDNCLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCVsxXSA9IHsKLQkJLnN0YXJ0ID0gSVJRX1RJTUVSMywKLQkJLmVuZCAgID0gSVJRX1RJTUVSMywKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCi0JfQotCi19OwotCi1zdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIzID0gewotCS5uYW1lCQkgID0gInMzYzI0MTAtdGltZXIiLAotCS5pZAkJICA9IDMsCi0JLm51bV9yZXNvdXJjZXMJICA9IEFSUkFZX1NJWkUoczNjX3RpbWVyM19yZXNvdXJjZSksCi0JLnJlc291cmNlCSAgPSBzM2NfdGltZXIzX3Jlc291cmNlLAotfTsKLQotRVhQT1JUX1NZTUJPTChzM2NfZGV2aWNlX3RpbWVyMyk7Ci0KICNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0NDAKIAogLyogQ2FtaWYgQ29udHJvbGxlciAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L2dwaW9saWIuYyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9ncGlvbGliLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI1ZDhkMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9ncGlvbGliLmMKQEAgLTAsMCArMSwyNTkgQEAKKy8qIGxpbnV4L2FyY2gvYXJtL3BsYXQtczNjMjR4eC9ncGlvbGliLmMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgorICoKKyAqIFMzQzI0WFggR1BJT2xpYiBzdXBwb3J0CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCitzdHJ1Y3QgczNjMjR4eF9ncGlvX2NoaXAgeworCXN0cnVjdCBncGlvX2NoaXAJY2hpcDsKKwl2b2lkIF9faW9tZW0JCSpiYXNlOworfTsKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjR4eF9ncGlvX2NoaXAgKnRvX3MzY19jaGlwKHN0cnVjdCBncGlvX2NoaXAgKmdwYykKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKGdwYywgc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwLCBjaGlwKTsKK30KKworLyogdGhlc2Ugcm91dGluZXMgYXJlIGV4cG9ydGVkIGZvciB1c2UgYnkgb3RoZXIgcGFydHMgb2YgdGhlIHBsYXRmb3JtCisgKiBhbmQgc3lzdGVtIHN1cHBvcnQsIGJ1dCBhcmUgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgYnkgdGhlCisgKiBkcml2ZXJzIHRoZW1zZXZsZXMuCisgKi8KKworaW50IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBvZmZzZXQpCit7CisJc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwICpvdXJjaGlwID0gdG9fczNjX2NoaXAoY2hpcCk7CisJdm9pZCBfX2lvbWVtICpiYXNlID0gb3VyY2hpcC0+YmFzZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgY29uOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCisJY29uID0gX19yYXdfcmVhZGwoYmFzZSArIDB4MDApOworCWNvbiAmPSB+KDMgPDwgKG9mZnNldCAqIDIpKTsKKwljb24gfD0gKFMzQzI0MTBfR1BJT19PVVRQVVQgJiAweGYpIDw8IChvZmZzZXQgKiAyKTsKKworCV9fcmF3X3dyaXRlbChjb24sIGJhc2UgKyAweDAwKTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKworaW50IHMzYzI0eHhfZ3Bpb2xpYl9vdXRwdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwKKwkJCQkgIHVuc2lnbmVkIG9mZnNldCwgaW50IHZhbHVlKQoreworCXN0cnVjdCBzM2MyNHh4X2dwaW9fY2hpcCAqb3VyY2hpcCA9IHRvX3MzY19jaGlwKGNoaXApOworCXZvaWQgX19pb21lbSAqYmFzZSA9IG91cmNoaXAtPmJhc2U7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIGRhdDsKKwl1bnNpZ25lZCBsb25nIGNvbjsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCWRhdCA9IF9fcmF3X3JlYWRsKGJhc2UgKyAweDA0KTsKKwlkYXQgJj0gfigxIDw8IG9mZnNldCk7CisJaWYgKHZhbHVlKQorCQlkYXQgfD0gMSA8PCBvZmZzZXQ7CisJX19yYXdfd3JpdGVsKGRhdCwgYmFzZSArIDB4MDQpOworCisJY29uID0gX19yYXdfcmVhZGwoYmFzZSArIDB4MDApOworCWNvbiAmPSB+KDMgPDwgKG9mZnNldCAqIDIpKTsKKwljb24gfD0gKFMzQzI0MTBfR1BJT19PVVRQVVQgJiAweGYpIDw8IChvZmZzZXQgKiAyKTsKKworCV9fcmF3X3dyaXRlbChjb24sIGJhc2UgKyAweDAwKTsKKwlfX3Jhd193cml0ZWwoZGF0LCBiYXNlICsgMHgwNCk7CisKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgczNjMjR4eF9ncGlvbGliX3NldChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBvZmZzZXQsIGludCB2YWx1ZSkKK3sKKwlzdHJ1Y3QgczNjMjR4eF9ncGlvX2NoaXAgKm91cmNoaXAgPSB0b19zM2NfY2hpcChjaGlwKTsKKwl2b2lkIF9faW9tZW0gKmJhc2UgPSBvdXJjaGlwLT5iYXNlOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyBkYXQ7CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwlkYXQgPSBfX3Jhd19yZWFkbChiYXNlICsgMHgwNCk7CisJZGF0ICY9IH4oMSA8PCBvZmZzZXQpOworCWlmICh2YWx1ZSkKKwkJZGF0IHw9IDEgPDwgb2Zmc2V0OworCV9fcmF3X3dyaXRlbChkYXQsIGJhc2UgKyAweDA0KTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworaW50IHMzYzI0eHhfZ3Bpb2xpYl9nZXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgb2Zmc2V0KQoreworCXN0cnVjdCBzM2MyNHh4X2dwaW9fY2hpcCAqb3VyY2hpcCA9IHRvX3MzY19jaGlwKGNoaXApOworCXVuc2lnbmVkIGxvbmcgdmFsOworCisJdmFsID0gX19yYXdfcmVhZGwob3VyY2hpcC0+YmFzZSArIDB4MDQpOworCXZhbCA+Pj0gb2Zmc2V0OworCXZhbCAmPSAxOworCisJcmV0dXJuIHZhbDsKK30KKworc3RhdGljIGludCBzM2MyNHh4X2dwaW9saWJfYmFua2FfaW5wdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgb2Zmc2V0KQoreworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IHMzYzI0eHhfZ3Bpb2xpYl9iYW5rYV9vdXRwdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwKKwkJCQkJdW5zaWduZWQgb2Zmc2V0LCBpbnQgdmFsdWUpCit7CisJc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwICpvdXJjaGlwID0gdG9fczNjX2NoaXAoY2hpcCk7CisJdm9pZCBfX2lvbWVtICpiYXNlID0gb3VyY2hpcC0+YmFzZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgZGF0OworCXVuc2lnbmVkIGxvbmcgY29uOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCisJY29uID0gX19yYXdfcmVhZGwoYmFzZSArIDB4MDApOworCWRhdCA9IF9fcmF3X3JlYWRsKGJhc2UgKyAweDA0KTsKKworCWRhdCAmPSB+KDEgPDwgb2Zmc2V0KTsKKwlpZiAodmFsdWUpCisJCWRhdCB8PSAxIDw8IG9mZnNldDsKKworCV9fcmF3X3dyaXRlbChkYXQsIGJhc2UgKyAweDA0KTsKKworCWNvbiAmPSB+KDEgPDwgb2Zmc2V0KTsKKworCV9fcmF3X3dyaXRlbChjb24sIGJhc2UgKyAweDAwKTsKKwlfX3Jhd193cml0ZWwoZGF0LCBiYXNlICsgMHgwNCk7CisKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKKworc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwIGdwaW9zW10gPSB7CisJWzBdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BBMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BBMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPQSIsCisJCQkubmdwaW8JCQk9IDI0LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9iYW5rYV9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX2JhbmthX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzFdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BCMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BCMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPQiIsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzJdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BDMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BDMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPQyIsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzNdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BEMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BEMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPRCIsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzRdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BFMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BFMCwKKwkJCS5sYWJlbAkJCT0gIkdQSU9FIiwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzVdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BGMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BGMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPRiIsCisJCQkubmdwaW8JCQk9IDgsCisJCQkuZGlyZWN0aW9uX2lucHV0CT0gczNjMjR4eF9ncGlvbGliX2lucHV0LAorCQkJLmRpcmVjdGlvbl9vdXRwdXQJPSBzM2MyNHh4X2dwaW9saWJfb3V0cHV0LAorCQkJLnNldAkJCT0gczNjMjR4eF9ncGlvbGliX3NldCwKKwkJCS5nZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9nZXQsCisJCX0sCisJfSwKKwlbNl0gPSB7CisJCS5iYXNlCT0gUzNDMjRYWF9HUElPX0JBU0UoUzNDMjQxMF9HUEcwKSwKKwkJLmNoaXAJPSB7CisJCQkuYmFzZQkJCT0gUzNDMjQxMF9HUEcwLAorCQkJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKKwkJCS5sYWJlbAkJCT0gIkdQSU9HIiwKKwkJCS5uZ3BpbwkJCT0gMTAsCisJCQkuZGlyZWN0aW9uX2lucHV0CT0gczNjMjR4eF9ncGlvbGliX2lucHV0LAorCQkJLmRpcmVjdGlvbl9vdXRwdXQJPSBzM2MyNHh4X2dwaW9saWJfb3V0cHV0LAorCQkJLnNldAkJCT0gczNjMjR4eF9ncGlvbGliX3NldCwKKwkJCS5nZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9nZXQsCisJCX0sCisJfSwKK307CisKK3N0YXRpYyBfX2luaXQgaW50IHMzYzI0eHhfZ3Bpb2xpYl9pbml0KHZvaWQpCit7CisJc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwICpjaGlwID0gZ3Bpb3M7CisJaW50IGdwbjsKKworCWZvciAoZ3BuID0gMDsgZ3BuIDwgQVJSQVlfU0laRShncGlvcyk7IGdwbisrLCBjaGlwKyspCisJCWdwaW9jaGlwX2FkZCgmY2hpcC0+Y2hpcCk7CisKKwlyZXR1cm4gMDsKK30KKworYXJjaF9pbml0Y2FsbChzM2MyNHh4X2dwaW9saWJfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LXMzYzI0eHgvcHdtLWNsb2NrLmMgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvcHdtLWNsb2NrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNkYTNlMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9wd20tY2xvY2suYwpAQCAtMCwwICsxLDQzNyBAQAorLyogbGludXgvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L3B3bS1jbG9jay5jCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA3IFNpbXRlYyBFbGVjdHJvbmljcworICogQ29weXJpZ2h0IChjKSAyMDA3LCAyMDA4IEJlbiBEb29rcworICoJQmVuIERvb2tzIDxiZW4tbGludXhAZmx1ZmYub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorCisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3MtdGltZXIuaD4KKworLyogRWFjaCBvZiB0aGUgdGltZXJzIDAgdGhyb3VnaCA1IGdvIHRocm91Z2ggdGhlIGZvbGxvd2luZworICogY2xvY2sgdHJlZSwgd2l0aCB0aGUgaW5wdXRzIGRlcGVuZGluZyBvbiB0aGUgdGltZXJzLgorICoKKyAqIHBjbGsgLS0tLSBbIHByZXNjYWxlciAwIF0gLSstLS0+IHRpbWVyIDAKKyAqCQkJICAgICAgKy0tLT4gdGltZXIgMQorICoKKyAqIHBjbGsgLS0tLSBbIHByZXNjYWxlciAxIF0gLSstLS0+IHRpbWVyIDIKKyAqCQkJICAgICAgKy0tLT4gdGltZXIgMworICoJCQkgICAgICBcLS0tPiB0aW1lciA0CisgKgorICogV2hpY2ggYXJlIGZlZCBpbnRvIHRoZSB0aW1lcnMgYXMgc286CisgKgorICogcHJlc2NhbGVkIDAgLS0tLSBbIGRpdiAyLDQsOCwxNiBdIC0tLVwKKyAqCQkJCSAgICAgICBbbXV4XSAtPiB0aW1lciAwCisgKiB0Y2xrIDAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLworICoKKyAqIHByZXNjYWxlZCAwIC0tLS0gWyBkaXYgMiw0LDgsMTYgXSAtLS1cCisgKgkJCQkgICAgICAgW211eF0gLT4gdGltZXIgMQorICogdGNsayAwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8KKyAqCisgKgorICogcHJlc2NhbGVkIDEgLS0tLSBbIGRpdiAyLDQsOCwxNiBdIC0tLVwKKyAqCQkJCSAgICAgICBbbXV4XSAtPiB0aW1lciAyCisgKiB0Y2xrIDEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLworICoKKyAqIHByZXNjYWxlZCAxIC0tLS0gWyBkaXYgMiw0LDgsMTYgXSAtLS1cCisgKgkJCQkgICAgICAgW211eF0gLT4gdGltZXIgMworICogdGNsayAxIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8KKyAqCisgKiBwcmVzY2FsZWQgMSAtLS0tIFsgZGl2IDIsNCw4LCAxNiBdIC0tXAorICoJCQkJICAgICAgIFttdXhdIC0+IHRpbWVyIDQKKyAqIHRjbGsgMSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vCisgKgorICogU2luY2UgdGhlIG11eCBhbmQgdGhlIGRpdmlkZXIgYXJlIHRpZWQgdG9nZXRoZXIgaW4gdGhlCisgKiBzYW1lIHJlZ2lzdGVyIHNwYWNlLCBpdCBpcyBpbXBvc3NpYmxlIHRvIHNldCB0aGUgcGFyZW50CisgKiBhbmQgdGhlIHJhdGUgYXQgdGhlIHNhbWUgdGltZS4gVG8gYXZvaWQgdGhpcywgd2UgYWRkIGFuCisgKiBpbnRlcm1lZGlhdGUgJ3ByZXNjYWxlZC1hbmQtZGl2aWRlZCcgY2xvY2sgdG8gc2VsZWN0CisgKiBhcyB0aGUgcGFyZW50IGZvciB0aGUgdGltZXIgaW5wdXQgY2xvY2sgY2FsbGVkIHRkaXYuCisgKgorICogcHJlc2NhbGVkIGNsayAtLT4gcHdtLXRkaXYgLS0tXAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgbXV4IF0gLS0+IHRpbWVyIFgKKyAqIHRjbGsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8KKyovCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fc2NhbGVyX2dldHJhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdGNmZzAgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcwKTsKKworCWlmIChjbGstPmlkID09IDEpIHsKKwkJdGNmZzAgJj0gUzNDMjQxMF9UQ0ZHX1BSRVNDQUxFUjFfTUFTSzsKKwkJdGNmZzAgPj49IFMzQzI0MTBfVENGR19QUkVTQ0FMRVIxX1NISUZUOworCX0gZWxzZSB7CisJCXRjZmcwICY9IFMzQzI0MTBfVENGR19QUkVTQ0FMRVIwX01BU0s7CisJfQorCisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAodGNmZzAgKyAxKTsKK30KKworLyogVE9ETyAtIGFkZCBzZXQgcmF0ZSBjYWxscy4gKi8KKworc3RydWN0IGNsayBjbGtfdGltZXJfc2NhbGVyW10gPSB7CisJWzBdCT0geworCQkubmFtZQkJPSAicHdtLXNjYWxlcjAiLAorCQkuaWQJCT0gLTEsCisJCS5nZXRfcmF0ZQk9IGNsa19wd21fc2NhbGVyX2dldHJhdGUsCisJfSwKKwlbMV0JPSB7CisJCS5uYW1lCQk9ICJwd20tc2NhbGVyMSIsCisJCS5pZAkJPSAtMSwKKwkJLmdldF9yYXRlCT0gY2xrX3B3bV9zY2FsZXJfZ2V0cmF0ZSwKKwl9LAorfTsKKworc3RydWN0IGNsayBjbGtfdGltZXJfdGNsa1tdID0geworCVswXQk9IHsKKwkJLm5hbWUJCT0gInB3bS10Y2xrMCIsCisJCS5pZAkJPSAtMSwKKwl9LAorCVsxXQk9IHsKKwkJLm5hbWUJCT0gInB3bS10Y2xrMSIsCisJCS5pZAkJPSAtMSwKKwl9LAorfTsKKworc3RydWN0IHB3bV90ZGl2X2NsayB7CisJc3RydWN0IGNsawljbGs7CisJdW5zaWduZWQgaW50CWRpdmlzb3I7Cit9OworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBwd21fdGRpdl9jbGsgKnRvX3RkaXYoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBjb250YWluZXJfb2YoY2xrLCBzdHJ1Y3QgcHdtX3RkaXZfY2xrLCBjbGspOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdGNmZ190b19kaXZpc29yKHVuc2lnbmVkIGxvbmcgdGNmZzEpCit7CisJcmV0dXJuIDEgPDwgKDEgKyB0Y2ZnMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fdGRpdl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyB0Y2ZnMSA9IF9fcmF3X3JlYWRsKFMzQzI0MTBfVENGRzEpOworCXVuc2lnbmVkIGludCBkaXZpc29yOworCisJdGNmZzEgPj49IFMzQzI0MTBfVENGRzFfU0hJRlQoY2xrLT5pZCk7CisJdGNmZzEgJj0gUzNDMjQxMF9UQ0ZHMV9NVVhfTUFTSzsKKworCWlmICh0Y2ZnMSA9PSBTM0MyNDEwX1RDRkcxX01VWF9UQ0xLKQorCQlkaXZpc29yID0gdG9fdGRpdihjbGspLT5kaXZpc29yOworCWVsc2UKKwkJZGl2aXNvciA9IHRjZmdfdG9fZGl2aXNvcih0Y2ZnMSk7CisKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIGRpdmlzb3I7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fdGRpdl9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywKKwkJCQkJICAgICB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKwl1bnNpZ25lZCBsb25nIGRpdmlzb3I7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJZGl2aXNvciA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKworCWlmIChkaXZpc29yIDw9IDIpCisJCWRpdmlzb3IgPSAyOworCWVsc2UgaWYgKGRpdmlzb3IgPD0gNCkKKwkJZGl2aXNvciA9IDQ7CisJZWxzZSBpZiAoZGl2aXNvciA8PSA4KQorCQlkaXZpc29yID0gODsKKwllbHNlCisJCWRpdmlzb3IgPSAxNjsKKworCXJldHVybiBwYXJlbnRfcmF0ZSAvIGRpdmlzb3I7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fdGRpdl9iaXRzKHN0cnVjdCBwd21fdGRpdl9jbGsgKmRpdmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIGJpdHM7CisKKwlzd2l0Y2ggKGRpdmNsay0+ZGl2aXNvcikgeworCWNhc2UgMjoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjI7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjQ7CisJCWJyZWFrOworCWNhc2UgODoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjg7CisJCWJyZWFrOworCWNhc2UgMTY6CisJZGVmYXVsdDoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjE2OworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gYml0czsKK30KKworc3RhdGljIHZvaWQgY2xrX3B3bV90ZGl2X3VwZGF0ZShzdHJ1Y3QgcHdtX3RkaXZfY2xrICpkaXZjbGspCit7CisJdW5zaWduZWQgbG9uZyB0Y2ZnMSA9IF9fcmF3X3JlYWRsKFMzQzI0MTBfVENGRzEpOworCXVuc2lnbmVkIGxvbmcgYml0cyA9IGNsa19wd21fdGRpdl9iaXRzKGRpdmNsayk7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHNoaWZ0ID0gIFMzQzI0MTBfVENGRzFfU0hJRlQoZGl2Y2xrLT5jbGsuaWQpOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCisJdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKwl0Y2ZnMSAmPSB+KFMzQzI0MTBfVENGRzFfTVVYX01BU0sgPDwgc2hpZnQpOworCXRjZmcxIHw9IGJpdHMgPDwgc2hpZnQ7CisJX19yYXdfd3JpdGVsKHRjZmcxLCBTM0MyNDEwX1RDRkcxKTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIGludCBjbGtfcHdtX3RkaXZfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJc3RydWN0IHB3bV90ZGl2X2NsayAqZGl2Y2xrID0gdG9fdGRpdihjbGspOworCXVuc2lnbmVkIGxvbmcgdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwl1bnNpZ25lZCBsb25nIGRpdmlzb3I7CisKKwl0Y2ZnMSA+Pj0gUzNDMjQxMF9UQ0ZHMV9TSElGVChjbGstPmlkKTsKKwl0Y2ZnMSAmPSBTM0MyNDEwX1RDRkcxX01VWF9NQVNLOworCisJcmF0ZSA9IGNsa19yb3VuZF9yYXRlKGNsaywgcmF0ZSk7CisJZGl2aXNvciA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKworCWlmIChkaXZpc29yID4gMTYpCisJCXJldHVybiAtRUlOVkFMOworCisJZGl2Y2xrLT5kaXZpc29yID0gZGl2aXNvcjsKKworCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBNVVggc2V0dGluZ3MgaWYgd2UgYXJlIGN1cnJlbnRseQorCSAqIHNlbGVjdGVkIGFzIHRoZSBjbG9jayBzb3VyY2UgZm9yIHRoaXMgY2xvY2suICovCisKKwlpZiAodGNmZzEgIT0gUzNDMjQxMF9UQ0ZHMV9NVVhfVENMSykKKwkJY2xrX3B3bV90ZGl2X3VwZGF0ZShkaXZjbGspOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBwd21fdGRpdl9jbGsgY2xrX3RpbWVyX3RkaXZbXSA9IHsKKwlbMF0JPSB7CisJCS5jbGsJPSB7CisJCQkubmFtZQkJPSAicHdtLXRkaXYiLAorCQkJLnBhcmVudAkJPSAmY2xrX3RpbWVyX3NjYWxlclswXSwKKwkJCS5nZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9nZXRfcmF0ZSwKKwkJCS5zZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9zZXRfcmF0ZSwKKwkJCS5yb3VuZF9yYXRlCT0gY2xrX3B3bV90ZGl2X3JvdW5kX3JhdGUsCisJCX0sCisJfSwKKwlbMV0JPSB7CisJCS5jbGsJPSB7CisJCQkubmFtZQkJPSAicHdtLXRkaXYiLAorCQkJLnBhcmVudAkJPSAmY2xrX3RpbWVyX3NjYWxlclswXSwKKwkJCS5nZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9nZXRfcmF0ZSwKKwkJCS5zZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9zZXRfcmF0ZSwKKwkJCS5yb3VuZF9yYXRlCT0gY2xrX3B3bV90ZGl2X3JvdW5kX3JhdGUsCisJCX0KKwl9LAorCVsyXQk9IHsKKwkJLmNsawk9IHsKKwkJCS5uYW1lCQk9ICJwd20tdGRpdiIsCisJCQkucGFyZW50CQk9ICZjbGtfdGltZXJfc2NhbGVyWzFdLAorCQkJLmdldF9yYXRlCT0gY2xrX3B3bV90ZGl2X2dldF9yYXRlLAorCQkJLnNldF9yYXRlCT0gY2xrX3B3bV90ZGl2X3NldF9yYXRlLAorCQkJLnJvdW5kX3JhdGUJPSBjbGtfcHdtX3RkaXZfcm91bmRfcmF0ZSwKKwkJfSwKKwl9LAorCVszXQk9IHsKKwkJLmNsawk9IHsKKwkJCS5uYW1lCQk9ICJwd20tdGRpdiIsCisJCQkucGFyZW50CQk9ICZjbGtfdGltZXJfc2NhbGVyWzFdLAorCQkJLmdldF9yYXRlCT0gY2xrX3B3bV90ZGl2X2dldF9yYXRlLAorCQkJLnNldF9yYXRlCT0gY2xrX3B3bV90ZGl2X3NldF9yYXRlLAorCQkJLnJvdW5kX3JhdGUJPSBjbGtfcHdtX3RkaXZfcm91bmRfcmF0ZSwKKwkJfSwKKwl9LAorCVs0XQk9IHsKKwkJLmNsawk9IHsKKwkJCS5uYW1lCQk9ICJwd20tdGRpdiIsCisJCQkucGFyZW50CQk9ICZjbGtfdGltZXJfc2NhbGVyWzFdLAorCQkJLmdldF9yYXRlCT0gY2xrX3B3bV90ZGl2X2dldF9yYXRlLAorCQkJLnNldF9yYXRlCT0gY2xrX3B3bV90ZGl2X3NldF9yYXRlLAorCQkJLnJvdW5kX3JhdGUJPSBjbGtfcHdtX3RkaXZfcm91bmRfcmF0ZSwKKwkJfSwKKwl9LAorfTsKKworc3RhdGljIGludCBfX2luaXQgY2xrX3B3bV90ZGl2X3JlZ2lzdGVyKHVuc2lnbmVkIGludCBpZCkKK3sKKwlzdHJ1Y3QgcHdtX3RkaXZfY2xrICpkaXZjbGsgPSAmY2xrX3RpbWVyX3RkaXZbaWRdOworCXVuc2lnbmVkIGxvbmcgdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKworCXRjZmcxID4+PSBTM0MyNDEwX1RDRkcxX1NISUZUKGlkKTsKKwl0Y2ZnMSAmPSBTM0MyNDEwX1RDRkcxX01VWF9NQVNLOworCisJZGl2Y2xrLT5jbGsuaWQgPSBpZDsKKwlkaXZjbGstPmRpdmlzb3IgPSB0Y2ZnX3RvX2Rpdmlzb3IodGNmZzEpOworCisJcmV0dXJuIHMzYzI0eHhfcmVnaXN0ZXJfY2xvY2soJmRpdmNsay0+Y2xrKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY2xrICpzM2MyNHh4X3B3bWNsa190Y2xrKHVuc2lnbmVkIGludCBpZCkKK3sKKwlyZXR1cm4gKGlkID49IDIpID8gJmNsa190aW1lcl90Y2xrWzFdIDogJmNsa190aW1lcl90Y2xrWzBdOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjbGsgKnMzYzI0eHhfcHdtY2xrX3RkaXYodW5zaWduZWQgaW50IGlkKQoreworCXJldHVybiAmY2xrX3RpbWVyX3RkaXZbaWRdLmNsazsKK30KKworc3RhdGljIGludCBjbGtfcHdtX3Rpbl9zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCXVuc2lnbmVkIGludCBpZCA9IGNsay0+aWQ7CisJdW5zaWduZWQgbG9uZyB0Y2ZnMTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgYml0czsKKwl1bnNpZ25lZCBsb25nIHNoaWZ0ID0gUzNDMjQxMF9UQ0ZHMV9TSElGVChpZCk7CisKKwlpZiAocGFyZW50ID09IHMzYzI0eHhfcHdtY2xrX3RjbGsoaWQpKQorCQliaXRzID0gUzNDMjQxMF9UQ0ZHMV9NVVhfVENMSyA8PCBzaGlmdDsKKwllbHNlIGlmIChwYXJlbnQgPT0gczNjMjR4eF9wd21jbGtfdGRpdihpZCkpCisJCWJpdHMgPSBjbGtfcHdtX3RkaXZfYml0cyh0b190ZGl2KGNsaykpIDw8IHNoaWZ0OworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljbGstPnBhcmVudCA9IHBhcmVudDsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCXRjZmcxID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ0ZHMSk7CisJdGNmZzEgJj0gfihTM0MyNDEwX1RDRkcxX01VWF9NQVNLIDw8IHNoaWZ0KTsKKwlfX3Jhd193cml0ZWwodGNmZzEgfCBiaXRzLCBTM0MyNDEwX1RDRkcxKTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtfdGluW10gPSB7CisJWzBdCT0geworCQkubmFtZQkJPSAicHdtLXRpbiIsCisJCS5pZAkJPSAwLAorCQkuc2V0X3BhcmVudAk9IGNsa19wd21fdGluX3NldF9wYXJlbnQsCisJfSwKKwlbMV0JPSB7CisJCS5uYW1lCQk9ICJwd20tdGluIiwKKwkJLmlkCQk9IDEsCisJCS5zZXRfcGFyZW50CT0gY2xrX3B3bV90aW5fc2V0X3BhcmVudCwKKwl9LAorCVsyXQk9IHsKKwkJLm5hbWUJCT0gInB3bS10aW4iLAorCQkuaWQJCT0gMiwKKwkJLnNldF9wYXJlbnQJPSBjbGtfcHdtX3Rpbl9zZXRfcGFyZW50LAorCX0sCisJWzNdCT0geworCQkubmFtZQkJPSAicHdtLXRpbiIsCisJCS5pZAkJPSAzLAorCQkuc2V0X3BhcmVudAk9IGNsa19wd21fdGluX3NldF9wYXJlbnQsCisJfSwKKwlbNF0JPSB7CisJCS5uYW1lCQk9ICJwd20tdGluIiwKKwkJLmlkCQk9IDQsCisJCS5zZXRfcGFyZW50CT0gY2xrX3B3bV90aW5fc2V0X3BhcmVudCwKKwl9LAorfTsKKworc3RhdGljIF9faW5pdCBpbnQgY2xrX3B3bV90aW5fcmVnaXN0ZXIoc3RydWN0IGNsayAqcHdtKQoreworCXVuc2lnbmVkIGxvbmcgdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKwl1bnNpZ25lZCBpbnQgaWQgPSBwd20tPmlkOworCisJc3RydWN0IGNsayAqcGFyZW50OworCWludCByZXQ7CisKKwlyZXQgPSBzM2MyNHh4X3JlZ2lzdGVyX2Nsb2NrKHB3bSk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwl0Y2ZnMSA+Pj0gUzNDMjQxMF9UQ0ZHMV9TSElGVChpZCk7CisJdGNmZzEgJj0gUzNDMjQxMF9UQ0ZHMV9NVVhfTUFTSzsKKworCWlmICh0Y2ZnMSA9PSBTM0MyNDEwX1RDRkcxX01VWF9UQ0xLKQorCQlwYXJlbnQgPSBzM2MyNHh4X3B3bWNsa190Y2xrKGlkKTsKKwllbHNlCisJCXBhcmVudCA9IHMzYzI0eHhfcHdtY2xrX3RkaXYoaWQpOworCisJcmV0dXJuIGNsa19zZXRfcGFyZW50KHB3bSwgcGFyZW50KTsKK30KKworc3RhdGljIF9faW5pdCBpbnQgczNjMjR4eF9wd21jbGtfaW5pdCh2b2lkKQoreworCXN0cnVjdCBjbGsgKmNsa190aW1lcnM7CisJdW5zaWduZWQgaW50IGNsazsKKwlpbnQgcmV0OworCisJY2xrX3RpbWVycyA9IGNsa19nZXQoTlVMTCwgInRpbWVycyIpOworCWlmIChJU19FUlIoY2xrX3RpbWVycykpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogbm8gcGFyZW50IGNsb2NrXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWZvciAoY2xrID0gMDsgY2xrIDwgQVJSQVlfU0laRShjbGtfdGltZXJfc2NhbGVyKTsgY2xrKyspIHsKKwkJY2xrX3RpbWVyX3NjYWxlcltjbGtdLnBhcmVudCA9IGNsa190aW1lcnM7CisJCXJldCA9IHMzYzI0eHhfcmVnaXN0ZXJfY2xvY2soJmNsa190aW1lcl9zY2FsZXJbY2xrXSk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlwcmludGsoS0VSTl9FUlIgImVycm9yIGFkZGluZyBwd20gc2NhbGVyJWQgY2xvY2tcbiIsIGNsayk7CisJCQlnb3RvIGVycjsKKwkJfQorCX0KKworCWZvciAoY2xrID0gMDsgY2xrIDwgQVJSQVlfU0laRShjbGtfdGltZXJfdGNsayk7IGNsaysrKSB7CisJCXJldCA9IHMzYzI0eHhfcmVnaXN0ZXJfY2xvY2soJmNsa190aW1lcl90Y2xrW2Nsa10pOworCQlpZiAocmV0IDwgMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJlcnJvciBhZGRpbmcgcHd3IHRjbGslZFxuIiwgY2xrKTsKKwkJCWdvdG8gZXJyOworCQl9CisJfQorCisJZm9yIChjbGsgPSAwOyBjbGsgPCBBUlJBWV9TSVpFKGNsa190aW1lcl90ZGl2KTsgY2xrKyspIHsKKwkJcmV0ID0gY2xrX3B3bV90ZGl2X3JlZ2lzdGVyKGNsayk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlwcmludGsoS0VSTl9FUlIgImVycm9yIGFkZGluZyBwd20lZCB0ZGl2IGNsb2NrXG4iLCBjbGspOworCQkJZ290byBlcnI7CisJCX0KKwl9CisKKwlmb3IgKGNsayA9IDA7IGNsayA8IEFSUkFZX1NJWkUoY2xrX3Rpbik7IGNsaysrKSB7CisJCXJldCA9IGNsa19wd21fdGluX3JlZ2lzdGVyKCZjbGtfdGluW2Nsa10pOworCQlpZiAocmV0IDwgMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJlcnJvciBhZGRpbmcgcHdtJWQgdGluIGNsb2NrXG4iLCBjbGspOworCQkJZ290byBlcnI7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKKworIGVycjoKKwlyZXR1cm4gcmV0OworfQorCithcmNoX2luaXRjYWxsKHMzYzI0eHhfcHdtY2xrX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L3B3bS5jIGIvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L3B3bS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YzRiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvcHdtLmMKQEAgLTAsMCArMSw0MDIgQEAKKy8qIGFyY2gvYXJtL3BsYXQtczNjMjR4eC9wd20uYworICoKKyAqIENvcHlyaWdodCAoYykgMjAwNyBCZW4gRG9va3MKKyAqIENvcHlyaWdodCAoYykgMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4sIDxiZW4tbGludXhAZmx1ZmYub3JnPgorICoKKyAqIFMzQzI0WFggUFdNIGRldmljZSBjb3JlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcHdtLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy10aW1lci5oPgorCitzdHJ1Y3QgcHdtX2RldmljZSB7CisJc3RydWN0IGxpc3RfaGVhZAkgbGlzdDsKKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlCSpwZGV2OworCisJc3RydWN0IGNsawkJKmNsa19kaXY7CisJc3RydWN0IGNsawkJKmNsazsKKwljb25zdCBjaGFyCQkqbGFiZWw7CisKKwl1bnNpZ25lZCBpbnQJCSBwZXJpb2RfbnM7CisJdW5zaWduZWQgaW50CQkgZHV0eV9uczsKKworCXVuc2lnbmVkIGNoYXIJCSB0Y29uX2Jhc2U7CisJdW5zaWduZWQgY2hhcgkJIHJ1bm5pbmc7CisJdW5zaWduZWQgY2hhcgkJIHVzZV9jb3VudDsKKwl1bnNpZ25lZCBjaGFyCQkgcHdtX2lkOworfTsKKworI2RlZmluZSBwd21fZGJnKF9wd20sIG1zZy4uLikgZGV2X2luZm8oJihfcHdtKS0+cGRldi0+ZGV2LCBtc2cpCisKK3N0YXRpYyBzdHJ1Y3QgY2xrICpjbGtfc2NhbGVyWzJdOworCisvKiBTdGFuZGFyZCBzZXR1cCBmb3IgYSB0aW1lciBibG9jay4gKi8KKworI2RlZmluZSBUSU1FUl9SRVNPVVJDRV9TSVpFICgxKQorCisjZGVmaW5lIFRJTUVSX1JFU09VUkNFKF90bXIsIF9pcnEpCQkJXAorCShzdHJ1Y3QgcmVzb3VyY2UgW1RJTUVSX1JFU09VUkNFX1NJWkVdKSB7CVwKKwkJWzBdID0gewkJCQkJXAorCQkJLnN0YXJ0CT0gX2lycSwJCQlcCisJCQkuZW5kCT0gX2lycSwJCQlcCisJCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUQlcCisJCX0JCQkJCVwKKwl9CisKKyNkZWZpbmUgREVGSU5FX1RJTUVSKF90bXJfbm8sIF9pcnEpCQkJXAorCS5uYW1lCQk9ICJzM2MyNHh4LXB3bSIsCQlcCisJLmlkCQk9IF90bXJfbm8sCQkJXAorCS5udW1fcmVzb3VyY2VzCT0gVElNRVJfUkVTT1VSQ0VfU0laRSwJCVwKKwkucmVzb3VyY2UJPSBUSU1FUl9SRVNPVVJDRShfdG1yX25vLCBfaXJxKSwJXAorCisvKiBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUgYW4gc3RhdGljIG1hcHBpbmcgZm9yIHRoZSB0aW1lciwgd2UgZG8gbm90CisgKiBib3RoZXIgc2V0dGluZyBhbnkgSU8gcmVzb3VyY2UgZm9yIHRoZSBiYXNlLgorICovCisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcltdID0geworCVswXSA9IHsgREVGSU5FX1RJTUVSKDAsIElSUV9USU1FUjApIH0sCisJWzFdID0geyBERUZJTkVfVElNRVIoMSwgSVJRX1RJTUVSMSkgfSwKKwlbMl0gPSB7IERFRklORV9USU1FUigyLCBJUlFfVElNRVIyKSB9LAorCVszXSA9IHsgREVGSU5FX1RJTUVSKDMsIElSUV9USU1FUjMpIH0sCisJWzRdID0geyBERUZJTkVfVElNRVIoNCwgSVJRX1RJTUVSNCkgfSwKK307CisKK3N0YXRpYyBpbmxpbmUgaW50IHB3bV9pc190ZGl2KHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJcmV0dXJuIGNsa19nZXRfcGFyZW50KHB3bS0+Y2xrKSA9PSBwd20tPmNsa19kaXY7Cit9CisKK3N0YXRpYyBERUZJTkVfTVVURVgocHdtX2xvY2spOworc3RhdGljIExJU1RfSEVBRChwd21fbGlzdCk7CisKK3N0cnVjdCBwd21fZGV2aWNlICpwd21fcmVxdWVzdChpbnQgcHdtX2lkLCBjb25zdCBjaGFyICpsYWJlbCkKK3sKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCWludCBmb3VuZCA9IDA7CisKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHB3bSwgJnB3bV9saXN0LCBsaXN0KSB7CisJCWlmIChwd20tPnB3bV9pZCA9PSBwd21faWQpIHsKKwkJCWZvdW5kID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKGZvdW5kKSB7CisJCWlmIChwd20tPnVzZV9jb3VudCA9PSAwKSB7CisJCQlwd20tPnVzZV9jb3VudCA9IDE7CisJCQlwd20tPmxhYmVsID0gbGFiZWw7CisJCX0gZWxzZQorCQkJcHdtID0gRVJSX1BUUigtRUJVU1kpOworCX0gZWxzZQorCQlwd20gPSBFUlJfUFRSKC1FTk9FTlQpOworCisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7CisJcmV0dXJuIHB3bTsKK30KKworRVhQT1JUX1NZTUJPTChwd21fcmVxdWVzdCk7CisKKwordm9pZCBwd21fZnJlZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKQoreworCW11dGV4X2xvY2soJnB3bV9sb2NrKTsKKworCWlmIChwd20tPnVzZV9jb3VudCkgeworCQlwd20tPnVzZV9jb3VudC0tOworCQlwd20tPmxhYmVsID0gTlVMTDsKKwl9IGVsc2UKKwkJcHJpbnRrKEtFUk5fRVJSICJQV00lZCBkZXZpY2UgYWxyZWFkeSBmcmVlZFxuIiwgcHdtLT5wd21faWQpOworCisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7Cit9CisKK0VYUE9SVF9TWU1CT0wocHdtX2ZyZWUpOworCisjZGVmaW5lIHB3bV90Y29uX3N0YXJ0KHB3bSkgKDEgPDwgKHB3bS0+dGNvbl9iYXNlICsgMCkpCisjZGVmaW5lIHB3bV90Y29uX2ludmVydChwd20pICgxIDw8IChwd20tPnRjb25fYmFzZSArIDIpKQorI2RlZmluZSBwd21fdGNvbl9hdXRvcmVsb2FkKHB3bSkgKDEgPDwgKHB3bS0+dGNvbl9iYXNlICsgMykpCisjZGVmaW5lIHB3bV90Y29uX21hbnVsdXBkYXRlKHB3bSkgKDEgPDwgKHB3bS0+dGNvbl9iYXNlICsgMSkpCisKK2ludCBwd21fZW5hYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHRjb247CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uIHw9IHB3bV90Y29uX3N0YXJ0KHB3bSk7CisJX19yYXdfd3JpdGVsKHRjb24sIFMzQzI0MTBfVENPTik7CisKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwlwd20tPnJ1bm5pbmcgPSAxOworCXJldHVybiAwOworfQorCitFWFBPUlRfU1lNQk9MKHB3bV9lbmFibGUpOworCit2b2lkIHB3bV9kaXNhYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHRjb247CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uICY9IH5wd21fdGNvbl9zdGFydChwd20pOworCV9fcmF3X3dyaXRlbCh0Y29uLCBTM0MyNDEwX1RDT04pOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJcHdtLT5ydW5uaW5nID0gMDsKK30KKworRVhQT1JUX1NZTUJPTChwd21fZGlzYWJsZSk7CisKK3Vuc2lnbmVkIGxvbmcgcHdtX2NhbGNfdGluKHN0cnVjdCBwd21fZGV2aWNlICpwd20sIHVuc2lnbmVkIGxvbmcgZnJlcSkKK3sKKwl1bnNpZ25lZCBsb25nIHRpbl9wYXJlbnRfcmF0ZTsKKwl1bnNpZ25lZCBpbnQgZGl2OworCisJdGluX3BhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsa19nZXRfcGFyZW50KHB3bS0+Y2xrX2RpdikpOworCXB3bV9kYmcocHdtLCAidGluIHBhcmVudCBhdCAlbHVcbiIsIHRpbl9wYXJlbnRfcmF0ZSk7CisKKwlmb3IgKGRpdiA9IDI7IGRpdiA8PSAxNjsgZGl2ICo9IDIpIHsKKwkJaWYgKCh0aW5fcGFyZW50X3JhdGUgLyAoZGl2IDw8IDE2KSkgPCBmcmVxKQorCQkJcmV0dXJuIHRpbl9wYXJlbnRfcmF0ZSAvIGRpdjsKKwl9CisKKwlyZXR1cm4gdGluX3BhcmVudF9yYXRlIC8gMTY7Cit9CisKKyNkZWZpbmUgTlNfSU5fSFogKDEwMDAwMDAwMDBVTCkKKworaW50IHB3bV9jb25maWcoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwgaW50IGR1dHlfbnMsIGludCBwZXJpb2RfbnMpCit7CisJdW5zaWduZWQgbG9uZyB0aW5fcmF0ZTsKKwl1bnNpZ25lZCBsb25nIHRpbl9uczsKKwl1bnNpZ25lZCBsb25nIHBlcmlvZDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgdGNvbjsKKwl1bnNpZ25lZCBsb25nIHRjbnQ7CisJbG9uZyB0Y21wOworCisJLyogV2UgY3VycmVudGx5IGF2b2lkIHVzaW5nIDY0Yml0IGFyaXRobWV0aWMgYnkgdXNpbmcgdGhlCisJICogZmFjdCB0aGF0IGFueXRoaW5nIGZhc3RlciB0aGFuIDFIeiBpcyBlYXNpbHkgcmVwcmVzZW50YWJsZQorCSAqIGJ5IDMyYml0cy4gKi8KKworCWlmIChwZXJpb2RfbnMgPiBOU19JTl9IWiB8fCBkdXR5X25zID4gTlNfSU5fSFopCisJCXJldHVybiAtRVJBTkdFOworCisJaWYgKGR1dHlfbnMgPiBwZXJpb2RfbnMpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHBlcmlvZF9ucyA9PSBwd20tPnBlcmlvZF9ucyAmJgorCSAgICBkdXR5X25zID09IHB3bS0+ZHV0eV9ucykKKwkJcmV0dXJuIDA7CisKKwkvKiBUaGUgVENNUCBhbmQgVENOVCBjYW4gYmUgcmVhZCB3aXRob3V0IGEgbG9jaywgdGhleSdyZSBub3QKKwkgKiBzaGFyZWQgYmV0d2VlbiB0aGUgdGltZXJzLiAqLworCisJdGNtcCA9IF9fcmF3X3JlYWRsKFMzQzI0MTBfVENNUEIocHdtLT5wd21faWQpKTsKKwl0Y250ID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ05UQihwd20tPnB3bV9pZCkpOworCisJcGVyaW9kID0gTlNfSU5fSFogLyBwZXJpb2RfbnM7CisKKwlwd21fZGJnKHB3bSwgImR1dHlfbnM9JWQsIHBlcmlvZF9ucz0lZCAoJWx1KVxuIiwKKwkJZHV0eV9ucywgcGVyaW9kX25zLCBwZXJpb2QpOworCisJLyogQ2hlY2sgdG8gc2VlIGlmIHdlIGFyZSBjaGFuZ2luZyB0aGUgY2xvY2sgcmF0ZSBvZiB0aGUgUFdNICovCisKKwlpZiAocHdtLT5wZXJpb2RfbnMgIT0gcGVyaW9kX25zKSB7CisJCWlmIChwd21faXNfdGRpdihwd20pKSB7CisJCQl0aW5fcmF0ZSA9IHB3bV9jYWxjX3Rpbihwd20sIHBlcmlvZCk7CisJCQljbGtfc2V0X3JhdGUocHdtLT5jbGtfZGl2LCB0aW5fcmF0ZSk7CisJCX0gZWxzZQorCQkJdGluX3JhdGUgPSBjbGtfZ2V0X3JhdGUocHdtLT5jbGspOworCisJCXB3bS0+cGVyaW9kX25zID0gcGVyaW9kX25zOworCisJCXB3bV9kYmcocHdtLCAidGluX3JhdGU9JWx1XG4iLCB0aW5fcmF0ZSk7CisKKwkJdGluX25zID0gTlNfSU5fSFogLyB0aW5fcmF0ZTsKKwkJdGNudCA9IHBlcmlvZF9ucyAvIHRpbl9uczsKKwl9IGVsc2UKKwkJdGluX25zID0gTlNfSU5fSFogLyBjbGtfZ2V0X3JhdGUocHdtLT5jbGspOworCisJLyogTm90ZSwgY291bnRlcnMgY291bnQgZG93biAqLworCisJdGNtcCA9IGR1dHlfbnMgLyB0aW5fbnM7CisJdGNtcCA9IHRjbnQgLSB0Y21wOworCisJcHdtX2RiZyhwd20sICJ0aW5fbnM9JWx1LCB0Y21wPSVsZC8lbHVcbiIsIHRpbl9ucywgdGNtcCwgdGNudCk7CisKKwlpZiAodGNtcCA8IDApCisJCXRjbXAgPSAwOworCisJLyogVXBkYXRlIHRoZSBQV00gcmVnaXN0ZXIgYmxvY2suICovCisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwlfX3Jhd193cml0ZWwodGNtcCwgUzNDMjQxMF9UQ01QQihwd20tPnB3bV9pZCkpOworCV9fcmF3X3dyaXRlbCh0Y250LCBTM0MyNDEwX1RDTlRCKHB3bS0+cHdtX2lkKSk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uIHw9IHB3bV90Y29uX21hbnVsdXBkYXRlKHB3bSk7CisJdGNvbiB8PSBwd21fdGNvbl9hdXRvcmVsb2FkKHB3bSk7CisJX19yYXdfd3JpdGVsKHRjb24sIFMzQzI0MTBfVENPTik7CisKKwl0Y29uICY9IH5wd21fdGNvbl9tYW51bHVwZGF0ZShwd20pOworCV9fcmF3X3dyaXRlbCh0Y29uLCBTM0MyNDEwX1RDT04pOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJcmV0dXJuIDA7Cit9CisKK0VYUE9SVF9TWU1CT0wocHdtX2NvbmZpZyk7CisKK3N0YXRpYyBpbnQgcHdtX3JlZ2lzdGVyKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJcHdtLT5kdXR5X25zID0gLTE7CisJcHdtLT5wZXJpb2RfbnMgPSAtMTsKKworCW11dGV4X2xvY2soJnB3bV9sb2NrKTsKKwlsaXN0X2FkZF90YWlsKCZwd20tPmxpc3QsICZwd21fbGlzdCk7CisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzM2NfcHdtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyB0Y29uOworCXVuc2lnbmVkIGludCBpZCA9IHBkZXYtPmlkOworCWludCByZXQ7CisKKwlpZiAoaWQgPT0gNCkgeworCQlkZXZfZXJyKGRldiwgIlRJTUVSNCBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZFxuIik7CisJCXJldHVybiAtRU5YSU87CisJfQorCisJcHdtID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHB3bV9kZXZpY2UpLCBHRlBfS0VSTkVMKTsKKwlpZiAocHdtID09IE5VTEwpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcHdtX2RldmljZVxuIik7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCXB3bS0+cGRldiA9IHBkZXY7CisJcHdtLT5wd21faWQgPSBpZDsKKworCS8qIGNhbGN1bGF0ZSBiYXNlIG9mIGNvbnRyb2wgYml0cyBpbiBUQ09OICovCisJcHdtLT50Y29uX2Jhc2UgPSBpZCA9PSAwID8gMCA6IChpZCAqIDQpICsgNDsKKworCXB3bS0+Y2xrID0gY2xrX2dldChkZXYsICJwd20tdGluIik7CisJaWYgKElTX0VSUihwd20tPmNsaykpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHB3bSB0aW4gY2xrXG4iKTsKKwkJcmV0ID0gUFRSX0VSUihwd20tPmNsayk7CisJCWdvdG8gZXJyX2FsbG9jOworCX0KKworCXB3bS0+Y2xrX2RpdiA9IGNsa19nZXQoZGV2LCAicHdtLXRkaXYiKTsKKwlpZiAoSVNfRVJSKHB3bS0+Y2xrX2RpdikpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHB3bSB0ZGl2IGNsa1xuIik7CisJCXJldCA9IFBUUl9FUlIocHdtLT5jbGtfZGl2KTsKKwkJZ290byBlcnJfY2xrX3RpbjsKKwl9CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uIHw9IHB3bV90Y29uX2ludmVydChwd20pOworCV9fcmF3X3dyaXRlbCh0Y29uLCBTM0MyNDEwX1RDT04pOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisKKwlyZXQgPSBwd21fcmVnaXN0ZXIocHdtKTsKKwlpZiAocmV0KSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIHB3bVxuIik7CisJCWdvdG8gZXJyX2Nsa190ZGl2OworCX0KKworCXB3bV9kYmcocHdtLCAiY29uZmlnIGJpdHMgJTAyeFxuIiwKKwkJKF9fcmF3X3JlYWRsKFMzQzI0MTBfVENPTikgPj4gcHdtLT50Y29uX2Jhc2UpICYgMHgwZik7CisKKwlkZXZfaW5mbyhkZXYsICJ0aW4gYXQgJWx1LCB0ZGl2IGF0ICVsdSwgdGluPSVzY2xrLCBiYXNlICVkXG4iLAorCQkgY2xrX2dldF9yYXRlKHB3bS0+Y2xrKSwKKwkJIGNsa19nZXRfcmF0ZShwd20tPmNsa19kaXYpLAorCQkgcHdtX2lzX3RkaXYocHdtKSA/ICJkaXYiIDogImV4dCIsIHB3bS0+dGNvbl9iYXNlKTsKKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIHB3bSk7CisJcmV0dXJuIDA7CisKKyBlcnJfY2xrX3RkaXY6CisJY2xrX3B1dChwd20tPmNsa19kaXYpOworCisgZXJyX2Nsa190aW46CisJY2xrX3B1dChwd20tPmNsayk7CisKKyBlcnJfYWxsb2M6CisJa2ZyZWUocHdtKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHMzY19wd21fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJY2xrX3B1dChwd20tPmNsa19kaXYpOworCWNsa19wdXQocHdtLT5jbGspOworCWtmcmVlKHB3bSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjX3B3bV9kcml2ZXIgPSB7CisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInMzYzI0eHgtcHdtIiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfSwKKwkucHJvYmUJCT0gczNjX3B3bV9wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKHMzY19wd21fcmVtb3ZlKSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHB3bV9pbml0KHZvaWQpCit7CisJaW50IHJldDsKKworCWNsa19zY2FsZXJbMF0gPSBjbGtfZ2V0KE5VTEwsICJwd20tc2NhbGVyMCIpOworCWNsa19zY2FsZXJbMV0gPSBjbGtfZ2V0KE5VTEwsICJwd20tc2NhbGVyMSIpOworCisJaWYgKElTX0VSUihjbGtfc2NhbGVyWzBdKSB8fCBJU19FUlIoY2xrX3NjYWxlclsxXSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogZmFpbGVkIHRvIGdldCBzY2FsZXIgY2xvY2tzXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmczNjX3B3bV9kcml2ZXIpOworCWlmIChyZXQpCisJCXByaW50ayhLRVJOX0VSUiAiJXM6IGZhaWxlZCB0byBhZGQgcHdtIGRyaXZlclxuIiwgX19mdW5jX18pOworCisJcmV0dXJuIHJldDsKK30KKworYXJjaF9pbml0Y2FsbChwd21faW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS90b29scy9tYWNoLXR5cGVzIGIvYXJjaC9hcm0vdG9vbHMvbWFjaC10eXBlcwppbmRleCAyMDdhOGI1Li4wYmU1NjMwIDEwMDY0NAotLS0gYS9hcmNoL2FybS90b29scy9tYWNoLXR5cGVzCisrKyBiL2FyY2gvYXJtL3Rvb2xzL21hY2gtdHlwZXMKQEAgLTEyLDcgKzEyLDcgQEAKICMKICMgICBodHRwOi8vd3d3LmFybS5saW51eC5vcmcudWsvZGV2ZWxvcGVyL21hY2hpbmVzLz9hY3Rpb249bmV3CiAjCi0jIExhc3QgdXBkYXRlOiBTYXQgQXByIDE5IDExOjIzOjM4IDIwMDgKKyMgTGFzdCB1cGRhdGU6IE1vbiBKdWwgNyAxNjoyNTozOSAyMDA4CiAjCiAjIG1hY2hpbmVfaXNfeHh4CUNPTkZJR194eHh4CQlNQUNIX1RZUEVfeHh4CQludW1iZXIKICMKQEAgLTU2MCw3ICs1NjAsNiBAQAogYm94ZXIJCQlNQUNIX0JPWEVSCQlCT1hFUgkJCTU0NAogc2hlcGhlcmQJCU1BQ0hfU0hFUEhFUkQJCVNIRVBIRVJECQk1NDUKIGFtbDQyODAwYWEJCU1BQ0hfQU1MNDI4MDBBQQkJQU1MNDI4MDBBQQkJNTQ2Ci1tbDY3NDAwMQkJTUFDSF9NQUNIX1RZUEVfTUw2NzQwMDEJTUFDSF9UWVBFX01MNjc0MDAxCTU0NwogbHBjMjI5NAkJCU1BQ0hfTFBDMjI5NAkJTFBDMjI5NAkJCTU0OAogc3dpdGNoZ3Jhc3MJCU1BQ0hfU1dJVENIR1JBU1MJU1dJVENIR1JBU1MJCTU0OQogZW5zX2NtdQkJCU1BQ0hfRU5TX0NNVQkJRU5TX0NNVQkJCTU1MApAQCAtNzQ4LDcgKzc0Nyw2IEBACiBpdGU4MTUyCQkJTUFDSF9JVEU4MTUyCQlJVEU4MTUyCQkJNzM1CiBscGMzeHh4CQkJTUFDSF9MUEMzWFhYCQlMUEMzWFhYCQkJNzM2CiBwdXBwZXRlZXIJCU1BQ0hfUFVQUEVURUVSCQlQVVBQRVRFRVIJCTczNwotdnQwMDEJCQlNQUNIX01BQ0hfVkFEQVRFQ0gJTUFDSF9WQURBVEVDSAkJNzM4CiBlNTcwCQkJTUFDSF9FNTcwCQlFNTcwCQkJNzM5CiB4NTAJCQlNQUNIX1g1MAkJWDUwCQkJNzQwCiByZWNvbgkJCU1BQ0hfUkVDT04JCVJFQ09OCQkJNzQxCkBAIC04MzksNyArODM3LDcgQEAKIG9tYXBfZ3NhbXBsZQkJTUFDSF9PTUFQX0dTQU1QTEUJT01BUF9HU0FNUExFCQk4MjYKIHJlYWx2aWV3X2ViCQlNQUNIX1JFQUxWSUVXX0VCCVJFQUxWSUVXX0VCCQk4MjcKIHNhbW9hCQkJTUFDSF9TQU1PQQkJU0FNT0EJCQk4MjgKLXQzeHNjYWxlCQlNQUNIX1QzWFNDQUxFCQlUM1hTQ0FMRQkJODI5CitwYWxtdDMJCQlNQUNIX1BBTE1UMwkJUEFMTVQzCQkJODI5CiBpODc4CQkJTUFDSF9JODc4CQlJODc4CQkJODMwCiBib3J6b2kJCQlNQUNIX0JPUlpPSQkJQk9SWk9JCQkJODMxCiBnZWNrbwkJCU1BQ0hfR0VDS08JCUdFQ0tPCQkJODMyCkBAIC04OTUsNyArODkzLDcgQEAKIG9taV9ib2FyZAkJTUFDSF9PTUlfQk9BUkQJCU9NSV9CT0FSRAkJODgyCiBteDIxY2l2CQkJTUFDSF9NWDIxQ0lWCQlNWDIxQ0lWCQkJODgzCiBtYWhpX2NkYWMJCU1BQ0hfTUFISV9DREFDCQlNQUhJX0NEQUMJCTg4NAoteHNjYWxlX3BhbG10eAkJTUFDSF9YU0NBTEVfUEFMTVRYCVhTQ0FMRV9QQUxNVFgJCTg4NQorcGFsbXR4CQkJTUFDSF9QQUxNVFgJCVBBTE1UWAkJCTg4NQogczNjMjQxMwkJCU1BQ0hfUzNDMjQxMwkJUzNDMjQxMwkJCTg4Nwogc2Ftc3lzX2VwMAkJTUFDSF9TQU1TWVNfRVAwCQlTQU1TWVNfRVAwCQk4ODgKIHdnMzAydjEJCQlNQUNIX1dHMzAyVjEJCVdHMzAyVjEJCQk4ODkKQEAgLTkxOCw3ICs5MTYsNyBAQAogYXBmOTMyOAkJCU1BQ0hfQVBGOTMyOAkJQVBGOTMyOAkJCTkwNgogb21hcF93aXBvcQkJTUFDSF9PTUFQX1dJUE9RCQlPTUFQX1dJUE9RCQk5MDcKIG9tYXBfdHdpcAkJTUFDSF9PTUFQX1RXSVAJCU9NQVBfVFdJUAkJOTA4Ci14c2NhbGVfdHJlbzY1MAkJTUFDSF9YU0NBTEVfUEFMTVRSRU82NTAJWFNDQUxFX1BBTE1UUkVPNjUwCTkwOQorcGFsbXRyZW82NTAJCU1BQ0hfUEFMTVRSRU82NTAJUEFMTVRSRU82NTAJCTkwOQogYWN1bWVuCQkJTUFDSF9BQ1VNRU4JCUFDVU1FTgkJCTkxMAogeHAxMDAJCQlNQUNIX1hQMTAwCQlYUDEwMAkJCTkxMQogZnMyNDEwCQkJTUFDSF9GUzI0MTAJCUZTMjQxMAkJCTkxMgpAQCAtOTI2LDggKzkyNCw4IEBACiBzcTJmdGxwYWxtCQlNQUNIX1NRMkZUTFBBTE0JCVNRMkZUTFBBTE0JCTkxNAogYnNlbXNlcnZlcgkJTUFDSF9CU0VNU0VSVkVSCQlCU0VNU0VSVkVSCQk5MTUKIG5ldGNsaWVudAkJTUFDSF9ORVRDTElFTlQJCU5FVENMSUVOVAkJOTE2Ci14c2NhbGVfcGFsbXR0NQkJTUFDSF9YU0NBTEVfUEFMTVRUNQlYU0NBTEVfUEFMTVRUNQkJOTE3Ci14c2NhbGVfcGFsbXRjCQlNQUNIX09NQVBfUEFMTVRDCU9NQVBfUEFMTVRDCQk5MTgKK3BhbG10NQkJCU1BQ0hfUEFMTVQ1CQlQQUxNVDUJCQk5MTcKK3BhbG10YwkJCU1BQ0hfUEFMTVRDCQlQQUxNVEMJCQk5MTgKIG9tYXBfYXBvbGxvbgkJTUFDSF9PTUFQX0FQT0xMT04JT01BUF9BUE9MTE9OCQk5MTkKIG14YzMwMDMwZXZiCQlNQUNIX01YQzMwMDMwRVZCCU1YQzMwMDMwRVZCCQk5MjAKIHJlYV8yZAkJCU1BQ0hfUkVBXzJECQlSRUFfMkQJCQk5MjEKQEAgLTEyMjAsNyArMTIxOCw2IEBACiBlbTcyMTAJCQlNQUNIX0VNNzIxMAkJRU03MjEwCQkJMTIxMgogaHRjaGVybWVzCQlNQUNIX0hUQ0hFUk1FUwkJSFRDSEVSTUVTCQkxMjEzCiBldGlfYzEJCQlNQUNIX0VUSV9DMQkJRVRJX0MxCQkJMTIxNAotbWFjaF9kZXAyNDEwCQlNQUNIX01BQ0hfREVQMjQxMAlNQUNIX0RFUDI0MTAJCTEyMTUKIGFjMTAwCQkJTUFDSF9BQzEwMAkJQUMxMDAJCQkxMjE2CiBzbmVldGNoCQkJTUFDSF9TTkVFVENICQlTTkVFVENICQkJMTIxNwogc3R1ZGVudG1hdGUJCU1BQ0hfU1RVREVOVE1BVEUJU1RVREVOVE1BVEUJCTEyMTgKQEAgLTE0MjEsMTAgKzE0MTgsMTAgQEAKIGNudHlfdGl0YW4JCU1BQ0hfQ05UWV9USVRBTgkJQ05UWV9USVRBTgkJMTQxOAogYXBwM3h4CQkJTUFDSF9BUFAzWFgJCUFQUDNYWAkJCTE0MTkKIHNpZGVvYXRzZ3JhbWEJCU1BQ0hfU0lERU9BVFNHUkFNQQlTSURFT0FUU0dSQU1BCQkxNDIwCi14c2NhbGVfcGFsbXQ3MDBwCU1BQ0hfWFNDQUxFX1BBTE1UNzAwUAlYU0NBTEVfUEFMTVQ3MDBQCTE0MjEKLXhzY2FsZV9wYWxtdDcwMHcJTUFDSF9YU0NBTEVfUEFMTVQ3MDBXCVhTQ0FMRV9QQUxNVDcwMFcJMTQyMgoteHNjYWxlX3BhbG10NzUwCQlNQUNIX1hTQ0FMRV9QQUxNVDc1MAlYU0NBTEVfUEFMTVQ3NTAJCTE0MjMKLXhzY2FsZV9wYWxtdDc1NXAJTUFDSF9YU0NBTEVfUEFMTVQ3NTVQCVhTQ0FMRV9QQUxNVDc1NVAJMTQyNAorcGFsbXRyZW83MDBwCQlNQUNIX1BBTE1UUkVPNzAwUAlQQUxNVFJFTzcwMFAJCTE0MjEKK3BhbG10cmVvNzAwdwkJTUFDSF9QQUxNVFJFTzcwMFcJUEFMTVRSRU83MDBXCQkxNDIyCitwYWxtdHJlbzc1MAkJTUFDSF9QQUxNVFJFTzc1MAlQQUxNVFJFTzc1MAkJMTQyMworcGFsbXRyZW83NTVwCQlNQUNIX1BBTE1UUkVPNzU1UAlQQUxNVFJFTzc1NVAJCTE0MjQKIGV6cmVnYW51dDkyMDAJCU1BQ0hfRVpSRUdBTlVUOTIwMAlFWlJFR0FOVVQ5MjAwCQkxNDI1CiBzYXJnZQkJCU1BQ0hfU0FSR0UJCVNBUkdFCQkJMTQyNgogYTY5NgkJCU1BQ0hfQTY5NgkJQTY5NgkJCTE0MjcKQEAgLTE0NjMsNyArMTQ2MCw3IEBACiBodGN0aXRhbgkJTUFDSF9IVENUSVRBTgkJSFRDVElUQU4JCTE0NjMKIHFyYW5pdW0JCQlNQUNIX1FSQU5JVU0JCVFSQU5JVU0JCQkxNDY0CiBhZHhfd3NjMgkJTUFDSF9BRFhfV1NDMgkJQURYX1dTQzIJCTE0NjUKLWFkeF9tZWRjb20JCU1BQ0hfQURYX01FRElORVQJQURYX01FRElORVQJCTE0NjYKK2FkeF9tZWRjb20JCU1BQ0hfQURYX01FRENPTQkJQURYX01FRENPTQkJMTQ2NgogYmJvYXJkCQkJTUFDSF9CQk9BUkQJCUJCT0FSRAkJCTE0NjcKIGNhbWJyaWEJCQlNQUNIX0NBTUJSSUEJCUNBTUJSSUEJCQkxNDY4CiBtdDd4eHgJCQlNQUNIX01UN1hYWAkJTVQ3WFhYCQkJMTQ2OQpAQCAtMTUxOSw3ICsxNTE2LDcgQEAKIGNvcnNpY2EJCQlNQUNIX0NPUlNJQ0EJCUNPUlNJQ0EJCQkxNTE5CiBiaWdleWUJCQlNQUNIX0JJR0VZRQkJQklHRVlFCQkJMTUyMAogdGxsNTAwMAkJCU1BQ0hfVExMNTAwMAkJVExMNTAwMAkJCTE1MjIKLWhuaTI3MAkJCU1BQ0hfSE5JX1gyNzAJCUhOSV9YMjcwCQkxNTIzCitiZWJvdAkJCU1BQ0hfQkVCT1QJCUJFQk9UCQkJMTUyMwogcW9uZwkJCU1BQ0hfUU9ORwkJUU9ORwkJCTE1MjQKIHRjb21wYWN0CQlNQUNIX1RDT01QQUNUCQlUQ09NUEFDVAkJMTUyNQogcHVtYTUJCQlNQUNIX1BVTUE1CQlQVU1BNQkJCTE1MjYKQEAgLTE2MzYsNyArMTYzMyw2IEBACiBwYWxlcm1vYwkJTUFDSF9QQUxFUk1PQwkJUEFMRVJNT0MJCTE2MzgKIG9tYXBfbGRwCQlNQUNIX09NQVBfTERQCQlPTUFQX0xEUAkJMTYzOQogaXA1MDAJCQlNQUNIX0lQNTAwCQlJUDUwMAkJCTE2NDAKLW14MzVhZHMJCQlNQUNIX01BQ0hfTVgzNUFEUwlNQUNIX01YMzVBRFMJCTE2NDEKIGFzZTIJCQlNQUNIX0FTRTIJCUFTRTIJCQkxNjQyCiBteDM1ZXZiCQkJTUFDSF9NWDM1RVZCCQlNWDM1RVZCCQkJMTY0MwogYW1sX204MDUwCQlNQUNIX0FNTF9NODA1MAkJQU1MX004MDUwCQkxNjQ0CkBAIC0xNjQ3LDcgKzE2NDMsNyBAQAogdHJpemVwczR3bAkJTUFDSF9UUklaRVBTNFdMCQlUUklaRVBTNFdMCQkxNjQ5CiB0cml6ZXBzNQkJTUFDSF9UUklaRVBTNQkJVFJJWkVQUzUJCTE2NTAKIG1hcmxpbgkJCU1BQ0hfTUFSTElOCQlNQVJMSU4JCQkxNjUxCi10czc4MDAJCQlNQUNIX1RTNzgwMAkJVFM3ODAwCQkJMTY1MgordHM3OHh4CQkJTUFDSF9UUzc4WFgJCVRTNzhYWAkJCTE2NTIKIGhwaXBhcTIxNAkJTUFDSF9IUElQQVEyMTQJCUhQSVBBUTIxNAkJMTY1MwogYXQ1NzJkOTQwZGNtCQlNQUNIX0FUNTcyRDk0MERDTQlBVDU3MkQ5NDBEQ00JCTE2NTQKIG5lMWJvYXJkCQlNQUNIX05FMUJPQVJECQlORTFCT0FSRAkJMTY1NQpAQCAtMTcyMCwzICsxNzE2LDk5IEBACiBsZ19rczIwCQkJTUFDSF9MR19LUzIwCQlMR19LUzIwCQkJMTcyNQogaGhncHMJCQlNQUNIX0hIR1BTCQlISEdQUwkJCTE3MjYKIG5va2lhX244MTBfd2ltYXgJTUFDSF9OT0tJQV9OODEwX1dJTUFYCU5PS0lBX044MTBfV0lNQVgJMTcyNworaW5zaWdodAkJCU1BQ0hfSU5TSUdIVAkJSU5TSUdIVAkJCTE3MjgKK3NhcHBoaXJlCQlNQUNIX1NBUFBISVJFCQlTQVBQSElSRQkJMTcyOQorY3NiNjM3eG8JCU1BQ0hfQ1NCNjM3WE8JCUNTQjYzN1hPCQkxNzMwCitldmlzaW9uZwkJTUFDSF9FVklTSU9ORwkJRVZJU0lPTkcJCTE3MzEKK3N0bXAzN3h4CQlNQUNIX1NUTVAzN1hYCQlTVE1QMzdYWAkJMTczMgorc3RtcDM3OHgJCU1BQ0hfU1RNUDM4WFgJCVNUTVAzOFhYCQkxNzMzCit0bnQJCQlNQUNIX1ROVAkJVE5UCQkJMTczNAordGJ4dAkJCU1BQ0hfVEJYVAkJVEJYVAkJCTE3MzUKK3BsYXltYXRlCQlNQUNIX1BMQVlNQVRFCQlQTEFZTUFURQkJMTczNgorcG5zMTAJCQlNQUNIX1BOUzEwCQlQTlMxMAkJCTE3MzcKK2V6bmF2aQkJCU1BQ0hfRVpOQVZJCQlFWk5BVkkJCQkxNzM4CitwczQwMDAJCQlNQUNIX1BTNDAwMAkJUFM0MDAwCQkJMTczOQorZXp4X2E3ODAJCU1BQ0hfRVpYX0E3ODAJCUVaWF9BNzgwCQkxNzQwCitlenhfZTY4MAkJTUFDSF9FWlhfRTY4MAkJRVpYX0U2ODAJCTE3NDEKK2V6eF9hMTIwMAkJTUFDSF9FWlhfQTEyMDAJCUVaWF9BMTIwMAkJMTc0MgorZXp4X2U2CQkJTUFDSF9FWlhfRTYJCUVaWF9FNgkJCTE3NDMKK2V6eF9lMgkJCU1BQ0hfRVpYX0UyCQlFWlhfRTIJCQkxNzQ0CitlenhfYTkxMAkJTUFDSF9FWlhfQTkxMAkJRVpYX0E5MTAJCTE3NDUKK2N3bXgzMQkJCU1BQ0hfQ1dNWDMxCQlDV01YMzEJCQkxNzQ2CitzbDIzMTIJCQlNQUNIX1NMMjMxMgkJU0wyMzEyCQkJMTc0NworYmxlbm55CQkJTUFDSF9CTEVOTlkJCUJMRU5OWQkJCTE3NDgKK2RzMTA3CQkJTUFDSF9EUzEwNwkJRFMxMDcJCQkxNzQ5Citkc3gwNwkJCU1BQ0hfRFNYMDcJCURTWDA3CQkJMTc1MAorcGljb2NvbTEJCU1BQ0hfUElDT0NPTTEJCVBJQ09DT00xCQkxNzUxCitseW54X3dvbHZlcmluZQkJTUFDSF9MWU5YX1dPTFZFUklORQlMWU5YX1dPTFZFUklORQkJMTc1MgordWJpc3lzX3A5X3NjMTkJCU1BQ0hfVUJJU1lTX1A5X1NDMTkJVUJJU1lTX1A5X1NDMTkJCTE3NTMKK2tyYXRvc19sb3cJCU1BQ0hfS1JBVE9TX0xPVwkJS1JBVE9TX0xPVwkJMTc1NAorbTcwMAkJCU1BQ0hfTTcwMAkJTTcwMAkJCTE3NTUKK2VkbWluaV92MgkJTUFDSF9FRE1JTklfVjIJCUVETUlOSV9WMgkJMTc1NgoremlwaXQyCQkJTUFDSF9aSVBJVDIJCVpJUElUMgkJCTE3NTcKK2hzbGZlbXRvY2VsbAkJTUFDSF9IU0xGRU1UT0NFTEwJSFNMRkVNVE9DRUxMCQkxNzU4CitkYWludHJlZV9hdDkxCQlNQUNIX0RBSU5UUkVFX0FUOTEJREFJTlRSRUVfQVQ5MQkJMTc1OQorc2c1NjB1c2IJCU1BQ0hfU0c1NjBVU0IJCVNHNTYwVVNCCQkxNzYwCitvbWFwM19wYW5kb3JhCQlNQUNIX09NQVAzX1BBTkRPUkEJT01BUDNfUEFORE9SQQkJMTc2MQordXNyODIwMAkJCU1BQ0hfVVNSODIwMAkJVVNSODIwMAkJCTE3NjIKK3MxczY1awkJCU1BQ0hfUzFTNjVLCQlTMVM2NUsJCQkxNzYzCitzMnM2NWEJCQlNQUNIX1MyUzY1QQkJUzJTNjVBCQkJMTc2NAoraWNvcmUJCQlNQUNIX0lDT1JFCQlJQ09SRQkJCTE3NjUKK21zczIJCQlNQUNIX01TUzIJCU1TUzIJCQkxNzY2CitiZWxtb250CQkJTUFDSF9CRUxNT05UCQlCRUxNT05UCQkJMTc2NworYXN1c3A1MjUJCU1BQ0hfQVNVU1A1MjUJCUFTVVNQNTI1CQkxNzY4CitsYjg4cmM4NDgwCQlNQUNIX0xCODhSQzg0ODAJCUxCODhSQzg0ODAJCTE3NjkKK2hpcHhhCQkJTUFDSF9ISVBYQQkJSElQWEEJCQkxNzcwCitteDI1XzNkcwkJTUFDSF9NWDI1XzNEUwkJTVgyNV8zRFMJCTE3NzEKK204MDAJCQlNQUNIX004MDAJCU04MDAJCQkxNzcyCitvbWFwMzUzMF9sdl9zb20JCU1BQ0hfT01BUDM1MzBfTFZfU09NCU9NQVAzNTMwX0xWX1NPTQkJMTc3MworcHJpbWFfZXZiCQlNQUNIX1BSSU1BX0VWQgkJUFJJTUFfRVZCCQkxNzc0CitteDMxYnQxCQkJTUFDSF9NWDMxQlQxCQlNWDMxQlQxCQkJMTc3NQorYXRsYXM0X2V2YgkJTUFDSF9BVExBUzRfRVZCCQlBVExBUzRfRVZCCQkxNzc2CitteDMxY2ljYWRhCQlNQUNIX01YMzFDSUNBREEJCU1YMzFDSUNBREEJCTE3NzcKK21pNDI0d3IJCQlNQUNIX01JNDI0V1IJCU1JNDI0V1IJCQkxNzc4CitheHNfdWx0cmF4CQlNQUNIX0FYU19VTFRSQVgJCUFYU19VTFRSQVgJCTE3NzkKK2F0NTcyZDk0MGRlYgkJTUFDSF9BVDU3MkQ5NDBERUIJQVQ1NzJEOTQwREVCCQkxNzgwCitkYXZpbmNpX2RhOHh4X2V2bQlNQUNIX0RBVklOQ0lfREE4WFhfRVZNCURBVklOQ0lfREE4WFhfRVZNCTE3ODEKK2VwOTMwMgkJCU1BQ0hfRVA5MzAyCQlFUDkzMDIJCQkxNzgyCithdDU3MmQ5NDBoZmViCQlNQUNIX0FUNTcyRDk0MEhGRUIJQVQ1NzJEOTQwSEZFQgkJMTc4MworY3lib29rMwkJCU1BQ0hfQ1lCT09LMwkJQ1lCT09LMwkJCTE3ODQKK3dkZzAwMgkJCU1BQ0hfV0RHMDAyCQlXREcwMDIJCQkxNzg1CitzZzU2MGFkc2wJCU1BQ0hfU0c1NjBBRFNMCQlTRzU2MEFEU0wJCTE3ODYKK25leHRpb19uMjgwMF9pY2EJTUFDSF9ORVhUSU9fTjI4MDBfSUNBCU5FWFRJT19OMjgwMF9JQ0EJMTc4NworbWFydmVsbF9uZXdkYgkJTUFDSF9NQVJWRUxMX05FV0RCCU1BUlZFTExfTkVXREIJCTE3ODkKK3ZhbmRpaHVkCQlNQUNIX1ZBTkRJSFVECQlWQU5ESUhVRAkJMTc5MAorbWFneF9lOAkJCU1BQ0hfTUFHWF9FOAkJTUFHWF9FOAkJCTE3OTEKK21hZ3hfejYJCQlNQUNIX01BR1hfWjYJCU1BR1hfWjYJCQkxNzkyCittYWd4X3Y4CQkJTUFDSF9NQUdYX1Y4CQlNQUdYX1Y4CQkJMTc5MworbWFneF91OQkJCU1BQ0hfTUFHWF9VOQkJTUFHWF9VOQkJCTE3OTQKK3RvdWdoY2YwOAkJTUFDSF9UT1VHSENGMDgJCVRPVUdIQ0YwOAkJMTc5NQorenc0NDAwCQkJTUFDSF9aVzQ0MDAJCVpXNDQwMAkJCTE3OTYKK21hcmF0OTEJCQlNQUNIX01BUkFUOTEJCU1BUkFUOTEJCQkxNzk3CitvdmVybwkJCU1BQ0hfT1ZFUk8JCU9WRVJPCQkJMTc5OAorYXQyNDQwZXZiCQlNQUNIX0FUMjQ0MEVWQgkJQVQyNDQwRVZCCQkxNzk5CituZW9jb3JlOTI2CQlNQUNIX05FT0NPUkU5MjYJCU5FT0NPUkU5MjYJCTE4MDAKK3ducjg1NHQJCQlNQUNIX1dOUjg1NFQJCVdOUjg1NFQJCQkxODAxCitpbXgyNwkJCU1BQ0hfSU1YMjcJCUlNWDI3CQkJMTgwMgorbW9vc2VfZGIJCU1BQ0hfTU9PU0VfREIJCU1PT1NFX0RCCQkxODAzCitmYWI0CQkJTUFDSF9GQUI0CQlGQUI0CQkJMTgwNAoraHRjZGlhbW9uZAkJTUFDSF9IVENESUFNT05ECQlIVENESUFNT05ECQkxODA1CitmaW9uYQkJCU1BQ0hfRklPTkEJCUZJT05BCQkJMTgwNgorbXhjMzAwMzBfeAkJTUFDSF9NWEMzMDAzMF9YCQlNWEMzMDAzMF9YCQkxODA3CitibXAxMDAwCQkJTUFDSF9CTVAxMDAwCQlCTVAxMDAwCQkJMTgwOAorbG9naTkyMDAJCU1BQ0hfTE9HSTkyMDAJCUxPR0k5MjAwCQkxODA5Cit0cW1hMzEJCQlNQUNIX1RRTUEzMQkJVFFNQTMxCQkJMTgxMAorY2N3OXA5MjE1anMJCU1BQ0hfQ0NXOVA5MjE1SlMJQ0NXOVA5MjE1SlMJCTE4MTEKK3JkODhmNTE4MWxfZ2UJCU1BQ0hfUkQ4OEY1MTgxTF9HRQlSRDg4RjUxODFMX0dFCQkxODEyCitzaWZtYWluCQkJTUFDSF9TSUZNQUlOCQlTSUZNQUlOCQkJMTgxMworc2FtOV9sOTI2MQkJTUFDSF9TQU05X0w5MjYxCQlTQU05X0w5MjYxCQkxODE0CitjYzltMjQ0M2pzCQlNQUNIX0NDOU0yNDQzSlMJCUNDOU0yNDQzSlMJCTE4MTUKK3hhcmlhMzAwCQlNQUNIX1hBUklBMzAwCQlYQVJJQTMwMAkJMTgxNgoraXQ5MjAwCQkJTUFDSF9JVDkyMDAJCUlUOTIwMAkJCTE4MTcKK3JkODhmNTE4MWxfZnhvCQlNQUNIX1JEODhGNTE4MUxfRlhPCVJEODhGNTE4MUxfRlhPCQkxODE4Citrcmlzc19zZW5zb3IJCU1BQ0hfS1JJU1NfU0VOU09SCUtSSVNTX1NFTlNPUgkJMTgxOQorcGlsel9wbWk1CQlNQUNIX1BJTFpfUE1JNQkJUElMWl9QTUk1CQkxODIwCitqYWRlCQkJTUFDSF9KQURFCQlKQURFCQkJMTgyMQora3M4Njk1X3NvZnRwbGMJCU1BQ0hfS1M4Njk1X1NPRlRQTEMJS1M4Njk1X1NPRlRQTEMJCTE4MjIKK2dwcmlzYzQJCQlNQUNIX0dQUklTQzQJCUdQUklTQzQJCQkxODIzCitzdGFtcDkyNjAJCU1BQ0hfU1RBTVA5MjYwCQlTVEFNUDkyNjAJCTE4MjQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3ZmcC92ZnBtb2R1bGUuYyBiL2FyY2gvYXJtL3ZmcC92ZnBtb2R1bGUuYwppbmRleCAzMjQ1NWM2Li5jMGQyYzliIDEwMDY0NAotLS0gYS9hcmNoL2FybS92ZnAvdmZwbW9kdWxlLmMKKysrIGIvYXJjaC9hcm0vdmZwL3ZmcG1vZHVsZS5jCkBAIC0zNTIsNyArMzUyLDcgQEAKIAllbHNlIGlmICh2ZnBzaWQgJiBGUFNJRF9OT0RPVUJMRSkgewogCQlwcmludGsoIm5vIGRvdWJsZSBwcmVjaXNpb24gc3VwcG9ydFxuIik7CiAJfSBlbHNlIHsKLQkJc21wX2NhbGxfZnVuY3Rpb24odmZwX2VuYWJsZSwgTlVMTCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKHZmcF9lbmFibGUsIE5VTEwsIDEpOwogCiAJCVZGUF9hcmNoID0gKHZmcHNpZCAmIEZQU0lEX0FSQ0hfTUFTSykgPj4gRlBTSURfQVJDSF9CSVQ7ICAvKiBFeHRyYWN0IHRoZSBhcmNoaXRlY3R1cmUgdmVyc2lvbiAqLwogCQlwcmludGsoImltcGxlbWVudG9yICUwMnggYXJjaGl0ZWN0dXJlICVkIHBhcnQgJTAyeCB2YXJpYW50ICV4IHJldiAleFxuIiwKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvS2NvbmZpZyBiL2FyY2gvYXZyMzIvS2NvbmZpZwppbmRleCAwOWFkNzk5Li40NWQ2M2M5IDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL0tjb25maWcKKysrIGIvYXJjaC9hdnIzMi9LY29uZmlnCkBAIC04OCw2ICs4OCw3IEBACiAJc2VsZWN0IE1NVQogCXNlbGVjdCBQRVJGT1JNQU5DRV9DT1VOVEVSUwogCXNlbGVjdCBIQVZFX0dQSU9fTElCCisJc2VsZWN0IEdFTkVSSUNfQUxMT0NBVE9SCiAKICMKICMgQ1BVIHR5cGVzCkBAIC0xNDcsNiArMTQ4LDkgQEAKIAogc291cmNlICJrZXJuZWwvS2NvbmZpZy5wcmVlbXB0IgogCitjb25maWcgUVVJQ0tMSVNUCisJZGVmX2Jvb2wgeQorCiBjb25maWcgSEFWRV9BUkNIX0JPT1RNRU1fTk9ERQogCWRlZl9ib29sIG4KIApAQCAtMjAxLDYgKzIwNSwxMSBAQAogCiBtZW51ICJQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMiCiAKK3NvdXJjZSAia2VybmVsL3Bvd2VyL0tjb25maWciCisKK2NvbmZpZyBBUkNIX1NVU1BFTkRfUE9TU0lCTEUKKwlkZWZfYm9vbCB5CisKIG1lbnUgIkNQVSBGcmVxdWVuY3kgc2NhbGluZyIKIAogc291cmNlICJkcml2ZXJzL2NwdWZyZXEvS2NvbmZpZyIKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0bmd3MTAwL3NldHVwLmMgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdG5ndzEwMC9zZXR1cC5jCmluZGV4IGEzOThiZTIuLmE1MWJiOWYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0bmd3MTAwL3NldHVwLmMKKysrIGIvYXJjaC9hdnIzMi9ib2FyZHMvYXRuZ3cxMDAvc2V0dXAuYwpAQCAtOSw2ICs5LDggQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2V0aGVyZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLWdwaW8uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgpAQCAtMjUsNiArMjcsMTMgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9pbml0Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcG9ydG11eC5oPgogCisvKiBPc2NpbGxhdG9yIGZyZXF1ZW5jaWVzLiBUaGVzZSBhcmUgYm9hcmQtc3BlY2lmaWMgKi8KK3Vuc2lnbmVkIGxvbmcgYXQzMl9ib2FyZF9vc2NfcmF0ZXNbM10gPSB7CisJWzBdID0gMzI3NjgsCS8qIDMyLjc2OCBrSHogb24gUlRDIG9zYyAqLworCVsxXSA9IDIwMDAwMDAwLAkvKiAyMCBNSHogb24gb3NjMCAqLworCVsyXSA9IDEyMDAwMDAwLAkvKiAxMiBNSHogb24gb3NjMSAqLworfTsKKwogLyogSW5pdGlhbGl6ZWQgYnkgYm9vdGxvYWRlci1zcGVjaWZpYyBzdGFydHVwIGNvZGUuICovCiBzdHJ1Y3QgdGFnICpib290bG9hZGVyX3RhZ3MgX19pbml0ZGF0YTsKIApAQCAtMTQwLDYgKzE0OSwxMCBAQAogCX0sCiB9OwogCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgaTJjX2luZm9bXSA9IHsKKwkvKiBOT1RFOiAgb3JpZ2luYWwgQVR0aW55MjQgZmlybXdhcmUgaXMgYXQgYWRkcmVzcyAweDBiICovCit9OworCiBzdGF0aWMgaW50IF9faW5pdCBhdG5ndzEwMF9pbml0KHZvaWQpCiB7CiAJdW5zaWduZWQJaTsKQEAgLTE2NSwxMiArMTc4LDI4IEBACiAJfQogCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmbmd3X2dwaW9fbGVkcyk7CiAKKwkvKiBhbGwgdGhlc2UgaTJjL3NtYnVzIHBpbnMgc2hvdWxkIGhhdmUgZXh0ZXJuYWwgcHVsbHVwcyBmb3IKKwkgKiBvcGVuLWRyYWluIHNoYXJpbmcgYW1vbmcgYWxsIEkyQyBkZXZpY2VzLiAgU0RBIGFuZCBTQ0wgZG87CisJICogUEIyOC9FWFRJTlQzIGRvZXNuJ3Q7IGl0IHNob3VsZCBiZSBTTUJBTEVSVCMgKGZvciBQTUJ1cyksCisJICogYnV0IGl0J3Mgbm90IGF2YWlsYWJsZSBvZmYtYm9hcmQuCisJICovCisJYXQzMl9zZWxlY3RfcGVyaXBoKEdQSU9fUElOX1BCKDI4KSwgMCwgQVQzMl9HUElPRl9QVUxMVVApOwogCWF0MzJfc2VsZWN0X2dwaW8oaTJjX2dwaW9fZGF0YS5zZGFfcGluLAogCQlBVDMyX0dQSU9GX01VTFRJRFJWIHwgQVQzMl9HUElPRl9PVVRQVVQgfCBBVDMyX0dQSU9GX0hJR0gpOwogCWF0MzJfc2VsZWN0X2dwaW8oaTJjX2dwaW9fZGF0YS5zY2xfcGluLAogCQlBVDMyX0dQSU9GX01VTFRJRFJWIHwgQVQzMl9HUElPRl9PVVRQVVQgfCBBVDMyX0dQSU9GX0hJR0gpOwogCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmaTJjX2dwaW9fZGV2aWNlKTsKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCBpMmNfaW5mbywgQVJSQVlfU0laRShpMmNfaW5mbykpOwogCiAJcmV0dXJuIDA7CiB9CiBwb3N0Y29yZV9pbml0Y2FsbChhdG5ndzEwMF9pbml0KTsKKworc3RhdGljIGludCBfX2luaXQgYXRuZ3cxMDBfYXJjaF9pbml0KHZvaWQpCit7CisJLyogc2V0X2lycV90eXBlKCkgYWZ0ZXIgdGhlIGFyY2hfaW5pdGNhbGwgZm9yIEVJQyBoYXMgcnVuLCBhbmQKKwkgKiBiZWZvcmUgdGhlIEkyQyBzdWJzeXN0ZW0gY291bGQgdHJ5IHVzaW5nIHRoaXMgSVJRLgorCSAqLworCXJldHVybiBzZXRfaXJxX3R5cGUoQVQzMl9FWFRJTlQoMyksIElSUV9UWVBFX0VER0VfRkFMTElORyk7Cit9CithcmNoX2luaXRjYWxsKGF0bmd3MTAwX2FyY2hfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDAyLmMgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDAyLmMKaW5kZXggMDAwZWI0Mi4uODZiMzYzYyAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwMi5jCisrKyBiL2FyY2gvYXZyMzIvYm9hcmRzL2F0c3RrMTAwMC9hdHN0azEwMDIuYwpAQCAtMjgsNiArMjgsMTIgQEAKIAogI2luY2x1ZGUgImF0c3RrMTAwMC5oIgogCisvKiBPc2NpbGxhdG9yIGZyZXF1ZW5jaWVzLiBUaGVzZSBhcmUgYm9hcmQgc3BlY2lmaWMgKi8KK3Vuc2lnbmVkIGxvbmcgYXQzMl9ib2FyZF9vc2NfcmF0ZXNbM10gPSB7CisJWzBdID0gMzI3NjgsCS8qIDMyLjc2OCBrSHogb24gUlRDIG9zYyAqLworCVsxXSA9IDIwMDAwMDAwLAkvKiAyMCBNSHogb24gb3NjMCAqLworCVsyXSA9IDEyMDAwMDAwLAkvKiAxMiBNSHogb24gb3NjMSAqLworfTsKIAogc3RydWN0IGV0aF9hZGRyIHsKIAl1OCBhZGRyWzZdOwpAQCAtMjMyLDcgKzIzOCw3IEBACiAJc2V0X2h3X2FkZHIoYXQzMl9hZGRfZGV2aWNlX2V0aCgxLCAmZXRoX2RhdGFbMV0pKTsKICNlbHNlCiAJYXQzMl9hZGRfZGV2aWNlX2xjZGMoMCwgJmF0c3RrMTAwMF9sY2RjX2RhdGEsCi0JCQkgICAgIGZibWVtX3N0YXJ0LCBmYm1lbV9zaXplKTsKKwkJCSAgICAgZmJtZW1fc3RhcnQsIGZibWVtX3NpemUsIDApOwogI2VuZGlmCiAJYXQzMl9hZGRfZGV2aWNlX3VzYmEoMCwgTlVMTCk7CiAjaWZuZGVmIENPTkZJR19CT0FSRF9BVFNUSzEwMFhfU1czX0NVU1RPTQpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwMy5jIGIvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwMy5jCmluZGV4IGEwYjIyM2QuLmVhMTA5ZjQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0c3RrMTAwMC9hdHN0azEwMDMuYworKysgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDAzLmMKQEAgLTI3LDYgKzI3LDEzIEBACiAKICNpbmNsdWRlICJhdHN0azEwMDAuaCIKIAorLyogT3NjaWxsYXRvciBmcmVxdWVuY2llcy4gVGhlc2UgYXJlIGJvYXJkIHNwZWNpZmljICovCit1bnNpZ25lZCBsb25nIGF0MzJfYm9hcmRfb3NjX3JhdGVzWzNdID0geworCVswXSA9IDMyNzY4LAkvKiAzMi43Njgga0h6IG9uIFJUQyBvc2MgKi8KKwlbMV0gPSAyMDAwMDAwMCwJLyogMjAgTUh6IG9uIG9zYzAgKi8KKwlbMl0gPSAxMjAwMDAwMCwJLyogMTIgTUh6IG9uIG9zYzEgKi8KK307CisKICNpZmRlZiBDT05GSUdfQk9BUkRfQVRTVEsxMDAwX0VYVERBQwogc3RhdGljIHN0cnVjdCBhdDczYzIxM19ib2FyZF9pbmZvIGF0NzNjMjEzX2RhdGEgPSB7CiAJLnNzY19pZAkJPSAwLApkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwNC5jIGIvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwNC5jCmluZGV4IGU3NjVhODYuLmM3MjM2ZGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0c3RrMTAwMC9hdHN0azEwMDQuYworKysgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDA0LmMKQEAgLTI5LDYgKzI5LDEzIEBACiAKICNpbmNsdWRlICJhdHN0azEwMDAuaCIKIAorLyogT3NjaWxsYXRvciBmcmVxdWVuY2llcy4gVGhlc2UgYXJlIGJvYXJkIHNwZWNpZmljICovCit1bnNpZ25lZCBsb25nIGF0MzJfYm9hcmRfb3NjX3JhdGVzWzNdID0geworCVswXSA9IDMyNzY4LAkvKiAzMi43Njgga0h6IG9uIFJUQyBvc2MgKi8KKwlbMV0gPSAyMDAwMDAwMCwJLyogMjAgTUh6IG9uIG9zYzAgKi8KKwlbMl0gPSAxMjAwMDAwMCwJLyogMTIgTUh6IG9uIG9zYzEgKi8KK307CisKICNpZmRlZiBDT05GSUdfQk9BUkRfQVRTVEsxMDAwX0VYVERBQwogc3RhdGljIHN0cnVjdCBhdDczYzIxM19ib2FyZF9pbmZvIGF0NzNjMjEzX2RhdGEgPSB7CiAJLnNzY19pZAkJPSAwLApAQCAtMTMzLDcgKzE0MCw3IEBACiAJYXQzMl9hZGRfZGV2aWNlX21jaSgwKTsKICNlbmRpZgogCWF0MzJfYWRkX2RldmljZV9sY2RjKDAsICZhdHN0azEwMDBfbGNkY19kYXRhLAotCQkJICAgICBmYm1lbV9zdGFydCwgZmJtZW1fc2l6ZSk7CisJCQkgICAgIGZibWVtX3N0YXJ0LCBmYm1lbV9zaXplLCAwKTsKIAlhdDMyX2FkZF9kZXZpY2VfdXNiYSgwLCBOVUxMKTsKICNpZm5kZWYgQ09ORklHX0JPQVJEX0FUU1RLMTAwWF9TVzNfQ1VTVE9NCiAJYXQzMl9hZGRfZGV2aWNlX3NzYygwLCBBVE1FTF9TU0NfVFgpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9rZXJuZWwvZW50cnktYXZyMzJiLlMgYi9hcmNoL2F2cjMyL2tlcm5lbC9lbnRyeS1hdnIzMmIuUwppbmRleCA1ZjMxNzAyLi4yYjM5OGNhIDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL2tlcm5lbC9lbnRyeS1hdnIzMmIuUworKysgYi9hcmNoL2F2cjMyL2tlcm5lbC9lbnRyeS1hdnIzMmIuUwpAQCAtNzQsNTAgKzc0LDQxIEBACiAJLmFsaWduCTIKIAlicmFsCWRvX2R0bGJfbW9kaWZpZWQKIAotCS8qCi0JICogcjAgOglQR0QvUFQvUFRFCi0JICogcjEgOiBPZmZlbmRpbmcgYWRkcmVzcwotCSAqIHIyIDogU2NyYXRjaCByZWdpc3RlcgotCSAqIHIzIDogQ2F1c2UgKDUsIDEyIG9yIDEzKQotCSAqLwogI2RlZmluZQl0bGJtaXNzX3NhdmUJcHVzaG0JcjAtcjMKICNkZWZpbmUgdGxibWlzc19yZXN0b3JlCXBvcG0JcjAtcjMKIAotCS5zZWN0aW9uIC50bGJ4LmV4LnRleHQsImF4IixAcHJvZ2JpdHMKKwkub3JnCTB4NTAKIAkuZ2xvYmFsCWl0bGJfbWlzcwogaXRsYl9taXNzOgogCXRsYm1pc3Nfc2F2ZQogCXJqbXAJdGxiX21pc3NfY29tbW9uCiAKLQkuc2VjdGlvbiAudGxici5leC50ZXh0LCJheCIsQHByb2diaXRzCisJLm9yZwkweDYwCiBkdGxiX21pc3NfcmVhZDoKIAl0bGJtaXNzX3NhdmUKIAlyam1wCXRsYl9taXNzX2NvbW1vbgogCi0JLnNlY3Rpb24gLnRsYncuZXgudGV4dCwiYXgiLEBwcm9nYml0cworCS5vcmcJMHg3MAogZHRsYl9taXNzX3dyaXRlOgogCXRsYm1pc3Nfc2F2ZQogCiAJLmdsb2JhbAl0bGJfbWlzc19jb21tb24KKwkuYWxpZ24JMgogdGxiX21pc3NfY29tbW9uOgogCW1mc3IJcjAsIFNZU1JFR19UTEJFQVIKIAltZnNyCXIxLCBTWVNSRUdfUFRCUgogCi0JLyogSXMgaXQgdGhlIHZtYWxsb2Mgc3BhY2U/ICovCi0JYmxkCXIwLCAzMQotCWJyY3MJaGFuZGxlX3ZtYWxsb2NfbWlzcwotCi0JLyogRmlyc3QgbGV2ZWwgbG9va3VwICovCisJLyoKKwkgKiBGaXJzdCBsZXZlbCBsb29rdXA6IFRoZSBQR0QgY29udGFpbnMgdmlydHVhbCBwb2ludGVycyB0bworCSAqIHRoZSBzZWNvbmQtbGV2ZWwgcGFnZSB0YWJsZXMsIGJ1dCB0aGV5IG1heSBiZSBOVUxMIGlmIG5vdAorCSAqIHByZXNlbnQuCisJICovCiBwZ3RibF9sb29rdXA6CiAJbHNyCXIyLCByMCwgUEdESVJfU0hJRlQKIAlsZC53CXIzLCByMVtyMiA8PCAyXQogCWJmZXh0dQlyMSwgcjAsIFBBR0VfU0hJRlQsIFBHRElSX1NISUZUIC0gUEFHRV9TSElGVAotCWJsZAlyMywgX1BBR0VfQklUX1BSRVNFTlQKLQlicmNjCXBhZ2VfdGFibGVfbm90X3ByZXNlbnQKLQotCS8qIFRyYW5zbGF0ZSB0byB2aXJ0dWFsIGFkZHJlc3MgaW4gUDEuICovCi0JYW5kbAlyMywgMHhmMDAwCi0Jc2JyCXIzLCAzMQorCWNwLncJcjMsIDAKKwlicmVxCXBhZ2VfdGFibGVfbm90X3ByZXNlbnQKIAogCS8qIFNlY29uZCBsZXZlbCBsb29rdXAgKi8KIAlsZC53CXIyLCByM1tyMSA8PCAyXQpAQCAtMTQ4LDE2ICsxMzksNTUgQEAKIAl0bGJtaXNzX3Jlc3RvcmUKIAlyZXRlCiAKLWhhbmRsZV92bWFsbG9jX21pc3M6Ci0JLyogU2ltcGx5IGRvIHRoZSBsb29rdXAgaW4gaW5pdCdzIHBhZ2UgdGFibGUgKi8KKwkvKiBUaGUgc2xvdyBwYXRoIG9mIHRoZSBUTEIgbWlzcyBoYW5kbGVyICovCisJLmFsaWduCTIKK3BhZ2VfdGFibGVfbm90X3ByZXNlbnQ6CisJLyogRG8gd2UgbmVlZCB0byBzeW5jaHJvbml6ZSB3aXRoIHN3YXBwZXJfcGdfZGlyPyAqLworCWJsZAlyMCwgMzEKKwlicmNzCXN5bmNfd2l0aF9zd2FwcGVyX3BnX2RpcgorCitwYWdlX25vdF9wcmVzZW50OgorCXRsYm1pc3NfcmVzdG9yZQorCXN1YglzcCwgNAorCXN0bXRzCS0tc3AsIHIwLWxyCisJcmNhbGwJc2F2ZV9mdWxsX2NvbnRleHRfZXgKKwltZnNyCXIxMiwgU1lTUkVHX0VDUgorCW1vdglyMTEsIHNwCisJcmNhbGwJZG9fcGFnZV9mYXVsdAorCXJqbXAJcmV0X2Zyb21fZXhjZXB0aW9uCisKKwkuYWxpZ24JMgorc3luY193aXRoX3N3YXBwZXJfcGdfZGlyOgorCS8qCisJICogSWYgc3dhcHBlcl9wZ19kaXIgY29udGFpbnMgYSBub24tTlVMTCBzZWNvbmQtbGV2ZWwgcGFnZQorCSAqIHRhYmxlIHBvaW50ZXIsIGNvcHkgaXQgaW50byB0aGUgY3VycmVudCBQR0QuIElmIG5vdCwgd2UKKwkgKiBtdXN0IGhhbmRsZSBpdCBhcyBhIGZ1bGwtYmxvd24gcGFnZSBmYXVsdC4KKwkgKgorCSAqIEp1bXBpbmcgYmFjayB0byBwZ3RibF9sb29rdXAgY2F1c2VzIGFuIHVubmVjZXNzYXJ5IGxvb2t1cCwKKwkgKiBidXQgaXQgaXMgZ3VhcmFudGVlZCB0byBiZSBhIGNhY2hlIGhpdCwgaXQgd29uJ3QgaGFwcGVuCisJICogdmVyeSBvZnRlbiwgYW5kIHdlIGFic29sdXRlbHkgZG8gbm90IHdhbnQgdG8gc2FjcmlmaWNlIGFueQorCSAqIHBlcmZvcm1hbmNlIGluIHRoZSBmYXN0IHBhdGggaW4gb3JkZXIgdG8gaW1wcm92ZSB0aGlzLgorCSAqLwogCW1vdglyMSwgbG8oc3dhcHBlcl9wZ19kaXIpCiAJb3JoCXIxLCBoaShzd2FwcGVyX3BnX2RpcikKKwlsZC53CXIzLCByMVtyMiA8PCAyXQorCWNwLncJcjMsIDAKKwlicmVxCXBhZ2Vfbm90X3ByZXNlbnQKKwltZnNyCXIxLCBTWVNSRUdfUFRCUgorCXN0LncJcjFbcjIgPDwgMl0sIHIzCiAJcmptcAlwZ3RibF9sb29rdXAKIAorCS8qCisJICogV2UgY3VycmVudGx5IGhhdmUgdHdvIGJ5dGVzIGxlZnQgYXQgdGhpcyBwb2ludCB1bnRpbCB3ZQorCSAqIGNyYXNoIGludG8gdGhlIHN5c3RlbSBjYWxsIGhhbmRsZXIuLi4KKwkgKgorCSAqIERvbid0IHdvcnJ5LCB0aGUgYXNzZW1ibGVyIHdpbGwgbGV0IHVzIGtub3cuCisJICovCisKIAogCS8qIC0tLSAgICAgICAgICAgICAgICAgICAgU3lzdGVtIENhbGwgICAgICAgICAgICAgICAgICAgIC0tLSAqLwogCi0JLnNlY3Rpb24gLnNjYWxsLnRleHQsImF4IixAcHJvZ2JpdHMKKwkub3JnCTB4MTAwCiBzeXN0ZW1fY2FsbDoKICNpZmRlZiBDT05GSUdfUFJFRU1QVAogCW1hc2tfaW50ZXJydXB0cwpAQCAtMjY2LDE4ICsyOTYsNiBAQAogCWJyY2MJc3lzY2FsbF9leGl0X2NvbnQKIAlyam1wCWVudGVyX21vbml0b3JfbW9kZQogCi0JLyogVGhlIHNsb3cgcGF0aCBvZiB0aGUgVExCIG1pc3MgaGFuZGxlciAqLwotcGFnZV90YWJsZV9ub3RfcHJlc2VudDoKLXBhZ2Vfbm90X3ByZXNlbnQ6Ci0JdGxibWlzc19yZXN0b3JlCi0Jc3ViCXNwLCA0Ci0Jc3RtdHMJLS1zcCwgcjAtbHIKLQlyY2FsbAlzYXZlX2Z1bGxfY29udGV4dF9leAotCW1mc3IJcjEyLCBTWVNSRUdfRUNSCi0JbW92CXIxMSwgc3AKLQlyY2FsbAlkb19wYWdlX2ZhdWx0Ci0JcmptcAlyZXRfZnJvbV9leGNlcHRpb24KLQogCS8qIFRoaXMgZnVuY3Rpb24gZXhwZWN0cyB0byBmaW5kIG9mZmVuZGluZyBQQyBpbiBTWVNSRUdfUkFSX0VYICovCiAJLnR5cGUJc2F2ZV9mdWxsX2NvbnRleHRfZXgsIEBmdW5jdGlvbgogCS5hbGlnbgkyCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL2tlcm5lbC9zaWduYWwuYyBiL2FyY2gvYXZyMzIva2VybmVsL3NpZ25hbC5jCmluZGV4IDU2MTZhMDAuLmM1YjExZjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIva2VybmVsL3NpZ25hbC5jCisrKyBiL2FyY2gvYXZyMzIva2VybmVsL3NpZ25hbC5jCkBAIC05Myw2ICs5Myw5IEBACiAJaWYgKHJlc3RvcmVfc2lnY29udGV4dChyZWdzLCAmZnJhbWUtPnVjLnVjX21jb250ZXh0KSkKIAkJZ290byBiYWRmcmFtZTsKIAorCWlmIChkb19zaWdhbHRzdGFjaygmZnJhbWUtPnVjLnVjX3N0YWNrLCBOVUxMLCByZWdzLT5zcCkgPT0gLUVGQVVMVCkKKwkJZ290byBiYWRmcmFtZTsKKwogCXByX2RlYnVnKCJDb250ZXh0IHJlc3RvcmVkOiBwYyA9ICUwOGx4LCBsciA9ICUwOGx4LCBzcCA9ICUwOGx4XG4iLAogCQkgcmVncy0+cGMsIHJlZ3MtPmxyLCByZWdzLT5zcCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gvYXZyMzIva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCA5YTY4MTkwLi5mNGJkYjQ0IDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9hdnIzMi9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC01MSwzICs1MSw0IEBACiAJCWZwID0gZnJhbWUtPmZwOwogCX0KIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9rZXJuZWwvdGltZS5jIGIvYXJjaC9hdnIzMi9rZXJuZWwvdGltZS5jCmluZGV4IDAwYTk4NjIuLmFiZDk1NGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIva2VybmVsL3RpbWUuYworKysgYi9hcmNoL2F2cjMyL2tlcm5lbC90aW1lLmMKQEAgLTcsMjEgKzcsMTMgQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2NrY2hpcHMuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1lLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZXJybm8uaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcHJvZmlsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgotI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KIAotI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgogI2luY2x1ZGUgPGFzbS9zeXNyZWcuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL3BtLmg+CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIva2VybmVsL3ZtbGludXgubGRzLlMgYi9hcmNoL2F2cjMyL2tlcm5lbC92bWxpbnV4Lmxkcy5TCmluZGV4IDQ4MWNmZDQuLjc5MTBkNDEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIva2VybmVsL3ZtbGludXgubGRzLlMKKysrIGIvYXJjaC9hdnIzMi9rZXJuZWwvdm1saW51eC5sZHMuUwpAQCAtNjgsMTQgKzY4LDYgQEAKIAkJX2V2YmEgPSAuOwogCQlfdGV4dCA9IC47CiAJCSooLmV4LnRleHQpCi0JCS4gPSAweDUwOwotCQkqKC50bGJ4LmV4LnRleHQpCi0JCS4gPSAweDYwOwotCQkqKC50bGJyLmV4LnRleHQpCi0JCS4gPSAweDcwOwotCQkqKC50bGJ3LmV4LnRleHQpCi0JCS4gPSAweDEwMDsKLQkJKiguc2NhbGwudGV4dCkKIAkJKiguaXJxLnRleHQpCiAJCUtQUk9CRVNfVEVYVAogCQlURVhUX1RFWFQKQEAgLTkzLDggKzg1LDYgQEAKIAkJX19zdG9wX19fZXhfdGFibGUgPSAuOwogCX0KIAotCUJVR19UQUJMRQotCiAJUk9EQVRBCiAKIAkuID0gQUxJR04oVEhSRUFEX1NJWkUpOwpAQCAtMTA3LDYgKzk3LDEwIEBACiAJCSAqLwogCQkqKC5kYXRhLmluaXRfdGFzaykKIAorCQkvKiBUaGVuLCB0aGUgcGFnZS1hbGlnbmVkIGRhdGEgKi8KKwkJLiA9IEFMSUdOKFBBR0VfU0laRSk7CisJCSooLmRhdGEucGFnZV9hbGlnbmVkKQorCiAJCS8qIFRoZW4sIHRoZSBjYWNoZWxpbmUgYWxpZ25lZCBkYXRhICovCiAJCS4gPSBBTElHTihMMV9DQUNIRV9CWVRFUyk7CiAJCSooLmRhdGEuY2FjaGVsaW5lX2FsaWduZWQpCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL2xpYi9pby1yZWFkc2IuUyBiL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCmluZGV4IDJiZTVkYTcuLmNiMmQ4NjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCisrKyBiL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCkBAIC00MSw3ICs0MSw3IEBACiAyOglzdWIJcjEwLCAtNAogCXJldGVxCXIxMgogCi0zOglsZC51aAlyOCwgcjEyWzBdCiszOglsZC51YglyOCwgcjEyWzBdCiAJc3ViCXIxMCwgMQogCXN0LmIJcjExKyssIHI4CiAJYnJuZQkzYgpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9NYWtlZmlsZSBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvTWFrZWZpbGUKaW5kZXggZTg5MDA5NC4uZDUwMThlMiAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9NYWtlZmlsZQorKysgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL01ha2VmaWxlCkBAIC0xLDMgKzEsOCBAQAotb2JqLXkJCQkJKz0gYXQzMmFwLm8gY2xvY2subyBpbnRjLm8gZXh0aW50Lm8gcGlvLm8gaHNtYy5vCitvYmoteQkJCQkrPSBwZGMubyBjbG9jay5vIGludGMubyBleHRpbnQubyBwaW8ubyBoc21jLm8KIG9iai0kKENPTkZJR19DUFVfQVQzMkFQNzAwWCkJKz0gYXQzMmFwNzAweC5vIHBtLWF0MzJhcDcwMHgubwogb2JqLSQoQ09ORklHX0NQVV9GUkVRX0FUMzJBUCkJKz0gY3B1ZnJlcS5vCitvYmotJChDT05GSUdfUE0pCQkrPSBwbS5vCisKK2lmZXEgKCQoQ09ORklHX1BNX0RFQlVHKSx5KQorQ0ZMQUdTX3BtLm8JKz0gLURERUJVRworZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvYXQzMmFwNzAweC5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXA3MDB4LmMKaW5kZXggMGYyNGI0Zi4uMDdiMjFiMSAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXA3MDB4LmMKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXA3MDB4LmMKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9hdDMyYXA3MDB4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9wb3J0bXV4Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvc3JhbS5oPgogCiAjaW5jbHVkZSA8dmlkZW8vYXRtZWxfbGNkYy5oPgogCkBAIC05MywxOSArOTQsMTIgQEAKIAogc3RhdGljIERFRklORV9TUElOTE9DSyhwbV9sb2NrKTsKIAotdW5zaWduZWQgbG9uZyBhdDMyYXA3MDAwX29zY19yYXRlc1szXSA9IHsKLQlbMF0gPSAzMjc2OCwKLQkvKiBGSVhNRTogdGhlc2UgYXJlIEFUU1RLMTAwMi1zcGVjaWZpYyAqLwotCVsxXSA9IDIwMDAwMDAwLAotCVsyXSA9IDEyMDAwMDAwLAotfTsKLQogc3RhdGljIHN0cnVjdCBjbGsgb3NjMDsKIHN0YXRpYyBzdHJ1Y3QgY2xrIG9zYzE7CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIG9zY19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCiB7Ci0JcmV0dXJuIGF0MzJhcDcwMDBfb3NjX3JhdGVzW2Nsay0+aW5kZXhdOworCXJldHVybiBhdDMyX2JvYXJkX29zY19yYXRlc1tjbGstPmluZGV4XTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgcGxsX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyBjb250cm9sKQpAQCAtNjgyLDYgKzY3NiwxNCBAQAogCS51c2VycwkJPSAxLAogCS5pbmRleAkJPSAzLAogfTsKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNkcmFtY19jbGsgPSB7CisJLm5hbWUJCT0gInNkcmFtY19jbGsiLAorCS5wYXJlbnQJCT0gJnBiYl9jbGssCisJLm1vZGUJCT0gcGJiX2Nsa19tb2RlLAorCS5nZXRfcmF0ZQk9IHBiYl9jbGtfZ2V0X3JhdGUsCisJLnVzZXJzCQk9IDEsCisJLmluZGV4CQk9IDE0LAorfTsKIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzbWMwX3Jlc291cmNlW10gPSB7CiAJUEJNRU0oMHhmZmYwMzQwMCksCkBAIC04NDEsNiArODQzLDgxIEBACiB9CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiAgUFNJRgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYXRtZWxfcHNpZjBfcmVzb3VyY2VbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnN0YXJ0CT0gMHhmZmUwM2MwMCwKKwkJLmVuZAk9IDB4ZmZlMDNjZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJSVJRKDE4KSwKK307CitzdGF0aWMgc3RydWN0IGNsayBhdG1lbF9wc2lmMF9wY2xrID0geworCS5uYW1lCQk9ICJwY2xrIiwKKwkucGFyZW50CQk9ICZwYmFfY2xrLAorCS5tb2RlCQk9IHBiYV9jbGtfbW9kZSwKKwkuZ2V0X3JhdGUJPSBwYmFfY2xrX2dldF9yYXRlLAorCS5pbmRleAkJPSAxNSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYXRtZWxfcHNpZjFfcmVzb3VyY2VbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnN0YXJ0CT0gMHhmZmUwM2QwMCwKKwkJLmVuZAk9IDB4ZmZlMDNkZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJSVJRKDE4KSwKK307CitzdGF0aWMgc3RydWN0IGNsayBhdG1lbF9wc2lmMV9wY2xrID0geworCS5uYW1lCQk9ICJwY2xrIiwKKwkucGFyZW50CQk9ICZwYmFfY2xrLAorCS5tb2RlCQk9IHBiYV9jbGtfbW9kZSwKKwkuZ2V0X3JhdGUJPSBwYmFfY2xrX2dldF9yYXRlLAorCS5pbmRleAkJPSAxNSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKl9faW5pdCBhdDMyX2FkZF9kZXZpY2VfcHNpZih1bnNpZ25lZCBpbnQgaWQpCit7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKKworCWlmICghKGlkID09IDAgfHwgaWQgPT0gMSkpCisJCXJldHVybiBOVUxMOworCisJcGRldiA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygiYXRtZWxfcHNpZiIsIGlkKTsKKwlpZiAoIXBkZXYpCisJCXJldHVybiBOVUxMOworCisJc3dpdGNoIChpZCkgeworCWNhc2UgMDoKKwkJaWYgKHBsYXRmb3JtX2RldmljZV9hZGRfcmVzb3VyY2VzKHBkZXYsIGF0bWVsX3BzaWYwX3Jlc291cmNlLAorCQkJCQlBUlJBWV9TSVpFKGF0bWVsX3BzaWYwX3Jlc291cmNlKSkpCisJCQlnb3RvIGVycl9hZGRfcmVzb3VyY2VzOworCQlhdG1lbF9wc2lmMF9wY2xrLmRldiA9ICZwZGV2LT5kZXY7CisJCXNlbGVjdF9wZXJpcGhlcmFsKFBBKDgpLCBQRVJJUEhfQSwgMCk7IC8qIENMT0NLICovCisJCXNlbGVjdF9wZXJpcGhlcmFsKFBBKDkpLCBQRVJJUEhfQSwgMCk7IC8qIERBVEEgICovCisJCWJyZWFrOworCWNhc2UgMToKKwkJaWYgKHBsYXRmb3JtX2RldmljZV9hZGRfcmVzb3VyY2VzKHBkZXYsIGF0bWVsX3BzaWYxX3Jlc291cmNlLAorCQkJCQlBUlJBWV9TSVpFKGF0bWVsX3BzaWYxX3Jlc291cmNlKSkpCisJCQlnb3RvIGVycl9hZGRfcmVzb3VyY2VzOworCQlhdG1lbF9wc2lmMV9wY2xrLmRldiA9ICZwZGV2LT5kZXY7CisJCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDExKSwgUEVSSVBIX0EsIDApOyAvKiBDTE9DSyAqLworCQlzZWxlY3RfcGVyaXBoZXJhbChQQigxMiksIFBFUklQSF9BLCAwKTsgLyogREFUQSAgKi8KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcGxhdGZvcm1fZGV2aWNlX2FkZChwZGV2KTsKKwlyZXR1cm4gcGRldjsKKworZXJyX2FkZF9yZXNvdXJjZXM6CisJcGxhdGZvcm1fZGV2aWNlX3B1dChwZGV2KTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqICBVU0FSVAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTExMyw3ICsxMTkwLDggQEAKIAlzd2l0Y2ggKGlkKSB7CiAJY2FzZSAwOgogCQlwZGV2ID0gJmF0bWVsX3NwaTBfZGV2aWNlOwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQSgwKSwgIFBFUklQSF9BLCAwKTsJLyogTUlTTwkgKi8KKwkJLyogcHVsbHVwIE1JU08gc28gYSBsZXZlbCBpcyBhbHdheXMgZGVmaW5lZCAqLworCQlzZWxlY3RfcGVyaXBoZXJhbChQQSgwKSwgIFBFUklQSF9BLCBBVDMyX0dQSU9GX1BVTExVUCk7CiAJCXNlbGVjdF9wZXJpcGhlcmFsKFBBKDEpLCAgUEVSSVBIX0EsIDApOwkvKiBNT1NJCSAqLwogCQlzZWxlY3RfcGVyaXBoZXJhbChQQSgyKSwgIFBFUklQSF9BLCAwKTsJLyogU0NLCSAqLwogCQlhdDMyX3NwaV9zZXR1cF9zbGF2ZXMoMCwgYiwgbiwgc3BpMF9waW5zKTsKQEAgLTExMjEsNyArMTE5OSw4IEBACiAKIAljYXNlIDE6CiAJCXBkZXYgPSAmYXRtZWxfc3BpMV9kZXZpY2U7Ci0JCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDApLCAgUEVSSVBIX0IsIDApOwkvKiBNSVNPICAqLworCQkvKiBwdWxsdXAgTUlTTyBzbyBhIGxldmVsIGlzIGFsd2F5cyBkZWZpbmVkICovCisJCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDApLCAgUEVSSVBIX0IsIEFUMzJfR1BJT0ZfUFVMTFVQKTsKIAkJc2VsZWN0X3BlcmlwaGVyYWwoUEIoMSksICBQRVJJUEhfQiwgMCk7CS8qIE1PU0kgICovCiAJCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDUpLCAgUEVSSVBIX0IsIDApOwkvKiBTQ0sgICAqLwogCQlhdDMyX3NwaV9zZXR1cF9zbGF2ZXMoMSwgYiwgbiwgc3BpMV9waW5zKTsKQEAgLTEyNjQsNyArMTM0Myw4IEBACiAKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKl9faW5pdAogYXQzMl9hZGRfZGV2aWNlX2xjZGModW5zaWduZWQgaW50IGlkLCBzdHJ1Y3QgYXRtZWxfbGNkZmJfaW5mbyAqZGF0YSwKLQkJICAgICB1bnNpZ25lZCBsb25nIGZibWVtX3N0YXJ0LCB1bnNpZ25lZCBsb25nIGZibWVtX2xlbikKKwkJICAgICB1bnNpZ25lZCBsb25nIGZibWVtX3N0YXJ0LCB1bnNpZ25lZCBsb25nIGZibWVtX2xlbiwKKwkJICAgICB1bnNpZ25lZCBpbnQgcGluX2NvbmZpZykKIHsKIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2OwogCXN0cnVjdCBhdG1lbF9sY2RmYl9pbmZvICppbmZvOwpAQCAtMTI5MSwzNyArMTM3MSw3NyBAQAogCXN3aXRjaCAoaWQpIHsKIAljYXNlIDA6CiAJCXBkZXYgPSAmYXRtZWxfbGNkZmIwX2RldmljZTsKLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMTkpLCBQRVJJUEhfQSwgMCk7CS8qIENDCSAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjApLCBQRVJJUEhfQSwgMCk7CS8qIEhTWU5DICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyMSksIFBFUklQSF9BLCAwKTsJLyogUENMSwkgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIyKSwgUEVSSVBIX0EsIDApOwkvKiBWU1lOQyAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjMpLCBQRVJJUEhfQSwgMCk7CS8qIERWQUwJICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNCksIFBFUklQSF9BLCAwKTsJLyogTU9ERQkgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI1KSwgUEVSSVBIX0EsIDApOwkvKiBQV1IJICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNiksIFBFUklQSF9BLCAwKTsJLyogREFUQTAgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI3KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMSAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjgpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyOSksIFBFUklQSF9BLCAwKTsJLyogREFUQTMgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDMwKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBNCAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMzEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEE1ICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgwKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTYgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDEpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBNyAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMiksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE4ICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgzKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTkgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDQpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMSAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg2KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEyICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDcpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTMgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNCAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg5KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTE1ICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDEwKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTYgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEExNyAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMiksIFBFUklQSF9BLCAwKTsJLyogREFUQTE4ICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDEzKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTkgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTQpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMCAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNSksIFBFUklQSF9BLCAwKTsJLyogREFUQTIxICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDE2KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMjIgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTcpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMyAqLworCisJCXN3aXRjaCAocGluX2NvbmZpZykgeworCQljYXNlIDA6CisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygxOSksIFBFUklQSF9BLCAwKTsJLyogQ0MJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjApLCBQRVJJUEhfQSwgMCk7CS8qIEhTWU5DICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjEpLCBQRVJJUEhfQSwgMCk7CS8qIFBDTEsJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjIpLCBQRVJJUEhfQSwgMCk7CS8qIFZTWU5DICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjMpLCBQRVJJUEhfQSwgMCk7CS8qIERWQUwJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjQpLCBQRVJJUEhfQSwgMCk7CS8qIE1PREUJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjUpLCBQRVJJUEhfQSwgMCk7CS8qIFBXUgkgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNiksIFBFUklQSF9BLCAwKTsJLyogREFUQTAgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNyksIFBFUklQSF9BLCAwKTsJLyogREFUQTEgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyOCksIFBFUklQSF9BLCAwKTsJLyogREFUQTIgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyOSksIFBFUklQSF9BLCAwKTsJLyogREFUQTMgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygzMCksIFBFUklQSF9BLCAwKTsJLyogREFUQTQgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygzMSksIFBFUklQSF9BLCAwKTsJLyogREFUQTUgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgwKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTYgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTcgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgyKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTggICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgzKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTkgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg0KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEwICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg1KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTExICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg2KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEyICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg3KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEzICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg4KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTE0ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg5KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTE1ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMCksIFBFUklQSF9BLCAwKTsJLyogREFUQTE2ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMSksIFBFUklQSF9BLCAwKTsJLyogREFUQTE3ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMiksIFBFUklQSF9BLCAwKTsJLyogREFUQTE4ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMyksIFBFUklQSF9BLCAwKTsJLyogREFUQTE5ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNCksIFBFUklQSF9BLCAwKTsJLyogREFUQTIwICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNSksIFBFUklQSF9BLCAwKTsJLyogREFUQTIxICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNiksIFBFUklQSF9BLCAwKTsJLyogREFUQTIyICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNyksIFBFUklQSF9BLCAwKTsJLyogREFUQTIzICovCisJCQlicmVhazsKKwkJY2FzZSAxOgorCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMCksICBQRVJJUEhfQiwgMCk7CS8qIENDCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIwKSwgUEVSSVBIX0EsIDApOwkvKiBIU1lOQyAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIxKSwgUEVSSVBIX0EsIDApOwkvKiBQQ0xLCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIyKSwgUEVSSVBIX0EsIDApOwkvKiBWU1lOQyAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDEpLCAgUEVSSVBIX0IsIDApOwkvKiBEVkFMCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDIpLCAgUEVSSVBIX0IsIDApOwkvKiBNT0RFCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI1KSwgUEVSSVBIX0EsIDApOwkvKiBQV1IJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMyksICBQRVJJUEhfQiwgMCk7CS8qIERBVEEwICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNCksICBQRVJJUEhfQiwgMCk7CS8qIERBVEExICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNSksICBQRVJJUEhfQiwgMCk7CS8qIERBVEEyICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNiksICBQRVJJUEhfQiwgMCk7CS8qIERBVEEzICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNyksICBQRVJJUEhfQiwgMCk7CS8qIERBVEE0ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMzEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEE1ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE2ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE3ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoOCksICBQRVJJUEhfQiwgMCk7CS8qIERBVEE4ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoOSksICBQRVJJUEhfQiwgMCk7CS8qIERBVEE5ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTApLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExMCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTEpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExMSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTIpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExMiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNyksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMyAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTMpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExNiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTQpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExNyAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTUpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExOCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTYpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExOSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTcpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEEyMCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTgpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEEyMSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTYpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTcpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMyAqLworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlnb3RvIGVycl9pbnZhbGlkX2lkOworCQl9CiAKIAkJY2xrX3NldF9wYXJlbnQoJmF0bWVsX2xjZGZiMF9waXhjbGssICZwbGwwKTsKIAkJY2xrX3NldF9yYXRlKCZhdG1lbF9sY2RmYjBfcGl4Y2xrLCBjbGtfZ2V0X3JhdGUoJnBsbDApKTsKQEAgLTEzNjAsNyArMTQ4MCw3IEBACiAJSVJRKDI0KSwKIH07CiBzdGF0aWMgc3RydWN0IGNsayBhdG1lbF9wd20wX21jayA9IHsKLQkubmFtZQkJPSAibWNrIiwKKwkubmFtZQkJPSAicHdtX2NsayIsCiAJLnBhcmVudAkJPSAmcGJiX2NsaywKIAkubW9kZQkJPSBwYmJfY2xrX21vZGUsCiAJLmdldF9yYXRlCT0gcGJiX2Nsa19nZXRfcmF0ZSwKQEAgLTE4ODcsNiArMjAwNyw3IEBACiAJJmhtYXRyaXhfY2xrLAogCSZlYmlfY2xrLAogCSZocmFtY19jbGssCisJJnNkcmFtY19jbGssCiAJJnNtYzBfcGNsaywKIAkmc21jMF9tY2ssCiAJJnBkY19oY2xrLApAQCAtMTkwMCw2ICsyMDIxLDggQEAKIAkmcGlvNF9tY2ssCiAJJmF0MzJfdGNiMF90MF9jbGssCiAJJmF0MzJfdGNiMV90MF9jbGssCisJJmF0bWVsX3BzaWYwX3BjbGssCisJJmF0bWVsX3BzaWYxX3BjbGssCiAJJmF0bWVsX3VzYXJ0MF91c2FydCwKIAkmYXRtZWxfdXNhcnQxX3VzYXJ0LAogCSZhdG1lbF91c2FydDJfdXNhcnQsCkBAIC0xOTM1LDE2ICsyMDU4LDcgQEAKIH07CiB1bnNpZ25lZCBpbnQgYXQzMl9ucl9jbG9ja3MgPSBBUlJBWV9TSVpFKGF0MzJfY2xvY2tfbGlzdCk7CiAKLXZvaWQgX19pbml0IGF0MzJfcG9ydG11eF9pbml0KHZvaWQpCi17Ci0JYXQzMl9pbml0X3BpbygmcGlvMF9kZXZpY2UpOwotCWF0MzJfaW5pdF9waW8oJnBpbzFfZGV2aWNlKTsKLQlhdDMyX2luaXRfcGlvKCZwaW8yX2RldmljZSk7Ci0JYXQzMl9pbml0X3BpbygmcGlvM19kZXZpY2UpOwotCWF0MzJfaW5pdF9waW8oJnBpbzRfZGV2aWNlKTsKLX0KLQotdm9pZCBfX2luaXQgYXQzMl9jbG9ja19pbml0KHZvaWQpCit2b2lkIF9faW5pdCBzZXR1cF9wbGF0Zm9ybSh2b2lkKQogewogCXUzMiBjcHVfbWFzayA9IDAsIGhzYl9tYXNrID0gMCwgcGJhX21hc2sgPSAwLCBwYmJfbWFzayA9IDA7CiAJaW50IGk7CkBAIC0xOTk5LDQgKzIxMTMsMzYgQEAKIAlwbV93cml0ZWwoSFNCX01BU0ssIGhzYl9tYXNrKTsKIAlwbV93cml0ZWwoUEJBX01BU0ssIHBiYV9tYXNrKTsKIAlwbV93cml0ZWwoUEJCX01BU0ssIHBiYl9tYXNrKTsKKworCS8qIEluaXRpYWxpemUgdGhlIHBvcnQgbXV4ZXMgKi8KKwlhdDMyX2luaXRfcGlvKCZwaW8wX2RldmljZSk7CisJYXQzMl9pbml0X3BpbygmcGlvMV9kZXZpY2UpOworCWF0MzJfaW5pdF9waW8oJnBpbzJfZGV2aWNlKTsKKwlhdDMyX2luaXRfcGlvKCZwaW8zX2RldmljZSk7CisJYXQzMl9pbml0X3BpbygmcGlvNF9kZXZpY2UpOwogfQorCitzdHJ1Y3QgZ2VuX3Bvb2wgKnNyYW1fcG9vbDsKKworc3RhdGljIGludCBfX2luaXQgc3JhbV9pbml0KHZvaWQpCit7CisJc3RydWN0IGdlbl9wb29sICpwb29sOworCisJLyogMUtpQiBncmFudWxhcml0eSAqLworCXBvb2wgPSBnZW5fcG9vbF9jcmVhdGUoMTAsIC0xKTsKKwlpZiAoIXBvb2wpCisJCWdvdG8gZmFpbDsKKworCWlmIChnZW5fcG9vbF9hZGQocG9vbCwgMHgyNDAwMDAwMCwgMHg4MDAwLCAtMSkpCisJCWdvdG8gZXJyX3Bvb2xfYWRkOworCisJc3JhbV9wb29sID0gcG9vbDsKKwlyZXR1cm4gMDsKKworZXJyX3Bvb2xfYWRkOgorCWdlbl9wb29sX2Rlc3Ryb3kocG9vbCk7CitmYWlsOgorCXByX2VycigiRmFpbGVkIHRvIGNyZWF0ZSBTUkFNIHBvb2xcbiIpOworCXJldHVybiAtRU5PTUVNOworfQorY29yZV9pbml0Y2FsbChzcmFtX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9pbnRjLmMgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL2ludGMuYwppbmRleCAwOTdjZjRlLi45OTRjNDU0NSAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9pbnRjLmMKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9pbnRjLmMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IEF0bWVsIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDggQXRtZWwgQ29ycG9yYXRpb24KICAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKQEAgLTEyLDE0ICsxMiwyMCBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKICNpbmNsdWRlICJpbnRjLmgiCiAKIHN0cnVjdCBpbnRjIHsKLQl2b2lkIF9faW9tZW0JKnJlZ3M7Ci0Jc3RydWN0IGlycV9jaGlwCWNoaXA7CisJdm9pZCBfX2lvbWVtCQkqcmVnczsKKwlzdHJ1Y3QgaXJxX2NoaXAJCWNoaXA7CisJc3RydWN0IHN5c19kZXZpY2UJc3lzZGV2OworI2lmZGVmIENPTkZJR19QTQorCXVuc2lnbmVkIGxvbmcJCXN1c3BlbmRfaXByOworCXVuc2lnbmVkIGxvbmcJCXNhdmVkX2lwcls2NF07CisjZW5kaWYKIH07CiAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF0MzJfaW50YzBfZGV2aWNlOwpAQCAtMTM2LDYgKzE0Miw3NCBAQAogCXBhbmljKCJJbnRlcnJ1cHQgY29udHJvbGxlciBpbml0aWFsaXphdGlvbiBmYWlsZWQhXG4iKTsKIH0KIAorI2lmZGVmIENPTkZJR19QTQordm9pZCBpbnRjX3NldF9zdXNwZW5kX2hhbmRsZXIodW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJaW50YzAuc3VzcGVuZF9pcHIgPSBvZmZzZXQ7Cit9CisKK3N0YXRpYyBpbnQgaW50Y19zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpzZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IGludGMgKmludGMgPSBjb250YWluZXJfb2Yoc2Rldiwgc3RydWN0IGludGMsIHN5c2Rldik7CisJaW50IGk7CisKKwlpZiAodW5saWtlbHkoIWlycXNfZGlzYWJsZWQoKSkpIHsKKwkJcHJfZXJyKCJpbnRjX3N1c3BlbmQ6IGNhbGxlZCB3aXRoIGludGVycnVwdHMgZW5hYmxlZFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmICh1bmxpa2VseSghaW50Yy0+c3VzcGVuZF9pcHIpKSB7CisJCXByX2VycigiaW50Y19zdXNwZW5kOiBzdXNwZW5kX2lwciBub3QgaW5pdGlhbGl6ZWRcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgNjQ7IGkrKykgeworCQlpbnRjLT5zYXZlZF9pcHJbaV0gPSBpbnRjX3JlYWRsKGludGMsIElOVFBSMCArIDQgKiBpKTsKKwkJaW50Y193cml0ZWwoaW50YywgSU5UUFIwICsgNCAqIGksIGludGMtPnN1c3BlbmRfaXByKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpbnRjX3Jlc3VtZShzdHJ1Y3Qgc3lzX2RldmljZSAqc2RldikKK3sKKwlzdHJ1Y3QgaW50YyAqaW50YyA9IGNvbnRhaW5lcl9vZihzZGV2LCBzdHJ1Y3QgaW50Yywgc3lzZGV2KTsKKwlpbnQgaTsKKworCVdBUk5fT04oIWlycXNfZGlzYWJsZWQoKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjQ7IGkrKykKKwkJaW50Y193cml0ZWwoaW50YywgSU5UUFIwICsgNCAqIGksIGludGMtPnNhdmVkX2lwcltpXSk7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlCisjZGVmaW5lIGludGNfc3VzcGVuZAlOVUxMCisjZGVmaW5lIGludGNfcmVzdW1lCU5VTEwKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBpbnRjX2NsYXNzID0geworCS5uYW1lCQk9ICJpbnRjIiwKKwkuc3VzcGVuZAk9IGludGNfc3VzcGVuZCwKKwkucmVzdW1lCQk9IGludGNfcmVzdW1lLAorfTsKKworc3RhdGljIGludCBfX2luaXQgaW50Y19pbml0X3N5c2Rldih2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmludGNfY2xhc3MpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlpbnRjMC5zeXNkZXYuaWQgPSAwOworCWludGMwLnN5c2Rldi5jbHMgPSAmaW50Y19jbGFzczsKKwlyZXQgPSBzeXNkZXZfcmVnaXN0ZXIoJmludGMwLnN5c2Rldik7CisKKwlyZXR1cm4gcmV0OworfQorZGV2aWNlX2luaXRjYWxsKGludGNfaW5pdF9zeXNkZXYpOworCiB1bnNpZ25lZCBsb25nIGludGNfZ2V0X3BlbmRpbmcodW5zaWduZWQgaW50IGdyb3VwKQogewogCXJldHVybiBpbnRjX3JlYWRsKCZpbnRjMCwgSU5UUkVRMCArIDQgKiBncm91cCk7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL2F0MzJhcC5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9wZGMuYwpzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5hbWUgZnJvbSBhcmNoL2F2cjMyL21hY2gtYXQzMmFwL2F0MzJhcC5jCnJlbmFtZSB0byBhcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BkYy5jCmluZGV4IDdjNDk4N2YuLjEwNDBiZGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvYXQzMmFwLmMKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9wZGMuYwpAQCAtMTEsMTQgKzExLDYgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAKLSNpbmNsdWRlIDxhc20vYXJjaC9pbml0Lmg+Ci0KLXZvaWQgX19pbml0IHNldHVwX3BsYXRmb3JtKHZvaWQpCi17Ci0JYXQzMl9jbG9ja19pbml0KCk7Ci0JYXQzMl9wb3J0bXV4X2luaXQoKTsKLX0KLQogc3RhdGljIGludCBfX2luaXQgcGRjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IGNsayAqcGNsaywgKmhjbGs7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uYwppbmRleCAzOGE4ZmEzLi42MGRhMDNiIDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5jCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGlvLmMKQEAgLTMxOCw2ICszMTgsOCBAQAogCQljb25zdCBjaGFyICpsYWJlbDsKIAogCQlsYWJlbCA9IGdwaW9jaGlwX2lzX3JlcXVlc3RlZChjaGlwLCBpKTsKKwkJaWYgKCFsYWJlbCAmJiAoaW1yICYgbWFzaykpCisJCQlsYWJlbCA9ICJbaXJxXSI7CiAJCWlmICghbGFiZWwpCiAJCQljb250aW51ZTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uaCBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGlvLmgKaW5kZXggNzc5NTExNi4uOTQ4NGRmYyAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uaAorKysgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5oCkBAIC01Nyw3ICs1Nyw3IEBACiAKIC8qIEJpdGZpZWxkcyBpbiBJRkRSICovCiAKLS8qIEJpdGZpZWxkcyBpbiBJU0ZSICovCisvKiBCaXRmaWVsZHMgaW4gSUZTUiAqLwogCiAvKiBCaXRmaWVsZHMgaW4gU09EUiAqLwogCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLWF0MzJhcDcwMHguUyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0tYXQzMmFwNzAweC5TCmluZGV4IDk0OWUyNDguLjBhNTNhZDMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0tYXQzMmFwNzAweC5TCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0tYXQzMmFwNzAweC5TCkBAIC0xMiw2ICsxMiwxMiBAQAogI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3BtLmg+CiAKKyNpbmNsdWRlICJwbS5oIgorI2luY2x1ZGUgInNkcmFtYy5oIgorCisvKiBTYW1lIGFzIDB4ZmZmMDAwMDAgYnV0IGZpdHMgaW4gYSAyMSBiaXQgc2lnbmVkIGltbWVkaWF0ZSAqLworI2RlZmluZSBQTV9CQVNFCS0weDEwMDAwMAorCiAJLnNlY3Rpb24gLmJzcywgIndhIiwgQG5vYml0cwogCS5nbG9iYWwJZGlzYWJsZV9pZGxlX3NsZWVwCiAJLnR5cGUJZGlzYWJsZV9pZGxlX3NsZWVwLCBAb2JqZWN0CkBAIC02NCwzICs3MCwxMDUgQEAKIAl1bm1hc2tfaW50ZXJydXB0cwogCXJldGFsCXIxMgogCS5zaXplCWNwdV9pZGxlX3NraXBfc2xlZXAsIC4gLSBjcHVfaWRsZV9za2lwX3NsZWVwCisKKyNpZmRlZiBDT05GSUdfUE0KKwkuc2VjdGlvbiAuaW5pdC50ZXh0LCAiYXgiLCBAcHJvZ2JpdHMKKworCS5nbG9iYWwJcG1fZXhjZXB0aW9uCisJLnR5cGUJcG1fZXhjZXB0aW9uLCBAZnVuY3Rpb24KK3BtX2V4Y2VwdGlvbjoKKwkvKgorCSAqIEV4Y2VwdGlvbnMgYXJlIG1hc2tlZCB3aGVuIHdlIHN3aXRjaCB0byB0aGlzIGhhbmRsZXIsIHNvCisJICogd2UnbGwgb25seSBnZXQgInVucmVjb3ZlcmFibGUiIGV4Y2VwdGlvbnMgKG9mZnNldCAwLikKKwkgKi8KKwlzdWIJcjEyLCBwYywgLiAtIC5McGFuaWNfbXNnCisJbGRkcGMJcGMsIC5McGFuaWNfYWRkcgorCisJLmFsaWduCTIKKy5McGFuaWNfYWRkcjoKKwkubG9uZwlwYW5pYworLkxwYW5pY19tc2c6CisJLmFzY2l6CSJVbnJlY292ZXJhYmxlIGV4Y2VwdGlvbiBkdXJpbmcgc3VzcGVuZFxuIgorCS5zaXplCXBtX2V4Y2VwdGlvbiwgLiAtIHBtX2V4Y2VwdGlvbgorCisJLmdsb2JhbAlwbV9pcnEwCisJLnR5cGUJcG1faXJxMCwgQGZ1bmN0aW9uCitwbV9pcnEwOgorCS8qIERpc2FibGUgaW50ZXJydXB0cyBhbmQgcmV0dXJuIGFmdGVyIHRoZSBzbGVlcCBpbnN0cnVjdGlvbiAqLworCW1mc3IJcjksIFNZU1JFR19SU1JfSU5UMAorCW10c3IJU1lTUkVHX1JBUl9JTlQwLCByOAorCXNicglyOSwgU1lTUkVHX0dNX09GRlNFVAorCW10c3IJU1lTUkVHX1JTUl9JTlQwLCByOQorCXJldGUKKworCS8qCisJICogdm9pZCBjcHVfZW50ZXJfc3RhbmRieSh1bnNpZ25lZCBsb25nIHNkcmFtY19iYXNlKQorCSAqCisJICogRW50ZXIgUE1fU1VTUEVORF9TVEFOREJZIG1vZGUuIEF0IHRoaXMgcG9pbnQsIGFsbCBkcml2ZXJzCisJICogYXJlIHN1c3BlbmRlZCBhbmQgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQuIEludGVycnVwdHMKKwkgKiBtYXJrZWQgYXMgJ3dha2V1cCcgZXZlbnQgc291cmNlcyBtYXkgc3RpbGwgY29tZSBhbG9uZyBhbmQKKwkgKiBnZXQgdXMgb3V0IG9mIGhlcmUuCisJICoKKwkgKiBUaGUgU0RSQU0gd2lsbCBiZSBwdXQgaW50byBzZWxmLXJlZnJlc2ggbW9kZSAod2hpY2ggZG9lcworCSAqIG5vdCByZXF1aXJlIGEgY2xvY2sgZnJvbSB0aGUgQ1BVKSwgYW5kIHRoZSBDUFUgd2lsbCBiZSBwdXQKKwkgKiBpbnRvICJmcm96ZW4iIG1vZGUgKEhTQiBidXMgc3RvcHBlZCkuIFRoZSBTRFJBTSBjb250cm9sbGVyCisJICogd2lsbCBhdXRvbWF0aWNhbGx5IGJyaW5nIHRoZSBTRFJBTSBpbnRvIG5vcm1hbCBtb2RlIG9uIHRoZQorCSAqIGZpcnN0IGFjY2VzcywgYW5kIHRoZSBwb3dlciBtYW5hZ2VyIHdpbGwgYXV0b21hdGljYWxseQorCSAqIHN0YXJ0IHRoZSBIU0IgYW5kIENQVSBjbG9ja3MgdXBvbiBhIHdha2V1cCBldmVudC4KKwkgKgorCSAqIFRoaXMgY29kZSB1c2VzIHRoZSBzYW1lICJza2lwIHNsZWVwIiB0ZWNobmlxdWUgYXMgYWJvdmUuCisJICogSXQgaXMgdmVyeSBpbXBvcnRhbnQgdGhhdCB3ZSBqdW1wIGRpcmVjdGx5IHRvCisJICogY3B1X2FmdGVyX3NsZWVwIGFmdGVyIHRoZSBzbGVlcCBpbnN0cnVjdGlvbiBzaW5jZSB0aGF0J3MKKwkgKiB3aGVyZSB3ZSdsbCBlbmQgdXAgaWYgdGhlIGludGVycnVwdCBoYW5kbGVyIGRlY2lkZXMgdGhhdCB3ZQorCSAqIG5lZWQgdG8gc2tpcCB0aGUgc2xlZXAgaW5zdHJ1Y3Rpb24uCisJICovCisJLmdsb2JhbAlwbV9zdGFuZGJ5CisJLnR5cGUJcG1fc3RhbmRieSwgQGZ1bmN0aW9uCitwbV9zdGFuZGJ5OgorCS8qCisJICogaW50ZXJydXB0cyBhcmUgYWxyZWFkeSBtYXNrZWQgYXQgdGhpcyBwb2ludCwgYW5kIEVWQkEKKwkgKiBwb2ludHMgdG8gcG1fZXhjZXB0aW9uIGFib3ZlLgorCSAqLworCWxkLncJcjEwLCByMTJbU0RSQU1DX0xQUl0KKwlzdWIJcjgsIHBjLCAuIC0gMWYJCS8qIHJldHVybiBhZGRyZXNzIGZvciBpcnEgaGFuZGxlciAqLworCW1vdglyMTEsIFNEUkFNQ19MUFJfTFBDQl9TRUxGX1JGUgorCWJmaW5zCXIxMCwgcjExLCAwLCAyCQkvKiBMUENCIDwtIHNlbGYgUmVmcmVzaCAqLworCXN5bmMJMAkJCS8qIGZsdXNoIHdyaXRlIGJ1ZmZlciAqLworCXN0LncJcjEyW1NEUkFNQ19MUFJdLCByMTEJLyogcHV0IFNEUkFNIGluIHNlbGYtcmVmcmVzaCBtb2RlICovCisJbGQudwlyMTEsIHIxMltTRFJBTUNfTFBSXQorCXVubWFza19pbnRlcnJ1cHRzCisJc2xlZXAJQ1BVX1NMRUVQX0ZST1pFTgorMToJbWFza19pbnRlcnJ1cHRzCisJcmV0YWwJcjEyCisJLnNpemUJcG1fc3RhbmRieSwgLiAtIHBtX3N0YW5kYnkKKworCS5nbG9iYWwJcG1fc3VzcGVuZF90b19yYW0KKwkudHlwZQlwbV9zdXNwZW5kX3RvX3JhbSwgQGZ1bmN0aW9uCitwbV9zdXNwZW5kX3RvX3JhbToKKwkvKgorCSAqIGludGVycnVwdHMgYXJlIGFscmVhZHkgbWFza2VkIGF0IHRoaXMgcG9pbnQsIGFuZCBFVkJBCisJICogcG9pbnRzIHRvIHBtX2V4Y2VwdGlvbiBhYm92ZS4KKwkgKi8KKwltb3YJcjExLCAwCisJY2FjaGUJcjExWzJdLCA4CQkvKiBjbGVhbiBhbGwgZGNhY2hlIGxpbmVzICovCisJc3luYwkwCQkJLyogZmx1c2ggd3JpdGUgYnVmZmVyICovCisJbGQudwlyMTAsIHIxMltTRFJBTUNfTFBSXQorCXN1YglyOCwgcGMsIC4gLSAxZgkJLyogcmV0dXJuIGFkZHJlc3MgZm9yIGlycSBoYW5kbGVyICovCisJbW92CXIxMSwgU0RSQU1DX0xQUl9MUENCX1NFTEZfUkZSCisJYmZpbnMJcjEwLCByMTEsIDAsIDIJCS8qIExQQ0IgPC0gc2VsZiByZWZyZXNoICovCisJc3QudwlyMTJbU0RSQU1DX0xQUl0sIHIxMAkvKiBwdXQgU0RSQU0gaW4gc2VsZi1yZWZyZXNoIG1vZGUgKi8KKwlsZC53CXIxMSwgcjEyW1NEUkFNQ19MUFJdCisKKwl1bm1hc2tfaW50ZXJydXB0cworCXNsZWVwCUNQVV9TTEVFUF9TVE9QCisxOgltYXNrX2ludGVycnVwdHMKKworCXJldGFsCXIxMgorCS5zaXplCXBtX3N1c3BlbmRfdG9fcmFtLCAuIC0gcG1fc3VzcGVuZF90b19yYW0KKworCS5nbG9iYWwJcG1fc3JhbV9lbmQKKwkudHlwZQlwbV9zcmFtX2VuZCwgQGZ1bmN0aW9uCitwbV9zcmFtX2VuZDoKKwkuc2l6ZQlwbV9zcmFtX2VuZCwgMAorCisjZW5kaWYgLyogQ09ORklHX1BNICovCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLmMgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGI3NjQzMgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0uYwpAQCAtMCwwICsxLDI0NSBAQAorLyoKKyAqIEFWUjMyIEFQIFBvd2VyIE1hbmFnZW1lbnQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXRtZWwgQ29ycG9yYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+CisjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgorCisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vc3lzcmVnLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9wbS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3NyYW0uaD4KKworLyogRklYTUU6IFRoaXMgaXMgb25seSB2YWxpZCBmb3IgQVA3MDAwICovCisjZGVmaW5lIFNEUkFNQ19CQVNFCTB4ZmZmMDM4MDAKKworI2luY2x1ZGUgInNkcmFtYy5oIgorCisjZGVmaW5lIFNSQU1fUEFHRV9GTEFHUwkoU1lTUkVHX0JJVChUTEJFTE9fRCkgfCBTWVNSRUdfQkYoU1osIDEpCVwKKwkJCQl8IFNZU1JFR19CRihBUCwgMykgfCBTWVNSRUdfQklUKEcpKQorCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nCXBtX3NyYW1fc3RhcnQ7CitzdGF0aWMgc2l6ZV90CQlwbV9zcmFtX3NpemU7CitzdGF0aWMgc3RydWN0IHZtX3N0cnVjdAkqcG1fc3JhbV9hcmVhOworCitzdGF0aWMgdm9pZCAoKmF2cjMyX3BtX2VudGVyX3N0YW5kYnkpKHVuc2lnbmVkIGxvbmcgc2RyYW1jX2Jhc2UpOworc3RhdGljIHZvaWQgKCphdnIzMl9wbV9lbnRlcl9zdHIpKHVuc2lnbmVkIGxvbmcgc2RyYW1jX2Jhc2UpOworCisvKgorICogTXVzdCBiZSBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkLiBFeGNlcHRpb25zIHdpbGwgYmUgbWFza2VkCisgKiBvbiByZXR1cm4gKGkuZS4gYWxsIGV4Y2VwdGlvbnMgd2lsbCBiZSAidW5yZWNvdmVyYWJsZSIuKQorICovCitzdGF0aWMgdm9pZCAqYXZyMzJfcG1fbWFwX3NyYW0odm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nCXZhZGRyOworCXVuc2lnbmVkIGxvbmcJcGFnZV9hZGRyOworCXUzMgkJdGxiZWhpOworCXUzMgkJbW11Y3I7CisKKwl2YWRkciA9ICh1bnNpZ25lZCBsb25nKXBtX3NyYW1fYXJlYS0+YWRkcjsKKwlwYWdlX2FkZHIgPSBwbV9zcmFtX3N0YXJ0ICYgUEFHRV9NQVNLOworCisJLyoKKwkgKiBNYXNrIGV4Y2VwdGlvbnMgYW5kIGdyYWIgdGhlIGZpcnN0IFRMQiBlbnRyeS4gV2Ugd29uJ3QgYmUKKwkgKiBuZWVkaW5nIGl0IHdoaWxlIHNsZWVwaW5nLgorCSAqLworCWFzbSB2b2xhdGlsZSgic3NyZgklMCIgOiA6ICJpIihTWVNSRUdfRU1fT0ZGU0VUKSA6ICJtZW1vcnkiKTsKKworCW1tdWNyID0gc3lzcmVnX3JlYWQoTU1VQ1IpOworCXRsYmVoaSA9IHN5c3JlZ19yZWFkKFRMQkVISSk7CisJc3lzcmVnX3dyaXRlKE1NVUNSLCBTWVNSRUdfQkZJTlMoRFJQLCAwLCBtbXVjcikpOworCisJdGxiZWhpID0gU1lTUkVHX0JGKEFTSUQsIFNZU1JFR19CRkVYVChBU0lELCB0bGJlaGkpKTsKKwl0bGJlaGkgfD0gdmFkZHIgJiBQQUdFX01BU0s7CisJdGxiZWhpIHw9IFNZU1JFR19CSVQoVExCRUhJX1YpOworCisJc3lzcmVnX3dyaXRlKFRMQkVMTywgcGFnZV9hZGRyIHwgU1JBTV9QQUdFX0ZMQUdTKTsKKwlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOworCV9fYnVpbHRpbl90bGJ3KCk7CisKKwlyZXR1cm4gKHZvaWQgKikodmFkZHIgKyBwbV9zcmFtX3N0YXJ0IC0gcGFnZV9hZGRyKTsKK30KKworLyoKKyAqIE11c3QgYmUgY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4gRXhjZXB0aW9ucyB3aWxsIGJlCisgKiB1bm1hc2tlZCBvbiByZXR1cm4uCisgKi8KK3N0YXRpYyB2b2lkIGF2cjMyX3BtX3VubWFwX3NyYW0odm9pZCkKK3sKKwl1MzIJbW11Y3I7CisJdTMyCXRsYmVoaTsKKwl1MzIJdGxiYXJsbzsKKworCS8qIEdvaW5nIHRvIHVwZGF0ZSBUTEIgZW50cnkgYXQgaW5kZXggMCAqLworCW1tdWNyID0gc3lzcmVnX3JlYWQoTU1VQ1IpOworCXRsYmVoaSA9IHN5c3JlZ19yZWFkKFRMQkVISSk7CisJc3lzcmVnX3dyaXRlKE1NVUNSLCBTWVNSRUdfQkZJTlMoRFJQLCAwLCBtbXVjcikpOworCisJLyogQ2xlYXIgdGhlICJ2YWxpZCIgYml0ICovCisJdGxiZWhpID0gU1lTUkVHX0JGKEFTSUQsIFNZU1JFR19CRkVYVChBU0lELCB0bGJlaGkpKTsKKwlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOworCisJLyogTWFyayBpdCBhcyAibm90IGFjY2Vzc2VkIiAqLworCXRsYmFybG8gPSBzeXNyZWdfcmVhZChUTEJBUkxPKTsKKwlzeXNyZWdfd3JpdGUoVExCQVJMTywgdGxiYXJsbyB8IDB4ODAwMDAwMDBVKTsKKworCS8qIFVwZGF0ZSB0aGUgVExCICovCisJX19idWlsdGluX3RsYncoKTsKKworCS8qIFVubWFzayBleGNlcHRpb25zICovCisJYXNtIHZvbGF0aWxlKCJjc3JmCSUwIiA6IDogImkiKFNZU1JFR19FTV9PRkZTRVQpIDogIm1lbW9yeSIpOworfQorCitzdGF0aWMgaW50IGF2cjMyX3BtX3ZhbGlkX3N0YXRlKHN1c3BlbmRfc3RhdGVfdCBzdGF0ZSkKK3sKKwlzd2l0Y2ggKHN0YXRlKSB7CisJY2FzZSBQTV9TVVNQRU5EX09OOgorCWNhc2UgUE1fU1VTUEVORF9TVEFOREJZOgorCWNhc2UgUE1fU1VTUEVORF9NRU06CisJCXJldHVybiAxOworCisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQorCitzdGF0aWMgaW50IGF2cjMyX3BtX2VudGVyKHN1c3BlbmRfc3RhdGVfdCBzdGF0ZSkKK3sKKwl1MzIJCWxwcl9zYXZlZDsKKwl1MzIJCWV2YmFfc2F2ZWQ7CisJdm9pZAkJKnNyYW07CisKKwlzd2l0Y2ggKHN0YXRlKSB7CisJY2FzZSBQTV9TVVNQRU5EX1NUQU5EQlk6CisJCXNyYW0gPSBhdnIzMl9wbV9tYXBfc3JhbSgpOworCisJCS8qIFN3aXRjaCB0byBpbi1zcmFtIGV4Y2VwdGlvbiBoYW5kbGVycyAqLworCQlldmJhX3NhdmVkID0gc3lzcmVnX3JlYWQoRVZCQSk7CisJCXN5c3JlZ193cml0ZShFVkJBLCAodW5zaWduZWQgbG9uZylzcmFtKTsKKworCQkvKgorCQkgKiBTYXZlIHRoZSBMUFIgcmVnaXN0ZXIgc28gdGhhdCB3ZSBjYW4gcmUtZW5hYmxlCisJCSAqIFNEUkFNIExvdyBQb3dlciBtb2RlIG9uIHJlc3VtZS4KKwkJICovCisJCWxwcl9zYXZlZCA9IHNkcmFtY19yZWFkbChMUFIpOworCQlwcl9kZWJ1ZygiJXM6IEVudGVyaW5nIHN0YW5kYnkuLi5cbiIsIF9fZnVuY19fKTsKKwkJYXZyMzJfcG1fZW50ZXJfc3RhbmRieShTRFJBTUNfQkFTRSk7CisJCXNkcmFtY193cml0ZWwoTFBSLCBscHJfc2F2ZWQpOworCisJCS8qIFN3aXRjaCBiYWNrIHRvIHJlZ3VsYXIgZXhjZXB0aW9uIGhhbmRsZXJzICovCisJCXN5c3JlZ193cml0ZShFVkJBLCBldmJhX3NhdmVkKTsKKworCQlhdnIzMl9wbV91bm1hcF9zcmFtKCk7CisJCWJyZWFrOworCisJY2FzZSBQTV9TVVNQRU5EX01FTToKKwkJc3JhbSA9IGF2cjMyX3BtX21hcF9zcmFtKCk7CisKKwkJLyogU3dpdGNoIHRvIGluLXNyYW0gZXhjZXB0aW9uIGhhbmRsZXJzICovCisJCWV2YmFfc2F2ZWQgPSBzeXNyZWdfcmVhZChFVkJBKTsKKwkJc3lzcmVnX3dyaXRlKEVWQkEsICh1bnNpZ25lZCBsb25nKXNyYW0pOworCisJCS8qCisJCSAqIFNhdmUgdGhlIExQUiByZWdpc3RlciBzbyB0aGF0IHdlIGNhbiByZS1lbmFibGUKKwkJICogU0RSQU0gTG93IFBvd2VyIG1vZGUgb24gcmVzdW1lLgorCQkgKi8KKwkJbHByX3NhdmVkID0gc2RyYW1jX3JlYWRsKExQUik7CisJCXByX2RlYnVnKCIlczogRW50ZXJpbmcgc3VzcGVuZC10by1yYW0uLi5cbiIsIF9fZnVuY19fKTsKKwkJYXZyMzJfcG1fZW50ZXJfc3RyKFNEUkFNQ19CQVNFKTsKKwkJc2RyYW1jX3dyaXRlbChMUFIsIGxwcl9zYXZlZCk7CisKKwkJLyogU3dpdGNoIGJhY2sgdG8gcmVndWxhciBleGNlcHRpb24gaGFuZGxlcnMgKi8KKwkJc3lzcmVnX3dyaXRlKEVWQkEsIGV2YmFfc2F2ZWQpOworCisJCWF2cjMyX3BtX3VubWFwX3NyYW0oKTsKKwkJYnJlYWs7CisKKwljYXNlIFBNX1NVU1BFTkRfT046CisJCXByX2RlYnVnKCIlczogRW50ZXJpbmcgaWRsZS4uLlxuIiwgX19mdW5jX18pOworCQljcHVfZW50ZXJfaWRsZSgpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXByX2RlYnVnKCIlczogSW52YWxpZCBzdXNwZW5kIHN0YXRlICVkXG4iLCBfX2Z1bmNfXywgc3RhdGUpOworCQlnb3RvIG91dDsKKwl9CisKKwlwcl9kZWJ1ZygiJXM6IHdha2V1cFxuIiwgX19mdW5jX18pOworCitvdXQ6CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fc3VzcGVuZF9vcHMgYXZyMzJfcG1fb3BzID0geworCS52YWxpZAk9IGF2cjMyX3BtX3ZhbGlkX3N0YXRlLAorCS5lbnRlcgk9IGF2cjMyX3BtX2VudGVyLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgYXZyMzJfcG1fb2Zmc2V0KHZvaWQgKnN5bWJvbCkKK3sKKwlleHRlcm4gdTggcG1fZXhjZXB0aW9uW107CisKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpc3ltYm9sIC0gKHVuc2lnbmVkIGxvbmcpcG1fZXhjZXB0aW9uOworfQorCitzdGF0aWMgaW50IF9faW5pdCBhdnIzMl9wbV9pbml0KHZvaWQpCit7CisJZXh0ZXJuIHU4IHBtX2V4Y2VwdGlvbltdOworCWV4dGVybiB1OCBwbV9pcnEwW107CisJZXh0ZXJuIHU4IHBtX3N0YW5kYnlbXTsKKwlleHRlcm4gdTggcG1fc3VzcGVuZF90b19yYW1bXTsKKwlleHRlcm4gdTggcG1fc3JhbV9lbmRbXTsKKwl2b2lkICpkc3Q7CisKKwkvKgorCSAqIFRvIGtlZXAgdGhpbmdzIHNpbXBsZSwgd2UgZGVwZW5kIG9uIG5vdCBuZWVkaW5nIG1vcmUgdGhhbiBhCisJICogc2luZ2xlIHBhZ2UuCisJICovCisJcG1fc3JhbV9zaXplID0gYXZyMzJfcG1fb2Zmc2V0KHBtX3NyYW1fZW5kKTsKKwlpZiAocG1fc3JhbV9zaXplID4gUEFHRV9TSVpFKQorCQlnb3RvIGVycjsKKworCXBtX3NyYW1fc3RhcnQgPSBzcmFtX2FsbG9jKHBtX3NyYW1fc2l6ZSk7CisJaWYgKCFwbV9zcmFtX3N0YXJ0KQorCQlnb3RvIGVycl9hbGxvY19zcmFtOworCisJLyogR3JhYiBhIHZpcnR1YWwgYXJlYSB3ZSBjYW4gdXNlIGxhdGVyIG9uLiAqLworCXBtX3NyYW1fYXJlYSA9IGdldF92bV9hcmVhKHBtX3NyYW1fc2l6ZSwgVk1fSU9SRU1BUCk7CisJaWYgKCFwbV9zcmFtX2FyZWEpCisJCWdvdG8gZXJyX3ZtX2FyZWE7CisJcG1fc3JhbV9hcmVhLT5waHlzX2FkZHIgPSBwbV9zcmFtX3N0YXJ0OworCisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwlkc3QgPSBhdnIzMl9wbV9tYXBfc3JhbSgpOworCW1lbWNweShkc3QsIHBtX2V4Y2VwdGlvbiwgcG1fc3JhbV9zaXplKTsKKwlmbHVzaF9kY2FjaGVfcmVnaW9uKGRzdCwgcG1fc3JhbV9zaXplKTsKKwlpbnZhbGlkYXRlX2ljYWNoZV9yZWdpb24oZHN0LCBwbV9zcmFtX3NpemUpOworCWF2cjMyX3BtX3VubWFwX3NyYW0oKTsKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CisKKwlhdnIzMl9wbV9lbnRlcl9zdGFuZGJ5ID0gZHN0ICsgYXZyMzJfcG1fb2Zmc2V0KHBtX3N0YW5kYnkpOworCWF2cjMyX3BtX2VudGVyX3N0ciA9IGRzdCArIGF2cjMyX3BtX29mZnNldChwbV9zdXNwZW5kX3RvX3JhbSk7CisJaW50Y19zZXRfc3VzcGVuZF9oYW5kbGVyKGF2cjMyX3BtX29mZnNldChwbV9pcnEwKSk7CisKKwlzdXNwZW5kX3NldF9vcHMoJmF2cjMyX3BtX29wcyk7CisKKwlwcmludGsoIkFWUjMyIEFQIFBvd2VyIE1hbmFnZW1lbnQgZW5hYmxlZFxuIik7CisKKwlyZXR1cm4gMDsKKworZXJyX3ZtX2FyZWE6CisJc3JhbV9mcmVlKHBtX3NyYW1fc3RhcnQsIHBtX3NyYW1fc2l6ZSk7CitlcnJfYWxsb2Nfc3JhbToKK2VycjoKKwlwcl9lcnIoIkFWUjMyIFBvd2VyIE1hbmFnZW1lbnQgaW5pdGlhbGl6YXRpb24gZmFpbGVkXG4iKTsKKwlyZXR1cm4gLUVOT01FTTsKK30KK2FyY2hfaW5pdGNhbGwoYXZyMzJfcG1faW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3NkcmFtYy5oIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9zZHJhbWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmVlYWVkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9zZHJhbWMuaApAQCAtMCwwICsxLDc2IEBACisvKgorICogUmVnaXN0ZXIgZGVmaW5pdGlvbnMgZm9yIHRoZSBBVDMyQVAgU0RSQU0gQ29udHJvbGxlcgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBdG1lbCBDb3Jwb3JhdGlvbgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworLyogUmVnaXN0ZXIgb2Zmc2V0cyAqLworI2RlZmluZSBTRFJBTUNfTVIJCQkweDAwMDAKKyNkZWZpbmUgU0RSQU1DX1RSCQkJMHgwMDA0CisjZGVmaW5lIFNEUkFNQ19DUgkJCTB4MDAwOAorI2RlZmluZSBTRFJBTUNfSFNSCQkJMHgwMDBjCisjZGVmaW5lIFNEUkFNQ19MUFIJCQkweDAwMTAKKyNkZWZpbmUgU0RSQU1DX0lFUgkJCTB4MDAxNAorI2RlZmluZSBTRFJBTUNfSURSCQkJMHgwMDE4CisjZGVmaW5lIFNEUkFNQ19JTVIJCQkweDAwMWMKKyNkZWZpbmUgU0RSQU1DX0lTUgkJCTB4MDAyMAorI2RlZmluZSBTRFJBTUNfTURSCQkJMHgwMDI0CisKKy8qIE1SIC0gTW9kZSBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9OT1JNQUwJCSggIDAgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19NUl9NT0RFX05PUAkJKCAgMSA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX01SX01PREVfQkFOS1NfUFJFQ0hBUkdFCSggIDIgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19NUl9NT0RFX0xPQURfTU9ERQkoICAzIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9BVVRPX1JFRlJFU0gJKCAgNCA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX01SX01PREVfRVhUX0xPQURfTU9ERQkoICA1IDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9QT1dFUl9ET1dOCSggIDYgPDwgIDApCisKKy8qIENSIC0gQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfQ1JfTkNfOF9CSVRTCQkoICAwIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfQ1JfTkNfOV9CSVRTCQkoICAxIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfQ1JfTkNfMTBfQklUUwkJKCAgMiA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0NSX05DXzExX0JJVFMJCSggIDMgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19DUl9OUl8xMV9CSVRTCQkoICAwIDw8ICAyKQorI2RlZmluZSBTRFJBTUNfQ1JfTlJfMTJfQklUUwkJKCAgMSA8PCAgMikKKyNkZWZpbmUgU0RSQU1DX0NSX05SXzEzX0JJVFMJCSggIDIgPDwgIDIpCisjZGVmaW5lIFNEUkFNQ19DUl9OQl8yX0JBTktTCQkoICAwIDw8ICA0KQorI2RlZmluZSBTRFJBTUNfQ1JfTkJfNF9CQU5LUwkJKCAgMSA8PCAgNCkKKyNkZWZpbmUgU0RSQU1DX0NSX0NBUyh4KQkJKCh4KSA8PCAgNSkKKyNkZWZpbmUgU0RSQU1DX0NSX0RCV18zMl9CSVRTCQkoICAwIDw8ICA3KQorI2RlZmluZSBTRFJBTUNfQ1JfREJXXzE2X0JJVFMJCSggIDEgPDwgIDcpCisjZGVmaW5lIFNEUkFNQ19DUl9UV1IoeCkJCSgoeCkgPDwgIDgpCisjZGVmaW5lIFNEUkFNQ19DUl9UUkMoeCkJCSgoeCkgPDwgMTIpCisjZGVmaW5lIFNEUkFNQ19DUl9UUlAoeCkJCSgoeCkgPDwgMTYpCisjZGVmaW5lIFNEUkFNQ19DUl9UUkNEKHgpCQkoKHgpIDw8IDIwKQorI2RlZmluZSBTRFJBTUNfQ1JfVFJBUyh4KQkJKCh4KSA8PCAyNCkKKyNkZWZpbmUgU0RSQU1DX0NSX1RYU1IoeCkJCSgoeCkgPDwgMjgpCisKKy8qIEhTUiAtIEhpZ2ggU3BlZWQgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0RSQU1DX0hTUl9EQQkJCSggIDEgPDwgIDApCisKKy8qIExQUiAtIExvdyBQb3dlciBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfTFBSX0xQQ0JfSU5ISUJJVAkJKCAgMCA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0xQUl9MUENCX1NFTEZfUkZSCSggIDEgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19MUFJfTFBDQl9QRE9XTgkJKCAgMiA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0xQUl9MUENCX0RFRVBfUERPV04JKCAgMyA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0xQUl9QQVNSKHgpCQkoKHgpIDw8ICA0KQorI2RlZmluZSBTRFJBTUNfTFBSX1RDU1IoeCkJCSgoeCkgPDwgIDgpCisjZGVmaW5lIFNEUkFNQ19MUFJfRFMoeCkJCSgoeCkgPDwgMTApCisjZGVmaW5lIFNEUkFNQ19MUFJfVElNRU9VVCh4KQkJKCh4KSA8PCAxMikKKworLyogSUVSL0lEUi9JTVIvSVNSIC0gSW50ZXJydXB0IEVuYWJsZS9EaXNhYmxlL01hc2svU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFNEUkFNQ19JU1JfUkVTCQkJKCAgMSA8PCAgMCkKKworLyogTURSIC0gTWVtb3J5IERldmljZSBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfTURSX01EX1NEUkFNCQkoICAwIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTURSX01EX0xPV19QV1JfU0RSQU0JKCAgMSA8PCAgMCkKKworLyogUmVnaXN0ZXIgYWNjZXNzIG1hY3JvcyAqLworI2RlZmluZSBzZHJhbWNfcmVhZGwocmVnKSBcCisJX19yYXdfcmVhZGwoKHZvaWQgX19pb21lbSBfX2ZvcmNlICopU0RSQU1DX0JBU0UgKyBTRFJBTUNfIyNyZWcpCisjZGVmaW5lIHNkcmFtY193cml0ZWwocmVnLCB2YWx1ZSkgXAorCV9fcmF3X3dyaXRlbCh2YWx1ZSwgKHZvaWQgX19pb21lbSBfX2ZvcmNlICopU0RSQU1DX0JBU0UgKyBTRFJBTUNfIyNyZWcpCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21tL2luaXQuYyBiL2FyY2gvYXZyMzIvbW0vaW5pdC5jCmluZGV4IDBlNjRkZGMuLjNmOTBhODcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbW0vaW5pdC5jCisrKyBiL2FyY2gvYXZyMzIvbW0vaW5pdC5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1ZGUgPGxpbnV4L25vZGVtYXNrLmg+CkBAIC0yMywxMSArMjQsMTQgQEAKICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KIAorI2RlZmluZSBfX3BhZ2VfYWxpZ25lZAlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuZGF0YS5wYWdlX2FsaWduZWQiKSkpCisKIERFRklORV9QRVJfQ1BVKHN0cnVjdCBtbXVfZ2F0aGVyLCBtbXVfZ2F0aGVycyk7CiAKLXBnZF90IHN3YXBwZXJfcGdfZGlyW1BUUlNfUEVSX1BHRF07CitwZ2RfdCBzd2FwcGVyX3BnX2RpcltQVFJTX1BFUl9QR0RdIF9fcGFnZV9hbGlnbmVkOwogCiBzdHJ1Y3QgcGFnZSAqZW1wdHlfemVyb19wYWdlOworRVhQT1JUX1NZTUJPTChlbXB0eV96ZXJvX3BhZ2UpOwogCiAvKgogICogQ2FjaGUgb2YgTU1VIGNvbnRleHQgbGFzdCB1c2VkLgpAQCAtMTA2LDE5ICsxMTAsOSBAQAogCXplcm9fcGFnZSA9IGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzX25vZGUoTk9ERV9EQVRBKDApLAogCQkJCQkJIFBBR0VfU0laRSk7CiAKLQl7Ci0JCXBnZF90ICpwZ19kaXI7Ci0JCWludCBpOwotCi0JCXBnX2RpciA9IHN3YXBwZXJfcGdfZGlyOwotCQlzeXNyZWdfd3JpdGUoUFRCUiwgKHVuc2lnbmVkIGxvbmcpcGdfZGlyKTsKLQotCQlmb3IgKGkgPSAwOyBpIDwgUFRSU19QRVJfUEdEOyBpKyspCi0JCQlwZ2RfdmFsKHBnX2RpcltpXSkgPSAwOwotCi0JCWVuYWJsZV9tbXUoKTsKLQkJcHJpbnRrICgiQ1BVOiBQYWdpbmcgZW5hYmxlZFxuIik7Ci0JfQorCXN5c3JlZ193cml0ZShQVEJSLCAodW5zaWduZWQgbG9uZylzd2FwcGVyX3BnX2Rpcik7CisJZW5hYmxlX21tdSgpOworCXByaW50ayAoIkNQVTogUGFnaW5nIGVuYWJsZWRcbiIpOwogCiAJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7CiAJCXBnX2RhdGFfdCAqcGdkYXQgPSBOT0RFX0RBVEEobmlkKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvbW0vdGxiLmMgYi9hcmNoL2F2cjMyL21tL3RsYi5jCmluZGV4IGNkMTJlZGIuLjA2Njc3YmUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbW0vdGxiLmMKKysrIGIvYXJjaC9hdnIzMi9tbS90bGIuYwpAQCAtMTEsMjEgKzExLDIxIEBACiAKICNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KIAotI2RlZmluZSBfVExCRUhJX0kJMHgxMDAKKy8qIFRPRE86IEdldCB0aGUgY29ycmVjdCBudW1iZXIgZnJvbSB0aGUgQ09ORklHMSBzeXN0ZW0gcmVnaXN0ZXIgKi8KKyNkZWZpbmUgTlJfVExCX0VOVFJJRVMgMzIKIAotdm9pZCBzaG93X2R0bGJfZW50cnkodW5zaWduZWQgaW50IGluZGV4KQorc3RhdGljIHZvaWQgc2hvd19kdGxiX2VudHJ5KHVuc2lnbmVkIGludCBpbmRleCkKIHsKLQl1bnNpZ25lZCBpbnQgdGxiZWhpLCB0bGJlaGlfc2F2ZSwgdGxiZWxvLCBtbXVjciwgbW11Y3Jfc2F2ZTsKKwl1MzIgdGxiZWhpLCB0bGJlaGlfc2F2ZSwgdGxiZWxvLCBtbXVjciwgbW11Y3Jfc2F2ZTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCW1tdWNyX3NhdmUgPSBzeXNyZWdfcmVhZChNTVVDUik7CiAJdGxiZWhpX3NhdmUgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwotCW1tdWNyID0gbW11Y3Jfc2F2ZSAmIDB4MTM7Ci0JbW11Y3IgfD0gaW5kZXggPDwgMTQ7CisJbW11Y3IgPSBTWVNSRUdfQkZJTlMoRFJQLCBpbmRleCwgbW11Y3Jfc2F2ZSk7CiAJc3lzcmVnX3dyaXRlKE1NVUNSLCBtbXVjcik7CiAKLQlhc20gdm9sYXRpbGUoInRsYnIiIDogOiA6ICJtZW1vcnkiKTsKKwlfX2J1aWx0aW5fdGxicigpOwogCWNwdV9zeW5jX3BpcGVsaW5lKCk7CiAKIAl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwpAQCAtMzMsMTUgKzMzLDE3IEBACiAKIAlwcmludGsoIiUydTogJWMgJWMgJTAyeCAgICUwNXggJTA1eCAlbyAgJW8gICVjICVjICVjICVjXG4iLAogCSAgICAgICBpbmRleCwKLQkgICAgICAgKHRsYmVoaSAmIDB4MjAwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgxMDApPycxJzonMCcsCi0JICAgICAgICh0bGJlaGkgJiAweGZmKSwKLQkgICAgICAgKHRsYmVoaSA+PiAxMiksICh0bGJlbG8gPj4gMTIpLAotCSAgICAgICAodGxiZWxvID4+IDQpICYgNywgKHRsYmVsbyA+PiAyKSAmIDMsCi0JICAgICAgICh0bGJlbG8gJiAweDIwMCk/JzEnOicwJywKLQkgICAgICAgKHRsYmVsbyAmIDB4MDgwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgwMDEpPycxJzonMCcsCi0JICAgICAgICh0bGJlbG8gJiAweDAwMik/JzEnOicwJyk7CisJICAgICAgIFNZU1JFR19CRkVYVChUTEJFSElfViwgdGxiZWhpKSA/ICcxJyA6ICcwJywKKwkgICAgICAgU1lTUkVHX0JGRVhUKEcsIHRsYmVsbykgPyAnMScgOiAnMCcsCisJICAgICAgIFNZU1JFR19CRkVYVChBU0lELCB0bGJlaGkpLAorCSAgICAgICBTWVNSRUdfQkZFWFQoVlBOLCB0bGJlaGkpID4+IDIsCisJICAgICAgIFNZU1JFR19CRkVYVChQRk4sIHRsYmVsbykgPj4gMiwKKwkgICAgICAgU1lTUkVHX0JGRVhUKEFQLCB0bGJlbG8pLAorCSAgICAgICBTWVNSRUdfQkZFWFQoU1osIHRsYmVsbyksCisJICAgICAgIFNZU1JFR19CRkVYVChUTEJFTE9fQywgdGxiZWxvKSA/ICdDJyA6ICcgJywKKwkgICAgICAgU1lTUkVHX0JGRVhUKEIsIHRsYmVsbykgPyAnQicgOiAnICcsCisJICAgICAgIFNZU1JFR19CRkVYVChXLCB0bGJlbG8pID8gJ1cnIDogJyAnLAorCSAgICAgICBTWVNSRUdfQkZFWFQoVExCRUxPX0QsIHRsYmVsbykgPyAnRCcgOiAnICcpOwogCiAJc3lzcmVnX3dyaXRlKE1NVUNSLCBtbXVjcl9zYXZlKTsKIAlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGlfc2F2ZSk7CkBAIC01NCwyOSArNTYsMzMgQEAKIAl1bnNpZ25lZCBpbnQgaTsKIAogCXByaW50aygiSUQgIFYgRyBBU0lEIFZQTiAgIFBGTiAgIEFQIFNaIEMgQiBXIERcbiIpOwotCWZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBOUl9UTEJfRU5UUklFUzsgaSsrKQogCQlzaG93X2R0bGJfZW50cnkoaSk7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxhc3RfbW11Y3I7Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfcmVwbGFjZW1lbnRfcG9pbnRlcih1bnNpZ25lZCBzaGlmdCkKK3N0YXRpYyB2b2lkIHVwZGF0ZV9kdGxiKHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgcHRlX3QgcHRlKQogewotCXVuc2lnbmVkIGxvbmcgbW11Y3IsIG1tdWNyX3NhdmU7CisJdTMyIHRsYmVoaTsKKwl1MzIgbW11Y3I7CiAKLQltbXVjciA9IG1tdWNyX3NhdmUgPSBzeXNyZWdfcmVhZChNTVVDUik7CisJLyoKKwkgKiBXZSdyZSBub3QgY2hhbmdpbmcgdGhlIEFTSUQgaGVyZSwgc28gbm8gbmVlZCB0byBmbHVzaCB0aGUKKwkgKiBwaXBlbGluZS4KKwkgKi8KKwl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOworCXRsYmVoaSA9IFNZU1JFR19CRihBU0lELCBTWVNSRUdfQkZFWFQoQVNJRCwgdGxiZWhpKSk7CisJdGxiZWhpIHw9IGFkZHJlc3MgJiBNTVVfVlBOX01BU0s7CisJdGxiZWhpIHw9IFNZU1JFR19CSVQoVExCRUhJX1YpOworCXN5c3JlZ193cml0ZShUTEJFSEksIHRsYmVoaSk7CiAKIAkvKiBEb2VzIHRoaXMgbWFwcGluZyBhbHJlYWR5IGV4aXN0PyAqLwotCV9fYXNtX18gX192b2xhdGlsZV9fKAotCQkiCXRsYnNcbiIKLQkJIgltZnNyICUwLCAlMSIKLQkJOiAiPXIiKG1tdWNyKQotCQk6ICJpIihTWVNSRUdfTU1VQ1IpKTsKKwlfX2J1aWx0aW5fdGxicygpOworCW1tdWNyID0gc3lzcmVnX3JlYWQoTU1VQ1IpOwogCiAJaWYgKG1tdWNyICYgU1lTUkVHX0JJVChNTVVDUl9OKSkgewogCQkvKiBOb3QgZm91bmQgLS0gcGljayBhIG5vdC1yZWNlbnRseS1hY2Nlc3NlZCBlbnRyeSAqLwotCQl1bnNpZ25lZCBsb25nIHJwOwotCQl1bnNpZ25lZCBsb25nIHRsYmFyID0gc3lzcmVnX3JlYWQoVExCQVJMTyk7CisJCXVuc2lnbmVkIGludCBycDsKKwkJdTMyIHRsYmFyID0gc3lzcmVnX3JlYWQoVExCQVJMTyk7CiAKIAkJcnAgPSAzMiAtIGZscyh0bGJhcik7CiAJCWlmIChycCA9PSAzMikgewpAQCAtODQsMzAgKzkwLDE0IEBACiAJCQlzeXNyZWdfd3JpdGUoVExCQVJMTywgLTFMKTsKIAkJfQogCi0JCW1tdWNyICY9IDB4MTM7Ci0JCW1tdWNyIHw9IChycCA8PCBzaGlmdCk7Ci0KKwkJbW11Y3IgPSBTWVNSRUdfQkZJTlMoRFJQLCBycCwgbW11Y3IpOwogCQlzeXNyZWdfd3JpdGUoTU1VQ1IsIG1tdWNyKTsKIAl9CiAKLQlsYXN0X21tdWNyID0gbW11Y3I7Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9kdGxiKHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgcHRlX3QgcHRlLCB1bnNpZ25lZCBsb25nIGFzaWQpCi17Ci0JdW5zaWduZWQgbG9uZyB2cG47Ci0KLQl2cG4gPSAoYWRkcmVzcyAmIE1NVV9WUE5fTUFTSykgfCBfVExCRUhJX1ZBTElEIHwgYXNpZDsKLQlzeXNyZWdfd3JpdGUoVExCRUhJLCB2cG4pOwotCWNwdV9zeW5jX3BpcGVsaW5lKCk7Ci0KLQlzZXRfcmVwbGFjZW1lbnRfcG9pbnRlcigxNCk7Ci0KIAlzeXNyZWdfd3JpdGUoVExCRUxPLCBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9GTEFHU19IQVJEV0FSRV9NQVNLKTsKIAogCS8qIExldCdzIGdvICovCi0JYXNtIHZvbGF0aWxlKCJub3Bcblx0dGxidyIgOiA6IDogIm1lbW9yeSIpOwotCWNwdV9zeW5jX3BpcGVsaW5lKCk7CisJX19idWlsdGluX3RsYncoKTsKIH0KIAogdm9pZCB1cGRhdGVfbW11X2NhY2hlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLApAQCAtMTIwLDM5ICsxMTAsNDAgQEAKIAkJcmV0dXJuOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCXVwZGF0ZV9kdGxiKGFkZHJlc3MsIHB0ZSwgZ2V0X2FzaWQoKSk7CisJdXBkYXRlX2R0bGIoYWRkcmVzcywgcHRlKTsKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKLXZvaWQgX19mbHVzaF90bGJfcGFnZSh1bnNpZ25lZCBsb25nIGFzaWQsIHVuc2lnbmVkIGxvbmcgcGFnZSkKK3N0YXRpYyB2b2lkIF9fZmx1c2hfdGxiX3BhZ2UodW5zaWduZWQgbG9uZyBhc2lkLCB1bnNpZ25lZCBsb25nIHBhZ2UpCiB7Ci0JdW5zaWduZWQgbG9uZyBtbXVjciwgdGxiZWhpOworCXUzMiBtbXVjciwgdGxiZWhpOwogCi0JcGFnZSB8PSBhc2lkOwotCXN5c3JlZ193cml0ZShUTEJFSEksIHBhZ2UpOwotCWNwdV9zeW5jX3BpcGVsaW5lKCk7Ci0JYXNtIHZvbGF0aWxlKCJ0bGJzIik7CisJLyoKKwkgKiBDYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIG1hc2tpbmcgb3V0IG5vbi1QRk4gYml0cyBpbiBwYWdlCisJICogYW5kIGNoYW5naW5nIHRoZSBjdXJyZW50IEFTSUQgaWYgbmVjZXNzYXJ5LiBUaGlzIG1lYW5zIHRoYXQKKwkgKiB3ZSBkb24ndCBuZWVkIHRvIGZsdXNoIHRoZSBwaXBlbGluZSBhZnRlciB3cml0aW5nIFRMQkVISS4KKwkgKi8KKwl0bGJlaGkgPSBwYWdlIHwgYXNpZDsKKwlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOworCisJX19idWlsdGluX3RsYnMoKTsKIAltbXVjciA9IHN5c3JlZ19yZWFkKE1NVUNSKTsKIAogCWlmICghKG1tdWNyICYgU1lTUkVHX0JJVChNTVVDUl9OKSkpIHsKLQkJdW5zaWduZWQgbG9uZyB0bGJhcmxvOwotCQl1bnNpZ25lZCBsb25nIGVudHJ5OworCQl1bnNpZ25lZCBpbnQgZW50cnk7CisJCXUzMiB0bGJhcmxvOwogCiAJCS8qIENsZWFyIHRoZSAidmFsaWQiIGJpdCAqLwotCQl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwotCQl0bGJlaGkgJj0gfl9UTEJFSElfVkFMSUQ7CiAJCXN5c3JlZ193cml0ZShUTEJFSEksIHRsYmVoaSk7Ci0JCWNwdV9zeW5jX3BpcGVsaW5lKCk7CiAKIAkJLyogbWFyayB0aGUgZW50cnkgYXMgIm5vdCBhY2Nlc3NlZCIgKi8KLQkJZW50cnkgPSAobW11Y3IgPj4gMTQpICYgMHgzZjsKKwkJZW50cnkgPSBTWVNSRUdfQkZFWFQoRFJQLCBtbXVjcik7CiAJCXRsYmFybG8gPSBzeXNyZWdfcmVhZChUTEJBUkxPKTsKLQkJdGxiYXJsbyB8PSAoMHg4MDAwMDAwMCA+PiBlbnRyeSk7CisJCXRsYmFybG8gfD0gKDB4ODAwMDAwMDBVTCA+PiBlbnRyeSk7CiAJCXN5c3JlZ193cml0ZShUTEJBUkxPLCB0bGJhcmxvKTsKIAogCQkvKiB1cGRhdGUgdGhlIGVudHJ5IHdpdGggdmFsaWQgYml0IGNsZWFyICovCi0JCWFzbSB2b2xhdGlsZSgidGxidyIpOwotCQljcHVfc3luY19waXBlbGluZSgpOworCQlfX2J1aWx0aW5fdGxidygpOwogCX0KIH0KIApAQCAtMTkwLDE3ICsxODEsMjIgQEAKIAogCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJCXNpemUgPSAoZW5kIC0gc3RhcnQgKyAoUEFHRV9TSVpFIC0gMSkpID4+IFBBR0VfU0hJRlQ7CisKIAkJaWYgKHNpemUgPiAoTU1VX0RUTEJfRU5UUklFUyAvIDQpKSB7IC8qIFRvbyBtYW55IGVudHJpZXMgdG8gZmx1c2ggKi8KIAkJCW1tLT5jb250ZXh0ID0gTk9fQ09OVEVYVDsKIAkJCWlmIChtbSA9PSBjdXJyZW50LT5tbSkKIAkJCQlhY3RpdmF0ZV9jb250ZXh0KG1tKTsKIAkJfSBlbHNlIHsKLQkJCXVuc2lnbmVkIGxvbmcgYXNpZCA9IG1tLT5jb250ZXh0ICYgTU1VX0NPTlRFWFRfQVNJRF9NQVNLOwotCQkJdW5zaWduZWQgbG9uZyBzYXZlZF9hc2lkID0gTU1VX05PX0FTSUQ7CisJCQl1bnNpZ25lZCBsb25nIGFzaWQ7CisJCQl1bnNpZ25lZCBsb25nIHNhdmVkX2FzaWQ7CisKKwkJCWFzaWQgPSBtbS0+Y29udGV4dCAmIE1NVV9DT05URVhUX0FTSURfTUFTSzsKKwkJCXNhdmVkX2FzaWQgPSBNTVVfTk9fQVNJRDsKIAogCQkJc3RhcnQgJj0gUEFHRV9NQVNLOwogCQkJZW5kICs9IChQQUdFX1NJWkUgLSAxKTsKIAkJCWVuZCAmPSBQQUdFX01BU0s7CisKIAkJCWlmIChtbSAhPSBjdXJyZW50LT5tbSkgewogCQkJCXNhdmVkX2FzaWQgPSBnZXRfYXNpZCgpOwogCQkJCXNldF9hc2lkKGFzaWQpOwpAQCAtMjE4LDMzICsyMTQsMzQgQEAKIH0KIAogLyoKLSAqIFRPRE86IElmIHRoaXMgaXMgb25seSBjYWxsZWQgZm9yIGFkZHJlc3NlcyA+IFRBU0tfU0laRSwgd2UgY2FuIHByb2JhYmx5Ci0gKiBza2lwIHRoZSBBU0lEIHN0dWZmIGFuZCBqdXN0IHVzZSB0aGUgR2xvYmFsIGJpdC4uLgorICogVGhpcyBmdW5jdGlvbiBkZXBlbmRzIG9uIHRoZSBwYWdlcyB0byBiZSBmbHVzaGVkIGhhdmluZyB0aGUgRworICogKGdsb2JhbCkgYml0IHNldCBpbiB0aGVpciBwdGUuIFRoaXMgaXMgdHJ1ZSBmb3IgYWxsCisgKiBQQUdFX0tFUk5FTChfUk8pIHBhZ2VzLgogICovCiB2b2lkIGZsdXNoX3RsYl9rZXJuZWxfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgc2l6ZTsKIAotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAlzaXplID0gKGVuZCAtIHN0YXJ0ICsgKFBBR0VfU0laRSAtIDEpKSA+PiBQQUdFX1NISUZUOwogCWlmIChzaXplID4gKE1NVV9EVExCX0VOVFJJRVMgLyA0KSkgeyAvKiBUb28gbWFueSBlbnRyaWVzIHRvIGZsdXNoICovCiAJCWZsdXNoX3RsYl9hbGwoKTsKIAl9IGVsc2UgewotCQl1bnNpZ25lZCBsb25nIGFzaWQgPSBpbml0X21tLmNvbnRleHQgJiBNTVVfQ09OVEVYVF9BU0lEX01BU0s7Ci0JCXVuc2lnbmVkIGxvbmcgc2F2ZWRfYXNpZCA9IGdldF9hc2lkKCk7CisJCXVuc2lnbmVkIGxvbmcgYXNpZDsKKworCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCWFzaWQgPSBnZXRfYXNpZCgpOwogCiAJCXN0YXJ0ICY9IFBBR0VfTUFTSzsKIAkJZW5kICs9IChQQUdFX1NJWkUgLSAxKTsKIAkJZW5kICY9IFBBR0VfTUFTSzsKLQkJc2V0X2FzaWQoYXNpZCk7CisKIAkJd2hpbGUgKHN0YXJ0IDwgZW5kKSB7CiAJCQlfX2ZsdXNoX3RsYl9wYWdlKGFzaWQsIHN0YXJ0KTsKIAkJCXN0YXJ0ICs9IFBBR0VfU0laRTsKIAkJfQotCQlzZXRfYXNpZChzYXZlZF9hc2lkKTsKKwkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCX0KLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKIHZvaWQgZmx1c2hfdGxiX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQpAQCAtMjgwLDcgKzI3Nyw3IEBACiB7CiAJc3RhdGljIHVuc2lnbmVkIGxvbmcgdGxiX2luZGV4OwogCi0JaWYgKCpwb3MgPj0gMzIpCisJaWYgKCpwb3MgPj0gTlJfVExCX0VOVFJJRVMpCiAJCXJldHVybiBOVUxMOwogCiAJdGxiX2luZGV4ID0gMDsKQEAgLTI5MSw3ICsyODgsNyBAQAogewogCXVuc2lnbmVkIGxvbmcgKmluZGV4ID0gdjsKIAotCWlmICgqaW5kZXggPj0gMzEpCisJaWYgKCppbmRleCA+PSBOUl9UTEJfRU5UUklFUyAtIDEpCiAJCXJldHVybiBOVUxMOwogCiAJKysqcG9zOwpAQCAtMzEzLDE2ICszMTAsMTYgQEAKIAlpZiAoKmluZGV4ID09IDApCiAJCXNlcV9wdXRzKHRsYiwgIklEICBWIEcgQVNJRCBWUE4gICBQRk4gICBBUCBTWiBDIEIgVyBEXG4iKTsKIAotCUJVR19PTigqaW5kZXggPj0gMzIpOworCUJVR19PTigqaW5kZXggPj0gTlJfVExCX0VOVFJJRVMpOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCW1tdWNyX3NhdmUgPSBzeXNyZWdfcmVhZChNTVVDUik7CiAJdGxiZWhpX3NhdmUgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwotCW1tdWNyID0gbW11Y3Jfc2F2ZSAmIDB4MTM7Ci0JbW11Y3IgfD0gKmluZGV4IDw8IDE0OworCW1tdWNyID0gU1lTUkVHX0JGSU5TKERSUCwgKmluZGV4LCBtbXVjcl9zYXZlKTsKIAlzeXNyZWdfd3JpdGUoTU1VQ1IsIG1tdWNyKTsKIAotCWFzbSB2b2xhdGlsZSgidGxiciIgOiA6IDogIm1lbW9yeSIpOworCS8qIFRMQlIgbWlnaHQgY2hhbmdlIHRoZSBBU0lEICovCisJX19idWlsdGluX3RsYnIoKTsKIAljcHVfc3luY19waXBlbGluZSgpOwogCiAJdGxiZWhpID0gc3lzcmVnX3JlYWQoVExCRUhJKTsKQEAgLTMzNCwxNiArMzMxLDE4IEBACiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCiAJc2VxX3ByaW50Zih0bGIsICIlMmx1OiAlYyAlYyAlMDJ4ICAgJTA1eCAlMDV4ICVvICAlbyAgJWMgJWMgJWMgJWNcbiIsCi0JICAgICAgICppbmRleCwKLQkgICAgICAgKHRsYmVoaSAmIDB4MjAwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgxMDApPycxJzonMCcsCi0JICAgICAgICh0bGJlaGkgJiAweGZmKSwKLQkgICAgICAgKHRsYmVoaSA+PiAxMiksICh0bGJlbG8gPj4gMTIpLAotCSAgICAgICAodGxiZWxvID4+IDQpICYgNywgKHRsYmVsbyA+PiAyKSAmIDMsCi0JICAgICAgICh0bGJlbG8gJiAweDIwMCk/JzEnOicwJywKLQkgICAgICAgKHRsYmVsbyAmIDB4MDgwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgwMDEpPycxJzonMCcsCi0JICAgICAgICh0bGJlbG8gJiAweDAwMik/JzEnOicwJyk7CisJCSAgICppbmRleCwKKwkJICAgU1lTUkVHX0JGRVhUKFRMQkVISV9WLCB0bGJlaGkpID8gJzEnIDogJzAnLAorCQkgICBTWVNSRUdfQkZFWFQoRywgdGxiZWxvKSA/ICcxJyA6ICcwJywKKwkJICAgU1lTUkVHX0JGRVhUKEFTSUQsIHRsYmVoaSksCisJCSAgIFNZU1JFR19CRkVYVChWUE4sIHRsYmVoaSkgPj4gMiwKKwkJICAgU1lTUkVHX0JGRVhUKFBGTiwgdGxiZWxvKSA+PiAyLAorCQkgICBTWVNSRUdfQkZFWFQoQVAsIHRsYmVsbyksCisJCSAgIFNZU1JFR19CRkVYVChTWiwgdGxiZWxvKSwKKwkJICAgU1lTUkVHX0JGRVhUKFRMQkVMT19DLCB0bGJlbG8pID8gJzEnIDogJzAnLAorCQkgICBTWVNSRUdfQkZFWFQoQiwgdGxiZWxvKSA/ICcxJyA6ICcwJywKKwkJICAgU1lTUkVHX0JGRVhUKFcsIHRsYmVsbykgPyAnMScgOiAnMCcsCisJCSAgIFNZU1JFR19CRkVYVChUTEJFTE9fRCwgdGxiZWxvKSA/ICcxJyA6ICcwJyk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYmxhY2tmaW4vbWFjaC1iZjU2MS9jb3JlYi5jIGIvYXJjaC9ibGFja2Zpbi9tYWNoLWJmNTYxL2NvcmViLmMKaW5kZXggMWI0NGU5ZS4uODU5ODA5OCAxMDA2NDQKLS0tIGEvYXJjaC9ibGFja2Zpbi9tYWNoLWJmNTYxL2NvcmViLmMKKysrIGIvYXJjaC9ibGFja2Zpbi9tYWNoLWJmNTYxL2NvcmViLmMKQEAgLTE5NCw2ICsxOTQsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKKy8qIE5vIEJLTCBuZWVkZWQgaGVyZSAqLwogc3RhdGljIGludCBjb3JlYl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCXNwaW5fbG9ja19pcnEoJmNvcmViX2xvY2spOwpkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZWVwcm9tLmMgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9lZXByb20uYwppbmRleCBmMWNhYzlkLi4xZjJhZTkwIDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9lZXByb20uYworKysgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9lZXByb20uYwpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSAiaTJjLmgiCkBAIC0zNzUsMTAgKzM3Niw5IEBACiB9CiAKIC8qIE9wZW5zIHRoZSBkZXZpY2UuICovCi0KIHN0YXRpYyBpbnQgZWVwcm9tX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSkKIHsKLQorICBjeWNsZV9rZXJuZWxfbG9jaygpOwogICBpZihpbWlub3IoaW5vZGUpICE9IEVFUFJPTV9NSU5PUl9OUikKICAgICAgcmV0dXJuIC1FTlhJTzsKICAgaWYoaW1ham9yKGlub2RlKSAhPSBFRVBST01fTUFKT1JfTlIpCmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9ncGlvLmMgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9ncGlvLmMKaW5kZXggNjhhOTk4Yi4uODYwNDhlNiAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZ3Bpby5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2dwaW8uYwpAQCAtMTYsNiArMTYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0zMjMsNiArMzI0LDcgQEAKIAlpZiAoIXByaXYpCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlwcml2LT5taW5vciA9IHA7CiAKIAkvKiBpbml0aWFsaXplIHRoZSBpby9hbGFybSBzdHJ1Y3QgKi8KQEAgLTM1Nyw2ICszNTksNyBAQAogCWFsYXJtbGlzdCA9IHByaXY7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZ3Bpb19sb2NrLCBmbGFncyk7CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2kyYy5jIGIvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvaTJjLmMKaW5kZXggZDZkMjIwNi4uMjc5N2U2NyAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvaTJjLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvaTJjLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KQEAgLTU2Niw2ICs1NjcsNyBAQAogc3RhdGljIGludAogaTJjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvc3luY19zZXJpYWwuYyBiL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL3N5bmNfc2VyaWFsLmMKaW5kZXggMDY5NTQ2ZS4uOTFmZWE2MiAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvc3luY19zZXJpYWwuYworKysgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9zeW5jX3NlcmlhbC5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KQEAgLTQ0MywxOCArNDQ0LDIxIEBACiAJaW50IGRldiA9IE1JTk9SKGlub2RlLT5pX3JkZXYpOwogCXN0cnVjdCBzeW5jX3BvcnQgKnBvcnQ7CiAJaW50IG1vZGU7CisJaW50IGVyciA9IC1FQlVTWTsKIAorCWxvY2tfa2VybmVsKCk7CiAJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIk9wZW4gc3luYyBzZXJpYWwgcG9ydCAlZFxuIiwgZGV2KSk7CiAKIAlpZiAoZGV2IDwgMCB8fCBkZXYgPj0gTlVNQkVSX09GX1BPUlRTIHx8ICFwb3J0c1tkZXZdLmVuYWJsZWQpIHsKIAkJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIkludmFsaWQgbWlub3IgJWRcbiIsIGRldikpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCXBvcnQgPSAmcG9ydHNbZGV2XTsKIAkvKiBBbGxvdyBvcGVuIHRoaXMgZGV2aWNlIHR3aWNlIChhc3N1bWluZyBvbmUgcmVhZGVyIGFuZCBvbmUgd3JpdGVyKSAqLwogCWlmIChwb3J0LT5idXN5ID09IDIpIHsKIAkJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIkRldmljZSBpcyBidXN5Li4gXG4iKSk7Ci0JCXJldHVybiAtRUJVU1k7CisJCWdvdG8gb3V0OwogCX0KIAlpZiAocG9ydC0+aW5pdF9pcnFzKSB7CiAJCWlmIChwb3J0LT51c2VfZG1hKSB7CkBAIC00NjUsMTQgKzQ2OSwxNCBAQAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvYyAiCiAJCQkJCQkic3luYyBzZXJpYWwgcG9ydCAxIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKHJlcXVlc3RfaXJxKDI1LCByeF9pbnRlcnJ1cHQsIDAsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDEgZG1hIHJ4IiwKIAkJCQkJCSZwb3J0c1swXSkpIHsKIAkJCQkJZnJlZV9pcnEoMjQsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMSBJUlEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzX3JlcXVlc3RfZG1hKDgsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDEgZG1hIHRyIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNDgyLDcgKzQ4Niw3IEBACiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDEgIgogCQkJCQkJIlRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc19yZXF1ZXN0X2RtYSg5LAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAxIGRtYSByZWMiLAogCQkJCQkJRE1BX1ZFUkJPU0VfT05fRVJST1IsCkBAIC00OTMsNyArNDk3LDcgQEAKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMSAiCiAJCQkJCQkiUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQkJUkVTRVRfRE1BKDgpOyBXQUlUX0RNQSg4KTsKQEAgLTUyMCwxNCArNTI0LDE0IEBACiAJCQkJCQkmcG9ydHNbMV0pKSB7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDMgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAocmVxdWVzdF9pcnEoMjEsIHJ4X2ludGVycnVwdCwgMCwKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMyBkbWEgcngiLAogCQkJCQkJJnBvcnRzWzFdKSkgewogCQkJCQlmcmVlX2lycSgyMCwgJnBvcnRzWzFdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMyBJUlEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzX3JlcXVlc3RfZG1hKDQsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDMgZG1hIHRyIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNTM3LDcgKzU0MSw3IEBACiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDMgIgogCQkJCQkJIlRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc19yZXF1ZXN0X2RtYSg1LAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAzIGRtYSByZWMiLAogCQkJCQkJRE1BX1ZFUkJPU0VfT05fRVJST1IsCkBAIC01NDgsNyArNTUyLDcgQEAKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMyAiCiAJCQkJCQkiUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQkJUkVTRVRfRE1BKDQpOyBXQUlUX0RNQSg0KTsKQEAgLTU4MSw3ICs1ODUsNyBAQAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvYyAiCiAJCQkJCQkic3luYyBzZXJpYWwgbWFudWFsIGlycSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9CiAJCQl9IGVsc2UgaWYgKHBvcnQgPT0gJnBvcnRzWzFdKSB7CiAJCQkJaWYgKHJlcXVlc3RfaXJxKDgsCkBAIC01OTEsNyArNTk1LDcgQEAKIAkJCQkJCSZwb3J0c1sxXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIG1hbnVhbCBpcnEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogCQkJfQogCQkJcG9ydC0+aW5pdF9pcnFzID0gMDsKQEAgLTYyMCw3ICs2MjQsMTEgQEAKIAkJCSpSX0lSUV9NQVNLMV9TRVQgPSAxIDw8IHBvcnQtPmRhdGFfYXZhaWxfYml0OwogCQlERUJVRyhwcmludGsoS0VSTl9ERUJVRyAic3NlciVkIHJlYyBzdGFydGVkXG4iLCBkZXYpKTsKIAl9Ci0JcmV0dXJuIDA7CisJcmV0ID0gMDsKKwkKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBzeW5jX3NlcmlhbF9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvY3J5cHRvY29wLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9jcnlwdG9jb3AuYwppbmRleCA5ZmI1ODIwLi42N2M2MWVhIDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9jcnlwdG9jb3AuYworKysgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9jcnlwdG9jb3AuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RkZGVmLmg+CiAKQEAgLTIzMDIsMTEgKzIzMDMsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAotCiBzdGF0aWMgaW50IGNyeXB0b2NvcF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCWludCBwID0gaW1pbm9yKGlub2RlKTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJaWYgKHAgIT0gQ1JZUFRPQ09QX01JTk9SKSByZXR1cm4gLUVJTlZBTDsKIAogCWZpbHAtPnByaXZhdGVfZGF0YSA9IE5VTEw7CmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9pMmMuYyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL2kyYy5jCmluZGV4IGMyZmI3YTUuLjE3OWU3YjggMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL2kyYy5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL2kyYy5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9ldHJheGkyYy5oPgogCkBAIC02MzYsNiArNjM3LDcgQEAKIHN0YXRpYyBpbnQKIGkyY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtYTMvZ3Bpby5jIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvbWFjaC1hMy9ncGlvLmMKaW5kZXggZGUxMDdkYS4uZWY5ODYwOCAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvbWFjaC1hMy9ncGlvLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvbWFjaC1hMy9ncGlvLmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2V0cmF4Z3Bpby5oPgogI2luY2x1ZGUgPGh3cmVncy9yZWdfbWFwLmg+CkBAIC0zOTAsNiArMzkxLDggQEAKIAogCWlmICghcHJpdikKIAkJcmV0dXJuIC1FTk9NRU07CisKKwlsb2NrX2tlcm5lbCgpOwogCW1lbXNldChwcml2LCAwLCBzaXplb2YoKnByaXYpKTsKIAogCXByaXYtPm1pbm9yID0gcDsKQEAgLTQxMiw2ICs0MTUsNyBAQAogCQlzcGluX3VubG9ja19pcnEoJmdwaW9fbG9jayk7CiAJfQogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9tYWNoLWZzL2dwaW8uYyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtZnMvZ3Bpby5jCmluZGV4IDc4NjNmZDQuLmZlMWZkZTggMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtZnMvZ3Bpby5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtZnMvZ3Bpby5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9ldHJheGdwaW8uaD4KICNpbmNsdWRlIDxod3JlZ3MvcmVnX21hcC5oPgpAQCAtNDI2LDkgKzQyNywxMCBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXByaXYgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgZ3Bpb19wcml2YXRlKSwgR0ZQX0tFUk5FTCk7Ci0KIAlpZiAoIXByaXYpCiAJCXJldHVybiAtRU5PTUVNOworCisJbG9ja19rZXJuZWwoKTsKIAltZW1zZXQocHJpdiwgMCwgc2l6ZW9mKCpwcml2KSk7CiAKIAlwcml2LT5taW5vciA9IHA7CkBAIC00NDksNiArNDUxLDcgQEAKIAlhbGFybWxpc3QgPSBwcml2OwogCXNwaW5fdW5sb2NrX2lycSgmYWxhcm1fbG9jayk7CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL3N5bmNfc2VyaWFsLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9zeW5jX3NlcmlhbC5jCmluZGV4IDQ3YzM3N2QuLmQyYTBmYmYgMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL3N5bmNfc2VyaWFsLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvc3luY19zZXJpYWwuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtNDI5LDIzICs0MzAsMjYgQEAKIHN0YXRpYyBpbnQgc3luY19zZXJpYWxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlpbnQgZGV2ID0gaW1pbm9yKGlub2RlKTsKKwlpbnQgcmV0ID0gLUVCVVNZOwogCXN5bmNfcG9ydCAqcG9ydDsKIAlyZWdfZG1hX3J3X2NmZyBjZmcgPSB7LmVuID0gcmVna19kbWFfeWVzfTsKIAlyZWdfZG1hX3J3X2ludHJfbWFzayBpbnRyX21hc2sgPSB7LmRhdGEgPSByZWdrX2RtYV95ZXN9OwogCisJbG9ja19rZXJuZWwoKTsKIAlERUJVRyhwcmludGsoS0VSTl9ERUJVRyAiT3BlbiBzeW5jIHNlcmlhbCBwb3J0ICVkXG4iLCBkZXYpKTsKIAogCWlmIChkZXYgPCAwIHx8IGRldiA+PSBOQlJfUE9SVFMgfHwgIXBvcnRzW2Rldl0uZW5hYmxlZCkKIAl7CiAJCURFQlVHKHByaW50ayhLRVJOX0RFQlVHICJJbnZhbGlkIG1pbm9yICVkXG4iLCBkZXYpKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAlwb3J0ID0gJnBvcnRzW2Rldl07CiAJLyogQWxsb3cgb3BlbiB0aGlzIGRldmljZSB0d2ljZSAoYXNzdW1pbmcgb25lIHJlYWRlciBhbmQgb25lIHdyaXRlcikgKi8KIAlpZiAocG9ydC0+YnVzeSA9PSAyKQogCXsKIAkJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIkRldmljZSBpcyBidXN5Li4gXG4iKSk7Ci0JCXJldHVybiAtRUJVU1k7CisJCWdvdG8gb3V0OwogCX0KIAogCkBAIC00NTksNyArNDYzLDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMCBkbWEgdHIiLAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDAgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAocmVxdWVzdF9pcnEoRE1BX0lOX0lOVFJfVkVDVCwKIAkJCQkJCXJ4X2ludGVycnVwdCwKIAkJCQkJCTAsCkBAIC00NjcsNyArNDcxLDcgQEAKIAkJCQkJCSZwb3J0c1swXSkpIHsKIAkJCQkJZnJlZV9pcnEoRE1BX09VVF9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAwIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKGNyaXN2MzJfcmVxdWVzdF9kbWEoT1VUX0RNQV9OQlIsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDAgZG1hIHRyIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNDc2LDcgKzQ4MCw3IEBACiAJCQkJCWZyZWVfaXJxKERNQV9PVVRfSU5UUl9WRUNULCAmcG9ydFswXSk7CiAJCQkJCWZyZWVfaXJxKERNQV9JTl9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAwIFRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc3YzMl9yZXF1ZXN0X2RtYShJTl9ETUFfTkJSLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAwIGRtYSByZWMiLAogCQkJCQkJRE1BX1ZFUkJPU0VfT05fRVJST1IsCkBAIC00ODYsNyArNDkwLDcgQEAKIAkJCQkJZnJlZV9pcnEoRE1BX09VVF9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJZnJlZV9pcnEoRE1BX0lOX0lOVFJfVkVDVCwgJnBvcnRbMF0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDEgUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQl9CkBAIC00OTksNyArNTAzLDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMSBkbWEgdHIiLAogCQkJCQkJJnBvcnRzWzFdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDEgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAocmVxdWVzdF9pcnEoRE1BN19JTlRSX1ZFQ1QsCiAJCQkJCQkgICAgICAgcnhfaW50ZXJydXB0LAogCQkJCQkJICAgICAgIDAsCkBAIC01MDcsNyArNTExLDcgQEAKIAkJCQkJCSAgICAgICAmcG9ydHNbMV0pKSB7CiAJCQkJCWZyZWVfaXJxKERNQTZfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDMgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc3YzMl9yZXF1ZXN0X2RtYSgKIAkJCQkJCVNZTkNfU0VSMV9UWF9ETUFfTkJSLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAxIGRtYSB0ciIsCkBAIC01MTcsNyArNTIxLDcgQEAKIAkJCQkJZnJlZV9pcnEoRE1BNl9JTlRSX1ZFQ1QsICZwb3J0c1sxXSk7CiAJCQkJCWZyZWVfaXJxKERNQTdfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDMgVFggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzdjMyX3JlcXVlc3RfZG1hKAogCQkJCQkJU1lOQ19TRVIxX1JYX0RNQV9OQlIsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDMgZG1hIHJlYyIsCkBAIC01MjgsNyArNTMyLDcgQEAKIAkJCQkJZnJlZV9pcnEoRE1BNl9JTlRSX1ZFQ1QsICZwb3J0c1sxXSk7CiAJCQkJCWZyZWVfaXJxKERNQTdfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDMgUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQl9CkBAIC01NTQsNyArNTU4LDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgbWFudWFsIGlycSIsCiAJCQkJCQkmcG9ydHNbMF0pKSB7CiAJCQkJCXByaW50aygiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgbWFudWFsIGlycSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9CiAJCQl9CiAjaWZkZWYgQ09ORklHX0VUUkFYRlMKQEAgLTU2NSw3ICs1NjksNyBAQAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCBtYW51YWwgaXJxIiwKIAkJCQkJCSZwb3J0c1sxXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgbWFudWFsIGlycSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9CiAJCQl9CiAjZW5kaWYKQEAgLTU3OCw3ICs1ODIsMTAgQEAKIAl9IC8qIHBvcnQtPmluaXRfaXJxcyAqLwogCiAJcG9ydC0+YnVzeSsrOwotCXJldHVybiAwOworCXJldCA9IDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgc3luY19zZXJpYWxfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9rZXJuZWwvc21wLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIva2VybmVsL3NtcC5jCmluZGV4IGE5YzMzMzQuLjk1MmEyNGIgMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2tlcm5lbC9zbXAuYwpAQCAtMTk0LDcgKzE5NCw3IEBACiAvKiBPdGhlciBjYWxscyAqLwogdm9pZCBzbXBfc2VuZF9zdG9wKHZvaWQpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc3RvcF90aGlzX2NwdSwgTlVMTCwgMSwgMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oc3RvcF90aGlzX2NwdSwgTlVMTCwgMCk7CiB9CiAKIGludCBzZXR1cF9wcm9maWxpbmdfdGltZXIodW5zaWduZWQgaW50IG11bHRpcGxpZXIpCkBAIC0zMTYsOCArMzE2LDcgQEAKICAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzIG9yIGZyb20gYQogICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuCiAgKi8KLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCSAgICAgIGludCBub25hdG9taWMsIGludCB3YWl0KQoraW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpCiB7CiAJY3B1bWFza190IGNwdV9tYXNrID0gQ1BVX01BU0tfQUxMOwogCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7CmRpZmYgLS1naXQgYS9hcmNoL2lhNjQvS2NvbmZpZyBiL2FyY2gvaWE2NC9LY29uZmlnCmluZGV4IDE2YmU0MTQuLjE4YmNjMTAgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9LY29uZmlnCisrKyBiL2FyY2gvaWE2NC9LY29uZmlnCkBAIC0zMDMsNiArMzAzLDcgQEAKIAogY29uZmlnIFNNUAogCWJvb2wgIlN5bW1ldHJpYyBtdWx0aS1wcm9jZXNzaW5nIHN1cHBvcnQiCisJc2VsZWN0IFVTRV9HRU5FUklDX1NNUF9IRUxQRVJTCiAJaGVscAogCSAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIHN5c3RlbXMgd2l0aCBtb3JlIHRoYW4gb25lIENQVS4gSWYgeW91IGhhdmUKIAkgIGEgc3lzdGVtIHdpdGggb25seSBvbmUgQ1BVLCBzYXkgTi4gIElmIHlvdSBoYXZlIGEgc3lzdGVtIHdpdGggbW9yZQpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9tY2EuYyBiL2FyY2gvaWE2NC9rZXJuZWwvbWNhLmMKaW5kZXggNzA1MTc2Yi4uN2RkOTZjMSAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC9tY2EuYworKysgYi9hcmNoL2lhNjQva2VybmVsL21jYS5jCkBAIC03MDcsNyArNzA3LDcgQEAKIHN0YXRpYyB2b2lkCiBpYTY0X21jYV9jbWNfdmVjdG9yX2Rpc2FibGVfa2V2ZW50ZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKnVudXNlZCkKIHsKLQlvbl9lYWNoX2NwdShpYTY0X21jYV9jbWNfdmVjdG9yX2Rpc2FibGUsIE5VTEwsIDEsIDApOworCW9uX2VhY2hfY3B1KGlhNjRfbWNhX2NtY192ZWN0b3JfZGlzYWJsZSwgTlVMTCwgMCk7CiB9CiAKIC8qCkBAIC03MTksNyArNzE5LDcgQEAKIHN0YXRpYyB2b2lkCiBpYTY0X21jYV9jbWNfdmVjdG9yX2VuYWJsZV9rZXZlbnRkKHN0cnVjdCB3b3JrX3N0cnVjdCAqdW51c2VkKQogewotCW9uX2VhY2hfY3B1KGlhNjRfbWNhX2NtY192ZWN0b3JfZW5hYmxlLCBOVUxMLCAxLCAwKTsKKwlvbl9lYWNoX2NwdShpYTY0X21jYV9jbWNfdmVjdG9yX2VuYWJsZSwgTlVMTCwgMCk7CiB9CiAKIC8qCkBAIC0xODgxLDcgKzE4ODEsNyBAQAogCWNhc2UgQ1BVX09OTElORToKIAljYXNlIENQVV9PTkxJTkVfRlJPWkVOOgogCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaG90Y3B1LCBpYTY0X21jYV9jbWNfdmVjdG9yX2FkanVzdCwKLQkJCQkJIE5VTEwsIDEsIDApOworCQkJCQkgTlVMTCwgMCk7CiAJCWJyZWFrOwogCX0KIAlyZXR1cm4gTk9USUZZX09LOwpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9wYWxpbmZvLmMgYi9hcmNoL2lhNjQva2VybmVsL3BhbGluZm8uYwppbmRleCA5ZGMwMGY3Li5lNWM1N2Y0IDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2VybmVsL3BhbGluZm8uYworKysgYi9hcmNoL2lhNjQva2VybmVsL3BhbGluZm8uYwpAQCAtOTIxLDcgKzkyMSw3IEBACiAKIAogCS8qIHdpbGwgc2VuZCBJUEkgdG8gb3RoZXIgQ1BVIGFuZCB3YWl0IGZvciBjb21wbGV0aW9uIG9mIHJlbW90ZSBjYWxsICovCi0JaWYgKChyZXQ9c21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGYtPnJlcV9jcHUsIHBhbGluZm9fc21wX2NhbGwsICZwdHIsIDAsIDEpKSkgeworCWlmICgocmV0PXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShmLT5yZXFfY3B1LCBwYWxpbmZvX3NtcF9jYWxsLCAmcHRyLCAxKSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJwYWxpbmZvOiByZW1vdGUgQ1BVIGNhbGwgZnJvbSAlZCB0byAlZCBvbiBmdW5jdGlvbiAlZDogIgogCQkgICAgICAgImVycm9yICVkXG4iLCBzbXBfcHJvY2Vzc29yX2lkKCksIGYtPnJlcV9jcHUsIGYtPmZ1bmNfaWQsIHJldCk7CiAJCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9wZXJmbW9uLmMgYi9hcmNoL2lhNjQva2VybmVsL3BlcmZtb24uYwppbmRleCA3NzE0YTk3Li4xOWQ0NDkzIDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2VybmVsL3BlcmZtb24uYworKysgYi9hcmNoL2lhNjQva2VybmVsL3BlcmZtb24uYwpAQCAtMTgyMCw3ICsxODIwLDcgQEAKIAlpbnQgcmV0OwogCiAJRFBSSU5UKCgiY2FsbGluZyBDUFUlZCBmb3IgY2xlYW51cFxuIiwgY3R4LT5jdHhfY3B1KSk7Ci0JcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGN0eC0+Y3R4X2NwdSwgcGZtX3N5c3dpZGVfZm9yY2Vfc3RvcCwgY3R4LCAwLCAxKTsKKwlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3R4LT5jdHhfY3B1LCBwZm1fc3lzd2lkZV9mb3JjZV9zdG9wLCBjdHgsIDEpOwogCURQUklOVCgoImNhbGxlZCBDUFUlZCBmb3IgY2xlYW51cCByZXQ9JWRcbiIsIGN0eC0+Y3R4X2NwdSwgcmV0KSk7CiB9CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwpAQCAtNjUwOCw3ICs2NTA4LDcgQEAKIAl9CiAKIAkvKiBzYXZlIHRoZSBjdXJyZW50IHN5c3RlbSB3aWRlIHBtdSBzdGF0ZXMgKi8KLQlyZXQgPSBvbl9lYWNoX2NwdShwZm1fYWx0X3NhdmVfcG11X3N0YXRlLCBOVUxMLCAwLCAxKTsKKwlyZXQgPSBvbl9lYWNoX2NwdShwZm1fYWx0X3NhdmVfcG11X3N0YXRlLCBOVUxMLCAxKTsKIAlpZiAocmV0KSB7CiAJCURQUklOVCgoIm9uX2VhY2hfY3B1KCkgZmFpbGVkOiAlZFxuIiwgcmV0KSk7CiAJCWdvdG8gY2xlYW51cF9yZXNlcnZlOwpAQCAtNjU1Myw3ICs2NTUzLDcgQEAKIAogCXBmbV9hbHRfaW50cl9oYW5kbGVyID0gTlVMTDsKIAotCXJldCA9IG9uX2VhY2hfY3B1KHBmbV9hbHRfcmVzdG9yZV9wbXVfc3RhdGUsIE5VTEwsIDAsIDEpOworCXJldCA9IG9uX2VhY2hfY3B1KHBmbV9hbHRfcmVzdG9yZV9wbXVfc3RhdGUsIE5VTEwsIDEpOwogCWlmIChyZXQpIHsKIAkJRFBSSU5UKCgib25fZWFjaF9jcHUoKSBmYWlsZWQ6ICVkXG4iLCByZXQpKTsKIAl9CmRpZmYgLS1naXQgYS9hcmNoL2lhNjQva2VybmVsL3Byb2Nlc3MuYyBiL2FyY2gvaWE2NC9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IGEzYTM0YjQuLmZhYmFmMDggMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvcHJvY2Vzcy5jCisrKyBiL2FyY2gvaWE2NC9rZXJuZWwvcHJvY2Vzcy5jCkBAIC0yODYsNyArMjg2LDcgQEAKIHsKIAlzbXBfbWIoKTsKIAkvKiBraWNrIGFsbCB0aGUgQ1BVcyBzbyB0aGF0IHRoZXkgZXhpdCBvdXQgb2YgcG1faWRsZSAqLwotCXNtcF9jYWxsX2Z1bmN0aW9uKGRvX25vdGhpbmcsIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGRvX25vdGhpbmcsIE5VTEwsIDEpOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoY3B1X2lkbGVfd2FpdCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwvc21wLmMgYi9hcmNoL2lhNjQva2VybmVsL3NtcC5jCmluZGV4IDk4MzI5NmYuLjM2NzY0NjggMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9zbXAuYwpAQCAtNjAsMjUgKzYwLDkgQEAKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGludCwgc2hhZG93X2ZsdXNoX2NvdW50c1tOUl9DUFVTXSkgX19fX2NhY2hlbGluZV9hbGlnbmVkOwogCi0KLS8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2Ugc3RhdGljIG1lbW9yeQotICogcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKi8KLXN0YXRpYyAgX19jYWNoZWxpbmVfYWxpZ25lZCBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlsb25nIHdhaXQ7Ci0JYXRvbWljX3Qgc3RhcnRlZDsKLQlhdG9taWNfdCBmaW5pc2hlZDsKLX07Ci0KLXN0YXRpYyB2b2xhdGlsZSBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqY2FsbF9kYXRhOwotCiAjZGVmaW5lIElQSV9DQUxMX0ZVTkMJCTAKICNkZWZpbmUgSVBJX0NQVV9TVE9QCQkxCisjZGVmaW5lIElQSV9DQUxMX0ZVTkNfU0lOR0xFCTIKICNkZWZpbmUgSVBJX0tEVU1QX0NQVV9TVE9QCTMKIAogLyogVGhpcyBuZWVkcyB0byBiZSBjYWNoZWxpbmUgYWxpZ25lZCBiZWNhdXNlIGl0IGlzIHdyaXR0ZW4gdG8gYnkgKm90aGVyKiBDUFVzLiAgKi8KQEAgLTg2LDQzICs3MCw2IEBACiAKIGV4dGVybiB2b2lkIGNwdV9oYWx0ICh2b2lkKTsKIAotdm9pZAotbG9ja19pcGlfY2FsbGxvY2sodm9pZCkKLXsKLQlzcGluX2xvY2tfaXJxKCZjYWxsX2xvY2spOwotfQotCi12b2lkCi11bmxvY2tfaXBpX2NhbGxsb2NrKHZvaWQpCi17Ci0Jc3Bpbl91bmxvY2tfaXJxKCZjYWxsX2xvY2spOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQKLWhhbmRsZV9jYWxsX2RhdGEodm9pZCkKLXsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqZGF0YTsKLQl2b2lkICgqZnVuYykodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlpbnQgd2FpdDsKLQotCS8qIHJlbGVhc2UgdGhlICdwb2ludGVyIGxvY2snICovCi0JZGF0YSA9IChzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqKWNhbGxfZGF0YTsKLQlmdW5jID0gZGF0YS0+ZnVuYzsKLQlpbmZvID0gZGF0YS0+aW5mbzsKLQl3YWl0ID0gZGF0YS0+d2FpdDsKLQotCW1iKCk7Ci0JYXRvbWljX2luYygmZGF0YS0+c3RhcnRlZCk7Ci0JLyogQXQgdGhpcyBwb2ludCB0aGUgc3RydWN0dXJlIG1heSBiZSBnb25lIHVubGVzcyB3YWl0IGlzIHRydWUuICovCi0JKCpmdW5jKShpbmZvKTsKLQotCS8qIE5vdGlmeSB0aGUgc2VuZGluZyBDUFUgdGhhdCB0aGUgdGFzayBpcyBkb25lLiAqLwotCW1iKCk7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19pbmMoJmRhdGEtPmZpbmlzaGVkKTsKLX0KLQogc3RhdGljIHZvaWQKIHN0b3BfdGhpc19jcHUodm9pZCkKIHsKQEAgLTE2MywxMyArMTEwLDE1IEBACiAJCQlvcHMgJj0gfigxIDw8IHdoaWNoKTsKIAogCQkJc3dpdGNoICh3aGljaCkgewotCQkJY2FzZSBJUElfQ0FMTF9GVU5DOgotCQkJCWhhbmRsZV9jYWxsX2RhdGEoKTsKLQkJCQlicmVhazsKLQogCQkJY2FzZSBJUElfQ1BVX1NUT1A6CiAJCQkJc3RvcF90aGlzX2NwdSgpOwogCQkJCWJyZWFrOworCQkJY2FzZSBJUElfQ0FMTF9GVU5DOgorCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CisJCQkJYnJlYWs7CisJCQljYXNlIElQSV9DQUxMX0ZVTkNfU0lOR0xFOgorCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCQkJCWJyZWFrOwogI2lmZGVmIENPTkZJR19LRVhFQwogCQkJY2FzZSBJUElfS0RVTVBfQ1BVX1NUT1A6CiAJCQkJdW53X2luaXRfcnVubmluZyhrZHVtcF9jcHVfZnJlZXplLCBOVUxMKTsKQEAgLTE4Nyw2ICsxMzYsOCBAQAogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAorCisKIC8qCiAgKiBDYWxsZWQgd2l0aCBwcmVlbXB0aW9uIGRpc2FibGVkLgogICovCkBAIC0zMzQsNyArMjg1LDcgQEAKIHZvaWQKIHNtcF9mbHVzaF90bGJfYWxsICh2b2lkKQogewotCW9uX2VhY2hfY3B1KCh2b2lkICgqKSh2b2lkICopKWxvY2FsX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KCh2b2lkICgqKSh2b2lkICopKWxvY2FsX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpOwogfQogCiB2b2lkCkBAIC0zNTcsMTkzICszMDgsMTggQEAKIAkgKiBhbnlob3csIGFuZCBvbmNlIGEgQ1BVIGlzIGludGVycnVwdGVkLCB0aGUgY29zdCBvZiBsb2NhbF9mbHVzaF90bGJfYWxsKCkgaXMKIAkgKiByYXRoZXIgdHJpdmlhbC4KIAkgKi8KLQlvbl9lYWNoX2NwdSgodm9pZCAoKikodm9pZCAqKSlsb2NhbF9maW5pc2hfZmx1c2hfdGxiX21tLCBtbSwgMSwgMSk7CisJb25fZWFjaF9jcHUoKHZvaWQgKCopKHZvaWQgKikpbG9jYWxfZmluaXNoX2ZsdXNoX3RsYl9tbSwgbW0sIDEpOwogfQogCi0vKgotICogUnVuIGEgZnVuY3Rpb24gb24gYSBzcGVjaWZpYyBDUFUKLSAqICA8ZnVuYz4JVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqICA8aW5mbz4JQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiAgPG5vbmF0b21pYz4JQ3VycmVudGx5IHVudXNlZC4KLSAqICA8d2FpdD4JSWYgdHJ1ZSwgd2FpdCB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKiAgW1JFVFVSTlNdICAgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogRG9lcyBub3QgcmV0dXJuIHVudGlsIHRoZSByZW1vdGUgQ1BVIGlzIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDxmdW5jPgotICogb3IgaXMgb3IgaGFzIGV4ZWN1dGVkLgotICovCi0KLWludAotc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlIChpbnQgY3B1aWQsIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JCQkgIGludCB3YWl0KQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQlpbnQgY3B1cyA9IDE7Ci0JaW50IG1lID0gZ2V0X2NwdSgpOyAvKiBwcmV2ZW50IHByZWVtcHRpb24gYW5kIHJlc2NoZWR1bGUgb24gYW5vdGhlciBwcm9jZXNzb3IgKi8KLQotCWlmIChjcHVpZCA9PSBtZSkgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JCXB1dF9jcHUoKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQlzcGluX2xvY2tfYmgoJmNhbGxfbG9jayk7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQltYigpOwkvKiBlbnN1cmUgc3RvcmUgdG8gY2FsbF9kYXRhIHByZWNlZGVzIHNldHRpbmcgb2YgSVBJX0NBTExfRlVOQyAqLwotICAJc2VuZF9JUElfc2luZ2xlKGNwdWlkLCBJUElfQ0FMTF9GVU5DKTsKLQotCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IGNwdXMpCi0JCWNwdV9yZWxheCgpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWNwdV9yZWxheCgpOwotCWNhbGxfZGF0YSA9IE5VTEw7Ci0KLQlzcGluX3VubG9ja19iaCgmY2FsbF9sb2NrKTsKLQlwdXRfY3B1KCk7Ci0JcmV0dXJuIDA7CisJc2VuZF9JUElfc2luZ2xlKGNwdSwgSVBJX0NBTExfRlVOQ19TSU5HTEUpOwogfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwogCi0vKioKLSAqIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soKTogUnVuIGEgZnVuY3Rpb24gb24gYSBzZXQgb2Ygb3RoZXIgQ1BVcy4KLSAqIDxtYXNrPglUaGUgc2V0IG9mIGNwdXMgdG8gcnVuIG9uLiAgTXVzdCBub3QgaW5jbHVkZSB0aGUgY3VycmVudCBjcHUuCi0gKiA8ZnVuYz4gCVRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiA8aW5mbz4JQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiA8d2FpdD4JSWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24KLSAqCQloYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKgotICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBJZiBAd2FpdCBpcyB0cnVlLCB0aGVuIHJldHVybnMgb25jZSBAZnVuYyBoYXMgcmV0dXJuZWQ7IG90aGVyd2lzZQotICogaXQgcmV0dXJucyBqdXN0IGJlZm9yZSB0aGUgdGFyZ2V0IGNwdSBjYWxscyBAZnVuYy4KLSAqCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywKLQkJCSAgIHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICppbmZvLAotCQkJICAgaW50IHdhaXQpCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKIHsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwotCWNwdW1hc2tfdCBhbGxidXRzZWxmOwotCWludCBjcHVzOwotCi0Jc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwotCWFsbGJ1dHNlbGYgPSBjcHVfb25saW5lX21hcDsKLQljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBhbGxidXRzZWxmKTsKLQotCWNwdXNfYW5kKG1hc2ssIG1hc2ssIGFsbGJ1dHNlbGYpOwotCWNwdXMgPSBjcHVzX3dlaWdodChtYXNrKTsKLQlpZiAoIWNwdXMpIHsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCW1iKCk7IC8qIGVuc3VyZSBzdG9yZSB0byBjYWxsX2RhdGEgcHJlY2VkZXMgc2V0dGluZyBvZiBJUElfQ0FMTF9GVU5DKi8KLQotCS8qIFNlbmQgYSBtZXNzYWdlIHRvIG90aGVyIENQVXMgKi8KLQlpZiAoY3B1c19lcXVhbChtYXNrLCBhbGxidXRzZWxmKSkKLQkJc2VuZF9JUElfYWxsYnV0c2VsZihJUElfQ0FMTF9GVU5DKTsKLQllbHNlCi0JCXNlbmRfSVBJX21hc2sobWFzaywgSVBJX0NBTExfRlVOQyk7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzKQotCQljcHVfcmVsYXgoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IGNwdXMpCi0JCQljcHVfcmVsYXgoKTsKLQljYWxsX2RhdGEgPSBOVUxMOwotCi0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JcmV0dXJuIDA7Ci0KKwlzZW5kX0lQSV9tYXNrKG1hc2ssIElQSV9DQUxMX0ZVTkMpOwogfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKTsKLQotLyoKLSAqIHRoaXMgZnVuY3Rpb24gc2VuZHMgYSAnZ2VuZXJpYyBjYWxsIGZ1bmN0aW9uJyBJUEkgdG8gYWxsIG90aGVyIENQVXMKLSAqIGluIHRoZSBzeXN0ZW0uCi0gKi8KLQotLyoKLSAqICBbU1VNTUFSWV0JUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCi0gKiAgPGZ1bmM+CVRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiAgPGluZm8+CUFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogIDxub25hdG9taWM+CWN1cnJlbnRseSB1bnVzZWQuCi0gKiAgPHdhaXQ+CUlmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqICBbUkVUVVJOU10gICAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBEb2VzIG5vdCByZXR1cm4gdW50aWwgcmVtb3RlIENQVXMgYXJlIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDxmdW5jPiBvciBhcmUgb3IgaGF2ZQotICogZXhlY3V0ZWQuCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotaW50Ci1zbXBfY2FsbF9mdW5jdGlvbiAodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCi17Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQlpbnQgY3B1czsKLQotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQljcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwotCWlmICghY3B1cykgewotCQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlhdG9taWNfc2V0KCZkYXRhLnN0YXJ0ZWQsIDApOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19zZXQoJmRhdGEuZmluaXNoZWQsIDApOwotCi0JY2FsbF9kYXRhID0gJmRhdGE7Ci0JbWIoKTsJLyogZW5zdXJlIHN0b3JlIHRvIGNhbGxfZGF0YSBwcmVjZWRlcyBzZXR0aW5nIG9mIElQSV9DQUxMX0ZVTkMgKi8KLQlzZW5kX0lQSV9hbGxidXRzZWxmKElQSV9DQUxMX0ZVTkMpOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJY3B1X3JlbGF4KCk7Ci0KLQlpZiAod2FpdCkKLQkJd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLmZpbmlzaGVkKSAhPSBjcHVzKQotCQkJY3B1X3JlbGF4KCk7Ci0JY2FsbF9kYXRhID0gTlVMTDsKLQotCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCXJldHVybiAwOwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbik7CiAKIC8qCiAgKiB0aGlzIGZ1bmN0aW9uIGNhbGxzIHRoZSAnc3RvcCcgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMgaW4gdGhlIHN5c3RlbS4KZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwvc21wYm9vdC5jIGIvYXJjaC9pYTY0L2tlcm5lbC9zbXBib290LmMKaW5kZXggZDdhZDQyYi4uOWQxZDQyOSAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC9zbXBib290LmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9zbXBib290LmMKQEAgLTMxNyw3ICszMTcsNyBAQAogCiAJZ29bTUFTVEVSXSA9IDE7CiAKLQlpZiAoc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKG1hc3Rlciwgc3luY19tYXN0ZXIsIE5VTEwsIDEsIDApIDwgMCkgeworCWlmIChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUobWFzdGVyLCBzeW5jX21hc3RlciwgTlVMTCwgMCkgPCAwKSB7CiAJCXByaW50ayhLRVJOX0VSUiAic3luY19pdGM6IGZhaWxlZCB0byBnZXQgYXR0ZW50aW9uIG9mIENQVSAldSFcbiIsIG1hc3Rlcik7CiAJCXJldHVybjsKIAl9CkBAIC0zOTUsMTQgKzM5NSwxNCBAQAogCiAJZml4X2IwX2Zvcl9ic3AoKTsKIAotCWxvY2tfaXBpX2NhbGxsb2NrKCk7CisJaXBpX2NhbGxfbG9ja19pcnEoKTsKIAlzcGluX2xvY2soJnZlY3Rvcl9sb2NrKTsKIAkvKiBTZXR1cCB0aGUgcGVyIGNwdSBpcnEgaGFuZGxpbmcgZGF0YSBzdHJ1Y3R1cmVzICovCiAJX19zZXR1cF92ZWN0b3JfaXJxKGNwdWlkKTsKIAljcHVfc2V0KGNwdWlkLCBjcHVfb25saW5lX21hcCk7CiAJcGVyX2NwdShjcHVfc3RhdGUsIGNwdWlkKSA9IENQVV9PTkxJTkU7CiAJc3Bpbl91bmxvY2soJnZlY3Rvcl9sb2NrKTsKLQl1bmxvY2tfaXBpX2NhbGxsb2NrKCk7CisJaXBpX2NhbGxfdW5sb2NrX2lycSgpOwogCiAJc21wX3NldHVwX3BlcmNwdV90aW1lcigpOwogCmRpZmYgLS1naXQgYS9hcmNoL2lhNjQva2VybmVsL3VuY2FjaGVkLmMgYi9hcmNoL2lhNjQva2VybmVsL3VuY2FjaGVkLmMKaW5kZXggZTc3OTk1YS4uOGVmZjhjMSAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC91bmNhY2hlZC5jCisrKyBiL2FyY2gvaWE2NC9rZXJuZWwvdW5jYWNoZWQuYwpAQCAtMTIzLDggKzEyMyw3IEBACiAJc3RhdHVzID0gaWE2NF9wYWxfcHJlZmV0Y2hfdmlzaWJpbGl0eShQQUxfVklTSUJJTElUWV9QSFlTSUNBTCk7CiAJaWYgKHN0YXR1cyA9PSBQQUxfVklTSUJJTElUWV9PS19SRU1PVEVfTkVFREVEKSB7CiAJCWF0b21pY19zZXQoJnVjX3Bvb2wtPnN0YXR1cywgMCk7Ci0JCXN0YXR1cyA9IHNtcF9jYWxsX2Z1bmN0aW9uKHVuY2FjaGVkX2lwaV92aXNpYmlsaXR5LCB1Y19wb29sLAotCQkJCQkgICAwLCAxKTsKKwkJc3RhdHVzID0gc21wX2NhbGxfZnVuY3Rpb24odW5jYWNoZWRfaXBpX3Zpc2liaWxpdHksIHVjX3Bvb2wsIDEpOwogCQlpZiAoc3RhdHVzIHx8IGF0b21pY19yZWFkKCZ1Y19wb29sLT5zdGF0dXMpKQogCQkJZ290byBmYWlsZWQ7CiAJfSBlbHNlIGlmIChzdGF0dXMgIT0gUEFMX1ZJU0lCSUxJVFlfT0spCkBAIC0xNDYsNyArMTQ1LDcgQEAKIAlpZiAoc3RhdHVzICE9IFBBTF9TVEFUVVNfU1VDQ0VTUykKIAkJZ290byBmYWlsZWQ7CiAJYXRvbWljX3NldCgmdWNfcG9vbC0+c3RhdHVzLCAwKTsKLQlzdGF0dXMgPSBzbXBfY2FsbF9mdW5jdGlvbih1bmNhY2hlZF9pcGlfbWNfZHJhaW4sIHVjX3Bvb2wsIDAsIDEpOworCXN0YXR1cyA9IHNtcF9jYWxsX2Z1bmN0aW9uKHVuY2FjaGVkX2lwaV9tY19kcmFpbiwgdWNfcG9vbCwgMSk7CiAJaWYgKHN0YXR1cyB8fCBhdG9taWNfcmVhZCgmdWNfcG9vbC0+c3RhdHVzKSkKIAkJZ290byBmYWlsZWQ7CiAKZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9zbi9rZXJuZWwvaXJxLmMgYi9hcmNoL2lhNjQvc24va2VybmVsL2lycS5jCmluZGV4IDUzMzUxYzMuLjk2YzMxYjQgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9zbi9rZXJuZWwvaXJxLmMKKysrIGIvYXJjaC9pYTY0L3NuL2tlcm5lbC9pcnEuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxhc20vc24vYWRkcnMuaD4KICNpbmNsdWRlIDxhc20vc24vYXJjaC5oPgogI2luY2x1ZGUgPGFzbS9zbi9pbnRyLmg+CmRpZmYgLS1naXQgYS9hcmNoL2lhNjQvc24va2VybmVsL3NuMi9zbl9od3BlcmYuYyBiL2FyY2gvaWE2NC9zbi9rZXJuZWwvc24yL3NuX2h3cGVyZi5jCmluZGV4IDhjYzBjNDcuLjYzNjU4OGUgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9zbi9rZXJuZWwvc24yL3NuX2h3cGVyZi5jCisrKyBiL2FyY2gvaWE2NC9zbi9rZXJuZWwvc24yL3NuX2h3cGVyZi5jCkBAIC02MjksNyArNjI5LDcgQEAKIAkJaWYgKHVzZV9pcGkpIHsKIAkJCS8qIHVzZSBhbiBpbnRlcnByb2Nlc3NvciBpbnRlcnJ1cHQgdG8gY2FsbCBTQUwgKi8KIAkJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIHNuX2h3cGVyZl9jYWxsX3NhbCwKLQkJCQlvcF9pbmZvLCAxLCAxKTsKKwkJCQlvcF9pbmZvLCAxKTsKIAkJfQogCQllbHNlIHsKIAkJCS8qIG1pZ3JhdGUgdGhlIHRhc2sgYmVmb3JlIGNhbGxpbmcgU0FMICovIApkaWZmIC0tZ2l0IGEvYXJjaC9tMzJyL0tjb25maWcgYi9hcmNoL20zMnIvS2NvbmZpZwppbmRleCBkZTE1M2RlLi5hNWY4NjRjIDEwMDY0NAotLS0gYS9hcmNoL20zMnIvS2NvbmZpZworKysgYi9hcmNoL20zMnIvS2NvbmZpZwpAQCAtMjk2LDYgKzI5Niw3IEBACiAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL20zMnIva2VybmVsL20zMnJfa3N5bXMuYyBiL2FyY2gvbTMyci9rZXJuZWwvbTMycl9rc3ltcy5jCmluZGV4IGU2NzA5ZmUuLjE2YmNiMTggMTAwNjQ0Ci0tLSBhL2FyY2gvbTMyci9rZXJuZWwvbTMycl9rc3ltcy5jCisrKyBiL2FyY2gvbTMyci9rZXJuZWwvbTMycl9rc3ltcy5jCkBAIC00Myw5ICs0Myw2IEBACiAjZW5kaWYKIEVYUE9SVF9TWU1CT0woY3B1X2RhdGEpOwogCi0vKiBHbG9iYWwgU01QIHN0dWZmICovCi1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uKTsKLQogLyogVExCIGZsdXNoaW5nICovCiBFWFBPUlRfU1lNQk9MKHNtcF9mbHVzaF90bGJfcGFnZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvbTMyci9rZXJuZWwvc21wLmMgYi9hcmNoL20zMnIva2VybmVsL3NtcC5jCmluZGV4IGM4MzdiYzEzLi43NTc3Zjk3IDEwMDY0NAotLS0gYS9hcmNoL20zMnIva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvbTMyci9rZXJuZWwvc21wLmMKQEAgLTM1LDIyICszNSw2IEBACiAvKj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSovCiAKIC8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2UKLSAqIHN0YXRpYyBtZW1vcnkgcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlhdG9taWNfdCBzdGFydGVkOwotCWF0b21pY190IGZpbmlzaGVkOwotCWludCB3YWl0OwotfSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18oU01QX0NBQ0hFX0JZVEVTKSkpOwotCi1zdGF0aWMgc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKLQotLyoKICAqIEZvciBmbHVzaF9jYWNoZV9hbGwoKQogICovCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGZsdXNoY2FjaGVfbG9jayk7CkBAIC05Niw5ICs4MCw2IEBACiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCk7CiBzdGF0aWMgdm9pZCBzdG9wX3RoaXNfY3B1KHZvaWQgKik7CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqKSAodm9pZCAqKSwgdm9pZCAqLCBpbnQsIGludCk7Ci12b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLQogdm9pZCBzbXBfc2VuZF90aW1lcih2b2lkKTsKIHZvaWQgc21wX2lwaV90aW1lcl9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKik7CiB2b2lkIHNtcF9sb2NhbF90aW1lcl9pbnRlcnJ1cHQodm9pZCk7CkBAIC0yMzEsNyArMjEyLDcgQEAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJX19mbHVzaF90bGJfYWxsKCk7CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9hbGxfaXBpLCBOVUxMLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfYWxsX2lwaSwgTlVMTCwgMSk7CiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KIApAQCAtNTI0LDcgKzUwNSw3IEBACiAgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIHZvaWQgc21wX3NlbmRfc3RvcCh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDEsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogfQogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KgpAQCAtNTY1LDg2ICs1NDYsMTQgQEAKIAlmb3IgKCA7IDsgKTsKIH0KIAotLyo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qLwotLyogQ2FsbCBmdW5jdGlvbiBSb3V0aW5lcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qLwotCi0vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KgotICogTmFtZTogICAgICAgICBzbXBfY2FsbF9mdW5jdGlvbgotICoKLSAqIERlc2NyaXB0aW9uOiAgVGhpcyByb3V0aW5lIHNlbmRzIGEgJ0NBTExfRlVOQ1RJT05fSVBJJyB0byBhbGwgb3RoZXIgQ1BVcwotICogICAgICAgICAgICAgICBpbiB0aGUgc3lzdGVtLgotICoKLSAqIEJvcm4gb24gRGF0ZTogMjAwMi4wMi4wNQotICoKLSAqIEFyZ3VtZW50czogICAgKmZ1bmMgLSBUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQKLSAqICAgICAgICAgICAgICAgICAgICAgICBub24tYmxvY2tpbmcuCi0gKiAgICAgICAgICAgICAgICppbmZvIC0gQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiAgICAgICAgICAgICAgIG5vbmF0b21pYyAtIGN1cnJlbnRseSB1bnVzZWQuCi0gKiAgICAgICAgICAgICAgIHdhaXQgLSBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMKLSAqICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICoKLSAqIFJldHVybnM6ICAgICAgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuIERvZXMgbm90IHJldHVybgotICogICAgICAgICAgICAgICB1bnRpbCByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPDxmdW5jPj4gb3IKLSAqICAgICAgICAgICAgICAgYXJlIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKgotICogQ2F1dGlvbnM6ICAgICBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvcgotICogICAgICAgICAgICAgICBmcm9tIGEgaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIsIHlvdSBtYXkgY2FsbCBpdCBmcm9tIGEKLSAqICAgICAgICAgICAgICAgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqCi0gKiBNb2RpZmljYXRpb24gbG9nOgotICogRGF0ZSAgICAgICBXaG8gRGVzY3JpcHRpb24KLSAqIC0tLS0tLS0tLS0gLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKgotICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywKLQlpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IGNwdXM7CisJc2VuZF9JUElfbWFzayhtYXNrLCBDQUxMX0ZVTkNUSU9OX0lQSSwgMCk7Cit9CiAKLSNpZmRlZiBERUJVR19TTVAKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCV9fc2F2ZV9mbGFncyhmbGFncyk7Ci0JaWYgKCEoZmxhZ3MgJiAweDAwNDApKQkvKiBJbnRlcnJ1cHQgRGlzYWJsZSBOT05PTk8gKi8KLQkJQlVHKCk7Ci0jZW5kaWYgLyogREVCVUdfU01QICovCi0KLQkvKiBIb2xkaW5nIGFueSBsb2NrIHN0b3BzIGNwdXMgZnJvbSBnb2luZyBkb3duLiAqLwotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQljcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwotCi0JaWYgKCFjcHVzKSB7Ci0JCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQltYigpOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIG90aGVyIENQVXMgYW5kIHdhaXQgZm9yIHRoZW0gdG8gcmVzcG9uZCAqLwotCXNlbmRfSVBJX2FsbGJ1dHNlbGYoQ0FMTF9GVU5DVElPTl9JUEksIDApOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJYmFycmllcigpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWJhcnJpZXIoKTsKLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOwordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCit7CisJc2VuZF9JUElfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBDQUxMX0ZVTkNfU0lOR0xFX0lQSSwgMCk7CiB9CiAKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qCkBAIC02NjYsMjcgKzU3NSwxNiBAQAogICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKQogewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbykgPSBjYWxsX2RhdGEtPmZ1bmM7Ci0Jdm9pZCAqaW5mbyA9IGNhbGxfZGF0YS0+aW5mbzsKLQlpbnQgd2FpdCA9IGNhbGxfZGF0YS0+d2FpdDsKLQotCS8qCi0JICogTm90aWZ5IGluaXRpYXRpbmcgQ1BVIHRoYXQgSSd2ZSBncmFiYmVkIHRoZSBkYXRhIGFuZCBhbQotCSAqIGFib3V0IHRvIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uCi0JICovCi0JbWIoKTsKLQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPnN0YXJ0ZWQpOwotCS8qCi0JICogQXQgdGhpcyBwb2ludCB0aGUgaW5mbyBzdHJ1Y3R1cmUgbWF5IGJlIG91dCBvZiBzY29wZSB1bmxlc3Mgd2FpdD09MQotCSAqLwogCWlycV9lbnRlcigpOwotCSgqZnVuYykoaW5mbyk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKIAlpcnFfZXhpdCgpOworfQogCi0JaWYgKHdhaXQpIHsKLQkJbWIoKTsKLQkJYXRvbWljX2luYygmY2FsbF9kYXRhLT5maW5pc2hlZCk7Ci0JfQordm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpCit7CisJaXJxX2VudGVyKCk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CisJaXJxX2V4aXQoKTsKIH0KIAogLyo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qLwpkaWZmIC0tZ2l0IGEvYXJjaC9tMzJyL2tlcm5lbC90cmFwcy5jIGIvYXJjaC9tMzJyL2tlcm5lbC90cmFwcy5jCmluZGV4IDg5YmE0YTAuLjQ2MTU5YTQgMTAwNjQ0Ci0tLSBhL2FyY2gvbTMyci9rZXJuZWwvdHJhcHMuYworKysgYi9hcmNoL20zMnIva2VybmVsL3RyYXBzLmMKQEAgLTQwLDYgKzQwLDcgQEAKIGV4dGVybiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKIGV4dGVybiB2b2lkIHNtcF9pcGlfdGltZXJfaW50ZXJydXB0KHZvaWQpOwogZXh0ZXJuIHZvaWQgc21wX2ZsdXNoX2NhY2hlX2FsbF9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpOwogCiAvKgogICogZm9yIEJvb3QgQVAgZnVuY3Rpb24KQEAgLTEwMyw3ICsxMDQsNyBAQAogCWVpdF92ZWN0b3JbMTg2XSA9ICh1bnNpZ25lZCBsb25nKXNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdDsKIAllaXRfdmVjdG9yWzE4N10gPSAodW5zaWduZWQgbG9uZylzbXBfaXBpX3RpbWVyX2ludGVycnVwdDsKIAllaXRfdmVjdG9yWzE4OF0gPSAodW5zaWduZWQgbG9uZylzbXBfZmx1c2hfY2FjaGVfYWxsX2ludGVycnVwdDsKLQllaXRfdmVjdG9yWzE4OV0gPSAwOworCWVpdF92ZWN0b3JbMTg5XSA9ICh1bnNpZ25lZCBsb25nKXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQ7CiAJZWl0X3ZlY3RvclsxOTBdID0gMDsKIAllaXRfdmVjdG9yWzE5MV0gPSAwOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL202OGsvYnZtZTYwMDAvcnRjLmMgYi9hcmNoL202OGsvYnZtZTYwMDAvcnRjLmMKaW5kZXggYTgxMmQwMy4uZThhYzNmNyAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2J2bWU2MDAwL3J0Yy5jCisrKyBiL2FyY2gvbTY4ay9idm1lNjAwMC9ydGMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9mY250bC5oPgpAQCAtMTQwLDEwICsxNDEsMTQgQEAKIAogc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZihydGNfc3RhdHVzKQorCWxvY2tfa2VybmVsKCk7CisJaWYocnRjX3N0YXR1cykgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCiAJcnRjX3N0YXR1cyA9IDE7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL202OGsvbXZtZTE2eC9ydGMuYyBiL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCmluZGV4IGUzNDEzODcuLjQzMmE5ZjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCisrKyBiL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZjbnRsLmg+CkBAIC0xMjcsMTEgKzEyOCwxNCBAQAogCiBzdGF0aWMgaW50IHJ0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJaWYoICFhdG9taWNfZGVjX2FuZF90ZXN0KCZydGNfcmVhZHkpICkKIAl7CiAJCWF0b21pY19pbmMoICZydGNfcmVhZHkgKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9LY29uZmlnIGIvYXJjaC9taXBzL0tjb25maWcKaW5kZXggMjRjNWRlZS4uZDJiZTNmZiAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL0tjb25maWcKKysrIGIvYXJjaC9taXBzL0tjb25maWcKQEAgLTE3NjMsNiArMTc2Myw3IEBACiAJYm9vbCAiTXVsdGktUHJvY2Vzc2luZyBzdXBwb3J0IgogCWRlcGVuZHMgb24gU1lTX1NVUFBPUlRTX1NNUAogCXNlbGVjdCBJUlFfUEVSX0NQVQorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL21pcHMvYmFzbGVyL2V4Y2l0ZS9leGNpdGVfaW9kZXYuYyBiL2FyY2gvbWlwcy9iYXNsZXIvZXhjaXRlL2V4Y2l0ZV9pb2Rldi5jCmluZGV4IDQ3NmQyMGUuLmExZTM1MjYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9iYXNsZXIvZXhjaXRlL2V4Y2l0ZV9pb2Rldi5jCisrKyBiL2FyY2gvbWlwcy9iYXNsZXIvZXhjaXRlL2V4Y2l0ZV9pb2Rldi5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlICJleGNpdGVfaW9kZXYuaCIKIApAQCAtMTEwLDggKzExMSwxNCBAQAogCiBzdGF0aWMgaW50IGlvZGV2X29wZW4oc3RydWN0IGlub2RlICppLCBzdHJ1Y3QgZmlsZSAqZikKIHsKLQlyZXR1cm4gcmVxdWVzdF9pcnEoaW9kZXZfaXJxLCBpb2Rldl9pcnFoZGwsIElSUUZfRElTQUJMRUQsCisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gcmVxdWVzdF9pcnEoaW9kZXZfaXJxLCBpb2Rldl9pcnFoZGwsIElSUUZfRElTQUJMRUQsCiAJCQkgICBpb2Rldl9uYW1lLCAmbWlzY2Rldik7CisJdW5sb2NrX2tlcm5lbCgpOworCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBpb2Rldl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaSwgc3RydWN0IGZpbGUgKmYpCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL2lycS1ybTkwMDAuYyBiL2FyY2gvbWlwcy9rZXJuZWwvaXJxLXJtOTAwMC5jCmluZGV4IGVkOWZlYmUuLmI0N2U0NjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvaXJxLXJtOTAwMC5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvaXJxLXJtOTAwMC5jCkBAIC00OSw3ICs0OSw3IEBACiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgcm05a19wZXJmY291bnRlcl9pcnFfc3RhcnR1cCh1bnNpZ25lZCBpbnQgaXJxKQogewotCW9uX2VhY2hfY3B1KGxvY2FsX3JtOWtfcGVyZmNvdW50ZXJfaXJxX3N0YXJ0dXAsICh2b2lkICopIGlycSwgMCwgMSk7CisJb25fZWFjaF9jcHUobG9jYWxfcm05a19wZXJmY291bnRlcl9pcnFfc3RhcnR1cCwgKHZvaWQgKikgaXJxLCAxKTsKIAogCXJldHVybiAwOwogfQpAQCAtNjYsNyArNjYsNyBAQAogCiBzdGF0aWMgdm9pZCBybTlrX3BlcmZjb3VudGVyX2lycV9zaHV0ZG93bih1bnNpZ25lZCBpbnQgaXJxKQogewotCW9uX2VhY2hfY3B1KGxvY2FsX3JtOWtfcGVyZmNvdW50ZXJfaXJxX3NodXRkb3duLCAodm9pZCAqKSBpcnEsIDAsIDEpOworCW9uX2VhY2hfY3B1KGxvY2FsX3JtOWtfcGVyZmNvdW50ZXJfaXJxX3NodXRkb3duLCAodm9pZCAqKSBpcnEsIDEpOwogfQogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIHJtOWtfaXJxX2NvbnRyb2xsZXIgPSB7CmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3J0bHguYyBiL2FyY2gvbWlwcy9rZXJuZWwvcnRseC5jCmluZGV4IGI4OGYxYzEuLmI1NTY0MTkgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvcnRseC5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvcnRseC5jCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L2VsZi5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjYWxscy5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZWxvYWRlci5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgpAQCAtMzkyLDggKzM5MywxMiBAQAogc3RhdGljIGludCBmaWxlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKKwlpbnQgZXJyOwogCi0JcmV0dXJuIHJ0bHhfb3BlbihtaW5vciwgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSA/IDAgOiAxKTsKKwlsb2NrX2tlcm5lbCgpOworCWVyciA9IHJ0bHhfb3BlbihtaW5vciwgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSA/IDAgOiAxKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIGludCBmaWxlX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3NtcC5jIGIvYXJjaC9taXBzL2tlcm5lbC9zbXAuYwppbmRleCBjZGY4N2E5Li40NDEwZjE3IDEwMDY0NAotLS0gYS9hcmNoL21pcHMva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvc21wLmMKQEAgLTEzMSwxNDkgKzEzMSwzMCBAQAogCWNwdV9pZGxlKCk7CiB9CiAKLURFRklORV9TUElOTE9DSyhzbXBfY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQoreworCW1wX29wcy0+c2VuZF9pcGlfbWFzayhtYXNrLCBTTVBfQ0FMTF9GVU5DVElPTik7Cit9CiAKIC8qCi0gKiBSdW4gYSBmdW5jdGlvbiBvbiBhbGwgb3RoZXIgQ1BVcy4KLSAqCi0gKiAgPG1hc2s+CWNwdXNldF90IG9mIGFsbCBwcm9jZXNzb3JzIHRvIHJ1biB0aGUgZnVuY3Rpb24gb24uCi0gKiAgPGZ1bmM+ICAgICAgVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqICA8aW5mbz4gICAgICBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqICA8cmV0cnk+ICAgICBJZiB0cnVlLCBrZWVwIHJldHJ5aW5nIHVudGlsIHJlYWR5LgotICogIDx3YWl0PiAgICAgIElmIHRydWUsIHdhaXQgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICogIFtSRVRVUk5TXSAgIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLgotICoKLSAqIERvZXMgbm90IHJldHVybiB1bnRpbCByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPGZ1bmM+Ci0gKiBvciBhcmUgb3IgaGF2ZSBleGVjdXRlZC4KLSAqCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyOgotICoKLSAqIENQVSBBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQVSBCCi0gKiBEaXNhYmxlIGludGVycnVwdHMKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtcF9jYWxsX2Z1bmN0aW9uKCkKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRha2UgY2FsbF9sb2NrCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZW5kIElQSXMKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdhaXQgZm9yIGFsbCBjcHVzIHRvIGFja25vd2xlZGdlIElQSQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1BVIEEgaGFzIG5vdCByZXNwb25kZWQsIHNwaW4gd2FpdGluZwotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNwdSBBIHRvIHJlc3BvbmQsIGhvbGRpbmcgY2FsbF9sb2NrCi0gKiBzbXBfY2FsbF9mdW5jdGlvbigpCi0gKiBTcGluIHdhaXRpbmcgZm9yIGNhbGxfbG9jawotICogRGVhZGxvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVhZGxvY2sKKyAqIFdlIHJldXNlIHRoZSBzYW1lIHZlY3RvciBmb3IgdGhlIHNpbmdsZSBJUEkKICAqLwotaW50IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksCi0Jdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQogewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQlpbnQgY3B1czsKLQotCS8qCi0JICogQ2FuIGRpZSBzcGVjdGFjdWxhcmx5IGlmIHRoaXMgQ1BVIGlzbid0IHlldCBtYXJrZWQgb25saW5lCi0JICovCi0JQlVHX09OKCFjcHVfb25saW5lKGNwdSkpOwotCi0JY3B1X2NsZWFyKGNwdSwgbWFzayk7Ci0JY3B1cyA9IGNwdXNfd2VpZ2h0KG1hc2spOwotCWlmICghY3B1cykKLQkJcmV0dXJuIDA7Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQlzcGluX2xvY2soJnNtcF9jYWxsX2xvY2spOwotCWNhbGxfZGF0YSA9ICZkYXRhOwotCXNtcF9tYigpOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIG90aGVyIENQVXMgYW5kIHdhaXQgZm9yIHRoZW0gdG8gcmVzcG9uZCAqLwotCW1wX29wcy0+c2VuZF9pcGlfbWFzayhtYXNrLCBTTVBfQ0FMTF9GVU5DVElPTik7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCS8qIEZJWE1FOiBsb2NrLXVwIGRldGVjdGlvbiwgYmFja3RyYWNlIG9uIGxvY2stdXAgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJYmFycmllcigpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWJhcnJpZXIoKTsKLQljYWxsX2RhdGEgPSBOVUxMOwotCXNwaW5fdW5sb2NrKCZzbXBfY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOworCW1wX29wcy0+c2VuZF9pcGlfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBTTVBfQ0FMTF9GVU5DVElPTik7CiB9CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksCi0JaW50IHdhaXQpCi17Ci0JcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1X29ubGluZV9tYXAsIGZ1bmMsIGluZm8sIHJldHJ5LCB3YWl0KTsKLX0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwotCisvKgorICogQ2FsbCBpbnRvIGJvdGggaW50ZXJydXB0IGhhbmRsZXJzLCBhcyB3ZSBzaGFyZSB0aGUgSVBJIGZvciB0aGVtCisgKi8KIHZvaWQgc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpCiB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSA9IGNhbGxfZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCWludCB3YWl0ID0gY2FsbF9kYXRhLT53YWl0OwotCi0JLyoKLQkgKiBOb3RpZnkgaW5pdGlhdGluZyBDUFUgdGhhdCBJJ3ZlIGdyYWJiZWQgdGhlIGRhdGEgYW5kIGFtCi0JICogYWJvdXQgdG8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24uCi0JICovCi0Jc21wX21iKCk7Ci0JYXRvbWljX2luYygmY2FsbF9kYXRhLT5zdGFydGVkKTsKLQotCS8qCi0JICogQXQgdGhpcyBwb2ludCB0aGUgaW5mbyBzdHJ1Y3R1cmUgbWF5IGJlIG91dCBvZiBzY29wZSB1bmxlc3Mgd2FpdD09MS4KLQkgKi8KIAlpcnFfZW50ZXIoKTsKLQkoKmZ1bmMpKGluZm8pOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAJaXJxX2V4aXQoKTsKLQotCWlmICh3YWl0KSB7Ci0JCXNtcF9tYigpOwotCQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPmZpbmlzaGVkKTsKLQl9CiB9CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgaW50IHJldHJ5LCBpbnQgd2FpdCkKLXsKLQlpbnQgcmV0LCBtZTsKLQotCS8qCi0JICogQ2FuIGRpZSBzcGVjdGFjdWxhcmx5IGlmIHRoaXMgQ1BVIGlzbid0IHlldCBtYXJrZWQgb25saW5lCi0JICovCi0JaWYgKCFjcHVfb25saW5lKGNwdSkpCi0JCXJldHVybiAwOwotCi0JbWUgPSBnZXRfY3B1KCk7Ci0JQlVHX09OKCFjcHVfb25saW5lKG1lKSk7Ci0KLQlpZiAoY3B1ID09IG1lKSB7Ci0JCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JCWZ1bmMoaW5mbyk7Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQkJcHV0X2NwdSgpOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfb2ZfY3B1KGNwdSksIGZ1bmMsIGluZm8sIHJldHJ5LAotCQkJCSAgICAgd2FpdCk7Ci0KLQlwdXRfY3B1KCk7Ci0JcmV0dXJuIDA7Ci19Ci1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSk7Ci0KIHN0YXRpYyB2b2lkIHN0b3BfdGhpc19jcHUodm9pZCAqZHVtbXkpCiB7CiAJLyoKQEAgLTI4Niw3ICsxNjcsNyBAQAogCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAxLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAwKTsKIH0KIAogdm9pZCBfX2luaXQgc21wX2NwdXNfZG9uZSh1bnNpZ25lZCBpbnQgbWF4X2NwdXMpCkBAIC0zNjUsNyArMjQ2LDcgQEAKIAogdm9pZCBmbHVzaF90bGJfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9pcGksIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9hbGxfaXBpLCBOVUxMLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX21tX2lwaSh2b2lkICptbSkKQEAgLTM4NSw3ICsyNjYsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIHNtcF9vbl9vdGhlcl90bGJzKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8pCiB7CiAjaWZuZGVmIENPTkZJR19NSVBTX01UX1NNVEMKLQlzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCAxKTsKICNlbmRpZgogfQogCkBAIC00ODUsNyArMzY2LDcgQEAKIAkJLmFkZHIyID0gZW5kLAogCX07CiAKLQlvbl9lYWNoX2NwdShmbHVzaF90bGJfa2VybmVsX3JhbmdlX2lwaSwgJmZkLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF90bGJfa2VybmVsX3JhbmdlX2lwaSwgJmZkLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX3BhZ2VfaXBpKHZvaWQgKmluZm8pCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3NtdGMuYyBiL2FyY2gvbWlwcy9rZXJuZWwvc210Yy5jCmluZGV4IDNlODYzMTguLmE1MTYyODYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvc210Yy5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvc210Yy5jCkBAIC04NzcsNyArODc3LDYgQEAKIAkvKiBSZXR1cm4gZnJvbSBpbnRlcnJ1cHQgc2hvdWxkIGJlIGVub3VnaCB0byBjYXVzZSBzY2hlZHVsZXIgY2hlY2sgKi8KIH0KIAotCiBzdGF0aWMgdm9pZCBpcGlfY2FsbF9pbnRlcnJ1cHQodm9pZCkKIHsKIAkvKiBJbnZva2UgZ2VuZXJpYyBmdW5jdGlvbiBpbnZvY2F0aW9uIGNvZGUgaW4gc21wLmMgKi8KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggZWJkOWRiOC4uNWViNDY4MSAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTczLDMgKzczLDQgQEAKIAlwcmVwYXJlX2ZyYW1ldHJhY2UocmVncyk7CiAJc2F2ZV9jb250ZXh0X3N0YWNrKHRyYWNlLCByZWdzKTsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2tlcm5lbC92cGUuYyBiL2FyY2gvbWlwcy9rZXJuZWwvdnBlLmMKaW5kZXggMjc5NDUwMS4uOTcyYjJkMiAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2tlcm5lbC92cGUuYworKysgYi9hcmNoL21pcHMva2VybmVsL3ZwZS5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L2VsZi5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjYWxscy5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZWxvYWRlci5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgpAQCAtMTA1MCwxNyArMTA1MSwyMCBAQAogCWVudW0gdnBlX3N0YXRlIHN0YXRlOwogCXN0cnVjdCB2cGVfbm90aWZpY2F0aW9ucyAqbm90OwogCXN0cnVjdCB2cGUgKnY7Ci0JaW50IHJldDsKKwlpbnQgcmV0LCBlcnIgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZiAobWlub3IgIT0gaW1pbm9yKGlub2RlKSkgewogCQkvKiBhc3N1bWUgb25seSAxIGRldmljZSBhdCB0aGUgbW9tZW50LiAqLwogCQlwcmludGsoS0VSTl9XQVJOSU5HICJWUEUgbG9hZGVyOiBvbmx5IHZwZTEgaXMgc3VwcG9ydGVkXG4iKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAogCWlmICgodiA9IGdldF92cGUodGNsaW1pdCkpID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiVlBFIGxvYWRlcjogdW5hYmxlIHRvIGdldCB2cGVcbiIpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCiAJc3RhdGUgPSB4Y2hnKCZ2LT5zdGF0ZSwgVlBFX1NUQVRFX0lOVVNFKTsKQEAgLTExMDAsNiArMTEwNCw4IEBACiAJdi0+c2hhcmVkX3B0ciA9IE5VTEw7CiAJdi0+X19zdGFydCA9IDA7CiAKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9tbS9jLXI0ay5jIGIvYXJjaC9taXBzL21tL2MtcjRrLmMKaW5kZXggMjcwOTY3NS4uNzFkZjMzOSAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL21tL2MtcjRrLmMKKysrIGIvYXJjaC9taXBzL21tL2MtcjRrLmMKQEAgLTQzLDEyICs0MywxMiBAQAogICogICAgcHJpbWFyeSBjYWNoZS4KICAqLwogc3RhdGljIGlubGluZSB2b2lkIHI0a19vbl9lYWNoX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmV0cnksIGludCB3YWl0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2FpdCkKIHsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAogI2lmICFkZWZpbmVkKENPTkZJR19NSVBTX01UX1NNUCkgJiYgIWRlZmluZWQoQ09ORklHX01JUFNfTVRfU01UQykKLQlzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCk7CisJc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgd2FpdCk7CiAjZW5kaWYKIAlmdW5jKGluZm8pOwogCXByZWVtcHRfZW5hYmxlKCk7CkBAIC0zNTAsNyArMzUwLDcgQEAKIAogc3RhdGljIHZvaWQgcjRrX19fZmx1c2hfY2FjaGVfYWxsKHZvaWQpCiB7Ci0JcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19fX2ZsdXNoX2NhY2hlX2FsbCwgTlVMTCwgMSwgMSk7CisJcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19fX2ZsdXNoX2NhY2hlX2FsbCwgTlVMTCwgMSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IGhhc192YWxpZF9hc2lkKGNvbnN0IHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQpAQCAtMzk3LDcgKzM5Nyw3IEBACiAJaW50IGV4ZWMgPSB2bWEtPnZtX2ZsYWdzICYgVk1fRVhFQzsKIAogCWlmIChjcHVfaGFzX2RjX2FsaWFzZXMgfHwgKGV4ZWMgJiYgIWNwdV9oYXNfaWNfZmlsbHNfZl9kYykpCi0JCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfcmFuZ2UsIHZtYSwgMSwgMSk7CisJCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfcmFuZ2UsIHZtYSwgMSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2NhbF9yNGtfZmx1c2hfY2FjaGVfbW0odm9pZCAqIGFyZ3MpCkBAIC00MjksNyArNDI5LDcgQEAKIAlpZiAoIWNwdV9oYXNfZGNfYWxpYXNlcykKIAkJcmV0dXJuOwogCi0JcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19mbHVzaF9jYWNoZV9tbSwgbW0sIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfbW0sIG1tLCAxKTsKIH0KIAogc3RydWN0IGZsdXNoX2NhY2hlX3BhZ2VfYXJncyB7CkBAIC01MjEsNyArNTIxLDcgQEAKIAlhcmdzLmFkZHIgPSBhZGRyOwogCWFyZ3MucGZuID0gcGZuOwogCi0JcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19mbHVzaF9jYWNoZV9wYWdlLCAmYXJncywgMSwgMSk7CisJcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19mbHVzaF9jYWNoZV9wYWdlLCAmYXJncywgMSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2NhbF9yNGtfZmx1c2hfZGF0YV9jYWNoZV9wYWdlKHZvaWQgKiBhZGRyKQpAQCAtNTM1LDcgKzUzNSw3IEBACiAJCWxvY2FsX3I0a19mbHVzaF9kYXRhX2NhY2hlX3BhZ2UoKHZvaWQgKilhZGRyKTsKIAllbHNlCiAJCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfZGF0YV9jYWNoZV9wYWdlLCAodm9pZCAqKSBhZGRyLAotCQkJICAgICAgICAxLCAxKTsKKwkJCSAgICAgICAgMSk7CiB9CiAKIHN0cnVjdCBmbHVzaF9pY2FjaGVfcmFuZ2VfYXJncyB7CkBAIC01NzEsNyArNTcxLDcgQEAKIAlhcmdzLnN0YXJ0ID0gc3RhcnQ7CiAJYXJncy5lbmQgPSBlbmQ7CiAKLQlyNGtfb25fZWFjaF9jcHUobG9jYWxfcjRrX2ZsdXNoX2ljYWNoZV9yYW5nZSwgJmFyZ3MsIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfaWNhY2hlX3JhbmdlLCAmYXJncywgMSk7CiAJaW5zdHJ1Y3Rpb25faGF6YXJkKCk7CiB9CiAKQEAgLTY3Miw3ICs2NzIsNyBAQAogCiBzdGF0aWMgdm9pZCByNGtfZmx1c2hfY2FjaGVfc2lndHJhbXAodW5zaWduZWQgbG9uZyBhZGRyKQogewotCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfc2lndHJhbXAsICh2b2lkICopIGFkZHIsIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfc2lndHJhbXAsICh2b2lkICopIGFkZHIsIDEpOwogfQogCiBzdGF0aWMgdm9pZCByNGtfZmx1c2hfaWNhY2hlX2FsbCh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL29wcm9maWxlL2NvbW1vbi5jIGIvYXJjaC9taXBzL29wcm9maWxlL2NvbW1vbi5jCmluZGV4IGI1ZjZmNzEuLmRkMmZiZDYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9vcHJvZmlsZS9jb21tb24uYworKysgYi9hcmNoL21pcHMvb3Byb2ZpbGUvY29tbW9uLmMKQEAgLTI3LDcgKzI3LDcgQEAKIAltb2RlbC0+cmVnX3NldHVwKGN0cik7CiAKIAkvKiBDb25maWd1cmUgdGhlIHJlZ2lzdGVycyBvbiBhbGwgY3B1cy4gICovCi0Jb25fZWFjaF9jcHUobW9kZWwtPmNwdV9zZXR1cCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobW9kZWwtPmNwdV9zZXR1cCwgTlVMTCwgMSk7CiAKICAgICAgICAgcmV0dXJuIDA7CiB9CkBAIC01OCw3ICs1OCw3IEBACiAKIHN0YXRpYyBpbnQgb3BfbWlwc19zdGFydCh2b2lkKQogewotCW9uX2VhY2hfY3B1KG1vZGVsLT5jcHVfc3RhcnQsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KG1vZGVsLT5jcHVfc3RhcnQsIE5VTEwsIDEpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC02Niw3ICs2Niw3IEBACiBzdGF0aWMgdm9pZCBvcF9taXBzX3N0b3Aodm9pZCkKIHsKIAkvKiBEaXNhYmxlIHBlcmZvcm1hbmNlIG1vbml0b3JpbmcgZm9yIGFsbCBjb3VudGVycy4gICovCi0Jb25fZWFjaF9jcHUobW9kZWwtPmNwdV9zdG9wLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShtb2RlbC0+Y3B1X3N0b3AsIE5VTEwsIDEpOwogfQogCiBpbnQgX19pbml0IG9wcm9maWxlX2FyY2hfaW5pdChzdHJ1Y3Qgb3Byb2ZpbGVfb3BlcmF0aW9ucyAqb3BzKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL29wcm9maWxlL29wX21vZGVsX21pcHN4eC5jIGIvYXJjaC9taXBzL29wcm9maWxlL29wX21vZGVsX21pcHN4eC5jCmluZGV4IGI0MGRmN2QuLjU0NzU5ZjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9vcHJvZmlsZS9vcF9tb2RlbF9taXBzeHguYworKysgYi9hcmNoL21pcHMvb3Byb2ZpbGUvb3BfbW9kZWxfbWlwc3h4LmMKQEAgLTMxMyw3ICszMTMsNyBAQAogCWlmICghY3B1X2hhc19taXBzbXRfcGVydGNjb3VudGVycykKIAkJY291bnRlcnMgPSBjb3VudGVyc190b3RhbF90b19wZXJfY3B1KGNvdW50ZXJzKTsKICNlbmRpZgotCW9uX2VhY2hfY3B1KHJlc2V0X2NvdW50ZXJzLCAodm9pZCAqKShsb25nKWNvdW50ZXJzLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShyZXNldF9jb3VudGVycywgKHZvaWQgKikobG9uZyljb3VudGVycywgMSk7CiAKIAlvcF9tb2RlbF9taXBzeHhfb3BzLm51bV9jb3VudGVycyA9IGNvdW50ZXJzOwogCXN3aXRjaCAoY3VycmVudF9jcHVfdHlwZSgpKSB7CkBAIC0zODIsNyArMzgyLDcgQEAKIAlpbnQgY291bnRlcnMgPSBvcF9tb2RlbF9taXBzeHhfb3BzLm51bV9jb3VudGVyczsKIAogCWNvdW50ZXJzID0gY291bnRlcnNfcGVyX2NwdV90b190b3RhbChjb3VudGVycyk7Ci0Jb25fZWFjaF9jcHUocmVzZXRfY291bnRlcnMsICh2b2lkICopKGxvbmcpY291bnRlcnMsIDAsIDEpOworCW9uX2VhY2hfY3B1KHJlc2V0X2NvdW50ZXJzLCAodm9pZCAqKShsb25nKWNvdW50ZXJzLCAxKTsKIAogCXBlcmZfaXJxID0gc2F2ZV9wZXJmX2lycTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9wbWMtc2llcnJhL3lvc2VtaXRlL3Byb20uYyBiL2FyY2gvbWlwcy9wbWMtc2llcnJhL3lvc2VtaXRlL3Byb20uYwppbmRleCAzNWRjNDM1Li5jZjRjODY4IDEwMDY0NAotLS0gYS9hcmNoL21pcHMvcG1jLXNpZXJyYS95b3NlbWl0ZS9wcm9tLmMKKysrIGIvYXJjaC9taXBzL3BtYy1zaWVycmEveW9zZW1pdGUvcHJvbS5jCkBAIC02NCw3ICs2NCw3IEBACiAjaWZkZWYgQ09ORklHX1NNUAogCWlmIChzbXBfcHJvY2Vzc29yX2lkKCkpCiAJCS8qIENQVSAxICovCi0JCXNtcF9jYWxsX2Z1bmN0aW9uKHByb21fY3B1MF9leGl0LCBOVUxMLCAxLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb24ocHJvbV9jcHUwX2V4aXQsIE5VTEwsIDEpOwogI2VuZGlmCiAJcHJvbV9jcHUwX2V4aXQoTlVMTCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvc2lieXRlL2NmZS9zZXR1cC5jIGIvYXJjaC9taXBzL3NpYnl0ZS9jZmUvc2V0dXAuYwppbmRleCAzM2ZjZTgyLi5mZDk2MDRkIDEwMDY0NAotLS0gYS9hcmNoL21pcHMvc2lieXRlL2NmZS9zZXR1cC5jCisrKyBiL2FyY2gvbWlwcy9zaWJ5dGUvY2ZlL3NldHVwLmMKQEAgLTc0LDcgKzc0LDcgQEAKIAkJaWYgKCFyZWJvb3Rfc21wKSB7CiAJCQkvKiBHZXQgQ1BVIDAgdG8gZG8gdGhlIGNmZV9leGl0ICovCiAJCQlyZWJvb3Rfc21wID0gMTsKLQkJCXNtcF9jYWxsX2Z1bmN0aW9uKGNmZV9saW51eF9leGl0LCBhcmcsIDEsIDApOworCQkJc21wX2NhbGxfZnVuY3Rpb24oY2ZlX2xpbnV4X2V4aXQsIGFyZywgMCk7CiAJCX0KIAl9IGVsc2UgewogCQlwcmludGsoIlBhc3NpbmcgY29udHJvbCBiYWNrIHRvIENGRS4uLlxuIik7CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvc2lieXRlL2NvbW1vbi9zYl90YnByb2YuYyBiL2FyY2gvbWlwcy9zaWJ5dGUvY29tbW9uL3NiX3RicHJvZi5jCmluZGV4IDYzYjQ0NGUuLjI4YjAxMmEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9zaWJ5dGUvY29tbW9uL3NiX3RicHJvZi5jCisrKyBiL2FyY2gvbWlwcy9zaWJ5dGUvY29tbW9uL3NiX3RicHJvZi5jCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CkBAIC00MDIsMTggKzQwMywyNiBAQAogc3RhdGljIGludCBzYnByb2ZfdGJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlpbnQgbWlub3I7CisJaW50IGVyciA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW1pbm9yID0gaW1pbm9yKGlub2RlKTsKLQlpZiAobWlub3IgIT0gMCkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKG1pbm9yICE9IDApIHsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCi0JaWYgKHhjaGcoJnNicC5vcGVuLCBTQl9PUEVOSU5HKSAhPSBTQl9DTE9TRUQpCi0JCXJldHVybiAtRUJVU1k7CisJaWYgKHhjaGcoJnNicC5vcGVuLCBTQl9PUEVOSU5HKSAhPSBTQl9DTE9TRUQpIHsKKwkJZXJyID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAltZW1zZXQoJnNicCwgMCwgc2l6ZW9mKHN0cnVjdCBzYnByb2ZfdGIpKTsKIAlzYnAuc2Jwcm9mX3RiYnVmID0gdm1hbGxvYyhNQVhfVEJTQU1QTEVfQllURVMpOwotCWlmICghc2JwLnNicHJvZl90YmJ1ZikKLQkJcmV0dXJuIC1FTk9NRU07CisJaWYgKCFzYnAuc2Jwcm9mX3RiYnVmKSB7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KIAltZW1zZXQoc2JwLnNicHJvZl90YmJ1ZiwgMCwgTUFYX1RCU0FNUExFX0JZVEVTKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZzYnAudGJfc3luYyk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmc2JwLnRiX3JlYWQpOwpAQCAtNDIxLDcgKzQzMCw5IEBACiAKIAlzYnAub3BlbiA9IFNCX09QRU47CiAKLQlyZXR1cm4gMDsKKyAgb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW50IHNicHJvZl90Yl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL3NpYnl0ZS9zYjEyNTAvcHJvbS5jIGIvYXJjaC9taXBzL3NpYnl0ZS9zYjEyNTAvcHJvbS5jCmluZGV4IGNmOGY2YjMuLjY1YjFhZjYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9zaWJ5dGUvc2IxMjUwL3Byb20uYworKysgYi9hcmNoL21pcHMvc2lieXRlL3NiMTI1MC9wcm9tLmMKQEAgLTY2LDcgKzY2LDcgQEAKIHsKICNpZmRlZiBDT05GSUdfU01QCiAJaWYgKHNtcF9wcm9jZXNzb3JfaWQoKSkgewotCQlzbXBfY2FsbF9mdW5jdGlvbihwcm9tX2NwdTBfZXhpdCwgTlVMTCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKHByb21fY3B1MF9leGl0LCBOVUxMLCAxKTsKIAl9CiAjZW5kaWYKIAl3aGlsZSgxKTsKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vTWFrZWZpbGUgYi9hcmNoL21pcHMvc2lieXRlL3N3YXJtL01ha2VmaWxlCmluZGV4IDE3NzU3NTUuLjI1NWQ2OTIgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vTWFrZWZpbGUKKysrIGIvYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9NYWtlZmlsZQpAQCAtMSwzICsxLDQgQEAKIG9iai15CQkJCTo9IHNldHVwLm8gcnRjX3hpY29yMTI0MS5vIHJ0Y19tNDF0ODEubwogCitvYmotJChDT05GSUdfSTJDX0JPQVJESU5GTykJKz0gc3dhcm0taTJjLm8KIG9iai0kKENPTkZJR19LR0RCKQkJKz0gZGJnX2lvLm8KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vc3dhcm0taTJjLmMgYi9hcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyODJhYzkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKglhcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jCisgKgorICoJQnJvYWRjb20gQkNNOTEyNTBBIChTV0FSTSksIGV0Yy4gSTJDIHBsYXRmb3JtIHNldHVwLgorICoKKyAqCUNvcHlyaWdodCAoYykgMjAwOCAgTWFjaWVqIFcuIFJvenlja2kKKyAqCisgKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKgltb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICoJYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uCisgKgkyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBzd2FybV9pMmNfaW5mbzFbXSBfX2luaXRkYXRhID0geworCXsKKwkJSTJDX0JPQVJEX0lORk8oIm00MXQ4MSIsIDB4NjgpLAorCX0sCit9OworCitzdGF0aWMgaW50IF9faW5pdCBzd2FybV9pMmNfaW5pdCh2b2lkKQoreworCWludCBlcnI7CisKKwllcnIgPSBpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygxLCBzd2FybV9pMmNfaW5mbzEsCisJCQkJICAgICAgQVJSQVlfU0laRShzd2FybV9pMmNfaW5mbzEpKTsKKwlpZiAoZXJyIDwgMCkKKwkJcHJpbnRrKEtFUk5fRVJSCisJCSAgICAgICAic3dhcm0taTJjOiBjYW5ub3QgcmVnaXN0ZXIgYm9hcmQgSTJDIGRldmljZXNcbiIpOworCXJldHVybiBlcnI7Cit9CisKK2FyY2hfaW5pdGNhbGwoc3dhcm1faTJjX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wYXJpc2MvS2NvbmZpZyBiL2FyY2gvcGFyaXNjL0tjb25maWcKaW5kZXggYmM3YTE5ZC4uYTdkNGZkMzUgMTAwNjQ0Ci0tLSBhL2FyY2gvcGFyaXNjL0tjb25maWcKKysrIGIvYXJjaC9wYXJpc2MvS2NvbmZpZwpAQCAtMTk5LDYgKzE5OSw3IEBACiAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9rZXJuZWwvY2FjaGUuYyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9jYWNoZS5jCmluZGV4IGUxMGQyNWQuLjUyNTlkOGMgMTAwNjQ0Ci0tLSBhL2FyY2gvcGFyaXNjL2tlcm5lbC9jYWNoZS5jCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9jYWNoZS5jCkBAIC01MSwxMiArNTEsMTIgQEAKIHZvaWQKIGZsdXNoX2RhdGFfY2FjaGUodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShmbHVzaF9kYXRhX2NhY2hlX2xvY2FsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF9kYXRhX2NhY2hlX2xvY2FsLCBOVUxMLCAxKTsKIH0KIHZvaWQgCiBmbHVzaF9pbnN0cnVjdGlvbl9jYWNoZSh2b2lkKQogewotCW9uX2VhY2hfY3B1KGZsdXNoX2luc3RydWN0aW9uX2NhY2hlX2xvY2FsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF9pbnN0cnVjdGlvbl9jYWNoZV9sb2NhbCwgTlVMTCwgMSk7CiB9CiAjZW5kaWYKIApAQCAtNTE1LDcgKzUxNSw3IEBACiAKIHZvaWQgZmx1c2hfY2FjaGVfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoY2FjaGVmbHVzaF9oX3RtcF9mdW5jdGlvbiwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoY2FjaGVmbHVzaF9oX3RtcF9mdW5jdGlvbiwgTlVMTCwgMSk7CiB9CiAKIHZvaWQgZmx1c2hfY2FjaGVfbW0oc3RydWN0IG1tX3N0cnVjdCAqbW0pCmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9rZXJuZWwvcGVyZi5jIGIvYXJjaC9wYXJpc2Mva2VybmVsL3BlcmYuYwppbmRleCA4OWQ2ZDVhLi5mNjk2ZjU3IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvcGVyZi5jCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9wZXJmLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtMjYwLDEzICsyNjEsMTYgQEAKICAqLwogc3RhdGljIGludCBwZXJmX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJnBlcmZfbG9jayk7CiAJaWYgKHBlcmZfZW5hYmxlZCkgewogCQlzcGluX3VubG9jaygmcGVyZl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlwZXJmX2VuYWJsZWQgPSAxOwogIAlzcGluX3VubG9jaygmcGVyZl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL2tlcm5lbC9zbXAuYyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9zbXAuYwppbmRleCA4NWZjNzc1Li5kNDdmMzk3IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9wYXJpc2Mva2VybmVsL3NtcC5jCkBAIC04NCwxOSArODQsMTEgQEAKIAogREVGSU5FX1BFUl9DUFUoc3BpbmxvY2tfdCwgaXBpX2xvY2spID0gU1BJTl9MT0NLX1VOTE9DS0VEOwogCi1zdHJ1Y3Qgc21wX2NhbGxfc3RydWN0IHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pOwotCXZvaWQgKmluZm87Ci0JbG9uZyB3YWl0OwotCWF0b21pY190IHVuc3RhcnRlZF9jb3VudDsKLQlhdG9taWNfdCB1bmZpbmlzaGVkX2NvdW50OwotfTsKLXN0YXRpYyB2b2xhdGlsZSBzdHJ1Y3Qgc21wX2NhbGxfc3RydWN0ICpzbXBfY2FsbF9mdW5jdGlvbl9kYXRhOwotCiBlbnVtIGlwaV9tZXNzYWdlX3R5cGUgewogCUlQSV9OT1A9MCwKIAlJUElfUkVTQ0hFRFVMRT0xLAogCUlQSV9DQUxMX0ZVTkMsCisJSVBJX0NBTExfRlVOQ19TSU5HTEUsCiAJSVBJX0NQVV9TVEFSVCwKIAlJUElfQ1BVX1NUT1AsCiAJSVBJX0NQVV9URVNUCkBAIC0xODcsMzMgKzE3OSwxMiBAQAogCiAJCQljYXNlIElQSV9DQUxMX0ZVTkM6CiAJCQkJc21wX2RlYnVnKDEwMCwgS0VSTl9ERUJVRyAiQ1BVJWQgSVBJX0NBTExfRlVOQ1xuIiwgdGhpc19jcHUpOwotCQkJCXsKLQkJCQkJdm9sYXRpbGUgc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqZGF0YTsKLQkJCQkJdm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pOwotCQkJCQl2b2lkICppbmZvOwotCQkJCQlpbnQgd2FpdDsKKwkJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOworCQkJCWJyZWFrOwogCi0JCQkJCWRhdGEgPSBzbXBfY2FsbF9mdW5jdGlvbl9kYXRhOwotCQkJCQlmdW5jID0gZGF0YS0+ZnVuYzsKLQkJCQkJaW5mbyA9IGRhdGEtPmluZm87Ci0JCQkJCXdhaXQgPSBkYXRhLT53YWl0OwotCi0JCQkJCW1iKCk7Ci0JCQkJCWF0b21pY19kZWMgKChhdG9taWNfdCAqKSZkYXRhLT51bnN0YXJ0ZWRfY291bnQpOwotCi0JCQkJCS8qIEF0IHRoaXMgcG9pbnQsICpkYXRhIGNhbid0Ci0JCQkJCSAqIGJlIHJlbGllZCB1cG9uLgotCQkJCQkgKi8KLQotCQkJCQkoKmZ1bmMpKGluZm8pOwotCi0JCQkJCS8qIE5vdGlmeSB0aGUgc2VuZGluZyBDUFUgdGhhdCB0aGUKLQkJCQkJICogdGFzayBpcyBkb25lLgotCQkJCQkgKi8KLQkJCQkJbWIoKTsKLQkJCQkJaWYgKHdhaXQpCi0JCQkJCQlhdG9taWNfZGVjICgoYXRvbWljX3QgKikmZGF0YS0+dW5maW5pc2hlZF9jb3VudCk7Ci0JCQkJfQorCQkJY2FzZSBJUElfQ0FMTF9GVU5DX1NJTkdMRToKKwkJCQlzbXBfZGVidWcoMTAwLCBLRVJOX0RFQlVHICJDUFUlZCBJUElfQ0FMTF9GVU5DX1NJTkdMRVxuIiwgdGhpc19jcHUpOworCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOwogCQkJCWJyZWFrOwogCiAJCQljYXNlIElQSV9DUFVfU1RBUlQ6CkBAIC0yNTYsNiArMjI3LDE0IEBACiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShsb2NrLCBmbGFncyk7CiB9CiAKK3N0YXRpYyB2b2lkCitzZW5kX0lQSV9tYXNrKGNwdW1hc2tfdCBtYXNrLCBlbnVtIGlwaV9tZXNzYWdlX3R5cGUgb3ApCit7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykKKwkJaXBpX3NlbmQoY3B1LCBvcCk7Cit9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZAogc2VuZF9JUElfc2luZ2xlKGludCBkZXN0X2NwdSwgZW51bSBpcGlfbWVzc2FnZV90eXBlIG9wKQpAQCAtMjk1LDg2ICsyNzQsMTUgQEAKIAlzZW5kX0lQSV9hbGxidXRzZWxmKElQSV9OT1ApOwogfQogCi0KLS8qKgotICogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCi0gKiAgPGZ1bmM+CVRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiAgPGluZm8+CUFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogIDxyZXRyeT4JSWYgdHJ1ZSwga2VlcCByZXRyeWluZyB1bnRpbCByZWFkeS4KLSAqICA8d2FpdD4JSWYgdHJ1ZSwgd2FpdCB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKiAgW1JFVFVSTlNdICAgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogRG9lcyBub3QgcmV0dXJuIHVudGlsIHJlbW90ZSBDUFVzIGFyZSBuZWFybHkgcmVhZHkgdG8gZXhlY3V0ZSA8ZnVuYz4KLSAqIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKi8KLQotaW50Ci1zbXBfY2FsbF9mdW5jdGlvbiAodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgZGF0YTsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7Ci0Jc3RhdGljIERFRklORV9TUElOTE9DSyhsb2NrKTsKLQlpbnQgcmV0cmllcyA9IDA7Ci0KLQlpZiAobnVtX29ubGluZV9jcHVzKCkgPCAyKQotCQlyZXR1cm4gMDsKLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQkvKiBjYW4gYWxzbyBkZWFkbG9jayBpZiBJUElzIGFyZSBkaXNhYmxlZCAqLwotCVdBUk5fT04oKGdldF9laWVtKCkgJiAoMVVMPDwoQ1BVX0lSUV9NQVggLSBJUElfSVJRKSkpID09IDApOwotCi0JCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JYXRvbWljX3NldCgmZGF0YS51bnN0YXJ0ZWRfY291bnQsIG51bV9vbmxpbmVfY3B1cygpIC0gMSk7Ci0JYXRvbWljX3NldCgmZGF0YS51bmZpbmlzaGVkX2NvdW50LCBudW1fb25saW5lX2NwdXMoKSAtIDEpOwotCi0JaWYgKHJldHJ5KSB7Ci0JCXNwaW5fbG9jayAoJmxvY2spOwotCQl3aGlsZSAoc21wX2NhbGxfZnVuY3Rpb25fZGF0YSAhPSAwKQotCQkJYmFycmllcigpOwotCX0KLQllbHNlIHsKLQkJc3Bpbl9sb2NrICgmbG9jayk7Ci0JCWlmIChzbXBfY2FsbF9mdW5jdGlvbl9kYXRhKSB7Ci0JCQlzcGluX3VubG9jayAoJmxvY2spOwotCQkJcmV0dXJuIC1FQlVTWTsKLQkJfQotCX0KLQotCXNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEgPSAmZGF0YTsKLQlzcGluX3VubG9jayAoJmxvY2spOwotCQotCS8qICBTZW5kIGEgbWVzc2FnZSB0byBhbGwgb3RoZXIgQ1BVcyBhbmQgd2FpdCBmb3IgdGhlbSB0byByZXNwb25kICAqLwotCXNlbmRfSVBJX2FsbGJ1dHNlbGYoSVBJX0NBTExfRlVOQyk7Ci0KLSByZXRyeToKLQkvKiAgV2FpdCBmb3IgcmVzcG9uc2UgICovCi0JdGltZW91dCA9IGppZmZpZXMgKyBIWjsKLQl3aGlsZSAoIChhdG9taWNfcmVhZCAoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDApICYmCi0JCXRpbWVfYmVmb3JlIChqaWZmaWVzLCB0aW1lb3V0KSApCi0JCWJhcnJpZXIgKCk7Ci0KLQlpZiAoYXRvbWljX3JlYWQgKCZkYXRhLnVuc3RhcnRlZF9jb3VudCkgPiAwKSB7Ci0JCXByaW50ayhLRVJOX0NSSVQgIlNNUCBDQUxMIEZVTkNUSU9OIFRJTUVEIE9VVCEgKGNwdT0lZCksIHRyeSAlZFxuIiwKLQkJICAgICAgc21wX3Byb2Nlc3Nvcl9pZCgpLCArK3JldHJpZXMpOwotCQlnb3RvIHJldHJ5OwotCX0KLQkvKiBXZSBlaXRoZXIgZ290IG9uZSBvciB0aW1lZCBvdXQuIFJlbGVhc2UgdGhlIGxvY2sgKi8KLQotCW1iKCk7Ci0Jc21wX2NhbGxfZnVuY3Rpb25fZGF0YSA9IE5VTEw7Ci0KLQl3aGlsZSAod2FpdCAmJiBhdG9taWNfcmVhZCAoJmRhdGEudW5maW5pc2hlZF9jb3VudCkgPiAwKQotCQkJYmFycmllciAoKTsKLQotCXJldHVybiAwOworCXNlbmRfSVBJX21hc2sobWFzaywgSVBJX0NBTExfRlVOQyk7CiB9CiAKLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCit7CisJc2VuZF9JUElfc2luZ2xlKGNwdSwgSVBJX0NBTExfRlVOQ19TSU5HTEUpOworfQogCiAvKgogICogRmx1c2ggYWxsIG90aGVyIENQVSdzIHRsYiBhbmQgdGhlbiBtaW5lLiAgRG8gdGhpcyB3aXRoIG9uX2VhY2hfY3B1KCkKQEAgLTM4NCw3ICsyOTIsNyBAQAogdm9pZAogc21wX2ZsdXNoX3RsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShmbHVzaF90bGJfYWxsX2xvY2FsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF90bGJfYWxsX2xvY2FsLCBOVUxMLCAxKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL2tlcm5lbC92bWxpbnV4Lmxkcy5TIGIvYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlMKaW5kZXggMmU1MTZiOC4uMWEzYjZjYyAxMDA2NDQKLS0tIGEvYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlMKKysrIGIvYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlMKQEAgLTY3LDcgKzY3LDYgQEAKIAlfZXRleHQgPSAuOwogCiAJUk9EQVRBCi0JQlVHX1RBQkxFCiAKIAkvKiB3cml0ZWFibGUgKi8KIAkvKiBNYWtlIHN1cmUgdGhpcyBpcyBwYWdlIGFsaWduZWQgc28KZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL21tL2luaXQuYyBiL2FyY2gvcGFyaXNjL21tL2luaXQuYwppbmRleCBjZTBkYTY4Li5iNGQ2Yzg3IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9tbS9pbml0LmMKKysrIGIvYXJjaC9wYXJpc2MvbW0vaW5pdC5jCkBAIC0xMDUzLDcgKzEwNTMsNyBAQAogCSAgICBkb19yZWN5Y2xlKys7CiAJfQogCXNwaW5fdW5sb2NrKCZzaWRfbG9jayk7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9sb2NhbCwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9sb2NhbCwgTlVMTCwgMSk7CiAJaWYgKGRvX3JlY3ljbGUpIHsKIAkgICAgc3Bpbl9sb2NrKCZzaWRfbG9jayk7CiAJICAgIHJlY3ljbGVfc2lkcyhyZWN5Y2xlX25kaXJ0eSxyZWN5Y2xlX2RpcnR5X2FycmF5KTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9LY29uZmlnIGIvYXJjaC9wb3dlcnBjL0tjb25maWcKaW5kZXggMzkzNGUyNi4uMjBlYWNmMiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL0tjb25maWcKKysrIGIvYXJjaC9wb3dlcnBjL0tjb25maWcKQEAgLTEwNSwxMSArMTA1LDE0IEBACiBjb25maWcgUFBDCiAJYm9vbAogCWRlZmF1bHQgeQorCXNlbGVjdCBIQVZFX0RZTkFNSUNfRlRSQUNFCisJc2VsZWN0IEhBVkVfRlRSQUNFCiAJc2VsZWN0IEhBVkVfSURFCi0Jc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAlzZWxlY3QgSEFWRV9LUFJPQkVTCiAJc2VsZWN0IEhBVkVfS1JFVFBST0JFUwogCXNlbGVjdCBIQVZFX0xNQgorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUyBpZiBTTVAKKwlzZWxlY3QgSEFWRV9PUFJPRklMRQogCiBjb25maWcgRUFSTFlfUFJJTlRLCiAJYm9vbApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvTWFrZWZpbGUKaW5kZXggMjM0NmQyNy4uZjNmNWUyNiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL01ha2VmaWxlCkBAIC0xMiw2ICsxMiwxOCBAQAogQ0ZMQUdTX2J0ZXh0Lm8JCSs9IC1mUElDCiBlbmRpZgogCitpZmRlZiBDT05GSUdfRlRSQUNFCisjIERvIG5vdCB0cmFjZSBlYXJseSBib290IGNvZGUKK0NGTEFHU19SRU1PVkVfY3B1dGFibGUubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9wcm9tX2luaXQubyA9IC1wZworCitpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKyMgZHluYW1pYyBmdHJhY2Ugc2V0dXAuCitDRkxBR1NfUkVNT1ZFX2Z0cmFjZS5vID0gLXBnCitlbmRpZgorCitlbmRpZgorCiBvYmoteQkJCQk6PSBjcHV0YWJsZS5vIHB0cmFjZS5vIHN5c2NhbGxzLm8gXAogCQkJCSAgIGlycS5vIGFsaWduLm8gc2lnbmFsXzMyLm8gcG1jLm8gdmRzby5vIFwKIAkJCQkgICBpbml0X3Rhc2subyBwcm9jZXNzLm8gc3lzdGJsLm8gaWRsZS5vIFwKQEAgLTc4LDYgKzkwLDggQEAKIG9iai0kKENPTkZJR19BVURJVCkJCSs9IGF1ZGl0Lm8KIG9iajY0LSQoQ09ORklHX0FVRElUKQkJKz0gY29tcGF0X2F1ZGl0Lm8KIAorb2JqLSQoQ09ORklHX0RZTkFNSUNfRlRSQUNFKQkrPSBmdHJhY2UubworCiBvYmotJChDT05GSUdfOFhYX01JTklNQUxfRlBFTVUpICs9IHNvZnRlbXU4eHgubwogCiBpZm5lcSAoJChDT05GSUdfUFBDX0lORElSRUNUX0lPKSx5KQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TCmluZGV4IDBjODYxNGQuLjcyMzFhNzAgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfMzIuUworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzMyLlMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxhc20vcHBjX2FzbS5oPgogI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgogI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKICN1bmRlZiBTSE9XX1NZU0NBTExTCiAjdW5kZWYgU0hPV19TWVNDQUxMU19UQVNLCkBAIC0xMDM1LDMgKzEwMzYsMTI5IEBACiAJLyogWFhYIGxvYWQgdXAgQkFUcyBhbmQgcGFuaWMgKi8KIAogI2VuZGlmIC8qIENPTkZJR19QUENfUlRBUyAqLworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorX0dMT0JBTChtY291bnQpCitfR0xPQkFMKF9tY291bnQpCisJc3R3dQlyMSwtNDgocjEpCisJc3R3CXIzLCAxMihyMSkKKwlzdHcJcjQsIDE2KHIxKQorCXN0dwlyNSwgMjAocjEpCisJc3R3CXI2LCAyNChyMSkKKwltZmxyCXIzCisJc3R3CXI3LCAyOChyMSkKKwltZmNyCXI1CisJc3R3CXI4LCAzMihyMSkKKwlzdHcJcjksIDM2KHIxKQorCXN0dwlyMTAsNDAocjEpCisJc3R3CXIzLCA0NChyMSkKKwlzdHcJcjUsIDgocjEpCisJc3ViaQlyMywgcjMsIE1DT1VOVF9JTlNOX1NJWkUKKwkuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWJsCWZ0cmFjZV9zdHViCisJbm9wCisJbHd6CXI2LCA4KHIxKQorCWx3eglyMCwgNDQocjEpCisJbHd6CXIzLCAxMihyMSkKKwltdGN0cglyMAorCWx3eglyNCwgMTYocjEpCisJbXRjcglyNgorCWx3eglyNSwgMjAocjEpCisJbHd6CXI2LCAyNChyMSkKKwlsd3oJcjAsIDUyKHIxKQorCWx3eglyNywgMjgocjEpCisJbHd6CXI4LCAzMihyMSkKKwltdGxyCXIwCisJbHd6CXI5LCAzNihyMSkKKwlsd3oJcjEwLDQwKHIxKQorCWFkZGkJcjEsIHIxLCA0OAorCWJjdHIKKworX0dMT0JBTChmdHJhY2VfY2FsbGVyKQorCS8qIEJhc2VkIG9mZiBvZiBvYmpkdW1wIG9wdHB1dCBmcm9tIGdsaWJjICovCisJc3R3dQlyMSwtNDgocjEpCisJc3R3CXIzLCAxMihyMSkKKwlzdHcJcjQsIDE2KHIxKQorCXN0dwlyNSwgMjAocjEpCisJc3R3CXI2LCAyNChyMSkKKwltZmxyCXIzCisJbHd6CXI0LCA1MihyMSkKKwltZmNyCXI1CisJc3R3CXI3LCAyOChyMSkKKwlzdHcJcjgsIDMyKHIxKQorCXN0dwlyOSwgMzYocjEpCisJc3R3CXIxMCw0MChyMSkKKwlzdHcJcjMsIDQ0KHIxKQorCXN0dwlyNSwgOChyMSkKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorLmdsb2JsIGZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwlibAlmdHJhY2Vfc3R1YgorCW5vcAorCWx3eglyNiwgOChyMSkKKwlsd3oJcjAsIDQ0KHIxKQorCWx3eglyMywgMTIocjEpCisJbXRjdHIJcjAKKwlsd3oJcjQsIDE2KHIxKQorCW10Y3IJcjYKKwlsd3oJcjUsIDIwKHIxKQorCWx3eglyNiwgMjQocjEpCisJbHd6CXIwLCA1MihyMSkKKwlsd3oJcjcsIDI4KHIxKQorCWx3eglyOCwgMzIocjEpCisJbXRscglyMAorCWx3eglyOSwgMzYocjEpCisJbHd6CXIxMCw0MChyMSkKKwlhZGRpCXIxLCByMSwgNDgKKwliY3RyCisjZWxzZQorX0dMT0JBTChtY291bnQpCitfR0xPQkFMKF9tY291bnQpCisJc3R3dQlyMSwtNDgocjEpCisJc3R3CXIzLCAxMihyMSkKKwlzdHcJcjQsIDE2KHIxKQorCXN0dwlyNSwgMjAocjEpCisJc3R3CXI2LCAyNChyMSkKKwltZmxyCXIzCisJbHd6CXI0LCA1MihyMSkKKwltZmNyCXI1CisJc3R3CXI3LCAyOChyMSkKKwlzdHcJcjgsIDMyKHIxKQorCXN0dwlyOSwgMzYocjEpCisJc3R3CXIxMCw0MChyMSkKKwlzdHcJcjMsIDQ0KHIxKQorCXN0dwlyNSwgOChyMSkKKworCXN1YmkJcjMsIHIzLCBNQ09VTlRfSU5TTl9TSVpFCisJTE9BRF9SRUdfQUREUihyNSwgZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKQorCWx3eglyNSwwKHI1KQorCisJbXRjdHIJcjUKKwliY3RybAorCisJbm9wCisKKwlsd3oJcjYsIDgocjEpCisJbHd6CXIwLCA0NChyMSkKKwlsd3oJcjMsIDEyKHIxKQorCW10Y3RyCXIwCisJbHd6CXI0LCAxNihyMSkKKwltdGNyCXI2CisJbHd6CXI1LCAyMChyMSkKKwlsd3oJcjYsIDI0KHIxKQorCWx3eglyMCwgNTIocjEpCisJbHd6CXI3LCAyOChyMSkKKwlsd3oJcjgsIDMyKHIxKQorCW10bHIJcjAKKwlsd3oJcjksIDM2KHIxKQorCWx3eglyMTAsNDAocjEpCisJYWRkaQlyMSwgcjEsIDQ4CisJYmN0cgorI2VuZGlmCisKK19HTE9CQUwoZnRyYWNlX3N0dWIpCisJYmxyCisKKyNlbmRpZiAvKiBDT05GSUdfTUNPVU5UICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzY0LlMgYi9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzY0LlMKaW5kZXggYzBkYjViNy4uMmY1MTFhOSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV82NC5TCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfNjQuUwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPGFzbS9idWcuaD4KICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAjaW5jbHVkZSA8YXNtL2lycWZsYWdzLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogCiAvKgogICogU3lzdGVtIGNhbGxzLgpAQCAtODcwLDMgKzg3MSw2NyBAQAogCWxkCXIwLDE2KHIxKQogCW10bHIgICAgcjAKICAgICAgICAgYmxyCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitfR0xPQkFMKG1jb3VudCkKK19HTE9CQUwoX21jb3VudCkKKwkvKiBUYWtlbiBmcm9tIG91dHB1dCBvZiBvYmpkdW1wIGZyb20gbGliNjQvZ2xpYmMgKi8KKwltZmxyCXIzCisJc3RkdQlyMSwgLTExMihyMSkKKwlzdGQJcjMsIDEyOChyMSkKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorCS5nbG9ibCBtY291bnRfY2FsbAorbWNvdW50X2NhbGw6CisJYmwJZnRyYWNlX3N0dWIKKwlub3AKKwlsZAlyMCwgMTI4KHIxKQorCW10bHIJcjAKKwlhZGRpCXIxLCByMSwgMTEyCisJYmxyCisKK19HTE9CQUwoZnRyYWNlX2NhbGxlcikKKwkvKiBUYWtlbiBmcm9tIG91dHB1dCBvZiBvYmpkdW1wIGZyb20gbGliNjQvZ2xpYmMgKi8KKwltZmxyCXIzCisJbGQJcjExLCAwKHIxKQorCXN0ZHUJcjEsIC0xMTIocjEpCisJc3RkCXIzLCAxMjgocjEpCisJbGQJcjQsIDE2KHIxMSkKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorLmdsb2JsIGZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwlibAlmdHJhY2Vfc3R1YgorCW5vcAorCWxkCXIwLCAxMjgocjEpCisJbXRscglyMAorCWFkZGkJcjEsIHIxLCAxMTIKK19HTE9CQUwoZnRyYWNlX3N0dWIpCisJYmxyCisjZWxzZQorX0dMT0JBTChtY291bnQpCisJYmxyCisKK19HTE9CQUwoX21jb3VudCkKKwkvKiBUYWtlbiBmcm9tIG91dHB1dCBvZiBvYmpkdW1wIGZyb20gbGliNjQvZ2xpYmMgKi8KKwltZmxyCXIzCisJbGQJcjExLCAwKHIxKQorCXN0ZHUJcjEsIC0xMTIocjEpCisJc3RkCXIzLCAxMjgocjEpCisJbGQJcjQsIDE2KHIxMSkKKworCXN1YmkJcjMsIHIzLCBNQ09VTlRfSU5TTl9TSVpFCisJTE9BRF9SRUdfQUREUihyNSxmdHJhY2VfdHJhY2VfZnVuY3Rpb24pCisJbGQJcjUsMChyNSkKKwlsZAlyNSwwKHI1KQorCW10Y3RyCXI1CisJYmN0cmwKKworCW5vcAorCWxkCXIwLCAxMjgocjEpCisJbXRscglyMAorCWFkZGkJcjEsIHIxLCAxMTIKK19HTE9CQUwoZnRyYWNlX3N0dWIpCisJYmxyCisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2Z0cmFjZS5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9mdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODU1Y2ViCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDE1NCBAQAorLyoKKyAqIENvZGUgZm9yIHJlcGxhY2luZyBmdHJhY2UgY2FsbHMgd2l0aCBqdW1wcy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGFua3MgZ29lcyBvdXQgdG8gUC5BLiBTZW1pLCBJbmMgZm9yIHN1cHBseWluZyBtZSB3aXRoIGEgUFBDNjQgYm94LgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorCisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZnRyYWNlX25vcCA9IDB4NjAwMDAwMDA7CisKKyNpZmRlZiBDT05GSUdfUFBDMzIKKyMgZGVmaW5lIEdFVF9BRERSKGFkZHIpIGFkZHIKKyNlbHNlCisvKiBQb3dlclBDNjQncyBmdW5jdGlvbnMgYXJlIGRhdGEgdGhhdCBwb2ludHMgdG8gdGhlIGZ1bmN0aW9ucyAqLworIyBkZWZpbmUgR0VUX0FERFIoYWRkcikgKih1bnNpZ25lZCBsb25nICopYWRkcgorI2VuZGlmCisKKworc3RhdGljIHVuc2lnbmVkIGludCBub3RyYWNlIGZ0cmFjZV9jYWxjX29mZnNldChsb25nIGlwLCBsb25nIGFkZHIpCit7CisJcmV0dXJuIChpbnQpKGFkZHIgLSBpcCk7Cit9CisKK25vdHJhY2UgdW5zaWduZWQgY2hhciAqZnRyYWNlX25vcF9yZXBsYWNlKHZvaWQpCit7CisJcmV0dXJuIChjaGFyICopJmZ0cmFjZV9ub3A7Cit9CisKK25vdHJhY2UgdW5zaWduZWQgY2hhciAqZnRyYWNlX2NhbGxfcmVwbGFjZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJc3RhdGljIHVuc2lnbmVkIGludCBvcDsKKworCS8qCisJICogSXQgd291bGQgYmUgbmljZSB0byBqdXN0IHVzZSBjcmVhdGVfZnVuY3Rpb25fY2FsbCwgYnV0IHRoYXQgd2lsbAorCSAqIHVwZGF0ZSB0aGUgY29kZSBpdHNlbGYuIEhlcmUgd2UgbmVlZCB0byBqdXN0IHJldHVybiB0aGUKKwkgKiBpbnN0cnVjdGlvbiB0aGF0IGlzIGdvaW5nIHRvIGJlIG1vZGlmaWVkLCB3aXRob3V0IG1vZGlmeWluZyB0aGUKKwkgKiBjb2RlLgorCSAqLworCWFkZHIgPSBHRVRfQUREUihhZGRyKTsKKworCS8qIFNldCB0byAiYmwgYWRkciIgKi8KKwlvcCA9IDB4NDgwMDAwMDEgfCAoZnRyYWNlX2NhbGNfb2Zmc2V0KGlwLCBhZGRyKSAmIDB4MDNmZmZmZmMpOworCisJLyoKKwkgKiBObyBsb2NraW5nIG5lZWRlZCwgdGhpcyBtdXN0IGJlIGNhbGxlZCB2aWEga3N0b3BfbWFjaGluZQorCSAqIHdoaWNoIGluIGVzc2VuY2UgaXMgbGlrZSBydW5uaW5nIG9uIGEgdW5pcHJvY2Vzc29yIG1hY2hpbmUuCisJICovCisJcmV0dXJuICh1bnNpZ25lZCBjaGFyICopJm9wOworfQorCisjaWZkZWYgQ09ORklHX1BQQzY0CisjIGRlZmluZSBfQVNNX0FMSUdOCSIgLmFsaWduIDMgIgorIyBkZWZpbmUgX0FTTV9QVFIJIiAubGxvbmcgIgorI2Vsc2UKKyMgZGVmaW5lIF9BU01fQUxJR04JIiAuYWxpZ24gMiAiCisjIGRlZmluZSBfQVNNX1BUUgkiIC5sb25nICIKKyNlbmRpZgorCitub3RyYWNlIGludAorZnRyYWNlX21vZGlmeV9jb2RlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGNoYXIgKm9sZF9jb2RlLAorCQkgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSkKK3sKKwl1bnNpZ25lZCByZXBsYWNlZDsKKwl1bnNpZ25lZCBvbGQgPSAqKHVuc2lnbmVkICopb2xkX2NvZGU7CisJdW5zaWduZWQgbmV3ID0gKih1bnNpZ25lZCAqKW5ld19jb2RlOworCWludCBmYXVsdGVkID0gMDsKKworCS8qCisJICogTm90ZTogRHVlIHRvIG1vZHVsZXMgYW5kIF9faW5pdCwgY29kZSBjYW4KKwkgKiAgZGlzYXBwZWFyIGFuZCBjaGFuZ2UsIHdlIG5lZWQgdG8gcHJvdGVjdCBhZ2FpbnN0IGZhdWx0aW5nCisJICogIGFzIHdlbGwgYXMgY29kZSBjaGFuZ2luZy4KKwkgKgorCSAqIE5vIHJlYWwgbG9ja2luZyBuZWVkZWQsIHRoaXMgY29kZSBpcyBydW4gdGhyb3VnaAorCSAqIGtzdG9wX21hY2hpbmUuCisJICovCisJYXNtIHZvbGF0aWxlICgKKwkJIjE6IGx3egkJJTEsIDAoJTIpXG4iCisJCSIgICBjbXB3CSUxLCAlNVxuIgorCQkiICAgYm5lCQkyZlxuIgorCQkiICAgc3R3dQklMywgMCglMilcbiIKKwkJIjI6XG4iCisJCSIuc2VjdGlvbiAuZml4dXAsIFwiYXhcIlxuIgorCQkiMzoJbGkgJTAsIDFcbiIKKwkJIgliIDJiXG4iCisJCSIucHJldmlvdXNcbiIKKwkJIi5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIKKwkJX0FTTV9BTElHTiAiXG4iCisJCV9BU01fUFRSICIxYiwgM2JcbiIKKwkJIi5wcmV2aW91cyIKKwkJOiAiPXIiKGZhdWx0ZWQpLCAiPXIiKHJlcGxhY2VkKQorCQk6ICJyIihpcCksICJyIihuZXcpLAorCQkgICIwIihmYXVsdGVkKSwgInIiKG9sZCkKKwkJOiAibWVtb3J5Iik7CisKKwlpZiAocmVwbGFjZWQgIT0gb2xkICYmIHJlcGxhY2VkICE9IG5ldykKKwkJZmF1bHRlZCA9IDI7CisKKwlpZiAoIWZhdWx0ZWQpCisJCWZsdXNoX2ljYWNoZV9yYW5nZShpcCwgaXAgKyA4KTsKKworCXJldHVybiBmYXVsdGVkOworfQorCitub3RyYWNlIGludCBmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV9mdW5jX3QgZnVuYykKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKHVuc2lnbmVkIGxvbmcpKCZmdHJhY2VfY2FsbCk7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisJaW50IHJldDsKKworCW1lbWNweShvbGQsICZmdHJhY2VfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgKHVuc2lnbmVkIGxvbmcpZnVuYyk7CisJcmV0ID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7CisKKwlyZXR1cm4gcmV0OworfQorCitub3RyYWNlIGludCBmdHJhY2VfbWNvdW50X3NldCh1bnNpZ25lZCBsb25nICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgaXAgPSAobG9uZykoJm1jb3VudF9jYWxsKTsKKwl1bnNpZ25lZCBsb25nICphZGRyID0gZGF0YTsKKwl1bnNpZ25lZCBjaGFyIG9sZFtNQ09VTlRfSU5TTl9TSVpFXSwgKm5ldzsKKworCS8qCisJICogUmVwbGFjZSB0aGUgbWNvdW50IHN0dWIgd2l0aCBhIHBvaW50ZXIgdG8gdGhlCisJICogaXAgcmVjb3JkZXIgZnVuY3Rpb24uCisJICovCisJbWVtY3B5KG9sZCwgJm1jb3VudF9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAqYWRkcik7CisJKmFkZHIgPSBmdHJhY2VfbW9kaWZ5X2NvZGUoaXAsIG9sZCwgbmV3KTsKKworCXJldHVybiAwOworfQorCitpbnQgX19pbml0IGZ0cmFjZV9keW5fYXJjaF9pbml0KHZvaWQgKmRhdGEpCit7CisJLyogVGhpcyBpcyBydW5uaW5nIGluIGtzdG9wX21hY2hpbmUgKi8KKworCWZ0cmFjZV9tY291bnRfc2V0KGRhdGEpOworCisJcmV0dXJuIDA7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYwppbmRleCBlMzFhY2E5Mi4uMTg4MmJmNCAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9pby5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYwpAQCAtMTIwLDcgKzEyMCw4IEBACiAKICNkZWZpbmUgSU9fQ0hFQ0tfQUxJR04odixhKSAoKCgodW5zaWduZWQgbG9uZykodikpICYgKChhKSAtIDEpKSA9PSAwKQogCi12b2lkIF9tZW1zZXRfaW8odm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyLCBpbnQgYywgdW5zaWduZWQgbG9uZyBuKQorbm90cmFjZSB2b2lkCitfbWVtc2V0X2lvKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkciwgaW50IGMsIHVuc2lnbmVkIGxvbmcgbikKIHsKIAl2b2lkICpwID0gKHZvaWQgX19mb3JjZSAqKWFkZHI7CiAJdTMyIGxjID0gYzsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL2lycS5jCmluZGV4IGJjYzI0OWQuLmRjYzk0NmUgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9pcnEuYwpAQCAtOTgsNyArOTgsNyBAQAogCiBpbnQgZGlzdHJpYnV0ZV9pcnFzID0gMTsKIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGdldF9oYXJkX2VuYWJsZWQodm9pZCkKK3N0YXRpYyBpbmxpbmUgbm90cmFjZSB1bnNpZ25lZCBsb25nIGdldF9oYXJkX2VuYWJsZWQodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIGVuYWJsZWQ7CiAKQEAgLTEwOCwxMyArMTA4LDEzIEBACiAJcmV0dXJuIGVuYWJsZWQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfc29mdF9lbmFibGVkKHVuc2lnbmVkIGxvbmcgZW5hYmxlKQorc3RhdGljIGlubGluZSBub3RyYWNlIHZvaWQgc2V0X3NvZnRfZW5hYmxlZCh1bnNpZ25lZCBsb25nIGVuYWJsZSkKIHsKIAlfX2FzbV9fIF9fdm9sYXRpbGVfXygic3RiICUwLCUxKDEzKSIKIAk6IDogInIiIChlbmFibGUpLCAiaSIgKG9mZnNldG9mKHN0cnVjdCBwYWNhX3N0cnVjdCwgc29mdF9lbmFibGVkKSkpOwogfQogCi12b2lkIHJhd19sb2NhbF9pcnFfcmVzdG9yZSh1bnNpZ25lZCBsb25nIGVuKQorbm90cmFjZSB2b2lkIHJhd19sb2NhbF9pcnFfcmVzdG9yZSh1bnNpZ25lZCBsb25nIGVuKQogewogCS8qCiAJICogZ2V0X3BhY2EoKS0+c29mdF9lbmFibGVkID0gZW47CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCmluZGV4IDcwNDM3NWIuLmI3MzJiNWYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCkBAIC0xNzIsNyArMTcyLDcgQEAKIHsKIAlpbnQgbXlfY3B1LCBpLCBub3RpZmllZD0tMTsKIAotCXNtcF9jYWxsX2Z1bmN0aW9uKGtleGVjX3NtcF9kb3duLCBOVUxMLCAwLCAvKiB3YWl0ICovMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oa2V4ZWNfc21wX2Rvd24sIE5VTEwsIC8qIHdhaXQgKi8wKTsKIAlteV9jcHUgPSBnZXRfY3B1KCk7CiAKIAkvKiBjaGVjayB0aGUgb3RoZXJzIGNwdXMgYXJlIG5vdyBkb3duICh2aWEgcGFjYSBodyBjcHUgaWQgPT0gLTEpICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL29mX3BsYXRmb3JtLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL29mX3BsYXRmb3JtLmMKaW5kZXggZTc5YWQ4YS4uM2YzN2E2ZSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9vZl9wbGF0Zm9ybS5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvb2ZfcGxhdGZvcm0uYwpAQCAtNzYsNiArNzYsOCBAQAogCQlyZXR1cm4gTlVMTDsKIAogCWRldi0+ZG1hX21hc2sgPSAweGZmZmZmZmZmVUw7CisJZGV2LT5kZXYuY29oZXJlbnRfZG1hX21hc2sgPSBETUFfMzJCSVRfTUFTSzsKKwogCWRldi0+ZGV2LmJ1cyA9ICZvZl9wbGF0Zm9ybV9idXNfdHlwZTsKIAogCS8qIFdlIGRvIG5vdCBmaWxsIHRoZSBETUEgb3BzIGZvciBwbGF0Zm9ybSBkZXZpY2VzIGJ5IGRlZmF1bHQuCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3BwY19rc3ltcy5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9wcGNfa3N5bXMuYwppbmRleCBkM2FjNjMxLi5hOGQwMjUwIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3BwY19rc3ltcy5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcHBjX2tzeW1zLmMKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlIDxhc20vZGl2NjQuaD4KICNpbmNsdWRlIDxhc20vc2lnbmFsLmg+CiAjaW5jbHVkZSA8YXNtL2Rjci5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KIAogI2lmZGVmIENPTkZJR19QUEMzMgogZXh0ZXJuIHZvaWQgdHJhbnNmZXJfdG9faGFuZGxlcih2b2lkKTsKQEAgLTY3LDYgKzY4LDEwIEBACiBFWFBPUlRfU1lNQk9MKHN5c19zaWdyZXR1cm4pOwogI2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfRlRSQUNFCitFWFBPUlRfU1lNQk9MKF9tY291bnQpOworI2VuZGlmCisKIEVYUE9SVF9TWU1CT0woc3RyY3B5KTsKIEVYUE9SVF9TWU1CT0woc3RybmNweSk7CiBFWFBPUlRfU1lNQk9MKHN0cmNhdCk7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3J0YXMuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcnRhcy5jCmluZGV4IDM0ODQzYzMuLjY0N2YzZTggMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvcnRhcy5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcnRhcy5jCkBAIC03NDcsNyArNzQ3LDcgQEAKIAkvKiBDYWxsIGZ1bmN0aW9uIG9uIGFsbCBDUFVzLiAgT25lIG9mIHVzIHdpbGwgbWFrZSB0aGUKIAkgKiBydGFzIGNhbGwKIAkgKi8KLQlpZiAob25fZWFjaF9jcHUocnRhc19wZXJjcHVfc3VzcGVuZF9tZSwgJmRhdGEsIDEsIDApKQorCWlmIChvbl9lYWNoX2NwdShydGFzX3BlcmNwdV9zdXNwZW5kX21lLCAmZGF0YSwgMCkpCiAJCWRhdGEuZXJyb3IgPSAtRUlOVkFMOwogCiAJd2FpdF9mb3JfY29tcGxldGlvbigmZG9uZSk7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3NldHVwXzMyLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3NldHVwXzMyLmMKaW5kZXggNTExMmE0YS4uMTllOGZjYiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9zZXR1cF8zMi5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvc2V0dXBfMzIuYwpAQCAtODEsNyArODEsNyBAQAogICogZnJvbSB0aGUgYWRkcmVzcyB0aGF0IGl0IHdhcyBsaW5rZWQgYXQsIHNvIHdlIG11c3QgdXNlIFJFTE9DL1BUUlJFTE9DCiAgKiB0byBhY2Nlc3Mgc3RhdGljIGRhdGEgKGluY2x1ZGluZyBzdHJpbmdzKS4gIC0tIHBhdWx1cwogICovCi11bnNpZ25lZCBsb25nIF9faW5pdCBlYXJseV9pbml0KHVuc2lnbmVkIGxvbmcgZHRfcHRyKQorbm90cmFjZSB1bnNpZ25lZCBsb25nIF9faW5pdCBlYXJseV9pbml0KHVuc2lnbmVkIGxvbmcgZHRfcHRyKQogewogCXVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gcmVsb2Nfb2Zmc2V0KCk7CiAJc3RydWN0IGNwdV9zcGVjICpzcGVjOwpAQCAtMTExLDcgKzExMSw3IEBACiAgKiBUaGlzIGlzIGNhbGxlZCB2ZXJ5IGVhcmx5IG9uIHRoZSBib290IHByb2Nlc3MsIGFmdGVyIGEgbWluaW1hbAogICogTU1VIGVudmlyb25tZW50IGhhcyBiZWVuIHNldCB1cCBidXQgYmVmb3JlIE1NVV9pbml0IGlzIGNhbGxlZC4KICAqLwotdm9pZCBfX2luaXQgbWFjaGluZV9pbml0KHVuc2lnbmVkIGxvbmcgZHRfcHRyLCB1bnNpZ25lZCBsb25nIHBoeXMpCitub3RyYWNlIHZvaWQgX19pbml0IG1hY2hpbmVfaW5pdCh1bnNpZ25lZCBsb25nIGR0X3B0ciwgdW5zaWduZWQgbG9uZyBwaHlzKQogewogCS8qIEVuYWJsZSBlYXJseSBkZWJ1Z2dpbmcgaWYgYW55IHNwZWNpZmllZCAoc2VlIHVkYmcuaCkgKi8KIAl1ZGJnX2Vhcmx5X2luaXQoKTsKQEAgLTEzMyw3ICsxMzMsNyBAQAogCiAjaWZkZWYgQ09ORklHX0JPT0tFX1dEVAogLyogQ2hlY2tzIHdkdD14IGFuZCB3ZHRfcGVyaW9kPXh4IGNvbW1hbmQtbGluZSBvcHRpb24gKi8KLWludCBfX2luaXQgZWFybHlfcGFyc2Vfd2R0KGNoYXIgKnApCitub3RyYWNlIGludCBfX2luaXQgZWFybHlfcGFyc2Vfd2R0KGNoYXIgKnApCiB7CiAJaWYgKHAgJiYgc3RybmNtcChwLCAiMCIsIDEpICE9IDApCiAJICAgICAgIGJvb2tlX3dkdF9lbmFibGVkID0gMTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc21wLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3NtcC5jCmluZGV4IDE0NTdhYTAuLjUxOTFiNDYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9zbXAuYwpAQCAtNzIsMTIgKzcyLDggQEAKIAogc3RhdGljIHZvbGF0aWxlIHVuc2lnbmVkIGludCBjcHVfY2FsbGluX21hcFtOUl9DUFVTXTsKIAotdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7Ci0KIGludCBzbXRfZW5hYmxlZF9hdF9ib290ID0gMTsKIAotc3RhdGljIGludCBpcGlfZmFpbF9vazsKLQogc3RhdGljIHZvaWQgKCpjcmFzaF9pcGlfZnVuY3Rpb25fcHRyKShzdHJ1Y3QgcHRfcmVncyAqKSA9IE5VTEw7CiAKICNpZmRlZiBDT05GSUdfUFBDNjQKQEAgLTk5LDEyICs5NSwxNSBAQAogewogCXN3aXRjaChtc2cpIHsKIAljYXNlIFBQQ19NU0dfQ0FMTF9GVU5DVElPTjoKLQkJc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CisJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAJCWJyZWFrOwogCWNhc2UgUFBDX01TR19SRVNDSEVEVUxFOgogCQkvKiBYWFggRG8gd2UgaGF2ZSB0byBkbyB0aGlzPyAqLwogCQlzZXRfbmVlZF9yZXNjaGVkKCk7CiAJCWJyZWFrOworCWNhc2UgUFBDX01TR19DQUxMX0ZVTkNfU0lOR0xFOgorCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKKwkJYnJlYWs7CiAJY2FzZSBQUENfTVNHX0RFQlVHR0VSX0JSRUFLOgogCQlpZiAoY3Jhc2hfaXBpX2Z1bmN0aW9uX3B0cikgewogCQkJY3Jhc2hfaXBpX2Z1bmN0aW9uX3B0cihnZXRfaXJxX3JlZ3MoKSk7CkBAIC0xMjgsNiArMTI3LDE5IEBACiAJCXNtcF9vcHMtPm1lc3NhZ2VfcGFzcyhjcHUsIFBQQ19NU0dfUkVTQ0hFRFVMRSk7CiB9CiAKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQoreworCXNtcF9vcHMtPm1lc3NhZ2VfcGFzcyhjcHUsIFBQQ19NU0dfQ0FMTF9GVU5DX1NJTkdMRSk7Cit9CisKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQoreworCXVuc2lnbmVkIGludCBjcHU7CisKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spCisJCXNtcF9vcHMtPm1lc3NhZ2VfcGFzcyhjcHUsIFBQQ19NU0dfQ0FMTF9GVU5DVElPTik7Cit9CisKICNpZmRlZiBDT05GSUdfREVCVUdHRVIKIHZvaWQgc21wX3NlbmRfZGVidWdnZXJfYnJlYWsoaW50IGNwdSkKIHsKQEAgLTE1NCwyMTUgKzE2Niw5IEBACiAJCTsKIH0KIAotLyoKLSAqIFN0cnVjdHVyZSBhbmQgZGF0YSBmb3Igc21wX2NhbGxfZnVuY3Rpb24oKS4gVGhpcyBpcyBkZXNpZ25lZCB0byBtaW5pbWlzZQotICogc3RhdGljIG1lbW9yeSByZXF1aXJlbWVudHMuIEl0IGFsc28gbG9va3MgY2xlYW5lci4KLSAqIFN0b2xlbiBmcm9tIHRoZSBpMzg2IHZlcnNpb24uCi0gKi8KLXN0YXRpYyAgX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXAgREVGSU5FX1NQSU5MT0NLKGNhbGxfbG9jayk7Ci0KLXN0YXRpYyBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWF0b21pY190IHN0YXJ0ZWQ7Ci0JYXRvbWljX3QgZmluaXNoZWQ7Ci0JaW50IHdhaXQ7Ci19ICpjYWxsX2RhdGE7Ci0KLS8qIGRlbGF5IG9mIGF0IGxlYXN0IDggc2Vjb25kcyAqLwotI2RlZmluZSBTTVBfQ0FMTF9USU1FT1VUCTgKLQotLyoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBzZW5kIGEgJ2dlbmVyaWMgY2FsbCBmdW5jdGlvbicgSVBJIHRvIG90aGVyIG9ubGluZQotICogQ1BVUyBpbiB0aGUgc3lzdGVtLgotICoKLSAqIFtTVU1NQVJZXSBSdW4gYSBmdW5jdGlvbiBvbiBvdGhlciBDUFVzLgotICogPGZ1bmM+IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiA8aW5mbz4gQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiA8bm9uYXRvbWljPiBjdXJyZW50bHkgdW51c2VkLgotICogPHdhaXQ+IElmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqIFtSRVRVUk5TXSAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4gRG9lcyBub3QgcmV0dXJuIHVudGlsCi0gKiByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPDxmdW5jPj4gb3IgYXJlIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKiA8bWFwPiBpcyBhIGNwdSBtYXAgb2YgdGhlIGNwdXMgdG8gc2VuZCBJUEkgdG8uCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotc3RhdGljIGludCBfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcCh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSAgIGludCBub25hdG9taWMsIGludCB3YWl0LCBjcHVtYXNrX3QgbWFwKQotewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IHJldCA9IC0xLCBudW1fY3B1czsKLQlpbnQgY3B1OwotCXU2NCB0aW1lb3V0OwotCi0JaWYgKHVubGlrZWx5KHNtcF9vcHMgPT0gTlVMTCkpCi0JCXJldHVybiByZXQ7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCS8qIHJlbW92ZSAnc2VsZicgZnJvbSB0aGUgbWFwICovCi0JaWYgKGNwdV9pc3NldChzbXBfcHJvY2Vzc29yX2lkKCksIG1hcCkpCi0JCWNwdV9jbGVhcihzbXBfcHJvY2Vzc29yX2lkKCksIG1hcCk7Ci0KLQkvKiBzYW5pdHkgY2hlY2sgdGhlIG1hcCwgcmVtb3ZlIGFueSBub24tb25saW5lIHByb2Nlc3NvcnMuICovCi0JY3B1c19hbmQobWFwLCBtYXAsIGNwdV9vbmxpbmVfbWFwKTsKLQotCW51bV9jcHVzID0gY3B1c193ZWlnaHQobWFwKTsKLQlpZiAoIW51bV9jcHVzKQotCQlnb3RvIGRvbmU7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQlzbXBfd21iKCk7Ci0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIENQVXMgaW4gdGhlIG1hcCAqLwotCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFwKQotCQlzbXBfb3BzLT5tZXNzYWdlX3Bhc3MoY3B1LCBQUENfTVNHX0NBTExfRlVOQ1RJT04pOwotCi0JdGltZW91dCA9IGdldF90YigpICsgKHU2NCkgU01QX0NBTExfVElNRU9VVCAqIHRiX3RpY2tzX3Blcl9zZWM7Ci0KLQkvKiBXYWl0IGZvciBpbmRpY2F0aW9uIHRoYXQgdGhleSBoYXZlIHJlY2VpdmVkIHRoZSBtZXNzYWdlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IG51bV9jcHVzKSB7Ci0JCUhNVF9sb3coKTsKLQkJaWYgKGdldF90YigpID49IHRpbWVvdXQpIHsKLQkJCXByaW50aygic21wX2NhbGxfZnVuY3Rpb24gb24gY3B1ICVkOiBvdGhlciBjcHVzIG5vdCAiCi0JCQkJInJlc3BvbmRpbmcgKCVkKVxuIiwgc21wX3Byb2Nlc3Nvcl9pZCgpLAotCQkJCWF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpKTsKLQkJCWlmICghaXBpX2ZhaWxfb2spCi0JCQkJZGVidWdnZXIoTlVMTCk7Ci0JCQlnb3RvIG91dDsKLQkJfQotCX0KLQotCS8qIG9wdGlvbmFsbHkgd2FpdCBmb3IgdGhlIENQVXMgdG8gY29tcGxldGUgKi8KLQlpZiAod2FpdCkgewotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IG51bV9jcHVzKSB7Ci0JCQlITVRfbG93KCk7Ci0JCQlpZiAoZ2V0X3RiKCkgPj0gdGltZW91dCkgewotCQkJCXByaW50aygic21wX2NhbGxfZnVuY3Rpb24gb24gY3B1ICVkOiBvdGhlciAiCi0JCQkJCSJjcHVzIG5vdCBmaW5pc2hpbmcgKCVkLyVkKVxuIiwKLQkJCQkJc21wX3Byb2Nlc3Nvcl9pZCgpLAotCQkJCQlhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCksCi0JCQkJCWF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpKTsKLQkJCQlkZWJ1Z2dlcihOVUxMKTsKLQkJCQlnb3RvIG91dDsKLQkJCX0KLQkJfQotCX0KLQotIGRvbmU6Ci0JcmV0ID0gMDsKLQotIG91dDoKLQljYWxsX2RhdGEgPSBOVUxMOwotCUhNVF9tZWRpdW0oKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IF9fc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJICAgICAgIGludCBub25hdG9taWMsIGludCB3YWl0KQotewotCWludCByZXQ7Ci0Jc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwotCXJldCA9X19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgbm9uYXRvbWljLCB3YWl0LAotCQkJCSAgICAgICBjcHVfb25saW5lX21hcCk7Ci0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JcmV0dXJuIHJldDsKLX0KLQotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JCQlpbnQgd2FpdCkKLXsKLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JcmV0dXJuIF9fc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgbm9uYXRvbWljLCB3YWl0KTsKLX0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwotCi1pbnQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHUsIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkgICAgIGludCBub25hdG9taWMsIGludCB3YWl0KQotewotCWNwdW1hc2tfdCBtYXAgPSBDUFVfTUFTS19OT05FOwotCWludCByZXQgPSAwOwotCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWlmICghY3B1X29ubGluZShjcHUpKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWNwdV9zZXQoY3B1LCBtYXApOwotCWlmIChjcHUgIT0gZ2V0X2NwdSgpKSB7Ci0JCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQkJcmV0ID0gX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgbm9uYXRvbWljLCB3YWl0LCBtYXApOwotCQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQl9IGVsc2UgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JfQotCXB1dF9jcHUoKTsKLQlyZXR1cm4gcmV0OwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwotCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlpbnQgbm9sb2NrOwotCi0JLyogSXQncyBPSyB0byBmYWlsIHNlbmRpbmcgdGhlIElQSSwgc2luY2UgdGhlIGFsdGVybmF0aXZlIGlzIHRvCi0JICogYmUgc3R1Y2sgZm9yZXZlciB3YWl0aW5nIG9uIHRoZSBvdGhlciBDUFUgdG8gdGFrZSB0aGUgaW50ZXJydXB0LgotCSAqCi0JICogSXQncyBiZXR0ZXIgdG8gYXQgbGVhc3QgY29udGludWUgYW5kIGdvIHRocm91Z2ggcmVib290LCBzaW5jZSB0aGlzCi0JICogZnVuY3Rpb24gaXMgdXN1YWxseSBjYWxsZWQgYXQgcGFuaWMgb3IgcmVib290IHRpbWUgaW4gdGhlIGZpcnN0Ci0JICogcGxhY2UuCi0JICovCi0JaXBpX2ZhaWxfb2sgPSAxOwotCi0JLyogRG9uJ3QgZGVhZGxvY2sgaW4gY2FzZSB3ZSBnb3QgY2FsbGVkIHRocm91Z2ggcGFuaWMgKi8KLQlub2xvY2sgPSAhc3Bpbl90cnlsb2NrKCZjYWxsX2xvY2spOwotCV9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKHN0b3BfdGhpc19jcHUsIE5VTEwsIDEsIDAsIGNwdV9vbmxpbmVfbWFwKTsKLQlpZiAoIW5vbG9jaykKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci19Ci0KLXZvaWQgc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpCi17Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWludCB3YWl0OwotCi0JLyogY2FsbF9kYXRhIHdpbGwgYmUgTlVMTCBpZiB0aGUgc2VuZGVyIHRpbWVkIG91dCB3aGlsZQotCSAqIHdhaXRpbmcgb24gdXMgdG8gcmVjZWl2ZSB0aGUgY2FsbC4KLQkgKi8KLQlpZiAoIWNhbGxfZGF0YSkKLQkJcmV0dXJuOwotCi0JZnVuYyA9IGNhbGxfZGF0YS0+ZnVuYzsKLQlpbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCXdhaXQgPSBjYWxsX2RhdGEtPndhaXQ7Ci0KLQlpZiAoIXdhaXQpCi0JCXNtcF9tYl9fYmVmb3JlX2F0b21pY19pbmMoKTsKLQotCS8qCi0JICogTm90aWZ5IGluaXRpYXRpbmcgQ1BVIHRoYXQgSSd2ZSBncmFiYmVkIHRoZSBkYXRhIGFuZCBhbQotCSAqIGFib3V0IHRvIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uCi0JICovCi0JYXRvbWljX2luYygmY2FsbF9kYXRhLT5zdGFydGVkKTsKLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQgdGhlIGluZm8gc3RydWN0dXJlIG1heSBiZSBvdXQgb2Ygc2NvcGUgdW5sZXNzIHdhaXQ9PTEKLQkgKi8KLQkoKmZ1bmMpKGluZm8pOwotCWlmICh3YWl0KSB7Ci0JCXNtcF9tYl9fYmVmb3JlX2F0b21pY19pbmMoKTsKLQkJYXRvbWljX2luYygmY2FsbF9kYXRhLT5maW5pc2hlZCk7Ci0JfQorCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogfQogCiBleHRlcm4gc3RydWN0IGdldHRpbWVvZmRheV9zdHJ1Y3QgZG9fZ3RvZDsKQEAgLTU5Niw5ICs0MDIsOSBAQAogCiAJc2Vjb25kYXJ5X2NwdV90aW1lX2luaXQoKTsKIAotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKKwlpcGlfY2FsbF9sb2NrKCk7CiAJY3B1X3NldChjcHUsIGNwdV9vbmxpbmVfbWFwKTsKLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKKwlpcGlfY2FsbF91bmxvY2soKTsKIAogCWxvY2FsX2lycV9lbmFibGUoKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCA5NjI5NDQwLi4zY2YwZDk0IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtMTIsNiArMTIsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zdGFja3RyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogCiAvKgpAQCAtNDQsMyArNDUsNCBAQAogCQlzcCA9IG5ld3NwOwogCX0KIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC90YXVfNnh4LmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RhdV82eHguYwppbmRleCAzNjhhNDkzLi5jM2E1NmQ2IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3RhdV82eHguYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RhdV82eHguYwpAQCAtMTkyLDcgKzE5Miw3IEBACiAKIAkvKiBzY2hlZHVsZSBvdXJzZWx2ZXMgdG8gYmUgcnVuIGFnYWluICovCiAJbW9kX3RpbWVyKCZ0YXVfdGltZXIsIGppZmZpZXMgKyBzaHJpbmtfdGltZXIpIDsKLQlvbl9lYWNoX2NwdSh0YXVfdGltZW91dCwgTlVMTCwgMSwgMCk7CisJb25fZWFjaF9jcHUodGF1X3RpbWVvdXQsIE5VTEwsIDApOwogfQogCiAvKgpAQCAtMjM0LDcgKzIzNCw3IEBACiAJdGF1X3RpbWVyLmV4cGlyZXMgPSBqaWZmaWVzICsgc2hyaW5rX3RpbWVyOwogCWFkZF90aW1lcigmdGF1X3RpbWVyKTsKIAotCW9uX2VhY2hfY3B1KFRBVV9pbml0X3NtcCwgTlVMTCwgMSwgMCk7CisJb25fZWFjaF9jcHUoVEFVX2luaXRfc21wLCBOVUxMLCAwKTsKIAogCXByaW50aygiVGhlcm1hbCBhc3Npc3QgdW5pdCAiKTsKICNpZmRlZiBDT05GSUdfVEFVX0lOVApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC90aW1lLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RpbWUuYwppbmRleCA3MzQwMWU4Li5mMWEzOGE2IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3RpbWUuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RpbWUuYwpAQCAtMzIyLDcgKzMyMiw3IEBACiB7CiAJaWYgKCFjcHVfaGFzX2ZlYXR1cmUoQ1BVX0ZUUl9QVVJSKSkKIAkJcmV0dXJuOwotCW9uX2VhY2hfY3B1KHNuYXBzaG90X3RiX2FuZF9wdXJyLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShzbmFwc2hvdF90Yl9hbmRfcHVyciwgTlVMTCwgMSk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3ZtbGludXgubGRzLlMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3ZtbGludXgubGRzLlMKaW5kZXggMGMzMDAwYi4uNTNkNTdkMSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC92bWxpbnV4Lmxkcy5TCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvdm1saW51eC5sZHMuUwpAQCAtNjQsOCArNjQsNiBAQAogCiAJTk9URVMKIAotCUJVR19UQUJMRQotCiAvKgogICogSW5pdCBzZWN0aW9ucyBkaXNjYXJkZWQgYXQgcnVudGltZQogICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbW0vc2xpY2UuYyBiL2FyY2gvcG93ZXJwYy9tbS9zbGljZS5jCmluZGV4IGFkOTI4ZWQuLjJiZDEyZDkgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9tbS9zbGljZS5jCisrKyBiL2FyY2gvcG93ZXJwYy9tbS9zbGljZS5jCkBAIC0yMTgsNyArMjE4LDcgQEAKIAltYigpOwogCiAJLyogWFhYIHRoaXMgaXMgc3ViLW9wdGltYWwgYnV0IHdpbGwgZG8gZm9yIG5vdyAqLwotCW9uX2VhY2hfY3B1KHNsaWNlX2ZsdXNoX3NlZ21lbnRzLCBtbSwgMCwgMSk7CisJb25fZWFjaF9jcHUoc2xpY2VfZmx1c2hfc2VnbWVudHMsIG1tLCAxKTsKICNpZmRlZiBDT05GSUdfU1BVX0JBU0UKIAlzcHVfZmx1c2hfYWxsX3NsYnMobW0pOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbW0vdGxiXzY0LmMgYi9hcmNoL3Bvd2VycGMvbW0vdGxiXzY0LmMKaW5kZXggZTJkODY3Yy4uNjlhZDgyOSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL21tL3RsYl82NC5jCisrKyBiL2FyY2gvcG93ZXJwYy9tbS90bGJfNjQuYwpAQCAtNjYsNyArNjYsNyBAQAogewogCXB0ZV9mcmVlbGlzdF9mb3JjZWRfZnJlZSsrOwogCi0Jc21wX2NhbGxfZnVuY3Rpb24ocHRlX2ZyZWVfc21wX3N5bmMsIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKHB0ZV9mcmVlX3NtcF9zeW5jLCBOVUxMLCAxKTsKIAogCXBndGFibGVfZnJlZShwZ2YpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL29wcm9maWxlL2NvbW1vbi5jIGIvYXJjaC9wb3dlcnBjL29wcm9maWxlL2NvbW1vbi5jCmluZGV4IDQ5MDhkYzkuLjE3ODA3YWMgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9vcHJvZmlsZS9jb21tb24uYworKysgYi9hcmNoL3Bvd2VycGMvb3Byb2ZpbGUvY29tbW9uLmMKQEAgLTY1LDcgKzY1LDcgQEAKIAogCS8qIENvbmZpZ3VyZSB0aGUgcmVnaXN0ZXJzIG9uIGFsbCBjcHVzLgkgSWYgYW4gZXJyb3Igb2NjdXJzIG9uIG9uZQogCSAqIG9mIHRoZSBjcHVzLCBvcF9wZXJfY3B1X3JjIHdpbGwgYmUgc2V0IHRvIHRoZSBlcnJvciAqLwotCW9uX2VhY2hfY3B1KG9wX3Bvd2VycGNfY3B1X3NldHVwLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShvcF9wb3dlcnBjX2NwdV9zZXR1cCwgTlVMTCwgMSk7CiAKIG91dDoJaWYgKG9wX3Blcl9jcHVfcmMpIHsKIAkJLyogZXJyb3Igb24gc2V0dXAgcmVsZWFzZSB0aGUgcGVyZm9ybWFuY2UgY291bnRlciBoYXJkd2FyZSAqLwpAQCAtMTAwLDcgKzEwMCw3IEBACiAJaWYgKG1vZGVsLT5nbG9iYWxfc3RhcnQpCiAJCXJldHVybiBtb2RlbC0+Z2xvYmFsX3N0YXJ0KGN0cik7CiAJaWYgKG1vZGVsLT5zdGFydCkgewotCQlvbl9lYWNoX2NwdShvcF9wb3dlcnBjX2NwdV9zdGFydCwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KG9wX3Bvd2VycGNfY3B1X3N0YXJ0LCBOVUxMLCAxKTsKIAkJcmV0dXJuIG9wX3Blcl9jcHVfcmM7CiAJfQogCXJldHVybiAtRUlPOyAvKiBObyBzdGFydCBmdW5jdGlvbiBpcyBkZWZpbmVkIGZvciB0aGlzCkBAIC0xMTUsNyArMTE1LDcgQEAKIHN0YXRpYyB2b2lkIG9wX3Bvd2VycGNfc3RvcCh2b2lkKQogewogCWlmIChtb2RlbC0+c3RvcCkKLQkJb25fZWFjaF9jcHUob3BfcG93ZXJwY19jcHVfc3RvcCwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KG9wX3Bvd2VycGNfY3B1X3N0b3AsIE5VTEwsIDEpOwogICAgICAgICBpZiAobW9kZWwtPmdsb2JhbF9zdG9wKQogICAgICAgICAgICAgICAgIG1vZGVsLT5nbG9iYWxfc3RvcCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9jZWxsL2ludGVycnVwdC5jIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9jZWxsL2ludGVycnVwdC5jCmluZGV4IDViZjdkZjEuLjJkNWJiMjIgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvY2VsbC9pbnRlcnJ1cHQuYworKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL2NlbGwvaW50ZXJydXB0LmMKQEAgLTIxOCw2ICsyMTgsNyBAQAogewogCWlpY19yZXF1ZXN0X2lwaShQUENfTVNHX0NBTExfRlVOQ1RJT04sICJJUEktY2FsbCIpOwogCWlpY19yZXF1ZXN0X2lwaShQUENfTVNHX1JFU0NIRURVTEUsICJJUEktcmVzY2hlZCIpOworCWlpY19yZXF1ZXN0X2lwaShQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUsICJJUEktY2FsbC1zaW5nbGUiKTsKICNpZmRlZiBDT05GSUdfREVCVUdHRVIKIAlpaWNfcmVxdWVzdF9pcGkoUFBDX01TR19ERUJVR0dFUl9CUkVBSywgIklQSS1kZWJ1ZyIpOwogI2VuZGlmIC8qIENPTkZJR19ERUJVR0dFUiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm1hYy9NYWtlZmlsZSBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJtYWMvTWFrZWZpbGUKaW5kZXggNGQ3MmM4Zi4uODk3NzQxNyAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm1hYy9NYWtlZmlsZQorKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3Bvd2VybWFjL01ha2VmaWxlCkBAIC0xLDUgKzEsMTAgQEAKIENGTEFHU19ib290eF9pbml0Lm8gIAkJKz0gLWZQSUMKIAoraWZkZWYgQ09ORklHX0ZUUkFDRQorIyBEbyBub3QgdHJhY2UgZWFybHkgYm9vdCBjb2RlCitDRkxBR1NfUkVNT1ZFX2Jvb3R4X2luaXQubyA9IC1wZworZW5kaWYKKwogb2JqLXkJCQkJKz0gcGljLm8gc2V0dXAubyB0aW1lLm8gZmVhdHVyZS5vIHBjaS5vIFwKIAkJCQkgICBzbGVlcC5vIGxvd19pMmMubyBjYWNoZS5vIHBmdW5jX2NvcmUubyBcCiAJCQkJICAgcGZ1bmNfYmFzZS5vCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzMy9zbXAuYyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3NtcC5jCmluZGV4IGYwYjEyZjIuLmEwOTI3YTMgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3NtcC5jCisrKyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3NtcC5jCkBAIC0xMDUsOSArMTA1LDEwIEBACiAJICogdG8gaW5kZXggbmVlZHMgdG8gYmUgc2V0dXAuCiAJICovCiAKLQlCVUlMRF9CVUdfT04oUFBDX01TR19DQUxMX0ZVTkNUSU9OICAhPSAwKTsKLQlCVUlMRF9CVUdfT04oUFBDX01TR19SRVNDSEVEVUxFICAgICAhPSAxKTsKLQlCVUlMRF9CVUdfT04oUFBDX01TR19ERUJVR0dFUl9CUkVBSyAhPSAzKTsKKwlCVUlMRF9CVUdfT04oUFBDX01TR19DQUxMX0ZVTkNUSU9OICAgICE9IDApOworCUJVSUxEX0JVR19PTihQUENfTVNHX1JFU0NIRURVTEUgICAgICAgIT0gMSk7CisJQlVJTERfQlVHX09OKFBQQ19NU0dfQ0FMTF9GVU5DX1NJTkdMRSAhPSAyKTsKKwlCVUlMRF9CVUdfT04oUFBDX01TR19ERUJVR0dFUl9CUkVBSyAgICE9IDMpOwogCiAJZm9yIChpID0gMDsgaSA8IE1TR19DT1VOVDsgaSsrKSB7CiAJCXJlc3VsdCA9IHBzM19ldmVudF9yZWNlaXZlX3BvcnRfc2V0dXAoY3B1LCAmdmlycXNbaV0pOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2VyaWVzL3hpY3MuYyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy94aWNzLmMKaW5kZXggZWJlYmMyOC4uMGZjODMwZiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2VyaWVzL3hpY3MuYworKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMveGljcy5jCkBAIC0zODMsMTMgKzM4MywxMSBAQAogCQkJbWIoKTsKIAkJCXNtcF9tZXNzYWdlX3JlY3YoUFBDX01TR19SRVNDSEVEVUxFKTsKIAkJfQotI2lmIDAKLQkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChQUENfTVNHX01JR1JBVEVfVEFTSywKKwkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUsCiAJCQkJICAgICAgICZ4aWNzX2lwaV9tZXNzYWdlW2NwdV0udmFsdWUpKSB7CiAJCQltYigpOwotCQkJc21wX21lc3NhZ2VfcmVjdihQUENfTVNHX01JR1JBVEVfVEFTSyk7CisJCQlzbXBfbWVzc2FnZV9yZWN2KFBQQ19NU0dfQ0FMTF9GVU5DX1NJTkdMRSk7CiAJCX0KLSNlbmRpZgogI2lmIGRlZmluZWQoQ09ORklHX0RFQlVHR0VSKSB8fCBkZWZpbmVkKENPTkZJR19LRVhFQykKIAkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChQUENfTVNHX0RFQlVHR0VSX0JSRUFLLAogCQkJCSAgICAgICAmeGljc19pcGlfbWVzc2FnZVtjcHVdLnZhbHVlKSkgewpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3N5c2Rldi9tcGljLmMgYi9hcmNoL3Bvd2VycGMvc3lzZGV2L21waWMuYwppbmRleCA3NjgwMDAxLi42YzkwYzk1IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvc3lzZGV2L21waWMuYworKysgYi9hcmNoL3Bvd2VycGMvc3lzZGV2L21waWMuYwpAQCAtMTQ5NCw3ICsxNDk0LDcgQEAKIAlzdGF0aWMgY2hhciAqaXBpX25hbWVzW10gPSB7CiAJCSJJUEkwIChjYWxsIGZ1bmN0aW9uKSIsCiAJCSJJUEkxIChyZXNjaGVkdWxlKSIsCi0JCSJJUEkyICh1bnVzZWQpIiwKKwkJIklQSTIgKGNhbGwgZnVuY3Rpb24gc2luZ2xlKSIsCiAJCSJJUEkzIChkZWJ1Z2dlciBicmVhaykiLAogCX07CiAJQlVHX09OKG1waWMgPT0gTlVMTCk7CmRpZmYgLS1naXQgYS9hcmNoL3BwYy9rZXJuZWwvc21wLmMgYi9hcmNoL3BwYy9rZXJuZWwvc21wLmMKaW5kZXggMDU1OTk4NS4uYmNhYjBkMiAxMDA2NDQKLS0tIGEvYXJjaC9wcGMva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvcHBjL2tlcm5lbC9zbXAuYwpAQCAtMTUyLDcgKzE1Miw3IEBACiAKIHZvaWQgc21wX3NlbmRfc3RvcCh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDEsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL0tjb25maWcgYi9hcmNoL3MzOTAvS2NvbmZpZwppbmRleCAxMDdlNDkyLi41ZGM4ZjgwIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvS2NvbmZpZworKysgYi9hcmNoL3MzOTAvS2NvbmZpZwpAQCAtMTQ2LDYgKzE0Niw3IEBACiBjb25maWcgQ09NUEFUCiAJYm9vbCAiS2VybmVsIHN1cHBvcnQgZm9yIDMxIGJpdCBlbXVsYXRpb24iCiAJZGVwZW5kcyBvbiA2NEJJVAorCXNlbGVjdCBDT01QQVRfQklORk1UX0VMRgogCWhlbHAKIAkgIFNlbGVjdCB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBlbmFibGUgeW91ciBzeXN0ZW0ga2VybmVsIHRvCiAJICBoYW5kbGUgc3lzdGVtLWNhbGxzIGZyb20gRUxGIGJpbmFyaWVzIGZvciAzMSBiaXQgRVNBLiAgVGhpcyBvcHRpb24KQEAgLTMxMiw2ICszMTMsMTAgQEAKIGNvbmZpZyBBUkNIX1NFTEVDVF9NRU1PUllfTU9ERUwKICAgICAgICBkZWZfYm9vbCB5CiAKK2NvbmZpZyBBUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRworCWRlZl9ib29sIHkKKwlkZXBlbmRzIG9uIFNQQVJTRU1FTQorCiBzb3VyY2UgIm1tL0tjb25maWciCiAKIGNvbW1lbnQgIkkvTyBzdWJzeXN0ZW0gY29uZmlndXJhdGlvbiIKQEAgLTM0NCw2ICszNDksMjIgQEAKIAogCSAgSWYgdW5zdXJlLCBzYXkgTi4KIAorY29uZmlnIENIU0NfU0NICisJdHJpc3RhdGUgIlN1cHBvcnQgZm9yIENIU0Mgc3ViY2hhbm5lbHMiCisJaGVscAorCSAgVGhpcyBkcml2ZXIgYWxsb3dzIHVzYWdlIG9mIENIU0Mgc3ViY2hhbm5lbHMuIEEgQ0hTQyBzdWJjaGFubmVsCisJICBpcyB1c3VhbGx5IHByZXNlbnQgb24gTFBBUiBvbmx5LgorCSAgVGhlIGRyaXZlciBjcmVhdGVzIGEgZGV2aWNlIC9kZXYvY2hzYywgd2hpY2ggbWF5IGJlIHVzZWQgdG8KKwkgIG9idGFpbiBJL08gY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWFjaGluZSBhbmQKKwkgIHRvIGlzc3VlIGFzeW5jaHJvbm91cyBjaHNjIGNvbW1hbmRzIChEQU5HRVJPVVMpLgorCSAgWW91IHdpbGwgdXN1YWxseSBvbmx5IHdhbnQgdG8gdXNlIHRoaXMgaW50ZXJmYWNlIG9uIGEgc3BlY2lhbAorCSAgTFBBUiBkZXNpZ25hdGVkIGZvciBzeXN0ZW0gbWFuYWdlbWVudC4KKworCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlCisJICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgY2hzY19zY2guCisKKwkgIElmIHVuc3VyZSwgc2F5IE4uCisKIGNvbW1lbnQgIk1pc2MiCiAKIGNvbmZpZyBJUEwKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YS5oIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhLmgKaW5kZXggZGIzYWU4NS4uMTdhMjYzNiAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhLmgKKysrIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhLmgKQEAgLTMsMTMgKzMsMTEgQEAKICAqCiAgKiBEZWZpbml0aW9ucyBhbmQgaW50ZXJmYWNlIGZvciBMaW51eCAtIHovVk0gTW9uaXRvciBTdHJlYW0uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDAzLDIwMDYgSUJNIENvcnBvcmF0aW9uLCBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSC4KKyAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMywgMjAwOAogICoKICAqIEF1dGhvcjogR2VyYWxkIFNjaGFlZmVyIDxnZXJhbGQuc2NoYWVmZXJAZGUuaWJtLmNvbT4KICAqLwogCi0vLyNkZWZpbmUgQVBQTERBVEFfREVCVUcJCQkvKiBEZWJ1ZyBtZXNzYWdlcyBvbi9vZmYgKi8KLQogI2RlZmluZSBBUFBMREFUQV9NQVhfUkVDX1NJWkUJICA0MDI0CS8qIE1heGltdW0gc2l6ZSBvZiB0aGUgKi8KIAkJCQkJLyogZGF0YSBidWZmZXIgKi8KICNkZWZpbmUgQVBQTERBVEFfTUFYX1BST0NTIDEwMApAQCAtMzIsMTIgKzMwLDYgQEAKICNkZWZpbmUgUF9FUlJPUih4Li4uKQlwcmludGsoS0VSTl9FUlIgTVlfUFJJTlRfTkFNRSAiIGVycm9yOiAiIHgpCiAjZGVmaW5lIFBfV0FSTklORyh4Li4uKQlwcmludGsoS0VSTl9XQVJOSU5HIE1ZX1BSSU5UX05BTUUgIiBzdGF0dXM6ICIgeCkKIAotI2lmZGVmIEFQUExEQVRBX0RFQlVHCi0jZGVmaW5lIFBfREVCVUcoeC4uLikgICBwcmludGsoS0VSTl9ERUJVRyBNWV9QUklOVF9OQU1FICIgZGVidWc6ICIgeCkKLSNlbHNlCi0jZGVmaW5lIFBfREVCVUcoeC4uLikgICBkbyB7fSB3aGlsZSAoMCkKLSNlbmRpZgotCiBzdHJ1Y3QgYXBwbGRhdGFfb3BzIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CiAJc3RydWN0IGN0bF90YWJsZV9oZWFkZXIgKnN5c2N0bF9oZWFkZXI7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfYmFzZS5jIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX2Jhc2UuYwppbmRleCBhZDQwNzI5Li5hN2Y4OTc5IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfYmFzZS5jCisrKyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9iYXNlLmMKQEAgLTUsNyArNSw3IEBACiAgKiBFeHBvcnRzIGFwcGxkYXRhX3JlZ2lzdGVyX29wcygpIGFuZCBhcHBsZGF0YV91bnJlZ2lzdGVyX29wcygpIGZvciB0aGUKICAqIGRhdGEgZ2F0aGVyaW5nIG1vZHVsZXMuCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDAzLDIwMDYgSUJNIENvcnBvcmF0aW9uLCBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSC4KKyAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMywgMjAwOAogICoKICAqIEF1dGhvcjogR2VyYWxkIFNjaGFlZmVyIDxnZXJhbGQuc2NoYWVmZXJAZGUuaWJtLmNvbT4KICAqLwpAQCAtMTA4LDkgKzEwOCw2IEBACiAgKi8KIHN0YXRpYyB2b2lkIGFwcGxkYXRhX3RpbWVyX2Z1bmN0aW9uKHVuc2lnbmVkIGxvbmcgZGF0YSkKIHsKLQlQX0RFQlVHKCIgICAtPSBUaW1lciA9LVxuIik7Ci0JUF9ERUJVRygiQ1BVOiAlaSwgZXhwaXJlX2NvdW50OiAlaVxuIiwgc21wX3Byb2Nlc3Nvcl9pZCgpLAotCQlhdG9taWNfcmVhZCgmYXBwbGRhdGFfZXhwaXJlX2NvdW50KSk7CiAJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmFwcGxkYXRhX2V4cGlyZV9jb3VudCkpIHsKIAkJYXRvbWljX3NldCgmYXBwbGRhdGFfZXhwaXJlX2NvdW50LCBudW1fb25saW5lX2NwdXMoKSk7CiAJCXF1ZXVlX3dvcmsoYXBwbGRhdGFfd3EsIChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKikgZGF0YSk7CkBAIC0xMjgsMTQgKzEyNSwxMSBAQAogCXN0cnVjdCBhcHBsZGF0YV9vcHMgKm9wczsKIAlpbnQgaTsKIAotCVBfREVCVUcoIiAgLT0gV29yayBRdWV1ZSA9LVxuIik7CiAJaSA9IDA7CiAJZ2V0X29ubGluZV9jcHVzKCk7CiAJc3Bpbl9sb2NrKCZhcHBsZGF0YV9vcHNfbG9jayk7CiAJbGlzdF9mb3JfZWFjaChsaCwgJmFwcGxkYXRhX29wc19saXN0KSB7CiAJCW9wcyA9IGxpc3RfZW50cnkobGgsIHN0cnVjdCBhcHBsZGF0YV9vcHMsIGxpc3QpOwotCQlQX0RFQlVHKCJsaXN0X2Zvcl9lYWNoIGxvb3A6ICVpKSBhY3RpdmUgPSAldSwgbmFtZSA9ICVzXG4iLAotCQkJKytpLCBvcHMtPmFjdGl2ZSwgb3BzLT5uYW1lKTsKIAkJaWYgKG9wcy0+YWN0aXZlID09IDEpIHsKIAkJCW9wcy0+Y2FsbGJhY2sob3BzLT5kYXRhKTsKIAkJfQpAQCAtMjA5LDEwICsyMDMsOSBAQAogCQkJcGVyX2NwdShhcHBsZGF0YV90aW1lciwgaSkuZXhwaXJlcyA9IHBlcl9jcHVfaW50ZXJ2YWw7CiAJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaSwgYWRkX3ZpcnRfdGltZXJfcGVyaW9kaWMsCiAJCQkJCQkgJnBlcl9jcHUoYXBwbGRhdGFfdGltZXIsIGkpLAotCQkJCQkJIDAsIDEpOworCQkJCQkJIDEpOwogCQl9CiAJCWFwcGxkYXRhX3RpbWVyX2FjdGl2ZSA9IDE7Ci0JCVBfSU5GTygiTW9uaXRvcmluZyB0aW1lciBzdGFydGVkLlxuIik7CiAJCWJyZWFrOwogCWNhc2UgQVBQTERBVEFfREVMX1RJTUVSOgogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGkpCkBAIC0yMjEsNyArMjE0LDYgQEAKIAkJCWJyZWFrOwogCQlhcHBsZGF0YV90aW1lcl9hY3RpdmUgPSAwOwogCQlhdG9taWNfc2V0KCZhcHBsZGF0YV9leHBpcmVfY291bnQsIG51bV9vbmxpbmVfY3B1cygpKTsKLQkJUF9JTkZPKCJNb25pdG9yaW5nIHRpbWVyIHN0b3BwZWQuXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBBUFBMREFUQV9NT0RfVElNRVI6CiAJCXBlcl9jcHVfaW50ZXJ2YWwgPSAodTY0KSAoYXBwbGRhdGFfaW50ZXJ2YWwqMTAwMCAvCkBAIC0yMzYsNyArMjI4LDcgQEAKIAkJCWFyZ3MudGltZXIgPSAmcGVyX2NwdShhcHBsZGF0YV90aW1lciwgaSk7CiAJCQlhcmdzLmV4cGlyZXMgPSBwZXJfY3B1X2ludGVydmFsOwogCQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGksIF9fYXBwbGRhdGFfbW9kX3Z0aW1lcl93cmFwLAotCQkJCQkJICZhcmdzLCAwLCAxKTsKKwkJCQkJCSAmYXJncywgMSk7CiAJCX0KIAl9CiB9CkBAIC0zMTMsMTAgKzMwNSw4IEBACiAJfQogCWludGVydmFsID0gMDsKIAlzc2NhbmYoYnVmLCAiJWkiLCAmaW50ZXJ2YWwpOwotCWlmIChpbnRlcnZhbCA8PSAwKSB7Ci0JCVBfRVJST1IoIlRpbWVyIENQVSBpbnRlcnZhbCBoYXMgdG8gYmUgPiAwIVxuIik7CisJaWYgKGludGVydmFsIDw9IDApCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAogCWdldF9vbmxpbmVfY3B1cygpOwogCXNwaW5fbG9jaygmYXBwbGRhdGFfdGltZXJfbG9jayk7CkBAIC0zMjQsOSArMzE0LDYgQEAKIAlfX2FwcGxkYXRhX3Z0aW1lcl9zZXR1cChBUFBMREFUQV9NT0RfVElNRVIpOwogCXNwaW5fdW5sb2NrKCZhcHBsZGF0YV90aW1lcl9sb2NrKTsKIAlwdXRfb25saW5lX2NwdXMoKTsKLQotCVBfSU5GTygiTW9uaXRvcmluZyBDUFUgaW50ZXJ2YWwgc2V0IHRvICV1IG1pbGxpc2Vjb25kcy5cbiIsCi0JCSBpbnRlcnZhbCk7CiBvdXQ6CiAJKmxlbnAgPSBsZW47CiAJKnBwb3MgKz0gbGVuOwpAQCAtNDA2LDIzICszOTMsMTYgQEAKIAkJCVBfRVJST1IoIlNUQVJUIERJQUcgMHhEQyBmb3IgJXMgZmFpbGVkLCAiCiAJCQkJInJldHVybiBjb2RlOiAlZFxuIiwgb3BzLT5uYW1lLCByYyk7CiAJCQltb2R1bGVfcHV0KG9wcy0+b3duZXIpOwotCQl9IGVsc2UgewotCQkJUF9JTkZPKCJNb25pdG9yaW5nICVzIGRhdGEgZW5hYmxlZCwgIgotCQkJCSJESUFHIDB4REMgc3RhcnRlZC5cbiIsIG9wcy0+bmFtZSk7CisJCX0gZWxzZQogCQkJb3BzLT5hY3RpdmUgPSAxOwotCQl9CiAJfSBlbHNlIGlmICgoYnVmWzBdID09ICcwJykgJiYgKG9wcy0+YWN0aXZlID09IDEpKSB7CiAJCW9wcy0+YWN0aXZlID0gMDsKIAkJcmMgPSBhcHBsZGF0YV9kaWFnKG9wcy0+cmVjb3JkX25yLCBBUFBMREFUQV9TVE9QX1JFQywKIAkJCQkodW5zaWduZWQgbG9uZykgb3BzLT5kYXRhLCBvcHMtPnNpemUsCiAJCQkJb3BzLT5tb2RfbHZsKTsKLQkJaWYgKHJjICE9IDApIHsKKwkJaWYgKHJjICE9IDApCiAJCQlQX0VSUk9SKCJTVE9QIERJQUcgMHhEQyBmb3IgJXMgZmFpbGVkLCAiCiAJCQkJInJldHVybiBjb2RlOiAlZFxuIiwgb3BzLT5uYW1lLCByYyk7Ci0JCX0gZWxzZSB7Ci0JCQlQX0lORk8oIk1vbml0b3JpbmcgJXMgZGF0YSBkaXNhYmxlZCwgIgotCQkJCSJESUFHIDB4REMgc3RvcHBlZC5cbiIsIG9wcy0+bmFtZSk7Ci0JCX0KIAkJbW9kdWxlX3B1dChvcHMtPm93bmVyKTsKIAl9CiAJc3Bpbl91bmxvY2soJmFwcGxkYXRhX29wc19sb2NrKTsKQEAgLTQ2OCw3ICs0NDgsNiBAQAogCW9wcy0+c3lzY3RsX2hlYWRlciA9IHJlZ2lzdGVyX3N5c2N0bF90YWJsZShvcHMtPmN0bF90YWJsZSk7CiAJaWYgKCFvcHMtPnN5c2N0bF9oZWFkZXIpCiAJCWdvdG8gb3V0OwotCVBfSU5GTygiJXMtb3BzIHJlZ2lzdGVyZWQhXG4iLCBvcHMtPm5hbWUpOwogCXJldHVybiAwOwogb3V0OgogCXNwaW5fbG9jaygmYXBwbGRhdGFfb3BzX2xvY2spOwpAQCAtNDkwLDcgKzQ2OSw2IEBACiAJc3Bpbl91bmxvY2soJmFwcGxkYXRhX29wc19sb2NrKTsKIAl1bnJlZ2lzdGVyX3N5c2N0bF90YWJsZShvcHMtPnN5c2N0bF9oZWFkZXIpOwogCWtmcmVlKG9wcy0+Y3RsX3RhYmxlKTsKLQlQX0lORk8oIiVzLW9wcyB1bnJlZ2lzdGVyZWQhXG4iLCBvcHMtPm5hbWUpOwogfQogLyoqKioqKioqKioqKioqKioqKioqKiogbW9kdWxlLW9wcyBtYW5hZ2VtZW50IDxFTkQ+ICoqKioqKioqKioqKioqKioqKioqKioqKioqLwogCkBAIC01NTMsMTQgKzUzMSw5IEBACiB7CiAJaW50IGk7CiAKLQlQX0RFQlVHKCJzaXplb2YocGFyYW1ldGVyX2xpc3QpID0gJWx1XG4iLAotCQlzaXplb2Yoc3RydWN0IGFwcGxkYXRhX3BhcmFtZXRlcl9saXN0KSk7Ci0KIAlhcHBsZGF0YV93cSA9IGNyZWF0ZV9zaW5nbGV0aHJlYWRfd29ya3F1ZXVlKCJhcHBsZGF0YSIpOwotCWlmICghYXBwbGRhdGFfd3EpIHsKLQkJUF9FUlJPUigiQ291bGQgbm90IGNyZWF0ZSB3b3JrIHF1ZXVlXG4iKTsKKwlpZiAoIWFwcGxkYXRhX3dxKQogCQlyZXR1cm4gLUVOT01FTTsKLQl9CiAKIAlnZXRfb25saW5lX2NwdXMoKTsKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGkpCkBAIC01NzEsOCArNTQ0LDYgQEAKIAlyZWdpc3Rlcl9ob3RjcHVfbm90aWZpZXIoJmFwcGxkYXRhX25iKTsKIAogCWFwcGxkYXRhX3N5c2N0bF9oZWFkZXIgPSByZWdpc3Rlcl9zeXNjdGxfdGFibGUoYXBwbGRhdGFfZGlyX3RhYmxlKTsKLQotCVBfREVCVUcoIkJhc2UgaW50ZXJmYWNlIGluaXRpYWxpemVkLlxuIik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTU4NCw3ICs1NTUsOSBAQAogRVhQT1JUX1NZTUJPTF9HUEwoYXBwbGRhdGFfdW5yZWdpc3Rlcl9vcHMpOwogRVhQT1JUX1NZTUJPTF9HUEwoYXBwbGRhdGFfZGlhZyk7CiAKKyNpZmRlZiBDT05GSUdfU1dBUAogRVhQT1JUX1NZTUJPTF9HUEwoc2lfc3dhcGluZm8pOworI2VuZGlmCiBFWFBPUlRfU1lNQk9MX0dQTChucl90aHJlYWRzKTsKIEVYUE9SVF9TWU1CT0xfR1BMKG5yX3J1bm5pbmcpOwogRVhQT1JUX1NZTUJPTF9HUEwobnJfaW93YWl0KTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9tZW0uYyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9tZW0uYwppbmRleCA1MTE4MWNjLi4zZWQ1NmI3IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbWVtLmMKKysrIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX21lbS5jCkBAIC0xNCwxNCArMTQsMTMgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9zd2FwLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CiAKICNpbmNsdWRlICJhcHBsZGF0YS5oIgogCiAKLSNkZWZpbmUgTVlfUFJJTlRfTkFNRSAiYXBwbGRhdGFfbWVtIgkJLyogZm9yIGRlYnVnIG1lc3NhZ2VzLCBldGMuICovCiAjZGVmaW5lIFAySyh4KSAoKHgpIDw8IChQQUdFX1NISUZUIC0gMTApKQkvKiBDb252ZXJ0cyAjUGFnZXMgdG8gS0IgKi8KIAogLyoKQEAgLTcwLDMwICs2OSw2IEBACiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGFwcGxkYXRhX21lbV9kYXRhOwogCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBhcHBsZGF0YV9kZWJ1Z19wcmludChzdHJ1Y3QgYXBwbGRhdGFfbWVtX2RhdGEgKm1lbV9kYXRhKQotewotCVBfREVCVUcoIi0tLSBNRU0gLSBSRUNPUkQgLS0tXG4iKTsKLQlQX0RFQlVHKCJwZ3BnaW4gICAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnBncGdpbik7Ci0JUF9ERUJVRygicGdwZ291dCAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5wZ3Bnb3V0KTsKLQlQX0RFQlVHKCJwc3dwaW4gICAgID0gJThsdSBQYWdlc1xuIiwgbWVtX2RhdGEtPnBzd3Bpbik7Ci0JUF9ERUJVRygicHN3cG91dCAgICA9ICU4bHUgUGFnZXNcbiIsIG1lbV9kYXRhLT5wc3dwb3V0KTsKLQlQX0RFQlVHKCJwZ2FsbG9jICAgID0gJThsdSBcbiIsIG1lbV9kYXRhLT5wZ2FsbG9jKTsKLQlQX0RFQlVHKCJwZ2ZhdWx0ICAgID0gJThsdSBcbiIsIG1lbV9kYXRhLT5wZ2ZhdWx0KTsKLQlQX0RFQlVHKCJwZ21hamZhdWx0ID0gJThsdSBcbiIsIG1lbV9kYXRhLT5wZ21hamZhdWx0KTsKLQlQX0RFQlVHKCJzaGFyZWRyYW0gID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnNoYXJlZHJhbSk7Ci0JUF9ERUJVRygidG90YWxyYW0gICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT50b3RhbHJhbSk7Ci0JUF9ERUJVRygiZnJlZXJhbSAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5mcmVlcmFtKTsKLQlQX0RFQlVHKCJ0b3RhbGhpZ2ggID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnRvdGFsaGlnaCk7Ci0JUF9ERUJVRygiZnJlZWhpZ2ggICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5mcmVlaGlnaCk7Ci0JUF9ERUJVRygiYnVmZmVycmFtICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5idWZmZXJyYW0pOwotCVBfREVCVUcoImNhY2hlZCAgICAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+Y2FjaGVkKTsKLQlQX0RFQlVHKCJ0b3RhbHN3YXAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnRvdGFsc3dhcCk7Ci0JUF9ERUJVRygiZnJlZXN3YXAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5mcmVlc3dhcCk7Ci0JUF9ERUJVRygic3luY19jb3VudF8xID0gJXVcbiIsIG1lbV9kYXRhLT5zeW5jX2NvdW50XzEpOwotCVBfREVCVUcoInN5bmNfY291bnRfMiA9ICV1XG4iLCBtZW1fZGF0YS0+c3luY19jb3VudF8yKTsKLQlQX0RFQlVHKCJ0aW1lc3RhbXAgICAgPSAlbFhcbiIsIG1lbV9kYXRhLT50aW1lc3RhbXApOwotfQotCiAvKgogICogYXBwbGRhdGFfZ2V0X21lbV9kYXRhKCkKICAqCkBAIC0xNDAsOSArMTE1LDYgQEAKIAogCW1lbV9kYXRhLT50aW1lc3RhbXAgPSBnZXRfY2xvY2soKTsKIAltZW1fZGF0YS0+c3luY19jb3VudF8yKys7Ci0jaWZkZWYgQVBQTERBVEFfREVCVUcKLQlhcHBsZGF0YV9kZWJ1Z19wcmludChtZW1fZGF0YSk7Ci0jZW5kaWYKIH0KIAogCkBAIC0xNjQsMTcgKzEzNiw3IEBACiAgKi8KIHN0YXRpYyBpbnQgX19pbml0IGFwcGxkYXRhX21lbV9pbml0KHZvaWQpCiB7Ci0JaW50IHJjOwotCi0JUF9ERUJVRygic2l6ZW9mKG1lbSkgPSAlbHVcbiIsIHNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfbWVtX2RhdGEpKTsKLQotCXJjID0gYXBwbGRhdGFfcmVnaXN0ZXJfb3BzKCZvcHMpOwotCWlmIChyYyAhPSAwKSB7Ci0JCVBfRVJST1IoIkVycm9yIHJlZ2lzdGVyaW5nIG9wcywgcmMgPSAlaVxuIiwgcmMpOwotCX0gZWxzZSB7Ci0JCVBfREVCVUcoIiVzLW9wcyByZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwotCX0KLQlyZXR1cm4gcmM7CisJcmV0dXJuIGFwcGxkYXRhX3JlZ2lzdGVyX29wcygmb3BzKTsKIH0KIAogLyoKQEAgLTE4NSw3ICsxNDcsNiBAQAogc3RhdGljIHZvaWQgX19leGl0IGFwcGxkYXRhX21lbV9leGl0KHZvaWQpCiB7CiAJYXBwbGRhdGFfdW5yZWdpc3Rlcl9vcHMoJm9wcyk7Ci0JUF9ERUJVRygiJXMtb3BzIHVucmVnaXN0ZXJlZCFcbiIsIG9wcy5uYW1lKTsKIH0KIAogCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbmV0X3N1bS5jIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX25ldF9zdW0uYwppbmRleCA0ZDgzNDQzLi4zYjc0NjU1IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbmV0X3N1bS5jCisrKyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9uZXRfc3VtLmMKQEAgLTIxLDkgKzIxLDYgQEAKICNpbmNsdWRlICJhcHBsZGF0YS5oIgogCiAKLSNkZWZpbmUgTVlfUFJJTlRfTkFNRQkiYXBwbGRhdGFfbmV0X3N1bSIJLyogZm9yIGRlYnVnIG1lc3NhZ2VzLCBldGMuICovCi0KLQogLyoKICAqIE5ldHdvcmsgZGF0YQogICoKQEAgLTYwLDI2ICs1Nyw2IEBACiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGFwcGxkYXRhX25ldF9zdW1fZGF0YTsKIAogCi1zdGF0aWMgaW5saW5lIHZvaWQgYXBwbGRhdGFfcHJpbnRfZGVidWcoc3RydWN0IGFwcGxkYXRhX25ldF9zdW1fZGF0YSAqbmV0X2RhdGEpCi17Ci0JUF9ERUJVRygiLS0tIE5FVCAtIFJFQ09SRCAtLS1cbiIpOwotCi0JUF9ERUJVRygibnJfaW50ZXJmYWNlcyA9ICV1XG4iLCBuZXRfZGF0YS0+bnJfaW50ZXJmYWNlcyk7Ci0JUF9ERUJVRygicnhfcGFja2V0cyAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT5yeF9wYWNrZXRzKTsKLQlQX0RFQlVHKCJ0eF9wYWNrZXRzICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnR4X3BhY2tldHMpOwotCVBfREVCVUcoInJ4X2J5dGVzICAgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+cnhfYnl0ZXMpOwotCVBfREVCVUcoInR4X2J5dGVzICAgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+dHhfYnl0ZXMpOwotCVBfREVCVUcoInJ4X2Vycm9ycyAgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+cnhfZXJyb3JzKTsKLQlQX0RFQlVHKCJ0eF9lcnJvcnMgICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnR4X2Vycm9ycyk7Ci0JUF9ERUJVRygicnhfZHJvcHBlZCAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT5yeF9kcm9wcGVkKTsKLQlQX0RFQlVHKCJ0eF9kcm9wcGVkICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnR4X2Ryb3BwZWQpOwotCVBfREVCVUcoImNvbGxpc2lvbnMgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+Y29sbGlzaW9ucyk7Ci0KLQlQX0RFQlVHKCJzeW5jX2NvdW50XzEgPSAldVxuIiwgbmV0X2RhdGEtPnN5bmNfY291bnRfMSk7Ci0JUF9ERUJVRygic3luY19jb3VudF8yID0gJXVcbiIsIG5ldF9kYXRhLT5zeW5jX2NvdW50XzIpOwotCVBfREVCVUcoInRpbWVzdGFtcCAgICA9ICVsWFxuIiwgbmV0X2RhdGEtPnRpbWVzdGFtcCk7Ci19Ci0KIC8qCiAgKiBhcHBsZGF0YV9nZXRfbmV0X3N1bV9kYXRhKCkKICAqCkBAIC0xMzUsOSArMTEyLDYgQEAKIAogCW5ldF9kYXRhLT50aW1lc3RhbXAgPSBnZXRfY2xvY2soKTsKIAluZXRfZGF0YS0+c3luY19jb3VudF8yKys7Ci0jaWZkZWYgQVBQTERBVEFfREVCVUcKLQlhcHBsZGF0YV9wcmludF9kZWJ1ZyhuZXRfZGF0YSk7Ci0jZW5kaWYKIH0KIAogCkBAIC0xNTksMTcgKzEzMyw3IEBACiAgKi8KIHN0YXRpYyBpbnQgX19pbml0IGFwcGxkYXRhX25ldF9pbml0KHZvaWQpCiB7Ci0JaW50IHJjOwotCi0JUF9ERUJVRygic2l6ZW9mKG5ldCkgPSAlbHVcbiIsIHNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfbmV0X3N1bV9kYXRhKSk7Ci0KLQlyYyA9IGFwcGxkYXRhX3JlZ2lzdGVyX29wcygmb3BzKTsKLQlpZiAocmMgIT0gMCkgewotCQlQX0VSUk9SKCJFcnJvciByZWdpc3RlcmluZyBvcHMsIHJjID0gJWlcbiIsIHJjKTsKLQl9IGVsc2UgewotCQlQX0RFQlVHKCIlcy1vcHMgcmVnaXN0ZXJlZCFcbiIsIG9wcy5uYW1lKTsKLQl9Ci0JcmV0dXJuIHJjOworCXJldHVybiBhcHBsZGF0YV9yZWdpc3Rlcl9vcHMoJm9wcyk7CiB9CiAKIC8qCkBAIC0xODAsNyArMTQ0LDYgQEAKIHN0YXRpYyB2b2lkIF9fZXhpdCBhcHBsZGF0YV9uZXRfZXhpdCh2b2lkKQogewogCWFwcGxkYXRhX3VucmVnaXN0ZXJfb3BzKCZvcHMpOwotCVBfREVCVUcoIiVzLW9wcyB1bnJlZ2lzdGVyZWQhXG4iLCBvcHMubmFtZSk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX29zLmMgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfb3MuYwppbmRleCA2YjNlYWZlLi5lYjQ0ZjlmIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfb3MuYworKysgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfb3MuYwpAQCAtODksNDQgKzg5LDYgQEAKIH07CiAKIAotc3RhdGljIGlubGluZSB2b2lkIGFwcGxkYXRhX3ByaW50X2RlYnVnKHN0cnVjdCBhcHBsZGF0YV9vc19kYXRhICpvc19kYXRhKQotewotCWludCBhMCwgYTEsIGEyLCBpOwotCi0JUF9ERUJVRygiLS0tIE9TIC0gUkVDT1JEIC0tLVxuIik7Ci0JUF9ERUJVRygibnJfdGhyZWFkcyAgID0gJXVcbiIsIG9zX2RhdGEtPm5yX3RocmVhZHMpOwotCVBfREVCVUcoIm5yX3J1bm5pbmcgICA9ICV1XG4iLCBvc19kYXRhLT5ucl9ydW5uaW5nKTsKLQlQX0RFQlVHKCJucl9pb3dhaXQgICAgPSAldVxuIiwgb3NfZGF0YS0+bnJfaW93YWl0KTsKLQlQX0RFQlVHKCJhdmVucnVuKGludCkgPSAlOHggLyAlOHggLyAlOHhcbiIsIG9zX2RhdGEtPmF2ZW5ydW5bMF0sCi0JCW9zX2RhdGEtPmF2ZW5ydW5bMV0sIG9zX2RhdGEtPmF2ZW5ydW5bMl0pOwotCWEwID0gb3NfZGF0YS0+YXZlbnJ1blswXTsKLQlhMSA9IG9zX2RhdGEtPmF2ZW5ydW5bMV07Ci0JYTIgPSBvc19kYXRhLT5hdmVucnVuWzJdOwotCVBfREVCVUcoImF2ZW5ydW4oZmxvYXQpID0gJWQuJTAyZCAvICVkLiUwMmQgLyAlZC4lMDJkXG4iLAotCQlMT0FEX0lOVChhMCksIExPQURfRlJBQyhhMCksIExPQURfSU5UKGExKSwgTE9BRF9GUkFDKGExKSwKLQkJTE9BRF9JTlQoYTIpLCBMT0FEX0ZSQUMoYTIpKTsKLQotCVBfREVCVUcoIm5yX2NwdXMgPSAldVxuIiwgb3NfZGF0YS0+bnJfY3B1cyk7Ci0JZm9yIChpID0gMDsgaSA8IG9zX2RhdGEtPm5yX2NwdXM7IGkrKykgewotCQlQX0RFQlVHKCJjcHUldSA6IHVzZXIgPSAldSwgbmljZSA9ICV1LCBzeXN0ZW0gPSAldSwgIgotCQkJImlkbGUgPSAldSwgaXJxID0gJXUsIHNvZnRpcnEgPSAldSwgaW93YWl0ID0gJXUsICIKLQkJCSJzdGVhbCA9ICV1XG4iLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5jcHVfaWQsCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLnBlcl9jcHVfdXNlciwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9uaWNlLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X3N5c3RlbSwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9pZGxlLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X2lycSwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9zb2Z0aXJxLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X2lvd2FpdCwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9zdGVhbCk7Ci0JfQotCi0JUF9ERUJVRygic3luY19jb3VudF8xID0gJXVcbiIsIG9zX2RhdGEtPnN5bmNfY291bnRfMSk7Ci0JUF9ERUJVRygic3luY19jb3VudF8yID0gJXVcbiIsIG9zX2RhdGEtPnN5bmNfY291bnRfMik7Ci0JUF9ERUJVRygidGltZXN0YW1wICAgID0gJWxYXG4iLCBvc19kYXRhLT50aW1lc3RhbXApOwotfQotCiAvKgogICogYXBwbGRhdGFfZ2V0X29zX2RhdGEoKQogICoKQEAgLTE4MCwxMyArMTQyLDEwIEBACiAJCQkJCSAgIEFQUExEQVRBX1NUQVJUX0lOVEVSVkFMX1JFQywKIAkJCQkJICAgKHVuc2lnbmVkIGxvbmcpIG9wcy5kYXRhLCBuZXdfc2l6ZSwKIAkJCQkJICAgb3BzLm1vZF9sdmwpOwotCQkJaWYgKHJjICE9IDApIHsKKwkJCWlmIChyYyAhPSAwKQogCQkJCVBfRVJST1IoIm9zOiBTVEFSVCBORVcgRElBRyAweERDIGZhaWxlZCwgIgogCQkJCQkicmV0dXJuIGNvZGU6ICVkLCBuZXcgc2l6ZSA9ICVpXG4iLCByYywKIAkJCQkJbmV3X3NpemUpOwotCQkJCVBfSU5GTygib3M6IHN0b3BwaW5nIG9sZCByZWNvcmQgbm93XG4iKTsKLQkJCX0gZWxzZQotCQkJCVBfSU5GTygib3M6IG5ldyByZWNvcmQgc2l6ZSA9ICVpXG4iLCBuZXdfc2l6ZSk7CiAKIAkJCXJjID0gYXBwbGRhdGFfZGlhZyhBUFBMREFUQV9SRUNPUkRfT1NfSUQsCiAJCQkJCSAgIEFQUExEQVRBX1NUT1BfUkVDLApAQCAtMjA0LDkgKzE2Myw2IEBACiAJfQogCW9zX2RhdGEtPnRpbWVzdGFtcCA9IGdldF9jbG9jaygpOwogCW9zX2RhdGEtPnN5bmNfY291bnRfMisrOwotI2lmZGVmIEFQUExEQVRBX0RFQlVHCi0JYXBwbGRhdGFfcHJpbnRfZGVidWcob3NfZGF0YSk7Ci0jZW5kaWYKIH0KIAogCkBAIC0yMjcsMTIgKzE4Myw5IEBACiAJCXJjID0gLUVOT01FTTsKIAkJZ290byBvdXQ7CiAJfQotCVBfREVCVUcoIm1heC4gc2l6ZW9mKG9zKSA9ICVpLCBzaXplb2Yob3NfY3B1KSA9ICVsdVxuIiwgbWF4X3NpemUsCi0JCXNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfb3NfcGVyX2NwdSkpOwogCiAJYXBwbGRhdGFfb3NfZGF0YSA9IGt6YWxsb2MobWF4X3NpemUsIEdGUF9ETUEpOwogCWlmIChhcHBsZGF0YV9vc19kYXRhID09IE5VTEwpIHsKLQkJUF9FUlJPUigiTm8gbWVtb3J5IGZvciAlcyFcbiIsIG9wcy5uYW1lKTsKIAkJcmMgPSAtRU5PTUVNOwogCQlnb3RvIG91dDsKIAl9CkBAIC0yNDAsMTcgKzE5MywxMiBAQAogCWFwcGxkYXRhX29zX2RhdGEtPnBlcl9jcHVfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfb3NfcGVyX2NwdSk7CiAJYXBwbGRhdGFfb3NfZGF0YS0+Y3B1X29mZnNldCAgID0gb2Zmc2V0b2Yoc3RydWN0IGFwcGxkYXRhX29zX2RhdGEsCiAJCQkJCQkJb3NfY3B1KTsKLQlQX0RFQlVHKCJjcHUgb2Zmc2V0ID0gJXVcbiIsIGFwcGxkYXRhX29zX2RhdGEtPmNwdV9vZmZzZXQpOwogCiAJb3BzLmRhdGEgPSBhcHBsZGF0YV9vc19kYXRhOwogCW9wcy5jYWxsYmFjayAgPSAmYXBwbGRhdGFfZ2V0X29zX2RhdGE7CiAJcmMgPSBhcHBsZGF0YV9yZWdpc3Rlcl9vcHMoJm9wcyk7Ci0JaWYgKHJjICE9IDApIHsKLQkJUF9FUlJPUigiRXJyb3IgcmVnaXN0ZXJpbmcgb3BzLCByYyA9ICVpXG4iLCByYyk7CisJaWYgKHJjICE9IDApCiAJCWtmcmVlKGFwcGxkYXRhX29zX2RhdGEpOwotCX0gZWxzZSB7Ci0JCVBfREVCVUcoIiVzLW9wcyByZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwotCX0KIG91dDoKIAlyZXR1cm4gcmM7CiB9CkBAIC0yNjQsNyArMjEyLDYgQEAKIHsKIAlhcHBsZGF0YV91bnJlZ2lzdGVyX29wcygmb3BzKTsKIAlrZnJlZShhcHBsZGF0YV9vc19kYXRhKTsKLQlQX0RFQlVHKCIlcy1vcHMgdW5yZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwogfQogCiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9jcnlwdG8vY3J5cHRfczM5MC5oIGIvYXJjaC9zMzkwL2NyeXB0by9jcnlwdF9zMzkwLmgKaW5kZXggOTk5MmY5NS4uMGVmOTgyOSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2NyeXB0by9jcnlwdF9zMzkwLmgKKysrIGIvYXJjaC9zMzkwL2NyeXB0by9jcnlwdF9zMzkwLmgKQEAgLTI5Niw2ICsyOTYsMTAgQEAKIAl1bnNpZ25lZCBjaGFyIHN0YXR1c1sxNl07CiAJaW50IHJldDsKIAorCS8qIGNoZWNrIGlmIENQQUNGIGZhY2lsaXR5IChiaXQgMTcpIGlzIGF2YWlsYWJsZSAqLworCWlmICghKHN0ZmwoKSAmIDFVTEwgPDwgKDMxIC0gMTcpKSkKKwkJcmV0dXJuIDA7CisKIAlzd2l0Y2ggKGZ1bmMgJiBDUllQVF9TMzkwX09QX01BU0spIHsKIAljYXNlIENSWVBUX1MzOTBfS006CiAJCXJldCA9IGNyeXB0X3MzOTBfa20oS01fUVVFUlksICZzdGF0dXMsIE5VTEwsIE5VTEwsIDApOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2NyeXB0by9wcm5nLmMgYi9hcmNoL3MzOTAvY3J5cHRvL3BybmcuYwppbmRleCAwY2ZlZmRkLi5lY2E3MjRkIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvY3J5cHRvL3BybmcuYworKysgYi9hcmNoL3MzOTAvY3J5cHRvL3BybmcuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgpAQCAtNDgsNiArNDksNyBAQAogCiBzdGF0aWMgaW50IHBybmdfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIH0KIApAQCAtMTg1LDExICsxODcsOCBAQAogCXBybmdfc2VlZCgxNik7CiAKIAlyZXQgPSBtaXNjX3JlZ2lzdGVyKCZwcm5nX2Rldik7Ci0JaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCSAgICAgICAiQ291bGQgbm90IHJlZ2lzdGVyIG1pc2MgZGV2aWNlIGZvciBQUk5HLlxuIik7CisJaWYgKHJldCkKIAkJZ290byBvdXRfYnVmOwotCX0KIAlyZXR1cm4gMDsKIAogb3V0X2J1ZjoKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9oeXBmcy9pbm9kZS5jIGIvYXJjaC9zMzkwL2h5cGZzL2lub2RlLmMKaW5kZXggNGIwMTBmZi4uNzM4Mzc4MSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2h5cGZzL2lub2RlLmMKKysrIGIvYXJjaC9zMzkwL2h5cGZzL2lub2RlLmMKQEAgLTE1MCwzMyArMTUwLDI0IEBACiAJCQkgICAgICB1bnNpZ25lZCBsb25nIG5yX3NlZ3MsIGxvZmZfdCBvZmZzZXQpCiB7CiAJY2hhciAqZGF0YTsKLQlzaXplX3QgbGVuOworCXNzaXplX3QgcmV0OwogCXN0cnVjdCBmaWxlICpmaWxwID0gaW9jYi0+a2lfZmlscDsKIAkvKiBYWFg6IHRlbXBvcmFyeSAqLwogCWNoYXIgX191c2VyICpidWYgPSBpb3ZbMF0uaW92X2Jhc2U7CiAJc2l6ZV90IGNvdW50ID0gaW92WzBdLmlvdl9sZW47CiAKLQlpZiAobnJfc2VncyAhPSAxKSB7Ci0JCWNvdW50ID0gLUVJTlZBTDsKLQkJZ290byBvdXQ7Ci0JfQorCWlmIChucl9zZWdzICE9IDEpCisJCXJldHVybiAtRUlOVkFMOwogCiAJZGF0YSA9IGZpbHAtPnByaXZhdGVfZGF0YTsKLQlsZW4gPSBzdHJsZW4oZGF0YSk7Ci0JaWYgKG9mZnNldCA+IGxlbikgewotCQljb3VudCA9IDA7Ci0JCWdvdG8gb3V0OwotCX0KLQlpZiAoY291bnQgPiBsZW4gLSBvZmZzZXQpCi0JCWNvdW50ID0gbGVuIC0gb2Zmc2V0OwotCWlmIChjb3B5X3RvX3VzZXIoYnVmLCBkYXRhICsgb2Zmc2V0LCBjb3VudCkpIHsKLQkJY291bnQgPSAtRUZBVUxUOwotCQlnb3RvIG91dDsKLQl9Ci0JaW9jYi0+a2lfcG9zICs9IGNvdW50OworCXJldCA9IHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKGJ1ZiwgY291bnQsICZvZmZzZXQsIGRhdGEsIHN0cmxlbihkYXRhKSk7CisJaWYgKHJldCA8PSAwKQorCQlyZXR1cm4gcmV0OworCisJaW9jYi0+a2lfcG9zICs9IHJldDsKIAlmaWxlX2FjY2Vzc2VkKGZpbHApOwotb3V0OgotCXJldHVybiBjb3VudDsKKworCXJldHVybiByZXQ7CiB9CiBzdGF0aWMgc3NpemVfdCBoeXBmc19haW9fd3JpdGUoc3RydWN0IGtpb2NiICppb2NiLCBjb25zdCBzdHJ1Y3QgaW92ZWMgKmlvdiwKIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbnJfc2VncywgbG9mZl90IG9mZnNldCkKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvTWFrZWZpbGUgYi9hcmNoL3MzOTAva2VybmVsL01ha2VmaWxlCmluZGV4IDYzMDJmNTAuLjUwZjY1N2UgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9NYWtlZmlsZQpAQCAtNyw5ICs3LDE0IEBACiAjCiBDRkxBR1Nfc21wLm8JOj0gLVduby1ub25udWxsCiAKKyMKKyMgUGFzcyBVVFNfTUFDSElORSBmb3IgdXNlcl9yZWdzZXQgZGVmaW5pdGlvbgorIworQ0ZMQUdTX3B0cmFjZS5vCQkrPSAtRFVUU19NQUNISU5FPSciJChVVFNfTUFDSElORSkiJworCiBvYmoteQk6PSAgYml0bWFwLm8gdHJhcHMubyB0aW1lLm8gcHJvY2Vzcy5vIGJhc2UubyBlYXJseS5vIFwKICAgICAgICAgICAgIHNldHVwLm8gc3lzX3MzOTAubyBwdHJhY2UubyBzaWduYWwubyBjcGNtZC5vIGViY2RpYy5vIFwKLQkgICAgczM5MF9leHQubyBkZWJ1Zy5vIGlycS5vIGlwbC5vIGRpcy5vIGRpYWcubworCSAgICBzMzkwX2V4dC5vIGRlYnVnLm8gaXJxLm8gaXBsLm8gZGlzLm8gZGlhZy5vIG1lbV9kZXRlY3QubwogCiBvYmoteQkrPSAkKGlmICQoQ09ORklHXzY0QklUKSxlbnRyeTY0Lm8sZW50cnkubykKIG9iai15CSs9ICQoaWYgJChDT05GSUdfNjRCSVQpLHJlaXBsNjQubyxyZWlwbC5vKQpAQCAtMjMsNyArMjgsNyBAQAogY29tcGF0LW9iai0kKENPTkZJR19BVURJVCkJKz0gY29tcGF0X2F1ZGl0Lm8KIG9iai0kKENPTkZJR19DT01QQVQpCQkrPSBjb21wYXRfbGludXgubyBjb21wYXRfc2lnbmFsLm8gXAogCQkJCQljb21wYXRfd3JhcHBlci5vIGNvbXBhdF9leGVjX2RvbWFpbi5vIFwKLQkJCQkJYmluZm10X2VsZjMyLm8gJChjb21wYXQtb2JqLXkpCisJCQkJCSQoY29tcGF0LW9iai15KQogCiBvYmotJChDT05GSUdfVklSVF9USU1FUikJKz0gdnRpbWUubwogb2JqLSQoQ09ORklHX1NUQUNLVFJBQ0UpCSs9IHN0YWNrdHJhY2UubwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9iaW5mbXRfZWxmMzIuYyBiL2FyY2gvczM5MC9rZXJuZWwvYmluZm10X2VsZjMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlMWMzMTUuLjAwMDAwMDAKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9iaW5mbXRfZWxmMzIuYworKysgL2Rldi9udWxsCkBAIC0xLDIxNCArMCwwIEBACi0vKgotICogU3VwcG9ydCBmb3IgMzItYml0IExpbnV4IGZvciBTMzkwIEVMRiBiaW5hcmllcy4KLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDAgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsIElCTSBDb3Jwb3JhdGlvbgotICogQXV0aG9yKHMpOiBHZXJoYXJkIFRvbm4gKHRvbkBkZS5pYm0uY29tKQotICoKLSAqIEhlYXZpbHkgaW5zcGlyZWQgYnkgdGhlIDMyLWJpdCBTcGFyYyBjb21wYXQgY29kZSB3aGljaCBpcwotICogQ29weXJpZ2h0IChDKSAxOTk1LCAxOTk2LCAxOTk3LCAxOTk4IERhdmlkIFMuIE1pbGxlciAoZGF2ZW1AcmVkaGF0LmNvbSkKLSAqIENvcHlyaWdodCAoQykgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCBKYWt1YiBKZWxpbmVrICAgKGpqQHVsdHJhLmxpbnV4LmN6KQotICovCi0KLSNkZWZpbmUgX19BU01TMzkwX0VMRl9ICi0KLSNpbmNsdWRlIDxsaW51eC90aW1lLmg+Ci0KLS8qCi0gKiBUaGVzZSBhcmUgdXNlZCB0byBzZXQgcGFyYW1ldGVycyBpbiB0aGUgY29yZSBkdW1wcy4KLSAqLwotI2RlZmluZSBFTEZfQ0xBU1MJRUxGQ0xBU1MzMgotI2RlZmluZSBFTEZfREFUQQlFTEZEQVRBMk1TQgotI2RlZmluZSBFTEZfQVJDSAlFTV9TMzkwCi0KLS8qCi0gKiBUaGlzIGlzIHVzZWQgdG8gZW5zdXJlIHdlIGRvbid0IGxvYWQgc29tZXRoaW5nIGZvciB0aGUgd3JvbmcgYXJjaGl0ZWN0dXJlLgotICovCi0jZGVmaW5lIGVsZl9jaGVja19hcmNoKHgpIFwKLQkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKLSAgICAgICAgICYmICh4KS0+ZV9pZGVudFtFSV9DTEFTU10gPT0gRUxGX0NMQVNTKQotCi0vKiBFTEYgcmVnaXN0ZXIgZGVmaW5pdGlvbnMgKi8KLSNkZWZpbmUgTlVNX0dQUlMgICAgICAxNgotI2RlZmluZSBOVU1fRlBSUyAgICAgIDE2Ci0jZGVmaW5lIE5VTV9BQ1JTICAgICAgMTYgICAgCi0KLS8qIEZvciBTVlI0L1MzOTAgdGhlIGZ1bmN0aW9uIHBvaW50ZXIgdG8gYmUgcmVnaXN0ZXJlZCB3aXRoIGBhdGV4aXRgIGlzCi0gICBwYXNzZWQgaW4gUjE0LiAqLwotI2RlZmluZSBFTEZfUExBVF9JTklUKF9yLCBsb2FkX2FkZHIpIFwKLQlkbyB7IFwKLQkJX3ItPmdwcnNbMTRdID0gMDsgXAotCX0gd2hpbGUoMCkKLQotI2RlZmluZSBVU0VfRUxGX0NPUkVfRFVNUAotI2RlZmluZSBFTEZfRVhFQ19QQUdFU0laRSAgICAgICA0MDk2Ci0KLS8qIFRoaXMgaXMgdGhlIGxvY2F0aW9uIHRoYXQgYW4gRVRfRFlOIHByb2dyYW0gaXMgbG9hZGVkIGlmIGV4ZWMnZWQuICBUeXBpY2FsCi0gICB1c2Ugb2YgdGhpcyBpcyB0byBpbnZva2UgIi4vbGQuc28gc29tZXByb2ciIHRvIHRlc3Qgb3V0IGEgbmV3IHZlcnNpb24gb2YKLSAgIHRoZSBsb2FkZXIuICBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGl0IGlzIG91dCBvZiB0aGUgd2F5IG9mIHRoZSBwcm9ncmFtCi0gICB0aGF0IGl0IHdpbGwgImV4ZWMiLCBhbmQgdGhhdCB0aGVyZSBpcyBzdWZmaWNpZW50IHJvb20gZm9yIHRoZSBicmsuICAqLwotCi0jZGVmaW5lIEVMRl9FVF9EWU5fQkFTRSAgICAgICAgIChUQVNLX1NJWkUgLyAzICogMikKLQotLyogV293LCB0aGUgIm1haW4iIGFyY2ggbmVlZHMgYXJjaCBkZXBlbmRlbnQgZnVuY3Rpb25zIHRvby4uIDopICovCi0KLS8qIHJlZ3MgaXMgc3RydWN0IHB0X3JlZ3MsIHByX3JlZyBpcyBlbGZfZ3JlZ3NldF90ICh3aGljaCBpcwotICAgbm93IHN0cnVjdF91c2VyX3JlZ3MsIHRoZXkgYXJlIGRpZmZlcmVudCkgKi8KLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX1JFR1MocHJfcmVnLCByZWdzKSBkdW1wX3JlZ3MzMihyZWdzLCAmcHJfcmVnKTsKLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX1RBU0tfUkVHUyh0c2ssIHJlZ3MpIGR1bXBfdGFza19yZWdzMzIodHNrLCByZWdzKQotCi0jZGVmaW5lIEVMRl9DT1JFX0NPUFlfRlBSRUdTKHRzaywgZnByZWdzKSBkdW1wX3Rhc2tfZnB1KHRzaywgZnByZWdzKQotCi0vKiBUaGlzIHlpZWxkcyBhIG1hc2sgdGhhdCB1c2VyIHByb2dyYW1zIGNhbiB1c2UgdG8gZmlndXJlIG91dCB3aGF0Ci0gICBpbnN0cnVjdGlvbiBzZXQgdGhpcyBDUFUgc3VwcG9ydHMuICovCi0KLSNkZWZpbmUgRUxGX0hXQ0FQICgwKQotCi0vKiBUaGlzIHlpZWxkcyBhIHN0cmluZyB0aGF0IGxkLnNvIHdpbGwgdXNlIHRvIGxvYWQgaW1wbGVtZW50YXRpb24KLSAgIHNwZWNpZmljIGxpYnJhcmllcyBmb3Igb3B0aW1pemF0aW9uLiAgVGhpcyBpcyBtb3JlIHNwZWNpZmljIGluCi0gICBpbnRlbnQgdGhhbiBwb2tpbmcgYXQgdW5hbWUgb3IgL3Byb2MvY3B1aW5mby4KLQotICAgRm9yIHRoZSBtb21lbnQsIHdlIGhhdmUgb25seSBvcHRpbWl6YXRpb25zIGZvciB0aGUgSW50ZWwgZ2VuZXJhdGlvbnMsCi0gICBidXQgdGhhdCBjb3VsZCBjaGFuZ2UuLi4gKi8KLQotI2RlZmluZSBFTEZfUExBVEZPUk0gKE5VTEwpCi0KLSNkZWZpbmUgU0VUX1BFUlNPTkFMSVRZKGV4LCBpYmNzMikJCQlcCi1kbyB7CQkJCQkJCVwKLQlpZiAoaWJjczIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JCXNldF9wZXJzb25hbGl0eShQRVJfU1ZSNCk7ICAgICAgICAgICAgICBcCi0JZWxzZSBpZiAoY3VycmVudC0+cGVyc29uYWxpdHkgIT0gUEVSX0xJTlVYMzIpICAgXAotCQlzZXRfcGVyc29uYWxpdHkoUEVSX0xJTlVYKTsgICAgICAgICAgICAgXAotCXNldF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJCVwKLX0gd2hpbGUgKDApCi0KLSNpbmNsdWRlICJjb21wYXRfbGludXguaCIKLQotdHlwZWRlZiBfczM5MF9mcF9yZWdzMzIgZWxmX2ZwcmVnc2V0X3Q7Ci0KLXR5cGVkZWYgc3RydWN0Ci17Ci0JCi0JX3Bzd190MzIJcHN3OwotCV9fdTMyCQlncHJzW19fTlVNX0dQUlNdOyAKLQlfX3UzMgkJYWNyc1tfX05VTV9BQ1JTXTsgCi0JX191MzIJCW9yaWdfZ3ByMjsKLX0gczM5MF9yZWdzMzI7Ci10eXBlZGVmIHMzOTBfcmVnczMyIGVsZl9ncmVnc2V0X3Q7Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfcmVnczMyKHN0cnVjdCBwdF9yZWdzICpwdHJlZ3MsIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0JaW50IGk7Ci0KLQltZW1jcHkoJnJlZ3MtPnBzdy5tYXNrLCAmcHRyZWdzLT5wc3cubWFzaywgNCk7Ci0JbWVtY3B5KCZyZWdzLT5wc3cuYWRkciwgKGNoYXIgKikmcHRyZWdzLT5wc3cuYWRkciArIDQsIDQpOwotCWZvciAoaSA9IDA7IGkgPCBOVU1fR1BSUzsgaSsrKQotCQlyZWdzLT5ncHJzW2ldID0gcHRyZWdzLT5ncHJzW2ldOwotCXNhdmVfYWNjZXNzX3JlZ3MocmVncy0+YWNycyk7Ci0JcmVncy0+b3JpZ19ncHIyID0gcHRyZWdzLT5vcmlnX2dwcjI7Ci0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfdGFza19yZWdzMzIoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0Jc3RydWN0IHB0X3JlZ3MgKnB0cmVncyA9IHRhc2tfcHRfcmVncyh0c2spOwotCWludCBpOwotCi0JbWVtY3B5KCZyZWdzLT5wc3cubWFzaywgJnB0cmVncy0+cHN3Lm1hc2ssIDQpOwotCW1lbWNweSgmcmVncy0+cHN3LmFkZHIsIChjaGFyICopJnB0cmVncy0+cHN3LmFkZHIgKyA0LCA0KTsKLQlmb3IgKGkgPSAwOyBpIDwgTlVNX0dQUlM7IGkrKykKLQkJcmVncy0+Z3Byc1tpXSA9IHB0cmVncy0+Z3Byc1tpXTsKLQltZW1jcHkocmVncy0+YWNycywgdHNrLT50aHJlYWQuYWNycywgc2l6ZW9mKHJlZ3MtPmFjcnMpKTsKLQlyZWdzLT5vcmlnX2dwcjIgPSBwdHJlZ3MtPm9yaWdfZ3ByMjsKLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF90YXNrX2ZwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgZWxmX2ZwcmVnc2V0X3QgKmZwcmVncykKLXsKLQlpZiAodHNrID09IGN1cnJlbnQpCi0JCXNhdmVfZnBfcmVncygoczM5MF9mcF9yZWdzICopIGZwcmVncyk7Ci0JZWxzZQotCQltZW1jcHkoZnByZWdzLCAmdHNrLT50aHJlYWQuZnBfcmVncywgc2l6ZW9mKGVsZl9mcHJlZ3NldF90KSk7Ci0JcmV0dXJuIDE7Ci19Ci0KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9lbGZjb3JlLmg+Ci0jaW5jbHVkZSA8bGludXgvYmluZm10cy5oPgotI2luY2x1ZGUgPGxpbnV4L2NvbXBhdC5oPgotCi0jZGVmaW5lIGVsZl9wcnN0YXR1cyBlbGZfcHJzdGF0dXMzMgotc3RydWN0IGVsZl9wcnN0YXR1czMyCi17Ci0Jc3RydWN0IGVsZl9zaWdpbmZvIHByX2luZm87CS8qIEluZm8gYXNzb2NpYXRlZCB3aXRoIHNpZ25hbCAqLwotCXNob3J0CXByX2N1cnNpZzsJCS8qIEN1cnJlbnQgc2lnbmFsICovCi0JdTMyCXByX3NpZ3BlbmQ7CS8qIFNldCBvZiBwZW5kaW5nIHNpZ25hbHMgKi8KLQl1MzIJcHJfc2lnaG9sZDsJLyogU2V0IG9mIGhlbGQgc2lnbmFscyAqLwotCXBpZF90CXByX3BpZDsKLQlwaWRfdAlwcl9wcGlkOwotCXBpZF90CXByX3BncnA7Ci0JcGlkX3QJcHJfc2lkOwotCXN0cnVjdCBjb21wYXRfdGltZXZhbCBwcl91dGltZTsJLyogVXNlciB0aW1lICovCi0Jc3RydWN0IGNvbXBhdF90aW1ldmFsIHByX3N0aW1lOwkvKiBTeXN0ZW0gdGltZSAqLwotCXN0cnVjdCBjb21wYXRfdGltZXZhbCBwcl9jdXRpbWU7CS8qIEN1bXVsYXRpdmUgdXNlciB0aW1lICovCi0Jc3RydWN0IGNvbXBhdF90aW1ldmFsIHByX2NzdGltZTsJLyogQ3VtdWxhdGl2ZSBzeXN0ZW0gdGltZSAqLwotCWVsZl9ncmVnc2V0X3QgcHJfcmVnOwkvKiBHUCByZWdpc3RlcnMgKi8KLQlpbnQgcHJfZnB2YWxpZDsJCS8qIFRydWUgaWYgbWF0aCBjby1wcm9jZXNzb3IgYmVpbmcgdXNlZC4gICovCi19OwotCi0jZGVmaW5lIGVsZl9wcnBzaW5mbyBlbGZfcHJwc2luZm8zMgotc3RydWN0IGVsZl9wcnBzaW5mbzMyCi17Ci0JY2hhcglwcl9zdGF0ZTsJLyogbnVtZXJpYyBwcm9jZXNzIHN0YXRlICovCi0JY2hhcglwcl9zbmFtZTsJLyogY2hhciBmb3IgcHJfc3RhdGUgKi8KLQljaGFyCXByX3pvbWI7CS8qIHpvbWJpZSAqLwotCWNoYXIJcHJfbmljZTsJLyogbmljZSB2YWwgKi8KLQl1MzIJcHJfZmxhZzsJLyogZmxhZ3MgKi8KLQl1MTYJcHJfdWlkOwotCXUxNglwcl9naWQ7Ci0JcGlkX3QJcHJfcGlkLCBwcl9wcGlkLCBwcl9wZ3JwLCBwcl9zaWQ7Ci0JLyogTG90cyBtaXNzaW5nICovCi0JY2hhcglwcl9mbmFtZVsxNl07CS8qIGZpbGVuYW1lIG9mIGV4ZWN1dGFibGUgKi8KLQljaGFyCXByX3BzYXJnc1tFTEZfUFJBUkdTWl07CS8qIGluaXRpYWwgcGFydCBvZiBhcmcgbGlzdCAqLwotfTsKLQotI2luY2x1ZGUgPGxpbnV4L2hpZ2h1aWQuaD4KLQotLyoKLSNkZWZpbmUgaW5pdF9lbGZfYmluZm10IGluaXRfZWxmMzJfYmluZm10Ci0qLwotCi0jdW5kZWYgc3RhcnRfdGhyZWFkCi0jZGVmaW5lIHN0YXJ0X3RocmVhZCAgICAgICAgICAgICAgICAgICAgc3RhcnRfdGhyZWFkMzEgCi0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzdGFydF90aHJlYWQzMShzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBuZXdfcHN3LAotCQkJCSAgdW5zaWduZWQgbG9uZyBuZXdfc3RhY2twKQotewotCXNldF9mcyhVU0VSX0RTKTsKLQlyZWdzLT5wc3cubWFzawk9IHBzd191c2VyMzJfYml0czsKLQlyZWdzLT5wc3cuYWRkcgk9IG5ld19wc3c7Ci0JcmVncy0+Z3Byc1sxNV0JPSBuZXdfc3RhY2twOwotCWNyc3RfdGFibGVfZG93bmdyYWRlKGN1cnJlbnQtPm1tLCAxVUwgPDwgMzEpOwotfQotCi1NT0RVTEVfREVTQ1JJUFRJT04oIkJpbmFyeSBmb3JtYXQgbG9hZGVyIGZvciBjb21wYXRpYmlsaXR5IHdpdGggMzJiaXQgTGludXggZm9yIFMzOTAgYmluYXJpZXMsIgotICAgICAgICAgICAgICAgICAgICIgQ29weXJpZ2h0IDIwMDAgSUJNIENvcnBvcmF0aW9uIik7IAotTU9EVUxFX0FVVEhPUigiR2VyaGFyZCBUb25uIDx0b25AZGUuaWJtLmNvbT4iKTsKLQotI3VuZGVmIE1PRFVMRV9ERVNDUklQVElPTgotI3VuZGVmIE1PRFVMRV9BVVRIT1IKLQotI3VuZGVmIGNwdXRpbWVfdG9fdGltZXZhbAotI2RlZmluZSBjcHV0aW1lX3RvX3RpbWV2YWwgY3B1dGltZV90b19jb21wYXRfdGltZXZhbAotc3RhdGljIGlubGluZSB2b2lkCi1jcHV0aW1lX3RvX2NvbXBhdF90aW1ldmFsKGNvbnN0IGNwdXRpbWVfdCBjcHV0aW1lLCBzdHJ1Y3QgY29tcGF0X3RpbWV2YWwgKnZhbHVlKQotewotCXZhbHVlLT50dl91c2VjID0gY3B1dGltZSAlIDEwMDAwMDA7Ci0JdmFsdWUtPnR2X3NlYyA9IGNwdXRpbWUgLyAxMDAwMDAwOwotfQotCi0jaW5jbHVkZSAiLi4vLi4vLi4vZnMvYmluZm10X2VsZi5jIgotCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2NvbXBhdF9wdHJhY2UuaCBiL2FyY2gvczM5MC9rZXJuZWwvY29tcGF0X3B0cmFjZS5oCmluZGV4IDQxOWFlZjkuLmNkZTgxZmEgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvY29tcGF0X3B0cmFjZS5oCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvY29tcGF0X3B0cmFjZS5oCkBAIC0xLDcgKzEsNyBAQAogI2lmbmRlZiBfUFRSQUNFMzJfSAogI2RlZmluZSBfUFRSQUNFMzJfSAogCi0jaW5jbHVkZSAiY29tcGF0X2xpbnV4LmgiICAvKiBuZWVkZWQgZm9yIF9wc3dfdDMyICovCisjaW5jbHVkZSAiY29tcGF0X2xpbnV4LmgiICAvKiBuZWVkZWQgZm9yIHBzd19jb21wYXRfdCAqLwogCiB0eXBlZGVmIHN0cnVjdCB7CiAJX191MzIgY3JbM107CkBAIC0zOCw3ICszOCw3IEBACiAKIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0MzIKIHsKLQlfcHN3X3QzMiBwc3c7CisJcHN3X2NvbXBhdF90IHBzdzsKIAl1MzIgZ3Byc1tOVU1fR1BSU107CiAJdTMyIGFjcnNbTlVNX0FDUlNdOwogCXUzMiBvcmlnX2dwcjI7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2RlYnVnLmMgYi9hcmNoL3MzOTAva2VybmVsL2RlYnVnLmMKaW5kZXggYzkzZDEyOS4uZDgwZmNkNCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9kZWJ1Zy5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvZGVidWcuYwpAQCAtMTA3OSw3ICsxMDc5LDYgQEAKIAlzMzkwZGJmX3N5c2N0bF9oZWFkZXIgPSByZWdpc3Rlcl9zeXNjdGxfdGFibGUoczM5MGRiZl9kaXJfdGFibGUpOwogCW11dGV4X2xvY2soJmRlYnVnX211dGV4KTsKIAlkZWJ1Z19kZWJ1Z2ZzX3Jvb3RfZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIoREVCVUdfRElSX1JPT1QsTlVMTCk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiZGVidWc6IEluaXRpYWxpemF0aW9uIGNvbXBsZXRlXG4iKTsKIAlpbml0aWFsaXplZCA9IDE7CiAJbXV0ZXhfdW5sb2NrKCZkZWJ1Z19tdXRleCk7CiAKQEAgLTExOTMsNyArMTE5Miw2IEBACiAJZm9yKDsgaXNzcGFjZSgqYnVmKTsgYnVmKyspOwogCXJjID0gc2ltcGxlX3N0cnRvdWwoYnVmLCAmYnVmLCAxMCk7CiAJaWYoKmJ1Zil7Ci0JCXByaW50aygiZGVidWc6IG5vIGludGVnZXIgc3BlY2lmaWVkIVxuIik7CiAJCXJjID0gLUVJTlZBTDsKIAl9CiAJcmV0dXJuIHJjOwpAQCAtMTM0MCwxOSArMTMzOCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgCW1lbXNldChpZC0+YXJlYXNbaV1bal0sIDAsIFBBR0VfU0laRSk7CiAJCQl9CiAJCX0KLSAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICJkZWJ1ZzogJXM6IGFsbCBhcmVhcyBmbHVzaGVkXG4iLGlkLT5uYW1lKTsKICAgICAgICAgfSBlbHNlIGlmKGFyZWEgPj0gMCAmJiBhcmVhIDwgaWQtPm5yX2FyZWFzKSB7CiAgICAgICAgICAgICAgICAgaWQtPmFjdGl2ZV9lbnRyaWVzW2FyZWFdID0gMDsKIAkJaWQtPmFjdGl2ZV9wYWdlc1thcmVhXSA9IDA7CiAJCWZvcihpID0gMDsgaSA8IGlkLT5wYWdlc19wZXJfYXJlYTsgaSsrKSB7CiAgICAgICAgICAgICAgICAgCW1lbXNldChpZC0+YXJlYXNbYXJlYV1baV0sMCxQQUdFX1NJWkUpOwogCQl9Ci0gICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiZGVidWc6ICVzOiBhcmVhICVpIGhhcyBiZWVuIGZsdXNoZWRcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpZC0+bmFtZSwgYXJlYSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTwotICAgICAgICAgICAgICAgICAgICAgICJkZWJ1ZzogJXM6IGFyZWEgJWkgY2Fubm90IGJlIGZsdXNoZWQgKHJhbmdlOiAlaSAtICVpKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGlkLT5uYW1lLCBhcmVhLCAwLCBpZC0+bnJfYXJlYXMtMSk7CiAgICAgICAgIH0KICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWQtPmxvY2ssZmxhZ3MpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9lYXJseS5jIGIvYXJjaC9zMzkwL2tlcm5lbC9lYXJseS5jCmluZGV4IGQwZTA5NjguLjJhMmNhMjYgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvZWFybHkuYworKysgYi9hcmNoL3MzOTAva2VybmVsL2Vhcmx5LmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9wZm4uaD4KICNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8YXNtL2ViY2RpYy5oPgogI2luY2x1ZGUgPGFzbS9pcGwuaD4KICNpbmNsdWRlIDxhc20vbG93Y29yZS5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KQEAgLTI2LDEyICsyNyw0MCBAQAogLyoKICAqIENyZWF0ZSBhIEtlcm5lbCBOU1MgaWYgdGhlIFNBVkVTWVM9IHBhcmFtZXRlciBpcyBkZWZpbmVkCiAgKi8KLSNkZWZpbmUgREVGU1lTX0NNRF9TSVpFCQk5NgorI2RlZmluZSBERUZTWVNfQ01EX1NJWkUJCTEyOAogI2RlZmluZSBTQVZFU1lTX0NNRF9TSVpFCTMyCiAKIGNoYXIga2VybmVsX25zc19uYW1lW05TU19OQU1FX1NJWkUgKyAxXTsKIAorc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2Jvb3RfY29tbWFuZF9saW5lKHZvaWQpOworCisKICNpZmRlZiBDT05GSUdfU0hBUkVEX0tFUk5FTAoraW50IF9faW5pdCBzYXZlc3lzX2lwbF9uc3MoY2hhciAqY21kLCBjb25zdCBpbnQgY21kbGVuKTsKKworYXNtKAorCSIJLnNlY3Rpb24gLmluaXQudGV4dCxcImF4XCIsQHByb2diaXRzXG4iCisJIgkuYWxpZ24JNFxuIgorCSIJLnR5cGUJc2F2ZXN5c19pcGxfbnNzLCBAZnVuY3Rpb25cbiIKKwkic2F2ZXN5c19pcGxfbnNzOlxuIgorI2lmZGVmIENPTkZJR182NEJJVAorCSIJc3RtZwk2LDE1LDQ4KDE1KVxuIgorCSIJbGdyCTE0LDNcbiIKKwkiCXNhbTMxXG4iCisJIglkaWFnCTIsMTQsMHg4XG4iCisJIglzYW02NFxuIgorCSIJbGdyCTIsMTRcbiIKKwkiCWxtZwk2LDE1LDQ4KDE1KVxuIgorI2Vsc2UKKwkiCXN0bQk2LDE1LDI0KDE1KVxuIgorCSIJbHIJMTQsM1xuIgorCSIJZGlhZwkyLDE0LDB4OFxuIgorCSIJbHIJMiwxNFxuIgorCSIJbG0JNiwxNSwyNCgxNSlcbiIKKyNlbmRpZgorCSIJYnIJMTRcbiIKKwkiCS5zaXplCXNhdmVzeXNfaXBsX25zcywgLi1zYXZlc3lzX2lwbF9uc3NcbiIpOworCiBzdGF0aWMgbm9pbmxpbmUgX19pbml0IHZvaWQgY3JlYXRlX2tlcm5lbF9uc3Modm9pZCkKIHsKIAl1bnNpZ25lZCBpbnQgaSwgc3RleHRfcGZuLCBlc2hhcmVkX3BmbiwgZW5kX3BmbiwgbWluX3NpemU7CkBAIC0zOSw2ICs2OCw3IEBACiAJdW5zaWduZWQgaW50IHNpbml0cmRfcGZuLCBlaW5pdHJkX3BmbjsKICNlbmRpZgogCWludCByZXNwb25zZTsKKwlzaXplX3QgbGVuOwogCWNoYXIgKnNhdmVzeXNfcHRyOwogCWNoYXIgdXBwZXJfY29tbWFuZF9saW5lW0NPTU1BTkRfTElORV9TSVpFXTsKIAljaGFyIGRlZnN5c19jbWRbREVGU1lTX0NNRF9TSVpFXTsKQEAgLTQ5LDggKzc5LDggQEAKIAkJcmV0dXJuOwogCiAJLyogQ29udmVydCBDT01NQU5EX0xJTkUgdG8gdXBwZXIgY2FzZSAqLwotCWZvciAoaSA9IDA7IGkgPCBzdHJsZW4oQ09NTUFORF9MSU5FKTsgaSsrKQotCQl1cHBlcl9jb21tYW5kX2xpbmVbaV0gPSB0b3VwcGVyKENPTU1BTkRfTElORVtpXSk7CisJZm9yIChpID0gMDsgaSA8IHN0cmxlbihib290X2NvbW1hbmRfbGluZSk7IGkrKykKKwkJdXBwZXJfY29tbWFuZF9saW5lW2ldID0gdG91cHBlcihib290X2NvbW1hbmRfbGluZVtpXSk7CiAKIAlzYXZlc3lzX3B0ciA9IHN0cnN0cih1cHBlcl9jb21tYW5kX2xpbmUsICJTQVZFU1lTPSIpOwogCkBAIC04Myw3ICsxMTMsOCBAQAogCX0KICNlbmRpZgogCi0Jc3ByaW50ZihkZWZzeXNfY21kLCAiJXMgRVcgTUlOU0laRT0lLjdpSyIsIGRlZnN5c19jbWQsIG1pbl9zaXplKTsKKwlzcHJpbnRmKGRlZnN5c19jbWQsICIlcyBFVyBNSU5TSVpFPSUuN2lLIFBBUk1SRUdTPTAtMTMiLAorCQlkZWZzeXNfY21kLCBtaW5fc2l6ZSk7CiAJc3ByaW50ZihzYXZlc3lzX2NtZCwgIlNBVkVTWVMgJXMgXG4gSVBMICVzIiwKIAkJa2VybmVsX25zc19uYW1lLCBrZXJuZWxfbnNzX25hbWUpOwogCkBAIC05NCwxMyArMTI1LDI0IEBACiAJCXJldHVybjsKIAl9CiAKLQlfX2NwY21kKHNhdmVzeXNfY21kLCBOVUxMLCAwLCAmcmVzcG9uc2UpOworCWxlbiA9IHN0cmxlbihzYXZlc3lzX2NtZCk7CisJQVNDRUJDKHNhdmVzeXNfY21kLCBsZW4pOworCXJlc3BvbnNlID0gc2F2ZXN5c19pcGxfbnNzKHNhdmVzeXNfY21kLCBsZW4pOwogCi0JaWYgKHJlc3BvbnNlICE9IHN0cmxlbihzYXZlc3lzX2NtZCkpIHsKKwkvKiBPbiBzdWNjZXNzOiByZXNwb25zZSBpcyBlcXVhbCB0byB0aGUgY29tbWFuZCBzaXplLAorCSAqCSAgICAgICBtYXggU0FWRVNZU19DTURfU0laRQorCSAqIE9uIGVycm9yOiByZXNwb25zZSBjb250YWlucyB0aGUgbnVtZXJpYyBwb3J0aW9uIG9mIGNwIGVycm9yIG1lc3NhZ2UuCisJICoJICAgICBmb3IgU0FWRVNZUyBpdCB3aWxsIGJlID49IDI2MworCSAqLworCWlmIChyZXNwb25zZSA+IFNBVkVTWVNfQ01EX1NJWkUpIHsKIAkJa2VybmVsX25zc19uYW1lWzBdID0gJ1wwJzsKIAkJcmV0dXJuOwogCX0KIAorCS8qIHJlLXNldHVwIGJvb3QgY29tbWFuZCBsaW5lIHdpdGggbmV3IGlwbCB2bSBwYXJtcyAqLworCWlwbF91cGRhdGVfcGFyYW1ldGVycygpOworCXNldHVwX2Jvb3RfY29tbWFuZF9saW5lKCk7CisKIAlpcGxfZmxhZ3MgPSBJUExfTlNTX1ZBTElEOwogfQogCkBAIC0xNDEsMTA5ICsxODMsMTEgQEAKIAlpZiAoY3B1aW5mby0+Y3B1X2lkLnZlcnNpb24gPT0gMHhmZikKIAkJbWFjaGluZV9mbGFncyB8PSBNQUNISU5FX0ZMQUdfVk07CiAKLQkvKiBSdW5uaW5nIG9uIGEgUC8zOTAgPyAqLwotCWlmIChjcHVpbmZvLT5jcHVfaWQubWFjaGluZSA9PSAweDc0OTApCi0JCW1hY2hpbmVfZmxhZ3MgfD0gTUFDSElORV9GTEFHX1AzOTA7Ci0KIAkvKiBSdW5uaW5nIHVuZGVyIEtWTSA/ICovCiAJaWYgKGNwdWluZm8tPmNwdV9pZC52ZXJzaW9uID09IDB4ZmUpCiAJCW1hY2hpbmVfZmxhZ3MgfD0gTUFDSElORV9GTEFHX0tWTTsKIH0KIAotI2lmZGVmIENPTkZJR182NEJJVAotc3RhdGljIG5vaW5saW5lIF9faW5pdCBpbnQgbWVtb3J5X2Zhc3RfZGV0ZWN0KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyB2YWwwID0gMDsKLQl1bnNpZ25lZCBsb25nIHZhbDEgPSAweGM7Ci0JaW50IHJldCA9IC1FTk9TWVM7Ci0KLQlpZiAoaXBsX2ZsYWdzICYgSVBMX05TU19WQUxJRCkKLQkJcmV0dXJuIC1FTk9TWVM7Ci0KLQlhc20gdm9sYXRpbGUoCi0JCSIJZGlhZwklMSwlMiwweDI2MFxuIgotCQkiMDoJbGhpCSUwLDBcbiIKLQkJIjE6XG4iCi0JCUVYX1RBQkxFKDBiLDFiKQotCQk6ICIrZCIgKHJldCksICIrZCIgKHZhbDApLCAiK2QiICh2YWwxKSA6IDogImNjIik7Ci0KLQlpZiAocmV0IHx8IHZhbDAgIT0gdmFsMSkKLQkJcmV0dXJuIC1FTk9TWVM7Ci0KLQltZW1vcnlfY2h1bmtbMF0uc2l6ZSA9IHZhbDAgKyAxOwotCXJldHVybiAwOwotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgaW50IG1lbW9yeV9mYXN0X2RldGVjdCh2b2lkKQotewotCXJldHVybiAtRU5PU1lTOwotfQotI2VuZGlmCi0KLXN0YXRpYyBpbmxpbmUgX19pbml0IHVuc2lnbmVkIGxvbmcgX190cHJvdCh1bnNpZ25lZCBsb25nIGFkZHIpCi17Ci0JaW50IGNjID0gLTE7Ci0KLQlhc20gdm9sYXRpbGUoCi0JCSIJdHByb3QJMCglMSksMFxuIgotCQkiMDoJaXBtCSUwXG4iCi0JCSIJc3JsCSUwLDI4XG4iCi0JCSIxOlxuIgotCQlFWF9UQUJMRSgwYiwxYikKLQkJOiAiK2QiIChjYykgOiAiYSIgKGFkZHIpIDogImNjIik7Ci0JcmV0dXJuICh1bnNpZ25lZCBsb25nKWNjOwotfQotCi0vKiBDaGVja2luZyBtZW1vcnkgaW4gMTI4S0IgaW5jcmVtZW50cy4gKi8KLSNkZWZpbmUgQ0hVTktfSU5DUgkoMVVMIDw8IDE3KQotI2RlZmluZSBBRERSMkcJCSgxVUwgPDwgMzEpCi0KLXN0YXRpYyBub2lubGluZSBfX2luaXQgdm9pZCBmaW5kX21lbW9yeV9jaHVua3ModW5zaWduZWQgbG9uZyBtZW1zaXplKQotewotCXVuc2lnbmVkIGxvbmcgYWRkciA9IDAsIG9sZF9hZGRyID0gMDsKLQl1bnNpZ25lZCBsb25nIG9sZF9jYyA9IENIVU5LX1JFQURfV1JJVEU7Ci0JdW5zaWduZWQgbG9uZyBjYzsKLQlpbnQgY2h1bmsgPSAwOwotCi0Jd2hpbGUgKGNodW5rIDwgTUVNT1JZX0NIVU5LUykgewotCQljYyA9IF9fdHByb3QoYWRkcik7Ci0JCXdoaWxlIChjYyA9PSBvbGRfY2MpIHsKLQkJCWFkZHIgKz0gQ0hVTktfSU5DUjsKLQkJCWlmIChtZW1zaXplICYmIGFkZHIgPj0gbWVtc2l6ZSkKLQkJCQlicmVhazsKLSNpZm5kZWYgQ09ORklHXzY0QklUCi0JCQlpZiAoYWRkciA9PSBBRERSMkcpCi0JCQkJYnJlYWs7Ci0jZW5kaWYKLQkJCWNjID0gX190cHJvdChhZGRyKTsKLQkJfQotCi0JCWlmIChvbGRfYWRkciAhPSBhZGRyICYmCi0JCSAgICAob2xkX2NjID09IENIVU5LX1JFQURfV1JJVEUgfHwgb2xkX2NjID09IENIVU5LX1JFQURfT05MWSkpIHsKLQkJCW1lbW9yeV9jaHVua1tjaHVua10uYWRkciA9IG9sZF9hZGRyOwotCQkJbWVtb3J5X2NodW5rW2NodW5rXS5zaXplID0gYWRkciAtIG9sZF9hZGRyOwotCQkJbWVtb3J5X2NodW5rW2NodW5rXS50eXBlID0gb2xkX2NjOwotCQkJY2h1bmsrKzsKLQkJfQotCi0JCW9sZF9hZGRyID0gYWRkcjsKLQkJb2xkX2NjID0gY2M7Ci0KLSNpZm5kZWYgQ09ORklHXzY0QklUCi0JCWlmIChhZGRyID09IEFERFIyRykKLQkJCWJyZWFrOwotI2VuZGlmCi0JCS8qCi0JCSAqIEZpbmlzaCBtZW1vcnkgZGV0ZWN0aW9uIGF0IHRoZSBmaXJzdCBob2xlCi0JCSAqIGlmIHN0b3JhZ2Ugc2l6ZSBpcyB1bmtub3duLgotCQkgKi8KLQkJaWYgKGNjID09IC0xVUwgJiYgIW1lbXNpemUpCi0JCQlicmVhazsKLQkJaWYgKG1lbXNpemUgJiYgYWRkciA+PSBtZW1zaXplKQotCQkJYnJlYWs7Ci0JfQotfQotCiBzdGF0aWMgX19pbml0IHZvaWQgZWFybHlfcGdtX2NoZWNrX2hhbmRsZXIodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIGFkZHI7CkBAIC0zODAsMjMgKzMyNCw2MSBAQAogI2VuZGlmCiB9CiAKK3N0YXRpYyBfX2luaXQgdm9pZCByZXNjdWVfaW5pdHJkKHZvaWQpCit7CisjaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECisJLyoKKwkgKiBNb3ZlIHRoZSBpbml0cmQgcmlnaHQgYmVoaW5kIHRoZSBic3Mgc2VjdGlvbiBpbiBjYXNlIGl0IHN0YXJ0cworCSAqIHdpdGhpbiB0aGUgYnNzIHNlY3Rpb24uIFNvIHdlIGRvbid0IG92ZXJ3cml0ZSBpdCB3aGVuIHRoZSBic3MKKwkgKiBzZWN0aW9uIGdldHMgY2xlYXJlZC4KKwkgKi8KKwlpZiAoIUlOSVRSRF9TVEFSVCB8fCAhSU5JVFJEX1NJWkUpCisJCXJldHVybjsKKwlpZiAoSU5JVFJEX1NUQVJUID49ICh1bnNpZ25lZCBsb25nKSBfX2Jzc19zdG9wKQorCQlyZXR1cm47CisJbWVtbW92ZShfX2Jzc19zdG9wLCAodm9pZCAqKSBJTklUUkRfU1RBUlQsIElOSVRSRF9TSVpFKTsKKwlJTklUUkRfU1RBUlQgPSAodW5zaWduZWQgbG9uZykgX19ic3Nfc3RvcDsKKyNlbmRpZgorfQorCisvKiBTZXQgdXAgYm9vdCBjb21tYW5kIGxpbmUgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ib290X2NvbW1hbmRfbGluZSh2b2lkKQoreworCWNoYXIgKnBhcm0gPSBOVUxMOworCisJLyogY29weSBhcmNoIGNvbW1hbmQgbGluZSAqLworCXN0cmxjcHkoYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORSwgQVJDSF9DT01NQU5EX0xJTkVfU0laRSk7CisJYm9vdF9jb21tYW5kX2xpbmVbQVJDSF9DT01NQU5EX0xJTkVfU0laRSAtIDFdID0gMDsKKworCS8qIGFwcGVuZCBJUEwgUEFSTSBkYXRhIHRvIHRoZSBib290IGNvbW1hbmQgbGluZSAqLworCWlmIChNQUNISU5FX0lTX1ZNKSB7CisJCXBhcm0gPSBib290X2NvbW1hbmRfbGluZSArIHN0cmxlbihib290X2NvbW1hbmRfbGluZSk7CisJCSpwYXJtKysgPSAnICc7CisJCWdldF9pcGxfdm1wYXJtKHBhcm0pOworCQlpZiAocGFybVswXSA9PSAnPScpCisJCQltZW1tb3ZlKGJvb3RfY29tbWFuZF9saW5lLCBwYXJtICsgMSwgc3RybGVuKHBhcm0pKTsKKwl9Cit9CisKKwogLyoKICAqIFNhdmUgaXBsIHBhcmFtZXRlcnMsIGNsZWFyIGJzcyBtZW1vcnksIGluaXRpYWxpemUgc3RvcmFnZSBrZXlzCiAgKiBhbmQgY3JlYXRlIGEga2VybmVsIE5TUyBhdCBzdGFydHVwIGlmIHRoZSBTQVZFU1lTPSBwYXJtIGlzIGRlZmluZWQKICAqLwogdm9pZCBfX2luaXQgc3RhcnR1cF9pbml0KHZvaWQpCiB7Ci0JdW5zaWduZWQgbG9uZyBsb25nIG1lbXNpemU7Ci0KIAlpcGxfc2F2ZV9wYXJhbWV0ZXJzKCk7CisJcmVzY3VlX2luaXRyZCgpOwogCWNsZWFyX2Jzc19zZWN0aW9uKCk7CiAJaW5pdF9rZXJuZWxfc3RvcmFnZV9rZXkoKTsKIAlsb2NrZGVwX2luaXQoKTsKIAlsb2NrZGVwX29mZigpOwotCWRldGVjdF9tYWNoaW5lX3R5cGUoKTsKLQljcmVhdGVfa2VybmVsX25zcygpOwogCXNvcnRfbWFpbl9leHRhYmxlKCk7CiAJc2V0dXBfbG93Y29yZV9lYXJseSgpOworCWRldGVjdF9tYWNoaW5lX3R5cGUoKTsKKwlpcGxfdXBkYXRlX3BhcmFtZXRlcnMoKTsKKwlzZXR1cF9ib290X2NvbW1hbmRfbGluZSgpOworCWNyZWF0ZV9rZXJuZWxfbnNzKCk7CiAJZGV0ZWN0X212cGcoKTsKIAlkZXRlY3RfaWVlZSgpOwogCWRldGVjdF9jc3AoKTsKQEAgLTQwNCwxOCArMzg2LDcgQEAKIAlkZXRlY3RfZGlhZzQ0KCk7CiAJZGV0ZWN0X21hY2hpbmVfZmFjaWxpdGllcygpOwogCXNldHVwX2hwYWdlKCk7Ci0Jc2NscF9yZWFkX2luZm9fZWFybHkoKTsKIAlzY2xwX2ZhY2lsaXRpZXNfZGV0ZWN0KCk7Ci0JbWVtc2l6ZSA9IHNjbHBfbWVtb3J5X2RldGVjdCgpOwotI2lmbmRlZiBDT05GSUdfNjRCSVQKLQkvKgotCSAqIENhbid0IGRlYWwgd2l0aCBtb3JlIHRoYW4gMkcgaW4gMzEgYml0IGFkZHJlc3NpbmcgbW9kZSwgc28KLQkgKiBsaW1pdCB0aGUgdmFsdWUgaW4gb3JkZXIgdG8gYXZvaWQgc3RyYW5nZSBzaWRlIGVmZmVjdHMuCi0JICovCi0JaWYgKG1lbXNpemUgPiBBRERSMkcpCi0JCW1lbXNpemUgPSBBRERSMkc7Ci0jZW5kaWYKLQlpZiAobWVtb3J5X2Zhc3RfZGV0ZWN0KCkgPCAwKQotCQlmaW5kX21lbW9yeV9jaHVua3MoKHVuc2lnbmVkIGxvbmcpIG1lbXNpemUpOworCWRldGVjdF9tZW1vcnlfbGF5b3V0KG1lbW9yeV9jaHVuayk7CiAJbG9ja2RlcF9vbigpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9pcGwuYyBiL2FyY2gvczM5MC9rZXJuZWwvaXBsLmMKaW5kZXggNTMyNTQyNC4uNTRiMjc3OSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9pcGwuYworKysgYi9hcmNoL3MzOTAva2VybmVsL2lwbC5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8YXNtL2lwbC5oPgogI2luY2x1ZGUgPGFzbS9zbXAuaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KQEAgLTIyLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxhc20vZWJjZGljLmg+CiAjaW5jbHVkZSA8YXNtL3Jlc2V0Lmg+CiAjaW5jbHVkZSA8YXNtL3NjbHAuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAogI2RlZmluZSBJUExfUEFSTV9CTE9DS19WRVJTSU9OIDAKIApAQCAtMTIxLDYgKzEyMyw3IEBACiAJUkVJUExfTUVUSE9EX0ZDUF9ST19WTSwKIAlSRUlQTF9NRVRIT0RfRkNQX0RVTVAsCiAJUkVJUExfTUVUSE9EX05TUywKKwlSRUlQTF9NRVRIT0RfTlNTX0RJQUcsCiAJUkVJUExfTUVUSE9EX0RFRkFVTFQsCiB9OwogCkBAIC0xMzQsMTQgKzEzNywxNSBAQAogCiBzdGF0aWMgaW50IGRpYWczMDhfc2V0X3dvcmtzID0gMDsKIAorc3RhdGljIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrIGlwbF9ibG9jazsKKwogc3RhdGljIGludCByZWlwbF9jYXBhYmlsaXRpZXMgPSBJUExfVFlQRV9VTktOT1dOOwogCiBzdGF0aWMgZW51bSBpcGxfdHlwZSByZWlwbF90eXBlID0gSVBMX1RZUEVfVU5LTk9XTjsKIHN0YXRpYyBlbnVtIGlwbF9tZXRob2QgcmVpcGxfbWV0aG9kID0gUkVJUExfTUVUSE9EX0RFRkFVTFQ7CiBzdGF0aWMgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKnJlaXBsX2Jsb2NrX2ZjcDsKIHN0YXRpYyBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqcmVpcGxfYmxvY2tfY2N3OwotCi1zdGF0aWMgY2hhciByZWlwbF9uc3NfbmFtZVtOU1NfTkFNRV9TSVpFICsgMV07CitzdGF0aWMgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKnJlaXBsX2Jsb2NrX25zczsKIAogc3RhdGljIGludCBkdW1wX2NhcGFiaWxpdGllcyA9IERVTVBfVFlQRV9OT05FOwogc3RhdGljIGVudW0gZHVtcF90eXBlIGR1bXBfdHlwZSA9IERVTVBfVFlQRV9OT05FOwpAQCAtMjYzLDYgKzI2Nyw1NiBAQAogCiBzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19pcGxfdHlwZV9hdHRyID0gX19BVFRSX1JPKGlwbF90eXBlKTsKIAorLyogVk0gSVBMIFBBUk0gcm91dGluZXMgKi8KK3N0YXRpYyB2b2lkIHJlaXBsX2dldF9hc2NpaV92bXBhcm0oY2hhciAqZGVzdCwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiKQoreworCWludCBpOworCWludCBsZW4gPSAwOworCWNoYXIgaGFzX2xvd2VyY2FzZSA9IDA7CisKKwlpZiAoKGlwYi0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzICYgRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRCkgJiYKKwkgICAgKGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm1fbGVuID4gMCkpIHsKKworCQlsZW4gPSBpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtX2xlbjsKKwkJbWVtY3B5KGRlc3QsIGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm0sIGxlbik7CisJCS8qIElmIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIgaXMgbG93ZXJjYXNlLCB3ZSBhc3N1bWUgbWl4ZWQKKwkJICogY2FzZTsgb3RoZXJ3aXNlIHdlIGNvbnZlcnQgZXZlcnl0aGluZyB0byBsb3dlcmNhc2UuCisJCSAqLworCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCisJCQlpZiAoKGRlc3RbaV0gPiAweDgwICYmIGRlc3RbaV0gPCAweDhhKSB8fCAvKiBhLWkgKi8KKwkJCSAgICAoZGVzdFtpXSA+IDB4OTAgJiYgZGVzdFtpXSA8IDB4OWEpIHx8IC8qIGotciAqLworCQkJICAgIChkZXN0W2ldID4gMHhhMSAmJiBkZXN0W2ldIDwgMHhhYSkpIHsgLyogcy16ICovCisJCQkJaGFzX2xvd2VyY2FzZSA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCWlmICghaGFzX2xvd2VyY2FzZSkKKwkJCUVCQ19UT0xPV0VSKGRlc3QsIGxlbik7CisJCUVCQ0FTQyhkZXN0LCBsZW4pOworCX0KKwlkZXN0W2xlbl0gPSAwOworfQorCit2b2lkIGdldF9pcGxfdm1wYXJtKGNoYXIgKmRlc3QpCit7CisJaWYgKGRpYWczMDhfc2V0X3dvcmtzICYmIChpcGxfYmxvY2suaGRyLnBidCA9PSBESUFHMzA4X0lQTF9UWVBFX0NDVykpCisJCXJlaXBsX2dldF9hc2NpaV92bXBhcm0oZGVzdCwgJmlwbF9ibG9jayk7CisJZWxzZQorCQlkZXN0WzBdID0gMDsKK30KKworc3RhdGljIHNzaXplX3QgaXBsX3ZtX3Bhcm1fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJY2hhciBwYXJtW0RJQUczMDhfVk1QQVJNX1NJWkUgKyAxXSA9IHt9OworCisJZ2V0X2lwbF92bXBhcm0ocGFybSk7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVzXG4iLCBwYXJtKTsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfaXBsX3ZtX3Bhcm1fYXR0ciA9CisJX19BVFRSKHBhcm0sIFNfSVJVR08sIGlwbF92bV9wYXJtX3Nob3csIE5VTEwpOworCiBzdGF0aWMgc3NpemVfdCBzeXNfaXBsX2RldmljZV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAogCQkJCSAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKIHsKQEAgLTI4NSwxNCArMzM5LDggQEAKIHN0YXRpYyBzc2l6ZV90IGlwbF9wYXJhbWV0ZXJfcmVhZChzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0IGJpbl9hdHRyaWJ1dGUgKmF0dHIsCiAJCQkJICBjaGFyICpidWYsIGxvZmZfdCBvZmYsIHNpemVfdCBjb3VudCkKIHsKLQl1bnNpZ25lZCBpbnQgc2l6ZSA9IElQTF9QQVJNQkxPQ0tfU0laRTsKLQotCWlmIChvZmYgPiBzaXplKQotCQlyZXR1cm4gMDsKLQlpZiAob2ZmICsgY291bnQgPiBzaXplKQotCQljb3VudCA9IHNpemUgLSBvZmY7Ci0JbWVtY3B5KGJ1ZiwgKHZvaWQgKilJUExfUEFSTUJMT0NLX1NUQVJUICsgb2ZmLCBjb3VudCk7Ci0JcmV0dXJuIGNvdW50OworCXJldHVybiBtZW1vcnlfcmVhZF9mcm9tX2J1ZmZlcihidWYsIGNvdW50LCAmb2ZmLCBJUExfUEFSTUJMT0NLX1NUQVJULAorCQkJCQlJUExfUEFSTUJMT0NLX1NJWkUpOwogfQogCiBzdGF0aWMgc3RydWN0IGJpbl9hdHRyaWJ1dGUgaXBsX3BhcmFtZXRlcl9hdHRyID0gewpAQCAtMzEwLDEyICszNTgsNyBAQAogCXVuc2lnbmVkIGludCBzaXplID0gSVBMX1BBUk1CTE9DS19TVEFSVC0+aXBsX2luZm8uZmNwLnNjcF9kYXRhX2xlbjsKIAl2b2lkICpzY3BfZGF0YSA9ICZJUExfUEFSTUJMT0NLX1NUQVJULT5pcGxfaW5mby5mY3Auc2NwX2RhdGE7CiAKLQlpZiAob2ZmID4gc2l6ZSkKLQkJcmV0dXJuIDA7Ci0JaWYgKG9mZiArIGNvdW50ID4gc2l6ZSkKLQkJY291bnQgPSBzaXplIC0gb2ZmOwotCW1lbWNweShidWYsIHNjcF9kYXRhICsgb2ZmLCBjb3VudCk7Ci0JcmV0dXJuIGNvdW50OworCXJldHVybiBtZW1vcnlfcmVhZF9mcm9tX2J1ZmZlcihidWYsIGNvdW50LCAmb2ZmLCBzY3BfZGF0YSwgc2l6ZSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSBpcGxfc2NwX2RhdGFfYXR0ciA9IHsKQEAgLTM3MCwxNSArNDEzLDI3IEBACiBzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19pcGxfY2N3X2xvYWRwYXJtX2F0dHIgPQogCV9fQVRUUihsb2FkcGFybSwgMDQ0NCwgaXBsX2Njd19sb2FkcGFybV9zaG93LCBOVUxMKTsKIAotc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmlwbF9jY3dfYXR0cnNbXSA9IHsKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppcGxfY2N3X2F0dHJzX3ZtW10gPSB7CisJJnN5c19pcGxfdHlwZV9hdHRyLmF0dHIsCisJJnN5c19pcGxfZGV2aWNlX2F0dHIuYXR0ciwKKwkmc3lzX2lwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAorCSZzeXNfaXBsX3ZtX3Bhcm1fYXR0ci5hdHRyLAorCU5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaXBsX2Njd19hdHRyc19scGFyW10gPSB7CiAJJnN5c19pcGxfdHlwZV9hdHRyLmF0dHIsCiAJJnN5c19pcGxfZGV2aWNlX2F0dHIuYXR0ciwKIAkmc3lzX2lwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAogCU5VTEwsCiB9OwogCi1zdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBpcGxfY2N3X2F0dHJfZ3JvdXAgPSB7Ci0JLmF0dHJzID0gaXBsX2Njd19hdHRycywKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGlwbF9jY3dfYXR0cl9ncm91cF92bSA9IHsKKwkuYXR0cnMgPSBpcGxfY2N3X2F0dHJzX3ZtLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgaXBsX2Njd19hdHRyX2dyb3VwX2xwYXIgPSB7CisJLmF0dHJzID0gaXBsX2Njd19hdHRyc19scGFyCiB9OwogCiAvKiBOU1MgaXBsIGRldmljZSBhdHRyaWJ1dGVzICovCkBAIC0zODgsNiArNDQzLDggQEAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppcGxfbnNzX2F0dHJzW10gPSB7CiAJJnN5c19pcGxfdHlwZV9hdHRyLmF0dHIsCiAJJnN5c19pcGxfbnNzX25hbWVfYXR0ci5hdHRyLAorCSZzeXNfaXBsX2Njd19sb2FkcGFybV9hdHRyLmF0dHIsCisJJnN5c19pcGxfdm1fcGFybV9hdHRyLmF0dHIsCiAJTlVMTCwKIH07CiAKQEAgLTQ1MCw3ICs1MDcsMTIgQEAKIAl9CiAJc3dpdGNoIChpcGxfaW5mby50eXBlKSB7CiAJY2FzZSBJUExfVFlQRV9DQ1c6Ci0JCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZpcGxfa3NldC0+a29iaiwgJmlwbF9jY3dfYXR0cl9ncm91cCk7CisJCWlmIChNQUNISU5FX0lTX1ZNKQorCQkJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmlwbF9rc2V0LT5rb2JqLAorCQkJCQkJJmlwbF9jY3dfYXR0cl9ncm91cF92bSk7CisJCWVsc2UKKwkJCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZpcGxfa3NldC0+a29iaiwKKwkJCQkJCSZpcGxfY2N3X2F0dHJfZ3JvdXBfbHBhcik7CiAJCWJyZWFrOwogCWNhc2UgSVBMX1RZUEVfRkNQOgogCWNhc2UgSVBMX1RZUEVfRkNQX0RVTVA6CkBAIC00ODEsNiArNTQzLDgzIEBACiAgKiByZWlwbCBzaHV0ZG93biBhY3Rpb246IFJlYm9vdCBMaW51eCBvbiBzaHV0ZG93bi4KICAqLwogCisvKiBWTSBJUEwgUEFSTSBhdHRyaWJ1dGVzICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9nZW5lcmljX3ZtcGFybV9zaG93KHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIsCisJCQkJCSAgY2hhciAqcGFnZSkKK3sKKwljaGFyIHZtcGFybVtESUFHMzA4X1ZNUEFSTV9TSVpFICsgMV0gPSB7fTsKKworCXJlaXBsX2dldF9hc2NpaV92bXBhcm0odm1wYXJtLCBpcGIpOworCXJldHVybiBzcHJpbnRmKHBhZ2UsICIlc1xuIiwgdm1wYXJtKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfZ2VuZXJpY192bXBhcm1fc3RvcmUoc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYiwKKwkJCQkJICBzaXplX3Qgdm1wYXJtX21heCwKKwkJCQkJICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJaW50IGksIGlwX2xlbjsKKworCS8qIGlnbm9yZSB0cmFpbGluZyBuZXdsaW5lICovCisJaXBfbGVuID0gbGVuOworCWlmICgobGVuID4gMCkgJiYgKGJ1ZltsZW4gLSAxXSA9PSAnXG4nKSkKKwkJaXBfbGVuLS07CisKKwlpZiAoaXBfbGVuID4gdm1wYXJtX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBwYXJtIGlzIHVzZWQgdG8gc3RvcmUga2VybmVsIG9wdGlvbnMsIGNoZWNrIGZvciBjb21tb24gY2hhcnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgaXBfbGVuOyBpKyspCisJCWlmICghKGlzYWxudW0oYnVmW2ldKSB8fCBpc2FzY2lpKGJ1ZltpXSkgfHwgaXNwcmludChidWZbaV0pKSkKKwkJCXJldHVybiAtRUlOVkFMOworCisJbWVtc2V0KGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm0sIDAsIERJQUczMDhfVk1QQVJNX1NJWkUpOworCWlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm1fbGVuID0gaXBfbGVuOworCWlmIChpcF9sZW4gPiAwKSB7CisJCWlwYi0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzIHw9IERJQUczMDhfVk1fRkxBR1NfVlBfVkFMSUQ7CisJCW1lbWNweShpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLCBidWYsIGlwX2xlbik7CisJCUFTQ0VCQyhpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLCBpcF9sZW4pOworCX0gZWxzZSB7CisJCWlwYi0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzICY9IH5ESUFHMzA4X1ZNX0ZMQUdTX1ZQX1ZBTElEOworCX0KKworCXJldHVybiBsZW47Cit9CisKKy8qIE5TUyB3cmFwcGVyICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9uc3Nfdm1wYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfdm1wYXJtX3Nob3cocmVpcGxfYmxvY2tfbnNzLCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfbnNzX3ZtcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX3ZtcGFybV9zdG9yZShyZWlwbF9ibG9ja19uc3MsIDU2LCBidWYsIGxlbik7Cit9CisKKy8qIENDVyB3cmFwcGVyICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9jY3dfdm1wYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfdm1wYXJtX3Nob3cocmVpcGxfYmxvY2tfY2N3LCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X3ZtcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX3ZtcGFybV9zdG9yZShyZWlwbF9ibG9ja19jY3csIDY0LCBidWYsIGxlbik7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX3JlaXBsX25zc192bXBhcm1fYXR0ciA9CisJX19BVFRSKHBhcm0sIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9uc3Nfdm1wYXJtX3Nob3csCisJCQkJCXJlaXBsX25zc192bXBhcm1fc3RvcmUpOworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfY2N3X3ZtcGFybV9hdHRyID0KKwlfX0FUVFIocGFybSwgU19JUlVHTyB8IFNfSVdVU1IsIHJlaXBsX2Njd192bXBhcm1fc2hvdywKKwkJCQkJcmVpcGxfY2N3X3ZtcGFybV9zdG9yZSk7CisKIC8qIEZDUCByZWlwbCBkZXZpY2UgYXR0cmlidXRlcyAqLwogCiBERUZJTkVfSVBMX0FUVFJfUlcocmVpcGxfZmNwLCB3d3BuLCAiMHglMDE2bGx4XG4iLCAiJTAxNmxseFxuIiwKQEAgLTUxMywyNyArNjUyLDI2IEBACiBERUZJTkVfSVBMX0FUVFJfUlcocmVpcGxfY2N3LCBkZXZpY2UsICIwLjAuJTA0bGx4XG4iLCAiMC4wLiVsbHhcbiIsCiAJcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cuZGV2bm8pOwogCi1zdGF0aWMgdm9pZCByZWlwbF9nZXRfYXNjaWlfbG9hZHBhcm0oY2hhciAqbG9hZHBhcm0pCitzdGF0aWMgdm9pZCByZWlwbF9nZXRfYXNjaWlfbG9hZHBhcm0oY2hhciAqbG9hZHBhcm0sCisJCQkJICAgICBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaWJwKQogewotCW1lbWNweShsb2FkcGFybSwgJnJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sCi0JICAgICAgIExPQURQQVJNX0xFTik7CisJbWVtY3B5KGxvYWRwYXJtLCBpYnAtPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sIExPQURQQVJNX0xFTik7CiAJRUJDQVNDKGxvYWRwYXJtLCBMT0FEUEFSTV9MRU4pOwogCWxvYWRwYXJtW0xPQURQQVJNX0xFTl0gPSAwOwogCXN0cnN0cmlwKGxvYWRwYXJtKTsKIH0KIAotc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X2xvYWRwYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCi0JCQkJICAgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX2dlbmVyaWNfbG9hZHBhcm1fc2hvdyhzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiLAorCQkJCQkgICBjaGFyICpwYWdlKQogewogCWNoYXIgYnVmW0xPQURQQVJNX0xFTiArIDFdOwogCi0JcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGJ1Zik7CisJcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGJ1ZiwgaXBiKTsKIAlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXNcbiIsIGJ1Zik7CiB9CiAKLXN0YXRpYyBzc2l6ZV90IHJlaXBsX2Njd19sb2FkcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKLQkJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLAotCQkJCQljb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCitzdGF0aWMgc3NpemVfdCByZWlwbF9nZW5lcmljX2xvYWRwYXJtX3N0b3JlKHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIsCisJCQkJCSAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCiB7CiAJaW50IGksIGxwX2xlbjsKIApAQCAtNTUyLDM1ICs2OTAsMTI4IEBACiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAkvKiBpbml0aWFsaXplIGxvYWRwYXJtIHdpdGggYmxhbmtzICovCi0JbWVtc2V0KCZyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLCAnICcsIExPQURQQVJNX0xFTik7CisJbWVtc2V0KGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwgJyAnLCBMT0FEUEFSTV9MRU4pOwogCS8qIGNvcHkgYW5kIGNvbnZlcnQgdG8gZWJjZGljICovCi0JbWVtY3B5KCZyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLCBidWYsIGxwX2xlbik7Ci0JQVNDRUJDKHJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sIExPQURQQVJNX0xFTik7CisJbWVtY3B5KGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwgYnVmLCBscF9sZW4pOworCUFTQ0VCQyhpcGItPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sIExPQURQQVJNX0xFTik7CiAJcmV0dXJuIGxlbjsKIH0KIAotc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIgPQotCV9fQVRUUihsb2FkcGFybSwgMDY0NCwgcmVpcGxfY2N3X2xvYWRwYXJtX3Nob3csCi0JICAgICAgIHJlaXBsX2Njd19sb2FkcGFybV9zdG9yZSk7CisvKiBOU1Mgd3JhcHBlciAqLworc3RhdGljIHNzaXplX3QgcmVpcGxfbnNzX2xvYWRwYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY19sb2FkcGFybV9zaG93KHJlaXBsX2Jsb2NrX25zcywgcGFnZSk7Cit9CiAKLXN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpyZWlwbF9jY3dfYXR0cnNbXSA9IHsKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc19sb2FkcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLAorCQkJCQljb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfbG9hZHBhcm1fc3RvcmUocmVpcGxfYmxvY2tfbnNzLCBidWYsIGxlbik7Cit9CisKKy8qIENDVyB3cmFwcGVyICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9jY3dfbG9hZHBhcm1fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX2xvYWRwYXJtX3Nob3cocmVpcGxfYmxvY2tfY2N3LCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X2xvYWRwYXJtX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJCWNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY19sb2FkcGFybV9zdG9yZShyZWlwbF9ibG9ja19jY3csIGJ1ZiwgbGVuKTsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIgPQorCV9fQVRUUihsb2FkcGFybSwgU19JUlVHTyB8IFNfSVdVU1IsIHJlaXBsX2Njd19sb2FkcGFybV9zaG93LAorCQkJCQkgICAgcmVpcGxfY2N3X2xvYWRwYXJtX3N0b3JlKTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKnJlaXBsX2Njd19hdHRyc192bVtdID0geworCSZzeXNfcmVpcGxfY2N3X2RldmljZV9hdHRyLmF0dHIsCisJJnN5c19yZWlwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAorCSZzeXNfcmVpcGxfY2N3X3ZtcGFybV9hdHRyLmF0dHIsCisJTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpyZWlwbF9jY3dfYXR0cnNfbHBhcltdID0gewogCSZzeXNfcmVpcGxfY2N3X2RldmljZV9hdHRyLmF0dHIsCiAJJnN5c19yZWlwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAogCU5VTEwsCiB9OwogCi1zdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCByZWlwbF9jY3dfYXR0cl9ncm91cCA9IHsKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHJlaXBsX2Njd19hdHRyX2dyb3VwX3ZtID0gewogCS5uYW1lICA9IElQTF9DQ1dfU1RSLAotCS5hdHRycyA9IHJlaXBsX2Njd19hdHRycywKKwkuYXR0cnMgPSByZWlwbF9jY3dfYXR0cnNfdm0sCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCByZWlwbF9jY3dfYXR0cl9ncm91cF9scGFyID0geworCS5uYW1lICA9IElQTF9DQ1dfU1RSLAorCS5hdHRycyA9IHJlaXBsX2Njd19hdHRyc19scGFyLAogfTsKIAogCiAvKiBOU1MgcmVpcGwgZGV2aWNlIGF0dHJpYnV0ZXMgKi8KK3N0YXRpYyB2b2lkIHJlaXBsX2dldF9hc2NpaV9uc3NfbmFtZShjaGFyICpkc3QsCisJCQkJICAgICBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiKQoreworCW1lbWNweShkc3QsIGlwYi0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBOU1NfTkFNRV9TSVpFKTsKKwlFQkNBU0MoZHN0LCBOU1NfTkFNRV9TSVpFKTsKKwlkc3RbTlNTX05BTUVfU0laRV0gPSAwOworfQogCi1ERUZJTkVfSVBMX0FUVFJfU1RSX1JXKHJlaXBsX25zcywgbmFtZSwgIiVzXG4iLCAiJXNcbiIsIHJlaXBsX25zc19uYW1lKTsKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc19uYW1lX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCWNoYXIgbnNzX25hbWVbTlNTX05BTUVfU0laRSArIDFdID0ge307CisKKwlyZWlwbF9nZXRfYXNjaWlfbnNzX25hbWUobnNzX25hbWUsIHJlaXBsX2Jsb2NrX25zcyk7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVzXG4iLCBuc3NfbmFtZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc19uYW1lX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlpbnQgbnNzX2xlbjsKKworCS8qIGlnbm9yZSB0cmFpbGluZyBuZXdsaW5lICovCisJbnNzX2xlbiA9IGxlbjsKKwlpZiAoKGxlbiA+IDApICYmIChidWZbbGVuIC0gMV0gPT0gJ1xuJykpCisJCW5zc19sZW4tLTsKKworCWlmIChuc3NfbGVuID4gTlNTX05BTUVfU0laRSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltZW1zZXQocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsIDB4NDAsIE5TU19OQU1FX1NJWkUpOworCWlmIChuc3NfbGVuID4gMCkgeworCQlyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy52bV9mbGFncyB8PQorCQkJRElBRzMwOF9WTV9GTEFHU19OU1NfVkFMSUQ7CisJCW1lbWNweShyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy5uc3NfbmFtZSwgYnVmLCBuc3NfbGVuKTsKKwkJQVNDRUJDKHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBuc3NfbGVuKTsKKwkJRUJDX1RPVVBQRVIocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsIG5zc19sZW4pOworCX0gZWxzZSB7CisJCXJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzICY9CisJCQl+RElBRzMwOF9WTV9GTEFHU19OU1NfVkFMSUQ7CisJfQorCisJcmV0dXJuIGxlbjsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfbnNzX25hbWVfYXR0ciA9CisJX19BVFRSKG5hbWUsIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9uc3NfbmFtZV9zaG93LAorCQkJCQlyZWlwbF9uc3NfbmFtZV9zdG9yZSk7CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX3JlaXBsX25zc19sb2FkcGFybV9hdHRyID0KKwlfX0FUVFIobG9hZHBhcm0sIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9uc3NfbG9hZHBhcm1fc2hvdywKKwkJCQkJICAgIHJlaXBsX25zc19sb2FkcGFybV9zdG9yZSk7CiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpyZWlwbF9uc3NfYXR0cnNbXSA9IHsKIAkmc3lzX3JlaXBsX25zc19uYW1lX2F0dHIuYXR0ciwKKwkmc3lzX3JlaXBsX25zc19sb2FkcGFybV9hdHRyLmF0dHIsCisJJnN5c19yZWlwbF9uc3Nfdm1wYXJtX2F0dHIuYXR0ciwKIAlOVUxMLAogfTsKIApAQCAtNjE3LDcgKzg0OCwxMCBAQAogCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfRkNQX0RVTVA7CiAJCWJyZWFrOwogCWNhc2UgSVBMX1RZUEVfTlNTOgotCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfTlNTOworCQlpZiAoZGlhZzMwOF9zZXRfd29ya3MpCisJCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfTlNTX0RJQUc7CisJCWVsc2UKKwkJCXJlaXBsX21ldGhvZCA9IFJFSVBMX01FVEhPRF9OU1M7CiAJCWJyZWFrOwogCWNhc2UgSVBMX1RZUEVfVU5LTk9XTjoKIAkJcmVpcGxfbWV0aG9kID0gUkVJUExfTUVUSE9EX0RFRkFVTFQ7CkBAIC02NTUsMTEgKzg4OSwzOCBAQAogCiBzdGF0aWMgc3RydWN0IGtzZXQgKnJlaXBsX2tzZXQ7CiAKK3N0YXRpYyB2b2lkIGdldF9pcGxfc3RyaW5nKGNoYXIgKmRzdCwgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYiwKKwkJCSAgIGNvbnN0IGVudW0gaXBsX21ldGhvZCBtKQoreworCWNoYXIgbG9hZHBhcm1bTE9BRFBBUk1fTEVOICsgMV0gPSB7fTsKKwljaGFyIHZtcGFybVtESUFHMzA4X1ZNUEFSTV9TSVpFICsgMV0gPSB7fTsKKwljaGFyIG5zc19uYW1lW05TU19OQU1FX1NJWkUgKyAxXSA9IHt9OworCXNpemVfdCBwb3MgPSAwOworCisJcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGxvYWRwYXJtLCBpcGIpOworCXJlaXBsX2dldF9hc2NpaV9uc3NfbmFtZShuc3NfbmFtZSwgaXBiKTsKKwlyZWlwbF9nZXRfYXNjaWlfdm1wYXJtKHZtcGFybSwgaXBiKTsKKworCXN3aXRjaCAobSkgeworCWNhc2UgUkVJUExfTUVUSE9EX0NDV19WTToKKwkJcG9zID0gc3ByaW50Zihkc3QsICJJUEwgJVggQ0xFQVIiLCBpcGItPmlwbF9pbmZvLmNjdy5kZXZubyk7CisJCWJyZWFrOworCWNhc2UgUkVJUExfTUVUSE9EX05TUzoKKwkJcG9zID0gc3ByaW50Zihkc3QsICJJUEwgJXMiLCBuc3NfbmFtZSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlpZiAoc3RybGVuKGxvYWRwYXJtKSA+IDApCisJCXBvcyArPSBzcHJpbnRmKGRzdCArIHBvcywgIiBMT0FEUEFSTSAnJXMnIiwgbG9hZHBhcm0pOworCWlmIChzdHJsZW4odm1wYXJtKSA+IDApCisJCXNwcmludGYoZHN0ICsgcG9zLCAiIFBBUk0gJXMiLCB2bXBhcm0pOworfQorCiBzdGF0aWMgdm9pZCByZWlwbF9ydW4oc3RydWN0IHNodXRkb3duX3RyaWdnZXIgKnRyaWdnZXIpCiB7CiAJc3RydWN0IGNjd19kZXZfaWQgZGV2aWQ7Ci0Jc3RhdGljIGNoYXIgYnVmWzEwMF07Ci0JY2hhciBsb2FkcGFybVtMT0FEUEFSTV9MRU4gKyAxXTsKKwlzdGF0aWMgY2hhciBidWZbMTI4XTsKIAogCXN3aXRjaCAocmVpcGxfbWV0aG9kKSB7CiAJY2FzZSBSRUlQTF9NRVRIT0RfQ0NXX0NJTzoKQEAgLTY2OCwxMyArOTI5LDcgQEAKIAkJcmVpcGxfY2N3X2RldigmZGV2aWQpOwogCQlicmVhazsKIAljYXNlIFJFSVBMX01FVEhPRF9DQ1dfVk06Ci0JCXJlaXBsX2dldF9hc2NpaV9sb2FkcGFybShsb2FkcGFybSk7Ci0JCWlmIChzdHJsZW4obG9hZHBhcm0pID09IDApCi0JCQlzcHJpbnRmKGJ1ZiwgIklQTCAlWCBDTEVBUiIsCi0JCQkJcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cuZGV2bm8pOwotCQllbHNlCi0JCQlzcHJpbnRmKGJ1ZiwgIklQTCAlWCBDTEVBUiBMT0FEUEFSTSAnJXMnIiwKLQkJCQlyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5kZXZubywgbG9hZHBhcm0pOworCQlnZXRfaXBsX3N0cmluZyhidWYsIHJlaXBsX2Jsb2NrX2NjdywgUkVJUExfTUVUSE9EX0NDV19WTSk7CiAJCV9fY3BjbWQoYnVmLCBOVUxMLCAwLCBOVUxMKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUlQTF9NRVRIT0RfQ0NXX0RJQUc6CkBAIC02OTEsOCArOTQ2LDEyIEBACiAJY2FzZSBSRUlQTF9NRVRIT0RfRkNQX1JPX1ZNOgogCQlfX2NwY21kKCJJUEwiLCBOVUxMLCAwLCBOVUxMKTsKIAkJYnJlYWs7CisJY2FzZSBSRUlQTF9NRVRIT0RfTlNTX0RJQUc6CisJCWRpYWczMDgoRElBRzMwOF9TRVQsIHJlaXBsX2Jsb2NrX25zcyk7CisJCWRpYWczMDgoRElBRzMwOF9JUEwsIE5VTEwpOworCQlicmVhazsKIAljYXNlIFJFSVBMX01FVEhPRF9OU1M6Ci0JCXNwcmludGYoYnVmLCAiSVBMICVzIiwgcmVpcGxfbnNzX25hbWUpOworCQlnZXRfaXBsX3N0cmluZyhidWYsIHJlaXBsX2Jsb2NrX25zcywgUkVJUExfTUVUSE9EX05TUyk7CiAJCV9fY3BjbWQoYnVmLCBOVUxMLCAwLCBOVUxMKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUlQTF9NRVRIT0RfREVGQVVMVDoKQEAgLTcwNywxNiArOTY2LDM2IEBACiAJZGlzYWJsZWRfd2FpdCgodW5zaWduZWQgbG9uZykgX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKTsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IHJlaXBsX3Byb2JlKHZvaWQpCitzdGF0aWMgdm9pZCByZWlwbF9ibG9ja19jY3dfaW5pdChzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiKQogewotCXZvaWQgKmJ1ZmZlcjsKKwlpcGItPmhkci5sZW4gPSBJUExfUEFSTV9CTEtfQ0NXX0xFTjsKKwlpcGItPmhkci52ZXJzaW9uID0gSVBMX1BBUk1fQkxPQ0tfVkVSU0lPTjsKKwlpcGItPmhkci5ibGswX2xlbiA9IElQTF9QQVJNX0JMSzBfQ0NXX0xFTjsKKwlpcGItPmhkci5wYnQgPSBESUFHMzA4X0lQTF9UWVBFX0NDVzsKK30KIAotCWJ1ZmZlciA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuOwotCWlmIChkaWFnMzA4KERJQUczMDhfU1RPUkUsIGJ1ZmZlcikgPT0gRElBRzMwOF9SQ19PSykKLQkJZGlhZzMwOF9zZXRfd29ya3MgPSAxOwotCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylidWZmZXIpOworc3RhdGljIHZvaWQgcmVpcGxfYmxvY2tfY2N3X2ZpbGxfcGFybXMoc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYikKK3sKKwkvKiBMT0FEUEFSTSAqLworCS8qIGNoZWNrIGlmIHJlYWQgc2NwIGluZm8gd29ya2VkIGFuZCBzZXQgbG9hZHBhcm0gKi8KKwlpZiAoc2NscF9pcGxfaW5mby5pc192YWxpZCkKKwkJbWVtY3B5KGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwKKwkJCQkmc2NscF9pcGxfaW5mby5sb2FkcGFybSwgTE9BRFBBUk1fTEVOKTsKKwllbHNlCisJCS8qIHJlYWQgc2NwIGluZm8gZmFpbGVkOiBzZXQgZW1wdHkgbG9hZHBhcm0gKEVCQ0RJQyBibGFua3MpICovCisJCW1lbXNldChpcGItPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sIDB4NDAsIExPQURQQVJNX0xFTik7CisJaXBiLT5oZHIuZmxhZ3MgPSBESUFHMzA4X0ZMQUdTX0xQX1ZBTElEOworCisJLyogVk0gUEFSTSAqLworCWlmIChNQUNISU5FX0lTX1ZNICYmIGRpYWczMDhfc2V0X3dvcmtzICYmCisJICAgIChpcGxfYmxvY2suaXBsX2luZm8uY2N3LnZtX2ZsYWdzICYgRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRCkpIHsKKworCQlpcGItPmlwbF9pbmZvLmNjdy52bV9mbGFncyB8PSBESUFHMzA4X1ZNX0ZMQUdTX1ZQX1ZBTElEOworCQlpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtX2xlbiA9CisJCQkJCWlwbF9ibG9jay5pcGxfaW5mby5jY3cudm1fcGFybV9sZW47CisJCW1lbWNweShpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLAorCQkgICAgICAgaXBsX2Jsb2NrLmlwbF9pbmZvLmNjdy52bV9wYXJtLCBESUFHMzA4X1ZNUEFSTV9TSVpFKTsKKwl9CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHJlaXBsX25zc19pbml0KHZvaWQpCkBAIC03MjUsMTAgKzEwMDQsMzEgQEAKIAogCWlmICghTUFDSElORV9JU19WTSkKIAkJcmV0dXJuIDA7CisKKwlyZWlwbF9ibG9ja19uc3MgPSAodm9pZCAqKSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJaWYgKCFyZWlwbF9ibG9ja19uc3MpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKCFkaWFnMzA4X3NldF93b3JrcykKKwkJc3lzX3JlaXBsX25zc192bXBhcm1fYXR0ci5hdHRyLm1vZGUgPSBTX0lSVUdPOworCiAJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnJlaXBsX2tzZXQtPmtvYmosICZyZWlwbF9uc3NfYXR0cl9ncm91cCk7CiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7Ci0Jc3RybmNweShyZWlwbF9uc3NfbmFtZSwga2VybmVsX25zc19uYW1lLCBOU1NfTkFNRV9TSVpFICsgMSk7CisKKwlyZWlwbF9ibG9ja19jY3dfaW5pdChyZWlwbF9ibG9ja19uc3MpOworCWlmIChpcGxfaW5mby50eXBlID09IElQTF9UWVBFX05TUykgeworCQltZW1zZXQocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsCisJCQknICcsIE5TU19OQU1FX1NJWkUpOworCQltZW1jcHkocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsCisJCQlrZXJuZWxfbnNzX25hbWUsIHN0cmxlbihrZXJuZWxfbnNzX25hbWUpKTsKKwkJQVNDRUJDKHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBOU1NfTkFNRV9TSVpFKTsKKwkJcmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cudm1fZmxhZ3MgfD0KKwkJCURJQUczMDhfVk1fRkxBR1NfTlNTX1ZBTElEOworCisJCXJlaXBsX2Jsb2NrX2Njd19maWxsX3Bhcm1zKHJlaXBsX2Jsb2NrX25zcyk7CisJfQorCiAJcmVpcGxfY2FwYWJpbGl0aWVzIHw9IElQTF9UWVBFX05TUzsKIAlyZXR1cm4gMDsKIH0KQEAgLTc0MCwyOCArMTA0MCwyNyBAQAogCXJlaXBsX2Jsb2NrX2NjdyA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKIAlpZiAoIXJlaXBsX2Jsb2NrX2NjdykKIAkJcmV0dXJuIC1FTk9NRU07Ci0JcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnJlaXBsX2tzZXQtPmtvYmosICZyZWlwbF9jY3dfYXR0cl9ncm91cCk7Ci0JaWYgKHJjKSB7Ci0JCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylyZWlwbF9ibG9ja19jY3cpOwotCQlyZXR1cm4gcmM7CisKKwlpZiAoTUFDSElORV9JU19WTSkgeworCQlpZiAoIWRpYWczMDhfc2V0X3dvcmtzKQorCQkJc3lzX3JlaXBsX2Njd192bXBhcm1fYXR0ci5hdHRyLm1vZGUgPSBTX0lSVUdPOworCQlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmcmVpcGxfa3NldC0+a29iaiwKKwkJCQkJJnJlaXBsX2Njd19hdHRyX2dyb3VwX3ZtKTsKKwl9IGVsc2UgeworCQlpZighZGlhZzMwOF9zZXRfd29ya3MpCisJCQlzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ci5tb2RlID0gU19JUlVHTzsKKwkJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnJlaXBsX2tzZXQtPmtvYmosCisJCQkJCSZyZWlwbF9jY3dfYXR0cl9ncm91cF9scGFyKTsKIAl9Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIubGVuID0gSVBMX1BBUk1fQkxLX0NDV19MRU47Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIudmVyc2lvbiA9IElQTF9QQVJNX0JMT0NLX1ZFUlNJT047Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIuYmxrMF9sZW4gPSBJUExfUEFSTV9CTEswX0NDV19MRU47Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIucGJ0ID0gRElBRzMwOF9JUExfVFlQRV9DQ1c7Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIuZmxhZ3MgPSBESUFHMzA4X0ZMQUdTX0xQX1ZBTElEOwotCS8qIGNoZWNrIGlmIHJlYWQgc2NwIGluZm8gd29ya2VkIGFuZCBzZXQgbG9hZHBhcm0gKi8KLQlpZiAoc2NscF9pcGxfaW5mby5pc192YWxpZCkKLQkJbWVtY3B5KHJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sCi0JCSAgICAgICAmc2NscF9pcGxfaW5mby5sb2FkcGFybSwgTE9BRFBBUk1fTEVOKTsKLQllbHNlCi0JCS8qIHJlYWQgc2NwIGluZm8gZmFpbGVkOiBzZXQgZW1wdHkgbG9hZHBhcm0gKEVCQ0RJQyBibGFua3MpICovCi0JCW1lbXNldChyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLCAweDQwLAotCQkgICAgICAgTE9BRFBBUk1fTEVOKTsKLQlpZiAoIU1BQ0hJTkVfSVNfVk0gJiYgIWRpYWczMDhfc2V0X3dvcmtzKQotCQlzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ci5tb2RlID0gU19JUlVHTzsKLQlpZiAoaXBsX2luZm8udHlwZSA9PSBJUExfVFlQRV9DQ1cpCisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlyZWlwbF9ibG9ja19jY3dfaW5pdChyZWlwbF9ibG9ja19jY3cpOworCWlmIChpcGxfaW5mby50eXBlID09IElQTF9UWVBFX0NDVykgewogCQlyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5kZXZubyA9IGlwbF9kZXZubzsKKwkJcmVpcGxfYmxvY2tfY2N3X2ZpbGxfcGFybXMocmVpcGxfYmxvY2tfY2N3KTsKKwl9CisKIAlyZWlwbF9jYXBhYmlsaXRpZXMgfD0gSVBMX1RZUEVfQ0NXOwogCXJldHVybiAwOwogfQpAQCAtMTI5OCw3ICsxNTk3LDYgQEAKIAogc3RhdGljIGludCBfX2luaXQgczM5MF9pcGxfaW5pdCh2b2lkKQogewotCXJlaXBsX3Byb2JlKCk7CiAJc2NscF9nZXRfaXBsX2luZm8oJnNjbHBfaXBsX2luZm8pOwogCXNodXRkb3duX2FjdGlvbnNfaW5pdCgpOwogCXNodXRkb3duX3RyaWdnZXJzX2luaXQoKTsKQEAgLTE0MDUsNiArMTcwMywxMiBAQAogCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfbm90aWZpZXJfbGlzdCwgJm9uX3BhbmljX25iKTsKIH0KIAordm9pZCBfX2luaXQgaXBsX3VwZGF0ZV9wYXJhbWV0ZXJzKHZvaWQpCit7CisJaWYgKGRpYWczMDgoRElBRzMwOF9TVE9SRSwgJmlwbF9ibG9jaykgPT0gRElBRzMwOF9SQ19PSykKKwkJZGlhZzMwOF9zZXRfd29ya3MgPSAxOworfQorCiB2b2lkIF9faW5pdCBpcGxfc2F2ZV9wYXJhbWV0ZXJzKHZvaWQpCiB7CiAJc3RydWN0IGNpb19pcGxpbmZvIGlwbGluZm87CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2twcm9iZXMuYyBiL2FyY2gvczM5MC9rZXJuZWwva3Byb2Jlcy5jCmluZGV4IGVkMDRkMTMuLjI4OGFkNDkgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwva3Byb2Jlcy5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwva3Byb2Jlcy5jCkBAIC00MSwxMCArNDEsOCBAQAogCWlmIChpc19wcm9oaWJpdGVkX29wY29kZSgoa3Byb2JlX29wY29kZV90ICopIHAtPmFkZHIpKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWlmICgodW5zaWduZWQgbG9uZylwLT5hZGRyICYgMHgwMSkgewotCQlwcmludGsoIkF0dGVtcHQgdG8gcmVnaXN0ZXIga3Byb2JlIGF0IGFuIHVuYWxpZ25lZCBhZGRyZXNzXG4iKTsKKwlpZiAoKHVuc2lnbmVkIGxvbmcpcC0+YWRkciAmIDB4MDEpCiAJCXJldHVybiAtRUlOVkFMOwotCQl9CiAKIAkvKiBVc2UgdGhlIGdldF9pbnNuX3Nsb3QoKSBmYWNpbGl0eSBmb3IgY29ycmVjdG5lc3MgKi8KIAlpZiAoIShwLT5haW5zbi5pbnNuID0gZ2V0X2luc25fc2xvdCgpKSkKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvbWFjaGluZV9rZXhlYy5jIGIvYXJjaC9zMzkwL2tlcm5lbC9tYWNoaW5lX2tleGVjLmMKaW5kZXggM2M3N2RkMy4uMTMxZDdlZSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9tYWNoaW5lX2tleGVjLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9tYWNoaW5lX2tleGVjLmMKQEAgLTUyLDcgKzUyLDYgQEAKIAogdm9pZCBtYWNoaW5lX3NodXRkb3duKHZvaWQpCiB7Ci0JcHJpbnRrKEtFUk5fSU5GTyAia2V4ZWM6IG1hY2hpbmVfc2h1dGRvd24gY2FsbGVkXG4iKTsKIH0KIAogdm9pZCBtYWNoaW5lX2tleGVjKHN0cnVjdCBraW1hZ2UgKmltYWdlKQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9tZW1fZGV0ZWN0LmMgYi9hcmNoL3MzOTAva2VybmVsL21lbV9kZXRlY3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGVkN2FiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9tZW1fZGV0ZWN0LmMKQEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDgKKyAqICAgIEF1dGhvcihzKTogSGVpa28gQ2Fyc3RlbnMgPGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9pcGwuaD4KKyNpbmNsdWRlIDxhc20vc2NscC5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorCitzdGF0aWMgaW50IG1lbW9yeV9mYXN0X2RldGVjdChzdHJ1Y3QgbWVtX2NodW5rICpjaHVuaykKK3sKKwl1bnNpZ25lZCBsb25nIHZhbDAgPSAwOworCXVuc2lnbmVkIGxvbmcgdmFsMSA9IDB4YzsKKwlpbnQgcmMgPSAtRU9QTk9UU1VQUDsKKworCWlmIChpcGxfZmxhZ3MgJiBJUExfTlNTX1ZBTElEKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJYXNtIHZvbGF0aWxlKAorCQkiCWRpYWcJJTEsJTIsMHgyNjBcbiIKKwkJIjA6CWxoaQklMCwwXG4iCisJCSIxOlxuIgorCQlFWF9UQUJMRSgwYiwxYikKKwkJOiAiK2QiIChyYyksICIrZCIgKHZhbDApLCAiK2QiICh2YWwxKSA6IDogImNjIik7CisKKwlpZiAocmMgfHwgdmFsMCAhPSB2YWwxKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJY2h1bmstPnNpemUgPSB2YWwwICsgMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgdHByb3QodW5zaWduZWQgbG9uZyBhZGRyKQoreworCWludCByYyA9IC1FRkFVTFQ7CisKKwlhc20gdm9sYXRpbGUoCisJCSIJdHByb3QJMCglMSksMFxuIgorCQkiMDoJaXBtCSUwXG4iCisJCSIJc3JsCSUwLDI4XG4iCisJCSIxOlxuIgorCQlFWF9UQUJMRSgwYiwxYikKKwkJOiAiK2QiIChyYykgOiAiYSIgKGFkZHIpIDogImNjIik7CisJcmV0dXJuIHJjOworfQorCisjZGVmaW5lIEFERFIyRyAoMVVMTCA8PCAzMSkKKworc3RhdGljIHZvaWQgZmluZF9tZW1vcnlfY2h1bmtzKHN0cnVjdCBtZW1fY2h1bmsgY2h1bmtbXSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgbWVtc2l6ZSwgcm5tYXgsIHJ6bTsKKwl1bnNpZ25lZCBsb25nIGFkZHIgPSAwLCBzaXplOworCWludCBpID0gMCwgdHlwZTsKKworCXJ6bSA9IHNjbHBfZ2V0X3J6bSgpOworCXJubWF4ID0gc2NscF9nZXRfcm5tYXgoKTsKKwltZW1zaXplID0gcnptICogcm5tYXg7CisJaWYgKCFyem0pCisJCXJ6bSA9IDFVTEwgPDwgMTc7CisJaWYgKHNpemVvZihsb25nKSA9PSA0KSB7CisJCXJ6bSA9IG1pbihBRERSMkcsIHJ6bSk7CisJCW1lbXNpemUgPSBtZW1zaXplID8gbWluKEFERFIyRywgbWVtc2l6ZSkgOiBBRERSMkc7CisJfQorCWRvIHsKKwkJc2l6ZSA9IDA7CisJCXR5cGUgPSB0cHJvdChhZGRyKTsKKwkJZG8geworCQkJc2l6ZSArPSByem07CisJCQlpZiAobWVtc2l6ZSAmJiBhZGRyICsgc2l6ZSA+PSBtZW1zaXplKQorCQkJCWJyZWFrOworCQl9IHdoaWxlICh0eXBlID09IHRwcm90KGFkZHIgKyBzaXplKSk7CisJCWlmICh0eXBlID09IENIVU5LX1JFQURfV1JJVEUgfHwgdHlwZSA9PSBDSFVOS19SRUFEX09OTFkpIHsKKwkJCWNodW5rW2ldLmFkZHIgPSBhZGRyOworCQkJY2h1bmtbaV0uc2l6ZSA9IHNpemU7CisJCQljaHVua1tpXS50eXBlID0gdHlwZTsKKwkJCWkrKzsKKwkJfQorCQlhZGRyICs9IHNpemU7CisJfSB3aGlsZSAoYWRkciA8IG1lbXNpemUgJiYgaSA8IE1FTU9SWV9DSFVOS1MpOworfQorCit2b2lkIGRldGVjdF9tZW1vcnlfbGF5b3V0KHN0cnVjdCBtZW1fY2h1bmsgY2h1bmtbXSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzLCBjcjA7CisKKwltZW1zZXQoY2h1bmssIDAsIE1FTU9SWV9DSFVOS1MgKiBzaXplb2Yoc3RydWN0IG1lbV9jaHVuaykpOworCWlmIChtZW1vcnlfZmFzdF9kZXRlY3QoJmNodW5rWzBdKSA9PSAwKQorCQlyZXR1cm47CisJLyogRGlzYWJsZSBJUlFzLCBEQVQgYW5kIGxvdyBhZGRyZXNzIHByb3RlY3Rpb24gc28gdHByb3QgZG9lcyB0aGUKKwkgKiByaWdodCB0aGluZyBhbmQgd2UgZG9uJ3QgZ2V0IHNjaGVkdWxlZCBhd2F5IHdpdGggbG93IGFkZHJlc3MKKwkgKiBwcm90ZWN0aW9uIGRpc2FibGVkLgorCSAqLworCWZsYWdzID0gX19yYXdfbG9jYWxfaXJxX3N0bnNtKDB4ZjgpOworCV9fY3RsX3N0b3JlKGNyMCwgMCwgMCk7CisJX19jdGxfY2xlYXJfYml0KDAsIDI4KTsKKwlmaW5kX21lbW9yeV9jaHVua3MoY2h1bmspOworCV9fY3RsX2xvYWQoY3IwLCAwLCAwKTsKKwlfX3Jhd19sb2NhbF9pcnFfc3NtKGZsYWdzKTsKK30KK0VYUE9SVF9TWU1CT0woZGV0ZWN0X21lbW9yeV9sYXlvdXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL3MzOTAva2VybmVsL3Byb2Nlc3MuYwppbmRleCA3OTIwODYxLi44NWRlZmQwIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3Byb2Nlc3MuYwpAQCAtNzUsNDYgKzc1LDE5IEBACiAJcmV0dXJuIHNmLT5ncHJzWzhdOwogfQogCi0vKgotICogTmVlZCB0byBrbm93IGFib3V0IENQVXMgZ29pbmcgaWRsZT8KLSAqLwotc3RhdGljIEFUT01JQ19OT1RJRklFUl9IRUFEKGlkbGVfY2hhaW4pOwogREVGSU5FX1BFUl9DUFUoc3RydWN0IHMzOTBfaWRsZV9kYXRhLCBzMzkwX2lkbGUpOwogCi1pbnQgcmVnaXN0ZXJfaWRsZV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKQotewotCXJldHVybiBhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJmlkbGVfY2hhaW4sIG5iKTsKLX0KLUVYUE9SVF9TWU1CT0wocmVnaXN0ZXJfaWRsZV9ub3RpZmllcik7Ci0KLWludCB1bnJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYikKLXsKLQlyZXR1cm4gYXRvbWljX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoJmlkbGVfY2hhaW4sIG5iKTsKLX0KLUVYUE9SVF9TWU1CT0wodW5yZWdpc3Rlcl9pZGxlX25vdGlmaWVyKTsKLQogc3RhdGljIGludCBzMzkwX2lkbGVfZW50ZXIodm9pZCkKIHsKIAlzdHJ1Y3QgczM5MF9pZGxlX2RhdGEgKmlkbGU7Ci0JaW50IG5yX2NhbGxzID0gMDsKLQl2b2lkICpoY3B1OwotCWludCByYzsKIAotCWhjcHUgPSAodm9pZCAqKShsb25nKXNtcF9wcm9jZXNzb3JfaWQoKTsKLQlyYyA9IF9fYXRvbWljX25vdGlmaWVyX2NhbGxfY2hhaW4oJmlkbGVfY2hhaW4sIFMzOTBfQ1BVX0lETEUsIGhjcHUsIC0xLAotCQkJCQkgICZucl9jYWxscyk7Ci0JaWYgKHJjID09IE5PVElGWV9CQUQpIHsKLQkJbnJfY2FsbHMtLTsKLQkJX19hdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbigmaWRsZV9jaGFpbiwgUzM5MF9DUFVfTk9UX0lETEUsCi0JCQkJCSAgICAgaGNwdSwgbnJfY2FsbHMsIE5VTEwpOwotCQlyZXR1cm4gcmM7Ci0JfQogCWlkbGUgPSAmX19nZXRfY3B1X3ZhcihzMzkwX2lkbGUpOwogCXNwaW5fbG9jaygmaWRsZS0+bG9jayk7CiAJaWRsZS0+aWRsZV9jb3VudCsrOwogCWlkbGUtPmluX2lkbGUgPSAxOwogCWlkbGUtPmlkbGVfZW50ZXIgPSBnZXRfY2xvY2soKTsKIAlzcGluX3VubG9jaygmaWRsZS0+bG9jayk7CisJdnRpbWVfc3RvcF9jcHVfdGltZXIoKTsKIAlyZXR1cm4gTk9USUZZX09LOwogfQogCkBAIC0xMjIsMTMgKzk1LDEyIEBACiB7CiAJc3RydWN0IHMzOTBfaWRsZV9kYXRhICppZGxlOwogCisJdnRpbWVfc3RhcnRfY3B1X3RpbWVyKCk7CiAJaWRsZSA9ICZfX2dldF9jcHVfdmFyKHMzOTBfaWRsZSk7CiAJc3Bpbl9sb2NrKCZpZGxlLT5sb2NrKTsKIAlpZGxlLT5pZGxlX3RpbWUgKz0gZ2V0X2Nsb2NrKCkgLSBpZGxlLT5pZGxlX2VudGVyOwogCWlkbGUtPmluX2lkbGUgPSAwOwogCXNwaW5fdW5sb2NrKCZpZGxlLT5sb2NrKTsKLQlhdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbigmaWRsZV9jaGFpbiwgUzM5MF9DUFVfTk9UX0lETEUsCi0JCQkJICAgKHZvaWQgKikobG9uZykgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIH0KIAogZXh0ZXJuIHZvaWQgczM5MF9oYW5kbGVfbWNjayh2b2lkKTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvcHRyYWNlLmMgYi9hcmNoL3MzOTAva2VybmVsL3B0cmFjZS5jCmluZGV4IDM1ODI3YjkuLjI4MTViZmUgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvcHRyYWNlLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9wdHJhY2UuYwpAQCAtMzMsNiArMzMsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+CiAjaW5jbHVkZSA8bGludXgvYXVkaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zaWduYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9lbGYuaD4KKyNpbmNsdWRlIDxsaW51eC9yZWdzZXQuaD4KIAogI2luY2x1ZGUgPGFzbS9zZWdtZW50Lmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KQEAgLTQ3LDYgKzQ5LDExIEBACiAjaW5jbHVkZSAiY29tcGF0X3B0cmFjZS5oIgogI2VuZGlmCiAKK2VudW0gczM5MF9yZWdzZXQgeworCVJFR1NFVF9HRU5FUkFMLAorCVJFR1NFVF9GUCwKK307CisKIHN0YXRpYyB2b2lkCiBGaXhQZXJSZWdpc3RlcnMoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQogewpAQCAtMTI2LDI0ICsxMzMsMTAgQEAKICAqIHN0cnVjdCB1c2VyIGNvbnRhaW4gcGFkIGJ5dGVzIHRoYXQgc2hvdWxkIGJlIHJlYWQgYXMgemVyb2VzLgogICogTG92ZWx5Li4uCiAgKi8KLXN0YXRpYyBpbnQKLXBlZWtfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX3BlZWtfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkcikKIHsKIAlzdHJ1Y3QgdXNlciAqZHVtbXkgPSBOVUxMOwotCWFkZHJfdCBvZmZzZXQsIHRtcCwgbWFzazsKLQotCS8qCi0JICogU3R1cGlkIGdkYiBwZWVrcy9wb2tlcyB0aGUgYWNjZXNzIHJlZ2lzdGVycyBpbiA2NCBiaXQgd2l0aAotCSAqIGFuIGFsaWdubWVudCBvZiA0LiBQcm9ncmFtbWVycyBmcm9tIGhlbGwuLi4KLQkgKi8KLQltYXNrID0gX19BRERSX01BU0s7Ci0jaWZkZWYgQ09ORklHXzY0QklUCi0JaWYgKGFkZHIgPj0gKGFkZHJfdCkgJmR1bW15LT5yZWdzLmFjcnMgJiYKLQkgICAgYWRkciA8IChhZGRyX3QpICZkdW1teS0+cmVncy5vcmlnX2dwcjIpCi0JCW1hc2sgPSAzOwotI2VuZGlmCi0JaWYgKChhZGRyICYgbWFzaykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcikgLSBfX0FERFJfTUFTSykKLQkJcmV0dXJuIC1FSU87CisJYWRkcl90IG9mZnNldCwgdG1wOwogCiAJaWYgKGFkZHIgPCAoYWRkcl90KSAmZHVtbXktPnJlZ3MuYWNycykgewogCQkvKgpAQCAtMTk3LDI0ICsxOTAsMTggQEAKIAl9IGVsc2UKIAkJdG1wID0gMDsKIAotCXJldHVybiBwdXRfdXNlcih0bXAsIChhZGRyX3QgX191c2VyICopIGRhdGEpOworCXJldHVybiB0bXA7CiB9CiAKLS8qCi0gKiBXcml0ZSBhIHdvcmQgdG8gdGhlIHVzZXIgYXJlYSBvZiBhIHByb2Nlc3MgYXQgbG9jYXRpb24gYWRkci4gVGhpcwotICogb3BlcmF0aW9uIGRvZXMgaGF2ZSBhbiBhZGRpdGlvbmFsIHByb2JsZW0gY29tcGFyZWQgdG8gcGVla191c2VyLgotICogU3RvcmVzIHRvIHRoZSBwcm9ncmFtIHN0YXR1cyB3b3JkIGFuZCBvbiB0aGUgZmxvYXRpbmcgcG9pbnQKLSAqIGNvbnRyb2wgcmVnaXN0ZXIgbmVlZHMgdG8gZ2V0IGNoZWNrZWQgZm9yIHZhbGlkaXR5LgotICovCiBzdGF0aWMgaW50Ci1wb2tlX3VzZXIoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQorcGVla191c2VyKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKIHsKIAlzdHJ1Y3QgdXNlciAqZHVtbXkgPSBOVUxMOwotCWFkZHJfdCBvZmZzZXQsIG1hc2s7CisJYWRkcl90IHRtcCwgbWFzazsKIAogCS8qCiAJICogU3R1cGlkIGdkYiBwZWVrcy9wb2tlcyB0aGUgYWNjZXNzIHJlZ2lzdGVycyBpbiA2NCBiaXQgd2l0aAotCSAqIGFuIGFsaWdubWVudCBvZiA0LiBQcm9ncmFtbWVycyBmcm9tIGhlbGwgaW5kZWVkLi4uCisJICogYW4gYWxpZ25tZW50IG9mIDQuIFByb2dyYW1tZXJzIGZyb20gaGVsbC4uLgogCSAqLwogCW1hc2sgPSBfX0FERFJfTUFTSzsKICNpZmRlZiBDT05GSUdfNjRCSVQKQEAgLTIyNSw2ICsyMTIsMjEgQEAKIAlpZiAoKGFkZHIgJiBtYXNrKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyKSAtIF9fQUREUl9NQVNLKQogCQlyZXR1cm4gLUVJTzsKIAorCXRtcCA9IF9fcGVla191c2VyKGNoaWxkLCBhZGRyKTsKKwlyZXR1cm4gcHV0X3VzZXIodG1wLCAoYWRkcl90IF9fdXNlciAqKSBkYXRhKTsKK30KKworLyoKKyAqIFdyaXRlIGEgd29yZCB0byB0aGUgdXNlciBhcmVhIG9mIGEgcHJvY2VzcyBhdCBsb2NhdGlvbiBhZGRyLiBUaGlzCisgKiBvcGVyYXRpb24gZG9lcyBoYXZlIGFuIGFkZGl0aW9uYWwgcHJvYmxlbSBjb21wYXJlZCB0byBwZWVrX3VzZXIuCisgKiBTdG9yZXMgdG8gdGhlIHByb2dyYW0gc3RhdHVzIHdvcmQgYW5kIG9uIHRoZSBmbG9hdGluZyBwb2ludAorICogY29udHJvbCByZWdpc3RlciBuZWVkcyB0byBnZXQgY2hlY2tlZCBmb3IgdmFsaWRpdHkuCisgKi8KK3N0YXRpYyBpbnQgX19wb2tlX3VzZXIoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQoreworCXN0cnVjdCB1c2VyICpkdW1teSA9IE5VTEw7CisJYWRkcl90IG9mZnNldDsKKwogCWlmIChhZGRyIDwgKGFkZHJfdCkgJmR1bW15LT5yZWdzLmFjcnMpIHsKIAkJLyoKIAkJICogcHN3IGFuZCBncHJzIGFyZSBzdG9yZWQgb24gdGhlIHN0YWNrCkBAIC0yOTIsNiArMjk0LDI4IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQKK3Bva2VfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCit7CisJc3RydWN0IHVzZXIgKmR1bW15ID0gTlVMTDsKKwlhZGRyX3QgbWFzazsKKworCS8qCisJICogU3R1cGlkIGdkYiBwZWVrcy9wb2tlcyB0aGUgYWNjZXNzIHJlZ2lzdGVycyBpbiA2NCBiaXQgd2l0aAorCSAqIGFuIGFsaWdubWVudCBvZiA0LiBQcm9ncmFtbWVycyBmcm9tIGhlbGwgaW5kZWVkLi4uCisJICovCisJbWFzayA9IF9fQUREUl9NQVNLOworI2lmZGVmIENPTkZJR182NEJJVAorCWlmIChhZGRyID49IChhZGRyX3QpICZkdW1teS0+cmVncy5hY3JzICYmCisJICAgIGFkZHIgPCAoYWRkcl90KSAmZHVtbXktPnJlZ3Mub3JpZ19ncHIyKQorCQltYXNrID0gMzsKKyNlbmRpZgorCWlmICgoYWRkciAmIG1hc2spIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIpIC0gX19BRERSX01BU0spCisJCXJldHVybiAtRUlPOworCisJcmV0dXJuIF9fcG9rZV91c2VyKGNoaWxkLCBhZGRyLCBkYXRhKTsKK30KKwogbG9uZyBhcmNoX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBsb25nIHJlcXVlc3QsIGxvbmcgYWRkciwgbG9uZyBkYXRhKQogewogCXB0cmFjZV9hcmVhIHBhcmVhOyAKQEAgLTM2NywxOCArMzkxLDEzIEBACiAvKgogICogU2FtZSBhcyBwZWVrX3VzZXIgYnV0IGZvciBhIDMxIGJpdCBwcm9ncmFtLgogICovCi1zdGF0aWMgaW50Ci1wZWVrX3VzZXJfZW11MzEoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQorc3RhdGljIHUzMiBfX3BlZWtfdXNlcl9jb21wYXQoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIpCiB7CiAJc3RydWN0IHVzZXIzMiAqZHVtbXkzMiA9IE5VTEw7CiAJcGVyX3N0cnVjdDMyICpkdW1teV9wZXIzMiA9IE5VTEw7CiAJYWRkcl90IG9mZnNldDsKIAlfX3UzMiB0bXA7CiAKLQlpZiAoIXRlc3RfdGhyZWFkX2ZsYWcoVElGXzMxQklUKSB8fAotCSAgICAoYWRkciAmIDMpIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIpIC0gMykKLQkJcmV0dXJuIC1FSU87Ci0KIAlpZiAoYWRkciA8IChhZGRyX3QpICZkdW1teTMyLT5yZWdzLmFjcnMpIHsKIAkJLyoKIAkJICogcHN3IGFuZCBncHJzIGFyZSBzdG9yZWQgb24gdGhlIHN0YWNrCkBAIC00MzUsMjUgKzQ1NCwzMiBAQAogCX0gZWxzZQogCQl0bXAgPSAwOwogCisJcmV0dXJuIHRtcDsKK30KKworc3RhdGljIGludCBwZWVrX3VzZXJfY29tcGF0KHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkgICAgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQoreworCV9fdTMyIHRtcDsKKworCWlmICghdGVzdF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpIHx8CisJICAgIChhZGRyICYgMykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcikgLSAzKQorCQlyZXR1cm4gLUVJTzsKKworCXRtcCA9IF9fcGVla191c2VyX2NvbXBhdChjaGlsZCwgYWRkcik7CiAJcmV0dXJuIHB1dF91c2VyKHRtcCwgKF9fdTMyIF9fdXNlciAqKSBkYXRhKTsKIH0KIAogLyoKICAqIFNhbWUgYXMgcG9rZV91c2VyIGJ1dCBmb3IgYSAzMSBiaXQgcHJvZ3JhbS4KICAqLwotc3RhdGljIGludAotcG9rZV91c2VyX2VtdTMxKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKK3N0YXRpYyBpbnQgX19wb2tlX3VzZXJfY29tcGF0KHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkgICAgICBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCiB7CiAJc3RydWN0IHVzZXIzMiAqZHVtbXkzMiA9IE5VTEw7CiAJcGVyX3N0cnVjdDMyICpkdW1teV9wZXIzMiA9IE5VTEw7CisJX191MzIgdG1wID0gKF9fdTMyKSBkYXRhOwogCWFkZHJfdCBvZmZzZXQ7Ci0JX191MzIgdG1wOwotCi0JaWYgKCF0ZXN0X3RocmVhZF9mbGFnKFRJRl8zMUJJVCkgfHwKLQkgICAgKGFkZHIgJiAzKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyMzIpIC0gMykKLQkJcmV0dXJuIC1FSU87Ci0KLQl0bXAgPSAoX191MzIpIGRhdGE7CiAKIAlpZiAoYWRkciA8IChhZGRyX3QpICZkdW1teTMyLT5yZWdzLmFjcnMpIHsKIAkJLyoKQEAgLTUyOCw2ICs1NTQsMTYgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBwb2tlX3VzZXJfY29tcGF0KHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkgICAgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQoreworCWlmICghdGVzdF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpIHx8CisJICAgIChhZGRyICYgMykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcjMyKSAtIDMpCisJCXJldHVybiAtRUlPOworCisJcmV0dXJuIF9fcG9rZV91c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgZGF0YSk7Cit9CisKIGxvbmcgY29tcGF0X2FyY2hfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGNvbXBhdF9sb25nX3QgcmVxdWVzdCwKIAkJCWNvbXBhdF91bG9uZ190IGNhZGRyLCBjb21wYXRfdWxvbmdfdCBjZGF0YSkKIHsKQEAgLTUzOSwxMSArNTc1LDExIEBACiAJc3dpdGNoIChyZXF1ZXN0KSB7CiAJY2FzZSBQVFJBQ0VfUEVFS1VTUjoKIAkJLyogcmVhZCB0aGUgd29yZCBhdCBsb2NhdGlvbiBhZGRyIGluIHRoZSBVU0VSIGFyZWEuICovCi0JCXJldHVybiBwZWVrX3VzZXJfZW11MzEoY2hpbGQsIGFkZHIsIGRhdGEpOworCQlyZXR1cm4gcGVla191c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgZGF0YSk7CiAKIAljYXNlIFBUUkFDRV9QT0tFVVNSOgogCQkvKiB3cml0ZSB0aGUgd29yZCBhdCBsb2NhdGlvbiBhZGRyIGluIHRoZSBVU0VSIGFyZWEgKi8KLQkJcmV0dXJuIHBva2VfdXNlcl9lbXUzMShjaGlsZCwgYWRkciwgZGF0YSk7CisJCXJldHVybiBwb2tlX3VzZXJfY29tcGF0KGNoaWxkLCBhZGRyLCBkYXRhKTsKIAogCWNhc2UgUFRSQUNFX1BFRUtVU1JfQVJFQToKIAljYXNlIFBUUkFDRV9QT0tFVVNSX0FSRUE6CkBAIC01NTUsMTMgKzU5MSwxMyBAQAogCQljb3BpZWQgPSAwOwogCQl3aGlsZSAoY29waWVkIDwgcGFyZWEubGVuKSB7CiAJCQlpZiAocmVxdWVzdCA9PSBQVFJBQ0VfUEVFS1VTUl9BUkVBKQotCQkJCXJldCA9IHBlZWtfdXNlcl9lbXUzMShjaGlsZCwgYWRkciwgZGF0YSk7CisJCQkJcmV0ID0gcGVla191c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgZGF0YSk7CiAJCQllbHNlIHsKIAkJCQlfX3UzMiB1dG1wOwogCQkJCWlmIChnZXRfdXNlcih1dG1wLAogCQkJCQkgICAgIChfX3UzMiBfX2ZvcmNlIF9fdXNlciAqKSBkYXRhKSkKIAkJCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCQkJcmV0ID0gcG9rZV91c2VyX2VtdTMxKGNoaWxkLCBhZGRyLCB1dG1wKTsKKwkJCQlyZXQgPSBwb2tlX3VzZXJfY29tcGF0KGNoaWxkLCBhZGRyLCB1dG1wKTsKIAkJCX0KIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKQEAgLTYxMCwzICs2NDYsMjQwIEBACiAJCQkJICAgIHJlZ3MtPmdwcnNbMl0sIHJlZ3MtPm9yaWdfZ3ByMiwgcmVncy0+Z3Byc1szXSwKIAkJCQkgICAgcmVncy0+Z3Byc1s0XSwgcmVncy0+Z3Byc1s1XSk7CiB9CisKKy8qCisgKiB1c2VyX3JlZ3NldCBkZWZpbml0aW9ucy4KKyAqLworCitzdGF0aWMgaW50IHMzOTBfcmVnc19nZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCisJCQkgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQsCisJCQkgdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LAorCQkJIHZvaWQgKmtidWYsIHZvaWQgX191c2VyICp1YnVmKQoreworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9hY2Nlc3NfcmVncyh0YXJnZXQtPnRocmVhZC5hY3JzKTsKKworCWlmIChrYnVmKSB7CisJCXVuc2lnbmVkIGxvbmcgKmsgPSBrYnVmOworCQl3aGlsZSAoY291bnQgPiAwKSB7CisJCQkqaysrID0gX19wZWVrX3VzZXIodGFyZ2V0LCBwb3MpOworCQkJY291bnQgLT0gc2l6ZW9mKCprKTsKKwkJCXBvcyArPSBzaXplb2YoKmspOworCQl9CisJfSBlbHNlIHsKKwkJdW5zaWduZWQgbG9uZyBfX3VzZXIgKnUgPSB1YnVmOworCQl3aGlsZSAoY291bnQgPiAwKSB7CisJCQlpZiAoX19wdXRfdXNlcihfX3BlZWtfdXNlcih0YXJnZXQsIHBvcyksIHUrKykpCisJCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQljb3VudCAtPSBzaXplb2YoKnUpOworCQkJcG9zICs9IHNpemVvZigqdSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczM5MF9yZWdzX3NldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCSBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwKKwkJCSB1bnNpZ25lZCBpbnQgcG9zLCB1bnNpZ25lZCBpbnQgY291bnQsCisJCQkgY29uc3Qgdm9pZCAqa2J1ZiwgY29uc3Qgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaW50IHJjID0gMDsKKworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9hY2Nlc3NfcmVncyh0YXJnZXQtPnRocmVhZC5hY3JzKTsKKworCWlmIChrYnVmKSB7CisJCWNvbnN0IHVuc2lnbmVkIGxvbmcgKmsgPSBrYnVmOworCQl3aGlsZSAoY291bnQgPiAwICYmICFyYykgeworCQkJcmMgPSBfX3Bva2VfdXNlcih0YXJnZXQsIHBvcywgKmsrKyk7CisJCQljb3VudCAtPSBzaXplb2YoKmspOworCQkJcG9zICs9IHNpemVvZigqayk7CisJCX0KKwl9IGVsc2UgeworCQljb25zdCB1bnNpZ25lZCBsb25nICBfX3VzZXIgKnUgPSB1YnVmOworCQl3aGlsZSAoY291bnQgPiAwICYmICFyYykgeworCQkJdW5zaWduZWQgbG9uZyB3b3JkOworCQkJcmMgPSBfX2dldF91c2VyKHdvcmQsIHUrKyk7CisJCQlpZiAocmMpCisJCQkJYnJlYWs7CisJCQlyYyA9IF9fcG9rZV91c2VyKHRhcmdldCwgcG9zLCB3b3JkKTsKKwkJCWNvdW50IC09IHNpemVvZigqdSk7CisJCQlwb3MgKz0gc2l6ZW9mKCp1KTsKKwkJfQorCX0KKworCWlmIChyYyA9PSAwICYmIHRhcmdldCA9PSBjdXJyZW50KQorCQlyZXN0b3JlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHMzOTBfZnByZWdzX2dldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCSAgIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LCB1bnNpZ25lZCBpbnQgcG9zLAorCQkJICAgdW5zaWduZWQgaW50IGNvdW50LCB2b2lkICprYnVmLCB2b2lkIF9fdXNlciAqdWJ1ZikKK3sKKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpCisJCXNhdmVfZnBfcmVncygmdGFyZ2V0LT50aHJlYWQuZnBfcmVncyk7CisKKwlyZXR1cm4gdXNlcl9yZWdzZXRfY29weW91dCgmcG9zLCAmY291bnQsICZrYnVmLCAmdWJ1ZiwKKwkJCQkgICAmdGFyZ2V0LT50aHJlYWQuZnBfcmVncywgMCwgLTEpOworfQorCitzdGF0aWMgaW50IHMzOTBfZnByZWdzX3NldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCSAgIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LCB1bnNpZ25lZCBpbnQgcG9zLAorCQkJICAgdW5zaWduZWQgaW50IGNvdW50LCBjb25zdCB2b2lkICprYnVmLAorCQkJICAgY29uc3Qgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaW50IHJjID0gMDsKKworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9mcF9yZWdzKCZ0YXJnZXQtPnRocmVhZC5mcF9yZWdzKTsKKworCS8qIElmIHNldHRpbmcgRlBDLCBtdXN0IHZhbGlkYXRlIGl0IGZpcnN0LiAqLworCWlmIChjb3VudCA+IDAgJiYgcG9zIDwgb2Zmc2V0b2YoczM5MF9mcF9yZWdzLCBmcHJzKSkgeworCQl1MzIgZnBjWzJdID0geyB0YXJnZXQtPnRocmVhZC5mcF9yZWdzLmZwYywgMCB9OworCQlyYyA9IHVzZXJfcmVnc2V0X2NvcHlpbigmcG9zLCAmY291bnQsICZrYnVmLCAmdWJ1ZiwgJmZwYywKKwkJCQkJMCwgb2Zmc2V0b2YoczM5MF9mcF9yZWdzLCBmcHJzKSk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwkJaWYgKChmcGNbMF0gJiB+RlBDX1ZBTElEX01BU0spICE9IDAgfHwgZnBjWzFdICE9IDApCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJdGFyZ2V0LT50aHJlYWQuZnBfcmVncy5mcGMgPSBmcGNbMF07CisJfQorCisJaWYgKHJjID09IDAgJiYgY291bnQgPiAwKQorCQlyYyA9IHVzZXJfcmVnc2V0X2NvcHlpbigmcG9zLCAmY291bnQsICZrYnVmLCAmdWJ1ZiwKKwkJCQkJdGFyZ2V0LT50aHJlYWQuZnBfcmVncy5mcHJzLAorCQkJCQlvZmZzZXRvZihzMzkwX2ZwX3JlZ3MsIGZwcnMpLCAtMSk7CisKKwlpZiAocmMgPT0gMCAmJiB0YXJnZXQgPT0gY3VycmVudCkKKwkJcmVzdG9yZV9mcF9yZWdzKCZ0YXJnZXQtPnRocmVhZC5mcF9yZWdzKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCBzMzkwX3JlZ3NldHNbXSA9IHsKKwlbUkVHU0VUX0dFTkVSQUxdID0geworCQkuY29yZV9ub3RlX3R5cGUgPSBOVF9QUlNUQVRVUywKKwkJLm4gPSBzaXplb2YoczM5MF9yZWdzKSAvIHNpemVvZihsb25nKSwKKwkJLnNpemUgPSBzaXplb2YobG9uZyksCisJCS5hbGlnbiA9IHNpemVvZihsb25nKSwKKwkJLmdldCA9IHMzOTBfcmVnc19nZXQsCisJCS5zZXQgPSBzMzkwX3JlZ3Nfc2V0LAorCX0sCisJW1JFR1NFVF9GUF0gPSB7CisJCS5jb3JlX25vdGVfdHlwZSA9IE5UX1BSRlBSRUcsCisJCS5uID0gc2l6ZW9mKHMzOTBfZnBfcmVncykgLyBzaXplb2YobG9uZyksCisJCS5zaXplID0gc2l6ZW9mKGxvbmcpLAorCQkuYWxpZ24gPSBzaXplb2YobG9uZyksCisJCS5nZXQgPSBzMzkwX2ZwcmVnc19nZXQsCisJCS5zZXQgPSBzMzkwX2ZwcmVnc19zZXQsCisJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXRfdmlldyB1c2VyX3MzOTBfdmlldyA9IHsKKwkubmFtZSA9IFVUU19NQUNISU5FLAorCS5lX21hY2hpbmUgPSBFTV9TMzkwLAorCS5yZWdzZXRzID0gczM5MF9yZWdzZXRzLAorCS5uID0gQVJSQVlfU0laRShzMzkwX3JlZ3NldHMpCit9OworCisjaWZkZWYgQ09ORklHX0NPTVBBVAorc3RhdGljIGludCBzMzkwX2NvbXBhdF9yZWdzX2dldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCQljb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwKKwkJCQl1bnNpZ25lZCBpbnQgcG9zLCB1bnNpZ25lZCBpbnQgY291bnQsCisJCQkJdm9pZCAqa2J1Ziwgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaWYgKHRhcmdldCA9PSBjdXJyZW50KQorCQlzYXZlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJaWYgKGtidWYpIHsKKwkJY29tcGF0X3Vsb25nX3QgKmsgPSBrYnVmOworCQl3aGlsZSAoY291bnQgPiAwKSB7CisJCQkqaysrID0gX19wZWVrX3VzZXJfY29tcGF0KHRhcmdldCwgcG9zKTsKKwkJCWNvdW50IC09IHNpemVvZigqayk7CisJCQlwb3MgKz0gc2l6ZW9mKCprKTsKKwkJfQorCX0gZWxzZSB7CisJCWNvbXBhdF91bG9uZ190IF9fdXNlciAqdSA9IHVidWY7CisJCXdoaWxlIChjb3VudCA+IDApIHsKKwkJCWlmIChfX3B1dF91c2VyKF9fcGVla191c2VyX2NvbXBhdCh0YXJnZXQsIHBvcyksIHUrKykpCisJCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQljb3VudCAtPSBzaXplb2YoKnUpOworCQkJcG9zICs9IHNpemVvZigqdSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczM5MF9jb21wYXRfcmVnc19zZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCisJCQkJY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQsCisJCQkJdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LAorCQkJCWNvbnN0IHZvaWQgKmtidWYsIGNvbnN0IHZvaWQgX191c2VyICp1YnVmKQoreworCWludCByYyA9IDA7CisKKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpCisJCXNhdmVfYWNjZXNzX3JlZ3ModGFyZ2V0LT50aHJlYWQuYWNycyk7CisKKwlpZiAoa2J1ZikgeworCQljb25zdCBjb21wYXRfdWxvbmdfdCAqayA9IGtidWY7CisJCXdoaWxlIChjb3VudCA+IDAgJiYgIXJjKSB7CisJCQlyYyA9IF9fcG9rZV91c2VyX2NvbXBhdCh0YXJnZXQsIHBvcywgKmsrKyk7CisJCQljb3VudCAtPSBzaXplb2YoKmspOworCQkJcG9zICs9IHNpemVvZigqayk7CisJCX0KKwl9IGVsc2UgeworCQljb25zdCBjb21wYXRfdWxvbmdfdCAgX191c2VyICp1ID0gdWJ1ZjsKKwkJd2hpbGUgKGNvdW50ID4gMCAmJiAhcmMpIHsKKwkJCWNvbXBhdF91bG9uZ190IHdvcmQ7CisJCQlyYyA9IF9fZ2V0X3VzZXIod29yZCwgdSsrKTsKKwkJCWlmIChyYykKKwkJCQlicmVhazsKKwkJCXJjID0gX19wb2tlX3VzZXJfY29tcGF0KHRhcmdldCwgcG9zLCB3b3JkKTsKKwkJCWNvdW50IC09IHNpemVvZigqdSk7CisJCQlwb3MgKz0gc2l6ZW9mKCp1KTsKKwkJfQorCX0KKworCWlmIChyYyA9PSAwICYmIHRhcmdldCA9PSBjdXJyZW50KQorCQlyZXN0b3JlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0IHMzOTBfY29tcGF0X3JlZ3NldHNbXSA9IHsKKwlbUkVHU0VUX0dFTkVSQUxdID0geworCQkuY29yZV9ub3RlX3R5cGUgPSBOVF9QUlNUQVRVUywKKwkJLm4gPSBzaXplb2YoczM5MF9jb21wYXRfcmVncykgLyBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5zaXplID0gc2l6ZW9mKGNvbXBhdF9sb25nX3QpLAorCQkuYWxpZ24gPSBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5nZXQgPSBzMzkwX2NvbXBhdF9yZWdzX2dldCwKKwkJLnNldCA9IHMzOTBfY29tcGF0X3JlZ3Nfc2V0LAorCX0sCisJW1JFR1NFVF9GUF0gPSB7CisJCS5jb3JlX25vdGVfdHlwZSA9IE5UX1BSRlBSRUcsCisJCS5uID0gc2l6ZW9mKHMzOTBfZnBfcmVncykgLyBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5zaXplID0gc2l6ZW9mKGNvbXBhdF9sb25nX3QpLAorCQkuYWxpZ24gPSBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5nZXQgPSBzMzkwX2ZwcmVnc19nZXQsCisJCS5zZXQgPSBzMzkwX2ZwcmVnc19zZXQsCisJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXRfdmlldyB1c2VyX3MzOTBfY29tcGF0X3ZpZXcgPSB7CisJLm5hbWUgPSAiczM5MCIsCisJLmVfbWFjaGluZSA9IEVNX1MzOTAsCisJLnJlZ3NldHMgPSBzMzkwX2NvbXBhdF9yZWdzZXRzLAorCS5uID0gQVJSQVlfU0laRShzMzkwX2NvbXBhdF9yZWdzZXRzKQorfTsKKyNlbmRpZgorCitjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXRfdmlldyAqdGFza191c2VyX3JlZ3NldF92aWV3KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKK3sKKyNpZmRlZiBDT05GSUdfQ09NUEFUCisJaWYgKHRlc3RfdHNrX3RocmVhZF9mbGFnKHRhc2ssIFRJRl8zMUJJVCkpCisJCXJldHVybiAmdXNlcl9zMzkwX2NvbXBhdF92aWV3OworI2VuZGlmCisJcmV0dXJuICZ1c2VyX3MzOTBfdmlldzsKK30KZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvc2V0dXAuYyBiL2FyY2gvczM5MC9rZXJuZWwvc2V0dXAuYwppbmRleCAyYmM3MGI2Li5iMzU4ZTE4IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3NldHVwLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9zZXR1cC5jCkBAIC03Nyw3ICs3Nyw3IEBACiB1bnNpZ25lZCBsb25nIGVsZl9od2NhcCA9IDA7CiBjaGFyIGVsZl9wbGF0Zm9ybVtFTEZfUExBVEZPUk1fU0laRV07CiAKLXN0cnVjdCBtZW1fY2h1bmsgX19tZW1pbml0ZGF0YSBtZW1vcnlfY2h1bmtbTUVNT1JZX0NIVU5LU107CitzdHJ1Y3QgbWVtX2NodW5rIF9faW5pdGRhdGEgbWVtb3J5X2NodW5rW01FTU9SWV9DSFVOS1NdOwogdm9sYXRpbGUgaW50IF9fY3B1X2xvZ2ljYWxfbWFwW05SX0NQVVNdOyAvKiBsb2dpY2FsIGNwdSB0byBjcHUgYWRkcmVzcyAqLwogc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBtZW1vcnlfZW5kOwogCkBAIC0yMDUsMTIgKzIwNSw2IEBACiAJCQlTRVRfQ09OU09MRV9TQ0xQOwogI2VuZGlmCiAJCX0KLSAgICAgICAgfSBlbHNlIGlmIChNQUNISU5FX0lTX1AzOTApIHsKLSNpZiBkZWZpbmVkKENPTkZJR19UTjMyMTVfQ09OU09MRSkKLQkJU0VUX0NPTlNPTEVfMzIxNTsKLSNlbGlmIGRlZmluZWQoQ09ORklHX1ROMzI3MF9DT05TT0xFKQotCQlTRVRfQ09OU09MRV8zMjcwOwotI2VuZGlmCiAJfSBlbHNlIHsKICNpZiBkZWZpbmVkKENPTkZJR19TQ0xQX0NPTlNPTEUpIHx8IGRlZmluZWQoQ09ORklHX1NDTFBfVlQyMjBfQ09OU09MRSkKIAkJU0VUX0NPTlNPTEVfU0NMUDsKQEAgLTIyMSwxOCArMjE1LDE3IEBACiAjaWYgZGVmaW5lZChDT05GSUdfWkZDUERVTVApIHx8IGRlZmluZWQoQ09ORklHX1pGQ1BEVU1QX01PRFVMRSkKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF96ZmNwZHVtcCh1bnNpZ25lZCBpbnQgY29uc29sZV9kZXZubykKIHsKLQlzdGF0aWMgY2hhciBzdHJbNjRdOworCXN0YXRpYyBjaGFyIHN0cls0MV07CiAKIAlpZiAoaXBsX2luZm8udHlwZSAhPSBJUExfVFlQRV9GQ1BfRFVNUCkKIAkJcmV0dXJuOwogCWlmIChjb25zb2xlX2Rldm5vICE9IC0xKQotCQlzcHJpbnRmKHN0ciwgImNpb19pZ25vcmU9YWxsLCEwLjAuJTA0eCwhMC4wLiUwNHgiLAorCQlzcHJpbnRmKHN0ciwgIiBjaW9faWdub3JlPWFsbCwhMC4wLiUwNHgsITAuMC4lMDR4IiwKIAkJCWlwbF9pbmZvLmRhdGEuZmNwLmRldl9pZC5kZXZubywgY29uc29sZV9kZXZubyk7CiAJZWxzZQotCQlzcHJpbnRmKHN0ciwgImNpb19pZ25vcmU9YWxsLCEwLjAuJTA0eCIsCisJCXNwcmludGYoc3RyLCAiIGNpb19pZ25vcmU9YWxsLCEwLjAuJTA0eCIsCiAJCQlpcGxfaW5mby5kYXRhLmZjcC5kZXZfaWQuZGV2bm8pOwotCXN0cmNhdChDT01NQU5EX0xJTkUsICIgIik7Ci0Jc3RyY2F0KENPTU1BTkRfTElORSwgc3RyKTsKKwlzdHJjYXQoYm9vdF9jb21tYW5kX2xpbmUsIHN0cik7CiAJY29uc29sZV9sb2dsZXZlbCA9IDI7CiB9CiAjZWxzZQpAQCAtMjg5LDMyICsyODIsNiBAQAogfQogZWFybHlfcGFyYW0oIm1lbSIsIGVhcmx5X3BhcnNlX21lbSk7CiAKLS8qCi0gKiAiaXBsZGVsYXk9WFhYW3NtXSIgc2V0cyBpcGwgZGVsYXkgaW4gc2Vjb25kcyBvciBtaW51dGVzCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IGVhcmx5X3BhcnNlX2lwbGRlbGF5KGNoYXIgKnApCi17Ci0JdW5zaWduZWQgbG9uZyBkZWxheSA9IDA7Ci0KLQlkZWxheSA9IHNpbXBsZV9zdHJ0b3VsKHAsICZwLCAwKTsKLQotCXN3aXRjaCAoKnApIHsKLQljYXNlICdzJzoKLQljYXNlICdTJzoKLQkJZGVsYXkgKj0gMTAwMDAwMDsKLQkJYnJlYWs7Ci0JY2FzZSAnbSc6Ci0JY2FzZSAnTSc6Ci0JCWRlbGF5ICo9IDYwICogMTAwMDAwMDsKLQl9Ci0KLQkvKiBub3cgd2FpdCBmb3IgdGhlIHJlcXVlc3RlZCBhbW91bnQgb2YgdGltZSAqLwotCXVkZWxheShkZWxheSk7Ci0KLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJpcGxkZWxheSIsIGVhcmx5X3BhcnNlX2lwbGRlbGF5KTsKLQogI2lmZGVmIENPTkZJR19TMzkwX1NXSVRDSF9BTU9ERQogI2lmZGVmIENPTkZJR19QR1NURQogdW5zaWduZWQgaW50IHN3aXRjaF9hbW9kZSA9IDE7CkBAIC04MDQsMTEgKzc3MSw5IEBACiAJCXByaW50aygiV2UgYXJlIHJ1bm5pbmcgbmF0aXZlICg2NCBiaXQgbW9kZSlcbiIpOwogI2VuZGlmIC8qIENPTkZJR182NEJJVCAqLwogCi0JLyogU2F2ZSB1bnBhcnNlZCBjb21tYW5kIGxpbmUgY29weSBmb3IgL3Byb2MvY21kbGluZSAqLwotCXN0cmxjcHkoYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORSwgQ09NTUFORF9MSU5FX1NJWkUpOwotCi0JKmNtZGxpbmVfcCA9IENPTU1BTkRfTElORTsKLQkqKCpjbWRsaW5lX3AgKyBDT01NQU5EX0xJTkVfU0laRSAtIDEpID0gJ1wwJzsKKwkvKiBIYXZlIG9uZSBjb21tYW5kIGxpbmUgdGhhdCBpcyBwYXJzZWQgYW5kIHNhdmVkIGluIC9wcm9jL2NtZGxpbmUgKi8KKwkvKiBib290X2NvbW1hbmRfbGluZSBoYXMgYmVlbiBhbHJlYWR5IHNldCB1cCBpbiBlYXJseS5jICovCisJKmNtZGxpbmVfcCA9IGJvb3RfY29tbWFuZF9saW5lOwogCiAgICAgICAgIFJPT1RfREVWID0gUm9vdF9SQU0wOwogCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3NtcC5jIGIvYXJjaC9zMzkwL2tlcm5lbC9zbXAuYwppbmRleCA1ZDRmYTRiLi5iNjc4MTAzIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvc21wLmMKQEAgLTEwOSw3ICsxMDksNyBAQAogfQogCiBzdGF0aWMgdm9pZCBfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcCh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSAgICBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCwgY3B1bWFza190IG1hcCkKKwkJCQkgICAgaW50IHdhaXQsIGNwdW1hc2tfdCBtYXApCiB7CiAJc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKIAlpbnQgY3B1LCBsb2NhbCA9IDA7CkBAIC0xNjIsNyArMTYyLDYgQEAKICAqIHNtcF9jYWxsX2Z1bmN0aW9uOgogICogQGZ1bmM6IHRoZSBmdW5jdGlvbiB0byBydW47IHRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcKICAqIEBpbmZvOiBhbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbgotICogQG5vbmF0b21pYzogdW51c2VkCiAgKiBAd2FpdDogaWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzCiAgKgogICogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCkBAIC0xNzAsMTUgKzE2OSwxNCBAQAogICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMsIGZyb20gYQogICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmLgogICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywKLQkJICAgICAgaW50IHdhaXQpCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpCiB7CiAJY3B1bWFza190IG1hcDsKIAogCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKIAltYXAgPSBjcHVfb25saW5lX21hcDsKIAljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBtYXApOwotCV9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKGZ1bmMsIGluZm8sIG5vbmF0b21pYywgd2FpdCwgbWFwKTsKKwlfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcChmdW5jLCBpbmZvLCB3YWl0LCBtYXApOwogCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwogCXJldHVybiAwOwogfQpAQCAtMTg5LDcgKzE4Nyw2IEBACiAgKiBAY3B1OiB0aGUgQ1BVIHdoZXJlIGZ1bmMgc2hvdWxkIHJ1bgogICogQGZ1bmM6IHRoZSBmdW5jdGlvbiB0byBydW47IHRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcKICAqIEBpbmZvOiBhbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbgotICogQG5vbmF0b21pYzogdW51c2VkCiAgKiBAd2FpdDogaWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzCiAgKgogICogUnVuIGEgZnVuY3Rpb24gb24gb25lIHByb2Nlc3Nvci4KQEAgLTE5OCwxMSArMTk1LDEwIEBACiAgKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYuCiAgKi8KIGludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCisJCQkgICAgIGludCB3YWl0KQogewogCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQlfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcChmdW5jLCBpbmZvLCBub25hdG9taWMsIHdhaXQsCi0JCQkJY3B1bWFza19vZl9jcHUoY3B1KSk7CisJX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgd2FpdCwgY3B1bWFza19vZl9jcHUoY3B1KSk7CiAJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yMjgsNyArMjI0LDcgQEAKIHsKIAlzcGluX2xvY2soJmNhbGxfbG9jayk7CiAJY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgbWFzayk7Ci0JX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgMCwgd2FpdCwgbWFzayk7CisJX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgd2FpdCwgbWFzayk7CiAJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7CiAJcmV0dXJuIDA7CiB9CkBAIC0zMDMsNyArMjk5LDcgQEAKIAogdm9pZCBzbXBfcHRsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShzbXBfcHRsYl9jYWxsYmFjaywgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoc21wX3B0bGJfY2FsbGJhY2ssIE5VTEwsIDEpOwogfQogRVhQT1JUX1NZTUJPTChzbXBfcHRsYl9hbGwpOwogI2VuZGlmIC8qICEgQ09ORklHXzY0QklUICovCkBAIC0zNTEsNyArMzQ3LDcgQEAKIAltZW1zZXQoJnBhcm1zLm9ydmFscywgMCwgc2l6ZW9mKHBhcm1zLm9ydmFscykpOwogCW1lbXNldCgmcGFybXMuYW5kdmFscywgMHhmZiwgc2l6ZW9mKHBhcm1zLmFuZHZhbHMpKTsKIAlwYXJtcy5vcnZhbHNbY3JdID0gMSA8PCBiaXQ7Ci0Jb25fZWFjaF9jcHUoc21wX2N0bF9iaXRfY2FsbGJhY2ssICZwYXJtcywgMCwgMSk7CisJb25fZWFjaF9jcHUoc21wX2N0bF9iaXRfY2FsbGJhY2ssICZwYXJtcywgMSk7CiB9CiBFWFBPUlRfU1lNQk9MKHNtcF9jdGxfc2V0X2JpdCk7CiAKQEAgLTM2NSw3ICszNjEsNyBAQAogCW1lbXNldCgmcGFybXMub3J2YWxzLCAwLCBzaXplb2YocGFybXMub3J2YWxzKSk7CiAJbWVtc2V0KCZwYXJtcy5hbmR2YWxzLCAweGZmLCBzaXplb2YocGFybXMuYW5kdmFscykpOwogCXBhcm1zLmFuZHZhbHNbY3JdID0gfigxTCA8PCBiaXQpOwotCW9uX2VhY2hfY3B1KHNtcF9jdGxfYml0X2NhbGxiYWNrLCAmcGFybXMsIDAsIDEpOworCW9uX2VhY2hfY3B1KHNtcF9jdGxfYml0X2NhbGxiYWNrLCAmcGFybXMsIDEpOwogfQogRVhQT1JUX1NZTUJPTChzbXBfY3RsX2NsZWFyX2JpdCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggODVlNDZhNS4uNTc1NzFmMSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTgxLDYgKzgxLDcgQEAKIAkJCSAgIFMzOTBfbG93Y29yZS50aHJlYWRfaW5mbywKIAkJCSAgIFMzOTBfbG93Y29yZS50aHJlYWRfaW5mbyArIFRIUkVBRF9TSVpFLCAxKTsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwogCiB2b2lkIHNhdmVfc3RhY2tfdHJhY2VfdHNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlKQogewpAQCAtOTMsMyArOTQsNCBAQAogCWlmICh0cmFjZS0+bnJfZW50cmllcyA8IHRyYWNlLT5tYXhfZW50cmllcykKIAkJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBVTE9OR19NQVg7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlX3Rzayk7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3RpbWUuYyBiL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jCmluZGV4IDdhZWM2NzYuLmYyY2VkZTMgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jCkBAIC0zLDcgKzMsNyBAQAogICogICAgVGltZSBvZiBkYXkgYmFzZWQgdGltZXIgZnVuY3Rpb25zLgogICoKICAqICBTMzkwIHZlcnNpb24KLSAqICAgIENvcHlyaWdodCAoQykgMTk5OSBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSCwgSUJNIENvcnBvcmF0aW9uCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDE5OTksIDIwMDgKICAqICAgIEF1dGhvcihzKTogSGFydG11dCBQZW5uZXIgKGhwQGRlLmlibS5jb20pLAogICogICAgICAgICAgICAgICBNYXJ0aW4gU2Nod2lkZWZza3kgKHNjaHdpZGVmc2t5QGRlLmlibS5jb20pLAogICogICAgICAgICAgICAgICBEZW5pcyBKb3NlcGggQmFycm93IChkamJhcnJvd0BkZS5pYm0uY29tLGJhcnJvd19kakB5YWhvby5jb20pCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KICNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2NrY2hpcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vZGVsYXkuaD4KICNpbmNsdWRlIDxhc20vczM5MF9leHQuaD4KQEAgLTE2Miw3ICsxNjMsNyBAQAogCS8qIEVuYWJsZSBjbG9jayBjb21wYXJhdG9yIHRpbWVyIGludGVycnVwdC4gKi8KIAlfX2N0bF9zZXRfYml0KDAsMTEpOwogCi0JLyogQWx3YXlzIGFsbG93IEVUUiBleHRlcm5hbCBpbnRlcnJ1cHRzLCBldmVuIHdpdGhvdXQgYW4gRVRSLiAqLworCS8qIEFsd2F5cyBhbGxvdyB0aGUgdGltaW5nIGFsZXJ0IGV4dGVybmFsIGludGVycnVwdC4gKi8KIAlfX2N0bF9zZXRfYml0KDAsIDQpOwogfQogCkBAIC0xNzAsOCArMTcxLDIxIEBACiB7CiB9CiAKK3N0YXRpYyB2b2lkIGV0cl90aW1pbmdfYWxlcnQoc3RydWN0IGV0cl9pcnFfcGFybSAqKTsKK3N0YXRpYyB2b2lkIHN0cF90aW1pbmdfYWxlcnQoc3RydWN0IHN0cF9pcnFfcGFybSAqKTsKKworc3RhdGljIHZvaWQgdGltaW5nX2FsZXJ0X2ludGVycnVwdChfX3UxNiBjb2RlKQoreworCWlmIChTMzkwX2xvd2NvcmUuZXh0X3BhcmFtcyAmIDB4MDBjNDAwMDApCisJCWV0cl90aW1pbmdfYWxlcnQoKHN0cnVjdCBldHJfaXJxX3Bhcm0gKikKKwkJCQkgJlMzOTBfbG93Y29yZS5leHRfcGFyYW1zKTsKKwlpZiAoUzM5MF9sb3djb3JlLmV4dF9wYXJhbXMgJiAweDAwMDM4MDAwKQorCQlzdHBfdGltaW5nX2FsZXJ0KChzdHJ1Y3Qgc3RwX2lycV9wYXJtICopCisJCQkJICZTMzkwX2xvd2NvcmUuZXh0X3BhcmFtcyk7Cit9CisKIHN0YXRpYyB2b2lkIGV0cl9yZXNldCh2b2lkKTsKLXN0YXRpYyB2b2lkIGV0cl9leHRfaGFuZGxlcihfX3UxNik7CitzdGF0aWMgdm9pZCBzdHBfcmVzZXQodm9pZCk7CiAKIC8qCiAgKiBHZXQgdGhlIFRPRCBjbG9jayBydW5uaW5nLgpAQCAtMTgxLDYgKzE5NSw3IEBACiAJdTY0IHRpbWU7CiAKIAlldHJfcmVzZXQoKTsKKwlzdHBfcmVzZXQoKTsKIAlpZiAoc3RvcmVfY2xvY2soJnRpbWUpID09IDApCiAJCXJldHVybiB0aW1lOwogCS8qIFRPRCBjbG9jayBub3QgcnVubmluZy4gU2V0IHRoZSBjbG9jayB0byBVbml4IEVwb2NoLiAqLwpAQCAtMjMxLDggKzI0Niw5IEBACiAJaWYgKGNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV90b2QpICE9IDApCiAJCXBhbmljKCJDb3VsZCBub3QgcmVnaXN0ZXIgVE9EIGNsb2NrIHNvdXJjZSIpOwogCi0JLyogcmVxdWVzdCB0aGUgZXRyIGV4dGVybmFsIGludGVycnVwdCAqLwotCWlmIChyZWdpc3Rlcl9lYXJseV9leHRlcm5hbF9pbnRlcnJ1cHQoMHgxNDA2LCBldHJfZXh0X2hhbmRsZXIsCisJLyogcmVxdWVzdCB0aGUgdGltaW5nIGFsZXJ0IGV4dGVybmFsIGludGVycnVwdCAqLworCWlmIChyZWdpc3Rlcl9lYXJseV9leHRlcm5hbF9pbnRlcnJ1cHQoMHgxNDA2LAorCQkJCQkgICAgICB0aW1pbmdfYWxlcnRfaW50ZXJydXB0LAogCQkJCQkgICAgICAmZXh0X2ludF9ldHJfY2MpICE9IDApCiAJCXBhbmljKCJDb3VsZG4ndCByZXF1ZXN0IGV4dGVybmFsIGludGVycnVwdCAweDE0MDYiKTsKIApAQCAtMjQ1LDEwICsyNjEsMTEyIEBACiB9CiAKIC8qCisgKiBUaGUgdGltZSBpcyAiY2xvY2siLiBvbGQgaXMgd2hhdCB3ZSB0aGluayB0aGUgdGltZSBpcy4KKyAqIEFkanVzdCB0aGUgdmFsdWUgYnkgYSBtdWx0aXBsZSBvZiBqaWZmaWVzIGFuZCBhZGQgdGhlIGRlbHRhIHRvIG50cC4KKyAqICJkZWxheSIgaXMgYW4gYXBwcm94aW1hdGlvbiBob3cgbG9uZyB0aGUgc3luY2hyb25pemF0aW9uIHRvb2suIElmCisgKiB0aGUgdGltZSBjb3JyZWN0aW9uIGlzIHBvc2l0aXZlLCB0aGVuICJkZWxheSIgaXMgc3VidHJhY3RlZCBmcm9tCisgKiB0aGUgdGltZSBkaWZmZXJlbmNlIGFuZCBvbmx5IHRoZSByZW1haW5pbmcgcGFydCBpcyBwYXNzZWQgdG8gbnRwLgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIGFkanVzdF90aW1lKHVuc2lnbmVkIGxvbmcgbG9uZyBvbGQsCisJCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGNsb2NrLAorCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWxheSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEsIHRpY2tzOworCXN0cnVjdCB0aW1leCBhZGp1c3Q7CisKKwlpZiAoY2xvY2sgPiBvbGQpIHsKKwkJLyogSXQgaXMgbGF0ZXIgdGhhbiB3ZSB0aG91Z2h0LiAqLworCQlkZWx0YSA9IHRpY2tzID0gY2xvY2sgLSBvbGQ7CisJCWRlbHRhID0gdGlja3MgPSAoZGVsdGEgPCBkZWxheSkgPyAwIDogZGVsdGEgLSBkZWxheTsKKwkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKKwkJYWRqdXN0Lm9mZnNldCA9IHRpY2tzICogKDEwMDAwMDAgLyBIWik7CisJfSBlbHNlIHsKKwkJLyogSXQgaXMgZWFybGllciB0aGFuIHdlIHRob3VnaHQuICovCisJCWRlbHRhID0gdGlja3MgPSBvbGQgLSBjbG9jazsKKwkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKKwkJZGVsdGEgPSAtZGVsdGE7CisJCWFkanVzdC5vZmZzZXQgPSAtdGlja3MgKiAoMTAwMDAwMCAvIEhaKTsKKwl9CisJamlmZmllc190aW1lcl9jYyArPSBkZWx0YTsKKwlpZiAoYWRqdXN0Lm9mZnNldCAhPSAwKSB7CisJCXByaW50ayhLRVJOX05PVElDRSAiZXRyOiB0aW1lIGFkanVzdGVkIGJ5ICVsaSBtaWNyby1zZWNvbmRzXG4iLAorCQkgICAgICAgYWRqdXN0Lm9mZnNldCk7CisJCWFkanVzdC5tb2RlcyA9IEFESl9PRkZTRVRfU0lOR0xFU0hPVDsKKwkJZG9fYWRqdGltZXgoJmFkanVzdCk7CisJfQorCXJldHVybiBkZWx0YTsKK30KKworc3RhdGljIERFRklORV9QRVJfQ1BVKGF0b21pY190LCBjbG9ja19zeW5jX3dvcmQpOworc3RhdGljIHVuc2lnbmVkIGxvbmcgY2xvY2tfc3luY19mbGFnczsKKworI2RlZmluZSBDTE9DS19TWU5DX0hBU19FVFIJMAorI2RlZmluZSBDTE9DS19TWU5DX0hBU19TVFAJMQorI2RlZmluZSBDTE9DS19TWU5DX0VUUgkJMgorI2RlZmluZSBDTE9DS19TWU5DX1NUUAkJMworCisvKgorICogVGhlIHN5bmNocm9ub3VzIGdldF9jbG9jayBmdW5jdGlvbi4gSXQgd2lsbCB3cml0ZSB0aGUgY3VycmVudCBjbG9jaworICogdmFsdWUgdG8gdGhlIGNsb2NrIHBvaW50ZXIgYW5kIHJldHVybiAwIGlmIHRoZSBjbG9jayBpcyBpbiBzeW5jIHdpdGgKKyAqIHRoZSBleHRlcm5hbCB0aW1lIHNvdXJjZS4gSWYgdGhlIGNsb2NrIG1vZGUgaXMgbG9jYWwgaXQgd2lsbCByZXR1cm4KKyAqIC1FTk9TWVMgYW5kIC1FQUdBSU4gaWYgdGhlIGNsb2NrIGlzIG5vdCBpbiBzeW5jIHdpdGggdGhlIGV4dGVybmFsCisgKiByZWZlcmVuY2UuCisgKi8KK2ludCBnZXRfc3luY19jbG9jayh1bnNpZ25lZCBsb25nIGxvbmcgKmNsb2NrKQoreworCWF0b21pY190ICpzd19wdHI7CisJdW5zaWduZWQgaW50IHN3MCwgc3cxOworCisJc3dfcHRyID0gJmdldF9jcHVfdmFyKGNsb2NrX3N5bmNfd29yZCk7CisJc3cwID0gYXRvbWljX3JlYWQoc3dfcHRyKTsKKwkqY2xvY2sgPSBnZXRfY2xvY2soKTsKKwlzdzEgPSBhdG9taWNfcmVhZChzd19wdHIpOworCXB1dF9jcHVfdmFyKGNsb2NrX3N5bmNfc3luYyk7CisJaWYgKHN3MCA9PSBzdzEgJiYgKHN3MCAmIDB4ODAwMDAwMDBVKSkKKwkJLyogU3VjY2VzczogdGltZSBpcyBpbiBzeW5jLiAqLworCQlyZXR1cm4gMDsKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfSEFTX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmCisJICAgICF0ZXN0X2JpdChDTE9DS19TWU5DX0hBU19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuIC1FTk9TWVM7CisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmCisJICAgICF0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm4gLUVBQ0NFUzsKKwlyZXR1cm4gLUVBR0FJTjsKK30KK0VYUE9SVF9TWU1CT0woZ2V0X3N5bmNfY2xvY2spOworCisvKgorICogTWFrZSBnZXRfc3luY19jbG9jayByZXR1cm4gLUVBR0FJTi4KKyAqLworc3RhdGljIHZvaWQgZGlzYWJsZV9zeW5jX2Nsb2NrKHZvaWQgKmR1bW15KQoreworCWF0b21pY190ICpzd19wdHIgPSAmX19nZXRfY3B1X3ZhcihjbG9ja19zeW5jX3dvcmQpOworCS8qCisJICogQ2xlYXIgdGhlIGluLXN5bmMgYml0IDJeMzEuIEFsbCBnZXRfc3luY19jbG9jayBjYWxscyB3aWxsCisJICogZmFpbCB1bnRpbCB0aGUgc3luYyBiaXQgaXMgdHVybmVkIGJhY2sgb24uIEluIGFkZGl0aW9uCisJICogaW5jcmVhc2UgdGhlICJzZXF1ZW5jZSIgY291bnRlciB0byBhdm9pZCB0aGUgcmFjZSBvZiBhbgorCSAqIGV0ciBldmVudCBhbmQgdGhlIGNvbXBsZXRlIHJlY292ZXJ5IGFnYWluc3QgZ2V0X3N5bmNfY2xvY2suCisJICovCisJYXRvbWljX2NsZWFyX21hc2soMHg4MDAwMDAwMCwgc3dfcHRyKTsKKwlhdG9taWNfaW5jKHN3X3B0cik7Cit9CisKKy8qCisgKiBNYWtlIGdldF9zeW5jX2Nsb2NrIHJldHVybiAwIGFnYWluLgorICogTmVlZHMgdG8gYmUgY2FsbGVkIGZyb20gYSBjb250ZXh0IGRpc2FibGVkIGZvciBwcmVlbXB0aW9uLgorICovCitzdGF0aWMgdm9pZCBlbmFibGVfc3luY19jbG9jayh2b2lkKQoreworCWF0b21pY190ICpzd19wdHIgPSAmX19nZXRfY3B1X3ZhcihjbG9ja19zeW5jX3dvcmQpOworCWF0b21pY19zZXRfbWFzaygweDgwMDAwMDAwLCBzd19wdHIpOworfQorCisvKgogICogRXh0ZXJuYWwgVGltZSBSZWZlcmVuY2UgKEVUUikgY29kZS4KICAqLwogc3RhdGljIGludCBldHJfcG9ydDBfb25saW5lOwogc3RhdGljIGludCBldHJfcG9ydDFfb25saW5lOworc3RhdGljIGludCBldHJfc3RlYWlfYXZhaWxhYmxlOwogCiBzdGF0aWMgaW50IF9faW5pdCBlYXJseV9wYXJzZV9ldHIoY2hhciAqcCkKIHsKQEAgLTI3MywxMiArMzkxLDYgQEAKIAlFVFJfRVZFTlRfVVBEQVRFLAogfTsKIAotZW51bSBldHJfZmxhZ3MgewotCUVUUl9GTEFHX0VOT1NZUywKLQlFVFJfRkxBR19FQUNDRVMsCi0JRVRSX0ZMQUdfU1RFQUksCi19OwotCiAvKgogICogVmFsaWQgYml0IGNvbWJpbmF0aW9ucyBvZiB0aGUgZWFjciByZWdpc3RlciBhcmUgKHggPSBkb24ndCBjYXJlKToKICAqIGUwIGUxIGRwIHAwIHAxIGVhIGVzIHNsCkBAIC0zMDUsNzQgKzQxNywxOCBAQAogICovCiBzdGF0aWMgc3RydWN0IGV0cl9lYWNyIGV0cl9lYWNyOwogc3RhdGljIHU2NCBldHJfdG9sZWM7CQkJLyogdGltZSBvZiBsYXN0IGVhY3IgdXBkYXRlICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBldHJfZmxhZ3M7CiBzdGF0aWMgc3RydWN0IGV0cl9haWIgZXRyX3BvcnQwOwogc3RhdGljIGludCBldHJfcG9ydDBfdXB0b2RhdGU7CiBzdGF0aWMgc3RydWN0IGV0cl9haWIgZXRyX3BvcnQxOwogc3RhdGljIGludCBldHJfcG9ydDFfdXB0b2RhdGU7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyBldHJfZXZlbnRzOwogc3RhdGljIHN0cnVjdCB0aW1lcl9saXN0IGV0cl90aW1lcjsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVShhdG9taWNfdCwgZXRyX3N5bmNfd29yZCk7CiAKIHN0YXRpYyB2b2lkIGV0cl90aW1lb3V0KHVuc2lnbmVkIGxvbmcgZHVtbXkpOwogc3RhdGljIHZvaWQgZXRyX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIHN0YXRpYyBERUNMQVJFX1dPUksoZXRyX3dvcmssIGV0cl93b3JrX2ZuKTsKIAogLyoKLSAqIFRoZSBldHIgZ2V0X2Nsb2NrIGZ1bmN0aW9uLiBJdCB3aWxsIHdyaXRlIHRoZSBjdXJyZW50IGNsb2NrIHZhbHVlCi0gKiB0byB0aGUgY2xvY2sgcG9pbnRlciBhbmQgcmV0dXJuIDAgaWYgdGhlIGNsb2NrIGlzIGluIHN5bmMgd2l0aCB0aGUKLSAqIGV4dGVybmFsIHRpbWUgc291cmNlLiBJZiB0aGUgY2xvY2sgbW9kZSBpcyBsb2NhbCBpdCB3aWxsIHJldHVybgotICogLUVOT1NZUyBhbmQgLUVBR0FJTiBpZiB0aGUgY2xvY2sgaXMgbm90IGluIHN5bmMgd2l0aCB0aGUgZXh0ZXJuYWwKLSAqIHJlZmVyZW5jZS4gVGhpcyBmdW5jdGlvbiBpcyB3aGF0IEVUUiBpcyBhbGwgYWJvdXQuLgotICovCi1pbnQgZ2V0X3N5bmNfY2xvY2sodW5zaWduZWQgbG9uZyBsb25nICpjbG9jaykKLXsKLQlhdG9taWNfdCAqc3dfcHRyOwotCXVuc2lnbmVkIGludCBzdzAsIHN3MTsKLQotCXN3X3B0ciA9ICZnZXRfY3B1X3ZhcihldHJfc3luY193b3JkKTsKLQlzdzAgPSBhdG9taWNfcmVhZChzd19wdHIpOwotCSpjbG9jayA9IGdldF9jbG9jaygpOwotCXN3MSA9IGF0b21pY19yZWFkKHN3X3B0cik7Ci0JcHV0X2NwdV92YXIoZXRyX3N5bmNfc3luYyk7Ci0JaWYgKHN3MCA9PSBzdzEgJiYgKHN3MCAmIDB4ODAwMDAwMDBVKSkKLQkJLyogU3VjY2VzczogdGltZSBpcyBpbiBzeW5jLiAqLwotCQlyZXR1cm4gMDsKLQlpZiAodGVzdF9iaXQoRVRSX0ZMQUdfRU5PU1lTLCAmZXRyX2ZsYWdzKSkKLQkJcmV0dXJuIC1FTk9TWVM7Ci0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncykpCi0JCXJldHVybiAtRUFDQ0VTOwotCXJldHVybiAtRUFHQUlOOwotfQotRVhQT1JUX1NZTUJPTChnZXRfc3luY19jbG9jayk7Ci0KLS8qCi0gKiBNYWtlIGdldF9zeW5jX2Nsb2NrIHJldHVybiAtRUFHQUlOLgotICovCi1zdGF0aWMgdm9pZCBldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKHZvaWQgKmR1bW15KQotewotCWF0b21pY190ICpzd19wdHIgPSAmX19nZXRfY3B1X3ZhcihldHJfc3luY193b3JkKTsKLQkvKgotCSAqIENsZWFyIHRoZSBpbi1zeW5jIGJpdCAyXjMxLiBBbGwgZ2V0X3N5bmNfY2xvY2sgY2FsbHMgd2lsbAotCSAqIGZhaWwgdW50aWwgdGhlIHN5bmMgYml0IGlzIHR1cm5lZCBiYWNrIG9uLiBJbiBhZGRpdGlvbgotCSAqIGluY3JlYXNlIHRoZSAic2VxdWVuY2UiIGNvdW50ZXIgdG8gYXZvaWQgdGhlIHJhY2Ugb2YgYW4KLQkgKiBldHIgZXZlbnQgYW5kIHRoZSBjb21wbGV0ZSByZWNvdmVyeSBhZ2FpbnN0IGdldF9zeW5jX2Nsb2NrLgotCSAqLwotCWF0b21pY19jbGVhcl9tYXNrKDB4ODAwMDAwMDAsIHN3X3B0cik7Ci0JYXRvbWljX2luYyhzd19wdHIpOwotfQotCi0vKgotICogTWFrZSBnZXRfc3luY19jbG9jayByZXR1cm4gMCBhZ2Fpbi4KLSAqIE5lZWRzIHRvIGJlIGNhbGxlZCBmcm9tIGEgY29udGV4dCBkaXNhYmxlZCBmb3IgcHJlZW1wdGlvbi4KLSAqLwotc3RhdGljIHZvaWQgZXRyX2VuYWJsZV9zeW5jX2Nsb2NrKHZvaWQpCi17Ci0JYXRvbWljX3QgKnN3X3B0ciA9ICZfX2dldF9jcHVfdmFyKGV0cl9zeW5jX3dvcmQpOwotCWF0b21pY19zZXRfbWFzaygweDgwMDAwMDAwLCBzd19wdHIpOwotfQotCi0vKgogICogUmVzZXQgRVRSIGF0dGFjaG1lbnQuCiAgKi8KIHN0YXRpYyB2b2lkIGV0cl9yZXNldCh2b2lkKQpAQCAtMzgxLDE1ICs0MzcsMTMgQEAKIAkJLmUwID0gMCwgLmUxID0gMCwgLl9wYWQwID0gNCwgLmRwID0gMCwKIAkJLnAwID0gMCwgLnAxID0gMCwgLl9wYWQxID0gMCwgLmVhID0gMCwKIAkJLmVzID0gMCwgLnNsID0gMCB9OwotCWlmIChldHJfc2V0cigmZXRyX2VhY3IpID09IDApCisJaWYgKGV0cl9zZXRyKCZldHJfZWFjcikgPT0gMCkgewogCQlldHJfdG9sZWMgPSBnZXRfY2xvY2soKTsKLQllbHNlIHsKLQkJc2V0X2JpdChFVFJfRkxBR19FTk9TWVMsICZldHJfZmxhZ3MpOwotCQlpZiAoZXRyX3BvcnQwX29ubGluZSB8fCBldHJfcG9ydDFfb25saW5lKSB7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJSdW5uaW5nIG9uIG5vbiBFVFIgY2FwYWJsZSAiCi0JCQkgICAgICAgIm1hY2hpbmUsIG9ubHkgbG9jYWwgbW9kZSBhdmFpbGFibGUuXG4iKTsKLQkJCWV0cl9wb3J0MF9vbmxpbmUgPSBldHJfcG9ydDFfb25saW5lID0gMDsKLQkJfQorCQlzZXRfYml0KENMT0NLX1NZTkNfSEFTX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpOworCX0gZWxzZSBpZiAoZXRyX3BvcnQwX29ubGluZSB8fCBldHJfcG9ydDFfb25saW5lKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJ1bm5pbmcgb24gbm9uIEVUUiBjYXBhYmxlICIKKwkJICAgICAgICJtYWNoaW5lLCBvbmx5IGxvY2FsIG1vZGUgYXZhaWxhYmxlLlxuIik7CisJCWV0cl9wb3J0MF9vbmxpbmUgPSBldHJfcG9ydDFfb25saW5lID0gMDsKIAl9CiB9CiAKQEAgLTM5NywxNCArNDUxLDEyIEBACiB7CiAJc3RydWN0IGV0cl9haWIgYWliOwogCi0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX0VOT1NZUywgJmV0cl9mbGFncykpCisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX0hBU19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKIAkJcmV0dXJuIDA7CiAJLyogQ2hlY2sgaWYgdGhpcyBtYWNoaW5lIGhhcyB0aGUgc3RlYWkgaW5zdHJ1Y3Rpb24uICovCiAJaWYgKGV0cl9zdGVhaSgmYWliLCBFVFJfU1RFQUlfU1RFUFBJTkdfUE9SVCkgPT0gMCkKLQkJc2V0X2JpdChFVFJfRkxBR19TVEVBSSwgJmV0cl9mbGFncyk7CisJCWV0cl9zdGVhaV9hdmFpbGFibGUgPSAxOwogCXNldHVwX3RpbWVyKCZldHJfdGltZXIsIGV0cl90aW1lb3V0LCAwVUwpOwotCWlmICghZXRyX3BvcnQwX29ubGluZSAmJiAhZXRyX3BvcnQxX29ubGluZSkKLQkJc2V0X2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCWlmIChldHJfcG9ydDBfb25saW5lKSB7CiAJCXNldF9iaXQoRVRSX0VWRU5UX1BPUlQwX0NIQU5HRSwgJmV0cl9ldmVudHMpOwogCQlzY2hlZHVsZV93b3JrKCZldHJfd29yayk7CkBAIC00MzUsNyArNDg3LDggQEAKIHsKIAlpZiAoIWV0cl9lYWNyLnNsKQogCQlyZXR1cm47Ci0JZXRyX2Rpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlpZiAodGVzdF9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOwogCXNldF9iaXQoRVRSX0VWRU5UX1NXSVRDSF9MT0NBTCwgJmV0cl9ldmVudHMpOwogCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKIH0KQEAgLTQ1MCwyMyArNTAzLDIxIEBACiB7CiAJaWYgKCFldHJfZWFjci5lcykKIAkJcmV0dXJuOwotCWV0cl9kaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CisJaWYgKHRlc3RfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKIAlzZXRfYml0KEVUUl9FVkVOVF9TWU5DX0NIRUNLLCAmZXRyX2V2ZW50cyk7CiAJc2NoZWR1bGVfd29yaygmZXRyX3dvcmspOwogfQogCiAvKgotICogRVRSIGV4dGVybmFsIGludGVycnVwdC4gVGhlcmUgYXJlIHR3byBjYXVzZXM6CisgKiBFVFIgdGltaW5nIGFsZXJ0LiBUaGVyZSBhcmUgdHdvIGNhdXNlczoKICAqIDEpIHBvcnQgc3RhdGUgY2hhbmdlLCBjaGVjayB0aGUgdXNhYmlsaXR5IG9mIHRoZSBwb3J0CiAgKiAyKSBwb3J0IGFsZXJ0LCBvbmUgb2YgdGhlIEVUUi1kYXRhLXZhbGlkaXR5IGJpdHMgKHYxLXYyIGJpdHMgb2YgdGhlCiAgKiAgICBzbGRyLXN0YXR1cyB3b3JkKSBvciBFVFItZGF0YSB3b3JkIDEgKGVkZjEpIG9yIEVUUi1kYXRhIHdvcmQgMyAoZWRmMykKICAqICAgIG9yIEVUUi1kYXRhIHdvcmQgNCAoZWRmNCkgaGFzIGNoYW5nZWQuCiAgKi8KLXN0YXRpYyB2b2lkIGV0cl9leHRfaGFuZGxlcihfX3UxNiBjb2RlKQorc3RhdGljIHZvaWQgZXRyX3RpbWluZ19hbGVydChzdHJ1Y3QgZXRyX2lycV9wYXJtICppbnRwYXJtKQogewotCXN0cnVjdCBldHJfaW50ZXJydXB0aW9uX3BhcmFtZXRlciAqaW50cGFybSA9Ci0JCShzdHJ1Y3QgZXRyX2ludGVycnVwdGlvbl9wYXJhbWV0ZXIgKikgJlMzOTBfbG93Y29yZS5leHRfcGFyYW1zOwotCiAJaWYgKGludHBhcm0tPnBjMCkKIAkJLyogRVRSIHBvcnQgMCBzdGF0ZSBjaGFuZ2UuICovCiAJCXNldF9iaXQoRVRSX0VWRU5UX1BPUlQwX0NIQU5HRSwgJmV0cl9ldmVudHMpOwpAQCAtNTkxLDU4ICs2NDIsMjMgQEAKIAlyZXR1cm4gMTsKIH0KIAotLyoKLSAqIFRoZSB0aW1lIGlzICJjbG9jayIuIG9sZCBpcyB3aGF0IHdlIHRoaW5rIHRoZSB0aW1lIGlzLgotICogQWRqdXN0IHRoZSB2YWx1ZSBieSBhIG11bHRpcGxlIG9mIGppZmZpZXMgYW5kIGFkZCB0aGUgZGVsdGEgdG8gbnRwLgotICogImRlbGF5IiBpcyBhbiBhcHByb3hpbWF0aW9uIGhvdyBsb25nIHRoZSBzeW5jaHJvbml6YXRpb24gdG9vay4gSWYKLSAqIHRoZSB0aW1lIGNvcnJlY3Rpb24gaXMgcG9zaXRpdmUsIHRoZW4gImRlbGF5IiBpcyBzdWJ0cmFjdGVkIGZyb20KLSAqIHRoZSB0aW1lIGRpZmZlcmVuY2UgYW5kIG9ubHkgdGhlIHJlbWFpbmluZyBwYXJ0IGlzIHBhc3NlZCB0byBudHAuCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgZXRyX2FkanVzdF90aW1lKHVuc2lnbmVkIGxvbmcgbG9uZyBvbGQsCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBsb25nIGNsb2NrLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWxheSkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEsIHRpY2tzOwotCXN0cnVjdCB0aW1leCBhZGp1c3Q7Ci0KLQlpZiAoY2xvY2sgPiBvbGQpIHsKLQkJLyogSXQgaXMgbGF0ZXIgdGhhbiB3ZSB0aG91Z2h0LiAqLwotCQlkZWx0YSA9IHRpY2tzID0gY2xvY2sgLSBvbGQ7Ci0JCWRlbHRhID0gdGlja3MgPSAoZGVsdGEgPCBkZWxheSkgPyAwIDogZGVsdGEgLSBkZWxheTsKLQkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKLQkJYWRqdXN0Lm9mZnNldCA9IHRpY2tzICogKDEwMDAwMDAgLyBIWik7Ci0JfSBlbHNlIHsKLQkJLyogSXQgaXMgZWFybGllciB0aGFuIHdlIHRob3VnaHQuICovCi0JCWRlbHRhID0gdGlja3MgPSBvbGQgLSBjbG9jazsKLQkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKLQkJZGVsdGEgPSAtZGVsdGE7Ci0JCWFkanVzdC5vZmZzZXQgPSAtdGlja3MgKiAoMTAwMDAwMCAvIEhaKTsKLQl9Ci0JamlmZmllc190aW1lcl9jYyArPSBkZWx0YTsKLQlpZiAoYWRqdXN0Lm9mZnNldCAhPSAwKSB7Ci0JCXByaW50ayhLRVJOX05PVElDRSAiZXRyOiB0aW1lIGFkanVzdGVkIGJ5ICVsaSBtaWNyby1zZWNvbmRzXG4iLAotCQkgICAgICAgYWRqdXN0Lm9mZnNldCk7Ci0JCWFkanVzdC5tb2RlcyA9IEFESl9PRkZTRVRfU0lOR0xFU0hPVDsKLQkJZG9fYWRqdGltZXgoJmFkanVzdCk7Ci0JfQotCXJldHVybiBkZWx0YTsKLX0KLQotc3RhdGljIHN0cnVjdCB7CitzdHJ1Y3QgY2xvY2tfc3luY19kYXRhIHsKIAlpbnQgaW5fc3luYzsKIAl1bnNpZ25lZCBsb25nIGxvbmcgZml4dXBfY2M7Ci19IGV0cl9zeW5jOworfTsKIAotc3RhdGljIHZvaWQgZXRyX3N5bmNfY3B1X3N0YXJ0KHZvaWQgKmR1bW15KQorc3RhdGljIHZvaWQgY2xvY2tfc3luY19jcHVfc3RhcnQodm9pZCAqZHVtbXkpCiB7Ci0JZXRyX2VuYWJsZV9zeW5jX2Nsb2NrKCk7CisJc3RydWN0IGNsb2NrX3N5bmNfZGF0YSAqc3luYyA9IGR1bW15OworCisJZW5hYmxlX3N5bmNfY2xvY2soKTsKIAkvKgogCSAqIFRoaXMgbG9va3MgbGlrZSBhIGJ1c3kgd2FpdCBsb29wIGJ1dCBpdCBpc24ndC4gZXRyX3N5bmNfY3B1cwogCSAqIGlzIGNhbGxlZCBvbiBhbGwgb3RoZXIgY3B1cyB3aGlsZSB0aGUgVE9EIGNsb2NrcyBpcyBzdG9wcGVkLgogCSAqIF9fdWRlbGF5IHdpbGwgc3RvcCB0aGUgY3B1IG9uIGFuIGVuYWJsZWQgd2FpdCBwc3cgdW50aWwgdGhlCiAJICogVE9EIGlzIHJ1bm5pbmcgYWdhaW4uCiAJICovCi0Jd2hpbGUgKGV0cl9zeW5jLmluX3N5bmMgPT0gMCkgeworCXdoaWxlIChzeW5jLT5pbl9zeW5jID09IDApIHsKIAkJX191ZGVsYXkoMSk7CiAJCS8qCiAJCSAqIEEgZGlmZmVyZW50IGNwdSBjaGFuZ2VzICppbl9zeW5jLiBUaGVyZWZvcmUgdXNlCkBAIC02NTAsMTcgKzY2NiwxNyBAQAogCQkgKi8KIAkJYmFycmllcigpOwogCX0KLQlpZiAoZXRyX3N5bmMuaW5fc3luYyAhPSAxKQorCWlmIChzeW5jLT5pbl9zeW5jICE9IDEpCiAJCS8qIERpZG4ndCB3b3JrLiBDbGVhciBwZXItY3B1IGluIHN5bmMgYml0IGFnYWluLiAqLwotCQlldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CiAJLyoKIAkgKiBUaGlzIHJvdW5kIG9mIFRPRCBzeW5jaW5nIGlzIGRvbmUuIFNldCB0aGUgY2xvY2sgY29tcGFyYXRvcgogCSAqIHRvIHRoZSBuZXh0IHRpY2sgYW5kIGxldCB0aGUgcHJvY2Vzc29yIGNvbnRpbnVlLgogCSAqLwotCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3IoZXRyX3N5bmMuZml4dXBfY2MpOworCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3Ioc3luYy0+Zml4dXBfY2MpOwogfQogCi1zdGF0aWMgdm9pZCBldHJfc3luY19jcHVfZW5kKHZvaWQgKmR1bW15KQorc3RhdGljIHZvaWQgY2xvY2tfc3luY19jcHVfZW5kKHZvaWQgKmR1bW15KQogewogfQogCkBAIC02NzIsNiArNjg4LDcgQEAKIHN0YXRpYyBpbnQgZXRyX3N5bmNfY2xvY2soc3RydWN0IGV0cl9haWIgKmFpYiwgaW50IHBvcnQpCiB7CiAJc3RydWN0IGV0cl9haWIgKnN5bmNfcG9ydDsKKwlzdHJ1Y3QgY2xvY2tfc3luY19kYXRhIGV0cl9zeW5jOwogCXVuc2lnbmVkIGxvbmcgbG9uZyBjbG9jaywgb2xkX2Nsb2NrLCBkZWxheSwgZGVsdGE7CiAJaW50IGZvbGxvd3M7CiAJaW50IHJjOwpAQCAtNjkwLDkgKzcwNyw5IEBACiAJICovCiAJbWVtc2V0KCZldHJfc3luYywgMCwgc2l6ZW9mKGV0cl9zeW5jKSk7CiAJcHJlZW1wdF9kaXNhYmxlKCk7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oZXRyX3N5bmNfY3B1X3N0YXJ0LCBOVUxMLCAwLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihjbG9ja19zeW5jX2NwdV9zdGFydCwgJmV0cl9zeW5jLCAwKTsKIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCWV0cl9lbmFibGVfc3luY19jbG9jaygpOworCWVuYWJsZV9zeW5jX2Nsb2NrKCk7CiAKIAkvKiBTZXQgY2xvY2sgdG8gbmV4dCBPVEUuICovCiAJX19jdGxfc2V0X2JpdCgxNCwgMjEpOwpAQCAtNzA3LDEzICs3MjQsMTMgQEAKIAkJLyogQWRqdXN0IExpbnV4IHRpbWluZyB2YXJpYWJsZXMuICovCiAJCWRlbGF5ID0gKHVuc2lnbmVkIGxvbmcgbG9uZykKIAkJCShhaWItPmVkZjIuZXR2IC0gc3luY19wb3J0LT5lZGYyLmV0dikgPDwgMzI7Ci0JCWRlbHRhID0gZXRyX2FkanVzdF90aW1lKG9sZF9jbG9jaywgY2xvY2ssIGRlbGF5KTsKKwkJZGVsdGEgPSBhZGp1c3RfdGltZShvbGRfY2xvY2ssIGNsb2NrLCBkZWxheSk7CiAJCWV0cl9zeW5jLmZpeHVwX2NjID0gZGVsdGE7CiAJCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3IoZGVsdGEpOwogCQkvKiBWZXJpZnkgdGhhdCB0aGUgY2xvY2sgaXMgcHJvcGVybHkgc2V0LiAqLwogCQlpZiAoIWV0cl9haWJfZm9sbG93cyhzeW5jX3BvcnQsIGFpYiwgcG9ydCkpIHsKIAkJCS8qIERpZG4ndCB3b3JrLiAqLwotCQkJZXRyX2Rpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwkJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKIAkJCWV0cl9zeW5jLmluX3N5bmMgPSAtRUFHQUlOOwogCQkJcmMgPSAtRUFHQUlOOwogCQl9IGVsc2UgewpAQCAtNzI0LDEyICs3NDEsMTIgQEAKIAkJLyogQ291bGQgbm90IHNldCB0aGUgY2xvY2sgPyE/ICovCiAJCV9fY3RsX2NsZWFyX2JpdCgwLCAyOSk7CiAJCV9fY3RsX2NsZWFyX2JpdCgxNCwgMjEpOwotCQlldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CiAJCWV0cl9zeW5jLmluX3N5bmMgPSAtRUFHQUlOOwogCQlyYyA9IC1FQUdBSU47CiAJfQogCWxvY2FsX2lycV9lbmFibGUoKTsKLQlzbXBfY2FsbF9mdW5jdGlvbihldHJfc3luY19jcHVfZW5kLE5VTEwsMCwwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihjbG9ja19zeW5jX2NwdV9lbmQsIE5VTEwsIDApOwogCXByZWVtcHRfZW5hYmxlKCk7CiAJcmV0dXJuIHJjOwogfQpAQCAtODMyLDcgKzg0OSw3IEBACiAJICogRG8gbm90IHRyeSB0byBnZXQgdGhlIGFsdGVybmF0ZSBwb3J0IGFpYiBpZiB0aGUgY2xvY2sKIAkgKiBpcyBub3QgaW4gc3luYyB5ZXQuCiAJICovCi0JaWYgKCFlYWNyLmVzKQorCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSAmJiAhZWFjci5lcykKIAkJcmV0dXJuIGVhY3I7CiAKIAkvKgpAQCAtODQwLDcgKzg1Nyw3IEBACiAJICogdGhlIG90aGVyIHBvcnQgaW1tZWRpYXRlbHkuIElmIG9ubHkgc3RldHIgaXMgYXZhaWxhYmxlIHRoZQogCSAqIGRhdGEtcG9ydCBiaXQgdG9nZ2xlIGhhcyB0byBiZSB1c2VkLgogCSAqLwotCWlmICh0ZXN0X2JpdChFVFJfRkxBR19TVEVBSSwgJmV0cl9mbGFncykpIHsKKwlpZiAoZXRyX3N0ZWFpX2F2YWlsYWJsZSkgewogCQlpZiAoZWFjci5wMCAmJiAhZXRyX3BvcnQwX3VwdG9kYXRlKSB7CiAJCQlldHJfc3RlYWlfY3YoJmV0cl9wb3J0MCwgRVRSX1NURUFJX1BPUlRfMCk7CiAJCQlldHJfcG9ydDBfdXB0b2RhdGUgPSAxOwpAQCAtOTA5LDEwICs5MjYsMTAgQEAKIAlpZiAoIWVhY3IuZWEpIHsKIAkJLyogQm90aCBwb3J0cyBvZmZsaW5lLiBSZXNldCBldmVyeXRoaW5nLiAqLwogCQllYWNyLmRwID0gZWFjci5lcyA9IGVhY3Iuc2wgPSAwOwotCQlvbl9lYWNoX2NwdShldHJfZGlzYWJsZV9zeW5jX2Nsb2NrLCBOVUxMLCAwLCAxKTsKKwkJb25fZWFjaF9jcHUoZGlzYWJsZV9zeW5jX2Nsb2NrLCBOVUxMLCAxKTsKIAkJZGVsX3RpbWVyX3N5bmMoJmV0cl90aW1lcik7CiAJCWV0cl91cGRhdGVfZWFjcihlYWNyKTsKLQkJc2V0X2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtOTUzLDcgKzk3MCw2IEBACiAJCQllYWNyLmUxID0gMTsKIAkJc3luY19wb3J0ID0gKGV0cl9wb3J0MF91cHRvZGF0ZSAmJgogCQkJICAgICBldHJfcG9ydF92YWxpZCgmZXRyX3BvcnQwLCAwKSkgPyAwIDogLTE7Ci0JCWNsZWFyX2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCX0gZWxzZSBpZiAoZWFjci5wMSAmJiBhaWIuZXN3LnBzYzEgPT0gZXRyX2xwc2NfcHBzX21vZGUpIHsKIAkJZWFjci5zbCA9IDA7CiAJCWVhY3IuZTAgPSAwOwpAQCAtOTYyLDcgKzk3OCw2IEBACiAJCQllYWNyLmVzID0gMDsKIAkJc3luY19wb3J0ID0gKGV0cl9wb3J0MV91cHRvZGF0ZSAmJgogCQkJICAgICBldHJfcG9ydF92YWxpZCgmZXRyX3BvcnQxLCAxKSkgPyAxIDogLTE7Ci0JCWNsZWFyX2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCX0gZWxzZSBpZiAoZWFjci5wMCAmJiBhaWIuZXN3LnBzYzAgPT0gZXRyX2xwc2Nfb3BlcmF0aW9uYWxfc3RlcCkgewogCQllYWNyLnNsID0gMTsKIAkJZWFjci5lMCA9IDE7CkBAIC05NzYsNyArOTkxLDYgQEAKIAkJCWVhY3IuZTEgPSAxOwogCQlzeW5jX3BvcnQgPSAoZXRyX3BvcnQwX3VwdG9kYXRlICYmCiAJCQkgICAgIGV0cl9wb3J0X3ZhbGlkKCZldHJfcG9ydDAsIDApKSA/IDAgOiAtMTsKLQkJY2xlYXJfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJfSBlbHNlIGlmIChlYWNyLnAxICYmIGFpYi5lc3cucHNjMSA9PSBldHJfbHBzY19vcGVyYXRpb25hbF9zdGVwKSB7CiAJCWVhY3Iuc2wgPSAxOwogCQllYWNyLmUwID0gMDsKQEAgLTk4NSwxOSArOTk5LDIyIEBACiAJCQllYWNyLmVzID0gMDsKIAkJc3luY19wb3J0ID0gKGV0cl9wb3J0MV91cHRvZGF0ZSAmJgogCQkJICAgICBldHJfcG9ydF92YWxpZCgmZXRyX3BvcnQxLCAxKSkgPyAxIDogLTE7Ci0JCWNsZWFyX2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCX0gZWxzZSB7CiAJCS8qIEJvdGggcG9ydHMgbm90IHVzYWJsZS4gKi8KIAkJZWFjci5lcyA9IGVhY3Iuc2wgPSAwOwogCQlzeW5jX3BvcnQgPSAtMTsKLQkJc2V0X2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKTsKIAl9CiAKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCWVhY3IuZXMgPSAwOworCiAJLyoKIAkgKiBJZiB0aGUgY2xvY2sgaXMgaW4gc3luYyBqdXN0IHVwZGF0ZSB0aGUgZWFjciBhbmQgcmV0dXJuLgogCSAqIElmIHRoZXJlIGlzIG5vIHZhbGlkIHN5bmMgcG9ydCB3YWl0IGZvciBhIHBvcnQgdXBkYXRlLgogCSAqLwotCWlmIChlYWNyLmVzIHx8IHN5bmNfcG9ydCA8IDApIHsKKwlpZiAodGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSB8fAorCSAgICBlYWNyLmVzIHx8IHN5bmNfcG9ydCA8IDApIHsKIAkJZXRyX3VwZGF0ZV9lYWNyKGVhY3IpOwogCQlldHJfc2V0X3RvbGVjX3RpbWVvdXQobm93KTsKIAkJcmV0dXJuOwpAQCAtMTAxOCwxMSArMTAzNSwxMyBAQAogCSAqIGFuZCBzZXQgdXAgYSB0aW1lciB0byB0cnkgYWdhaW4gYWZ0ZXIgMC41IHNlY29uZHMKIAkgKi8KIAlldHJfdXBkYXRlX2VhY3IoZWFjcik7CisJc2V0X2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpOwogCWlmIChub3cgPCBldHJfdG9sZWMgKyAoMTYwMDAwMCA8PCAxMikgfHwKIAkgICAgZXRyX3N5bmNfY2xvY2soJmFpYiwgc3luY19wb3J0KSAhPSAwKSB7CiAJCS8qIFN5bmMgZmFpbGVkLiBUcnkgYWdhaW4gaW4gMS8yIHNlY29uZC4gKi8KIAkJZWFjci5lcyA9IDA7CiAJCWV0cl91cGRhdGVfZWFjcihlYWNyKTsKKwkJY2xlYXJfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncyk7CiAJCWV0cl9zZXRfc3luY190aW1lb3V0KCk7CiAJfSBlbHNlCiAJCWV0cl9zZXRfdG9sZWNfdGltZW91dChub3cpOwpAQCAtMTA5Nyw4ICsxMTE2LDggQEAKIAl2YWx1ZSA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMCk7CiAJaWYgKHZhbHVlICE9IDAgJiYgdmFsdWUgIT0gMSkKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX0VOT1NZUywgJmV0cl9mbGFncykpCi0JCXJldHVybiAtRU5PU1lTOworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19IQVNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAlpZiAoZGV2ID09ICZldHJfcG9ydDBfZGV2KSB7CiAJCWlmIChldHJfcG9ydDBfb25saW5lID09IHZhbHVlKQogCQkJcmV0dXJuIGNvdW50OwkvKiBOb3RoaW5nIHRvIGRvLiAqLwpAQCAtMTI5MiwzICsxMzExLDMxOCBAQAogfQogCiBkZXZpY2VfaW5pdGNhbGwoZXRyX2luaXRfc3lzZnMpOworCisvKgorICogU2VydmVyIFRpbWUgUHJvdG9jb2wgKFNUUCkgY29kZS4KKyAqLworc3RhdGljIGludCBzdHBfb25saW5lOworc3RhdGljIHN0cnVjdCBzdHBfc3N0cGkgc3RwX2luZm87CitzdGF0aWMgdm9pZCAqc3RwX3BhZ2U7CisKK3N0YXRpYyB2b2lkIHN0cF93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CitzdGF0aWMgREVDTEFSRV9XT1JLKHN0cF93b3JrLCBzdHBfd29ya19mbik7CisKK3N0YXRpYyBpbnQgX19pbml0IGVhcmx5X3BhcnNlX3N0cChjaGFyICpwKQoreworCWlmIChzdHJuY21wKHAsICJvZmYiLCAzKSA9PSAwKQorCQlzdHBfb25saW5lID0gMDsKKwllbHNlIGlmIChzdHJuY21wKHAsICJvbiIsIDIpID09IDApCisJCXN0cF9vbmxpbmUgPSAxOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oInN0cCIsIGVhcmx5X3BhcnNlX3N0cCk7CisKKy8qCisgKiBSZXNldCBTVFAgYXR0YWNobWVudC4KKyAqLworc3RhdGljIHZvaWQgc3RwX3Jlc2V0KHZvaWQpCit7CisJaW50IHJjOworCisJc3RwX3BhZ2UgPSBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7CisJcmMgPSBjaHNjX3NzdHBjKHN0cF9wYWdlLCBTVFBfT1BfQ1RSTCwgMHgwMDAwKTsKKwlpZiAocmMgPT0gMSkKKwkJc2V0X2JpdChDTE9DS19TWU5DX0hBU19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKTsKKwllbHNlIGlmIChzdHBfb25saW5lKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJ1bm5pbmcgb24gbm9uIFNUUCBjYXBhYmxlIG1hY2hpbmUuXG4iKTsKKwkJZnJlZV9ib290bWVtKCh1bnNpZ25lZCBsb25nKSBzdHBfcGFnZSwgUEFHRV9TSVpFKTsKKwkJc3RwX3BhZ2UgPSBOVUxMOworCQlzdHBfb25saW5lID0gMDsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHN0cF9pbml0KHZvaWQpCit7CisJaWYgKHRlc3RfYml0KENMT0NLX1NZTkNfSEFTX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmIHN0cF9vbmxpbmUpCisJCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKKwlyZXR1cm4gMDsKK30KKworYXJjaF9pbml0Y2FsbChzdHBfaW5pdCk7CisKKy8qCisgKiBTVFAgdGltaW5nIGFsZXJ0LiBUaGVyZSBhcmUgdGhyZWUgY2F1c2VzOgorICogMSkgdGltaW5nIHN0YXR1cyBjaGFuZ2UKKyAqIDIpIGxpbmsgYXZhaWxhYmlsaXR5IGNoYW5nZQorICogMykgdGltZSBjb250cm9sIHBhcmFtZXRlciBjaGFuZ2UKKyAqIEluIGFsbCB0aHJlZSBjYXNlcyB3ZSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHRoZSBjbG9jayBzb3VyY2Ugc3RhdGUuCisgKiBJZiBhIFNUUCBjbG9jayBzb3VyY2UgaXMgbm93IGF2YWlsYWJsZSB1c2UgaXQuCisgKi8KK3N0YXRpYyB2b2lkIHN0cF90aW1pbmdfYWxlcnQoc3RydWN0IHN0cF9pcnFfcGFybSAqaW50cGFybSkKK3sKKwlpZiAoaW50cGFybS0+dHNjIHx8IGludHBhcm0tPmxhYyB8fCBpbnRwYXJtLT50Y3BjKQorCQlzY2hlZHVsZV93b3JrKCZzdHBfd29yayk7Cit9CisKKy8qCisgKiBTVFAgc3luYyBjaGVjayBtYWNoaW5lIGNoZWNrLiBUaGlzIGlzIGNhbGxlZCB3aGVuIHRoZSB0aW1pbmcgc3RhdGUKKyAqIGNoYW5nZXMgZnJvbSB0aGUgc3luY2hyb25pemVkIHN0YXRlIHRvIHRoZSB1bnN5bmNocm9uaXplZCBzdGF0ZS4KKyAqIEFmdGVyIGEgU1RQIHN5bmMgY2hlY2sgdGhlIGNsb2NrIGlzIG5vdCBpbiBzeW5jLiBUaGUgbWFjaGluZSBjaGVjaworICogaXMgYnJvYWRjYXN0ZWQgdG8gYWxsIGNwdXMgYXQgdGhlIHNhbWUgdGltZS4KKyAqLwordm9pZCBzdHBfc3luY19jaGVjayh2b2lkKQoreworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuOworCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlzY2hlZHVsZV93b3JrKCZzdHBfd29yayk7Cit9CisKKy8qCisgKiBTVFAgaXNsYW5kIGNvbmRpdGlvbiBtYWNoaW5lIGNoZWNrLiBUaGlzIGlzIGNhbGxlZCB3aGVuIGFuIGF0dGFjaGVkCisgKiBzZXJ2ZXIgIGF0dGVtcHRzIHRvIGNvbW11bmljYXRlIG92ZXIgYW4gU1RQIGxpbmsgYW5kIHRoZSBzZXJ2ZXJzCisgKiBoYXZlIG1hdGNoaW5nIENUTiBpZHMgYW5kIGhhdmUgYSB2YWxpZCBzdHJhdHVtLTEgY29uZmlndXJhdGlvbgorICogYnV0IHRoZSBjb25maWd1cmF0aW9ucyBkbyBub3QgbWF0Y2guCisgKi8KK3ZvaWQgc3RwX2lzbGFuZF9jaGVjayh2b2lkKQoreworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuOworCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlzY2hlZHVsZV93b3JrKCZzdHBfd29yayk7Cit9CisKKy8qCisgKiBTVFAgdGFza2xldC4gQ2hlY2sgZm9yIHRoZSBTVFAgc3RhdGUgYW5kIHRha2Ugb3ZlciB0aGUgY2xvY2sKKyAqIHN5bmNocm9uaXphdGlvbiBpZiB0aGUgU1RQIGNsb2NrIHNvdXJjZSBpcyB1c2FibGUuCisgKi8KK3N0YXRpYyB2b2lkIHN0cF93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgY2xvY2tfc3luY19kYXRhIHN0cF9zeW5jOworCXVuc2lnbmVkIGxvbmcgbG9uZyBvbGRfY2xvY2ssIGRlbHRhOworCWludCByYzsKKworCWlmICghc3RwX29ubGluZSkgeworCQljaHNjX3NzdHBjKHN0cF9wYWdlLCBTVFBfT1BfQ1RSTCwgMHgwMDAwKTsKKwkJcmV0dXJuOworCX0KKworCXJjID0gY2hzY19zc3RwYyhzdHBfcGFnZSwgU1RQX09QX0NUUkwsIDB4YjBlMCk7CisJaWYgKHJjKQorCQlyZXR1cm47CisKKwlyYyA9IGNoc2Nfc3N0cGkoc3RwX3BhZ2UsICZzdHBfaW5mbywgc2l6ZW9mKHN0cnVjdCBzdHBfc3N0cGkpKTsKKwlpZiAocmMgfHwgc3RwX2luZm8uYyA9PSAwKQorCQlyZXR1cm47CisKKwkvKgorCSAqIENhdGNoIGFsbCBvdGhlciBjcHVzIGFuZCBtYWtlIHRoZW0gd2FpdCB1bnRpbCB3ZSBoYXZlCisJICogc3VjY2Vzc2Z1bGx5IHN5bmNlZCB0aGUgY2xvY2suIHNtcF9jYWxsX2Z1bmN0aW9uIHdpbGwKKwkgKiByZXR1cm4gYWZ0ZXIgYWxsIG90aGVyIGNwdXMgYXJlIGluIGNsb2NrX3N5bmNfY3B1X3N0YXJ0LgorCSAqLworCW1lbXNldCgmc3RwX3N5bmMsIDAsIHNpemVvZihzdHBfc3luYykpOworCXByZWVtcHRfZGlzYWJsZSgpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGNsb2NrX3N5bmNfY3B1X3N0YXJ0LCAmc3RwX3N5bmMsIDApOworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJZW5hYmxlX3N5bmNfY2xvY2soKTsKKworCXNldF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKTsKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKKworCXJjID0gMDsKKwlpZiAoc3RwX2luZm8udG9kb2ZmWzBdIHx8IHN0cF9pbmZvLnRvZG9mZlsxXSB8fAorCSAgICBzdHBfaW5mby50b2RvZmZbMl0gfHwgc3RwX2luZm8udG9kb2ZmWzNdIHx8CisJICAgIHN0cF9pbmZvLnRtZCAhPSAyKSB7CisJCW9sZF9jbG9jayA9IGdldF9jbG9jaygpOworCQlyYyA9IGNoc2Nfc3N0cGMoc3RwX3BhZ2UsIFNUUF9PUF9TWU5DLCAwKTsKKwkJaWYgKHJjID09IDApIHsKKwkJCWRlbHRhID0gYWRqdXN0X3RpbWUob2xkX2Nsb2NrLCBnZXRfY2xvY2soKSwgMCk7CisJCQlmaXh1cF9jbG9ja19jb21wYXJhdG9yKGRlbHRhKTsKKwkJCXJjID0gY2hzY19zc3RwaShzdHBfcGFnZSwgJnN0cF9pbmZvLAorCQkJCQlzaXplb2Yoc3RydWN0IHN0cF9zc3RwaSkpOworCQkJaWYgKHJjID09IDAgJiYgc3RwX2luZm8udG1kICE9IDIpCisJCQkJcmMgPSAtRUFHQUlOOworCQl9CisJfQorCWlmIChyYykgeworCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CisJCXN0cF9zeW5jLmluX3N5bmMgPSAtRUFHQUlOOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKTsKKwkJaWYgKGV0cl9wb3J0MF9vbmxpbmUgfHwgZXRyX3BvcnQxX29ubGluZSkKKwkJCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKKwl9IGVsc2UKKwkJc3RwX3N5bmMuaW5fc3luYyA9IDE7CisKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CisJc21wX2NhbGxfZnVuY3Rpb24oY2xvY2tfc3luY19jcHVfZW5kLCBOVUxMLCAwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworfQorCisvKgorICogU1RQIGNsYXNzIHN5c2ZzIGludGVyZmFjZSBmdW5jdGlvbnMKKyAqLworc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3Mgc3RwX3N5c2NsYXNzID0geworCS5uYW1lCT0gInN0cCIsCit9OworCitzdGF0aWMgc3NpemVfdCBzdHBfY3RuX2lkX3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlMDE2bGx4XG4iLAorCQkgICAgICAgKih1bnNpZ25lZCBsb25nIGxvbmcgKikgc3RwX2luZm8uY3RuaWQpOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoY3RuX2lkLCAwNDAwLCBzdHBfY3RuX2lkX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfY3RuX3R5cGVfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCBzdHBfaW5mby5jdG4pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoY3RuX3R5cGUsIDA0MDAsIHN0cF9jdG5fdHlwZV9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX2RzdF9vZmZzZXRfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSB8fCAhKHN0cF9pbmZvLnZiaXRzICYgMHgyMDAwKSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCAoaW50KShzMTYpIHN0cF9pbmZvLmRzdG8pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoZHN0X29mZnNldCwgMDQwMCwgc3RwX2RzdF9vZmZzZXRfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF9sZWFwX3NlY29uZHNfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSB8fCAhKHN0cF9pbmZvLnZiaXRzICYgMHg4MDAwKSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCAoaW50KShzMTYpIHN0cF9pbmZvLmxlYXBzKTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKGxlYXBfc2Vjb25kcywgMDQwMCwgc3RwX2xlYXBfc2Vjb25kc19zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX3N0cmF0dW1fc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCAoaW50KShzMTYpIHN0cF9pbmZvLnN0cmF0dW0pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoc3RyYXR1bSwgMDQwMCwgc3RwX3N0cmF0dW1fc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF90aW1lX29mZnNldF9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lIHx8ICEoc3RwX2luZm8udmJpdHMgJiAweDA4MDApKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpIHN0cF9pbmZvLnR0byk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUih0aW1lX29mZnNldCwgMDQwMCwgc3RwX3RpbWVfb2Zmc2V0X3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfdGltZV96b25lX29mZnNldF9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lIHx8ICEoc3RwX2luZm8udmJpdHMgJiAweDQwMDApKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpKHMxNikgc3RwX2luZm8udHpvKTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKHRpbWVfem9uZV9vZmZzZXQsIDA0MDAsCisJCQkgc3RwX3RpbWVfem9uZV9vZmZzZXRfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF90aW1pbmdfbW9kZV9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIHN0cF9pbmZvLnRtZCk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUih0aW1pbmdfbW9kZSwgMDQwMCwgc3RwX3RpbWluZ19tb2RlX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfdGltaW5nX3N0YXRlX3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgc3RwX2luZm8udHN0KTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKHRpbWluZ19zdGF0ZSwgMDQwMCwgc3RwX3RpbWluZ19zdGF0ZV9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX29ubGluZV9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIHN0cF9vbmxpbmUpOworfQorCitzdGF0aWMgc3NpemVfdCBzdHBfb25saW5lX3N0b3JlKHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLAorCQkJCWNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQoreworCXVuc2lnbmVkIGludCB2YWx1ZTsKKworCXZhbHVlID0gc2ltcGxlX3N0cnRvdWwoYnVmLCBOVUxMLCAwKTsKKwlpZiAodmFsdWUgIT0gMCAmJiB2YWx1ZSAhPSAxKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfSEFTX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJc3RwX29ubGluZSA9IHZhbHVlOworCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKKwlyZXR1cm4gY291bnQ7Cit9CisKKy8qCisgKiBDYW4ndCB1c2UgU1lTREVWX0NMQVNTX0FUVFIgYmVjYXVzZSB0aGUgYXR0cmlidXRlIHNob3VsZCBiZSBuYW1lZAorICogc3RwL29ubGluZSBidXQgYXR0cl9vbmxpbmUgYWxyZWFkeSBleGlzdHMgaW4gdGhpcyBmaWxlIC4uCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzX2F0dHJpYnV0ZSBhdHRyX3N0cF9vbmxpbmUgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gIm9ubGluZSIsIC5tb2RlID0gMDYwMCB9LAorCS5zaG93CT0gc3RwX29ubGluZV9zaG93LAorCS5zdG9yZQk9IHN0cF9vbmxpbmVfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzc19hdHRyaWJ1dGUgKnN0cF9hdHRyaWJ1dGVzW10gPSB7CisJJmF0dHJfY3RuX2lkLAorCSZhdHRyX2N0bl90eXBlLAorCSZhdHRyX2RzdF9vZmZzZXQsCisJJmF0dHJfbGVhcF9zZWNvbmRzLAorCSZhdHRyX3N0cF9vbmxpbmUsCisJJmF0dHJfc3RyYXR1bSwKKwkmYXR0cl90aW1lX29mZnNldCwKKwkmYXR0cl90aW1lX3pvbmVfb2Zmc2V0LAorCSZhdHRyX3RpbWluZ19tb2RlLAorCSZhdHRyX3RpbWluZ19zdGF0ZSwKKwlOVUxMCit9OworCitzdGF0aWMgaW50IF9faW5pdCBzdHBfaW5pdF9zeXNmcyh2b2lkKQoreworCXN0cnVjdCBzeXNkZXZfY2xhc3NfYXR0cmlidXRlICoqYXR0cjsKKwlpbnQgcmM7CisKKwlyYyA9IHN5c2Rldl9jbGFzc19yZWdpc3Rlcigmc3RwX3N5c2NsYXNzKTsKKwlpZiAocmMpCisJCWdvdG8gb3V0OworCWZvciAoYXR0ciA9IHN0cF9hdHRyaWJ1dGVzOyAqYXR0cjsgYXR0cisrKSB7CisJCXJjID0gc3lzZGV2X2NsYXNzX2NyZWF0ZV9maWxlKCZzdHBfc3lzY2xhc3MsICphdHRyKTsKKwkJaWYgKHJjKQorCQkJZ290byBvdXRfdW5yZWc7CisJfQorCXJldHVybiAwOworb3V0X3VucmVnOgorCWZvciAoOyBhdHRyID49IHN0cF9hdHRyaWJ1dGVzOyBhdHRyLS0pCisJCXN5c2Rldl9jbGFzc19yZW1vdmVfZmlsZSgmc3RwX3N5c2NsYXNzLCAqYXR0cik7CisJc3lzZGV2X2NsYXNzX3VucmVnaXN0ZXIoJnN0cF9zeXNjbGFzcyk7CitvdXQ6CisJcmV0dXJuIHJjOworfQorCitkZXZpY2VfaW5pdGNhbGwoc3RwX2luaXRfc3lzZnMpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC90b3BvbG9neS5jIGIvYXJjaC9zMzkwL2tlcm5lbC90b3BvbG9neS5jCmluZGV4IDY2MWEwNzIuLjIxMmQ2MTggMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdG9wb2xvZ3kuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3RvcG9sb2d5LmMKQEAgLTMxMyw4ICszMTMsNiBAQAogCQltYWNoaW5lX2hhc190b3BvbG9neV9pcnEgPSAxOwogCiAJdGxfaW5mbyA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKLQlpZiAoIXRsX2luZm8pCi0JCWdvdG8gZXJyb3I7CiAJaW5mbyA9IHRsX2luZm87CiAJc3RzaShpbmZvLCAxNSwgMSwgMik7CiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvdm1saW51eC5sZHMuUyBiL2FyY2gvczM5MC9rZXJuZWwvdm1saW51eC5sZHMuUwppbmRleCBiNDYwNzE1Li43NmMxZTYwIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3ZtbGludXgubGRzLlMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC92bWxpbnV4Lmxkcy5TCkBAIC00MCw3ICs0MCw2IEBACiAJX2V0ZXh0ID0gLjsJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8KIAogCU5PVEVTIDp0ZXh0IDpub3RlCi0JQlVHX1RBQkxFIDp0ZXh0CiAKIAlST0RBVEEKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC92dGltZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC92dGltZS5jCmluZGV4IGNhOTBlZTMuLjBmYTVkYzUgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdnRpbWUuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3Z0aW1lLmMKQEAgLTEzNiw3ICsxMzYsNyBAQAogfQogI2VuZGlmCiAKLXN0YXRpYyB2b2lkIHN0YXJ0X2NwdV90aW1lcih2b2lkKQordm9pZCB2dGltZV9zdGFydF9jcHVfdGltZXIodm9pZCkKIHsKIAlzdHJ1Y3QgdnRpbWVyX3F1ZXVlICp2dF9saXN0OwogCkBAIC0xNTAsNyArMTUwLDcgQEAKIAkJc2V0X3Z0aW1lcih2dF9saXN0LT5pZGxlKTsKIH0KIAotc3RhdGljIHZvaWQgc3RvcF9jcHVfdGltZXIodm9pZCkKK3ZvaWQgdnRpbWVfc3RvcF9jcHVfdGltZXIodm9pZCkKIHsKIAlzdHJ1Y3QgdnRpbWVyX3F1ZXVlICp2dF9saXN0OwogCkBAIC0zMTgsOCArMzE4LDcgQEAKIAl2dF9saXN0ID0gJnBlcl9jcHUodmlydF9jcHVfdGltZXIsIHRpbWVyLT5jcHUpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZ2dF9saXN0LT5sb2NrLCBmbGFncyk7CiAKLQlpZiAodGltZXItPmNwdSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkpCi0JCXByaW50aygiaW50ZXJuYWxfYWRkX3Z0aW1lcjogQlVHLCBydW5uaW5nIG9uIHdyb25nIENQVSIpOworCUJVR19PTih0aW1lci0+Y3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAKIAkvKiBpZiBsaXN0IGlzIGVtcHR5IHdlIG9ubHkgaGF2ZSB0byBzZXQgdGhlIHRpbWVyICovCiAJaWYgKGxpc3RfZW1wdHkoJnZ0X2xpc3QtPmxpc3QpKSB7CkBAIC0zNTMsMjUgKzM1MiwxMiBAQAogCXB1dF9jcHUoKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgcHJlcGFyZV92dGltZXIoc3RydWN0IHZ0aW1lcl9saXN0ICp0aW1lcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBwcmVwYXJlX3Z0aW1lcihzdHJ1Y3QgdnRpbWVyX2xpc3QgKnRpbWVyKQogewotCWlmICghdGltZXItPmZ1bmN0aW9uKSB7Ci0JCXByaW50aygiYWRkX3ZpcnRfdGltZXI6IHVuaW5pdGlhbGl6ZWQgdGltZXJcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlpZiAoIXRpbWVyLT5leHBpcmVzIHx8IHRpbWVyLT5leHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSkgewotCQlwcmludGsoImFkZF92aXJ0X3RpbWVyOiBpbnZhbGlkIHRpbWVyIGV4cGlyZSB2YWx1ZSFcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlpZiAodnRpbWVyX3BlbmRpbmcodGltZXIpKSB7Ci0JCXByaW50aygiYWRkX3ZpcnRfdGltZXI6IHRpbWVyIHBlbmRpbmdcbiIpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQorCUJVR19PTighdGltZXItPmZ1bmN0aW9uKTsKKwlCVUdfT04oIXRpbWVyLT5leHBpcmVzIHx8IHRpbWVyLT5leHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSk7CisJQlVHX09OKHZ0aW1lcl9wZW5kaW5nKHRpbWVyKSk7CiAJdGltZXItPmNwdSA9IGdldF9jcHUoKTsKLQlyZXR1cm4gMDsKIH0KIAogLyoKQEAgLTM4MiwxMCArMzY4LDcgQEAKIAlzdHJ1Y3QgdnRpbWVyX2xpc3QgKnRpbWVyOwogCiAJdGltZXIgPSAoc3RydWN0IHZ0aW1lcl9saXN0ICopbmV3OwotCi0JaWYgKHByZXBhcmVfdnRpbWVyKHRpbWVyKSA8IDApCi0JCXJldHVybjsKLQorCXByZXBhcmVfdnRpbWVyKHRpbWVyKTsKIAl0aW1lci0+aW50ZXJ2YWwgPSAwOwogCWludGVybmFsX2FkZF92dGltZXIodGltZXIpOwogfQpAQCAtMzk5LDEwICszODIsNyBAQAogCXN0cnVjdCB2dGltZXJfbGlzdCAqdGltZXI7CiAKIAl0aW1lciA9IChzdHJ1Y3QgdnRpbWVyX2xpc3QgKiluZXc7Ci0KLQlpZiAocHJlcGFyZV92dGltZXIodGltZXIpIDwgMCkKLQkJcmV0dXJuOwotCisJcHJlcGFyZV92dGltZXIodGltZXIpOwogCXRpbWVyLT5pbnRlcnZhbCA9IHRpbWVyLT5leHBpcmVzOwogCWludGVybmFsX2FkZF92dGltZXIodGltZXIpOwogfQpAQCAtNDIzLDE1ICs0MDMsOCBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IGNwdTsKIAotCWlmICghdGltZXItPmZ1bmN0aW9uKSB7Ci0JCXByaW50aygibW9kX3ZpcnRfdGltZXI6IHVuaW5pdGlhbGl6ZWQgdGltZXJcbiIpOwotCQlyZXR1cm4JLUVJTlZBTDsKLQl9Ci0KLQlpZiAoIWV4cGlyZXMgfHwgZXhwaXJlcyA+IFZUSU1FUl9NQVhfU0xJQ0UpIHsKLQkJcHJpbnRrKCJtb2RfdmlydF90aW1lcjogaW52YWxpZCBleHBpcmUgcmFuZ2VcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9CisJQlVHX09OKCF0aW1lci0+ZnVuY3Rpb24pOworCUJVR19PTighZXhwaXJlcyB8fCBleHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSk7CiAKIAkvKgogCSAqIFRoaXMgaXMgYSBjb21tb24gb3B0aW1pemF0aW9uIHRyaWdnZXJlZCBieSB0aGUKQEAgLTQ0NCw2ICs0MTcsOSBAQAogCWNwdSA9IGdldF9jcHUoKTsKIAl2dF9saXN0ID0gJnBlcl9jcHUodmlydF9jcHVfdGltZXIsIGNwdSk7CiAKKwkvKiBjaGVjayBpZiB3ZSBydW4gb24gdGhlIHJpZ2h0IENQVSAqLworCUJVR19PTih0aW1lci0+Y3B1ICE9IGNwdSk7CisKIAkvKiBkaXNhYmxlIGludGVycnVwdHMgYmVmb3JlIHRlc3QgaWYgdGltZXIgaXMgcGVuZGluZyAqLwogCXNwaW5fbG9ja19pcnFzYXZlKCZ2dF9saXN0LT5sb2NrLCBmbGFncyk7CiAKQEAgLTQ1OCwxNCArNDM0LDYgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JLyogY2hlY2sgaWYgd2UgcnVuIG9uIHRoZSByaWdodCBDUFUgKi8KLQlpZiAodGltZXItPmNwdSAhPSBjcHUpIHsKLQkJcHJpbnRrKCJtb2RfdmlydF90aW1lcjogcnVubmluZyBvbiB3cm9uZyBDUFUsIGNoZWNrIHlvdXIgY29kZVxuIik7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZ0X2xpc3QtPmxvY2ssIGZsYWdzKTsKLQkJcHV0X2NwdSgpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KIAlsaXN0X2RlbF9pbml0KCZ0aW1lci0+ZW50cnkpOwogCXRpbWVyLT5leHBpcmVzID0gZXhwaXJlczsKIApAQCAtNTM2LDI0ICs1MDQsNiBAQAogCiB9CiAKLXN0YXRpYyBpbnQgdnRpbWVyX2lkbGVfbm90aWZ5KHN0cnVjdCBub3RpZmllcl9ibG9jayAqc2VsZiwKLQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICpoY3B1KQotewotCXN3aXRjaCAoYWN0aW9uKSB7Ci0JY2FzZSBTMzkwX0NQVV9JRExFOgotCQlzdG9wX2NwdV90aW1lcigpOwotCQlicmVhazsKLQljYXNlIFMzOTBfQ1BVX05PVF9JRExFOgotCQlzdGFydF9jcHVfdGltZXIoKTsKLQkJYnJlYWs7Ci0JfQotCXJldHVybiBOT1RJRllfT0s7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdnRpbWVyX2lkbGVfbmIgPSB7Ci0JLm5vdGlmaWVyX2NhbGwgPSB2dGltZXJfaWRsZV9ub3RpZnksCi19OwotCiB2b2lkIF9faW5pdCB2dGltZV9pbml0KHZvaWQpCiB7CiAJLyogcmVxdWVzdCB0aGUgY3B1IHRpbWVyIGV4dGVybmFsIGludGVycnVwdCAqLwpAQCAtNTYxLDkgKzUxMSw2IEBACiAJCQkJCSAgICAgICZleHRfaW50X2luZm9fdGltZXIpICE9IDApCiAJCXBhbmljKCJDb3VsZG4ndCByZXF1ZXN0IGV4dGVybmFsIGludGVycnVwdCAweDEwMDUiKTsKIAotCWlmIChyZWdpc3Rlcl9pZGxlX25vdGlmaWVyKCZ2dGltZXJfaWRsZV9uYikpCi0JCXBhbmljKCJDb3VsZG4ndCByZWdpc3RlciBpZGxlIG5vdGlmaWVyIik7Ci0KIAkvKiBFbmFibGUgY3B1IHRpbWVyIGludGVycnVwdHMgb24gdGhlIGJvb3QgY3B1LiAqLwogCWluaXRfY3B1X3Z0aW1lcigpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL21tL2luaXQuYyBiL2FyY2gvczM5MC9tbS9pbml0LmMKaW5kZXggMDU1OTg2NC4uMzg4Y2M3NCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL21tL2luaXQuYworKysgYi9hcmNoL3MzOTAvbW0vaW5pdC5jCkBAIC0yMDIsMyArMjAyLDIyIEBACiAgICAgICAgIH0KIH0KICNlbmRpZgorCisjaWZkZWYgQ09ORklHX01FTU9SWV9IT1RQTFVHCitpbnQgYXJjaF9hZGRfbWVtb3J5KGludCBuaWQsIHU2NCBzdGFydCwgdTY0IHNpemUpCit7CisJc3RydWN0IHBnbGlzdF9kYXRhICpwZ2RhdDsKKwlzdHJ1Y3Qgem9uZSAqem9uZTsKKwlpbnQgcmM7CisKKwlwZ2RhdCA9IE5PREVfREFUQShuaWQpOworCXpvbmUgPSBwZ2RhdC0+bm9kZV96b25lcyArIFpPTkVfTk9STUFMOworCXJjID0gdm1lbV9hZGRfbWFwcGluZyhzdGFydCwgc2l6ZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJcmMgPSBfX2FkZF9wYWdlcyh6b25lLCBQRk5fRE9XTihzdGFydCksIFBGTl9ET1dOKHNpemUpKTsKKwlpZiAocmMpCisJCXZtZW1fcmVtb3ZlX21hcHBpbmcoc3RhcnQsIHNpemUpOworCXJldHVybiByYzsKK30KKyNlbmRpZiAvKiBDT05GSUdfTUVNT1JZX0hPVFBMVUcgKi8KZGlmZiAtLWdpdCBhL2FyY2gvc2gvS2NvbmZpZyBiL2FyY2gvc2gvS2NvbmZpZwppbmRleCA5YTg1NGM4Li4zZTczODRmIDEwMDY0NAotLS0gYS9hcmNoL3NoL0tjb25maWcKKysrIGIvYXJjaC9zaC9LY29uZmlnCkBAIC02ODgsNiArNjg4LDcgQEAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgogCWRlcGVuZHMgb24gU1lTX1NVUFBPUlRTX1NNUAorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL3NoL2JvYXJkcy9sYW5kaXNrL2dpby5jIGIvYXJjaC9zaC9ib2FyZHMvbGFuZGlzay9naW8uYwppbmRleCAxNzAyNTA4Li4wYzE1YjBhIDEwMDY0NAotLS0gYS9hcmNoL3NoL2JvYXJkcy9sYW5kaXNrL2dpby5jCisrKyBiL2FyY2gvc2gvYm9hcmRzL2xhbmRpc2svZ2lvLmMKQEAgLTE0LDYgKzE0LDcgQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2tkZXZfdC5oPgogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgpAQCAtMzIsMTcgKzMzLDIwIEBACiBzdGF0aWMgaW50IGdpb19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCWludCBtaW5vcjsKKwlpbnQgcmV0ID0gLUVOT0VOVDsKIAorCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBNSU5PUihpbm9kZS0+aV9yZGV2KTsKIAlpZiAobWlub3IgPCBERVZDT1VOVCkgewogCQlpZiAob3BlbkNudCA+IDApIHsKLQkJCXJldHVybiAtRUFMUkVBRFk7CisJCQlyZXQgPSAtRUFMUkVBRFk7CiAJCX0gZWxzZSB7CiAJCQlvcGVuQ250Kys7Ci0JCQlyZXR1cm4gMDsKKwkJCXJldCA9IDA7CiAJCX0KIAl9Ci0JcmV0dXJuIC1FTk9FTlQ7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgZ2lvX2Nsb3NlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL2xhbmRpc2tfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL2xhbmRpc2tfZGVmY29uZmlnCmluZGV4IGY1MmRiMTIuLjM4ZjkzNGEgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9sYW5kaXNrX2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3MvbGFuZGlza19kZWZjb25maWcKQEAgLTIyNiw3ICsyMjYsNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9MzMzMzMzMzMKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL2xib3hyZTJfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL2xib3hyZTJfZGVmY29uZmlnCmluZGV4IDlmYTY2ZDkuLmI2OGI2Y2QgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9sYm94cmUyX2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3MvbGJveHJlMl9kZWZjb25maWcKQEAgLTIzMSw3ICsyMzEsNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9NDAwMDAwMDAKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL3NlNzcwNV9kZWZjb25maWcgYi9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzA1X2RlZmNvbmZpZwppbmRleCA4NDcxN2Q4Li40OTBkY2JjIDEwMDY0NAotLS0gYS9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzA1X2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzA1X2RlZmNvbmZpZwpAQCAtMjM5LDcgKzIzOSw2IEBACiAjCiBDT05GSUdfU0hfVE1VPXkKIENPTkZJR19TSF9USU1FUl9JUlE9MTYKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX1NIX1BDTEtfRlJFUT0zMzMzMzMzMwogCiAjCmRpZmYgLS1naXQgYS9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzEyX2RlZmNvbmZpZyBiL2FyY2gvc2gvY29uZmlncy9zZTc3MTJfZGVmY29uZmlnCmluZGV4IDI0MGExY2UuLjJkZDgzYWYgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9zZTc3MTJfZGVmY29uZmlnCisrKyBiL2FyY2gvc2gvY29uZmlncy9zZTc3MTJfZGVmY29uZmlnCkBAIC0yMzYsNyArMjM2LDYgQEAKICMKIENPTkZJR19TSF9UTVU9eQogQ09ORklHX1NIX1RJTUVSX0lSUT0xNgotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfU0hfUENMS19GUkVRPTY2NjY2NjY2CiAKICMKZGlmZiAtLWdpdCBhL2FyY2gvc2gvY29uZmlncy9zZTc3NTBfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL3NlNzc1MF9kZWZjb25maWcKaW5kZXggYzYwYjZmZC4uMTY3Nzg2ZiAxMDA2NDQKLS0tIGEvYXJjaC9zaC9jb25maWdzL3NlNzc1MF9kZWZjb25maWcKKysrIGIvYXJjaC9zaC9jb25maWdzL3NlNzc1MF9kZWZjb25maWcKQEAgLTIzNSw3ICsyMzUsNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9MzMzMzMzMzMKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvc21wLmMgYi9hcmNoL3NoL2tlcm5lbC9zbXAuYwppbmRleCA1ZDAzOWQxLi42MGM1MDg0IDEwMDY0NAotLS0gYS9hcmNoL3NoL2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3NoL2tlcm5lbC9zbXAuYwpAQCAtMzYsMTMgKzM2LDYgQEAKIGNwdW1hc2tfdCBjcHVfb25saW5lX21hcDsKIEVYUE9SVF9TWU1CT0woY3B1X29ubGluZV9tYXApOwogCi1zdGF0aWMgYXRvbWljX3QgY3B1c19ib290ZWQgPSBBVE9NSUNfSU5JVCgwKTsKLQotLyoKLSAqIFJ1biBzcGVjaWZpZWQgZnVuY3Rpb24gb24gYSBwYXJ0aWN1bGFyIHByb2Nlc3Nvci4KLSAqLwotdm9pZCBfX3NtcF9jYWxsX2Z1bmN0aW9uKHVuc2lnbmVkIGludCBjcHUpOwotCiBzdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHNtcF9zdG9yZV9jcHVfaW5mbyh1bnNpZ25lZCBpbnQgY3B1KQogewogCXN0cnVjdCBzaF9jcHVpbmZvICpjID0gY3B1X2RhdGEgKyBjcHU7CkBAIC0xNzUsNDUgKzE2OCwyMCBAQAogCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCAwLCAxLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCAwLCAwKTsKIH0KIAotc3RydWN0IHNtcF9mbl9jYWxsX3N0cnVjdCBzbXBfZm5fY2FsbCA9IHsKLQkubG9jawkJPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzbXBfZm5fY2FsbC5sb2NrKSwKLQkuZmluaXNoZWQJPSBBVE9NSUNfSU5JVCgwKSwKLX07Ci0KLS8qCi0gKiBUaGUgY2FsbGVyIG9mIHRoaXMgd2FudHMgdGhlIHBhc3NlZCBmdW5jdGlvbiB0byBydW4gb24gZXZlcnkgY3B1LiAgSWYgd2FpdAotICogaXMgc2V0LCB3YWl0IHVudGlsIGFsbCBjcHVzIGhhdmUgZmluaXNoZWQgdGhlIGZ1bmN0aW9uIGJlZm9yZSByZXR1cm5pbmcuCi0gKiBUaGUgbG9jayBpcyBoZXJlIHRvIHByb3RlY3QgdGhlIGNhbGwgc3RydWN0dXJlLgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXVuc2lnbmVkIGludCBucl9jcHVzID0gYXRvbWljX3JlYWQoJmNwdXNfYm9vdGVkKTsKLQlpbnQgaTsKKwlpbnQgY3B1OwogCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spCisJCXBsYXRfc2VuZF9pcGkoY3B1LCBTTVBfTVNHX0ZVTkNUSU9OKTsKK30KIAotCXNwaW5fbG9jaygmc21wX2ZuX2NhbGwubG9jayk7Ci0KLQlhdG9taWNfc2V0KCZzbXBfZm5fY2FsbC5maW5pc2hlZCwgMCk7Ci0Jc21wX2ZuX2NhbGwuZm4gPSBmdW5jOwotCXNtcF9mbl9jYWxsLmRhdGEgPSBpbmZvOwotCi0JZm9yIChpID0gMDsgaSA8IG5yX2NwdXM7IGkrKykKLQkJaWYgKGkgIT0gc21wX3Byb2Nlc3Nvcl9pZCgpKQotCQkJcGxhdF9zZW5kX2lwaShpLCBTTVBfTVNHX0ZVTkNUSU9OKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJnNtcF9mbl9jYWxsLmZpbmlzaGVkKSAhPSAobnJfY3B1cyAtIDEpKTsKLQotCXNwaW5fdW5sb2NrKCZzbXBfZm5fY2FsbC5sb2NrKTsKLQotCXJldHVybiAwOwordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCit7CisJcGxhdF9zZW5kX2lwaShjcHUsIFNNUF9NU0dfRlVOQ1RJT05fU0lOR0xFKTsKIH0KIAogLyogTm90IHJlYWxseSBTTVAgc3R1ZmYgLi4uICovCkBAIC0yMjksNyArMTk3LDcgQEAKIAogdm9pZCBmbHVzaF90bGJfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9pcGksIDAsIDEsIDEpOworCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9hbGxfaXBpLCAwLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX21tX2lwaSh2b2lkICptbSkKQEAgLTI1NSw3ICsyMjMsNyBAQAogCXByZWVtcHRfZGlzYWJsZSgpOwogCiAJaWYgKChhdG9taWNfcmVhZCgmbW0tPm1tX3VzZXJzKSAhPSAxKSB8fCAoY3VycmVudC0+bW0gIT0gbW0pKSB7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9tbV9pcGksICh2b2lkICopbW0sIDEsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfbW1faXBpLCAodm9pZCAqKW1tLCAxKTsKIAl9IGVsc2UgewogCQlpbnQgaTsKIAkJZm9yIChpID0gMDsgaSA8IG51bV9vbmxpbmVfY3B1cygpOyBpKyspCkBAIC0yOTIsNyArMjYwLDcgQEAKIAkJZmQudm1hID0gdm1hOwogCQlmZC5hZGRyMSA9IHN0YXJ0OwogCQlmZC5hZGRyMiA9IGVuZDsKLQkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX3JhbmdlX2lwaSwgKHZvaWQgKikmZmQsIDEsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfcmFuZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSk7CiAJfSBlbHNlIHsKIAkJaW50IGk7CiAJCWZvciAoaSA9IDA7IGkgPCBudW1fb25saW5lX2NwdXMoKTsgaSsrKQpAQCAtMzE2LDcgKzI4NCw3IEBACiAKIAlmZC5hZGRyMSA9IHN0YXJ0OwogCWZkLmFkZHIyID0gZW5kOwotCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9rZXJuZWxfcmFuZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfdGxiX2tlcm5lbF9yYW5nZV9pcGksICh2b2lkICopJmZkLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX3BhZ2VfaXBpKHZvaWQgKmluZm8pCkBAIC0zMzUsNyArMzAzLDcgQEAKIAogCQlmZC52bWEgPSB2bWE7CiAJCWZkLmFkZHIxID0gcGFnZTsKLQkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX3BhZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9wYWdlX2lwaSwgKHZvaWQgKikmZmQsIDEpOwogCX0gZWxzZSB7CiAJCWludCBpOwogCQlmb3IgKGkgPSAwOyBpIDwgbnVtX29ubGluZV9jcHVzKCk7IGkrKykKQEAgLTM1OSw2ICszMjcsNiBAQAogCWZkLmFkZHIxID0gYXNpZDsKIAlmZC5hZGRyMiA9IHZhZGRyOwogCi0Jc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX29uZV9pcGksICh2b2lkICopJmZkLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfb25lX2lwaSwgKHZvaWQgKikmZmQsIDEpOwogCWxvY2FsX2ZsdXNoX3RsYl9vbmUoYXNpZCwgdmFkZHIpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9zaC9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGQ0MWU1NjEuLjFiMmFlMzUgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3NoL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTM0LDMgKzM0LDQgQEAKIAkJfQogCX0KIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvdm1saW51eF8zMi5sZHMuUyBiL2FyY2gvc2gva2VybmVsL3ZtbGludXhfMzIubGRzLlMKaW5kZXggYzcxMTM3OC4uN2I0YjgyYiAxMDA2NDQKLS0tIGEvYXJjaC9zaC9rZXJuZWwvdm1saW51eF8zMi5sZHMuUworKysgYi9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TCkBAIC00NCw3ICs0NCw2IEBACiAKIAlfZXRleHQgPSAuOwkJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8KIAotCUJVR19UQUJMRQogCU5PVEVTCiAJUk9fREFUQShQQUdFX1NJWkUpCiAKZGlmZiAtLWdpdCBhL2FyY2gvc2gva2VybmVsL3ZtbGludXhfNjQubGRzLlMgYi9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzY0Lmxkcy5TCmluZGV4IGQxZTE3NzAuLjMzZmE0NjQgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gva2VybmVsL3ZtbGludXhfNjQubGRzLlMKKysrIGIvYXJjaC9zaC9rZXJuZWwvdm1saW51eF82NC5sZHMuUwpAQCAtNjUsNyArNjUsNiBAQAogCiAJX2V0ZXh0ID0gLjsJCQkvKiBFbmQgb2YgdGV4dCBzZWN0aW9uICovCiAKLQlCVUdfVEFCTEUKIAlOT1RFUyAKIAlST19EQVRBKFBBR0VfU0laRSkKIApkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYy9rZXJuZWwvYXBjLmMgYi9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYwppbmRleCBkMDZhNDA1Li42NzA3NDIyIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYworKysgYi9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3BtLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTc1LDYgKzc2LDcgQEAKIAogc3RhdGljIGludCBhcGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZikKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQvS2NvbmZpZyBiL2FyY2gvc3BhcmM2NC9LY29uZmlnCmluZGV4IGViMzZmM2IuLmZjYTkyNDYgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9LY29uZmlnCisrKyBiL2FyY2gvc3BhcmM2NC9LY29uZmlnCkBAIC0xMSw2ICsxMSw4IEBACiBjb25maWcgU1BBUkM2NAogCWJvb2wKIAlkZWZhdWx0IHkKKwlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRQorCXNlbGVjdCBIQVZFX0ZUUkFDRQogCXNlbGVjdCBIQVZFX0lERQogCXNlbGVjdCBIQVZFX0xNQgogCXNlbGVjdCBIQVZFX0FSQ0hfS0dEQgpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L0tjb25maWcuZGVidWcgYi9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZwppbmRleCA2YTRkMjhhLi5kNmQzMmQxIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZworKysgYi9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZwpAQCAtMzMsNyArMzMsNyBAQAogCiBjb25maWcgTUNPVU5UCiAJYm9vbAotCWRlcGVuZHMgb24gU1RBQ0tfREVCVUcKKwlkZXBlbmRzIG9uIFNUQUNLX0RFQlVHIHx8IEZUUkFDRQogCWRlZmF1bHQgeQogCiBjb25maWcgRlJBTUVfUE9JTlRFUgpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvTWFrZWZpbGUKaW5kZXggZWM0ZjVlYi4uNDE4YjU3OCAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL01ha2VmaWxlCkBAIC0xNCw2ICsxNCw3IEBACiAJCSAgIHBvd2VyLm8gc2J1cy5vIHNwYXJjNjRfa3N5bXMubyBjaG1jLm8gXAogCQkgICB2aXNlbXVsLm8gcHJvbS5vIG9mX2RldmljZS5vIGh2YXBpLm8gc3N0YXRlLm8gbWRlc2MubwogCitvYmotJChDT05GSUdfRFlOQU1JQ19GVFJBQ0UpICs9IGZ0cmFjZS5vCiBvYmotJChDT05GSUdfU1RBQ0tUUkFDRSkgKz0gc3RhY2t0cmFjZS5vCiBvYmotJChDT05GSUdfUENJKQkgKz0gZWJ1cy5vIHBjaV9jb21tb24ubyBcCiAJCQkgICAgcGNpX3BzeWNoby5vIHBjaV9zYWJyZS5vIHBjaV9zY2hpem8ubyBcCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL2Z0cmFjZS5jIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9mdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mjk4ZDBhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDk0IEBACisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworc3RhdGljIGNvbnN0IHUzMiBmdHJhY2Vfbm9wID0gMHgwMTAwMDAwMDsKKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2Vfbm9wX3JlcGxhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKGNoYXIgKikmZnRyYWNlX25vcDsKK30KKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2VfY2FsbF9yZXBsYWNlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlzdGF0aWMgdTMyIGNhbGw7CisJczMyIG9mZjsKKworCW9mZiA9ICgoczMyKWFkZHIgLSAoczMyKWlwKTsKKwljYWxsID0gMHg0MDAwMDAwMCB8ICgodTMyKW9mZiA+PiAyKTsKKworCXJldHVybiAodW5zaWduZWQgY2hhciAqKSAmY2FsbDsKK30KKworbm90cmFjZSBpbnQKK2Z0cmFjZV9tb2RpZnlfY29kZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBjaGFyICpvbGRfY29kZSwKKwkJICAgdW5zaWduZWQgY2hhciAqbmV3X2NvZGUpCit7CisJdTMyIG9sZCA9ICoodTMyICopb2xkX2NvZGU7CisJdTMyIG5ldyA9ICoodTMyICopbmV3X2NvZGU7CisJdTMyIHJlcGxhY2VkOworCWludCBmYXVsdGVkOworCisJX19hc21fXyBfX3ZvbGF0aWxlX18oCisJIjE6CWNhcwlbJVtpcF1dLCAlW29sZF0sICVbbmV3XVxuIgorCSIJZmx1c2gJJVtpcF1cbiIKKwkiCW1vdgkwLCAlW2ZhdWx0ZWRdXG4iCisJIjI6XG4iCisJIgkuc2VjdGlvbiAuZml4dXAsI2FsbG9jLCNleGVjaW5zdHJcbiIKKwkiCS5hbGlnbgk0XG4iCisJIjM6CXNldGhpCSUlaGkoMmIpLCAlW2ZhdWx0ZWRdXG4iCisJIglqbXBsCSVbZmF1bHRlZF0gKyAlJWxvKDJiKSwgJSVnMFxuIgorCSIJIG1vdgkxLCAlW2ZhdWx0ZWRdXG4iCisJIgkucHJldmlvdXNcbiIKKwkiCS5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIKKwkiCS5hbGlnbgk0XG4iCisJIgkud29yZAkxYiwgM2JcbiIKKwkiCS5wcmV2aW91c1xuIgorCTogIj1yIiAocmVwbGFjZWQpLCBbZmF1bHRlZF0gIj1yIiAoZmF1bHRlZCkKKwk6IFtuZXddICIwIiAobmV3KSwgW29sZF0gInIiIChvbGQpLCBbaXBdICJyIiAoaXApCisJOiAibWVtb3J5Iik7CisKKwlpZiAocmVwbGFjZWQgIT0gb2xkICYmIHJlcGxhY2VkICE9IG5ldykKKwkJZmF1bHRlZCA9IDI7CisKKwlyZXR1cm4gZmF1bHRlZDsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfZnVuY190IGZ1bmMpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9ICh1bnNpZ25lZCBsb25nKSgmZnRyYWNlX2NhbGwpOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCisJbWVtY3B5KG9sZCwgJmZ0cmFjZV9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAodW5zaWduZWQgbG9uZylmdW5jKTsKKwlyZXR1cm4gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7Cit9CisKK25vdHJhY2UgaW50IGZ0cmFjZV9tY291bnRfc2V0KHVuc2lnbmVkIGxvbmcgKmRhdGEpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9IChsb25nKSgmbWNvdW50X2NhbGwpOworCXVuc2lnbmVkIGxvbmcgKmFkZHIgPSBkYXRhOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCisJLyoKKwkgKiBSZXBsYWNlIHRoZSBtY291bnQgc3R1YiB3aXRoIGEgcG9pbnRlciB0byB0aGUKKwkgKiBpcCByZWNvcmRlciBmdW5jdGlvbi4KKwkgKi8KKwltZW1jcHkob2xkLCAmbWNvdW50X2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsICphZGRyKTsKKwkqYWRkciA9IGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgb2xkLCBuZXcpOworCisJcmV0dXJuIDA7Cit9CisKKworaW50IF9faW5pdCBmdHJhY2VfZHluX2FyY2hfaW5pdCh2b2lkICpkYXRhKQoreworCWZ0cmFjZV9tY291bnRfc2V0KGRhdGEpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9zbXAuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc21wLmMKaW5kZXggZmE2M2M2OC4uYzA5OWQ5NiAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL3NtcC5jCkBAIC04MDcsNyArODA3LDYgQEAKICAqIHNtcF9jYWxsX2Z1bmN0aW9uKCk6IFJ1biBhIGZ1bmN0aW9uIG9uIGFsbCBvdGhlciBDUFVzLgogICogQGZ1bmM6IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCiAgKiBAaW5mbzogQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiBAbm9uYXRvbWljOiBjdXJyZW50bHkgdW51c2VkLgogICogQHdhaXQ6IElmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KICAqCiAgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLiBEb2VzIG5vdCByZXR1cm4gdW50aWwKQEAgLTgxNiw4ICs4MTUsOCBAQAogICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCiAgKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KICAqLwotc3RhdGljIGludCBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQkgIGludCBub25hdG9taWMsIGludCB3YWl0LCBjcHVtYXNrX3QgbWFzaykKK3N0YXRpYyBpbnQgc3BhcmM2NF9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKKwkJCQkJICBpbnQgd2FpdCwgY3B1bWFza190IG1hc2spCiB7CiAJc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKIAlpbnQgY3B1czsKQEAgLTg1MiwxMSArODUxLDkgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJICAgICAgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKIHsKLQlyZXR1cm4gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhmdW5jLCBpbmZvLCBub25hdG9taWMsIHdhaXQsCi0JCQkJICAgICAgY3B1X29ubGluZV9tYXApOworCXJldHVybiBzcGFyYzY0X3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soZnVuYywgaW5mbywgd2FpdCwgY3B1X29ubGluZV9tYXApOwogfQogCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2NsaWVudChpbnQgaXJxLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKQEAgLTg5Myw3ICs4OTAsNyBAQAogCiB2b2lkIHNtcF90c2Jfc3luYyhzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHRzYl9zeW5jLCBtbSwgMCwgMSwgbW0tPmNwdV92bV9tYXNrKTsKKwlzcGFyYzY0X3NtcF9jYWxsX2Z1bmN0aW9uX21hc2sodHNiX3N5bmMsIG1tLCAxLCBtbS0+Y3B1X3ZtX21hc2spOwogfQogCiBleHRlcm4gdW5zaWduZWQgbG9uZyB4Y2FsbF9mbHVzaF90bGJfbW07CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3BhcmM2NF9rc3ltcy5jCmluZGV4IDhhYzBiOTkuLjQ5ZDNlYTUgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3BhcmM2NF9rc3ltcy5jCisrKyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3BhcmM2NF9rc3ltcy5jCkBAIC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSA8YXNtL25zODczMDMuaD4KICNpbmNsdWRlIDxhc20vdGltZXIuaD4KICNpbmNsdWRlIDxhc20vY3B1ZGF0YS5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KIAogc3RydWN0IHBvbGwgewogCWludCBmZDsKQEAgLTExMSw4ICsxMTIsNyBAQAogRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbik7CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogCi0jaWYgZGVmaW5lZChDT05GSUdfTUNPVU5UKQotZXh0ZXJuIHZvaWQgX21jb3VudCh2b2lkKTsKKyNpZmRlZiBDT05GSUdfTUNPVU5UCiBFWFBPUlRfU1lNQk9MKF9tY291bnQpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggYzczY2UzZi4uYjNlMzczNyAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTEsNiArMSw3IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zdGFja3RyYWNlLmg+CiAjaW5jbHVkZSA8bGludXgvdGhyZWFkX2luZm8uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAjaW5jbHVkZSA8YXNtL3N0YWNrdHJhY2UuaD4KIApAQCAtNDcsMyArNDgsNCBAQAogCQkJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBwYzsKIAl9IHdoaWxlICh0cmFjZS0+bnJfZW50cmllcyA8IHRyYWNlLT5tYXhfZW50cmllcyk7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlKTsKZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC90aW1lLmMKaW5kZXggZTVkMjM4OS4uYmVkYzRjMSAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC90aW1lLmMKKysrIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC90aW1lLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9wYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpAQCAtMTY1OSwxMCArMTY2MCwxNCBAQAogCiBzdGF0aWMgaW50IG1pbmlfcnRjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JaWYgKG1pbmlfcnRjX3N0YXR1cyAmIFJUQ19JU19PUEVOKQorCWxvY2tfa2VybmVsKCk7CisJaWYgKG1pbmlfcnRjX3N0YXR1cyAmIFJUQ19JU19PUEVOKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKKwl9CiAKIAltaW5pX3J0Y19zdGF0dXMgfD0gUlRDX0lTX09QRU47CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQvbGliL21jb3VudC5TIGIvYXJjaC9zcGFyYzY0L2xpYi9tY291bnQuUwppbmRleCA5ZTQ1MzRiLi43NzM1YTdhIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjNjQvbGliL21jb3VudC5TCisrKyBiL2FyY2gvc3BhcmM2NC9saWIvbWNvdW50LlMKQEAgLTI4LDEwICsyOCwxMyBAQAogCS5za2lwCQlPVlNUQUNLU0laRQogI2VuZGlmCiAJLnRleHQKLQkuYWxpZ24gMzIKLQkuZ2xvYmwgbWNvdW50LCBfbWNvdW50Ci1tY291bnQ6CisJLmFsaWduCQkzMgorCS5nbG9ibAkJX21jb3VudAorCS50eXBlCQlfbWNvdW50LCNmdW5jdGlvbgorCS5nbG9ibAkJbWNvdW50CisJLnR5cGUJCW1jb3VudCwjZnVuY3Rpb24KIF9tY291bnQ6CittY291bnQ6CiAjaWZkZWYgQ09ORklHX1NUQUNLX0RFQlVHCiAJLyoKIAkgKiBDaGVjayB3aGV0aGVyICVzcCBpcyBkYW5nZXJvdXNseSBsb3cuCkBAIC01NSw2ICs1OCw1MyBAQAogCSBvcgkJJWczLCAlbG8ocGFuaWNzdHJpbmcpLCAlbzAKIAljYWxsCQlwcm9tX2hhbHQKIAkgbm9wCisxOgogI2VuZGlmCi0xOglyZXRsCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCW1vdgkJJW83LCAlbzAKKwkuZ2xvYmwJCW1jb3VudF9jYWxsCittY291bnRfY2FsbDoKKwljYWxsCQlmdHJhY2Vfc3R1YgorCSBtb3YJCSVvMCwgJW83CisjZWxzZQorCXNldGhpCQklaGkoZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKSwgJWcxCisJc2V0aGkJCSVoaShmdHJhY2Vfc3R1YiksICVnMgorCWxkeAkJWyVnMSArICVsbyhmdHJhY2VfdHJhY2VfZnVuY3Rpb24pXSwgJWcxCisJb3IJCSVnMiwgJWxvKGZ0cmFjZV9zdHViKSwgJWcyCisJY21wCQklZzEsICVnMgorCWJlLHBuCQklaWNjLCAxZgorCSBtb3YJCSVpNywgJW8xCisJam1wbAkJJWcxLCAlZzAKKwkgbW92CQklbzcsICVvMAorCS8qIG5vdCByZWFjaGVkICovCisxOgorI2VuZGlmCisjZW5kaWYKKwlyZXRsCiAJIG5vcAorCS5zaXplCQlfbWNvdW50LC4tX21jb3VudAorCS5zaXplCQltY291bnQsLi1tY291bnQKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKwkuZ2xvYmwJCWZ0cmFjZV9zdHViCisJLnR5cGUJCWZ0cmFjZV9zdHViLCNmdW5jdGlvbgorZnRyYWNlX3N0dWI6CisJcmV0bAorCSBub3AKKwkuc2l6ZQkJZnRyYWNlX3N0dWIsLi1mdHJhY2Vfc3R1YgorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCS5nbG9ibAkJZnRyYWNlX2NhbGxlcgorCS50eXBlCQlmdHJhY2VfY2FsbGVyLCNmdW5jdGlvbgorZnRyYWNlX2NhbGxlcjoKKwltb3YJCSVpNywgJW8xCisJbW92CQklbzcsICVvMAorCS5nbG9ibAkJZnRyYWNlX2NhbGwKK2Z0cmFjZV9jYWxsOgorCWNhbGwJCWZ0cmFjZV9zdHViCisJIG1vdgkJJW8wLCAlbzcKKwlyZXRsCisJIG5vcAorCS5zaXplCQlmdHJhY2VfY2FsbGVyLC4tZnRyYWNlX2NhbGxlcgorI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmM2NC9tbS9odWdldGxicGFnZS5jIGIvYXJjaC9zcGFyYzY0L21tL2h1Z2V0bGJwYWdlLmMKaW5kZXggNmNmYWIyZS4uZWJlZmQyYSAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L21tL2h1Z2V0bGJwYWdlLmMKKysrIGIvYXJjaC9zcGFyYzY0L21tL2h1Z2V0bGJwYWdlLmMKQEAgLTM0NCw3ICszNDQsNyBAQAogCQkJICogYWxzbyBleGVjdXRpbmcgaW4gdGhpcyBhZGRyZXNzIHNwYWNlLgogCQkJICovCiAJCQltbS0+Y29udGV4dC5zcGFyYzY0X2N0eF92YWwgPSBjdHg7Ci0JCQlvbl9lYWNoX2NwdShjb250ZXh0X3JlbG9hZCwgbW0sIDAsIDApOworCQkJb25fZWFjaF9jcHUoY29udGV4dF9yZWxvYWQsIG1tLCAwKTsKIAkJfQogCQlzcGluX3VubG9jaygmY3R4X2FsbG9jX2xvY2spOwogCX0KZGlmZiAtLWdpdCBhL2FyY2gvdW0vZHJpdmVycy9oYXJkZG9nX2tlcm4uYyBiL2FyY2gvdW0vZHJpdmVycy9oYXJkZG9nX2tlcm4uYwppbmRleCBhOWFkNGJkLi5kMzMyNTAzIDEwMDY0NAotLS0gYS9hcmNoL3VtL2RyaXZlcnMvaGFyZGRvZ19rZXJuLmMKKysrIGIvYXJjaC91bS9kcml2ZXJzL2hhcmRkb2dfa2Vybi5jCkBAIC02Niw2ICs2Niw3IEBACiAJaW50IGVyciA9IC1FQlVTWTsKIAljaGFyICpzb2NrID0gTlVMTDsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZsb2NrKTsKIAlpZih0aW1lcl9hbGl2ZSkKIAkJZ290byBlcnI7CkBAIC04Miw5ICs4MywxMSBAQAogCiAJdGltZXJfYWxpdmUgPSAxOwogCXNwaW5fdW5sb2NrKCZsb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOwogZXJyOgogCXNwaW5fdW5sb2NrKCZsb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC91bS9kcml2ZXJzL21tYXBwZXJfa2Vybi5jIGIvYXJjaC91bS9kcml2ZXJzL21tYXBwZXJfa2Vybi5jCmluZGV4IDY3YjJmNTUuLmViMjQwMzIgMTAwNjQ0Ci0tLSBhL2FyY2gvdW0vZHJpdmVycy9tbWFwcGVyX2tlcm4uYworKysgYi9hcmNoL3VtL2RyaXZlcnMvbW1hcHBlcl9rZXJuLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSAibWVtX3VzZXIuaCIKIApAQCAtNzcsNiArNzgsNyBAQAogCiBzdGF0aWMgaW50IG1tYXBwZXJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3VtL2RyaXZlcnMvcmFuZG9tLmMgYi9hcmNoL3VtL2RyaXZlcnMvcmFuZG9tLmMKaW5kZXggNDk0OTA0NC4uNmVhYmI3MCAxMDA2NDQKLS0tIGEvYXJjaC91bS9kcml2ZXJzL3JhbmRvbS5jCisrKyBiL2FyY2gvdW0vZHJpdmVycy9yYW5kb20uYwpAQCAtNyw2ICs3LDcgQEAKICAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaW5jb3Jwb3JhdGVkIGhlcmVpbiBieSByZWZlcmVuY2UuCiAgKi8KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KQEAgLTMzLDYgKzM0LDggQEAKIAogc3RhdGljIGludCBybmdfZGV2X29wZW4gKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CisKIAkvKiBlbmZvcmNlIHJlYWQtb25seSBhY2Nlc3MgdG8gdGhpcyBjaHJkZXYgKi8KIAlpZiAoKGZpbHAtPmZfbW9kZSAmIEZNT0RFX1JFQUQpID09IDApCiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvYXJjaC91bS9rZXJuZWwvc21wLmMgYi9hcmNoL3VtL2tlcm5lbC9zbXAuYwppbmRleCBlMTA2MmVjLi5iZTJkNTBjIDEwMDY0NAotLS0gYS9hcmNoL3VtL2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3VtL2tlcm5lbC9zbXAuYwpAQCAtMjE0LDggKzIxNCw3IEBACiAJYXRvbWljX2luYygmc2NmX2ZpbmlzaGVkKTsKIH0KIAotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpfZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKl9pbmZvLCBpbnQgbm9uYXRvbWljLAotCQkgICAgICBpbnQgd2FpdCkKK2ludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqX2Z1bmMpKHZvaWQgKmluZm8pLCB2b2lkICpfaW5mbywgaW50IHdhaXQpCiB7CiAJaW50IGNwdXMgPSBudW1fb25saW5lX2NwdXMoKSAtIDE7CiAJaW50IGk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9LY29uZmlnIGIvYXJjaC94ODYvS2NvbmZpZwppbmRleCBiZjA3YjZmLi45NmUwYzJlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9LY29uZmlnCisrKyBiL2FyY2gveDg2L0tjb25maWcKQEAgLTIzLDYgKzIzLDggQEAKIAlzZWxlY3QgSEFWRV9PUFJPRklMRQogCXNlbGVjdCBIQVZFX0tQUk9CRVMKIAlzZWxlY3QgSEFWRV9LUkVUUFJPQkVTCisJc2VsZWN0IEhBVkVfRFlOQU1JQ19GVFJBQ0UKKwlzZWxlY3QgSEFWRV9GVFJBQ0UKIAlzZWxlY3QgSEFWRV9LVk0gaWYgKChYODZfMzIgJiYgIVg4Nl9WT1lBR0VSICYmICFYODZfVklTV1MgJiYgIVg4Nl9OVU1BUSkgfHwgWDg2XzY0KQogCXNlbGVjdCBIQVZFX0FSQ0hfS0dEQiBpZiAhWDg2X1ZPWUFHRVIKIApAQCAtMTIxLDcgKzEyMyw3IEBACiAJZGVmX2Jvb2wgeQogCiBjb25maWcgSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUEKLQlkZWZfYm9vbCBYODZfNjQgfHwgKFg4Nl9TTVAgJiYgIVg4Nl9WT1lBR0VSKQorCWRlZl9ib29sIFg4Nl82NF9TTVAgfHwgKFg4Nl9TTVAgJiYgIVg4Nl9WT1lBR0VSKQogCiBjb25maWcgSEFWRV9DUFVNQVNLX09GX0NQVV9NQVAKIAlkZWZfYm9vbCBYODZfNjRfU01QCkBAIC0xNjgsNiArMTcwLDcgQEAKIGNvbmZpZyBYODZfU01QCiAJYm9vbAogCWRlcGVuZHMgb24gU01QICYmICgoWDg2XzMyICYmICFYODZfVk9ZQUdFUikgfHwgWDg2XzY0KQorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCWRlZmF1bHQgeQogCiBjb25maWcgWDg2XzMyX1NNUApAQCAtMTgxLDEyICsxODQsMTIgQEAKIGNvbmZpZyBYODZfSFQKIAlib29sCiAJZGVwZW5kcyBvbiBTTVAKLQlkZXBlbmRzIG9uIChYODZfMzIgJiYgIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpKSB8fCBYODZfNjQKKwlkZXBlbmRzIG9uIChYODZfMzIgJiYgIVg4Nl9WT1lBR0VSKSB8fCBYODZfNjQKIAlkZWZhdWx0IHkKIAogY29uZmlnIFg4Nl9CSU9TX1JFQk9PVAogCWJvb2wKLQlkZXBlbmRzIG9uICFYODZfVklTV1MgJiYgIVg4Nl9WT1lBR0VSCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAlkZWZhdWx0IHkKIAogY29uZmlnIFg4Nl9UUkFNUE9MSU5FCkBAIC0yMzAsNiArMjMzLDI2IEBACiAKIAkgIElmIHlvdSBkb24ndCBrbm93IHdoYXQgdG8gZG8gaGVyZSwgc2F5IE4uCiAKK2NvbmZpZyBYODZfRklORF9TTVBfQ09ORklHCisJZGVmX2Jvb2wgeQorCWRlcGVuZHMgb24gWDg2X01QUEFSU0UgfHwgWDg2X1ZPWUFHRVIKKworaWYgQUNQSQorY29uZmlnIFg4Nl9NUFBBUlNFCisJZGVmX2Jvb2wgeQorCWJvb2wgIkVuYWJsZSBNUFMgdGFibGUiCisJZGVwZW5kcyBvbiBYODZfTE9DQUxfQVBJQworCWhlbHAKKwkgIEZvciBvbGQgc21wIHN5c3RlbXMgdGhhdCBkbyBub3QgaGF2ZSBwcm9wZXIgYWNwaSBzdXBwb3J0LiBOZXdlciBzeXN0ZW1zCisJICAoZXNwIHdpdGggNjRiaXQgY3B1cykgd2l0aCBhY3BpIHN1cHBvcnQsIE1BRFQgYW5kIERTRFQgd2lsbCBvdmVycmlkZSBpdAorZW5kaWYKKworaWYgIUFDUEkKK2NvbmZpZyBYODZfTVBQQVJTRQorCWRlZl9ib29sIHkKKwlkZXBlbmRzIG9uIFg4Nl9MT0NBTF9BUElDCitlbmRpZgorCiBjaG9pY2UKIAlwcm9tcHQgIlN1YmFyY2hpdGVjdHVyZSBUeXBlIgogCWRlZmF1bHQgWDg2X1BDCkBAIC0yNTEsNyArMjc0LDcgQEAKIAogY29uZmlnIFg4Nl9WT1lBR0VSCiAJYm9vbCAiVm95YWdlciAoTkNSKSIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAoU01QIHx8IEJST0tFTikKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAoU01QIHx8IEJST0tFTikgJiYgIVBDSQogCWhlbHAKIAkgIFZveWFnZXIgaXMgYW4gTUNBLWJhc2VkIDMyLXdheSBjYXBhYmxlIFNNUCBhcmNoaXRlY3R1cmUgcHJvcHJpZXRhcnkKIAkgIHRvIE5DUiBDb3JwLiAgTWFjaGluZSBjbGFzc2VzIDM0NXgvMzV4eC80MTAwLzUxeHggYXJlIFZveWFnZXItYmFzZWQuCkBAIC0yNjEsMTYgKzI4NCwyNyBAQAogCSAgSWYgeW91IGRvIG5vdCBzcGVjaWZpY2FsbHkga25vdyB5b3UgaGF2ZSBhIFZveWFnZXIgYmFzZWQgbWFjaGluZSwKIAkgIHNheSBOIGhlcmUsIG90aGVyd2lzZSB0aGUga2VybmVsIHlvdSBidWlsZCB3aWxsIG5vdCBiZSBib290YWJsZS4KIAorY29uZmlnIFg4Nl9HRU5FUklDQVJDSAorICAgICAgIGJvb2wgIkdlbmVyaWMgYXJjaGl0ZWN0dXJlIgorCWRlcGVuZHMgb24gWDg2XzMyCisgICAgICAgaGVscAorICAgICAgICAgIFRoaXMgb3B0aW9uIGNvbXBpbGVzIGluIHRoZSBOVU1BUSwgU3VtbWl0LCBiaWdzbXAsIEVTNzAwMCwgZGVmYXVsdAorCSAgc3ViYXJjaGl0ZWN0dXJlcy4gIEl0IGlzIGludGVuZGVkIGZvciBhIGdlbmVyaWMgYmluYXJ5IGtlcm5lbC4KKwkgIGlmIHlvdSBzZWxlY3QgdGhlbSBhbGwsIGtlcm5lbCB3aWxsIHByb2JlIGl0IG9uZSBieSBvbmUuIGFuZCB3aWxsCisJICBmYWxsYmFjayB0byBkZWZhdWx0LgorCitpZiBYODZfR0VORVJJQ0FSQ0gKKwogY29uZmlnIFg4Nl9OVU1BUQogCWJvb2wgIk5VTUFRIChJQk0vU2VxdWVudCkiCi0JZGVwZW5kcyBvbiBTTVAgJiYgWDg2XzMyCisJZGVwZW5kcyBvbiBTTVAgJiYgWDg2XzMyICYmIFBDSSAmJiBYODZfTVBQQVJTRQogCXNlbGVjdCBOVU1BCiAJaGVscAotCSAgVGhpcyBvcHRpb24gaXMgdXNlZCBmb3IgZ2V0dGluZyBMaW51eCB0byBydW4gb24gYSAoSUJNL1NlcXVlbnQpIE5VTUEKLQkgIG11bHRpcXVhZCBib3guIFRoaXMgY2hhbmdlcyB0aGUgd2F5IHRoYXQgcHJvY2Vzc29ycyBhcmUgYm9vdHN0cmFwcGVkLAotCSAgYW5kIHVzZXMgQ2x1c3RlcmVkIExvZ2ljYWwgQVBJQyBhZGRyZXNzaW5nIG1vZGUgaW5zdGVhZCBvZiBGbGF0IExvZ2ljYWwuCi0JICBZb3Ugd2lsbCBuZWVkIGEgbmV3IGx5bnhlci5lbGYgZmlsZSB0byBmbGFzaCB5b3VyIGZpcm13YXJlIHdpdGggLSBzZW5kCi0JICBlbWFpbCB0byA8TWFydGluLkJsaWdoQHVzLmlibS5jb20+LgorCSAgVGhpcyBvcHRpb24gaXMgdXNlZCBmb3IgZ2V0dGluZyBMaW51eCB0byBydW4gb24gYSBOVU1BUSAoSUJNL1NlcXVlbnQpCisJICBOVU1BIG11bHRpcXVhZCBib3guIFRoaXMgY2hhbmdlcyB0aGUgd2F5IHRoYXQgcHJvY2Vzc29ycyBhcmUKKwkgIGJvb3RzdHJhcHBlZCwgYW5kIHVzZXMgQ2x1c3RlcmVkIExvZ2ljYWwgQVBJQyBhZGRyZXNzaW5nIG1vZGUgaW5zdGVhZAorCSAgb2YgRmxhdCBMb2dpY2FsLiAgWW91IHdpbGwgbmVlZCBhIG5ldyBseW54ZXIuZWxmIGZpbGUgdG8gZmxhc2ggeW91cgorCSAgZmlybXdhcmUgd2l0aCAtIHNlbmQgZW1haWwgdG8gPE1hcnRpbi5CbGlnaEB1cy5pYm0uY29tPi4KIAogY29uZmlnIFg4Nl9TVU1NSVQKIAlib29sICJTdW1taXQvRVhBIChJQk0geDQ0MCkiCkBAIC0yNzksNDYgKzMxMywyMSBAQAogCSAgVGhpcyBvcHRpb24gaXMgbmVlZGVkIGZvciBJQk0gc3lzdGVtcyB0aGF0IHVzZSB0aGUgU3VtbWl0L0VYQSBjaGlwc2V0LgogCSAgSW4gcGFydGljdWxhciwgaXQgaXMgbmVlZGVkIGZvciB0aGUgeDQ0MC4KIAotCSAgSWYgeW91IGRvbid0IGhhdmUgb25lIG9mIHRoZXNlIGNvbXB1dGVycywgeW91IHNob3VsZCBzYXkgTiBoZXJlLgotCSAgSWYgeW91IHdhbnQgdG8gYnVpbGQgYSBOVU1BIGtlcm5lbCwgeW91IG11c3Qgc2VsZWN0IEFDUEkuCi0KLWNvbmZpZyBYODZfQklHU01QCi0JYm9vbCAiU3VwcG9ydCBmb3Igb3RoZXIgc3ViLWFyY2ggU01QIHN5c3RlbXMgd2l0aCBtb3JlIHRoYW4gOCBDUFVzIgotCWRlcGVuZHMgb24gWDg2XzMyICYmIFNNUAotCWhlbHAKLQkgIFRoaXMgb3B0aW9uIGlzIG5lZWRlZCBmb3IgdGhlIHN5c3RlbXMgdGhhdCBoYXZlIG1vcmUgdGhhbiA4IENQVXMKLQkgIGFuZCBpZiB0aGUgc3lzdGVtIGlzIG5vdCBvZiBhbnkgc3ViLWFyY2ggdHlwZSBhYm92ZS4KLQotCSAgSWYgeW91IGRvbid0IGhhdmUgc3VjaCBhIHN5c3RlbSwgeW91IHNob3VsZCBzYXkgTiBoZXJlLgotCi1jb25maWcgWDg2X1ZJU1dTCi0JYm9vbCAiU0dJIDMyMC81NDAgKFZpc3VhbCBXb3Jrc3RhdGlvbikiCi0JZGVwZW5kcyBvbiBYODZfMzIKLQloZWxwCi0JICBUaGUgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBzZXJpZXMgaXMgYW4gSUEzMi1iYXNlZCB3b3Jrc3RhdGlvbgotCSAgYmFzZWQgb24gU0dJIHN5c3RlbXMgY2hpcHMgd2l0aCBzb21lIGxlZ2FjeSBQQyBoYXJkd2FyZSBhdHRhY2hlZC4KLQotCSAgU2F5IFkgaGVyZSB0byBjcmVhdGUgYSBrZXJuZWwgdG8gcnVuIG9uIHRoZSBTR0kgMzIwIG9yIDU0MC4KLQotCSAgQSBrZXJuZWwgY29tcGlsZWQgZm9yIHRoZSBWaXN1YWwgV29ya3N0YXRpb24gd2lsbCBub3QgcnVuIG9uIFBDcwotCSAgYW5kIHZpY2UgdmVyc2EuIFNlZSA8ZmlsZTpEb2N1bWVudGF0aW9uL3NnaS12aXN3cy50eHQ+IGZvciBkZXRhaWxzLgotCi1jb25maWcgWDg2X0dFTkVSSUNBUkNICi0gICAgICAgYm9vbCAiR2VuZXJpYyBhcmNoaXRlY3R1cmUgKFN1bW1pdCwgYmlnc21wLCBFUzcwMDAsIGRlZmF1bHQpIgotCWRlcGVuZHMgb24gWDg2XzMyCi0gICAgICAgaGVscAotICAgICAgICAgIFRoaXMgb3B0aW9uIGNvbXBpbGVzIGluIHRoZSBTdW1taXQsIGJpZ3NtcCwgRVM3MDAwLCBkZWZhdWx0IHN1YmFyY2hpdGVjdHVyZXMuCi0JICBJdCBpcyBpbnRlbmRlZCBmb3IgYSBnZW5lcmljIGJpbmFyeSBrZXJuZWwuCi0JICBJZiB5b3Ugd2FudCBhIE5VTUEga2VybmVsLCBzZWxlY3QgQUNQSS4gICBXZSBuZWVkIFNSQVQgZm9yIE5VTUEuCi0KIGNvbmZpZyBYODZfRVM3MDAwCiAJYm9vbCAiU3VwcG9ydCBmb3IgVW5pc3lzIEVTNzAwMCBJQTMyIHNlcmllcyIKIAlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBTTVAKIAloZWxwCiAJICBTdXBwb3J0IGZvciBVbmlzeXMgRVM3MDAwIHN5c3RlbXMuICBTYXkgJ1knIGhlcmUgaWYgdGhpcyBrZXJuZWwgaXMKIAkgIHN1cHBvc2VkIHRvIHJ1biBvbiBhbiBJQTMyLWJhc2VkIFVuaXN5cyBFUzcwMDAgc3lzdGVtLgotCSAgT25seSBjaG9vc2UgdGhpcyBvcHRpb24gaWYgeW91IGhhdmUgc3VjaCBhIHN5c3RlbSwgb3RoZXJ3aXNlIHlvdQotCSAgc2hvdWxkIHNheSBOIGhlcmUuCisKK2NvbmZpZyBYODZfQklHU01QCisJYm9vbCAiU3VwcG9ydCBmb3IgYmlnIFNNUCBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIDggQ1BVcyIKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBTTVAKKwloZWxwCisJICBUaGlzIG9wdGlvbiBpcyBuZWVkZWQgZm9yIHRoZSBzeXN0ZW1zIHRoYXQgaGF2ZSBtb3JlIHRoYW4gOCBDUFVzCisJICBhbmQgaWYgdGhlIHN5c3RlbSBpcyBub3Qgb2YgYW55IHN1Yi1hcmNoIHR5cGUgYWJvdmUuCisKK2VuZGlmCiAKIGNvbmZpZyBYODZfUkRDMzIxWAogCWJvb2wgIlJEQyBSLTMyMXggU29DIgpAQCAtMzM3LDcgKzM0Niw3IEBACiBjb25maWcgWDg2X1ZTTVAKIAlib29sICJTdXBwb3J0IGZvciBTY2FsZU1QIHZTTVAiCiAJc2VsZWN0IFBBUkFWSVJUCi0JZGVwZW5kcyBvbiBYODZfNjQKKwlkZXBlbmRzIG9uIFg4Nl82NCAmJiBQQ0kKIAloZWxwCiAJICBTdXBwb3J0IGZvciBTY2FsZU1QIHZTTVAgc3lzdGVtcy4gIFNheSAnWScgaGVyZSBpZiB0aGlzIGtlcm5lbCBpcwogCSAgc3VwcG9zZWQgdG8gcnVuIG9uIHRoZXNlIEVNNjRULWJhc2VkIG1hY2hpbmVzLiAgT25seSBjaG9vc2UgdGhpcyBvcHRpb24KQEAgLTM0NSw2ICszNTQsMTggQEAKIAogZW5kY2hvaWNlCiAKK2NvbmZpZyBYODZfVklTV1MKKwlib29sICJTR0kgMzIwLzU0MCAoVmlzdWFsIFdvcmtzdGF0aW9uKSIKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQQ0kgJiYgIVg4Nl9WT1lBR0VSICYmIFg4Nl9NUFBBUlNFICYmIFBDSV9HT0RJUkVDVAorCWhlbHAKKwkgIFRoZSBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIHNlcmllcyBpcyBhbiBJQTMyLWJhc2VkIHdvcmtzdGF0aW9uCisJICBiYXNlZCBvbiBTR0kgc3lzdGVtcyBjaGlwcyB3aXRoIHNvbWUgbGVnYWN5IFBDIGhhcmR3YXJlIGF0dGFjaGVkLgorCisJICBTYXkgWSBoZXJlIHRvIGNyZWF0ZSBhIGtlcm5lbCB0byBydW4gb24gdGhlIFNHSSAzMjAgb3IgNTQwLgorCisJICBBIGtlcm5lbCBjb21waWxlZCBmb3IgdGhlIFZpc3VhbCBXb3Jrc3RhdGlvbiB3aWxsIHJ1biBvbiBnZW5lcmFsCisJICBQQ3MgYXMgd2VsbC4gU2VlIDxmaWxlOkRvY3VtZW50YXRpb24vc2dpLXZpc3dzLnR4dD4gZm9yIGRldGFpbHMuCisKIGNvbmZpZyBTQ0hFRF9OT19OT19PTUlUX0ZSQU1FX1BPSU5URVIKIAlkZWZfYm9vbCB5CiAJcHJvbXB0ICJTaW5nbGUtZGVwdGggV0NIQU4gb3V0cHV0IgpAQCAtMzczLDcgKzM5NCw3IEBACiAJYm9vbCAiVk1JIEd1ZXN0IHN1cHBvcnQiCiAJc2VsZWN0IFBBUkFWSVJUCiAJZGVwZW5kcyBvbiBYODZfMzIKLQlkZXBlbmRzIG9uICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKQorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJaGVscAogCSAgVk1JIHByb3ZpZGVzIGEgcGFyYXZpcnR1YWxpemVkIGludGVyZmFjZSB0byB0aGUgVk13YXJlIEVTWCBzZXJ2ZXIKIAkgIChpdCBjb3VsZCBiZSB1c2VkIGJ5IG90aGVyIGh5cGVydmlzb3JzIGluIHRoZW9yeSB0b28sIGJ1dCBpcyBub3QKQEAgLTM4NCw3ICs0MDUsNyBAQAogCWJvb2wgIktWTSBwYXJhdmlydHVhbGl6ZWQgY2xvY2siCiAJc2VsZWN0IFBBUkFWSVJUCiAJc2VsZWN0IFBBUkFWSVJUX0NMT0NLCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCWhlbHAKIAkgIFR1cm5pbmcgb24gdGhpcyBvcHRpb24gd2lsbCBhbGxvdyB5b3UgdG8gcnVuIGEgcGFyYXZpcnR1YWxpemVkIGNsb2NrCiAJICB3aGVuIHJ1bm5pbmcgb3ZlciB0aGUgS1ZNIGh5cGVydmlzb3IuIEluc3RlYWQgb2YgcmVseWluZyBvbiBhIFBJVApAQCAtMzk1LDcgKzQxNiw3IEBACiBjb25maWcgS1ZNX0dVRVNUCiAJYm9vbCAiS1ZNIEd1ZXN0IHN1cHBvcnQiCiAJc2VsZWN0IFBBUkFWSVJUCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCWhlbHAKIAkgVGhpcyBvcHRpb24gZW5hYmxlcyB2YXJpb3VzIG9wdGltaXphdGlvbnMgZm9yIHJ1bm5pbmcgdW5kZXIgdGhlIEtWTQogCSBoeXBlcnZpc29yLgpAQCAtNDA0LDcgKzQyNSw3IEBACiAKIGNvbmZpZyBQQVJBVklSVAogCWJvb2wgIkVuYWJsZSBwYXJhdmlydHVhbGl6YXRpb24gY29kZSIKLQlkZXBlbmRzIG9uICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKQorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJaGVscAogCSAgVGhpcyBjaGFuZ2VzIHRoZSBrZXJuZWwgc28gaXQgY2FuIG1vZGlmeSBpdHNlbGYgd2hlbiBpdCBpcyBydW4KIAkgIHVuZGVyIGEgaHlwZXJ2aXNvciwgcG90ZW50aWFsbHkgaW1wcm92aW5nIHBlcmZvcm1hbmNlIHNpZ25pZmljYW50bHkKQEAgLTQxNyw1MSArNDM4LDMyIEBACiAKIGVuZGlmCiAKLWNvbmZpZyBNRU1URVNUX0JPT1RQQVJBTQotCWJvb2wgIk1lbXRlc3QgYm9vdCBwYXJhbWV0ZXIiCitjb25maWcgUEFSQVZJUlRfREVCVUcKKyAgICAgICBib29sICJwYXJhdmlydC1vcHMgZGVidWdnaW5nIgorICAgICAgIGRlcGVuZHMgb24gUEFSQVZJUlQgJiYgREVCVUdfS0VSTkVMCisgICAgICAgaGVscAorICAgICAgICAgRW5hYmxlIHRvIGRlYnVnIHBhcmF2aXJ0X29wcyBpbnRlcm5hbHMuICBTcGVjaWZpY2FsbHksIEJVRyBpZgorCSBhIHBhcmF2aXJ0X29wIGlzIG1pc3Npbmcgd2hlbiBpdCBpcyBjYWxsZWQuCisKK2NvbmZpZyBNRU1URVNUCisJYm9vbCAiTWVtdGVzdCIKIAlkZXBlbmRzIG9uIFg4Nl82NAotCWRlZmF1bHQgeQogCWhlbHAKIAkgIFRoaXMgb3B0aW9uIGFkZHMgYSBrZXJuZWwgcGFyYW1ldGVyICdtZW10ZXN0Jywgd2hpY2ggYWxsb3dzIG1lbXRlc3QKLQkgIHRvIGJlIGRpc2FibGVkIGF0IGJvb3QuICBJZiB0aGlzIG9wdGlvbiBpcyBzZWxlY3RlZCwgbWVtdGVzdAotCSAgZnVuY3Rpb25hbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBtZW10ZXN0PTAgb24gdGhlIGtlcm5lbAotCSAgY29tbWFuZCBsaW5lLiAgVGhlIHB1cnBvc2Ugb2YgdGhpcyBvcHRpb24gaXMgdG8gYWxsb3cgYSBzaW5nbGUKLQkgIGtlcm5lbCBpbWFnZSB0byBiZSBkaXN0cmlidXRlZCB3aXRoIG1lbXRlc3QgYnVpbHQgaW4sIGJ1dCBub3QKLQkgIG5lY2Vzc2FyaWx5IGVuYWJsZWQuCi0KLQkgIElmIHlvdSBhcmUgdW5zdXJlIGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiwgYW5zd2VyIFkuCi0KLWNvbmZpZyBNRU1URVNUX0JPT1RQQVJBTV9WQUxVRQotCWludCAiTWVtdGVzdCBib290IHBhcmFtZXRlciBkZWZhdWx0IHZhbHVlICgwLTQpIgotCWRlcGVuZHMgb24gTUVNVEVTVF9CT09UUEFSQU0KLQlyYW5nZSAwIDQKLQlkZWZhdWx0IDAKLQloZWxwCi0JICBUaGlzIG9wdGlvbiBzZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUga2VybmVsIHBhcmFtZXRlcgotCSAgJ21lbXRlc3QnLCB3aGljaCBhbGxvd3MgbWVtdGVzdCB0byBiZSBkaXNhYmxlZCBhdCBib290LiAgSWYgdGhpcwotCSAgb3B0aW9uIGlzIHNldCB0byAwICh6ZXJvKSwgdGhlIG1lbXRlc3Qga2VybmVsIHBhcmFtZXRlciB3aWxsCi0JICBkZWZhdWx0IHRvIDAsIGRpc2FibGluZyBtZW10ZXN0IGF0IGJvb3R1cC4gIElmIHRoaXMgb3B0aW9uIGlzCi0JICBzZXQgdG8gNCwgdGhlIG1lbXRlc3Qga2VybmVsIHBhcmFtZXRlciB3aWxsIGRlZmF1bHQgdG8gNCwKLQkgIGVuYWJsaW5nIG1lbXRlc3QgYXQgYm9vdHVwLCBhbmQgdXNlIHRoYXQgYXMgcGF0dGVybiBudW1iZXIuCi0KLQkgIElmIHlvdSBhcmUgdW5zdXJlIGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiwgYW5zd2VyIDAuCi0KLWNvbmZpZyBBQ1BJX1NSQVQKLQlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBYODZfMzIgJiYgQUNQSSAmJiBOVU1BICYmIChYODZfU1VNTUlUIHx8IFg4Nl9HRU5FUklDQVJDSCkKLQlzZWxlY3QgQUNQSV9OVU1BCi0KLWNvbmZpZyBIQVZFX0FSQ0hfUEFSU0VfU1JBVAotCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIEFDUElfU1JBVAorCSAgdG8gYmUgc2V0LgorCQltZW10ZXN0PTAsIG1lYW4gZGlzYWJsZWQ7IC0tIGRlZmF1bHQKKwkJbWVtdGVzdD0xLCBtZWFuIGRvIDEgdGVzdCBwYXR0ZXJuOworCQkuLi4KKwkJbWVtdGVzdD00LCBtZWFuIGRvIDQgdGVzdCBwYXR0ZXJucy4KKwkgIElmIHlvdSBhcmUgdW5zdXJlIGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiwgYW5zd2VyIE4uCiAKIGNvbmZpZyBYODZfU1VNTUlUX05VTUEKIAlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBYODZfMzIgJiYgTlVNQSAmJiAoWDg2X1NVTU1JVCB8fCBYODZfR0VORVJJQ0FSQ0gpCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgTlVNQSAmJiBYODZfR0VORVJJQ0FSQ0gKIAogY29uZmlnIFg4Nl9DWUNMT05FX1RJTUVSCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmIFg4Nl9TVU1NSVQgfHwgWDg2X0dFTkVSSUNBUkNICisJZGVwZW5kcyBvbiBYODZfR0VORVJJQ0FSQ0gKIAogY29uZmlnIEVTNzAwMF9DTFVTVEVSRURfQVBJQwogCWRlZl9ib29sIHkKQEAgLTU0OSw2ICs1NTEsMjEgQEAKIAkgIENhbGdhcnkgYW55d2F5LCBwYXNzICdpb21tdT1jYWxnYXJ5JyBvbiB0aGUga2VybmVsIGNvbW1hbmQgbGluZS4KIAkgIElmIHVuc3VyZSwgc2F5IFkuCiAKK2NvbmZpZyBBTURfSU9NTVUKKwlib29sICJBTUQgSU9NTVUgc3VwcG9ydCIKKwlzZWxlY3QgU1dJT1RMQgorCWRlcGVuZHMgb24gWDg2XzY0ICYmIFBDSSAmJiBBQ1BJCisJaGVscAorCSAgV2l0aCB0aGlzIG9wdGlvbiB5b3UgY2FuIGVuYWJsZSBzdXBwb3J0IGZvciBBTUQgSU9NTVUgaGFyZHdhcmUgaW4KKwkgIHlvdXIgc3lzdGVtLiBBbiBJT01NVSBpcyBhIGhhcmR3YXJlIGNvbXBvbmVudCB3aGljaCBwcm92aWRlcworCSAgcmVtYXBwaW5nIG9mIERNQSBtZW1vcnkgYWNjZXNzZXMgZnJvbSBkZXZpY2VzLiBXaXRoIGFuIEFNRCBJT01NVSB5b3UKKwkgIGNhbiBpc29sYXRlIHRoZSB0aGUgRE1BIG1lbW9yeSBvZiBkaWZmZXJlbnQgZGV2aWNlcyBhbmQgcHJvdGVjdCB0aGUKKwkgIHN5c3RlbSBmcm9tIG1pc2JlaGF2aW5nIGRldmljZSBkcml2ZXJzIG9yIGhhcmR3YXJlLgorCisJICBZb3UgY2FuIGZpbmQgb3V0IGlmIHlvdXIgc3lzdGVtIGhhcyBhbiBBTUQgSU9NTVUgaWYgeW91IGxvb2sgaW50bworCSAgeW91ciBCSU9TIGZvciBhbiBvcHRpb24gdG8gZW5hYmxlIGl0IG9yIGlmIHlvdSBoYXZlIGFuIElWUlMgQUNQSQorCSAgdGFibGUuCisKICMgbmVlZCB0aGlzIGFsd2F5cyBzZWxlY3RlZCBieSBJT01NVSBmb3IgdGhlIFZJQSB3b3JrYXJvdW5kCiBjb25maWcgU1dJT1RMQgogCWJvb2wKQEAgLTU2MCwyMSArNTc3LDM2IEBACiAJICAzIEdCIG9mIG1lbW9yeS4gSWYgdW5zdXJlLCBzYXkgWS4KIAogY29uZmlnIElPTU1VX0hFTFBFUgotCWRlZl9ib29sIChDQUxHQVJZX0lPTU1VIHx8IEdBUlRfSU9NTVUgfHwgU1dJT1RMQikKKwlkZWZfYm9vbCAoQ0FMR0FSWV9JT01NVSB8fCBHQVJUX0lPTU1VIHx8IFNXSU9UTEIgfHwgQU1EX0lPTU1VKQorY29uZmlnIE1BWFNNUAorCWJvb2wgIkNvbmZpZ3VyZSBNYXhpbXVtIG51bWJlciBvZiBTTVAgUHJvY2Vzc29ycyBhbmQgTlVNQSBOb2RlcyIKKwlkZXBlbmRzIG9uIFg4Nl82NCAmJiBTTVAKKwlkZWZhdWx0IG4KKwloZWxwCisJICBDb25maWd1cmUgbWF4aW11bSBudW1iZXIgb2YgQ1BVUyBhbmQgTlVNQSBOb2RlcyBmb3IgdGhpcyBhcmNoaXRlY3R1cmUuCisJICBJZiB1bnN1cmUsIHNheSBOLgogCitpZiBNQVhTTVAKIGNvbmZpZyBOUl9DUFVTCi0JaW50ICJNYXhpbXVtIG51bWJlciBvZiBDUFVzICgyLTI1NSkiCi0JcmFuZ2UgMiAyNTUKKwlpbnQKKwlkZWZhdWx0ICI0MDk2IgorZW5kaWYKKworaWYgIU1BWFNNUAorY29uZmlnIE5SX0NQVVMKKwlpbnQgIk1heGltdW0gbnVtYmVyIG9mIENQVXMgKDItNDA5NikiCisJcmFuZ2UgMiA0MDk2CiAJZGVwZW5kcyBvbiBTTVAKIAlkZWZhdWx0ICIzMiIgaWYgWDg2X05VTUFRIHx8IFg4Nl9TVU1NSVQgfHwgWDg2X0JJR1NNUCB8fCBYODZfRVM3MDAwCiAJZGVmYXVsdCAiOCIKIAloZWxwCiAJICBUaGlzIGFsbG93cyB5b3UgdG8gc3BlY2lmeSB0aGUgbWF4aW11bSBudW1iZXIgb2YgQ1BVcyB3aGljaCB0aGlzCi0JICBrZXJuZWwgd2lsbCBzdXBwb3J0LiAgVGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlIGlzIDI1NSBhbmQgdGhlCisJICBrZXJuZWwgd2lsbCBzdXBwb3J0LiAgVGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlIGlzIDQwOTYgYW5kIHRoZQogCSAgbWluaW11bSB2YWx1ZSB3aGljaCBtYWtlcyBzZW5zZSBpcyAyLgogCiAJICBUaGlzIGlzIHB1cmVseSB0byBzYXZlIG1lbW9yeSAtIGVhY2ggc3VwcG9ydGVkIENQVSBhZGRzCiAJICBhcHByb3hpbWF0ZWx5IGVpZ2h0IGtpbG9ieXRlcyB0byB0aGUga2VybmVsIGltYWdlLgorZW5kaWYKIAogY29uZmlnIFNDSEVEX1NNVAogCWJvb2wgIlNNVCAoSHlwZXJ0aHJlYWRpbmcpIHNjaGVkdWxlciBzdXBwb3J0IgpAQCAtNTk4LDcgKzYzMCw3IEBACiAKIGNvbmZpZyBYODZfVVBfQVBJQwogCWJvb2wgIkxvY2FsIEFQSUMgc3VwcG9ydCBvbiB1bmlwcm9jZXNzb3JzIgotCWRlcGVuZHMgb24gWDg2XzMyICYmICFTTVAgJiYgIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIgfHwgWDg2X0dFTkVSSUNBUkNIKQorCWRlcGVuZHMgb24gWDg2XzMyICYmICFTTVAgJiYgIShYODZfVk9ZQUdFUiB8fCBYODZfR0VORVJJQ0FSQ0gpCiAJaGVscAogCSAgQSBsb2NhbCBBUElDIChBZHZhbmNlZCBQcm9ncmFtbWFibGUgSW50ZXJydXB0IENvbnRyb2xsZXIpIGlzIGFuCiAJICBpbnRlZ3JhdGVkIGludGVycnVwdCBjb250cm9sbGVyIGluIHRoZSBDUFUuIElmIHlvdSBoYXZlIGEgc2luZ2xlLUNQVQpAQCAtNjIzLDExICs2NTUsMTEgQEAKIAogY29uZmlnIFg4Nl9MT0NBTF9BUElDCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgKFg4Nl9VUF9BUElDIHx8ICgoWDg2X1ZJU1dTIHx8IFNNUCkgJiYgIVg4Nl9WT1lBR0VSKSB8fCBYODZfR0VORVJJQ0FSQ0gpKQorCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgKFg4Nl9VUF9BUElDIHx8IChTTVAgJiYgIVg4Nl9WT1lBR0VSKSB8fCBYODZfR0VORVJJQ0FSQ0gpKQogCiBjb25maWcgWDg2X0lPX0FQSUMKIAlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBYODZfNjQgfHwgKFg4Nl8zMiAmJiAoWDg2X1VQX0lPQVBJQyB8fCAoU01QICYmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKSkgfHwgWDg2X0dFTkVSSUNBUkNIKSkKKwlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIChYODZfVVBfSU9BUElDIHx8IChTTVAgJiYgIVg4Nl9WT1lBR0VSKSB8fCBYODZfR0VORVJJQ0FSQ0gpKQogCiBjb25maWcgWDg2X1ZJU1dTX0FQSUMKIAlkZWZfYm9vbCB5CkBAIC02ODEsNyArNzEzLDcgQEAKIAogY29uZmlnIFg4Nl9NQ0VfUDRUSEVSTUFMCiAJYm9vbCAiY2hlY2sgZm9yIFA0IHRoZXJtYWwgdGhyb3R0bGluZyBpbnRlcnJ1cHQuIgotCWRlcGVuZHMgb24gWDg2XzMyICYmIFg4Nl9NQ0UgJiYgKFg4Nl9VUF9BUElDIHx8IFNNUCkgJiYgIVg4Nl9WSVNXUworCWRlcGVuZHMgb24gWDg2XzMyICYmIFg4Nl9NQ0UgJiYgKFg4Nl9VUF9BUElDIHx8IFNNUCkKIAloZWxwCiAJICBFbmFibGluZyB0aGlzIGZlYXR1cmUgd2lsbCBjYXVzZSBhIG1lc3NhZ2UgdG8gYmUgcHJpbnRlZCB3aGVuIHRoZSBQNAogCSAgZW50ZXJzIHRoZXJtYWwgdGhyb3R0bGluZy4KQEAgLTkxMSw5ICs5NDMsOSBAQAogY29uZmlnIE5VTUEKIAlib29sICJOdW1hIE1lbW9yeSBBbGxvY2F0aW9uIGFuZCBTY2hlZHVsZXIgU3VwcG9ydCAoRVhQRVJJTUVOVEFMKSIKIAlkZXBlbmRzIG9uIFNNUAotCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgSElHSE1FTTY0RyAmJiAoWDg2X05VTUFRIHx8IChYODZfU1VNTUlUIHx8IFg4Nl9HRU5FUklDQVJDSCkgJiYgQUNQSSkgJiYgRVhQRVJJTUVOVEFMKQorCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgSElHSE1FTTY0RyAmJiAoWDg2X05VTUFRIHx8IFg4Nl9CSUdTTVAgfHwgWDg2X1NVTU1JVCAmJiBBQ1BJKSAmJiBFWFBFUklNRU5UQUwpCiAJZGVmYXVsdCBuIGlmIFg4Nl9QQwotCWRlZmF1bHQgeSBpZiAoWDg2X05VTUFRIHx8IFg4Nl9TVU1NSVQpCisJZGVmYXVsdCB5IGlmIChYODZfTlVNQVEgfHwgWDg2X1NVTU1JVCB8fCBYODZfQklHU01QKQogCWhlbHAKIAkgIEVuYWJsZSBOVU1BIChOb24gVW5pZm9ybSBNZW1vcnkgQWNjZXNzKSBzdXBwb3J0LgogCSAgVGhlIGtlcm5lbCB3aWxsIHRyeSB0byBhbGxvY2F0ZSBtZW1vcnkgdXNlZCBieSBhIENQVSBvbiB0aGUKQEAgLTk2NSwxMyArOTk3LDI1IEBACiAJICBpbnRvIHZpcnR1YWwgbm9kZXMgd2hlbiBib290ZWQgd2l0aCAibnVtYT1mYWtlPU4iLCB3aGVyZSBOIGlzIHRoZQogCSAgbnVtYmVyIG9mIG5vZGVzLiBUaGlzIGlzIG9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmcuCiAKK2lmIE1BWFNNUAorCiBjb25maWcgTk9ERVNfU0hJRlQKLQlpbnQgIk1heCBudW0gbm9kZXMgc2hpZnQoMS05KSIKLQlyYW5nZSAxIDkgIGlmIFg4Nl82NAorCWludAorCWRlZmF1bHQgIjkiCitlbmRpZgorCitpZiAhTUFYU01QCitjb25maWcgTk9ERVNfU0hJRlQKKwlpbnQgIk1heGltdW0gTlVNQSBOb2RlcyAoYXMgYSBwb3dlciBvZiAyKSIKKwlyYW5nZSAxIDkgICBpZiBYODZfNjQKIAlkZWZhdWx0ICI2IiBpZiBYODZfNjQKIAlkZWZhdWx0ICI0IiBpZiBYODZfTlVNQVEKIAlkZWZhdWx0ICIzIgogCWRlcGVuZHMgb24gTkVFRF9NVUxUSVBMRV9OT0RFUworCWhlbHAKKwkgIFNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIE5VTUEgTm9kZXMgYXZhaWxhYmxlIG9uIHRoZSB0YXJnZXQKKwkgIHN5c3RlbS4gIEluY3JlYXNlcyBtZW1vcnkgcmVzZXJ2ZWQgdG8gYWNjb21vZGF0ZSB2YXJpb3VzIHRhYmxlcy4KK2VuZGlmCiAKIGNvbmZpZyBIQVZFX0FSQ0hfQk9PVE1FTV9OT0RFCiAJZGVmX2Jvb2wgeQpAQCAtMTA5MCw2ICsxMTM0LDM3IEBACiAKIAkgIFNlZSA8ZmlsZTpEb2N1bWVudGF0aW9uL210cnIudHh0PiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KIAorY29uZmlnIE1UUlJfU0FOSVRJWkVSCisJYm9vbAorCXByb21wdCAiTVRSUiBjbGVhbnVwIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBNVFJSCisJaGVscAorCSAgQ29udmVydCBNVFJSIGxheW91dCBmcm9tIGNvbnRpbnVvdXMgdG8gZGlzY3JldGUsIHNvIFggZHJpdmVycyBjYW4KKwkgIGFkZCB3cml0ZWJhY2sgZW50cmllcy4KKworCSAgQ2FuIGJlIGRpc2FibGVkIHdpdGggZGlzYWJsZV9tdHJyX2NsZWFudXAgb24gdGhlIGtlcm5lbCBjb21tYW5kIGxpbmUuCisJICBUaGUgbGFyZ2VzdCBtdHJyIGVudHJ5IHNpemUgZm9yIGEgY29udGlub3VzIGJsb2NrIGNhbiBiZSBzZXQgd2l0aAorCSAgbXRycl9jaHVua19zaXplLgorCisJICBJZiB1bnN1cmUsIHNheSBOLgorCitjb25maWcgTVRSUl9TQU5JVElaRVJfRU5BQkxFX0RFRkFVTFQKKwlpbnQgIk1UUlIgY2xlYW51cCBlbmFibGUgdmFsdWUgKDAtMSkiCisJcmFuZ2UgMCAxCisJZGVmYXVsdCAiMCIKKwlkZXBlbmRzIG9uIE1UUlJfU0FOSVRJWkVSCisJaGVscAorCSAgRW5hYmxlIG10cnIgY2xlYW51cCBkZWZhdWx0IHZhbHVlCisKK2NvbmZpZyBNVFJSX1NBTklUSVpFUl9TUEFSRV9SRUdfTlJfREVGQVVMVAorCWludCAiTVRSUiBjbGVhbnVwIHNwYXJlIHJlZyBudW0gKDAtNykiCisJcmFuZ2UgMCA3CisJZGVmYXVsdCAiMSIKKwlkZXBlbmRzIG9uIE1UUlJfU0FOSVRJWkVSCisJaGVscAorCSAgbXRyciBjbGVhbnVwIHNwYXJlIGVudHJpZXMgZGVmYXVsdCwgaXQgY2FuIGJlIGNoYW5nZWQgdmlhCisJICBtdHJyX3NwYXJlX3JlZ19ucj1OIG9uIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lLgorCiBjb25maWcgWDg2X1BBVAogCWJvb2wKIAlwcm9tcHQgIng4NiBQQVQgc3VwcG9ydCIKQEAgLTExOTAsNyArMTI2NSw2IEBACiAKIGNvbmZpZyBDUkFTSF9EVU1QCiAJYm9vbCAia2VybmVsIGNyYXNoIGR1bXBzIChFWFBFUklNRU5UQUwpIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCiAJZGVwZW5kcyBvbiBYODZfNjQgfHwgKFg4Nl8zMiAmJiBISUdITUVNKQogCWhlbHAKIAkgIEdlbmVyYXRlIGNyYXNoIGR1bXAgYWZ0ZXIgYmVpbmcgc3RhcnRlZCBieSBrZXhlYy4KQEAgLTEzMzksNyArMTQxMyw3IEBACiAKIG1lbnVjb25maWcgQVBNCiAJdHJpc3RhdGUgIkFQTSAoQWR2YW5jZWQgUG93ZXIgTWFuYWdlbWVudCkgQklPUyBzdXBwb3J0IgotCWRlcGVuZHMgb24gWDg2XzMyICYmIFBNX1NMRUVQICYmICFYODZfVklTV1MKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQTV9TTEVFUAogCS0tLWhlbHAtLS0KIAkgIEFQTSBpcyBhIEJJT1Mgc3BlY2lmaWNhdGlvbiBmb3Igc2F2aW5nIHBvd2VyIHVzaW5nIHNldmVyYWwgZGlmZmVyZW50CiAJICB0ZWNobmlxdWVzLiBUaGlzIGlzIG1vc3RseSB1c2VmdWwgZm9yIGJhdHRlcnkgcG93ZXJlZCBsYXB0b3BzIHdpdGgKQEAgLTE0NzUsOCArMTU0OSw3IEBACiBtZW51ICJCdXMgb3B0aW9ucyAoUENJIGV0Yy4pIgogCiBjb25maWcgUENJCi0JYm9vbCAiUENJIHN1cHBvcnQiIGlmICFYODZfVklTV1MgJiYgIVg4Nl9WU01QCi0JZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKKwlib29sICJQQ0kgc3VwcG9ydCIKIAlkZWZhdWx0IHkKIAlzZWxlY3QgQVJDSF9TVVBQT1JUU19NU0kgaWYgKFg4Nl9MT0NBTF9BUElDICYmIFg4Nl9JT19BUElDKQogCWhlbHAKQEAgLTE0ODcsNyArMTU2MCw3IEBACiAKIGNob2ljZQogCXByb21wdCAiUENJIGFjY2VzcyBtb2RlIgotCWRlcGVuZHMgb24gWDg2XzMyICYmIFBDSSAmJiAhWDg2X1ZJU1dTCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUENJCiAJZGVmYXVsdCBQQ0lfR09BTlkKIAktLS1oZWxwLS0tCiAJICBPbiBQQ0kgc3lzdGVtcywgdGhlIEJJT1MgY2FuIGJlIHVzZWQgdG8gZGV0ZWN0IHRoZSBQQ0kgZGV2aWNlcyBhbmQKQEAgLTE1MjQsMTIgKzE1OTcsMTIgQEAKIAogY29uZmlnIFBDSV9CSU9TCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmICFYODZfVklTV1MgJiYgUENJICYmIChQQ0lfR09CSU9TIHx8IFBDSV9HT0FOWSkKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQQ0kgJiYgKFBDSV9HT0JJT1MgfHwgUENJX0dPQU5ZKQogCiAjIHg4Ni02NCBkb2Vzbid0IHN1cHBvcnQgUENJIEJJT1MgYWNjZXNzIGZyb20gbG9uZyBtb2RlIHNvIGFsd2F5cyBnbyBkaXJlY3QuCiBjb25maWcgUENJX0RJUkVDVAogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFBDSSAmJiAoWDg2XzY0IHx8IChQQ0lfR09ESVJFQ1QgfHwgUENJX0dPQU5ZIHx8IFBDSV9HT09MUEMpIHx8IFg4Nl9WSVNXUykKKwlkZXBlbmRzIG9uIFBDSSAmJiAoWDg2XzY0IHx8IChQQ0lfR09ESVJFQ1QgfHwgUENJX0dPQU5ZIHx8IFBDSV9HT09MUEMpKQogCiBjb25maWcgUENJX01NQ09ORklHCiAJZGVmX2Jvb2wgeQpAQCAtMTU4OSw3ICsxNjYyLDcgQEAKIAogY29uZmlnIElTQQogCWJvb2wgIklTQSBzdXBwb3J0IgotCWRlcGVuZHMgb24gIShYODZfVk9ZQUdFUiB8fCBYODZfVklTV1MpCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAloZWxwCiAJICBGaW5kIG91dCB3aGV0aGVyIHlvdSBoYXZlIElTQSBzbG90cyBvbiB5b3VyIG1vdGhlcmJvYXJkLiAgSVNBIGlzIHRoZQogCSAgbmFtZSBvZiBhIGJ1cyBzeXN0ZW0sIGkuZS4gdGhlIHdheSB0aGUgQ1BVIHRhbGtzIHRvIHRoZSBvdGhlciBzdHVmZgpAQCAtMTYxNiw3ICsxNjg5LDcgQEAKIHNvdXJjZSAiZHJpdmVycy9laXNhL0tjb25maWciCiAKIGNvbmZpZyBNQ0EKLQlib29sICJNQ0Egc3VwcG9ydCIgaWYgIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJYm9vbCAiTUNBIHN1cHBvcnQiIGlmICFYODZfVk9ZQUdFUgogCWRlZmF1bHQgeSBpZiBYODZfVk9ZQUdFUgogCWhlbHAKIAkgIE1pY3JvQ2hhbm5lbCBBcmNoaXRlY3R1cmUgaXMgZm91bmQgaW4gc29tZSBJQk0gUFMvMiBtYWNoaW5lcyBhbmQKZGlmZiAtLWdpdCBhL2FyY2gveDg2L0tjb25maWcuY3B1IGIvYXJjaC94ODYvS2NvbmZpZy5jcHUKaW5kZXggMmFkNjMwMS4uYWJmZjFiOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvS2NvbmZpZy5jcHUKKysrIGIvYXJjaC94ODYvS2NvbmZpZy5jcHUKQEAgLTM0NCw3ICszNDQsNyBAQAogCiBjb25maWcgWDg2X1dQX1dPUktTX09LCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmICFNMzg2CisJZGVwZW5kcyBvbiAhTTM4NgogCiBjb25maWcgWDg2X0lOVkxQRwogCWRlZl9ib29sIHkKQEAgLTM5OSw2ICszOTksMTAgQEAKIAlkZWZfYm9vbCB5CiAJZGVwZW5kcyBvbiAoKE1XSU5DSElQM0QgfHwgTVdJTkNISVAyIHx8IE1DUlVTT0UgfHwgTUVGRklDRU9OIHx8IE1DWVJJWElJSSB8fCBNSzcgfHwgTUs2IHx8IE1QRU5USVVNNCB8fCBNUEVOVElVTU0gfHwgTVBFTlRJVU1JSUkgfHwgTVBFTlRJVU1JSSB8fCBNNjg2IHx8IE01ODZNTVggfHwgTTU4NlRTQyB8fCBNSzggfHwgTVZJQUMzXzIgfHwgTVZJQUM3IHx8IE1HRU9ERUdYMSB8fCBNR0VPREVfTFggfHwgTUNPUkUyKSAmJiAhWDg2X05VTUFRKSB8fCBYODZfNjQKIAorY29uZmlnIFg4Nl9DTVBYQ0hHNjQKKwlkZWZfYm9vbCB5CisJZGVwZW5kcyBvbiBYODZfUEFFIHx8IFg4Nl82NAorCiAjIHRoaXMgc2hvdWxkIGJlIHNldCBmb3IgYWxsIC1tYXJjaD0uLiBvcHRpb25zIHdoZXJlIHRoZSBjb21waWxlcgogIyBnZW5lcmF0ZXMgY21vdi4KIGNvbmZpZyBYODZfQ01PVgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvS2NvbmZpZy5kZWJ1ZyBiL2FyY2gveDg2L0tjb25maWcuZGVidWcKaW5kZXggMTgzNjMzNy4uYWUzNmJmYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvS2NvbmZpZy5kZWJ1ZworKysgYi9hcmNoL3g4Ni9LY29uZmlnLmRlYnVnCkBAIC0yMCw2ICsyMCwxNCBAQAogCiAJICBJZiBpbiBkb3VidCwgc2F5IFkuCiAKK2NvbmZpZyBYODZfVkVSQk9TRV9CT09UVVAKKwlib29sICJFbmFibGUgdmVyYm9zZSB4ODYgYm9vdHVwIGluZm8gbWVzc2FnZXMiCisJZGVmYXVsdCB5CisJaGVscAorCSAgRW5hYmxlcyB0aGUgaW5mb3JtYXRpb25hbCBvdXRwdXQgZnJvbSB0aGUgZGVjb21wcmVzc2lvbiBzdGFnZQorCSAgKGUuZy4gYnpJbWFnZSkgb2YgdGhlIGJvb3QuIElmIHlvdSBkaXNhYmxlIHRoaXMgeW91IHdpbGwgc3RpbGwKKwkgIHNlZSBlcnJvcnMuIERpc2FibGUgdGhpcyBpZiB5b3Ugd2FudCBzaWxlbnQgYm9vdHVwLgorCiBjb25maWcgRUFSTFlfUFJJTlRLCiAJYm9vbCAiRWFybHkgcHJpbnRrIiBpZiBFTUJFRERFRAogCWRlZmF1bHQgeQpAQCAtNjAsNyArNjgsNyBAQAogY29uZmlnIERFQlVHX1BFUl9DUFVfTUFQUwogCWJvb2wgIkRlYnVnIGFjY2VzcyB0byBwZXJfY3B1IG1hcHMiCiAJZGVwZW5kcyBvbiBERUJVR19LRVJORUwKLQlkZXBlbmRzIG9uIFg4Nl82NF9TTVAKKwlkZXBlbmRzIG9uIFg4Nl9TTVAKIAlkZWZhdWx0IG4KIAloZWxwCiAJICBTYXkgWSB0byB2ZXJpZnkgdGhhdCB0aGUgcGVyX2NwdSBtYXAgYmVpbmcgYWNjZXNzZWQgaGFzCkBAIC0xMjksMTUgKzEzNyw2IEBACiAJICBvbiB0aGUgVk0gc3Vic3lzdGVtIGZvciBoaWdoZXIgb3JkZXIgYWxsb2NhdGlvbnMuIFRoaXMgb3B0aW9uCiAJICB3aWxsIGFsc28gdXNlIElSUSBzdGFja3MgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIHJlZHVjZWQgc3RhY2tzcGFjZS4KIAotY29uZmlnIFg4Nl9GSU5EX1NNUF9DT05GSUcKLQlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBYODZfTE9DQUxfQVBJQyB8fCBYODZfVk9ZQUdFUgotCWRlcGVuZHMgb24gWDg2XzMyCi0KLWNvbmZpZyBYODZfTVBQQVJTRQotCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIChYODZfMzIgJiYgKFg4Nl9MT0NBTF9BUElDICYmICFYODZfVklTV1MpKSB8fCBYODZfNjQKLQogY29uZmlnIERPVUJMRUZBVUxUCiAJZGVmYXVsdCB5CiAJYm9vbCAiRW5hYmxlIGRvdWJsZWZhdWx0IGV4Y2VwdGlvbiBoYW5kbGVyIiBpZiBFTUJFRERFRApAQCAtMTcyLDYgKzE3MSwzMyBAQAogCSAgQWRkIGEgc2ltcGxlIGxlYWsgdHJhY2VyIHRvIHRoZSBJT01NVSBjb2RlLiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdQogCSAgYXJlIGRlYnVnZ2luZyBhIGJ1Z2d5IGRldmljZSBkcml2ZXIgdGhhdCBsZWFrcyBJT01NVSBtYXBwaW5ncy4KIAorY29uZmlnIE1NSU9UUkFDRV9IT09LUworCWJvb2wKKworY29uZmlnIE1NSU9UUkFDRQorCWJvb2wgIk1lbW9yeSBtYXBwZWQgSU8gdHJhY2luZyIKKwlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTCAmJiBQQ0kKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBNTUlPVFJBQ0VfSE9PS1MKKwloZWxwCisJICBNbWlvdHJhY2UgdHJhY2VzIE1lbW9yeSBNYXBwZWQgSS9PIGFjY2VzcyBhbmQgaXMgbWVhbnQgZm9yCisJICBkZWJ1Z2dpbmcgYW5kIHJldmVyc2UgZW5naW5lZXJpbmcuIEl0IGlzIGNhbGxlZCBmcm9tIHRoZSBpb3JlbWFwCisJICBpbXBsZW1lbnRhdGlvbiBhbmQgd29ya3MgdmlhIHBhZ2UgZmF1bHRzLiBUcmFjaW5nIGlzIGRpc2FibGVkIGJ5CisJICBkZWZhdWx0IGFuZCBjYW4gYmUgZW5hYmxlZCBhdCBydW4tdGltZS4KKworCSAgU2VlIERvY3VtZW50YXRpb24vdHJhY2Vycy9tbWlvdHJhY2UudHh0LgorCSAgSWYgeW91IGFyZSBub3QgaGVscGluZyB0byBkZXZlbG9wIGRyaXZlcnMsIHNheSBOLgorCitjb25maWcgTU1JT1RSQUNFX1RFU1QKKwl0cmlzdGF0ZSAiVGVzdCBtb2R1bGUgZm9yIG1taW90cmFjZSIKKwlkZXBlbmRzIG9uIE1NSU9UUkFDRSAmJiBtCisJaGVscAorCSAgVGhpcyBpcyBhIGR1bWIgbW9kdWxlIGZvciB0ZXN0aW5nIG1taW90cmFjZS4gSXQgaXMgdmVyeSBkYW5nZXJvdXMKKwkgIGFzIGl0IHdpbGwgd3JpdGUgZ2FyYmFnZSB0byBJTyBtZW1vcnkgc3RhcnRpbmcgYXQgYSBnaXZlbiBhZGRyZXNzLgorCSAgSG93ZXZlciwgaXQgc2hvdWxkIGJlIHNhZmUgdG8gdXNlIG9uIGUuZy4gdW51c2VkIHBvcnRpb24gb2YgVlJBTS4KKworCSAgU2F5IE4sIHVubGVzcyB5b3UgYWJzb2x1dGVseSBrbm93IHdoYXQgeW91IGFyZSBkb2luZy4KKwogIwogIyBJTyBkZWxheSB0eXBlczoKICMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L01ha2VmaWxlIGIvYXJjaC94ODYvTWFrZWZpbGUKaW5kZXggM2NmZjNjOC4uOTE5Y2UyMSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvTWFrZWZpbGUKQEAgLTExMywzMyArMTEzLDExIEBACiBtZmxhZ3MtJChDT05GSUdfWDg2X1ZPWUFHRVIpCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlcgogbWNvcmUtJChDT05GSUdfWDg2X1ZPWUFHRVIpCTo9IGFyY2gveDg2L21hY2gtdm95YWdlci8KIAotIyBWSVNXUyBzdWJhcmNoIHN1cHBvcnQKLW1mbGFncy0kKENPTkZJR19YODZfVklTV1MpCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MKLW1jb3JlLSQoQ09ORklHX1g4Nl9WSVNXUykJOj0gYXJjaC94ODYvbWFjaC12aXN3cy8KLQotIyBOVU1BUSBzdWJhcmNoIHN1cHBvcnQKLW1mbGFncy0kKENPTkZJR19YODZfTlVNQVEpCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEKLW1jb3JlLSQoQ09ORklHX1g4Nl9OVU1BUSkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwotCi0jIEJJR1NNUCBzdWJhcmNoIHN1cHBvcnQKLW1mbGFncy0kKENPTkZJR19YODZfQklHU01QKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcAotbWNvcmUtJChDT05GSUdfWDg2X0JJR1NNUCkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwotCi0jU3VtbWl0IHN1YmFyY2ggc3VwcG9ydAotbWZsYWdzLSQoQ09ORklHX1g4Nl9TVU1NSVQpCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtc3VtbWl0Ci1tY29yZS0kKENPTkZJR19YODZfU1VNTUlUKQk6PSBhcmNoL3g4Ni9tYWNoLWRlZmF1bHQvCi0KICMgZ2VuZXJpYyBzdWJhcmNoaXRlY3R1cmUKIG1mbGFncy0kKENPTkZJR19YODZfR0VORVJJQ0FSQ0gpOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljCiBmY29yZS0kKENPTkZJR19YODZfR0VORVJJQ0FSQ0gpCSs9IGFyY2gveDg2L21hY2gtZ2VuZXJpYy8KIG1jb3JlLSQoQ09ORklHX1g4Nl9HRU5FUklDQVJDSCkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwogCi0KLSMgRVM3MDAwIHN1YmFyY2ggc3VwcG9ydAotbWZsYWdzLSQoQ09ORklHX1g4Nl9FUzcwMDApCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtZXM3MDAwCi1mY29yZS0kKENPTkZJR19YODZfRVM3MDAwKQk6PSBhcmNoL3g4Ni9tYWNoLWVzNzAwMC8KLW1jb3JlLSQoQ09ORklHX1g4Nl9FUzcwMDApCTo9IGFyY2gveDg2L21hY2gtZGVmYXVsdC8KLQogIyBSREMgUi0zMjF4IHN1YmFyY2ggc3VwcG9ydAogbWZsYWdzLSQoQ09ORklHX1g4Nl9SREMzMjFYKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLXJkYzMyMXgKIG1jb3JlLSQoQ09ORklHX1g4Nl9SREMzMjFYKQk6PSBhcmNoL3g4Ni9tYWNoLWRlZmF1bHQvCkBAIC0xNjAsNiArMTM4LDcgQEAKIAogaGVhZC15IDo9IGFyY2gveDg2L2tlcm5lbC9oZWFkXyQoQklUUykubwogaGVhZC15ICs9IGFyY2gveDg2L2tlcm5lbC9oZWFkJChCSVRTKS5vCitoZWFkLXkgKz0gYXJjaC94ODYva2VybmVsL2hlYWQubwogaGVhZC15ICs9IGFyY2gveDg2L2tlcm5lbC9pbml0X3Rhc2subwogCiBsaWJzLXkgICs9IGFyY2gveDg2L2xpYi8KQEAgLTIxMCwxMiArMTg5LDEyIEBACiAKICMgS0JVSUxEX0lNQUdFIHNwZWNpZnkgdGFyZ2V0IGltYWdlIGJlaW5nIGJ1aWx0CiAgICAgICAgICAgICAgICAgICAgIEtCVUlMRF9JTUFHRSA6PSAkKGJvb3QpL2J6SW1hZ2UKLXpJbWFnZSB6bGlsbyB6ZGlzazogS0JVSUxEX0lNQUdFIDo9IGFyY2gveDg2L2Jvb3QvekltYWdlCit6SW1hZ2UgemxpbG8gemRpc2s6IEtCVUlMRF9JTUFHRSA6PSAkKGJvb3QpL3pJbWFnZQogCiB6SW1hZ2UgYnpJbWFnZTogdm1saW51eAogCSQoUSkkKE1BS0UpICQoYnVpbGQpPSQoYm9vdCkgJChLQlVJTERfSU1BR0UpCiAJJChRKW1rZGlyIC1wICQob2JqdHJlZSkvYXJjaC8kKFVUU19NQUNISU5FKS9ib290Ci0JJChRKWxuIC1mc24gLi4vLi4veDg2L2Jvb3QvYnpJbWFnZSAkKG9ianRyZWUpL2FyY2gvJChVVFNfTUFDSElORSkvYm9vdC9iekltYWdlCisJJChRKWxuIC1mc24gLi4vLi4veDg2L2Jvb3QvYnpJbWFnZSAkKG9ianRyZWUpL2FyY2gvJChVVFNfTUFDSElORSkvYm9vdC8kQAogCiBjb21wcmVzc2VkOiB6SW1hZ2UKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9hMjAuYyBiL2FyY2gveDg2L2Jvb3QvYTIwLmMKaW5kZXggZTAxYWFmZC4uNDA2M2Q2MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9hMjAuYworKysgYi9hcmNoL3g4Ni9ib290L2EyMC5jCkBAIC0xLDcgKzEsNyBAQAogLyogLSotIGxpbnV4LWMgLSotIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKgogICoKICAqICAgQ29weXJpZ2h0IChDKSAxOTkxLCAxOTkyIExpbnVzIFRvcnZhbGRzCi0gKiAgIENvcHlyaWdodCAyMDA3IHJQYXRoLCBJbmMuIC0gQWxsIFJpZ2h0cyBSZXNlcnZlZAorICogICBDb3B5cmlnaHQgMjAwNy0yMDA4IHJQYXRoLCBJbmMuIC0gQWxsIFJpZ2h0cyBSZXNlcnZlZAogICoKICAqICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIExpbnV4IGtlcm5lbCwgYW5kIGlzIG1hZGUgYXZhaWxhYmxlIHVuZGVyCiAgKiAgIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyLgpAQCAtOTUsNiArOTUsOSBAQAogCiAJb3V0YigweGRmLCAweDYwKTsJLyogQTIwIG9uICovCiAJZW1wdHlfODA0MigpOworCisJb3V0YigweGZmLCAweDY0KTsJLyogTnVsbCBjb21tYW5kLCBidXQgVUhDSSB3YW50cyBpdCAqLworCWVtcHR5XzgwNDIoKTsKIH0KIAogc3RhdGljIHZvaWQgZW5hYmxlX2EyMF9mYXN0KHZvaWQpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvaGVhZF82NC5TIGIvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL2hlYWRfNjQuUwppbmRleCBkODgxOWVmLi4xZDVkZmY0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvaGVhZF82NC5TCisrKyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9oZWFkXzY0LlMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxhc20vcGFnZS5oPgogI2luY2x1ZGUgPGFzbS9ib290Lmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3ItZmxhZ3MuaD4KICNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KIAogLnNlY3Rpb24gIi50ZXh0LmhlYWQiCkBAIC0xMDksNyArMTEwLDcgQEAKIAogCS8qIEVuYWJsZSBQQUUgbW9kZSAqLwogCXhvcmwJJWVheCwgJWVheAotCW9ybAkkKDEgPDwgNSksICVlYXgKKwlvcmwJJChYODZfQ1I0X1BBRSksICVlYXgKIAltb3ZsCSVlYXgsICVjcjQKIAogIC8qCkBAIC0xNzAsNyArMTcxLDcgQEAKIAlwdXNobAklZWF4CiAKIAkvKiBFbnRlciBwYWdlZCBwcm90ZWN0ZWQgTW9kZSwgYWN0aXZhdGluZyBMb25nIE1vZGUgKi8KLQltb3ZsCSQweDgwMDAwMDAxLCAlZWF4IC8qIEVuYWJsZSBQYWdpbmcgYW5kIFByb3RlY3RlZCBtb2RlICovCisJbW92bAkkKFg4Nl9DUjBfUEcgfCBYODZfQ1IwX1BFKSwgJWVheCAvKiBFbmFibGUgUGFnaW5nIGFuZCBQcm90ZWN0ZWQgbW9kZSAqLwogCW1vdmwJJWVheCwgJWNyMAogCiAJLyogSnVtcCBmcm9tIDMyYml0IGNvbXBhdGliaWxpdHkgbW9kZSBpbnRvIDY0Yml0IG1vZGUuICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvbWlzYy5jIGIvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL21pc2MuYwppbmRleCA5MDQ1NmNlLi5iYzU1NTNiIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvbWlzYy5jCisrKyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9taXNjLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vcGFnZS5oPgogI2luY2x1ZGUgPGFzbS9ib290Lmg+CisjaW5jbHVkZSA8YXNtL2Jvb3RwYXJhbS5oPgogCiAvKiBXQVJOSU5HISEKICAqIFRoaXMgY29kZSBpcyBjb21waWxlZCB3aXRoIC1mUElDIGFuZCBpdCBpcyByZWxvY2F0ZWQgZHluYW1pY2FsbHkKQEAgLTE4NywxMyArMTg4LDggQEAKIC8qCiAgKiBUaGlzIGlzIHNldCB1cCBieSB0aGUgc2V0dXAtcm91dGluZSBhdCBib290LXRpbWUKICAqLwotc3RhdGljIHVuc2lnbmVkIGNoYXIgKnJlYWxfbW9kZTsgLyogUG9pbnRlciB0byByZWFsLW1vZGUgZGF0YSAqLwotCi0jZGVmaW5lIFJNX0VYVF9NRU1fSyAgICgqKHVuc2lnbmVkIHNob3J0ICopKHJlYWxfbW9kZSArIDB4MikpCi0jaWZuZGVmIFNUQU5EQVJEX01FTU9SWV9CSU9TX0NBTEwKLSNkZWZpbmUgUk1fQUxUX01FTV9LICAgKCoodW5zaWduZWQgbG9uZyAqKShyZWFsX21vZGUgKyAweDFlMCkpCi0jZW5kaWYKLSNkZWZpbmUgUk1fU0NSRUVOX0lORk8gKCooc3RydWN0IHNjcmVlbl9pbmZvICopKHJlYWxfbW9kZSswKSkKK3N0YXRpYyBzdHJ1Y3QgYm9vdF9wYXJhbXMgKnJlYWxfbW9kZTsJCS8qIFBvaW50ZXIgdG8gcmVhbC1tb2RlIGRhdGEgKi8KK3N0YXRpYyBpbnQgcXVpZXQ7CiAKIGV4dGVybiB1bnNpZ25lZCBjaGFyIGlucHV0X2RhdGFbXTsKIGV4dGVybiBpbnQgaW5wdXRfbGVuOwpAQCAtMjA2LDcgKzIwMiw4IEBACiBzdGF0aWMgdm9pZCAqbWVtc2V0KHZvaWQgKnMsIGludCBjLCB1bnNpZ25lZCBuKTsKIHN0YXRpYyB2b2lkICptZW1jcHkodm9pZCAqZGVzdCwgY29uc3Qgdm9pZCAqc3JjLCB1bnNpZ25lZCBuKTsKIAotc3RhdGljIHZvaWQgcHV0c3RyKGNvbnN0IGNoYXIgKik7CitzdGF0aWMgdm9pZCBfX3B1dHN0cihpbnQsIGNvbnN0IGNoYXIgKik7CisjZGVmaW5lIHB1dHN0cihfX3gpICBfX3B1dHN0cigwLCBfX3gpCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAjZGVmaW5lIG1lbXB0ciBsb25nCkBAIC0yMjEsMTAgKzIxOCw2IEBACiBzdGF0aWMgaW50IHZpZHBvcnQ7CiBzdGF0aWMgaW50IGxpbmVzLCBjb2xzOwogCi0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQotdm9pZCAqeHF1YWRfcG9ydGlvOwotI2VuZGlmCi0KICNpbmNsdWRlICIuLi8uLi8uLi8uLi9saWIvaW5mbGF0ZS5jIgogCiBzdGF0aWMgdm9pZCAqbWFsbG9jKGludCBzaXplKQpAQCAtMjcwLDE4ICsyNjMsMjQgQEAKIAkJdmlkbWVtW2ldID0gJyAnOwogfQogCi1zdGF0aWMgdm9pZCBwdXRzdHIoY29uc3QgY2hhciAqcykKK3N0YXRpYyB2b2lkIF9fcHV0c3RyKGludCBlcnJvciwgY29uc3QgY2hhciAqcykKIHsKIAlpbnQgeCwgeSwgcG9zOwogCWNoYXIgYzsKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLQlpZiAoUk1fU0NSRUVOX0lORk8ub3JpZ192aWRlb19tb2RlID09IDAgJiYgbGluZXMgPT0gMCAmJiBjb2xzID09IDApCisjaWZuZGVmIENPTkZJR19YODZfVkVSQk9TRV9CT09UVVAKKwlpZiAoIWVycm9yKQogCQlyZXR1cm47CiAjZW5kaWYKIAotCXggPSBSTV9TQ1JFRU5fSU5GTy5vcmlnX3g7Ci0JeSA9IFJNX1NDUkVFTl9JTkZPLm9yaWdfeTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJaWYgKHJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ192aWRlb19tb2RlID09IDAgJiYKKwkgICAgbGluZXMgPT0gMCAmJiBjb2xzID09IDApCisJCXJldHVybjsKKyNlbmRpZgorCisJeCA9IHJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ194OworCXkgPSByZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfeTsKIAogCXdoaWxlICgoYyA9ICpzKyspICE9ICdcMCcpIHsKIAkJaWYgKGMgPT0gJ1xuJykgewpAQCAtMzAyLDggKzMwMSw4IEBACiAJCX0KIAl9CiAKLQlSTV9TQ1JFRU5fSU5GTy5vcmlnX3ggPSB4OwotCVJNX1NDUkVFTl9JTkZPLm9yaWdfeSA9IHk7CisJcmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3ggPSB4OworCXJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ195ID0geTsKIAogCXBvcyA9ICh4ICsgY29scyAqIHkpICogMjsJLyogVXBkYXRlIGN1cnNvciBwb3NpdGlvbiAqLwogCW91dGIoMTQsIHZpZHBvcnQpOwpAQCAtMzY2LDkgKzM2NSw5IEBACiAKIHN0YXRpYyB2b2lkIGVycm9yKGNoYXIgKngpCiB7Ci0JcHV0c3RyKCJcblxuIik7Ci0JcHV0c3RyKHgpOwotCXB1dHN0cigiXG5cbiAtLSBTeXN0ZW0gaGFsdGVkIik7CisJX19wdXRzdHIoMSwgIlxuXG4iKTsKKwlfX3B1dHN0cigxLCB4KTsKKwlfX3B1dHN0cigxLCAiXG5cbiAtLSBTeXN0ZW0gaGFsdGVkIik7CiAKIAl3aGlsZSAoMSkKIAkJYXNtKCJobHQiKTsKQEAgLTM5NSw3ICszOTQsOCBAQAogCQlyZXR1cm47CiAJfQogCi0JcHV0c3RyKCJQYXJzaW5nIEVMRi4uLiAiKTsKKwlpZiAoIXF1aWV0KQorCQlwdXRzdHIoIlBhcnNpbmcgRUxGLi4uICIpOwogCiAJcGhkcnMgPSBtYWxsb2Moc2l6ZW9mKCpwaGRycykgKiBlaGRyLmVfcGhudW0pOwogCWlmICghcGhkcnMpCkBAIC00MzAsNyArNDMwLDEwIEBACiB7CiAJcmVhbF9tb2RlID0gcm1vZGU7CiAKLQlpZiAoUk1fU0NSRUVOX0lORk8ub3JpZ192aWRlb19tb2RlID09IDcpIHsKKwlpZiAocmVhbF9tb2RlLT5oZHIubG9hZGZsYWdzICYgUVVJRVRfRkxBRykKKwkJcXVpZXQgPSAxOworCisJaWYgKHJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ192aWRlb19tb2RlID09IDcpIHsKIAkJdmlkbWVtID0gKGNoYXIgKikgMHhiMDAwMDsKIAkJdmlkcG9ydCA9IDB4M2I0OwogCX0gZWxzZSB7CkBAIC00MzgsOCArNDQxLDggQEAKIAkJdmlkcG9ydCA9IDB4M2Q0OwogCX0KIAotCWxpbmVzID0gUk1fU0NSRUVOX0lORk8ub3JpZ192aWRlb19saW5lczsKLQljb2xzID0gUk1fU0NSRUVOX0lORk8ub3JpZ192aWRlb19jb2xzOworCWxpbmVzID0gcmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3ZpZGVvX2xpbmVzOworCWNvbHMgPSByZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfdmlkZW9fY29sczsKIAogCXdpbmRvdyA9IG91dHB1dDsJCS8qIE91dHB1dCBidWZmZXIgKE5vcm1hbGx5IGF0IDFNKSAqLwogCWZyZWVfbWVtX3B0ciAgICAgPSBoZWFwOwkvKiBIZWFwICovCkBAIC00NjUsOSArNDY4LDExIEBACiAjZW5kaWYKIAogCW1ha2VjcmMoKTsKLQlwdXRzdHIoIlxuRGVjb21wcmVzc2luZyBMaW51eC4uLiAiKTsKKwlpZiAoIXF1aWV0KQorCQlwdXRzdHIoIlxuRGVjb21wcmVzc2luZyBMaW51eC4uLiAiKTsKIAlndW56aXAoKTsKIAlwYXJzZV9lbGYob3V0cHV0KTsKLQlwdXRzdHIoImRvbmUuXG5Cb290aW5nIHRoZSBrZXJuZWwuXG4iKTsKKwlpZiAoIXF1aWV0KQorCQlwdXRzdHIoImRvbmUuXG5Cb290aW5nIHRoZSBrZXJuZWwuXG4iKTsKIAlyZXR1cm47CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvcmVsb2NzLmMgYi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvcmVsb2NzLmMKaW5kZXggZWRhYWRlYS4uYTEzMTBjNSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL3JlbG9jcy5jCisrKyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9yZWxvY3MuYwpAQCAtMTAsMTYgKzEwLDIwIEBACiAjZGVmaW5lIFVTRV9CU0QKICNpbmNsdWRlIDxlbmRpYW4uaD4KIAotI2RlZmluZSBNQVhfU0hEUlMgMTAwCiAjZGVmaW5lIEFSUkFZX1NJWkUoeCkgKHNpemVvZih4KSAvIHNpemVvZigoeClbMF0pKQogc3RhdGljIEVsZjMyX0VoZHIgZWhkcjsKLXN0YXRpYyBFbGYzMl9TaGRyIHNoZHJbTUFYX1NIRFJTXTsKLXN0YXRpYyBFbGYzMl9TeW0gICpzeW10YWJbTUFYX1NIRFJTXTsKLXN0YXRpYyBFbGYzMl9SZWwgICpyZWx0YWJbTUFYX1NIRFJTXTsKLXN0YXRpYyBjaGFyICpzdHJ0YWJbTUFYX1NIRFJTXTsKIHN0YXRpYyB1bnNpZ25lZCBsb25nIHJlbG9jX2NvdW50LCByZWxvY19pZHg7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyAqcmVsb2NzOwogCitzdHJ1Y3Qgc2VjdGlvbiB7CisJRWxmMzJfU2hkciAgICAgc2hkcjsKKwlzdHJ1Y3Qgc2VjdGlvbiAqbGluazsKKwlFbGYzMl9TeW0gICAgICAqc3ltdGFiOworCUVsZjMyX1JlbCAgICAgICpyZWx0YWI7CisJY2hhciAgICAgICAgICAgKnN0cnRhYjsKK307CitzdGF0aWMgc3RydWN0IHNlY3Rpb24gKnNlY3M7CisKIC8qCiAgKiBGb2xsb3dpbmcgc3ltYm9scyBoYXZlIGJlZW4gYXVkaXRlZC4gVGhlcmUgdmFsdWVzIGFyZSBjb25zdGFudCBhbmQgZG8KICAqIG5vdCBjaGFuZ2UgaWYgYnpJbWFnZSBpcyBsb2FkZWQgYXQgYSBkaWZmZXJlbnQgcGh5c2ljYWwgYWRkcmVzcyB0aGFuCkBAIC0zNSw3ICszOSw3IEBACiB7CiAJaW50IGk7CiAKLQlmb3IoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNhZmVfYWJzX3JlbG9jcyk7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNhZmVfYWJzX3JlbG9jcyk7IGkrKykgewogCQlpZiAoIXN0cmNtcChzeW1fbmFtZSwgc2FmZV9hYnNfcmVsb2NzW2ldKSkKIAkJCS8qIE1hdGNoIGZvdW5kICovCiAJCQlyZXR1cm4gMTsKQEAgLTEzNywxMCArMTQxLDEwIEBACiB7CiAJY29uc3QgY2hhciAqc2VjX3N0cnRhYjsKIAljb25zdCBjaGFyICpuYW1lOwotCXNlY19zdHJ0YWIgPSBzdHJ0YWJbZWhkci5lX3Noc3RybmR4XTsKKwlzZWNfc3RydGFiID0gc2Vjc1tlaGRyLmVfc2hzdHJuZHhdLnN0cnRhYjsKIAluYW1lID0gIjxub25hbWU+IjsKIAlpZiAoc2huZHggPCBlaGRyLmVfc2hudW0pIHsKLQkJbmFtZSA9IHNlY19zdHJ0YWIgKyBzaGRyW3NobmR4XS5zaF9uYW1lOworCQluYW1lID0gc2VjX3N0cnRhYiArIHNlY3Nbc2huZHhdLnNoZHIuc2hfbmFtZTsKIAl9CiAJZWxzZSBpZiAoc2huZHggPT0gU0hOX0FCUykgewogCQluYW1lID0gIkFCU09MVVRFIjsKQEAgLTE1OSw3ICsxNjMsNyBAQAogCQluYW1lID0gc3ltX3N0cnRhYiArIHN5bS0+c3RfbmFtZTsKIAl9CiAJZWxzZSB7Ci0JCW5hbWUgPSBzZWNfbmFtZShzaGRyW3N5bS0+c3Rfc2huZHhdLnNoX25hbWUpOworCQluYW1lID0gc2VjX25hbWUoc2Vjc1tzeW0tPnN0X3NobmR4XS5zaGRyLnNoX25hbWUpOwogCX0KIAlyZXR1cm4gbmFtZTsKIH0KQEAgLTI0NCwyOSArMjQ4LDM0IEBACiBzdGF0aWMgdm9pZCByZWFkX3NoZHJzKEZJTEUgKmZwKQogewogCWludCBpOwotCWlmIChlaGRyLmVfc2hudW0gPiBNQVhfU0hEUlMpIHsKLQkJZGllKCIlZCBzZWN0aW9uIGhlYWRlcnMgc3VwcG9ydGVkOiAlZFxuIiwKLQkJCWVoZHIuZV9zaG51bSwgTUFYX1NIRFJTKTsKKwlFbGYzMl9TaGRyIHNoZHI7CisKKwlzZWNzID0gY2FsbG9jKGVoZHIuZV9zaG51bSwgc2l6ZW9mKHN0cnVjdCBzZWN0aW9uKSk7CisJaWYgKCFzZWNzKSB7CisJCWRpZSgiVW5hYmxlIHRvIGFsbG9jYXRlICVkIHNlY3Rpb24gaGVhZGVyc1xuIiwKKwkJICAgIGVoZHIuZV9zaG51bSk7CiAJfQogCWlmIChmc2VlayhmcCwgZWhkci5lX3Nob2ZmLCBTRUVLX1NFVCkgPCAwKSB7CiAJCWRpZSgiU2VlayB0byAlZCBmYWlsZWQ6ICVzXG4iLAogCQkJZWhkci5lX3Nob2ZmLCBzdHJlcnJvcihlcnJubykpOwogCX0KLQlpZiAoZnJlYWQoJnNoZHIsIHNpemVvZihzaGRyWzBdKSwgZWhkci5lX3NobnVtLCBmcCkgIT0gZWhkci5lX3NobnVtKSB7Ci0JCWRpZSgiQ2Fubm90IHJlYWQgRUxGIHNlY3Rpb24gaGVhZGVyczogJXNcbiIsCi0JCQlzdHJlcnJvcihlcnJubykpOwotCX0KLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgewotCQlzaGRyW2ldLnNoX25hbWUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX25hbWUpOwotCQlzaGRyW2ldLnNoX3R5cGUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX3R5cGUpOwotCQlzaGRyW2ldLnNoX2ZsYWdzICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2ZsYWdzKTsKLQkJc2hkcltpXS5zaF9hZGRyICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9hZGRyKTsKLQkJc2hkcltpXS5zaF9vZmZzZXQgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9vZmZzZXQpOwotCQlzaGRyW2ldLnNoX3NpemUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX3NpemUpOwotCQlzaGRyW2ldLnNoX2xpbmsgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2xpbmspOwotCQlzaGRyW2ldLnNoX2luZm8gICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2luZm8pOwotCQlzaGRyW2ldLnNoX2FkZHJhbGlnbiA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2FkZHJhbGlnbik7Ci0JCXNoZHJbaV0uc2hfZW50c2l6ZSAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfZW50c2l6ZSk7CisJZm9yIChpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKKwkJaWYgKGZyZWFkKCZzaGRyLCBzaXplb2Ygc2hkciwgMSwgZnApICE9IDEpCisJCQlkaWUoIkNhbm5vdCByZWFkIEVMRiBzZWN0aW9uIGhlYWRlcnMgJWQvJWQ6ICVzXG4iLAorCQkJICAgIGksIGVoZHIuZV9zaG51bSwgc3RyZXJyb3IoZXJybm8pKTsKKwkJc2VjLT5zaGRyLnNoX25hbWUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX25hbWUpOworCQlzZWMtPnNoZHIuc2hfdHlwZSAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfdHlwZSk7CisJCXNlYy0+c2hkci5zaF9mbGFncyAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9mbGFncyk7CisJCXNlYy0+c2hkci5zaF9hZGRyICAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9hZGRyKTsKKwkJc2VjLT5zaGRyLnNoX29mZnNldCAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX29mZnNldCk7CisJCXNlYy0+c2hkci5zaF9zaXplICAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9zaXplKTsKKwkJc2VjLT5zaGRyLnNoX2xpbmsgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX2xpbmspOworCQlzZWMtPnNoZHIuc2hfaW5mbyAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfaW5mbyk7CisJCXNlYy0+c2hkci5zaF9hZGRyYWxpZ24gPSBlbGYzMl90b19jcHUoc2hkci5zaF9hZGRyYWxpZ24pOworCQlzZWMtPnNoZHIuc2hfZW50c2l6ZSAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfZW50c2l6ZSk7CisJCWlmIChzZWMtPnNoZHIuc2hfbGluayA8IGVoZHIuZV9zaG51bSkKKwkJCXNlYy0+bGluayA9ICZzZWNzW3NlYy0+c2hkci5zaF9saW5rXTsKIAl9CiAKIH0KQEAgLTI3NCwyMCArMjgzLDIyIEBACiBzdGF0aWMgdm9pZCByZWFkX3N0cnRhYnMoRklMRSAqZnApCiB7CiAJaW50IGk7Ci0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKLQkJaWYgKHNoZHJbaV0uc2hfdHlwZSAhPSBTSFRfU1RSVEFCKSB7CisJZm9yIChpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKKwkJaWYgKHNlYy0+c2hkci5zaF90eXBlICE9IFNIVF9TVFJUQUIpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXN0cnRhYltpXSA9IG1hbGxvYyhzaGRyW2ldLnNoX3NpemUpOwotCQlpZiAoIXN0cnRhYltpXSkgeworCQlzZWMtPnN0cnRhYiA9IG1hbGxvYyhzZWMtPnNoZHIuc2hfc2l6ZSk7CisJCWlmICghc2VjLT5zdHJ0YWIpIHsKIAkJCWRpZSgibWFsbG9jIG9mICVkIGJ5dGVzIGZvciBzdHJ0YWIgZmFpbGVkXG4iLAotCQkJCXNoZHJbaV0uc2hfc2l6ZSk7CisJCQkJc2VjLT5zaGRyLnNoX3NpemUpOwogCQl9Ci0JCWlmIChmc2VlayhmcCwgc2hkcltpXS5zaF9vZmZzZXQsIFNFRUtfU0VUKSA8IDApIHsKKwkJaWYgKGZzZWVrKGZwLCBzZWMtPnNoZHIuc2hfb2Zmc2V0LCBTRUVLX1NFVCkgPCAwKSB7CiAJCQlkaWUoIlNlZWsgdG8gJWQgZmFpbGVkOiAlc1xuIiwKLQkJCQlzaGRyW2ldLnNoX29mZnNldCwgc3RyZXJyb3IoZXJybm8pKTsKKwkJCQlzZWMtPnNoZHIuc2hfb2Zmc2V0LCBzdHJlcnJvcihlcnJubykpOwogCQl9Ci0JCWlmIChmcmVhZChzdHJ0YWJbaV0sIDEsIHNoZHJbaV0uc2hfc2l6ZSwgZnApICE9IHNoZHJbaV0uc2hfc2l6ZSkgeworCQlpZiAoZnJlYWQoc2VjLT5zdHJ0YWIsIDEsIHNlYy0+c2hkci5zaF9zaXplLCBmcCkKKwkJICAgICE9IHNlYy0+c2hkci5zaF9zaXplKSB7CiAJCQlkaWUoIkNhbm5vdCByZWFkIHN5bWJvbCB0YWJsZTogJXNcbiIsCiAJCQkJc3RyZXJyb3IoZXJybm8pKTsKIAkJfQpAQCAtMjk3LDI4ICszMDgsMzEgQEAKIHN0YXRpYyB2b2lkIHJlYWRfc3ltdGFicyhGSUxFICpmcCkKIHsKIAlpbnQgaSxqOwotCWZvcihpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7Ci0JCWlmIChzaGRyW2ldLnNoX3R5cGUgIT0gU0hUX1NZTVRBQikgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CisJCWlmIChzZWMtPnNoZHIuc2hfdHlwZSAhPSBTSFRfU1lNVEFCKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzeW10YWJbaV0gPSBtYWxsb2Moc2hkcltpXS5zaF9zaXplKTsKLQkJaWYgKCFzeW10YWJbaV0pIHsKKwkJc2VjLT5zeW10YWIgPSBtYWxsb2Moc2VjLT5zaGRyLnNoX3NpemUpOworCQlpZiAoIXNlYy0+c3ltdGFiKSB7CiAJCQlkaWUoIm1hbGxvYyBvZiAlZCBieXRlcyBmb3Igc3ltdGFiIGZhaWxlZFxuIiwKLQkJCQlzaGRyW2ldLnNoX3NpemUpOworCQkJCXNlYy0+c2hkci5zaF9zaXplKTsKIAkJfQotCQlpZiAoZnNlZWsoZnAsIHNoZHJbaV0uc2hfb2Zmc2V0LCBTRUVLX1NFVCkgPCAwKSB7CisJCWlmIChmc2VlayhmcCwgc2VjLT5zaGRyLnNoX29mZnNldCwgU0VFS19TRVQpIDwgMCkgewogCQkJZGllKCJTZWVrIHRvICVkIGZhaWxlZDogJXNcbiIsCi0JCQkJc2hkcltpXS5zaF9vZmZzZXQsIHN0cmVycm9yKGVycm5vKSk7CisJCQkJc2VjLT5zaGRyLnNoX29mZnNldCwgc3RyZXJyb3IoZXJybm8pKTsKIAkJfQotCQlpZiAoZnJlYWQoc3ltdGFiW2ldLCAxLCBzaGRyW2ldLnNoX3NpemUsIGZwKSAhPSBzaGRyW2ldLnNoX3NpemUpIHsKKwkJaWYgKGZyZWFkKHNlYy0+c3ltdGFiLCAxLCBzZWMtPnNoZHIuc2hfc2l6ZSwgZnApCisJCSAgICAhPSBzZWMtPnNoZHIuc2hfc2l6ZSkgewogCQkJZGllKCJDYW5ub3QgcmVhZCBzeW1ib2wgdGFibGU6ICVzXG4iLAogCQkJCXN0cmVycm9yKGVycm5vKSk7CiAJCX0KLQkJZm9yKGogPSAwOyBqIDwgc2hkcltpXS5zaF9zaXplL3NpemVvZihzeW10YWJbaV1bMF0pOyBqKyspIHsKLQkJCXN5bXRhYltpXVtqXS5zdF9uYW1lICA9IGVsZjMyX3RvX2NwdShzeW10YWJbaV1bal0uc3RfbmFtZSk7Ci0JCQlzeW10YWJbaV1bal0uc3RfdmFsdWUgPSBlbGYzMl90b19jcHUoc3ltdGFiW2ldW2pdLnN0X3ZhbHVlKTsKLQkJCXN5bXRhYltpXVtqXS5zdF9zaXplICA9IGVsZjMyX3RvX2NwdShzeW10YWJbaV1bal0uc3Rfc2l6ZSk7Ci0JCQlzeW10YWJbaV1bal0uc3Rfc2huZHggPSBlbGYxNl90b19jcHUoc3ltdGFiW2ldW2pdLnN0X3NobmR4KTsKKwkJZm9yIChqID0gMDsgaiA8IHNlYy0+c2hkci5zaF9zaXplL3NpemVvZihFbGYzMl9TeW0pOyBqKyspIHsKKwkJCUVsZjMyX1N5bSAqc3ltID0gJnNlYy0+c3ltdGFiW2pdOworCQkJc3ltLT5zdF9uYW1lICA9IGVsZjMyX3RvX2NwdShzeW0tPnN0X25hbWUpOworCQkJc3ltLT5zdF92YWx1ZSA9IGVsZjMyX3RvX2NwdShzeW0tPnN0X3ZhbHVlKTsKKwkJCXN5bS0+c3Rfc2l6ZSAgPSBlbGYzMl90b19jcHUoc3ltLT5zdF9zaXplKTsKKwkJCXN5bS0+c3Rfc2huZHggPSBlbGYxNl90b19jcHUoc3ltLT5zdF9zaG5keCk7CiAJCX0KIAl9CiB9CkBAIC0zMjcsMjYgKzM0MSwyOSBAQAogc3RhdGljIHZvaWQgcmVhZF9yZWxvY3MoRklMRSAqZnApCiB7CiAJaW50IGksajsKLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgewotCQlpZiAoc2hkcltpXS5zaF90eXBlICE9IFNIVF9SRUwpIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOworCQlpZiAoc2VjLT5zaGRyLnNoX3R5cGUgIT0gU0hUX1JFTCkgewogCQkJY29udGludWU7CiAJCX0KLQkJcmVsdGFiW2ldID0gbWFsbG9jKHNoZHJbaV0uc2hfc2l6ZSk7Ci0JCWlmICghcmVsdGFiW2ldKSB7CisJCXNlYy0+cmVsdGFiID0gbWFsbG9jKHNlYy0+c2hkci5zaF9zaXplKTsKKwkJaWYgKCFzZWMtPnJlbHRhYikgewogCQkJZGllKCJtYWxsb2Mgb2YgJWQgYnl0ZXMgZm9yIHJlbG9jcyBmYWlsZWRcbiIsCi0JCQkJc2hkcltpXS5zaF9zaXplKTsKKwkJCQlzZWMtPnNoZHIuc2hfc2l6ZSk7CiAJCX0KLQkJaWYgKGZzZWVrKGZwLCBzaGRyW2ldLnNoX29mZnNldCwgU0VFS19TRVQpIDwgMCkgeworCQlpZiAoZnNlZWsoZnAsIHNlYy0+c2hkci5zaF9vZmZzZXQsIFNFRUtfU0VUKSA8IDApIHsKIAkJCWRpZSgiU2VlayB0byAlZCBmYWlsZWQ6ICVzXG4iLAotCQkJCXNoZHJbaV0uc2hfb2Zmc2V0LCBzdHJlcnJvcihlcnJubykpOworCQkJCXNlYy0+c2hkci5zaF9vZmZzZXQsIHN0cmVycm9yKGVycm5vKSk7CiAJCX0KLQkJaWYgKGZyZWFkKHJlbHRhYltpXSwgMSwgc2hkcltpXS5zaF9zaXplLCBmcCkgIT0gc2hkcltpXS5zaF9zaXplKSB7CisJCWlmIChmcmVhZChzZWMtPnJlbHRhYiwgMSwgc2VjLT5zaGRyLnNoX3NpemUsIGZwKQorCQkgICAgIT0gc2VjLT5zaGRyLnNoX3NpemUpIHsKIAkJCWRpZSgiQ2Fubm90IHJlYWQgc3ltYm9sIHRhYmxlOiAlc1xuIiwKIAkJCQlzdHJlcnJvcihlcnJubykpOwogCQl9Ci0JCWZvcihqID0gMDsgaiA8IHNoZHJbaV0uc2hfc2l6ZS9zaXplb2YocmVsdGFiWzBdWzBdKTsgaisrKSB7Ci0JCQlyZWx0YWJbaV1bal0ucl9vZmZzZXQgPSBlbGYzMl90b19jcHUocmVsdGFiW2ldW2pdLnJfb2Zmc2V0KTsKLQkJCXJlbHRhYltpXVtqXS5yX2luZm8gICA9IGVsZjMyX3RvX2NwdShyZWx0YWJbaV1bal0ucl9pbmZvKTsKKwkJZm9yIChqID0gMDsgaiA8IHNlYy0+c2hkci5zaF9zaXplL3NpemVvZihFbGYzMl9SZWwpOyBqKyspIHsKKwkJCUVsZjMyX1JlbCAqcmVsID0gJnNlYy0+cmVsdGFiW2pdOworCQkJcmVsLT5yX29mZnNldCA9IGVsZjMyX3RvX2NwdShyZWwtPnJfb2Zmc2V0KTsKKwkJCXJlbC0+cl9pbmZvICAgPSBlbGYzMl90b19jcHUocmVsLT5yX2luZm8pOwogCQl9CiAJfQogfQpAQCAtMzU3LDE5ICszNzQsMjEgQEAKIAlpbnQgaTsKIAlwcmludGYoIkFic29sdXRlIHN5bWJvbHNcbiIpOwogCXByaW50ZigiIE51bTogICAgVmFsdWUgU2l6ZSAgVHlwZSAgICAgICBCaW5kICAgICAgICBWaXNpYmlsaXR5ICBOYW1lXG4iKTsKLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CiAJCWNoYXIgKnN5bV9zdHJ0YWI7CiAJCUVsZjMyX1N5bSAqc2hfc3ltdGFiOwogCQlpbnQgajsKLQkJaWYgKHNoZHJbaV0uc2hfdHlwZSAhPSBTSFRfU1lNVEFCKSB7CisKKwkJaWYgKHNlYy0+c2hkci5zaF90eXBlICE9IFNIVF9TWU1UQUIpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXNoX3N5bXRhYiA9IHN5bXRhYltpXTsKLQkJc3ltX3N0cnRhYiA9IHN0cnRhYltzaGRyW2ldLnNoX2xpbmtdOwotCQlmb3IoaiA9IDA7IGogPCBzaGRyW2ldLnNoX3NpemUvc2l6ZW9mKHN5bXRhYlswXVswXSk7IGorKykgeworCQlzaF9zeW10YWIgPSBzZWMtPnN5bXRhYjsKKwkJc3ltX3N0cnRhYiA9IHNlYy0+bGluay0+c3RydGFiOworCQlmb3IgKGogPSAwOyBqIDwgc2VjLT5zaGRyLnNoX3NpemUvc2l6ZW9mKEVsZjMyX1N5bSk7IGorKykgewogCQkJRWxmMzJfU3ltICpzeW07CiAJCQljb25zdCBjaGFyICpuYW1lOwotCQkJc3ltID0gJnN5bXRhYltpXVtqXTsKKwkJCXN5bSA9ICZzZWMtPnN5bXRhYltqXTsKIAkJCW5hbWUgPSBzeW1fbmFtZShzeW1fc3RydGFiLCBzeW0pOwogCQkJaWYgKHN5bS0+c3Rfc2huZHggIT0gU0hOX0FCUykgewogCQkJCWNvbnRpbnVlOwpAQCAtMzg5LDI2ICs0MDgsMjcgQEAKIHsKIAlpbnQgaSwgcHJpbnRlZCA9IDA7CiAKLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CisJCXN0cnVjdCBzZWN0aW9uICpzZWNfYXBwbGllcywgKnNlY19zeW10YWI7CiAJCWNoYXIgKnN5bV9zdHJ0YWI7CiAJCUVsZjMyX1N5bSAqc2hfc3ltdGFiOwotCQl1bnNpZ25lZCBzZWNfYXBwbGllcywgc2VjX3N5bXRhYjsKIAkJaW50IGo7Ci0JCWlmIChzaGRyW2ldLnNoX3R5cGUgIT0gU0hUX1JFTCkgeworCQlpZiAoc2VjLT5zaGRyLnNoX3R5cGUgIT0gU0hUX1JFTCkgewogCQkJY29udGludWU7CiAJCX0KLQkJc2VjX3N5bXRhYiAgPSBzaGRyW2ldLnNoX2xpbms7Ci0JCXNlY19hcHBsaWVzID0gc2hkcltpXS5zaF9pbmZvOwotCQlpZiAoIShzaGRyW3NlY19hcHBsaWVzXS5zaF9mbGFncyAmIFNIRl9BTExPQykpIHsKKwkJc2VjX3N5bXRhYiAgPSBzZWMtPmxpbms7CisJCXNlY19hcHBsaWVzID0gJnNlY3Nbc2VjLT5zaGRyLnNoX2luZm9dOworCQlpZiAoIShzZWNfYXBwbGllcy0+c2hkci5zaF9mbGFncyAmIFNIRl9BTExPQykpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXNoX3N5bXRhYiA9IHN5bXRhYltzZWNfc3ltdGFiXTsKLQkJc3ltX3N0cnRhYiA9IHN0cnRhYltzaGRyW3NlY19zeW10YWJdLnNoX2xpbmtdOwotCQlmb3IoaiA9IDA7IGogPCBzaGRyW2ldLnNoX3NpemUvc2l6ZW9mKHJlbHRhYlswXVswXSk7IGorKykgeworCQlzaF9zeW10YWIgID0gc2VjX3N5bXRhYi0+c3ltdGFiOworCQlzeW1fc3RydGFiID0gc2VjX3N5bXRhYi0+bGluay0+c3RydGFiOworCQlmb3IgKGogPSAwOyBqIDwgc2VjLT5zaGRyLnNoX3NpemUvc2l6ZW9mKEVsZjMyX1JlbCk7IGorKykgewogCQkJRWxmMzJfUmVsICpyZWw7CiAJCQlFbGYzMl9TeW0gKnN5bTsKIAkJCWNvbnN0IGNoYXIgKm5hbWU7Ci0JCQlyZWwgPSAmcmVsdGFiW2ldW2pdOworCQkJcmVsID0gJnNlYy0+cmVsdGFiW2pdOwogCQkJc3ltID0gJnNoX3N5bXRhYltFTEYzMl9SX1NZTShyZWwtPnJfaW5mbyldOwogCQkJbmFtZSA9IHN5bV9uYW1lKHN5bV9zdHJ0YWIsIHN5bSk7CiAJCQlpZiAoc3ltLT5zdF9zaG5keCAhPSBTSE5fQUJTKSB7CkBAIC00NTYsMjYgKzQ3NiwyOCBAQAogewogCWludCBpOwogCS8qIFdhbGsgdGhyb3VnaCB0aGUgcmVsb2NhdGlvbnMgKi8KLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgewogCQljaGFyICpzeW1fc3RydGFiOwogCQlFbGYzMl9TeW0gKnNoX3N5bXRhYjsKLQkJdW5zaWduZWQgc2VjX2FwcGxpZXMsIHNlY19zeW10YWI7CisJCXN0cnVjdCBzZWN0aW9uICpzZWNfYXBwbGllcywgKnNlY19zeW10YWI7CiAJCWludCBqOwotCQlpZiAoc2hkcltpXS5zaF90eXBlICE9IFNIVF9SRUwpIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOworCisJCWlmIChzZWMtPnNoZHIuc2hfdHlwZSAhPSBTSFRfUkVMKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzZWNfc3ltdGFiICA9IHNoZHJbaV0uc2hfbGluazsKLQkJc2VjX2FwcGxpZXMgPSBzaGRyW2ldLnNoX2luZm87Ci0JCWlmICghKHNoZHJbc2VjX2FwcGxpZXNdLnNoX2ZsYWdzICYgU0hGX0FMTE9DKSkgeworCQlzZWNfc3ltdGFiICA9IHNlYy0+bGluazsKKwkJc2VjX2FwcGxpZXMgPSAmc2Vjc1tzZWMtPnNoZHIuc2hfaW5mb107CisJCWlmICghKHNlY19hcHBsaWVzLT5zaGRyLnNoX2ZsYWdzICYgU0hGX0FMTE9DKSkgewogCQkJY29udGludWU7CiAJCX0KLQkJc2hfc3ltdGFiID0gc3ltdGFiW3NlY19zeW10YWJdOwotCQlzeW1fc3RydGFiID0gc3RydGFiW3NoZHJbc2VjX3N5bXRhYl0uc2hfbGlua107Ci0JCWZvcihqID0gMDsgaiA8IHNoZHJbaV0uc2hfc2l6ZS9zaXplb2YocmVsdGFiWzBdWzBdKTsgaisrKSB7CisJCXNoX3N5bXRhYiA9IHNlY19zeW10YWItPnN5bXRhYjsKKwkJc3ltX3N0cnRhYiA9IHNlYy0+bGluay0+c3RydGFiOworCQlmb3IgKGogPSAwOyBqIDwgc2VjLT5zaGRyLnNoX3NpemUvc2l6ZW9mKEVsZjMyX1JlbCk7IGorKykgewogCQkJRWxmMzJfUmVsICpyZWw7CiAJCQlFbGYzMl9TeW0gKnN5bTsKIAkJCXVuc2lnbmVkIHJfdHlwZTsKLQkJCXJlbCA9ICZyZWx0YWJbaV1bal07CisJCQlyZWwgPSAmc2VjLT5yZWx0YWJbal07CiAJCQlzeW0gPSAmc2hfc3ltdGFiW0VMRjMyX1JfU1lNKHJlbC0+cl9pbmZvKV07CiAJCQlyX3R5cGUgPSBFTEYzMl9SX1RZUEUocmVsLT5yX2luZm8pOwogCQkJLyogRG9uJ3QgdmlzaXQgcmVsb2NhdGlvbnMgdG8gYWJzb2x1dGUgc3ltYm9scyAqLwpAQCAtNTM5LDcgKzU2MSw3IEBACiAJCSAqLwogCQlwcmludGYoIi5zZWN0aW9uIFwiLmRhdGEucmVsb2NcIixcImFcIlxuIik7CiAJCXByaW50ZigiLmJhbGlnbiA0XG4iKTsKLQkJZm9yKGkgPSAwOyBpIDwgcmVsb2NfY291bnQ7IGkrKykgeworCQlmb3IgKGkgPSAwOyBpIDwgcmVsb2NfY291bnQ7IGkrKykgewogCQkJcHJpbnRmKCJcdCAubG9uZyAweCUwOGx4XG4iLCByZWxvY3NbaV0pOwogCQl9CiAJCXByaW50ZigiXG4iKTsKQEAgLTU1MCw3ICs1NzIsNyBAQAogCQkvKiBQcmludCBhIHN0b3AgKi8KIAkJcHJpbnRmKCIlYyVjJWMlYyIsIGJ1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXSk7CiAJCS8qIE5vdyBwcmludCBlYWNoIHJlbG9jYXRpb24gKi8KLQkJZm9yKGkgPSAwOyBpIDwgcmVsb2NfY291bnQ7IGkrKykgeworCQlmb3IgKGkgPSAwOyBpIDwgcmVsb2NfY291bnQ7IGkrKykgewogCQkJYnVmWzBdID0gKHJlbG9jc1tpXSA+PiAgMCkgJiAweGZmOwogCQkJYnVmWzFdID0gKHJlbG9jc1tpXSA+PiAgOCkgJiAweGZmOwogCQkJYnVmWzJdID0gKHJlbG9jc1tpXSA+PiAxNikgJiAweGZmOwpAQCAtNTc3LDcgKzU5OSw3IEBACiAJc2hvd19hYnNvbHV0ZV9yZWxvY3MgPSAwOwogCWFzX3RleHQgPSAwOwogCWZuYW1lID0gTlVMTDsKLQlmb3IoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKKwlmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKSB7CiAJCWNoYXIgKmFyZyA9IGFyZ3ZbaV07CiAJCWlmICgqYXJnID09ICctJykgewogCQkJaWYgKHN0cmNtcChhcmd2WzFdLCAiLS1hYnMtc3ltcyIpID09IDApIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvY3B1LmMgYi9hcmNoL3g4Ni9ib290L2NwdS5jCmluZGV4IDAwZTE5ZWQuLjkyZDZmZDcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvY3B1LmMKKysrIGIvYXJjaC94ODYvYm9vdC9jcHUuYwpAQCAtMjgsNiArMjgsOCBAQAogCWlmIChsZXZlbCA9PSA2NCkgewogCQlyZXR1cm4gIng4Ni02NCI7CiAJfSBlbHNlIHsKKwkJaWYgKGxldmVsID09IDE1KQorCQkJbGV2ZWwgPSA2OwogCQlzcHJpbnRmKGJ1ZiwgImklZDg2IiwgbGV2ZWwpOwogCQlyZXR1cm4gYnVmOwogCX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvbWFpbi5jIGIvYXJjaC94ODYvYm9vdC9tYWluLmMKaW5kZXggNzc1NjlhNC4uMjI5NjE2NCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9tYWluLmMKKysrIGIvYXJjaC94ODYvYm9vdC9tYWluLmMKQEAgLTE2NSw2ICsxNjUsMTAgQEAKIAkvKiBTZXQgdGhlIHZpZGVvIG1vZGUgKi8KIAlzZXRfdmlkZW8oKTsKIAorCS8qIFBhcnNlIGNvbW1hbmQgbGluZSBmb3IgJ3F1aWV0JyBhbmQgcGFzcyBpdCB0byBkZWNvbXByZXNzb3IuICovCisJaWYgKGNtZGxpbmVfZmluZF9vcHRpb25fYm9vbCgicXVpZXQiKSkKKwkJYm9vdF9wYXJhbXMuaGRyLmxvYWRmbGFncyB8PSBRVUlFVF9GTEFHOworCiAJLyogRG8gdGhlIGxhc3QgdGhpbmdzIGFuZCBpbnZva2UgcHJvdGVjdGVkIG1vZGUgKi8KIAlnb190b19wcm90ZWN0ZWRfbW9kZSgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9tZW1vcnkuYyBiL2FyY2gveDg2L2Jvb3QvbWVtb3J5LmMKaW5kZXggYWNhZDMyZS4uNTMxNjVjOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9tZW1vcnkuYworKysgYi9hcmNoL3g4Ni9ib290L21lbW9yeS5jCkBAIC0xMyw2ICsxMyw3IEBACiAgKi8KIAogI2luY2x1ZGUgImJvb3QuaCIKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KIAogI2RlZmluZSBTTUFQCTB4NTM0ZDQxNTAJLyogQVNDSUkgIlNNQVAiICovCiAKQEAgLTUzLDcgKzU0LDcgQEAKIAogCQljb3VudCsrOwogCQlkZXNjKys7Ci0JfSB3aGlsZSAobmV4dCAmJiBjb3VudCA8IEU4MjBNQVgpOworCX0gd2hpbGUgKG5leHQgJiYgY291bnQgPCBBUlJBWV9TSVpFKGJvb3RfcGFyYW1zLmU4MjBfbWFwKSk7CiAKIAlyZXR1cm4gYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzID0gY291bnQ7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L3BtanVtcC5TIGIvYXJjaC94ODYvYm9vdC9wbWp1bXAuUwppbmRleCBhYjA0OWQ0Li4xNDFiNmUyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L3BtanVtcC5TCisrKyBiL2FyY2gveDg2L2Jvb3QvcG1qdW1wLlMKQEAgLTMzLDYgKzMzLDggQEAKIAltb3Z3CSVjcywgJWJ4CiAJc2hsbAkkNCwgJWVieAogCWFkZGwJJWVieCwgMmYKKwlqbXAJMWYJCQkjIFNob3J0IGp1bXAgdG8gc2VyaWFsaXplIG9uIDM4Ni80ODYKKzE6CiAKIAltb3Z3CSRfX0JPT1RfRFMsICVjeAogCW1vdncJJF9fQk9PVF9UU1MsICVkaQpAQCAtNDAsOCArNDIsNiBAQAogCW1vdmwJJWNyMCwgJWVkeAogCW9yYgkkWDg2X0NSMF9QRSwgJWRsCSMgUHJvdGVjdGVkIG1vZGUKIAltb3ZsCSVlZHgsICVjcjAKLQlqbXAJMWYJCQkjIFNob3J0IGp1bXAgdG8gc2VyaWFsaXplIG9uIDM4Ni80ODYKLTE6CiAKIAkjIFRyYW5zaXRpb24gdG8gMzItYml0IG1vZGUKIAkuYnl0ZQkweDY2LCAweGVhCQkjIGxqbXBsIG9wY29kZQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC92aWRlby12Z2EuYyBiL2FyY2gveDg2L2Jvb3QvdmlkZW8tdmdhLmMKaW5kZXggNDBlY2I4ZC4uYjkzOWNiNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC92aWRlby12Z2EuYworKysgYi9hcmNoL3g4Ni9ib290L3ZpZGVvLXZnYS5jCkBAIC0yNTksOCArMjU5LDcgQEAKIAlyZXR1cm4gbW9kZV9jb3VudFthZGFwdGVyXTsKIH0KIAotX192aWRlb2NhcmQgdmlkZW9fdmdhID0KLXsKK19fdmlkZW9jYXJkIHZpZGVvX3ZnYSA9IHsKIAkuY2FyZF9uYW1lCT0gIlZHQSIsCiAJLnByb2JlCQk9IHZnYV9wcm9iZSwKIAkuc2V0X21vZGUJPSB2Z2Ffc2V0X21vZGUsCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9jb25maWdzL2kzODZfZGVmY29uZmlnIGIvYXJjaC94ODYvY29uZmlncy9pMzg2X2RlZmNvbmZpZwppbmRleCBhZDdkZGFhLi45YmMzNGUyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9jb25maWdzL2kzODZfZGVmY29uZmlnCisrKyBiL2FyY2gveDg2L2NvbmZpZ3MvaTM4Nl9kZWZjb25maWcKQEAgLTEsNTQgKzEsMTAzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjItZ2l0MTQKLSMgRnJpIEp1bCAyMCAwOTo1MzoxNSAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmMxCisjIFN1biBNYXkgIDQgMTk6NTk6MDIgMjAwOAogIworIyBDT05GSUdfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1g4Nl8zMj15CisjIENPTkZJR19YODZfNjQgaXMgbm90IHNldAorQ09ORklHX1g4Nj15CitDT05GSUdfREVGQ09ORklHX0xJU1Q9ImFyY2gveDg2L2NvbmZpZ3MvaTM4Nl9kZWZjb25maWciCisjIENPTkZJR19HRU5FUklDX0xPQ0tCUkVBSyBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19USU1FPXkKK0NPTkZJR19HRU5FUklDX0NNT1NfVVBEQVRFPXkKIENPTkZJR19DTE9DS1NPVVJDRV9XQVRDSERPRz15CiBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CUk9BRENBU1Q9eQogQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKLUNPTkZJR19TRU1BUEhPUkVfU0xFRVBFUlM9eQotQ09ORklHX1g4Nj15CitDT05GSUdfSEFWRV9MQVRFTkNZVE9QX1NVUFBPUlQ9eQorQ09ORklHX0ZBU1RfQ01QWENIR19MT0NBTD15CiBDT05GSUdfTU1VPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfUVVJQ0tMSVNUPXkKIENPTkZJR19HRU5FUklDX0lTQV9ETUE9eQogQ09ORklHX0dFTkVSSUNfSU9NQVA9eQogQ09ORklHX0dFTkVSSUNfQlVHPXkKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorIyBDT05GSUdfR0VORVJJQ19HUElPIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX01BWV9IQVZFX1BDX0ZEQz15Ci1DT05GSUdfRE1JPXkKLUNPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCi0KLSMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCi0jCi1DT05GSUdfRVhQRVJJTUVOVEFMPXkKLUNPTkZJR19MT0NLX0tFUk5FTD15Ci1DT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCisjIENPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLIGlzIG5vdCBzZXQKK0NPTkZJR19SV1NFTV9YQ0hHQUREX0FMR09SSVRITT15CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0hBU19DUFVfSURMRV9XQUlUPXkKK0NPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CisjIENPTkZJR19HRU5FUklDX1RJTUVfVlNZU0NBTEwgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfSEFTX0NQVV9SRUxBWD15CitDT05GSUdfQVJDSF9IQVNfQ0FDSEVfTElORV9TSVpFPXkKK0NPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQT15CisjIENPTkZJR19IQVZFX0NQVU1BU0tfT0ZfQ1BVX01BUCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9ISUJFUk5BVElPTl9QT1NTSUJMRT15CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKKyMgQ09ORklHX1pPTkVfRE1BMzIgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfUE9QVUxBVEVTX05PREVfTUFQPXkKKyMgQ09ORklHX0FVRElUX0FSQ0ggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CitDT05GSUdfQVJDSF9TVVBQT1JUU19PUFRJTUlaRURfSU5MSU5JTkc9eQorQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKK0NPTkZJR19HRU5FUklDX1BFTkRJTkdfSVJRPXkKK0NPTkZJR19YODZfU01QPXkKK0NPTkZJR19YODZfMzJfU01QPXkKK0NPTkZJR19YODZfSFQ9eQorQ09ORklHX1g4Nl9CSU9TX1JFQk9PVD15CitDT05GSUdfWDg2X1RSQU1QT0xJTkU9eQorQ09ORklHX0tUSU1FX1NDQUxBUj15CiAKICMKICMgR2VuZXJhbCBzZXR1cAogIworQ09ORklHX0VYUEVSSU1FTlRBTD15CitDT05GSUdfTE9DS19LRVJORUw9eQorQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgogQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgotQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKKyMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKIENPTkZJR19TV0FQPXkKIENPTkZJR19TWVNWSVBDPXkKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiBDT05GSUdfUE9TSVhfTVFVRVVFPXkKLSMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAotIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAotIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE4Ci0jIENPTkZJR19DUFVTRVRTIGlzIG5vdCBzZXQKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19CU0RfUFJPQ0VTU19BQ0NUPXkKKyMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1RfVjMgaXMgbm90IHNldAorQ09ORklHX1RBU0tTVEFUUz15CitDT05GSUdfVEFTS19ERUxBWV9BQ0NUPXkKK0NPTkZJR19UQVNLX1hBQ0NUPXkKK0NPTkZJR19UQVNLX0lPX0FDQ09VTlRJTkc9eQorQ09ORklHX0FVRElUPXkKK0NPTkZJR19BVURJVFNZU0NBTEw9eQorQ09ORklHX0FVRElUX1RSRUU9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKK0NPTkZJR19DR1JPVVBTPXkKKyMgQ09ORklHX0NHUk9VUF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfQ0dST1VQX05TPXkKKyMgQ09ORklHX0NHUk9VUF9ERVZJQ0UgaXMgbm90IHNldAorQ09ORklHX0NQVVNFVFM9eQorQ09ORklHX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKKyMgQ09ORklHX1JUX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX0NHUk9VUF9TQ0hFRD15CitDT05GSUdfQ0dST1VQX0NQVUFDQ1Q9eQorQ09ORklHX1JFU09VUkNFX0NPVU5URVJTPXkKKyMgQ09ORklHX0NHUk9VUF9NRU1fUkVTX0NUTFIgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMiBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QSURfQ1BVU0VUPXkKIENPTkZJR19SRUxBWT15CitDT05GSUdfTkFNRVNQQUNFUz15CitDT05GSUdfVVRTX05TPXkKK0NPTkZJR19JUENfTlM9eQorQ09ORklHX1VTRVJfTlM9eQorQ09ORklHX1BJRF9OUz15CiBDT05GSUdfQkxLX0RFVl9JTklUUkQ9eQogQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CkBAIC01NiwxMyArMTA1LDE1IEBACiAjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQogQ09ORklHX0tBTExTWU1TX0FMTD15Ci0jIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTPXkKIENPTkZJR19IT1RQTFVHPXkKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorIyBDT05GSUdfQ09NUEFUX0JSSyBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQpAQCAtNzYsNiArMTI3LDE3IEBACiAjIENPTkZJR19TTEFCIGlzIG5vdCBzZXQKIENPTkZJR19TTFVCPXkKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CitDT05GSUdfTUFSS0VSUz15CisjIENPTkZJR19PUFJPRklMRSBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKQEAgLTg3LDEwICsxNDksMTAgQEAKICMgQ09ORklHX0tNT0QgaXMgbm90IHNldAogQ09ORklHX1NUT1BfTUFDSElORT15CiBDT05GSUdfQkxPQ0s9eQotQ09ORklHX0xCRD15Ci0jIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9JT19UUkFDRT15CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfQlNHPXkKIAogIwogIyBJTyBTY2hlZHVsZXJzCkBAIC0xMDMsNyArMTY1LDggQEAKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFByb2Nlc3NvciB0eXBlIGFuZCBmZWF0dXJlcwpAQCAtMTExLDE4ICsxNzQsMjEgQEAKIENPTkZJR19USUNLX09ORVNIT1Q9eQogQ09ORklHX05PX0haPXkKIENPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogQ09ORklHX1NNUD15Ci0jIENPTkZJR19YODZfUEMgaXMgbm90IHNldAorQ09ORklHX1g4Nl9QQz15CiAjIENPTkZJR19YODZfRUxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfVk9ZQUdFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfTlVNQVEgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1NVTU1JVCBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfQklHU01QIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9WSVNXUyBpcyBub3Qgc2V0Ci1DT05GSUdfWDg2X0dFTkVSSUNBUkNIPXkKKyMgQ09ORklHX1g4Nl9HRU5FUklDQVJDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfRVM3MDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BBUkFWSVJUIGlzIG5vdCBzZXQKLUNPTkZJR19YODZfQ1lDTE9ORV9USU1FUj15CisjIENPTkZJR19YODZfUkRDMzIxWCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfVlNNUCBpcyBub3Qgc2V0CitDT05GSUdfU0NIRURfTk9fTk9fT01JVF9GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX1BBUkFWSVJUX0dVRVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX00zODYgaXMgbm90IHNldAogIyBDT05GSUdfTTQ4NiBpcyBub3Qgc2V0CiAjIENPTkZJR19NNTg2IGlzIG5vdCBzZXQKQEAgLTEzMCw5ICsxOTYsOCBAQAogIyBDT05GSUdfTTU4Nk1NWCBpcyBub3Qgc2V0CiAjIENPTkZJR19NNjg2IGlzIG5vdCBzZXQKICMgQ09ORklHX01QRU5USVVNSUkgaXMgbm90IHNldAotQ09ORklHX01QRU5USVVNSUlJPXkKKyMgQ09ORklHX01QRU5USVVNSUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX01QRU5USVVNTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQ09SRTIgaXMgbm90IHNldAogIyBDT05GSUdfTVBFTlRJVU00IGlzIG5vdCBzZXQKICMgQ09ORklHX01LNiBpcyBub3Qgc2V0CiAjIENPTkZJR19NSzcgaXMgbm90IHNldApAQCAtMTQ3LDE0ICsyMTIsMTQgQEAKICMgQ09ORklHX01DWVJJWElJSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVklBQzNfMiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVklBQzcgaXMgbm90IHNldAotQ09ORklHX1g4Nl9HRU5FUklDPXkKKyMgQ09ORklHX01QU0MgaXMgbm90IHNldAorQ09ORklHX01DT1JFMj15CisjIENPTkZJR19HRU5FUklDX0NQVSBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfR0VORVJJQyBpcyBub3Qgc2V0CitDT05GSUdfWDg2X0NQVT15CiBDT05GSUdfWDg2X0NNUFhDSEc9eQotQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD03CitDT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUPTYKIENPTkZJR19YODZfWEFERD15Ci1DT05GSUdfUldTRU1fWENIR0FERF9BTEdPUklUSE09eQotIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0Ci1DT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQogQ09ORklHX1g4Nl9XUF9XT1JLU19PSz15CiBDT05GSUdfWDg2X0lOVkxQRz15CiBDT05GSUdfWDg2X0JTV0FQPXkKQEAgLTE2MiwxMDYgKzIyNywxMjAgQEAKIENPTkZJR19YODZfR09PRF9BUElDPXkKIENPTkZJR19YODZfSU5URUxfVVNFUkNPUFk9eQogQ09ORklHX1g4Nl9VU0VfUFBST19DSEVDS1NVTT15CitDT05GSUdfWDg2X1A2X05PUD15CiBDT05GSUdfWDg2X1RTQz15Ci1DT05GSUdfWDg2X0NNT1Y9eQotQ09ORklHX1g4Nl9NSU5JTVVNX0NQVV9GQU1JTFk9NAorQ09ORklHX1g4Nl9NSU5JTVVNX0NQVV9GQU1JTFk9NgorQ09ORklHX1g4Nl9ERUJVR0NUTE1TUj15CiBDT05GSUdfSFBFVF9USU1FUj15CiBDT05GSUdfSFBFVF9FTVVMQVRFX1JUQz15Ci1DT05GSUdfTlJfQ1BVUz0zMgotQ09ORklHX1NDSEVEX1NNVD15CitDT05GSUdfRE1JPXkKKyMgQ09ORklHX0lPTU1VX0hFTFBFUiBpcyBub3Qgc2V0CitDT05GSUdfTlJfQ1BVUz00CisjIENPTkZJR19TQ0hFRF9TTVQgaXMgbm90IHNldAogQ09ORklHX1NDSEVEX01DPXkKICMgQ09ORklHX1BSRUVNUFRfTk9ORSBpcyBub3Qgc2V0CiBDT05GSUdfUFJFRU1QVF9WT0xVTlRBUlk9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci1DT05GSUdfUFJFRU1QVF9CS0w9eQogQ09ORklHX1g4Nl9MT0NBTF9BUElDPXkKIENPTkZJR19YODZfSU9fQVBJQz15Ci1DT05GSUdfWDg2X01DRT15Ci1DT05GSUdfWDg2X01DRV9OT05GQVRBTD15Ci1DT05GSUdfWDg2X01DRV9QNFRIRVJNQUw9eQorIyBDT05GSUdfWDg2X01DRSBpcyBub3Qgc2V0CiBDT05GSUdfVk04Nj15CiAjIENPTkZJR19UT1NISUJBIGlzIG5vdCBzZXQKICMgQ09ORklHX0k4SyBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfUkVCT09URklYVVBTIGlzIG5vdCBzZXQKLUNPTkZJR19NSUNST0NPREU9eQotQ09ORklHX01JQ1JPQ09ERV9PTERfSU5URVJGQUNFPXkKKyMgQ09ORklHX01JQ1JPQ09ERSBpcyBub3Qgc2V0CiBDT05GSUdfWDg2X01TUj15CiBDT05GSUdfWDg2X0NQVUlEPXkKLQotIwotIyBGaXJtd2FyZSBEcml2ZXJzCi0jCi0jIENPTkZJR19FREQgaXMgbm90IHNldAotIyBDT05GSUdfREVMTF9SQlUgaXMgbm90IHNldAotIyBDT05GSUdfRENEQkFTIGlzIG5vdCBzZXQKLUNPTkZJR19ETUlJRD15CiAjIENPTkZJR19OT0hJR0hNRU0gaXMgbm90IHNldAogQ09ORklHX0hJR0hNRU00Rz15CiAjIENPTkZJR19ISUdITUVNNjRHIGlzIG5vdCBzZXQKIENPTkZJR19QQUdFX09GRlNFVD0weEMwMDAwMDAwCiBDT05GSUdfSElHSE1FTT15Ci1DT05GSUdfQVJDSF9QT1BVTEFURVNfTk9ERV9NQVA9eQorQ09ORklHX05FRURfTk9ERV9NRU1NQVBfU0laRT15CitDT05GSUdfQVJDSF9GTEFUTUVNX0VOQUJMRT15CitDT05GSUdfQVJDSF9TUEFSU0VNRU1fRU5BQkxFPXkKK0NPTkZJR19BUkNIX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQotQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKKyMgQ09ORklHX0ZMQVRNRU1fTUFOVUFMIGlzIG5vdCBzZXQKICMgQ09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAotIyBDT05GSUdfU1BBUlNFTUVNX01BTlVBTCBpcyBub3Qgc2V0Ci1DT05GSUdfRkxBVE1FTT15Ci1DT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQotIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CitDT05GSUdfU1BBUlNFTUVNX01BTlVBTD15CitDT05GSUdfU1BBUlNFTUVNPXkKK0NPTkZJR19IQVZFX01FTU9SWV9QUkVTRU5UPXkKK0NPTkZJR19TUEFSU0VNRU1fU1RBVElDPXkKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CisKKyMKKyMgTWVtb3J5IGhvdHBsdWcgaXMgY3VycmVudGx5IGluY29tcGF0aWJsZSB3aXRoIFNvZnR3YXJlIFN1c3BlbmQKKyMKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKIENPTkZJR19SRVNPVVJDRVNfNjRCSVQ9eQogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQogQ09ORklHX0JPVU5DRT15Ci1DT05GSUdfTlJfUVVJQ0s9MQogQ09ORklHX1ZJUlRfVE9fQlVTPXkKICMgQ09ORklHX0hJR0hQVEUgaXMgbm90IHNldAogIyBDT05GSUdfTUFUSF9FTVVMQVRJT04gaXMgbm90IHNldAogQ09ORklHX01UUlI9eQotIyBDT05GSUdfRUZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9QQVQgaXMgbm90IHNldAorQ09ORklHX0VGST15CiAjIENPTkZJR19JUlFCQUxBTkNFIGlzIG5vdCBzZXQKIENPTkZJR19TRUNDT01QPXkKICMgQ09ORklHX0haXzEwMCBpcyBub3Qgc2V0Ci1DT05GSUdfSFpfMjUwPXkKKyMgQ09ORklHX0haXzI1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19IWl8zMDAgaXMgbm90IHNldAotIyBDT05GSUdfSFpfMTAwMCBpcyBub3Qgc2V0Ci1DT05GSUdfSFo9MjUwCi0jIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFTSF9EVU1QIGlzIG5vdCBzZXQKLUNPTkZJR19QSFlTSUNBTF9TVEFSVD0weDEwMDAwMAotIyBDT05GSUdfUkVMT0NBVEFCTEUgaXMgbm90IHNldAotQ09ORklHX1BIWVNJQ0FMX0FMSUdOPTB4MTAwMDAwCi0jIENPTkZJR19IT1RQTFVHX0NQVSBpcyBub3Qgc2V0Ci1DT05GSUdfQ09NUEFUX1ZEU089eQorQ09ORklHX0haXzEwMDA9eQorQ09ORklHX0haPTEwMDAKK0NPTkZJR19TQ0hFRF9IUlRJQ0s9eQorQ09ORklHX0tFWEVDPXkKK0NPTkZJR19DUkFTSF9EVU1QPXkKK0NPTkZJR19QSFlTSUNBTF9TVEFSVD0weDEwMDAwMDAKK0NPTkZJR19SRUxPQ0FUQUJMRT15CitDT05GSUdfUEhZU0lDQUxfQUxJR049MHgyMDAwMDAKK0NPTkZJR19IT1RQTFVHX0NQVT15CisjIENPTkZJR19DT01QQVRfVkRTTyBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9FTkFCTEVfTUVNT1JZX0hPVFBMVUc9eQogCiAjCi0jIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucyAoQUNQSSwgQVBNKQorIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKLSMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBBQ1BJIChBZHZhbmNlZCBDb25maWd1cmF0aW9uIGFuZCBQb3dlciBJbnRlcmZhY2UpIFN1cHBvcnQKLSMKK0NPTkZJR19QTV9ERUJVRz15CisjIENPTkZJR19QTV9WRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19DQU5fUE1fVFJBQ0U9eQorQ09ORklHX1BNX1RSQUNFPXkKK0NPTkZJR19QTV9UUkFDRV9SVEM9eQorQ09ORklHX1BNX1NMRUVQX1NNUD15CitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkQ9eQorQ09ORklHX1NVU1BFTkRfRlJFRVpFUj15CitDT05GSUdfSElCRVJOQVRJT049eQorQ09ORklHX1BNX1NURF9QQVJUSVRJT049IiIKIENPTkZJR19BQ1BJPXkKK0NPTkZJR19BQ1BJX1NMRUVQPXkKIENPTkZJR19BQ1BJX1BST0NGUz15CitDT05GSUdfQUNQSV9QUk9DRlNfUE9XRVI9eQorQ09ORklHX0FDUElfU1lTRlNfUE9XRVI9eQorQ09ORklHX0FDUElfUFJPQ19FVkVOVD15CiBDT05GSUdfQUNQSV9BQz15CiBDT05GSUdfQUNQSV9CQVRURVJZPXkKIENPTkZJR19BQ1BJX0JVVFRPTj15CiBDT05GSUdfQUNQSV9GQU49eQotIyBDT05GSUdfQUNQSV9ET0NLIGlzIG5vdCBzZXQKK0NPTkZJR19BQ1BJX0RPQ0s9eQorIyBDT05GSUdfQUNQSV9CQVkgaXMgbm90IHNldAogQ09ORklHX0FDUElfUFJPQ0VTU09SPXkKK0NPTkZJR19BQ1BJX0hPVFBMVUdfQ1BVPXkKIENPTkZJR19BQ1BJX1RIRVJNQUw9eQorIyBDT05GSUdfQUNQSV9XTUkgaXMgbm90IHNldAogIyBDT05GSUdfQUNQSV9BU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FDUElfVE9TSElCQSBpcyBub3Qgc2V0Ci1DT05GSUdfQUNQSV9CTEFDS0xJU1RfWUVBUj0yMDAxCi1DT05GSUdfQUNQSV9ERUJVRz15CisjIENPTkZJR19BQ1BJX0NVU1RPTV9EU0RUIGlzIG5vdCBzZXQKK0NPTkZJR19BQ1BJX0JMQUNLTElTVF9ZRUFSPTAKKyMgQ09ORklHX0FDUElfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0FDUElfRUM9eQogQ09ORklHX0FDUElfUE9XRVI9eQogQ09ORklHX0FDUElfU1lTVEVNPXkKIENPTkZJR19YODZfUE1fVElNRVI9eQotIyBDT05GSUdfQUNQSV9DT05UQUlORVIgaXMgbm90IHNldAorQ09ORklHX0FDUElfQ09OVEFJTkVSPXkKICMgQ09ORklHX0FDUElfU0JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FQTSBpcyBub3Qgc2V0CiAKQEAgLTI3MSwxNSArMzUwLDE3IEBACiBDT05GSUdfQ1BVX0ZSRVE9eQogQ09ORklHX0NQVV9GUkVRX1RBQkxFPXkKIENPTkZJR19DUFVfRlJFUV9ERUJVRz15Ci1DT05GSUdfQ1BVX0ZSRVFfU1RBVD15Ci0jIENPTkZJR19DUFVfRlJFUV9TVEFUX0RFVEFJTFMgaXMgbm90IHNldAotQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFPXkKLSMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9TVEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BPV0VSU0FWRSBpcyBub3Qgc2V0CitDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfVVNFUlNQQUNFPXkKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX09OREVNQU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX0NPTlNFUlZBVElWRSBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVX0ZSRVFfR09WX1BFUkZPUk1BTkNFPXkKICMgQ09ORklHX0NQVV9GUkVRX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldAogQ09ORklHX0NQVV9GUkVRX0dPVl9VU0VSU1BBQ0U9eQogQ09ORklHX0NQVV9GUkVRX0dPVl9PTkRFTUFORD15Ci1DT05GSUdfQ1BVX0ZSRVFfR09WX0NPTlNFUlZBVElWRT15CisjIENPTkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKIAogIwogIyBDUFVGcmVxIHByb2Nlc3NvciBkcml2ZXJzCkBAIC0yODcsOCArMzY4LDcgQEAKIENPTkZJR19YODZfQUNQSV9DUFVGUkVRPXkKICMgQ09ORklHX1g4Nl9QT1dFUk5PV19LNiBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfUE9XRVJOT1dfSzcgaXMgbm90IHNldAotQ09ORklHX1g4Nl9QT1dFUk5PV19LOD15Ci1DT05GSUdfWDg2X1BPV0VSTk9XX0s4X0FDUEk9eQorIyBDT05GSUdfWDg2X1BPV0VSTk9XX0s4IGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9HWF9TVVNQTU9EIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9TUEVFRFNURVBfQ0VOVFJJTk8gaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9JQ0ggaXMgbm90IHNldApAQCAtMzAyLDQzICszODIsNzIgQEAKICMKICMgc2hhcmVkIG9wdGlvbnMKICMKLUNPTkZJR19YODZfQUNQSV9DUFVGUkVRX1BST0NfSU5URj15CisjIENPTkZJR19YODZfQUNQSV9DUFVGUkVRX1BST0NfSU5URiBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfU1BFRURTVEVQX0xJQiBpcyBub3Qgc2V0CitDT05GSUdfQ1BVX0lETEU9eQorQ09ORklHX0NQVV9JRExFX0dPVl9MQURERVI9eQorQ09ORklHX0NQVV9JRExFX0dPVl9NRU5VPXkKIAogIwotIyBCdXMgb3B0aW9ucyAoUENJLCBQQ01DSUEsIEVJU0EsIE1DQSwgSVNBKQorIyBCdXMgb3B0aW9ucyAoUENJIGV0Yy4pCiAjCiBDT05GSUdfUENJPXkKICMgQ09ORklHX1BDSV9HT0JJT1MgaXMgbm90IHNldAogIyBDT05GSUdfUENJX0dPTU1DT05GSUcgaXMgbm90IHNldAogIyBDT05GSUdfUENJX0dPRElSRUNUIGlzIG5vdCBzZXQKIENPTkZJR19QQ0lfR09BTlk9eQorIyBDT05GSUdfUENJX0dPT0xQQyBpcyBub3Qgc2V0CiBDT05GSUdfUENJX0JJT1M9eQogQ09ORklHX1BDSV9ESVJFQ1Q9eQogQ09ORklHX1BDSV9NTUNPTkZJRz15Ci0jIENPTkZJR19QQ0lFUE9SVEJVUyBpcyBub3Qgc2V0CitDT05GSUdfUENJX0RPTUFJTlM9eQorQ09ORklHX1BDSUVQT1JUQlVTPXkKKyMgQ09ORklHX0hPVFBMVUdfUENJX1BDSUUgaXMgbm90IHNldAorQ09ORklHX1BDSUVBRVI9eQorIyBDT05GSUdfUENJRUFTUE0gaXMgbm90IHNldAogQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJPXkKIENPTkZJR19QQ0lfTVNJPXkKKyMgQ09ORklHX1BDSV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUENJX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hUX0lSUSBpcyBub3Qgc2V0CitDT05GSUdfSFRfSVJRPXkKIENPTkZJR19JU0FfRE1BX0FQST15CiAjIENPTkZJR19JU0EgaXMgbm90IHNldAogIyBDT05GSUdfTUNBIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDeDIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19PTFBDIGlzIG5vdCBzZXQKIENPTkZJR19LOF9OQj15CitDT05GSUdfUENDQVJEPXkKKyMgQ09ORklHX1BDTUNJQV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfUENNQ0lBPXkKK0NPTkZJR19QQ01DSUFfTE9BRF9DSVM9eQorQ09ORklHX1BDTUNJQV9JT0NUTD15CitDT05GSUdfQ0FSREJVUz15CiAKICMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAorIyBQQy1jYXJkIGJyaWRnZXMKICMKLSMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19IT1RQTFVHX1BDSSBpcyBub3Qgc2V0CitDT05GSUdfWUVOVEE9eQorQ09ORklHX1lFTlRBX08yPXkKK0NPTkZJR19ZRU5UQV9SSUNPSD15CitDT05GSUdfWUVOVEFfVEk9eQorQ09ORklHX1lFTlRBX0VORV9UVU5FPXkKK0NPTkZJR19ZRU5UQV9UT1NISUJBPXkKKyMgQ09ORklHX1BENjcyOSBpcyBub3Qgc2V0CisjIENPTkZJR19JODIwOTIgaXMgbm90IHNldAorQ09ORklHX1BDQ0FSRF9OT05TVEFUSUM9eQorQ09ORklHX0hPVFBMVUdfUENJPXkKKyMgQ09ORklHX0hPVFBMVUdfUENJX0ZBS0UgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfSUJNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX0FDUEkgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfQ1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9TSFBDIGlzIG5vdCBzZXQKIAogIwotIyBFeGVjdXRhYmxlIGZpbGUgZm9ybWF0cworIyBFeGVjdXRhYmxlIGZpbGUgZm9ybWF0cyAvIEVtdWxhdGlvbnMKICMKIENPTkZJR19CSU5GTVRfRUxGPXkKICMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKK0NPTkZJR19CSU5GTVRfTUlTQz15CiAKICMKICMgTmV0d29ya2luZwpAQCAtMzQ5LDU5ICs0NTgsMTQyIEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQotIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKK0NPTkZJR19YRlJNX1VTRVI9eQogIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15CiBDT05GSUdfSVBfTVVMVElDQVNUPXkKLSMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSPXkKK0NPTkZJR19BU0tfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfRklCX1RSSUUgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKLUNPTkZJR19JUF9QTlA9eQotQ09ORklHX0lQX1BOUF9ESENQPXkKLSMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElQTEVfVEFCTEVTPXkKK0NPTkZJR19JUF9ST1VURV9NVUxUSVBBVEg9eQorQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0U9eQorIyBDT05GSUdfSVBfUE5QIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAorQ09ORklHX0lQX01ST1VURT15CitDT05GSUdfSVBfUElNU01fVjE9eQorQ09ORklHX0lQX1BJTVNNX1YyPXkKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAotIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAorQ09ORklHX1NZTl9DT09LSUVTPXkKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9UVU5ORUw9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9ESUFHPXkKLUNPTkZJR19JTkVUX1RDUF9ESUFHPXkKLSMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUX0xSTz15CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAorQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEPXkKKyMgQ09ORklHX1RDUF9DT05HX0JJQyBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorIyBDT05GSUdfVENQX0NPTkdfV0VTVFdPT0QgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSFRDUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IU1RDUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IWUJMQSBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19WRUdBUyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19TQ0FMQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19MUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19WRU5PIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1lFQUggaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSUxMSU5PSVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9CSUMgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ1VCSUM9eQorIyBDT05GSUdfREVGQVVMVF9IVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfVkVHQVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9XRVNUV09PRCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX1JFTk8gaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgotIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CitDT05GSUdfVENQX01ENVNJRz15CisjIENPTkZJR19JUF9WUyBpcyBub3Qgc2V0CiBDT05GSUdfSVBWNj15CiAjIENPTkZJR19JUFY2X1BSSVZBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9ST1VURVJfUFJFRiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X09QVElNSVNUSUNfREFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X0FIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X0VTUCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVDZfQUg9eQorQ09ORklHX0lORVQ2X0VTUD15CiAjIENPTkZJR19JTkVUNl9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9NSVA2IGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RVTk5FTD15Ci0jIENPTkZJR19JTkVUNl9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQ9eQogIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1JPVVRFT1BUSU1JWkFUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19JUFY2X1NJVD15CitDT05GSUdfSVBWNl9ORElTQ19OT0RFVFlQRT15CiAjIENPTkZJR19JUFY2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAotIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjZfTVJPVVRFIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRMQUJFTD15CitDT05GSUdfTkVUV09SS19TRUNNQVJLPXkKK0NPTkZJR19ORVRGSUxURVI9eQorIyBDT05GSUdfTkVURklMVEVSX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUl9BRFZBTkNFRCBpcyBub3Qgc2V0CisKKyMKKyMgQ29yZSBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgorIworQ09ORklHX05FVEZJTFRFUl9ORVRMSU5LPXkKK0NPTkZJR19ORVRGSUxURVJfTkVUTElOS19MT0c9eQorQ09ORklHX05GX0NPTk5UUkFDSz15CitDT05GSUdfTkZfQ09OTlRSQUNLX1NFQ01BUks9eQorQ09ORklHX05GX0NPTk5UUkFDS19GVFA9eQorQ09ORklHX05GX0NPTk5UUkFDS19JUkM9eQorQ09ORklHX05GX0NPTk5UUkFDS19TSVA9eQorQ09ORklHX05GX0NUX05FVExJTks9eQorQ09ORklHX05FVEZJTFRFUl9YVEFCTEVTPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfTkZMT0c9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9DT05OU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9UQ1BNU1M9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9DT05OVFJBQ0s9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9NQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfUE9MSUNZPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfU1RBVEU9eQorCisjCisjIElQOiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgorIworQ09ORklHX05GX0NPTk5UUkFDS19JUFY0PXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfUFJPQ19DT01QQVQ9eQorQ09ORklHX0lQX05GX0lQVEFCTEVTPXkKK0NPTkZJR19JUF9ORl9GSUxURVI9eQorQ09ORklHX0lQX05GX1RBUkdFVF9SRUpFQ1Q9eQorQ09ORklHX0lQX05GX1RBUkdFVF9MT0c9eQorQ09ORklHX0lQX05GX1RBUkdFVF9VTE9HPXkKK0NPTkZJR19ORl9OQVQ9eQorQ09ORklHX05GX05BVF9ORUVERUQ9eQorQ09ORklHX0lQX05GX1RBUkdFVF9NQVNRVUVSQURFPXkKK0NPTkZJR19ORl9OQVRfRlRQPXkKK0NPTkZJR19ORl9OQVRfSVJDPXkKKyMgQ09ORklHX05GX05BVF9URlRQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9BTUFOREEgaXMgbm90IHNldAorIyBDT05GSUdfTkZfTkFUX1BQVFAgaXMgbm90IHNldAorIyBDT05GSUdfTkZfTkFUX0gzMjMgaXMgbm90IHNldAorQ09ORklHX05GX05BVF9TSVA9eQorQ09ORklHX0lQX05GX01BTkdMRT15CisKKyMKKyMgSVB2NjogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVBWNj15CitDT05GSUdfSVA2X05GX0lQVEFCTEVTPXkKK0NPTkZJR19JUDZfTkZfTUFUQ0hfSVBWNkhFQURFUj15CitDT05GSUdfSVA2X05GX0ZJTFRFUj15CitDT05GSUdfSVA2X05GX1RBUkdFVF9MT0c9eQorQ09ORklHX0lQNl9ORl9UQVJHRVRfUkVKRUNUPXkKK0NPTkZJR19JUDZfTkZfTUFOR0xFPXkKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAogIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CiAjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKQEAgLTQwOSw2ICs2MDEsNyBAQAogIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAogIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKK0NPTkZJR19MTEM9eQogIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFggaXMgbm90IHNldAogIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldApAQCAtNDE2LDI4ICs2MDksOTkgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX05FVF9TQ0hFRD15CiAKICMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCisjIFF1ZXVlaW5nL1NjaGVkdWxpbmcKICMKLSMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0NCUSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0hUQiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0hGU0MgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9QUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUlIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9SRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9TRlEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9URVFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfVEJGIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfR1JFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0RTTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX05FVEVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfSU5HUkVTUyBpcyBub3Qgc2V0CisKKyMKKyMgQ2xhc3NpZmljYXRpb24KKyMKK0NPTkZJR19ORVRfQ0xTPXkKKyMgQ09ORklHX05FVF9DTFNfQkFTSUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19UQ0lOREVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUk9VVEU0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfRlcgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19VMzIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19SU1ZQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUlNWUDYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19GTE9XIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRU1BVENIPXkKK0NPTkZJR19ORVRfRU1BVENIX1NUQUNLPTMyCisjIENPTkZJR19ORVRfRU1BVENIX0NNUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX05CWVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfTUVUQSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX1RFWFQgaXMgbm90IHNldAorQ09ORklHX05FVF9DTFNfQUNUPXkKKyMgQ09ORklHX05FVF9BQ1RfUE9MSUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfR0FDVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX01JUlJFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX0lQVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX05BVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX1BFRElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfU0lNUCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1NDSF9GSUZPPXkKIAogIwogIyBOZXR3b3JrIHRlc3RpbmcKICMKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKK0NPTkZJR19IQU1SQURJTz15CisKKyMKKyMgUGFja2V0IFJhZGlvIHByb3RvY29scworIworIyBDT05GSUdfQVgyNSBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CitDT05GSUdfRklCX1JVTEVTPXkKIAogIwogIyBXaXJlbGVzcwogIwotIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKK0NPTkZJR19DRkc4MDIxMT15CitDT05GSUdfTkw4MDIxMT15CitDT05GSUdfV0lSRUxFU1NfRVhUPXkKK0NPTkZJR19NQUM4MDIxMT15CisKKyMKKyMgUmF0ZSBjb250cm9sIGFsZ29yaXRobSBzZWxlY3Rpb24KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX1BJRD15CisjIENPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX05PTkUgaXMgbm90IHNldAorCisjCisjIFNlbGVjdGluZyAneScgZm9yIGFuIGFsZ29yaXRobSB3aWxsCisjCisKKyMKKyMgYnVpbGQgdGhlIGFsZ29yaXRobSBpbnRvIG1hYzgwMjExLgorIworQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFQ9InBpZCIKK0NPTkZJR19NQUM4MDIxMV9SQ19QSUQ9eQorIyBDT05GSUdfTUFDODAyMTFfTUVTSCBpcyBub3Qgc2V0CitDT05GSUdfTUFDODAyMTFfTEVEUz15CisjIENPTkZJR19NQUM4MDIxMV9ERUJVR0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHX1BBQ0tFVF9BTElHTk1FTlQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTFfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldApAQCAtNDQ5LDEzICs3MTMsMTUgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfREVWUkVTPXkKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CitDT05GSUdfQ09OTkVDVE9SPXkKK0NPTkZJR19QUk9DX0VWRU5UUz15CiAjIENPTkZJR19NVEQgaXMgbm90IHNldAogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfUE5QPXkKQEAgLTQ2Niw3ICs3MzIsNyBAQAogIwogQ09ORklHX1BOUEFDUEk9eQogQ09ORklHX0JMS19ERVY9eQotQ09ORklHX0JMS19ERVZfRkQ9eQorIyBDT05GSUdfQkxLX0RFVl9GRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfQ1BRX0RBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19DUFFfQ0lTU19EQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0RBQzk2MCBpcyBub3Qgc2V0CkBAIC00NzksOCArNzQ1LDggQEAKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfUkFNPXkKIENPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9NDA5NgotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CitDT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xNjM4NAorIyBDT05GSUdfQkxLX0RFVl9YSVAgaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAogQ09ORklHX01JU0NfREVWSUNFUz15CkBAIC00ODksNzMgKzc1NSwxNyBAQAogIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKICMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19BQ0VSX1dNSSBpcyBub3Qgc2V0CisjIENPTkZJR19BU1VTX0xBUFRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19GVUpJVFNVX0xBUFRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQzExMDBfV01JIGlzIG5vdCBzZXQKKyMgQ09ORklHX01TSV9MQVBUT1AgaXMgbm90IHNldAogIyBDT05GSUdfU09OWV9MQVBUT1AgaXMgbm90IHNldAogIyBDT05GSUdfVEhJTktQQURfQUNQSSBpcyBub3Qgc2V0Ci1DT05GSUdfSURFPXkKLUNPTkZJR19CTEtfREVWX0lERT15Ci0KLSMKLSMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCi0jCi0jIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSERfSURFIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURJU0s9eQotQ09ORklHX0lERURJU0tfTVVMVElfTU9ERT15Ci1DT05GSUdfQkxLX0RFVl9JREVDRD15Ci0jIENPTkZJR19CTEtfREVWX0lERVRBUEUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVGTE9QUFkgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVTQ1NJIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERUFDUEk9eQotIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAotQ09ORklHX0lERV9QUk9DX0ZTPXkKLQotIwotIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCi0jCi1DT05GSUdfSURFX0dFTkVSSUM9eQotIyBDT05GSUdfQkxLX0RFVl9DTUQ2NDAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVQTlAgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFUENJPXkKLSMgQ09ORklHX0lERVBDSV9TSEFSRV9JUlEgaXMgbm90IHNldAotQ09ORklHX0lERVBDSV9QQ0lCVVNfT1JERVI9eQotIyBDT05GSUdfQkxLX0RFVl9PRkZCT0FSRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0dFTkVSSUMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9PUFRJNjIxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfUloxMDAwIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURNQV9QQ0k9eQotIyBDT05GSUdfQkxLX0RFVl9JREVETUFfRk9SQ0VEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERURNQV9PTkxZRElTSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0FFQzYyWFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9BTEkxNVgzIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0FNRDc0WFg9eQotIyBDT05GSUdfQkxLX0RFVl9BVElJWFAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DTUQ2NFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9UUklGTEVYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1k4MkM2OTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DUzU1MjAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DUzU1MzAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DUzU1MzUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IUFQzNFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IUFQzNjYgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9KTUlDUk9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0MxMjAwIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1BJSVg9eQotIyBDT05GSUdfQkxLX0RFVl9JVDgyMTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JVDgyMVggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9OUzg3NDE1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfUERDMjAyWFhfT0xEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfUERDMjAyWFhfTkVXIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU1ZXS1MgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TSUlNQUdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0lTNTUxMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NMQzkwRTY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVFJNMjkwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVklBODJDWFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVEM4NkMwMDEgaXMgbm90IHNldAotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVETUE9eQotIyBDT05GSUdfSURFRE1BX0lWQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVMX01FTkxPVyBpcyBub3Qgc2V0CisjIENPTkZJR19FTkNMT1NVUkVfU0VSVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNTY0LDggKzc3NCw4IEBACiBDT05GSUdfU0NTST15CiBDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAotQ09ORklHX1NDU0lfTkVUTElOSz15Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01NzQsNyArNzg0LDcgQEAKICMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1NSPXkKLSMgQ09ORklHX0JMS19ERVZfU1JfVkVORE9SIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX1NSX1ZFTkRPUj15CiBDT05GSUdfQ0hSX0RFVl9TRz15CiAjIENPTkZJR19DSFJfREVWX1NDSCBpcyBub3Qgc2V0CiAKQEAgLTU4Miw3ICs3OTIsNyBAQAogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKICMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0NPTlNUQU5UUz15CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJX1dBSVRfU0NBTj1tCkBAIC01OTEsODEgKzgwMSwzNyBAQAogIyBTQ1NJIFRyYW5zcG9ydHMKICMKIENPTkZJR19TQ1NJX1NQSV9BVFRSUz15Ci1DT05GSUdfU0NTSV9GQ19BVFRSUz15CisjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCi0jIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfM1dfWFhYWF9SQUlEPXkKLSMgQ09ORklHX1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FDQVJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUFDUkFJRCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NTSV9BSUM3WFhYPXkKLUNPTkZJR19BSUM3WFhYX0NNRFNfUEVSX0RFVklDRT0zMgotQ09ORklHX0FJQzdYWFhfUkVTRVRfREVMQVlfTVM9NTAwMAotQ09ORklHX0FJQzdYWFhfREVCVUdfRU5BQkxFPXkKLUNPTkZJR19BSUM3WFhYX0RFQlVHX01BU0s9MAotQ09ORklHX0FJQzdYWFhfUkVHX1BSRVRUWV9QUklOVD15Ci0jIENPTkZJR19TQ1NJX0FJQzdYWFhfT0xEIGlzIG5vdCBzZXQKLUNPTkZJR19TQ1NJX0FJQzc5WFg9eQotQ09ORklHX0FJQzc5WFhfQ01EU19QRVJfREVWSUNFPTMyCi1DT05GSUdfQUlDNzlYWF9SRVNFVF9ERUxBWV9NUz00MDAwCi0jIENPTkZJR19BSUM3OVhYX0RFQlVHX0VOQUJMRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUlDNzlYWF9ERUJVR19NQVNLPTAKLSMgQ09ORklHX0FJQzc5WFhfUkVHX1BSRVRUWV9QUklOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FJQzk0WFggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9EUFRfSTJPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQURWQU5TWVMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BUkNNU1IgaXMgbm90IHNldAotIyBDT05GSUdfTUVHQVJBSURfTkVXR0VOIGlzIG5vdCBzZXQKLSMgQ09ORklHX01FR0FSQUlEX0xFR0FDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NRUdBUkFJRF9TQVMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9IUFRJT1AgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9CVVNMT0dJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RNWDMxOTFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfRUFUQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0ZVVFVSRV9ET01BSU4gaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9HRFRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lQUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMT0dJQ18xMjgwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUUxBX0lTQ1NJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfTFBGQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RDMzk1eCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RDMzkwVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX05TUDMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TUlAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9MT1dMRVZFTCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0xPV0xFVkVMX1BDTUNJQSBpcyBub3Qgc2V0CiBDT05GSUdfQVRBPXkKICMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CiBDT05GSUdfQVRBX0FDUEk9eQorQ09ORklHX1NBVEFfUE1QPXkKIENPTkZJR19TQVRBX0FIQ0k9eQotQ09ORklHX1NBVEFfU1ZXPXkKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQorIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAogQ09ORklHX0FUQV9QSUlYPXkKICMgQ09ORklHX1NBVEFfTVYgaXMgbm90IHNldAotQ09ORklHX1NBVEFfTlY9eQorIyBDT05GSUdfU0FUQV9OViBpcyBub3Qgc2V0CiAjIENPTkZJR19QRENfQURNQSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NYNCBpcyBub3Qgc2V0Ci1DT05GSUdfU0FUQV9TSUw9eQotIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0Ci1DT05GSUdfU0FUQV9WSUE9eQorIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BQ1BJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BBVEFfQU1EIGlzIG5vdCBzZXQKK0NPTkZJR19QQVRBX0FNRD15CiAjIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQVRJSVhQIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQ01ENjQwX1BDSSBpcyBub3Qgc2V0CkBAIC02NzMsNiArODM5LDcgQEAKICMgQ09ORklHX1BBVEFfQ1M1NTIwIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQ1M1NTMwIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQ1M1NTM1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1M1NTM2IGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0VGQVIgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX0dFTkVSSUMgaXMgbm90IHNldApAQCAtNjg2LDExICs4NTMsMTQgQEAKICMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9NUElJWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNldAorQ09ORklHX1BBVEFfT0xEUElJWD15CiAjIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OSU5KQTMyIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BDTUNJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKQEAgLTcwMiw2NSArODcyLDQyIEBACiAjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAogQ09ORklHX01EPXkKLSMgQ09ORklHX0JMS19ERVZfTUQgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfTUQ9eQorIyBDT05GSUdfTURfTElORUFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlENDU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX01VTFRJUEFUSCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9GQVVMVFkgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfRE09eQogIyBDT05GSUdfRE1fREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfRE1fQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfRE1fU05BUFNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfRE1fTUlSUk9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RNX1pFUk8gaXMgbm90IHNldAorQ09ORklHX0RNX01JUlJPUj15CitDT05GSUdfRE1fWkVSTz15CiAjIENPTkZJR19ETV9NVUxUSVBBVEggaXMgbm90IHNldAogIyBDT05GSUdfRE1fREVMQVkgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKLUNPTkZJR19GVVNJT049eQotQ09ORklHX0ZVU0lPTl9TUEk9eQotIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNldAotQ09ORklHX0ZVU0lPTl9NQVhfU0dFPTEyOAotIyBDT05GSUdfRlVTSU9OX0NUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ETV9VRVZFTlQgaXMgbm90IHNldAorIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKIAogIwogIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0CiAjCiAjIENPTkZJR19GSVJFV0lSRSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTEzOTQ9eQotCi0jCi0jIFN1YnN5c3RlbSBPcHRpb25zCi0jCi0jIENPTkZJR19JRUVFMTM5NF9WRVJCT1NFREVCVUcgaXMgbm90IHNldAotCi0jCi0jIENvbnRyb2xsZXJzCi0jCi0KLSMKLSMgVGV4YXMgSW5zdHJ1bWVudHMgUENJTHlueCByZXF1aXJlcyBJMkMKLSMKLUNPTkZJR19JRUVFMTM5NF9PSENJMTM5ND15Ci0KLSMKLSMgUHJvdG9jb2xzCi0jCi0jIENPTkZJR19JRUVFMTM5NF9WSURFTzEzOTQgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfU0JQMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9FVEgxMzk0X1JPTV9FTlRSWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9FVEgxMzk0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X0RWMTM5NCBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTEzOTRfUkFXSU89eQorIyBDT05GSUdfSUVFRTEzOTQgaXMgbm90IHNldAogIyBDT05GSUdfSTJPIGlzIG5vdCBzZXQKIENPTkZJR19NQUNJTlRPU0hfRFJJVkVSUz15Ci0jIENPTkZJR19NQUNfRU1VTU9VU0VCVE4gaXMgbm90IHNldAorQ09ORklHX01BQ19FTVVNT1VTRUJUTj15CiBDT05GSUdfTkVUREVWSUNFUz15Ci1DT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19JRkIgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfU0IxMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldApAQCAtNzcwLDM4ICs5MTcsNDAgQEAKICMgQ09ORklHX1NVTkdFTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DQVNTSU5JIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfVkVORE9SXzNDT009eQotQ09ORklHX1ZPUlRFWD15CisjIENPTkZJR19WT1JURVggaXMgbm90IHNldAogIyBDT05GSUdfVFlQSE9PTiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1RVTElQPXkKICMgQ09ORklHX0RFMjEwNFggaXMgbm90IHNldAotQ09ORklHX1RVTElQPXkKLSMgQ09ORklHX1RVTElQX01XSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UVUxJUF9NTUlPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RVTElQX05BUEkgaXMgbm90IHNldAorIyBDT05GSUdfVFVMSVAgaXMgbm90IHNldAogIyBDT05GSUdfREU0WDUgaXMgbm90IHNldAogIyBDT05GSUdfV0lOQk9ORF84NDAgaXMgbm90IHNldAogIyBDT05GSUdfRE05MTAyIGlzIG5vdCBzZXQKICMgQ09ORklHX1VMSTUyNlggaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1hJUkNPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAogQ09ORklHX05FVF9QQ0k9eQogIyBDT05GSUdfUENORVQzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19BTUQ4MTExX0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BREFQVEVDX1NUQVJGSVJFIGlzIG5vdCBzZXQKLUNPTkZJR19CNDQ9eQorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKIENPTkZJR19GT1JDRURFVEg9eQogIyBDT05GSUdfRk9SQ0VERVRIX05BUEkgaXMgbm90IHNldAotIyBDT05GSUdfREdSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRVBSTzEwMCBpcyBub3Qgc2V0CiBDT05GSUdfRTEwMD15CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0Ci1DT05GSUdfODEzOUNQPXkKKyMgQ09ORklHXzgxMzlDUCBpcyBub3Qgc2V0CiBDT05GSUdfODEzOVRPTz15Ci0jIENPTkZJR184MTM5VE9PX1BJTyBpcyBub3Qgc2V0CitDT05GSUdfODEzOVRPT19QSU89eQogIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfODEzOVRPT184MTI5IGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlfT0xEX1JYX1JFU0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FUElDMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NVTkRBTkNFIGlzIG5vdCBzZXQKQEAgLTgxNCwzNCArOTYzLDc1IEBACiBDT05GSUdfRTEwMDA9eQogIyBDT05GSUdfRTEwMDBfTkFQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwMF9ESVNBQkxFX1BBQ0tFVF9TUExJVCBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEUgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAorIyBDT05GSUdfSVAxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lHQiBpcyBub3Qgc2V0CiAjIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAogIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKLUNPTkZJR19SODE2OT15Ci0jIENPTkZJR19SODE2OV9OQVBJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I4MTY5IGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TS0dFIGlzIG5vdCBzZXQKIENPTkZJR19TS1kyPXkKKyMgQ09ORklHX1NLWTJfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKIENPTkZJR19USUdPTjM9eQotQ09ORklHX0JOWDI9eQorIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0CiAjIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUTDEgaXMgbm90IHNldAogQ09ORklHX05FVERFVl8xMDAwMD15CiAjIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAorIyBDT05GSUdfSVhHQkUgaXMgbm90IHNldAogIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TMklPIGlzIG5vdCBzZXQKICMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAorIyBDT05GSUdfTklVIGlzIG5vdCBzZXQKICMgQ09ORklHX01MWDRfQ09SRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UUiBpcyBub3Qgc2V0CisjIENPTkZJR19URUhVVEkgaXMgbm90IHNldAorIyBDT05GSUdfQk5YMlggaXMgbm90IHNldAorIyBDT05GSUdfU0ZDIGlzIG5vdCBzZXQKK0NPTkZJR19UUj15CisjIENPTkZJR19JQk1PTCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1MUyBpcyBub3Qgc2V0CisjIENPTkZJR18zQzM1OSBpcyBub3Qgc2V0CisjIENPTkZJR19UTVMzODBUUiBpcyBub3Qgc2V0CiAKICMKICMgV2lyZWxlc3MgTEFOCiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorQ09ORklHX1dMQU5fODAyMTE9eQorIyBDT05GSUdfUENNQ0lBX1JBWUNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVzIxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJFUlRBUyBpcyBub3Qgc2V0CisjIENPTkZJR19BSVJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFUk1FUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE1FTCBpcyBub3Qgc2V0CisjIENPTkZJR19BSVJPX0NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9XTDM1MDEgaXMgbm90IHNldAorIyBDT05GSUdfUFJJU001NCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkQxMjAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ORVRfUk5ESVNfV0xBTiBpcyBub3Qgc2V0CisjIENPTkZJR19SVEw4MTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUTDgxODcgaXMgbm90IHNldAorIyBDT05GSUdfQURNODIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19QNTRfQ09NTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19BVEg1Sz15CisjIENPTkZJR19BVEg1S19ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTENPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTDQ5NjUgaXMgbm90IHNldAorIyBDT05GSUdfSVdMMzk0NSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1NUQVAgaXMgbm90IHNldAorIyBDT05GSUdfQjQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0M0xFR0FDWSBpcyBub3Qgc2V0CisjIENPTkZJR19aRDEyMTFSVyBpcyBub3Qgc2V0CisjIENPTkZJR19SVDJYMDAgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC04NTAsMTYgKzEwNDAsMjcgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1BDTUNJQT15CisjIENPTkZJR19QQ01DSUFfM0M1ODkgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBXzNDNTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9GTVZKMThYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9QQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfTk1DTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9TTUM5MUM5MiBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfWElSQzJQUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfQVhORVQgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX0lCTVRSIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRERJIGlzIG5vdCBzZXQKK0NPTkZJR19GRERJPXkKKyMgQ09ORklHX0RFRlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NLRlAgaXMgbm90IHNldAogIyBDT05GSUdfSElQUEkgaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUQ09OU09MRT15CisjIENPTkZJR19ORVRDT05TT0xFX0RZTkFNSUMgaXMgbm90IHNldAogQ09ORklHX05FVFBPTEw9eQogIyBDT05GSUdfTkVUUE9MTF9UUkFQIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSPXkKQEAgLTg3MCwxOCArMTA3MSwxNyBAQAogIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAogIwogQ09ORklHX0lOUFVUPXkKLSMgQ09ORklHX0lOUFVUX0ZGX01FTUxFU1MgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfUE9MTERFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRkZfTUVNTEVTUz15CitDT05GSUdfSU5QVVRfUE9MTERFVj15CiAKICMKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwogQ09ORklHX0lOUFVUX01PVVNFREVWPXkKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15CisjIENPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWCBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKQEAgLTkwNiwxNyArMTEwNiw2MyBAQAogIyBDT05GSUdfTU9VU0VfU0VSSUFMIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX0FQUExFVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfVlNYWFhBQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfSk9ZU1RJQ0s9eQorIyBDT05GSUdfSk9ZU1RJQ0tfQU5BTE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0EzRCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19BREkgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfQ09CUkEgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR0YySyBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HUklQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dSSVBfTVAgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR1VJTExFTU9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0lOVEVSQUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NJREVXSU5ERVIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfVE1EQyBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19JRk9SQ0UgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfV0FSUklPUiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19NQUdFTExBTiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TUEFDRU9SQiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TUEFDRUJBTEwgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1RJTkdFUiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19UV0lESk9ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1pIRU5IVUEgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfSk9ZRFVNUCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19YUEFEIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9UQUJMRVQ9eQorIyBDT05GSUdfVEFCTEVUX1VTQl9BQ0VDQUQgaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9BSVBURUsgaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9HVENPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfS0JUQUIgaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9XQUNPTSBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRlVKSVRTVSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9NSVNDPXkKKyMgQ09ORklHX0lOUFVUX1BDU1BLUiBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BUEFORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfV0lTVFJPTl9CVE5TIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FUTEFTX0JUTlMgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVRJX1JFTU9URSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BVElfUkVNT1RFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9LRVlTUEFOX1JFTU9URSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9QT1dFUk1BVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfWUVBTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9VSU5QVVQgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwogQ09ORklHX1NFUklPPXkKIENPTkZJR19TRVJJT19JODA0Mj15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJT19TRVJQT1JUPXkKICMgQ09ORklHX1NFUklPX0NUODJDNzEwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFUklPX1BDSVBTMiBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSU9fTElCUFMyPXkKQEAgLTkyOSw4ICsxMTc1LDI2IEBACiBDT05GSUdfVlQ9eQogQ09ORklHX1ZUX0NPTlNPTEU9eQogQ09ORklHX0hXX0NPTlNPTEU9eQotIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HPXkKK0NPTkZJR19ERVZLTUVNPXkKK0NPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQ9eQorIyBDT05GSUdfQ09NUFVUT05FIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPQ0tFVFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1lDTEFERVMgaXMgbm90IHNldAorIyBDT05GSUdfRElHSUVQQ0EgaXMgbm90IHNldAorIyBDT05GSUdfTU9YQV9JTlRFTExJTyBpcyBub3Qgc2V0CisjIENPTkZJR19NT1hBX1NNQVJUSU8gaXMgbm90IHNldAorIyBDT05GSUdfSVNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LTVAgaXMgbm90IHNldAorIyBDT05GSUdfU1lOQ0xJTktfR1QgaXMgbm90IHNldAorIyBDT05GSUdfTl9IRExDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JJU0NPTTggaXMgbm90IHNldAorIyBDT05GSUdfU1BFQ0lBTElYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JJTyBpcyBub3Qgc2V0CisjIENPTkZJR19TVEFMRFJWIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKQEAgLTk0MCw5ICsxMjA0LDE0IEBACiBDT05GSUdfRklYX0VBUkxZQ09OX01FTT15CiBDT05GSUdfU0VSSUFMXzgyNTBfUENJPXkKIENPTkZJR19TRVJJQUxfODI1MF9QTlA9eQotQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKKyMgQ09ORklHX1NFUklBTF84MjUwX0NTIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz0zMgogQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9NAotIyBDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEPXkKK0NPTkZJR19TRVJJQUxfODI1MF9NQU5ZX1BPUlRTPXkKK0NPTkZJR19TRVJJQUxfODI1MF9TSEFSRV9JUlE9eQorQ09ORklHX1NFUklBTF84MjUwX0RFVEVDVF9JUlE9eQorQ09ORklHX1NFUklBTF84MjUwX1JTQT15CiAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydApAQCAtOTUxLDIwICsxMjIwLDE2OCBAQAogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWDk4X1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgorIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMgbm90IHNldAogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIENPTkZJR19IV19SQU5ET009eQotQ09ORklHX0hXX1JBTkRPTV9JTlRFTD15Ci1DT05GSUdfSFdfUkFORE9NX0FNRD15CisjIENPTkZJR19IV19SQU5ET01fSU5URUwgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NX0FNRCBpcyBub3Qgc2V0CiBDT05GSUdfSFdfUkFORE9NX0dFT0RFPXkKIENPTkZJR19IV19SQU5ET01fVklBPXkKLSMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKLUNPTkZJR19SVEM9eQorQ09ORklHX05WUkFNPXkKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX1NPTllQSSBpcyBub3Qgc2V0CisKKyMKKyMgUENNQ0lBIGNoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19TWU5DTElOS19DUyBpcyBub3Qgc2V0CisjIENPTkZJR19DQVJETUFOXzQwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQV0lSRUxFU1MgaXMgbm90IHNldAorIyBDT05GSUdfTVdBVkUgaXMgbm90IHNldAorIyBDT05GSUdfUEM4NzM2eF9HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX05TQ19HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NTNTUzNV9HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorQ09ORklHX0hQRVQ9eQorIyBDT05GSUdfSFBFVF9SVENfSVJRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQRVRfTU1BUCBpcyBub3Qgc2V0CisjIENPTkZJR19IQU5HQ0hFQ0tfVElNRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CisjIENPTkZJR19URUxDTE9DSyBpcyBub3Qgc2V0CitDT05GSUdfREVWUE9SVD15CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKKyMgQ09ORklHX0kyQ19DSEFSREVWIGlzIG5vdCBzZXQKKworIworIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKKyMKKyMgQ09ORklHX0kyQ19BTEkxNTM1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ3NTYgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDgxMTEgaXMgbm90IHNldAorQ09ORklHX0kyQ19JODAxPXkKKyMgQ09ORklHX0kyQ19JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QUk9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ3gyMDBfQUNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM2MzAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzk2WCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVk9PRE9PMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSSBpcyBub3Qgc2V0CisjIENPTkZJR19XMSBpcyBub3Qgc2V0CitDT05GSUdfUE9XRVJfU1VQUExZPXkKKyMgQ09ORklHX1BPV0VSX1NVUFBMWV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19QREFfUE9XRVIgaXMgbm90IHNldAorIyBDT05GSUdfQkFUVEVSWV9EUzI3NjAgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorQ09ORklHX1RIRVJNQUw9eQorQ09ORklHX1dBVENIRE9HPXkKKyMgQ09ORklHX1dBVENIRE9HX05PV0FZT1VUIGlzIG5vdCBzZXQKKworIworIyBXYXRjaGRvZyBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfU09GVF9XQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19BQ1FVSVJFX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19BRFZBTlRFQ0hfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FMSU0xNTM1X1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19BTElNNzEwMV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0M1MjBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VVUk9URUNIX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JQjcwMF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSUJNQVNSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBRkVSX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JNjMwMEVTQl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSVRDT19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSVQ4NzEyRl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSFBfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfU0MxMjAwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19QQzg3NDEzX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR182MFhYX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQkM4MzYwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQkM3MjQwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFU1X1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTVNDMzdCNzg3X1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM2MjdIRl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzNjk3SEZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4Mzg3N0ZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4Mzk3N0ZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0haX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQkNfRVBYX0MzX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBQQ0ktYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKKyMKKyMgQ09ORklHX1BDSVBDV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfV0RUUENJIGlzIG5vdCBzZXQKKworIworIyBVU0ItYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKKyMKKyMgQ09ORklHX1VTQlBDV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAorCisjCisjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRldmljZXMKKyMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKK0NPTkZJR19EQUI9eQorIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CisKKyMKKyMgR3JhcGhpY3Mgc3VwcG9ydAorIwogQ09ORklHX0FHUD15CiAjIENPTkZJR19BR1BfQUxJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FHUF9BVEkgaXMgbm90IHNldApAQCAtOTc2LDY0ICsxMzkzLDEwMiBAQAogIyBDT05GSUdfQUdQX1NXT1JLUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BR1BfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FHUF9FRkZJQ0VPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19EUk0gaXMgbm90IHNldAotIyBDT05GSUdfTVdBVkUgaXMgbm90IHNldAotIyBDT05GSUdfUEM4NzM2eF9HUElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX05TQ19HUElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NTNTUzNV9HUElPIGlzIG5vdCBzZXQKLUNPTkZJR19SQVdfRFJJVkVSPXkKLUNPTkZJR19NQVhfUkFXX0RFVlM9MjU2Ci1DT05GSUdfSFBFVD15Ci0jIENPTkZJR19IUEVUX1JUQ19JUlEgaXMgbm90IHNldAotQ09ORklHX0hQRVRfTU1BUD15Ci0jIENPTkZJR19IQU5HQ0hFQ0tfVElNRVIgaXMgbm90IHNldAotIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19URUxDTE9DSyBpcyBub3Qgc2V0Ci1DT05GSUdfREVWUE9SVD15Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0RSTT15CisjIENPTkZJR19EUk1fVERGWCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fUjEyOCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fUkFERU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9JODMwIGlzIG5vdCBzZXQKK0NPTkZJR19EUk1fSTkxNT15CisjIENPTkZJR19EUk1fTUdBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKK0NPTkZJR19GQj15CisjIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0CitDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKK0NPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQorQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQorIyBDT05GSUdfRkJfQ0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJQU4gaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAorQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKKyMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9NT0RFX0hFTFBFUlM9eQorQ09ORklHX0ZCX1RJTEVCTElUVElORz15CiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1cxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19IV01PTiBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwotIwotIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aW1lZGlhIGRldmljZXMKLSMKLSMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci1DT05GSUdfREFCPXkKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAotCi0jCi0jIEdyYXBoaWNzIHN1cHBvcnQKLSMKLSMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DSVJSVVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUE0yIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NZQkVSMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BUkMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVNJTElBTlQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfSU1TVFQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVkdBMTYgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVVZFU0EgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVkVTQSBpcyBub3Qgc2V0CitDT05GSUdfRkJfRUZJPXkKKyMgQ09ORklHX0ZCX0lNQUMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTjQxMSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9IR0EgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAorIyBDT05GSUdfRkJfTlZJRElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1JJVkEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9MRTgwNTc4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0lOVEVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01BVFJPWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9SQURFT04gaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVRZMTI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FUWSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TMyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX05FT01BR0lDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0tZUk8gaXMgbm90IHNldAorIyBDT05GSUdfRkJfM0RGWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WT09ET08xIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZUODYyMyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DWUJMQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9UUklERU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FSSyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9QTTMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfR0VPREUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CitDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUPXkKKyMgQ09ORklHX0xDRF9DTEFTU19ERVZJQ0UgaXMgbm90IHNldAorQ09ORklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0U9eQorIyBDT05GSUdfQkFDS0xJR0hUX0NPUkdJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9QUk9HRUFSIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotIyBDT05GSUdfRkIgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogQ09ORklHX1ZHQV9DT05TT0xFPXkKIENPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLPXkKLUNPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLX1NJWkU9MTI4CitDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTY0CiBDT05GSUdfVklERU9fU0VMRUNUPXkKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEUgaXMgbm90IHNldAorQ09ORklHX0xPR089eQorIyBDT05GSUdfTE9HT19MSU5VWF9NT05PIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPR09fTElOVVhfVkdBMTYgaXMgbm90IHNldAorQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKQEAgLTEwNDMsMzMgKzE0OTgsMTY3IEBACiAjCiAjIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQogIwotIyBDT05GSUdfU05EIGlzIG5vdCBzZXQKK0NPTkZJR19TTkQ9eQorQ09ORklHX1NORF9USU1FUj15CitDT05GSUdfU05EX1BDTT15CitDT05GSUdfU05EX0hXREVQPXkKK0NPTkZJR19TTkRfU0VRVUVOQ0VSPXkKK0NPTkZJR19TTkRfU0VRX0RVTU1ZPXkKK0NPTkZJR19TTkRfT1NTRU1VTD15CitDT05GSUdfU05EX01JWEVSX09TUz15CitDT05GSUdfU05EX1BDTV9PU1M9eQorQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQorQ09ORklHX1NORF9TRVFVRU5DRVJfT1NTPXkKK0NPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlM9eQorQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQorQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15CisjIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TTkRfVk1BU1RFUj15CisKKyMKKyMgR2VuZXJpYyBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfUENTUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJUk1JREkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAorCisjCisjIFBDSSBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfQUQxODg5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMUzQwMDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMSTU0NTEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FUSUlYUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVTg4MTAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FVODgyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVzIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0JUODdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DQTAxMDYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfT1hZR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzQyODEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNDZYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M1NTMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzU1MzVBVURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfREFSTEEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfR0lOQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9MQVlMQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9EQVJMQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9HSU5BMjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0xBWUxBMjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01PTkEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01JQSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRUNITzNHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTkRJR08gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lORElHT0lPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTkRJR09ESiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU1VMTBLMSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU1VMTBLMVggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VOUzEzNzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VOUzEzNzEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VTMTkzOCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRVMxOTY4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9GTTgwMSBpcyBub3Qgc2V0CitDT05GSUdfU05EX0hEQV9JTlRFTD15CitDT05GSUdfU05EX0hEQV9IV0RFUD15CitDT05GSUdfU05EX0hEQV9DT0RFQ19SRUFMVEVLPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0FOQUxPRz15CitDT05GSUdfU05EX0hEQV9DT0RFQ19TSUdNQVRFTD15CitDT05GSUdfU05EX0hEQV9DT0RFQ19WSUE9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQVRJSERNST15CitDT05GSUdfU05EX0hEQV9DT0RFQ19DT05FWEFOVD15CitDT05GSUdfU05EX0hEQV9DT0RFQ19DTUVESUE9eQorQ09ORklHX1NORF9IREFfQ09ERUNfU0kzMDU0PXkKK0NPTkZJR19TTkRfSERBX0dFTkVSSUM9eQorIyBDT05GSUdfU05EX0hEQV9QT1dFUl9TQVZFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9IRFNQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9IRFNQTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSElGSUVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JQ0UxNzI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTlRFTDhYMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9LT1JHMTIxMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTUFFU1RSTzMgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01JWEFSVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTk0yNTYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1BDWEhSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9SSVBUSURFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9STUUzMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUk1FOTYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JNRTk2NTIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1NJUzcwMTkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1NPTklDVklCRVMgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJUlRVT1NPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WWDIyMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfWU1GUENJIGlzIG5vdCBzZXQKKworIworIyBVU0IgZGV2aWNlcworIworIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVVNCX1VTWDJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAorCisjCisjIFBDTUNJQSBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfVlhQT0NLRVQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1BEQVVESU9DRiBpcyBub3Qgc2V0CisKKyMKKyMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAorIworIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0CisKKyMKKyMgQUxTQSBTb0MgYXVkaW8gZm9yIEZyZWVzY2FsZSBTT0NzCisjCisKKyMKKyMgU29DIEF1ZGlvIGZvciB0aGUgVGV4YXMgSW5zdHJ1bWVudHMgT01BUAorIwogCiAjCiAjIE9wZW4gU291bmQgU3lzdGVtCiAjCi1DT05GSUdfU09VTkRfUFJJTUU9eQotIyBDT05GSUdfU09VTkRfVFJJREVOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TT1VORF9NU05EQ0xBUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TT1VORF9NU05EUElOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NPVU5EX09TUyBpcyBub3Qgc2V0CisjIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0CiBDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15Ci0jIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0hJRF9ERUJVRz15CitDT05GSUdfSElEUkFXPXkKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwogIwogQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSz15CitDT05GSUdfSElEX0ZGPXkKK0NPTkZJR19ISURfUElEPXkKK0NPTkZJR19MT0dJVEVDSF9GRj15CisjIENPTkZJR19MT0dJUlVNQkxFUEFEMl9GRiBpcyBub3Qgc2V0CitDT05GSUdfUEFOVEhFUkxPUkRfRkY9eQorQ09ORklHX1RIUlVTVE1BU1RFUl9GRj15CitDT05GSUdfWkVST1BMVVNfRkY9eQorQ09ORklHX1VTQl9ISURERVY9eQogQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0k9eQogQ09ORklHX1VTQj15Ci0jIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERUJVRz15CitDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTPXkKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCkBAIC0xMDc3LDE4ICsxNjY2LDE4IEBACiBDT05GSUdfVVNCX0RFVklDRUZTPXkKICMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VTUEVORD15CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfRUhDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX0VIQ0lfU1BMSVRfSVNPIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9FSENJX1RUX05FV1NDSEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0hDRD15CiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKQEAgLTExMjEsOCArMTcxMCwxMCBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0xJQlVTVUFMPXkKIAogIwogIyBVU0IgSW1hZ2luZyBkZXZpY2VzCkBAIC0xMTM0LDEwICsxNzI1LDYgQEAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMTYzLDkwICsxNzUwLDEyNSBAQAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIwogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19NRU1TVElDSyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCiAjIExFRCBkcml2ZXJzCiAjCisjIENPTkZJR19MRURTX0NMRVZPX01BSUwgaXMgbm90IHNldAogCiAjCiAjIExFRCBUcmlnZ2VycwogIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQgaXMgbm90IHNldAorIyBDT05GSUdfTEVEU19UUklHR0VSX0RFRkFVTFRfT04gaXMgbm90IHNldAorIyBDT05GSUdfQUNDRVNTSUJJTElUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZJTklCQU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VEQUMgaXMgbm90IHNldAorQ09ORklHX0VEQUM9eQogCiAjCi0jIFJlYWwgVGltZSBDbG9jaworIyBSZXBvcnRpbmcgc3Vic3lzdGVtcwogIwotIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VEQUNfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfRURBQ19NTV9FREFDIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfTElCPXkKK0NPTkZJR19SVENfQ0xBU1M9eQorIyBDT05GSUdfUlRDX0hDVE9TWVMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKIAogIwotIyBETUEgRW5naW5lIHN1cHBvcnQKKyMgUlRDIGludGVyZmFjZXMKICMKLSMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAorQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKK0NPTkZJR19SVENfSU5URl9QUk9DPXkKK0NPTkZJR19SVENfSU5URl9ERVY9eQorIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgRE1BIENsaWVudHMKKyMgSTJDIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKworIworIyBQbGF0Zm9ybSBSVEMgZHJpdmVycworIworQ09ORklHX1JUQ19EUlZfQ01PUz15CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAorCisjCisjIG9uLUNQVSBSVEMgZHJpdmVycworIworQ09ORklHX0RNQURFVklDRVM9eQogCiAjCiAjIERNQSBEZXZpY2VzCiAjCi1DT05GSUdfVklSVFVBTElaQVRJT049eQotIyBDT05GSUdfS1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVMX0lPQVRETUEgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwotIyBVc2Vyc3BhY2UgSS9PCisjIEZpcm13YXJlIERyaXZlcnMKICMKLSMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisjIENPTkZJR19FREQgaXMgbm90IHNldAorQ09ORklHX0VGSV9WQVJTPXkKKyMgQ09ORklHX0RFTExfUkJVIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RDREJBUyBpcyBub3Qgc2V0CitDT05GSUdfRE1JSUQ9eQorIyBDT05GSUdfSVNDU0lfSUJGVF9GSU5EIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKICMKLUNPTkZJR19FWFQyX0ZTPXkKLUNPTkZJR19FWFQyX0ZTX1hBVFRSPXkKLUNPTkZJR19FWFQyX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19FWFQyX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAogQ09ORklHX0VYVDNfRlM9eQogQ09ORklHX0VYVDNfRlNfWEFUVFI9eQogQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMPXkKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorQ09ORklHX0VYVDNfRlNfU0VDVVJJVFk9eQogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKICMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfRlNfTUJDQUNIRT15Ci1DT05GSUdfUkVJU0VSRlNfRlM9eQotIyBDT05GSUdfUkVJU0VSRlNfQ0hFQ0sgaXMgbm90IHNldAotIyBDT05GSUdfUkVJU0VSRlNfUFJPQ19JTkZPIGlzIG5vdCBzZXQKLUNPTkZJR19SRUlTRVJGU19GU19YQVRUUj15Ci1DT05GSUdfUkVJU0VSRlNfRlNfUE9TSVhfQUNMPXkKLSMgQ09ORklHX1JFSVNFUkZTX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQotIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQorQ09ORklHX1FVT1RBPXkKK0NPTkZJR19RVU9UQV9ORVRMSU5LX0lOVEVSRkFDRT15CisjIENPTkZJR19QUklOVF9RVU9UQV9XQVJOSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FGTVRfVjEgaXMgbm90IHNldAorQ09ORklHX1FGTVRfVjI9eQorQ09ORklHX1FVT1RBQ1RMPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfQVVUT0ZTNF9GUz15CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTEyNTYsOCArMTg3OCw4IEBACiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKICMKIENPTkZJR19JU085NjYwX0ZTPXkKLSMgQ09ORklHX0pPTElFVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX0pPTElFVD15CitDT05GSUdfWklTT0ZTPXkKICMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEyNzUsMTMgKzE4OTcsMTMgQEAKICMKIENPTkZJR19QUk9DX0ZTPXkKIENPTkZJR19QUk9DX0tDT1JFPXkKK0NPTkZJR19QUk9DX1ZNQ09SRT15CiBDT05GSUdfUFJPQ19TWVNDVEw9eQogQ09ORklHX1NZU0ZTPXkKIENPTkZJR19UTVBGUz15CiBDT05GSUdfVE1QRlNfUE9TSVhfQUNMPXkKIENPTkZJR19IVUdFVExCRlM9eQogQ09ORklHX0hVR0VUTEJfUEFHRT15Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMjg5LDYgKzE5MTEsNyBAQAogIwogIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VDUllQVF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKQEAgLTEyOTYsMzMgKzE5MTksMTUgQEAKICMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKLUNPTkZJR19ORlNfRlM9eQotQ09ORklHX05GU19WMz15Ci0jIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAotQ09ORklHX05GU0Q9eQotQ09ORklHX05GU0RfVjM9eQotIyBDT05GSUdfTkZTRF9WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTRF9WNCBpcyBub3Qgc2V0Ci1DT05GSUdfTkZTRF9UQ1A9eQotQ09ORklHX1JPT1RfTkZTPXkKLUNPTkZJR19MT0NLRD15Ci1DT05GSUdfTE9DS0RfVjQ9eQotQ09ORklHX0VYUE9SVEZTPXkKLUNPTkZJR19ORlNfQ09NTU9OPXkKLUNPTkZJR19TVU5SUEM9eQotIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CisjIENPTkZJR19ORlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldApAQCAtMTMzMiwxNCArMTkzNywyNiBAQAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfT1NGX1BBUlRJVElPTj15CitDT05GSUdfQU1JR0FfUEFSVElUSU9OPXkKKyMgQ09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfTUFDX1BBUlRJVElPTj15CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIworQ09ORklHX0JTRF9ESVNLTEFCRUw9eQorQ09ORklHX01JTklYX1NVQlBBUlRJVElPTj15CitDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OPXkKK0NPTkZJR19VTklYV0FSRV9ESVNLTEFCRUw9eQorIyBDT05GSUdfTERNX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfU0dJX1BBUlRJVElPTj15CisjIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19TVU5fUEFSVElUSU9OPXkKK0NPTkZJR19LQVJNQV9QQVJUSVRJT049eQorQ09ORklHX0VGSV9QQVJUSVRJT049eQorIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTkxTPXkKLUNPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgorQ09ORklHX05MU19ERUZBVUxUPSJ1dGY4IgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKQEAgLTEzNzQsMzcgKzE5OTEsMzMgQEAKICMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAotQ09ORklHX05MU19JU084ODU5XzE1PXkKKyMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CiBDT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIwogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKLUNPTkZJR19JTlNUUlVNRU5UQVRJT049eQotQ09ORklHX1BST0ZJTElORz15Ci1DT05GSUdfT1BST0ZJTEU9eQotQ09ORklHX0tQUk9CRVM9eQogCiAjCiAjIEtlcm5lbCBoYWNraW5nCiAjCiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9XQVJOPTIwNDgKIENPTkZJR19NQUdJQ19TWVNSUT15Ci1DT05GSUdfVU5VU0VEX1NZTUJPTFM9eQotIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0ZTPXkKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci1DT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAogIyBDT05GSUdfU0NIRURfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CitDT05GSUdfU0NIRURTVEFUUz15CiBDT05GSUdfVElNRVJfU1RBVFM9eQorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TTFVCX0RFQlVHX09OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldApAQCAtMTQxOSw0OCArMjAzMiwxNzQgQEAKIENPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKICMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZSQU1FX1BPSU5URVIgaXMgbm90IHNldAotQ09ORklHX09QVElNSVpFX0lOTElOSU5HPXkKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfS1BST0JFU19TQU5JVFlfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0xLRFRNIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19MQVRFTkNZVE9QIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfS0dEQiBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9BUkNIX0tHREI9eQorIyBDT05GSUdfTk9OUFJPTUlTQ19ERVZNRU0gaXMgbm90IHNldAogQ09ORklHX0VBUkxZX1BSSU5USz15CiBDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVz15Ci0jIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19ST0RBVEEgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFPXkKKyMgQ09ORklHX0RFQlVHX1BBR0VBTExPQyBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfUFREVU1QIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19ST0RBVEE9eQorIyBDT05GSUdfREVCVUdfUk9EQVRBX1RFU1QgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX05YX1RFU1Q9bQogIyBDT05GSUdfNEtTVEFDS1MgaXMgbm90IHNldAogQ09ORklHX1g4Nl9GSU5EX1NNUF9DT05GSUc9eQogQ09ORklHX1g4Nl9NUFBBUlNFPXkKIENPTkZJR19ET1VCTEVGQVVMVD15CitDT05GSUdfSU9fREVMQVlfVFlQRV8wWDgwPTAKK0NPTkZJR19JT19ERUxBWV9UWVBFXzBYRUQ9MQorQ09ORklHX0lPX0RFTEFZX1RZUEVfVURFTEFZPTIKK0NPTkZJR19JT19ERUxBWV9UWVBFX05PTkU9MworQ09ORklHX0lPX0RFTEFZXzBYODA9eQorIyBDT05GSUdfSU9fREVMQVlfMFhFRCBpcyBub3Qgc2V0CisjIENPTkZJR19JT19ERUxBWV9VREVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfSU9fREVMQVlfTk9ORSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9JT19ERUxBWV9UWVBFPTAKK0NPTkZJR19ERUJVR19CT09UX1BBUkFNUz15CisjIENPTkZJR19DUEFfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIFNlY3VyaXR5IG9wdGlvbnMKICMKLSMgQ09ORklHX0tFWVMgaXMgbm90IHNldAotIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlTPXkKK0NPTkZJR19LRVlTX0RFQlVHX1BST0NfS0VZUz15CitDT05GSUdfU0VDVVJJVFk9eQorQ09ORklHX1NFQ1VSSVRZX05FVFdPUks9eQorIyBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9DQVBBQklMSVRJRVM9eQorQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTPXkKKyMgQ09ORklHX1NFQ1VSSVRZX1JPT1RQTFVHIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9ERUZBVUxUX01NQVBfTUlOX0FERFI9NjU1MzYKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0JPT1RQQVJBTT15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9CT09UUEFSQU1fVkFMVUU9MQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfRElTQUJMRT15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9ERVZFTE9QPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0FWQ19TVEFUUz15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9DSEVDS1JFUVBST1RfVkFMVUU9MQorIyBDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9FTkFCTEVfU0VDTUFSS19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfUE9MSUNZREJfVkVSU0lPTl9NQVggaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfU01BQ0sgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCitDT05GSUdfQ1JZUFRPX0FMR0FQST15CitDT05GSUdfQ1JZUFRPX0FFQUQ9eQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQorQ09ORklHX0NSWVBUT19IQVNIPXkKK0NPTkZJR19DUllQVE9fTUFOQUdFUj15CisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FVVEhFTkM9eQorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPXkKKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj15CisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fSE1BQz15CisjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9eQorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fU0hBMT15CisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKK0NPTkZJR19DUllQVE9fQUVTPXkKKyMgQ09ORklHX0NSWVBUT19BRVNfNTg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BUkM0PXkKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz15CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjBfNTg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0hfNTg2IGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0hXPXkKKyMgQ09ORklHX0NSWVBUT19ERVZfUEFETE9DSyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVWX0dFT0RFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19ERVZfSElGTl83OTVYIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tWTT15CitDT05GSUdfVklSVFVBTElaQVRJT049eQorIyBDT05GSUdfS1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xHVUVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19WSVJUSU9fUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJUlRJT19CQUxMT09OIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15CitDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVD15CitDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUPXkKICMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKICMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19BVURJVF9HRU5FUklDPXkKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQogQ09ORklHX0hBU19JT1BPUlQ9eQogQ09ORklHX0hBU19ETUE9eQotQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQotQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKLUNPTkZJR19HRU5FUklDX1BFTkRJTkdfSVJRPXkKLUNPTkZJR19YODZfU01QPXkKLUNPTkZJR19YODZfSFQ9eQotQ09ORklHX1g4Nl9CSU9TX1JFQk9PVD15Ci1DT05GSUdfWDg2X1RSQU1QT0xJTkU9eQotQ09ORklHX0tUSU1FX1NDQUxBUj15CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9jb25maWdzL3g4Nl82NF9kZWZjb25maWcgYi9hcmNoL3g4Ni9jb25maWdzL3g4Nl82NF9kZWZjb25maWcKaW5kZXggMmQ2ZjViMi4uYWU1MTI0ZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvY29uZmlncy94ODZfNjRfZGVmY29uZmlnCisrKyBiL2FyY2gveDg2L2NvbmZpZ3MveDg2XzY0X2RlZmNvbmZpZwpAQCAtMSw2NCArMSwxMDMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMi1naXQxNAotIyBGcmkgSnVsIDIwIDA5OjUzOjE1IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzEKKyMgU3VuIE1heSAgNCAxOTo1OTo1NyAyMDA4CiAjCi1DT05GSUdfWDg2XzY0PXkKIENPTkZJR182NEJJVD15CisjIENPTkZJR19YODZfMzIgaXMgbm90IHNldAorQ09ORklHX1g4Nl82ND15CiBDT05GSUdfWDg2PXkKK0NPTkZJR19ERUZDT05GSUdfTElTVD0iYXJjaC94ODYvY29uZmlncy94ODZfNjRfZGVmY29uZmlnIgorIyBDT05GSUdfR0VORVJJQ19MT0NLQlJFQUsgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfVElNRT15Ci1DT05GSUdfR0VORVJJQ19USU1FX1ZTWVNDQUxMPXkKIENPTkZJR19HRU5FUklDX0NNT1NfVVBEQVRFPXkKLUNPTkZJR19aT05FX0RNQTMyPXkKK0NPTkZJR19DTE9DS1NPVVJDRV9XQVRDSERPRz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CUk9BRENBU1Q9eQogQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKLUNPTkZJR19TRU1BUEhPUkVfU0xFRVBFUlM9eQorQ09ORklHX0hBVkVfTEFURU5DWVRPUF9TVVBQT1JUPXkKK0NPTkZJR19GQVNUX0NNUFhDSEdfTE9DQUw9eQogQ09ORklHX01NVT15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX1FVSUNLTElTVD15Ci1DT05GSUdfTlJfUVVJQ0s9MgotQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQotQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15Ci1DT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQotQ09ORklHX1g4Nl9DTVBYQ0hHPXkKLUNPTkZJR19FQVJMWV9QUklOVEs9eQogQ09ORklHX0dFTkVSSUNfSVNBX0RNQT15CiBDT05GSUdfR0VORVJJQ19JT01BUD15Ci1DT05GSUdfQVJDSF9NQVlfSEFWRV9QQ19GREM9eQotQ09ORklHX0FSQ0hfUE9QVUxBVEVTX05PREVfTUFQPXkKLUNPTkZJR19ETUk9eQotQ09ORklHX0FVRElUX0FSQ0g9eQogQ09ORklHX0dFTkVSSUNfQlVHPXkKK0NPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorIyBDT05GSUdfR0VORVJJQ19HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01BWV9IQVZFX1BDX0ZEQz15CitDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSz15CisjIENPTkZJR19SV1NFTV9YQ0hHQUREX0FMR09SSVRITSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKLUNPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCi0KLSMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCi0jCi1DT05GSUdfRVhQRVJJTUVOVEFMPXkKLUNPTkZJR19MT0NLX0tFUk5FTD15Ci1DT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCitDT05GSUdfQVJDSF9IQVNfQ1BVX0lETEVfV0FJVD15CitDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0dFTkVSSUNfVElNRV9WU1lTQ0FMTD15CitDT05GSUdfQVJDSF9IQVNfQ1BVX1JFTEFYPXkKK0NPTkZJR19BUkNIX0hBU19DQUNIRV9MSU5FX1NJWkU9eQorQ09ORklHX0hBVkVfU0VUVVBfUEVSX0NQVV9BUkVBPXkKK0NPTkZJR19IQVZFX0NQVU1BU0tfT0ZfQ1BVX01BUD15CitDT05GSUdfQVJDSF9ISUJFUk5BVElPTl9QT1NTSUJMRT15CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKK0NPTkZJR19aT05FX0RNQTMyPXkKK0NPTkZJR19BUkNIX1BPUFVMQVRFU19OT0RFX01BUD15CitDT05GSUdfQVVESVRfQVJDSD15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX09QVElNSVpFRF9JTkxJTklORz15CitDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQorQ09ORklHX0dFTkVSSUNfUEVORElOR19JUlE9eQorQ09ORklHX1g4Nl9TTVA9eQorQ09ORklHX1g4Nl82NF9TTVA9eQorQ09ORklHX1g4Nl9IVD15CitDT05GSUdfWDg2X0JJT1NfUkVCT09UPXkKK0NPTkZJR19YODZfVFJBTVBPTElORT15CisjIENPTkZJR19LVElNRV9TQ0FMQVIgaXMgbm90IHNldAogCiAjCiAjIEdlbmVyYWwgc2V0dXAKICMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKIENPTkZJR19MT0NBTFZFUlNJT049IiIKLUNPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CisjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogQ09ORklHX1BPU0lYX01RVUVVRT15Ci0jIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xOAotIyBDT05GSUdfQ1BVU0VUUyBpcyBub3Qgc2V0Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfQlNEX1BST0NFU1NfQUNDVD15CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUX1YzIGlzIG5vdCBzZXQKK0NPTkZJR19UQVNLU1RBVFM9eQorQ09ORklHX1RBU0tfREVMQVlfQUNDVD15CitDT05GSUdfVEFTS19YQUNDVD15CitDT05GSUdfVEFTS19JT19BQ0NPVU5USU5HPXkKK0NPTkZJR19BVURJVD15CitDT05GSUdfQVVESVRTWVNDQUxMPXkKK0NPTkZJR19BVURJVF9UUkVFPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE3CitDT05GSUdfQ0dST1VQUz15CisjIENPTkZJR19DR1JPVVBfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0NHUk9VUF9OUz15CisjIENPTkZJR19DR1JPVVBfREVWSUNFIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVTRVRTPXkKK0NPTkZJR19HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CisjIENPTkZJR19SVF9HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19DR1JPVVBfU0NIRUQ9eQorQ09ORklHX0NHUk9VUF9DUFVBQ0NUPXkKK0NPTkZJR19SRVNPVVJDRV9DT1VOVEVSUz15CisjIENPTkZJR19DR1JPVVBfTUVNX1JFU19DVExSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjIgaXMgbm90IHNldAorQ09ORklHX1BST0NfUElEX0NQVVNFVD15CiBDT05GSUdfUkVMQVk9eQorQ09ORklHX05BTUVTUEFDRVM9eQorQ09ORklHX1VUU19OUz15CitDT05GSUdfSVBDX05TPXkKK0NPTkZJR19VU0VSX05TPXkKK0NPTkZJR19QSURfTlM9eQogQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKIENPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQpAQCAtNjYsMTMgKzEwNSwxNSBAQAogIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKIENPTkZJR19LQUxMU1lNU19BTEw9eQotIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CitDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUz15CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKKyMgQ09ORklHX0NPTVBBVF9CUksgaXMgbm90IHNldAogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKQEAgLTgyLDkgKzEyMywyMSBAQAogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15Ci1DT05GSUdfU0xBQj15Ci0jIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKK0NPTkZJR19TTFVCX0RFQlVHPXkKKyMgQ09ORklHX1NMQUIgaXMgbm90IHNldAorQ09ORklHX1NMVUI9eQogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfUFJPRklMSU5HPXkKK0NPTkZJR19NQVJLRVJTPXkKKyMgQ09ORklHX09QUk9GSUxFIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKK0NPTkZJR19LUFJPQkVTPXkKK0NPTkZJR19LUkVUUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MApAQCAtOTYsMTQgKzE0OSwxNSBAQAogIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CiBDT05GSUdfU1RPUF9NQUNISU5FPXkKIENPTkZJR19CTE9DSz15Ci0jIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX0lPX1RSQUNFPXkKK0NPTkZJR19CTEtfREVWX0JTRz15CitDT05GSUdfQkxPQ0tfQ09NUEFUPXkKIAogIwogIyBJTyBTY2hlZHVsZXJzCiAjCiBDT05GSUdfSU9TQ0hFRF9OT09QPXkKLSMgQ09ORklHX0lPU0NIRURfQVMgaXMgbm90IHNldAorQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldApAQCAtMTExLDEwNyArMTY1LDE3NyBAQAogQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFByb2Nlc3NvciB0eXBlIGFuZCBmZWF0dXJlcwogIwotQ09ORklHX1g4Nl9QQz15Ci0jIENPTkZJR19YODZfVlNNUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSzggaXMgbm90IHNldAotIyBDT05GSUdfTVBTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQ09SRTIgaXMgbm90IHNldAotQ09ORklHX0dFTkVSSUNfQ1BVPXkKLUNPTkZJR19YODZfTDFfQ0FDSEVfQllURVM9MTI4Ci1DT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUPTcKLUNPTkZJR19YODZfSU5URVJOT0RFX0NBQ0hFX0JZVEVTPTEyOAotQ09ORklHX1g4Nl9UU0M9eQotQ09ORklHX1g4Nl9HT09EX0FQSUM9eQotIyBDT05GSUdfTUlDUk9DT0RFIGlzIG5vdCBzZXQKLUNPTkZJR19YODZfTVNSPXkKLUNPTkZJR19YODZfQ1BVSUQ9eQotQ09ORklHX1g4Nl9IVD15Ci1DT05GSUdfWDg2X0lPX0FQSUM9eQotQ09ORklHX1g4Nl9MT0NBTF9BUElDPXkKLUNPTkZJR19NVFJSPXkKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogQ09ORklHX1NNUD15Ci1DT05GSUdfU0NIRURfU01UPXkKK0NPTkZJR19YODZfUEM9eQorIyBDT05GSUdfWDg2X0VMQU4gaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1ZPWUFHRVIgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X05VTUFRIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9TVU1NSVQgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X0JJR1NNUCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfVklTV1MgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X0dFTkVSSUNBUkNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9FUzcwMDAgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1JEQzMyMVggaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1ZTTVAgaXMgbm90IHNldAorIyBDT05GSUdfUEFSQVZJUlRfR1VFU1QgaXMgbm90IHNldAorQ09ORklHX01FTVRFU1RfQk9PVFBBUkFNPXkKK0NPTkZJR19NRU1URVNUX0JPT1RQQVJBTV9WQUxVRT0wCisjIENPTkZJR19NMzg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX000ODYgaXMgbm90IHNldAorIyBDT05GSUdfTTU4NiBpcyBub3Qgc2V0CisjIENPTkZJR19NNTg2VFNDIGlzIG5vdCBzZXQKKyMgQ09ORklHX001ODZNTVggaXMgbm90IHNldAorIyBDT05GSUdfTTY4NiBpcyBub3Qgc2V0CisjIENPTkZJR19NUEVOVElVTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX01QRU5USVVNSUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX01QRU5USVVNTSBpcyBub3Qgc2V0CisjIENPTkZJR19NUEVOVElVTTQgaXMgbm90IHNldAorIyBDT05GSUdfTUs2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01LNyBpcyBub3Qgc2V0CisjIENPTkZJR19NSzggaXMgbm90IHNldAorIyBDT05GSUdfTUNSVVNPRSBpcyBub3Qgc2V0CisjIENPTkZJR19NRUZGSUNFT04gaXMgbm90IHNldAorIyBDT05GSUdfTVdJTkNISVBDNiBpcyBub3Qgc2V0CisjIENPTkZJR19NV0lOQ0hJUDIgaXMgbm90IHNldAorIyBDT05GSUdfTVdJTkNISVAzRCBpcyBub3Qgc2V0CisjIENPTkZJR19NR0VPREVHWDEgaXMgbm90IHNldAorIyBDT05GSUdfTUdFT0RFX0xYIGlzIG5vdCBzZXQKKyMgQ09ORklHX01DWVJJWElJSSBpcyBub3Qgc2V0CisjIENPTkZJR19NVklBQzNfMiBpcyBub3Qgc2V0CisjIENPTkZJR19NVklBQzcgaXMgbm90IHNldAorIyBDT05GSUdfTVBTQyBpcyBub3Qgc2V0CitDT05GSUdfTUNPUkUyPXkKKyMgQ09ORklHX0dFTkVSSUNfQ1BVIGlzIG5vdCBzZXQKK0NPTkZJR19YODZfQ1BVPXkKK0NPTkZJR19YODZfTDFfQ0FDSEVfQllURVM9NjQKK0NPTkZJR19YODZfSU5URVJOT0RFX0NBQ0hFX0JZVEVTPTY0CitDT05GSUdfWDg2X0NNUFhDSEc9eQorQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD02CitDT05GSUdfWDg2X0dPT0RfQVBJQz15CitDT05GSUdfWDg2X0lOVEVMX1VTRVJDT1BZPXkKK0NPTkZJR19YODZfVVNFX1BQUk9fQ0hFQ0tTVU09eQorQ09ORklHX1g4Nl9QNl9OT1A9eQorQ09ORklHX1g4Nl9UU0M9eQorQ09ORklHX1g4Nl9DTU9WPXkKK0NPTkZJR19YODZfTUlOSU1VTV9DUFVfRkFNSUxZPTY0CitDT05GSUdfWDg2X0RFQlVHQ1RMTVNSPXkKK0NPTkZJR19IUEVUX1RJTUVSPXkKK0NPTkZJR19IUEVUX0VNVUxBVEVfUlRDPXkKK0NPTkZJR19ETUk9eQorQ09ORklHX0dBUlRfSU9NTVU9eQorQ09ORklHX0NBTEdBUllfSU9NTVU9eQorQ09ORklHX0NBTEdBUllfSU9NTVVfRU5BQkxFRF9CWV9ERUZBVUxUPXkKK0NPTkZJR19TV0lPVExCPXkKK0NPTkZJR19JT01NVV9IRUxQRVI9eQorQ09ORklHX05SX0NQVVM9NAorIyBDT05GSUdfU0NIRURfU01UIGlzIG5vdCBzZXQKIENPTkZJR19TQ0hFRF9NQz15CiAjIENPTkZJR19QUkVFTVBUX05PTkUgaXMgbm90IHNldAogQ09ORklHX1BSRUVNUFRfVk9MVU5UQVJZPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotQ09ORklHX1BSRUVNUFRfQktMPXkKK0NPTkZJR19YODZfTE9DQUxfQVBJQz15CitDT05GSUdfWDg2X0lPX0FQSUM9eQorIyBDT05GSUdfWDg2X01DRSBpcyBub3Qgc2V0CisjIENPTkZJR19JOEsgaXMgbm90IHNldAorIyBDT05GSUdfTUlDUk9DT0RFIGlzIG5vdCBzZXQKK0NPTkZJR19YODZfTVNSPXkKK0NPTkZJR19YODZfQ1BVSUQ9eQogQ09ORklHX05VTUE9eQogQ09ORklHX0s4X05VTUE9eQotQ09ORklHX05PREVTX1NISUZUPTYKIENPTkZJR19YODZfNjRfQUNQSV9OVU1BPXkKLUNPTkZJR19OVU1BX0VNVT15CitDT05GSUdfTk9ERVNfU1BBTl9PVEhFUl9OT0RFUz15CisjIENPTkZJR19OVU1BX0VNVSBpcyBub3Qgc2V0CitDT05GSUdfTk9ERVNfU0hJRlQ9NgorQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0RFRkFVTFQ9eQorQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0VOQUJMRT15CitDT05GSUdfQVJDSF9TRUxFQ1RfTUVNT1JZX01PREVMPXkKK0NPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKKyMgQ09ORklHX0ZMQVRNRU1fTUFOVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAorQ09ORklHX1NQQVJTRU1FTV9NQU5VQUw9eQorQ09ORklHX1NQQVJTRU1FTT15CiBDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUz15CitDT05GSUdfSEFWRV9NRU1PUllfUFJFU0VOVD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKK0NPTkZJR19TUEFSU0VNRU1fRVhUUkVNRT15CitDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFPXkKK0NPTkZJR19TUEFSU0VNRU1fVk1FTU1BUD15CisKKyMKKyMgTWVtb3J5IGhvdHBsdWcgaXMgY3VycmVudGx5IGluY29tcGF0aWJsZSB3aXRoIFNvZnR3YXJlIFN1c3BlbmQKKyMKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKIENPTkZJR19NSUdSQVRJT049eQogQ09ORklHX1JFU09VUkNFU182NEJJVD15CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCiBDT05GSUdfQk9VTkNFPXkKIENPTkZJR19WSVJUX1RPX0JVUz15Ci1DT05GSUdfSEFWRV9BUkNIX0VBUkxZX1BGTl9UT19OSUQ9eQotQ09ORklHX09VVF9PRl9MSU5FX1BGTl9UT19QQUdFPXkKLUNPTkZJR19OUl9DUFVTPTMyCitDT05GSUdfTVRSUj15CisjIENPTkZJR19YODZfUEFUIGlzIG5vdCBzZXQKK0NPTkZJR19FRkk9eQorQ09ORklHX1NFQ0NPTVA9eQorIyBDT05GSUdfSFpfMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0haXzI1MCBpcyBub3Qgc2V0CisjIENPTkZJR19IWl8zMDAgaXMgbm90IHNldAorQ09ORklHX0haXzEwMDA9eQorQ09ORklHX0haPTEwMDAKK0NPTkZJR19TQ0hFRF9IUlRJQ0s9eQorQ09ORklHX0tFWEVDPXkKK0NPTkZJR19DUkFTSF9EVU1QPXkKK0NPTkZJR19QSFlTSUNBTF9TVEFSVD0weDEwMDAwMDAKK0NPTkZJR19SRUxPQ0FUQUJMRT15CiBDT05GSUdfUEhZU0lDQUxfQUxJR049MHgyMDAwMDAKIENPTkZJR19IT1RQTFVHX0NQVT15CisjIENPTkZJR19DT01QQVRfVkRTTyBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9FTkFCTEVfTUVNT1JZX0hPVFBMVUc9eQotQ09ORklHX0hQRVRfVElNRVI9eQotQ09ORklHX0hQRVRfRU1VTEFURV9SVEM9eQotQ09ORklHX0dBUlRfSU9NTVU9eQotIyBDT05GSUdfQ0FMR0FSWV9JT01NVSBpcyBub3Qgc2V0Ci1DT05GSUdfU1dJT1RMQj15Ci1DT05GSUdfWDg2X01DRT15Ci1DT05GSUdfWDg2X01DRV9JTlRFTD15Ci1DT05GSUdfWDg2X01DRV9BTUQ9eQotIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JBU0hfRFVNUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SRUxPQ0FUQUJMRSBpcyBub3Qgc2V0Ci1DT05GSUdfUEhZU0lDQUxfU1RBUlQ9MHgyMDAwMDAKLUNPTkZJR19TRUNDT01QPXkKLSMgQ09ORklHX0NDX1NUQUNLUFJPVEVDVE9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0haXzEwMCBpcyBub3Qgc2V0Ci1DT05GSUdfSFpfMjUwPXkKLSMgQ09ORklHX0haXzMwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19IWl8xMDAwIGlzIG5vdCBzZXQKLUNPTkZJR19IWj0yNTAKLUNPTkZJR19LOF9OQj15Ci1DT05GSUdfR0VORVJJQ19IQVJESVJRUz15Ci1DT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQotQ09ORklHX0lTQV9ETUFfQVBJPXkKLUNPTkZJR19HRU5FUklDX1BFTkRJTkdfSVJRPXkKK0NPTkZJR19IQVZFX0FSQ0hfRUFSTFlfUEZOX1RPX05JRD15CiAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCitDT05GSUdfQVJDSF9ISUJFUk5BVElPTl9IRUFERVI9eQogQ09ORklHX1BNPXkKLSMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfUE1fREVCVUc9eQorIyBDT05GSUdfUE1fVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfQ0FOX1BNX1RSQUNFPXkKK0NPTkZJR19QTV9UUkFDRT15CitDT05GSUdfUE1fVFJBQ0VfUlRDPXkKK0NPTkZJR19QTV9TTEVFUF9TTVA9eQorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EPXkKK0NPTkZJR19TVVNQRU5EX0ZSRUVaRVI9eQogQ09ORklHX0hJQkVSTkFUSU9OPXkKIENPTkZJR19QTV9TVERfUEFSVElUSU9OPSIiCi0KLSMKLSMgQUNQSSAoQWR2YW5jZWQgQ29uZmlndXJhdGlvbiBhbmQgUG93ZXIgSW50ZXJmYWNlKSBTdXBwb3J0Ci0jCiBDT05GSUdfQUNQST15CiBDT05GSUdfQUNQSV9TTEVFUD15Ci1DT05GSUdfQUNQSV9TTEVFUF9QUk9DX0ZTPXkKLUNPTkZJR19BQ1BJX1NMRUVQX1BST0NfU0xFRVA9eQogQ09ORklHX0FDUElfUFJPQ0ZTPXkKK0NPTkZJR19BQ1BJX1BST0NGU19QT1dFUj15CitDT05GSUdfQUNQSV9TWVNGU19QT1dFUj15CitDT05GSUdfQUNQSV9QUk9DX0VWRU5UPXkKIENPTkZJR19BQ1BJX0FDPXkKIENPTkZJR19BQ1BJX0JBVFRFUlk9eQogQ09ORklHX0FDUElfQlVUVE9OPXkKIENPTkZJR19BQ1BJX0ZBTj15Ci0jIENPTkZJR19BQ1BJX0RPQ0sgaXMgbm90IHNldAorQ09ORklHX0FDUElfRE9DSz15CisjIENPTkZJR19BQ1BJX0JBWSBpcyBub3Qgc2V0CiBDT05GSUdfQUNQSV9QUk9DRVNTT1I9eQogQ09ORklHX0FDUElfSE9UUExVR19DUFU9eQogQ09ORklHX0FDUElfVEhFUk1BTD15CiBDT05GSUdfQUNQSV9OVU1BPXkKKyMgQ09ORklHX0FDUElfV01JIGlzIG5vdCBzZXQKICMgQ09ORklHX0FDUElfQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BQ1BJX1RPU0hJQkEgaXMgbm90IHNldAorIyBDT05GSUdfQUNQSV9DVVNUT01fRFNEVCBpcyBub3Qgc2V0CiBDT05GSUdfQUNQSV9CTEFDS0xJU1RfWUVBUj0wCiAjIENPTkZJR19BQ1BJX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19BQ1BJX0VDPXkKQEAgLTIyNywyOSArMzUxLDM0IEBACiBDT05GSUdfQ1BVX0ZSRVE9eQogQ09ORklHX0NQVV9GUkVRX1RBQkxFPXkKIENPTkZJR19DUFVfRlJFUV9ERUJVRz15Ci1DT05GSUdfQ1BVX0ZSRVFfU1RBVD15Ci0jIENPTkZJR19DUFVfRlJFUV9TVEFUX0RFVEFJTFMgaXMgbm90IHNldAotQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFPXkKLSMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9TVEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BPV0VSU0FWRSBpcyBub3Qgc2V0CitDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfVVNFUlNQQUNFPXkKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX09OREVNQU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX0NPTlNFUlZBVElWRSBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVX0ZSRVFfR09WX1BFUkZPUk1BTkNFPXkKICMgQ09ORklHX0NQVV9GUkVRX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldAogQ09ORklHX0NQVV9GUkVRX0dPVl9VU0VSU1BBQ0U9eQogQ09ORklHX0NQVV9GUkVRX0dPVl9PTkRFTUFORD15Ci1DT05GSUdfQ1BVX0ZSRVFfR09WX0NPTlNFUlZBVElWRT15CisjIENPTkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKIAogIwogIyBDUFVGcmVxIHByb2Nlc3NvciBkcml2ZXJzCiAjCi1DT05GSUdfWDg2X1BPV0VSTk9XX0s4PXkKLUNPTkZJR19YODZfUE9XRVJOT1dfSzhfQUNQST15Ci0jIENPTkZJR19YODZfU1BFRURTVEVQX0NFTlRSSU5PIGlzIG5vdCBzZXQKIENPTkZJR19YODZfQUNQSV9DUFVGUkVRPXkKKyMgQ09ORklHX1g4Nl9QT1dFUk5PV19LOCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfU1BFRURTVEVQX0NFTlRSSU5PIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9QNF9DTE9DS01PRCBpcyBub3Qgc2V0CiAKICMKICMgc2hhcmVkIG9wdGlvbnMKICMKLUNPTkZJR19YODZfQUNQSV9DUFVGUkVRX1BST0NfSU5URj15CisjIENPTkZJR19YODZfQUNQSV9DUFVGUkVRX1BST0NfSU5URiBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfU1BFRURTVEVQX0xJQiBpcyBub3Qgc2V0CitDT05GSUdfQ1BVX0lETEU9eQorQ09ORklHX0NQVV9JRExFX0dPVl9MQURERVI9eQorQ09ORklHX0NQVV9JRExFX0dPVl9NRU5VPXkKIAogIwogIyBCdXMgb3B0aW9ucyAoUENJIGV0Yy4pCkBAIC0yNTcsMjcgKzM4Niw1NiBAQAogQ09ORklHX1BDST15CiBDT05GSUdfUENJX0RJUkVDVD15CiBDT05GSUdfUENJX01NQ09ORklHPXkKK0NPTkZJR19QQ0lfRE9NQUlOUz15CitDT05GSUdfRE1BUj15CitDT05GSUdfRE1BUl9HRlhfV0E9eQorQ09ORklHX0RNQVJfRkxPUFBZX1dBPXkKIENPTkZJR19QQ0lFUE9SVEJVUz15CisjIENPTkZJR19IT1RQTFVHX1BDSV9QQ0lFIGlzIG5vdCBzZXQKIENPTkZJR19QQ0lFQUVSPXkKKyMgQ09ORklHX1BDSUVBU1BNIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX1NVUFBPUlRTX01TST15CiBDT05GSUdfUENJX01TST15CisjIENPTkZJR19QQ0lfTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19IVF9JUlEgaXMgbm90IHNldAorQ09ORklHX0hUX0lSUT15CitDT05GSUdfSVNBX0RNQV9BUEk9eQorQ09ORklHX0s4X05CPXkKK0NPTkZJR19QQ0NBUkQ9eQorIyBDT05GSUdfUENNQ0lBX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19QQ01DSUE9eQorQ09ORklHX1BDTUNJQV9MT0FEX0NJUz15CitDT05GSUdfUENNQ0lBX0lPQ1RMPXkKK0NPTkZJR19DQVJEQlVTPXkKIAogIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0CisjIFBDLWNhcmQgYnJpZGdlcwogIwotIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hPVFBMVUdfUENJIGlzIG5vdCBzZXQKK0NPTkZJR19ZRU5UQT15CitDT05GSUdfWUVOVEFfTzI9eQorQ09ORklHX1lFTlRBX1JJQ09IPXkKK0NPTkZJR19ZRU5UQV9UST15CitDT05GSUdfWUVOVEFfRU5FX1RVTkU9eQorQ09ORklHX1lFTlRBX1RPU0hJQkE9eQorIyBDT05GSUdfUEQ2NzI5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0k4MjA5MiBpcyBub3Qgc2V0CitDT05GSUdfUENDQVJEX05PTlNUQVRJQz15CitDT05GSUdfSE9UUExVR19QQ0k9eQorIyBDT05GSUdfSE9UUExVR19QQ0lfRkFLRSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9BQ1BJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX0NQQ0kgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfU0hQQyBpcyBub3Qgc2V0CiAKICMKICMgRXhlY3V0YWJsZSBmaWxlIGZvcm1hdHMgLyBFbXVsYXRpb25zCiAjCiBDT05GSUdfQklORk1UX0VMRj15Ci0jIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CitDT05GSUdfQ09NUEFUX0JJTkZNVF9FTEY9eQorQ09ORklHX0JJTkZNVF9NSVNDPXkKIENPTkZJR19JQTMyX0VNVUxBVElPTj15Ci1DT05GSUdfSUEzMl9BT1VUPXkKKyMgQ09ORklHX0lBMzJfQU9VVCBpcyBub3Qgc2V0CiBDT05GSUdfQ09NUEFUPXkKK0NPTkZJR19DT01QQVRfRk9SX1U2NF9BTElHTk1FTlQ9eQogQ09ORklHX1NZU1ZJUENfQ09NUEFUPXkKIAogIwpAQCAtMjg5LDIyICs0NDcsMzEgQEAKICMgTmV0d29ya2luZyBvcHRpb25zCiAjCiBDT05GSUdfUEFDS0VUPXkKLSMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19QQUNLRVRfTU1BUD15CiBDT05GSUdfVU5JWD15CitDT05GSUdfWEZSTT15CitDT05GSUdfWEZSTV9VU0VSPXkKKyMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQogQ09ORklHX0lQX01VTFRJQ0FTVD15Ci0jIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUj15CitDT05GSUdfQVNLX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX0ZJQl9UUklFIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15Ci1DT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15Ci0jIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAotIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUz15CitDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIPXkKK0NPTkZJR19JUF9ST1VURV9WRVJCT1NFPXkKKyMgQ09ORklHX0lQX1BOUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAotIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NUk9VVEU9eQorQ09ORklHX0lQX1BJTVNNX1YxPXkKK0NPTkZJR19JUF9QSU1TTV9WMj15CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19TWU5fQ09PS0lFUz15CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKQEAgLTMxMywzMSArNDgwLDEwOSBAQAogIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTkVUX0RJQUc9eQotQ09ORklHX0lORVRfVENQX0RJQUc9eQotIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX0lORVRfTFJPPXkKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CitDT05GSUdfVENQX0NPTkdfQURWQU5DRUQ9eQorIyBDT05GSUdfVENQX0NPTkdfQklDIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CisjIENPTkZJR19UQ1BfQ09OR19XRVNUV09PRCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0hTVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0hZQkxBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1ZFR0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1NDQUxBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0xQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1ZFTk8gaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfWUVBSCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19JTExJTk9JUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0JJQyBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DVUJJQz15CisjIENPTkZJR19ERUZBVUxUX0hUQ1AgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9WRUdBUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX1dFU1RXT09EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfUkVOTyBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCi0jIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfTUQ1U0lHPXkKKyMgQ09ORklHX0lQX1ZTIGlzIG5vdCBzZXQKIENPTkZJR19JUFY2PXkKICMgQ09ORklHX0lQVjZfUFJJVkFDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X1JPVVRFUl9QUkVGIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfT1BUSU1JU1RJQ19EQUQgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfQUggaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfRVNQIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUNl9BSD15CitDT05GSUdfSU5FVDZfRVNQPXkKICMgQ09ORklHX0lORVQ2X0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X01JUDYgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RSQU5TUE9SVD15CitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RVTk5FTD15CitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQ9eQogIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1JPVVRFT1BUSU1JWkFUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19JUFY2X1NJVD15CitDT05GSUdfSVBWNl9ORElTQ19OT0RFVFlQRT15CiAjIENPTkZJR19JUFY2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAotIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjZfTVJPVVRFIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRMQUJFTD15CitDT05GSUdfTkVUV09SS19TRUNNQVJLPXkKK0NPTkZJR19ORVRGSUxURVI9eQorIyBDT05GSUdfTkVURklMVEVSX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUl9BRFZBTkNFRCBpcyBub3Qgc2V0CisKKyMKKyMgQ29yZSBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgorIworQ09ORklHX05FVEZJTFRFUl9ORVRMSU5LPXkKK0NPTkZJR19ORVRGSUxURVJfTkVUTElOS19MT0c9eQorQ09ORklHX05GX0NPTk5UUkFDSz15CitDT05GSUdfTkZfQ09OTlRSQUNLX1NFQ01BUks9eQorQ09ORklHX05GX0NPTk5UUkFDS19GVFA9eQorQ09ORklHX05GX0NPTk5UUkFDS19JUkM9eQorQ09ORklHX05GX0NPTk5UUkFDS19TSVA9eQorQ09ORklHX05GX0NUX05FVExJTks9eQorQ09ORklHX05FVEZJTFRFUl9YVEFCTEVTPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfTkZMT0c9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9DT05OU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9UQ1BNU1M9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9DT05OVFJBQ0s9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9NQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfUE9MSUNZPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfU1RBVEU9eQorCisjCisjIElQOiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgorIworQ09ORklHX05GX0NPTk5UUkFDS19JUFY0PXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfUFJPQ19DT01QQVQ9eQorQ09ORklHX0lQX05GX0lQVEFCTEVTPXkKK0NPTkZJR19JUF9ORl9GSUxURVI9eQorQ09ORklHX0lQX05GX1RBUkdFVF9SRUpFQ1Q9eQorQ09ORklHX0lQX05GX1RBUkdFVF9MT0c9eQorQ09ORklHX0lQX05GX1RBUkdFVF9VTE9HPXkKK0NPTkZJR19ORl9OQVQ9eQorQ09ORklHX05GX05BVF9ORUVERUQ9eQorQ09ORklHX0lQX05GX1RBUkdFVF9NQVNRVUVSQURFPXkKK0NPTkZJR19ORl9OQVRfRlRQPXkKK0NPTkZJR19ORl9OQVRfSVJDPXkKKyMgQ09ORklHX05GX05BVF9URlRQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9BTUFOREEgaXMgbm90IHNldAorIyBDT05GSUdfTkZfTkFUX1BQVFAgaXMgbm90IHNldAorIyBDT05GSUdfTkZfTkFUX0gzMjMgaXMgbm90IHNldAorQ09ORklHX05GX05BVF9TSVA9eQorQ09ORklHX0lQX05GX01BTkdMRT15CisKKyMKKyMgSVB2NjogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVBWNj15CitDT05GSUdfSVA2X05GX0lQVEFCTEVTPXkKK0NPTkZJR19JUDZfTkZfTUFUQ0hfSVBWNkhFQURFUj15CitDT05GSUdfSVA2X05GX0ZJTFRFUj15CitDT05GSUdfSVA2X05GX1RBUkdFVF9MT0c9eQorQ09ORklHX0lQNl9ORl9UQVJHRVRfUkVKRUNUPXkKK0NPTkZJR19JUDZfTkZfTUFOR0xFPXkKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAogIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CiAjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKQEAgLTM0NSw2ICs1OTAsNyBAQAogIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAogIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKK0NPTkZJR19MTEM9eQogIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFggaXMgbm90IHNldAogIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldApAQCAtMzUyLDI4ICs1OTgsOTkgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX05FVF9TQ0hFRD15CiAKICMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCisjIFF1ZXVlaW5nL1NjaGVkdWxpbmcKICMKLSMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0NCUSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0hUQiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0hGU0MgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9QUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUlIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9SRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9TRlEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9URVFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfVEJGIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfR1JFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0RTTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX05FVEVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfSU5HUkVTUyBpcyBub3Qgc2V0CisKKyMKKyMgQ2xhc3NpZmljYXRpb24KKyMKK0NPTkZJR19ORVRfQ0xTPXkKKyMgQ09ORklHX05FVF9DTFNfQkFTSUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19UQ0lOREVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUk9VVEU0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfRlcgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19VMzIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19SU1ZQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUlNWUDYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19GTE9XIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRU1BVENIPXkKK0NPTkZJR19ORVRfRU1BVENIX1NUQUNLPTMyCisjIENPTkZJR19ORVRfRU1BVENIX0NNUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX05CWVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfTUVUQSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX1RFWFQgaXMgbm90IHNldAorQ09ORklHX05FVF9DTFNfQUNUPXkKKyMgQ09ORklHX05FVF9BQ1RfUE9MSUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfR0FDVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX01JUlJFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX0lQVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX05BVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX1BFRElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfU0lNUCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1NDSF9GSUZPPXkKIAogIwogIyBOZXR3b3JrIHRlc3RpbmcKICMKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKK0NPTkZJR19IQU1SQURJTz15CisKKyMKKyMgUGFja2V0IFJhZGlvIHByb3RvY29scworIworIyBDT05GSUdfQVgyNSBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CitDT05GSUdfRklCX1JVTEVTPXkKIAogIwogIyBXaXJlbGVzcwogIwotIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKK0NPTkZJR19DRkc4MDIxMT15CitDT05GSUdfTkw4MDIxMT15CitDT05GSUdfV0lSRUxFU1NfRVhUPXkKK0NPTkZJR19NQUM4MDIxMT15CisKKyMKKyMgUmF0ZSBjb250cm9sIGFsZ29yaXRobSBzZWxlY3Rpb24KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX1BJRD15CisjIENPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX05PTkUgaXMgbm90IHNldAorCisjCisjIFNlbGVjdGluZyAneScgZm9yIGFuIGFsZ29yaXRobSB3aWxsCisjCisKKyMKKyMgYnVpbGQgdGhlIGFsZ29yaXRobSBpbnRvIG1hYzgwMjExLgorIworQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFQ9InBpZCIKK0NPTkZJR19NQUM4MDIxMV9SQ19QSUQ9eQorIyBDT05GSUdfTUFDODAyMTFfTUVTSCBpcyBub3Qgc2V0CitDT05GSUdfTUFDODAyMTFfTEVEUz15CisjIENPTkZJR19NQUM4MDIxMV9ERUJVR0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHX1BBQ0tFVF9BTElHTk1FTlQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTFfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldApAQCAtMzg1LDEzICs3MDIsMTUgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfREVWUkVTPXkKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CitDT05GSUdfQ09OTkVDVE9SPXkKK0NPTkZJR19QUk9DX0VWRU5UUz15CiAjIENPTkZJR19NVEQgaXMgbm90IHNldAogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfUE5QPXkKQEAgLTQwMiw3ICs3MjEsNyBAQAogIwogQ09ORklHX1BOUEFDUEk9eQogQ09ORklHX0JMS19ERVY9eQotQ09ORklHX0JMS19ERVZfRkQ9eQorIyBDT05GSUdfQkxLX0RFVl9GRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfQ1BRX0RBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19DUFFfQ0lTU19EQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0RBQzk2MCBpcyBub3Qgc2V0CkBAIC00MTUsOCArNzM0LDggQEAKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfUkFNPXkKIENPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9NDA5NgotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CitDT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xNjM4NAorIyBDT05GSUdfQkxLX0RFVl9YSVAgaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAogQ09ORklHX01JU0NfREVWSUNFUz15CkBAIC00MjUsNzIgKzc0NCwxNiBAQAogIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKICMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19BQ0VSX1dNSSBpcyBub3Qgc2V0CisjIENPTkZJR19BU1VTX0xBUFRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19GVUpJVFNVX0xBUFRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19NU0lfTEFQVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1NPTllfTEFQVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1RISU5LUEFEX0FDUEkgaXMgbm90IHNldAotQ09ORklHX0lERT15Ci1DT05GSUdfQkxLX0RFVl9JREU9eQotCi0jCi0jIFBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwotIwotIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEX0lERSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVESVNLPXkKLUNPTkZJR19JREVESVNLX01VTFRJX01PREU9eQotQ09ORklHX0JMS19ERVZfSURFQ0Q9eQotIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVBQ1BJPXkKLSMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKLUNPTkZJR19JREVfUFJPQ19GUz15Ci0KLSMKLSMgSURFIGNoaXBzZXQgc3VwcG9ydC9idWdmaXhlcwotIwotQ09ORklHX0lERV9HRU5FUklDPXkKLSMgQ09ORklHX0JMS19ERVZfQ01ENjQwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFUE5QIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERVBDST15Ci0jIENPTkZJR19JREVQQ0lfU0hBUkVfSVJRIGlzIG5vdCBzZXQKLUNPTkZJR19JREVQQ0lfUENJQlVTX09SREVSPXkKLSMgQ09ORklHX0JMS19ERVZfT0ZGQk9BUkQgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9HRU5FUklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfT1BUSTYyMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1JaMTAwMCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVETUFfUENJPXkKLSMgQ09ORklHX0JMS19ERVZfSURFRE1BX0ZPUkNFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVETUFfT05MWURJU0sgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9BRUM2MlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQUxJMTVYMyBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9BTUQ3NFhYPXkKLUNPTkZJR19CTEtfREVWX0FUSUlYUD15Ci0jIENPTkZJR19CTEtfREVWX0NNRDY0WCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RSSUZMRVggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DWTgyQzY5MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NTNTUyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NTNTUzMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hQVDM0WCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hQVDM2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0pNSUNST04gaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TQzEyMDAgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUElJWD15Ci0jIENPTkZJR19CTEtfREVWX0lUODIxMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lUODIxWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX05TODc0MTUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9QREMyMDJYWF9PTEQgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUERDMjAyWFhfTkVXPXkKLSMgQ09ORklHX0JMS19ERVZfU1ZXS1MgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TSUlNQUdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0lTNTUxMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NMQzkwRTY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVFJNMjkwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVklBODJDWFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVEM4NkMwMDEgaXMgbm90IHNldAotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVETUE9eQotIyBDT05GSUdfSURFRE1BX0lWQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVMX01FTkxPVyBpcyBub3Qgc2V0CisjIENPTkZJR19FTkNMT1NVUkVfU0VSVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNDk5LDggKzc2Miw4IEBACiBDT05GSUdfU0NTST15CiBDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAotQ09ORklHX1NDU0lfTkVUTElOSz15Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MDksNyArNzcyLDcgQEAKICMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1NSPXkKLSMgQ09ORklHX0JMS19ERVZfU1JfVkVORE9SIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX1NSX1ZFTkRPUj15CiBDT05GSUdfQ0hSX0RFVl9TRz15CiAjIENPTkZJR19DSFJfREVWX1NDSCBpcyBub3Qgc2V0CiAKQEAgLTUyNiw3MyArNzg5LDM3IEBACiAjIFNDU0kgVHJhbnNwb3J0cwogIwogQ09ORklHX1NDU0lfU1BJX0FUVFJTPXkKLUNPTkZJR19TQ1NJX0ZDX0FUVFJTPXkKKyMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci1DT05GSUdfU0NTSV9TQVNfQVRUUlM9eQorIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCi0jIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl8zV19YWFhYX1JBSUQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUNBUkQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BQUNSQUlEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUlDN1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FJQzdYWFhfT0xEIGlzIG5vdCBzZXQKLUNPTkZJR19TQ1NJX0FJQzc5WFg9eQotQ09ORklHX0FJQzc5WFhfQ01EU19QRVJfREVWSUNFPTMyCi1DT05GSUdfQUlDNzlYWF9SRVNFVF9ERUxBWV9NUz00MDAwCi0jIENPTkZJR19BSUM3OVhYX0RFQlVHX0VOQUJMRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUlDNzlYWF9ERUJVR19NQVNLPTAKLSMgQ09ORklHX0FJQzc5WFhfUkVHX1BSRVRUWV9QUklOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FJQzk0WFggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BUkNNU1IgaXMgbm90IHNldAotIyBDT05GSUdfTUVHQVJBSURfTkVXR0VOIGlzIG5vdCBzZXQKLSMgQ09ORklHX01FR0FSQUlEX0xFR0FDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NRUdBUkFJRF9TQVMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9IUFRJT1AgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9CVVNMT0dJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RNWDMxOTFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfRUFUQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0ZVVFVSRV9ET01BSU4gaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9HRFRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lQUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMT0dJQ18xMjgwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUUxBX0lTQ1NJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfTFBGQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RDMzk1eCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RDMzkwVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU1JQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUwgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9MT1dMRVZFTF9QQ01DSUEgaXMgbm90IHNldAogQ09ORklHX0FUQT15CiAjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAogQ09ORklHX0FUQV9BQ1BJPXkKK0NPTkZJR19TQVRBX1BNUD15CiBDT05GSUdfU0FUQV9BSENJPXkKLUNPTkZJR19TQVRBX1NWVz15CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKKyMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKIENPTkZJR19BVEFfUElJWD15CiAjIENPTkZJR19TQVRBX01WIGlzIG5vdCBzZXQKLUNPTkZJR19TQVRBX05WPXkKKyMgQ09ORklHX1NBVEFfTlYgaXMgbm90IHNldAogIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9RU1RPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAotQ09ORklHX1NBVEFfU0lMPXkKLSMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAotQ09ORklHX1NBVEFfVklBPXkKKyMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQUNQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVRBX0FNRCBpcyBub3Qgc2V0CitDT05GSUdfUEFUQV9BTUQ9eQogIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0FUSUlYUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90IHNldApAQCAtNjEyLDExICs4MzksMTQgQEAKICMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9NUElJWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNldAorQ09ORklHX1BBVEFfT0xEUElJWD15CiAjIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OSU5KQTMyIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BDTUNJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKQEAgLTYyOCw2NSArODU4LDQyIEBACiAjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAogQ09ORklHX01EPXkKLSMgQ09ORklHX0JMS19ERVZfTUQgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfTUQ9eQorIyBDT05GSUdfTURfTElORUFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlENDU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX01VTFRJUEFUSCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9GQVVMVFkgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfRE09eQogIyBDT05GSUdfRE1fREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfRE1fQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfRE1fU05BUFNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfRE1fTUlSUk9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RNX1pFUk8gaXMgbm90IHNldAorQ09ORklHX0RNX01JUlJPUj15CitDT05GSUdfRE1fWkVSTz15CiAjIENPTkZJR19ETV9NVUxUSVBBVEggaXMgbm90IHNldAogIyBDT05GSUdfRE1fREVMQVkgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKLUNPTkZJR19GVVNJT049eQotQ09ORklHX0ZVU0lPTl9TUEk9eQotIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNldAotQ09ORklHX0ZVU0lPTl9NQVhfU0dFPTEyOAotIyBDT05GSUdfRlVTSU9OX0NUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ETV9VRVZFTlQgaXMgbm90IHNldAorIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKIAogIwogIyBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0CiAjCiAjIENPTkZJR19GSVJFV0lSRSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTEzOTQ9eQotCi0jCi0jIFN1YnN5c3RlbSBPcHRpb25zCi0jCi0jIENPTkZJR19JRUVFMTM5NF9WRVJCT1NFREVCVUcgaXMgbm90IHNldAotCi0jCi0jIENvbnRyb2xsZXJzCi0jCi0KLSMKLSMgVGV4YXMgSW5zdHJ1bWVudHMgUENJTHlueCByZXF1aXJlcyBJMkMKLSMKLUNPTkZJR19JRUVFMTM5NF9PSENJMTM5ND15Ci0KLSMKLSMgUHJvdG9jb2xzCi0jCi0jIENPTkZJR19JRUVFMTM5NF9WSURFTzEzOTQgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfU0JQMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9FVEgxMzk0X1JPTV9FTlRSWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9FVEgxMzk0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X0RWMTM5NCBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTEzOTRfUkFXSU89eQorIyBDT05GSUdfSUVFRTEzOTQgaXMgbm90IHNldAogIyBDT05GSUdfSTJPIGlzIG5vdCBzZXQKIENPTkZJR19NQUNJTlRPU0hfRFJJVkVSUz15Ci0jIENPTkZJR19NQUNfRU1VTU9VU0VCVE4gaXMgbm90IHNldAorQ09ORklHX01BQ19FTVVNT1VTRUJUTj15CiBDT05GSUdfTkVUREVWSUNFUz15Ci1DT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19JRkIgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0Ci1DT05GSUdfVFVOPXkKKyMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9TQjEwMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CkBAIC02OTYsMzkgKzkwMyw0MCBAQAogIyBDT05GSUdfU1VOR0VNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NBU1NJTkkgaXMgbm90IHNldAogQ09ORklHX05FVF9WRU5ET1JfM0NPTT15Ci1DT05GSUdfVk9SVEVYPXkKKyMgQ09ORklHX1ZPUlRFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19UWVBIT09OIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfVFVMSVA9eQogIyBDT05GSUdfREUyMTA0WCBpcyBub3Qgc2V0Ci1DT05GSUdfVFVMSVA9eQotIyBDT05GSUdfVFVMSVBfTVdJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RVTElQX01NSU8gaXMgbm90IHNldAotIyBDT05GSUdfVFVMSVBfTkFQSSBpcyBub3Qgc2V0CisjIENPTkZJR19UVUxJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERTRYNSBpcyBub3Qgc2V0CiAjIENPTkZJR19XSU5CT05EXzg0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETTkxMDIgaXMgbm90IHNldAogIyBDT05GSUdfVUxJNTI2WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfWElSQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BDST15CiAjIENPTkZJR19QQ05FVDMyIGlzIG5vdCBzZXQKLUNPTkZJR19BTUQ4MTExX0VUSD15Ci0jIENPTkZJR19BTUQ4MTExRV9OQVBJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAotQ09ORklHX0I0ND15CisjIENPTkZJR19CNDQgaXMgbm90IHNldAogQ09ORklHX0ZPUkNFREVUSD15CiAjIENPTkZJR19GT1JDRURFVEhfTkFQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ER1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VFUFJPMTAwIGlzIG5vdCBzZXQKIENPTkZJR19FMTAwPXkKICMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQVRTRU1JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FMktfUENJIGlzIG5vdCBzZXQKLUNPTkZJR184MTM5Q1A9eQorIyBDT05GSUdfODEzOUNQIGlzIG5vdCBzZXQKIENPTkZJR184MTM5VE9PPXkKLSMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKK0NPTkZJR184MTM5VE9PX1BJTz15CiAjIENPTkZJR184MTM5VE9PX1RVTkVfVFdJU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAogIyBDT05GSUdfODEzOV9PTERfUlhfUkVTRVQgaXMgbm90IHNldAorIyBDT05GSUdfUjYwNDAgaXMgbm90IHNldAogIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAogIyBDT05GSUdfU1VOREFOQ0UgaXMgbm90IHNldApAQCAtNzQwLDM0ICs5NDgsNzQgQEAKIENPTkZJR19FMTAwMD15CiAjIENPTkZJR19FMTAwMF9OQVBJIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAwX0RJU0FCTEVfUEFDS0VUX1NQTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRSBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEVfRU5BQkxFRCBpcyBub3Qgc2V0CisjIENPTkZJR19JUDEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUdCIGlzIG5vdCBzZXQKICMgQ09ORklHX05TODM4MjAgaXMgbm90IHNldAogIyBDT05GSUdfSEFNQUNISSBpcyBub3Qgc2V0CiAjIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldAogIyBDT05GSUdfUjgxNjkgaXMgbm90IHNldAogIyBDT05GSUdfU0lTMTkwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NLR0UgaXMgbm90IHNldAotIyBDT05GSUdfU0tZMiBpcyBub3Qgc2V0CitDT05GSUdfU0tZMj15CisjIENPTkZJR19TS1kyX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0CiBDT05GSUdfVElHT04zPXkKLUNPTkZJR19CTlgyPXkKKyMgQ09ORklHX0JOWDIgaXMgbm90IHNldAogIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKIENPTkZJR19ORVRERVZfMTAwMDA9eQogIyBDT05GSUdfQ0hFTFNJT19UMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lYR0JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lYR0IgaXMgbm90IHNldAotQ09ORklHX1MySU89bQotIyBDT05GSUdfUzJJT19OQVBJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1MySU8gaXMgbm90IHNldAogIyBDT05GSUdfTVlSSTEwR0UgaXMgbm90IHNldAogIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0CisjIENPTkZJR19OSVUgaXMgbm90IHNldAogIyBDT05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RFSFVUSSBpcyBub3Qgc2V0CisjIENPTkZJR19CTlgyWCBpcyBub3Qgc2V0CisjIENPTkZJR19TRkMgaXMgbm90IHNldAorQ09ORklHX1RSPXkKKyMgQ09ORklHX0lCTU9MIGlzIG5vdCBzZXQKKyMgQ09ORklHXzNDMzU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1RNUzM4MFRSIGlzIG5vdCBzZXQKIAogIwogIyBXaXJlbGVzcyBMQU4KICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CitDT05GSUdfV0xBTl84MDIxMT15CisjIENPTkZJR19QQ01DSUFfUkFZQ1MgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JUFcyMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkVSVEFTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FJUk8gaXMgbm90IHNldAorIyBDT05GSUdfSEVSTUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTUVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FJUk9fQ1MgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1dMMzUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19QUklTTTU0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aRDEyMDEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX05FVF9STkRJU19XTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUTDgxODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRMODE4NyBpcyBub3Qgc2V0CisjIENPTkZJR19BRE04MjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1A1NF9DT01NT04gaXMgbm90IHNldAorQ09ORklHX0FUSDVLPXkKKyMgQ09ORklHX0FUSDVLX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRkkgaXMgbm90IHNldAorIyBDT05GSUdfSVdMQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfSVdMNDk2NSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0wzOTQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPU1RBUCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDMgaXMgbm90IHNldAorIyBDT05GSUdfQjQzTEVHQUNZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1pEMTIxMVJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUMlgwMCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTc3NiwxNiArMTAyNCwyNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfUENNQ0lBPXkKKyMgQ09ORklHX1BDTUNJQV8zQzU4OSBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfM0M1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX0ZNVkoxOFggaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1BDTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9OTUNMQU4gaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1NNQzkxQzkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9YSVJDMlBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9BWE5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAotIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CitDT05GSUdfRkREST15CisjIENPTkZJR19ERUZYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TS0ZQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hJUFBJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogQ09ORklHX05FVENPTlNPTEU9eQorIyBDT05GSUdfTkVUQ09OU09MRV9EWU5BTUlDIGlzIG5vdCBzZXQKIENPTkZJR19ORVRQT0xMPXkKICMgQ09ORklHX05FVFBPTExfVFJBUCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUj15CkBAIC03OTYsMTggKzEwNTQsMTcgQEAKICMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKICMKIENPTkZJR19JTlBVVD15Ci0jIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1BPTExERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0ZGX01FTUxFU1M9eQorQ09ORklHX0lOUFVUX1BPTExERVY9eQogCiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKIENPTkZJR19JTlBVVF9NT1VTRURFVj15Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVg9eQorIyBDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC04MzIsMTcgKzEwODksNjIgQEAKICMgQ09ORklHX01PVVNFX1NFUklBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9BUFBMRVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX1ZTWFhYQUEgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0pPWVNUSUNLPXkKKyMgQ09ORklHX0pPWVNUSUNLX0FOQUxPRyBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19BM0QgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfQURJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0NPQlJBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dGMksgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HUklQX01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dVSUxMRU1PVCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19JTlRFUkFDVCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TSURFV0lOREVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1RNREMgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfSUZPUkNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1dBUlJJT1IgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfTUFHRUxMQU4gaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VPUkIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VCQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NUSU5HRVIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfVFdJREpPWSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19aSEVOSFVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0pPWURVTVAgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfWFBBRCBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfVEFCTEVUPXkKKyMgQ09ORklHX1RBQkxFVF9VU0JfQUNFQ0FEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfQUlQVEVLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfR1RDTyBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX0tCVEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfV0FDT00gaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfTUlTQz15CisjIENPTkZJR19JTlBVVF9QQ1NQS1IgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVBBTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FUTEFTX0JUTlMgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVRJX1JFTU9URSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BVElfUkVNT1RFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9LRVlTUEFOX1JFTU9URSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9QT1dFUk1BVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfWUVBTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9VSU5QVVQgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwogQ09ORklHX1NFUklPPXkKIENPTkZJR19TRVJJT19JODA0Mj15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJT19TRVJQT1JUPXkKICMgQ09ORklHX1NFUklPX0NUODJDNzEwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFUklPX1BDSVBTMiBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSU9fTElCUFMyPXkKQEAgLTg1NSw4ICsxMTU3LDI2IEBACiBDT05GSUdfVlQ9eQogQ09ORklHX1ZUX0NPTlNPTEU9eQogQ09ORklHX0hXX0NPTlNPTEU9eQotIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HPXkKK0NPTkZJR19ERVZLTUVNPXkKK0NPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQ9eQorIyBDT05GSUdfQ09NUFVUT05FIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPQ0tFVFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1lDTEFERVMgaXMgbm90IHNldAorIyBDT05GSUdfRElHSUVQQ0EgaXMgbm90IHNldAorIyBDT05GSUdfTU9YQV9JTlRFTExJTyBpcyBub3Qgc2V0CisjIENPTkZJR19NT1hBX1NNQVJUSU8gaXMgbm90IHNldAorIyBDT05GSUdfSVNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LTVAgaXMgbm90IHNldAorIyBDT05GSUdfU1lOQ0xJTktfR1QgaXMgbm90IHNldAorIyBDT05GSUdfTl9IRExDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JJU0NPTTggaXMgbm90IHNldAorIyBDT05GSUdfU1BFQ0lBTElYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JJTyBpcyBub3Qgc2V0CisjIENPTkZJR19TVEFMRFJWIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKQEAgLTg2Niw5ICsxMTg2LDE0IEBACiBDT05GSUdfRklYX0VBUkxZQ09OX01FTT15CiBDT05GSUdfU0VSSUFMXzgyNTBfUENJPXkKIENPTkZJR19TRVJJQUxfODI1MF9QTlA9eQotQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKKyMgQ09ORklHX1NFUklBTF84MjUwX0NTIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz0zMgogQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9NAotIyBDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEPXkKK0NPTkZJR19TRVJJQUxfODI1MF9NQU5ZX1BPUlRTPXkKK0NPTkZJR19TRVJJQUxfODI1MF9TSEFSRV9JUlE9eQorQ09ORklHX1NFUklBTF84MjUwX0RFVEVDVF9JUlE9eQorQ09ORklHX1NFUklBTF84MjUwX1JTQT15CiAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydApAQCAtODc3LDc4ICsxMjAyLDI2MCBAQAogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWDk4X1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgorIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMgbm90IHNldAogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIENPTkZJR19IV19SQU5ET009eQotQ09ORklHX0hXX1JBTkRPTV9JTlRFTD15Ci1DT05GSUdfSFdfUkFORE9NX0FNRD15Ci0jIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDPXkKKyMgQ09ORklHX0hXX1JBTkRPTV9JTlRFTCBpcyBub3Qgc2V0CisjIENPTkZJR19IV19SQU5ET01fQU1EIGlzIG5vdCBzZXQKK0NPTkZJR19OVlJBTT15CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0Ci1DT05GSUdfQUdQPXkKLUNPTkZJR19BR1BfQU1ENjQ9eQotQ09ORklHX0FHUF9JTlRFTD15Ci0jIENPTkZJR19BR1BfU0lTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FHUF9WSUEgaXMgbm90IHNldAotIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKKworIworIyBQQ01DSUEgY2hhcmFjdGVyIGRldmljZXMKKyMKKyMgQ09ORklHX1NZTkNMSU5LX0NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBUkRNQU5fNDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19DQVJETUFOXzQwNDAgaXMgbm90IHNldAorIyBDT05GSUdfSVBXSVJFTEVTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NV0FWRSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQzg3MzZ4X0dQSU8gaXMgbm90IHNldAotQ09ORklHX1JBV19EUklWRVI9eQotQ09ORklHX01BWF9SQVdfREVWUz0yNTYKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAogQ09ORklHX0hQRVQ9eQogIyBDT05GSUdfSFBFVF9SVENfSVJRIGlzIG5vdCBzZXQKLUNPTkZJR19IUEVUX01NQVA9eQorIyBDT05GSUdfSFBFVF9NTUFQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTkdDSEVDS19USU1FUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKICMgQ09ORklHX1RFTENMT0NLIGlzIG5vdCBzZXQKIENPTkZJR19ERVZQT1JUPXkKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKKyMgQ09ORklHX0kyQ19DSEFSREVWIGlzIG5vdCBzZXQKIAogIwotIyBTUEkgc3VwcG9ydAorIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX0kyQ19BTEkxNTM1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ3NTYgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDgxMTEgaXMgbm90IHNldAorQ09ORklHX0kyQ19JODAxPXkKKyMgQ09ORklHX0kyQ19JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QUk9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorQ09ORklHX1BPV0VSX1NVUFBMWT15CisjIENPTkZJR19QT1dFUl9TVVBQTFlfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfUERBX1BPV0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBVFRFUllfRFMyNzYwIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19USEVSTUFMPXkKK0NPTkZJR19XQVRDSERPRz15CisjIENPTkZJR19XQVRDSERPR19OT1dBWU9VVCBpcyBub3Qgc2V0CisKKyMKKyMgV2F0Y2hkb2cgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX1NPRlRfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfQUNRVUlSRV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQURWQU5URUNIX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19BTElNMTUzNV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQUxJTTcxMDFfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDNTIwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19FVVJPVEVDSF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSUI3MDBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTUFTUiBpcyBub3Qgc2V0CisjIENPTkZJR19XQUZFUl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSTYzMDBFU0JfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lUQ09fV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lUODcxMkZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQX1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDMTIwMF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfUEM4NzQxM19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfNjBYWF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0JDODM2MF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVNV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU01TQzM3Qjc4N19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzNjI3SEZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4MzY5N0hGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM4NzdGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM5NzdGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIWl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0JDX0VQWF9DM19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgUENJLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19QQ0lQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dEVFBDSSBpcyBub3Qgc2V0CisKKyMKKyMgVVNCLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCiBDT05GSUdfREFCPXkKICMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKLSMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfQUdQPXkKK0NPTkZJR19BR1BfQU1ENjQ9eQorQ09ORklHX0FHUF9JTlRFTD15CisjIENPTkZJR19BR1BfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FHUF9WSUEgaXMgbm90IHNldAorQ09ORklHX0RSTT15CisjIENPTkZJR19EUk1fVERGWCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fUjEyOCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fUkFERU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9JODMwIGlzIG5vdCBzZXQKK0NPTkZJR19EUk1fSTkxNT15CisjIENPTkZJR19EUk1fTUdBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKK0NPTkZJR19GQj15CisjIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0CitDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKK0NPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQorQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQorIyBDT05GSUdfRkJfQ0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJQU4gaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAorQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKKyMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9NT0RFX0hFTFBFUlM9eQorQ09ORklHX0ZCX1RJTEVCTElUVElORz15CisKKyMKKyMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKKyMKKyMgQ09ORklHX0ZCX0NJUlJVUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9QTTIgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ1lCRVIyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FSQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BU0lMSUFOVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9JTVNUVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WR0ExNiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9VVkVTQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WRVNBIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9FRkk9eQorIyBDT05GSUdfRkJfSU1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9ONDExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0hHQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9OVklESUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUklWQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9MRTgwNTc4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0lOVEVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01BVFJPWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9SQURFT04gaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVRZMTI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FUWSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TMyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX05FT01BR0lDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0tZUk8gaXMgbm90IHNldAorIyBDT05GSUdfRkJfM0RGWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WT09ET08xIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZUODYyMyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9UUklERU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FSSyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9QTTMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfR0VPREUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CitDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUPXkKKyMgQ09ORklHX0xDRF9DTEFTU19ERVZJQ0UgaXMgbm90IHNldAorQ09ORklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0U9eQorIyBDT05GSUdfQkFDS0xJR0hUX0NPUkdJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9QUk9HRUFSIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotIyBDT05GSUdfRkIgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogQ09ORklHX1ZHQV9DT05TT0xFPXkKIENPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLPXkKLUNPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLX1NJWkU9MjU2CitDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTY0CiBDT05GSUdfVklERU9fU0VMRUNUPXkKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEUgaXMgbm90IHNldAorQ09ORklHX0xPR089eQorIyBDT05GSUdfTE9HT19MSU5VWF9NT05PIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPR09fTElOVVhfVkdBMTYgaXMgbm90IHNldAorQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKQEAgLTk1OCwzMyArMTQ2NSwxNjUgQEAKICMKICMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCiAjCi0jIENPTkZJR19TTkQgaXMgbm90IHNldAorQ09ORklHX1NORD15CitDT05GSUdfU05EX1RJTUVSPXkKK0NPTkZJR19TTkRfUENNPXkKK0NPTkZJR19TTkRfSFdERVA9eQorQ09ORklHX1NORF9TRVFVRU5DRVI9eQorQ09ORklHX1NORF9TRVFfRFVNTVk9eQorQ09ORklHX1NORF9PU1NFTVVMPXkKK0NPTkZJR19TTkRfTUlYRVJfT1NTPXkKK0NPTkZJR19TTkRfUENNX09TUz15CitDT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15CitDT05GSUdfU05EX1NFUVVFTkNFUl9PU1M9eQorQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUz15CitDT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15CitDT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKKyMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NORF9WTUFTVEVSPXkKKworIworIyBHZW5lcmljIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9QQ1NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklSTUlESSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0CisKKyMKKyMgUENJIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9BRDE4ODkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMUzMwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQUxTNDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQUxJNTQ1MSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVRJSVhQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVElJWFBfTU9ERU0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVU4ODIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVTg4MzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FXMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVpUMzMyOCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ01JUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9PWFlHRU4gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzU1MzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0dJTkEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTEFZTEEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfR0lOQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9MQVlMQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NT05BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NSUEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VDSE8zRyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTkRJR09JTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPREogaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VNVTEwSzEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VNVTEwSzFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTlMxMzcxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FUzE5MzggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRk04MDEgaXMgbm90IHNldAorQ09ORklHX1NORF9IREFfSU5URUw9eQorQ09ORklHX1NORF9IREFfSFdERVA9eQorQ09ORklHX1NORF9IREFfQ09ERUNfUkVBTFRFSz15CitDT05GSUdfU05EX0hEQV9DT0RFQ19BTkFMT0c9eQorQ09ORklHX1NORF9IREFfQ09ERUNfU0lHTUFURUw9eQorQ09ORklHX1NORF9IREFfQ09ERUNfVklBPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0FUSUhETUk9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQ09ORVhBTlQ9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQ01FRElBPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1NJMzA1ND15CitDT05GSUdfU05EX0hEQV9HRU5FUklDPXkKKyMgQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSERTUE0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hJRklFUiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSUNFMTcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lOVEVMOFgwTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfS09SRzEyMTIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01BRVNUUk8zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NSVhBUlQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX05NMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9QQ1hIUiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUklQVElERSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JNRTk2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9STUU5NjUyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSUE4MlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJUVU9TTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVlgyMjIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0CisKKyMKKyMgVVNCIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1VTQl9VU1gyWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKKworIworIyBQQ01DSUEgZGV2aWNlcworIworIyBDT05GSUdfU05EX1ZYUE9DS0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9QREFVRElPQ0YgaXMgbm90IHNldAorCisjCisjIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKKyMKKyMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAorCisjCisjIEFMU0EgU29DIGF1ZGlvIGZvciBGcmVlc2NhbGUgU09DcworIworCisjCisjIFNvQyBBdWRpbyBmb3IgdGhlIFRleGFzIEluc3RydW1lbnRzIE9NQVAKKyMKIAogIwogIyBPcGVuIFNvdW5kIFN5c3RlbQogIwotQ09ORklHX1NPVU5EX1BSSU1FPXkKLSMgQ09ORklHX1NPVU5EX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfTVNORENMQVMgaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfTVNORFBJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TT1VORF9PU1MgaXMgbm90IHNldAorIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAogQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQotIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfREVCVUc9eQorQ09ORklHX0hJRFJBVz15CiAKICMKICMgVVNCIElucHV0IERldmljZXMKICMKIENPTkZJR19VU0JfSElEPXkKLSMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAotIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAorQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0s9eQorQ09ORklHX0hJRF9GRj15CitDT05GSUdfSElEX1BJRD15CitDT05GSUdfTE9HSVRFQ0hfRkY9eQorIyBDT05GSUdfTE9HSVJVTUJMRVBBRDJfRkYgaXMgbm90IHNldAorQ09ORklHX1BBTlRIRVJMT1JEX0ZGPXkKK0NPTkZJR19USFJVU1RNQVNURVJfRkY9eQorQ09ORklHX1pFUk9QTFVTX0ZGPXkKK0NPTkZJR19VU0JfSElEREVWPXkKIENPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQogQ09ORklHX1VTQl9BUkNIX0hBU19FSENJPXkKIENPTkZJR19VU0I9eQotIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVCVUc9eQorQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUz15CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwpAQCAtOTkyLDE4ICsxNjMxLDE4IEBACiBDT05GSUdfVVNCX0RFVklDRUZTPXkKICMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VTUEVORD15CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfRUhDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX0VIQ0lfU1BMSVRfSVNPIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9FSENJX1RUX05FV1NDSEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0hDRD15CiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKQEAgLTEwMzYsOCArMTY3NSwxMCBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0xJQlVTVUFMPXkKIAogIwogIyBVU0IgSW1hZ2luZyBkZXZpY2VzCkBAIC0xMDQ5LDEwICsxNjkwLDYgQEAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDc4LDk4ICsxNzE1LDEyNiBAQAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIwogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19NRU1TVElDSyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCiAjIExFRCBkcml2ZXJzCiAjCisjIENPTkZJR19MRURTX0NMRVZPX01BSUwgaXMgbm90IHNldAogCiAjCiAjIExFRCBUcmlnZ2VycwogIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQgaXMgbm90IHNldAorIyBDT05GSUdfTEVEU19UUklHR0VSX0RFRkFVTFRfT04gaXMgbm90IHNldAorIyBDT05GSUdfQUNDRVNTSUJJTElUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZJTklCQU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VEQUMgaXMgbm90IHNldAorQ09ORklHX0VEQUM9eQogCiAjCi0jIFJlYWwgVGltZSBDbG9jaworIyBSZXBvcnRpbmcgc3Vic3lzdGVtcwogIwotIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VEQUNfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfRURBQ19NTV9FREFDIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfTElCPXkKK0NPTkZJR19SVENfQ0xBU1M9eQorIyBDT05GSUdfUlRDX0hDVE9TWVMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKIAogIwotIyBETUEgRW5naW5lIHN1cHBvcnQKKyMgUlRDIGludGVyZmFjZXMKICMKLSMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAorQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKK0NPTkZJR19SVENfSU5URl9QUk9DPXkKK0NPTkZJR19SVENfSU5URl9ERVY9eQorIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgRE1BIENsaWVudHMKKyMgSTJDIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKworIworIyBQbGF0Zm9ybSBSVEMgZHJpdmVycworIworQ09ORklHX1JUQ19EUlZfQ01PUz15CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAorCisjCisjIG9uLUNQVSBSVEMgZHJpdmVycworIworQ09ORklHX0RNQURFVklDRVM9eQogCiAjCiAjIERNQSBEZXZpY2VzCiAjCi1DT05GSUdfVklSVFVBTElaQVRJT049eQotIyBDT05GSUdfS1ZNIGlzIG5vdCBzZXQKLQotIwotIyBVc2Vyc3BhY2UgSS9PCi0jCisjIENPTkZJR19JTlRFTF9JT0FURE1BIGlzIG5vdCBzZXQKICMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlybXdhcmUgRHJpdmVycwogIwogIyBDT05GSUdfRUREIGlzIG5vdCBzZXQKK0NPTkZJR19FRklfVkFSUz15CiAjIENPTkZJR19ERUxMX1JCVSBpcyBub3Qgc2V0CiAjIENPTkZJR19EQ0RCQVMgaXMgbm90IHNldAogQ09ORklHX0RNSUlEPXkKKyMgQ09ORklHX0lTQ1NJX0lCRlRfRklORCBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCiAjCi1DT05GSUdfRVhUMl9GUz15Ci1DT05GSUdfRVhUMl9GU19YQVRUUj15Ci1DT05GSUdfRVhUMl9GU19QT1NJWF9BQ0w9eQotIyBDT05GSUdfRVhUMl9GU19TRUNVUklUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKIENPTkZJR19FWFQzX0ZTX1hBVFRSPXkKIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKK0NPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZPXkKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAogQ09ORklHX0pCRD15CiAjIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0ZTX01CQ0FDSEU9eQotQ09ORklHX1JFSVNFUkZTX0ZTPXkKLSMgQ09ORklHX1JFSVNFUkZTX0NIRUNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JFSVNFUkZTX1BST0NfSU5GTyBpcyBub3Qgc2V0Ci1DT05GSUdfUkVJU0VSRlNfRlNfWEFUVFI9eQotQ09ORklHX1JFSVNFUkZTX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19SRUlTRVJGU19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKLSMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKK0NPTkZJR19RVU9UQT15CitDT05GSUdfUVVPVEFfTkVUTElOS19JTlRFUkZBQ0U9eQorIyBDT05GSUdfUFJJTlRfUVVPVEFfV0FSTklORyBpcyBub3Qgc2V0CisjIENPTkZJR19RRk1UX1YxIGlzIG5vdCBzZXQKK0NPTkZJR19RRk1UX1YyPXkKK0NPTkZJR19RVU9UQUNUTD15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogQ09ORklHX0FVVE9GUzRfRlM9eQogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMTgwLDcgKzE4NDUsNyBAQAogIwogQ09ORklHX0lTTzk2NjBfRlM9eQogQ09ORklHX0pPTElFVD15Ci0jIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX1pJU09GUz15CiAjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMTk4LDEzICsxODYzLDEzIEBACiAjCiBDT05GSUdfUFJPQ19GUz15CiBDT05GSUdfUFJPQ19LQ09SRT15CitDT05GSUdfUFJPQ19WTUNPUkU9eQogQ09ORklHX1BST0NfU1lTQ1RMPXkKIENPTkZJR19TWVNGUz15CiBDT05GSUdfVE1QRlM9eQogQ09ORklHX1RNUEZTX1BPU0lYX0FDTD15CiBDT05GSUdfSFVHRVRMQkZTPXkKIENPTkZJR19IVUdFVExCX1BBR0U9eQotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTIxMiw2ICsxODc3LDcgQEAKICMKICMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FQ1JZUFRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CkBAIC0xMjE5LDMzICsxODg1LDE1IEBACiAjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCi1DT05GSUdfTkZTX0ZTPXkKLUNPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKLUNPTkZJR19ORlNEPXkKLUNPTkZJR19ORlNEX1YzPXkKLSMgQ09ORklHX05GU0RfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU0RfVjQgaXMgbm90IHNldAotQ09ORklHX05GU0RfVENQPXkKLUNPTkZJR19ST09UX05GUz15Ci1DT05GSUdfTE9DS0Q9eQotQ09ORklHX0xPQ0tEX1Y0PXkKLUNPTkZJR19FWFBPUlRGUz15Ci1DT05GSUdfTkZTX0NPTU1PTj15Ci1DT05GSUdfU1VOUlBDPXkKLSMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAorQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQorIyBDT05GSUdfTkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU0QgaXMgbm90IHNldAogIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKQEAgLTEyNTUsMTQgKzE5MDMsMjYgQEAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCi0jIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CisjIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX09TRl9QQVJUSVRJT049eQorQ09ORklHX0FNSUdBX1BBUlRJVElPTj15CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX01BQ19QQVJUSVRJT049eQogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKK0NPTkZJR19CU0RfRElTS0xBQkVMPXkKK0NPTkZJR19NSU5JWF9TVUJQQVJUSVRJT049eQorQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTj15CitDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMPXkKKyMgQ09ORklHX0xETV9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX1NHSV9QQVJUSVRJT049eQorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfU1VOX1BBUlRJVElPTj15CitDT05GSUdfS0FSTUFfUEFSVElUSU9OPXkKK0NPTkZJR19FRklfUEFSVElUSU9OPXkKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15Ci1DT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKK0NPTkZJR19OTFNfREVGQVVMVD0idXRmOCIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CkBAIC0xMjk3LDQwICsxOTU3LDMzIEBACiAjIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfSVNPODg1OV8xNT15CisjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAogQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgSW5zdHJ1bWVudGF0aW9uIFN1cHBvcnQKLSMKLUNPTkZJR19QUk9GSUxJTkc9eQotQ09ORklHX09QUk9GSUxFPXkKLUNPTkZJR19LUFJPQkVTPXkKLQotIwogIyBLZXJuZWwgaGFja2luZwogIwogQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSyBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfV0FSTj0yMDQ4CiBDT05GSUdfTUFHSUNfU1lTUlE9eQotQ09ORklHX1VOVVNFRF9TWU1CT0xTPXkKKyMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19GUz15CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKKyMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDSEVEX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAorQ09ORklHX1NDSEVEU1RBVFM9eQogQ09ORklHX1RJTUVSX1NUQVRTPXkKLSMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CisjIENPTkZJR19TTFVCX0RFQlVHX09OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldApAQCAtMTM0NCwyOCArMTk5NywxNjIgQEAKIENPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKICMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZSQU1FX1BPSU5URVIgaXMgbm90IHNldAotQ09ORklHX09QVElNSVpFX0lOTElOSU5HPXkKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfS1BST0JFU19TQU5JVFlfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0xLRFRNIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19ST0RBVEEgaXMgbm90IHNldAotIyBDT05GSUdfSU9NTVVfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CitDT05GSUdfUFJPVklERV9PSENJMTM5NF9ETUFfSU5JVD15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tHREIgaXMgbm90IHNldAorQ09ORklHX0hBVkVfQVJDSF9LR0RCPXkKKyMgQ09ORklHX05PTlBST01JU0NfREVWTUVNIGlzIG5vdCBzZXQKK0NPTkZJR19FQVJMWV9QUklOVEs9eQogQ09ORklHX0RFQlVHX1NUQUNLT1ZFUkZMT1c9eQotIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFPXkKKyMgQ09ORklHX0RFQlVHX1BBR0VBTExPQyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1BURFVNUCBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfUk9EQVRBPXkKKyMgQ09ORklHX0RJUkVDVF9HQlBBR0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1JPREFUQV9URVNUIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19OWF9URVNUPW0KK0NPTkZJR19YODZfTVBQQVJTRT15CisjIENPTkZJR19JT01NVV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfSU9fREVMQVlfVFlQRV8wWDgwPTAKK0NPTkZJR19JT19ERUxBWV9UWVBFXzBYRUQ9MQorQ09ORklHX0lPX0RFTEFZX1RZUEVfVURFTEFZPTIKK0NPTkZJR19JT19ERUxBWV9UWVBFX05PTkU9MworQ09ORklHX0lPX0RFTEFZXzBYODA9eQorIyBDT05GSUdfSU9fREVMQVlfMFhFRCBpcyBub3Qgc2V0CisjIENPTkZJR19JT19ERUxBWV9VREVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfSU9fREVMQVlfTk9ORSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9JT19ERUxBWV9UWVBFPTAKK0NPTkZJR19ERUJVR19CT09UX1BBUkFNUz15CisjIENPTkZJR19DUEFfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIFNlY3VyaXR5IG9wdGlvbnMKICMKLSMgQ09ORklHX0tFWVMgaXMgbm90IHNldAotIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlTPXkKK0NPTkZJR19LRVlTX0RFQlVHX1BST0NfS0VZUz15CitDT05GSUdfU0VDVVJJVFk9eQorQ09ORklHX1NFQ1VSSVRZX05FVFdPUks9eQorIyBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9DQVBBQklMSVRJRVM9eQorQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTPXkKKyMgQ09ORklHX1NFQ1VSSVRZX1JPT1RQTFVHIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9ERUZBVUxUX01NQVBfTUlOX0FERFI9NjU1MzYKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0JPT1RQQVJBTT15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9CT09UUEFSQU1fVkFMVUU9MQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfRElTQUJMRT15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9ERVZFTE9QPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0FWQ19TVEFUUz15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9DSEVDS1JFUVBST1RfVkFMVUU9MQorIyBDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9FTkFCTEVfU0VDTUFSS19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfUE9MSUNZREJfVkVSU0lPTl9NQVggaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfU01BQ0sgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCitDT05GSUdfQ1JZUFRPX0FMR0FQST15CitDT05GSUdfQ1JZUFRPX0FFQUQ9eQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQorQ09ORklHX0NSWVBUT19IQVNIPXkKK0NPTkZJR19DUllQVE9fTUFOQUdFUj15CisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FVVEhFTkM9eQorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPXkKKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj15CisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fSE1BQz15CisjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9eQorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fU0hBMT15CisjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKK0NPTkZJR19DUllQVE9fQUVTPXkKKyMgQ09ORklHX0NSWVBUT19BRVNfWDg2XzY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BUkM0PXkKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz15CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjBfWDg2XzY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0hfWDg2XzY0IGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0hXPXkKKyMgQ09ORklHX0NSWVBUT19ERVZfSElGTl83OTVYIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tWTT15CitDT05GSUdfVklSVFVBTElaQVRJT049eQorIyBDT05GSUdfS1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJUlRJT19QQ0kgaXMgbm90IHNldAorIyBDT05GSUdfVklSVElPX0JBTExPT04gaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKK0NPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUPXkKK0NPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQ9eQogIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pYTMyL2lhMzJlbnRyeS5TIGIvYXJjaC94ODYvaWEzMi9pYTMyZW50cnkuUwppbmRleCBiNWUzMjlkLi4yMDM3MWQwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pYTMyL2lhMzJlbnRyeS5TCisrKyBiL2FyY2gveDg2L2lhMzIvaWEzMmVudHJ5LlMKQEAgLTYxLDYgKzYxLDE5IEBACiAJQ0ZJX1VOREVGSU5FRAlyMTUKIAkuZW5kbQogCisjaWZkZWYgQ09ORklHX1BBUkFWSVJUCitFTlRSWShuYXRpdmVfdXNlcmdzX3N5c3JldDMyKQorCXN3YXBncworCXN5c3JldGwKK0VORFBST0MobmF0aXZlX3VzZXJnc19zeXNyZXQzMikKKworRU5UUlkobmF0aXZlX2lycV9lbmFibGVfc3lzZXhpdCkKKwlzd2FwZ3MKKwlzdGkKKwlzeXNleGl0CitFTkRQUk9DKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2V4aXQpCisjZW5kaWYKKwogLyoKICAqIDMyYml0IFNZU0VOVEVSIGluc3RydWN0aW9uIGVudHJ5LgogICoKQEAgLTg1LDE0ICs5OCwxNCBAQAogCUNGSV9TSUdOQUxfRlJBTUUKIAlDRklfREVGX0NGQQlyc3AsMAogCUNGSV9SRUdJU1RFUglyc3AscmJwCi0Jc3dhcGdzCisJU1dBUEdTX1VOU0FGRV9TVEFDSwogCW1vdnEJJWdzOnBkYV9rZXJuZWxzdGFjaywgJXJzcAogCWFkZHEJJChQREFfU1RBQ0tPRkZTRVQpLCVyc3AJCiAJLyoKIAkgKiBObyBuZWVkIHRvIGZvbGxvdyB0aGlzIGlycXMgb24vb2ZmIHNlY3Rpb246IHRoZSBzeXNjYWxsCiAJICogZGlzYWJsZWQgaXJxcywgaGVyZSB3ZSBlbmFibGUgaXQgc3RyYWlnaHQgYWZ0ZXIgZW50cnk6CiAJICovCi0Jc3RpCQorCUVOQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKICAJbW92bAklZWJwLCVlYnAJCS8qIHplcm8gZXh0ZW5zaW9uICovCiAJcHVzaHEJJF9fVVNFUjMyX0RTCiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKQEAgLTEwMyw3ICsxMTYsNyBAQAogCXB1c2hmcQogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CiAJLypDRklfUkVMX09GRlNFVCByZmxhZ3MsMCovCi0JbW92bAk4KjMtVEhSRUFEX1NJWkUrdGhyZWFkaW5mb19zeXNlbnRlcl9yZXR1cm4oJXJzcCksICVyMTBkCisJbW92bAk4KjMtVEhSRUFEX1NJWkUrVElfc3lzZW50ZXJfcmV0dXJuKCVyc3ApLCAlcjEwZAogCUNGSV9SRUdJU1RFUiByaXAscjEwCiAJcHVzaHEJJF9fVVNFUjMyX0NTCiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKQEAgLTEyMyw4ICsxMzYsOSBAQAogIAkucXVhZCAxYixpYTMyX2JhZGFyZwogIAkucHJldmlvdXMJCiAJR0VUX1RIUkVBRF9JTkZPKCVyMTApCi0Jb3JsICAgICRUU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXIxMCkKLQl0ZXN0bCAgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksdGhyZWFkaW5mb19mbGFncyglcjEwKQorCW9ybCAgICAkVFNfQ09NUEFULFRJX3N0YXR1cyglcjEwKQorCXRlc3RsICAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSwgXAorCQkgVElfZmxhZ3MoJXIxMCkKIAlDRklfUkVNRU1CRVJfU1RBVEUKIAlqbnogIHN5c2VudGVyX3RyYWNlc3lzCiBzeXNlbnRlcl9kb19jYWxsOgkKQEAgLTEzNCwxMSArMTQ4LDExIEBACiAJY2FsbAkqaWEzMl9zeXNfY2FsbF90YWJsZSgsJXJheCw4KQogCW1vdnEJJXJheCxSQVgtQVJHT0ZGU0VUKCVyc3ApCiAJR0VUX1RIUkVBRF9JTkZPKCVyMTApCi0JY2xpCisJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAlUUkFDRV9JUlFTX09GRgotCXRlc3RsCSRfVElGX0FMTFdPUktfTUFTSyx0aHJlYWRpbmZvX2ZsYWdzKCVyMTApCisJdGVzdGwJJF9USUZfQUxMV09SS19NQVNLLFRJX2ZsYWdzKCVyMTApCiAJam56CWludF9yZXRfZnJvbV9zeXNfY2FsbAotCWFuZGwgICAgJH5UU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXIxMCkKKwlhbmRsICAgICR+VFNfQ09NUEFULFRJX3N0YXR1cyglcjEwKQogCS8qIGNsZWFyIElGLCB0aGF0IHBvcGZxIGRvZXNuJ3QgZW5hYmxlIGludGVycnVwdHMgZWFybHkgKi8KIAlhbmRsICAkfjB4MjAwLEVGTEFHUy1SMTEoJXJzcCkgCiAJbW92bAlSSVAtUjExKCVyc3ApLCVlZHgJCS8qIFVzZXIgJWVpcCAqLwpAQCAtMTUxLDEwICsxNjUsNyBAQAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAogCUNGSV9SRUdJU1RFUiByc3AscmN4CiAJVFJBQ0VfSVJRU19PTgotCXN3YXBncwotCXN0aQkJLyogc3RpIG9ubHkgdGFrZXMgZWZmZWN0IGFmdGVyIHRoZSBuZXh0IGluc3RydWN0aW9uICovCi0JLyogc3lzZXhpdCAqLwotCS5ieXRlCTB4ZiwgMHgzNQorCUVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQzMgogCiBzeXNlbnRlcl90cmFjZXN5czoKIAlDRklfUkVTVE9SRV9TVEFURQpAQCAtMjAwLDcgKzIxMSw3IEBACiAJQ0ZJX0RFRl9DRkEJcnNwLFBEQV9TVEFDS09GRlNFVAogCUNGSV9SRUdJU1RFUglyaXAscmN4CiAJLypDRklfUkVHSVNURVIJcmZsYWdzLHIxMSovCi0Jc3dhcGdzCisJU1dBUEdTX1VOU0FGRV9TVEFDSwogCW1vdmwJJWVzcCwlcjhkCiAJQ0ZJX1JFR0lTVEVSCXJzcCxyOAogCW1vdnEJJWdzOnBkYV9rZXJuZWxzdGFjaywlcnNwCkBAIC0yMDgsNyArMjE5LDcgQEAKIAkgKiBObyBuZWVkIHRvIGZvbGxvdyB0aGlzIGlycXMgb24vb2ZmIHNlY3Rpb246IHRoZSBzeXNjYWxsCiAJICogZGlzYWJsZWQgaXJxcyBhbmQgaGVyZSB3ZSBlbmFibGUgaXQgc3RyYWlnaHQgYWZ0ZXIgZW50cnk6CiAJICovCi0Jc3RpCisJRU5BQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogCVNBVkVfQVJHUyA4LDEsMQogCW1vdmwgCSVlYXgsJWVheAkvKiB6ZXJvIGV4dGVuc2lvbiAqLwogCW1vdnEJJXJheCxPUklHX1JBWC1BUkdPRkZTRVQoJXJzcCkKQEAgLTIzMCw4ICsyNDEsOSBAQAogCS5xdWFkIDFiLGlhMzJfYmFkYXJnCiAJLnByZXZpb3VzCQogCUdFVF9USFJFQURfSU5GTyglcjEwKQotCW9ybCAgICRUU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXIxMCkKLQl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSx0aHJlYWRpbmZvX2ZsYWdzKCVyMTApCisJb3JsICAgJFRTX0NPTVBBVCxUSV9zdGF0dXMoJXIxMCkKKwl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSwgXAorCQlUSV9mbGFncyglcjEwKQogCUNGSV9SRU1FTUJFUl9TVEFURQogCWpueiAgIGNzdGFyX3RyYWNlc3lzCiBjc3Rhcl9kb19jYWxsOgkKQEAgLTI0MSwxMSArMjUzLDExIEBACiAJY2FsbCAqaWEzMl9zeXNfY2FsbF90YWJsZSgsJXJheCw4KQogCW1vdnEgJXJheCxSQVgtQVJHT0ZGU0VUKCVyc3ApCiAJR0VUX1RIUkVBRF9JTkZPKCVyMTApCi0JY2xpCisJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAlUUkFDRV9JUlFTX09GRgotCXRlc3RsICRfVElGX0FMTFdPUktfTUFTSyx0aHJlYWRpbmZvX2ZsYWdzKCVyMTApCisJdGVzdGwgJF9USUZfQUxMV09SS19NQVNLLFRJX2ZsYWdzKCVyMTApCiAJam56ICBpbnRfcmV0X2Zyb21fc3lzX2NhbGwKLQlhbmRsICR+VFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyMTApCisJYW5kbCAkflRTX0NPTVBBVCxUSV9zdGF0dXMoJXIxMCkKIAlSRVNUT1JFX0FSR1MgMSwtQVJHX1NLSVAsMSwxLDEKIAltb3ZsIFJJUC1BUkdPRkZTRVQoJXJzcCksJWVjeAogCUNGSV9SRUdJU1RFUiByaXAscmN4CkBAIC0yNTQsOCArMjY2LDcgQEAKIAlUUkFDRV9JUlFTX09OCiAJbW92bCBSU1AtQVJHT0ZGU0VUKCVyc3ApLCVlc3AKIAlDRklfUkVTVE9SRSByc3AKLQlzd2FwZ3MKLQlzeXNyZXRsCisJVVNFUkdTX1NZU1JFVDMyCiAJCiBjc3Rhcl90cmFjZXN5czoJCiAJQ0ZJX1JFU1RPUkVfU1RBVEUKQEAgLTMxMCwxMiArMzIxLDEyIEBACiAJLypDRklfUkVMX09GRlNFVAlyZmxhZ3MsRUZMQUdTLVJJUCovCiAJLypDRklfUkVMX09GRlNFVAljcyxDUy1SSVAqLwogCUNGSV9SRUxfT0ZGU0VUCXJpcCxSSVAtUklQCi0Jc3dhcGdzCisJU1dBUEdTCiAJLyoKIAkgKiBObyBuZWVkIHRvIGZvbGxvdyB0aGlzIGlycXMgb24vb2ZmIHNlY3Rpb246IHRoZSBzeXNjYWxsCiAJICogZGlzYWJsZWQgaXJxcyBhbmQgaGVyZSB3ZSBlbmFibGUgaXQgc3RyYWlnaHQgYWZ0ZXIgZW50cnk6CiAJICovCi0Jc3RpCisJRU5BQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogCW1vdmwgJWVheCwlZWF4CiAJcHVzaHEgJXJheAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CkBAIC0zMjQsOCArMzM1LDkgQEAKIAkgICB0aGlzIGNvdWxkIGJlIGEgcHJvYmxlbS4gKi8KIAlTQVZFX0FSR1MgMCwwLDEKIAlHRVRfVEhSRUFEX0lORk8oJXIxMCkKLQlvcmwgICAkVFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyMTApCi0JdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksdGhyZWFkaW5mb19mbGFncyglcjEwKQorCW9ybCAgICRUU19DT01QQVQsVElfc3RhdHVzKCVyMTApCisJdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksIFwKKwkJVElfZmxhZ3MoJXIxMCkKIAlqbnogaWEzMl90cmFjZXN5cwogaWEzMl9kb19zeXNjYWxsOgkKIAljbXBsICQoSUEzMl9OUl9zeXNjYWxscy0xKSwlZWF4CkBAIC0zNzAsMTMgKzM4MiwxMSBAQAogCVBUUkVHU0NBTEwgc3R1YjMyX3J0X3NpZ3JldHVybiwgc3lzMzJfcnRfc2lncmV0dXJuLCAlcmRpCiAJUFRSRUdTQ0FMTCBzdHViMzJfc2lncmV0dXJuLCBzeXMzMl9zaWdyZXR1cm4sICVyZGkKIAlQVFJFR1NDQUxMIHN0dWIzMl9zaWdhbHRzdGFjaywgc3lzMzJfc2lnYWx0c3RhY2ssICVyZHgKLQlQVFJFR1NDQUxMIHN0dWIzMl9zaWdzdXNwZW5kLCBzeXMzMl9zaWdzdXNwZW5kLCAlcmN4CiAJUFRSRUdTQ0FMTCBzdHViMzJfZXhlY3ZlLCBzeXMzMl9leGVjdmUsICVyY3gKIAlQVFJFR1NDQUxMIHN0dWIzMl9mb3JrLCBzeXNfZm9yaywgJXJkaQogCVBUUkVHU0NBTEwgc3R1YjMyX2Nsb25lLCBzeXMzMl9jbG9uZSwgJXJkeAogCVBUUkVHU0NBTEwgc3R1YjMyX3Zmb3JrLCBzeXNfdmZvcmssICVyZGkKIAlQVFJFR1NDQUxMIHN0dWIzMl9pb3BsLCBzeXNfaW9wbCwgJXJzaQotCVBUUkVHU0NBTEwgc3R1YjMyX3J0X3NpZ3N1c3BlbmQsIHN5c19ydF9zaWdzdXNwZW5kLCAlcmR4CiAKIEVOVFJZKGlhMzJfcHRyZWdzX2NvbW1vbikKIAlwb3BxICVyMTEKQEAgLTQ3Niw3ICs0ODYsNyBAQAogCS5xdWFkIHN5c19zc2V0bWFzawogCS5xdWFkIHN5c19zZXRyZXVpZDE2CS8qIDcwICovCiAJLnF1YWQgc3lzX3NldHJlZ2lkMTYKLQkucXVhZCBzdHViMzJfc2lnc3VzcGVuZAorCS5xdWFkIHN5czMyX3NpZ3N1c3BlbmQKIAkucXVhZCBjb21wYXRfc3lzX3NpZ3BlbmRpbmcKIAkucXVhZCBzeXNfc2V0aG9zdG5hbWUKIAkucXVhZCBjb21wYXRfc3lzX3NldHJsaW1pdAkvKiA3NSAqLwpAQCAtNTgzLDcgKzU5Myw3IEBACiAJLnF1YWQgc3lzMzJfcnRfc2lncGVuZGluZwogCS5xdWFkIGNvbXBhdF9zeXNfcnRfc2lndGltZWR3YWl0CiAJLnF1YWQgc3lzMzJfcnRfc2lncXVldWVpbmZvCi0JLnF1YWQgc3R1YjMyX3J0X3NpZ3N1c3BlbmQKKwkucXVhZCBzeXNfcnRfc2lnc3VzcGVuZAogCS5xdWFkIHN5czMyX3ByZWFkCQkvKiAxODAgKi8KIAkucXVhZCBzeXMzMl9wd3JpdGUKIAkucXVhZCBzeXNfY2hvd24xNgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsLy5naXRpZ25vcmUgYi9hcmNoL3g4Ni9rZXJuZWwvLmdpdGlnbm9yZQppbmRleCA0ZWEzOGEzLi4wOGY0ZmQ3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvLmdpdGlnbm9yZQorKysgYi9hcmNoL3g4Ni9rZXJuZWwvLmdpdGlnbm9yZQpAQCAtMSwyICsxLDMgQEAKIHZzeXNjYWxsLmxkcwogdnN5c2NhbGxfMzIubGRzCit2bWxpbnV4LmxkcwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL01ha2VmaWxlIGIvYXJjaC94ODYva2VybmVsL01ha2VmaWxlCmluZGV4IDc3ODA3ZDQuLjUxMTJjODQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9rZXJuZWwvTWFrZWZpbGUKQEAgLTIsMTAgKzIsMTcgQEAKICMgTWFrZWZpbGUgZm9yIHRoZSBsaW51eCBrZXJuZWwuCiAjCiAKLWV4dHJhLXkgICAgICAgICAgICAgICAgOj0gaGVhZF8kKEJJVFMpLm8gaGVhZCQoQklUUykubyBpbml0X3Rhc2subyB2bWxpbnV4LmxkcworZXh0cmEteSAgICAgICAgICAgICAgICA6PSBoZWFkXyQoQklUUykubyBoZWFkJChCSVRTKS5vIGhlYWQubyBpbml0X3Rhc2subyB2bWxpbnV4LmxkcwogCiBDUFBGTEFHU192bWxpbnV4LmxkcyArPSAtVSQoVVRTX01BQ0hJTkUpCiAKK2lmZGVmIENPTkZJR19GVFJBQ0UKKyMgRG8gbm90IHByb2ZpbGUgZGVidWcgdXRpbGl0aWVzCitDRkxBR1NfUkVNT1ZFX3RzY182NC5vID0gLXBnCitDRkxBR1NfUkVNT1ZFX3RzY18zMi5vID0gLXBnCitDRkxBR1NfUkVNT1ZFX3J0Yy5vID0gLXBnCitlbmRpZgorCiAjCiAjIHZzeXNjYWxscyAod2hpY2ggd29yayBvbiB0aGUgdXNlciBzdGFjaykgc2hvdWxkIGhhdmUKICMgbm8gc3RhY2stcHJvdGVjdG9yIGNoZWNrczoKQEAgLTEzLDIwICsyMCwyMSBAQAogbm9zdGFja3AgOj0gJChjYWxsIGNjLW9wdGlvbiwgLWZuby1zdGFjay1wcm90ZWN0b3IpCiBDRkxBR1NfdnN5c2NhbGxfNjQubwk6PSAkKFBST0ZJTElORykgLWcwICQobm9zdGFja3ApCiBDRkxBR1NfaHBldC5vCQk6PSAkKG5vc3RhY2twKQotQ0ZMQUdTX3RzY182NC5vCQk6PSAkKG5vc3RhY2twKQorQ0ZMQUdTX3RzYy5vCQk6PSAkKG5vc3RhY2twKQogCiBvYmoteQkJCTo9IHByb2Nlc3NfJChCSVRTKS5vIHNpZ25hbF8kKEJJVFMpLm8gZW50cnlfJChCSVRTKS5vCiBvYmoteQkJCSs9IHRyYXBzXyQoQklUUykubyBpcnFfJChCSVRTKS5vCiBvYmoteQkJCSs9IHRpbWVfJChCSVRTKS5vIGlvcG9ydC5vIGxkdC5vCi1vYmoteQkJCSs9IHNldHVwXyQoQklUUykubyBpODI1OV8kKEJJVFMpLm8gc2V0dXAubworb2JqLXkJCQkrPSBzZXR1cC5vIGk4MjU5Lm8gaXJxaW5pdF8kKEJJVFMpLm8gc2V0dXBfcGVyY3B1Lm8KK29iai0kKENPTkZJR19YODZfVklTV1MpCSs9IHZpc3dzX3F1aXJrcy5vCitvYmotJChDT05GSUdfWDg2XzMyKQkrPSBwcm9iZV9yb21zXzMyLm8KIG9iai0kKENPTkZJR19YODZfMzIpCSs9IHN5c19pMzg2XzMyLm8gaTM4Nl9rc3ltc18zMi5vCiBvYmotJChDT05GSUdfWDg2XzY0KQkrPSBzeXNfeDg2XzY0Lm8geDg2NjRfa3N5bXNfNjQubwotb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gc3lzY2FsbF82NC5vIHZzeXNjYWxsXzY0Lm8gc2V0dXA2NC5vCi1vYmoteQkJCSs9IGJvb3RmbGFnLm8gZTgyMF8kKEJJVFMpLm8KK29iai0kKENPTkZJR19YODZfNjQpCSs9IHN5c2NhbGxfNjQubyB2c3lzY2FsbF82NC5vCitvYmoteQkJCSs9IGJvb3RmbGFnLm8gZTgyMC5vCiBvYmoteQkJCSs9IHBjaS1kbWEubyBxdWlya3MubyBpODIzNy5vIHRvcG9sb2d5Lm8ga2RlYnVnZnMubwogb2JqLXkJCQkrPSBhbHRlcm5hdGl2ZS5vIGk4MjUzLm8gcGNpLW5vbW11Lm8KLW9iai0kKENPTkZJR19YODZfNjQpCSs9IGJ1Z3NfNjQubwotb2JqLXkJCQkrPSB0c2NfJChCSVRTKS5vIGlvX2RlbGF5Lm8gcnRjLm8KK29iai15CQkJKz0gdHNjLm8gaW9fZGVsYXkubyBydGMubwogCiBvYmotJChDT05GSUdfWDg2X1RSQU1QT0xJTkUpCSs9IHRyYW1wb2xpbmUubwogb2JqLXkJCQkJKz0gcHJvY2Vzcy5vCkBAIC01Myw5ICs2MSwxMCBAQAogb2JqLSQoQ09ORklHX1g4Nl82NF9TTVApCSs9IHRzY19zeW5jLm8gc21wY29tbW9uLm8KIG9iai0kKENPTkZJR19YODZfVFJBTVBPTElORSkJKz0gdHJhbXBvbGluZV8kKEJJVFMpLm8KIG9iai0kKENPTkZJR19YODZfTVBQQVJTRSkJKz0gbXBwYXJzZS5vCi1vYmotJChDT05GSUdfWDg2X0xPQ0FMX0FQSUMpCSs9IGFwaWNfJChCSVRTKS5vIG5taV8kKEJJVFMpLm8KK29iai0kKENPTkZJR19YODZfTE9DQUxfQVBJQykJKz0gYXBpY18kKEJJVFMpLm8gbm1pLm8KIG9iai0kKENPTkZJR19YODZfSU9fQVBJQykJKz0gaW9fYXBpY18kKEJJVFMpLm8KIG9iai0kKENPTkZJR19YODZfUkVCT09URklYVVBTKQkrPSByZWJvb3RfZml4dXBzXzMyLm8KK29iai0kKENPTkZJR19EWU5BTUlDX0ZUUkFDRSkJKz0gZnRyYWNlLm8KIG9iai0kKENPTkZJR19LRVhFQykJCSs9IG1hY2hpbmVfa2V4ZWNfJChCSVRTKS5vCiBvYmotJChDT05GSUdfS0VYRUMpCQkrPSByZWxvY2F0ZV9rZXJuZWxfJChCSVRTKS5vIGNyYXNoLm8KIG9iai0kKENPTkZJR19DUkFTSF9EVU1QKQkrPSBjcmFzaF9kdW1wXyQoQklUUykubwpAQCAtNjQsNyArNzMsNiBAQAogb2JqLXkJCQkJKz0gdnNtcF82NC5vCiBvYmotJChDT05GSUdfS1BST0JFUykJCSs9IGtwcm9iZXMubwogb2JqLSQoQ09ORklHX01PRFVMRVMpCQkrPSBtb2R1bGVfJChCSVRTKS5vCi1vYmotJChDT05GSUdfQUNQSV9TUkFUKSAJKz0gc3JhdF8zMi5vCiBvYmotJChDT05GSUdfRUZJKSAJCSs9IGVmaS5vIGVmaV8kKEJJVFMpLm8gZWZpX3N0dWJfJChCSVRTKS5vCiBvYmotJChDT05GSUdfRE9VQkxFRkFVTFQpIAkrPSBkb3VibGVmYXVsdF8zMi5vCiBvYmotJChDT05GSUdfS0dEQikJCSs9IGtnZGIubwpAQCAtOTQsMTIgKzEwMiwxMyBAQAogIyMjCiAjIDY0IGJpdCBzcGVjaWZpYyBmaWxlcwogaWZlcSAoJChDT05GSUdfWDg2XzY0KSx5KQotICAgICAgICBvYmoteQkJCQkrPSBnZW5hcGljXzY0Lm8gZ2VuYXBpY19mbGF0XzY0Lm8gZ2VueDJhcGljX3V2X3gubworICAgICAgICBvYmoteQkJCQkrPSBnZW5hcGljXzY0Lm8gZ2VuYXBpY19mbGF0XzY0Lm8gZ2VueDJhcGljX3V2X3gubyB0bGJfdXYubwogICAgICAgICBvYmotJChDT05GSUdfWDg2X1BNX1RJTUVSKQkrPSBwbXRpbWVyXzY0Lm8KICAgICAgICAgb2JqLSQoQ09ORklHX0FVRElUKQkJKz0gYXVkaXRfNjQubwogCiAgICAgICAgIG9iai0kKENPTkZJR19HQVJUX0lPTU1VKQkrPSBwY2ktZ2FydF82NC5vIGFwZXJ0dXJlXzY0Lm8KICAgICAgICAgb2JqLSQoQ09ORklHX0NBTEdBUllfSU9NTVUpCSs9IHBjaS1jYWxnYXJ5XzY0Lm8gdGNlXzY0Lm8KKyAgICAgICAgb2JqLSQoQ09ORklHX0FNRF9JT01NVSkJCSs9IGFtZF9pb21tdV9pbml0Lm8gYW1kX2lvbW11Lm8KICAgICAgICAgb2JqLSQoQ09ORklHX1NXSU9UTEIpCQkrPSBwY2ktc3dpb3RsYl82NC5vCiAKICAgICAgICAgb2JqLSQoQ09ORklHX1BDSV9NTUNPTkZJRykJKz0gbW1jb25mLWZhbTEwaF82NC5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9ib290LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9ib290LmMKaW5kZXggMzNjNTIxNi4uZjQ4OWQ3YSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FjcGkvYm9vdC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hY3BpL2Jvb3QuYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KICNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogI2luY2x1ZGUgPGFzbS9zbXAuaD4KQEAgLTEwNiwyMSArMTA3LDYgQEAKICAqLwogZW51bSBhY3BpX2lycV9tb2RlbF9pZCBhY3BpX2lycV9tb2RlbCA9IEFDUElfSVJRX01PREVMX1BJQzsKIAotI2lmZGVmCUNPTkZJR19YODZfNjQKLQotLyogcmVseSBvbiBhbGwgQUNQSSB0YWJsZXMgYmVpbmcgaW4gdGhlIGRpcmVjdCBtYXBwaW5nICovCi1jaGFyICpfX2luaXQgX19hY3BpX21hcF90YWJsZSh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQotewotCWlmICghcGh5c19hZGRyIHx8ICFzaXplKQotCQlyZXR1cm4gTlVMTDsKLQotCWlmIChwaHlzX2FkZHIrc2l6ZSA8PSAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkgKyBQQUdFX1NJWkUpCi0JCXJldHVybiBfX3ZhKHBoeXNfYWRkcik7Ci0KLQlyZXR1cm4gTlVMTDsKLX0KLQotI2Vsc2UKIAogLyoKICAqIFRlbXBvcmFyaWx5IHVzZSB0aGUgdmlydHVhbCBhcmVhIHN0YXJ0aW5nIGZyb20gRklYX0lPX0FQSUNfQkFTRV9FTkQsCkBAIC0xMzksMTEgKzEyNSwxNSBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZSwgb2Zmc2V0LCBtYXBwZWRfc2l6ZTsKIAlpbnQgaWR4OwogCi0JaWYgKHBoeXMgKyBzaXplIDwgOCAqIDEwMjQgKiAxMDI0KQorCWlmICghcGh5cyB8fCAhc2l6ZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAocGh5cytzaXplIDw9IChtYXhfbG93X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCiAJCXJldHVybiBfX3ZhKHBoeXMpOwogCiAJb2Zmc2V0ID0gcGh5cyAmIChQQUdFX1NJWkUgLSAxKTsKIAltYXBwZWRfc2l6ZSA9IFBBR0VfU0laRSAtIG9mZnNldDsKKwljbGVhcl9maXhtYXAoRklYX0FDUElfRU5EKTsKIAlzZXRfZml4bWFwKEZJWF9BQ1BJX0VORCwgcGh5cyk7CiAJYmFzZSA9IGZpeF90b192aXJ0KEZJWF9BQ1BJX0VORCk7CiAKQEAgLTE1NSwxMyArMTQ1LDEzIEBACiAJCWlmICgtLWlkeCA8IEZJWF9BQ1BJX0JFR0lOKQogCQkJcmV0dXJuIE5VTEw7CS8qIGNhbm5vdCBoYW5kbGUgdGhpcyAqLwogCQlwaHlzICs9IFBBR0VfU0laRTsKKwkJY2xlYXJfZml4bWFwKGlkeCk7CiAJCXNldF9maXhtYXAoaWR4LCBwaHlzKTsKIAkJbWFwcGVkX3NpemUgKz0gUEFHRV9TSVpFOwogCX0KIAogCXJldHVybiAoKHVuc2lnbmVkIGNoYXIgKiliYXNlICsgb2Zmc2V0KTsKIH0KLSNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1BDSV9NTUNPTkZJRwogLyogVGhlIHBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIE1NQ09ORklHIGFwZXJ0dXJlLiAgU2V0IGZyb20gQUNQSSB0YWJsZXMuICovCkBAIC0zMzgsOCArMzI4LDYgQEAKIAogI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCi1zdHJ1Y3QgbXBfaW9hcGljX3JvdXRpbmcgbXBfaW9hcGljX3JvdXRpbmdbTUFYX0lPX0FQSUNTXTsKLQogc3RhdGljIGludCBfX2luaXQKIGFjcGlfcGFyc2VfaW9hcGljKHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqIGhlYWRlciwgY29uc3QgdW5zaWduZWQgbG9uZyBlbmQpCiB7CkBAIC01MTQsOCArNTAyLDYgQEAKIAkgKiBNYWtlIHN1cmUgYWxsIChsZWdhY3kpIFBDSSBJUlFzIGFyZSBzZXQgYXMgbGV2ZWwtdHJpZ2dlcmVkLgogCSAqLwogCWlmIChhY3BpX2lycV9tb2RlbCA9PSBBQ1BJX0lSUV9NT0RFTF9QSUMpIHsKLQkJZXh0ZXJuIHZvaWQgZWlzYV9zZXRfbGV2ZWxfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotCiAJCWlmICh0cmlnZ2VyaW5nID09IEFDUElfTEVWRUxfU0VOU0lUSVZFKQogCQkJZWlzYV9zZXRfbGV2ZWxfaXJxKGdzaSk7CiAJfQpAQCAtODYwLDYgKzg0NiwzNjQgQEAKICNlbmRpZgkJCQkvKiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMgKi8KIAogI2lmZGVmCUNPTkZJR19YODZfSU9fQVBJQworI2RlZmluZSBNUF9JU0FfQlVTCQkwCisKKyNpZmRlZiBDT05GSUdfWDg2X0VTNzAwMAorZXh0ZXJuIGludCBlczcwMDBfcGxhdDsKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IHsKKwlpbnQgYXBpY19pZDsKKwlpbnQgZ3NpX2Jhc2U7CisJaW50IGdzaV9lbmQ7CisJREVDTEFSRV9CSVRNQVAocGluX3Byb2dyYW1tZWQsIE1QX01BWF9JT0FQSUNfUElOICsgMSk7Cit9IG1wX2lvYXBpY19yb3V0aW5nW01BWF9JT19BUElDU107CisKK3N0YXRpYyBpbnQgbXBfZmluZF9pb2FwaWMoaW50IGdzaSkKK3sKKwlpbnQgaSA9IDA7CisKKwkvKiBGaW5kIHRoZSBJT0FQSUMgdGhhdCBtYW5hZ2VzIHRoaXMgR1NJLiAqLworCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKKwkJaWYgKChnc2kgPj0gbXBfaW9hcGljX3JvdXRpbmdbaV0uZ3NpX2Jhc2UpCisJCSAgICAmJiAoZ3NpIDw9IG1wX2lvYXBpY19yb3V0aW5nW2ldLmdzaV9lbmQpKQorCQkJcmV0dXJuIGk7CisJfQorCisJcHJpbnRrKEtFUk5fRVJSICJFUlJPUjogVW5hYmxlIHRvIGxvY2F0ZSBJT0FQSUMgZm9yIEdTSSAlZFxuIiwgZ3NpKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB1OCBfX2luaXQgdW5pcV9pb2FwaWNfaWQodTggaWQpCit7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmICgoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfSU5URUwpICYmCisJICAgICFBUElDX1hBUElDKGFwaWNfdmVyc2lvbltib290X2NwdV9waHlzaWNhbF9hcGljaWRdKSkKKwkJcmV0dXJuIGlvX2FwaWNfZ2V0X3VuaXF1ZV9pZChucl9pb2FwaWNzLCBpZCk7CisJZWxzZQorCQlyZXR1cm4gaWQ7CisjZWxzZQorCWludCBpOworCURFQ0xBUkVfQklUTUFQKHVzZWQsIDI1Nik7CisJYml0bWFwX3plcm8odXNlZCwgMjU2KTsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7CisJCXN0cnVjdCBtcF9jb25maWdfaW9hcGljICppYSA9ICZtcF9pb2FwaWNzW2ldOworCQlfX3NldF9iaXQoaWEtPm1wX2FwaWNpZCwgdXNlZCk7CisJfQorCWlmICghdGVzdF9iaXQoaWQsIHVzZWQpKQorCQlyZXR1cm4gaWQ7CisJcmV0dXJuIGZpbmRfZmlyc3RfemVyb19iaXQodXNlZCwgMjU2KTsKKyNlbmRpZgorfQorCitzdGF0aWMgaW50IGJhZF9pb2FwaWModW5zaWduZWQgbG9uZyBhZGRyZXNzKQoreworCWlmIChucl9pb2FwaWNzID49IE1BWF9JT19BUElDUykgeworCQlwcmludGsoS0VSTl9FUlIgIkVSUk9SOiBNYXggIyBvZiBJL08gQVBJQ3MgKCVkKSBleGNlZWRlZCAiCisJCSAgICAgICAiKGZvdW5kICVkKVxuIiwgTUFYX0lPX0FQSUNTLCBucl9pb2FwaWNzKTsKKwkJcGFuaWMoIlJlY29tcGlsZSBrZXJuZWwgd2l0aCBiaWdnZXIgTUFYX0lPX0FQSUNTIVxuIik7CisJfQorCWlmICghYWRkcmVzcykgeworCQlwcmludGsoS0VSTl9FUlIgIldBUk5JTkc6IEJvZ3VzICh6ZXJvKSBJL08gQVBJQyBhZGRyZXNzIgorCQkgICAgICAgIiBmb3VuZCBpbiB0YWJsZSwgc2tpcHBpbmchXG4iKTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCit2b2lkIF9faW5pdCBtcF9yZWdpc3Rlcl9pb2FwaWMoaW50IGlkLCB1MzIgYWRkcmVzcywgdTMyIGdzaV9iYXNlKQoreworCWludCBpZHggPSAwOworCisJaWYgKGJhZF9pb2FwaWMoYWRkcmVzcykpCisJCXJldHVybjsKKworCWlkeCA9IG5yX2lvYXBpY3M7CisKKwltcF9pb2FwaWNzW2lkeF0ubXBfdHlwZSA9IE1QX0lPQVBJQzsKKwltcF9pb2FwaWNzW2lkeF0ubXBfZmxhZ3MgPSBNUENfQVBJQ19VU0FCTEU7CisJbXBfaW9hcGljc1tpZHhdLm1wX2FwaWNhZGRyID0gYWRkcmVzczsKKworCXNldF9maXhtYXBfbm9jYWNoZShGSVhfSU9fQVBJQ19CQVNFXzAgKyBpZHgsIGFkZHJlc3MpOworCW1wX2lvYXBpY3NbaWR4XS5tcF9hcGljaWQgPSB1bmlxX2lvYXBpY19pZChpZCk7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCW1wX2lvYXBpY3NbaWR4XS5tcF9hcGljdmVyID0gaW9fYXBpY19nZXRfdmVyc2lvbihpZHgpOworI2Vsc2UKKwltcF9pb2FwaWNzW2lkeF0ubXBfYXBpY3ZlciA9IDA7CisjZW5kaWYKKwkvKgorCSAqIEJ1aWxkIGJhc2ljIEdTSSBsb29rdXAgdGFibGUgdG8gZmFjaWxpdGF0ZSBnc2ktPmlvX2FwaWMgbG9va3VwcworCSAqIGFuZCB0byBwcmV2ZW50IHJlcHJvZ3JhbW1pbmcgb2YgSU9BUElDIHBpbnMgKFBDSSBHU0lzKS4KKwkgKi8KKwltcF9pb2FwaWNfcm91dGluZ1tpZHhdLmFwaWNfaWQgPSBtcF9pb2FwaWNzW2lkeF0ubXBfYXBpY2lkOworCW1wX2lvYXBpY19yb3V0aW5nW2lkeF0uZ3NpX2Jhc2UgPSBnc2lfYmFzZTsKKwltcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9lbmQgPSBnc2lfYmFzZSArCisJICAgIGlvX2FwaWNfZ2V0X3JlZGlyX2VudHJpZXMoaWR4KTsKKworCXByaW50ayhLRVJOX0lORk8gIklPQVBJQ1slZF06IGFwaWNfaWQgJWQsIHZlcnNpb24gJWQsIGFkZHJlc3MgMHglbHgsICIKKwkgICAgICAgIkdTSSAlZC0lZFxuIiwgaWR4LCBtcF9pb2FwaWNzW2lkeF0ubXBfYXBpY2lkLAorCSAgICAgICBtcF9pb2FwaWNzW2lkeF0ubXBfYXBpY3ZlciwgbXBfaW9hcGljc1tpZHhdLm1wX2FwaWNhZGRyLAorCSAgICAgICBtcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9iYXNlLCBtcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9lbmQpOworCisJbnJfaW9hcGljcysrOworfQorCitzdGF0aWMgdm9pZCBhc3NpZ25fdG9fbXBfaXJxKHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptLAorCQkJCSAgICBzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbXBfaXJxKQoreworCW1lbWNweShtcF9pcnEsIG0sIHNpemVvZihzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYykpOworfQorCitzdGF0aWMgaW50IG1wX2lycV9jbXAoc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm1wX2lycSwKKwkJCQlzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbSkKK3sKKwlyZXR1cm4gbWVtY21wKG1wX2lycSwgbSwgc2l6ZW9mKHN0cnVjdCBtcF9jb25maWdfaW50c3JjKSk7Cit9CisKK3N0YXRpYyB2b2lkIHNhdmVfbXBfaXJxKHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKKwkJaWYgKCFtcF9pcnFfY21wKCZtcF9pcnFzW2ldLCBtKSkKKwkJCXJldHVybjsKKwl9CisKKwlhc3NpZ25fdG9fbXBfaXJxKG0sICZtcF9pcnFzW21wX2lycV9lbnRyaWVzXSk7CisJaWYgKCsrbXBfaXJxX2VudHJpZXMgPT0gTUFYX0lSUV9TT1VSQ0VTKQorCQlwYW5pYygiTWF4ICMgb2YgaXJxIHNvdXJjZXMgZXhjZWVkZWQhIVxuIik7Cit9CisKK3ZvaWQgX19pbml0IG1wX292ZXJyaWRlX2xlZ2FjeV9pcnEodTggYnVzX2lycSwgdTggcG9sYXJpdHksIHU4IHRyaWdnZXIsIHUzMiBnc2kpCit7CisJaW50IGlvYXBpYzsKKwlpbnQgcGluOworCXN0cnVjdCBtcF9jb25maWdfaW50c3JjIG1wX2lycTsKKworCS8qCisJICogQ29udmVydCAnZ3NpJyB0byAnaW9hcGljLnBpbicuCisJICovCisJaW9hcGljID0gbXBfZmluZF9pb2FwaWMoZ3NpKTsKKwlpZiAoaW9hcGljIDwgMCkKKwkJcmV0dXJuOworCXBpbiA9IGdzaSAtIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uZ3NpX2Jhc2U7CisKKwkvKgorCSAqIFRCRDogVGhpcyBjaGVjayBpcyBmb3IgZmF1bHR5IHRpbWVyIGVudHJpZXMsIHdoZXJlIHRoZSBvdmVycmlkZQorCSAqICAgICAgZXJyb25lb3VzbHkgc2V0cyB0aGUgdHJpZ2dlciB0byBsZXZlbCwgcmVzdWx0aW5nIGluIGEgSFVHRQorCSAqICAgICAgaW5jcmVhc2Ugb2YgdGltZXIgaW50ZXJydXB0cyEKKwkgKi8KKwlpZiAoKGJ1c19pcnEgPT0gMCkgJiYgKHRyaWdnZXIgPT0gMykpCisJCXRyaWdnZXIgPSAxOworCisJbXBfaXJxLm1wX3R5cGUgPSBNUF9JTlRTUkM7CisJbXBfaXJxLm1wX2lycXR5cGUgPSBtcF9JTlQ7CisJbXBfaXJxLm1wX2lycWZsYWcgPSAodHJpZ2dlciA8PCAyKSB8IHBvbGFyaXR5OworCW1wX2lycS5tcF9zcmNidXMgPSBNUF9JU0FfQlVTOworCW1wX2lycS5tcF9zcmNidXNpcnEgPSBidXNfaXJxOwkvKiBJUlEgKi8KKwltcF9pcnEubXBfZHN0YXBpYyA9IG1wX2lvYXBpY3NbaW9hcGljXS5tcF9hcGljaWQ7IC8qIEFQSUMgSUQgKi8KKwltcF9pcnEubXBfZHN0aXJxID0gcGluOwkvKiBJTlRJTiMgKi8KKworCXNhdmVfbXBfaXJxKCZtcF9pcnEpOworfQorCit2b2lkIF9faW5pdCBtcF9jb25maWdfYWNwaV9sZWdhY3lfaXJxcyh2b2lkKQoreworCWludCBpOworCWludCBpb2FwaWM7CisJdW5zaWduZWQgaW50IGRzdGFwaWM7CisJc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxOworCisjaWYgZGVmaW5lZCAoQ09ORklHX01DQSkgfHwgZGVmaW5lZCAoQ09ORklHX0VJU0EpCisJLyoKKwkgKiBGYWJyaWNhdGUgdGhlIGxlZ2FjeSBJU0EgYnVzIChidXMgIzMxKS4KKwkgKi8KKwltcF9idXNfaWRfdG9fdHlwZVtNUF9JU0FfQlVTXSA9IE1QX0JVU19JU0E7CisjZW5kaWYKKwlzZXRfYml0KE1QX0lTQV9CVVMsIG1wX2J1c19ub3RfcGNpKTsKKwlEcHJpbnRrKCJCdXMgIyVkIGlzIElTQVxuIiwgTVBfSVNBX0JVUyk7CisKKyNpZmRlZiBDT05GSUdfWDg2X0VTNzAwMAorCS8qCisJICogT2xkZXIgZ2VuZXJhdGlvbnMgb2YgRVM3MDAwIGhhdmUgbm8gbGVnYWN5IGlkZW50aXR5IG1hcHBpbmdzCisJICovCisJaWYgKGVzNzAwMF9wbGF0ID09IDEpCisJCXJldHVybjsKKyNlbmRpZgorCisJLyoKKwkgKiBMb2NhdGUgdGhlIElPQVBJQyB0aGF0IG1hbmFnZXMgdGhlIElTQSBJUlFzICgwLTE1KS4KKwkgKi8KKwlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYygwKTsKKwlpZiAoaW9hcGljIDwgMCkKKwkJcmV0dXJuOworCWRzdGFwaWMgPSBtcF9pb2FwaWNzW2lvYXBpY10ubXBfYXBpY2lkOworCisJLyoKKwkgKiBVc2UgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgdGhlIElSUXMgMC0xNS4gIFVubGVzcworCSAqIG92ZXJyaWRkZW4gYnkgKE1BRFQpIGludGVycnVwdCBzb3VyY2Ugb3ZlcnJpZGUgZW50cmllcy4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykgeworCQlpbnQgaWR4OworCisJCWZvciAoaWR4ID0gMDsgaWR4IDwgbXBfaXJxX2VudHJpZXM7IGlkeCsrKSB7CisJCQlzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqaXJxID0gbXBfaXJxcyArIGlkeDsKKworCQkJLyogRG8gd2UgYWxyZWFkeSBoYXZlIGEgbWFwcGluZyBmb3IgdGhpcyBJU0EgSVJRPyAqLworCQkJaWYgKGlycS0+bXBfc3JjYnVzID09IE1QX0lTQV9CVVMKKwkJCSAgICAmJiBpcnEtPm1wX3NyY2J1c2lycSA9PSBpKQorCQkJCWJyZWFrOworCisJCQkvKiBEbyB3ZSBhbHJlYWR5IGhhdmUgYSBtYXBwaW5nIGZvciB0aGlzIElPQVBJQyBwaW4gKi8KKwkJCWlmIChpcnEtPm1wX2RzdGFwaWMgPT0gZHN0YXBpYyAmJgorCQkJICAgIGlycS0+bXBfZHN0aXJxID09IGkpCisJCQkJYnJlYWs7CisJCX0KKworCQlpZiAoaWR4ICE9IG1wX2lycV9lbnRyaWVzKSB7CisJCQlwcmludGsoS0VSTl9ERUJVRyAiQUNQSTogSVJRJWQgdXNlZCBieSBvdmVycmlkZS5cbiIsIGkpOworCQkJY29udGludWU7CS8qIElSUSBhbHJlYWR5IHVzZWQgKi8KKwkJfQorCisJCW1wX2lycS5tcF90eXBlID0gTVBfSU5UU1JDOworCQltcF9pcnEubXBfaXJxZmxhZyA9IDA7CS8qIENvbmZvcm1pbmcgKi8KKwkJbXBfaXJxLm1wX3NyY2J1cyA9IE1QX0lTQV9CVVM7CisJCW1wX2lycS5tcF9kc3RhcGljID0gZHN0YXBpYzsKKwkJbXBfaXJxLm1wX2lycXR5cGUgPSBtcF9JTlQ7CisJCW1wX2lycS5tcF9zcmNidXNpcnEgPSBpOyAvKiBJZGVudGl0eSBtYXBwZWQgKi8KKwkJbXBfaXJxLm1wX2RzdGlycSA9IGk7CisKKwkJc2F2ZV9tcF9pcnEoJm1wX2lycSk7CisJfQorfQorCitpbnQgbXBfcmVnaXN0ZXJfZ3NpKHUzMiBnc2ksIGludCB0cmlnZ2VyaW5nLCBpbnQgcG9sYXJpdHkpCit7CisJaW50IGlvYXBpYzsKKwlpbnQgaW9hcGljX3BpbjsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjZGVmaW5lIE1BWF9HU0lfTlVNCTQwOTYKKyNkZWZpbmUgSVJRX0NPTVBSRVNTSU9OX1NUQVJUCTY0CisKKwlzdGF0aWMgaW50IHBjaV9pcnEgPSBJUlFfQ09NUFJFU1NJT05fU1RBUlQ7CisJLyoKKwkgKiBNYXBwaW5nIGJldHdlZW4gR2xvYmFsIFN5c3RlbSBJbnRlcnJ1cHRzLCB3aGljaAorCSAqIHJlcHJlc2VudCBhbGwgcG9zc2libGUgaW50ZXJydXB0cywgYW5kIElSUXMKKwkgKiBhc3NpZ25lZCB0byBhY3R1YWwgZGV2aWNlcy4KKwkgKi8KKwlzdGF0aWMgaW50IGdzaV90b19pcnFbTUFYX0dTSV9OVU1dOworI2Vsc2UKKworCWlmIChhY3BpX2lycV9tb2RlbCAhPSBBQ1BJX0lSUV9NT0RFTF9JT0FQSUMpCisJCXJldHVybiBnc2k7CisjZW5kaWYKKworCS8qIERvbid0IHNldCB1cCB0aGUgQUNQSSBTQ0kgYmVjYXVzZSBpdCdzIGFscmVhZHkgc2V0IHVwICovCisJaWYgKGFjcGlfZ2JsX0ZBRFQuc2NpX2ludGVycnVwdCA9PSBnc2kpCisJCXJldHVybiBnc2k7CisKKwlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYyhnc2kpOworCWlmIChpb2FwaWMgPCAwKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk5vIElPQVBJQyBmb3IgR1NJICV1XG4iLCBnc2kpOworCQlyZXR1cm4gZ3NpOworCX0KKworCWlvYXBpY19waW4gPSBnc2kgLSBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmdzaV9iYXNlOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmIChpb2FwaWNfcmVudW1iZXJfaXJxKQorCQlnc2kgPSBpb2FwaWNfcmVudW1iZXJfaXJxKGlvYXBpYywgZ3NpKTsKKyNlbmRpZgorCisJLyoKKwkgKiBBdm9pZCBwaW4gcmVwcm9ncmFtbWluZy4gIFBSVHMgdHlwaWNhbGx5IGluY2x1ZGUgZW50cmllcworCSAqIHdpdGggcmVkdW5kYW50IHBpbi0+Z3NpIG1hcHBpbmdzIChidXQgdW5pcXVlIFBDSSBkZXZpY2VzKTsKKwkgKiB3ZSBvbmx5IHByb2dyYW0gdGhlIElPQVBJQyBvbiB0aGUgZmlyc3QuCisJICovCisJaWYgKGlvYXBpY19waW4gPiBNUF9NQVhfSU9BUElDX1BJTikgeworCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgcmVmZXJlbmNlIHRvIElPQVBJQyBwaW4gIgorCQkgICAgICAgIiVkLSVkXG4iLCBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmFwaWNfaWQsCisJCSAgICAgICBpb2FwaWNfcGluKTsKKwkJcmV0dXJuIGdzaTsKKwl9CisJaWYgKHRlc3RfYml0KGlvYXBpY19waW4sIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10ucGluX3Byb2dyYW1tZWQpKSB7CisJCURwcmludGsoS0VSTl9ERUJVRyAiUGluICVkLSVkIGFscmVhZHkgcHJvZ3JhbW1lZFxuIiwKKwkJCW1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uYXBpY19pZCwgaW9hcGljX3Bpbik7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCQlyZXR1cm4gKGdzaSA8IElSUV9DT01QUkVTU0lPTl9TVEFSVCA/IGdzaSA6IGdzaV90b19pcnFbZ3NpXSk7CisjZWxzZQorCQlyZXR1cm4gZ3NpOworI2VuZGlmCisJfQorCisJc2V0X2JpdChpb2FwaWNfcGluLCBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLnBpbl9wcm9ncmFtbWVkKTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJLyoKKwkgKiBGb3IgR1NJID49IDY0LCB1c2UgSVJRIGNvbXByZXNzaW9uCisJICovCisJaWYgKChnc2kgPj0gSVJRX0NPTVBSRVNTSU9OX1NUQVJUKQorCSAgICAmJiAodHJpZ2dlcmluZyA9PSBBQ1BJX0xFVkVMX1NFTlNJVElWRSkpIHsKKwkJLyoKKwkJICogRm9yIFBDSSBkZXZpY2VzIGFzc2lnbiBJUlFzIGluIG9yZGVyLCBhdm9pZGluZyBnYXBzCisJCSAqIGR1ZSB0byB1bnVzZWQgSS9PIEFQSUMgcGlucy4KKwkJICovCisJCWludCBpcnEgPSBnc2k7CisJCWlmIChnc2kgPCBNQVhfR1NJX05VTSkgeworCQkJLyoKKwkJCSAqIFJldGFpbiB0aGUgVklBIGNoaXBzZXQgd29yay1hcm91bmQgKGdzaSA+IDE1KSwgYnV0CisJCQkgKiBhdm9pZCBhIHByb2JsZW0gd2hlcmUgdGhlIDgyNTQgdGltZXIgKElSUTApIGlzIHNldHVwCisJCQkgKiB2aWEgYW4gb3ZlcnJpZGUgKHNvIGl0J3Mgbm90IG9uIHBpbiAwIG9mIHRoZSBpb2FwaWMpLAorCQkJICogYW5kIGF0IHRoZSBzYW1lIHRpbWUsIHRoZSBwaW4gMCBpbnRlcnJ1cHQgaXMgYSBQQ0kKKwkJCSAqIHR5cGUuICBUaGUgZ3NpID4gMTUgdGVzdCBjb3VsZCBjYXVzZSB0aGVzZSB0d28gcGlucworCQkJICogdG8gYmUgc2hhcmVkIGFzIElSUTAsIGFuZCB0aGV5IGFyZSBub3Qgc2hhcmVhYmxlLgorCQkJICogU28gdGVzdCBmb3IgdGhpcyBjb25kaXRpb24sIGFuZCBpZiBuZWNlc3NhcnksIGF2b2lkCisJCQkgKiB0aGUgcGluIGNvbGxpc2lvbi4KKwkJCSAqLworCQkJZ3NpID0gcGNpX2lycSsrOworCQkJLyoKKwkJCSAqIERvbid0IGFzc2lnbiBJUlEgdXNlZCBieSBBQ1BJIFNDSQorCQkJICovCisJCQlpZiAoZ3NpID09IGFjcGlfZ2JsX0ZBRFQuc2NpX2ludGVycnVwdCkKKwkJCQlnc2kgPSBwY2lfaXJxKys7CisJCQlnc2lfdG9faXJxW2lycV0gPSBnc2k7CisJCX0gZWxzZSB7CisJCQlwcmludGsoS0VSTl9FUlIgIkdTSSAldSBpcyB0b28gaGlnaFxuIiwgZ3NpKTsKKwkJCXJldHVybiBnc2k7CisJCX0KKwl9CisjZW5kaWYKKwlpb19hcGljX3NldF9wY2lfcm91dGluZyhpb2FwaWMsIGlvYXBpY19waW4sIGdzaSwKKwkJCQl0cmlnZ2VyaW5nID09IEFDUElfRURHRV9TRU5TSVRJVkUgPyAwIDogMSwKKwkJCQlwb2xhcml0eSA9PSBBQ1BJX0FDVElWRV9ISUdIID8gMCA6IDEpOworCXJldHVybiBnc2k7Cit9CisKK2ludCBtcF9jb25maWdfYWNwaV9nc2kodW5zaWduZWQgY2hhciBudW1iZXIsIHVuc2lnbmVkIGludCBkZXZmbiwgdTggcGluLAorCQkJdTMyIGdzaSwgaW50IHRyaWdnZXJpbmcsIGludCBwb2xhcml0eSkKK3sKKyNpZmRlZiBDT05GSUdfWDg2X01QUEFSU0UKKwlzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyBtcF9pcnE7CisJaW50IGlvYXBpYzsKKworCWlmICghYWNwaV9pb2FwaWMpCisJCXJldHVybiAwOworCisJLyogcHJpbnQgdGhlIGVudHJ5IHNob3VsZCBoYXBwZW4gb24gbXB0YWJsZSBpZGVudGljYWxseSAqLworCW1wX2lycS5tcF90eXBlID0gTVBfSU5UU1JDOworCW1wX2lycS5tcF9pcnF0eXBlID0gbXBfSU5UOworCW1wX2lycS5tcF9pcnFmbGFnID0gKHRyaWdnZXJpbmcgPT0gQUNQSV9FREdFX1NFTlNJVElWRSA/IDQgOiAweDBjKSB8CisJCQkJKHBvbGFyaXR5ID09IEFDUElfQUNUSVZFX0hJR0ggPyAxIDogMyk7CisJbXBfaXJxLm1wX3NyY2J1cyA9IG51bWJlcjsKKwltcF9pcnEubXBfc3JjYnVzaXJxID0gKCgoZGV2Zm4gPj4gMykgJiAweDFmKSA8PCAyKSB8ICgocGluIC0gMSkgJiAzKTsKKwlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYyhnc2kpOworCW1wX2lycS5tcF9kc3RhcGljID0gbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5hcGljX2lkOworCW1wX2lycS5tcF9kc3RpcnEgPSBnc2kgLSBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmdzaV9iYXNlOworCisJc2F2ZV9tcF9pcnEoJm1wX2lycSk7CisjZW5kaWYKKwlyZXR1cm4gMDsKK30KKwogLyoKICAqIFBhcnNlIElPQVBJQyByZWxhdGVkIGVudHJpZXMgaW4gTUFEVAogICogcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvcgpAQCAtMTAwOSw4ICsxMzUzLDYgQEAKIAlyZXR1cm47CiB9CiAKLSNpZmRlZiBfX2kzODZfXwotCiBzdGF0aWMgaW50IF9faW5pdCBkaXNhYmxlX2FjcGlfaXJxKGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQogewogCWlmICghYWNwaV9mb3JjZSkgewpAQCAtMTA2MSw2ICsxNDAzLDE2IEBACiB9CiAKIC8qCisgKiBGb3JjZSBpZ25vcmluZyBCSU9TIElSUTAgcGluMiBvdmVycmlkZQorICovCitzdGF0aWMgaW50IF9faW5pdCBkbWlfaWdub3JlX2lycTBfdGltZXJfb3ZlcnJpZGUoY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgKmQpCit7CisJcHJfbm90aWNlKCIlcyBkZXRlY3RlZDogSWdub3JpbmcgQklPUyBJUlEwIHBpbjIgb3ZlcnJpZGVcbiIsIGQtPmlkZW50KTsKKwlhY3BpX3NraXBfdGltZXJfb3ZlcnJpZGUgPSAxOworCXJldHVybiAwOworfQorCisvKgogICogSWYgeW91ciBzeXN0ZW0gaXMgYmxhY2tsaXN0ZWQgaGVyZSwgYnV0IHlvdSBmaW5kIHRoYXQgYWNwaT1mb3JjZQogICogd29ya3MgZm9yIHlvdSwgcGxlYXNlIGNvbnRhY3QgYWNwaS1kZXZlbEBzb3VyY2Vmb3JnZS5uZXQKICAqLwpAQCAtMTIyNywxMSArMTU3OSwzNSBAQAogCQkgICAgIERNSV9NQVRDSChETUlfUFJPRFVDVF9OQU1FLCAiVHJhdmVsTWF0ZSAzNjAiKSwKIAkJICAgICB9LAogCSB9LAorCS8qCisJICogSFAgbGFwdG9wcyB3aGljaCB1c2UgYSBEU0RUIHJlcG9ydGluZyBhcyBIUC9TQjQwMC8xMDAwMCwKKwkgKiB3aGljaCBpbmNsdWRlcyBzb21lIGNvZGUgd2hpY2ggb3ZlcnJpZGVzIGFsbCB0ZW1wZXJhdHVyZQorCSAqIHRyaXAgcG9pbnRzIHRvIDE2QyBpZiB0aGUgSU5USU4yIGlucHV0IG9mIHRoZSBJL08gQVBJQworCSAqIGlzIGVuYWJsZWQuICBUaGlzIGlucHV0IGlzIGluY29ycmVjdGx5IGRlc2lnbmF0ZWQgdGhlCisJICogSVNBIElSUSAwIHZpYSBhbiBpbnRlcnJ1cHQgc291cmNlIG92ZXJyaWRlIGV2ZW4gdGhvdWdoCisJICogaXQgaXMgd2lyZWQgdG8gdGhlIG91dHB1dCBvZiB0aGUgbWFzdGVyIDgyNTlBIGFuZCBJTlRJTjAKKwkgKiBpcyBub3QgY29ubmVjdGVkIGF0IGFsbC4gIEZvcmNlIGlnbm9yaW5nIEJJT1MgSVJRMCBwaW4yCisJICogb3ZlcnJpZGUgaW4gdGhhdCBjYXNlcy4KKwkgKi8KKwl7CisJIC5jYWxsYmFjayA9IGRtaV9pZ25vcmVfaXJxMF90aW1lcl9vdmVycmlkZSwKKwkgLmlkZW50ID0gIkhQIE5YNjEyNSBsYXB0b3AiLAorCSAubWF0Y2hlcyA9IHsKKwkJICAgICBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJIZXdsZXR0LVBhY2thcmQiKSwKKwkJICAgICBETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIkhQIENvbXBhcSBueDYxMjUiKSwKKwkJICAgICB9LAorCSB9LAorCXsKKwkgLmNhbGxiYWNrID0gZG1pX2lnbm9yZV9pcnEwX3RpbWVyX292ZXJyaWRlLAorCSAuaWRlbnQgPSAiSFAgTlg2MzI1IGxhcHRvcCIsCisJIC5tYXRjaGVzID0geworCQkgICAgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIkhld2xldHQtUGFja2FyZCIpLAorCQkgICAgIERNSV9NQVRDSChETUlfUFJPRFVDVF9OQU1FLCAiSFAgQ29tcGFxIG54NjMyNSIpLAorCQkgICAgIH0sCisJIH0sCiAJe30KIH07CiAKLSNlbmRpZgkJCQkvKiBfX2kzODZfXyAqLwotCiAvKgogICogYWNwaV9ib290X3RhYmxlX2luaXQoKSBhbmQgYWNwaV9ib290X2luaXQoKQogICogIGNhbGxlZCBmcm9tIHNldHVwX2FyY2goKSwgYWx3YXlzLgpAQCAtMTI1OSw5ICsxNjM1LDcgQEAKIHsKIAlpbnQgZXJyb3I7CiAKLSNpZmRlZiBfX2kzODZfXwogCWRtaV9jaGVja19zeXN0ZW0oYWNwaV9kbWlfdGFibGUpOwotI2VuZGlmCiAKIAkvKgogCSAqIElmIGFjcGlfZGlzYWJsZWQsIGJhaWwgb3V0CkBAIC0xMzg2LDYgKzE3NjAsMjAgQEAKIH0KIGVhcmx5X3BhcmFtKCJwY2kiLCBwYXJzZV9wY2kpOwogCitpbnQgX19pbml0IGFjcGlfbXBzX2NoZWNrKHZvaWQpCit7CisjaWYgZGVmaW5lZChDT05GSUdfWDg2X0xPQ0FMX0FQSUMpICYmICFkZWZpbmVkKENPTkZJR19YODZfTVBQQVJTRSkKKy8qIG1wdGFibGUgY29kZSBpcyBub3QgYnVpbHQtaW4qLworCWlmIChhY3BpX2Rpc2FibGVkIHx8IGFjcGlfbm9pcnEpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiTVBTIHN1cHBvcnQgY29kZSBpcyBub3QgYnVpbHQtaW4uXG4iCisJCSAgICAgICAiVXNpbmcgYWNwaT1vZmYgb3IgYWNwaT1ub2lycSBvciBwY2k9bm9hY3BpICIKKwkJICAgICAgICJtYXkgaGF2ZSBwcm9ibGVtXG4iKTsKKwkJcmV0dXJuIDE7CisJfQorI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKICNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2FjcGlfc2tpcF90aW1lcl9vdmVycmlkZShjaGFyICphcmcpCiB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9zbGVlcC5jIGIvYXJjaC94ODYva2VybmVsL2FjcGkvc2xlZXAuYwppbmRleCAzNmFmMDFmLi43OTNhZDIwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9zbGVlcC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hY3BpL3NsZWVwLmMKQEAgLTIzLDYgKzIzLDE1IEBACiBzdGF0aWMgY2hhciB0ZW1wX3N0YWNrWzEwMjQwXTsKICNlbmRpZgogCisvKiBYWFg6IHRoaXMgbWFjcm8gc2hvdWxkIG1vdmUgdG8gYXNtLXg4Ni9zZWdtZW50LmggYW5kIGJlIHNoYXJlZCB3aXRoIHRoZQorICAgYm9vdCBjb2RlLi4uICovCisjZGVmaW5lIEdEVF9FTlRSWShmbGFncywgYmFzZSwgbGltaXQpCQlcCisJKCgodTY0KShiYXNlICYgMHhmZjAwMDAwMCkgPDwgMzIpIHwJXAorCSAoKHU2NClmbGFncyA8PCA0MCkgfAkJCVwKKwkgKCh1NjQpKGxpbWl0ICYgMHgwMGZmMDAwMCkgPDwgMzIpIHwJXAorCSAoKHU2NCkoYmFzZSAmIDB4MDBmZmZmZmYpIDw8IDE2KSB8CVwKKwkgKCh1NjQpKGxpbWl0ICYgMHgwMDAwZmZmZikpKQorCiAvKioKICAqIGFjcGlfc2F2ZV9zdGF0ZV9tZW0gLSBzYXZlIGtlcm5lbCBzdGF0ZQogICoKQEAgLTUxLDE4ICs2MCwyNyBAQAogCWhlYWRlci0+dmlkZW9fbW9kZSA9IHNhdmVkX3ZpZGVvX21vZGU7CiAKIAloZWFkZXItPndha2V1cF9qbXBfc2VnID0gYWNwaV93YWtldXBfYWRkcmVzcyA+PiA0OworCisJLyoKKwkgKiBTZXQgdXAgdGhlIHdha2V1cCBHRFQuICBXZSBzZXQgdGhlc2UgdXAgYXMgQmlnIFJlYWwgTW9kZSwKKwkgKiB0aGF0IGlzLCB3aXRoIGxpbWl0cyBzZXQgdG8gNCBHQi4gIEF0IGxlYXN0IHRoZSBMZW5vdm8KKwkgKiBUaGlua3BhZCBYNjEgaXMga25vd24gdG8gbmVlZCB0aGlzIGZvciB0aGUgdmlkZW8gQklPUworCSAqIGluaXRpYWxpemF0aW9uIHF1aXJrIHRvIHdvcms7IHRoaXMgaXMgbGlrZWx5IHRvIGFsc28KKwkgKiBiZSB0aGUgY2FzZSBmb3Igb3RoZXIgbGFwdG9wcyBvciBpbnRlZ3JhdGVkIHZpZGVvIGRldmljZXMuCisJICovCisKIAkvKiBHRFRbMF06IEdEVCBzZWxmLXBvaW50ZXIgKi8KIAloZWFkZXItPndha2V1cF9nZHRbMF0gPQogCQkodTY0KShzaXplb2YoaGVhZGVyLT53YWtldXBfZ2R0KSAtIDEpICsKIAkJKCh1NjQpKGFjcGlfd2FrZXVwX2FkZHJlc3MgKwogCQkJKChjaGFyICopJmhlYWRlci0+d2FrZXVwX2dkdCAtIChjaGFyICopYWNwaV9yZWFsbW9kZSkpCiAJCQkJPDwgMTYpOwotCS8qIEdEVFsxXTogcmVhbC1tb2RlLWxpa2UgY29kZSBzZWdtZW50ICovCi0JaGVhZGVyLT53YWtldXBfZ2R0WzFdID0gKDB4MDA5YlVMTCA8PCA0MCkgKwotCQkoKHU2NClhY3BpX3dha2V1cF9hZGRyZXNzIDw8IDE2KSArIDB4ZmZmZjsKLQkvKiBHRFRbMl06IHJlYWwtbW9kZS1saWtlIGRhdGEgc2VnbWVudCAqLwotCWhlYWRlci0+d2FrZXVwX2dkdFsyXSA9ICgweDAwOTNVTEwgPDwgNDApICsKLQkJKCh1NjQpYWNwaV93YWtldXBfYWRkcmVzcyA8PCAxNikgKyAweGZmZmY7CisJLyogR0RUWzFdOiBiaWcgcmVhbCBtb2RlLWxpa2UgY29kZSBzZWdtZW50ICovCisJaGVhZGVyLT53YWtldXBfZ2R0WzFdID0KKwkJR0RUX0VOVFJZKDB4ODA5YiwgYWNwaV93YWtldXBfYWRkcmVzcywgMHhmZmZmZik7CisJLyogR0RUWzJdOiBiaWcgcmVhbCBtb2RlLWxpa2UgZGF0YSBzZWdtZW50ICovCisJaGVhZGVyLT53YWtldXBfZ2R0WzJdID0KKwkJR0RUX0VOVFJZKDB4ODA5MywgYWNwaV93YWtldXBfYWRkcmVzcywgMHhmZmZmZik7CiAKICNpZm5kZWYgQ09ORklHXzY0QklUCiAJc3RvcmVfZ2R0KChzdHJ1Y3QgZGVzY19wdHIgKikmaGVhZGVyLT5wbW9kZV9nZHQpOwpAQCAtODYsNyArMTA0LDkgQEAKIAlzYXZlZF9tYWdpYyA9IDB4MTIzNDU2Nzg7CiAjZWxzZSAvKiBDT05GSUdfNjRCSVQgKi8KIAloZWFkZXItPnRyYW1wb2xpbmVfc2VnbWVudCA9IHNldHVwX3RyYW1wb2xpbmUoKSA+PiA0OwotCWluaXRfcnNwID0gKHVuc2lnbmVkIGxvbmcpdGVtcF9zdGFjayArIDQwOTY7CisjaWZkZWYgQ09ORklHX1NNUAorCXN0YWNrX3N0YXJ0LnNwID0gdGVtcF9zdGFjayArIDQwOTY7CisjZW5kaWYKIAlpbml0aWFsX2NvZGUgPSAodW5zaWduZWQgbG9uZyl3YWtldXBfbG9uZzY0OwogCXNhdmVkX21hZ2ljID0gMHgxMjM0NTY3ODlhYmNkZWYwOwogI2VuZGlmIC8qIENPTkZJR182NEJJVCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FsdGVybmF0aXZlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvYWx0ZXJuYXRpdmUuYwppbmRleCA2NWM3ODU3Li4yNzYzY2IzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYWx0ZXJuYXRpdmUuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYWx0ZXJuYXRpdmUuYwpAQCAtMSw2ICsxLDYgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CkBAIC0xNDMsNyArMTQzLDcgQEAKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAKIGV4dGVybiBjaGFyIF9fdnN5c2NhbGxfMDsKLXN0YXRpYyBpbmxpbmUgY29uc3QgdW5zaWduZWQgY2hhcipjb25zdCAqIGZpbmRfbm9wX3RhYmxlKHZvaWQpCitjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCAqZmluZF9ub3BfdGFibGUodm9pZCkKIHsKIAlyZXR1cm4gYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfSU5URUwgfHwKIAkgICAgICAgYm9vdF9jcHVfZGF0YS54ODYgPCA2ID8gazhfbm9wcyA6IHA2X25vcHM7CkBAIC0xNjIsNyArMTYyLDcgQEAKIAl7IC0xLCBOVUxMIH0KIH07CiAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyKmNvbnN0ICogZmluZF9ub3BfdGFibGUodm9pZCkKK2NvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0ICpmaW5kX25vcF90YWJsZSh2b2lkKQogewogCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0ICpub3B0YWJsZSA9IGludGVsX25vcHM7CiAJaW50IGk7CkBAIC0yNzksNyArMjc5LDcgQEAKIAlzdHJ1Y3QgbGlzdF9oZWFkIG5leHQ7CiB9Owogc3RhdGljIExJU1RfSEVBRChzbXBfYWx0X21vZHVsZXMpOwotc3RhdGljIERFRklORV9TUElOTE9DSyhzbXBfYWx0KTsKK3N0YXRpYyBERUZJTkVfTVVURVgoc21wX2FsdCk7CiBzdGF0aWMgaW50IHNtcF9tb2RlID0gMTsJLyogcHJvdGVjdGVkIGJ5IHNtcF9hbHQgKi8KIAogdm9pZCBhbHRlcm5hdGl2ZXNfc21wX21vZHVsZV9hZGQoc3RydWN0IG1vZHVsZSAqbW9kLCBjaGFyICpuYW1lLApAQCAtMzEyLDEyICszMTIsMTIgQEAKIAkJX19mdW5jX18sIHNtcC0+bG9ja3MsIHNtcC0+bG9ja3NfZW5kLAogCQlzbXAtPnRleHQsIHNtcC0+dGV4dF9lbmQsIHNtcC0+bmFtZSk7CiAKLQlzcGluX2xvY2soJnNtcF9hbHQpOworCW11dGV4X2xvY2soJnNtcF9hbHQpOwogCWxpc3RfYWRkX3RhaWwoJnNtcC0+bmV4dCwgJnNtcF9hbHRfbW9kdWxlcyk7CiAJaWYgKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9VUCkpCiAJCWFsdGVybmF0aXZlc19zbXBfdW5sb2NrKHNtcC0+bG9ja3MsIHNtcC0+bG9ja3NfZW5kLAogCQkJCQlzbXAtPnRleHQsIHNtcC0+dGV4dF9lbmQpOwotCXNwaW5fdW5sb2NrKCZzbXBfYWx0KTsKKwltdXRleF91bmxvY2soJnNtcF9hbHQpOwogfQogCiB2b2lkIGFsdGVybmF0aXZlc19zbXBfbW9kdWxlX2RlbChzdHJ1Y3QgbW9kdWxlICptb2QpCkBAIC0zMjcsMTcgKzMyNywxNyBAQAogCWlmIChzbXBfYWx0X29uY2UgfHwgbm9yZXBsYWNlX3NtcCkKIAkJcmV0dXJuOwogCi0Jc3Bpbl9sb2NrKCZzbXBfYWx0KTsKKwltdXRleF9sb2NrKCZzbXBfYWx0KTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGl0ZW0sICZzbXBfYWx0X21vZHVsZXMsIG5leHQpIHsKIAkJaWYgKG1vZCAhPSBpdGVtLT5tb2QpCiAJCQljb250aW51ZTsKIAkJbGlzdF9kZWwoJml0ZW0tPm5leHQpOwotCQlzcGluX3VubG9jaygmc21wX2FsdCk7CisJCW11dGV4X3VubG9jaygmc21wX2FsdCk7CiAJCURQUklOVEsoIiVzOiAlc1xuIiwgX19mdW5jX18sIGl0ZW0tPm5hbWUpOwogCQlrZnJlZShpdGVtKTsKIAkJcmV0dXJuOwogCX0KLQlzcGluX3VubG9jaygmc21wX2FsdCk7CisJbXV0ZXhfdW5sb2NrKCZzbXBfYWx0KTsKIH0KIAogdm9pZCBhbHRlcm5hdGl2ZXNfc21wX3N3aXRjaChpbnQgc21wKQpAQCAtMzU5LDcgKzM1OSw3IEBACiAJCXJldHVybjsKIAlCVUdfT04oIXNtcCAmJiAobnVtX29ubGluZV9jcHVzKCkgPiAxKSk7CiAKLQlzcGluX2xvY2soJnNtcF9hbHQpOworCW11dGV4X2xvY2soJnNtcF9hbHQpOwogCiAJLyoKIAkgKiBBdm9pZCB1bm5lY2Vzc2FyeSBzd2l0Y2hlcyBiZWNhdXNlIGl0IGZvcmNlcyBKSVQgYmFzZWQgVk1zIHRvCkBAIC0zODMsNyArMzgzLDcgQEAKIAkJCQkJCW1vZC0+dGV4dCwgbW9kLT50ZXh0X2VuZCk7CiAJfQogCXNtcF9tb2RlID0gc21wOwotCXNwaW5fdW5sb2NrKCZzbXBfYWx0KTsKKwltdXRleF91bmxvY2soJnNtcF9hbHQpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hbWRfaW9tbXUuYyBiL2FyY2gveDg2L2tlcm5lbC9hbWRfaW9tbXUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjc2NmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2FtZF9pb21tdS5jCkBAIC0wLDAgKzEsOTYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgorICogQXV0aG9yOiBKb2VyZyBSb2VkZWwgPGpvZXJnLnJvZWRlbEBhbWQuY29tPgorICogICAgICAgICBMZW8gRHVyYW4gPGxlby5kdXJhbkBhbWQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9nZnAuaD4KKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvbW11LWhlbHBlci5oPgorI2luY2x1ZGUgPGFzbS9wcm90by5oPgorI2luY2x1ZGUgPGFzbS9nYXJ0Lmg+CisjaW5jbHVkZSA8YXNtL2FtZF9pb21tdV90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9hbWRfaW9tbXUuaD4KKworI2RlZmluZSBDTURfU0VUX1RZUEUoY21kLCB0KSAoKGNtZCktPmRhdGFbMV0gfD0gKCh0KSA8PCAyOCkpCisKKyNkZWZpbmUgdG9fcGFnZXMoYWRkciwgc2l6ZSkgXAorCSAocm91bmRfdXAoKChhZGRyKSAmIH5QQUdFX01BU0spICsgKHNpemUpLCBQQUdFX1NJWkUpID4+IFBBR0VfU0hJRlQpCisKK3N0YXRpYyBERUZJTkVfUldMT0NLKGFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrKTsKKworc3RydWN0IGNvbW1hbmQgeworCXUzMiBkYXRhWzRdOworfTsKKworc3RhdGljIGludCBkbWFfb3BzX3VuaXR5X21hcChzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20sCisJCQkgICAgIHN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmUpOworCitzdGF0aWMgaW50IGlvbW11X2hhc19ucGNhY2hlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXJldHVybiBpb21tdS0+Y2FwICYgSU9NTVVfQ0FQX05QQ0FDSEU7Cit9CisKK3N0YXRpYyBpbnQgX19pb21tdV9xdWV1ZV9jb21tYW5kKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCBzdHJ1Y3QgY29tbWFuZCAqY21kKQoreworCXUzMiB0YWlsLCBoZWFkOworCXU4ICp0YXJnZXQ7CisKKwl0YWlsID0gcmVhZGwoaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ01EX1RBSUxfT0ZGU0VUKTsKKwl0YXJnZXQgPSAoaW9tbXUtPmNtZF9idWYgKyB0YWlsKTsKKwltZW1jcHlfdG9pbyh0YXJnZXQsIGNtZCwgc2l6ZW9mKCpjbWQpKTsKKwl0YWlsID0gKHRhaWwgKyBzaXplb2YoKmNtZCkpICUgaW9tbXUtPmNtZF9idWZfc2l6ZTsKKwloZWFkID0gcmVhZGwoaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ01EX0hFQURfT0ZGU0VUKTsKKwlpZiAodGFpbCA9PSBoZWFkKQorCQlyZXR1cm4gLUVOT01FTTsKKwl3cml0ZWwodGFpbCwgaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ01EX1RBSUxfT0ZGU0VUKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlvbW11X3F1ZXVlX2NvbW1hbmQoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHN0cnVjdCBjb21tYW5kICpjbWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgcmV0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CisJcmV0ID0gX19pb21tdV9xdWV1ZV9jb21tYW5kKGlvbW11LCBjbWQpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGlvbW11X2NvbXBsZXRpb25fd2FpdChzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBjb21tYW5kIGNtZDsKKwl2b2xhdGlsZSB1NjQgcmVhZHkgPSAwOworCXVuc2lnbmVkIGxvbmcgcmVhZHlfcGh5cyA9IHZpcnRfdG9fcGh5cygmcmVhZHkpOworCisJbWVtc2V0KCZjbWQsIDAsIHNpemVvZihjbWQpKTsKKwljbWQuZGF0YVswXSA9IExPV19VMzIocmVhZHlfcGh5cykgfCBDTURfQ09NUExfV0FJVF9TVE9SRV9NQVNLOworCWNtZC5kYXRhWzFdID0gSElHSF9VMzIocmVhZHlfcGh5cyk7CisJY21kLmRhdGFbMl0gPSAxOyAvKiB2YWx1ZSB3cml0dGVuIHRvICdyZWFkeScgKi8KKwlDTURfU0VUX1RZUEUoJmNtZCwgQ01EX0NPTVBMX1dBSVQpOworCisJaW9tbXUtPm5lZWRfc3luYyA9IDA7CisKKwlyZXQgPSBpb21tdV9xdWV1ZV9jb21tYW5kKGlvbW11LCAmY21kKTsKKworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwl3aGlsZSAoIXJlYWR5KQorCQljcHVfcmVsYXgoKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlvbW11X3F1ZXVlX2ludl9kZXZfZW50cnkoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHUxNiBkZXZpZCkKK3sKKwlzdHJ1Y3QgY29tbWFuZCBjbWQ7CisKKwlCVUdfT04oaW9tbXUgPT0gTlVMTCk7CisKKwltZW1zZXQoJmNtZCwgMCwgc2l6ZW9mKGNtZCkpOworCUNNRF9TRVRfVFlQRSgmY21kLCBDTURfSU5WX0RFVl9FTlRSWSk7CisJY21kLmRhdGFbMF0gPSBkZXZpZDsKKworCWlvbW11LT5uZWVkX3N5bmMgPSAxOworCisJcmV0dXJuIGlvbW11X3F1ZXVlX2NvbW1hbmQoaW9tbXUsICZjbWQpOworfQorCitzdGF0aWMgaW50IGlvbW11X3F1ZXVlX2ludl9pb21tdV9wYWdlcyhzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJdTY0IGFkZHJlc3MsIHUxNiBkb21pZCwgaW50IHBkZSwgaW50IHMpCit7CisJc3RydWN0IGNvbW1hbmQgY21kOworCisJbWVtc2V0KCZjbWQsIDAsIHNpemVvZihjbWQpKTsKKwlhZGRyZXNzICY9IFBBR0VfTUFTSzsKKwlDTURfU0VUX1RZUEUoJmNtZCwgQ01EX0lOVl9JT01NVV9QQUdFUyk7CisJY21kLmRhdGFbMV0gfD0gZG9taWQ7CisJY21kLmRhdGFbMl0gPSBMT1dfVTMyKGFkZHJlc3MpOworCWNtZC5kYXRhWzNdID0gSElHSF9VMzIoYWRkcmVzcyk7CisJaWYgKHMpCisJCWNtZC5kYXRhWzJdIHw9IENNRF9JTlZfSU9NTVVfUEFHRVNfU0laRV9NQVNLOworCWlmIChwZGUpCisJCWNtZC5kYXRhWzJdIHw9IENNRF9JTlZfSU9NTVVfUEFHRVNfUERFX01BU0s7CisKKwlpb21tdS0+bmVlZF9zeW5jID0gMTsKKworCXJldHVybiBpb21tdV9xdWV1ZV9jb21tYW5kKGlvbW11LCAmY21kKTsKK30KKworc3RhdGljIGludCBpb21tdV9mbHVzaF9wYWdlcyhzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdTE2IGRvbWlkLAorCQl1NjQgYWRkcmVzcywgc2l6ZV90IHNpemUpCit7CisJaW50IHMgPSAwOworCXVuc2lnbmVkIHBhZ2VzID0gdG9fcGFnZXMoYWRkcmVzcywgc2l6ZSk7CisKKwlhZGRyZXNzICY9IFBBR0VfTUFTSzsKKworCWlmIChwYWdlcyA+IDEpIHsKKwkJLyoKKwkJICogSWYgd2UgaGF2ZSB0byBmbHVzaCBtb3JlIHRoYW4gb25lIHBhZ2UsIGZsdXNoIGFsbAorCQkgKiBUTEIgZW50cmllcyBmb3IgdGhpcyBkb21haW4KKwkJICovCisJCWFkZHJlc3MgPSBDTURfSU5WX0lPTU1VX0FMTF9QQUdFU19BRERSRVNTOworCQlzID0gMTsKKwl9CisKKwlpb21tdV9xdWV1ZV9pbnZfaW9tbXVfcGFnZXMoaW9tbXUsIGFkZHJlc3MsIGRvbWlkLCAwLCBzKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlvbW11X21hcChzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbSwKKwkJICAgICB1bnNpZ25lZCBsb25nIGJ1c19hZGRyLAorCQkgICAgIHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLAorCQkgICAgIGludCBwcm90KQoreworCXU2NCBfX3B0ZSwgKnB0ZSwgKnBhZ2U7CisKKwlidXNfYWRkciAgPSBQQUdFX0FMSUdOKGJ1c19hZGRyKTsKKwlwaHlzX2FkZHIgPSBQQUdFX0FMSUdOKGJ1c19hZGRyKTsKKworCS8qIG9ubHkgc3VwcG9ydCA1MTJHQiBhZGRyZXNzIHNwYWNlcyBmb3Igbm93ICovCisJaWYgKGJ1c19hZGRyID4gSU9NTVVfTUFQX1NJWkVfTDMgfHwgIShwcm90ICYgSU9NTVVfUFJPVF9NQVNLKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwdGUgPSAmZG9tLT5wdF9yb290W0lPTU1VX1BURV9MMl9JTkRFWChidXNfYWRkcildOworCisJaWYgKCFJT01NVV9QVEVfUFJFU0VOVCgqcHRlKSkgeworCQlwYWdlID0gKHU2NCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKCFwYWdlKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCSpwdGUgPSBJT01NVV9MMl9QREUodmlydF90b19waHlzKHBhZ2UpKTsKKwl9CisKKwlwdGUgPSBJT01NVV9QVEVfUEFHRSgqcHRlKTsKKwlwdGUgPSAmcHRlW0lPTU1VX1BURV9MMV9JTkRFWChidXNfYWRkcildOworCisJaWYgKCFJT01NVV9QVEVfUFJFU0VOVCgqcHRlKSkgeworCQlwYWdlID0gKHU2NCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKCFwYWdlKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCSpwdGUgPSBJT01NVV9MMV9QREUodmlydF90b19waHlzKHBhZ2UpKTsKKwl9CisKKwlwdGUgPSBJT01NVV9QVEVfUEFHRSgqcHRlKTsKKwlwdGUgPSAmcHRlW0lPTU1VX1BURV9MMF9JTkRFWChidXNfYWRkcildOworCisJaWYgKElPTU1VX1BURV9QUkVTRU5UKCpwdGUpKQorCQlyZXR1cm4gLUVCVVNZOworCisJX19wdGUgPSBwaHlzX2FkZHIgfCBJT01NVV9QVEVfUDsKKwlpZiAocHJvdCAmIElPTU1VX1BST1RfSVIpCisJCV9fcHRlIHw9IElPTU1VX1BURV9JUjsKKwlpZiAocHJvdCAmIElPTU1VX1BST1RfSVcpCisJCV9fcHRlIHw9IElPTU1VX1BURV9JVzsKKworCSpwdGUgPSBfX3B0ZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlvbW11X2Zvcl91bml0eV9tYXAoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkgICAgICAgc3RydWN0IHVuaXR5X21hcF9lbnRyeSAqZW50cnkpCit7CisJdTE2IGJkZiwgaTsKKworCWZvciAoaSA9IGVudHJ5LT5kZXZpZF9zdGFydDsgaSA8PSBlbnRyeS0+ZGV2aWRfZW5kOyArK2kpIHsKKwkJYmRmID0gYW1kX2lvbW11X2FsaWFzX3RhYmxlW2ldOworCQlpZiAoYW1kX2lvbW11X3Jsb29rdXBfdGFibGVbYmRmXSA9PSBpb21tdSkKKwkJCXJldHVybiAxOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlvbW11X2luaXRfdW5pdHlfbWFwcGluZ3Moc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJc3RydWN0IHVuaXR5X21hcF9lbnRyeSAqZW50cnk7CisJaW50IHJldDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoZW50cnksICZhbWRfaW9tbXVfdW5pdHlfbWFwLCBsaXN0KSB7CisJCWlmICghaW9tbXVfZm9yX3VuaXR5X21hcChpb21tdSwgZW50cnkpKQorCQkJY29udGludWU7CisJCXJldCA9IGRtYV9vcHNfdW5pdHlfbWFwKGlvbW11LT5kZWZhdWx0X2RvbSwgZW50cnkpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkbWFfb3BzX3VuaXR5X21hcChzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20sCisJCQkgICAgIHN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmUpCit7CisJdTY0IGFkZHI7CisJaW50IHJldDsKKworCWZvciAoYWRkciA9IGUtPmFkZHJlc3Nfc3RhcnQ7IGFkZHIgPCBlLT5hZGRyZXNzX2VuZDsKKwkgICAgIGFkZHIgKz0gUEFHRV9TSVpFKSB7CisJCXJldCA9IGlvbW11X21hcCgmZG1hX2RvbS0+ZG9tYWluLCBhZGRyLCBhZGRyLCBlLT5wcm90KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJCS8qCisJCSAqIGlmIHVuaXR5IG1hcHBpbmcgaXMgaW4gYXBlcnR1cmUgcmFuZ2UgbWFyayB0aGUgcGFnZQorCQkgKiBhcyBhbGxvY2F0ZWQgaW4gdGhlIGFwZXJ0dXJlCisJCSAqLworCQlpZiAoYWRkciA8IGRtYV9kb20tPmFwZXJ0dXJlX3NpemUpCisJCQlfX3NldF9iaXQoYWRkciA+PiBQQUdFX1NISUZULCBkbWFfZG9tLT5iaXRtYXApOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGluaXRfdW5pdHlfbWFwcGluZ3NfZm9yX2RldmljZShzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20sCisJCQkJCSAgdTE2IGRldmlkKQoreworCXN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmU7CisJaW50IHJldDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoZSwgJmFtZF9pb21tdV91bml0eV9tYXAsIGxpc3QpIHsKKwkJaWYgKCEoZGV2aWQgPj0gZS0+ZGV2aWRfc3RhcnQgJiYgZGV2aWQgPD0gZS0+ZGV2aWRfZW5kKSkKKwkJCWNvbnRpbnVlOworCQlyZXQgPSBkbWFfb3BzX3VuaXR5X21hcChkbWFfZG9tLCBlKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGRtYV9tYXNrX3RvX3BhZ2VzKHVuc2lnbmVkIGxvbmcgbWFzaykKK3sKKwlyZXR1cm4gKG1hc2sgPj4gUEFHRV9TSElGVCkgKworCQkoUEFHRV9BTElHTihtYXNrICYgflBBR0VfTUFTSykgPj4gUEFHRV9TSElGVCk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGRtYV9vcHNfYWxsb2NfYWRkcmVzc2VzKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkJICAgICBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRvbSwKKwkJCQkJICAgICB1bnNpZ25lZCBpbnQgcGFnZXMpCit7CisJdW5zaWduZWQgbG9uZyBsaW1pdCA9IGRtYV9tYXNrX3RvX3BhZ2VzKCpkZXYtPmRtYV9tYXNrKTsKKwl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CisJdW5zaWduZWQgbG9uZyBzaXplID0gZG9tLT5hcGVydHVyZV9zaXplID4+IFBBR0VfU0hJRlQ7CisJdW5zaWduZWQgbG9uZyBib3VuZGFyeV9zaXplOworCisJYm91bmRhcnlfc2l6ZSA9IEFMSUdOKGRtYV9nZXRfc2VnX2JvdW5kYXJ5KGRldikgKyAxLAorCQkJUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZUOworCWxpbWl0ID0gbGltaXQgPCBzaXplID8gbGltaXQgOiBzaXplOworCisJaWYgKGRvbS0+bmV4dF9iaXQgPj0gbGltaXQpCisJCWRvbS0+bmV4dF9iaXQgPSAwOworCisJYWRkcmVzcyA9IGlvbW11X2FyZWFfYWxsb2MoZG9tLT5iaXRtYXAsIGxpbWl0LCBkb20tPm5leHRfYml0LCBwYWdlcywKKwkJCTAgLCBib3VuZGFyeV9zaXplLCAwKTsKKwlpZiAoYWRkcmVzcyA9PSAtMSkKKwkJYWRkcmVzcyA9IGlvbW11X2FyZWFfYWxsb2MoZG9tLT5iaXRtYXAsIGxpbWl0LCAwLCBwYWdlcywKKwkJCQkwLCBib3VuZGFyeV9zaXplLCAwKTsKKworCWlmIChsaWtlbHkoYWRkcmVzcyAhPSAtMSkpIHsKKwkJZG9tLT5uZXh0X2JpdCA9IGFkZHJlc3MgKyBwYWdlczsKKwkJYWRkcmVzcyA8PD0gUEFHRV9TSElGVDsKKwl9IGVsc2UKKwkJYWRkcmVzcyA9IGJhZF9kbWFfYWRkcmVzczsKKworCVdBUk5fT04oKGFkZHJlc3MgKyAoUEFHRV9TSVpFKnBhZ2VzKSkgPiBkb20tPmFwZXJ0dXJlX3NpemUpOworCisJcmV0dXJuIGFkZHJlc3M7Cit9CisKK3N0YXRpYyB2b2lkIGRtYV9vcHNfZnJlZV9hZGRyZXNzZXMoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20sCisJCQkJICAgdW5zaWduZWQgbG9uZyBhZGRyZXNzLAorCQkJCSAgIHVuc2lnbmVkIGludCBwYWdlcykKK3sKKwlhZGRyZXNzID4+PSBQQUdFX1NISUZUOworCWlvbW11X2FyZWFfZnJlZShkb20tPmJpdG1hcCwgYWRkcmVzcywgcGFnZXMpOworfQorCitzdGF0aWMgdTE2IGRvbWFpbl9pZF9hbGxvYyh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IGlkOworCisJd3JpdGVfbG9ja19pcnFzYXZlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCWlkID0gZmluZF9maXJzdF96ZXJvX2JpdChhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwLCBNQVhfRE9NQUlOX0lEKTsKKwlCVUdfT04oaWQgPT0gMCk7CisJaWYgKGlkID4gMCAmJiBpZCA8IE1BWF9ET01BSU5fSUQpCisJCV9fc2V0X2JpdChpZCwgYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCk7CisJZWxzZQorCQlpZCA9IDA7CisJd3JpdGVfdW5sb2NrX2lycXJlc3RvcmUoJmFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gaWQ7Cit9CisKK3N0YXRpYyB2b2lkIGRtYV9vcHNfcmVzZXJ2ZV9hZGRyZXNzZXMoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20sCisJCQkJICAgICAgdW5zaWduZWQgbG9uZyBzdGFydF9wYWdlLAorCQkJCSAgICAgIHVuc2lnbmVkIGludCBwYWdlcykKK3sKKwl1bnNpZ25lZCBpbnQgbGFzdF9wYWdlID0gZG9tLT5hcGVydHVyZV9zaXplID4+IFBBR0VfU0hJRlQ7CisKKwlpZiAoc3RhcnRfcGFnZSArIHBhZ2VzID4gbGFzdF9wYWdlKQorCQlwYWdlcyA9IGxhc3RfcGFnZSAtIHN0YXJ0X3BhZ2U7CisKKwlzZXRfYml0X3N0cmluZyhkb20tPmJpdG1hcCwgc3RhcnRfcGFnZSwgcGFnZXMpOworfQorCitzdGF0aWMgdm9pZCBkbWFfb3BzX2ZyZWVfcGFnZXRhYmxlKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbSkKK3sKKwlpbnQgaSwgajsKKwl1NjQgKnAxLCAqcDIsICpwMzsKKworCXAxID0gZG1hX2RvbS0+ZG9tYWluLnB0X3Jvb3Q7CisKKwlpZiAoIXAxKQorCQlyZXR1cm47CisKKwlmb3IgKGkgPSAwOyBpIDwgNTEyOyArK2kpIHsKKwkJaWYgKCFJT01NVV9QVEVfUFJFU0VOVChwMVtpXSkpCisJCQljb250aW51ZTsKKworCQlwMiA9IElPTU1VX1BURV9QQUdFKHAxW2ldKTsKKwkJZm9yIChqID0gMDsgaiA8IDUxMjsgKytpKSB7CisJCQlpZiAoIUlPTU1VX1BURV9QUkVTRU5UKHAyW2pdKSkKKwkJCQljb250aW51ZTsKKwkJCXAzID0gSU9NTVVfUFRFX1BBR0UocDJbal0pOworCQkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXAzKTsKKwkJfQorCisJCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwMik7CisJfQorCisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXAxKTsKK30KKworc3RhdGljIHZvaWQgZG1hX29wc19kb21haW5fZnJlZShzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRvbSkKK3sKKwlpZiAoIWRvbSkKKwkJcmV0dXJuOworCisJZG1hX29wc19mcmVlX3BhZ2V0YWJsZShkb20pOworCisJa2ZyZWUoZG9tLT5wdGVfcGFnZXMpOworCisJa2ZyZWUoZG9tLT5iaXRtYXApOworCisJa2ZyZWUoZG9tKTsKK30KKworc3RhdGljIHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX29wc19kb21haW5fYWxsb2Moc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkJCQkgICB1bnNpZ25lZCBvcmRlcikKK3sKKwlzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb207CisJdW5zaWduZWQgaSwgbnVtX3B0ZV9wYWdlczsKKwl1NjQgKmwyX3BkZTsKKwl1NjQgYWRkcmVzczsKKworCS8qCisJICogQ3VycmVudGx5IHRoZSBETUEgYXBlcnR1cmUgbXVzdCBiZSBiZXR3ZWVuIDMyIE1CIGFuZCAxR0IgaW4gc2l6ZQorCSAqLworCWlmICgob3JkZXIgPCAyNSkgfHwgKG9yZGVyID4gMzApKQorCQlyZXR1cm4gTlVMTDsKKworCWRtYV9kb20gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZG1hX29wc19kb21haW4pLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWRtYV9kb20pCisJCXJldHVybiBOVUxMOworCisJc3Bpbl9sb2NrX2luaXQoJmRtYV9kb20tPmRvbWFpbi5sb2NrKTsKKworCWRtYV9kb20tPmRvbWFpbi5pZCA9IGRvbWFpbl9pZF9hbGxvYygpOworCWlmIChkbWFfZG9tLT5kb21haW4uaWQgPT0gMCkKKwkJZ290byBmcmVlX2RtYV9kb207CisJZG1hX2RvbS0+ZG9tYWluLm1vZGUgPSBQQUdFX01PREVfM19MRVZFTDsKKwlkbWFfZG9tLT5kb21haW4ucHRfcm9vdCA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCWRtYV9kb20tPmRvbWFpbi5wcml2ID0gZG1hX2RvbTsKKwlpZiAoIWRtYV9kb20tPmRvbWFpbi5wdF9yb290KQorCQlnb3RvIGZyZWVfZG1hX2RvbTsKKwlkbWFfZG9tLT5hcGVydHVyZV9zaXplID0gKDFVTEwgPDwgb3JkZXIpOworCWRtYV9kb20tPmJpdG1hcCA9IGt6YWxsb2MoZG1hX2RvbS0+YXBlcnR1cmVfc2l6ZSAvIChQQUdFX1NJWkUgKiA4KSwKKwkJCQkgIEdGUF9LRVJORUwpOworCWlmICghZG1hX2RvbS0+Yml0bWFwKQorCQlnb3RvIGZyZWVfZG1hX2RvbTsKKwkvKgorCSAqIG1hcmsgdGhlIGZpcnN0IHBhZ2UgYXMgYWxsb2NhdGVkIHNvIHdlIG5ldmVyIHJldHVybiAwIGFzCisJICogYSB2YWxpZCBkbWEtYWRkcmVzcy4gU28gd2UgY2FuIHVzZSAwIGFzIGVycm9yIHZhbHVlCisJICovCisJZG1hX2RvbS0+Yml0bWFwWzBdID0gMTsKKwlkbWFfZG9tLT5uZXh0X2JpdCA9IDA7CisKKwlpZiAoaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCAmJgorCSAgICBpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0IDwgZG1hX2RvbS0+YXBlcnR1cmVfc2l6ZSkgeworCQl1bnNpZ25lZCBsb25nIHN0YXJ0cGFnZSA9IGlvbW11LT5leGNsdXNpb25fc3RhcnQgPj4gUEFHRV9TSElGVDsKKwkJaW50IHBhZ2VzID0gdG9fcGFnZXMoaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCwKKwkJCQlpb21tdS0+ZXhjbHVzaW9uX2xlbmd0aCk7CisJCWRtYV9vcHNfcmVzZXJ2ZV9hZGRyZXNzZXMoZG1hX2RvbSwgc3RhcnRwYWdlLCBwYWdlcyk7CisJfQorCisJbnVtX3B0ZV9wYWdlcyA9IGRtYV9kb20tPmFwZXJ0dXJlX3NpemUgLyAoUEFHRV9TSVpFICogNTEyKTsKKwlkbWFfZG9tLT5wdGVfcGFnZXMgPSBremFsbG9jKG51bV9wdGVfcGFnZXMgKiBzaXplb2Yodm9pZCAqKSwKKwkJCUdGUF9LRVJORUwpOworCWlmICghZG1hX2RvbS0+cHRlX3BhZ2VzKQorCQlnb3RvIGZyZWVfZG1hX2RvbTsKKworCWwyX3BkZSA9ICh1NjQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJaWYgKGwyX3BkZSA9PSBOVUxMKQorCQlnb3RvIGZyZWVfZG1hX2RvbTsKKworCWRtYV9kb20tPmRvbWFpbi5wdF9yb290WzBdID0gSU9NTVVfTDJfUERFKHZpcnRfdG9fcGh5cyhsMl9wZGUpKTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fcHRlX3BhZ2VzOyArK2kpIHsKKwkJZG1hX2RvbS0+cHRlX3BhZ2VzW2ldID0gKHU2NCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKCFkbWFfZG9tLT5wdGVfcGFnZXNbaV0pCisJCQlnb3RvIGZyZWVfZG1hX2RvbTsKKwkJYWRkcmVzcyA9IHZpcnRfdG9fcGh5cyhkbWFfZG9tLT5wdGVfcGFnZXNbaV0pOworCQlsMl9wZGVbaV0gPSBJT01NVV9MMV9QREUoYWRkcmVzcyk7CisJfQorCisJcmV0dXJuIGRtYV9kb207CisKK2ZyZWVfZG1hX2RvbToKKwlkbWFfb3BzX2RvbWFpbl9mcmVlKGRtYV9kb20pOworCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbl9mb3JfZGV2aWNlKHUxNiBkZXZpZCkKK3sKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJcmVhZF9sb2NrX2lycXNhdmUoJmFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrLCBmbGFncyk7CisJZG9tID0gYW1kX2lvbW11X3BkX3RhYmxlW2RldmlkXTsKKwlyZWFkX3VubG9ja19pcnFyZXN0b3JlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCisJcmV0dXJuIGRvbTsKK30KKworc3RhdGljIHZvaWQgc2V0X2RldmljZV9kb21haW4oc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkgICAgICBzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbiwKKwkJCSAgICAgIHUxNiBkZXZpZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJdTY0IHB0ZV9yb290ID0gdmlydF90b19waHlzKGRvbWFpbi0+cHRfcm9vdCk7CisKKwlwdGVfcm9vdCB8PSAoZG9tYWluLT5tb2RlICYgMHgwNykgPDwgOTsKKwlwdGVfcm9vdCB8PSBJT01NVV9QVEVfSVIgfCBJT01NVV9QVEVfSVcgfCBJT01NVV9QVEVfUCB8IDI7CisKKwl3cml0ZV9sb2NrX2lycXNhdmUoJmFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrLCBmbGFncyk7CisJYW1kX2lvbW11X2Rldl90YWJsZVtkZXZpZF0uZGF0YVswXSA9IHB0ZV9yb290OworCWFtZF9pb21tdV9kZXZfdGFibGVbZGV2aWRdLmRhdGFbMV0gPSBwdGVfcm9vdCA+PiAzMjsKKwlhbWRfaW9tbXVfZGV2X3RhYmxlW2RldmlkXS5kYXRhWzJdID0gZG9tYWluLT5pZDsKKworCWFtZF9pb21tdV9wZF90YWJsZVtkZXZpZF0gPSBkb21haW47CisJd3JpdGVfdW5sb2NrX2lycXJlc3RvcmUoJmFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrLCBmbGFncyk7CisKKwlpb21tdV9xdWV1ZV9pbnZfZGV2X2VudHJ5KGlvbW11LCBkZXZpZCk7CisKKwlpb21tdS0+bmVlZF9zeW5jID0gMTsKK30KKworc3RhdGljIGludCBnZXRfZGV2aWNlX3Jlc291cmNlcyhzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJc3RydWN0IGFtZF9pb21tdSAqKmlvbW11LAorCQkJCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqKmRvbWFpbiwKKwkJCQl1MTYgKmJkZikKK3sKKwlzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb207CisJc3RydWN0IHBjaV9kZXYgKnBjaWRldjsKKwl1MTYgX2JkZjsKKworCUJVR19PTighZGV2IHx8IGRldi0+YnVzICE9ICZwY2lfYnVzX3R5cGUgfHwgIWRldi0+ZG1hX21hc2spOworCisJcGNpZGV2ID0gdG9fcGNpX2RldihkZXYpOworCV9iZGYgPSAocGNpZGV2LT5idXMtPm51bWJlciA8PCA4KSB8IHBjaWRldi0+ZGV2Zm47CisKKwlpZiAoX2JkZiA+PSBhbWRfaW9tbXVfbGFzdF9iZGYpIHsKKwkJKmlvbW11ID0gTlVMTDsKKwkJKmRvbWFpbiA9IE5VTEw7CisJCSpiZGYgPSAweGZmZmY7CisJCXJldHVybiAwOworCX0KKworCSpiZGYgPSBhbWRfaW9tbXVfYWxpYXNfdGFibGVbX2JkZl07CisKKwkqaW9tbXUgPSBhbWRfaW9tbXVfcmxvb2t1cF90YWJsZVsqYmRmXTsKKwlpZiAoKmlvbW11ID09IE5VTEwpCisJCXJldHVybiAwOworCWRtYV9kb20gPSAoKmlvbW11KS0+ZGVmYXVsdF9kb207CisJKmRvbWFpbiA9IGRvbWFpbl9mb3JfZGV2aWNlKCpiZGYpOworCWlmICgqZG9tYWluID09IE5VTEwpIHsKKwkJKmRvbWFpbiA9ICZkbWFfZG9tLT5kb21haW47CisJCXNldF9kZXZpY2VfZG9tYWluKCppb21tdSwgKmRvbWFpbiwgKmJkZik7CisJCXByaW50ayhLRVJOX0lORk8gIkFNRCBJT01NVTogVXNpbmcgcHJvdGVjdGlvbiBkb21haW4gJWQgZm9yICIKKwkJCQkiZGV2aWNlICIsICgqZG9tYWluKS0+aWQpOworCQlwcmludF9kZXZpZChfYmRmLCAxKTsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGRtYV9hZGRyX3QgZG1hX29wc19kb21haW5fbWFwKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJCSAgICAgc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20sCisJCQkJICAgICB1bnNpZ25lZCBsb25nIGFkZHJlc3MsCisJCQkJICAgICBwaHlzX2FkZHJfdCBwYWRkciwKKwkJCQkgICAgIGludCBkaXJlY3Rpb24pCit7CisJdTY0ICpwdGUsIF9fcHRlOworCisJV0FSTl9PTihhZGRyZXNzID4gZG9tLT5hcGVydHVyZV9zaXplKTsKKworCXBhZGRyICY9IFBBR0VfTUFTSzsKKworCXB0ZSAgPSBkb20tPnB0ZV9wYWdlc1tJT01NVV9QVEVfTDFfSU5ERVgoYWRkcmVzcyldOworCXB0ZSArPSBJT01NVV9QVEVfTDBfSU5ERVgoYWRkcmVzcyk7CisKKwlfX3B0ZSA9IHBhZGRyIHwgSU9NTVVfUFRFX1AgfCBJT01NVV9QVEVfRkM7CisKKwlpZiAoZGlyZWN0aW9uID09IERNQV9UT19ERVZJQ0UpCisJCV9fcHRlIHw9IElPTU1VX1BURV9JUjsKKwllbHNlIGlmIChkaXJlY3Rpb24gPT0gRE1BX0ZST01fREVWSUNFKQorCQlfX3B0ZSB8PSBJT01NVV9QVEVfSVc7CisJZWxzZSBpZiAoZGlyZWN0aW9uID09IERNQV9CSURJUkVDVElPTkFMKQorCQlfX3B0ZSB8PSBJT01NVV9QVEVfSVIgfCBJT01NVV9QVEVfSVc7CisKKwlXQVJOX09OKCpwdGUpOworCisJKnB0ZSA9IF9fcHRlOworCisJcmV0dXJuIChkbWFfYWRkcl90KWFkZHJlc3M7Cit9CisKK3N0YXRpYyB2b2lkIGRtYV9vcHNfZG9tYWluX3VubWFwKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJCSBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRvbSwKKwkJCQkgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQoreworCXU2NCAqcHRlOworCisJaWYgKGFkZHJlc3MgPj0gZG9tLT5hcGVydHVyZV9zaXplKQorCQlyZXR1cm47CisKKwlXQVJOX09OKGFkZHJlc3MgJiAweGZmZlVMTCB8fCBhZGRyZXNzID4gZG9tLT5hcGVydHVyZV9zaXplKTsKKworCXB0ZSAgPSBkb20tPnB0ZV9wYWdlc1tJT01NVV9QVEVfTDFfSU5ERVgoYWRkcmVzcyldOworCXB0ZSArPSBJT01NVV9QVEVfTDBfSU5ERVgoYWRkcmVzcyk7CisKKwlXQVJOX09OKCEqcHRlKTsKKworCSpwdGUgPSAwVUxMOworfQorCitzdGF0aWMgZG1hX2FkZHJfdCBfX21hcF9zaW5nbGUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJICAgICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJICAgICAgIHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbSwKKwkJCSAgICAgICBwaHlzX2FkZHJfdCBwYWRkciwKKwkJCSAgICAgICBzaXplX3Qgc2l6ZSwKKwkJCSAgICAgICBpbnQgZGlyKQoreworCWRtYV9hZGRyX3Qgb2Zmc2V0ID0gcGFkZHIgJiB+UEFHRV9NQVNLOworCWRtYV9hZGRyX3QgYWRkcmVzcywgc3RhcnQ7CisJdW5zaWduZWQgaW50IHBhZ2VzOworCWludCBpOworCisJcGFnZXMgPSB0b19wYWdlcyhwYWRkciwgc2l6ZSk7CisJcGFkZHIgJj0gUEFHRV9NQVNLOworCisJYWRkcmVzcyA9IGRtYV9vcHNfYWxsb2NfYWRkcmVzc2VzKGRldiwgZG1hX2RvbSwgcGFnZXMpOworCWlmICh1bmxpa2VseShhZGRyZXNzID09IGJhZF9kbWFfYWRkcmVzcykpCisJCWdvdG8gb3V0OworCisJc3RhcnQgPSBhZGRyZXNzOworCWZvciAoaSA9IDA7IGkgPCBwYWdlczsgKytpKSB7CisJCWRtYV9vcHNfZG9tYWluX21hcChpb21tdSwgZG1hX2RvbSwgc3RhcnQsIHBhZGRyLCBkaXIpOworCQlwYWRkciArPSBQQUdFX1NJWkU7CisJCXN0YXJ0ICs9IFBBR0VfU0laRTsKKwl9CisJYWRkcmVzcyArPSBvZmZzZXQ7CisKK291dDoKKwlyZXR1cm4gYWRkcmVzczsKK30KKworc3RhdGljIHZvaWQgX191bm1hcF9zaW5nbGUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkgICBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20sCisJCQkgICBkbWFfYWRkcl90IGRtYV9hZGRyLAorCQkJICAgc2l6ZV90IHNpemUsCisJCQkgICBpbnQgZGlyKQoreworCWRtYV9hZGRyX3QgaSwgc3RhcnQ7CisJdW5zaWduZWQgaW50IHBhZ2VzOworCisJaWYgKChkbWFfYWRkciA9PSAwKSB8fCAoZG1hX2FkZHIgKyBzaXplID4gZG1hX2RvbS0+YXBlcnR1cmVfc2l6ZSkpCisJCXJldHVybjsKKworCXBhZ2VzID0gdG9fcGFnZXMoZG1hX2FkZHIsIHNpemUpOworCWRtYV9hZGRyICY9IFBBR0VfTUFTSzsKKwlzdGFydCA9IGRtYV9hZGRyOworCisJZm9yIChpID0gMDsgaSA8IHBhZ2VzOyArK2kpIHsKKwkJZG1hX29wc19kb21haW5fdW5tYXAoaW9tbXUsIGRtYV9kb20sIHN0YXJ0KTsKKwkJc3RhcnQgKz0gUEFHRV9TSVpFOworCX0KKworCWRtYV9vcHNfZnJlZV9hZGRyZXNzZXMoZG1hX2RvbSwgZG1hX2FkZHIsIHBhZ2VzKTsKK30KKworc3RhdGljIGRtYV9hZGRyX3QgbWFwX3NpbmdsZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHBoeXNfYWRkcl90IHBhZGRyLAorCQkJICAgICBzaXplX3Qgc2l6ZSwgaW50IGRpcikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluOworCXUxNiBkZXZpZDsKKwlkbWFfYWRkcl90IGFkZHI7CisKKwlnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKTsKKworCWlmIChpb21tdSA9PSBOVUxMIHx8IGRvbWFpbiA9PSBOVUxMKQorCQlyZXR1cm4gKGRtYV9hZGRyX3QpcGFkZHI7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisJYWRkciA9IF9fbWFwX3NpbmdsZShkZXYsIGlvbW11LCBkb21haW4tPnByaXYsIHBhZGRyLCBzaXplLCBkaXIpOworCWlmIChhZGRyID09IGJhZF9kbWFfYWRkcmVzcykKKwkJZ290byBvdXQ7CisKKwlpZiAoaW9tbXVfaGFzX25wY2FjaGUoaW9tbXUpKQorCQlpb21tdV9mbHVzaF9wYWdlcyhpb21tdSwgZG9tYWluLT5pZCwgYWRkciwgc2l6ZSk7CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworb3V0OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJuIGFkZHI7Cit9CisKK3N0YXRpYyB2b2lkIHVubWFwX3NpbmdsZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGRtYV9hZGRyX3QgZG1hX2FkZHIsCisJCQkgc2l6ZV90IHNpemUsIGludCBkaXIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwl1MTYgZGV2aWQ7CisKKwlpZiAoIWdldF9kZXZpY2VfcmVzb3VyY2VzKGRldiwgJmlvbW11LCAmZG9tYWluLCAmZGV2aWQpKQorCQlyZXR1cm47CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwlfX3VubWFwX3NpbmdsZShpb21tdSwgZG9tYWluLT5wcml2LCBkbWFfYWRkciwgc2l6ZSwgZGlyKTsKKworCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCBkbWFfYWRkciwgc2l6ZSk7CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgaW50IG1hcF9zZ19ub19pb21tdShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0LAorCQkJICAgaW50IG5lbGVtcywgaW50IGRpcikKK3sKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnM7CisJaW50IGk7CisKKwlmb3JfZWFjaF9zZyhzZ2xpc3QsIHMsIG5lbGVtcywgaSkgeworCQlzLT5kbWFfYWRkcmVzcyA9IChkbWFfYWRkcl90KXNnX3BoeXMocyk7CisJCXMtPmRtYV9sZW5ndGggID0gcy0+bGVuZ3RoOworCX0KKworCXJldHVybiBuZWxlbXM7Cit9CisKK3N0YXRpYyBpbnQgbWFwX3NnKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNjYXR0ZXJsaXN0ICpzZ2xpc3QsCisJCSAgaW50IG5lbGVtcywgaW50IGRpcikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluOworCXUxNiBkZXZpZDsKKwlpbnQgaTsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnM7CisJcGh5c19hZGRyX3QgcGFkZHI7CisJaW50IG1hcHBlZF9lbGVtcyA9IDA7CisKKwlnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKTsKKworCWlmICghaW9tbXUgfHwgIWRvbWFpbikKKwkJcmV0dXJuIG1hcF9zZ19ub19pb21tdShkZXYsIHNnbGlzdCwgbmVsZW1zLCBkaXIpOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJZm9yX2VhY2hfc2coc2dsaXN0LCBzLCBuZWxlbXMsIGkpIHsKKwkJcGFkZHIgPSBzZ19waHlzKHMpOworCisJCXMtPmRtYV9hZGRyZXNzID0gX19tYXBfc2luZ2xlKGRldiwgaW9tbXUsIGRvbWFpbi0+cHJpdiwKKwkJCQkJICAgICAgcGFkZHIsIHMtPmxlbmd0aCwgZGlyKTsKKworCQlpZiAocy0+ZG1hX2FkZHJlc3MpIHsKKwkJCXMtPmRtYV9sZW5ndGggPSBzLT5sZW5ndGg7CisJCQltYXBwZWRfZWxlbXMrKzsKKwkJfSBlbHNlCisJCQlnb3RvIHVubWFwOworCQlpZiAoaW9tbXVfaGFzX25wY2FjaGUoaW9tbXUpKQorCQkJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsIHMtPmRtYV9hZGRyZXNzLAorCQkJCQkgIHMtPmRtYV9sZW5ndGgpOworCX0KKworCWlmIChpb21tdS0+bmVlZF9zeW5jKQorCQlpb21tdV9jb21wbGV0aW9uX3dhaXQoaW9tbXUpOworCitvdXQ6CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gbWFwcGVkX2VsZW1zOwordW5tYXA6CisJZm9yX2VhY2hfc2coc2dsaXN0LCBzLCBtYXBwZWRfZWxlbXMsIGkpIHsKKwkJaWYgKHMtPmRtYV9hZGRyZXNzKQorCQkJX191bm1hcF9zaW5nbGUoaW9tbXUsIGRvbWFpbi0+cHJpdiwgcy0+ZG1hX2FkZHJlc3MsCisJCQkJICAgICAgIHMtPmRtYV9sZW5ndGgsIGRpcik7CisJCXMtPmRtYV9hZGRyZXNzID0gcy0+ZG1hX2xlbmd0aCA9IDA7CisJfQorCisJbWFwcGVkX2VsZW1zID0gMDsKKworCWdvdG8gb3V0OworfQorCitzdGF0aWMgdm9pZCB1bm1hcF9zZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0LAorCQkgICAgIGludCBuZWxlbXMsIGludCBkaXIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnM7CisJdTE2IGRldmlkOworCWludCBpOworCisJaWYgKCFnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKSkKKwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJZm9yX2VhY2hfc2coc2dsaXN0LCBzLCBuZWxlbXMsIGkpIHsKKwkJX191bm1hcF9zaW5nbGUoaW9tbXUsIGRvbWFpbi0+cHJpdiwgcy0+ZG1hX2FkZHJlc3MsCisJCQkgICAgICAgcy0+ZG1hX2xlbmd0aCwgZGlyKTsKKwkJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsIHMtPmRtYV9hZGRyZXNzLAorCQkJCSAgcy0+ZG1hX2xlbmd0aCk7CisJCXMtPmRtYV9hZGRyZXNzID0gcy0+ZG1hX2xlbmd0aCA9IDA7CisJfQorCisJaWYgKGlvbW11LT5uZWVkX3N5bmMpCisJCWlvbW11X2NvbXBsZXRpb25fd2FpdChpb21tdSk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgKmFsbG9jX2NvaGVyZW50KHN0cnVjdCBkZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsCisJCQkgICAgZG1hX2FkZHJfdCAqZG1hX2FkZHIsIGdmcF90IGZsYWcpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl2b2lkICp2aXJ0X2FkZHI7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW47CisJdTE2IGRldmlkOworCXBoeXNfYWRkcl90IHBhZGRyOworCisJdmlydF9hZGRyID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2VzKGZsYWcsIGdldF9vcmRlcihzaXplKSk7CisJaWYgKCF2aXJ0X2FkZHIpCisJCXJldHVybiAwOworCisJbWVtc2V0KHZpcnRfYWRkciwgMCwgc2l6ZSk7CisJcGFkZHIgPSB2aXJ0X3RvX3BoeXModmlydF9hZGRyKTsKKworCWdldF9kZXZpY2VfcmVzb3VyY2VzKGRldiwgJmlvbW11LCAmZG9tYWluLCAmZGV2aWQpOworCisJaWYgKCFpb21tdSB8fCAhZG9tYWluKSB7CisJCSpkbWFfYWRkciA9IChkbWFfYWRkcl90KXBhZGRyOworCQlyZXR1cm4gdmlydF9hZGRyOworCX0KKworCXNwaW5fbG9ja19pcnFzYXZlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCSpkbWFfYWRkciA9IF9fbWFwX3NpbmdsZShkZXYsIGlvbW11LCBkb21haW4tPnByaXYsIHBhZGRyLAorCQkJCSBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7CisKKwlpZiAoKmRtYV9hZGRyID09IGJhZF9kbWFfYWRkcmVzcykgeworCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKXZpcnRfYWRkciwgZ2V0X29yZGVyKHNpemUpKTsKKwkJdmlydF9hZGRyID0gTlVMTDsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKGlvbW11X2hhc19ucGNhY2hlKGlvbW11KSkKKwkJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsICpkbWFfYWRkciwgc2l6ZSk7CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworb3V0OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJuIHZpcnRfYWRkcjsKK30KKworc3RhdGljIHZvaWQgZnJlZV9jb2hlcmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHNpemVfdCBzaXplLAorCQkJICB2b2lkICp2aXJ0X2FkZHIsIGRtYV9hZGRyX3QgZG1hX2FkZHIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwl1MTYgZGV2aWQ7CisKKwlnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKTsKKworCWlmICghaW9tbXUgfHwgIWRvbWFpbikKKwkJZ290byBmcmVlX21lbTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCV9fdW5tYXBfc2luZ2xlKGlvbW11LCBkb21haW4tPnByaXYsIGRtYV9hZGRyLCBzaXplLCBETUFfQklESVJFQ1RJT05BTCk7CisJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsIGRtYV9hZGRyLCBzaXplKTsKKworCWlmIChpb21tdS0+bmVlZF9zeW5jKQorCQlpb21tdV9jb21wbGV0aW9uX3dhaXQoaW9tbXUpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKK2ZyZWVfbWVtOgorCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpdmlydF9hZGRyLCBnZXRfb3JkZXIoc2l6ZSkpOworfQorCisvKgorICogSWYgdGhlIGRyaXZlciBjb3JlIGluZm9ybXMgdGhlIERNQSBsYXllciBpZiBhIGRyaXZlciBncmFicyBhIGRldmljZQorICogd2UgZG9uJ3QgbmVlZCB0byBwcmVhbGxvY2F0ZSB0aGUgcHJvdGVjdGlvbiBkb21haW5zIGFueW1vcmUuCisgKiBGb3Igbm93IHdlIGhhdmUgdG8uCisgKi8KK3ZvaWQgcHJlYWxsb2NfcHJvdGVjdGlvbl9kb21haW5zKHZvaWQpCit7CisJc3RydWN0IHBjaV9kZXYgKmRldiA9IE5VTEw7CisJc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCWludCBvcmRlciA9IGFtZF9pb21tdV9hcGVydHVyZV9vcmRlcjsKKwl1MTYgZGV2aWQ7CisKKwl3aGlsZSAoKGRldiA9IHBjaV9nZXRfZGV2aWNlKFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIGRldikpICE9IE5VTEwpIHsKKwkJZGV2aWQgPSAoZGV2LT5idXMtPm51bWJlciA8PCA4KSB8IGRldi0+ZGV2Zm47CisJCWlmIChkZXZpZCA+PSBhbWRfaW9tbXVfbGFzdF9iZGYpCisJCQljb250aW51ZTsKKwkJZGV2aWQgPSBhbWRfaW9tbXVfYWxpYXNfdGFibGVbZGV2aWRdOworCQlpZiAoZG9tYWluX2Zvcl9kZXZpY2UoZGV2aWQpKQorCQkJY29udGludWU7CisJCWlvbW11ID0gYW1kX2lvbW11X3Jsb29rdXBfdGFibGVbZGV2aWRdOworCQlpZiAoIWlvbW11KQorCQkJY29udGludWU7CisJCWRtYV9kb20gPSBkbWFfb3BzX2RvbWFpbl9hbGxvYyhpb21tdSwgb3JkZXIpOworCQlpZiAoIWRtYV9kb20pCisJCQljb250aW51ZTsKKwkJaW5pdF91bml0eV9tYXBwaW5nc19mb3JfZGV2aWNlKGRtYV9kb20sIGRldmlkKTsKKwkJc2V0X2RldmljZV9kb21haW4oaW9tbXUsICZkbWFfZG9tLT5kb21haW4sIGRldmlkKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIElPTU1VOiBBbGxvY2F0ZWQgZG9tYWluICVkIGZvciBkZXZpY2UgIiwKKwkJICAgICAgIGRtYV9kb20tPmRvbWFpbi5pZCk7CisJCXByaW50X2RldmlkKGRldmlkLCAxKTsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZG1hX21hcHBpbmdfb3BzIGFtZF9pb21tdV9kbWFfb3BzID0geworCS5hbGxvY19jb2hlcmVudCA9IGFsbG9jX2NvaGVyZW50LAorCS5mcmVlX2NvaGVyZW50ID0gZnJlZV9jb2hlcmVudCwKKwkubWFwX3NpbmdsZSA9IG1hcF9zaW5nbGUsCisJLnVubWFwX3NpbmdsZSA9IHVubWFwX3NpbmdsZSwKKwkubWFwX3NnID0gbWFwX3NnLAorCS51bm1hcF9zZyA9IHVubWFwX3NnLAorfTsKKworaW50IF9faW5pdCBhbWRfaW9tbXVfaW5pdF9kbWFfb3BzKHZvaWQpCit7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJaW50IG9yZGVyID0gYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyOworCWludCByZXQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGlvbW11LCAmYW1kX2lvbW11X2xpc3QsIGxpc3QpIHsKKwkJaW9tbXUtPmRlZmF1bHRfZG9tID0gZG1hX29wc19kb21haW5fYWxsb2MoaW9tbXUsIG9yZGVyKTsKKwkJaWYgKGlvbW11LT5kZWZhdWx0X2RvbSA9PSBOVUxMKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCXJldCA9IGlvbW11X2luaXRfdW5pdHlfbWFwcGluZ3MoaW9tbXUpOworCQlpZiAocmV0KQorCQkJZ290byBmcmVlX2RvbWFpbnM7CisJfQorCisJaWYgKGFtZF9pb21tdV9pc29sYXRlKQorCQlwcmVhbGxvY19wcm90ZWN0aW9uX2RvbWFpbnMoKTsKKworCWlvbW11X2RldGVjdGVkID0gMTsKKwlmb3JjZV9pb21tdSA9IDE7CisJYmFkX2RtYV9hZGRyZXNzID0gMDsKKyNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQorCWdhcnRfaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQgPSAxOworCWdhcnRfaW9tbXVfYXBlcnR1cmUgPSAwOworI2VuZGlmCisKKwlkbWFfb3BzID0gJmFtZF9pb21tdV9kbWFfb3BzOworCisJcmV0dXJuIDA7CisKK2ZyZWVfZG9tYWluczoKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoaW9tbXUsICZhbWRfaW9tbXVfbGlzdCwgbGlzdCkgeworCQlpZiAoaW9tbXUtPmRlZmF1bHRfZG9tKQorCQkJZG1hX29wc19kb21haW5fZnJlZShpb21tdS0+ZGVmYXVsdF9kb20pOworCX0KKworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11X2luaXQuYyBiL2FyY2gveDg2L2tlcm5lbC9hbWRfaW9tbXVfaW5pdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMTNlNDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11X2luaXQuYwpAQCAtMCwwICsxLDg3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqIEF1dGhvcjogSm9lcmcgUm9lZGVsIDxqb2VyZy5yb2VkZWxAYW1kLmNvbT4KKyAqICAgICAgICAgTGVvIER1cmFuIDxsZW8uZHVyYW5AYW1kLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkCisgKiBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2dmcC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KKyNpbmNsdWRlIDxhc20vcGNpLWRpcmVjdC5oPgorI2luY2x1ZGUgPGFzbS9hbWRfaW9tbXVfdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYW1kX2lvbW11Lmg+CisjaW5jbHVkZSA8YXNtL2dhcnQuaD4KKworLyoKKyAqIGRlZmluaXRpb25zIGZvciB0aGUgQUNQSSBzY2FubmluZyBjb2RlCisgKi8KKyNkZWZpbmUgVVBEQVRFX0xBU1RfQkRGKHgpIGRvIHtcCisJaWYgKCh4KSA+IGFtZF9pb21tdV9sYXN0X2JkZikgXAorCQlhbWRfaW9tbXVfbGFzdF9iZGYgPSAoeCk7IFwKKwl9IHdoaWxlICgwKTsKKworI2RlZmluZSBERVZJRChidXMsIGRldmZuKSAoKChidXMpIDw8IDgpIHwgKGRldmZuKSkKKyNkZWZpbmUgUENJX0JVUyh4KSAoKCh4KSA+PiA4KSAmIDB4ZmYpCisjZGVmaW5lIElWUlNfSEVBREVSX0xFTkdUSCA0OAorI2RlZmluZSBUQkxfU0laRSh4KSAoMSA8PCAoUEFHRV9TSElGVCArIGdldF9vcmRlcihhbWRfaW9tbXVfbGFzdF9iZGYgKiAoeCkpKSkKKworI2RlZmluZSBBQ1BJX0lWSERfVFlQRSAgICAgICAgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgQUNQSV9JVk1EX1RZUEVfQUxMICAgICAgICAgICAgICAweDIwCisjZGVmaW5lIEFDUElfSVZNRF9UWVBFICAgICAgICAgICAgICAgICAgMHgyMQorI2RlZmluZSBBQ1BJX0lWTURfVFlQRV9SQU5HRSAgICAgICAgICAgIDB4MjIKKworI2RlZmluZSBJVkhEX0RFVl9BTEwgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgSVZIRF9ERVZfU0VMRUNUICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lIElWSERfREVWX1NFTEVDVF9SQU5HRV9TVEFSVCAgICAgMHgwMworI2RlZmluZSBJVkhEX0RFVl9SQU5HRV9FTkQgICAgICAgICAgICAgIDB4MDQKKyNkZWZpbmUgSVZIRF9ERVZfQUxJQVMgICAgICAgICAgICAgICAgICAweDQyCisjZGVmaW5lIElWSERfREVWX0FMSUFTX1JBTkdFICAgICAgICAgICAgMHg0MworI2RlZmluZSBJVkhEX0RFVl9FWFRfU0VMRUNUICAgICAgICAgICAgIDB4NDYKKyNkZWZpbmUgSVZIRF9ERVZfRVhUX1NFTEVDVF9SQU5HRSAgICAgICAweDQ3CisKKyNkZWZpbmUgSVZIRF9GTEFHX0hUX1RVTl9FTiAgICAgICAgICAgICAweDAwCisjZGVmaW5lIElWSERfRkxBR19QQVNTUFdfRU4gICAgICAgICAgICAgMHgwMQorI2RlZmluZSBJVkhEX0ZMQUdfUkVTUEFTU1BXX0VOICAgICAgICAgIDB4MDIKKyNkZWZpbmUgSVZIRF9GTEFHX0lTT0NfRU4gICAgICAgICAgICAgICAweDAzCisKKyNkZWZpbmUgSVZNRF9GTEFHX0VYQ0xfUkFOR0UgICAgICAgICAgICAweDA4CisjZGVmaW5lIElWTURfRkxBR19VTklUWV9NQVAgICAgICAgICAgICAgMHgwMQorCisjZGVmaW5lIEFDUElfREVWRkxBR19JTklUUEFTUyAgICAgICAgICAgMHgwMQorI2RlZmluZSBBQ1BJX0RFVkZMQUdfRVhUSU5UICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX05NSSAgICAgICAgICAgICAgICAweDA0CisjZGVmaW5lIEFDUElfREVWRkxBR19TWVNNR1QxICAgICAgICAgICAgMHgxMAorI2RlZmluZSBBQ1BJX0RFVkZMQUdfU1lTTUdUMiAgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX0xJTlQwICAgICAgICAgICAgICAweDQwCisjZGVmaW5lIEFDUElfREVWRkxBR19MSU5UMSAgICAgICAgICAgICAgMHg4MAorI2RlZmluZSBBQ1BJX0RFVkZMQUdfQVRTRElTICAgICAgICAgICAgIDB4MTAwMDAwMDAKKworc3RydWN0IGl2aGRfaGVhZGVyIHsKKwl1OCB0eXBlOworCXU4IGZsYWdzOworCXUxNiBsZW5ndGg7CisJdTE2IGRldmlkOworCXUxNiBjYXBfcHRyOworCXU2NCBtbWlvX3BoeXM7CisJdTE2IHBjaV9zZWc7CisJdTE2IGluZm87CisJdTMyIHJlc2VydmVkOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGl2aGRfZW50cnkgeworCXU4IHR5cGU7CisJdTE2IGRldmlkOworCXU4IGZsYWdzOworCXUzMiBleHQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgaXZtZF9oZWFkZXIgeworCXU4IHR5cGU7CisJdTggZmxhZ3M7CisJdTE2IGxlbmd0aDsKKwl1MTYgZGV2aWQ7CisJdTE2IGF1eDsKKwl1NjQgcmVzdjsKKwl1NjQgcmFuZ2Vfc3RhcnQ7CisJdTY0IHJhbmdlX2xlbmd0aDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBhbWRfaW9tbXVfZGV0ZWN0ZWQ7CisKK3UxNiBhbWRfaW9tbXVfbGFzdF9iZGY7CitzdHJ1Y3QgbGlzdF9oZWFkIGFtZF9pb21tdV91bml0eV9tYXA7Cit1bnNpZ25lZCBhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyNjsKK2ludCBhbWRfaW9tbXVfaXNvbGF0ZTsKKworc3RydWN0IGxpc3RfaGVhZCBhbWRfaW9tbXVfbGlzdDsKK3N0cnVjdCBkZXZfdGFibGVfZW50cnkgKmFtZF9pb21tdV9kZXZfdGFibGU7Cit1MTYgKmFtZF9pb21tdV9hbGlhc190YWJsZTsKK3N0cnVjdCBhbWRfaW9tbXUgKiphbWRfaW9tbXVfcmxvb2t1cF90YWJsZTsKK3N0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqKmFtZF9pb21tdV9wZF90YWJsZTsKK3Vuc2lnbmVkIGxvbmcgKmFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXA7CisKK3N0YXRpYyB1MzIgZGV2X3RhYmxlX3NpemU7CitzdGF0aWMgdTMyIGFsaWFzX3RhYmxlX3NpemU7CitzdGF0aWMgdTMyIHJsb29rdXBfdGFibGVfc2l6ZTsKKworc3RhdGljIHZvaWQgX19pbml0IGlvbW11X3NldF9leGNsdXNpb25fcmFuZ2Uoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJdTY0IHN0YXJ0ID0gaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCAmIFBBR0VfTUFTSzsKKwl1NjQgbGltaXQgPSAoc3RhcnQgKyBpb21tdS0+ZXhjbHVzaW9uX2xlbmd0aCkgJiBQQUdFX01BU0s7CisJdTY0IGVudHJ5OworCisJaWYgKCFpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0KQorCQlyZXR1cm47CisKKwllbnRyeSA9IHN0YXJ0IHwgTU1JT19FWENMX0VOQUJMRV9NQVNLOworCW1lbWNweV90b2lvKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0VYQ0xfQkFTRV9PRkZTRVQsCisJCQkmZW50cnksIHNpemVvZihlbnRyeSkpOworCisJZW50cnkgPSBsaW1pdDsKKwltZW1jcHlfdG9pbyhpb21tdS0+bW1pb19iYXNlICsgTU1JT19FWENMX0xJTUlUX09GRlNFVCwKKwkJCSZlbnRyeSwgc2l6ZW9mKGVudHJ5KSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpb21tdV9zZXRfZGV2aWNlX3RhYmxlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXUzMiBlbnRyeTsKKworCUJVR19PTihpb21tdS0+bW1pb19iYXNlID09IE5VTEwpOworCisJZW50cnkgPSB2aXJ0X3RvX3BoeXMoYW1kX2lvbW11X2Rldl90YWJsZSk7CisJZW50cnkgfD0gKGRldl90YWJsZV9zaXplID4+IDEyKSAtIDE7CisJbWVtY3B5X3RvaW8oaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fREVWX1RBQkxFX09GRlNFVCwKKwkJCSZlbnRyeSwgc2l6ZW9mKGVudHJ5KSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpb21tdV9mZWF0dXJlX2VuYWJsZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdTggYml0KQoreworCXUzMiBjdHJsOworCisJY3RybCA9IHJlYWRsKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NPTlRST0xfT0ZGU0VUKTsKKwljdHJsIHw9ICgxIDw8IGJpdCk7CisJd3JpdGVsKGN0cmwsIGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NPTlRST0xfT0ZGU0VUKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGlvbW11X2ZlYXR1cmVfZGlzYWJsZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdTggYml0KQoreworCXUzMiBjdHJsOworCisJY3RybCA9ICh1NjQpcmVhZGwoaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ09OVFJPTF9PRkZTRVQpOworCWN0cmwgJj0gfigxIDw8IGJpdCk7CisJd3JpdGVsKGN0cmwsIGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NPTlRST0xfT0ZGU0VUKTsKK30KKwordm9pZCBfX2luaXQgaW9tbXVfZW5hYmxlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXByaW50ayhLRVJOX0lORk8gIkFNRCBJT01NVTogRW5hYmxpbmcgSU9NTVUgYXQgIik7CisJcHJpbnRfZGV2aWQoaW9tbXUtPmRldmlkLCAwKTsKKwlwcmludGsoIiBjYXAgMHglaHhcbiIsIGlvbW11LT5jYXBfcHRyKTsKKworCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX0lPTU1VX0VOKTsKK30KKworc3RhdGljIHU4ICogX19pbml0IGlvbW11X21hcF9tbWlvX3NwYWNlKHU2NCBhZGRyZXNzKQoreworCXU4ICpyZXQ7CisKKwlpZiAoIXJlcXVlc3RfbWVtX3JlZ2lvbihhZGRyZXNzLCBNTUlPX1JFR0lPTl9MRU5HVEgsICJhbWRfaW9tbXUiKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXQgPSBpb3JlbWFwX25vY2FjaGUoYWRkcmVzcywgTU1JT19SRUdJT05fTEVOR1RIKTsKKwlpZiAocmV0ICE9IE5VTEwpCisJCXJldHVybiByZXQ7CisKKwlyZWxlYXNlX21lbV9yZWdpb24oYWRkcmVzcywgTU1JT19SRUdJT05fTEVOR1RIKTsKKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW9tbXVfdW5tYXBfbW1pb19zcGFjZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlpZiAoaW9tbXUtPm1taW9fYmFzZSkKKwkJaW91bm1hcChpb21tdS0+bW1pb19iYXNlKTsKKwlyZWxlYXNlX21lbV9yZWdpb24oaW9tbXUtPm1taW9fcGh5cywgTU1JT19SRUdJT05fTEVOR1RIKTsKK30KKworc3RhdGljIGludCBfX2luaXQgZmluZF9sYXN0X2RldmlkX29uX3BjaShpbnQgYnVzLCBpbnQgZGV2LCBpbnQgZm4sIGludCBjYXBfcHRyKQoreworCXUzMiBjYXA7CisKKwljYXAgPSByZWFkX3BjaV9jb25maWcoYnVzLCBkZXYsIGZuLCBjYXBfcHRyK01NSU9fUkFOR0VfT0ZGU0VUKTsKKwlVUERBVEVfTEFTVF9CREYoREVWSUQoTU1JT19HRVRfQlVTKGNhcCksIE1NSU9fR0VUX0xEKGNhcCkpKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBmaW5kX2xhc3RfZGV2aWRfZnJvbV9pdmhkKHN0cnVjdCBpdmhkX2hlYWRlciAqaCkKK3sKKwl1OCAqcCA9ICh2b2lkICopaCwgKmVuZCA9ICh2b2lkICopaDsKKwlzdHJ1Y3QgaXZoZF9lbnRyeSAqZGV2OworCisJcCArPSBzaXplb2YoKmgpOworCWVuZCArPSBoLT5sZW5ndGg7CisKKwlmaW5kX2xhc3RfZGV2aWRfb25fcGNpKFBDSV9CVVMoaC0+ZGV2aWQpLAorCQkJUENJX1NMT1QoaC0+ZGV2aWQpLAorCQkJUENJX0ZVTkMoaC0+ZGV2aWQpLAorCQkJaC0+Y2FwX3B0cik7CisKKwl3aGlsZSAocCA8IGVuZCkgeworCQlkZXYgPSAoc3RydWN0IGl2aGRfZW50cnkgKilwOworCQlzd2l0Y2ggKGRldi0+dHlwZSkgeworCQljYXNlIElWSERfREVWX1NFTEVDVDoKKwkJY2FzZSBJVkhEX0RFVl9SQU5HRV9FTkQ6CisJCWNhc2UgSVZIRF9ERVZfQUxJQVM6CisJCWNhc2UgSVZIRF9ERVZfRVhUX1NFTEVDVDoKKwkJCVVQREFURV9MQVNUX0JERihkZXYtPmRldmlkKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwkJcCArPSAweDA0IDw8ICgqcCA+PiA2KTsKKwl9CisKKwlXQVJOX09OKHAgIT0gZW5kKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBmaW5kX2xhc3RfZGV2aWRfYWNwaShzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlKQoreworCWludCBpOworCXU4IGNoZWNrc3VtID0gMCwgKnAgPSAodTggKil0YWJsZSwgKmVuZCA9ICh1OCAqKXRhYmxlOworCXN0cnVjdCBpdmhkX2hlYWRlciAqaDsKKworCS8qCisJICogVmFsaWRhdGUgY2hlY2tzdW0gaGVyZSBzbyB3ZSBkb24ndCBuZWVkIHRvIGRvIGl0IHdoZW4KKwkgKiB3ZSBhY3R1YWxseSBwYXJzZSB0aGUgdGFibGUKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgdGFibGUtPmxlbmd0aDsgKytpKQorCQljaGVja3N1bSArPSBwW2ldOworCWlmIChjaGVja3N1bSAhPSAwKQorCQkvKiBBQ1BJIHRhYmxlIGNvcnJ1cHQgKi8KKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlwICs9IElWUlNfSEVBREVSX0xFTkdUSDsKKworCWVuZCArPSB0YWJsZS0+bGVuZ3RoOworCXdoaWxlIChwIDwgZW5kKSB7CisJCWggPSAoc3RydWN0IGl2aGRfaGVhZGVyICopcDsKKwkJc3dpdGNoIChoLT50eXBlKSB7CisJCWNhc2UgQUNQSV9JVkhEX1RZUEU6CisJCQlmaW5kX2xhc3RfZGV2aWRfZnJvbV9pdmhkKGgpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCQlwICs9IGgtPmxlbmd0aDsKKwl9CisJV0FSTl9PTihwICE9IGVuZCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHU4ICogX19pbml0IGFsbG9jX2NvbW1hbmRfYnVmZmVyKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXU4ICpjbWRfYnVmID0gKHU4ICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJZ2V0X29yZGVyKENNRF9CVUZGRVJfU0laRSkpOworCXU2NCBlbnRyeSA9IDA7CisKKwlpZiAoY21kX2J1ZiA9PSBOVUxMKQorCQlyZXR1cm4gTlVMTDsKKworCWlvbW11LT5jbWRfYnVmX3NpemUgPSBDTURfQlVGRkVSX1NJWkU7CisKKwltZW1zZXQoY21kX2J1ZiwgMCwgQ01EX0JVRkZFUl9TSVpFKTsKKworCWVudHJ5ID0gKHU2NCl2aXJ0X3RvX3BoeXMoY21kX2J1Zik7CisJZW50cnkgfD0gTU1JT19DTURfU0laRV81MTI7CisJbWVtY3B5X3RvaW8oaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ01EX0JVRl9PRkZTRVQsCisJCQkmZW50cnksIHNpemVvZihlbnRyeSkpOworCisJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfQ01EQlVGX0VOKTsKKworCXJldHVybiBjbWRfYnVmOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZnJlZV9jb21tYW5kX2J1ZmZlcihzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlpZiAoaW9tbXUtPmNtZF9idWYpCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpaW9tbXUtPmNtZF9idWYsCisJCQkJZ2V0X29yZGVyKENNRF9CVUZGRVJfU0laRSkpOworfQorCitzdGF0aWMgdm9pZCBzZXRfZGV2X2VudHJ5X2JpdCh1MTYgZGV2aWQsIHU4IGJpdCkKK3sKKwlpbnQgaSA9IChiaXQgPj4gNSkgJiAweDA3OworCWludCBfYml0ID0gYml0ICYgMHgxZjsKKworCWFtZF9pb21tdV9kZXZfdGFibGVbZGV2aWRdLmRhdGFbaV0gfD0gKDEgPDwgX2JpdCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaSh1MTYgZGV2aWQsIHUzMiBmbGFncywgdTMyIGV4dF9mbGFncykKK3sKKwlpZiAoZmxhZ3MgJiBBQ1BJX0RFVkZMQUdfSU5JVFBBU1MpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfSU5JVF9QQVNTKTsKKwlpZiAoZmxhZ3MgJiBBQ1BJX0RFVkZMQUdfRVhUSU5UKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX0VJTlRfUEFTUyk7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX05NSSkKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9OTUlfUEFTUyk7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX1NZU01HVDEpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfU1lTTUdUMSk7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX1NZU01HVDIpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfU1lTTUdUMik7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX0xJTlQwKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX0xJTlQwX1BBU1MpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19MSU5UMSkKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9MSU5UMV9QQVNTKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHNldF9pb21tdV9mb3JfZGV2aWNlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCB1MTYgZGV2aWQpCit7CisJYW1kX2lvbW11X3Jsb29rdXBfdGFibGVbZGV2aWRdID0gaW9tbXU7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXRfZGV2aWNlX2V4Y2x1c2lvbl9yYW5nZSh1MTYgZGV2aWQsIHN0cnVjdCBpdm1kX2hlYWRlciAqbSkKK3sKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSA9IGFtZF9pb21tdV9ybG9va3VwX3RhYmxlW2RldmlkXTsKKworCWlmICghKG0tPmZsYWdzICYgSVZNRF9GTEFHX0VYQ0xfUkFOR0UpKQorCQlyZXR1cm47CisKKwlpZiAoaW9tbXUpIHsKKwkJc2V0X2Rldl9lbnRyeV9iaXQobS0+ZGV2aWQsIERFVl9FTlRSWV9FWCk7CisJCWlvbW11LT5leGNsdXNpb25fc3RhcnQgPSBtLT5yYW5nZV9zdGFydDsKKwkJaW9tbXUtPmV4Y2x1c2lvbl9sZW5ndGggPSBtLT5yYW5nZV9sZW5ndGg7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9pb21tdV9mcm9tX3BjaShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlpbnQgYnVzID0gUENJX0JVUyhpb21tdS0+ZGV2aWQpOworCWludCBkZXYgPSBQQ0lfU0xPVChpb21tdS0+ZGV2aWQpOworCWludCBmbiAgPSBQQ0lfRlVOQyhpb21tdS0+ZGV2aWQpOworCWludCBjYXBfcHRyID0gaW9tbXUtPmNhcF9wdHI7CisJdTMyIHJhbmdlOworCisJaW9tbXUtPmNhcCA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIGRldiwgZm4sIGNhcF9wdHIrTU1JT19DQVBfSERSX09GRlNFVCk7CisKKwlyYW5nZSA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIGRldiwgZm4sIGNhcF9wdHIrTU1JT19SQU5HRV9PRkZTRVQpOworCWlvbW11LT5maXJzdF9kZXZpY2UgPSBERVZJRChNTUlPX0dFVF9CVVMocmFuZ2UpLCBNTUlPX0dFVF9GRChyYW5nZSkpOworCWlvbW11LT5sYXN0X2RldmljZSA9IERFVklEKE1NSU9fR0VUX0JVUyhyYW5nZSksIE1NSU9fR0VUX0xEKHJhbmdlKSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpbml0X2lvbW11X2Zyb21fYWNwaShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCQkJc3RydWN0IGl2aGRfaGVhZGVyICpoKQoreworCXU4ICpwID0gKHU4ICopaDsKKwl1OCAqZW5kID0gcCwgZmxhZ3MgPSAwOworCXUxNiBkZXZfaSwgZGV2aWQgPSAwLCBkZXZpZF9zdGFydCA9IDAsIGRldmlkX3RvID0gMDsKKwl1MzIgZXh0X2ZsYWdzID0gMDsKKwlib29sIGFsaWFzID0gMDsKKwlzdHJ1Y3QgaXZoZF9lbnRyeSAqZTsKKworCS8qCisJICogRmlyc3Qgc2V0IHRoZSByZWNvbW1lbmRlZCBmZWF0dXJlIGVuYWJsZSBiaXRzIGZyb20gQUNQSQorCSAqIGludG8gdGhlIElPTU1VIGNvbnRyb2wgcmVnaXN0ZXJzCisJICovCisJaC0+ZmxhZ3MgJiBJVkhEX0ZMQUdfSFRfVFVOX0VOID8KKwkJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfSFRfVFVOX0VOKSA6CisJCWlvbW11X2ZlYXR1cmVfZGlzYWJsZShpb21tdSwgQ09OVFJPTF9IVF9UVU5fRU4pOworCisJaC0+ZmxhZ3MgJiBJVkhEX0ZMQUdfUEFTU1BXX0VOID8KKwkJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfUEFTU1BXX0VOKSA6CisJCWlvbW11X2ZlYXR1cmVfZGlzYWJsZShpb21tdSwgQ09OVFJPTF9QQVNTUFdfRU4pOworCisJaC0+ZmxhZ3MgJiBJVkhEX0ZMQUdfUkVTUEFTU1BXX0VOID8KKwkJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfUkVTUEFTU1BXX0VOKSA6CisJCWlvbW11X2ZlYXR1cmVfZGlzYWJsZShpb21tdSwgQ09OVFJPTF9SRVNQQVNTUFdfRU4pOworCisJaC0+ZmxhZ3MgJiBJVkhEX0ZMQUdfSVNPQ19FTiA/CisJCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX0lTT0NfRU4pIDoKKwkJaW9tbXVfZmVhdHVyZV9kaXNhYmxlKGlvbW11LCBDT05UUk9MX0lTT0NfRU4pOworCisJLyoKKwkgKiBtYWtlIElPTU1VIG1lbW9yeSBhY2Nlc3NlcyBjYWNoZSBjb2hlcmVudAorCSAqLworCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX0NPSEVSRU5UX0VOKTsKKworCS8qCisJICogRG9uZS4gTm93IHBhcnNlIHRoZSBkZXZpY2UgZW50cmllcworCSAqLworCXAgKz0gc2l6ZW9mKHN0cnVjdCBpdmhkX2hlYWRlcik7CisJZW5kICs9IGgtPmxlbmd0aDsKKworCXdoaWxlIChwIDwgZW5kKSB7CisJCWUgPSAoc3RydWN0IGl2aGRfZW50cnkgKilwOworCQlzd2l0Y2ggKGUtPnR5cGUpIHsKKwkJY2FzZSBJVkhEX0RFVl9BTEw6CisJCQlmb3IgKGRldl9pID0gaW9tbXUtPmZpcnN0X2RldmljZTsKKwkJCQkJZGV2X2kgPD0gaW9tbXUtPmxhc3RfZGV2aWNlOyArK2Rldl9pKQorCQkJCXNldF9kZXZfZW50cnlfZnJvbV9hY3BpKGRldl9pLCBlLT5mbGFncywgMCk7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9TRUxFQ1Q6CisJCQlkZXZpZCA9IGUtPmRldmlkOworCQkJc2V0X2Rldl9lbnRyeV9mcm9tX2FjcGkoZGV2aWQsIGUtPmZsYWdzLCAwKTsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX1NFTEVDVF9SQU5HRV9TVEFSVDoKKwkJCWRldmlkX3N0YXJ0ID0gZS0+ZGV2aWQ7CisJCQlmbGFncyA9IGUtPmZsYWdzOworCQkJZXh0X2ZsYWdzID0gMDsKKwkJCWFsaWFzID0gMDsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX0FMSUFTOgorCQkJZGV2aWQgPSBlLT5kZXZpZDsKKwkJCWRldmlkX3RvID0gZS0+ZXh0ID4+IDg7CisJCQlzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaShkZXZpZCwgZS0+ZmxhZ3MsIDApOworCQkJYW1kX2lvbW11X2FsaWFzX3RhYmxlW2RldmlkXSA9IGRldmlkX3RvOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfQUxJQVNfUkFOR0U6CisJCQlkZXZpZF9zdGFydCA9IGUtPmRldmlkOworCQkJZmxhZ3MgPSBlLT5mbGFnczsKKwkJCWRldmlkX3RvID0gZS0+ZXh0ID4+IDg7CisJCQlleHRfZmxhZ3MgPSAwOworCQkJYWxpYXMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfRVhUX1NFTEVDVDoKKwkJCWRldmlkID0gZS0+ZGV2aWQ7CisJCQlzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaShkZXZpZCwgZS0+ZmxhZ3MsIGUtPmV4dCk7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9FWFRfU0VMRUNUX1JBTkdFOgorCQkJZGV2aWRfc3RhcnQgPSBlLT5kZXZpZDsKKwkJCWZsYWdzID0gZS0+ZmxhZ3M7CisJCQlleHRfZmxhZ3MgPSBlLT5leHQ7CisJCQlhbGlhcyA9IDA7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9SQU5HRV9FTkQ6CisJCQlkZXZpZCA9IGUtPmRldmlkOworCQkJZm9yIChkZXZfaSA9IGRldmlkX3N0YXJ0OyBkZXZfaSA8PSBkZXZpZDsgKytkZXZfaSkgeworCQkJCWlmIChhbGlhcykKKwkJCQkJYW1kX2lvbW11X2FsaWFzX3RhYmxlW2Rldl9pXSA9IGRldmlkX3RvOworCQkJCXNldF9kZXZfZW50cnlfZnJvbV9hY3BpKAorCQkJCQkJYW1kX2lvbW11X2FsaWFzX3RhYmxlW2Rldl9pXSwKKwkJCQkJCWZsYWdzLCBleHRfZmxhZ3MpOworCQkJfQorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCisJCXAgKz0gMHgwNCA8PCAoZS0+dHlwZSA+PiA2KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfaW9tbXVfZGV2aWNlcyhzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwl1MTYgaTsKKworCWZvciAoaSA9IGlvbW11LT5maXJzdF9kZXZpY2U7IGkgPD0gaW9tbXUtPmxhc3RfZGV2aWNlOyArK2kpCisJCXNldF9pb21tdV9mb3JfZGV2aWNlKGlvbW11LCBpKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZnJlZV9pb21tdV9vbmUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJZnJlZV9jb21tYW5kX2J1ZmZlcihpb21tdSk7CisJaW9tbXVfdW5tYXBfbW1pb19zcGFjZShpb21tdSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBmcmVlX2lvbW11X2FsbCh2b2lkKQoreworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCAqbmV4dDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShpb21tdSwgbmV4dCwgJmFtZF9pb21tdV9saXN0LCBsaXN0KSB7CisJCWxpc3RfZGVsKCZpb21tdS0+bGlzdCk7CisJCWZyZWVfaW9tbXVfb25lKGlvbW11KTsKKwkJa2ZyZWUoaW9tbXUpOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgaW5pdF9pb21tdV9vbmUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHN0cnVjdCBpdmhkX2hlYWRlciAqaCkKK3sKKwlzcGluX2xvY2tfaW5pdCgmaW9tbXUtPmxvY2spOworCWxpc3RfYWRkX3RhaWwoJmlvbW11LT5saXN0LCAmYW1kX2lvbW11X2xpc3QpOworCisJLyoKKwkgKiBDb3B5IGRhdGEgZnJvbSBBQ1BJIHRhYmxlIGVudHJ5IHRvIHRoZSBpb21tdSBzdHJ1Y3QKKwkgKi8KKwlpb21tdS0+ZGV2aWQgPSBoLT5kZXZpZDsKKwlpb21tdS0+Y2FwX3B0ciA9IGgtPmNhcF9wdHI7CisJaW9tbXUtPm1taW9fcGh5cyA9IGgtPm1taW9fcGh5czsKKwlpb21tdS0+bW1pb19iYXNlID0gaW9tbXVfbWFwX21taW9fc3BhY2UoaC0+bW1pb19waHlzKTsKKwlpZiAoIWlvbW11LT5tbWlvX2Jhc2UpCisJCXJldHVybiAtRU5PTUVNOworCisJaW9tbXVfc2V0X2RldmljZV90YWJsZShpb21tdSk7CisJaW9tbXUtPmNtZF9idWYgPSBhbGxvY19jb21tYW5kX2J1ZmZlcihpb21tdSk7CisJaWYgKCFpb21tdS0+Y21kX2J1ZikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpbml0X2lvbW11X2Zyb21fcGNpKGlvbW11KTsKKwlpbml0X2lvbW11X2Zyb21fYWNwaShpb21tdSwgaCk7CisJaW5pdF9pb21tdV9kZXZpY2VzKGlvbW11KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0X2lvbW11X2FsbChzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlKQoreworCXU4ICpwID0gKHU4ICopdGFibGUsICplbmQgPSAodTggKil0YWJsZTsKKwlzdHJ1Y3QgaXZoZF9oZWFkZXIgKmg7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJaW50IHJldDsKKworCUlOSVRfTElTVF9IRUFEKCZhbWRfaW9tbXVfbGlzdCk7CisKKwllbmQgKz0gdGFibGUtPmxlbmd0aDsKKwlwICs9IElWUlNfSEVBREVSX0xFTkdUSDsKKworCXdoaWxlIChwIDwgZW5kKSB7CisJCWggPSAoc3RydWN0IGl2aGRfaGVhZGVyICopcDsKKwkJc3dpdGNoICgqcCkgeworCQljYXNlIEFDUElfSVZIRF9UWVBFOgorCQkJaW9tbXUgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYW1kX2lvbW11KSwgR0ZQX0tFUk5FTCk7CisJCQlpZiAoaW9tbXUgPT0gTlVMTCkKKwkJCQlyZXR1cm4gLUVOT01FTTsKKwkJCXJldCA9IGluaXRfaW9tbXVfb25lKGlvbW11LCBoKTsKKwkJCWlmIChyZXQpCisJCQkJcmV0dXJuIHJldDsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwkJcCArPSBoLT5sZW5ndGg7CisKKwl9CisJV0FSTl9PTihwICE9IGVuZCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGZyZWVfdW5pdHlfbWFwcyh2b2lkKQoreworCXN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmVudHJ5LCAqbmV4dDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShlbnRyeSwgbmV4dCwgJmFtZF9pb21tdV91bml0eV9tYXAsIGxpc3QpIHsKKwkJbGlzdF9kZWwoJmVudHJ5LT5saXN0KTsKKwkJa2ZyZWUoZW50cnkpOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgaW5pdF9leGNsdXNpb25fcmFuZ2Uoc3RydWN0IGl2bWRfaGVhZGVyICptKQoreworCWludCBpOworCisJc3dpdGNoIChtLT50eXBlKSB7CisJY2FzZSBBQ1BJX0lWTURfVFlQRToKKwkJc2V0X2RldmljZV9leGNsdXNpb25fcmFuZ2UobS0+ZGV2aWQsIG0pOworCQlicmVhazsKKwljYXNlIEFDUElfSVZNRF9UWVBFX0FMTDoKKwkJZm9yIChpID0gMDsgaSA8IGFtZF9pb21tdV9sYXN0X2JkZjsgKytpKQorCQkJc2V0X2RldmljZV9leGNsdXNpb25fcmFuZ2UoaSwgbSk7CisJCWJyZWFrOworCWNhc2UgQUNQSV9JVk1EX1RZUEVfUkFOR0U6CisJCWZvciAoaSA9IG0tPmRldmlkOyBpIDw9IG0tPmF1eDsgKytpKQorCQkJc2V0X2RldmljZV9leGNsdXNpb25fcmFuZ2UoaSwgbSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0X3VuaXR5X21hcF9yYW5nZShzdHJ1Y3QgaXZtZF9oZWFkZXIgKm0pCit7CisJc3RydWN0IHVuaXR5X21hcF9lbnRyeSAqZSA9IDA7CisKKwllID0ga3phbGxvYyhzaXplb2YoKmUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXN3aXRjaCAobS0+dHlwZSkgeworCWRlZmF1bHQ6CisJY2FzZSBBQ1BJX0lWTURfVFlQRToKKwkJZS0+ZGV2aWRfc3RhcnQgPSBlLT5kZXZpZF9lbmQgPSBtLT5kZXZpZDsKKwkJYnJlYWs7CisJY2FzZSBBQ1BJX0lWTURfVFlQRV9BTEw6CisJCWUtPmRldmlkX3N0YXJ0ID0gMDsKKwkJZS0+ZGV2aWRfZW5kID0gYW1kX2lvbW11X2xhc3RfYmRmOworCQlicmVhazsKKwljYXNlIEFDUElfSVZNRF9UWVBFX1JBTkdFOgorCQllLT5kZXZpZF9zdGFydCA9IG0tPmRldmlkOworCQllLT5kZXZpZF9lbmQgPSBtLT5hdXg7CisJCWJyZWFrOworCX0KKwllLT5hZGRyZXNzX3N0YXJ0ID0gUEFHRV9BTElHTihtLT5yYW5nZV9zdGFydCk7CisJZS0+YWRkcmVzc19lbmQgPSBlLT5hZGRyZXNzX3N0YXJ0ICsgUEFHRV9BTElHTihtLT5yYW5nZV9sZW5ndGgpOworCWUtPnByb3QgPSBtLT5mbGFncyA+PiAxOworCisJbGlzdF9hZGRfdGFpbCgmZS0+bGlzdCwgJmFtZF9pb21tdV91bml0eV9tYXApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfbWVtb3J5X2RlZmluaXRpb25zKHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqdGFibGUpCit7CisJdTggKnAgPSAodTggKil0YWJsZSwgKmVuZCA9ICh1OCAqKXRhYmxlOworCXN0cnVjdCBpdm1kX2hlYWRlciAqbTsKKworCUlOSVRfTElTVF9IRUFEKCZhbWRfaW9tbXVfdW5pdHlfbWFwKTsKKworCWVuZCArPSB0YWJsZS0+bGVuZ3RoOworCXAgKz0gSVZSU19IRUFERVJfTEVOR1RIOworCisJd2hpbGUgKHAgPCBlbmQpIHsKKwkJbSA9IChzdHJ1Y3QgaXZtZF9oZWFkZXIgKilwOworCQlpZiAobS0+ZmxhZ3MgJiBJVk1EX0ZMQUdfRVhDTF9SQU5HRSkKKwkJCWluaXRfZXhjbHVzaW9uX3JhbmdlKG0pOworCQllbHNlIGlmIChtLT5mbGFncyAmIElWTURfRkxBR19VTklUWV9NQVApCisJCQlpbml0X3VuaXR5X21hcF9yYW5nZShtKTsKKworCQlwICs9IG0tPmxlbmd0aDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGVuYWJsZV9pb21tdXModm9pZCkKK3sKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoaW9tbXUsICZhbWRfaW9tbXVfbGlzdCwgbGlzdCkgeworCQlpb21tdV9zZXRfZXhjbHVzaW9uX3JhbmdlKGlvbW11KTsKKwkJaW9tbXVfZW5hYmxlKGlvbW11KTsKKwl9Cit9CisKKy8qCisgKiBTdXNwZW5kL1Jlc3VtZSBzdXBwb3J0CisgKiBkaXNhYmxlIHN1c3BlbmQgdW50aWwgcmVhbCByZXN1bWUgaW1wbGVtZW50ZWQKKyAqLworCitzdGF0aWMgaW50IGFtZF9pb21tdV9yZXN1bWUoc3RydWN0IHN5c19kZXZpY2UgKmRldikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhbWRfaW9tbXVfc3VzcGVuZChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzIGFtZF9pb21tdV9zeXNkZXZfY2xhc3MgPSB7CisJLm5hbWUgPSAiYW1kX2lvbW11IiwKKwkuc3VzcGVuZCA9IGFtZF9pb21tdV9zdXNwZW5kLAorCS5yZXN1bWUgPSBhbWRfaW9tbXVfcmVzdW1lLAorfTsKKworc3RhdGljIHN0cnVjdCBzeXNfZGV2aWNlIGRldmljZV9hbWRfaW9tbXUgPSB7CisJLmlkID0gMCwKKwkuY2xzID0gJmFtZF9pb21tdV9zeXNkZXZfY2xhc3MsCit9OworCitpbnQgX19pbml0IGFtZF9pb21tdV9pbml0KHZvaWQpCit7CisJaW50IGksIHJldCA9IDA7CisKKworCWlmIChub19pb21tdSkgeworCQlwcmludGsoS0VSTl9JTkZPICJBTUQgSU9NTVUgZGlzYWJsZWQgYnkga2VybmVsIGNvbW1hbmQgbGluZVxuIik7CisJCXJldHVybiAwOworCX0KKworCWlmICghYW1kX2lvbW11X2RldGVjdGVkKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCS8qCisJICogRmlyc3QgcGFyc2UgQUNQSSB0YWJsZXMgdG8gZmluZCB0aGUgbGFyZ2VzdCBCdXMvRGV2L0Z1bmMKKwkgKiB3ZSBuZWVkIHRvIGhhbmRsZS4gVXBvbiB0aGlzIGluZm9ybWF0aW9uIHRoZSBzaGFyZWQgZGF0YQorCSAqIHN0cnVjdHVyZXMgZm9yIHRoZSBJT01NVXMgaW4gdGhlIHN5c3RlbSB3aWxsIGJlIGFsbG9jYXRlZAorCSAqLworCWlmIChhY3BpX3RhYmxlX3BhcnNlKCJJVlJTIiwgZmluZF9sYXN0X2RldmlkX2FjcGkpICE9IDApCisJCXJldHVybiAtRU5PREVWOworCisJZGV2X3RhYmxlX3NpemUgICAgID0gVEJMX1NJWkUoREVWX1RBQkxFX0VOVFJZX1NJWkUpOworCWFsaWFzX3RhYmxlX3NpemUgICA9IFRCTF9TSVpFKEFMSUFTX1RBQkxFX0VOVFJZX1NJWkUpOworCXJsb29rdXBfdGFibGVfc2l6ZSA9IFRCTF9TSVpFKFJMT09LVVBfVEFCTEVfRU5UUllfU0laRSk7CisKKwlyZXQgPSAtRU5PTUVNOworCisJLyogRGV2aWNlIHRhYmxlIC0gZGlyZWN0bHkgdXNlZCBieSBhbGwgSU9NTVVzICovCisJYW1kX2lvbW11X2Rldl90YWJsZSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJCSAgICAgIGdldF9vcmRlcihkZXZfdGFibGVfc2l6ZSkpOworCWlmIChhbWRfaW9tbXVfZGV2X3RhYmxlID09IE5VTEwpCisJCWdvdG8gb3V0OworCisJLyoKKwkgKiBBbGlhcyB0YWJsZSAtIG1hcCBQQ0kgQnVzL0Rldi9GdW5jIHRvIEJ1cy9EZXYvRnVuYyB0aGUKKwkgKiBJT01NVSBzZWUgZm9yIHRoYXQgZGV2aWNlCisJICovCisJYW1kX2lvbW11X2FsaWFzX3RhYmxlID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsCisJCQlnZXRfb3JkZXIoYWxpYXNfdGFibGVfc2l6ZSkpOworCWlmIChhbWRfaW9tbXVfYWxpYXNfdGFibGUgPT0gTlVMTCkKKwkJZ290byBmcmVlOworCisJLyogSU9NTVUgcmxvb2t1cCB0YWJsZSAtIGZpbmQgdGhlIElPTU1VIGZvciBhIHNwZWNpZmljIGRldmljZSAqLworCWFtZF9pb21tdV9ybG9va3VwX3RhYmxlID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsCisJCQlnZXRfb3JkZXIocmxvb2t1cF90YWJsZV9zaXplKSk7CisJaWYgKGFtZF9pb21tdV9ybG9va3VwX3RhYmxlID09IE5VTEwpCisJCWdvdG8gZnJlZTsKKworCS8qCisJICogUHJvdGVjdGlvbiBEb21haW4gdGFibGUgLSBtYXBzIGRldmljZXMgdG8gcHJvdGVjdGlvbiBkb21haW5zCisJICogVGhpcyB0YWJsZSBoYXMgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgcmxvb2t1cF90YWJsZQorCSAqLworCWFtZF9pb21tdV9wZF90YWJsZSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJCSAgICAgZ2V0X29yZGVyKHJsb29rdXBfdGFibGVfc2l6ZSkpOworCWlmIChhbWRfaW9tbXVfcGRfdGFibGUgPT0gTlVMTCkKKwkJZ290byBmcmVlOworCisJYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJCQkgICAgZ2V0X29yZGVyKE1BWF9ET01BSU5fSUQvOCkpOworCWlmIChhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwID09IE5VTEwpCisJCWdvdG8gZnJlZTsKKworCS8qCisJICogbWVtb3J5IGlzIGFsbG9jYXRlZCBub3c7IGluaXRpYWxpemUgdGhlIGRldmljZSB0YWJsZSB3aXRoIGFsbCB6ZXJvZXMKKwkgKiBhbmQgbGV0IGFsbCBhbGlhcyBlbnRyaWVzIHBvaW50IHRvIGl0c2VsZgorCSAqLworCW1lbXNldChhbWRfaW9tbXVfZGV2X3RhYmxlLCAwLCBkZXZfdGFibGVfc2l6ZSk7CisJZm9yIChpID0gMDsgaSA8IGFtZF9pb21tdV9sYXN0X2JkZjsgKytpKQorCQlhbWRfaW9tbXVfYWxpYXNfdGFibGVbaV0gPSBpOworCisJbWVtc2V0KGFtZF9pb21tdV9wZF90YWJsZSwgMCwgcmxvb2t1cF90YWJsZV9zaXplKTsKKwltZW1zZXQoYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCwgMCwgTUFYX0RPTUFJTl9JRCAvIDgpOworCisJLyoKKwkgKiBuZXZlciBhbGxvY2F0ZSBkb21haW4gMCBiZWNhdXNlIGl0cyB1c2VkIGFzIHRoZSBub24tYWxsb2NhdGVkIGFuZAorCSAqIGVycm9yIHZhbHVlIHBsYWNlaG9sZGVyCisJICovCisJYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcFswXSA9IDE7CisKKwkvKgorCSAqIG5vdyB0aGUgZGF0YSBzdHJ1Y3R1cmVzIGFyZSBhbGxvY2F0ZWQgYW5kIGJhc2ljYWxseSBpbml0aWFsaXplZAorCSAqIHN0YXJ0IHRoZSByZWFsIGFjcGkgdGFibGUgc2NhbgorCSAqLworCXJldCA9IC1FTk9ERVY7CisJaWYgKGFjcGlfdGFibGVfcGFyc2UoIklWUlMiLCBpbml0X2lvbW11X2FsbCkgIT0gMCkKKwkJZ290byBmcmVlOworCisJaWYgKGFjcGlfdGFibGVfcGFyc2UoIklWUlMiLCBpbml0X21lbW9yeV9kZWZpbml0aW9ucykgIT0gMCkKKwkJZ290byBmcmVlOworCisJcmV0ID0gYW1kX2lvbW11X2luaXRfZG1hX29wcygpOworCWlmIChyZXQpCisJCWdvdG8gZnJlZTsKKworCXJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmYW1kX2lvbW11X3N5c2Rldl9jbGFzcyk7CisJaWYgKHJldCkKKwkJZ290byBmcmVlOworCisJcmV0ID0gc3lzZGV2X3JlZ2lzdGVyKCZkZXZpY2VfYW1kX2lvbW11KTsKKwlpZiAocmV0KQorCQlnb3RvIGZyZWU7CisKKwllbmFibGVfaW9tbXVzKCk7CisKKwlwcmludGsoS0VSTl9JTkZPICJBTUQgSU9NTVU6IGFwZXJ0dXJlIHNpemUgaXMgJWQgTUJcbiIsCisJCQkoMSA8PCAoYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyLTIwKSkpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIElPTU1VOiBkZXZpY2UgaXNvbGF0aW9uICIpOworCWlmIChhbWRfaW9tbXVfaXNvbGF0ZSkKKwkJcHJpbnRrKCJlbmFibGVkXG4iKTsKKwllbHNlCisJCXByaW50aygiZGlzYWJsZWRcbiIpOworCitvdXQ6CisJcmV0dXJuIHJldDsKKworZnJlZToKKwlpZiAoYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCkKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZylhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwLCAxKTsKKworCWlmIChhbWRfaW9tbXVfcGRfdGFibGUpCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpYW1kX2lvbW11X3BkX3RhYmxlLAorCQkJCWdldF9vcmRlcihybG9va3VwX3RhYmxlX3NpemUpKTsKKworCWlmIChhbWRfaW9tbXVfcmxvb2t1cF90YWJsZSkKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZylhbWRfaW9tbXVfcmxvb2t1cF90YWJsZSwKKwkJCQlnZXRfb3JkZXIocmxvb2t1cF90YWJsZV9zaXplKSk7CisKKwlpZiAoYW1kX2lvbW11X2FsaWFzX3RhYmxlKQorCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKWFtZF9pb21tdV9hbGlhc190YWJsZSwKKwkJCQlnZXRfb3JkZXIoYWxpYXNfdGFibGVfc2l6ZSkpOworCisJaWYgKGFtZF9pb21tdV9kZXZfdGFibGUpCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpYW1kX2lvbW11X2Rldl90YWJsZSwKKwkJCQlnZXRfb3JkZXIoZGV2X3RhYmxlX3NpemUpKTsKKworCWZyZWVfaW9tbXVfYWxsKCk7CisKKwlmcmVlX3VuaXR5X21hcHMoKTsKKworCWdvdG8gb3V0OworfQorCitzdGF0aWMgaW50IF9faW5pdCBlYXJseV9hbWRfaW9tbXVfZGV0ZWN0KHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqdGFibGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgX19pbml0IGFtZF9pb21tdV9kZXRlY3Qodm9pZCkKK3sKKwlpZiAoc3dpb3RsYiB8fCBub19pb21tdSB8fCBpb21tdV9kZXRlY3RlZCkKKwkJcmV0dXJuOworCisJaWYgKGFjcGlfdGFibGVfcGFyc2UoIklWUlMiLCBlYXJseV9hbWRfaW9tbXVfZGV0ZWN0KSA9PSAwKSB7CisJCWlvbW11X2RldGVjdGVkID0gMTsKKwkJYW1kX2lvbW11X2RldGVjdGVkID0gMTsKKyNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQorCQlnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkID0gMTsKKwkJZ2FydF9pb21tdV9hcGVydHVyZSA9IDA7CisjZW5kaWYKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX2FtZF9pb21tdV9vcHRpb25zKGNoYXIgKnN0cikKK3sKKwlmb3IgKDsgKnN0cjsgKytzdHIpIHsKKwkJaWYgKHN0cmNtcChzdHIsICJpc29sYXRlIikgPT0gMCkKKwkJCWFtZF9pb21tdV9pc29sYXRlID0gMTsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBfX2luaXQgcGFyc2VfYW1kX2lvbW11X3NpemVfb3B0aW9ucyhjaGFyICpzdHIpCit7CisJZm9yICg7ICpzdHI7ICsrc3RyKSB7CisJCWlmIChzdHJjbXAoc3RyLCAiMzJNIikgPT0gMCkKKwkJCWFtZF9pb21tdV9hcGVydHVyZV9vcmRlciA9IDI1OworCQlpZiAoc3RyY21wKHN0ciwgIjY0TSIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyNjsKKwkJaWYgKHN0cmNtcChzdHIsICIxMjhNIikgPT0gMCkKKwkJCWFtZF9pb21tdV9hcGVydHVyZV9vcmRlciA9IDI3OworCQlpZiAoc3RyY21wKHN0ciwgIjI1Nk0iKSA9PSAwKQorCQkJYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMjg7CisJCWlmIChzdHJjbXAoc3RyLCAiNTEyTSIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyOTsKKwkJaWYgKHN0cmNtcChzdHIsICIxRyIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAzMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworX19zZXR1cCgiYW1kX2lvbW11PSIsIHBhcnNlX2FtZF9pb21tdV9vcHRpb25zKTsKK19fc2V0dXAoImFtZF9pb21tdV9zaXplPSIsIHBhcnNlX2FtZF9pb21tdV9zaXplX29wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FwZXJ0dXJlXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYXBlcnR1cmVfNjQuYwppbmRleCA0Nzk5MjZkLi45ZjkwNzgwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYXBlcnR1cmVfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXBlcnR1cmVfNjQuYwpAQCAtMzUsNiArMzUsMTggQEAKIAogaW50IGZpeF9hcGVydHVyZSBfX2luaXRkYXRhID0gMTsKIAorc3RydWN0IGJ1c19kZXZfcmFuZ2UgeworCWludCBidXM7CisJaW50IGRldl9iYXNlOworCWludCBkZXZfbGltaXQ7Cit9OworCitzdGF0aWMgc3RydWN0IGJ1c19kZXZfcmFuZ2UgYnVzX2Rldl9yYW5nZXNbXSBfX2luaXRkYXRhID0geworCXsgMHgwMCwgMHgxOCwgMHgyMH0sCisJeyAweGZmLCAweDAwLCAweDIwfSwKKwl7IDB4ZmUsIDB4MDAsIDB4MjB9Cit9OworCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGdhcnRfcmVzb3VyY2UgPSB7CiAJLm5hbWUJPSAiR0FSVCIsCiAJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCkBAIC01NSw4ICs2Nyw5IEBACiAJdTMyIGFwZXJfc2l6ZTsKIAl2b2lkICpwOwogCi0JaWYgKGZhbGxiYWNrX2FwZXJfb3JkZXIgPiA3KQotCQlmYWxsYmFja19hcGVyX29yZGVyID0gNzsKKwkvKiBhcGVyX3NpemUgc2hvdWxkIDw9IDFHICovCisJaWYgKGZhbGxiYWNrX2FwZXJfb3JkZXIgPiA1KQorCQlmYWxsYmFja19hcGVyX29yZGVyID0gNTsKIAlhcGVyX3NpemUgPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgZmFsbGJhY2tfYXBlcl9vcmRlcjsKIAogCS8qCkBAIC02NSw3ICs3OCwyMCBAQAogCSAqIG1lbW9yeS4gVW5mb3J0dW5hdGVseSB3ZSBjYW5ub3QgbW92ZSBpdCB1cCBiZWNhdXNlIHRoYXQgd291bGQKIAkgKiBtYWtlIHRoZSBJT01NVSB1c2VsZXNzLgogCSAqLwotCXAgPSBfX2FsbG9jX2Jvb3RtZW1fbm9wYW5pYyhhcGVyX3NpemUsIGFwZXJfc2l6ZSwgMCk7CisJLyoKKwkgKiB1c2luZyA1MTJNIGFzIGdvYWwsIGluIGNhc2Uga2V4ZWMgd2lsbCBsb2FkIGtlcm5lbF9iaWcKKwkgKiB0aGF0IHdpbGwgZG8gdGhlIG9uIHBvc2l0aW9uIGRlY29tcHJlc3MsIGFuZCAgY291bGQgb3ZlcmxhcCB3aXRoCisJICogdGhhdCBwb3NpdG9uIHdpdGggZ2FydCB0aGF0IGlzIHVzZWQuCisJICogc2VxdWVuZGU6CisJICoga2VybmVsX3NtYWxsCisJICogPT0+IGtleGVjICh3aXRoIGtkdW1wIHRyaWdnZXIgcGF0aCBvciBwcmV2aW91cyBkb2Vzbid0IHNodXRkb3duIGdhcnQpCisJICogPT0+IGtlcm5lbF9zbWFsbChnYXJ0IGFyZWEgYmVjb21lIGU4MjBfcmVzZXJ2ZWQpCisJICogPT0+IGtleGVjICh3aXRoIGtkdW1wIHRyaWdnZXIgcGF0aCBvciBwcmV2aW91cyBkb2Vzbid0IHNodXRkb3duIGdhcnQpCisJICogPT0+IGtlcm5lX2JpZyAodW5jb21wcmVzc2VkIHNpemUgd2lsbCBiZSBiaWcgdGhhbiA2NE0gb3IgMTI4TSkKKwkgKiBzbyBkb24ndCB1c2UgNTEyTSBiZWxvdyBhcyBnYXJ0IGlvbW11LCBsZWF2ZSB0aGUgc3BhY2UgZm9yIGtlcm5lbAorCSAqIGNvZGUgZm9yIHNhZmUKKwkgKi8KKwlwID0gX19hbGxvY19ib290bWVtX25vcGFuaWMoYXBlcl9zaXplLCBhcGVyX3NpemUsIDUxMlVMTDw8MjApOwogCWlmICghcCB8fCBfX3BhKHApK2FwZXJfc2l6ZSA+IDB4ZmZmZmZmZmYpIHsKIAkJcHJpbnRrKEtFUk5fRVJSCiAJCQkiQ2Fubm90IGFsbG9jYXRlIGFwZXJ0dXJlIG1lbW9yeSBob2xlICglcCwldUspXG4iLApAQCAtODMsNjkgKzEwOSw1MyBAQAogCXJldHVybiAodTMyKV9fcGEocCk7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IGFwZXJ0dXJlX3ZhbGlkKHU2NCBhcGVyX2Jhc2UsIHUzMiBhcGVyX3NpemUpCi17Ci0JaWYgKCFhcGVyX2Jhc2UpCi0JCXJldHVybiAwOwotCi0JaWYgKGFwZXJfYmFzZSArIGFwZXJfc2l6ZSA+IDB4MTAwMDAwMDAwVUwpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJBcGVydHVyZSBiZXlvbmQgNEdCLiBJZ25vcmluZy5cbiIpOwotCQlyZXR1cm4gMDsKLQl9Ci0JaWYgKGU4MjBfYW55X21hcHBlZChhcGVyX2Jhc2UsIGFwZXJfYmFzZSArIGFwZXJfc2l6ZSwgRTgyMF9SQU0pKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiQXBlcnR1cmUgcG9pbnRpbmcgdG8gZTgyMCBSQU0uIElnbm9yaW5nLlxuIik7Ci0JCXJldHVybiAwOwotCX0KLQlpZiAoYXBlcl9zaXplIDwgNjQqMTAyNCoxMDI0KSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiQXBlcnR1cmUgdG9vIHNtYWxsICglZCBNQilcbiIsIGFwZXJfc2l6ZT4+MjApOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlyZXR1cm4gMTsKLX0KIAogLyogRmluZCBhIFBDSSBjYXBhYmlsaXR5ICovCi1zdGF0aWMgX191MzIgX19pbml0IGZpbmRfY2FwKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYywgaW50IGNhcCkKK3N0YXRpYyB1MzIgX19pbml0IGZpbmRfY2FwKGludCBidXMsIGludCBzbG90LCBpbnQgZnVuYywgaW50IGNhcCkKIHsKIAlpbnQgYnl0ZXM7CiAJdTggcG9zOwogCi0JaWYgKCEocmVhZF9wY2lfY29uZmlnXzE2KG51bSwgc2xvdCwgZnVuYywgUENJX1NUQVRVUykgJgorCWlmICghKHJlYWRfcGNpX2NvbmZpZ18xNihidXMsIHNsb3QsIGZ1bmMsIFBDSV9TVEFUVVMpICYKIAkJCQkJCVBDSV9TVEFUVVNfQ0FQX0xJU1QpKQogCQlyZXR1cm4gMDsKIAotCXBvcyA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKG51bSwgc2xvdCwgZnVuYywgUENJX0NBUEFCSUxJVFlfTElTVCk7CisJcG9zID0gcmVhZF9wY2lfY29uZmlnX2J5dGUoYnVzLCBzbG90LCBmdW5jLCBQQ0lfQ0FQQUJJTElUWV9MSVNUKTsKIAlmb3IgKGJ5dGVzID0gMDsgYnl0ZXMgPCA0OCAmJiBwb3MgPj0gMHg0MDsgYnl0ZXMrKykgewogCQl1OCBpZDsKIAogCQlwb3MgJj0gfjM7Ci0JCWlkID0gcmVhZF9wY2lfY29uZmlnX2J5dGUobnVtLCBzbG90LCBmdW5jLCBwb3MrUENJX0NBUF9MSVNUX0lEKTsKKwkJaWQgPSByZWFkX3BjaV9jb25maWdfYnl0ZShidXMsIHNsb3QsIGZ1bmMsIHBvcytQQ0lfQ0FQX0xJU1RfSUQpOwogCQlpZiAoaWQgPT0gMHhmZikKIAkJCWJyZWFrOwogCQlpZiAoaWQgPT0gY2FwKQogCQkJcmV0dXJuIHBvczsKLQkJcG9zID0gcmVhZF9wY2lfY29uZmlnX2J5dGUobnVtLCBzbG90LCBmdW5jLAorCQlwb3MgPSByZWFkX3BjaV9jb25maWdfYnl0ZShidXMsIHNsb3QsIGZ1bmMsCiAJCQkJCQlwb3MrUENJX0NBUF9MSVNUX05FWFQpOwogCX0KIAlyZXR1cm4gMDsKIH0KIAogLyogUmVhZCBhIHN0YW5kYXJkIEFHUHYzIGJyaWRnZSBoZWFkZXIgKi8KLXN0YXRpYyBfX3UzMiBfX2luaXQgcmVhZF9hZ3AoaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5jLCBpbnQgY2FwLCB1MzIgKm9yZGVyKQorc3RhdGljIHUzMiBfX2luaXQgcmVhZF9hZ3AoaW50IGJ1cywgaW50IHNsb3QsIGludCBmdW5jLCBpbnQgY2FwLCB1MzIgKm9yZGVyKQogewogCXUzMiBhcHNpemU7CiAJdTMyIGFwc2l6ZXJlZzsKIAlpbnQgbmJpdHM7CiAJdTMyIGFwZXJfbG93LCBhcGVyX2hpOwogCXU2NCBhcGVyOworCXUzMiBvbGRfb3JkZXI7CiAKLQlwcmludGsoS0VSTl9JTkZPICJBR1AgYnJpZGdlIGF0ICUwMng6JTAyeDolMDJ4XG4iLCBudW0sIHNsb3QsIGZ1bmMpOwotCWFwc2l6ZXJlZyA9IHJlYWRfcGNpX2NvbmZpZ18xNihudW0sIHNsb3QsIGZ1bmMsIGNhcCArIDB4MTQpOworCXByaW50ayhLRVJOX0lORk8gIkFHUCBicmlkZ2UgYXQgJTAyeDolMDJ4OiUwMnhcbiIsIGJ1cywgc2xvdCwgZnVuYyk7CisJYXBzaXplcmVnID0gcmVhZF9wY2lfY29uZmlnXzE2KGJ1cywgc2xvdCwgZnVuYywgY2FwICsgMHgxNCk7CiAJaWYgKGFwc2l6ZXJlZyA9PSAweGZmZmZmZmZmKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiQVBTSVpFIGluIEFHUCBicmlkZ2UgdW5yZWFkYWJsZVxuIik7CiAJCXJldHVybiAwOwogCX0KIAorCS8qIG9sZF9vcmRlciBjb3VsZCBiZSB0aGUgdmFsdWUgZnJvbSBOQiBnYXJ0IHNldHRpbmcgKi8KKwlvbGRfb3JkZXIgPSAqb3JkZXI7CisKIAlhcHNpemUgPSBhcHNpemVyZWcgJiAweGZmZjsKIAkvKiBTb21lIEJJT1MgdXNlIHdlaXJkIGVuY29kaW5ncyBub3QgaW4gdGhlIEFHUHYzIHRhYmxlLiAqLwogCWlmIChhcHNpemUgJiAweGZmKQpAQCAtMTU1LDE0ICsxNjUsMjYgQEAKIAlpZiAoKGludCkqb3JkZXIgPCAwKSAvKiA8IDMyTUIgKi8KIAkJKm9yZGVyID0gMDsKIAotCWFwZXJfbG93ID0gcmVhZF9wY2lfY29uZmlnKG51bSwgc2xvdCwgZnVuYywgMHgxMCk7Ci0JYXBlcl9oaSA9IHJlYWRfcGNpX2NvbmZpZyhudW0sIHNsb3QsIGZ1bmMsIDB4MTQpOworCWFwZXJfbG93ID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgZnVuYywgMHgxMCk7CisJYXBlcl9oaSA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIGZ1bmMsIDB4MTQpOwogCWFwZXIgPSAoYXBlcl9sb3cgJiB+KCgxPDwyMiktMSkpIHwgKCh1NjQpYXBlcl9oaSA8PCAzMik7CiAKKwkvKgorCSAqIE9uIHNvbWUgc2ljayBjaGlwcywgQVBTSVpFIGlzIDAuIEl0IG1lYW5zIGl0IHdhbnRzIDRHCisJICogc28gbGV0IGRvdWJsZSBjaGVjayB0aGF0IG9yZGVyLCBhbmQgbGV0cyB0cnVzdCBBTUQgTkIgc2V0dGluZ3M6CisJICovCisJcHJpbnRrKEtFUk5fSU5GTyAiQXBlcnR1cmUgZnJvbSBBR1AgQCAlTHggb2xkIHNpemUgJXUgTUJcbiIsCisJCQlhcGVyLCAzMiA8PCBvbGRfb3JkZXIpOworCWlmIChhcGVyICsgKDMyVUxMPDwoMjAgKyAqb3JkZXIpKSA+IDB4MTAwMDAwMDAwVUxMKSB7CisJCXByaW50ayhLRVJOX0lORk8gIkFwZXJ0dXJlIHNpemUgJXUgTUIgKEFQU0laRSAleCkgaXMgbm90IHJpZ2h0LCB1c2luZyBzZXR0aW5ncyBmcm9tIE5CXG4iLAorCQkJCTMyIDw8ICpvcmRlciwgYXBzaXplcmVnKTsKKwkJKm9yZGVyID0gb2xkX29yZGVyOworCX0KKwogCXByaW50ayhLRVJOX0lORk8gIkFwZXJ0dXJlIGZyb20gQUdQIEAgJUx4IHNpemUgJXUgTUIgKEFQU0laRSAleClcbiIsCiAJCQlhcGVyLCAzMiA8PCAqb3JkZXIsIGFwc2l6ZXJlZyk7CiAKLQlpZiAoIWFwZXJ0dXJlX3ZhbGlkKGFwZXIsICgzMioxMDI0KjEwMjQpIDw8ICpvcmRlcikpCisJaWYgKCFhcGVydHVyZV92YWxpZChhcGVyLCAoMzIqMTAyNCoxMDI0KSA8PCAqb3JkZXIsIDMyPDwyMCkpCiAJCXJldHVybiAwOwogCXJldHVybiAodTMyKWFwZXI7CiB9CkBAIC0xODAsMTcgKzIwMiwxNyBAQAogICogdGhlIEFHUCBicmlkZ2VzIHNob3VsZCBiZSBhbHdheXMgYW4gb3duIGJ1cyBvbiB0aGUgSFQgaGllcmFyY2h5LAogICogYnV0IGRvIGl0IGhlcmUgZm9yIGZ1dHVyZSBzYWZldHkuCiAgKi8KLXN0YXRpYyBfX3UzMiBfX2luaXQgc2VhcmNoX2FncF9icmlkZ2UodTMyICpvcmRlciwgaW50ICp2YWxpZF9hZ3ApCitzdGF0aWMgdTMyIF9faW5pdCBzZWFyY2hfYWdwX2JyaWRnZSh1MzIgKm9yZGVyLCBpbnQgKnZhbGlkX2FncCkKIHsKLQlpbnQgbnVtLCBzbG90LCBmdW5jOworCWludCBidXMsIHNsb3QsIGZ1bmM7CiAKIAkvKiBQb29yIG1hbidzIFBDSSBkaXNjb3ZlcnkgKi8KLQlmb3IgKG51bSA9IDA7IG51bSA8IDI1NjsgbnVtKyspIHsKKwlmb3IgKGJ1cyA9IDA7IGJ1cyA8IDI1NjsgYnVzKyspIHsKIAkJZm9yIChzbG90ID0gMDsgc2xvdCA8IDMyOyBzbG90KyspIHsKIAkJCWZvciAoZnVuYyA9IDA7IGZ1bmMgPCA4OyBmdW5jKyspIHsKIAkJCQl1MzIgY2xhc3MsIGNhcDsKIAkJCQl1OCB0eXBlOwotCQkJCWNsYXNzID0gcmVhZF9wY2lfY29uZmlnKG51bSwgc2xvdCwgZnVuYywKKwkJCQljbGFzcyA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIGZ1bmMsCiAJCQkJCQkJUENJX0NMQVNTX1JFVklTSU9OKTsKIAkJCQlpZiAoY2xhc3MgPT0gMHhmZmZmZmZmZikKIAkJCQkJYnJlYWs7CkBAIC0xOTksMTcgKzIyMSwxNyBAQAogCQkJCWNhc2UgUENJX0NMQVNTX0JSSURHRV9IT1NUOgogCQkJCWNhc2UgUENJX0NMQVNTX0JSSURHRV9PVEhFUjogLyogbmVlZGVkPyAqLwogCQkJCQkvKiBBR1AgYnJpZGdlPyAqLwotCQkJCQljYXAgPSBmaW5kX2NhcChudW0sIHNsb3QsIGZ1bmMsCisJCQkJCWNhcCA9IGZpbmRfY2FwKGJ1cywgc2xvdCwgZnVuYywKIAkJCQkJCQlQQ0lfQ0FQX0lEX0FHUCk7CiAJCQkJCWlmICghY2FwKQogCQkJCQkJYnJlYWs7CiAJCQkJCSp2YWxpZF9hZ3AgPSAxOwotCQkJCQlyZXR1cm4gcmVhZF9hZ3AobnVtLCBzbG90LCBmdW5jLCBjYXAsCisJCQkJCXJldHVybiByZWFkX2FncChidXMsIHNsb3QsIGZ1bmMsIGNhcCwKIAkJCQkJCQlvcmRlcik7CiAJCQkJfQogCiAJCQkJLyogTm8gbXVsdGktZnVuY3Rpb24gZGV2aWNlPyAqLwotCQkJCXR5cGUgPSByZWFkX3BjaV9jb25maWdfYnl0ZShudW0sIHNsb3QsIGZ1bmMsCisJCQkJdHlwZSA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKGJ1cywgc2xvdCwgZnVuYywKIAkJCQkJCQkgICAgICAgUENJX0hFQURFUl9UWVBFKTsKIAkJCQlpZiAoISh0eXBlICYgMHg4MCkpCiAJCQkJCWJyZWFrOwpAQCAtMjQ5LDM2ICsyNzEsNTAgQEAKIAkgKiBvciBCSU9TIGZvcmdldCB0byBwdXQgdGhhdCBpbiByZXNlcnZlZC4KIAkgKiB0cnkgdG8gdXBkYXRlIGU4MjAgdG8gbWFrZSB0aGF0IHJlZ2lvbiBhcyByZXNlcnZlZC4KIAkgKi8KLQlpbnQgZml4LCBudW07CisJaW50IGksIGZpeCwgc2xvdDsKIAl1MzIgY3RsOwogCXUzMiBhcGVyX3NpemUgPSAwLCBhcGVyX29yZGVyID0gMCwgbGFzdF9hcGVyX29yZGVyID0gMDsKIAl1NjQgYXBlcl9iYXNlID0gMCwgbGFzdF9hcGVyX2Jhc2UgPSAwOwotCWludCBhcGVyX2VuYWJsZWQgPSAwLCBsYXN0X2FwZXJfZW5hYmxlZCA9IDA7CisJaW50IGFwZXJfZW5hYmxlZCA9IDAsIGxhc3RfYXBlcl9lbmFibGVkID0gMCwgbGFzdF92YWxpZCA9IDA7CiAKIAlpZiAoIWVhcmx5X3BjaV9hbGxvd2VkKCkpCiAJCXJldHVybjsKIAorCS8qIFRoaXMgaXMgbW9zdGx5IGR1cGxpY2F0ZSBvZiBpb21tdV9ob2xlX2luaXQgKi8KIAlmaXggPSAwOwotCWZvciAobnVtID0gMjQ7IG51bSA8IDMyOyBudW0rKykgewotCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4MDApKSkKLQkJCWNvbnRpbnVlOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJ1c19kZXZfcmFuZ2VzKTsgaSsrKSB7CisJCWludCBidXM7CisJCWludCBkZXZfYmFzZSwgZGV2X2xpbWl0OwogCi0JCWN0bCA9IHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTApOwotCQlhcGVyX2VuYWJsZWQgPSBjdGwgJiAxOwotCQlhcGVyX29yZGVyID0gKGN0bCA+PiAxKSAmIDc7Ci0JCWFwZXJfc2l6ZSA9ICgzMiAqIDEwMjQgKiAxMDI0KSA8PCBhcGVyX29yZGVyOwotCQlhcGVyX2Jhc2UgPSByZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDk0KSAmIDB4N2ZmZjsKLQkJYXBlcl9iYXNlIDw8PSAyNTsKKwkJYnVzID0gYnVzX2Rldl9yYW5nZXNbaV0uYnVzOworCQlkZXZfYmFzZSA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9iYXNlOworCQlkZXZfbGltaXQgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfbGltaXQ7CiAKLQkJaWYgKChsYXN0X2FwZXJfb3JkZXIgJiYgYXBlcl9vcmRlciAhPSBsYXN0X2FwZXJfb3JkZXIpIHx8Ci0JCSAgICAobGFzdF9hcGVyX2Jhc2UgJiYgYXBlcl9iYXNlICE9IGxhc3RfYXBlcl9iYXNlKSB8fAotCQkgICAgKGxhc3RfYXBlcl9lbmFibGVkICYmIGFwZXJfZW5hYmxlZCAhPSBsYXN0X2FwZXJfZW5hYmxlZCkpIHsKLQkJCWZpeCA9IDE7Ci0JCQlicmVhazsKKwkJZm9yIChzbG90ID0gZGV2X2Jhc2U7IHNsb3QgPCBkZXZfbGltaXQ7IHNsb3QrKykgeworCQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCAweDAwKSkpCisJCQkJY29udGludWU7CisKKwkJCWN0bCA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCk7CisJCQlhcGVyX2VuYWJsZWQgPSBjdGwgJiBBTUQ2NF9HQVJURU47CisJCQlhcGVyX29yZGVyID0gKGN0bCA+PiAxKSAmIDc7CisJCQlhcGVyX3NpemUgPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgYXBlcl9vcmRlcjsKKwkJCWFwZXJfYmFzZSA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUJBU0UpICYgMHg3ZmZmOworCQkJYXBlcl9iYXNlIDw8PSAyNTsKKworCQkJaWYgKGxhc3RfdmFsaWQpIHsKKwkJCQlpZiAoKGFwZXJfb3JkZXIgIT0gbGFzdF9hcGVyX29yZGVyKSB8fAorCQkJCSAgICAoYXBlcl9iYXNlICE9IGxhc3RfYXBlcl9iYXNlKSB8fAorCQkJCSAgICAoYXBlcl9lbmFibGVkICE9IGxhc3RfYXBlcl9lbmFibGVkKSkgeworCQkJCQlmaXggPSAxOworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisKKwkJCWxhc3RfYXBlcl9vcmRlciA9IGFwZXJfb3JkZXI7CisJCQlsYXN0X2FwZXJfYmFzZSA9IGFwZXJfYmFzZTsKKwkJCWxhc3RfYXBlcl9lbmFibGVkID0gYXBlcl9lbmFibGVkOworCQkJbGFzdF92YWxpZCA9IDE7CiAJCX0KLQkJbGFzdF9hcGVyX29yZGVyID0gYXBlcl9vcmRlcjsKLQkJbGFzdF9hcGVyX2Jhc2UgPSBhcGVyX2Jhc2U7Ci0JCWxhc3RfYXBlcl9lbmFibGVkID0gYXBlcl9lbmFibGVkOwogCX0KIAogCWlmICghZml4ICYmICFhcGVyX2VuYWJsZWQpCkBAIC0yOTAsMzIgKzMyNiw0NiBAQAogCWlmIChnYXJ0X2ZpeF9lODIwICYmICFmaXggJiYgYXBlcl9lbmFibGVkKSB7CiAJCWlmIChlODIwX2FueV9tYXBwZWQoYXBlcl9iYXNlLCBhcGVyX2Jhc2UgKyBhcGVyX3NpemUsCiAJCQkJICAgIEU4MjBfUkFNKSkgewotCQkJLyogcmVzZXJ2ZWQgaXQsIHNvIHdlIGNhbiByZXN1c2UgaXQgaW4gc2Vjb25kIGtlcm5lbCAqLworCQkJLyogcmVzZXJ2ZSBpdCwgc28gd2UgY2FuIHJldXNlIGl0IGluIHNlY29uZCBrZXJuZWwgKi8KIAkJCXByaW50ayhLRVJOX0lORk8gInVwZGF0ZSBlODIwIGZvciBHQVJUXG4iKTsKLQkJCWFkZF9tZW1vcnlfcmVnaW9uKGFwZXJfYmFzZSwgYXBlcl9zaXplLCBFODIwX1JFU0VSVkVEKTsKKwkJCWU4MjBfYWRkX3JlZ2lvbihhcGVyX2Jhc2UsIGFwZXJfc2l6ZSwgRTgyMF9SRVNFUlZFRCk7CiAJCQl1cGRhdGVfZTgyMCgpOwogCQl9Ci0JCXJldHVybjsKIAl9CiAKLQkvKiBkaWZmZXJlbnQgbm9kZXMgaGF2ZSBkaWZmZXJlbnQgc2V0dGluZywgZGlzYWJsZSB0aGVtIGFsbCBhdCBmaXJzdCovCi0JZm9yIChudW0gPSAyNDsgbnVtIDwgMzI7IG51bSsrKSB7Ci0JCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHgwMCkpKQotCQkJY29udGludWU7CisJaWYgKCFmaXgpCisJCXJldHVybjsKIAotCQljdGwgPSByZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDkwKTsKLQkJY3RsICY9IH4xOwotCQl3cml0ZV9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5MCwgY3RsKTsKKwkvKiBkaWZmZXJlbnQgbm9kZXMgaGF2ZSBkaWZmZXJlbnQgc2V0dGluZywgZGlzYWJsZSB0aGVtIGFsbCBhdCBmaXJzdCovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYnVzX2Rldl9yYW5nZXMpOyBpKyspIHsKKwkJaW50IGJ1czsKKwkJaW50IGRldl9iYXNlLCBkZXZfbGltaXQ7CisKKwkJYnVzID0gYnVzX2Rldl9yYW5nZXNbaV0uYnVzOworCQlkZXZfYmFzZSA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9iYXNlOworCQlkZXZfbGltaXQgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfbGltaXQ7CisKKwkJZm9yIChzbG90ID0gZGV2X2Jhc2U7IHNsb3QgPCBkZXZfbGltaXQ7IHNsb3QrKykgeworCQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCAweDAwKSkpCisJCQkJY29udGludWU7CisKKwkJCWN0bCA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCk7CisJCQljdGwgJj0gfkFNRDY0X0dBUlRFTjsKKwkJCXdyaXRlX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsIGN0bCk7CisJCX0KIAl9CiAKIH0KIAorc3RhdGljIGludCBfX2luaXRkYXRhIHByaW50ZWRfZ2FydF9zaXplX21zZzsKKwogdm9pZCBfX2luaXQgZ2FydF9pb21tdV9ob2xlX2luaXQodm9pZCkKIHsKKwl1MzIgYWdwX2FwZXJfYmFzZSA9IDAsIGFncF9hcGVyX29yZGVyID0gMDsKIAl1MzIgYXBlcl9zaXplLCBhcGVyX2FsbG9jID0gMCwgYXBlcl9vcmRlciA9IDAsIGxhc3RfYXBlcl9vcmRlciA9IDA7CiAJdTY0IGFwZXJfYmFzZSwgbGFzdF9hcGVyX2Jhc2UgPSAwOwotCWludCBmaXgsIG51bSwgdmFsaWRfYWdwID0gMDsKLQlpbnQgbm9kZTsKKwlpbnQgZml4LCBzbG90LCB2YWxpZF9hZ3AgPSAwOworCWludCBpLCBub2RlOwogCiAJaWYgKGdhcnRfaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQgfHwgIWZpeF9hcGVydHVyZSB8fAogCSAgICAhZWFybHlfcGNpX2FsbG93ZWQoKSkKQEAgLTMyMywzOCArMzczLDY1IEBACiAKIAlwcmludGsoS0VSTl9JTkZPICAiQ2hlY2tpbmcgYXBlcnR1cmUuLi5cbiIpOwogCisJaWYgKCFmYWxsYmFja19hcGVyX2ZvcmNlKQorCQlhZ3BfYXBlcl9iYXNlID0gc2VhcmNoX2FncF9icmlkZ2UoJmFncF9hcGVyX29yZGVyLCAmdmFsaWRfYWdwKTsKKwogCWZpeCA9IDA7CiAJbm9kZSA9IDA7Ci0JZm9yIChudW0gPSAyNDsgbnVtIDwgMzI7IG51bSsrKSB7Ci0JCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHgwMCkpKQotCQkJY29udGludWU7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYnVzX2Rldl9yYW5nZXMpOyBpKyspIHsKKwkJaW50IGJ1czsKKwkJaW50IGRldl9iYXNlLCBkZXZfbGltaXQ7CiAKLQkJaW9tbXVfZGV0ZWN0ZWQgPSAxOwotCQlnYXJ0X2lvbW11X2FwZXJ0dXJlID0gMTsKKwkJYnVzID0gYnVzX2Rldl9yYW5nZXNbaV0uYnVzOworCQlkZXZfYmFzZSA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9iYXNlOworCQlkZXZfbGltaXQgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfbGltaXQ7CiAKLQkJYXBlcl9vcmRlciA9IChyZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDkwKSA+PiAxKSAmIDc7Ci0JCWFwZXJfc2l6ZSA9ICgzMiAqIDEwMjQgKiAxMDI0KSA8PCBhcGVyX29yZGVyOwotCQlhcGVyX2Jhc2UgPSByZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDk0KSAmIDB4N2ZmZjsKLQkJYXBlcl9iYXNlIDw8PSAyNTsKKwkJZm9yIChzbG90ID0gZGV2X2Jhc2U7IHNsb3QgPCBkZXZfbGltaXQ7IHNsb3QrKykgeworCQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCAweDAwKSkpCisJCQkJY29udGludWU7CiAKLQkJcHJpbnRrKEtFUk5fSU5GTyAiTm9kZSAlZDogYXBlcnR1cmUgQCAlTHggc2l6ZSAldSBNQlxuIiwKLQkJCQlub2RlLCBhcGVyX2Jhc2UsIGFwZXJfc2l6ZSA+PiAyMCk7Ci0JCW5vZGUrKzsKKwkJCWlvbW11X2RldGVjdGVkID0gMTsKKwkJCWdhcnRfaW9tbXVfYXBlcnR1cmUgPSAxOwogCi0JCWlmICghYXBlcnR1cmVfdmFsaWQoYXBlcl9iYXNlLCBhcGVyX3NpemUpKSB7Ci0JCQlmaXggPSAxOwotCQkJYnJlYWs7CisJCQlhcGVyX29yZGVyID0gKHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCkgPj4gMSkgJiA3OworCQkJYXBlcl9zaXplID0gKDMyICogMTAyNCAqIDEwMjQpIDw8IGFwZXJfb3JkZXI7CisJCQlhcGVyX2Jhc2UgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFKSAmIDB4N2ZmZjsKKwkJCWFwZXJfYmFzZSA8PD0gMjU7CisKKwkJCXByaW50ayhLRVJOX0lORk8gIk5vZGUgJWQ6IGFwZXJ0dXJlIEAgJUx4IHNpemUgJXUgTUJcbiIsCisJCQkJCW5vZGUsIGFwZXJfYmFzZSwgYXBlcl9zaXplID4+IDIwKTsKKwkJCW5vZGUrKzsKKworCQkJaWYgKCFhcGVydHVyZV92YWxpZChhcGVyX2Jhc2UsIGFwZXJfc2l6ZSwgNjQ8PDIwKSkgeworCQkJCWlmICh2YWxpZF9hZ3AgJiYgYWdwX2FwZXJfYmFzZSAmJgorCQkJCSAgICBhZ3BfYXBlcl9iYXNlID09IGFwZXJfYmFzZSAmJgorCQkJCSAgICBhZ3BfYXBlcl9vcmRlciA9PSBhcGVyX29yZGVyKSB7CisJCQkJCS8qIHRoZSBzYW1lIGJldHdlZW4gdHdvIHNldHRpbmcgZnJvbSBOQiBhbmQgYWdwICovCisJCQkJCWlmICghbm9faW9tbXUgJiYKKwkJCQkJICAgIG1heF9wZm4gPiBNQVhfRE1BMzJfUEZOICYmCisJCQkJCSAgICAhcHJpbnRlZF9nYXJ0X3NpemVfbXNnKSB7CisJCQkJCQlwcmludGsoS0VSTl9FUlIgInlvdSBhcmUgdXNpbmcgaW9tbXUgd2l0aCBhZ3AsIGJ1dCBHQVJUIHNpemUgaXMgbGVzcyB0aGFuIDY0TVxuIik7CisJCQkJCQlwcmludGsoS0VSTl9FUlIgInBsZWFzZSBpbmNyZWFzZSBHQVJUIHNpemUgaW4geW91ciBCSU9TIHNldHVwXG4iKTsKKwkJCQkJCXByaW50ayhLRVJOX0VSUiAiaWYgQklPUyBkb2Vzbid0IGhhdmUgdGhhdCBvcHRpb24sIGNvbnRhY3QgeW91ciBIVyB2ZW5kb3IhXG4iKTsKKwkJCQkJCXByaW50ZWRfZ2FydF9zaXplX21zZyA9IDE7CisJCQkJCX0KKwkJCQl9IGVsc2UgeworCQkJCQlmaXggPSAxOworCQkJCQlnb3RvIG91dDsKKwkJCQl9CisJCQl9CisKKwkJCWlmICgobGFzdF9hcGVyX29yZGVyICYmIGFwZXJfb3JkZXIgIT0gbGFzdF9hcGVyX29yZGVyKSB8fAorCQkJICAgIChsYXN0X2FwZXJfYmFzZSAmJiBhcGVyX2Jhc2UgIT0gbGFzdF9hcGVyX2Jhc2UpKSB7CisJCQkJZml4ID0gMTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJCWxhc3RfYXBlcl9vcmRlciA9IGFwZXJfb3JkZXI7CisJCQlsYXN0X2FwZXJfYmFzZSA9IGFwZXJfYmFzZTsKIAkJfQotCi0JCWlmICgobGFzdF9hcGVyX29yZGVyICYmIGFwZXJfb3JkZXIgIT0gbGFzdF9hcGVyX29yZGVyKSB8fAotCQkgICAgKGxhc3RfYXBlcl9iYXNlICYmIGFwZXJfYmFzZSAhPSBsYXN0X2FwZXJfYmFzZSkpIHsKLQkJCWZpeCA9IDE7Ci0JCQlicmVhazsKLQkJfQotCQlsYXN0X2FwZXJfb3JkZXIgPSBhcGVyX29yZGVyOwotCQlsYXN0X2FwZXJfYmFzZSA9IGFwZXJfYmFzZTsKIAl9CiAKK291dDoKIAlpZiAoIWZpeCAmJiAhZmFsbGJhY2tfYXBlcl9mb3JjZSkgewogCQlpZiAobGFzdF9hcGVyX2Jhc2UpIHsKIAkJCXVuc2lnbmVkIGxvbmcgbiA9ICgzMiAqIDEwMjQgKiAxMDI0KSA8PCBsYXN0X2FwZXJfb3JkZXI7CkBAIC0zNjQsMTQgKzQ0MSwxNiBAQAogCQlyZXR1cm47CiAJfQogCi0JaWYgKCFmYWxsYmFja19hcGVyX2ZvcmNlKQotCQlhcGVyX2FsbG9jID0gc2VhcmNoX2FncF9icmlkZ2UoJmFwZXJfb3JkZXIsICZ2YWxpZF9hZ3ApOworCWlmICghZmFsbGJhY2tfYXBlcl9mb3JjZSkgeworCQlhcGVyX2FsbG9jID0gYWdwX2FwZXJfYmFzZTsKKwkJYXBlcl9vcmRlciA9IGFncF9hcGVyX29yZGVyOworCX0KIAogCWlmIChhcGVyX2FsbG9jKSB7CiAJCS8qIEdvdCB0aGUgYXBlcnR1cmUgZnJvbSB0aGUgQUdQIGJyaWRnZSAqLwogCX0gZWxzZSBpZiAoc3dpb3RsYiAmJiAhdmFsaWRfYWdwKSB7CiAJCS8qIERvIG5vdGhpbmcgKi8KLQl9IGVsc2UgaWYgKCghbm9faW9tbXUgJiYgZW5kX3BmbiA+IE1BWF9ETUEzMl9QRk4pIHx8CisJfSBlbHNlIGlmICgoIW5vX2lvbW11ICYmIG1heF9wZm4gPiBNQVhfRE1BMzJfUEZOKSB8fAogCQkgICBmb3JjZV9pb21tdSB8fAogCQkgICB2YWxpZF9hZ3AgfHwKIAkJICAgZmFsbGJhY2tfYXBlcl9mb3JjZSkgewpAQCAtNDAxLDE2ICs0ODAsMjQgQEAKIAl9CiAKIAkvKiBGaXggdXAgdGhlIG5vcnRoIGJyaWRnZXMgKi8KLQlmb3IgKG51bSA9IDI0OyBudW0gPCAzMjsgbnVtKyspIHsKLQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDAwKSkpCi0JCQljb250aW51ZTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShidXNfZGV2X3Jhbmdlcyk7IGkrKykgeworCQlpbnQgYnVzOworCQlpbnQgZGV2X2Jhc2UsIGRldl9saW1pdDsKIAotCQkvKgotCQkgKiBEb24ndCBlbmFibGUgdHJhbnNsYXRpb24geWV0LiBUaGF0IGlzIGRvbmUgbGF0ZXIuCi0JCSAqIEFzc3VtZSB0aGlzIEJJT1MgZGlkbid0IGluaXRpYWxpc2UgdGhlIEdBUlQgc28KLQkJICoganVzdCBvdmVyd3JpdGUgYWxsIHByZXZpb3VzIGJpdHMKLQkJICovCi0JCXdyaXRlX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDkwLCBhcGVyX29yZGVyPDwxKTsKLQkJd3JpdGVfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTQsIGFwZXJfYWxsb2M+PjI1KTsKKwkJYnVzID0gYnVzX2Rldl9yYW5nZXNbaV0uYnVzOworCQlkZXZfYmFzZSA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9iYXNlOworCQlkZXZfbGltaXQgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfbGltaXQ7CisJCWZvciAoc2xvdCA9IGRldl9iYXNlOyBzbG90IDwgZGV2X2xpbWl0OyBzbG90KyspIHsKKwkJCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgMHgwMCkpKQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBEb24ndCBlbmFibGUgdHJhbnNsYXRpb24geWV0LiBUaGF0IGlzIGRvbmUgbGF0ZXIuCisJCQkgICBBc3N1bWUgdGhpcyBCSU9TIGRpZG4ndCBpbml0aWFsaXNlIHRoZSBHQVJUIHNvCisJCQkgICBqdXN0IG92ZXJ3cml0ZSBhbGwgcHJldmlvdXMgYml0cyAqLworCQkJd3JpdGVfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgYXBlcl9vcmRlciA8PCAxKTsKKwkJCXdyaXRlX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCBhcGVyX2FsbG9jID4+IDI1KTsKKwkJfQogCX0KKworCXNldF91cF9nYXJ0X3Jlc3VtZShhcGVyX29yZGVyLCBhcGVyX2FsbG9jKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hcGljXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvYXBpY18zMi5jCmluZGV4IDRiOTliMWIuLmE0MzdkMDIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hcGljXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FwaWNfMzIuYwpAQCAtNTIsMzAgKzUyLDQxIEBACiAKIHVuc2lnbmVkIGxvbmcgbXBfbGFwaWNfYWRkcjsKIAotREVGSU5FX1BFUl9DUFUodTE2LCB4ODZfYmlvc19jcHVfYXBpY2lkKSA9IEJBRF9BUElDSUQ7Ci1FWFBPUlRfUEVSX0NQVV9TWU1CT0woeDg2X2Jpb3NfY3B1X2FwaWNpZCk7Ci0KIC8qCiAgKiBLbm9iIHRvIGNvbnRyb2wgb3VyIHdpbGxpbmduZXNzIHRvIGVuYWJsZSB0aGUgbG9jYWwgQVBJQy4KICAqCi0gKiAtMT1mb3JjZS1kaXNhYmxlLCArMT1mb3JjZS1lbmFibGUKKyAqICsxPWZvcmNlLWVuYWJsZQogICovCi1zdGF0aWMgaW50IGVuYWJsZV9sb2NhbF9hcGljIF9faW5pdGRhdGE7CitzdGF0aWMgaW50IGZvcmNlX2VuYWJsZV9sb2NhbF9hcGljOworaW50IGRpc2FibGVfYXBpYzsKIAogLyogTG9jYWwgQVBJQyB0aW1lciB2ZXJpZmljYXRpb24gb2sgKi8KIHN0YXRpYyBpbnQgbG9jYWxfYXBpY190aW1lcl92ZXJpZnlfb2s7Ci0vKiBEaXNhYmxlIGxvY2FsIEFQSUMgdGltZXIgZnJvbSB0aGUga2VybmVsIGNvbW1hbmRsaW5lIG9yIHZpYSBkbWkgcXVpcmsKLSAgIG9yIHVzaW5nIENQVSBNU1IgY2hlY2sgKi8KLWludCBsb2NhbF9hcGljX3RpbWVyX2Rpc2FibGVkOworLyogRGlzYWJsZSBsb2NhbCBBUElDIHRpbWVyIGZyb20gdGhlIGtlcm5lbCBjb21tYW5kbGluZSBvciB2aWEgZG1pIHF1aXJrICovCitzdGF0aWMgaW50IGxvY2FsX2FwaWNfdGltZXJfZGlzYWJsZWQ7CiAvKiBMb2NhbCBBUElDIHRpbWVyIHdvcmtzIGluIEMyICovCiBpbnQgbG9jYWxfYXBpY190aW1lcl9jMl9vazsKIEVYUE9SVF9TWU1CT0xfR1BMKGxvY2FsX2FwaWNfdGltZXJfYzJfb2spOwogCitpbnQgZmlyc3Rfc3lzdGVtX3ZlY3RvciA9IDB4ZmU7CisKK2NoYXIgc3lzdGVtX3ZlY3RvcnNbTlJfVkVDVE9SU10gPSB7IFswIC4uLiBOUl9WRUNUT1JTLTFdID0gU1lTX1ZFQ1RPUl9GUkVFfTsKKwogLyoKICAqIERlYnVnIGxldmVsLCBleHBvcnRlZCBmb3IgaW9fYXBpYy5jCiAgKi8KIGludCBhcGljX3ZlcmJvc2l0eTsKIAoraW50IHBpY19tb2RlOworCisvKiBIYXZlIHdlIGZvdW5kIGFuIE1QIHRhYmxlICovCitpbnQgc21wX2ZvdW5kX2NvbmZpZzsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsYXBpY19yZXNvdXJjZSA9IHsKKwkubmFtZSA9ICJMb2NhbCBBUElDIiwKKwkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSB8IElPUkVTT1VSQ0VfQlVTWSwKK307CisKIHN0YXRpYyB1bnNpZ25lZCBpbnQgY2FsaWJyYXRpb25fcmVzdWx0OwogCiBzdGF0aWMgaW50IGxhcGljX25leHRfZXZlbnQodW5zaWduZWQgbG9uZyBkZWx0YSwKQEAgLTU0NSw3ICs1NTYsNyBAQAogCQkJbGFwaWNfY2xvY2tldmVudC5mZWF0dXJlcyAmPSB+Q0xPQ0tfRVZUX0ZFQVRfRFVNTVk7CiAJCWVsc2UKIAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIkFQSUMgdGltZXIgcmVnaXN0ZXJlZCBhcyBkdW1teSwiCi0JCQkgICAgICAgIiBkdWUgdG8gbm1pX3dhdGNoZG9nPTEhXG4iKTsKKwkJCQkiIGR1ZSB0byBubWlfd2F0Y2hkb2c9JWQhXG4iLCBubWlfd2F0Y2hkb2cpOwogCX0KIAogCS8qIFNldHVwIHRoZSBsYXBpYyBvciByZXF1ZXN0IHRoZSBicm9hZGNhc3QgKi8KQEAgLTk2Myw3ICs5NzQsNyBAQAogCSAqIERvdWJsZS1jaGVjayB3aGV0aGVyIHRoaXMgQVBJQyBpcyByZWFsbHkgcmVnaXN0ZXJlZC4KIAkgKi8KIAlpZiAoIWFwaWNfaWRfcmVnaXN0ZXJlZCgpKQotCQlCVUcoKTsKKwkJV0FSTl9PTl9PTkNFKDEpOwogCiAJLyoKIAkgKiBJbnRlbCByZWNvbW1lbmRzIHRvIHNldCBERlIsIExEUiBhbmQgVFBSIGJlZm9yZSBlbmFibGluZwpAQCAtMTA5NCw3ICsxMTA1LDcgQEAKIAl1MzIgaCwgbCwgZmVhdHVyZXM7CiAKIAkvKiBEaXNhYmxlZCBieSBrZXJuZWwgb3B0aW9uPyAqLwotCWlmIChlbmFibGVfbG9jYWxfYXBpYyA8IDApCisJaWYgKGRpc2FibGVfYXBpYykKIAkJcmV0dXJuIC0xOwogCiAJc3dpdGNoIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IpIHsKQEAgLTExMTcsNyArMTEyOCw3IEBACiAJCSAqIE92ZXItcmlkZSBCSU9TIGFuZCB0cnkgdG8gZW5hYmxlIHRoZSBsb2NhbCBBUElDIG9ubHkgaWYKIAkJICogImxhcGljIiBzcGVjaWZpZWQuCiAJCSAqLwotCQlpZiAoZW5hYmxlX2xvY2FsX2FwaWMgPD0gMCkgeworCQlpZiAoIWZvcmNlX2VuYWJsZV9sb2NhbF9hcGljKSB7CiAJCQlwcmludGsoS0VSTl9JTkZPICJMb2NhbCBBUElDIGRpc2FibGVkIGJ5IEJJT1MgLS0gIgogCQkJICAgICAgICJ5b3UgY2FuIGVuYWJsZSBpdCB3aXRoIFwibGFwaWNcIlxuIik7CiAJCQlyZXR1cm4gLTE7CkBAIC0xMTU0LDkgKzExNjUsNiBAQAogCWlmIChsICYgTVNSX0lBMzJfQVBJQ0JBU0VfRU5BQkxFKQogCQltcF9sYXBpY19hZGRyID0gbCAmIE1TUl9JQTMyX0FQSUNCQVNFX0JBU0U7CiAKLQlpZiAobm1pX3dhdGNoZG9nICE9IE5NSV9OT05FICYmIG5taV93YXRjaGRvZyAhPSBOTUlfRElTQUJMRUQpCi0JCW5taV93YXRjaGRvZyA9IE5NSV9MT0NBTF9BUElDOwotCiAJcHJpbnRrKEtFUk5fSU5GTyAiRm91bmQgYW5kIGVuYWJsZWQgbG9jYWwgQVBJQyFcbiIpOwogCiAJYXBpY19wbV9hY3RpdmF0ZSgpOwpAQCAtMTE5NSwzNiArMTIwMyw2IEBACiAJaWYgKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCA9PSAtMVUpCiAJCWJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCA9IEdFVF9BUElDX0lEKHJlYWRfYXBpY19pZCgpKTsKIAotI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwotCXsKLQkJdW5zaWduZWQgbG9uZyBpb2FwaWNfcGh5cywgaWR4ID0gRklYX0lPX0FQSUNfQkFTRV8wOwotCQlpbnQgaTsKLQotCQlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7Ci0JCQlpZiAoc21wX2ZvdW5kX2NvbmZpZykgewotCQkJCWlvYXBpY19waHlzID0gbXBfaW9hcGljc1tpXS5tcGNfYXBpY2FkZHI7Ci0JCQkJaWYgKCFpb2FwaWNfcGh5cykgewotCQkJCQlwcmludGsoS0VSTl9FUlIKLQkJCQkJICAgICAgICJXQVJOSU5HOiBib2d1cyB6ZXJvIElPLUFQSUMgIgotCQkJCQkgICAgICAgImFkZHJlc3MgZm91bmQgaW4gTVBUQUJMRSwgIgotCQkJCQkgICAgICAgImRpc2FibGluZyBJTy9BUElDIHN1cHBvcnQhXG4iKTsKLQkJCQkJc21wX2ZvdW5kX2NvbmZpZyA9IDA7Ci0JCQkJCXNraXBfaW9hcGljX3NldHVwID0gMTsKLQkJCQkJZ290byBmYWtlX2lvYXBpY19wYWdlOwotCQkJCX0KLQkJCX0gZWxzZSB7Ci1mYWtlX2lvYXBpY19wYWdlOgotCQkJCWlvYXBpY19waHlzID0gKHVuc2lnbmVkIGxvbmcpCi0JCQkJCSAgICAgIGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKLQkJCQlpb2FwaWNfcGh5cyA9IF9fcGEoaW9hcGljX3BoeXMpOwotCQkJfQotCQkJc2V0X2ZpeG1hcF9ub2NhY2hlKGlkeCwgaW9hcGljX3BoeXMpOwotCQkJcHJpbnRrKEtFUk5fREVCVUcgIm1hcHBlZCBJT0FQSUMgdG8gJTA4bHggKCUwOGx4KVxuIiwKLQkJCSAgICAgICBfX2ZpeF90b192aXJ0KGlkeCksIGlvYXBpY19waHlzKTsKLQkJCWlkeCsrOwotCQl9Ci0JfQotI2VuZGlmCiB9CiAKIC8qCkBAIC0xMjM2LDcgKzEyMTQsNyBAQAogCiBpbnQgX19pbml0IEFQSUNfaW5pdF91bmlwcm9jZXNzb3Iodm9pZCkKIHsKLQlpZiAoZW5hYmxlX2xvY2FsX2FwaWMgPCAwKQorCWlmIChkaXNhYmxlX2FwaWMpCiAJCWNsZWFyX2NwdV9jYXAoJmJvb3RfY3B1X2RhdGEsIFg4Nl9GRUFUVVJFX0FQSUMpOwogCiAJaWYgKCFzbXBfZm91bmRfY29uZmlnICYmICFjcHVfaGFzX2FwaWMpCkBAIC0xMjY1LDEwICsxMjQzLDE0IEBACiAjaWZkZWYgQ09ORklHX0NSQVNIX0RVTVAKIAlib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSBHRVRfQVBJQ19JRChyZWFkX2FwaWNfaWQoKSk7CiAjZW5kaWYKLQlwaHlzX2NwdV9wcmVzZW50X21hcCA9IHBoeXNpZF9tYXNrX29mX3BoeXNpZChib290X2NwdV9waHlzaWNhbF9hcGljaWQpOworCXBoeXNpZF9zZXRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkLCAmcGh5c19jcHVfcHJlc2VudF9tYXApOwogCiAJc2V0dXBfbG9jYWxfQVBJQygpOwogCisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCisJaWYgKCFzbXBfZm91bmRfY29uZmlnIHx8IHNraXBfaW9hcGljX3NldHVwIHx8ICFucl9pb2FwaWNzKQorI2VuZGlmCisJCWxvY2FsaXNlX25taV93YXRjaGRvZygpOwogCWVuZF9sb2NhbF9BUElDX3NldHVwKCk7CiAjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJaWYgKHNtcF9mb3VuZF9jb25maWcpCkBAIC0xMzUxLDEzICsxMzMzLDE3IEBACiAJICogVGhlIHJlc2NoZWR1bGUgaW50ZXJydXB0IGlzIGEgQ1BVLXRvLUNQVSByZXNjaGVkdWxlLWhlbHBlcgogCSAqIElQSSwgZHJpdmVuIGJ5IHdha2V1cC4KIAkgKi8KLQlzZXRfaW50cl9nYXRlKFJFU0NIRURVTEVfVkVDVE9SLCByZXNjaGVkdWxlX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKFJFU0NIRURVTEVfVkVDVE9SLCByZXNjaGVkdWxlX2ludGVycnVwdCk7CiAKIAkvKiBJUEkgZm9yIGludmFsaWRhdGlvbiAqLwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SLCBpbnZhbGlkYXRlX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUiwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQpOwogCiAJLyogSVBJIGZvciBnZW5lcmljIGZ1bmN0aW9uIGNhbGwgKi8KLQlzZXRfaW50cl9nYXRlKENBTExfRlVOQ1RJT05fVkVDVE9SLCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKENBTExfRlVOQ1RJT05fVkVDVE9SLCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCk7CisKKwkvKiBJUEkgZm9yIHNpbmdsZSBjYWxsIGZ1bmN0aW9uICovCisJc2V0X2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1NJTkdMRV9WRUNUT1IsCisJCQkJY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KTsKIH0KICNlbmRpZgogCkBAIC0xMzcwLDE1ICsxMzU2LDE1IEBACiAJc21wX2ludHJfaW5pdCgpOwogI2VuZGlmCiAJLyogc2VsZiBnZW5lcmF0ZWQgSVBJIGZvciBsb2NhbCBBUElDIHRpbWVyICovCi0Jc2V0X2ludHJfZ2F0ZShMT0NBTF9USU1FUl9WRUNUT1IsIGFwaWNfdGltZXJfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoTE9DQUxfVElNRVJfVkVDVE9SLCBhcGljX3RpbWVyX2ludGVycnVwdCk7CiAKIAkvKiBJUEkgdmVjdG9ycyBmb3IgQVBJQyBzcHVyaW91cyBhbmQgZXJyb3IgaW50ZXJydXB0cyAqLwotCXNldF9pbnRyX2dhdGUoU1BVUklPVVNfQVBJQ19WRUNUT1IsIHNwdXJpb3VzX2ludGVycnVwdCk7Ci0Jc2V0X2ludHJfZ2F0ZShFUlJPUl9BUElDX1ZFQ1RPUiwgZXJyb3JfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoU1BVUklPVVNfQVBJQ19WRUNUT1IsIHNwdXJpb3VzX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKEVSUk9SX0FQSUNfVkVDVE9SLCBlcnJvcl9pbnRlcnJ1cHQpOwogCiAJLyogdGhlcm1hbCBtb25pdG9yIExWVCBpbnRlcnJ1cHQgKi8KICNpZmRlZiBDT05GSUdfWDg2X01DRV9QNFRIRVJNQUwKLQlzZXRfaW50cl9nYXRlKFRIRVJNQUxfQVBJQ19WRUNUT1IsIHRoZXJtYWxfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoVEhFUk1BTF9BUElDX1ZFQ1RPUiwgdGhlcm1hbF9pbnRlcnJ1cHQpOwogI2VuZGlmCiB9CiAKQEAgLTE1MTMsNiArMTQ5OSw5IEBACiAJCSAqLwogCQljcHUgPSAwOwogCisJaWYgKGFwaWNpZCA+IG1heF9waHlzaWNhbF9hcGljaWQpCisJCW1heF9waHlzaWNhbF9hcGljaWQgPSBhcGljaWQ7CisKIAkvKgogCSAqIFdvdWxkIGJlIHByZWZlcmFibGUgdG8gc3dpdGNoIHRvIGJpZ3NtcCB3aGVuIENPTkZJR19IT1RQTFVHX0NQVT15CiAJICogYnV0IHdlIG5lZWQgdG8gd29yayBvdGhlciBkZXBlbmRlbmNpZXMgbGlrZSBTTVBfU1VTUEVORCBldGMKQEAgLTE1MjAsNyArMTUwOSw3IEBACiAJICogaWYgKENQVV9IT1RQTFVHX0VOQUJMRUQgfHwgbnVtX3Byb2Nlc3NvcnMgPiA4KQogCSAqICAgICAgIC0gQXNob2sgUmFqIDxhc2hvay5yYWpAaW50ZWwuY29tPgogCSAqLwotCWlmIChudW1fcHJvY2Vzc29ycyA+IDgpIHsKKwlpZiAobWF4X3BoeXNpY2FsX2FwaWNpZCA+PSA4KSB7CiAJCXN3aXRjaCAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yKSB7CiAJCWNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKIAkJCWlmICghQVBJQ19YQVBJQyh2ZXJzaW9uKSkgewpAQCAtMTUzNCw5ICsxNTIzLDkgQEAKIAl9CiAjaWZkZWYgQ09ORklHX1NNUAogCS8qIGFyZSB3ZSBiZWluZyBjYWxsZWQgZWFybHkgaW4ga2VybmVsIHN0YXJ0dXA/ICovCi0JaWYgKHg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0cikgewotCQl1MTYgKmNwdV90b19hcGljaWQgPSB4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHI7Ci0JCXUxNiAqYmlvc19jcHVfYXBpY2lkID0geDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7CisJaWYgKGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKSkgeworCQl1MTYgKmNwdV90b19hcGljaWQgPSBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX2FwaWNpZCk7CisJCXUxNiAqYmlvc19jcHVfYXBpY2lkID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2Jpb3NfY3B1X2FwaWNpZCk7CiAKIAkJY3B1X3RvX2FwaWNpZFtjcHVdID0gYXBpY2lkOwogCQliaW9zX2NwdV9hcGljaWRbY3B1XSA9IGFwaWNpZDsKQEAgLTE3MDMsMTQgKzE2OTIsMTQgQEAKICAqLwogc3RhdGljIGludCBfX2luaXQgcGFyc2VfbGFwaWMoY2hhciAqYXJnKQogewotCWVuYWJsZV9sb2NhbF9hcGljID0gMTsKKwlmb3JjZV9lbmFibGVfbG9jYWxfYXBpYyA9IDE7CiAJcmV0dXJuIDA7CiB9CiBlYXJseV9wYXJhbSgibGFwaWMiLCBwYXJzZV9sYXBpYyk7CiAKIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX25vbGFwaWMoY2hhciAqYXJnKQogewotCWVuYWJsZV9sb2NhbF9hcGljID0gLTE7CisJZGlzYWJsZV9hcGljID0gMTsKIAljbGVhcl9jcHVfY2FwKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9BUElDKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTE3NDAsMyArMTcyOSwyMSBAQAogfQogX19zZXR1cCgiYXBpYz0iLCBhcGljX3NldF92ZXJib3NpdHkpOwogCitzdGF0aWMgaW50IF9faW5pdCBsYXBpY19pbnNlcnRfcmVzb3VyY2Uodm9pZCkKK3sKKwlpZiAoIWFwaWNfcGh5cykKKwkJcmV0dXJuIC0xOworCisJLyogUHV0IGxvY2FsIEFQSUMgaW50byB0aGUgcmVzb3VyY2UgbWFwLiAqLworCWxhcGljX3Jlc291cmNlLnN0YXJ0ID0gYXBpY19waHlzOworCWxhcGljX3Jlc291cmNlLmVuZCA9IGxhcGljX3Jlc291cmNlLnN0YXJ0ICsgUEFHRV9TSVpFIC0gMTsKKwlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmbGFwaWNfcmVzb3VyY2UpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBuZWVkIGNhbGwgaW5zZXJ0IGFmdGVyIGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXMoKQorICogdGhhdCBpcyB1c2luZyByZXF1ZXN0X3Jlc291cmNlCisgKi8KK2xhdGVfaW5pdGNhbGwobGFwaWNfaW5zZXJ0X3Jlc291cmNlKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hcGljXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYXBpY182NC5jCmluZGV4IDA2MzNjZmQuLjFlM2QzMmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hcGljXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FwaWNfNjQuYwpAQCAtNDMsNyArNDMsNyBAQAogI2luY2x1ZGUgPG1hY2hfaXBpLmg+CiAjaW5jbHVkZSA8bWFjaF9hcGljLmg+CiAKLWludCBkaXNhYmxlX2FwaWNfdGltZXIgX19jcHVpbml0ZGF0YTsKK3N0YXRpYyBpbnQgZGlzYWJsZV9hcGljX3RpbWVyIF9fY3B1aW5pdGRhdGE7CiBzdGF0aWMgaW50IGFwaWNfY2FsaWJyYXRlX3BtdG1yIF9faW5pdGRhdGE7CiBpbnQgZGlzYWJsZV9hcGljOwogCkBAIC01Niw2ICs1Niw5IEBACiAgKi8KIGludCBhcGljX3ZlcmJvc2l0eTsKIAorLyogSGF2ZSB3ZSBmb3VuZCBhbiBNUCB0YWJsZSAqLworaW50IHNtcF9mb3VuZF9jb25maWc7CisKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbGFwaWNfcmVzb3VyY2UgPSB7CiAJLm5hbWUgPSAiTG9jYWwgQVBJQyIsCiAJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0gfCBJT1JFU09VUkNFX0JVU1ksCkBAIC04Nyw5ICs5MCw2IEBACiAKIHVuc2lnbmVkIGxvbmcgbXBfbGFwaWNfYWRkcjsKIAotREVGSU5FX1BFUl9DUFUodTE2LCB4ODZfYmlvc19jcHVfYXBpY2lkKSA9IEJBRF9BUElDSUQ7Ci1FWFBPUlRfUEVSX0NQVV9TWU1CT0woeDg2X2Jpb3NfY3B1X2FwaWNpZCk7Ci0KIHVuc2lnbmVkIGludCBfX2NwdWluaXRkYXRhIG1heGNwdXMgPSBOUl9DUFVTOwogLyoKICAqIEdldCB0aGUgTEFQSUMgdmVyc2lvbgpAQCAtNDE3LDM3ICs0MTcsMTMgQEAKIAkJbGFwaWNfY2xvY2tldmVudC5mZWF0dXJlcyAmPSB+Q0xPQ0tfRVZUX0ZFQVRfRFVNTVk7CiAJZWxzZQogCQlwcmludGsoS0VSTl9XQVJOSU5HICJBUElDIHRpbWVyIHJlZ2lzdGVyZWQgYXMgZHVtbXksIgotCQkgICAgICAgIiBkdWUgdG8gbm1pX3dhdGNoZG9nPTEhXG4iKTsKKwkJCSIgZHVlIHRvIG5taV93YXRjaGRvZz0lZCFcbiIsIG5taV93YXRjaGRvZyk7CiAKIAlzZXR1cF9BUElDX3RpbWVyKCk7CiB9CiAKLS8qCi0gKiBBTUQgQzFFIGVuYWJsZWQgQ1BVcyBoYXZlIGEgcmVhbCBuYXN0eSBwcm9ibGVtOiBTb21lIEJJT1NlcyBzZXQgdGhlCi0gKiBDMUUgZmxhZyBvbmx5IGluIHRoZSBzZWNvbmRhcnkgQ1BVLCBzbyB3aGVuIHdlIGRldGVjdCB0aGUgd3JlY2thZ2UKLSAqIHdlIGFscmVhZHkgaGF2ZSBlbmFibGVkIHRoZSBib290IENQVSBsb2NhbCBhcGljIHRpbWVyLiBDaGVjaywgaWYKLSAqIGRpc2FibGVfYXBpY190aW1lciBpcyBzZXQgYW5kIHRoZSBEVU1NWSBmbGFnIGlzIGNsZWFyZWQuIElmIHllcywKLSAqIHNldCB0aGUgRFVNTVkgZmxhZyBhZ2FpbiBhbmQgZm9yY2UgdGhlIGJyb2FkY2FzdCBtb2RlIGluIHRoZQotICogY2xvY2tldmVudHMgbGF5ZXIuCi0gKi8KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBjaGVja19ib290X2FwaWNfdGltZXJfYnJvYWRjYXN0KHZvaWQpCi17Ci0JaWYgKCFkaXNhYmxlX2FwaWNfdGltZXIgfHwKLQkgICAgKGxhcGljX2Nsb2NrZXZlbnQuZmVhdHVyZXMgJiBDTE9DS19FVlRfRkVBVF9EVU1NWSkpCi0JCXJldHVybjsKLQotCXByaW50ayhLRVJOX0lORk8gIkFNRCBDMUUgZGV0ZWN0ZWQgbGF0ZS4gRm9yY2UgdGltZXIgYnJvYWRjYXN0LlxuIik7Ci0JbGFwaWNfY2xvY2tldmVudC5mZWF0dXJlcyB8PSBDTE9DS19FVlRfRkVBVF9EVU1NWTsKLQotCWxvY2FsX2lycV9lbmFibGUoKTsKLQljbG9ja2V2ZW50c19ub3RpZnkoQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfRk9SQ0UsCi0JCQkgICAmYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKTsKLQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotfQotCiB2b2lkIF9fY3B1aW5pdCBzZXR1cF9zZWNvbmRhcnlfQVBJQ19jbG9jayh2b2lkKQogewotCWNoZWNrX2Jvb3RfYXBpY190aW1lcl9icm9hZGNhc3QoKTsKIAlzZXR1cF9BUElDX3RpbWVyKCk7CiB9CiAKQEAgLTg1MCw3ICs4MjYsNiBAQAogdm9pZCBfX2NwdWluaXQgZW5kX2xvY2FsX0FQSUNfc2V0dXAodm9pZCkKIHsKIAlsYXBpY19zZXR1cF9lc3IoKTsKLQlubWlfd2F0Y2hkb2dfZGVmYXVsdCgpOwogCXNldHVwX2FwaWNfbm1pX3dhdGNoZG9nKE5VTEwpOwogCWFwaWNfcG1fYWN0aXZhdGUoKTsKIH0KQEAgLTg3NSw3ICs4NTAsNyBAQAogCiB2b2lkIF9faW5pdCBlYXJseV9pbml0X2xhcGljX21hcHBpbmcodm9pZCkKIHsKLQl1bnNpZ25lZCBsb25nIGFwaWNfcGh5czsKKwl1bnNpZ25lZCBsb25nIHBoeXNfYWRkcjsKIAogCS8qCiAJICogSWYgbm8gbG9jYWwgQVBJQyBjYW4gYmUgZm91bmQgdGhlbiBnbyBvdXQKQEAgLTg4NCwxMSArODU5LDExIEBACiAJaWYgKCFzbXBfZm91bmRfY29uZmlnKQogCQlyZXR1cm47CiAKLQlhcGljX3BoeXMgPSBtcF9sYXBpY19hZGRyOworCXBoeXNfYWRkciA9IG1wX2xhcGljX2FkZHI7CiAKLQlzZXRfZml4bWFwX25vY2FjaGUoRklYX0FQSUNfQkFTRSwgYXBpY19waHlzKTsKKwlzZXRfZml4bWFwX25vY2FjaGUoRklYX0FQSUNfQkFTRSwgcGh5c19hZGRyKTsKIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICJtYXBwZWQgQVBJQyB0byAlMTZseCAoJTE2bHgpXG4iLAotCQkJCSBBUElDX0JBU0UsIGFwaWNfcGh5cyk7CisJCSAgICBBUElDX0JBU0UsIHBoeXNfYWRkcik7CiAKIAkvKgogCSAqIEZldGNoIHRoZSBBUElDIElEIG9mIHRoZSBCU1AgaW4gY2FzZSB3ZSBoYXZlIGEKQEAgLTk0Miw3ICs5MTcsOSBAQAogCiAJdmVyaWZ5X2xvY2FsX0FQSUMoKTsKIAotCXBoeXNfY3B1X3ByZXNlbnRfbWFwID0gcGh5c2lkX21hc2tfb2ZfcGh5c2lkKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7CisJY29ubmVjdF9ic3BfQVBJQygpOworCisJcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZChib290X2NwdV9waHlzaWNhbF9hcGljaWQsICZwaHlzX2NwdV9wcmVzZW50X21hcCk7CiAJYXBpY193cml0ZShBUElDX0lELCBTRVRfQVBJQ19JRChib290X2NwdV9waHlzaWNhbF9hcGljaWQpKTsKIAogCXNldHVwX2xvY2FsX0FQSUMoKTsKQEAgLTk1NCw2ICs5MzEsOCBAQAogCWlmICghc2tpcF9pb2FwaWNfc2V0dXAgJiYgbnJfaW9hcGljcykKIAkJZW5hYmxlX0lPX0FQSUMoKTsKIAorCWlmICghc21wX2ZvdW5kX2NvbmZpZyB8fCBza2lwX2lvYXBpY19zZXR1cCB8fCAhbnJfaW9hcGljcykKKwkJbG9jYWxpc2Vfbm1pX3dhdGNoZG9nKCk7CiAJZW5kX2xvY2FsX0FQSUNfc2V0dXAoKTsKIAogCWlmIChzbXBfZm91bmRfY29uZmlnICYmICFza2lwX2lvYXBpY19zZXR1cCAmJiBucl9pb2FwaWNzKQpAQCAtMTAyMSw2ICsxMDAwLDE0IEBACiAJaXJxX2V4aXQoKTsKIH0KIAorLyoqCisgKiAgKiBjb25uZWN0X2JzcF9BUElDIC0gYXR0YWNoIHRoZSBBUElDIHRvIHRoZSBpbnRlcnJ1cHQgc3lzdGVtCisgKiAgICovCit2b2lkIF9faW5pdCBjb25uZWN0X2JzcF9BUElDKHZvaWQpCit7CisJZW5hYmxlX2FwaWNfbW9kZSgpOworfQorCiB2b2lkIGRpc2Nvbm5lY3RfYnNwX0FQSUMoaW50IHZpcnRfd2lyZV9zZXR1cCkKIHsKIAkvKiBHbyBiYWNrIHRvIFZpcnR1YWwgV2lyZSBjb21wYXRpYmlsaXR5IG1vZGUgKi8KQEAgLTEwOTAsMTAgKzEwNzcsMTMgQEAKIAkJICovCiAJCWNwdSA9IDA7CiAJfQorCWlmIChhcGljaWQgPiBtYXhfcGh5c2ljYWxfYXBpY2lkKQorCQltYXhfcGh5c2ljYWxfYXBpY2lkID0gYXBpY2lkOworCiAJLyogYXJlIHdlIGJlaW5nIGNhbGxlZCBlYXJseSBpbiBrZXJuZWwgc3RhcnR1cD8gKi8KLQlpZiAoeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyKSB7Ci0JCXUxNiAqY3B1X3RvX2FwaWNpZCA9IHg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0cjsKLQkJdTE2ICpiaW9zX2NwdV9hcGljaWQgPSB4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0cjsKKwlpZiAoZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19hcGljaWQpKSB7CisJCXUxNiAqY3B1X3RvX2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKTsKKwkJdTE2ICpiaW9zX2NwdV9hcGljaWQgPSBlYXJseV9wZXJfY3B1X3B0cih4ODZfYmlvc19jcHVfYXBpY2lkKTsKIAogCQljcHVfdG9fYXBpY2lkW2NwdV0gPSBhcGljaWQ7CiAJCWJpb3NfY3B1X2FwaWNpZFtjcHVdID0gYXBpY2lkOwpAQCAtMTI2OSw3ICsxMjU5LDcgQEAKIAlpZiAoKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCkgJiYgIWlzX3ZzbXBfYm94KCkpCiAJCXJldHVybiAwOwogCi0JYmlvc19jcHVfYXBpY2lkID0geDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7CisJYmlvc19jcHVfYXBpY2lkID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2Jpb3NfY3B1X2FwaWNpZCk7CiAJYml0bWFwX3plcm8oY2x1c3Rlcm1hcCwgTlVNX0FQSUNfQ0xVU1RFUlMpOwogCiAJZm9yIChpID0gMDsgaSA8IE5SX0NQVVM7IGkrKykgewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FwbV8zMi5jIGIvYXJjaC94ODYva2VybmVsL2FwbV8zMi5jCmluZGV4IGJmOTI5MGUuLjc1Y2I1ZGEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hcG1fMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXBtXzMyLmMKQEAgLTIwNCw2ICsyMDQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgpAQCAtMjI4LDYgKzIyOSw3IEBACiAjaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgogI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtMTE0OSw3ICsxMTUxLDcgQEAKIAkJCQlhcy0+ZXZlbnRfdGFpbCA9IDA7CiAJCX0KIAkJYXMtPmV2ZW50c1thcy0+ZXZlbnRfaGVhZF0gPSBldmVudDsKLQkJaWYgKCghYXMtPnN1c2VyKSB8fCAoIWFzLT53cml0ZXIpKQorCQlpZiAoIWFzLT5zdXNlciB8fCAhYXMtPndyaXRlcikKIAkJCWNvbnRpbnVlOwogCQlzd2l0Y2ggKGV2ZW50KSB7CiAJCWNhc2UgQVBNX1NZU19TVVNQRU5EOgpAQCAtMTM5Niw3ICsxMzk4LDcgQEAKIAogc3RhdGljIGludCBjaGVja19hcG1fdXNlcihzdHJ1Y3QgYXBtX3VzZXIgKmFzLCBjb25zdCBjaGFyICpmdW5jKQogewotCWlmICgoYXMgPT0gTlVMTCkgfHwgKGFzLT5tYWdpYyAhPSBBUE1fQklPU19NQUdJQykpIHsKKwlpZiAoYXMgPT0gTlVMTCB8fCBhcy0+bWFnaWMgIT0gQVBNX0JJT1NfTUFHSUMpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJhcG06ICVzIHBhc3NlZCBiYWQgZmlscFxuIiwgZnVuYyk7CiAJCXJldHVybiAxOwogCX0KQEAgLTE0NTksMTggKzE0NjEsMTkgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBkb19pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCwKLQkJICAgIHVfaW50IGNtZCwgdV9sb25nIGFyZykKK3N0YXRpYyBsb25nIGRvX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLCB1X2ludCBjbWQsIHVfbG9uZyBhcmcpCiB7CiAJc3RydWN0IGFwbV91c2VyICphczsKKwlpbnQgcmV0OwogCiAJYXMgPSBmaWxwLT5wcml2YXRlX2RhdGE7CiAJaWYgKGNoZWNrX2FwbV91c2VyKGFzLCAiaW9jdGwiKSkKIAkJcmV0dXJuIC1FSU87Ci0JaWYgKCghYXMtPnN1c2VyKSB8fCAoIWFzLT53cml0ZXIpKQorCWlmICghYXMtPnN1c2VyIHx8ICFhcy0+d3JpdGVyKQogCQlyZXR1cm4gLUVQRVJNOwogCXN3aXRjaCAoY21kKSB7CiAJY2FzZSBBUE1fSU9DX1NUQU5EQlk6CisJCWxvY2tfa2VybmVsKCk7CiAJCWlmIChhcy0+c3RhbmRieXNfcmVhZCA+IDApIHsKIAkJCWFzLT5zdGFuZGJ5c19yZWFkLS07CiAJCQlhcy0+c3RhbmRieXNfcGVuZGluZy0tOwpAQCAtMTQ3OSw4ICsxNDgyLDEwIEBACiAJCQlxdWV1ZV9ldmVudChBUE1fVVNFUl9TVEFOREJZLCBhcyk7CiAJCWlmIChzdGFuZGJ5c19wZW5kaW5nIDw9IDApCiAJCQlzdGFuZGJ5KCk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJYnJlYWs7CiAJY2FzZSBBUE1fSU9DX1NVU1BFTkQ6CisJCWxvY2tfa2VybmVsKCk7CiAJCWlmIChhcy0+c3VzcGVuZHNfcmVhZCA+IDApIHsKIAkJCWFzLT5zdXNwZW5kc19yZWFkLS07CiAJCQlhcy0+c3VzcGVuZHNfcGVuZGluZy0tOwpAQCAtMTQ4OCwxNiArMTQ5MywxNyBAQAogCQl9IGVsc2UKIAkJCXF1ZXVlX2V2ZW50KEFQTV9VU0VSX1NVU1BFTkQsIGFzKTsKIAkJaWYgKHN1c3BlbmRzX3BlbmRpbmcgPD0gMCkgewotCQkJcmV0dXJuIHN1c3BlbmQoMSk7CisJCQlyZXQgPSBzdXNwZW5kKDEpOwogCQl9IGVsc2UgewogCQkJYXMtPnN1c3BlbmRfd2FpdCA9IDE7CiAJCQl3YWl0X2V2ZW50X2ludGVycnVwdGlibGUoYXBtX3N1c3BlbmRfd2FpdHF1ZXVlLAogCQkJCQlhcy0+c3VzcGVuZF93YWl0ID09IDApOwotCQkJcmV0dXJuIGFzLT5zdXNwZW5kX3Jlc3VsdDsKKwkJCXJldCA9IGFzLT5zdXNwZW5kX3Jlc3VsdDsKIAkJfQotCQlicmVhazsKKwkJdW5sb2NrX2tlcm5lbCgpOworCQlyZXR1cm4gcmV0OwogCWRlZmF1bHQ6Ci0JCXJldHVybiAtRUlOVkFMOworCQlyZXR1cm4gLUVOT1RUWTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC0xNTQ0LDEwICsxNTUwLDEyIEBACiB7CiAJc3RydWN0IGFwbV91c2VyICphczsKIAorCWxvY2tfa2VybmVsKCk7CiAJYXMgPSBrbWFsbG9jKHNpemVvZigqYXMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoYXMgPT0gTlVMTCkgewogCQlwcmludGsoS0VSTl9FUlIgImFwbTogY2Fubm90IGFsbG9jYXRlIHN0cnVjdCBvZiBzaXplICVkIGJ5dGVzXG4iLAogCQkgICAgICAgc2l6ZW9mKCphcykpOworCQkgICAgICAgdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAJYXMtPm1hZ2ljID0gQVBNX0JJT1NfTUFHSUM7CkBAIC0xNTY5LDYgKzE1NzcsNyBAQAogCXVzZXJfbGlzdCA9IGFzOwogCXNwaW5fdW5sb2NrKCZ1c2VyX2xpc3RfbG9jayk7CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gYXM7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCkBAIC0xODYwLDcgKzE4NjksNyBAQAogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkucmVhZAkJPSBkb19yZWFkLAogCS5wb2xsCQk9IGRvX3BvbGwsCi0JLmlvY3RsCQk9IGRvX2lvY3RsLAorCS51bmxvY2tlZF9pb2N0bAk9IGRvX2lvY3RsLAogCS5vcGVuCQk9IGRvX29wZW4sCiAJLnJlbGVhc2UJPSBkb19yZWxlYXNlLAogfTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hc20tb2Zmc2V0c18zMi5jIGIvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzMyLmMKaW5kZXggOTI1ODgwOC4uNjY0OWQwOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzMyLmMKQEAgLTExMSw3ICsxMTEsNyBAQAogCU9GRlNFVChQVl9JUlFfaXJxX2Rpc2FibGUsIHB2X2lycV9vcHMsIGlycV9kaXNhYmxlKTsKIAlPRkZTRVQoUFZfSVJRX2lycV9lbmFibGUsIHB2X2lycV9vcHMsIGlycV9lbmFibGUpOwogCU9GRlNFVChQVl9DUFVfaXJldCwgcHZfY3B1X29wcywgaXJldCk7Ci0JT0ZGU0VUKFBWX0NQVV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0LCBwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2NhbGxfcmV0KTsKKwlPRkZTRVQoUFZfQ1BVX2lycV9lbmFibGVfc3lzZXhpdCwgcHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNleGl0KTsKIAlPRkZTRVQoUFZfQ1BVX3JlYWRfY3IwLCBwdl9jcHVfb3BzLCByZWFkX2NyMCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfNjQuYwppbmRleCBmMTI2YzA1Li5iYWNmNWRlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfNjQuYwpAQCAtMzQsNyArMzQsNyBAQAogCUVOVFJZKHBpZCk7CiAJQkxBTksoKTsKICN1bmRlZiBFTlRSWQotI2RlZmluZSBFTlRSWShlbnRyeSkgREVGSU5FKHRocmVhZGluZm9fICMjIGVudHJ5LCBvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkX2luZm8sIGVudHJ5KSkKKyNkZWZpbmUgRU5UUlkoZW50cnkpIERFRklORShUSV8gIyMgZW50cnksIG9mZnNldG9mKHN0cnVjdCB0aHJlYWRfaW5mbywgZW50cnkpKQogCUVOVFJZKGZsYWdzKTsKIAlFTlRSWShhZGRyX2xpbWl0KTsKIAlFTlRSWShwcmVlbXB0X2NvdW50KTsKQEAgLTYxLDggKzYxLDExIEBACiAJT0ZGU0VUKFBBUkFWSVJUX1BBVENIX3B2X2lycV9vcHMsIHBhcmF2aXJ0X3BhdGNoX3RlbXBsYXRlLCBwdl9pcnFfb3BzKTsKIAlPRkZTRVQoUFZfSVJRX2lycV9kaXNhYmxlLCBwdl9pcnFfb3BzLCBpcnFfZGlzYWJsZSk7CiAJT0ZGU0VUKFBWX0lSUV9pcnFfZW5hYmxlLCBwdl9pcnFfb3BzLCBpcnFfZW5hYmxlKTsKKwlPRkZTRVQoUFZfSVJRX2FkanVzdF9leGNlcHRpb25fZnJhbWUsIHB2X2lycV9vcHMsIGFkanVzdF9leGNlcHRpb25fZnJhbWUpOwogCU9GRlNFVChQVl9DUFVfaXJldCwgcHZfY3B1X29wcywgaXJldCk7Ci0JT0ZGU0VUKFBWX0NQVV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0LCBwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2NhbGxfcmV0KTsKKwlPRkZTRVQoUFZfQ1BVX3VzZXJnc19zeXNyZXQzMiwgcHZfY3B1X29wcywgdXNlcmdzX3N5c3JldDMyKTsKKwlPRkZTRVQoUFZfQ1BVX3VzZXJnc19zeXNyZXQ2NCwgcHZfY3B1X29wcywgdXNlcmdzX3N5c3JldDY0KTsKKwlPRkZTRVQoUFZfQ1BVX2lycV9lbmFibGVfc3lzZXhpdCwgcHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNleGl0KTsKIAlPRkZTRVQoUFZfQ1BVX3N3YXBncywgcHZfY3B1X29wcywgc3dhcGdzKTsKIAlPRkZTRVQoUFZfTU1VX3JlYWRfY3IyLCBwdl9tbXVfb3BzLCByZWFkX2NyMik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvTWFrZWZpbGUgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L01ha2VmaWxlCmluZGV4IGEwYzZmODEuLmVlNzZlYWEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9NYWtlZmlsZQpAQCAtNiwxMSArNiwxNSBAQAogb2JqLXkJCQkrPSBwcm9jLm8gZmVhdHVyZV9uYW1lcy5vCiAKIG9iai0kKENPTkZJR19YODZfMzIpCSs9IGNvbW1vbi5vIGJ1Z3Mubworb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gY29tbW9uXzY0Lm8gYnVnc182NC5vCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSBhbWQubworb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gYW1kXzY0Lm8KIG9iai0kKENPTkZJR19YODZfMzIpCSs9IGN5cml4Lm8KIG9iai0kKENPTkZJR19YODZfMzIpCSs9IGNlbnRhdXIubworb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gY2VudGF1cl82NC5vCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSB0cmFuc21ldGEubwogb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gaW50ZWwubworb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gaW50ZWxfNjQubwogb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gdW1jLm8KIAogb2JqLSQoQ09ORklHX1g4Nl9NQ0UpCSs9IG1jaGVjay8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYWRkb25fY3B1aWRfZmVhdHVyZXMuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYWRkb25fY3B1aWRfZmVhdHVyZXMuYwppbmRleCBjMmUxY2UzLi44NGE4MjIwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FkZG9uX2NwdWlkX2ZlYXR1cmVzLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9hZGRvbl9jcHVpZF9mZWF0dXJlcy5jCkBAIC0xLDkgKzEsNyBAQAotCiAvKgogICoJUm91dGluZXMgdG8gaW5kZW50aWZ5IGFkZGl0aW9uYWwgY3B1IGZlYXR1cmVzIHRoYXQgYXJlIHNjYXR0ZXJlZCBpbgogICoJY3B1aWQgc3BhY2UuCiAgKi8KLQogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgogCiAjaW5jbHVkZSA8YXNtL3BhdC5oPgpAQCAtNTMsMTkgKzUxLDIwIEBACiAjaWZkZWYgQ09ORklHX1g4Nl9QQVQKIHZvaWQgX19jcHVpbml0IHZhbGlkYXRlX3BhdF9zdXBwb3J0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsKKwlpZiAoIWNwdV9oYXNfcGF0KQorCQlwYXRfZGlzYWJsZSgiUEFUIG5vdCBzdXBwb3J0ZWQgYnkgQ1BVLiIpOworCiAJc3dpdGNoIChjLT54ODZfdmVuZG9yKSB7Ci0JY2FzZSBYODZfVkVORE9SX0FNRDoKLQkJaWYgKGMtPng4NiA+PSAweGYgJiYgYy0+eDg2IDw9IDB4MTEpCi0JCQlyZXR1cm47Ci0JCWJyZWFrOwogCWNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKIAkJaWYgKGMtPng4NiA9PSAweEYgfHwgKGMtPng4NiA9PSA2ICYmIGMtPng4Nl9tb2RlbCA+PSAxNSkpCiAJCQlyZXR1cm47CiAJCWJyZWFrOworCWNhc2UgWDg2X1ZFTkRPUl9BTUQ6CisJY2FzZSBYODZfVkVORE9SX0NFTlRBVVI6CisJY2FzZSBYODZfVkVORE9SX1RSQU5TTUVUQToKKwkJcmV0dXJuOwogCX0KIAotCXBhdF9kaXNhYmxlKGNwdV9oYXNfcGF0ID8KLQkJICAgICJQQVQgZGlzYWJsZWQuIE5vdCB5ZXQgdmVyaWZpZWQgb24gdGhpcyBDUFUgdHlwZS4iIDoKLQkJICAgICJQQVQgbm90IHN1cHBvcnRlZCBieSBDUFUuIik7CisJcGF0X2Rpc2FibGUoIlBBVCBkaXNhYmxlZC4gTm90IHlldCB2ZXJpZmllZCBvbiB0aGlzIENQVSB0eXBlLiIpOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYwppbmRleCAyNDU4NjY4Li44MWEwN2NhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kLmMKQEAgLTI0LDQzICsyNCw2IEBACiBleHRlcm4gdm9pZCB2aWRlKHZvaWQpOwogX19hc21fXygiLmFsaWduIDRcbnZpZGU6IHJldCIpOwogCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi0jZGVmaW5lIEVOQUJMRV9DMUVfTUFTSyAgICAgICAgIDB4MTgwMDAwMDAKLSNkZWZpbmUgQ1BVSURfUFJPQ0VTU09SX1NJR05BVFVSRSAgICAgICAxCi0jZGVmaW5lIENQVUlEX1hGQU0gICAgICAgICAgICAgIDB4MGZmMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV9LOCAgICAgICAgICAgMHgwMDAwMDAwMAotI2RlZmluZSBDUFVJRF9YRkFNXzEwSCAgICAgICAgICAweDAwMTAwMDAwCi0jZGVmaW5lIENQVUlEX1hGQU1fMTFIICAgICAgICAgIDB4MDAyMDAwMDAKLSNkZWZpbmUgQ1BVSURfWE1PRCAgICAgICAgICAgICAgMHgwMDBmMDAwMAotI2RlZmluZSBDUFVJRF9YTU9EX1JFVl9GICAgICAgICAweDAwMDQwMDAwCi0KLS8qIEFNRCBzeXN0ZW1zIHdpdGggQzFFIGRvbid0IGhhdmUgYSB3b3JraW5nIGxBUElDIHRpbWVyLiBDaGVjayBmb3IgdGhhdC4gKi8KLXN0YXRpYyBfX2NwdWluaXQgaW50IGFtZF9hcGljX3RpbWVyX2Jyb2tlbih2b2lkKQotewotCXUzMiBsbywgaGk7Ci0JdTMyIGVheCA9IGNwdWlkX2VheChDUFVJRF9QUk9DRVNTT1JfU0lHTkFUVVJFKTsKLQlzd2l0Y2ggKGVheCAmIENQVUlEX1hGQU0pIHsKLQljYXNlIENQVUlEX1hGQU1fSzg6Ci0JCWlmICgoZWF4ICYgQ1BVSURfWE1PRCkgPCBDUFVJRF9YTU9EX1JFVl9GKQotCQkJYnJlYWs7Ci0JY2FzZSBDUFVJRF9YRkFNXzEwSDoKLQljYXNlIENQVUlEX1hGQU1fMTFIOgotCQlyZG1zcihNU1JfSzhfRU5BQkxFX0MxRSwgbG8sIGhpKTsKLQkJaWYgKGxvICYgRU5BQkxFX0MxRV9NQVNLKSB7Ci0JCQlpZiAoc21wX3Byb2Nlc3Nvcl9pZCgpICE9IGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCkKLQkJCQlwcmludGsoS0VSTl9JTkZPICJBTUQgQzFFIGRldGVjdGVkIGxhdGUuICIKLQkJCQkgICAgICAgIglGb3JjZSB0aW1lciBicm9hZGNhc3QuXG4iKTsKLQkJCXJldHVybiAxOwotCQl9Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCS8qIGVyciBvbiB0aGUgc2lkZSBvZiBjYXV0aW9uICovCi0JCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLSNlbmRpZgotCiBpbnQgZm9yY2VfbXdhaXQgX19jcHVpbml0ZGF0YTsKIAogc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKQEAgLTI5NywxMSArMjYwLDYgQEAKIAkJCW51bV9jYWNoZV9sZWF2ZXMgPSAzOwogCX0KIAotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWlmIChhbWRfYXBpY190aW1lcl9icm9rZW4oKSkKLQkJbG9jYWxfYXBpY190aW1lcl9kaXNhYmxlZCA9IDE7Ci0jZW5kaWYKLQogCS8qIEs2cyByZXBvcnRzIE1DRXMgYnV0IGRvbid0IGFjdHVhbGx5IGhhdmUgYWxsIHRoZSBNU1JzICovCiAJaWYgKGMtPng4NiA8IDYpCiAJCWNsZWFyX2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfTUNFKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZF82NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjMzZmYjgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZF82NC5jCkBAIC0wLDAgKzEsMjIyIEBACisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisKKyNpbmNsdWRlIDxhc20vbnVtYV82NC5oPgorI2luY2x1ZGUgPGFzbS9tbWNvbmZpZy5oPgorI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisKKyNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KKworI2luY2x1ZGUgImNwdS5oIgorCitpbnQgZm9yY2VfbXdhaXQgX19jcHVpbml0ZGF0YTsKKworI2lmZGVmIENPTkZJR19OVU1BCitzdGF0aWMgaW50IF9fY3B1aW5pdCBuZWFyYnlfbm9kZShpbnQgYXBpY2lkKQoreworCWludCBpLCBub2RlOworCisJZm9yIChpID0gYXBpY2lkIC0gMTsgaSA+PSAwOyBpLS0pIHsKKwkJbm9kZSA9IGFwaWNpZF90b19ub2RlW2ldOworCQlpZiAobm9kZSAhPSBOVU1BX05PX05PREUgJiYgbm9kZV9vbmxpbmUobm9kZSkpCisJCQlyZXR1cm4gbm9kZTsKKwl9CisJZm9yIChpID0gYXBpY2lkICsgMTsgaSA8IE1BWF9MT0NBTF9BUElDOyBpKyspIHsKKwkJbm9kZSA9IGFwaWNpZF90b19ub2RlW2ldOworCQlpZiAobm9kZSAhPSBOVU1BX05PX05PREUgJiYgbm9kZV9vbmxpbmUobm9kZSkpCisJCQlyZXR1cm4gbm9kZTsKKwl9CisJcmV0dXJuIGZpcnN0X25vZGUobm9kZV9vbmxpbmVfbWFwKTsgLyogU2hvdWxkbid0IGhhcHBlbiAqLworfQorI2VuZGlmCisKKy8qCisgKiBPbiBhIEFNRCBkdWFsIGNvcmUgc2V0dXAgdGhlIGxvd2VyIGJpdHMgb2YgdGhlIEFQSUMgaWQgZGlzdGluZ3VzaCB0aGUgY29yZXMuCisgKiBBc3N1bWVzIG51bWJlciBvZiBjb3JlcyBpcyBhIHBvd2VyIG9mIHR3by4KKyAqLworc3RhdGljIHZvaWQgX19jcHVpbml0IGFtZF9kZXRlY3RfY21wKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKyNpZmRlZiBDT05GSUdfU01QCisJdW5zaWduZWQgYml0czsKKyNpZmRlZiBDT05GSUdfTlVNQQorCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJaW50IG5vZGUgPSAwOworCXVuc2lnbmVkIGFwaWNpZCA9IGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpOworI2VuZGlmCisJYml0cyA9IGMtPng4Nl9jb3JlaWRfYml0czsKKworCS8qIExvdyBvcmRlciBiaXRzIGRlZmluZSB0aGUgY29yZSBpZCAoaW5kZXggb2YgY29yZSBpbiBzb2NrZXQpICovCisJYy0+Y3B1X2NvcmVfaWQgPSBjLT5pbml0aWFsX2FwaWNpZCAmICgoMSA8PCBiaXRzKS0xKTsKKwkvKiBDb252ZXJ0IHRoZSBpbml0aWFsIEFQSUMgSUQgaW50byB0aGUgc29ja2V0IElEICovCisJYy0+cGh5c19wcm9jX2lkID0gYy0+aW5pdGlhbF9hcGljaWQgPj4gYml0czsKKworI2lmZGVmIENPTkZJR19OVU1BCisJbm9kZSA9IGMtPnBoeXNfcHJvY19pZDsKKwlpZiAoYXBpY2lkX3RvX25vZGVbYXBpY2lkXSAhPSBOVU1BX05PX05PREUpCisJCW5vZGUgPSBhcGljaWRfdG9fbm9kZVthcGljaWRdOworCWlmICghbm9kZV9vbmxpbmUobm9kZSkpIHsKKwkJLyogVHdvIHBvc3NpYmlsaXRpZXMgaGVyZToKKwkJICAgLSBUaGUgQ1BVIGlzIG1pc3NpbmcgbWVtb3J5IGFuZCBubyBub2RlIHdhcyBjcmVhdGVkLgorCQkgICBJbiB0aGF0IGNhc2UgdHJ5IHBpY2tpbmcgb25lIGZyb20gYSBuZWFyYnkgQ1BVCisJCSAgIC0gVGhlIEFQSUMgSURzIGRpZmZlciBmcm9tIHRoZSBIeXBlclRyYW5zcG9ydCBub2RlIElEcworCQkgICB3aGljaCB0aGUgSzggbm9ydGhicmlkZ2UgcGFyc2luZyBmaWxscyBpbi4KKwkJICAgQXNzdW1lIHRoZXkgYXJlIGFsbCBpbmNyZWFzZWQgYnkgYSBjb25zdGFudCBvZmZzZXQsCisJCSAgIGJ1dCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgSFQgbm9kZWlkcy4KKwkJICAgSWYgdGhhdCBkb2Vzbid0IHJlc3VsdCBpbiBhIHVzYWJsZSBub2RlIGZhbGwgYmFjayB0byB0aGUKKwkJICAgcGF0aCBmb3IgdGhlIHByZXZpb3VzIGNhc2UuICAqLworCisJCWludCBodF9ub2RlaWQgPSBjLT5pbml0aWFsX2FwaWNpZDsKKworCQlpZiAoaHRfbm9kZWlkID49IDAgJiYKKwkJICAgIGFwaWNpZF90b19ub2RlW2h0X25vZGVpZF0gIT0gTlVNQV9OT19OT0RFKQorCQkJbm9kZSA9IGFwaWNpZF90b19ub2RlW2h0X25vZGVpZF07CisJCS8qIFBpY2sgYSBuZWFyYnkgbm9kZSAqLworCQlpZiAoIW5vZGVfb25saW5lKG5vZGUpKQorCQkJbm9kZSA9IG5lYXJieV9ub2RlKGFwaWNpZCk7CisJfQorCW51bWFfc2V0X25vZGUoY3B1LCBub2RlKTsKKworCXByaW50ayhLRVJOX0lORk8gIkNQVSAlZC8leCAtPiBOb2RlICVkXG4iLCBjcHUsIGFwaWNpZCwgbm9kZSk7CisjZW5kaWYKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaW5pdF9hbWRfbWMoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworI2lmZGVmIENPTkZJR19TTVAKKwl1bnNpZ25lZCBiaXRzLCBlY3g7CisKKwkvKiBNdWx0aSBjb3JlIENQVT8gKi8KKwlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPCAweDgwMDAwMDA4KQorCQlyZXR1cm47CisKKwllY3ggPSBjcHVpZF9lY3goMHg4MDAwMDAwOCk7CisKKwljLT54ODZfbWF4X2NvcmVzID0gKGVjeCAmIDB4ZmYpICsgMTsKKworCS8qIENQVSB0ZWxsaW5nIHVzIHRoZSBjb3JlIGlkIGJpdHMgc2hpZnQ/ICovCisJYml0cyA9IChlY3ggPj4gMTIpICYgMHhGOworCisJLyogT3RoZXJ3aXNlIHJlY29tcHV0ZSAqLworCWlmIChiaXRzID09IDApIHsKKwkJd2hpbGUgKCgxIDw8IGJpdHMpIDwgYy0+eDg2X21heF9jb3JlcykKKwkJCWJpdHMrKzsKKwl9CisKKwljLT54ODZfY29yZWlkX2JpdHMgPSBiaXRzOworCisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwllYXJseV9pbml0X2FtZF9tYyhjKTsKKworCS8qIGMtPng4Nl9wb3dlciBpcyA4MDAwXzAwMDcgZWR4LiBCaXQgOCBpcyBjb25zdGFudCBUU0MgKi8KKwlpZiAoYy0+eDg2X3Bvd2VyICYgKDE8PDgpKQorCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOworfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9hbWQoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCXVuc2lnbmVkIGxldmVsOworCisjaWZkZWYgQ09ORklHX1NNUAorCXVuc2lnbmVkIGxvbmcgdmFsdWU7CisKKwkvKgorCSAqIERpc2FibGUgVExCIGZsdXNoIGZpbHRlciBieSBzZXR0aW5nIEhXQ1IuRkZESVMgb24gSzgKKwkgKiBiaXQgNiBvZiBtc3IgQzAwMV8wMDE1CisJICoKKwkgKiBFcnJhdGEgNjMgZm9yIFNILUIzIHN0ZXBwaW5ncworCSAqIEVycmF0YSAxMjIgZm9yIGFsbCBzdGVwcGluZ3MgKEYrIGhhdmUgaXQgZGlzYWJsZWQgYnkgZGVmYXVsdCkKKwkgKi8KKwlpZiAoYy0+eDg2ID09IDB4ZikgeworCQlyZG1zcmwoTVNSX0s4X0hXQ1IsIHZhbHVlKTsKKwkJdmFsdWUgfD0gMSA8PCA2OworCQl3cm1zcmwoTVNSX0s4X0hXQ1IsIHZhbHVlKTsKKwl9CisjZW5kaWYKKworCS8qIEJpdCAzMSBpbiBub3JtYWwgQ1BVSUQgdXNlZCBmb3Igbm9uc3RhbmRhcmQgM0ROb3cgSUQ7CisJICAgM0ROb3cgaXMgSURkIGJ5IGJpdCAzMSBpbiBleHRlbmRlZCBDUFVJRCAoMSozMiszMSkgYW55d2F5ICovCisJY2xlYXJfY3B1X2NhcChjLCAwKjMyKzMxKTsKKworCS8qIE9uIEMrIHN0ZXBwaW5nIEs4IHJlcCBtaWNyb2NvZGUgd29ya3Mgd2VsbCBmb3IgY29weS9tZW1zZXQgKi8KKwlpZiAoYy0+eDg2ID09IDB4ZikgeworCQlsZXZlbCA9IGNwdWlkX2VheCgxKTsKKwkJaWYoKGxldmVsID49IDB4MGY0OCAmJiBsZXZlbCA8IDB4MGY1MCkgfHwgbGV2ZWwgPj0gMHgwZjU4KQorCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOworCX0KKwlpZiAoYy0+eDg2ID09IDB4MTAgfHwgYy0+eDg2ID09IDB4MTEpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1JFUF9HT09EKTsKKworCS8qIEVuYWJsZSB3b3JrYXJvdW5kIGZvciBGWFNBVkUgbGVhayAqLworCWlmIChjLT54ODYgPj0gNikKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfRlhTQVZFX0xFQUspOworCisJbGV2ZWwgPSBnZXRfbW9kZWxfbmFtZShjKTsKKwlpZiAoIWxldmVsKSB7CisJCXN3aXRjaCAoYy0+eDg2KSB7CisJCWNhc2UgMHhmOgorCQkJLyogU2hvdWxkIGRpc3Rpbmd1aXNoIE1vZGVscyBoZXJlLCBidXQgdGhpcyBpcyBvbmx5CisJCQkgICBhIGZhbGxiYWNrIGFueXdheXMuICovCisJCQlzdHJjcHkoYy0+eDg2X21vZGVsX2lkLCAiSGFtbWVyIik7CisJCQlicmVhazsKKwkJfQorCX0KKwlkaXNwbGF5X2NhY2hlaW5mbyhjKTsKKworCS8qIE11bHRpIGNvcmUgQ1BVPyAqLworCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA4KQorCQlhbWRfZGV0ZWN0X2NtcChjKTsKKworCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA2ICYmCisJCShjcHVpZF9lZHgoMHg4MDAwMDAwNikgJiAweGYwMDApKQorCQludW1fY2FjaGVfbGVhdmVzID0gNDsKKwllbHNlCisJCW51bV9jYWNoZV9sZWF2ZXMgPSAzOworCisJaWYgKGMtPng4NiA+PSAweGYgJiYgYy0+eDg2IDw9IDB4MTEpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0s4KTsKKworCS8qIE1GRU5DRSBzdG9wcyBSRFRTQyBzcGVjdWxhdGlvbiAqLworCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX01GRU5DRV9SRFRTQyk7CisKKwlpZiAoYy0+eDg2ID09IDB4MTApIHsKKwkJLyogZG8gdGhpcyBmb3IgYm9vdCBjcHUgKi8KKwkJaWYgKGMgPT0gJmJvb3RfY3B1X2RhdGEpCisJCQljaGVja19lbmFibGVfYW1kX21tY29uZl9kbWkoKTsKKworCQlmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKCk7CisJfQorCisJaWYgKGMgPT0gJmJvb3RfY3B1X2RhdGEgJiYgYy0+eDg2ID49IDB4ZiAmJiBjLT54ODYgPD0gMHgxMSkgeworCQl1bnNpZ25lZCBsb25nIGxvbmcgdHNlZzsKKworCQkvKgorCQkgKiBTcGxpdCB1cCBkaXJlY3QgbWFwcGluZyBhcm91bmQgdGhlIFRTRUcgU01NIGFyZWEuCisJCSAqIERvbid0IGRvIGl0IGZvciBnYnBhZ2VzIGJlY2F1c2UgdGhlcmUgc2VlbXMgdmVyeSBsaXR0bGUKKwkJICogYmVuZWZpdCBpbiBkb2luZyBzby4KKwkJICovCisJCWlmICghcmRtc3JsX3NhZmUoTVNSX0s4X1RTRUdfQUREUiwgJnRzZWcpKSB7CisJCSAgICBwcmludGsoS0VSTl9ERUJVRyAidHNlZzogJTAxMGxseFxuIiwgdHNlZyk7CisJCSAgICBpZiAoKHRzZWc+PlBNRF9TSElGVCkgPAorCQkJCShtYXhfbG93X3Bmbl9tYXBwZWQ+PihQTURfU0hJRlQtUEFHRV9TSElGVCkpIHx8CisJCQkoKHRzZWc+PlBNRF9TSElGVCkgPAorCQkJCShtYXhfcGZuX21hcHBlZD4+KFBNRF9TSElGVC1QQUdFX1NISUZUKSkgJiYKKwkJCSAodHNlZz4+UE1EX1NISUZUKSA+PSAoMVVMTDw8KDMyIC0gUE1EX1NISUZUKSkpKQorCQkJc2V0X21lbW9yeV80aygodW5zaWduZWQgbG9uZylfX3ZhKHRzZWcpLCAxKTsKKwkJfQorCX0KK30KKworc3RhdGljIHN0cnVjdCBjcHVfZGV2IGFtZF9jcHVfZGV2IF9fY3B1aW5pdGRhdGEgPSB7CisJLmNfdmVuZG9yCT0gIkFNRCIsCisJLmNfaWRlbnQJPSB7ICJBdXRoZW50aWNBTUQiIH0sCisJLmNfZWFybHlfaW5pdCAgID0gZWFybHlfaW5pdF9hbWQsCisJLmNfaW5pdAkJPSBpbml0X2FtZCwKK307CisKK2NwdV92ZW5kb3JfZGV2X3JlZ2lzdGVyKFg4Nl9WRU5ET1JfQU1ELCAmYW1kX2NwdV9kZXYpOworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2J1Z3MuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVncy5jCmluZGV4IDE3MGQyZjUuLjFiMWM1NmIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVncy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVncy5jCkBAIC01OSw4ICs1OSwxMiBAQAogCQlyZXR1cm47CiAJfQogCi0vKiB0cmFwX2luaXQoKSBlbmFibGVkIEZYU1IgYW5kIGNvbXBhbnkgX2JlZm9yZV8gdGVzdGluZyBmb3IgRlAgcHJvYmxlbXMgaGVyZS4gKi8KLQkvKiBUZXN0IGZvciB0aGUgZGl2bCBidWcuLiAqLworCS8qCisJICogdHJhcF9pbml0KCkgZW5hYmxlZCBGWFNSIGFuZCBjb21wYW55IF9iZWZvcmVfIHRlc3RpbmcgZm9yIEZQCisJICogcHJvYmxlbXMgaGVyZS4KKwkgKgorCSAqIFRlc3QgZm9yIHRoZSBkaXZsIGJ1Zy4uCisJICovCiAJX19hc21fXygiZm5pbml0XG5cdCIKIAkJImZsZGwgJTFcblx0IgogCQkiZmRpdmwgJTJcblx0IgpAQCAtMTA4LDEwICsxMTIsMTUgQEAKIAkgICJtb3ZsICQxMjM0NTY3OCwlJWVheDsgbW92bCAkMCwlJWVkaTsgcHVzaGE7IHBvcGE7IG1vdmwgKCUlZWR4LCUlZWRpKSwlJWVjeCAiCiAJICA6ICI9JmEiIChyZXMpCiAJICA6ICJkIiAoaW5wKQotCSAgOiAiZWN4IiwgImVkaSIgKTsKLQkvKiBJZiB0aGlzIGZhaWxzLCBpdCBtZWFucyB0aGF0IGFueSB1c2VyIHByb2dyYW0gbWF5IGxvY2sgdGhlIENQVSBoYXJkLiBUb28gYmFkLiAqLwotCWlmIChyZXMgIT0gMTIzNDU2NzgpIHByaW50ayggIkJ1Z2d5LlxuIiApOwotCQkgICAgICAgIGVsc2UgcHJpbnRrKCAiT0suXG4iICk7CisJICA6ICJlY3giLCAiZWRpIik7CisJLyoKKwkgKiBJZiB0aGlzIGZhaWxzLCBpdCBtZWFucyB0aGF0IGFueSB1c2VyIHByb2dyYW0gbWF5IGxvY2sgdGhlCisJICogQ1BVIGhhcmQuIFRvbyBiYWQuCisJICovCisJaWYgKHJlcyAhPSAxMjM0NTY3OCkKKwkJcHJpbnRrKCJCdWdneS5cbiIpOworCWVsc2UKKwkJcHJpbnRrKCJPSy5cbiIpOwogI2VuZGlmCiB9CiAKQEAgLTEzNyw3ICsxNDYsOCBAQAogICogaTQ4Nisgb25seSBmZWF0dXJlcyEgKFdQIHdvcmtzIGluIHN1cGVydmlzb3IgbW9kZSBhbmQgdGhlCiAgKiBuZXcgImludmxwZyIgYW5kICJic3dhcCIgaW5zdHJ1Y3Rpb25zKQogICovCi0jaWYgZGVmaW5lZChDT05GSUdfWDg2X1dQX1dPUktTX09LKSB8fCBkZWZpbmVkKENPTkZJR19YODZfSU5WTFBHKSB8fCBkZWZpbmVkKENPTkZJR19YODZfQlNXQVApCisjaWYgZGVmaW5lZChDT05GSUdfWDg2X1dQX1dPUktTX09LKSB8fCBkZWZpbmVkKENPTkZJR19YODZfSU5WTFBHKSB8fCBcCisJZGVmaW5lZChDT05GSUdfWDg2X0JTV0FQKQogCWlmIChib290X2NwdV9kYXRhLng4NiA9PSAzKQogCQlwYW5pYygiS2VybmVsIHJlcXVpcmVzIGk0ODYrIGZvciAnaW52bHBnJyBhbmQgb3RoZXIgZmVhdHVyZXMiKTsKICNlbmRpZgpAQCAtMTcwLDYgKzE4MCw3IEBACiAJY2hlY2tfZnB1KCk7CiAJY2hlY2tfaGx0KCk7CiAJY2hlY2tfcG9wYWQoKTsKLQlpbml0X3V0c25hbWUoKS0+bWFjaGluZVsxXSA9ICcwJyArIChib290X2NwdV9kYXRhLng4NiA+IDYgPyA2IDogYm9vdF9jcHVfZGF0YS54ODYpOworCWluaXRfdXRzbmFtZSgpLT5tYWNoaW5lWzFdID0KKwkJJzAnICsgKGJvb3RfY3B1X2RhdGEueDg2ID4gNiA/IDYgOiBib290X2NwdV9kYXRhLng4Nik7CiAJYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYnVnc182NC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9idWdzXzY0LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGFyY2gveDg2L2tlcm5lbC9idWdzXzY0LmMKcmVuYW1lIHRvIGFyY2gveDg2L2tlcm5lbC9jcHUvYnVnc182NC5jCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NlbnRhdXJfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY2VudGF1cl82NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMTgxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NlbnRhdXJfNjQuYwpAQCAtMCwwICsxLDM1IEBACisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorCisjaW5jbHVkZSA8YXNtL2NwdWZlYXR1cmUuaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisKKyNpbmNsdWRlICJjcHUuaCIKKworc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfY2VudGF1cihzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJaWYgKGMtPng4NiA9PSAweDYgJiYgYy0+eDg2X21vZGVsID49IDB4ZikKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKKworCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1NZU0VOVEVSMzIpOworfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9jZW50YXVyKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpZiAoYy0+eDg2ID09IDB4NiAmJiBjLT54ODZfbW9kZWwgPj0gMHhmKSB7CisJCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplICogMjsKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOworCX0KKwlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9MRkVOQ0VfUkRUU0MpOworfQorCitzdGF0aWMgc3RydWN0IGNwdV9kZXYgY2VudGF1cl9jcHVfZGV2IF9fY3B1aW5pdGRhdGEgPSB7CisJLmNfdmVuZG9yCT0gIkNlbnRhdXIiLAorCS5jX2lkZW50CT0geyAiQ2VudGF1ckhhdWxzIiB9LAorCS5jX2Vhcmx5X2luaXQJPSBlYXJseV9pbml0X2NlbnRhdXIsCisJLmNfaW5pdAkJPSBpbml0X2NlbnRhdXIsCit9OworCitjcHVfdmVuZG9yX2Rldl9yZWdpc3RlcihYODZfVkVORE9SX0NFTlRBVVIsICZjZW50YXVyX2NwdV9kZXYpOworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbi5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYwppbmRleCBkMDQ2M2E5Li44MGFiMjBkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uLmMKQEAgLTQyNyw3ICs0MjcsNyBAQAogLyoKICAqIFRoaXMgZG9lcyB0aGUgaGFyZCB3b3JrIG9mIGFjdHVhbGx5IHBpY2tpbmcgYXBhcnQgdGhlIENQVSBzdHVmZi4uLgogICovCi12b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQorc3RhdGljIHZvaWQgX19jcHVpbml0IGlkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7CiAJaW50IGk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbl82NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiOGNjNzIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbl82NC5jCkBAIC0wLDAgKzEsNjgxIEBACisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tnZGIuaD4KKyNpbmNsdWRlIDxsaW51eC90b3BvbG9neS5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9pMzg3Lmg+CisjaW5jbHVkZSA8YXNtL21zci5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9tbXVfY29udGV4dC5oPgorI2luY2x1ZGUgPGFzbS9tdHJyLmg+CisjaW5jbHVkZSA8YXNtL21jZS5oPgorI2luY2x1ZGUgPGFzbS9wYXQuaD4KKyNpbmNsdWRlIDxhc20vbnVtYS5oPgorI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgorI2VuZGlmCisjaW5jbHVkZSA8YXNtL3BkYS5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9kZXNjLmg+CisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9wcm90by5oPgorI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CisKKyNpbmNsdWRlICJjcHUuaCIKKworLyogV2UgbmVlZCB2YWxpZCBrZXJuZWwgc2VnbWVudHMgZm9yIGRhdGEgYW5kIGNvZGUgaW4gbG9uZyBtb2RlIHRvbworICogSVJFVCB3aWxsIGNoZWNrIHRoZSBzZWdtZW50IHR5cGVzICBra2VpbCAyMDAwLzEwLzI4CisgKiBBbHNvIHN5c3JldCBtYW5kYXRlcyBhIHNwZWNpYWwgR0RUIGxheW91dAorICovCisvKiBUaGUgVExTIGRlc2NyaXB0b3JzIGFyZSBjdXJyZW50bHkgYXQgYSBkaWZmZXJlbnQgcGxhY2UgY29tcGFyZWQgdG8gaTM4Ni4KKyAgIEhvcGVmdWxseSBub2JvZHkgZXhwZWN0cyB0aGVtIGF0IGEgZml4ZWQgcGxhY2UgKFdpbmU/KSAqLworREVGSU5FX1BFUl9DUFUoc3RydWN0IGdkdF9wYWdlLCBnZHRfcGFnZSkgPSB7IC5nZHQgPSB7CisJW0dEVF9FTlRSWV9LRVJORUwzMl9DU10gPSB7IHsgeyAweDAwMDBmZmZmLCAweDAwY2Y5YjAwIH0gfSB9LAorCVtHRFRfRU5UUllfS0VSTkVMX0NTXSA9IHsgeyB7IDB4MDAwMGZmZmYsIDB4MDBhZjliMDAgfSB9IH0sCisJW0dEVF9FTlRSWV9LRVJORUxfRFNdID0geyB7IHsgMHgwMDAwZmZmZiwgMHgwMGNmOTMwMCB9IH0gfSwKKwlbR0RUX0VOVFJZX0RFRkFVTFRfVVNFUjMyX0NTXSA9IHsgeyB7IDB4MDAwMGZmZmYsIDB4MDBjZmZiMDAgfSB9IH0sCisJW0dEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFNdID0geyB7IHsgMHgwMDAwZmZmZiwgMHgwMGNmZjMwMCB9IH0gfSwKKwlbR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9DU10gPSB7IHsgeyAweDAwMDBmZmZmLCAweDAwYWZmYjAwIH0gfSB9LAorfSB9OworRVhQT1JUX1BFUl9DUFVfU1lNQk9MX0dQTChnZHRfcGFnZSk7CisKK19fdTMyIGNsZWFyZWRfY3B1X2NhcHNbTkNBUElOVFNdIF9fY3B1aW5pdGRhdGE7CisKKy8qIEN1cnJlbnQgZ2R0IHBvaW50cyAlZnMgYXQgdGhlICJtYXN0ZXIiIHBlci1jcHUgYXJlYTogYWZ0ZXIgdGhpcywKKyAqIGl0J3Mgb24gdGhlIHJlYWwgb25lLiAqLwordm9pZCBzd2l0Y2hfdG9fbmV3X2dkdCh2b2lkKQoreworCXN0cnVjdCBkZXNjX3B0ciBnZHRfZGVzY3I7CisKKwlnZHRfZGVzY3IuYWRkcmVzcyA9IChsb25nKWdldF9jcHVfZ2R0X3RhYmxlKHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJZ2R0X2Rlc2NyLnNpemUgPSBHRFRfU0laRSAtIDE7CisJbG9hZF9nZHQoJmdkdF9kZXNjcik7Cit9CisKK3N0cnVjdCBjcHVfZGV2ICpjcHVfZGV2c1tYODZfVkVORE9SX05VTV0gPSB7fTsKKworc3RhdGljIHZvaWQgX19jcHVpbml0IGRlZmF1bHRfaW5pdChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJZGlzcGxheV9jYWNoZWluZm8oYyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3B1X2RldiBfX2NwdWluaXRkYXRhIGRlZmF1bHRfY3B1ID0geworCS5jX2luaXQJPSBkZWZhdWx0X2luaXQsCisJLmNfdmVuZG9yID0gIlVua25vd24iLAorfTsKK3N0YXRpYyBzdHJ1Y3QgY3B1X2RldiAqdGhpc19jcHUgX19jcHVpbml0ZGF0YSA9ICZkZWZhdWx0X2NwdTsKKworaW50IF9fY3B1aW5pdCBnZXRfbW9kZWxfbmFtZShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJdW5zaWduZWQgaW50ICp2OworCisJaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsIDwgMHg4MDAwMDAwNCkKKwkJcmV0dXJuIDA7CisKKwl2ID0gKHVuc2lnbmVkIGludCAqKSBjLT54ODZfbW9kZWxfaWQ7CisJY3B1aWQoMHg4MDAwMDAwMiwgJnZbMF0sICZ2WzFdLCAmdlsyXSwgJnZbM10pOworCWNwdWlkKDB4ODAwMDAwMDMsICZ2WzRdLCAmdls1XSwgJnZbNl0sICZ2WzddKTsKKwljcHVpZCgweDgwMDAwMDA0LCAmdls4XSwgJnZbOV0sICZ2WzEwXSwgJnZbMTFdKTsKKwljLT54ODZfbW9kZWxfaWRbNDhdID0gMDsKKwlyZXR1cm4gMTsKK30KKworCit2b2lkIF9fY3B1aW5pdCBkaXNwbGF5X2NhY2hlaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJdW5zaWduZWQgaW50IG4sIGR1bW15LCBlYngsIGVjeCwgZWR4OworCisJbiA9IGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsOworCisJaWYgKG4gPj0gMHg4MDAwMDAwNSkgeworCQljcHVpZCgweDgwMDAwMDA1LCAmZHVtbXksICZlYngsICZlY3gsICZlZHgpOworCQlwcmludGsoS0VSTl9JTkZPICJDUFU6IEwxIEkgQ2FjaGU6ICVkSyAoJWQgYnl0ZXMvbGluZSksICIKKwkJICAgICAgICJEIGNhY2hlICVkSyAoJWQgYnl0ZXMvbGluZSlcbiIsCisJCSAgICAgICBlZHg+PjI0LCBlZHgmMHhGRiwgZWN4Pj4yNCwgZWN4JjB4RkYpOworCQljLT54ODZfY2FjaGVfc2l6ZSA9IChlY3g+PjI0KSArIChlZHg+PjI0KTsKKwkJLyogT24gSzggTDEgVExCIGlzIGluY2x1c2l2ZSwgc28gZG9uJ3QgY291bnQgaXQgKi8KKwkJYy0+eDg2X3RsYnNpemUgPSAwOworCX0KKworCWlmIChuID49IDB4ODAwMDAwMDYpIHsKKwkJY3B1aWQoMHg4MDAwMDAwNiwgJmR1bW15LCAmZWJ4LCAmZWN4LCAmZWR4KTsKKwkJZWN4ID0gY3B1aWRfZWN4KDB4ODAwMDAwMDYpOworCQljLT54ODZfY2FjaGVfc2l6ZSA9IGVjeCA+PiAxNjsKKwkJYy0+eDg2X3RsYnNpemUgKz0gKChlYnggPj4gMTYpICYgMHhmZmYpICsgKGVieCAmIDB4ZmZmKTsKKworCQlwcmludGsoS0VSTl9JTkZPICJDUFU6IEwyIENhY2hlOiAlZEsgKCVkIGJ5dGVzL2xpbmUpXG4iLAorCQljLT54ODZfY2FjaGVfc2l6ZSwgZWN4ICYgMHhGRik7CisJfQorfQorCit2b2lkIF9fY3B1aW5pdCBkZXRlY3RfaHQoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworI2lmZGVmIENPTkZJR19TTVAKKwl1MzIgZWF4LCBlYngsIGVjeCwgZWR4OworCWludCBpbmRleF9tc2IsIGNvcmVfYml0czsKKworCWNwdWlkKDEsICZlYXgsICZlYngsICZlY3gsICZlZHgpOworCisKKwlpZiAoIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfSFQpKQorCQlyZXR1cm47CisJaWYgKGNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfQ01QX0xFR0FDWSkpCisJCWdvdG8gb3V0OworCisJc21wX251bV9zaWJsaW5ncyA9IChlYnggJiAweGZmMDAwMCkgPj4gMTY7CisKKwlpZiAoc21wX251bV9zaWJsaW5ncyA9PSAxKSB7CisJCXByaW50ayhLRVJOX0lORk8gICJDUFU6IEh5cGVyLVRocmVhZGluZyBpcyBkaXNhYmxlZFxuIik7CisJfSBlbHNlIGlmIChzbXBfbnVtX3NpYmxpbmdzID4gMSkgeworCisJCWlmIChzbXBfbnVtX3NpYmxpbmdzID4gTlJfQ1BVUykgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiQ1BVOiBVbnN1cHBvcnRlZCBudW1iZXIgb2YgIgorCQkJICAgICAgICJzaWJsaW5ncyAlZCIsIHNtcF9udW1fc2libGluZ3MpOworCQkJc21wX251bV9zaWJsaW5ncyA9IDE7CisJCQlyZXR1cm47CisJCX0KKworCQlpbmRleF9tc2IgPSBnZXRfY291bnRfb3JkZXIoc21wX251bV9zaWJsaW5ncyk7CisJCWMtPnBoeXNfcHJvY19pZCA9IHBoeXNfcGtnX2lkKGluZGV4X21zYik7CisKKwkJc21wX251bV9zaWJsaW5ncyA9IHNtcF9udW1fc2libGluZ3MgLyBjLT54ODZfbWF4X2NvcmVzOworCisJCWluZGV4X21zYiA9IGdldF9jb3VudF9vcmRlcihzbXBfbnVtX3NpYmxpbmdzKTsKKworCQljb3JlX2JpdHMgPSBnZXRfY291bnRfb3JkZXIoYy0+eDg2X21heF9jb3Jlcyk7CisKKwkJYy0+Y3B1X2NvcmVfaWQgPSBwaHlzX3BrZ19pZChpbmRleF9tc2IpICYKKwkJCQkJICAgICAgICgoMSA8PCBjb3JlX2JpdHMpIC0gMSk7CisJfQorb3V0OgorCWlmICgoYy0+eDg2X21heF9jb3JlcyAqIHNtcF9udW1fc2libGluZ3MpID4gMSkgeworCQlwcmludGsoS0VSTl9JTkZPICAiQ1BVOiBQaHlzaWNhbCBQcm9jZXNzb3IgSUQ6ICVkXG4iLAorCQkgICAgICAgYy0+cGh5c19wcm9jX2lkKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAgIkNQVTogUHJvY2Vzc29yIENvcmUgSUQ6ICVkXG4iLAorCQkgICAgICAgYy0+Y3B1X2NvcmVfaWQpOworCX0KKworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBnZXRfY3B1X3ZlbmRvcihzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJY2hhciAqdiA9IGMtPng4Nl92ZW5kb3JfaWQ7CisJaW50IGk7CisJc3RhdGljIGludCBwcmludGVkOworCisJZm9yIChpID0gMDsgaSA8IFg4Nl9WRU5ET1JfTlVNOyBpKyspIHsKKwkJaWYgKGNwdV9kZXZzW2ldKSB7CisJCQlpZiAoIXN0cmNtcCh2LCBjcHVfZGV2c1tpXS0+Y19pZGVudFswXSkgfHwKKwkJCSAgICAoY3B1X2RldnNbaV0tPmNfaWRlbnRbMV0gJiYKKwkJCSAgICAhc3RyY21wKHYsIGNwdV9kZXZzW2ldLT5jX2lkZW50WzFdKSkpIHsKKwkJCQljLT54ODZfdmVuZG9yID0gaTsKKwkJCQl0aGlzX2NwdSA9IGNwdV9kZXZzW2ldOworCQkJCXJldHVybjsKKwkJCX0KKwkJfQorCX0KKwlpZiAoIXByaW50ZWQpIHsKKwkJcHJpbnRlZCsrOworCQlwcmludGsoS0VSTl9FUlIgIkNQVTogVmVuZG9yIHVua25vd24sIHVzaW5nIGdlbmVyaWMgaW5pdC5cbiIpOworCQlwcmludGsoS0VSTl9FUlIgIkNQVTogWW91ciBzeXN0ZW0gbWF5IGJlIHVuc3RhYmxlLlxuIik7CisJfQorCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9SX1VOS05PV047Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlYXJseV9jcHVfc3VwcG9ydF9wcmludCh2b2lkKQoreworCWludCBpLGo7CisJc3RydWN0IGNwdV9kZXYgKmNwdV9kZXZ4OworCisJcHJpbnRrKCJLRVJORUwgc3VwcG9ydGVkIGNwdXM6XG4iKTsKKwlmb3IgKGkgPSAwOyBpIDwgWDg2X1ZFTkRPUl9OVU07IGkrKykgeworCQljcHVfZGV2eCA9IGNwdV9kZXZzW2ldOworCQlpZiAoIWNwdV9kZXZ4KQorCQkJY29udGludWU7CisJCWZvciAoaiA9IDA7IGogPCAyOyBqKyspIHsKKwkJCWlmICghY3B1X2RldngtPmNfaWRlbnRbal0pCisJCQkJY29udGludWU7CisJCQlwcmludGsoIiAgJXMgJXNcbiIsIGNwdV9kZXZ4LT5jX3ZlbmRvciwKKwkJCQljcHVfZGV2eC0+Y19pZGVudFtqXSk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKKwordm9pZCBfX2luaXQgZWFybHlfY3B1X2luaXQodm9pZCkKK3sKKyAgICAgICAgc3RydWN0IGNwdV92ZW5kb3JfZGV2ICpjdmRldjsKKworICAgICAgICBmb3IgKGN2ZGV2ID0gX194ODZjcHV2ZW5kb3Jfc3RhcnQgOworICAgICAgICAgICAgIGN2ZGV2IDwgX194ODZjcHV2ZW5kb3JfZW5kICAgOworICAgICAgICAgICAgIGN2ZGV2KyspCisgICAgICAgICAgICAgICAgY3B1X2RldnNbY3ZkZXYtPnZlbmRvcl0gPSBjdmRldi0+Y3B1X2RldjsKKwllYXJseV9jcHVfc3VwcG9ydF9wcmludCgpOworCWVhcmx5X2lkZW50aWZ5X2NwdSgmYm9vdF9jcHVfZGF0YSk7Cit9CisKKy8qIERvIHNvbWUgZWFybHkgY3B1aWQgb24gdGhlIGJvb3QgQ1BVIHRvIGdldCBzb21lIHBhcmFtZXRlciB0aGF0IGFyZQorICAgbmVlZGVkIGJlZm9yZSBjaGVja19idWdzLiBFdmVyeXRoaW5nIGFkdmFuY2VkIGlzIGluIGlkZW50aWZ5X2NwdQorICAgYmVsb3cuICovCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwl1MzIgdGZtcywgeGx2bDsKKworCWMtPmxvb3BzX3Blcl9qaWZmeSA9IGxvb3BzX3Blcl9qaWZmeTsKKwljLT54ODZfY2FjaGVfc2l6ZSA9IC0xOworCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9SX1VOS05PV047CisJYy0+eDg2X21vZGVsID0gYy0+eDg2X21hc2sgPSAwOwkvKiBTbyBmYXIgdW5rbm93bi4uLiAqLworCWMtPng4Nl92ZW5kb3JfaWRbMF0gPSAnXDAnOyAvKiBVbnNldCAqLworCWMtPng4Nl9tb2RlbF9pZFswXSA9ICdcMCc7ICAvKiBVbnNldCAqLworCWMtPng4Nl9jbGZsdXNoX3NpemUgPSA2NDsKKwljLT54ODZfY2FjaGVfYWxpZ25tZW50ID0gYy0+eDg2X2NsZmx1c2hfc2l6ZTsKKwljLT54ODZfbWF4X2NvcmVzID0gMTsKKwljLT54ODZfY29yZWlkX2JpdHMgPSAwOworCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0gMDsKKwltZW1zZXQoJmMtPng4Nl9jYXBhYmlsaXR5LCAwLCBzaXplb2YgYy0+eDg2X2NhcGFiaWxpdHkpOworCisJLyogR2V0IHZlbmRvciBuYW1lICovCisJY3B1aWQoMHgwMDAwMDAwMCwgKHVuc2lnbmVkIGludCAqKSZjLT5jcHVpZF9sZXZlbCwKKwkgICAgICAodW5zaWduZWQgaW50ICopJmMtPng4Nl92ZW5kb3JfaWRbMF0sCisJICAgICAgKHVuc2lnbmVkIGludCAqKSZjLT54ODZfdmVuZG9yX2lkWzhdLAorCSAgICAgICh1bnNpZ25lZCBpbnQgKikmYy0+eDg2X3ZlbmRvcl9pZFs0XSk7CisKKwlnZXRfY3B1X3ZlbmRvcihjKTsKKworCS8qIEluaXRpYWxpemUgdGhlIHN0YW5kYXJkIHNldCBvZiBjYXBhYmlsaXRpZXMgKi8KKwkvKiBOb3RlIHRoYXQgdGhlIHZlbmRvci1zcGVjaWZpYyBjb2RlIGJlbG93IG1pZ2h0IG92ZXJyaWRlICovCisKKwkvKiBJbnRlbC1kZWZpbmVkIGZsYWdzOiBsZXZlbCAweDAwMDAwMDAxICovCisJaWYgKGMtPmNwdWlkX2xldmVsID49IDB4MDAwMDAwMDEpIHsKKwkJX191MzIgbWlzYzsKKwkJY3B1aWQoMHgwMDAwMDAwMSwgJnRmbXMsICZtaXNjLCAmYy0+eDg2X2NhcGFiaWxpdHlbNF0sCisJCSAgICAgICZjLT54ODZfY2FwYWJpbGl0eVswXSk7CisJCWMtPng4NiA9ICh0Zm1zID4+IDgpICYgMHhmOworCQljLT54ODZfbW9kZWwgPSAodGZtcyA+PiA0KSAmIDB4ZjsKKwkJYy0+eDg2X21hc2sgPSB0Zm1zICYgMHhmOworCQlpZiAoYy0+eDg2ID09IDB4ZikKKwkJCWMtPng4NiArPSAodGZtcyA+PiAyMCkgJiAweGZmOworCQlpZiAoYy0+eDg2ID49IDB4NikKKwkJCWMtPng4Nl9tb2RlbCArPSAoKHRmbXMgPj4gMTYpICYgMHhGKSA8PCA0OworCQlpZiAodGVzdF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NMRkxTSCkpCisJCQljLT54ODZfY2xmbHVzaF9zaXplID0gKChtaXNjID4+IDgpICYgMHhmZikgKiA4OworCX0gZWxzZSB7CisJCS8qIEhhdmUgQ1BVSUQgbGV2ZWwgMCBvbmx5IC0gdW5oZWFyZCBvZiAqLworCQljLT54ODYgPSA0OworCX0KKworCWMtPmluaXRpYWxfYXBpY2lkID0gKGNwdWlkX2VieCgxKSA+PiAyNCkgJiAweGZmOworI2lmZGVmIENPTkZJR19TTVAKKwljLT5waHlzX3Byb2NfaWQgPSBjLT5pbml0aWFsX2FwaWNpZDsKKyNlbmRpZgorCS8qIEFNRC1kZWZpbmVkIGZsYWdzOiBsZXZlbCAweDgwMDAwMDAxICovCisJeGx2bCA9IGNwdWlkX2VheCgweDgwMDAwMDAwKTsKKwljLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA9IHhsdmw7CisJaWYgKCh4bHZsICYgMHhmZmZmMDAwMCkgPT0gMHg4MDAwMDAwMCkgeworCQlpZiAoeGx2bCA+PSAweDgwMDAwMDAxKSB7CisJCQljLT54ODZfY2FwYWJpbGl0eVsxXSA9IGNwdWlkX2VkeCgweDgwMDAwMDAxKTsKKwkJCWMtPng4Nl9jYXBhYmlsaXR5WzZdID0gY3B1aWRfZWN4KDB4ODAwMDAwMDEpOworCQl9CisJCWlmICh4bHZsID49IDB4ODAwMDAwMDQpCisJCQlnZXRfbW9kZWxfbmFtZShjKTsgLyogRGVmYXVsdCBuYW1lICovCisJfQorCisJLyogVHJhbnNtZXRhLWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4ODA4NjAwMDEgKi8KKwl4bHZsID0gY3B1aWRfZWF4KDB4ODA4NjAwMDApOworCWlmICgoeGx2bCAmIDB4ZmZmZjAwMDApID09IDB4ODA4NjAwMDApIHsKKwkJLyogRG9uJ3Qgc2V0IHg4Nl9jcHVpZF9sZXZlbCBoZXJlIGZvciBub3cgdG8gbm90IGNvbmZ1c2UuICovCisJCWlmICh4bHZsID49IDB4ODA4NjAwMDEpCisJCQljLT54ODZfY2FwYWJpbGl0eVsyXSA9IGNwdWlkX2VkeCgweDgwODYwMDAxKTsKKwl9CisKKwljLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA9IGNwdWlkX2VheCgweDgwMDAwMDAwKTsKKwlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwNykKKwkJYy0+eDg2X3Bvd2VyID0gY3B1aWRfZWR4KDB4ODAwMDAwMDcpOworCisJaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID49IDB4ODAwMDAwMDgpIHsKKwkJdTMyIGVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKKworCQljLT54ODZfdmlydF9iaXRzID0gKGVheCA+PiA4KSAmIDB4ZmY7CisJCWMtPng4Nl9waHlzX2JpdHMgPSBlYXggJiAweGZmOworCX0KKworCS8qIEFzc3VtZSBhbGwgNjQtYml0IENQVXMgc3VwcG9ydCAzMi1iaXQgc3lzY2FsbCAqLworCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1NZU0NBTEwzMik7CisKKwlpZiAoYy0+eDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX1VOS05PV04gJiYKKwkgICAgY3B1X2RldnNbYy0+eDg2X3ZlbmRvcl0tPmNfZWFybHlfaW5pdCkKKwkJY3B1X2RldnNbYy0+eDg2X3ZlbmRvcl0tPmNfZWFybHlfaW5pdChjKTsKKworCXZhbGlkYXRlX3BhdF9zdXBwb3J0KGMpOworCisJLyogZWFybHlfcGFyYW0gY291bGQgY2xlYXIgdGhhdCwgYnV0IHJlY2FsbCBnZXQgaXQgc2V0IGFnYWluICovCisJaWYgKGRpc2FibGVfYXBpYykKKwkJY2xlYXJfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9BUElDKTsKK30KKworLyoKKyAqIFRoaXMgZG9lcyB0aGUgaGFyZCB3b3JrIG9mIGFjdHVhbGx5IHBpY2tpbmcgYXBhcnQgdGhlIENQVSBzdHVmZi4uLgorICovCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpbnQgaTsKKworCWVhcmx5X2lkZW50aWZ5X2NwdShjKTsKKworCWluaXRfc2NhdHRlcmVkX2NwdWlkX2ZlYXR1cmVzKGMpOworCisJYy0+YXBpY2lkID0gcGh5c19wa2dfaWQoMCk7CisKKwkvKgorCSAqIFZlbmRvci1zcGVjaWZpYyBpbml0aWFsaXphdGlvbi4gIEluIHRoaXMgc2VjdGlvbiB3ZQorCSAqIGNhbm9uaWNhbGl6ZSB0aGUgZmVhdHVyZSBmbGFncywgbWVhbmluZyBpZiB0aGVyZSBhcmUKKwkgKiBmZWF0dXJlcyBhIGNlcnRhaW4gQ1BVIHN1cHBvcnRzIHdoaWNoIENQVUlEIGRvZXNuJ3QKKwkgKiB0ZWxsIHVzLCBDUFVJRCBjbGFpbWluZyBpbmNvcnJlY3QgZmxhZ3MsIG9yIG90aGVyIGJ1Z3MsCisJICogd2UgaGFuZGxlIHRoZW0gaGVyZS4KKwkgKgorCSAqIEF0IHRoZSBlbmQgb2YgdGhpcyBzZWN0aW9uLCBjLT54ODZfY2FwYWJpbGl0eSBiZXR0ZXIKKwkgKiBpbmRpY2F0ZSB0aGUgZmVhdHVyZXMgdGhpcyBDUFUgZ2VudWluZWx5IHN1cHBvcnRzIQorCSAqLworCWlmICh0aGlzX2NwdS0+Y19pbml0KQorCQl0aGlzX2NwdS0+Y19pbml0KGMpOworCisJZGV0ZWN0X2h0KGMpOworCisJLyoKKwkgKiBPbiBTTVAsIGJvb3RfY3B1X2RhdGEgaG9sZHMgdGhlIGNvbW1vbiBmZWF0dXJlIHNldCBiZXR3ZWVuCisJICogYWxsIENQVXM7IHNvIG1ha2Ugc3VyZSB0aGF0IHdlIGluZGljYXRlIHdoaWNoIGZlYXR1cmVzIGFyZQorCSAqIGNvbW1vbiBiZXR3ZWVuIHRoZSBDUFVzLiAgVGhlIGZpcnN0IHRpbWUgdGhpcyByb3V0aW5lIGdldHMKKwkgKiBleGVjdXRlZCwgYyA9PSAmYm9vdF9jcHVfZGF0YS4KKwkgKi8KKwlpZiAoYyAhPSAmYm9vdF9jcHVfZGF0YSkgeworCQkvKiBBTkQgdGhlIGFscmVhZHkgYWNjdW11bGF0ZWQgZmxhZ3Mgd2l0aCB0aGVzZSAqLworCQlmb3IgKGkgPSAwOyBpIDwgTkNBUElOVFM7IGkrKykKKwkJCWJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHlbaV0gJj0gYy0+eDg2X2NhcGFiaWxpdHlbaV07CisJfQorCisJLyogQ2xlYXIgYWxsIGZsYWdzIG92ZXJyaWRlbiBieSBvcHRpb25zICovCisJZm9yIChpID0gMDsgaSA8IE5DQVBJTlRTOyBpKyspCisJCWMtPng4Nl9jYXBhYmlsaXR5W2ldICY9IH5jbGVhcmVkX2NwdV9jYXBzW2ldOworCisjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKKwltY2hlY2tfaW5pdChjKTsKKyNlbmRpZgorCXNlbGVjdF9pZGxlX3JvdXRpbmUoYyk7CisKKyNpZmRlZiBDT05GSUdfTlVNQQorCW51bWFfYWRkX2NwdShzbXBfcHJvY2Vzc29yX2lkKCkpOworI2VuZGlmCisKK30KKwordm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfYm9vdF9jcHUodm9pZCkKK3sKKwlpZGVudGlmeV9jcHUoJmJvb3RfY3B1X2RhdGEpOworfQorCit2b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9zZWNvbmRhcnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlCVUdfT04oYyA9PSAmYm9vdF9jcHVfZGF0YSk7CisJaWRlbnRpZnlfY3B1KGMpOworCW10cnJfYXBfaW5pdCgpOworfQorCitzdGF0aWMgX19pbml0IGludCBzZXR1cF9ub2NsZmx1c2goY2hhciAqYXJnKQoreworCXNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfQ0xGTFNIKTsKKwlyZXR1cm4gMTsKK30KK19fc2V0dXAoIm5vY2xmbHVzaCIsIHNldHVwX25vY2xmbHVzaCk7CisKK3ZvaWQgX19jcHVpbml0IHByaW50X2NwdV9pbmZvKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpZiAoYy0+eDg2X21vZGVsX2lkWzBdKQorCQlwcmludGsoS0VSTl9DT05UICIlcyIsIGMtPng4Nl9tb2RlbF9pZCk7CisKKwlpZiAoYy0+eDg2X21hc2sgfHwgYy0+Y3B1aWRfbGV2ZWwgPj0gMCkKKwkJcHJpbnRrKEtFUk5fQ09OVCAiIHN0ZXBwaW5nICUwMnhcbiIsIGMtPng4Nl9tYXNrKTsKKwllbHNlCisJCXByaW50ayhLRVJOX0NPTlQgIlxuIik7Cit9CisKK3N0YXRpYyBfX2luaXQgaW50IHNldHVwX2Rpc2FibGVjcHVpZChjaGFyICphcmcpCit7CisJaW50IGJpdDsKKwlpZiAoZ2V0X29wdGlvbigmYXJnLCAmYml0KSAmJiBiaXQgPCBOQ0FQSU5UUyozMikKKwkJc2V0dXBfY2xlYXJfY3B1X2NhcChiaXQpOworCWVsc2UKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CitfX3NldHVwKCJjbGVhcmNwdWlkPSIsIHNldHVwX2Rpc2FibGVjcHVpZCk7CisKK2NwdW1hc2tfdCBjcHVfaW5pdGlhbGl6ZWQgX19jcHVpbml0ZGF0YSA9IENQVV9NQVNLX05PTkU7CisKK3N0cnVjdCB4ODY2NF9wZGEgKipfY3B1X3BkYSBfX3JlYWRfbW9zdGx5OworRVhQT1JUX1NZTUJPTChfY3B1X3BkYSk7CisKK3N0cnVjdCBkZXNjX3B0ciBpZHRfZGVzY3IgPSB7IDI1NiAqIDE2IC0gMSwgKHVuc2lnbmVkIGxvbmcpIGlkdF90YWJsZSB9OworCitjaGFyIGJvb3RfY3B1X3N0YWNrW0lSUVNUQUNLU0laRV0gX19wYWdlX2FsaWduZWRfYnNzOworCit1bnNpZ25lZCBsb25nIF9fc3VwcG9ydGVkX3B0ZV9tYXNrIF9fcmVhZF9tb3N0bHkgPSB+MFVMOworRVhQT1JUX1NZTUJPTF9HUEwoX19zdXBwb3J0ZWRfcHRlX21hc2spOworCitzdGF0aWMgaW50IGRvX25vdF9ueCBfX2NwdWluaXRkYXRhOworCisvKiBub2V4ZWM9b258b2ZmCitDb250cm9sIG5vbiBleGVjdXRhYmxlIG1hcHBpbmdzIGZvciA2NGJpdCBwcm9jZXNzZXMuCisKK29uCUVuYWJsZShkZWZhdWx0KQorb2ZmCURpc2FibGUKKyovCitzdGF0aWMgaW50IF9faW5pdCBub254X3NldHVwKGNoYXIgKnN0cikKK3sKKwlpZiAoIXN0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFzdHJuY21wKHN0ciwgIm9uIiwgMikpIHsKKwkJX19zdXBwb3J0ZWRfcHRlX21hc2sgfD0gX1BBR0VfTlg7CisJCWRvX25vdF9ueCA9IDA7CisJfSBlbHNlIGlmICghc3RybmNtcChzdHIsICJvZmYiLCAzKSkgeworCQlkb19ub3RfbnggPSAxOworCQlfX3N1cHBvcnRlZF9wdGVfbWFzayAmPSB+X1BBR0VfTlg7CisJfQorCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oIm5vZXhlYyIsIG5vbnhfc2V0dXApOworCitpbnQgZm9yY2VfcGVyc29uYWxpdHkzMjsKKworLyogbm9leGVjMzI9b258b2ZmCitDb250cm9sIG5vbiBleGVjdXRhYmxlIGhlYXAgZm9yIDMyYml0IHByb2Nlc3Nlcy4KK1RvIGNvbnRyb2wgdGhlIHN0YWNrIHRvbyB1c2Ugbm9leGVjPW9mZgorCitvbglQUk9UX1JFQUQgZG9lcyBub3QgaW1wbHkgUFJPVF9FWEVDIGZvciAzMmJpdCBwcm9jZXNzZXMgKGRlZmF1bHQpCitvZmYJUFJPVF9SRUFEIGltcGxpZXMgUFJPVF9FWEVDCisqLworc3RhdGljIGludCBfX2luaXQgbm9ueDMyX3NldHVwKGNoYXIgKnN0cikKK3sKKwlpZiAoIXN0cmNtcChzdHIsICJvbiIpKQorCQlmb3JjZV9wZXJzb25hbGl0eTMyICY9IH5SRUFEX0lNUExJRVNfRVhFQzsKKwllbHNlIGlmICghc3RyY21wKHN0ciwgIm9mZiIpKQorCQlmb3JjZV9wZXJzb25hbGl0eTMyIHw9IFJFQURfSU1QTElFU19FWEVDOworCXJldHVybiAxOworfQorX19zZXR1cCgibm9leGVjMzI9Iiwgbm9ueDMyX3NldHVwKTsKKwordm9pZCBwZGFfaW5pdChpbnQgY3B1KQoreworCXN0cnVjdCB4ODY2NF9wZGEgKnBkYSA9IGNwdV9wZGEoY3B1KTsKKworCS8qIFNldHVwIHVwIGRhdGEgdGhhdCBtYXkgYmUgbmVlZGVkIGluIF9fZ2V0X2ZyZWVfcGFnZXMgZWFybHkgKi8KKwlsb2Fkc2VnbWVudChmcywgMCk7CisJbG9hZHNlZ21lbnQoZ3MsIDApOworCS8qIE1lbW9yeSBjbG9iYmVycyB1c2VkIHRvIG9yZGVyIFBEQSBhY2Nlc3NlZCAqLworCW1iKCk7CisJd3Jtc3JsKE1TUl9HU19CQVNFLCBwZGEpOworCW1iKCk7CisKKwlwZGEtPmNwdW51bWJlciA9IGNwdTsKKwlwZGEtPmlycWNvdW50ID0gLTE7CisJcGRhLT5rZXJuZWxzdGFjayA9ICh1bnNpZ25lZCBsb25nKXN0YWNrX3RocmVhZF9pbmZvKCkgLQorCQkJCSBQREFfU1RBQ0tPRkZTRVQgKyBUSFJFQURfU0laRTsKKwlwZGEtPmFjdGl2ZV9tbSA9ICZpbml0X21tOworCXBkYS0+bW11X3N0YXRlID0gMDsKKworCWlmIChjcHUgPT0gMCkgeworCQkvKiBvdGhlcnMgYXJlIGluaXRpYWxpemVkIGluIHNtcGJvb3QuYyAqLworCQlwZGEtPnBjdXJyZW50ID0gJmluaXRfdGFzazsKKwkJcGRhLT5pcnFzdGFja3B0ciA9IGJvb3RfY3B1X3N0YWNrOworCX0gZWxzZSB7CisJCXBkYS0+aXJxc3RhY2twdHIgPSAoY2hhciAqKQorCQkJX19nZXRfZnJlZV9wYWdlcyhHRlBfQVRPTUlDLCBJUlFTVEFDS19PUkRFUik7CisJCWlmICghcGRhLT5pcnFzdGFja3B0cikKKwkJCXBhbmljKCJjYW5ub3QgYWxsb2NhdGUgaXJxc3RhY2sgZm9yIGNwdSAlZCIsIGNwdSk7CisKKwkJaWYgKHBkYS0+bm9kZW51bWJlciA9PSAwICYmIGNwdV90b19ub2RlKGNwdSkgIT0gTlVNQV9OT19OT0RFKQorCQkJcGRhLT5ub2RlbnVtYmVyID0gY3B1X3RvX25vZGUoY3B1KTsKKwl9CisKKwlwZGEtPmlycXN0YWNrcHRyICs9IElSUVNUQUNLU0laRS02NDsKK30KKworY2hhciBib290X2V4Y2VwdGlvbl9zdGFja3NbKE5fRVhDRVBUSU9OX1NUQUNLUyAtIDEpICogRVhDRVBUSU9OX1NUS1NaICsKKwkJCSAgIERFQlVHX1NUS1NaXQorX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSkpOworCitleHRlcm4gYXNtbGlua2FnZSB2b2lkIGlnbm9yZV9zeXNyZXQodm9pZCk7CisKKy8qIE1heSBub3QgYmUgbWFya2VkIF9faW5pdDogdXNlZCBieSBzb2Z0d2FyZSBzdXNwZW5kICovCit2b2lkIHN5c2NhbGxfaW5pdCh2b2lkKQoreworCS8qCisJICogTFNUQVIgYW5kIFNUQVIgbGl2ZSBpbiBhIGJpdCBzdHJhbmdlIHN5bWJpb3Npcy4KKwkgKiBUaGV5IGJvdGggd3JpdGUgdG8gdGhlIHNhbWUgaW50ZXJuYWwgcmVnaXN0ZXIuIFNUQVIgYWxsb3dzIHRvCisJICogc2V0IENTL0RTIGJ1dCBvbmx5IGEgMzJiaXQgdGFyZ2V0LiBMU1RBUiBzZXRzIHRoZSA2NGJpdCByaXAuCisJICovCisJd3Jtc3JsKE1TUl9TVEFSLCAgKCh1NjQpX19VU0VSMzJfQ1MpPDw0OCAgfCAoKHU2NClfX0tFUk5FTF9DUyk8PDMyKTsKKwl3cm1zcmwoTVNSX0xTVEFSLCBzeXN0ZW1fY2FsbCk7CisJd3Jtc3JsKE1TUl9DU1RBUiwgaWdub3JlX3N5c3JldCk7CisKKyNpZmRlZiBDT05GSUdfSUEzMl9FTVVMQVRJT04KKwlzeXNjYWxsMzJfY3B1X2luaXQoKTsKKyNlbmRpZgorCisJLyogRmxhZ3MgdG8gY2xlYXIgb24gc3lzY2FsbCAqLworCXdybXNybChNU1JfU1lTQ0FMTF9NQVNLLAorCSAgICAgICBYODZfRUZMQUdTX1RGfFg4Nl9FRkxBR1NfREZ8WDg2X0VGTEFHU19JRnxYODZfRUZMQUdTX0lPUEwpOworfQorCit2b2lkIF9fY3B1aW5pdCBjaGVja19lZmVyKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBlZmVyOworCisJcmRtc3JsKE1TUl9FRkVSLCBlZmVyKTsKKwlpZiAoIShlZmVyICYgRUZFUl9OWCkgfHwgZG9fbm90X254KQorCQlfX3N1cHBvcnRlZF9wdGVfbWFzayAmPSB+X1BBR0VfTlg7Cit9CisKK3Vuc2lnbmVkIGxvbmcga2VybmVsX2VmbGFnczsKKworLyoKKyAqIENvcGllcyBvZiB0aGUgb3JpZ2luYWwgaXN0IHZhbHVlcyBmcm9tIHRoZSB0c3MgYXJlIG9ubHkgYWNjZXNzZWQgZHVyaW5nCisgKiBkZWJ1Z2dpbmcsIG5vIHNwZWNpYWwgYWxpZ25tZW50IHJlcXVpcmVkLgorICovCitERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgb3JpZ19pc3QsIG9yaWdfaXN0KTsKKworLyoKKyAqIGNwdV9pbml0KCkgaW5pdGlhbGl6ZXMgc3RhdGUgdGhhdCBpcyBwZXItQ1BVLiBTb21lIGRhdGEgaXMgYWxyZWFkeQorICogaW5pdGlhbGl6ZWQgKG5hdHVyYWxseSkgaW4gdGhlIGJvb3RzdHJhcCBwcm9jZXNzLCBzdWNoIGFzIHRoZSBHRFQKKyAqIGFuZCBJRFQuIFdlIHJlbG9hZCB0aGVtIG5ldmVydGhlbGVzcywgdGhpcyBmdW5jdGlvbiBhY3RzIGFzIGEKKyAqICdDUFUgc3RhdGUgYmFycmllcicsIG5vdGhpbmcgc2hvdWxkIGdldCBhY3Jvc3MuCisgKiBBIGxvdCBvZiBzdGF0ZSBpcyBhbHJlYWR5IHNldCB1cCBpbiBQREEgaW5pdC4KKyAqLwordm9pZCBfX2NwdWluaXQgY3B1X2luaXQodm9pZCkKK3sKKwlpbnQgY3B1ID0gc3RhY2tfc21wX3Byb2Nlc3Nvcl9pZCgpOworCXN0cnVjdCB0c3Nfc3RydWN0ICp0ID0gJnBlcl9jcHUoaW5pdF90c3MsIGNwdSk7CisJc3RydWN0IG9yaWdfaXN0ICpvcmlnX2lzdCA9ICZwZXJfY3B1KG9yaWdfaXN0LCBjcHUpOworCXVuc2lnbmVkIGxvbmcgdjsKKwljaGFyICplc3RhY2tzID0gTlVMTDsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm1lOworCWludCBpOworCisJLyogQ1BVIDAgaXMgaW5pdGlhbGlzZWQgaW4gaGVhZDY0LmMgKi8KKwlpZiAoY3B1ICE9IDApCisJCXBkYV9pbml0KGNwdSk7CisJZWxzZQorCQllc3RhY2tzID0gYm9vdF9leGNlcHRpb25fc3RhY2tzOworCisJbWUgPSBjdXJyZW50OworCisJaWYgKGNwdV90ZXN0X2FuZF9zZXQoY3B1LCBjcHVfaW5pdGlhbGl6ZWQpKQorCQlwYW5pYygiQ1BVIyVkIGFscmVhZHkgaW5pdGlhbGl6ZWQhXG4iLCBjcHUpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiSW5pdGlhbGl6aW5nIENQVSMlZFxuIiwgY3B1KTsKKworCWNsZWFyX2luX2NyNChYODZfQ1I0X1ZNRXxYODZfQ1I0X1BWSXxYODZfQ1I0X1RTRHxYODZfQ1I0X0RFKTsKKworCS8qCisJICogSW5pdGlhbGl6ZSB0aGUgcGVyLUNQVSBHRFQgd2l0aCB0aGUgYm9vdCBHRFQsCisJICogYW5kIHNldCB1cCB0aGUgR0RUIGRlc2NyaXB0b3I6CisJICovCisKKwlzd2l0Y2hfdG9fbmV3X2dkdCgpOworCWxvYWRfaWR0KChjb25zdCBzdHJ1Y3QgZGVzY19wdHIgKikmaWR0X2Rlc2NyKTsKKworCW1lbXNldChtZS0+dGhyZWFkLnRsc19hcnJheSwgMCwgR0RUX0VOVFJZX1RMU19FTlRSSUVTICogOCk7CisJc3lzY2FsbF9pbml0KCk7CisKKwl3cm1zcmwoTVNSX0ZTX0JBU0UsIDApOworCXdybXNybChNU1JfS0VSTkVMX0dTX0JBU0UsIDApOworCWJhcnJpZXIoKTsKKworCWNoZWNrX2VmZXIoKTsKKworCS8qCisJICogc2V0IHVwIGFuZCBsb2FkIHRoZSBwZXItQ1BVIFRTUworCSAqLworCWZvciAodiA9IDA7IHYgPCBOX0VYQ0VQVElPTl9TVEFDS1M7IHYrKykgeworCQlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG9yZGVyW05fRVhDRVBUSU9OX1NUQUNLU10gPSB7CisJCQlbMCAuLi4gTl9FWENFUFRJT05fU1RBQ0tTIC0gMV0gPSBFWENFUFRJT05fU1RBQ0tfT1JERVIsCisJCQlbREVCVUdfU1RBQ0sgLSAxXSA9IERFQlVHX1NUQUNLX09SREVSCisJCX07CisJCWlmIChjcHUpIHsKKwkJCWVzdGFja3MgPSAoY2hhciAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0FUT01JQywgb3JkZXJbdl0pOworCQkJaWYgKCFlc3RhY2tzKQorCQkJCXBhbmljKCJDYW5ub3QgYWxsb2NhdGUgZXhjZXB0aW9uIHN0YWNrICVsZCAlZFxuIiwKKwkJCQkgICAgICB2LCBjcHUpOworCQl9CisJCWVzdGFja3MgKz0gUEFHRV9TSVpFIDw8IG9yZGVyW3ZdOworCQlvcmlnX2lzdC0+aXN0W3ZdID0gdC0+eDg2X3Rzcy5pc3Rbdl0gPSAodW5zaWduZWQgbG9uZyllc3RhY2tzOworCX0KKworCXQtPng4Nl90c3MuaW9fYml0bWFwX2Jhc2UgPSBvZmZzZXRvZihzdHJ1Y3QgdHNzX3N0cnVjdCwgaW9fYml0bWFwKTsKKwkvKgorCSAqIDw9IGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlIENQVSB3aWxsIGFjY2VzcyB1cCB0bworCSAqIDggYml0cyBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgSU8gcGVybWlzc2lvbiBiaXRtYXAuCisJICovCisJZm9yIChpID0gMDsgaSA8PSBJT19CSVRNQVBfTE9OR1M7IGkrKykKKwkJdC0+aW9fYml0bWFwW2ldID0gfjBVTDsKKworCWF0b21pY19pbmMoJmluaXRfbW0ubW1fY291bnQpOworCW1lLT5hY3RpdmVfbW0gPSAmaW5pdF9tbTsKKwlpZiAobWUtPm1tKQorCQlCVUcoKTsKKwllbnRlcl9sYXp5X3RsYigmaW5pdF9tbSwgbWUpOworCisJbG9hZF9zcDAodCwgJmN1cnJlbnQtPnRocmVhZCk7CisJc2V0X3Rzc19kZXNjKGNwdSwgdCk7CisJbG9hZF9UUl9kZXNjKCk7CisJbG9hZF9MRFQoJmluaXRfbW0uY29udGV4dCk7CisKKyNpZmRlZiBDT05GSUdfS0dEQgorCS8qCisJICogSWYgdGhlIGtnZGIgaXMgY29ubmVjdGVkIG5vIGRlYnVnIHJlZ3Mgc2hvdWxkIGJlIGFsdGVyZWQuICBUaGlzCisJICogaXMgb25seSBhcHBsaWNhYmxlIHdoZW4gS0dEQiBhbmQgYSBLR0RCIEkvTyBtb2R1bGUgYXJlIGJ1aWx0CisJICogaW50byB0aGUga2VybmVsIGFuZCB5b3UgYXJlIHVzaW5nIGVhcmx5IGRlYnVnZ2luZyB3aXRoCisJICoga2dkYndhaXQuIEtHREIgd2lsbCBjb250cm9sIHRoZSBrZXJuZWwgSFcgYnJlYWtwb2ludCByZWdpc3RlcnMuCisJICovCisJaWYgKGtnZGJfY29ubmVjdGVkICYmIGFyY2hfa2dkYl9vcHMuY29ycmVjdF9od19icmVhaykKKwkJYXJjaF9rZ2RiX29wcy5jb3JyZWN0X2h3X2JyZWFrKCk7CisJZWxzZSB7CisjZW5kaWYKKwkvKgorCSAqIENsZWFyIGFsbCA2IGRlYnVnIHJlZ2lzdGVyczoKKwkgKi8KKworCXNldF9kZWJ1Z3JlZygwVUwsIDApOworCXNldF9kZWJ1Z3JlZygwVUwsIDEpOworCXNldF9kZWJ1Z3JlZygwVUwsIDIpOworCXNldF9kZWJ1Z3JlZygwVUwsIDMpOworCXNldF9kZWJ1Z3JlZygwVUwsIDYpOworCXNldF9kZWJ1Z3JlZygwVUwsIDcpOworI2lmZGVmIENPTkZJR19LR0RCCisJLyogSWYgdGhlIGtnZGIgaXMgY29ubmVjdGVkIG5vIGRlYnVnIHJlZ3Mgc2hvdWxkIGJlIGFsdGVyZWQuICovCisJfQorI2VuZGlmCisKKwlmcHVfaW5pdCgpOworCisJcmF3X2xvY2FsX3NhdmVfZmxhZ3Moa2VybmVsX2VmbGFncyk7CisKKwlpZiAoaXNfdXZfc3lzdGVtKCkpCisJCXV2X2NwdV9pbml0KCk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdS5oIGIvYXJjaC94ODYva2VybmVsL2NwdS9jcHUuaAppbmRleCA3ODM2OTFiLi40ZDg5NGU4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdS5oCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1LmgKQEAgLTEsMyArMSw2IEBACisjaWZuZGVmIEFSQ0hfWDg2X0NQVV9ICisKKyNkZWZpbmUgQVJDSF9YODZfQ1BVX0gKIAogc3RydWN0IGNwdV9tb2RlbF9pbmZvIHsKIAlpbnQgdmVuZG9yOwpAQCAtMzYsMyArMzksNSBAQAogCiBleHRlcm4gaW50IGdldF9tb2RlbF9uYW1lKHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7CiBleHRlcm4gdm9pZCBkaXNwbGF5X2NhY2hlaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1ZnJlcS9jcHVmcmVxLW5mb3JjZTIuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1ZnJlcS9jcHVmcmVxLW5mb3JjZTIuYwppbmRleCBmMDNlOTE1My4uOTY1ZWE1MiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9jcHVmcmVxL2NwdWZyZXEtbmZvcmNlMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1ZnJlcS9jcHVmcmVxLW5mb3JjZTIuYwpAQCAtMjYsOSArMjYsMTAgQEAKICNkZWZpbmUgTkZPUkNFMl9TQUZFX0RJU1RBTkNFIDUwCiAKIC8qIERlbGF5IGluIG1zIGJldHdlZW4gRlNCIGNoYW5nZXMgKi8KLS8vI2RlZmluZSBORk9SQ0UyX0RFTEFZIDEwCisvKiAjZGVmaW5lIE5GT1JDRTJfREVMQVkgMTAgKi8KIAotLyogbmZvcmNlMl9jaGlwc2V0OgorLyoKKyAqIG5mb3JjZTJfY2hpcHNldDoKICAqIEZTQiBpcyBjaGFuZ2VkIHVzaW5nIHRoZSBjaGlwc2V0CiAgKi8KIHN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAqbmZvcmNlMl9jaGlwc2V0X2RldjsKQEAgLTM2LDEzICszNywxMyBAQAogLyogZmlkOgogICogbXVsdGlwbGllciAqIDEwCiAgKi8KLXN0YXRpYyBpbnQgZmlkID0gMDsKK3N0YXRpYyBpbnQgZmlkOwogCiAvKiBtaW5fZnNiLCBtYXhfZnNiOgogICogbWluaW11bSBhbmQgbWF4aW11bSBGU0IgKD0gRlNCIGF0IGJvb3QgdGltZSkKICAqLwotc3RhdGljIGludCBtaW5fZnNiID0gMDsKLXN0YXRpYyBpbnQgbWF4X2ZzYiA9IDA7CitzdGF0aWMgaW50IG1pbl9mc2I7CitzdGF0aWMgaW50IG1heF9mc2I7CiAKIE1PRFVMRV9BVVRIT1IoIlNlYmFzdGlhbiBXaXR0IDxzZS53aXR0QGdteC5uZXQ+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIm5Gb3JjZTIgRlNCIGNoYW5naW5nIGNwdWZyZXEgZHJpdmVyIik7CkBAIC01Myw3ICs1NCw3IEBACiAKIE1PRFVMRV9QQVJNX0RFU0MoZmlkLCAiQ1BVIG11bHRpcGxpZXIgdG8gdXNlICgxMS41ID0gMTE1KSIpOwogTU9EVUxFX1BBUk1fREVTQyhtaW5fZnNiLAotICAgICAgICAgICAgICAgICAiTWluaW11bSBGU0IgdG8gdXNlLCBpZiBub3QgZGVmaW5lZDogY3VycmVudCBGU0IgLSA1MCIpOworCQkiTWluaW11bSBGU0IgdG8gdXNlLCBpZiBub3QgZGVmaW5lZDogY3VycmVudCBGU0IgLSA1MCIpOwogCiAjZGVmaW5lIGRwcmludGsobXNnLi4uKSBjcHVmcmVxX2RlYnVnX3ByaW50ayhDUFVGUkVRX0RFQlVHX0RSSVZFUiwgImNwdWZyZXEtbmZvcmNlMiIsIG1zZykKIApAQCAtMTM5LDcgKzE0MCw3IEBACiAKIAkvKiBHZXQgY2hpcHNldCBib290IEZTQiBmcm9tIHN1YmRldmljZSA1IChGU0IgYXQgYm9vdC10aW1lKSAqLwogCW5mb3JjZTJfc3ViNSA9IHBjaV9nZXRfc3Vic3lzKFBDSV9WRU5ET1JfSURfTlZJRElBLAotCQkJCQkJMHgwMUVGLFBDSV9BTllfSUQsUENJX0FOWV9JRCxOVUxMKTsKKwkJCQkJCTB4MDFFRiwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgTlVMTCk7CiAJaWYgKCFuZm9yY2UyX3N1YjUpCiAJCXJldHVybiAwOwogCkBAIC0xNDcsMTMgKzE0OCwxMyBAQAogCWZzYiAvPSAxMDAwMDAwOwogCiAJLyogQ2hlY2sgaWYgUExMIHJlZ2lzdGVyIGlzIGFscmVhZHkgc2V0ICovCi0JcGNpX3JlYWRfY29uZmlnX2J5dGUobmZvcmNlMl9jaGlwc2V0X2RldixORk9SQ0UyX1BMTEVOQUJMRSwgKHU4ICopJnRlbXApOworCXBjaV9yZWFkX2NvbmZpZ19ieXRlKG5mb3JjZTJfY2hpcHNldF9kZXYsIE5GT1JDRTJfUExMRU5BQkxFLCAodTggKikmdGVtcCk7CiAKLQlpZihib290ZnNiIHx8ICF0ZW1wKQorCWlmIChib290ZnNiIHx8ICF0ZW1wKQogCQlyZXR1cm4gZnNiOwotCQkKKwogCS8qIFVzZSBQTEwgcmVnaXN0ZXIgRlNCIHZhbHVlICovCi0JcGNpX3JlYWRfY29uZmlnX2R3b3JkKG5mb3JjZTJfY2hpcHNldF9kZXYsTkZPUkNFMl9QTExSRUcsICZ0ZW1wKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQobmZvcmNlMl9jaGlwc2V0X2RldiwgTkZPUkNFMl9QTExSRUcsICZ0ZW1wKTsKIAlmc2IgPSBuZm9yY2UyX2NhbGNfZnNiKHRlbXApOwogCiAJcmV0dXJuIGZzYjsKQEAgLTE4NCw3ICsxODUsNyBAQAogCX0KIAogCS8qIEZpcnN0IHdyaXRlPyBUaGVuIHNldCBhY3R1YWwgdmFsdWUgKi8KLQlwY2lfcmVhZF9jb25maWdfYnl0ZShuZm9yY2UyX2NoaXBzZXRfZGV2LE5GT1JDRTJfUExMRU5BQkxFLCAodTggKikmdGVtcCk7CisJcGNpX3JlYWRfY29uZmlnX2J5dGUobmZvcmNlMl9jaGlwc2V0X2RldiwgTkZPUkNFMl9QTExFTkFCTEUsICh1OCAqKSZ0ZW1wKTsKIAlpZiAoIXRlbXApIHsKIAkJcGxsID0gbmZvcmNlMl9jYWxjX3BsbCh0ZnNiKTsKIApAQCAtMjEwLDcgKzIxMSw4IEBACiAJCQl0ZnNiLS07CiAKIAkJLyogQ2FsY3VsYXRlIHRoZSBQTEwgcmVnLiB2YWx1ZSAqLwotCQlpZiAoKHBsbCA9IG5mb3JjZTJfY2FsY19wbGwodGZzYikpID09IC0xKQorCQlwbGwgPSBuZm9yY2UyX2NhbGNfcGxsKHRmc2IpOworCQlpZiAocGxsID09IC0xKQogCQkJcmV0dXJuIC1FSU5WQUw7CiAKIAkJbmZvcmNlMl93cml0ZV9wbGwocGxsKTsKQEAgLTI0OSw3ICsyNTEsNyBAQAogc3RhdGljIGludCBuZm9yY2UyX3RhcmdldChzdHJ1Y3QgY3B1ZnJlcV9wb2xpY3kgKnBvbGljeSwKIAkJCSAgdW5zaWduZWQgaW50IHRhcmdldF9mcmVxLCB1bnNpZ25lZCBpbnQgcmVsYXRpb24pCiB7Ci0vLyAgICAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgIGZsYWdzOworLyogICAgICAgIHVuc2lnbmVkIGxvbmcgICAgICAgICBmbGFnczsgKi8KIAlzdHJ1Y3QgY3B1ZnJlcV9mcmVxcyBmcmVxczsKIAl1bnNpZ25lZCBpbnQgdGFyZ2V0X2ZzYjsKIApAQCAtMjcxLDE3ICsyNzMsMTcgQEAKIAljcHVmcmVxX25vdGlmeV90cmFuc2l0aW9uKCZmcmVxcywgQ1BVRlJFUV9QUkVDSEFOR0UpOwogCiAJLyogRGlzYWJsZSBJUlFzICovCi0JLy9sb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJLyogbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOyAqLwogCiAJaWYgKG5mb3JjZTJfc2V0X2ZzYih0YXJnZXRfZnNiKSA8IDApCiAJCXByaW50ayhLRVJOX0VSUiAiY3B1ZnJlcTogQ2hhbmdpbmcgRlNCIHRvICVkIGZhaWxlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2ZzYik7CisJCQl0YXJnZXRfZnNiKTsKIAllbHNlCiAJCWRwcmludGsoIkNoYW5nZWQgRlNCIHN1Y2Nlc3NmdWxseSB0byAlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2ZzYik7CisJCQl0YXJnZXRfZnNiKTsKIAogCS8qIEVuYWJsZSBJUlFzICovCi0JLy9sb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJLyogbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOyAqLwogCiAJY3B1ZnJlcV9ub3RpZnlfdHJhbnNpdGlvbigmZnJlcXMsIENQVUZSRVFfUE9TVENIQU5HRSk7CiAKQEAgLTMwMiw4ICszMDQsOCBAQAogCQlwb2xpY3ktPm1heCA9IChmc2JfcG9sX21heCArIDEpICogZmlkICogMTAwOwogCiAJY3B1ZnJlcV92ZXJpZnlfd2l0aGluX2xpbWl0cyhwb2xpY3ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9saWN5LT5jcHVpbmZvLm1pbl9mcmVxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvbGljeS0+Y3B1aW5mby5tYXhfZnJlcSk7CisJCQkJICAgICBwb2xpY3ktPmNwdWluZm8ubWluX2ZyZXEsCisJCQkJICAgICBwb2xpY3ktPmNwdWluZm8ubWF4X2ZyZXEpOwogCXJldHVybiAwOwogfQogCkBAIC0zNDcsNyArMzQ5LDcgQEAKIAkvKiBTZXQgbWF4aW11bSBGU0IgdG8gRlNCIGF0IGJvb3QgdGltZSAqLwogCW1heF9mc2IgPSBuZm9yY2UyX2ZzYl9yZWFkKDEpOwogCi0JaWYoIW1heF9mc2IpCisJaWYgKCFtYXhfZnNiKQogCQlyZXR1cm4gLUVJTzsKIAogCWlmICghbWluX2ZzYikKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWwuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWwuYwppbmRleCBmZTkyMjRjLi43MDYwOWVmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbC5jCkBAIC0yMjYsNiArMjI2LDEwIEBACiAKIAlpZiAoY3B1X2hhc19idHMpCiAJCWRzX2luaXRfaW50ZWwoYyk7CisKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCisJbnVtYXFfdHNjX2Rpc2FibGUoKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgdW5zaWduZWQgaW50IF9fY3B1aW5pdCBpbnRlbF9zaXplX2NhY2hlKHN0cnVjdCBjcHVpbmZvX3g4NiAqYywgdW5zaWduZWQgaW50IHNpemUpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsXzY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTAxOWM1OAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWxfNjQuYwpAQCAtMCwwICsxLDk1IEBACisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisjaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+CisjaW5jbHVkZSA8YXNtL251bWFfNjQuaD4KKworI2luY2x1ZGUgImNwdS5oIgorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaW5pdF9pbnRlbChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJaWYgKChjLT54ODYgPT0gMHhmICYmIGMtPng4Nl9tb2RlbCA+PSAweDAzKSB8fAorCSAgICAoYy0+eDg2ID09IDB4NiAmJiBjLT54ODZfbW9kZWwgPj0gMHgwZSkpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7CisKKwlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9TWVNFTlRFUjMyKTsKK30KKworLyoKKyAqIGZpbmQgb3V0IHRoZSBudW1iZXIgb2YgcHJvY2Vzc29yIGNvcmVzIG9uIHRoZSBkaWUKKyAqLworc3RhdGljIGludCBfX2NwdWluaXQgaW50ZWxfbnVtX2NwdV9jb3JlcyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJdW5zaWduZWQgaW50IGVheCwgdDsKKworCWlmIChjLT5jcHVpZF9sZXZlbCA8IDQpCisJCXJldHVybiAxOworCisJY3B1aWRfY291bnQoNCwgMCwgJmVheCwgJnQsICZ0LCAmdCk7CisKKwlpZiAoZWF4ICYgMHgxZikKKwkJcmV0dXJuICgoZWF4ID4+IDI2KSArIDEpOworCWVsc2UKKwkJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBzcmF0X2RldGVjdF9ub2RlKHZvaWQpCit7CisjaWZkZWYgQ09ORklHX05VTUEKKwl1bnNpZ25lZCBub2RlOworCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJaW50IGFwaWNpZCA9IGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJLyogRG9uJ3QgZG8gdGhlIGZ1bmt5IGZhbGxiYWNrIGhldXJpc3RpY3MgdGhlIEFNRCB2ZXJzaW9uIGVtcGxveXMKKwkgICBmb3Igbm93LiAqLworCW5vZGUgPSBhcGljaWRfdG9fbm9kZVthcGljaWRdOworCWlmIChub2RlID09IE5VTUFfTk9fTk9ERSB8fCAhbm9kZV9vbmxpbmUobm9kZSkpCisJCW5vZGUgPSBmaXJzdF9ub2RlKG5vZGVfb25saW5lX21hcCk7CisJbnVtYV9zZXRfbm9kZShjcHUsIG5vZGUpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiQ1BVICVkLyV4IC0+IE5vZGUgJWRcbiIsIGNwdSwgYXBpY2lkLCBub2RlKTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9pbnRlbChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJaW5pdF9pbnRlbF9jYWNoZWluZm8oYyk7CisJaWYgKGMtPmNwdWlkX2xldmVsID4gOSkgeworCQl1bnNpZ25lZCBlYXggPSBjcHVpZF9lYXgoMTApOworCQkvKiBDaGVjayBmb3IgdmVyc2lvbiBhbmQgdGhlIG51bWJlciBvZiBjb3VudGVycyAqLworCQlpZiAoKGVheCAmIDB4ZmYpICYmICgoKGVheD4+OCkgJiAweGZmKSA+IDEpKQorCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQVJDSF9QRVJGTU9OKTsKKwl9CisKKwlpZiAoY3B1X2hhc19kcykgeworCQl1bnNpZ25lZCBpbnQgbDEsIGwyOworCQlyZG1zcihNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbDEsIGwyKTsKKwkJaWYgKCEobDEgJiAoMTw8MTEpKSkKKwkJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0JUUyk7CisJCWlmICghKGwxICYgKDE8PDEyKSkpCisJCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9QRUJTKTsKKwl9CisKKworCWlmIChjcHVfaGFzX2J0cykKKwkJZHNfaW5pdF9pbnRlbChjKTsKKworCWlmIChjLT54ODYgPT0gMTUpCisJCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplICogMjsKKwlpZiAoYy0+eDg2ID09IDYpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1JFUF9HT09EKTsKKwlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9MRkVOQ0VfUkRUU0MpOworCWMtPng4Nl9tYXhfY29yZXMgPSBpbnRlbF9udW1fY3B1X2NvcmVzKGMpOworCisJc3JhdF9kZXRlY3Rfbm9kZSgpOworfQorCitzdGF0aWMgc3RydWN0IGNwdV9kZXYgaW50ZWxfY3B1X2RldiBfX2NwdWluaXRkYXRhID0geworCS5jX3ZlbmRvcgk9ICJJbnRlbCIsCisJLmNfaWRlbnQJPSB7ICJHZW51aW5lSW50ZWwiIH0sCisJLmNfZWFybHlfaW5pdCAgID0gZWFybHlfaW5pdF9pbnRlbCwKKwkuY19pbml0CQk9IGluaXRfaW50ZWwsCit9OworY3B1X3ZlbmRvcl9kZXZfcmVnaXN0ZXIoWDg2X1ZFTkRPUl9JTlRFTCwgJmludGVsX2NwdV9kZXYpOworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsX2NhY2hlaW5mby5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbF9jYWNoZWluZm8uYwppbmRleCAyNmQ2MTVkLi4yYzhhZmFmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsX2NhY2hlaW5mby5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWxfY2FjaGVpbmZvLmMKQEAgLTYyLDYgKzYyLDcgQEAKIAl7IDB4NGIsIExWTF8zLCAgICAgIDgxOTIgfSwJLyogMTYtd2F5IHNldCBhc3NvYywgNjQgYnl0ZSBsaW5lIHNpemUgKi8KIAl7IDB4NGMsIExWTF8zLCAgICAgMTIyODggfSwJLyogMTItd2F5IHNldCBhc3NvYywgNjQgYnl0ZSBsaW5lIHNpemUgKi8KIAl7IDB4NGQsIExWTF8zLCAgICAgMTYzODQgfSwJLyogMTYtd2F5IHNldCBhc3NvYywgNjQgYnl0ZSBsaW5lIHNpemUgKi8KKwl7IDB4NGUsIExWTF8yLCAgICAgIDYxNDQgfSwJLyogMjQtd2F5IHNldCBhc3NvYywgNjQgYnl0ZSBsaW5lIHNpemUgKi8KIAl7IDB4NjAsIExWTF8xX0RBVEEsIDE2IH0sCS8qIDgtd2F5IHNldCBhc3NvYywgc2VjdG9yZWQgY2FjaGUsIDY0IGJ5dGUgbGluZSBzaXplICovCiAJeyAweDY2LCBMVkxfMV9EQVRBLCA4IH0sCS8qIDQtd2F5IHNldCBhc3NvYywgc2VjdG9yZWQgY2FjaGUsIDY0IGJ5dGUgbGluZSBzaXplICovCiAJeyAweDY3LCBMVkxfMV9EQVRBLCAxNiB9LAkvKiA0LXdheSBzZXQgYXNzb2MsIHNlY3RvcmVkIGNhY2hlLCA2NCBieXRlIGxpbmUgc2l6ZSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svazcuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL2s3LmMKaW5kZXggZTYzM2M5Yy4uZjM5MGM5ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svazcuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9rNy5jCkBAIC05LDIzICs5LDIzIEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CiAKLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+IAorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgogCiAjaW5jbHVkZSAibWNlLmgiCiAKIC8qIE1hY2hpbmUgQ2hlY2sgSGFuZGxlciBGb3IgQU1EIEF0aGxvbi9EdXJvbiAqLwotc3RhdGljIHZvaWQgazdfbWFjaGluZV9jaGVjayhzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKK3N0YXRpYyB2b2lkIGs3X21hY2hpbmVfY2hlY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsKLQlpbnQgcmVjb3Zlcj0xOworCWludCByZWNvdmVyID0gMTsKIAl1MzIgYWxvdywgYWhpZ2gsIGhpZ2gsIGxvdzsKIAl1MzIgbWNnc3RsLCBtY2dzdGg7CiAJaW50IGk7CiAKLQlyZG1zciAoTVNSX0lBMzJfTUNHX1NUQVRVUywgbWNnc3RsLCBtY2dzdGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19TVEFUVVMsIG1jZ3N0bCwgbWNnc3RoKTsKIAlpZiAobWNnc3RsICYgKDE8PDApKQkvKiBSZWNvdmVyYWJsZSA/ICovCi0JCXJlY292ZXI9MDsKKwkJcmVjb3ZlciA9IDA7CiAKIAlwcmludGsoS0VSTl9FTUVSRyAiQ1BVICVkOiBNYWNoaW5lIENoZWNrIEV4Y2VwdGlvbjogJTA4eCUwOHhcbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSwgbWNnc3RoLCBtY2dzdGwpOwpAQCAtNjAsMTIgKzYwLDEyIEBACiAJfQogCiAJaWYgKHJlY292ZXImMikKLQkJcGFuaWMgKCJDUFUgY29udGV4dCBjb3JydXB0Iik7CisJCXBhbmljKCJDUFUgY29udGV4dCBjb3JydXB0Iik7CiAJaWYgKHJlY292ZXImMSkKLQkJcGFuaWMgKCJVbmFibGUgdG8gY29udGludWUiKTsKLQlwcmludGsgKEtFUk5fRU1FUkcgIkF0dGVtcHRpbmcgdG8gY29udGludWUuXG4iKTsKKwkJcGFuaWMoIlVuYWJsZSB0byBjb250aW51ZSIpOworCXByaW50ayhLRVJOX0VNRVJHICJBdHRlbXB0aW5nIHRvIGNvbnRpbnVlLlxuIik7CiAJbWNnc3RsICY9IH4oMTw8Mik7Ci0Jd3Jtc3IgKE1TUl9JQTMyX01DR19TVEFUVVMsbWNnc3RsLCBtY2dzdGgpOworCXdybXNyKE1TUl9JQTMyX01DR19TVEFUVVMsIG1jZ3N0bCwgbWNnc3RoKTsKIH0KIAogCkBAIC04MSwyNSArODEsMjUgQEAKIAltYWNoaW5lX2NoZWNrX3ZlY3RvciA9IGs3X21hY2hpbmVfY2hlY2s7CiAJd21iKCk7CiAKLQlwcmludGsgKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayBhcmNoaXRlY3R1cmUgc3VwcG9ydGVkLlxuIik7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOworCXByaW50ayhLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgYXJjaGl0ZWN0dXJlIHN1cHBvcnRlZC5cbiIpOworCXJkbXNyKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOwogCWlmIChsICYgKDE8PDgpKQkvKiBDb250cm9sIHJlZ2lzdGVyIHByZXNlbnQgPyAqLwotCQl3cm1zciAoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CisJCXdybXNyKE1TUl9JQTMyX01DR19DVEwsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOwogCW5yX21jZV9iYW5rcyA9IGwgJiAweGZmOwogCiAJLyogQ2xlYXIgc3RhdHVzIGZvciBNQyBpbmRleCAwIHNlcGFyYXRlbHksIHdlIGRvbid0IHRvdWNoIENUTCwKIAkgKiBhcyBzb21lIEs3IEF0aGxvbnMgY2F1c2Ugc3B1cmlvdXMgTUNFcyB3aGVuIGl0cyBlbmFibGVkLiAqLwogCWlmIChib290X2NwdV9kYXRhLng4NiA9PSA2KSB7Ci0JCXdybXNyIChNU1JfSUEzMl9NQzBfU1RBVFVTLCAweDAsIDB4MCk7CisJCXdybXNyKE1TUl9JQTMyX01DMF9TVEFUVVMsIDB4MCwgMHgwKTsKIAkJaSA9IDE7CiAJfSBlbHNlCiAJCWkgPSAwOwotCWZvciAoOyBpPG5yX21jZV9iYW5rczsgaSsrKSB7Ci0JCXdybXNyIChNU1JfSUEzMl9NQzBfQ1RMKzQqaSwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7Ci0JCXdybXNyIChNU1JfSUEzMl9NQzBfU1RBVFVTKzQqaSwgMHgwLCAweDApOworCWZvciAoOyBpIDwgbnJfbWNlX2JhbmtzOyBpKyspIHsKKwkJd3Jtc3IoTVNSX0lBMzJfTUMwX0NUTCs0KmksIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOworCQl3cm1zcihNU1JfSUEzMl9NQzBfU1RBVFVTKzQqaSwgMHgwLCAweDApOwogCX0KIAotCXNldF9pbl9jcjQgKFg4Nl9DUjRfTUNFKTsKLQlwcmludGsgKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZCBvbiBDUFUjJWQuXG4iLAorCXNldF9pbl9jcjQoWDg2X0NSNF9NQ0UpOworCXByaW50ayhLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVuYWJsZWQgb24gQ1BVIyVkLlxuIiwKIAkJc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV82NC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlXzY0LmMKaW5kZXggZTA3ZThjMC4uYzRhN2VjMyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlXzY0LmMKQEAgLTksNiArOSw3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KICNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgpAQCAtMzEsNyArMzIsNyBAQAogI2luY2x1ZGUgPGFzbS9pZGxlLmg+CiAKICNkZWZpbmUgTUlTQ19NQ0VMT0dfTUlOT1IgMjI3Ci0jZGVmaW5lIE5SX0JBTktTIDYKKyNkZWZpbmUgTlJfU1lTRlNfQkFOS1MgNgogCiBhdG9taWNfdCBtY2VfZW50cnk7CiAKQEAgLTQ2LDcgKzQ3LDcgQEAKICAqLwogc3RhdGljIGludCB0b2xlcmFudCA9IDE7CiBzdGF0aWMgaW50IGJhbmtzOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgYmFua1tOUl9CQU5LU10gPSB7IFswIC4uLiBOUl9CQU5LUy0xXSA9IH4wVUwgfTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGJhbmtbTlJfU1lTRlNfQkFOS1NdID0geyBbMCAuLi4gTlJfU1lTRlNfQkFOS1MtMV0gPSB+MFVMIH07CiBzdGF0aWMgdW5zaWduZWQgbG9uZyBub3RpZnlfdXNlcjsKIHN0YXRpYyBpbnQgcmlwX21zcjsKIHN0YXRpYyBpbnQgbWNlX2Jvb3Rsb2cgPSAtMTsKQEAgLTIwOSw3ICsyMTAsNyBAQAogCWJhcnJpZXIoKTsKIAogCWZvciAoaSA9IDA7IGkgPCBiYW5rczsgaSsrKSB7Ci0JCWlmICghYmFua1tpXSkKKwkJaWYgKGkgPCBOUl9TWVNGU19CQU5LUyAmJiAhYmFua1tpXSkKIAkJCWNvbnRpbnVlOwogCiAJCW0ubWlzYyA9IDA7CkBAIC0zNjMsNyArMzY0LDcgQEAKIAogc3RhdGljIHZvaWQgbWNoZWNrX3RpbWVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLQlvbl9lYWNoX2NwdShtY2hlY2tfY2hlY2tfY3B1LCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShtY2hlY2tfY2hlY2tfY3B1LCBOVUxMLCAxKTsKIAogCS8qCiAJICogQWxlcnQgdXNlcnNwYWNlIGlmIG5lZWRlZC4gIElmIHdlIGxvZ2dlZCBhbiBNQ0UsIHJlZHVjZSB0aGUKQEAgLTQ0NCw5ICs0NDUsMTAgQEAKIAogCXJkbXNybChNU1JfSUEzMl9NQ0dfQ0FQLCBjYXApOwogCWJhbmtzID0gY2FwICYgMHhmZjsKLQlpZiAoYmFua3MgPiBOUl9CQU5LUykgewotCQlwcmludGsoS0VSTl9JTkZPICJNQ0U6IHdhcm5pbmc6IHVzaW5nIG9ubHkgJWQgYmFua3NcbiIsIGJhbmtzKTsKLQkJYmFua3MgPSBOUl9CQU5LUzsKKwlpZiAoYmFua3MgPiBNQ0VfRVhURU5ERURfQkFOSykgeworCQliYW5rcyA9IE1DRV9FWFRFTkRFRF9CQU5LOworCQlwcmludGsoS0VSTl9JTkZPICJNQ0U6IHdhcm5pbmc6IHVzaW5nIG9ubHkgJWQgYmFua3NcbiIsCisJCSAgICAgICBNQ0VfRVhURU5ERURfQkFOSyk7CiAJfQogCS8qIFVzZSBhY2N1cmF0ZSBSSVAgcmVwb3J0aW5nIGlmIGF2YWlsYWJsZS4gKi8KIAlpZiAoKGNhcCAmICgxPDw5KSkgJiYgKChjYXAgPj4gMTYpICYgMHhmZikgPj0gOSkKQEAgLTQ2Miw3ICs0NjQsMTEgQEAKIAkJd3Jtc3IoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgYmFua3M7IGkrKykgewotCQl3cm1zcmwoTVNSX0lBMzJfTUMwX0NUTCs0KmksIGJhbmtbaV0pOworCQlpZiAoaSA8IE5SX1NZU0ZTX0JBTktTKQorCQkJd3Jtc3JsKE1TUl9JQTMyX01DMF9DVEwrNCppLCBiYW5rW2ldKTsKKwkJZWxzZQorCQkJd3Jtc3JsKE1TUl9JQTMyX01DMF9DVEwrNCppLCB+MFVMKTsKKwogCQl3cm1zcmwoTVNSX0lBMzJfTUMwX1NUQVRVUys0KmksIDApOwogCX0KIH0KQEAgLTUyNywxMCArNTMzLDEyIEBACiAKIHN0YXRpYyBpbnQgbWNlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJm1jZV9zdGF0ZV9sb2NrKTsKIAogCWlmIChvcGVuX2V4Y2x1IHx8IChvcGVuX2NvdW50ICYmIChmaWxlLT5mX2ZsYWdzICYgT19FWENMKSkpIHsKIAkJc3Bpbl91bmxvY2soJm1jZV9zdGF0ZV9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIApAQCAtNTM5LDYgKzU0Nyw3IEBACiAJb3Blbl9jb3VudCsrOwogCiAJc3Bpbl91bmxvY2soJm1jZV9zdGF0ZV9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiB9CkBAIC02MTIsNyArNjIxLDcgQEAKIAkgKiBDb2xsZWN0IGVudHJpZXMgdGhhdCB3ZXJlIHN0aWxsIGdldHRpbmcgd3JpdHRlbiBiZWZvcmUgdGhlCiAJICogc3luY2hyb25pemUuCiAJICovCi0Jb25fZWFjaF9jcHUoY29sbGVjdF90c2NzLCBjcHVfdHNjLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShjb2xsZWN0X3RzY3MsIGNwdV90c2MsIDEpOwogCWZvciAoaSA9IG5leHQ7IGkgPCBNQ0VfTE9HX0xFTjsgaSsrKSB7CiAJCWlmIChtY2Vsb2cuZW50cnlbaV0uZmluaXNoZWQgJiYKIAkJICAgIG1jZWxvZy5lbnRyeVtpXS50c2MgPCBjcHVfdHNjW21jZWxvZy5lbnRyeVtpXS5jcHVdKSB7CkBAIC03MzcsNyArNzQ2LDcgQEAKIAlpZiAobmV4dF9pbnRlcnZhbCkKIAkJY2FuY2VsX2RlbGF5ZWRfd29yaygmbWNoZWNrX3dvcmspOwogCS8qIFRpbWVyIHJhY2UgaXMgaGFybWxlc3MgaGVyZSAqLwotCW9uX2VhY2hfY3B1KG1jZV9pbml0LCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShtY2VfaW5pdCwgTlVMTCwgMSk7CiAJbmV4dF9pbnRlcnZhbCA9IGNoZWNrX2ludGVydmFsICogSFo7CiAJaWYgKG5leHRfaW50ZXJ2YWwpCiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmbWNoZWNrX3dvcmssCkBAIC03NjYsNyArNzc1LDEwIEBACiAJfQkJCQkJCQkJXAogCXN0YXRpYyBTWVNERVZfQVRUUihuYW1lLCAwNjQ0LCBzaG93XyAjIyBuYW1lLCBzZXRfICMjIG5hbWUpOwogCi0vKiBUQkQgc2hvdWxkIGdlbmVyYXRlIHRoZXNlIGR5bmFtaWNhbGx5IGJhc2VkIG9uIG51bWJlciBvZiBhdmFpbGFibGUgYmFua3MgKi8KKy8qCisgKiBUQkQgc2hvdWxkIGdlbmVyYXRlIHRoZXNlIGR5bmFtaWNhbGx5IGJhc2VkIG9uIG51bWJlciBvZiBhdmFpbGFibGUgYmFua3MuCisgKiBIYXZlIG9ubHkgNiBjb250b2wgYmFua3MgaW4gL3N5c2ZzIHVudGlsIHRoZW4uCisgKi8KIEFDQ0VTU09SKGJhbmswY3RsLGJhbmtbMF0sbWNlX3Jlc3RhcnQoKSkKIEFDQ0VTU09SKGJhbmsxY3RsLGJhbmtbMV0sbWNlX3Jlc3RhcnQoKSkKIEFDQ0VTU09SKGJhbmsyY3RsLGJhbmtbMl0sbWNlX3Jlc3RhcnQoKSkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL25vbi1mYXRhbC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbm9uLWZhdGFsLmMKaW5kZXggMDBjY2I2Yy4uY2MxZmNjZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbm9uLWZhdGFsLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbm9uLWZhdGFsLmMKQEAgLTU5LDcgKzU5LDcgQEAKIAogc3RhdGljIHZvaWQgbWNlX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewotCW9uX2VhY2hfY3B1KG1jZV9jaGVja3JlZ3MsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KG1jZV9jaGVja3JlZ3MsIE5VTEwsIDEpOwogCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmbWNlX3dvcmssIHJvdW5kX2ppZmZpZXNfcmVsYXRpdmUoTUNFX1JBVEUpKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svcDQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL3A0LmMKaW5kZXggY2IwMzM0NS4uZWVmMDAxYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svcDQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9wNC5jCkBAIC04LDcgKzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogCi0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPiAKKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9tc3IuaD4KICNpbmNsdWRlIDxhc20vYXBpYy5oPgpAQCAtMzIsMTIgKzMyLDEyIEBACiAJLyogdTMyICpyZXNlcnZlZFtdOyAqLwogfTsKIAotc3RhdGljIGludCBtY2VfbnVtX2V4dGVuZGVkX21zcnMgPSAwOworc3RhdGljIGludCBtY2VfbnVtX2V4dGVuZGVkX21zcnM7CiAKIAogI2lmZGVmIENPTkZJR19YODZfTUNFX1A0VEhFUk1BTAogc3RhdGljIHZvaWQgdW5leHBlY3RlZF90aGVybWFsX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKLXsJCit7CiAJcHJpbnRrKEtFUk5fRVJSICJDUFUlZDogVW5leHBlY3RlZCBMVlQgVE1SIGludGVycnVwdCFcbiIsCiAJCQlzbXBfcHJvY2Vzc29yX2lkKCkpOwogCWFkZF90YWludChUQUlOVF9NQUNISU5FX0NIRUNLKTsKQEAgLTgzLDcgKzgzLDcgQEAKIAkgKiBiZSBzb21lIFNNTSBnb28gd2hpY2ggaGFuZGxlcyBpdCwgc28gd2UgY2FuJ3QgZXZlbiBwdXQgYSBoYW5kbGVyCiAJICogc2luY2UgaXQgbWlnaHQgYmUgZGVsaXZlcmVkIHZpYSBTTUkgYWxyZWFkeSAtendhbmVtLgogCSAqLwotCXJkbXNyIChNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwsIGgpOwogCWggPSBhcGljX3JlYWQoQVBJQ19MVlRUSE1SKTsKIAlpZiAoKGwgJiAoMTw8MykpICYmIChoICYgQVBJQ19ETV9TTUkpKSB7CiAJCXByaW50ayhLRVJOX0RFQlVHICJDUFUlZDogVGhlcm1hbCBtb25pdG9yaW5nIGhhbmRsZWQgYnkgU01JXG4iLApAQCAtOTEsNyArOTEsNyBAQAogCQlyZXR1cm47IC8qIC1FQlVTWSAqLwogCX0KIAotCS8qIGNoZWNrIHdoZXRoZXIgYSB2ZWN0b3IgYWxyZWFkeSBleGlzdHMsIHRlbXBvcmFyaWx5IG1hc2tlZD8gKi8JCisJLyogY2hlY2sgd2hldGhlciBhIHZlY3RvciBhbHJlYWR5IGV4aXN0cywgdGVtcG9yYXJpbHkgbWFza2VkPyAqLwogCWlmIChoICYgQVBJQ19WRUNUT1JfTUFTSykgewogCQlwcmludGsoS0VSTl9ERUJVRyAiQ1BVJWQ6IFRoZXJtYWwgTFZUIHZlY3RvciAoJSN4KSBhbHJlYWR5ICIKIAkJCQkiaW5zdGFsbGVkXG4iLApAQCAtMTA0LDE4ICsxMDQsMTggQEAKIAloIHw9IChBUElDX0RNX0ZJWEVEIHwgQVBJQ19MVlRfTUFTS0VEKTsJLyogd2UnbGwgbWFzayB0aWxsIHdlJ3JlIHJlYWR5ICovCiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlRUSE1SLCBoKTsKIAotCXJkbXNyIChNU1JfSUEzMl9USEVSTV9JTlRFUlJVUFQsIGwsIGgpOwotCXdybXNyIChNU1JfSUEzMl9USEVSTV9JTlRFUlJVUFQsIGwgfCAweDAzICwgaCk7CisJcmRtc3IoTVNSX0lBMzJfVEhFUk1fSU5URVJSVVBULCBsLCBoKTsKKwl3cm1zcihNU1JfSUEzMl9USEVSTV9JTlRFUlJVUFQsIGwgfCAweDAzICwgaCk7CiAKIAkvKiBvayB3ZSdyZSBnb29kIHRvIGdvLi4uICovCiAJdmVuZG9yX3RoZXJtYWxfaW50ZXJydXB0ID0gaW50ZWxfdGhlcm1hbF9pbnRlcnJ1cHQ7Ci0JCi0JcmRtc3IgKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsLCBoKTsKLQl3cm1zciAoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwgfCAoMTw8MyksIGgpOwogCi0JbCA9IGFwaWNfcmVhZCAoQVBJQ19MVlRUSE1SKTsKLQlhcGljX3dyaXRlX2Fyb3VuZCAoQVBJQ19MVlRUSE1SLCBsICYgfkFQSUNfTFZUX01BU0tFRCk7Ci0JcHJpbnRrIChLRVJOX0lORk8gIkNQVSVkOiBUaGVybWFsIG1vbml0b3JpbmcgZW5hYmxlZFxuIiwgY3B1KTsKKwlyZG1zcihNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbCwgaCk7CisJd3Jtc3IoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwgfCAoMTw8MyksIGgpOworCisJbCA9IGFwaWNfcmVhZChBUElDX0xWVFRITVIpOworCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUVEhNUiwgbCAmIH5BUElDX0xWVF9NQVNLRUQpOworCXByaW50ayhLRVJOX0lORk8gIkNQVSVkOiBUaGVybWFsIG1vbml0b3JpbmcgZW5hYmxlZFxuIiwgY3B1KTsKIAogCS8qIGVuYWJsZSB0aGVybWFsIHRocm90dGxlIHByb2Nlc3NpbmcgKi8KIAlhdG9taWNfc2V0KCZ0aGVybV90aHJvdF9lbiwgMSk7CkBAIC0xMjksMjggKzEyOSwyOCBAQAogewogCXUzMiBoOwogCi0JcmRtc3IgKE1TUl9JQTMyX01DR19FQVgsIHItPmVheCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FQlgsIHItPmVieCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FQ1gsIHItPmVjeCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FRFgsIHItPmVkeCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FU0ksIHItPmVzaSwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FREksIHItPmVkaSwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FQlAsIHItPmVicCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FU1AsIHItPmVzcCwgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FRkxBR1MsIHItPmVmbGFncywgaCk7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19FSVAsIHItPmVpcCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VBWCwgci0+ZWF4LCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRUJYLCByLT5lYngsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FQ1gsIHItPmVjeCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VEWCwgci0+ZWR4LCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRVNJLCByLT5lc2ksIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FREksIHItPmVkaSwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VCUCwgci0+ZWJwLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRVNQLCByLT5lc3AsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FRkxBR1MsIHItPmVmbGFncywgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VJUCwgci0+ZWlwLCBoKTsKIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfbWFjaGluZV9jaGVjayhzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKK3N0YXRpYyB2b2lkIGludGVsX21hY2hpbmVfY2hlY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsKLQlpbnQgcmVjb3Zlcj0xOworCWludCByZWNvdmVyID0gMTsKIAl1MzIgYWxvdywgYWhpZ2gsIGhpZ2gsIGxvdzsKIAl1MzIgbWNnc3RsLCBtY2dzdGg7CiAJaW50IGk7CiAKLQlyZG1zciAoTVNSX0lBMzJfTUNHX1NUQVRVUywgbWNnc3RsLCBtY2dzdGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19TVEFUVVMsIG1jZ3N0bCwgbWNnc3RoKTsKIAlpZiAobWNnc3RsICYgKDE8PDApKQkvKiBSZWNvdmVyYWJsZSA/ICovCi0JCXJlY292ZXI9MDsKKwkJcmVjb3ZlciA9IDA7CiAKIAlwcmludGsoS0VSTl9FTUVSRyAiQ1BVICVkOiBNYWNoaW5lIENoZWNrIEV4Y2VwdGlvbjogJTA4eCUwOHhcbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSwgbWNnc3RoLCBtY2dzdGwpOwpAQCAtMTkxLDIwICsxOTEsMjAgQEAKIAl9CiAKIAlpZiAocmVjb3ZlciAmIDIpCi0JCXBhbmljICgiQ1BVIGNvbnRleHQgY29ycnVwdCIpOworCQlwYW5pYygiQ1BVIGNvbnRleHQgY29ycnVwdCIpOwogCWlmIChyZWNvdmVyICYgMSkKLQkJcGFuaWMgKCJVbmFibGUgdG8gY29udGludWUiKTsKKwkJcGFuaWMoIlVuYWJsZSB0byBjb250aW51ZSIpOwogCiAJcHJpbnRrKEtFUk5fRU1FUkcgIkF0dGVtcHRpbmcgdG8gY29udGludWUuXG4iKTsKLQkvKiAKLQkgKiBEbyBub3QgY2xlYXIgdGhlIE1TUl9JQTMyX01DaV9TVEFUVVMgaWYgdGhlIGVycm9yIGlzIG5vdCAKKwkvKgorCSAqIERvIG5vdCBjbGVhciB0aGUgTVNSX0lBMzJfTUNpX1NUQVRVUyBpZiB0aGUgZXJyb3IgaXMgbm90CiAJICogcmVjb3ZlcmFibGUvY29udGludWFibGUuVGhpcyB3aWxsIGFsbG93IEJJT1MgdG8gbG9vayBhdCB0aGUgTVNScwogCSAqIGZvciBlcnJvcnMgaWYgdGhlIE9TIGNvdWxkIG5vdCBsb2cgdGhlIGVycm9yLgogCSAqLwotCWZvciAoaT0wOyBpPG5yX21jZV9iYW5rczsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IG5yX21jZV9iYW5rczsgaSsrKSB7CiAJCXUzMiBtc3I7CiAJCW1zciA9IE1TUl9JQTMyX01DMF9TVEFUVVMraSo0OwotCQlyZG1zciAobXNyLCBsb3csIGhpZ2gpOworCQlyZG1zcihtc3IsIGxvdywgaGlnaCk7CiAJCWlmIChoaWdoJigxPDwzMSkpIHsKIAkJCS8qIENsZWFyIGl0ICovCiAJCQl3cm1zcihtc3IsIDBVTCwgMFVMKTsKQEAgLTIxNCw3ICsyMTQsNyBAQAogCQl9CiAJfQogCW1jZ3N0bCAmPSB+KDE8PDIpOwotCXdybXNyIChNU1JfSUEzMl9NQ0dfU1RBVFVTLG1jZ3N0bCwgbWNnc3RoKTsKKwl3cm1zcihNU1JfSUEzMl9NQ0dfU1RBVFVTLCBtY2dzdGwsIG1jZ3N0aCk7CiB9CiAKIApAQCAtMjIyLDMwICsyMjIsMzAgQEAKIHsKIAl1MzIgbCwgaDsKIAlpbnQgaTsKLQkKKwogCW1hY2hpbmVfY2hlY2tfdmVjdG9yID0gaW50ZWxfbWFjaGluZV9jaGVjazsKIAl3bWIoKTsKIAotCXByaW50ayAoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIGFyY2hpdGVjdHVyZSBzdXBwb3J0ZWQuXG4iKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0NBUCwgbCwgaCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayBhcmNoaXRlY3R1cmUgc3VwcG9ydGVkLlxuIik7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0NBUCwgbCwgaCk7CiAJaWYgKGwgJiAoMTw8OCkpCS8qIENvbnRyb2wgcmVnaXN0ZXIgcHJlc2VudCA/ICovCi0JCXdybXNyIChNU1JfSUEzMl9NQ0dfQ1RMLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKKwkJd3Jtc3IoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CiAJbnJfbWNlX2JhbmtzID0gbCAmIDB4ZmY7CiAKLQlmb3IgKGk9MDsgaTxucl9tY2VfYmFua3M7IGkrKykgewotCQl3cm1zciAoTVNSX0lBMzJfTUMwX0NUTCs0KmksIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOwotCQl3cm1zciAoTVNSX0lBMzJfTUMwX1NUQVRVUys0KmksIDB4MCwgMHgwKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfbWNlX2JhbmtzOyBpKyspIHsKKwkJd3Jtc3IoTVNSX0lBMzJfTUMwX0NUTCs0KmksIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOworCQl3cm1zcihNU1JfSUEzMl9NQzBfU1RBVFVTKzQqaSwgMHgwLCAweDApOwogCX0KIAotCXNldF9pbl9jcjQgKFg4Nl9DUjRfTUNFKTsKLQlwcmludGsgKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZCBvbiBDUFUjJWQuXG4iLAorCXNldF9pbl9jcjQoWDg2X0NSNF9NQ0UpOworCXByaW50ayhLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVuYWJsZWQgb24gQ1BVIyVkLlxuIiwKIAkJc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAogCS8qIENoZWNrIGZvciBQNC9YZW9uIGV4dGVuZGVkIE1DRSBNU1JzICovCi0JcmRtc3IgKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOwogCWlmIChsICYgKDE8PDkpKQl7LyogTUNHX0VYVF9QICovCiAJCW1jZV9udW1fZXh0ZW5kZWRfbXNycyA9IChsID4+IDE2KSAmIDB4ZmY7Ci0JCXByaW50ayAoS0VSTl9JTkZPICJDUFUlZDogSW50ZWwgUDQvWGVvbiBFeHRlbmRlZCBNQ0UgTVNScyAoJWQpIgorCQlwcmludGsoS0VSTl9JTkZPICJDUFUlZDogSW50ZWwgUDQvWGVvbiBFeHRlbmRlZCBNQ0UgTVNScyAoJWQpIgogCQkJCSIgYXZhaWxhYmxlXG4iLAogCQkJc21wX3Byb2Nlc3Nvcl9pZCgpLCBtY2VfbnVtX2V4dGVuZGVkX21zcnMpOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvZ2VuZXJpYy5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL2dlbmVyaWMuYwppbmRleCA1ZDI0MWNlLi41MDliZDNkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvZ2VuZXJpYy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9nZW5lcmljLmMKQEAgLTM3LDcgKzM3LDcgQEAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIHNtcF9jaGFuZ2VzX21hc2s7CiBzdGF0aWMgc3RydWN0IG10cnJfc3RhdGUgbXRycl9zdGF0ZSA9IHt9Owogc3RhdGljIGludCBtdHJyX3N0YXRlX3NldDsKLXN0YXRpYyB1NjQgdG9tMjsKK3U2NCBtdHJyX3RvbTI7CiAKICN1bmRlZiBNT0RVTEVfUEFSQU1fUFJFRklYCiAjZGVmaW5lIE1PRFVMRV9QQVJBTV9QUkVGSVggIm10cnIuIgpAQCAtMTM5LDggKzEzOSw4IEBACiAJCX0KIAl9CiAKLQlpZiAodG9tMikgewotCQlpZiAoc3RhcnQgPj0gKDFVTEw8PDMyKSAmJiAoZW5kIDwgdG9tMikpCisJaWYgKG10cnJfdG9tMikgeworCQlpZiAoc3RhcnQgPj0gKDFVTEw8PDMyKSAmJiAoZW5kIDwgbXRycl90b20yKSkKIAkJCXJldHVybiBNVFJSX1RZUEVfV1JCQUNLOwogCX0KIApAQCAtMTU4LDYgKzE1OCwyMCBAQAogCXJkbXNyKE1UUlJwaHlzTWFza19NU1IoaW5kZXgpLCB2ci0+bWFza19sbywgdnItPm1hc2tfaGkpOwogfQogCisvKiAgZmlsbCB0aGUgTVNSIHBhaXIgcmVsYXRpbmcgdG8gYSB2YXIgcmFuZ2UgICovCit2b2lkIGZpbGxfbXRycl92YXJfcmFuZ2UodW5zaWduZWQgaW50IGluZGV4LAorCQl1MzIgYmFzZV9sbywgdTMyIGJhc2VfaGksIHUzMiBtYXNrX2xvLCB1MzIgbWFza19oaSkKK3sKKwlzdHJ1Y3QgbXRycl92YXJfcmFuZ2UgKnZyOworCisJdnIgPSBtdHJyX3N0YXRlLnZhcl9yYW5nZXM7CisKKwl2cltpbmRleF0uYmFzZV9sbyA9IGJhc2VfbG87CisJdnJbaW5kZXhdLmJhc2VfaGkgPSBiYXNlX2hpOworCXZyW2luZGV4XS5tYXNrX2xvID0gbWFza19sbzsKKwl2cltpbmRleF0ubWFza19oaSA9IG1hc2tfaGk7Cit9CisKIHN0YXRpYyB2b2lkCiBnZXRfZml4ZWRfcmFuZ2VzKG10cnJfdHlwZSAqIGZycykKIHsKQEAgLTIxMywxMyArMjI3LDEzIEBACiAJbXRycl9zdGF0ZS5lbmFibGVkID0gKGxvICYgMHhjMDApID4+IDEwOwogCiAJaWYgKGFtZF9zcGVjaWFsX2RlZmF1bHRfbXRycigpKSB7Ci0JCXVuc2lnbmVkIGxvLCBoaTsKKwkJdW5zaWduZWQgbG93LCBoaWdoOwogCQkvKiBUT1BfTUVNMiAqLwotCQlyZG1zcihNU1JfSzhfVE9QX01FTTIsIGxvLCBoaSk7Ci0JCXRvbTIgPSBoaTsKLQkJdG9tMiA8PD0gMzI7Ci0JCXRvbTIgfD0gbG87Ci0JCXRvbTIgJj0gMHhmZmZmZmY4MDAwMDAwVUxMOworCQlyZG1zcihNU1JfSzhfVE9QX01FTTIsIGxvdywgaGlnaCk7CisJCW10cnJfdG9tMiA9IGhpZ2g7CisJCW10cnJfdG9tMiA8PD0gMzI7CisJCW10cnJfdG9tMiB8PSBsb3c7CisJCW10cnJfdG9tMiAmPSAweGZmZmZmZjgwMDAwMFVMTDsKIAl9CiAJaWYgKG10cnJfc2hvdykgewogCQlpbnQgaGlnaF93aWR0aDsKQEAgLTI1MSw5ICsyNjUsOSBAQAogCQkJZWxzZQogCQkJCXByaW50ayhLRVJOX0lORk8gIk1UUlIgJXUgZGlzYWJsZWRcbiIsIGkpOwogCQl9Ci0JCWlmICh0b20yKSB7CisJCWlmIChtdHJyX3RvbTIpIHsKIAkJCXByaW50ayhLRVJOX0lORk8gIlRPTTI6ICUwMTZsbHggYWthICVsbGRNXG4iLAotCQkJCQkgIHRvbTIsIHRvbTI+PjIwKTsKKwkJCQkJICBtdHJyX3RvbTIsIG10cnJfdG9tMj4+MjApOwogCQl9CiAJfQogCW10cnJfc3RhdGVfc2V0ID0gMTsKQEAgLTMyOCw3ICszNDIsNyBAQAogCiAJaWYgKGxvICE9IG1zcndvcmRzWzBdIHx8IGhpICE9IG1zcndvcmRzWzFdKSB7CiAJCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQgJiYKLQkJICAgIGJvb3RfY3B1X2RhdGEueDg2ID09IDE1ICYmCisJCSAgICAoYm9vdF9jcHVfZGF0YS54ODYgPj0gMHgwZiAmJiBib290X2NwdV9kYXRhLng4NiA8PSAweDExKSAmJgogCQkgICAgKChtc3J3b3Jkc1swXSB8IG1zcndvcmRzWzFdKSAmIEs4X01UUlJfUkRNRU1fV1JNRU1fTUFTSykpCiAJCQlrOF9lbmFibGVfZml4ZWRfaW9ycnMoKTsKIAkJbXRycl93cm1zcihtc3IsIG1zcndvcmRzWzBdLCBtc3J3b3Jkc1sxXSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbWFpbi5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL21haW4uYwppbmRleCA2YTFlMjc4Li42ZjIzOTY5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbWFpbi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tYWluLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NvcnQuaD4KIAogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL210cnIuaD4KQEAgLTIyMiw3ICsyMjMsNyBAQAogCWF0b21pY19zZXQoJmRhdGEuZ2F0ZSwwKTsKIAogCS8qICBTdGFydCB0aGUgYmFsbCByb2xsaW5nIG9uIG90aGVyIENQVXMgICovCi0JaWYgKHNtcF9jYWxsX2Z1bmN0aW9uKGlwaV9oYW5kbGVyLCAmZGF0YSwgMSwgMCkgIT0gMCkKKwlpZiAoc21wX2NhbGxfZnVuY3Rpb24oaXBpX2hhbmRsZXIsICZkYXRhLCAwKSAhPSAwKQogCQlwYW5pYygibXRycjogdGltZWQgb3V0IHdhaXRpbmcgZm9yIG90aGVyIENQVXNcbiIpOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwpAQCAtNjA5LDYgKzYxMCw3ODcgQEAKIAkucmVzdW1lCQk9IG10cnJfcmVzdG9yZSwKIH07CiAKKy8qIHNob3VsZCBiZSByZWxhdGVkIHRvIE1UUlJfVkFSX1JBTkdFUyBudW1zICovCisjZGVmaW5lIFJBTkdFX05VTSAyNTYKKworc3RydWN0IHJlc19yYW5nZSB7CisJdW5zaWduZWQgbG9uZyBzdGFydDsKKwl1bnNpZ25lZCBsb25nIGVuZDsKK307CisKK3N0YXRpYyBpbnQgX19pbml0CithZGRfcmFuZ2Uoc3RydWN0IHJlc19yYW5nZSAqcmFuZ2UsIGludCBucl9yYW5nZSwgdW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCS8qIG91dCBvZiBzbG90cyAqLworCWlmIChucl9yYW5nZSA+PSBSQU5HRV9OVU0pCisJCXJldHVybiBucl9yYW5nZTsKKworCXJhbmdlW25yX3JhbmdlXS5zdGFydCA9IHN0YXJ0OworCXJhbmdlW25yX3JhbmdlXS5lbmQgPSBlbmQ7CisKKwlucl9yYW5nZSsrOworCisJcmV0dXJuIG5yX3JhbmdlOworfQorCitzdGF0aWMgaW50IF9faW5pdAorYWRkX3JhbmdlX3dpdGhfbWVyZ2Uoc3RydWN0IHJlc19yYW5nZSAqcmFuZ2UsIGludCBucl9yYW5nZSwgdW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCWludCBpOworCisJLyogdHJ5IHRvIG1lcmdlIGl0IHdpdGggb2xkIG9uZSAqLworCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKSB7CisJCXVuc2lnbmVkIGxvbmcgZmluYWxfc3RhcnQsIGZpbmFsX2VuZDsKKwkJdW5zaWduZWQgbG9uZyBjb21tb25fc3RhcnQsIGNvbW1vbl9lbmQ7CisKKwkJaWYgKCFyYW5nZVtpXS5lbmQpCisJCQljb250aW51ZTsKKworCQljb21tb25fc3RhcnQgPSBtYXgocmFuZ2VbaV0uc3RhcnQsIHN0YXJ0KTsKKwkJY29tbW9uX2VuZCA9IG1pbihyYW5nZVtpXS5lbmQsIGVuZCk7CisJCWlmIChjb21tb25fc3RhcnQgPiBjb21tb25fZW5kICsgMSkKKwkJCWNvbnRpbnVlOworCisJCWZpbmFsX3N0YXJ0ID0gbWluKHJhbmdlW2ldLnN0YXJ0LCBzdGFydCk7CisJCWZpbmFsX2VuZCA9IG1heChyYW5nZVtpXS5lbmQsIGVuZCk7CisKKwkJcmFuZ2VbaV0uc3RhcnQgPSBmaW5hbF9zdGFydDsKKwkJcmFuZ2VbaV0uZW5kID0gIGZpbmFsX2VuZDsKKwkJcmV0dXJuIG5yX3JhbmdlOworCX0KKworCS8qIG5lZWQgdG8gYWRkIHRoYXQgKi8KKwlyZXR1cm4gYWRkX3JhbmdlKHJhbmdlLCBucl9yYW5nZSwgc3RhcnQsIGVuZCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdAorc3VidHJhY3RfcmFuZ2Uoc3RydWN0IHJlc19yYW5nZSAqcmFuZ2UsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCWludCBpLCBqOworCisJZm9yIChqID0gMDsgaiA8IFJBTkdFX05VTTsgaisrKSB7CisJCWlmICghcmFuZ2Vbal0uZW5kKQorCQkJY29udGludWU7CisKKwkJaWYgKHN0YXJ0IDw9IHJhbmdlW2pdLnN0YXJ0ICYmIGVuZCA+PSByYW5nZVtqXS5lbmQpIHsKKwkJCXJhbmdlW2pdLnN0YXJ0ID0gMDsKKwkJCXJhbmdlW2pdLmVuZCA9IDA7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChzdGFydCA8PSByYW5nZVtqXS5zdGFydCAmJiBlbmQgPCByYW5nZVtqXS5lbmQgJiYKKwkJICAgIHJhbmdlW2pdLnN0YXJ0IDwgZW5kICsgMSkgeworCQkJcmFuZ2Vbal0uc3RhcnQgPSBlbmQgKyAxOworCQkJY29udGludWU7CisJCX0KKworCisJCWlmIChzdGFydCA+IHJhbmdlW2pdLnN0YXJ0ICYmIGVuZCA+PSByYW5nZVtqXS5lbmQgJiYKKwkJICAgIHJhbmdlW2pdLmVuZCA+IHN0YXJ0IC0gMSkgeworCQkJcmFuZ2Vbal0uZW5kID0gc3RhcnQgLSAxOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAoc3RhcnQgPiByYW5nZVtqXS5zdGFydCAmJiBlbmQgPCByYW5nZVtqXS5lbmQpIHsKKwkJCS8qIGZpbmQgdGhlIG5ldyBzcGFyZSAqLworCQkJZm9yIChpID0gMDsgaSA8IFJBTkdFX05VTTsgaSsrKSB7CisJCQkJaWYgKHJhbmdlW2ldLmVuZCA9PSAwKQorCQkJCQlicmVhazsKKwkJCX0KKwkJCWlmIChpIDwgUkFOR0VfTlVNKSB7CisJCQkJcmFuZ2VbaV0uZW5kID0gcmFuZ2Vbal0uZW5kOworCQkJCXJhbmdlW2ldLnN0YXJ0ID0gZW5kICsgMTsKKwkJCX0gZWxzZSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSICJydW4gb2Ygc2xvdCBpbiByYW5nZXNcbiIpOworCQkJfQorCQkJcmFuZ2Vbal0uZW5kID0gc3RhcnQgLSAxOworCQkJY29udGludWU7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGNtcF9yYW5nZShjb25zdCB2b2lkICp4MSwgY29uc3Qgdm9pZCAqeDIpCit7CisJY29uc3Qgc3RydWN0IHJlc19yYW5nZSAqcjEgPSB4MTsKKwljb25zdCBzdHJ1Y3QgcmVzX3JhbmdlICpyMiA9IHgyOworCWxvbmcgc3RhcnQxLCBzdGFydDI7CisKKwlzdGFydDEgPSByMS0+c3RhcnQ7CisJc3RhcnQyID0gcjItPnN0YXJ0OworCisJcmV0dXJuIHN0YXJ0MSAtIHN0YXJ0MjsKK30KKworc3RydWN0IHZhcl9tdHJyX3JhbmdlX3N0YXRlIHsKKwl1bnNpZ25lZCBsb25nIGJhc2VfcGZuOworCXVuc2lnbmVkIGxvbmcgc2l6ZV9wZm47CisJbXRycl90eXBlIHR5cGU7Cit9OworCitzdHJ1Y3QgdmFyX210cnJfcmFuZ2Vfc3RhdGUgX19pbml0ZGF0YSByYW5nZV9zdGF0ZVtSQU5HRV9OVU1dOworc3RhdGljIGludCBfX2luaXRkYXRhIGRlYnVnX3ByaW50OworCitzdGF0aWMgaW50IF9faW5pdAoreDg2X2dldF9tdHJyX21lbV9yYW5nZShzdHJ1Y3QgcmVzX3JhbmdlICpyYW5nZSwgaW50IG5yX3JhbmdlLAorCQkgICAgICAgdW5zaWduZWQgbG9uZyBleHRyYV9yZW1vdmVfYmFzZSwKKwkJICAgICAgIHVuc2lnbmVkIGxvbmcgZXh0cmFfcmVtb3ZlX3NpemUpCit7CisJdW5zaWduZWQgbG9uZyBpLCBiYXNlLCBzaXplOworCW10cnJfdHlwZSB0eXBlOworCisJZm9yIChpID0gMDsgaSA8IG51bV92YXJfcmFuZ2VzOyBpKyspIHsKKwkJdHlwZSA9IHJhbmdlX3N0YXRlW2ldLnR5cGU7CisJCWlmICh0eXBlICE9IE1UUlJfVFlQRV9XUkJBQ0spCisJCQljb250aW51ZTsKKwkJYmFzZSA9IHJhbmdlX3N0YXRlW2ldLmJhc2VfcGZuOworCQlzaXplID0gcmFuZ2Vfc3RhdGVbaV0uc2l6ZV9wZm47CisJCW5yX3JhbmdlID0gYWRkX3JhbmdlX3dpdGhfbWVyZ2UocmFuZ2UsIG5yX3JhbmdlLCBiYXNlLAorCQkJCQkJYmFzZSArIHNpemUgLSAxKTsKKwl9CisJaWYgKGRlYnVnX3ByaW50KSB7CisJCXByaW50ayhLRVJOX0RFQlVHICJBZnRlciBXQiBjaGVja2luZ1xuIik7CisJCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKQorCQkJcHJpbnRrKEtFUk5fREVCVUcgIk1UUlIgTUFQIFBGTjogJTAxNmx4IC0gJTAxNmx4XG4iLAorCQkJCSByYW5nZVtpXS5zdGFydCwgcmFuZ2VbaV0uZW5kICsgMSk7CisJfQorCisJLyogdGFrZSBvdXQgVUMgcmFuZ2VzICovCisJZm9yIChpID0gMDsgaSA8IG51bV92YXJfcmFuZ2VzOyBpKyspIHsKKwkJdHlwZSA9IHJhbmdlX3N0YXRlW2ldLnR5cGU7CisJCWlmICh0eXBlICE9IE1UUlJfVFlQRV9VTkNBQ0hBQkxFKQorCQkJY29udGludWU7CisJCXNpemUgPSByYW5nZV9zdGF0ZVtpXS5zaXplX3BmbjsKKwkJaWYgKCFzaXplKQorCQkJY29udGludWU7CisJCWJhc2UgPSByYW5nZV9zdGF0ZVtpXS5iYXNlX3BmbjsKKwkJc3VidHJhY3RfcmFuZ2UocmFuZ2UsIGJhc2UsIGJhc2UgKyBzaXplIC0gMSk7CisJfQorCWlmIChleHRyYV9yZW1vdmVfc2l6ZSkKKwkJc3VidHJhY3RfcmFuZ2UocmFuZ2UsIGV4dHJhX3JlbW92ZV9iYXNlLAorCQkJCSBleHRyYV9yZW1vdmVfYmFzZSArIGV4dHJhX3JlbW92ZV9zaXplICAtIDEpOworCisJLyogZ2V0IG5ldyByYW5nZSBudW0gKi8KKwlucl9yYW5nZSA9IDA7CisJZm9yIChpID0gMDsgaSA8IFJBTkdFX05VTTsgaSsrKSB7CisJCWlmICghcmFuZ2VbaV0uZW5kKQorCQkJY29udGludWU7CisJCW5yX3JhbmdlKys7CisJfQorCWlmICAoZGVidWdfcHJpbnQpIHsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIkFmdGVyIFVDIGNoZWNraW5nXG4iKTsKKwkJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCQlwcmludGsoS0VSTl9ERUJVRyAiTVRSUiBNQVAgUEZOOiAlMDE2bHggLSAlMDE2bHhcbiIsCisJCQkJIHJhbmdlW2ldLnN0YXJ0LCByYW5nZVtpXS5lbmQgKyAxKTsKKwl9CisKKwkvKiBzb3J0IHRoZSByYW5nZXMgKi8KKwlzb3J0KHJhbmdlLCBucl9yYW5nZSwgc2l6ZW9mKHN0cnVjdCByZXNfcmFuZ2UpLCBjbXBfcmFuZ2UsIE5VTEwpOworCWlmICAoZGVidWdfcHJpbnQpIHsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIkFmdGVyIHNvcnRpbmdcbiIpOworCQlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2U7IGkrKykKKwkJCXByaW50ayhLRVJOX0RFQlVHICJNVFJSIE1BUCBQRk46ICUwMTZseCAtICUwMTZseFxuIiwKKwkJCQkgcmFuZ2VbaV0uc3RhcnQsIHJhbmdlW2ldLmVuZCArIDEpOworCX0KKworCS8qIGNsZWFyIHRob3NlIGlzIG5vdCB1c2VkICovCisJZm9yIChpID0gbnJfcmFuZ2U7IGkgPCBSQU5HRV9OVU07IGkrKykKKwkJbWVtc2V0KCZyYW5nZVtpXSwgMCwgc2l6ZW9mKHJhbmdlW2ldKSk7CisKKwlyZXR1cm4gbnJfcmFuZ2U7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcmVzX3JhbmdlIF9faW5pdGRhdGEgcmFuZ2VbUkFOR0VfTlVNXTsKKworI2lmZGVmIENPTkZJR19NVFJSX1NBTklUSVpFUgorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXQgc3VtX3JhbmdlcyhzdHJ1Y3QgcmVzX3JhbmdlICpyYW5nZSwgaW50IG5yX3JhbmdlKQoreworCXVuc2lnbmVkIGxvbmcgc3VtOworCWludCBpOworCisJc3VtID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2U7IGkrKykKKwkJc3VtICs9IHJhbmdlW2ldLmVuZCArIDEgLSByYW5nZVtpXS5zdGFydDsKKworCXJldHVybiBzdW07Cit9CisKK3N0YXRpYyBpbnQgZW5hYmxlX210cnJfY2xlYW51cCBfX2luaXRkYXRhID0KKwlDT05GSUdfTVRSUl9TQU5JVElaRVJfRU5BQkxFX0RFRkFVTFQ7CisKK3N0YXRpYyBpbnQgX19pbml0IGRpc2FibGVfbXRycl9jbGVhbnVwX3NldHVwKGNoYXIgKnN0cikKK3sKKwlpZiAoZW5hYmxlX210cnJfY2xlYW51cCAhPSAtMSkKKwkJZW5hYmxlX210cnJfY2xlYW51cCA9IDA7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgiZGlzYWJsZV9tdHJyX2NsZWFudXAiLCBkaXNhYmxlX210cnJfY2xlYW51cF9zZXR1cCk7CisKK3N0YXRpYyBpbnQgX19pbml0IGVuYWJsZV9tdHJyX2NsZWFudXBfc2V0dXAoY2hhciAqc3RyKQoreworCWlmIChlbmFibGVfbXRycl9jbGVhbnVwICE9IC0xKQorCQllbmFibGVfbXRycl9jbGVhbnVwID0gMTsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJlbmJsZV9tdHJyX2NsZWFudXAiLCBlbmFibGVfbXRycl9jbGVhbnVwX3NldHVwKTsKKworc3RydWN0IHZhcl9tdHJyX3N0YXRlIHsKKwl1bnNpZ25lZCBsb25nCXJhbmdlX3N0YXJ0azsKKwl1bnNpZ25lZCBsb25nCXJhbmdlX3NpemVrOworCXVuc2lnbmVkIGxvbmcJY2h1bmtfc2l6ZWs7CisJdW5zaWduZWQgbG9uZwlncmFuX3NpemVrOworCXVuc2lnbmVkIGludAlyZWc7Cit9OworCitzdGF0aWMgdm9pZCBfX2luaXQKK3NldF92YXJfbXRycih1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBsb25nIGJhc2VrLCB1bnNpZ25lZCBsb25nIHNpemVrLAorCQl1bnNpZ25lZCBjaGFyIHR5cGUsIHVuc2lnbmVkIGludCBhZGRyZXNzX2JpdHMpCit7CisJdTMyIGJhc2VfbG8sIGJhc2VfaGksIG1hc2tfbG8sIG1hc2tfaGk7CisJdTY0IGJhc2UsIG1hc2s7CisKKwlpZiAoIXNpemVrKSB7CisJCWZpbGxfbXRycl92YXJfcmFuZ2UocmVnLCAwLCAwLCAwLCAwKTsKKwkJcmV0dXJuOworCX0KKworCW1hc2sgPSAoMVVMTCA8PCBhZGRyZXNzX2JpdHMpIC0gMTsKKwltYXNrICY9IH4oKCgodTY0KXNpemVrKSA8PCAxMCkgLSAxKTsKKworCWJhc2UgID0gKCh1NjQpYmFzZWspIDw8IDEwOworCisJYmFzZSB8PSB0eXBlOworCW1hc2sgfD0gMHg4MDA7CisKKwliYXNlX2xvID0gYmFzZSAmICgoMVVMTDw8MzIpIC0gMSk7CisJYmFzZV9oaSA9IGJhc2UgPj4gMzI7CisKKwltYXNrX2xvID0gbWFzayAmICgoMVVMTDw8MzIpIC0gMSk7CisJbWFza19oaSA9IG1hc2sgPj4gMzI7CisKKwlmaWxsX210cnJfdmFyX3JhbmdlKHJlZywgYmFzZV9sbywgYmFzZV9oaSwgbWFza19sbywgbWFza19oaSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdAorc2F2ZV92YXJfbXRycih1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBsb25nIGJhc2VrLCB1bnNpZ25lZCBsb25nIHNpemVrLAorCQl1bnNpZ25lZCBjaGFyIHR5cGUpCit7CisJcmFuZ2Vfc3RhdGVbcmVnXS5iYXNlX3BmbiA9IGJhc2VrID4+IChQQUdFX1NISUZUIC0gMTApOworCXJhbmdlX3N0YXRlW3JlZ10uc2l6ZV9wZm4gPSBzaXplayA+PiAoUEFHRV9TSElGVCAtIDEwKTsKKwlyYW5nZV9zdGF0ZVtyZWddLnR5cGUgPSB0eXBlOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQKK3NldF92YXJfbXRycl9hbGwodW5zaWduZWQgaW50IGFkZHJlc3NfYml0cykKK3sKKwl1bnNpZ25lZCBsb25nIGJhc2VrLCBzaXplazsKKwl1bnNpZ25lZCBjaGFyIHR5cGU7CisJdW5zaWduZWQgaW50IHJlZzsKKworCWZvciAocmVnID0gMDsgcmVnIDwgbnVtX3Zhcl9yYW5nZXM7IHJlZysrKSB7CisJCWJhc2VrID0gcmFuZ2Vfc3RhdGVbcmVnXS5iYXNlX3BmbiA8PCAoUEFHRV9TSElGVCAtIDEwKTsKKwkJc2l6ZWsgPSByYW5nZV9zdGF0ZVtyZWddLnNpemVfcGZuIDw8IChQQUdFX1NISUZUIC0gMTApOworCQl0eXBlID0gcmFuZ2Vfc3RhdGVbcmVnXS50eXBlOworCisJCXNldF92YXJfbXRycihyZWcsIGJhc2VrLCBzaXplaywgdHlwZSwgYWRkcmVzc19iaXRzKTsKKwl9Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgX19pbml0CityYW5nZV90b19tdHJyKHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGxvbmcgcmFuZ2Vfc3RhcnRrLAorCSAgICAgIHVuc2lnbmVkIGxvbmcgcmFuZ2Vfc2l6ZWssIHVuc2lnbmVkIGNoYXIgdHlwZSkKK3sKKwlpZiAoIXJhbmdlX3NpemVrIHx8IChyZWcgPj0gbnVtX3Zhcl9yYW5nZXMpKQorCQlyZXR1cm4gcmVnOworCisJd2hpbGUgKHJhbmdlX3NpemVrKSB7CisJCXVuc2lnbmVkIGxvbmcgbWF4X2FsaWduLCBhbGlnbjsKKwkJdW5zaWduZWQgbG9uZyBzaXplazsKKworCQkvKiBDb21wdXRlIHRoZSBtYXhpbXVtIHNpemUgSSBjYW4gbWFrZSBhIHJhbmdlICovCisJCWlmIChyYW5nZV9zdGFydGspCisJCQltYXhfYWxpZ24gPSBmZnMocmFuZ2Vfc3RhcnRrKSAtIDE7CisJCWVsc2UKKwkJCW1heF9hbGlnbiA9IDMyOworCQlhbGlnbiA9IGZscyhyYW5nZV9zaXplaykgLSAxOworCQlpZiAoYWxpZ24gPiBtYXhfYWxpZ24pCisJCQlhbGlnbiA9IG1heF9hbGlnbjsKKworCQlzaXplayA9IDEgPDwgYWxpZ247CisJCWlmIChkZWJ1Z19wcmludCkKKwkJCXByaW50ayhLRVJOX0RFQlVHICJTZXR0aW5nIHZhcmlhYmxlIE1UUlIgJWQsICIKKwkJCQkiYmFzZTogJWxkTUIsIHJhbmdlOiAlbGRNQiwgdHlwZSAlc1xuIiwKKwkJCQlyZWcsIHJhbmdlX3N0YXJ0ayA+PiAxMCwgc2l6ZWsgPj4gMTAsCisJCQkJKHR5cGUgPT0gTVRSUl9UWVBFX1VOQ0FDSEFCTEUpPyJVQyI6CisJCQkJICAgICgodHlwZSA9PSBNVFJSX1RZUEVfV1JCQUNLKT8iV0IiOiJPdGhlciIpCisJCQkJKTsKKwkJc2F2ZV92YXJfbXRycihyZWcrKywgcmFuZ2Vfc3RhcnRrLCBzaXplaywgdHlwZSk7CisJCXJhbmdlX3N0YXJ0ayArPSBzaXplazsKKwkJcmFuZ2Vfc2l6ZWsgLT0gc2l6ZWs7CisJCWlmIChyZWcgPj0gbnVtX3Zhcl9yYW5nZXMpCisJCQlicmVhazsKKwl9CisJcmV0dXJuIHJlZzsKK30KKworc3RhdGljIHVuc2lnbmVkIF9faW5pdAorcmFuZ2VfdG9fbXRycl93aXRoX2hvbGUoc3RydWN0IHZhcl9tdHJyX3N0YXRlICpzdGF0ZSwgdW5zaWduZWQgbG9uZyBiYXNlaywKKwkJCXVuc2lnbmVkIGxvbmcgc2l6ZWspCit7CisJdW5zaWduZWQgbG9uZyBob2xlX2Jhc2VrLCBob2xlX3NpemVrOworCXVuc2lnbmVkIGxvbmcgc2Vjb25kX2Jhc2VrLCBzZWNvbmRfc2l6ZWs7CisJdW5zaWduZWQgbG9uZyByYW5nZTBfYmFzZWssIHJhbmdlMF9zaXplazsKKwl1bnNpZ25lZCBsb25nIHJhbmdlX2Jhc2VrLCByYW5nZV9zaXplazsKKwl1bnNpZ25lZCBsb25nIGNodW5rX3NpemVrOworCXVuc2lnbmVkIGxvbmcgZ3Jhbl9zaXplazsKKworCWhvbGVfYmFzZWsgPSAwOworCWhvbGVfc2l6ZWsgPSAwOworCXNlY29uZF9iYXNlayA9IDA7CisJc2Vjb25kX3NpemVrID0gMDsKKwljaHVua19zaXplayA9IHN0YXRlLT5jaHVua19zaXplazsKKwlncmFuX3NpemVrID0gc3RhdGUtPmdyYW5fc2l6ZWs7CisKKwkvKiBhbGlnbiB3aXRoIGdyYW4gc2l6ZSwgcHJldmVudCBzbWFsbCBibG9jayB1c2VkIHVwIE1UUlJzICovCisJcmFuZ2VfYmFzZWsgPSBBTElHTihzdGF0ZS0+cmFuZ2Vfc3RhcnRrLCBncmFuX3NpemVrKTsKKwlpZiAoKHJhbmdlX2Jhc2VrID4gYmFzZWspICYmIGJhc2VrKQorCQlyZXR1cm4gc2Vjb25kX3NpemVrOworCXN0YXRlLT5yYW5nZV9zaXplayAtPSAocmFuZ2VfYmFzZWsgLSBzdGF0ZS0+cmFuZ2Vfc3RhcnRrKTsKKwlyYW5nZV9zaXplayA9IEFMSUdOKHN0YXRlLT5yYW5nZV9zaXplaywgZ3Jhbl9zaXplayk7CisKKwl3aGlsZSAocmFuZ2Vfc2l6ZWsgPiBzdGF0ZS0+cmFuZ2Vfc2l6ZWspIHsKKwkJcmFuZ2Vfc2l6ZWsgLT0gZ3Jhbl9zaXplazsKKwkJaWYgKCFyYW5nZV9zaXplaykKKwkJCXJldHVybiAwOworCX0KKwlzdGF0ZS0+cmFuZ2Vfc2l6ZWsgPSByYW5nZV9zaXplazsKKworCS8qIHRyeSB0byBhcHBlbmQgc29tZSBzbWFsbCBob2xlICovCisJcmFuZ2UwX2Jhc2VrID0gc3RhdGUtPnJhbmdlX3N0YXJ0azsKKwlyYW5nZTBfc2l6ZWsgPSBBTElHTihzdGF0ZS0+cmFuZ2Vfc2l6ZWssIGNodW5rX3NpemVrKTsKKwlpZiAocmFuZ2UwX3NpemVrID09IHN0YXRlLT5yYW5nZV9zaXplaykgeworCQlpZiAoZGVidWdfcHJpbnQpCisJCQlwcmludGsoS0VSTl9ERUJVRyAicmFuZ2VYOiAlMDE2bHggLSAlMDE2bHhcbiIsCisJCQkJcmFuZ2UwX2Jhc2VrPDwxMCwKKwkJCQkocmFuZ2UwX2Jhc2VrICsgc3RhdGUtPnJhbmdlX3NpemVrKTw8MTApOworCQlzdGF0ZS0+cmVnID0gcmFuZ2VfdG9fbXRycihzdGF0ZS0+cmVnLCByYW5nZTBfYmFzZWssCisJCQkJc3RhdGUtPnJhbmdlX3NpemVrLCBNVFJSX1RZUEVfV1JCQUNLKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmFuZ2UwX3NpemVrIC09IGNodW5rX3NpemVrOworCWlmIChyYW5nZTBfc2l6ZWsgJiYgc2l6ZWspIHsKKwkgICAgd2hpbGUgKHJhbmdlMF9iYXNlayArIHJhbmdlMF9zaXplayA+IChiYXNlayArIHNpemVrKSkgeworCQlyYW5nZTBfc2l6ZWsgLT0gY2h1bmtfc2l6ZWs7CisJCWlmICghcmFuZ2UwX3NpemVrKQorCQkJYnJlYWs7CisJICAgIH0KKwl9CisKKwlpZiAocmFuZ2UwX3NpemVrKSB7CisJCWlmIChkZWJ1Z19wcmludCkKKwkJCXByaW50ayhLRVJOX0RFQlVHICJyYW5nZTA6ICUwMTZseCAtICUwMTZseFxuIiwKKwkJCQlyYW5nZTBfYmFzZWs8PDEwLAorCQkJCShyYW5nZTBfYmFzZWsgKyByYW5nZTBfc2l6ZWspPDwxMCk7CisJCXN0YXRlLT5yZWcgPSByYW5nZV90b19tdHJyKHN0YXRlLT5yZWcsIHJhbmdlMF9iYXNlaywKKwkJCQlyYW5nZTBfc2l6ZWssIE1UUlJfVFlQRV9XUkJBQ0spOworCisJfQorCisJcmFuZ2VfYmFzZWsgPSByYW5nZTBfYmFzZWsgKyByYW5nZTBfc2l6ZWs7CisJcmFuZ2Vfc2l6ZWsgPSBjaHVua19zaXplazsKKworCWlmIChyYW5nZV9iYXNlayArIHJhbmdlX3NpemVrID4gYmFzZWsgJiYKKwkgICAgcmFuZ2VfYmFzZWsgKyByYW5nZV9zaXplayA8PSAoYmFzZWsgKyBzaXplaykpIHsKKwkJLyogb25lIGhvbGUgKi8KKwkJc2Vjb25kX2Jhc2VrID0gYmFzZWs7CisJCXNlY29uZF9zaXplayA9IHJhbmdlX2Jhc2VrICsgcmFuZ2Vfc2l6ZWsgLSBiYXNlazsKKwl9CisKKwkvKiBpZiBsYXN0IHBpZWNlLCBvbmx5IGNvdWxkIG9uZSBob2xlIG5lYXIgZW5kICovCisJaWYgKChzZWNvbmRfYmFzZWsgfHwgIWJhc2VrKSAmJgorCSAgICByYW5nZV9zaXplayAtIChzdGF0ZS0+cmFuZ2Vfc2l6ZWsgLSByYW5nZTBfc2l6ZWspIC0gc2Vjb25kX3NpemVrIDwKKwkgICAgKGNodW5rX3NpemVrID4+IDEpKSB7CisJCS8qCisJCSAqIG9uZSBob2xlIGluIG1pZGRsZSAoc2Vjb25kX3NpemVrIGlzIDApIG9yIGF0IGVuZAorCQkgKiAoc2Vjb25kX3NpemVrIGlzIDAgKQorCQkgKi8KKwkJaG9sZV9zaXplayA9IHJhbmdlX3NpemVrIC0gKHN0YXRlLT5yYW5nZV9zaXplayAtIHJhbmdlMF9zaXplaykKKwkJCQkgLSBzZWNvbmRfc2l6ZWs7CisJCWhvbGVfYmFzZWsgPSByYW5nZV9iYXNlayArIHJhbmdlX3NpemVrIC0gaG9sZV9zaXplaworCQkJCSAtIHNlY29uZF9zaXplazsKKwl9IGVsc2UgeworCQkvKiBmYWxsYmFjayBmb3IgYmlnIGhvbGUsIG9yIHNldmVyYWwgaG9sZXMgKi8KKwkJcmFuZ2Vfc2l6ZWsgPSBzdGF0ZS0+cmFuZ2Vfc2l6ZWsgLSByYW5nZTBfc2l6ZWs7CisJCXNlY29uZF9iYXNlayA9IDA7CisJCXNlY29uZF9zaXplayA9IDA7CisJfQorCisJaWYgKGRlYnVnX3ByaW50KQorCQlwcmludGsoS0VSTl9ERUJVRyAicmFuZ2U6ICUwMTZseCAtICUwMTZseFxuIiwgcmFuZ2VfYmFzZWs8PDEwLAorCQkJIChyYW5nZV9iYXNlayArIHJhbmdlX3NpemVrKTw8MTApOworCXN0YXRlLT5yZWcgPSByYW5nZV90b19tdHJyKHN0YXRlLT5yZWcsIHJhbmdlX2Jhc2VrLCByYW5nZV9zaXplaywKKwkJCQkJIE1UUlJfVFlQRV9XUkJBQ0spOworCWlmIChob2xlX3NpemVrKSB7CisJCWlmIChkZWJ1Z19wcmludCkKKwkJCXByaW50ayhLRVJOX0RFQlVHICJob2xlOiAlMDE2bHggLSAlMDE2bHhcbiIsCisJCQkJIGhvbGVfYmFzZWs8PDEwLCAoaG9sZV9iYXNlayArIGhvbGVfc2l6ZWspPDwxMCk7CisJCXN0YXRlLT5yZWcgPSByYW5nZV90b19tdHJyKHN0YXRlLT5yZWcsIGhvbGVfYmFzZWssIGhvbGVfc2l6ZWssCisJCQkJCQkgTVRSUl9UWVBFX1VOQ0FDSEFCTEUpOworCisJfQorCisJcmV0dXJuIHNlY29uZF9zaXplazsKK30KKworc3RhdGljIHZvaWQgX19pbml0CitzZXRfdmFyX210cnJfcmFuZ2Uoc3RydWN0IHZhcl9tdHJyX3N0YXRlICpzdGF0ZSwgdW5zaWduZWQgbG9uZyBiYXNlX3BmbiwKKwkJICAgdW5zaWduZWQgbG9uZyBzaXplX3BmbikKK3sKKwl1bnNpZ25lZCBsb25nIGJhc2VrLCBzaXplazsKKwl1bnNpZ25lZCBsb25nIHNlY29uZF9zaXplayA9IDA7CisKKwlpZiAoc3RhdGUtPnJlZyA+PSBudW1fdmFyX3JhbmdlcykKKwkJcmV0dXJuOworCisJYmFzZWsgPSBiYXNlX3BmbiA8PCAoUEFHRV9TSElGVCAtIDEwKTsKKwlzaXplayA9IHNpemVfcGZuIDw8IChQQUdFX1NISUZUIC0gMTApOworCisJLyogU2VlIGlmIEkgY2FuIG1lcmdlIHdpdGggdGhlIGxhc3QgcmFuZ2UgKi8KKwlpZiAoKGJhc2VrIDw9IDEwMjQpIHx8CisJICAgIChzdGF0ZS0+cmFuZ2Vfc3RhcnRrICsgc3RhdGUtPnJhbmdlX3NpemVrID09IGJhc2VrKSkgeworCQl1bnNpZ25lZCBsb25nIGVuZGsgPSBiYXNlayArIHNpemVrOworCQlzdGF0ZS0+cmFuZ2Vfc2l6ZWsgPSBlbmRrIC0gc3RhdGUtPnJhbmdlX3N0YXJ0azsKKwkJcmV0dXJuOworCX0KKwkvKiBXcml0ZSB0aGUgcmFuZ2UgbXRycnMgKi8KKwlpZiAoc3RhdGUtPnJhbmdlX3NpemVrICE9IDApCisJCXNlY29uZF9zaXplayA9IHJhbmdlX3RvX210cnJfd2l0aF9ob2xlKHN0YXRlLCBiYXNlaywgc2l6ZWspOworCisJLyogQWxsb2NhdGUgYW4gbXNyICovCisJc3RhdGUtPnJhbmdlX3N0YXJ0ayA9IGJhc2VrICsgc2Vjb25kX3NpemVrOworCXN0YXRlLT5yYW5nZV9zaXplayAgPSBzaXplayAtIHNlY29uZF9zaXplazsKK30KKworLyogbWluaW51bSBzaXplIG9mIG10cnIgYmxvY2sgdGhhdCBjYW4gdGFrZSBob2xlICovCitzdGF0aWMgdTY0IG10cnJfY2h1bmtfc2l6ZSBfX2luaXRkYXRhID0gKDI1NlVMTDw8MjApOworCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tdHJyX2NodW5rX3NpemVfb3B0KGNoYXIgKnApCit7CisJaWYgKCFwKQorCQlyZXR1cm4gLUVJTlZBTDsKKwltdHJyX2NodW5rX3NpemUgPSBtZW1wYXJzZShwLCAmcCk7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgibXRycl9jaHVua19zaXplIiwgcGFyc2VfbXRycl9jaHVua19zaXplX29wdCk7CisKKy8qIGdyYW5pdHkgb2YgbXRyciBvZiBibG9jayAqLworc3RhdGljIHU2NCBtdHJyX2dyYW5fc2l6ZSBfX2luaXRkYXRhOworCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tdHJyX2dyYW5fc2l6ZV9vcHQoY2hhciAqcCkKK3sKKwlpZiAoIXApCisJCXJldHVybiAtRUlOVkFMOworCW10cnJfZ3Jhbl9zaXplID0gbWVtcGFyc2UocCwgJnApOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oIm10cnJfZ3Jhbl9zaXplIiwgcGFyc2VfbXRycl9ncmFuX3NpemVfb3B0KTsKKworc3RhdGljIGludCBucl9tdHJyX3NwYXJlX3JlZyBfX2luaXRkYXRhID0KKwkJCQkgQ09ORklHX01UUlJfU0FOSVRJWkVSX1NQQVJFX1JFR19OUl9ERUZBVUxUOworCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tdHJyX3NwYXJlX3JlZyhjaGFyICphcmcpCit7CisJaWYgKGFyZykKKwkJbnJfbXRycl9zcGFyZV9yZWcgPSBzaW1wbGVfc3RydG91bChhcmcsIE5VTEwsIDApOworCXJldHVybiAwOworfQorCitlYXJseV9wYXJhbSgibXRycl9zcGFyZV9yZWdfbnIiLCBwYXJzZV9tdHJyX3NwYXJlX3JlZyk7CisKK3N0YXRpYyBpbnQgX19pbml0Cit4ODZfc2V0dXBfdmFyX210cnJzKHN0cnVjdCByZXNfcmFuZ2UgKnJhbmdlLCBpbnQgbnJfcmFuZ2UsCisJCSAgICB1NjQgY2h1bmtfc2l6ZSwgdTY0IGdyYW5fc2l6ZSkKK3sKKwlzdHJ1Y3QgdmFyX210cnJfc3RhdGUgdmFyX3N0YXRlOworCWludCBpOworCWludCBudW1fcmVnOworCisJdmFyX3N0YXRlLnJhbmdlX3N0YXJ0awk9IDA7CisJdmFyX3N0YXRlLnJhbmdlX3NpemVrCT0gMDsKKwl2YXJfc3RhdGUucmVnCQk9IDA7CisJdmFyX3N0YXRlLmNodW5rX3NpemVrCT0gY2h1bmtfc2l6ZSA+PiAxMDsKKwl2YXJfc3RhdGUuZ3Jhbl9zaXplawk9IGdyYW5fc2l6ZSA+PiAxMDsKKworCW1lbXNldChyYW5nZV9zdGF0ZSwgMCwgc2l6ZW9mKHJhbmdlX3N0YXRlKSk7CisKKwkvKiBXcml0ZSB0aGUgcmFuZ2UgZXRjICovCisJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCXNldF92YXJfbXRycl9yYW5nZSgmdmFyX3N0YXRlLCByYW5nZVtpXS5zdGFydCwKKwkJCQkgICByYW5nZVtpXS5lbmQgLSByYW5nZVtpXS5zdGFydCArIDEpOworCisJLyogV3JpdGUgdGhlIGxhc3QgcmFuZ2UgKi8KKwlpZiAodmFyX3N0YXRlLnJhbmdlX3NpemVrICE9IDApCisJCXJhbmdlX3RvX210cnJfd2l0aF9ob2xlKCZ2YXJfc3RhdGUsIDAsIDApOworCisJbnVtX3JlZyA9IHZhcl9zdGF0ZS5yZWc7CisJLyogQ2xlYXIgb3V0IHRoZSBleHRyYSBNVFJSJ3MgKi8KKwl3aGlsZSAodmFyX3N0YXRlLnJlZyA8IG51bV92YXJfcmFuZ2VzKSB7CisJCXNhdmVfdmFyX210cnIodmFyX3N0YXRlLnJlZywgMCwgMCwgMCk7CisJCXZhcl9zdGF0ZS5yZWcrKzsKKwl9CisKKwlyZXR1cm4gbnVtX3JlZzsKK30KKworc3RydWN0IG10cnJfY2xlYW51cF9yZXN1bHQgeworCXVuc2lnbmVkIGxvbmcgZ3Jhbl9zaXplazsKKwl1bnNpZ25lZCBsb25nIGNodW5rX3NpemVrOworCXVuc2lnbmVkIGxvbmcgbG9zZV9jb3Zlcl9zaXplazsKKwl1bnNpZ25lZCBpbnQgbnVtX3JlZzsKKwlpbnQgYmFkOworfTsKKworLyoKKyAqIGdyYW5fc2l6ZTogMU0sIDJNLCAuLi4sIDJHCisgKiBjaHVuayBzaXplOiBncmFuX3NpemUsIC4uLiwgNEcKKyAqIHNvIHdlIG5lZWQgKDIrMTMpKjYKKyAqLworI2RlZmluZSBOVU1fUkVTVUxUCTkwCisjZGVmaW5lIFBTSElGVAkJKFBBR0VfU0hJRlQgLSAxMCkKKworc3RhdGljIHN0cnVjdCBtdHJyX2NsZWFudXBfcmVzdWx0IF9faW5pdGRhdGEgcmVzdWx0W05VTV9SRVNVTFRdOworc3RhdGljIHN0cnVjdCByZXNfcmFuZ2UgX19pbml0ZGF0YSByYW5nZV9uZXdbUkFOR0VfTlVNXTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbWluX2xvc3NfcGZuW1JBTkdFX05VTV07CisKK3N0YXRpYyBpbnQgX19pbml0IG10cnJfY2xlYW51cCh1bnNpZ25lZCBhZGRyZXNzX2JpdHMpCit7CisJdW5zaWduZWQgbG9uZyBleHRyYV9yZW1vdmVfYmFzZSwgZXh0cmFfcmVtb3ZlX3NpemU7CisJdW5zaWduZWQgbG9uZyBpLCBiYXNlLCBzaXplLCBkZWYsIGR1bW15OworCW10cnJfdHlwZSB0eXBlOworCWludCBucl9yYW5nZSwgbnJfcmFuZ2VfbmV3OworCXU2NCBjaHVua19zaXplLCBncmFuX3NpemU7CisJdW5zaWduZWQgbG9uZyByYW5nZV9zdW1zLCByYW5nZV9zdW1zX25ldzsKKwlpbnQgaW5kZXhfZ29vZDsKKwlpbnQgbnVtX3JlZ19nb29kOworCisJLyogZXh0cmEgb25lIGZvciBhbGwgMCAqLworCWludCBudW1bTVRSUl9OVU1fVFlQRVMgKyAxXTsKKworCWlmICghaXNfY3B1KElOVEVMKSB8fCBlbmFibGVfbXRycl9jbGVhbnVwIDwgMSkKKwkJcmV0dXJuIDA7CisJcmRtc3IoTVRSUmRlZlR5cGVfTVNSLCBkZWYsIGR1bW15KTsKKwlkZWYgJj0gMHhmZjsKKwlpZiAoZGVmICE9IE1UUlJfVFlQRV9VTkNBQ0hBQkxFKQorCQlyZXR1cm4gMDsKKworCS8qIGdldCBpdCBhbmQgc3RvcmUgaXQgYXNpZGUgKi8KKwltZW1zZXQocmFuZ2Vfc3RhdGUsIDAsIHNpemVvZihyYW5nZV9zdGF0ZSkpOworCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7CisJCW10cnJfaWYtPmdldChpLCAmYmFzZSwgJnNpemUsICZ0eXBlKTsKKwkJcmFuZ2Vfc3RhdGVbaV0uYmFzZV9wZm4gPSBiYXNlOworCQlyYW5nZV9zdGF0ZVtpXS5zaXplX3BmbiA9IHNpemU7CisJCXJhbmdlX3N0YXRlW2ldLnR5cGUgPSB0eXBlOworCX0KKworCS8qIGNoZWNrIGVudHJpZXMgbnVtYmVyICovCisJbWVtc2V0KG51bSwgMCwgc2l6ZW9mKG51bSkpOworCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7CisJCXR5cGUgPSByYW5nZV9zdGF0ZVtpXS50eXBlOworCQlzaXplID0gcmFuZ2Vfc3RhdGVbaV0uc2l6ZV9wZm47CisJCWlmICh0eXBlID49IE1UUlJfTlVNX1RZUEVTKQorCQkJY29udGludWU7CisJCWlmICghc2l6ZSkKKwkJCXR5cGUgPSBNVFJSX05VTV9UWVBFUzsKKwkJbnVtW3R5cGVdKys7CisJfQorCisJLyogY2hlY2sgaWYgd2UgZ290IFVDIGVudHJpZXMgKi8KKwlpZiAoIW51bVtNVFJSX1RZUEVfVU5DQUNIQUJMRV0pCisJCXJldHVybiAwOworCisJLyogY2hlY2sgaWYgd2Ugb25seSBoYWQgV0IgYW5kIFVDICovCisJaWYgKG51bVtNVFJSX1RZUEVfV1JCQUNLXSArIG51bVtNVFJSX1RZUEVfVU5DQUNIQUJMRV0gIT0KKwkJbnVtX3Zhcl9yYW5nZXMgLSBudW1bTVRSUl9OVU1fVFlQRVNdKQorCQlyZXR1cm4gMDsKKworCW1lbXNldChyYW5nZSwgMCwgc2l6ZW9mKHJhbmdlKSk7CisJZXh0cmFfcmVtb3ZlX3NpemUgPSAwOworCWlmIChtdHJyX3RvbTIpIHsKKwkJZXh0cmFfcmVtb3ZlX2Jhc2UgPSAxIDw8ICgzMiAtIFBBR0VfU0hJRlQpOworCQlleHRyYV9yZW1vdmVfc2l6ZSA9CisJCQkobXRycl90b20yID4+IFBBR0VfU0hJRlQpIC0gZXh0cmFfcmVtb3ZlX2Jhc2U7CisJfQorCW5yX3JhbmdlID0geDg2X2dldF9tdHJyX21lbV9yYW5nZShyYW5nZSwgMCwgZXh0cmFfcmVtb3ZlX2Jhc2UsCisJCQkJCSAgZXh0cmFfcmVtb3ZlX3NpemUpOworCXJhbmdlX3N1bXMgPSBzdW1fcmFuZ2VzKHJhbmdlLCBucl9yYW5nZSk7CisJcHJpbnRrKEtFUk5fSU5GTyAidG90YWwgUkFNIGNvdmVycmVkOiAlbGRNXG4iLAorCSAgICAgICByYW5nZV9zdW1zID4+ICgyMCAtIFBBR0VfU0hJRlQpKTsKKworCWlmIChtdHJyX2NodW5rX3NpemUgJiYgbXRycl9ncmFuX3NpemUpIHsKKwkJaW50IG51bV9yZWc7CisKKwkJZGVidWdfcHJpbnQgPSAxOworCQkvKiBjb252ZXJ0IHJhbmdlcyB0byB2YXIgcmFuZ2VzIHN0YXRlICovCisJCW51bV9yZWcgPSB4ODZfc2V0dXBfdmFyX210cnJzKHJhbmdlLCBucl9yYW5nZSwgbXRycl9jaHVua19zaXplLAorCQkJCQkgICAgICBtdHJyX2dyYW5fc2l6ZSk7CisKKwkJLyogd2UgZ290IG5ldyBzZXR0aW5nIGluIHJhbmdlX3N0YXRlLCBjaGVjayBpdCAqLworCQltZW1zZXQocmFuZ2VfbmV3LCAwLCBzaXplb2YocmFuZ2VfbmV3KSk7CisJCW5yX3JhbmdlX25ldyA9IHg4Nl9nZXRfbXRycl9tZW1fcmFuZ2UocmFuZ2VfbmV3LCAwLAorCQkJCQkJICAgICAgZXh0cmFfcmVtb3ZlX2Jhc2UsCisJCQkJCQkgICAgICBleHRyYV9yZW1vdmVfc2l6ZSk7CisJCXJhbmdlX3N1bXNfbmV3ID0gc3VtX3JhbmdlcyhyYW5nZV9uZXcsIG5yX3JhbmdlX25ldyk7CisKKwkJaSA9IDA7CisJCXJlc3VsdFtpXS5jaHVua19zaXplayA9IG10cnJfY2h1bmtfc2l6ZSA+PiAxMDsKKwkJcmVzdWx0W2ldLmdyYW5fc2l6ZWsgPSBtdHJyX2dyYW5fc2l6ZSA+PiAxMDsKKwkJcmVzdWx0W2ldLm51bV9yZWcgPSBudW1fcmVnOworCQlpZiAocmFuZ2Vfc3VtcyA8IHJhbmdlX3N1bXNfbmV3KSB7CisJCQlyZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA9CisJCQkJKHJhbmdlX3N1bXNfbmV3IC0gcmFuZ2Vfc3VtcykgPDwgUFNISUZUOworCQkJcmVzdWx0W2ldLmJhZCA9IDE7CisJCX0gZWxzZQorCQkJcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWsgPQorCQkJCShyYW5nZV9zdW1zIC0gcmFuZ2Vfc3Vtc19uZXcpIDw8IFBTSElGVDsKKworCQlwcmludGsoS0VSTl9JTkZPICIlc2dyYW5fc2l6ZTogJWxkTSBcdGNodW5rX3NpemU6ICVsZE0gXHQiLAorCQkJIHJlc3VsdFtpXS5iYWQ/IipCQUQqIjoiICIsIHJlc3VsdFtpXS5ncmFuX3NpemVrID4+IDEwLAorCQkJIHJlc3VsdFtpXS5jaHVua19zaXplayA+PiAxMCk7CisJCXByaW50ayhLRVJOX0NPTlQgIm51bV9yZWc6ICVkICBcdGxvc2UgY292ZXIgUkFNOiAlcyVsZE0gXG4iLAorCQkJIHJlc3VsdFtpXS5udW1fcmVnLCByZXN1bHRbaV0uYmFkPyItIjoiIiwKKwkJCSByZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA+PiAxMCk7CisJCWlmICghcmVzdWx0W2ldLmJhZCkgeworCQkJc2V0X3Zhcl9tdHJyX2FsbChhZGRyZXNzX2JpdHMpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJcHJpbnRrKEtFUk5fSU5GTyAiaW52YWxpZCBtdHJyX2dyYW5fc2l6ZSBvciBtdHJyX2NodW5rX3NpemUsICIKKwkJICAgICAgICJ3aWxsIGZpbmQgb3B0aW1hbCBvbmVcbiIpOworCQlkZWJ1Z19wcmludCA9IDA7CisJCW1lbXNldChyZXN1bHQsIDAsIHNpemVvZihyZXN1bHRbMF0pKTsKKwl9CisKKwlpID0gMDsKKwltZW1zZXQobWluX2xvc3NfcGZuLCAweGZmLCBzaXplb2YobWluX2xvc3NfcGZuKSk7CisJbWVtc2V0KHJlc3VsdCwgMCwgc2l6ZW9mKHJlc3VsdCkpOworCWZvciAoZ3Jhbl9zaXplID0gKDFVTEw8PDIwKTsgZ3Jhbl9zaXplIDwgKDFVTEw8PDMyKTsgZ3Jhbl9zaXplIDw8PSAxKSB7CisJCWZvciAoY2h1bmtfc2l6ZSA9IGdyYW5fc2l6ZTsgY2h1bmtfc2l6ZSA8ICgxVUxMPDwzMyk7CisJCSAgICAgY2h1bmtfc2l6ZSA8PD0gMSkgeworCQkJaW50IG51bV9yZWc7CisKKwkJCWlmIChkZWJ1Z19wcmludCkKKwkJCQlwcmludGsoS0VSTl9JTkZPCisJCQkgICAgICAgIlxuZ3Jhbl9zaXplOiAlbGxkTSAgIGNodW5rX3NpemVfc2l6ZTogJWxsZE1cbiIsCisJCQkJICAgICAgIGdyYW5fc2l6ZSA+PiAyMCwgY2h1bmtfc2l6ZSA+PiAyMCk7CisJCQlpZiAoaSA+PSBOVU1fUkVTVUxUKQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBjb252ZXJ0IHJhbmdlcyB0byB2YXIgcmFuZ2VzIHN0YXRlICovCisJCQludW1fcmVnID0geDg2X3NldHVwX3Zhcl9tdHJycyhyYW5nZSwgbnJfcmFuZ2UsCisJCQkJCQkJIGNodW5rX3NpemUsIGdyYW5fc2l6ZSk7CisKKwkJCS8qIHdlIGdvdCBuZXcgc2V0dGluZyBpbiByYW5nZV9zdGF0ZSwgY2hlY2sgaXQgKi8KKwkJCW1lbXNldChyYW5nZV9uZXcsIDAsIHNpemVvZihyYW5nZV9uZXcpKTsKKwkJCW5yX3JhbmdlX25ldyA9IHg4Nl9nZXRfbXRycl9tZW1fcmFuZ2UocmFuZ2VfbmV3LCAwLAorCQkJCQkgZXh0cmFfcmVtb3ZlX2Jhc2UsIGV4dHJhX3JlbW92ZV9zaXplKTsKKwkJCXJhbmdlX3N1bXNfbmV3ID0gc3VtX3JhbmdlcyhyYW5nZV9uZXcsIG5yX3JhbmdlX25ldyk7CisKKwkJCXJlc3VsdFtpXS5jaHVua19zaXplayA9IGNodW5rX3NpemUgPj4gMTA7CisJCQlyZXN1bHRbaV0uZ3Jhbl9zaXplayA9IGdyYW5fc2l6ZSA+PiAxMDsKKwkJCXJlc3VsdFtpXS5udW1fcmVnID0gbnVtX3JlZzsKKwkJCWlmIChyYW5nZV9zdW1zIDwgcmFuZ2Vfc3Vtc19uZXcpIHsKKwkJCQlyZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA9CisJCQkJCShyYW5nZV9zdW1zX25ldyAtIHJhbmdlX3N1bXMpIDw8IFBTSElGVDsKKwkJCQlyZXN1bHRbaV0uYmFkID0gMTsKKwkJCX0gZWxzZQorCQkJCXJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrID0KKwkJCQkJKHJhbmdlX3N1bXMgLSByYW5nZV9zdW1zX25ldykgPDwgUFNISUZUOworCisJCQkvKiBkb3VibGUgY2hlY2sgaXQgKi8KKwkJCWlmICghcmVzdWx0W2ldLmJhZCAmJiAhcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWspIHsKKwkJCQlpZiAobnJfcmFuZ2VfbmV3ICE9IG5yX3JhbmdlIHx8CisJCQkJCW1lbWNtcChyYW5nZSwgcmFuZ2VfbmV3LCBzaXplb2YocmFuZ2UpKSkKKwkJCQkJCXJlc3VsdFtpXS5iYWQgPSAxOworCQkJfQorCisJCQlpZiAoIXJlc3VsdFtpXS5iYWQgJiYgKHJhbmdlX3N1bXMgLSByYW5nZV9zdW1zX25ldyA8CisJCQkJCSAgICAgICBtaW5fbG9zc19wZm5bbnVtX3JlZ10pKSB7CisJCQkJbWluX2xvc3NfcGZuW251bV9yZWddID0KKwkJCQkJcmFuZ2Vfc3VtcyAtIHJhbmdlX3N1bXNfbmV3OworCQkJfQorCQkJaSsrOworCQl9CisJfQorCisJLyogcHJpbnQgb3V0IGFsbCAqLworCWZvciAoaSA9IDA7IGkgPCBOVU1fUkVTVUxUOyBpKyspIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiJXNncmFuX3NpemU6ICVsZE0gXHRjaHVua19zaXplOiAlbGRNIFx0IiwKKwkJICAgICAgIHJlc3VsdFtpXS5iYWQ/IipCQUQqICI6IiAiLCByZXN1bHRbaV0uZ3Jhbl9zaXplayA+PiAxMCwKKwkJICAgICAgIHJlc3VsdFtpXS5jaHVua19zaXplayA+PiAxMCk7CisJCXByaW50ayhLRVJOX0NPTlQgIm51bV9yZWc6ICVkIFx0bG9zZSBSQU06ICVzJWxkTVxuIiwKKwkJICAgICAgIHJlc3VsdFtpXS5udW1fcmVnLCByZXN1bHRbaV0uYmFkPyItIjoiIiwKKwkJICAgICAgIHJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrID4+IDEwKTsKKwl9CisKKwkvKiB0cnkgdG8gZmluZCB0aGUgb3B0aW1hbCBpbmRleCAqLworCWlmIChucl9tdHJyX3NwYXJlX3JlZyA+PSBudW1fdmFyX3JhbmdlcykKKwkJbnJfbXRycl9zcGFyZV9yZWcgPSBudW1fdmFyX3JhbmdlcyAtIDE7CisJbnVtX3JlZ19nb29kID0gLTE7CisJZm9yIChpID0gbnVtX3Zhcl9yYW5nZXMgLSBucl9tdHJyX3NwYXJlX3JlZzsgaSA+IDA7IGktLSkgeworCQlpZiAoIW1pbl9sb3NzX3BmbltpXSkgeworCQkJbnVtX3JlZ19nb29kID0gaTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaW5kZXhfZ29vZCA9IC0xOworCWlmIChudW1fcmVnX2dvb2QgIT0gLTEpIHsKKwkJZm9yIChpID0gMDsgaSA8IE5VTV9SRVNVTFQ7IGkrKykgeworCQkJaWYgKCFyZXN1bHRbaV0uYmFkICYmCisJCQkgICAgcmVzdWx0W2ldLm51bV9yZWcgPT0gbnVtX3JlZ19nb29kICYmCisJCQkgICAgIXJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrKSB7CisJCQkJaW5kZXhfZ29vZCA9IGk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisKKwlpZiAoaW5kZXhfZ29vZCAhPSAtMSkgeworCQlwcmludGsoS0VSTl9JTkZPICJGb3VuZCBvcHRpbWFsIHNldHRpbmcgZm9yIG10cnIgY2xlYW4gdXBcbiIpOworCQlpID0gaW5kZXhfZ29vZDsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiZ3Jhbl9zaXplOiAlbGRNIFx0Y2h1bmtfc2l6ZTogJWxkTSBcdCIsCisJCQkJcmVzdWx0W2ldLmdyYW5fc2l6ZWsgPj4gMTAsCisJCQkJcmVzdWx0W2ldLmNodW5rX3NpemVrID4+IDEwKTsKKwkJcHJpbnRrKEtFUk5fQ09OVCAibnVtX3JlZzogJWQgXHRsb3NlIFJBTTogJWxkTVxuIiwKKwkJCQlyZXN1bHRbaV0ubnVtX3JlZywKKwkJCQlyZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA+PiAxMCk7CisJCS8qIGNvbnZlcnQgcmFuZ2VzIHRvIHZhciByYW5nZXMgc3RhdGUgKi8KKwkJY2h1bmtfc2l6ZSA9IHJlc3VsdFtpXS5jaHVua19zaXplazsKKwkJY2h1bmtfc2l6ZSA8PD0gMTA7CisJCWdyYW5fc2l6ZSA9IHJlc3VsdFtpXS5ncmFuX3NpemVrOworCQlncmFuX3NpemUgPDw9IDEwOworCQlkZWJ1Z19wcmludCA9IDE7CisJCXg4Nl9zZXR1cF92YXJfbXRycnMocmFuZ2UsIG5yX3JhbmdlLCBjaHVua19zaXplLCBncmFuX3NpemUpOworCQlzZXRfdmFyX210cnJfYWxsKGFkZHJlc3NfYml0cyk7CisJCXJldHVybiAxOworCX0KKworCXByaW50ayhLRVJOX0lORk8gIm10cnJfY2xlYW51cDogY2FuIG5vdCBmaW5kIG9wdGltYWwgdmFsdWVcbiIpOworCXByaW50ayhLRVJOX0lORk8gInBsZWFzZSBzcGVjaWZ5IG10cnJfZ3Jhbl9zaXplL210cnJfY2h1bmtfc2l6ZVxuIik7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlCitzdGF0aWMgaW50IF9faW5pdCBtdHJyX2NsZWFudXAodW5zaWduZWQgYWRkcmVzc19iaXRzKQoreworCXJldHVybiAwOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBjaGFuZ2VkX2J5X210cnJfY2xlYW51cDsKKwogc3RhdGljIGludCBkaXNhYmxlX210cnJfdHJpbTsKIAogc3RhdGljIGludCBfX2luaXQgZGlzYWJsZV9tdHJyX3RyaW1fc2V0dXAoY2hhciAqc3RyKQpAQCAtNjQ4LDYgKzE0MzAsMTkgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHU2NCBfX2luaXQgcmVhbF90cmltX21lbW9yeSh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkgICB1bnNpZ25lZCBsb25nIGxpbWl0X3BmbikKK3sKKwl1NjQgdHJpbV9zdGFydCwgdHJpbV9zaXplOworCXRyaW1fc3RhcnQgPSBzdGFydF9wZm47CisJdHJpbV9zdGFydCA8PD0gUEFHRV9TSElGVDsKKwl0cmltX3NpemUgPSBsaW1pdF9wZm47CisJdHJpbV9zaXplIDw8PSBQQUdFX1NISUZUOworCXRyaW1fc2l6ZSAtPSB0cmltX3N0YXJ0OworCisJcmV0dXJuIGU4MjBfdXBkYXRlX3JhbmdlKHRyaW1fc3RhcnQsIHRyaW1fc2l6ZSwgRTgyMF9SQU0sCisJCQkJRTgyMF9SRVNFUlZFRCk7Cit9CiAvKioKICAqIG10cnJfdHJpbV91bmNhY2hlZF9tZW1vcnkgLSB0cmltIFJBTSBub3QgY292ZXJlZCBieSBNVFJScwogICogQGVuZF9wZm46IGVuZGluZyBwYWdlIGZyYW1lIG51bWJlcgpAQCAtNjYzLDggKzE0NTgsMTEgQEAKIHsKIAl1bnNpZ25lZCBsb25nIGksIGJhc2UsIHNpemUsIGhpZ2hlc3RfcGZuID0gMCwgZGVmLCBkdW1teTsKIAltdHJyX3R5cGUgdHlwZTsKLQl1NjQgdHJpbV9zdGFydCwgdHJpbV9zaXplOworCWludCBucl9yYW5nZTsKKwl1NjQgdG90YWxfdHJpbV9zaXplOwogCisJLyogZXh0cmEgb25lIGZvciBhbGwgMCAqLworCWludCBudW1bTVRSUl9OVU1fVFlQRVMgKyAxXTsKIAkvKgogCSAqIE1ha2Ugc3VyZSB3ZSBvbmx5IHRyaW0gdW5jYWNoYWJsZSBtZW1vcnkgb24gbWFjaGluZXMgdGhhdAogCSAqIHN1cHBvcnQgdGhlIEludGVsIE1UUlIgYXJjaGl0ZWN0dXJlOgpAQCAtNjc2LDE0ICsxNDc0LDIyIEBACiAJaWYgKGRlZiAhPSBNVFJSX1RZUEVfVU5DQUNIQUJMRSkKIAkJcmV0dXJuIDA7CiAKLQlpZiAoYW1kX3NwZWNpYWxfZGVmYXVsdF9tdHJyKCkpCi0JCXJldHVybiAwOworCS8qIGdldCBpdCBhbmQgc3RvcmUgaXQgYXNpZGUgKi8KKwltZW1zZXQocmFuZ2Vfc3RhdGUsIDAsIHNpemVvZihyYW5nZV9zdGF0ZSkpOworCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7CisJCW10cnJfaWYtPmdldChpLCAmYmFzZSwgJnNpemUsICZ0eXBlKTsKKwkJcmFuZ2Vfc3RhdGVbaV0uYmFzZV9wZm4gPSBiYXNlOworCQlyYW5nZV9zdGF0ZVtpXS5zaXplX3BmbiA9IHNpemU7CisJCXJhbmdlX3N0YXRlW2ldLnR5cGUgPSB0eXBlOworCX0KIAogCS8qIEZpbmQgaGlnaGVzdCBjYWNoZWQgcGZuICovCiAJZm9yIChpID0gMDsgaSA8IG51bV92YXJfcmFuZ2VzOyBpKyspIHsKLQkJbXRycl9pZi0+Z2V0KGksICZiYXNlLCAmc2l6ZSwgJnR5cGUpOworCQl0eXBlID0gcmFuZ2Vfc3RhdGVbaV0udHlwZTsKIAkJaWYgKHR5cGUgIT0gTVRSUl9UWVBFX1dSQkFDSykKIAkJCWNvbnRpbnVlOworCQliYXNlID0gcmFuZ2Vfc3RhdGVbaV0uYmFzZV9wZm47CisJCXNpemUgPSByYW5nZV9zdGF0ZVtpXS5zaXplX3BmbjsKIAkJaWYgKGhpZ2hlc3RfcGZuIDwgYmFzZSArIHNpemUpCiAJCQloaWdoZXN0X3BmbiA9IGJhc2UgKyBzaXplOwogCX0KQEAgLTY5OCwyMiArMTUwNCw2NSBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoaGlnaGVzdF9wZm4gPCBlbmRfcGZuKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IEJJT1MgYnVnOiBDUFUgTVRSUnMgZG9uJ3QgY292ZXIiCi0JCQkiIGFsbCBvZiBtZW1vcnksIGxvc2luZyAlbHVNQiBvZiBSQU0uXG4iLAotCQkJKGVuZF9wZm4gLSBoaWdoZXN0X3BmbikgPj4gKDIwIC0gUEFHRV9TSElGVCkpOworCS8qIGNoZWNrIGVudHJpZXMgbnVtYmVyICovCisJbWVtc2V0KG51bSwgMCwgc2l6ZW9mKG51bSkpOworCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7CisJCXR5cGUgPSByYW5nZV9zdGF0ZVtpXS50eXBlOworCQlpZiAodHlwZSA+PSBNVFJSX05VTV9UWVBFUykKKwkJCWNvbnRpbnVlOworCQlzaXplID0gcmFuZ2Vfc3RhdGVbaV0uc2l6ZV9wZm47CisJCWlmICghc2l6ZSkKKwkJCXR5cGUgPSBNVFJSX05VTV9UWVBFUzsKKwkJbnVtW3R5cGVdKys7CisJfQogCi0JCVdBUk5fT04oMSk7CisJLyogbm8gZW50cnkgZm9yIFdCPyAqLworCWlmICghbnVtW01UUlJfVFlQRV9XUkJBQ0tdKQorCQlyZXR1cm4gMDsKKworCS8qIGNoZWNrIGlmIHdlIG9ubHkgaGFkIFdCIGFuZCBVQyAqLworCWlmIChudW1bTVRSUl9UWVBFX1dSQkFDS10gKyBudW1bTVRSUl9UWVBFX1VOQ0FDSEFCTEVdICE9CisJCW51bV92YXJfcmFuZ2VzIC0gbnVtW01UUlJfTlVNX1RZUEVTXSkKKwkJcmV0dXJuIDA7CisKKwltZW1zZXQocmFuZ2UsIDAsIHNpemVvZihyYW5nZSkpOworCW5yX3JhbmdlID0gMDsKKwlpZiAobXRycl90b20yKSB7CisJCXJhbmdlW25yX3JhbmdlXS5zdGFydCA9ICgxVUxMPDwoMzIgLSBQQUdFX1NISUZUKSk7CisJCXJhbmdlW25yX3JhbmdlXS5lbmQgPSAobXRycl90b20yID4+IFBBR0VfU0hJRlQpIC0gMTsKKwkJaWYgKGhpZ2hlc3RfcGZuIDwgcmFuZ2VbbnJfcmFuZ2VdLmVuZCArIDEpCisJCQloaWdoZXN0X3BmbiA9IHJhbmdlW25yX3JhbmdlXS5lbmQgKyAxOworCQlucl9yYW5nZSsrOworCX0KKwlucl9yYW5nZSA9IHg4Nl9nZXRfbXRycl9tZW1fcmFuZ2UocmFuZ2UsIG5yX3JhbmdlLCAwLCAwKTsKKworCXRvdGFsX3RyaW1fc2l6ZSA9IDA7CisJLyogY2hlY2sgdGhlIGhlYWQgKi8KKwlpZiAocmFuZ2VbMF0uc3RhcnQpCisJCXRvdGFsX3RyaW1fc2l6ZSArPSByZWFsX3RyaW1fbWVtb3J5KDAsIHJhbmdlWzBdLnN0YXJ0KTsKKwkvKiBjaGVjayB0aGUgaG9sZXMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2UgLSAxOyBpKyspIHsKKwkJaWYgKHJhbmdlW2ldLmVuZCArIDEgPCByYW5nZVtpKzFdLnN0YXJ0KQorCQkJdG90YWxfdHJpbV9zaXplICs9IHJlYWxfdHJpbV9tZW1vcnkocmFuZ2VbaV0uZW5kICsgMSwKKwkJCQkJCQkgICAgcmFuZ2VbaSsxXS5zdGFydCk7CisJfQorCS8qIGNoZWNrIHRoZSB0b3AgKi8KKwlpID0gbnJfcmFuZ2UgLSAxOworCWlmIChyYW5nZVtpXS5lbmQgKyAxIDwgZW5kX3BmbikKKwkJdG90YWxfdHJpbV9zaXplICs9IHJlYWxfdHJpbV9tZW1vcnkocmFuZ2VbaV0uZW5kICsgMSwKKwkJCQkJCQkgZW5kX3Bmbik7CisKKwlpZiAodG90YWxfdHJpbV9zaXplKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IEJJT1MgYnVnOiBDUFUgTVRSUnMgZG9uJ3QgY292ZXIiCisJCQkiIGFsbCBvZiBtZW1vcnksIGxvc2luZyAlbGx1TUIgb2YgUkFNLlxuIiwKKwkJCXRvdGFsX3RyaW1fc2l6ZSA+PiAyMCk7CisKKwkJaWYgKCFjaGFuZ2VkX2J5X210cnJfY2xlYW51cCkKKwkJCVdBUk5fT04oMSk7CiAKIAkJcHJpbnRrKEtFUk5fSU5GTyAidXBkYXRlIGU4MjAgZm9yIG10cnJcbiIpOwotCQl0cmltX3N0YXJ0ID0gaGlnaGVzdF9wZm47Ci0JCXRyaW1fc3RhcnQgPDw9IFBBR0VfU0hJRlQ7Ci0JCXRyaW1fc2l6ZSA9IGVuZF9wZm47Ci0JCXRyaW1fc2l6ZSA8PD0gUEFHRV9TSElGVDsKLQkJdHJpbV9zaXplIC09IHRyaW1fc3RhcnQ7Ci0JCXVwZGF0ZV9tZW1vcnlfcmFuZ2UodHJpbV9zdGFydCwgdHJpbV9zaXplLCBFODIwX1JBTSwKLQkJCQkJRTgyMF9SRVNFUlZFRCk7CiAJCXVwZGF0ZV9lODIwKCk7CisKIAkJcmV0dXJuIDE7CiAJfQogCkBAIC03MjksMTggKzE1NzgsMjEgQEAKICAqLwogdm9pZCBfX2luaXQgbXRycl9icF9pbml0KHZvaWQpCiB7CisJdTMyIHBoeXNfYWRkcjsKIAlpbml0X2lmcygpOwogCisJcGh5c19hZGRyID0gMzI7CisKIAlpZiAoY3B1X2hhc19tdHJyKSB7CiAJCW10cnJfaWYgPSAmZ2VuZXJpY19tdHJyX29wczsKIAkJc2l6ZV9vcl9tYXNrID0gMHhmZjAwMDAwMDsJLyogMzYgYml0cyAqLwogCQlzaXplX2FuZF9tYXNrID0gMHgwMGYwMDAwMDsKKwkJcGh5c19hZGRyID0gMzY7CiAKIAkJLyogVGhpcyBpcyBhbiBBTUQgc3BlY2lmaWMgTVNSLCBidXQgd2UgYXNzdW1lKGhvcGU/KSB0aGF0CiAJCSAgIEludGVsIHdpbGwgaW1wbGVtZW50IGl0IHRvIHdoZW4gdGhleSBleHRlbmQgdGhlIGFkZHJlc3MKIAkJICAgYnVzIG9mIHRoZSBYZW9uLiAqLwogCQlpZiAoY3B1aWRfZWF4KDB4ODAwMDAwMDApID49IDB4ODAwMDAwMDgpIHsKLQkJCXUzMiBwaHlzX2FkZHI7CiAJCQlwaHlzX2FkZHIgPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCkgJiAweGZmOwogCQkJLyogQ1BVSUQgd29ya2Fyb3VuZCBmb3IgSW50ZWwgMEYzMy8wRjM0IENQVSAqLwogCQkJaWYgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMICYmCkBAIC03NTgsNiArMTYxMCw3IEBACiAJCQkgICBkb24ndCBzdXBwb3J0IFBBRSAqLwogCQkJc2l6ZV9vcl9tYXNrID0gMHhmZmYwMDAwMDsJLyogMzIgYml0cyAqLwogCQkJc2l6ZV9hbmRfbWFzayA9IDA7CisJCQlwaHlzX2FkZHIgPSAzMjsKIAkJfQogCX0gZWxzZSB7CiAJCXN3aXRjaCAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yKSB7CkBAIC03OTEsOCArMTY0NCwxNSBAQAogCWlmIChtdHJyX2lmKSB7CiAJCXNldF9udW1fdmFyX3JhbmdlcygpOwogCQlpbml0X3RhYmxlKCk7Ci0JCWlmICh1c2VfaW50ZWwoKSkKKwkJaWYgKHVzZV9pbnRlbCgpKSB7CiAJCQlnZXRfbXRycl9zdGF0ZSgpOworCisJCQlpZiAobXRycl9jbGVhbnVwKHBoeXNfYWRkcikpIHsKKwkJCQljaGFuZ2VkX2J5X210cnJfY2xlYW51cCA9IDE7CisJCQkJbXRycl9pZi0+c2V0X2FsbCgpOworCQkJfQorCisJCX0KIAl9CiB9CiAKQEAgLTgyMiwxNiArMTY4MiwxNyBAQAogICovCiB2b2lkIG10cnJfc2F2ZV9zdGF0ZSh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSgwLCBtdHJyX3NhdmVfZml4ZWRfcmFuZ2VzLCBOVUxMLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoMCwgbXRycl9zYXZlX2ZpeGVkX3JhbmdlcywgTlVMTCwgMSk7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IG10cnJfaW5pdF9maW5pYWxpemUodm9pZCkKIHsKIAlpZiAoIW10cnJfaWYpCiAJCXJldHVybiAwOwotCWlmICh1c2VfaW50ZWwoKSkKLQkJbXRycl9zdGF0ZV93YXJuKCk7Ci0JZWxzZSB7CisJaWYgKHVzZV9pbnRlbCgpKSB7CisJCWlmICghY2hhbmdlZF9ieV9tdHJyX2NsZWFudXApCisJCQltdHJyX3N0YXRlX3dhcm4oKTsKKwl9IGVsc2UgewogCQkvKiBUaGUgQ1BVcyBoYXZlbid0IE1UUlIgYW5kIHNlZW0gdG8gbm90IHN1cHBvcnQgU01QLiBUaGV5IGhhdmUKIAkJICogc3BlY2lmaWMgZHJpdmVycywgd2UgdXNlIGEgdHJpY2t5IG1ldGhvZCB0byBzdXBwb3J0CiAJCSAqIHN1c3BlbmQvcmVzdW1lIGZvciB0aGVtLgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL210cnIuaCBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tdHJyLmgKaW5kZXggMmNjNzdlYi4uMmRjNGVjNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL210cnIuaAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbXRyci5oCkBAIC04MSw2ICs4MSw4IEBACiB2b2lkIHNldF9tdHJyX2NhY2hlX2Rpc2FibGUoc3RydWN0IHNldF9tdHJyX2NvbnRleHQgKmN0eHQpOwogdm9pZCBzZXRfbXRycl9wcmVwYXJlX3NhdmUoc3RydWN0IHNldF9tdHJyX2NvbnRleHQgKmN0eHQpOwogCit2b2lkIGZpbGxfbXRycl92YXJfcmFuZ2UodW5zaWduZWQgaW50IGluZGV4LAorCQl1MzIgYmFzZV9sbywgdTMyIGJhc2VfaGksIHUzMiBtYXNrX2xvLCB1MzIgbWFza19oaSk7CiB2b2lkIGdldF9tdHJyX3N0YXRlKHZvaWQpOwogCiBleHRlcm4gdm9pZCBzZXRfbXRycl9vcHMoc3RydWN0IG10cnJfb3BzICogb3BzKTsKQEAgLTkyLDYgKzk0LDcgQEAKICNkZWZpbmUgdXNlX2ludGVsKCkJKG10cnJfaWYgJiYgbXRycl9pZi0+dXNlX2ludGVsX2lmID09IDEpCiAKIGV4dGVybiB1bnNpZ25lZCBpbnQgbnVtX3Zhcl9yYW5nZXM7CitleHRlcm4gdTY0IG10cnJfdG9tMjsKIAogdm9pZCBtdHJyX3N0YXRlX3dhcm4odm9pZCk7CiBjb25zdCBjaGFyICptdHJyX2F0dHJpYl90b19zdHIoaW50IHgpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9wZXJmY3RyLXdhdGNoZG9nLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZjdHItd2F0Y2hkb2cuYwppbmRleCBmOWFlOTNhLi42ZDRiZGMwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZjdHItd2F0Y2hkb2cuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZjdHItd2F0Y2hkb2cuYwpAQCAtMSwxMSArMSwxNSBAQAotLyogbG9jYWwgYXBpYyBiYXNlZCBOTUkgd2F0Y2hkb2cgZm9yIHZhcmlvdXMgQ1BVcy4KLSAgIFRoaXMgZmlsZSBhbHNvIGhhbmRsZXMgcmVzZXJ2YXRpb24gb2YgcGVyZm9ybWFuY2UgY291bnRlcnMgZm9yIGNvb3JkaW5hdGlvbgotICAgd2l0aCBvdGhlciB1c2VycyAobGlrZSBvcHJvZmlsZSkuCi0KLSAgIE5vdGUgdGhhdCB0aGVzZSBldmVudHMgbm9ybWFsbHkgZG9uJ3QgdGljayB3aGVuIHRoZSBDUFUgaWRsZXMuIFRoaXMgbWVhbnMKLSAgIHRoZSBmcmVxdWVuY3kgdmFyaWVzIHdpdGggQ1BVIGxvYWQuCi0KLSAgIE9yaWdpbmFsIGNvZGUgZm9yIEs3L1A2IHdyaXR0ZW4gYnkgS2VpdGggT3dlbnMgKi8KKy8qCisgKiBsb2NhbCBhcGljIGJhc2VkIE5NSSB3YXRjaGRvZyBmb3IgdmFyaW91cyBDUFVzLgorICoKKyAqIFRoaXMgZmlsZSBhbHNvIGhhbmRsZXMgcmVzZXJ2YXRpb24gb2YgcGVyZm9ybWFuY2UgY291bnRlcnMgZm9yIGNvb3JkaW5hdGlvbgorICogd2l0aCBvdGhlciB1c2VycyAobGlrZSBvcHJvZmlsZSkuCisgKgorICogTm90ZSB0aGF0IHRoZXNlIGV2ZW50cyBub3JtYWxseSBkb24ndCB0aWNrIHdoZW4gdGhlIENQVSBpZGxlcy4gVGhpcyBtZWFucworICogdGhlIGZyZXF1ZW5jeSB2YXJpZXMgd2l0aCBDUFUgbG9hZC4KKyAqCisgKiBPcmlnaW5hbCBjb2RlIGZvciBLNy9QNiB3cml0dGVuIGJ5IEtlaXRoIE93ZW5zCisgKgorICovCiAKICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTM2LDEyICs0MCwxNiBAQAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHdkX29wcyAqd2Rfb3BzOwogCi0vKiB0aGlzIG51bWJlciBpcyBjYWxjdWxhdGVkIGZyb20gSW50ZWwncyBNU1JfUDRfQ1JVX0VTQ1I1IHJlZ2lzdGVyIGFuZCBpdCdzCi0gKiBvZmZzZXQgZnJvbSBNU1JfUDRfQlNVX0VTQ1IwLiAgSXQgd2lsbCBiZSB0aGUgbWF4IGZvciBhbGwgcGxhdGZvcm1zIChmb3Igbm93KQorLyoKKyAqIHRoaXMgbnVtYmVyIGlzIGNhbGN1bGF0ZWQgZnJvbSBJbnRlbCdzIE1TUl9QNF9DUlVfRVNDUjUgcmVnaXN0ZXIgYW5kIGl0J3MKKyAqIG9mZnNldCBmcm9tIE1TUl9QNF9CU1VfRVNDUjAuCisgKgorICogSXQgd2lsbCBiZSB0aGUgbWF4IGZvciBhbGwgcGxhdGZvcm1zIChmb3Igbm93KQogICovCiAjZGVmaW5lIE5NSV9NQVhfQ09VTlRFUl9CSVRTIDY2CiAKLS8qIHBlcmZjdHJfbm1pX293bmVyIHRyYWNrcyB0aGUgb3duZXJzaGlwIG9mIHRoZSBwZXJmY3RyIHJlZ2lzdGVyczoKKy8qCisgKiBwZXJmY3RyX25taV9vd25lciB0cmFja3MgdGhlIG93bmVyc2hpcCBvZiB0aGUgcGVyZmN0ciByZWdpc3RlcnM6CiAgKiBldnRzZWxfbm1pX293bmVyIHRyYWNrcyB0aGUgb3duZXJzaGlwIG9mIHRoZSBldmVudCBzZWxlY3Rpb24KICAqIC0gZGlmZmVyZW50IHBlcmZvcm1hbmNlIGNvdW50ZXJzLyBldmVudCBzZWxlY3Rpb24gbWF5IGJlIHJlc2VydmVkIGZvcgogICogICBkaWZmZXJlbnQgc3Vic3lzdGVtcyB0aGlzIHJlc2VydmF0aW9uIHN5c3RlbSBqdXN0IHRyaWVzIHRvIGNvb3JkaW5hdGUKQEAgLTczLDggKzgxLDEwIEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qIGNvbnZlcnRzIGFuIG1zciB0byBhbiBhcHByb3ByaWF0ZSByZXNlcnZhdGlvbiBiaXQgKi8KLS8qIHJldHVybnMgdGhlIGJpdCBvZmZzZXQgb2YgdGhlIGV2ZW50IHNlbGVjdGlvbiByZWdpc3RlciAqLworLyoKKyAqIGNvbnZlcnRzIGFuIG1zciB0byBhbiBhcHByb3ByaWF0ZSByZXNlcnZhdGlvbiBiaXQKKyAqIHJldHVybnMgdGhlIGJpdCBvZmZzZXQgb2YgdGhlIGV2ZW50IHNlbGVjdGlvbiByZWdpc3RlcgorICovCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBubWlfZXZudHNlbF9tc3JfdG9fYml0KHVuc2lnbmVkIGludCBtc3IpCiB7CiAJLyogcmV0dXJucyB0aGUgYml0IG9mZnNldCBvZiB0aGUgZXZlbnQgc2VsZWN0aW9uIHJlZ2lzdGVyICovCkBAIC0xMTQsNiArMTI0LDcgQEAKIAogCXJldHVybiAoIXRlc3RfYml0KGNvdW50ZXIsIHBlcmZjdHJfbm1pX293bmVyKSk7CiB9CitFWFBPUlRfU1lNQk9MKGF2YWlsX3RvX3Jlc3J2X3BlcmZjdHJfbm1pX2JpdCk7CiAKIGludCByZXNlcnZlX3BlcmZjdHJfbm1pKHVuc2lnbmVkIGludCBtc3IpCiB7CkBAIC0xMjgsNiArMTM5LDcgQEAKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKHJlc2VydmVfcGVyZmN0cl9ubWkpOwogCiB2b2lkIHJlbGVhc2VfcGVyZmN0cl9ubWkodW5zaWduZWQgaW50IG1zcikKIHsKQEAgLTE0MCw2ICsxNTIsNyBAQAogCiAJY2xlYXJfYml0KGNvdW50ZXIsIHBlcmZjdHJfbm1pX293bmVyKTsKIH0KK0VYUE9SVF9TWU1CT0wocmVsZWFzZV9wZXJmY3RyX25taSk7CiAKIGludCByZXNlcnZlX2V2bnRzZWxfbm1pKHVuc2lnbmVkIGludCBtc3IpCiB7CkBAIC0xNTQsNiArMTY3LDcgQEAKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKHJlc2VydmVfZXZudHNlbF9ubWkpOwogCiB2b2lkIHJlbGVhc2VfZXZudHNlbF9ubWkodW5zaWduZWQgaW50IG1zcikKIHsKQEAgLTE2NiwxMSArMTgwLDYgQEAKIAogCWNsZWFyX2JpdChjb3VudGVyLCBldm50c2VsX25taV9vd25lcik7CiB9Ci0KLUVYUE9SVF9TWU1CT0woYXZhaWxfdG9fcmVzcnZfcGVyZmN0cl9ubWlfYml0KTsKLUVYUE9SVF9TWU1CT0wocmVzZXJ2ZV9wZXJmY3RyX25taSk7Ci1FWFBPUlRfU1lNQk9MKHJlbGVhc2VfcGVyZmN0cl9ubWkpOwotRVhQT1JUX1NZTUJPTChyZXNlcnZlX2V2bnRzZWxfbm1pKTsKIEVYUE9SVF9TWU1CT0wocmVsZWFzZV9ldm50c2VsX25taSk7CiAKIHZvaWQgZGlzYWJsZV9sYXBpY19ubWlfd2F0Y2hkb2codm9pZCkKQEAgLTE4MCw4ICsxODksMTAgQEAKIAlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDw9IDApCiAJCXJldHVybjsKIAotCW9uX2VhY2hfY3B1KHN0b3BfYXBpY19ubWlfd2F0Y2hkb2csIE5VTEwsIDAsIDEpOwotCXdkX29wcy0+dW5yZXNlcnZlKCk7CisJb25fZWFjaF9jcHUoc3RvcF9hcGljX25taV93YXRjaGRvZywgTlVMTCwgMSk7CisKKwlpZiAod2Rfb3BzKQorCQl3ZF9vcHMtPnVucmVzZXJ2ZSgpOwogCiAJQlVHX09OKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSAhPSAwKTsKIH0KQEAgLTIwMiw3ICsyMTMsNyBAQAogCQlyZXR1cm47CiAJfQogCi0Jb25fZWFjaF9jcHUoc2V0dXBfYXBpY19ubWlfd2F0Y2hkb2csIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KHNldHVwX2FwaWNfbm1pX3dhdGNoZG9nLCBOVUxMLCAxKTsKIAl0b3VjaF9ubWlfd2F0Y2hkb2coKTsKIH0KIApAQCAtMjMyLDggKzI0Myw4IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAotc3RhdGljIHZvaWQKLXdyaXRlX3dhdGNoZG9nX2NvdW50ZXIodW5zaWduZWQgaW50IHBlcmZjdHJfbXNyLCBjb25zdCBjaGFyICpkZXNjciwgdW5zaWduZWQgbm1pX2h6KQorc3RhdGljIHZvaWQgd3JpdGVfd2F0Y2hkb2dfY291bnRlcih1bnNpZ25lZCBpbnQgcGVyZmN0cl9tc3IsCisJCQkJY29uc3QgY2hhciAqZGVzY3IsIHVuc2lnbmVkIG5taV9oeikKIHsKIAl1NjQgY291bnQgPSAodTY0KWNwdV9raHogKiAxMDAwOwogCkBAIC0yNDQsNyArMjU1LDcgQEAKIH0KIAogc3RhdGljIHZvaWQgd3JpdGVfd2F0Y2hkb2dfY291bnRlcjMyKHVuc2lnbmVkIGludCBwZXJmY3RyX21zciwKLQkJY29uc3QgY2hhciAqZGVzY3IsIHVuc2lnbmVkIG5taV9oeikKKwkJCQljb25zdCBjaGFyICpkZXNjciwgdW5zaWduZWQgbm1pX2h6KQogewogCXU2NCBjb3VudCA9ICh1NjQpY3B1X2toeiAqIDEwMDA7CiAKQEAgLTI1NCw5ICsyNjUsMTAgQEAKIAl3cm1zcihwZXJmY3RyX21zciwgKHUzMikoLWNvdW50KSwgMCk7CiB9CiAKLS8qIEFNRCBLNy9LOC9GYW1pbHkxMGgvRmFtaWx5MTFoIHN1cHBvcnQuIEFNRCBrZWVwcyB0aGlzIGludGVyZmFjZQotICAgbmljZWx5IHN0YWJsZSBzbyB0aGVyZSBpcyBub3QgbXVjaCB2YXJpZXR5ICovCi0KKy8qCisgKiBBTUQgSzcvSzgvRmFtaWx5MTBoL0ZhbWlseTExaCBzdXBwb3J0LgorICogQU1EIGtlZXBzIHRoaXMgaW50ZXJmYWNlIG5pY2VseSBzdGFibGUgc28gdGhlcmUgaXMgbm90IG11Y2ggdmFyaWV0eQorICovCiAjZGVmaW5lIEs3X0VWTlRTRUxfRU5BQkxFCSgxIDw8IDIyKQogI2RlZmluZSBLN19FVk5UU0VMX0lOVAkJKDEgPDwgMjApCiAjZGVmaW5lIEs3X0VWTlRTRUxfT1MJCSgxIDw8IDE3KQpAQCAtMjg5LDcgKzMwMSw3IEBACiAKIAl3ZC0+cGVyZmN0cl9tc3IgPSBwZXJmY3RyX21zcjsKIAl3ZC0+ZXZudHNlbF9tc3IgPSBldm50c2VsX21zcjsKLQl3ZC0+Y2Njcl9tc3IgPSAwOyAgLy91bnVzZWQKKwl3ZC0+Y2Njcl9tc3IgPSAwOyAgLyogdW51c2VkICovCiAJcmV0dXJuIDE7CiB9CiAKQEAgLTMyNSwxOCArMzM3LDE5IEBACiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2Rfb3BzIGs3X3dkX29wcyA9IHsKLQkucmVzZXJ2ZSA9IHNpbmdsZV9tc3JfcmVzZXJ2ZSwKLQkudW5yZXNlcnZlID0gc2luZ2xlX21zcl91bnJlc2VydmUsCi0JLnNldHVwID0gc2V0dXBfazdfd2F0Y2hkb2csCi0JLnJlYXJtID0gc2luZ2xlX21zcl9yZWFybSwKLQkuc3RvcCA9IHNpbmdsZV9tc3Jfc3RvcF93YXRjaGRvZywKLQkucGVyZmN0ciA9IE1TUl9LN19QRVJGQ1RSMCwKLQkuZXZudHNlbCA9IE1TUl9LN19FVk5UU0VMMCwKLQkuY2hlY2tiaXQgPSAxVUxMPDw0NywKKwkucmVzZXJ2ZQk9IHNpbmdsZV9tc3JfcmVzZXJ2ZSwKKwkudW5yZXNlcnZlCT0gc2luZ2xlX21zcl91bnJlc2VydmUsCisJLnNldHVwCQk9IHNldHVwX2s3X3dhdGNoZG9nLAorCS5yZWFybQkJPSBzaW5nbGVfbXNyX3JlYXJtLAorCS5zdG9wCQk9IHNpbmdsZV9tc3Jfc3RvcF93YXRjaGRvZywKKwkucGVyZmN0cgk9IE1TUl9LN19QRVJGQ1RSMCwKKwkuZXZudHNlbAk9IE1TUl9LN19FVk5UU0VMMCwKKwkuY2hlY2tiaXQJPSAxVUxMIDw8IDQ3LAogfTsKIAotLyogSW50ZWwgTW9kZWwgNiAoUFBybyssUDIsUDMsUC1NLENvcmUxKSAqLwotCisvKgorICogSW50ZWwgTW9kZWwgNiAoUFBybyssUDIsUDMsUC1NLENvcmUxKQorICovCiAjZGVmaW5lIFA2X0VWTlRTRUwwX0VOQUJMRQkoMSA8PCAyMikKICNkZWZpbmUgUDZfRVZOVFNFTF9JTlQJCSgxIDw8IDIwKQogI2RlZmluZSBQNl9FVk5UU0VMX09TCQkoMSA8PCAxNykKQEAgLTM3Miw1MiArMzg1LDU4IEBACiAKIAl3ZC0+cGVyZmN0cl9tc3IgPSBwZXJmY3RyX21zcjsKIAl3ZC0+ZXZudHNlbF9tc3IgPSBldm50c2VsX21zcjsKLQl3ZC0+Y2Njcl9tc3IgPSAwOyAgLy91bnVzZWQKKwl3ZC0+Y2Njcl9tc3IgPSAwOyAgLyogdW51c2VkICovCiAJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyB2b2lkIHA2X3JlYXJtKHN0cnVjdCBubWlfd2F0Y2hkb2dfY3RsYmxrICp3ZCwgdW5zaWduZWQgbm1pX2h6KQogewotCS8qIFA2IGJhc2VkIFBlbnRpdW0gTSBuZWVkIHRvIHJlLXVubWFzaworCS8qCisJICogUDYgYmFzZWQgUGVudGl1bSBNIG5lZWQgdG8gcmUtdW5tYXNrCiAJICogdGhlIGFwaWMgdmVjdG9yIGJ1dCBpdCBkb2Vzbid0IGh1cnQKIAkgKiBvdGhlciBQNiB2YXJpYW50LgotCSAqIEFyY2hQZXJmb20vQ29yZSBEdW8gYWxzbyBuZWVkcyB0aGlzICovCisJICogQXJjaFBlcmZvbS9Db3JlIER1byBhbHNvIG5lZWRzIHRoaXMKKwkgKi8KIAlhcGljX3dyaXRlKEFQSUNfTFZUUEMsIEFQSUNfRE1fTk1JKTsKKwogCS8qIFA2L0FSQ0hfUEVSRk1PTiBoYXMgMzIgYml0IGNvdW50ZXIgd3JpdGUgKi8KIAl3cml0ZV93YXRjaGRvZ19jb3VudGVyMzIod2QtPnBlcmZjdHJfbXNyLCBOVUxMLG5taV9oeik7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2Rfb3BzIHA2X3dkX29wcyA9IHsKLQkucmVzZXJ2ZSA9IHNpbmdsZV9tc3JfcmVzZXJ2ZSwKLQkudW5yZXNlcnZlID0gc2luZ2xlX21zcl91bnJlc2VydmUsCi0JLnNldHVwID0gc2V0dXBfcDZfd2F0Y2hkb2csCi0JLnJlYXJtID0gcDZfcmVhcm0sCi0JLnN0b3AgPSBzaW5nbGVfbXNyX3N0b3Bfd2F0Y2hkb2csCi0JLnBlcmZjdHIgPSBNU1JfUDZfUEVSRkNUUjAsCi0JLmV2bnRzZWwgPSBNU1JfUDZfRVZOVFNFTDAsCi0JLmNoZWNrYml0ID0gMVVMTDw8MzksCisJLnJlc2VydmUJPSBzaW5nbGVfbXNyX3Jlc2VydmUsCisJLnVucmVzZXJ2ZQk9IHNpbmdsZV9tc3JfdW5yZXNlcnZlLAorCS5zZXR1cAkJPSBzZXR1cF9wNl93YXRjaGRvZywKKwkucmVhcm0JCT0gcDZfcmVhcm0sCisJLnN0b3AJCT0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAorCS5wZXJmY3RyCT0gTVNSX1A2X1BFUkZDVFIwLAorCS5ldm50c2VsCT0gTVNSX1A2X0VWTlRTRUwwLAorCS5jaGVja2JpdAk9IDFVTEwgPDwgMzksCiB9OwogCi0vKiBJbnRlbCBQNCBwZXJmb3JtYW5jZSBjb3VudGVycy4gQnkgZmFyIHRoZSBtb3N0IGNvbXBsaWNhdGVkIG9mIGFsbC4gKi8KKy8qCisgKiBJbnRlbCBQNCBwZXJmb3JtYW5jZSBjb3VudGVycy4KKyAqIEJ5IGZhciB0aGUgbW9zdCBjb21wbGljYXRlZCBvZiBhbGwuCisgKi8KKyNkZWZpbmUgTVNSX1A0X01JU0NfRU5BQkxFX1BFUkZfQVZBSUwJKDEgPDwgNykKKyNkZWZpbmUgUDRfRVNDUl9FVkVOVF9TRUxFQ1QoTikJKChOKSA8PCAyNSkKKyNkZWZpbmUgUDRfRVNDUl9PUwkJKDEgPDwgMykKKyNkZWZpbmUgUDRfRVNDUl9VU1IJCSgxIDw8IDIpCisjZGVmaW5lIFA0X0NDQ1JfT1ZGX1BNSTAJKDEgPDwgMjYpCisjZGVmaW5lIFA0X0NDQ1JfT1ZGX1BNSTEJKDEgPDwgMjcpCisjZGVmaW5lIFA0X0NDQ1JfVEhSRVNIT0xEKE4pCSgoTikgPDwgMjApCisjZGVmaW5lIFA0X0NDQ1JfQ09NUExFTUVOVAkoMSA8PCAxOSkKKyNkZWZpbmUgUDRfQ0NDUl9DT01QQVJFCQkoMSA8PCAxOCkKKyNkZWZpbmUgUDRfQ0NDUl9SRVFVSVJFRAkoMyA8PCAxNikKKyNkZWZpbmUgUDRfQ0NDUl9FU0NSX1NFTEVDVChOKQkoKE4pIDw8IDEzKQorI2RlZmluZSBQNF9DQ0NSX0VOQUJMRQkJKDEgPDwgMTIpCisjZGVmaW5lIFA0X0NDQ1JfT1ZGIAkJKDEgPDwgMzEpCiAKLSNkZWZpbmUgTVNSX1A0X01JU0NfRU5BQkxFX1BFUkZfQVZBSUwJKDE8PDcpCi0jZGVmaW5lIFA0X0VTQ1JfRVZFTlRfU0VMRUNUKE4pCSgoTik8PDI1KQotI2RlZmluZSBQNF9FU0NSX09TCQkoMTw8MykKLSNkZWZpbmUgUDRfRVNDUl9VU1IJCSgxPDwyKQotI2RlZmluZSBQNF9DQ0NSX09WRl9QTUkwCSgxPDwyNikKLSNkZWZpbmUgUDRfQ0NDUl9PVkZfUE1JMQkoMTw8MjcpCi0jZGVmaW5lIFA0X0NDQ1JfVEhSRVNIT0xEKE4pCSgoTik8PDIwKQotI2RlZmluZSBQNF9DQ0NSX0NPTVBMRU1FTlQJKDE8PDE5KQotI2RlZmluZSBQNF9DQ0NSX0NPTVBBUkUJCSgxPDwxOCkKLSNkZWZpbmUgUDRfQ0NDUl9SRVFVSVJFRAkoMzw8MTYpCi0jZGVmaW5lIFA0X0NDQ1JfRVNDUl9TRUxFQ1QoTikJKChOKTw8MTMpCi0jZGVmaW5lIFA0X0NDQ1JfRU5BQkxFCQkoMTw8MTIpCi0jZGVmaW5lIFA0X0NDQ1JfT1ZGIAkJKDE8PDMxKQotCi0vKiBTZXQgdXAgSVFfQ09VTlRFUjAgdG8gYmVoYXZlIGxpa2UgYSBjbG9jaywgYnkgaGF2aW5nIElRX0NDQ1IwIGZpbHRlcgotICAgQ1JVX0VTQ1IwICh3aXRoIGFueSBub24tbnVsbCBldmVudCBzZWxlY3RvcikgdGhyb3VnaCBhIGNvbXBsZW1lbnRlZAotICAgbWF4IHRocmVzaG9sZC4gW0lBMzItVm9sMywgU2VjdGlvbiAxNC45LjldICovCi0KKy8qCisgKiBTZXQgdXAgSVFfQ09VTlRFUjAgdG8gYmVoYXZlIGxpa2UgYSBjbG9jaywgYnkgaGF2aW5nIElRX0NDQ1IwIGZpbHRlcgorICogQ1JVX0VTQ1IwICh3aXRoIGFueSBub24tbnVsbCBldmVudCBzZWxlY3RvcikgdGhyb3VnaCBhIGNvbXBsZW1lbnRlZAorICogbWF4IHRocmVzaG9sZC4gW0lBMzItVm9sMywgU2VjdGlvbiAxNC45LjldCisgKi8KIHN0YXRpYyBpbnQgc2V0dXBfcDRfd2F0Y2hkb2codW5zaWduZWQgbm1pX2h6KQogewogCXVuc2lnbmVkIGludCBwZXJmY3RyX21zciwgZXZudHNlbF9tc3IsIGNjY3JfbXNyOwpAQCAtNDQyLDcgKzQ2MSw4IEBACiAjZW5kaWYKIAkJaHRfbnVtID0gMDsKIAotCS8qIHBlcmZvcm1hbmNlIGNvdW50ZXJzIGFyZSBzaGFyZWQgcmVzb3VyY2VzCisJLyoKKwkgKiBwZXJmb3JtYW5jZSBjb3VudGVycyBhcmUgc2hhcmVkIHJlc291cmNlcwogCSAqIGFzc2lnbiBlYWNoIGh5cGVydGhyZWFkIGl0cyBvd24gc2V0CiAJICogKHJlLXVzZSB0aGUgRVNDUjAgcmVnaXN0ZXIsIHNlZW1zIHNhZmUKIAkgKiBhbmQga2VlcHMgdGhlIGNjY3JfdmFsIHRoZSBzYW1lKQpAQCAtNTQwLDIwICs1NjAsMjEgQEAKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCB3ZF9vcHMgcDRfd2Rfb3BzID0gewotCS5yZXNlcnZlID0gcDRfcmVzZXJ2ZSwKLQkudW5yZXNlcnZlID0gcDRfdW5yZXNlcnZlLAotCS5zZXR1cCA9IHNldHVwX3A0X3dhdGNoZG9nLAotCS5yZWFybSA9IHA0X3JlYXJtLAotCS5zdG9wID0gc3RvcF9wNF93YXRjaGRvZywKKwkucmVzZXJ2ZQk9IHA0X3Jlc2VydmUsCisJLnVucmVzZXJ2ZQk9IHA0X3VucmVzZXJ2ZSwKKwkuc2V0dXAJCT0gc2V0dXBfcDRfd2F0Y2hkb2csCisJLnJlYXJtCQk9IHA0X3JlYXJtLAorCS5zdG9wCQk9IHN0b3BfcDRfd2F0Y2hkb2csCiAJLyogUkVELVBFTiB0aGlzIGlzIHdyb25nIGZvciB0aGUgb3RoZXIgc2libGluZyAqLwotCS5wZXJmY3RyID0gTVNSX1A0X0JQVV9QRVJGQ1RSMCwKLQkuZXZudHNlbCA9IE1TUl9QNF9CU1VfRVNDUjAsCi0JLmNoZWNrYml0ID0gMVVMTDw8MzksCisJLnBlcmZjdHIJPSBNU1JfUDRfQlBVX1BFUkZDVFIwLAorCS5ldm50c2VsCT0gTVNSX1A0X0JTVV9FU0NSMCwKKwkuY2hlY2tiaXQJPSAxVUxMIDw8IDM5LAogfTsKIAotLyogV2F0Y2hkb2cgdXNpbmcgdGhlIEludGVsIGFyY2hpdGVjdGVkIFBlcmZNb24uIFVzZWQgZm9yIENvcmUyIGFuZCBob3BlZnVsbHkKLSAgIGFsbCBmdXR1cmUgSW50ZWwgQ1BVcy4gKi8KLQorLyoKKyAqIFdhdGNoZG9nIHVzaW5nIHRoZSBJbnRlbCBhcmNoaXRlY3RlZCBQZXJmTW9uLgorICogVXNlZCBmb3IgQ29yZTIgYW5kIGhvcGVmdWxseSBhbGwgZnV0dXJlIEludGVsIENQVXMuCisgKi8KICNkZWZpbmUgQVJDSF9QRVJGTU9OX05NSV9FVkVOVF9TRUwJQVJDSF9QRVJGTU9OX1VOSEFMVEVEX0NPUkVfQ1lDTEVTX1NFTAogI2RlZmluZSBBUkNIX1BFUkZNT05fTk1JX0VWRU5UX1VNQVNLCUFSQ0hfUEVSRk1PTl9VTkhBTFRFRF9DT1JFX0NZQ0xFU19VTUFTSwogCkBAIC01OTksMTkgKzYyMCwxOSBAQAogCiAJd2QtPnBlcmZjdHJfbXNyID0gcGVyZmN0cl9tc3I7CiAJd2QtPmV2bnRzZWxfbXNyID0gZXZudHNlbF9tc3I7Ci0Jd2QtPmNjY3JfbXNyID0gMDsgIC8vdW51c2VkCisJd2QtPmNjY3JfbXNyID0gMDsgIC8qIHVudXNlZCAqLwogCWludGVsX2FyY2hfd2Rfb3BzLmNoZWNrYml0ID0gMVVMTCA8PCAoZWF4LnNwbGl0LmJpdF93aWR0aCAtIDEpOwogCXJldHVybiAxOwogfQogCiBzdGF0aWMgc3RydWN0IHdkX29wcyBpbnRlbF9hcmNoX3dkX29wcyBfX3JlYWRfbW9zdGx5ID0gewotCS5yZXNlcnZlID0gc2luZ2xlX21zcl9yZXNlcnZlLAotCS51bnJlc2VydmUgPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKLQkuc2V0dXAgPSBzZXR1cF9pbnRlbF9hcmNoX3dhdGNoZG9nLAotCS5yZWFybSA9IHA2X3JlYXJtLAotCS5zdG9wID0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAotCS5wZXJmY3RyID0gTVNSX0FSQ0hfUEVSRk1PTl9QRVJGQ1RSMSwKLQkuZXZudHNlbCA9IE1TUl9BUkNIX1BFUkZNT05fRVZFTlRTRUwxLAorCS5yZXNlcnZlCT0gc2luZ2xlX21zcl9yZXNlcnZlLAorCS51bnJlc2VydmUJPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKKwkuc2V0dXAJCT0gc2V0dXBfaW50ZWxfYXJjaF93YXRjaGRvZywKKwkucmVhcm0JCT0gcDZfcmVhcm0sCisJLnN0b3AJCT0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAorCS5wZXJmY3RyCT0gTVNSX0FSQ0hfUEVSRk1PTl9QRVJGQ1RSMSwKKwkuZXZudHNlbAk9IE1TUl9BUkNIX1BFUkZNT05fRVZFTlRTRUwxLAogfTsKIAogc3RhdGljIHZvaWQgcHJvYmVfbm1pX3dhdGNoZG9nKHZvaWQpCkBAIC02MjQsOCArNjQ1LDEwIEBACiAJCXdkX29wcyA9ICZrN193ZF9vcHM7CiAJCWJyZWFrOwogCWNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKLQkJLyogV29yayBhcm91bmQgQ29yZSBEdW8gKFlvbmFoKSBlcnJhdGEgQUU0OSB3aGVyZSBwZXJmY3RyMQotCQkgICBkb2Vzbid0IGhhdmUgYSB3b3JraW5nIGVuYWJsZSBiaXQuICovCisJCS8qCisJCSAqIFdvcmsgYXJvdW5kIENvcmUgRHVvIChZb25haCkgZXJyYXRhIEFFNDkgd2hlcmUgcGVyZmN0cjEKKwkJICogZG9lc24ndCBoYXZlIGEgd29ya2luZyBlbmFibGUgYml0LgorCQkgKi8KIAkJaWYgKGJvb3RfY3B1X2RhdGEueDg2ID09IDYgJiYgYm9vdF9jcHVfZGF0YS54ODZfbW9kZWwgPT0gMTQpIHsKIAkJCWludGVsX2FyY2hfd2Rfb3BzLnBlcmZjdHIgPSBNU1JfQVJDSF9QRVJGTU9OX1BFUkZDVFIwOwogCQkJaW50ZWxfYXJjaF93ZF9vcHMuZXZudHNlbCA9IE1TUl9BUkNIX1BFUkZNT05fRVZFTlRTRUwwOwpAQCAtNjM2LDcgKzY1OSw3IEBACiAJCX0KIAkJc3dpdGNoIChib290X2NwdV9kYXRhLng4NikgewogCQljYXNlIDY6Ci0JCQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfbW9kZWwgPiAweGQpCisJCQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfbW9kZWwgPiAxMykKIAkJCQlyZXR1cm47CiAKIAkJCXdkX29wcyA9ICZwNl93ZF9vcHM7CkBAIC02OTcsMTAgKzcyMCwxMSBAQAogewogCXN0cnVjdCBubWlfd2F0Y2hkb2dfY3RsYmxrICp3ZCA9ICZfX2dldF9jcHVfdmFyKG5taV93YXRjaGRvZ19jdGxibGspOwogCXU2NCBjdHI7CisKIAlyZG1zcmwod2QtPnBlcmZjdHJfbXNyLCBjdHIpOwotCWlmIChjdHIgJiB3ZF9vcHMtPmNoZWNrYml0KSB7IC8qIHBlcmZjdHIgc3RpbGwgcnVubmluZz8gKi8KKwlpZiAoY3RyICYgd2Rfb3BzLT5jaGVja2JpdCkgLyogcGVyZmN0ciBzdGlsbCBydW5uaW5nPyAqLwogCQlyZXR1cm4gMDsKLQl9CisKIAl3ZF9vcHMtPnJlYXJtKHdkLCBubWlfaHopOwogCXJldHVybiAxOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdWlkLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1aWQuYwppbmRleCBkYWZmNTJhLi4yZGU1ZmEyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1aWQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1aWQuYwpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KQEAgLTk1LDcgKzk2LDcgQEAKIAlmb3IgKDsgY291bnQ7IGNvdW50IC09IDE2KSB7CiAJCWNtZC5lYXggPSBwb3M7CiAJCWNtZC5lY3ggPSBwb3MgPj4gMzI7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGNwdWlkX3NtcF9jcHVpZCwgJmNtZCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGNwdWlkX3NtcF9jcHVpZCwgJmNtZCwgMSk7CiAJCWlmIChjb3B5X3RvX3VzZXIodG1wLCAmY21kLCAxNikpCiAJCQlyZXR1cm4gLUVGQVVMVDsKIAkJdG1wICs9IDE2OwpAQCAtMTA3LDE1ICsxMDgsMjMgQEAKIAogc3RhdGljIGludCBjcHVpZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCXVuc2lnbmVkIGludCBjcHUgPSBpbWlub3IoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk7Ci0Jc3RydWN0IGNwdWluZm9feDg2ICpjID0gJmNwdV9kYXRhKGNwdSk7CisJdW5zaWduZWQgaW50IGNwdTsKKwlzdHJ1Y3QgY3B1aW5mb194ODYgKmM7CisJaW50IHJldCA9IDA7CisJCisJbG9ja19rZXJuZWwoKTsKIAotCWlmIChjcHUgPj0gTlJfQ1BVUyB8fCAhY3B1X29ubGluZShjcHUpKQotCQlyZXR1cm4gLUVOWElPOwkvKiBObyBzdWNoIENQVSAqLworCWNwdSA9IGltaW5vcihmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKKwlpZiAoY3B1ID49IE5SX0NQVVMgfHwgIWNwdV9vbmxpbmUoY3B1KSkgeworCQlyZXQgPSAtRU5YSU87CS8qIE5vIHN1Y2ggQ1BVICovCisJCWdvdG8gb3V0OworCX0KKwljID0gJmNwdV9kYXRhKGNwdSk7CiAJaWYgKGMtPmNwdWlkX2xldmVsIDwgMCkKLQkJcmV0dXJuIC1FSU87CS8qIENQVUlEIG5vdCBzdXBwb3J0ZWQgKi8KLQotCXJldHVybiAwOworCQlyZXQgPSAtRUlPOwkvKiBDUFVJRCBub3Qgc3VwcG9ydGVkICovCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZTgyMC5jIGIvYXJjaC94ODYva2VybmVsL2U4MjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGMyOTE4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2U4MjAuYwpAQCAtMCwwICsxLDEzOTAgQEAKKy8qCisgKiBIYW5kbGUgdGhlIG1lbW9yeSBtYXAuCisgKiBUaGUgZnVuY3Rpb25zIGhlcmUgZG8gdGhlIGpvYiB1bnRpbCBib290bWVtIHRha2VzIG92ZXIuCisgKgorICogIEdldHRpbmcgc2FuaXRpemVfZTgyMF9tYXAoKSBpbiBzeW5jIHdpdGggaTM4NiB2ZXJzaW9uIGJ5IGFwcGx5aW5nIGNoYW5nZToKKyAqICAtICBQcm92aXNpb25zIGZvciBlbXB0eSBFODIwIG1lbW9yeSByZWdpb25zIChyZXBvcnRlZCBieSBjZXJ0YWluIEJJT1NlcykuCisgKiAgICAgQWxleCBBY2hlbmJhY2ggPHhlbGFAc2xpdC5kZT4sIERlY2VtYmVyIDIwMDIuCisgKiAgVmVua2F0ZXNoIFBhbGxpcGFkaSA8dmVua2F0ZXNoLnBhbGxpcGFkaUBpbnRlbC5jb20+CisgKgorICovCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9wZm4uaD4KKyNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUtbWFwLmg+CisKKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vdHJhbXBvbGluZS5oPgorCisvKgorICogVGhlIGU4MjAgbWFwIGlzIHRoZSBtYXAgdGhhdCBnZXRzIG1vZGlmaWVkIGUuZy4gd2l0aCBjb21tYW5kIGxpbmUgcGFyYW1ldGVycworICogYW5kIHRoYXQgaXMgYWxzbyByZWdpc3RlcmVkIHdpdGggbW9kaWZpY2F0aW9ucyBpbiB0aGUga2VybmVsIHJlc291cmNlIHRyZWUKKyAqIHdpdGggdGhlIGlvbWVtX3Jlc291cmNlIGFzIHBhcmVudC4KKyAqCisgKiBUaGUgZTgyMF9zYXZlZCBpcyBkaXJlY3RseSBzYXZlZCBhZnRlciB0aGUgQklPUy1wcm92aWRlZCBtZW1vcnkgbWFwIGlzCisgKiBjb3BpZWQuIEl0IGRvZXNuJ3QgZ2V0IG1vZGlmaWVkIGFmdGVyd2FyZHMuIEl0J3MgcmVnaXN0ZXJlZCBmb3IgdGhlCisgKiAvc3lzL2Zpcm13YXJlL21lbW1hcCBpbnRlcmZhY2UuCisgKgorICogVGhhdCBtZW1vcnkgbWFwIGlzIG5vdCBtb2RpZmllZCBhbmQgaXMgdXNlZCBhcyBiYXNlIGZvciBrZXhlYy4gVGhlIGtleGVjJ2QKKyAqIGtlcm5lbCBzaG91bGQgZ2V0IHRoZSBzYW1lIG1lbW9yeSBtYXAgYXMgdGhlIGZpcm13YXJlIHByb3ZpZGVzLiBUaGVuIHRoZQorICogdXNlciBjYW4gZS5nLiBib290IHRoZSBvcmlnaW5hbCBrZXJuZWwgd2l0aCBtZW09MUcgd2hpbGUgc3RpbGwgYm9vdGluZyB0aGUKKyAqIG5leHQga2VybmVsIHdpdGggZnVsbCBtZW1vcnkuCisgKi8KK3N0cnVjdCBlODIwbWFwIGU4MjA7CitzdHJ1Y3QgZTgyMG1hcCBlODIwX3NhdmVkOworCisvKiBGb3IgUENJIG9yIG90aGVyIG1lbW9yeS1tYXBwZWQgcmVzb3VyY2VzICovCit1bnNpZ25lZCBsb25nIHBjaV9tZW1fc3RhcnQgPSAweGFlZWRiYWJlOworI2lmZGVmIENPTkZJR19QQ0kKK0VYUE9SVF9TWU1CT0wocGNpX21lbV9zdGFydCk7CisjZW5kaWYKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGFueSBwYXJ0IG9mIHRoZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQKKyAqIHdpdGggdHlwZS4KKyAqLworaW50CitlODIwX2FueV9tYXBwZWQodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCB0eXBlKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisKKwkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKKwkJCWNvbnRpbnVlOworCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCisJCQljb250aW51ZTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZTgyMF9hbnlfbWFwcGVkKTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIHRoZSBlbnRpcmUgcmFuZ2UgPHN0YXJ0LGVuZD4gaXMgbWFwcGVkIHdpdGggdHlwZS4KKyAqCisgKiBOb3RlOiB0aGlzIGZ1bmN0aW9uIG9ubHkgd29ya3MgY29ycmVjdCBpZiB0aGUgZTgyMCB0YWJsZSBpcyBzb3J0ZWQgYW5kCisgKiBub3Qtb3ZlcmxhcHBpbmcsIHdoaWNoIGlzIHRoZSBjYXNlCisgKi8KK2ludCBfX2luaXQgZTgyMF9hbGxfbWFwcGVkKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgdHlwZSkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCisJCWlmICh0eXBlICYmIGVpLT50eXBlICE9IHR5cGUpCisJCQljb250aW51ZTsKKwkJLyogaXMgdGhlIHJlZ2lvbiAocGFydCkgaW4gb3ZlcmxhcCB3aXRoIHRoZSBjdXJyZW50IHJlZ2lvbiA/Ki8KKwkJaWYgKGVpLT5hZGRyID49IGVuZCB8fCBlaS0+YWRkciArIGVpLT5zaXplIDw9IHN0YXJ0KQorCQkJY29udGludWU7CisKKwkJLyogaWYgdGhlIHJlZ2lvbiBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIDxzdGFydCxlbmQ+IHdlIG1vdmUKKwkJICogc3RhcnQgdG8gdGhlIGVuZCBvZiB0aGUgcmVnaW9uIHNpbmNlIGl0J3Mgb2sgdW50aWwgdGhlcmUKKwkJICovCisJCWlmIChlaS0+YWRkciA8PSBzdGFydCkKKwkJCXN0YXJ0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKKwkJLyoKKwkJICogaWYgc3RhcnQgaXMgbm93IGF0IG9yIGJleW9uZCBlbmQsIHdlJ3JlIGRvbmUsIGZ1bGwKKwkJICogY292ZXJhZ2UKKwkJICovCisJCWlmIChzdGFydCA+PSBlbmQpCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBBZGQgYSBtZW1vcnkgcmVnaW9uIHRvIHRoZSBrZXJuZWwgZTgyMCBtYXAuCisgKi8KK3ZvaWQgX19pbml0IGU4MjBfYWRkX3JlZ2lvbih1NjQgc3RhcnQsIHU2NCBzaXplLCBpbnQgdHlwZSkKK3sKKwlpbnQgeCA9IGU4MjAubnJfbWFwOworCisJaWYgKHggPT0gQVJSQVlfU0laRShlODIwLm1hcCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJPb29wcyEgVG9vIG1hbnkgZW50cmllcyBpbiB0aGUgbWVtb3J5IG1hcCFcbiIpOworCQlyZXR1cm47CisJfQorCisJZTgyMC5tYXBbeF0uYWRkciA9IHN0YXJ0OworCWU4MjAubWFwW3hdLnNpemUgPSBzaXplOworCWU4MjAubWFwW3hdLnR5cGUgPSB0eXBlOworCWU4MjAubnJfbWFwKys7Cit9CisKK3ZvaWQgX19pbml0IGU4MjBfcHJpbnRfbWFwKGNoYXIgKndobykKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXByaW50ayhLRVJOX0lORk8gIiAlczogJTAxNkx4IC0gJTAxNkx4ICIsIHdobywKKwkJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIGU4MjAubWFwW2ldLmFkZHIsCisJCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKQorCQkgICAgICAgKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKSk7CisJCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgeworCQljYXNlIEU4MjBfUkFNOgorCQljYXNlIEU4MjBfUkVTRVJWRURfS0VSTjoKKwkJCXByaW50ayhLRVJOX0NPTlQgIih1c2FibGUpXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIEU4MjBfUkVTRVJWRUQ6CisJCQlwcmludGsoS0VSTl9DT05UICIocmVzZXJ2ZWQpXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIEU4MjBfQUNQSToKKwkJCXByaW50ayhLRVJOX0NPTlQgIihBQ1BJIGRhdGEpXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIEU4MjBfTlZTOgorCQkJcHJpbnRrKEtFUk5fQ09OVCAiKEFDUEkgTlZTKVxuIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXByaW50ayhLRVJOX0NPTlQgInR5cGUgJXVcbiIsIGU4MjAubWFwW2ldLnR5cGUpOworCQkJYnJlYWs7CisJCX0KKwl9Cit9CisKKy8qCisgKiBTYW5pdGl6ZSB0aGUgQklPUyBlODIwIG1hcC4KKyAqCisgKiBTb21lIGU4MjAgcmVzcG9uc2VzIGluY2x1ZGUgb3ZlcmxhcHBpbmcgZW50cmllcy4gVGhlIGZvbGxvd2luZworICogcmVwbGFjZXMgdGhlIG9yaWdpbmFsIGU4MjAgbWFwIHdpdGggYSBuZXcgb25lLCByZW1vdmluZyBvdmVybGFwcywKKyAqIGFuZCByZXNvbHZpbmcgY29uZmxpY3RpbmcgbWVtb3J5IHR5cGVzIGluIGZhdm9yIG9mIGhpZ2hlc3QKKyAqIG51bWJlcmVkIHR5cGUuCisgKgorICogVGhlIGlucHV0IHBhcmFtZXRlciBiaW9zbWFwIHBvaW50cyB0byBhbiBhcnJheSBvZiAnc3RydWN0CisgKiBlODIwZW50cnknIHdoaWNoIG9uIGVudHJ5IGhhcyBlbGVtZW50cyBpbiB0aGUgcmFuZ2UgWzAsICpwbnJfbWFwKQorICogdmFsaWQsIGFuZCB3aGljaCBoYXMgc3BhY2UgZm9yIHVwIHRvIG1heF9ucl9tYXAgZW50cmllcy4KKyAqIE9uIHJldHVybiwgdGhlIHJlc3VsdGluZyBzYW5pdGl6ZWQgZTgyMCBtYXAgZW50cmllcyB3aWxsIGJlIGluCisgKiBvdmVyd3JpdHRlbiBpbiB0aGUgc2FtZSBsb2NhdGlvbiwgc3RhcnRpbmcgYXQgYmlvc21hcC4KKyAqCisgKiBUaGUgaW50ZWdlciBwb2ludGVkIHRvIGJ5IHBucl9tYXAgbXVzdCBiZSB2YWxpZCBvbiBlbnRyeSAodGhlCisgKiBjdXJyZW50IG51bWJlciBvZiB2YWxpZCBlbnRyaWVzIGxvY2F0ZWQgYXQgYmlvc21hcCkgYW5kIHdpbGwKKyAqIGJlIHVwZGF0ZWQgb24gcmV0dXJuLCB3aXRoIHRoZSBuZXcgbnVtYmVyIG9mIHZhbGlkIGVudHJpZXMKKyAqIChzb21ldGhpbmcgbm8gbW9yZSB0aGFuIG1heF9ucl9tYXAuKQorICoKKyAqIFRoZSByZXR1cm4gdmFsdWUgZnJvbSBzYW5pdGl6ZV9lODIwX21hcCgpIGlzIHplcm8gaWYgaXQKKyAqIHN1Y2Nlc3NmdWxseSAnc2FuaXRpemVkJyB0aGUgbWFwIGVudHJpZXMgcGFzc2VkIGluLCBhbmQgaXMgLTEKKyAqIGlmIGl0IGRpZCBub3RoaW5nLCB3aGljaCBjYW4gaGFwcGVuIGlmIGVpdGhlciBvZiAoMSkgaXQgd2FzCisgKiBvbmx5IHBhc3NlZCBvbmUgbWFwIGVudHJ5LCBvciAoMikgYW55IG9mIHRoZSBpbnB1dCBtYXAgZW50cmllcworICogd2VyZSBpbnZhbGlkIChzdGFydCArIHNpemUgPCBzdGFydCwgbWVhbmluZyB0aGF0IHRoZSBzaXplIHdhcworICogc28gYmlnIHRoZSBkZXNjcmliZWQgbWVtb3J5IHJhbmdlIHdyYXBwZWQgYXJvdW5kIHRocm91Z2ggemVyby4pCisgKgorICoJVmlzdWFsbHkgd2UncmUgcGVyZm9ybWluZyB0aGUgZm9sbG93aW5nCisgKgkoMSwyLDMsNCA9IG1lbW9yeSB0eXBlcykuLi4KKyAqCisgKglTYW1wbGUgbWVtb3J5IG1hcCAody9vdmVybGFwcyk6CisgKgkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX19fX180XworICoJICAgX19fXzExMTFfX19fX19fX19fX19fX19fCisgKgkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KKyAqCSAgIDExMTExMTExX19fX19fX19fX19fX19fXworICoJICAgX19fX19fX19fX19fX19fX19fX18zM19fCisgKgkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX18zMzMzM19fX19fX19fXworICoJICAgX19fX19fX19fX19fX18yMl9fX19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fMjIyMl8KKyAqCSAgIF9fX19fX19fXzExMTExMTExMV9fX19fXworICoJICAgX19fX19fX19fX19fX19fX19fX19fMTFfCisgKgkgICBfX19fX19fX19fX19fX19fXzRfX19fX18KKyAqCisgKglTYW5pdGl6ZWQgZXF1aXZhbGVudCAobm8gb3ZlcmxhcCk6CisgKgkgICAxX19fX19fX19fX19fX19fX19fX19fX18KKyAqCSAgIF80NF9fX19fX19fX19fX19fX19fX19fXworICoJICAgX19fMV9fX19fX19fX19fX19fX19fX19fCisgKgkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KKyAqCSAgIF9fX19fXzExX19fX19fX19fX19fX19fXworICoJICAgX19fX19fX19fMV9fX19fX19fX19fX19fCisgKgkgICBfX19fX19fX19fM19fX19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fNDRfX19fX19fX19fXworICoJICAgX19fX19fX19fX19fXzMzX19fX19fX19fCisgKgkgICBfX19fX19fX19fX19fX18yX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX18xX19fX19fXworICoJICAgX19fX19fX19fX19fX19fX180X19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fMl9fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX19fMzNfXworICoJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCisgKi8KKworaW50IF9faW5pdCBzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbWF4X25yX21hcCwKKwkJCQlpbnQgKnBucl9tYXApCit7CisJc3RydWN0IGNoYW5nZV9tZW1iZXIgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICpwYmlvczsgLyogcG9pbnRlciB0byBvcmlnaW5hbCBiaW9zIGVudHJ5ICovCisJCXVuc2lnbmVkIGxvbmcgbG9uZyBhZGRyOyAvKiBhZGRyZXNzIGZvciB0aGlzIGNoYW5nZSBwb2ludCAqLworCX07CisJc3RhdGljIHN0cnVjdCBjaGFuZ2VfbWVtYmVyIGNoYW5nZV9wb2ludF9saXN0WzIqRTgyMF9YX01BWF0gX19pbml0ZGF0YTsKKwlzdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV9wb2ludFsyKkU4MjBfWF9NQVhdIF9faW5pdGRhdGE7CisJc3RhdGljIHN0cnVjdCBlODIwZW50cnkgKm92ZXJsYXBfbGlzdFtFODIwX1hfTUFYXSBfX2luaXRkYXRhOworCXN0YXRpYyBzdHJ1Y3QgZTgyMGVudHJ5IG5ld19iaW9zW0U4MjBfWF9NQVhdIF9faW5pdGRhdGE7CisJc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV90bXA7CisJdW5zaWduZWQgbG9uZyBjdXJyZW50X3R5cGUsIGxhc3RfdHlwZTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdF9hZGRyOworCWludCBjaGdpZHgsIHN0aWxsX2NoYW5naW5nOworCWludCBvdmVybGFwX2VudHJpZXM7CisJaW50IG5ld19iaW9zX2VudHJ5OworCWludCBvbGRfbnIsIG5ld19uciwgY2hnX25yOworCWludCBpOworCisJLyogaWYgdGhlcmUncyBvbmx5IG9uZSBtZW1vcnkgcmVnaW9uLCBkb24ndCBib3RoZXIgKi8KKwlpZiAoKnBucl9tYXAgPCAyKQorCQlyZXR1cm4gLTE7CisKKwlvbGRfbnIgPSAqcG5yX21hcDsKKwlCVUdfT04ob2xkX25yID4gbWF4X25yX21hcCk7CisKKwkvKiBiYWlsIG91dCBpZiB3ZSBmaW5kIGFueSB1bnJlYXNvbmFibGUgYWRkcmVzc2VzIGluIGJpb3MgbWFwICovCisJZm9yIChpID0gMDsgaSA8IG9sZF9ucjsgaSsrKQorCQlpZiAoYmlvc21hcFtpXS5hZGRyICsgYmlvc21hcFtpXS5zaXplIDwgYmlvc21hcFtpXS5hZGRyKQorCQkJcmV0dXJuIC0xOworCisJLyogY3JlYXRlIHBvaW50ZXJzIGZvciBpbml0aWFsIGNoYW5nZS1wb2ludCBpbmZvcm1hdGlvbiAoZm9yIHNvcnRpbmcpICovCisJZm9yIChpID0gMDsgaSA8IDIgKiBvbGRfbnI7IGkrKykKKwkJY2hhbmdlX3BvaW50W2ldID0gJmNoYW5nZV9wb2ludF9saXN0W2ldOworCisJLyogcmVjb3JkIGFsbCBrbm93biBjaGFuZ2UtcG9pbnRzIChzdGFydGluZyBhbmQgZW5kaW5nIGFkZHJlc3NlcyksCisJICAgb21pdHRpbmcgdGhvc2UgdGhhdCBhcmUgZm9yIGVtcHR5IG1lbW9yeSByZWdpb25zICovCisJY2hnaWR4ID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgb2xkX25yOyBpKyspCXsKKwkJaWYgKGJpb3NtYXBbaV0uc2l6ZSAhPSAwKSB7CisJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkcjsKKwkJCWNoYW5nZV9wb2ludFtjaGdpZHgrK10tPnBiaW9zID0gJmJpb3NtYXBbaV07CisJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkciArCisJCQkJYmlvc21hcFtpXS5zaXplOworCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKKwkJfQorCX0KKwljaGdfbnIgPSBjaGdpZHg7CisKKwkvKiBzb3J0IGNoYW5nZS1wb2ludCBsaXN0IGJ5IG1lbW9yeSBhZGRyZXNzZXMgKGxvdyAtPiBoaWdoKSAqLworCXN0aWxsX2NoYW5naW5nID0gMTsKKwl3aGlsZSAoc3RpbGxfY2hhbmdpbmcpCXsKKwkJc3RpbGxfY2hhbmdpbmcgPSAwOworCQlmb3IgKGkgPSAxOyBpIDwgY2hnX25yOyBpKyspICB7CisJCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VyYWRkciwgbGFzdGFkZHI7CisJCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VycGJhZGRyLCBsYXN0cGJhZGRyOworCisJCQljdXJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5hZGRyOworCQkJbGFzdGFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5hZGRyOworCQkJY3VycGJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5wYmlvcy0+YWRkcjsKKwkJCWxhc3RwYmFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5wYmlvcy0+YWRkcjsKKworCQkJLyoKKwkJCSAqIHN3YXAgZW50cmllcywgd2hlbjoKKwkJCSAqCisJCQkgKiBjdXJhZGRyID4gbGFzdGFkZHIgb3IKKwkJCSAqIGN1cmFkZHIgPT0gbGFzdGFkZHIgYW5kIGN1cmFkZHIgPT0gY3VycGJhZGRyIGFuZAorCQkJICogbGFzdGFkZHIgIT0gbGFzdHBiYWRkcgorCQkJICovCisJCQlpZiAoY3VyYWRkciA8IGxhc3RhZGRyIHx8CisJCQkgICAgKGN1cmFkZHIgPT0gbGFzdGFkZHIgJiYgY3VyYWRkciA9PSBjdXJwYmFkZHIgJiYKKwkJCSAgICAgbGFzdGFkZHIgIT0gbGFzdHBiYWRkcikpIHsKKwkJCQljaGFuZ2VfdG1wID0gY2hhbmdlX3BvaW50W2ldOworCQkJCWNoYW5nZV9wb2ludFtpXSA9IGNoYW5nZV9wb2ludFtpLTFdOworCQkJCWNoYW5nZV9wb2ludFtpLTFdID0gY2hhbmdlX3RtcDsKKwkJCQlzdGlsbF9jaGFuZ2luZyA9IDE7CisJCQl9CisJCX0KKwl9CisKKwkvKiBjcmVhdGUgYSBuZXcgYmlvcyBtZW1vcnkgbWFwLCByZW1vdmluZyBvdmVybGFwcyAqLworCW92ZXJsYXBfZW50cmllcyA9IDA7CSAvKiBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgb3ZlcmxhcCB0YWJsZSAqLworCW5ld19iaW9zX2VudHJ5ID0gMDsJIC8qIGluZGV4IGZvciBjcmVhdGluZyBuZXcgYmlvcyBtYXAgZW50cmllcyAqLworCWxhc3RfdHlwZSA9IDA7CQkgLyogc3RhcnQgd2l0aCB1bmRlZmluZWQgbWVtb3J5IHR5cGUgKi8KKwlsYXN0X2FkZHIgPSAwOwkJIC8qIHN0YXJ0IHdpdGggMCBhcyBsYXN0IHN0YXJ0aW5nIGFkZHJlc3MgKi8KKworCS8qIGxvb3AgdGhyb3VnaCBjaGFuZ2UtcG9pbnRzLCBkZXRlcm1pbmluZyBhZmZlY3Qgb24gdGhlIG5ldyBiaW9zIG1hcCAqLworCWZvciAoY2hnaWR4ID0gMDsgY2hnaWR4IDwgY2hnX25yOyBjaGdpZHgrKykgeworCQkvKiBrZWVwIHRyYWNrIG9mIGFsbCBvdmVybGFwcGluZyBiaW9zIGVudHJpZXMgKi8KKwkJaWYgKGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID09CisJCSAgICBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3MtPmFkZHIpIHsKKwkJCS8qCisJCQkgKiBhZGQgbWFwIGVudHJ5IHRvIG92ZXJsYXAgbGlzdCAoPiAxIGVudHJ5CisJCQkgKiBpbXBsaWVzIGFuIG92ZXJsYXApCisJCQkgKi8KKwkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMrK10gPQorCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvczsKKwkJfSBlbHNlIHsKKwkJCS8qCisJCQkgKiByZW1vdmUgZW50cnkgZnJvbSBsaXN0IChvcmRlciBpbmRlcGVuZGVudCwKKwkJCSAqIHNvIHN3YXAgd2l0aCBsYXN0KQorCQkJICovCisJCQlmb3IgKGkgPSAwOyBpIDwgb3ZlcmxhcF9lbnRyaWVzOyBpKyspIHsKKwkJCQlpZiAob3ZlcmxhcF9saXN0W2ldID09CisJCQkJICAgIGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcykKKwkJCQkJb3ZlcmxhcF9saXN0W2ldID0KKwkJCQkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMtMV07CisJCQl9CisJCQlvdmVybGFwX2VudHJpZXMtLTsKKwkJfQorCQkvKgorCQkgKiBpZiB0aGVyZSBhcmUgb3ZlcmxhcHBpbmcgZW50cmllcywgZGVjaWRlIHdoaWNoCisJCSAqICJ0eXBlIiB0byB1c2UgKGxhcmdlciB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlIC0tCisJCSAqIDE9dXNhYmxlLCAyLDMsNCw0Kz11bnVzYWJsZSkKKwkJICovCisJCWN1cnJlbnRfdHlwZSA9IDA7CisJCWZvciAoaSA9IDA7IGkgPCBvdmVybGFwX2VudHJpZXM7IGkrKykKKwkJCWlmIChvdmVybGFwX2xpc3RbaV0tPnR5cGUgPiBjdXJyZW50X3R5cGUpCisJCQkJY3VycmVudF90eXBlID0gb3ZlcmxhcF9saXN0W2ldLT50eXBlOworCQkvKgorCQkgKiBjb250aW51ZSBidWlsZGluZyB1cCBuZXcgYmlvcyBtYXAgYmFzZWQgb24gdGhpcworCQkgKiBpbmZvcm1hdGlvbgorCQkgKi8KKwkJaWYgKGN1cnJlbnRfdHlwZSAhPSBsYXN0X3R5cGUpCXsKKwkJCWlmIChsYXN0X3R5cGUgIT0gMCkJIHsKKwkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uc2l6ZSA9CisJCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyIC0gbGFzdF9hZGRyOworCQkJCS8qCisJCQkJICogbW92ZSBmb3J3YXJkIG9ubHkgaWYgdGhlIG5ldyBzaXplCisJCQkJICogd2FzIG5vbi16ZXJvCisJCQkJICovCisJCQkJaWYgKG5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplICE9IDApCisJCQkJCS8qCisJCQkJCSAqIG5vIG1vcmUgc3BhY2UgbGVmdCBmb3IgbmV3CisJCQkJCSAqIGJpb3MgZW50cmllcyA/CisJCQkJCSAqLworCQkJCQlpZiAoKytuZXdfYmlvc19lbnRyeSA+PSBtYXhfbnJfbWFwKQorCQkJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAoY3VycmVudF90eXBlICE9IDApCXsKKwkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uYWRkciA9CisJCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOworCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS50eXBlID0gY3VycmVudF90eXBlOworCQkJCWxhc3RfYWRkciA9IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOworCQkJfQorCQkJbGFzdF90eXBlID0gY3VycmVudF90eXBlOworCQl9CisJfQorCS8qIHJldGFpbiBjb3VudCBmb3IgbmV3IGJpb3MgZW50cmllcyAqLworCW5ld19uciA9IG5ld19iaW9zX2VudHJ5OworCisJLyogY29weSBuZXcgYmlvcyBtYXBwaW5nIGludG8gb3JpZ2luYWwgbG9jYXRpb24gKi8KKwltZW1jcHkoYmlvc21hcCwgbmV3X2Jpb3MsIG5ld19uciAqIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7CisJKnBucl9tYXAgPSBuZXdfbnI7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgX19hcHBlbmRfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCkKK3sKKwl3aGlsZSAobnJfbWFwKSB7CisJCXU2NCBzdGFydCA9IGJpb3NtYXAtPmFkZHI7CisJCXU2NCBzaXplID0gYmlvc21hcC0+c2l6ZTsKKwkJdTY0IGVuZCA9IHN0YXJ0ICsgc2l6ZTsKKwkJdTMyIHR5cGUgPSBiaW9zbWFwLT50eXBlOworCisJCS8qIE92ZXJmbG93IGluIDY0IGJpdHM/IElnbm9yZSB0aGUgbWVtb3J5IG1hcC4gKi8KKwkJaWYgKHN0YXJ0ID4gZW5kKQorCQkJcmV0dXJuIC0xOworCisJCWU4MjBfYWRkX3JlZ2lvbihzdGFydCwgc2l6ZSwgdHlwZSk7CisKKwkJYmlvc21hcCsrOworCQlucl9tYXAtLTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBDb3B5IHRoZSBCSU9TIGU4MjAgbWFwIGludG8gYSBzYWZlIHBsYWNlLgorICoKKyAqIFNhbml0eS1jaGVjayBpdCB3aGlsZSB3ZSdyZSBhdCBpdC4uCisgKgorICogSWYgd2UncmUgbHVja3kgYW5kIGxpdmUgb24gYSBtb2Rlcm4gc3lzdGVtLCB0aGUgc2V0dXAgY29kZQorICogd2lsbCBoYXZlIGdpdmVuIHVzIGEgbWVtb3J5IG1hcCB0aGF0IHdlIGNhbiB1c2UgdG8gcHJvcGVybHkKKyAqIHNldCB1cCBtZW1vcnkuICBJZiB3ZSBhcmVuJ3QsIHdlJ2xsIGZha2UgYSBtZW1vcnkgbWFwLgorICovCitzdGF0aWMgaW50IF9faW5pdCBhcHBlbmRfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCkKK3sKKwkvKiBPbmx5IG9uZSBtZW1vcnkgcmVnaW9uIChvciBuZWdhdGl2ZSk/IElnbm9yZSBpdCAqLworCWlmIChucl9tYXAgPCAyKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gX19hcHBlbmRfZTgyMF9tYXAoYmlvc21hcCwgbnJfbWFwKTsKK30KKworc3RhdGljIHU2NCBfX2luaXQgZTgyMF91cGRhdGVfcmFuZ2VfbWFwKHN0cnVjdCBlODIwbWFwICplODIweCwgdTY0IHN0YXJ0LAorCQkJCQl1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkJCXVuc2lnbmVkIG5ld190eXBlKQoreworCWludCBpOworCXU2NCByZWFsX3VwZGF0ZWRfc2l6ZSA9IDA7CisKKwlCVUdfT04ob2xkX3R5cGUgPT0gbmV3X3R5cGUpOworCisJaWYgKHNpemUgPiAoVUxMT05HX01BWCAtIHN0YXJ0KSkKKwkJc2l6ZSA9IFVMTE9OR19NQVggLSBzdGFydDsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjB4LT5tYXBbaV07CisJCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOworCQlpZiAoZWktPnR5cGUgIT0gb2xkX3R5cGUpCisJCQljb250aW51ZTsKKwkJLyogdG90YWxseSBjb3ZlcmVkPyAqLworCQlpZiAoZWktPmFkZHIgPj0gc3RhcnQgJiYKKwkJICAgIChlaS0+YWRkciArIGVpLT5zaXplKSA8PSAoc3RhcnQgKyBzaXplKSkgeworCQkJZWktPnR5cGUgPSBuZXdfdHlwZTsKKwkJCXJlYWxfdXBkYXRlZF9zaXplICs9IGVpLT5zaXplOworCQkJY29udGludWU7CisJCX0KKwkJLyogcGFydGlhbGx5IGNvdmVyZWQgKi8KKwkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIGVpLT5hZGRyKTsKKwkJZmluYWxfZW5kID0gbWluKHN0YXJ0ICsgc2l6ZSwgZWktPmFkZHIgKyBlaS0+c2l6ZSk7CisJCWlmIChmaW5hbF9zdGFydCA+PSBmaW5hbF9lbmQpCisJCQljb250aW51ZTsKKwkJZTgyMF9hZGRfcmVnaW9uKGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydCwKKwkJCQkJIG5ld190eXBlKTsKKwkJcmVhbF91cGRhdGVkX3NpemUgKz0gZmluYWxfZW5kIC0gZmluYWxfc3RhcnQ7CisKKwkJZWktPnNpemUgLT0gZmluYWxfZW5kIC0gZmluYWxfc3RhcnQ7CisJCWlmIChlaS0+YWRkciA8IGZpbmFsX3N0YXJ0KQorCQkJY29udGludWU7CisJCWVpLT5hZGRyID0gZmluYWxfZW5kOworCX0KKwlyZXR1cm4gcmVhbF91cGRhdGVkX3NpemU7Cit9CisKK3U2NCBfX2luaXQgZTgyMF91cGRhdGVfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkgICAgIHVuc2lnbmVkIG5ld190eXBlKQoreworCXJldHVybiBlODIwX3VwZGF0ZV9yYW5nZV9tYXAoJmU4MjAsIHN0YXJ0LCBzaXplLCBvbGRfdHlwZSwgbmV3X3R5cGUpOworfQorCitzdGF0aWMgdTY0IF9faW5pdCBlODIwX3VwZGF0ZV9yYW5nZV9zYXZlZCh1NjQgc3RhcnQsIHU2NCBzaXplLAorCQkJCQkgIHVuc2lnbmVkIG9sZF90eXBlLCB1bnNpZ25lZCBuZXdfdHlwZSkKK3sKKwlyZXR1cm4gZTgyMF91cGRhdGVfcmFuZ2VfbWFwKCZlODIwX3NhdmVkLCBzdGFydCwgc2l6ZSwgb2xkX3R5cGUsCisJCQkJICAgICBuZXdfdHlwZSk7Cit9CisKKy8qIG1ha2UgZTgyMCBub3QgY292ZXIgdGhlIHJhbmdlICovCit1NjQgX19pbml0IGU4MjBfcmVtb3ZlX3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAorCQkJICAgICBpbnQgY2hlY2t0eXBlKQoreworCWludCBpOworCXU2NCByZWFsX3JlbW92ZWRfc2l6ZSA9IDA7CisKKwlpZiAoc2l6ZSA+IChVTExPTkdfTUFYIC0gc3RhcnQpKQorCQlzaXplID0gVUxMT05HX01BWCAtIHN0YXJ0OworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisJCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOworCisJCWlmIChjaGVja3R5cGUgJiYgZWktPnR5cGUgIT0gb2xkX3R5cGUpCisJCQljb250aW51ZTsKKwkJLyogdG90YWxseSBjb3ZlcmVkPyAqLworCQlpZiAoZWktPmFkZHIgPj0gc3RhcnQgJiYKKwkJICAgIChlaS0+YWRkciArIGVpLT5zaXplKSA8PSAoc3RhcnQgKyBzaXplKSkgeworCQkJcmVhbF9yZW1vdmVkX3NpemUgKz0gZWktPnNpemU7CisJCQltZW1zZXQoZWksIDAsIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7CisJCQljb250aW51ZTsKKwkJfQorCQkvKiBwYXJ0aWFsbHkgY292ZXJlZCAqLworCQlmaW5hbF9zdGFydCA9IG1heChzdGFydCwgZWktPmFkZHIpOworCQlmaW5hbF9lbmQgPSBtaW4oc3RhcnQgKyBzaXplLCBlaS0+YWRkciArIGVpLT5zaXplKTsKKwkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkKKwkJCWNvbnRpbnVlOworCQlyZWFsX3JlbW92ZWRfc2l6ZSArPSBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydDsKKworCQllaS0+c2l6ZSAtPSBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydDsKKwkJaWYgKGVpLT5hZGRyIDwgZmluYWxfc3RhcnQpCisJCQljb250aW51ZTsKKwkJZWktPmFkZHIgPSBmaW5hbF9lbmQ7CisJfQorCXJldHVybiByZWFsX3JlbW92ZWRfc2l6ZTsKK30KKwordm9pZCBfX2luaXQgdXBkYXRlX2U4MjAodm9pZCkKK3sKKwlpbnQgbnJfbWFwOworCisJbnJfbWFwID0gZTgyMC5ucl9tYXA7CisJaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJm5yX21hcCkpCisJCXJldHVybjsKKwllODIwLm5yX21hcCA9IG5yX21hcDsKKwlwcmludGsoS0VSTl9JTkZPICJtb2RpZmllZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJZTgyMF9wcmludF9tYXAoIm1vZGlmaWVkIik7Cit9CitzdGF0aWMgdm9pZCBfX2luaXQgdXBkYXRlX2U4MjBfc2F2ZWQodm9pZCkKK3sKKwlpbnQgbnJfbWFwOworCisJbnJfbWFwID0gZTgyMF9zYXZlZC5ucl9tYXA7CisJaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjBfc2F2ZWQubWFwLCBBUlJBWV9TSVpFKGU4MjBfc2F2ZWQubWFwKSwgJm5yX21hcCkpCisJCXJldHVybjsKKwllODIwX3NhdmVkLm5yX21hcCA9IG5yX21hcDsKK30KKyNkZWZpbmUgTUFYX0dBUF9FTkQgMHgxMDAwMDAwMDB1bGwKKy8qCisgKiBTZWFyY2ggZm9yIGEgZ2FwIGluIHRoZSBlODIwIG1lbW9yeSBzcGFjZSBmcm9tIHN0YXJ0X2FkZHIgdG8gZW5kX2FkZHIuCisgKi8KK19faW5pdCBpbnQgZTgyMF9zZWFyY2hfZ2FwKHVuc2lnbmVkIGxvbmcgKmdhcHN0YXJ0LCB1bnNpZ25lZCBsb25nICpnYXBzaXplLAorCQl1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGxvbmcgbG9uZyBlbmRfYWRkcikKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdDsKKwlpbnQgaSA9IGU4MjAubnJfbWFwOworCWludCBmb3VuZCA9IDA7CisKKwlsYXN0ID0gKGVuZF9hZGRyICYmIGVuZF9hZGRyIDwgTUFYX0dBUF9FTkQpID8gZW5kX2FkZHIgOiBNQVhfR0FQX0VORDsKKworCXdoaWxlICgtLWkgPj0gMCkgeworCQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOworCQl1bnNpZ25lZCBsb25nIGxvbmcgZW5kID0gc3RhcnQgKyBlODIwLm1hcFtpXS5zaXplOworCisJCWlmIChlbmQgPCBzdGFydF9hZGRyKQorCQkJY29udGludWU7CisKKwkJLyoKKwkJICogU2luY2UgImxhc3QiIGlzIGF0IG1vc3QgNEdCLCB3ZSBrbm93IHdlJ2xsCisJCSAqIGZpdCBpbiAzMiBiaXRzIGlmIHRoaXMgY29uZGl0aW9uIGlzIHRydWUKKwkJICovCisJCWlmIChsYXN0ID4gZW5kKSB7CisJCQl1bnNpZ25lZCBsb25nIGdhcCA9IGxhc3QgLSBlbmQ7CisKKwkJCWlmIChnYXAgPj0gKmdhcHNpemUpIHsKKwkJCQkqZ2Fwc2l6ZSA9IGdhcDsKKwkJCQkqZ2Fwc3RhcnQgPSBlbmQ7CisJCQkJZm91bmQgPSAxOworCQkJfQorCQl9CisJCWlmIChzdGFydCA8IGxhc3QpCisJCQlsYXN0ID0gc3RhcnQ7CisJfQorCXJldHVybiBmb3VuZDsKK30KKworLyoKKyAqIFNlYXJjaCBmb3IgdGhlIGJpZ2dlc3QgZ2FwIGluIHRoZSBsb3cgMzIgYml0cyBvZiB0aGUgZTgyMAorICogbWVtb3J5IHNwYWNlLiAgV2UgcGFzcyB0aGlzIHNwYWNlIHRvIFBDSSB0byBhc3NpZ24gTU1JTyByZXNvdXJjZXMKKyAqIGZvciBob3RwbHVnIG9yIHVuY29uZmlndXJlZCBkZXZpY2VzIGluLgorICogSG9wZWZ1bGx5IHRoZSBCSU9TIGxldCBlbm91Z2ggc3BhY2UgbGVmdC4KKyAqLworX19pbml0IHZvaWQgZTgyMF9zZXR1cF9nYXAodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGdhcHN0YXJ0LCBnYXBzaXplLCByb3VuZDsKKwlpbnQgZm91bmQ7CisKKwlnYXBzdGFydCA9IDB4MTAwMDAwMDA7CisJZ2Fwc2l6ZSA9IDB4NDAwMDAwOworCWZvdW5kICA9IGU4MjBfc2VhcmNoX2dhcCgmZ2Fwc3RhcnQsICZnYXBzaXplLCAwLCBNQVhfR0FQX0VORCk7CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJaWYgKCFmb3VuZCkgeworCQlnYXBzdGFydCA9IChtYXhfcGZuIDw8IFBBR0VfU0hJRlQpICsgMTAyNCoxMDI0OworCQlwcmludGsoS0VSTl9FUlIgIlBDSTogV2FybmluZzogQ2Fubm90IGZpbmQgYSBnYXAgaW4gdGhlIDMyYml0ICIKKwkJICAgICAgICJhZGRyZXNzIHJhbmdlXG4iCisJCSAgICAgICBLRVJOX0VSUiAiUENJOiBVbmFzc2lnbmVkIGRldmljZXMgd2l0aCAzMmJpdCByZXNvdXJjZSAiCisJCSAgICAgICAicmVnaXN0ZXJzIG1heSBicmVhayFcbiIpOworCX0KKyNlbmRpZgorCisJLyoKKwkgKiBTZWUgaG93IG11Y2ggd2Ugd2FudCB0byByb3VuZCB1cDogc3RhcnQgb2ZmIHdpdGgKKwkgKiByb3VuZGluZyB0byB0aGUgbmV4dCAxTUIgYXJlYS4KKwkgKi8KKwlyb3VuZCA9IDB4MTAwMDAwOworCXdoaWxlICgoZ2Fwc2l6ZSA+PiA0KSA+IHJvdW5kKQorCQlyb3VuZCArPSByb3VuZDsKKwkvKiBGdW4gd2l0aCB0d28ncyBjb21wbGVtZW50ICovCisJcGNpX21lbV9zdGFydCA9IChnYXBzdGFydCArIHJvdW5kKSAmIC1yb3VuZDsKKworCXByaW50ayhLRVJOX0lORk8KKwkgICAgICAgIkFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCAlbHggKGdhcDogJWx4OiVseClcbiIsCisJICAgICAgIHBjaV9tZW1fc3RhcnQsIGdhcHN0YXJ0LCBnYXBzaXplKTsKK30KKworLyoqCisgKiBCZWNhdXNlIG9mIHRoZSBzaXplIGxpbWl0YXRpb24gb2Ygc3RydWN0IGJvb3RfcGFyYW1zLCBvbmx5IGZpcnN0CisgKiAxMjggRTgyMCBtZW1vcnkgZW50cmllcyBhcmUgcGFzc2VkIHRvIGtlcm5lbCB2aWEKKyAqIGJvb3RfcGFyYW1zLmU4MjBfbWFwLCBvdGhlcnMgYXJlIHBhc3NlZCB2aWEgU0VUVVBfRTgyMF9FWFQgbm9kZSBvZgorICogbGlua2VkIGxpc3Qgb2Ygc3RydWN0IHNldHVwX2RhdGEsIHdoaWNoIGlzIHBhcnNlZCBoZXJlLgorICovCit2b2lkIF9faW5pdCBwYXJzZV9lODIwX2V4dChzdHJ1Y3Qgc2V0dXBfZGF0YSAqc2RhdGEsIHVuc2lnbmVkIGxvbmcgcGFfZGF0YSkKK3sKKwl1MzIgbWFwX2xlbjsKKwlpbnQgZW50cmllczsKKwlzdHJ1Y3QgZTgyMGVudHJ5ICpleHRtYXA7CisKKwllbnRyaWVzID0gc2RhdGEtPmxlbiAvIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KTsKKwltYXBfbGVuID0gc2RhdGEtPmxlbiArIHNpemVvZihzdHJ1Y3Qgc2V0dXBfZGF0YSk7CisJaWYgKG1hcF9sZW4gPiBQQUdFX1NJWkUpCisJCXNkYXRhID0gZWFybHlfaW9yZW1hcChwYV9kYXRhLCBtYXBfbGVuKTsKKwlleHRtYXAgPSAoc3RydWN0IGU4MjBlbnRyeSAqKShzZGF0YS0+ZGF0YSk7CisJX19hcHBlbmRfZTgyMF9tYXAoZXh0bWFwLCBlbnRyaWVzKTsKKwlzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgQVJSQVlfU0laRShlODIwLm1hcCksICZlODIwLm5yX21hcCk7CisJaWYgKG1hcF9sZW4gPiBQQUdFX1NJWkUpCisJCWVhcmx5X2lvdW5tYXAoc2RhdGEsIG1hcF9sZW4pOworCXByaW50ayhLRVJOX0lORk8gImV4dGVuZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwllODIwX3ByaW50X21hcCgiZXh0ZW5kZWQiKTsKK30KKworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgfHwgXAorCShkZWZpbmVkKENPTkZJR19YODZfMzIpICYmIGRlZmluZWQoQ09ORklHX0hJQkVSTkFUSU9OKSkKKy8qKgorICogRmluZCB0aGUgcmFuZ2VzIG9mIHBoeXNpY2FsIGFkZHJlc3NlcyB0aGF0IGRvIG5vdCBjb3JyZXNwb25kIHRvCisgKiBlODIwIFJBTSBhcmVhcyBhbmQgbWFyayB0aGUgY29ycmVzcG9uZGluZyBwYWdlcyBhcyBub3NhdmUgZm9yCisgKiBoaWJlcm5hdGlvbiAoMzIgYml0KSBvciBzb2Z0d2FyZSBzdXNwZW5kIGFuZCBzdXNwZW5kIHRvIFJBTSAoNjQgYml0KS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlcXVpcmVzIHRoZSBlODIwIG1hcCB0byBiZSBzb3J0ZWQgYW5kIHdpdGhvdXQgYW55CisgKiBvdmVybGFwcGluZyBlbnRyaWVzIGFuZCBhc3N1bWVzIHRoZSBmaXJzdCBlODIwIGFyZWEgdG8gYmUgUkFNLgorICovCit2b2lkIF9faW5pdCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModW5zaWduZWQgbG9uZyBsaW1pdF9wZm4pCit7CisJaW50IGk7CisJdW5zaWduZWQgbG9uZyBwZm47CisKKwlwZm4gPSBQRk5fRE9XTihlODIwLm1hcFswXS5hZGRyICsgZTgyMC5tYXBbMF0uc2l6ZSk7CisJZm9yIChpID0gMTsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisKKwkJaWYgKHBmbiA8IFBGTl9VUChlaS0+YWRkcikpCisJCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKHBmbiwgUEZOX1VQKGVpLT5hZGRyKSk7CisKKwkJcGZuID0gUEZOX0RPV04oZWktPmFkZHIgKyBlaS0+c2l6ZSk7CisJCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSAmJiBlaS0+dHlwZSAhPSBFODIwX1JFU0VSVkVEX0tFUk4pCisJCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKFBGTl9VUChlaS0+YWRkciksIHBmbik7CisKKwkJaWYgKHBmbiA+PSBsaW1pdF9wZm4pCisJCQlicmVhazsKKwl9Cit9CisjZW5kaWYKKworLyoKKyAqIEVhcmx5IHJlc2VydmVkIG1lbW9yeSBhcmVhcy4KKyAqLworI2RlZmluZSBNQVhfRUFSTFlfUkVTIDIwCisKK3N0cnVjdCBlYXJseV9yZXMgeworCXU2NCBzdGFydCwgZW5kOworCWNoYXIgbmFtZVsxNl07CisJY2hhciBvdmVybGFwX29rOworfTsKK3N0YXRpYyBzdHJ1Y3QgZWFybHlfcmVzIGVhcmx5X3Jlc1tNQVhfRUFSTFlfUkVTXSBfX2luaXRkYXRhID0geworCXsgMCwgUEFHRV9TSVpFLCAiQklPUyBkYXRhIHBhZ2UiIH0sCS8qIEJJT1MgZGF0YSBwYWdlICovCisjaWYgZGVmaW5lZChDT05GSUdfWDg2XzY0KSAmJiBkZWZpbmVkKENPTkZJR19YODZfVFJBTVBPTElORSkKKwl7IFRSQU1QT0xJTkVfQkFTRSwgVFJBTVBPTElORV9CQVNFICsgMiAqIFBBR0VfU0laRSwgIlRSQU1QT0xJTkUiIH0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfMzIpICYmIGRlZmluZWQoQ09ORklHX1NNUCkKKwkvKgorCSAqIEJ1dCBmaXJzdCBwaW5jaCBhIGZldyBmb3IgdGhlIHN0YWNrL3RyYW1wb2xpbmUgc3R1ZmYKKwkgKiBGSVhNRTogRG9uJ3QgbmVlZCB0aGUgZXh0cmEgcGFnZSBhdCA0SywgYnV0IG5lZWQgdG8gZml4CisJICogdHJhbXBvbGluZSBiZWZvcmUgcmVtb3ZpbmcgaXQuIChzZWUgdGhlIEdEVCBzdHVmZikKKwkgKi8KKwl7IFBBR0VfU0laRSwgUEFHRV9TSVpFICsgUEFHRV9TSVpFLCAiRVggVFJBTVBPTElORSIgfSwKKwkvKgorCSAqIEhhcyB0byBiZSBpbiB2ZXJ5IGxvdyBtZW1vcnkgc28gd2UgY2FuIGV4ZWN1dGUKKwkgKiByZWFsLW1vZGUgQVAgY29kZS4KKwkgKi8KKwl7IFRSQU1QT0xJTkVfQkFTRSwgVFJBTVBPTElORV9CQVNFICsgUEFHRV9TSVpFLCAiVFJBTVBPTElORSIgfSwKKyNlbmRpZgorCXt9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBmaW5kX292ZXJsYXBwZWRfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCWludCBpOworCXN0cnVjdCBlYXJseV9yZXMgKnI7CisKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKKwkJciA9ICZlYXJseV9yZXNbaV07CisJCWlmIChlbmQgPiByLT5zdGFydCAmJiBzdGFydCA8IHItPmVuZCkKKwkJCWJyZWFrOworCX0KKworCXJldHVybiBpOworfQorCisvKgorICogRHJvcCB0aGUgaS10aCByYW5nZSBmcm9tIHRoZSBlYXJseSByZXNlcnZhdGlvbiBtYXAsCisgKiBieSBjb3B5aW5nIGFueSBoaWdoZXIgcmFuZ2VzIGRvd24gb25lIG92ZXIgaXQsIGFuZAorICogY2xlYXJpbmcgd2hhdCBoYWQgYmVlbiB0aGUgbGFzdCBzbG90LgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgZHJvcF9yYW5nZShpbnQgaSkKK3sKKwlpbnQgajsKKworCWZvciAoaiA9IGkgKyAxOyBqIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbal0uZW5kOyBqKyspCisJCTsKKworCW1lbW1vdmUoJmVhcmx5X3Jlc1tpXSwgJmVhcmx5X3Jlc1tpICsgMV0sCisJICAgICAgIChqIC0gMSAtIGkpICogc2l6ZW9mKHN0cnVjdCBlYXJseV9yZXMpKTsKKworCWVhcmx5X3Jlc1tqIC0gMV0uZW5kID0gMDsKK30KKworLyoKKyAqIFNwbGl0IGFueSBleGlzdGluZyByYW5nZXMgdGhhdDoKKyAqICAxKSBhcmUgbWFya2VkICdvdmVybGFwX29rJywgYW5kCisgKiAgMikgb3ZlcmxhcCB3aXRoIHRoZSBzdGF0ZWQgcmFuZ2UgW3N0YXJ0LCBlbmQpCisgKiBpbnRvIHdoYXRldmVyIHBvcnRpb24gKGlmIGFueSkgb2YgdGhlIGV4aXN0aW5nIHJhbmdlIGlzIGVudGlyZWx5CisgKiBiZWxvdyBvciBlbnRpcmVseSBhYm92ZSB0aGUgc3RhdGVkIHJhbmdlLiAgRHJvcCB0aGUgcG9ydGlvbgorICogb2YgdGhlIGV4aXN0aW5nIHJhbmdlIHRoYXQgb3ZlcmxhcHMgd2l0aCB0aGUgc3RhdGVkIHJhbmdlLAorICogd2hpY2ggd2lsbCBhbGxvdyB0aGUgY2FsbGVyIG9mIHRoaXMgcm91dGluZSB0byB0aGVuIGFkZCB0aGF0CisgKiBzdGF0ZWQgcmFuZ2Ugd2l0aG91dCBjb25mbGljdGluZyB3aXRoIGFueSBleGlzdGluZyByYW5nZS4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IGRyb3Bfb3ZlcmxhcHNfdGhhdF9hcmVfb2sodTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCWludCBpOworCXN0cnVjdCBlYXJseV9yZXMgKnI7CisJdTY0IGxvd2VyX3N0YXJ0LCBsb3dlcl9lbmQ7CisJdTY0IHVwcGVyX3N0YXJ0LCB1cHBlcl9lbmQ7CisJY2hhciBuYW1lWzE2XTsKKworCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgeworCQlyID0gJmVhcmx5X3Jlc1tpXTsKKworCQkvKiBDb250aW51ZSBwYXN0IG5vbi1vdmVybGFwcGluZyByYW5nZXMgKi8KKwkJaWYgKGVuZCA8PSByLT5zdGFydCB8fCBzdGFydCA+PSByLT5lbmQpCisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBMZWF2ZSBub24tb2sgb3ZlcmxhcHMgYXMgaXM7IGxldCBjYWxsZXIKKwkJICogcGFuaWMgIk92ZXJsYXBwaW5nIGVhcmx5IHJlc2VydmF0aW9ucyIKKwkJICogd2hlbiBpdCBoaXRzIHRoaXMgb3ZlcmxhcC4KKwkJICovCisJCWlmICghci0+b3ZlcmxhcF9vaykKKwkJCXJldHVybjsKKworCQkvKgorCQkgKiBXZSBoYXZlIGFuIG9rIG92ZXJsYXAuICBXZSB3aWxsIGRyb3AgaXQgZnJvbSB0aGUgZWFybHkKKwkJICogcmVzZXJ2YXRpb24gbWFwLCBhbmQgYWRkIGJhY2sgaW4gYW55IG5vbi1vdmVybGFwcGluZworCQkgKiBwb3J0aW9ucyAobG93ZXIgb3IgdXBwZXIpIGFzIHNlcGFyYXRlLCBvdmVybGFwX29rLAorCQkgKiBub24tb3ZlcmxhcHBpbmcgcmFuZ2VzLgorCQkgKi8KKworCQkvKiAxLiBOb3RlIGFueSBub24tb3ZlcmxhcHBpbmcgKGxvd2VyIG9yIHVwcGVyKSByYW5nZXMuICovCisJCXN0cm5jcHkobmFtZSwgci0+bmFtZSwgc2l6ZW9mKG5hbWUpIC0gMSk7CisKKwkJbG93ZXJfc3RhcnQgPSBsb3dlcl9lbmQgPSAwOworCQl1cHBlcl9zdGFydCA9IHVwcGVyX2VuZCA9IDA7CisJCWlmIChyLT5zdGFydCA8IHN0YXJ0KSB7CisJCSAJbG93ZXJfc3RhcnQgPSByLT5zdGFydDsKKwkJCWxvd2VyX2VuZCA9IHN0YXJ0OworCQl9CisJCWlmIChyLT5lbmQgPiBlbmQpIHsKKwkJCXVwcGVyX3N0YXJ0ID0gZW5kOworCQkJdXBwZXJfZW5kID0gci0+ZW5kOworCQl9CisKKwkJLyogMi4gRHJvcCB0aGUgb3JpZ2luYWwgb2sgb3ZlcmxhcHBpbmcgcmFuZ2UgKi8KKwkJZHJvcF9yYW5nZShpKTsKKworCQlpLS07CQkvKiByZXN1bWUgZm9yLWxvb3Agb24gY29waWVkIGRvd24gZW50cnkgKi8KKworCQkvKiAzLiBBZGQgYmFjayBpbiBhbnkgbm9uLW92ZXJsYXBwaW5nIHJhbmdlcy4gKi8KKwkJaWYgKGxvd2VyX2VuZCkKKwkJCXJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayhsb3dlcl9zdGFydCwgbG93ZXJfZW5kLCBuYW1lKTsKKwkJaWYgKHVwcGVyX2VuZCkKKwkJCXJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayh1cHBlcl9zdGFydCwgdXBwZXJfZW5kLCBuYW1lKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBfX3Jlc2VydmVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kLCBjaGFyICpuYW1lLAorCQkJCQkJaW50IG92ZXJsYXBfb2spCit7CisJaW50IGk7CisJc3RydWN0IGVhcmx5X3JlcyAqcjsKKworCWkgPSBmaW5kX292ZXJsYXBwZWRfZWFybHkoc3RhcnQsIGVuZCk7CisJaWYgKGkgPj0gTUFYX0VBUkxZX1JFUykKKwkJcGFuaWMoIlRvbyBtYW55IGVhcmx5IHJlc2VydmF0aW9ucyIpOworCXIgPSAmZWFybHlfcmVzW2ldOworCWlmIChyLT5lbmQpCisJCXBhbmljKCJPdmVybGFwcGluZyBlYXJseSByZXNlcnZhdGlvbnMgIgorCQkgICAgICAiJWxseC0lbGx4ICVzIHRvICVsbHgtJWxseCAlc1xuIiwKKwkJICAgICAgc3RhcnQsIGVuZCAtIDEsIG5hbWU/bmFtZToiIiwgci0+c3RhcnQsCisJCSAgICAgIHItPmVuZCAtIDEsIHItPm5hbWUpOworCXItPnN0YXJ0ID0gc3RhcnQ7CisJci0+ZW5kID0gZW5kOworCXItPm92ZXJsYXBfb2sgPSBvdmVybGFwX29rOworCWlmIChuYW1lKQorCQlzdHJuY3B5KHItPm5hbWUsIG5hbWUsIHNpemVvZihyLT5uYW1lKSAtIDEpOworfQorCisvKgorICogQSBmZXcgZWFybHkgcmVzZXJ2dGF0aW9ucyBjb21lIGhlcmUuCisgKgorICogVGhlICdvdmVybGFwX29rJyBpbiB0aGUgbmFtZSBvZiB0aGlzIHJvdXRpbmUgZG9lcyAtbm90LSBtZWFuIGl0CisgKiBpcyBvayBmb3IgdGhlc2UgcmVzZXJ2YXRpb25zIHRvIG92ZXJsYXAgYW4gZWFybGllciByZXNlcnZhdGlvbi4KKyAqIFJhdGhlciBpdCBtZWFucyB0aGF0IGl0IGlzIG9rIGZvciBzdWJzZXF1ZW50IHJlc2VydmF0aW9ucyB0bworICogb3ZlcmxhcCB0aGlzIG9uZS4KKyAqCisgKiBVc2UgdGhpcyBlbnRyeSBwb2ludCB0byByZXNlcnZlIGVhcmx5IHJhbmdlcyB3aGVuIHlvdSBhcmUgZG9pbmcKKyAqIHNvIG91dCBvZiAiUGFyYW5vaWEiLCByZXNlcnZpbmcgcGVyaGFwcyBtb3JlIG1lbW9yeSB0aGFuIHlvdSBuZWVkLAorICoganVzdCBpbiBjYXNlLCBhbmQgZG9uJ3QgbWluZCBhIHN1YnNlcXVlbnQgb3ZlcmxhcHBpbmcgcmVzZXJ2YXRpb24KKyAqIHRoYXQgaXMga25vd24gdG8gYmUgbmVlZGVkLgorICoKKyAqIFRoZSBkcm9wX292ZXJsYXBzX3RoYXRfYXJlX29rKCkgY2FsbCBoZXJlIGlzbid0IHJlYWxseSBuZWVkZWQuCisgKiBJdCB3b3VsZCBiZSBuZWVkZWQgaWYgd2UgaGFkIHR3byBjb2xsaWRpbmcgJ292ZXJsYXBfb2snCisgKiByZXNlcnZhdGlvbnMsIHNvIHRoYXQgdGhlIHNlY29uZCBzdWNoIHdvdWxkIG5vdCBwYW5pYyBvbiB0aGUKKyAqIG92ZXJsYXAgd2l0aCB0aGUgZmlyc3QuICBXZSBkb24ndCBoYXZlIGFueSBzdWNoIGFzIG9mIHRoaXMKKyAqIHdyaXRpbmcsIGJ1dCBtaWdodCBhcyB3ZWxsIHRvbGVyYXRlIHN1Y2ggaWYgaXQgaGFwcGVucyBpbgorICogdGhlIGZ1dHVyZS4KKyAqLwordm9pZCBfX2luaXQgcmVzZXJ2ZV9lYXJseV9vdmVybGFwX29rKHU2NCBzdGFydCwgdTY0IGVuZCwgY2hhciAqbmFtZSkKK3sKKwlkcm9wX292ZXJsYXBzX3RoYXRfYXJlX29rKHN0YXJ0LCBlbmQpOworCV9fcmVzZXJ2ZV9lYXJseShzdGFydCwgZW5kLCBuYW1lLCAxKTsKK30KKworLyoKKyAqIE1vc3QgZWFybHkgcmVzZXJ2YXRpb25zIGNvbWUgaGVyZS4KKyAqCisgKiBXZSBmaXJzdCBoYXZlIGRyb3Bfb3ZlcmxhcHNfdGhhdF9hcmVfb2soKSBkcm9wIGFueSBwcmUtZXhpc3RpbmcKKyAqICdvdmVybGFwX29rJyByYW5nZXMsIHNvIHRoYXQgd2UgY2FuIHRoZW4gcmVzZXJ2ZSB0aGlzIG1lbW9yeQorICogcmFuZ2Ugd2l0aG91dCByaXNrIG9mIHBhbmljJ2luZyBvbiBhbiBvdmVybGFwcGluZyBvdmVybGFwX29rCisgKiBlYXJseSByZXNlcnZhdGlvbi4KKyAqLwordm9pZCBfX2luaXQgcmVzZXJ2ZV9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQsIGNoYXIgKm5hbWUpCit7CisJZHJvcF9vdmVybGFwc190aGF0X2FyZV9vayhzdGFydCwgZW5kKTsKKwlfX3Jlc2VydmVfZWFybHkoc3RhcnQsIGVuZCwgbmFtZSwgMCk7Cit9CisKK3ZvaWQgX19pbml0IGZyZWVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCXN0cnVjdCBlYXJseV9yZXMgKnI7CisJaW50IGk7CisKKwlpID0gZmluZF9vdmVybGFwcGVkX2Vhcmx5KHN0YXJ0LCBlbmQpOworCXIgPSAmZWFybHlfcmVzW2ldOworCWlmIChpID49IE1BWF9FQVJMWV9SRVMgfHwgci0+ZW5kICE9IGVuZCB8fCByLT5zdGFydCAhPSBzdGFydCkKKwkJcGFuaWMoImZyZWVfZWFybHkgb24gbm90IHJlc2VydmVkIGFyZWE6ICVsbHgtJWxseCEiLAorCQkJIHN0YXJ0LCBlbmQgLSAxKTsKKworCWRyb3BfcmFuZ2UoaSk7Cit9CisKK3ZvaWQgX19pbml0IGVhcmx5X3Jlc190b19ib290bWVtKHU2NCBzdGFydCwgdTY0IGVuZCkKK3sKKwlpbnQgaSwgY291bnQ7CisJdTY0IGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7CisKKwljb3VudCAgPSAwOworCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykKKwkJY291bnQrKzsKKworCXByaW50ayhLRVJOX0lORk8gIiglZCBlYXJseSByZXNlcnZhdGlvbnMpID09PiBib290bWVtXG4iLCBjb3VudCk7CisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJc3RydWN0IGVhcmx5X3JlcyAqciA9ICZlYXJseV9yZXNbaV07CisJCXByaW50ayhLRVJOX0lORk8gIiAgIyVkIFslMDEwbGx4IC0gJTAxMGxseF0gJTE2cyIsIGksCisJCQlyLT5zdGFydCwgci0+ZW5kLCByLT5uYW1lKTsKKwkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIHItPnN0YXJ0KTsKKwkJZmluYWxfZW5kID0gbWluKGVuZCwgci0+ZW5kKTsKKwkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkgeworCQkJcHJpbnRrKEtFUk5fQ09OVCAiXG4iKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCXByaW50ayhLRVJOX0NPTlQgIiA9PT4gWyUwMTBsbHggLSAlMDEwbGx4XVxuIiwKKwkJCWZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQpOworCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyhmaW5hbF9zdGFydCwgZmluYWxfZW5kIC0gZmluYWxfc3RhcnQsCisJCQkJQk9PVE1FTV9ERUZBVUxUKTsKKwl9Cit9CisKKy8qIENoZWNrIGZvciBhbHJlYWR5IHJlc2VydmVkIGFyZWFzICovCitzdGF0aWMgaW5saW5lIGludCBfX2luaXQgYmFkX2FkZHIodTY0ICphZGRycCwgdTY0IHNpemUsIHU2NCBhbGlnbikKK3sKKwlpbnQgaTsKKwl1NjQgYWRkciA9ICphZGRycDsKKwlpbnQgY2hhbmdlZCA9IDA7CisJc3RydWN0IGVhcmx5X3JlcyAqcjsKK2FnYWluOgorCWkgPSBmaW5kX292ZXJsYXBwZWRfZWFybHkoYWRkciwgYWRkciArIHNpemUpOworCXIgPSAmZWFybHlfcmVzW2ldOworCWlmIChpIDwgTUFYX0VBUkxZX1JFUyAmJiByLT5lbmQpIHsKKwkJKmFkZHJwID0gYWRkciA9IHJvdW5kX3VwKHItPmVuZCwgYWxpZ24pOworCQljaGFuZ2VkID0gMTsKKwkJZ290byBhZ2FpbjsKKwl9CisJcmV0dXJuIGNoYW5nZWQ7Cit9CisKKy8qIENoZWNrIGZvciBhbHJlYWR5IHJlc2VydmVkIGFyZWFzICovCitzdGF0aWMgaW5saW5lIGludCBfX2luaXQgYmFkX2FkZHJfc2l6ZSh1NjQgKmFkZHJwLCB1NjQgKnNpemVwLCB1NjQgYWxpZ24pCit7CisJaW50IGk7CisJdTY0IGFkZHIgPSAqYWRkcnAsIGxhc3Q7CisJdTY0IHNpemUgPSAqc2l6ZXA7CisJaW50IGNoYW5nZWQgPSAwOworYWdhaW46CisJbGFzdCA9IGFkZHIgKyBzaXplOworCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgeworCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKKwkJaWYgKGxhc3QgPiByLT5zdGFydCAmJiBhZGRyIDwgci0+c3RhcnQpIHsKKwkJCXNpemUgPSByLT5zdGFydCAtIGFkZHI7CisJCQljaGFuZ2VkID0gMTsKKwkJCWdvdG8gYWdhaW47CisJCX0KKwkJaWYgKGxhc3QgPiByLT5lbmQgJiYgYWRkciA8IHItPmVuZCkgeworCQkJYWRkciA9IHJvdW5kX3VwKHItPmVuZCwgYWxpZ24pOworCQkJc2l6ZSA9IGxhc3QgLSBhZGRyOworCQkJY2hhbmdlZCA9IDE7CisJCQlnb3RvIGFnYWluOworCQl9CisJCWlmIChsYXN0IDw9IHItPmVuZCAmJiBhZGRyID49IHItPnN0YXJ0KSB7CisJCQkoKnNpemVwKSsrOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisJaWYgKGNoYW5nZWQpIHsKKwkJKmFkZHJwID0gYWRkcjsKKwkJKnNpemVwID0gc2l6ZTsKKwl9CisJcmV0dXJuIGNoYW5nZWQ7Cit9CisKKy8qCisgKiBGaW5kIGEgZnJlZSBhcmVhIHdpdGggc3BlY2lmaWVkIGFsaWdubWVudCBpbiBhIHNwZWNpZmljIHJhbmdlLgorICovCit1NjQgX19pbml0IGZpbmRfZTgyMF9hcmVhKHU2NCBzdGFydCwgdTY0IGVuZCwgdTY0IHNpemUsIHU2NCBhbGlnbikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCQl1NjQgYWRkciwgbGFzdDsKKwkJdTY0IGVpX2xhc3Q7CisKKwkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQorCQkJY29udGludWU7CisJCWFkZHIgPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pOworCQllaV9sYXN0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKKwkJaWYgKGFkZHIgPCBzdGFydCkKKwkJCWFkZHIgPSByb3VuZF91cChzdGFydCwgYWxpZ24pOworCQlpZiAoYWRkciA+PSBlaV9sYXN0KQorCQkJY29udGludWU7CisJCXdoaWxlIChiYWRfYWRkcigmYWRkciwgc2l6ZSwgYWxpZ24pICYmIGFkZHIrc2l6ZSA8PSBlaV9sYXN0KQorCQkJOworCQlsYXN0ID0gYWRkciArIHNpemU7CisJCWlmIChsYXN0ID4gZWlfbGFzdCkKKwkJCWNvbnRpbnVlOworCQlpZiAobGFzdCA+IGVuZCkKKwkJCWNvbnRpbnVlOworCQlyZXR1cm4gYWRkcjsKKwl9CisJcmV0dXJuIC0xVUxMOworfQorCisvKgorICogRmluZCBuZXh0IGZyZWUgcmFuZ2UgYWZ0ZXIgKnN0YXJ0CisgKi8KK3U2NCBfX2luaXQgZmluZF9lODIwX2FyZWFfc2l6ZSh1NjQgc3RhcnQsIHU2NCAqc2l6ZXAsIHU2NCBhbGlnbikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCQl1NjQgYWRkciwgbGFzdDsKKwkJdTY0IGVpX2xhc3Q7CisKKwkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQorCQkJY29udGludWU7CisJCWFkZHIgPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pOworCQllaV9sYXN0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKKwkJaWYgKGFkZHIgPCBzdGFydCkKKwkJCWFkZHIgPSByb3VuZF91cChzdGFydCwgYWxpZ24pOworCQlpZiAoYWRkciA+PSBlaV9sYXN0KQorCQkJY29udGludWU7CisJCSpzaXplcCA9IGVpX2xhc3QgLSBhZGRyOworCQl3aGlsZSAoYmFkX2FkZHJfc2l6ZSgmYWRkciwgc2l6ZXAsIGFsaWduKSAmJgorCQkJYWRkciArICpzaXplcCA8PSBlaV9sYXN0KQorCQkJOworCQlsYXN0ID0gYWRkciArICpzaXplcDsKKwkJaWYgKGxhc3QgPiBlaV9sYXN0KQorCQkJY29udGludWU7CisJCXJldHVybiBhZGRyOworCX0KKwlyZXR1cm4gLTFVTDsKKworfQorCisvKgorICogcHJlIGFsbG9jYXRlZCA0ayBhbmQgcmVzZXJ2ZWQgaXQgaW4gZTgyMAorICovCit1NjQgX19pbml0IGVhcmx5X3Jlc2VydmVfZTgyMCh1NjQgc3RhcnR0LCB1NjQgc2l6ZXQsIHU2NCBhbGlnbikKK3sKKwl1NjQgc2l6ZSA9IDA7CisJdTY0IGFkZHI7CisJdTY0IHN0YXJ0OworCisJc3RhcnQgPSBzdGFydHQ7CisJd2hpbGUgKHNpemUgPCBzaXpldCkKKwkJc3RhcnQgPSBmaW5kX2U4MjBfYXJlYV9zaXplKHN0YXJ0LCAmc2l6ZSwgYWxpZ24pOworCisJaWYgKHNpemUgPCBzaXpldCkKKwkJcmV0dXJuIDA7CisKKwlhZGRyID0gcm91bmRfZG93bihzdGFydCArIHNpemUgLSBzaXpldCwgYWxpZ24pOworCWU4MjBfdXBkYXRlX3JhbmdlKGFkZHIsIHNpemV0LCBFODIwX1JBTSwgRTgyMF9SRVNFUlZFRCk7CisJZTgyMF91cGRhdGVfcmFuZ2Vfc2F2ZWQoYWRkciwgc2l6ZXQsIEU4MjBfUkFNLCBFODIwX1JFU0VSVkVEKTsKKwlwcmludGsoS0VSTl9JTkZPICJ1cGRhdGUgZTgyMCBmb3IgZWFybHlfcmVzZXJ2ZV9lODIwXG4iKTsKKwl1cGRhdGVfZTgyMCgpOworCXVwZGF0ZV9lODIwX3NhdmVkKCk7CisKKwlyZXR1cm4gYWRkcjsKK30KKworI2lmZGVmIENPTkZJR19YODZfMzIKKyMgaWZkZWYgQ09ORklHX1g4Nl9QQUUKKyMgIGRlZmluZSBNQVhfQVJDSF9QRk4JCSgxVUxMPDwoMzYtUEFHRV9TSElGVCkpCisjIGVsc2UKKyMgIGRlZmluZSBNQVhfQVJDSF9QRk4JCSgxVUxMPDwoMzItUEFHRV9TSElGVCkpCisjIGVuZGlmCisjZWxzZSAvKiBDT05GSUdfWDg2XzMyICovCisjIGRlZmluZSBNQVhfQVJDSF9QRk4gTUFYTUVNPj5QQUdFX1NISUZUCisjZW5kaWYKKworLyoKKyAqIEZpbmQgdGhlIGhpZ2hlc3QgcGFnZSBmcmFtZSBudW1iZXIgd2UgaGF2ZSBhdmFpbGFibGUKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfZW5kX3Bmbih1bnNpZ25lZCBsb25nIGxpbWl0X3BmbiwgdW5zaWduZWQgdHlwZSkKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBsb25nIGxhc3RfcGZuID0gMDsKKwl1bnNpZ25lZCBsb25nIG1heF9hcmNoX3BmbiA9IE1BWF9BUkNIX1BGTjsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbjsKKwkJdW5zaWduZWQgbG9uZyBlbmRfcGZuOworCisJCWlmIChlaS0+dHlwZSAhPSB0eXBlKQorCQkJY29udGludWU7CisKKwkJc3RhcnRfcGZuID0gZWktPmFkZHIgPj4gUEFHRV9TSElGVDsKKwkJZW5kX3BmbiA9IChlaS0+YWRkciArIGVpLT5zaXplKSA+PiBQQUdFX1NISUZUOworCisJCWlmIChzdGFydF9wZm4gPj0gbGltaXRfcGZuKQorCQkJY29udGludWU7CisJCWlmIChlbmRfcGZuID4gbGltaXRfcGZuKSB7CisJCQlsYXN0X3BmbiA9IGxpbWl0X3BmbjsKKwkJCWJyZWFrOworCQl9CisJCWlmIChlbmRfcGZuID4gbGFzdF9wZm4pCisJCQlsYXN0X3BmbiA9IGVuZF9wZm47CisJfQorCisJaWYgKGxhc3RfcGZuID4gbWF4X2FyY2hfcGZuKQorCQlsYXN0X3BmbiA9IG1heF9hcmNoX3BmbjsKKworCXByaW50ayhLRVJOX0lORk8gImxhc3RfcGZuID0gJSNseCBtYXhfYXJjaF9wZm4gPSAlI2x4XG4iLAorCQkJIGxhc3RfcGZuLCBtYXhfYXJjaF9wZm4pOworCXJldHVybiBsYXN0X3BmbjsKK30KK3Vuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfZW5kX29mX3JhbV9wZm4odm9pZCkKK3sKKwlyZXR1cm4gZTgyMF9lbmRfcGZuKE1BWF9BUkNIX1BGTiwgRTgyMF9SQU0pOworfQorCit1bnNpZ25lZCBsb25nIF9faW5pdCBlODIwX2VuZF9vZl9sb3dfcmFtX3Bmbih2b2lkKQoreworCXJldHVybiBlODIwX2VuZF9wZm4oMVVMPDwoMzIgLSBQQUdFX1NISUZUKSwgRTgyMF9SQU0pOworfQorLyoKKyAqIEZpbmRzIGFuIGFjdGl2ZSByZWdpb24gaW4gdGhlIGFkZHJlc3MgcmFuZ2UgZnJvbSBzdGFydF9wZm4gdG8gbGFzdF9wZm4gYW5kCisgKiByZXR1cm5zIGl0cyByYW5nZSBpbiBlaV9zdGFydHBmbiBhbmQgZWlfZW5kcGZuIGZvciB0aGUgZTgyMCBlbnRyeS4KKyAqLworaW50IF9faW5pdCBlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbihjb25zdCBzdHJ1Y3QgZTgyMGVudHJ5ICplaSwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyBsYXN0X3BmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX3N0YXJ0cGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyAqZWlfZW5kcGZuKQoreworCXU2NCBhbGlnbiA9IFBBR0VfU0laRTsKKworCSplaV9zdGFydHBmbiA9IHJvdW5kX3VwKGVpLT5hZGRyLCBhbGlnbikgPj4gUEFHRV9TSElGVDsKKwkqZWlfZW5kcGZuID0gcm91bmRfZG93bihlaS0+YWRkciArIGVpLT5zaXplLCBhbGlnbikgPj4gUEFHRV9TSElGVDsKKworCS8qIFNraXAgbWFwIGVudHJpZXMgc21hbGxlciB0aGFuIGEgcGFnZSAqLworCWlmICgqZWlfc3RhcnRwZm4gPj0gKmVpX2VuZHBmbikKKwkJcmV0dXJuIDA7CisKKwkvKiBTa2lwIGlmIG1hcCBpcyBvdXRzaWRlIHRoZSBub2RlICovCisJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNIHx8ICplaV9lbmRwZm4gPD0gc3RhcnRfcGZuIHx8CisJCQkJICAgICplaV9zdGFydHBmbiA+PSBsYXN0X3BmbikKKwkJcmV0dXJuIDA7CisKKwkvKiBDaGVjayBmb3Igb3ZlcmxhcHMgKi8KKwlpZiAoKmVpX3N0YXJ0cGZuIDwgc3RhcnRfcGZuKQorCQkqZWlfc3RhcnRwZm4gPSBzdGFydF9wZm47CisJaWYgKCplaV9lbmRwZm4gPiBsYXN0X3BmbikKKwkJKmVpX2VuZHBmbiA9IGxhc3RfcGZuOworCisJcmV0dXJuIDE7Cit9CisKKy8qIFdhbGsgdGhlIGU4MjAgbWFwIGFuZCByZWdpc3RlciBhY3RpdmUgcmVnaW9ucyB3aXRoaW4gYSBub2RlICovCit2b2lkIF9faW5pdCBlODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkgdW5zaWduZWQgbG9uZyBsYXN0X3BmbikKK3sKKwl1bnNpZ25lZCBsb25nIGVpX3N0YXJ0cGZuOworCXVuc2lnbmVkIGxvbmcgZWlfZW5kcGZuOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspCisJCWlmIChlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbigmZTgyMC5tYXBbaV0sCisJCQkJCSAgICBzdGFydF9wZm4sIGxhc3RfcGZuLAorCQkJCQkgICAgJmVpX3N0YXJ0cGZuLCAmZWlfZW5kcGZuKSkKKwkJCWFkZF9hY3RpdmVfcmFuZ2UobmlkLCBlaV9zdGFydHBmbiwgZWlfZW5kcGZuKTsKK30KKworLyoKKyAqIEZpbmQgdGhlIGhvbGUgc2l6ZSAoaW4gYnl0ZXMpIGluIHRoZSBtZW1vcnkgcmFuZ2UuCisgKiBAc3RhcnQ6IHN0YXJ0aW5nIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSB0byBzY2FuCisgKiBAZW5kOiBlbmRpbmcgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIHRvIHNjYW4KKyAqLwordTY0IF9faW5pdCBlODIwX2hvbGVfc2l6ZSh1NjQgc3RhcnQsIHU2NCBlbmQpCit7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOworCXVuc2lnbmVkIGxvbmcgbGFzdF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKKwl1bnNpZ25lZCBsb25nIGVpX3N0YXJ0cGZuLCBlaV9lbmRwZm4sIHJhbSA9IDA7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlpZiAoZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oJmU4MjAubWFwW2ldLAorCQkJCQkgICAgc3RhcnRfcGZuLCBsYXN0X3BmbiwKKwkJCQkJICAgICZlaV9zdGFydHBmbiwgJmVpX2VuZHBmbikpCisJCQlyYW0gKz0gZWlfZW5kcGZuIC0gZWlfc3RhcnRwZm47CisJfQorCXJldHVybiBlbmQgLSBzdGFydCAtICgodTY0KXJhbSA8PCBQQUdFX1NISUZUKTsKK30KKworc3RhdGljIHZvaWQgZWFybHlfcGFuaWMoY2hhciAqbXNnKQoreworCWVhcmx5X3ByaW50ayhtc2cpOworCXBhbmljKG1zZyk7Cit9CisKK3N0YXRpYyBpbnQgdXNlcmRlZiBfX2luaXRkYXRhOworCisvKiAibWVtPW5vcGVudGl1bSIgZGlzYWJsZXMgdGhlIDRNQiBwYWdlIHRhYmxlcy4gKi8KK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX21lbW9wdChjaGFyICpwKQoreworCXU2NCBtZW1fc2l6ZTsKKworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJaWYgKCFzdHJjbXAocCwgIm5vcGVudGl1bSIpKSB7CisJCXNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfUFNFKTsKKwkJcmV0dXJuIDA7CisJfQorI2VuZGlmCisKKwl1c2VyZGVmID0gMTsKKwltZW1fc2l6ZSA9IG1lbXBhcnNlKHAsICZwKTsKKwllODIwX3JlbW92ZV9yYW5nZShtZW1fc2l6ZSwgVUxMT05HX01BWCAtIG1lbV9zaXplLCBFODIwX1JBTSwgMSk7CisKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJtZW0iLCBwYXJzZV9tZW1vcHQpOworCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1tYXBfb3B0KGNoYXIgKnApCit7CisJY2hhciAqb2xkcDsKKwl1NjQgc3RhcnRfYXQsIG1lbV9zaXplOworCisJaWYgKCFwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghc3RyY21wKHAsICJleGFjdG1hcCIpKSB7CisjaWZkZWYgQ09ORklHX0NSQVNIX0RVTVAKKwkJLyoKKwkJICogSWYgd2UgYXJlIGRvaW5nIGEgY3Jhc2ggZHVtcCwgd2Ugc3RpbGwgbmVlZCB0byBrbm93CisJCSAqIHRoZSByZWFsIG1lbSBzaXplIGJlZm9yZSBvcmlnaW5hbCBtZW1vcnkgbWFwIGlzCisJCSAqIHJlc2V0LgorCQkgKi8KKwkJc2F2ZWRfbWF4X3BmbiA9IGU4MjBfZW5kX29mX3JhbV9wZm4oKTsKKyNlbmRpZgorCQllODIwLm5yX21hcCA9IDA7CisJCXVzZXJkZWYgPSAxOworCQlyZXR1cm4gMDsKKwl9CisKKwlvbGRwID0gcDsKKwltZW1fc2l6ZSA9IG1lbXBhcnNlKHAsICZwKTsKKwlpZiAocCA9PSBvbGRwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXVzZXJkZWYgPSAxOworCWlmICgqcCA9PSAnQCcpIHsKKwkJc3RhcnRfYXQgPSBtZW1wYXJzZShwKzEsICZwKTsKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SQU0pOworCX0gZWxzZSBpZiAoKnAgPT0gJyMnKSB7CisJCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7CisJCWU4MjBfYWRkX3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfQUNQSSk7CisJfSBlbHNlIGlmICgqcCA9PSAnJCcpIHsKKwkJc3RhcnRfYXQgPSBtZW1wYXJzZShwKzEsICZwKTsKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SRVNFUlZFRCk7CisJfSBlbHNlCisJCWU4MjBfcmVtb3ZlX3JhbmdlKG1lbV9zaXplLCBVTExPTkdfTUFYIC0gbWVtX3NpemUsIEU4MjBfUkFNLCAxKTsKKworCXJldHVybiAqcCA9PSAnXDAnID8gMCA6IC1FSU5WQUw7Cit9CitlYXJseV9wYXJhbSgibWVtbWFwIiwgcGFyc2VfbWVtbWFwX29wdCk7CisKK3ZvaWQgX19pbml0IGZpbmlzaF9lODIwX3BhcnNpbmcodm9pZCkKK3sKKwlpZiAodXNlcmRlZikgeworCQlpbnQgbnIgPSBlODIwLm5yX21hcDsKKworCQlpZiAoc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmbnIpIDwgMCkKKwkJCWVhcmx5X3BhbmljKCJJbnZhbGlkIHVzZXIgc3VwcGxpZWQgbWVtb3J5IG1hcCIpOworCQllODIwLm5yX21hcCA9IG5yOworCisJCXByaW50ayhLRVJOX0lORk8gInVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJCWU4MjBfcHJpbnRfbWFwKCJ1c2VyIik7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKmU4MjBfdHlwZV90b19zdHJpbmcoaW50IGU4MjBfdHlwZSkKK3sKKwlzd2l0Y2ggKGU4MjBfdHlwZSkgeworCWNhc2UgRTgyMF9SRVNFUlZFRF9LRVJOOgorCWNhc2UgRTgyMF9SQU06CXJldHVybiAiU3lzdGVtIFJBTSI7CisJY2FzZSBFODIwX0FDUEk6CXJldHVybiAiQUNQSSBUYWJsZXMiOworCWNhc2UgRTgyMF9OVlM6CXJldHVybiAiQUNQSSBOb24tdm9sYXRpbGUgU3RvcmFnZSI7CisJZGVmYXVsdDoJcmV0dXJuICJyZXNlcnZlZCI7CisJfQorfQorCisvKgorICogTWFyayBlODIwIHJlc2VydmVkIGFyZWFzIGFzIGJ1c3kgZm9yIHRoZSByZXNvdXJjZSBtYW5hZ2VyLgorICovCit2b2lkIF9faW5pdCBlODIwX3Jlc2VydmVfcmVzb3VyY2VzKHZvaWQpCit7CisJaW50IGk7CisJc3RydWN0IHJlc291cmNlICpyZXM7CisJdTY0IGVuZDsKKworCXJlcyA9IGFsbG9jX2Jvb3RtZW1fbG93KHNpemVvZihzdHJ1Y3QgcmVzb3VyY2UpICogZTgyMC5ucl9tYXApOworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCWVuZCA9IGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplIC0gMTsKKyNpZm5kZWYgQ09ORklHX1JFU09VUkNFU182NEJJVAorCQlpZiAoZW5kID4gMHgxMDAwMDAwMDBVTEwpIHsKKwkJCXJlcysrOworCQkJY29udGludWU7CisJCX0KKyNlbmRpZgorCQlyZXMtPm5hbWUgPSBlODIwX3R5cGVfdG9fc3RyaW5nKGU4MjAubWFwW2ldLnR5cGUpOworCQlyZXMtPnN0YXJ0ID0gZTgyMC5tYXBbaV0uYWRkcjsKKwkJcmVzLT5lbmQgPSBlbmQ7CisKKwkJcmVzLT5mbGFncyA9IElPUkVTT1VSQ0VfTUVNIHwgSU9SRVNPVVJDRV9CVVNZOworCQlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCByZXMpOworCQlyZXMrKzsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMF9zYXZlZC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplbnRyeSA9ICZlODIwX3NhdmVkLm1hcFtpXTsKKwkJZmlybXdhcmVfbWFwX2FkZF9lYXJseShlbnRyeS0+YWRkciwKKwkJCWVudHJ5LT5hZGRyICsgZW50cnktPnNpemUgLSAxLAorCQkJZTgyMF90eXBlX3RvX3N0cmluZyhlbnRyeS0+dHlwZSkpOworCX0KK30KKworLyoKKyAqIE5vbi1zdGFuZGFyZCBtZW1vcnkgc2V0dXAgY2FuIGJlIHNwZWNpZmllZCB2aWEgdGhpcyBxdWlyazoKKyAqLworY2hhciAqICgqYXJjaF9tZW1vcnlfc2V0dXBfcXVpcmspKHZvaWQpOworCitjaGFyICpfX2luaXQgZGVmYXVsdF9tYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKQoreworCWNoYXIgKndobyA9ICJCSU9TLWU4MjAiOworCWludCBuZXdfbnI7CisJLyoKKwkgKiBUcnkgdG8gY29weSB0aGUgQklPUy1zdXBwbGllZCBFODIwLW1hcC4KKwkgKgorCSAqIE90aGVyd2lzZSBmYWtlIGEgbWVtb3J5IG1hcDsgb25lIHNlY3Rpb24gZnJvbSAway0+NjQwaywKKwkgKiB0aGUgbmV4dCBzZWN0aW9uIGZyb20gMW1iLT5hcHByb3ByaWF0ZV9tZW1faworCSAqLworCW5ld19uciA9IGJvb3RfcGFyYW1zLmU4MjBfZW50cmllczsKKwlzYW5pdGl6ZV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwKKwkJCUFSUkFZX1NJWkUoYm9vdF9wYXJhbXMuZTgyMF9tYXApLAorCQkJJm5ld19ucik7CisJYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzID0gbmV3X25yOworCWlmIChhcHBlbmRfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsIGJvb3RfcGFyYW1zLmU4MjBfZW50cmllcykKKwkgIDwgMCkgeworCQl1NjQgbWVtX3NpemU7CisKKwkJLyogY29tcGFyZSByZXN1bHRzIGZyb20gb3RoZXIgbWV0aG9kcyBhbmQgdGFrZSB0aGUgZ3JlYXRlciAqLworCQlpZiAoYm9vdF9wYXJhbXMuYWx0X21lbV9rCisJCSAgICA8IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1faykgeworCQkJbWVtX3NpemUgPSBib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2s7CisJCQl3aG8gPSAiQklPUy04OCI7CisJCX0gZWxzZSB7CisJCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLmFsdF9tZW1fazsKKwkJCXdobyA9ICJCSU9TLWU4MDEiOworCQl9CisKKwkJZTgyMC5ucl9tYXAgPSAwOworCQllODIwX2FkZF9yZWdpb24oMCwgTE9XTUVNU0laRSgpLCBFODIwX1JBTSk7CisJCWU4MjBfYWRkX3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgPDwgMTAsIEU4MjBfUkFNKTsKKwl9CisKKwkvKiBJbiBjYXNlIHNvbWVvbmUgY2FyZXMuLi4gKi8KKwlyZXR1cm4gd2hvOworfQorCitjaGFyICpfX2luaXQgX19hdHRyaWJ1dGVfXygod2VhaykpIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCit7CisJaWYgKGFyY2hfbWVtb3J5X3NldHVwX3F1aXJrKSB7CisJCWNoYXIgKndobyA9IGFyY2hfbWVtb3J5X3NldHVwX3F1aXJrKCk7CisKKwkJaWYgKHdobykKKwkJCXJldHVybiB3aG87CisJfQorCXJldHVybiBkZWZhdWx0X21hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7Cit9CisKKy8qIE92ZXJyaWRkZW4gaW4gcGFyYXZpcnQuYyBpZiBDT05GSUdfUEFSQVZJUlQgKi8KK2NoYXIgKiBfX2luaXQgX19hdHRyaWJ1dGVfXygod2VhaykpIG1lbW9yeV9zZXR1cCh2b2lkKQoreworCXJldHVybiBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCgpOworfQorCit2b2lkIF9faW5pdCBzZXR1cF9tZW1vcnlfbWFwKHZvaWQpCit7CisJY2hhciAqd2hvOworCisJd2hvID0gbWVtb3J5X3NldHVwKCk7CisJbWVtY3B5KCZlODIwX3NhdmVkLCAmZTgyMCwgc2l6ZW9mKHN0cnVjdCBlODIwbWFwKSk7CisJcHJpbnRrKEtFUk5fSU5GTyAiQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJZTgyMF9wcmludF9tYXAod2hvKTsKK30KKworI2lmZGVmIENPTkZJR19YODZfNjQKK2ludCBfX2luaXQgYXJjaF9nZXRfcmFtX3JhbmdlKGludCBzbG90LCB1NjQgKmFkZHIsIHU2NCAqc2l6ZSkKK3sKKwlpbnQgaTsKKworCWlmIChzbG90IDwgMCB8fCBzbG90ID49IGU4MjAubnJfbWFwKQorCQlyZXR1cm4gLTE7CisJZm9yIChpID0gc2xvdDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJaWYgKGU4MjAubWFwW2ldLnR5cGUgIT0gRTgyMF9SQU0pCisJCQljb250aW51ZTsKKwkJYnJlYWs7CisJfQorCWlmIChpID09IGU4MjAubnJfbWFwIHx8IGU4MjAubWFwW2ldLmFkZHIgPiAobWF4X3BmbiA8PCBQQUdFX1NISUZUKSkKKwkJcmV0dXJuIC0xOworCSphZGRyID0gZTgyMC5tYXBbaV0uYWRkcjsKKwkqc2l6ZSA9IG1pbl90KHU2NCwgZTgyMC5tYXBbaV0uc2l6ZSArIGU4MjAubWFwW2ldLmFkZHIsCisJCW1heF9wZm4gPDwgUEFHRV9TSElGVCkgLSAqYWRkcjsKKwlyZXR1cm4gaSArIDE7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lODIwXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZTgyMF8zMi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDczM2U3Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9lODIwXzMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw3NzUgKzAsMCBAQAotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+Ci0jaW5jbHVkZSA8bGludXgvcGZuLmg+Ci0jaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KLQotI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+Ci0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLSNpbmNsdWRlIDxhc20vZTgyMC5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotCi1zdHJ1Y3QgZTgyMG1hcCBlODIwOwotc3RydWN0IGNoYW5nZV9tZW1iZXIgewotCXN0cnVjdCBlODIwZW50cnkgKnBiaW9zOyAvKiBwb2ludGVyIHRvIG9yaWdpbmFsIGJpb3MgZW50cnkgKi8KLQl1bnNpZ25lZCBsb25nIGxvbmcgYWRkcjsgLyogYWRkcmVzcyBmb3IgdGhpcyBjaGFuZ2UgcG9pbnQgKi8KLX07Ci1zdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgY2hhbmdlX3BvaW50X2xpc3RbMipFODIwTUFYXSBfX2luaXRkYXRhOwotc3RhdGljIHN0cnVjdCBjaGFuZ2VfbWVtYmVyICpjaGFuZ2VfcG9pbnRbMipFODIwTUFYXSBfX2luaXRkYXRhOwotc3RhdGljIHN0cnVjdCBlODIwZW50cnkgKm92ZXJsYXBfbGlzdFtFODIwTUFYXSBfX2luaXRkYXRhOwotc3RhdGljIHN0cnVjdCBlODIwZW50cnkgbmV3X2Jpb3NbRTgyME1BWF0gX19pbml0ZGF0YTsKLS8qIEZvciBQQ0kgb3Igb3RoZXIgbWVtb3J5LW1hcHBlZCByZXNvdXJjZXMgKi8KLXVuc2lnbmVkIGxvbmcgcGNpX21lbV9zdGFydCA9IDB4MTAwMDAwMDA7Ci0jaWZkZWYgQ09ORklHX1BDSQotRVhQT1JUX1NZTUJPTChwY2lfbWVtX3N0YXJ0KTsKLSNlbmRpZgotZXh0ZXJuIGludCB1c2VyX2RlZmluZWRfbWVtbWFwOwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHN5c3RlbV9yb21fcmVzb3VyY2UgPSB7Ci0JLm5hbWUJPSAiU3lzdGVtIFJPTSIsCi0JLnN0YXJ0CT0gMHhmMDAwMCwKLQkuZW5kCT0gMHhmZmZmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJFeHRlbnNpb24gUk9NIiwKLQkuc3RhcnQJPSAweGUwMDAwLAotCS5lbmQJPSAweGVmZmZmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbXSA9IHsgewotCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCi0JLnN0YXJ0CT0gMHhjODAwMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX0sIHsKLQkubmFtZSAJPSAiQWRhcHRlciBST00iLAotCS5zdGFydAk9IDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19LCB7Ci0JLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfSwgewotCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX0sIHsKLQkubmFtZSAJPSAiQWRhcHRlciBST00iLAotCS5zdGFydAk9IDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19LCB7Ci0JLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfSB9OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHZpZGVvX3JvbV9yZXNvdXJjZSA9IHsKLQkubmFtZSAJPSAiVmlkZW8gUk9NIiwKLQkuc3RhcnQJPSAweGMwMDAwLAotCS5lbmQJPSAweGM3ZmZmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfTsKLQotI2RlZmluZSBST01TSUdOQVRVUkUgMHhhYTU1Ci0KLXN0YXRpYyBpbnQgX19pbml0IHJvbXNpZ25hdHVyZShjb25zdCB1bnNpZ25lZCBjaGFyICpyb20pCi17Ci0JY29uc3QgdW5zaWduZWQgc2hvcnQgKiBjb25zdCBwdHIgPSAoY29uc3QgdW5zaWduZWQgc2hvcnQgKilyb207Ci0JdW5zaWduZWQgc2hvcnQgc2lnOwotCi0JcmV0dXJuIHByb2JlX2tlcm5lbF9hZGRyZXNzKHB0ciwgc2lnKSA9PSAwICYmIHNpZyA9PSBST01TSUdOQVRVUkU7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHJvbWNoZWNrc3VtKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJvbSwgdW5zaWduZWQgbG9uZyBsZW5ndGgpCi17Ci0JdW5zaWduZWQgY2hhciBzdW0sIGM7Ci0KLQlmb3IgKHN1bSA9IDA7IGxlbmd0aCAmJiBwcm9iZV9rZXJuZWxfYWRkcmVzcyhyb20rKywgYykgPT0gMDsgbGVuZ3RoLS0pCi0JCXN1bSArPSBjOwotCXJldHVybiAhbGVuZ3RoICYmICFzdW07Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBwcm9iZV9yb21zKHZvaWQpCi17Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqcm9tOwotCXVuc2lnbmVkIGxvbmcgc3RhcnQsIGxlbmd0aCwgdXBwZXI7Ci0JdW5zaWduZWQgY2hhciBjOwotCWludCBpOwotCi0JLyogdmlkZW8gcm9tICovCi0JdXBwZXIgPSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbMF0uc3RhcnQ7Ci0JZm9yIChzdGFydCA9IHZpZGVvX3JvbV9yZXNvdXJjZS5zdGFydDsgc3RhcnQgPCB1cHBlcjsgc3RhcnQgKz0gMjA0OCkgewotCQlyb20gPSBpc2FfYnVzX3RvX3ZpcnQoc3RhcnQpOwotCQlpZiAoIXJvbXNpZ25hdHVyZShyb20pKQotCQkJY29udGludWU7Ci0KLQkJdmlkZW9fcm9tX3Jlc291cmNlLnN0YXJ0ID0gc3RhcnQ7Ci0KLQkJaWYgKHByb2JlX2tlcm5lbF9hZGRyZXNzKHJvbSArIDIsIGMpICE9IDApCi0JCQljb250aW51ZTsKLQotCQkvKiAwIDwgbGVuZ3RoIDw9IDB4N2YgKiA1MTIsIGhpc3RvcmljYWxseSAqLwotCQlsZW5ndGggPSBjICogNTEyOwotCi0JCS8qIGlmIGNoZWNrc3VtIG9rYXksIHRydXN0IGxlbmd0aCBieXRlICovCi0JCWlmIChsZW5ndGggJiYgcm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKQotCQkJdmlkZW9fcm9tX3Jlc291cmNlLmVuZCA9IHN0YXJ0ICsgbGVuZ3RoIC0gMTsKLQotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnZpZGVvX3JvbV9yZXNvdXJjZSk7Ci0JCWJyZWFrOwotCX0KLQotCXN0YXJ0ID0gKHZpZGVvX3JvbV9yZXNvdXJjZS5lbmQgKyAxICsgMjA0NykgJiB+MjA0N1VMOwotCWlmIChzdGFydCA8IHVwcGVyKQotCQlzdGFydCA9IHVwcGVyOwotCi0JLyogc3lzdGVtIHJvbSAqLwotCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmc3lzdGVtX3JvbV9yZXNvdXJjZSk7Ci0JdXBwZXIgPSBzeXN0ZW1fcm9tX3Jlc291cmNlLnN0YXJ0OwotCi0JLyogY2hlY2sgZm9yIGV4dGVuc2lvbiByb20gKGlnbm9yZSBsZW5ndGggYnl0ZSEpICovCi0Jcm9tID0gaXNhX2J1c190b192aXJ0KGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQpOwotCWlmIChyb21zaWduYXR1cmUocm9tKSkgewotCQlsZW5ndGggPSBleHRlbnNpb25fcm9tX3Jlc291cmNlLmVuZCAtIGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQgKyAxOwotCQlpZiAocm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKSB7Ci0JCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmV4dGVuc2lvbl9yb21fcmVzb3VyY2UpOwotCQkJdXBwZXIgPSBleHRlbnNpb25fcm9tX3Jlc291cmNlLnN0YXJ0OwotCQl9Ci0JfQotCi0JLyogY2hlY2sgZm9yIGFkYXB0ZXIgcm9tcyBvbiAyayBib3VuZGFyaWVzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWRhcHRlcl9yb21fcmVzb3VyY2VzKSAmJiBzdGFydCA8IHVwcGVyOyBzdGFydCArPSAyMDQ4KSB7Ci0JCXJvbSA9IGlzYV9idXNfdG9fdmlydChzdGFydCk7Ci0JCWlmICghcm9tc2lnbmF0dXJlKHJvbSkpCi0JCQljb250aW51ZTsKLQotCQlpZiAocHJvYmVfa2VybmVsX2FkZHJlc3Mocm9tICsgMiwgYykgIT0gMCkKLQkJCWNvbnRpbnVlOwotCi0JCS8qIDAgPCBsZW5ndGggPD0gMHg3ZiAqIDUxMiwgaGlzdG9yaWNhbGx5ICovCi0JCWxlbmd0aCA9IGMgKiA1MTI7Ci0KLQkJLyogYnV0IGFjY2VwdCBhbnkgbGVuZ3RoIHRoYXQgZml0cyBpZiBjaGVja3N1bSBva2F5ICovCi0JCWlmICghbGVuZ3RoIHx8IHN0YXJ0ICsgbGVuZ3RoID4gdXBwZXIgfHwgIXJvbWNoZWNrc3VtKHJvbSwgbGVuZ3RoKSkKLQkJCWNvbnRpbnVlOwotCi0JCWFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXS5zdGFydCA9IHN0YXJ0OwotCQlhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaV0uZW5kID0gc3RhcnQgKyBsZW5ndGggLSAxOwotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXSk7Ci0KLQkJc3RhcnQgPSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaSsrXS5lbmQgJiB+MjA0N1VMOwotCX0KLX0KLQotLyoKLSAqIFJlcXVlc3QgYWRkcmVzcyBzcGFjZSBmb3IgYWxsIHN0YW5kYXJkIFJBTSBhbmQgUk9NIHJlc291cmNlcwotICogYW5kIGFsc28gZm9yIHJlZ2lvbnMgcmVwb3J0ZWQgYXMgcmVzZXJ2ZWQgYnkgdGhlIGU4MjAuCi0gKi8KLXZvaWQgX19pbml0IGluaXRfaW9tZW1fcmVzb3VyY2VzKHN0cnVjdCByZXNvdXJjZSAqY29kZV9yZXNvdXJjZSwKLQkJc3RydWN0IHJlc291cmNlICpkYXRhX3Jlc291cmNlLAotCQlzdHJ1Y3QgcmVzb3VyY2UgKmJzc19yZXNvdXJjZSkKLXsKLQlpbnQgaTsKLQotCXByb2JlX3JvbXMoKTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKLSNpZm5kZWYgQ09ORklHX1JFU09VUkNFU182NEJJVAotCQlpZiAoZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemUgPiAweDEwMDAwMDAwMFVMTCkKLQkJCWNvbnRpbnVlOwotI2VuZGlmCi0JCXJlcyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSksIEdGUF9BVE9NSUMpOwotCQlzd2l0Y2ggKGU4MjAubWFwW2ldLnR5cGUpIHsKLQkJY2FzZSBFODIwX1JBTToJcmVzLT5uYW1lID0gIlN5c3RlbSBSQU0iOyBicmVhazsKLQkJY2FzZSBFODIwX0FDUEk6CXJlcy0+bmFtZSA9ICJBQ1BJIFRhYmxlcyI7IGJyZWFrOwotCQljYXNlIEU4MjBfTlZTOglyZXMtPm5hbWUgPSAiQUNQSSBOb24tdm9sYXRpbGUgU3RvcmFnZSI7IGJyZWFrOwotCQlkZWZhdWx0OglyZXMtPm5hbWUgPSAicmVzZXJ2ZWQiOwotCQl9Ci0JCXJlcy0+c3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOwotCQlyZXMtPmVuZCA9IHJlcy0+c3RhcnQgKyBlODIwLm1hcFtpXS5zaXplIC0gMTsKLQkJcmVzLT5mbGFncyA9IElPUkVTT1VSQ0VfTUVNIHwgSU9SRVNPVVJDRV9CVVNZOwotCQlpZiAocmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsIHJlcykpIHsKLQkJCWtmcmVlKHJlcyk7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSA9PSBFODIwX1JBTSkgewotCQkJLyoKLQkJCSAqICBXZSBkb24ndCBrbm93IHdoaWNoIFJBTSByZWdpb24gY29udGFpbnMga2VybmVsIGRhdGEsCi0JCQkgKiAgc28gd2UgdHJ5IGl0IHJlcGVhdGVkbHkgYW5kIGxldCB0aGUgcmVzb3VyY2UgbWFuYWdlcgotCQkJICogIHRlc3QgaXQuCi0JCQkgKi8KLQkJCXJlcXVlc3RfcmVzb3VyY2UocmVzLCBjb2RlX3Jlc291cmNlKTsKLQkJCXJlcXVlc3RfcmVzb3VyY2UocmVzLCBkYXRhX3Jlc291cmNlKTsKLQkJCXJlcXVlc3RfcmVzb3VyY2UocmVzLCBic3NfcmVzb3VyY2UpOwotI2lmZGVmIENPTkZJR19LRVhFQwotCQkJaWYgKGNyYXNoa19yZXMuc3RhcnQgIT0gY3Jhc2hrX3Jlcy5lbmQpCi0JCQkJcmVxdWVzdF9yZXNvdXJjZShyZXMsICZjcmFzaGtfcmVzKTsKLSNlbmRpZgotCQl9Ci0JfQotfQotCi0jaWYgZGVmaW5lZChDT05GSUdfUE0pICYmIGRlZmluZWQoQ09ORklHX0hJQkVSTkFUSU9OKQotLyoqCi0gKiBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnMgLSBGaW5kIHRoZSByYW5nZXMgb2YgcGh5c2ljYWwgYWRkcmVzc2VzIHRoYXQgZG8gbm90Ci0gKiBjb3JyZXNwb25kIHRvIGU4MjAgUkFNIGFyZWFzIGFuZCBtYXJrIHRoZSBjb3JyZXNwb25kaW5nIHBhZ2VzIGFzIG5vc2F2ZSBmb3IKLSAqIGhpYmVybmF0aW9uLgotICoKLSAqIFRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhlIGU4MjAgbWFwIHRvIGJlIHNvcnRlZCBhbmQgd2l0aG91dCBhbnkKLSAqIG92ZXJsYXBwaW5nIGVudHJpZXMgYW5kIGFzc3VtZXMgdGhlIGZpcnN0IGU4MjAgYXJlYSB0byBiZSBSQU0uCi0gKi8KLXZvaWQgX19pbml0IGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh2b2lkKQotewotCWludCBpOwotCXVuc2lnbmVkIGxvbmcgcGZuOwotCi0JcGZuID0gUEZOX0RPV04oZTgyMC5tYXBbMF0uYWRkciArIGU4MjAubWFwWzBdLnNpemUpOwotCWZvciAoaSA9IDE7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCi0JCWlmIChwZm4gPCBQRk5fVVAoZWktPmFkZHIpKQotCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihwZm4sIFBGTl9VUChlaS0+YWRkcikpOwotCi0JCXBmbiA9IFBGTl9ET1dOKGVpLT5hZGRyICsgZWktPnNpemUpOwotCQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0pCi0JCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKFBGTl9VUChlaS0+YWRkciksIHBmbik7Ci0KLQkJaWYgKHBmbiA+PSBtYXhfbG93X3BmbikKLQkJCWJyZWFrOwotCX0KLX0KLSNlbmRpZgotCi12b2lkIF9faW5pdCBhZGRfbWVtb3J5X3JlZ2lvbih1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsCi0JCQkgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSwgaW50IHR5cGUpCi17Ci0JaW50IHg7Ci0KLQl4ID0gZTgyMC5ucl9tYXA7Ci0KLQlpZiAoeCA9PSBFODIwTUFYKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiT29vcHMhIFRvbyBtYW55IGVudHJpZXMgaW4gdGhlIG1lbW9yeSBtYXAhXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCWU4MjAubWFwW3hdLmFkZHIgPSBzdGFydDsKLQllODIwLm1hcFt4XS5zaXplID0gc2l6ZTsKLQllODIwLm1hcFt4XS50eXBlID0gdHlwZTsKLQllODIwLm5yX21hcCsrOwotfSAvKiBhZGRfbWVtb3J5X3JlZ2lvbiAqLwotCi0vKgotICogU2FuaXRpemUgdGhlIEJJT1MgZTgyMCBtYXAuCi0gKgotICogU29tZSBlODIwIHJlc3BvbnNlcyBpbmNsdWRlIG92ZXJsYXBwaW5nIGVudHJpZXMuICBUaGUgZm9sbG93aW5nCi0gKiByZXBsYWNlcyB0aGUgb3JpZ2luYWwgZTgyMCBtYXAgd2l0aCBhIG5ldyBvbmUsIHJlbW92aW5nIG92ZXJsYXBzLgotICoKLSAqLwotaW50IF9faW5pdCBzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICogYmlvc21hcCwgY2hhciAqIHBucl9tYXApCi17Ci0Jc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV90bXA7Ci0JdW5zaWduZWQgbG9uZyBjdXJyZW50X3R5cGUsIGxhc3RfdHlwZTsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdF9hZGRyOwotCWludCBjaGdpZHgsIHN0aWxsX2NoYW5naW5nOwotCWludCBvdmVybGFwX2VudHJpZXM7Ci0JaW50IG5ld19iaW9zX2VudHJ5OwotCWludCBvbGRfbnIsIG5ld19uciwgY2hnX25yOwotCWludCBpOwotCi0JLyoKLQkJVmlzdWFsbHkgd2UncmUgcGVyZm9ybWluZyB0aGUgZm9sbG93aW5nICgxLDIsMyw0ID0gbWVtb3J5IHR5cGVzKS4uLgotCi0JCVNhbXBsZSBtZW1vcnkgbWFwICh3L292ZXJsYXBzKToKLQkJICAgX19fXzIyX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fX180XwotCQkgICBfX19fMTExMV9fX19fX19fX19fX19fX18KLQkJICAgXzQ0X19fX19fX19fX19fX19fX19fX19fCi0JCSAgIDExMTExMTExX19fX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fXzMzX18KLQkJICAgX19fX19fX19fX180NF9fX19fX19fX19fCi0JCSAgIF9fX19fX19fX18zMzMzM19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fXzIyX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fXzIyMjJfCi0JCSAgIF9fX19fX19fXzExMTExMTExMV9fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fX18xMV8KLQkJICAgX19fX19fX19fX19fX19fX180X19fX19fCi0KLQkJU2FuaXRpemVkIGVxdWl2YWxlbnQgKG5vIG92ZXJsYXApOgotCQkgICAxX19fX19fX19fX19fX19fX19fX19fX18KLQkJICAgXzQ0X19fX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fXzFfX19fX19fX19fX19fX19fX19fXwotCQkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KLQkJICAgX19fX19fMTFfX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fXzFfX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fM19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fX180NF9fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX18zM19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fX18yX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fXzFfX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fNF9fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fMl9fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX18zM19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fX180XwotCSovCi0JLyogaWYgdGhlcmUncyBvbmx5IG9uZSBtZW1vcnkgcmVnaW9uLCBkb24ndCBib3RoZXIgKi8KLQlpZiAoKnBucl9tYXAgPCAyKSB7Ci0JCXJldHVybiAtMTsKLQl9Ci0KLQlvbGRfbnIgPSAqcG5yX21hcDsKLQotCS8qIGJhaWwgb3V0IGlmIHdlIGZpbmQgYW55IHVucmVhc29uYWJsZSBhZGRyZXNzZXMgaW4gYmlvcyBtYXAgKi8KLQlmb3IgKGk9MDsgaTxvbGRfbnI7IGkrKykKLQkJaWYgKGJpb3NtYXBbaV0uYWRkciArIGJpb3NtYXBbaV0uc2l6ZSA8IGJpb3NtYXBbaV0uYWRkcikgewotCQkJcmV0dXJuIC0xOwotCQl9Ci0KLQkvKiBjcmVhdGUgcG9pbnRlcnMgZm9yIGluaXRpYWwgY2hhbmdlLXBvaW50IGluZm9ybWF0aW9uIChmb3Igc29ydGluZykgKi8KLQlmb3IgKGk9MDsgaSA8IDIqb2xkX25yOyBpKyspCi0JCWNoYW5nZV9wb2ludFtpXSA9ICZjaGFuZ2VfcG9pbnRfbGlzdFtpXTsKLQotCS8qIHJlY29yZCBhbGwga25vd24gY2hhbmdlLXBvaW50cyAoc3RhcnRpbmcgYW5kIGVuZGluZyBhZGRyZXNzZXMpLAotCSAgIG9taXR0aW5nIHRob3NlIHRoYXQgYXJlIGZvciBlbXB0eSBtZW1vcnkgcmVnaW9ucyAqLwotCWNoZ2lkeCA9IDA7Ci0JZm9yIChpPTA7IGkgPCBvbGRfbnI7IGkrKykJewotCQlpZiAoYmlvc21hcFtpXS5zaXplICE9IDApIHsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID0gYmlvc21hcFtpXS5hZGRyOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID0gYmlvc21hcFtpXS5hZGRyICsgYmlvc21hcFtpXS5zaXplOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKLQkJfQotCX0KLQljaGdfbnIgPSBjaGdpZHg7ICAgIAkvKiB0cnVlIG51bWJlciBvZiBjaGFuZ2UtcG9pbnRzICovCi0KLQkvKiBzb3J0IGNoYW5nZS1wb2ludCBsaXN0IGJ5IG1lbW9yeSBhZGRyZXNzZXMgKGxvdyAtPiBoaWdoKSAqLwotCXN0aWxsX2NoYW5naW5nID0gMTsKLQl3aGlsZSAoc3RpbGxfY2hhbmdpbmcpCXsKLQkJc3RpbGxfY2hhbmdpbmcgPSAwOwotCQlmb3IgKGk9MTsgaSA8IGNoZ19ucjsgaSsrKSAgewotCQkJLyogaWYgPGN1cnJlbnRfYWRkcj4gPiA8bGFzdF9hZGRyPiwgc3dhcCAqLwotCQkJLyogb3IsIGlmIGN1cnJlbnQ9PHN0YXJ0X2FkZHI+ICYgbGFzdD08ZW5kX2FkZHI+LCBzd2FwICovCi0JCQlpZiAoKGNoYW5nZV9wb2ludFtpXS0+YWRkciA8IGNoYW5nZV9wb2ludFtpLTFdLT5hZGRyKSB8fAotCQkJCSgoY2hhbmdlX3BvaW50W2ldLT5hZGRyID09IGNoYW5nZV9wb2ludFtpLTFdLT5hZGRyKSAmJgotCQkJCSAoY2hhbmdlX3BvaW50W2ldLT5hZGRyID09IGNoYW5nZV9wb2ludFtpXS0+cGJpb3MtPmFkZHIpICYmCi0JCQkJIChjaGFuZ2VfcG9pbnRbaS0xXS0+YWRkciAhPSBjaGFuZ2VfcG9pbnRbaS0xXS0+cGJpb3MtPmFkZHIpKQotCQkJICAgKQotCQkJewotCQkJCWNoYW5nZV90bXAgPSBjaGFuZ2VfcG9pbnRbaV07Ci0JCQkJY2hhbmdlX3BvaW50W2ldID0gY2hhbmdlX3BvaW50W2ktMV07Ci0JCQkJY2hhbmdlX3BvaW50W2ktMV0gPSBjaGFuZ2VfdG1wOwotCQkJCXN0aWxsX2NoYW5naW5nPTE7Ci0JCQl9Ci0JCX0KLQl9Ci0KLQkvKiBjcmVhdGUgYSBuZXcgYmlvcyBtZW1vcnkgbWFwLCByZW1vdmluZyBvdmVybGFwcyAqLwotCW92ZXJsYXBfZW50cmllcz0wOwkgLyogbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIG92ZXJsYXAgdGFibGUgKi8KLQluZXdfYmlvc19lbnRyeT0wOwkgLyogaW5kZXggZm9yIGNyZWF0aW5nIG5ldyBiaW9zIG1hcCBlbnRyaWVzICovCi0JbGFzdF90eXBlID0gMDsJCSAvKiBzdGFydCB3aXRoIHVuZGVmaW5lZCBtZW1vcnkgdHlwZSAqLwotCWxhc3RfYWRkciA9IDA7CQkgLyogc3RhcnQgd2l0aCAwIGFzIGxhc3Qgc3RhcnRpbmcgYWRkcmVzcyAqLwotCS8qIGxvb3AgdGhyb3VnaCBjaGFuZ2UtcG9pbnRzLCBkZXRlcm1pbmluZyBhZmZlY3Qgb24gdGhlIG5ldyBiaW9zIG1hcCAqLwotCWZvciAoY2hnaWR4PTA7IGNoZ2lkeCA8IGNoZ19ucjsgY2hnaWR4KyspCi0JewotCQkvKiBrZWVwIHRyYWNrIG9mIGFsbCBvdmVybGFwcGluZyBiaW9zIGVudHJpZXMgKi8KLQkJaWYgKGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID09IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcy0+YWRkcikKLQkJewotCQkJLyogYWRkIG1hcCBlbnRyeSB0byBvdmVybGFwIGxpc3QgKD4gMSBlbnRyeSBpbXBsaWVzIGFuIG92ZXJsYXApICovCi0JCQlvdmVybGFwX2xpc3Rbb3ZlcmxhcF9lbnRyaWVzKytdPWNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvczsKLQkJfQotCQllbHNlCi0JCXsKLQkJCS8qIHJlbW92ZSBlbnRyeSBmcm9tIGxpc3QgKG9yZGVyIGluZGVwZW5kZW50LCBzbyBzd2FwIHdpdGggbGFzdCkgKi8KLQkJCWZvciAoaT0wOyBpPG92ZXJsYXBfZW50cmllczsgaSsrKQotCQkJewotCQkJCWlmIChvdmVybGFwX2xpc3RbaV0gPT0gY2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zKQotCQkJCQlvdmVybGFwX2xpc3RbaV0gPSBvdmVybGFwX2xpc3Rbb3ZlcmxhcF9lbnRyaWVzLTFdOwotCQkJfQotCQkJb3ZlcmxhcF9lbnRyaWVzLS07Ci0JCX0KLQkJLyogaWYgdGhlcmUgYXJlIG92ZXJsYXBwaW5nIGVudHJpZXMsIGRlY2lkZSB3aGljaCAidHlwZSIgdG8gdXNlICovCi0JCS8qIChsYXJnZXIgdmFsdWUgdGFrZXMgcHJlY2VkZW5jZSAtLSAxPXVzYWJsZSwgMiwzLDQsNCs9dW51c2FibGUpICovCi0JCWN1cnJlbnRfdHlwZSA9IDA7Ci0JCWZvciAoaT0wOyBpPG92ZXJsYXBfZW50cmllczsgaSsrKQotCQkJaWYgKG92ZXJsYXBfbGlzdFtpXS0+dHlwZSA+IGN1cnJlbnRfdHlwZSkKLQkJCQljdXJyZW50X3R5cGUgPSBvdmVybGFwX2xpc3RbaV0tPnR5cGU7Ci0JCS8qIGNvbnRpbnVlIGJ1aWxkaW5nIHVwIG5ldyBiaW9zIG1hcCBiYXNlZCBvbiB0aGlzIGluZm9ybWF0aW9uICovCi0JCWlmIChjdXJyZW50X3R5cGUgIT0gbGFzdF90eXBlKQl7Ci0JCQlpZiAobGFzdF90eXBlICE9IDApCSB7Ci0JCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnNpemUgPQotCQkJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciAtIGxhc3RfYWRkcjsKLQkJCQkvKiBtb3ZlIGZvcndhcmQgb25seSBpZiB0aGUgbmV3IHNpemUgd2FzIG5vbi16ZXJvICovCi0JCQkJaWYgKG5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplICE9IDApCi0JCQkJCWlmICgrK25ld19iaW9zX2VudHJ5ID49IEU4MjBNQVgpCi0JCQkJCQlicmVhazsgCS8qIG5vIG1vcmUgc3BhY2UgbGVmdCBmb3IgbmV3IGJpb3MgZW50cmllcyAqLwotCQkJfQotCQkJaWYgKGN1cnJlbnRfdHlwZSAhPSAwKQl7Ci0JCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLmFkZHIgPSBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkcjsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0udHlwZSA9IGN1cnJlbnRfdHlwZTsKLQkJCQlsYXN0X2FkZHI9Y2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHI7Ci0JCQl9Ci0JCQlsYXN0X3R5cGUgPSBjdXJyZW50X3R5cGU7Ci0JCX0KLQl9Ci0JbmV3X25yID0gbmV3X2Jpb3NfZW50cnk7ICAgLyogcmV0YWluIGNvdW50IGZvciBuZXcgYmlvcyBlbnRyaWVzICovCi0KLQkvKiBjb3B5IG5ldyBiaW9zIG1hcHBpbmcgaW50byBvcmlnaW5hbCBsb2NhdGlvbiAqLwotCW1lbWNweShiaW9zbWFwLCBuZXdfYmlvcywgbmV3X25yKnNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7Ci0JKnBucl9tYXAgPSBuZXdfbnI7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIENvcHkgdGhlIEJJT1MgZTgyMCBtYXAgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICogU2FuaXR5LWNoZWNrIGl0IHdoaWxlIHdlJ3JlIGF0IGl0Li4KLSAqCi0gKiBJZiB3ZSdyZSBsdWNreSBhbmQgbGl2ZSBvbiBhIG1vZGVybiBzeXN0ZW0sIHRoZSBzZXR1cCBjb2RlCi0gKiB3aWxsIGhhdmUgZ2l2ZW4gdXMgYSBtZW1vcnkgbWFwIHRoYXQgd2UgY2FuIHVzZSB0byBwcm9wZXJseQotICogc2V0IHVwIG1lbW9yeS4gIElmIHdlIGFyZW4ndCwgd2UnbGwgZmFrZSBhIG1lbW9yeSBtYXAuCi0gKgotICogV2UgY2hlY2sgdG8gc2VlIHRoYXQgdGhlIG1lbW9yeSBtYXAgY29udGFpbnMgYXQgbGVhc3QgMiBlbGVtZW50cwotICogYmVmb3JlIHdlJ2xsIHVzZSBpdCwgYmVjYXVzZSB0aGUgZGV0ZWN0aW9uIGNvZGUgaW4gc2V0dXAuUyBtYXkKLSAqIG5vdCBiZSBwZXJmZWN0IGFuZCBtb3N0IGV2ZXJ5IFBDIGtub3duIHRvIG1hbiBoYXMgdHdvIG1lbW9yeQotICogcmVnaW9uczogb25lIGZyb20gMCB0byA2NDBrLCBhbmQgb25lIGZyb20gMW1iIHVwLiAgKFRoZSBJQk0KLSAqIHRoaW5rcGFkIDU2MHgsIGZvciBleGFtcGxlLCBkb2VzIG5vdCBjb29wZXJhdGUgd2l0aCB0aGUgbWVtb3J5Ci0gKiBkZXRlY3Rpb24gY29kZS4pCi0gKi8KLWludCBfX2luaXQgY29weV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbnJfbWFwKQotewotCS8qIE9ubHkgb25lIG1lbW9yeSByZWdpb24gKG9yIG5lZ2F0aXZlKT8gSWdub3JlIGl0ICovCi0JaWYgKG5yX21hcCA8IDIpCi0JCXJldHVybiAtMTsKLQotCWRvIHsKLQkJdTY0IHN0YXJ0ID0gYmlvc21hcC0+YWRkcjsKLQkJdTY0IHNpemUgPSBiaW9zbWFwLT5zaXplOwotCQl1NjQgZW5kID0gc3RhcnQgKyBzaXplOwotCQl1MzIgdHlwZSA9IGJpb3NtYXAtPnR5cGU7Ci0KLQkJLyogT3ZlcmZsb3cgaW4gNjQgYml0cz8gSWdub3JlIHRoZSBtZW1vcnkgbWFwLiAqLwotCQlpZiAoc3RhcnQgPiBlbmQpCi0JCQlyZXR1cm4gLTE7Ci0KLQkJYWRkX21lbW9yeV9yZWdpb24oc3RhcnQsIHNpemUsIHR5cGUpOwotCX0gd2hpbGUgKGJpb3NtYXArKywgLS1ucl9tYXApOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBGaW5kIHRoZSBoaWdoZXN0IHBhZ2UgZnJhbWUgbnVtYmVyIHdlIGhhdmUgYXZhaWxhYmxlCi0gKi8KLXZvaWQgX19pbml0IHByb3BhZ2F0ZV9lODIwX21hcCh2b2lkKQotewotCWludCBpOwotCi0JbWF4X3BmbiA9IDA7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQl1bnNpZ25lZCBsb25nIHN0YXJ0LCBlbmQ7Ci0JCS8qIFJBTT8gKi8KLQkJaWYgKGU4MjAubWFwW2ldLnR5cGUgIT0gRTgyMF9SQU0pCi0JCQljb250aW51ZTsKLQkJc3RhcnQgPSBQRk5fVVAoZTgyMC5tYXBbaV0uYWRkcik7Ci0JCWVuZCA9IFBGTl9ET1dOKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKTsKLQkJaWYgKHN0YXJ0ID49IGVuZCkKLQkJCWNvbnRpbnVlOwotCQlpZiAoZW5kID4gbWF4X3BmbikKLQkJCW1heF9wZm4gPSBlbmQ7Ci0JCW1lbW9yeV9wcmVzZW50KDAsIHN0YXJ0LCBlbmQpOwotCX0KLX0KLQotLyoKLSAqIFJlZ2lzdGVyIGZ1bGx5IGF2YWlsYWJsZSBsb3cgUkFNIHBhZ2VzIHdpdGggdGhlIGJvb3RtZW0gYWxsb2NhdG9yLgotICovCi12b2lkIF9faW5pdCByZWdpc3Rlcl9ib290bWVtX2xvd19wYWdlcyh1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJdW5zaWduZWQgbG9uZyBjdXJyX3BmbiwgbGFzdF9wZm4sIHNpemU7Ci0JCS8qCi0JCSAqIFJlc2VydmUgdXNhYmxlIGxvdyBtZW1vcnkKLQkJICovCi0JCWlmIChlODIwLm1hcFtpXS50eXBlICE9IEU4MjBfUkFNKQotCQkJY29udGludWU7Ci0JCS8qCi0JCSAqIFdlIGFyZSByb3VuZGluZyB1cCB0aGUgc3RhcnQgYWRkcmVzcyBvZiB1c2FibGUgbWVtb3J5OgotCQkgKi8KLQkJY3Vycl9wZm4gPSBQRk5fVVAoZTgyMC5tYXBbaV0uYWRkcik7Ci0JCWlmIChjdXJyX3BmbiA+PSBtYXhfbG93X3BmbikKLQkJCWNvbnRpbnVlOwotCQkvKgotCQkgKiAuLi4gYW5kIGF0IHRoZSBlbmQgb2YgdGhlIHVzYWJsZSByYW5nZSBkb3dud2FyZHM6Ci0JCSAqLwotCQlsYXN0X3BmbiA9IFBGTl9ET1dOKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKTsKLQotCQlpZiAobGFzdF9wZm4gPiBtYXhfbG93X3BmbikKLQkJCWxhc3RfcGZuID0gbWF4X2xvd19wZm47Ci0KLQkJLyoKLQkJICogLi4gZmluYWxseSwgZGlkIGFsbCB0aGUgcm91bmRpbmcgYW5kIHBsYXlpbmcKLQkJICogYXJvdW5kIGp1c3QgbWFrZSB0aGUgYXJlYSBnbyBhd2F5PwotCQkgKi8KLQkJaWYgKGxhc3RfcGZuIDw9IGN1cnJfcGZuKQotCQkJY29udGludWU7Ci0KLQkJc2l6ZSA9IGxhc3RfcGZuIC0gY3Vycl9wZm47Ci0JCWZyZWVfYm9vdG1lbShQRk5fUEhZUyhjdXJyX3BmbiksIFBGTl9QSFlTKHNpemUpKTsKLQl9Ci19Ci0KLXZvaWQgX19pbml0IGU4MjBfcmVnaXN0ZXJfbWVtb3J5KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBnYXBzdGFydCwgZ2Fwc2l6ZSwgcm91bmQ7Ci0JdW5zaWduZWQgbG9uZyBsb25nIGxhc3Q7Ci0JaW50IGk7Ci0KLQkvKgotCSAqIFNlYXJjaCBmb3IgdGhlIGJpZ2dlc3QgZ2FwIGluIHRoZSBsb3cgMzIgYml0cyBvZiB0aGUgZTgyMAotCSAqIG1lbW9yeSBzcGFjZS4KLQkgKi8KLQlsYXN0ID0gMHgxMDAwMDAwMDB1bGw7Ci0JZ2Fwc3RhcnQgPSAweDEwMDAwMDAwOwotCWdhcHNpemUgPSAweDQwMDAwMDsKLQlpID0gZTgyMC5ucl9tYXA7Ci0Jd2hpbGUgKC0taSA+PSAwKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBlbmQgPSBzdGFydCArIGU4MjAubWFwW2ldLnNpemU7Ci0KLQkJLyoKLQkJICogU2luY2UgImxhc3QiIGlzIGF0IG1vc3QgNEdCLCB3ZSBrbm93IHdlJ2xsCi0JCSAqIGZpdCBpbiAzMiBiaXRzIGlmIHRoaXMgY29uZGl0aW9uIGlzIHRydWUKLQkJICovCi0JCWlmIChsYXN0ID4gZW5kKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGdhcCA9IGxhc3QgLSBlbmQ7Ci0KLQkJCWlmIChnYXAgPiBnYXBzaXplKSB7Ci0JCQkJZ2Fwc2l6ZSA9IGdhcDsKLQkJCQlnYXBzdGFydCA9IGVuZDsKLQkJCX0KLQkJfQotCQlpZiAoc3RhcnQgPCBsYXN0KQotCQkJbGFzdCA9IHN0YXJ0OwotCX0KLQotCS8qCi0JICogU2VlIGhvdyBtdWNoIHdlIHdhbnQgdG8gcm91bmQgdXA6IHN0YXJ0IG9mZiB3aXRoCi0JICogcm91bmRpbmcgdG8gdGhlIG5leHQgMU1CIGFyZWEuCi0JICovCi0Jcm91bmQgPSAweDEwMDAwMDsKLQl3aGlsZSAoKGdhcHNpemUgPj4gNCkgPiByb3VuZCkKLQkJcm91bmQgKz0gcm91bmQ7Ci0JLyogRnVuIHdpdGggdHdvJ3MgY29tcGxlbWVudCAqLwotCXBjaV9tZW1fc3RhcnQgPSAoZ2Fwc3RhcnQgKyByb3VuZCkgJiAtcm91bmQ7Ci0KLQlwcmludGsoIkFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCAlMDhseCAoZ2FwOiAlMDhseDolMDhseClcbiIsCi0JCXBjaV9tZW1fc3RhcnQsIGdhcHN0YXJ0LCBnYXBzaXplKTsKLX0KLQotdm9pZCBfX2luaXQgcHJpbnRfbWVtb3J5X21hcChjaGFyICp3aG8pCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlwcmludGsoIiAlczogJTAxNkx4IC0gJTAxNkx4ICIsIHdobywKLQkJCWU4MjAubWFwW2ldLmFkZHIsCi0JCQllODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZSk7Ci0JCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgewotCQljYXNlIEU4MjBfUkFNOglwcmludGsoIih1c2FibGUpXG4iKTsKLQkJCQlicmVhazsKLQkJY2FzZSBFODIwX1JFU0VSVkVEOgotCQkJCXByaW50aygiKHJlc2VydmVkKVxuIik7Ci0JCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9BQ1BJOgotCQkJCXByaW50aygiKEFDUEkgZGF0YSlcbiIpOwotCQkJCWJyZWFrOwotCQljYXNlIEU4MjBfTlZTOgotCQkJCXByaW50aygiKEFDUEkgTlZTKVxuIik7Ci0JCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6CXByaW50aygidHlwZSAldVxuIiwgZTgyMC5tYXBbaV0udHlwZSk7Ci0JCQkJYnJlYWs7Ci0JCX0KLQl9Ci19Ci0KLXZvaWQgX19pbml0IGxpbWl0X3JlZ2lvbnModW5zaWduZWQgbG9uZyBsb25nIHNpemUpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRfYWRkcjsKLQlpbnQgaTsKLQotCXByaW50X21lbW9yeV9tYXAoImxpbWl0X3JlZ2lvbnMgc3RhcnQiKTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQljdXJyZW50X2FkZHIgPSBlODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZTsKLQkJaWYgKGN1cnJlbnRfYWRkciA8IHNpemUpCi0JCQljb250aW51ZTsKLQotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChlODIwLm1hcFtpXS5hZGRyID49IHNpemUpIHsKLQkJCS8qCi0JCQkgKiBUaGlzIHJlZ2lvbiBzdGFydHMgcGFzdCB0aGUgZW5kIG9mIHRoZQotCQkJICogcmVxdWVzdGVkIHNpemUsIHNraXAgaXQgY29tcGxldGVseS4KLQkJCSAqLwotCQkJZTgyMC5ucl9tYXAgPSBpOwotCQl9IGVsc2UgewotCQkJZTgyMC5ucl9tYXAgPSBpICsgMTsKLQkJCWU4MjAubWFwW2ldLnNpemUgLT0gY3VycmVudF9hZGRyIC0gc2l6ZTsKLQkJfQotCQlwcmludF9tZW1vcnlfbWFwKCJsaW1pdF9yZWdpb25zIGVuZGZvciIpOwotCQlyZXR1cm47Ci0JfQotCXByaW50X21lbW9yeV9tYXAoImxpbWl0X3JlZ2lvbnMgZW5kZnVuYyIpOwotfQotCi0vKgotICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgYW55IHBhcnQgb2YgdGhlIHJhbmdlIDxzdGFydCxlbmQ+IGlzIG1hcHBlZAotICogd2l0aCB0eXBlLgotICovCi1pbnQKLWU4MjBfYW55X21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpCi17Ci0JaW50IGk7Ci0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJY29uc3Qgc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCWlmICh0eXBlICYmIGVpLT50eXBlICE9IHR5cGUpCi0JCQljb250aW51ZTsKLQkJaWYgKGVpLT5hZGRyID49IGVuZCB8fCBlaS0+YWRkciArIGVpLT5zaXplIDw9IHN0YXJ0KQotCQkJY29udGludWU7Ci0JCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKGU4MjBfYW55X21hcHBlZCk7Ci0KLSAvKgotICAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIHRoZSBlbnRpcmUgcmFuZ2UgPHN0YXJ0LGVuZD4gaXMgbWFwcGVkIHdpdGggdHlwZS4KLSAgKgotICAqIE5vdGU6IHRoaXMgZnVuY3Rpb24gb25seSB3b3JrcyBjb3JyZWN0IGlmIHRoZSBlODIwIHRhYmxlIGlzIHNvcnRlZCBhbmQKLSAgKiBub3Qtb3ZlcmxhcHBpbmcsIHdoaWNoIGlzIHRoZSBjYXNlCi0gICovCi1pbnQgX19pbml0Ci1lODIwX2FsbF9tYXBwZWQodW5zaWduZWQgbG9uZyBzLCB1bnNpZ25lZCBsb25nIGUsIHVuc2lnbmVkIHR5cGUpCi17Ci0JdTY0IHN0YXJ0ID0gczsKLQl1NjQgZW5kID0gZTsKLQlpbnQgaTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKLQkJCWNvbnRpbnVlOwotCQkvKiBpcyB0aGUgcmVnaW9uIChwYXJ0KSBpbiBvdmVybGFwIHdpdGggdGhlIGN1cnJlbnQgcmVnaW9uID8qLwotCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCi0JCQljb250aW51ZTsKLQkJLyogaWYgdGhlIHJlZ2lvbiBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIDxzdGFydCxlbmQ+IHdlIG1vdmUKLQkJICogc3RhcnQgdG8gdGhlIGVuZCBvZiB0aGUgcmVnaW9uIHNpbmNlIGl0J3Mgb2sgdW50aWwgdGhlcmUKLQkJICovCi0JCWlmIChlaS0+YWRkciA8PSBzdGFydCkKLQkJCXN0YXJ0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKLQkJLyogaWYgc3RhcnQgaXMgbm93IGF0IG9yIGJleW9uZCBlbmQsIHdlJ3JlIGRvbmUsIGZ1bGwKLQkJICogY292ZXJhZ2UgKi8KLQkJaWYgKHN0YXJ0ID49IGVuZCkKLQkJCXJldHVybiAxOyAvKiB3ZSdyZSBkb25lICovCi0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1tYXAoY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWlmIChzdHJjbXAoYXJnLCAiZXhhY3RtYXAiKSA9PSAwKSB7Ci0jaWZkZWYgQ09ORklHX0NSQVNIX0RVTVAKLQkJLyogSWYgd2UgYXJlIGRvaW5nIGEgY3Jhc2ggZHVtcCwgd2UKLQkJICogc3RpbGwgbmVlZCB0byBrbm93IHRoZSByZWFsIG1lbQotCQkgKiBzaXplIGJlZm9yZSBvcmlnaW5hbCBtZW1vcnkgbWFwIGlzCi0JCSAqIHJlc2V0LgotCQkgKi8KLQkJcHJvcGFnYXRlX2U4MjBfbWFwKCk7Ci0JCXNhdmVkX21heF9wZm4gPSBtYXhfcGZuOwotI2VuZGlmCi0JCWU4MjAubnJfbWFwID0gMDsKLQkJdXNlcl9kZWZpbmVkX21lbW1hcCA9IDE7Ci0JfSBlbHNlIHsKLQkJLyogSWYgdGhlIHVzZXIgc3BlY2lmaWVzIG1lbW9yeSBzaXplLCB3ZQotCQkgKiBsaW1pdCB0aGUgQklPUy1wcm92aWRlZCBtZW1vcnkgbWFwIHRvCi0JCSAqIHRoYXQgc2l6ZS4gZXhhY3RtYXAgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeQotCQkgKiB0aGUgZXhhY3QgbWFwLiBtZW09bnVtYmVyIGNhbiBiZSB1c2VkIHRvCi0JCSAqIHRyaW0gdGhlIGV4aXN0aW5nIG1lbW9yeSBtYXAuCi0JCSAqLwotCQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnRfYXQsIG1lbV9zaXplOwotCi0JCW1lbV9zaXplID0gbWVtcGFyc2UoYXJnLCAmYXJnKTsKLQkJaWYgKCphcmcgPT0gJ0AnKSB7Ci0JCQlzdGFydF9hdCA9IG1lbXBhcnNlKGFyZysxLCAmYXJnKTsKLQkJCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SQU0pOwotCQl9IGVsc2UgaWYgKCphcmcgPT0gJyMnKSB7Ci0JCQlzdGFydF9hdCA9IG1lbXBhcnNlKGFyZysxLCAmYXJnKTsKLQkJCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9BQ1BJKTsKLQkJfSBlbHNlIGlmICgqYXJnID09ICckJykgewotCQkJc3RhcnRfYXQgPSBtZW1wYXJzZShhcmcrMSwgJmFyZyk7Ci0JCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfUkVTRVJWRUQpOwotCQl9IGVsc2UgewotCQkJbGltaXRfcmVnaW9ucyhtZW1fc2l6ZSk7Ci0JCQl1c2VyX2RlZmluZWRfbWVtbWFwID0gMTsKLQkJfQotCX0KLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJtZW1tYXAiLCBwYXJzZV9tZW1tYXApOwotdm9pZCBfX2luaXQgdXBkYXRlX21lbW9yeV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKLQkJCQl1bnNpZ25lZCBuZXdfdHlwZSkKLXsKLQlpbnQgaTsKLQotCUJVR19PTihvbGRfdHlwZSA9PSBuZXdfdHlwZSk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJdTY0IGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7Ci0JCWlmIChlaS0+dHlwZSAhPSBvbGRfdHlwZSkKLQkJCWNvbnRpbnVlOwotCQkvKiB0b3RhbGx5IGNvdmVyZWQ/ICovCi0JCWlmIChlaS0+YWRkciA+PSBzdGFydCAmJiBlaS0+c2l6ZSA8PSBzaXplKSB7Ci0JCQllaS0+dHlwZSA9IG5ld190eXBlOwotCQkJY29udGludWU7Ci0JCX0KLQkJLyogcGFydGlhbGx5IGNvdmVyZWQgKi8KLQkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIGVpLT5hZGRyKTsKLQkJZmluYWxfZW5kID0gbWluKHN0YXJ0ICsgc2l6ZSwgZWktPmFkZHIgKyBlaS0+c2l6ZSk7Ci0JCWlmIChmaW5hbF9zdGFydCA+PSBmaW5hbF9lbmQpCi0JCQljb250aW51ZTsKLQkJYWRkX21lbW9yeV9yZWdpb24oZmluYWxfc3RhcnQsIGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0LAotCQkJCQkgbmV3X3R5cGUpOwotCX0KLX0KLXZvaWQgX19pbml0IHVwZGF0ZV9lODIwKHZvaWQpCi17Ci0JdTggbnJfbWFwOwotCi0JbnJfbWFwID0gZTgyMC5ucl9tYXA7Ci0JaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCAmbnJfbWFwKSkKLQkJcmV0dXJuOwotCWU4MjAubnJfbWFwID0gbnJfbWFwOwotCXByaW50ayhLRVJOX0lORk8gIm1vZGlmaWVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQlwcmludF9tZW1vcnlfbWFwKCJtb2RpZmllZCIpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2U4MjBfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9lODIwXzY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyNDQ4MGMuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL2U4MjBfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDk1MiArMCwwIEBACi0vKgotICogSGFuZGxlIHRoZSBtZW1vcnkgbWFwLgotICogVGhlIGZ1bmN0aW9ucyBoZXJlIGRvIHRoZSBqb2IgdW50aWwgYm9vdG1lbSB0YWtlcyBvdmVyLgotICoKLSAqICBHZXR0aW5nIHNhbml0aXplX2U4MjBfbWFwKCkgaW4gc3luYyB3aXRoIGkzODYgdmVyc2lvbiBieSBhcHBseWluZyBjaGFuZ2U6Ci0gKiAgLSAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgotICogICAgIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgotICogIFZlbmthdGVzaCBQYWxsaXBhZGkgPHZlbmthdGVzaC5wYWxsaXBhZGlAaW50ZWwuY29tPgotICoKLSAqLwotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+Ci0jaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgotI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgotCi0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotI2luY2x1ZGUgPGFzbS9lODIwLmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL2tkZWJ1Zy5oPgotI2luY2x1ZGUgPGFzbS90cmFtcG9saW5lLmg+Ci0KLXN0cnVjdCBlODIwbWFwIGU4MjA7Ci0KLS8qCi0gKiBQRk4gb2YgbGFzdCBtZW1vcnkgcGFnZS4KLSAqLwotdW5zaWduZWQgbG9uZyBlbmRfcGZuOwotCi0vKgotICogZW5kX3BmbiBvbmx5IGluY2x1ZGVzIFJBTSwgd2hpbGUgbWF4X3Bmbl9tYXBwZWQgaW5jbHVkZXMgYWxsIGU4MjAgZW50cmllcy4KLSAqIFRoZSBkaXJlY3QgbWFwcGluZyBleHRlbmRzIHRvIG1heF9wZm5fbWFwcGVkLCBzbyB0aGF0IHdlIGNhbiBkaXJlY3RseSBhY2Nlc3MKLSAqIGFwZXJ0dXJlcywgQUNQSSBhbmQgb3RoZXIgdGFibGVzIHdpdGhvdXQgaGF2aW5nIHRvIHBsYXkgd2l0aCBmaXhtYXBzLgotICovCi11bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOwotCi0vKgotICogTGFzdCBwZm4gd2hpY2ggdGhlIHVzZXIgd2FudHMgdG8gdXNlLgotICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIGVuZF91c2VyX3BmbiA9IE1BWE1FTT4+UEFHRV9TSElGVDsKLQotLyoKLSAqIEVhcmx5IHJlc2VydmVkIG1lbW9yeSBhcmVhcy4KLSAqLwotI2RlZmluZSBNQVhfRUFSTFlfUkVTIDIwCi0KLXN0cnVjdCBlYXJseV9yZXMgewotCXVuc2lnbmVkIGxvbmcgc3RhcnQsIGVuZDsKLQljaGFyIG5hbWVbMTZdOwotfTsKLXN0YXRpYyBzdHJ1Y3QgZWFybHlfcmVzIGVhcmx5X3Jlc1tNQVhfRUFSTFlfUkVTXSBfX2luaXRkYXRhID0gewotCXsgMCwgUEFHRV9TSVpFLCAiQklPUyBkYXRhIHBhZ2UiIH0sCQkJLyogQklPUyBkYXRhIHBhZ2UgKi8KLSNpZmRlZiBDT05GSUdfWDg2X1RSQU1QT0xJTkUKLQl7IFRSQU1QT0xJTkVfQkFTRSwgVFJBTVBPTElORV9CQVNFICsgMiAqIFBBR0VfU0laRSwgIlRSQU1QT0xJTkUiIH0sCi0jZW5kaWYKLQl7fQotfTsKLQotdm9pZCBfX2luaXQgcmVzZXJ2ZV9lYXJseSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwgY2hhciAqbmFtZSkKLXsKLQlpbnQgaTsKLQlzdHJ1Y3QgZWFybHlfcmVzICpyOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlyID0gJmVhcmx5X3Jlc1tpXTsKLQkJaWYgKGVuZCA+IHItPnN0YXJ0ICYmIHN0YXJ0IDwgci0+ZW5kKQotCQkJcGFuaWMoIk92ZXJsYXBwaW5nIGVhcmx5IHJlc2VydmF0aW9ucyAlbHgtJWx4ICVzIHRvICVseC0lbHggJXNcbiIsCi0JCQkgICAgICBzdGFydCwgZW5kIC0gMSwgbmFtZT9uYW1lOiIiLCByLT5zdGFydCwgci0+ZW5kIC0gMSwgci0+bmFtZSk7Ci0JfQotCWlmIChpID49IE1BWF9FQVJMWV9SRVMpCi0JCXBhbmljKCJUb28gbWFueSBlYXJseSByZXNlcnZhdGlvbnMiKTsKLQlyID0gJmVhcmx5X3Jlc1tpXTsKLQlyLT5zdGFydCA9IHN0YXJ0OwotCXItPmVuZCA9IGVuZDsKLQlpZiAobmFtZSkKLQkJc3RybmNweShyLT5uYW1lLCBuYW1lLCBzaXplb2Yoci0+bmFtZSkgLSAxKTsKLX0KLQotdm9pZCBfX2luaXQgZnJlZV9lYXJseSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKLXsKLQlzdHJ1Y3QgZWFybHlfcmVzICpyOwotCWludCBpLCBqOwotCi0JZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKSB7Ci0JCXIgPSAmZWFybHlfcmVzW2ldOwotCQlpZiAoc3RhcnQgPT0gci0+c3RhcnQgJiYgZW5kID09IHItPmVuZCkKLQkJCWJyZWFrOwotCX0KLQlpZiAoaSA+PSBNQVhfRUFSTFlfUkVTIHx8ICFlYXJseV9yZXNbaV0uZW5kKQotCQlwYW5pYygiZnJlZV9lYXJseSBvbiBub3QgcmVzZXJ2ZWQgYXJlYTogJWx4LSVseCEiLCBzdGFydCwgZW5kKTsKLQotCWZvciAoaiA9IGkgKyAxOyBqIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbal0uZW5kOyBqKyspCi0JCTsKLQotCW1lbW1vdmUoJmVhcmx5X3Jlc1tpXSwgJmVhcmx5X3Jlc1tpICsgMV0sCi0JICAgICAgIChqIC0gMSAtIGkpICogc2l6ZW9mKHN0cnVjdCBlYXJseV9yZXMpKTsKLQotCWVhcmx5X3Jlc1tqIC0gMV0uZW5kID0gMDsKLX0KLQotdm9pZCBfX2luaXQgZWFybHlfcmVzX3RvX2Jvb3RtZW0odW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCi17Ci0JaW50IGk7Ci0JdW5zaWduZWQgbG9uZyBmaW5hbF9zdGFydCwgZmluYWxfZW5kOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKLQkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIHItPnN0YXJ0KTsKLQkJZmluYWxfZW5kID0gbWluKGVuZCwgci0+ZW5kKTsKLQkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkKLQkJCWNvbnRpbnVlOwotCQlwcmludGsoS0VSTl9JTkZPICIgIGVhcmx5IHJlczogJWQgWyVseC0lbHhdICVzXG4iLCBpLAotCQkJZmluYWxfc3RhcnQsIGZpbmFsX2VuZCAtIDEsIHItPm5hbWUpOwotCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyhmaW5hbF9zdGFydCwgZmluYWxfZW5kIC0gZmluYWxfc3RhcnQpOwotCX0KLX0KLQotLyogQ2hlY2sgZm9yIGFscmVhZHkgcmVzZXJ2ZWQgYXJlYXMgKi8KLXN0YXRpYyBpbmxpbmUgaW50IF9faW5pdAotYmFkX2FkZHIodW5zaWduZWQgbG9uZyAqYWRkcnAsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgbG9uZyBhbGlnbikKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIGFkZHIgPSAqYWRkcnAsIGxhc3Q7Ci0JaW50IGNoYW5nZWQgPSAwOwotYWdhaW46Ci0JbGFzdCA9IGFkZHIgKyBzaXplOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKLQkJaWYgKGxhc3QgPj0gci0+c3RhcnQgJiYgYWRkciA8IHItPmVuZCkgewotCQkJKmFkZHJwID0gYWRkciA9IHJvdW5kX3VwKHItPmVuZCwgYWxpZ24pOwotCQkJY2hhbmdlZCA9IDE7Ci0JCQlnb3RvIGFnYWluOwotCQl9Ci0JfQotCXJldHVybiBjaGFuZ2VkOwotfQotCi0vKiBDaGVjayBmb3IgYWxyZWFkeSByZXNlcnZlZCBhcmVhcyAqLwotc3RhdGljIGlubGluZSBpbnQgX19pbml0Ci1iYWRfYWRkcl9zaXplKHVuc2lnbmVkIGxvbmcgKmFkZHJwLCB1bnNpZ25lZCBsb25nICpzaXplcCwgdW5zaWduZWQgbG9uZyBhbGlnbikKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIGFkZHIgPSAqYWRkcnAsIGxhc3Q7Ci0JdW5zaWduZWQgbG9uZyBzaXplID0gKnNpemVwOwotCWludCBjaGFuZ2VkID0gMDsKLWFnYWluOgotCWxhc3QgPSBhZGRyICsgc2l6ZTsKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKLQkJc3RydWN0IGVhcmx5X3JlcyAqciA9ICZlYXJseV9yZXNbaV07Ci0JCWlmIChsYXN0ID4gci0+c3RhcnQgJiYgYWRkciA8IHItPnN0YXJ0KSB7Ci0JCQlzaXplID0gci0+c3RhcnQgLSBhZGRyOwotCQkJY2hhbmdlZCA9IDE7Ci0JCQlnb3RvIGFnYWluOwotCQl9Ci0JCWlmIChsYXN0ID4gci0+ZW5kICYmIGFkZHIgPCByLT5lbmQpIHsKLQkJCWFkZHIgPSByb3VuZF91cChyLT5lbmQsIGFsaWduKTsKLQkJCXNpemUgPSBsYXN0IC0gYWRkcjsKLQkJCWNoYW5nZWQgPSAxOwotCQkJZ290byBhZ2FpbjsKLQkJfQotCQlpZiAobGFzdCA8PSByLT5lbmQgJiYgYWRkciA+PSByLT5zdGFydCkgewotCQkJKCpzaXplcCkrKzsKLQkJCXJldHVybiAwOwotCQl9Ci0JfQotCWlmIChjaGFuZ2VkKSB7Ci0JCSphZGRycCA9IGFkZHI7Ci0JCSpzaXplcCA9IHNpemU7Ci0JfQotCXJldHVybiBjaGFuZ2VkOwotfQotLyoKLSAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGFueSBwYXJ0IG9mIHRoZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQKLSAqIHdpdGggdHlwZS4KLSAqLwotaW50Ci1lODIwX2FueV9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIHVuc2lnbmVkIHR5cGUpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQotCQlpZiAodHlwZSAmJiBlaS0+dHlwZSAhPSB0eXBlKQotCQkJY29udGludWU7Ci0JCWlmIChlaS0+YWRkciA+PSBlbmQgfHwgZWktPmFkZHIgKyBlaS0+c2l6ZSA8PSBzdGFydCkKLQkJCWNvbnRpbnVlOwotCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChlODIwX2FueV9tYXBwZWQpOwotCi0vKgotICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgdGhlIGVudGlyZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQgd2l0aCB0eXBlLgotICoKLSAqIE5vdGU6IHRoaXMgZnVuY3Rpb24gb25seSB3b3JrcyBjb3JyZWN0IGlmIHRoZSBlODIwIHRhYmxlIGlzIHNvcnRlZCBhbmQKLSAqIG5vdC1vdmVybGFwcGluZywgd2hpY2ggaXMgdGhlIGNhc2UKLSAqLwotaW50IF9faW5pdCBlODIwX2FsbF9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsCi0JCQkgICB1bnNpZ25lZCB0eXBlKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0KLQkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKLQkJCWNvbnRpbnVlOwotCQkvKiBpcyB0aGUgcmVnaW9uIChwYXJ0KSBpbiBvdmVybGFwIHdpdGggdGhlIGN1cnJlbnQgcmVnaW9uID8qLwotCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCi0JCQljb250aW51ZTsKLQotCQkvKiBpZiB0aGUgcmVnaW9uIGlzIGF0IHRoZSBiZWdpbm5pbmcgb2YgPHN0YXJ0LGVuZD4gd2UgbW92ZQotCQkgKiBzdGFydCB0byB0aGUgZW5kIG9mIHRoZSByZWdpb24gc2luY2UgaXQncyBvayB1bnRpbCB0aGVyZQotCQkgKi8KLQkJaWYgKGVpLT5hZGRyIDw9IHN0YXJ0KQotCQkJc3RhcnQgPSBlaS0+YWRkciArIGVpLT5zaXplOwotCQkvKgotCQkgKiBpZiBzdGFydCBpcyBub3cgYXQgb3IgYmV5b25kIGVuZCwgd2UncmUgZG9uZSwgZnVsbAotCQkgKiBjb3ZlcmFnZQotCQkgKi8KLQkJaWYgKHN0YXJ0ID49IGVuZCkKLQkJCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIEZpbmQgYSBmcmVlIGFyZWEgd2l0aCBzcGVjaWZpZWQgYWxpZ25tZW50IGluIGEgc3BlY2lmaWMgcmFuZ2UuCi0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfZTgyMF9hcmVhKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAotCQkJCSAgICB1bnNpZ25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGxvbmcgYWxpZ24pCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJdW5zaWduZWQgbG9uZyBhZGRyLCBsYXN0OwotCQl1bnNpZ25lZCBsb25nIGVpX2xhc3Q7Ci0KLQkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQotCQkJY29udGludWU7Ci0JCWFkZHIgPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pOwotCQllaV9sYXN0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKLQkJaWYgKGFkZHIgPCBzdGFydCkKLQkJCWFkZHIgPSByb3VuZF91cChzdGFydCwgYWxpZ24pOwotCQlpZiAoYWRkciA+PSBlaV9sYXN0KQotCQkJY29udGludWU7Ci0JCXdoaWxlIChiYWRfYWRkcigmYWRkciwgc2l6ZSwgYWxpZ24pICYmIGFkZHIrc2l6ZSA8PSBlaV9sYXN0KQotCQkJOwotCQlsYXN0ID0gYWRkciArIHNpemU7Ci0JCWlmIChsYXN0ID4gZWlfbGFzdCkKLQkJCWNvbnRpbnVlOwotCQlpZiAobGFzdCA+IGVuZCkKLQkJCWNvbnRpbnVlOwotCQlyZXR1cm4gYWRkcjsKLQl9Ci0JcmV0dXJuIC0xVUw7Ci19Ci0KLS8qCi0gKiBGaW5kIG5leHQgZnJlZSByYW5nZSBhZnRlciAqc3RhcnQKLSAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9lODIwX2FyZWFfc2l6ZSh1bnNpZ25lZCBsb25nIHN0YXJ0LAotCQkJCQkgdW5zaWduZWQgbG9uZyAqc2l6ZXAsCi0JCQkJCSB1bnNpZ25lZCBsb25nIGFsaWduKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCXVuc2lnbmVkIGxvbmcgYWRkciwgbGFzdDsKLQkJdW5zaWduZWQgbG9uZyBlaV9sYXN0OwotCi0JCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCQlhZGRyID0gcm91bmRfdXAoZWktPmFkZHIsIGFsaWduKTsKLQkJZWlfbGFzdCA9IGVpLT5hZGRyICsgZWktPnNpemU7Ci0JCWlmIChhZGRyIDwgc3RhcnQpCi0JCQlhZGRyID0gcm91bmRfdXAoc3RhcnQsIGFsaWduKTsKLQkJaWYgKGFkZHIgPj0gZWlfbGFzdCkKLQkJCWNvbnRpbnVlOwotCQkqc2l6ZXAgPSBlaV9sYXN0IC0gYWRkcjsKLQkJd2hpbGUgKGJhZF9hZGRyX3NpemUoJmFkZHIsIHNpemVwLCBhbGlnbikgJiYKLQkJCWFkZHIgKyAqc2l6ZXAgPD0gZWlfbGFzdCkKLQkJCTsKLQkJbGFzdCA9IGFkZHIgKyAqc2l6ZXA7Ci0JCWlmIChsYXN0ID4gZWlfbGFzdCkKLQkJCWNvbnRpbnVlOwotCQlyZXR1cm4gYWRkcjsKLQl9Ci0JcmV0dXJuIC0xVUw7Ci0KLX0KLS8qCi0gKiBGaW5kIHRoZSBoaWdoZXN0IHBhZ2UgZnJhbWUgbnVtYmVyIHdlIGhhdmUgYXZhaWxhYmxlCi0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfZW5kX29mX3JhbSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZW5kX3BmbjsKLQotCWVuZF9wZm4gPSBmaW5kX21heF9wZm5fd2l0aF9hY3RpdmVfcmVnaW9ucygpOwotCi0JaWYgKGVuZF9wZm4gPiBtYXhfcGZuX21hcHBlZCkKLQkJbWF4X3Bmbl9tYXBwZWQgPSBlbmRfcGZuOwotCWlmIChtYXhfcGZuX21hcHBlZCA+IE1BWE1FTT4+UEFHRV9TSElGVCkKLQkJbWF4X3Bmbl9tYXBwZWQgPSBNQVhNRU0+PlBBR0VfU0hJRlQ7Ci0JaWYgKGVuZF9wZm4gPiBlbmRfdXNlcl9wZm4pCi0JCWVuZF9wZm4gPSBlbmRfdXNlcl9wZm47Ci0JaWYgKGVuZF9wZm4gPiBtYXhfcGZuX21hcHBlZCkKLQkJZW5kX3BmbiA9IG1heF9wZm5fbWFwcGVkOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAibWF4X3Bmbl9tYXBwZWQgPSAlbHVcbiIsIG1heF9wZm5fbWFwcGVkKTsKLQlyZXR1cm4gZW5kX3BmbjsKLX0KLQotLyoKLSAqIE1hcmsgZTgyMCByZXNlcnZlZCBhcmVhcyBhcyBidXN5IGZvciB0aGUgcmVzb3VyY2UgbWFuYWdlci4KLSAqLwotdm9pZCBfX2luaXQgZTgyMF9yZXNlcnZlX3Jlc291cmNlcyh2b2lkKQotewotCWludCBpOwotCXN0cnVjdCByZXNvdXJjZSAqcmVzOwotCi0JcmVzID0gYWxsb2NfYm9vdG1lbV9sb3coc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSkgKiBlODIwLm5yX21hcCk7Ci0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3dpdGNoIChlODIwLm1hcFtpXS50eXBlKSB7Ci0JCWNhc2UgRTgyMF9SQU06CXJlcy0+bmFtZSA9ICJTeXN0ZW0gUkFNIjsgYnJlYWs7Ci0JCWNhc2UgRTgyMF9BQ1BJOglyZXMtPm5hbWUgPSAiQUNQSSBUYWJsZXMiOyBicmVhazsKLQkJY2FzZSBFODIwX05WUzoJcmVzLT5uYW1lID0gIkFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UiOyBicmVhazsKLQkJZGVmYXVsdDoJcmVzLT5uYW1lID0gInJlc2VydmVkIjsKLQkJfQotCQlyZXMtPnN0YXJ0ID0gZTgyMC5tYXBbaV0uYWRkcjsKLQkJcmVzLT5lbmQgPSByZXMtPnN0YXJ0ICsgZTgyMC5tYXBbaV0uc2l6ZSAtIDE7Ci0JCXJlcy0+ZmxhZ3MgPSBJT1JFU09VUkNFX01FTSB8IElPUkVTT1VSQ0VfQlVTWTsKLQkJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgcmVzKTsKLQkJcmVzKys7Ci0JfQotfQotCi0vKgotICogRmluZCB0aGUgcmFuZ2VzIG9mIHBoeXNpY2FsIGFkZHJlc3NlcyB0aGF0IGRvIG5vdCBjb3JyZXNwb25kIHRvCi0gKiBlODIwIFJBTSBhcmVhcyBhbmQgbWFyayB0aGUgY29ycmVzcG9uZGluZyBwYWdlcyBhcyBub3NhdmUgZm9yIHNvZnR3YXJlCi0gKiBzdXNwZW5kIGFuZCBzdXNwZW5kIHRvIFJBTS4KLSAqCi0gKiBUaGlzIGZ1bmN0aW9uIHJlcXVpcmVzIHRoZSBlODIwIG1hcCB0byBiZSBzb3J0ZWQgYW5kIHdpdGhvdXQgYW55Ci0gKiBvdmVybGFwcGluZyBlbnRyaWVzIGFuZCBhc3N1bWVzIHRoZSBmaXJzdCBlODIwIGFyZWEgdG8gYmUgUkFNLgotICovCi12b2lkIF9faW5pdCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModm9pZCkKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIHBhZGRyOwotCi0JcGFkZHIgPSByb3VuZF9kb3duKGU4MjAubWFwWzBdLmFkZHIgKyBlODIwLm1hcFswXS5zaXplLCBQQUdFX1NJWkUpOwotCWZvciAoaSA9IDE7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCi0JCWlmIChwYWRkciA8IGVpLT5hZGRyKQotCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihQRk5fRE9XTihwYWRkciksCi0JCQkJCQlQRk5fVVAoZWktPmFkZHIpKTsKLQotCQlwYWRkciA9IHJvdW5kX2Rvd24oZWktPmFkZHIgKyBlaS0+c2l6ZSwgUEFHRV9TSVpFKTsKLQkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQotCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihQRk5fVVAoZWktPmFkZHIpLAotCQkJCQkJUEZOX0RPV04ocGFkZHIpKTsKLQotCQlpZiAocGFkZHIgPj0gKGVuZF9wZm4gPDwgUEFHRV9TSElGVCkpCi0JCQlicmVhazsKLQl9Ci19Ci0KLS8qCi0gKiBGaW5kcyBhbiBhY3RpdmUgcmVnaW9uIGluIHRoZSBhZGRyZXNzIHJhbmdlIGZyb20gc3RhcnRfcGZuIHRvIGVuZF9wZm4gYW5kCi0gKiByZXR1cm5zIGl0cyByYW5nZSBpbiBlaV9zdGFydHBmbiBhbmQgZWlfZW5kcGZuIGZvciB0aGUgZTgyMCBlbnRyeS4KLSAqLwotc3RhdGljIGludCBfX2luaXQgZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oY29uc3Qgc3RydWN0IGU4MjBlbnRyeSAqZWksCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBlbmRfcGZuLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX3N0YXJ0cGZuLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX2VuZHBmbikKLXsKLQkqZWlfc3RhcnRwZm4gPSByb3VuZF91cChlaS0+YWRkciwgUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZUOwotCSplaV9lbmRwZm4gPSByb3VuZF9kb3duKGVpLT5hZGRyICsgZWktPnNpemUsIFBBR0VfU0laRSkgPj4gUEFHRV9TSElGVDsKLQotCS8qIFNraXAgbWFwIGVudHJpZXMgc21hbGxlciB0aGFuIGEgcGFnZSAqLwotCWlmICgqZWlfc3RhcnRwZm4gPj0gKmVpX2VuZHBmbikKLQkJcmV0dXJuIDA7Ci0KLQkvKiBDaGVjayBpZiBtYXhfcGZuX21hcHBlZCBzaG91bGQgYmUgdXBkYXRlZCAqLwotCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSAmJiAqZWlfZW5kcGZuID4gbWF4X3Bmbl9tYXBwZWQpCi0JCW1heF9wZm5fbWFwcGVkID0gKmVpX2VuZHBmbjsKLQotCS8qIFNraXAgaWYgbWFwIGlzIG91dHNpZGUgdGhlIG5vZGUgKi8KLQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0gfHwgKmVpX2VuZHBmbiA8PSBzdGFydF9wZm4gfHwKLQkJCQkgICAgKmVpX3N0YXJ0cGZuID49IGVuZF9wZm4pCi0JCXJldHVybiAwOwotCi0JLyogQ2hlY2sgZm9yIG92ZXJsYXBzICovCi0JaWYgKCplaV9zdGFydHBmbiA8IHN0YXJ0X3BmbikKLQkJKmVpX3N0YXJ0cGZuID0gc3RhcnRfcGZuOwotCWlmICgqZWlfZW5kcGZuID4gZW5kX3BmbikKLQkJKmVpX2VuZHBmbiA9IGVuZF9wZm47Ci0KLQkvKiBPYmV5IGVuZF91c2VyX3BmbiB0byBzYXZlIG9uIG1lbW1hcCAqLwotCWlmICgqZWlfc3RhcnRwZm4gPj0gZW5kX3VzZXJfcGZuKQotCQlyZXR1cm4gMDsKLQlpZiAoKmVpX2VuZHBmbiA+IGVuZF91c2VyX3BmbikKLQkJKmVpX2VuZHBmbiA9IGVuZF91c2VyX3BmbjsKLQotCXJldHVybiAxOwotfQotCi0vKiBXYWxrIHRoZSBlODIwIG1hcCBhbmQgcmVnaXN0ZXIgYWN0aXZlIHJlZ2lvbnMgd2l0aGluIGEgbm9kZSAqLwotdm9pZCBfX2luaXQKLWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCi0JCQkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKQotewotCXVuc2lnbmVkIGxvbmcgZWlfc3RhcnRwZm47Ci0JdW5zaWduZWQgbG9uZyBlaV9lbmRwZm47Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykKLQkJaWYgKGU4MjBfZmluZF9hY3RpdmVfcmVnaW9uKCZlODIwLm1hcFtpXSwKLQkJCQkJICAgIHN0YXJ0X3BmbiwgZW5kX3BmbiwKLQkJCQkJICAgICZlaV9zdGFydHBmbiwgJmVpX2VuZHBmbikpCi0JCQlhZGRfYWN0aXZlX3JhbmdlKG5pZCwgZWlfc3RhcnRwZm4sIGVpX2VuZHBmbik7Ci19Ci0KLS8qCi0gKiBBZGQgYSBtZW1vcnkgcmVnaW9uIHRvIHRoZSBrZXJuZWwgZTgyMCBtYXAuCi0gKi8KLXZvaWQgX19pbml0IGFkZF9tZW1vcnlfcmVnaW9uKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IHR5cGUpCi17Ci0JaW50IHggPSBlODIwLm5yX21hcDsKLQotCWlmICh4ID09IEU4MjBNQVgpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJPb29wcyEgVG9vIG1hbnkgZW50cmllcyBpbiB0aGUgbWVtb3J5IG1hcCFcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JZTgyMC5tYXBbeF0uYWRkciA9IHN0YXJ0OwotCWU4MjAubWFwW3hdLnNpemUgPSBzaXplOwotCWU4MjAubWFwW3hdLnR5cGUgPSB0eXBlOwotCWU4MjAubnJfbWFwKys7Ci19Ci0KLS8qCi0gKiBGaW5kIHRoZSBob2xlIHNpemUgKGluIGJ5dGVzKSBpbiB0aGUgbWVtb3J5IHJhbmdlLgotICogQHN0YXJ0OiBzdGFydGluZyBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UgdG8gc2NhbgotICogQGVuZDogZW5kaW5nIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSB0byBzY2FuCi0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfaG9sZV9zaXplKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQotewotCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIGVuZF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIGVpX3N0YXJ0cGZuLCBlaV9lbmRwZm4sIHJhbSA9IDA7Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlpZiAoZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oJmU4MjAubWFwW2ldLAotCQkJCQkgICAgc3RhcnRfcGZuLCBlbmRfcGZuLAotCQkJCQkgICAgJmVpX3N0YXJ0cGZuLCAmZWlfZW5kcGZuKSkKLQkJCXJhbSArPSBlaV9lbmRwZm4gLSBlaV9zdGFydHBmbjsKLQl9Ci0JcmV0dXJuIGVuZCAtIHN0YXJ0IC0gKHJhbSA8PCBQQUdFX1NISUZUKTsKLX0KLQotc3RhdGljIHZvaWQgX19pbml0IGU4MjBfcHJpbnRfbWFwKGNoYXIgKndobykKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIiAlczogJTAxNkx4IC0gJTAxNkx4ICIsIHdobywKLQkJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIGU4MjAubWFwW2ldLmFkZHIsCi0JCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKQotCQkgICAgICAgKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKSk7Ci0JCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgewotCQljYXNlIEU4MjBfUkFNOgotCQkJcHJpbnRrKEtFUk5fQ09OVCAiKHVzYWJsZSlcbiIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9SRVNFUlZFRDoKLQkJCXByaW50ayhLRVJOX0NPTlQgIihyZXNlcnZlZClcbiIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9BQ1BJOgotCQkJcHJpbnRrKEtFUk5fQ09OVCAiKEFDUEkgZGF0YSlcbiIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9OVlM6Ci0JCQlwcmludGsoS0VSTl9DT05UICIoQUNQSSBOVlMpXG4iKTsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcHJpbnRrKEtFUk5fQ09OVCAidHlwZSAldVxuIiwgZTgyMC5tYXBbaV0udHlwZSk7Ci0JCQlicmVhazsKLQkJfQotCX0KLX0KLQotLyoKLSAqIFNhbml0aXplIHRoZSBCSU9TIGU4MjAgbWFwLgotICoKLSAqIFNvbWUgZTgyMCByZXNwb25zZXMgaW5jbHVkZSBvdmVybGFwcGluZyBlbnRyaWVzLiBUaGUgZm9sbG93aW5nCi0gKiByZXBsYWNlcyB0aGUgb3JpZ2luYWwgZTgyMCBtYXAgd2l0aCBhIG5ldyBvbmUsIHJlbW92aW5nIG92ZXJsYXBzLgotICoKLSAqLwotc3RhdGljIGludCBfX2luaXQgc2FuaXRpemVfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgY2hhciAqcG5yX21hcCkKLXsKLQlzdHJ1Y3QgY2hhbmdlX21lbWJlciB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKnBiaW9zOyAvKiBwb2ludGVyIHRvIG9yaWdpbmFsIGJpb3MgZW50cnkgKi8KLQkJdW5zaWduZWQgbG9uZyBsb25nIGFkZHI7IC8qIGFkZHJlc3MgZm9yIHRoaXMgY2hhbmdlIHBvaW50ICovCi0JfTsKLQlzdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgY2hhbmdlX3BvaW50X2xpc3RbMipFODIwTUFYXSBfX2luaXRkYXRhOwotCXN0YXRpYyBzdHJ1Y3QgY2hhbmdlX21lbWJlciAqY2hhbmdlX3BvaW50WzIqRTgyME1BWF0gX19pbml0ZGF0YTsKLQlzdGF0aWMgc3RydWN0IGU4MjBlbnRyeSAqb3ZlcmxhcF9saXN0W0U4MjBNQVhdIF9faW5pdGRhdGE7Ci0Jc3RhdGljIHN0cnVjdCBlODIwZW50cnkgbmV3X2Jpb3NbRTgyME1BWF0gX19pbml0ZGF0YTsKLQlzdHJ1Y3QgY2hhbmdlX21lbWJlciAqY2hhbmdlX3RtcDsKLQl1bnNpZ25lZCBsb25nIGN1cnJlbnRfdHlwZSwgbGFzdF90eXBlOwotCXVuc2lnbmVkIGxvbmcgbG9uZyBsYXN0X2FkZHI7Ci0JaW50IGNoZ2lkeCwgc3RpbGxfY2hhbmdpbmc7Ci0JaW50IG92ZXJsYXBfZW50cmllczsKLQlpbnQgbmV3X2Jpb3NfZW50cnk7Ci0JaW50IG9sZF9uciwgbmV3X25yLCBjaGdfbnI7Ci0JaW50IGk7Ci0KLQkvKgotCQlWaXN1YWxseSB3ZSdyZSBwZXJmb3JtaW5nIHRoZSBmb2xsb3dpbmcKLQkJKDEsMiwzLDQgPSBtZW1vcnkgdHlwZXMpLi4uCi0KLQkJU2FtcGxlIG1lbW9yeSBtYXAgKHcvb3ZlcmxhcHMpOgotCQkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCi0JCSAgIF9fX18xMTExX19fX19fX19fX19fX19fXwotCQkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KLQkJICAgMTExMTExMTFfX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fMzNfXwotCQkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KLQkJICAgX19fX19fX19fXzMzMzMzX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fMjJfX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fMjIyMl8KLQkJICAgX19fX19fX19fMTExMTExMTExX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fXzExXwotCQkgICBfX19fX19fX19fX19fX19fXzRfX19fX18KLQotCQlTYW5pdGl6ZWQgZXF1aXZhbGVudCAobm8gb3ZlcmxhcCk6Ci0JCSAgIDFfX19fX19fX19fX19fX19fX19fX19fXwotCQkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KLQkJICAgX19fMV9fX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fX18yMl9fX19fX19fX19fX19fX19fXwotCQkgICBfX19fX18xMV9fX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fMV9fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX18zX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KLQkJICAgX19fX19fX19fX19fXzMzX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fXzJfX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fMV9fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX180X19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX18yX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fXzMzX18KLQkJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCi0JKi8KLQotCS8qIGlmIHRoZXJlJ3Mgb25seSBvbmUgbWVtb3J5IHJlZ2lvbiwgZG9uJ3QgYm90aGVyICovCi0JaWYgKCpwbnJfbWFwIDwgMikKLQkJcmV0dXJuIC0xOwotCi0Jb2xkX25yID0gKnBucl9tYXA7Ci0KLQkvKiBiYWlsIG91dCBpZiB3ZSBmaW5kIGFueSB1bnJlYXNvbmFibGUgYWRkcmVzc2VzIGluIGJpb3MgbWFwICovCi0JZm9yIChpID0gMDsgaSA8IG9sZF9ucjsgaSsrKQotCQlpZiAoYmlvc21hcFtpXS5hZGRyICsgYmlvc21hcFtpXS5zaXplIDwgYmlvc21hcFtpXS5hZGRyKQotCQkJcmV0dXJuIC0xOwotCi0JLyogY3JlYXRlIHBvaW50ZXJzIGZvciBpbml0aWFsIGNoYW5nZS1wb2ludCBpbmZvcm1hdGlvbiAoZm9yIHNvcnRpbmcpICovCi0JZm9yIChpID0gMDsgaSA8IDIgKiBvbGRfbnI7IGkrKykKLQkJY2hhbmdlX3BvaW50W2ldID0gJmNoYW5nZV9wb2ludF9saXN0W2ldOwotCi0JLyogcmVjb3JkIGFsbCBrbm93biBjaGFuZ2UtcG9pbnRzIChzdGFydGluZyBhbmQgZW5kaW5nIGFkZHJlc3NlcyksCi0JICAgb21pdHRpbmcgdGhvc2UgdGhhdCBhcmUgZm9yIGVtcHR5IG1lbW9yeSByZWdpb25zICovCi0JY2hnaWR4ID0gMDsKLQlmb3IgKGkgPSAwOyBpIDwgb2xkX25yOyBpKyspCXsKLQkJaWYgKGJpb3NtYXBbaV0uc2l6ZSAhPSAwKSB7Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkcjsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHgrK10tPnBiaW9zID0gJmJpb3NtYXBbaV07Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkciArCi0JCQkJYmlvc21hcFtpXS5zaXplOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKLQkJfQotCX0KLQljaGdfbnIgPSBjaGdpZHg7Ci0KLQkvKiBzb3J0IGNoYW5nZS1wb2ludCBsaXN0IGJ5IG1lbW9yeSBhZGRyZXNzZXMgKGxvdyAtPiBoaWdoKSAqLwotCXN0aWxsX2NoYW5naW5nID0gMTsKLQl3aGlsZSAoc3RpbGxfY2hhbmdpbmcpCXsKLQkJc3RpbGxfY2hhbmdpbmcgPSAwOwotCQlmb3IgKGkgPSAxOyBpIDwgY2hnX25yOyBpKyspICB7Ci0JCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VyYWRkciwgbGFzdGFkZHI7Ci0JCQl1bnNpZ25lZCBsb25nIGxvbmcgY3VycGJhZGRyLCBsYXN0cGJhZGRyOwotCi0JCQljdXJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5hZGRyOwotCQkJbGFzdGFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5hZGRyOwotCQkJY3VycGJhZGRyID0gY2hhbmdlX3BvaW50W2ldLT5wYmlvcy0+YWRkcjsKLQkJCWxhc3RwYmFkZHIgPSBjaGFuZ2VfcG9pbnRbaSAtIDFdLT5wYmlvcy0+YWRkcjsKLQotCQkJLyoKLQkJCSAqIHN3YXAgZW50cmllcywgd2hlbjoKLQkJCSAqCi0JCQkgKiBjdXJhZGRyID4gbGFzdGFkZHIgb3IKLQkJCSAqIGN1cmFkZHIgPT0gbGFzdGFkZHIgYW5kIGN1cmFkZHIgPT0gY3VycGJhZGRyIGFuZAotCQkJICogbGFzdGFkZHIgIT0gbGFzdHBiYWRkcgotCQkJICovCi0JCQlpZiAoY3VyYWRkciA8IGxhc3RhZGRyIHx8Ci0JCQkgICAgKGN1cmFkZHIgPT0gbGFzdGFkZHIgJiYgY3VyYWRkciA9PSBjdXJwYmFkZHIgJiYKLQkJCSAgICAgbGFzdGFkZHIgIT0gbGFzdHBiYWRkcikpIHsKLQkJCQljaGFuZ2VfdG1wID0gY2hhbmdlX3BvaW50W2ldOwotCQkJCWNoYW5nZV9wb2ludFtpXSA9IGNoYW5nZV9wb2ludFtpLTFdOwotCQkJCWNoYW5nZV9wb2ludFtpLTFdID0gY2hhbmdlX3RtcDsKLQkJCQlzdGlsbF9jaGFuZ2luZyA9IDE7Ci0JCQl9Ci0JCX0KLQl9Ci0KLQkvKiBjcmVhdGUgYSBuZXcgYmlvcyBtZW1vcnkgbWFwLCByZW1vdmluZyBvdmVybGFwcyAqLwotCW92ZXJsYXBfZW50cmllcyA9IDA7CSAvKiBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgb3ZlcmxhcCB0YWJsZSAqLwotCW5ld19iaW9zX2VudHJ5ID0gMDsJIC8qIGluZGV4IGZvciBjcmVhdGluZyBuZXcgYmlvcyBtYXAgZW50cmllcyAqLwotCWxhc3RfdHlwZSA9IDA7CQkgLyogc3RhcnQgd2l0aCB1bmRlZmluZWQgbWVtb3J5IHR5cGUgKi8KLQlsYXN0X2FkZHIgPSAwOwkJIC8qIHN0YXJ0IHdpdGggMCBhcyBsYXN0IHN0YXJ0aW5nIGFkZHJlc3MgKi8KLQotCS8qIGxvb3AgdGhyb3VnaCBjaGFuZ2UtcG9pbnRzLCBkZXRlcm1pbmluZyBhZmZlY3Qgb24gdGhlIG5ldyBiaW9zIG1hcCAqLwotCWZvciAoY2hnaWR4ID0gMDsgY2hnaWR4IDwgY2hnX25yOyBjaGdpZHgrKykgewotCQkvKiBrZWVwIHRyYWNrIG9mIGFsbCBvdmVybGFwcGluZyBiaW9zIGVudHJpZXMgKi8KLQkJaWYgKGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID09Ci0JCSAgICBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3MtPmFkZHIpIHsKLQkJCS8qCi0JCQkgKiBhZGQgbWFwIGVudHJ5IHRvIG92ZXJsYXAgbGlzdCAoPiAxIGVudHJ5Ci0JCQkgKiBpbXBsaWVzIGFuIG92ZXJsYXApCi0JCQkgKi8KLQkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMrK10gPQotCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvczsKLQkJfSBlbHNlIHsKLQkJCS8qCi0JCQkgKiByZW1vdmUgZW50cnkgZnJvbSBsaXN0IChvcmRlciBpbmRlcGVuZGVudCwKLQkJCSAqIHNvIHN3YXAgd2l0aCBsYXN0KQotCQkJICovCi0JCQlmb3IgKGkgPSAwOyBpIDwgb3ZlcmxhcF9lbnRyaWVzOyBpKyspIHsKLQkJCQlpZiAob3ZlcmxhcF9saXN0W2ldID09Ci0JCQkJICAgIGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcykKLQkJCQkJb3ZlcmxhcF9saXN0W2ldID0KLQkJCQkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMtMV07Ci0JCQl9Ci0JCQlvdmVybGFwX2VudHJpZXMtLTsKLQkJfQotCQkvKgotCQkgKiBpZiB0aGVyZSBhcmUgb3ZlcmxhcHBpbmcgZW50cmllcywgZGVjaWRlIHdoaWNoCi0JCSAqICJ0eXBlIiB0byB1c2UgKGxhcmdlciB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlIC0tCi0JCSAqIDE9dXNhYmxlLCAyLDMsNCw0Kz11bnVzYWJsZSkKLQkJICovCi0JCWN1cnJlbnRfdHlwZSA9IDA7Ci0JCWZvciAoaSA9IDA7IGkgPCBvdmVybGFwX2VudHJpZXM7IGkrKykKLQkJCWlmIChvdmVybGFwX2xpc3RbaV0tPnR5cGUgPiBjdXJyZW50X3R5cGUpCi0JCQkJY3VycmVudF90eXBlID0gb3ZlcmxhcF9saXN0W2ldLT50eXBlOwotCQkvKgotCQkgKiBjb250aW51ZSBidWlsZGluZyB1cCBuZXcgYmlvcyBtYXAgYmFzZWQgb24gdGhpcwotCQkgKiBpbmZvcm1hdGlvbgotCQkgKi8KLQkJaWYgKGN1cnJlbnRfdHlwZSAhPSBsYXN0X3R5cGUpCXsKLQkJCWlmIChsYXN0X3R5cGUgIT0gMCkJIHsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uc2l6ZSA9Ci0JCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyIC0gbGFzdF9hZGRyOwotCQkJCS8qCi0JCQkJICogbW92ZSBmb3J3YXJkIG9ubHkgaWYgdGhlIG5ldyBzaXplCi0JCQkJICogd2FzIG5vbi16ZXJvCi0JCQkJICovCi0JCQkJaWYgKG5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplICE9IDApCi0JCQkJCS8qCi0JCQkJCSAqIG5vIG1vcmUgc3BhY2UgbGVmdCBmb3IgbmV3Ci0JCQkJCSAqIGJpb3MgZW50cmllcyA/Ci0JCQkJCSAqLwotCQkJCQlpZiAoKytuZXdfYmlvc19lbnRyeSA+PSBFODIwTUFYKQotCQkJCQkJYnJlYWs7Ci0JCQl9Ci0JCQlpZiAoY3VycmVudF90eXBlICE9IDApCXsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uYWRkciA9Ci0JCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOwotCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS50eXBlID0gY3VycmVudF90eXBlOwotCQkJCWxhc3RfYWRkciA9IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOwotCQkJfQotCQkJbGFzdF90eXBlID0gY3VycmVudF90eXBlOwotCQl9Ci0JfQotCS8qIHJldGFpbiBjb3VudCBmb3IgbmV3IGJpb3MgZW50cmllcyAqLwotCW5ld19uciA9IG5ld19iaW9zX2VudHJ5OwotCi0JLyogY29weSBuZXcgYmlvcyBtYXBwaW5nIGludG8gb3JpZ2luYWwgbG9jYXRpb24gKi8KLQltZW1jcHkoYmlvc21hcCwgbmV3X2Jpb3MsIG5ld19uciAqIHNpemVvZihzdHJ1Y3QgZTgyMGVudHJ5KSk7Ci0JKnBucl9tYXAgPSBuZXdfbnI7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIENvcHkgdGhlIEJJT1MgZTgyMCBtYXAgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICogU2FuaXR5LWNoZWNrIGl0IHdoaWxlIHdlJ3JlIGF0IGl0Li4KLSAqCi0gKiBJZiB3ZSdyZSBsdWNreSBhbmQgbGl2ZSBvbiBhIG1vZGVybiBzeXN0ZW0sIHRoZSBzZXR1cCBjb2RlCi0gKiB3aWxsIGhhdmUgZ2l2ZW4gdXMgYSBtZW1vcnkgbWFwIHRoYXQgd2UgY2FuIHVzZSB0byBwcm9wZXJseQotICogc2V0IHVwIG1lbW9yeS4gIElmIHdlIGFyZW4ndCwgd2UnbGwgZmFrZSBhIG1lbW9yeSBtYXAuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IGNvcHlfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCkKLXsKLQkvKiBPbmx5IG9uZSBtZW1vcnkgcmVnaW9uIChvciBuZWdhdGl2ZSk/IElnbm9yZSBpdCAqLwotCWlmIChucl9tYXAgPCAyKQotCQlyZXR1cm4gLTE7Ci0KLQlkbyB7Ci0JCXU2NCBzdGFydCA9IGJpb3NtYXAtPmFkZHI7Ci0JCXU2NCBzaXplID0gYmlvc21hcC0+c2l6ZTsKLQkJdTY0IGVuZCA9IHN0YXJ0ICsgc2l6ZTsKLQkJdTMyIHR5cGUgPSBiaW9zbWFwLT50eXBlOwotCi0JCS8qIE92ZXJmbG93IGluIDY0IGJpdHM/IElnbm9yZSB0aGUgbWVtb3J5IG1hcC4gKi8KLQkJaWYgKHN0YXJ0ID4gZW5kKQotCQkJcmV0dXJuIC0xOwotCi0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0LCBzaXplLCB0eXBlKTsKLQl9IHdoaWxlIChiaW9zbWFwKyssIC0tbnJfbWFwKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZWFybHlfcGFuaWMoY2hhciAqbXNnKQotewotCWVhcmx5X3ByaW50ayhtc2cpOwotCXBhbmljKG1zZyk7Ci19Ci0KLS8qIFdlJ3JlIG5vdCB2b2lkIG9ubHkgZm9yIHg4NiAzMi1iaXQgY29tcGF0ICovCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCi17Ci0JY2hhciAqd2hvID0gIkJJT1MtZTgyMCI7Ci0JLyoKLQkgKiBUcnkgdG8gY29weSB0aGUgQklPUy1zdXBwbGllZCBFODIwLW1hcC4KLQkgKgotCSAqIE90aGVyd2lzZSBmYWtlIGEgbWVtb3J5IG1hcDsgb25lIHNlY3Rpb24gZnJvbSAway0+NjQwaywKLQkgKiB0aGUgbmV4dCBzZWN0aW9uIGZyb20gMW1iLT5hcHByb3ByaWF0ZV9tZW1fawotCSAqLwotCXNhbml0aXplX2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCAmYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKTsKLQlpZiAoY29weV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKSA8IDApCi0JCWVhcmx5X3BhbmljKCJDYW5ub3QgZmluZCBhIHZhbGlkIG1lbW9yeSBtYXAiKTsKLQlwcmludGsoS0VSTl9JTkZPICJCSU9TLXByb3ZpZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQllODIwX3ByaW50X21hcCh3aG8pOwotCi0JLyogSW4gY2FzZSBzb21lb25lIGNhcmVzLi4uICovCi0JcmV0dXJuIHdobzsKLX0KLQotc3RhdGljIGludCBfX2luaXQgcGFyc2VfbWVtb3B0KGNoYXIgKnApCi17Ci0JaWYgKCFwKQotCQlyZXR1cm4gLUVJTlZBTDsKLQllbmRfdXNlcl9wZm4gPSBtZW1wYXJzZShwLCAmcCk7Ci0JZW5kX3VzZXJfcGZuID4+PSBQQUdFX1NISUZUOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oIm1lbSIsIHBhcnNlX21lbW9wdCk7Ci0KLXN0YXRpYyBpbnQgdXNlcmRlZiBfX2luaXRkYXRhOwotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1tYXBfb3B0KGNoYXIgKnApCi17Ci0JY2hhciAqb2xkcDsKLQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnRfYXQsIG1lbV9zaXplOwotCi0JaWYgKCFzdHJjbXAocCwgImV4YWN0bWFwIikpIHsKLSNpZmRlZiBDT05GSUdfQ1JBU0hfRFVNUAotCQkvKgotCQkgKiBJZiB3ZSBhcmUgZG9pbmcgYSBjcmFzaCBkdW1wLCB3ZSBzdGlsbCBuZWVkIHRvIGtub3cKLQkJICogdGhlIHJlYWwgbWVtIHNpemUgYmVmb3JlIG9yaWdpbmFsIG1lbW9yeSBtYXAgaXMKLQkJICogcmVzZXQuCi0JCSAqLwotCQllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIC0xVUwpOwotCQlzYXZlZF9tYXhfcGZuID0gZTgyMF9lbmRfb2ZfcmFtKCk7Ci0JCXJlbW92ZV9hbGxfYWN0aXZlX3JhbmdlcygpOwotI2VuZGlmCi0JCW1heF9wZm5fbWFwcGVkID0gMDsKLQkJZTgyMC5ucl9tYXAgPSAwOwotCQl1c2VyZGVmID0gMTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0Jb2xkcCA9IHA7Ci0JbWVtX3NpemUgPSBtZW1wYXJzZShwLCAmcCk7Ci0JaWYgKHAgPT0gb2xkcCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQl1c2VyZGVmID0gMTsKLQlpZiAoKnAgPT0gJ0AnKSB7Ci0JCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SQU0pOwotCX0gZWxzZSBpZiAoKnAgPT0gJyMnKSB7Ci0JCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9BQ1BJKTsKLQl9IGVsc2UgaWYgKCpwID09ICckJykgewotCQlzdGFydF9hdCA9IG1lbXBhcnNlKHArMSwgJnApOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfUkVTRVJWRUQpOwotCX0gZWxzZSB7Ci0JCWVuZF91c2VyX3BmbiA9IChtZW1fc2l6ZSA+PiBQQUdFX1NISUZUKTsKLQl9Ci0JcmV0dXJuICpwID09ICdcMCcgPyAwIDogLUVJTlZBTDsKLX0KLWVhcmx5X3BhcmFtKCJtZW1tYXAiLCBwYXJzZV9tZW1tYXBfb3B0KTsKLQotdm9pZCBfX2luaXQgZmluaXNoX2U4MjBfcGFyc2luZyh2b2lkKQotewotCWlmICh1c2VyZGVmKSB7Ci0JCWNoYXIgbnIgPSBlODIwLm5yX21hcDsKLQotCQlpZiAoc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsICZucikgPCAwKQotCQkJZWFybHlfcGFuaWMoIkludmFsaWQgdXNlciBzdXBwbGllZCBtZW1vcnkgbWFwIik7Ci0JCWU4MjAubnJfbWFwID0gbnI7Ci0KLQkJcHJpbnRrKEtFUk5fSU5GTyAidXNlci1kZWZpbmVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQkJZTgyMF9wcmludF9tYXAoInVzZXIiKTsKLQl9Ci19Ci0KLXZvaWQgX19pbml0IHVwZGF0ZV9tZW1vcnlfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCi0JCQkJdW5zaWduZWQgbmV3X3R5cGUpCi17Ci0JaW50IGk7Ci0KLQlCVUdfT04ob2xkX3R5cGUgPT0gbmV3X3R5cGUpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOwotCQlpZiAoZWktPnR5cGUgIT0gb2xkX3R5cGUpCi0JCQljb250aW51ZTsKLQkJLyogdG90YWxseSBjb3ZlcmVkPyAqLwotCQlpZiAoZWktPmFkZHIgPj0gc3RhcnQgJiYgZWktPnNpemUgPD0gc2l6ZSkgewotCQkJZWktPnR5cGUgPSBuZXdfdHlwZTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCS8qIHBhcnRpYWxseSBjb3ZlcmVkICovCi0JCWZpbmFsX3N0YXJ0ID0gbWF4KHN0YXJ0LCBlaS0+YWRkcik7Ci0JCWZpbmFsX2VuZCA9IG1pbihzdGFydCArIHNpemUsIGVpLT5hZGRyICsgZWktPnNpemUpOwotCQlpZiAoZmluYWxfc3RhcnQgPj0gZmluYWxfZW5kKQotCQkJY29udGludWU7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydCwKLQkJCQkJIG5ld190eXBlKTsKLQl9Ci19Ci0KLXZvaWQgX19pbml0IHVwZGF0ZV9lODIwKHZvaWQpCi17Ci0JdTggbnJfbWFwOwotCi0JbnJfbWFwID0gZTgyMC5ucl9tYXA7Ci0JaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCAmbnJfbWFwKSkKLQkJcmV0dXJuOwotCWU4MjAubnJfbWFwID0gbnJfbWFwOwotCXByaW50ayhLRVJOX0lORk8gIm1vZGlmaWVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKLQllODIwX3ByaW50X21hcCgibW9kaWZpZWQiKTsKLX0KLQotdW5zaWduZWQgbG9uZyBwY2lfbWVtX3N0YXJ0ID0gMHhhZWVkYmFiZTsKLUVYUE9SVF9TWU1CT0wocGNpX21lbV9zdGFydCk7Ci0KLS8qCi0gKiBTZWFyY2ggZm9yIHRoZSBiaWdnZXN0IGdhcCBpbiB0aGUgbG93IDMyIGJpdHMgb2YgdGhlIGU4MjAKLSAqIG1lbW9yeSBzcGFjZS4gIFdlIHBhc3MgdGhpcyBzcGFjZSB0byBQQ0kgdG8gYXNzaWduIE1NSU8gcmVzb3VyY2VzCi0gKiBmb3IgaG90cGx1ZyBvciB1bmNvbmZpZ3VyZWQgZGV2aWNlcyBpbi4KLSAqIEhvcGVmdWxseSB0aGUgQklPUyBsZXQgZW5vdWdoIHNwYWNlIGxlZnQuCi0gKi8KLV9faW5pdCB2b2lkIGU4MjBfc2V0dXBfZ2FwKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBnYXBzdGFydCwgZ2Fwc2l6ZSwgcm91bmQ7Ci0JdW5zaWduZWQgbG9uZyBsYXN0OwotCWludCBpOwotCWludCBmb3VuZCA9IDA7Ci0KLQlsYXN0ID0gMHgxMDAwMDAwMDB1bGw7Ci0JZ2Fwc3RhcnQgPSAweDEwMDAwMDAwOwotCWdhcHNpemUgPSAweDQwMDAwMDsKLQlpID0gZTgyMC5ucl9tYXA7Ci0Jd2hpbGUgKC0taSA+PSAwKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyBlbmQgPSBzdGFydCArIGU4MjAubWFwW2ldLnNpemU7Ci0KLQkJLyoKLQkJICogU2luY2UgImxhc3QiIGlzIGF0IG1vc3QgNEdCLCB3ZSBrbm93IHdlJ2xsCi0JCSAqIGZpdCBpbiAzMiBiaXRzIGlmIHRoaXMgY29uZGl0aW9uIGlzIHRydWUKLQkJICovCi0JCWlmIChsYXN0ID4gZW5kKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGdhcCA9IGxhc3QgLSBlbmQ7Ci0KLQkJCWlmIChnYXAgPiBnYXBzaXplKSB7Ci0JCQkJZ2Fwc2l6ZSA9IGdhcDsKLQkJCQlnYXBzdGFydCA9IGVuZDsKLQkJCQlmb3VuZCA9IDE7Ci0JCQl9Ci0JCX0KLQkJaWYgKHN0YXJ0IDwgbGFzdCkKLQkJCWxhc3QgPSBzdGFydDsKLQl9Ci0KLQlpZiAoIWZvdW5kKSB7Ci0JCWdhcHN0YXJ0ID0gKGVuZF9wZm4gPDwgUEFHRV9TSElGVCkgKyAxMDI0KjEwMjQ7Ci0JCXByaW50ayhLRVJOX0VSUiAiUENJOiBXYXJuaW5nOiBDYW5ub3QgZmluZCBhIGdhcCBpbiB0aGUgMzJiaXQgIgotCQkgICAgICAgImFkZHJlc3MgcmFuZ2VcbiIKLQkJICAgICAgIEtFUk5fRVJSICJQQ0k6IFVuYXNzaWduZWQgZGV2aWNlcyB3aXRoIDMyYml0IHJlc291cmNlICIKLQkJICAgICAgICJyZWdpc3RlcnMgbWF5IGJyZWFrIVxuIik7Ci0JfQotCi0JLyoKLQkgKiBTZWUgaG93IG11Y2ggd2Ugd2FudCB0byByb3VuZCB1cDogc3RhcnQgb2ZmIHdpdGgKLQkgKiByb3VuZGluZyB0byB0aGUgbmV4dCAxTUIgYXJlYS4KLQkgKi8KLQlyb3VuZCA9IDB4MTAwMDAwOwotCXdoaWxlICgoZ2Fwc2l6ZSA+PiA0KSA+IHJvdW5kKQotCQlyb3VuZCArPSByb3VuZDsKLQkvKiBGdW4gd2l0aCB0d28ncyBjb21wbGVtZW50ICovCi0JcGNpX21lbV9zdGFydCA9IChnYXBzdGFydCArIHJvdW5kKSAmIC1yb3VuZDsKLQotCXByaW50ayhLRVJOX0lORk8KLQkgICAgICAgIkFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCAlbHggKGdhcDogJWx4OiVseClcbiIsCi0JICAgICAgIHBjaV9tZW1fc3RhcnQsIGdhcHN0YXJ0LCBnYXBzaXplKTsKLX0KLQotaW50IF9faW5pdCBhcmNoX2dldF9yYW1fcmFuZ2UoaW50IHNsb3QsIHU2NCAqYWRkciwgdTY0ICpzaXplKQotewotCWludCBpOwotCi0JaWYgKHNsb3QgPCAwIHx8IHNsb3QgPj0gZTgyMC5ucl9tYXApCi0JCXJldHVybiAtMTsKLQlmb3IgKGkgPSBzbG90OyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCQlicmVhazsKLQl9Ci0JaWYgKGkgPT0gZTgyMC5ucl9tYXAgfHwgZTgyMC5tYXBbaV0uYWRkciA+IChtYXhfcGZuIDw8IFBBR0VfU0hJRlQpKQotCQlyZXR1cm4gLTE7Ci0JKmFkZHIgPSBlODIwLm1hcFtpXS5hZGRyOwotCSpzaXplID0gbWluX3QodTY0LCBlODIwLm1hcFtpXS5zaXplICsgZTgyMC5tYXBbaV0uYWRkciwKLQkJbWF4X3BmbiA8PCBQQUdFX1NISUZUKSAtICphZGRyOwotCXJldHVybiBpICsgMTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYwppbmRleCA5ZjUxZTFlLi5hNDY2NWYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZWFybHktcXVpcmtzLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1aXJrcy5jCkBAIC01MCw3ICs1MCw3IEBACiBzdGF0aWMgdm9pZCBfX2luaXQgdmlhX2J1Z3MoaW50ICBudW0sIGludCBzbG90LCBpbnQgZnVuYykKIHsKICNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQotCWlmICgoZW5kX3BmbiA+IE1BWF9ETUEzMl9QRk4gfHwgIGZvcmNlX2lvbW11KSAmJgorCWlmICgobWF4X3BmbiA+IE1BWF9ETUEzMl9QRk4gfHwgIGZvcmNlX2lvbW11KSAmJgogCSAgICAhZ2FydF9pb21tdV9hcGVydHVyZV9hbGxvd2VkKSB7CiAJCXByaW50ayhLRVJOX0lORk8KIAkJICAgICAgICJMb29rcyBsaWtlIGEgVklBIGNoaXBzZXQuIERpc2FibGluZyBJT01NVS4iCkBAIC05OCwxNyArOTgsNiBAQAogCiB9CiAKLXN0YXRpYyB2b2lkIF9faW5pdCBhdGlfYnVncyhpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMpCi17Ci0jaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCi0JaWYgKHRpbWVyX292ZXJfODI1NCA9PSAxKSB7Ci0JCXRpbWVyX292ZXJfODI1NCA9IDA7Ci0JCXByaW50ayhLRVJOX0lORk8KLQkJIkFUSSBib2FyZCBkZXRlY3RlZC4gRGlzYWJsaW5nIHRpbWVyIHJvdXRpbmcgb3ZlciA4MjU0LlxuIik7Ci0JfQotI2VuZGlmCi19Ci0KICNkZWZpbmUgUUZMQUdfQVBQTFlfT05DRSAJMHgxCiAjZGVmaW5lIFFGTEFHX0FQUExJRUQJCTB4MgogI2RlZmluZSBRRkxBR19ET05FCQkoUUZMQUdfQVBQTFlfT05DRXxRRkxBR19BUFBMSUVEKQpAQCAtMTI2LDggKzExNSw2IEBACiAJICBQQ0lfQ0xBU1NfQlJJREdFX1BDSSwgUENJX0FOWV9JRCwgUUZMQUdfQVBQTFlfT05DRSwgbnZpZGlhX2J1Z3MgfSwKIAl7IFBDSV9WRU5ET1JfSURfVklBLCBQQ0lfQU5ZX0lELAogCSAgUENJX0NMQVNTX0JSSURHRV9QQ0ksIFBDSV9BTllfSUQsIFFGTEFHX0FQUExZX09OQ0UsIHZpYV9idWdzIH0sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0FOWV9JRCwKLQkgIFBDSV9DTEFTU19CUklER0VfUENJLCBQQ0lfQU5ZX0lELCBRRkxBR19BUFBMWV9PTkNFLCBhdGlfYnVncyB9LAogCXsgUENJX1ZFTkRPUl9JRF9BTUQsIFBDSV9ERVZJQ0VfSURfQU1EX0s4X05CLAogCSAgUENJX0NMQVNTX0JSSURHRV9IT1NULCBQQ0lfQU5ZX0lELCAwLCBmaXhfaHlwZXJ0cmFuc3BvcnRfY29uZmlnIH0sCiAJe30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lYXJseV9wcmludGsuYyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseV9wcmludGsuYwppbmRleCA2NDNmZDg2Li5mZjllNzM1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZWFybHlfcHJpbnRrLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2Vhcmx5X3ByaW50ay5jCkBAIC0xOTYsNyArMTk2LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgY29uc29sZSAqZWFybHlfY29uc29sZSA9ICZlYXJseV92Z2FfY29uc29sZTsKIHN0YXRpYyBpbnQgZWFybHlfY29uc29sZV9pbml0aWFsaXplZDsKIAotdm9pZCBlYXJseV9wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pCithc21saW5rYWdlIHZvaWQgZWFybHlfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewogCWNoYXIgYnVmWzUxMl07CiAJaW50IG47CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZWZpLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZWZpLmMKaW5kZXggNzdkNDI0Yy4uMDZjYzhkNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2VmaS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lZmkuYwpAQCAtNjQsNiArNjQsMTcgQEAKIH0KIGVhcmx5X3BhcmFtKCJub2VmaSIsIHNldHVwX25vZWZpKTsKIAoraW50IGFkZF9lZmlfbWVtbWFwOworRVhQT1JUX1NZTUJPTChhZGRfZWZpX21lbW1hcCk7CisKK3N0YXRpYyBpbnQgX19pbml0IHNldHVwX2FkZF9lZmlfbWVtbWFwKGNoYXIgKmFyZykKK3sKKwlhZGRfZWZpX21lbW1hcCA9IDE7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgiYWRkX2VmaV9tZW1tYXAiLCBzZXR1cF9hZGRfZWZpX21lbW1hcCk7CisKKwogc3RhdGljIGVmaV9zdGF0dXNfdCB2aXJ0X2VmaV9nZXRfdGltZShlZmlfdGltZV90ICp0bSwgZWZpX3RpbWVfY2FwX3QgKnRjKQogewogCXJldHVybiBlZmlfY2FsbF92aXJ0MihnZXRfdGltZSwgdG0sIHRjKTsKQEAgLTIxMyw2ICsyMjQsNTAgQEAKIAkJICAgICAgZWZ0Lm1pbnV0ZSwgZWZ0LnNlY29uZCk7CiB9CiAKKy8qCisgKiBUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIEVGSSBtZW1vcnkgbWFwLiAgVGhpcyBtaWdodCBpbmNsdWRlCisgKiBtb3JlIHRoYW4gdGhlIG1heCAxMjggZW50cmllcyB0aGF0IGNhbiBmaXQgaW4gdGhlIGU4MjAgbGVnYWN5CisgKiAoemVyb3BhZ2UpIG1lbW9yeSBtYXAuCisgKi8KKworc3RhdGljIHZvaWQgX19pbml0IGRvX2FkZF9lZmlfbWVtbWFwKHZvaWQpCit7CisJdm9pZCAqcDsKKworCWZvciAocCA9IG1lbW1hcC5tYXA7IHAgPCBtZW1tYXAubWFwX2VuZDsgcCArPSBtZW1tYXAuZGVzY19zaXplKSB7CisJCWVmaV9tZW1vcnlfZGVzY190ICptZCA9IHA7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCA9IG1kLT5waHlzX2FkZHI7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyBzaXplID0gbWQtPm51bV9wYWdlcyA8PCBFRklfUEFHRV9TSElGVDsKKwkJaW50IGU4MjBfdHlwZTsKKworCQlpZiAobWQtPmF0dHJpYnV0ZSAmIEVGSV9NRU1PUllfV0IpCisJCQllODIwX3R5cGUgPSBFODIwX1JBTTsKKwkJZWxzZQorCQkJZTgyMF90eXBlID0gRTgyMF9SRVNFUlZFRDsKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0LCBzaXplLCBlODIwX3R5cGUpOworCX0KKwlzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgQVJSQVlfU0laRShlODIwLm1hcCksICZlODIwLm5yX21hcCk7Cit9CisKK3ZvaWQgX19pbml0IGVmaV9yZXNlcnZlX2Vhcmx5KHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBwbWFwOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCXBtYXAgPSBib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwOworI2Vsc2UKKwlwbWFwID0gKGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXAgfAorCQkoKF9fdTY0KWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXBfaGk8PDMyKSk7CisjZW5kaWYKKwltZW1tYXAucGh5c19tYXAgPSAodm9pZCAqKXBtYXA7CisJbWVtbWFwLm5yX21hcCA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXBfc2l6ZSAvCisJCWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7CisJbWVtbWFwLmRlc2NfdmVyc2lvbiA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3ZlcnNpb247CisJbWVtbWFwLmRlc2Nfc2l6ZSA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7CisJcmVzZXJ2ZV9lYXJseShwbWFwLCBwbWFwICsgbWVtbWFwLm5yX21hcCAqIG1lbW1hcC5kZXNjX3NpemUsCisJCSAgICAgICJFRkkgbWVtbWFwIik7Cit9CisKICNpZiBFRklfREVCVUcKIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9lZmlfbWVtbWFwKHZvaWQpCiB7CkBAIC0yNDQsMTkgKzI5OSwxMSBAQAogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCWVmaV9waHlzLnN5c3RhYiA9IChlZmlfc3lzdGVtX3RhYmxlX3QgKilib290X3BhcmFtcy5lZmlfaW5mby5lZmlfc3lzdGFiOwotCW1lbW1hcC5waHlzX21hcCA9ICh2b2lkICopYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbW1hcDsKICNlbHNlCiAJZWZpX3BoeXMuc3lzdGFiID0gKGVmaV9zeXN0ZW1fdGFibGVfdCAqKQogCQkoYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX3N5c3RhYiB8CiAJCSAoKF9fdTY0KWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9zeXN0YWJfaGk8PDMyKSk7Ci0JbWVtbWFwLnBoeXNfbWFwID0gKHZvaWQgKikKLQkJKGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXAgfAotCQkgKChfX3U2NClib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwX2hpPDwzMikpOwogI2VuZGlmCi0JbWVtbWFwLm5yX21hcCA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXBfc2l6ZSAvCi0JCWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7Ci0JbWVtbWFwLmRlc2NfdmVyc2lvbiA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3ZlcnNpb247Ci0JbWVtbWFwLmRlc2Nfc2l6ZSA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1kZXNjX3NpemU7CiAKIAllZmkuc3lzdGFiID0gZWFybHlfaW9yZW1hcCgodW5zaWduZWQgbG9uZyllZmlfcGh5cy5zeXN0YWIsCiAJCQkJICAgc2l6ZW9mKGVmaV9zeXN0ZW1fdGFibGVfdCkpOwpAQCAtMzcwLDYgKzQxNyw4IEBACiAJaWYgKG1lbW1hcC5kZXNjX3NpemUgIT0gc2l6ZW9mKGVmaV9tZW1vcnlfZGVzY190KSkKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiS2VybmVsLWRlZmluZWQgbWVtZGVzYyIKIAkJICAgICAgICJkb2Vzbid0IG1hdGNoIHRoZSBvbmUgZnJvbSBFRkkhXG4iKTsKKwlpZiAoYWRkX2VmaV9tZW1tYXApCisJCWRvX2FkZF9lZmlfbWVtbWFwKCk7CiAKIAkvKiBTZXR1cCBmb3IgRUZJIHJ1bnRpbWUgc2VydmljZSAqLwogCXJlYm9vdF90eXBlID0gQk9PVF9FRkk7CkBAIC00MjQsNyArNDczLDcgQEAKIAkJc2l6ZSA9IG1kLT5udW1fcGFnZXMgPDwgRUZJX1BBR0VfU0hJRlQ7CiAJCWVuZCA9IG1kLT5waHlzX2FkZHIgKyBzaXplOwogCi0JCWlmIChQRk5fVVAoZW5kKSA8PSBtYXhfcGZuX21hcHBlZCkKKwkJaWYgKFBGTl9VUChlbmQpIDw9IG1heF9sb3dfcGZuX21hcHBlZCkKIAkJCXZhID0gX192YShtZC0+cGh5c19hZGRyKTsKIAkJZWxzZQogCQkJdmEgPSBlZmlfaW9yZW1hcChtZC0+cGh5c19hZGRyLCBzaXplKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lZmlfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9lZmlfNjQuYwppbmRleCBkMDA2MGZkLi42NTJjNTI4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZWZpXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2VmaV82NC5jCkBAIC05NywxMyArOTcsNyBAQAogCWVhcmx5X3J1bnRpbWVfY29kZV9tYXBwaW5nX3NldF9leGVjKDApOwogfQogCi12b2lkIF9faW5pdCBlZmlfcmVzZXJ2ZV9ib290bWVtKHZvaWQpCi17Ci0JcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWMoKHVuc2lnbmVkIGxvbmcpbWVtbWFwLnBoeXNfbWFwLAotCQkJCW1lbW1hcC5ucl9tYXAgKiBtZW1tYXAuZGVzY19zaXplKTsKLX0KLQotdm9pZCBfX2lvbWVtICogX19pbml0IGVmaV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpCit2b2lkIF9faW9tZW0gKl9faW5pdCBlZmlfaW9yZW1hcCh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQogewogCXN0YXRpYyB1bnNpZ25lZCBwYWdlc19tYXBwZWQgX19pbml0ZGF0YTsKIAl1bnNpZ25lZCBpLCBwYWdlczsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lbnRyeV8zMi5TIGIvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKaW5kZXggYzc3OGU0Zi4uNmJjMDdmMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKKysrIGIvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMKQEAgLTUxLDE0ICs1MSwxNSBAQAogI2luY2x1ZGUgPGFzbS9wZXJjcHUuaD4KICNpbmNsdWRlIDxhc20vZHdhcmYyLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgotI2luY2x1ZGUgImlycV92ZWN0b3JzLmgiCisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorI2luY2x1ZGUgPGFzbS9pcnFfdmVjdG9ycy5oPgogCiAvKgogICogV2UgdXNlIG1hY3JvcyBmb3IgbG93LWxldmVsIG9wZXJhdGlvbnMgd2hpY2ggbmVlZCB0byBiZSBvdmVycmlkZGVuCiAgKiBmb3IgcGFyYXZpcnR1YWxpemF0aW9uLiAgVGhlIGZvbGxvd2luZyB3aWxsIG5ldmVyIGNsb2JiZXIgYW55IHJlZ2lzdGVyczoKICAqICAgSU5URVJSVVBUX1JFVFVSTiAoYWthLiAiaXJldCIpCiAgKiAgIEdFVF9DUjBfSU5UT19FQVggKGFrYS4gIm1vdmwgJWNyMCwgJWVheCIpCi0gKiAgIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUIChha2EgInN0aTsgc3lzZXhpdCIpLgorICogICBFTkFCTEVfSU5URVJSVVBUU19TWVNFWElUIChha2EgInN0aTsgc3lzZXhpdCIpLgogICoKICAqIEZvciBESVNBQkxFX0lOVEVSUlVQVFMvRU5BQkxFX0lOVEVSUlVQVFMgKGFrYSAiY2xpIi8ic3RpIiksIHlvdSBtdXN0CiAgKiBzcGVjaWZ5IHdoYXQgcmVnaXN0ZXJzIGNhbiBiZSBvdmVyd3JpdHRlbiAoQ0xCUl9OT05FLCBDTEJSX0VBWC9FRFgvRUNYL0FOWSkuCkBAIC0zNDksNyArMzUwLDcgQEAKIAl4b3JsICVlYnAsJWVicAogCVRSQUNFX0lSUVNfT04KIDE6CW1vdiAgUFRfRlMoJWVzcCksICVmcwotCUVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUCisJRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVAogCUNGSV9FTkRQUk9DCiAucHVzaHNlY3Rpb24gLmZpeHVwLCJheCIKIDI6CW1vdmwgJDAsUFRfRlMoJWVzcCkKQEAgLTg3NCwxMCArODc1LDEwIEBACiAucHJldmlvdXMKIEVORChuYXRpdmVfaXJldCkKIAotRU5UUlkobmF0aXZlX2lycV9lbmFibGVfc3lzY2FsbF9yZXQpCitFTlRSWShuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0KQogCXN0aQogCXN5c2V4aXQKLUVORChuYXRpdmVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCkKK0VORChuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0KQogI2VuZGlmCiAKIEtQUk9CRV9FTlRSWShpbnQzKQpAQCAtMTAyNCw2ICsxMDI1LDcgQEAKIAlSSU5HMF9JTlRfRlJBTUUKIAlhZGRsICQ1KjQsICVlc3AJCS8qIHJlbW92ZSB4ZW4tcHJvdmlkZWQgZnJhbWUgKi8KIAlqbXAgc3lzZW50ZXJfcGFzdF9lc3AKKwlDRklfRU5EUFJPQwogCiBFTlRSWSh4ZW5faHlwZXJ2aXNvcl9jYWxsYmFjaykKIAlDRklfU1RBUlRQUk9DCkBAIC0xMTEwLDYgKzExMTIsNzcgQEAKIAogI2VuZGlmCS8qIENPTkZJR19YRU4gKi8KIAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKworRU5UUlkobWNvdW50KQorCXB1c2hsICVlYXgKKwlwdXNobCAlZWN4CisJcHVzaGwgJWVkeAorCW1vdmwgMHhjKCVlc3ApLCAlZWF4CisJc3VibCAkTUNPVU5UX0lOU05fU0laRSwgJWVheAorCisuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWNhbGwgZnRyYWNlX3N0dWIKKworCXBvcGwgJWVkeAorCXBvcGwgJWVjeAorCXBvcGwgJWVheAorCisJcmV0CitFTkQobWNvdW50KQorCitFTlRSWShmdHJhY2VfY2FsbGVyKQorCXB1c2hsICVlYXgKKwlwdXNobCAlZWN4CisJcHVzaGwgJWVkeAorCW1vdmwgMHhjKCVlc3ApLCAlZWF4CisJbW92bCAweDQoJWVicCksICVlZHgKKwlzdWJsICRNQ09VTlRfSU5TTl9TSVpFLCAlZWF4CisKKy5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJY2FsbCBmdHJhY2Vfc3R1YgorCisJcG9wbCAlZWR4CisJcG9wbCAlZWN4CisJcG9wbCAlZWF4CisKKy5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJcmV0CitFTkQoZnRyYWNlX2NhbGxlcikKKworI2Vsc2UgLyogISBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKworRU5UUlkobWNvdW50KQorCWNtcGwgJGZ0cmFjZV9zdHViLCBmdHJhY2VfdHJhY2VfZnVuY3Rpb24KKwlqbnogdHJhY2UKKy5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJcmV0CisKKwkvKiB0YWtlbiBmcm9tIGdsaWJjICovCit0cmFjZToKKwlwdXNobCAlZWF4CisJcHVzaGwgJWVjeAorCXB1c2hsICVlZHgKKwltb3ZsIDB4YyglZXNwKSwgJWVheAorCW1vdmwgMHg0KCVlYnApLCAlZWR4CisJc3VibCAkTUNPVU5UX0lOU05fU0laRSwgJWVheAorCisJY2FsbCAqZnRyYWNlX3RyYWNlX2Z1bmN0aW9uCisKKwlwb3BsICVlZHgKKwlwb3BsICVlY3gKKwlwb3BsICVlYXgKKworCWptcCBmdHJhY2Vfc3R1YgorRU5EKG1jb3VudCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKIC5zZWN0aW9uIC5yb2RhdGEsImEiCiAjaW5jbHVkZSAic3lzY2FsbF90YWJsZV8zMi5TIgogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfNjQuUyBiL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCmluZGV4IDU1NmE4ZGYuLmFlNjNlNTggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TCkBAIC01MSwxNiArNTEsMTIxIEBACiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vaXJxZmxhZ3MuaD4KICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKIAkuY29kZTY0CiAKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitFTlRSWShtY291bnQpCisKKwlzdWJxICQweDM4LCAlcnNwCisJbW92cSAlcmF4LCAoJXJzcCkKKwltb3ZxICVyY3gsIDgoJXJzcCkKKwltb3ZxICVyZHgsIDE2KCVyc3ApCisJbW92cSAlcnNpLCAyNCglcnNwKQorCW1vdnEgJXJkaSwgMzIoJXJzcCkKKwltb3ZxICVyOCwgNDAoJXJzcCkKKwltb3ZxICVyOSwgNDgoJXJzcCkKKworCW1vdnEgMHgzOCglcnNwKSwgJXJkaQorCXN1YnEgJE1DT1VOVF9JTlNOX1NJWkUsICVyZGkKKworLmdsb2JsIG1jb3VudF9jYWxsCittY291bnRfY2FsbDoKKwljYWxsIGZ0cmFjZV9zdHViCisKKwltb3ZxIDQ4KCVyc3ApLCAlcjkKKwltb3ZxIDQwKCVyc3ApLCAlcjgKKwltb3ZxIDMyKCVyc3ApLCAlcmRpCisJbW92cSAyNCglcnNwKSwgJXJzaQorCW1vdnEgMTYoJXJzcCksICVyZHgKKwltb3ZxIDgoJXJzcCksICVyY3gKKwltb3ZxICglcnNwKSwgJXJheAorCWFkZHEgJDB4MzgsICVyc3AKKworCXJldHEKK0VORChtY291bnQpCisKK0VOVFJZKGZ0cmFjZV9jYWxsZXIpCisKKwkvKiB0YWtlbiBmcm9tIGdsaWJjICovCisJc3VicSAkMHgzOCwgJXJzcAorCW1vdnEgJXJheCwgKCVyc3ApCisJbW92cSAlcmN4LCA4KCVyc3ApCisJbW92cSAlcmR4LCAxNiglcnNwKQorCW1vdnEgJXJzaSwgMjQoJXJzcCkKKwltb3ZxICVyZGksIDMyKCVyc3ApCisJbW92cSAlcjgsIDQwKCVyc3ApCisJbW92cSAlcjksIDQ4KCVyc3ApCisKKwltb3ZxIDB4MzgoJXJzcCksICVyZGkKKwltb3ZxIDgoJXJicCksICVyc2kKKwlzdWJxICRNQ09VTlRfSU5TTl9TSVpFLCAlcmRpCisKKy5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJY2FsbCBmdHJhY2Vfc3R1YgorCisJbW92cSA0OCglcnNwKSwgJXI5CisJbW92cSA0MCglcnNwKSwgJXI4CisJbW92cSAzMiglcnNwKSwgJXJkaQorCW1vdnEgMjQoJXJzcCksICVyc2kKKwltb3ZxIDE2KCVyc3ApLCAlcmR4CisJbW92cSA4KCVyc3ApLCAlcmN4CisJbW92cSAoJXJzcCksICVyYXgKKwlhZGRxICQweDM4LCAlcnNwCisKKy5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJcmV0cQorRU5EKGZ0cmFjZV9jYWxsZXIpCisKKyNlbHNlIC8qICEgQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCitFTlRSWShtY291bnQpCisJY21wcSAkZnRyYWNlX3N0dWIsIGZ0cmFjZV90cmFjZV9mdW5jdGlvbgorCWpueiB0cmFjZQorLmdsb2JsIGZ0cmFjZV9zdHViCitmdHJhY2Vfc3R1YjoKKwlyZXRxCisKK3RyYWNlOgorCS8qIHRha2VuIGZyb20gZ2xpYmMgKi8KKwlzdWJxICQweDM4LCAlcnNwCisJbW92cSAlcmF4LCAoJXJzcCkKKwltb3ZxICVyY3gsIDgoJXJzcCkKKwltb3ZxICVyZHgsIDE2KCVyc3ApCisJbW92cSAlcnNpLCAyNCglcnNwKQorCW1vdnEgJXJkaSwgMzIoJXJzcCkKKwltb3ZxICVyOCwgNDAoJXJzcCkKKwltb3ZxICVyOSwgNDgoJXJzcCkKKworCW1vdnEgMHgzOCglcnNwKSwgJXJkaQorCW1vdnEgOCglcmJwKSwgJXJzaQorCXN1YnEgJE1DT1VOVF9JTlNOX1NJWkUsICVyZGkKKworCWNhbGwgICAqZnRyYWNlX3RyYWNlX2Z1bmN0aW9uCisKKwltb3ZxIDQ4KCVyc3ApLCAlcjkKKwltb3ZxIDQwKCVyc3ApLCAlcjgKKwltb3ZxIDMyKCVyc3ApLCAlcmRpCisJbW92cSAyNCglcnNwKSwgJXJzaQorCW1vdnEgMTYoJXJzcCksICVyZHgKKwltb3ZxIDgoJXJzcCksICVyY3gKKwltb3ZxICglcnNwKSwgJXJheAorCWFkZHEgJDB4MzgsICVyc3AKKworCWptcCBmdHJhY2Vfc3R1YgorRU5EKG1jb3VudCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKICNpZm5kZWYgQ09ORklHX1BSRUVNUFQKICNkZWZpbmUgcmV0aW50X2tlcm5lbCByZXRpbnRfcmVzdG9yZV9hcmdzCiAjZW5kaWYJCiAKICNpZmRlZiBDT05GSUdfUEFSQVZJUlQKLUVOVFJZKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KQotCW1vdnEJJWdzOnBkYV9vbGRyc3AsJXJzcAorRU5UUlkobmF0aXZlX3VzZXJnc19zeXNyZXQ2NCkKIAlzd2FwZ3MKIAlzeXNyZXRxCiAjZW5kaWYgLyogQ09ORklHX1BBUkFWSVJUICovCkBAIC0xMDQsNyArMjA5LDcgQEAKIAkubWFjcm8gRkFLRV9TVEFDS19GUkFNRSBjaGlsZF9yaXAKIAkvKiBwdXNoIGluIG9yZGVyIHNzLCByc3AsIGVmbGFncywgY3MsIHJpcCAqLwogCXhvcmwgJWVheCwgJWVheAotCXB1c2hxICVyYXggLyogc3MgKi8KKwlwdXNocSAkX19LRVJORUxfRFMgLyogc3MgKi8KIAlDRklfQURKVVNUX0NGQV9PRkZTRVQJOAogCS8qQ0ZJX1JFTF9PRkZTRVQJc3MsMCovCiAJcHVzaHEgJXJheCAvKiByc3AgKi8KQEAgLTE2OSwxMyArMjc0LDEzIEBACiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC00CiAJY2FsbCBzY2hlZHVsZV90YWlsCiAJR0VUX1RIUkVBRF9JTkZPKCVyY3gpCi0JdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUKSx0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpCisJdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUKSxUSV9mbGFncyglcmN4KQogCWpueiByZmZfdHJhY2UKIHJmZl9hY3Rpb246CQogCVJFU1RPUkVfUkVTVAogCXRlc3RsICQzLENTLUFSR09GRlNFVCglcnNwKQkjIGZyb20ga2VybmVsX3RocmVhZD8KIAlqZSAgIGludF9yZXRfZnJvbV9zeXNfY2FsbAotCXRlc3RsICRfVElGX0lBMzIsdGhyZWFkaW5mb19mbGFncyglcmN4KQorCXRlc3RsICRfVElGX0lBMzIsVElfZmxhZ3MoJXJjeCkKIAlqbnogIGludF9yZXRfZnJvbV9zeXNfY2FsbAogCVJFU1RPUkVfVE9QX09GX1NUQUNLICVyZGksQVJHT0ZGU0VUCiAJam1wIHJldF9mcm9tX3N5c19jYWxsCkBAIC0yNDQsNyArMzQ5LDggQEAKIAltb3ZxICAlcmN4LFJJUC1BUkdPRkZTRVQoJXJzcCkKIAlDRklfUkVMX09GRlNFVCByaXAsUklQLUFSR09GRlNFVAogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLHRocmVhZGluZm9fZmxhZ3MoJXJjeCkKKwl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSwgXAorCQlUSV9mbGFncyglcmN4KQogCWpueiB0cmFjZXN5cwogCWNtcHEgJF9fTlJfc3lzY2FsbF9tYXgsJXJheAogCWphIGJhZHN5cwpAQCAtMjYzLDcgKzM2OSw3IEBACiAJR0VUX1RIUkVBRF9JTkZPKCVyY3gpCiAJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAlUUkFDRV9JUlFTX09GRgotCW1vdmwgdGhyZWFkaW5mb19mbGFncyglcmN4KSwlZWR4CisJbW92bCBUSV9mbGFncyglcmN4KSwlZWR4CiAJYW5kbCAlZWRpLCVlZHgKIAlqbnogIHN5c3JldF9jYXJlZnVsIAogCUNGSV9SRU1FTUJFUl9TVEFURQpAQCAtMjc1LDcgKzM4MSw4IEBACiAJQ0ZJX1JFR0lTVEVSCXJpcCxyY3gKIAlSRVNUT1JFX0FSR1MgMCwtQVJHX1NLSVAsMQogCS8qQ0ZJX1JFR0lTVEVSCXJmbGFncyxyMTEqLwotCUVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUCisJbW92cQklZ3M6cGRhX29sZHJzcCwgJXJzcAorCVVTRVJHU19TWVNSRVQ2NAogCiAJQ0ZJX1JFU1RPUkVfU1RBVEUKIAkvKiBIYW5kbGUgcmVzY2hlZHVsZXMgKi8KQEAgLTMwNSw3ICs0MTIsNyBAQAogCWxlYXEgLUFSR09GRlNFVCglcnNwKSwlcmRpICMgJnB0X3JlZ3MgLT4gYXJnMQogCXhvcmwgJWVzaSwlZXNpICMgb2xkc2V0IC0+IGFyZzIKIAljYWxsIHB0cmVnc2NhbGxfY29tbW9uCi0xOgltb3ZsICRfVElGX05FRURfUkVTQ0hFRCwlZWRpCisxOgltb3ZsICRfVElGX1dPUktfTUFTSywlZWRpCiAJLyogVXNlIElSRVQgYmVjYXVzZSB1c2VyIGNvdWxkIGhhdmUgY2hhbmdlZCBmcmFtZS4gVGhpcwogCSAgIHdvcmtzIGJlY2F1c2UgcHRyZWdzY2FsbF9jb21tb24gaGFzIGNhbGxlZCBGSVhVUF9UT1BfT0ZfU1RBQ0suICovCiAJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKQEAgLTM0NywxMCArNDU0LDEwIEBACiBpbnRfd2l0aF9jaGVjazoKIAlMT0NLREVQX1NZU19FWElUX0lSUQogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCW1vdmwgdGhyZWFkaW5mb19mbGFncyglcmN4KSwlZWR4CisJbW92bCBUSV9mbGFncyglcmN4KSwlZWR4CiAJYW5kbCAlZWRpLCVlZHgKIAlqbnogICBpbnRfY2FyZWZ1bAotCWFuZGwgICAgJH5UU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXJjeCkKKwlhbmRsICAgICR+VFNfQ09NUEFULFRJX3N0YXR1cyglcmN4KQogCWptcCAgIHJldGludF9zd2FwZ3MKIAogCS8qIEVpdGhlciByZXNjaGVkdWxlIG9yIHNpZ25hbCBvciBzeXNjYWxsIGV4aXQgdHJhY2tpbmcgbmVlZGVkLiAqLwpAQCAtMzkzLDcgKzUwMCw3IEBACiAJbW92cSAlcnNwLCVyZGkJCSMgJnB0cmVncyAtPiBhcmcxCiAJeG9ybCAlZXNpLCVlc2kJCSMgb2xkc2V0IC0+IGFyZzIKIAljYWxsIGRvX25vdGlmeV9yZXN1bWUKLTE6CW1vdmwgJF9USUZfTkVFRF9SRVNDSEVELCVlZGkJCisxOgltb3ZsICRfVElGX1dPUktfTUFTSywlZWRpCiBpbnRfcmVzdG9yZV9yZXN0OgogCVJFU1RPUkVfUkVTVAogCURJU0FCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCkBAIC00MjAsNyArNTI3LDYgQEAKIAlQVFJFR1NDQUxMIHN0dWJfY2xvbmUsIHN5c19jbG9uZSwgJXI4CiAJUFRSRUdTQ0FMTCBzdHViX2ZvcmssIHN5c19mb3JrLCAlcmRpCiAJUFRSRUdTQ0FMTCBzdHViX3Zmb3JrLCBzeXNfdmZvcmssICVyZGkKLQlQVFJFR1NDQUxMIHN0dWJfcnRfc2lnc3VzcGVuZCwgc3lzX3J0X3NpZ3N1c3BlbmQsICVyZHgKIAlQVFJFR1NDQUxMIHN0dWJfc2lnYWx0c3RhY2ssIHN5c19zaWdhbHRzdGFjaywgJXJkeAogCVBUUkVHU0NBTEwgc3R1Yl9pb3BsLCBzeXNfaW9wbCwgJXJzaQogCkBAIC01NTksNyArNjY1LDcgQEAKIAltb3ZsICRfVElGX1dPUktfTUFTSywlZWRpCiByZXRpbnRfY2hlY2s6CiAJTE9DS0RFUF9TWVNfRVhJVF9JUlEKLQltb3ZsIHRocmVhZGluZm9fZmxhZ3MoJXJjeCksJWVkeAorCW1vdmwgVElfZmxhZ3MoJXJjeCksJWVkeAogCWFuZGwgJWVkaSwlZWR4CiAJQ0ZJX1JFTUVNQkVSX1NUQVRFCiAJam56ICByZXRpbnRfY2FyZWZ1bApAQCAtNjQ3LDE3ICs3NTMsMTYgQEAKIAlSRVNUT1JFX1JFU1QKIAlESVNBQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogCVRSQUNFX0lSUVNfT0ZGCi0JbW92bCAkX1RJRl9ORUVEX1JFU0NIRUQsJWVkaQogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCWptcCByZXRpbnRfY2hlY2sKKwlqbXAgcmV0aW50X3dpdGhfcmVzY2hlZHVsZQogCiAjaWZkZWYgQ09ORklHX1BSRUVNUFQKIAkvKiBSZXR1cm5pbmcgdG8ga2VybmVsIHNwYWNlLiBDaGVjayBpZiB3ZSBuZWVkIHByZWVtcHRpb24gKi8KIAkvKiByY3g6CSB0aHJlYWRpbmZvLiBpbnRlcnJ1cHRzIG9mZi4gKi8KIEVOVFJZKHJldGludF9rZXJuZWwpCi0JY21wbCAkMCx0aHJlYWRpbmZvX3ByZWVtcHRfY291bnQoJXJjeCkKKwljbXBsICQwLFRJX3ByZWVtcHRfY291bnQoJXJjeCkKIAlqbnogIHJldGludF9yZXN0b3JlX2FyZ3MKLQlidCAgJFRJRl9ORUVEX1JFU0NIRUQsdGhyZWFkaW5mb19mbGFncyglcmN4KQorCWJ0ICAkVElGX05FRURfUkVTQ0hFRCxUSV9mbGFncyglcmN4KQogCWpuYyAgcmV0aW50X3Jlc3RvcmVfYXJncwogCWJ0ICAgJDksRUZMQUdTLUFSR09GRlNFVCglcnNwKQkvKiBpbnRlcnJ1cHRzIG9mZj8gKi8KIAlqbmMgIHJldGludF9yZXN0b3JlX2FyZ3MKQEAgLTcxMSw2ICs4MTYsOSBAQAogRU5UUlkoY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpCiAJYXBpY2ludGVycnVwdCBDQUxMX0ZVTkNUSU9OX1ZFQ1RPUixzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQKIEVORChjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCkKK0VOVFJZKGNhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCkKKwlhcGljaW50ZXJydXB0IENBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUixzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0CitFTkQoY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KQogRU5UUlkoaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQpCiAJYXBpY2ludGVycnVwdCBJUlFfTU9WRV9DTEVBTlVQX1ZFQ1RPUixzbXBfaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQKIEVORChpcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdCkKQEAgLTcyMCw2ICs4MjgsMTAgQEAKIAlhcGljaW50ZXJydXB0IExPQ0FMX1RJTUVSX1ZFQ1RPUixzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQKIEVORChhcGljX3RpbWVyX2ludGVycnVwdCkKIAorRU5UUlkodXZfYmF1X21lc3NhZ2VfaW50cjEpCisJYXBpY2ludGVycnVwdCAyMjAsdXZfYmF1X21lc3NhZ2VfaW50ZXJydXB0CitFTkQodXZfYmF1X21lc3NhZ2VfaW50cjEpCisKIEVOVFJZKGVycm9yX2ludGVycnVwdCkKIAlhcGljaW50ZXJydXB0IEVSUk9SX0FQSUNfVkVDVE9SLHNtcF9lcnJvcl9pbnRlcnJ1cHQKIEVORChlcnJvcl9pbnRlcnJ1cHQpCkBAIC03MzMsNiArODQ1LDcgQEAKICAqLyAJCQogCS5tYWNybyB6ZXJvZW50cnkgc3ltCiAJSU5UUl9GUkFNRQorCVBBUkFWSVJUX0FESlVTVF9FWENFUFRJT05fRlJBTUUKIAlwdXNocSAkMAkvKiBwdXNoIGVycm9yIGNvZGUvb2xkcmF4ICovIAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CiAJcHVzaHEgJXJheAkvKiBwdXNoIHJlYWwgb2xkcmF4IHRvIHRoZSByZGkgc2xvdCAqLyAKQEAgLTc0NSw2ICs4NTgsNyBAQAogCiAJLm1hY3JvIGVycm9yZW50cnkgc3ltCiAJWENQVF9GUkFNRQorCVBBUkFWSVJUX0FESlVTVF9FWENFUFRJT05fRlJBTUUKIAlwdXNocSAlcmF4CiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKIAlDRklfUkVMX09GRlNFVCByYXgsMApAQCAtODE0LDcgKzkyOCw3IEBACiAJam1wIGlycV9yZXR1cm4KIHBhcmFub2lkX3VzZXJzcGFjZVx0cmFjZToKIAlHRVRfVEhSRUFEX0lORk8oJXJjeCkKLQltb3ZsIHRocmVhZGluZm9fZmxhZ3MoJXJjeCksJWVieAorCW1vdmwgVElfZmxhZ3MoJXJjeCksJWVieAogCWFuZGwgJF9USUZfV09SS19NQVNLLCVlYngKIAlqeiBwYXJhbm9pZF9zd2FwZ3NcdHJhY2UKIAltb3ZxICVyc3AsJXJkaQkJCS8qICZwdF9yZWdzICovCkBAIC05MTIsNyArMTAyNiw3IEBACiAJdGVzdGwgJWVheCwlZWF4CiAJam5lICByZXRpbnRfa2VybmVsCiAJTE9DS0RFUF9TWVNfRVhJVF9JUlEKLQltb3ZsICB0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpLCVlZHgKKwltb3ZsICBUSV9mbGFncyglcmN4KSwlZWR4CiAJbW92bCAgJF9USUZfV09SS19NQVNLLCVlZGkKIAlhbmRsICAlZWRpLCVlZHgKIAlqbnogIHJldGludF9jYXJlZnVsCkBAIC05MjYsMTEgKzEwNDAsMTEgQEAKIAkgICBpcmV0IHJ1biB3aXRoIGtlcm5lbCBncyBhZ2Fpbiwgc28gZG9uJ3Qgc2V0IHRoZSB1c2VyIHNwYWNlIGZsYWcuCiAJICAgQiBzdGVwcGluZyBLOHMgc29tZXRpbWVzIHJlcG9ydCBhbiB0cnVuY2F0ZWQgUklQIGZvciBJUkVUIAogCSAgIGV4Y2VwdGlvbnMgcmV0dXJuaW5nIHRvIGNvbXBhdCBtb2RlLiBDaGVjayBmb3IgdGhlc2UgaGVyZSB0b28uICovCi0JbGVhcSBpcnFfcmV0dXJuKCVyaXApLCVyYnAKLQljbXBxICVyYnAsUklQKCVyc3ApIAorCWxlYXEgaXJxX3JldHVybiglcmlwKSwlcmN4CisJY21wcSAlcmN4LFJJUCglcnNwKQogCWplICAgZXJyb3Jfc3dhcGdzCi0JbW92bCAlZWJwLCVlYnAJLyogemVybyBleHRlbmQgKi8KLQljbXBxICVyYnAsUklQKCVyc3ApIAorCW1vdmwgJWVjeCwlZWN4CS8qIHplcm8gZXh0ZW5kICovCisJY21wcSAlcmN4LFJJUCglcnNwKQogCWplICAgZXJyb3Jfc3dhcGdzCiAJY21wcSAkZ3NfY2hhbmdlLFJJUCglcnNwKQogICAgICAgICBqZSAgIGVycm9yX3N3YXBncwpAQCAtOTM5LDcgKzEwNTMsNyBAQAogCQogICAgICAgIC8qIFJlbG9hZCBncyBzZWxlY3RvciB3aXRoIGV4Y2VwdGlvbiBoYW5kbGluZyAqLwogICAgICAgIC8qIGVkaTogIG5ldyBzZWxlY3RvciAqLyAKLUVOVFJZKGxvYWRfZ3NfaW5kZXgpCitFTlRSWShuYXRpdmVfbG9hZF9nc19pbmRleCkKIAlDRklfU1RBUlRQUk9DCiAJcHVzaGYKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOApAQCAtOTUzLDcgKzEwNjcsNyBAQAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAogICAgICAgICByZXQKIAlDRklfRU5EUFJPQwotRU5EUFJPQyhsb2FkX2dzX2luZGV4KQorRU5EUFJPQyhuYXRpdmVfbG9hZF9nc19pbmRleCkKICAgICAgICAKICAgICAgICAgLnNlY3Rpb24gX19leF90YWJsZSwiYSIKICAgICAgICAgLmFsaWduIDgKQEAgLTExMjAsMTAgKzEyMzQsNiBAQAogCXplcm9lbnRyeSBkb19jb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4KIEVORChjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pCiAKLUVOVFJZKHJlc2VydmVkKQotCXplcm9lbnRyeSBkb19yZXNlcnZlZAotRU5EKHJlc2VydmVkKQotCiAJLyogcnVucyBvbiBleGNlcHRpb24gc3RhY2sgKi8KIEVOVFJZKGRvdWJsZV9mYXVsdCkKIAlYQ1BUX0ZSQU1FCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZnRyYWNlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZnRyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWIxMTVjZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDE0MSBAQAorLyoKKyAqIENvZGUgZm9yIHJlcGxhY2luZyBmdHJhY2UgY2FsbHMgd2l0aCBqdW1wcy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGFua3MgZ29lcyB0byBJbmdvIE1vbG5hciwgZm9yIHN1Z2dlc3RpbmcgdGhlIGlkZWEuCisgKiBNYXRoaWV1IERlc25veWVycywgZm9yIHN1Z2dlc3RpbmcgcG9zdHBvbmluZyB0aGUgbW9kaWZpY2F0aW9ucy4KKyAqIEFyamFuIHZhbiBkZSBWZW4sIGZvciBrZWVwaW5nIG1lIHN0cmFpZ2h0LCBhbmQgZXhwbGFpbmluZyB0byBtZQorICogdGhlIGRhbmdlcnMgb2YgbW9kaWZ5aW5nIGNvZGUgb24gdGhlIHJ1bi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9hbHRlcm5hdGl2ZS5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworCisvKiBMb25nIGlzIGZpbmUsIGV2ZW4gaWYgaXQgaXMgb25seSA0IGJ5dGVzIDstKSAqLworc3RhdGljIGxvbmcgKmZ0cmFjZV9ub3A7CisKK3VuaW9uIGZ0cmFjZV9jb2RlX3VuaW9uIHsKKwljaGFyIGNvZGVbTUNPVU5UX0lOU05fU0laRV07CisJc3RydWN0IHsKKwkJY2hhciBlODsKKwkJaW50IG9mZnNldDsKKwl9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworfTsKKworCitzdGF0aWMgaW50IG5vdHJhY2UgZnRyYWNlX2NhbGNfb2Zmc2V0KGxvbmcgaXAsIGxvbmcgYWRkcikKK3sKKwlyZXR1cm4gKGludCkoYWRkciAtIGlwKTsKK30KKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2Vfbm9wX3JlcGxhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKGNoYXIgKilmdHJhY2Vfbm9wOworfQorCitub3RyYWNlIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9jYWxsX3JlcGxhY2UodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0YXRpYyB1bmlvbiBmdHJhY2VfY29kZV91bmlvbiBjYWxjOworCisJY2FsYy5lOAkJPSAweGU4OworCWNhbGMub2Zmc2V0CT0gZnRyYWNlX2NhbGNfb2Zmc2V0KGlwICsgTUNPVU5UX0lOU05fU0laRSwgYWRkcik7CisKKwkvKgorCSAqIE5vIGxvY2tpbmcgbmVlZGVkLCB0aGlzIG11c3QgYmUgY2FsbGVkIHZpYSBrc3RvcF9tYWNoaW5lCisJICogd2hpY2ggaW4gZXNzZW5jZSBpcyBsaWtlIHJ1bm5pbmcgb24gYSB1bmlwcm9jZXNzb3IgbWFjaGluZS4KKwkgKi8KKwlyZXR1cm4gY2FsYy5jb2RlOworfQorCitub3RyYWNlIGludAorZnRyYWNlX21vZGlmeV9jb2RlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGNoYXIgKm9sZF9jb2RlLAorCQkgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSkKK3sKKwl1bnNpZ25lZCByZXBsYWNlZDsKKwl1bnNpZ25lZCBvbGQgPSAqKHVuc2lnbmVkICopb2xkX2NvZGU7IC8qIDQgYnl0ZXMgKi8KKwl1bnNpZ25lZCBuZXcgPSAqKHVuc2lnbmVkICopbmV3X2NvZGU7IC8qIDQgYnl0ZXMgKi8KKwl1bnNpZ25lZCBjaGFyIG5ld2NoID0gbmV3X2NvZGVbNF07CisJaW50IGZhdWx0ZWQgPSAwOworCisJLyoKKwkgKiBOb3RlOiBEdWUgdG8gbW9kdWxlcyBhbmQgX19pbml0LCBjb2RlIGNhbgorCSAqICBkaXNhcHBlYXIgYW5kIGNoYW5nZSwgd2UgbmVlZCB0byBwcm90ZWN0IGFnYWluc3QgZmF1bHRpbmcKKwkgKiAgYXMgd2VsbCBhcyBjb2RlIGNoYW5naW5nLgorCSAqCisJICogTm8gcmVhbCBsb2NraW5nIG5lZWRlZCwgdGhpcyBjb2RlIGlzIHJ1biB0aHJvdWdoCisJICoga3N0b3BfbWFjaGluZS4KKwkgKi8KKwlhc20gdm9sYXRpbGUgKAorCQkiMTogbG9ja1xuIgorCQkiICAgY21weGNoZyAlMywgKCUyKVxuIgorCQkiICAgam56IDJmXG4iCisJCSIgICBtb3ZiICViNCwgNCglMilcbiIKKwkJIjI6XG4iCisJCSIuc2VjdGlvbiAuZml4dXAsIFwiYXhcIlxuIgorCQkiMzoJbW92bCAkMSwgJTBcbiIKKwkJIglqbXAgMmJcbiIKKwkJIi5wcmV2aW91c1xuIgorCQlfQVNNX0VYVEFCTEUoMWIsIDNiKQorCQk6ICI9ciIoZmF1bHRlZCksICI9YSIocmVwbGFjZWQpCisJCTogInIiKGlwKSwgInIiKG5ldyksICJjIihuZXdjaCksCisJCSAgIjAiKGZhdWx0ZWQpLCAiYSIob2xkKQorCQk6ICJtZW1vcnkiKTsKKwlzeW5jX2NvcmUoKTsKKworCWlmIChyZXBsYWNlZCAhPSBvbGQgJiYgcmVwbGFjZWQgIT0gbmV3KQorCQlmYXVsdGVkID0gMjsKKworCXJldHVybiBmYXVsdGVkOworfQorCitub3RyYWNlIGludCBmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV9mdW5jX3QgZnVuYykKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKHVuc2lnbmVkIGxvbmcpKCZmdHJhY2VfY2FsbCk7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisJaW50IHJldDsKKworCW1lbWNweShvbGQsICZmdHJhY2VfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgKHVuc2lnbmVkIGxvbmcpZnVuYyk7CisJcmV0ID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7CisKKwlyZXR1cm4gcmV0OworfQorCitub3RyYWNlIGludCBmdHJhY2VfbWNvdW50X3NldCh1bnNpZ25lZCBsb25nICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgaXAgPSAobG9uZykoJm1jb3VudF9jYWxsKTsKKwl1bnNpZ25lZCBsb25nICphZGRyID0gZGF0YTsKKwl1bnNpZ25lZCBjaGFyIG9sZFtNQ09VTlRfSU5TTl9TSVpFXSwgKm5ldzsKKworCS8qCisJICogUmVwbGFjZSB0aGUgbWNvdW50IHN0dWIgd2l0aCBhIHBvaW50ZXIgdG8gdGhlCisJICogaXAgcmVjb3JkZXIgZnVuY3Rpb24uCisJICovCisJbWVtY3B5KG9sZCwgJm1jb3VudF9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAqYWRkcik7CisJKmFkZHIgPSBmdHJhY2VfbW9kaWZ5X2NvZGUoaXAsIG9sZCwgbmV3KTsKKworCXJldHVybiAwOworfQorCitpbnQgX19pbml0IGZ0cmFjZV9keW5fYXJjaF9pbml0KHZvaWQgKmRhdGEpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKm5vcHRhYmxlID0gZmluZF9ub3BfdGFibGUoKTsKKworCS8qIFRoaXMgaXMgcnVubmluZyBpbiBrc3RvcF9tYWNoaW5lICovCisKKwlmdHJhY2VfbWNvdW50X3NldChkYXRhKTsKKworCWZ0cmFjZV9ub3AgPSAodW5zaWduZWQgbG9uZyAqKW5vcHRhYmxlW01DT1VOVF9JTlNOX1NJWkVdOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZ2VuYXBpY182NC5jIGIvYXJjaC94ODYva2VybmVsL2dlbmFwaWNfNjQuYwppbmRleCBjYmFhZjY5Li4xZmE4YmU1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZ2VuYXBpY182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9nZW5hcGljXzY0LmMKQEAgLTUxLDcgKzUxLDcgQEAKIAllbHNlCiAjZW5kaWYKIAotCWlmIChudW1fcG9zc2libGVfY3B1cygpIDw9IDgpCisJaWYgKG1heF9waHlzaWNhbF9hcGljaWQgPCA4KQogCQlnZW5hcGljID0gJmFwaWNfZmxhdDsKIAllbHNlCiAJCWdlbmFwaWMgPSAmYXBpY19waHlzZmxhdDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9nZW54MmFwaWNfdXZfeC5jIGIvYXJjaC94ODYva2VybmVsL2dlbngyYXBpY191dl94LmMKaW5kZXggZWJmMTM5MC4uNzExZjExYyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2dlbngyYXBpY191dl94LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2dlbngyYXBpY191dl94LmMKQEAgLTUsOSArNSwxMCBAQAogICoKICAqIFNHSSBVViBBUElDIGZ1bmN0aW9ucyAobm90ZTogbm90IGFuIEludGVsIGNvbXBhdGlibGUgQVBJQykKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpAQCAtMjAsNiArMjEsNyBAQAogI2luY2x1ZGUgPGFzbS9zbXAuaD4KICNpbmNsdWRlIDxhc20vaXBpLmg+CiAjaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS91di91dl9tbXJzLmg+CiAjaW5jbHVkZSA8YXNtL3V2L3V2X2h1Yi5oPgogCkBAIC01NSwzNyArNTcsMzcgQEAKIGludCB1dl93YWtldXBfc2Vjb25kYXJ5KGludCBwaHlzX2FwaWNpZCwgdW5zaWduZWQgaW50IHN0YXJ0X3JpcCkKIHsKIAl1bnNpZ25lZCBsb25nIHZhbDsKLQlpbnQgbmFzaWQ7CisJaW50IHBub2RlOwogCi0JbmFzaWQgPSB1dl9hcGljaWRfdG9fbmFzaWQocGh5c19hcGljaWQpOworCXBub2RlID0gdXZfYXBpY2lkX3RvX3Bub2RlKHBoeXNfYXBpY2lkKTsKIAl2YWwgPSAoMVVMIDw8IFVWSF9JUElfSU5UX1NFTkRfU0hGVCkgfAogCSAgICAocGh5c19hcGljaWQgPDwgVVZIX0lQSV9JTlRfQVBJQ19JRF9TSEZUKSB8CiAJICAgICgoKGxvbmcpc3RhcnRfcmlwIDw8IFVWSF9JUElfSU5UX1ZFQ1RPUl9TSEZUKSA+PiAxMikgfAogCSAgICBBUElDX0RNX0lOSVQ7Ci0JdXZfd3JpdGVfZ2xvYmFsX21tcjY0KG5hc2lkLCBVVkhfSVBJX0lOVCwgdmFsKTsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9JUElfSU5ULCB2YWwpOwogCW1kZWxheSgxMCk7CiAKIAl2YWwgPSAoMVVMIDw8IFVWSF9JUElfSU5UX1NFTkRfU0hGVCkgfAogCSAgICAocGh5c19hcGljaWQgPDwgVVZIX0lQSV9JTlRfQVBJQ19JRF9TSEZUKSB8CiAJICAgICgoKGxvbmcpc3RhcnRfcmlwIDw8IFVWSF9JUElfSU5UX1ZFQ1RPUl9TSEZUKSA+PiAxMikgfAogCSAgICBBUElDX0RNX1NUQVJUVVA7Ci0JdXZfd3JpdGVfZ2xvYmFsX21tcjY0KG5hc2lkLCBVVkhfSVBJX0lOVCwgdmFsKTsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9JUElfSU5ULCB2YWwpOwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCB1dl9zZW5kX0lQSV9vbmUoaW50IGNwdSwgaW50IHZlY3RvcikKIHsKIAl1bnNpZ25lZCBsb25nIHZhbCwgYXBpY2lkLCBsYXBpY2lkOwotCWludCBuYXNpZDsKKwlpbnQgcG5vZGU7CiAKIAlhcGljaWQgPSBwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpOyAvKiBaWlogLSBjYWNoZSBub2RlLWxvY2FsID8gKi8KIAlsYXBpY2lkID0gYXBpY2lkICYgMHgzZjsJCS8qIFpaWiBtYWNybyBuZWVkZWQgKi8KLQluYXNpZCA9IHV2X2FwaWNpZF90b19uYXNpZChhcGljaWQpOworCXBub2RlID0gdXZfYXBpY2lkX3RvX3Bub2RlKGFwaWNpZCk7CiAJdmFsID0KIAkgICAgKDFVTCA8PCBVVkhfSVBJX0lOVF9TRU5EX1NIRlQpIHwgKGxhcGljaWQgPDwKIAkJCQkJICAgICAgVVZIX0lQSV9JTlRfQVBJQ19JRF9TSEZUKSB8CiAJICAgICh2ZWN0b3IgPDwgVVZIX0lQSV9JTlRfVkVDVE9SX1NIRlQpOwotCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChuYXNpZCwgVVZIX0lQSV9JTlQsIHZhbCk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfSVBJX0lOVCwgdmFsKTsKIH0KIAogc3RhdGljIHZvaWQgdXZfc2VuZF9JUElfbWFzayhjcHVtYXNrX3QgbWFzaywgaW50IHZlY3RvcikKQEAgLTE1OSwzOSArMTYxLDE0NiBAQAogCS5waHlzX3BrZ19pZCA9IHBoeXNfcGtnX2lkLAkvKiBGaXhtZSBaWlogKi8KIH07CiAKLXN0YXRpYyBfX2NwdWluaXQgdm9pZCBzZXRfeDJhcGljX2V4dHJhX2JpdHMoaW50IG5hc2lkKQorc3RhdGljIF9fY3B1aW5pdCB2b2lkIHNldF94MmFwaWNfZXh0cmFfYml0cyhpbnQgcG5vZGUpCiB7Ci0JX19nZXRfY3B1X3Zhcih4MmFwaWNfZXh0cmFfYml0cykgPSAoKG5hc2lkID4+IDEpIDw8IDYpOworCV9fZ2V0X2NwdV92YXIoeDJhcGljX2V4dHJhX2JpdHMpID0gKHBub2RlIDw8IDYpOwogfQogCiAvKgogICogQ2FsbGVkIG9uIGJvb3QgY3B1LgogICovCitzdGF0aWMgX19pbml0IGludCBib290X3Bub2RlX3RvX2JsYWRlKGludCBwbm9kZSkKK3sKKwlpbnQgYmxhZGU7CisKKwlmb3IgKGJsYWRlID0gMDsgYmxhZGUgPCB1dl9udW1fcG9zc2libGVfYmxhZGVzKCk7IGJsYWRlKyspCisJCWlmIChwbm9kZSA9PSB1dl9ibGFkZV9pbmZvW2JsYWRlXS5wbm9kZSkKKwkJCXJldHVybiBibGFkZTsKKwlCVUcoKTsKK30KKworc3RydWN0IHJlZGlyX2FkZHIgeworCXVuc2lnbmVkIGxvbmcgcmVkaXJlY3Q7CisJdW5zaWduZWQgbG9uZyBhbGlhczsKK307CisKKyNkZWZpbmUgREVTVF9TSElGVCBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18wX01NUl9ERVNUX0JBU0VfU0hGVAorCitzdGF0aWMgX19pbml0ZGF0YSBzdHJ1Y3QgcmVkaXJfYWRkciByZWRpcl9hZGRyc1tdID0geworCXtVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18wX01NUiwgVVZIX1NJX0FMSUFTMF9PVkVSTEFZX0NPTkZJR30sCisJe1VWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzFfTU1SLCBVVkhfU0lfQUxJQVMxX09WRVJMQVlfQ09ORklHfSwKKwl7VVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMl9NTVIsIFVWSF9TSV9BTElBUzJfT1ZFUkxBWV9DT05GSUd9LAorfTsKKworc3RhdGljIF9faW5pdCB2b2lkIGdldF9sb3dtZW1fcmVkaXJlY3QodW5zaWduZWQgbG9uZyAqYmFzZSwgdW5zaWduZWQgbG9uZyAqc2l6ZSkKK3sKKwl1bmlvbiB1dmhfc2lfYWxpYXMwX292ZXJsYXlfY29uZmlnX3UgYWxpYXM7CisJdW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMl9tbXJfdSByZWRpcmVjdDsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHJlZGlyX2FkZHJzKTsgaSsrKSB7CisJCWFsaWFzLnYgPSB1dl9yZWFkX2xvY2FsX21tcihyZWRpcl9hZGRyc1tpXS5hbGlhcyk7CisJCWlmIChhbGlhcy5zLmJhc2UgPT0gMCkgeworCQkJKnNpemUgPSAoMVVMIDw8IGFsaWFzLnMubV9hbGlhcyk7CisJCQlyZWRpcmVjdC52ID0gdXZfcmVhZF9sb2NhbF9tbXIocmVkaXJfYWRkcnNbaV0ucmVkaXJlY3QpOworCQkJKmJhc2UgPSAodW5zaWduZWQgbG9uZylyZWRpcmVjdC5zLmRlc3RfYmFzZSA8PCBERVNUX1NISUZUOworCQkJcmV0dXJuOworCQl9CisJfQorCUJVRygpOworfQorCitzdGF0aWMgX19pbml0IHZvaWQgbWFwX2xvd19tbXJzKHZvaWQpCit7CisJaW5pdF9leHRyYV9tYXBwaW5nX3VjKFVWX0dMT0JBTF9NTVIzMl9CQVNFLCBVVl9HTE9CQUxfTU1SMzJfU0laRSk7CisJaW5pdF9leHRyYV9tYXBwaW5nX3VjKFVWX0xPQ0FMX01NUl9CQVNFLCBVVl9MT0NBTF9NTVJfU0laRSk7Cit9CisKK2VudW0gbWFwX3R5cGUge21hcF93YiwgbWFwX3VjfTsKKworc3RhdGljIHZvaWQgbWFwX2hpZ2goY2hhciAqaWQsIHVuc2lnbmVkIGxvbmcgYmFzZSwgaW50IHNoaWZ0LCBlbnVtIG1hcF90eXBlIG1hcF90eXBlKQoreworCXVuc2lnbmVkIGxvbmcgYnl0ZXMsIHBhZGRyOworCisJcGFkZHIgPSBiYXNlIDw8IHNoaWZ0OworCWJ5dGVzID0gKDFVTCA8PCBzaGlmdCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiVVY6IE1hcCAlc19ISSAweCVseCAtIDB4JWx4XG4iLCBpZCwgcGFkZHIsCisJICAgICAgIAkJCQkJcGFkZHIgKyBieXRlcyk7CisJaWYgKG1hcF90eXBlID09IG1hcF91YykKKwkJaW5pdF9leHRyYV9tYXBwaW5nX3VjKHBhZGRyLCBieXRlcyk7CisJZWxzZQorCQlpbml0X2V4dHJhX21hcHBpbmdfd2IocGFkZHIsIGJ5dGVzKTsKKworfQorc3RhdGljIF9faW5pdCB2b2lkIG1hcF9ncnVfaGlnaChpbnQgbWF4X3Bub2RlKQoreworCXVuaW9uIHV2aF9yaF9nYW1fZ3J1X292ZXJsYXlfY29uZmlnX21tcl91IGdydTsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUOworCisJZ3J1LnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChncnUucy5lbmFibGUpCisJCW1hcF9oaWdoKCJHUlUiLCBncnUucy5iYXNlLCBzaGlmdCwgbWFwX3diKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIG1hcF9jb25maWdfaGlnaChpbnQgbWF4X3Bub2RlKQoreworCXVuaW9uIHV2aF9yaF9nYW1fY2ZnX292ZXJsYXlfY29uZmlnX21tcl91IGNmZzsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUOworCisJY2ZnLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChjZmcucy5lbmFibGUpCisJCW1hcF9oaWdoKCJDT05GSUciLCBjZmcucy5iYXNlLCBzaGlmdCwgbWFwX3VjKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIG1hcF9tbXJfaGlnaChpbnQgbWF4X3Bub2RlKQoreworCXVuaW9uIHV2aF9yaF9nYW1fbW1yX292ZXJsYXlfY29uZmlnX21tcl91IG1tcjsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX01NUl9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUOworCisJbW1yLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX01NUl9PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChtbXIucy5lbmFibGUpCisJCW1hcF9oaWdoKCJNTVIiLCBtbXIucy5iYXNlLCBzaGlmdCwgbWFwX3VjKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIG1hcF9tbWlvaF9oaWdoKGludCBtYXhfcG5vZGUpCit7CisJdW5pb24gdXZoX3JoX2dhbV9tbWlvaF9vdmVybGF5X2NvbmZpZ19tbXJfdSBtbWlvaDsKKwlpbnQgc2hpZnQgPSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX1NIRlQ7CisKKwltbWlvaC52ID0gdXZfcmVhZF9sb2NhbF9tbXIoVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVIpOworCWlmIChtbWlvaC5zLmVuYWJsZSkKKwkJbWFwX2hpZ2goIk1NSU9IIiwgbW1pb2gucy5iYXNlLCBzaGlmdCwgbWFwX3VjKTsKK30KKwogc3RhdGljIF9faW5pdCB2b2lkIHV2X3N5c3RlbV9pbml0KHZvaWQpCiB7CiAJdW5pb24gdXZoX3NpX2FkZHJfbWFwX2NvbmZpZ191IG1fbl9jb25maWc7Ci0JaW50IGJ5dGVzLCBuaWQsIGNwdSwgbGNwdSwgbmFzaWQsIGxhc3RfbmFzaWQsIGJsYWRlOwotCXVuc2lnbmVkIGxvbmcgbW1yX2Jhc2U7CisJdW5pb24gdXZoX25vZGVfaWRfdSBub2RlX2lkOworCXVuc2lnbmVkIGxvbmcgZ25vZGVfdXBwZXIsIGxvd21lbV9yZWRpcl9iYXNlLCBsb3dtZW1fcmVkaXJfc2l6ZTsKKwlpbnQgYnl0ZXMsIG5pZCwgY3B1LCBsY3B1LCBwbm9kZSwgYmxhZGUsIGksIGosIG1fdmFsLCBuX3ZhbDsKKwlpbnQgbWF4X3Bub2RlID0gMDsKKwl1bnNpZ25lZCBsb25nIG1tcl9iYXNlLCBwcmVzZW50OworCisJbWFwX2xvd19tbXJzKCk7CiAKIAltX25fY29uZmlnLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfU0lfQUREUl9NQVBfQ09ORklHKTsKKwltX3ZhbCA9IG1fbl9jb25maWcucy5tX3NrdDsKKwluX3ZhbCA9IG1fbl9jb25maWcucy5uX3NrdDsKIAltbXJfYmFzZSA9CiAJICAgIHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9SSF9HQU1fTU1SX09WRVJMQVlfQ09ORklHX01NUikgJgogCSAgICB+VVZfTU1SX0VOQUJMRTsKIAlwcmludGsoS0VSTl9ERUJVRyAiVVY6IGdsb2JhbCBNTVIgYmFzZSAweCVseFxuIiwgbW1yX2Jhc2UpOwogCi0JbGFzdF9uYXNpZCA9IC0xOwotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKLQkJbmlkID0gY3B1X3RvX25vZGUoY3B1KTsKLQkJbmFzaWQgPSB1dl9hcGljaWRfdG9fbmFzaWQocGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSk7Ci0JCWlmIChuYXNpZCAhPSBsYXN0X25hc2lkKQotCQkJdXZfcG9zc2libGVfYmxhZGVzKys7Ci0JCWxhc3RfbmFzaWQgPSBuYXNpZDsKLQl9CisJZm9yKGkgPSAwOyBpIDwgVVZIX05PREVfUFJFU0VOVF9UQUJMRV9ERVBUSDsgaSsrKQorCQl1dl9wb3NzaWJsZV9ibGFkZXMgKz0KKwkJICBod2VpZ2h0NjQodXZfcmVhZF9sb2NhbF9tbXIoIFVWSF9OT0RFX1BSRVNFTlRfVEFCTEUgKyBpICogOCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJVVjogRm91bmQgJWQgYmxhZGVzXG4iLCB1dl9udW1fcG9zc2libGVfYmxhZGVzKCkpOwogCiAJYnl0ZXMgPSBzaXplb2Yoc3RydWN0IHV2X2JsYWRlX2luZm8pICogdXZfbnVtX3Bvc3NpYmxlX2JsYWRlcygpOwogCXV2X2JsYWRlX2luZm8gPSBhbGxvY19ib290bWVtX3BhZ2VzKGJ5dGVzKTsKIAorCWdldF9sb3dtZW1fcmVkaXJlY3QoJmxvd21lbV9yZWRpcl9iYXNlLCAmbG93bWVtX3JlZGlyX3NpemUpOworCiAJYnl0ZXMgPSBzaXplb2YodXZfbm9kZV90b19ibGFkZVswXSkgKiBudW1fcG9zc2libGVfbm9kZXMoKTsKIAl1dl9ub2RlX3RvX2JsYWRlID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhieXRlcyk7CiAJbWVtc2V0KHV2X25vZGVfdG9fYmxhZGUsIDI1NSwgYnl0ZXMpOwpAQCAtMjAwLDQzICszMDksNjIgQEAKIAl1dl9jcHVfdG9fYmxhZGUgPSBhbGxvY19ib290bWVtX3BhZ2VzKGJ5dGVzKTsKIAltZW1zZXQodXZfY3B1X3RvX2JsYWRlLCAyNTUsIGJ5dGVzKTsKIAotCWxhc3RfbmFzaWQgPSAtMTsKLQlibGFkZSA9IC0xOwotCWxjcHUgPSAtMTsKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7Ci0JCW5pZCA9IGNwdV90b19ub2RlKGNwdSk7Ci0JCW5hc2lkID0gdXZfYXBpY2lkX3RvX25hc2lkKHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGNwdSkpOwotCQlpZiAobmFzaWQgIT0gbGFzdF9uYXNpZCkgewotCQkJYmxhZGUrKzsKLQkJCWxjcHUgPSAtMTsKLQkJCXV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc2libGVfY3B1cyA9IDA7CisJYmxhZGUgPSAwOworCWZvciAoaSA9IDA7IGkgPCBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX0RFUFRIOyBpKyspIHsKKwkJcHJlc2VudCA9IHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9OT0RFX1BSRVNFTlRfVEFCTEUgKyBpICogOCk7CisJCWZvciAoaiA9IDA7IGogPCA2NDsgaisrKSB7CisJCQlpZiAoIXRlc3RfYml0KGosICZwcmVzZW50KSkKKwkJCQljb250aW51ZTsKKwkJCXV2X2JsYWRlX2luZm9bYmxhZGVdLnBub2RlID0gKGkgKiA2NCArIGopOworCQkJdXZfYmxhZGVfaW5mb1tibGFkZV0ubnJfcG9zc2libGVfY3B1cyA9IDA7CiAJCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5ucl9vbmxpbmVfY3B1cyA9IDA7CisJCQlibGFkZSsrOwogCQl9Ci0JCWxhc3RfbmFzaWQgPSBuYXNpZDsKLQkJbGNwdSsrOworCX0KIAotCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bV92YWwgPSBtX25fY29uZmlnLnMubV9za3Q7Ci0JCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5uX3ZhbCA9IG1fbl9jb25maWcucy5uX3NrdDsKKwlub2RlX2lkLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfTk9ERV9JRCk7CisJZ25vZGVfdXBwZXIgPSAoKCh1bnNpZ25lZCBsb25nKW5vZGVfaWQucy5ub2RlX2lkKSAmCisJCSAgICAgICB+KCgxIDw8IG5fdmFsKSAtIDEpKSA8PCBtX3ZhbDsKKworCWZvcl9lYWNoX3ByZXNlbnRfY3B1KGNwdSkgeworCQluaWQgPSBjcHVfdG9fbm9kZShjcHUpOworCQlwbm9kZSA9IHV2X2FwaWNpZF90b19wbm9kZShwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpKTsKKwkJYmxhZGUgPSBib290X3Bub2RlX3RvX2JsYWRlKHBub2RlKTsKKwkJbGNwdSA9IHV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc3NpYmxlX2NwdXM7CisJCXV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc3NpYmxlX2NwdXMrKzsKKworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bG93bWVtX3JlbWFwX2Jhc2UgPSBsb3dtZW1fcmVkaXJfYmFzZTsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmxvd21lbV9yZW1hcF90b3AgPQorCQkJCQlsb3dtZW1fcmVkaXJfYmFzZSArIGxvd21lbV9yZWRpcl9zaXplOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bV92YWwgPSBtX3ZhbDsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPm5fdmFsID0gbV92YWw7CiAJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5udW1hX2JsYWRlX2lkID0gYmxhZGU7CiAJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5ibGFkZV9wcm9jZXNzb3JfaWQgPSBsY3B1OwotCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bG9jYWxfbmFzaWQgPSBuYXNpZDsKLQkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmdub2RlX3VwcGVyID0KLQkJICAgIG5hc2lkICYgfigoMSA8PCB1dl9odWJfaW5mby0+bl92YWwpIC0gMSk7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5wbm9kZSA9IHBub2RlOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+cG5vZGVfbWFzayA9ICgxIDw8IG5fdmFsKSAtIDE7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5ncGFfbWFzayA9ICgxIDw8IChtX3ZhbCArIG5fdmFsKSkgLSAxOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+Z25vZGVfdXBwZXIgPSBnbm9kZV91cHBlcjsKIAkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmdsb2JhbF9tbXJfYmFzZSA9IG1tcl9iYXNlOwogCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+Y29oZXJlbmN5X2RvbWFpbl9udW1iZXIgPSAwOy8qIFpaWiAqLwotCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5uYXNpZCA9IG5hc2lkOwotCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5ucl9wb3NpYmxlX2NwdXMrKzsKIAkJdXZfbm9kZV90b19ibGFkZVtuaWRdID0gYmxhZGU7CiAJCXV2X2NwdV90b19ibGFkZVtjcHVdID0gYmxhZGU7CisJCW1heF9wbm9kZSA9IG1heChwbm9kZSwgbWF4X3Bub2RlKTsKIAotCQlwcmludGsoS0VSTl9ERUJVRyAiVVYgY3B1ICVkLCBhcGljaWQgMHgleCwgbmFzaWQgJWQsIG5pZCAlZFxuIiwKLQkJICAgICAgIGNwdSwgcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSwgbmFzaWQsIG5pZCk7Ci0JCXByaW50ayhLRVJOX0RFQlVHICJVViAgIGxjcHUgJWQsIGJsYWRlICVkXG4iLCBsY3B1LCBibGFkZSk7CisJCXByaW50ayhLRVJOX0RFQlVHICJVVjogY3B1ICVkLCBhcGljaWQgMHgleCwgcG5vZGUgJWQsIG5pZCAlZCwgIgorCQkJImxjcHUgJWQsIGJsYWRlICVkXG4iLAorCQkJY3B1LCBwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpLCBwbm9kZSwgbmlkLAorCQkJbGNwdSwgYmxhZGUpOwogCX0KKworCW1hcF9ncnVfaGlnaChtYXhfcG5vZGUpOworCW1hcF9tbXJfaGlnaChtYXhfcG5vZGUpOworCW1hcF9jb25maWdfaGlnaChtYXhfcG5vZGUpOworCW1hcF9tbWlvaF9oaWdoKG1heF9wbm9kZSk7CiB9CiAKIC8qCiAgKiBDYWxsZWQgb24gZWFjaCBjcHUgdG8gaW5pdGlhbGl6ZSB0aGUgcGVyX2NwdSBVViBkYXRhIGFyZWEuCisgKiAJWlpaIGhvdHBsdWcgbm90IHN1cHBvcnRlZCB5ZXQKICAqLwogdm9pZCBfX2NwdWluaXQgdXZfY3B1X2luaXQodm9pZCkKIHsKQEAgLTI0Niw1ICszNzQsNSBAQAogCXV2X2JsYWRlX2luZm9bdXZfbnVtYV9ibGFkZV9pZCgpXS5ucl9vbmxpbmVfY3B1cysrOwogCiAJaWYgKGdldF91dl9zeXN0ZW1fdHlwZSgpID09IFVWX05PTl9VTklRVUVfQVBJQykKLQkJc2V0X3gyYXBpY19leHRyYV9iaXRzKHV2X2h1Yl9pbmZvLT5sb2NhbF9uYXNpZCk7CisJCXNldF94MmFwaWNfZXh0cmFfYml0cyh1dl9odWJfaW5mby0+cG5vZGUpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWQuYyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U2NmJkMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkLmMKQEAgLTAsMCArMSw1NSBAQAorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKworI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9iaW9zX2ViZGEuaD4KKworI2RlZmluZSBCSU9TX0xPV01FTV9LSUxPQllURVMgMHg0MTMKKworLyoKKyAqIFRoZSBCSU9TIHBsYWNlcyB0aGUgRUJEQS9YQkRBIGF0IHRoZSB0b3Agb2YgY29udmVudGlvbmFsCisgKiBtZW1vcnksIGFuZCB1c3VhbGx5IGRlY3JlYXNlcyB0aGUgcmVwb3J0ZWQgYW1vdW50IG9mCisgKiBjb252ZW50aW9uYWwgbWVtb3J5IChpbnQgMHgxMikgdG9vLiBUaGlzIGFsc28gY29udGFpbnMgYQorICogd29ya2Fyb3VuZCBmb3IgRGVsbCBzeXN0ZW1zIHRoYXQgbmVnbGVjdCB0byByZXNlcnZlIEVCREEuCisgKiBUaGUgc2FtZSB3b3JrYXJvdW5kIGFsc28gYXZvaWRzIGEgcHJvYmxlbSB3aXRoIHRoZSBBTUQ3NjhNUFgKKyAqIGNoaXBzZXQ6IHJlc2VydmUgYSBwYWdlIGJlZm9yZSBWR0EgdG8gcHJldmVudCBQQ0kgcHJlZmV0Y2gKKyAqIGludG8gaXQgKGVycmF0YSAjNTYpLiBVc3VhbGx5IHRoZSBwYWdlIGlzIHJlc2VydmVkIGFueXdheXMsCisgKiB1bmxlc3MgeW91IGhhdmUgbm8gUFMvMiBtb3VzZSBwbHVnZ2VkIGluLgorICovCit2b2lkIF9faW5pdCByZXNlcnZlX2ViZGFfcmVnaW9uKHZvaWQpCit7CisJdW5zaWduZWQgaW50IGxvd21lbSwgZWJkYV9hZGRyOworCisJLyogVG8gZGV0ZXJtaW5lIHRoZSBwb3NpdGlvbiBvZiB0aGUgRUJEQSBhbmQgdGhlICovCisJLyogZW5kIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIHdlIG5lZWQgdG8gbG9vayBhdCAqLworCS8qIHRoZSBCSU9TIGRhdGEgYXJlYS4gSW4gYSBwYXJhdmlydHVhbCBlbnZpcm9ubWVudCAqLworCS8qIHRoYXQgYXJlYSBpcyBhYnNlbnQuIFdlJ2xsIGp1c3QgaGF2ZSB0byBhc3N1bWUgKi8KKwkvKiB0aGF0IHRoZSBwYXJhdmlydCBjYXNlIGNhbiBoYW5kbGUgbWVtb3J5IHNldHVwICovCisJLyogY29ycmVjdGx5LCB3aXRob3V0IG91ciBoZWxwLiAqLworCWlmIChwYXJhdmlydF9lbmFibGVkKCkpCisJCXJldHVybjsKKworCS8qIGVuZCBvZiBsb3cgKGNvbnZlbnRpb25hbCkgbWVtb3J5ICovCisJbG93bWVtID0gKih1bnNpZ25lZCBzaG9ydCAqKV9fdmEoQklPU19MT1dNRU1fS0lMT0JZVEVTKTsKKwlsb3dtZW0gPDw9IDEwOworCisJLyogc3RhcnQgb2YgRUJEQSBhcmVhICovCisJZWJkYV9hZGRyID0gZ2V0X2Jpb3NfZWJkYSgpOworCisJLyogRml4dXA6IGJpb3MgcHV0cyBhbiBFQkRBIGluIHRoZSB0b3AgNjRLIHNlZ21lbnQgKi8KKwkvKiBvZiBjb252ZW50aW9uYWwgbWVtb3J5LCBidXQgZG9lcyBub3QgYWRqdXN0IGxvd21lbS4gKi8KKwlpZiAoKGxvd21lbSAtIGViZGFfYWRkcikgPD0gMHgxMDAwMCkKKwkJbG93bWVtID0gZWJkYV9hZGRyOworCisJLyogRml4dXA6IGJpb3MgZG9lcyBub3QgcmVwb3J0IGFuIEVCREEgYXQgYWxsLiAqLworCS8qIFNvbWUgb2xkIERlbGxzIHNlZW0gdG8gbmVlZCA0ayBhbnlob3cgKGJ1Z3ppbGxhIDI5OTApICovCisJaWYgKChlYmRhX2FkZHIgPT0gMCkgJiYgKGxvd21lbSA+PSAweDlmMDAwKSkKKwkJbG93bWVtID0gMHg5ZjAwMDsKKworCS8qIFBhcmFub2lhOiBzaG91bGQgbmV2ZXIgaGFwcGVuLCBidXQuLi4gKi8KKwlpZiAoKGxvd21lbSA9PSAwKSB8fCAobG93bWVtID49IDB4MTAwMDAwKSkKKwkJbG93bWVtID0gMHg5ZjAwMDsKKworCS8qIHJlc2VydmUgYWxsIG1lbW9yeSBiZXR3ZWVuIGxvd21lbSBhbmQgdGhlIDFNQiBtYXJrICovCisJcmVzZXJ2ZV9lYXJseV9vdmVybGFwX29rKGxvd21lbSwgMHgxMDAwMDAsICJCSU9TIHJlc2VydmVkIik7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZDMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZDMyLmMKaW5kZXggM2RiMDU5MC4uZmExZDI1ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2hlYWQzMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkMzIuYwpAQCAtOCw3ICs4LDM0IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3N0YXJ0X2tlcm5lbC5oPgogCisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CisKIHZvaWQgX19pbml0IGkzODZfc3RhcnRfa2VybmVsKHZvaWQpCiB7CisJcmVzZXJ2ZV9lYXJseShfX3BhX3N5bWJvbCgmX3RleHQpLCBfX3BhX3N5bWJvbCgmX2VuZCksICJURVhUIERBVEEgQlNTIik7CisKKyNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKKwkvKiBSZXNlcnZlIElOSVRSRCAqLworCWlmIChib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXIgJiYgYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2UpIHsKKwkJdTY0IHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZTsKKwkJdTY0IHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOworCQl1NjQgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7CisJCXJlc2VydmVfZWFybHkocmFtZGlza19pbWFnZSwgcmFtZGlza19lbmQsICJSQU1ESVNLIik7CisJfQorI2VuZGlmCisJcmVzZXJ2ZV9lYXJseShpbml0X3BnX3RhYmxlc19zdGFydCwgaW5pdF9wZ190YWJsZXNfZW5kLAorCQkJIklOSVRfUEdfVEFCTEUiKTsKKworCXJlc2VydmVfZWJkYV9yZWdpb24oKTsKKworCS8qCisJICogQXQgdGhpcyBwb2ludCBldmVyeXRoaW5nIHN0aWxsIG5lZWRlZCBmcm9tIHRoZSBib290IGxvYWRlcgorCSAqIG9yIEJJT1Mgb3Iga2VybmVsIHRleHQgc2hvdWxkIGJlIGVhcmx5IHJlc2VydmVkIG9yIG1hcmtlZCBub3QKKwkgKiBSQU0gaW4gZTgyMC4gQWxsIG90aGVyIG1lbW9yeSBpcyBmcmVlIGdhbWUuCisJICovCisKIAlzdGFydF9rZXJuZWwoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkNjQuYwppbmRleCBlMjVjNTdiLi5jOTc4MTk4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZDY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jCkBAIC0yNSw2ICsyNSwyMCBAQAogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgogCisvKiBib290IGNwdSBwZGEgKi8KK3N0YXRpYyBzdHJ1Y3QgeDg2NjRfcGRhIF9ib290X2NwdV9wZGEgX19yZWFkX21vc3RseTsKKworI2lmZGVmIENPTkZJR19TTVAKKy8qCisgKiBXZSBpbnN0YWxsIGFuIGVtcHR5IGNwdV9wZGEgcG9pbnRlciB0YWJsZSB0byBpbmRpY2F0ZSB0byBlYXJseSB1c2VycworICogKG51bWFfc2V0X25vZGUpIHRoYXQgdGhlIGNwdV9wZGEgcG9pbnRlciB0YWJsZSBmb3IgY3B1cyBvdGhlciB0aGFuCisgKiB0aGUgYm9vdCBjcHUgaXMgbm90IHlldCBzZXR1cC4KKyAqLworc3RhdGljIHN0cnVjdCB4ODY2NF9wZGEgKl9fY3B1X3BkYVtOUl9DUFVTXSBfX2luaXRkYXRhOworI2Vsc2UKK3N0YXRpYyBzdHJ1Y3QgeDg2NjRfcGRhICpfX2NwdV9wZGFbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKKyNlbmRpZgorCiBzdGF0aWMgdm9pZCBfX2luaXQgemFwX2lkZW50aXR5X21hcHBpbmdzKHZvaWQpCiB7CiAJcGdkX3QgKnBnZCA9IHBnZF9vZmZzZXRfaygwVUwpOwpAQCAtNTEsNzQgKzY1LDYgQEAKIAl9CiB9CiAKLSNkZWZpbmUgQklPU19MT1dNRU1fS0lMT0JZVEVTIDB4NDEzCi0KLS8qCi0gKiBUaGUgQklPUyBwbGFjZXMgdGhlIEVCREEvWEJEQSBhdCB0aGUgdG9wIG9mIGNvbnZlbnRpb25hbAotICogbWVtb3J5LCBhbmQgdXN1YWxseSBkZWNyZWFzZXMgdGhlIHJlcG9ydGVkIGFtb3VudCBvZgotICogY29udmVudGlvbmFsIG1lbW9yeSAoaW50IDB4MTIpIHRvby4gVGhpcyBhbHNvIGNvbnRhaW5zIGEKLSAqIHdvcmthcm91bmQgZm9yIERlbGwgc3lzdGVtcyB0aGF0IG5lZ2xlY3QgdG8gcmVzZXJ2ZSBFQkRBLgotICogVGhlIHNhbWUgd29ya2Fyb3VuZCBhbHNvIGF2b2lkcyBhIHByb2JsZW0gd2l0aCB0aGUgQU1ENzY4TVBYCi0gKiBjaGlwc2V0OiByZXNlcnZlIGEgcGFnZSBiZWZvcmUgVkdBIHRvIHByZXZlbnQgUENJIHByZWZldGNoCi0gKiBpbnRvIGl0IChlcnJhdGEgIzU2KS4gVXN1YWxseSB0aGUgcGFnZSBpcyByZXNlcnZlZCBhbnl3YXlzLAotICogdW5sZXNzIHlvdSBoYXZlIG5vIFBTLzIgbW91c2UgcGx1Z2dlZCBpbi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgbG93bWVtLCBlYmRhX2FkZHI7Ci0KLQkvKiBUbyBkZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBFQkRBIGFuZCB0aGUgKi8KLQkvKiBlbmQgb2YgY29udmVudGlvbmFsIG1lbW9yeSwgd2UgbmVlZCB0byBsb29rIGF0ICovCi0JLyogdGhlIEJJT1MgZGF0YSBhcmVhLiBJbiBhIHBhcmF2aXJ0dWFsIGVudmlyb25tZW50ICovCi0JLyogdGhhdCBhcmVhIGlzIGFic2VudC4gV2UnbGwganVzdCBoYXZlIHRvIGFzc3VtZSAqLwotCS8qIHRoYXQgdGhlIHBhcmF2aXJ0IGNhc2UgY2FuIGhhbmRsZSBtZW1vcnkgc2V0dXAgKi8KLQkvKiBjb3JyZWN0bHksIHdpdGhvdXQgb3VyIGhlbHAuICovCi0JaWYgKHBhcmF2aXJ0X2VuYWJsZWQoKSkKLQkJcmV0dXJuOwotCi0JLyogZW5kIG9mIGxvdyAoY29udmVudGlvbmFsKSBtZW1vcnkgKi8KLQlsb3dtZW0gPSAqKHVuc2lnbmVkIHNob3J0ICopX192YShCSU9TX0xPV01FTV9LSUxPQllURVMpOwotCWxvd21lbSA8PD0gMTA7Ci0KLQkvKiBzdGFydCBvZiBFQkRBIGFyZWEgKi8KLQllYmRhX2FkZHIgPSBnZXRfYmlvc19lYmRhKCk7Ci0KLQkvKiBGaXh1cDogYmlvcyBwdXRzIGFuIEVCREEgaW4gdGhlIHRvcCA2NEsgc2VnbWVudCAqLwotCS8qIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIGJ1dCBkb2VzIG5vdCBhZGp1c3QgbG93bWVtLiAqLwotCWlmICgobG93bWVtIC0gZWJkYV9hZGRyKSA8PSAweDEwMDAwKQotCQlsb3dtZW0gPSBlYmRhX2FkZHI7Ci0KLQkvKiBGaXh1cDogYmlvcyBkb2VzIG5vdCByZXBvcnQgYW4gRUJEQSBhdCBhbGwuICovCi0JLyogU29tZSBvbGQgRGVsbHMgc2VlbSB0byBuZWVkIDRrIGFueWhvdyAoYnVnemlsbGEgMjk5MCkgKi8KLQlpZiAoKGViZGFfYWRkciA9PSAwKSAmJiAobG93bWVtID49IDB4OWYwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogUGFyYW5vaWE6IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dC4uLiAqLwotCWlmICgobG93bWVtID09IDApIHx8IChsb3dtZW0gPj0gMHgxMDAwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogcmVzZXJ2ZSBhbGwgbWVtb3J5IGJldHdlZW4gbG93bWVtIGFuZCB0aGUgMU1CIG1hcmsgKi8KLQlyZXNlcnZlX2Vhcmx5KGxvd21lbSwgMHgxMDAwMDAsICJCSU9TIHJlc2VydmVkIik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX3NldHVwX2RhdGEodm9pZCkKLXsKLQlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKLQl1bnNpZ25lZCBsb25nIHBhX2RhdGE7Ci0JY2hhciBidWZbMzJdOwotCi0JaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQotCQlyZXR1cm47Ci0JcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOwotCXdoaWxlIChwYV9kYXRhKSB7Ci0JCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIHNpemVvZigqZGF0YSkpOwotCQlzcHJpbnRmKGJ1ZiwgInNldHVwIGRhdGEgJXgiLCBkYXRhLT50eXBlKTsKLQkJcmVzZXJ2ZV9lYXJseShwYV9kYXRhLCBwYV9kYXRhK3NpemVvZigqZGF0YSkrZGF0YS0+bGVuLCBidWYpOwotCQlwYV9kYXRhID0gZGF0YS0+bmV4dDsKLQkJZWFybHlfaW91bm1hcChkYXRhLCBzaXplb2YoKmRhdGEpKTsKLQl9Ci19Ci0KIHZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9rZXJuZWwoY2hhciAqIHJlYWxfbW9kZV9kYXRhKQogewogCWludCBpOwpAQCAtMTU2LDEwICsxMDIsMTcgQEAKIAogCWVhcmx5X3ByaW50aygiS2VybmVsIGFsaXZlXG4iKTsKIAotIAlmb3IgKGkgPSAwOyBpIDwgTlJfQ1BVUzsgaSsrKQotIAkJY3B1X3BkYShpKSA9ICZib290X2NwdV9wZGFbaV07Ci0KKwlfY3B1X3BkYSA9IF9fY3B1X3BkYTsKKwljcHVfcGRhKDApID0gJl9ib290X2NwdV9wZGE7CiAJcGRhX2luaXQoMCk7CisKKwllYXJseV9wcmludGsoIktlcm5lbCByZWFsbHkgYWxpdmVcbiIpOworCisJeDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucyhyZWFsX21vZGVfZGF0YSk7Cit9CisKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMoY2hhciAqcmVhbF9tb2RlX2RhdGEpCit7CiAJY29weV9ib290ZGF0YShfX3ZhKHJlYWxfbW9kZV9kYXRhKSk7CiAKIAlyZXNlcnZlX2Vhcmx5KF9fcGFfc3ltYm9sKCZfdGV4dCksIF9fcGFfc3ltYm9sKCZfZW5kKSwgIlRFWFQgREFUQSBCU1MiKTsKQEAgLTE3NSw3ICsxMjgsNiBAQAogI2VuZGlmCiAKIAlyZXNlcnZlX2ViZGFfcmVnaW9uKCk7Ci0JcmVzZXJ2ZV9zZXR1cF9kYXRhKCk7CiAKIAkvKgogCSAqIEF0IHRoaXMgcG9pbnQgZXZlcnl0aGluZyBzdGlsbCBuZWVkZWQgZnJvbSB0aGUgYm9vdCBsb2FkZXIKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZF8zMi5TCmluZGV4IGY3MzU3Y2MuLmY2N2U5MzQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWRfMzIuUwpAQCAtMTk0LDYgKzE5NCw3IEBACiAJeG9ybCAlZWJ4LCVlYngJCQkJLyogJWVieCBpcyBrZXB0IGF0IHplcm8gKi8KIAogCW1vdmwgJHBhKHBnMCksICVlZGkKKwltb3ZsICVlZGksIHBhKGluaXRfcGdfdGFibGVzX3N0YXJ0KQogCW1vdmwgJHBhKHN3YXBwZXJfcGdfcG1kKSwgJWVkeAogCW1vdmwgJFBURV9BVFRSLCAlZWF4CiAxMDoKQEAgLTIxOSw2ICsyMjAsOCBAQAogCWpiIDEwYgogMToKIAltb3ZsICVlZGkscGEoaW5pdF9wZ190YWJsZXNfZW5kKQorCXNocmwgJDEyLCAlZWF4CisJbW92bCAlZWF4LCBwYShtYXhfcGZuX21hcHBlZCkKIAogCS8qIERvIGVhcmx5IGluaXRpYWxpemF0aW9uIG9mIHRoZSBmaXhtYXAgYXJlYSAqLwogCW1vdmwgJHBhKHN3YXBwZXJfcGdfZml4bWFwKStQREVfQVRUUiwlZWF4CkBAIC0yMjgsNiArMjMxLDcgQEAKIHBhZ2VfcGRlX29mZnNldCA9IChfX1BBR0VfT0ZGU0VUID4+IDIwKTsKIAogCW1vdmwgJHBhKHBnMCksICVlZGkKKwltb3ZsICVlZGksIHBhKGluaXRfcGdfdGFibGVzX3N0YXJ0KQogCW1vdmwgJHBhKHN3YXBwZXJfcGdfZGlyKSwgJWVkeAogCW1vdmwgJFBURV9BVFRSLCAlZWF4CiAxMDoKQEAgLTI0OSw2ICsyNTMsOCBAQAogCWNtcGwgJWVicCwlZWF4CiAJamIgMTBiCiAJbW92bCAlZWRpLHBhKGluaXRfcGdfdGFibGVzX2VuZCkKKwlzaHJsICQxMiwgJWVheAorCW1vdmwgJWVheCwgcGEobWF4X3Bmbl9tYXBwZWQpCiAKIAkvKiBEbyBlYXJseSBpbml0aWFsaXphdGlvbiBvZiB0aGUgZml4bWFwIGFyZWEgKi8KIAltb3ZsICRwYShzd2FwcGVyX3BnX2ZpeG1hcCkrUERFX0FUVFIsJWVheApAQCAtNDQ2LDEwICs0NTIsMTMgQEAKIAlqZSAgIDFmCiAJbW92bCAkKF9fS0VSTkVMX1BFUkNQVSksICVlYXgKIAltb3ZsICVlYXgsJWZzCQkjIHNldCB0aGlzIGNwdSdzIHBlcmNwdQotCWptcCBpbml0aWFsaXplX3NlY29uZGFyeSAjIGFsbCBvdGhlciBDUFVzIGNhbGwgaW5pdGlhbGl6ZV9zZWNvbmRhcnkKKwltb3ZsIChzdGFja19zdGFydCksICVlc3AKIDE6CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwotCWptcCBpMzg2X3N0YXJ0X2tlcm5lbAorCWptcCAqKGluaXRpYWxfY29kZSkKKy5hbGlnbiA0CitFTlRSWShpbml0aWFsX2NvZGUpCisJLmxvbmcgaTM4Nl9zdGFydF9rZXJuZWwKIAogLyoKICAqIFdlIGRlcGVuZCBvbiBFVCB0byBiZSBjb3JyZWN0LiBUaGlzIGNoZWNrcyBmb3IgMjg3LzM4Ny4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZF82NC5TCmluZGV4IGI4MTc5NzQuLmIwN2FjN2IgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWRfNjQuUwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgogI2luY2x1ZGUgPGFzbS9jYWNoZS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3ItZmxhZ3MuaD4KIAogI2lmZGVmIENPTkZJR19QQVJBVklSVAogI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgpAQCAtMzEsNiArMzIsMTMgQEAKICAqCiAgKi8KIAorI2RlZmluZSBwdWRfaW5kZXgoeCkJKCgoeCkgPj4gUFVEX1NISUZUKSAmIChQVFJTX1BFUl9QVUQtMSkpCisKK0w0X1BBR0VfT0ZGU0VUID0gcGdkX2luZGV4KF9fUEFHRV9PRkZTRVQpCitMM19QQUdFX09GRlNFVCA9IHB1ZF9pbmRleChfX1BBR0VfT0ZGU0VUKQorTDRfU1RBUlRfS0VSTkVMID0gcGdkX2luZGV4KF9fU1RBUlRfS0VSTkVMX21hcCkKK0wzX1NUQVJUX0tFUk5FTCA9IHB1ZF9pbmRleChfX1NUQVJUX0tFUk5FTF9tYXApCisKIAkudGV4dAogCS5zZWN0aW9uIC50ZXh0LmhlYWQKIAkuY29kZTY0CkBAIC03Niw4ICs4NCw4IEBACiAJLyogRml4dXAgdGhlIHBoeXNpY2FsIGFkZHJlc3NlcyBpbiB0aGUgcGFnZSB0YWJsZQogCSAqLwogCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgMCglcmlwKQotCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgKDI1OCo4KSglcmlwKQotCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgKDUxMSo4KSglcmlwKQorCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgKEw0X1BBR0VfT0ZGU0VUKjgpKCVyaXApCisJYWRkcQklcmJwLCBpbml0X2xldmVsNF9wZ3QgKyAoTDRfU1RBUlRfS0VSTkVMKjgpKCVyaXApCiAKIAlhZGRxCSVyYnAsIGxldmVsM19pZGVudF9wZ3QgKyAwKCVyaXApCiAKQEAgLTE1NCw5ICsxNjIsNyBAQAogCSAqLwogCiAJLyogRW5hYmxlIFBBRSBtb2RlIGFuZCBQR0UgKi8KLQl4b3JxCSVyYXgsICVyYXgKLQlidHNxCSQ1LCAlcmF4Ci0JYnRzcQkkNywgJXJheAorCW1vdmwJJChYODZfQ1I0X1BBRSB8IFg4Nl9DUjRfUEdFKSwgJWVheAogCW1vdnEJJXJheCwgJWNyNAogCiAJLyogU2V0dXAgZWFybHkgYm9vdCBzdGFnZSA0IGxldmVsIHBhZ2V0YWJsZXMuICovCkBAIC0xODQsMTkgKzE5MCwxNSBAQAogMToJd3Jtc3IJCQkJLyogTWFrZSBjaGFuZ2VzIGVmZmVjdGl2ZSAqLwogCiAJLyogU2V0dXAgY3IwICovCi0jZGVmaW5lIENSMF9QTQkJCQkxCQkvKiBwcm90ZWN0ZWQgbW9kZSAqLwotI2RlZmluZSBDUjBfTVAJCQkJKDE8PDEpCi0jZGVmaW5lIENSMF9FVAkJCQkoMTw8NCkKLSNkZWZpbmUgQ1IwX05FCQkJCSgxPDw1KQotI2RlZmluZSBDUjBfV1AJCQkJKDE8PDE2KQotI2RlZmluZSBDUjBfQU0JCQkJKDE8PDE4KQotI2RlZmluZSBDUjBfUEFHSU5HIAkJCSgxPDwzMSkKLQltb3ZsICRDUjBfUE18Q1IwX01QfENSMF9FVHxDUjBfTkV8Q1IwX1dQfENSMF9BTXxDUjBfUEFHSU5HLCVlYXgKKyNkZWZpbmUgQ1IwX1NUQVRFCShYODZfQ1IwX1BFIHwgWDg2X0NSMF9NUCB8IFg4Nl9DUjBfRVQgfCBcCisJCQkgWDg2X0NSMF9ORSB8IFg4Nl9DUjBfV1AgfCBYODZfQ1IwX0FNIHwgXAorCQkJIFg4Nl9DUjBfUEcpCisJbW92bAkkQ1IwX1NUQVRFLCAlZWF4CiAJLyogTWFrZSBjaGFuZ2VzIGVmZmVjdGl2ZSAqLwogCW1vdnEJJXJheCwgJWNyMAogCiAJLyogU2V0dXAgYSBib290IHRpbWUgc3RhY2sgKi8KLQltb3ZxIGluaXRfcnNwKCVyaXApLCVyc3AKKwltb3ZxIHN0YWNrX3N0YXJ0KCVyaXApLCVyc3AKIAogCS8qIHplcm8gRUZMQUdTIGFmdGVyIHNldHRpbmcgcnNwICovCiAJcHVzaHEgJDAKQEAgLTIwOCw3ICsyMTAsNyBAQAogCSAqIGFkZHJlc3NlcyB3aGVyZSB3ZSdyZSBjdXJyZW50bHkgcnVubmluZyBvbi4gV2UgaGF2ZSB0byBkbyB0aGF0IGhlcmUKIAkgKiBiZWNhdXNlIGluIDMyYml0IHdlIGNvdWxkbid0IGxvYWQgYSA2NGJpdCBsaW5lYXIgYWRkcmVzcy4KIAkgKi8KLQlsZ2R0CWNwdV9nZHRfZGVzY3IoJXJpcCkKKwlsZ2R0CWVhcmx5X2dkdF9kZXNjciglcmlwKQogCiAJLyogc2V0IHVwIGRhdGEgc2VnbWVudHMuIGFjdHVhbGx5IDAgd291bGQgZG8gdG9vICovCiAJbW92bCAkX19LRVJORUxfRFMsJWVheApAQCAtMjU3LDggKzI1OSw5IEBACiAJLnF1YWQJeDg2XzY0X3N0YXJ0X2tlcm5lbAogCV9fRklOSVREQVRBCiAKLQlFTlRSWShpbml0X3JzcCkKKwlFTlRSWShzdGFja19zdGFydCkKIAkucXVhZCAgaW5pdF90aHJlYWRfdW5pb24rVEhSRUFEX1NJWkUtOAorCS53b3JkICAwCiAKIGJhZF9hZGRyZXNzOgogCWptcCBiYWRfYWRkcmVzcwpAQCAtMzI3LDExICszMzAsMTEgQEAKIEVOVFJZKG5hbWUpCiAKIC8qIEF1dG9tYXRlIHRoZSBjcmVhdGlvbiBvZiAxIHRvIDEgbWFwcGluZyBwbWQgZW50cmllcyAqLwotI2RlZmluZSBQTURTKFNUQVJULCBQRVJNLCBDT1VOVCkJCVwKLQlpID0gMCA7CQkJCQlcCi0JLnJlcHQgKENPVU5UKSA7CQkJCVwKLQkucXVhZAkoU1RBUlQpICsgKGkgPDwgMjEpICsgKFBFUk0pIDsJXAotCWkgPSBpICsgMSA7CQkJCVwKKyNkZWZpbmUgUE1EUyhTVEFSVCwgUEVSTSwgQ09VTlQpCQkJXAorCWkgPSAwIDsJCQkJCQlcCisJLnJlcHQgKENPVU5UKSA7CQkJCQlcCisJLnF1YWQJKFNUQVJUKSArIChpIDw8IFBNRF9TSElGVCkgKyAoUEVSTSkgOwlcCisJaSA9IGkgKyAxIDsJCQkJCVwKIAkuZW5kcgogCiAJLyoKQEAgLTM0Miw5ICszNDUsOSBAQAogCSAqLwogTkVYVF9QQUdFKGluaXRfbGV2ZWw0X3BndCkKIAkucXVhZAlsZXZlbDNfaWRlbnRfcGd0IC0gX19TVEFSVF9LRVJORUxfbWFwICsgX0tFUk5QR19UQUJMRQotCS5maWxsCTI1Nyw4LDAKKwkub3JnCWluaXRfbGV2ZWw0X3BndCArIEw0X1BBR0VfT0ZGU0VUKjgsIDAKIAkucXVhZAlsZXZlbDNfaWRlbnRfcGd0IC0gX19TVEFSVF9LRVJORUxfbWFwICsgX0tFUk5QR19UQUJMRQotCS5maWxsCTI1Miw4LDAKKwkub3JnCWluaXRfbGV2ZWw0X3BndCArIEw0X1NUQVJUX0tFUk5FTCo4LCAwCiAJLyogKDJeNDgtKDIqMTAyNCoxMDI0KjEwMjQpKS8oMl4zOSkgPSA1MTEgKi8KIAkucXVhZAlsZXZlbDNfa2VybmVsX3BndCAtIF9fU1RBUlRfS0VSTkVMX21hcCArIF9QQUdFX1RBQkxFCiAKQEAgLTM1Myw3ICszNTYsNyBAQAogCS5maWxsCTUxMSw4LDAKIAogTkVYVF9QQUdFKGxldmVsM19rZXJuZWxfcGd0KQotCS5maWxsCTUxMCw4LDAKKwkuZmlsbAlMM19TVEFSVF9LRVJORUwsOCwwCiAJLyogKDJeNDgtKDIqMTAyNCoxMDI0KjEwMjQpLSgoMl4zOSkqNTExKSkvKDJeMzApID0gNTEwICovCiAJLnF1YWQJbGV2ZWwyX2tlcm5lbF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBfS0VSTlBHX1RBQkxFCiAJLnF1YWQJbGV2ZWwyX2ZpeG1hcF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBfUEFHRV9UQUJMRQpAQCAtMzg0LDcgKzM4Nyw3IEBACiAJICogIElmIHlvdSB3YW50IHRvIGluY3JlYXNlIHRoaXMgdGhlbiBpbmNyZWFzZSBNT0RVTEVTX1ZBRERSCiAJICogIHRvby4pCiAJICovCi0JUE1EUygwLCBfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUN8X1BBR0VfR0xPQkFMLAorCVBNRFMoMCwgX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDLAogCQlLRVJORUxfSU1BR0VfU0laRS9QTURfU0laRSkKIAogTkVYVF9QQUdFKGxldmVsMl9zcGFyZV9wZ3QpCkBAIC0zOTUsNTQgKzM5OCwxNiBAQAogCiAJLmRhdGEKIAkuYWxpZ24gMTYKLQkuZ2xvYmwgY3B1X2dkdF9kZXNjcgotY3B1X2dkdF9kZXNjcjoKLQkud29yZAlnZHRfZW5kLWNwdV9nZHRfdGFibGUtMQotZ2R0OgotCS5xdWFkCWNwdV9nZHRfdGFibGUKLSNpZmRlZiBDT05GSUdfU01QCi0JLnJlcHQJTlJfQ1BVUy0xCi0JLndvcmQJMAotCS5xdWFkCTAKLQkuZW5kcgotI2VuZGlmCisJLmdsb2JsIGVhcmx5X2dkdF9kZXNjcgorZWFybHlfZ2R0X2Rlc2NyOgorCS53b3JkCUdEVF9FTlRSSUVTKjgtMQorCS5xdWFkICAgcGVyX2NwdV9fZ2R0X3BhZ2UKIAogRU5UUlkocGh5c19iYXNlKQogCS8qIFRoaXMgbXVzdCBtYXRjaCB0aGUgZmlyc3QgZW50cnkgaW4gbGV2ZWwyX2tlcm5lbF9wZ3QgKi8KIAkucXVhZCAgIDB4MDAwMDAwMDAwMDAwMDAwMAogCi0vKiBXZSBuZWVkIHZhbGlkIGtlcm5lbCBzZWdtZW50cyBmb3IgZGF0YSBhbmQgY29kZSBpbiBsb25nIG1vZGUgdG9vCi0gKiBJUkVUIHdpbGwgY2hlY2sgdGhlIHNlZ21lbnQgdHlwZXMgIGtrZWlsIDIwMDAvMTAvMjgKLSAqIEFsc28gc3lzcmV0IG1hbmRhdGVzIGEgc3BlY2lhbCBHRFQgbGF5b3V0IAotICovCi0JCSAJCQotCS5zZWN0aW9uIC5kYXRhLnBhZ2VfYWxpZ25lZCwgImF3IgotCS5hbGlnbiBQQUdFX1NJWkUKLQotLyogVGhlIFRMUyBkZXNjcmlwdG9ycyBhcmUgY3VycmVudGx5IGF0IGEgZGlmZmVyZW50IHBsYWNlIGNvbXBhcmVkIHRvIGkzODYuCi0gICBIb3BlZnVsbHkgbm9ib2R5IGV4cGVjdHMgdGhlbSBhdCBhIGZpeGVkIHBsYWNlIChXaW5lPykgKi8KIAkKLUVOVFJZKGNwdV9nZHRfdGFibGUpCi0JLnF1YWQJMHgwMDAwMDAwMDAwMDAwMDAwCS8qIE5VTEwgZGVzY3JpcHRvciAqLwotCS5xdWFkCTB4MDBjZjliMDAwMDAwZmZmZgkvKiBfX0tFUk5FTDMyX0NTICovCi0JLnF1YWQJMHgwMGFmOWIwMDAwMDBmZmZmCS8qIF9fS0VSTkVMX0NTICovCi0JLnF1YWQJMHgwMGNmOTMwMDAwMDBmZmZmCS8qIF9fS0VSTkVMX0RTICovCi0JLnF1YWQJMHgwMGNmZmIwMDAwMDBmZmZmCS8qIF9fVVNFUjMyX0NTICovCi0JLnF1YWQJMHgwMGNmZjMwMDAwMDBmZmZmCS8qIF9fVVNFUl9EUywgX19VU0VSMzJfRFMgICovCi0JLnF1YWQJMHgwMGFmZmIwMDAwMDBmZmZmCS8qIF9fVVNFUl9DUyAqLwotCS5xdWFkCTB4MAkJCS8qIHVudXNlZCAqLwotCS5xdWFkCTAsMAkJCS8qIFRTUyAqLwotCS5xdWFkCTAsMAkJCS8qIExEVCAqLwotCS5xdWFkICAgMCwwLDAJCQkvKiB0aHJlZSBUTFMgZGVzY3JpcHRvcnMgKi8gCi0JLnF1YWQJMHgwMDAwZjQwMDAwMDAwMDAwCS8qIG5vZGUvQ1BVIHN0b3JlZCBpbiBsaW1pdCAqLwotZ2R0X2VuZDoJCi0JLyogYXNtL3NlZ21lbnQuaDpHRFRfRU5UUklFUyBtdXN0IG1hdGNoIHRoaXMgKi8JCi0JLyogVGhpcyBzaG91bGQgYmUgYSBtdWx0aXBsZSBvZiB0aGUgY2FjaGUgbGluZSBzaXplICovCi0JLyogR0RUcyBvZiBvdGhlciBDUFVzIGFyZSBub3cgZHluYW1pY2FsbHkgYWxsb2NhdGVkICovCi0KLQkvKiB6ZXJvIHRoZSByZW1haW5pbmcgcGFnZSAqLwotCS5maWxsIFBBR0VfU0laRSAvIDggLSBHRFRfRU5UUklFUyw4LDAKLQogCS5zZWN0aW9uIC5ic3MsICJhdyIsIEBub2JpdHMKIAkuYWxpZ24gTDFfQ0FDSEVfQllURVMKIEVOVFJZKGlkdF90YWJsZSkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9ocGV0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaHBldC5jCmluZGV4IDliNWNmY2QuLjBlYTZhMTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9ocGV0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2hwZXQuYwpAQCAtMTcsNyArMTcsNyBAQAogCiAvKiBGU0VDID0gMTBeLTE1CiAgICBOU0VDID0gMTBeLTkgKi8KLSNkZWZpbmUgRlNFQ19QRVJfTlNFQwkxMDAwMDAwCisjZGVmaW5lIEZTRUNfUEVSX05TRUMJMTAwMDAwMEwKIAogLyoKICAqIEhQRVQgYWRkcmVzcyBpcyBzZXQgaW4gYWNwaS9ib290LmMsIHdoZW4gYW4gQUNQSSBlbnRyeSBleGlzdHMKQEAgLTM2LDI2ICszNiwxNSBAQAogfQogCiAjaWZkZWYgQ09ORklHX1g4Nl82NAotCiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLQotc3RhdGljIGlubGluZSB2b2lkIGhwZXRfc2V0X21hcHBpbmcodm9pZCkKLXsKLQlzZXRfZml4bWFwX25vY2FjaGUoRklYX0hQRVRfQkFTRSwgaHBldF9hZGRyZXNzKTsKLQlfX3NldF9maXhtYXAoVlNZU0NBTExfSFBFVCwgaHBldF9hZGRyZXNzLCBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFKTsKLQlocGV0X3ZpcnRfYWRkcmVzcyA9ICh2b2lkIF9faW9tZW0gKilmaXhfdG9fdmlydChGSVhfSFBFVF9CQVNFKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGhwZXRfY2xlYXJfbWFwcGluZyh2b2lkKQotewotCWhwZXRfdmlydF9hZGRyZXNzID0gTlVMTDsKLX0KLQotI2Vsc2UKKyNlbmRpZgogCiBzdGF0aWMgaW5saW5lIHZvaWQgaHBldF9zZXRfbWFwcGluZyh2b2lkKQogewogCWhwZXRfdmlydF9hZGRyZXNzID0gaW9yZW1hcF9ub2NhY2hlKGhwZXRfYWRkcmVzcywgSFBFVF9NTUFQX1NJWkUpOworI2lmZGVmIENPTkZJR19YODZfNjQKKwlfX3NldF9maXhtYXAoVlNZU0NBTExfSFBFVCwgaHBldF9hZGRyZXNzLCBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgaHBldF9jbGVhcl9tYXBwaW5nKHZvaWQpCkBAIC02Myw3ICs1Miw2IEBACiAJaW91bm1hcChocGV0X3ZpcnRfYWRkcmVzcyk7CiAJaHBldF92aXJ0X2FkZHJlc3MgPSBOVUxMOwogfQotI2VuZGlmCiAKIC8qCiAgKiBIUEVUIGNvbW1hbmQgbGluZSBlbmFibGUgLyBkaXNhYmxlCkBAIC0yMDYsMjAgKzE5NCwxOSBAQAogCiBzdGF0aWMgdm9pZCBocGV0X2xlZ2FjeV9jbG9ja2V2ZW50X3JlZ2lzdGVyKHZvaWQpCiB7Ci0JdWludDY0X3QgaHBldF9mcmVxOwotCiAJLyogU3RhcnQgSFBFVCBsZWdhY3kgaW50ZXJydXB0cyAqLwogCWhwZXRfZW5hYmxlX2xlZ2FjeV9pbnQoKTsKIAogCS8qCi0JICogVGhlIHBlcmlvZCBpcyBhIGZlbXRvIHNlY29uZHMgdmFsdWUuIFdlIG5lZWQgdG8gY2FsY3VsYXRlIHRoZQotCSAqIHNjYWxlZCBtYXRoIG11bHRpcGxpY2F0aW9uIGZhY3RvciBmb3IgbmFub3NlY29uZCB0byBocGV0IHRpY2sKLQkgKiBjb252ZXJzaW9uLgorCSAqIFRoZSBtdWx0IGZhY3RvciBpcyBkZWZpbmVkIGFzIChpbmNsdWRlL2xpbnV4L2Nsb2NrY2hpcHMuaCkKKwkgKiAgbXVsdC8yXnNoaWZ0ID0gY3ljL25zIChpbiBjb250cmFzdCB0byBucy9jeWMgaW4gY2xvY2tzb3VyY2UuaCkKKwkgKiBocGV0X3BlcmlvZCBpcyBpbiB1bml0cyBvZiBmZW10b3NlY29uZHMgKHBlciBjeWNsZSksIHNvCisJICogIG11bHQvMl5zaGlmdCA9IGN5Yy9ucyA9IDEwXjYvaHBldF9wZXJpb2QKKwkgKiAgbXVsdCA9ICgxMF42ICogMl5zaGlmdCkvaHBldF9wZXJpb2QKKwkgKiAgbXVsdCA9IChGU0VDX1BFUl9OU0VDIDw8IGhwZXRfY2xvY2tldmVudC5zaGlmdCkvaHBldF9wZXJpb2QKIAkgKi8KLQlocGV0X2ZyZXEgPSAxMDAwMDAwMDAwMDAwMDAwVUxMOwotCWRvX2RpdihocGV0X2ZyZXEsIGhwZXRfcGVyaW9kKTsKLQlocGV0X2Nsb2NrZXZlbnQubXVsdCA9IGRpdl9zYygodW5zaWduZWQgbG9uZykgaHBldF9mcmVxLAotCQkJCSAgICAgIE5TRUNfUEVSX1NFQywgaHBldF9jbG9ja2V2ZW50LnNoaWZ0KTsKKwlocGV0X2Nsb2NrZXZlbnQubXVsdCA9IGRpdl9zYygodW5zaWduZWQgbG9uZykgRlNFQ19QRVJfTlNFQywKKwkJCQkgICAgICBocGV0X3BlcmlvZCwgaHBldF9jbG9ja2V2ZW50LnNoaWZ0KTsKIAkvKiBDYWxjdWxhdGUgdGhlIG1pbiAvIG1heCBkZWx0YSAqLwogCWhwZXRfY2xvY2tldmVudC5tYXhfZGVsdGFfbnMgPSBjbG9ja2V2ZW50X2RlbHRhMm5zKDB4N0ZGRkZGRkYsCiAJCQkJCQkJICAgJmhwZXRfY2xvY2tldmVudCk7CkBAIC0zMjQsNyArMzExLDcgQEAKIAogc3RhdGljIGludCBocGV0X2Nsb2Nrc291cmNlX3JlZ2lzdGVyKHZvaWQpCiB7Ci0JdTY0IHRtcCwgc3RhcnQsIG5vdzsKKwl1NjQgc3RhcnQsIG5vdzsKIAljeWNsZV90IHQxOwogCiAJLyogU3RhcnQgdGhlIGNvdW50ZXIgKi8KQEAgLTM1MSwyMSArMzM4LDE1IEBACiAJCXJldHVybiAtRU5PREVWOwogCX0KIAotCS8qIEluaXRpYWxpemUgYW5kIHJlZ2lzdGVyIEhQRVQgY2xvY2tzb3VyY2UKLQkgKgotCSAqIGhwZXQgcGVyaW9kIGlzIGluIGZlbXRvIHNlY29uZHMgcGVyIGN5Y2xlCi0JICogc28gd2UgbmVlZCB0byBjb252ZXJ0IHRoaXMgdG8gbnMvY3ljIHVuaXRzCi0JICogYXBwcm94aW1hdGVkIGJ5IG11bHQvMl5zaGlmdAotCSAqCi0JICogIGZzZWMvY3ljICogMW5zZWMvMTAwMDAwMGZzZWMgPSBuc2VjL2N5YyA9IG11bHQvMl5zaGlmdAotCSAqICBmc2VjL2N5YyAqIDFucy8xMDAwMDAwZnNlYyAqIDJec2hpZnQgPSBtdWx0Ci0JICogIGZzZWMvY3ljICogMl5zaGlmdCAqIDFuc2VjLzEwMDAwMDBmc2VjID0gbXVsdAotCSAqICAoZnNlYy9jeWMgPDwgc2hpZnQpLzEwMDAwMDAgPSBtdWx0Ci0JICogIChocGV0X3BlcmlvZCA8PCBzaGlmdCkvRlNFQ19QRVJfTlNFQyA9IG11bHQKKwkvKgorCSAqIFRoZSBkZWZpbml0aW9uIG9mIG11bHQgaXMgKGluY2x1ZGUvbGludXgvY2xvY2tzb3VyY2UuaCkKKwkgKiBtdWx0LzJec2hpZnQgPSBucy9jeWMgYW5kIGhwZXRfcGVyaW9kIGlzIGluIHVuaXRzIG9mIGZzZWMvY3ljCisJICogc28gd2UgZmlyc3QgbmVlZCB0byBjb252ZXJ0IGhwZXRfcGVyaW9kIHRvIG5zL2N5YyB1bml0czoKKwkgKiAgbXVsdC8yXnNoaWZ0ID0gbnMvY3ljID0gaHBldF9wZXJpb2QvMTBeNgorCSAqICBtdWx0ID0gKGhwZXRfcGVyaW9kICogMl5zaGlmdCkvMTBeNgorCSAqICBtdWx0ID0gKGhwZXRfcGVyaW9kIDw8IHNoaWZ0KS9GU0VDX1BFUl9OU0VDCiAJICovCi0JdG1wID0gKHU2NClocGV0X3BlcmlvZCA8PCBIUEVUX1NISUZUOwotCWRvX2Rpdih0bXAsIEZTRUNfUEVSX05TRUMpOwotCWNsb2Nrc291cmNlX2hwZXQubXVsdCA9ICh1MzIpdG1wOworCWNsb2Nrc291cmNlX2hwZXQubXVsdCA9IGRpdl9zYyhocGV0X3BlcmlvZCwgRlNFQ19QRVJfTlNFQywgSFBFVF9TSElGVCk7CiAKIAljbG9ja3NvdXJjZV9yZWdpc3RlcigmY2xvY2tzb3VyY2VfaHBldCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pMzg2X2tzeW1zXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaTM4Nl9rc3ltc18zMi5jCmluZGV4IGRlYjQzNzguLmRkN2ViZWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pMzg2X2tzeW1zXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2kzODZfa3N5bXNfMzIuYwpAQCAtMSw3ICsxLDE0IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisKICNpbmNsdWRlIDxhc20vY2hlY2tzdW0uaD4KLSNpbmNsdWRlIDxhc20vZGVzYy5oPgogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisvKiBtY291bnQgaXMgZGVmaW5lZCBpbiBhc3NlbWJseSAqLworRVhQT1JUX1NZTUJPTChtY291bnQpOworI2VuZGlmCiAKIC8qIE5ldHdvcmtpbmcgaGVscGVyIHJvdXRpbmVzLiAqLwogRVhQT1JUX1NZTUJPTChjc3VtX3BhcnRpYWxfY29weV9nZW5lcmljKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pMzg3LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaTM4Ny5jCmluZGV4IDk1ZTgwZTUuLmViOWRkZDggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pMzg3LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2kzODcuYwpAQCAtMTYyLDcgKzE2Miw3IEBACiAJaW50IHJldDsKIAogCWlmICghY3B1X2hhc19meHNyKQotCQlyZXR1cm4gLUVJTzsKKwkJcmV0dXJuIC1FTk9ERVY7CiAKIAlyZXQgPSBpbml0X2ZwdSh0YXJnZXQpOwogCWlmIChyZXQpCkBAIC0xNzksNyArMTc5LDcgQEAKIAlpbnQgcmV0OwogCiAJaWYgKCFjcHVfaGFzX2Z4c3IpCi0JCXJldHVybiAtRUlPOworCQlyZXR1cm4gLUVOT0RFVjsKIAogCXJldCA9IGluaXRfZnB1KHRhcmdldCk7CiAJaWYgKHJldCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pODI1OV8zMi5jIGIvYXJjaC94ODYva2VybmVsL2k4MjU5LmMKc2ltaWxhcml0eSBpbmRleCA3MCUKcmVuYW1lIGZyb20gYXJjaC94ODYva2VybmVsL2k4MjU5XzMyLmMKcmVuYW1lIHRvIGFyY2gveDg2L2tlcm5lbC9pODI1OS5jCmluZGV4IGZlNjMxOTY3Li5kYzkyYjQ5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaTgyNTkuYwpAQCAtMSw4ICsxLDEwIEBACisjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0xMCwxMCArMTIsMTIgQEAKICNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KIAorI2luY2x1ZGUgPGFzbS9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vdGltZXIuaD4KKyNpbmNsdWRlIDxhc20vaHdfaXJxLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vZGVsYXkuaD4KICNpbmNsdWRlIDxhc20vZGVzYy5oPgpAQCAtMzIsNyArMzYsNyBAQAogREVGSU5FX1NQSU5MT0NLKGk4MjU5QV9sb2NrKTsKIHN0YXRpYyB2b2lkIG1hc2tfYW5kX2Fja184MjU5QSh1bnNpZ25lZCBpbnQpOwogCi1zdGF0aWMgc3RydWN0IGlycV9jaGlwIGk4MjU5QV9jaGlwID0geworc3RydWN0IGlycV9jaGlwIGk4MjU5QV9jaGlwID0gewogCS5uYW1lCQk9ICJYVC1QSUMiLAogCS5tYXNrCQk9IGRpc2FibGVfODI1OUFfaXJxLAogCS5kaXNhYmxlCT0gZGlzYWJsZV84MjU5QV9pcnEsCkBAIC0xMjUsMTQgKzEyOSwxNCBAQAogCWludCBpcnFtYXNrID0gMTw8aXJxOwogCiAJaWYgKGlycSA8IDgpIHsKLQkJb3V0YigweDBCLFBJQ19NQVNURVJfQ01EKTsJLyogSVNSIHJlZ2lzdGVyICovCisJCW91dGIoMHgwQiwgUElDX01BU1RFUl9DTUQpOwkvKiBJU1IgcmVnaXN0ZXIgKi8KIAkJdmFsdWUgPSBpbmIoUElDX01BU1RFUl9DTUQpICYgaXJxbWFzazsKLQkJb3V0YigweDBBLFBJQ19NQVNURVJfQ01EKTsJLyogYmFjayB0byB0aGUgSVJSIHJlZ2lzdGVyICovCisJCW91dGIoMHgwQSwgUElDX01BU1RFUl9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KIAkJcmV0dXJuIHZhbHVlOwogCX0KLQlvdXRiKDB4MEIsUElDX1NMQVZFX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLworCW91dGIoMHgwQiwgUElDX1NMQVZFX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLwogCXZhbHVlID0gaW5iKFBJQ19TTEFWRV9DTUQpICYgKGlycW1hc2sgPj4gOCk7Ci0Jb3V0YigweDBBLFBJQ19TTEFWRV9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KKwlvdXRiKDB4MEEsIFBJQ19TTEFWRV9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KIAlyZXR1cm4gdmFsdWU7CiB9CiAKQEAgLTE3MSwxMiArMTc1LDE0IEBACiAJaWYgKGlycSAmIDgpIHsKIAkJaW5iKFBJQ19TTEFWRV9JTVIpOwkvKiBEVU1NWSAtIChkbyB3ZSBuZWVkIHRoaXM/KSAqLwogCQlvdXRiKGNhY2hlZF9zbGF2ZV9tYXNrLCBQSUNfU0xBVkVfSU1SKTsKLQkJb3V0YigweDYwKyhpcnEmNyksUElDX1NMQVZFX0NNRCk7LyogJ1NwZWNpZmljIEVPSScgdG8gc2xhdmUgKi8KLQkJb3V0YigweDYwK1BJQ19DQVNDQURFX0lSLFBJQ19NQVNURVJfQ01EKTsgLyogJ1NwZWNpZmljIEVPSScgdG8gbWFzdGVyLUlSUTIgKi8KKwkJLyogJ1NwZWNpZmljIEVPSScgdG8gc2xhdmUgKi8KKwkJb3V0YigweDYwKyhpcnEmNyksIFBJQ19TTEFWRV9DTUQpOworCQkgLyogJ1NwZWNpZmljIEVPSScgdG8gbWFzdGVyLUlSUTIgKi8KKwkJb3V0YigweDYwK1BJQ19DQVNDQURFX0lSLCBQSUNfTUFTVEVSX0NNRCk7CiAJfSBlbHNlIHsKIAkJaW5iKFBJQ19NQVNURVJfSU1SKTsJLyogRFVNTVkgLSAoZG8gd2UgbmVlZCB0aGlzPykgKi8KIAkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIFBJQ19NQVNURVJfSU1SKTsKLQkJb3V0YigweDYwK2lycSxQSUNfTUFTVEVSX0NNRCk7CS8qICdTcGVjaWZpYyBFT0kgdG8gbWFzdGVyICovCisJCW91dGIoMHg2MCtpcnEsIFBJQ19NQVNURVJfQ01EKTsJLyogJ1NwZWNpZmljIEVPSSB0byBtYXN0ZXIgKi8KIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKIAlyZXR1cm47CkBAIC0xOTksNyArMjA1LDggQEAKIAkJICogbGV0cyBBQ0sgYW5kIHJlcG9ydCBpdC4gW29uY2UgcGVyIElSUV0KIAkJICovCiAJCWlmICghKHNwdXJpb3VzX2lycV9tYXNrICYgaXJxbWFzaykpIHsKLQkJCXByaW50ayhLRVJOX0RFQlVHICJzcHVyaW91cyA4MjU5QSBpbnRlcnJ1cHQ6IElSUSVkLlxuIiwgaXJxKTsKKwkJCXByaW50ayhLRVJOX0RFQlVHCisJCQkgICAgICAgInNwdXJpb3VzIDgyNTlBIGludGVycnVwdDogSVJRJWQuXG4iLCBpcnEpOwogCQkJc3B1cmlvdXNfaXJxX21hc2sgfD0gaXJxbWFzazsKIAkJfQogCQlhdG9taWNfaW5jKCZpcnFfZXJyX2NvdW50KTsKQEAgLTI5MCwxNyArMjk3LDI4IEBACiAJICogb3V0Yl9waWMgLSB0aGlzIGhhcyB0byB3b3JrIG9uIGEgd2lkZSByYW5nZSBvZiBQQyBoYXJkd2FyZS4KIAkgKi8KIAlvdXRiX3BpYygweDExLCBQSUNfTUFTVEVSX0NNRCk7CS8qIElDVzE6IHNlbGVjdCA4MjU5QS0xIGluaXQgKi8KLQlvdXRiX3BpYygweDIwICsgMCwgUElDX01BU1RFUl9JTVIpOwkvKiBJQ1cyOiA4MjU5QS0xIElSMC03IG1hcHBlZCB0byAweDIwLTB4MjcgKi8KLQlvdXRiX3BpYygxVSA8PCBQSUNfQ0FTQ0FERV9JUiwgUElDX01BU1RFUl9JTVIpOwkvKiA4MjU5QS0xICh0aGUgbWFzdGVyKSBoYXMgYSBzbGF2ZSBvbiBJUjIgKi8KKworCS8qIElDVzI6IDgyNTlBLTEgSVIwLTcgbWFwcGVkIHRvIDB4MzAtMHgzNyBvbiB4ODYtNjQsCisJICAgICAgICAgICAgICAgICAgICAgICB0byAweDIwLTB4Mjcgb24gaTM4NiAqLworCW91dGJfcGljKElSUTBfVkVDVE9SLCBQSUNfTUFTVEVSX0lNUik7CisKKwkvKiA4MjU5QS0xICh0aGUgbWFzdGVyKSBoYXMgYSBzbGF2ZSBvbiBJUjIgKi8KKwlvdXRiX3BpYygxVSA8PCBQSUNfQ0FTQ0FERV9JUiwgUElDX01BU1RFUl9JTVIpOworCiAJaWYgKGF1dG9fZW9pKQkvKiBtYXN0ZXIgZG9lcyBBdXRvIEVPSSAqLwogCQlvdXRiX3BpYyhNQVNURVJfSUNXNF9ERUZBVUxUIHwgUElDX0lDVzRfQUVPSSwgUElDX01BU1RFUl9JTVIpOwogCWVsc2UJCS8qIG1hc3RlciBleHBlY3RzIG5vcm1hbCBFT0kgKi8KIAkJb3V0Yl9waWMoTUFTVEVSX0lDVzRfREVGQVVMVCwgUElDX01BU1RFUl9JTVIpOwogCiAJb3V0Yl9waWMoMHgxMSwgUElDX1NMQVZFX0NNRCk7CS8qIElDVzE6IHNlbGVjdCA4MjU5QS0yIGluaXQgKi8KLQlvdXRiX3BpYygweDIwICsgOCwgUElDX1NMQVZFX0lNUik7CS8qIElDVzI6IDgyNTlBLTIgSVIwLTcgbWFwcGVkIHRvIDB4MjgtMHgyZiAqLwotCW91dGJfcGljKFBJQ19DQVNDQURFX0lSLCBQSUNfU0xBVkVfSU1SKTsJLyogODI1OUEtMiBpcyBhIHNsYXZlIG9uIG1hc3RlcidzIElSMiAqLwotCW91dGJfcGljKFNMQVZFX0lDVzRfREVGQVVMVCwgUElDX1NMQVZFX0lNUik7IC8qIChzbGF2ZSdzIHN1cHBvcnQgZm9yIEFFT0kgaW4gZmxhdCBtb2RlIGlzIHRvIGJlIGludmVzdGlnYXRlZCkgKi8KKworCS8qIElDVzI6IDgyNTlBLTIgSVIwLTcgbWFwcGVkIHRvIElSUThfVkVDVE9SICovCisJb3V0Yl9waWMoSVJROF9WRUNUT1IsIFBJQ19TTEFWRV9JTVIpOworCS8qIDgyNTlBLTIgaXMgYSBzbGF2ZSBvbiBtYXN0ZXIncyBJUjIgKi8KKwlvdXRiX3BpYyhQSUNfQ0FTQ0FERV9JUiwgUElDX1NMQVZFX0lNUik7CisJLyogKHNsYXZlJ3Mgc3VwcG9ydCBmb3IgQUVPSSBpbiBmbGF0IG1vZGUgaXMgdG8gYmUgaW52ZXN0aWdhdGVkKSAqLworCW91dGJfcGljKFNMQVZFX0lDVzRfREVGQVVMVCwgUElDX1NMQVZFX0lNUik7CisKIAlpZiAoYXV0b19lb2kpCiAJCS8qCiAJCSAqIEluIEFFT0kgbW9kZSB3ZSBqdXN0IGhhdmUgdG8gbWFzayB0aGUgaW50ZXJydXB0CkBAIC0zMTcsOTMgKzMzNSwzIEBACiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwogfQotCi0vKgotICogTm90ZSB0aGF0IG9uIGEgNDg2LCB3ZSBkb24ndCB3YW50IHRvIGRvIGEgU0lHRlBFIG9uIGFuIGlycTEzCi0gKiBhcyB0aGUgaXJxIGlzIHVucmVsaWFibGUsIGFuZCBleGNlcHRpb24gMTYgd29ya3MgY29ycmVjdGx5Ci0gKiAoaWUgYXMgZXhwbGFpbmVkIGluIHRoZSBpbnRlbCBsaXRlcmF0dXJlKS4gT24gYSAzODYsIHlvdQotICogY2FuJ3QgdXNlIGV4Y2VwdGlvbiAxNiBkdWUgdG8gYmFkIElCTSBkZXNpZ24sIHNvIHdlIGhhdmUgdG8KLSAqIHJlbHkgb24gdGhlIGxlc3MgZXhhY3QgaXJxMTMuCi0gKgotICogQ2FyZWZ1bC4uIE5vdCBvbmx5IGlzIElSUTEzIHVucmVsaWFibGUsIGJ1dCBpdCBpcyBhbHNvCi0gKiBsZWFkcyB0byByYWNlcy4gSUJNIGRlc2lnbmVycyB3aG8gY2FtZSB1cCB3aXRoIGl0IHNob3VsZAotICogYmUgc2hvdC4KLSAqLwotIAotCi1zdGF0aWMgaXJxcmV0dXJuX3QgbWF0aF9lcnJvcl9pcnEoaW50IGNwbCwgdm9pZCAqZGV2X2lkKQotewotCWV4dGVybiB2b2lkIG1hdGhfZXJyb3Iodm9pZCBfX3VzZXIgKik7Ci0Jb3V0YigwLDB4RjApOwotCWlmIChpZ25vcmVfZnB1X2lycSB8fCAhYm9vdF9jcHVfZGF0YS5oYXJkX21hdGgpCi0JCXJldHVybiBJUlFfTk9ORTsKLQltYXRoX2Vycm9yKCh2b2lkIF9fdXNlciAqKWdldF9pcnFfcmVncygpLT5pcCk7Ci0JcmV0dXJuIElSUV9IQU5ETEVEOwotfQotCi0vKgotICogTmV3IG1vdGhlcmJvYXJkcyBzb21ldGltZXMgbWFrZSBJUlEgMTMgYmUgYSBQQ0kgaW50ZXJydXB0LAotICogc28gYWxsb3cgaW50ZXJydXB0IHNoYXJpbmcuCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGZwdV9pcnEgPSB7Ci0JLmhhbmRsZXIgPSBtYXRoX2Vycm9yX2lycSwKLQkubWFzayA9IENQVV9NQVNLX05PTkUsCi0JLm5hbWUgPSAiZnB1IiwKLX07Ci0KLXZvaWQgX19pbml0IGluaXRfSVNBX2lycXMgKHZvaWQpCi17Ci0JaW50IGk7Ci0KLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLQlpbml0X2JzcF9BUElDKCk7Ci0jZW5kaWYKLQlpbml0XzgyNTlBKDApOwotCi0JLyoKLQkgKiAxNiBvbGQtc3R5bGUgSU5UQS1jeWNsZSBpbnRlcnJ1cHRzOgotCSAqLwotCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7Ci0JCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGksICZpODI1OUFfY2hpcCwKLQkJCQkJICAgICAgaGFuZGxlX2xldmVsX2lycSwgIlhUIik7Ci0JfQotfQotCi0vKiBPdmVycmlkZGVuIGluIHBhcmF2aXJ0LmMgKi8KLXZvaWQgaW5pdF9JUlEodm9pZCkgX19hdHRyaWJ1dGVfXygod2VhaywgYWxpYXMoIm5hdGl2ZV9pbml0X0lSUSIpKSk7Ci0KLXZvaWQgX19pbml0IG5hdGl2ZV9pbml0X0lSUSh2b2lkKQotewotCWludCBpOwotCi0JLyogYWxsIHRoZSBzZXQgdXAgYmVmb3JlIHRoZSBjYWxsIGdhdGVzIGFyZSBpbml0aWFsaXNlZCAqLwotCXByZV9pbnRyX2luaXRfaG9vaygpOwotCi0JLyoKLQkgKiBDb3ZlciB0aGUgd2hvbGUgdmVjdG9yIHNwYWNlLCBubyB2ZWN0b3IgY2FuIGVzY2FwZQotCSAqIHVzLiAoc29tZSBvZiB0aGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gYW5kIGJlY29tZQotCSAqICdzcGVjaWFsJyBTTVAgaW50ZXJydXB0cykKLQkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgKE5SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpOyBpKyspIHsKLQkJaW50IHZlY3RvciA9IEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUiArIGk7Ci0JCWlmIChpID49IE5SX0lSUVMpCi0JCQlicmVhazsKLQkJLyogU1lTQ0FMTF9WRUNUT1Igd2FzIHJlc2VydmVkIGluIHRyYXBfaW5pdC4gKi8KLQkJaWYgKCF0ZXN0X2JpdCh2ZWN0b3IsIHVzZWRfdmVjdG9ycykpCi0JCQlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2ldKTsKLQl9Ci0KLQkvKiBzZXR1cCBhZnRlciBjYWxsIGdhdGVzIGFyZSBpbml0aWFsaXNlZCAodXN1YWxseSBhZGQgaW4KLQkgKiB0aGUgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGdhdGVzKQotCSAqLwotCWludHJfaW5pdF9ob29rKCk7Ci0KLQkvKgotCSAqIEV4dGVybmFsIEZQVT8gU2V0IHVwIGlycTEzIGlmIHNvLCBmb3IKLQkgKiBvcmlnaW5hbCBicmFpbmRhbWFnZWQgSUJNIEZFUlIgY291cGxpbmcuCi0JICovCi0JaWYgKGJvb3RfY3B1X2RhdGEuaGFyZF9tYXRoICYmICFjcHVfaGFzX2ZwdSkKLQkJc2V0dXBfaXJxKEZQVV9JUlEsICZmcHVfaXJxKTsKLQotCWlycV9jdHhfaW5pdChzbXBfcHJvY2Vzc29yX2lkKCkpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2k4MjU5XzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmE1N2ExNS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDUxMiArMCwwIEBACi0jaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1leC5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KLSNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KLSNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KLQotI2luY2x1ZGUgPGFzbS9hY3BpLmg+Ci0jaW5jbHVkZSA8YXNtL2F0b21pYy5oPgotI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vaHdfaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vZGVsYXkuaD4KLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hcGljLmg+Ci0jaW5jbHVkZSA8YXNtL2k4MjU5Lmg+Ci0KLS8qCi0gKiBDb21tb24gcGxhY2UgdG8gZGVmaW5lIGFsbCB4ODYgSVJRIHZlY3RvcnMKLSAqCi0gKiBUaGlzIGJ1aWxkcyB1cCB0aGUgSVJRIGhhbmRsZXIgc3R1YnMgdXNpbmcgc29tZSB1Z2x5IG1hY3JvcyBpbiBpcnEuaAotICoKLSAqIFRoZXNlIG1hY3JvcyBjcmVhdGUgdGhlIGxvdy1sZXZlbCBhc3NlbWJseSBJUlEgcm91dGluZXMgdGhhdCBzYXZlCi0gKiByZWdpc3RlciBjb250ZXh0IGFuZCBjYWxsIGRvX0lSUSgpLiBkb19JUlEoKSB0aGVuIGRvZXMgYWxsIHRoZQotICogb3BlcmF0aW9ucyB0aGF0IGFyZSBuZWVkZWQgdG8ga2VlcCB0aGUgQVQgKG9yIFNNUCBJT0FQSUMpCi0gKiBpbnRlcnJ1cHQtY29udHJvbGxlciBoYXBweS4KLSAqLwotCi0jZGVmaW5lIEJJKHgseSkgXAotCUJVSUxEX0lSUSh4IyN5KQotCi0jZGVmaW5lIEJVSUxEXzE2X0lSUVMoeCkgXAotCUJJKHgsMCkgQkkoeCwxKSBCSSh4LDIpIEJJKHgsMykgXAotCUJJKHgsNCkgQkkoeCw1KSBCSSh4LDYpIEJJKHgsNykgXAotCUJJKHgsOCkgQkkoeCw5KSBCSSh4LGEpIEJJKHgsYikgXAotCUJJKHgsYykgQkkoeCxkKSBCSSh4LGUpIEJJKHgsZikKLQotLyoKLSAqIElTQSBQSUMgb3IgbG93IElPLUFQSUMgdHJpZ2dlcmVkIChJTlRBLWN5Y2xlIG9yIEFQSUMpIGludGVycnVwdHM6Ci0gKiAodGhlc2UgYXJlIHVzdWFsbHkgbWFwcGVkIHRvIHZlY3RvcnMgMHgzMC0weDNmKQotICovCi0KLS8qCi0gKiBUaGUgSU8tQVBJQyBnaXZlcyB1cyBtYW55IG1vcmUgaW50ZXJydXB0IHNvdXJjZXMuIE1vc3Qgb2YgdGhlc2UKLSAqIGFyZSB1bnVzZWQgYnV0IGFuIFNNUCBzeXN0ZW0gaXMgc3VwcG9zZWQgdG8gaGF2ZSBlbm91Z2ggbWVtb3J5IC4uLgotICogc29tZXRpbWVzIChtb3N0bHkgd3J0LiBodyBidWdzKSB3ZSBnZXQgY29ycnVwdGVkIHZlY3RvcnMgYWxsCi0gKiBhY3Jvc3MgdGhlIHNwZWN0cnVtLCBzbyB3ZSByZWFsbHkgd2FudCB0byBiZSBwcmVwYXJlZCB0byBnZXQgYWxsCi0gKiBvZiB0aGVzZS4gUGx1cywgbW9yZSBwb3dlcmZ1bCBzeXN0ZW1zIG1pZ2h0IGhhdmUgbW9yZSB0aGFuIDY0Ci0gKiBJTy1BUElDIHJlZ2lzdGVycy4KLSAqCi0gKiAodGhlc2UgYXJlIHVzdWFsbHkgbWFwcGVkIGludG8gdGhlIDB4MzAtMHhmZiB2ZWN0b3IgcmFuZ2UpCi0gKi8KLQkJCQkgICAgICBCVUlMRF8xNl9JUlFTKDB4MikgQlVJTERfMTZfSVJRUygweDMpCi1CVUlMRF8xNl9JUlFTKDB4NCkgQlVJTERfMTZfSVJRUygweDUpIEJVSUxEXzE2X0lSUVMoMHg2KSBCVUlMRF8xNl9JUlFTKDB4NykKLUJVSUxEXzE2X0lSUVMoMHg4KSBCVUlMRF8xNl9JUlFTKDB4OSkgQlVJTERfMTZfSVJRUygweGEpIEJVSUxEXzE2X0lSUVMoMHhiKQotQlVJTERfMTZfSVJRUygweGMpIEJVSUxEXzE2X0lSUVMoMHhkKSBCVUlMRF8xNl9JUlFTKDB4ZSkgQlVJTERfMTZfSVJRUygweGYpCi0KLSN1bmRlZiBCVUlMRF8xNl9JUlFTCi0jdW5kZWYgQkkKLQotCi0jZGVmaW5lIElSUSh4LHkpIFwKLQlJUlEjI3gjI3kjI19pbnRlcnJ1cHQKLQotI2RlZmluZSBJUlFMSVNUXzE2KHgpIFwKLQlJUlEoeCwwKSwgSVJRKHgsMSksIElSUSh4LDIpLCBJUlEoeCwzKSwgXAotCUlSUSh4LDQpLCBJUlEoeCw1KSwgSVJRKHgsNiksIElSUSh4LDcpLCBcCi0JSVJRKHgsOCksIElSUSh4LDkpLCBJUlEoeCxhKSwgSVJRKHgsYiksIFwKLQlJUlEoeCxjKSwgSVJRKHgsZCksIElSUSh4LGUpLCBJUlEoeCxmKQotCi0vKiBmb3IgdGhlIGlycSB2ZWN0b3JzICovCi1zdGF0aWMgdm9pZCAoKl9faW5pdGRhdGEgaW50ZXJydXB0W05SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1JdKSh2b2lkKSA9IHsKLQkJCQkJICBJUlFMSVNUXzE2KDB4MiksIElSUUxJU1RfMTYoMHgzKSwKLQlJUlFMSVNUXzE2KDB4NCksIElSUUxJU1RfMTYoMHg1KSwgSVJRTElTVF8xNigweDYpLCBJUlFMSVNUXzE2KDB4NyksCi0JSVJRTElTVF8xNigweDgpLCBJUlFMSVNUXzE2KDB4OSksIElSUUxJU1RfMTYoMHhhKSwgSVJRTElTVF8xNigweGIpLAotCUlSUUxJU1RfMTYoMHhjKSwgSVJRTElTVF8xNigweGQpLCBJUlFMSVNUXzE2KDB4ZSksIElSUUxJU1RfMTYoMHhmKQotfTsKLQotI3VuZGVmIElSUQotI3VuZGVmIElSUUxJU1RfMTYKLQotLyoKLSAqIFRoaXMgaXMgdGhlICdsZWdhY3knIDgyNTlBIFByb2dyYW1tYWJsZSBJbnRlcnJ1cHQgQ29udHJvbGxlciwKLSAqIHByZXNlbnQgaW4gdGhlIG1ham9yaXR5IG9mIFBDL0FUIGJveGVzLgotICogcGx1cyBzb21lIGdlbmVyaWMgeDg2IHNwZWNpZmljIHRoaW5ncyBpZiBnZW5lcmljIHNwZWNpZmljcyBtYWtlcwotICogYW55IHNlbnNlIGF0IGFsbC4KLSAqIHRoaXMgZmlsZSBzaG91bGQgYmVjb21lIGFyY2gvaTM4Ni9rZXJuZWwvaXJxLmMgd2hlbiB0aGUgb2xkIGlycS5jCi0gKiBtb3ZlcyB0byBhcmNoIGluZGVwZW5kZW50IGxhbmQKLSAqLwotCi1zdGF0aWMgaW50IGk4MjU5QV9hdXRvX2VvaTsKLURFRklORV9TUElOTE9DSyhpODI1OUFfbG9jayk7Ci1zdGF0aWMgdm9pZCBtYXNrX2FuZF9hY2tfODI1OUEodW5zaWduZWQgaW50KTsKLQotc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBpODI1OUFfY2hpcCA9IHsKLQkubmFtZQkJPSAiWFQtUElDIiwKLQkubWFzawkJPSBkaXNhYmxlXzgyNTlBX2lycSwKLQkuZGlzYWJsZQk9IGRpc2FibGVfODI1OUFfaXJxLAotCS51bm1hc2sJCT0gZW5hYmxlXzgyNTlBX2lycSwKLQkubWFza19hY2sJPSBtYXNrX2FuZF9hY2tfODI1OUEsCi19OwotCi0vKgotICogODI1OUEgUElDIGZ1bmN0aW9ucyB0byBoYW5kbGUgSVNBIGRldmljZXM6Ci0gKi8KLQotLyoKLSAqIFRoaXMgY29udGFpbnMgdGhlIGlycSBtYXNrIGZvciBib3RoIDgyNTlBIGlycSBjb250cm9sbGVycywKLSAqLwotdW5zaWduZWQgaW50IGNhY2hlZF9pcnFfbWFzayA9IDB4ZmZmZjsKLQotLyoKLSAqIE5vdCBhbGwgSVJRcyBjYW4gYmUgcm91dGVkIHRocm91Z2ggdGhlIElPLUFQSUMsIGVnLiBvbiBjZXJ0YWluIChvbGRlcikKLSAqIGJvYXJkcyB0aGUgdGltZXIgaW50ZXJydXB0IGlzIG5vdCByZWFsbHkgY29ubmVjdGVkIHRvIGFueSBJTy1BUElDIHBpbiwKLSAqIGl0J3MgZmVkIHRvIHRoZSBtYXN0ZXIgODI1OUEncyBJUjAgbGluZSBvbmx5LgotICoKLSAqIEFueSAnMScgYml0IGluIHRoaXMgbWFzayBtZWFucyB0aGUgSVJRIGlzIHJvdXRlZCB0aHJvdWdoIHRoZSBJTy1BUElDLgotICogdGhpcyAnbWl4ZWQgbW9kZScgSVJRIGhhbmRsaW5nIGNvc3RzIG5vdGhpbmcgYmVjYXVzZSBpdCdzIG9ubHkgdXNlZAotICogYXQgSVJRIHNldHVwIHRpbWUuCi0gKi8KLXVuc2lnbmVkIGxvbmcgaW9fYXBpY19pcnFzOwotCi12b2lkIGRpc2FibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgaW50IG1hc2sgPSAxIDw8IGlycTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JY2FjaGVkX2lycV9tYXNrIHw9IG1hc2s7Ci0JaWYgKGlycSAmIDgpCi0JCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIFBJQ19TTEFWRV9JTVIpOwotCWVsc2UKLQkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIFBJQ19NQVNURVJfSU1SKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotfQotCi12b2lkIGVuYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBpbnQgbWFzayA9IH4oMSA8PCBpcnEpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQljYWNoZWRfaXJxX21hc2sgJj0gbWFzazsKLQlpZiAoaXJxICYgOCkKLQkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgUElDX1NMQVZFX0lNUik7Ci0JZWxzZQotCQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci19Ci0KLWludCBpODI1OUFfaXJxX3BlbmRpbmcodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBpbnQgbWFzayA9IDE8PGlycTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZXQ7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQlpZiAoaXJxIDwgOCkKLQkJcmV0ID0gaW5iKFBJQ19NQVNURVJfQ01EKSAmIG1hc2s7Ci0JZWxzZQotCQlyZXQgPSBpbmIoUElDX1NMQVZFX0NNRCkgJiAobWFzayA+PiA4KTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCi0JcmV0dXJuIHJldDsKLX0KLQotdm9pZCBtYWtlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCWRpc2FibGVfaXJxX25vc3luYyhpcnEpOwotCWlvX2FwaWNfaXJxcyAmPSB+KDE8PGlycSk7Ci0Jc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaXJxLCAmaTgyNTlBX2NoaXAsIGhhbmRsZV9sZXZlbF9pcnEsCi0JCQkJICAgICAgIlhUIik7Ci0JZW5hYmxlX2lycShpcnEpOwotfQotCi0vKgotICogVGhpcyBmdW5jdGlvbiBhc3N1bWVzIHRvIGJlIGNhbGxlZCByYXJlbHkuIFN3aXRjaGluZyBiZXR3ZWVuCi0gKiA4MjU5QSByZWdpc3RlcnMgaXMgc2xvdy4KLSAqIFRoaXMgaGFzIHRvIGJlIHByb3RlY3RlZCBieSB0aGUgaXJxIGNvbnRyb2xsZXIgc3BpbmxvY2sKLSAqIGJlZm9yZSBiZWluZyBjYWxsZWQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgaW50IGk4MjU5QV9pcnFfcmVhbCh1bnNpZ25lZCBpbnQgaXJxKQotewotCWludCB2YWx1ZTsKLQlpbnQgaXJxbWFzayA9IDE8PGlycTsKLQotCWlmIChpcnEgPCA4KSB7Ci0JCW91dGIoMHgwQixQSUNfTUFTVEVSX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLwotCQl2YWx1ZSA9IGluYihQSUNfTUFTVEVSX0NNRCkgJiBpcnFtYXNrOwotCQlvdXRiKDB4MEEsUElDX01BU1RFUl9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KLQkJcmV0dXJuIHZhbHVlOwotCX0KLQlvdXRiKDB4MEIsUElDX1NMQVZFX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLwotCXZhbHVlID0gaW5iKFBJQ19TTEFWRV9DTUQpICYgKGlycW1hc2sgPj4gOCk7Ci0Jb3V0YigweDBBLFBJQ19TTEFWRV9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KLQlyZXR1cm4gdmFsdWU7Ci19Ci0KLS8qCi0gKiBDYXJlZnVsISBUaGUgODI1OUEgaXMgYSBmcmFnaWxlIGJlYXN0LCBpdCBwcmV0dHkKLSAqIG11Y2ggX2hhc18gdG8gYmUgZG9uZSBleGFjdGx5IGxpa2UgdGhpcyAobWFzayBpdAotICogZmlyc3QsIF90aGVuXyBzZW5kIHRoZSBFT0ksIGFuZCB0aGUgb3JkZXIgb2YgRU9JCi0gKiB0byB0aGUgdHdvIDgyNTlzIGlzIGltcG9ydGFudCEKLSAqLwotc3RhdGljIHZvaWQgbWFza19hbmRfYWNrXzgyNTlBKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgaW50IGlycW1hc2sgPSAxIDw8IGlycTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JLyoKLQkgKiBMaWdodHdlaWdodCBzcHVyaW91cyBJUlEgZGV0ZWN0aW9uLiBXZSBkbyBub3Qgd2FudAotCSAqIHRvIG92ZXJkbyBzcHVyaW91cyBJUlEgaGFuZGxpbmcgLSBpdCdzIHVzdWFsbHkgYSBzaWduCi0JICogb2YgaGFyZHdhcmUgcHJvYmxlbXMsIHNvIHdlIG9ubHkgZG8gdGhlIGNoZWNrcyB3ZSBjYW4KLQkgKiBkbyB3aXRob3V0IHNsb3dpbmcgZG93biBnb29kIGhhcmR3YXJlIHVubmVjZXNzYXJpbHkuCi0JICoKLQkgKiBOb3RlIHRoYXQgSVJRNyBhbmQgSVJRMTUgKHRoZSB0d28gc3B1cmlvdXMgSVJRcwotCSAqIHVzdWFsbHkgcmVzdWx0aW5nIGZyb20gdGhlIDgyNTlBLTF8MiBQSUNzKSBvY2N1cgotCSAqIGV2ZW4gaWYgdGhlIElSUSBpcyBtYXNrZWQgaW4gdGhlIDgyNTlBLiBUaHVzIHdlCi0JICogY2FuIGNoZWNrIHNwdXJpb3VzIDgyNTlBIElSUXMgd2l0aG91dCBkb2luZyB0aGUKLQkgKiBxdWl0ZSBzbG93IGk4MjU5QV9pcnFfcmVhbCgpIGNhbGwgZm9yIGV2ZXJ5IElSUS4KLQkgKiBUaGlzIGRvZXMgbm90IGNvdmVyIDEwMCUgb2Ygc3B1cmlvdXMgaW50ZXJydXB0cywKLQkgKiBidXQgc2hvdWxkIGJlIGVub3VnaCB0byB3YXJuIHRoZSB1c2VyIHRoYXQgdGhlcmUKLQkgKiBpcyBzb21ldGhpbmcgYmFkIGdvaW5nIG9uIC4uLgotCSAqLwotCWlmIChjYWNoZWRfaXJxX21hc2sgJiBpcnFtYXNrKQotCQlnb3RvIHNwdXJpb3VzXzgyNTlBX2lycTsKLQljYWNoZWRfaXJxX21hc2sgfD0gaXJxbWFzazsKLQotaGFuZGxlX3JlYWxfaXJxOgotCWlmIChpcnEgJiA4KSB7Ci0JCWluYihQSUNfU0xBVkVfSU1SKTsJLyogRFVNTVkgLSAoZG8gd2UgbmVlZCB0aGlzPykgKi8KLQkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgUElDX1NMQVZFX0lNUik7Ci0JCS8qICdTcGVjaWZpYyBFT0knIHRvIHNsYXZlICovCi0JCW91dGIoMHg2MCsoaXJxJjcpLFBJQ19TTEFWRV9DTUQpOwotCQkgLyogJ1NwZWNpZmljIEVPSScgdG8gbWFzdGVyLUlSUTIgKi8KLQkJb3V0YigweDYwK1BJQ19DQVNDQURFX0lSLFBJQ19NQVNURVJfQ01EKTsKLQl9IGVsc2UgewotCQlpbmIoUElDX01BU1RFUl9JTVIpOwkvKiBEVU1NWSAtIChkbyB3ZSBuZWVkIHRoaXM/KSAqLwotCQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOwotCQkvKiAnU3BlY2lmaWMgRU9JJyB0byBtYXN0ZXIgKi8KLQkJb3V0YigweDYwK2lycSxQSUNfTUFTVEVSX0NNRCk7Ci0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JcmV0dXJuOwotCi1zcHVyaW91c184MjU5QV9pcnE6Ci0JLyoKLQkgKiB0aGlzIGlzIHRoZSBzbG93IHBhdGggLSBzaG91bGQgaGFwcGVuIHJhcmVseS4KLQkgKi8KLQlpZiAoaTgyNTlBX2lycV9yZWFsKGlycSkpCi0JCS8qCi0JCSAqIG9vcHMsIHRoZSBJUlEgX2lzXyBpbiBzZXJ2aWNlIGFjY29yZGluZyB0byB0aGUKLQkJICogODI1OUEgLSBub3Qgc3B1cmlvdXMsIGdvIGhhbmRsZSBpdC4KLQkJICovCi0JCWdvdG8gaGFuZGxlX3JlYWxfaXJxOwotCi0JewotCQlzdGF0aWMgaW50IHNwdXJpb3VzX2lycV9tYXNrOwotCQkvKgotCQkgKiBBdCB0aGlzIHBvaW50IHdlIGNhbiBiZSBzdXJlIHRoZSBJUlEgaXMgc3B1cmlvdXMsCi0JCSAqIGxldHMgQUNLIGFuZCByZXBvcnQgaXQuIFtvbmNlIHBlciBJUlFdCi0JCSAqLwotCQlpZiAoIShzcHVyaW91c19pcnFfbWFzayAmIGlycW1hc2spKSB7Ci0JCQlwcmludGsoS0VSTl9ERUJVRwotCQkJICAgICAgICJzcHVyaW91cyA4MjU5QSBpbnRlcnJ1cHQ6IElSUSVkLlxuIiwgaXJxKTsKLQkJCXNwdXJpb3VzX2lycV9tYXNrIHw9IGlycW1hc2s7Ci0JCX0KLQkJYXRvbWljX2luYygmaXJxX2Vycl9jb3VudCk7Ci0JCS8qCi0JCSAqIFRoZW9yZXRpY2FsbHkgd2UgZG8gbm90IGhhdmUgdG8gaGFuZGxlIHRoaXMgSVJRLAotCQkgKiBidXQgaW4gTGludXggdGhpcyBkb2VzIG5vdCBjYXVzZSBwcm9ibGVtcyBhbmQgaXMKLQkJICogc2ltcGxlciBmb3IgdXMuCi0JCSAqLwotCQlnb3RvIGhhbmRsZV9yZWFsX2lycTsKLQl9Ci19Ci0KLXN0YXRpYyBjaGFyIGlycV90cmlnZ2VyWzJdOwotLyoqCi0gKiBFTENSIHJlZ2lzdGVycyAoMHg0ZDAsIDB4NGQxKSBjb250cm9sIGVkZ2UvbGV2ZWwgb2YgSVJRCi0gKi8KLXN0YXRpYyB2b2lkIHJlc3RvcmVfRUxDUihjaGFyICp0cmlnZ2VyKQotewotCW91dGIodHJpZ2dlclswXSwgMHg0ZDApOwotCW91dGIodHJpZ2dlclsxXSwgMHg0ZDEpOwotfQotCi1zdGF0aWMgdm9pZCBzYXZlX0VMQ1IoY2hhciAqdHJpZ2dlcikKLXsKLQkvKiBJUlEgMCwxLDIsOCwxMyBhcmUgbWFya2VkIGFzIHJlc2VydmVkICovCi0JdHJpZ2dlclswXSA9IGluYigweDRkMCkgJiAweEY4OwotCXRyaWdnZXJbMV0gPSBpbmIoMHg0ZDEpICYgMHhERTsKLX0KLQotc3RhdGljIGludCBpODI1OUFfcmVzdW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYpCi17Ci0JaW5pdF84MjU5QShpODI1OUFfYXV0b19lb2kpOwotCXJlc3RvcmVfRUxDUihpcnFfdHJpZ2dlcik7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgaTgyNTlBX3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQotewotCXNhdmVfRUxDUihpcnFfdHJpZ2dlcik7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgaTgyNTlBX3NodXRkb3duKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYpCi17Ci0JLyogUHV0IHRoZSBpODI1OUEgaW50byBhIHF1aWVzY2VudCBzdGF0ZSB0aGF0Ci0JICogdGhlIGtlcm5lbCBpbml0aWFsaXphdGlvbiBjb2RlIGNhbiBnZXQgaXQKLQkgKiBvdXQgb2YuCi0JICovCi0Jb3V0YigweGZmLCBQSUNfTUFTVEVSX0lNUik7CS8qIG1hc2sgYWxsIG9mIDgyNTlBLTEgKi8KLQlvdXRiKDB4ZmYsIFBJQ19TTEFWRV9JTVIpOwkvKiBtYXNrIGFsbCBvZiA4MjU5QS0xICovCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzIGk4MjU5X3N5c2Rldl9jbGFzcyA9IHsKLQkubmFtZSA9ICJpODI1OSIsCi0JLnN1c3BlbmQgPSBpODI1OUFfc3VzcGVuZCwKLQkucmVzdW1lID0gaTgyNTlBX3Jlc3VtZSwKLQkuc2h1dGRvd24gPSBpODI1OUFfc2h1dGRvd24sCi19OwotCi1zdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgZGV2aWNlX2k4MjU5QSA9IHsKLQkuaWQJPSAwLAotCS5jbHMJPSAmaTgyNTlfc3lzZGV2X2NsYXNzLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaTgyNTlBX2luaXRfc3lzZnModm9pZCkKLXsKLQlpbnQgZXJyb3IgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmk4MjU5X3N5c2Rldl9jbGFzcyk7Ci0JaWYgKCFlcnJvcikKLQkJZXJyb3IgPSBzeXNkZXZfcmVnaXN0ZXIoJmRldmljZV9pODI1OUEpOwotCXJldHVybiBlcnJvcjsKLX0KLQotZGV2aWNlX2luaXRjYWxsKGk4MjU5QV9pbml0X3N5c2ZzKTsKLQotdm9pZCBpbml0XzgyNTlBKGludCBhdXRvX2VvaSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JaTgyNTlBX2F1dG9fZW9pID0gYXV0b19lb2k7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQotCW91dGIoMHhmZiwgUElDX01BU1RFUl9JTVIpOwkvKiBtYXNrIGFsbCBvZiA4MjU5QS0xICovCi0Jb3V0YigweGZmLCBQSUNfU0xBVkVfSU1SKTsJLyogbWFzayBhbGwgb2YgODI1OUEtMiAqLwotCi0JLyoKLQkgKiBvdXRiX3BpYyAtIHRoaXMgaGFzIHRvIHdvcmsgb24gYSB3aWRlIHJhbmdlIG9mIFBDIGhhcmR3YXJlLgotCSAqLwotCW91dGJfcGljKDB4MTEsIFBJQ19NQVNURVJfQ01EKTsJLyogSUNXMTogc2VsZWN0IDgyNTlBLTEgaW5pdCAqLwotCS8qIElDVzI6IDgyNTlBLTEgSVIwLTcgbWFwcGVkIHRvIDB4MzAtMHgzNyAqLwotCW91dGJfcGljKElSUTBfVkVDVE9SLCBQSUNfTUFTVEVSX0lNUik7Ci0JLyogODI1OUEtMSAodGhlIG1hc3RlcikgaGFzIGEgc2xhdmUgb24gSVIyICovCi0Jb3V0Yl9waWMoMHgwNCwgUElDX01BU1RFUl9JTVIpOwotCWlmIChhdXRvX2VvaSkJLyogbWFzdGVyIGRvZXMgQXV0byBFT0kgKi8KLQkJb3V0Yl9waWMoTUFTVEVSX0lDVzRfREVGQVVMVCB8IFBJQ19JQ1c0X0FFT0ksIFBJQ19NQVNURVJfSU1SKTsKLQllbHNlCQkvKiBtYXN0ZXIgZXhwZWN0cyBub3JtYWwgRU9JICovCi0JCW91dGJfcGljKE1BU1RFUl9JQ1c0X0RFRkFVTFQsIFBJQ19NQVNURVJfSU1SKTsKLQotCW91dGJfcGljKDB4MTEsIFBJQ19TTEFWRV9DTUQpOwkvKiBJQ1cxOiBzZWxlY3QgODI1OUEtMiBpbml0ICovCi0JLyogSUNXMjogODI1OUEtMiBJUjAtNyBtYXBwZWQgdG8gMHgzOC0weDNmICovCi0Jb3V0Yl9waWMoSVJROF9WRUNUT1IsIFBJQ19TTEFWRV9JTVIpOwotCS8qIDgyNTlBLTIgaXMgYSBzbGF2ZSBvbiBtYXN0ZXIncyBJUjIgKi8KLQlvdXRiX3BpYyhQSUNfQ0FTQ0FERV9JUiwgUElDX1NMQVZFX0lNUik7Ci0JLyogKHNsYXZlJ3Mgc3VwcG9ydCBmb3IgQUVPSSBpbiBmbGF0IG1vZGUgaXMgdG8gYmUgaW52ZXN0aWdhdGVkKSAqLwotCW91dGJfcGljKFNMQVZFX0lDVzRfREVGQVVMVCwgUElDX1NMQVZFX0lNUik7Ci0KLQlpZiAoYXV0b19lb2kpCi0JCS8qCi0JCSAqIEluIEFFT0kgbW9kZSB3ZSBqdXN0IGhhdmUgdG8gbWFzayB0aGUgaW50ZXJydXB0Ci0JCSAqIHdoZW4gYWNraW5nLgotCQkgKi8KLQkJaTgyNTlBX2NoaXAubWFza19hY2sgPSBkaXNhYmxlXzgyNTlBX2lycTsKLQllbHNlCi0JCWk4MjU5QV9jaGlwLm1hc2tfYWNrID0gbWFza19hbmRfYWNrXzgyNTlBOwotCi0JdWRlbGF5KDEwMCk7CQkvKiB3YWl0IGZvciA4MjU5QSB0byBpbml0aWFsaXplICovCi0KLQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOyAvKiByZXN0b3JlIG1hc3RlciBJUlEgbWFzayAqLwotCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIFBJQ19TTEFWRV9JTVIpOwkgIC8qIHJlc3RvcmUgc2xhdmUgSVJRIG1hc2sgKi8KLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci19Ci0KLQotCi0KLS8qCi0gKiBJUlEyIGlzIGNhc2NhZGUgaW50ZXJydXB0IHRvIHNlY29uZCBpbnRlcnJ1cHQgY29udHJvbGxlcgotICovCi0KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGlycTIgPSB7Ci0JLmhhbmRsZXIgPSBub19hY3Rpb24sCi0JLm1hc2sgPSBDUFVfTUFTS19OT05FLAotCS5uYW1lID0gImNhc2NhZGUiLAotfTsKLURFRklORV9QRVJfQ1BVKHZlY3Rvcl9pcnFfdCwgdmVjdG9yX2lycSkgPSB7Ci0JWzAgLi4uIElSUTBfVkVDVE9SIC0gMV0gPSAtMSwKLQlbSVJRMF9WRUNUT1JdID0gMCwKLQlbSVJRMV9WRUNUT1JdID0gMSwKLQlbSVJRMl9WRUNUT1JdID0gMiwKLQlbSVJRM19WRUNUT1JdID0gMywKLQlbSVJRNF9WRUNUT1JdID0gNCwKLQlbSVJRNV9WRUNUT1JdID0gNSwKLQlbSVJRNl9WRUNUT1JdID0gNiwKLQlbSVJRN19WRUNUT1JdID0gNywKLQlbSVJROF9WRUNUT1JdID0gOCwKLQlbSVJROV9WRUNUT1JdID0gOSwKLQlbSVJRMTBfVkVDVE9SXSA9IDEwLAotCVtJUlExMV9WRUNUT1JdID0gMTEsCi0JW0lSUTEyX1ZFQ1RPUl0gPSAxMiwKLQlbSVJRMTNfVkVDVE9SXSA9IDEzLAotCVtJUlExNF9WRUNUT1JdID0gMTQsCi0JW0lSUTE1X1ZFQ1RPUl0gPSAxNSwKLQlbSVJRMTVfVkVDVE9SICsgMSAuLi4gTlJfVkVDVE9SUyAtIDFdID0gLTEKLX07Ci0KLXZvaWQgX19pbml0IGluaXRfSVNBX2lycXMgKHZvaWQpCi17Ci0JaW50IGk7Ci0KLQlpbml0X2JzcF9BUElDKCk7Ci0JaW5pdF84MjU5QSgwKTsKLQotCWZvciAoaSA9IDA7IGkgPCBOUl9JUlFTOyBpKyspIHsKLQkJaXJxX2Rlc2NbaV0uc3RhdHVzID0gSVJRX0RJU0FCTEVEOwotCQlpcnFfZGVzY1tpXS5hY3Rpb24gPSBOVUxMOwotCQlpcnFfZGVzY1tpXS5kZXB0aCA9IDE7Ci0KLQkJaWYgKGkgPCAxNikgewotCQkJLyoKLQkJCSAqIDE2IG9sZC1zdHlsZSBJTlRBLWN5Y2xlIGludGVycnVwdHM6Ci0JCQkgKi8KLQkJCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGksICZpODI1OUFfY2hpcCwKLQkJCQkJCSAgICAgIGhhbmRsZV9sZXZlbF9pcnEsICJYVCIpOwotCQl9IGVsc2UgewotCQkJLyoKLQkJCSAqICdoaWdoJyBQQ0kgSVJRcyBmaWxsZWQgaW4gb24gZGVtYW5kCi0JCQkgKi8KLQkJCWlycV9kZXNjW2ldLmNoaXAgPSAmbm9faXJxX2NoaXA7Ci0JCX0KLQl9Ci19Ci0KLXZvaWQgaW5pdF9JUlEodm9pZCkgX19hdHRyaWJ1dGVfXygod2VhaywgYWxpYXMoIm5hdGl2ZV9pbml0X0lSUSIpKSk7Ci0KLXZvaWQgX19pbml0IG5hdGl2ZV9pbml0X0lSUSh2b2lkKQotewotCWludCBpOwotCi0JaW5pdF9JU0FfaXJxcygpOwotCS8qCi0JICogQ292ZXIgdGhlIHdob2xlIHZlY3RvciBzcGFjZSwgbm8gdmVjdG9yIGNhbiBlc2NhcGUKLQkgKiB1cy4gKHNvbWUgb2YgdGhlc2Ugd2lsbCBiZSBvdmVycmlkZGVuIGFuZCBiZWNvbWUKLQkgKiAnc3BlY2lhbCcgU01QIGludGVycnVwdHMpCi0JICovCi0JZm9yIChpID0gMDsgaSA8IChOUl9WRUNUT1JTIC0gRklSU1RfRVhURVJOQUxfVkVDVE9SKTsgaSsrKSB7Ci0JCWludCB2ZWN0b3IgPSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyBpOwotCQlpZiAodmVjdG9yICE9IElBMzJfU1lTQ0FMTF9WRUNUT1IpCi0JCQlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2ldKTsKLQl9Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JLyoKLQkgKiBUaGUgcmVzY2hlZHVsZSBpbnRlcnJ1cHQgaXMgYSBDUFUtdG8tQ1BVIHJlc2NoZWR1bGUtaGVscGVyCi0JICogSVBJLCBkcml2ZW4gYnkgd2FrZXVwLgotCSAqLwotCXNldF9pbnRyX2dhdGUoUkVTQ0hFRFVMRV9WRUNUT1IsIHJlc2NoZWR1bGVfaW50ZXJydXB0KTsKLQotCS8qIElQSXMgZm9yIGludmFsaWRhdGlvbiAqLwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzAsIGludmFsaWRhdGVfaW50ZXJydXB0MCk7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMSwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQxKTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCsyLCBpbnZhbGlkYXRlX2ludGVycnVwdDIpOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzMsIGludmFsaWRhdGVfaW50ZXJydXB0Myk7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNCwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ0KTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs1LCBpbnZhbGlkYXRlX2ludGVycnVwdDUpOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzYsIGludmFsaWRhdGVfaW50ZXJydXB0Nik7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNywgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ3KTsKLQotCS8qIElQSSBmb3IgZ2VuZXJpYyBmdW5jdGlvbiBjYWxsICovCi0Jc2V0X2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpOwotCi0JLyogTG93IHByaW9yaXR5IElQSSB0byBjbGVhbnVwIGFmdGVyIG1vdmluZyBhbiBpcnEgKi8KLQlzZXRfaW50cl9nYXRlKElSUV9NT1ZFX0NMRUFOVVBfVkVDVE9SLCBpcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdCk7Ci0jZW5kaWYKLQlzZXRfaW50cl9nYXRlKFRIRVJNQUxfQVBJQ19WRUNUT1IsIHRoZXJtYWxfaW50ZXJydXB0KTsKLQlzZXRfaW50cl9nYXRlKFRIUkVTSE9MRF9BUElDX1ZFQ1RPUiwgdGhyZXNob2xkX2ludGVycnVwdCk7Ci0KLQkvKiBzZWxmIGdlbmVyYXRlZCBJUEkgZm9yIGxvY2FsIEFQSUMgdGltZXIgKi8KLQlzZXRfaW50cl9nYXRlKExPQ0FMX1RJTUVSX1ZFQ1RPUiwgYXBpY190aW1lcl9pbnRlcnJ1cHQpOwotCi0JLyogSVBJIHZlY3RvcnMgZm9yIEFQSUMgc3B1cmlvdXMgYW5kIGVycm9yIGludGVycnVwdHMgKi8KLQlzZXRfaW50cl9nYXRlKFNQVVJJT1VTX0FQSUNfVkVDVE9SLCBzcHVyaW91c19pbnRlcnJ1cHQpOwotCXNldF9pbnRyX2dhdGUoRVJST1JfQVBJQ19WRUNUT1IsIGVycm9yX2ludGVycnVwdCk7Ci0KLQlpZiAoIWFjcGlfaW9hcGljKQotCQlzZXR1cF9pcnEoMiwgJmlycTIpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzMyLmMKaW5kZXggNGRjODYwMGQ5Li41NThhYmY0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzMyLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CiAjaW5jbHVkZSA8bGludXgvYWNwaS5oPgpAQCAtNTgsNyArNTksNyBAQAogc3RhdGljIERFRklORV9TUElOTE9DSyhpb2FwaWNfbG9jayk7CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHZlY3Rvcl9sb2NrKTsKIAotaW50IHRpbWVyX292ZXJfODI1NCBfX2luaXRkYXRhID0gMTsKK2ludCB0aW1lcl90aHJvdWdoXzgyNTkgX19pbml0ZGF0YTsKIAogLyoKICAqCUlzIHRoZSBTaVMgQVBJQyBybXcgYnVnIHByZXNlbnQgPwpAQCAtNzIsMTUgKzczLDIxIEBACiBpbnQgbnJfaW9hcGljX3JlZ2lzdGVyc1tNQVhfSU9fQVBJQ1NdOwogCiAvKiBJL08gQVBJQyBlbnRyaWVzICovCi1zdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOworc3RydWN0IG1wX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOwogaW50IG5yX2lvYXBpY3M7CiAKIC8qIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwotc3RydWN0IG1wY19jb25maWdfaW50c3JjIG1wX2lycXNbTUFYX0lSUV9TT1VSQ0VTXTsKK3N0cnVjdCBtcF9jb25maWdfaW50c3JjIG1wX2lycXNbTUFYX0lSUV9TT1VSQ0VTXTsKIAogLyogIyBvZiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KIGludCBtcF9pcnFfZW50cmllczsKIAorI2lmIGRlZmluZWQgKENPTkZJR19NQ0EpIHx8IGRlZmluZWQgKENPTkZJR19FSVNBKQoraW50IG1wX2J1c19pZF90b190eXBlW01BWF9NUF9CVVNTRVNdOworI2VuZGlmCisKK0RFQ0xBUkVfQklUTUFQKG1wX2J1c19ub3RfcGNpLCBNQVhfTVBfQlVTU0VTKTsKKwogc3RhdGljIGludCBkaXNhYmxlX3RpbWVyX3Bpbl8xIF9faW5pdGRhdGE7CiAKIC8qCkBAIC0xMTAsNyArMTE3LDcgQEAKIHN0YXRpYyBfX2F0dHJpYnV0ZV9jb25zdF9fIHN0cnVjdCBpb19hcGljIF9faW9tZW0gKmlvX2FwaWNfYmFzZShpbnQgaWR4KQogewogCXJldHVybiAodm9pZCBfX2lvbWVtICopIF9fZml4X3RvX3ZpcnQoRklYX0lPX0FQSUNfQkFTRV8wICsgaWR4KQotCQkrIChtcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNhZGRyICYgflBBR0VfTUFTSyk7CisJCSsgKG1wX2lvYXBpY3NbaWR4XS5tcF9hcGljYWRkciAmIH5QQUdFX01BU0spOwogfQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBpb19hcGljX3JlYWQodW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCByZWcpCkBAIC0yMzksNyArMjQ2LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIF9fbW9kaWZ5X0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxLCB1bnNpZ25lZCBsb25nIGVuYWJsZSwgdW5zaWduZWQgbG9uZyBkaXNhYmxlKQorc3RhdGljIHZvaWQgX19tb2RpZnlfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSwgdW5zaWduZWQgbG9uZyBlbmFibGUsIHVuc2lnbmVkIGxvbmcgZGlzYWJsZSkKIHsKIAlzdHJ1Y3QgaXJxX3Bpbl9saXN0ICplbnRyeSA9IGlycV8yX3BpbiArIGlycTsKIAl1bnNpZ25lZCBpbnQgcGluLCByZWc7CkBAIC0yNTksMzAgKzI2NiwzMiBAQAogfQogCiAvKiBtYXNrID0gMSAqLwotc3RhdGljIHZvaWQgX19tYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgX19tYXNrX0lPX0FQSUNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7Ci0JX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCAweDAwMDEwMDAwLCAwKTsKKwlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIElPX0FQSUNfUkVESVJfTUFTS0VELCAwKTsKIH0KIAogLyogbWFzayA9IDAgKi8KLXN0YXRpYyB2b2lkIF9fdW5tYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgX191bm1hc2tfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKLQlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIDAsIDB4MDAwMTAwMDApOworCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMCwgSU9fQVBJQ19SRURJUl9NQVNLRUQpOwogfQogCiAvKiBtYXNrID0gMSwgdHJpZ2dlciA9IDAgKi8KLXN0YXRpYyB2b2lkIF9fbWFza19hbmRfZWRnZV9JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIF9fbWFza19hbmRfZWRnZV9JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewotCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMHgwMDAxMDAwMCwgMHgwMDAwODAwMCk7CisJX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCBJT19BUElDX1JFRElSX01BU0tFRCwKKwkJCQlJT19BUElDX1JFRElSX0xFVkVMX1RSSUdHRVIpOwogfQogCiAvKiBtYXNrID0gMCwgdHJpZ2dlciA9IDEgKi8KLXN0YXRpYyB2b2lkIF9fdW5tYXNrX2FuZF9sZXZlbF9JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIF9fdW5tYXNrX2FuZF9sZXZlbF9JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewotCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMHgwMDAwODAwMCwgMHgwMDAxMDAwMCk7CisJX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCBJT19BUElDX1JFRElSX0xFVkVMX1RSSUdHRVIsCisJCQkJSU9fQVBJQ19SRURJUl9NQVNLRUQpOwogfQogCi1zdGF0aWMgdm9pZCBtYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgbWFza19JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKQEAgLTI5MSw3ICszMDAsNyBAQAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiB9CiAKLXN0YXRpYyB2b2lkIHVubWFza19JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIHVubWFza19JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKQEAgLTMwMyw3ICszMTIsNyBAQAogc3RhdGljIHZvaWQgY2xlYXJfSU9fQVBJQ19waW4odW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCBwaW4pCiB7CiAJc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgZW50cnk7Ci0JCisKIAkvKiBDaGVjayBkZWxpdmVyeV9tb2RlIHRvIGJlIHN1cmUgd2UncmUgbm90IGNsZWFyaW5nIGFuIFNNSSBwaW4gKi8KIAllbnRyeSA9IGlvYXBpY19yZWFkX2VudHJ5KGFwaWMsIHBpbik7CiAJaWYgKGVudHJ5LmRlbGl2ZXJ5X21vZGUgPT0gZGVzdF9TTUkpCkBAIC0zMTUsNyArMzI0LDcgQEAKIAlpb2FwaWNfbWFza19lbnRyeShhcGljLCBwaW4pOwogfQogCi1zdGF0aWMgdm9pZCBjbGVhcl9JT19BUElDICh2b2lkKQorc3RhdGljIHZvaWQgY2xlYXJfSU9fQVBJQyh2b2lkKQogewogCWludCBhcGljLCBwaW47CiAKQEAgLTMzMiw3ICszNDEsNyBAQAogCXN0cnVjdCBpcnFfcGluX2xpc3QgKmVudHJ5ID0gaXJxXzJfcGluICsgaXJxOwogCXVuc2lnbmVkIGludCBhcGljaWRfdmFsdWU7CiAJY3B1bWFza190IHRtcDsKLQkKKwogCWNwdXNfYW5kKHRtcCwgY3B1bWFzaywgY3B1X29ubGluZV9tYXApOwogCWlmIChjcHVzX2VtcHR5KHRtcCkpCiAJCXRtcCA9IFRBUkdFVF9DUFVTOwpAQCAtMzYxLDcgKzM3MCw3IEBACiAjIGluY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CS8qIGtzdGF0ICovCiAjIGluY2x1ZGUgPGxpbnV4L3NsYWIuaD4JCS8qIGttYWxsb2MoKSAqLwogIyBpbmNsdWRlIDxsaW51eC90aW1lci5oPgotIAorCiAjZGVmaW5lIElSUUJBTEFOQ0VfQ0hFQ0tfQVJDSCAtOTk5CiAjZGVmaW5lIE1BWF9CQUxBTkNFRF9JUlFfSU5URVJWQUwJKDUqSFopCiAjZGVmaW5lIE1JTl9CQUxBTkNFRF9JUlFfSU5URVJWQUwJKEhaLzIpCkBAIC0zNzMsMTQgKzM4MiwxNCBAQAogc3RhdGljIGxvbmcgYmFsYW5jZWRfaXJxX2ludGVydmFsIF9fcmVhZF9tb3N0bHkgPSBNQVhfQkFMQU5DRURfSVJRX0lOVEVSVkFMOwogCiBzdGF0aWMgc3RydWN0IGlycV9jcHVfaW5mbyB7Ci0JdW5zaWduZWQgbG9uZyAqIGxhc3RfaXJxOwotCXVuc2lnbmVkIGxvbmcgKiBpcnFfZGVsdGE7CisJdW5zaWduZWQgbG9uZyAqbGFzdF9pcnE7CisJdW5zaWduZWQgbG9uZyAqaXJxX2RlbHRhOwogCXVuc2lnbmVkIGxvbmcgaXJxOwogfSBpcnFfY3B1X2RhdGFbTlJfQ1BVU107CiAKICNkZWZpbmUgQ1BVX0lSUShjcHUpCQkoaXJxX2NwdV9kYXRhW2NwdV0uaXJxKQotI2RlZmluZSBMQVNUX0NQVV9JUlEoY3B1LGlycSkgICAoaXJxX2NwdV9kYXRhW2NwdV0ubGFzdF9pcnFbaXJxXSkKLSNkZWZpbmUgSVJRX0RFTFRBKGNwdSxpcnEpIAkoaXJxX2NwdV9kYXRhW2NwdV0uaXJxX2RlbHRhW2lycV0pCisjZGVmaW5lIExBU1RfQ1BVX0lSUShjcHUsIGlycSkgICAoaXJxX2NwdV9kYXRhW2NwdV0ubGFzdF9pcnFbaXJxXSkKKyNkZWZpbmUgSVJRX0RFTFRBKGNwdSwgaXJxKSAJKGlycV9jcHVfZGF0YVtjcHVdLmlycV9kZWx0YVtpcnFdKQogCiAjZGVmaW5lIElETEVfRU5PVUdIKGNwdSxub3cpIFwKIAkoaWRsZV9jcHUoY3B1KSAmJiAoKG5vdykgLSBwZXJfY3B1KGlycV9zdGF0LCAoY3B1KSkuaWRsZV90aW1lc3RhbXAgPiAxKSkKQEAgLTQxOSw4ICs0MjgsOCBAQAogCQkJaWYgKGNwdSA9PSAtMSkKIAkJCQljcHUgPSBOUl9DUFVTLTE7CiAJCX0KLQl9IHdoaWxlICghY3B1X29ubGluZShjcHUpIHx8ICFJUlFfQUxMT1dFRChjcHUsYWxsb3dlZF9tYXNrKSB8fAotCQkJKHNlYXJjaF9pZGxlICYmICFJRExFX0VOT1VHSChjcHUsbm93KSkpOworCX0gd2hpbGUgKCFjcHVfb25saW5lKGNwdSkgfHwgIUlSUV9BTExPV0VEKGNwdSwgYWxsb3dlZF9tYXNrKSB8fAorCQkJKHNlYXJjaF9pZGxlICYmICFJRExFX0VOT1VHSChjcHUsIG5vdykpKTsKIAogCXJldHVybiBjcHU7CiB9CkBAIC00MzAsMTUgKzQzOSwxNCBAQAogCXVuc2lnbmVkIGxvbmcgbm93ID0gamlmZmllczsKIAljcHVtYXNrX3QgYWxsb3dlZF9tYXNrOwogCXVuc2lnbmVkIGludCBuZXdfY3B1OwotCQkKKwogCWlmIChpcnFiYWxhbmNlX2Rpc2FibGVkKQotCQlyZXR1cm47IAorCQlyZXR1cm47CiAKIAljcHVzX2FuZChhbGxvd2VkX21hc2ssIGNwdV9vbmxpbmVfbWFwLCBiYWxhbmNlX2lycV9hZmZpbml0eVtpcnFdKTsKIAluZXdfY3B1ID0gbW92ZShjcHUsIGFsbG93ZWRfbWFzaywgbm93LCAxKTsKLQlpZiAoY3B1ICE9IG5ld19jcHUpIHsKKwlpZiAoY3B1ICE9IG5ld19jcHUpCiAJCXNldF9wZW5kaW5nX2lycShpcnEsIGNwdW1hc2tfb2ZfY3B1KG5ld19jcHUpKTsKLQl9CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCByb3RhdGVfaXJxc19hbW9uZ19jcHVzKHVuc2lnbmVkIGxvbmcgdXNlZnVsX2xvYWRfdGhyZXNob2xkKQpAQCAtNDUwLDE0ICs0NTgsMTQgQEAKIAkJCWlmICghaXJxX2Rlc2Nbal0uYWN0aW9uKQogCQkJCWNvbnRpbnVlOwogCQkJLyogSXMgaXQgYSBzaWduaWZpY2FudCBsb2FkID8gICovCi0JCQlpZiAoSVJRX0RFTFRBKENQVV9UT19QQUNLQUdFSU5ERVgoaSksaikgPAorCQkJaWYgKElSUV9ERUxUQShDUFVfVE9fUEFDS0FHRUlOREVYKGkpLCBqKSA8CiAJCQkJCQl1c2VmdWxfbG9hZF90aHJlc2hvbGQpCiAJCQkJY29udGludWU7CiAJCQliYWxhbmNlX2lycShpLCBqKTsKIAkJfQogCX0KIAliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgPSBtYXgoKGxvbmcpTUlOX0JBTEFOQ0VEX0lSUV9JTlRFUlZBTCwKLQkJYmFsYW5jZWRfaXJxX2ludGVydmFsIC0gQkFMQU5DRURfSVJRX0xFU1NfREVMVEEpOwkKKwkJYmFsYW5jZWRfaXJxX2ludGVydmFsIC0gQkFMQU5DRURfSVJRX0xFU1NfREVMVEEpOwogCXJldHVybjsKIH0KIApAQCAtNDg2LDIyICs0OTQsMjIgQEAKIAkJCS8qIElzIHRoaXMgYW4gYWN0aXZlIElSUSBvciBiYWxhbmNpbmcgZGlzYWJsZWQgPyAqLwogCQkJaWYgKCFpcnFfZGVzY1tqXS5hY3Rpb24gfHwgaXJxX2JhbGFuY2luZ19kaXNhYmxlZChqKSkKIAkJCQljb250aW51ZTsKLQkJCWlmICggcGFja2FnZV9pbmRleCA9PSBpICkKLQkJCQlJUlFfREVMVEEocGFja2FnZV9pbmRleCxqKSA9IDA7CisJCQlpZiAocGFja2FnZV9pbmRleCA9PSBpKQorCQkJCUlSUV9ERUxUQShwYWNrYWdlX2luZGV4LCBqKSA9IDA7CiAJCQkvKiBEZXRlcm1pbmUgdGhlIHRvdGFsIGNvdW50IHBlciBwcm9jZXNzb3IgcGVyIElSUSAqLwogCQkJdmFsdWVfbm93ID0gKHVuc2lnbmVkIGxvbmcpIGtzdGF0X2NwdShpKS5pcnFzW2pdOwogCiAJCQkvKiBEZXRlcm1pbmUgdGhlIGFjdGl2aXR5IHBlciBwcm9jZXNzb3IgcGVyIElSUSAqLwotCQkJZGVsdGEgPSB2YWx1ZV9ub3cgLSBMQVNUX0NQVV9JUlEoaSxqKTsKKwkJCWRlbHRhID0gdmFsdWVfbm93IC0gTEFTVF9DUFVfSVJRKGksIGopOwogCiAJCQkvKiBVcGRhdGUgbGFzdF9jcHVfaXJxW11bXSBmb3IgdGhlIG5leHQgdGltZSAqLwotCQkJTEFTVF9DUFVfSVJRKGksaikgPSB2YWx1ZV9ub3c7CisJCQlMQVNUX0NQVV9JUlEoaSwgaikgPSB2YWx1ZV9ub3c7CiAKIAkJCS8qIElnbm9yZSBJUlFzIHdob3NlIHJhdGUgaXMgbGVzcyB0aGFuIHRoZSBjbG9jayAqLwogCQkJaWYgKGRlbHRhIDwgdXNlZnVsX2xvYWRfdGhyZXNob2xkKQogCQkJCWNvbnRpbnVlOwogCQkJLyogdXBkYXRlIHRoZSBsb2FkIGZvciB0aGUgcHJvY2Vzc29yIG9yIHBhY2thZ2UgdG90YWwgKi8KLQkJCUlSUV9ERUxUQShwYWNrYWdlX2luZGV4LGopICs9IGRlbHRhOworCQkJSVJRX0RFTFRBKHBhY2thZ2VfaW5kZXgsIGopICs9IGRlbHRhOwogCiAJCQkvKiBLZWVwIHRyYWNrIG9mIHRoZSBoaWdoZXIgbnVtYmVyZWQgc2libGluZyBhcyB3ZWxsICovCiAJCQlpZiAoaSAhPSBwYWNrYWdlX2luZGV4KQpAQCAtNTI3LDcgKzUzNSw4IEBACiAJbWF4X2NwdV9pcnEgPSBVTE9OR19NQVg7CiAKIHRyeWFub3RoZXJjcHU6Ci0JLyogTG9vayBmb3IgaGVhdmllc3QgbG9hZGVkIHByb2Nlc3Nvci4KKwkvKgorCSAqIExvb2sgZm9yIGhlYXZpZXN0IGxvYWRlZCBwcm9jZXNzb3IuCiAJICogV2UgbWF5IGNvbWUgYmFjayB0byBnZXQgdGhlIG5leHQgaGVhdmllc3QgbG9hZGVkIHByb2Nlc3Nvci4KIAkgKiBTa2lwIHByb2Nlc3NvcnMgd2l0aCB0cml2aWFsIGxvYWRzLgogCSAqLwpAQCAtNTM2LDcgKzU0NSw3IEBACiAJZm9yX2VhY2hfb25saW5lX2NwdShpKSB7CiAJCWlmIChpICE9IENQVV9UT19QQUNLQUdFSU5ERVgoaSkpCiAJCQljb250aW51ZTsKLQkJaWYgKG1heF9jcHVfaXJxIDw9IENQVV9JUlEoaSkpIAorCQlpZiAobWF4X2NwdV9pcnEgPD0gQ1BVX0lSUShpKSkKIAkJCWNvbnRpbnVlOwogCQlpZiAodG1wX2NwdV9pcnEgPCBDUFVfSVJRKGkpKSB7CiAJCQl0bXBfY3B1X2lycSA9IENQVV9JUlEoaSk7CkBAIC01NDUsOCArNTU0LDkgQEAKIAl9CiAKIAlpZiAodG1wX2xvYWRlZCA9PSAtMSkgewotIAkgLyogSW4gdGhlIGNhc2Ugb2Ygc21hbGwgbnVtYmVyIG9mIGhlYXZ5IGludGVycnVwdCBzb3VyY2VzLCAKLQkgICogbG9hZGluZyBzb21lIG9mIHRoZSBjcHVzIHRvbyBtdWNoLiBXZSB1c2UgSW5nbydzIG9yaWdpbmFsIAorCSAvKgorCSAgKiBJbiB0aGUgY2FzZSBvZiBzbWFsbCBudW1iZXIgb2YgaGVhdnkgaW50ZXJydXB0IHNvdXJjZXMsCisJICAqIGxvYWRpbmcgc29tZSBvZiB0aGUgY3B1cyB0b28gbXVjaC4gV2UgdXNlIEluZ28ncyBvcmlnaW5hbAogCSAgKiBhcHByb2FjaCB0byByb3RhdGUgdGhlbSBhcm91bmQuCiAJICAqLwogCQlpZiAoIWZpcnN0X2F0dGVtcHQgJiYgaW1iYWxhbmNlID49IHVzZWZ1bF9sb2FkX3RocmVzaG9sZCkgewpAQCAtNTU1LDEzICs1NjUsMTQgQEAKIAkJfQogCQlnb3RvIG5vdF93b3J0aF90aGVfZWZmb3J0OwogCX0KLQkKKwogCWZpcnN0X2F0dGVtcHQgPSAwOwkJLyogaGVhdmllc3Qgc2VhcmNoICovCiAJbWF4X2NwdV9pcnEgPSB0bXBfY3B1X2lycTsJLyogbG9hZCAqLwogCW1heF9sb2FkZWQgPSB0bXBfbG9hZGVkOwkvKiBwcm9jZXNzb3IgKi8KIAlpbWJhbGFuY2UgPSAobWF4X2NwdV9pcnEgLSBtaW5fY3B1X2lycSkgLyAyOwotCQotCS8qIGlmIGltYmFsYW5jZSBpcyBsZXNzIHRoYW4gYXBwcm94IDEwJSBvZiBtYXggbG9hZCwgdGhlbgorCisJLyoKKwkgKiBpZiBpbWJhbGFuY2UgaXMgbGVzcyB0aGFuIGFwcHJveCAxMCUgb2YgbWF4IGxvYWQsIHRoZW4KIAkgKiBvYnNlcnZlIGRpbWluaXNoaW5nIHJldHVybnMgYWN0aW9uLiAtIHF1aXQKIAkgKi8KIAlpZiAoaW1iYWxhbmNlIDwgKG1heF9jcHVfaXJxID4+IDMpKQpAQCAtNTc3LDI2ICs1ODgsMjUgQEAKIAkJLyogSXMgdGhpcyBhbiBhY3RpdmUgSVJRPyAqLwogCQlpZiAoIWlycV9kZXNjW2pdLmFjdGlvbikKIAkJCWNvbnRpbnVlOwotCQlpZiAoaW1iYWxhbmNlIDw9IElSUV9ERUxUQShtYXhfbG9hZGVkLGopKQorCQlpZiAoaW1iYWxhbmNlIDw9IElSUV9ERUxUQShtYXhfbG9hZGVkLCBqKSkKIAkJCWNvbnRpbnVlOwogCQkvKiBUcnkgdG8gZmluZCB0aGUgSVJRIHRoYXQgaXMgY2xvc2VzdCB0byB0aGUgaW1iYWxhbmNlCiAJCSAqIHdpdGhvdXQgZ29pbmcgb3Zlci4KIAkJICovCi0JCWlmIChtb3ZlX3RoaXNfbG9hZCA8IElSUV9ERUxUQShtYXhfbG9hZGVkLGopKSB7Ci0JCQltb3ZlX3RoaXNfbG9hZCA9IElSUV9ERUxUQShtYXhfbG9hZGVkLGopOworCQlpZiAobW92ZV90aGlzX2xvYWQgPCBJUlFfREVMVEEobWF4X2xvYWRlZCwgaikpIHsKKwkJCW1vdmVfdGhpc19sb2FkID0gSVJRX0RFTFRBKG1heF9sb2FkZWQsIGopOwogCQkJc2VsZWN0ZWRfaXJxID0gajsKIAkJfQogCX0KLQlpZiAoc2VsZWN0ZWRfaXJxID09IC0xKSB7CisJaWYgKHNlbGVjdGVkX2lycSA9PSAtMSkKIAkJZ290byB0cnlhbm90aGVyY3B1OwotCX0KIAogCWltYmFsYW5jZSA9IG1vdmVfdGhpc19sb2FkOwotCQorCiAJLyogRm9yIHBoeXNpY2FsX2JhbGFuY2UgY2FzZSwgd2UgYWNjdW11bGF0ZWQgYm90aCBsb2FkCiAJICogdmFsdWVzIGluIHRoZSBvbmUgb2YgdGhlIHNpYmxpbmdzIGNwdV9pcnFbXSwKIAkgKiB0byB1c2UgdGhlIHNhbWUgY29kZSBmb3IgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgcHJvY2Vzc29ycwotCSAqIGFzIG11Y2ggYXMgcG9zc2libGUuIAorCSAqIGFzIG11Y2ggYXMgcG9zc2libGUuCiAJICoKIAkgKiBOT1RFOiB0aGUgY3B1X2lycVtdIGFycmF5IGhvbGRzIHRoZSBzdW0gb2YgdGhlIGxvYWQgZm9yCiAJICogc2libGluZyBBIGFuZCBzaWJsaW5nIEIgaW4gdGhlIHNsb3QgZm9yIHRoZSBsb3dlc3QgbnVtYmVyZWQKQEAgLTYyNSwxMSArNjM1LDExIEBACiAJCS8qIG1hcmsgZm9yIGNoYW5nZSBkZXN0aW5hdGlvbiAqLwogCQlzZXRfcGVuZGluZ19pcnEoc2VsZWN0ZWRfaXJxLCBjcHVtYXNrX29mX2NwdShtaW5fbG9hZGVkKSk7CiAKLQkJLyogU2luY2Ugd2UgbWFkZSBhIGNoYW5nZSwgY29tZSBiYWNrIHNvb25lciB0byAKKwkJLyogU2luY2Ugd2UgbWFkZSBhIGNoYW5nZSwgY29tZSBiYWNrIHNvb25lciB0bwogCQkgKiBjaGVjayBmb3IgbW9yZSB2YXJpYXRpb24uCiAJCSAqLwogCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgPSBtYXgoKGxvbmcpTUlOX0JBTEFOQ0VEX0lSUV9JTlRFUlZBTCwKLQkJCWJhbGFuY2VkX2lycV9pbnRlcnZhbCAtIEJBTEFOQ0VEX0lSUV9MRVNTX0RFTFRBKTsJCisJCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgLSBCQUxBTkNFRF9JUlFfTEVTU19ERUxUQSk7CiAJCXJldHVybjsKIAl9CiAJZ290byB0cnlhbm90aGVyaXJxOwpAQCAtNjQwLDcgKzY1MCw3IEBACiAJICogdXB3YXJkCiAJICovCiAJYmFsYW5jZWRfaXJxX2ludGVydmFsID0gbWluKChsb25nKU1BWF9CQUxBTkNFRF9JUlFfSU5URVJWQUwsCi0JCWJhbGFuY2VkX2lycV9pbnRlcnZhbCArIEJBTEFOQ0VEX0lSUV9NT1JFX0RFTFRBKTsJCisJCWJhbGFuY2VkX2lycV9pbnRlcnZhbCArIEJBTEFOQ0VEX0lSUV9NT1JFX0RFTFRBKTsKIAlyZXR1cm47CiB9CiAKQEAgLTY3OSwxMyArNjg5LDEzIEBACiAJY3B1bWFza190IHRtcDsKIAogCWNwdXNfc2hpZnRfcmlnaHQodG1wLCBjcHVfb25saW5lX21hcCwgMik7Ci0gICAgICAgIGMgPSAmYm9vdF9jcHVfZGF0YTsKKwljID0gJmJvb3RfY3B1X2RhdGE7CiAJLyogV2hlbiBub3Qgb3ZlcndyaXR0ZW4gYnkgdGhlIGNvbW1hbmQgbGluZSBhc2sgc3ViYXJjaGl0ZWN0dXJlLiAqLwogCWlmIChpcnFiYWxhbmNlX2Rpc2FibGVkID09IElSUUJBTEFOQ0VfQ0hFQ0tfQVJDSCkKIAkJaXJxYmFsYW5jZV9kaXNhYmxlZCA9IE5PX0JBTEFOQ0VfSVJROwogCWlmIChpcnFiYWxhbmNlX2Rpc2FibGVkKQogCQlyZXR1cm4gMDsKLQkKKwogCSAvKiBkaXNhYmxlIGlycWJhbGFuY2UgY29tcGxldGVseSBpZiB0aGVyZSBpcyBvbmx5IG9uZSBwcm9jZXNzb3Igb25saW5lICovCiAJaWYgKG51bV9vbmxpbmVfY3B1cygpIDwgMikgewogCQlpcnFiYWxhbmNlX2Rpc2FibGVkID0gMTsKQEAgLTY5OSwxNiArNzA5LDE0IEBACiAJCXBoeXNpY2FsX2JhbGFuY2UgPSAxOwogCiAJZm9yX2VhY2hfb25saW5lX2NwdShpKSB7Ci0JCWlycV9jcHVfZGF0YVtpXS5pcnFfZGVsdGEgPSBrbWFsbG9jKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMsIEdGUF9LRVJORUwpOwotCQlpcnFfY3B1X2RhdGFbaV0ubGFzdF9pcnEgPSBrbWFsbG9jKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMsIEdGUF9LRVJORUwpOworCQlpcnFfY3B1X2RhdGFbaV0uaXJxX2RlbHRhID0ga3phbGxvYyhzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTLCBHRlBfS0VSTkVMKTsKKwkJaXJxX2NwdV9kYXRhW2ldLmxhc3RfaXJxID0ga3phbGxvYyhzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTLCBHRlBfS0VSTkVMKTsKIAkJaWYgKGlycV9jcHVfZGF0YVtpXS5pcnFfZGVsdGEgPT0gTlVMTCB8fCBpcnFfY3B1X2RhdGFbaV0ubGFzdF9pcnEgPT0gTlVMTCkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJiYWxhbmNlZF9pcnFfaW5pdDogb3V0IG9mIG1lbW9yeSIpOwogCQkJZ290byBmYWlsZWQ7CiAJCX0KLQkJbWVtc2V0KGlycV9jcHVfZGF0YVtpXS5pcnFfZGVsdGEsMCxzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTKTsKLQkJbWVtc2V0KGlycV9jcHVfZGF0YVtpXS5sYXN0X2lycSwwLHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMpOwogCX0KLQkKKwogCXByaW50ayhLRVJOX0lORk8gIlN0YXJ0aW5nIGJhbGFuY2VkX2lycVxuIik7CiAJaWYgKCFJU19FUlIoa3RocmVhZF9ydW4oYmFsYW5jZWRfaXJxLCBOVUxMLCAia2lycWQiKSkpCiAJCXJldHVybiAwOwpAQCAtODAxLDEwICs4MDksMTAgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKQotCQlpZiAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSB0eXBlICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgfHwKLQkJICAgICBtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IE1QX0FQSUNfQUxMKSAmJgotCQkgICAgbXBfaXJxc1tpXS5tcGNfZHN0aXJxID09IHBpbikKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSB0eXBlICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9kc3RhcGljID09IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkIHx8CisJCSAgICAgbXBfaXJxc1tpXS5tcF9kc3RhcGljID09IE1QX0FQSUNfQUxMKSAmJgorCQkgICAgbXBfaXJxc1tpXS5tcF9kc3RpcnEgPT0gcGluKQogCQkJcmV0dXJuIGk7CiAKIAlyZXR1cm4gLTE7CkBAIC04MTgsMTMgKzgyNiwxMyBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJaWYgKHRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gaXJxKSkKKwkJICAgIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSkgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBpcnEpKQogCi0JCQlyZXR1cm4gbXBfaXJxc1tpXS5tcGNfZHN0aXJxOworCQkJcmV0dXJuIG1wX2lycXNbaV0ubXBfZHN0aXJxOwogCX0KIAlyZXR1cm4gLTE7CiB9CkBAIC04MzQsMTcgKzg0MiwxNyBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJaWYgKHRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gaXJxKSkKKwkJICAgIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSkgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBpcnEpKQogCQkJYnJlYWs7CiAJfQogCWlmIChpIDwgbXBfaXJxX2VudHJpZXMpIHsKIAkJaW50IGFwaWM7Ci0JCWZvcihhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgewotCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wY19kc3RhcGljKQorCQlmb3IgKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKSB7CisJCQlpZiAobXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPT0gbXBfaXJxc1tpXS5tcF9kc3RhcGljKQogCQkJCXJldHVybiBhcGljOwogCQl9CiAJfQpAQCAtODY0LDI4ICs4NzIsMjggQEAKIAogCWFwaWNfcHJpbnRrKEFQSUNfREVCVUcsICJxdWVyeWluZyBQQ0kgLT4gSVJRIG1hcHBpbmcgYnVzOiVkLCAiCiAJCSJzbG90OiVkLCBwaW46JWQuXG4iLCBidXMsIHNsb3QsIHBpbik7Ci0JaWYgKG1wX2J1c19pZF90b19wY2lfYnVzW2J1c10gPT0gLTEpIHsKKwlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiUENJIEJJT1MgcGFzc2VkIG5vbmV4aXN0ZW50IFBDSSBidXMgJWQhXG4iLCBidXMpOwogCQlyZXR1cm4gLTE7CiAJfQogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7Ci0JCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcGNfc3JjYnVzOworCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBfc3JjYnVzOwogCiAJCWZvciAoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspCi0JCQlpZiAobXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkID09IG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgfHwKLQkJCSAgICBtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IE1QX0FQSUNfQUxMKQorCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID09IG1wX2lycXNbaV0ubXBfZHN0YXBpYyB8fAorCQkJICAgIG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkKIAkJCQlicmVhazsKIAogCQlpZiAoIXRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgIW1wX2lycXNbaV0ubXBjX2lycXR5cGUgJiYKKwkJICAgICFtcF9pcnFzW2ldLm1wX2lycXR5cGUgJiYKIAkJICAgIChidXMgPT0gbGJ1cykgJiYKLQkJICAgIChzbG90ID09ICgobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID4+IDIpICYgMHgxZikpKSB7Ci0JCQlpbnQgaXJxID0gcGluXzJfaXJxKGksYXBpYyxtcF9pcnFzW2ldLm1wY19kc3RpcnEpOworCQkgICAgKHNsb3QgPT0gKChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA+PiAyKSAmIDB4MWYpKSkgeworCQkJaW50IGlycSA9IHBpbl8yX2lycShpLCBhcGljLCBtcF9pcnFzW2ldLm1wX2RzdGlycSk7CiAKIAkJCWlmICghKGFwaWMgfHwgSU9fQVBJQ19JUlEoaXJxKSkpCiAJCQkJY29udGludWU7CiAKLQkJCWlmIChwaW4gPT0gKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSAmIDMpKQorCQkJaWYgKHBpbiA9PSAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgJiAzKSkKIAkJCQlyZXR1cm4gaXJxOwogCQkJLyoKIAkJCSAqIFVzZSB0aGUgZmlyc3QgYWxsLWJ1dC1waW4gbWF0Y2hpbmcgZW50cnkgYXMgYQpAQCAtOTAwLDcgKzkwOCw3IEBACiBFWFBPUlRfU1lNQk9MKElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKTsKIAogLyoKLSAqIFRoaXMgZnVuY3Rpb24gY3VycmVudGx5IGlzIG9ubHkgYSBoZWxwZXIgZm9yIHRoZSBpMzg2IHNtcCBib290IHByb2Nlc3Mgd2hlcmUgCisgKiBUaGlzIGZ1bmN0aW9uIGN1cnJlbnRseSBpcyBvbmx5IGEgaGVscGVyIGZvciB0aGUgaTM4NiBzbXAgYm9vdCBwcm9jZXNzIHdoZXJlCiAgKiB3ZSBuZWVkIHRvIHJlcHJvZ3JhbSB0aGUgaW9yZWR0YmxzIHRvIGNhdGVyIGZvciB0aGUgY3B1cyB3aGljaCBoYXZlIGNvbWUgb25saW5lCiAgKiBzbyBtYXNrIGluIGFsbCBjYXNlcyBzaG91bGQgc2ltcGx5IGJlIFRBUkdFVF9DUFVTCiAgKi8KQEAgLTk1Miw3ICs5NjAsNyBAQAogICogRUlTQSBjb25mb3JtaW5nIGluIHRoZSBNUCB0YWJsZSwgdGhhdCBtZWFucyBpdHMgdHJpZ2dlciB0eXBlIG11c3QKICAqIGJlIHJlYWQgaW4gZnJvbSB0aGUgRUxDUiAqLwogCi0jZGVmaW5lIGRlZmF1bHRfRUlTQV90cmlnZ2VyKGlkeCkJKEVJU0FfRUxDUihtcF9pcnFzW2lkeF0ubXBjX3NyY2J1c2lycSkpCisjZGVmaW5lIGRlZmF1bHRfRUlTQV90cmlnZ2VyKGlkeCkJKEVJU0FfRUxDUihtcF9pcnFzW2lkeF0ubXBfc3JjYnVzaXJxKSkKICNkZWZpbmUgZGVmYXVsdF9FSVNBX3BvbGFyaXR5KGlkeCkJZGVmYXVsdF9JU0FfcG9sYXJpdHkoaWR4KQogCiAvKiBQQ0kgaW50ZXJydXB0cyBhcmUgYWx3YXlzIHBvbGFyaXR5IG9uZSBsZXZlbCB0cmlnZ2VyZWQsCkBAIC05NjksMTE3ICs5NzcsMTE0IEBACiAKIHN0YXRpYyBpbnQgTVBCSU9TX3BvbGFyaXR5KGludCBpZHgpCiB7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCWludCBwb2xhcml0eTsKIAogCS8qCiAJICogRGV0ZXJtaW5lIElSUSBsaW5lIHBvbGFyaXR5IChoaWdoIGFjdGl2ZSBvciBsb3cgYWN0aXZlKToKIAkgKi8KLQlzd2l0Y2ggKG1wX2lycXNbaWR4XS5tcGNfaXJxZmxhZyAmIDMpCisJc3dpdGNoIChtcF9pcnFzW2lkeF0ubXBfaXJxZmxhZyAmIDMpIHsKKwljYXNlIDA6IC8qIGNvbmZvcm1zLCBpZS4gYnVzLXR5cGUgZGVwZW5kZW50IHBvbGFyaXR5ICovCiAJewotCQljYXNlIDA6IC8qIGNvbmZvcm1zLCBpZS4gYnVzLXR5cGUgZGVwZW5kZW50IHBvbGFyaXR5ICovCi0JCXsKLQkJCXBvbGFyaXR5ID0gdGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSk/Ci0JCQkJZGVmYXVsdF9JU0FfcG9sYXJpdHkoaWR4KToKLQkJCQlkZWZhdWx0X1BDSV9wb2xhcml0eShpZHgpOwotCQkJYnJlYWs7Ci0JCX0KLQkJY2FzZSAxOiAvKiBoaWdoIGFjdGl2ZSAqLwotCQl7Ci0JCQlwb2xhcml0eSA9IDA7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDI6IC8qIHJlc2VydmVkICovCi0JCXsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOwotCQkJcG9sYXJpdHkgPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJY2FzZSAzOiAvKiBsb3cgYWN0aXZlICovCi0JCXsKLQkJCXBvbGFyaXR5ID0gMTsKLQkJCWJyZWFrOwotCQl9Ci0JCWRlZmF1bHQ6IC8qIGludmFsaWQgKi8KLQkJewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7Ci0JCQlwb2xhcml0eSA9IDE7Ci0JCQlicmVhazsKLQkJfQorCQlwb2xhcml0eSA9IHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpPworCQkJZGVmYXVsdF9JU0FfcG9sYXJpdHkoaWR4KToKKwkJCWRlZmF1bHRfUENJX3BvbGFyaXR5KGlkeCk7CisJCWJyZWFrOworCX0KKwljYXNlIDE6IC8qIGhpZ2ggYWN0aXZlICovCisJeworCQlwb2xhcml0eSA9IDA7CisJCWJyZWFrOworCX0KKwljYXNlIDI6IC8qIHJlc2VydmVkICovCisJeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJcG9sYXJpdHkgPSAxOworCQlicmVhazsKKwl9CisJY2FzZSAzOiAvKiBsb3cgYWN0aXZlICovCisJeworCQlwb2xhcml0eSA9IDE7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OiAvKiBpbnZhbGlkICovCisJeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJcG9sYXJpdHkgPSAxOworCQlicmVhazsKKwl9CiAJfQogCXJldHVybiBwb2xhcml0eTsKIH0KIAogc3RhdGljIGludCBNUEJJT1NfdHJpZ2dlcihpbnQgaWR4KQogewotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAlpbnQgdHJpZ2dlcjsKIAogCS8qCiAJICogRGV0ZXJtaW5lIElSUSB0cmlnZ2VyIG1vZGUgKGVkZ2Ugb3IgbGV2ZWwgc2Vuc2l0aXZlKToKIAkgKi8KLQlzd2l0Y2ggKChtcF9pcnFzW2lkeF0ubXBjX2lycWZsYWc+PjIpICYgMykKKwlzd2l0Y2ggKChtcF9pcnFzW2lkeF0ubXBfaXJxZmxhZz4+MikgJiAzKSB7CisJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCAqLwogCXsKLQkJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCAqLwotCQl7Ci0JCQl0cmlnZ2VyID0gdGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSk/Ci0JCQkJCWRlZmF1bHRfSVNBX3RyaWdnZXIoaWR4KToKLQkJCQkJZGVmYXVsdF9QQ0lfdHJpZ2dlcihpZHgpOworCQl0cmlnZ2VyID0gdGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSk/CisJCQkJZGVmYXVsdF9JU0FfdHJpZ2dlcihpZHgpOgorCQkJCWRlZmF1bHRfUENJX3RyaWdnZXIoaWR4KTsKICNpZiBkZWZpbmVkKENPTkZJR19FSVNBKSB8fCBkZWZpbmVkKENPTkZJR19NQ0EpCi0JCQlzd2l0Y2ggKG1wX2J1c19pZF90b190eXBlW2J1c10pCi0JCQl7Ci0JCQkJY2FzZSBNUF9CVVNfSVNBOiAvKiBJU0EgcGluICovCi0JCQkJewotCQkJCQkvKiBzZXQgYmVmb3JlIHRoZSBzd2l0Y2ggKi8KLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJCWNhc2UgTVBfQlVTX0VJU0E6IC8qIEVJU0EgcGluICovCi0JCQkJewotCQkJCQl0cmlnZ2VyID0gZGVmYXVsdF9FSVNBX3RyaWdnZXIoaWR4KTsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJCWNhc2UgTVBfQlVTX1BDSTogLyogUENJIHBpbiAqLwotCQkJCXsKLQkJCQkJLyogc2V0IGJlZm9yZSB0aGUgc3dpdGNoICovCi0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCQljYXNlIE1QX0JVU19NQ0E6IC8qIE1DQSBwaW4gKi8KLQkJCQl7Ci0JCQkJCXRyaWdnZXIgPSBkZWZhdWx0X01DQV90cmlnZ2VyKGlkeCk7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCQlkZWZhdWx0OgotCQkJCXsKLQkJCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7Ci0JCQkJCXRyaWdnZXIgPSAxOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQl9CisJCXN3aXRjaCAobXBfYnVzX2lkX3RvX3R5cGVbYnVzXSkgeworCQljYXNlIE1QX0JVU19JU0E6IC8qIElTQSBwaW4gKi8KKwkJeworCQkJLyogc2V0IGJlZm9yZSB0aGUgc3dpdGNoICovCisJCQlicmVhazsKKwkJfQorCQljYXNlIE1QX0JVU19FSVNBOiAvKiBFSVNBIHBpbiAqLworCQl7CisJCQl0cmlnZ2VyID0gZGVmYXVsdF9FSVNBX3RyaWdnZXIoaWR4KTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgTVBfQlVTX1BDSTogLyogUENJIHBpbiAqLworCQl7CisJCQkvKiBzZXQgYmVmb3JlIHRoZSBzd2l0Y2ggKi8KKwkJCWJyZWFrOworCQl9CisJCWNhc2UgTVBfQlVTX01DQTogLyogTUNBIHBpbiAqLworCQl7CisJCQl0cmlnZ2VyID0gZGVmYXVsdF9NQ0FfdHJpZ2dlcihpZHgpOworCQkJYnJlYWs7CisJCX0KKwkJZGVmYXVsdDoKKwkJeworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7CisJCQl0cmlnZ2VyID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQogI2VuZGlmCi0JCQlicmVhazsKLQkJfQotCQljYXNlIDE6IC8qIGVkZ2UgKi8KLQkJewotCQkJdHJpZ2dlciA9IDA7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDI6IC8qIHJlc2VydmVkICovCi0JCXsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOwotCQkJdHJpZ2dlciA9IDE7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDM6IC8qIGxldmVsICovCi0JCXsKLQkJCXRyaWdnZXIgPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJZGVmYXVsdDogLyogaW52YWxpZCAqLwotCQl7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKLQkJCXRyaWdnZXIgPSAwOwotCQkJYnJlYWs7Ci0JCX0KKwkJYnJlYWs7CisJfQorCWNhc2UgMTogLyogZWRnZSAqLworCXsKKwkJdHJpZ2dlciA9IDA7CisJCWJyZWFrOworCX0KKwljYXNlIDI6IC8qIHJlc2VydmVkICovCisJeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJdHJpZ2dlciA9IDE7CisJCWJyZWFrOworCX0KKwljYXNlIDM6IC8qIGxldmVsICovCisJeworCQl0cmlnZ2VyID0gMTsKKwkJYnJlYWs7CisJfQorCWRlZmF1bHQ6IC8qIGludmFsaWQgKi8KKwl7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOworCQl0cmlnZ2VyID0gMDsKKwkJYnJlYWs7CisJfQogCX0KIAlyZXR1cm4gdHJpZ2dlcjsKIH0KQEAgLTEwOTcsMTYgKzExMDIsMTYgQEAKIHN0YXRpYyBpbnQgcGluXzJfaXJxKGludCBpZHgsIGludCBhcGljLCBpbnQgcGluKQogewogCWludCBpcnEsIGk7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCiAJLyoKIAkgKiBEZWJ1Z2dpbmcgY2hlY2ssIHdlIGFyZSBpbiBiaWcgdHJvdWJsZSBpZiB0aGlzIG1lc3NhZ2UgcG9wcyB1cCEKIAkgKi8KLQlpZiAobXBfaXJxc1tpZHhdLm1wY19kc3RpcnEgIT0gcGluKQorCWlmIChtcF9pcnFzW2lkeF0ubXBfZHN0aXJxICE9IHBpbikKIAkJcHJpbnRrKEtFUk5fRVJSICJicm9rZW4gQklPUyBvciBNUFRBQkxFIHBhcnNlciwgYXlpZWUhIVxuIik7CiAKIAlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpCi0JCWlycSA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzaXJxOworCQlpcnEgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzaXJxOwogCWVsc2UgewogCQkvKgogCQkgKiBQQ0kgSVJRcyBhcmUgbWFwcGVkIGluIG9yZGVyCkBAIC0xMTQ4LDggKzExNTMsOCBAQAogCiAJZm9yIChhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgewogCQlmb3IgKHBpbiA9IDA7IHBpbiA8IG5yX2lvYXBpY19yZWdpc3RlcnNbYXBpY107IHBpbisrKSB7Ci0JCQlpZHggPSBmaW5kX2lycV9lbnRyeShhcGljLHBpbixtcF9JTlQpOwotCQkJaWYgKChpZHggIT0gLTEpICYmIChpcnEgPT0gcGluXzJfaXJxKGlkeCxhcGljLHBpbikpKQorCQkJaWR4ID0gZmluZF9pcnFfZW50cnkoYXBpYywgcGluLCBtcF9JTlQpOworCQkJaWYgKChpZHggIT0gLTEpICYmIChpcnEgPT0gcGluXzJfaXJxKGlkeCwgYXBpYywgcGluKSkpCiAJCQkJcmV0dXJuIGlycV90cmlnZ2VyKGlkeCk7CiAJCX0KIAl9CkBAIC0xMTY0LDcgKzExNjksNyBAQAogCiBzdGF0aWMgaW50IF9fYXNzaWduX2lycV92ZWN0b3IoaW50IGlycSkKIHsKLQlzdGF0aWMgaW50IGN1cnJlbnRfdmVjdG9yID0gRklSU1RfREVWSUNFX1ZFQ1RPUiwgY3VycmVudF9vZmZzZXQgPSAwOworCXN0YXRpYyBpbnQgY3VycmVudF92ZWN0b3IgPSBGSVJTVF9ERVZJQ0VfVkVDVE9SLCBjdXJyZW50X29mZnNldDsKIAlpbnQgdmVjdG9yLCBvZmZzZXQ7CiAKIAlCVUdfT04oKHVuc2lnbmVkKWlycSA+PSBOUl9JUlFfVkVDVE9SUyk7CkBAIC0xMTc2LDcgKzExODEsNyBAQAogCW9mZnNldCA9IGN1cnJlbnRfb2Zmc2V0OwogbmV4dDoKIAl2ZWN0b3IgKz0gODsKLQlpZiAodmVjdG9yID49IEZJUlNUX1NZU1RFTV9WRUNUT1IpIHsKKwlpZiAodmVjdG9yID49IGZpcnN0X3N5c3RlbV92ZWN0b3IpIHsKIAkJb2Zmc2V0ID0gKG9mZnNldCArIDEpICUgODsKIAkJdmVjdG9yID0gRklSU1RfREVWSUNFX1ZFQ1RPUiArIG9mZnNldDsKIAl9CkBAIC0xMjAzLDYgKzEyMDgsMTEgQEAKIAogCXJldHVybiB2ZWN0b3I7CiB9CisKK3ZvaWQgc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KQoreworfQorCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIGlvYXBpY19jaGlwOwogCiAjZGVmaW5lIElPQVBJQ19BVVRPCS0xCkBAIC0xMjM3LDI1ICsxMjQ3LDI1IEBACiAJCS8qCiAJCSAqIGFkZCBpdCB0byB0aGUgSU8tQVBJQyBpcnEtcm91dGluZyB0YWJsZToKIAkJICovCi0JCW1lbXNldCgmZW50cnksMCxzaXplb2YoZW50cnkpKTsKKwkJbWVtc2V0KCZlbnRyeSwgMCwgc2l6ZW9mKGVudHJ5KSk7CiAKIAkJZW50cnkuZGVsaXZlcnlfbW9kZSA9IElOVF9ERUxJVkVSWV9NT0RFOwogCQllbnRyeS5kZXN0X21vZGUgPSBJTlRfREVTVF9NT0RFOwogCQllbnRyeS5tYXNrID0gMDsJCQkJLyogZW5hYmxlIElSUSAqLwotCQllbnRyeS5kZXN0LmxvZ2ljYWwubG9naWNhbF9kZXN0ID0gCisJCWVudHJ5LmRlc3QubG9naWNhbC5sb2dpY2FsX2Rlc3QgPQogCQkJCQljcHVfbWFza190b19hcGljaWQoVEFSR0VUX0NQVVMpOwogCi0JCWlkeCA9IGZpbmRfaXJxX2VudHJ5KGFwaWMscGluLG1wX0lOVCk7CisJCWlkeCA9IGZpbmRfaXJxX2VudHJ5KGFwaWMsIHBpbiwgbXBfSU5UKTsKIAkJaWYgKGlkeCA9PSAtMSkgewogCQkJaWYgKGZpcnN0X25vdGNvbikgewogCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9ERUJVRwogCQkJCQkJIiBJTy1BUElDIChhcGljaWQtcGluKSAlZC0lZCIsCi0JCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsCisJCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCwKIAkJCQkJCXBpbik7CiAJCQkJZmlyc3Rfbm90Y29uID0gMDsKIAkJCX0gZWxzZQogCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIiwgJWQtJWQiLAotCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsIHBpbik7CisJCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkLCBwaW4pOwogCQkJY29udGludWU7CiAJCX0KIApAQCAtMTI4OSw3ICsxMjk5LDcgQEAKIAkJCXZlY3RvciA9IGFzc2lnbl9pcnFfdmVjdG9yKGlycSk7CiAJCQllbnRyeS52ZWN0b3IgPSB2ZWN0b3I7CiAJCQlpb2FwaWNfcmVnaXN0ZXJfaW50cihpcnEsIHZlY3RvciwgSU9BUElDX0FVVE8pOwotCQkKKwogCQkJaWYgKCFhcGljICYmIChpcnEgPCAxNikpCiAJCQkJZGlzYWJsZV84MjU5QV9pcnEoaXJxKTsKIAkJfQpAQCAtMTMwMiwyNSArMTMxMiwyMSBAQAogfQogCiAvKgotICogU2V0IHVwIHRoZSA4MjU5QS1tYXN0ZXIgb3V0cHV0IHBpbjoKKyAqIFNldCB1cCB0aGUgdGltZXIgcGluLCBwb3NzaWJseSB3aXRoIHRoZSA4MjU5QS1tYXN0ZXIgYmVoaW5kLgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfRXh0SU5UX0lSUTBfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluLCBpbnQgdmVjdG9yKQorc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3RpbWVyX0lSUTBfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluLAorCQkJCQlpbnQgdmVjdG9yKQogewogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5OwogCi0JbWVtc2V0KCZlbnRyeSwwLHNpemVvZihlbnRyeSkpOwotCi0JZGlzYWJsZV84MjU5QV9pcnEoMCk7Ci0KLQkvKiBtYXNrIExWVDAgKi8KLQlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfTFZUX01BU0tFRCB8IEFQSUNfRE1fRVhUSU5UKTsKKwltZW1zZXQoJmVudHJ5LCAwLCBzaXplb2YoZW50cnkpKTsKIAogCS8qCiAJICogV2UgdXNlIGxvZ2ljYWwgZGVsaXZlcnkgdG8gZ2V0IHRoZSB0aW1lciBJUlEKIAkgKiB0byB0aGUgZmlyc3QgQ1BVLgogCSAqLwogCWVudHJ5LmRlc3RfbW9kZSA9IElOVF9ERVNUX01PREU7Ci0JZW50cnkubWFzayA9IDA7CQkJCQkvKiB1bm1hc2sgSVJRIG5vdyAqLworCWVudHJ5Lm1hc2sgPSAxOwkJCQkJLyogbWFzayBJUlEgbm93ICovCiAJZW50cnkuZGVzdC5sb2dpY2FsLmxvZ2ljYWxfZGVzdCA9IGNwdV9tYXNrX3RvX2FwaWNpZChUQVJHRVRfQ1BVUyk7CiAJZW50cnkuZGVsaXZlcnlfbW9kZSA9IElOVF9ERUxJVkVSWV9NT0RFOwogCWVudHJ5LnBvbGFyaXR5ID0gMDsKQEAgLTEzMjksMTcgKzEzMzUsMTQgQEAKIAogCS8qCiAJICogVGhlIHRpbWVyIElSUSBkb2Vzbid0IGhhdmUgdG8ga25vdyB0aGF0IGJlaGluZCB0aGUKLQkgKiBzY2VuZSB3ZSBoYXZlIGEgODI1OUEtbWFzdGVyIGluIEFFT0kgbW9kZSAuLi4KKwkgKiBzY2VuZSB3ZSBtYXkgaGF2ZSBhIDgyNTlBLW1hc3RlciBpbiBBRU9JIG1vZGUgLi4uCiAJICovCi0JaXJxX2Rlc2NbMF0uY2hpcCA9ICZpb2FwaWNfY2hpcDsKLQlzZXRfaXJxX2hhbmRsZXIoMCwgaGFuZGxlX2VkZ2VfaXJxKTsKKwlpb2FwaWNfcmVnaXN0ZXJfaW50cigwLCB2ZWN0b3IsIElPQVBJQ19FREdFKTsKIAogCS8qCiAJICogQWRkIGl0IHRvIHRoZSBJTy1BUElDIGlycS1yb3V0aW5nIHRhYmxlOgogCSAqLwogCWlvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIGVudHJ5KTsKLQotCWVuYWJsZV84MjU5QV9pcnEoMCk7CiB9CiAKIHZvaWQgX19pbml0IHByaW50X0lPX0FQSUModm9pZCkKQEAgLTEzNTQsMTAgKzEzNTcsMTAgQEAKIAlpZiAoYXBpY192ZXJib3NpdHkgPT0gQVBJQ19RVUlFVCkKIAkJcmV0dXJuOwogCi0gCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgTVAgSVJRIHNvdXJjZXM6ICVkLlxuIiwgbXBfaXJxX2VudHJpZXMpOworCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgTVAgSVJRIHNvdXJjZXM6ICVkLlxuIiwgbXBfaXJxX2VudHJpZXMpOwogCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspCiAJCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgSU8tQVBJQyAjJWQgcmVnaXN0ZXJzOiAlZC5cbiIsCi0JCSAgICAgICBtcF9pb2FwaWNzW2ldLm1wY19hcGljaWQsIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0pOworCQkgICAgICAgbXBfaW9hcGljc1tpXS5tcF9hcGljaWQsIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0pOwogCiAJLyoKIAkgKiBXZSBhcmUgYSBiaXQgY29uc2VydmF0aXZlIGFib3V0IHdoYXQgd2UgZXhwZWN0LiAgV2UgaGF2ZSB0bwpAQCAtMTM3Niw3ICsxMzc5LDcgQEAKIAkJcmVnXzAzLnJhdyA9IGlvX2FwaWNfcmVhZChhcGljLCAzKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCi0JcHJpbnRrKEtFUk5fREVCVUcgIklPIEFQSUMgIyVkLi4uLi4uXG4iLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCXByaW50ayhLRVJOX0RFQlVHICJJTyBBUElDICMlZC4uLi4uLlxuIiwgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4uIHJlZ2lzdGVyICMwMDogJTA4WFxuIiwgcmVnXzAwLnJhdyk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLi4uLi4gICAgOiBwaHlzaWNhbCBBUElDIGlkOiAlMDJYXG4iLCByZWdfMDAuYml0cy5JRCk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLi4uLi4gICAgOiBEZWxpdmVyeSBUeXBlOiAlWFxuIiwgcmVnXzAwLmJpdHMuZGVsaXZlcnlfdHlwZSk7CkBAIC0xNDU5LDcgKzE0NjIsNyBAQAogCiAjaWYgMAogCi1zdGF0aWMgdm9pZCBwcmludF9BUElDX2JpdGZpZWxkIChpbnQgYmFzZSkKK3N0YXRpYyB2b2lkIHByaW50X0FQSUNfYml0ZmllbGQoaW50IGJhc2UpCiB7CiAJdW5zaWduZWQgaW50IHY7CiAJaW50IGksIGo7CkBAIC0xNDgwLDcgKzE0ODMsNyBAQAogCX0KIH0KIAotdm9pZCAvKl9faW5pdCovIHByaW50X2xvY2FsX0FQSUModm9pZCAqIGR1bW15KQordm9pZCAvKl9faW5pdCovIHByaW50X2xvY2FsX0FQSUModm9pZCAqZHVtbXkpCiB7CiAJdW5zaWduZWQgaW50IHYsIHZlciwgbWF4bHZ0OwogCkBAIC0xNDg5LDYgKzE0OTIsNyBAQAogCiAJcHJpbnRrKCJcbiIgS0VSTl9ERUJVRyAicHJpbnRpbmcgbG9jYWwgQVBJQyBjb250ZW50cyBvbiBDUFUjJWQvJWQ6XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwl2ID0gYXBpY19yZWFkKEFQSUNfSUQpOwogCXByaW50ayhLRVJOX0lORk8gIi4uLiBBUElDIElEOiAgICAgICUwOHggKCUwMXgpXG4iLCB2LAogCQkJR0VUX0FQSUNfSUQocmVhZF9hcGljX2lkKCkpKTsKIAl2ID0gYXBpY19yZWFkKEFQSUNfTFZSKTsKQEAgLTE1NjMsOSArMTU2Nyw5IEBACiAJcHJpbnRrKCJcbiIpOwogfQogCi12b2lkIHByaW50X2FsbF9sb2NhbF9BUElDcyAodm9pZCkKK3ZvaWQgcHJpbnRfYWxsX2xvY2FsX0FQSUNzKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUocHJpbnRfbG9jYWxfQVBJQywgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUocHJpbnRfbG9jYWxfQVBJQywgTlVMTCwgMSk7CiB9CiAKIHZvaWQgLypfX2luaXQqLyBwcmludF9QSUModm9pZCkKQEAgLTE1ODYsMTEgKzE1OTAsMTEgQEAKIAl2ID0gaW5iKDB4YTApIDw8IDggfCBpbmIoMHgyMCk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLiBQSUMgIElSUjogJTA0eFxuIiwgdik7CiAKLQlvdXRiKDB4MGIsMHhhMCk7Ci0Jb3V0YigweDBiLDB4MjApOworCW91dGIoMHgwYiwgMHhhMCk7CisJb3V0YigweDBiLCAweDIwKTsKIAl2ID0gaW5iKDB4YTApIDw8IDggfCBpbmIoMHgyMCk7Ci0Jb3V0YigweDBhLDB4YTApOwotCW91dGIoMHgwYSwweDIwKTsKKwlvdXRiKDB4MGEsIDB4YTApOworCW91dGIoMHgwYSwgMHgyMCk7CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwogCkBAIC0xNjI2LDcgKzE2MzAsNyBAQAogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCQlucl9pb2FwaWNfcmVnaXN0ZXJzW2FwaWNdID0gcmVnXzAxLmJpdHMuZW50cmllcysxOwogCX0KLQlmb3IoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspIHsKKwlmb3IgKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKSB7CiAJCWludCBwaW47CiAJCS8qIFNlZSBpZiBhbnkgb2YgdGhlIHBpbnMgaXMgaW4gRXh0SU5UIG1vZGUgKi8KIAkJZm9yIChwaW4gPSAwOyBwaW4gPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2FwaWNdOyBwaW4rKykgewpAQCAtMTcxNiw3ICsxNzIwLDYgQEAKICAqIGJ5IE1hdHQgRG9tc2NoIDxNYXR0X0RvbXNjaEBkZWxsLmNvbT4gIFR1ZSBEZWMgMjEgMTI6MjU6MDUgQ1NUIDE5OTkKICAqLwogCi0jaWZuZGVmIENPTkZJR19YODZfTlVNQVEKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9pb2FwaWNfaWRzX2Zyb21fbXBjKHZvaWQpCiB7CiAJdW5pb24gSU9fQVBJQ19yZWdfMDAgcmVnXzAwOwpAQCAtMTcyNiw2ICsxNzI5LDExIEBACiAJdW5zaWduZWQgY2hhciBvbGRfaWQ7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAorI2lmZGVmIENPTkZJR19YODZfTlVNQVEKKwlpZiAoZm91bmRfbnVtYXEpCisJCXJldHVybjsKKyNlbmRpZgorCiAJLyoKIAkgKiBEb24ndCBjaGVjayBJL08gQVBJQyBJRHMgZm9yIHhBUElDIHN5c3RlbXMuICBUaGV5IGhhdmUKIAkgKiBubyBtZWFuaW5nIHdpdGhvdXQgdGhlIHNlcmlhbCBBUElDIGJ1cy4KQEAgLTE3NDgsMTUgKzE3NTYsMTUgQEAKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJCXJlZ18wMC5yYXcgPSBpb19hcGljX3JlYWQoYXBpYywgMCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7Ci0JCQotCQlvbGRfaWQgPSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQ7CiAKLQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA+PSBnZXRfcGh5c2ljYWxfYnJvYWRjYXN0KCkpIHsKKwkJb2xkX2lkID0gbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQ7CisKKwkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID49IGdldF9waHlzaWNhbF9icm9hZGNhc3QoKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJCSU9TIGJ1ZywgSU8tQVBJQyMlZCBJRCBpcyAlZCBpbiB0aGUgTVBDIHRhYmxlIS4uLlxuIiwKLQkJCQlhcGljLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCQkJCWFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAkJCXByaW50ayhLRVJOX0VSUiAiLi4uIGZpeGluZyB1cCB0byAlZC4gKHRlbGwgeW91ciBodyB2ZW5kb3IpXG4iLAogCQkJCXJlZ18wMC5iaXRzLklEKTsKLQkJCW1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9IHJlZ18wMC5iaXRzLklEOworCQkJbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPSByZWdfMDAuYml0cy5JRDsKIAkJfQogCiAJCS8qCkBAIC0xNzY1LDkgKzE3NzMsOSBAQAogCQkgKiAnc3R1Y2sgb24gc21wX2ludmFsaWRhdGVfbmVlZGVkIElQSSB3YWl0JyBtZXNzYWdlcy4KIAkJICovCiAJCWlmIChjaGVja19hcGljaWRfdXNlZChwaHlzX2lkX3ByZXNlbnRfbWFwLAotCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpKSB7CisJCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJCSU9TIGJ1ZywgSU8tQVBJQyMlZCBJRCAlZCBpcyBhbHJlYWR5IHVzZWQhLi4uXG4iLAotCQkJCWFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCk7CisJCQkJYXBpYywgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCQkJZm9yIChpID0gMDsgaSA8IGdldF9waHlzaWNhbF9icm9hZGNhc3QoKTsgaSsrKQogCQkJCWlmICghcGh5c2lkX2lzc2V0KGksIHBoeXNfaWRfcHJlc2VudF9tYXApKQogCQkJCQlicmVhazsKQEAgLTE3NzYsMTMgKzE3ODQsMTMgQEAKIAkJCXByaW50ayhLRVJOX0VSUiAiLi4uIGZpeGluZyB1cCB0byAlZC4gKHRlbGwgeW91ciBodyB2ZW5kb3IpXG4iLAogCQkJCWkpOwogCQkJcGh5c2lkX3NldChpLCBwaHlzX2lkX3ByZXNlbnRfbWFwKTsKLQkJCW1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9IGk7CisJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA9IGk7CiAJCX0gZWxzZSB7CiAJCQlwaHlzaWRfbWFza190IHRtcDsKLQkJCXRtcCA9IGFwaWNpZF90b19jcHVfcHJlc2VudChtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCQkJdG1wID0gYXBpY2lkX3RvX2NwdV9wcmVzZW50KG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIlNldHRpbmcgJWQgaW4gdGhlICIKIAkJCQkJInBoeXNfaWRfcHJlc2VudF9tYXBcbiIsCi0JCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCk7CisJCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAkJCXBoeXNpZHNfb3IocGh5c19pZF9wcmVzZW50X21hcCwgcGh5c19pZF9wcmVzZW50X21hcCwgdG1wKTsKIAkJfQogCkBAIC0xNzkxLDIxICsxNzk5LDIxIEBACiAJCSAqIFdlIG5lZWQgdG8gYWRqdXN0IHRoZSBJUlEgcm91dGluZyB0YWJsZQogCQkgKiBpZiB0aGUgSUQgY2hhbmdlZC4KIAkJICovCi0JCWlmIChvbGRfaWQgIT0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKQorCQlpZiAob2xkX2lkICE9IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKQogCQkJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspCi0JCQkJaWYgKG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgPT0gb2xkX2lkKQotCQkJCQltcF9pcnFzW2ldLm1wY19kc3RhcGljCi0JCQkJCQk9IG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZDsKKwkJCQlpZiAobXBfaXJxc1tpXS5tcF9kc3RhcGljID09IG9sZF9pZCkKKwkJCQkJbXBfaXJxc1tpXS5tcF9kc3RhcGljCisJCQkJCQk9IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkOwogCiAJCS8qCiAJCSAqIFJlYWQgdGhlIHJpZ2h0IHZhbHVlIGZyb20gdGhlIE1QQyB0YWJsZSBhbmQKIAkJICogd3JpdGUgaXQgaW50byB0aGUgSUQgcmVnaXN0ZXIuCi0JIAkgKi8KKwkJICovCiAJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9JTkZPCiAJCQkiLi4uY2hhbmdpbmcgSU8tQVBJQyBwaHlzaWNhbCBBUElDIElEIHRvICVkIC4uLiIsCi0JCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCQkJbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCi0JCXJlZ18wMC5iaXRzLklEID0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkOworCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkOwogCQlzcGluX2xvY2tfaXJxc2F2ZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAkJaW9fYXBpY193cml0ZShhcGljLCAwLCByZWdfMDAucmF3KTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKQEAgLTE4MTYsMTUgKzE4MjQsMTIgQEAKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJCXJlZ18wMC5yYXcgPSBpb19hcGljX3JlYWQoYXBpYywgMCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7Ci0JCWlmIChyZWdfMDAuYml0cy5JRCAhPSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpCisJCWlmIChyZWdfMDAuYml0cy5JRCAhPSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCkKIAkJCXByaW50aygiY291bGQgbm90IHNldCBJRCFcbiIpOwogCQllbHNlCiAJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICIgb2suXG4iKTsKIAl9CiB9Ci0jZWxzZQotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2lvYXBpY19pZHNfZnJvbV9tcGModm9pZCkgeyB9Ci0jZW5kaWYKIAogaW50IG5vX3RpbWVyX2NoZWNrIF9faW5pdGRhdGE7CiAKQEAgLTIwMTUsMTIgKzIwMjAsMTIgQEAKICAqIFRoZSBsb2NhbCBBUElDIGlycS1jaGlwIGltcGxlbWVudGF0aW9uOgogICovCiAKLXN0YXRpYyB2b2lkIGFja19hcGljKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCBhY2tfbGFwaWNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJYWNrX0FQSUNfaXJxKCk7CiB9CiAKLXN0YXRpYyB2b2lkIG1hc2tfbGFwaWNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgbWFza19sYXBpY19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAl1bnNpZ25lZCBsb25nIHY7CiAKQEAgLTIwMjgsNyArMjAzMyw3IEBACiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCB2IHwgQVBJQ19MVlRfTUFTS0VEKTsKIH0KIAotc3RhdGljIHZvaWQgdW5tYXNrX2xhcGljX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIHVubWFza19sYXBpY19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAl1bnNpZ25lZCBsb25nIHY7CiAKQEAgLTIwMzcsMjMgKzIwNDIsMzEgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBsYXBpY19jaGlwIF9fcmVhZF9tb3N0bHkgPSB7Ci0JLm5hbWUJCT0gImxvY2FsLUFQSUMtZWRnZSIsCisJLm5hbWUJCT0gImxvY2FsLUFQSUMiLAogCS5tYXNrCQk9IG1hc2tfbGFwaWNfaXJxLAogCS51bm1hc2sJCT0gdW5tYXNrX2xhcGljX2lycSwKLQkuZW9pCQk9IGFja19hcGljLAorCS5hY2sJCT0gYWNrX2xhcGljX2lycSwKIH07CiAKK3N0YXRpYyB2b2lkIGxhcGljX3JlZ2lzdGVyX2ludHIoaW50IGlycSwgaW50IHZlY3RvcikKK3sKKwlpcnFfZGVzY1tpcnFdLnN0YXR1cyAmPSB+SVJRX0xFVkVMOworCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGlycSwgJmxhcGljX2NoaXAsIGhhbmRsZV9lZGdlX2lycSwKKwkJCQkgICAgICAiZWRnZSIpOworCXNldF9pbnRyX2dhdGUodmVjdG9yLCBpbnRlcnJ1cHRbaXJxXSk7Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ubWkodm9pZCkKIHsKIAkvKgotIAkgKiBEaXJ0eSB0cmljayB0byBlbmFibGUgdGhlIE5NSSB3YXRjaGRvZyAuLi4KKwkgKiBEaXJ0eSB0cmljayB0byBlbmFibGUgdGhlIE5NSSB3YXRjaGRvZyAuLi4KIAkgKiBXZSBwdXQgdGhlIDgyNTlBIG1hc3RlciBpbnRvIEFFT0kgbW9kZSBhbmQKIAkgKiB1bm1hc2sgb24gYWxsIGxvY2FsIEFQSUNzIExWVDAgYXMgTk1JLgogCSAqCiAJICogVGhlIGlkZWEgdG8gdXNlIHRoZSA4MjU5QSBpbiBBRU9JIG1vZGUgKCc4MjU5QSBWaXJ0dWFsIFdpcmUnKQogCSAqIGlzIGZyb20gTWFjaWVqIFcuIFJvenlja2kgLSBzbyB3ZSBkbyBub3QgaGF2ZSB0byBFT0kgZnJvbQogCSAqIHRoZSBOTUkgaGFuZGxlciBvciB0aGUgdGltZXIgaW50ZXJydXB0LgotCSAqLyAKKwkgKi8KIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIEtFUk5fSU5GTyAiYWN0aXZhdGluZyBOTUkgV2F0Y2hkb2cgLi4uIik7CiAKIAllbmFibGVfTk1JX3Rocm91Z2hfTFZUMCgpOwpAQCAtMjEyOSwxMSArMjE0MiwxNiBAQAogc3RhdGljIGlubGluZSB2b2lkIF9faW5pdCBjaGVja190aW1lcih2b2lkKQogewogCWludCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjI7CisJaW50IG5vX3BpbjEgPSAwOwogCWludCB2ZWN0b3I7CisJdW5zaWduZWQgaW50IHZlcjsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCisJdmVyID0gYXBpY19yZWFkKEFQSUNfTFZSKTsKKwl2ZXIgPSBHRVRfQVBJQ19WRVJTSU9OKHZlcik7CisKIAkvKgogCSAqIGdldC9zZXQgdGhlIHRpbWVyIElSUSB2ZWN0b3I6CiAJICovCkBAIC0yMTQyLDE3ICsyMTYwLDE3IEBACiAJc2V0X2ludHJfZ2F0ZSh2ZWN0b3IsIGludGVycnVwdFswXSk7CiAKIAkvKgotCSAqIFN1YnRsZSwgY29kZSBpbiBkb190aW1lcl9pbnRlcnJ1cHQoKSBleHBlY3RzIGFuIEFFT0kKLQkgKiBtb2RlIGZvciB0aGUgODI1OUEgd2hlbmV2ZXIgaW50ZXJydXB0cyBhcmUgcm91dGVkCi0JICogdGhyb3VnaCBJL08gQVBJQ3MuICBBbHNvIElSUTAgaGFzIHRvIGJlIGVuYWJsZWQgaW4KLQkgKiB0aGUgODI1OUEgd2hpY2ggaW1wbGllcyB0aGUgdmlydHVhbCB3aXJlIGhhcyB0byBiZQotCSAqIGRpc2FibGVkIGluIHRoZSBsb2NhbCBBUElDLgorCSAqIEFzIElSUTAgaXMgdG8gYmUgZW5hYmxlZCBpbiB0aGUgODI1OUEsIHRoZSB2aXJ0dWFsCisJICogd2lyZSBoYXMgdG8gYmUgZGlzYWJsZWQgaW4gdGhlIGxvY2FsIEFQSUMuICBBbHNvCisJICogdGltZXIgaW50ZXJydXB0cyBuZWVkIHRvIGJlIGFja25vd2xlZGdlZCBtYW51YWxseSBpbgorCSAqIHRoZSA4MjU5QSBmb3IgdGhlIGk4MjQ4OURYIHdoZW4gdXNpbmcgdGhlIE5NSQorCSAqIHdhdGNoZG9nIGFzIHRoYXQgQVBJQyB0cmVhdHMgTk1JcyBhcyBsZXZlbC10cmlnZ2VyZWQuCisJICogVGhlIEFFT0kgbW9kZSB3aWxsIGZpbmlzaCB0aGVtIGluIHRoZSA4MjU5QQorCSAqIGF1dG9tYXRpY2FsbHkuCiAJICovCiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0xWVF9NQVNLRUQgfCBBUElDX0RNX0VYVElOVCk7CiAJaW5pdF84MjU5QSgxKTsKLQl0aW1lcl9hY2sgPSAxOwotCWlmICh0aW1lcl9vdmVyXzgyNTQgPiAwKQotCQllbmFibGVfODI1OUFfaXJxKDApOworCXRpbWVyX2FjayA9IChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMgJiYgIUFQSUNfSU5URUdSQVRFRCh2ZXIpKTsKIAogCXBpbjEgID0gZmluZF9pc2FfaXJxX3BpbigwLCBtcF9JTlQpOwogCWFwaWMxID0gZmluZF9pc2FfaXJxX2FwaWMoMCwgbXBfSU5UKTsKQEAgLTIxNjIsMTQgKzIxODAsMzMgQEAKIAlwcmludGsoS0VSTl9JTkZPICIuLlRJTUVSOiB2ZWN0b3I9MHglMDJYIGFwaWMxPSVkIHBpbjE9JWQgYXBpYzI9JWQgcGluMj0lZFxuIiwKIAkJdmVjdG9yLCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjIpOwogCisJLyoKKwkgKiBTb21lIEJJT1Mgd3JpdGVycyBhcmUgY2x1ZWxlc3MgYW5kIHJlcG9ydCB0aGUgRXh0SU5UQQorCSAqIEkvTyBBUElDIGlucHV0IGZyb20gdGhlIGNhc2NhZGVkIDgyNTlBIGFzIHRoZSB0aW1lcgorCSAqIGludGVycnVwdCBpbnB1dC4gIFNvIGp1c3QgaW4gY2FzZSwgaWYgb25seSBvbmUgcGluCisJICogd2FzIGZvdW5kIGFib3ZlLCB0cnkgaXQgYm90aCBkaXJlY3RseSBhbmQgdGhyb3VnaCB0aGUKKwkgKiA4MjU5QS4KKwkgKi8KKwlpZiAocGluMSA9PSAtMSkgeworCQlwaW4xID0gcGluMjsKKwkJYXBpYzEgPSBhcGljMjsKKwkJbm9fcGluMSA9IDE7CisJfSBlbHNlIGlmIChwaW4yID09IC0xKSB7CisJCXBpbjIgPSBwaW4xOworCQlhcGljMiA9IGFwaWMxOworCX0KKwogCWlmIChwaW4xICE9IC0xKSB7CiAJCS8qCiAJCSAqIE9rLCBkb2VzIElSUTAgdGhyb3VnaCB0aGUgSU9BUElDIHdvcms/CiAJCSAqLworCQlpZiAobm9fcGluMSkgeworCQkJYWRkX3Bpbl90b19pcnEoMCwgYXBpYzEsIHBpbjEpOworCQkJc2V0dXBfdGltZXJfSVJRMF9waW4oYXBpYzEsIHBpbjEsIHZlY3Rvcik7CisJCX0KIAkJdW5tYXNrX0lPX0FQSUNfaXJxKDApOwogCQlpZiAodGltZXJfaXJxX3dvcmtzKCkpIHsKIAkJCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpIHsKLQkJCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAkJCQlzZXR1cF9ubWkoKTsKIAkJCQllbmFibGVfODI1OUFfaXJxKDApOwogCQkJfQpAQCAtMjE3OCw0NSArMjIxNSw0NyBAQAogCQkJZ290byBvdXQ7CiAJCX0KIAkJY2xlYXJfSU9fQVBJQ19waW4oYXBpYzEsIHBpbjEpOwotCQlwcmludGsoS0VSTl9FUlIgIi4uTVAtQklPUyBidWc6IDgyNTQgdGltZXIgbm90IGNvbm5lY3RlZCB0byAiCi0JCQkJIklPLUFQSUNcbiIpOwotCX0KKwkJaWYgKCFub19waW4xKQorCQkJcHJpbnRrKEtFUk5fRVJSICIuLk1QLUJJT1MgYnVnOiAiCisJCQkgICAgICAgIjgyNTQgdGltZXIgbm90IGNvbm5lY3RlZCB0byBJTy1BUElDXG4iKTsKIAotCXByaW50ayhLRVJOX0lORk8gIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgKElSUTApIHRocm91Z2ggdGhlIDgyNTlBIC4uLiAiKTsKLQlpZiAocGluMiAhPSAtMSkgeworCQlwcmludGsoS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIChJUlEwKSAiCisJCSAgICAgICAidGhyb3VnaCB0aGUgODI1OUEgLi4uICIpOwogCQlwcmludGsoIlxuLi4uLi4gKGZvdW5kIHBpbiAlZCkgLi4uIiwgcGluMik7CiAJCS8qCiAJCSAqIGxlZ2FjeSBkZXZpY2VzIHNob3VsZCBiZSBjb25uZWN0ZWQgdG8gSU8gQVBJQyAjMAogCQkgKi8KLQkJc2V0dXBfRXh0SU5UX0lSUTBfcGluKGFwaWMyLCBwaW4yLCB2ZWN0b3IpOworCQlyZXBsYWNlX3Bpbl9hdF9pcnEoMCwgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yKTsKKwkJc2V0dXBfdGltZXJfSVJRMF9waW4oYXBpYzIsIHBpbjIsIHZlY3Rvcik7CisJCXVubWFza19JT19BUElDX2lycSgwKTsKKwkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJaWYgKHRpbWVyX2lycV93b3JrcygpKSB7CiAJCQlwcmludGsoIndvcmtzLlxuIik7Ci0JCQlpZiAocGluMSAhPSAtMSkKLQkJCQlyZXBsYWNlX3Bpbl9hdF9pcnEoMCwgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yKTsKLQkJCWVsc2UKLQkJCQlhZGRfcGluX3RvX2lycSgwLCBhcGljMiwgcGluMik7CisJCQl0aW1lcl90aHJvdWdoXzgyNTkgPSAxOwogCQkJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykgeworCQkJCWRpc2FibGVfODI1OUFfaXJxKDApOwogCQkJCXNldHVwX25taSgpOworCQkJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCQl9CiAJCQlnb3RvIG91dDsKIAkJfQogCQkvKgogCQkgKiBDbGVhbnVwLCBqdXN0IGluIGNhc2UgLi4uCiAJCSAqLworCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAkJY2xlYXJfSU9fQVBJQ19waW4oYXBpYzIsIHBpbjIpOworCQlwcmludGsoIiBmYWlsZWQuXG4iKTsKIAl9Ci0JcHJpbnRrKCIgZmFpbGVkLlxuIik7CiAKIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgInRpbWVyIGRvZXNuJ3Qgd29yayB0aHJvdWdoIHRoZSBJTy1BUElDIC0gZGlzYWJsaW5nIE5NSSBXYXRjaGRvZyFcbiIpOwotCQlubWlfd2F0Y2hkb2cgPSAwOworCQlubWlfd2F0Y2hkb2cgPSBOTUlfTk9ORTsKIAl9CisJdGltZXJfYWNrID0gMDsKIAogCXByaW50ayhLRVJOX0lORk8gIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgYXMgVmlydHVhbCBXaXJlIElSUS4uLiIpOwogCi0JZGlzYWJsZV84MjU5QV9pcnEoMCk7Ci0Jc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoMCwgJmxhcGljX2NoaXAsIGhhbmRsZV9mYXN0ZW9pX2lycSwKLQkJCQkgICAgICAiZmFzdGVvaSIpOworCWxhcGljX3JlZ2lzdGVyX2ludHIoMCwgdmVjdG9yKTsKIAlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfRE1fRklYRUQgfCB2ZWN0b3IpOwkvKiBGaXhlZCBtb2RlICovCiAJZW5hYmxlXzgyNTlBX2lycSgwKTsKIApAQCAtMjIyNCwxMiArMjI2MywxMiBAQAogCQlwcmludGsoIiB3b3Jrcy5cbiIpOwogCQlnb3RvIG91dDsKIAl9CisJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0xWVF9NQVNLRUQgfCBBUElDX0RNX0ZJWEVEIHwgdmVjdG9yKTsKIAlwcmludGsoIiBmYWlsZWQuXG4iKTsKIAogCXByaW50ayhLRVJOX0lORk8gIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgYXMgRXh0SU5UIElSUS4uLiIpOwogCi0JdGltZXJfYWNrID0gMDsKIAlpbml0XzgyNTlBKDApOwogCW1ha2VfODI1OUFfaXJxKDApOwogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19ETV9FWFRJTlQpOwpAQCAtMjI0OCwxMSArMjI4NywyMSBAQAogfQogCiAvKgotICoKLSAqIElSUSdzIHRoYXQgYXJlIGhhbmRsZWQgYnkgdGhlIFBJQyBpbiB0aGUgTVBTIElPQVBJQyBjYXNlLgotICogLSBJUlEyIGlzIHRoZSBjYXNjYWRlIElSUSwgYW5kIGNhbm5vdCBiZSBhIGlvLWFwaWMgSVJRLgotICogICBMaW51eCBkb2Vzbid0IHJlYWxseSBjYXJlLCBhcyBpdCdzIG5vdCBhY3R1YWxseSB1c2VkCi0gKiAgIGZvciBhbnkgaW50ZXJydXB0IGhhbmRsaW5nIGFueXdheS4KKyAqIFRyYWRpdGlvbmFsbHkgSVNBIElSUTIgaXMgdGhlIGNhc2NhZGUgSVJRLCBhbmQgaXMgbm90IGF2YWlsYWJsZQorICogdG8gZGV2aWNlcy4gIEhvd2V2ZXIgdGhlcmUgbWF5IGJlIGFuIEkvTyBBUElDIHBpbiBhdmFpbGFibGUgZm9yCisgKiB0aGlzIGludGVycnVwdCByZWdhcmRsZXNzLiAgVGhlIHBpbiBtYXkgYmUgbGVmdCB1bmNvbm5lY3RlZCwgYnV0CisgKiB0eXBpY2FsbHkgaXQgd2lsbCBiZSByZXVzZWQgYXMgYW4gRXh0SU5UIGNhc2NhZGUgaW50ZXJydXB0IGZvcgorICogdGhlIG1hc3RlciA4MjU5QS4gIEluIHRoZSBNUFMgY2FzZSBzdWNoIGEgcGluIHdpbGwgbm9ybWFsbHkgYmUKKyAqIHJlcG9ydGVkIGFzIGFuIEV4dElOVCBpbnRlcnJ1cHQgaW4gdGhlIE1QIHRhYmxlLiAgV2l0aCBBQ1BJCisgKiB0aGVyZSBpcyBubyBwcm92aXNpb24gZm9yIEV4dElOVCBpbnRlcnJ1cHRzLCBhbmQgaW4gdGhlIGFic2VuY2UKKyAqIG9mIGFuIG92ZXJyaWRlIGl0IHdvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gb3JkaW5hcnkgSVNBIEkvTyBBUElDCisgKiBpbnRlcnJ1cHQsIHRoYXQgaXMgZWRnZS10cmlnZ2VyZWQgYW5kIHVubWFza2VkIGJ5IGRlZmF1bHQuICBXZQorICogdXNlZCB0byBkbyB0aGlzLCBidXQgaXQgY2F1c2VkIHByb2JsZW1zIG9uIHNvbWUgc3lzdGVtcyBiZWNhdXNlCisgKiBvZiB0aGUgTk1JIHdhdGNoZG9nIGFuZCBzb21ldGltZXMgSVJRMCBvZiB0aGUgODI1NCB0aW1lciB1c2luZworICogdGhlIHNhbWUgRXh0SU5UIGNhc2NhZGUgaW50ZXJydXB0IHRvIGRyaXZlIHRoZSBsb2NhbCBBUElDIG9mIHRoZQorICogYm9vdHN0cmFwIHByb2Nlc3Nvci4gIFRoZXJlZm9yZSB3ZSByZWZyYWluIGZyb20gcm91dGluZyBJUlEyIHRvCisgKiB0aGUgSS9PIEFQSUMgaW4gYWxsIGNhc2VzIG5vdy4gIE5vIGFjdHVhbCBkZXZpY2Ugc2hvdWxkIHJlcXVlc3QKKyAqIGl0IGFueXdheS4gIC0tbWFjcm8KICAqLwogI2RlZmluZSBQSUNfSVJRUwkoMSA8PCBQSUNfQ0FTQ0FERV9JUikKIApAQCAtMjI2MSwxNSArMjMxMCwxMiBAQAogCWludCBpOwogCiAJLyogUmVzZXJ2ZSBhbGwgdGhlIHN5c3RlbSB2ZWN0b3JzLiAqLwotCWZvciAoaSA9IEZJUlNUX1NZU1RFTV9WRUNUT1I7IGkgPCBOUl9WRUNUT1JTOyBpKyspCisJZm9yIChpID0gZmlyc3Rfc3lzdGVtX3ZlY3RvcjsgaSA8IE5SX1ZFQ1RPUlM7IGkrKykKIAkJc2V0X2JpdChpLCB1c2VkX3ZlY3RvcnMpOwogCiAJZW5hYmxlX0lPX0FQSUMoKTsKIAotCWlmIChhY3BpX2lvYXBpYykKLQkJaW9fYXBpY19pcnFzID0gfjA7CS8qIGFsbCBJUlFzIGdvIHRocm91Z2ggSU9BUElDICovCi0JZWxzZQotCQlpb19hcGljX2lycXMgPSB+UElDX0lSUVM7CisJaW9fYXBpY19pcnFzID0gflBJQ19JUlFTOwogCiAJcHJpbnRrKCJFTkFCTElORyBJTy1BUElDIElSUXNcbiIpOwogCkBAIC0yMjg2LDI4ICsyMzMyLDE0IEBACiAJCXByaW50X0lPX0FQSUMoKTsKIH0KIAotc3RhdGljIGludCBfX2luaXQgc2V0dXBfZGlzYWJsZV84MjU0X3RpbWVyKGNoYXIgKnMpCi17Ci0JdGltZXJfb3Zlcl84MjU0ID0gLTE7Ci0JcmV0dXJuIDE7Ci19Ci1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9lbmFibGVfODI1NF90aW1lcihjaGFyICpzKQotewotCXRpbWVyX292ZXJfODI1NCA9IDI7Ci0JcmV0dXJuIDE7Ci19Ci0KLV9fc2V0dXAoImRpc2FibGVfODI1NF90aW1lciIsIHNldHVwX2Rpc2FibGVfODI1NF90aW1lcik7Ci1fX3NldHVwKCJlbmFibGVfODI1NF90aW1lciIsIHNldHVwX2VuYWJsZV84MjU0X3RpbWVyKTsKLQogLyoKICAqCUNhbGxlZCBhZnRlciBhbGwgdGhlIGluaXRpYWxpemF0aW9uIGlzIGRvbmUuIElmIHdlIGRpZG50IGZpbmQgYW55CiAgKglBUElDIGJ1Z3MgdGhlbiB3ZSBjYW4gYWxsb3cgdGhlIG1vZGlmeSBmYXN0IHBhdGgKICAqLwotIAorCiBzdGF0aWMgaW50IF9faW5pdCBpb19hcGljX2J1Z19maW5hbGl6ZSh2b2lkKQogewotCWlmKHNpc19hcGljX2J1ZyA9PSAtMSkKKwlpZiAoc2lzX2FwaWNfYnVnID09IC0xKQogCQlzaXNfYXBpY19idWcgPSAwOwogCXJldHVybiAwOwogfQpAQCAtMjMxOCwxNyArMjM1MCwxNyBAQAogCXN0cnVjdCBzeXNfZGV2aWNlIGRldjsKIAlzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSBlbnRyeVswXTsKIH07Ci1zdGF0aWMgc3RydWN0IHN5c2ZzX2lvYXBpY19kYXRhICogbXBfaW9hcGljX2RhdGFbTUFYX0lPX0FQSUNTXTsKK3N0YXRpYyBzdHJ1Y3Qgc3lzZnNfaW9hcGljX2RhdGEgKm1wX2lvYXBpY19kYXRhW01BWF9JT19BUElDU107CiAKIHN0YXRpYyBpbnQgaW9hcGljX3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQogewogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5ICplbnRyeTsKIAlzdHJ1Y3Qgc3lzZnNfaW9hcGljX2RhdGEgKmRhdGE7CiAJaW50IGk7Ci0JCisKIAlkYXRhID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHN5c2ZzX2lvYXBpY19kYXRhLCBkZXYpOwogCWVudHJ5ID0gZGF0YS0+ZW50cnk7Ci0JZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY19yZWdpc3RlcnNbZGV2LT5pZF07IGkgKyspCisJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY19yZWdpc3RlcnNbZGV2LT5pZF07IGkrKykKIAkJZW50cnlbaV0gPSBpb2FwaWNfcmVhZF9lbnRyeShkZXYtPmlkLCBpKTsKIAogCXJldHVybiAwOwpAQCAtMjM0MSwxOCArMjM3MywxOCBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdW5pb24gSU9fQVBJQ19yZWdfMDAgcmVnXzAwOwogCWludCBpOwotCQorCiAJZGF0YSA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBzeXNmc19pb2FwaWNfZGF0YSwgZGV2KTsKIAllbnRyeSA9IGRhdGEtPmVudHJ5OwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJcmVnXzAwLnJhdyA9IGlvX2FwaWNfcmVhZChkZXYtPmlkLCAwKTsKLQlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcGNfYXBpY2lkKSB7Ci0JCXJlZ18wMC5iaXRzLklEID0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcGNfYXBpY2lkOworCWlmIChyZWdfMDAuYml0cy5JRCAhPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wX2FwaWNpZCkgeworCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBfYXBpY2lkOwogCQlpb19hcGljX3dyaXRlKGRldi0+aWQsIDAsIHJlZ18wMC5yYXcpOwogCX0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwotCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2Rldi0+aWRdOyBpICsrKQorCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2Rldi0+aWRdOyBpKyspCiAJCWlvYXBpY193cml0ZV9lbnRyeShkZXYtPmlkLCBpLCBlbnRyeVtpXSk7CiAKIAlyZXR1cm4gMDsKQEAgLTIzNjYsMjQgKzIzOTgsMjMgQEAKIAogc3RhdGljIGludCBfX2luaXQgaW9hcGljX2luaXRfc3lzZnModm9pZCkKIHsKLQlzdHJ1Y3Qgc3lzX2RldmljZSAqIGRldjsKKwlzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2OwogCWludCBpLCBzaXplLCBlcnJvciA9IDA7CiAKIAllcnJvciA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmaW9hcGljX3N5c2Rldl9jbGFzcyk7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKLQlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrICkgewotCQlzaXplID0gc2l6ZW9mKHN0cnVjdCBzeXNfZGV2aWNlKSArIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0gCisJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgeworCQlzaXplID0gc2l6ZW9mKHN0cnVjdCBzeXNfZGV2aWNlKSArIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0KIAkJCSogc2l6ZW9mKHN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5KTsKLQkJbXBfaW9hcGljX2RhdGFbaV0gPSBrbWFsbG9jKHNpemUsIEdGUF9LRVJORUwpOworCQltcF9pb2FwaWNfZGF0YVtpXSA9IGt6YWxsb2Moc2l6ZSwgR0ZQX0tFUk5FTCk7CiAJCWlmICghbXBfaW9hcGljX2RhdGFbaV0pIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ2FuJ3Qgc3VzcGVuZC9yZXN1bWUgSU9BUElDICVkXG4iLCBpKTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCW1lbXNldChtcF9pb2FwaWNfZGF0YVtpXSwgMCwgc2l6ZSk7CiAJCWRldiA9ICZtcF9pb2FwaWNfZGF0YVtpXS0+ZGV2OwotCQlkZXYtPmlkID0gaTsgCisJCWRldi0+aWQgPSBpOwogCQlkZXYtPmNscyA9ICZpb2FwaWNfc3lzZGV2X2NsYXNzOwogCQllcnJvciA9IHN5c2Rldl9yZWdpc3RlcihkZXYpOwogCQlpZiAoZXJyb3IpIHsKQEAgLTI0NTgsNyArMjQ4OSw3IEBACiAJCW1zZy0+YWRkcmVzc19sbyA9CiAJCQlNU0lfQUREUl9CQVNFX0xPIHwKIAkJCSgoSU5UX0RFU1RfTU9ERSA9PSAwKSA/Ci0JCQkJTVNJX0FERFJfREVTVF9NT0RFX1BIWVNJQ0FMOgorTVNJX0FERFJfREVTVF9NT0RFX1BIWVNJQ0FMOgogCQkJCU1TSV9BRERSX0RFU1RfTU9ERV9MT0dJQ0FMKSB8CiAJCQkoKElOVF9ERUxJVkVSWV9NT0RFICE9IGRlc3RfTG93ZXN0UHJpbykgPwogCQkJCU1TSV9BRERSX1JFRElSRUNUSU9OX0NQVToKQEAgLTI0NjksNyArMjUwMCw3IEBACiAJCQlNU0lfREFUQV9UUklHR0VSX0VER0UgfAogCQkJTVNJX0RBVEFfTEVWRUxfQVNTRVJUIHwKIAkJCSgoSU5UX0RFTElWRVJZX01PREUgIT0gZGVzdF9Mb3dlc3RQcmlvKSA/Ci0JCQkJTVNJX0RBVEFfREVMSVZFUllfRklYRUQ6CitNU0lfREFUQV9ERUxJVkVSWV9GSVhFRDoKIAkJCQlNU0lfREFUQV9ERUxJVkVSWV9MT1dQUkkpIHwKIAkJCU1TSV9EQVRBX1ZFQ1RPUih2ZWN0b3IpOwogCX0KQEAgLTI2NDAsMTIgKzI2NzEsMTIgQEAKICNlbmRpZiAvKiBDT05GSUdfSFRfSVJRICovCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEFDUEktYmFzZWQgSU9BUElDIENvbmZpZ3VyYXRpb24KKwkJCUFDUEktYmFzZWQgSU9BUElDIENvbmZpZ3VyYXRpb24KICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKICNpZmRlZiBDT05GSUdfQUNQSQogCi1pbnQgX19pbml0IGlvX2FwaWNfZ2V0X3VuaXF1ZV9pZCAoaW50IGlvYXBpYywgaW50IGFwaWNfaWQpCitpbnQgX19pbml0IGlvX2FwaWNfZ2V0X3VuaXF1ZV9pZChpbnQgaW9hcGljLCBpbnQgYXBpY19pZCkKIHsKIAl1bmlvbiBJT19BUElDX3JlZ18wMCByZWdfMDA7CiAJc3RhdGljIHBoeXNpZF9tYXNrX3QgYXBpY19pZF9tYXAgPSBQSFlTSURfTUFTS19OT05FOwpAQCAtMjY1NCwxMCArMjY4NSwxMCBAQAogCWludCBpID0gMDsKIAogCS8qCi0JICogVGhlIFA0IHBsYXRmb3JtIHN1cHBvcnRzIHVwIHRvIDI1NiBBUElDIElEcyBvbiB0d28gc2VwYXJhdGUgQVBJQyAKLQkgKiBidXNlcyAob25lIGZvciBMQVBJQ3MsIG9uZSBmb3IgSU9BUElDcyksIHdoZXJlIHByZWRlY2Vzc29ycyBvbmx5IAorCSAqIFRoZSBQNCBwbGF0Zm9ybSBzdXBwb3J0cyB1cCB0byAyNTYgQVBJQyBJRHMgb24gdHdvIHNlcGFyYXRlIEFQSUMKKwkgKiBidXNlcyAob25lIGZvciBMQVBJQ3MsIG9uZSBmb3IgSU9BUElDcyksIHdoZXJlIHByZWRlY2Vzc29ycyBvbmx5CiAJICogc3VwcG9ydHMgdXAgdG8gMTYgb24gb25lIHNoYXJlZCBBUElDIGJ1cy4KLQkgKiAKKwkgKgogCSAqIFRCRDogRXhwYW5kIExBUElDL0lPQVBJQyBzdXBwb3J0IG9uIFA0LWNsYXNzIHN5c3RlbXMgdG8gdGFrZSBmdWxsCiAJICogICAgICBhZHZhbnRhZ2Ugb2YgbmV3IEFQSUMgYnVzIGFyY2hpdGVjdHVyZS4KIAkgKi8KQEAgLTI2NzYsNyArMjcwNyw3IEBACiAJfQogCiAJLyoKLQkgKiBFdmVyeSBBUElDIGluIGEgc3lzdGVtIG11c3QgaGF2ZSBhIHVuaXF1ZSBJRCBvciB3ZSBnZXQgbG90cyBvZiBuaWNlIAorCSAqIEV2ZXJ5IEFQSUMgaW4gYSBzeXN0ZW0gbXVzdCBoYXZlIGEgdW5pcXVlIElEIG9yIHdlIGdldCBsb3RzIG9mIG5pY2UKIAkgKiAnc3R1Y2sgb24gc21wX2ludmFsaWRhdGVfbmVlZGVkIElQSSB3YWl0JyBtZXNzYWdlcy4KIAkgKi8KIAlpZiAoY2hlY2tfYXBpY2lkX3VzZWQoYXBpY19pZF9tYXAsIGFwaWNfaWQpKSB7CkBAIC0yNjkzLDcgKzI3MjQsNyBAQAogCQkJInRyeWluZyAlZFxuIiwgaW9hcGljLCBhcGljX2lkLCBpKTsKIAogCQlhcGljX2lkID0gaTsKLQl9IAorCX0KIAogCXRtcCA9IGFwaWNpZF90b19jcHVfcHJlc2VudChhcGljX2lkKTsKIAlwaHlzaWRzX29yKGFwaWNfaWRfbWFwLCBhcGljX2lkX21hcCwgdG1wKTsKQEAgLTI3MjAsNyArMjc1MSw3IEBACiB9CiAKIAotaW50IF9faW5pdCBpb19hcGljX2dldF92ZXJzaW9uIChpbnQgaW9hcGljKQoraW50IF9faW5pdCBpb19hcGljX2dldF92ZXJzaW9uKGludCBpb2FwaWMpCiB7CiAJdW5pb24gSU9fQVBJQ19yZWdfMDEJcmVnXzAxOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC0yNzMzLDcgKzI3NjQsNyBAQAogfQogCiAKLWludCBfX2luaXQgaW9fYXBpY19nZXRfcmVkaXJfZW50cmllcyAoaW50IGlvYXBpYykKK2ludCBfX2luaXQgaW9fYXBpY19nZXRfcmVkaXJfZW50cmllcyhpbnQgaW9hcGljKQogewogCXVuaW9uIElPX0FQSUNfcmVnXzAxCXJlZ18wMTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtMjc0Niw3ICsyNzc3LDcgQEAKIH0KIAogCi1pbnQgaW9fYXBpY19zZXRfcGNpX3JvdXRpbmcgKGludCBpb2FwaWMsIGludCBwaW4sIGludCBpcnEsIGludCBlZGdlX2xldmVsLCBpbnQgYWN0aXZlX2hpZ2hfbG93KQoraW50IGlvX2FwaWNfc2V0X3BjaV9yb3V0aW5nKGludCBpb2FwaWMsIGludCBwaW4sIGludCBpcnEsIGludCBlZGdlX2xldmVsLCBpbnQgYWN0aXZlX2hpZ2hfbG93KQogewogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5OwogCkBAIC0yNzYyLDcgKzI3OTMsNyBAQAogCSAqIGNvcnJlc3BvbmRpbmcgZGV2aWNlIGRyaXZlciByZWdpc3RlcnMgZm9yIHRoaXMgSVJRLgogCSAqLwogCi0JbWVtc2V0KCZlbnRyeSwwLHNpemVvZihlbnRyeSkpOworCW1lbXNldCgmZW50cnksIDAsIHNpemVvZihlbnRyeSkpOwogCiAJZW50cnkuZGVsaXZlcnlfbW9kZSA9IElOVF9ERUxJVkVSWV9NT0RFOwogCWVudHJ5LmRlc3RfbW9kZSA9IElOVF9ERVNUX01PREU7CkBAIC0yNzgxLDcgKzI4MTIsNyBAQAogCiAJYXBpY19wcmludGsoQVBJQ19ERUJVRywgS0VSTl9ERUJVRyAiSU9BUElDWyVkXTogU2V0IFBDSSByb3V0aW5nIGVudHJ5ICIKIAkJIiglZC0lZCAtPiAweCV4IC0+IElSUSAlZCBNb2RlOiVpIEFjdGl2ZTolaSlcbiIsIGlvYXBpYywKLQkJbXBfaW9hcGljc1tpb2FwaWNdLm1wY19hcGljaWQsIHBpbiwgZW50cnkudmVjdG9yLCBpcnEsCisJCW1wX2lvYXBpY3NbaW9hcGljXS5tcF9hcGljaWQsIHBpbiwgZW50cnkudmVjdG9yLCBpcnEsCiAJCWVkZ2VfbGV2ZWwsIGFjdGl2ZV9oaWdoX2xvdyk7CiAKIAlpb2FwaWNfcmVnaXN0ZXJfaW50cihpcnEsIGVudHJ5LnZlY3RvciwgZWRnZV9sZXZlbCk7CkBAIC0yODAyLDggKzI4MzMsOCBAQAogCQlyZXR1cm4gLTE7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykKLQkJaWYgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gbXBfSU5UICYmCi0JCSAgICBtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gYnVzX2lycSkKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSBtcF9JTlQgJiYKKwkJICAgIG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID09IGJ1c19pcnEpCiAJCQlicmVhazsKIAlpZiAoaSA+PSBtcF9pcnFfZW50cmllcykKIAkJcmV0dXJuIC0xOwpAQCAtMjgzNiwzICsyODY3LDM0IEBACiAJcmV0dXJuIDA7CiB9CiBlYXJseV9wYXJhbSgibm9hcGljIiwgcGFyc2Vfbm9hcGljKTsKKwordm9pZCBfX2luaXQgaW9hcGljX2luaXRfbWFwcGluZ3Modm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGlvYXBpY19waHlzLCBpZHggPSBGSVhfSU9fQVBJQ19CQVNFXzA7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7CisJCWlmIChzbXBfZm91bmRfY29uZmlnKSB7CisJCQlpb2FwaWNfcGh5cyA9IG1wX2lvYXBpY3NbaV0ubXBfYXBpY2FkZHI7CisJCQlpZiAoIWlvYXBpY19waHlzKSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSCisJCQkJICAgICAgICJXQVJOSU5HOiBib2d1cyB6ZXJvIElPLUFQSUMgIgorCQkJCSAgICAgICAiYWRkcmVzcyBmb3VuZCBpbiBNUFRBQkxFLCAiCisJCQkJICAgICAgICJkaXNhYmxpbmcgSU8vQVBJQyBzdXBwb3J0IVxuIik7CisJCQkJc21wX2ZvdW5kX2NvbmZpZyA9IDA7CisJCQkJc2tpcF9pb2FwaWNfc2V0dXAgPSAxOworCQkJCWdvdG8gZmFrZV9pb2FwaWNfcGFnZTsKKwkJCX0KKwkJfSBlbHNlIHsKK2Zha2VfaW9hcGljX3BhZ2U6CisJCQlpb2FwaWNfcGh5cyA9ICh1bnNpZ25lZCBsb25nKQorCQkJCSAgICAgIGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKKwkJCWlvYXBpY19waHlzID0gX19wYShpb2FwaWNfcGh5cyk7CisJCX0KKwkJc2V0X2ZpeG1hcF9ub2NhY2hlKGlkeCwgaW9hcGljX3BoeXMpOworCQlwcmludGsoS0VSTl9ERUJVRyAibWFwcGVkIElPQVBJQyB0byAlMDhseCAoJTA4bHgpXG4iLAorCQkgICAgICAgX19maXhfdG9fdmlydChpZHgpLCBpb2FwaWNfcGh5cyk7CisJCWlkeCsrOworCX0KK30KKwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzY0LmMKaW5kZXggZWYxYThkZi4uNjUxMGNkZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY182NC5jCkBAIC02MSw3ICs2MSw3IEBACiB9OwogCiAvKiBpcnFfY2ZnIGlzIGluZGV4ZWQgYnkgdGhlIHN1bSBvZiBhbGwgUlRFcyBpbiBhbGwgSS9PIEFQSUNzLiAqLwotc3RydWN0IGlycV9jZmcgaXJxX2NmZ1tOUl9JUlFTXSBfX3JlYWRfbW9zdGx5ID0geworc3RhdGljIHN0cnVjdCBpcnFfY2ZnIGlycV9jZmdbTlJfSVJRU10gX19yZWFkX21vc3RseSA9IHsKIAlbMF0gID0geyAuZG9tYWluID0gQ1BVX01BU0tfQUxMLCAudmVjdG9yID0gSVJRMF9WRUNUT1IsICB9LAogCVsxXSAgPSB7IC5kb21haW4gPSBDUFVfTUFTS19BTEwsIC52ZWN0b3IgPSBJUlExX1ZFQ1RPUiwgIH0sCiAJWzJdICA9IHsgLmRvbWFpbiA9IENQVV9NQVNLX0FMTCwgLnZlY3RvciA9IElSUTJfVkVDVE9SLCAgfSwKQEAgLTgyLDYgKzgyLDEwIEBACiAKIHN0YXRpYyBpbnQgYXNzaWduX2lycV92ZWN0b3IoaW50IGlycSwgY3B1bWFza190IG1hc2spOwogCitpbnQgZmlyc3Rfc3lzdGVtX3ZlY3RvciA9IDB4ZmU7CisKK2NoYXIgc3lzdGVtX3ZlY3RvcnNbTlJfVkVDVE9SU10gPSB7IFswIC4uLiBOUl9WRUNUT1JTLTFdID0gU1lTX1ZFQ1RPUl9GUkVFfTsKKwogI2RlZmluZSBfX2FwaWNkZWJ1Z2luaXQgIF9faW5pdAogCiBpbnQgc2lzX2FwaWNfYnVnOyAvKiBub3QgYWN0dWFsbHkgc3VwcG9ydGVkLCBkdW1teSBmb3IgY29tcGlsZSAqLwpAQCAtOTAsNyArOTQsNyBAQAogCiBzdGF0aWMgaW50IGRpc2FibGVfdGltZXJfcGluXzEgX19pbml0ZGF0YTsKIAotaW50IHRpbWVyX292ZXJfODI1NCBfX2luaXRkYXRhID0gMTsKK2ludCB0aW1lcl90aHJvdWdoXzgyNTkgX19pbml0ZGF0YTsKIAogLyogV2hlcmUgaWYgYW55d2hlcmUgaXMgdGhlIGk4MjU5IGNvbm5lY3QgaW4gZXh0ZXJuYWwgaW50IG1vZGUgKi8KIHN0YXRpYyBzdHJ1Y3QgeyBpbnQgcGluLCBhcGljOyB9IGlvYXBpY19pODI1OSA9IHsgLTEsIC0xIH07CkBAIC0xMDQsMTUgKzEwOCwxNyBAQAogaW50IG5yX2lvYXBpY19yZWdpc3RlcnNbTUFYX0lPX0FQSUNTXTsKIAogLyogSS9PIEFQSUMgZW50cmllcyAqLwotc3RydWN0IG1wY19jb25maWdfaW9hcGljIG1wX2lvYXBpY3NbTUFYX0lPX0FQSUNTXTsKK3N0cnVjdCBtcF9jb25maWdfaW9hcGljIG1wX2lvYXBpY3NbTUFYX0lPX0FQSUNTXTsKIGludCBucl9pb2FwaWNzOwogCiAvKiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KLXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyBtcF9pcnFzW01BWF9JUlFfU09VUkNFU107CitzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyBtcF9pcnFzW01BWF9JUlFfU09VUkNFU107CiAKIC8qICMgb2YgTVAgSVJRIHNvdXJjZSBlbnRyaWVzICovCiBpbnQgbXBfaXJxX2VudHJpZXM7CiAKK0RFQ0xBUkVfQklUTUFQKG1wX2J1c19ub3RfcGNpLCBNQVhfTVBfQlVTU0VTKTsKKwogLyoKICAqIFJvdWdoIGVzdGltYXRpb24gb2YgaG93IG1hbnkgc2hhcmVkIElSUXMgdGhlcmUgYXJlLCBjYW4KICAqIGJlIGNoYW5nZWQgYW55dGltZS4KQEAgLTE0MCw3ICsxNDYsNyBAQAogc3RhdGljIF9fYXR0cmlidXRlX2NvbnN0X18gc3RydWN0IGlvX2FwaWMgX19pb21lbSAqaW9fYXBpY19iYXNlKGludCBpZHgpCiB7CiAJcmV0dXJuICh2b2lkIF9faW9tZW0gKikgX19maXhfdG9fdmlydChGSVhfSU9fQVBJQ19CQVNFXzAgKyBpZHgpCi0JCSsgKG1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY2FkZHIgJiB+UEFHRV9NQVNLKTsKKwkJKyAobXBfaW9hcGljc1tpZHhdLm1wX2FwaWNhZGRyICYgflBBR0VfTUFTSyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGlvX2FwaWNfcmVhZCh1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHJlZykKQEAgLTE4Myw3ICsxODksNyBAQAogCQkJYnJlYWs7CiAJCXJlZyA9IGlvX2FwaWNfcmVhZChlbnRyeS0+YXBpYywgMHgxMCArIHBpbioyKTsKIAkJLyogSXMgdGhlIHJlbW90ZSBJUlIgYml0IHNldD8gKi8KLQkJaWYgKChyZWcgPj4gMTQpICYgMSkgeworCQlpZiAocmVnICYgSU9fQVBJQ19SRURJUl9SRU1PVEVfSVJSKSB7CiAJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCQkJcmV0dXJuIHRydWU7CiAJCX0KQEAgLTI5OCw3ICszMDQsNyBAQAogCQkJYnJlYWs7CiAJCWlvX2FwaWNfd3JpdGUoYXBpYywgMHgxMSArIHBpbioyLCBkZXN0KTsKIAkJcmVnID0gaW9fYXBpY19yZWFkKGFwaWMsIDB4MTAgKyBwaW4qMik7Ci0JCXJlZyAmPSB+MHgwMDAwMDBmZjsKKwkJcmVnICY9IH5JT19BUElDX1JFRElSX1ZFQ1RPUl9NQVNLOwogCQlyZWcgfD0gdmVjdG9yOwogCQlpb19hcGljX21vZGlmeShhcGljLCByZWcpOwogCQlpZiAoIWVudHJ5LT5uZXh0KQpAQCAtMzYwLDE2ICszNjYsMzcgQEAKIAllbnRyeS0+cGluID0gcGluOwogfQogCisvKgorICogUmVyb3V0ZSBhbiBJUlEgdG8gYSBkaWZmZXJlbnQgcGluLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgcmVwbGFjZV9waW5fYXRfaXJxKHVuc2lnbmVkIGludCBpcnEsCisJCQkJICAgICAgaW50IG9sZGFwaWMsIGludCBvbGRwaW4sCisJCQkJICAgICAgaW50IG5ld2FwaWMsIGludCBuZXdwaW4pCit7CisJc3RydWN0IGlycV9waW5fbGlzdCAqZW50cnkgPSBpcnFfMl9waW4gKyBpcnE7CisKKwl3aGlsZSAoMSkgeworCQlpZiAoZW50cnktPmFwaWMgPT0gb2xkYXBpYyAmJiBlbnRyeS0+cGluID09IG9sZHBpbikgeworCQkJZW50cnktPmFwaWMgPSBuZXdhcGljOworCQkJZW50cnktPnBpbiA9IG5ld3BpbjsKKwkJfQorCQlpZiAoIWVudHJ5LT5uZXh0KQorCQkJYnJlYWs7CisJCWVudHJ5ID0gaXJxXzJfcGluICsgZW50cnktPm5leHQ7CisJfQorfQorCiAKICNkZWZpbmUgRE9fQUNUSU9OKG5hbWUsUixBQ1RJT04sIEZJTkFMKQkJCQkJXAogCQkJCQkJCQkJXAogCXN0YXRpYyB2b2lkIG5hbWUjI19JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkJCVwKIAlfX0RPX0FDVElPTihSLCBBQ1RJT04sIEZJTkFMKQogCi1ET19BQ1RJT04oIF9fbWFzaywgICAgICAgICAgICAgMCwgfD0gMHgwMDAxMDAwMCwgaW9fYXBpY19zeW5jKGVudHJ5LT5hcGljKSApCi0JCQkJCQkvKiBtYXNrID0gMSAqLwotRE9fQUNUSU9OKCBfX3VubWFzaywgICAgICAgICAgIDAsICY9IDB4ZmZmZWZmZmYsICkKLQkJCQkJCS8qIG1hc2sgPSAwICovCisvKiBtYXNrID0gMSAqLworRE9fQUNUSU9OKF9fbWFzaywJMCwgfD0gSU9fQVBJQ19SRURJUl9NQVNLRUQsIGlvX2FwaWNfc3luYyhlbnRyeS0+YXBpYykpCisKKy8qIG1hc2sgPSAwICovCitET19BQ1RJT04oX191bm1hc2ssCTAsICY9IH5JT19BUElDX1JFRElSX01BU0tFRCwgKQogCiBzdGF0aWMgdm9pZCBtYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQogewpAQCAtNDMwLDIwICs0NTcsNiBAQAogfQogX19zZXR1cCgiZGlzYWJsZV90aW1lcl9waW5fMSIsIGRpc2FibGVfdGltZXJfcGluX3NldHVwKTsKIAotc3RhdGljIGludCBfX2luaXQgc2V0dXBfZGlzYWJsZV84MjU0X3RpbWVyKGNoYXIgKnMpCi17Ci0JdGltZXJfb3Zlcl84MjU0ID0gLTE7Ci0JcmV0dXJuIDE7Ci19Ci1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9lbmFibGVfODI1NF90aW1lcihjaGFyICpzKQotewotCXRpbWVyX292ZXJfODI1NCA9IDI7Ci0JcmV0dXJuIDE7Ci19Ci0KLV9fc2V0dXAoImRpc2FibGVfODI1NF90aW1lciIsIHNldHVwX2Rpc2FibGVfODI1NF90aW1lcik7Ci1fX3NldHVwKCJlbmFibGVfODI1NF90aW1lciIsIHNldHVwX2VuYWJsZV84MjU0X3RpbWVyKTsKLQogCiAvKgogICogRmluZCB0aGUgSVJRIGVudHJ5IG51bWJlciBvZiBhIGNlcnRhaW4gcGluLgpAQCAtNDUzLDEwICs0NjYsMTAgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKQotCQlpZiAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSB0eXBlICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgfHwKLQkJICAgICBtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IE1QX0FQSUNfQUxMKSAmJgotCQkgICAgbXBfaXJxc1tpXS5tcGNfZHN0aXJxID09IHBpbikKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSB0eXBlICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9kc3RhcGljID09IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkIHx8CisJCSAgICAgbXBfaXJxc1tpXS5tcF9kc3RhcGljID09IE1QX0FQSUNfQUxMKSAmJgorCQkgICAgbXBfaXJxc1tpXS5tcF9kc3RpcnEgPT0gcGluKQogCQkJcmV0dXJuIGk7CiAKIAlyZXR1cm4gLTE7CkBAIC00NzAsMTMgKzQ4MywxMyBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJaWYgKHRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gaXJxKSkKKwkJICAgIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSkgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBpcnEpKQogCi0JCQlyZXR1cm4gbXBfaXJxc1tpXS5tcGNfZHN0aXJxOworCQkJcmV0dXJuIG1wX2lycXNbaV0ubXBfZHN0aXJxOwogCX0KIAlyZXR1cm4gLTE7CiB9CkBAIC00ODYsMTcgKzQ5OSwxNyBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJaWYgKHRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gaXJxKSkKKwkJICAgIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSkgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBpcnEpKQogCQkJYnJlYWs7CiAJfQogCWlmIChpIDwgbXBfaXJxX2VudHJpZXMpIHsKIAkJaW50IGFwaWM7CiAJCWZvcihhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgewotCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wY19kc3RhcGljKQorCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID09IG1wX2lycXNbaV0ubXBfZHN0YXBpYykKIAkJCQlyZXR1cm4gYXBpYzsKIAkJfQogCX0KQEAgLTUxNiwyOCArNTI5LDI4IEBACiAKIAlhcGljX3ByaW50ayhBUElDX0RFQlVHLCAicXVlcnlpbmcgUENJIC0+IElSUSBtYXBwaW5nIGJ1czolZCwgc2xvdDolZCwgcGluOiVkLlxuIiwKIAkJYnVzLCBzbG90LCBwaW4pOwotCWlmIChtcF9idXNfaWRfdG9fcGNpX2J1c1tidXNdID09IC0xKSB7CisJaWYgKHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpKSB7CiAJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIlBDSSBCSU9TIHBhc3NlZCBub25leGlzdGVudCBQQ0kgYnVzICVkIVxuIiwgYnVzKTsKIAkJcmV0dXJuIC0xOwogCX0KIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgewotCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBjX3NyY2J1czsKKwkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wX3NyY2J1czsKIAogCQlmb3IgKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKQotCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wY19kc3RhcGljIHx8Ci0JCQkgICAgbXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkKKwkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wX2RzdGFwaWMgfHwKKwkJCSAgICBtcF9pcnFzW2ldLm1wX2RzdGFwaWMgPT0gTVBfQVBJQ19BTEwpCiAJCQkJYnJlYWs7CiAKIAkJaWYgKCF0ZXN0X2JpdChsYnVzLCBtcF9idXNfbm90X3BjaSkgJiYKLQkJICAgICFtcF9pcnFzW2ldLm1wY19pcnF0eXBlICYmCisJCSAgICAhbXBfaXJxc1tpXS5tcF9pcnF0eXBlICYmCiAJCSAgICAoYnVzID09IGxidXMpICYmCi0JCSAgICAoc2xvdCA9PSAoKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSA+PiAyKSAmIDB4MWYpKSkgewotCQkJaW50IGlycSA9IHBpbl8yX2lycShpLGFwaWMsbXBfaXJxc1tpXS5tcGNfZHN0aXJxKTsKKwkJICAgIChzbG90ID09ICgobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPj4gMikgJiAweDFmKSkpIHsKKwkJCWludCBpcnEgPSBwaW5fMl9pcnEoaSxhcGljLG1wX2lycXNbaV0ubXBfZHN0aXJxKTsKIAogCQkJaWYgKCEoYXBpYyB8fCBJT19BUElDX0lSUShpcnEpKSkKIAkJCQljb250aW51ZTsKIAotCQkJaWYgKHBpbiA9PSAobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxICYgMykpCisJCQlpZiAocGluID09IChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSAmIDMpKQogCQkJCXJldHVybiBpcnE7CiAJCQkvKgogCQkJICogVXNlIHRoZSBmaXJzdCBhbGwtYnV0LXBpbiBtYXRjaGluZyBlbnRyeSBhcyBhCkBAIC01NjUsMTMgKzU3OCwxMyBAQAogCiBzdGF0aWMgaW50IE1QQklPU19wb2xhcml0eShpbnQgaWR4KQogewotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAlpbnQgcG9sYXJpdHk7CiAKIAkvKgogCSAqIERldGVybWluZSBJUlEgbGluZSBwb2xhcml0eSAoaGlnaCBhY3RpdmUgb3IgbG93IGFjdGl2ZSk6CiAJICovCi0Jc3dpdGNoIChtcF9pcnFzW2lkeF0ubXBjX2lycWZsYWcgJiAzKQorCXN3aXRjaCAobXBfaXJxc1tpZHhdLm1wX2lycWZsYWcgJiAzKQogCXsKIAkJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCBwb2xhcml0eSAqLwogCQkJaWYgKHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpKQpAQCAtNjA3LDEzICs2MjAsMTMgQEAKIAogc3RhdGljIGludCBNUEJJT1NfdHJpZ2dlcihpbnQgaWR4KQogewotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAlpbnQgdHJpZ2dlcjsKIAogCS8qCiAJICogRGV0ZXJtaW5lIElSUSB0cmlnZ2VyIG1vZGUgKGVkZ2Ugb3IgbGV2ZWwgc2Vuc2l0aXZlKToKIAkgKi8KLQlzd2l0Y2ggKChtcF9pcnFzW2lkeF0ubXBjX2lycWZsYWc+PjIpICYgMykKKwlzd2l0Y2ggKChtcF9pcnFzW2lkeF0ubXBfaXJxZmxhZz4+MikgJiAzKQogCXsKIAkJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCAqLwogCQkJaWYgKHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpKQpAQCAtNjYwLDE2ICs2NzMsMTYgQEAKIHN0YXRpYyBpbnQgcGluXzJfaXJxKGludCBpZHgsIGludCBhcGljLCBpbnQgcGluKQogewogCWludCBpcnEsIGk7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCiAJLyoKIAkgKiBEZWJ1Z2dpbmcgY2hlY2ssIHdlIGFyZSBpbiBiaWcgdHJvdWJsZSBpZiB0aGlzIG1lc3NhZ2UgcG9wcyB1cCEKIAkgKi8KLQlpZiAobXBfaXJxc1tpZHhdLm1wY19kc3RpcnEgIT0gcGluKQorCWlmIChtcF9pcnFzW2lkeF0ubXBfZHN0aXJxICE9IHBpbikKIAkJcHJpbnRrKEtFUk5fRVJSICJicm9rZW4gQklPUyBvciBNUFRBQkxFIHBhcnNlciwgYXlpZWUhIVxuIik7CiAKIAlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpIHsKLQkJaXJxID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXNpcnE7CisJCWlycSA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXNpcnE7CiAJfSBlbHNlIHsKIAkJLyoKIAkJICogUENJIElSUXMgYXJlIG1hcHBlZCBpbiBvcmRlcgpAQCAtNzMwLDcgKzc0Myw3IEBACiAJCW9mZnNldCA9IGN1cnJlbnRfb2Zmc2V0OwogbmV4dDoKIAkJdmVjdG9yICs9IDg7Ci0JCWlmICh2ZWN0b3IgPj0gRklSU1RfU1lTVEVNX1ZFQ1RPUikgeworCQlpZiAodmVjdG9yID49IGZpcnN0X3N5c3RlbV92ZWN0b3IpIHsKIAkJCS8qIElmIHdlIHJ1biBvdXQgb2YgdmVjdG9ycyBvbiBsYXJnZSBib3hlbiwgbXVzdCBzaGFyZSB0aGVtLiAqLwogCQkJb2Zmc2V0ID0gKG9mZnNldCArIDEpICUgODsKIAkJCXZlY3RvciA9IEZJUlNUX0RFVklDRV9WRUNUT1IgKyBvZmZzZXQ7CkBAIC03ODgsNyArODAxLDcgQEAKIAljcHVzX2NsZWFyKGNmZy0+ZG9tYWluKTsKIH0KIAotdm9pZCBfX3NldHVwX3ZlY3Rvcl9pcnEoaW50IGNwdSkKK3N0YXRpYyB2b2lkIF9fc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KQogewogCS8qIEluaXRpYWxpemUgdmVjdG9yX2lycSBvbiBhIG5ldyBjcHUgKi8KIAkvKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHdpdGggdmVjdG9yX2xvY2sgaGVsZCAqLwpAQCAtODExLDYgKzgyNCwxMyBAQAogCX0KIH0KIAordm9pZCBzZXR1cF92ZWN0b3JfaXJxKGludCBjcHUpCit7CisJc3Bpbl9sb2NrKCZ2ZWN0b3JfbG9jayk7CisJX19zZXR1cF92ZWN0b3JfaXJxKHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJc3Bpbl91bmxvY2soJnZlY3Rvcl9sb2NrKTsKK30KKwogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIGlvYXBpY19jaGlwOwogCkBAIC04NDYsNyArODY2LDcgQEAKIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsS0VSTl9ERUJVRwogCQkgICAgIklPQVBJQ1slZF06IFNldCByb3V0aW5nIGVudHJ5ICglZC0lZCAtPiAweCV4IC0+ICIKIAkJICAgICJJUlEgJWQgTW9kZTolaSBBY3RpdmU6JWkpXG4iLAotCQkgICAgYXBpYywgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkLCBwaW4sIGNmZy0+dmVjdG9yLAorCQkgICAgYXBpYywgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQsIHBpbiwgY2ZnLT52ZWN0b3IsCiAJCSAgICBpcnEsIHRyaWdnZXIsIHBvbGFyaXR5KTsKIAogCS8qCkBAIC04ODcsMTAgKzkwNywxMCBAQAogCQlpZHggPSBmaW5kX2lycV9lbnRyeShhcGljLHBpbixtcF9JTlQpOwogCQlpZiAoaWR4ID09IC0xKSB7CiAJCQlpZiAoZmlyc3Rfbm90Y29uKSB7Ci0JCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCBLRVJOX0RFQlVHICIgSU8tQVBJQyAoYXBpY2lkLXBpbikgJWQtJWQiLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsIHBpbik7CisJCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCBLRVJOX0RFQlVHICIgSU8tQVBJQyAoYXBpY2lkLXBpbikgJWQtJWQiLCBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCwgcGluKTsKIAkJCQlmaXJzdF9ub3Rjb24gPSAwOwogCQkJfSBlbHNlCi0JCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiLCAlZC0lZCIsIG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCwgcGluKTsKKwkJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICIsICVkLSVkIiwgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQsIHBpbik7CiAJCQljb250aW51ZTsKIAkJfQogCQlpZiAoIWZpcnN0X25vdGNvbikgewpAQCAtOTExLDI2ICs5MzEsMjEgQEAKIH0KIAogLyoKLSAqIFNldCB1cCB0aGUgODI1OUEtbWFzdGVyIG91dHB1dCBwaW4gYXMgYnJvYWRjYXN0IHRvIGFsbAotICogQ1BVcy4KKyAqIFNldCB1cCB0aGUgdGltZXIgcGluLCBwb3NzaWJseSB3aXRoIHRoZSA4MjU5QS1tYXN0ZXIgYmVoaW5kLgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfRXh0SU5UX0lSUTBfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluLCBpbnQgdmVjdG9yKQorc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3RpbWVyX0lSUTBfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluLAorCQkJCQlpbnQgdmVjdG9yKQogewogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5OwogCiAJbWVtc2V0KCZlbnRyeSwgMCwgc2l6ZW9mKGVudHJ5KSk7CiAKLQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKLQotCS8qIG1hc2sgTFZUMCAqLwotCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCBBUElDX0xWVF9NQVNLRUQgfCBBUElDX0RNX0VYVElOVCk7Ci0KIAkvKgogCSAqIFdlIHVzZSBsb2dpY2FsIGRlbGl2ZXJ5IHRvIGdldCB0aGUgdGltZXIgSVJRCiAJICogdG8gdGhlIGZpcnN0IENQVS4KIAkgKi8KIAllbnRyeS5kZXN0X21vZGUgPSBJTlRfREVTVF9NT0RFOwotCWVudHJ5Lm1hc2sgPSAwOwkJCQkJLyogdW5tYXNrIElSUSBub3cgKi8KKwllbnRyeS5tYXNrID0gMTsJCQkJCS8qIG1hc2sgSVJRIG5vdyAqLwogCWVudHJ5LmRlc3QgPSBjcHVfbWFza190b19hcGljaWQoVEFSR0VUX0NQVVMpOwogCWVudHJ5LmRlbGl2ZXJ5X21vZGUgPSBJTlRfREVMSVZFUllfTU9ERTsKIAllbnRyeS5wb2xhcml0eSA9IDA7CkBAIC05MzksNyArOTU0LDcgQEAKIAogCS8qCiAJICogVGhlIHRpbWVyIElSUSBkb2Vzbid0IGhhdmUgdG8ga25vdyB0aGF0IGJlaGluZCB0aGUKLQkgKiBzY2VuZSB3ZSBoYXZlIGEgODI1OUEtbWFzdGVyIGluIEFFT0kgbW9kZSAuLi4KKwkgKiBzY2VuZSB3ZSBtYXkgaGF2ZSBhIDgyNTlBLW1hc3RlciBpbiBBRU9JIG1vZGUgLi4uCiAJICovCiAJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoMCwgJmlvYXBpY19jaGlwLCBoYW5kbGVfZWRnZV9pcnEsICJlZGdlIik7CiAKQEAgLTk0Nyw4ICs5NjIsNiBAQAogCSAqIEFkZCBpdCB0byB0aGUgSU8tQVBJQyBpcnEtcm91dGluZyB0YWJsZToKIAkgKi8KIAlpb2FwaWNfd3JpdGVfZW50cnkoYXBpYywgcGluLCBlbnRyeSk7Ci0KLQllbmFibGVfODI1OUFfaXJxKDApOwogfQogCiB2b2lkIF9fYXBpY2RlYnVnaW5pdCBwcmludF9JT19BUElDKHZvaWQpCkBAIC05NjUsNyArOTc4LDcgQEAKIAlwcmludGsoS0VSTl9ERUJVRyAibnVtYmVyIG9mIE1QIElSUSBzb3VyY2VzOiAlZC5cbiIsIG1wX2lycV9lbnRyaWVzKTsKIAlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKQogCQlwcmludGsoS0VSTl9ERUJVRyAibnVtYmVyIG9mIElPLUFQSUMgIyVkIHJlZ2lzdGVyczogJWQuXG4iLAotCQkgICAgICAgbXBfaW9hcGljc1tpXS5tcGNfYXBpY2lkLCBucl9pb2FwaWNfcmVnaXN0ZXJzW2ldKTsKKwkJICAgICAgIG1wX2lvYXBpY3NbaV0ubXBfYXBpY2lkLCBucl9pb2FwaWNfcmVnaXN0ZXJzW2ldKTsKIAogCS8qCiAJICogV2UgYXJlIGEgYml0IGNvbnNlcnZhdGl2ZSBhYm91dCB3aGF0IHdlIGV4cGVjdC4gIFdlIGhhdmUgdG8KQEAgLTk4Myw3ICs5OTYsNyBAQAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAKIAlwcmludGsoIlxuIik7Ci0JcHJpbnRrKEtFUk5fREVCVUcgIklPIEFQSUMgIyVkLi4uLi4uXG4iLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCXByaW50ayhLRVJOX0RFQlVHICJJTyBBUElDICMlZC4uLi4uLlxuIiwgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4uIHJlZ2lzdGVyICMwMDogJTA4WFxuIiwgcmVnXzAwLnJhdyk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLi4uLi4gICAgOiBwaHlzaWNhbCBBUElDIGlkOiAlMDJYXG4iLCByZWdfMDAuYml0cy5JRCk7CiAKQEAgLTEwNzcsNiArMTA5MCw3IEBACiAKIAlwcmludGsoIlxuIiBLRVJOX0RFQlVHICJwcmludGluZyBsb2NhbCBBUElDIGNvbnRlbnRzIG9uIENQVSMlZC8lZDpcbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSwgaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCkpOworCXYgPSBhcGljX3JlYWQoQVBJQ19JRCk7CiAJcHJpbnRrKEtFUk5fSU5GTyAiLi4uIEFQSUMgSUQ6ICAgICAgJTA4eCAoJTAxeClcbiIsIHYsIEdFVF9BUElDX0lEKHJlYWRfYXBpY19pZCgpKSk7CiAJdiA9IGFwaWNfcmVhZChBUElDX0xWUik7CiAJcHJpbnRrKEtFUk5fSU5GTyAiLi4uIEFQSUMgVkVSU0lPTjogJTA4eFxuIiwgdik7CkBAIC0xMTQ2LDcgKzExNjAsNyBAQAogCiB2b2lkIHByaW50X2FsbF9sb2NhbF9BUElDcyAodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShwcmludF9sb2NhbF9BUElDLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShwcmludF9sb2NhbF9BUElDLCBOVUxMLCAxKTsKIH0KIAogdm9pZCBfX2FwaWNkZWJ1Z2luaXQgcHJpbnRfUElDKHZvaWQpCkBAIC0xNTQwLDcgKzE1NTQsNyBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgZW5hYmxlX2xhcGljX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIHVubWFza19sYXBpY19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAl1bnNpZ25lZCBsb25nIHY7CiAKQEAgLTE1NDgsNyArMTU2Miw3IEBACiAJYXBpY193cml0ZShBUElDX0xWVDAsIHYgJiB+QVBJQ19MVlRfTUFTS0VEKTsKIH0KIAotc3RhdGljIHZvaWQgZGlzYWJsZV9sYXBpY19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCBtYXNrX2xhcGljX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgdjsKIApAQCAtMTU2MSwxOSArMTU3NSwyMCBAQAogCWFja19BUElDX2lycSgpOwogfQogCi1zdGF0aWMgdm9pZCBlbmRfbGFwaWNfaXJxICh1bnNpZ25lZCBpbnQgaSkgeyAvKiBub3RoaW5nICovIH0KLQotc3RhdGljIHN0cnVjdCBod19pbnRlcnJ1cHRfdHlwZSBsYXBpY19pcnFfdHlwZSBfX3JlYWRfbW9zdGx5ID0gewotCS5uYW1lID0gImxvY2FsLUFQSUMiLAotCS50eXBlbmFtZSA9ICJsb2NhbC1BUElDLWVkZ2UiLAotCS5zdGFydHVwID0gTlVMTCwgLyogc3RhcnR1cF9pcnEoKSBub3QgdXNlZCBmb3IgSVJRMCAqLwotCS5zaHV0ZG93biA9IE5VTEwsIC8qIHNodXRkb3duX2lycSgpIG5vdCB1c2VkIGZvciBJUlEwICovCi0JLmVuYWJsZSA9IGVuYWJsZV9sYXBpY19pcnEsCi0JLmRpc2FibGUgPSBkaXNhYmxlX2xhcGljX2lycSwKLQkuYWNrID0gYWNrX2xhcGljX2lycSwKLQkuZW5kID0gZW5kX2xhcGljX2lycSwKK3N0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgbGFwaWNfY2hpcCBfX3JlYWRfbW9zdGx5ID0geworCS5uYW1lCQk9ICJsb2NhbC1BUElDIiwKKwkubWFzawkJPSBtYXNrX2xhcGljX2lycSwKKwkudW5tYXNrCQk9IHVubWFza19sYXBpY19pcnEsCisJLmFjawkJPSBhY2tfbGFwaWNfaXJxLAogfTsKIAorc3RhdGljIHZvaWQgbGFwaWNfcmVnaXN0ZXJfaW50cihpbnQgaXJxKQoreworCWlycV9kZXNjW2lycV0uc3RhdHVzICY9IH5JUlFfTEVWRUw7CisJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaXJxLCAmbGFwaWNfY2hpcCwgaGFuZGxlX2VkZ2VfaXJxLAorCQkJCSAgICAgICJlZGdlIik7Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ubWkodm9pZCkKIHsKIAkvKgpAQCAtMTY1OSw2ICsxNjc0LDcgQEAKIAlzdHJ1Y3QgaXJxX2NmZyAqY2ZnID0gaXJxX2NmZyArIDA7CiAJaW50IGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMjsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCBub19waW4xID0gMDsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIApAQCAtMTY2OSwxNiArMTY4NSwxMSBAQAogCWFzc2lnbl9pcnFfdmVjdG9yKDAsIFRBUkdFVF9DUFVTKTsKIAogCS8qCi0JICogU3VidGxlLCBjb2RlIGluIGRvX3RpbWVyX2ludGVycnVwdCgpIGV4cGVjdHMgYW4gQUVPSQotCSAqIG1vZGUgZm9yIHRoZSA4MjU5QSB3aGVuZXZlciBpbnRlcnJ1cHRzIGFyZSByb3V0ZWQKLQkgKiB0aHJvdWdoIEkvTyBBUElDcy4gIEFsc28gSVJRMCBoYXMgdG8gYmUgZW5hYmxlZCBpbgotCSAqIHRoZSA4MjU5QSB3aGljaCBpbXBsaWVzIHRoZSB2aXJ0dWFsIHdpcmUgaGFzIHRvIGJlCi0JICogZGlzYWJsZWQgaW4gdGhlIGxvY2FsIEFQSUMuCisJICogQXMgSVJRMCBpcyB0byBiZSBlbmFibGVkIGluIHRoZSA4MjU5QSwgdGhlIHZpcnR1YWwKKwkgKiB3aXJlIGhhcyB0byBiZSBkaXNhYmxlZCBpbiB0aGUgbG9jYWwgQVBJQy4KIAkgKi8KIAlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9FWFRJTlQpOwogCWluaXRfODI1OUEoMSk7Ci0JaWYgKHRpbWVyX292ZXJfODI1NCA+IDApCi0JCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAKIAlwaW4xICA9IGZpbmRfaXNhX2lycV9waW4oMCwgbXBfSU5UKTsKIAlhcGljMSA9IGZpbmRfaXNhX2lycV9hcGljKDAsIG1wX0lOVCk7CkBAIC0xNjg4LDE1ICsxNjk5LDMzIEBACiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLEtFUk5fSU5GTyAiLi5USU1FUjogdmVjdG9yPTB4JTAyWCBhcGljMT0lZCBwaW4xPSVkIGFwaWMyPSVkIHBpbjI9JWRcbiIsCiAJCWNmZy0+dmVjdG9yLCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjIpOwogCisJLyoKKwkgKiBTb21lIEJJT1Mgd3JpdGVycyBhcmUgY2x1ZWxlc3MgYW5kIHJlcG9ydCB0aGUgRXh0SU5UQQorCSAqIEkvTyBBUElDIGlucHV0IGZyb20gdGhlIGNhc2NhZGVkIDgyNTlBIGFzIHRoZSB0aW1lcgorCSAqIGludGVycnVwdCBpbnB1dC4gIFNvIGp1c3QgaW4gY2FzZSwgaWYgb25seSBvbmUgcGluCisJICogd2FzIGZvdW5kIGFib3ZlLCB0cnkgaXQgYm90aCBkaXJlY3RseSBhbmQgdGhyb3VnaCB0aGUKKwkgKiA4MjU5QS4KKwkgKi8KKwlpZiAocGluMSA9PSAtMSkgeworCQlwaW4xID0gcGluMjsKKwkJYXBpYzEgPSBhcGljMjsKKwkJbm9fcGluMSA9IDE7CisJfSBlbHNlIGlmIChwaW4yID09IC0xKSB7CisJCXBpbjIgPSBwaW4xOworCQlhcGljMiA9IGFwaWMxOworCX0KKwogCWlmIChwaW4xICE9IC0xKSB7CiAJCS8qCiAJCSAqIE9rLCBkb2VzIElSUTAgdGhyb3VnaCB0aGUgSU9BUElDIHdvcms/CiAJCSAqLworCQlpZiAobm9fcGluMSkgeworCQkJYWRkX3Bpbl90b19pcnEoMCwgYXBpYzEsIHBpbjEpOworCQkJc2V0dXBfdGltZXJfSVJRMF9waW4oYXBpYzEsIHBpbjEsIGNmZy0+dmVjdG9yKTsKKwkJfQogCQl1bm1hc2tfSU9fQVBJQ19pcnEoMCk7CiAJCWlmICghbm9fdGltZXJfY2hlY2sgJiYgdGltZXJfaXJxX3dvcmtzKCkpIHsKLQkJCW5taV93YXRjaGRvZ19kZWZhdWx0KCk7CiAJCQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7Ci0JCQkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJCQkJc2V0dXBfbm1pKCk7CiAJCQkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJCX0KQEAgLTE3MDUsNDMgKzE3MzQsNDggQEAKIAkJCWdvdG8gb3V0OwogCQl9CiAJCWNsZWFyX0lPX0FQSUNfcGluKGFwaWMxLCBwaW4xKTsKLQkJYXBpY19wcmludGsoQVBJQ19RVUlFVCxLRVJOX0VSUiAiLi5NUC1CSU9TIGJ1ZzogODI1NCB0aW1lciBub3QgIgotCQkJCSJjb25uZWN0ZWQgdG8gSU8tQVBJQ1xuIik7Ci0JfQorCQlpZiAoIW5vX3BpbjEpCisJCQlhcGljX3ByaW50ayhBUElDX1FVSUVULEtFUk5fRVJSICIuLk1QLUJJT1MgYnVnOiAiCisJCQkJICAgICI4MjU0IHRpbWVyIG5vdCBjb25uZWN0ZWQgdG8gSU8tQVBJQ1xuIik7CiAKLQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIChJUlEwKSAiCi0JCQkJInRocm91Z2ggdGhlIDgyNTlBIC4uLiAiKTsKLQlpZiAocGluMiAhPSAtMSkgeworCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsS0VSTl9JTkZPCisJCQkiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciAoSVJRMCkgIgorCQkJInRocm91Z2ggdGhlIDgyNTlBIC4uLiAiKTsKIAkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCJcbi4uLi4uIChmb3VuZCBhcGljICVkIHBpbiAlZCkgLi4uIiwKIAkJCWFwaWMyLCBwaW4yKTsKIAkJLyoKIAkJICogbGVnYWN5IGRldmljZXMgc2hvdWxkIGJlIGNvbm5lY3RlZCB0byBJTyBBUElDICMwCiAJCSAqLwotCQlzZXR1cF9FeHRJTlRfSVJRMF9waW4oYXBpYzIsIHBpbjIsIGNmZy0+dmVjdG9yKTsKKwkJcmVwbGFjZV9waW5fYXRfaXJxKDAsIGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMik7CisJCXNldHVwX3RpbWVyX0lSUTBfcGluKGFwaWMyLCBwaW4yLCBjZmctPnZlY3Rvcik7CisJCXVubWFza19JT19BUElDX2lycSgwKTsKKwkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJaWYgKHRpbWVyX2lycV93b3JrcygpKSB7CiAJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIiB3b3Jrcy5cbiIpOwotCQkJbm1pX3dhdGNoZG9nX2RlZmF1bHQoKTsKKwkJCXRpbWVyX3Rocm91Z2hfODI1OSA9IDE7CiAJCQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7CisJCQkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJCQkJc2V0dXBfbm1pKCk7CisJCQkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJCX0KIAkJCWdvdG8gb3V0OwogCQl9CiAJCS8qCiAJCSAqIENsZWFudXAsIGp1c3QgaW4gY2FzZSAuLi4KIAkJICovCisJCWRpc2FibGVfODI1OUFfaXJxKDApOwogCQljbGVhcl9JT19BUElDX3BpbihhcGljMiwgcGluMik7CisJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwiIGZhaWxlZC5cbiIpOwogCX0KLQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIiBmYWlsZWQuXG4iKTsKIAogCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAidGltZXIgZG9lc24ndCB3b3JrIHRocm91Z2ggdGhlIElPLUFQSUMgLSBkaXNhYmxpbmcgTk1JIFdhdGNoZG9nIVxuIik7Ci0JCW5taV93YXRjaGRvZyA9IDA7CisJCW5taV93YXRjaGRvZyA9IE5NSV9OT05FOwogCX0KIAogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIGFzIFZpcnR1YWwgV2lyZSBJUlEuLi4iKTsKIAotCWRpc2FibGVfODI1OUFfaXJxKDApOwotCWlycV9kZXNjWzBdLmNoaXAgPSAmbGFwaWNfaXJxX3R5cGU7CisJbGFwaWNfcmVnaXN0ZXJfaW50cigwKTsKIAlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19ETV9GSVhFRCB8IGNmZy0+dmVjdG9yKTsJLyogRml4ZWQgbW9kZSAqLwogCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAKQEAgLTE3NDksNiArMTc4Myw3IEBACiAJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwiIHdvcmtzLlxuIik7CiAJCWdvdG8gb3V0OwogCX0KKwlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9GSVhFRCB8IGNmZy0+dmVjdG9yKTsKIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIiBmYWlsZWQuXG4iKTsKIApAQCAtMTc3OCwxMSArMTgxMywyMSBAQAogX19zZXR1cCgibm9fdGltZXJfY2hlY2siLCBub3RpbWVyY2hlY2spOwogCiAvKgotICoKLSAqIElSUXMgdGhhdCBhcmUgaGFuZGxlZCBieSB0aGUgUElDIGluIHRoZSBNUFMgSU9BUElDIGNhc2UuCi0gKiAtIElSUTIgaXMgdGhlIGNhc2NhZGUgSVJRLCBhbmQgY2Fubm90IGJlIGEgaW8tYXBpYyBJUlEuCi0gKiAgIExpbnV4IGRvZXNuJ3QgcmVhbGx5IGNhcmUsIGFzIGl0J3Mgbm90IGFjdHVhbGx5IHVzZWQKLSAqICAgZm9yIGFueSBpbnRlcnJ1cHQgaGFuZGxpbmcgYW55d2F5LgorICogVHJhZGl0aW9uYWxseSBJU0EgSVJRMiBpcyB0aGUgY2FzY2FkZSBJUlEsIGFuZCBpcyBub3QgYXZhaWxhYmxlCisgKiB0byBkZXZpY2VzLiAgSG93ZXZlciB0aGVyZSBtYXkgYmUgYW4gSS9PIEFQSUMgcGluIGF2YWlsYWJsZSBmb3IKKyAqIHRoaXMgaW50ZXJydXB0IHJlZ2FyZGxlc3MuICBUaGUgcGluIG1heSBiZSBsZWZ0IHVuY29ubmVjdGVkLCBidXQKKyAqIHR5cGljYWxseSBpdCB3aWxsIGJlIHJldXNlZCBhcyBhbiBFeHRJTlQgY2FzY2FkZSBpbnRlcnJ1cHQgZm9yCisgKiB0aGUgbWFzdGVyIDgyNTlBLiAgSW4gdGhlIE1QUyBjYXNlIHN1Y2ggYSBwaW4gd2lsbCBub3JtYWxseSBiZQorICogcmVwb3J0ZWQgYXMgYW4gRXh0SU5UIGludGVycnVwdCBpbiB0aGUgTVAgdGFibGUuICBXaXRoIEFDUEkKKyAqIHRoZXJlIGlzIG5vIHByb3Zpc2lvbiBmb3IgRXh0SU5UIGludGVycnVwdHMsIGFuZCBpbiB0aGUgYWJzZW5jZQorICogb2YgYW4gb3ZlcnJpZGUgaXQgd291bGQgYmUgdHJlYXRlZCBhcyBhbiBvcmRpbmFyeSBJU0EgSS9PIEFQSUMKKyAqIGludGVycnVwdCwgdGhhdCBpcyBlZGdlLXRyaWdnZXJlZCBhbmQgdW5tYXNrZWQgYnkgZGVmYXVsdC4gIFdlCisgKiB1c2VkIHRvIGRvIHRoaXMsIGJ1dCBpdCBjYXVzZWQgcHJvYmxlbXMgb24gc29tZSBzeXN0ZW1zIGJlY2F1c2UKKyAqIG9mIHRoZSBOTUkgd2F0Y2hkb2cgYW5kIHNvbWV0aW1lcyBJUlEwIG9mIHRoZSA4MjU0IHRpbWVyIHVzaW5nCisgKiB0aGUgc2FtZSBFeHRJTlQgY2FzY2FkZSBpbnRlcnJ1cHQgdG8gZHJpdmUgdGhlIGxvY2FsIEFQSUMgb2YgdGhlCisgKiBib290c3RyYXAgcHJvY2Vzc29yLiAgVGhlcmVmb3JlIHdlIHJlZnJhaW4gZnJvbSByb3V0aW5nIElSUTIgdG8KKyAqIHRoZSBJL08gQVBJQyBpbiBhbGwgY2FzZXMgbm93LiAgTm8gYWN0dWFsIGRldmljZSBzaG91bGQgcmVxdWVzdAorICogaXQgYW55d2F5LiAgLS1tYWNybwogICovCiAjZGVmaW5lIFBJQ19JUlFTCSgxPDwyKQogCkBAIC0xNzkzLDEwICsxODM4LDcgQEAKIAkgKiBjYWxsaW5nIGVuYWJsZV9JT19BUElDKCkgaXMgbW92ZWQgdG8gc2V0dXBfbG9jYWxfQVBJQyBmb3IgQlAKIAkgKi8KIAotCWlmIChhY3BpX2lvYXBpYykKLQkJaW9fYXBpY19pcnFzID0gfjA7CS8qIGFsbCBJUlFzIGdvIHRocm91Z2ggSU9BUElDICovCi0JZWxzZQotCQlpb19hcGljX2lycXMgPSB+UElDX0lSUVM7CisJaW9fYXBpY19pcnFzID0gflBJQ19JUlFTOwogCiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiRU5BQkxJTkcgSU8tQVBJQyBJUlFzXG4iKTsKIApAQCAtMTg0MSw4ICsxODgzLDggQEAKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCXJlZ18wMC5yYXcgPSBpb19hcGljX3JlYWQoZGV2LT5pZCwgMCk7Ci0JaWYgKHJlZ18wMC5iaXRzLklEICE9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBjX2FwaWNpZCkgewotCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBjX2FwaWNpZDsKKwlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcF9hcGljaWQpIHsKKwkJcmVnXzAwLmJpdHMuSUQgPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wX2FwaWNpZDsKIAkJaW9fYXBpY193cml0ZShkZXYtPmlkLCAwLCByZWdfMDAucmF3KTsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKQEAgLTIyNDIsOCArMjI4NCw4IEBACiAJCXJldHVybiAtMTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKQotCQlpZiAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSBtcF9JTlQgJiYKLQkJICAgIG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSA9PSBidXNfaXJxKQorCQlpZiAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IG1wX0lOVCAmJgorCQkgICAgbXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPT0gYnVzX2lycSkKIAkJCWJyZWFrOwogCWlmIChpID49IG1wX2lycV9lbnRyaWVzKQogCQlyZXR1cm4gLTE7CkBAIC0yMzM2LDcgKzIzNzgsNyBAQAogCWlvYXBpY19yZXMgPSBpb2FwaWNfc2V0dXBfcmVzb3VyY2VzKCk7CiAJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgewogCQlpZiAoc21wX2ZvdW5kX2NvbmZpZykgewotCQkJaW9hcGljX3BoeXMgPSBtcF9pb2FwaWNzW2ldLm1wY19hcGljYWRkcjsKKwkJCWlvYXBpY19waHlzID0gbXBfaW9hcGljc1tpXS5tcF9hcGljYWRkcjsKIAkJfSBlbHNlIHsKIAkJCWlvYXBpY19waHlzID0gKHVuc2lnbmVkIGxvbmcpCiAJCQkJYWxsb2NfYm9vdG1lbV9wYWdlcyhQQUdFX1NJWkUpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lwaS5jIGIvYXJjaC94ODYva2VybmVsL2lwaS5jCmluZGV4IGMwZGY3YjguLjlkOThjZGEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pcGkuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaXBpLmMKQEAgLTgsNyArOCw2IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KICNpbmNsdWRlIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPgogI2luY2x1ZGUgPGxpbnV4L2NhY2hlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pcnFfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9pcnFfMzIuYwppbmRleCAxNDczNTJkLi40N2E2ZjZmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaXJxXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2lycV8zMi5jCkBAIC00OCw2ICs0OCwyOSBAQAogI2VuZGlmCiB9CiAKKyNpZmRlZiBDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVworLyogRGVidWdnaW5nIGNoZWNrIGZvciBzdGFjayBvdmVyZmxvdzogaXMgdGhlcmUgbGVzcyB0aGFuIDFLQiBmcmVlPyAqLworc3RhdGljIGludCBjaGVja19zdGFja19vdmVyZmxvdyh2b2lkKQoreworCWxvbmcgc3A7CisKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXygiYW5kbCAlJWVzcCwlMCIgOgorCQkJICAgICAiPXIiIChzcCkgOiAiMCIgKFRIUkVBRF9TSVpFIC0gMSkpOworCisJcmV0dXJuIHNwIDwgKHNpemVvZihzdHJ1Y3QgdGhyZWFkX2luZm8pICsgU1RBQ0tfV0FSTik7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X3N0YWNrX292ZXJmbG93KHZvaWQpCit7CisJcHJpbnRrKEtFUk5fV0FSTklORyAibG93IHN0YWNrIGRldGVjdGVkIGJ5IGlycSBoYW5kbGVyXG4iKTsKKwlkdW1wX3N0YWNrKCk7Cit9CisKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBjaGVja19zdGFja19vdmVyZmxvdyh2b2lkKSB7IHJldHVybiAwOyB9CitzdGF0aWMgaW5saW5lIHZvaWQgcHJpbnRfc3RhY2tfb3ZlcmZsb3codm9pZCkgeyB9CisjZW5kaWYKKwogI2lmZGVmIENPTkZJR180S1NUQUNLUwogLyoKICAqIHBlci1DUFUgSVJRIGhhbmRsaW5nIGNvbnRleHRzICh0aHJlYWQgaW5mb3JtYXRpb24gYW5kIHN0YWNrKQpAQCAtNTksNDggKzgyLDI5IEBACiAKIHN0YXRpYyB1bmlvbiBpcnFfY3R4ICpoYXJkaXJxX2N0eFtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5Owogc3RhdGljIHVuaW9uIGlycV9jdHggKnNvZnRpcnFfY3R4W05SX0NQVVNdIF9fcmVhZF9tb3N0bHk7Ci0jZW5kaWYKIAotLyoKLSAqIGRvX0lSUSBoYW5kbGVzIGFsbCBub3JtYWwgZGV2aWNlIElSUSdzICh0aGUgc3BlY2lhbAotICogU01QIGNyb3NzLUNQVSBpbnRlcnJ1cHRzIGhhdmUgdGhlaXIgb3duIHNwZWNpZmljCi0gKiBoYW5kbGVycykuCi0gKi8KLXVuc2lnbmVkIGludCBkb19JUlEoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCi17CQotCXN0cnVjdCBwdF9yZWdzICpvbGRfcmVnczsKLQkvKiBoaWdoIGJpdCB1c2VkIGluIHJldF9mcm9tXyBjb2RlICovCi0JaW50IGlycSA9IH5yZWdzLT5vcmlnX2F4OwotCXN0cnVjdCBpcnFfZGVzYyAqZGVzYyA9IGlycV9kZXNjICsgaXJxOwotI2lmZGVmIENPTkZJR180S1NUQUNLUworc3RhdGljIGNoYXIgc29mdGlycV9zdGFja1tOUl9DUFVTICogVEhSRUFEX1NJWkVdCisJCV9fYXR0cmlidXRlX18oKF9fc2VjdGlvbl9fKCIuYnNzLnBhZ2VfYWxpZ25lZCIpKSk7CisKK3N0YXRpYyBjaGFyIGhhcmRpcnFfc3RhY2tbTlJfQ1BVUyAqIFRIUkVBRF9TSVpFXQorCQlfX2F0dHJpYnV0ZV9fKChfX3NlY3Rpb25fXygiLmJzcy5wYWdlX2FsaWduZWQiKSkpOworCitzdGF0aWMgdm9pZCBjYWxsX29uX3N0YWNrKHZvaWQgKmZ1bmMsIHZvaWQgKnN0YWNrKQoreworCWFzbSB2b2xhdGlsZSgieGNoZ2wJJSVlYngsJSVlc3AJXG4iCisJCSAgICAgImNhbGwJKiUlZWRpCQlcbiIKKwkJICAgICAibW92bAklJWVieCwlJWVzcAlcbiIKKwkJICAgICA6ICI9YiIgKHN0YWNrKQorCQkgICAgIDogIjAiIChzdGFjayksCisJCSAgICAgICAiRCIoZnVuYykKKwkJICAgICA6ICJtZW1vcnkiLCAiY2MiLCAiZWR4IiwgImVjeCIsICJlYXgiKTsKK30KKworc3RhdGljIGlubGluZSBpbnQKK2V4ZWN1dGVfb25faXJxX3N0YWNrKGludCBvdmVyZmxvdywgc3RydWN0IGlycV9kZXNjICpkZXNjLCBpbnQgaXJxKQorewogCXVuaW9uIGlycV9jdHggKmN1cmN0eCwgKmlycWN0eDsKLQl1MzIgKmlzcDsKLSNlbmRpZgotCi0JaWYgKHVubGlrZWx5KCh1bnNpZ25lZClpcnEgPj0gTlJfSVJRUykpIHsKLQkJcHJpbnRrKEtFUk5fRU1FUkcgIiVzOiBjYW5ub3QgaGFuZGxlIElSUSAlZFxuIiwKLQkJCQkJX19mdW5jX18sIGlycSk7Ci0JCUJVRygpOwotCX0KLQotCW9sZF9yZWdzID0gc2V0X2lycV9yZWdzKHJlZ3MpOwotCWlycV9lbnRlcigpOwotI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS09WRVJGTE9XCi0JLyogRGVidWdnaW5nIGNoZWNrIGZvciBzdGFjayBvdmVyZmxvdzogaXMgdGhlcmUgbGVzcyB0aGFuIDFLQiBmcmVlPyAqLwotCXsKLQkJbG9uZyBzcDsKLQotCQlfX2FzbV9fIF9fdm9sYXRpbGVfXygiYW5kbCAlJWVzcCwlMCIgOgotCQkJCQkiPXIiIChzcCkgOiAiMCIgKFRIUkVBRF9TSVpFIC0gMSkpOwotCQlpZiAodW5saWtlbHkoc3AgPCAoc2l6ZW9mKHN0cnVjdCB0aHJlYWRfaW5mbykgKyBTVEFDS19XQVJOKSkpIHsKLQkJCXByaW50aygiZG9fSVJROiBzdGFjayBvdmVyZmxvdzogJWxkXG4iLAotCQkJCXNwIC0gc2l6ZW9mKHN0cnVjdCB0aHJlYWRfaW5mbykpOwotCQkJZHVtcF9zdGFjaygpOwotCQl9Ci0JfQotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfNEtTVEFDS1MKKwl1MzIgKmlzcCwgYXJnMSwgYXJnMjsKIAogCWN1cmN0eCA9ICh1bmlvbiBpcnFfY3R4ICopIGN1cnJlbnRfdGhyZWFkX2luZm8oKTsKIAlpcnFjdHggPSBoYXJkaXJxX2N0eFtzbXBfcHJvY2Vzc29yX2lkKCldOwpAQCAtMTExLDUyICsxMTUsMzkgQEAKIAkgKiBoYW5kbGVyKSB3ZSBjYW4ndCBkbyB0aGF0IGFuZCBqdXN0IGhhdmUgdG8ga2VlcCB1c2luZyB0aGUKIAkgKiBjdXJyZW50IHN0YWNrICh3aGljaCBpcyB0aGUgaXJxIHN0YWNrIGFscmVhZHkgYWZ0ZXIgYWxsKQogCSAqLwotCWlmIChjdXJjdHggIT0gaXJxY3R4KSB7Ci0JCWludCBhcmcxLCBhcmcyLCBieDsKKwlpZiAodW5saWtlbHkoY3VyY3R4ID09IGlycWN0eCkpCisJCXJldHVybiAwOwogCi0JCS8qIGJ1aWxkIHRoZSBzdGFjayBmcmFtZSBvbiB0aGUgSVJRIHN0YWNrICovCi0JCWlzcCA9ICh1MzIqKSAoKGNoYXIqKWlycWN0eCArIHNpemVvZigqaXJxY3R4KSk7Ci0JCWlycWN0eC0+dGluZm8udGFzayA9IGN1cmN0eC0+dGluZm8udGFzazsKLQkJaXJxY3R4LT50aW5mby5wcmV2aW91c19lc3AgPSBjdXJyZW50X3N0YWNrX3BvaW50ZXI7CisJLyogYnVpbGQgdGhlIHN0YWNrIGZyYW1lIG9uIHRoZSBJUlEgc3RhY2sgKi8KKwlpc3AgPSAodTMyICopICgoY2hhciopaXJxY3R4ICsgc2l6ZW9mKCppcnFjdHgpKTsKKwlpcnFjdHgtPnRpbmZvLnRhc2sgPSBjdXJjdHgtPnRpbmZvLnRhc2s7CisJaXJxY3R4LT50aW5mby5wcmV2aW91c19lc3AgPSBjdXJyZW50X3N0YWNrX3BvaW50ZXI7CiAKLQkJLyoKLQkJICogQ29weSB0aGUgc29mdGlycSBiaXRzIGluIHByZWVtcHRfY291bnQgc28gdGhhdCB0aGUKLQkJICogc29mdGlycSBjaGVja3Mgd29yayBpbiB0aGUgaGFyZGlycSBjb250ZXh0LgotCQkgKi8KLQkJaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ID0KLQkJCShpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgJiB+U09GVElSUV9NQVNLKSB8Ci0JCQkoY3VyY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICYgU09GVElSUV9NQVNLKTsKKwkvKgorCSAqIENvcHkgdGhlIHNvZnRpcnEgYml0cyBpbiBwcmVlbXB0X2NvdW50IHNvIHRoYXQgdGhlCisJICogc29mdGlycSBjaGVja3Mgd29yayBpbiB0aGUgaGFyZGlycSBjb250ZXh0LgorCSAqLworCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCA9CisJCShpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgJiB+U09GVElSUV9NQVNLKSB8CisJCShjdXJjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgJiBTT0ZUSVJRX01BU0spOwogCi0JCWFzbSB2b2xhdGlsZSgKLQkJCSIgICAgICAgeGNoZ2wgICUlZWJ4LCUlZXNwICAgIFxuIgotCQkJIiAgICAgICBjYWxsICAgKiUlZWRpICAgICAgICAgXG4iCi0JCQkiICAgICAgIG1vdmwgICAlJWVieCwlJWVzcCAgICBcbiIKLQkJCTogIj1hIiAoYXJnMSksICI9ZCIgKGFyZzIpLCAiPWIiIChieCkKLQkJCTogICIwIiAoaXJxKSwgICAiMSIgKGRlc2MpLCAgIjIiIChpc3ApLAotCQkJICAgIkQiIChkZXNjLT5oYW5kbGVfaXJxKQotCQkJOiAibWVtb3J5IiwgImNjIiwgImVjeCIKLQkJKTsKLQl9IGVsc2UKLSNlbmRpZgotCQlkZXNjLT5oYW5kbGVfaXJxKGlycSwgZGVzYyk7CisJaWYgKHVubGlrZWx5KG92ZXJmbG93KSkKKwkJY2FsbF9vbl9zdGFjayhwcmludF9zdGFja19vdmVyZmxvdywgaXNwKTsKIAotCWlycV9leGl0KCk7Ci0Jc2V0X2lycV9yZWdzKG9sZF9yZWdzKTsKKwlhc20gdm9sYXRpbGUoInhjaGdsCSUlZWJ4LCUlZXNwCVxuIgorCQkgICAgICJjYWxsCSolJWVkaQkJXG4iCisJCSAgICAgIm1vdmwJJSVlYngsJSVlc3AJXG4iCisJCSAgICAgOiAiPWEiIChhcmcxKSwgIj1kIiAoYXJnMiksICI9YiIgKGlzcCkKKwkJICAgICA6ICAiMCIgKGlycSksICAgIjEiIChkZXNjKSwgICIyIiAoaXNwKSwKKwkJCSJEIiAoZGVzYy0+aGFuZGxlX2lycSkKKwkJICAgICA6ICJtZW1vcnkiLCAiY2MiLCAiZWN4Iik7CiAJcmV0dXJuIDE7CiB9CiAKLSNpZmRlZiBDT05GSUdfNEtTVEFDS1MKLQotc3RhdGljIGNoYXIgc29mdGlycV9zdGFja1tOUl9DUFVTICogVEhSRUFEX1NJWkVdCi0JCV9fYXR0cmlidXRlX18oKF9fc2VjdGlvbl9fKCIuYnNzLnBhZ2VfYWxpZ25lZCIpKSk7Ci0KLXN0YXRpYyBjaGFyIGhhcmRpcnFfc3RhY2tbTlJfQ1BVUyAqIFRIUkVBRF9TSVpFXQotCQlfX2F0dHJpYnV0ZV9fKChfX3NlY3Rpb25fXygiLmJzcy5wYWdlX2FsaWduZWQiKSkpOwotCiAvKgogICogYWxsb2NhdGUgcGVyLWNwdSBzdGFja3MgZm9yIGhhcmRpcnEgYW5kIGZvciBzb2Z0aXJxIHByb2Nlc3NpbmcKICAqLwotdm9pZCBpcnFfY3R4X2luaXQoaW50IGNwdSkKK3ZvaWQgX19jcHVpbml0IGlycV9jdHhfaW5pdChpbnQgY3B1KQogewogCXVuaW9uIGlycV9jdHggKmlycWN0eDsKIApAQCAtMTY0LDI1ICsxNTUsMjUgQEAKIAkJcmV0dXJuOwogCiAJaXJxY3R4ID0gKHVuaW9uIGlycV9jdHgqKSAmaGFyZGlycV9zdGFja1tjcHUqVEhSRUFEX1NJWkVdOwotCWlycWN0eC0+dGluZm8udGFzayAgICAgICAgICAgICAgPSBOVUxMOwotCWlycWN0eC0+dGluZm8uZXhlY19kb21haW4gICAgICAgPSBOVUxMOwotCWlycWN0eC0+dGluZm8uY3B1ICAgICAgICAgICAgICAgPSBjcHU7Ci0JaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICAgICA9IEhBUkRJUlFfT0ZGU0VUOwotCWlycWN0eC0+dGluZm8uYWRkcl9saW1pdCAgICAgICAgPSBNQUtFX01NX1NFRygwKTsKKwlpcnFjdHgtPnRpbmZvLnRhc2sJCT0gTlVMTDsKKwlpcnFjdHgtPnRpbmZvLmV4ZWNfZG9tYWluCT0gTlVMTDsKKwlpcnFjdHgtPnRpbmZvLmNwdQkJPSBjcHU7CisJaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50CT0gSEFSRElSUV9PRkZTRVQ7CisJaXJxY3R4LT50aW5mby5hZGRyX2xpbWl0CT0gTUFLRV9NTV9TRUcoMCk7CiAKIAloYXJkaXJxX2N0eFtjcHVdID0gaXJxY3R4OwogCiAJaXJxY3R4ID0gKHVuaW9uIGlycV9jdHgqKSAmc29mdGlycV9zdGFja1tjcHUqVEhSRUFEX1NJWkVdOwotCWlycWN0eC0+dGluZm8udGFzayAgICAgICAgICAgICAgPSBOVUxMOwotCWlycWN0eC0+dGluZm8uZXhlY19kb21haW4gICAgICAgPSBOVUxMOwotCWlycWN0eC0+dGluZm8uY3B1ICAgICAgICAgICAgICAgPSBjcHU7Ci0JaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICAgICA9IDA7Ci0JaXJxY3R4LT50aW5mby5hZGRyX2xpbWl0ICAgICAgICA9IE1BS0VfTU1fU0VHKDApOworCWlycWN0eC0+dGluZm8udGFzawkJPSBOVUxMOworCWlycWN0eC0+dGluZm8uZXhlY19kb21haW4JPSBOVUxMOworCWlycWN0eC0+dGluZm8uY3B1CQk9IGNwdTsKKwlpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQJPSAwOworCWlycWN0eC0+dGluZm8uYWRkcl9saW1pdAk9IE1BS0VfTU1fU0VHKDApOwogCiAJc29mdGlycV9jdHhbY3B1XSA9IGlycWN0eDsKIAotCXByaW50aygiQ1BVICV1IGlycXN0YWNrcywgaGFyZD0lcCBzb2Z0PSVwXG4iLAotCQljcHUsaGFyZGlycV9jdHhbY3B1XSxzb2Z0aXJxX2N0eFtjcHVdKTsKKwlwcmludGsoS0VSTl9ERUJVRyAiQ1BVICV1IGlycXN0YWNrcywgaGFyZD0lcCBzb2Z0PSVwXG4iLAorCSAgICAgICBjcHUsaGFyZGlycV9jdHhbY3B1XSxzb2Z0aXJxX2N0eFtjcHVdKTsKIH0KIAogdm9pZCBpcnFfY3R4X2V4aXQoaW50IGNwdSkKQEAgLTIxMSwyNSArMjAyLDU2IEBACiAJCS8qIGJ1aWxkIHRoZSBzdGFjayBmcmFtZSBvbiB0aGUgc29mdGlycSBzdGFjayAqLwogCQlpc3AgPSAodTMyKikgKChjaGFyKilpcnFjdHggKyBzaXplb2YoKmlycWN0eCkpOwogCi0JCWFzbSB2b2xhdGlsZSgKLQkJCSIgICAgICAgeGNoZ2wgICAlJWVieCwlJWVzcCAgICAgXG4iCi0JCQkiICAgICAgIGNhbGwgICAgX19kb19zb2Z0aXJxICAgIFxuIgotCQkJIiAgICAgICBtb3ZsICAgICUlZWJ4LCUlZXNwICAgICBcbiIKLQkJCTogIj1iIihpc3ApCi0JCQk6ICIwIihpc3ApCi0JCQk6ICJtZW1vcnkiLCAiY2MiLCAiZWR4IiwgImVjeCIsICJlYXgiCi0JCSk7CisJCWNhbGxfb25fc3RhY2soX19kb19zb2Z0aXJxLCBpc3ApOwogCQkvKgogCQkgKiBTaG91bGRudCBoYXBwZW4sIHdlIHJldHVybmVkIGFib3ZlIGlmIGluX2ludGVycnVwdCgpOgotCSAJICovCisJCSAqLwogCQlXQVJOX09OX09OQ0Uoc29mdGlycV9jb3VudCgpKTsKIAl9CiAKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CisKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludAorZXhlY3V0ZV9vbl9pcnFfc3RhY2soaW50IG92ZXJmbG93LCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MsIGludCBpcnEpIHsgcmV0dXJuIDA7IH0KICNlbmRpZgogCiAvKgorICogZG9fSVJRIGhhbmRsZXMgYWxsIG5vcm1hbCBkZXZpY2UgSVJRJ3MgKHRoZSBzcGVjaWFsCisgKiBTTVAgY3Jvc3MtQ1BVIGludGVycnVwdHMgaGF2ZSB0aGVpciBvd24gc3BlY2lmaWMKKyAqIGhhbmRsZXJzKS4KKyAqLwordW5zaWduZWQgaW50IGRvX0lSUShzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlzdHJ1Y3QgcHRfcmVncyAqb2xkX3JlZ3M7CisJLyogaGlnaCBiaXQgdXNlZCBpbiByZXRfZnJvbV8gY29kZSAqLworCWludCBvdmVyZmxvdywgaXJxID0gfnJlZ3MtPm9yaWdfYXg7CisJc3RydWN0IGlycV9kZXNjICpkZXNjID0gaXJxX2Rlc2MgKyBpcnE7CisKKwlpZiAodW5saWtlbHkoKHVuc2lnbmVkKWlycSA+PSBOUl9JUlFTKSkgeworCQlwcmludGsoS0VSTl9FTUVSRyAiJXM6IGNhbm5vdCBoYW5kbGUgSVJRICVkXG4iLAorCQkJCQlfX2Z1bmNfXywgaXJxKTsKKwkJQlVHKCk7CisJfQorCisJb2xkX3JlZ3MgPSBzZXRfaXJxX3JlZ3MocmVncyk7CisJaXJxX2VudGVyKCk7CisKKwlvdmVyZmxvdyA9IGNoZWNrX3N0YWNrX292ZXJmbG93KCk7CisKKwlpZiAoIWV4ZWN1dGVfb25faXJxX3N0YWNrKG92ZXJmbG93LCBkZXNjLCBpcnEpKSB7CisJCWlmICh1bmxpa2VseShvdmVyZmxvdykpCisJCQlwcmludF9zdGFja19vdmVyZmxvdygpOworCQlkZXNjLT5oYW5kbGVfaXJxKGlycSwgZGVzYyk7CisJfQorCisJaXJxX2V4aXQoKTsKKwlzZXRfaXJxX3JlZ3Mob2xkX3JlZ3MpOworCXJldHVybiAxOworfQorCisvKgogICogSW50ZXJydXB0IHN0YXRpc3RpY3M6CiAgKi8KIApAQCAtMzEzLDE2ICszMzUsMjAgQEAKIAkJCQlwZXJfY3B1KGlycV9zdGF0LGopLmlycV90bGJfY291bnQpOwogCQlzZXFfcHJpbnRmKHAsICIgIFRMQiBzaG9vdGRvd25zXG4iKTsKICNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfTUNFCiAJCXNlcV9wcmludGYocCwgIlRSTTogIik7CiAJCWZvcl9lYWNoX29ubGluZV9jcHUoaikKIAkJCXNlcV9wcmludGYocCwgIiUxMHUgIiwKIAkJCQlwZXJfY3B1KGlycV9zdGF0LGopLmlycV90aGVybWFsX2NvdW50KTsKIAkJc2VxX3ByaW50ZihwLCAiICBUaGVybWFsIGV2ZW50IGludGVycnVwdHNcbiIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJCXNlcV9wcmludGYocCwgIlNQVTogIik7CiAJCWZvcl9lYWNoX29ubGluZV9jcHUoaikKIAkJCXNlcV9wcmludGYocCwgIiUxMHUgIiwKIAkJCQlwZXJfY3B1KGlycV9zdGF0LGopLmlycV9zcHVyaW91c19jb3VudCk7CiAJCXNlcV9wcmludGYocCwgIiAgU3B1cmlvdXMgaW50ZXJydXB0c1xuIik7CisjZW5kaWYKIAkJc2VxX3ByaW50ZihwLCAiRVJSOiAlMTB1XG4iLCBhdG9taWNfcmVhZCgmaXJxX2Vycl9jb3VudCkpOwogI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9JT19BUElDKQogCQlzZXFfcHJpbnRmKHAsICJNSVM6ICUxMHVcbiIsIGF0b21pY19yZWFkKCZpcnFfbWlzX2NvdW50KSk7CkBAIC0zMzEsNiArMzU3LDQwIEBACiAJcmV0dXJuIDA7CiB9CiAKKy8qCisgKiAvcHJvYy9zdGF0IGhlbHBlcnMKKyAqLwordTY0IGFyY2hfaXJxX3N0YXRfY3B1KHVuc2lnbmVkIGludCBjcHUpCit7CisJdTY0IHN1bSA9IG5taV9jb3VudChjcHUpOworCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJc3VtICs9IHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuYXBpY190aW1lcl9pcnFzOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1NNUAorCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycV9yZXNjaGVkX2NvdW50OworCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycV9jYWxsX2NvdW50OworCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycV90bGJfY291bnQ7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01DRQorCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycV90aGVybWFsX2NvdW50OworI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJc3VtICs9IHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuaXJxX3NwdXJpb3VzX2NvdW50OworI2VuZGlmCisJcmV0dXJuIHN1bTsKK30KKwordTY0IGFyY2hfaXJxX3N0YXQodm9pZCkKK3sKKwl1NjQgc3VtID0gYXRvbWljX3JlYWQoJmlycV9lcnJfY291bnQpOworCisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCisJc3VtICs9IGF0b21pY19yZWFkKCZpcnFfbWlzX2NvdW50KTsKKyNlbmRpZgorCXJldHVybiBzdW07Cit9CisKICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKICNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lycV82NC5jIGIvYXJjaC94ODYva2VybmVsL2lycV82NC5jCmluZGV4IDNhYWMxNTQuLjFmNzhiMjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pcnFfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxXzY0LmMKQEAgLTEzNSw2ICsxMzUsNyBAQAogCQkJc2VxX3ByaW50ZihwLCAiJTEwdSAiLCBjcHVfcGRhKGopLT5pcnFfdGxiX2NvdW50KTsKIAkJc2VxX3ByaW50ZihwLCAiICBUTEIgc2hvb3Rkb3duc1xuIik7CiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01DRQogCQlzZXFfcHJpbnRmKHAsICJUUk06ICIpOwogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGopCiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsIGNwdV9wZGEoaiktPmlycV90aGVybWFsX2NvdW50KTsKQEAgLTE0Myw2ICsxNDQsNyBAQAogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGopCiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsIGNwdV9wZGEoaiktPmlycV90aHJlc2hvbGRfY291bnQpOwogCQlzZXFfcHJpbnRmKHAsICIgIFRocmVzaG9sZCBBUElDIGludGVycnVwdHNcbiIpOworI2VuZGlmCiAJCXNlcV9wcmludGYocCwgIlNQVTogIik7CiAJCWZvcl9lYWNoX29ubGluZV9jcHUoaikKIAkJCXNlcV9wcmludGYocCwgIiUxMHUgIiwgY3B1X3BkYShqKS0+aXJxX3NwdXJpb3VzX2NvdW50KTsKQEAgLTE1Myw2ICsxNTUsMzIgQEAKIH0KIAogLyoKKyAqIC9wcm9jL3N0YXQgaGVscGVycworICovCit1NjQgYXJjaF9pcnFfc3RhdF9jcHUodW5zaWduZWQgaW50IGNwdSkKK3sKKwl1NjQgc3VtID0gY3B1X3BkYShjcHUpLT5fX25taV9jb3VudDsKKworCXN1bSArPSBjcHVfcGRhKGNwdSktPmFwaWNfdGltZXJfaXJxczsKKyNpZmRlZiBDT05GSUdfU01QCisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX3Jlc2NoZWRfY291bnQ7CisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX2NhbGxfY291bnQ7CisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX3RsYl9jb3VudDsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfTUNFCisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX3RoZXJtYWxfY291bnQ7CisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX3RocmVzaG9sZF9jb3VudDsKKyNlbmRpZgorCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV9zcHVyaW91c19jb3VudDsKKwlyZXR1cm4gc3VtOworfQorCit1NjQgYXJjaF9pcnFfc3RhdCh2b2lkKQoreworCXJldHVybiBhdG9taWNfcmVhZCgmaXJxX2Vycl9jb3VudCk7Cit9CisKKy8qCiAgKiBkb19JUlEgaGFuZGxlcyBhbGwgbm9ybWFsIGRldmljZSBJUlEncyAodGhlIHNwZWNpYWwKICAqIFNNUCBjcm9zcy1DUFUgaW50ZXJydXB0cyBoYXZlIHRoZWlyIG93biBzcGVjaWZpYwogICogaGFuZGxlcnMpLgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lycWluaXRfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9pcnFpbml0XzMyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY2OTE0MgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pcnFpbml0XzMyLmMKQEAgLTAsMCArMSwxMTQgQEAKKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3JhbmRvbS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorCisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vdGltZXIuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9kZWxheS5oPgorI2luY2x1ZGUgPGFzbS9kZXNjLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgorI2luY2x1ZGUgPGFzbS9pODI1OS5oPgorCisKKworLyoKKyAqIE5vdGUgdGhhdCBvbiBhIDQ4Niwgd2UgZG9uJ3Qgd2FudCB0byBkbyBhIFNJR0ZQRSBvbiBhbiBpcnExMworICogYXMgdGhlIGlycSBpcyB1bnJlbGlhYmxlLCBhbmQgZXhjZXB0aW9uIDE2IHdvcmtzIGNvcnJlY3RseQorICogKGllIGFzIGV4cGxhaW5lZCBpbiB0aGUgaW50ZWwgbGl0ZXJhdHVyZSkuIE9uIGEgMzg2LCB5b3UKKyAqIGNhbid0IHVzZSBleGNlcHRpb24gMTYgZHVlIHRvIGJhZCBJQk0gZGVzaWduLCBzbyB3ZSBoYXZlIHRvCisgKiByZWx5IG9uIHRoZSBsZXNzIGV4YWN0IGlycTEzLgorICoKKyAqIENhcmVmdWwuLiBOb3Qgb25seSBpcyBJUlExMyB1bnJlbGlhYmxlLCBidXQgaXQgaXMgYWxzbworICogbGVhZHMgdG8gcmFjZXMuIElCTSBkZXNpZ25lcnMgd2hvIGNhbWUgdXAgd2l0aCBpdCBzaG91bGQKKyAqIGJlIHNob3QuCisgKi8KKyAKKworc3RhdGljIGlycXJldHVybl90IG1hdGhfZXJyb3JfaXJxKGludCBjcGwsIHZvaWQgKmRldl9pZCkKK3sKKwlleHRlcm4gdm9pZCBtYXRoX2Vycm9yKHZvaWQgX191c2VyICopOworCW91dGIoMCwweEYwKTsKKwlpZiAoaWdub3JlX2ZwdV9pcnEgfHwgIWJvb3RfY3B1X2RhdGEuaGFyZF9tYXRoKQorCQlyZXR1cm4gSVJRX05PTkU7CisJbWF0aF9lcnJvcigodm9pZCBfX3VzZXIgKilnZXRfaXJxX3JlZ3MoKS0+aXApOworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworLyoKKyAqIE5ldyBtb3RoZXJib2FyZHMgc29tZXRpbWVzIG1ha2UgSVJRIDEzIGJlIGEgUENJIGludGVycnVwdCwKKyAqIHNvIGFsbG93IGludGVycnVwdCBzaGFyaW5nLgorICovCitzdGF0aWMgc3RydWN0IGlycWFjdGlvbiBmcHVfaXJxID0geworCS5oYW5kbGVyID0gbWF0aF9lcnJvcl9pcnEsCisJLm1hc2sgPSBDUFVfTUFTS19OT05FLAorCS5uYW1lID0gImZwdSIsCit9OworCit2b2lkIF9faW5pdCBpbml0X0lTQV9pcnFzICh2b2lkKQoreworCWludCBpOworCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJaW5pdF9ic3BfQVBJQygpOworI2VuZGlmCisJaW5pdF84MjU5QSgwKTsKKworCS8qCisJICogMTYgb2xkLXN0eWxlIElOVEEtY3ljbGUgaW50ZXJydXB0czoKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykgeworCQlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZShpLCAmaTgyNTlBX2NoaXAsCisJCQkJCSAgICAgIGhhbmRsZV9sZXZlbF9pcnEsICJYVCIpOworCX0KK30KKworLyogT3ZlcnJpZGRlbiBpbiBwYXJhdmlydC5jICovCit2b2lkIGluaXRfSVJRKHZvaWQpIF9fYXR0cmlidXRlX18oKHdlYWssIGFsaWFzKCJuYXRpdmVfaW5pdF9JUlEiKSkpOworCit2b2lkIF9faW5pdCBuYXRpdmVfaW5pdF9JUlEodm9pZCkKK3sKKwlpbnQgaTsKKworCS8qIGFsbCB0aGUgc2V0IHVwIGJlZm9yZSB0aGUgY2FsbCBnYXRlcyBhcmUgaW5pdGlhbGlzZWQgKi8KKwlwcmVfaW50cl9pbml0X2hvb2soKTsKKworCS8qCisJICogQ292ZXIgdGhlIHdob2xlIHZlY3RvciBzcGFjZSwgbm8gdmVjdG9yIGNhbiBlc2NhcGUKKwkgKiB1cy4gKHNvbWUgb2YgdGhlc2Ugd2lsbCBiZSBvdmVycmlkZGVuIGFuZCBiZWNvbWUKKwkgKiAnc3BlY2lhbCcgU01QIGludGVycnVwdHMpCisJICovCisJZm9yIChpID0gMDsgaSA8IChOUl9WRUNUT1JTIC0gRklSU1RfRVhURVJOQUxfVkVDVE9SKTsgaSsrKSB7CisJCWludCB2ZWN0b3IgPSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyBpOworCQlpZiAoaSA+PSBOUl9JUlFTKQorCQkJYnJlYWs7CisJCS8qIFNZU0NBTExfVkVDVE9SIHdhcyByZXNlcnZlZCBpbiB0cmFwX2luaXQuICovCisJCWlmICghdGVzdF9iaXQodmVjdG9yLCB1c2VkX3ZlY3RvcnMpKQorCQkJc2V0X2ludHJfZ2F0ZSh2ZWN0b3IsIGludGVycnVwdFtpXSk7CisJfQorCisJLyogc2V0dXAgYWZ0ZXIgY2FsbCBnYXRlcyBhcmUgaW5pdGlhbGlzZWQgKHVzdWFsbHkgYWRkIGluCisJICogdGhlIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBnYXRlcykKKwkgKi8KKwlpbnRyX2luaXRfaG9vaygpOworCisJLyoKKwkgKiBFeHRlcm5hbCBGUFU/IFNldCB1cCBpcnExMyBpZiBzbywgZm9yCisJICogb3JpZ2luYWwgYnJhaW5kYW1hZ2VkIElCTSBGRVJSIGNvdXBsaW5nLgorCSAqLworCWlmIChib290X2NwdV9kYXRhLmhhcmRfbWF0aCAmJiAhY3B1X2hhc19mcHUpCisJCXNldHVwX2lycShGUFVfSVJRLCAmZnB1X2lycSk7CisKKwlpcnFfY3R4X2luaXQoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pcnFpbml0XzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF82NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNzNlODgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF82NC5jCkBAIC0wLDAgKzEsMjIxIEBACisjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKworI2luY2x1ZGUgPGFzbS9hY3BpLmg+CisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vaHdfaXJxLmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vZGVsYXkuaD4KKyNpbmNsdWRlIDxhc20vZGVzYy5oPgorI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL2k4MjU5Lmg+CisKKy8qCisgKiBDb21tb24gcGxhY2UgdG8gZGVmaW5lIGFsbCB4ODYgSVJRIHZlY3RvcnMKKyAqCisgKiBUaGlzIGJ1aWxkcyB1cCB0aGUgSVJRIGhhbmRsZXIgc3R1YnMgdXNpbmcgc29tZSB1Z2x5IG1hY3JvcyBpbiBpcnEuaAorICoKKyAqIFRoZXNlIG1hY3JvcyBjcmVhdGUgdGhlIGxvdy1sZXZlbCBhc3NlbWJseSBJUlEgcm91dGluZXMgdGhhdCBzYXZlCisgKiByZWdpc3RlciBjb250ZXh0IGFuZCBjYWxsIGRvX0lSUSgpLiBkb19JUlEoKSB0aGVuIGRvZXMgYWxsIHRoZQorICogb3BlcmF0aW9ucyB0aGF0IGFyZSBuZWVkZWQgdG8ga2VlcCB0aGUgQVQgKG9yIFNNUCBJT0FQSUMpCisgKiBpbnRlcnJ1cHQtY29udHJvbGxlciBoYXBweS4KKyAqLworCisjZGVmaW5lIElSUV9OQU1FMihucikgbnIjI19pbnRlcnJ1cHQodm9pZCkKKyNkZWZpbmUgSVJRX05BTUUobnIpIElSUV9OQU1FMihJUlEjI25yKQorCisvKgorICoJU01QIGhhcyBhIGZldyBzcGVjaWFsIGludGVycnVwdHMgZm9yIElQSSBtZXNzYWdlcworICovCisKKyNkZWZpbmUgQlVJTERfSVJRKG5yKQkJCQlcCisJYXNtbGlua2FnZSB2b2lkIElSUV9OQU1FKG5yKTsJCVwKKwlhc20oIlxuLnAyYWxpZ25cbiIJCQlcCisJICAgICJJUlEiICNuciAiX2ludGVycnVwdDpcblx0IgkJXAorCSAgICAicHVzaCAkfigiICNuciAiKSA7ICIJCVwKKwkgICAgImptcCBjb21tb25faW50ZXJydXB0Iik7CisKKyNkZWZpbmUgQkkoeCx5KSBcCisJQlVJTERfSVJRKHgjI3kpCisKKyNkZWZpbmUgQlVJTERfMTZfSVJRUyh4KSBcCisJQkkoeCwwKSBCSSh4LDEpIEJJKHgsMikgQkkoeCwzKSBcCisJQkkoeCw0KSBCSSh4LDUpIEJJKHgsNikgQkkoeCw3KSBcCisJQkkoeCw4KSBCSSh4LDkpIEJJKHgsYSkgQkkoeCxiKSBcCisJQkkoeCxjKSBCSSh4LGQpIEJJKHgsZSkgQkkoeCxmKQorCisvKgorICogSVNBIFBJQyBvciBsb3cgSU8tQVBJQyB0cmlnZ2VyZWQgKElOVEEtY3ljbGUgb3IgQVBJQykgaW50ZXJydXB0czoKKyAqICh0aGVzZSBhcmUgdXN1YWxseSBtYXBwZWQgdG8gdmVjdG9ycyAweDMwLTB4M2YpCisgKi8KKworLyoKKyAqIFRoZSBJTy1BUElDIGdpdmVzIHVzIG1hbnkgbW9yZSBpbnRlcnJ1cHQgc291cmNlcy4gTW9zdCBvZiB0aGVzZQorICogYXJlIHVudXNlZCBidXQgYW4gU01QIHN5c3RlbSBpcyBzdXBwb3NlZCB0byBoYXZlIGVub3VnaCBtZW1vcnkgLi4uCisgKiBzb21ldGltZXMgKG1vc3RseSB3cnQuIGh3IGJ1Z3MpIHdlIGdldCBjb3JydXB0ZWQgdmVjdG9ycyBhbGwKKyAqIGFjcm9zcyB0aGUgc3BlY3RydW0sIHNvIHdlIHJlYWxseSB3YW50IHRvIGJlIHByZXBhcmVkIHRvIGdldCBhbGwKKyAqIG9mIHRoZXNlLiBQbHVzLCBtb3JlIHBvd2VyZnVsIHN5c3RlbXMgbWlnaHQgaGF2ZSBtb3JlIHRoYW4gNjQKKyAqIElPLUFQSUMgcmVnaXN0ZXJzLgorICoKKyAqICh0aGVzZSBhcmUgdXN1YWxseSBtYXBwZWQgaW50byB0aGUgMHgzMC0weGZmIHZlY3RvciByYW5nZSkKKyAqLworCQkJCSAgICAgIEJVSUxEXzE2X0lSUVMoMHgyKSBCVUlMRF8xNl9JUlFTKDB4MykKK0JVSUxEXzE2X0lSUVMoMHg0KSBCVUlMRF8xNl9JUlFTKDB4NSkgQlVJTERfMTZfSVJRUygweDYpIEJVSUxEXzE2X0lSUVMoMHg3KQorQlVJTERfMTZfSVJRUygweDgpIEJVSUxEXzE2X0lSUVMoMHg5KSBCVUlMRF8xNl9JUlFTKDB4YSkgQlVJTERfMTZfSVJRUygweGIpCitCVUlMRF8xNl9JUlFTKDB4YykgQlVJTERfMTZfSVJRUygweGQpIEJVSUxEXzE2X0lSUVMoMHhlKSBCVUlMRF8xNl9JUlFTKDB4ZikKKworI3VuZGVmIEJVSUxEXzE2X0lSUVMKKyN1bmRlZiBCSQorCisKKyNkZWZpbmUgSVJRKHgseSkgXAorCUlSUSMjeCMjeSMjX2ludGVycnVwdAorCisjZGVmaW5lIElSUUxJU1RfMTYoeCkgXAorCUlSUSh4LDApLCBJUlEoeCwxKSwgSVJRKHgsMiksIElSUSh4LDMpLCBcCisJSVJRKHgsNCksIElSUSh4LDUpLCBJUlEoeCw2KSwgSVJRKHgsNyksIFwKKwlJUlEoeCw4KSwgSVJRKHgsOSksIElSUSh4LGEpLCBJUlEoeCxiKSwgXAorCUlSUSh4LGMpLCBJUlEoeCxkKSwgSVJRKHgsZSksIElSUSh4LGYpCisKKy8qIGZvciB0aGUgaXJxIHZlY3RvcnMgKi8KK3N0YXRpYyB2b2lkICgqX19pbml0ZGF0YSBpbnRlcnJ1cHRbTlJfVkVDVE9SUyAtIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUl0pKHZvaWQpID0geworCQkJCQkgIElSUUxJU1RfMTYoMHgyKSwgSVJRTElTVF8xNigweDMpLAorCUlSUUxJU1RfMTYoMHg0KSwgSVJRTElTVF8xNigweDUpLCBJUlFMSVNUXzE2KDB4NiksIElSUUxJU1RfMTYoMHg3KSwKKwlJUlFMSVNUXzE2KDB4OCksIElSUUxJU1RfMTYoMHg5KSwgSVJRTElTVF8xNigweGEpLCBJUlFMSVNUXzE2KDB4YiksCisJSVJRTElTVF8xNigweGMpLCBJUlFMSVNUXzE2KDB4ZCksIElSUUxJU1RfMTYoMHhlKSwgSVJRTElTVF8xNigweGYpCit9OworCisjdW5kZWYgSVJRCisjdW5kZWYgSVJRTElTVF8xNgorCisKKworCisvKgorICogSVJRMiBpcyBjYXNjYWRlIGludGVycnVwdCB0byBzZWNvbmQgaW50ZXJydXB0IGNvbnRyb2xsZXIKKyAqLworCitzdGF0aWMgc3RydWN0IGlycWFjdGlvbiBpcnEyID0geworCS5oYW5kbGVyID0gbm9fYWN0aW9uLAorCS5tYXNrID0gQ1BVX01BU0tfTk9ORSwKKwkubmFtZSA9ICJjYXNjYWRlIiwKK307CitERUZJTkVfUEVSX0NQVSh2ZWN0b3JfaXJxX3QsIHZlY3Rvcl9pcnEpID0geworCVswIC4uLiBJUlEwX1ZFQ1RPUiAtIDFdID0gLTEsCisJW0lSUTBfVkVDVE9SXSA9IDAsCisJW0lSUTFfVkVDVE9SXSA9IDEsCisJW0lSUTJfVkVDVE9SXSA9IDIsCisJW0lSUTNfVkVDVE9SXSA9IDMsCisJW0lSUTRfVkVDVE9SXSA9IDQsCisJW0lSUTVfVkVDVE9SXSA9IDUsCisJW0lSUTZfVkVDVE9SXSA9IDYsCisJW0lSUTdfVkVDVE9SXSA9IDcsCisJW0lSUThfVkVDVE9SXSA9IDgsCisJW0lSUTlfVkVDVE9SXSA9IDksCisJW0lSUTEwX1ZFQ1RPUl0gPSAxMCwKKwlbSVJRMTFfVkVDVE9SXSA9IDExLAorCVtJUlExMl9WRUNUT1JdID0gMTIsCisJW0lSUTEzX1ZFQ1RPUl0gPSAxMywKKwlbSVJRMTRfVkVDVE9SXSA9IDE0LAorCVtJUlExNV9WRUNUT1JdID0gMTUsCisJW0lSUTE1X1ZFQ1RPUiArIDEgLi4uIE5SX1ZFQ1RPUlMgLSAxXSA9IC0xCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9JU0FfaXJxcyAodm9pZCkKK3sKKwlpbnQgaTsKKworCWluaXRfYnNwX0FQSUMoKTsKKwlpbml0XzgyNTlBKDApOworCisJZm9yIChpID0gMDsgaSA8IE5SX0lSUVM7IGkrKykgeworCQlpcnFfZGVzY1tpXS5zdGF0dXMgPSBJUlFfRElTQUJMRUQ7CisJCWlycV9kZXNjW2ldLmFjdGlvbiA9IE5VTEw7CisJCWlycV9kZXNjW2ldLmRlcHRoID0gMTsKKworCQlpZiAoaSA8IDE2KSB7CisJCQkvKgorCQkJICogMTYgb2xkLXN0eWxlIElOVEEtY3ljbGUgaW50ZXJydXB0czoKKwkJCSAqLworCQkJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaSwgJmk4MjU5QV9jaGlwLAorCQkJCQkJICAgICAgaGFuZGxlX2xldmVsX2lycSwgIlhUIik7CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogJ2hpZ2gnIFBDSSBJUlFzIGZpbGxlZCBpbiBvbiBkZW1hbmQKKwkJCSAqLworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZub19pcnFfY2hpcDsKKwkJfQorCX0KK30KKwordm9pZCBpbml0X0lSUSh2b2lkKSBfX2F0dHJpYnV0ZV9fKCh3ZWFrLCBhbGlhcygibmF0aXZlX2luaXRfSVJRIikpKTsKKwordm9pZCBfX2luaXQgbmF0aXZlX2luaXRfSVJRKHZvaWQpCit7CisJaW50IGk7CisKKwlpbml0X0lTQV9pcnFzKCk7CisJLyoKKwkgKiBDb3ZlciB0aGUgd2hvbGUgdmVjdG9yIHNwYWNlLCBubyB2ZWN0b3IgY2FuIGVzY2FwZQorCSAqIHVzLiAoc29tZSBvZiB0aGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gYW5kIGJlY29tZQorCSAqICdzcGVjaWFsJyBTTVAgaW50ZXJydXB0cykKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgKE5SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpOyBpKyspIHsKKwkJaW50IHZlY3RvciA9IEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUiArIGk7CisJCWlmICh2ZWN0b3IgIT0gSUEzMl9TWVNDQUxMX1ZFQ1RPUikKKwkJCXNldF9pbnRyX2dhdGUodmVjdG9yLCBpbnRlcnJ1cHRbaV0pOworCX0KKworI2lmZGVmIENPTkZJR19TTVAKKwkvKgorCSAqIFRoZSByZXNjaGVkdWxlIGludGVycnVwdCBpcyBhIENQVS10by1DUFUgcmVzY2hlZHVsZS1oZWxwZXIKKwkgKiBJUEksIGRyaXZlbiBieSB3YWtldXAuCisJICovCisJYWxsb2NfaW50cl9nYXRlKFJFU0NIRURVTEVfVkVDVE9SLCByZXNjaGVkdWxlX2ludGVycnVwdCk7CisKKwkvKiBJUElzIGZvciBpbnZhbGlkYXRpb24gKi8KKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzAsIGludmFsaWRhdGVfaW50ZXJydXB0MCk7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCsxLCBpbnZhbGlkYXRlX2ludGVycnVwdDEpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMiwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQyKTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzMsIGludmFsaWRhdGVfaW50ZXJydXB0Myk7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs0LCBpbnZhbGlkYXRlX2ludGVycnVwdDQpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNSwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ1KTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzYsIGludmFsaWRhdGVfaW50ZXJydXB0Nik7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs3LCBpbnZhbGlkYXRlX2ludGVycnVwdDcpOworCisJLyogSVBJIGZvciBnZW5lcmljIGZ1bmN0aW9uIGNhbGwgKi8KKwlhbGxvY19pbnRyX2dhdGUoQ0FMTF9GVU5DVElPTl9WRUNUT1IsIGNhbGxfZnVuY3Rpb25faW50ZXJydXB0KTsKKworCS8qIElQSSBmb3IgZ2VuZXJpYyBzaW5nbGUgZnVuY3Rpb24gY2FsbCAqLworCWFsbG9jX2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1NJTkdMRV9WRUNUT1IsCisJCQljYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQpOworCisJLyogTG93IHByaW9yaXR5IElQSSB0byBjbGVhbnVwIGFmdGVyIG1vdmluZyBhbiBpcnEgKi8KKwlzZXRfaW50cl9nYXRlKElSUV9NT1ZFX0NMRUFOVVBfVkVDVE9SLCBpcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdCk7CisjZW5kaWYKKwlhbGxvY19pbnRyX2dhdGUoVEhFUk1BTF9BUElDX1ZFQ1RPUiwgdGhlcm1hbF9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShUSFJFU0hPTERfQVBJQ19WRUNUT1IsIHRocmVzaG9sZF9pbnRlcnJ1cHQpOworCisJLyogc2VsZiBnZW5lcmF0ZWQgSVBJIGZvciBsb2NhbCBBUElDIHRpbWVyICovCisJYWxsb2NfaW50cl9nYXRlKExPQ0FMX1RJTUVSX1ZFQ1RPUiwgYXBpY190aW1lcl9pbnRlcnJ1cHQpOworCisJLyogSVBJIHZlY3RvcnMgZm9yIEFQSUMgc3B1cmlvdXMgYW5kIGVycm9yIGludGVycnVwdHMgKi8KKwlhbGxvY19pbnRyX2dhdGUoU1BVUklPVVNfQVBJQ19WRUNUT1IsIHNwdXJpb3VzX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKEVSUk9SX0FQSUNfVkVDVE9SLCBlcnJvcl9pbnRlcnJ1cHQpOworCisJaWYgKCFhY3BpX2lvYXBpYykKKwkJc2V0dXBfaXJxKDIsICZpcnEyKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9sZHQuYyBiL2FyY2gveDg2L2tlcm5lbC9sZHQuYwppbmRleCAwMjI0YzM2Li5hODQ0OTU3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbGR0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2xkdC5jCkBAIC0yMCw5ICsyMCw5IEBACiAjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CiAKICNpZmRlZiBDT05GSUdfU01QCi1zdGF0aWMgdm9pZCBmbHVzaF9sZHQodm9pZCAqbnVsbCkKK3N0YXRpYyB2b2lkIGZsdXNoX2xkdCh2b2lkICpjdXJyZW50X21tKQogewotCWlmIChjdXJyZW50LT5hY3RpdmVfbW0pCisJaWYgKGN1cnJlbnQtPmFjdGl2ZV9tbSA9PSBjdXJyZW50X21tKQogCQlsb2FkX0xEVCgmY3VycmVudC0+YWN0aXZlX21tLT5jb250ZXh0KTsKIH0KICNlbmRpZgpAQCAtNjgsNyArNjgsNyBAQAogCQlsb2FkX0xEVChwYyk7CiAJCW1hc2sgPSBjcHVtYXNrX29mX2NwdShzbXBfcHJvY2Vzc29yX2lkKCkpOwogCQlpZiAoIWNwdXNfZXF1YWwoY3VycmVudC0+bW0tPmNwdV92bV9tYXNrLCBtYXNrKSkKLQkJCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX2xkdCwgTlVMTCwgMSwgMSk7CisJCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF9sZHQsIGN1cnJlbnQtPm1tLCAxKTsKIAkJcHJlZW1wdF9lbmFibGUoKTsKICNlbHNlCiAJCWxvYWRfTERUKHBjKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY18zMi5jCmluZGV4IGQwYjIzNGMuLjg4NjQyMzAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfMzIuYwpAQCAtMTEsNiArMTEsOCBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L251bWEuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKwogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KQEAgLTM5LDcgKzQxLDcgQEAKIAljdXJpZHQuYWRkcmVzcyA9ICh1bnNpZ25lZCBsb25nKW5ld2lkdDsKIAogCWxvYWRfaWR0KCZjdXJpZHQpOwotfTsKK30KIAogCiBzdGF0aWMgdm9pZCBzZXRfZ2R0KHZvaWQgKm5ld2dkdCwgX191MTYgbGltaXQpCkBAIC01MSw3ICs1Myw3IEBACiAJY3VyZ2R0LmFkZHJlc3MgPSAodW5zaWduZWQgbG9uZyluZXdnZHQ7CiAKIAlsb2FkX2dkdCgmY3VyZ2R0KTsKLX07Cit9CiAKIHN0YXRpYyB2b2lkIGxvYWRfc2VnbWVudHModm9pZCkKIHsKQEAgLTEwNyw2ICsxMDksOCBAQAogCXVuc2lnbmVkIGxvbmcgcGFnZV9saXN0W1BBR0VTX05SXTsKIAl2b2lkICpjb250cm9sX3BhZ2U7CiAKKwl0cmFjZXJfZGlzYWJsZSgpOworCiAJLyogSW50ZXJydXB0cyBhcmVuJ3QgYWNjZXB0YWJsZSB3aGlsZSB3ZSByZWJvb3QgKi8KIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jIGIvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYwppbmRleCA1NzZhMDNkLi45ZGQ5MjYyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzY0LmMKQEAgLTExLDYgKzExLDggQEAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KICNpbmNsdWRlIDxsaW51eC9udW1hLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisKICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgogI2luY2x1ZGUgPGFzbS9tbXVfY29udGV4dC5oPgpAQCAtMTEwLDcgKzExMiw3IEBACiB7CiAJcGdkX3QgKmxldmVsNHA7CiAJbGV2ZWw0cCA9IChwZ2RfdCAqKV9fdmEoc3RhcnRfcGd0YWJsZSk7Ci0gCXJldHVybiBpbml0X2xldmVsNF9wYWdlKGltYWdlLCBsZXZlbDRwLCAwLCBlbmRfcGZuIDw8IFBBR0VfU0hJRlQpOworCXJldHVybiBpbml0X2xldmVsNF9wYWdlKGltYWdlLCBsZXZlbDRwLCAwLCBtYXhfcGZuIDw8IFBBR0VfU0hJRlQpOwogfQogCiBzdGF0aWMgdm9pZCBzZXRfaWR0KHZvaWQgKm5ld2lkdCwgdTE2IGxpbWl0KQpAQCAtMTg0LDYgKzE4Niw4IEBACiAJdW5zaWduZWQgbG9uZyBwYWdlX2xpc3RbUEFHRVNfTlJdOwogCXZvaWQgKmNvbnRyb2xfcGFnZTsKIAorCXRyYWNlcl9kaXNhYmxlKCk7CisKIAkvKiBJbnRlcnJ1cHRzIGFyZW4ndCBhY2NlcHRhYmxlIHdoaWxlIHdlIHJlYm9vdCAqLwogCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9taWNyb2NvZGUuYyBiL2FyY2gveDg2L2tlcm5lbC9taWNyb2NvZGUuYwppbmRleCA2OTcyOWUzLi41NmI5MzMxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbWljcm9jb2RlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL21pY3JvY29kZS5jCkBAIC01LDEzICs1LDE0IEBACiAgKgkJICAgICAgMjAwNglTaGFvaHVhIExpIDxzaGFvaHVhLmxpQGludGVsLmNvbT4KICAqCiAgKglUaGlzIGRyaXZlciBhbGxvd3MgdG8gdXBncmFkZSBtaWNyb2NvZGUgb24gSW50ZWwgcHJvY2Vzc29ycwotICoJYmVsb25naW5nIHRvIElBLTMyIGZhbWlseSAtIFBlbnRpdW1Qcm8sIFBlbnRpdW0gSUksIAorICoJYmVsb25naW5nIHRvIElBLTMyIGZhbWlseSAtIFBlbnRpdW1Qcm8sIFBlbnRpdW0gSUksCiAgKglQZW50aXVtIElJSSwgWGVvbiwgUGVudGl1bSA0LCBldGMuCiAgKgotICoJUmVmZXJlbmNlOiBTZWN0aW9uIDguMTAgb2YgVm9sdW1lIElJSSwgSW50ZWwgUGVudGl1bSA0IE1hbnVhbCwgCi0gKglPcmRlciBOdW1iZXIgMjQ1NDcyIG9yIGZyZWUgZG93bmxvYWQgZnJvbToKLSAqCQkKLSAqCWh0dHA6Ly9kZXZlbG9wZXIuaW50ZWwuY29tL2Rlc2lnbi9wZW50aXVtNC9tYW51YWxzLzI0NTQ3Mi5odG0KKyAqCVJlZmVyZW5jZTogU2VjdGlvbiA4LjExIG9mIFZvbHVtZSAzYSwgSUEtMzIgSW50ZWw/IEFyY2hpdGVjdHVyZQorICoJU29mdHdhcmUgRGV2ZWxvcGVyJ3MgTWFudWFsCisgKglPcmRlciBOdW1iZXIgMjUzNjY4IG9yIGZyZWUgZG93bmxvYWQgZnJvbToKKyAqCisgKglodHRwOi8vZGV2ZWxvcGVyLmludGVsLmNvbS9kZXNpZ24vcGVudGl1bTQvbWFudWFscy8yNTM2NjguaHRtCiAgKgogICoJRm9yIG1vcmUgaW5mb3JtYXRpb24sIGdvIHRvIGh0dHA6Ly93d3cudXJiYW5teXRoLm9yZy9taWNyb2NvZGUKICAqCkBAIC01OCwxMiArNTksMTIgQEAKICAqCQluYXR1cmUgb2YgaW1wbGVtZW50YXRpb24uCiAgKgkxLjExCTIyIE1hciAyMDAyIFRpZ3JhbiBBaXZhemlhbiA8dGlncmFuQHZlcml0YXMuY29tPgogICoJCUZpeCB0aGUgcGFuaWMgd2hlbiB3cml0aW5nIHplcm8tbGVuZ3RoIG1pY3JvY29kZSBjaHVuay4KLSAqCTEuMTIJMjkgU2VwIDIwMDMgTml0aW4gS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+LCAKKyAqCTEuMTIJMjkgU2VwIDIwMDMgTml0aW4gS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+LAogICoJCUp1biBOYWthamltYSA8anVuLm5ha2FqaW1hQGludGVsLmNvbT4KICAqCQlTdXBwb3J0IGZvciB0aGUgbWljcm9jb2RlIHVwZGF0ZXMgaW4gdGhlIG5ldyBmb3JtYXQuCiAgKgkxLjEzCTEwIE9jdCAyMDAzIFRpZ3JhbiBBaXZhemlhbiA8dGlncmFuQHZlcml0YXMuY29tPgogICoJCVJlbW92ZWQgLT5yZWFkKCkgbWV0aG9kIGFuZCBvYnNvbGV0ZWQgTUlDUk9DT0RFX0lPQ0ZSRUUgaW9jdGwKLSAqCQliZWNhdXNlIHdlIG5vIGxvbmdlciBob2xkIGEgY29weSBvZiBhcHBsaWVkIG1pY3JvY29kZSAKKyAqCQliZWNhdXNlIHdlIG5vIGxvbmdlciBob2xkIGEgY29weSBvZiBhcHBsaWVkIG1pY3JvY29kZQogICoJCWluIGtlcm5lbCBtZW1vcnkuCiAgKgkxLjE0CTI1IEp1biAyMDA0IFRpZ3JhbiBBaXZhemlhbiA8dGlncmFuQHZlcml0YXMuY29tPgogICoJCUZpeCBzaWdtYXRjaCgpIG1hY3JvIHRvIGhhbmRsZSBvbGQgQ1BVcyB3aXRoIHBmID09IDAuCkBAIC03NSw2ICs3Niw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgpAQCAtMzIwLDExICszMjIsMTEgQEAKIAkJcmV0dXJuOwogCiAJLyogc2VyaWFsaXplIGFjY2VzcyB0byB0aGUgcGh5c2ljYWwgd3JpdGUgdG8gTVNSIDB4NzkgKi8KLQlzcGluX2xvY2tfaXJxc2F2ZSgmbWljcm9jb2RlX3VwZGF0ZV9sb2NrLCBmbGFncyk7ICAgICAgICAgIAorCXNwaW5fbG9ja19pcnFzYXZlKCZtaWNyb2NvZGVfdXBkYXRlX2xvY2ssIGZsYWdzKTsKIAogCS8qIHdyaXRlIG1pY3JvY29kZSB2aWEgTVNSIDB4NzkgKi8KIAl3cm1zcihNU1JfSUEzMl9VQ09ERV9XUklURSwKLQkJKHVuc2lnbmVkIGxvbmcpIHVjaS0+bWMtPmJpdHMsIAorCQkodW5zaWduZWQgbG9uZykgdWNpLT5tYy0+Yml0cywKIAkJKHVuc2lnbmVkIGxvbmcpIHVjaS0+bWMtPmJpdHMgPj4gMTYgPj4gMTYpOwogCXdybXNyKE1TUl9JQTMyX1VDT0RFX1JFViwgMCwgMCk7CiAKQEAgLTM0MSw3ICszNDMsNyBAQAogCQlyZXR1cm47CiAJfQogCXByaW50ayhLRVJOX0lORk8gIm1pY3JvY29kZTogQ1BVJWQgdXBkYXRlZCBmcm9tIHJldmlzaW9uICIKLQkgICAgICAgIjB4JXggdG8gMHgleCwgZGF0ZSA9ICUwOHggXG4iLCAKKwkgICAgICAgIjB4JXggdG8gMHgleCwgZGF0ZSA9ICUwOHggXG4iLAogCSAgICAgICBjcHVfbnVtLCB1Y2ktPnJldiwgdmFsWzFdLCB1Y2ktPm1jLT5oZHIuZGF0ZSk7CiAJdWNpLT5yZXYgPSB2YWxbMV07CiB9CkBAIC00MjIsNiArNDI0LDcgQEAKIAogc3RhdGljIGludCBtaWNyb2NvZGVfb3BlbiAoc3RydWN0IGlub2RlICp1bnVzZWQxLCBzdHJ1Y3QgZmlsZSAqdW51c2VkMikKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiBjYXBhYmxlKENBUF9TWVNfUkFXSU8pID8gMCA6IC1FUEVSTTsKIH0KIApAQCAtNDg4LDcgKzQ5MSw3IEBACiAjZGVmaW5lIG1pY3JvY29kZV9kZXZfZXhpdCgpIGRvIHsgfSB3aGlsZSgwKQogI2VuZGlmCiAKLXN0YXRpYyBsb25nIGdldF9uZXh0X3Vjb2RlX2Zyb21fYnVmZmVyKHZvaWQgKiptYywgdm9pZCAqYnVmLAorc3RhdGljIGxvbmcgZ2V0X25leHRfdWNvZGVfZnJvbV9idWZmZXIodm9pZCAqKm1jLCBjb25zdCB1OCAqYnVmLAogCXVuc2lnbmVkIGxvbmcgc2l6ZSwgbG9uZyBvZmZzZXQpCiB7CiAJbWljcm9jb2RlX2hlYWRlcl90ICptY19oZWFkZXI7CkBAIC01MjIsNyArNTI1LDcgQEAKIAljaGFyIG5hbWVbMzBdOwogCXN0cnVjdCBjcHVpbmZvX3g4NiAqYyA9ICZjcHVfZGF0YShjcHUpOwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmU7Ci0Jdm9pZCAqYnVmOworCWNvbnN0IHU4ICpidWY7CiAJdW5zaWduZWQgbG9uZyBzaXplOwogCWxvbmcgb2Zmc2V0ID0gMDsKIAlpbnQgZXJyb3I7CkBAIC01MzQsNyArNTM3LDcgQEAKIAkJYy0+eDg2LCBjLT54ODZfbW9kZWwsIGMtPng4Nl9tYXNrKTsKIAllcnJvciA9IHJlcXVlc3RfZmlybXdhcmUoJmZpcm13YXJlLCBuYW1lLCAmbWljcm9jb2RlX3BkZXYtPmRldik7CiAJaWYgKGVycm9yKSB7Ci0JCXByX2RlYnVnKCJtaWNyb2NvZGU6IHVjb2RlIGRhdGEgZmlsZSAlcyBsb2FkIGZhaWxlZFxuIiwgbmFtZSk7CisJCXByX2RlYnVnKCJtaWNyb2NvZGU6IGRhdGEgZmlsZSAlcyBsb2FkIGZhaWxlZFxuIiwgbmFtZSk7CiAJCXJldHVybiBlcnJvcjsKIAl9CiAJYnVmID0gZmlybXdhcmUtPmRhdGE7CkBAIC04MDUsNiArODA4LDkgQEAKIHsKIAlpbnQgZXJyb3I7CiAKKwlwcmludGsoS0VSTl9JTkZPCisJCSJJQS0zMiBNaWNyb2NvZGUgVXBkYXRlIERyaXZlcjogdiIgTUlDUk9DT0RFX1ZFUlNJT04gIiA8dGlncmFuQGFpdmF6aWFuLmZzbmV0LmNvLnVrPlxuIik7CisKIAllcnJvciA9IG1pY3JvY29kZV9kZXZfaW5pdCgpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwpAQCAtODI1LDkgKzgzMSw2IEBACiAJfQogCiAJcmVnaXN0ZXJfaG90Y3B1X25vdGlmaWVyKCZtY19jcHVfbm90aWZpZXIpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAKLQkJIklBLTMyIE1pY3JvY29kZSBVcGRhdGUgRHJpdmVyOiB2IiBNSUNST0NPREVfVkVSU0lPTiAiIDx0aWdyYW5AYWl2YXppYW4uZnNuZXQuY28udWs+XG4iKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL21tY29uZi1mYW0xMGhfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9tbWNvbmYtZmFtMTBoXzY0LmMKaW5kZXggZWRjNWZiZi4uZmRmZGM1NSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL21tY29uZi1mYW0xMGhfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbW1jb25mLWZhbTEwaF82NC5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgogI2luY2x1ZGUgPGFzbS9hY3BpLmg+CisjaW5jbHVkZSA8YXNtL21tY29uZmlnLmg+CiAKICNpbmNsdWRlICIuLi9wY2kvcGNpLmgiCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9tcHBhcnNlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvbXBwYXJzZS5jCmluZGV4IDQwNDY4M2IuLjNiMjVlNDkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9tcHBhcnNlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL21wcGFyc2UuYwpAQCAtMjUsNiArMjUsOCBAQAogI2luY2x1ZGUgPGFzbS9wcm90by5oPgogI2luY2x1ZGUgPGFzbS9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgorI2luY2x1ZGUgPGFzbS9lODIwLmg+CisjaW5jbHVkZSA8YXNtL3RyYW1wb2xpbmUuaD4KIAogI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgogI2lmZGVmIENPTkZJR19YODZfMzIKQEAgLTMyLDI4ICszNCw2IEBACiAjaW5jbHVkZSA8bWFjaF9tcHBhcnNlLmg+CiAjZW5kaWYKIAotLyogSGF2ZSB3ZSBmb3VuZCBhbiBNUCB0YWJsZSAqLwotaW50IHNtcF9mb3VuZF9jb25maWc7Ci0KLS8qCi0gKiBWYXJpb3VzIExpbnV4LWludGVybmFsIGRhdGEgc3RydWN0dXJlcyBjcmVhdGVkIGZyb20gdGhlCi0gKiBNUC10YWJsZS4KLSAqLwotI2lmIGRlZmluZWQgKENPTkZJR19NQ0EpIHx8IGRlZmluZWQgKENPTkZJR19FSVNBKQotaW50IG1wX2J1c19pZF90b190eXBlW01BWF9NUF9CVVNTRVNdOwotI2VuZGlmCi0KLURFQ0xBUkVfQklUTUFQKG1wX2J1c19ub3RfcGNpLCBNQVhfTVBfQlVTU0VTKTsKLWludCBtcF9idXNfaWRfdG9fcGNpX2J1c1tNQVhfTVBfQlVTU0VTXSA9IHtbMCAuLi4gTUFYX01QX0JVU1NFUyAtIDFdID0gLTEgfTsKLQotc3RhdGljIGludCBtcF9jdXJyZW50X3BjaV9pZDsKLQotaW50IHBpY19tb2RlOwotCi0vKgotICogSW50ZWwgTVAgQklPUyB0YWJsZSBwYXJzaW5nIHJvdXRpbmVzOgotICovCi0KIC8qCiAgKiBDaGVja3N1bSBhbiBNUCBjb25maWd1cmF0aW9uIGJsb2NrLgogICovCkBAIC02OSwxNSArNDksNzMgQEAKIH0KIAogI2lmZGVmIENPTkZJR19YODZfTlVNQVEKK2ludCBmb3VuZF9udW1hcTsKIC8qCiAgKiBIYXZlIHRvIG1hdGNoIHRyYW5zbGF0aW9uIHRhYmxlIGVudHJpZXMgdG8gbWFpbiB0YWJsZSBlbnRyaWVzIGJ5IGNvdW50ZXIKICAqIGhlbmNlIHRoZSBtcGNfcmVjb3JkIHZhcmlhYmxlIC4uLi4gY2FuJ3Qgc2VlIGEgbGVzcyBkaXNndXN0aW5nIHdheSBvZgogICogZG9pbmcgdGhpcyAuLi4uCiAgKi8KK3N0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uIHsKKwl1bnNpZ25lZCBjaGFyIG1wY190eXBlOworCXVuc2lnbmVkIGNoYXIgdHJhbnNfbGVuOworCXVuc2lnbmVkIGNoYXIgdHJhbnNfdHlwZTsKKwl1bnNpZ25lZCBjaGFyIHRyYW5zX3F1YWQ7CisJdW5zaWduZWQgY2hhciB0cmFuc19nbG9iYWw7CisJdW5zaWduZWQgY2hhciB0cmFuc19sb2NhbDsKKwl1bnNpZ25lZCBzaG9ydCB0cmFuc19yZXNlcnZlZDsKK307CisKIAogc3RhdGljIGludCBtcGNfcmVjb3JkOwogc3RhdGljIHN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbl90YWJsZVtNQVhfTVBDX0VOVFJZXQogICAgIF9fY3B1aW5pdGRhdGE7CisKK3N0YXRpYyBpbmxpbmUgaW50IGdlbmVyYXRlX2xvZ2ljYWxfYXBpY2lkKGludCBxdWFkLCBpbnQgcGh5c19hcGljaWQpCit7CisJcmV0dXJuIChxdWFkIDw8IDQpICsgKHBoeXNfYXBpY2lkID8gcGh5c19hcGljaWQgPDwgMSA6IDEpOworfQorCisKK3N0YXRpYyBpbmxpbmUgaW50IG1wY19hcGljX2lkKHN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSwKKwkJCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbl9yZWNvcmQpCit7CisJaW50IHF1YWQgPSB0cmFuc2xhdGlvbl9yZWNvcmQtPnRyYW5zX3F1YWQ7CisJaW50IGxvZ2ljYWxfYXBpY2lkID0gZ2VuZXJhdGVfbG9naWNhbF9hcGljaWQocXVhZCwgbS0+bXBjX2FwaWNpZCk7CisKKwlwcmludGsoS0VSTl9ERUJVRyAiUHJvY2Vzc29yICMlZCAldToldSBBUElDIHZlcnNpb24gJWQgKHF1YWQgJWQsIGFwaWMgJWQpXG4iLAorCSAgICAgICBtLT5tcGNfYXBpY2lkLAorCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfRkFNSUxZX01BU0spID4+IDgsCisJICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9NT0RFTF9NQVNLKSA+PiA0LAorCSAgICAgICBtLT5tcGNfYXBpY3ZlciwgcXVhZCwgbG9naWNhbF9hcGljaWQpOworCXJldHVybiBsb2dpY2FsX2FwaWNpZDsKK30KKworaW50IG1wX2J1c19pZF90b19ub2RlW01BWF9NUF9CVVNTRVNdOworCitpbnQgbXBfYnVzX2lkX3RvX2xvY2FsW01BWF9NUF9CVVNTRVNdOworCitzdGF0aWMgdm9pZCBtcGNfb2VtX2J1c19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwgY2hhciAqbmFtZSwKKwlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb24pCit7CisJaW50IHF1YWQgPSB0cmFuc2xhdGlvbi0+dHJhbnNfcXVhZDsKKwlpbnQgbG9jYWwgPSB0cmFuc2xhdGlvbi0+dHJhbnNfbG9jYWw7CisKKwltcF9idXNfaWRfdG9fbm9kZVttLT5tcGNfYnVzaWRdID0gcXVhZDsKKwltcF9idXNfaWRfdG9fbG9jYWxbbS0+bXBjX2J1c2lkXSA9IGxvY2FsOworCXByaW50ayhLRVJOX0lORk8gIkJ1cyAjJWQgaXMgJXMgKG5vZGUgJWQpXG4iLAorCSAgICAgICBtLT5tcGNfYnVzaWQsIG5hbWUsIHF1YWQpOworfQorCitpbnQgcXVhZF9sb2NhbF90b19tcF9idXNfaWQgW05SX0NQVVMvNF1bNF07CitzdGF0aWMgdm9pZCBtcGNfb2VtX3BjaV9idXMoc3RydWN0IG1wY19jb25maWdfYnVzICptLAorCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbikKK3sKKwlpbnQgcXVhZCA9IHRyYW5zbGF0aW9uLT50cmFuc19xdWFkOworCWludCBsb2NhbCA9IHRyYW5zbGF0aW9uLT50cmFuc19sb2NhbDsKKworCXF1YWRfbG9jYWxfdG9fbXBfYnVzX2lkW3F1YWRdW2xvY2FsXSA9IG0tPm1wY19idXNpZDsKK30KKwogI2VuZGlmCiAKIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBNUF9wcm9jZXNzb3JfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm0pCkBAIC05MCw3ICsxMjgsMTAgQEAKIAkJcmV0dXJuOwogCX0KICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCi0JYXBpY2lkID0gbXBjX2FwaWNfaWQobSwgdHJhbnNsYXRpb25fdGFibGVbbXBjX3JlY29yZF0pOworCWlmIChmb3VuZF9udW1hcSkKKwkJYXBpY2lkID0gbXBjX2FwaWNfaWQobSwgdHJhbnNsYXRpb25fdGFibGVbbXBjX3JlY29yZF0pOworCWVsc2UKKwkJYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKICNlbHNlCiAJYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKICNlbmRpZgpAQCAtMTAzLDE3ICsxNDQsMTggQEAKIAlnZW5lcmljX3Byb2Nlc3Nvcl9pbmZvKGFwaWNpZCwgbS0+bXBjX2FwaWN2ZXIpOwogfQogCisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiBzdGF0aWMgdm9pZCBfX2luaXQgTVBfYnVzX2luZm8oc3RydWN0IG1wY19jb25maWdfYnVzICptKQogewogCWNoYXIgc3RyWzddOwotCiAJbWVtY3B5KHN0ciwgbS0+bXBjX2J1c3R5cGUsIDYpOwogCXN0cls2XSA9IDA7CiAKICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCi0JbXBjX29lbV9idXNfaW5mbyhtLCBzdHIsIHRyYW5zbGF0aW9uX3RhYmxlW21wY19yZWNvcmRdKTsKKwlpZiAoZm91bmRfbnVtYXEpCisJCW1wY19vZW1fYnVzX2luZm8obSwgc3RyLCB0cmFuc2xhdGlvbl90YWJsZVttcGNfcmVjb3JkXSk7CiAjZWxzZQotCURwcmludGsoIkJ1cyAjJWQgaXMgJXNcbiIsIG0tPm1wY19idXNpZCwgc3RyKTsKKwlwcmludGsoS0VSTl9JTkZPICJCdXMgIyVkIGlzICVzXG4iLCBtLT5tcGNfYnVzaWQsIHN0cik7CiAjZW5kaWYKIAogI2lmIE1BWF9NUF9CVVNTRVMgPCAyNTYKQEAgLTEzMiwxMSArMTc0LDEwIEBACiAjZW5kaWYKIAl9IGVsc2UgaWYgKHN0cm5jbXAoc3RyLCBCVVNUWVBFX1BDSSwgc2l6ZW9mKEJVU1RZUEVfUENJKSAtIDEpID09IDApIHsKICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCi0JCW1wY19vZW1fcGNpX2J1cyhtLCB0cmFuc2xhdGlvbl90YWJsZVttcGNfcmVjb3JkXSk7CisJCWlmIChmb3VuZF9udW1hcSkKKwkJCW1wY19vZW1fcGNpX2J1cyhtLCB0cmFuc2xhdGlvbl90YWJsZVttcGNfcmVjb3JkXSk7CiAjZW5kaWYKIAkJY2xlYXJfYml0KG0tPm1wY19idXNpZCwgbXBfYnVzX25vdF9wY2kpOwotCQltcF9idXNfaWRfdG9fcGNpX2J1c1ttLT5tcGNfYnVzaWRdID0gbXBfY3VycmVudF9wY2lfaWQ7Ci0JCW1wX2N1cnJlbnRfcGNpX2lkKys7CiAjaWYgZGVmaW5lZChDT05GSUdfRUlTQSkgfHwgZGVmaW5lZCAoQ09ORklHX01DQSkKIAkJbXBfYnVzX2lkX3RvX3R5cGVbbS0+bXBjX2J1c2lkXSA9IE1QX0JVU19QQ0k7CiAJfSBlbHNlIGlmIChzdHJuY21wKHN0ciwgQlVTVFlQRV9FSVNBLCBzaXplb2YoQlVTVFlQRV9FSVNBKSAtIDEpID09IDApIHsKQEAgLTE0Nyw2ICsxODgsNyBAQAogCX0gZWxzZQogCQlwcmludGsoS0VSTl9XQVJOSU5HICJVbmtub3duIGJ1c3R5cGUgJXMgLSBpZ25vcmluZ1xuIiwgc3RyKTsKIH0KKyNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAKQEAgLTE3NiwxOCArMjE4LDg5IEBACiAJaWYgKGJhZF9pb2FwaWMobS0+bXBjX2FwaWNhZGRyKSkKIAkJcmV0dXJuOwogCi0JbXBfaW9hcGljc1tucl9pb2FwaWNzXSA9ICptOworCW1wX2lvYXBpY3NbbnJfaW9hcGljc10ubXBfYXBpY2FkZHIgPSBtLT5tcGNfYXBpY2FkZHI7CisJbXBfaW9hcGljc1tucl9pb2FwaWNzXS5tcF9hcGljaWQgPSBtLT5tcGNfYXBpY2lkOworCW1wX2lvYXBpY3NbbnJfaW9hcGljc10ubXBfdHlwZSA9IG0tPm1wY190eXBlOworCW1wX2lvYXBpY3NbbnJfaW9hcGljc10ubXBfYXBpY3ZlciA9IG0tPm1wY19hcGljdmVyOworCW1wX2lvYXBpY3NbbnJfaW9hcGljc10ubXBfZmxhZ3MgPSBtLT5tcGNfZmxhZ3M7CiAJbnJfaW9hcGljcysrOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgTVBfaW50c3JjX2luZm8oc3RydWN0IG1wY19jb25maWdfaW50c3JjICptKQorc3RhdGljIHZvaWQgcHJpbnRfTVBfaW50c3JjX2luZm8oc3RydWN0IG1wY19jb25maWdfaW50c3JjICptKQogewotCW1wX2lycXNbbXBfaXJxX2VudHJpZXNdID0gKm07Ci0JRHByaW50aygiSW50OiB0eXBlICVkLCBwb2wgJWQsIHRyaWcgJWQsIGJ1cyAlZCwiCisJcHJpbnRrKEtFUk5fQ09OVCAiSW50OiB0eXBlICVkLCBwb2wgJWQsIHRyaWcgJWQsIGJ1cyAlMDJ4LCIKIAkJIiBJUlEgJTAyeCwgQVBJQyBJRCAleCwgQVBJQyBJTlQgJTAyeFxuIiwKIAkJbS0+bXBjX2lycXR5cGUsIG0tPm1wY19pcnFmbGFnICYgMywKIAkJKG0tPm1wY19pcnFmbGFnID4+IDIpICYgMywgbS0+bXBjX3NyY2J1cywKIAkJbS0+bXBjX3NyY2J1c2lycSwgbS0+bXBjX2RzdGFwaWMsIG0tPm1wY19kc3RpcnEpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgcHJpbnRfbXBfaXJxX2luZm8oc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm1wX2lycSkKK3sKKwlwcmludGsoS0VSTl9DT05UICJJbnQ6IHR5cGUgJWQsIHBvbCAlZCwgdHJpZyAlZCwgYnVzICUwMngsIgorCQkiIElSUSAlMDJ4LCBBUElDIElEICV4LCBBUElDIElOVCAlMDJ4XG4iLAorCQltcF9pcnEtPm1wX2lycXR5cGUsIG1wX2lycS0+bXBfaXJxZmxhZyAmIDMsCisJCShtcF9pcnEtPm1wX2lycWZsYWcgPj4gMikgJiAzLCBtcF9pcnEtPm1wX3NyY2J1cywKKwkJbXBfaXJxLT5tcF9zcmNidXNpcnEsIG1wX2lycS0+bXBfZHN0YXBpYywgbXBfaXJxLT5tcF9kc3RpcnEpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgYXNzaWduX3RvX21wX2lycShzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0sCisJCQkJICAgIHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptcF9pcnEpCit7CisJbXBfaXJxLT5tcF9kc3RhcGljID0gbS0+bXBjX2RzdGFwaWM7CisJbXBfaXJxLT5tcF90eXBlID0gbS0+bXBjX3R5cGU7CisJbXBfaXJxLT5tcF9pcnF0eXBlID0gbS0+bXBjX2lycXR5cGU7CisJbXBfaXJxLT5tcF9pcnFmbGFnID0gbS0+bXBjX2lycWZsYWc7CisJbXBfaXJxLT5tcF9zcmNidXMgPSBtLT5tcGNfc3JjYnVzOworCW1wX2lycS0+bXBfc3JjYnVzaXJxID0gbS0+bXBjX3NyY2J1c2lycTsKKwltcF9pcnEtPm1wX2RzdGlycSA9IG0tPm1wY19kc3RpcnE7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBhc3NpZ25fdG9fbXBjX2ludHNyYyhzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbXBfaXJxLAorCQkJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0pCit7CisJbS0+bXBjX2RzdGFwaWMgPSBtcF9pcnEtPm1wX2RzdGFwaWM7CisJbS0+bXBjX3R5cGUgPSBtcF9pcnEtPm1wX3R5cGU7CisJbS0+bXBjX2lycXR5cGUgPSBtcF9pcnEtPm1wX2lycXR5cGU7CisJbS0+bXBjX2lycWZsYWcgPSBtcF9pcnEtPm1wX2lycWZsYWc7CisJbS0+bXBjX3NyY2J1cyA9IG1wX2lycS0+bXBfc3JjYnVzOworCW0tPm1wY19zcmNidXNpcnEgPSBtcF9pcnEtPm1wX3NyY2J1c2lycTsKKwltLT5tcGNfZHN0aXJxID0gbXBfaXJxLT5tcF9kc3RpcnE7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG1wX2lycV9tcGNfaW50c3JjX2NtcChzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbXBfaXJxLAorCQkJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0pCit7CisJaWYgKG1wX2lycS0+bXBfZHN0YXBpYyAhPSBtLT5tcGNfZHN0YXBpYykKKwkJcmV0dXJuIDE7CisJaWYgKG1wX2lycS0+bXBfdHlwZSAhPSBtLT5tcGNfdHlwZSkKKwkJcmV0dXJuIDI7CisJaWYgKG1wX2lycS0+bXBfaXJxdHlwZSAhPSBtLT5tcGNfaXJxdHlwZSkKKwkJcmV0dXJuIDM7CisJaWYgKG1wX2lycS0+bXBfaXJxZmxhZyAhPSBtLT5tcGNfaXJxZmxhZykKKwkJcmV0dXJuIDQ7CisJaWYgKG1wX2lycS0+bXBfc3JjYnVzICE9IG0tPm1wY19zcmNidXMpCisJCXJldHVybiA1OworCWlmIChtcF9pcnEtPm1wX3NyY2J1c2lycSAhPSBtLT5tcGNfc3JjYnVzaXJxKQorCQlyZXR1cm4gNjsKKwlpZiAobXBfaXJxLT5tcF9kc3RpcnEgIT0gbS0+bXBjX2RzdGlycSkKKwkJcmV0dXJuIDc7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IE1QX2ludHNyY19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSkKK3sKKwlpbnQgaTsKKworCXByaW50X01QX2ludHNyY19pbmZvKG0pOworCisJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKKwkJaWYgKCFtcF9pcnFfbXBjX2ludHNyY19jbXAoJm1wX2lycXNbaV0sIG0pKQorCQkJcmV0dXJuOworCX0KKworCWFzc2lnbl90b19tcF9pcnEobSwgJm1wX2lycXNbbXBfaXJxX2VudHJpZXNdKTsKIAlpZiAoKyttcF9pcnFfZW50cmllcyA9PSBNQVhfSVJRX1NPVVJDRVMpCiAJCXBhbmljKCJNYXggIyBvZiBpcnEgc291cmNlcyBleGNlZWRlZCEhXG4iKTsKIH0KQEAgLTE5Niw3ICszMDksNyBAQAogCiBzdGF0aWMgdm9pZCBfX2luaXQgTVBfbGludHNyY19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2xpbnRzcmMgKm0pCiB7Ci0JRHByaW50aygiTGludDogdHlwZSAlZCwgcG9sICVkLCB0cmlnICVkLCBidXMgJWQsIgorCXByaW50ayhLRVJOX0lORk8gIkxpbnQ6IHR5cGUgJWQsIHBvbCAlZCwgdHJpZyAlZCwgYnVzICUwMngsIgogCQkiIElSUSAlMDJ4LCBBUElDIElEICV4LCBBUElDIExJTlQgJTAyeFxuIiwKIAkJbS0+bXBjX2lycXR5cGUsIG0tPm1wY19pcnFmbGFnICYgMywKIAkJKG0tPm1wY19pcnFmbGFnID4+IDIpICYgMywgbS0+bXBjX3NyY2J1c2lkLApAQCAtMjY2LDExICszNzksMTQgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAordm9pZCBudW1hcV9tcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAogCQkJCSBjaGFyICpwcm9kdWN0aWQpCiB7CiAJaWYgKHN0cm5jbXAob2VtLCAiSUJNIE5VTUEiLCA4KSkKLQkJcHJpbnRrKCJXYXJuaW5nISAgTWF5IG5vdCBiZSBhIE5VTUEtUSBzeXN0ZW0hXG4iKTsKKwkJcHJpbnRrKCJXYXJuaW5nISAgTm90IGEgTlVNQS1RIHN5c3RlbSFcbiIpOworCWVsc2UKKwkJZm91bmRfbnVtYXEgPSAxOworCiAJaWYgKG1wYy0+bXBjX29lbXB0cikKIAkJc21wX3JlYWRfbXBjX29lbSgoc3RydWN0IG1wX2NvbmZpZ19vZW10YWJsZSAqKW1wYy0+bXBjX29lbXB0ciwKIAkJCQkgbXBjLT5tcGNfb2Vtc2l6ZSk7CkBAIC0yODEsMTIgKzM5Nyw5IEBACiAgKiBSZWFkL3BhcnNlIHRoZSBNUEMKICAqLwogCi1zdGF0aWMgaW50IF9faW5pdCBzbXBfcmVhZF9tcGMoc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCB1bnNpZ25lZCBlYXJseSkKK3N0YXRpYyBpbnQgX19pbml0IHNtcF9jaGVja19tcGMoc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sCisJCQkJY2hhciAqc3RyKQogewotCWNoYXIgc3RyWzE2XTsKLQljaGFyIG9lbVsxMF07Ci0JaW50IGNvdW50ID0gc2l6ZW9mKCptcGMpOwotCXVuc2lnbmVkIGNoYXIgKm1wdCA9ICgodW5zaWduZWQgY2hhciAqKW1wYykgKyBjb3VudDsKIAogCWlmIChtZW1jbXAobXBjLT5tcGNfc2lnbmF0dXJlLCBNUENfU0lHTkFUVVJFLCA0KSkgewogCQlwcmludGsoS0VSTl9FUlIgIk1QVEFCTEU6IGJhZCBzaWduYXR1cmUgWyVjJWMlYyVjXSFcbiIsCkBAIC0zMDksMTkgKzQyMiw0MiBAQAogCX0KIAltZW1jcHkob2VtLCBtcGMtPm1wY19vZW0sIDgpOwogCW9lbVs4XSA9IDA7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiTVBUQUJMRTogT0VNIElEOiAlcyAiLCBvZW0pOworCXByaW50ayhLRVJOX0lORk8gIk1QVEFCTEU6IE9FTSBJRDogJXNcbiIsIG9lbSk7CiAKIAltZW1jcHkoc3RyLCBtcGMtPm1wY19wcm9kdWN0aWQsIDEyKTsKIAlzdHJbMTJdID0gMDsKLQlwcmludGsoIlByb2R1Y3QgSUQ6ICVzICIsIHN0cik7CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JbXBzX29lbV9jaGVjayhtcGMsIG9lbSwgc3RyKTsKLSNlbmRpZgotCXByaW50ayhLRVJOX0lORk8gIk1QVEFCTEU6IFByb2R1Y3QgSUQ6ICVzICIsIHN0cik7CisJcHJpbnRrKEtFUk5fSU5GTyAiTVBUQUJMRTogUHJvZHVjdCBJRDogJXNcbiIsIHN0cik7CiAKIAlwcmludGsoS0VSTl9JTkZPICJNUFRBQkxFOiBBUElDIGF0OiAweCVYXG4iLCBtcGMtPm1wY19sYXBpYyk7CiAKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBfX2luaXQgc21wX3JlYWRfbXBjKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgdW5zaWduZWQgZWFybHkpCit7CisJY2hhciBzdHJbMTZdOworCWNoYXIgb2VtWzEwXTsKKworCWludCBjb3VudCA9IHNpemVvZigqbXBjKTsKKwl1bnNpZ25lZCBjaGFyICptcHQgPSAoKHVuc2lnbmVkIGNoYXIgKiltcGMpICsgY291bnQ7CisKKwlpZiAoIXNtcF9jaGVja19tcGMobXBjLCBvZW0sIHN0cikpCisJCXJldHVybiAwOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCS8qCisJICogbmVlZCB0byBtYWtlIHN1cmUgc3VtbWl0IGFuZCBlczcwMDAncyBtcHNfb2VtX2NoZWNrIGlzIHNhZmUgdG8gYmUKKwkgKiBjYWxsZWQgZWFybHkgdmlhIGdlbmVyaWNhcmNoICdzIG1wc19vZW1fY2hlY2sKKwkgKi8KKwlpZiAoZWFybHkpIHsKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCisJCW51bWFxX21wc19vZW1fY2hlY2sobXBjLCBvZW0sIHN0cik7CisjZW5kaWYKKwl9IGVsc2UKKwkJbXBzX29lbV9jaGVjayhtcGMsIG9lbSwgc3RyKTsKKyNlbmRpZgorCiAJLyogc2F2ZSB0aGUgbG9jYWwgQVBJQyBhZGRyZXNzLCBpdCBtaWdodCBiZSBub24tZGVmYXVsdCAqLwogCWlmICghYWNwaV9sYXBpYykKIAkJbXBfbGFwaWNfYWRkciA9IG1wYy0+bXBjX2xhcGljOwpAQCAtMzUyLDcgKzQ4OCw5IEBACiAJCQl7CiAJCQkJc3RydWN0IG1wY19jb25maWdfYnVzICptID0KIAkJCQkgICAgKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqKW1wdDsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIAkJCQlNUF9idXNfaW5mbyhtKTsKKyNlbmRpZgogCQkJCW1wdCArPSBzaXplb2YoKm0pOwogCQkJCWNvdW50ICs9IHNpemVvZigqbSk7CiAJCQkJYnJlYWs7CkBAIC00MDIsNiArNTQwLDExIEBACiAJCSsrbXBjX3JlY29yZDsKICNlbmRpZgogCX0KKworI2lmZGVmIENPTkZJR19YODZfR0VORVJJQ0FSQ0gKKyAgICAgICBnZW5lcmljX2JpZ3NtcF9wcm9iZSgpOworI2VuZGlmCisKIAlzZXR1cF9hcGljX3JvdXRpbmcoKTsKIAlpZiAoIW51bV9wcm9jZXNzb3JzKQogCQlwcmludGsoS0VSTl9FUlIgIk1QVEFCTEU6IG5vIHByb2Nlc3NvcnMgcmVnaXN0ZXJlZCFcbiIpOwpAQCAtNDI3LDcgKzU3MCw3IEBACiAJaW50c3JjLm1wY190eXBlID0gTVBfSU5UU1JDOwogCWludHNyYy5tcGNfaXJxZmxhZyA9IDA7CS8qIGNvbmZvcm1pbmcgKi8KIAlpbnRzcmMubXBjX3NyY2J1cyA9IDA7Ci0JaW50c3JjLm1wY19kc3RhcGljID0gbXBfaW9hcGljc1swXS5tcGNfYXBpY2lkOworCWludHNyYy5tcGNfZHN0YXBpYyA9IG1wX2lvYXBpY3NbMF0ubXBfYXBpY2lkOwogCiAJaW50c3JjLm1wY19pcnF0eXBlID0gbXBfSU5UOwogCkBAIC00ODgsNDAgKzYzMSwxMSBAQAogCU1QX2ludHNyY19pbmZvKCZpbnRzcmMpOwogfQogCi0jZW5kaWYKIAotc3RhdGljIGlubGluZSB2b2lkIF9faW5pdCBjb25zdHJ1Y3RfZGVmYXVsdF9JU0FfbXB0YWJsZShpbnQgbXBjX2RlZmF1bHRfdHlwZSkKK3N0YXRpYyB2b2lkIGNvbnN0cnVjdF9pb2FwaWNfdGFibGUoaW50IG1wY19kZWZhdWx0X3R5cGUpCiB7Ci0Jc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yIHByb2Nlc3NvcjsKLQlzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgYnVzOwotI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCXN0cnVjdCBtcGNfY29uZmlnX2lvYXBpYyBpb2FwaWM7Ci0jZW5kaWYKLQlzdHJ1Y3QgbXBjX2NvbmZpZ19saW50c3JjIGxpbnRzcmM7Ci0JaW50IGxpbnR0eXBlc1syXSA9IHsgbXBfRXh0SU5ULCBtcF9OTUkgfTsKLQlpbnQgaTsKLQotCS8qCi0JICogbG9jYWwgQVBJQyBoYXMgZGVmYXVsdCBhZGRyZXNzCi0JICovCi0JbXBfbGFwaWNfYWRkciA9IEFQSUNfREVGQVVMVF9QSFlTX0JBU0U7Ci0KLQkvKgotCSAqIDIgQ1BVcywgbnVtYmVyZWQgMCAmIDEuCi0JICovCi0JcHJvY2Vzc29yLm1wY190eXBlID0gTVBfUFJPQ0VTU09SOwotCS8qIEVpdGhlciBhbiBpbnRlZ3JhdGVkIEFQSUMgb3IgYSBkaXNjcmV0ZSA4MjQ4OURYLiAqLwotCXByb2Nlc3Nvci5tcGNfYXBpY3ZlciA9IG1wY19kZWZhdWx0X3R5cGUgPiA0ID8gMHgxMCA6IDB4MDE7Ci0JcHJvY2Vzc29yLm1wY19jcHVmbGFnID0gQ1BVX0VOQUJMRUQ7Ci0JcHJvY2Vzc29yLm1wY19jcHVmZWF0dXJlID0gKGJvb3RfY3B1X2RhdGEueDg2IDw8IDgpIHwKLQkgICAgKGJvb3RfY3B1X2RhdGEueDg2X21vZGVsIDw8IDQpIHwgYm9vdF9jcHVfZGF0YS54ODZfbWFzazsKLQlwcm9jZXNzb3IubXBjX2ZlYXR1cmVmbGFnID0gYm9vdF9jcHVfZGF0YS54ODZfY2FwYWJpbGl0eVswXTsKLQlwcm9jZXNzb3IubXBjX3Jlc2VydmVkWzBdID0gMDsKLQlwcm9jZXNzb3IubXBjX3Jlc2VydmVkWzFdID0gMDsKLQlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7Ci0JCXByb2Nlc3Nvci5tcGNfYXBpY2lkID0gaTsKLQkJTVBfcHJvY2Vzc29yX2luZm8oJnByb2Nlc3Nvcik7Ci0JfQorCXN0cnVjdCBtcGNfY29uZmlnX2J1cyBidXM7CiAKIAlidXMubXBjX3R5cGUgPSBNUF9CVVM7CiAJYnVzLm1wY19idXNpZCA9IDA7CkBAIC01NTAsNyArNjY0LDYgQEAKIAkJTVBfYnVzX2luZm8oJmJ1cyk7CiAJfQogCi0jaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJaW9hcGljLm1wY190eXBlID0gTVBfSU9BUElDOwogCWlvYXBpYy5tcGNfYXBpY2lkID0gMjsKIAlpb2FwaWMubXBjX2FwaWN2ZXIgPSBtcGNfZGVmYXVsdF90eXBlID4gNCA/IDB4MTAgOiAweDAxOwpAQCAtNTYyLDcgKzY3NSw0MiBAQAogCSAqIFdlIHNldCB1cCBtb3N0IG9mIHRoZSBsb3cgMTYgSU8tQVBJQyBwaW5zIGFjY29yZGluZyB0byBNUFMgcnVsZXMuCiAJICovCiAJY29uc3RydWN0X2RlZmF1bHRfaW9pcnFfbXB0YWJsZShtcGNfZGVmYXVsdF90eXBlKTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgY29uc3RydWN0X2lvYXBpY190YWJsZShpbnQgbXBjX2RlZmF1bHRfdHlwZSkgeyB9CiAjZW5kaWYKKworc3RhdGljIGlubGluZSB2b2lkIF9faW5pdCBjb25zdHJ1Y3RfZGVmYXVsdF9JU0FfbXB0YWJsZShpbnQgbXBjX2RlZmF1bHRfdHlwZSkKK3sKKwlzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgcHJvY2Vzc29yOworCXN0cnVjdCBtcGNfY29uZmlnX2xpbnRzcmMgbGludHNyYzsKKwlpbnQgbGludHR5cGVzWzJdID0geyBtcF9FeHRJTlQsIG1wX05NSSB9OworCWludCBpOworCisJLyoKKwkgKiBsb2NhbCBBUElDIGhhcyBkZWZhdWx0IGFkZHJlc3MKKwkgKi8KKwltcF9sYXBpY19hZGRyID0gQVBJQ19ERUZBVUxUX1BIWVNfQkFTRTsKKworCS8qCisJICogMiBDUFVzLCBudW1iZXJlZCAwICYgMS4KKwkgKi8KKwlwcm9jZXNzb3IubXBjX3R5cGUgPSBNUF9QUk9DRVNTT1I7CisJLyogRWl0aGVyIGFuIGludGVncmF0ZWQgQVBJQyBvciBhIGRpc2NyZXRlIDgyNDg5RFguICovCisJcHJvY2Vzc29yLm1wY19hcGljdmVyID0gbXBjX2RlZmF1bHRfdHlwZSA+IDQgPyAweDEwIDogMHgwMTsKKwlwcm9jZXNzb3IubXBjX2NwdWZsYWcgPSBDUFVfRU5BQkxFRDsKKwlwcm9jZXNzb3IubXBjX2NwdWZlYXR1cmUgPSAoYm9vdF9jcHVfZGF0YS54ODYgPDwgOCkgfAorCSAgICAoYm9vdF9jcHVfZGF0YS54ODZfbW9kZWwgPDwgNCkgfCBib290X2NwdV9kYXRhLng4Nl9tYXNrOworCXByb2Nlc3Nvci5tcGNfZmVhdHVyZWZsYWcgPSBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5WzBdOworCXByb2Nlc3Nvci5tcGNfcmVzZXJ2ZWRbMF0gPSAwOworCXByb2Nlc3Nvci5tcGNfcmVzZXJ2ZWRbMV0gPSAwOworCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKKwkJcHJvY2Vzc29yLm1wY19hcGljaWQgPSBpOworCQlNUF9wcm9jZXNzb3JfaW5mbygmcHJvY2Vzc29yKTsKKwl9CisKKwljb25zdHJ1Y3RfaW9hcGljX3RhYmxlKG1wY19kZWZhdWx0X3R5cGUpOworCiAJbGludHNyYy5tcGNfdHlwZSA9IE1QX0xJTlRTUkM7CiAJbGludHNyYy5tcGNfaXJxZmxhZyA9IDA7CS8qIGNvbmZvcm1pbmcgKi8KIAlsaW50c3JjLm1wY19zcmNidXNpZCA9IDA7CkBAIC01NzgsMTIgKzcyNiwyMiBAQAogc3RhdGljIHN0cnVjdCBpbnRlbF9tcF9mbG9hdGluZyAqbXBmX2ZvdW5kOwogCiAvKgorICogTWFjaGluZSBzcGVjaWZpYyBxdWlyayBmb3IgZmluZGluZyB0aGUgU01QIGNvbmZpZyBiZWZvcmUgb3RoZXIgc2V0dXAKKyAqIGFjdGl2aXRpZXMgZGVzdHJveSB0aGUgdGFibGU6CisgKi8KK2ludCAoKm1hY2hfZ2V0X3NtcF9jb25maWdfcXVpcmspKHVuc2lnbmVkIGludCBlYXJseSk7CisKKy8qCiAgKiBTY2FuIHRoZSBtZW1vcnkgYmxvY2tzIGZvciBhbiBTTVAgY29uZmlndXJhdGlvbiBibG9jay4KICAqLwotc3RhdGljIHZvaWQgX19pbml0IF9fZ2V0X3NtcF9jb25maWcodW5zaWduZWQgZWFybHkpCitzdGF0aWMgdm9pZCBfX2luaXQgX19nZXRfc21wX2NvbmZpZyh1bnNpZ25lZCBpbnQgZWFybHkpCiB7CiAJc3RydWN0IGludGVsX21wX2Zsb2F0aW5nICptcGYgPSBtcGZfZm91bmQ7CiAKKwlpZiAobWFjaF9nZXRfc21wX2NvbmZpZ19xdWlyaykgeworCQlpZiAobWFjaF9nZXRfc21wX2NvbmZpZ19xdWlyayhlYXJseSkpCisJCQlyZXR1cm47CisJfQogCWlmIChhY3BpX2xhcGljICYmIGVhcmx5KQogCQlyZXR1cm47CiAJLyoKQEAgLTYwMCw3ICs3NTgsNyBAQAogCiAJcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgTXVsdGlQcm9jZXNzb3IgU3BlY2lmaWNhdGlvbiB2MS4lZFxuIiwKIAkgICAgICAgbXBmLT5tcGZfc3BlY2lmaWNhdGlvbik7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgorI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9MT0NBTF9BUElDKSAmJiBkZWZpbmVkKENPTkZJR19YODZfMzIpCiAJaWYgKG1wZi0+bXBmX2ZlYXR1cmUyICYgKDEgPDwgNykpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiICAgIElNQ1IgYW5kIFBJQyBjb21wYXRpYmlsaXR5IG1vZGUuXG4iKTsKIAkJcGljX21vZGUgPSAxOwpAQCAtNjMyLDcgKzc5MCw5IEBACiAJCSAqIG92ZXJyaWRlIHRoZSBkZWZhdWx0cy4KIAkJICovCiAJCWlmICghc21wX3JlYWRfbXBjKHBoeXNfdG9fdmlydChtcGYtPm1wZl9waHlzcHRyKSwgZWFybHkpKSB7CisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJCQlzbXBfZm91bmRfY29uZmlnID0gMDsKKyNlbmRpZgogCQkJcHJpbnRrKEtFUk5fRVJSCiAJCQkgICAgICAgIkJJT1MgYnVnLCBNUCB0YWJsZSBlcnJvcnMgZGV0ZWN0ZWQhLi4uXG4iKTsKIAkJCXByaW50ayhLRVJOX0VSUiAiLi4uIGRpc2FibGluZyBTTVAgc3VwcG9ydC4gIgpAQCAtNjg5LDcgKzg0OSw3IEBACiAJdW5zaWduZWQgaW50ICpicCA9IHBoeXNfdG9fdmlydChiYXNlKTsKIAlzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgKm1wZjsKIAotCURwcmludGsoIlNjYW4gU01QIGZyb20gJXAgZm9yICVsZCBieXRlcy5cbiIsIGJwLCBsZW5ndGgpOworCXByaW50ayhLRVJOX0RFQlVHICJTY2FuIFNNUCBmcm9tICVwIGZvciAlbGQgYnl0ZXMuXG4iLCBicCwgbGVuZ3RoKTsKIAlCVUlMRF9CVUdfT04oc2l6ZW9mKCptcGYpICE9IDE2KTsKIAogCXdoaWxlIChsZW5ndGggPiAwKSB7CkBAIC02OTksMTUgKzg1OSwyMSBAQAogCQkgICAgIW1wZl9jaGVja3N1bSgodW5zaWduZWQgY2hhciAqKWJwLCAxNikgJiYKIAkJICAgICgobXBmLT5tcGZfc3BlY2lmaWNhdGlvbiA9PSAxKQogCQkgICAgIHx8IChtcGYtPm1wZl9zcGVjaWZpY2F0aW9uID09IDQpKSkgewotCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJCQlzbXBfZm91bmRfY29uZmlnID0gMTsKKyNlbmRpZgogCQkJbXBmX2ZvdW5kID0gbXBmOwotI2lmZGVmIENPTkZJR19YODZfMzIKKwogCQkJcHJpbnRrKEtFUk5fSU5GTyAiZm91bmQgU01QIE1QLXRhYmxlIGF0IFslcF0gJTA4bHhcbiIsCiAJCQkgICAgICAgbXBmLCB2aXJ0X3RvX3BoeXMobXBmKSk7Ci0JCQlyZXNlcnZlX2Jvb3RtZW0odmlydF90b19waHlzKG1wZiksIFBBR0VfU0laRSwKKworCQkJaWYgKCFyZXNlcnZlKQorCQkJCXJldHVybiAxOworCQkJcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWModmlydF90b19waHlzKG1wZiksIFBBR0VfU0laRSwKIAkJCQkJQk9PVE1FTV9ERUZBVUxUKTsKIAkJCWlmIChtcGYtPm1wZl9waHlzcHRyKSB7CisJCQkJdW5zaWduZWQgbG9uZyBzaXplID0gUEFHRV9TSVpFOworI2lmZGVmIENPTkZJR19YODZfMzIKIAkJCQkvKgogCQkJCSAqIFdlIGNhbm5vdCBhY2Nlc3MgdG8gTVBDIHRhYmxlIHRvIGNvbXB1dGUKIAkJCQkgKiB0YWJsZSBzaXplIHlldCwgYXMgb25seSBmZXcgbWVnYWJ5dGVzIGZyb20KQEAgLTcxNywyNCArODgzLDE1IEBACiAJCQkJICogUEFHRV9TSVpFIGZyb20gbXBnLT5tcGZfcGh5c3B0ciB5aWVsZHMgQlVHKCkKIAkJCQkgKiBpbiByZXNlcnZlX2Jvb3RtZW0uCiAJCQkJICovCi0JCQkJdW5zaWduZWQgbG9uZyBzaXplID0gUEFHRV9TSVpFOwogCQkJCXVuc2lnbmVkIGxvbmcgZW5kID0gbWF4X2xvd19wZm4gKiBQQUdFX1NJWkU7CiAJCQkJaWYgKG1wZi0+bXBmX3BoeXNwdHIgKyBzaXplID4gZW5kKQogCQkJCQlzaXplID0gZW5kIC0gbXBmLT5tcGZfcGh5c3B0cjsKLQkJCQlyZXNlcnZlX2Jvb3RtZW0obXBmLT5tcGZfcGh5c3B0ciwgc2l6ZSwKKyNlbmRpZgorCQkJCXJlc2VydmVfYm9vdG1lbV9nZW5lcmljKG1wZi0+bXBmX3BoeXNwdHIsIHNpemUsCiAJCQkJCQlCT09UTUVNX0RFRkFVTFQpOwogCQkJfQogCi0jZWxzZQotCQkJaWYgKCFyZXNlcnZlKQotCQkJCXJldHVybiAxOwotCi0JCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh2aXJ0X3RvX3BoeXMobXBmKSwgUEFHRV9TSVpFKTsKLQkJCWlmIChtcGYtPm1wZl9waHlzcHRyKQotCQkJCXJlc2VydmVfYm9vdG1lbV9nZW5lcmljKG1wZi0+bXBmX3BoeXNwdHIsCi0JCQkJCQkJUEFHRV9TSVpFKTsKLSNlbmRpZgotCQlyZXR1cm4gMTsKKwkJCXJldHVybiAxOwogCQl9CiAJCWJwICs9IDQ7CiAJCWxlbmd0aCAtPSAxNjsKQEAgLTc0MiwxMCArODk5LDE2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIF9faW5pdCBfX2ZpbmRfc21wX2NvbmZpZyh1bnNpZ25lZCByZXNlcnZlKQoraW50ICgqbWFjaF9maW5kX3NtcF9jb25maWdfcXVpcmspKHVuc2lnbmVkIGludCByZXNlcnZlKTsKKworc3RhdGljIHZvaWQgX19pbml0IF9fZmluZF9zbXBfY29uZmlnKHVuc2lnbmVkIGludCByZXNlcnZlKQogewogCXVuc2lnbmVkIGludCBhZGRyZXNzOwogCisJaWYgKG1hY2hfZmluZF9zbXBfY29uZmlnX3F1aXJrKSB7CisJCWlmIChtYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyayhyZXNlcnZlKSkKKwkJCXJldHVybjsKKwl9CiAJLyoKIAkgKiBGSVhNRTogTGludXggYXNzdW1lcyB5b3UgaGF2ZSA2NDBLIG9mIGJhc2UgcmFtLi4KIAkgKiB0aGlzIGNvbnRpbnVlcyB0aGUgZXJyb3IuLi4KQEAgLTc5MCwyOTggKzk1MywyOTQgQEAKIAlfX2ZpbmRfc21wX2NvbmZpZygxKTsKIH0KIAotLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJLWJhc2VkIE1QIENvbmZpZ3VyYXRpb24KLSAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCitzdGF0aWMgdTggX19pbml0ZGF0YSBpcnFfdXNlZFtNQVhfSVJRX1NPVVJDRVNdOwogCi0vKgotICogS2VlcCB0aGlzIG91dHNpZGUgYW5kIGluaXRpYWxpemVkIHRvIDAsIGZvciAhQ09ORklHX0FDUEkgYnVpbGRzOgotICovCi1pbnQgZXM3MDAwX3BsYXQ7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSQotCi0jaWZkZWYJQ09ORklHX1g4Nl9JT19BUElDCi0KLSNkZWZpbmUgTVBfSVNBX0JVUwkJMAotCi1leHRlcm4gc3RydWN0IG1wX2lvYXBpY19yb3V0aW5nIG1wX2lvYXBpY19yb3V0aW5nW01BWF9JT19BUElDU107Ci0KLXN0YXRpYyBpbnQgbXBfZmluZF9pb2FwaWMoaW50IGdzaSkKK3N0YXRpYyBpbnQgIF9faW5pdCBnZXRfTVBfaW50c3JjX2luZGV4KHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSkKIHsKLQlpbnQgaSA9IDA7CisJaW50IGk7CiAKLQkvKiBGaW5kIHRoZSBJT0FQSUMgdGhhdCBtYW5hZ2VzIHRoaXMgR1NJLiAqLwotCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKLQkJaWYgKChnc2kgPj0gbXBfaW9hcGljX3JvdXRpbmdbaV0uZ3NpX2Jhc2UpCi0JCSAgICAmJiAoZ3NpIDw9IG1wX2lvYXBpY19yb3V0aW5nW2ldLmdzaV9lbmQpKQotCQkJcmV0dXJuIGk7CisJaWYgKG0tPm1wY19pcnF0eXBlICE9IG1wX0lOVCkKKwkJcmV0dXJuIDA7CisKKwlpZiAobS0+bXBjX2lycWZsYWcgIT0gMHgwZikKKwkJcmV0dXJuIDA7CisKKwkvKiBub3QgbGVnYWN5ICovCisKKwlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgeworCQlpZiAobXBfaXJxc1tpXS5tcF9pcnF0eXBlICE9IG1wX0lOVCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChtcF9pcnFzW2ldLm1wX2lycWZsYWcgIT0gMHgwZikKKwkJCWNvbnRpbnVlOworCisJCWlmIChtcF9pcnFzW2ldLm1wX3NyY2J1cyAhPSBtLT5tcGNfc3JjYnVzKQorCQkJY29udGludWU7CisJCWlmIChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSAhPSBtLT5tcGNfc3JjYnVzaXJxKQorCQkJY29udGludWU7CisJCWlmIChpcnFfdXNlZFtpXSkgeworCQkJLyogYWxyZWFkeSBjbGFpbWVkICovCisJCQlyZXR1cm4gLTI7CisJCX0KKwkJaXJxX3VzZWRbaV0gPSAxOworCQlyZXR1cm4gaTsKIAl9CiAKLQlwcmludGsoS0VSTl9FUlIgIkVSUk9SOiBVbmFibGUgdG8gbG9jYXRlIElPQVBJQyBmb3IgR1NJICVkXG4iLCBnc2kpOworCS8qIG5vdCBmb3VuZCAqLwogCXJldHVybiAtMTsKIH0KIAotc3RhdGljIHU4IF9faW5pdCB1bmlxX2lvYXBpY19pZCh1OCBpZCkKLXsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JaWYgKChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCkgJiYKLQkgICAgIUFQSUNfWEFQSUMoYXBpY192ZXJzaW9uW2Jvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZF0pKQotCQlyZXR1cm4gaW9fYXBpY19nZXRfdW5pcXVlX2lkKG5yX2lvYXBpY3MsIGlkKTsKLQllbHNlCi0JCXJldHVybiBpZDsKLSNlbHNlCi0JaW50IGk7Ci0JREVDTEFSRV9CSVRNQVAodXNlZCwgMjU2KTsKLQliaXRtYXBfemVybyh1c2VkLCAyNTYpOwotCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKLQkJc3RydWN0IG1wY19jb25maWdfaW9hcGljICppYSA9ICZtcF9pb2FwaWNzW2ldOwotCQlfX3NldF9iaXQoaWEtPm1wY19hcGljaWQsIHVzZWQpOwotCX0KLQlpZiAoIXRlc3RfYml0KGlkLCB1c2VkKSkKLQkJcmV0dXJuIGlkOwotCXJldHVybiBmaW5kX2ZpcnN0X3plcm9fYml0KHVzZWQsIDI1Nik7CisjZGVmaW5lIFNQQVJFX1NMT1RfTlVNIDIwCisKK3N0YXRpYyBzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgX19pbml0ZGF0YSAqbV9zcGFyZVtTUEFSRV9TTE9UX05VTV07CiAjZW5kaWYKLX0KIAotdm9pZCBfX2luaXQgbXBfcmVnaXN0ZXJfaW9hcGljKGludCBpZCwgdTMyIGFkZHJlc3MsIHUzMiBnc2lfYmFzZSkKK3N0YXRpYyBpbnQgIF9faW5pdCByZXBsYWNlX2ludHNyY19hbGwoc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLAorCQkJCQl1bnNpZ25lZCBsb25nIG1wY19uZXdfcGh5cywKKwkJCQkJdW5zaWduZWQgbG9uZyBtcGNfbmV3X2xlbmd0aCkKIHsKLQlpbnQgaWR4ID0gMDsKLQotCWlmIChiYWRfaW9hcGljKGFkZHJlc3MpKQotCQlyZXR1cm47Ci0KLQlpZHggPSBucl9pb2FwaWNzOwotCi0JbXBfaW9hcGljc1tpZHhdLm1wY190eXBlID0gTVBfSU9BUElDOwotCW1wX2lvYXBpY3NbaWR4XS5tcGNfZmxhZ3MgPSBNUENfQVBJQ19VU0FCTEU7Ci0JbXBfaW9hcGljc1tpZHhdLm1wY19hcGljYWRkciA9IGFkZHJlc3M7Ci0KLQlzZXRfZml4bWFwX25vY2FjaGUoRklYX0lPX0FQSUNfQkFTRV8wICsgaWR4LCBhZGRyZXNzKTsKLQltcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNpZCA9IHVuaXFfaW9hcGljX2lkKGlkKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JbXBfaW9hcGljc1tpZHhdLm1wY19hcGljdmVyID0gaW9fYXBpY19nZXRfdmVyc2lvbihpZHgpOwotI2Vsc2UKLQltcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWN2ZXIgPSAwOwotI2VuZGlmCi0JLyoKLQkgKiBCdWlsZCBiYXNpYyBHU0kgbG9va3VwIHRhYmxlIHRvIGZhY2lsaXRhdGUgZ3NpLT5pb19hcGljIGxvb2t1cHMKLQkgKiBhbmQgdG8gcHJldmVudCByZXByb2dyYW1taW5nIG9mIElPQVBJQyBwaW5zIChQQ0kgR1NJcykuCi0JICovCi0JbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5hcGljX2lkID0gbXBfaW9hcGljc1tpZHhdLm1wY19hcGljaWQ7Ci0JbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfYmFzZSA9IGdzaV9iYXNlOwotCW1wX2lvYXBpY19yb3V0aW5nW2lkeF0uZ3NpX2VuZCA9IGdzaV9iYXNlICsKLQkgICAgaW9fYXBpY19nZXRfcmVkaXJfZW50cmllcyhpZHgpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiSU9BUElDWyVkXTogYXBpY19pZCAlZCwgdmVyc2lvbiAlZCwgYWRkcmVzcyAweCV4LCAiCi0JICAgICAgICJHU0kgJWQtJWRcbiIsIGlkeCwgbXBfaW9hcGljc1tpZHhdLm1wY19hcGljaWQsCi0JICAgICAgIG1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY3ZlciwgbXBfaW9hcGljc1tpZHhdLm1wY19hcGljYWRkciwKLQkgICAgICAgbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfYmFzZSwgbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfZW5kKTsKLQotCW5yX2lvYXBpY3MrKzsKLX0KLQotdm9pZCBfX2luaXQgbXBfb3ZlcnJpZGVfbGVnYWN5X2lycSh1OCBidXNfaXJxLCB1OCBwb2xhcml0eSwgdTggdHJpZ2dlciwgdTMyIGdzaSkKLXsKLQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgaW50c3JjOwotCWludCBpb2FwaWMgPSAtMTsKLQlpbnQgcGluID0gLTE7Ci0KLQkvKgotCSAqIENvbnZlcnQgJ2dzaScgdG8gJ2lvYXBpYy5waW4nLgotCSAqLwotCWlvYXBpYyA9IG1wX2ZpbmRfaW9hcGljKGdzaSk7Ci0JaWYgKGlvYXBpYyA8IDApCi0JCXJldHVybjsKLQlwaW4gPSBnc2kgLSBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmdzaV9iYXNlOwotCi0JLyoKLQkgKiBUQkQ6IFRoaXMgY2hlY2sgaXMgZm9yIGZhdWx0eSB0aW1lciBlbnRyaWVzLCB3aGVyZSB0aGUgb3ZlcnJpZGUKLQkgKiAgICAgIGVycm9uZW91c2x5IHNldHMgdGhlIHRyaWdnZXIgdG8gbGV2ZWwsIHJlc3VsdGluZyBpbiBhIEhVR0UKLQkgKiAgICAgIGluY3JlYXNlIG9mIHRpbWVyIGludGVycnVwdHMhCi0JICovCi0JaWYgKChidXNfaXJxID09IDApICYmICh0cmlnZ2VyID09IDMpKQotCQl0cmlnZ2VyID0gMTsKLQotCWludHNyYy5tcGNfdHlwZSA9IE1QX0lOVFNSQzsKLQlpbnRzcmMubXBjX2lycXR5cGUgPSBtcF9JTlQ7Ci0JaW50c3JjLm1wY19pcnFmbGFnID0gKHRyaWdnZXIgPDwgMikgfCBwb2xhcml0eTsKLQlpbnRzcmMubXBjX3NyY2J1cyA9IE1QX0lTQV9CVVM7Ci0JaW50c3JjLm1wY19zcmNidXNpcnEgPSBidXNfaXJxOwkvKiBJUlEgKi8KLQlpbnRzcmMubXBjX2RzdGFwaWMgPSBtcF9pb2FwaWNzW2lvYXBpY10ubXBjX2FwaWNpZDsJLyogQVBJQyBJRCAqLwotCWludHNyYy5tcGNfZHN0aXJxID0gcGluOwkvKiBJTlRJTiMgKi8KLQotCU1QX2ludHNyY19pbmZvKCZpbnRzcmMpOwotfQotCi12b2lkIF9faW5pdCBtcF9jb25maWdfYWNwaV9sZWdhY3lfaXJxcyh2b2lkKQotewotCXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyBpbnRzcmM7Ci0JaW50IGkgPSAwOwotCWludCBpb2FwaWMgPSAtMTsKLQotI2lmIGRlZmluZWQgKENPTkZJR19NQ0EpIHx8IGRlZmluZWQgKENPTkZJR19FSVNBKQotCS8qCi0JICogRmFicmljYXRlIHRoZSBsZWdhY3kgSVNBIGJ1cyAoYnVzICMzMSkuCi0JICovCi0JbXBfYnVzX2lkX3RvX3R5cGVbTVBfSVNBX0JVU10gPSBNUF9CVVNfSVNBOwotI2VuZGlmCi0Jc2V0X2JpdChNUF9JU0FfQlVTLCBtcF9idXNfbm90X3BjaSk7Ci0JRHByaW50aygiQnVzICMlZCBpcyBJU0FcbiIsIE1QX0lTQV9CVVMpOwotCi0JLyoKLQkgKiBPbGRlciBnZW5lcmF0aW9ucyBvZiBFUzcwMDAgaGF2ZSBubyBsZWdhY3kgaWRlbnRpdHkgbWFwcGluZ3MKLQkgKi8KLQlpZiAoZXM3MDAwX3BsYXQgPT0gMSkKLQkJcmV0dXJuOwotCi0JLyoKLQkgKiBMb2NhdGUgdGhlIElPQVBJQyB0aGF0IG1hbmFnZXMgdGhlIElTQSBJUlFzICgwLTE1KS4KLQkgKi8KLQlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYygwKTsKLQlpZiAoaW9hcGljIDwgMCkKLQkJcmV0dXJuOwotCi0JaW50c3JjLm1wY190eXBlID0gTVBfSU5UU1JDOwotCWludHNyYy5tcGNfaXJxZmxhZyA9IDA7CS8qIENvbmZvcm1pbmcgKi8KLQlpbnRzcmMubXBjX3NyY2J1cyA9IE1QX0lTQV9CVVM7CiAjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCi0JaW50c3JjLm1wY19kc3RhcGljID0gbXBfaW9hcGljc1tpb2FwaWNdLm1wY19hcGljaWQ7CisJaW50IGk7CisJaW50IG5yX21fc3BhcmUgPSAwOwogI2VuZGlmCi0JLyoKLQkgKiBVc2UgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgdGhlIElSUXMgMC0xNS4gIFVubGVzcwotCSAqIG92ZXJyaWRkZW4gYnkgKE1BRFQpIGludGVycnVwdCBzb3VyY2Ugb3ZlcnJpZGUgZW50cmllcy4KLQkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykgewotCQlpbnQgaWR4OwogCi0JCWZvciAoaWR4ID0gMDsgaWR4IDwgbXBfaXJxX2VudHJpZXM7IGlkeCsrKSB7Ci0JCQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKmlycSA9IG1wX2lycXMgKyBpZHg7CisJaW50IGNvdW50ID0gc2l6ZW9mKCptcGMpOworCXVuc2lnbmVkIGNoYXIgKm1wdCA9ICgodW5zaWduZWQgY2hhciAqKW1wYykgKyBjb3VudDsKIAotCQkJLyogRG8gd2UgYWxyZWFkeSBoYXZlIGEgbWFwcGluZyBmb3IgdGhpcyBJU0EgSVJRPyAqLwotCQkJaWYgKGlycS0+bXBjX3NyY2J1cyA9PSBNUF9JU0FfQlVTCi0JCQkgICAgJiYgaXJxLT5tcGNfc3JjYnVzaXJxID09IGkpCisJcHJpbnRrKEtFUk5fSU5GTyAibXBjX2xlbmd0aCAleFxuIiwgbXBjLT5tcGNfbGVuZ3RoKTsKKwl3aGlsZSAoY291bnQgPCBtcGMtPm1wY19sZW5ndGgpIHsKKwkJc3dpdGNoICgqbXB0KSB7CisJCWNhc2UgTVBfUFJPQ0VTU09SOgorCQkJeworCQkJCXN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSA9CisJCQkJICAgIChzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKiltcHQ7CisJCQkJbXB0ICs9IHNpemVvZigqbSk7CisJCQkJY291bnQgKz0gc2l6ZW9mKCptKTsKIAkJCQlicmVhazsKLQotCQkJLyogRG8gd2UgYWxyZWFkeSBoYXZlIGEgbWFwcGluZyBmb3IgdGhpcyBJT0FQSUMgcGluICovCi0JCQlpZiAoKGlycS0+bXBjX2RzdGFwaWMgPT0gaW50c3JjLm1wY19kc3RhcGljKSAmJgotCQkJICAgIChpcnEtPm1wY19kc3RpcnEgPT0gaSkpCisJCQl9CisJCWNhc2UgTVBfQlVTOgorCQkJeworCQkJCXN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSA9CisJCQkJICAgIChzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKiltcHQ7CisJCQkJbXB0ICs9IHNpemVvZigqbSk7CisJCQkJY291bnQgKz0gc2l6ZW9mKCptKTsKIAkJCQlicmVhazsKKwkJCX0KKwkJY2FzZSBNUF9JT0FQSUM6CisJCQl7CisJCQkJbXB0ICs9IHNpemVvZihzdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMpOworCQkJCWNvdW50ICs9IHNpemVvZihzdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMpOworCQkJCWJyZWFrOworCQkJfQorCQljYXNlIE1QX0lOVFNSQzoKKwkJCXsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwkJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0gPQorCQkJCSAgICAoc3RydWN0IG1wY19jb25maWdfaW50c3JjICopbXB0OworCisJCQkJcHJpbnRrKEtFUk5fSU5GTyAiT0xEICIpOworCQkJCXByaW50X01QX2ludHNyY19pbmZvKG0pOworCQkJCWkgPSBnZXRfTVBfaW50c3JjX2luZGV4KG0pOworCQkJCWlmIChpID4gMCkgeworCQkJCQlhc3NpZ25fdG9fbXBjX2ludHNyYygmbXBfaXJxc1tpXSwgbSk7CisJCQkJCXByaW50ayhLRVJOX0lORk8gIk5FVyAiKTsKKwkJCQkJcHJpbnRfbXBfaXJxX2luZm8oJm1wX2lycXNbaV0pOworCQkJCX0gZWxzZSBpZiAoIWkpIHsKKwkJCQkJLyogbGVnYWN5LCBkbyBub3RoaW5nICovCisJCQkJfSBlbHNlIGlmIChucl9tX3NwYXJlIDwgU1BBUkVfU0xPVF9OVU0pIHsKKwkJCQkJLyoKKwkJCQkJICogbm90IGZvdW5kICgtMSksIG9yIGR1cGxpY2F0ZWQgKC0yKQorCQkJCQkgKiBhcmUgaW52YWxpZCBlbnRyaWVzLAorCQkJCQkgKiB3ZSBuZWVkIHRvIHVzZSB0aGUgc2xvdCAgbGF0ZXIKKwkJCQkJICovCisJCQkJCW1fc3BhcmVbbnJfbV9zcGFyZV0gPSBtOworCQkJCQlucl9tX3NwYXJlKys7CisJCQkJfQorI2VuZGlmCisJCQkJbXB0ICs9IHNpemVvZihzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMpOworCQkJCWNvdW50ICs9IHNpemVvZihzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMpOworCQkJCWJyZWFrOworCQkJfQorCQljYXNlIE1QX0xJTlRTUkM6CisJCQl7CisJCQkJc3RydWN0IG1wY19jb25maWdfbGludHNyYyAqbSA9CisJCQkJICAgIChzdHJ1Y3QgbXBjX2NvbmZpZ19saW50c3JjICopbXB0OworCQkJCW1wdCArPSBzaXplb2YoKm0pOworCQkJCWNvdW50ICs9IHNpemVvZigqbSk7CisJCQkJYnJlYWs7CisJCQl9CisJCWRlZmF1bHQ6CisJCQkvKiB3cm9uZyBtcHRhYmxlICovCisJCQlwcmludGsoS0VSTl9FUlIgIllvdXIgbXB0YWJsZSBpcyB3cm9uZywgY29udGFjdCB5b3VyIEhXIHZlbmRvciFcbiIpOworCQkJcHJpbnRrKEtFUk5fRVJSICJ0eXBlICV4XG4iLCAqbXB0KTsKKwkJCXByaW50X2hleF9kdW1wKEtFUk5fRVJSLCAiICAiLCBEVU1QX1BSRUZJWF9BRERSRVNTLCAxNiwKKwkJCQkJMSwgbXBjLCBtcGMtPm1wY19sZW5ndGgsIDEpOworCQkJZ290byBvdXQ7CiAJCX0KLQotCQlpZiAoaWR4ICE9IG1wX2lycV9lbnRyaWVzKSB7Ci0JCQlwcmludGsoS0VSTl9ERUJVRyAiQUNQSTogSVJRJWQgdXNlZCBieSBvdmVycmlkZS5cbiIsIGkpOwotCQkJY29udGludWU7CS8qIElSUSBhbHJlYWR5IHVzZWQgKi8KLQkJfQotCi0JCWludHNyYy5tcGNfaXJxdHlwZSA9IG1wX0lOVDsKLQkJaW50c3JjLm1wY19zcmNidXNpcnEgPSBpOwkvKiBJZGVudGl0eSBtYXBwZWQgKi8KLQkJaW50c3JjLm1wY19kc3RpcnEgPSBpOwotCi0JCU1QX2ludHNyY19pbmZvKCZpbnRzcmMpOwotCX0KLX0KLQotaW50IG1wX3JlZ2lzdGVyX2dzaSh1MzIgZ3NpLCBpbnQgdHJpZ2dlcmluZywgaW50IHBvbGFyaXR5KQotewotCWludCBpb2FwaWM7Ci0JaW50IGlvYXBpY19waW47Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgotI2RlZmluZSBNQVhfR1NJX05VTQk0MDk2Ci0jZGVmaW5lIElSUV9DT01QUkVTU0lPTl9TVEFSVAk2NAotCi0Jc3RhdGljIGludCBwY2lfaXJxID0gSVJRX0NPTVBSRVNTSU9OX1NUQVJUOwotCS8qCi0JICogTWFwcGluZyBiZXR3ZWVuIEdsb2JhbCBTeXN0ZW0gSW50ZXJydXB0cywgd2hpY2gKLQkgKiByZXByZXNlbnQgYWxsIHBvc3NpYmxlIGludGVycnVwdHMsIGFuZCBJUlFzCi0JICogYXNzaWduZWQgdG8gYWN0dWFsIGRldmljZXMuCi0JICovCi0Jc3RhdGljIGludCBnc2lfdG9faXJxW01BWF9HU0lfTlVNXTsKLSNlbHNlCi0KLQlpZiAoYWNwaV9pcnFfbW9kZWwgIT0gQUNQSV9JUlFfTU9ERUxfSU9BUElDKQotCQlyZXR1cm4gZ3NpOwotI2VuZGlmCi0KLQkvKiBEb24ndCBzZXQgdXAgdGhlIEFDUEkgU0NJIGJlY2F1c2UgaXQncyBhbHJlYWR5IHNldCB1cCAqLwotCWlmIChhY3BpX2dibF9GQURULnNjaV9pbnRlcnJ1cHQgPT0gZ3NpKQotCQlyZXR1cm4gZ3NpOwotCi0JaW9hcGljID0gbXBfZmluZF9pb2FwaWMoZ3NpKTsKLQlpZiAoaW9hcGljIDwgMCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJObyBJT0FQSUMgZm9yIEdTSSAldVxuIiwgZ3NpKTsKLQkJcmV0dXJuIGdzaTsKIAl9CiAKLQlpb2FwaWNfcGluID0gZ3NpIC0gbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5nc2lfYmFzZTsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgeworCQlpZiAoaXJxX3VzZWRbaV0pCisJCQljb250aW51ZTsKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLQlpZiAoaW9hcGljX3JlbnVtYmVyX2lycSkKLQkJZ3NpID0gaW9hcGljX3JlbnVtYmVyX2lycShpb2FwaWMsIGdzaSk7Ci0jZW5kaWYKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSAhPSBtcF9JTlQpCisJCQljb250aW51ZTsKIAotCS8qCi0JICogQXZvaWQgcGluIHJlcHJvZ3JhbW1pbmcuICBQUlRzIHR5cGljYWxseSBpbmNsdWRlIGVudHJpZXMKLQkgKiB3aXRoIHJlZHVuZGFudCBwaW4tPmdzaSBtYXBwaW5ncyAoYnV0IHVuaXF1ZSBQQ0kgZGV2aWNlcyk7Ci0JICogd2Ugb25seSBwcm9ncmFtIHRoZSBJT0FQSUMgb24gdGhlIGZpcnN0LgotCSAqLwotCWlmIChpb2FwaWNfcGluID4gTVBfTUFYX0lPQVBJQ19QSU4pIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIHJlZmVyZW5jZSB0byBJT0FQSUMgcGluICIKLQkJICAgICAgICIlZC0lZFxuIiwgbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5hcGljX2lkLAotCQkgICAgICAgaW9hcGljX3Bpbik7Ci0JCXJldHVybiBnc2k7Ci0JfQotCWlmICh0ZXN0X2JpdChpb2FwaWNfcGluLCBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLnBpbl9wcm9ncmFtbWVkKSkgewotCQlEcHJpbnRrKEtFUk5fREVCVUcgIlBpbiAlZC0lZCBhbHJlYWR5IHByb2dyYW1tZWRcbiIsCi0JCQltcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmFwaWNfaWQsIGlvYXBpY19waW4pOwotI2lmZGVmIENPTkZJR19YODZfMzIKLQkJcmV0dXJuIChnc2kgPCBJUlFfQ09NUFJFU1NJT05fU1RBUlQgPyBnc2kgOiBnc2lfdG9faXJxW2dzaV0pOwotI2Vsc2UKLQkJcmV0dXJuIGdzaTsKLSNlbmRpZgotCX0KKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxZmxhZyAhPSAweDBmKQorCQkJY29udGludWU7CiAKLQlzZXRfYml0KGlvYXBpY19waW4sIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10ucGluX3Byb2dyYW1tZWQpOwotI2lmZGVmIENPTkZJR19YODZfMzIKLQkvKgotCSAqIEZvciBHU0kgPj0gNjQsIHVzZSBJUlEgY29tcHJlc3Npb24KLQkgKi8KLQlpZiAoKGdzaSA+PSBJUlFfQ09NUFJFU1NJT05fU1RBUlQpCi0JICAgICYmICh0cmlnZ2VyaW5nID09IEFDUElfTEVWRUxfU0VOU0lUSVZFKSkgewotCQkvKgotCQkgKiBGb3IgUENJIGRldmljZXMgYXNzaWduIElSUXMgaW4gb3JkZXIsIGF2b2lkaW5nIGdhcHMKLQkJICogZHVlIHRvIHVudXNlZCBJL08gQVBJQyBwaW5zLgotCQkgKi8KLQkJaW50IGlycSA9IGdzaTsKLQkJaWYgKGdzaSA8IE1BWF9HU0lfTlVNKSB7Ci0JCQkvKgotCQkJICogUmV0YWluIHRoZSBWSUEgY2hpcHNldCB3b3JrLWFyb3VuZCAoZ3NpID4gMTUpLCBidXQKLQkJCSAqIGF2b2lkIGEgcHJvYmxlbSB3aGVyZSB0aGUgODI1NCB0aW1lciAoSVJRMCkgaXMgc2V0dXAKLQkJCSAqIHZpYSBhbiBvdmVycmlkZSAoc28gaXQncyBub3Qgb24gcGluIDAgb2YgdGhlIGlvYXBpYyksCi0JCQkgKiBhbmQgYXQgdGhlIHNhbWUgdGltZSwgdGhlIHBpbiAwIGludGVycnVwdCBpcyBhIFBDSQotCQkJICogdHlwZS4gIFRoZSBnc2kgPiAxNSB0ZXN0IGNvdWxkIGNhdXNlIHRoZXNlIHR3byBwaW5zCi0JCQkgKiB0byBiZSBzaGFyZWQgYXMgSVJRMCwgYW5kIHRoZXkgYXJlIG5vdCBzaGFyZWFibGUuCi0JCQkgKiBTbyB0ZXN0IGZvciB0aGlzIGNvbmRpdGlvbiwgYW5kIGlmIG5lY2Vzc2FyeSwgYXZvaWQKLQkJCSAqIHRoZSBwaW4gY29sbGlzaW9uLgotCQkJICovCi0JCQlnc2kgPSBwY2lfaXJxKys7Ci0JCQkvKgotCQkJICogRG9uJ3QgYXNzaWduIElSUSB1c2VkIGJ5IEFDUEkgU0NJCi0JCQkgKi8KLQkJCWlmIChnc2kgPT0gYWNwaV9nYmxfRkFEVC5zY2lfaW50ZXJydXB0KQotCQkJCWdzaSA9IHBjaV9pcnErKzsKLQkJCWdzaV90b19pcnFbaXJxXSA9IGdzaTsKKwkJaWYgKG5yX21fc3BhcmUgPiAwKSB7CisJCQlwcmludGsoS0VSTl9JTkZPICIqTkVXKiBmb3VuZCAiKTsKKwkJCW5yX21fc3BhcmUtLTsKKwkJCWFzc2lnbl90b19tcGNfaW50c3JjKCZtcF9pcnFzW2ldLCBtX3NwYXJlW25yX21fc3BhcmVdKTsKKwkJCW1fc3BhcmVbbnJfbV9zcGFyZV0gPSBOVUxMOwogCQl9IGVsc2UgewotCQkJcHJpbnRrKEtFUk5fRVJSICJHU0kgJXUgaXMgdG9vIGhpZ2hcbiIsIGdzaSk7Ci0JCQlyZXR1cm4gZ3NpOworCQkJc3RydWN0IG1wY19jb25maWdfaW50c3JjICptID0KKwkJCSAgICAoc3RydWN0IG1wY19jb25maWdfaW50c3JjICopbXB0OworCQkJY291bnQgKz0gc2l6ZW9mKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyk7CisJCQlpZiAoIW1wY19uZXdfcGh5cykgeworCQkJCXByaW50ayhLRVJOX0lORk8gIk5vIHNwYXJlIHNsb3RzLCB0cnkgdG8gYXBwZW5kLi4udGFrZSB5b3VyIHJpc2ssIG5ldyBtcGNfbGVuZ3RoICV4XG4iLCBjb3VudCk7CisJCQl9IGVsc2UgeworCQkJCWlmIChjb3VudCA8PSBtcGNfbmV3X2xlbmd0aCkKKwkJCQkJcHJpbnRrKEtFUk5fSU5GTyAiTm8gc3BhcmUgc2xvdHMsIHRyeSB0byBhcHBlbmQuLi4sIG5ldyBtcGNfbGVuZ3RoICV4XG4iLCBjb3VudCk7CisJCQkJZWxzZSB7CisJCQkJCXByaW50ayhLRVJOX0VSUiAibXBjX25ld19sZW5ndGggJWx4IGlzIHRvbyBzbWFsbFxuIiwgbXBjX25ld19sZW5ndGgpOworCQkJCQlnb3RvIG91dDsKKwkJCQl9CisJCQl9CisJCQlhc3NpZ25fdG9fbXBjX2ludHNyYygmbXBfaXJxc1tpXSwgbSk7CisJCQltcGMtPm1wY19sZW5ndGggPSBjb3VudDsKKwkJCW1wdCArPSBzaXplb2Yoc3RydWN0IG1wY19jb25maWdfaW50c3JjKTsKIAkJfQorCQlwcmludF9tcF9pcnFfaW5mbygmbXBfaXJxc1tpXSk7CiAJfQogI2VuZGlmCi0JaW9fYXBpY19zZXRfcGNpX3JvdXRpbmcoaW9hcGljLCBpb2FwaWNfcGluLCBnc2ksCi0JCQkJdHJpZ2dlcmluZyA9PSBBQ1BJX0VER0VfU0VOU0lUSVZFID8gMCA6IDEsCi0JCQkJcG9sYXJpdHkgPT0gQUNQSV9BQ1RJVkVfSElHSCA/IDAgOiAxKTsKLQlyZXR1cm4gZ3NpOworb3V0OgorCS8qIHVwZGF0ZSBjaGVja3N1bSAqLworCW1wYy0+bXBjX2NoZWNrc3VtID0gMDsKKwltcGMtPm1wY19jaGVja3N1bSAtPSBtcGZfY2hlY2tzdW0oKHVuc2lnbmVkIGNoYXIgKiltcGMsCisJCQkJCSAgIG1wYy0+bXBjX2xlbmd0aCk7CisKKwlyZXR1cm4gMDsKIH0KIAotI2VuZGlmIC8qIENPTkZJR19YODZfSU9fQVBJQyAqLwotI2VuZGlmIC8qIENPTkZJR19BQ1BJICovCitzdGF0aWMgaW50IF9faW5pdGRhdGEgZW5hYmxlX3VwZGF0ZV9tcHRhYmxlOworCitzdGF0aWMgaW50IF9faW5pdCB1cGRhdGVfbXB0YWJsZV9zZXR1cChjaGFyICpzdHIpCit7CisJZW5hYmxlX3VwZGF0ZV9tcHRhYmxlID0gMTsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJ1cGRhdGVfbXB0YWJsZSIsIHVwZGF0ZV9tcHRhYmxlX3NldHVwKTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBtcGNfbmV3X3BoeXM7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBtcGNfbmV3X2xlbmd0aCBfX2luaXRkYXRhID0gNDA5NjsKKworLyogYWxsb2NfbXB0YWJsZSBvciBhbGxvY19tcHRhYmxlPTRrICovCitzdGF0aWMgaW50IF9faW5pdGRhdGEgYWxsb2NfbXB0YWJsZTsKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX2FsbG9jX21wdGFibGVfb3B0KGNoYXIgKnApCit7CisJZW5hYmxlX3VwZGF0ZV9tcHRhYmxlID0gMTsKKwlhbGxvY19tcHRhYmxlID0gMTsKKwlpZiAoIXApCisJCXJldHVybiAwOworCW1wY19uZXdfbGVuZ3RoID0gbWVtcGFyc2UocCwgJnApOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oImFsbG9jX21wdGFibGUiLCBwYXJzZV9hbGxvY19tcHRhYmxlX29wdCk7CisKK3ZvaWQgX19pbml0IGVhcmx5X3Jlc2VydmVfZTgyMF9tcGNfbmV3KHZvaWQpCit7CisJaWYgKGVuYWJsZV91cGRhdGVfbXB0YWJsZSAmJiBhbGxvY19tcHRhYmxlKSB7CisJCXU2NCBzdGFydHQgPSAwOworI2lmZGVmIENPTkZJR19YODZfVFJBTVBPTElORQorCQlzdGFydHQgPSBUUkFNUE9MSU5FX0JBU0U7CisjZW5kaWYKKwkJbXBjX25ld19waHlzID0gZWFybHlfcmVzZXJ2ZV9lODIwKHN0YXJ0dCwgbXBjX25ld19sZW5ndGgsIDQpOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgdXBkYXRlX21wX3RhYmxlKHZvaWQpCit7CisJY2hhciBzdHJbMTZdOworCWNoYXIgb2VtWzEwXTsKKwlzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgKm1wZjsKKwlzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGM7CisJc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjX25ldzsKKworCWlmICghZW5hYmxlX3VwZGF0ZV9tcHRhYmxlKQorCQlyZXR1cm4gMDsKKworCW1wZiA9IG1wZl9mb3VuZDsKKwlpZiAoIW1wZikKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAqIE5vdyBzZWUgaWYgd2UgbmVlZCB0byBnbyBmdXJ0aGVyLgorCSAqLworCWlmIChtcGYtPm1wZl9mZWF0dXJlMSAhPSAwKQorCQlyZXR1cm4gMDsKKworCWlmICghbXBmLT5tcGZfcGh5c3B0cikKKwkJcmV0dXJuIDA7CisKKwltcGMgPSBwaHlzX3RvX3ZpcnQobXBmLT5tcGZfcGh5c3B0cik7CisKKwlpZiAoIXNtcF9jaGVja19tcGMobXBjLCBvZW0sIHN0cikpCisJCXJldHVybiAwOworCisJcHJpbnRrKEtFUk5fSU5GTyAibXBmOiAlbHhcbiIsIHZpcnRfdG9fcGh5cyhtcGYpKTsKKwlwcmludGsoS0VSTl9JTkZPICJtcGZfcGh5c3B0cjogJXhcbiIsIG1wZi0+bXBmX3BoeXNwdHIpOworCisJaWYgKG1wY19uZXdfcGh5cyAmJiBtcGMtPm1wY19sZW5ndGggPiBtcGNfbmV3X2xlbmd0aCkgeworCQltcGNfbmV3X3BoeXMgPSAwOworCQlwcmludGsoS0VSTl9JTkZPICJtcGNfbmV3X2xlbmd0aCBpcyAlbGQsIHBsZWFzZSB1c2UgYWxsb2NfbXB0YWJsZT04a1xuIiwKKwkJCSBtcGNfbmV3X2xlbmd0aCk7CisJfQorCisJaWYgKCFtcGNfbmV3X3BoeXMpIHsKKwkJdW5zaWduZWQgY2hhciBvbGQsIG5ldzsKKwkJLyogY2hlY2sgaWYgd2UgY2FuIGNoYW5nZSB0aGUgcG9zdGlvbiAqLworCQltcGMtPm1wY19jaGVja3N1bSA9IDA7CisJCW9sZCA9IG1wZl9jaGVja3N1bSgodW5zaWduZWQgY2hhciAqKW1wYywgbXBjLT5tcGNfbGVuZ3RoKTsKKwkJbXBjLT5tcGNfY2hlY2tzdW0gPSAweGZmOworCQluZXcgPSBtcGZfY2hlY2tzdW0oKHVuc2lnbmVkIGNoYXIgKiltcGMsIG1wYy0+bXBjX2xlbmd0aCk7CisJCWlmIChvbGQgPT0gbmV3KSB7CisJCQlwcmludGsoS0VSTl9JTkZPICJtcGMgaXMgcmVhZG9ubHksIHBsZWFzZSB0cnkgYWxsb2NfbXB0YWJsZSBpbnN0ZWFkXG4iKTsKKwkJCXJldHVybiAwOworCQl9CisJCXByaW50ayhLRVJOX0lORk8gInVzZSBpbi1wb3NpdG9uIHJlcGxhY2luZ1xuIik7CisJfSBlbHNlIHsKKwkJbXBmLT5tcGZfcGh5c3B0ciA9IG1wY19uZXdfcGh5czsKKwkJbXBjX25ldyA9IHBoeXNfdG9fdmlydChtcGNfbmV3X3BoeXMpOworCQltZW1jcHkobXBjX25ldywgbXBjLCBtcGMtPm1wY19sZW5ndGgpOworCQltcGMgPSBtcGNfbmV3OworCQkvKiBjaGVjayBpZiB3ZSBjYW4gbW9kaWZ5IHRoYXQgKi8KKwkJaWYgKG1wY19uZXdfcGh5cyAtIG1wZi0+bXBmX3BoeXNwdHIpIHsKKwkJCXN0cnVjdCBpbnRlbF9tcF9mbG9hdGluZyAqbXBmX25ldzsKKwkJCS8qIHN0ZWFsIDE2IGJ5dGVzIGZyb20gWzAsIDFrKSAqLworCQkJcHJpbnRrKEtFUk5fSU5GTyAibXBmIG5ldzogJXhcbiIsIDB4NDAwIC0gMTYpOworCQkJbXBmX25ldyA9IHBoeXNfdG9fdmlydCgweDQwMCAtIDE2KTsKKwkJCW1lbWNweShtcGZfbmV3LCBtcGYsIDE2KTsKKwkJCW1wZiA9IG1wZl9uZXc7CisJCQltcGYtPm1wZl9waHlzcHRyID0gbXBjX25ld19waHlzOworCQl9CisJCW1wZi0+bXBmX2NoZWNrc3VtID0gMDsKKwkJbXBmLT5tcGZfY2hlY2tzdW0gLT0gbXBmX2NoZWNrc3VtKCh1bnNpZ25lZCBjaGFyICopbXBmLCAxNik7CisJCXByaW50ayhLRVJOX0lORk8gIm1wZl9waHlzcHRyIG5ldzogJXhcbiIsIG1wZi0+bXBmX3BoeXNwdHIpOworCX0KKworCS8qCisJICogb25seSByZXBsYWNlIHRoZSBvbmUgd2l0aCBtcF9JTlQgYW5kCisJICoJIE1QX0lSUV9UUklHR0VSX0xFVkVMfE1QX0lSUV9QT0xBUklUWV9MT1csCisJICogYWxyZWFkeSBpbiBtcF9pcnFzICwgc3RvcmVkIGJ5IC4uLiBhbmQgbXBfY29uZmlnX2FjcGlfZ3NpLAorCSAqIG1heSBuZWVkIHBjaT1yb3V0ZWlycSBmb3IgYWxsIGNvdmVyYWdlCisJICovCisJcmVwbGFjZV9pbnRzcmNfYWxsKG1wYywgbXBjX25ld19waHlzLCBtcGNfbmV3X2xlbmd0aCk7CisKKwlyZXR1cm4gMDsKK30KKworbGF0ZV9pbml0Y2FsbCh1cGRhdGVfbXBfdGFibGUpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL21zci5jIGIvYXJjaC94ODYva2VybmVsL21zci5jCmluZGV4IDFmM2FiZTAuLmExNTNiMzkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9tc3IuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbXNyLmMKQEAgLTExNywxMiArMTE3LDIwIEBACiB7CiAJdW5zaWduZWQgaW50IGNwdSA9IGltaW5vcihmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKIAlzdHJ1Y3QgY3B1aW5mb194ODYgKmMgPSAmY3B1X2RhdGEoY3B1KTsKKwlpbnQgcmV0ID0gMDsKIAotCWlmIChjcHUgPj0gTlJfQ1BVUyB8fCAhY3B1X29ubGluZShjcHUpKQotCQlyZXR1cm4gLUVOWElPOwkvKiBObyBzdWNoIENQVSAqLworCWxvY2tfa2VybmVsKCk7CisJY3B1ID0gaW1pbm9yKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpOworCisJaWYgKGNwdSA+PSBOUl9DUFVTIHx8ICFjcHVfb25saW5lKGNwdSkpIHsKKwkJcmV0ID0gLUVOWElPOwkvKiBObyBzdWNoIENQVSAqLworCQlnb3RvIG91dDsKKwl9CisJYyA9ICZjcHVfZGF0YShjcHUpOwogCWlmICghY3B1X2hhcyhjLCBYODZfRkVBVFVSRV9NU1IpKQotCQlyZXR1cm4gLUVJTzsJLyogTVNSIG5vdCBzdXBwb3J0ZWQgKi8KLQorCQlyZXQgPSAtRUlPOwkvKiBNU1Igbm90IHN1cHBvcnRlZCAqLworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL25taV82NC5jIGIvYXJjaC94ODYva2VybmVsL25taS5jCnNpbWlsYXJpdHkgaW5kZXggNjclCnJlbmFtZSBmcm9tIGFyY2gveDg2L2tlcm5lbC9ubWlfNjQuYwpyZW5hbWUgdG8gYXJjaC94ODYva2VybmVsL25taS5jCmluZGV4IDVhMjlkZWQuLmVjMDI0YjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9ubWlfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbm1pLmMKQEAgLTYsMTAgKzYsMTMgQEAKICAqICBGaXhlczoKICAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IEFNRCBLNyBzdXBwb3J0IGZvciBsb2NhbCBBUElDIE5NSSB3YXRjaGRvZy4KICAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IFBvd2VyIE1hbmFnZW1lbnQgZm9yIGxvY2FsIEFQSUMgTk1JIHdhdGNoZG9nLgorICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUGVudGl1bSA0IHN1cHBvcnQgZm9yIGxvY2FsIEFQSUMgTk1JIHdhdGNoZG9nLgogICogIFBhdmVsIE1hY2hlayBhbmQKICAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IFBNIGNvbnZlcnRlZCB0byBkcml2ZXIgbW9kZWwuIERpc2FibGUvZW5hYmxlIEFQSS4KICAqLwogCisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKwogI2luY2x1ZGUgPGxpbnV4L25taS5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTE3LDIwICsyMCwyNiBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2N0bC5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgogI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KICNpbmNsdWRlIDxsaW51eC9rZGVidWcuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KIAorI2luY2x1ZGUgPGFzbS9pODI1OS5oPgorI2luY2x1ZGUgPGFzbS9pb19hcGljLmg+CiAjaW5jbHVkZSA8YXNtL3NtcC5oPgogI2luY2x1ZGUgPGFzbS9ubWkuaD4KICNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKyNpbmNsdWRlIDxhc20vdGltZXIuaD4KKwogI2luY2x1ZGUgPGFzbS9tY2UuaD4KIAogI2luY2x1ZGUgPG1hY2hfdHJhcHMuaD4KIAogaW50IHVua25vd25fbm1pX3BhbmljOwogaW50IG5taV93YXRjaGRvZ19lbmFibGVkOwotaW50IHBhbmljX29uX3VucmVjb3ZlcmVkX25taTsKIAogc3RhdGljIGNwdW1hc2tfdCBiYWNrdHJhY2VfbWFzayA9IENQVV9NQVNLX05PTkU7CiAKQEAgLTQxLDM3ICs1MCw2NSBAQAogICogIDA6IHRoZSBsYXBpYyBOTUkgd2F0Y2hkb2cgaXMgZGlzYWJsZWQsIGJ1dCBjYW4gYmUgZW5hYmxlZAogICovCiBhdG9taWNfdCBubWlfYWN0aXZlID0gQVRPTUlDX0lOSVQoMCk7CQkvKiBvcHJvZmlsZSB1c2VzIHRoaXMgKi8KK0VYUE9SVF9TWU1CT0wobm1pX2FjdGl2ZSk7CisKK3Vuc2lnbmVkIGludCBubWlfd2F0Y2hkb2cgPSBOTUlfTk9ORTsKK0VYUE9SVF9TWU1CT0wobm1pX3dhdGNoZG9nKTsKKwogc3RhdGljIGludCBwYW5pY19vbl90aW1lb3V0OwogCi11bnNpZ25lZCBpbnQgbm1pX3dhdGNoZG9nID0gTk1JX0RFRkFVTFQ7CiBzdGF0aWMgdW5zaWduZWQgaW50IG5taV9oeiA9IEhaOwotCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc2hvcnQsIHdkX2VuYWJsZWQpOworc3RhdGljIGludCBlbmRmbGFnIF9faW5pdGRhdGE7CiAKLS8qIFJ1biBhZnRlciBjb21tYW5kIGxpbmUgYW5kIGNwdV9pbml0IGluaXQsIGJ1dCBiZWZvcmUgYWxsIG90aGVyIGNoZWNrcyAqLwotdm9pZCBubWlfd2F0Y2hkb2dfZGVmYXVsdCh2b2lkKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ2V0X25taV9jb3VudChpbnQgY3B1KQogewotCWlmIChubWlfd2F0Y2hkb2cgIT0gTk1JX0RFRkFVTFQpCi0JCXJldHVybjsKLQlubWlfd2F0Y2hkb2cgPSBOTUlfTk9ORTsKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJcmV0dXJuIGNwdV9wZGEoY3B1KS0+X19ubWlfY291bnQ7CisjZWxzZQorCXJldHVybiBubWlfY291bnQoY3B1KTsKKyNlbmRpZgogfQogCi1zdGF0aWMgaW50IGVuZGZsYWcgX19pbml0ZGF0YSA9IDA7CitzdGF0aWMgaW5saW5lIGludCBtY2VfaW5fcHJvZ3Jlc3Modm9pZCkKK3sKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfNjQpICYmIGRlZmluZWQoQ09ORklHX1g4Nl9NQ0UpCisJcmV0dXJuIGF0b21pY19yZWFkKCZtY2VfZW50cnkpID4gMDsKKyNlbmRpZgorCXJldHVybiAwOworfQorCisvKgorICogVGFrZSB0aGUgbG9jYWwgYXBpYyB0aW1lciBhbmQgUElUL0hQRVQgaW50byBhY2NvdW50LiBXZSBkb24ndAorICoga25vdyB3aGljaCBvbmUgaXMgYWN0aXZlLCB3aGVuIHdlIGhhdmUgaGlnaHJlcy9keW50aWNrIG9uCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGdldF90aW1lcl9pcnFzKGludCBjcHUpCit7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCXJldHVybiByZWFkX3BkYShhcGljX3RpbWVyX2lycXMpICsgcmVhZF9wZGEoaXJxMF9pcnFzKTsKKyNlbHNlCisJcmV0dXJuIHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuYXBpY190aW1lcl9pcnFzICsKKwkJcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnEwX2lycXM7CisjZW5kaWYKK30KIAogI2lmZGVmIENPTkZJR19TTVAKLS8qIFRoZSBwZXJmb3JtYW5jZSBjb3VudGVycyB1c2VkIGJ5IE5NSV9MT0NBTF9BUElDIGRvbid0IHRyaWdnZXIgd2hlbgorLyoKKyAqIFRoZSBwZXJmb3JtYW5jZSBjb3VudGVycyB1c2VkIGJ5IE5NSV9MT0NBTF9BUElDIGRvbid0IHRyaWdnZXIgd2hlbgogICogdGhlIENQVSBpcyBpZGxlLiBUbyBtYWtlIHN1cmUgdGhlIE5NSSB3YXRjaGRvZyByZWFsbHkgdGlja3Mgb24gYWxsCiAgKiBDUFVzIGR1cmluZyB0aGUgdGVzdCBtYWtlIHRoZW0gYnVzeS4KICAqLwogc3RhdGljIF9faW5pdCB2b2lkIG5taV9jcHVfYnVzeSh2b2lkICpkYXRhKQogewogCWxvY2FsX2lycV9lbmFibGVfaW5faGFyZGlycSgpOwotCS8qIEludGVudGlvbmFsbHkgZG9uJ3QgdXNlIGNwdV9yZWxheCBoZXJlLiBUaGlzIGlzCi0JICAgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIgcmVhbGx5IHRpY2tzLAotCSAgIGV2ZW4gaWYgdGhlcmUgaXMgYSBzaW11bGF0b3Igb3Igc2ltaWxhciB0aGF0IGNhdGNoZXMgdGhlCi0JICAgcGF1c2UgaW5zdHJ1Y3Rpb24uIE9uIGEgcmVhbCBIVCBtYWNoaW5lIHRoaXMgaXMgZmluZSBiZWNhdXNlCi0JICAgYWxsIG90aGVyIENQVXMgYXJlIGJ1c3kgd2l0aCAidXNlbGVzcyIgZGVsYXkgbG9vcHMgYW5kIGRvbid0Ci0JICAgY2FyZSBpZiB0aGV5IGdldCBzb21ld2hhdCBsZXNzIGN5Y2xlcy4gKi8KKwkvKgorCSAqIEludGVudGlvbmFsbHkgZG9uJ3QgdXNlIGNwdV9yZWxheCBoZXJlLiBUaGlzIGlzCisJICogdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIgcmVhbGx5IHRpY2tzLAorCSAqIGV2ZW4gaWYgdGhlcmUgaXMgYSBzaW11bGF0b3Igb3Igc2ltaWxhciB0aGF0IGNhdGNoZXMgdGhlCisJICogcGF1c2UgaW5zdHJ1Y3Rpb24uIE9uIGEgcmVhbCBIVCBtYWNoaW5lIHRoaXMgaXMgZmluZSBiZWNhdXNlCisJICogYWxsIG90aGVyIENQVXMgYXJlIGJ1c3kgd2l0aCAidXNlbGVzcyIgZGVsYXkgbG9vcHMgYW5kIGRvbid0CisJICogY2FyZSBpZiB0aGV5IGdldCBzb21ld2hhdCBsZXNzIGN5Y2xlcy4KKwkgKi8KIAl3aGlsZSAoZW5kZmxhZyA9PSAwKQogCQltYigpOwogfQpAQCAtNzksNDAgKzExNiwzNyBAQAogCiBpbnQgX19pbml0IGNoZWNrX25taV93YXRjaGRvZyh2b2lkKQogewotCWludCAqcHJldl9ubWlfY291bnQ7CisJdW5zaWduZWQgaW50ICpwcmV2X25taV9jb3VudDsKIAlpbnQgY3B1OwogCi0JaWYgKChubWlfd2F0Y2hkb2cgPT0gTk1JX05PTkUpIHx8IChubWlfd2F0Y2hkb2cgPT0gTk1JX0RJU0FCTEVEKSkKKwlpZiAoIW5taV93YXRjaGRvZ19hY3RpdmUoKSB8fCAhYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpKQogCQlyZXR1cm4gMDsKIAotCWlmICghYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpKQotCQlyZXR1cm4gMDsKLQotCXByZXZfbm1pX2NvdW50ID0ga21hbGxvYyhOUl9DUFVTICogc2l6ZW9mKGludCksIEdGUF9LRVJORUwpOworCXByZXZfbm1pX2NvdW50ID0ga21hbGxvYyhucl9jcHVfaWRzICogc2l6ZW9mKGludCksIEdGUF9LRVJORUwpOwogCWlmICghcHJldl9ubWlfY291bnQpCi0JCXJldHVybiAtMTsKKwkJZ290byBlcnJvcjsKIAogCXByaW50ayhLRVJOX0lORk8gIlRlc3RpbmcgTk1JIHdhdGNoZG9nIC4uLiAiKTsKIAogI2lmZGVmIENPTkZJR19TTVAKIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKQotCQlzbXBfY2FsbF9mdW5jdGlvbihubWlfY3B1X2J1c3ksICh2b2lkICopJmVuZGZsYWcsIDAsIDApOworCQlzbXBfY2FsbF9mdW5jdGlvbihubWlfY3B1X2J1c3ksICh2b2lkICopJmVuZGZsYWcsIDApOwogI2VuZGlmCiAKLQlmb3IgKGNwdSA9IDA7IGNwdSA8IE5SX0NQVVM7IGNwdSsrKQotCQlwcmV2X25taV9jb3VudFtjcHVdID0gY3B1X3BkYShjcHUpLT5fX25taV9jb3VudDsKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KQorCQlwcmV2X25taV9jb3VudFtjcHVdID0gZ2V0X25taV9jb3VudChjcHUpOwogCWxvY2FsX2lycV9lbmFibGUoKTsKLQltZGVsYXkoKDIwKjEwMDApL25taV9oeik7IC8vIHdhaXQgMjAgdGlja3MKKwltZGVsYXkoKDIwICogMTAwMCkgLyBubWlfaHopOyAvKiB3YWl0IDIwIHRpY2tzICovCiAKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgewogCQlpZiAoIXBlcl9jcHUod2RfZW5hYmxlZCwgY3B1KSkKIAkJCWNvbnRpbnVlOwotCQlpZiAoY3B1X3BkYShjcHUpLT5fX25taV9jb3VudCAtIHByZXZfbm1pX2NvdW50W2NwdV0gPD0gNSkgeworCQlpZiAoZ2V0X25taV9jb3VudChjcHUpIC0gcHJldl9ubWlfY291bnRbY3B1XSA8PSA1KSB7CiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICJXQVJOSU5HOiBDUFUjJWQ6IE5NSSAiCi0JCQkgICAgICAgImFwcGVhcnMgdG8gYmUgc3R1Y2sgKCVkLT4lZCkhXG4iLAorCQkJCSJhcHBlYXJzIHRvIGJlIHN0dWNrICglZC0+JWQpIVxuIiwKIAkJCQljcHUsCiAJCQkJcHJldl9ubWlfY291bnRbY3B1XSwKLQkJCQljcHVfcGRhKGNwdSktPl9fbm1pX2NvdW50KTsKKwkJCQlnZXRfbm1pX2NvdW50KGNwdSkpOwogCQkJcGVyX2NwdSh3ZF9lbmFibGVkLCBjcHUpID0gMDsKIAkJCWF0b21pY19kZWMoJm5taV9hY3RpdmUpOwogCQl9CkBAIC0xMjEsMjQgKzE1NSwzMyBAQAogCWlmICghYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpKSB7CiAJCWtmcmVlKHByZXZfbm1pX2NvdW50KTsKIAkJYXRvbWljX3NldCgmbm1pX2FjdGl2ZSwgLTEpOwotCQlyZXR1cm4gLTE7CisJCWdvdG8gZXJyb3I7CiAJfQogCXByaW50aygiT0suXG4iKTsKIAotCS8qIG5vdyB0aGF0IHdlIGtub3cgaXQgd29ya3Mgd2UgY2FuIHJlZHVjZSBOTUkgZnJlcXVlbmN5IHRvCi0JICAgc29tZXRoaW5nIG1vcmUgcmVhc29uYWJsZTsgbWFrZXMgYSBkaWZmZXJlbmNlIGluIHNvbWUgY29uZmlncyAqLworCS8qCisJICogbm93IHRoYXQgd2Uga25vdyBpdCB3b3JrcyB3ZSBjYW4gcmVkdWNlIE5NSSBmcmVxdWVuY3kgdG8KKwkgKiBzb21ldGhpbmcgbW9yZSByZWFzb25hYmxlOyBtYWtlcyBhIGRpZmZlcmVuY2UgaW4gc29tZSBjb25maWdzCisJICovCiAJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykKIAkJbm1pX2h6ID0gbGFwaWNfYWRqdXN0X25taV9oeigxKTsKIAogCWtmcmVlKHByZXZfbm1pX2NvdW50KTsKIAlyZXR1cm4gMDsKK2Vycm9yOgorCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMgJiYgIXRpbWVyX3Rocm91Z2hfODI1OSkKKwkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCXRpbWVyX2FjayA9IDA7CisjZW5kaWYKKwlyZXR1cm4gLTE7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHNldHVwX25taV93YXRjaGRvZyhjaGFyICpzdHIpCiB7Ci0JaW50IG5taTsKKwl1bnNpZ25lZCBpbnQgbm1pOwogCi0JaWYgKCFzdHJuY21wKHN0ciwicGFuaWMiLDUpKSB7CisJaWYgKCFzdHJuY21wKHN0ciwgInBhbmljIiwgNSkpIHsKIAkJcGFuaWNfb25fdGltZW91dCA9IDE7CiAJCXN0ciA9IHN0cmNocihzdHIsICcsJyk7CiAJCWlmICghc3RyKQpAQCAtMTQ4LDE1ICsxOTEsMTcgQEAKIAogCWdldF9vcHRpb24oJnN0ciwgJm5taSk7CiAKLQlpZiAoKG5taSA+PSBOTUlfSU5WQUxJRCkgfHwgKG5taSA8IE5NSV9OT05FKSkKKwlpZiAobm1pID49IE5NSV9JTlZBTElEKQogCQlyZXR1cm4gMDsKIAogCW5taV93YXRjaGRvZyA9IG5taTsKIAlyZXR1cm4gMTsKIH0KLQogX19zZXR1cCgibm1pX3dhdGNoZG9nPSIsIHNldHVwX25taV93YXRjaGRvZyk7CiAKKy8qCisgKiBTdXNwZW5kL3Jlc3VtZSBzdXBwb3J0CisgKi8KICNpZmRlZiBDT05GSUdfUE0KIAogc3RhdGljIGludCBubWlfcG1fYWN0aXZlOyAvKiBubWlfYWN0aXZlIGJlZm9yZSBzdXNwZW5kICovCkBAIC0xOTUsNyArMjQwLDggQEAKIHsKIAlpbnQgZXJyb3I7CiAKLQkvKiBzaG91bGQgcmVhbGx5IGJlIGEgQlVHX09OIGJ1dCBiL2MgdGhpcyBpcyBhbgorCS8qCisJICogc2hvdWxkIHJlYWxseSBiZSBhIEJVR19PTiBidXQgYi9jIHRoaXMgaXMgYW4KIAkgKiBpbml0IGNhbGwsIGl0IGp1c3QgZG9lc24ndCB3b3JrLiAgLWRjegogCSAqLwogCWlmIChubWlfd2F0Y2hkb2cgIT0gTk1JX0xPQ0FMX0FQSUMpCkBAIC0yMDksNiArMjU1LDcgQEAKIAkJZXJyb3IgPSBzeXNkZXZfcmVnaXN0ZXIoJmRldmljZV9sYXBpY19ubWkpOwogCXJldHVybiBlcnJvcjsKIH0KKwogLyogbXVzdCBjb21lIGFmdGVyIHRoZSBsb2NhbCBBUElDJ3MgZGV2aWNlX2luaXRjYWxsKCkgKi8KIGxhdGVfaW5pdGNhbGwoaW5pdF9sYXBpY19ubWlfc3lzZnMpOwogCkBAIC0yMTYsNyArMjYzLDcgQEAKIAogc3RhdGljIHZvaWQgX19hY3BpX25taV9lbmFibGUodm9pZCAqX191bnVzZWQpCiB7Ci0JYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfRE1fTk1JKTsKKwlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfRE1fTk1JKTsKIH0KIAogLyoKQEAgLTIyNSwxMiArMjcyLDEyIEBACiB2b2lkIGFjcGlfbm1pX2VuYWJsZSh2b2lkKQogewogCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgJiYgbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQotCQlvbl9lYWNoX2NwdShfX2FjcGlfbm1pX2VuYWJsZSwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KF9fYWNwaV9ubWlfZW5hYmxlLCBOVUxMLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgX19hY3BpX25taV9kaXNhYmxlKHZvaWQgKl9fdW51c2VkKQogewotCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCBBUElDX0RNX05NSSB8IEFQSUNfTFZUX01BU0tFRCk7CisJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0RNX05NSSB8IEFQSUNfTFZUX01BU0tFRCk7CiB9CiAKIC8qCkBAIC0yMzksNyArMjg2LDcgQEAKIHZvaWQgYWNwaV9ubWlfZGlzYWJsZSh2b2lkKQogewogCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgJiYgbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQotCQlvbl9lYWNoX2NwdShfX2FjcGlfbm1pX2Rpc2FibGUsIE5VTEwsIDAsIDEpOworCQlvbl9lYWNoX2NwdShfX2FjcGlfbm1pX2Rpc2FibGUsIE5VTEwsIDEpOwogfQogCiB2b2lkIHNldHVwX2FwaWNfbm1pX3dhdGNoZG9nKHZvaWQgKnVudXNlZCkKQEAgLTI0OSwxMSArMjk2LDEyIEBACiAKIAkvKiBjaGVhcCBoYWNrIHRvIHN1cHBvcnQgc3VzcGVuZC9yZXN1bWUgKi8KIAkvKiBpZiBjcHUwIGlzIG5vdCBhY3RpdmUgbmVpdGhlciBzaG91bGQgdGhlIG90aGVyIGNwdXMgKi8KLQlpZiAoKHNtcF9wcm9jZXNzb3JfaWQoKSAhPSAwKSAmJiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDw9IDApKQorCWlmIChzbXBfcHJvY2Vzc29yX2lkKCkgIT0gMCAmJiBhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPD0gMCkKIAkJcmV0dXJuOwogCiAJc3dpdGNoIChubWlfd2F0Y2hkb2cpIHsKIAljYXNlIE5NSV9MT0NBTF9BUElDOgorCQkgLyogZW5hYmxlIGl0IGJlZm9yZSB0byBhdm9pZCByYWNlIHdpdGggaGFuZGxlciAqLwogCQlfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID0gMTsKIAkJaWYgKGxhcGljX3dhdGNoZG9nX2luaXQobm1pX2h6KSA8IDApIHsKIAkJCV9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPSAwOwpAQCAtMjY5LDkgKzMxNyw4IEBACiB2b2lkIHN0b3BfYXBpY19ubWlfd2F0Y2hkb2codm9pZCAqdW51c2VkKQogewogCS8qIG9ubHkgc3VwcG9ydCBMT0NBTCBhbmQgSU8gQVBJQ3MgZm9yIG5vdyAqLwotCWlmICgobm1pX3dhdGNoZG9nICE9IE5NSV9MT0NBTF9BUElDKSAmJgotCSAgICAobm1pX3dhdGNoZG9nICE9IE5NSV9JT19BUElDKSkKLQkgICAgCXJldHVybjsKKwlpZiAoIW5taV93YXRjaGRvZ19hY3RpdmUoKSkKKwkJcmV0dXJuOwogCWlmIChfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID09IDApCiAJCXJldHVybjsKIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKQpAQCAtMjg3LDYgKzMzNCwxMSBAQAogICoKICAqIGFzIHRoZXNlIHdhdGNoZG9nIE5NSSBJUlFzIGFyZSBnZW5lcmF0ZWQgb24gZXZlcnkgQ1BVLCB3ZSBvbmx5CiAgKiBoYXZlIHRvIGNoZWNrIHRoZSBjdXJyZW50IHByb2Nlc3Nvci4KKyAqCisgKiBzaW5jZSBOTUlzIGRvbid0IGxpc3RlbiB0byBfYW55XyBsb2Nrcywgd2UgaGF2ZSB0byBiZSBleHRyZW1lbHkKKyAqIGNhcmVmdWwgbm90IHRvIHJlbHkgb24gdW5zYWZlIHZhcmlhYmxlcy4gVGhlIHByaW50ayBtaWdodCBsb2NrCisgKiB1cCB0aG91Z2gsIHNvIHdlIGhhdmUgdG8gYnJlYWsgdXAgYW55IGNvbnNvbGUgbG9ja3MgZmlyc3QgLi4uCisgKiBbd2hlbiB0aGVyZSB3aWxsIGJlIG1vcmUgdHR5LXJlbGF0ZWQgbG9ja3MsIGJyZWFrIHRoZW0gdXAgaGVyZSB0b28hXQogICovCiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCwgbGFzdF9pcnFfc3VtKTsKQEAgLTI5NSwxMSArMzQ3LDExIEBACiAKIHZvaWQgdG91Y2hfbm1pX3dhdGNoZG9nKHZvaWQpCiB7Ci0JaWYgKG5taV93YXRjaGRvZyA+IDApIHsKKwlpZiAobm1pX3dhdGNoZG9nX2FjdGl2ZSgpKSB7CiAJCXVuc2lnbmVkIGNwdTsKIAogCQkvKgotIAkJICogVGVsbCBvdGhlciBDUFVzIHRvIHJlc2V0IHRoZWlyIGFsZXJ0IGNvdW50ZXJzLiBXZSBjYW5ub3QKKwkJICogVGVsbCBvdGhlciBDUFVzIHRvIHJlc2V0IHRoZWlyIGFsZXJ0IGNvdW50ZXJzLiBXZSBjYW5ub3QKIAkJICogZG8gaXQgb3Vyc2VsdmVzIGJlY2F1c2UgdGhlIGFsZXJ0IGNvdW50IGluY3JlYXNlIGlzIG5vdAogCQkgKiBhdG9taWMuCiAJCSAqLwpAQCAtMzA5LDYgKzM2MSw5IEBACiAJCX0KIAl9CiAKKwkvKgorCSAqIFRpY2tsZSB0aGUgc29mdGxvY2t1cCBkZXRlY3RvciB0b286CisJICovCiAJdG91Y2hfc29mdGxvY2t1cF93YXRjaGRvZygpOwogfQogRVhQT1JUX1NZTUJPTCh0b3VjaF9ubWlfd2F0Y2hkb2cpOwpAQCAtMzE2LDcgKzM3MSwxMiBAQAogbm90cmFjZSBfX2twcm9iZXMgaW50CiBubWlfd2F0Y2hkb2dfdGljayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgcmVhc29uKQogewotCWludCBzdW07CisJLyoKKwkgKiBTaW5jZSBjdXJyZW50X3RocmVhZF9pbmZvKCktPiBpcyBhbHdheXMgb24gdGhlIHN0YWNrLCBhbmQgd2UKKwkgKiBhbHdheXMgc3dpdGNoIHRoZSBzdGFjayBOTUktYXRvbWljYWxseSwgaXQncyBzYWZlIHRvIHVzZQorCSAqIHNtcF9wcm9jZXNzb3JfaWQoKS4KKwkgKi8KKwl1bnNpZ25lZCBpbnQgc3VtOwogCWludCB0b3VjaGVkID0gMDsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCWludCByYyA9IDA7CkBAIC0zMjgsNyArMzg4LDggQEAKIAkJdG91Y2hlZCA9IDE7CiAJfQogCi0Jc3VtID0gcmVhZF9wZGEoYXBpY190aW1lcl9pcnFzKSArIHJlYWRfcGRhKGlycTBfaXJxcyk7CisJc3VtID0gZ2V0X3RpbWVyX2lycXMoY3B1KTsKKwogCWlmIChfX2dldF9jcHVfdmFyKG5taV90b3VjaCkpIHsKIAkJX19nZXRfY3B1X3ZhcihubWlfdG91Y2gpID0gMDsKIAkJdG91Y2hlZCA9IDE7CkBAIC0zMzgsMjggKzM5OSwyOSBAQAogCQlzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGxvY2spOwkvKiBTZXJpYWxpc2UgdGhlIHByaW50a3MgKi8KIAogCQlzcGluX2xvY2soJmxvY2spOwotCQlwcmludGsoIk5NSSBiYWNrdHJhY2UgZm9yIGNwdSAlZFxuIiwgY3B1KTsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiTk1JIGJhY2t0cmFjZSBmb3IgY3B1ICVkXG4iLCBjcHUpOwogCQlkdW1wX3N0YWNrKCk7CiAJCXNwaW5fdW5sb2NrKCZsb2NrKTsKIAkJY3B1X2NsZWFyKGNwdSwgYmFja3RyYWNlX21hc2spOwogCX0KIAotI2lmZGVmIENPTkZJR19YODZfTUNFCi0JLyogQ291bGQgY2hlY2sgb29wc19pbl9wcm9ncmVzcyBoZXJlIHRvbywgYnV0IGl0J3Mgc2FmZXIKLQkgICBub3QgdG9vICovCi0JaWYgKGF0b21pY19yZWFkKCZtY2VfZW50cnkpID4gMCkKKwkvKiBDb3VsZCBjaGVjayBvb3BzX2luX3Byb2dyZXNzIGhlcmUgdG9vLCBidXQgaXQncyBzYWZlciBub3QgdG8gKi8KKwlpZiAobWNlX2luX3Byb2dyZXNzKCkpCiAJCXRvdWNoZWQgPSAxOwotI2VuZGlmCi0JLyogaWYgdGhlIGFwaWMgdGltZXIgaXNuJ3QgZmlyaW5nLCB0aGlzIGNwdSBpc24ndCBkb2luZyBtdWNoICovCisKKwkvKiBpZiB0aGUgbm9uZSBvZiB0aGUgdGltZXJzIGlzbid0IGZpcmluZywgdGhpcyBjcHUgaXNuJ3QgZG9pbmcgbXVjaCAqLwogCWlmICghdG91Y2hlZCAmJiBfX2dldF9jcHVfdmFyKGxhc3RfaXJxX3N1bSkgPT0gc3VtKSB7CiAJCS8qCiAJCSAqIEF5aWVlLCBsb29rcyBsaWtlIHRoaXMgQ1BVIGlzIHN0dWNrIC4uLgogCQkgKiB3YWl0IGEgZmV3IElSUXMgKDUgc2Vjb25kcykgYmVmb3JlIGRvaW5nIHRoZSBvb3BzIC4uLgogCQkgKi8KIAkJbG9jYWxfaW5jKCZfX2dldF9jcHVfdmFyKGFsZXJ0X2NvdW50ZXIpKTsKLQkJaWYgKGxvY2FsX3JlYWQoJl9fZ2V0X2NwdV92YXIoYWxlcnRfY291bnRlcikpID09IDUqbm1pX2h6KQotCQkJZGllX25taSgiTk1JIFdhdGNoZG9nIGRldGVjdGVkIExPQ0tVUCBvbiBDUFUgJWRcbiIsIHJlZ3MsCi0JCQkJcGFuaWNfb25fdGltZW91dCk7CisJCWlmIChsb2NhbF9yZWFkKCZfX2dldF9jcHVfdmFyKGFsZXJ0X2NvdW50ZXIpKSA9PSA1ICogbm1pX2h6KQorCQkJLyoKKwkJCSAqIGRpZV9ubWkgd2lsbCByZXR1cm4gT05MWSBpZiBOT1RJRllfU1RPUCBoYXBwZW5zLi4KKwkJCSAqLworCQkJZGllX25taSgiQlVHOiBOTUkgV2F0Y2hkb2cgZGV0ZWN0ZWQgTE9DS1VQIiwKKwkJCQlyZWdzLCBwYW5pY19vbl90aW1lb3V0KTsKIAl9IGVsc2UgewogCQlfX2dldF9jcHVfdmFyKGxhc3RfaXJxX3N1bSkgPSBzdW07CiAJCWxvY2FsX3NldCgmX19nZXRfY3B1X3ZhcihhbGVydF9jb3VudGVyKSwgMCk7CkBAIC0zNzMsNyArNDM1LDggQEAKIAkJcmMgfD0gbGFwaWNfd2RfZXZlbnQobm1pX2h6KTsKIAkJYnJlYWs7CiAJY2FzZSBOTUlfSU9fQVBJQzoKLQkJLyogZG9uJ3Qga25vdyBob3cgdG8gYWNjdXJhdGVseSBjaGVjayBmb3IgdGhpcy4KKwkJLyoKKwkJICogZG9uJ3Qga25vdyBob3cgdG8gYWNjdXJhdGVseSBjaGVjayBmb3IgdGhpcy4KIAkJICoganVzdCBhc3N1bWUgaXQgd2FzIGEgd2F0Y2hkb2cgdGltZXIgaW50ZXJydXB0CiAJCSAqIFRoaXMgbWF0Y2hlcyB0aGUgb2xkIGJlaGF2aW91ci4KIAkJICovCkBAIC0zODMsMzAgKzQ0Niw2IEBACiAJcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgdW5zaWduZWQgaWdub3JlX25taXM7Ci0KLWFzbWxpbmthZ2Ugbm90cmFjZSBfX2twcm9iZXMgdm9pZAotZG9fbm1pKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCi17Ci0Jbm1pX2VudGVyKCk7Ci0JYWRkX3BkYShfX25taV9jb3VudCwxKTsKLQlpZiAoIWlnbm9yZV9ubWlzKQotCQlkZWZhdWx0X2RvX25taShyZWdzKTsKLQlubWlfZXhpdCgpOwotfQotCi12b2lkIHN0b3Bfbm1pKHZvaWQpCi17Ci0JYWNwaV9ubWlfZGlzYWJsZSgpOwotCWlnbm9yZV9ubWlzKys7Ci19Ci0KLXZvaWQgcmVzdGFydF9ubWkodm9pZCkKLXsKLQlpZ25vcmVfbm1pcy0tOwotCWFjcGlfbm1pX2VuYWJsZSgpOwotfQotCiAjaWZkZWYgQ09ORklHX1NZU0NUTAogCiBzdGF0aWMgaW50IHVua25vd25fbm1pX3BhbmljX2NhbGxiYWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgY3B1KQpAQCAtNDE1LDcgKzQ1NCw3IEBACiAJY2hhciBidWZbNjRdOwogCiAJc3ByaW50ZihidWYsICJOTUkgcmVjZWl2ZWQgZm9yIHVua25vd24gcmVhc29uICUwMnhcbiIsIHJlYXNvbik7Ci0JZGllX25taShidWYsIHJlZ3MsIDEpOwkvKiBBbHdheXMgcGFuaWMgaGVyZSAqLworCWRpZV9ubWkoYnVmLCByZWdzLCAxKTsgLyogQWx3YXlzIHBhbmljIGhlcmUgKi8KIAlyZXR1cm4gMDsKIH0KIApAQCAtNDMzLDI4ICs0NzIsMjYgQEAKIAlpZiAoISFvbGRfc3RhdGUgPT0gISFubWlfd2F0Y2hkb2dfZW5hYmxlZCkKIAkJcmV0dXJuIDA7CiAKLQlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDwgMCB8fCBubWlfd2F0Y2hkb2cgPT0gTk1JX0RJU0FCTEVEKSB7Ci0JCXByaW50ayggS0VSTl9XQVJOSU5HICJOTUkgd2F0Y2hkb2cgaXMgcGVybWFuZW50bHkgZGlzYWJsZWRcbiIpOworCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPCAwIHx8ICFubWlfd2F0Y2hkb2dfYWN0aXZlKCkpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIk5NSSB3YXRjaGRvZyBpcyBwZXJtYW5lbnRseSBkaXNhYmxlZFxuIik7CiAJCXJldHVybiAtRUlPOwogCX0KIAotCS8qIGlmIG5taV93YXRjaGRvZyBpcyBub3Qgc2V0IHlldCwgdGhlbiBzZXQgaXQgKi8KLQlubWlfd2F0Y2hkb2dfZGVmYXVsdCgpOwotCiAJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykgewogCQlpZiAobm1pX3dhdGNoZG9nX2VuYWJsZWQpCiAJCQllbmFibGVfbGFwaWNfbm1pX3dhdGNoZG9nKCk7CiAJCWVsc2UKIAkJCWRpc2FibGVfbGFwaWNfbm1pX3dhdGNoZG9nKCk7CiAJfSBlbHNlIHsKLQkJcHJpbnRrKCBLRVJOX1dBUk5JTkcKKwkJcHJpbnRrKEtFUk5fV0FSTklORwogCQkJIk5NSSB3YXRjaGRvZyBkb2Vzbid0IGtub3cgd2hhdCBoYXJkd2FyZSB0byB0b3VjaFxuIik7CiAJCXJldHVybiAtRUlPOwogCX0KIAlyZXR1cm4gMDsKIH0KIAotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NZU0NUTCAqLwogCiBpbnQgZG9fbm1pX2NhbGxiYWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgY3B1KQogewpAQCAtNDc3LDYgKzUxNCwzIEBACiAJCW1kZWxheSgxKTsKIAl9CiB9Ci0KLUVYUE9SVF9TWU1CT0wobm1pX2FjdGl2ZSk7Ci1FWFBPUlRfU1lNQk9MKG5taV93YXRjaGRvZyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbm1pXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvbm1pXzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0MTYwZjcuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL25taV8zMi5jCisrKyAvZGV2L251bGwKQEAgLTEsNDY3ICswLDAgQEAKLS8qCi0gKiAgTk1JIHdhdGNoZG9nIHN1cHBvcnQgb24gQVBJQyBzeXN0ZW1zCi0gKgotICogIFN0YXJ0ZWQgYnkgSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+Ci0gKgotICogIEZpeGVzOgotICogIE1pa2FlbCBQZXR0ZXJzc29uCTogQU1EIEs3IHN1cHBvcnQgZm9yIGxvY2FsIEFQSUMgTk1JIHdhdGNoZG9nLgotICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUG93ZXIgTWFuYWdlbWVudCBmb3IgbG9jYWwgQVBJQyBOTUkgd2F0Y2hkb2cuCi0gKiAgTWlrYWVsIFBldHRlcnNzb24JOiBQZW50aXVtIDQgc3VwcG9ydCBmb3IgbG9jYWwgQVBJQyBOTUkgd2F0Y2hkb2cuCi0gKiAgUGF2ZWwgTWFjaGVrIGFuZAotICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUE0gY29udmVydGVkIHRvIGRyaXZlciBtb2RlbC4gRGlzYWJsZS9lbmFibGUgQVBJLgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L25taS5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c2N0bC5oPgotI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgotI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZGVidWcuaD4KLSNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Ci0KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL25taS5oPgotCi0jaW5jbHVkZSAibWFjaF90cmFwcy5oIgotCi1pbnQgdW5rbm93bl9ubWlfcGFuaWM7Ci1pbnQgbm1pX3dhdGNoZG9nX2VuYWJsZWQ7Ci0KLXN0YXRpYyBjcHVtYXNrX3QgYmFja3RyYWNlX21hc2sgPSBDUFVfTUFTS19OT05FOwotCi0vKiBubWlfYWN0aXZlOgotICogPjA6IHRoZSBsYXBpYyBOTUkgd2F0Y2hkb2cgaXMgYWN0aXZlLCBidXQgY2FuIGJlIGRpc2FibGVkCi0gKiA8MDogdGhlIGxhcGljIE5NSSB3YXRjaGRvZyBoYXMgbm90IGJlZW4gc2V0IHVwLCBhbmQgY2Fubm90Ci0gKiAgICAgYmUgZW5hYmxlZAotICogIDA6IHRoZSBsYXBpYyBOTUkgd2F0Y2hkb2cgaXMgZGlzYWJsZWQsIGJ1dCBjYW4gYmUgZW5hYmxlZAotICovCi1hdG9taWNfdCBubWlfYWN0aXZlID0gQVRPTUlDX0lOSVQoMCk7CQkvKiBvcHJvZmlsZSB1c2VzIHRoaXMgKi8KLQotdW5zaWduZWQgaW50IG5taV93YXRjaGRvZyA9IE5NSV9ERUZBVUxUOwotc3RhdGljIHVuc2lnbmVkIGludCBubWlfaHogPSBIWjsKLQotc3RhdGljIERFRklORV9QRVJfQ1BVKHNob3J0LCB3ZF9lbmFibGVkKTsKLQotc3RhdGljIGludCBlbmRmbGFnIF9faW5pdGRhdGEgPSAwOwotCi0jaWZkZWYgQ09ORklHX1NNUAotLyogVGhlIHBlcmZvcm1hbmNlIGNvdW50ZXJzIHVzZWQgYnkgTk1JX0xPQ0FMX0FQSUMgZG9uJ3QgdHJpZ2dlciB3aGVuCi0gKiB0aGUgQ1BVIGlzIGlkbGUuIFRvIG1ha2Ugc3VyZSB0aGUgTk1JIHdhdGNoZG9nIHJlYWxseSB0aWNrcyBvbiBhbGwKLSAqIENQVXMgZHVyaW5nIHRoZSB0ZXN0IG1ha2UgdGhlbSBidXN5LgotICovCi1zdGF0aWMgX19pbml0IHZvaWQgbm1pX2NwdV9idXN5KHZvaWQgKmRhdGEpCi17Ci0JbG9jYWxfaXJxX2VuYWJsZV9pbl9oYXJkaXJxKCk7Ci0JLyogSW50ZW50aW9uYWxseSBkb24ndCB1c2UgY3B1X3JlbGF4IGhlcmUuIFRoaXMgaXMKLQkgICB0byBtYWtlIHN1cmUgdGhhdCB0aGUgcGVyZm9ybWFuY2UgY291bnRlciByZWFsbHkgdGlja3MsCi0JICAgZXZlbiBpZiB0aGVyZSBpcyBhIHNpbXVsYXRvciBvciBzaW1pbGFyIHRoYXQgY2F0Y2hlcyB0aGUKLQkgICBwYXVzZSBpbnN0cnVjdGlvbi4gT24gYSByZWFsIEhUIG1hY2hpbmUgdGhpcyBpcyBmaW5lIGJlY2F1c2UKLQkgICBhbGwgb3RoZXIgQ1BVcyBhcmUgYnVzeSB3aXRoICJ1c2VsZXNzIiBkZWxheSBsb29wcyBhbmQgZG9uJ3QKLQkgICBjYXJlIGlmIHRoZXkgZ2V0IHNvbWV3aGF0IGxlc3MgY3ljbGVzLiAqLwotCXdoaWxlIChlbmRmbGFnID09IDApCi0JCW1iKCk7Ci19Ci0jZW5kaWYKLQotaW50IF9faW5pdCBjaGVja19ubWlfd2F0Y2hkb2codm9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgKnByZXZfbm1pX2NvdW50OwotCWludCBjcHU7Ci0KLQlpZiAoKG5taV93YXRjaGRvZyA9PSBOTUlfTk9ORSkgfHwgKG5taV93YXRjaGRvZyA9PSBOTUlfRElTQUJMRUQpKQotCQlyZXR1cm4gMDsKLQotCWlmICghYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpKQotCQlyZXR1cm4gMDsKLQotCXByZXZfbm1pX2NvdW50ID0ga21hbGxvYyhOUl9DUFVTICogc2l6ZW9mKGludCksIEdGUF9LRVJORUwpOwotCWlmICghcHJldl9ubWlfY291bnQpCi0JCXJldHVybiAtMTsKLQotCXByaW50ayhLRVJOX0lORk8gIlRlc3RpbmcgTk1JIHdhdGNoZG9nIC4uLiAiKTsKLQotI2lmZGVmIENPTkZJR19TTVAKLQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKQotCQlzbXBfY2FsbF9mdW5jdGlvbihubWlfY3B1X2J1c3ksICh2b2lkICopJmVuZGZsYWcsIDAsIDApOwotI2VuZGlmCi0KLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KQotCQlwcmV2X25taV9jb3VudFtjcHVdID0gbm1pX2NvdW50KGNwdSk7Ci0JbG9jYWxfaXJxX2VuYWJsZSgpOwotCW1kZWxheSgoMjAqMTAwMCkvbm1pX2h6KTsgLy8gd2FpdCAyMCB0aWNrcwotCi0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgewotI2lmZGVmIENPTkZJR19TTVAKLQkJLyogQ2hlY2sgY3B1X2NhbGxpbl9tYXAgaGVyZSBiZWNhdXNlIHRoYXQgaXMgc2V0Ci0JCSAgIGFmdGVyIHRoZSB0aW1lciBpcyBzdGFydGVkLiAqLwotCQlpZiAoIWNwdV9pc3NldChjcHUsIGNwdV9jYWxsaW5fbWFwKSkKLQkJCWNvbnRpbnVlOwotI2VuZGlmCi0JCWlmICghcGVyX2NwdSh3ZF9lbmFibGVkLCBjcHUpKQotCQkJY29udGludWU7Ci0JCWlmIChubWlfY291bnQoY3B1KSAtIHByZXZfbm1pX2NvdW50W2NwdV0gPD0gNSkgewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiV0FSTklORzogQ1BVIyVkOiBOTUkgIgotCQkJCSJhcHBlYXJzIHRvIGJlIHN0dWNrICglZC0+JWQpIVxuIiwKLQkJCQljcHUsCi0JCQkJcHJldl9ubWlfY291bnRbY3B1XSwKLQkJCQlubWlfY291bnQoY3B1KSk7Ci0JCQlwZXJfY3B1KHdkX2VuYWJsZWQsIGNwdSkgPSAwOwotCQkJYXRvbWljX2RlYygmbm1pX2FjdGl2ZSk7Ci0JCX0KLQl9Ci0JZW5kZmxhZyA9IDE7Ci0JaWYgKCFhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkpIHsKLQkJa2ZyZWUocHJldl9ubWlfY291bnQpOwotCQlhdG9taWNfc2V0KCZubWlfYWN0aXZlLCAtMSk7Ci0JCXJldHVybiAtMTsKLQl9Ci0JcHJpbnRrKCJPSy5cbiIpOwotCi0JLyogbm93IHRoYXQgd2Uga25vdyBpdCB3b3JrcyB3ZSBjYW4gcmVkdWNlIE5NSSBmcmVxdWVuY3kgdG8KLQkgICBzb21ldGhpbmcgbW9yZSByZWFzb25hYmxlOyBtYWtlcyBhIGRpZmZlcmVuY2UgaW4gc29tZSBjb25maWdzICovCi0JaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykKLQkJbm1pX2h6ID0gbGFwaWNfYWRqdXN0X25taV9oeigxKTsKLQotCWtmcmVlKHByZXZfbm1pX2NvdW50KTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBfX2luaXQgc2V0dXBfbm1pX3dhdGNoZG9nKGNoYXIgKnN0cikKLXsKLQlpbnQgbm1pOwotCi0JZ2V0X29wdGlvbigmc3RyLCAmbm1pKTsKLQotCWlmICgobm1pID49IE5NSV9JTlZBTElEKSB8fCAobm1pIDwgTk1JX05PTkUpKQotCQlyZXR1cm4gMDsKLQotCW5taV93YXRjaGRvZyA9IG5taTsKLQlyZXR1cm4gMTsKLX0KLQotX19zZXR1cCgibm1pX3dhdGNoZG9nPSIsIHNldHVwX25taV93YXRjaGRvZyk7Ci0KLQotLyogU3VzcGVuZC9yZXN1bWUgc3VwcG9ydCAqLwotCi0jaWZkZWYgQ09ORklHX1BNCi0KLXN0YXRpYyBpbnQgbm1pX3BtX2FjdGl2ZTsgLyogbm1pX2FjdGl2ZSBiZWZvcmUgc3VzcGVuZCAqLwotCi1zdGF0aWMgaW50IGxhcGljX25taV9zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKLXsKLQkvKiBvbmx5IENQVTAgZ29lcyBoZXJlLCBvdGhlciBDUFVzIHNob3VsZCBiZSBvZmZsaW5lICovCi0Jbm1pX3BtX2FjdGl2ZSA9IGF0b21pY19yZWFkKCZubWlfYWN0aXZlKTsKLQlzdG9wX2FwaWNfbm1pX3dhdGNoZG9nKE5VTEwpOwotCUJVR19PTihhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgIT0gMCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgbGFwaWNfbm1pX3Jlc3VtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2KQotewotCS8qIG9ubHkgQ1BVMCBnb2VzIGhlcmUsIG90aGVyIENQVXMgc2hvdWxkIGJlIG9mZmxpbmUgKi8KLQlpZiAobm1pX3BtX2FjdGl2ZSA+IDApIHsKLQkJc2V0dXBfYXBpY19ubWlfd2F0Y2hkb2coTlVMTCk7Ci0JCXRvdWNoX25taV93YXRjaGRvZygpOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBubWlfc3lzY2xhc3MgPSB7Ci0JLm5hbWUJCT0gImxhcGljX25taSIsCi0JLnJlc3VtZQkJPSBsYXBpY19ubWlfcmVzdW1lLAotCS5zdXNwZW5kCT0gbGFwaWNfbm1pX3N1c3BlbmQsCi19OwotCi1zdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgZGV2aWNlX2xhcGljX25taSA9IHsKLQkuaWQJPSAwLAotCS5jbHMJPSAmbm1pX3N5c2NsYXNzLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaW5pdF9sYXBpY19ubWlfc3lzZnModm9pZCkKLXsKLQlpbnQgZXJyb3I7Ci0KLQkvKiBzaG91bGQgcmVhbGx5IGJlIGEgQlVHX09OIGJ1dCBiL2MgdGhpcyBpcyBhbgotCSAqIGluaXQgY2FsbCwgaXQganVzdCBkb2Vzbid0IHdvcmsuICAtZGN6Ci0JICovCi0JaWYgKG5taV93YXRjaGRvZyAhPSBOTUlfTE9DQUxfQVBJQykKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDwgMCkKLQkJcmV0dXJuIDA7Ci0KLQllcnJvciA9IHN5c2Rldl9jbGFzc19yZWdpc3Rlcigmbm1pX3N5c2NsYXNzKTsKLQlpZiAoIWVycm9yKQotCQllcnJvciA9IHN5c2Rldl9yZWdpc3RlcigmZGV2aWNlX2xhcGljX25taSk7Ci0JcmV0dXJuIGVycm9yOwotfQotLyogbXVzdCBjb21lIGFmdGVyIHRoZSBsb2NhbCBBUElDJ3MgZGV2aWNlX2luaXRjYWxsKCkgKi8KLWxhdGVfaW5pdGNhbGwoaW5pdF9sYXBpY19ubWlfc3lzZnMpOwotCi0jZW5kaWYJLyogQ09ORklHX1BNICovCi0KLXN0YXRpYyB2b2lkIF9fYWNwaV9ubWlfZW5hYmxlKHZvaWQgKl9fdW51c2VkKQotewotCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkpOwotfQotCi0vKgotICogRW5hYmxlIHRpbWVyIGJhc2VkIE5NSXMgb24gYWxsIENQVXM6Ci0gKi8KLXZvaWQgYWNwaV9ubWlfZW5hYmxlKHZvaWQpCi17Ci0JaWYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSAmJiBubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpCi0JCW9uX2VhY2hfY3B1KF9fYWNwaV9ubWlfZW5hYmxlLCBOVUxMLCAwLCAxKTsKLX0KLQotc3RhdGljIHZvaWQgX19hY3BpX25taV9kaXNhYmxlKHZvaWQgKl9fdW51c2VkKQotewotCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCBBUElDX0RNX05NSSB8IEFQSUNfTFZUX01BU0tFRCk7Ci19Ci0KLS8qCi0gKiBEaXNhYmxlIHRpbWVyIGJhc2VkIE5NSXMgb24gYWxsIENQVXM6Ci0gKi8KLXZvaWQgYWNwaV9ubWlfZGlzYWJsZSh2b2lkKQotewotCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgJiYgbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQotCQlvbl9lYWNoX2NwdShfX2FjcGlfbm1pX2Rpc2FibGUsIE5VTEwsIDAsIDEpOwotfQotCi12b2lkIHNldHVwX2FwaWNfbm1pX3dhdGNoZG9nKHZvaWQgKnVudXNlZCkKLXsKLQlpZiAoX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSkKLQkJcmV0dXJuOwotCi0JLyogY2hlYXAgaGFjayB0byBzdXBwb3J0IHN1c3BlbmQvcmVzdW1lICovCi0JLyogaWYgY3B1MCBpcyBub3QgYWN0aXZlIG5laXRoZXIgc2hvdWxkIHRoZSBvdGhlciBjcHVzICovCi0JaWYgKChzbXBfcHJvY2Vzc29yX2lkKCkgIT0gMCkgJiYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA8PSAwKSkKLQkJcmV0dXJuOwotCi0Jc3dpdGNoIChubWlfd2F0Y2hkb2cpIHsKLQljYXNlIE5NSV9MT0NBTF9BUElDOgotCQlfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID0gMTsgLyogZW5hYmxlIGl0IGJlZm9yZSB0byBhdm9pZCByYWNlIHdpdGggaGFuZGxlciAqLwotCQlpZiAobGFwaWNfd2F0Y2hkb2dfaW5pdChubWlfaHopIDwgMCkgewotCQkJX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9IDA7Ci0JCQlyZXR1cm47Ci0JCX0KLQkJLyogRkFMTCBUSFJPVUdIICovCi0JY2FzZSBOTUlfSU9fQVBJQzoKLQkJX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9IDE7Ci0JCWF0b21pY19pbmMoJm5taV9hY3RpdmUpOwotCX0KLX0KLQotdm9pZCBzdG9wX2FwaWNfbm1pX3dhdGNoZG9nKHZvaWQgKnVudXNlZCkKLXsKLQkvKiBvbmx5IHN1cHBvcnQgTE9DQUwgYW5kIElPIEFQSUNzIGZvciBub3cgKi8KLQlpZiAoKG5taV93YXRjaGRvZyAhPSBOTUlfTE9DQUxfQVBJQykgJiYKLQkgICAgKG5taV93YXRjaGRvZyAhPSBOTUlfSU9fQVBJQykpCi0JICAgIAlyZXR1cm47Ci0JaWYgKF9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPT0gMCkKLQkJcmV0dXJuOwotCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMpCi0JCWxhcGljX3dhdGNoZG9nX3N0b3AoKTsKLQlfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID0gMDsKLQlhdG9taWNfZGVjKCZubWlfYWN0aXZlKTsKLX0KLQotLyoKLSAqIHRoZSBiZXN0IHdheSB0byBkZXRlY3Qgd2hldGhlciBhIENQVSBoYXMgYSAnaGFyZCBsb2NrdXAnIHByb2JsZW0KLSAqIGlzIHRvIGNoZWNrIGl0J3MgbG9jYWwgQVBJQyB0aW1lciBJUlEgY291bnRzLiBJZiB0aGV5IGFyZSBub3QKLSAqIGNoYW5naW5nIHRoZW4gdGhhdCBDUFUgaGFzIHNvbWUgcHJvYmxlbS4KLSAqCi0gKiBhcyB0aGVzZSB3YXRjaGRvZyBOTUkgSVJRcyBhcmUgZ2VuZXJhdGVkIG9uIGV2ZXJ5IENQVSwgd2Ugb25seQotICogaGF2ZSB0byBjaGVjayB0aGUgY3VycmVudCBwcm9jZXNzb3IuCi0gKgotICogc2luY2UgTk1JcyBkb24ndCBsaXN0ZW4gdG8gX2FueV8gbG9ja3MsIHdlIGhhdmUgdG8gYmUgZXh0cmVtZWx5Ci0gKiBjYXJlZnVsIG5vdCB0byByZWx5IG9uIHVuc2FmZSB2YXJpYWJsZXMuIFRoZSBwcmludGsgbWlnaHQgbG9jawotICogdXAgdGhvdWdoLCBzbyB3ZSBoYXZlIHRvIGJyZWFrIHVwIGFueSBjb25zb2xlIGxvY2tzIGZpcnN0IC4uLgotICogW3doZW4gdGhlcmUgd2lsbCBiZSBtb3JlIHR0eS1yZWxhdGVkIGxvY2tzLCBicmVhayB0aGVtIHVwCi0gKiAgaGVyZSB0b28hXQotICovCi0KLXN0YXRpYyB1bnNpZ25lZCBpbnQKLQlsYXN0X2lycV9zdW1zIFtOUl9DUFVTXSwKLQlhbGVydF9jb3VudGVyIFtOUl9DUFVTXTsKLQotdm9pZCB0b3VjaF9ubWlfd2F0Y2hkb2codm9pZCkKLXsKLQlpZiAobm1pX3dhdGNoZG9nID4gMCkgewotCQl1bnNpZ25lZCBjcHU7Ci0KLQkJLyoKLQkJICogSnVzdCByZXNldCB0aGUgYWxlcnQgY291bnRlcnMsIChvdGhlciBDUFVzIG1pZ2h0IGJlCi0JCSAqIHNwaW5uaW5nIG9uIGxvY2tzIHdlIGhvbGQpOgotCQkgKi8KLQkJZm9yX2VhY2hfcHJlc2VudF9jcHUoY3B1KSB7Ci0JCQlpZiAoYWxlcnRfY291bnRlcltjcHVdKQotCQkJCWFsZXJ0X2NvdW50ZXJbY3B1XSA9IDA7Ci0JCX0KLQl9Ci0KLQkvKgotCSAqIFRpY2tsZSB0aGUgc29mdGxvY2t1cCBkZXRlY3RvciB0b286Ci0JICovCi0JdG91Y2hfc29mdGxvY2t1cF93YXRjaGRvZygpOwotfQotRVhQT1JUX1NZTUJPTCh0b3VjaF9ubWlfd2F0Y2hkb2cpOwotCi1leHRlcm4gdm9pZCBkaWVfbm1pKHN0cnVjdCBwdF9yZWdzICosIGNvbnN0IGNoYXIgKm1zZyk7Ci0KLW5vdHJhY2UgX19rcHJvYmVzIGludAotbm1pX3dhdGNoZG9nX3RpY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIHJlYXNvbikKLXsKLQotCS8qCi0JICogU2luY2UgY3VycmVudF90aHJlYWRfaW5mbygpLT4gaXMgYWx3YXlzIG9uIHRoZSBzdGFjaywgYW5kIHdlCi0JICogYWx3YXlzIHN3aXRjaCB0aGUgc3RhY2sgTk1JLWF0b21pY2FsbHksIGl0J3Mgc2FmZSB0byB1c2UKLQkgKiBzbXBfcHJvY2Vzc29yX2lkKCkuCi0JICovCi0JdW5zaWduZWQgaW50IHN1bTsKLQlpbnQgdG91Y2hlZCA9IDA7Ci0JaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQlpbnQgcmMgPSAwOwotCi0JLyogY2hlY2sgZm9yIG90aGVyIHVzZXJzIGZpcnN0ICovCi0JaWYgKG5vdGlmeV9kaWUoRElFX05NSSwgIm5taSIsIHJlZ3MsIHJlYXNvbiwgMiwgU0lHSU5UKQotCQkJPT0gTk9USUZZX1NUT1ApIHsKLQkJcmMgPSAxOwotCQl0b3VjaGVkID0gMTsKLQl9Ci0KLQlpZiAoY3B1X2lzc2V0KGNwdSwgYmFja3RyYWNlX21hc2spKSB7Ci0JCXN0YXRpYyBERUZJTkVfU1BJTkxPQ0sobG9jayk7CS8qIFNlcmlhbGlzZSB0aGUgcHJpbnRrcyAqLwotCi0JCXNwaW5fbG9jaygmbG9jayk7Ci0JCXByaW50aygiTk1JIGJhY2t0cmFjZSBmb3IgY3B1ICVkXG4iLCBjcHUpOwotCQlkdW1wX3N0YWNrKCk7Ci0JCXNwaW5fdW5sb2NrKCZsb2NrKTsKLQkJY3B1X2NsZWFyKGNwdSwgYmFja3RyYWNlX21hc2spOwotCX0KLQotCS8qCi0JICogVGFrZSB0aGUgbG9jYWwgYXBpYyB0aW1lciBhbmQgUElUL0hQRVQgaW50byBhY2NvdW50LiBXZSBkb24ndAotCSAqIGtub3cgd2hpY2ggb25lIGlzIGFjdGl2ZSwgd2hlbiB3ZSBoYXZlIGhpZ2hyZXMvZHludGljayBvbgotCSAqLwotCXN1bSA9IHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuYXBpY190aW1lcl9pcnFzICsKLQkJcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnEwX2lycXM7Ci0KLQkvKiBpZiB0aGUgbm9uZSBvZiB0aGUgdGltZXJzIGlzbid0IGZpcmluZywgdGhpcyBjcHUgaXNuJ3QgZG9pbmcgbXVjaCAqLwotCWlmICghdG91Y2hlZCAmJiBsYXN0X2lycV9zdW1zW2NwdV0gPT0gc3VtKSB7Ci0JCS8qCi0JCSAqIEF5aWVlLCBsb29rcyBsaWtlIHRoaXMgQ1BVIGlzIHN0dWNrIC4uLgotCQkgKiB3YWl0IGEgZmV3IElSUXMgKDUgc2Vjb25kcykgYmVmb3JlIGRvaW5nIHRoZSBvb3BzIC4uLgotCQkgKi8KLQkJYWxlcnRfY291bnRlcltjcHVdKys7Ci0JCWlmIChhbGVydF9jb3VudGVyW2NwdV0gPT0gNSpubWlfaHopCi0JCQkvKgotCQkJICogZGllX25taSB3aWxsIHJldHVybiBPTkxZIGlmIE5PVElGWV9TVE9QIGhhcHBlbnMuLgotCQkJICovCi0JCQlkaWVfbm1pKHJlZ3MsICJCVUc6IE5NSSBXYXRjaGRvZyBkZXRlY3RlZCBMT0NLVVAiKTsKLQl9IGVsc2UgewotCQlsYXN0X2lycV9zdW1zW2NwdV0gPSBzdW07Ci0JCWFsZXJ0X2NvdW50ZXJbY3B1XSA9IDA7Ci0JfQotCS8qIHNlZSBpZiB0aGUgbm1pIHdhdGNoZG9nIHdlbnQgb2ZmICovCi0JaWYgKCFfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpKQotCQlyZXR1cm4gcmM7Ci0Jc3dpdGNoIChubWlfd2F0Y2hkb2cpIHsKLQljYXNlIE5NSV9MT0NBTF9BUElDOgotCQlyYyB8PSBsYXBpY193ZF9ldmVudChubWlfaHopOwotCQlicmVhazsKLQljYXNlIE5NSV9JT19BUElDOgotCQkvKiBkb24ndCBrbm93IGhvdyB0byBhY2N1cmF0ZWx5IGNoZWNrIGZvciB0aGlzLgotCQkgKiBqdXN0IGFzc3VtZSBpdCB3YXMgYSB3YXRjaGRvZyB0aW1lciBpbnRlcnJ1cHQKLQkJICogVGhpcyBtYXRjaGVzIHRoZSBvbGQgYmVoYXZpb3VyLgotCQkgKi8KLQkJcmMgPSAxOwotCQlicmVhazsKLQl9Ci0JcmV0dXJuIHJjOwotfQotCi0jaWZkZWYgQ09ORklHX1NZU0NUTAotCi1zdGF0aWMgaW50IHVua25vd25fbm1pX3BhbmljX2NhbGxiYWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgY3B1KQotewotCXVuc2lnbmVkIGNoYXIgcmVhc29uID0gZ2V0X25taV9yZWFzb24oKTsKLQljaGFyIGJ1Zls2NF07Ci0KLQlzcHJpbnRmKGJ1ZiwgIk5NSSByZWNlaXZlZCBmb3IgdW5rbm93biByZWFzb24gJTAyeFxuIiwgcmVhc29uKTsKLQlkaWVfbm1pKHJlZ3MsIGJ1Zik7Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBwcm9jIGhhbmRsZXIgZm9yIC9wcm9jL3N5cy9rZXJuZWwvbm1pCi0gKi8KLWludCBwcm9jX25taV9lbmFibGVkKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCQkJdm9pZCBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90ICpsZW5ndGgsIGxvZmZfdCAqcHBvcykKLXsKLQlpbnQgb2xkX3N0YXRlOwotCi0Jbm1pX3dhdGNoZG9nX2VuYWJsZWQgPSAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpID4gMCkgPyAxIDogMDsKLQlvbGRfc3RhdGUgPSBubWlfd2F0Y2hkb2dfZW5hYmxlZDsKLQlwcm9jX2RvaW50dmVjKHRhYmxlLCB3cml0ZSwgZmlsZSwgYnVmZmVyLCBsZW5ndGgsIHBwb3MpOwotCWlmICghIW9sZF9zdGF0ZSA9PSAhIW5taV93YXRjaGRvZ19lbmFibGVkKQotCQlyZXR1cm4gMDsKLQotCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPCAwIHx8IG5taV93YXRjaGRvZyA9PSBOTUlfRElTQUJMRUQpIHsKLQkJcHJpbnRrKCBLRVJOX1dBUk5JTkcgIk5NSSB3YXRjaGRvZyBpcyBwZXJtYW5lbnRseSBkaXNhYmxlZFxuIik7Ci0JCXJldHVybiAtRUlPOwotCX0KLQotCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0RFRkFVTFQpIHsKLQkJaWYgKGxhcGljX3dhdGNoZG9nX29rKCkpCi0JCQlubWlfd2F0Y2hkb2cgPSBOTUlfTE9DQUxfQVBJQzsKLQkJZWxzZQotCQkJbm1pX3dhdGNoZG9nID0gTk1JX0lPX0FQSUM7Ci0JfQotCi0JaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykgewotCQlpZiAobm1pX3dhdGNoZG9nX2VuYWJsZWQpCi0JCQllbmFibGVfbGFwaWNfbm1pX3dhdGNoZG9nKCk7Ci0JCWVsc2UKLQkJCWRpc2FibGVfbGFwaWNfbm1pX3dhdGNoZG9nKCk7Ci0JfSBlbHNlIHsKLQkJcHJpbnRrKCBLRVJOX1dBUk5JTkcKLQkJCSJOTUkgd2F0Y2hkb2cgZG9lc24ndCBrbm93IHdoYXQgaGFyZHdhcmUgdG8gdG91Y2hcbiIpOwotCQlyZXR1cm4gLUVJTzsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLSNlbmRpZgotCi1pbnQgZG9fbm1pX2NhbGxiYWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgY3B1KQotewotI2lmZGVmIENPTkZJR19TWVNDVEwKLQlpZiAodW5rbm93bl9ubWlfcGFuaWMpCi0JCXJldHVybiB1bmtub3duX25taV9wYW5pY19jYWxsYmFjayhyZWdzLCBjcHUpOwotI2VuZGlmCi0JcmV0dXJuIDA7Ci19Ci0KLXZvaWQgX190cmlnZ2VyX2FsbF9jcHVfYmFja3RyYWNlKHZvaWQpCi17Ci0JaW50IGk7Ci0KLQliYWNrdHJhY2VfbWFzayA9IGNwdV9vbmxpbmVfbWFwOwotCS8qIFdhaXQgZm9yIHVwIHRvIDEwIHNlY29uZHMgZm9yIGFsbCBDUFVzIHRvIGRvIHRoZSBiYWNrdHJhY2UgKi8KLQlmb3IgKGkgPSAwOyBpIDwgMTAgKiAxMDAwOyBpKyspIHsKLQkJaWYgKGNwdXNfZW1wdHkoYmFja3RyYWNlX21hc2spKQotCQkJYnJlYWs7Ci0JCW1kZWxheSgxKTsKLQl9Ci19Ci0KLUVYUE9SVF9TWU1CT0wobm1pX2FjdGl2ZSk7Ci1FWFBPUlRfU1lNQk9MKG5taV93YXRjaGRvZyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbnVtYXFfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9udW1hcV8zMi5jCmluZGV4IGU2NTI4MWIuLjViMjBhNWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9udW1hcV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9udW1hcV8zMi5jCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSA8YXNtL251bWFxLmg+CiAjaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgogCiAjZGVmaW5lCU1CX1RPX1BBR0VTKGFkZHIpICgoYWRkcikgPDwgKDIwIC0gUEFHRV9TSElGVCkpCiAKQEAgLTU4LDYgKzYwLDggQEAKIAkJCW5vZGVfZW5kX3Bmbltub2RlXSA9IE1CX1RPX1BBR0VTKAogCQkJCWVxLT5oaV9zaHJkX21lbV9zdGFydCArIGVxLT5oaV9zaHJkX21lbV9zaXplKTsKIAorCQkJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucyhub2RlLCBub2RlX3N0YXJ0X3Bmbltub2RlXSwKKwkJCQkJCQlub2RlX2VuZF9wZm5bbm9kZV0pOwogCQkJbWVtb3J5X3ByZXNlbnQobm9kZSwKIAkJCQlub2RlX3N0YXJ0X3Bmbltub2RlXSwgbm9kZV9lbmRfcGZuW25vZGVdKTsKIAkJCW5vZGVfcmVtYXBfc2l6ZVtub2RlXSA9IG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMobm9kZSwKQEAgLTY3LDIzICs3MSwzNSBAQAogCX0KIH0KIAotLyoKLSAqIFVubGlrZSBTdW1taXQsIHdlIGRvbid0IHJlYWxseSBjYXJlIHRvIGxldCB0aGUgTlVNQS1RCi0gKiBmYWxsIGJhY2sgdG8gZmxhdCBtb2RlLiAgRG9uJ3QgY29tcGlsZSBmb3IgTlVNQS1RCi0gKiB1bmxlc3MgeW91IHJlYWxseSBuZWVkIGl0IQotICovCitzdGF0aWMgX19pbml0IHZvaWQgZWFybHlfY2hlY2tfbnVtYXEodm9pZCkKK3sKKwkvKgorCSAqIEZpbmQgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgorCSAqLworCWVhcmx5X2ZpbmRfc21wX2NvbmZpZygpOworCS8qCisJICogZ2V0IGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbjoKKwkgKi8KKwlpZiAoc21wX2ZvdW5kX2NvbmZpZykKKwkJZWFybHlfZ2V0X3NtcF9jb25maWcoKTsKK30KKwogaW50IF9faW5pdCBnZXRfbWVtY2ZnX251bWFxKHZvaWQpCiB7CisJZWFybHlfY2hlY2tfbnVtYXEoKTsKKwlpZiAoIWZvdW5kX251bWFxKQorCQlyZXR1cm4gMDsKIAlzbXBfZHVtcF9xY3QoKTsKIAlyZXR1cm4gMTsKIH0KIAotc3RhdGljIGludCBfX2luaXQgbnVtYXFfdHNjX2Rpc2FibGUodm9pZCkKK3ZvaWQgX19pbml0IG51bWFxX3RzY19kaXNhYmxlKHZvaWQpCiB7CisJaWYgKCFmb3VuZF9udW1hcSkKKwkJcmV0dXJuIC0xOworCiAJaWYgKG51bV9vbmxpbmVfbm9kZXMoKSA+IDEpIHsKIAkJcHJpbnRrKEtFUk5fREVCVUcgIk5VTUFROiBkaXNhYmxpbmcgVFNDXG4iKTsKIAkJc2V0dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9UU0MpOwogCX0KLQlyZXR1cm4gMDsKIH0KLWFyY2hfaW5pdGNhbGwobnVtYXFfdHNjX2Rpc2FibGUpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuYwppbmRleCA3NGYwYzVlLi5lMGY1NzFkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+CiAjaW5jbHVkZSA8YXNtL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vZGVsYXkuaD4KICNpbmNsdWRlIDxhc20vZml4bWFwLmg+CkBAIC0xMzksNyArMTQwLDkgQEAKIAkJLyogSWYgdGhlIG9wZXJhdGlvbiBpcyBhIG5vcCwgdGhlbiBub3AgdGhlIGNhbGxzaXRlICovCiAJCXJldCA9IHBhcmF2aXJ0X3BhdGNoX25vcCgpOwogCWVsc2UgaWYgKHR5cGUgPT0gUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcmV0KSB8fAotCQkgdHlwZSA9PSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzY2FsbF9yZXQpKQorCQkgdHlwZSA9PSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzZXhpdCkgfHwKKwkJIHR5cGUgPT0gUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy51c2VyZ3Nfc3lzcmV0MzIpIHx8CisJCSB0eXBlID09IFBBUkFWSVJUX1BBVENIKHB2X2NwdV9vcHMudXNlcmdzX3N5c3JldDY0KSkKIAkJLyogSWYgb3BlcmF0aW9uIHJlcXVpcmVzIGEgam1wLCB0aGVuIGptcCAqLwogCQlyZXQgPSBwYXJhdmlydF9wYXRjaF9qbXAoaW5zbmJ1Ziwgb3BmdW5jLCBhZGRyLCBsZW4pOwogCWVsc2UKQEAgLTE5MCw3ICsxOTMsOSBAQAogCiAvKiBUaGVzZSBhcmUgaW4gZW50cnkuUyAqLwogZXh0ZXJuIHZvaWQgbmF0aXZlX2lyZXQodm9pZCk7Ci1leHRlcm4gdm9pZCBuYXRpdmVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCh2b2lkKTsKK2V4dGVybiB2b2lkIG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2V4aXQodm9pZCk7CitleHRlcm4gdm9pZCBuYXRpdmVfdXNlcmdzX3N5c3JldDMyKHZvaWQpOworZXh0ZXJuIHZvaWQgbmF0aXZlX3VzZXJnc19zeXNyZXQ2NCh2b2lkKTsKIAogc3RhdGljIGludCBfX2luaXQgcHJpbnRfYmFubmVyKHZvaWQpCiB7CkBAIC0yODAsNyArMjg1LDcgQEAKIAkuZ2V0X3dhbGxjbG9jayA9IG5hdGl2ZV9nZXRfd2FsbGNsb2NrLAogCS5zZXRfd2FsbGNsb2NrID0gbmF0aXZlX3NldF93YWxsY2xvY2ssCiAJLnNjaGVkX2Nsb2NrID0gbmF0aXZlX3NjaGVkX2Nsb2NrLAotCS5nZXRfY3B1X2toeiA9IG5hdGl2ZV9jYWxjdWxhdGVfY3B1X2toeiwKKwkuZ2V0X3RzY19raHogPSBuYXRpdmVfY2FsaWJyYXRlX3RzYywKIH07CiAKIHN0cnVjdCBwdl9pcnFfb3BzIHB2X2lycV9vcHMgPSB7CkBAIC0yOTEsNiArMjk2LDkgQEAKIAkuaXJxX2VuYWJsZSA9IG5hdGl2ZV9pcnFfZW5hYmxlLAogCS5zYWZlX2hhbHQgPSBuYXRpdmVfc2FmZV9oYWx0LAogCS5oYWx0ID0gbmF0aXZlX2hhbHQsCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCS5hZGp1c3RfZXhjZXB0aW9uX2ZyYW1lID0gcGFyYXZpcnRfbm9wLAorI2VuZGlmCiB9OwogCiBzdHJ1Y3QgcHZfY3B1X29wcyBwdl9jcHVfb3BzID0gewpAQCAtMzIxLDEyICszMjksMjMgQEAKIAkuc3RvcmVfaWR0ID0gbmF0aXZlX3N0b3JlX2lkdCwKIAkuc3RvcmVfdHIgPSBuYXRpdmVfc3RvcmVfdHIsCiAJLmxvYWRfdGxzID0gbmF0aXZlX2xvYWRfdGxzLAorI2lmZGVmIENPTkZJR19YODZfNjQKKwkubG9hZF9nc19pbmRleCA9IG5hdGl2ZV9sb2FkX2dzX2luZGV4LAorI2VuZGlmCiAJLndyaXRlX2xkdF9lbnRyeSA9IG5hdGl2ZV93cml0ZV9sZHRfZW50cnksCiAJLndyaXRlX2dkdF9lbnRyeSA9IG5hdGl2ZV93cml0ZV9nZHRfZW50cnksCiAJLndyaXRlX2lkdF9lbnRyeSA9IG5hdGl2ZV93cml0ZV9pZHRfZW50cnksCiAJLmxvYWRfc3AwID0gbmF0aXZlX2xvYWRfc3AwLAogCi0JLmlycV9lbmFibGVfc3lzY2FsbF9yZXQgPSBuYXRpdmVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCwKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfMzIpIHx8IGRlZmluZWQoQ09ORklHX0lBMzJfRU1VTEFUSU9OKQorCS5pcnFfZW5hYmxlX3N5c2V4aXQgPSBuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0LAorI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl82NAorI2lmZGVmIENPTkZJR19JQTMyX0VNVUxBVElPTgorCS51c2VyZ3Nfc3lzcmV0MzIgPSBuYXRpdmVfdXNlcmdzX3N5c3JldDMyLAorI2VuZGlmCisJLnVzZXJnc19zeXNyZXQ2NCA9IG5hdGl2ZV91c2VyZ3Nfc3lzcmV0NjQsCisjZW5kaWYKIAkuaXJldCA9IG5hdGl2ZV9pcmV0LAogCS5zd2FwZ3MgPSBuYXRpdmVfc3dhcGdzLAogCkBAIC0zNjYsNiArMzg1LDkgQEAKIAkuZmx1c2hfdGxiX3NpbmdsZSA9IG5hdGl2ZV9mbHVzaF90bGJfc2luZ2xlLAogCS5mbHVzaF90bGJfb3RoZXJzID0gbmF0aXZlX2ZsdXNoX3RsYl9vdGhlcnMsCiAKKwkucGdkX2FsbG9jID0gX19wYXJhdmlydF9wZ2RfYWxsb2MsCisJLnBnZF9mcmVlID0gcGFyYXZpcnRfbm9wLAorCiAJLmFsbG9jX3B0ZSA9IHBhcmF2aXJ0X25vcCwKIAkuYWxsb2NfcG1kID0gcGFyYXZpcnRfbm9wLAogCS5hbGxvY19wbWRfY2xvbmUgPSBwYXJhdmlydF9ub3AsCkBAIC0zODAsNiArNDAyLDkgQEAKIAkucHRlX3VwZGF0ZSA9IHBhcmF2aXJ0X25vcCwKIAkucHRlX3VwZGF0ZV9kZWZlciA9IHBhcmF2aXJ0X25vcCwKIAorCS5wdGVwX21vZGlmeV9wcm90X3N0YXJ0ID0gX19wdGVwX21vZGlmeV9wcm90X3N0YXJ0LAorCS5wdGVwX21vZGlmeV9wcm90X2NvbW1pdCA9IF9fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQsCisKICNpZmRlZiBDT05GSUdfSElHSFBURQogCS5rbWFwX2F0b21pY19wdGUgPSBrbWFwX2F0b21pYywKICNlbmRpZgpAQCAtNDAzLDYgKzQyOCw3IEBACiAjZW5kaWYgLyogUEFHRVRBQkxFX0xFVkVMUyA+PSAzICovCiAKIAkucHRlX3ZhbCA9IG5hdGl2ZV9wdGVfdmFsLAorCS5wdGVfZmxhZ3MgPSBuYXRpdmVfcHRlX3ZhbCwKIAkucGdkX3ZhbCA9IG5hdGl2ZV9wZ2RfdmFsLAogCiAJLm1ha2VfcHRlID0gbmF0aXZlX21ha2VfcHRlLApAQCAtNDE2LDYgKzQ0Miw4IEBACiAJCS5lbnRlciA9IHBhcmF2aXJ0X25vcCwKIAkJLmxlYXZlID0gcGFyYXZpcnRfbm9wLAogCX0sCisKKwkuc2V0X2ZpeG1hcCA9IG5hdGl2ZV9zZXRfZml4bWFwLAogfTsKIAogRVhQT1JUX1NZTUJPTF9HUEwocHZfdGltZV9vcHMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfMzIuYwppbmRleCA4MmZjNWZjLi41ODI2MjIxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfMzIuYwpAQCAtNSw3ICs1LDcgQEAKIERFRl9OQVRJVkUocHZfaXJxX29wcywgcmVzdG9yZV9mbCwgInB1c2ggJWVheDsgcG9wZiIpOwogREVGX05BVElWRShwdl9pcnFfb3BzLCBzYXZlX2ZsLCAicHVzaGY7IHBvcCAlZWF4Iik7CiBERUZfTkFUSVZFKHB2X2NwdV9vcHMsIGlyZXQsICJpcmV0Iik7Ci1ERUZfTkFUSVZFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzY2FsbF9yZXQsICJzdGk7IHN5c2V4aXQiKTsKK0RFRl9OQVRJVkUocHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNleGl0LCAic3RpOyBzeXNleGl0Iik7CiBERUZfTkFUSVZFKHB2X21tdV9vcHMsIHJlYWRfY3IyLCAibW92ICVjcjIsICVlYXgiKTsKIERFRl9OQVRJVkUocHZfbW11X29wcywgd3JpdGVfY3IzLCAibW92ICVlYXgsICVjcjMiKTsKIERFRl9OQVRJVkUocHZfbW11X29wcywgcmVhZF9jcjMsICJtb3YgJWNyMywgJWVheCIpOwpAQCAtMjksNyArMjksNyBAQAogCQlQQVRDSF9TSVRFKHB2X2lycV9vcHMsIHJlc3RvcmVfZmwpOwogCQlQQVRDSF9TSVRFKHB2X2lycV9vcHMsIHNhdmVfZmwpOwogCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIGlyZXQpOwotCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzY2FsbF9yZXQpOworCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzZXhpdCk7CiAJCVBBVENIX1NJVEUocHZfbW11X29wcywgcmVhZF9jcjIpOwogCQlQQVRDSF9TSVRFKHB2X21tdV9vcHMsIHJlYWRfY3IzKTsKIAkJUEFUQ0hfU0lURShwdl9tbXVfb3BzLCB3cml0ZV9jcjMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfNjQuYwppbmRleCA3ZDkwNGUxLi4wNjFkMDFkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfNjQuYwpAQCAtMTQsOCArMTQsOSBAQAogREVGX05BVElWRShwdl9jcHVfb3BzLCBjbHRzLCAiY2x0cyIpOwogREVGX05BVElWRShwdl9jcHVfb3BzLCB3YmludmQsICJ3YmludmQiKTsKIAotLyogdGhlIHRocmVlIGNvbW1hbmRzIGdpdmUgdXMgbW9yZSBjb250cm9sIHRvIGhvdyB0byByZXR1cm4gZnJvbSBhIHN5c2NhbGwgKi8KLURFRl9OQVRJVkUocHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNjYWxsX3JldCwgIm1vdnEgJWdzOiIgX19zdHJpbmdpZnkocGRhX29sZHJzcCkgIiwgJXJzcDsgc3dhcGdzOyBzeXNyZXRxOyIpOworREVGX05BVElWRShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2V4aXQsICJzd2FwZ3M7IHN0aTsgc3lzZXhpdCIpOworREVGX05BVElWRShwdl9jcHVfb3BzLCB1c2VyZ3Nfc3lzcmV0NjQsICJzd2FwZ3M7IHN5c3JldHEiKTsKK0RFRl9OQVRJVkUocHZfY3B1X29wcywgdXNlcmdzX3N5c3JldDMyLCAic3dhcGdzOyBzeXNyZXRsIik7CiBERUZfTkFUSVZFKHB2X2NwdV9vcHMsIHN3YXBncywgInN3YXBncyIpOwogCiB1bnNpZ25lZCBuYXRpdmVfcGF0Y2godTggdHlwZSwgdTE2IGNsb2JiZXJzLCB2b2lkICppYnVmLApAQCAtMzUsNyArMzYsOSBAQAogCQlQQVRDSF9TSVRFKHB2X2lycV9vcHMsIGlycV9lbmFibGUpOwogCQlQQVRDSF9TSVRFKHB2X2lycV9vcHMsIGlycV9kaXNhYmxlKTsKIAkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBpcmV0KTsKLQkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2NhbGxfcmV0KTsKKwkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2V4aXQpOworCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIHVzZXJnc19zeXNyZXQzMik7CisJCVBBVENIX1NJVEUocHZfY3B1X29wcywgdXNlcmdzX3N5c3JldDY0KTsKIAkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBzd2FwZ3MpOwogCQlQQVRDSF9TSVRFKHB2X21tdV9vcHMsIHJlYWRfY3IyKTsKIAkJUEFUQ0hfU0lURShwdl9tbXVfb3BzLCByZWFkX2NyMyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWNhbGdhcnlfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktY2FsZ2FyeV82NC5jCmluZGV4IGUyOGVjNDkuLjY5NTliNWMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wY2ktY2FsZ2FyeV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktY2FsZ2FyeV82NC5jCkBAIC0xMzk0LDcgKzEzOTQsNyBAQAogCQlyZXR1cm47CiAJfQogCi0Jc3BlY2lmaWVkX3RhYmxlX3NpemUgPSBkZXRlcm1pbmVfdGNlX3RhYmxlX3NpemUoZW5kX3BmbiAqIFBBR0VfU0laRSk7CisJc3BlY2lmaWVkX3RhYmxlX3NpemUgPSBkZXRlcm1pbmVfdGNlX3RhYmxlX3NpemUobWF4X3BmbiAqIFBBR0VfU0laRSk7CiAKIAlmb3IgKGJ1cyA9IDA7IGJ1cyA8IE1BWF9QSEJfQlVTX05VTTsgYnVzKyspIHsKIAkJc3RydWN0IGNhbGdhcnlfYnVzX2luZm8gKmluZm8gPSAmYnVzX2luZm9bYnVzXTsKQEAgLTE0NTksNyArMTQ1OSw3IEBACiAJaWYgKHJldCkgewogCQlwcmludGsoS0VSTl9FUlIgIlBDSS1ETUE6IENhbGdhcnkgaW5pdCBmYWlsZWQgJWQsICIKIAkJICAgICAgICJmYWxsaW5nIGJhY2sgdG8gbm9faW9tbXVcbiIsIHJldCk7Ci0JCWlmIChlbmRfcGZuID4gTUFYX0RNQTMyX1BGTikKKwkJaWYgKG1heF9wZm4gPiBNQVhfRE1BMzJfUEZOKQogCQkJcHJpbnRrKEtFUk5fRVJSICJXQVJOSU5HIG1vcmUgdGhhbiA0R0Igb2YgbWVtb3J5LCAiCiAJCQkJCSIzMmJpdCBQQ0kgbWF5IG1hbGZ1bmN0aW9uLlxuIik7CiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWRtYS5jIGIvYXJjaC94ODYva2VybmVsL3BjaS1kbWEuYwppbmRleCBkYzAwYTEzLi44NDY3ZWMyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWRtYS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktZG1hLmMKQEAgLTcsNiArNyw3IEBACiAjaW5jbHVkZSA8YXNtL2RtYS5oPgogI2luY2x1ZGUgPGFzbS9nYXJ0Lmg+CiAjaW5jbHVkZSA8YXNtL2NhbGdhcnkuaD4KKyNpbmNsdWRlIDxhc20vYW1kX2lvbW11Lmg+CiAKIGludCBmb3JiaWRfZGFjIF9fcmVhZF9tb3N0bHk7CiBFWFBPUlRfU1lNQk9MKGZvcmJpZF9kYWMpOwpAQCAtNzQsMTMgKzc1LDE3IEBACiB2b2lkIF9faW5pdCBkbWEzMl9yZXNlcnZlX2Jvb3RtZW0odm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIHNpemUsIGFsaWduOwotCWlmIChlbmRfcGZuIDw9IE1BWF9ETUEzMl9QRk4pCisJaWYgKG1heF9wZm4gPD0gTUFYX0RNQTMyX1BGTikKIAkJcmV0dXJuOwogCisJLyoKKwkgKiBjaGVjayBhcGVydHVyZV82NC5jIGFsbG9jYXRlX2FwZXJ0dXJlKCkgZm9yIHJlYXNvbiBhYm91dAorCSAqIHVzaW5nIDUxMk0gYXMgZ29hbAorCSAqLwogCWFsaWduID0gNjRVTEw8PDIwOwogCXNpemUgPSByb3VuZF91cChkbWEzMl9ib290bWVtX3NpemUsIGFsaWduKTsKIAlkbWEzMl9ib290bWVtX3B0ciA9IF9fYWxsb2NfYm9vdG1lbV9ub3BhbmljKHNpemUsIGFsaWduLAotCQkJCSBfX3BhKE1BWF9ETUFfQUREUkVTUykpOworCQkJCSA1MTJVTEw8PDIwKTsKIAlpZiAoZG1hMzJfYm9vdG1lbV9wdHIpCiAJCWRtYTMyX2Jvb3RtZW1fc2l6ZSA9IHNpemU7CiAJZWxzZQpAQCAtODgsMTcgKzkzLDE0IEBACiB9CiBzdGF0aWMgdm9pZCBfX2luaXQgZG1hMzJfZnJlZV9ib290bWVtKHZvaWQpCiB7Ci0JaW50IG5vZGU7CiAKLQlpZiAoZW5kX3BmbiA8PSBNQVhfRE1BMzJfUEZOKQorCWlmIChtYXhfcGZuIDw9IE1BWF9ETUEzMl9QRk4pCiAJCXJldHVybjsKIAogCWlmICghZG1hMzJfYm9vdG1lbV9wdHIpCiAJCXJldHVybjsKIAotCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpCi0JCWZyZWVfYm9vdG1lbV9ub2RlKE5PREVfREFUQShub2RlKSwgX19wYShkbWEzMl9ib290bWVtX3B0ciksCi0JCQkJICBkbWEzMl9ib290bWVtX3NpemUpOworCWZyZWVfYm9vdG1lbShfX3BhKGRtYTMyX2Jvb3RtZW1fcHRyKSwgZG1hMzJfYm9vdG1lbV9zaXplKTsKIAogCWRtYTMyX2Jvb3RtZW1fcHRyID0gTlVMTDsKIAlkbWEzMl9ib290bWVtX3NpemUgPSAwOwpAQCAtMTIyLDYgKzEyNCw4IEBACiAKIAlkZXRlY3RfaW50ZWxfaW9tbXUoKTsKIAorCWFtZF9pb21tdV9kZXRlY3QoKTsKKwogI2lmZGVmIENPTkZJR19TV0lPVExCCiAJcGNpX3N3aW90bGJfaW5pdCgpOwogI2VuZGlmCkBAIC0zNTcsNyArMzYxLDcgQEAKIEVYUE9SVF9TWU1CT0woZG1hX3N1cHBvcnRlZCk7CiAKIC8qIEFsbG9jYXRlIERNQSBtZW1vcnkgb24gbm9kZSBuZWFyIGRldmljZSAqLwotbm9pbmxpbmUgc3RydWN0IHBhZ2UgKgorc3RhdGljIG5vaW5saW5lIHN0cnVjdCBwYWdlICoKIGRtYV9hbGxvY19wYWdlcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIGdmcF90IGdmcCwgdW5zaWduZWQgb3JkZXIpCiB7CiAJaW50IG5vZGU7CkBAIC01MDIsNiArNTA2LDggQEAKIAogCWludGVsX2lvbW11X2luaXQoKTsKIAorCWFtZF9pb21tdV9pbml0KCk7CisKICNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQogCWdhcnRfaW9tbXVfaW5pdCgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWdhcnRfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktZ2FydF82NC5jCmluZGV4IGFhOGVjOTIuLmMzZmU3ODQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wY2ktZ2FydF82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktZ2FydF82NC5jCkBAIC0xMDQsNyArMTA0LDYgQEAKIAkJCQkJICBzaXplLCBiYXNlX2luZGV4LCBib3VuZGFyeV9zaXplLCAwKTsKIAl9CiAJaWYgKG9mZnNldCAhPSAtMSkgewotCQlzZXRfYml0X3N0cmluZyhpb21tdV9nYXJ0X2JpdG1hcCwgb2Zmc2V0LCBzaXplKTsKIAkJbmV4dF9iaXQgPSBvZmZzZXQrc2l6ZTsKIAkJaWYgKG5leHRfYml0ID49IGlvbW11X3BhZ2VzKSB7CiAJCQluZXh0X2JpdCA9IDA7CkBAIC01MzQsOCArNTMzLDggQEAKIAl1bnNpZ25lZCBhcGVyX3NpemUgPSAwLCBhcGVyX2Jhc2VfMzIsIGFwZXJfb3JkZXI7CiAJdTY0IGFwZXJfYmFzZTsKIAotCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIDB4OTQsICZhcGVyX2Jhc2VfMzIpOwotCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIDB4OTAsICZhcGVyX29yZGVyKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCAmYXBlcl9iYXNlXzMyKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsICZhcGVyX29yZGVyKTsKIAlhcGVyX29yZGVyID0gKGFwZXJfb3JkZXIgPj4gMSkgJiA3OwogCiAJYXBlcl9iYXNlID0gYXBlcl9iYXNlXzMyICYgMHg3ZmZmOwpAQCAtNTQ5LDE0ICs1NDgsNjMgQEAKIAlyZXR1cm4gYXBlcl9iYXNlOwogfQogCitzdGF0aWMgdm9pZCBlbmFibGVfZ2FydF90cmFuc2xhdGlvbnModm9pZCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fazhfbm9ydGhicmlkZ2VzOyBpKyspIHsKKwkJc3RydWN0IHBjaV9kZXYgKmRldiA9IGs4X25vcnRoYnJpZGdlc1tpXTsKKworCQllbmFibGVfZ2FydF90cmFuc2xhdGlvbihkZXYsIF9fcGEoYWdwX2dhdHRfdGFibGUpKTsKKwl9Cit9CisKKy8qCisgKiBJZiBmaXhfdXBfbm9ydGhfYnJpZGdlcyBpcyBzZXQsIHRoZSBub3J0aCBicmlkZ2VzIGhhdmUgdG8gYmUgZml4ZWQgdXAgb24KKyAqIHJlc3VtZSBpbiB0aGUgc2FtZSB3YXkgYXMgdGhleSBhcmUgaGFuZGxlZCBpbiBnYXJ0X2lvbW11X2hvbGVfaW5pdCgpLgorICovCitzdGF0aWMgYm9vbCBmaXhfdXBfbm9ydGhfYnJpZGdlczsKK3N0YXRpYyB1MzIgYXBlcnR1cmVfb3JkZXI7CitzdGF0aWMgdTMyIGFwZXJ0dXJlX2FsbG9jOworCit2b2lkIHNldF91cF9nYXJ0X3Jlc3VtZSh1MzIgYXBlcl9vcmRlciwgdTMyIGFwZXJfYWxsb2MpCit7CisJZml4X3VwX25vcnRoX2JyaWRnZXMgPSB0cnVlOworCWFwZXJ0dXJlX29yZGVyID0gYXBlcl9vcmRlcjsKKwlhcGVydHVyZV9hbGxvYyA9IGFwZXJfYWxsb2M7Cit9CisKIHN0YXRpYyBpbnQgZ2FydF9yZXN1bWUoc3RydWN0IHN5c19kZXZpY2UgKmRldikKIHsKKwlwcmludGsoS0VSTl9JTkZPICJQQ0ktRE1BOiBSZXN1bWluZyBHQVJUIElPTU1VXG4iKTsKKworCWlmIChmaXhfdXBfbm9ydGhfYnJpZGdlcykgeworCQlpbnQgaTsKKworCQlwcmludGsoS0VSTl9JTkZPICJQQ0ktRE1BOiBSZXN0b3JpbmcgR0FSVCBhcGVydHVyZSBzZXR0aW5nc1xuIik7CisKKwkJZm9yIChpID0gMDsgaSA8IG51bV9rOF9ub3J0aGJyaWRnZXM7IGkrKykgeworCQkJc3RydWN0IHBjaV9kZXYgKmRldiA9IGs4X25vcnRoYnJpZGdlc1tpXTsKKworCQkJLyoKKwkJCSAqIERvbid0IGVuYWJsZSB0cmFuc2xhdGlvbnMganVzdCB5ZXQuICBUaGF0IGlzIHRoZSBuZXh0CisJCQkgKiBzdGVwLiAgUmVzdG9yZSB0aGUgcHJlLXN1c3BlbmQgYXBlcnR1cmUgc2V0dGluZ3MuCisJCQkgKi8KKwkJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsCisJCQkJCQlhcGVydHVyZV9vcmRlciA8PCAxKTsKKwkJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLAorCQkJCQkJYXBlcnR1cmVfYWxsb2MgPj4gMjUpOworCQl9CisJfQorCisJZW5hYmxlX2dhcnRfdHJhbnNsYXRpb25zKCk7CisKIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBnYXJ0X3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQogewotCXJldHVybiAtRUlOVkFMOworCXJldHVybiAwOwogfQogCiBzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBnYXJ0X3N5c2Rldl9jbGFzcyA9IHsKQEAgLTU4Miw2ICs2MzAsNyBAQAogCXN0cnVjdCBwY2lfZGV2ICpkZXY7CiAJdm9pZCAqZ2F0dDsKIAlpbnQgaSwgZXJyb3I7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIGVuZF9wZm47CiAKIAlwcmludGsoS0VSTl9JTkZPICJQQ0ktRE1BOiBEaXNhYmxpbmcgQUdQLlxuIik7CiAJYXBlcl9zaXplID0gYXBlcl9iYXNlID0gaW5mby0+YXBlcl9zaXplID0gMDsKQEAgLTYxNCwzMSArNjYzLDI1IEBACiAJbWVtc2V0KGdhdHQsIDAsIGdhdHRfc2l6ZSk7CiAJYWdwX2dhdHRfdGFibGUgPSBnYXR0OwogCi0JZm9yIChpID0gMDsgaSA8IG51bV9rOF9ub3J0aGJyaWRnZXM7IGkrKykgewotCQl1MzIgZ2F0dF9yZWc7Ci0JCXUzMiBjdGw7Ci0KLQkJZGV2ID0gazhfbm9ydGhicmlkZ2VzW2ldOwotCQlnYXR0X3JlZyA9IF9fcGEoZ2F0dCkgPj4gMTI7Ci0JCWdhdHRfcmVnIDw8PSA0OwotCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHg5OCwgZ2F0dF9yZWcpOwotCQlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAweDkwLCAmY3RsKTsKLQotCQljdGwgfD0gMTsKLQkJY3RsICY9IH4oKDE8PDQpIHwgKDE8PDUpKTsKLQotCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHg5MCwgY3RsKTsKLQl9CisJZW5hYmxlX2dhcnRfdHJhbnNsYXRpb25zKCk7CiAKIAllcnJvciA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmZ2FydF9zeXNkZXZfY2xhc3MpOwogCWlmICghZXJyb3IpCiAJCWVycm9yID0gc3lzZGV2X3JlZ2lzdGVyKCZkZXZpY2VfZ2FydCk7CiAJaWYgKGVycm9yKQogCQlwYW5pYygiQ291bGQgbm90IHJlZ2lzdGVyIGdhcnRfc3lzZGV2IC0tIHdvdWxkIGNvcnJ1cHQgZGF0YSBvbiBuZXh0IHN1c3BlbmQiKTsKKwogCWZsdXNoX2dhcnQoKTsKIAogCXByaW50ayhLRVJOX0lORk8gIlBDSS1ETUE6IGFwZXJ0dXJlIGJhc2UgQCAleCBzaXplICV1IEtCXG4iLAogCSAgICAgICBhcGVyX2Jhc2UsIGFwZXJfc2l6ZT4+MTApOworCisJLyogbmVlZCB0byBtYXAgdGhhdCByYW5nZSAqLworCWVuZF9wZm4gPSAoYXBlcl9iYXNlPj5QQUdFX1NISUZUKSArIChhcGVyX3NpemU+PlBBR0VfU0hJRlQpOworCWlmIChlbmRfcGZuID4gbWF4X2xvd19wZm5fbWFwcGVkKSB7CisJCXN0YXJ0X3BmbiA9IChhcGVyX2Jhc2U+PlBBR0VfU0hJRlQpOworCQlpbml0X21lbW9yeV9tYXBwaW5nKHN0YXJ0X3Bmbjw8UEFHRV9TSElGVCwgZW5kX3Bmbjw8UEFHRV9TSElGVCk7CisJfQogCXJldHVybiAwOwogCiAgbm9tbXU6CkBAIC02NzcsMTEgKzcyMCwxMSBAQAogCQl1MzIgY3RsOwogCiAJCWRldiA9IGs4X25vcnRoYnJpZGdlc1tpXTsKLQkJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg5MCwgJmN0bCk7CisJCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgJmN0bCk7CiAKLQkJY3RsICY9IH4xOworCQljdGwgJj0gfkdBUlRFTjsKIAotCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHg5MCwgY3RsKTsKKwkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgY3RsKTsKIAl9CiB9CiAKQEAgLTcxNiwxMCArNzU5LDEwIEBACiAJCXJldHVybjsKIAogCWlmIChub19pb21tdSB8fAotCSAgICAoIWZvcmNlX2lvbW11ICYmIGVuZF9wZm4gPD0gTUFYX0RNQTMyX1BGTikgfHwKKwkgICAgKCFmb3JjZV9pb21tdSAmJiBtYXhfcGZuIDw9IE1BWF9ETUEzMl9QRk4pIHx8CiAJICAgICFnYXJ0X2lvbW11X2FwZXJ0dXJlIHx8CiAJICAgIChub19hZ3AgJiYgaW5pdF9rOF9nYXR0KCZpbmZvKSA8IDApKSB7Ci0JCWlmIChlbmRfcGZuID4gTUFYX0RNQTMyX1BGTikgeworCQlpZiAobWF4X3BmbiA+IE1BWF9ETUEzMl9QRk4pIHsKIAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIk1vcmUgdGhhbiA0R0Igb2YgbWVtb3J5ICIKIAkJCSAgICAgICAJICAgICAgICAgICJidXQgR0FSVCBJT01NVSBub3QgYXZhaWxhYmxlLlxuIgogCQkJICAgICAgIEtFUk5fV0FSTklORyAiZmFsbGluZyBiYWNrIHRvIGlvbW11PXNvZnQuXG4iKTsKQEAgLTc4OCwxMCArODMxLDEwIEBACiAJd2JpbnZkKCk7CiAKIAkvKgotCSAqIFRyeSB0byB3b3JrYXJvdW5kIGEgYnVnICh0aGFua3MgdG8gQmVuSCkKKwkgKiBUcnkgdG8gd29ya2Fyb3VuZCBhIGJ1ZyAodGhhbmtzIHRvIEJlbkgpOgogCSAqIFNldCB1bm1hcHBlZCBlbnRyaWVzIHRvIGEgc2NyYXRjaCBwYWdlIGluc3RlYWQgb2YgMC4KIAkgKiBBbnkgcHJlZmV0Y2hlcyB0aGF0IGhpdCB1bm1hcHBlZCBlbnRyaWVzIHdvbid0IGdldCBhbiBidXMgYWJvcnQKLQkgKiB0aGVuLgorCSAqIHRoZW4uIChQMlAgYnJpZGdlIG1heSBiZSBwcmVmZXRjaGluZyBvbiBETUEgcmVhZHMpLgogCSAqLwogCXNjcmF0Y2ggPSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CiAJaWYgKCFzY3JhdGNoKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BjaS1zd2lvdGxiXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLXN3aW90bGJfNjQuYwppbmRleCA0OTBkYTdmLi44MjI5OWNkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLXN3aW90bGJfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLXN3aW90bGJfNjQuYwpAQCAtMzgsNyArMzgsNyBAQAogdm9pZCBfX2luaXQgcGNpX3N3aW90bGJfaW5pdCh2b2lkKQogewogCS8qIGRvbid0IGluaXRpYWxpemUgc3dpb3RsYiBpZiBpb21tdT1vZmYgKG5vX2lvbW11PTEpICovCi0JaWYgKCFpb21tdV9kZXRlY3RlZCAmJiAhbm9faW9tbXUgJiYgZW5kX3BmbiA+IE1BWF9ETUEzMl9QRk4pCisJaWYgKCFpb21tdV9kZXRlY3RlZCAmJiAhbm9faW9tbXUgJiYgbWF4X3BmbiA+IE1BWF9ETUEzMl9QRk4pCiAJICAgICAgIHN3aW90bGIgPSAxOwogCWlmIChzd2lvdGxiX2ZvcmNlKQogCQlzd2lvdGxiID0gMTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wcm9iZV9yb21zXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvYmVfcm9tc18zMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3NWE0OGMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvYmVfcm9tc18zMi5jCkBAIC0wLDAgKzEsMTY2IEBACisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbnNvbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvZWRkLmg+CisjaW5jbHVkZSA8bGludXgvZG1pLmg+CisjaW5jbHVkZSA8bGludXgvcGZuLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8YXNtL3BjaS1kaXJlY3QuaD4KKworCisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vbW16b25lLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8c2V0dXBfYXJjaC5oPgorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHN5c3RlbV9yb21fcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiU3lzdGVtIFJPTSIsCisJLnN0YXJ0CT0gMHhmMDAwMCwKKwkuZW5kCT0gMHhmZmZmZiwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZSA9IHsKKwkubmFtZQk9ICJFeHRlbnNpb24gUk9NIiwKKwkuc3RhcnQJPSAweGUwMDAwLAorCS5lbmQJPSAweGVmZmZmLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbXSA9IHsgeworCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCisJLnN0YXJ0CT0gMHhjODAwMCwKKwkuZW5kCT0gMCwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK30sIHsKKwkubmFtZSAJPSAiQWRhcHRlciBST00iLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9LCB7CisJLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfSwgeworCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCisJLnN0YXJ0CT0gMCwKKwkuZW5kCT0gMCwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK30sIHsKKwkubmFtZSAJPSAiQWRhcHRlciBST00iLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9LCB7CisJLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfSB9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHZpZGVvX3JvbV9yZXNvdXJjZSA9IHsKKwkubmFtZSAJPSAiVmlkZW8gUk9NIiwKKwkuc3RhcnQJPSAweGMwMDAwLAorCS5lbmQJPSAweGM3ZmZmLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfTsKKworI2RlZmluZSBST01TSUdOQVRVUkUgMHhhYTU1CisKK3N0YXRpYyBpbnQgX19pbml0IHJvbXNpZ25hdHVyZShjb25zdCB1bnNpZ25lZCBjaGFyICpyb20pCit7CisJY29uc3QgdW5zaWduZWQgc2hvcnQgKiBjb25zdCBwdHIgPSAoY29uc3QgdW5zaWduZWQgc2hvcnQgKilyb207CisJdW5zaWduZWQgc2hvcnQgc2lnOworCisJcmV0dXJuIHByb2JlX2tlcm5lbF9hZGRyZXNzKHB0ciwgc2lnKSA9PSAwICYmIHNpZyA9PSBST01TSUdOQVRVUkU7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHJvbWNoZWNrc3VtKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJvbSwgdW5zaWduZWQgbG9uZyBsZW5ndGgpCit7CisJdW5zaWduZWQgY2hhciBzdW0sIGM7CisKKwlmb3IgKHN1bSA9IDA7IGxlbmd0aCAmJiBwcm9iZV9rZXJuZWxfYWRkcmVzcyhyb20rKywgYykgPT0gMDsgbGVuZ3RoLS0pCisJCXN1bSArPSBjOworCXJldHVybiAhbGVuZ3RoICYmICFzdW07Cit9CisKK3ZvaWQgX19pbml0IHByb2JlX3JvbXModm9pZCkKK3sKKwljb25zdCB1bnNpZ25lZCBjaGFyICpyb207CisJdW5zaWduZWQgbG9uZyBzdGFydCwgbGVuZ3RoLCB1cHBlcjsKKwl1bnNpZ25lZCBjaGFyIGM7CisJaW50IGk7CisKKwkvKiB2aWRlbyByb20gKi8KKwl1cHBlciA9IGFkYXB0ZXJfcm9tX3Jlc291cmNlc1swXS5zdGFydDsKKwlmb3IgKHN0YXJ0ID0gdmlkZW9fcm9tX3Jlc291cmNlLnN0YXJ0OyBzdGFydCA8IHVwcGVyOyBzdGFydCArPSAyMDQ4KSB7CisJCXJvbSA9IGlzYV9idXNfdG9fdmlydChzdGFydCk7CisJCWlmICghcm9tc2lnbmF0dXJlKHJvbSkpCisJCQljb250aW51ZTsKKworCQl2aWRlb19yb21fcmVzb3VyY2Uuc3RhcnQgPSBzdGFydDsKKworCQlpZiAocHJvYmVfa2VybmVsX2FkZHJlc3Mocm9tICsgMiwgYykgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCS8qIDAgPCBsZW5ndGggPD0gMHg3ZiAqIDUxMiwgaGlzdG9yaWNhbGx5ICovCisJCWxlbmd0aCA9IGMgKiA1MTI7CisKKwkJLyogaWYgY2hlY2tzdW0gb2theSwgdHJ1c3QgbGVuZ3RoIGJ5dGUgKi8KKwkJaWYgKGxlbmd0aCAmJiByb21jaGVja3N1bShyb20sIGxlbmd0aCkpCisJCQl2aWRlb19yb21fcmVzb3VyY2UuZW5kID0gc3RhcnQgKyBsZW5ndGggLSAxOworCisJCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmdmlkZW9fcm9tX3Jlc291cmNlKTsKKwkJYnJlYWs7CisJfQorCisJc3RhcnQgPSAodmlkZW9fcm9tX3Jlc291cmNlLmVuZCArIDEgKyAyMDQ3KSAmIH4yMDQ3VUw7CisJaWYgKHN0YXJ0IDwgdXBwZXIpCisJCXN0YXJ0ID0gdXBwZXI7CisKKwkvKiBzeXN0ZW0gcm9tICovCisJcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZzeXN0ZW1fcm9tX3Jlc291cmNlKTsKKwl1cHBlciA9IHN5c3RlbV9yb21fcmVzb3VyY2Uuc3RhcnQ7CisKKwkvKiBjaGVjayBmb3IgZXh0ZW5zaW9uIHJvbSAoaWdub3JlIGxlbmd0aCBieXRlISkgKi8KKwlyb20gPSBpc2FfYnVzX3RvX3ZpcnQoZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZS5zdGFydCk7CisJaWYgKHJvbXNpZ25hdHVyZShyb20pKSB7CisJCWxlbmd0aCA9IGV4dGVuc2lvbl9yb21fcmVzb3VyY2UuZW5kIC0gZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZS5zdGFydCArIDE7CisJCWlmIChyb21jaGVja3N1bShyb20sIGxlbmd0aCkpIHsKKwkJCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZSk7CisJCQl1cHBlciA9IGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQ7CisJCX0KKwl9CisKKwkvKiBjaGVjayBmb3IgYWRhcHRlciByb21zIG9uIDJrIGJvdW5kYXJpZXMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhZGFwdGVyX3JvbV9yZXNvdXJjZXMpICYmIHN0YXJ0IDwgdXBwZXI7IHN0YXJ0ICs9IDIwNDgpIHsKKwkJcm9tID0gaXNhX2J1c190b192aXJ0KHN0YXJ0KTsKKwkJaWYgKCFyb21zaWduYXR1cmUocm9tKSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChwcm9iZV9rZXJuZWxfYWRkcmVzcyhyb20gKyAyLCBjKSAhPSAwKQorCQkJY29udGludWU7CisKKwkJLyogMCA8IGxlbmd0aCA8PSAweDdmICogNTEyLCBoaXN0b3JpY2FsbHkgKi8KKwkJbGVuZ3RoID0gYyAqIDUxMjsKKworCQkvKiBidXQgYWNjZXB0IGFueSBsZW5ndGggdGhhdCBmaXRzIGlmIGNoZWNrc3VtIG9rYXkgKi8KKwkJaWYgKCFsZW5ndGggfHwgc3RhcnQgKyBsZW5ndGggPiB1cHBlciB8fCAhcm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKQorCQkJY29udGludWU7CisKKwkJYWRhcHRlcl9yb21fcmVzb3VyY2VzW2ldLnN0YXJ0ID0gc3RhcnQ7CisJCWFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXS5lbmQgPSBzdGFydCArIGxlbmd0aCAtIDE7CisJCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmYWRhcHRlcl9yb21fcmVzb3VyY2VzW2ldKTsKKworCQlzdGFydCA9IGFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpKytdLmVuZCAmIH4yMDQ3VUw7CisJfQorfQorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzcy5jIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYwppbmRleCBiYTM3MGRjLi43ZGNlZWE5NCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzcy5jCkBAIC02LDYgKzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcG0uaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja2NoaXBzLmg+CiAKIHN0cnVjdCBrbWVtX2NhY2hlICp0YXNrX3hzdGF0ZV9jYWNoZXA7CiAKQEAgLTQ1LDYgKzQ2LDc2IEBACiAJCQkJICBTTEFCX1BBTklDLCBOVUxMKTsKIH0KIAorLyoKKyAqIElkbGUgcmVsYXRlZCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucworICovCit1bnNpZ25lZCBsb25nIGJvb3Rfb3B0aW9uX2lkbGVfb3ZlcnJpZGUgPSAwOworRVhQT1JUX1NZTUJPTChib290X29wdGlvbl9pZGxlX292ZXJyaWRlKTsKKworLyoKKyAqIFBvd2VybWFuYWdlbWVudCBpZGxlIGZ1bmN0aW9uLCBpZiBhbnkuLgorICovCit2b2lkICgqcG1faWRsZSkodm9pZCk7CitFWFBPUlRfU1lNQk9MKHBtX2lkbGUpOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorLyoKKyAqIFRoaXMgaGFsdCBtYWdpYyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhbmNpZW50IGZsb3BweSBETUEKKyAqIHdyZWNrYWdlLiBJdCBzaG91bGQgYmUgc2FmZSB0byByZW1vdmUuCisgKi8KK3N0YXRpYyBpbnQgaGx0X2NvdW50ZXI7Cit2b2lkIGRpc2FibGVfaGx0KHZvaWQpCit7CisJaGx0X2NvdW50ZXIrKzsKK30KK0VYUE9SVF9TWU1CT0woZGlzYWJsZV9obHQpOworCit2b2lkIGVuYWJsZV9obHQodm9pZCkKK3sKKwlobHRfY291bnRlci0tOworfQorRVhQT1JUX1NZTUJPTChlbmFibGVfaGx0KTsKKworc3RhdGljIGlubGluZSBpbnQgaGx0X3VzZV9oYWx0KHZvaWQpCit7CisJcmV0dXJuICghaGx0X2NvdW50ZXIgJiYgYm9vdF9jcHVfZGF0YS5obHRfd29ya3Nfb2spOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGhsdF91c2VfaGFsdCh2b2lkKQoreworCXJldHVybiAxOworfQorI2VuZGlmCisKKy8qCisgKiBXZSB1c2UgdGhpcyBpZiB3ZSBkb24ndCBoYXZlIGFueSBiZXR0ZXIKKyAqIGlkbGUgcm91dGluZS4uCisgKi8KK3ZvaWQgZGVmYXVsdF9pZGxlKHZvaWQpCit7CisJaWYgKGhsdF91c2VfaGFsdCgpKSB7CisJCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOworCQkvKgorCQkgKiBUU19QT0xMSU5HLWNsZWFyZWQgc3RhdGUgbXVzdCBiZSB2aXNpYmxlIGJlZm9yZSB3ZQorCQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKKwkJICovCisJCXNtcF9tYigpOworCisJCWlmICghbmVlZF9yZXNjaGVkKCkpCisJCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KKwkJZWxzZQorCQkJbG9jYWxfaXJxX2VuYWJsZSgpOworCQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOworCX0gZWxzZSB7CisJCWxvY2FsX2lycV9lbmFibGUoKTsKKwkJLyogbG9vcCBpcyBkb25lIGJ5IHRoZSBjYWxsZXIgKi8KKwkJY3B1X3JlbGF4KCk7CisJfQorfQorI2lmZGVmIENPTkZJR19BUE1fTU9EVUxFCitFWFBPUlRfU1lNQk9MKGRlZmF1bHRfaWRsZSk7CisjZW5kaWYKKwogc3RhdGljIHZvaWQgZG9fbm90aGluZyh2b2lkICp1bnVzZWQpCiB7CiB9CkBAIC02MSw3ICsxMzIsNyBAQAogewogCXNtcF9tYigpOwogCS8qIGtpY2sgYWxsIHRoZSBDUFVzIHNvIHRoYXQgdGhleSBleGl0IG91dCBvZiBwbV9pZGxlICovCi0Jc21wX2NhbGxfZnVuY3Rpb24oZG9fbm90aGluZywgTlVMTCwgMCwgMSk7CisJc21wX2NhbGxfZnVuY3Rpb24oZG9fbm90aGluZywgTlVMTCwgMSk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChjcHVfaWRsZV93YWl0KTsKIApAQCAtMTIyLDQ0ICsxOTMsMTI5IEBACiAgKgogICogaWRsZT1td2FpdCBvdmVycmlkZXMgdGhpcyBkZWNpc2lvbiBhbmQgZm9yY2VzIHRoZSB1c2FnZSBvZiBtd2FpdC4KICAqLworCisjZGVmaW5lIE1XQUlUX0lORk8JCQkweDA1CisjZGVmaW5lIE1XQUlUX0VDWF9FWFRFTkRFRF9JTkZPCQkweDAxCisjZGVmaW5lIE1XQUlUX0VEWF9DMQkJCTB4ZjAKKwogc3RhdGljIGludCBfX2NwdWluaXQgbXdhaXRfdXNhYmxlKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsKKwl1MzIgZWF4LCBlYngsIGVjeCwgZWR4OworCiAJaWYgKGZvcmNlX213YWl0KQogCQlyZXR1cm4gMTsKIAotCWlmIChjLT54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSB7Ci0JCXN3aXRjaChjLT54ODYpIHsKLQkJY2FzZSAweDEwOgotCQljYXNlIDB4MTE6Ci0JCQlyZXR1cm4gMDsKKwlpZiAoYy0+Y3B1aWRfbGV2ZWwgPCBNV0FJVF9JTkZPKQorCQlyZXR1cm4gMDsKKworCWNwdWlkKE1XQUlUX0lORk8sICZlYXgsICZlYngsICZlY3gsICZlZHgpOworCS8qIENoZWNrLCB3aGV0aGVyIEVEWCBoYXMgZXh0ZW5kZWQgaW5mbyBhYm91dCBNV0FJVCAqLworCWlmICghKGVjeCAmIE1XQUlUX0VDWF9FWFRFTkRFRF9JTkZPKSkKKwkJcmV0dXJuIDE7CisKKwkvKgorCSAqIGVkeCBlbnVtZXJhdGlvcyBNT05JVE9SL01XQUlUIGV4dGVuc2lvbnMuIENoZWNrLCB3aGV0aGVyCisJICogQzEgIHN1cHBvcnRzIE1XQUlUCisJICovCisJcmV0dXJuIChlZHggJiBNV0FJVF9FRFhfQzEpOworfQorCisvKgorICogQ2hlY2sgZm9yIEFNRCBDUFVzLCB3aGljaCBoYXZlIHBvdGVudGlhbGx5IEMxRSBzdXBwb3J0CisgKi8KK3N0YXRpYyBpbnQgX19jcHVpbml0IGNoZWNrX2MxZV9pZGxlKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpZiAoYy0+eDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0FNRCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoYy0+eDg2IDwgMHgwRikKKwkJcmV0dXJuIDA7CisKKwkvKiBGYW1pbHkgMHgwZiBtb2RlbHMgPCByZXYgRiBkbyBub3QgaGF2ZSBDMUUgKi8KKwlpZiAoYy0+eDg2ID09IDB4MGYgJiYgYy0+eDg2X21vZGVsIDwgMHg0MCkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIEMxRSBhd2FyZSBpZGxlIHJvdXRpbmUuIFdlIGNoZWNrIGZvciBDMUUgYWN0aXZlIGluIHRoZSBpbnRlcnJ1cHQKKyAqIHBlbmRpbmcgbWVzc2FnZSBNU1IuIElmIHdlIGRldGVjdCBDMUUsIHRoZW4gd2UgaGFuZGxlIGl0IHRoZSBzYW1lCisgKiB3YXkgYXMgQzMgcG93ZXIgc3RhdGVzIChsb2NhbCBhcGljIHRpbWVyIGFuZCBUU0Mgc3RvcCkKKyAqLworc3RhdGljIHZvaWQgYzFlX2lkbGUodm9pZCkKK3sKKwlzdGF0aWMgY3B1bWFza190IGMxZV9tYXNrID0gQ1BVX01BU0tfTk9ORTsKKwlzdGF0aWMgaW50IGMxZV9kZXRlY3RlZDsKKworCWlmIChuZWVkX3Jlc2NoZWQoKSkKKwkJcmV0dXJuOworCisJaWYgKCFjMWVfZGV0ZWN0ZWQpIHsKKwkJdTMyIGxvLCBoaTsKKworCQlyZG1zcihNU1JfSzhfSU5UX1BFTkRJTkdfTVNHLCBsbywgaGkpOworCQlpZiAobG8gJiBLOF9JTlRQX0MxRV9BQ1RJVkVfTUFTSykgeworCQkJYzFlX2RldGVjdGVkID0gMTsKKwkJCW1hcmtfdHNjX3Vuc3RhYmxlKCJUU0MgaGFsdCBpbiBDMUUiKTsKKwkJCXByaW50ayhLRVJOX0lORk8gIlN5c3RlbSBoYXMgQzFFIGVuYWJsZWRcbiIpOwogCQl9CiAJfQotCXJldHVybiAxOworCisJaWYgKGMxZV9kZXRlY3RlZCkgeworCQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJCWlmICghY3B1X2lzc2V0KGNwdSwgYzFlX21hc2spKSB7CisJCQljcHVfc2V0KGNwdSwgYzFlX21hc2spOworCQkJLyoKKwkJCSAqIEZvcmNlIGJyb2FkY2FzdCBzbyBBQ1BJIGNhbiBub3QgaW50ZXJmZXJlLiBOZWVkcworCQkJICogdG8gcnVuIHdpdGggaW50ZXJydXB0cyBlbmFibGVkIGFzIGl0IHVzZXMKKwkJCSAqIHNtcF9mdW5jdGlvbl9jYWxsLgorCQkJICovCisJCQlsb2NhbF9pcnFfZW5hYmxlKCk7CisJCQljbG9ja2V2ZW50c19ub3RpZnkoQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfRk9SQ0UsCisJCQkJCSAgICZjcHUpOworCQkJcHJpbnRrKEtFUk5fSU5GTyAiU3dpdGNoIHRvIGJyb2FkY2FzdCBtb2RlIG9uIENQVSVkXG4iLAorCQkJICAgICAgIGNwdSk7CisJCQlsb2NhbF9pcnFfZGlzYWJsZSgpOworCQl9CisJCWNsb2NrZXZlbnRzX25vdGlmeShDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9FTlRFUiwgJmNwdSk7CisKKwkJZGVmYXVsdF9pZGxlKCk7CisKKwkJLyoKKwkJICogVGhlIHN3aXRjaCBiYWNrIGZyb20gYnJvYWRjYXN0IG1vZGUgbmVlZHMgdG8gYmUKKwkJICogY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4KKwkJICovCisJCSBsb2NhbF9pcnFfZGlzYWJsZSgpOworCQkgY2xvY2tldmVudHNfbm90aWZ5KENMT0NLX0VWVF9OT1RJRllfQlJPQURDQVNUX0VYSVQsICZjcHUpOworCQkgbG9jYWxfaXJxX2VuYWJsZSgpOworCX0gZWxzZQorCQlkZWZhdWx0X2lkbGUoKTsKIH0KIAogdm9pZCBfX2NwdWluaXQgc2VsZWN0X2lkbGVfcm91dGluZShjb25zdCBzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7Ci0Jc3RhdGljIGludCBzZWxlY3RlZDsKLQotCWlmIChzZWxlY3RlZCkKLQkJcmV0dXJuOwogI2lmZGVmIENPTkZJR19YODZfU01QCiAJaWYgKHBtX2lkbGUgPT0gcG9sbF9pZGxlICYmIHNtcF9udW1fc2libGluZ3MgPiAxKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IHBvbGxpbmcgaWRsZSBhbmQgSFQgZW5hYmxlZCwiCiAJCQkiIHBlcmZvcm1hbmNlIG1heSBkZWdyYWRlLlxuIik7CiAJfQogI2VuZGlmCisJaWYgKHBtX2lkbGUpCisJCXJldHVybjsKKwogCWlmIChjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX01XQUlUKSAmJiBtd2FpdF91c2FibGUoYykpIHsKIAkJLyoKLQkJICogU2tpcCwgaWYgc2V0dXAgaGFzIG92ZXJyaWRkZW4gaWRsZS4KIAkJICogT25lIENQVSBzdXBwb3J0cyBtd2FpdCA9PiBBbGwgQ1BVcyBzdXBwb3J0cyBtd2FpdAogCQkgKi8KLQkJaWYgKCFwbV9pZGxlKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJ1c2luZyBtd2FpdCBpbiBpZGxlIHRocmVhZHMuXG4iKTsKLQkJCXBtX2lkbGUgPSBtd2FpdF9pZGxlOwotCQl9Ci0JfQotCXNlbGVjdGVkID0gMTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAidXNpbmcgbXdhaXQgaW4gaWRsZSB0aHJlYWRzLlxuIik7CisJCXBtX2lkbGUgPSBtd2FpdF9pZGxlOworCX0gZWxzZSBpZiAoY2hlY2tfYzFlX2lkbGUoYykpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAidXNpbmcgQzFFIGF3YXJlIGlkbGUgcm91dGluZVxuIik7CisJCXBtX2lkbGUgPSBjMWVfaWRsZTsKKwl9IGVsc2UKKwkJcG1faWRsZSA9IGRlZmF1bHRfaWRsZTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgaWRsZV9zZXR1cChjaGFyICpzdHIpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYwppbmRleCBlMmRiOWFjLi4wYzM5MjdhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzMyLmMKQEAgLTU4LDExICs1OCw2IEBACiAKIGFzbWxpbmthZ2Ugdm9pZCByZXRfZnJvbV9mb3JrKHZvaWQpIF9fYXNtX18oInJldF9mcm9tX2ZvcmsiKTsKIAotc3RhdGljIGludCBobHRfY291bnRlcjsKLQotdW5zaWduZWQgbG9uZyBib290X29wdGlvbl9pZGxlX292ZXJyaWRlID0gMDsKLUVYUE9SVF9TWU1CT0woYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSk7Ci0KIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBjdXJyZW50X3Rhc2spID0gJmluaXRfdGFzazsKIEVYUE9SVF9QRVJfQ1BVX1NZTUJPTChjdXJyZW50X3Rhc2spOwogCkBAIC03Nyw1NyArNzIsMjQgQEAKIAlyZXR1cm4gKCh1bnNpZ25lZCBsb25nICopdHNrLT50aHJlYWQuc3ApWzNdOwogfQogCi0vKgotICogUG93ZXJtYW5hZ2VtZW50IGlkbGUgZnVuY3Rpb24sIGlmIGFueS4uCi0gKi8KLXZvaWQgKCpwbV9pZGxlKSh2b2lkKTsKLUVYUE9SVF9TWU1CT0wocG1faWRsZSk7Ci0KLXZvaWQgZGlzYWJsZV9obHQodm9pZCkKLXsKLQlobHRfY291bnRlcisrOwotfQotCi1FWFBPUlRfU1lNQk9MKGRpc2FibGVfaGx0KTsKLQotdm9pZCBlbmFibGVfaGx0KHZvaWQpCi17Ci0JaGx0X2NvdW50ZXItLTsKLX0KLQotRVhQT1JUX1NZTUJPTChlbmFibGVfaGx0KTsKLQotLyoKLSAqIFdlIHVzZSB0aGlzIGlmIHdlIGRvbid0IGhhdmUgYW55IGJldHRlcgotICogaWRsZSByb3V0aW5lLi4KLSAqLwotdm9pZCBkZWZhdWx0X2lkbGUodm9pZCkKLXsKLQlpZiAoIWhsdF9jb3VudGVyICYmIGJvb3RfY3B1X2RhdGEuaGx0X3dvcmtzX29rKSB7Ci0JCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOwotCQkvKgotCQkgKiBUU19QT0xMSU5HLWNsZWFyZWQgc3RhdGUgbXVzdCBiZSB2aXNpYmxlIGJlZm9yZSB3ZQotCQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKLQkJICovCi0JCXNtcF9tYigpOwotCi0JCWlmICghbmVlZF9yZXNjaGVkKCkpCi0JCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KLQkJZWxzZQotCQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOwotCX0gZWxzZSB7Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQkJLyogbG9vcCBpcyBkb25lIGJ5IHRoZSBjYWxsZXIgKi8KLQkJY3B1X3JlbGF4KCk7Ci0JfQotfQotI2lmZGVmIENPTkZJR19BUE1fTU9EVUxFCi1FWFBPUlRfU1lNQk9MKGRlZmF1bHRfaWRsZSk7Ci0jZW5kaWYKLQogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogI2luY2x1ZGUgPGFzbS9ubWkuaD4KKworc3RhdGljIHZvaWQgY3B1X2V4aXRfY2xlYXIodm9pZCkKK3sKKwlpbnQgY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKworCWlkbGVfdGFza19leGl0KCk7CisKKwljcHVfdW5pbml0KCk7CisJaXJxX2N0eF9leGl0KGNwdSk7CisKKwljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbG91dF9tYXApOworCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsaW5fbWFwKTsKKworCW51bWFfcmVtb3ZlX2NwdShjcHUpOworfQorCiAvKiBXZSBkb24ndCBhY3R1YWxseSB0YWtlIENQVSBkb3duLCBqdXN0IHNwaW4gd2l0aG91dCBpbnRlcnJ1cHRzLiAqLwogc3RhdGljIGlubGluZSB2b2lkIHBsYXlfZGVhZCh2b2lkKQogewpAQCAtMTY4LDI0ICsxMzAsMjIgQEAKIAl3aGlsZSAoMSkgewogCQl0aWNrX25vaHpfc3RvcF9zY2hlZF90aWNrKCk7CiAJCXdoaWxlICghbmVlZF9yZXNjaGVkKCkpIHsKLQkJCXZvaWQgKCppZGxlKSh2b2lkKTsKIAogCQkJY2hlY2tfcGd0X2NhY2hlKCk7CiAJCQlybWIoKTsKLQkJCWlkbGUgPSBwbV9pZGxlOwogCiAJCQlpZiAocmN1X3BlbmRpbmcoY3B1KSkKIAkJCQlyY3VfY2hlY2tfY2FsbGJhY2tzKGNwdSwgMCk7CiAKLQkJCWlmICghaWRsZSkKLQkJCQlpZGxlID0gZGVmYXVsdF9pZGxlOwotCiAJCQlpZiAoY3B1X2lzX29mZmxpbmUoY3B1KSkKIAkJCQlwbGF5X2RlYWQoKTsKIAogCQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIAkJCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlkbGVfdGltZXN0YW1wID0gamlmZmllczsKLQkJCWlkbGUoKTsKKwkJCS8qIERvbid0IHRyYWNlIGlycXMgb2ZmIGZvciBpZGxlICovCisJCQlzdG9wX2NyaXRpY2FsX3RpbWluZ3MoKTsKKwkJCXBtX2lkbGUoKTsKKwkJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZ3MoKTsKIAkJfQogCQl0aWNrX25vaHpfcmVzdGFydF9zY2hlZF90aWNrKCk7CiAJCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc182NC5jCmluZGV4IGM2ZWI1YzkuLmE4ZTUzNjIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfNjQuYwpAQCAtNTYsMTUgKzU2LDYgQEAKIAogdW5zaWduZWQgbG9uZyBrZXJuZWxfdGhyZWFkX2ZsYWdzID0gQ0xPTkVfVk0gfCBDTE9ORV9VTlRSQUNFRDsKIAotdW5zaWduZWQgbG9uZyBib290X29wdGlvbl9pZGxlX292ZXJyaWRlID0gMDsKLUVYUE9SVF9TWU1CT0woYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSk7Ci0KLS8qCi0gKiBQb3dlcm1hbmFnZW1lbnQgaWRsZSBmdW5jdGlvbiwgaWYgYW55Li4KLSAqLwotdm9pZCAoKnBtX2lkbGUpKHZvaWQpOwotRVhQT1JUX1NZTUJPTChwbV9pZGxlKTsKLQogc3RhdGljIEFUT01JQ19OT1RJRklFUl9IRUFEKGlkbGVfbm90aWZpZXIpOwogCiB2b2lkIGlkbGVfbm90aWZpZXJfcmVnaXN0ZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuKQpAQCAtOTQsMjUgKzg1LDYgQEAKIAlfX2V4aXRfaWRsZSgpOwogfQogCi0vKgotICogV2UgdXNlIHRoaXMgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgYmV0dGVyCi0gKiBpZGxlIHJvdXRpbmUuLgotICovCi12b2lkIGRlZmF1bHRfaWRsZSh2b2lkKQotewotCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOwotCS8qCi0JICogVFNfUE9MTElORy1jbGVhcmVkIHN0YXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgd2UKLQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKLQkgKi8KLQlzbXBfbWIoKTsKLQlpZiAoIW5lZWRfcmVzY2hlZCgpKQotCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KLQllbHNlCi0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOwotfQotCiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiBERUNMQVJFX1BFUl9DUFUoaW50LCBjcHVfc3RhdGUpOwogCkBAIC0xNTAsMTIgKzEyMiw5IEBACiAJd2hpbGUgKDEpIHsKIAkJdGlja19ub2h6X3N0b3Bfc2NoZWRfdGljaygpOwogCQl3aGlsZSAoIW5lZWRfcmVzY2hlZCgpKSB7Ci0JCQl2b2lkICgqaWRsZSkodm9pZCk7CiAKIAkJCXJtYigpOwotCQkJaWRsZSA9IHBtX2lkbGU7Ci0JCQlpZiAoIWlkbGUpCi0JCQkJaWRsZSA9IGRlZmF1bHRfaWRsZTsKKwogCQkJaWYgKGNwdV9pc19vZmZsaW5lKHNtcF9wcm9jZXNzb3JfaWQoKSkpCiAJCQkJcGxheV9kZWFkKCk7CiAJCQkvKgpAQCAtMTY1LDcgKzEzNCwxMCBAQAogCQkJICovCiAJCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCQkJZW50ZXJfaWRsZSgpOwotCQkJaWRsZSgpOworCQkJLyogRG9uJ3QgdHJhY2UgaXJxcyBvZmYgZm9yIGlkbGUgKi8KKwkJCXN0b3BfY3JpdGljYWxfdGltaW5ncygpOworCQkJcG1faWRsZSgpOworCQkJc3RhcnRfY3JpdGljYWxfdGltaW5ncygpOwogCQkJLyogSW4gbWFueSBjYXNlcyB0aGUgaW50ZXJydXB0IHRoYXQgZW5kZWQgaWRsZQogCQkJICAgaGFzIGFscmVhZHkgY2FsbGVkIGV4aXRfaWRsZS4gQnV0IHNvbWUgaWRsZQogCQkJICAgbG9vcHMgY2FuIGJlIHdva2VuIHVwIHdpdGhvdXQgaW50ZXJydXB0LiAqLwpAQCAtMzY2LDEwICszMzgsMTAgQEAKIAlwLT50aHJlYWQuZnMgPSBtZS0+dGhyZWFkLmZzOwogCXAtPnRocmVhZC5ncyA9IG1lLT50aHJlYWQuZ3M7CiAKLQlhc20oIm1vdiAlJWdzLCUwIiA6ICI9bSIgKHAtPnRocmVhZC5nc2luZGV4KSk7Ci0JYXNtKCJtb3YgJSVmcywlMCIgOiAiPW0iIChwLT50aHJlYWQuZnNpbmRleCkpOwotCWFzbSgibW92ICUlZXMsJTAiIDogIj1tIiAocC0+dGhyZWFkLmVzKSk7Ci0JYXNtKCJtb3YgJSVkcywlMCIgOiAiPW0iIChwLT50aHJlYWQuZHMpKTsKKwlzYXZlc2VnbWVudChncywgcC0+dGhyZWFkLmdzaW5kZXgpOworCXNhdmVzZWdtZW50KGZzLCBwLT50aHJlYWQuZnNpbmRleCk7CisJc2F2ZXNlZ21lbnQoZXMsIHAtPnRocmVhZC5lcyk7CisJc2F2ZXNlZ21lbnQoZHMsIHAtPnRocmVhZC5kcyk7CiAKIAlpZiAodW5saWtlbHkodGVzdF90c2tfdGhyZWFkX2ZsYWcobWUsIFRJRl9JT19CSVRNQVApKSkgewogCQlwLT50aHJlYWQuaW9fYml0bWFwX3B0ciA9IGttYWxsb2MoSU9fQklUTUFQX0JZVEVTLCBHRlBfS0VSTkVMKTsKQEAgLTQwOCw3ICszODAsOSBAQAogdm9pZAogc3RhcnRfdGhyZWFkKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIG5ld19pcCwgdW5zaWduZWQgbG9uZyBuZXdfc3ApCiB7Ci0JYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCAlJWZzOyBtb3ZsICUwLCAlJWVzOyBtb3ZsICUwLCAlJWRzIiA6OiAiciIoMCkpOworCWxvYWRzZWdtZW50KGZzLCAwKTsKKwlsb2Fkc2VnbWVudChlcywgMCk7CisJbG9hZHNlZ21lbnQoZHMsIDApOwogCWxvYWRfZ3NfaW5kZXgoMCk7CiAJcmVncy0+aXAJCT0gbmV3X2lwOwogCXJlZ3MtPnNwCQk9IG5ld19zcDsKQEAgLTU2Nyw2ICs1NDEsNyBAQAogCQkJCSAqbmV4dCA9ICZuZXh0X3AtPnRocmVhZDsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCXN0cnVjdCB0c3Nfc3RydWN0ICp0c3MgPSAmcGVyX2NwdShpbml0X3RzcywgY3B1KTsKKwl1bnNpZ25lZCBmc2luZGV4LCBnc2luZGV4OwogCiAJLyogd2UncmUgZ29pbmcgdG8gdXNlIHRoaXMgc29vbiwgYWZ0ZXIgYSBmZXcgZXhwZW5zaXZlIHRoaW5ncyAqLwogCWlmIChuZXh0X3AtPmZwdV9jb3VudGVyPjUpCkBAIC01ODEsMjIgKzU1NiwzOCBAQAogCSAqIFN3aXRjaCBEUyBhbmQgRVMuCiAJICogVGhpcyB3b24ndCBwaWNrIHVwIHRocmVhZCBzZWxlY3RvciBjaGFuZ2VzLCBidXQgSSBndWVzcyB0aGF0IGlzIG9rLgogCSAqLwotCWFzbSB2b2xhdGlsZSgibW92ICUlZXMsJTAiIDogIj1tIiAocHJldi0+ZXMpKTsKKwlzYXZlc2VnbWVudChlcywgcHJldi0+ZXMpOwogCWlmICh1bmxpa2VseShuZXh0LT5lcyB8IHByZXYtPmVzKSkKIAkJbG9hZHNlZ21lbnQoZXMsIG5leHQtPmVzKTsgCi0JCi0JYXNtIHZvbGF0aWxlICgibW92ICUlZHMsJTAiIDogIj1tIiAocHJldi0+ZHMpKTsKKworCXNhdmVzZWdtZW50KGRzLCBwcmV2LT5kcyk7CiAJaWYgKHVubGlrZWx5KG5leHQtPmRzIHwgcHJldi0+ZHMpKQogCQlsb2Fkc2VnbWVudChkcywgbmV4dC0+ZHMpOwogCisKKwkvKiBXZSBtdXN0IHNhdmUgJWZzIGFuZCAlZ3MgYmVmb3JlIGxvYWRfVExTKCkgYmVjYXVzZQorCSAqICVmcyBhbmQgJWdzIG1heSBiZSBjbGVhcmVkIGJ5IGxvYWRfVExTKCkuCisJICoKKwkgKiAoZS5nLiB4ZW5fbG9hZF90bHMoKSkKKwkgKi8KKwlzYXZlc2VnbWVudChmcywgZnNpbmRleCk7CisJc2F2ZXNlZ21lbnQoZ3MsIGdzaW5kZXgpOworCiAJbG9hZF9UTFMobmV4dCwgY3B1KTsKIAorCS8qCisJICogTGVhdmUgbGF6eSBtb2RlLCBmbHVzaGluZyBhbnkgaHlwZXJjYWxscyBtYWRlIGhlcmUuCisJICogVGhpcyBtdXN0IGJlIGRvbmUgYmVmb3JlIHJlc3RvcmluZyBUTFMgc2VnbWVudHMgc28KKwkgKiB0aGUgR0RUIGFuZCBMRFQgYXJlIHByb3Blcmx5IHVwZGF0ZWQsIGFuZCBtdXN0IGJlCisJICogZG9uZSBiZWZvcmUgbWF0aF9zdGF0ZV9yZXN0b3JlLCBzbyB0aGUgVFMgYml0IGlzIHVwCisJICogdG8gZGF0ZS4KKwkgKi8KKwlhcmNoX2xlYXZlX2xhenlfY3B1X21vZGUoKTsKKwogCS8qIAogCSAqIFN3aXRjaCBGUyBhbmQgR1MuCiAJICovCiAJeyAKLQkJdW5zaWduZWQgZnNpbmRleDsKLQkJYXNtIHZvbGF0aWxlKCJtb3ZsICUlZnMsJTAiIDogIj1yIiAoZnNpbmRleCkpOyAKIAkJLyogc2VnbWVudCByZWdpc3RlciAhPSAwIGFsd2F5cyByZXF1aXJlcyBhIHJlbG9hZC4gCiAJCSAgIGFsc28gcmVsb2FkIHdoZW4gaXQgaGFzIGNoYW5nZWQuIAogCQkgICB3aGVuIHByZXYgcHJvY2VzcyB1c2VkIDY0Yml0IGJhc2UgYWx3YXlzIHJlbG9hZApAQCAtNjE0LDEwICs2MDUsNyBAQAogCQlpZiAobmV4dC0+ZnMpIAogCQkJd3Jtc3JsKE1TUl9GU19CQVNFLCBuZXh0LT5mcyk7IAogCQlwcmV2LT5mc2luZGV4ID0gZnNpbmRleDsKLQl9Ci0JeyAKLQkJdW5zaWduZWQgZ3NpbmRleDsKLQkJYXNtIHZvbGF0aWxlKCJtb3ZsICUlZ3MsJTAiIDogIj1yIiAoZ3NpbmRleCkpOyAKKwogCQlpZiAodW5saWtlbHkoZ3NpbmRleCB8IG5leHQtPmdzaW5kZXggfCBwcmV2LT5ncykpIHsKIAkJCWxvYWRfZ3NfaW5kZXgobmV4dC0+Z3NpbmRleCk7CiAJCQlpZiAoZ3NpbmRleCkKQEAgLTc5OCw3ICs3ODYsNyBAQAogCQkJc2V0XzMyYml0X3Rscyh0YXNrLCBGU19UTFMsIGFkZHIpOwogCQkJaWYgKGRvaXQpIHsKIAkJCQlsb2FkX1RMUygmdGFzay0+dGhyZWFkLCBjcHUpOwotCQkJCWFzbSB2b2xhdGlsZSgibW92bCAlMCwlJWZzIiA6OiAiciIoRlNfVExTX1NFTCkpOworCQkJCWxvYWRzZWdtZW50KGZzLCBGU19UTFNfU0VMKTsKIAkJCX0KIAkJCXRhc2stPnRocmVhZC5mc2luZGV4ID0gRlNfVExTX1NFTDsKIAkJCXRhc2stPnRocmVhZC5mcyA9IDA7CkBAIC04MDgsNyArNzk2LDcgQEAKIAkJCWlmIChkb2l0KSB7CiAJCQkJLyogc2V0IHRoZSBzZWxlY3RvciB0byAwIHRvIG5vdCBjb25mdXNlCiAJCQkJICAgX19zd2l0Y2hfdG8gKi8KLQkJCQlhc20gdm9sYXRpbGUoIm1vdmwgJTAsJSVmcyIgOjogInIiICgwKSk7CisJCQkJbG9hZHNlZ21lbnQoZnMsIDApOwogCQkJCXJldCA9IGNoZWNraW5nX3dybXNybChNU1JfRlNfQkFTRSwgYWRkcik7CiAJCQl9CiAJCX0KQEAgLTgzMSw3ICs4MTksNyBAQAogCQlpZiAodGFzay0+dGhyZWFkLmdzaW5kZXggPT0gR1NfVExTX1NFTCkKIAkJCWJhc2UgPSByZWFkXzMyYml0X3Rscyh0YXNrLCBHU19UTFMpOwogCQllbHNlIGlmIChkb2l0KSB7Ci0JCQlhc20oIm1vdmwgJSVncywlMCIgOiAiPXIiIChnc2luZGV4KSk7CisJCQlzYXZlc2VnbWVudChncywgZ3NpbmRleCk7CiAJCQlpZiAoZ3NpbmRleCkKIAkJCQlyZG1zcmwoTVNSX0tFUk5FTF9HU19CQVNFLCBiYXNlKTsKIAkJCWVsc2UKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wdHJhY2UuYyBiL2FyY2gveDg2L2tlcm5lbC9wdHJhY2UuYwppbmRleCBhNzgzNWYyLi43NzA0MGI2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcHRyYWNlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3B0cmFjZS5jCkBAIC05NDMsMTMgKzk0MywxMyBAQAogCQlyZXR1cm4gY29weV9yZWdzZXRfdG9fdXNlcihjaGlsZCwgJnVzZXJfeDg2XzMyX3ZpZXcsCiAJCQkJCSAgIFJFR1NFVF9YRlAsCiAJCQkJCSAgIDAsIHNpemVvZihzdHJ1Y3QgdXNlcl9meHNyX3N0cnVjdCksCi0JCQkJCSAgIGRhdGFwKTsKKwkJCQkJICAgZGF0YXApID8gLUVJTyA6IDA7CiAKIAljYXNlIFBUUkFDRV9TRVRGUFhSRUdTOgkvKiBTZXQgdGhlIGNoaWxkIGV4dGVuZGVkIEZQVSBzdGF0ZS4gKi8KIAkJcmV0dXJuIGNvcHlfcmVnc2V0X2Zyb21fdXNlcihjaGlsZCwgJnVzZXJfeDg2XzMyX3ZpZXcsCiAJCQkJCSAgICAgUkVHU0VUX1hGUCwKIAkJCQkJICAgICAwLCBzaXplb2Yoc3RydWN0IHVzZXJfZnhzcl9zdHJ1Y3QpLAotCQkJCQkgICAgIGRhdGFwKTsKKwkJCQkJICAgICBkYXRhcCkgPyAtRUlPIDogMDsKICNlbmRpZgogCiAjaWYgZGVmaW5lZCBDT05GSUdfWDg2XzMyIHx8IGRlZmluZWQgQ09ORklHX0lBMzJfRU1VTEFUSU9OCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcXVpcmtzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcXVpcmtzLmMKaW5kZXggZDg5YTY0OC4uZDEzODU4OCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3F1aXJrcy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9xdWlya3MuYwpAQCAtNjUsNiArNjUsNyBAQAogCUlDSF9GT1JDRV9IUEVUX1JFU1VNRSwKIAlWVDgyMzdfRk9SQ0VfSFBFVF9SRVNVTUUsCiAJTlZJRElBX0ZPUkNFX0hQRVRfUkVTVU1FLAorCUFUSV9GT1JDRV9IUEVUX1JFU1VNRSwKIH0gZm9yY2VfaHBldF9yZXN1bWVfdHlwZTsKIAogc3RhdGljIHZvaWQgX19pb21lbSAqcmNiYV9iYXNlOwpAQCAtMTU4LDYgKzE1OSw4IEBACiAKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMX0VTQjJfMCwKIAkJCSBpY2hfZm9yY2VfZW5hYmxlX2hwZXQpOworREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8wLAorCQkJIGljaF9mb3JjZV9lbmFibGVfaHBldCk7CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g2XzEsCiAJCQkgaWNoX2ZvcmNlX2VuYWJsZV9ocGV0KTsKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMCwKQEAgLTE3NCw2ICsxNzcsMTIgQEAKIAogc3RhdGljIHN0cnVjdCBwY2lfZGV2ICpjYWNoZWRfZGV2OwogCitzdGF0aWMgdm9pZCBocGV0X3ByaW50X2ZvcmNlX2luZm8odm9pZCkKK3sKKwlwcmludGsoS0VSTl9JTkZPICJIUEVUIG5vdCBlbmFibGVkIGluIEJJT1MuICIKKwkgICAgICAgIllvdSBtaWdodCB0cnkgaHBldD1mb3JjZSBib290IG9wdGlvblxuIik7Cit9CisKIHN0YXRpYyB2b2lkIG9sZF9pY2hfZm9yY2VfaHBldF9yZXN1bWUodm9pZCkKIHsKIAl1MzIgdmFsOwpAQCAtMjUzLDggKzI2MiwxMiBAQAogewogCWlmIChocGV0X2ZvcmNlX3VzZXIpCiAJCW9sZF9pY2hfZm9yY2VfZW5hYmxlX2hwZXQoZGV2KTsKKwllbHNlCisJCWhwZXRfcHJpbnRfZm9yY2VfaW5mbygpOwogfQogCitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9FU0JfMSwKKwkJCSBvbGRfaWNoX2ZvcmNlX2VuYWJsZV9ocGV0X3VzZXIpOwogREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8wLAogCQkJIG9sZF9pY2hfZm9yY2VfZW5hYmxlX2hwZXRfdXNlcik7CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzEyLApAQCAtMjkwLDkgKzMwMywxNCBAQAogewogCXUzMiB1bmluaXRpYWxpemVkX3Zhcih2YWwpOwogCi0JaWYgKCFocGV0X2ZvcmNlX3VzZXIgfHwgaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKIAkJcmV0dXJuOwogCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKIAlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAweDY4LCAmdmFsKTsKIAkvKgogCSAqIEJpdCA3IGlzIEhQRVQgZW5hYmxlIGJpdC4KQEAgLTMzMCw2ICszNDgsMzYgQEAKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX1ZJQSwgUENJX0RFVklDRV9JRF9WSUFfODIzNywKIAkJCSB2dDgyMzdfZm9yY2VfZW5hYmxlX2hwZXQpOwogCitzdGF0aWMgdm9pZCBhdGlfZm9yY2VfaHBldF9yZXN1bWUodm9pZCkKK3sKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGNhY2hlZF9kZXYsIDB4MTQsIDB4ZmVkMDAwMDApOworCXByaW50ayhLRVJOX0RFQlVHICJGb3JjZSBlbmFibGVkIEhQRVQgYXQgcmVzdW1lXG4iKTsKK30KKworc3RhdGljIHZvaWQgYXRpX2ZvcmNlX2VuYWJsZV9ocGV0KHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJdTMyIHVuaW5pdGlhbGl6ZWRfdmFyKHZhbCk7CisKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwkJcmV0dXJuOworCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHgxNCwgMHhmZWQwMDAwMCk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHgxNCwgJnZhbCk7CisJZm9yY2VfaHBldF9hZGRyZXNzID0gdmFsOworCWZvcmNlX2hwZXRfcmVzdW1lX3R5cGUgPSBBVElfRk9SQ0VfSFBFVF9SRVNVTUU7CisJZGV2X3ByaW50ayhLRVJOX0RFQlVHLCAmZGV2LT5kZXYsICJGb3JjZSBlbmFibGVkIEhQRVQgYXQgMHglbHhcbiIsCisJCSAgIGZvcmNlX2hwZXRfYWRkcmVzcyk7CisJY2FjaGVkX2RldiA9IGRldjsKKwlyZXR1cm47Cit9CitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX0lYUDQwMF9TTUJVUywKKwkJCSBhdGlfZm9yY2VfZW5hYmxlX2hwZXQpOworCiAvKgogICogVW5kb2N1bWVudGVkIGNoaXBzZXQgZmVhdHVyZSB0YWtlbiBmcm9tIExpbnV4QklPUy4KICAqLwpAQCAtMzQzLDkgKzM5MSwxNCBAQAogewogCXUzMiB1bmluaXRpYWxpemVkX3Zhcih2YWwpOwogCi0JaWYgKCFocGV0X2ZvcmNlX3VzZXIgfHwgaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKIAkJcmV0dXJuOwogCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKIAlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHg0NCwgMHhmZWQwMDAwMSk7CiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg0NCwgJnZhbCk7CiAJZm9yY2VfaHBldF9hZGRyZXNzID0gdmFsICYgMHhmZmZmZmZmZTsKQEAgLTM5Nyw2ICs0NTAsOSBAQAogCWNhc2UgTlZJRElBX0ZPUkNFX0hQRVRfUkVTVU1FOgogCQludmlkaWFfZm9yY2VfaHBldF9yZXN1bWUoKTsKIAkJcmV0dXJuOworCWNhc2UgQVRJX0ZPUkNFX0hQRVRfUkVTVU1FOgorCQlhdGlfZm9yY2VfaHBldF9yZXN1bWUoKTsKKwkJcmV0dXJuOwogCWRlZmF1bHQ6CiAJCWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3QuYyBiL2FyY2gveDg2L2tlcm5lbC9yZWJvb3QuYwppbmRleCBmNmJlN2Q1Li5mOGE2MjE2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcmVib290LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3JlYm9vdC5jCkBAIC0yNyw3ICsyNyw3IEBACiB2b2lkICgqcG1fcG93ZXJfb2ZmKSh2b2lkKTsKIEVYUE9SVF9TWU1CT0wocG1fcG93ZXJfb2ZmKTsKIAotc3RhdGljIGxvbmcgbm9faWR0WzNdOworc3RhdGljIGNvbnN0IHN0cnVjdCBkZXNjX3B0ciBub19pZHQgPSB7fTsKIHN0YXRpYyBpbnQgcmVib290X21vZGU7CiBlbnVtIHJlYm9vdF90eXBlIHJlYm9vdF90eXBlID0gQk9PVF9LQkQ7CiBpbnQgcmVib290X2ZvcmNlOwpAQCAtMjAxLDE1ICsyMDEsMTUgQEAKICAgIGNvbnRyb2xsZXIgdG8gcHVsc2UgdGhlIENQVSByZXNldCBsaW5lLCB3aGljaCBpcyBtb3JlIHRob3JvdWdoLCBidXQKICAgIGRvZXNuJ3Qgd29yayB3aXRoIGF0IGxlYXN0IG9uZSB0eXBlIG9mIDQ4NiBtb3RoZXJib2FyZC4gIEl0IGlzIGVhc3kKICAgIHRvIHN0b3AgdGhpcyBjb2RlIHdvcmtpbmc7IGhlbmNlIHRoZSBjb3Bpb3VzIGNvbW1lbnRzLiAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZwogcmVhbF9tb2RlX2dkdF9lbnRyaWVzIFszXSA9CiB7CiAJMHgwMDAwMDAwMDAwMDAwMDAwVUxMLAkvKiBOdWxsIGRlc2NyaXB0b3IgKi8KLQkweDAwMDA5YTAwMDAwMGZmZmZVTEwsCS8qIDE2LWJpdCByZWFsLW1vZGUgNjRrIGNvZGUgYXQgMHgwMDAwMDAwMCAqLwotCTB4MDAwMDkyMDAwMTAwZmZmZlVMTAkvKiAxNi1iaXQgcmVhbC1tb2RlIDY0ayBkYXRhIGF0IDB4MDAwMDAxMDAgKi8KKwkweDAwMDA5YjAwMDAwMGZmZmZVTEwsCS8qIDE2LWJpdCByZWFsLW1vZGUgNjRrIGNvZGUgYXQgMHgwMDAwMDAwMCAqLworCTB4MDAwMDkzMDAwMTAwZmZmZlVMTAkvKiAxNi1iaXQgcmVhbC1tb2RlIDY0ayBkYXRhIGF0IDB4MDAwMDAxMDAgKi8KIH07CiAKLXN0YXRpYyBzdHJ1Y3QgZGVzY19wdHIKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGVzY19wdHIKIHJlYWxfbW9kZV9nZHQgPSB7IHNpemVvZiAocmVhbF9tb2RlX2dkdF9lbnRyaWVzKSAtIDEsIChsb25nKXJlYWxfbW9kZV9nZHRfZW50cmllcyB9LAogcmVhbF9tb2RlX2lkdCA9IHsgMHgzZmYsIDAgfTsKIApAQCAtMjMxLDcgKzIzMSw3IEBACiAKICAgIE1vcmUgY291bGQgYmUgZG9uZSBoZXJlIHRvIHNldCB1cCB0aGUgcmVnaXN0ZXJzIGFzIGlmIGEgQ1BVIHJlc2V0IGhhZAogICAgb2NjdXJyZWQ7IGhvcGVmdWxseSByZWFsIEJJT1NzIGRvbid0IGFzc3VtZSBtdWNoLiAqLwotc3RhdGljIHVuc2lnbmVkIGNoYXIgcmVhbF9tb2RlX3N3aXRjaCBbXSA9CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciByZWFsX21vZGVfc3dpdGNoIFtdID0KIHsKIAkweDY2LCAweDBmLCAweDIwLCAweGMwLAkJCS8qICAgIG1vdmwgICVjcjAsJWVheCAgICAgICAgKi8KIAkweDY2LCAweDgzLCAweGUwLCAweDExLAkJCS8qICAgIGFuZGwgICQweDAwMDAwMDExLCVlYXggKi8KQEAgLTI0NSw3ICsyNDUsNyBAQAogCTB4MjQsIDB4MTAsCQkJCS8qIGY6IGFuZGIgICQweDEwLGFsICAgICAgICAgKi8KIAkweDY2LCAweDBmLCAweDIyLCAweGMwCQkJLyogICAgbW92bCAgJWVheCwlY3IwICAgICAgICAqLwogfTsKLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGp1bXBfdG9fYmlvcyBbXSA9CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBqdW1wX3RvX2Jpb3MgW10gPQogewogCTB4ZWEsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYJCS8qICAgIGxqbXAgICQweGZmZmYsJDB4MDAwMCAgKi8KIH07CkBAIC0yNTUsNyArMjU1LDcgQEAKICAqIHNwZWNpZmllZCBieSB0aGUgY29kZSBhbmQgbGVuZ3RoIHBhcmFtZXRlcnMuCiAgKiBXZSBhc3N1bWUgdGhhdCBsZW5ndGggd2lsbCBhd2F5cyBiZSBsZXNzIHRoYXQgMTAwIQogICovCi12b2lkIG1hY2hpbmVfcmVhbF9yZXN0YXJ0KHVuc2lnbmVkIGNoYXIgKmNvZGUsIGludCBsZW5ndGgpCit2b2lkIG1hY2hpbmVfcmVhbF9yZXN0YXJ0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvZGUsIGludCBsZW5ndGgpCiB7CiAJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIApAQCAtMzY4LDcgKzM2OCw3IEBACiAJCQl9CiAKIAkJY2FzZSBCT09UX1RSSVBMRToKLQkJCWxvYWRfaWR0KChjb25zdCBzdHJ1Y3QgZGVzY19wdHIgKikmbm9faWR0KTsKKwkJCWxvYWRfaWR0KCZub19pZHQpOwogCQkJX19hc21fXyBfX3ZvbGF0aWxlX18oImludDMiKTsKIAogCQkJcmVib290X3R5cGUgPSBCT09UX0tCRDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3RfZml4dXBzXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcmVib290X2ZpeHVwc18zMi5jCmluZGV4IGRlYzBiNWUuLjYxYTgzNzcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3RfZml4dXBzXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3JlYm9vdF9maXh1cHNfMzIuYwpAQCAtNDksNyArNDksNyBAQAogCXZvaWQgKCpyZWJvb3RfZml4dXApKHN0cnVjdCBwY2lfZGV2ICopOwogfTsKIAotc3RhdGljIHN0cnVjdCBkZXZpY2VfZml4dXAgZml4dXBzX3RhYmxlW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGRldmljZV9maXh1cCBmaXh1cHNfdGFibGVbXSA9IHsKIHsgUENJX1ZFTkRPUl9JRF9DWVJJWCwgUENJX0RFVklDRV9JRF9DWVJJWF81NTMwX0xFR0FDWSwgY3M1NTMwYV93YXJtX3Jlc2V0IH0sCiB7IFBDSV9WRU5ET1JfSURfQU1ELCBQQ0lfREVWSUNFX0lEX0FNRF9DUzU1MzZfSVNBLCBjczU1MzZfd2FybV9yZXNldCB9LAogeyBQQ0lfVkVORE9SX0lEX05TLCBQQ0lfREVWSUNFX0lEX05TX1NDMTEwMF9CUklER0UsIGNzNTUzMGFfd2FybV9yZXNldCB9LApAQCAtNjQsNyArNjQsNyBAQAogICovCiB2b2lkIG1hY2hfcmVib290X2ZpeHVwcyh2b2lkKQogewotCXN0cnVjdCBkZXZpY2VfZml4dXAgKmN1cjsKKwljb25zdCBzdHJ1Y3QgZGV2aWNlX2ZpeHVwICpjdXI7CiAJc3RydWN0IHBjaV9kZXYgKmRldjsKIAlpbnQgaTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYwppbmRleCA2ZjgwYjg1Li4zNmM1NDBkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYwpAQCAtMSwxMzkgKzEsODg5IEBACi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCisgKgorICogIFN1cHBvcnQgb2YgQklHTUVNIGFkZGVkIGJ5IEdlcmhhcmQgV2ljaGVydCwgU2llbWVucyBBRywgSnVseSAxOTk5CisgKgorICogIE1lbW9yeSByZWdpb24gc3VwcG9ydAorICoJRGF2aWQgUGFyc29ucyA8b3JjQHBlbGwuY2hpLmlsLnVzPiwgSnVseS1BdWd1c3QgMTk5OQorICoKKyAqICBBZGRlZCBFODIwIHNhbml0aXphdGlvbiByb3V0aW5lIChyZW1vdmVzIG92ZXJsYXBwaW5nIG1lbW9yeSByZWdpb25zKTsKKyAqICBCcmlhbiBNb3lsZSA8Ym1veWxlQG12aXN0YS5jb20+LCBGZWJydWFyeSAyMDAxCisgKgorICogTW92ZWQgQ1BVIGRldGVjdGlvbiBjb2RlIHRvIGNwdS8ke2NwdX0uYworICogICAgUGF0cmljayBNb2NoZWwgPG1vY2hlbEBvc2RsLm9yZz4sIE1hcmNoIDIwMDIKKyAqCisgKiAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgorICogIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgorICoKKyAqLworCisvKgorICogVGhpcyBmaWxlIGhhbmRsZXMgdGhlIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgcGFydHMgb2YgaW5pdGlhbGl6YXRpb24KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NjcmVlbl9pbmZvLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2FwbV9iaW9zLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+CiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgorI2luY2x1ZGUgPGxpbnV4L21jYS5oPgorI2luY2x1ZGUgPGxpbnV4L3Jvb3RfZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9lZGQuaD4KKyNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+CisjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KKyNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgorI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGFzbS9wY2ktZGlyZWN0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdF9vaGNpMTM5NF9kbWEuaD4KKyNpbmNsdWRlIDxsaW51eC9rdm1fcGFyYS5oPgorCisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvdXNlci5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorCisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC9lZGQuaD4KKyNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+CisjaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9jcHVmcmVxLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKwogI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2R1bXAuaD4KKworI2luY2x1ZGUgPHZpZGVvL2VkaWQuaD4KKworI2luY2x1ZGUgPGFzbS9tdHJyLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgorI2luY2x1ZGUgPGFzbS9lZmkuaD4KKyNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KKyNpbmNsdWRlIDxhc20vZG1pLmg+CisjaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vaXN0Lmg+CisjaW5jbHVkZSA8YXNtL3ZtaS5oPgorI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KKyNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL2J1Z3MuaD4KKworI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKyNpbmNsdWRlIDxhc20vdnN5c2NhbGwuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vZG1hLmg+CisjaW5jbHVkZSA8YXNtL2dhcnQuaD4KKyNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKworI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgorCiAjaW5jbHVkZSA8YXNtL3BlcmNwdS5oPgogI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KLQotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotdW5zaWduZWQgaW50IG51bV9wcm9jZXNzb3JzOwotdW5zaWduZWQgZGlzYWJsZWRfY3B1cyBfX2NwdWluaXRkYXRhOwotLyogUHJvY2Vzc29yIHRoYXQgaXMgZG9pbmcgdGhlIGJvb3QgdXAgKi8KLXVuc2lnbmVkIGludCBib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSAtMVU7Ci1FWFBPUlRfU1lNQk9MKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7Ci0KLURFRklORV9QRVJfQ1BVKHUxNiwgeDg2X2NwdV90b19hcGljaWQpID0gQkFEX0FQSUNJRDsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX2FwaWNpZCk7Ci0KLS8qIEJpdG1hc2sgb2YgcGh5c2ljYWxseSBleGlzdGluZyBDUFVzICovCi1waHlzaWRfbWFza190IHBoeXNfY3B1X3ByZXNlbnRfbWFwOworI2lmZGVmIENPTkZJR19YODZfNjQKKyNpbmNsdWRlIDxhc20vbnVtYV82NC5oPgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKENPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQSkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1NNUCkKKyNpZm5kZWYgQVJDSF9TRVRVUAorI2RlZmluZSBBUkNIX1NFVFVQCisjZW5kaWYKKworI2lmbmRlZiBDT05GSUdfREVCVUdfQk9PVF9QQVJBTVMKK3N0cnVjdCBib290X3BhcmFtcyBfX2luaXRkYXRhIGJvb3RfcGFyYW1zOworI2Vsc2UKK3N0cnVjdCBib290X3BhcmFtcyBib290X3BhcmFtczsKKyNlbmRpZgorCiAvKgotICogQ29weSBkYXRhIHVzZWQgaW4gZWFybHkgaW5pdCByb3V0aW5lcyBmcm9tIHRoZSBpbml0aWFsIGFycmF5cyB0byB0aGUKLSAqIHBlciBjcHUgZGF0YSBhcmVhcy4gIFRoZXNlIGFycmF5cyB0aGVuIGJlY29tZSBleHBlbmRhYmxlIGFuZCB0aGUKLSAqICpfZWFybHlfcHRyJ3MgYXJlIHplcm9lZCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0YXRpYyBhcnJheXMgYXJlIGdvbmUuCisgKiBNYWNoaW5lIHNldHVwLi4KICAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3Blcl9jcHVfbWFwcyh2b2lkKQorc3RhdGljIHN0cnVjdCByZXNvdXJjZSBkYXRhX3Jlc291cmNlID0geworCS5uYW1lCT0gIktlcm5lbCBkYXRhIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGNvZGVfcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiS2VybmVsIGNvZGUiLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYnNzX3Jlc291cmNlID0geworCS5uYW1lCT0gIktlcm5lbCBic3MiLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qIFRoaXMgdmFsdWUgaXMgc2V0IHVwIGJ5IHRoZSBlYXJseSBib290IGNvZGUgdG8gcG9pbnQgdG8gdGhlIHZhbHVlCisgICBpbW1lZGlhdGVseSBhZnRlciB0aGUgYm9vdCB0aW1lIHBhZ2UgdGFibGVzLiAgSXQgY29udGFpbnMgYSAqcGh5c2ljYWwqCisgICBhZGRyZXNzLCBhbmQgbXVzdCBub3QgYmUgaW4gdGhlIC5ic3Mgc2VnbWVudCEgKi8KK3Vuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfc3RhcnQgX19pbml0ZGF0YSA9IH4wVUw7Cit1bnNpZ25lZCBsb25nIGluaXRfcGdfdGFibGVzX2VuZCBfX2luaXRkYXRhID0gfjBVTDsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2aWRlb19yYW1fcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiVmlkZW8gUkFNIGFyZWEiLAorCS5zdGFydAk9IDB4YTAwMDAsCisJLmVuZAk9IDB4YmZmZmYsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKKy8qIGNwdSBkYXRhIGFzIGRldGVjdGVkIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGluIGhlYWQuUyAqLworc3RydWN0IGNwdWluZm9feDg2IG5ld19jcHVfZGF0YSBfX2NwdWluaXRkYXRhID0gezAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMX07CisvKiBjb21tb24gY3B1IGRhdGEgZm9yIGFsbCBjcHVzICovCitzdHJ1Y3QgY3B1aW5mb194ODYgYm9vdF9jcHVfZGF0YSBfX3JlYWRfbW9zdGx5ID0gezAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMX07CitFWFBPUlRfU1lNQk9MKGJvb3RfY3B1X2RhdGEpOworc3RhdGljIHZvaWQgc2V0X21jYV9idXMoaW50IHgpCiB7Ci0JaW50IGNwdTsKLQotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKLQkJcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSA9IHg4Nl9jcHVfdG9fYXBpY2lkX2luaXRbY3B1XTsKLQkJcGVyX2NwdSh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpID0KLQkJCQkJCXg4Nl9iaW9zX2NwdV9hcGljaWRfaW5pdFtjcHVdOwotI2lmZGVmIENPTkZJR19OVU1BCi0JCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9Ci0JCQkJCQl4ODZfY3B1X3RvX25vZGVfbWFwX2luaXRbY3B1XTsKLSNlbmRpZgotCX0KLQotCS8qIGluZGljYXRlIHRoZSBlYXJseSBzdGF0aWMgYXJyYXlzIHdpbGwgc29vbiBiZSBnb25lICovCi0JeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyID0gTlVMTDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9IE5VTEw7Ci0jaWZkZWYgQ09ORklHX05VTUEKLQl4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0ciA9IE5VTEw7CisjaWZkZWYgQ09ORklHX01DQQorCU1DQV9idXMgPSB4OwogI2VuZGlmCiB9CiAKLSNpZmRlZiBDT05GSUdfSEFWRV9DUFVNQVNLX09GX0NQVV9NQVAKLWNwdW1hc2tfdCAqY3B1bWFza19vZl9jcHVfbWFwIF9fcmVhZF9tb3N0bHk7Ci1FWFBPUlRfU1lNQk9MKGNwdW1hc2tfb2ZfY3B1X21hcCk7Cit1bnNpZ25lZCBpbnQgZGVmX3RvX2JpZ3NtcDsKIAotLyogcmVxdWlyZXMgbnJfY3B1X2lkcyB0byBiZSBpbml0aWFsaXplZCAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdW1hc2tfb2ZfY3B1KHZvaWQpCisvKiBmb3IgTUNBLCBidXQgYW55b25lIGVsc2UgY2FuIHVzZSBpdCBpZiB0aGV5IHdhbnQgKi8KK3Vuc2lnbmVkIGludCBtYWNoaW5lX2lkOwordW5zaWduZWQgaW50IG1hY2hpbmVfc3VibW9kZWxfaWQ7Cit1bnNpZ25lZCBpbnQgQklPU19yZXZpc2lvbjsKKworc3RydWN0IGFwbV9pbmZvIGFwbV9pbmZvOworRVhQT1JUX1NZTUJPTChhcG1faW5mbyk7CisKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfU1BFRURTVEVQX1NNSSkgfHwgXAorCWRlZmluZWQoQ09ORklHX1g4Nl9TUEVFRFNURVBfU01JX01PRFVMRSkKK3N0cnVjdCBpc3RfaW5mbyBpc3RfaW5mbzsKK0VYUE9SVF9TWU1CT0woaXN0X2luZm8pOworI2Vsc2UKK3N0cnVjdCBpc3RfaW5mbyBpc3RfaW5mbzsKKyNlbmRpZgorCisjZWxzZQorc3RydWN0IGNwdWluZm9feDg2IGJvb3RfY3B1X2RhdGEgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woYm9vdF9jcHVfZGF0YSk7CisjZW5kaWYKKworCisjaWYgIWRlZmluZWQoQ09ORklHX1g4Nl9QQUUpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl82NCkKK3Vuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKKyNlbHNlCit1bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXMgPSBYODZfQ1I0X1BBRTsKKyNlbmRpZgorCisvKiBCb290IGxvYWRlciBJRCBhcyBhbiBpbnRlZ2VyLCBmb3IgdGhlIGJlbmVmaXQgb2YgcHJvY19kb2ludHZlYyAqLworaW50IGJvb3Rsb2FkZXJfdHlwZTsKKworLyoKKyAqIEVhcmx5IERNSSBtZW1vcnkKKyAqLworaW50IGRtaV9hbGxvY19pbmRleDsKK2NoYXIgZG1pX2FsbG9jX2RhdGFbRE1JX01BWF9EQVRBXTsKKworLyoKKyAqIFNldHVwIG9wdGlvbnMKKyAqLworc3RydWN0IHNjcmVlbl9pbmZvIHNjcmVlbl9pbmZvOworRVhQT1JUX1NZTUJPTChzY3JlZW5faW5mbyk7CitzdHJ1Y3QgZWRpZF9pbmZvIGVkaWRfaW5mbzsKK0VYUE9SVF9TWU1CT0xfR1BMKGVkaWRfaW5mbyk7CisKK2V4dGVybiBpbnQgcm9vdF9tb3VudGZsYWdzOworCit1bnNpZ25lZCBsb25nIHNhdmVkX3ZpZGVvX21vZGU7CisKKyNkZWZpbmUgUkFNRElTS19JTUFHRV9TVEFSVF9NQVNLCTB4MDdGRgorI2RlZmluZSBSQU1ESVNLX1BST01QVF9GTEFHCQkweDgwMDAKKyNkZWZpbmUgUkFNRElTS19MT0FEX0ZMQUcJCTB4NDAwMAorCitzdGF0aWMgY2hhciBfX2luaXRkYXRhIGNvbW1hbmRfbGluZVtDT01NQU5EX0xJTkVfU0laRV07CisKKyNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCitzdHJ1Y3QgZWRkIGVkZDsKKyNpZmRlZiBDT05GSUdfRUREX01PRFVMRQorRVhQT1JUX1NZTUJPTChlZGQpOworI2VuZGlmCisvKioKKyAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgorICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCisgKgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKK3sKKyAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCisJICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOworICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKKyAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKKyAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCit7Cit9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAorCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCisjZGVmaW5lIE1BWF9NQVBfQ0hVTksJKE5SX0ZJWF9CVE1BUFMgPDwgUEFHRV9TSElGVCkKK3N0YXRpYyB2b2lkIF9faW5pdCByZWxvY2F0ZV9pbml0cmQodm9pZCkKK3sKKworCXU2NCByYW1kaXNrX2ltYWdlID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2U7CisJdTY0IHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOworCXU2NCBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKKwl1NjQgcmFtZGlza19oZXJlOworCXVuc2lnbmVkIGxvbmcgc2xvcCwgY2xlbiwgbWFwYWRkcjsKKwljaGFyICpwLCAqcTsKKworCS8qIFdlIG5lZWQgdG8gbW92ZSB0aGUgaW5pdHJkIGRvd24gaW50byBsb3dtZW0gKi8KKwlyYW1kaXNrX2hlcmUgPSBmaW5kX2U4MjBfYXJlYSgwLCBlbmRfb2ZfbG93bWVtLCByYW1kaXNrX3NpemUsCisJCQkJCSBQQUdFX1NJWkUpOworCisJaWYgKHJhbWRpc2tfaGVyZSA9PSAtMVVMTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIHBsYWNlIGZvciBuZXcgUkFNRElTSyBvZiBzaXplICVsbGRcbiIsCisJCQkgcmFtZGlza19zaXplKTsKKworCS8qIE5vdGU6IHRoaXMgaW5jbHVkZXMgYWxsIHRoZSBsb3dtZW0gY3VycmVudGx5IG9jY3VwaWVkIGJ5CisJICAgdGhlIGluaXRyZCwgd2UgcmVseSBvbiB0aGF0IGZhY3QgdG8ga2VlcCB0aGUgZGF0YSBpbnRhY3QuICovCisJcmVzZXJ2ZV9lYXJseShyYW1kaXNrX2hlcmUsIHJhbWRpc2tfaGVyZSArIHJhbWRpc2tfc2l6ZSwKKwkJCSAiTkVXIFJBTURJU0siKTsKKwlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2hlcmUgKyBQQUdFX09GRlNFVDsKKwlpbml0cmRfZW5kICAgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7CisJcHJpbnRrKEtFUk5fSU5GTyAiQWxsb2NhdGVkIG5ldyBSQU1ESVNLOiAlMDhsbHggLSAlMDhsbHhcbiIsCisJCQkgcmFtZGlza19oZXJlLCByYW1kaXNrX2hlcmUgKyByYW1kaXNrX3NpemUpOworCisJcSA9IChjaGFyICopaW5pdHJkX3N0YXJ0OworCisJLyogQ29weSBhbnkgbG93bWVtIHBvcnRpb24gb2YgdGhlIGluaXRyZCAqLworCWlmIChyYW1kaXNrX2ltYWdlIDwgZW5kX29mX2xvd21lbSkgeworCQljbGVuID0gZW5kX29mX2xvd21lbSAtIHJhbWRpc2tfaW1hZ2U7CisJCXAgPSAoY2hhciAqKV9fdmEocmFtZGlza19pbWFnZSk7CisJCW1lbWNweShxLCBwLCBjbGVuKTsKKwkJcSArPSBjbGVuOworCQlyYW1kaXNrX2ltYWdlICs9IGNsZW47CisJCXJhbWRpc2tfc2l6ZSAgLT0gY2xlbjsKKwl9CisKKwkvKiBDb3B5IHRoZSBoaWdobWVtIHBvcnRpb24gb2YgdGhlIGluaXRyZCAqLworCXdoaWxlIChyYW1kaXNrX3NpemUpIHsKKwkJc2xvcCA9IHJhbWRpc2tfaW1hZ2UgJiB+UEFHRV9NQVNLOworCQljbGVuID0gcmFtZGlza19zaXplOworCQlpZiAoY2xlbiA+IE1BWF9NQVBfQ0hVTkstc2xvcCkKKwkJCWNsZW4gPSBNQVhfTUFQX0NIVU5LLXNsb3A7CisJCW1hcGFkZHIgPSByYW1kaXNrX2ltYWdlICYgUEFHRV9NQVNLOworCQlwID0gZWFybHlfaW9yZW1hcChtYXBhZGRyLCBjbGVuK3Nsb3ApOworCQltZW1jcHkocSwgcCtzbG9wLCBjbGVuKTsKKwkJZWFybHlfaW91bm1hcChwLCBjbGVuK3Nsb3ApOworCQlxICs9IGNsZW47CisJCXJhbWRpc2tfaW1hZ2UgKz0gY2xlbjsKKwkJcmFtZGlza19zaXplICAtPSBjbGVuOworCX0KKwkvKiBoaWdoIHBhZ2VzIGlzIG5vdCBjb252ZXJ0ZWQgYnkgZWFybHlfcmVzX3RvX2Jvb3RtZW0gKi8KKwlyYW1kaXNrX2ltYWdlID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2U7CisJcmFtZGlza19zaXplICA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemU7CisJcHJpbnRrKEtFUk5fSU5GTyAiTW92ZSBSQU1ESVNLIGZyb20gJTAxNmxseCAtICUwMTZsbHggdG8iCisJCSIgJTA4bGx4IC0gJTA4bGx4XG4iLAorCQlyYW1kaXNrX2ltYWdlLCByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplIC0gMSwKKwkJcmFtZGlza19oZXJlLCByYW1kaXNrX2hlcmUgKyByYW1kaXNrX3NpemUgLSAxKTsKK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9pbml0cmQodm9pZCkKK3sKKwl1NjQgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOworCXU2NCByYW1kaXNrX3NpemUgID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfc2l6ZTsKKwl1NjQgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7CisJdTY0IGVuZF9vZl9sb3dtZW0gPSBtYXhfbG93X3BmbiA8PCBQQUdFX1NISUZUOworCisJaWYgKCFib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXIgfHwKKwkgICAgIXJhbWRpc2tfaW1hZ2UgfHwgIXJhbWRpc2tfc2l6ZSkKKwkJcmV0dXJuOwkJLyogTm8gaW5pdHJkIHByb3ZpZGVkIGJ5IGJvb3Rsb2FkZXIgKi8KKworCWluaXRyZF9zdGFydCA9IDA7CisKKwlpZiAocmFtZGlza19zaXplID49IChlbmRfb2ZfbG93bWVtPj4xKSkgeworCQlmcmVlX2Vhcmx5KHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfZW5kKTsKKwkJcHJpbnRrKEtFUk5fRVJSICJpbml0cmQgdG9vIGxhcmdlIHRvIGhhbmRsZSwgIgorCQkgICAgICAgImRpc2FibGluZyBpbml0cmRcbiIpOworCQlyZXR1cm47CisJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAiUkFNRElTSzogJTA4bGx4IC0gJTA4bGx4XG4iLCByYW1kaXNrX2ltYWdlLAorCQkJcmFtZGlza19lbmQpOworCisKKwlpZiAocmFtZGlza19lbmQgPD0gZW5kX29mX2xvd21lbSkgeworCQkvKiBBbGwgaW4gbG93bWVtLCBlYXN5IGNhc2UgKi8KKwkJLyoKKwkJICogZG9uJ3QgbmVlZCB0byByZXNlcnZlIGFnYWluLCBhbHJlYWR5IHJlc2VydmVkIGVhcmx5CisJCSAqIGluIGkzODZfc3RhcnRfa2VybmVsCisJCSAqLworCQlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2ltYWdlICsgUEFHRV9PRkZTRVQ7CisJCWluaXRyZF9lbmQgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7CisJCXJldHVybjsKKwl9CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJcmVsb2NhdGVfaW5pdHJkKCk7CisjZWxzZQorCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIGV4dGVuZHMgYmV5b25kIGVuZCBvZiBtZW1vcnkgIgorCSAgICAgICAiKDB4JTA4bGx4ID4gMHglMDhsbHgpXG5kaXNhYmxpbmcgaW5pdHJkXG4iLAorCSAgICAgICByYW1kaXNrX2VuZCwgZW5kX29mX2xvd21lbSk7CisJaW5pdHJkX3N0YXJ0ID0gMDsKKyNlbmRpZgorCWZyZWVfZWFybHkocmFtZGlza19pbWFnZSwgcmFtZGlza19lbmQpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2luaXRyZCh2b2lkKQoreworfQorI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lOSVRSRCAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vfc2V0dXBfZGF0YSh2b2lkKQoreworCXN0cnVjdCBzZXR1cF9kYXRhICpkYXRhOworCXU2NCBwYV9kYXRhOworCisJaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQorCQlyZXR1cm47CisJcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOworCXdoaWxlIChwYV9kYXRhKSB7CisJCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIFBBR0VfU0laRSk7CisJCXN3aXRjaCAoZGF0YS0+dHlwZSkgeworCQljYXNlIFNFVFVQX0U4MjBfRVhUOgorCQkJcGFyc2VfZTgyMF9leHQoZGF0YSwgcGFfZGF0YSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJCXBhX2RhdGEgPSBkYXRhLT5uZXh0OworCQllYXJseV9pb3VubWFwKGRhdGEsIFBBR0VfU0laRSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZTgyMF9yZXNlcnZlX3NldHVwX2RhdGEodm9pZCkKK3sKKwlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKKwl1NjQgcGFfZGF0YTsKKwlpbnQgZm91bmQgPSAwOworCisJaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQorCQlyZXR1cm47CisJcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOworCXdoaWxlIChwYV9kYXRhKSB7CisJCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIHNpemVvZigqZGF0YSkpOworCQllODIwX3VwZGF0ZV9yYW5nZShwYV9kYXRhLCBzaXplb2YoKmRhdGEpK2RhdGEtPmxlbiwKKwkJCSBFODIwX1JBTSwgRTgyMF9SRVNFUlZFRF9LRVJOKTsKKwkJZm91bmQgPSAxOworCQlwYV9kYXRhID0gZGF0YS0+bmV4dDsKKwkJZWFybHlfaW91bm1hcChkYXRhLCBzaXplb2YoKmRhdGEpKTsKKwl9CisJaWYgKCFmb3VuZCkKKwkJcmV0dXJuOworCisJc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmZTgyMC5ucl9tYXApOworCW1lbWNweSgmZTgyMF9zYXZlZCwgJmU4MjAsIHNpemVvZihzdHJ1Y3QgZTgyMG1hcCkpOworCXByaW50ayhLRVJOX0lORk8gImV4dGVuZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwllODIwX3ByaW50X21hcCgicmVzZXJ2ZSBzZXR1cF9kYXRhIik7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2Vhcmx5X3NldHVwX2RhdGEodm9pZCkKK3sKKwlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKKwl1NjQgcGFfZGF0YTsKKwljaGFyIGJ1ZlszMl07CisKKwlpZiAoYm9vdF9wYXJhbXMuaGRyLnZlcnNpb24gPCAweDAyMDkpCisJCXJldHVybjsKKwlwYV9kYXRhID0gYm9vdF9wYXJhbXMuaGRyLnNldHVwX2RhdGE7CisJd2hpbGUgKHBhX2RhdGEpIHsKKwkJZGF0YSA9IGVhcmx5X2lvcmVtYXAocGFfZGF0YSwgc2l6ZW9mKCpkYXRhKSk7CisJCXNwcmludGYoYnVmLCAic2V0dXAgZGF0YSAleCIsIGRhdGEtPnR5cGUpOworCQlyZXNlcnZlX2Vhcmx5KHBhX2RhdGEsIHBhX2RhdGErc2l6ZW9mKCpkYXRhKStkYXRhLT5sZW4sIGJ1Zik7CisJCXBhX2RhdGEgPSBkYXRhLT5uZXh0OworCQllYXJseV9pb3VubWFwKGRhdGEsIHNpemVvZigqZGF0YSkpOworCX0KK30KKworLyoKKyAqIC0tLS0tLS0tLSBDcmFzaGtlcm5lbCByZXNlcnZhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaWZkZWYgQ09ORklHX0tFWEVDCisKKy8qKgorICogUmVzZXJ2ZSBAc2l6ZSBieXRlcyBvZiBjcmFzaGtlcm5lbCBtZW1vcnkgYXQgYW55IHN1aXRhYmxlIG9mZnNldC4KKyAqCisgKiBAc2l6ZTogU2l6ZSBvZiB0aGUgY3Jhc2hrZXJuZWwgbWVtb3J5IHRvIHJlc2VydmUuCisgKiBSZXR1cm5zIHRoZSBiYXNlIGFkZHJlc3Mgb24gc3VjY2VzcywgYW5kIC0xVUxMIG9uIGZhaWx1cmUuCisgKi8KK3Vuc2lnbmVkIGxvbmcgbG9uZyBmaW5kX2FuZF9yZXNlcnZlX2NyYXNoa2VybmVsKHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKQoreworCWNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyBhbGlnbm1lbnQgPSAxNjw8MjA7IAkvKiAxNk0gKi8KKwl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQgPSAwTEw7CisKKwl3aGlsZSAoMSkgeworCQlpbnQgcmV0OworCisJCXN0YXJ0ID0gZmluZF9lODIwX2FyZWEoc3RhcnQsIFVMT05HX01BWCwgc2l6ZSwgYWxpZ25tZW50KTsKKwkJaWYgKHN0YXJ0ID09IC0xVUxMKQorCQkJcmV0dXJuIHN0YXJ0OworCisJCS8qIHRyeSB0byByZXNlcnZlIGl0ICovCisJCXJldCA9IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHN0YXJ0LCBzaXplLCBCT09UTUVNX0VYQ0xVU0lWRSk7CisJCWlmIChyZXQgPj0gMCkKKwkJCXJldHVybiBzdGFydDsKKworCQlzdGFydCArPSBhbGlnbm1lbnQ7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbG9uZyBnZXRfdG90YWxfbWVtKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsOworCisJdG90YWwgPSBtYXhfbG93X3BmbiAtIG1pbl9sb3dfcGZuOworI2lmZGVmIENPTkZJR19ISUdITUVNCisJdG90YWwgKz0gaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuOworI2VuZGlmCisKKwlyZXR1cm4gdG90YWwgPDwgUEFHRV9TSElGVDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxfbWVtOworCXVuc2lnbmVkIGxvbmcgbG9uZyBjcmFzaF9zaXplLCBjcmFzaF9iYXNlOworCWludCByZXQ7CisKKwl0b3RhbF9tZW0gPSBnZXRfdG90YWxfbWVtKCk7CisKKwlyZXQgPSBwYXJzZV9jcmFzaGtlcm5lbChib290X2NvbW1hbmRfbGluZSwgdG90YWxfbWVtLAorCQkJJmNyYXNoX3NpemUsICZjcmFzaF9iYXNlKTsKKwlpZiAocmV0ICE9IDAgfHwgY3Jhc2hfc2l6ZSA8PSAwKQorCQlyZXR1cm47CisKKwkvKiAwIG1lYW5zOiBmaW5kIHRoZSBhZGRyZXNzIGF1dG9tYXRpY2FsbHkgKi8KKwlpZiAoY3Jhc2hfYmFzZSA8PSAwKSB7CisJCWNyYXNoX2Jhc2UgPSBmaW5kX2FuZF9yZXNlcnZlX2NyYXNoa2VybmVsKGNyYXNoX3NpemUpOworCQlpZiAoY3Jhc2hfYmFzZSA9PSAtMVVMTCkgeworCQkJcHJfaW5mbygiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkLiAiCisJCQkJIk5vIHN1aXRhYmxlIGFyZWEgZm91bmQuXG4iKTsKKwkJCXJldHVybjsKKwkJfQorCX0gZWxzZSB7CisJCXJldCA9IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKGNyYXNoX2Jhc2UsIGNyYXNoX3NpemUsCisJCQkJCUJPT1RNRU1fRVhDTFVTSVZFKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXByX2luZm8oImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZCAtICIKKwkJCQkibWVtb3J5IGlzIGluIHVzZVxuIik7CisJCQlyZXR1cm47CisJCX0KKwl9CisKKwlwcmludGsoS0VSTl9JTkZPICJSZXNlcnZpbmcgJWxkTUIgb2YgbWVtb3J5IGF0ICVsZE1CICIKKwkJCSJmb3IgY3Jhc2hrZXJuZWwgKFN5c3RlbSBSQU06ICVsZE1CKVxuIiwKKwkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9zaXplID4+IDIwKSwKKwkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9iYXNlID4+IDIwKSwKKwkJCSh1bnNpZ25lZCBsb25nKSh0b3RhbF9tZW0gPj4gMjApKTsKKworCWNyYXNoa19yZXMuc3RhcnQgPSBjcmFzaF9iYXNlOworCWNyYXNoa19yZXMuZW5kICAgPSBjcmFzaF9iYXNlICsgY3Jhc2hfc2l6ZSAtIDE7CisJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNyYXNoa19yZXMpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCit7Cit9CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsKKwl7IC5uYW1lID0gImRtYTEiLCAuc3RhcnQgPSAweDAwLCAuZW5kID0gMHgxZiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAicGljMSIsIC5zdGFydCA9IDB4MjAsIC5lbmQgPSAweDIxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJ0aW1lcjAiLCAuc3RhcnQgPSAweDQwLCAuZW5kID0gMHg0MywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAidGltZXIxIiwgLnN0YXJ0ID0gMHg1MCwgLmVuZCA9IDB4NTMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2MCwgLmVuZCA9IDB4NjAsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2NCwgLmVuZCA9IDB4NjQsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImRtYSBwYWdlIHJlZyIsIC5zdGFydCA9IDB4ODAsIC5lbmQgPSAweDhmLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJwaWMyIiwgLnN0YXJ0ID0gMHhhMCwgLmVuZCA9IDB4YTEsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImRtYTIiLCAuc3RhcnQgPSAweGMwLCAuZW5kID0gMHhkZiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAiZnB1IiwgLnN0YXJ0ID0gMHhmMCwgLmVuZCA9IDB4ZmYsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfc3RhbmRhcmRfaW9fcmVzb3VyY2VzKHZvaWQpCiB7CiAJaW50IGk7CiAKLQkvKiBhbGxvY19ib290bWVtIHplcm9lcyBtZW1vcnkgKi8KLQljcHVtYXNrX29mX2NwdV9tYXAgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2YoY3B1bWFza190KSAqIG5yX2NwdV9pZHMpOwotCWZvciAoaSA9IDA7IGkgPCBucl9jcHVfaWRzOyBpKyspCi0JCWNwdV9zZXQoaSwgY3B1bWFza19vZl9jcHVfbWFwW2ldKTsKKwkvKiByZXF1ZXN0IEkvTyBzcGFjZSBmb3IgZGV2aWNlcyB1c2VkIG9uIGFsbCBpWzM0NV04NiBQQ3MgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGFuZGFyZF9pb19yZXNvdXJjZXMpOyBpKyspCisJCXJlcXVlc3RfcmVzb3VyY2UoJmlvcG9ydF9yZXNvdXJjZSwgJnN0YW5kYXJkX2lvX3Jlc291cmNlc1tpXSk7CisKIH0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1bWFza19vZl9jcHUodm9pZCkgeyB9Ci0jZW5kaWYKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLS8qCi0gKiBHcmVhdCBmdXR1cmUgbm90LXNvLWZ1dHVyaXN0aWMgcGxhbjogbWFrZSBpMzg2IGFuZCB4ODZfNjQgZG8gaXQKLSAqIHRoZSBzYW1lIHdheQorI2lmZGVmIENPTkZJR19QUk9DX1ZNQ09SRQorLyogZWxmY29yZWhkcj0gc3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiBlbGYgY29yZSBoZWFkZXIKKyAqIHN0b3JlZCBieSB0aGUgY3Jhc2hlZCBrZXJuZWwuIFRoaXMgb3B0aW9uIHdpbGwgYmUgcGFzc2VkCisgKiBieSBrZXhlYyBsb2FkZXIgdG8gdGhlIGNhcHR1cmUga2VybmVsLgogICovCi11bnNpZ25lZCBsb25nIF9fcGVyX2NwdV9vZmZzZXRbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woX19wZXJfY3B1X29mZnNldCk7Ci0jZW5kaWYKLQotLyoKLSAqIEdyZWF0IGZ1dHVyZSBwbGFuOgotICogRGVjbGFyZSBQREEgaXRzZWxmIGFuZCBzdXBwb3J0IChpcnFzdGFjayx0c3MscGdkKSBhcyBwZXIgY3B1IGRhdGEuCi0gKiBBbHdheXMgcG9pbnQgJWdzIHRvIGl0cyBiZWdpbm5pbmcKLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfcGVyX2NwdV9hcmVhcyh2b2lkKQorc3RhdGljIGludCBfX2luaXQgc2V0dXBfZWxmY29yZWhkcihjaGFyICphcmcpCiB7Ci0JaW50IGksIGhpZ2hlc3RfY3B1ID0gMDsKLQl1bnNpZ25lZCBsb25nIHNpemU7Ci0KLSNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKLQlwcmVmaWxsX3Bvc3NpYmxlX21hcCgpOworCWNoYXIgKmVuZDsKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisJZWxmY29yZWhkcl9hZGRyID0gbWVtcGFyc2UoYXJnLCAmZW5kKTsKKwlyZXR1cm4gZW5kID4gYXJnID8gMCA6IC1FSU5WQUw7Cit9CitlYXJseV9wYXJhbSgiZWxmY29yZWhkciIsIHNldHVwX2VsZmNvcmVoZHIpOwogI2VuZGlmCiAKLQkvKiBDb3B5IHNlY3Rpb24gZm9yIGVhY2ggQ1BVICh3ZSBkaXNjYXJkIHRoZSBvcmlnaW5hbCkgKi8KLQlzaXplID0gUEVSQ1BVX0VOT1VHSF9ST09NOwotCXByaW50ayhLRVJOX0lORk8gIlBFUkNQVTogQWxsb2NhdGluZyAlbHUgYnl0ZXMgb2YgcGVyIGNwdSBkYXRhXG4iLAotCQkJICBzaXplKTsKKy8qCisgKiBEZXRlcm1pbmUgaWYgd2Ugd2VyZSBsb2FkZWQgYnkgYW4gRUZJIGxvYWRlci4gIElmIHNvLCB0aGVuIHdlIGhhdmUgYWxzbyBiZWVuCisgKiBwYXNzZWQgdGhlIGVmaSBtZW1tYXAsIHN5c3RhYiwgZXRjLiwgc28gd2Ugc2hvdWxkIHVzZSB0aGVzZSBkYXRhIHN0cnVjdHVyZXMKKyAqIGZvciBpbml0aWFsaXphdGlvbi4gIE5vdGUsIHRoZSBlZmkgaW5pdCBjb2RlIHBhdGggaXMgZGV0ZXJtaW5lZCBieSB0aGUKKyAqIGdsb2JhbCBlZmlfZW5hYmxlZC4gVGhpcyBhbGxvd3MgdGhlIHNhbWUga2VybmVsIGltYWdlIHRvIGJlIHVzZWQgb24gZXhpc3RpbmcKKyAqIHN5c3RlbXMgKHdpdGggYSB0cmFkaXRpb25hbCBCSU9TKSBhcyB3ZWxsIGFzIG9uIEVGSSBzeXN0ZW1zLgorICovCisvKgorICogc2V0dXBfYXJjaCAtIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBib290LXRpbWUgaW5pdGlhbGl6YXRpb25zCisgKgorICogTm90ZTogT24geDg2XzY0LCBmaXhtYXBzIGFyZSByZWFkeSBmb3IgdXNlIGV2ZW4gYmVmb3JlIHRoaXMgaXMgY2FsbGVkLgorICovCiAKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgewotCQljaGFyICpwdHI7Ci0jaWZuZGVmIENPTkZJR19ORUVEX01VTFRJUExFX05PREVTCi0JCXB0ciA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoc2l6ZSk7Cit2b2lkIF9faW5pdCBzZXR1cF9hcmNoKGNoYXIgKipjbWRsaW5lX3ApCit7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCW1lbWNweSgmYm9vdF9jcHVfZGF0YSwgJm5ld19jcHVfZGF0YSwgc2l6ZW9mKG5ld19jcHVfZGF0YSkpOworCXZpc3dzX2Vhcmx5X2RldGVjdCgpOworCXByZV9zZXR1cF9hcmNoX2hvb2soKTsKKwllYXJseV9jcHVfaW5pdCgpOwogI2Vsc2UKLQkJaW50IG5vZGUgPSBlYXJseV9jcHVfdG9fbm9kZShpKTsKLQkJaWYgKCFub2RlX29ubGluZShub2RlKSB8fCAhTk9ERV9EQVRBKG5vZGUpKSB7Ci0JCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzKHNpemUpOwotCQkJcHJpbnRrKEtFUk5fSU5GTwotCQkJICAgICAgICJjcHUgJWQgaGFzIG5vIG5vZGUgb3Igbm9kZS1sb2NhbCBtZW1vcnlcbiIsIGkpOwotCQl9Ci0JCWVsc2UKLQkJCXB0ciA9IGFsbG9jX2Jvb3RtZW1fcGFnZXNfbm9kZShOT0RFX0RBVEEobm9kZSksIHNpemUpOworCXByaW50ayhLRVJOX0lORk8gIkNvbW1hbmQgbGluZTogJXNcbiIsIGJvb3RfY29tbWFuZF9saW5lKTsKICNlbmRpZgotCQlpZiAoIXB0cikKLQkJCXBhbmljKCJDYW5ub3QgYWxsb2NhdGUgY3B1IGRhdGEgZm9yIENQVSAlZFxuIiwgaSk7CisKKwllYXJseV9pb3JlbWFwX2luaXQoKTsKKworCVJPT1RfREVWID0gb2xkX2RlY29kZV9kZXYoYm9vdF9wYXJhbXMuaGRyLnJvb3RfZGV2KTsKKwlzY3JlZW5faW5mbyA9IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvOworCWVkaWRfaW5mbyA9IGJvb3RfcGFyYW1zLmVkaWRfaW5mbzsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJYXBtX2luZm8uYmlvcyA9IGJvb3RfcGFyYW1zLmFwbV9iaW9zX2luZm87CisJaXN0X2luZm8gPSBib290X3BhcmFtcy5pc3RfaW5mbzsKKwlpZiAoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUubGVuZ3RoICE9IDApIHsKKwkJc2V0X21jYV9idXMoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbM10gJiAweDIpOworCQltYWNoaW5lX2lkID0gYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbMF07CisJCW1hY2hpbmVfc3VibW9kZWxfaWQgPSBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS50YWJsZVsxXTsKKwkJQklPU19yZXZpc2lvbiA9IGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzJdOworCX0KKyNlbmRpZgorCXNhdmVkX3ZpZGVvX21vZGUgPSBib290X3BhcmFtcy5oZHIudmlkX21vZGU7CisJYm9vdGxvYWRlcl90eXBlID0gYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyOworCisjaWZkZWYgQ09ORklHX0JMS19ERVZfUkFNCisJcmRfaW1hZ2Vfc3RhcnQgPSBib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX0lNQUdFX1NUQVJUX01BU0s7CisJcmRfcHJvbXB0ID0gKChib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX1BST01QVF9GTEFHKSAhPSAwKTsKKwlyZF9kb2xvYWQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfTE9BRF9GTEFHKSAhPSAwKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19FRkkKKwlpZiAoIXN0cm5jbXAoKGNoYXIgKikmYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX2xvYWRlcl9zaWduYXR1cmUsCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCQkgICAgICJFTDMyIiwKKyNlbHNlCisJCSAgICAgIkVMNjQiLAorI2VuZGlmCisJIDQpKSB7CisJCWVmaV9lbmFibGVkID0gMTsKKwkJZWZpX3Jlc2VydmVfZWFybHkoKTsKKwl9CisjZW5kaWYKKworCUFSQ0hfU0VUVVAKKworCXNldHVwX21lbW9yeV9tYXAoKTsKKwlwYXJzZV9zZXR1cF9kYXRhKCk7CisJLyogdXBkYXRlIHRoZSBlODIwX3NhdmVkIHRvbyAqLworCWU4MjBfcmVzZXJ2ZV9zZXR1cF9kYXRhKCk7CisKKwljb3B5X2VkZCgpOworCisJaWYgKCFib290X3BhcmFtcy5oZHIucm9vdF9mbGFncykKKwkJcm9vdF9tb3VudGZsYWdzICY9IH5NU19SRE9OTFk7CisJaW5pdF9tbS5zdGFydF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpIF90ZXh0OworCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgX2V0ZXh0OworCWluaXRfbW0uZW5kX2RhdGEgPSAodW5zaWduZWQgbG9uZykgX2VkYXRhOworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpbml0X21tLmJyayA9IGluaXRfcGdfdGFibGVzX2VuZCArIFBBR0VfT0ZGU0VUOworI2Vsc2UKKwlpbml0X21tLmJyayA9ICh1bnNpZ25lZCBsb25nKSAmX2VuZDsKKyNlbmRpZgorCisJY29kZV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cyhfdGV4dCk7CisJY29kZV9yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoX2V0ZXh0KS0xOworCWRhdGFfcmVzb3VyY2Uuc3RhcnQgPSB2aXJ0X3RvX3BoeXMoX2V0ZXh0KTsKKwlkYXRhX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cyhfZWRhdGEpLTE7CisJYnNzX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfX2Jzc19zdGFydCk7CisJYnNzX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RvcCktMTsKKwogI2lmZGVmIENPTkZJR19YODZfNjQKLQkJY3B1X3BkYShpKS0+ZGF0YV9vZmZzZXQgPSBwdHIgLSBfX3Blcl9jcHVfc3RhcnQ7Ci0jZWxzZQotCQlfX3Blcl9jcHVfb2Zmc2V0W2ldID0gcHRyIC0gX19wZXJfY3B1X3N0YXJ0OworCWVhcmx5X2NwdV9pbml0KCk7CiAjZW5kaWYKLQkJbWVtY3B5KHB0ciwgX19wZXJfY3B1X3N0YXJ0LCBfX3Blcl9jcHVfZW5kIC0gX19wZXJfY3B1X3N0YXJ0KTsKKwlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKKwkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwogCi0JCWhpZ2hlc3RfY3B1ID0gaTsKKwlwYXJzZV9lYXJseV9wYXJhbSgpOworCisJLyogYWZ0ZXIgZWFybHkgcGFyYW0sIHNvIGNvdWxkIGdldCBwYW5pYyBmcm9tIHNlcmlhbCAqLworCXJlc2VydmVfZWFybHlfc2V0dXBfZGF0YSgpOworCisJaWYgKGFjcGlfbXBzX2NoZWNrKCkpIHsKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKwkJZGlzYWJsZV9hcGljID0gMTsKKyNlbmRpZgorCQljbGVhcl9jcHVfY2FwKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9BUElDKTsKIAl9CiAKLQlucl9jcHVfaWRzID0gaGlnaGVzdF9jcHUgKyAxOwotCXByaW50ayhLRVJOX0RFQlVHICJOUl9DUFVTOiAlZCwgbnJfY3B1X2lkczogJWRcbiIsIE5SX0NQVVMsIG5yX2NwdV9pZHMpOworCWZpbmlzaF9lODIwX3BhcnNpbmcoKTsKIAotCS8qIFNldHVwIHBlcmNwdSBkYXRhIG1hcHMgKi8KLQlzZXR1cF9wZXJfY3B1X21hcHMoKTsKLQotCS8qIFNldHVwIGNwdW1hc2tfb2ZfY3B1IG1hcCAqLwotCXNldHVwX2NwdW1hc2tfb2ZfY3B1KCk7Ci19Ci0KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJcHJvYmVfcm9tcygpOwogI2VuZGlmCisKKwkvKiBhZnRlciBwYXJzZV9lYXJseV9wYXJhbSwgc28gY291bGQgZGVidWcgaXQgKi8KKwlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmY29kZV9yZXNvdXJjZSk7CisJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmRhdGFfcmVzb3VyY2UpOworCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZic3NfcmVzb3VyY2UpOworCisJaWYgKGVmaV9lbmFibGVkKQorCQllZmlfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmIChwcHJvX3dpdGhfcmFtX2J1ZygpKSB7CisJCWU4MjBfdXBkYXRlX3JhbmdlKDB4NzAwMDAwMDBVTEwsIDB4NDAwMDBVTEwsIEU4MjBfUkFNLAorCQkJCSAgRTgyMF9SRVNFUlZFRCk7CisJCXNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJmU4MjAubnJfbWFwKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiZml4ZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOworCQllODIwX3ByaW50X21hcCgiYmFkX3Bwcm8iKTsKKwl9CisjZWxzZQorCWVhcmx5X2dhcnRfaW9tbXVfY2hlY2soKTsKKyNlbmRpZgorCisJLyoKKwkgKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMKKwkgKiB3ZSBhcmUgcm91bmRpbmcgdXB3YXJkczoKKwkgKi8KKwltYXhfcGZuID0gZTgyMF9lbmRfb2ZfcmFtX3BmbigpOworCisJLyogcHJlYWxsb2NhdGUgNGsgZm9yIG1wdGFibGUgbXBjICovCisJZWFybHlfcmVzZXJ2ZV9lODIwX21wY19uZXcoKTsKKwkvKiB1cGRhdGUgZTgyMCBmb3IgbWVtb3J5IG5vdCBjb3ZlcmVkIGJ5IFdCIE1UUlJzICovCisJbXRycl9icF9pbml0KCk7CisJaWYgKG10cnJfdHJpbV91bmNhY2hlZF9tZW1vcnkobWF4X3BmbikpCisJCW1heF9wZm4gPSBlODIwX2VuZF9vZl9yYW1fcGZuKCk7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJLyogbWF4X2xvd19wZm4gZ2V0IHVwZGF0ZWQgaGVyZSAqLworCWZpbmRfbG93X3Bmbl9yYW5nZSgpOworI2Vsc2UKKwludW1fcGh5c3BhZ2VzID0gbWF4X3BmbjsKKworCWNoZWNrX2VmZXIoKTsKKworCS8qIEhvdyBtYW55IGVuZC1vZi1tZW1vcnkgdmFyaWFibGVzIHlvdSBoYXZlLCBncmFuZG1hISAqLworCS8qIG5lZWQgdGhpcyBiZWZvcmUgY2FsbGluZyByZXNlcnZlX2luaXRyZCAqLworCWlmIChtYXhfcGZuID4gKDFVTDw8KDMyIC0gUEFHRV9TSElGVCkpKQorCQltYXhfbG93X3BmbiA9IGU4MjBfZW5kX29mX2xvd19yYW1fcGZuKCk7CisJZWxzZQorCQltYXhfbG93X3BmbiA9IG1heF9wZm47CisKKwloaWdoX21lbW9yeSA9ICh2b2lkICopX192YShtYXhfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOworI2VuZGlmCisKKwkvKiBtYXhfcGZuX21hcHBlZCBpcyB1cGRhdGVkIGhlcmUgKi8KKwltYXhfbG93X3Bmbl9tYXBwZWQgPSBpbml0X21lbW9yeV9tYXBwaW5nKDAsIG1heF9sb3dfcGZuPDxQQUdFX1NISUZUKTsKKwltYXhfcGZuX21hcHBlZCA9IG1heF9sb3dfcGZuX21hcHBlZDsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwlpZiAobWF4X3BmbiA+IG1heF9sb3dfcGZuKSB7CisJCW1heF9wZm5fbWFwcGVkID0gaW5pdF9tZW1vcnlfbWFwcGluZygxVUw8PDMyLAorCQkJCQkJICAgICBtYXhfcGZuPDxQQUdFX1NISUZUKTsKKwkJLyogY2FuIHdlIHByZXNldmUgbWF4X2xvd19wZm4gPyovCisJCW1heF9sb3dfcGZuID0gbWF4X3BmbjsKKwl9CisjZW5kaWYKKworCS8qCisJICogTk9URTogT24geDg2LTMyLCBvbmx5IGZyb20gdGhpcyBwb2ludCBvbiwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZS4KKwkgKi8KKworI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCisJaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQorCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKKyNlbmRpZgorCisJcmVzZXJ2ZV9pbml0cmQoKTsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwl2c21wX2luaXQoKTsKKyNlbmRpZgorCisJZG1pX3NjYW5fbWFjaGluZSgpOworCisJaW9fZGVsYXlfaW5pdCgpOworCisJLyoKKwkgKiBQYXJzZSB0aGUgQUNQSSB0YWJsZXMgZm9yIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbi4KKwkgKi8KKwlhY3BpX2Jvb3RfdGFibGVfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX0FDUElfTlVNQQorCS8qCisJICogUGFyc2UgU1JBVCB0byBkaXNjb3ZlciBub2Rlcy4KKwkgKi8KKwlhY3BpX251bWFfaW5pdCgpOworI2VuZGlmCisKKwlpbml0bWVtX2luaXQoMCwgbWF4X3Bmbik7CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJZG1hMzJfcmVzZXJ2ZV9ib290bWVtKCk7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BQ1BJX1NMRUVQCisJLyoKKwkgKiBSZXNlcnZlIGxvdyBtZW1vcnkgcmVnaW9uIGZvciBzbGVlcCBzdXBwb3J0LgorCSAqLworCWFjcGlfcmVzZXJ2ZV9ib290bWVtKCk7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X0ZJTkRfU01QX0NPTkZJRworCS8qCisJICogRmluZCBhbmQgcmVzZXJ2ZSBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CisJICovCisJZmluZF9zbXBfY29uZmlnKCk7CisjZW5kaWYKKwlyZXNlcnZlX2NyYXNoa2VybmVsKCk7CisKKwlyZXNlcnZlX2liZnRfcmVnaW9uKCk7CisKKyNpZmRlZiBDT05GSUdfS1ZNX0NMT0NLCisJa3ZtY2xvY2tfaW5pdCgpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKENPTkZJR19WTUkpICYmIGRlZmluZWQoQ09ORklHX1g4Nl8zMikKKwkvKgorCSAqIE11c3QgYmUgYWZ0ZXIgbWF4X2xvd19wZm4gaXMgZGV0ZXJtaW5lZCwgYW5kIGJlZm9yZSBrZXJuZWwKKwkgKiBwYWdldGFibGVzIGFyZSBzZXR1cC4KKwkgKi8KKwl2bWlfaW5pdCgpOworI2VuZGlmCisKKwlwYWdpbmdfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCW1hcF92c3lzY2FsbCgpOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICisJZ2VuZXJpY19hcGljX3Byb2JlKCk7CisjZW5kaWYKKworCWVhcmx5X3F1aXJrcygpOworCisJLyoKKwkgKiBSZWFkIEFQSUMgYW5kIHNvbWUgb3RoZXIgZWFybHkgaW5mb3JtYXRpb24gZnJvbSBBQ1BJIHRhYmxlcy4KKwkgKi8KKwlhY3BpX2Jvb3RfaW5pdCgpOworCisjaWYgZGVmaW5lZChDT05GSUdfWDg2X01QUEFSU0UpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl9WSVNXUykKKwkvKgorCSAqIGdldCBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CisJICovCisJaWYgKHNtcF9mb3VuZF9jb25maWcpCisJCWdldF9zbXBfY29uZmlnKCk7CisjZW5kaWYKKworCXByZWZpbGxfcG9zc2libGVfbWFwKCk7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWluaXRfY3B1X3RvX25vZGUoKTsKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCS8qCisJICogbmVlZCB0byBjaGVjayBvbmxpbmUgbm9kZXMgbnVtLCBjYWxsIGl0CisJICogaGVyZSBiZWZvcmUgdGltZV9pbml0L3RzY19pbml0CisJICovCisJbnVtYXFfdHNjX2Rpc2FibGUoKTsKKyNlbmRpZgorCisJaW5pdF9hcGljX21hcHBpbmdzKCk7CisJaW9hcGljX2luaXRfbWFwcGluZ3MoKTsKKworI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1BDKSAmJiBkZWZpbmVkKENPTkZJR19YODZfMzIpCisJaWYgKGRlZl90b19iaWdzbXApCisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk1vcmUgdGhhbiA4IENQVXMgZGV0ZWN0ZWQgYW5kICIKKwkJCSJDT05GSUdfWDg2X1BDIGNhbm5vdCBoYW5kbGUgaXQuXG5Vc2UgIgorCQkJIkNPTkZJR19YODZfR0VORVJJQ0FSQ0ggb3IgQ09ORklHX1g4Nl9CSUdTTVAuXG4iKTsKKyNlbmRpZgorCWt2bV9ndWVzdF9pbml0KCk7CisKKwllODIwX3Jlc2VydmVfcmVzb3VyY2VzKCk7CisJZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKG1heF9sb3dfcGZuKTsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKwlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnZpZGVvX3JhbV9yZXNvdXJjZSk7CisjZW5kaWYKKwlyZXNlcnZlX3N0YW5kYXJkX2lvX3Jlc291cmNlcygpOworCisJZTgyMF9zZXR1cF9nYXAoKTsKKworI2lmZGVmIENPTkZJR19WVAorI2lmIGRlZmluZWQoQ09ORklHX1ZHQV9DT05TT0xFKQorCWlmICghZWZpX2VuYWJsZWQgfHwgKGVmaV9tZW1fdHlwZSgweGEwMDAwKSAhPSBFRklfQ09OVkVOVElPTkFMX01FTU9SWSkpCisJCWNvbnN3aXRjaHAgPSAmdmdhX2NvbjsKKyNlbGlmIGRlZmluZWQoQ09ORklHX0RVTU1ZX0NPTlNPTEUpCisJY29uc3dpdGNocCA9ICZkdW1teV9jb247CisjZW5kaWYKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9zZXR1cDY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlZTBlODIuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NldHVwNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDI4NyArMCwwIEBACi0vKiAKLSAqIFg4Ni02NCBzcGVjaWZpYyBDUFUgc2V0dXAuCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKiBDb3B5cmlnaHQgMjAwMSwgMjAwMiwgMjAwMyBTdVNFIExhYnMgLyBBbmRpIEtsZWVuLgotICogU2VlIHNldHVwLmMgZm9yIG9sZGVyIGNoYW5nZWxvZy4KLSAqLyAKLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvYml0b3BzLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgva2dkYi5oPgotI2luY2x1ZGUgPGFzbS9wZGEuaD4KLSNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL2kzODcuaD4KLSNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KLQotI2lmbmRlZiBDT05GSUdfREVCVUdfQk9PVF9QQVJBTVMKLXN0cnVjdCBib290X3BhcmFtcyBfX2luaXRkYXRhIGJvb3RfcGFyYW1zOwotI2Vsc2UKLXN0cnVjdCBib290X3BhcmFtcyBib290X3BhcmFtczsKLSNlbmRpZgotCi1jcHVtYXNrX3QgY3B1X2luaXRpYWxpemVkIF9fY3B1aW5pdGRhdGEgPSBDUFVfTUFTS19OT05FOwotCi1zdHJ1Y3QgeDg2NjRfcGRhICpfY3B1X3BkYVtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5OwotRVhQT1JUX1NZTUJPTChfY3B1X3BkYSk7Ci1zdHJ1Y3QgeDg2NjRfcGRhIGJvb3RfY3B1X3BkYVtOUl9DUFVTXSBfX2NhY2hlbGluZV9hbGlnbmVkOwotCi1zdHJ1Y3QgZGVzY19wdHIgaWR0X2Rlc2NyID0geyAyNTYgKiAxNiAtIDEsICh1bnNpZ25lZCBsb25nKSBpZHRfdGFibGUgfTsKLQotY2hhciBib290X2NwdV9zdGFja1tJUlFTVEFDS1NJWkVdIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKLQotdW5zaWduZWQgbG9uZyBfX3N1cHBvcnRlZF9wdGVfbWFzayBfX3JlYWRfbW9zdGx5ID0gfjBVTDsKLUVYUE9SVF9TWU1CT0xfR1BMKF9fc3VwcG9ydGVkX3B0ZV9tYXNrKTsKLQotc3RhdGljIGludCBkb19ub3RfbnggX19jcHVpbml0ZGF0YSA9IDA7Ci0KLS8qIG5vZXhlYz1vbnxvZmYKLUNvbnRyb2wgbm9uIGV4ZWN1dGFibGUgbWFwcGluZ3MgZm9yIDY0Yml0IHByb2Nlc3Nlcy4KLQotb24JRW5hYmxlKGRlZmF1bHQpCi1vZmYJRGlzYWJsZQotKi8gCi1zdGF0aWMgaW50IF9faW5pdCBub254X3NldHVwKGNoYXIgKnN0cikKLXsKLQlpZiAoIXN0cikKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JaWYgKCFzdHJuY21wKHN0ciwgIm9uIiwgMikpIHsKLSAgICAgICAgICAgICAgICBfX3N1cHBvcnRlZF9wdGVfbWFzayB8PSBfUEFHRV9OWDsgCi0gCQlkb19ub3RfbnggPSAwOyAKLQl9IGVsc2UgaWYgKCFzdHJuY21wKHN0ciwgIm9mZiIsIDMpKSB7Ci0JCWRvX25vdF9ueCA9IDE7Ci0JCV9fc3VwcG9ydGVkX3B0ZV9tYXNrICY9IH5fUEFHRV9OWDsKLSAgICAgICAgfQotCXJldHVybiAwOwotfSAKLWVhcmx5X3BhcmFtKCJub2V4ZWMiLCBub254X3NldHVwKTsKLQotaW50IGZvcmNlX3BlcnNvbmFsaXR5MzIgPSAwOyAKLQotLyogbm9leGVjMzI9b258b2ZmCi1Db250cm9sIG5vbiBleGVjdXRhYmxlIGhlYXAgZm9yIDMyYml0IHByb2Nlc3Nlcy4KLVRvIGNvbnRyb2wgdGhlIHN0YWNrIHRvbyB1c2Ugbm9leGVjPW9mZgotCi1vbglQUk9UX1JFQUQgZG9lcyBub3QgaW1wbHkgUFJPVF9FWEVDIGZvciAzMmJpdCBwcm9jZXNzZXMgKGRlZmF1bHQpCi1vZmYJUFJPVF9SRUFEIGltcGxpZXMgUFJPVF9FWEVDCi0qLwotc3RhdGljIGludCBfX2luaXQgbm9ueDMyX3NldHVwKGNoYXIgKnN0cikKLXsKLQlpZiAoIXN0cmNtcChzdHIsICJvbiIpKQotCQlmb3JjZV9wZXJzb25hbGl0eTMyICY9IH5SRUFEX0lNUExJRVNfRVhFQzsKLQllbHNlIGlmICghc3RyY21wKHN0ciwgIm9mZiIpKQotCQlmb3JjZV9wZXJzb25hbGl0eTMyIHw9IFJFQURfSU1QTElFU19FWEVDOwotCXJldHVybiAxOwotfQotX19zZXR1cCgibm9leGVjMzI9Iiwgbm9ueDMyX3NldHVwKTsKLQotdm9pZCBwZGFfaW5pdChpbnQgY3B1KQoteyAKLQlzdHJ1Y3QgeDg2NjRfcGRhICpwZGEgPSBjcHVfcGRhKGNwdSk7Ci0KLQkvKiBTZXR1cCB1cCBkYXRhIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiBfX2dldF9mcmVlX3BhZ2VzIGVhcmx5ICovCi0JYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCUlZnMgOyBtb3ZsICUwLCUlZ3MiIDo6ICJyIiAoMCkpOyAKLQkvKiBNZW1vcnkgY2xvYmJlcnMgdXNlZCB0byBvcmRlciBQREEgYWNjZXNzZWQgKi8KLQltYigpOwotCXdybXNybChNU1JfR1NfQkFTRSwgcGRhKTsKLQltYigpOwotCi0JcGRhLT5jcHVudW1iZXIgPSBjcHU7IAotCXBkYS0+aXJxY291bnQgPSAtMTsKLQlwZGEtPmtlcm5lbHN0YWNrID0gCi0JCSh1bnNpZ25lZCBsb25nKXN0YWNrX3RocmVhZF9pbmZvKCkgLSBQREFfU1RBQ0tPRkZTRVQgKyBUSFJFQURfU0laRTsgCi0JcGRhLT5hY3RpdmVfbW0gPSAmaW5pdF9tbTsKLQlwZGEtPm1tdV9zdGF0ZSA9IDA7Ci0KLQlpZiAoY3B1ID09IDApIHsKLQkJLyogb3RoZXJzIGFyZSBpbml0aWFsaXplZCBpbiBzbXBib290LmMgKi8KLQkJcGRhLT5wY3VycmVudCA9ICZpbml0X3Rhc2s7Ci0JCXBkYS0+aXJxc3RhY2twdHIgPSBib290X2NwdV9zdGFjazsgCi0JfSBlbHNlIHsKLQkJcGRhLT5pcnFzdGFja3B0ciA9IChjaGFyICopCi0JCQlfX2dldF9mcmVlX3BhZ2VzKEdGUF9BVE9NSUMsIElSUVNUQUNLX09SREVSKTsKLQkJaWYgKCFwZGEtPmlycXN0YWNrcHRyKQotCQkJcGFuaWMoImNhbm5vdCBhbGxvY2F0ZSBpcnFzdGFjayBmb3IgY3B1ICVkIiwgY3B1KTsgCi0JfQotCi0KLQlwZGEtPmlycXN0YWNrcHRyICs9IElSUVNUQUNLU0laRS02NDsKLX0gCi0KLWNoYXIgYm9vdF9leGNlcHRpb25fc3RhY2tzWyhOX0VYQ0VQVElPTl9TVEFDS1MgLSAxKSAqIEVYQ0VQVElPTl9TVEtTWiArIERFQlVHX1NUS1NaXQotX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSkpOwotCi1leHRlcm4gYXNtbGlua2FnZSB2b2lkIGlnbm9yZV9zeXNyZXQodm9pZCk7Ci0KLS8qIE1heSBub3QgYmUgbWFya2VkIF9faW5pdDogdXNlZCBieSBzb2Z0d2FyZSBzdXNwZW5kICovCi12b2lkIHN5c2NhbGxfaW5pdCh2b2lkKQotewotCS8qIAotCSAqIExTVEFSIGFuZCBTVEFSIGxpdmUgaW4gYSBiaXQgc3RyYW5nZSBzeW1iaW9zaXMuCi0JICogVGhleSBib3RoIHdyaXRlIHRvIHRoZSBzYW1lIGludGVybmFsIHJlZ2lzdGVyLiBTVEFSIGFsbG93cyB0byBzZXQgQ1MvRFMKLQkgKiBidXQgb25seSBhIDMyYml0IHRhcmdldC4gTFNUQVIgc2V0cyB0aGUgNjRiaXQgcmlwLiAJIAotCSAqLyAKLQl3cm1zcmwoTVNSX1NUQVIsICAoKHU2NClfX1VTRVIzMl9DUyk8PDQ4ICB8ICgodTY0KV9fS0VSTkVMX0NTKTw8MzIpOyAKLQl3cm1zcmwoTVNSX0xTVEFSLCBzeXN0ZW1fY2FsbCk7IAotCXdybXNybChNU1JfQ1NUQVIsIGlnbm9yZV9zeXNyZXQpOwotCi0jaWZkZWYgQ09ORklHX0lBMzJfRU1VTEFUSU9OICAgCQkKLQlzeXNjYWxsMzJfY3B1X2luaXQgKCk7Ci0jZW5kaWYKLQotCS8qIEZsYWdzIHRvIGNsZWFyIG9uIHN5c2NhbGwgKi8KLQl3cm1zcmwoTVNSX1NZU0NBTExfTUFTSywKLQkgICAgICAgWDg2X0VGTEFHU19URnxYODZfRUZMQUdTX0RGfFg4Nl9FRkxBR1NfSUZ8WDg2X0VGTEFHU19JT1BMKTsKLX0KLQotdm9pZCBfX2NwdWluaXQgY2hlY2tfZWZlcih2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZWZlcjsKLQotCXJkbXNybChNU1JfRUZFUiwgZWZlcik7IAotICAgICAgICBpZiAoIShlZmVyICYgRUZFUl9OWCkgfHwgZG9fbm90X254KSB7IAotICAgICAgICAgICAgICAgIF9fc3VwcG9ydGVkX3B0ZV9tYXNrICY9IH5fUEFHRV9OWDsgCi0gICAgICAgIH0gICAgICAgCi19Ci0KLXVuc2lnbmVkIGxvbmcga2VybmVsX2VmbGFnczsKLQotLyoKLSAqIENvcGllcyBvZiB0aGUgb3JpZ2luYWwgaXN0IHZhbHVlcyBmcm9tIHRoZSB0c3MgYXJlIG9ubHkgYWNjZXNzZWQgZHVyaW5nCi0gKiBkZWJ1Z2dpbmcsIG5vIHNwZWNpYWwgYWxpZ25tZW50IHJlcXVpcmVkLgotICovCi1ERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgb3JpZ19pc3QsIG9yaWdfaXN0KTsKLQotLyoKLSAqIGNwdV9pbml0KCkgaW5pdGlhbGl6ZXMgc3RhdGUgdGhhdCBpcyBwZXItQ1BVLiBTb21lIGRhdGEgaXMgYWxyZWFkeQotICogaW5pdGlhbGl6ZWQgKG5hdHVyYWxseSkgaW4gdGhlIGJvb3RzdHJhcCBwcm9jZXNzLCBzdWNoIGFzIHRoZSBHRFQKLSAqIGFuZCBJRFQuIFdlIHJlbG9hZCB0aGVtIG5ldmVydGhlbGVzcywgdGhpcyBmdW5jdGlvbiBhY3RzIGFzIGEKLSAqICdDUFUgc3RhdGUgYmFycmllcicsIG5vdGhpbmcgc2hvdWxkIGdldCBhY3Jvc3MuCi0gKiBBIGxvdCBvZiBzdGF0ZSBpcyBhbHJlYWR5IHNldCB1cCBpbiBQREEgaW5pdC4KLSAqLwotdm9pZCBfX2NwdWluaXQgY3B1X2luaXQgKHZvaWQpCi17Ci0JaW50IGNwdSA9IHN0YWNrX3NtcF9wcm9jZXNzb3JfaWQoKTsKLQlzdHJ1Y3QgdHNzX3N0cnVjdCAqdCA9ICZwZXJfY3B1KGluaXRfdHNzLCBjcHUpOwotCXN0cnVjdCBvcmlnX2lzdCAqb3JpZ19pc3QgPSAmcGVyX2NwdShvcmlnX2lzdCwgY3B1KTsKLQl1bnNpZ25lZCBsb25nIHY7IAotCWNoYXIgKmVzdGFja3MgPSBOVUxMOyAKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm1lOwotCWludCBpOwotCi0JLyogQ1BVIDAgaXMgaW5pdGlhbGlzZWQgaW4gaGVhZDY0LmMgKi8KLQlpZiAoY3B1ICE9IDApIHsKLQkJcGRhX2luaXQoY3B1KTsKLQl9IGVsc2UgCi0JCWVzdGFja3MgPSBib290X2V4Y2VwdGlvbl9zdGFja3M7IAotCi0JbWUgPSBjdXJyZW50OwotCi0JaWYgKGNwdV90ZXN0X2FuZF9zZXQoY3B1LCBjcHVfaW5pdGlhbGl6ZWQpKQotCQlwYW5pYygiQ1BVIyVkIGFscmVhZHkgaW5pdGlhbGl6ZWQhXG4iLCBjcHUpOwotCi0JcHJpbnRrKCJJbml0aWFsaXppbmcgQ1BVIyVkXG4iLCBjcHUpOwotCi0JY2xlYXJfaW5fY3I0KFg4Nl9DUjRfVk1FfFg4Nl9DUjRfUFZJfFg4Nl9DUjRfVFNEfFg4Nl9DUjRfREUpOwotCi0JLyoKLQkgKiBJbml0aWFsaXplIHRoZSBwZXItQ1BVIEdEVCB3aXRoIHRoZSBib290IEdEVCwKLQkgKiBhbmQgc2V0IHVwIHRoZSBHRFQgZGVzY3JpcHRvcjoKLQkgKi8KLQlpZiAoY3B1KQotCQltZW1jcHkoZ2V0X2NwdV9nZHRfdGFibGUoY3B1KSwgY3B1X2dkdF90YWJsZSwgR0RUX1NJWkUpOwotCi0JY3B1X2dkdF9kZXNjcltjcHVdLnNpemUgPSBHRFRfU0laRTsKLQlsb2FkX2dkdCgoY29uc3Qgc3RydWN0IGRlc2NfcHRyICopJmNwdV9nZHRfZGVzY3JbY3B1XSk7Ci0JbG9hZF9pZHQoKGNvbnN0IHN0cnVjdCBkZXNjX3B0ciAqKSZpZHRfZGVzY3IpOwotCi0JbWVtc2V0KG1lLT50aHJlYWQudGxzX2FycmF5LCAwLCBHRFRfRU5UUllfVExTX0VOVFJJRVMgKiA4KTsKLQlzeXNjYWxsX2luaXQoKTsKLQotCXdybXNybChNU1JfRlNfQkFTRSwgMCk7Ci0Jd3Jtc3JsKE1TUl9LRVJORUxfR1NfQkFTRSwgMCk7Ci0JYmFycmllcigpOyAKLQotCWNoZWNrX2VmZXIoKTsKLQotCS8qCi0JICogc2V0IHVwIGFuZCBsb2FkIHRoZSBwZXItQ1BVIFRTUwotCSAqLwotCWZvciAodiA9IDA7IHYgPCBOX0VYQ0VQVElPTl9TVEFDS1M7IHYrKykgewotCQlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG9yZGVyW05fRVhDRVBUSU9OX1NUQUNLU10gPSB7Ci0JCQlbMCAuLi4gTl9FWENFUFRJT05fU1RBQ0tTIC0gMV0gPSBFWENFUFRJT05fU1RBQ0tfT1JERVIsCi0JCQlbREVCVUdfU1RBQ0sgLSAxXSA9IERFQlVHX1NUQUNLX09SREVSCi0JCX07Ci0JCWlmIChjcHUpIHsKLQkJCWVzdGFja3MgPSAoY2hhciAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0FUT01JQywgb3JkZXJbdl0pOwotCQkJaWYgKCFlc3RhY2tzKQotCQkJCXBhbmljKCJDYW5ub3QgYWxsb2NhdGUgZXhjZXB0aW9uIHN0YWNrICVsZCAlZFxuIiwKLQkJCQkgICAgICB2LCBjcHUpOyAKLQkJfQotCQllc3RhY2tzICs9IFBBR0VfU0laRSA8PCBvcmRlclt2XTsKLQkJb3JpZ19pc3QtPmlzdFt2XSA9IHQtPng4Nl90c3MuaXN0W3ZdID0gKHVuc2lnbmVkIGxvbmcpZXN0YWNrczsKLQl9Ci0KLQl0LT54ODZfdHNzLmlvX2JpdG1hcF9iYXNlID0gb2Zmc2V0b2Yoc3RydWN0IHRzc19zdHJ1Y3QsIGlvX2JpdG1hcCk7Ci0JLyoKLQkgKiA8PSBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZSBDUFUgd2lsbCBhY2Nlc3MgdXAgdG8KLQkgKiA4IGJpdHMgYmV5b25kIHRoZSBlbmQgb2YgdGhlIElPIHBlcm1pc3Npb24gYml0bWFwLgotCSAqLwotCWZvciAoaSA9IDA7IGkgPD0gSU9fQklUTUFQX0xPTkdTOyBpKyspCi0JCXQtPmlvX2JpdG1hcFtpXSA9IH4wVUw7Ci0KLQlhdG9taWNfaW5jKCZpbml0X21tLm1tX2NvdW50KTsKLQltZS0+YWN0aXZlX21tID0gJmluaXRfbW07Ci0JaWYgKG1lLT5tbSkKLQkJQlVHKCk7Ci0JZW50ZXJfbGF6eV90bGIoJmluaXRfbW0sIG1lKTsKLQotCXNldF90c3NfZGVzYyhjcHUsIHQpOwotCWxvYWRfVFJfZGVzYygpOwotCWxvYWRfTERUKCZpbml0X21tLmNvbnRleHQpOwotCi0jaWZkZWYgQ09ORklHX0tHREIKLQkvKgotCSAqIElmIHRoZSBrZ2RiIGlzIGNvbm5lY3RlZCBubyBkZWJ1ZyByZWdzIHNob3VsZCBiZSBhbHRlcmVkLiAgVGhpcwotCSAqIGlzIG9ubHkgYXBwbGljYWJsZSB3aGVuIEtHREIgYW5kIGEgS0dEQiBJL08gbW9kdWxlIGFyZSBidWlsdAotCSAqIGludG8gdGhlIGtlcm5lbCBhbmQgeW91IGFyZSB1c2luZyBlYXJseSBkZWJ1Z2dpbmcgd2l0aAotCSAqIGtnZGJ3YWl0LiBLR0RCIHdpbGwgY29udHJvbCB0aGUga2VybmVsIEhXIGJyZWFrcG9pbnQgcmVnaXN0ZXJzLgotCSAqLwotCWlmIChrZ2RiX2Nvbm5lY3RlZCAmJiBhcmNoX2tnZGJfb3BzLmNvcnJlY3RfaHdfYnJlYWspCi0JCWFyY2hfa2dkYl9vcHMuY29ycmVjdF9od19icmVhaygpOwotCWVsc2UgewotI2VuZGlmCi0JLyoKLQkgKiBDbGVhciBhbGwgNiBkZWJ1ZyByZWdpc3RlcnM6Ci0JICovCi0KLQlzZXRfZGVidWdyZWcoMFVMLCAwKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAxKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAyKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAzKTsKLQlzZXRfZGVidWdyZWcoMFVMLCA2KTsKLQlzZXRfZGVidWdyZWcoMFVMLCA3KTsKLSNpZmRlZiBDT05GSUdfS0dEQgotCS8qIElmIHRoZSBrZ2RiIGlzIGNvbm5lY3RlZCBubyBkZWJ1ZyByZWdzIHNob3VsZCBiZSBhbHRlcmVkLiAqLwotCX0KLSNlbmRpZgotCi0JZnB1X2luaXQoKTsgCi0KLQlyYXdfbG9jYWxfc2F2ZV9mbGFncyhrZXJuZWxfZWZsYWdzKTsKLQotCWlmIChpc191dl9zeXN0ZW0oKSkKLQkJdXZfY3B1X2luaXQoKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cF8zMi5jIGIvYXJjaC94ODYva2VybmVsL3NldHVwXzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhMmY4ZTAuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NldHVwXzMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw5NjQgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKgotICogIFN1cHBvcnQgb2YgQklHTUVNIGFkZGVkIGJ5IEdlcmhhcmQgV2ljaGVydCwgU2llbWVucyBBRywgSnVseSAxOTk5Ci0gKgotICogIE1lbW9yeSByZWdpb24gc3VwcG9ydAotICoJRGF2aWQgUGFyc29ucyA8b3JjQHBlbGwuY2hpLmlsLnVzPiwgSnVseS1BdWd1c3QgMTk5OQotICoKLSAqICBBZGRlZCBFODIwIHNhbml0aXphdGlvbiByb3V0aW5lIChyZW1vdmVzIG92ZXJsYXBwaW5nIG1lbW9yeSByZWdpb25zKTsKLSAqICBCcmlhbiBNb3lsZSA8Ym1veWxlQG12aXN0YS5jb20+LCBGZWJydWFyeSAyMDAxCi0gKgotICogTW92ZWQgQ1BVIGRldGVjdGlvbiBjb2RlIHRvIGNwdS8ke2NwdX0uYwotICogICAgUGF0cmljayBNb2NoZWwgPG1vY2hlbEBvc2RsLm9yZz4sIE1hcmNoIDIwMDIKLSAqCi0gKiAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgotICogIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgotICoKLSAqLwotCi0vKgotICogVGhpcyBmaWxlIGhhbmRsZXMgdGhlIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgcGFydHMgb2YgaW5pdGlhbGl6YXRpb24KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NjcmVlbl9pbmZvLmg+Ci0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0jaW5jbHVkZSA8bGludXgvYWNwaS5oPgotI2luY2x1ZGUgPGxpbnV4L2FwbV9iaW9zLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgotI2luY2x1ZGUgPGxpbnV4L21jYS5oPgotI2luY2x1ZGUgPGxpbnV4L3Jvb3RfZGV2Lmg+Ci0jaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9lZGQuaD4KLSNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2R1bXAuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxsaW51eC9wZm4uaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0X29oY2kxMzk0X2RtYS5oPgotI2luY2x1ZGUgPGxpbnV4L2t2bV9wYXJhLmg+Ci0KLSNpbmNsdWRlIDx2aWRlby9lZGlkLmg+Ci0KLSNpbmNsdWRlIDxhc20vbXRyci5oPgotI2luY2x1ZGUgPGFzbS9hcGljLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+Ci0jaW5jbHVkZSA8YXNtL21tem9uZS5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KLSNpbmNsdWRlIDxhc20vaXN0Lmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL3ZtaS5oPgotI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KLSNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+Ci0jaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0KLS8qIFRoaXMgdmFsdWUgaXMgc2V0IHVwIGJ5IHRoZSBlYXJseSBib290IGNvZGUgdG8gcG9pbnQgdG8gdGhlIHZhbHVlCi0gICBpbW1lZGlhdGVseSBhZnRlciB0aGUgYm9vdCB0aW1lIHBhZ2UgdGFibGVzLiAgSXQgY29udGFpbnMgYSAqcGh5c2ljYWwqCi0gICBhZGRyZXNzLCBhbmQgbXVzdCBub3QgYmUgaW4gdGhlIC5ic3Mgc2VnbWVudCEgKi8KLXVuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfZW5kIF9faW5pdGRhdGEgPSB+MFVMOwotCi0vKgotICogTWFjaGluZSBzZXR1cC4uCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZGF0YV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJLZXJuZWwgZGF0YSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBjb2RlX3Jlc291cmNlID0gewotCS5uYW1lCT0gIktlcm5lbCBjb2RlIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIGJzc19yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJLZXJuZWwgYnNzIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHZpZGVvX3JhbV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJWaWRlbyBSQU0gYXJlYSIsCi0JLnN0YXJ0CT0gMHhhMDAwMCwKLQkuZW5kCT0gMHhiZmZmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsgewotCS5uYW1lCT0gImRtYTEiLAotCS5zdGFydAk9IDB4MDAwMCwKLQkuZW5kCT0gMHgwMDFmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJwaWMxIiwKLQkuc3RhcnQJPSAweDAwMjAsCi0JLmVuZAk9IDB4MDAyMSwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUgICA9ICJ0aW1lcjAiLAotCS5zdGFydAk9IDB4MDA0MCwKLQkuZW5kICAgID0gMHgwMDQzLAotCS5mbGFncyAgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUgICA9ICJ0aW1lcjEiLAotCS5zdGFydCAgPSAweDAwNTAsCi0JLmVuZCAgICA9IDB4MDA1MywKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAia2V5Ym9hcmQiLAotCS5zdGFydAk9IDB4MDA2MCwKLQkuZW5kCT0gMHgwMDYwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJrZXlib2FyZCIsCi0JLnN0YXJ0CT0gMHgwMDY0LAotCS5lbmQJPSAweDAwNjQsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lCT0gImRtYSBwYWdlIHJlZyIsCi0JLnN0YXJ0CT0gMHgwMDgwLAotCS5lbmQJPSAweDAwOGYsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lCT0gInBpYzIiLAotCS5zdGFydAk9IDB4MDBhMCwKLQkuZW5kCT0gMHgwMGExLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJkbWEyIiwKLQkuc3RhcnQJPSAweDAwYzAsCi0JLmVuZAk9IDB4MDBkZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAiZnB1IiwKLQkuc3RhcnQJPSAweDAwZjAsCi0JLmVuZAk9IDB4MDBmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19IH07Ci0KLS8qIGNwdSBkYXRhIGFzIGRldGVjdGVkIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGluIGhlYWQuUyAqLwotc3RydWN0IGNwdWluZm9feDg2IG5ld19jcHVfZGF0YSBfX2NwdWluaXRkYXRhID0geyAwLCAwLCAwLCAwLCAtMSwgMSwgMCwgMCwgLTEgfTsKLS8qIGNvbW1vbiBjcHUgZGF0YSBmb3IgYWxsIGNwdXMgKi8KLXN0cnVjdCBjcHVpbmZvX3g4NiBib290X2NwdV9kYXRhIF9fcmVhZF9tb3N0bHkgPSB7IDAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMSB9OwotRVhQT1JUX1NZTUJPTChib290X2NwdV9kYXRhKTsKLQotdW5zaWduZWQgaW50IGRlZl90b19iaWdzbXA7Ci0KLSNpZm5kZWYgQ09ORklHX1g4Nl9QQUUKLXVuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKLSNlbHNlCi11bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXMgPSBYODZfQ1I0X1BBRTsKLSNlbmRpZgotCi0vKiBmb3IgTUNBLCBidXQgYW55b25lIGVsc2UgY2FuIHVzZSBpdCBpZiB0aGV5IHdhbnQgKi8KLXVuc2lnbmVkIGludCBtYWNoaW5lX2lkOwotdW5zaWduZWQgaW50IG1hY2hpbmVfc3VibW9kZWxfaWQ7Ci11bnNpZ25lZCBpbnQgQklPU19yZXZpc2lvbjsKLQotLyogQm9vdCBsb2FkZXIgSUQgYXMgYW4gaW50ZWdlciwgZm9yIHRoZSBiZW5lZml0IG9mIHByb2NfZG9pbnR2ZWMgKi8KLWludCBib290bG9hZGVyX3R5cGU7Ci0KLS8qIHVzZXItZGVmaW5lZCBoaWdobWVtIHNpemUgKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgaGlnaG1lbV9wYWdlcyA9IC0xOwotCi0vKgotICogU2V0dXAgb3B0aW9ucwotICovCi1zdHJ1Y3Qgc2NyZWVuX2luZm8gc2NyZWVuX2luZm87Ci1FWFBPUlRfU1lNQk9MKHNjcmVlbl9pbmZvKTsKLXN0cnVjdCBhcG1faW5mbyBhcG1faW5mbzsKLUVYUE9SVF9TWU1CT0woYXBtX2luZm8pOwotc3RydWN0IGVkaWRfaW5mbyBlZGlkX2luZm87Ci1FWFBPUlRfU1lNQk9MX0dQTChlZGlkX2luZm8pOwotc3RydWN0IGlzdF9pbmZvIGlzdF9pbmZvOwotI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9TUEVFRFNURVBfU01JKSB8fCBcCi0JZGVmaW5lZChDT05GSUdfWDg2X1NQRUVEU1RFUF9TTUlfTU9EVUxFKQotRVhQT1JUX1NZTUJPTChpc3RfaW5mbyk7Ci0jZW5kaWYKLQotZXh0ZXJuIHZvaWQgZWFybHlfY3B1X2luaXQodm9pZCk7Ci1leHRlcm4gaW50IHJvb3RfbW91bnRmbGFnczsKLQotdW5zaWduZWQgbG9uZyBzYXZlZF92aWRlb19tb2RlOwotCi0jZGVmaW5lIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSwkweDA3RkYKLSNkZWZpbmUgUkFNRElTS19QUk9NUFRfRkxBRwkJMHg4MDAwCi0jZGVmaW5lIFJBTURJU0tfTE9BRF9GTEFHCQkweDQwMDAKLQotc3RhdGljIGNoYXIgX19pbml0ZGF0YSBjb21tYW5kX2xpbmVbQ09NTUFORF9MSU5FX1NJWkVdOwotCi0jaWZuZGVmIENPTkZJR19ERUJVR19CT09UX1BBUkFNUwotc3RydWN0IGJvb3RfcGFyYW1zIF9faW5pdGRhdGEgYm9vdF9wYXJhbXM7Ci0jZWxzZQotc3RydWN0IGJvb3RfcGFyYW1zIGJvb3RfcGFyYW1zOwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCi1zdHJ1Y3QgZWRkIGVkZDsKLSNpZmRlZiBDT05GSUdfRUREX01PRFVMRQotRVhQT1JUX1NZTUJPTChlZGQpOwotI2VuZGlmCi0vKioKLSAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgotICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKLXsKLSAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCi0JICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOwotICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKLSAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKLSAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotaW50IF9faW5pdGRhdGEgdXNlcl9kZWZpbmVkX21lbW1hcDsKLQotLyoKLSAqICJtZW09bm9wZW50aXVtIiBkaXNhYmxlcyB0aGUgNE1CIHBhZ2UgdGFibGVzLgotICogIm1lbT1YWFhba0ttTV0iIGRlZmluZXMgYSBtZW1vcnkgcmVnaW9uIGZyb20gSElHSF9NRU0KLSAqIHRvIDxtZW0+LCBvdmVycmlkaW5nIHRoZSBiaW9zIHNpemUuCi0gKiAibWVtbWFwPVhYWFtLa21NXUBYWFhbS2ttTV0iIGRlZmluZXMgYSBtZW1vcnkgcmVnaW9uIGZyb20KLSAqIDxzdGFydD4gdG8gPHN0YXJ0Pis8bWVtPiwgb3ZlcnJpZGluZyB0aGUgYmlvcyBzaXplLgotICoKLSAqIEhQQSB0ZWxscyBtZSBib290bG9hZGVycyBuZWVkIHRvIHBhcnNlIG1lbT0sIHNvIG5vIG5ldwotICogb3B0aW9uIHNob3VsZCBiZSBtZW09ICBbYWxzbyBzZWUgRG9jdW1lbnRhdGlvbi9pMzg2L2Jvb3QudHh0XQotICovCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW0oY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWlmIChzdHJjbXAoYXJnLCAibm9wZW50aXVtIikgPT0gMCkgewotCQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1BTRSk7Ci0JfSBlbHNlIHsKLQkJLyogSWYgdGhlIHVzZXIgc3BlY2lmaWVzIG1lbW9yeSBzaXplLCB3ZQotCQkgKiBsaW1pdCB0aGUgQklPUy1wcm92aWRlZCBtZW1vcnkgbWFwIHRvCi0JCSAqIHRoYXQgc2l6ZS4gZXhhY3RtYXAgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeQotCQkgKiB0aGUgZXhhY3QgbWFwLiBtZW09bnVtYmVyIGNhbiBiZSB1c2VkIHRvCi0JCSAqIHRyaW0gdGhlIGV4aXN0aW5nIG1lbW9yeSBtYXAuCi0JCSAqLwotCQl1bnNpZ25lZCBsb25nIGxvbmcgbWVtX3NpemU7Ci0KLQkJbWVtX3NpemUgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCQlsaW1pdF9yZWdpb25zKG1lbV9zaXplKTsKLQkJdXNlcl9kZWZpbmVkX21lbW1hcCA9IDE7Ci0JfQotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oIm1lbSIsIHBhcnNlX21lbSk7Ci0KLSNpZmRlZiBDT05GSUdfUFJPQ19WTUNPUkUKLS8qIGVsZmNvcmVoZHI9IHNwZWNpZmllcyB0aGUgbG9jYXRpb24gb2YgZWxmIGNvcmUgaGVhZGVyCi0gKiBzdG9yZWQgYnkgdGhlIGNyYXNoZWQga2VybmVsLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9lbGZjb3JlaGRyKGNoYXIgKmFyZykKLXsKLQlpZiAoIWFyZykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQllbGZjb3JlaGRyX2FkZHIgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oImVsZmNvcmVoZHIiLCBwYXJzZV9lbGZjb3JlaGRyKTsKLSNlbmRpZiAvKiBDT05GSUdfUFJPQ19WTUNPUkUgKi8KLQotLyoKLSAqIGhpZ2htZW09c2l6ZSBmb3JjZXMgaGlnaG1lbSB0byBiZSBleGFjdGx5ICdzaXplJyBieXRlcy4KLSAqIFRoaXMgd29ya3MgZXZlbiBvbiBib3hlcyB0aGF0IGhhdmUgbm8gaGlnaG1lbSBvdGhlcndpc2UuCi0gKiBUaGlzIGFsc28gd29ya3MgdG8gcmVkdWNlIGhpZ2htZW0gc2l6ZSBvbiBiaWdnZXIgYm94ZXMuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2hpZ2htZW0oY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWhpZ2htZW1fcGFnZXMgPSBtZW1wYXJzZShhcmcsICZhcmcpID4+IFBBR0VfU0hJRlQ7Ci0JcmV0dXJuIDA7Ci19Ci1lYXJseV9wYXJhbSgiaGlnaG1lbSIsIHBhcnNlX2hpZ2htZW0pOwotCi0vKgotICogdm1hbGxvYz1zaXplIGZvcmNlcyB0aGUgdm1hbGxvYyBhcmVhIHRvIGJlIGV4YWN0bHkgJ3NpemUnCi0gKiBieXRlcy4gVGhpcyBjYW4gYmUgdXNlZCB0byBpbmNyZWFzZSAob3IgZGVjcmVhc2UpIHRoZQotICogdm1hbGxvYyBhcmVhIC0gdGhlIGRlZmF1bHQgaXMgMTI4bS4KLSAqLwotc3RhdGljIGludCBfX2luaXQgcGFyc2Vfdm1hbGxvYyhjaGFyICphcmcpCi17Ci0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JX19WTUFMTE9DX1JFU0VSVkUgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oInZtYWxsb2MiLCBwYXJzZV92bWFsbG9jKTsKLQotLyoKLSAqIHJlc2VydmV0b3A9c2l6ZSByZXNlcnZlcyBhIGhvbGUgYXQgdGhlIHRvcCBvZiB0aGUga2VybmVsIGFkZHJlc3Mgc3BhY2Ugd2hpY2gKLSAqIGEgaHlwZXJ2aXNvciBjYW4gbG9hZCBpbnRvIGxhdGVyLiAgTmVlZGVkIGZvciBkeW5hbWljYWxseSBsb2FkZWQgaHlwZXJ2aXNvcnMsCi0gKiBzbyByZWxvY2F0aW5nIHRoZSBmaXhtYXAgY2FuIGJlIGRvbmUgYmVmb3JlIHBhZ2luZyBpbml0aWFsaXphdGlvbi4KLSAqLwotc3RhdGljIGludCBfX2luaXQgcGFyc2VfcmVzZXJ2ZXRvcChjaGFyICphcmcpCi17Ci0JdW5zaWduZWQgbG9uZyBhZGRyZXNzOwotCi0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JYWRkcmVzcyA9IG1lbXBhcnNlKGFyZywgJmFyZyk7Ci0JcmVzZXJ2ZV90b3BfYWRkcmVzcyhhZGRyZXNzKTsKLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJyZXNlcnZldG9wIiwgcGFyc2VfcmVzZXJ2ZXRvcCk7Ci0KLS8qCi0gKiBEZXRlcm1pbmUgbG93IGFuZCBoaWdoIG1lbW9yeSByYW5nZXM6Ci0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfbWF4X2xvd19wZm4odm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuOwotCi0JbWF4X2xvd19wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfbG93X3BmbiA+IE1BWE1FTV9QRk4pIHsKLQkJaWYgKGhpZ2htZW1fcGFnZXMgPT0gLTEpCi0JCQloaWdobWVtX3BhZ2VzID0gbWF4X3BmbiAtIE1BWE1FTV9QRk47Ci0JCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA8IG1heF9wZm4pCi0JCQltYXhfcGZuID0gTUFYTUVNX1BGTiArIGhpZ2htZW1fcGFnZXM7Ci0JCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA+IG1heF9wZm4pIHsKLQkJCXByaW50aygib25seSAlbHVNQiBoaWdobWVtIHBhZ2VzIGF2YWlsYWJsZSwgaWdub3JpbmcgaGlnaG1lbSBzaXplIG9mICV1TUIuXG4iLCBwYWdlc190b19tYihtYXhfcGZuIC0gTUFYTUVNX1BGTiksIHBhZ2VzX3RvX21iKGhpZ2htZW1fcGFnZXMpKTsKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQl9Ci0JCW1heF9sb3dfcGZuID0gTUFYTUVNX1BGTjsKLSNpZm5kZWYgQ09ORklHX0hJR0hNRU0KLQkJLyogTWF4aW11bSBtZW1vcnkgdXNhYmxlIGlzIHdoYXQgaXMgZGlyZWN0bHkgYWRkcmVzc2FibGUgKi8KLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiV2FybmluZyBvbmx5ICVsZE1CIHdpbGwgYmUgdXNlZC5cbiIsCi0JCQkJCU1BWE1FTT4+MjApOwotCQlpZiAobWF4X3BmbiA+IE1BWF9OT05QQUVfUEZOKQotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVXNlIGEgSElHSE1FTTY0RyBlbmFibGVkIGtlcm5lbC5cbiIpOwotCQllbHNlCi0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJVc2UgYSBISUdITUVNIGVuYWJsZWQga2VybmVsLlxuIik7Ci0JCW1heF9wZm4gPSBNQVhNRU1fUEZOOwotI2Vsc2UgLyogIUNPTkZJR19ISUdITUVNICovCi0jaWZuZGVmIENPTkZJR19ISUdITUVNNjRHCi0JCWlmIChtYXhfcGZuID4gTUFYX05PTlBBRV9QRk4pIHsKLQkJCW1heF9wZm4gPSBNQVhfTk9OUEFFX1BGTjsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIldhcm5pbmcgb25seSA0R0Igd2lsbCBiZSB1c2VkLlxuIik7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJVc2UgYSBISUdITUVNNjRHIGVuYWJsZWQga2VybmVsLlxuIik7Ci0JCX0KLSNlbmRpZiAvKiAhQ09ORklHX0hJR0hNRU02NEcgKi8KLSNlbmRpZiAvKiAhQ09ORklHX0hJR0hNRU0gKi8KLQl9IGVsc2UgewotCQlpZiAoaGlnaG1lbV9wYWdlcyA9PSAtMSkKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JCWlmIChoaWdobWVtX3BhZ2VzID49IG1heF9wZm4pIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplIHNwZWNpZmllZCAoJXVNQikgaXMgYmlnZ2VyIHRoYW4gcGFnZXMgYXZhaWxhYmxlICglbHVNQikhLlxuIiwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcyksIHBhZ2VzX3RvX21iKG1heF9wZm4pKTsKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQl9Ci0JCWlmIChoaWdobWVtX3BhZ2VzKSB7Ci0JCQlpZiAobWF4X2xvd19wZm4taGlnaG1lbV9wYWdlcyA8IDY0KjEwMjQqMTAyNC9QQUdFX1NJWkUpewotCQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplICV1TUIgcmVzdWx0cyBpbiBzbWFsbGVyIHRoYW4gNjRNQiBsb3dtZW0sIGlnbm9yaW5nIGl0LlxuIiwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcykpOwotCQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQkJfQotCQkJbWF4X2xvd19wZm4gLT0gaGlnaG1lbV9wYWdlczsKLQkJfQotI2Vsc2UKLQkJaWYgKGhpZ2htZW1fcGFnZXMpCi0JCQlwcmludGsoS0VSTl9FUlIgImlnbm9yaW5nIGhpZ2htZW0gc2l6ZSBvbiBub24taGlnaG1lbSBrZXJuZWwhXG4iKTsKLSNlbmRpZgotCX0KLQlyZXR1cm4gbWF4X2xvd19wZm47Ci19Ci0KLSNkZWZpbmUgQklPU19MT1dNRU1fS0lMT0JZVEVTIDB4NDEzCi0KLS8qCi0gKiBUaGUgQklPUyBwbGFjZXMgdGhlIEVCREEvWEJEQSBhdCB0aGUgdG9wIG9mIGNvbnZlbnRpb25hbAotICogbWVtb3J5LCBhbmQgdXN1YWxseSBkZWNyZWFzZXMgdGhlIHJlcG9ydGVkIGFtb3VudCBvZgotICogY29udmVudGlvbmFsIG1lbW9yeSAoaW50IDB4MTIpIHRvby4gVGhpcyBhbHNvIGNvbnRhaW5zIGEKLSAqIHdvcmthcm91bmQgZm9yIERlbGwgc3lzdGVtcyB0aGF0IG5lZ2xlY3QgdG8gcmVzZXJ2ZSBFQkRBLgotICogVGhlIHNhbWUgd29ya2Fyb3VuZCBhbHNvIGF2b2lkcyBhIHByb2JsZW0gd2l0aCB0aGUgQU1ENzY4TVBYCi0gKiBjaGlwc2V0OiByZXNlcnZlIGEgcGFnZSBiZWZvcmUgVkdBIHRvIHByZXZlbnQgUENJIHByZWZldGNoCi0gKiBpbnRvIGl0IChlcnJhdGEgIzU2KS4gVXN1YWxseSB0aGUgcGFnZSBpcyByZXNlcnZlZCBhbnl3YXlzLAotICogdW5sZXNzIHlvdSBoYXZlIG5vIFBTLzIgbW91c2UgcGx1Z2dlZCBpbi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgbG93bWVtLCBlYmRhX2FkZHI7Ci0KLQkvKiBUbyBkZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBFQkRBIGFuZCB0aGUgKi8KLQkvKiBlbmQgb2YgY29udmVudGlvbmFsIG1lbW9yeSwgd2UgbmVlZCB0byBsb29rIGF0ICovCi0JLyogdGhlIEJJT1MgZGF0YSBhcmVhLiBJbiBhIHBhcmF2aXJ0dWFsIGVudmlyb25tZW50ICovCi0JLyogdGhhdCBhcmVhIGlzIGFic2VudC4gV2UnbGwganVzdCBoYXZlIHRvIGFzc3VtZSAqLwotCS8qIHRoYXQgdGhlIHBhcmF2aXJ0IGNhc2UgY2FuIGhhbmRsZSBtZW1vcnkgc2V0dXAgKi8KLQkvKiBjb3JyZWN0bHksIHdpdGhvdXQgb3VyIGhlbHAuICovCi0JaWYgKHBhcmF2aXJ0X2VuYWJsZWQoKSkKLQkJcmV0dXJuOwotCi0JLyogZW5kIG9mIGxvdyAoY29udmVudGlvbmFsKSBtZW1vcnkgKi8KLQlsb3dtZW0gPSAqKHVuc2lnbmVkIHNob3J0ICopX192YShCSU9TX0xPV01FTV9LSUxPQllURVMpOwotCWxvd21lbSA8PD0gMTA7Ci0KLQkvKiBzdGFydCBvZiBFQkRBIGFyZWEgKi8KLQllYmRhX2FkZHIgPSBnZXRfYmlvc19lYmRhKCk7Ci0KLQkvKiBGaXh1cDogYmlvcyBwdXRzIGFuIEVCREEgaW4gdGhlIHRvcCA2NEsgc2VnbWVudCAqLwotCS8qIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIGJ1dCBkb2VzIG5vdCBhZGp1c3QgbG93bWVtLiAqLwotCWlmICgobG93bWVtIC0gZWJkYV9hZGRyKSA8PSAweDEwMDAwKQotCQlsb3dtZW0gPSBlYmRhX2FkZHI7Ci0KLQkvKiBGaXh1cDogYmlvcyBkb2VzIG5vdCByZXBvcnQgYW4gRUJEQSBhdCBhbGwuICovCi0JLyogU29tZSBvbGQgRGVsbHMgc2VlbSB0byBuZWVkIDRrIGFueWhvdyAoYnVnemlsbGEgMjk5MCkgKi8KLQlpZiAoKGViZGFfYWRkciA9PSAwKSAmJiAobG93bWVtID49IDB4OWYwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogUGFyYW5vaWE6IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dC4uLiAqLwotCWlmICgobG93bWVtID09IDApIHx8IChsb3dtZW0gPj0gMHgxMDAwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogcmVzZXJ2ZSBhbGwgbWVtb3J5IGJldHdlZW4gbG93bWVtIGFuZCB0aGUgMU1CIG1hcmsgKi8KLQlyZXNlcnZlX2Jvb3RtZW0obG93bWVtLCAweDEwMDAwMCAtIGxvd21lbSwgQk9PVE1FTV9ERUZBVUxUKTsKLX0KLQotI2lmbmRlZiBDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IHNldHVwX21lbW9yeSh2b2lkKQotewotCS8qCi0JICogcGFydGlhbGx5IHVzZWQgcGFnZXMgYXJlIG5vdCB1c2FibGUgLSB0aHVzCi0JICogd2UgYXJlIHJvdW5kaW5nIHVwd2FyZHM6Ci0JICovCi0JbWluX2xvd19wZm4gPSBQRk5fVVAoaW5pdF9wZ190YWJsZXNfZW5kKTsKLQotCW1heF9sb3dfcGZuID0gZmluZF9tYXhfbG93X3BmbigpOwotCi0jaWZkZWYgQ09ORklHX0hJR0hNRU0KLQloaWdoc3RhcnRfcGZuID0gaGlnaGVuZF9wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfcGZuID4gbWF4X2xvd19wZm4pIHsKLQkJaGlnaHN0YXJ0X3BmbiA9IG1heF9sb3dfcGZuOwotCX0KLQlwcmludGsoS0VSTl9OT1RJQ0UgIiVsZE1CIEhJR0hNRU0gYXZhaWxhYmxlLlxuIiwKLQkJcGFnZXNfdG9fbWIoaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuKSk7Ci0JbnVtX3BoeXNwYWdlcyA9IGhpZ2hlbmRfcGZuOwotCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShoaWdoc3RhcnRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotI2Vsc2UKLQludW1fcGh5c3BhZ2VzID0gbWF4X2xvd19wZm47Ci0JaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKG1heF9sb3dfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0ZMQVRNRU0KLQltYXhfbWFwbnIgPSBudW1fcGh5c3BhZ2VzOwotI2VuZGlmCi0JcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBMT1dNRU0gYXZhaWxhYmxlLlxuIiwKLQkJCXBhZ2VzX3RvX21iKG1heF9sb3dfcGZuKSk7Ci0KLQlzZXR1cF9ib290bWVtX2FsbG9jYXRvcigpOwotCi0JcmV0dXJuIG1heF9sb3dfcGZuOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBtYXhfem9uZV9wZm5zW01BWF9OUl9aT05FU107Ci0JbWVtc2V0KG1heF96b25lX3BmbnMsIDAsIHNpemVvZihtYXhfem9uZV9wZm5zKSk7Ci0JbWF4X3pvbmVfcGZuc1taT05FX0RNQV0gPQotCQl2aXJ0X3RvX3BoeXMoKGNoYXIgKilNQVhfRE1BX0FERFJFU1MpID4+IFBBR0VfU0hJRlQ7Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBtYXhfbG93X3BmbjsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCW1heF96b25lX3BmbnNbWk9ORV9ISUdITUVNXSA9IGhpZ2hlbmRfcGZuOwotCWFkZF9hY3RpdmVfcmFuZ2UoMCwgMCwgaGlnaGVuZF9wZm4pOwotI2Vsc2UKLQlhZGRfYWN0aXZlX3JhbmdlKDAsIDAsIG1heF9sb3dfcGZuKTsKLSNlbmRpZgotCi0JZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7Ci19Ci0jZWxzZQotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19pbml0IHNldHVwX21lbW9yeSh2b2lkKTsKLWV4dGVybiB2b2lkIHpvbmVfc2l6ZXNfaW5pdCh2b2lkKTsKLSNlbmRpZiAvKiAhQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMgKi8KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGxvbmcgZ2V0X3RvdGFsX21lbSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbDsKLQotCXRvdGFsID0gbWF4X2xvd19wZm4gLSBtaW5fbG93X3BmbjsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCXRvdGFsICs9IGhpZ2hlbmRfcGZuIC0gaGlnaHN0YXJ0X3BmbjsKLSNlbmRpZgotCi0JcmV0dXJuIHRvdGFsIDw8IFBBR0VfU0hJRlQ7Ci19Ci0KLSNpZmRlZiBDT05GSUdfS0VYRUMKLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsX21lbTsKLQl1bnNpZ25lZCBsb25nIGxvbmcgY3Jhc2hfc2l6ZSwgY3Jhc2hfYmFzZTsKLQlpbnQgcmV0OwotCi0JdG90YWxfbWVtID0gZ2V0X3RvdGFsX21lbSgpOwotCi0JcmV0ID0gcGFyc2VfY3Jhc2hrZXJuZWwoYm9vdF9jb21tYW5kX2xpbmUsIHRvdGFsX21lbSwKLQkJCSZjcmFzaF9zaXplLCAmY3Jhc2hfYmFzZSk7Ci0JaWYgKHJldCA9PSAwICYmIGNyYXNoX3NpemUgPiAwKSB7Ci0JCWlmIChjcmFzaF9iYXNlID4gMCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nICVsZE1CIG9mIG1lbW9yeSBhdCAlbGRNQiAiCi0JCQkJCSJmb3IgY3Jhc2hrZXJuZWwgKFN5c3RlbSBSQU06ICVsZE1CKVxuIiwKLQkJCQkJKHVuc2lnbmVkIGxvbmcpKGNyYXNoX3NpemUgPj4gMjApLAotCQkJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfYmFzZSA+PiAyMCksCi0JCQkJCSh1bnNpZ25lZCBsb25nKSh0b3RhbF9tZW0gPj4gMjApKTsKLQotCQkJaWYgKHJlc2VydmVfYm9vdG1lbShjcmFzaF9iYXNlLCBjcmFzaF9zaXplLAotCQkJCQlCT09UTUVNX0VYQ0xVU0lWRSkgPCAwKSB7Ci0JCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gIgotCQkJCQkiZmFpbGVkIC0gbWVtb3J5IGlzIGluIHVzZVxuIik7Ci0JCQkJcmV0dXJuOwotCQkJfQotCi0JCQljcmFzaGtfcmVzLnN0YXJ0ID0gY3Jhc2hfYmFzZTsKLQkJCWNyYXNoa19yZXMuZW5kICAgPSBjcmFzaF9iYXNlICsgY3Jhc2hfc2l6ZSAtIDE7Ci0JCX0gZWxzZQotCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkIC0gIgotCQkJCQkieW91IGhhdmUgdG8gc3BlY2lmeSBhIGJhc2UgYWRkcmVzc1xuIik7Ci0JfQotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgcmVzZXJ2ZV9jcmFzaGtlcm5lbCh2b2lkKQote30KLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECi0KLXN0YXRpYyBib29sIGRvX3JlbG9jYXRlX2luaXRyZCA9IGZhbHNlOwotCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9pbml0cmQodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZTsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOwotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7Ci0JdW5zaWduZWQgbG9uZyBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaGVyZTsKLQotCWluaXRyZF9zdGFydCA9IDA7Ci0KLQlpZiAoIWJvb3RfcGFyYW1zLmhkci50eXBlX29mX2xvYWRlciB8fAotCSAgICAhcmFtZGlza19pbWFnZSB8fCAhcmFtZGlza19zaXplKQotCQlyZXR1cm47CQkvKiBObyBpbml0cmQgcHJvdmlkZWQgYnkgYm9vdGxvYWRlciAqLwotCi0JaWYgKHJhbWRpc2tfZW5kIDwgcmFtZGlza19pbWFnZSkgewotCQlwcmludGsoS0VSTl9FUlIgImluaXRyZCB3cmFwcyBhcm91bmQgZW5kIG9mIG1lbW9yeSwgIgotCQkgICAgICAgImRpc2FibGluZyBpbml0cmRcbiIpOwotCQlyZXR1cm47Ci0JfQotCWlmIChyYW1kaXNrX3NpemUgPj0gZW5kX29mX2xvd21lbS8yKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIHRvbyBsYXJnZSB0byBoYW5kbGUsICIKLQkJICAgICAgICJkaXNhYmxpbmcgaW5pdHJkXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlpZiAocmFtZGlza19lbmQgPD0gZW5kX29mX2xvd21lbSkgewotCQkvKiBBbGwgaW4gbG93bWVtLCBlYXN5IGNhc2UgKi8KLQkJcmVzZXJ2ZV9ib290bWVtKHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKLQkJaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19pbWFnZSArIFBBR0VfT0ZGU0VUOwotCQlpbml0cmRfZW5kID0gaW5pdHJkX3N0YXJ0K3JhbWRpc2tfc2l6ZTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIFdlIG5lZWQgdG8gbW92ZSB0aGUgaW5pdHJkIGRvd24gaW50byBsb3dtZW0gKi8KLQlyYW1kaXNrX2hlcmUgPSAoZW5kX29mX2xvd21lbSAtIHJhbWRpc2tfc2l6ZSkgJiBQQUdFX01BU0s7Ci0KLQkvKiBOb3RlOiB0aGlzIGluY2x1ZGVzIGFsbCB0aGUgbG93bWVtIGN1cnJlbnRseSBvY2N1cGllZCBieQotCSAgIHRoZSBpbml0cmQsIHdlIHJlbHkgb24gdGhhdCBmYWN0IHRvIGtlZXAgdGhlIGRhdGEgaW50YWN0LiAqLwotCXJlc2VydmVfYm9vdG1lbShyYW1kaXNrX2hlcmUsIHJhbWRpc2tfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKLQlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2hlcmUgKyBQQUdFX09GRlNFVDsKLQlpbml0cmRfZW5kICAgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7Ci0KLQlkb19yZWxvY2F0ZV9pbml0cmQgPSB0cnVlOwotfQotCi0jZGVmaW5lIE1BWF9NQVBfQ0hVTksJKE5SX0ZJWF9CVE1BUFMgPDwgUEFHRV9TSElGVCkKLQotc3RhdGljIHZvaWQgX19pbml0IHJlbG9jYXRlX2luaXRyZCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOwotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19zaXplICA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemU7Ci0JdW5zaWduZWQgbG9uZyBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaGVyZTsKLQl1bnNpZ25lZCBsb25nIHNsb3AsIGNsZW4sIG1hcGFkZHI7Ci0JY2hhciAqcCwgKnE7Ci0KLQlpZiAoIWRvX3JlbG9jYXRlX2luaXRyZCkKLQkJcmV0dXJuOwotCi0JcmFtZGlza19oZXJlID0gaW5pdHJkX3N0YXJ0IC0gUEFHRV9PRkZTRVQ7Ci0KLQlxID0gKGNoYXIgKilpbml0cmRfc3RhcnQ7Ci0KLQkvKiBDb3B5IGFueSBsb3dtZW0gcG9ydGlvbiBvZiB0aGUgaW5pdHJkICovCi0JaWYgKHJhbWRpc2tfaW1hZ2UgPCBlbmRfb2ZfbG93bWVtKSB7Ci0JCWNsZW4gPSBlbmRfb2ZfbG93bWVtIC0gcmFtZGlza19pbWFnZTsKLQkJcCA9IChjaGFyICopX192YShyYW1kaXNrX2ltYWdlKTsKLQkJbWVtY3B5KHEsIHAsIGNsZW4pOwotCQlxICs9IGNsZW47Ci0JCXJhbWRpc2tfaW1hZ2UgKz0gY2xlbjsKLQkJcmFtZGlza19zaXplICAtPSBjbGVuOwotCX0KLQotCS8qIENvcHkgdGhlIGhpZ2htZW0gcG9ydGlvbiBvZiB0aGUgaW5pdHJkICovCi0Jd2hpbGUgKHJhbWRpc2tfc2l6ZSkgewotCQlzbG9wID0gcmFtZGlza19pbWFnZSAmIH5QQUdFX01BU0s7Ci0JCWNsZW4gPSByYW1kaXNrX3NpemU7Ci0JCWlmIChjbGVuID4gTUFYX01BUF9DSFVOSy1zbG9wKQotCQkJY2xlbiA9IE1BWF9NQVBfQ0hVTkstc2xvcDsKLQkJbWFwYWRkciA9IHJhbWRpc2tfaW1hZ2UgJiBQQUdFX01BU0s7Ci0JCXAgPSBlYXJseV9pb3JlbWFwKG1hcGFkZHIsIGNsZW4rc2xvcCk7Ci0JCW1lbWNweShxLCBwK3Nsb3AsIGNsZW4pOwotCQllYXJseV9pb3VubWFwKHAsIGNsZW4rc2xvcCk7Ci0JCXEgKz0gY2xlbjsKLQkJcmFtZGlza19pbWFnZSArPSBjbGVuOwotCQlyYW1kaXNrX3NpemUgIC09IGNsZW47Ci0JfQotfQotCi0jZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSU5JVFJEICovCi0KLXZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBib290bWFwX3NpemU7Ci0JLyoKLQkgKiBJbml0aWFsaXplIHRoZSBib290LXRpbWUgYWxsb2NhdG9yICh3aXRoIGxvdyBtZW1vcnkgb25seSk6Ci0JICovCi0JYm9vdG1hcF9zaXplID0gaW5pdF9ib290bWVtKG1pbl9sb3dfcGZuLCBtYXhfbG93X3Bmbik7Ci0KLQlyZWdpc3Rlcl9ib290bWVtX2xvd19wYWdlcyhtYXhfbG93X3Bmbik7Ci0KLQkvKgotCSAqIFJlc2VydmUgdGhlIGJvb3RtZW0gYml0bWFwIGl0c2VsZiBhcyB3ZWxsLiBXZSBkbyB0aGlzIGluIHR3bwotCSAqIHN0ZXBzIChmaXJzdCBzdGVwIHdhcyBpbml0X2Jvb3RtZW0oKSkgYmVjYXVzZSB0aGlzIGNhdGNoZXMKLQkgKiB0aGUgKHZlcnkgdW5saWtlbHkpIGNhc2Ugb2YgdXMgYWNjaWRlbnRhbGx5IGluaXRpYWxpemluZyB0aGUKLQkgKiBib290bWVtIGFsbG9jYXRvciB3aXRoIGFuIGludmFsaWQgUkFNIGFyZWEuCi0JICovCi0JcmVzZXJ2ZV9ib290bWVtKF9fcGFfc3ltYm9sKF90ZXh0KSwgKFBGTl9QSFlTKG1pbl9sb3dfcGZuKSArCi0JCQkgYm9vdG1hcF9zaXplICsgUEFHRV9TSVpFLTEpIC0gX19wYV9zeW1ib2woX3RleHQpLAotCQkJIEJPT1RNRU1fREVGQVVMVCk7Ci0KLQkvKgotCSAqIHJlc2VydmUgcGh5c2ljYWwgcGFnZSAwIC0gaXQncyBhIHNwZWNpYWwgQklPUyBwYWdlIG9uIG1hbnkgYm94ZXMsCi0JICogZW5hYmxpbmcgY2xlYW4gcmVib290cywgU01QIG9wZXJhdGlvbiwgbGFwdG9wIGZ1bmN0aW9ucy4KLQkgKi8KLQlyZXNlcnZlX2Jvb3RtZW0oMCwgUEFHRV9TSVpFLCBCT09UTUVNX0RFRkFVTFQpOwotCi0JLyogcmVzZXJ2ZSBFQkRBIHJlZ2lvbiAqLwotCXJlc2VydmVfZWJkYV9yZWdpb24oKTsKLQotI2lmZGVmIENPTkZJR19TTVAKLQkvKgotCSAqIEJ1dCBmaXJzdCBwaW5jaCBhIGZldyBmb3IgdGhlIHN0YWNrL3RyYW1wb2xpbmUgc3R1ZmYKLQkgKiBGSVhNRTogRG9uJ3QgbmVlZCB0aGUgZXh0cmEgcGFnZSBhdCA0SywgYnV0IG5lZWQgdG8gZml4Ci0JICogdHJhbXBvbGluZSBiZWZvcmUgcmVtb3ZpbmcgaXQuIChzZWUgdGhlIEdEVCBzdHVmZikKLQkgKi8KLQlyZXNlcnZlX2Jvb3RtZW0oUEFHRV9TSVpFLCBQQUdFX1NJWkUsIEJPT1RNRU1fREVGQVVMVCk7Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfQUNQSV9TTEVFUAotCS8qCi0JICogUmVzZXJ2ZSBsb3cgbWVtb3J5IHJlZ2lvbiBmb3Igc2xlZXAgc3VwcG9ydC4KLQkgKi8KLQlhY3BpX3Jlc2VydmVfYm9vdG1lbSgpOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX1g4Nl9GSU5EX1NNUF9DT05GSUcKLQkvKgotCSAqIEZpbmQgYW5kIHJlc2VydmUgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgotCSAqLwotCWZpbmRfc21wX2NvbmZpZygpOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECi0JcmVzZXJ2ZV9pbml0cmQoKTsKLSNlbmRpZgotCW51bWFfa3ZhX3Jlc2VydmUoKTsKLQlyZXNlcnZlX2NyYXNoa2VybmVsKCk7Ci0KLQlyZXNlcnZlX2liZnRfcmVnaW9uKCk7Ci19Ci0KLS8qCi0gKiBUaGUgbm9kZSAwIHBnZGF0IGlzIGluaXRpYWxpemVkIGJlZm9yZSBhbGwgb2YgdGhlc2UgYmVjYXVzZQotICogaXQncyBuZWVkZWQgZm9yIGJvb3RtZW0uICBub2RlPjAgcGdkYXRzIGhhdmUgdGhlaXIgdmlydHVhbAotICogc3BhY2UgYWxsb2NhdGVkIGJlZm9yZSB0aGUgcGFnZXRhYmxlcyBhcmUgaW4gcGxhY2UgdG8gYWNjZXNzCi0gKiB0aGVtLCBzbyB0aGV5IGNhbid0IGJlIGNsZWFyZWQgdGhlbi4KLSAqCi0gKiBUaGlzIHNob3VsZCBhbGwgY29tcGlsZSBkb3duIHRvIG5vdGhpbmcgd2hlbiBOVU1BIGlzIG9mZi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlbWFwcGVkX3BnZGF0X2luaXQodm9pZCkKLXsKLQlpbnQgbmlkOwotCi0JZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7Ci0JCWlmIChuaWQgIT0gMCkKLQkJCW1lbXNldChOT0RFX0RBVEEobmlkKSwgMCwgc2l6ZW9mKHN0cnVjdCBwZ2xpc3RfZGF0YSkpOwotCX0KLX0KLQotI2lmZGVmIENPTkZJR19NQ0EKLXN0YXRpYyB2b2lkIHNldF9tY2FfYnVzKGludCB4KQotewotCU1DQV9idXMgPSB4OwotfQotI2Vsc2UKLXN0YXRpYyB2b2lkIHNldF9tY2FfYnVzKGludCB4KSB7IH0KLSNlbmRpZgotCi0vKiBPdmVycmlkZGVuIGluIHBhcmF2aXJ0LmMgaWYgQ09ORklHX1BBUkFWSVJUICovCi1jaGFyICogX19pbml0IF9fYXR0cmlidXRlX18oKHdlYWspKSBtZW1vcnlfc2V0dXAodm9pZCkKLXsKLQlyZXR1cm4gbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAoKTsKLX0KLQotI2lmZGVmIENPTkZJR19OVU1BCi0vKgotICogSW4gdGhlIGdvbGRlbiBkYXksIHdoZW4gZXZlcnl0aGluZyBhbW9uZyBpMzg2IGFuZCB4ODZfNjQgd2lsbCBiZQotICogaW50ZWdyYXRlZCwgdGhpcyB3aWxsIG5vdCBsaXZlIGhlcmUKLSAqLwotdm9pZCAqeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci1pbnQgeDg2X2NwdV90b19ub2RlX21hcF9pbml0W05SX0NQVVNdID0gewotCVswIC4uLiBOUl9DUFVTLTFdID0gTlVNQV9OT19OT0RFCi19OwotREVGSU5FX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTUFfTk9fTk9ERTsKLSNlbmRpZgotCi0vKgotICogRGV0ZXJtaW5lIGlmIHdlIHdlcmUgbG9hZGVkIGJ5IGFuIEVGSSBsb2FkZXIuICBJZiBzbywgdGhlbiB3ZSBoYXZlIGFsc28gYmVlbgotICogcGFzc2VkIHRoZSBlZmkgbWVtbWFwLCBzeXN0YWIsIGV0Yy4sIHNvIHdlIHNob3VsZCB1c2UgdGhlc2UgZGF0YSBzdHJ1Y3R1cmVzCi0gKiBmb3IgaW5pdGlhbGl6YXRpb24uICBOb3RlLCB0aGUgZWZpIGluaXQgY29kZSBwYXRoIGlzIGRldGVybWluZWQgYnkgdGhlCi0gKiBnbG9iYWwgZWZpX2VuYWJsZWQuIFRoaXMgYWxsb3dzIHRoZSBzYW1lIGtlcm5lbCBpbWFnZSB0byBiZSB1c2VkIG9uIGV4aXN0aW5nCi0gKiBzeXN0ZW1zICh3aXRoIGEgdHJhZGl0aW9uYWwgQklPUykgYXMgd2VsbCBhcyBvbiBFRkkgc3lzdGVtcy4KLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfYXJjaChjaGFyICoqY21kbGluZV9wKQotewotCXVuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm47Ci0KLQltZW1jcHkoJmJvb3RfY3B1X2RhdGEsICZuZXdfY3B1X2RhdGEsIHNpemVvZihuZXdfY3B1X2RhdGEpKTsKLQlwcmVfc2V0dXBfYXJjaF9ob29rKCk7Ci0JZWFybHlfY3B1X2luaXQoKTsKLQllYXJseV9pb3JlbWFwX2luaXQoKTsKLQotI2lmZGVmIENPTkZJR19FRkkKLQlpZiAoIXN0cm5jbXAoKGNoYXIgKikmYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX2xvYWRlcl9zaWduYXR1cmUsCi0JCSAgICAgIkVMMzIiLCA0KSkKLQkJZWZpX2VuYWJsZWQgPSAxOwotI2VuZGlmCi0KLQlST09UX0RFViA9IG9sZF9kZWNvZGVfZGV2KGJvb3RfcGFyYW1zLmhkci5yb290X2Rldik7Ci0Jc2NyZWVuX2luZm8gPSBib290X3BhcmFtcy5zY3JlZW5faW5mbzsKLQllZGlkX2luZm8gPSBib290X3BhcmFtcy5lZGlkX2luZm87Ci0JYXBtX2luZm8uYmlvcyA9IGJvb3RfcGFyYW1zLmFwbV9iaW9zX2luZm87Ci0JaXN0X2luZm8gPSBib290X3BhcmFtcy5pc3RfaW5mbzsKLQlzYXZlZF92aWRlb19tb2RlID0gYm9vdF9wYXJhbXMuaGRyLnZpZF9tb2RlOwotCWlmKCBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS5sZW5ndGggIT0gMCApIHsKLQkJc2V0X21jYV9idXMoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbM10gJiAweDIpOwotCQltYWNoaW5lX2lkID0gYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbMF07Ci0JCW1hY2hpbmVfc3VibW9kZWxfaWQgPSBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS50YWJsZVsxXTsKLQkJQklPU19yZXZpc2lvbiA9IGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzJdOwotCX0KLQlib290bG9hZGVyX3R5cGUgPSBib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXI7Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9SQU0KLQlyZF9pbWFnZV9zdGFydCA9IGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSzsKLQlyZF9wcm9tcHQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfUFJPTVBUX0ZMQUcpICE9IDApOwotCXJkX2RvbG9hZCA9ICgoYm9vdF9wYXJhbXMuaGRyLnJhbV9zaXplICYgUkFNRElTS19MT0FEX0ZMQUcpICE9IDApOwotI2VuZGlmCi0JQVJDSF9TRVRVUAotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JcHJpbnRfbWVtb3J5X21hcChtZW1vcnlfc2V0dXAoKSk7Ci0KLQljb3B5X2VkZCgpOwotCi0JaWYgKCFib290X3BhcmFtcy5oZHIucm9vdF9mbGFncykKLQkJcm9vdF9tb3VudGZsYWdzICY9IH5NU19SRE9OTFk7Ci0JaW5pdF9tbS5zdGFydF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpIF90ZXh0OwotCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgX2V0ZXh0OwotCWluaXRfbW0uZW5kX2RhdGEgPSAodW5zaWduZWQgbG9uZykgX2VkYXRhOwotCWluaXRfbW0uYnJrID0gaW5pdF9wZ190YWJsZXNfZW5kICsgUEFHRV9PRkZTRVQ7Ci0KLQljb2RlX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKF90ZXh0KTsKLQljb2RlX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cyhfZXRleHQpLTE7Ci0JZGF0YV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cyhfZXRleHQpOwotCWRhdGFfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKF9lZGF0YSktMTsKLQlic3NfcmVzb3VyY2Uuc3RhcnQgPSB2aXJ0X3RvX3BoeXMoJl9fYnNzX3N0YXJ0KTsKLQlic3NfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKCZfX2Jzc19zdG9wKS0xOwotCi0JcGFyc2VfZWFybHlfcGFyYW0oKTsKLQotCWlmICh1c2VyX2RlZmluZWRfbWVtbWFwKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gInVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JCXByaW50X21lbW9yeV9tYXAoInVzZXIiKTsKLQl9Ci0KLQlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKLQkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwotCi0JaWYgKGVmaV9lbmFibGVkKQotCQllZmlfaW5pdCgpOwotCi0JLyogdXBkYXRlIGU4MjAgZm9yIG1lbW9yeSBub3QgY292ZXJlZCBieSBXQiBNVFJScyAqLwotCXByb3BhZ2F0ZV9lODIwX21hcCgpOwotCW10cnJfYnBfaW5pdCgpOwotCWlmIChtdHJyX3RyaW1fdW5jYWNoZWRfbWVtb3J5KG1heF9wZm4pKQotCQlwcm9wYWdhdGVfZTgyMF9tYXAoKTsKLQotCW1heF9sb3dfcGZuID0gc2V0dXBfbWVtb3J5KCk7Ci0KLSNpZmRlZiBDT05GSUdfS1ZNX0NMT0NLCi0Ja3ZtY2xvY2tfaW5pdCgpOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVk1JCi0JLyoKLQkgKiBNdXN0IGJlIGFmdGVyIG1heF9sb3dfcGZuIGlzIGRldGVybWluZWQsIGFuZCBiZWZvcmUga2VybmVsCi0JICogcGFnZXRhYmxlcyBhcmUgc2V0dXAuCi0JICovCi0Jdm1pX2luaXQoKTsKLSNlbmRpZgotCWt2bV9ndWVzdF9pbml0KCk7Ci0KLQkvKgotCSAqIE5PVEU6IGJlZm9yZSB0aGlzIHBvaW50IF9ub2JvZHlfIGlzIGFsbG93ZWQgdG8gYWxsb2NhdGUKLQkgKiBhbnkgbWVtb3J5IHVzaW5nIHRoZSBib290bWVtIGFsbG9jYXRvci4gIEFsdGhvdWdoIHRoZQotCSAqIGFsbG9jYXRvciBpcyBub3cgaW5pdGlhbGlzZWQgb25seSB0aGUgZmlyc3QgOE1iIG9mIHRoZSBrZXJuZWwKLQkgKiB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgaGFzIGJlZW4gbWFwcGVkLiAgQWxsIGFsbG9jYXRpb25zIGJlZm9yZQotCSAqIHBhZ2luZ19pbml0KCkgaGFzIGNvbXBsZXRlZCBtdXN0IHVzZSB0aGUgYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoKQotCSAqIHZhcmlhbnQgKHdoaWNoIGFsbG9jYXRlcyBETUEnYWJsZSBtZW1vcnkpIGFuZCBjYXJlIG11c3QgYmUgdGFrZW4KLQkgKiBub3QgdG8gZXhjZWVkIHRoZSA4TWIgbGltaXQuCi0JICovCi0KLSNpZmRlZiBDT05GSUdfU01QCi0Jc21wX2FsbG9jX21lbW9yeSgpOyAvKiBBUCBwcm9jZXNzb3IgcmVhbG1vZGUgc3RhY2tzIGluIGxvdyBtZW1vcnkqLwotI2VuZGlmCi0JcGFnaW5nX2luaXQoKTsKLQotCS8qCi0JICogTk9URTogT24geDg2LTMyLCBvbmx5IGZyb20gdGhpcyBwb2ludCBvbiwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZS4KLQkgKi8KLQotI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCi0JaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQotCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKLSNlbmRpZgotCi0JcmVtYXBwZWRfcGdkYXRfaW5pdCgpOwotCXNwYXJzZV9pbml0KCk7Ci0Jem9uZV9zaXplc19pbml0KCk7Ci0KLQkvKgotCSAqIE5PVEU6IGF0IHRoaXMgcG9pbnQgdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGlzIGZ1bGx5IGF2YWlsYWJsZS4KLQkgKi8KLQotI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAotCXJlbG9jYXRlX2luaXRyZCgpOwotI2VuZGlmCi0KLQlwYXJhdmlydF9wb3N0X2FsbG9jYXRvcl9pbml0KCk7Ci0KLQlkbWlfc2Nhbl9tYWNoaW5lKCk7Ci0KLQlpb19kZWxheV9pbml0KCk7Ci0KLSNpZmRlZiBDT05GSUdfWDg2X1NNUAotCS8qCi0JICogc2V0dXAgdG8gdXNlIHRoZSBlYXJseSBzdGF0aWMgaW5pdCB0YWJsZXMgZHVyaW5nIGtlcm5lbCBzdGFydHVwCi0JICogWDg2X1NNUCB3aWxsIGV4Y2x1ZGUgc3ViLWFyY2hlcyB0aGF0IGRvbid0IGRlYWwgd2VsbCB3aXRoIGl0LgotCSAqLwotCXg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2NwdV90b19hcGljaWRfaW5pdDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0OwotI2lmZGVmIENPTkZJR19OVU1BCi0JeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfaW5pdDsKLSNlbmRpZgotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICi0JZ2VuZXJpY19hcGljX3Byb2JlKCk7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19BQ1BJCi0JLyoKLQkgKiBQYXJzZSB0aGUgQUNQSSB0YWJsZXMgZm9yIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbi4KLQkgKi8KLQlhY3BpX2Jvb3RfdGFibGVfaW5pdCgpOwotI2VuZGlmCi0KLQllYXJseV9xdWlya3MoKTsKLQotI2lmZGVmIENPTkZJR19BQ1BJCi0JYWNwaV9ib290X2luaXQoKTsKLQotI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1BDKQotCWlmIChkZWZfdG9fYmlnc21wKQotCQlwcmludGsoS0VSTl9XQVJOSU5HICJNb3JlIHRoYW4gOCBDUFVzIGRldGVjdGVkIGFuZCAiCi0JCQkiQ09ORklHX1g4Nl9QQyBjYW5ub3QgaGFuZGxlIGl0LlxuVXNlICIKLQkJCSJDT05GSUdfWDg2X0dFTkVSSUNBUkNIIG9yIENPTkZJR19YODZfQklHU01QLlxuIik7Ci0jZW5kaWYKLSNlbmRpZgotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWlmIChzbXBfZm91bmRfY29uZmlnKQotCQlnZXRfc21wX2NvbmZpZygpOwotI2VuZGlmCi0KLQllODIwX3JlZ2lzdGVyX21lbW9yeSgpOwotCWU4MjBfbWFya19ub3NhdmVfcmVnaW9ucygpOwotCi0jaWZkZWYgQ09ORklHX1ZUCi0jaWYgZGVmaW5lZChDT05GSUdfVkdBX0NPTlNPTEUpCi0JaWYgKCFlZmlfZW5hYmxlZCB8fCAoZWZpX21lbV90eXBlKDB4YTAwMDApICE9IEVGSV9DT05WRU5USU9OQUxfTUVNT1JZKSkKLQkJY29uc3dpdGNocCA9ICZ2Z2FfY29uOwotI2VsaWYgZGVmaW5lZChDT05GSUdfRFVNTVlfQ09OU09MRSkKLQljb25zd2l0Y2hwID0gJmR1bW15X2NvbjsKLSNlbmRpZgotI2VuZGlmCi19Ci0KLS8qCi0gKiBSZXF1ZXN0IGFkZHJlc3Mgc3BhY2UgZm9yIGFsbCBzdGFuZGFyZCByZXNvdXJjZXMKLSAqCi0gKiBUaGlzIGlzIGNhbGxlZCBqdXN0IGJlZm9yZSBwY2liaW9zX2luaXQoKSwgd2hpY2ggaXMgYWxzbyBhCi0gKiBzdWJzeXNfaW5pdGNhbGwsIGJ1dCBpcyBsaW5rZWQgaW4gbGF0ZXIgKGluIGFyY2gvaTM4Ni9wY2kvY29tbW9uLmMpLgotICovCi1zdGF0aWMgaW50IF9faW5pdCByZXF1ZXN0X3N0YW5kYXJkX3Jlc291cmNlcyh2b2lkKQotewotCWludCBpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiU2V0dGluZyB1cCBzdGFuZGFyZCBQQ0kgcmVzb3VyY2VzXG4iKTsKLQlpbml0X2lvbWVtX3Jlc291cmNlcygmY29kZV9yZXNvdXJjZSwgJmRhdGFfcmVzb3VyY2UsICZic3NfcmVzb3VyY2UpOwotCi0JcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZ2aWRlb19yYW1fcmVzb3VyY2UpOwotCi0JLyogcmVxdWVzdCBJL08gc3BhY2UgZm9yIGRldmljZXMgdXNlZCBvbiBhbGwgaVszNDVdODYgUENzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3RhbmRhcmRfaW9fcmVzb3VyY2VzKTsgaSsrKQotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb3BvcnRfcmVzb3VyY2UsICZzdGFuZGFyZF9pb19yZXNvdXJjZXNbaV0pOwotCXJldHVybiAwOwotfQotCi1zdWJzeXNfaW5pdGNhbGwocmVxdWVzdF9zdGFuZGFyZF9yZXNvdXJjZXMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRmZjEyOC4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDExOTQgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKi8KLQotLyoKLSAqIFRoaXMgZmlsZSBoYW5kbGVzIHRoZSBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IHBhcnRzIG9mIGluaXRpYWxpemF0aW9uCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgotI2luY2x1ZGUgPGxpbnV4L3VuaXN0ZC5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC91c2VyLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NyZWVuX2luZm8uaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0cmQuaD4KLSNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+Ci0jaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KLSNpbmNsdWRlIDxsaW51eC9jcmFzaF9kdW1wLmg+Ci0jaW5jbHVkZSA8bGludXgvcm9vdF9kZXYuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxhc20vcGNpLWRpcmVjdC5oPgotI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgotI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KLSNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgotI2luY2x1ZGUgPGxpbnV4L2VkZC5oPgotI2luY2x1ZGUgPGxpbnV4L2lzY3NpX2liZnQuaD4KLSNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L2NwdWZyZXEuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+Ci0jaW5jbHVkZSA8bGludXgvc29ydC5oPgotI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0X29oY2kxMzk0X2RtYS5oPgotI2luY2x1ZGUgPGxpbnV4L2t2bV9wYXJhLmg+Ci0KLSNpbmNsdWRlIDxhc20vbXRyci5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgotI2luY2x1ZGUgPGFzbS92c3lzY2FsbC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLSNpbmNsdWRlIDxhc20vbXNyLmg+Ci0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDx2aWRlby9lZGlkLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2dhcnQuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+Ci0jaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL251bWEuaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KLSNpbmNsdWRlIDxhc20vZG1pLmg+Ci0jaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vbWNlLmg+Ci0jaW5jbHVkZSA8YXNtL2RzLmg+Ci0jaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+Ci0jaW5jbHVkZSA8YXNtL3RyYW1wb2xpbmUuaD4KLSNpbmNsdWRlIDxhc20vcGF0Lmg+Ci0KLSNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KLSNpZmRlZiBDT05GSUdfUEFSQVZJUlQKLSNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KLSNlbHNlCi0jZGVmaW5lIEFSQ0hfU0VUVVAKLSNlbmRpZgotCi0vKgotICogTWFjaGluZSBzZXR1cC4uCi0gKi8KLQotc3RydWN0IGNwdWluZm9feDg2IGJvb3RfY3B1X2RhdGEgX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woYm9vdF9jcHVfZGF0YSk7Ci0KLV9fdTMyIGNsZWFyZWRfY3B1X2NhcHNbTkNBUElOVFNdIF9fY3B1aW5pdGRhdGE7Ci0KLXVuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKLQotLyogQm9vdCBsb2FkZXIgSUQgYXMgYW4gaW50ZWdlciwgZm9yIHRoZSBiZW5lZml0IG9mIHByb2NfZG9pbnR2ZWMgKi8KLWludCBib290bG9hZGVyX3R5cGU7Ci0KLXVuc2lnbmVkIGxvbmcgc2F2ZWRfdmlkZW9fbW9kZTsKLQotaW50IGZvcmNlX213YWl0IF9fY3B1aW5pdGRhdGE7Ci0KLS8qCi0gKiBFYXJseSBETUkgbWVtb3J5Ci0gKi8KLWludCBkbWlfYWxsb2NfaW5kZXg7Ci1jaGFyIGRtaV9hbGxvY19kYXRhW0RNSV9NQVhfREFUQV07Ci0KLS8qCi0gKiBTZXR1cCBvcHRpb25zCi0gKi8KLXN0cnVjdCBzY3JlZW5faW5mbyBzY3JlZW5faW5mbzsKLUVYUE9SVF9TWU1CT0woc2NyZWVuX2luZm8pOwotc3RydWN0IHN5c19kZXNjX3RhYmxlX3N0cnVjdCB7Ci0JdW5zaWduZWQgc2hvcnQgbGVuZ3RoOwotCXVuc2lnbmVkIGNoYXIgdGFibGVbMF07Ci19OwotCi1zdHJ1Y3QgZWRpZF9pbmZvIGVkaWRfaW5mbzsKLUVYUE9SVF9TWU1CT0xfR1BMKGVkaWRfaW5mbyk7Ci0KLWV4dGVybiBpbnQgcm9vdF9tb3VudGZsYWdzOwotCi1jaGFyIF9faW5pdGRhdGEgY29tbWFuZF9saW5lW0NPTU1BTkRfTElORV9TSVpFXTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsKLQl7IC5uYW1lID0gImRtYTEiLCAuc3RhcnQgPSAweDAwLCAuZW5kID0gMHgxZiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAicGljMSIsIC5zdGFydCA9IDB4MjAsIC5lbmQgPSAweDIxLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJ0aW1lcjAiLCAuc3RhcnQgPSAweDQwLCAuZW5kID0gMHg0MywKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAidGltZXIxIiwgLnN0YXJ0ID0gMHg1MCwgLmVuZCA9IDB4NTMsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2MCwgLmVuZCA9IDB4NjAsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2NCwgLmVuZCA9IDB4NjQsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImRtYSBwYWdlIHJlZyIsIC5zdGFydCA9IDB4ODAsIC5lbmQgPSAweDhmLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJwaWMyIiwgLnN0YXJ0ID0gMHhhMCwgLmVuZCA9IDB4YTEsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImRtYTIiLCAuc3RhcnQgPSAweGMwLCAuZW5kID0gMHhkZiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAiZnB1IiwgLnN0YXJ0ID0gMHhmMCwgLmVuZCA9IDB4ZmYsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfQotfTsKLQotI2RlZmluZSBJT1JFU09VUkNFX1JBTSAoSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0pCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZGF0YV9yZXNvdXJjZSA9IHsKLQkubmFtZSA9ICJLZXJuZWwgZGF0YSIsCi0JLnN0YXJ0ID0gMCwKLQkuZW5kID0gMCwKLQkuZmxhZ3MgPSBJT1JFU09VUkNFX1JBTSwKLX07Ci1zdGF0aWMgc3RydWN0IHJlc291cmNlIGNvZGVfcmVzb3VyY2UgPSB7Ci0JLm5hbWUgPSAiS2VybmVsIGNvZGUiLAotCS5zdGFydCA9IDAsCi0JLmVuZCA9IDAsCi0JLmZsYWdzID0gSU9SRVNPVVJDRV9SQU0sCi19Owotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBic3NfcmVzb3VyY2UgPSB7Ci0JLm5hbWUgPSAiS2VybmVsIGJzcyIsCi0JLnN0YXJ0ID0gMCwKLQkuZW5kID0gMCwKLQkuZmxhZ3MgPSBJT1JFU09VUkNFX1JBTSwKLX07Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKLQotI2lmZGVmIENPTkZJR19QUk9DX1ZNQ09SRQotLyogZWxmY29yZWhkcj0gc3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiBlbGYgY29yZSBoZWFkZXIKLSAqIHN0b3JlZCBieSB0aGUgY3Jhc2hlZCBrZXJuZWwuIFRoaXMgb3B0aW9uIHdpbGwgYmUgcGFzc2VkCi0gKiBieSBrZXhlYyBsb2FkZXIgdG8gdGhlIGNhcHR1cmUga2VybmVsLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9lbGZjb3JlaGRyKGNoYXIgKmFyZykKLXsKLQljaGFyICplbmQ7Ci0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCWVsZmNvcmVoZHJfYWRkciA9IG1lbXBhcnNlKGFyZywgJmVuZCk7Ci0JcmV0dXJuIGVuZCA+IGFyZyA/IDAgOiAtRUlOVkFMOwotfQotZWFybHlfcGFyYW0oImVsZmNvcmVoZHIiLCBzZXR1cF9lbGZjb3JlaGRyKTsKLSNlbmRpZgotCi0jaWZuZGVmIENPTkZJR19OVU1BCi1zdGF0aWMgdm9pZCBfX2luaXQKLWNvbnRpZ19pbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKLXsKLQl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc2l6ZSwgYm9vdG1hcDsKLQotCWJvb3RtYXBfc2l6ZSA9IGJvb3RtZW1fYm9vdG1hcF9wYWdlcyhlbmRfcGZuKTw8UEFHRV9TSElGVDsKLQlib290bWFwID0gZmluZF9lODIwX2FyZWEoMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCwgYm9vdG1hcF9zaXplLAotCQkJCSBQQUdFX1NJWkUpOwotCWlmIChib290bWFwID09IC0xTCkKLQkJcGFuaWMoIkNhbm5vdCBmaW5kIGJvb3RtZW0gbWFwIG9mIHNpemUgJWxkXG4iLCBib290bWFwX3NpemUpOwotCWJvb3RtYXBfc2l6ZSA9IGluaXRfYm9vdG1lbShib290bWFwID4+IFBBR0VfU0hJRlQsIGVuZF9wZm4pOwotCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgc3RhcnRfcGZuLCBlbmRfcGZuKTsKLQlmcmVlX2Jvb3RtZW1fd2l0aF9hY3RpdmVfcmVnaW9ucygwLCBlbmRfcGZuKTsKLQllYXJseV9yZXNfdG9fYm9vdG1lbSgwLCBlbmRfcGZuPDxQQUdFX1NISUZUKTsKLQlyZXNlcnZlX2Jvb3RtZW0oYm9vdG1hcCwgYm9vdG1hcF9zaXplLCBCT09UTUVNX0RFRkFVTFQpOwotfQotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCi1zdHJ1Y3QgZWRkIGVkZDsKLSNpZmRlZiBDT05GSUdfRUREX01PRFVMRQotRVhQT1JUX1NZTUJPTChlZGQpOwotI2VuZGlmCi0vKioKLSAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgotICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKLXsKLSAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCi0JICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOwotICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKLSAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKLSAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19LRVhFQwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxfbWVtOwotCXVuc2lnbmVkIGxvbmcgbG9uZyBjcmFzaF9zaXplLCBjcmFzaF9iYXNlOwotCWludCByZXQ7Ci0KLQl0b3RhbF9tZW0gPSAoKHVuc2lnbmVkIGxvbmcgbG9uZyltYXhfbG93X3BmbiAtIG1pbl9sb3dfcGZuKSA8PCBQQUdFX1NISUZUOwotCi0JcmV0ID0gcGFyc2VfY3Jhc2hrZXJuZWwoYm9vdF9jb21tYW5kX2xpbmUsIHRvdGFsX21lbSwKLQkJCSZjcmFzaF9zaXplLCAmY3Jhc2hfYmFzZSk7Ci0JaWYgKHJldCA9PSAwICYmIGNyYXNoX3NpemUpIHsKLQkJaWYgKGNyYXNoX2Jhc2UgPD0gMCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkIC0gIgotCQkJCQkieW91IGhhdmUgdG8gc3BlY2lmeSBhIGJhc2UgYWRkcmVzc1xuIik7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlpZiAocmVzZXJ2ZV9ib290bWVtKGNyYXNoX2Jhc2UsIGNyYXNoX3NpemUsCi0JCQkJCUJPT1RNRU1fRVhDTFVTSVZFKSA8IDApIHsKLQkJCXByaW50ayhLRVJOX0lORk8gImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZCAtICIKLQkJCQkJIm1lbW9yeSBpcyBpbiB1c2VcbiIpOwotCQkJcmV0dXJuOwotCQl9Ci0KLQkJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nICVsZE1CIG9mIG1lbW9yeSBhdCAlbGRNQiAiCi0JCQkJImZvciBjcmFzaGtlcm5lbCAoU3lzdGVtIFJBTTogJWxkTUIpXG4iLAotCQkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9zaXplID4+IDIwKSwKLQkJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfYmFzZSA+PiAyMCksCi0JCQkJKHVuc2lnbmVkIGxvbmcpKHRvdGFsX21lbSA+PiAyMCkpOwotCQljcmFzaGtfcmVzLnN0YXJ0ID0gY3Jhc2hfYmFzZTsKLQkJY3Jhc2hrX3Jlcy5lbmQgICA9IGNyYXNoX2Jhc2UgKyBjcmFzaF9zaXplIC0gMTsKLQkJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNyYXNoa19yZXMpOwotCX0KLX0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKLXt9Ci0jZW5kaWYKLQotLyogT3ZlcnJpZGRlbiBpbiBwYXJhdmlydC5jIGlmIENPTkZJR19QQVJBVklSVCAqLwotdm9pZCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgX19pbml0IG1lbW9yeV9zZXR1cCh2b2lkKQotewotICAgICAgIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9zZXR1cF9kYXRhKHZvaWQpCi17Ci0Jc3RydWN0IHNldHVwX2RhdGEgKmRhdGE7Ci0JdW5zaWduZWQgbG9uZyBwYV9kYXRhOwotCi0JaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQotCQlyZXR1cm47Ci0JcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOwotCXdoaWxlIChwYV9kYXRhKSB7Ci0JCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIFBBR0VfU0laRSk7Ci0JCXN3aXRjaCAoZGF0YS0+dHlwZSkgewotCQlkZWZhdWx0OgotCQkJYnJlYWs7Ci0JCX0KLSNpZm5kZWYgQ09ORklHX0RFQlVHX0JPT1RfUEFSQU1TCi0JCWZyZWVfZWFybHkocGFfZGF0YSwgcGFfZGF0YStzaXplb2YoKmRhdGEpK2RhdGEtPmxlbik7Ci0jZW5kaWYKLQkJcGFfZGF0YSA9IGRhdGEtPm5leHQ7Ci0JCWVhcmx5X2lvdW5tYXAoZGF0YSwgUEFHRV9TSVpFKTsKLQl9Ci19Ci0KLSNpZmRlZiBDT05GSUdfUENJX01NQ09ORklHCi1leHRlcm4gdm9pZCBfX2NwdWluaXQgZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZyh2b2lkKTsKLWV4dGVybiB2b2lkIF9faW5pdCBjaGVja19lbmFibGVfYW1kX21tY29uZl9kbWkodm9pZCk7Ci0jZWxzZQotdm9pZCBfX2NwdWluaXQgZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZyh2b2lkKQotewotfQotdm9pZCBfX2luaXQgY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotLyoKLSAqIHNldHVwX2FyY2ggLSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgYm9vdC10aW1lIGluaXRpYWxpemF0aW9ucwotICoKLSAqIE5vdGU6IE9uIHg4Nl82NCwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZSBldmVuIGJlZm9yZSB0aGlzIGlzIGNhbGxlZC4KLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfYXJjaChjaGFyICoqY21kbGluZV9wKQotewotCXVuc2lnbmVkIGk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJDb21tYW5kIGxpbmU6ICVzXG4iLCBib290X2NvbW1hbmRfbGluZSk7Ci0KLQlST09UX0RFViA9IG9sZF9kZWNvZGVfZGV2KGJvb3RfcGFyYW1zLmhkci5yb290X2Rldik7Ci0Jc2NyZWVuX2luZm8gPSBib290X3BhcmFtcy5zY3JlZW5faW5mbzsKLQllZGlkX2luZm8gPSBib290X3BhcmFtcy5lZGlkX2luZm87Ci0Jc2F2ZWRfdmlkZW9fbW9kZSA9IGJvb3RfcGFyYW1zLmhkci52aWRfbW9kZTsKLQlib290bG9hZGVyX3R5cGUgPSBib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXI7Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9SQU0KLQlyZF9pbWFnZV9zdGFydCA9IGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSzsKLQlyZF9wcm9tcHQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfUFJPTVBUX0ZMQUcpICE9IDApOwotCXJkX2RvbG9hZCA9ICgoYm9vdF9wYXJhbXMuaGRyLnJhbV9zaXplICYgUkFNRElTS19MT0FEX0ZMQUcpICE9IDApOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0VGSQotCWlmICghc3RybmNtcCgoY2hhciAqKSZib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbG9hZGVyX3NpZ25hdHVyZSwKLQkJICAgICAiRUw2NCIsIDQpKQotCQllZmlfZW5hYmxlZCA9IDE7Ci0jZW5kaWYKLQotCUFSQ0hfU0VUVVAKLQotCW1lbW9yeV9zZXR1cCgpOwotCWNvcHlfZWRkKCk7Ci0KLQlpZiAoIWJvb3RfcGFyYW1zLmhkci5yb290X2ZsYWdzKQotCQlyb290X21vdW50ZmxhZ3MgJj0gfk1TX1JET05MWTsKLQlpbml0X21tLnN0YXJ0X2NvZGUgPSAodW5zaWduZWQgbG9uZykgJl90ZXh0OwotCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgJl9ldGV4dDsKLQlpbml0X21tLmVuZF9kYXRhID0gKHVuc2lnbmVkIGxvbmcpICZfZWRhdGE7Ci0JaW5pdF9tbS5icmsgPSAodW5zaWduZWQgbG9uZykgJl9lbmQ7Ci0KLQljb2RlX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfdGV4dCk7Ci0JY29kZV9yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoJl9ldGV4dCktMTsKLQlkYXRhX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfZXRleHQpOwotCWRhdGFfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKCZfZWRhdGEpLTE7Ci0JYnNzX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfX2Jzc19zdGFydCk7Ci0JYnNzX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RvcCktMTsKLQotCWVhcmx5X2lkZW50aWZ5X2NwdSgmYm9vdF9jcHVfZGF0YSk7Ci0KLQlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKLQkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwotCi0JcGFyc2Vfc2V0dXBfZGF0YSgpOwotCi0JcGFyc2VfZWFybHlfcGFyYW0oKTsKLQotI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCi0JaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQotCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKLSNlbmRpZgotCi0JZmluaXNoX2U4MjBfcGFyc2luZygpOwotCi0JLyogYWZ0ZXIgcGFyc2VfZWFybHlfcGFyYW0sIHNvIGNvdWxkIGRlYnVnIGl0ICovCi0JaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNvZGVfcmVzb3VyY2UpOwotCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZkYXRhX3Jlc291cmNlKTsKLQlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmYnNzX3Jlc291cmNlKTsKLQotCWVhcmx5X2dhcnRfaW9tbXVfY2hlY2soKTsKLQotCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgLTFVTCk7Ci0JLyoKLQkgKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMKLQkgKiB3ZSBhcmUgcm91bmRpbmcgdXB3YXJkczoKLQkgKi8KLQllbmRfcGZuID0gZTgyMF9lbmRfb2ZfcmFtKCk7Ci0JLyogdXBkYXRlIGU4MjAgZm9yIG1lbW9yeSBub3QgY292ZXJlZCBieSBXQiBNVFJScyAqLwotCW10cnJfYnBfaW5pdCgpOwotCWlmIChtdHJyX3RyaW1fdW5jYWNoZWRfbWVtb3J5KGVuZF9wZm4pKSB7Ci0JCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgLTFVTCk7Ci0JCWVuZF9wZm4gPSBlODIwX2VuZF9vZl9yYW0oKTsKLQl9Ci0KLQludW1fcGh5c3BhZ2VzID0gZW5kX3BmbjsKLQotCWNoZWNrX2VmZXIoKTsKLQotCW1heF9wZm5fbWFwcGVkID0gaW5pdF9tZW1vcnlfbWFwcGluZygwLCAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpOwotCWlmIChlZmlfZW5hYmxlZCkKLQkJZWZpX2luaXQoKTsKLQotCXZzbXBfaW5pdCgpOwotCi0JZG1pX3NjYW5fbWFjaGluZSgpOwotCi0JaW9fZGVsYXlfaW5pdCgpOwotCi0jaWZkZWYgQ09ORklHX0tWTV9DTE9DSwotCWt2bWNsb2NrX2luaXQoKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1NNUAotCS8qIHNldHVwIHRvIHVzZSB0aGUgZWFybHkgc3RhdGljIGluaXQgdGFibGVzIGR1cmluZyBrZXJuZWwgc3RhcnR1cCAqLwotCXg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2NwdV90b19hcGljaWRfaW5pdDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0OwotI2lmZGVmIENPTkZJR19OVU1BCi0JeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfaW5pdDsKLSNlbmRpZgotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfQUNQSQotCS8qCi0JICogSW5pdGlhbGl6ZSB0aGUgQUNQSSBib290LXRpbWUgdGFibGUgcGFyc2VyIChnZXRzIHRoZSBSU0RQIGFuZCBTRFQpLgotCSAqIENhbGwgdGhpcyBlYXJseSBmb3IgU1JBVCBub2RlIHNldHVwLgotCSAqLwotCWFjcGlfYm9vdF90YWJsZV9pbml0KCk7Ci0jZW5kaWYKLQotCS8qIEhvdyBtYW55IGVuZC1vZi1tZW1vcnkgdmFyaWFibGVzIHlvdSBoYXZlLCBncmFuZG1hISAqLwotCW1heF9sb3dfcGZuID0gZW5kX3BmbjsKLQltYXhfcGZuID0gZW5kX3BmbjsKLQloaWdoX21lbW9yeSA9ICh2b2lkICopX192YShlbmRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotCi0JLyogUmVtb3ZlIGFjdGl2ZSByYW5nZXMgc28gcmVkaXNjb3Zlcnkgd2l0aCBOVU1BLWF3YXJlbmVzcyBoYXBwZW5zICovCi0JcmVtb3ZlX2FsbF9hY3RpdmVfcmFuZ2VzKCk7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSV9OVU1BCi0JLyoKLQkgKiBQYXJzZSBTUkFUIHRvIGRpc2NvdmVyIG5vZGVzLgotCSAqLwotCWFjcGlfbnVtYV9pbml0KCk7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19OVU1BCi0JbnVtYV9pbml0bWVtX2luaXQoMCwgZW5kX3Bmbik7Ci0jZWxzZQotCWNvbnRpZ19pbml0bWVtX2luaXQoMCwgZW5kX3Bmbik7Ci0jZW5kaWYKLQotCWRtYTMyX3Jlc2VydmVfYm9vdG1lbSgpOwotCi0jaWZkZWYgQ09ORklHX0FDUElfU0xFRVAKLQkvKgotCSAqIFJlc2VydmUgbG93IG1lbW9yeSByZWdpb24gZm9yIHNsZWVwIHN1cHBvcnQuCi0JICovCi0gICAgICAgYWNwaV9yZXNlcnZlX2Jvb3RtZW0oKTsKLSNlbmRpZgotCi0JaWYgKGVmaV9lbmFibGVkKQotCQllZmlfcmVzZXJ2ZV9ib290bWVtKCk7Ci0KLSAgICAgICAvKgotCSogRmluZCBhbmQgcmVzZXJ2ZSBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246Ci0JKi8KLQlmaW5kX3NtcF9jb25maWcoKTsKLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKLQlpZiAoYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyICYmIGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlKSB7Ci0JCXVuc2lnbmVkIGxvbmcgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOwotCQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOwotCQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfZW5kICAgPSByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplOwotCQl1bnNpZ25lZCBsb25nIGVuZF9vZl9tZW0gICAgPSBlbmRfcGZuIDw8IFBBR0VfU0hJRlQ7Ci0KLQkJaWYgKHJhbWRpc2tfZW5kIDw9IGVuZF9vZl9tZW0pIHsKLQkJCS8qCi0JCQkgKiBkb24ndCBuZWVkIHRvIHJlc2VydmUgYWdhaW4sIGFscmVhZHkgcmVzZXJ2ZWQgZWFybHkKLQkJCSAqIGluIHg4Nl82NF9zdGFydF9rZXJuZWwsIGFuZCBlYXJseV9yZXNfdG9fYm9vdG1lbQotCQkJICogY29udmVydCB0aGF0IHRvIHJlc2VydmVkIGluIGJvb3RtZW0KLQkJCSAqLwotCQkJaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19pbWFnZSArIFBBR0VfT0ZGU0VUOwotCQkJaW5pdHJkX2VuZCA9IGluaXRyZF9zdGFydCtyYW1kaXNrX3NpemU7Ci0JCX0gZWxzZSB7Ci0JCQlmcmVlX2Jvb3RtZW0ocmFtZGlza19pbWFnZSwgcmFtZGlza19zaXplKTsKLQkJCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIGV4dGVuZHMgYmV5b25kIGVuZCBvZiBtZW1vcnkgIgotCQkJICAgICAgICIoMHglMDhseCA+IDB4JTA4bHgpXG5kaXNhYmxpbmcgaW5pdHJkXG4iLAotCQkJICAgICAgIHJhbWRpc2tfZW5kLCBlbmRfb2ZfbWVtKTsKLQkJCWluaXRyZF9zdGFydCA9IDA7Ci0JCX0KLQl9Ci0jZW5kaWYKLQlyZXNlcnZlX2NyYXNoa2VybmVsKCk7Ci0KLQlyZXNlcnZlX2liZnRfcmVnaW9uKCk7Ci0KLQlwYWdpbmdfaW5pdCgpOwotCW1hcF92c3lzY2FsbCgpOwotCi0JZWFybHlfcXVpcmtzKCk7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSQotCS8qCi0JICogUmVhZCBBUElDIGFuZCBzb21lIG90aGVyIGVhcmx5IGluZm9ybWF0aW9uIGZyb20gQUNQSSB0YWJsZXMuCi0JICovCi0JYWNwaV9ib290X2luaXQoKTsKLSNlbmRpZgotCi0JaW5pdF9jcHVfdG9fbm9kZSgpOwotCi0JLyoKLQkgKiBnZXQgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgotCSAqLwotCWlmIChzbXBfZm91bmRfY29uZmlnKQotCQlnZXRfc21wX2NvbmZpZygpOwotCWluaXRfYXBpY19tYXBwaW5ncygpOwotCWlvYXBpY19pbml0X21hcHBpbmdzKCk7Ci0KLQlrdm1fZ3Vlc3RfaW5pdCgpOwotCi0JLyoKLQkgKiBXZSB0cnVzdCBlODIwIGNvbXBsZXRlbHkuIE5vIGV4cGxpY2l0IFJPTSBwcm9iaW5nIGluIG1lbW9yeS4KLQkgKi8KLQllODIwX3Jlc2VydmVfcmVzb3VyY2VzKCk7Ci0JZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKCk7Ci0KLQkvKiByZXF1ZXN0IEkvTyBzcGFjZSBmb3IgZGV2aWNlcyB1c2VkIG9uIGFsbCBpWzM0NV04NiBQQ3MgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGFuZGFyZF9pb19yZXNvdXJjZXMpOyBpKyspCi0JCXJlcXVlc3RfcmVzb3VyY2UoJmlvcG9ydF9yZXNvdXJjZSwgJnN0YW5kYXJkX2lvX3Jlc291cmNlc1tpXSk7Ci0KLQllODIwX3NldHVwX2dhcCgpOwotCi0jaWZkZWYgQ09ORklHX1ZUCi0jaWYgZGVmaW5lZChDT05GSUdfVkdBX0NPTlNPTEUpCi0JaWYgKCFlZmlfZW5hYmxlZCB8fCAoZWZpX21lbV90eXBlKDB4YTAwMDApICE9IEVGSV9DT05WRU5USU9OQUxfTUVNT1JZKSkKLQkJY29uc3dpdGNocCA9ICZ2Z2FfY29uOwotI2VsaWYgZGVmaW5lZChDT05GSUdfRFVNTVlfQ09OU09MRSkKLQljb25zd2l0Y2hwID0gJmR1bW15X2NvbjsKLSNlbmRpZgotI2VuZGlmCi0KLQkvKiBkbyB0aGlzIGJlZm9yZSBpZGVudGlmeV9jcHUgZm9yIGJvb3QgY3B1ICovCi0JY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKCk7Ci19Ci0KLXN0YXRpYyBpbnQgX19jcHVpbml0IGdldF9tb2RlbF9uYW1lKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQl1bnNpZ25lZCBpbnQgKnY7Ci0KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPCAweDgwMDAwMDA0KQotCQlyZXR1cm4gMDsKLQotCXYgPSAodW5zaWduZWQgaW50ICopIGMtPng4Nl9tb2RlbF9pZDsKLQljcHVpZCgweDgwMDAwMDAyLCAmdlswXSwgJnZbMV0sICZ2WzJdLCAmdlszXSk7Ci0JY3B1aWQoMHg4MDAwMDAwMywgJnZbNF0sICZ2WzVdLCAmdls2XSwgJnZbN10pOwotCWNwdWlkKDB4ODAwMDAwMDQsICZ2WzhdLCAmdls5XSwgJnZbMTBdLCAmdlsxMV0pOwotCWMtPng4Nl9tb2RlbF9pZFs0OF0gPSAwOwotCXJldHVybiAxOwotfQotCi0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBkaXNwbGF5X2NhY2hlaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JdW5zaWduZWQgaW50IG4sIGR1bW15LCBlYXgsIGVieCwgZWN4LCBlZHg7Ci0KLQluID0gYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWw7Ci0KLQlpZiAobiA+PSAweDgwMDAwMDA1KSB7Ci0JCWNwdWlkKDB4ODAwMDAwMDUsICZkdW1teSwgJmVieCwgJmVjeCwgJmVkeCk7Ci0JCXByaW50ayhLRVJOX0lORk8gIkNQVTogTDEgSSBDYWNoZTogJWRLICglZCBieXRlcy9saW5lKSwgIgotCQkgICAgICAgIkQgY2FjaGUgJWRLICglZCBieXRlcy9saW5lKVxuIiwKLQkJICAgICAgIGVkeD4+MjQsIGVkeCYweEZGLCBlY3g+PjI0LCBlY3gmMHhGRik7Ci0JCWMtPng4Nl9jYWNoZV9zaXplID0gKGVjeD4+MjQpICsgKGVkeD4+MjQpOwotCQkvKiBPbiBLOCBMMSBUTEIgaXMgaW5jbHVzaXZlLCBzbyBkb24ndCBjb3VudCBpdCAqLwotCQljLT54ODZfdGxic2l6ZSA9IDA7Ci0JfQotCi0JaWYgKG4gPj0gMHg4MDAwMDAwNikgewotCQljcHVpZCgweDgwMDAwMDA2LCAmZHVtbXksICZlYngsICZlY3gsICZlZHgpOwotCQllY3ggPSBjcHVpZF9lY3goMHg4MDAwMDAwNik7Ci0JCWMtPng4Nl9jYWNoZV9zaXplID0gZWN4ID4+IDE2OwotCQljLT54ODZfdGxic2l6ZSArPSAoKGVieCA+PiAxNikgJiAweGZmZikgKyAoZWJ4ICYgMHhmZmYpOwotCi0JCXByaW50ayhLRVJOX0lORk8gIkNQVTogTDIgQ2FjaGU6ICVkSyAoJWQgYnl0ZXMvbGluZSlcbiIsCi0JCWMtPng4Nl9jYWNoZV9zaXplLCBlY3ggJiAweEZGKTsKLQl9Ci0JaWYgKG4gPj0gMHg4MDAwMDAwOCkgewotCQljcHVpZCgweDgwMDAwMDA4LCAmZWF4LCAmZHVtbXksICZkdW1teSwgJmR1bW15KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQl9Ci19Ci0KLSNpZmRlZiBDT05GSUdfTlVNQQotc3RhdGljIGludCBfX2NwdWluaXQgbmVhcmJ5X25vZGUoaW50IGFwaWNpZCkKLXsKLQlpbnQgaSwgbm9kZTsKLQotCWZvciAoaSA9IGFwaWNpZCAtIDE7IGkgPj0gMDsgaS0tKSB7Ci0JCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtpXTsKLQkJaWYgKG5vZGUgIT0gTlVNQV9OT19OT0RFICYmIG5vZGVfb25saW5lKG5vZGUpKQotCQkJcmV0dXJuIG5vZGU7Ci0JfQotCWZvciAoaSA9IGFwaWNpZCArIDE7IGkgPCBNQVhfTE9DQUxfQVBJQzsgaSsrKSB7Ci0JCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtpXTsKLQkJaWYgKG5vZGUgIT0gTlVNQV9OT19OT0RFICYmIG5vZGVfb25saW5lKG5vZGUpKQotCQkJcmV0dXJuIG5vZGU7Ci0JfQotCXJldHVybiBmaXJzdF9ub2RlKG5vZGVfb25saW5lX21hcCk7IC8qIFNob3VsZG4ndCBoYXBwZW4gKi8KLX0KLSNlbmRpZgotCi0vKgotICogT24gYSBBTUQgZHVhbCBjb3JlIHNldHVwIHRoZSBsb3dlciBiaXRzIG9mIHRoZSBBUElDIGlkIGRpc3Rpbmd1c2ggdGhlIGNvcmVzLgotICogQXNzdW1lcyBudW1iZXIgb2YgY29yZXMgaXMgYSBwb3dlciBvZiB0d28uCi0gKi8KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBhbWRfZGV0ZWN0X2NtcChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0jaWZkZWYgQ09ORklHX1NNUAotCXVuc2lnbmVkIGJpdHM7Ci0jaWZkZWYgQ09ORklHX05VTUEKLQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCWludCBub2RlID0gMDsKLQl1bnNpZ25lZCBhcGljaWQgPSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKTsKLSNlbmRpZgotCWJpdHMgPSBjLT54ODZfY29yZWlkX2JpdHM7Ci0KLQkvKiBMb3cgb3JkZXIgYml0cyBkZWZpbmUgdGhlIGNvcmUgaWQgKGluZGV4IG9mIGNvcmUgaW4gc29ja2V0KSAqLwotCWMtPmNwdV9jb3JlX2lkID0gYy0+aW5pdGlhbF9hcGljaWQgJiAoKDEgPDwgYml0cyktMSk7Ci0JLyogQ29udmVydCB0aGUgaW5pdGlhbCBBUElDIElEIGludG8gdGhlIHNvY2tldCBJRCAqLwotCWMtPnBoeXNfcHJvY19pZCA9IGMtPmluaXRpYWxfYXBpY2lkID4+IGJpdHM7Ci0KLSNpZmRlZiBDT05GSUdfTlVNQQotCW5vZGUgPSBjLT5waHlzX3Byb2NfaWQ7Ci0JaWYgKGFwaWNpZF90b19ub2RlW2FwaWNpZF0gIT0gTlVNQV9OT19OT0RFKQotCQlub2RlID0gYXBpY2lkX3RvX25vZGVbYXBpY2lkXTsKLQlpZiAoIW5vZGVfb25saW5lKG5vZGUpKSB7Ci0JCS8qIFR3byBwb3NzaWJpbGl0aWVzIGhlcmU6Ci0JCSAgIC0gVGhlIENQVSBpcyBtaXNzaW5nIG1lbW9yeSBhbmQgbm8gbm9kZSB3YXMgY3JlYXRlZC4KLQkJICAgSW4gdGhhdCBjYXNlIHRyeSBwaWNraW5nIG9uZSBmcm9tIGEgbmVhcmJ5IENQVQotCQkgICAtIFRoZSBBUElDIElEcyBkaWZmZXIgZnJvbSB0aGUgSHlwZXJUcmFuc3BvcnQgbm9kZSBJRHMKLQkJICAgd2hpY2ggdGhlIEs4IG5vcnRoYnJpZGdlIHBhcnNpbmcgZmlsbHMgaW4uCi0JCSAgIEFzc3VtZSB0aGV5IGFyZSBhbGwgaW5jcmVhc2VkIGJ5IGEgY29uc3RhbnQgb2Zmc2V0LAotCQkgICBidXQgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIEhUIG5vZGVpZHMuCi0JCSAgIElmIHRoYXQgZG9lc24ndCByZXN1bHQgaW4gYSB1c2FibGUgbm9kZSBmYWxsIGJhY2sgdG8gdGhlCi0JCSAgIHBhdGggZm9yIHRoZSBwcmV2aW91cyBjYXNlLiAgKi8KLQotCQlpbnQgaHRfbm9kZWlkID0gYy0+aW5pdGlhbF9hcGljaWQ7Ci0KLQkJaWYgKGh0X25vZGVpZCA+PSAwICYmCi0JCSAgICBhcGljaWRfdG9fbm9kZVtodF9ub2RlaWRdICE9IE5VTUFfTk9fTk9ERSkKLQkJCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtodF9ub2RlaWRdOwotCQkvKiBQaWNrIGEgbmVhcmJ5IG5vZGUgKi8KLQkJaWYgKCFub2RlX29ubGluZShub2RlKSkKLQkJCW5vZGUgPSBuZWFyYnlfbm9kZShhcGljaWQpOwotCX0KLQludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJDUFUgJWQvJXggLT4gTm9kZSAlZFxuIiwgY3B1LCBhcGljaWQsIG5vZGUpOwotI2VuZGlmCi0jZW5kaWYKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfYW1kX21jKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLSNpZmRlZiBDT05GSUdfU01QCi0JdW5zaWduZWQgYml0cywgZWN4OwotCi0JLyogTXVsdGkgY29yZSBDUFU/ICovCi0JaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsIDwgMHg4MDAwMDAwOCkKLQkJcmV0dXJuOwotCi0JZWN4ID0gY3B1aWRfZWN4KDB4ODAwMDAwMDgpOwotCi0JYy0+eDg2X21heF9jb3JlcyA9IChlY3ggJiAweGZmKSArIDE7Ci0KLQkvKiBDUFUgdGVsbGluZyB1cyB0aGUgY29yZSBpZCBiaXRzIHNoaWZ0PyAqLwotCWJpdHMgPSAoZWN4ID4+IDEyKSAmIDB4RjsKLQotCS8qIE90aGVyd2lzZSByZWNvbXB1dGUgKi8KLQlpZiAoYml0cyA9PSAwKSB7Ci0JCXdoaWxlICgoMSA8PCBiaXRzKSA8IGMtPng4Nl9tYXhfY29yZXMpCi0JCQliaXRzKys7Ci0JfQotCi0JYy0+eDg2X2NvcmVpZF9iaXRzID0gYml0czsKLQotI2VuZGlmCi19Ci0KLSNkZWZpbmUgRU5BQkxFX0MxRV9NQVNLCQkweDE4MDAwMDAwCi0jZGVmaW5lIENQVUlEX1BST0NFU1NPUl9TSUdOQVRVUkUJMQotI2RlZmluZSBDUFVJRF9YRkFNCQkweDBmZjAwMDAwCi0jZGVmaW5lIENQVUlEX1hGQU1fSzgJCTB4MDAwMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV8xMEgJCTB4MDAxMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV8xMUgJCTB4MDAyMDAwMDAKLSNkZWZpbmUgQ1BVSURfWE1PRAkJMHgwMDBmMDAwMAotI2RlZmluZSBDUFVJRF9YTU9EX1JFVl9GCTB4MDAwNDAwMDAKLQotLyogQU1EIHN5c3RlbXMgd2l0aCBDMUUgZG9uJ3QgaGF2ZSBhIHdvcmtpbmcgbEFQSUMgdGltZXIuIENoZWNrIGZvciB0aGF0LiAqLwotc3RhdGljIF9fY3B1aW5pdCBpbnQgYW1kX2FwaWNfdGltZXJfYnJva2VuKHZvaWQpCi17Ci0JdTMyIGxvLCBoaSwgZWF4ID0gY3B1aWRfZWF4KENQVUlEX1BST0NFU1NPUl9TSUdOQVRVUkUpOwotCi0Jc3dpdGNoIChlYXggJiBDUFVJRF9YRkFNKSB7Ci0JY2FzZSBDUFVJRF9YRkFNX0s4OgotCQlpZiAoKGVheCAmIENQVUlEX1hNT0QpIDwgQ1BVSURfWE1PRF9SRVZfRikKLQkJCWJyZWFrOwotCWNhc2UgQ1BVSURfWEZBTV8xMEg6Ci0JY2FzZSBDUFVJRF9YRkFNXzExSDoKLQkJcmRtc3IoTVNSX0s4X0VOQUJMRV9DMUUsIGxvLCBoaSk7Ci0JCWlmIChsbyAmIEVOQUJMRV9DMUVfTUFTSykKLQkJCXJldHVybiAxOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQkvKiBlcnIgb24gdGhlIHNpZGUgb2YgY2F1dGlvbiAqLwotCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JZWFybHlfaW5pdF9hbWRfbWMoYyk7Ci0KLSAJLyogYy0+eDg2X3Bvd2VyIGlzIDgwMDBfMDAwNyBlZHguIEJpdCA4IGlzIGNvbnN0YW50IFRTQyAqLwotCWlmIChjLT54ODZfcG93ZXIgJiAoMTw8OCkpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JdW5zaWduZWQgbGV2ZWw7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JdW5zaWduZWQgbG9uZyB2YWx1ZTsKLQotCS8qCi0JICogRGlzYWJsZSBUTEIgZmx1c2ggZmlsdGVyIGJ5IHNldHRpbmcgSFdDUi5GRkRJUyBvbiBLOAotCSAqIGJpdCA2IG9mIG1zciBDMDAxXzAwMTUKLQkgKgotCSAqIEVycmF0YSA2MyBmb3IgU0gtQjMgc3RlcHBpbmdzCi0JICogRXJyYXRhIDEyMiBmb3IgYWxsIHN0ZXBwaW5ncyAoRisgaGF2ZSBpdCBkaXNhYmxlZCBieSBkZWZhdWx0KQotCSAqLwotCWlmIChjLT54ODYgPT0gMTUpIHsKLQkJcmRtc3JsKE1TUl9LOF9IV0NSLCB2YWx1ZSk7Ci0JCXZhbHVlIHw9IDEgPDwgNjsKLQkJd3Jtc3JsKE1TUl9LOF9IV0NSLCB2YWx1ZSk7Ci0JfQotI2VuZGlmCi0KLQkvKiBCaXQgMzEgaW4gbm9ybWFsIENQVUlEIHVzZWQgZm9yIG5vbnN0YW5kYXJkIDNETm93IElEOwotCSAgIDNETm93IGlzIElEZCBieSBiaXQgMzEgaW4gZXh0ZW5kZWQgQ1BVSUQgKDEqMzIrMzEpIGFueXdheSAqLwotCWNsZWFyX2NwdV9jYXAoYywgMCozMiszMSk7Ci0KLQkvKiBPbiBDKyBzdGVwcGluZyBLOCByZXAgbWljcm9jb2RlIHdvcmtzIHdlbGwgZm9yIGNvcHkvbWVtc2V0ICovCi0JbGV2ZWwgPSBjcHVpZF9lYXgoMSk7Ci0JaWYgKGMtPng4NiA9PSAxNSAmJiAoKGxldmVsID49IDB4MGY0OCAmJiBsZXZlbCA8IDB4MGY1MCkgfHwKLQkJCSAgICAgbGV2ZWwgPj0gMHgwZjU4KSkKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCWlmIChjLT54ODYgPT0gMHgxMCB8fCBjLT54ODYgPT0gMHgxMSkKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCi0JLyogRW5hYmxlIHdvcmthcm91bmQgZm9yIEZYU0FWRSBsZWFrICovCi0JaWYgKGMtPng4NiA+PSA2KQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9GWFNBVkVfTEVBSyk7Ci0KLQlsZXZlbCA9IGdldF9tb2RlbF9uYW1lKGMpOwotCWlmICghbGV2ZWwpIHsKLQkJc3dpdGNoIChjLT54ODYpIHsKLQkJY2FzZSAxNToKLQkJCS8qIFNob3VsZCBkaXN0aW5ndWlzaCBNb2RlbHMgaGVyZSwgYnV0IHRoaXMgaXMgb25seQotCQkJICAgYSBmYWxsYmFjayBhbnl3YXlzLiAqLwotCQkJc3RyY3B5KGMtPng4Nl9tb2RlbF9pZCwgIkhhbW1lciIpOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0JZGlzcGxheV9jYWNoZWluZm8oYyk7Ci0KLQkvKiBNdWx0aSBjb3JlIENQVT8gKi8KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwOCkKLQkJYW1kX2RldGVjdF9jbXAoYyk7Ci0KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwNiAmJgotCQkoY3B1aWRfZWR4KDB4ODAwMDAwMDYpICYgMHhmMDAwKSkKLQkJbnVtX2NhY2hlX2xlYXZlcyA9IDQ7Ci0JZWxzZQotCQludW1fY2FjaGVfbGVhdmVzID0gMzsKLQotCWlmIChjLT54ODYgPT0gMHhmIHx8IGMtPng4NiA9PSAweDEwIHx8IGMtPng4NiA9PSAweDExKQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9LOCk7Ci0KLQkvKiBNRkVOQ0Ugc3RvcHMgUkRUU0Mgc3BlY3VsYXRpb24gKi8KLQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9NRkVOQ0VfUkRUU0MpOwotCi0JaWYgKGMtPng4NiA9PSAweDEwKQotCQlmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKCk7Ci0KLQlpZiAoYW1kX2FwaWNfdGltZXJfYnJva2VuKCkpCi0JCWRpc2FibGVfYXBpY190aW1lciA9IDE7Ci0KLQlpZiAoYyA9PSAmYm9vdF9jcHVfZGF0YSAmJiBjLT54ODYgPj0gMHhmICYmIGMtPng4NiA8PSAweDExKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2VnOwotCi0JCS8qCi0JCSAqIFNwbGl0IHVwIGRpcmVjdCBtYXBwaW5nIGFyb3VuZCB0aGUgVFNFRyBTTU0gYXJlYS4KLQkJICogRG9uJ3QgZG8gaXQgZm9yIGdicGFnZXMgYmVjYXVzZSB0aGVyZSBzZWVtcyB2ZXJ5IGxpdHRsZQotCQkgKiBiZW5lZml0IGluIGRvaW5nIHNvLgotCQkgKi8KLQkJaWYgKCFyZG1zcmxfc2FmZShNU1JfSzhfVFNFR19BRERSLCAmdHNlZykgJiYKLQkJKHRzZWcgPj4gUE1EX1NISUZUKSA8IChtYXhfcGZuX21hcHBlZCA+PiAoUE1EX1NISUZULVBBR0VfU0hJRlQpKSkKLQkJCXNldF9tZW1vcnlfNGsoKHVuc2lnbmVkIGxvbmcpX192YSh0c2VnKSwgMSk7Ci0JfQotfQotCi12b2lkIF9fY3B1aW5pdCBkZXRlY3RfaHQoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotI2lmZGVmIENPTkZJR19TTVAKLQl1MzIgZWF4LCBlYngsIGVjeCwgZWR4OwotCWludCBpbmRleF9tc2IsIGNvcmVfYml0czsKLQotCWNwdWlkKDEsICZlYXgsICZlYngsICZlY3gsICZlZHgpOwotCi0KLQlpZiAoIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfSFQpKQotCQlyZXR1cm47Ci0JaWYgKGNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfQ01QX0xFR0FDWSkpCi0JCWdvdG8gb3V0OwotCi0Jc21wX251bV9zaWJsaW5ncyA9IChlYnggJiAweGZmMDAwMCkgPj4gMTY7Ci0KLQlpZiAoc21wX251bV9zaWJsaW5ncyA9PSAxKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gICJDUFU6IEh5cGVyLVRocmVhZGluZyBpcyBkaXNhYmxlZFxuIik7Ci0JfSBlbHNlIGlmIChzbXBfbnVtX3NpYmxpbmdzID4gMSkgewotCi0JCWlmIChzbXBfbnVtX3NpYmxpbmdzID4gTlJfQ1BVUykgewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiQ1BVOiBVbnN1cHBvcnRlZCBudW1iZXIgb2YgIgotCQkJICAgICAgICJzaWJsaW5ncyAlZCIsIHNtcF9udW1fc2libGluZ3MpOwotCQkJc21wX251bV9zaWJsaW5ncyA9IDE7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlpbmRleF9tc2IgPSBnZXRfY291bnRfb3JkZXIoc21wX251bV9zaWJsaW5ncyk7Ci0JCWMtPnBoeXNfcHJvY19pZCA9IHBoeXNfcGtnX2lkKGluZGV4X21zYik7Ci0KLQkJc21wX251bV9zaWJsaW5ncyA9IHNtcF9udW1fc2libGluZ3MgLyBjLT54ODZfbWF4X2NvcmVzOwotCi0JCWluZGV4X21zYiA9IGdldF9jb3VudF9vcmRlcihzbXBfbnVtX3NpYmxpbmdzKTsKLQotCQljb3JlX2JpdHMgPSBnZXRfY291bnRfb3JkZXIoYy0+eDg2X21heF9jb3Jlcyk7Ci0KLQkJYy0+Y3B1X2NvcmVfaWQgPSBwaHlzX3BrZ19pZChpbmRleF9tc2IpICYKLQkJCQkJICAgICAgICgoMSA8PCBjb3JlX2JpdHMpIC0gMSk7Ci0JfQotb3V0OgotCWlmICgoYy0+eDg2X21heF9jb3JlcyAqIHNtcF9udW1fc2libGluZ3MpID4gMSkgewotCQlwcmludGsoS0VSTl9JTkZPICAiQ1BVOiBQaHlzaWNhbCBQcm9jZXNzb3IgSUQ6ICVkXG4iLAotCQkgICAgICAgYy0+cGh5c19wcm9jX2lkKTsKLQkJcHJpbnRrKEtFUk5fSU5GTyAgIkNQVTogUHJvY2Vzc29yIENvcmUgSUQ6ICVkXG4iLAotCQkgICAgICAgYy0+Y3B1X2NvcmVfaWQpOwotCX0KLQotI2VuZGlmCi19Ci0KLS8qCi0gKiBmaW5kIG91dCB0aGUgbnVtYmVyIG9mIHByb2Nlc3NvciBjb3JlcyBvbiB0aGUgZGllCi0gKi8KLXN0YXRpYyBpbnQgX19jcHVpbml0IGludGVsX251bV9jcHVfY29yZXMoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCXVuc2lnbmVkIGludCBlYXgsIHQ7Ci0KLQlpZiAoYy0+Y3B1aWRfbGV2ZWwgPCA0KQotCQlyZXR1cm4gMTsKLQotCWNwdWlkX2NvdW50KDQsIDAsICZlYXgsICZ0LCAmdCwgJnQpOwotCi0JaWYgKGVheCAmIDB4MWYpCi0JCXJldHVybiAoKGVheCA+PiAyNikgKyAxKTsKLQllbHNlCi0JCXJldHVybiAxOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgc3JhdF9kZXRlY3Rfbm9kZSh2b2lkKQotewotI2lmZGVmIENPTkZJR19OVU1BCi0JdW5zaWduZWQgbm9kZTsKLQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCWludCBhcGljaWQgPSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKTsKLQotCS8qIERvbid0IGRvIHRoZSBmdW5reSBmYWxsYmFjayBoZXVyaXN0aWNzIHRoZSBBTUQgdmVyc2lvbiBlbXBsb3lzCi0JICAgZm9yIG5vdy4gKi8KLQlub2RlID0gYXBpY2lkX3RvX25vZGVbYXBpY2lkXTsKLQlpZiAobm9kZSA9PSBOVU1BX05PX05PREUgfHwgIW5vZGVfb25saW5lKG5vZGUpKQotCQlub2RlID0gZmlyc3Rfbm9kZShub2RlX29ubGluZV9tYXApOwotCW51bWFfc2V0X25vZGUoY3B1LCBub2RlKTsKLQotCXByaW50ayhLRVJOX0lORk8gIkNQVSAlZC8leCAtPiBOb2RlICVkXG4iLCBjcHUsIGFwaWNpZCwgbm9kZSk7Ci0jZW5kaWYKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfaW50ZWwoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWlmICgoYy0+eDg2ID09IDB4ZiAmJiBjLT54ODZfbW9kZWwgPj0gMHgwMykgfHwKLQkgICAgKGMtPng4NiA9PSAweDYgJiYgYy0+eDg2X21vZGVsID49IDB4MGUpKQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9pbnRlbChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JLyogQ2FjaGUgc2l6ZXMgKi8KLQl1bnNpZ25lZCBuOwotCi0JaW5pdF9pbnRlbF9jYWNoZWluZm8oYyk7Ci0JaWYgKGMtPmNwdWlkX2xldmVsID4gOSkgewotCQl1bnNpZ25lZCBlYXggPSBjcHVpZF9lYXgoMTApOwotCQkvKiBDaGVjayBmb3IgdmVyc2lvbiBhbmQgdGhlIG51bWJlciBvZiBjb3VudGVycyAqLwotCQlpZiAoKGVheCAmIDB4ZmYpICYmICgoKGVheD4+OCkgJiAweGZmKSA+IDEpKQotCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQVJDSF9QRVJGTU9OKTsKLQl9Ci0KLQlpZiAoY3B1X2hhc19kcykgewotCQl1bnNpZ25lZCBpbnQgbDEsIGwyOwotCQlyZG1zcihNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbDEsIGwyKTsKLQkJaWYgKCEobDEgJiAoMTw8MTEpKSkKLQkJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0JUUyk7Ci0JCWlmICghKGwxICYgKDE8PDEyKSkpCi0JCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9QRUJTKTsKLQl9Ci0KLQotCWlmIChjcHVfaGFzX2J0cykKLQkJZHNfaW5pdF9pbnRlbChjKTsKLQotCW4gPSBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbDsKLQlpZiAobiA+PSAweDgwMDAwMDA4KSB7Ci0JCXVuc2lnbmVkIGVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQkJLyogQ1BVSUQgd29ya2Fyb3VuZCBmb3IgSW50ZWwgMEYzNCBDUFUgKi8KLQkJaWYgKGMtPng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCAmJgotCQkgICAgYy0+eDg2ID09IDB4RiAmJiBjLT54ODZfbW9kZWwgPT0gMHgzICYmCi0JCSAgICBjLT54ODZfbWFzayA9PSAweDQpCi0JCQljLT54ODZfcGh5c19iaXRzID0gMzY7Ci0JfQotCi0JaWYgKGMtPng4NiA9PSAxNSkKLQkJYy0+eDg2X2NhY2hlX2FsaWdubWVudCA9IGMtPng4Nl9jbGZsdXNoX3NpemUgKiAyOwotCWlmIChjLT54ODYgPT0gNikKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0xGRU5DRV9SRFRTQyk7Ci0JYy0+eDg2X21heF9jb3JlcyA9IGludGVsX251bV9jcHVfY29yZXMoYyk7Ci0KLQlzcmF0X2RldGVjdF9ub2RlKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2NlbnRhdXIoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWlmIChjLT54ODYgPT0gMHg2ICYmIGMtPng4Nl9tb2RlbCA+PSAweGYpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2NlbnRhdXIoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCS8qIENhY2hlIHNpemVzICovCi0JdW5zaWduZWQgbjsKLQotCW4gPSBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbDsKLQlpZiAobiA+PSAweDgwMDAwMDA4KSB7Ci0JCXVuc2lnbmVkIGVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQl9Ci0KLQlpZiAoYy0+eDg2ID09IDB4NiAmJiBjLT54ODZfbW9kZWwgPj0gMHhmKSB7Ci0JCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplICogMjsKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCX0KLQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9MRkVOQ0VfUkRUU0MpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgZ2V0X2NwdV92ZW5kb3Ioc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWNoYXIgKnYgPSBjLT54ODZfdmVuZG9yX2lkOwotCi0JaWYgKCFzdHJjbXAodiwgIkF1dGhlbnRpY0FNRCIpKQotCQljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9BTUQ7Ci0JZWxzZSBpZiAoIXN0cmNtcCh2LCAiR2VudWluZUludGVsIikpCi0JCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9SX0lOVEVMOwotCWVsc2UgaWYgKCFzdHJjbXAodiwgIkNlbnRhdXJIYXVscyIpKQotCQljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9DRU5UQVVSOwotCWVsc2UKLQkJYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfVU5LTk9XTjsKLX0KLQotLyogRG8gc29tZSBlYXJseSBjcHVpZCBvbiB0aGUgYm9vdCBDUFUgdG8gZ2V0IHNvbWUgcGFyYW1ldGVyIHRoYXQgYXJlCi0gICBuZWVkZWQgYmVmb3JlIGNoZWNrX2J1Z3MuIEV2ZXJ5dGhpbmcgYWR2YW5jZWQgaXMgaW4gaWRlbnRpZnlfY3B1Ci0gICBiZWxvdy4gKi8KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCXUzMiB0Zm1zLCB4bHZsOwotCi0JYy0+bG9vcHNfcGVyX2ppZmZ5ID0gbG9vcHNfcGVyX2ppZmZ5OwotCWMtPng4Nl9jYWNoZV9zaXplID0gLTE7Ci0JYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfVU5LTk9XTjsKLQljLT54ODZfbW9kZWwgPSBjLT54ODZfbWFzayA9IDA7CS8qIFNvIGZhciB1bmtub3duLi4uICovCi0JYy0+eDg2X3ZlbmRvcl9pZFswXSA9ICdcMCc7IC8qIFVuc2V0ICovCi0JYy0+eDg2X21vZGVsX2lkWzBdID0gJ1wwJzsgIC8qIFVuc2V0ICovCi0JYy0+eDg2X2NsZmx1c2hfc2l6ZSA9IDY0OwotCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplOwotCWMtPng4Nl9tYXhfY29yZXMgPSAxOwotCWMtPng4Nl9jb3JlaWRfYml0cyA9IDA7Ci0JYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPSAwOwotCW1lbXNldCgmYy0+eDg2X2NhcGFiaWxpdHksIDAsIHNpemVvZiBjLT54ODZfY2FwYWJpbGl0eSk7Ci0KLQkvKiBHZXQgdmVuZG9yIG5hbWUgKi8KLQljcHVpZCgweDAwMDAwMDAwLCAodW5zaWduZWQgaW50ICopJmMtPmNwdWlkX2xldmVsLAotCSAgICAgICh1bnNpZ25lZCBpbnQgKikmYy0+eDg2X3ZlbmRvcl9pZFswXSwKLQkgICAgICAodW5zaWduZWQgaW50ICopJmMtPng4Nl92ZW5kb3JfaWRbOF0sCi0JICAgICAgKHVuc2lnbmVkIGludCAqKSZjLT54ODZfdmVuZG9yX2lkWzRdKTsKLQotCWdldF9jcHVfdmVuZG9yKGMpOwotCi0JLyogSW5pdGlhbGl6ZSB0aGUgc3RhbmRhcmQgc2V0IG9mIGNhcGFiaWxpdGllcyAqLwotCS8qIE5vdGUgdGhhdCB0aGUgdmVuZG9yLXNwZWNpZmljIGNvZGUgYmVsb3cgbWlnaHQgb3ZlcnJpZGUgKi8KLQotCS8qIEludGVsLWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4MDAwMDAwMDEgKi8KLQlpZiAoYy0+Y3B1aWRfbGV2ZWwgPj0gMHgwMDAwMDAwMSkgewotCQlfX3UzMiBtaXNjOwotCQljcHVpZCgweDAwMDAwMDAxLCAmdGZtcywgJm1pc2MsICZjLT54ODZfY2FwYWJpbGl0eVs0XSwKLQkJICAgICAgJmMtPng4Nl9jYXBhYmlsaXR5WzBdKTsKLQkJYy0+eDg2ID0gKHRmbXMgPj4gOCkgJiAweGY7Ci0JCWMtPng4Nl9tb2RlbCA9ICh0Zm1zID4+IDQpICYgMHhmOwotCQljLT54ODZfbWFzayA9IHRmbXMgJiAweGY7Ci0JCWlmIChjLT54ODYgPT0gMHhmKQotCQkJYy0+eDg2ICs9ICh0Zm1zID4+IDIwKSAmIDB4ZmY7Ci0JCWlmIChjLT54ODYgPj0gMHg2KQotCQkJYy0+eDg2X21vZGVsICs9ICgodGZtcyA+PiAxNikgJiAweEYpIDw8IDQ7Ci0JCWlmICh0ZXN0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ0xGTFNIKSkKLQkJCWMtPng4Nl9jbGZsdXNoX3NpemUgPSAoKG1pc2MgPj4gOCkgJiAweGZmKSAqIDg7Ci0JfSBlbHNlIHsKLQkJLyogSGF2ZSBDUFVJRCBsZXZlbCAwIG9ubHkgLSB1bmhlYXJkIG9mICovCi0JCWMtPng4NiA9IDQ7Ci0JfQotCi0JYy0+aW5pdGlhbF9hcGljaWQgPSAoY3B1aWRfZWJ4KDEpID4+IDI0KSAmIDB4ZmY7Ci0jaWZkZWYgQ09ORklHX1NNUAotCWMtPnBoeXNfcHJvY19pZCA9IGMtPmluaXRpYWxfYXBpY2lkOwotI2VuZGlmCi0JLyogQU1ELWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4ODAwMDAwMDEgKi8KLQl4bHZsID0gY3B1aWRfZWF4KDB4ODAwMDAwMDApOwotCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0geGx2bDsKLQlpZiAoKHhsdmwgJiAweGZmZmYwMDAwKSA9PSAweDgwMDAwMDAwKSB7Ci0JCWlmICh4bHZsID49IDB4ODAwMDAwMDEpIHsKLQkJCWMtPng4Nl9jYXBhYmlsaXR5WzFdID0gY3B1aWRfZWR4KDB4ODAwMDAwMDEpOwotCQkJYy0+eDg2X2NhcGFiaWxpdHlbNl0gPSBjcHVpZF9lY3goMHg4MDAwMDAwMSk7Ci0JCX0KLQkJaWYgKHhsdmwgPj0gMHg4MDAwMDAwNCkKLQkJCWdldF9tb2RlbF9uYW1lKGMpOyAvKiBEZWZhdWx0IG5hbWUgKi8KLQl9Ci0KLQkvKiBUcmFuc21ldGEtZGVmaW5lZCBmbGFnczogbGV2ZWwgMHg4MDg2MDAwMSAqLwotCXhsdmwgPSBjcHVpZF9lYXgoMHg4MDg2MDAwMCk7Ci0JaWYgKCh4bHZsICYgMHhmZmZmMDAwMCkgPT0gMHg4MDg2MDAwMCkgewotCQkvKiBEb24ndCBzZXQgeDg2X2NwdWlkX2xldmVsIGhlcmUgZm9yIG5vdyB0byBub3QgY29uZnVzZS4gKi8KLQkJaWYgKHhsdmwgPj0gMHg4MDg2MDAwMSkKLQkJCWMtPng4Nl9jYXBhYmlsaXR5WzJdID0gY3B1aWRfZWR4KDB4ODA4NjAwMDEpOwotCX0KLQotCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0gY3B1aWRfZWF4KDB4ODAwMDAwMDApOwotCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA3KQotCQljLT54ODZfcG93ZXIgPSBjcHVpZF9lZHgoMHg4MDAwMDAwNyk7Ci0KLQlzd2l0Y2ggKGMtPng4Nl92ZW5kb3IpIHsKLQljYXNlIFg4Nl9WRU5ET1JfQU1EOgotCQllYXJseV9pbml0X2FtZChjKTsKLQkJYnJlYWs7Ci0JY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQllYXJseV9pbml0X2ludGVsKGMpOwotCQlicmVhazsKLQljYXNlIFg4Nl9WRU5ET1JfQ0VOVEFVUjoKLQkJZWFybHlfaW5pdF9jZW50YXVyKGMpOwotCQlicmVhazsKLQl9Ci0KLQl2YWxpZGF0ZV9wYXRfc3VwcG9ydChjKTsKLX0KLQotLyoKLSAqIFRoaXMgZG9lcyB0aGUgaGFyZCB3b3JrIG9mIGFjdHVhbGx5IHBpY2tpbmcgYXBhcnQgdGhlIENQVSBzdHVmZi4uLgotICovCi12b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWludCBpOwotCi0JZWFybHlfaWRlbnRpZnlfY3B1KGMpOwotCi0JaW5pdF9zY2F0dGVyZWRfY3B1aWRfZmVhdHVyZXMoYyk7Ci0KLQljLT5hcGljaWQgPSBwaHlzX3BrZ19pZCgwKTsKLQotCS8qCi0JICogVmVuZG9yLXNwZWNpZmljIGluaXRpYWxpemF0aW9uLiAgSW4gdGhpcyBzZWN0aW9uIHdlCi0JICogY2Fub25pY2FsaXplIHRoZSBmZWF0dXJlIGZsYWdzLCBtZWFuaW5nIGlmIHRoZXJlIGFyZQotCSAqIGZlYXR1cmVzIGEgY2VydGFpbiBDUFUgc3VwcG9ydHMgd2hpY2ggQ1BVSUQgZG9lc24ndAotCSAqIHRlbGwgdXMsIENQVUlEIGNsYWltaW5nIGluY29ycmVjdCBmbGFncywgb3Igb3RoZXIgYnVncywKLQkgKiB3ZSBoYW5kbGUgdGhlbSBoZXJlLgotCSAqCi0JICogQXQgdGhlIGVuZCBvZiB0aGlzIHNlY3Rpb24sIGMtPng4Nl9jYXBhYmlsaXR5IGJldHRlcgotCSAqIGluZGljYXRlIHRoZSBmZWF0dXJlcyB0aGlzIENQVSBnZW51aW5lbHkgc3VwcG9ydHMhCi0JICovCi0Jc3dpdGNoIChjLT54ODZfdmVuZG9yKSB7Ci0JY2FzZSBYODZfVkVORE9SX0FNRDoKLQkJaW5pdF9hbWQoYyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQlpbml0X2ludGVsKGMpOwotCQlicmVhazsKLQotCWNhc2UgWDg2X1ZFTkRPUl9DRU5UQVVSOgotCQlpbml0X2NlbnRhdXIoYyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBYODZfVkVORE9SX1VOS05PV046Ci0JZGVmYXVsdDoKLQkJZGlzcGxheV9jYWNoZWluZm8oYyk7Ci0JCWJyZWFrOwotCX0KLQotCWRldGVjdF9odChjKTsKLQotCS8qCi0JICogT24gU01QLCBib290X2NwdV9kYXRhIGhvbGRzIHRoZSBjb21tb24gZmVhdHVyZSBzZXQgYmV0d2VlbgotCSAqIGFsbCBDUFVzOyBzbyBtYWtlIHN1cmUgdGhhdCB3ZSBpbmRpY2F0ZSB3aGljaCBmZWF0dXJlcyBhcmUKLQkgKiBjb21tb24gYmV0d2VlbiB0aGUgQ1BVcy4gIFRoZSBmaXJzdCB0aW1lIHRoaXMgcm91dGluZSBnZXRzCi0JICogZXhlY3V0ZWQsIGMgPT0gJmJvb3RfY3B1X2RhdGEuCi0JICovCi0JaWYgKGMgIT0gJmJvb3RfY3B1X2RhdGEpIHsKLQkJLyogQU5EIHRoZSBhbHJlYWR5IGFjY3VtdWxhdGVkIGZsYWdzIHdpdGggdGhlc2UgKi8KLQkJZm9yIChpID0gMDsgaSA8IE5DQVBJTlRTOyBpKyspCi0JCQlib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5W2ldICY9IGMtPng4Nl9jYXBhYmlsaXR5W2ldOwotCX0KLQotCS8qIENsZWFyIGFsbCBmbGFncyBvdmVycmlkZW4gYnkgb3B0aW9ucyAqLwotCWZvciAoaSA9IDA7IGkgPCBOQ0FQSU5UUzsgaSsrKQotCQljLT54ODZfY2FwYWJpbGl0eVtpXSAmPSB+Y2xlYXJlZF9jcHVfY2Fwc1tpXTsKLQotI2lmZGVmIENPTkZJR19YODZfTUNFCi0JbWNoZWNrX2luaXQoYyk7Ci0jZW5kaWYKLQlzZWxlY3RfaWRsZV9yb3V0aW5lKGMpOwotCi0jaWZkZWYgQ09ORklHX05VTUEKLQludW1hX2FkZF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKLSNlbmRpZgotCi19Ci0KLXZvaWQgX19jcHVpbml0IGlkZW50aWZ5X2Jvb3RfY3B1KHZvaWQpCi17Ci0JaWRlbnRpZnlfY3B1KCZib290X2NwdV9kYXRhKTsKLX0KLQotdm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfc2Vjb25kYXJ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JQlVHX09OKGMgPT0gJmJvb3RfY3B1X2RhdGEpOwotCWlkZW50aWZ5X2NwdShjKTsKLQltdHJyX2FwX2luaXQoKTsKLX0KLQotc3RhdGljIF9faW5pdCBpbnQgc2V0dXBfbm9jbGZsdXNoKGNoYXIgKmFyZykKLXsKLQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX0NMRkxTSCk7Ci0JcmV0dXJuIDE7Ci19Ci1fX3NldHVwKCJub2NsZmx1c2giLCBzZXR1cF9ub2NsZmx1c2gpOwotCi12b2lkIF9fY3B1aW5pdCBwcmludF9jcHVfaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JaWYgKGMtPng4Nl9tb2RlbF9pZFswXSkKLQkJcHJpbnRrKEtFUk5fQ09OVCAiJXMiLCBjLT54ODZfbW9kZWxfaWQpOwotCi0JaWYgKGMtPng4Nl9tYXNrIHx8IGMtPmNwdWlkX2xldmVsID49IDApCi0JCXByaW50ayhLRVJOX0NPTlQgIiBzdGVwcGluZyAlMDJ4XG4iLCBjLT54ODZfbWFzayk7Ci0JZWxzZQotCQlwcmludGsoS0VSTl9DT05UICJcbiIpOwotfQotCi1zdGF0aWMgX19pbml0IGludCBzZXR1cF9kaXNhYmxlY3B1aWQoY2hhciAqYXJnKQotewotCWludCBiaXQ7Ci0JaWYgKGdldF9vcHRpb24oJmFyZywgJmJpdCkgJiYgYml0IDwgTkNBUElOVFMqMzIpCi0JCXNldHVwX2NsZWFyX2NwdV9jYXAoYml0KTsKLQllbHNlCi0JCXJldHVybiAwOwotCXJldHVybiAxOwotfQotX19zZXR1cCgiY2xlYXJjcHVpZD0iLCBzZXR1cF9kaXNhYmxlY3B1aWQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwX3BlcmNwdS5jIGIvYXJjaC94ODYva2VybmVsL3NldHVwX3BlcmNwdS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhYzY4NDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfcGVyY3B1LmMKQEAgLTAsMCArMSwzOTkgQEAKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CisjaW5jbHVkZSA8bGludXgvY3Jhc2hfZHVtcC5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vYXBpY2RlZi5oPgorI2luY2x1ZGUgPGFzbS9oaWdobWVtLmg+CisKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKK3Vuc2lnbmVkIGludCBudW1fcHJvY2Vzc29yczsKK3Vuc2lnbmVkIGRpc2FibGVkX2NwdXMgX19jcHVpbml0ZGF0YTsKKy8qIFByb2Nlc3NvciB0aGF0IGlzIGRvaW5nIHRoZSBib290IHVwICovCit1bnNpZ25lZCBpbnQgYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gLTFVOwordW5zaWduZWQgaW50IG1heF9waHlzaWNhbF9hcGljaWQ7CitFWFBPUlRfU1lNQk9MKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7CisKKy8qIEJpdG1hc2sgb2YgcGh5c2ljYWxseSBleGlzdGluZyBDUFVzICovCitwaHlzaWRfbWFza190IHBoeXNfY3B1X3ByZXNlbnRfbWFwOworI2VuZGlmCisKKy8qIG1hcCBjcHUgaW5kZXggdG8gcGh5c2ljYWwgQVBJQyBJRCAqLworREVGSU5FX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfY3B1X3RvX2FwaWNpZCwgQkFEX0FQSUNJRCk7CitERUZJTkVfRUFSTFlfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQsIEJBRF9BUElDSUQpOworRVhQT1JUX0VBUkxZX1BFUl9DUFVfU1lNQk9MKHg4Nl9jcHVfdG9fYXBpY2lkKTsKK0VYUE9SVF9FQVJMWV9QRVJfQ1BVX1NZTUJPTCh4ODZfYmlvc19jcHVfYXBpY2lkKTsKKworI2lmIGRlZmluZWQoQ09ORklHX05VTUEpICYmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkKKyNkZWZpbmUJWDg2XzY0X05VTUEJMQorCisvKiBtYXAgY3B1IGluZGV4IHRvIG5vZGUgaW5kZXggKi8KK0RFRklORV9FQVJMWV9QRVJfQ1BVKGludCwgeDg2X2NwdV90b19ub2RlX21hcCwgTlVNQV9OT19OT0RFKTsKK0VYUE9SVF9FQVJMWV9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX25vZGVfbWFwKTsKKworLyogd2hpY2ggbG9naWNhbCBDUFVzIGFyZSBvbiB3aGljaCBub2RlcyAqLworY3B1bWFza190ICpub2RlX3RvX2NwdW1hc2tfbWFwOworRVhQT1JUX1NZTUJPTChub2RlX3RvX2NwdW1hc2tfbWFwKTsKKworLyogc2V0dXAgbm9kZV90b19jcHVtYXNrX21hcCAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX25vZGVfdG9fY3B1bWFza19tYXAodm9pZCk7CisKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfbm9kZV90b19jcHVtYXNrX21hcCh2b2lkKSB7IH0KKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUEpICYmIGRlZmluZWQoQ09ORklHX1g4Nl9TTVApCisvKgorICogQ29weSBkYXRhIHVzZWQgaW4gZWFybHkgaW5pdCByb3V0aW5lcyBmcm9tIHRoZSBpbml0aWFsIGFycmF5cyB0byB0aGUKKyAqIHBlciBjcHUgZGF0YSBhcmVhcy4gIFRoZXNlIGFycmF5cyB0aGVuIGJlY29tZSBleHBlbmRhYmxlIGFuZCB0aGUKKyAqICpfZWFybHlfcHRyJ3MgYXJlIHplcm9lZCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0YXRpYyBhcnJheXMgYXJlIGdvbmUuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9wZXJfY3B1X21hcHModm9pZCkKK3sKKwlpbnQgY3B1OworCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpID0KKwkJCQllYXJseV9wZXJfY3B1X21hcCh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KTsKKwkJcGVyX2NwdSh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpID0KKwkJCQllYXJseV9wZXJfY3B1X21hcCh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpOworI2lmZGVmIFg4Nl82NF9OVU1BCisJCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9CisJCQkJZWFybHlfcGVyX2NwdV9tYXAoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKKyNlbmRpZgorCX0KKworCS8qIGluZGljYXRlIHRoZSBlYXJseSBzdGF0aWMgYXJyYXlzIHdpbGwgc29vbiBiZSBnb25lICovCisJZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19hcGljaWQpID0gTlVMTDsKKwllYXJseV9wZXJfY3B1X3B0cih4ODZfYmlvc19jcHVfYXBpY2lkKSA9IE5VTEw7CisjaWZkZWYgWDg2XzY0X05VTUEKKwllYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTEw7CisjZW5kaWYKK30KKworI2lmZGVmIENPTkZJR19IQVZFX0NQVU1BU0tfT0ZfQ1BVX01BUAorY3B1bWFza190ICpjcHVtYXNrX29mX2NwdV9tYXAgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woY3B1bWFza19vZl9jcHVfbWFwKTsKKworLyogcmVxdWlyZXMgbnJfY3B1X2lkcyB0byBiZSBpbml0aWFsaXplZCAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdW1hc2tfb2ZfY3B1KHZvaWQpCit7CisJaW50IGk7CisKKwkvKiBhbGxvY19ib290bWVtIHplcm9lcyBtZW1vcnkgKi8KKwljcHVtYXNrX29mX2NwdV9tYXAgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2YoY3B1bWFza190KSAqIG5yX2NwdV9pZHMpOworCWZvciAoaSA9IDA7IGkgPCBucl9jcHVfaWRzOyBpKyspCisJCWNwdV9zZXQoaSwgY3B1bWFza19vZl9jcHVfbWFwW2ldKTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1bWFza19vZl9jcHUodm9pZCkgeyB9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qCisgKiBHcmVhdCBmdXR1cmUgbm90LXNvLWZ1dHVyaXN0aWMgcGxhbjogbWFrZSBpMzg2IGFuZCB4ODZfNjQgZG8gaXQKKyAqIHRoZSBzYW1lIHdheQorICovCit1bnNpZ25lZCBsb25nIF9fcGVyX2NwdV9vZmZzZXRbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woX19wZXJfY3B1X29mZnNldCk7CitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1X3BkYV9tYXAodm9pZCkgeyB9CisKKyNlbGlmICFkZWZpbmVkKENPTkZJR19TTVApCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1X3BkYV9tYXAodm9pZCkgeyB9CisKKyNlbHNlIC8qIENPTkZJR19TTVAgJiYgQ09ORklHX1g4Nl82NCAqLworCisvKgorICogQWxsb2NhdGUgY3B1X3BkYSBwb2ludGVyIHRhYmxlIGFuZCBhcnJheSB2aWEgYWxsb2NfYm9vdG1lbS4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdV9wZGFfbWFwKHZvaWQpCit7CisJY2hhciAqcGRhOworCXN0cnVjdCB4ODY2NF9wZGEgKipuZXdfY3B1X3BkYTsKKwl1bnNpZ25lZCBsb25nIHNpemU7CisJaW50IGNwdTsKKworCXNpemUgPSByb3VuZHVwKHNpemVvZihzdHJ1Y3QgeDg2NjRfcGRhKSwgY2FjaGVfbGluZV9zaXplKCkpOworCisJLyogYWxsb2NhdGUgY3B1X3BkYSBhcnJheSBhbmQgcG9pbnRlciB0YWJsZSAqLworCXsKKwkJdW5zaWduZWQgbG9uZyB0c2l6ZSA9IG5yX2NwdV9pZHMgKiBzaXplb2Yodm9pZCAqKTsKKwkJdW5zaWduZWQgbG9uZyBhc2l6ZSA9IHNpemUgKiAobnJfY3B1X2lkcyAtIDEpOworCisJCXRzaXplID0gcm91bmR1cCh0c2l6ZSwgY2FjaGVfbGluZV9zaXplKCkpOworCQluZXdfY3B1X3BkYSA9IGFsbG9jX2Jvb3RtZW0odHNpemUgKyBhc2l6ZSk7CisJCXBkYSA9IChjaGFyICopbmV3X2NwdV9wZGEgKyB0c2l6ZTsKKwl9CisKKwkvKiBpbml0aWFsaXplIHBvaW50ZXIgdGFibGUgdG8gc3RhdGljIHBkYSdzICovCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlpZiAoY3B1ID09IDApIHsKKwkJCS8qIGxlYXZlIGJvb3QgY3B1IHBkYSBpbiBwbGFjZSAqLworCQkJbmV3X2NwdV9wZGFbMF0gPSBjcHVfcGRhKDApOworCQkJY29udGludWU7CisJCX0KKwkJbmV3X2NwdV9wZGFbY3B1XSA9IChzdHJ1Y3QgeDg2NjRfcGRhICopcGRhOworCQluZXdfY3B1X3BkYVtjcHVdLT5pbl9ib290bWVtID0gMTsKKwkJcGRhICs9IHNpemU7CisJfQorCisJLyogcG9pbnQgdG8gbmV3IHBvaW50ZXIgdGFibGUgKi8KKwlfY3B1X3BkYSA9IG5ld19jcHVfcGRhOworfQorI2VuZGlmCisKKy8qCisgKiBHcmVhdCBmdXR1cmUgcGxhbjoKKyAqIERlY2xhcmUgUERBIGl0c2VsZiBhbmQgc3VwcG9ydCAoaXJxc3RhY2ssdHNzLHBnZCkgYXMgcGVyIGNwdSBkYXRhLgorICogQWx3YXlzIHBvaW50ICVncyB0byBpdHMgYmVnaW5uaW5nCisgKi8KK3ZvaWQgX19pbml0IHNldHVwX3Blcl9jcHVfYXJlYXModm9pZCkKK3sKKwlzc2l6ZV90IHNpemUgPSBQRVJDUFVfRU5PVUdIX1JPT007CisJY2hhciAqcHRyOworCWludCBjcHU7CisKKwkvKiBTZXR1cCBjcHVfcGRhIG1hcCAqLworCXNldHVwX2NwdV9wZGFfbWFwKCk7CisKKwkvKiBDb3B5IHNlY3Rpb24gZm9yIGVhY2ggQ1BVICh3ZSBkaXNjYXJkIHRoZSBvcmlnaW5hbCkgKi8KKwlzaXplID0gUEVSQ1BVX0VOT1VHSF9ST09NOworCXByaW50ayhLRVJOX0lORk8gIlBFUkNQVTogQWxsb2NhdGluZyAlemQgYnl0ZXMgb2YgcGVyIGNwdSBkYXRhXG4iLAorCQkJICBzaXplKTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKyNpZm5kZWYgQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMKKwkJcHRyID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhzaXplKTsKKyNlbHNlCisJCWludCBub2RlID0gZWFybHlfY3B1X3RvX25vZGUoY3B1KTsKKwkJaWYgKCFub2RlX29ubGluZShub2RlKSB8fCAhTk9ERV9EQVRBKG5vZGUpKSB7CisJCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzKHNpemUpOworCQkJcHJpbnRrKEtFUk5fSU5GTworCQkJICAgICAgICJjcHUgJWQgaGFzIG5vIG5vZGUgJWQgb3Igbm9kZS1sb2NhbCBtZW1vcnlcbiIsCisJCQkJY3B1LCBub2RlKTsKKwkJfQorCQllbHNlCisJCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzX25vZGUoTk9ERV9EQVRBKG5vZGUpLCBzaXplKTsKKyNlbmRpZgorCQlwZXJfY3B1X29mZnNldChjcHUpID0gcHRyIC0gX19wZXJfY3B1X3N0YXJ0OworCQltZW1jcHkocHRyLCBfX3Blcl9jcHVfc3RhcnQsIF9fcGVyX2NwdV9lbmQgLSBfX3Blcl9jcHVfc3RhcnQpOworCisJfQorCisJcHJpbnRrKEtFUk5fREVCVUcgIk5SX0NQVVM6ICVkLCBucl9jcHVfaWRzOiAlZCwgbnJfbm9kZV9pZHMgJWRcbiIsCisJCU5SX0NQVVMsIG5yX2NwdV9pZHMsIG5yX25vZGVfaWRzKTsKKworCS8qIFNldHVwIHBlcmNwdSBkYXRhIG1hcHMgKi8KKwlzZXR1cF9wZXJfY3B1X21hcHMoKTsKKworCS8qIFNldHVwIG5vZGUgdG8gY3B1bWFzayBtYXAgKi8KKwlzZXR1cF9ub2RlX3RvX2NwdW1hc2tfbWFwKCk7CisKKwkvKiBTZXR1cCBjcHVtYXNrX29mX2NwdSBtYXAgKi8KKwlzZXR1cF9jcHVtYXNrX29mX2NwdSgpOworfQorCisjZW5kaWYKKworI2lmZGVmIFg4Nl82NF9OVU1BCisKKy8qCisgKiBBbGxvY2F0ZSBub2RlX3RvX2NwdW1hc2tfbWFwIGJhc2VkIG9uIG51bWJlciBvZiBhdmFpbGFibGUgbm9kZXMKKyAqIFJlcXVpcmVzIG5vZGVfcG9zc2libGVfbWFwIHRvIGJlIHZhbGlkLgorICoKKyAqIE5vdGU6IG5vZGVfdG9fY3B1bWFzaygpIGlzIG5vdCB2YWxpZCB1bnRpbCBhZnRlciB0aGlzIGlzIGRvbmUuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ub2RlX3RvX2NwdW1hc2tfbWFwKHZvaWQpCit7CisJdW5zaWduZWQgaW50IG5vZGUsIG51bSA9IDA7CisJY3B1bWFza190ICptYXA7CisKKwkvKiBzZXR1cCBucl9ub2RlX2lkcyBpZiBub3QgZG9uZSB5ZXQgKi8KKwlpZiAobnJfbm9kZV9pZHMgPT0gTUFYX05VTU5PREVTKSB7CisJCWZvcl9lYWNoX25vZGVfbWFzayhub2RlLCBub2RlX3Bvc3NpYmxlX21hcCkKKwkJCW51bSA9IG5vZGU7CisJCW5yX25vZGVfaWRzID0gbnVtICsgMTsKKwl9CisKKwkvKiBhbGxvY2F0ZSB0aGUgbWFwICovCisJbWFwID0gYWxsb2NfYm9vdG1lbV9sb3cobnJfbm9kZV9pZHMgKiBzaXplb2YoY3B1bWFza190KSk7CisKKwlEcHJpbnRrKEtFUk5fREVCVUcgIk5vZGUgdG8gY3B1bWFzayBtYXAgYXQgJXAgZm9yICVkIG5vZGVzXG4iLAorCQltYXAsIG5yX25vZGVfaWRzKTsKKworCS8qIG5vZGVfdG9fY3B1bWFzaygpIHdpbGwgbm93IHdvcmsgKi8KKwlub2RlX3RvX2NwdW1hc2tfbWFwID0gbWFwOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKQoreworCWludCAqY3B1X3RvX25vZGVfbWFwID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCk7CisKKwlpZiAoY3B1X3BkYShjcHUpICYmIG5vZGUgIT0gTlVNQV9OT19OT0RFKQorCQljcHVfcGRhKGNwdSktPm5vZGVudW1iZXIgPSBub2RlOworCisJaWYgKGNwdV90b19ub2RlX21hcCkKKwkJY3B1X3RvX25vZGVfbWFwW2NwdV0gPSBub2RlOworCisJZWxzZSBpZiAocGVyX2NwdV9vZmZzZXQoY3B1KSkKKwkJcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpID0gbm9kZTsKKworCWVsc2UKKwkJRHByaW50ayhLRVJOX0lORk8gIlNldHRpbmcgbm9kZSBmb3Igbm9uLXByZXNlbnQgY3B1ICVkXG4iLCBjcHUpOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX2NsZWFyX25vZGUoaW50IGNwdSkKK3sKKwludW1hX3NldF9ub2RlKGNwdSwgTlVNQV9OT19OT0RFKTsKK30KKworI2lmbmRlZiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTCisKK3ZvaWQgX19jcHVpbml0IG51bWFfYWRkX2NwdShpbnQgY3B1KQoreworCWNwdV9zZXQoY3B1LCBub2RlX3RvX2NwdW1hc2tfbWFwW2Vhcmx5X2NwdV90b19ub2RlKGNwdSldKTsKK30KKwordm9pZCBfX2NwdWluaXQgbnVtYV9yZW1vdmVfY3B1KGludCBjcHUpCit7CisJY3B1X2NsZWFyKGNwdSwgbm9kZV90b19jcHVtYXNrX21hcFtjcHVfdG9fbm9kZShjcHUpXSk7Cit9CisKKyNlbHNlIC8qIENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMgKi8KKworLyoKKyAqIC0tLS0tLS0tLSBkZWJ1ZyB2ZXJzaW9ucyBvZiB0aGUgbnVtYSBmdW5jdGlvbnMgLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9jcHVtYXNrKGludCBjcHUsIGludCBlbmFibGUpCit7CisJaW50IG5vZGUgPSBjcHVfdG9fbm9kZShjcHUpOworCWNwdW1hc2tfdCAqbWFzazsKKwljaGFyIGJ1Zls2NF07CisKKwlpZiAobm9kZV90b19jcHVtYXNrX21hcCA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAibm9kZV90b19jcHVtYXNrX21hcCBOVUxMXG4iKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm47CisJfQorCisJbWFzayA9ICZub2RlX3RvX2NwdW1hc2tfbWFwW25vZGVdOworCWlmIChlbmFibGUpCisJCWNwdV9zZXQoY3B1LCAqbWFzayk7CisJZWxzZQorCQljcHVfY2xlYXIoY3B1LCAqbWFzayk7CisKKwljcHVsaXN0X3NjbnByaW50ZihidWYsIHNpemVvZihidWYpLCAqbWFzayk7CisJcHJpbnRrKEtFUk5fREVCVUcgIiVzIGNwdSAlZCBub2RlICVkOiBtYXNrIG5vdyAlc1xuIiwKKwkJZW5hYmxlPyAibnVtYV9hZGRfY3B1IjoibnVtYV9yZW1vdmVfY3B1IiwgY3B1LCBub2RlLCBidWYpOworIH0KKwordm9pZCBfX2NwdWluaXQgbnVtYV9hZGRfY3B1KGludCBjcHUpCit7CisJbnVtYV9zZXRfY3B1bWFzayhjcHUsIDEpOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX3JlbW92ZV9jcHUoaW50IGNwdSkKK3sKKwludW1hX3NldF9jcHVtYXNrKGNwdSwgMCk7Cit9CisKK2ludCBjcHVfdG9fbm9kZShpbnQgY3B1KQoreworCWlmIChlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiY3B1X3RvX25vZGUoJWQpOiB1c2FnZSB0b28gZWFybHkhXG4iLCBjcHUpOworCQlkdW1wX3N0YWNrKCk7CisJCXJldHVybiBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKVtjcHVdOworCX0KKwlyZXR1cm4gcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpOworfQorRVhQT1JUX1NZTUJPTChjcHVfdG9fbm9kZSk7CisKKy8qCisgKiBTYW1lIGZ1bmN0aW9uIGFzIGNwdV90b19ub2RlKCkgYnV0IHVzZWQgaWYgY2FsbGVkIGJlZm9yZSB0aGUKKyAqIHBlcl9jcHUgYXJlYXMgYXJlIHNldHVwLgorICovCitpbnQgZWFybHlfY3B1X3RvX25vZGUoaW50IGNwdSkKK3sKKwlpZiAoZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCkpCisJCXJldHVybiBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKVtjcHVdOworCisJaWYgKCFwZXJfY3B1X29mZnNldChjcHUpKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJlYXJseV9jcHVfdG9fbm9kZSglZCk6IG5vIHBlcl9jcHUgYXJlYSFcbiIsIGNwdSk7CisJCWR1bXBfc3RhY2soKTsKKwkJcmV0dXJuIE5VTUFfTk9fTk9ERTsKKwl9CisJcmV0dXJuIHBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKK30KKworCisvKiBlbXB0eSBjcHVtYXNrICovCitzdGF0aWMgY29uc3QgY3B1bWFza190IGNwdV9tYXNrX25vbmU7CisKKy8qCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgYml0bWFzayBvZiBDUFVzIG9uIE5vZGUgJ25vZGUnLgorICovCitjb25zdCBjcHVtYXNrX3QgKl9ub2RlX3RvX2NwdW1hc2tfcHRyKGludCBub2RlKQoreworCWlmIChub2RlX3RvX2NwdW1hc2tfbWFwID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIl9ub2RlX3RvX2NwdW1hc2tfcHRyKCVkKTogbm8gbm9kZV90b19jcHVtYXNrX21hcCFcbiIsCisJCQlub2RlKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gKGNvbnN0IGNwdW1hc2tfdCAqKSZjcHVfb25saW5lX21hcDsKKwl9CisJaWYgKG5vZGUgPj0gbnJfbm9kZV9pZHMpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIl9ub2RlX3RvX2NwdW1hc2tfcHRyKCVkKTogbm9kZSA+IG5yX25vZGVfaWRzKCVkKVxuIiwKKwkJCW5vZGUsIG5yX25vZGVfaWRzKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gJmNwdV9tYXNrX25vbmU7CisJfQorCXJldHVybiAmbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KK0VYUE9SVF9TWU1CT0woX25vZGVfdG9fY3B1bWFza19wdHIpOworCisvKgorICogUmV0dXJucyBhIGJpdG1hc2sgb2YgQ1BVcyBvbiBOb2RlICdub2RlJy4KKyAqCisgKiBTaWRlIG5vdGU6IHRoaXMgZnVuY3Rpb24gY3JlYXRlcyB0aGUgcmV0dXJuZWQgY3B1bWFzayBvbiB0aGUgc3RhY2sKKyAqIHNvIHdpdGggYSBoaWdoIE5SX0NQVVMgY291bnQsIGV4Y2Vzc2l2ZSBzdGFjayBzcGFjZSBpcyB1c2VkLiAgVGhlCisgKiBub2RlX3RvX2NwdW1hc2tfcHRyIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIHdoZW5ldmVyIHBvc3NpYmxlLgorICovCitjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrKGludCBub2RlKQoreworCWlmIChub2RlX3RvX2NwdW1hc2tfbWFwID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIm5vZGVfdG9fY3B1bWFzayglZCk6IG5vIG5vZGVfdG9fY3B1bWFza19tYXAhXG4iLCBub2RlKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gY3B1X29ubGluZV9tYXA7CisJfQorCWlmIChub2RlID49IG5yX25vZGVfaWRzKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJub2RlX3RvX2NwdW1hc2soJWQpOiBub2RlID4gbnJfbm9kZV9pZHMoJWQpXG4iLAorCQkJbm9kZSwgbnJfbm9kZV9pZHMpOworCQlkdW1wX3N0YWNrKCk7CisJCXJldHVybiBjcHVfbWFza19ub25lOworCX0KKwlyZXR1cm4gbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KK0VYUE9SVF9TWU1CT0wobm9kZV90b19jcHVtYXNrKTsKKworLyoKKyAqIC0tLS0tLS0tLSBlbmQgb2YgZGVidWcgdmVyc2lvbnMgb2YgdGhlIG51bWEgZnVuY3Rpb25zIC0tLS0tLS0tLQorICovCisKKyNlbmRpZiAvKiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKyNlbmRpZiAvKiBYODZfNjRfTlVNQSAqLworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc21wLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc21wLmMKaW5kZXggMGNiN2FhZC4uMzYxYjdhNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3NtcC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zbXAuYwpAQCAtMTIxLDEzMiArMTIxLDIzIEBACiAJc2VuZF9JUElfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBSRVNDSEVEVUxFX1ZFQ1RPUik7CiB9CiAKLS8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2UKLSAqIHN0YXRpYyBtZW1vcnkgcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlhdG9taWNfdCBzdGFydGVkOwotCWF0b21pY190IGZpbmlzaGVkOwotCWludCB3YWl0OwotfTsKLQotdm9pZCBsb2NrX2lwaV9jYWxsX2xvY2sodm9pZCkKK3ZvaWQgbmF0aXZlX3NlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkoaW50IGNwdSkKIHsKLQlzcGluX2xvY2tfaXJxKCZjYWxsX2xvY2spOworCXNlbmRfSVBJX21hc2soY3B1bWFza19vZl9jcHUoY3B1KSwgQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SKTsKIH0KIAotdm9pZCB1bmxvY2tfaXBpX2NhbGxfbG9jayh2b2lkKQordm9pZCBuYXRpdmVfc2VuZF9jYWxsX2Z1bmNfaXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXNwaW5fdW5sb2NrX2lycSgmY2FsbF9sb2NrKTsKLX0KLQotc3RhdGljIHN0cnVjdCBjYWxsX2RhdGFfc3RydWN0ICpjYWxsX2RhdGE7Ci0KLXN0YXRpYyB2b2lkIF9fc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQlpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCkKLXsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwotCWludCBjcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwotCi0JaWYgKCFjcHVzKQotCQlyZXR1cm47Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCW1iKCk7Ci0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBhbGwgb3RoZXIgQ1BVcyBhbmQgd2FpdCBmb3IgdGhlbSB0byByZXNwb25kICovCi0Jc2VuZF9JUElfYWxsYnV0c2VsZihDQUxMX0ZVTkNUSU9OX1ZFQ1RPUik7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzKQotCQljcHVfcmVsYXgoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IGNwdXMpCi0JCQljcHVfcmVsYXgoKTsKLX0KLQotCi0vKioKLSAqIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soKTogUnVuIGEgZnVuY3Rpb24gb24gYSBzZXQgb2Ygb3RoZXIgQ1BVcy4KLSAqIEBtYXNrOiBUaGUgc2V0IG9mIGNwdXMgdG8gcnVuIG9uLiAgTXVzdCBub3QgaW5jbHVkZSB0aGUgY3VycmVudCBjcHUuCi0gKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKgotICAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogSWYgQHdhaXQgaXMgdHJ1ZSwgdGhlbiByZXR1cm5zIG9uY2UgQGZ1bmMgaGFzIHJldHVybmVkOyBvdGhlcndpc2UKLSAqIGl0IHJldHVybnMganVzdCBiZWZvcmUgdGhlIHRhcmdldCBjcHUgY2FsbHMgQGZ1bmMuCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotc3RhdGljIGludAotbmF0aXZlX3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssCi0JCQkgICAgICB2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgIGludCB3YWl0KQotewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7CiAJY3B1bWFza190IGFsbGJ1dHNlbGY7Ci0JaW50IGNwdXM7Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JLyogSG9sZGluZyBhbnkgbG9jayBzdG9wcyBjcHVzIGZyb20gZ29pbmcgZG93bi4gKi8KLQlzcGluX2xvY2soJmNhbGxfbG9jayk7CiAKIAlhbGxidXRzZWxmID0gY3B1X29ubGluZV9tYXA7CiAJY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgYWxsYnV0c2VsZik7CiAKLQljcHVzX2FuZChtYXNrLCBtYXNrLCBhbGxidXRzZWxmKTsKLQljcHVzID0gY3B1c193ZWlnaHQobWFzayk7Ci0KLQlpZiAoIWNwdXMpIHsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlhdG9taWNfc2V0KCZkYXRhLnN0YXJ0ZWQsIDApOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19zZXQoJmRhdGEuZmluaXNoZWQsIDApOwotCi0JY2FsbF9kYXRhID0gJmRhdGE7Ci0Jd21iKCk7Ci0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBvdGhlciBDUFVzICovCiAJaWYgKGNwdXNfZXF1YWwobWFzaywgYWxsYnV0c2VsZikgJiYKIAkgICAgY3B1c19lcXVhbChjcHVfb25saW5lX21hcCwgY3B1X2NhbGxvdXRfbWFwKSkKIAkJc2VuZF9JUElfYWxsYnV0c2VsZihDQUxMX0ZVTkNUSU9OX1ZFQ1RPUik7CiAJZWxzZQogCQlzZW5kX0lQSV9tYXNrKG1hc2ssIENBTExfRlVOQ1RJT05fVkVDVE9SKTsKLQotCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IGNwdXMpCi0JCWNwdV9yZWxheCgpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWNwdV9yZWxheCgpOwotCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCi0JcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkIHN0b3BfdGhpc19jcHUodm9pZCAqZHVtbXkpCkBAIC0yNjgsMTggKzE1OSwxMyBAQAogCiBzdGF0aWMgdm9pZCBuYXRpdmVfc21wX3NlbmRfc3RvcCh2b2lkKQogewotCWludCBub2xvY2s7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCWlmIChyZWJvb3RfZm9yY2UpCiAJCXJldHVybjsKIAotCS8qIERvbid0IGRlYWRsb2NrIG9uIHRoZSBjYWxsIGxvY2sgaW4gcGFuaWMgKi8KLQlub2xvY2sgPSAhc3Bpbl90cnlsb2NrKCZjYWxsX2xvY2spOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQlfX3NtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDAsIDApOwotCWlmICghbm9sb2NrKQotCQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKIAlkaXNhYmxlX2xvY2FsX0FQSUMoKTsKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CkBAIC0zMDEsMzMgKzE4NywyOCBAQAogCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pID0gY2FsbF9kYXRhLT5mdW5jOwotCXZvaWQgKmluZm8gPSBjYWxsX2RhdGEtPmluZm87Ci0JaW50IHdhaXQgPSBjYWxsX2RhdGEtPndhaXQ7Ci0KIAlhY2tfQVBJQ19pcnEoKTsKLQkvKgotCSAqIE5vdGlmeSBpbml0aWF0aW5nIENQVSB0aGF0IEkndmUgZ3JhYmJlZCB0aGUgZGF0YSBhbmQgYW0KLQkgKiBhYm91dCB0byBleGVjdXRlIHRoZSBmdW5jdGlvbgotCSAqLwotCW1iKCk7Ci0JYXRvbWljX2luYygmY2FsbF9kYXRhLT5zdGFydGVkKTsKLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQgdGhlIGluZm8gc3RydWN0dXJlIG1heSBiZSBvdXQgb2Ygc2NvcGUgdW5sZXNzIHdhaXQ9PTEKLQkgKi8KIAlpcnFfZW50ZXIoKTsKLQkoKmZ1bmMpKGluZm8pOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9jYWxsX2NvdW50Kys7CiAjZWxzZQogCWFkZF9wZGEoaXJxX2NhbGxfY291bnQsIDEpOwogI2VuZGlmCiAJaXJxX2V4aXQoKTsKK30KIAotCWlmICh3YWl0KSB7Ci0JCW1iKCk7Ci0JCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+ZmluaXNoZWQpOwotCX0KK3ZvaWQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlhY2tfQVBJQ19pcnEoKTsKKwlpcnFfZW50ZXIoKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJX19nZXRfY3B1X3ZhcihpcnFfc3RhdCkuaXJxX2NhbGxfY291bnQrKzsKKyNlbHNlCisJYWRkX3BkYShpcnFfY2FsbF9jb3VudCwgMSk7CisjZW5kaWYKKwlpcnFfZXhpdCgpOwogfQogCiBzdHJ1Y3Qgc21wX29wcyBzbXBfb3BzID0gewpAQCAtMzM4LDcgKzIxOSw4IEBACiAKIAkuc21wX3NlbmRfc3RvcCA9IG5hdGl2ZV9zbXBfc2VuZF9zdG9wLAogCS5zbXBfc2VuZF9yZXNjaGVkdWxlID0gbmF0aXZlX3NtcF9zZW5kX3Jlc2NoZWR1bGUsCi0JLnNtcF9jYWxsX2Z1bmN0aW9uX21hc2sgPSBuYXRpdmVfc21wX2NhbGxfZnVuY3Rpb25fbWFzaywKKworCS5zZW5kX2NhbGxfZnVuY19pcGkgPSBuYXRpdmVfc2VuZF9jYWxsX2Z1bmNfaXBpLAorCS5zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpID0gbmF0aXZlX3NlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGksCiB9OwogRVhQT1JUX1NZTUJPTF9HUEwoc21wX29wcyk7Ci0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zbXBib290LmMgYi9hcmNoL3g4Ni9rZXJuZWwvc21wYm9vdC5jCmluZGV4IDNlMWNlY2UuLjY4NzM3NmEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zbXBib290LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3NtcGJvb3QuYwpAQCAtNTksNyArNTksNiBAQAogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CiAjaW5jbHVkZSA8YXNtL210cnIuaD4KLSNpbmNsdWRlIDxhc20vbm1pLmg+CiAjaW5jbHVkZSA8YXNtL3ZtaS5oPgogI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CiAjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KQEAgLTY4LDIyICs2Nyw2IEBACiAjaW5jbHVkZSA8bWFjaF93YWtlY3B1Lmg+CiAjaW5jbHVkZSA8c21wYm9vdF9ob29rcy5oPgogCi0vKgotICogRklYTUU6IEZvciB4ODZfNjQsIHRob3NlIGFyZSBkZWZpbmVkIGluIG90aGVyIGZpbGVzLiBCdXQgbW92aW5nIHRoZW0gaGVyZSwKLSAqIHdvdWxkIG1ha2UgdGhlIHNldHVwIGFyZWFzIGRlcGVuZGVudCBvbiBzbXAsIHdoaWNoIGlzIGEgbG9zcy4gV2hlbiB3ZQotICogaW50ZWdyYXRlIGFwaWMgYmV0d2VlbiBhcmNoZXMsIHdlIGNhbiBwcm9iYWJseSBkbyBhIGJldHRlciBqb2IsIGJ1dAotICogcmlnaHQgbm93LCB0aGV5J2xsIHN0YXkgaGVyZSAtLSBnbG9tbWVyCi0gKi8KLQotLyogd2hpY2ggbG9naWNhbCBDUFUgbnVtYmVyIG1hcHMgdG8gd2hpY2ggQ1BVIChwaHlzaWNhbCBBUElDIElEKSAqLwotdTE2IHg4Nl9jcHVfdG9fYXBpY2lkX2luaXRbTlJfQ1BVU10gX19pbml0ZGF0YSA9Ci0JCQl7IFswIC4uLiBOUl9DUFVTLTFdID0gQkFEX0FQSUNJRCB9Owotdm9pZCAqeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyOwotCi11MTYgeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0W05SX0NQVVNdIF9faW5pdGRhdGEKLQkJCQk9IHsgWzAgLi4uIE5SX0NQVVMtMV0gPSBCQURfQVBJQ0lEIH07Ci12b2lkICp4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0cjsKLQogI2lmZGVmIENPTkZJR19YODZfMzIKIHU4IGFwaWNpZF8yX25vZGVbTUFYX0FQSUNJRF07CiBzdGF0aWMgaW50IGxvd19tYXBwaW5nczsKQEAgLTE5OCwxMyArMTgxLDEyIEBACiAJbWFwX2NwdV90b19ub2RlKGNwdSwgbm9kZSk7CiB9CiAKLXN0YXRpYyB2b2lkIHVubWFwX2NwdV90b19sb2dpY2FsX2FwaWNpZChpbnQgY3B1KQordm9pZCBudW1hX3JlbW92ZV9jcHUoaW50IGNwdSkKIHsKIAljcHVfMl9sb2dpY2FsX2FwaWNpZFtjcHVdID0gQkFEX0FQSUNJRDsKIAl1bm1hcF9jcHVfdG9fbm9kZShjcHUpOwogfQogI2Vsc2UKLSNkZWZpbmUgdW5tYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKGNwdSkgZG8ge30gd2hpbGUgKDApCiAjZGVmaW5lIG1hcF9jcHVfdG9fbG9naWNhbF9hcGljaWQoKSAgZG8ge30gd2hpbGUgKDApCiAjZW5kaWYKIApAQCAtMzQ1LDE5ICszMjcsMTIgQEAKIAkgKiBsb2NrIGhlbHBzIHVzIHRvIG5vdCBpbmNsdWRlIHRoaXMgY3B1IGluIGEgY3VycmVudGx5IGluIHByb2dyZXNzCiAJICogc21wX2NhbGxfZnVuY3Rpb24oKS4KIAkgKi8KLQlsb2NrX2lwaV9jYWxsX2xvY2soKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0Jc3Bpbl9sb2NrKCZ2ZWN0b3JfbG9jayk7Ci0KLQkvKiBTZXR1cCB0aGUgcGVyIGNwdSBpcnEgaGFuZGxpbmcgZGF0YSBzdHJ1Y3R1cmVzICovCi0JX19zZXR1cF92ZWN0b3JfaXJxKHNtcF9wcm9jZXNzb3JfaWQoKSk7Ci0JLyoKLQkgKiBBbGxvdyB0aGUgbWFzdGVyIHRvIGNvbnRpbnVlLgotCSAqLwotCXNwaW5fdW5sb2NrKCZ2ZWN0b3JfbG9jayk7CisJaXBpX2NhbGxfbG9ja19pcnEoKTsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwlzZXR1cF92ZWN0b3JfaXJxKHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAjZW5kaWYKIAljcHVfc2V0KHNtcF9wcm9jZXNzb3JfaWQoKSwgY3B1X29ubGluZV9tYXApOwotCXVubG9ja19pcGlfY2FsbF9sb2NrKCk7CisJaXBpX2NhbGxfdW5sb2NrX2lycSgpOwogCXBlcl9jcHUoY3B1X3N0YXRlLCBzbXBfcHJvY2Vzc29yX2lkKCkpID0gQ1BVX09OTElORTsKIAogCXNldHVwX3NlY29uZGFyeV9jbG9jaygpOwpAQCAtMzY2LDMxICszNDEsOCBAQAogCWNwdV9pZGxlKCk7CiB9CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0vKgotICogRXZlcnl0aGluZyBoYXMgYmVlbiBzZXQgdXAgZm9yIHRoZSBzZWNvbmRhcnkKLSAqIENQVXMgLSB0aGV5IGp1c3QgbmVlZCB0byByZWxvYWQgZXZlcnl0aGluZwotICogZnJvbSB0aGUgdGFzayBzdHJ1Y3R1cmUKLSAqIFRoaXMgZnVuY3Rpb24gbXVzdCBub3QgcmV0dXJuLgotICovCi12b2lkIF9fZGV2aW5pdCBpbml0aWFsaXplX3NlY29uZGFyeSh2b2lkKQotewotCS8qCi0JICogV2UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBsb2FkIHRoZSBmdWxsIFRTUywKLQkgKiBiYXNpY2FsbHkganVzdCB0aGUgc3RhY2sgcG9pbnRlciBhbmQgdGhlIGlwLgotCSAqLwotCi0JYXNtIHZvbGF0aWxlKAotCQkibW92bCAlMCwlJWVzcFxuXHQiCi0JCSJqbXAgKiUxIgotCQk6Ci0JCToibSIgKGN1cnJlbnQtPnRocmVhZC5zcCksICJtIiAoY3VycmVudC0+dGhyZWFkLmlwKSk7Ci19Ci0jZW5kaWYKLQogc3RhdGljIHZvaWQgX19jcHVpbml0IHNtcF9hcHBseV9xdWlya3Moc3RydWN0IGNwdWluZm9feDg2ICpjKQogewotI2lmZGVmIENPTkZJR19YODZfMzIKIAkvKgogCSAqIE1hc2sgQiwgUGVudGl1bSwgYnV0IG5vdCBQZW50aXVtIE1NWAogCSAqLwpAQCAtNDQwLDcgKzM5Miw2IEBACiAKIHZhbGlkX2s3OgogCTsKLSNlbmRpZgogfQogCiBzdGF0aWMgdm9pZCBfX2NwdWluaXQgc21wX2NoZWNrcyh2b2lkKQpAQCAtNTU1LDIzICs1MDYsNiBAQAogCQlyZXR1cm4gYy0+bGxjX3NoYXJlZF9tYXA7CiB9CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0vKgotICogV2UgYXJlIGNhbGxlZCB2ZXJ5IGVhcmx5IHRvIGdldCB0aGUgbG93IG1lbW9yeSBmb3IgdGhlCi0gKiBTTVAgYm9vdHVwIHRyYW1wb2xpbmUgcGFnZS4KLSAqLwotdm9pZCBfX2luaXQgc21wX2FsbG9jX21lbW9yeSh2b2lkKQotewotCXRyYW1wb2xpbmVfYmFzZSA9IGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7Ci0JLyoKLQkgKiBIYXMgdG8gYmUgaW4gdmVyeSBsb3cgbWVtb3J5IHNvIHdlIGNhbiBleGVjdXRlCi0JICogcmVhbC1tb2RlIEFQIGNvZGUuCi0JICovCi0JaWYgKF9fcGEodHJhbXBvbGluZV9iYXNlKSA+PSAweDlGMDAwKQotCQlCVUcoKTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgdm9pZCBpbXByZXNzX2ZyaWVuZHModm9pZCkKIHsKIAlpbnQgY3B1OwpAQCAtNzQ4LDExICs2ODIsNyBAQAogCSAqIHRhcmdldCBwcm9jZXNzb3Igc3RhdGUuCiAJICovCiAJc3RhcnR1cF9pcGlfaG9vayhwaHlzX2FwaWNpZCwgKHVuc2lnbmVkIGxvbmcpIHN0YXJ0X3NlY29uZGFyeSwKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0JCQkgKHVuc2lnbmVkIGxvbmcpaW5pdF9yc3ApOwotI2Vsc2UKIAkJCSAodW5zaWduZWQgbG9uZylzdGFja19zdGFydC5zcCk7Ci0jZW5kaWYKIAogCS8qCiAJICogUnVuIFNUQVJUVVAgSVBJIGxvb3AuCkBAIC04MzIsNiArNzYyLDQ1IEBACiAJY29tcGxldGUoJmNfaWRsZS0+ZG9uZSk7CiB9CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisvKgorICogQWxsb2NhdGUgbm9kZSBsb2NhbCBtZW1vcnkgZm9yIHRoZSBBUCBwZGEuCisgKgorICogTXVzdCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIF9jcHVfcGRhIHBvaW50ZXIgdGFibGUgaXMgaW5pdGlhbGl6ZWQuCisgKi8KK3N0YXRpYyBpbnQgX19jcHVpbml0IGdldF9sb2NhbF9wZGEoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgeDg2NjRfcGRhICpvbGRwZGEsICpuZXdwZGE7CisJdW5zaWduZWQgbG9uZyBzaXplID0gc2l6ZW9mKHN0cnVjdCB4ODY2NF9wZGEpOworCWludCBub2RlID0gY3B1X3RvX25vZGUoY3B1KTsKKworCWlmIChjcHVfcGRhKGNwdSkgJiYgIWNwdV9wZGEoY3B1KS0+aW5fYm9vdG1lbSkKKwkJcmV0dXJuIDA7CisKKwlvbGRwZGEgPSBjcHVfcGRhKGNwdSk7CisJbmV3cGRhID0ga21hbGxvY19ub2RlKHNpemUsIEdGUF9BVE9NSUMsIG5vZGUpOworCWlmICghbmV3cGRhKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IGFsbG9jYXRlIG5vZGUgbG9jYWwgUERBICIKKwkJCSJmb3IgQ1BVICVkIG9uIG5vZGUgJWRcbiIsIGNwdSwgbm9kZSk7CisKKwkJaWYgKG9sZHBkYSkKKwkJCXJldHVybiAwOwkvKiBoYXZlIGEgdXNhYmxlIHBkYSAqLworCQllbHNlCisJCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKG9sZHBkYSkgeworCQltZW1jcHkobmV3cGRhLCBvbGRwZGEsIHNpemUpOworCQlpZiAoIWFmdGVyX2Jvb3RtZW0pCisJCQlmcmVlX2Jvb3RtZW0oKHVuc2lnbmVkIGxvbmcpb2xkcGRhLCBzaXplKTsKKwl9CisKKwluZXdwZGEtPmluX2Jvb3RtZW0gPSAwOworCWNwdV9wZGEoY3B1KSA9IG5ld3BkYTsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBDT05GSUdfWDg2XzY0ICovCisKIHN0YXRpYyBpbnQgX19jcHVpbml0IGRvX2Jvb3RfY3B1KGludCBhcGljaWQsIGludCBjcHUpCiAvKgogICogTk9URSAtIG9uIG1vc3Qgc3lzdGVtcyB0aGlzIGlzIGEgUEhZU0lDQUwgYXBpYyBJRCwgYnV0IG9uIG11bHRpcXVhZApAQCAtODQ4LDI4ICs4MTcsMTQgQEAKIAkJLmRvbmUgPSBDT01QTEVUSU9OX0lOSVRJQUxJWkVSX09OU1RBQ0soY19pZGxlLmRvbmUpLAogCX07CiAJSU5JVF9XT1JLKCZjX2lkbGUud29yaywgZG9fZm9ya19pZGxlKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0JLyogYWxsb2NhdGUgbWVtb3J5IGZvciBnZHRzIG9mIHNlY29uZGFyeSBjcHVzLiBIb3RwbHVnIGlzIGNvbnNpZGVyZWQgKi8KLQlpZiAoIWNwdV9nZHRfZGVzY3JbY3B1XS5hZGRyZXNzICYmCi0JCSEoY3B1X2dkdF9kZXNjcltjcHVdLmFkZHJlc3MgPSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGFsbG9jYXRlIEdEVCBmb3IgQ1BVICVkXG4iLCBjcHUpOwotCQlyZXR1cm4gLTE7Ci0JfQogCisjaWZkZWYgQ09ORklHX1g4Nl82NAogCS8qIEFsbG9jYXRlIG5vZGUgbG9jYWwgbWVtb3J5IGZvciBBUCBwZGFzICovCi0JaWYgKGNwdV9wZGEoY3B1KSA9PSAmYm9vdF9jcHVfcGRhW2NwdV0pIHsKLQkJc3RydWN0IHg4NjY0X3BkYSAqbmV3cGRhLCAqcGRhOwotCQlpbnQgbm9kZSA9IGNwdV90b19ub2RlKGNwdSk7Ci0JCXBkYSA9IGNwdV9wZGEoY3B1KTsKLQkJbmV3cGRhID0ga21hbGxvY19ub2RlKHNpemVvZihzdHJ1Y3QgeDg2NjRfcGRhKSwgR0ZQX0FUT01JQywKLQkJCQkgICAgICBub2RlKTsKLQkJaWYgKG5ld3BkYSkgewotCQkJbWVtY3B5KG5ld3BkYSwgcGRhLCBzaXplb2Yoc3RydWN0IHg4NjY0X3BkYSkpOwotCQkJY3B1X3BkYShjcHUpID0gbmV3cGRhOwotCQl9IGVsc2UKLQkJCXByaW50ayhLRVJOX0VSUgotCQkiQ291bGQgbm90IGFsbG9jYXRlIG5vZGUgbG9jYWwgUERBIGZvciBDUFUgJWQgb24gbm9kZSAlZFxuIiwKLQkJCQljcHUsIG5vZGUpOworCWlmIChjcHUgPiAwKSB7CisJCWJvb3RfZXJyb3IgPSBnZXRfbG9jYWxfcGRhKGNwdSk7CisJCWlmIChib290X2Vycm9yKQorCQkJZ290byByZXN0b3JlX3N0YXRlOworCQkJLyogaWYgY2FuJ3QgZ2V0IHBkYSBtZW1vcnksIGNhbid0IHN0YXJ0IGNwdSAqLwogCX0KICNlbmRpZgogCkBAIC05MDUsMTggKzg2MCwxNSBAQAogI2lmZGVmIENPTkZJR19YODZfMzIKIAlwZXJfY3B1KGN1cnJlbnRfdGFzaywgY3B1KSA9IGNfaWRsZS5pZGxlOwogCWluaXRfZ2R0KGNwdSk7Ci0JZWFybHlfZ2R0X2Rlc2NyLmFkZHJlc3MgPSAodW5zaWduZWQgbG9uZylnZXRfY3B1X2dkdF90YWJsZShjcHUpOwotCWNfaWRsZS5pZGxlLT50aHJlYWQuaXAgPSAodW5zaWduZWQgbG9uZykgc3RhcnRfc2Vjb25kYXJ5OwogCS8qIFN0YWNrIGZvciBzdGFydHVwXzMyIGNhbiBiZSBqdXN0IGFzIGZvciBzdGFydF9zZWNvbmRhcnkgb253YXJkcyAqLwotCXN0YWNrX3N0YXJ0LnNwID0gKHZvaWQgKikgY19pZGxlLmlkbGUtPnRocmVhZC5zcDsKIAlpcnFfY3R4X2luaXQoY3B1KTsKICNlbHNlCiAJY3B1X3BkYShjcHUpLT5wY3VycmVudCA9IGNfaWRsZS5pZGxlOwotCWluaXRfcnNwID0gY19pZGxlLmlkbGUtPnRocmVhZC5zcDsKLQlsb2FkX3NwMCgmcGVyX2NwdShpbml0X3RzcywgY3B1KSwgJmNfaWRsZS5pZGxlLT50aHJlYWQpOwotCWluaXRpYWxfY29kZSA9ICh1bnNpZ25lZCBsb25nKXN0YXJ0X3NlY29uZGFyeTsKIAljbGVhcl90c2tfdGhyZWFkX2ZsYWcoY19pZGxlLmlkbGUsIFRJRl9GT1JLKTsKICNlbmRpZgorCWVhcmx5X2dkdF9kZXNjci5hZGRyZXNzID0gKHVuc2lnbmVkIGxvbmcpZ2V0X2NwdV9nZHRfdGFibGUoY3B1KTsKKwlpbml0aWFsX2NvZGUgPSAodW5zaWduZWQgbG9uZylzdGFydF9zZWNvbmRhcnk7CisJc3RhY2tfc3RhcnQuc3AgPSAodm9pZCAqKSBjX2lkbGUuaWRsZS0+dGhyZWFkLnNwOwogCiAJLyogc3RhcnRfaXAgaGFkIGJldHRlciBiZSBwYWdlLWFsaWduZWQhICovCiAJc3RhcnRfaXAgPSBzZXR1cF90cmFtcG9saW5lKCk7CkBAIC05ODcsMTMgKzkzOSwxMiBAQAogCQkJCWlucXVpcmVfcmVtb3RlX2FwaWMoYXBpY2lkKTsKIAkJfQogCX0KLQorI2lmZGVmIENPTkZJR19YODZfNjQKK3Jlc3RvcmVfc3RhdGU6CisjZW5kaWYKIAlpZiAoYm9vdF9lcnJvcikgewogCQkvKiBUcnkgdG8gcHV0IHRoaW5ncyBiYWNrIHRoZSB3YXkgdGhleSB3ZXJlIGJlZm9yZSAuLi4gKi8KLQkJdW5tYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKGNwdSk7Ci0jaWZkZWYgQ09ORklHX1g4Nl82NAotCQljbGVhcl9ub2RlX2NwdW1hc2soY3B1KTsgLyogd2FzIHNldCBieSBudW1hX2FkZF9jcHUgKi8KLSNlbmRpZgorCQludW1hX3JlbW92ZV9jcHUoY3B1KTsgLyogd2FzIHNldCBieSBudW1hX2FkZF9jcHUgKi8KIAkJY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxvdXRfbWFwKTsgLyogd2FzIHNldCBieSBkb19ib290X2NwdSgpICovCiAJCWNwdV9jbGVhcihjcHUsIGNwdV9pbml0aWFsaXplZCk7IC8qIHdhcyBzZXQgYnkgY3B1X2luaXQoKSAqLwogCQljcHVfY2xlYXIoY3B1LCBjcHVfcHJlc2VudF9tYXApOwpAQCAtMTA4NywxNCArMTAzOCwxMiBAQAogewogCWNwdV9wcmVzZW50X21hcCA9IGNwdW1hc2tfb2ZfY3B1KDApOwogCWNwdV9wb3NzaWJsZV9tYXAgPSBjcHVtYXNrX29mX2NwdSgwKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCiAJc21wYm9vdF9jbGVhcl9pb19hcGljX2lycXMoKTsKLSNlbmRpZgorCiAJaWYgKHNtcF9mb3VuZF9jb25maWcpCi0JCXBoeXNfY3B1X3ByZXNlbnRfbWFwID0KLQkJCQlwaHlzaWRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKTsKKwkJcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZChib290X2NwdV9waHlzaWNhbF9hcGljaWQsICZwaHlzX2NwdV9wcmVzZW50X21hcCk7CiAJZWxzZQotCQlwaHlzX2NwdV9wcmVzZW50X21hcCA9IHBoeXNpZF9tYXNrX29mX3BoeXNpZCgwKTsKKwkJcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZCgwLCAmcGh5c19jcHVfcHJlc2VudF9tYXApOwogCW1hcF9jcHVfdG9fbG9naWNhbF9hcGljaWQoKTsKIAljcHVfc2V0KDAsIHBlcl9jcHUoY3B1X3NpYmxpbmdfbWFwLCAwKSk7CiAJY3B1X3NldCgwLCBwZXJfY3B1KGNwdV9jb3JlX21hcCwgMCkpOwpAQCAtMTE1NywxMiArMTEwNiwxMiBAQAogCSAqIElmIFNNUCBzaG91bGQgYmUgZGlzYWJsZWQsIHRoZW4gcmVhbGx5IGRpc2FibGUgaXQhCiAJICovCiAJaWYgKCFtYXhfY3B1cykgewotCQlwcmludGsoS0VSTl9JTkZPICJTTVAgbW9kZSBkZWFjdGl2YXRlZCwiCi0JCQkJICJmb3JjaW5nIHVzZSBvZiBkdW1teSBBUElDIGVtdWxhdGlvbi5cbiIpOworCQlwcmludGsoS0VSTl9JTkZPICJTTVAgbW9kZSBkZWFjdGl2YXRlZC5cbiIpOwogCQlzbXBib290X2NsZWFyX2lvX2FwaWMoKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCisKKwkJbG9jYWxpc2Vfbm1pX3dhdGNoZG9nKCk7CisKIAkJY29ubmVjdF9ic3BfQVBJQygpOwotI2VuZGlmCiAJCXNldHVwX2xvY2FsX0FQSUMoKTsKIAkJZW5kX2xvY2FsX0FQSUNfc2V0dXAoKTsKIAkJcmV0dXJuIC0xOwpAQCAtMTE5MCw3ICsxMTM5LDYgQEAKIHZvaWQgX19pbml0IG5hdGl2ZV9zbXBfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cykKIHsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKLQlubWlfd2F0Y2hkb2dfZGVmYXVsdCgpOwogCXNtcF9jcHVfaW5kZXhfZGVmYXVsdCgpOwogCWN1cnJlbnRfY3B1X2RhdGEgPSBib290X2NwdV9kYXRhOwogCWNwdV9jYWxsaW5fbWFwID0gY3B1bWFza19vZl9jcHUoMCk7CkBAIC0xMjE3LDkgKzExNjUsOCBAQAogCX0KIAlwcmVlbXB0X2VuYWJsZSgpOwogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgogCWNvbm5lY3RfYnNwX0FQSUMoKTsKLSNlbmRpZgorCiAJLyoKIAkgKiBTd2l0Y2ggZnJvbSBQSUMgdG8gQVBJQyBtb2RlLgogCSAqLwpAQCAtMTI1Nyw4ICsxMjA0LDggQEAKIAlpbnQgbWUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCWluaXRfZ2R0KG1lKTsKLQlzd2l0Y2hfdG9fbmV3X2dkdCgpOwogI2VuZGlmCisJc3dpdGNoX3RvX25ld19nZHQoKTsKIAkvKiBhbHJlYWR5IHNldCBtZSBpbiBjcHVfb25saW5lX21hcCBpbiBib290X2NwdV9pbml0KCkgKi8KIAljcHVfc2V0KG1lLCBjcHVfY2FsbG91dF9tYXApOwogCXBlcl9jcHUoY3B1X3N0YXRlLCBtZSkgPSBDUFVfT05MSU5FOwpAQCAtMTI3OCwyMyArMTIyNSw2IEBACiAKICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKIAotIyAgaWZkZWYgQ09ORklHX1g4Nl8zMgotdm9pZCBjcHVfZXhpdF9jbGVhcih2b2lkKQotewotCWludCBjcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOwotCi0JaWRsZV90YXNrX2V4aXQoKTsKLQotCWNwdV91bmluaXQoKTsKLQlpcnFfY3R4X2V4aXQoY3B1KTsKLQotCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsb3V0X21hcCk7Ci0JY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxpbl9tYXApOwotCi0JdW5tYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKGNwdSk7Ci19Ci0jICBlbmRpZiAvKiBDT05GSUdfWDg2XzMyICovCi0KIHN0YXRpYyB2b2lkIHJlbW92ZV9zaWJsaW5naW5mbyhpbnQgY3B1KQogewogCWludCBzaWJsaW5nOwpAQCAtMTM0OCwxMiArMTI3OCwyMCBAQAogCWludCBpOwogCWludCBwb3NzaWJsZTsKIAorCS8qIG5vIHByb2Nlc3NvciBmcm9tIG1wdGFibGUgb3IgbWFkdCAqLworCWlmICghbnVtX3Byb2Nlc3NvcnMpCisJCW51bV9wcm9jZXNzb3JzID0gMTsKKworI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogCWlmIChhZGRpdGlvbmFsX2NwdXMgPT0gLTEpIHsKIAkJaWYgKGRpc2FibGVkX2NwdXMgPiAwKQogCQkJYWRkaXRpb25hbF9jcHVzID0gZGlzYWJsZWRfY3B1czsKIAkJZWxzZQogCQkJYWRkaXRpb25hbF9jcHVzID0gMDsKIAl9CisjZWxzZQorCWFkZGl0aW9uYWxfY3B1cyA9IDA7CisjZW5kaWYKIAlwb3NzaWJsZSA9IG51bV9wcm9jZXNzb3JzICsgYWRkaXRpb25hbF9jcHVzOwogCWlmIChwb3NzaWJsZSA+IE5SX0NQVVMpCiAJCXBvc3NpYmxlID0gTlJfQ1BVUzsKQEAgLTEzNjMsMTggKzEzMDEsMTggQEAKIAogCWZvciAoaSA9IDA7IGkgPCBwb3NzaWJsZTsgaSsrKQogCQljcHVfc2V0KGksIGNwdV9wb3NzaWJsZV9tYXApOworCisJbnJfY3B1X2lkcyA9IHBvc3NpYmxlOwogfQogCiBzdGF0aWMgdm9pZCBfX3JlZiByZW1vdmVfY3B1X2Zyb21fbWFwcyhpbnQgY3B1KQogewogCWNwdV9jbGVhcihjcHUsIGNwdV9vbmxpbmVfbWFwKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0CiAJY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxvdXRfbWFwKTsKIAljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbGluX21hcCk7CiAJLyogd2FzIHNldCBieSBjcHVfaW5pdCgpICovCiAJY2xlYXJfYml0KGNwdSwgKHVuc2lnbmVkIGxvbmcgKikmY3B1X2luaXRpYWxpemVkKTsKLQljbGVhcl9ub2RlX2NwdW1hc2soY3B1KTsKLSNlbmRpZgorCW51bWFfcmVtb3ZlX2NwdShjcHUpOwogfQogCiBpbnQgX19jcHVfZGlzYWJsZSh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NtcGNvbW1vbi5jIGIvYXJjaC94ODYva2VybmVsL3NtcGNvbW1vbi5jCmluZGV4IDM0NDkwNjQuLjk5OTQxYjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zbXBjb21tb24uYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc21wY29tbW9uLmMKQEAgLTI1LDU5ICsyNSwzIEBACiAJcGVyX2NwdShjcHVfbnVtYmVyLCBjcHUpID0gY3B1OwogfQogI2VuZGlmCi0KLS8qKgotICogc21wX2NhbGxfZnVuY3Rpb24oKTogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCi0gKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqIEBub25hdG9taWM6IFVudXNlZC4KLSAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKgotICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBJZiBAd2FpdCBpcyB0cnVlLCB0aGVuIHJldHVybnMgb25jZSBAZnVuYyBoYXMgcmV0dXJuZWQ7IG90aGVyd2lzZQotICogaXQgcmV0dXJucyBqdXN0IGJlZm9yZSB0aGUgdGFyZ2V0IGNwdSBjYWxscyBAZnVuYy4KLSAqCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywKLQkJICAgICAgaW50IHdhaXQpCi17Ci0JcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1X29ubGluZV9tYXAsIGZ1bmMsIGluZm8sIHdhaXQpOwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbik7Ci0KLS8qKgotICogc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlIC0gUnVuIGEgZnVuY3Rpb24gb24gYSBzcGVjaWZpYyBDUFUKLSAqIEBjcHU6IFRoZSB0YXJnZXQgQ1BVLiAgQ2Fubm90IGJlIHRoZSBjYWxsaW5nIENQVS4KLSAqIEBmdW5jOiBUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgotICogQGluZm86IEFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogQG5vbmF0b21pYzogVW51c2VkLgotICogQHdhaXQ6IElmIHRydWUsIHdhaXQgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICoKLSAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogSWYgQHdhaXQgaXMgdHJ1ZSwgdGhlbiByZXR1cm5zIG9uY2UgQGZ1bmMgaGFzIHJldHVybmVkOyBvdGhlcndpc2UKLSAqIGl0IHJldHVybnMganVzdCBiZWZvcmUgdGhlIHRhcmdldCBjcHUgY2FsbHMgQGZ1bmMuCi0gKi8KLWludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCi17Ci0JLyogcHJldmVudCBwcmVlbXB0aW9uIGFuZCByZXNjaGVkdWxlIG9uIGFub3RoZXIgcHJvY2Vzc29yICovCi0JaW50IHJldDsKLQlpbnQgbWUgPSBnZXRfY3B1KCk7Ci0JaWYgKGNwdSA9PSBtZSkgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JCXB1dF9jcHUoKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBmdW5jLCBpbmZvLCB3YWl0KTsKLQotCXB1dF9jcHUoKTsKLQlyZXR1cm4gcmV0OwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NyYXRfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9zcmF0XzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwZTRhMzcuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NyYXRfMzIuYworKysgL2Rldi9udWxsCkBAIC0xLDM1OCArMCwwIEBACi0vKgotICogU29tZSBvZiB0aGUgY29kZSBpbiB0aGlzIGZpbGUgaGFzIGJlZW4gZ2xlYW5lZCBmcm9tIHRoZSA2NCBiaXQgCi0gKiBkaXNjb250aWdtZW0gc3VwcG9ydCBjb2RlIGJhc2UuCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAyLCBJQk0gQ29ycC4KLSAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiAgICAgICAgICAKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLSAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgR09PRCBUSVRMRSBvcgotICogTk9OIElORlJJTkdFTUVOVC4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUKLSAqIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSAqCi0gKiBTZW5kIGZlZWRiYWNrIHRvIFBhdCBHYXVnaGVuIDxnb25lQHVzLmlibS5jb20+Ci0gKi8KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KLSNpbmNsdWRlIDxsaW51eC9hY3BpLmg+Ci0jaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KLSNpbmNsdWRlIDxhc20vc3JhdC5oPgotI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLQotLyoKLSAqIHByb3hpbWl0eSBtYWNyb3MgYW5kIGRlZmluaXRpb25zCi0gKi8KLSNkZWZpbmUgTk9ERV9BUlJBWV9JTkRFWCh4KQkoKHgpIC8gOCkJLyogOCBiaXRzL2NoYXIgKi8KLSNkZWZpbmUgTk9ERV9BUlJBWV9PRkZTRVQoeCkJKCh4KSAlIDgpCS8qIDggYml0cy9jaGFyICovCi0jZGVmaW5lIEJNQVBfU0VUKGJtYXAsIGJpdCkJKChibWFwKVtOT0RFX0FSUkFZX0lOREVYKGJpdCldIHw9IDEgPDwgTk9ERV9BUlJBWV9PRkZTRVQoYml0KSkKLSNkZWZpbmUgQk1BUF9URVNUKGJtYXAsIGJpdCkJKChibWFwKVtOT0RFX0FSUkFZX0lOREVYKGJpdCldICYgKDEgPDwgTk9ERV9BUlJBWV9PRkZTRVQoYml0KSkpCi0vKiBiaXRtYXAgbGVuZ3RoOyBfUFhNIGlzIGF0IG1vc3QgMjU1ICovCi0jZGVmaW5lIFBYTV9CSVRNQVBfTEVOIChNQVhfUFhNX0RPTUFJTlMgLyA4KSAKLXN0YXRpYyB1OCBweG1fYml0bWFwW1BYTV9CSVRNQVBfTEVOXTsJLyogYml0bWFwIG9mIHByb3hpbWl0eSBkb21haW5zICovCi0KLSNkZWZpbmUgTUFYX0NIVU5LU19QRVJfTk9ERQkzCi0jZGVmaW5lIE1BWENIVU5LUwkJKE1BWF9DSFVOS1NfUEVSX05PREUgKiBNQVhfTlVNTk9ERVMpCi1zdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyB7Ci0JdW5zaWduZWQgbG9uZwlzdGFydF9wZm47Ci0JdW5zaWduZWQgbG9uZwllbmRfcGZuOwotCXU4CXB4bTsJCS8vIHByb3hpbWl0eSBkb21haW4gb2Ygbm9kZQotCXU4CW5pZDsJCS8vIHdoaWNoIGNub2RlIGNvbnRhaW5zIHRoaXMgY2h1bms/Ci0JdTgJYmFuazsJCS8vIHdoaWNoIG1lbSBiYW5rIG9uIHRoaXMgbm9kZQotfTsKLXN0YXRpYyBzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyBub2RlX21lbW9yeV9jaHVua1tNQVhDSFVOS1NdOwotCi1zdGF0aWMgaW50IG51bV9tZW1vcnlfY2h1bmtzOwkJLyogdG90YWwgbnVtYmVyIG9mIG1lbW9yeSBjaHVua3MgKi8KLXN0YXRpYyB1OCBfX2luaXRkYXRhIGFwaWNpZF90b19weG1bTUFYX0FQSUNJRF07Ci0KLS8qIElkZW50aWZ5IENQVSBwcm94aW1pdHkgZG9tYWlucyAqLwotc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX2NwdV9hZmZpbml0eV9zdHJ1Y3R1cmUoY2hhciAqcCkKLXsKLQlzdHJ1Y3QgYWNwaV9zcmF0X2NwdV9hZmZpbml0eSAqY3B1X2FmZmluaXR5ID0KLQkJCQkoc3RydWN0IGFjcGlfc3JhdF9jcHVfYWZmaW5pdHkgKikgcDsKLQotCWlmICgoY3B1X2FmZmluaXR5LT5mbGFncyAmIEFDUElfU1JBVF9DUFVfRU5BQkxFRCkgPT0gMCkKLQkJcmV0dXJuOwkJLyogZW1wdHkgZW50cnkgKi8KLQotCS8qIG1hcmsgdGhpcyBub2RlIGFzICJzZWVuIiBpbiBub2RlIGJpdG1hcCAqLwotCUJNQVBfU0VUKHB4bV9iaXRtYXAsIGNwdV9hZmZpbml0eS0+cHJveGltaXR5X2RvbWFpbl9sbyk7Ci0KLQlhcGljaWRfdG9fcHhtW2NwdV9hZmZpbml0eS0+YXBpY19pZF0gPSBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG87Ci0KLQlwcmludGsoIkNQVSAweCUwMlggaW4gcHJveGltaXR5IGRvbWFpbiAweCUwMlhcbiIsCi0JCWNwdV9hZmZpbml0eS0+YXBpY19pZCwgY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvKTsKLX0KLQotLyoKLSAqIElkZW50aWZ5IG1lbW9yeSBwcm94aW1pdHkgZG9tYWlucyBhbmQgaG90LXJlbW92ZSBjYXBhYmlsaXRpZXMuCi0gKiBGaWxsIG5vZGUgbWVtb3J5IGNodW5rIGxpc3Qgc3RydWN0dXJlLgotICovCi1zdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfbWVtb3J5X2FmZmluaXR5X3N0cnVjdHVyZSAoY2hhciAqc3JhdHApCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHBhZGRyLCBzaXplOwotCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBlbmRfcGZuOwotCXU4IHB4bTsKLQlzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyAqcCwgKnEsICpwZW5kOwotCXN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5ICptZW1vcnlfYWZmaW5pdHkgPQotCQkJKHN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5ICopIHNyYXRwOwotCi0JaWYgKChtZW1vcnlfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX01FTV9FTkFCTEVEKSA9PSAwKQotCQlyZXR1cm47CQkvKiBlbXB0eSBlbnRyeSAqLwotCi0JcHhtID0gbWVtb3J5X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluICYgMHhmZjsKLQotCS8qIG1hcmsgdGhpcyBub2RlIGFzICJzZWVuIiBpbiBub2RlIGJpdG1hcCAqLwotCUJNQVBfU0VUKHB4bV9iaXRtYXAsIHB4bSk7Ci0KLQkvKiBjYWxjdWxhdGUgaW5mbyBmb3IgbWVtb3J5IGNodW5rIHN0cnVjdHVyZSAqLwotCXBhZGRyID0gbWVtb3J5X2FmZmluaXR5LT5iYXNlX2FkZHJlc3M7Ci0Jc2l6ZSA9IG1lbW9yeV9hZmZpbml0eS0+bGVuZ3RoOwotCi0Jc3RhcnRfcGZuID0gcGFkZHIgPj4gUEFHRV9TSElGVDsKLQllbmRfcGZuID0gKHBhZGRyICsgc2l6ZSkgPj4gUEFHRV9TSElGVDsKLQotCi0JaWYgKG51bV9tZW1vcnlfY2h1bmtzID49IE1BWENIVU5LUykgewotCQlwcmludGsoIlRvbyBtYW55IG1lbSBjaHVua3MgaW4gU1JBVC4gSWdub3JpbmcgJWxsZCBNQnl0ZXMgYXQgJWxseFxuIiwKLQkJCXNpemUvKDEwMjQqMTAyNCksIHBhZGRyKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIEluc2VydGlvbiBzb3J0IGJhc2VkIG9uIGJhc2UgYWRkcmVzcyAqLwotCXBlbmQgPSAmbm9kZV9tZW1vcnlfY2h1bmtbbnVtX21lbW9yeV9jaHVua3NdOwotCWZvciAocCA9ICZub2RlX21lbW9yeV9jaHVua1swXTsgcCA8IHBlbmQ7IHArKykgewotCQlpZiAoc3RhcnRfcGZuIDwgcC0+c3RhcnRfcGZuKQotCQkJYnJlYWs7Ci0JfQotCWlmIChwIDwgcGVuZCkgewotCQlmb3IgKHEgPSBwZW5kOyBxID49IHA7IHEtLSkKLQkJCSoocSArIDEpID0gKnE7Ci0JfQotCXAtPnN0YXJ0X3BmbiA9IHN0YXJ0X3BmbjsKLQlwLT5lbmRfcGZuID0gZW5kX3BmbjsKLQlwLT5weG0gPSBweG07Ci0KLQludW1fbWVtb3J5X2NodW5rcysrOwotCi0JcHJpbnRrKCJNZW1vcnkgcmFuZ2UgMHglbFggdG8gMHglbFggKHR5cGUgMHglWCkgaW4gcHJveGltaXR5IGRvbWFpbiAweCUwMlggJXNcbiIsCi0JCXN0YXJ0X3BmbiwgZW5kX3BmbiwKLQkJbWVtb3J5X2FmZmluaXR5LT5tZW1vcnlfdHlwZSwKLQkJcHhtLAotCQkoKG1lbW9yeV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfTUVNX0hPVF9QTFVHR0FCTEUpID8KLQkJICJlbmFibGVkIGFuZCByZW1vdmFibGUiIDogImVuYWJsZWQiICkgKTsKLX0KLQotLyoKLSAqIFRoZSBTUkFUIHRhYmxlIGFsd2F5cyBsaXN0cyBhc2NlbmRpbmcgYWRkcmVzc2VzLCBzbyBjYW4gYWx3YXlzCi0gKiBhc3N1bWUgdGhhdCB0aGUgZmlyc3QgInN0YXJ0IiBhZGRyZXNzIHRoYXQgeW91IHNlZSBpcyB0aGUgcmVhbAotICogc3RhcnQgb2YgdGhlIG5vZGUsIGFuZCB0aGF0IHRoZSBjdXJyZW50ICJlbmQiIGFkZHJlc3MgaXMgYWZ0ZXIKLSAqIHRoZSBwcmV2aW91cyBvbmUuCi0gKi8KLXN0YXRpYyBfX2luaXQgdm9pZCBub2RlX3JlYWRfY2h1bmsoaW50IG5pZCwgc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKm1lbW9yeV9jaHVuaykKLXsKLQkvKgotCSAqIE9ubHkgYWRkIHByZXNlbnQgbWVtb3J5IGFzIHRvbGQgYnkgdGhlIGU4MjAuCi0JICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIGZyb20gdGhlIFNSQVQgdGhhdCB0aGUgbWVtb3J5IGl0Ci0JICogZW51bWVyYXRlcyBpcyBwcmVzZW50IGF0IGJvb3QgdGltZSBiZWNhdXNlIGl0IHJlcHJlc2VudHMKLQkgKiAqcG9zc2libGUqIG1lbW9yeSBob3RwbHVnIGFyZWFzIHRoZSBzYW1lIGFzIG5vcm1hbCBSQU0uCi0JICovCi0JaWYgKG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuID49IG1heF9wZm4pIHsKLQkJcHJpbnRrIChLRVJOX0lORk8gIklnbm9yaW5nIFNSQVQgcGZuczogMHglMDhseCAtPiAlMDhseFxuIiwKLQkJCW1lbW9yeV9jaHVuay0+c3RhcnRfcGZuLCBtZW1vcnlfY2h1bmstPmVuZF9wZm4pOwotCQlyZXR1cm47Ci0JfQotCWlmIChtZW1vcnlfY2h1bmstPm5pZCAhPSBuaWQpCi0JCXJldHVybjsKLQotCWlmICghbm9kZV9oYXNfb25saW5lX21lbShuaWQpKQotCQlub2RlX3N0YXJ0X3BmbltuaWRdID0gbWVtb3J5X2NodW5rLT5zdGFydF9wZm47Ci0KLQlpZiAobm9kZV9zdGFydF9wZm5bbmlkXSA+IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuKQotCQlub2RlX3N0YXJ0X3BmbltuaWRdID0gbWVtb3J5X2NodW5rLT5zdGFydF9wZm47Ci0KLQlpZiAobm9kZV9lbmRfcGZuW25pZF0gPCBtZW1vcnlfY2h1bmstPmVuZF9wZm4pCi0JCW5vZGVfZW5kX3BmbltuaWRdID0gbWVtb3J5X2NodW5rLT5lbmRfcGZuOwotfQotCi0vKiBQYXJzZSB0aGUgQUNQSSBTdGF0aWMgUmVzb3VyY2UgQWZmaW5pdHkgVGFibGUgKi8KLXN0YXRpYyBpbnQgX19pbml0IGFjcGkyMF9wYXJzZV9zcmF0KHN0cnVjdCBhY3BpX3RhYmxlX3NyYXQgKnNyYXRwKQotewotCXU4ICpzdGFydCwgKmVuZCwgKnA7Ci0JaW50IGksIGosIG5pZDsKLQotCXN0YXJ0ID0gKHU4ICopKCYoc3JhdHAtPnJlc2VydmVkKSArIDEpOwkvKiBza2lwIGhlYWRlciAqLwotCXAgPSBzdGFydDsKLQllbmQgPSAodTggKilzcmF0cCArIHNyYXRwLT5oZWFkZXIubGVuZ3RoOwotCi0JbWVtc2V0KHB4bV9iaXRtYXAsIDAsIHNpemVvZihweG1fYml0bWFwKSk7CS8qIGluaXQgcHJveGltaXR5IGRvbWFpbiBiaXRtYXAgKi8KLQltZW1zZXQobm9kZV9tZW1vcnlfY2h1bmssIDAsIHNpemVvZihub2RlX21lbW9yeV9jaHVuaykpOwotCi0JbnVtX21lbW9yeV9jaHVua3MgPSAwOwotCXdoaWxlIChwIDwgZW5kKSB7Ci0JCXN3aXRjaCAoKnApIHsKLQkJY2FzZSBBQ1BJX1NSQVRfVFlQRV9DUFVfQUZGSU5JVFk6Ci0JCQlwYXJzZV9jcHVfYWZmaW5pdHlfc3RydWN0dXJlKHApOwotCQkJYnJlYWs7Ci0JCWNhc2UgQUNQSV9TUkFUX1RZUEVfTUVNT1JZX0FGRklOSVRZOgotCQkJcGFyc2VfbWVtb3J5X2FmZmluaXR5X3N0cnVjdHVyZShwKTsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcHJpbnRrKCJBQ1BJIDIuMCBTUkFUOiB1bmtub3duIGVudHJ5IHNraXBwZWQ6IHR5cGU9MHglMDJYLCBsZW49JWRcbiIsIHBbMF0sIHBbMV0pOwotCQkJYnJlYWs7Ci0JCX0KLQkJcCArPSBwWzFdOwotCQlpZiAocFsxXSA9PSAwKSB7Ci0JCQlwcmludGsoImFjcGkyMF9wYXJzZV9zcmF0OiBFbnRyeSBsZW5ndGggdmFsdWUgaXMgemVybzsiCi0JCQkJIiBjYW4ndCBwYXJzZSBhbnkgZnVydGhlciFcbiIpOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0KLQlpZiAobnVtX21lbW9yeV9jaHVua3MgPT0gMCkgewotCQlwcmludGsoImNvdWxkIG5vdCBmaW55IGFueSBBQ1BJIFNSQVQgbWVtb3J5IGFyZWFzLlxuIik7Ci0JCWdvdG8gb3V0X2ZhaWw7Ci0JfQotCi0JLyogQ2FsY3VsYXRlIHRvdGFsIG51bWJlciBvZiBub2RlcyBpbiBzeXN0ZW0gZnJvbSBQWE0gYml0bWFwIGFuZCBjcmVhdGUKLQkgKiBhIHNldCBvZiBzZXF1ZW50aWFsIG5vZGUgSURzIHN0YXJ0aW5nIGF0IHplcm8uICAoQUNQSSBkb2Vzbid0IHNlZW0KLQkgKiB0byBzcGVjaWZ5IHRoZSByYW5nZSBvZiBfUFhNIHZhbHVlcy4pCi0JICovCi0JLyoKLQkgKiBNQ0QgLSB3ZSBubyBsb25nZXIgSEFWRSB0byBudW1iZXIgbm9kZXMgc2VxdWVudGlhbGx5LiAgUFhNIGRvbWFpbgotCSAqIG51bWJlcnMgY291bGQgZ28gYXMgaGlnaCBhcyAyNTYsIGFuZCBNQVhfTlVNTk9ERVMgZm9yIGkzODYgaXMgdHlwaWNhbGx5Ci0JICogMzIsIHNvIHdlIHdpbGwgY29udGludWUgbnVtYmVyaW5nIHRoZW0gaW4gdGhpcyBtYW5uZXIgdW50aWwgTUFYX05VTU5PREVTCi0JICogYXBwcm9hY2hlcyBNQVhfUFhNX0RPTUFJTlMgZm9yIGkzODYuCi0JICovCi0Jbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX1BYTV9ET01BSU5TOyBpKyspIHsKLQkJaWYgKEJNQVBfVEVTVChweG1fYml0bWFwLCBpKSkgewotCQkJaW50IG5pZCA9IGFjcGlfbWFwX3B4bV90b19ub2RlKGkpOwotCQkJbm9kZV9zZXRfb25saW5lKG5pZCk7Ci0JCX0KLQl9Ci0JQlVHX09OKG51bV9vbmxpbmVfbm9kZXMoKSA9PSAwKTsKLQotCS8qIHNldCBjbm9kZSBpZCBpbiBtZW1vcnkgY2h1bmsgc3RydWN0dXJlICovCi0JZm9yIChpID0gMDsgaSA8IG51bV9tZW1vcnlfY2h1bmtzOyBpKyspCi0JCW5vZGVfbWVtb3J5X2NodW5rW2ldLm5pZCA9IHB4bV90b19ub2RlKG5vZGVfbWVtb3J5X2NodW5rW2ldLnB4bSk7Ci0KLQlwcmludGsoInB4bSBiaXRtYXA6ICIpOwotCWZvciAoaSA9IDA7IGkgPCBzaXplb2YocHhtX2JpdG1hcCk7IGkrKykgewotCQlwcmludGsoIiUwMlggIiwgcHhtX2JpdG1hcFtpXSk7Ci0JfQotCXByaW50aygiXG4iKTsKLQlwcmludGsoIk51bWJlciBvZiBsb2dpY2FsIG5vZGVzIGluIHN5c3RlbSA9ICVkXG4iLCBudW1fb25saW5lX25vZGVzKCkpOwotCXByaW50aygiTnVtYmVyIG9mIG1lbW9yeSBjaHVua3MgaW4gc3lzdGVtID0gJWRcbiIsIG51bV9tZW1vcnlfY2h1bmtzKTsKLQotCWZvciAoaSA9IDA7IGkgPCBNQVhfQVBJQ0lEOyBpKyspCi0JCWFwaWNpZF8yX25vZGVbaV0gPSBweG1fdG9fbm9kZShhcGljaWRfdG9fcHhtW2ldKTsKLQotCWZvciAoaiA9IDA7IGogPCBudW1fbWVtb3J5X2NodW5rczsgaisrKXsKLQkJc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKiBjaHVuayA9ICZub2RlX21lbW9yeV9jaHVua1tqXTsKLQkJcHJpbnRrKCJjaHVuayAlZCBuaWQgJWQgc3RhcnRfcGZuICUwOGx4IGVuZF9wZm4gJTA4bHhcbiIsCi0JCSAgICAgICBqLCBjaHVuay0+bmlkLCBjaHVuay0+c3RhcnRfcGZuLCBjaHVuay0+ZW5kX3Bmbik7Ci0JCW5vZGVfcmVhZF9jaHVuayhjaHVuay0+bmlkLCBjaHVuayk7Ci0JCWFkZF9hY3RpdmVfcmFuZ2UoY2h1bmstPm5pZCwgY2h1bmstPnN0YXJ0X3BmbiwgY2h1bmstPmVuZF9wZm4pOwotCX0KLSAKLQlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKLQkJdW5zaWduZWQgbG9uZyBzdGFydCA9IG5vZGVfc3RhcnRfcGZuW25pZF07Ci0JCXVuc2lnbmVkIGxvbmcgZW5kID0gbm9kZV9lbmRfcGZuW25pZF07Ci0KLQkJbWVtb3J5X3ByZXNlbnQobmlkLCBzdGFydCwgZW5kKTsKLQkJbm9kZV9yZW1hcF9zaXplW25pZF0gPSBub2RlX21lbW1hcF9zaXplX2J5dGVzKG5pZCwgc3RhcnQsIGVuZCk7Ci0JfQotCXJldHVybiAxOwotb3V0X2ZhaWw6Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0cnVjdCBhY3BpX3N0YXRpY19yc2R0IHsKLQlzdHJ1Y3QgYWNwaV90YWJsZV9yc2R0IHRhYmxlOwotCXUzMiBwYWRkaW5nWzddOyAvKiBBbGxvdyBmb3IgNyBtb3JlIHRhYmxlIGVudHJpZXMgKi8KLX07Ci0KLWludCBfX2luaXQgZ2V0X21lbWNmZ19mcm9tX3NyYXQodm9pZCkKLXsKLQlzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKmhlYWRlciA9IE5VTEw7Ci0Jc3RydWN0IGFjcGlfdGFibGVfcnNkcCAqcnNkcCA9IE5VTEw7Ci0Jc3RydWN0IGFjcGlfdGFibGVfcnNkdCAqcnNkdCA9IE5VTEw7Ci0JYWNwaV9uYXRpdmVfdWludCByc2RwX2FkZHJlc3MgPSAwOwotCXN0cnVjdCBhY3BpX3N0YXRpY19yc2R0IHNhdmVkX3JzZHQ7Ci0JaW50IHRhYmxlcyA9IDA7Ci0JaW50IGkgPSAwOwotCi0JcnNkcF9hZGRyZXNzID0gYWNwaV9vc19nZXRfcm9vdF9wb2ludGVyKCk7Ci0JaWYgKCFyc2RwX2FkZHJlc3MpIHsKLQkJcHJpbnRrKCIlczogU3lzdGVtIGRlc2NyaXB0aW9uIHRhYmxlcyBub3QgZm91bmRcbiIsCi0JCSAgICAgICBfX2Z1bmNfXyk7Ci0JCWdvdG8gb3V0X2VycjsKLQl9Ci0KLQlwcmludGsoIiVzOiBhc3NpZ25pbmcgYWRkcmVzcyB0byByc2RwXG4iLCBfX2Z1bmNfXyk7Ci0JcnNkcCA9IChzdHJ1Y3QgYWNwaV90YWJsZV9yc2RwICopKHUzMilyc2RwX2FkZHJlc3M7Ci0JaWYgKCFyc2RwKSB7Ci0JCXByaW50aygiJXM6IERpZG4ndCBmaW5kIEFDUEkgcm9vdCFcbiIsIF9fZnVuY19fKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCXByaW50ayhLRVJOX0lORk8gIiUuOHMgdiVkIFslLjZzXVxuIiwgcnNkcC0+c2lnbmF0dXJlLCByc2RwLT5yZXZpc2lvbiwKLQkJcnNkcC0+b2VtX2lkKTsKLQotCWlmIChzdHJuY21wKHJzZHAtPnNpZ25hdHVyZSwgQUNQSV9TSUdfUlNEUCxzdHJsZW4oQUNQSV9TSUdfUlNEUCkpKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiBSU0RQIHRhYmxlIHNpZ25hdHVyZSBpbmNvcnJlY3RcbiIsIF9fZnVuY19fKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCXJzZHQgPSAoc3RydWN0IGFjcGlfdGFibGVfcnNkdCAqKQotCSAgICBlYXJseV9pb3JlbWFwKHJzZHAtPnJzZHRfcGh5c2ljYWxfYWRkcmVzcywgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX3JzZHQpKTsKLQotCWlmICghcnNkdCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCSAgICAgICAiJXM6IEFDUEk6IEludmFsaWQgcm9vdCBzeXN0ZW0gZGVzY3JpcHRpb24gdGFibGVzIChSU0RUKVxuIiwKLQkJICAgICAgIF9fZnVuY19fKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCWhlYWRlciA9ICZyc2R0LT5oZWFkZXI7Ci0KLQlpZiAoc3RybmNtcChoZWFkZXItPnNpZ25hdHVyZSwgQUNQSV9TSUdfUlNEVCwgc3RybGVuKEFDUElfU0lHX1JTRFQpKSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJBQ1BJOiBSU0RUIHNpZ25hdHVyZSBpbmNvcnJlY3RcbiIpOwotCQlnb3RvIG91dF9lcnI7Ci0JfQotCi0JLyogCi0JICogVGhlIG51bWJlciBvZiB0YWJsZXMgaXMgY29tcHV0ZWQgYnkgdGFraW5nIHRoZSAKLQkgKiBzaXplIG9mIGFsbCBlbnRyaWVzIChoZWFkZXIgc2l6ZSBtaW51cyB0b3RhbCAKLQkgKiBzaXplIG9mIFJTRFQpIGRpdmlkZWQgYnkgdGhlIHNpemUgb2YgZWFjaCBlbnRyeQotCSAqICg0LWJ5dGUgdGFibGUgcG9pbnRlcnMpLgotCSAqLwotCXRhYmxlcyA9IChoZWFkZXItPmxlbmd0aCAtIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIpKSAvIDQ7Ci0KLQlpZiAoIXRhYmxlcykKLQkJZ290byBvdXRfZXJyOwotCi0JbWVtY3B5KCZzYXZlZF9yc2R0LCByc2R0LCBzaXplb2Yoc2F2ZWRfcnNkdCkpOwotCi0JaWYgKHNhdmVkX3JzZHQudGFibGUuaGVhZGVyLmxlbmd0aCA+IHNpemVvZihzYXZlZF9yc2R0KSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJBQ1BJOiBUb28gYmlnIGxlbmd0aCBpbiBSU0RUOiAlZFxuIiwKLQkJICAgICAgIHNhdmVkX3JzZHQudGFibGUuaGVhZGVyLmxlbmd0aCk7Ci0JCWdvdG8gb3V0X2VycjsKLQl9Ci0KLQlwcmludGsoIkJlZ2luIFNSQVQgdGFibGUgc2Nhbi4uLi5cbiIpOwotCi0JZm9yIChpID0gMDsgaSA8IHRhYmxlczsgaSsrKSB7Ci0JCS8qIE1hcCBpbiBoZWFkZXIsIHRoZW4gbWFwIGluIGZ1bGwgdGFibGUgbGVuZ3RoLiAqLwotCQloZWFkZXIgPSAoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICopCi0JCQllYXJseV9pb3JlbWFwKHNhdmVkX3JzZHQudGFibGUudGFibGVfb2Zmc2V0X2VudHJ5W2ldLCBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyKSk7Ci0JCWlmICghaGVhZGVyKQotCQkJYnJlYWs7Ci0JCWhlYWRlciA9IChzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKikKLQkJCWVhcmx5X2lvcmVtYXAoc2F2ZWRfcnNkdC50YWJsZS50YWJsZV9vZmZzZXRfZW50cnlbaV0sIGhlYWRlci0+bGVuZ3RoKTsKLQkJaWYgKCFoZWFkZXIpCi0JCQlicmVhazsKLQotCQlpZiAoc3RybmNtcCgoY2hhciAqKSAmaGVhZGVyLT5zaWduYXR1cmUsIEFDUElfU0lHX1NSQVQsIDQpKQotCQkJY29udGludWU7Ci0KLQkJLyogd2UndmUgZm91bmQgdGhlIHNyYXQgdGFibGUuIGRvbid0IG5lZWQgdG8gbG9vayBhdCBhbnkgbW9yZSB0YWJsZXMgKi8KLQkJcmV0dXJuIGFjcGkyMF9wYXJzZV9zcmF0KChzdHJ1Y3QgYWNwaV90YWJsZV9zcmF0ICopaGVhZGVyKTsKLQl9Ci1vdXRfZXJyOgotCXJlbW92ZV9hbGxfYWN0aXZlX3JhbmdlcygpOwotCXByaW50aygiZmFpbGVkIHRvIGdldCBOVU1BIG1lbW9yeSBpbmZvcm1hdGlvbiBmcm9tIFNSQVQgdGFibGVcbiIpOwotCXJldHVybiAwOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gveDg2L2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggYzI4YzM0Mi4uYTAzZTdmNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC03NCw2ICs3NCw3IEBACiAJaWYgKHRyYWNlLT5ucl9lbnRyaWVzIDwgdHJhY2UtPm1heF9lbnRyaWVzKQogCQl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IFVMT05HX01BWDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwogCiB2b2lkIHNhdmVfc3RhY2tfdHJhY2VfdHNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlKQogewpAQCAtODEsMyArODIsNCBAQAogCWlmICh0cmFjZS0+bnJfZW50cmllcyA8IHRyYWNlLT5tYXhfZW50cmllcykKIAkJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBVTE9OR19NQVg7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlX3Rzayk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc3VtbWl0XzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc3VtbWl0XzMyLmMKaW5kZXggYWU3NTEwOS4uZDY3Y2U1ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3N1bW1pdF8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zdW1taXRfMzIuYwpAQCAtMzYsNyArMzYsOSBAQAogc3RhdGljIHN0cnVjdCBzY2FsX2RldGFpbCAgICpzY2FsX2RldnNbTUFYX05VTU5PREVTXSBfX2luaXRkYXRhOwogc3RhdGljIHN0cnVjdCByaW9fZGV0YWlsICAgICpyaW9fZGV2c1tNQVhfTlVNTk9ERVMqNF0gX19pbml0ZGF0YTsKIAorI2lmbmRlZiBDT05GSUdfWDg2X05VTUFRCiBzdGF0aWMgaW50IG1wX2J1c19pZF90b19ub2RlW01BWF9NUF9CVVNTRVNdIF9faW5pdGRhdGE7CisjZW5kaWYKIAogc3RhdGljIGludCBfX2luaXQgc2V0dXBfcGNpX25vZGVfbWFwX2Zvcl93cGVnKGludCB3cGVnX251bSwgaW50IGxhc3RfYnVzKQogewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3N5c19pMzg2XzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc3lzX2kzODZfMzIuYwppbmRleCBkMmFiNTJjLi43MDY2Y2I4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc3lzX2kzODZfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc3lzX2kzODZfMzIuYwpAQCAtMTksOCArMTksOCBAQAogI2luY2x1ZGUgPGxpbnV4L3V0c25hbWUuaD4KICNpbmNsdWRlIDxsaW51eC9pcGMuaD4KIAotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3VuaXN0ZC5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KIAogYXNtbGlua2FnZSBsb25nIHN5c19tbWFwMih1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgbGVuLAogCQkJICB1bnNpZ25lZCBsb25nIHByb3QsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCkBAIC0xMDMsNyArMTAzLDcgQEAKICAqCiAgKiBUaGlzIGlzIHJlYWxseSBob3JyaWJseSB1Z2x5LgogICovCi1hc21saW5rYWdlIGludCBzeXNfaXBjICh1aW50IGNhbGwsIGludCBmaXJzdCwgaW50IHNlY29uZCwKK2FzbWxpbmthZ2UgaW50IHN5c19pcGModWludCBjYWxsLCBpbnQgZmlyc3QsIGludCBzZWNvbmQsCiAJCQlpbnQgdGhpcmQsIHZvaWQgX191c2VyICpwdHIsIGxvbmcgZmlmdGgpCiB7CiAJaW50IHZlcnNpb24sIHJldDsKQEAgLTExMywyNCArMTEzLDI0IEBACiAKIAlzd2l0Y2ggKGNhbGwpIHsKIAljYXNlIFNFTU9QOgotCQlyZXR1cm4gc3lzX3NlbXRpbWVkb3AgKGZpcnN0LCAoc3RydWN0IHNlbWJ1ZiBfX3VzZXIgKilwdHIsIHNlY29uZCwgTlVMTCk7CisJCXJldHVybiBzeXNfc2VtdGltZWRvcChmaXJzdCwgKHN0cnVjdCBzZW1idWYgX191c2VyICopcHRyLCBzZWNvbmQsIE5VTEwpOwogCWNhc2UgU0VNVElNRURPUDoKIAkJcmV0dXJuIHN5c19zZW10aW1lZG9wKGZpcnN0LCAoc3RydWN0IHNlbWJ1ZiBfX3VzZXIgKilwdHIsIHNlY29uZCwKIAkJCQkJKGNvbnN0IHN0cnVjdCB0aW1lc3BlYyBfX3VzZXIgKilmaWZ0aCk7CiAKIAljYXNlIFNFTUdFVDoKLQkJcmV0dXJuIHN5c19zZW1nZXQgKGZpcnN0LCBzZWNvbmQsIHRoaXJkKTsKKwkJcmV0dXJuIHN5c19zZW1nZXQoZmlyc3QsIHNlY29uZCwgdGhpcmQpOwogCWNhc2UgU0VNQ1RMOiB7CiAJCXVuaW9uIHNlbXVuIGZvdXJ0aDsKIAkJaWYgKCFwdHIpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJaWYgKGdldF91c2VyKGZvdXJ0aC5fX3BhZCwgKHZvaWQgX191c2VyICogX191c2VyICopIHB0cikpCiAJCQlyZXR1cm4gLUVGQVVMVDsKLQkJcmV0dXJuIHN5c19zZW1jdGwgKGZpcnN0LCBzZWNvbmQsIHRoaXJkLCBmb3VydGgpOworCQlyZXR1cm4gc3lzX3NlbWN0bChmaXJzdCwgc2Vjb25kLCB0aGlyZCwgZm91cnRoKTsKIAl9CiAKIAljYXNlIE1TR1NORDoKLQkJcmV0dXJuIHN5c19tc2dzbmQgKGZpcnN0LCAoc3RydWN0IG1zZ2J1ZiBfX3VzZXIgKikgcHRyLCAKKwkJcmV0dXJuIHN5c19tc2dzbmQoZmlyc3QsIChzdHJ1Y3QgbXNnYnVmIF9fdXNlciAqKSBwdHIsCiAJCQkJICAgc2Vjb25kLCB0aGlyZCk7CiAJY2FzZSBNU0dSQ1Y6CiAJCXN3aXRjaCAodmVyc2lvbikgewpAQCAtMTM4LDQ1ICsxMzgsNDUgQEAKIAkJCXN0cnVjdCBpcGNfa2x1ZGdlIHRtcDsKIAkJCWlmICghcHRyKQogCQkJCXJldHVybiAtRUlOVkFMOwotCQkJCisKIAkJCWlmIChjb3B5X2Zyb21fdXNlcigmdG1wLAotCQkJCQkgICAoc3RydWN0IGlwY19rbHVkZ2UgX191c2VyICopIHB0ciwgCi0JCQkJCSAgIHNpemVvZiAodG1wKSkpCisJCQkJCSAgIChzdHJ1Y3QgaXBjX2tsdWRnZSBfX3VzZXIgKikgcHRyLAorCQkJCQkgICBzaXplb2YodG1wKSkpCiAJCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCQlyZXR1cm4gc3lzX21zZ3JjdiAoZmlyc3QsIHRtcC5tc2dwLCBzZWNvbmQsCisJCQlyZXR1cm4gc3lzX21zZ3JjdihmaXJzdCwgdG1wLm1zZ3AsIHNlY29uZCwKIAkJCQkJICAgdG1wLm1zZ3R5cCwgdGhpcmQpOwogCQl9CiAJCWRlZmF1bHQ6Ci0JCQlyZXR1cm4gc3lzX21zZ3JjdiAoZmlyc3QsCisJCQlyZXR1cm4gc3lzX21zZ3JjdihmaXJzdCwKIAkJCQkJICAgKHN0cnVjdCBtc2didWYgX191c2VyICopIHB0ciwKIAkJCQkJICAgc2Vjb25kLCBmaWZ0aCwgdGhpcmQpOwogCQl9CiAJY2FzZSBNU0dHRVQ6Ci0JCXJldHVybiBzeXNfbXNnZ2V0ICgoa2V5X3QpIGZpcnN0LCBzZWNvbmQpOworCQlyZXR1cm4gc3lzX21zZ2dldCgoa2V5X3QpIGZpcnN0LCBzZWNvbmQpOwogCWNhc2UgTVNHQ1RMOgotCQlyZXR1cm4gc3lzX21zZ2N0bCAoZmlyc3QsIHNlY29uZCwgKHN0cnVjdCBtc3FpZF9kcyBfX3VzZXIgKikgcHRyKTsKKwkJcmV0dXJuIHN5c19tc2djdGwoZmlyc3QsIHNlY29uZCwgKHN0cnVjdCBtc3FpZF9kcyBfX3VzZXIgKikgcHRyKTsKIAogCWNhc2UgU0hNQVQ6CiAJCXN3aXRjaCAodmVyc2lvbikgewogCQlkZWZhdWx0OiB7CiAJCQl1bG9uZyByYWRkcjsKLQkJCXJldCA9IGRvX3NobWF0IChmaXJzdCwgKGNoYXIgX191c2VyICopIHB0ciwgc2Vjb25kLCAmcmFkZHIpOworCQkJcmV0ID0gZG9fc2htYXQoZmlyc3QsIChjaGFyIF9fdXNlciAqKSBwdHIsIHNlY29uZCwgJnJhZGRyKTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKLQkJCXJldHVybiBwdXRfdXNlciAocmFkZHIsICh1bG9uZyBfX3VzZXIgKikgdGhpcmQpOworCQkJcmV0dXJuIHB1dF91c2VyKHJhZGRyLCAodWxvbmcgX191c2VyICopIHRoaXJkKTsKIAkJfQogCQljYXNlIDE6CS8qIGlCQ1MyIGVtdWxhdG9yIGVudHJ5IHBvaW50ICovCiAJCQlpZiAoIXNlZ21lbnRfZXEoZ2V0X2ZzKCksIGdldF9kcygpKSkKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCS8qIFRoZSAiKHVsb25nICopIHRoaXJkIiBpcyB2YWxpZCBfb25seV8gYmVjYXVzZSBvZiB0aGUga2VybmVsIHNlZ21lbnQgdGhpbmcgKi8KLQkJCXJldHVybiBkb19zaG1hdCAoZmlyc3QsIChjaGFyIF9fdXNlciAqKSBwdHIsIHNlY29uZCwgKHVsb25nICopIHRoaXJkKTsKKwkJCXJldHVybiBkb19zaG1hdChmaXJzdCwgKGNoYXIgX191c2VyICopIHB0ciwgc2Vjb25kLCAodWxvbmcgKikgdGhpcmQpOwogCQl9Ci0JY2FzZSBTSE1EVDogCi0JCXJldHVybiBzeXNfc2htZHQgKChjaGFyIF9fdXNlciAqKXB0cik7CisJY2FzZSBTSE1EVDoKKwkJcmV0dXJuIHN5c19zaG1kdCgoY2hhciBfX3VzZXIgKilwdHIpOwogCWNhc2UgU0hNR0VUOgotCQlyZXR1cm4gc3lzX3NobWdldCAoZmlyc3QsIHNlY29uZCwgdGhpcmQpOworCQlyZXR1cm4gc3lzX3NobWdldChmaXJzdCwgc2Vjb25kLCB0aGlyZCk7CiAJY2FzZSBTSE1DVEw6Ci0JCXJldHVybiBzeXNfc2htY3RsIChmaXJzdCwgc2Vjb25kLAorCQlyZXR1cm4gc3lzX3NobWN0bChmaXJzdCwgc2Vjb25kLAogCQkJCSAgIChzdHJ1Y3Qgc2htaWRfZHMgX191c2VyICopIHB0cik7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIC1FTk9TWVM7CkBAIC0xODYsMjggKzE4NiwyOCBAQAogLyoKICAqIE9sZCBjcnVmdAogICovCi1hc21saW5rYWdlIGludCBzeXNfdW5hbWUoc3RydWN0IG9sZF91dHNuYW1lIF9fdXNlciAqIG5hbWUpCithc21saW5rYWdlIGludCBzeXNfdW5hbWUoc3RydWN0IG9sZF91dHNuYW1lIF9fdXNlciAqbmFtZSkKIHsKIAlpbnQgZXJyOwogCWlmICghbmFtZSkKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJZG93bl9yZWFkKCZ1dHNfc2VtKTsKLQllcnIgPSBjb3B5X3RvX3VzZXIobmFtZSwgdXRzbmFtZSgpLCBzaXplb2YgKCpuYW1lKSk7CisJZXJyID0gY29weV90b191c2VyKG5hbWUsIHV0c25hbWUoKSwgc2l6ZW9mKCpuYW1lKSk7CiAJdXBfcmVhZCgmdXRzX3NlbSk7Ci0JcmV0dXJuIGVycj8tRUZBVUxUOjA7CisJcmV0dXJuIGVycj8gLUVGQVVMVDowOwogfQogCi1hc21saW5rYWdlIGludCBzeXNfb2xkdW5hbWUoc3RydWN0IG9sZG9sZF91dHNuYW1lIF9fdXNlciAqIG5hbWUpCithc21saW5rYWdlIGludCBzeXNfb2xkdW5hbWUoc3RydWN0IG9sZG9sZF91dHNuYW1lIF9fdXNlciAqbmFtZSkKIHsKIAlpbnQgZXJyb3I7CiAKIAlpZiAoIW5hbWUpCiAJCXJldHVybiAtRUZBVUxUOwotCWlmICghYWNjZXNzX29rKFZFUklGWV9XUklURSxuYW1lLHNpemVvZihzdHJ1Y3Qgb2xkb2xkX3V0c25hbWUpKSkKKwlpZiAoIWFjY2Vzc19vayhWRVJJRllfV1JJVEUsIG5hbWUsIHNpemVvZihzdHJ1Y3Qgb2xkb2xkX3V0c25hbWUpKSkKIAkJcmV0dXJuIC1FRkFVTFQ7Ci0gIAotICAJZG93bl9yZWFkKCZ1dHNfc2VtKTsKLQkKKworCWRvd25fcmVhZCgmdXRzX3NlbSk7CisKIAllcnJvciA9IF9fY29weV90b191c2VyKCZuYW1lLT5zeXNuYW1lLCAmdXRzbmFtZSgpLT5zeXNuYW1lLAogCQkJICAgICAgIF9fT0xEX1VUU19MRU4pOwogCWVycm9yIHw9IF9fcHV0X3VzZXIoMCwgbmFtZS0+c3lzbmFtZSArIF9fT0xEX1VUU19MRU4pOwpAQCAtMjIzLDkgKzIyMyw5IEBACiAJZXJyb3IgfD0gX19jb3B5X3RvX3VzZXIoJm5hbWUtPm1hY2hpbmUsICZ1dHNuYW1lKCktPm1hY2hpbmUsCiAJCQkJX19PTERfVVRTX0xFTik7CiAJZXJyb3IgfD0gX19wdXRfdXNlcigwLCBuYW1lLT5tYWNoaW5lICsgX19PTERfVVRTX0xFTik7Ci0JCisKIAl1cF9yZWFkKCZ1dHNfc2VtKTsKLQkKKwogCWVycm9yID0gZXJyb3IgPyAtRUZBVUxUIDogMDsKIAogCXJldHVybiBlcnJvcjsKQEAgLTI0MSw2ICsyNDEsNiBAQAogCWxvbmcgX19yZXM7CiAJYXNtIHZvbGF0aWxlICgicHVzaCAlJWVieCA7IG1vdmwgJTIsJSVlYnggOyBpbnQgJDB4ODAgOyBwb3AgJSVlYngiCiAJOiAiPWEiIChfX3JlcykKLQk6ICIwIiAoX19OUl9leGVjdmUpLCJyaSIgKGZpbGVuYW1lKSwiYyIgKGFyZ3YpLCAiZCIgKGVudnApIDogIm1lbW9yeSIpOworCTogIjAiIChfX05SX2V4ZWN2ZSksICJyaSIgKGZpbGVuYW1lKSwgImMiIChhcmd2KSwgImQiIChlbnZwKSA6ICJtZW1vcnkiKTsKIAlyZXR1cm4gX19yZXM7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV8zMi5jIGIvYXJjaC94ODYva2VybmVsL3RpbWVfMzIuYwppbmRleCAyZmYyMWYzLi4wNTljYTZlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90aW1lXzMyLmMKQEAgLTM5LDkgKzM5LDYgQEAKIAogI2luY2x1ZGUgImRvX3RpbWVyLmgiCiAKLXVuc2lnbmVkIGludCBjcHVfa2h6OwkvKiBEZXRlY3RlZCBhcyB3ZSBjYWxpYnJhdGUgdGhlIFRTQyAqLwotRVhQT1JUX1NZTUJPTChjcHVfa2h6KTsKLQogaW50IHRpbWVyX2FjazsKIAogdW5zaWduZWQgbG9uZyBwcm9maWxlX3BjKHN0cnVjdCBwdF9yZWdzICpyZWdzKQpAQCAtODQsOCArODEsNyBAQAogCWlmICh0aW1lcl9hY2spIHsKIAkJLyoKIAkJICogU3VidGxlLCB3aGVuIEkvTyBBUElDcyBhcmUgdXNlZCB3ZSBoYXZlIHRvIGFjayB0aW1lciBJUlEKLQkJICogbWFudWFsbHkgdG8gcmVzZXQgdGhlIElSUiBiaXQgZm9yIGRvX3Nsb3dfZ2V0dGltZW9mZnNldCgpLgotCQkgKiBUaGlzIHdpbGwgYWxzbyBkZWFzc2VydCBOTUkgbGluZXMgZm9yIHRoZSB3YXRjaGRvZyBpZiBydW4KKwkJICogbWFudWFsbHkgdG8gZGVhc3NlcnQgTk1JIGxpbmVzIGZvciB0aGUgd2F0Y2hkb2cgaWYgcnVuCiAJCSAqIG9uIGFuIDgyNDg5RFgtYmFzZWQgc3lzdGVtLgogCQkgKi8KIAkJc3Bpbl9sb2NrKCZpODI1OUFfbG9jayk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV82NC5jIGIvYXJjaC94ODYva2VybmVsL3RpbWVfNjQuYwppbmRleCBjNzM3ODQ5Li5lM2Q0OWM1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90aW1lXzY0LmMKQEAgLTU2LDcgKzU2LDcgQEAKIC8qIGNhbGlicmF0ZV9jcHUgaXMgdXNlZCBvbiBzeXN0ZW1zIHdpdGggZml4ZWQgcmF0ZSBUU0NzIHRvIGRldGVybWluZQogICogcHJvY2Vzc29yIGZyZXF1ZW5jeSAqLwogI2RlZmluZSBUSUNLX0NPVU5UIDEwMDAwMDAwMAotdW5zaWduZWQgbG9uZyBfX2luaXQgbmF0aXZlX2NhbGN1bGF0ZV9jcHVfa2h6KHZvaWQpCit1bnNpZ25lZCBsb25nIF9faW5pdCBjYWxpYnJhdGVfY3B1KHZvaWQpCiB7CiAJaW50IHRzY19zdGFydCwgdHNjX25vdzsKIAlpbnQgaSwgbm9fY3RyX2ZyZWU7CkBAIC0xMTYsMjMgKzExNiwxMSBAQAogCiB2b2lkIF9faW5pdCB0aW1lX2luaXQodm9pZCkKIHsKLQl0c2NfY2FsaWJyYXRlKCk7Ci0KLQljcHVfa2h6ID0gdHNjX2toejsKLQlpZiAoY3B1X2hhcygmYm9vdF9jcHVfZGF0YSwgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSAmJgotCQkoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSkKLQkJY3B1X2toeiA9IGNhbGN1bGF0ZV9jcHVfa2h6KCk7Ci0KLQlpZiAodW5zeW5jaHJvbml6ZWRfdHNjKCkpCi0JCW1hcmtfdHNjX3Vuc3RhYmxlKCJUU0NzIHVuc3luY2hyb25pemVkIik7Ci0KKwl0c2NfaW5pdCgpOwogCWlmIChjcHVfaGFzKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9SRFRTQ1ApKQogCQl2Z2V0Y3B1X21vZGUgPSBWR0VUQ1BVX1JEVFNDUDsKIAllbHNlCiAJCXZnZXRjcHVfbW9kZSA9IFZHRVRDUFVfTFNMOwogCi0JcHJpbnRrKEtFUk5fSU5GTyAidGltZS5jOiBEZXRlY3RlZCAlZC4lMDNkIE1IeiBwcm9jZXNzb3IuXG4iLAotCQljcHVfa2h6IC8gMTAwMCwgY3B1X2toeiAlIDEwMDApOwotCWluaXRfdHNjX2Nsb2Nrc291cmNlKCk7CiAJbGF0ZV90aW1lX2luaXQgPSBjaG9vc2VfdGltZV9pbml0KCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGxiXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiXzMyLmMKaW5kZXggOWJiMjM2My4uZmVjMWVjZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RsYl8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90bGJfMzIuYwpAQCAtMjM4LDYgKzIzOCw2IEBACiAKIHZvaWQgZmx1c2hfdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGxiXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiXzY0LmMKaW5kZXggYTFmMDdkNy4uZGNiZjdhMSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RsYl82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90bGJfNjQuYwpAQCAtMTUsNiArMTUsOCBAQAogI2luY2x1ZGUgPGFzbS9wcm90by5oPgogI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CiAjaW5jbHVkZSA8YXNtL2lkbGUuaD4KKyNpbmNsdWRlIDxhc20vdXYvdXZfaHViLmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X2JhdS5oPgogCiAjaW5jbHVkZSA8bWFjaF9pcGkuaD4KIC8qCkBAIC0xNjIsNiArMTY0LDkgQEAKIAl1bmlvbiBzbXBfZmx1c2hfc3RhdGUgKmY7CiAJY3B1bWFza190IGNwdW1hc2sgPSAqY3B1bWFza3A7CiAKKwlpZiAoaXNfdXZfc3lzdGVtKCkgJiYgdXZfZmx1c2hfdGxiX290aGVycygmY3B1bWFzaywgbW0sIHZhKSkKKwkJcmV0dXJuOworCiAJLyogQ2FsbGVyIGhhcyBkaXNhYmxlZCBwcmVlbXB0aW9uICovCiAJc2VuZGVyID0gc21wX3Byb2Nlc3Nvcl9pZCgpICUgTlVNX0lOVkFMSURBVEVfVExCX1ZFQ1RPUlM7CiAJZiA9ICZwZXJfY3B1KGZsdXNoX3N0YXRlLCBzZW5kZXIpOwpAQCAtMjcwLDUgKzI3NSw1IEBACiAKIHZvaWQgZmx1c2hfdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RsYl91di5jIGIvYXJjaC94ODYva2VybmVsL3RsYl91di5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwZmJiNzcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiX3V2LmMKQEAgLTAsMCArMSw3OTIgQEAKKy8qCisgKglTR0kgVWx0cmFWaW9sZXQgVExCIGZsdXNoIHJvdXRpbmVzLgorICoKKyAqCShjKSAyMDA4IENsaWZmIFdpY2ttYW4gPGNwd0BzZ2kuY29tPiwgU0dJLgorICoKKyAqCVRoaXMgY29kZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIG9yCisgKglsYXRlci4KKyAqLworI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CisjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorCisjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X21tcnMuaD4KKyNpbmNsdWRlIDxhc20vdXYvdXZfaHViLmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X2JhdS5oPgorI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CisjaW5jbHVkZSA8YXNtL2lkbGUuaD4KKyNpbmNsdWRlIDxhc20vdHNjLmg+CisKKyNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KKworc3RhdGljIHN0cnVjdCBiYXVfY29udHJvbAkqKnV2X2JhdV90YWJsZV9iYXNlcyBfX3JlYWRfbW9zdGx5Oworc3RhdGljIGludAkJCXV2X2JhdV9yZXRyeV9saW1pdCBfX3JlYWRfbW9zdGx5OworCisvKiBwb3NpdGlvbiBvZiBwbm9kZSAod2hpY2ggaXMgbmFzaWQ+PjEpOiAqLworc3RhdGljIGludAkJCXV2X25zaGlmdCBfX3JlYWRfbW9zdGx5OworCitzdGF0aWMgdW5zaWduZWQgbG9uZwkJdXZfbW1hc2sgX19yZWFkX21vc3RseTsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBwdGNfc3RhdHMsIHB0Y3N0YXRzKTsKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgYmF1X2NvbnRyb2wsIGJhdV9jb250cm9sKTsKKworLyoKKyAqIEZyZWUgYSBzb2Z0d2FyZSBhY2tub3dsZWRnZSBoYXJkd2FyZSByZXNvdXJjZSBieSBjbGVhcmluZyBpdHMgUGVuZGluZworICogYml0LiBUaGlzIHdpbGwgcmV0dXJuIGEgcmVwbHkgdG8gdGhlIHNlbmRlci4KKyAqIElmIHRoZSBtZXNzYWdlIGhhcyB0aW1lZCBvdXQsIGEgcmVwbHkgaGFzIGFscmVhZHkgYmVlbiBzZW50IGJ5IHRoZQorICogaGFyZHdhcmUgYnV0IHRoZSByZXNvdXJjZSBoYXMgbm90IGJlZW4gcmVsZWFzZWQuIEluIHRoYXQgY2FzZSBvdXIKKyAqIGNsZWFyIG9mIHRoZSBUaW1lb3V0IGJpdCAoYXMgd2VsbCkgd2lsbCBmcmVlIHRoZSByZXNvdXJjZS4gTm8gcmVwbHkgd2lsbAorICogYmUgc2VudCAodGhlIGhhcmR3YXJlIHdpbGwgb25seSBkbyBvbmUgcmVwbHkgcGVyIG1lc3NhZ2UpLgorICovCitzdGF0aWMgdm9pZCB1dl9yZXBseV90b19tZXNzYWdlKGludCByZXNvdXJjZSwKKwkJCQlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZywKKwkJCQlzdHJ1Y3QgYmF1X21zZ19zdGF0dXMgKm1zcCkKK3sKKwl1bnNpZ25lZCBsb25nIGR3OworCisJZHcgPSAoMSA8PCAocmVzb3VyY2UgKyBVVl9TV19BQ0tfTlBFTkRJTkcpKSB8ICgxIDw8IHJlc291cmNlKTsKKwltc2ctPnJlcGxpZWRfdG8gPSAxOworCW1zZy0+c3dfYWNrX3ZlY3RvciA9IDA7CisJaWYgKG1zcCkKKwkJbXNwLT5zZWVuX2J5LmJpdHMgPSAwOworCXV2X3dyaXRlX2xvY2FsX21tcihVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfQUxJQVMsIGR3KTsKK30KKworLyoKKyAqIERvIGFsbCB0aGUgdGhpbmdzIGEgY3B1IHNob3VsZCBkbyBmb3IgYSBUTEIgc2hvb3Rkb3duIG1lc3NhZ2UuCisgKiBPdGhlciBjcHUncyBtYXkgY29tZSBoZXJlIGF0IHRoZSBzYW1lIHRpbWUgZm9yIHRoaXMgbWVzc2FnZS4KKyAqLworc3RhdGljIHZvaWQgdXZfYmF1X3Byb2Nlc3NfbWVzc2FnZShzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZywKKwkJCQkgICBpbnQgbXNnX3Nsb3QsIGludCBzd19hY2tfc2xvdCkKK3sKKwl1bnNpZ25lZCBsb25nIHRoaXNfY3B1X21hc2s7CisJc3RydWN0IGJhdV9tc2dfc3RhdHVzICptc3A7CisJaW50IGNwdTsKKworCW1zcCA9IF9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLm1zZ19zdGF0dXNlcyArIG1zZ19zbG90OworCWNwdSA9IHV2X2JsYWRlX3Byb2Nlc3Nvcl9pZCgpOworCW1zZy0+bnVtYmVyX29mX2NwdXMgPQorCSAgICB1dl9ibGFkZV9ucl9vbmxpbmVfY3B1cyh1dl9ub2RlX3RvX2JsYWRlX2lkKG51bWFfbm9kZV9pZCgpKSk7CisJdGhpc19jcHVfbWFzayA9IDFVTCA8PCBjcHU7CisJaWYgKG1zcC0+c2Vlbl9ieS5iaXRzICYgdGhpc19jcHVfbWFzaykKKwkJcmV0dXJuOworCWF0b21pY19vcl9sb25nKCZtc3AtPnNlZW5fYnkuYml0cywgdGhpc19jcHVfbWFzayk7CisKKwlpZiAobXNnLT5yZXBsaWVkX3RvID09IDEpCisJCXJldHVybjsKKworCWlmIChtc2ctPmFkZHJlc3MgPT0gVExCX0ZMVVNIX0FMTCkgeworCQlsb2NhbF9mbHVzaF90bGIoKTsKKwkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuYWxsdGxiKys7CisJfSBlbHNlIHsKKwkJX19mbHVzaF90bGJfb25lKG1zZy0+YWRkcmVzcyk7CisJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLm9uZXRsYisrOworCX0KKworCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLnJlcXVlc3RlZSsrOworCisJYXRvbWljX2luY19zaG9ydCgmbXNnLT5hY2tub3dsZWRnZV9jb3VudCk7CisJaWYgKG1zZy0+bnVtYmVyX29mX2NwdXMgPT0gbXNnLT5hY2tub3dsZWRnZV9jb3VudCkKKwkJdXZfcmVwbHlfdG9fbWVzc2FnZShzd19hY2tfc2xvdCwgbXNnLCBtc3ApOworfQorCisvKgorICogRXhhbWluZSB0aGUgcGF5bG9hZCBxdWV1ZSBvbiBvbmUgZGlzdHJpYnV0aW9uIG5vZGUgdG8gc2VlCisgKiB3aGljaCBtZXNzYWdlcyBoYXZlIG5vdCBiZWVuIHNlZW4sIGFuZCB3aGljaCBjcHUocykgaGF2ZSBub3Qgc2VlbiB0aGVtLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjcHUncyB0aGF0IGhhdmUgbm90IHJlc3BvbmRlZC4KKyAqLworc3RhdGljIGludCB1dl9leGFtaW5lX2Rlc3RpbmF0aW9uKHN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYmxlc3AsIGludCBzZW5kZXIpCit7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICptc2c7CisJc3RydWN0IGJhdV9tc2dfc3RhdHVzICptc3A7CisJaW50IGNvdW50ID0gMDsKKwlpbnQgaTsKKwlpbnQgajsKKworCWZvciAobXNnID0gYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2ZpcnN0LCBpID0gMDsgaSA8IERFU1RfUV9TSVpFOworCSAgICAgbXNnKyssIGkrKykgeworCQlpZiAoKG1zZy0+c2VuZGluZ19jcHUgPT0gc2VuZGVyKSAmJiAoIW1zZy0+cmVwbGllZF90bykpIHsKKwkJCW1zcCA9IGJhdV90YWJsZXNwLT5tc2dfc3RhdHVzZXMgKyBpOworCQkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCSAgICAgICAiYmxhZGUgJWQ6IGFkZHJlc3M6JSNseCAlZCBvZiAlZCwgbm90IGNwdShzKTogIiwKKwkJCSAgICAgICBpLCBtc2ctPmFkZHJlc3MsIG1zZy0+YWNrbm93bGVkZ2VfY291bnQsCisJCQkgICAgICAgbXNnLT5udW1iZXJfb2ZfY3B1cyk7CisJCQlmb3IgKGogPSAwOyBqIDwgbXNnLT5udW1iZXJfb2ZfY3B1czsgaisrKSB7CisJCQkJaWYgKCEoKDFMIDw8IGopICYgbXNwLT5zZWVuX2J5LmJpdHMpKSB7CisJCQkJCWNvdW50Kys7CisJCQkJCXByaW50aygiJWQgIiwgaik7CisJCQkJfQorCQkJfQorCQkJcHJpbnRrKCJcbiIpOworCQl9CisJfQorCXJldHVybiBjb3VudDsKK30KKworLyoKKyAqIEV4YW1pbmUgdGhlIHBheWxvYWQgcXVldWUgb24gYWxsIHRoZSBkaXN0cmlidXRpb24gbm9kZXMgdG8gc2VlCisgKiB3aGljaCBtZXNzYWdlcyBoYXZlIG5vdCBiZWVuIHNlZW4sIGFuZCB3aGljaCBjcHUocykgaGF2ZSBub3Qgc2VlbiB0aGVtLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjcHUncyB0aGF0IGhhdmUgbm90IHJlc3BvbmRlZC4KKyAqLworc3RhdGljIGludCB1dl9leGFtaW5lX2Rlc3RpbmF0aW9ucyhzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzayAqZGlzdHJpYnV0aW9uKQoreworCWludCBzZW5kZXI7CisJaW50IGk7CisJaW50IGNvdW50ID0gMDsKKworCXNlbmRlciA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKwlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHN0cnVjdCBiYXVfdGFyZ2V0X25vZGVtYXNrKSAqIEJJVFNQRVJCWVRFOyBpKyspIHsKKwkJaWYgKCFiYXVfbm9kZV9pc3NldChpLCBkaXN0cmlidXRpb24pKQorCQkJY29udGludWU7CisJCWNvdW50ICs9IHV2X2V4YW1pbmVfZGVzdGluYXRpb24odXZfYmF1X3RhYmxlX2Jhc2VzW2ldLCBzZW5kZXIpOworCX0KKwlyZXR1cm4gY291bnQ7Cit9CisKKy8qCisgKiB3YWl0IGZvciBjb21wbGV0aW9uIG9mIGEgYnJvYWRjYXN0IG1lc3NhZ2UKKyAqCisgKiByZXR1cm4gQ09NUExFVEUsIFJFVFJZIG9yIEdJVkVVUAorICovCitzdGF0aWMgaW50IHV2X3dhaXRfY29tcGxldGlvbihzdHJ1Y3QgYmF1X2Rlc2MgKmJhdV9kZXNjLAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBtbXJfb2Zmc2V0LCBpbnQgcmlnaHRfc2hpZnQpCit7CisJaW50IGV4YW1zID0gMDsKKwlsb25nIGRlc3RpbmF0aW9uX3RpbWVvdXRzID0gMDsKKwlsb25nIHNvdXJjZV90aW1lb3V0cyA9IDA7CisJdW5zaWduZWQgbG9uZyBkZXNjcmlwdG9yX3N0YXR1czsKKworCXdoaWxlICgoZGVzY3JpcHRvcl9zdGF0dXMgPSAoKCh1bnNpZ25lZCBsb25nKQorCQl1dl9yZWFkX2xvY2FsX21tcihtbXJfb2Zmc2V0KSA+PgorCQkJcmlnaHRfc2hpZnQpICYgVVZfQUNUX1NUQVRVU19NQVNLKSkgIT0KKwkJCURFU0NfU1RBVFVTX0lETEUpIHsKKwkJaWYgKGRlc2NyaXB0b3Jfc3RhdHVzID09IERFU0NfU1RBVFVTX1NPVVJDRV9USU1FT1VUKSB7CisJCQlzb3VyY2VfdGltZW91dHMrKzsKKwkJCWlmIChzb3VyY2VfdGltZW91dHMgPiBTT1VSQ0VfVElNRU9VVF9MSU1JVCkKKwkJCQlzb3VyY2VfdGltZW91dHMgPSAwOworCQkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuc19yZXRyeSsrOworCQkJcmV0dXJuIEZMVVNIX1JFVFJZOworCQl9CisJCS8qCisJCSAqIHNwaW4gaGVyZSBsb29raW5nIGZvciBwcm9ncmVzcyBhdCB0aGUgZGVzdGluYXRpb25zCisJCSAqLworCQlpZiAoZGVzY3JpcHRvcl9zdGF0dXMgPT0gREVTQ19TVEFUVVNfREVTVElOQVRJT05fVElNRU9VVCkgeworCQkJZGVzdGluYXRpb25fdGltZW91dHMrKzsKKwkJCWlmIChkZXN0aW5hdGlvbl90aW1lb3V0cyA+IERFU1RJTkFUSU9OX1RJTUVPVVRfTElNSVQpIHsKKwkJCQkvKgorCQkJCSAqIHJldHVybnMgbnVtYmVyIG9mIGNwdXMgbm90IHJlc3BvbmRpbmcKKwkJCQkgKi8KKwkJCQlpZiAodXZfZXhhbWluZV9kZXN0aW5hdGlvbnMKKwkJCQkgICAgKCZiYXVfZGVzYy0+ZGlzdHJpYnV0aW9uKSA9PSAwKSB7CisJCQkJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLmRfcmV0cnkrKzsKKwkJCQkJcmV0dXJuIEZMVVNIX1JFVFJZOworCQkJCX0KKwkJCQlleGFtcysrOworCQkJCWlmIChleGFtcyA+PSB1dl9iYXVfcmV0cnlfbGltaXQpIHsKKwkJCQkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCQkJICAgICAgICJ1dl9mbHVzaF90bGJfb3RoZXJzIik7CisJCQkJCXByaW50aygiZ2l2aW5nIHVwIG9uIGNwdSAlZFxuIiwKKwkJCQkJICAgICAgIHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJCQkJCXJldHVybiBGTFVTSF9HSVZFVVA7CisJCQkJfQorCQkJCS8qCisJCQkJICogZGVsYXlzIGNhbiBoYW5nIHRoZSBzaW11bGF0b3IKKwkJCQkgICB1ZGVsYXkoMTAwMCk7CisJCQkJICovCisJCQkJZGVzdGluYXRpb25fdGltZW91dHMgPSAwOworCQkJfQorCQl9CisJfQorCXJldHVybiBGTFVTSF9DT01QTEVURTsKK30KKworLyoqCisgKiB1dl9mbHVzaF9zZW5kX2FuZF93YWl0CisgKgorICogU2VuZCBhIGJyb2FkY2FzdCBhbmQgd2FpdCBmb3IgYSBicm9hZGNhc3QgbWVzc2FnZSB0byBjb21wbGV0ZS4KKyAqCisgKiBUaGUgY3B1bWFza3AgbWFzayBjb250YWlucyB0aGUgY3B1cyB0aGUgYnJvYWRjYXN0IHdhcyBzZW50IHRvLgorICoKKyAqIFJldHVybnMgMSBpZiBhbGwgcmVtb3RlIGZsdXNoaW5nIHdhcyBkb25lLiBUaGUgbWFzayBpcyB6ZXJvZWQuCisgKiBSZXR1cm5zIDAgaWYgc29tZSByZW1vdGUgZmx1c2hpbmcgcmVtYWlucyB0byBiZSBkb25lLiBUaGUgbWFzayBpcyBsZWZ0CisgKiB1bmNoYW5nZWQuCisgKi8KK2ludCB1dl9mbHVzaF9zZW5kX2FuZF93YWl0KGludCBjcHUsIGludCB0aGlzX2JsYWRlLCBzdHJ1Y3QgYmF1X2Rlc2MgKmJhdV9kZXNjLAorCQkJICAgY3B1bWFza190ICpjcHVtYXNrcCkKK3sKKwlpbnQgY29tcGxldGlvbl9zdGF0dXMgPSAwOworCWludCByaWdodF9zaGlmdDsKKwlpbnQgdHJpZXMgPSAwOworCWludCBibGFkZTsKKwlpbnQgYml0OworCXVuc2lnbmVkIGxvbmcgbW1yX29mZnNldDsKKwl1bnNpZ25lZCBsb25nIGluZGV4OworCWN5Y2xlc190IHRpbWUxOworCWN5Y2xlc190IHRpbWUyOworCisJaWYgKGNwdSA8IFVWX0NQVVNfUEVSX0FDVF9TVEFUVVMpIHsKKwkJbW1yX29mZnNldCA9IFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMDsKKwkJcmlnaHRfc2hpZnQgPSBjcHUgKiBVVl9BQ1RfU1RBVFVTX1NJWkU7CisJfSBlbHNlIHsKKwkJbW1yX29mZnNldCA9IFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMTsKKwkJcmlnaHRfc2hpZnQgPQorCQkgICAgKChjcHUgLSBVVl9DUFVTX1BFUl9BQ1RfU1RBVFVTKSAqIFVWX0FDVF9TVEFUVVNfU0laRSk7CisJfQorCXRpbWUxID0gZ2V0X2N5Y2xlcygpOworCWRvIHsKKwkJdHJpZXMrKzsKKwkJaW5kZXggPSAoMVVMIDw8IFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9DT05UUk9MX1BVU0hfU0hGVCkgfAorCQkJY3B1OworCQl1dl93cml0ZV9sb2NhbF9tbXIoVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0wsIGluZGV4KTsKKwkJY29tcGxldGlvbl9zdGF0dXMgPSB1dl93YWl0X2NvbXBsZXRpb24oYmF1X2Rlc2MsIG1tcl9vZmZzZXQsCisJCQkJCXJpZ2h0X3NoaWZ0KTsKKwl9IHdoaWxlIChjb21wbGV0aW9uX3N0YXR1cyA9PSBGTFVTSF9SRVRSWSk7CisJdGltZTIgPSBnZXRfY3ljbGVzKCk7CisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuc2ZsdXNoICs9ICh0aW1lMiAtIHRpbWUxKTsKKwlpZiAodHJpZXMgPiAxKQorCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5yZXRyaWVzb2srKzsKKworCWlmIChjb21wbGV0aW9uX3N0YXR1cyA9PSBGTFVTSF9HSVZFVVApIHsKKwkJLyoKKwkJICogQ2F1c2UgdGhlIGNhbGxlciB0byBkbyBhbiBJUEktc3R5bGUgVExCIHNob290ZG93biBvbgorCQkgKiB0aGUgY3B1J3MsIGFsbCBvZiB3aGljaCBhcmUgc3RpbGwgaW4gdGhlIG1hc2suCisJCSAqLworCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5wdGNfaSsrOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKgorCSAqIFN1Y2Nlc3MsIHNvIGNsZWFyIHRoZSByZW1vdGUgY3B1J3MgZnJvbSB0aGUgbWFzayBzbyB3ZSBkb24ndAorCSAqIHVzZSB0aGUgSVBJIG1ldGhvZCBvZiBzaG9vdGRvd24gb24gdGhlbS4KKwkgKi8KKwlmb3JfZWFjaF9jcHVfbWFzayhiaXQsICpjcHVtYXNrcCkgeworCQlibGFkZSA9IHV2X2NwdV90b19ibGFkZV9pZChiaXQpOworCQlpZiAoYmxhZGUgPT0gdGhpc19ibGFkZSkKKwkJCWNvbnRpbnVlOworCQljcHVfY2xlYXIoYml0LCAqY3B1bWFza3ApOworCX0KKwlpZiAoIWNwdXNfZW1wdHkoKmNwdW1hc2twKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKKy8qKgorICogdXZfZmx1c2hfdGxiX290aGVycyAtIGdsb2JhbGx5IHB1cmdlIHRyYW5zbGF0aW9uIGNhY2hlIG9mIGEgdmlydHVhbAorICogYWRkcmVzcyBvciBhbGwgVExCJ3MKKyAqIEBjcHVtYXNrcDogbWFzayBvZiBhbGwgY3B1J3MgaW4gd2hpY2ggdGhlIGFkZHJlc3MgaXMgdG8gYmUgcmVtb3ZlZAorICogQG1tOiBtbV9zdHJ1Y3QgY29udGFpbmluZyB2aXJ0dWFsIGFkZHJlc3MgcmFuZ2UKKyAqIEB2YTogdmlydHVhbCBhZGRyZXNzIHRvIGJlIHJlbW92ZWQgKG9yIFRMQl9GTFVTSF9BTEwgZm9yIGFsbCBUTEIncyBvbiBjcHUpCisgKgorICogVGhpcyBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIGluaXRpYXRpbmcgYW55IFVWIGdsb2JhbCBUTEIgc2hvb3Rkb3duLgorICoKKyAqIFB1cmdlcyB0aGUgdHJhbnNsYXRpb24gY2FjaGVzIG9mIGFsbCBzcGVjaWZpZWQgcHJvY2Vzc29ycyBvZiB0aGUgZ2l2ZW4KKyAqIHZpcnR1YWwgYWRkcmVzcywgb3IgcHVyZ2VzIGFsbCBUTEIncyBvbiBzcGVjaWZpZWQgcHJvY2Vzc29ycy4KKyAqCisgKiBUaGUgY2FsbGVyIGhhcyBkZXJpdmVkIHRoZSBjcHVtYXNrcCBmcm9tIHRoZSBtbV9zdHJ1Y3QgYW5kIGhhcyBzdWJ0cmFjdGVkCisgKiB0aGUgbG9jYWwgY3B1IGZyb20gdGhlIG1hc2suICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5IGlmIHRoZXJlCisgKiBhcmUgYml0cyBzZXQgaW4gdGhlIG1hc2suIChlLmcuIGZsdXNoX3RsYl9wYWdlKCkpCisgKgorICogVGhlIGNwdW1hc2twIGlzIGNvbnZlcnRlZCBpbnRvIGEgbm9kZW1hc2sgb2YgdGhlIG5vZGVzIGNvbnRhaW5pbmcKKyAqIHRoZSBjcHVzLgorICoKKyAqIFJldHVybnMgMSBpZiBhbGwgcmVtb3RlIGZsdXNoaW5nIHdhcyBkb25lLgorICogUmV0dXJucyAwIGlmIHNvbWUgcmVtb3RlIGZsdXNoaW5nIHJlbWFpbnMgdG8gYmUgZG9uZS4KKyAqLworaW50IHV2X2ZsdXNoX3RsYl9vdGhlcnMoY3B1bWFza190ICpjcHVtYXNrcCwgc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQl1bnNpZ25lZCBsb25nIHZhKQoreworCWludCBpOworCWludCBiaXQ7CisJaW50IGJsYWRlOworCWludCBjcHU7CisJaW50IHRoaXNfYmxhZGU7CisJaW50IGxvY2FscyA9IDA7CisJc3RydWN0IGJhdV9kZXNjICpiYXVfZGVzYzsKKworCWNwdSA9IHV2X2JsYWRlX3Byb2Nlc3Nvcl9pZCgpOworCXRoaXNfYmxhZGUgPSB1dl9udW1hX2JsYWRlX2lkKCk7CisJYmF1X2Rlc2MgPSBfX2dldF9jcHVfdmFyKGJhdV9jb250cm9sKS5kZXNjcmlwdG9yX2Jhc2U7CisJYmF1X2Rlc2MgKz0gVVZfSVRFTVNfUEVSX0RFU0NSSVBUT1IgKiBjcHU7CisKKwliYXVfbm9kZXNfY2xlYXIoJmJhdV9kZXNjLT5kaXN0cmlidXRpb24sIFVWX0RJU1RSSUJVVElPTl9TSVpFKTsKKworCWkgPSAwOworCWZvcl9lYWNoX2NwdV9tYXNrKGJpdCwgKmNwdW1hc2twKSB7CisJCWJsYWRlID0gdXZfY3B1X3RvX2JsYWRlX2lkKGJpdCk7CisJCUJVR19PTihibGFkZSA+IChVVl9ESVNUUklCVVRJT05fU0laRSAtIDEpKTsKKwkJaWYgKGJsYWRlID09IHRoaXNfYmxhZGUpIHsKKwkJCWxvY2FscysrOworCQkJY29udGludWU7CisJCX0KKwkJYmF1X25vZGVfc2V0KGJsYWRlLCAmYmF1X2Rlc2MtPmRpc3RyaWJ1dGlvbik7CisJCWkrKzsKKwl9CisJaWYgKGkgPT0gMCkgeworCQkvKgorCQkgKiBubyBvZmZfbm9kZSBmbHVzaGluZzsgcmV0dXJuIHN0YXR1cyBmb3IgbG9jYWwgbm9kZQorCQkgKi8KKwkJaWYgKGxvY2FscykKKwkJCXJldHVybiAwOworCQllbHNlCisJCQlyZXR1cm4gMTsKKwl9CisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykucmVxdWVzdG9yKys7CisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykubnRhcmdldGVkICs9IGk7CisKKwliYXVfZGVzYy0+cGF5bG9hZC5hZGRyZXNzID0gdmE7CisJYmF1X2Rlc2MtPnBheWxvYWQuc2VuZGluZ19jcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisKKwlyZXR1cm4gdXZfZmx1c2hfc2VuZF9hbmRfd2FpdChjcHUsIHRoaXNfYmxhZGUsIGJhdV9kZXNjLCBjcHVtYXNrcCk7Cit9CisKKy8qCisgKiBUaGUgQkFVIG1lc3NhZ2UgaW50ZXJydXB0IGNvbWVzIGhlcmUuIChyZWdpc3RlcmVkIGJ5IHNldF9pbnRyX2dhdGUpCisgKiBTZWUgZW50cnlfNjQuUworICoKKyAqIFdlIHJlY2VpdmVkIGEgYnJvYWRjYXN0IGFzc2lzdCBtZXNzYWdlLgorICoKKyAqIEludGVycnVwdHMgbWF5IGhhdmUgYmVlbiBkaXNhYmxlZDsgdGhpcyBpbnRlcnJ1cHQgY291bGQgcmVwcmVzZW50CisgKiB0aGUgcmVjZWlwdCBvZiBzZXZlcmFsIG1lc3NhZ2VzLgorICoKKyAqIEFsbCBjb3Jlcy90aHJlYWRzIG9uIHRoaXMgbm9kZSBnZXQgdGhpcyBpbnRlcnJ1cHQuCisgKiBUaGUgbGFzdCBvbmUgdG8gc2VlIGl0IGRvZXMgdGhlIHMvdyBhY2suCisgKiAodGhlIHJlc291cmNlIHdpbGwgbm90IGJlIGZyZWVkIHVudGlsIG5vbmludGVycnVwdGFibGUgY3B1cyBzZWUgdGhpcworICogIGludGVycnVwdDsgaGFyZHdhcmUgd2lsbCB0aW1lb3V0IHRoZSBzL3cgYWNrIGFuZCByZXBseSBFUlJPUikKKyAqLwordm9pZCB1dl9iYXVfbWVzc2FnZV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICp2YV9xdWV1ZV9maXJzdDsKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKnZhX3F1ZXVlX2xhc3Q7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICptc2c7CisJc3RydWN0IHB0X3JlZ3MgKm9sZF9yZWdzID0gc2V0X2lycV9yZWdzKHJlZ3MpOworCWN5Y2xlc190IHRpbWUxOworCWN5Y2xlc190IHRpbWUyOworCWludCBtc2dfc2xvdDsKKwlpbnQgc3dfYWNrX3Nsb3Q7CisJaW50IGZ3OworCWludCBjb3VudCA9IDA7CisJdW5zaWduZWQgbG9uZyBsb2NhbF9wbm9kZTsKKworCWFja19BUElDX2lycSgpOworCWV4aXRfaWRsZSgpOworCWlycV9lbnRlcigpOworCisJdGltZTEgPSBnZXRfY3ljbGVzKCk7CisKKwlsb2NhbF9wbm9kZSA9IHV2X2JsYWRlX3RvX3Bub2RlKHV2X251bWFfYmxhZGVfaWQoKSk7CisKKwl2YV9xdWV1ZV9maXJzdCA9IF9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLnZhX3F1ZXVlX2ZpcnN0OworCXZhX3F1ZXVlX2xhc3QgPSBfX2dldF9jcHVfdmFyKGJhdV9jb250cm9sKS52YV9xdWV1ZV9sYXN0OworCisJbXNnID0gX19nZXRfY3B1X3ZhcihiYXVfY29udHJvbCkuYmF1X21zZ19oZWFkOworCXdoaWxlIChtc2ctPnN3X2Fja192ZWN0b3IpIHsKKwkJY291bnQrKzsKKwkJZncgPSBtc2ctPnN3X2Fja192ZWN0b3I7CisJCW1zZ19zbG90ID0gbXNnIC0gdmFfcXVldWVfZmlyc3Q7CisJCXN3X2Fja19zbG90ID0gZmZzKGZ3KSAtIDE7CisKKwkJdXZfYmF1X3Byb2Nlc3NfbWVzc2FnZShtc2csIG1zZ19zbG90LCBzd19hY2tfc2xvdCk7CisKKwkJbXNnKys7CisJCWlmIChtc2cgPiB2YV9xdWV1ZV9sYXN0KQorCQkJbXNnID0gdmFfcXVldWVfZmlyc3Q7CisJCV9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLmJhdV9tc2dfaGVhZCA9IG1zZzsKKwl9CisJaWYgKCFjb3VudCkKKwkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykubm9tc2crKzsKKwllbHNlIGlmIChjb3VudCA+IDEpCisJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLm11bHRtc2crKzsKKworCXRpbWUyID0gZ2V0X2N5Y2xlcygpOworCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLmRmbHVzaCArPSAodGltZTIgLSB0aW1lMSk7CisKKwlpcnFfZXhpdCgpOworCXNldF9pcnFfcmVncyhvbGRfcmVncyk7Cit9CisKK3N0YXRpYyB2b2lkIHV2X2VuYWJsZV90aW1lb3V0cyh2b2lkKQoreworCWludCBpOworCWludCBibGFkZTsKKwlpbnQgbGFzdF9ibGFkZTsKKwlpbnQgcG5vZGU7CisJaW50IGN1cl9jcHUgPSAwOworCXVuc2lnbmVkIGxvbmcgYXBpY2lkOworCisJbGFzdF9ibGFkZSA9IC0xOworCWZvcl9lYWNoX29ubGluZV9ub2RlKGkpIHsKKwkJYmxhZGUgPSB1dl9ub2RlX3RvX2JsYWRlX2lkKGkpOworCQlpZiAoYmxhZGUgPT0gbGFzdF9ibGFkZSkKKwkJCWNvbnRpbnVlOworCQlsYXN0X2JsYWRlID0gYmxhZGU7CisJCWFwaWNpZCA9IHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGN1cl9jcHUpOworCQlwbm9kZSA9IHV2X2JsYWRlX3RvX3Bub2RlKGJsYWRlKTsKKwkJY3VyX2NwdSArPSB1dl9ibGFkZV9ucl9wb3NzaWJsZV9jcHVzKGkpOworCX0KK30KKworc3RhdGljIHZvaWQgKnV2X3B0Y19zZXFfc3RhcnQoc3RydWN0IHNlcV9maWxlICpmaWxlLCBsb2ZmX3QgKm9mZnNldCkKK3sKKwlpZiAoKm9mZnNldCA8IG51bV9wb3NzaWJsZV9jcHVzKCkpCisJCXJldHVybiBvZmZzZXQ7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkICp1dl9wdGNfc2VxX25leHQoc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICpkYXRhLCBsb2ZmX3QgKm9mZnNldCkKK3sKKwkoKm9mZnNldCkrKzsKKwlpZiAoKm9mZnNldCA8IG51bV9wb3NzaWJsZV9jcHVzKCkpCisJCXJldHVybiBvZmZzZXQ7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIHV2X3B0Y19zZXFfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIHZvaWQgKmRhdGEpCit7Cit9CisKKy8qCisgKiBEaXNwbGF5IHRoZSBzdGF0aXN0aWNzIHRocnUgL3Byb2MKKyAqIGRhdGEgcG9pbnRzIHRvIHRoZSBjcHUgbnVtYmVyCisgKi8KK3N0YXRpYyBpbnQgdXZfcHRjX3NlcV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgcHRjX3N0YXRzICpzdGF0OworCWludCBjcHU7CisKKwljcHUgPSAqKGxvZmZfdCAqKWRhdGE7CisKKwlpZiAoIWNwdSkgeworCQlzZXFfcHJpbnRmKGZpbGUsCisJCSIjIGNwdSByZXF1ZXN0b3IgcmVxdWVzdGVlIG9uZSBhbGwgc3JldHJ5IGRyZXRyeSBwdGNfaSAiKTsKKwkJc2VxX3ByaW50ZihmaWxlLAorCQkic3dfYWNrIHNmbHVzaCBkZmx1c2ggc29rIGRub21zZyBkbXVsdCBzdGFyZ2V0XG4iKTsKKwl9CisJaWYgKGNwdSA8IG51bV9wb3NzaWJsZV9jcHVzKCkgJiYgY3B1X29ubGluZShjcHUpKSB7CisJCXN0YXQgPSAmcGVyX2NwdShwdGNzdGF0cywgY3B1KTsKKwkJc2VxX3ByaW50ZihmaWxlLCAiY3B1ICVkICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkICVsZCAiLAorCQkJICAgY3B1LCBzdGF0LT5yZXF1ZXN0b3IsCisJCQkgICBzdGF0LT5yZXF1ZXN0ZWUsIHN0YXQtPm9uZXRsYiwgc3RhdC0+YWxsdGxiLAorCQkJICAgc3RhdC0+c19yZXRyeSwgc3RhdC0+ZF9yZXRyeSwgc3RhdC0+cHRjX2kpOworCQlzZXFfcHJpbnRmKGZpbGUsICIlbHggJWxkICVsZCAlbGQgJWxkICVsZCAlbGRcbiIsCisJCQkgICB1dl9yZWFkX2dsb2JhbF9tbXI2NCh1dl9ibGFkZV90b19wbm9kZQorCQkJCQkodXZfY3B1X3RvX2JsYWRlX2lkKGNwdSkpLAorCQkJCQlVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0UpLAorCQkJICAgc3RhdC0+c2ZsdXNoLCBzdGF0LT5kZmx1c2gsCisJCQkgICBzdGF0LT5yZXRyaWVzb2ssIHN0YXQtPm5vbXNnLAorCQkJICAgc3RhdC0+bXVsdG1zZywgc3RhdC0+bnRhcmdldGVkKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqICAwOiBkaXNwbGF5IG1lYW5pbmcgb2YgdGhlIHN0YXRpc3RpY3MKKyAqID4wOiByZXRyeSBsaW1pdAorICovCitzdGF0aWMgc3NpemVfdCB1dl9wdGNfcHJvY193cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKnVzZXIsCisJCQkJIHNpemVfdCBjb3VudCwgbG9mZl90ICpkYXRhKQoreworCWxvbmcgbmV3bW9kZTsKKwljaGFyIG9wdHN0cls2NF07CisKKwlpZiAoY291bnQgPT0gMCB8fCBjb3VudCA+IHNpemVvZihvcHRzdHIpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoY29weV9mcm9tX3VzZXIob3B0c3RyLCB1c2VyLCBjb3VudCkpCisJCXJldHVybiAtRUZBVUxUOworCW9wdHN0cltjb3VudCAtIDFdID0gJ1wwJzsKKwlpZiAoc3RyaWN0X3N0cnRvdWwob3B0c3RyLCAxMCwgJm5ld21vZGUpIDwgMCkgeworCQlwcmludGsoS0VSTl9ERUJVRyAiJXMgaXMgaW52YWxpZFxuIiwgb3B0c3RyKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKG5ld21vZGUgPT0gMCkgeworCQlwcmludGsoS0VSTl9ERUJVRyAiIyBjcHU6ICAgICAgY3B1IG51bWJlclxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJyZXF1ZXN0b3I6ICB0aW1lcyB0aGlzIGNwdSB3YXMgdGhlIGZsdXNoIHJlcXVlc3RvclxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJyZXF1ZXN0ZWU6ICB0aW1lcyB0aGlzIGNwdSB3YXMgcmVxdWVzdGVkIHRvIGZsdXNoIGl0cyBUTEJzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJIm9uZTogICAgICAgIHRpbWVzIHJlcXVlc3RlZCB0byBmbHVzaCBhIHNpbmdsZSBhZGRyZXNzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJImFsbDogICAgICAgIHRpbWVzIHJlcXVlc3RlZCB0byBmbHVzaCBhbGwgVExCJ3NcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkic3JldHJ5OiAgICAgbnVtYmVyIG9mIHJldHJpZXMgb2Ygc291cmNlLXNpZGUgdGltZW91dHNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkiZHJldHJ5OiAgICAgbnVtYmVyIG9mIHJldHJpZXMgb2YgZGVzdGluYXRpb24tc2lkZSB0aW1lb3V0c1xuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJwdGNfaTogICAgICB0aW1lcyBVViBmZWxsIHRocm91Z2ggdG8gSVBJLXN0eWxlIGZsdXNoZXNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkic3dfYWNrOiAgICAgaW1hZ2Ugb2YgVVZIX0xCX0JBVV9JTlREX1NPRlRXQVJFX0FDS05PV0xFREdFXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJInNmbHVzaF91czogIGN5Y2xlcyBzcGVudCBpbiB1dl9mbHVzaF90bGJfb3RoZXJzKClcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkiZGZsdXNoX3VzOiAgY3ljbGVzIHNwZW50IGluIGhhbmRsaW5nIGZsdXNoIHJlcXVlc3RzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcgInNvazogICAgICAgIHN1Y2Nlc3NlcyBvbiByZXRyeVxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHICJkbm9tc2c6ICAgICBpbnRlcnJ1cHRzIHdpdGggbm8gbWVzc2FnZVxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJkbXVsdDogICAgICBpbnRlcnJ1cHRzIHdpdGggbXVsdGlwbGUgbWVzc2FnZXNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRyAic3RhcmdldDogICAgbm9kZXMgdGFyZ2V0ZWRcbiIpOworCX0gZWxzZSB7CisJCXV2X2JhdV9yZXRyeV9saW1pdCA9IG5ld21vZGU7CisJCXByaW50ayhLRVJOX0RFQlVHICJ0aW1lb3V0IHJldHJ5IGxpbWl0OiVkXG4iLAorCQkgICAgICAgdXZfYmF1X3JldHJ5X2xpbWl0KTsKKwl9CisKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgdXZfcHRjX3NlcV9vcHMgPSB7CisJLnN0YXJ0CQk9IHV2X3B0Y19zZXFfc3RhcnQsCisJLm5leHQJCT0gdXZfcHRjX3NlcV9uZXh0LAorCS5zdG9wCQk9IHV2X3B0Y19zZXFfc3RvcCwKKwkuc2hvdwkJPSB1dl9wdGNfc2VxX3Nob3cKK307CisKK3N0YXRpYyBpbnQgdXZfcHRjX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2VxX29wZW4oZmlsZSwgJnV2X3B0Y19zZXFfb3BzKTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgcHJvY191dl9wdGNfb3BlcmF0aW9ucyA9IHsKKwkub3BlbgkJPSB1dl9wdGNfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS53cml0ZQkJPSB1dl9wdGNfcHJvY193cml0ZSwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNlcV9yZWxlYXNlLAorfTsKKworc3RhdGljIGludCBfX2luaXQgdXZfcHRjX2luaXQodm9pZCkKK3sKKwlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKnByb2NfdXZfcHRjOworCisJaWYgKCFpc191dl9zeXN0ZW0oKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIXByb2NfbWtkaXIoInNnaV91diIsIE5VTEwpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByb2NfdXZfcHRjID0gY3JlYXRlX3Byb2NfZW50cnkoVVZfUFRDX0JBU0VOQU1FLCAwNDQ0LCBOVUxMKTsKKwlpZiAoIXByb2NfdXZfcHRjKSB7CisJCXByaW50ayhLRVJOX0VSUiAidW5hYmxlIHRvIGNyZWF0ZSAlcyBwcm9jIGVudHJ5XG4iLAorCQkgICAgICAgVVZfUFRDX0JBU0VOQU1FKTsKKwkJcmVtb3ZlX3Byb2NfZW50cnkoInNnaV91diIsIE5VTEwpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcHJvY191dl9wdGMtPnByb2NfZm9wcyA9ICZwcm9jX3V2X3B0Y19vcGVyYXRpb25zOworCXJldHVybiAwOworfQorCisvKgorICogYmVnaW4gdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBwZXItYmxhZGUgY29udHJvbCBzdHJ1Y3R1cmVzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmF1X2NvbnRyb2wgKiBfX2luaXQgdXZfdGFibGVfYmFzZXNfaW5pdChpbnQgYmxhZGUsIGludCBub2RlKQoreworCWludCBpOworCWludCAqaXA7CisJc3RydWN0IGJhdV9tc2dfc3RhdHVzICptc3A7CisJc3RydWN0IGJhdV9jb250cm9sICpiYXVfdGFicDsKKworCWJhdV90YWJwID0KKwkgICAga21hbGxvY19ub2RlKHNpemVvZihzdHJ1Y3QgYmF1X2NvbnRyb2wpLCBHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIWJhdV90YWJwKTsKKworCWJhdV90YWJwLT5tc2dfc3RhdHVzZXMgPQorCSAgICBrbWFsbG9jX25vZGUoc2l6ZW9mKHN0cnVjdCBiYXVfbXNnX3N0YXR1cykgKgorCQkJIERFU1RfUV9TSVpFLCBHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIWJhdV90YWJwLT5tc2dfc3RhdHVzZXMpOworCisJZm9yIChpID0gMCwgbXNwID0gYmF1X3RhYnAtPm1zZ19zdGF0dXNlczsgaSA8IERFU1RfUV9TSVpFOyBpKyssIG1zcCsrKQorCQliYXVfY3B1Yml0c19jbGVhcigmbXNwLT5zZWVuX2J5LCAoaW50KQorCQkJCSAgdXZfYmxhZGVfbnJfcG9zc2libGVfY3B1cyhibGFkZSkpOworCisJYmF1X3RhYnAtPndhdGNoaW5nID0KKwkgICAga21hbGxvY19ub2RlKHNpemVvZihpbnQpICogREVTVF9OVU1fUkVTT1VSQ0VTLCBHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIWJhdV90YWJwLT53YXRjaGluZyk7CisKKwlmb3IgKGkgPSAwLCBpcCA9IGJhdV90YWJwLT53YXRjaGluZzsgaSA8IERFU1RfUV9TSVpFOyBpKyssIGlwKyspCisJCSppcCA9IDA7CisKKwl1dl9iYXVfdGFibGVfYmFzZXNbYmxhZGVdID0gYmF1X3RhYnA7CisKKwlyZXR1cm4gYmF1X3RhYnA7Cit9CisKKy8qCisgKiBmaW5pc2ggdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBwZXItYmxhZGUgY29udHJvbCBzdHJ1Y3R1cmVzCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdAordXZfdGFibGVfYmFzZXNfZmluaXNoKGludCBibGFkZSwgaW50IG5vZGUsIGludCBjdXJfY3B1LAorCQkgICAgICBzdHJ1Y3QgYmF1X2NvbnRyb2wgKmJhdV90YWJsZXNwLAorCQkgICAgICBzdHJ1Y3QgYmF1X2Rlc2MgKmFkcCkKK3sKKwlzdHJ1Y3QgYmF1X2NvbnRyb2wgKmJjcDsKKwlpbnQgaTsKKworCWZvciAoaSA9IGN1cl9jcHU7IGkgPCBjdXJfY3B1ICsgdXZfYmxhZGVfbnJfcG9zc2libGVfY3B1cyhibGFkZSk7IGkrKykgeworCQliY3AgPSAoc3RydWN0IGJhdV9jb250cm9sICopJnBlcl9jcHUoYmF1X2NvbnRyb2wsIGkpOworCisJCWJjcC0+YmF1X21zZ19oZWFkCT0gYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2ZpcnN0OworCQliY3AtPnZhX3F1ZXVlX2ZpcnN0CT0gYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2ZpcnN0OworCQliY3AtPnZhX3F1ZXVlX2xhc3QJPSBiYXVfdGFibGVzcC0+dmFfcXVldWVfbGFzdDsKKwkJYmNwLT53YXRjaGluZwkJPSBiYXVfdGFibGVzcC0+d2F0Y2hpbmc7CisJCWJjcC0+bXNnX3N0YXR1c2VzCT0gYmF1X3RhYmxlc3AtPm1zZ19zdGF0dXNlczsKKwkJYmNwLT5kZXNjcmlwdG9yX2Jhc2UJPSBhZHA7CisJfQorfQorCisvKgorICogaW5pdGlhbGl6ZSB0aGUgc2VuZGluZyBzaWRlJ3Mgc2VuZGluZyBidWZmZXJzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmF1X2Rlc2MgKiBfX2luaXQKK3V2X2FjdGl2YXRpb25fZGVzY3JpcHRvcl9pbml0KGludCBub2RlLCBpbnQgcG5vZGUpCit7CisJaW50IGk7CisJdW5zaWduZWQgbG9uZyBwYTsKKwl1bnNpZ25lZCBsb25nIG07CisJdW5zaWduZWQgbG9uZyBuOworCXVuc2lnbmVkIGxvbmcgbW1yX2ltYWdlOworCXN0cnVjdCBiYXVfZGVzYyAqYWRwOworCXN0cnVjdCBiYXVfZGVzYyAqYWQyOworCisJYWRwID0gKHN0cnVjdCBiYXVfZGVzYyAqKQorCSAgICBrbWFsbG9jX25vZGUoMTYzODQsIEdGUF9LRVJORUwsIG5vZGUpOworCUJVR19PTighYWRwKTsKKworCXBhID0gX19wYSgodW5zaWduZWQgbG9uZylhZHApOworCW4gPSBwYSA+PiB1dl9uc2hpZnQ7CisJbSA9IHBhICYgdXZfbW1hc2s7CisKKwltbXJfaW1hZ2UgPSB1dl9yZWFkX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0UpOworCWlmIChtbXJfaW1hZ2UpIHsKKwkJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCAodW5zaWduZWQgbG9uZykKKwkJCQkgICAgICBVVkhfTEJfQkFVX1NCX0RFU0NSSVBUT1JfQkFTRSwKKwkJCQkgICAgICAobiA8PCBVVl9ERVNDX0JBU0VfUE5PREVfU0hJRlQgfCBtKSk7CisJfQorCisJZm9yIChpID0gMCwgYWQyID0gYWRwOyBpIDwgVVZfQUNUSVZBVElPTl9ERVNDUklQVE9SX1NJWkU7IGkrKywgYWQyKyspIHsKKwkJbWVtc2V0KGFkMiwgMCwgc2l6ZW9mKHN0cnVjdCBiYXVfZGVzYykpOworCQlhZDItPmhlYWRlci5zd19hY2tfZmxhZyA9IDE7CisJCWFkMi0+aGVhZGVyLmJhc2VfZGVzdF9ub2RlaWQgPQorCQkgICAgdXZfYmxhZGVfdG9fcG5vZGUodXZfY3B1X3RvX2JsYWRlX2lkKDApKTsKKwkJYWQyLT5oZWFkZXIuY29tbWFuZCA9IFVWX05FVF9FTkRQT0lOVF9JTlREOworCQlhZDItPmhlYWRlci5pbnRfYm90aCA9IDE7CisJCS8qCisJCSAqIGFsbCBvdGhlcnMgbmVlZCB0byBiZSBzZXQgdG8gemVybzoKKwkJICogICBmYWlybmVzcyBjaGFpbmluZyBtdWx0aWxldmVsIGNvdW50IHJlcGxpZWRfdG8KKwkJICovCisJfQorCXJldHVybiBhZHA7Cit9CisKKy8qCisgKiBpbml0aWFsaXplIHRoZSBkZXN0aW5hdGlvbiBzaWRlJ3MgcmVjZWl2aW5nIGJ1ZmZlcnMKKyAqLworc3RhdGljIHN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqIF9faW5pdAordXZfcGF5bG9hZF9xdWV1ZV9pbml0KGludCBub2RlLCBpbnQgcG5vZGUsIHN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYmxlc3ApCit7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICpwcXA7CisJY2hhciAqY3A7CisKKwlwcXAgPSAoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICopIGttYWxsb2Nfbm9kZSgKKwkJKERFU1RfUV9TSVpFICsgMSkgKiBzaXplb2Yoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5KSwKKwkJR0ZQX0tFUk5FTCwgbm9kZSk7CisJQlVHX09OKCFwcXApOworCisJY3AgPSAoY2hhciAqKXBxcCArIDMxOworCXBxcCA9IChzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKikoKCh1bnNpZ25lZCBsb25nKWNwID4+IDUpIDw8IDUpOworCWJhdV90YWJsZXNwLT52YV9xdWV1ZV9maXJzdCA9IHBxcDsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsCisJCQkgICAgICBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9GSVJTVCwKKwkJCSAgICAgICgodW5zaWduZWQgbG9uZylwbm9kZSA8PAorCQkJICAgICAgIFVWX1BBWUxPQURRX1BOT0RFX1NISUZUKSB8CisJCQkgICAgICB1dl9waHlzbm9kZWFkZHIocHFwKSk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9UQUlMLAorCQkJICAgICAgdXZfcGh5c25vZGVhZGRyKHBxcCkpOworCWJhdV90YWJsZXNwLT52YV9xdWV1ZV9sYXN0ID0gcHFwICsgKERFU1RfUV9TSVpFIC0gMSk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9MQVNULAorCQkJICAgICAgKHVuc2lnbmVkIGxvbmcpCisJCQkgICAgICB1dl9waHlzbm9kZWFkZHIoYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2xhc3QpKTsKKwltZW1zZXQocHFwLCAwLCBzaXplb2Yoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5KSAqIERFU1RfUV9TSVpFKTsKKworCXJldHVybiBwcXA7Cit9CisKKy8qCisgKiBJbml0aWFsaXphdGlvbiBvZiBlYWNoIFVWIGJsYWRlJ3Mgc3RydWN0dXJlcworICovCitzdGF0aWMgaW50IF9faW5pdCB1dl9pbml0X2JsYWRlKGludCBibGFkZSwgaW50IG5vZGUsIGludCBjdXJfY3B1KQoreworCWludCBwbm9kZTsKKwl1bnNpZ25lZCBsb25nIHBhOworCXVuc2lnbmVkIGxvbmcgYXBpY2lkOworCXN0cnVjdCBiYXVfZGVzYyAqYWRwOworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqcHFwOworCXN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYmxlc3A7CisKKwliYXVfdGFibGVzcCA9IHV2X3RhYmxlX2Jhc2VzX2luaXQoYmxhZGUsIG5vZGUpOworCXBub2RlID0gdXZfYmxhZGVfdG9fcG5vZGUoYmxhZGUpOworCWFkcCA9IHV2X2FjdGl2YXRpb25fZGVzY3JpcHRvcl9pbml0KG5vZGUsIHBub2RlKTsKKwlwcXAgPSB1dl9wYXlsb2FkX3F1ZXVlX2luaXQobm9kZSwgcG5vZGUsIGJhdV90YWJsZXNwKTsKKwl1dl90YWJsZV9iYXNlc19maW5pc2goYmxhZGUsIG5vZGUsIGN1cl9jcHUsIGJhdV90YWJsZXNwLCBhZHApOworCS8qCisJICogdGhlIGJlbG93IGluaXRpYWxpemF0aW9uIGNhbid0IGJlIGluIGZpcm13YXJlIGJlY2F1c2UgdGhlCisJICogbWVzc2FnaW5nIElSUSB3aWxsIGJlIGRldGVybWluZWQgYnkgdGhlIE9TCisJICovCisJYXBpY2lkID0gcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3VyX2NwdSk7CisJcGEgPSB1dl9yZWFkX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0JBVV9EQVRBX0NPTkZJRyk7CisJaWYgKChwYSAmIDB4ZmYpICE9IFVWX0JBVV9NRVNTQUdFKSB7CisJCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0JBVV9EQVRBX0NPTkZJRywKKwkJCQkgICAgICAoKGFwaWNpZCA8PCAzMikgfCBVVl9CQVVfTUVTU0FHRSkpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEluaXRpYWxpemF0aW9uIG9mIEJBVS1yZWxhdGVkIHN0cnVjdHVyZXMKKyAqLworc3RhdGljIGludCBfX2luaXQgdXZfYmF1X2luaXQodm9pZCkKK3sKKwlpbnQgYmxhZGU7CisJaW50IG5vZGU7CisJaW50IG5ibGFkZXM7CisJaW50IGxhc3RfYmxhZGU7CisJaW50IGN1cl9jcHUgPSAwOworCisJaWYgKCFpc191dl9zeXN0ZW0oKSkKKwkJcmV0dXJuIDA7CisKKwl1dl9iYXVfcmV0cnlfbGltaXQgPSAxOworCXV2X25zaGlmdCA9IHV2X2h1Yl9pbmZvLT5uX3ZhbDsKKwl1dl9tbWFzayA9ICgxVUwgPDwgdXZfaHViX2luZm8tPm5fdmFsKSAtIDE7CisJbmJsYWRlcyA9IDA7CisJbGFzdF9ibGFkZSA9IC0xOworCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpIHsKKwkJYmxhZGUgPSB1dl9ub2RlX3RvX2JsYWRlX2lkKG5vZGUpOworCQlpZiAoYmxhZGUgPT0gbGFzdF9ibGFkZSkKKwkJCWNvbnRpbnVlOworCQlsYXN0X2JsYWRlID0gYmxhZGU7CisJCW5ibGFkZXMrKzsKKwl9CisJdXZfYmF1X3RhYmxlX2Jhc2VzID0gKHN0cnVjdCBiYXVfY29udHJvbCAqKikKKwkgICAga21hbGxvYyhuYmxhZGVzICogc2l6ZW9mKHN0cnVjdCBiYXVfY29udHJvbCAqKSwgR0ZQX0tFUk5FTCk7CisJQlVHX09OKCF1dl9iYXVfdGFibGVfYmFzZXMpOworCisJbGFzdF9ibGFkZSA9IC0xOworCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpIHsKKwkJYmxhZGUgPSB1dl9ub2RlX3RvX2JsYWRlX2lkKG5vZGUpOworCQlpZiAoYmxhZGUgPT0gbGFzdF9ibGFkZSkKKwkJCWNvbnRpbnVlOworCQlsYXN0X2JsYWRlID0gYmxhZGU7CisJCXV2X2luaXRfYmxhZGUoYmxhZGUsIG5vZGUsIGN1cl9jcHUpOworCQljdXJfY3B1ICs9IHV2X2JsYWRlX25yX3Bvc3NpYmxlX2NwdXMoYmxhZGUpOworCX0KKwlzZXRfaW50cl9nYXRlKFVWX0JBVV9NRVNTQUdFLCB1dl9iYXVfbWVzc2FnZV9pbnRyMSk7CisJdXZfZW5hYmxlX3RpbWVvdXRzKCk7CisKKwlyZXR1cm4gMDsKK30KK19faW5pdGNhbGwodXZfYmF1X2luaXQpOworX19pbml0Y2FsbCh1dl9wdGNfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHJhbXBvbGluZS5jIGIvYXJjaC94ODYva2VybmVsL3RyYW1wb2xpbmUuYwppbmRleCBhYmJmMTk5Li4xMTA2ZmFjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHJhbXBvbGluZS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90cmFtcG9saW5lLmMKQEAgLTIsNyArMiw3IEBACiAKICNpbmNsdWRlIDxhc20vdHJhbXBvbGluZS5oPgogCi0vKiByZWFkeSBmb3IgeDg2XzY0LCBubyBoYXJtIGZvciB4ODYsIHNpbmNlIGl0IHdpbGwgb3ZlcndyaXRlIGFmdGVyIGFsbG9jICovCisvKiByZWFkeSBmb3IgeDg2XzY0IGFuZCB4ODYgKi8KIHVuc2lnbmVkIGNoYXIgKnRyYW1wb2xpbmVfYmFzZSA9IF9fdmEoVFJBTVBPTElORV9CQVNFKTsKIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90cmFwc18zMi5jIGIvYXJjaC94ODYva2VybmVsL3RyYXBzXzMyLmMKaW5kZXggMDhkNzUyZC4uOGE3Njg5NyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RyYXBzXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3RyYXBzXzMyLmMKQEAgLTEsNSArMSw2IEBACiAvKgogICogIENvcHlyaWdodCAoQykgMTk5MSwgMTk5MiAgTGludXMgVG9ydmFsZHMKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEsIDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzCiAgKgogICogIFBlbnRpdW0gSUlJIEZYU1IsIFNTRSBzdXBwb3J0CiAgKglHYXJldGggSHVnaGVzIDxnYXJldGhAdmFsaW51eC5jb20+LCBNYXkgMjAwMApAQCAtNjAsOCArNjEsNiBAQAogCiAjaW5jbHVkZSAibWFjaF90cmFwcy5oIgogCi1pbnQgcGFuaWNfb25fdW5yZWNvdmVyZWRfbm1pOwotCiBERUNMQVJFX0JJVE1BUCh1c2VkX3ZlY3RvcnMsIE5SX1ZFQ1RPUlMpOwogRVhQT1JUX1NZTUJPTF9HUEwodXNlZF92ZWN0b3JzKTsKIApAQCAtOTgsMTkgKzk3LDIyIEBACiBhc21saW5rYWdlIHZvaWQgc3B1cmlvdXNfaW50ZXJydXB0X2J1Zyh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBtYWNoaW5lX2NoZWNrKHZvaWQpOwogCitpbnQgcGFuaWNfb25fdW5yZWNvdmVyZWRfbm1pOwogaW50IGtzdGFja19kZXB0aF90b19wcmludCA9IDI0Owogc3RhdGljIHVuc2lnbmVkIGludCBjb2RlX2J5dGVzID0gNjQ7CitzdGF0aWMgaW50IGlnbm9yZV9ubWlzOworc3RhdGljIGludCBkaWVfY291bnRlcjsKIAogdm9pZCBwcmludGtfYWRkcmVzcyh1bnNpZ25lZCBsb25nIGFkZHJlc3MsIGludCByZWxpYWJsZSkKIHsKICNpZmRlZiBDT05GSUdfS0FMTFNZTVMKLQljaGFyIG5hbWVidWZbS1NZTV9OQU1FX0xFTl07CiAJdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwOwogCXVuc2lnbmVkIGxvbmcgc3ltc2l6ZTsKIAljb25zdCBjaGFyICpzeW1uYW1lOwotCWNoYXIgcmVsaWFiWzRdID0gIiI7Ci0JY2hhciAqZGVsaW0gPSAiOiI7CiAJY2hhciAqbW9kbmFtZTsKKwljaGFyICpkZWxpbSA9ICI6IjsKKwljaGFyIG5hbWVidWZbS1NZTV9OQU1FX0xFTl07CisJY2hhciByZWxpYWJbNF0gPSAiIjsKIAogCXN5bW5hbWUgPSBrYWxsc3ltc19sb29rdXAoYWRkcmVzcywgJnN5bXNpemUsICZvZmZzZXQsCiAJCQkJCSZtb2RuYW1lLCBuYW1lYnVmKTsKQEAgLTEzMCwyMiArMTMyLDIzIEBACiAjZW5kaWYKIH0KIAotc3RhdGljIGlubGluZSBpbnQgdmFsaWRfc3RhY2tfcHRyKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sIHZvaWQgKnAsIHVuc2lnbmVkIHNpemUpCitzdGF0aWMgaW5saW5lIGludCB2YWxpZF9zdGFja19wdHIoc3RydWN0IHRocmVhZF9pbmZvICp0aW5mbywKKwkJCXZvaWQgKnAsIHVuc2lnbmVkIGludCBzaXplKQogewotCXJldHVybglwID4gKHZvaWQgKil0aW5mbyAmJgotCQlwIDw9ICh2b2lkICopdGluZm8gKyBUSFJFQURfU0laRSAtIHNpemU7CisJdm9pZCAqdCA9IHRpbmZvOworCXJldHVybglwID4gdCAmJiBwIDw9IHQgKyBUSFJFQURfU0laRSAtIHNpemU7CiB9CiAKIC8qIFRoZSBmb3JtIG9mIHRoZSB0b3Agb2YgdGhlIGZyYW1lIG9uIHRoZSBzdGFjayAqLwogc3RydWN0IHN0YWNrX2ZyYW1lIHsKLQlzdHJ1Y3Qgc3RhY2tfZnJhbWUJKm5leHRfZnJhbWU7Ci0JdW5zaWduZWQgbG9uZwkJcmV0dXJuX2FkZHJlc3M7CisJc3RydWN0IHN0YWNrX2ZyYW1lICpuZXh0X2ZyYW1lOworCXVuc2lnbmVkIGxvbmcgcmV0dXJuX2FkZHJlc3M7CiB9OwogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcKIHByaW50X2NvbnRleHRfc3RhY2soc3RydWN0IHRocmVhZF9pbmZvICp0aW5mbywKLQkJICAgIHVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAotCQkgICAgY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEpCisJCXVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAorCQljb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgKm9wcywgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3Qgc3RhY2tfZnJhbWUgKmZyYW1lID0gKHN0cnVjdCBzdGFja19mcmFtZSAqKWJwOwogCkBAIC0xNjcsOCArMTcwLDYgQEAKIAlyZXR1cm4gYnA7CiB9CiAKLSNkZWZpbmUgTVNHKG1zZykJCW9wcy0+d2FybmluZyhkYXRhLCBtc2cpCi0KIHZvaWQgZHVtcF90cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLAogCQl1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCwKIAkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEpCkBAIC0xNzgsNyArMTc5LDYgQEAKIAogCWlmICghc3RhY2spIHsKIAkJdW5zaWduZWQgbG9uZyBkdW1teTsKLQogCQlzdGFjayA9ICZkdW1teTsKIAkJaWYgKHRhc2sgIT0gY3VycmVudCkKIAkJCXN0YWNrID0gKHVuc2lnbmVkIGxvbmcgKil0YXNrLT50aHJlYWQuc3A7CkBAIC0xOTYsNyArMTk2LDcgQEAKIAl9CiAjZW5kaWYKIAotCXdoaWxlICgxKSB7CisJZm9yICg7OykgewogCQlzdHJ1Y3QgdGhyZWFkX2luZm8gKmNvbnRleHQ7CiAKIAkJY29udGV4dCA9IChzdHJ1Y3QgdGhyZWFkX2luZm8gKikKQEAgLTI0OCwxMCArMjQ4LDEwIEBACiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgcHJpbnRfdHJhY2Vfb3BzID0gewotCS53YXJuaW5nCQk9IHByaW50X3RyYWNlX3dhcm5pbmcsCi0JLndhcm5pbmdfc3ltYm9sCQk9IHByaW50X3RyYWNlX3dhcm5pbmdfc3ltYm9sLAotCS5zdGFjawkJCT0gcHJpbnRfdHJhY2Vfc3RhY2ssCi0JLmFkZHJlc3MJCT0gcHJpbnRfdHJhY2VfYWRkcmVzcywKKwkud2FybmluZyA9IHByaW50X3RyYWNlX3dhcm5pbmcsCisJLndhcm5pbmdfc3ltYm9sID0gcHJpbnRfdHJhY2Vfd2FybmluZ19zeW1ib2wsCisJLnN0YWNrID0gcHJpbnRfdHJhY2Vfc3RhY2ssCisJLmFkZHJlc3MgPSBwcmludF90cmFjZV9hZGRyZXNzLAogfTsKIAogc3RhdGljIHZvaWQKQEAgLTM1MSwxNSArMzUxLDE0IEBACiAJCXByaW50ayhLRVJOX0VNRVJHICJDb2RlOiAiKTsKIAogCQlpcCA9ICh1OCAqKXJlZ3MtPmlwIC0gY29kZV9wcm9sb2d1ZTsKLQkJaWYgKGlwIDwgKHU4ICopUEFHRV9PRkZTRVQgfHwKLQkJCXByb2JlX2tlcm5lbF9hZGRyZXNzKGlwLCBjKSkgeworCQlpZiAoaXAgPCAodTggKilQQUdFX09GRlNFVCB8fCBwcm9iZV9rZXJuZWxfYWRkcmVzcyhpcCwgYykpIHsKIAkJCS8qIHRyeSBzdGFydGluZyBhdCBFSVAgKi8KIAkJCWlwID0gKHU4ICopcmVncy0+aXA7CiAJCQljb2RlX2xlbiA9IGNvZGVfbGVuIC0gY29kZV9wcm9sb2d1ZSArIDE7CiAJCX0KIAkJZm9yIChpID0gMDsgaSA8IGNvZGVfbGVuOyBpKyssIGlwKyspIHsKIAkJCWlmIChpcCA8ICh1OCAqKVBBR0VfT0ZGU0VUIHx8Ci0JCQkJcHJvYmVfa2VybmVsX2FkZHJlc3MoaXAsIGMpKSB7CisJCQkJCXByb2JlX2tlcm5lbF9hZGRyZXNzKGlwLCBjKSkgewogCQkJCXByaW50aygiIEJhZCBFSVAgdmFsdWUuIik7CiAJCQkJYnJlYWs7CiAJCQl9CkBAIC0zODQsOCArMzgzLDYgQEAKIAlyZXR1cm4gdWQyID09IDB4MGIwZjsKIH0KIAotc3RhdGljIGludCBkaWVfY291bnRlcjsKLQogaW50IF9fa3Byb2JlcyBfX2RpZShjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycikKIHsKIAl1bnNpZ25lZCBzaG9ydCBzczsKQEAgLTQwMiwyNiArMzk5LDIyIEBACiAJcHJpbnRrKCJERUJVR19QQUdFQUxMT0MiKTsKICNlbmRpZgogCXByaW50aygiXG4iKTsKLQogCWlmIChub3RpZnlfZGllKERJRV9PT1BTLCBzdHIsIHJlZ3MsIGVyciwKLQkJCWN1cnJlbnQtPnRocmVhZC50cmFwX25vLCBTSUdTRUdWKSAhPSBOT1RJRllfU1RPUCkgeworCQkJY3VycmVudC0+dGhyZWFkLnRyYXBfbm8sIFNJR1NFR1YpID09IE5PVElGWV9TVE9QKQorCQlyZXR1cm4gMTsKIAotCQlzaG93X3JlZ2lzdGVycyhyZWdzKTsKLQkJLyogRXhlY3V0aXZlIHN1bW1hcnkgaW4gY2FzZSB0aGUgb29wcyBzY3JvbGxlZCBhd2F5ICovCi0JCXNwID0gKHVuc2lnbmVkIGxvbmcpICgmcmVncy0+c3ApOwotCQlzYXZlc2VnbWVudChzcywgc3MpOwotCQlpZiAodXNlcl9tb2RlKHJlZ3MpKSB7Ci0JCQlzcCA9IHJlZ3MtPnNwOwotCQkJc3MgPSByZWdzLT5zcyAmIDB4ZmZmZjsKLQkJfQotCQlwcmludGsoS0VSTl9FTUVSRyAiRUlQOiBbPCUwOGx4Pl0gIiwgcmVncy0+aXApOwotCQlwcmludF9zeW1ib2woIiVzIiwgcmVncy0+aXApOwotCQlwcmludGsoIiBTUzpFU1AgJTA0eDolMDhseFxuIiwgc3MsIHNwKTsKLQotCQlyZXR1cm4gMDsKKwlzaG93X3JlZ2lzdGVycyhyZWdzKTsKKwkvKiBFeGVjdXRpdmUgc3VtbWFyeSBpbiBjYXNlIHRoZSBvb3BzIHNjcm9sbGVkIGF3YXkgKi8KKwlzcCA9ICh1bnNpZ25lZCBsb25nKSAoJnJlZ3MtPnNwKTsKKwlzYXZlc2VnbWVudChzcywgc3MpOworCWlmICh1c2VyX21vZGUocmVncykpIHsKKwkJc3AgPSByZWdzLT5zcDsKKwkJc3MgPSByZWdzLT5zcyAmIDB4ZmZmZjsKIAl9Ci0KLQlyZXR1cm4gMTsKKwlwcmludGsoS0VSTl9FTUVSRyAiRUlQOiBbPCUwOGx4Pl0gIiwgcmVncy0+aXApOworCXByaW50X3N5bWJvbCgiJXMiLCByZWdzLT5pcCk7CisJcHJpbnRrKCIgU1M6RVNQICUwNHg6JTA4bHhcbiIsIHNzLCBzcCk7CisJcmV0dXJuIDA7CiB9CiAKIC8qCkBAIC01NDYsNyArNTM5LDcgQEAKIHsJCQkJCQkJCQlcCiAJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsJCQkJCQlcCiAJaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikJXAotCQkJCQkJPT0gTk9USUZZX1NUT1ApCQlcCisJCQkJCQkJPT0gTk9USUZZX1NUT1ApCVwKIAkJcmV0dXJuOwkJCQkJCQlcCiAJZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIDAsIHJlZ3MsIGVycm9yX2NvZGUsIE5VTEwpOwkJXAogfQpAQCAtNTYyLDcgKzU1NSw3IEBACiAJaW5mby5zaV9jb2RlID0gc2ljb2RlOwkJCQkJCVwKIAlpbmZvLnNpX2FkZHIgPSAodm9pZCBfX3VzZXIgKilzaWFkZHI7CQkJCVwKIAlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCi0JCQkJCQk9PSBOT1RJRllfU1RPUCkJCVwKKwkJCQkJCQk9PSBOT1RJRllfU1RPUCkJXAogCQlyZXR1cm47CQkJCQkJCVwKIAlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgMCwgcmVncywgZXJyb3JfY29kZSwgJmluZm8pOwlcCiB9CkBAIC01NzEsNyArNTY0LDcgQEAKIHZvaWQgZG9fIyNuYW1lKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCQkJXAogewkJCQkJCQkJCVwKIAlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCi0JCQkJCQk9PSBOT1RJRllfU1RPUCkJCVwKKwkJCQkJCQk9PSBOT1RJRllfU1RPUCkJXAogCQlyZXR1cm47CQkJCQkJCVwKIAlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgMSwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7CQlcCiB9CkBAIC01ODYsMjcgKzU3OSwyOSBAQAogCWluZm8uc2lfYWRkciA9ICh2b2lkIF9fdXNlciAqKXNpYWRkcjsJCQkJXAogCXRyYWNlX2hhcmRpcnFzX2ZpeHVwKCk7CQkJCQkJXAogCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpCVwKLQkJCQkJCT09IE5PVElGWV9TVE9QKQkJXAorCQkJCQkJCT09IE5PVElGWV9TVE9QKQlcCiAJCXJldHVybjsJCQkJCQkJXAogCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCAxLCByZWdzLCBlcnJvcl9jb2RlLCAmaW5mbyk7CVwKIH0KIAotRE9fVk04Nl9FUlJPUl9JTkZPKDAsIFNJR0ZQRSwgICJkaXZpZGUgZXJyb3IiLCBkaXZpZGVfZXJyb3IsIEZQRV9JTlRESVYsIHJlZ3MtPmlwKQorRE9fVk04Nl9FUlJPUl9JTkZPKDAsIFNJR0ZQRSwgImRpdmlkZSBlcnJvciIsIGRpdmlkZV9lcnJvciwgRlBFX0lOVERJViwgcmVncy0+aXApCiAjaWZuZGVmIENPTkZJR19LUFJPQkVTCiBET19WTTg2X0VSUk9SKDMsIFNJR1RSQVAsICJpbnQzIiwgaW50MykKICNlbmRpZgogRE9fVk04Nl9FUlJPUig0LCBTSUdTRUdWLCAib3ZlcmZsb3ciLCBvdmVyZmxvdykKIERPX1ZNODZfRVJST1IoNSwgU0lHU0VHViwgImJvdW5kcyIsIGJvdW5kcykKLURPX0VSUk9SX0lORk8oNiwgU0lHSUxMLCAgImludmFsaWQgb3Bjb2RlIiwgaW52YWxpZF9vcCwgSUxMX0lMTE9QTiwgcmVncy0+aXAsIDApCi1ET19FUlJPUig5LCBTSUdGUEUsICAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQorRE9fRVJST1JfSU5GTyg2LCBTSUdJTEwsICJpbnZhbGlkIG9wY29kZSIsIGludmFsaWRfb3AsIElMTF9JTExPUE4sIHJlZ3MtPmlwLCAwKQorRE9fRVJST1IoOSwgU0lHRlBFLCAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQogRE9fRVJST1IoMTAsIFNJR1NFR1YsICJpbnZhbGlkIFRTUyIsIGludmFsaWRfVFNTKQotRE9fRVJST1IoMTEsIFNJR0JVUywgICJzZWdtZW50IG5vdCBwcmVzZW50Iiwgc2VnbWVudF9ub3RfcHJlc2VudCkKLURPX0VSUk9SKDEyLCBTSUdCVVMsICAic3RhY2sgc2VnbWVudCIsIHN0YWNrX3NlZ21lbnQpCitET19FUlJPUigxMSwgU0lHQlVTLCAic2VnbWVudCBub3QgcHJlc2VudCIsIHNlZ21lbnRfbm90X3ByZXNlbnQpCitET19FUlJPUigxMiwgU0lHQlVTLCAic3RhY2sgc2VnbWVudCIsIHN0YWNrX3NlZ21lbnQpCiBET19FUlJPUl9JTkZPKDE3LCBTSUdCVVMsICJhbGlnbm1lbnQgY2hlY2siLCBhbGlnbm1lbnRfY2hlY2ssIEJVU19BRFJBTE4sIDAsIDApCiBET19FUlJPUl9JTkZPKDMyLCBTSUdJTEwsICJpcmV0IGV4Y2VwdGlvbiIsIGlyZXRfZXJyb3IsIElMTF9CQURTVEssIDAsIDEpCiAKLXZvaWQgX19rcHJvYmVzIGRvX2dlbmVyYWxfcHJvdGVjdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQordm9pZCBfX2twcm9iZXMKK2RvX2dlbmVyYWxfcHJvdGVjdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQogeworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrOwogCXN0cnVjdCB0aHJlYWRfc3RydWN0ICp0aHJlYWQ7CiAJc3RydWN0IHRzc19zdHJ1Y3QgKnRzczsKIAlpbnQgY3B1OwpAQCAtNjQ3LDIzICs2NDIsMjQgQEAKIAlpZiAocmVncy0+ZmxhZ3MgJiBYODZfVk1fTUFTSykKIAkJZ290byBncF9pbl92bTg2OwogCisJdHNrID0gY3VycmVudDsKIAlpZiAoIXVzZXJfbW9kZShyZWdzKSkKIAkJZ290byBncF9pbl9rZXJuZWw7CiAKLQljdXJyZW50LT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7Ci0JY3VycmVudC0+dGhyZWFkLnRyYXBfbm8gPSAxMzsKKwl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKKwl0c2stPnRocmVhZC50cmFwX25vID0gMTM7CiAKLQlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKGN1cnJlbnQsIFNJR1NFR1YpICYmCi0JICAgIHByaW50a19yYXRlbGltaXQoKSkgeworCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBTSUdTRUdWKSAmJgorCQkJcHJpbnRrX3JhdGVsaW1pdCgpKSB7CiAJCXByaW50ayhLRVJOX0lORk8KLQkJICAgICIlc1slZF0gZ2VuZXJhbCBwcm90ZWN0aW9uIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKLQkJICAgIGN1cnJlbnQtPmNvbW0sIHRhc2tfcGlkX25yKGN1cnJlbnQpLAotCQkgICAgcmVncy0+aXAsIHJlZ3MtPnNwLCBlcnJvcl9jb2RlKTsKKwkJCSIlc1slZF0gZ2VuZXJhbCBwcm90ZWN0aW9uIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKKwkJCXRzay0+Y29tbSwgdGFza19waWRfbnIodHNrKSwKKwkJCXJlZ3MtPmlwLCByZWdzLT5zcCwgZXJyb3JfY29kZSk7CiAJCXByaW50X3ZtYV9hZGRyKCIgaW4gIiwgcmVncy0+aXApOwogCQlwcmludGsoIlxuIik7CiAJfQogCi0JZm9yY2Vfc2lnKFNJR1NFR1YsIGN1cnJlbnQpOworCWZvcmNlX3NpZyhTSUdTRUdWLCB0c2spOwogCXJldHVybjsKIAogZ3BfaW5fdm04NjoKQEAgLTY3MiwxNCArNjY4LDE1IEBACiAJcmV0dXJuOwogCiBncF9pbl9rZXJuZWw6Ci0JaWYgKCFmaXh1cF9leGNlcHRpb24ocmVncykpIHsKLQkJY3VycmVudC0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOwotCQljdXJyZW50LT50aHJlYWQudHJhcF9ubyA9IDEzOwotCQlpZiAobm90aWZ5X2RpZShESUVfR1BGLCAiZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0IiwgcmVncywKKwlpZiAoZml4dXBfZXhjZXB0aW9uKHJlZ3MpKQorCQlyZXR1cm47CisKKwl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKKwl0c2stPnRocmVhZC50cmFwX25vID0gMTM7CisJaWYgKG5vdGlmeV9kaWUoRElFX0dQRiwgImdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdCIsIHJlZ3MsCiAJCQkJZXJyb3JfY29kZSwgMTMsIFNJR1NFR1YpID09IE5PVElGWV9TVE9QKQotCQkJcmV0dXJuOwotCQlkaWUoImdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdCIsIHJlZ3MsIGVycm9yX2NvZGUpOwotCX0KKwkJcmV0dXJuOworCWRpZSgiZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0IiwgcmVncywgZXJyb3JfY29kZSk7CiB9CiAKIHN0YXRpYyBub3RyYWNlIF9fa3Byb2JlcyB2b2lkCkBAIC03NTYsOSArNzUzLDkgQEAKIAogc3RhdGljIERFRklORV9TUElOTE9DSyhubWlfcHJpbnRfbG9jayk7CiAKLXZvaWQgbm90cmFjZSBfX2twcm9iZXMgZGllX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncywgY29uc3QgY2hhciAqbXNnKQordm9pZCBub3RyYWNlIF9fa3Byb2JlcyBkaWVfbm1pKGNoYXIgKnN0ciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBkb19wYW5pYykKIHsKLQlpZiAobm90aWZ5X2RpZShESUVfTk1JV0FUQ0hET0csIG1zZywgcmVncywgMCwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKKwlpZiAobm90aWZ5X2RpZShESUVfTk1JV0FUQ0hET0csIHN0ciwgcmVncywgMCwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKIAkJcmV0dXJuOwogCiAJc3Bpbl9sb2NrKCZubWlfcHJpbnRfbG9jayk7CkBAIC03NjcsMTAgKzc2NCwxMiBAQAogCSogdG8gZ2V0IGEgbWVzc2FnZSBvdXQ6CiAJKi8KIAlidXN0X3NwaW5sb2NrcygxKTsKLQlwcmludGsoS0VSTl9FTUVSRyAiJXMiLCBtc2cpOworCXByaW50ayhLRVJOX0VNRVJHICIlcyIsIHN0cik7CiAJcHJpbnRrKCIgb24gQ1BVJWQsIGlwICUwOGx4LCByZWdpc3RlcnM6XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIHJlZ3MtPmlwKTsKIAlzaG93X3JlZ2lzdGVycyhyZWdzKTsKKwlpZiAoZG9fcGFuaWMpCisJCXBhbmljKCJOb24gbWFza2FibGUgaW50ZXJydXB0Iik7CiAJY29uc29sZV9zaWxlbnQoKTsKIAlzcGluX3VubG9jaygmbm1pX3ByaW50X2xvY2spOwogCWJ1c3Rfc3BpbmxvY2tzKDApOwpAQCAtNzkwLDE0ICs3ODksMTcgQEAKIHN0YXRpYyBub3RyYWNlIF9fa3Byb2JlcyB2b2lkIGRlZmF1bHRfZG9fbm1pKHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXVuc2lnbmVkIGNoYXIgcmVhc29uID0gMDsKKwlpbnQgY3B1OwogCi0JLyogT25seSB0aGUgQlNQIGdldHMgZXh0ZXJuYWwgTk1JcyBmcm9tIHRoZSBzeXN0ZW06ICovCi0JaWYgKCFzbXBfcHJvY2Vzc29yX2lkKCkpCisJY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJLyogT25seSB0aGUgQlNQIGdldHMgZXh0ZXJuYWwgTk1JcyBmcm9tIHRoZSBzeXN0ZW0uICovCisJaWYgKCFjcHUpCiAJCXJlYXNvbiA9IGdldF9ubWlfcmVhc29uKCk7CiAKIAlpZiAoIShyZWFzb24gJiAweGMwKSkgewogCQlpZiAobm90aWZ5X2RpZShESUVfTk1JX0lQSSwgIm5taV9pcGkiLCByZWdzLCByZWFzb24sIDIsIFNJR0lOVCkKLQkJCQkJCQk9PSBOT1RJRllfU1RPUCkKKwkJCQkJCQkJPT0gTk9USUZZX1NUT1ApCiAJCQlyZXR1cm47CiAjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJCS8qCkBAIC04MDYsNyArODA4LDcgQEAKIAkJICovCiAJCWlmIChubWlfd2F0Y2hkb2dfdGljayhyZWdzLCByZWFzb24pKQogCQkJcmV0dXJuOwotCQlpZiAoIWRvX25taV9jYWxsYmFjayhyZWdzLCBzbXBfcHJvY2Vzc29yX2lkKCkpKQorCQlpZiAoIWRvX25taV9jYWxsYmFjayhyZWdzLCBjcHUpKQogCQkJdW5rbm93bl9ubWlfZXJyb3IocmVhc29uLCByZWdzKTsKICNlbHNlCiAJCXVua25vd25fbm1pX2Vycm9yKHJlYXNvbiwgcmVncyk7CkBAIC04MTYsNiArODE4LDggQEAKIAl9CiAJaWYgKG5vdGlmeV9kaWUoRElFX05NSSwgIm5taSIsIHJlZ3MsIHJlYXNvbiwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKIAkJcmV0dXJuOworCisJLyogQUs6IGZvbGxvd2luZyBjaGVja3Mgc2VlbSB0byBiZSBicm9rZW4gb24gbW9kZXJuIGNoaXBzZXRzLiBGSVhNRSAqLwogCWlmIChyZWFzb24gJiAweDgwKQogCQltZW1fcGFyaXR5X2Vycm9yKHJlYXNvbiwgcmVncyk7CiAJaWYgKHJlYXNvbiAmIDB4NDApCkBAIC04MjcsOCArODMxLDYgQEAKIAlyZWFzc2VydF9ubWkoKTsKIH0KIAotc3RhdGljIGludCBpZ25vcmVfbm1pczsKLQogbm90cmFjZSBfX2twcm9iZXMgdm9pZCBkb19ubWkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsKIAlpbnQgY3B1OwpAQCAtOTEzLDcgKzkxNSw3IEBACiAJdHNrLT50aHJlYWQuZGVidWdjdGxtc3IgPSAwOwogCiAJaWYgKG5vdGlmeV9kaWUoRElFX0RFQlVHLCAiZGVidWciLCByZWdzLCBjb25kaXRpb24sIGVycm9yX2NvZGUsCi0JCQkJCVNJR1RSQVApID09IE5PVElGWV9TVE9QKQorCQkJCQkJU0lHVFJBUCkgPT0gTk9USUZZX1NUT1ApCiAJCXJldHVybjsKIAkvKiBJdCdzIHNhZmUgdG8gYWxsb3cgaXJxJ3MgYWZ0ZXIgRFI2IGhhcyBiZWVuIHNhdmVkICovCiAJaWYgKHJlZ3MtPmZsYWdzICYgWDg2X0VGTEFHU19JRikKQEAgLTk3NCw5ICs5NzYsOCBAQAogdm9pZCBtYXRoX2Vycm9yKHZvaWQgX191c2VyICppcCkKIHsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7Ci0JdW5zaWduZWQgc2hvcnQgY3dkOwotCXVuc2lnbmVkIHNob3J0IHN3ZDsKIAlzaWdpbmZvX3QgaW5mbzsKKwl1bnNpZ25lZCBzaG9ydCBjd2QsIHN3ZDsKIAogCS8qCiAJICogU2F2ZSB0aGUgaW5mbyBmb3IgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyIGFuZCBjbGVhciB0aGUgZXJyb3IuCkBAIC05OTUsNyArOTk2LDcgQEAKIAkgKiBDMSByZWcgeW91IG5lZWQgaW4gY2FzZSBvZiBhIHN0YWNrIGZhdWx0LCAweDA0MCBpcyB0aGUgc3RhY2sKIAkgKiBmYXVsdCBiaXQuICBXZSBzaG91bGQgb25seSBiZSB0YWtpbmcgb25lIGV4Y2VwdGlvbiBhdCBhIHRpbWUsCiAJICogc28gaWYgdGhpcyBjb21iaW5hdGlvbiBkb2Vzbid0IHByb2R1Y2UgYW55IHNpbmdsZSBleGNlcHRpb24sCi0JICogdGhlbiB3ZSBoYXZlIGEgYmFkIHByb2dyYW0gdGhhdCBpc24ndCBzeW5jcm9uaXppbmcgaXRzIEZQVSB1c2FnZQorCSAqIHRoZW4gd2UgaGF2ZSBhIGJhZCBwcm9ncmFtIHRoYXQgaXNuJ3Qgc3luY2hyb25pemluZyBpdHMgRlBVIHVzYWdlCiAJICogYW5kIGl0IHdpbGwgc3VmZmVyIHRoZSBjb25zZXF1ZW5jZXMgc2luY2Ugd2Ugd29uJ3QgYmUgYWJsZSB0bwogCSAqIGZ1bGx5IHJlcHJvZHVjZSB0aGUgY29udGV4dCBvZiB0aGUgZXhjZXB0aW9uCiAJICovCkBAIC0xMDA0LDcgKzEwMDUsNyBAQAogCXN3aXRjaCAoc3dkICYgfmN3ZCAmIDB4M2YpIHsKIAljYXNlIDB4MDAwOiAvKiBObyB1bm1hc2tlZCBleGNlcHRpb24gKi8KIAkJcmV0dXJuOwotCWRlZmF1bHQ6ICAgIC8qIE11bHRpcGxlIGV4Y2VwdGlvbnMgKi8KKwlkZWZhdWx0OiAvKiBNdWx0aXBsZSBleGNlcHRpb25zICovCiAJCWJyZWFrOwogCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KIAkJLyoKQEAgLTEwNDAsOCArMTA0MSw4IEBACiBzdGF0aWMgdm9pZCBzaW1kX21hdGhfZXJyb3Iodm9pZCBfX3VzZXIgKmlwKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKLQl1bnNpZ25lZCBzaG9ydCBteGNzcjsKIAlzaWdpbmZvX3QgaW5mbzsKKwl1bnNpZ25lZCBzaG9ydCBteGNzcjsKIAogCS8qCiAJICogU2F2ZSB0aGUgaW5mbyBmb3IgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyIGFuZCBjbGVhciB0aGUgZXJyb3IuCkBAIC0xMTE3LDcgKzExMTgsNyBAQAogCiB1bnNpZ25lZCBsb25nIHBhdGNoX2VzcGZpeF9kZXNjKHVuc2lnbmVkIGxvbmcgdWVzcCwgdW5zaWduZWQgbG9uZyBrZXNwKQogewotCXN0cnVjdCBkZXNjX3N0cnVjdCAqZ2R0ID0gX19nZXRfY3B1X3ZhcihnZHRfcGFnZSkuZ2R0OworCXN0cnVjdCBkZXNjX3N0cnVjdCAqZ2R0ID0gZ2V0X2NwdV9nZHRfdGFibGUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAl1bnNpZ25lZCBsb25nIGJhc2UgPSAoa2VzcCAtIHVlc3ApICYgLVRIUkVBRF9TSVpFOwogCXVuc2lnbmVkIGxvbmcgbmV3X2tlc3AgPSBrZXNwIC0gYmFzZTsKIAl1bnNpZ25lZCBsb25nIGxpbV9wYWdlcyA9IChuZXdfa2VzcCB8IChUSFJFQURfU0laRSAtIDEpKSA+PiBQQUdFX1NISUZUOwpAQCAtMTE5NiwxOSArMTE5NywxNiBAQAogCWVhcmx5X2lvdW5tYXAocCwgNCk7CiAjZW5kaWYKIAotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWluaXRfYXBpY19tYXBwaW5ncygpOwotI2VuZGlmCi0Jc2V0X3RyYXBfZ2F0ZSgwLCAgJmRpdmlkZV9lcnJvcik7Ci0Jc2V0X2ludHJfZ2F0ZSgxLCAgJmRlYnVnKTsKLQlzZXRfaW50cl9nYXRlKDIsICAmbm1pKTsKLQlzZXRfc3lzdGVtX2ludHJfZ2F0ZSgzLCAmaW50Myk7IC8qIGludDMvNCBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCi0Jc2V0X3N5c3RlbV9nYXRlKDQsICZvdmVyZmxvdyk7Ci0Jc2V0X3RyYXBfZ2F0ZSg1LCAgJmJvdW5kcyk7Ci0Jc2V0X3RyYXBfZ2F0ZSg2LCAgJmludmFsaWRfb3ApOwotCXNldF90cmFwX2dhdGUoNywgICZkZXZpY2Vfbm90X2F2YWlsYWJsZSk7Ci0Jc2V0X3Rhc2tfZ2F0ZSg4LCAgR0RUX0VOVFJZX0RPVUJMRUZBVUxUX1RTUyk7Ci0Jc2V0X3RyYXBfZ2F0ZSg5LCAgJmNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bik7CisJc2V0X3RyYXBfZ2F0ZSgwLCAmZGl2aWRlX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlKDEsICZkZWJ1Zyk7CisJc2V0X2ludHJfZ2F0ZSgyLCAmbm1pKTsKKwlzZXRfc3lzdGVtX2ludHJfZ2F0ZSgzLCAmaW50Myk7IC8qIGludDMgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLworCXNldF9zeXN0ZW1fZ2F0ZSg0LCAmb3ZlcmZsb3cpOyAvKiBpbnQ0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KKwlzZXRfdHJhcF9nYXRlKDUsICZib3VuZHMpOworCXNldF90cmFwX2dhdGUoNiwgJmludmFsaWRfb3ApOworCXNldF90cmFwX2dhdGUoNywgJmRldmljZV9ub3RfYXZhaWxhYmxlKTsKKwlzZXRfdGFza19nYXRlKDgsIEdEVF9FTlRSWV9ET1VCTEVGQVVMVF9UU1MpOworCXNldF90cmFwX2dhdGUoOSwgJmNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bik7CiAJc2V0X3RyYXBfZ2F0ZSgxMCwgJmludmFsaWRfVFNTKTsKIAlzZXRfdHJhcF9nYXRlKDExLCAmc2VnbWVudF9ub3RfcHJlc2VudCk7CiAJc2V0X3RyYXBfZ2F0ZSgxMiwgJnN0YWNrX3NlZ21lbnQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RyYXBzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfNjQuYwppbmRleCBhZGZmNzZlLi4yNjk2YTY4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfNjQuYwpAQCAtMTAsNDkgKzEwLDQ5IEBACiAgKiAnVHJhcHMuYycgaGFuZGxlcyBoYXJkd2FyZSB0cmFwcyBhbmQgZmF1bHRzIGFmdGVyIHdlIGhhdmUgc2F2ZWQgc29tZQogICogc3RhdGUgaW4gJ2VudHJ5LlMnLgogICovCi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgotI2luY2x1ZGUgPGxpbnV4L25taS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgotI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+Ci0jaW5jbHVkZSA8bGludXgvdW53aW5kLmg+CiAjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGxpbnV4L2J1Zy5oPgotI2luY2x1ZGUgPGxpbnV4L2tkZWJ1Zy5oPgogI2luY2x1ZGUgPGxpbnV4L3V0c25hbWUuaD4KLQotI2luY2x1ZGUgPG1hY2hfdHJhcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9rZGVidWcuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC91bndpbmQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2J1Zy5oPgorI2luY2x1ZGUgPGxpbnV4L25taS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAKICNpZiBkZWZpbmVkKENPTkZJR19FREFDKQogI2luY2x1ZGUgPGxpbnV4L2VkYWMuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vc3RhY2t0cmFjZS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vZGVidWdyZWcuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgorI2luY2x1ZGUgPGFzbS91bndpbmQuaD4KICNpbmNsdWRlIDxhc20vZGVzYy5oPgogI2luY2x1ZGUgPGFzbS9pMzg3Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGFzbS91bndpbmQuaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KLSNpbmNsdWRlIDxhc20vcGRhLmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+CiAjaW5jbHVkZSA8YXNtL25taS5oPgotI2luY2x1ZGUgPGFzbS9zdGFja3RyYWNlLmg+CisjaW5jbHVkZSA8YXNtL3NtcC5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CisjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CisjaW5jbHVkZSA8YXNtL3BkYS5oPgorCisjaW5jbHVkZSA8bWFjaF90cmFwcy5oPgogCiBhc21saW5rYWdlIHZvaWQgZGl2aWRlX2Vycm9yKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIGRlYnVnKHZvaWQpOwpAQCAtNzEsMTIgKzcxLDE1IEBACiBhc21saW5rYWdlIHZvaWQgcGFnZV9mYXVsdCh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBjb3Byb2Nlc3Nvcl9lcnJvcih2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBzaW1kX2NvcHJvY2Vzc29yX2Vycm9yKHZvaWQpOwotYXNtbGlua2FnZSB2b2lkIHJlc2VydmVkKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIGFsaWdubWVudF9jaGVjayh2b2lkKTsKLWFzbWxpbmthZ2Ugdm9pZCBtYWNoaW5lX2NoZWNrKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIHNwdXJpb3VzX2ludGVycnVwdF9idWcodm9pZCk7Cithc21saW5rYWdlIHZvaWQgbWFjaGluZV9jaGVjayh2b2lkKTsKIAoraW50IHBhbmljX29uX3VucmVjb3ZlcmVkX25taTsKK2ludCBrc3RhY2tfZGVwdGhfdG9fcHJpbnQgPSAxMjsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgY29kZV9ieXRlcyA9IDY0Oworc3RhdGljIGludCBpZ25vcmVfbm1pczsKK3N0YXRpYyBpbnQgZGllX2NvdW50ZXI7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBjb25kaXRpb25hbF9zdGkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CkBAIC0xMDAsMzQgKzEwMyw5IEBACiAJZGVjX3ByZWVtcHRfY291bnQoKTsKIH0KIAotaW50IGtzdGFja19kZXB0aF90b19wcmludCA9IDEyOwotCiB2b2lkIHByaW50a19hZGRyZXNzKHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgaW50IHJlbGlhYmxlKQogewotI2lmZGVmIENPTkZJR19LQUxMU1lNUwotCXVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCwgc3ltc2l6ZTsKLQljb25zdCBjaGFyICpzeW1uYW1lOwotCWNoYXIgKm1vZG5hbWU7Ci0JY2hhciAqZGVsaW0gPSAiOiI7Ci0JY2hhciBuYW1lYnVmW0tTWU1fTkFNRV9MRU5dOwotCWNoYXIgcmVsaWFiWzRdID0gIiI7Ci0KLQlzeW1uYW1lID0ga2FsbHN5bXNfbG9va3VwKGFkZHJlc3MsICZzeW1zaXplLCAmb2Zmc2V0LAotCQkJCQkmbW9kbmFtZSwgbmFtZWJ1Zik7Ci0JaWYgKCFzeW1uYW1lKSB7Ci0JCXByaW50aygiIFs8JTAxNmx4Pl1cbiIsIGFkZHJlc3MpOwotCQlyZXR1cm47Ci0JfQotCWlmICghcmVsaWFibGUpCi0JCXN0cmNweShyZWxpYWIsICI/ICIpOwotCi0JaWYgKCFtb2RuYW1lKQotCQltb2RuYW1lID0gZGVsaW0gPSAiIjsKLQlwcmludGsoIiBbPCUwMTZseD5dICVzJXMlcyVzJXMrMHglbHgvMHglbHhcbiIsCi0JCWFkZHJlc3MsIHJlbGlhYiwgZGVsaW0sIG1vZG5hbWUsIGRlbGltLCBzeW1uYW1lLCBvZmZzZXQsIHN5bXNpemUpOwotI2Vsc2UKLQlwcmludGsoIiBbPCUwMTZseD5dXG4iLCBhZGRyZXNzKTsKLSNlbmRpZgorCXByaW50aygiIFs8JTAxNmx4Pl0gJXMlcFNcbiIsIGFkZHJlc3MsIHJlbGlhYmxlID8gIiI6ICI/ICIsICh2b2lkICopIGFkZHJlc3MpOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyAqaW5fZXhjZXB0aW9uX3N0YWNrKHVuc2lnbmVkIGNwdSwgdW5zaWduZWQgbG9uZyBzdGFjaywKQEAgLTIwNCw4ICsxODIsNiBAQAogCXJldHVybiBOVUxMOwogfQogCi0jZGVmaW5lIE1TRyh0eHQpIG9wcy0+d2FybmluZyhkYXRhLCB0eHQpCi0KIC8qCiAgKiB4ODYtNjQgY2FuIGhhdmUgdXAgdG8gdGhyZWUga2VybmVsIHN0YWNrczogCiAgKiBwcm9jZXNzIHN0YWNrCkBAIC0yMzIsMTEgKzIwOCwxMSBAQAogCXVuc2lnbmVkIGxvbmcgcmV0dXJuX2FkZHJlc3M7CiB9OwogCi0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBwcmludF9jb250ZXh0X3N0YWNrKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sCi0JCQkJdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnAsCi0JCQkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEsCi0JCQkJdW5zaWduZWQgbG9uZyAqZW5kKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nCitwcmludF9jb250ZXh0X3N0YWNrKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sCisJCXVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAorCQljb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgKm9wcywgdm9pZCAqZGF0YSwKKwkJdW5zaWduZWQgbG9uZyAqZW5kKQogewogCXN0cnVjdCBzdGFja19mcmFtZSAqZnJhbWUgPSAoc3RydWN0IHN0YWNrX2ZyYW1lICopYnA7CiAKQEAgLTI1OCw3ICsyMzQsNyBAQAogCXJldHVybiBicDsKIH0KIAotdm9pZCBkdW1wX3RyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKK3ZvaWQgZHVtcF90cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLAogCQl1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCwKIAkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEpCiB7CkBAIC0yNjcsMzYgKzI0MywzNCBAQAogCXVuc2lnbmVkIHVzZWQgPSAwOwogCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm87CiAKLQlpZiAoIXRzaykKLQkJdHNrID0gY3VycmVudDsKLQl0aW5mbyA9IHRhc2tfdGhyZWFkX2luZm8odHNrKTsKKwlpZiAoIXRhc2spCisJCXRhc2sgPSBjdXJyZW50OwogCiAJaWYgKCFzdGFjaykgewogCQl1bnNpZ25lZCBsb25nIGR1bW15OwogCQlzdGFjayA9ICZkdW1teTsKLQkJaWYgKHRzayAmJiB0c2sgIT0gY3VycmVudCkKLQkJCXN0YWNrID0gKHVuc2lnbmVkIGxvbmcgKil0c2stPnRocmVhZC5zcDsKKwkJaWYgKHRhc2sgJiYgdGFzayAhPSBjdXJyZW50KQorCQkJc3RhY2sgPSAodW5zaWduZWQgbG9uZyAqKXRhc2stPnRocmVhZC5zcDsKIAl9CiAKICNpZmRlZiBDT05GSUdfRlJBTUVfUE9JTlRFUgogCWlmICghYnApIHsKLQkJaWYgKHRzayA9PSBjdXJyZW50KSB7CisJCWlmICh0YXNrID09IGN1cnJlbnQpIHsKIAkJCS8qIEdyYWIgYnAgcmlnaHQgZnJvbSBvdXIgcmVncyAqLwotCQkJYXNtKCJtb3ZxICUlcmJwLCAlMCIgOiAiPXIiIChicCk6KTsKKwkJCWFzbSgibW92cSAlJXJicCwgJTAiIDogIj1yIiAoYnApIDopOwogCQl9IGVsc2UgewogCQkJLyogYnAgaXMgdGhlIGxhc3QgcmVnIHB1c2hlZCBieSBzd2l0Y2hfdG8gKi8KLQkJCWJwID0gKih1bnNpZ25lZCBsb25nICopIHRzay0+dGhyZWFkLnNwOworCQkJYnAgPSAqKHVuc2lnbmVkIGxvbmcgKikgdGFzay0+dGhyZWFkLnNwOwogCQl9CiAJfQogI2VuZGlmCiAKLQotCiAJLyoKIAkgKiBQcmludCBmdW5jdGlvbiBjYWxsIGVudHJpZXMgaW4gYWxsIHN0YWNrcywgc3RhcnRpbmcgYXQgdGhlCiAJICogY3VycmVudCBzdGFjayBhZGRyZXNzLiBJZiB0aGUgc3RhY2tzIGNvbnNpc3Qgb2YgbmVzdGVkCiAJICogZXhjZXB0aW9ucwogCSAqLworCXRpbmZvID0gdGFza190aHJlYWRfaW5mbyh0YXNrKTsKIAlmb3IgKDs7KSB7CiAJCWNoYXIgKmlkOwogCQl1bnNpZ25lZCBsb25nICplc3RhY2tfZW5kOwpAQCAtMzgxLDE4ICszNTUsMTcgQEAKIAkuYWRkcmVzcyA9IHByaW50X3RyYWNlX2FkZHJlc3MsCiB9OwogCi12b2lkCi1zaG93X3RyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyAqc3RhY2ssCi0JCXVuc2lnbmVkIGxvbmcgYnApCit2b2lkIHNob3dfdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKKwkJdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnApCiB7CiAJcHJpbnRrKCJcbkNhbGwgVHJhY2U6XG4iKTsKLQlkdW1wX3RyYWNlKHRzaywgcmVncywgc3RhY2ssIGJwLCAmcHJpbnRfdHJhY2Vfb3BzLCBOVUxMKTsKKwlkdW1wX3RyYWNlKHRhc2ssIHJlZ3MsIHN0YWNrLCBicCwgJnByaW50X3RyYWNlX29wcywgTlVMTCk7CiAJcHJpbnRrKCJcbiIpOwogfQogCiBzdGF0aWMgdm9pZAotX3Nob3dfc3RhY2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nICpzcCwKLQkJCQkJCQl1bnNpZ25lZCBsb25nIGJwKQorX3Nob3dfc3RhY2soc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKKwkJdW5zaWduZWQgbG9uZyAqc3AsIHVuc2lnbmVkIGxvbmcgYnApCiB7CiAJdW5zaWduZWQgbG9uZyAqc3RhY2s7CiAJaW50IGk7CkBAIC00MDQsMTQgKzM3NywxNCBAQAogCS8vIGJhY2sgdHJhY2UgZm9yIHRoaXMgY3B1LgogCiAJaWYgKHNwID09IE5VTEwpIHsKLQkJaWYgKHRzaykKLQkJCXNwID0gKHVuc2lnbmVkIGxvbmcgKil0c2stPnRocmVhZC5zcDsKKwkJaWYgKHRhc2spCisJCQlzcCA9ICh1bnNpZ25lZCBsb25nICopdGFzay0+dGhyZWFkLnNwOwogCQllbHNlCiAJCQlzcCA9ICh1bnNpZ25lZCBsb25nICopJnNwOwogCX0KIAogCXN0YWNrID0gc3A7Ci0JZm9yKGk9MDsgaSA8IGtzdGFja19kZXB0aF90b19wcmludDsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGtzdGFja19kZXB0aF90b19wcmludDsgaSsrKSB7CiAJCWlmIChzdGFjayA+PSBpcnFzdGFjayAmJiBzdGFjayA8PSBpcnFzdGFja19lbmQpIHsKIAkJCWlmIChzdGFjayA9PSBpcnFzdGFja19lbmQpIHsKIAkJCQlzdGFjayA9ICh1bnNpZ25lZCBsb25nICopIChpcnFzdGFja19lbmRbLTFdKTsKQEAgLTQyNiwxMiArMzk5LDEyIEBACiAJCXByaW50aygiICUwMTZseCIsICpzdGFjaysrKTsKIAkJdG91Y2hfbm1pX3dhdGNoZG9nKCk7CiAJfQotCXNob3dfdHJhY2UodHNrLCByZWdzLCBzcCwgYnApOworCXNob3dfdHJhY2UodGFzaywgcmVncywgc3AsIGJwKTsKIH0KIAotdm9pZCBzaG93X3N0YWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCB1bnNpZ25lZCBsb25nICogc3ApCit2b2lkIHNob3dfc3RhY2soc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBsb25nICpzcCkKIHsKLQlfc2hvd19zdGFjayh0c2ssIE5VTEwsIHNwLCAwKTsKKwlfc2hvd19zdGFjayh0YXNrLCBOVUxMLCBzcCwgMCk7CiB9CiAKIC8qCkBAIC00MzksOCArNDEyLDggQEAKICAqLwogdm9pZCBkdW1wX3N0YWNrKHZvaWQpCiB7Ci0JdW5zaWduZWQgbG9uZyBkdW1teTsKIAl1bnNpZ25lZCBsb25nIGJwID0gMDsKKwl1bnNpZ25lZCBsb25nIHN0YWNrOwogCiAjaWZkZWYgQ09ORklHX0ZSQU1FX1BPSU5URVIKIAlpZiAoIWJwKQpAQCAtNDUyLDcgKzQyNSw3IEBACiAJCWluaXRfdXRzbmFtZSgpLT5yZWxlYXNlLAogCQkoaW50KXN0cmNzcG4oaW5pdF91dHNuYW1lKCktPnZlcnNpb24sICIgIiksCiAJCWluaXRfdXRzbmFtZSgpLT52ZXJzaW9uKTsKLQlzaG93X3RyYWNlKE5VTEwsIE5VTEwsICZkdW1teSwgYnApOworCXNob3dfdHJhY2UoTlVMTCwgTlVMTCwgJnN0YWNrLCBicCk7CiB9CiAKIEVYUE9SVF9TWU1CT0woZHVtcF9zdGFjayk7CkBAIC00NjMsMTIgKzQzNiw4IEBACiAJdW5zaWduZWQgbG9uZyBzcDsKIAljb25zdCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyID0gY3B1X3BkYShjcHUpLT5wY3VycmVudDsKLQl1OCAqaXA7Ci0JdW5zaWduZWQgaW50IGNvZGVfcHJvbG9ndWUgPSBjb2RlX2J5dGVzICogNDMgLyA2NDsKLQl1bnNpZ25lZCBpbnQgY29kZV9sZW4gPSBjb2RlX2J5dGVzOwogCiAJc3AgPSByZWdzLT5zcDsKLQlpcCA9ICh1OCAqKSByZWdzLT5pcCAtIGNvZGVfcHJvbG9ndWU7CiAJcHJpbnRrKCJDUFUgJWQgIiwgY3B1KTsKIAlfX3Nob3dfcmVncyhyZWdzKTsKIAlwcmludGsoIlByb2Nlc3MgJXMgKHBpZDogJWQsIHRocmVhZGluZm8gJXAsIHRhc2sgJXApXG4iLApAQCAtNDc5LDE1ICs0NDgsMjEgQEAKIAkgKiB0aW1lIG9mIHRoZSBmYXVsdC4uCiAJICovCiAJaWYgKCF1c2VyX21vZGUocmVncykpIHsKKwkJdW5zaWduZWQgaW50IGNvZGVfcHJvbG9ndWUgPSBjb2RlX2J5dGVzICogNDMgLyA2NDsKKwkJdW5zaWduZWQgaW50IGNvZGVfbGVuID0gY29kZV9ieXRlczsKIAkJdW5zaWduZWQgY2hhciBjOworCQl1OCAqaXA7CisKIAkJcHJpbnRrKCJTdGFjazogIik7CiAJCV9zaG93X3N0YWNrKE5VTEwsIHJlZ3MsICh1bnNpZ25lZCBsb25nICopc3AsIHJlZ3MtPmJwKTsKIAkJcHJpbnRrKCJcbiIpOwogCiAJCXByaW50ayhLRVJOX0VNRVJHICJDb2RlOiAiKTsKKworCQlpcCA9ICh1OCAqKXJlZ3MtPmlwIC0gY29kZV9wcm9sb2d1ZTsKIAkJaWYgKGlwIDwgKHU4ICopUEFHRV9PRkZTRVQgfHwgcHJvYmVfa2VybmVsX2FkZHJlc3MoaXAsIGMpKSB7CiAJCQkvKiB0cnkgc3RhcnRpbmcgYXQgUklQICovCi0JCQlpcCA9ICh1OCAqKSByZWdzLT5pcDsKKwkJCWlwID0gKHU4ICopcmVncy0+aXA7CiAJCQljb2RlX2xlbiA9IGNvZGVfbGVuIC0gY29kZV9wcm9sb2d1ZSArIDE7CiAJCX0KIAkJZm9yIChpID0gMDsgaSA8IGNvZGVfbGVuOyBpKyssIGlwKyspIHsKQEAgLTUwMyw3ICs0NzgsNyBAQAogCQl9CiAJfQogCXByaW50aygiXG4iKTsKLX0JCit9CiAKIGludCBpc192YWxpZF9idWdhZGRyKHVuc2lnbmVkIGxvbmcgaXApCiB7CkBAIC01NjEsMTAgKzUzNiw5IEBACiAJZG9fZXhpdChzaWducik7CiB9CiAKLWludCBfX2twcm9iZXMgX19kaWUoY29uc3QgY2hhciAqIHN0ciwgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycikKK2ludCBfX2twcm9iZXMgX19kaWUoY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnIpCiB7Ci0Jc3RhdGljIGludCBkaWVfY291bnRlcjsKLQlwcmludGsoS0VSTl9FTUVSRyAiJXM6ICUwNGx4IFsldV0gIiwgc3RyLCBlcnIgJiAweGZmZmYsKytkaWVfY291bnRlcik7CisJcHJpbnRrKEtFUk5fRU1FUkcgIiVzOiAlMDRseCBbJXVdICIsIHN0ciwgZXJyICYgMHhmZmZmLCArK2RpZV9jb3VudGVyKTsKICNpZmRlZiBDT05GSUdfUFJFRU1QVAogCXByaW50aygiUFJFRU1QVCAiKTsKICNlbmRpZgpAQCAtNTc1LDggKzU0OSwxMCBAQAogCXByaW50aygiREVCVUdfUEFHRUFMTE9DIik7CiAjZW5kaWYKIAlwcmludGsoIlxuIik7Ci0JaWYgKG5vdGlmeV9kaWUoRElFX09PUFMsIHN0ciwgcmVncywgZXJyLCBjdXJyZW50LT50aHJlYWQudHJhcF9ubywgU0lHU0VHVikgPT0gTk9USUZZX1NUT1ApCisJaWYgKG5vdGlmeV9kaWUoRElFX09PUFMsIHN0ciwgcmVncywgZXJyLAorCQkJY3VycmVudC0+dGhyZWFkLnRyYXBfbm8sIFNJR1NFR1YpID09IE5PVElGWV9TVE9QKQogCQlyZXR1cm4gMTsKKwogCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOwogCWFkZF90YWludChUQUlOVF9ESUUpOwogCS8qIEV4ZWN1dGl2ZSBzdW1tYXJ5IGluIGNhc2UgdGhlIG9vcHMgc2Nyb2xsZWQgYXdheSAqLwpAQCAtNTg4LDcgKzU2NCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgZGllKGNvbnN0IGNoYXIgKiBzdHIsIHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnIpCit2b2lkIGRpZShjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycikKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzID0gb29wc19iZWdpbigpOwogCkBAIC02MDUsOCArNTgxLDcgQEAKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JaWYgKG5vdGlmeV9kaWUoRElFX05NSVdBVENIRE9HLCBzdHIsIHJlZ3MsIDAsIDIsIFNJR0lOVCkgPT0KLQkgICAgTk9USUZZX1NUT1ApCisJaWYgKG5vdGlmeV9kaWUoRElFX05NSVdBVENIRE9HLCBzdHIsIHJlZ3MsIDAsIDIsIFNJR0lOVCkgPT0gTk9USUZZX1NUT1ApCiAJCXJldHVybjsKIAogCWZsYWdzID0gb29wc19iZWdpbigpOwpAQCAtNjE0LDcgKzU4OSw5IEBACiAJICogV2UgYXJlIGluIHRyb3VibGUgYW55d2F5LCBsZXRzIGF0IGxlYXN0IHRyeQogCSAqIHRvIGdldCBhIG1lc3NhZ2Ugb3V0LgogCSAqLwotCXByaW50ayhzdHIsIHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJcHJpbnRrKEtFUk5fRU1FUkcgIiVzIiwgc3RyKTsKKwlwcmludGsoIiBvbiBDUFUlZCwgaXAgJTA4bHgsIHJlZ2lzdGVyczpcbiIsCisJCXNtcF9wcm9jZXNzb3JfaWQoKSwgcmVncy0+aXApOwogCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOwogCWlmIChrZXhlY19zaG91bGRfY3Jhc2goY3VycmVudCkpCiAJCWNyYXNoX2tleGVjKHJlZ3MpOwpAQCAtNjI2LDQ0ICs2MDMsNDQgQEAKIAlkb19leGl0KFNJR0JVUyk7CiB9CiAKLXN0YXRpYyB2b2lkIF9fa3Byb2JlcyBkb190cmFwKGludCB0cmFwbnIsIGludCBzaWduciwgY2hhciAqc3RyLAotCQkJICAgICAgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUsCi0JCQkgICAgICBzaWdpbmZvX3QgKmluZm8pCitzdGF0aWMgdm9pZCBfX2twcm9iZXMKK2RvX3RyYXAoaW50IHRyYXBuciwgaW50IHNpZ25yLCBjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLAorCWxvbmcgZXJyb3JfY29kZSwgc2lnaW5mb190ICppbmZvKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gY3VycmVudDsKIAotCWlmICh1c2VyX21vZGUocmVncykpIHsKLQkJLyoKLQkJICogV2Ugd2FudCBlcnJvcl9jb2RlIGFuZCB0cmFwX25vIHNldCBmb3IgdXNlcnNwYWNlCi0JCSAqIGZhdWx0cyBhbmQga2VybmVsc3BhY2UgZmF1bHRzIHdoaWNoIHJlc3VsdCBpbgotCQkgKiBkaWUoKSwgYnV0IG5vdCBrZXJuZWxzcGFjZSBmYXVsdHMgd2hpY2ggYXJlIGZpeGVkCi0JCSAqIHVwLiAgZGllKCkgZ2l2ZXMgdGhlIHByb2Nlc3Mgbm8gY2hhbmNlIHRvIGhhbmRsZQotCQkgKiB0aGUgc2lnbmFsIGFuZCBub3RpY2UgdGhlIGtlcm5lbCBmYXVsdCBpbmZvcm1hdGlvbiwKLQkJICogc28gdGhhdCB3b24ndCByZXN1bHQgaW4gcG9sbHV0aW5nIHRoZSBpbmZvcm1hdGlvbgotCQkgKiBhYm91dCBwcmV2aW91c2x5IHF1ZXVlZCwgYnV0IG5vdCB5ZXQgZGVsaXZlcmVkLAotCQkgKiBmYXVsdHMuICBTZWUgYWxzbyBkb19nZW5lcmFsX3Byb3RlY3Rpb24gYmVsb3cuCi0JCSAqLwotCQl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKLQkJdHNrLT50aHJlYWQudHJhcF9ubyA9IHRyYXBucjsKKwlpZiAoIXVzZXJfbW9kZShyZWdzKSkKKwkJZ290byBrZXJuZWxfdHJhcDsKIAotCQlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKHRzaywgc2lnbnIpICYmCi0JCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKLQkJCXByaW50ayhLRVJOX0lORk8KLQkJCSAgICAgICAiJXNbJWRdIHRyYXAgJXMgaXA6JWx4IHNwOiVseCBlcnJvcjolbHgiLAotCQkJICAgICAgIHRzay0+Y29tbSwgdHNrLT5waWQsIHN0ciwKLQkJCSAgICAgICByZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOwotCQkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7Ci0JCQlwcmludGsoIlxuIik7Ci0JCX0KKwkvKgorCSAqIFdlIHdhbnQgZXJyb3JfY29kZSBhbmQgdHJhcF9ubyBzZXQgZm9yIHVzZXJzcGFjZSBmYXVsdHMgYW5kCisJICoga2VybmVsc3BhY2UgZmF1bHRzIHdoaWNoIHJlc3VsdCBpbiBkaWUoKSwgYnV0IG5vdAorCSAqIGtlcm5lbHNwYWNlIGZhdWx0cyB3aGljaCBhcmUgZml4ZWQgdXAuICBkaWUoKSBnaXZlcyB0aGUKKwkgKiBwcm9jZXNzIG5vIGNoYW5jZSB0byBoYW5kbGUgdGhlIHNpZ25hbCBhbmQgbm90aWNlIHRoZQorCSAqIGtlcm5lbCBmYXVsdCBpbmZvcm1hdGlvbiwgc28gdGhhdCB3b24ndCByZXN1bHQgaW4gcG9sbHV0aW5nCisJICogdGhlIGluZm9ybWF0aW9uIGFib3V0IHByZXZpb3VzbHkgcXVldWVkLCBidXQgbm90IHlldAorCSAqIGRlbGl2ZXJlZCwgZmF1bHRzLiAgU2VlIGFsc28gZG9fZ2VuZXJhbF9wcm90ZWN0aW9uIGJlbG93LgorCSAqLworCXRzay0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOworCXRzay0+dGhyZWFkLnRyYXBfbm8gPSB0cmFwbnI7CiAKLQkJaWYgKGluZm8pCi0JCQlmb3JjZV9zaWdfaW5mbyhzaWduciwgaW5mbywgdHNrKTsKLQkJZWxzZQotCQkJZm9yY2Vfc2lnKHNpZ25yLCB0c2spOwotCQlyZXR1cm47CisJaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbCh0c2ssIHNpZ25yKSAmJgorCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTworCQkgICAgICAgIiVzWyVkXSB0cmFwICVzIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKKwkJICAgICAgIHRzay0+Y29tbSwgdHNrLT5waWQsIHN0ciwKKwkJICAgICAgIHJlZ3MtPmlwLCByZWdzLT5zcCwgZXJyb3JfY29kZSk7CisJCXByaW50X3ZtYV9hZGRyKCIgaW4gIiwgcmVncy0+aXApOworCQlwcmludGsoIlxuIik7CiAJfQogCisJaWYgKGluZm8pCisJCWZvcmNlX3NpZ19pbmZvKHNpZ25yLCBpbmZvLCB0c2spOworCWVsc2UKKwkJZm9yY2Vfc2lnKHNpZ25yLCB0c2spOworCXJldHVybjsKIAora2VybmVsX3RyYXA6CiAJaWYgKCFmaXh1cF9leGNlcHRpb24ocmVncykpIHsKIAkJdHNrLT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CiAJCXRzay0+dGhyZWFkLnRyYXBfbm8gPSB0cmFwbnI7CkBAIC02NzMsNDEgKzY1MCwzOSBAQAogfQogCiAjZGVmaW5lIERPX0VSUk9SKHRyYXBuciwgc2lnbnIsIHN0ciwgbmFtZSkgXAotYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkgXAoteyBcCi0JaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikgXAotCQkJCQkJCT09IE5PVElGWV9TVE9QKSBcCi0JCXJldHVybjsgXAorYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkJXAorewkJCQkJCQkJCVwKKwlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCisJCQkJCQkJPT0gTk9USUZZX1NUT1ApCVwKKwkJcmV0dXJuOwkJCQkJCQlcCiAJY29uZGl0aW9uYWxfc3RpKHJlZ3MpOwkJCQkJCVwKLQlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7IFwKKwlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7CQlcCiB9CiAKLSNkZWZpbmUgRE9fRVJST1JfSU5GTyh0cmFwbnIsIHNpZ25yLCBzdHIsIG5hbWUsIHNpY29kZSwgc2lhZGRyKSBcCi1hc21saW5rYWdlIHZvaWQgZG9fIyNuYW1lKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKSBcCi17IFwKLQlzaWdpbmZvX3QgaW5mbzsgXAotCWluZm8uc2lfc2lnbm8gPSBzaWducjsgXAotCWluZm8uc2lfZXJybm8gPSAwOyBcCi0JaW5mby5zaV9jb2RlID0gc2ljb2RlOyBcCi0JaW5mby5zaV9hZGRyID0gKHZvaWQgX191c2VyICopc2lhZGRyOyBcCi0JdHJhY2VfaGFyZGlycXNfZml4dXAoKTsgXAotCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpIFwKLQkJCQkJCQk9PSBOT1RJRllfU1RPUCkgXAotCQlyZXR1cm47IFwKKyNkZWZpbmUgRE9fRVJST1JfSU5GTyh0cmFwbnIsIHNpZ25yLCBzdHIsIG5hbWUsIHNpY29kZSwgc2lhZGRyKQkJXAorYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkJXAorewkJCQkJCQkJCVwKKwlzaWdpbmZvX3QgaW5mbzsJCQkJCQkJXAorCWluZm8uc2lfc2lnbm8gPSBzaWducjsJCQkJCQlcCisJaW5mby5zaV9lcnJubyA9IDA7CQkJCQkJXAorCWluZm8uc2lfY29kZSA9IHNpY29kZTsJCQkJCQlcCisJaW5mby5zaV9hZGRyID0gKHZvaWQgX191c2VyICopc2lhZGRyOwkJCQlcCisJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsJCQkJCQlcCisJaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikJXAorCQkJCQkJCT09IE5PVElGWV9TVE9QKQlcCisJCXJldHVybjsJCQkJCQkJXAogCWNvbmRpdGlvbmFsX3N0aShyZWdzKTsJCQkJCQlcCi0JZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsICZpbmZvKTsgXAorCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCAmaW5mbyk7CQlcCiB9CiAKLURPX0VSUk9SX0lORk8oIDAsIFNJR0ZQRSwgICJkaXZpZGUgZXJyb3IiLCBkaXZpZGVfZXJyb3IsIEZQRV9JTlRESVYsIHJlZ3MtPmlwKQotRE9fRVJST1IoIDQsIFNJR1NFR1YsICJvdmVyZmxvdyIsIG92ZXJmbG93KQotRE9fRVJST1IoIDUsIFNJR1NFR1YsICJib3VuZHMiLCBib3VuZHMpCi1ET19FUlJPUl9JTkZPKCA2LCBTSUdJTEwsICAiaW52YWxpZCBvcGNvZGUiLCBpbnZhbGlkX29wLCBJTExfSUxMT1BOLCByZWdzLT5pcCkKLURPX0VSUk9SKCA3LCBTSUdTRUdWLCAiZGV2aWNlIG5vdCBhdmFpbGFibGUiLCBkZXZpY2Vfbm90X2F2YWlsYWJsZSkKLURPX0VSUk9SKCA5LCBTSUdGUEUsICAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQorRE9fRVJST1JfSU5GTygwLCBTSUdGUEUsICJkaXZpZGUgZXJyb3IiLCBkaXZpZGVfZXJyb3IsIEZQRV9JTlRESVYsIHJlZ3MtPmlwKQorRE9fRVJST1IoNCwgU0lHU0VHViwgIm92ZXJmbG93Iiwgb3ZlcmZsb3cpCitET19FUlJPUig1LCBTSUdTRUdWLCAiYm91bmRzIiwgYm91bmRzKQorRE9fRVJST1JfSU5GTyg2LCBTSUdJTEwsICJpbnZhbGlkIG9wY29kZSIsIGludmFsaWRfb3AsIElMTF9JTExPUE4sIHJlZ3MtPmlwKQorRE9fRVJST1IoOSwgU0lHRlBFLCAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQogRE9fRVJST1IoMTAsIFNJR1NFR1YsICJpbnZhbGlkIFRTUyIsIGludmFsaWRfVFNTKQotRE9fRVJST1IoMTEsIFNJR0JVUywgICJzZWdtZW50IG5vdCBwcmVzZW50Iiwgc2VnbWVudF9ub3RfcHJlc2VudCkKK0RPX0VSUk9SKDExLCBTSUdCVVMsICJzZWdtZW50IG5vdCBwcmVzZW50Iiwgc2VnbWVudF9ub3RfcHJlc2VudCkKIERPX0VSUk9SX0lORk8oMTcsIFNJR0JVUywgImFsaWdubWVudCBjaGVjayIsIGFsaWdubWVudF9jaGVjaywgQlVTX0FEUkFMTiwgMCkKLURPX0VSUk9SKDE4LCBTSUdTRUdWLCAicmVzZXJ2ZWQiLCByZXNlcnZlZCkKIAogLyogUnVucyBvbiBJU1Qgc3RhY2sgKi8KIGFzbWxpbmthZ2Ugdm9pZCBkb19zdGFja19zZWdtZW50KHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCkBAIC03MzcsMzEgKzcxMiwzNCBAQAogCQlkaWUoc3RyLCByZWdzLCBlcnJvcl9jb2RlKTsKIH0KIAotYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19nZW5lcmFsX3Byb3RlY3Rpb24oc3RydWN0IHB0X3JlZ3MgKiByZWdzLAotCQkJCQkJbG9uZyBlcnJvcl9jb2RlKQorYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcworZG9fZ2VuZXJhbF9wcm90ZWN0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrOwogCiAJY29uZGl0aW9uYWxfc3RpKHJlZ3MpOwogCi0JaWYgKHVzZXJfbW9kZShyZWdzKSkgewotCQl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKLQkJdHNrLT50aHJlYWQudHJhcF9ubyA9IDEzOworCXRzayA9IGN1cnJlbnQ7CisJaWYgKCF1c2VyX21vZGUocmVncykpCisJCWdvdG8gZ3BfaW5fa2VybmVsOwogCi0JCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBTSUdTRUdWKSAmJgotCQkgICAgcHJpbnRrX3JhdGVsaW1pdCgpKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPCi0JCSAgICAgICAiJXNbJWRdIGdlbmVyYWwgcHJvdGVjdGlvbiBpcDolbHggc3A6JWx4IGVycm9yOiVseCIsCi0JCQkgICAgICAgdHNrLT5jb21tLCB0c2stPnBpZCwKLQkJCSAgICAgICByZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOwotCQkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7Ci0JCQlwcmludGsoIlxuIik7Ci0JCX0KKwl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKKwl0c2stPnRocmVhZC50cmFwX25vID0gMTM7CiAKLQkJZm9yY2Vfc2lnKFNJR1NFR1YsIHRzayk7Ci0JCXJldHVybjsKLQl9IAorCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBTSUdTRUdWKSAmJgorCQkJcHJpbnRrX3JhdGVsaW1pdCgpKSB7CisJCXByaW50ayhLRVJOX0lORk8KKwkJCSIlc1slZF0gZ2VuZXJhbCBwcm90ZWN0aW9uIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKKwkJCXRzay0+Y29tbSwgdHNrLT5waWQsCisJCQlyZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOworCQlwcmludF92bWFfYWRkcigiIGluICIsIHJlZ3MtPmlwKTsKKwkJcHJpbnRrKCJcbiIpOworCX0KIAorCWZvcmNlX3NpZyhTSUdTRUdWLCB0c2spOworCXJldHVybjsKKworZ3BfaW5fa2VybmVsOgogCWlmIChmaXh1cF9leGNlcHRpb24ocmVncykpCiAJCXJldHVybjsKIApAQCAtNzc0LDE0ICs3NTIsMTQgQEAKIH0KIAogc3RhdGljIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQKLW1lbV9wYXJpdHlfZXJyb3IodW5zaWduZWQgY2hhciByZWFzb24sIHN0cnVjdCBwdF9yZWdzICogcmVncykKK21lbV9wYXJpdHlfZXJyb3IodW5zaWduZWQgY2hhciByZWFzb24sIHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXByaW50ayhLRVJOX0VNRVJHICJVaGh1aC4gTk1JIHJlY2VpdmVkIGZvciB1bmtub3duIHJlYXNvbiAlMDJ4LlxuIiwKIAkJcmVhc29uKTsKIAlwcmludGsoS0VSTl9FTUVSRyAiWW91IGhhdmUgc29tZSBoYXJkd2FyZSBwcm9ibGVtLCBsaWtlbHkgb24gdGhlIFBDSSBidXMuXG4iKTsKIAogI2lmIGRlZmluZWQoQ09ORklHX0VEQUMpCi0JaWYoZWRhY19oYW5kbGVyX3NldCgpKSB7CisJaWYgKGVkYWNfaGFuZGxlcl9zZXQoKSkgewogCQllZGFjX2F0b21pY19hc3NlcnRfZXJyb3IoKTsKIAkJcmV0dXJuOwogCX0KQEAgLTc5OCw3ICs3NzYsNyBAQAogfQogCiBzdGF0aWMgbm90cmFjZSBfX2twcm9iZXMgdm9pZAotaW9fY2hlY2tfZXJyb3IodW5zaWduZWQgY2hhciByZWFzb24sIHN0cnVjdCBwdF9yZWdzICogcmVncykKK2lvX2NoZWNrX2Vycm9yKHVuc2lnbmVkIGNoYXIgcmVhc29uLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAlwcmludGsoIk5NSTogSU9DSyBlcnJvciAoZGVidWcgaW50ZXJydXB0PylcbiIpOwogCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOwpAQCAtODI4LDE0ICs4MDYsMTQgQEAKIAogLyogUnVucyBvbiBJU1Qgc3RhY2suIFRoaXMgY29kZSBtdXN0IGtlZXAgaW50ZXJydXB0cyBvZmYgYWxsIHRoZSB0aW1lLgogICAgTmVzdGVkIE5NSXMgYXJlIHByZXZlbnRlZCBieSB0aGUgQ1BVLiAqLwotYXNtbGlua2FnZSBub3RyYWNlICBfX2twcm9iZXMgdm9pZCBkZWZhdWx0X2RvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncykKK2FzbWxpbmthZ2Ugbm90cmFjZSBfX2twcm9iZXMgdm9pZCBkZWZhdWx0X2RvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAl1bnNpZ25lZCBjaGFyIHJlYXNvbiA9IDA7CiAJaW50IGNwdTsKIAogCWNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKIAotCS8qIE9ubHkgdGhlIEJTUCBnZXRzIGV4dGVybmFsIE5NSXMgZnJvbSB0aGUgc3lzdGVtLiAgKi8KKwkvKiBPbmx5IHRoZSBCU1AgZ2V0cyBleHRlcm5hbCBOTUlzIGZyb20gdGhlIHN5c3RlbS4gKi8KIAlpZiAoIWNwdSkKIAkJcmVhc29uID0gZ2V0X25taV9yZWFzb24oKTsKIApAQCAtODQ3LDMyICs4MjUsNTcgQEAKIAkJICogT2ssIHNvIHRoaXMgaXMgbm9uZSBvZiB0aGUgZG9jdW1lbnRlZCBOTUkgc291cmNlcywKIAkJICogc28gaXQgbXVzdCBiZSB0aGUgTk1JIHdhdGNoZG9nLgogCQkgKi8KLQkJaWYgKG5taV93YXRjaGRvZ190aWNrKHJlZ3MscmVhc29uKSkKKwkJaWYgKG5taV93YXRjaGRvZ190aWNrKHJlZ3MsIHJlYXNvbikpCiAJCQlyZXR1cm47Ci0JCWlmICghZG9fbm1pX2NhbGxiYWNrKHJlZ3MsY3B1KSkKKwkJaWYgKCFkb19ubWlfY2FsbGJhY2socmVncywgY3B1KSkKIAkJCXVua25vd25fbm1pX2Vycm9yKHJlYXNvbiwgcmVncyk7CiAKIAkJcmV0dXJuOwogCX0KIAlpZiAobm90aWZ5X2RpZShESUVfTk1JLCAibm1pIiwgcmVncywgcmVhc29uLCAyLCBTSUdJTlQpID09IE5PVElGWV9TVE9QKQotCQlyZXR1cm47IAorCQlyZXR1cm47CiAKIAkvKiBBSzogZm9sbG93aW5nIGNoZWNrcyBzZWVtIHRvIGJlIGJyb2tlbiBvbiBtb2Rlcm4gY2hpcHNldHMuIEZJWE1FICovCi0KIAlpZiAocmVhc29uICYgMHg4MCkKIAkJbWVtX3Bhcml0eV9lcnJvcihyZWFzb24sIHJlZ3MpOwogCWlmIChyZWFzb24gJiAweDQwKQogCQlpb19jaGVja19lcnJvcihyZWFzb24sIHJlZ3MpOwogfQogCithc21saW5rYWdlIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQKK2RvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQoreworCW5taV9lbnRlcigpOworCisJYWRkX3BkYShfX25taV9jb3VudCwgMSk7CisKKwlpZiAoIWlnbm9yZV9ubWlzKQorCQlkZWZhdWx0X2RvX25taShyZWdzKTsKKworCW5taV9leGl0KCk7Cit9CisKK3ZvaWQgc3RvcF9ubWkodm9pZCkKK3sKKwlhY3BpX25taV9kaXNhYmxlKCk7CisJaWdub3JlX25taXMrKzsKK30KKwordm9pZCByZXN0YXJ0X25taSh2b2lkKQoreworCWlnbm9yZV9ubWlzLS07CisJYWNwaV9ubWlfZW5hYmxlKCk7Cit9CisKIC8qIHJ1bnMgb24gSVNUIHN0YWNrLiAqLwotYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19pbnQzKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKQorYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19pbnQzKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7CiAJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsKIAotCWlmIChub3RpZnlfZGllKERJRV9JTlQzLCAiaW50MyIsIHJlZ3MsIGVycm9yX2NvZGUsIDMsIFNJR1RSQVApID09IE5PVElGWV9TVE9QKSB7CisJaWYgKG5vdGlmeV9kaWUoRElFX0lOVDMsICJpbnQzIiwgcmVncywgZXJyb3JfY29kZSwgMywgU0lHVFJBUCkKKwkJCT09IE5PVElGWV9TVE9QKQogCQlyZXR1cm47Ci0JfQorCiAJcHJlZW1wdF9jb25kaXRpb25hbF9zdGkocmVncyk7CiAJZG9fdHJhcCgzLCBTSUdUUkFQLCAiaW50MyIsIHJlZ3MsIGVycm9yX2NvZGUsIE5VTEwpOwogCXByZWVtcHRfY29uZGl0aW9uYWxfY2xpKHJlZ3MpOwpAQCAtOTAzLDggKzkwNiw4IEBACiBhc21saW5rYWdlIHZvaWQgX19rcHJvYmVzIGRvX2RlYnVnKHN0cnVjdCBwdF9yZWdzICogcmVncywKIAkJCQkgICB1bnNpZ25lZCBsb25nIGVycm9yX2NvZGUpCiB7Ci0JdW5zaWduZWQgbG9uZyBjb25kaXRpb247CiAJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OworCXVuc2lnbmVkIGxvbmcgY29uZGl0aW9uOwogCXNpZ2luZm9fdCBpbmZvOwogCiAJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsKQEAgLTkyNSwyMSArOTI4LDE5IEBACiAKIAkvKiBNYXNrIG91dCBzcHVyaW91cyBkZWJ1ZyB0cmFwcyBkdWUgdG8gbGF6eSBEUjcgc2V0dGluZyAqLwogCWlmIChjb25kaXRpb24gJiAoRFJfVFJBUDB8RFJfVFJBUDF8RFJfVFJBUDJ8RFJfVFJBUDMpKSB7Ci0JCWlmICghdHNrLT50aHJlYWQuZGVidWdyZWc3KSB7IAorCQlpZiAoIXRzay0+dGhyZWFkLmRlYnVncmVnNykKIAkJCWdvdG8gY2xlYXJfZHI3OwotCQl9CiAJfQogCiAJdHNrLT50aHJlYWQuZGVidWdyZWc2ID0gY29uZGl0aW9uOwogCi0KIAkvKgogCSAqIFNpbmdsZS1zdGVwcGluZyB0aHJvdWdoIFRGOiBtYWtlIHN1cmUgd2UgaWdub3JlIGFueSBldmVudHMgaW4KIAkgKiBrZXJuZWwgc3BhY2UgKGJ1dCByZS1lbmFibGUgVEYgd2hlbiByZXR1cm5pbmcgdG8gdXNlciBtb2RlKS4KIAkgKi8KIAlpZiAoY29uZGl0aW9uICYgRFJfU1RFUCkgewotICAgICAgICAgICAgICAgIGlmICghdXNlcl9tb2RlKHJlZ3MpKQotICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGNsZWFyX1RGX3JlZW5hYmxlOworCQlpZiAoIXVzZXJfbW9kZShyZWdzKSkKKwkJCWdvdG8gY2xlYXJfVEZfcmVlbmFibGU7CiAJfQogCiAJLyogT2ssIGZpbmFsbHkgc29tZXRoaW5nIHdlIGNhbiBoYW5kbGUgKi8KQEAgLTk1Miw3ICs5NTMsNyBAQAogCWZvcmNlX3NpZ19pbmZvKFNJR1RSQVAsICZpbmZvLCB0c2spOwogCiBjbGVhcl9kcjc6Ci0Jc2V0X2RlYnVncmVnKDBVTCwgNyk7CisJc2V0X2RlYnVncmVnKDAsIDcpOwogCXByZWVtcHRfY29uZGl0aW9uYWxfY2xpKHJlZ3MpOwogCXJldHVybjsKIApAQCAtOTYwLDYgKzk2MSw3IEBACiAJc2V0X3Rza190aHJlYWRfZmxhZyh0c2ssIFRJRl9TSU5HTEVTVEVQKTsKIAlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19URjsKIAlwcmVlbXB0X2NvbmRpdGlvbmFsX2NsaShyZWdzKTsKKwlyZXR1cm47CiB9CiAKIHN0YXRpYyBpbnQga2VybmVsX21hdGhfZXJyb3Ioc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGNvbnN0IGNoYXIgKnN0ciwgaW50IHRyYXBucikKQEAgLTk4Miw3ICs5ODQsNyBAQAogYXNtbGlua2FnZSB2b2lkIGRvX2NvcHJvY2Vzc29yX2Vycm9yKHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXZvaWQgX191c2VyICppcCA9ICh2b2lkIF9fdXNlciAqKShyZWdzLT5pcCk7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICogdGFzazsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7CiAJc2lnaW5mb190IGluZm87CiAJdW5zaWduZWQgc2hvcnQgY3dkLCBzd2Q7CiAKQEAgLTEwMTUsMzAgKzEwMTcsMzAgQEAKIAljd2QgPSBnZXRfZnB1X2N3ZCh0YXNrKTsKIAlzd2QgPSBnZXRfZnB1X3N3ZCh0YXNrKTsKIAlzd2l0Y2ggKHN3ZCAmIH5jd2QgJiAweDNmKSB7Ci0JCWNhc2UgMHgwMDA6Ci0JCWRlZmF1bHQ6Ci0JCQlicmVhazsKLQkJY2FzZSAweDAwMTogLyogSW52YWxpZCBPcCAqLwotCQkJLyoKLQkJCSAqIHN3ZCAmIDB4MjQwID09IDB4MDQwOiBTdGFjayBVbmRlcmZsb3cKLQkJCSAqIHN3ZCAmIDB4MjQwID09IDB4MjQwOiBTdGFjayBPdmVyZmxvdwotCQkJICogVXNlciBtdXN0IGNsZWFyIHRoZSBTRiBiaXQgKDB4NDApIGlmIHNldAotCQkJICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUSU5WOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDI6IC8qIERlbm9ybWFsaXplICovCi0JCWNhc2UgMHgwMTA6IC8qIFVuZGVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA0OiAvKiBaZXJvIERpdmlkZSAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA4OiAvKiBPdmVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDIwOiAvKiBQcmVjaXNpb24gKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7Ci0JCQlicmVhazsKKwljYXNlIDB4MDAwOiAvKiBObyB1bm1hc2tlZCBleGNlcHRpb24gKi8KKwlkZWZhdWx0OiAvKiBNdWx0aXBsZSBleGNlcHRpb25zICovCisJCWJyZWFrOworCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KKwkJLyoKKwkJICogc3dkICYgMHgyNDAgPT0gMHgwNDA6IFN0YWNrIFVuZGVyZmxvdworCQkgKiBzd2QgJiAweDI0MCA9PSAweDI0MDogU3RhY2sgT3ZlcmZsb3cKKwkJICogVXNlciBtdXN0IGNsZWFyIHRoZSBTRiBiaXQgKDB4NDApIGlmIHNldAorCQkgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVElOVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwMjogLyogRGVub3JtYWxpemUgKi8KKwljYXNlIDB4MDEwOiAvKiBVbmRlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKKwkJYnJlYWs7CisJY2FzZSAweDAwNDogLyogWmVybyBEaXZpZGUgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwODogLyogT3ZlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKKwkJYnJlYWs7CisJY2FzZSAweDAyMDogLyogUHJlY2lzaW9uICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7CisJCWJyZWFrOwogCX0KIAlmb3JjZV9zaWdfaW5mbyhTSUdGUEUsICZpbmZvLCB0YXNrKTsKIH0KQEAgLTEwNTEsNyArMTA1Myw3IEBACiBhc21saW5rYWdlIHZvaWQgZG9fc2ltZF9jb3Byb2Nlc3Nvcl9lcnJvcihzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAl2b2lkIF9fdXNlciAqaXAgPSAodm9pZCBfX3VzZXIgKikocmVncy0+aXApOwotCXN0cnVjdCB0YXNrX3N0cnVjdCAqIHRhc2s7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOwogCXNpZ2luZm9fdCBpbmZvOwogCXVuc2lnbmVkIHNob3J0IG14Y3NyOwogCkBAIC0xMDc5LDI1ICsxMDgxLDI1IEBACiAJICovCiAJbXhjc3IgPSBnZXRfZnB1X214Y3NyKHRhc2spOwogCXN3aXRjaCAofigobXhjc3IgJiAweDFmODApID4+IDcpICYgKG14Y3NyICYgMHgzZikpIHsKLQkJY2FzZSAweDAwMDoKLQkJZGVmYXVsdDoKLQkJCWJyZWFrOwotCQljYXNlIDB4MDAxOiAvKiBJbnZhbGlkIE9wICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUSU5WOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDI6IC8qIERlbm9ybWFsaXplICovCi0JCWNhc2UgMHgwMTA6IC8qIFVuZGVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA0OiAvKiBaZXJvIERpdmlkZSAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA4OiAvKiBPdmVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDIwOiAvKiBQcmVjaXNpb24gKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7Ci0JCQlicmVhazsKKwljYXNlIDB4MDAwOgorCWRlZmF1bHQ6CisJCWJyZWFrOworCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVElOVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwMjogLyogRGVub3JtYWxpemUgKi8KKwljYXNlIDB4MDEwOiAvKiBVbmRlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKKwkJYnJlYWs7CisJY2FzZSAweDAwNDogLyogWmVybyBEaXZpZGUgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwODogLyogT3ZlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKKwkJYnJlYWs7CisJY2FzZSAweDAyMDogLyogUHJlY2lzaW9uICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7CisJCWJyZWFrOwogCX0KIAlmb3JjZV9zaWdfaW5mbyhTSUdGUEUsICZpbmZvLCB0YXNrKTsKIH0KQEAgLTExMTUsNyArMTExNyw3IEBACiB9CiAKIC8qCi0gKiAgJ21hdGhfc3RhdGVfcmVzdG9yZSgpJyBzYXZlcyB0aGUgY3VycmVudCBtYXRoIGluZm9ybWF0aW9uIGluIHRoZQorICogJ21hdGhfc3RhdGVfcmVzdG9yZSgpJyBzYXZlcyB0aGUgY3VycmVudCBtYXRoIGluZm9ybWF0aW9uIGluIHRoZQogICogb2xkIG1hdGggc3RhdGUgYXJyYXksIGFuZCBnZXRzIHRoZSBuZXcgb25lcyBmcm9tIHRoZSBjdXJyZW50IHRhc2sKICAqCiAgKiBDYXJlZnVsLi4gVGhlcmUgYXJlIHByb2JsZW1zIHdpdGggSUJNLWRlc2lnbmVkIElSUTEzIGJlaGF2aW91ci4KQEAgLTExNDAsNyArMTE0Miw3IEBACiAJCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAJfQogCi0JY2x0cygpOwkJCS8qIEFsbG93IG1hdGhzIG9wcyAob3Igd2UgcmVjdXJzZSkgKi8KKwljbHRzKCk7CQkJCS8qIEFsbG93IG1hdGhzIG9wcyAob3Igd2UgcmVjdXJzZSkgKi8KIAlyZXN0b3JlX2ZwdV9jaGVja2luZygmbWUtPnRocmVhZC54c3RhdGUtPmZ4c2F2ZSk7CiAJdGFza190aHJlYWRfaW5mbyhtZSktPnN0YXR1cyB8PSBUU19VU0VERlBVOwogCW1lLT5mcHVfY291bnRlcisrOwpAQCAtMTE0OSw2NCArMTE1MSw2MSBAQAogCiB2b2lkIF9faW5pdCB0cmFwX2luaXQodm9pZCkKIHsKLQlzZXRfaW50cl9nYXRlKDAsJmRpdmlkZV9lcnJvcik7Ci0Jc2V0X2ludHJfZ2F0ZV9pc3QoMSwmZGVidWcsREVCVUdfU1RBQ0spOwotCXNldF9pbnRyX2dhdGVfaXN0KDIsJm5taSxOTUlfU1RBQ0spOwotIAlzZXRfc3lzdGVtX2dhdGVfaXN0KDMsJmludDMsREVCVUdfU1RBQ0spOyAvKiBpbnQzIGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KLQlzZXRfc3lzdGVtX2dhdGUoNCwmb3ZlcmZsb3cpOwkvKiBpbnQ0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KLQlzZXRfaW50cl9nYXRlKDUsJmJvdW5kcyk7Ci0Jc2V0X2ludHJfZ2F0ZSg2LCZpbnZhbGlkX29wKTsKLQlzZXRfaW50cl9nYXRlKDcsJmRldmljZV9ub3RfYXZhaWxhYmxlKTsKLQlzZXRfaW50cl9nYXRlX2lzdCg4LCZkb3VibGVfZmF1bHQsIERPVUJMRUZBVUxUX1NUQUNLKTsKLQlzZXRfaW50cl9nYXRlKDksJmNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bik7Ci0Jc2V0X2ludHJfZ2F0ZSgxMCwmaW52YWxpZF9UU1MpOwotCXNldF9pbnRyX2dhdGUoMTEsJnNlZ21lbnRfbm90X3ByZXNlbnQpOwotCXNldF9pbnRyX2dhdGVfaXN0KDEyLCZzdGFja19zZWdtZW50LFNUQUNLRkFVTFRfU1RBQ0spOwotCXNldF9pbnRyX2dhdGUoMTMsJmdlbmVyYWxfcHJvdGVjdGlvbik7Ci0Jc2V0X2ludHJfZ2F0ZSgxNCwmcGFnZV9mYXVsdCk7Ci0Jc2V0X2ludHJfZ2F0ZSgxNSwmc3B1cmlvdXNfaW50ZXJydXB0X2J1Zyk7Ci0Jc2V0X2ludHJfZ2F0ZSgxNiwmY29wcm9jZXNzb3JfZXJyb3IpOwotCXNldF9pbnRyX2dhdGUoMTcsJmFsaWdubWVudF9jaGVjayk7CisJc2V0X2ludHJfZ2F0ZSgwLCAmZGl2aWRlX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlX2lzdCgxLCAmZGVidWcsIERFQlVHX1NUQUNLKTsKKwlzZXRfaW50cl9nYXRlX2lzdCgyLCAmbm1pLCBOTUlfU1RBQ0spOworIAlzZXRfc3lzdGVtX2dhdGVfaXN0KDMsICZpbnQzLCBERUJVR19TVEFDSyk7IC8qIGludDMgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLworCXNldF9zeXN0ZW1fZ2F0ZSg0LCAmb3ZlcmZsb3cpOyAvKiBpbnQ0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KKwlzZXRfaW50cl9nYXRlKDUsICZib3VuZHMpOworCXNldF9pbnRyX2dhdGUoNiwgJmludmFsaWRfb3ApOworCXNldF9pbnRyX2dhdGUoNywgJmRldmljZV9ub3RfYXZhaWxhYmxlKTsKKwlzZXRfaW50cl9nYXRlX2lzdCg4LCAmZG91YmxlX2ZhdWx0LCBET1VCTEVGQVVMVF9TVEFDSyk7CisJc2V0X2ludHJfZ2F0ZSg5LCAmY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKTsKKwlzZXRfaW50cl9nYXRlKDEwLCAmaW52YWxpZF9UU1MpOworCXNldF9pbnRyX2dhdGUoMTEsICZzZWdtZW50X25vdF9wcmVzZW50KTsKKwlzZXRfaW50cl9nYXRlX2lzdCgxMiwgJnN0YWNrX3NlZ21lbnQsIFNUQUNLRkFVTFRfU1RBQ0spOworCXNldF9pbnRyX2dhdGUoMTMsICZnZW5lcmFsX3Byb3RlY3Rpb24pOworCXNldF9pbnRyX2dhdGUoMTQsICZwYWdlX2ZhdWx0KTsKKwlzZXRfaW50cl9nYXRlKDE1LCAmc3B1cmlvdXNfaW50ZXJydXB0X2J1Zyk7CisJc2V0X2ludHJfZ2F0ZSgxNiwgJmNvcHJvY2Vzc29yX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlKDE3LCAmYWxpZ25tZW50X2NoZWNrKTsKICNpZmRlZiBDT05GSUdfWDg2X01DRQotCXNldF9pbnRyX2dhdGVfaXN0KDE4LCZtYWNoaW5lX2NoZWNrLCBNQ0VfU1RBQ0spOyAKKwlzZXRfaW50cl9nYXRlX2lzdCgxOCwgJm1hY2hpbmVfY2hlY2ssIE1DRV9TVEFDSyk7CiAjZW5kaWYKLQlzZXRfaW50cl9nYXRlKDE5LCZzaW1kX2NvcHJvY2Vzc29yX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlKDE5LCAmc2ltZF9jb3Byb2Nlc3Nvcl9lcnJvcik7CiAKICNpZmRlZiBDT05GSUdfSUEzMl9FTVVMQVRJT04KIAlzZXRfc3lzdGVtX2dhdGUoSUEzMl9TWVNDQUxMX1ZFQ1RPUiwgaWEzMl9zeXNjYWxsKTsKICNlbmRpZgotICAgICAgIAogCS8qCiAJICogaW5pdGlhbGl6ZSB0aGUgcGVyIHRocmVhZCBleHRlbmRlZCBzdGF0ZToKIAkgKi8KLSAgICAgICAgaW5pdF90aHJlYWRfeHN0YXRlKCk7CisJaW5pdF90aHJlYWRfeHN0YXRlKCk7CiAJLyoKLQkgKiBTaG91bGQgYmUgYSBiYXJyaWVyIGZvciBhbnkgZXh0ZXJuYWwgQ1BVIHN0YXRlLgorCSAqIFNob3VsZCBiZSBhIGJhcnJpZXIgZm9yIGFueSBleHRlcm5hbCBDUFUgc3RhdGU6CiAJICovCiAJY3B1X2luaXQoKTsKIH0KIAotCiBzdGF0aWMgaW50IF9faW5pdCBvb3BzX3NldHVwKGNoYXIgKnMpCi17IAorewogCWlmICghcykKIAkJcmV0dXJuIC1FSU5WQUw7CiAJaWYgKCFzdHJjbXAocywgInBhbmljIikpCiAJCXBhbmljX29uX29vcHMgPSAxOwogCXJldHVybiAwOwotfSAKK30KIGVhcmx5X3BhcmFtKCJvb3BzIiwgb29wc19zZXR1cCk7CiAKIHN0YXRpYyBpbnQgX19pbml0IGtzdGFja19zZXR1cChjaGFyICpzKQogewogCWlmICghcykKIAkJcmV0dXJuIC1FSU5WQUw7Ci0Ja3N0YWNrX2RlcHRoX3RvX3ByaW50ID0gc2ltcGxlX3N0cnRvdWwocyxOVUxMLDApOworCWtzdGFja19kZXB0aF90b19wcmludCA9IHNpbXBsZV9zdHJ0b3VsKHMsIE5VTEwsIDApOwogCXJldHVybiAwOwogfQogZWFybHlfcGFyYW0oImtzdGFjayIsIGtzdGFja19zZXR1cCk7CiAKLQogc3RhdGljIGludCBfX2luaXQgY29kZV9ieXRlc19zZXR1cChjaGFyICpzKQogewogCWNvZGVfYnl0ZXMgPSBzaW1wbGVfc3RydG91bChzLCBOVUxMLCAwKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90c2MuYyBiL2FyY2gveDg2L2tlcm5lbC90c2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzM2ZjkyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL3RzYy5jCkBAIC0wLDAgKzEsNTMzIEBACisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpX3BtdG1yLmg+CisjaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xvY2tzb3VyY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKworI2luY2x1ZGUgPGFzbS9ocGV0Lmg+CisjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CisjaW5jbHVkZSA8YXNtL3ZndG9kLmg+CisjaW5jbHVkZSA8YXNtL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vZGVsYXkuaD4KKwordW5zaWduZWQgaW50IGNwdV9raHo7ICAgICAgICAgICAvKiBUU0MgY2xvY2tzIC8gdXNlYywgbm90IHVzZWQgaGVyZSAqLworRVhQT1JUX1NZTUJPTChjcHVfa2h6KTsKK3Vuc2lnbmVkIGludCB0c2Nfa2h6OworRVhQT1JUX1NZTUJPTCh0c2Nfa2h6KTsKKworLyoKKyAqIFRTQyBjYW4gYmUgdW5zdGFibGUgZHVlIHRvIGNwdWZyZXEgb3IgZHVlIHRvIHVuc3luY2VkIFRTQ3MKKyAqLworc3RhdGljIGludCB0c2NfdW5zdGFibGU7CisKKy8qIG5hdGl2ZV9zY2hlZF9jbG9jaygpIGlzIGNhbGxlZCBiZWZvcmUgdHNjX2luaXQoKSwgc28KKyAgIHdlIG11c3Qgc3RhcnQgd2l0aCB0aGUgVFNDIHNvZnQgZGlzYWJsZWQgdG8gcHJldmVudAorICAgZXJyb25lb3VzIHJkdHNjIHVzYWdlIG9uICFjcHVfaGFzX3RzYyBwcm9jZXNzb3JzICovCitzdGF0aWMgaW50IHRzY19kaXNhYmxlZCA9IC0xOworCisvKgorICogU2NoZWR1bGVyIGNsb2NrIC0gcmV0dXJucyBjdXJyZW50IHRpbWUgaW4gbmFub3NlYyB1bml0cy4KKyAqLwordTY0IG5hdGl2ZV9zY2hlZF9jbG9jayh2b2lkKQoreworCXU2NCB0aGlzX29mZnNldDsKKworCS8qCisJICogRmFsbCBiYWNrIHRvIGppZmZpZXMgaWYgdGhlcmUncyBubyBUU0MgYXZhaWxhYmxlOgorCSAqICggQnV0IG5vdGUgdGhhdCB3ZSBzdGlsbCB1c2UgaXQgaWYgdGhlIFRTQyBpcyBtYXJrZWQKKwkgKiAgIHVuc3RhYmxlLiBXZSBkbyB0aGlzIGJlY2F1c2UgdW5saWtlIFRpbWUgT2YgRGF5LAorCSAqICAgdGhlIHNjaGVkdWxlciBjbG9jayB0b2xlcmF0ZXMgc21hbGwgZXJyb3JzIGFuZCBpdCdzCisJICogICB2ZXJ5IGltcG9ydGFudCBmb3IgaXQgdG8gYmUgYXMgZmFzdCBhcyB0aGUgcGxhdGZvcm0KKwkgKiAgIGNhbiBhY2hpdmUgaXQuICkKKwkgKi8KKwlpZiAodW5saWtlbHkodHNjX2Rpc2FibGVkKSkgeworCQkvKiBObyBsb2NraW5nIGJ1dCBhIHJhcmUgd3JvbmcgdmFsdWUgaXMgbm90IGEgYmlnIGRlYWw6ICovCisJCXJldHVybiAoamlmZmllc182NCAtIElOSVRJQUxfSklGRklFUykgKiAoMTAwMDAwMDAwMCAvIEhaKTsKKwl9CisKKwkvKiByZWFkIHRoZSBUaW1lIFN0YW1wIENvdW50ZXI6ICovCisJcmR0c2NsbCh0aGlzX29mZnNldCk7CisKKwkvKiByZXR1cm4gdGhlIHZhbHVlIGluIG5zICovCisJcmV0dXJuIGN5Y2xlc18yX25zKHRoaXNfb2Zmc2V0KTsKK30KKworLyogV2UgbmVlZCB0byBkZWZpbmUgYSByZWFsIGZ1bmN0aW9uIGZvciBzY2hlZF9jbG9jaywgdG8gb3ZlcnJpZGUgdGhlCisgICB3ZWFrIGRlZmF1bHQgdmVyc2lvbiAqLworI2lmZGVmIENPTkZJR19QQVJBVklSVAordW5zaWduZWQgbG9uZyBsb25nIHNjaGVkX2Nsb2NrKHZvaWQpCit7CisJcmV0dXJuIHBhcmF2aXJ0X3NjaGVkX2Nsb2NrKCk7Cit9CisjZWxzZQordW5zaWduZWQgbG9uZyBsb25nCitzY2hlZF9jbG9jayh2b2lkKSBfX2F0dHJpYnV0ZV9fKChhbGlhcygibmF0aXZlX3NjaGVkX2Nsb2NrIikpKTsKKyNlbmRpZgorCitpbnQgY2hlY2tfdHNjX3Vuc3RhYmxlKHZvaWQpCit7CisJcmV0dXJuIHRzY191bnN0YWJsZTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNoZWNrX3RzY191bnN0YWJsZSk7CisKKyNpZmRlZiBDT05GSUdfWDg2X1RTQworaW50IF9faW5pdCBub3RzY19zZXR1cChjaGFyICpzdHIpCit7CisJcHJpbnRrKEtFUk5fV0FSTklORyAibm90c2M6IEtlcm5lbCBjb21waWxlZCB3aXRoIENPTkZJR19YODZfVFNDLCAiCisJCQkiY2Fubm90IGRpc2FibGUgVFNDIGNvbXBsZXRlbHkuXG4iKTsKKwl0c2NfZGlzYWJsZWQgPSAxOworCXJldHVybiAxOworfQorI2Vsc2UKKy8qCisgKiBkaXNhYmxlIGZsYWcgZm9yIHRzYy4gVGFrZXMgZWZmZWN0IGJ5IGNsZWFyaW5nIHRoZSBUU0MgY3B1IGZsYWcKKyAqIGluIGNwdS9jb21tb24uYworICovCitpbnQgX19pbml0IG5vdHNjX3NldHVwKGNoYXIgKnN0cikKK3sKKwlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1RTQyk7CisJcmV0dXJuIDE7Cit9CisjZW5kaWYKKworX19zZXR1cCgibm90c2MiLCBub3RzY19zZXR1cCk7CisKKyNkZWZpbmUgTUFYX1JFVFJJRVMgICAgIDUKKyNkZWZpbmUgU01JX1RSRVNIT0xEICAgIDUwMDAwCisKKy8qCisgKiBSZWFkIFRTQyBhbmQgdGhlIHJlZmVyZW5jZSBjb3VudGVycy4gVGFrZSBjYXJlIG9mIFNNSSBkaXN0dXJiYW5jZQorICovCitzdGF0aWMgdTY0IF9faW5pdCB0c2NfcmVhZF9yZWZzKHU2NCAqcG0sIHU2NCAqaHBldCkKK3sKKwl1NjQgdDEsIHQyOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IE1BWF9SRVRSSUVTOyBpKyspIHsKKwkJdDEgPSBnZXRfY3ljbGVzKCk7CisJCWlmIChocGV0KQorCQkJKmhwZXQgPSBocGV0X3JlYWRsKEhQRVRfQ09VTlRFUikgJiAweEZGRkZGRkZGOworCQllbHNlCisJCQkqcG0gPSBhY3BpX3BtX3JlYWRfZWFybHkoKTsKKwkJdDIgPSBnZXRfY3ljbGVzKCk7CisJCWlmICgodDIgLSB0MSkgPCBTTUlfVFJFU0hPTEQpCisJCQlyZXR1cm4gdDI7CisJfQorCXJldHVybiBVTExPTkdfTUFYOworfQorCisvKioKKyAqIG5hdGl2ZV9jYWxpYnJhdGVfdHNjIC0gY2FsaWJyYXRlIHRoZSB0c2Mgb24gYm9vdAorICovCit1bnNpZ25lZCBsb25nIG5hdGl2ZV9jYWxpYnJhdGVfdHNjKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1NjQgdHNjMSwgdHNjMiwgdHIxLCB0cjIsIGRlbHRhLCBwbTEsIHBtMiwgaHBldDEsIGhwZXQyOworCWludCBocGV0ID0gaXNfaHBldF9lbmFibGVkKCk7CisJdW5zaWduZWQgaW50IHRzY19raHpfdmFsID0gMDsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCXRzYzEgPSB0c2NfcmVhZF9yZWZzKCZwbTEsIGhwZXQgPyAmaHBldDEgOiBOVUxMKTsKKworCW91dGIoKGluYigweDYxKSAmIH4weDAyKSB8IDB4MDEsIDB4NjEpOworCisJb3V0YigweGIwLCAweDQzKTsKKwlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgJiAweGZmLCAweDQyKTsKKwlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgPj4gOCwgMHg0Mik7CisJdHIxID0gZ2V0X2N5Y2xlcygpOworCXdoaWxlICgoaW5iKDB4NjEpICYgMHgyMCkgPT0gMCk7CisJdHIyID0gZ2V0X2N5Y2xlcygpOworCisJdHNjMiA9IHRzY19yZWFkX3JlZnMoJnBtMiwgaHBldCA/ICZocGV0MiA6IE5VTEwpOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJLyoKKwkgKiBQcmVzZXQgdGhlIHJlc3VsdCB3aXRoIHRoZSByYXcgYW5kIGluYWNjdXJhdGUgUElUCisJICogY2FsaWJyYXRpb24gdmFsdWUKKwkgKi8KKwlkZWx0YSA9ICh0cjIgLSB0cjEpOworCWRvX2RpdihkZWx0YSwgNTApOworCXRzY19raHpfdmFsID0gZGVsdGE7CisKKwkvKiBocGV0IG9yIHBtdGltZXIgYXZhaWxhYmxlID8gKi8KKwlpZiAoIWhwZXQgJiYgIXBtMSAmJiAhcG0yKSB7CisJCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgUElUXG4iKTsKKwkJZ290byBvdXQ7CisJfQorCisJLyogQ2hlY2ssIHdoZXRoZXIgdGhlIHNhbXBsaW5nIHdhcyBkaXN0dXJiZWQgYnkgYW4gU01JICovCisJaWYgKHRzYzEgPT0gVUxMT05HX01BWCB8fCB0c2MyID09IFVMTE9OR19NQVgpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiVFNDIGNhbGlicmF0aW9uIGRpc3R1cmJlZCBieSBTTUksICIKKwkJCQkidXNpbmcgUElUIGNhbGlicmF0aW9uIHJlc3VsdFxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXRzYzIgPSAodHNjMiAtIHRzYzEpICogMTAwMDAwMExMOworCisJaWYgKGhwZXQpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiVFNDIGNhbGlicmF0ZWQgYWdhaW5zdCBIUEVUXG4iKTsKKwkJaWYgKGhwZXQyIDwgaHBldDEpCisJCQlocGV0MiArPSAweDEwMDAwMDAwMFVMTDsKKwkJaHBldDIgLT0gaHBldDE7CisJCXRzYzEgPSAoKHU2NClocGV0MiAqIGhwZXRfcmVhZGwoSFBFVF9QRVJJT0QpKTsKKwkJZG9fZGl2KHRzYzEsIDEwMDAwMDApOworCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgUE1fVElNRVJcbiIpOworCQlpZiAocG0yIDwgcG0xKQorCQkJcG0yICs9ICh1NjQpQUNQSV9QTV9PVlJSVU47CisJCXBtMiAtPSBwbTE7CisJCXRzYzEgPSBwbTIgKiAxMDAwMDAwMDAwTEw7CisJCWRvX2Rpdih0c2MxLCBQTVRNUl9USUNLU19QRVJfU0VDKTsKKwl9CisKKwlkb19kaXYodHNjMiwgdHNjMSk7CisJdHNjX2toel92YWwgPSB0c2MyOworCitvdXQ6CisJcmV0dXJuIHRzY19raHpfdmFsOworfQorCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisvKiBPbmx5IGNhbGxlZCBmcm9tIHRoZSBQb3dlcm5vdyBLNyBjcHUgZnJlcSBkcml2ZXIgKi8KK2ludCByZWNhbGlicmF0ZV9jcHVfa2h6KHZvaWQpCit7CisjaWZuZGVmIENPTkZJR19TTVAKKwl1bnNpZ25lZCBsb25nIGNwdV9raHpfb2xkID0gY3B1X2toejsKKworCWlmIChjcHVfaGFzX3RzYykgeworCQl0c2Nfa2h6ID0gY2FsaWJyYXRlX3RzYygpOworCQljcHVfa2h6ID0gdHNjX2toejsKKwkJY3B1X2RhdGEoMCkubG9vcHNfcGVyX2ppZmZ5ID0KKwkJCWNwdWZyZXFfc2NhbGUoY3B1X2RhdGEoMCkubG9vcHNfcGVyX2ppZmZ5LAorCQkJCQljcHVfa2h6X29sZCwgY3B1X2toeik7CisJCXJldHVybiAwOworCX0gZWxzZQorCQlyZXR1cm4gLUVOT0RFVjsKKyNlbHNlCisJcmV0dXJuIC1FTk9ERVY7CisjZW5kaWYKK30KKworRVhQT1JUX1NZTUJPTChyZWNhbGlicmF0ZV9jcHVfa2h6KTsKKworI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KKworLyogQWNjZWxlcmF0b3JzIGZvciBzY2hlZF9jbG9jaygpCisgKiBjb252ZXJ0IGZyb20gY3ljbGVzKDY0Yml0cykgPT4gbmFub3NlY29uZHMgKDY0Yml0cykKKyAqICBiYXNpYyBlcXVhdGlvbjoKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAvIChmcmVxIC8gbnNfcGVyX3NlYykKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqIChuc19wZXJfc2VjIC8gZnJlcSkKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqICgxMF45IC8gKGNwdV9raHogKiAxMF4zKSkKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqICgxMF42IC8gY3B1X2toeikKKyAqCisgKiAgICAgIFRoZW4gd2UgdXNlIHNjYWxpbmcgbWF0aCAoc3VnZ2VzdGVkIGJ5IGdlb3JnZUBtdmlzdGEuY29tKSB0byBnZXQ6CisgKiAgICAgICAgICAgICAgbnMgPSBjeWNsZXMgKiAoMTBeNiAqIFNDIC8gY3B1X2toeikgLyBTQworICogICAgICAgICAgICAgIG5zID0gY3ljbGVzICogY3ljMm5zX3NjYWxlIC8gU0MKKyAqCisgKiAgICAgIEFuZCBzaW5jZSBTQyBpcyBhIGNvbnN0YW50IHBvd2VyIG9mIHR3bywgd2UgY2FuIGNvbnZlcnQgdGhlIGRpdgorICogIGludG8gYSBzaGlmdC4KKyAqCisgKiAgV2UgY2FuIHVzZSBraHogZGl2aXNvciBpbnN0ZWFkIG9mIG1oeiB0byBrZWVwIGEgYmV0dGVyIHByZWNpc2lvbiwgc2luY2UKKyAqICBjeWMybnNfc2NhbGUgaXMgbGltaXRlZCB0byAxMF42ICogMl4xMCwgd2hpY2ggZml0cyBpbiAzMiBiaXRzLgorICogIChtYXRoaWV1LmRlc25veWVyc0Bwb2x5bXRsLmNhKQorICoKKyAqICAgICAgICAgICAgICAgICAgICAgIC1qb2huc3R1bEB1cy5pYm0uY29tICJtYXRoIGlzIGhhcmQsIGxldHMgZ28gc2hvcHBpbmchIgorICovCisKK0RFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIGN5YzJucyk7CisKK3N0YXRpYyB2b2lkIHNldF9jeWMybnNfc2NhbGUodW5zaWduZWQgbG9uZyBjcHVfa2h6LCBpbnQgY3B1KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2Nfbm93LCBuc19ub3c7CisJdW5zaWduZWQgbG9uZyBmbGFncywgKnNjYWxlOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCXNjaGVkX2Nsb2NrX2lkbGVfc2xlZXBfZXZlbnQoKTsKKworCXNjYWxlID0gJnBlcl9jcHUoY3ljMm5zLCBjcHUpOworCisJcmR0c2NsbCh0c2Nfbm93KTsKKwluc19ub3cgPSBfX2N5Y2xlc18yX25zKHRzY19ub3cpOworCisJaWYgKGNwdV9raHopCisJCSpzY2FsZSA9IChOU0VDX1BFUl9NU0VDIDw8IENZQzJOU19TQ0FMRV9GQUNUT1IpL2NwdV9raHo7CisKKwlzY2hlZF9jbG9ja19pZGxlX3dha2V1cF9ldmVudCgwKTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Cit9CisKKyNpZmRlZiBDT05GSUdfQ1BVX0ZSRVEKKworLyogRnJlcXVlbmN5IHNjYWxpbmcgc3VwcG9ydC4gQWRqdXN0IHRoZSBUU0MgYmFzZWQgdGltZXIgd2hlbiB0aGUgY3B1IGZyZXF1ZW5jeQorICogY2hhbmdlcy4KKyAqCisgKiBSRUQtUEVOOiBPbiBTTVAgd2UgYXNzdW1lIGFsbCBDUFVzIHJ1biB3aXRoIHRoZSBzYW1lIGZyZXF1ZW5jeS4gIEl0J3MKKyAqIG5vdCB0aGF0IGltcG9ydGFudCBiZWNhdXNlIGN1cnJlbnQgT3B0ZXJvbiBzZXR1cHMgZG8gbm90IHN1cHBvcnQKKyAqIHNjYWxpbmcgb24gU01QIGFueXJvYWRzLgorICoKKyAqIFNob3VsZCBmaXggdXAgbGFzdF90c2MgdG9vLiBDdXJyZW50bHkgZ2V0dGltZW9mZGF5IGluIHRoZQorICogZmlyc3QgdGljayBhZnRlciB0aGUgY2hhbmdlIHdpbGwgYmUgc2xpZ2h0bHkgd3JvbmcuCisgKi8KKworc3RhdGljIHVuc2lnbmVkIGludCAgcmVmX2ZyZXE7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb29wc19wZXJfamlmZnlfcmVmOworc3RhdGljIHVuc2lnbmVkIGxvbmcgdHNjX2toel9yZWY7CisKK3N0YXRpYyBpbnQgdGltZV9jcHVmcmVxX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgdmFsLAorCQkJCXZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNwdWZyZXFfZnJlcXMgKmZyZXEgPSBkYXRhOworCXVuc2lnbmVkIGxvbmcgKmxwaiwgZHVtbXk7CisKKwlpZiAoY3B1X2hhcygmY3B1X2RhdGEoZnJlcS0+Y3B1KSwgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSkKKwkJcmV0dXJuIDA7CisKKwlscGogPSAmZHVtbXk7CisJaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKKyNpZmRlZiBDT05GSUdfU01QCisJCWxwaiA9ICZjcHVfZGF0YShmcmVxLT5jcHUpLmxvb3BzX3Blcl9qaWZmeTsKKyNlbHNlCisJbHBqID0gJmJvb3RfY3B1X2RhdGEubG9vcHNfcGVyX2ppZmZ5OworI2VuZGlmCisKKwlpZiAoIXJlZl9mcmVxKSB7CisJCXJlZl9mcmVxID0gZnJlcS0+b2xkOworCQlsb29wc19wZXJfamlmZnlfcmVmID0gKmxwajsKKwkJdHNjX2toel9yZWYgPSB0c2Nfa2h6OworCX0KKwlpZiAoKHZhbCA9PSBDUFVGUkVRX1BSRUNIQU5HRSAgJiYgZnJlcS0+b2xkIDwgZnJlcS0+bmV3KSB8fAorCQkJKHZhbCA9PSBDUFVGUkVRX1BPU1RDSEFOR0UgJiYgZnJlcS0+b2xkID4gZnJlcS0+bmV3KSB8fAorCQkJKHZhbCA9PSBDUFVGUkVRX1JFU1VNRUNIQU5HRSkpIHsKKwkJKmxwaiA9IAljcHVmcmVxX3NjYWxlKGxvb3BzX3Blcl9qaWZmeV9yZWYsIHJlZl9mcmVxLCBmcmVxLT5uZXcpOworCisJCXRzY19raHogPSBjcHVmcmVxX3NjYWxlKHRzY19raHpfcmVmLCByZWZfZnJlcSwgZnJlcS0+bmV3KTsKKwkJaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKKwkJCW1hcmtfdHNjX3Vuc3RhYmxlKCJjcHVmcmVxIGNoYW5nZXMiKTsKKwl9CisKKwlzZXRfY3ljMm5zX3NjYWxlKHRzY19raHpfcmVmLCBmcmVxLT5jcHUpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrID0geworCS5ub3RpZmllcl9jYWxsICA9IHRpbWVfY3B1ZnJlcV9ub3RpZmllcgorfTsKKworc3RhdGljIGludCBfX2luaXQgY3B1ZnJlcV90c2Modm9pZCkKK3sKKwljcHVmcmVxX3JlZ2lzdGVyX25vdGlmaWVyKCZ0aW1lX2NwdWZyZXFfbm90aWZpZXJfYmxvY2ssCisJCQkJQ1BVRlJFUV9UUkFOU0lUSU9OX05PVElGSUVSKTsKKwlyZXR1cm4gMDsKK30KKworY29yZV9pbml0Y2FsbChjcHVmcmVxX3RzYyk7CisKKyNlbmRpZiAvKiBDT05GSUdfQ1BVX0ZSRVEgKi8KKworLyogY2xvY2tzb3VyY2UgY29kZSAqLworCitzdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYzsKKworLyoKKyAqIFdlIGNvbXBhcmUgdGhlIFRTQyB0byB0aGUgY3ljbGVfbGFzdCB2YWx1ZSBpbiB0aGUgY2xvY2tzb3VyY2UKKyAqIHN0cnVjdHVyZSB0byBhdm9pZCBhIG5hc3R5IHRpbWUtd2FycC4gVGhpcyBjYW4gYmUgb2JzZXJ2ZWQgaW4gYQorICogdmVyeSBzbWFsbCB3aW5kb3cgcmlnaHQgYWZ0ZXIgb25lIENQVSB1cGRhdGVkIGN5Y2xlX2xhc3QgdW5kZXIKKyAqIHh0aW1lL3ZzeXNjYWxsX2d0b2QgbG9jayBhbmQgdGhlIG90aGVyIENQVSByZWFkcyBhIFRTQyB2YWx1ZSB3aGljaAorICogaXMgc21hbGxlciB0aGFuIHRoZSBjeWNsZV9sYXN0IHJlZmVyZW5jZSB2YWx1ZSBkdWUgdG8gYSBUU0Mgd2hpY2gKKyAqIGlzIHNsaWdodHkgYmVoaW5kLiBUaGlzIGRlbHRhIGlzIG5vd2hlcmUgZWxzZSBvYnNlcnZhYmxlLCBidXQgaW4KKyAqIHRoYXQgY2FzZSBpdCByZXN1bHRzIGluIGEgZm9yd2FyZCB0aW1lIGp1bXAgaW4gdGhlIHJhbmdlIG9mIGhvdXJzCisgKiBkdWUgdG8gdGhlIHVuc2lnbmVkIGRlbHRhIGNhbGN1bGF0aW9uIG9mIHRoZSB0aW1lIGtlZXBpbmcgY29yZQorICogY29kZSwgd2hpY2ggaXMgbmVjZXNzYXJ5IHRvIHN1cHBvcnQgd3JhcHBpbmcgY2xvY2tzb3VyY2VzIGxpa2UgcG0KKyAqIHRpbWVyLgorICovCitzdGF0aWMgY3ljbGVfdCByZWFkX3RzYyh2b2lkKQoreworCWN5Y2xlX3QgcmV0ID0gKGN5Y2xlX3QpZ2V0X2N5Y2xlcygpOworCisJcmV0dXJuIHJldCA+PSBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdCA/CisJCXJldCA6IGNsb2Nrc291cmNlX3RzYy5jeWNsZV9sYXN0OworfQorCitzdGF0aWMgY3ljbGVfdCBfX3ZzeXNjYWxsX2ZuIHZyZWFkX3RzYyh2b2lkKQoreworCWN5Y2xlX3QgcmV0ID0gKGN5Y2xlX3QpdmdldF9jeWNsZXMoKTsKKworCXJldHVybiByZXQgPj0gX192c3lzY2FsbF9ndG9kX2RhdGEuY2xvY2suY3ljbGVfbGFzdCA/CisJCXJldCA6IF9fdnN5c2NhbGxfZ3RvZF9kYXRhLmNsb2NrLmN5Y2xlX2xhc3Q7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xvY2tzb3VyY2UgY2xvY2tzb3VyY2VfdHNjID0geworCS5uYW1lICAgICAgICAgICAgICAgICAgID0gInRzYyIsCisJLnJhdGluZyAgICAgICAgICAgICAgICAgPSAzMDAsCisJLnJlYWQgICAgICAgICAgICAgICAgICAgPSByZWFkX3RzYywKKwkubWFzayAgICAgICAgICAgICAgICAgICA9IENMT0NLU09VUkNFX01BU0soNjQpLAorCS5zaGlmdCAgICAgICAgICAgICAgICAgID0gMjIsCisJLmZsYWdzICAgICAgICAgICAgICAgICAgPSBDTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUyB8CisJCQkJICBDTE9DS19TT1VSQ0VfTVVTVF9WRVJJRlksCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCS52cmVhZCAgICAgICAgICAgICAgICAgID0gdnJlYWRfdHNjLAorI2VuZGlmCit9OworCit2b2lkIG1hcmtfdHNjX3Vuc3RhYmxlKGNoYXIgKnJlYXNvbikKK3sKKwlpZiAoIXRzY191bnN0YWJsZSkgeworCQl0c2NfdW5zdGFibGUgPSAxOworCQlwcmludGsoIk1hcmtpbmcgVFNDIHVuc3RhYmxlIGR1ZSB0byAlc1xuIiwgcmVhc29uKTsKKwkJLyogQ2hhbmdlIG9ubHkgdGhlIHJhdGluZywgd2hlbiBub3QgcmVnaXN0ZXJlZCAqLworCQlpZiAoY2xvY2tzb3VyY2VfdHNjLm11bHQpCisJCQljbG9ja3NvdXJjZV9jaGFuZ2VfcmF0aW5nKCZjbG9ja3NvdXJjZV90c2MsIDApOworCQllbHNlCisJCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKKwl9Cit9CisKK0VYUE9SVF9TWU1CT0xfR1BMKG1hcmtfdHNjX3Vuc3RhYmxlKTsKKworc3RhdGljIGludCBfX2luaXQgZG1pX21hcmtfdHNjX3Vuc3RhYmxlKGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQoreworCXByaW50ayhLRVJOX05PVElDRSAiJXMgZGV0ZWN0ZWQ6IG1hcmtpbmcgVFNDIHVuc3RhYmxlLlxuIiwKKwkJCWQtPmlkZW50KTsKKwl0c2NfdW5zdGFibGUgPSAxOworCXJldHVybiAwOworfQorCisvKiBMaXN0IG9mIHN5c3RlbXMgdGhhdCBoYXZlIGtub3duIFRTQyBwcm9ibGVtcyAqLworc3RhdGljIHN0cnVjdCBkbWlfc3lzdGVtX2lkIF9faW5pdGRhdGEgYmFkX3RzY19kbWlfdGFibGVbXSA9IHsKKwl7CisJCS5jYWxsYmFjayA9IGRtaV9tYXJrX3RzY191bnN0YWJsZSwKKwkJLmlkZW50ID0gIklCTSBUaGlua3BhZCAzODBYRCIsCisJCS5tYXRjaGVzID0geworCQkJRE1JX01BVENIKERNSV9CT0FSRF9WRU5ET1IsICJJQk0iKSwKKwkJCURNSV9NQVRDSChETUlfQk9BUkRfTkFNRSwgIjI2MzVGQTAiKSwKKwkJfSwKKwl9LAorCXt9Cit9OworCisvKgorICogR2VvZGVfTFggLSB0aGUgT0xQQyBDUFUgaGFzIGEgcG9zc2libHkgYSB2ZXJ5IHJlbGlhYmxlIFRTQworICovCisjaWZkZWYgQ09ORklHX01HRU9ERV9MWAorLyogUlRTQyBjb3VudHMgZHVyaW5nIHN1c3BlbmQgKi8KKyNkZWZpbmUgUlRTQ19TVVNQIDB4MTAwCisKK3N0YXRpYyB2b2lkIF9faW5pdCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIHJlc19sb3csIHJlc19oaWdoOworCisJcmRtc3Jfc2FmZShNU1JfR0VPREVfQlVTQ09OVF9DT05GMCwgJnJlc19sb3csICZyZXNfaGlnaCk7CisJaWYgKHJlc19sb3cgJiBSVFNDX1NVU1ApCisJCWNsb2Nrc291cmNlX3RzYy5mbGFncyAmPSB+Q0xPQ0tfU09VUkNFX01VU1RfVkVSSUZZOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkgeyB9CisjZW5kaWYKKworLyoKKyAqIE1ha2UgYW4gZWR1Y2F0ZWQgZ3Vlc3MgaWYgdGhlIFRTQyBpcyB0cnVzdHdvcnRoeSBhbmQgc3luY2hyb25pemVkCisgKiBvdmVyIGFsbCBDUFVzLgorICovCitfX2NwdWluaXQgaW50IHVuc3luY2hyb25pemVkX3RzYyh2b2lkKQoreworCWlmICghY3B1X2hhc190c2MgfHwgdHNjX3Vuc3RhYmxlKQorCQlyZXR1cm4gMTsKKworI2lmZGVmIENPTkZJR19TTVAKKwlpZiAoYXBpY19pc19jbHVzdGVyZWRfYm94KCkpCisJCXJldHVybiAxOworI2VuZGlmCisKKwlpZiAoYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykpCisJCXJldHVybiAwOworCS8qCisJICogSW50ZWwgc3lzdGVtcyBhcmUgbm9ybWFsbHkgYWxsIHN5bmNocm9uaXplZC4KKwkgKiBFeGNlcHRpb25zIG11c3QgbWFyayBUU0MgYXMgdW5zdGFibGU6CisJICovCisJaWYgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0lOVEVMKSB7CisJCS8qIGFzc3VtZSBtdWx0aSBzb2NrZXQgc3lzdGVtcyBhcmUgbm90IHN5bmNocm9uaXplZDogKi8KKwkJaWYgKG51bV9wb3NzaWJsZV9jcHVzKCkgPiAxKQorCQkJdHNjX3Vuc3RhYmxlID0gMTsKKwl9CisKKwlyZXR1cm4gdHNjX3Vuc3RhYmxlOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF90c2NfY2xvY2tzb3VyY2Uodm9pZCkKK3sKKwljbG9ja3NvdXJjZV90c2MubXVsdCA9IGNsb2Nrc291cmNlX2toejJtdWx0KHRzY19raHosCisJCQljbG9ja3NvdXJjZV90c2Muc2hpZnQpOworCS8qIGxvd2VyIHRoZSByYXRpbmcgaWYgd2UgYWxyZWFkeSBrbm93IGl0cyB1bnN0YWJsZTogKi8KKwlpZiAoY2hlY2tfdHNjX3Vuc3RhYmxlKCkpIHsKKwkJY2xvY2tzb3VyY2VfdHNjLnJhdGluZyA9IDA7CisJCWNsb2Nrc291cmNlX3RzYy5mbGFncyAmPSB+Q0xPQ0tfU09VUkNFX0lTX0NPTlRJTlVPVVM7CisJfQorCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV90c2MpOworfQorCit2b2lkIF9faW5pdCB0c2NfaW5pdCh2b2lkKQoreworCXU2NCBscGo7CisJaW50IGNwdTsKKworCWlmICghY3B1X2hhc190c2MpCisJCXJldHVybjsKKworCXRzY19raHogPSBjYWxpYnJhdGVfdHNjKCk7CisJY3B1X2toeiA9IHRzY19raHo7CisKKwlpZiAoIXRzY19raHopIHsKKwkJbWFya190c2NfdW5zdGFibGUoImNvdWxkIG5vdCBjYWxjdWxhdGUgVFNDIGtoeiIpOworCQlyZXR1cm47CisJfQorCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChjcHVfaGFzKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpICYmCisJCQkoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSkKKwkJY3B1X2toeiA9IGNhbGlicmF0ZV9jcHUoKTsKKyNlbmRpZgorCisJbHBqID0gKCh1NjQpdHNjX2toeiAqIDEwMDApOworCWRvX2RpdihscGosIEhaKTsKKwlscGpfZmluZSA9IGxwajsKKworCXByaW50aygiRGV0ZWN0ZWQgJWx1LiUwM2x1IE1IeiBwcm9jZXNzb3IuXG4iLAorCQkJKHVuc2lnbmVkIGxvbmcpY3B1X2toeiAvIDEwMDAsCisJCQkodW5zaWduZWQgbG9uZyljcHVfa2h6ICUgMTAwMCk7CisKKwkvKgorCSAqIFNlY29uZGFyeSBDUFVzIGRvIG5vdCBydW4gdGhyb3VnaCB0c2NfaW5pdCgpLCBzbyBzZXQgdXAKKwkgKiBhbGwgdGhlIHNjYWxlIGZhY3RvcnMgZm9yIGFsbCBDUFVzLCBhc3N1bWluZyB0aGUgc2FtZQorCSAqIHNwZWVkIGFzIHRoZSBib290dXAgQ1BVLiAoY3B1ZnJlcSBub3RpZmllcnMgd2lsbCBmaXggdGhpcworCSAqIHVwIGlmIHRoZWlyIHNwZWVkIGRpdmVyZ2VzKQorCSAqLworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpCisJCXNldF9jeWMybnNfc2NhbGUoY3B1X2toeiwgY3B1KTsKKworCWlmICh0c2NfZGlzYWJsZWQgPiAwKQorCQlyZXR1cm47CisKKwkvKiBub3cgYWxsb3cgbmF0aXZlX3NjaGVkX2Nsb2NrKCkgdG8gdXNlIHJkdHNjICovCisJdHNjX2Rpc2FibGVkID0gMDsKKworCXVzZV90c2NfZGVsYXkoKTsKKwkvKiBDaGVjayBhbmQgaW5zdGFsbCB0aGUgVFNDIGNsb2Nrc291cmNlICovCisJZG1pX2NoZWNrX3N5c3RlbShiYWRfdHNjX2RtaV90YWJsZSk7CisKKwlpZiAodW5zeW5jaHJvbml6ZWRfdHNjKCkpCisJCW1hcmtfdHNjX3Vuc3RhYmxlKCJUU0NzIHVuc3luY2hyb25pemVkIik7CisKKwljaGVja19nZW9kZV90c2NfcmVsaWFibGUoKTsKKwlpbml0X3RzY19jbG9ja3NvdXJjZSgpOworfQorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHNjXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHNjXzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YjcwNjMuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3RzY18zMi5jCisrKyAvZGV2L251bGwKQEAgLTEsNDUxICswLDAgQEAKLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+Ci0jaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+Ci0jaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgotI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZG1pLmg+Ci0jaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+Ci0KLSNpbmNsdWRlIDxhc20vZGVsYXkuaD4KLSNpbmNsdWRlIDxhc20vdHNjLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL3RpbWVyLmg+Ci0KLSNpbmNsdWRlICJtYWNoX3RpbWVyLmgiCi0KLS8qIG5hdGl2ZV9zY2hlZF9jbG9jaygpIGlzIGNhbGxlZCBiZWZvcmUgdHNjX2luaXQoKSwgc28KLSAgIHdlIG11c3Qgc3RhcnQgd2l0aCB0aGUgVFNDIHNvZnQgZGlzYWJsZWQgdG8gcHJldmVudAotICAgZXJyb25lb3VzIHJkdHNjIHVzYWdlIG9uICFjcHVfaGFzX3RzYyBwcm9jZXNzb3JzICovCi1zdGF0aWMgaW50IHRzY19kaXNhYmxlZCA9IC0xOwotCi0vKgotICogT24gc29tZSBzeXN0ZW1zIHRoZSBUU0MgZnJlcXVlbmN5IGRvZXMgbm90Ci0gKiBjaGFuZ2Ugd2l0aCB0aGUgY3B1IGZyZXF1ZW5jeS4gU28gd2UgbmVlZAotICogYW4gZXh0cmEgdmFsdWUgdG8gc3RvcmUgdGhlIFRTQyBmcmVxCi0gKi8KLXVuc2lnbmVkIGludCB0c2Nfa2h6OwotRVhQT1JUX1NZTUJPTF9HUEwodHNjX2toeik7Ci0KLSNpZmRlZiBDT05GSUdfWDg2X1RTQwotc3RhdGljIGludCBfX2luaXQgdHNjX3NldHVwKGNoYXIgKnN0cikKLXsKLQlwcmludGsoS0VSTl9XQVJOSU5HICJub3RzYzogS2VybmVsIGNvbXBpbGVkIHdpdGggQ09ORklHX1g4Nl9UU0MsICIKLQkgICAgICAgImNhbm5vdCBkaXNhYmxlIFRTQyBjb21wbGV0ZWx5LlxuIik7Ci0JdHNjX2Rpc2FibGVkID0gMTsKLQlyZXR1cm4gMTsKLX0KLSNlbHNlCi0vKgotICogZGlzYWJsZSBmbGFnIGZvciB0c2MuIFRha2VzIGVmZmVjdCBieSBjbGVhcmluZyB0aGUgVFNDIGNwdSBmbGFnCi0gKiBpbiBjcHUvY29tbW9uLmMKLSAqLwotc3RhdGljIGludCBfX2luaXQgdHNjX3NldHVwKGNoYXIgKnN0cikKLXsKLQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1RTQyk7Ci0JcmV0dXJuIDE7Ci19Ci0jZW5kaWYKLQotX19zZXR1cCgibm90c2MiLCB0c2Nfc2V0dXApOwotCi0vKgotICogY29kZSB0byBtYXJrIGFuZCBjaGVjayBpZiB0aGUgVFNDIGlzIHVuc3RhYmxlCi0gKiBkdWUgdG8gY3B1ZnJlcSBvciBkdWUgdG8gdW5zeW5jZWQgVFNDcwotICovCi1zdGF0aWMgaW50IHRzY191bnN0YWJsZTsKLQotaW50IGNoZWNrX3RzY191bnN0YWJsZSh2b2lkKQotewotCXJldHVybiB0c2NfdW5zdGFibGU7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChjaGVja190c2NfdW5zdGFibGUpOwotCi0vKiBBY2NlbGVyYXRvcnMgZm9yIHNjaGVkX2Nsb2NrKCkKLSAqIGNvbnZlcnQgZnJvbSBjeWNsZXMoNjRiaXRzKSA9PiBuYW5vc2Vjb25kcyAoNjRiaXRzKQotICogIGJhc2ljIGVxdWF0aW9uOgotICoJCW5zID0gY3ljbGVzIC8gKGZyZXEgLyBuc19wZXJfc2VjKQotICoJCW5zID0gY3ljbGVzICogKG5zX3Blcl9zZWMgLyBmcmVxKQotICoJCW5zID0gY3ljbGVzICogKDEwXjkgLyAoY3B1X2toeiAqIDEwXjMpKQotICoJCW5zID0gY3ljbGVzICogKDEwXjYgLyBjcHVfa2h6KQotICoKLSAqCVRoZW4gd2UgdXNlIHNjYWxpbmcgbWF0aCAoc3VnZ2VzdGVkIGJ5IGdlb3JnZUBtdmlzdGEuY29tKSB0byBnZXQ6Ci0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeNiAqIFNDIC8gY3B1X2toeikgLyBTQwotICoJCW5zID0gY3ljbGVzICogY3ljMm5zX3NjYWxlIC8gU0MKLSAqCi0gKglBbmQgc2luY2UgU0MgaXMgYSBjb25zdGFudCBwb3dlciBvZiB0d28sIHdlIGNhbiBjb252ZXJ0IHRoZSBkaXYKLSAqICBpbnRvIGEgc2hpZnQuCi0gKgotICogIFdlIGNhbiB1c2Uga2h6IGRpdmlzb3IgaW5zdGVhZCBvZiBtaHogdG8ga2VlcCBhIGJldHRlciBwcmVjaXNpb24sIHNpbmNlCi0gKiAgY3ljMm5zX3NjYWxlIGlzIGxpbWl0ZWQgdG8gMTBeNiAqIDJeMTAsIHdoaWNoIGZpdHMgaW4gMzIgYml0cy4KLSAqICAobWF0aGlldS5kZXNub3llcnNAcG9seW10bC5jYSkKLSAqCi0gKgkJCS1qb2huc3R1bEB1cy5pYm0uY29tICJtYXRoIGlzIGhhcmQsIGxldHMgZ28gc2hvcHBpbmchIgotICovCi0KLURFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIGN5YzJucyk7Ci0KLXN0YXRpYyB2b2lkIHNldF9jeWMybnNfc2NhbGUodW5zaWduZWQgbG9uZyBjcHVfa2h6LCBpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2Nfbm93LCBuc19ub3c7Ci0JdW5zaWduZWQgbG9uZyBmbGFncywgKnNjYWxlOwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCXNjaGVkX2Nsb2NrX2lkbGVfc2xlZXBfZXZlbnQoKTsKLQotCXNjYWxlID0gJnBlcl9jcHUoY3ljMm5zLCBjcHUpOwotCi0JcmR0c2NsbCh0c2Nfbm93KTsKLQluc19ub3cgPSBfX2N5Y2xlc18yX25zKHRzY19ub3cpOwotCi0JaWYgKGNwdV9raHopCi0JCSpzY2FsZSA9IChOU0VDX1BFUl9NU0VDIDw8IENZQzJOU19TQ0FMRV9GQUNUT1IpL2NwdV9raHo7Ci0KLQkvKgotCSAqIFN0YXJ0IHNtb290aGx5IHdpdGggdGhlIG5ldyBmcmVxdWVuY3k6Ci0JICovCi0Jc2NoZWRfY2xvY2tfaWRsZV93YWtldXBfZXZlbnQoMCk7Ci0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotfQotCi0vKgotICogU2NoZWR1bGVyIGNsb2NrIC0gcmV0dXJucyBjdXJyZW50IHRpbWUgaW4gbmFub3NlYyB1bml0cy4KLSAqLwotdW5zaWduZWQgbG9uZyBsb25nIG5hdGl2ZV9zY2hlZF9jbG9jayh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0aGlzX29mZnNldDsKLQotCS8qCi0JICogRmFsbCBiYWNrIHRvIGppZmZpZXMgaWYgdGhlcmUncyBubyBUU0MgYXZhaWxhYmxlOgotCSAqICggQnV0IG5vdGUgdGhhdCB3ZSBzdGlsbCB1c2UgaXQgaWYgdGhlIFRTQyBpcyBtYXJrZWQKLQkgKiAgIHVuc3RhYmxlLiBXZSBkbyB0aGlzIGJlY2F1c2UgdW5saWtlIFRpbWUgT2YgRGF5LAotCSAqICAgdGhlIHNjaGVkdWxlciBjbG9jayB0b2xlcmF0ZXMgc21hbGwgZXJyb3JzIGFuZCBpdCdzCi0JICogICB2ZXJ5IGltcG9ydGFudCBmb3IgaXQgdG8gYmUgYXMgZmFzdCBhcyB0aGUgcGxhdGZvcm0KLQkgKiAgIGNhbiBhY2hpdmUgaXQuICkKLQkgKi8KLQlpZiAodW5saWtlbHkodHNjX2Rpc2FibGVkKSkKLQkJLyogTm8gbG9ja2luZyBidXQgYSByYXJlIHdyb25nIHZhbHVlIGlzIG5vdCBhIGJpZyBkZWFsOiAqLwotCQlyZXR1cm4gKGppZmZpZXNfNjQgLSBJTklUSUFMX0pJRkZJRVMpICogKDEwMDAwMDAwMDAgLyBIWik7Ci0KLQkvKiByZWFkIHRoZSBUaW1lIFN0YW1wIENvdW50ZXI6ICovCi0JcmR0c2NsbCh0aGlzX29mZnNldCk7Ci0KLQkvKiByZXR1cm4gdGhlIHZhbHVlIGluIG5zICovCi0JcmV0dXJuIGN5Y2xlc18yX25zKHRoaXNfb2Zmc2V0KTsKLX0KLQotLyogV2UgbmVlZCB0byBkZWZpbmUgYSByZWFsIGZ1bmN0aW9uIGZvciBzY2hlZF9jbG9jaywgdG8gb3ZlcnJpZGUgdGhlCi0gICB3ZWFrIGRlZmF1bHQgdmVyc2lvbiAqLwotI2lmZGVmIENPTkZJR19QQVJBVklSVAotdW5zaWduZWQgbG9uZyBsb25nIHNjaGVkX2Nsb2NrKHZvaWQpCi17Ci0JcmV0dXJuIHBhcmF2aXJ0X3NjaGVkX2Nsb2NrKCk7Ci19Ci0jZWxzZQotdW5zaWduZWQgbG9uZyBsb25nIHNjaGVkX2Nsb2NrKHZvaWQpCi0JX19hdHRyaWJ1dGVfXygoYWxpYXMoIm5hdGl2ZV9zY2hlZF9jbG9jayIpKSk7Ci0jZW5kaWYKLQotdW5zaWduZWQgbG9uZyBuYXRpdmVfY2FsY3VsYXRlX2NwdV9raHoodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsIGVuZDsKLQl1bnNpZ25lZCBsb25nIGNvdW50OwotCXU2NCBkZWx0YTY0ID0gKHU2NClVTExPTkdfTUFYOwotCWludCBpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0KLQkvKiBydW4gMyB0aW1lcyB0byBlbnN1cmUgdGhlIGNhY2hlIGlzIHdhcm0gYW5kIHRvIGdldCBhbiBhY2N1cmF0ZSByZWFkaW5nICovCi0JZm9yIChpID0gMDsgaSA8IDM7IGkrKykgewotCQltYWNoX3ByZXBhcmVfY291bnRlcigpOwotCQlyZHRzY2xsKHN0YXJ0KTsKLQkJbWFjaF9jb3VudHVwKCZjb3VudCk7Ci0JCXJkdHNjbGwoZW5kKTsKLQotCQkvKgotCQkgKiBFcnJvcjogRUNUQ05FVkVSU0VUCi0JCSAqIFRoZSBDVEMgd2Fzbid0IHJlbGlhYmxlOiB3ZSBnb3QgYSBoaXQgb24gdGhlIHZlcnkgZmlyc3QgcmVhZCwKLQkJICogb3IgdGhlIENQVSB3YXMgc28gZmFzdC9zbG93IHRoYXQgdGhlIHF1b3RpZW50IHdvdWxkbid0IGZpdCBpbgotCQkgKiAzMiBiaXRzLi4KLQkJICovCi0JCWlmIChjb3VudCA8PSAxKQotCQkJY29udGludWU7Ci0KLQkJLyogY3B1IGZyZXEgdG9vIHNsb3c6ICovCi0JCWlmICgoZW5kIC0gc3RhcnQpIDw9IENBTElCUkFURV9USU1FX01TRUMpCi0JCQljb250aW51ZTsKLQotCQkvKgotCQkgKiBXZSB3YW50IHRoZSBtaW5pbXVtIHRpbWUgb2YgYWxsIHJ1bnMgaW4gY2FzZSBvbmUgb2YgdGhlbQotCQkgKiBpcyBpbmFjY3VyYXRlIGR1ZSB0byBTTUkgb3Igb3RoZXIgZGVsYXkKLQkJICovCi0JCWRlbHRhNjQgPSBtaW4oZGVsdGE2NCwgKGVuZCAtIHN0YXJ0KSk7Ci0JfQotCi0JLyogY3B1IGZyZXEgdG9vIGZhc3QgKG9yIGV2ZXJ5IHJ1biB3YXMgYmFkKTogKi8KLQlpZiAoZGVsdGE2NCA+ICgxVUxMPDwzMikpCi0JCWdvdG8gZXJyOwotCi0JZGVsdGE2NCArPSBDQUxJQlJBVEVfVElNRV9NU0VDLzI7IC8qIHJvdW5kIGZvciBkb19kaXYgKi8KLQlkb19kaXYoZGVsdGE2NCxDQUxJQlJBVEVfVElNRV9NU0VDKTsKLQotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLQlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpZGVsdGE2NDsKLWVycjoKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLWludCByZWNhbGlicmF0ZV9jcHVfa2h6KHZvaWQpCi17Ci0jaWZuZGVmIENPTkZJR19TTVAKLQl1bnNpZ25lZCBsb25nIGNwdV9raHpfb2xkID0gY3B1X2toejsKLQotCWlmIChjcHVfaGFzX3RzYykgewotCQljcHVfa2h6ID0gY2FsY3VsYXRlX2NwdV9raHooKTsKLQkJdHNjX2toeiA9IGNwdV9raHo7Ci0JCWNwdV9kYXRhKDApLmxvb3BzX3Blcl9qaWZmeSA9Ci0JCQljcHVmcmVxX3NjYWxlKGNwdV9kYXRhKDApLmxvb3BzX3Blcl9qaWZmeSwKLQkJCQkJY3B1X2toel9vbGQsIGNwdV9raHopOwotCQlyZXR1cm4gMDsKLQl9IGVsc2UKLQkJcmV0dXJuIC1FTk9ERVY7Ci0jZWxzZQotCXJldHVybiAtRU5PREVWOwotI2VuZGlmCi19Ci0KLUVYUE9SVF9TWU1CT0wocmVjYWxpYnJhdGVfY3B1X2toeik7Ci0KLSNpZmRlZiBDT05GSUdfQ1BVX0ZSRVEKLQotLyoKLSAqIGlmIHRoZSBDUFUgZnJlcXVlbmN5IGlzIHNjYWxlZCwgVFNDLWJhc2VkIGRlbGF5cyB3aWxsIG5lZWQgYSBkaWZmZXJlbnQKLSAqIGxvb3BzX3Blcl9qaWZmeSB2YWx1ZSB0byBmdW5jdGlvbiBwcm9wZXJseS4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGludCByZWZfZnJlcTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvb3BzX3Blcl9qaWZmeV9yZWY7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBjcHVfa2h6X3JlZjsKLQotc3RhdGljIGludAotdGltZV9jcHVmcmVxX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgdmFsLCB2b2lkICpkYXRhKQotewotCXN0cnVjdCBjcHVmcmVxX2ZyZXFzICpmcmVxID0gZGF0YTsKLQotCWlmICghcmVmX2ZyZXEpIHsKLQkJaWYgKCFmcmVxLT5vbGQpewotCQkJcmVmX2ZyZXEgPSBmcmVxLT5uZXc7Ci0JCQlyZXR1cm4gMDsKLQkJfQotCQlyZWZfZnJlcSA9IGZyZXEtPm9sZDsKLQkJbG9vcHNfcGVyX2ppZmZ5X3JlZiA9IGNwdV9kYXRhKGZyZXEtPmNwdSkubG9vcHNfcGVyX2ppZmZ5OwotCQljcHVfa2h6X3JlZiA9IGNwdV9raHo7Ci0JfQotCi0JaWYgKCh2YWwgPT0gQ1BVRlJFUV9QUkVDSEFOR0UgICYmIGZyZXEtPm9sZCA8IGZyZXEtPm5ldykgfHwKLQkgICAgKHZhbCA9PSBDUFVGUkVRX1BPU1RDSEFOR0UgJiYgZnJlcS0+b2xkID4gZnJlcS0+bmV3KSB8fAotCSAgICAodmFsID09IENQVUZSRVFfUkVTVU1FQ0hBTkdFKSkgewotCQlpZiAoIShmcmVxLT5mbGFncyAmIENQVUZSRVFfQ09OU1RfTE9PUFMpKQotCQkJY3B1X2RhdGEoZnJlcS0+Y3B1KS5sb29wc19wZXJfamlmZnkgPQotCQkJCWNwdWZyZXFfc2NhbGUobG9vcHNfcGVyX2ppZmZ5X3JlZiwKLQkJCQkJCXJlZl9mcmVxLCBmcmVxLT5uZXcpOwotCi0JCWlmIChjcHVfa2h6KSB7Ci0KLQkJCWlmIChudW1fb25saW5lX2NwdXMoKSA9PSAxKQotCQkJCWNwdV9raHogPSBjcHVmcmVxX3NjYWxlKGNwdV9raHpfcmVmLAotCQkJCQkJcmVmX2ZyZXEsIGZyZXEtPm5ldyk7Ci0JCQlpZiAoIShmcmVxLT5mbGFncyAmIENQVUZSRVFfQ09OU1RfTE9PUFMpKSB7Ci0JCQkJdHNjX2toeiA9IGNwdV9raHo7Ci0JCQkJc2V0X2N5YzJuc19zY2FsZShjcHVfa2h6LCBmcmVxLT5jcHUpOwotCQkJCS8qCi0JCQkJICogVFNDIGJhc2VkIHNjaGVkX2Nsb2NrIHR1cm5zCi0JCQkJICogdG8ganVuayB3LyBjcHVmcmVxCi0JCQkJICovCi0JCQkJbWFya190c2NfdW5zdGFibGUoImNwdWZyZXEgY2hhbmdlcyIpOwotCQkJfQotCQl9Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrID0gewotCS5ub3RpZmllcl9jYWxsCT0gdGltZV9jcHVmcmVxX25vdGlmaWVyCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBjcHVmcmVxX3RzYyh2b2lkKQotewotCXJldHVybiBjcHVmcmVxX3JlZ2lzdGVyX25vdGlmaWVyKCZ0aW1lX2NwdWZyZXFfbm90aWZpZXJfYmxvY2ssCi0JCQkJCSBDUFVGUkVRX1RSQU5TSVRJT05fTk9USUZJRVIpOwotfQotY29yZV9pbml0Y2FsbChjcHVmcmVxX3RzYyk7Ci0KLSNlbmRpZgotCi0vKiBjbG9jayBzb3VyY2UgY29kZSAqLwotCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBjdXJyZW50X3RzY19raHo7Ci1zdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYzsKLQotLyoKLSAqIFdlIGNvbXBhcmUgdGhlIFRTQyB0byB0aGUgY3ljbGVfbGFzdCB2YWx1ZSBpbiB0aGUgY2xvY2tzb3VyY2UKLSAqIHN0cnVjdHVyZSB0byBhdm9pZCBhIG5hc3R5IHRpbWUtd2FycCBpc3N1ZS4gVGhpcyBjYW4gYmUgb2JzZXJ2ZWQgaW4KLSAqIGEgdmVyeSBzbWFsbCB3aW5kb3cgcmlnaHQgYWZ0ZXIgb25lIENQVSB1cGRhdGVkIGN5Y2xlX2xhc3QgdW5kZXIKLSAqIHh0aW1lIGxvY2sgYW5kIHRoZSBvdGhlciBDUFUgcmVhZHMgYSBUU0MgdmFsdWUgd2hpY2ggaXMgc21hbGxlcgotICogdGhhbiB0aGUgY3ljbGVfbGFzdCByZWZlcmVuY2UgdmFsdWUgZHVlIHRvIGEgVFNDIHdoaWNoIGlzIHNsaWdodHkKLSAqIGJlaGluZC4gVGhpcyBkZWx0YSBpcyBub3doZXJlIGVsc2Ugb2JzZXJ2YWJsZSwgYnV0IGluIHRoYXQgY2FzZSBpdAotICogcmVzdWx0cyBpbiBhIGZvcndhcmQgdGltZSBqdW1wIGluIHRoZSByYW5nZSBvZiBob3VycyBkdWUgdG8gdGhlCi0gKiB1bnNpZ25lZCBkZWx0YSBjYWxjdWxhdGlvbiBvZiB0aGUgdGltZSBrZWVwaW5nIGNvcmUgY29kZSwgd2hpY2ggaXMKLSAqIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHdyYXBwaW5nIGNsb2Nrc291cmNlcyBsaWtlIHBtIHRpbWVyLgotICovCi1zdGF0aWMgY3ljbGVfdCByZWFkX3RzYyh2b2lkKQotewotCWN5Y2xlX3QgcmV0OwotCi0JcmR0c2NsbChyZXQpOwotCi0JcmV0dXJuIHJldCA+PSBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdCA/Ci0JCXJldCA6IGNsb2Nrc291cmNlX3RzYy5jeWNsZV9sYXN0OwotfQotCi1zdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYyA9IHsKLQkubmFtZQkJCT0gInRzYyIsCi0JLnJhdGluZwkJCT0gMzAwLAotCS5yZWFkCQkJPSByZWFkX3RzYywKLQkubWFzawkJCT0gQ0xPQ0tTT1VSQ0VfTUFTSyg2NCksCi0JLm11bHQJCQk9IDAsIC8qIHRvIGJlIHNldCAqLwotCS5zaGlmdAkJCT0gMjIsCi0JLmZsYWdzCQkJPSBDTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUyB8Ci0JCQkJICBDTE9DS19TT1VSQ0VfTVVTVF9WRVJJRlksCi19OwotCi12b2lkIG1hcmtfdHNjX3Vuc3RhYmxlKGNoYXIgKnJlYXNvbikKLXsKLQlpZiAoIXRzY191bnN0YWJsZSkgewotCQl0c2NfdW5zdGFibGUgPSAxOwotCQlwcmludGsoIk1hcmtpbmcgVFNDIHVuc3RhYmxlIGR1ZSB0bzogJXMuXG4iLCByZWFzb24pOwotCQkvKiBDYW4gYmUgY2FsbGVkIGJlZm9yZSByZWdpc3RyYXRpb24gKi8KLQkJaWYgKGNsb2Nrc291cmNlX3RzYy5tdWx0KQotCQkJY2xvY2tzb3VyY2VfY2hhbmdlX3JhdGluZygmY2xvY2tzb3VyY2VfdHNjLCAwKTsKLQkJZWxzZQotCQkJY2xvY2tzb3VyY2VfdHNjLnJhdGluZyA9IDA7Ci0JfQotfQotRVhQT1JUX1NZTUJPTF9HUEwobWFya190c2NfdW5zdGFibGUpOwotCi1zdGF0aWMgaW50IF9faW5pdCBkbWlfbWFya190c2NfdW5zdGFibGUoY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgKmQpCi17Ci0JcHJpbnRrKEtFUk5fTk9USUNFICIlcyBkZXRlY3RlZDogbWFya2luZyBUU0MgdW5zdGFibGUuXG4iLAotCSAgICAgICBkLT5pZGVudCk7Ci0JdHNjX3Vuc3RhYmxlID0gMTsKLQlyZXR1cm4gMDsKLX0KLQotLyogTGlzdCBvZiBzeXN0ZW1zIHRoYXQgaGF2ZSBrbm93biBUU0MgcHJvYmxlbXMgKi8KLXN0YXRpYyBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCBfX2luaXRkYXRhIGJhZF90c2NfZG1pX3RhYmxlW10gPSB7Ci0JewotCSAuY2FsbGJhY2sgPSBkbWlfbWFya190c2NfdW5zdGFibGUsCi0JIC5pZGVudCA9ICJJQk0gVGhpbmtwYWQgMzgwWEQiLAotCSAubWF0Y2hlcyA9IHsKLQkJICAgICBETUlfTUFUQ0goRE1JX0JPQVJEX1ZFTkRPUiwgIklCTSIpLAotCQkgICAgIERNSV9NQVRDSChETUlfQk9BUkRfTkFNRSwgIjI2MzVGQTAiKSwKLQkJICAgICB9LAotCSB9LAotCSB7fQotfTsKLQotLyoKLSAqIE1ha2UgYW4gZWR1Y2F0ZWQgZ3Vlc3MgaWYgdGhlIFRTQyBpcyB0cnVzdHdvcnRoeSBhbmQgc3luY2hyb25pemVkCi0gKiBvdmVyIGFsbCBDUFVzLgotICovCi1fX2NwdWluaXQgaW50IHVuc3luY2hyb25pemVkX3RzYyh2b2lkKQotewotCWlmICghY3B1X2hhc190c2MgfHwgdHNjX3Vuc3RhYmxlKQotCQlyZXR1cm4gMTsKLQotCS8qIEFueXRoaW5nIHdpdGggY29uc3RhbnQgVFNDIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgKi8KLQlpZiAoYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykpCi0JCXJldHVybiAwOwotCi0JLyoKLQkgKiBJbnRlbCBzeXN0ZW1zIGFyZSBub3JtYWxseSBhbGwgc3luY2hyb25pemVkLgotCSAqIEV4Y2VwdGlvbnMgbXVzdCBtYXJrIFRTQyBhcyB1bnN0YWJsZToKLQkgKi8KLQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfSU5URUwpIHsKLQkJLyogYXNzdW1lIG11bHRpIHNvY2tldCBzeXN0ZW1zIGFyZSBub3Qgc3luY2hyb25pemVkOiAqLwotCQlpZiAobnVtX3Bvc3NpYmxlX2NwdXMoKSA+IDEpCi0JCQl0c2NfdW5zdGFibGUgPSAxOwotCX0KLQlyZXR1cm4gdHNjX3Vuc3RhYmxlOwotfQotCi0vKgotICogR2VvZGVfTFggLSB0aGUgT0xQQyBDUFUgaGFzIGEgcG9zc2libHkgYSB2ZXJ5IHJlbGlhYmxlIFRTQwotICovCi0jaWZkZWYgQ09ORklHX01HRU9ERV9MWAotLyogUlRTQyBjb3VudHMgZHVyaW5nIHN1c3BlbmQgKi8KLSNkZWZpbmUgUlRTQ19TVVNQIDB4MTAwCi0KLXN0YXRpYyB2b2lkIF9faW5pdCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHJlc19sb3csIHJlc19oaWdoOwotCi0JcmRtc3Jfc2FmZShNU1JfR0VPREVfQlVTQ09OVF9DT05GMCwgJnJlc19sb3csICZyZXNfaGlnaCk7Ci0JaWYgKHJlc19sb3cgJiBSVFNDX1NVU1ApCi0JCWNsb2Nrc291cmNlX3RzYy5mbGFncyAmPSB+Q0xPQ0tfU09VUkNFX01VU1RfVkVSSUZZOwotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkgeyB9Ci0jZW5kaWYKLQotCi12b2lkIF9faW5pdCB0c2NfaW5pdCh2b2lkKQotewotCWludCBjcHU7Ci0KLQlpZiAoIWNwdV9oYXNfdHNjIHx8IHRzY19kaXNhYmxlZCA+IDApCi0JCXJldHVybjsKLQotCWNwdV9raHogPSBjYWxjdWxhdGVfY3B1X2toeigpOwotCXRzY19raHogPSBjcHVfa2h6OwotCi0JaWYgKCFjcHVfa2h6KSB7Ci0JCW1hcmtfdHNjX3Vuc3RhYmxlKCJjb3VsZCBub3QgY2FsY3VsYXRlIFRTQyBraHoiKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIG5vdyBhbGxvdyBuYXRpdmVfc2NoZWRfY2xvY2soKSB0byB1c2UgcmR0c2MgKi8KLQl0c2NfZGlzYWJsZWQgPSAwOwotCi0JcHJpbnRrKCJEZXRlY3RlZCAlbHUuJTAzbHUgTUh6IHByb2Nlc3Nvci5cbiIsCi0JCQkJKHVuc2lnbmVkIGxvbmcpY3B1X2toeiAvIDEwMDAsCi0JCQkJKHVuc2lnbmVkIGxvbmcpY3B1X2toeiAlIDEwMDApOwotCi0JLyoKLQkgKiBTZWNvbmRhcnkgQ1BVcyBkbyBub3QgcnVuIHRocm91Z2ggdHNjX2luaXQoKSwgc28gc2V0IHVwCi0JICogYWxsIHRoZSBzY2FsZSBmYWN0b3JzIGZvciBhbGwgQ1BVcywgYXNzdW1pbmcgdGhlIHNhbWUKLQkgKiBzcGVlZCBhcyB0aGUgYm9vdHVwIENQVS4gKGNwdWZyZXEgbm90aWZpZXJzIHdpbGwgZml4IHRoaXMKLQkgKiB1cCBpZiB0aGVpciBzcGVlZCBkaXZlcmdlcykKLQkgKi8KLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KQotCQlzZXRfY3ljMm5zX3NjYWxlKGNwdV9raHosIGNwdSk7Ci0KLQl1c2VfdHNjX2RlbGF5KCk7Ci0KLQkvKiBDaGVjayBhbmQgaW5zdGFsbCB0aGUgVFNDIGNsb2Nrc291cmNlICovCi0JZG1pX2NoZWNrX3N5c3RlbShiYWRfdHNjX2RtaV90YWJsZSk7Ci0KLQl1bnN5bmNocm9uaXplZF90c2MoKTsKLQljaGVja19nZW9kZV90c2NfcmVsaWFibGUoKTsKLQljdXJyZW50X3RzY19raHogPSB0c2Nfa2h6OwotCWNsb2Nrc291cmNlX3RzYy5tdWx0ID0gY2xvY2tzb3VyY2Vfa2h6Mm11bHQoY3VycmVudF90c2Nfa2h6LAotCQkJCQkJCWNsb2Nrc291cmNlX3RzYy5zaGlmdCk7Ci0JLyogbG93ZXIgdGhlIHJhdGluZyBpZiB3ZSBhbHJlYWR5IGtub3cgaXRzIHVuc3RhYmxlOiAqLwotCWlmIChjaGVja190c2NfdW5zdGFibGUoKSkgewotCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKLQkJY2xvY2tzb3VyY2VfdHNjLmZsYWdzICY9IH5DTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUzsKLQl9Ci0JY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX3RzYyk7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHNjXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHNjXzY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3ODRiODAuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3RzY182NC5jCisrKyAvZGV2L251bGwKQEAgLTEsMzU3ICswLDAgQEAKLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KLSNpbmNsdWRlIDxsaW51eC9hY3BpLmg+Ci0jaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgotI2luY2x1ZGUgPGxpbnV4L2FjcGlfcG10bXIuaD4KLQotI2luY2x1ZGUgPGFzbS9ocGV0Lmg+Ci0jaW5jbHVkZSA8YXNtL3RpbWV4Lmg+Ci0jaW5jbHVkZSA8YXNtL3RpbWVyLmg+Ci0jaW5jbHVkZSA8YXNtL3ZndG9kLmg+Ci0KLXN0YXRpYyBpbnQgbm90c2MgX19pbml0ZGF0YSA9IDA7Ci0KLXVuc2lnbmVkIGludCBjcHVfa2h6OwkJLyogVFNDIGNsb2NrcyAvIHVzZWMsIG5vdCB1c2VkIGhlcmUgKi8KLUVYUE9SVF9TWU1CT0woY3B1X2toeik7Ci11bnNpZ25lZCBpbnQgdHNjX2toejsKLUVYUE9SVF9TWU1CT0wodHNjX2toeik7Ci0KLS8qIEFjY2VsZXJhdG9ycyBmb3Igc2NoZWRfY2xvY2soKQotICogY29udmVydCBmcm9tIGN5Y2xlcyg2NGJpdHMpID0+IG5hbm9zZWNvbmRzICg2NGJpdHMpCi0gKiAgYmFzaWMgZXF1YXRpb246Ci0gKgkJbnMgPSBjeWNsZXMgLyAoZnJlcSAvIG5zX3Blcl9zZWMpCi0gKgkJbnMgPSBjeWNsZXMgKiAobnNfcGVyX3NlYyAvIGZyZXEpCi0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeOSAvIChjcHVfa2h6ICogMTBeMykpCi0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeNiAvIGNwdV9raHopCi0gKgotICoJVGhlbiB3ZSB1c2Ugc2NhbGluZyBtYXRoIChzdWdnZXN0ZWQgYnkgZ2VvcmdlQG12aXN0YS5jb20pIHRvIGdldDoKLSAqCQlucyA9IGN5Y2xlcyAqICgxMF42ICogU0MgLyBjcHVfa2h6KSAvIFNDCi0gKgkJbnMgPSBjeWNsZXMgKiBjeWMybnNfc2NhbGUgLyBTQwotICoKLSAqCUFuZCBzaW5jZSBTQyBpcyBhIGNvbnN0YW50IHBvd2VyIG9mIHR3bywgd2UgY2FuIGNvbnZlcnQgdGhlIGRpdgotICogIGludG8gYSBzaGlmdC4KLSAqCi0gKiAgV2UgY2FuIHVzZSBraHogZGl2aXNvciBpbnN0ZWFkIG9mIG1oeiB0byBrZWVwIGEgYmV0dGVyIHByZWNpc2lvbiwgc2luY2UKLSAqICBjeWMybnNfc2NhbGUgaXMgbGltaXRlZCB0byAxMF42ICogMl4xMCwgd2hpY2ggZml0cyBpbiAzMiBiaXRzLgotICogIChtYXRoaWV1LmRlc25veWVyc0Bwb2x5bXRsLmNhKQotICoKLSAqCQkJLWpvaG5zdHVsQHVzLmlibS5jb20gIm1hdGggaXMgaGFyZCwgbGV0cyBnbyBzaG9wcGluZyEiCi0gKi8KLURFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIGN5YzJucyk7Ci0KLXN0YXRpYyB2b2lkIHNldF9jeWMybnNfc2NhbGUodW5zaWduZWQgbG9uZyBjcHVfa2h6LCBpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2Nfbm93LCBuc19ub3c7Ci0JdW5zaWduZWQgbG9uZyBmbGFncywgKnNjYWxlOwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCXNjaGVkX2Nsb2NrX2lkbGVfc2xlZXBfZXZlbnQoKTsKLQotCXNjYWxlID0gJnBlcl9jcHUoY3ljMm5zLCBjcHUpOwotCi0JcmR0c2NsbCh0c2Nfbm93KTsKLQluc19ub3cgPSBfX2N5Y2xlc18yX25zKHRzY19ub3cpOwotCi0JaWYgKGNwdV9raHopCi0JCSpzY2FsZSA9IChOU0VDX1BFUl9NU0VDIDw8IENZQzJOU19TQ0FMRV9GQUNUT1IpL2NwdV9raHo7Ci0KLQlzY2hlZF9jbG9ja19pZGxlX3dha2V1cF9ldmVudCgwKTsKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBuYXRpdmVfc2NoZWRfY2xvY2sodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGEgPSAwOwotCi0JLyogQ291bGQgZG8gQ1BVIGNvcmUgc3luYyBoZXJlLiBPcHRlcm9uIGNhbiBleGVjdXRlIHJkdHNjIHNwZWN1bGF0aXZlbHksCi0JICogd2hpY2ggbWVhbnMgaXQgaXMgbm90IGNvbXBsZXRlbHkgZXhhY3QgYW5kIG1heSBub3QgYmUgbW9ub3Rvbm91cwotCSAqIGJldHdlZW4gQ1BVcy4gQnV0IHRoZSBlcnJvcnMgc2hvdWxkIGJlIHRvbyBzbWFsbCB0byBtYXR0ZXIgZm9yCi0JICogc2NoZWR1bGluZyBwdXJwb3Nlcy4KLQkgKi8KLQotCXJkdHNjbGwoYSk7Ci0JcmV0dXJuIGN5Y2xlc18yX25zKGEpOwotfQotCi0vKiBXZSBuZWVkIHRvIGRlZmluZSBhIHJlYWwgZnVuY3Rpb24gZm9yIHNjaGVkX2Nsb2NrLCB0byBvdmVycmlkZSB0aGUKLSAgIHdlYWsgZGVmYXVsdCB2ZXJzaW9uICovCi0jaWZkZWYgQ09ORklHX1BBUkFWSVJUCi11bnNpZ25lZCBsb25nIGxvbmcgc2NoZWRfY2xvY2sodm9pZCkKLXsKLQlyZXR1cm4gcGFyYXZpcnRfc2NoZWRfY2xvY2soKTsKLX0KLSNlbHNlCi11bnNpZ25lZCBsb25nIGxvbmcKLXNjaGVkX2Nsb2NrKHZvaWQpIF9fYXR0cmlidXRlX18oKGFsaWFzKCJuYXRpdmVfc2NoZWRfY2xvY2siKSkpOwotI2VuZGlmCi0KLQotc3RhdGljIGludCB0c2NfdW5zdGFibGU7Ci0KLWludCBjaGVja190c2NfdW5zdGFibGUodm9pZCkKLXsKLQlyZXR1cm4gdHNjX3Vuc3RhYmxlOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoY2hlY2tfdHNjX3Vuc3RhYmxlKTsKLQotI2lmZGVmIENPTkZJR19DUFVfRlJFUQotCi0vKiBGcmVxdWVuY3kgc2NhbGluZyBzdXBwb3J0LiBBZGp1c3QgdGhlIFRTQyBiYXNlZCB0aW1lciB3aGVuIHRoZSBjcHUgZnJlcXVlbmN5Ci0gKiBjaGFuZ2VzLgotICoKLSAqIFJFRC1QRU46IE9uIFNNUCB3ZSBhc3N1bWUgYWxsIENQVXMgcnVuIHdpdGggdGhlIHNhbWUgZnJlcXVlbmN5LiAgSXQncwotICogbm90IHRoYXQgaW1wb3J0YW50IGJlY2F1c2UgY3VycmVudCBPcHRlcm9uIHNldHVwcyBkbyBub3Qgc3VwcG9ydAotICogc2NhbGluZyBvbiBTTVAgYW55cm9hZHMuCi0gKgotICogU2hvdWxkIGZpeCB1cCBsYXN0X3RzYyB0b28uIEN1cnJlbnRseSBnZXR0aW1lb2ZkYXkgaW4gdGhlCi0gKiBmaXJzdCB0aWNrIGFmdGVyIHRoZSBjaGFuZ2Ugd2lsbCBiZSBzbGlnaHRseSB3cm9uZy4KLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgaW50ICByZWZfZnJlcTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvb3BzX3Blcl9qaWZmeV9yZWY7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyB0c2Nfa2h6X3JlZjsKLQotc3RhdGljIGludCB0aW1lX2NwdWZyZXFfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyB2YWwsCi0JCQkJIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IGNwdWZyZXFfZnJlcXMgKmZyZXEgPSBkYXRhOwotCXVuc2lnbmVkIGxvbmcgKmxwaiwgZHVtbXk7Ci0KLQlpZiAoY3B1X2hhcygmY3B1X2RhdGEoZnJlcS0+Y3B1KSwgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSkKLQkJcmV0dXJuIDA7Ci0KLQlscGogPSAmZHVtbXk7Ci0JaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKLSNpZmRlZiBDT05GSUdfU01QCi0JCWxwaiA9ICZjcHVfZGF0YShmcmVxLT5jcHUpLmxvb3BzX3Blcl9qaWZmeTsKLSNlbHNlCi0JCWxwaiA9ICZib290X2NwdV9kYXRhLmxvb3BzX3Blcl9qaWZmeTsKLSNlbmRpZgotCi0JaWYgKCFyZWZfZnJlcSkgewotCQlyZWZfZnJlcSA9IGZyZXEtPm9sZDsKLQkJbG9vcHNfcGVyX2ppZmZ5X3JlZiA9ICpscGo7Ci0JCXRzY19raHpfcmVmID0gdHNjX2toejsKLQl9Ci0JaWYgKCh2YWwgPT0gQ1BVRlJFUV9QUkVDSEFOR0UgICYmIGZyZXEtPm9sZCA8IGZyZXEtPm5ldykgfHwKLQkJKHZhbCA9PSBDUFVGUkVRX1BPU1RDSEFOR0UgJiYgZnJlcS0+b2xkID4gZnJlcS0+bmV3KSB8fAotCQkodmFsID09IENQVUZSRVFfUkVTVU1FQ0hBTkdFKSkgewotCQkqbHBqID0KLQkJY3B1ZnJlcV9zY2FsZShsb29wc19wZXJfamlmZnlfcmVmLCByZWZfZnJlcSwgZnJlcS0+bmV3KTsKLQotCQl0c2Nfa2h6ID0gY3B1ZnJlcV9zY2FsZSh0c2Nfa2h6X3JlZiwgcmVmX2ZyZXEsIGZyZXEtPm5ldyk7Ci0JCWlmICghKGZyZXEtPmZsYWdzICYgQ1BVRlJFUV9DT05TVF9MT09QUykpCi0JCQltYXJrX3RzY191bnN0YWJsZSgiY3B1ZnJlcSBjaGFuZ2VzIik7Ci0JfQotCi0Jc2V0X2N5YzJuc19zY2FsZSh0c2Nfa2h6X3JlZiwgZnJlcS0+Y3B1KTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHRpbWVfY3B1ZnJlcV9ub3RpZmllcl9ibG9jayA9IHsKLQkubm90aWZpZXJfY2FsbCAgPSB0aW1lX2NwdWZyZXFfbm90aWZpZXIKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGNwdWZyZXFfdHNjKHZvaWQpCi17Ci0JY3B1ZnJlcV9yZWdpc3Rlcl9ub3RpZmllcigmdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrLAotCQkJCSAgQ1BVRlJFUV9UUkFOU0lUSU9OX05PVElGSUVSKTsKLQlyZXR1cm4gMDsKLX0KLQotY29yZV9pbml0Y2FsbChjcHVmcmVxX3RzYyk7Ci0KLSNlbmRpZgotCi0jZGVmaW5lIE1BWF9SRVRSSUVTCTUKLSNkZWZpbmUgU01JX1RSRVNIT0xECTUwMDAwCi0KLS8qCi0gKiBSZWFkIFRTQyBhbmQgdGhlIHJlZmVyZW5jZSBjb3VudGVycy4gVGFrZSBjYXJlIG9mIFNNSSBkaXN0dXJiYW5jZQotICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXQgdHNjX3JlYWRfcmVmcyh1bnNpZ25lZCBsb25nICpwbSwKLQkJCQkJICB1bnNpZ25lZCBsb25nICpocGV0KQotewotCXVuc2lnbmVkIGxvbmcgdDEsIHQyOwotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IE1BWF9SRVRSSUVTOyBpKyspIHsKLQkJdDEgPSBnZXRfY3ljbGVzKCk7Ci0JCWlmIChocGV0KQotCQkJKmhwZXQgPSBocGV0X3JlYWRsKEhQRVRfQ09VTlRFUikgJiAweEZGRkZGRkZGOwotCQllbHNlCi0JCQkqcG0gPSBhY3BpX3BtX3JlYWRfZWFybHkoKTsKLQkJdDIgPSBnZXRfY3ljbGVzKCk7Ci0JCWlmICgodDIgLSB0MSkgPCBTTUlfVFJFU0hPTEQpCi0JCQlyZXR1cm4gdDI7Ci0JfQotCXJldHVybiBVTE9OR19NQVg7Ci19Ci0KLS8qKgotICogdHNjX2NhbGlicmF0ZSAtIGNhbGlicmF0ZSB0aGUgdHNjIG9uIGJvb3QKLSAqLwotdm9pZCBfX2luaXQgdHNjX2NhbGlicmF0ZSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIHRzYzEsIHRzYzIsIHRyMSwgdHIyLCBwbTEsIHBtMiwgaHBldDEsIGhwZXQyOwotCWludCBocGV0ID0gaXNfaHBldF9lbmFibGVkKCksIGNwdTsKLQotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQotCXRzYzEgPSB0c2NfcmVhZF9yZWZzKCZwbTEsIGhwZXQgPyAmaHBldDEgOiBOVUxMKTsKLQotCW91dGIoKGluYigweDYxKSAmIH4weDAyKSB8IDB4MDEsIDB4NjEpOwotCi0Jb3V0YigweGIwLCAweDQzKTsKLQlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgJiAweGZmLCAweDQyKTsKLQlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgPj4gOCwgMHg0Mik7Ci0JdHIxID0gZ2V0X2N5Y2xlcygpOwotCXdoaWxlICgoaW5iKDB4NjEpICYgMHgyMCkgPT0gMCk7Ci0JdHIyID0gZ2V0X2N5Y2xlcygpOwotCi0JdHNjMiA9IHRzY19yZWFkX3JlZnMoJnBtMiwgaHBldCA/ICZocGV0MiA6IE5VTEwpOwotCi0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCi0JLyoKLQkgKiBQcmVzZXQgdGhlIHJlc3VsdCB3aXRoIHRoZSByYXcgYW5kIGluYWNjdXJhdGUgUElUCi0JICogY2FsaWJyYXRpb24gdmFsdWUKLQkgKi8KLQl0c2Nfa2h6ID0gKHRyMiAtIHRyMSkgLyA1MDsKLQotCS8qIGhwZXQgb3IgcG10aW1lciBhdmFpbGFibGUgPyAqLwotCWlmICghaHBldCAmJiAhcG0xICYmICFwbTIpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiVFNDIGNhbGlicmF0ZWQgYWdhaW5zdCBQSVRcbiIpOwotCQlnb3RvIG91dDsKLQl9Ci0KLQkvKiBDaGVjaywgd2hldGhlciB0aGUgc2FtcGxpbmcgd2FzIGRpc3R1cmJlZCBieSBhbiBTTUkgKi8KLQlpZiAodHNjMSA9PSBVTE9OR19NQVggfHwgdHNjMiA9PSBVTE9OR19NQVgpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVFNDIGNhbGlicmF0aW9uIGRpc3R1cmJlZCBieSBTTUksICIKLQkJICAgICAgICJ1c2luZyBQSVQgY2FsaWJyYXRpb24gcmVzdWx0XG4iKTsKLQkJZ290byBvdXQ7Ci0JfQotCi0JdHNjMiA9ICh0c2MyIC0gdHNjMSkgKiAxMDAwMDAwTDsKLQotCWlmIChocGV0KSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgSFBFVFxuIik7Ci0JCWlmIChocGV0MiA8IGhwZXQxKQotCQkJaHBldDIgKz0gMHgxMDAwMDAwMDA7Ci0JCWhwZXQyIC09IGhwZXQxOwotCQl0c2MxID0gKGhwZXQyICogaHBldF9yZWFkbChIUEVUX1BFUklPRCkpIC8gMTAwMDAwMDsKLQl9IGVsc2UgewotCQlwcmludGsoS0VSTl9JTkZPICJUU0MgY2FsaWJyYXRlZCBhZ2FpbnN0IFBNX1RJTUVSXG4iKTsKLQkJaWYgKHBtMiA8IHBtMSkKLQkJCXBtMiArPSBBQ1BJX1BNX09WUlJVTjsKLQkJcG0yIC09IHBtMTsKLQkJdHNjMSA9IChwbTIgKiAxMDAwMDAwMDAwKSAvIFBNVE1SX1RJQ0tTX1BFUl9TRUM7Ci0JfQotCi0JdHNjX2toeiA9IHRzYzIgLyB0c2MxOwotCi1vdXQ6Ci0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkKLQkJc2V0X2N5YzJuc19zY2FsZSh0c2Nfa2h6LCBjcHUpOwotfQotCi0vKgotICogTWFrZSBhbiBlZHVjYXRlZCBndWVzcyBpZiB0aGUgVFNDIGlzIHRydXN0d29ydGh5IGFuZCBzeW5jaHJvbml6ZWQKLSAqIG92ZXIgYWxsIENQVXMuCi0gKi8KLV9fY3B1aW5pdCBpbnQgdW5zeW5jaHJvbml6ZWRfdHNjKHZvaWQpCi17Ci0JaWYgKHRzY191bnN0YWJsZSkKLQkJcmV0dXJuIDE7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JaWYgKGFwaWNfaXNfY2x1c3RlcmVkX2JveCgpKQotCQlyZXR1cm4gMTsKLSNlbmRpZgotCi0JaWYgKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpKQotCQlyZXR1cm4gMDsKLQotCS8qIEFzc3VtZSBtdWx0aSBzb2NrZXQgc3lzdGVtcyBhcmUgbm90IHN5bmNocm9uaXplZCAqLwotCXJldHVybiBudW1fcHJlc2VudF9jcHVzKCkgPiAxOwotfQotCi1pbnQgX19pbml0IG5vdHNjX3NldHVwKGNoYXIgKnMpCi17Ci0Jbm90c2MgPSAxOwotCXJldHVybiAxOwotfQotCi1fX3NldHVwKCJub3RzYyIsIG5vdHNjX3NldHVwKTsKLQotc3RhdGljIHN0cnVjdCBjbG9ja3NvdXJjZSBjbG9ja3NvdXJjZV90c2M7Ci0KLS8qCi0gKiBXZSBjb21wYXJlIHRoZSBUU0MgdG8gdGhlIGN5Y2xlX2xhc3QgdmFsdWUgaW4gdGhlIGNsb2Nrc291cmNlCi0gKiBzdHJ1Y3R1cmUgdG8gYXZvaWQgYSBuYXN0eSB0aW1lLXdhcnAuIFRoaXMgY2FuIGJlIG9ic2VydmVkIGluIGEKLSAqIHZlcnkgc21hbGwgd2luZG93IHJpZ2h0IGFmdGVyIG9uZSBDUFUgdXBkYXRlZCBjeWNsZV9sYXN0IHVuZGVyCi0gKiB4dGltZS92c3lzY2FsbF9ndG9kIGxvY2sgYW5kIHRoZSBvdGhlciBDUFUgcmVhZHMgYSBUU0MgdmFsdWUgd2hpY2gKLSAqIGlzIHNtYWxsZXIgdGhhbiB0aGUgY3ljbGVfbGFzdCByZWZlcmVuY2UgdmFsdWUgZHVlIHRvIGEgVFNDIHdoaWNoCi0gKiBpcyBzbGlnaHR5IGJlaGluZC4gVGhpcyBkZWx0YSBpcyBub3doZXJlIGVsc2Ugb2JzZXJ2YWJsZSwgYnV0IGluCi0gKiB0aGF0IGNhc2UgaXQgcmVzdWx0cyBpbiBhIGZvcndhcmQgdGltZSBqdW1wIGluIHRoZSByYW5nZSBvZiBob3VycwotICogZHVlIHRvIHRoZSB1bnNpZ25lZCBkZWx0YSBjYWxjdWxhdGlvbiBvZiB0aGUgdGltZSBrZWVwaW5nIGNvcmUKLSAqIGNvZGUsIHdoaWNoIGlzIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHdyYXBwaW5nIGNsb2Nrc291cmNlcyBsaWtlIHBtCi0gKiB0aW1lci4KLSAqLwotc3RhdGljIGN5Y2xlX3QgcmVhZF90c2Modm9pZCkKLXsKLQljeWNsZV90IHJldCA9IChjeWNsZV90KWdldF9jeWNsZXMoKTsKLQotCXJldHVybiByZXQgPj0gY2xvY2tzb3VyY2VfdHNjLmN5Y2xlX2xhc3QgPwotCQlyZXQgOiBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdDsKLX0KLQotc3RhdGljIGN5Y2xlX3QgX192c3lzY2FsbF9mbiB2cmVhZF90c2Modm9pZCkKLXsKLQljeWNsZV90IHJldCA9IChjeWNsZV90KXZnZXRfY3ljbGVzKCk7Ci0KLQlyZXR1cm4gcmV0ID49IF9fdnN5c2NhbGxfZ3RvZF9kYXRhLmNsb2NrLmN5Y2xlX2xhc3QgPwotCQlyZXQgOiBfX3ZzeXNjYWxsX2d0b2RfZGF0YS5jbG9jay5jeWNsZV9sYXN0OwotfQotCi1zdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYyA9IHsKLQkubmFtZQkJCT0gInRzYyIsCi0JLnJhdGluZwkJCT0gMzAwLAotCS5yZWFkCQkJPSByZWFkX3RzYywKLQkubWFzawkJCT0gQ0xPQ0tTT1VSQ0VfTUFTSyg2NCksCi0JLnNoaWZ0CQkJPSAyMiwKLQkuZmxhZ3MJCQk9IENMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTIHwKLQkJCQkgIENMT0NLX1NPVVJDRV9NVVNUX1ZFUklGWSwKLQkudnJlYWQJCQk9IHZyZWFkX3RzYywKLX07Ci0KLXZvaWQgbWFya190c2NfdW5zdGFibGUoY2hhciAqcmVhc29uKQotewotCWlmICghdHNjX3Vuc3RhYmxlKSB7Ci0JCXRzY191bnN0YWJsZSA9IDE7Ci0JCXByaW50aygiTWFya2luZyBUU0MgdW5zdGFibGUgZHVlIHRvICVzXG4iLCByZWFzb24pOwotCQkvKiBDaGFuZ2Ugb25seSB0aGUgcmF0aW5nLCB3aGVuIG5vdCByZWdpc3RlcmVkICovCi0JCWlmIChjbG9ja3NvdXJjZV90c2MubXVsdCkKLQkJCWNsb2Nrc291cmNlX2NoYW5nZV9yYXRpbmcoJmNsb2Nrc291cmNlX3RzYywgMCk7Ci0JCWVsc2UKLQkJCWNsb2Nrc291cmNlX3RzYy5yYXRpbmcgPSAwOwotCX0KLX0KLUVYUE9SVF9TWU1CT0xfR1BMKG1hcmtfdHNjX3Vuc3RhYmxlKTsKLQotdm9pZCBfX2luaXQgaW5pdF90c2NfY2xvY2tzb3VyY2Uodm9pZCkKLXsKLQlpZiAoIW5vdHNjKSB7Ci0JCWNsb2Nrc291cmNlX3RzYy5tdWx0ID0gY2xvY2tzb3VyY2Vfa2h6Mm11bHQodHNjX2toeiwKLQkJCQkJCQljbG9ja3NvdXJjZV90c2Muc2hpZnQpOwotCQlpZiAoY2hlY2tfdHNjX3Vuc3RhYmxlKCkpCi0JCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKLQotCQljbG9ja3NvdXJjZV9yZWdpc3RlcigmY2xvY2tzb3VyY2VfdHNjKTsKLQl9Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdmlzd3NfcXVpcmtzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdmlzd3NfcXVpcmtzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk0YmRiNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC92aXN3c19xdWlya3MuYwpAQCAtMCwwICsxLDcwOSBAQAorLyoKKyAqICBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIHN1cHBvcnQgYW5kIHF1aXJrcywgdW5tYWludGFpbmVkLgorICoKKyAqICBTcGxpdCBvdXQgZnJvbSBzZXR1cC5jIGJ5IGRhdmVqQHN1c2UuZGUKKyAqCisgKglDb3B5cmlnaHQgKEMpIDE5OTkgQmVudCBIYWdlbWFyaywgSW5nbyBNb2xuYXIKKyAqCisgKiAgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBpbnRlcnJ1cHQgY29udHJvbGxlcgorICoKKyAqICBUaGUgQ29iYWx0IHN5c3RlbSBBU0lDIGluIHRoZSBWaXN1YWwgV29ya3N0YXRpb24gY29udGFpbnMgYSAiQ29iYWx0IiBBUElDCisgKiAgd2hpY2ggc2VydmVzIGFzIHRoZSBtYWluIGludGVycnVwdCBjb250cm9sbGVyIGluIHRoZSBzeXN0ZW0uICBOb24tbGVnYWN5CisgKiAgaGFyZHdhcmUgaW4gdGhlIHN5c3RlbSB1c2VzIHRoaXMgY29udHJvbGxlciBkaXJlY3RseS4gIExlZ2FjeSBkZXZpY2VzCisgKiAgYXJlIGNvbm5lY3RlZCB0byB0aGUgUElJWDQgd2hpY2ggaW4gdHVybiBoYXMgaXRzIDgyNTkocykgY29ubmVjdGVkIHRvCisgKiAgYSBvZiB0aGUgQ29iYWx0IEFQSUMgZW50cnkuCisgKgorICogIDA5LzAyLzIwMDAgLSBVcGRhdGVkIGZvciAyLjQgYnkgamJhcm5lc0BzZ2kuY29tCisgKgorICogIDI1LzExLzIwMDIgLSBVcGRhdGVkIGZvciAyLjUgYnkgQW5kcmV5IFBhbmluIDxwYXprZUBvcmJpdGExLnJ1PgorICovCisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorCisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9waWl4NC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+CisjaW5jbHVkZSA8YXNtL2ZpeG1hcC5oPgorI2luY2x1ZGUgPGFzbS9yZWJvb3QuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKworI2luY2x1ZGUgPG1hY2hfaXBpLmg+CisKKyNpbmNsdWRlICJtYWNoX2FwaWMuaCIKKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorCisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vaTgyNTkuaD4KKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvY29iYWx0Lmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2xpdGhpdW0uaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvcGlpeDQuaD4KKworI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaV9pZHMuaD4KKworZXh0ZXJuIGludCBub19icm9hZGNhc3Q7CisKKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9saXRoaXVtLmg+CisKK2NoYXIgdmlzd3NfYm9hcmRfdHlwZQk9IC0xOworY2hhciB2aXN3c19ib2FyZF9yZXYJPSAtMTsKKworaW50IGlzX3Zpc3dzX2JveCh2b2lkKQoreworCXJldHVybiB2aXN3c19ib2FyZF90eXBlID49IDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHZpc3dzX3RpbWVfaW5pdF9xdWlyayh2b2lkKQoreworCXByaW50ayhLRVJOX0lORk8gIlN0YXJ0aW5nIENvYmFsdCBUaW1lciBzeXN0ZW0gY2xvY2tcbiIpOworCisJLyogU2V0IHRoZSBjb3VudGRvd24gdmFsdWUgKi8KKwljb19jcHVfd3JpdGUoQ09fQ1BVX1RJTUVWQUwsIENPX1RJTUVfSFovSFopOworCisJLyogU3RhcnQgdGhlIHRpbWVyICovCisJY29fY3B1X3dyaXRlKENPX0NQVV9DVFJMLCBjb19jcHVfcmVhZChDT19DUFVfQ1RSTCkgfCBDT19DVFJMX1RJTUVSVU4pOworCisJLyogRW5hYmxlICh1bm1hc2spIHRoZSB0aW1lciBpbnRlcnJ1cHQgKi8KKwljb19jcHVfd3JpdGUoQ09fQ1BVX0NUUkwsIGNvX2NwdV9yZWFkKENPX0NQVV9DVFJMKSAmIH5DT19DVFJMX1RJTUVNQVNLKTsKKworCS8qCisJICogWmVybyByZXR1cm4gbWVhbnMgdGhlIGdlbmVyaWMgdGltZXIgc2V0dXAgY29kZSB3aWxsIHNldCB1cAorCSAqIHRoZSBzdGFuZGFyZCB2ZWN0b3I6CisJICovCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHZpc3dzX3ByZV9pbnRyX2luaXRfcXVpcmsodm9pZCkKK3sKKwlpbml0X1ZJU1dTX0FQSUNfaXJxcygpOworCisJLyoKKwkgKiBXZSBkb250IHdhbnQgSVNBIGlycXMgdG8gYmUgc2V0IHVwIGJ5IHRoZSBnZW5lcmljIGNvZGU6CisJICovCisJcmV0dXJuIDE7Cit9CisKKy8qIFF1aXJrIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4gKi8KKworI2RlZmluZSBNQiAoMTAyNCAqIDEwMjQpCisKK3Vuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fcGh5czsKK3Vuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fc2l6ZTsKK0VYUE9SVF9TWU1CT0woc2dpdndmYl9tZW1fcGh5cyk7CitFWFBPUlRfU1lNQk9MKHNnaXZ3ZmJfbWVtX3NpemUpOworCitsb25nIGxvbmcgbWVtX3NpemUgX19pbml0ZGF0YSA9IDA7CisKK3N0YXRpYyBjaGFyICogX19pbml0IHZpc3dzX21lbW9yeV9zZXR1cF9xdWlyayh2b2lkKQoreworCWxvbmcgbG9uZyBnZnhfbWVtX3NpemUgPSA4ICogTUI7CisKKwltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLmFsdF9tZW1fazsKKworCWlmICghbWVtX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiQm9vdGxvYWRlciBkaWRuJ3Qgc2V0IG1lbW9yeSBzaXplLCB1cGdyYWRlIGl0ICFcbiIpOworCQltZW1fc2l6ZSA9IDEyOCAqIE1COworCX0KKworCS8qCisJICogdGhpcyBoYXJkY29kZXMgdGhlIGdyYXBoaWNzIG1lbW9yeSB0byA4IE1CCisJICogaXQgcmVhbGx5IHNob3VsZCBiZSBzaXplZCBkeW5hbWljYWxseSAob3IgYXQgbGVhc3QKKwkgKiBzZXQgYXMgYSBib290IHBhcmFtKQorCSAqLworCWlmICghc2dpdndmYl9tZW1fc2l6ZSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJEZWZhdWx0aW5nIHRvIDggTUIgZnJhbWVidWZmZXIgc2l6ZVxuIik7CisJCXNnaXZ3ZmJfbWVtX3NpemUgPSA4ICogTUI7CisJfQorCisJLyoKKwkgKiBUcmltIHRvIG5lYXJlc3QgTUIKKwkgKi8KKwlzZ2l2d2ZiX21lbV9zaXplICY9IH4oKDEgPDwgMjApIC0gMSk7CisJc2dpdndmYl9tZW1fcGh5cyA9IG1lbV9zaXplIC0gZ2Z4X21lbV9zaXplOworCisJZTgyMF9hZGRfcmVnaW9uKDAsIExPV01FTVNJWkUoKSwgRTgyMF9SQU0pOworCWU4MjBfYWRkX3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgLSBzZ2l2d2ZiX21lbV9zaXplIC0gSElHSF9NRU1PUlksIEU4MjBfUkFNKTsKKwllODIwX2FkZF9yZWdpb24oc2dpdndmYl9tZW1fcGh5cywgc2dpdndmYl9tZW1fc2l6ZSwgRTgyMF9SRVNFUlZFRCk7CisKKwlyZXR1cm4gIlBST00iOworfQorCitzdGF0aWMgdm9pZCB2aXN3c19tYWNoaW5lX2VtZXJnZW5jeV9yZXN0YXJ0KHZvaWQpCit7CisJLyoKKwkgKiBWaXN1YWwgV29ya3N0YXRpb25zIHJlc3RhcnQgYWZ0ZXIgdGhpcworCSAqIHJlZ2lzdGVyIGlzIHBva2VkIG9uIHRoZSBQSUlYNAorCSAqLworCW91dGIoUElJWDRfUkVTRVRfVkFMLCBQSUlYNF9SRVNFVF9QT1JUKTsKK30KKworc3RhdGljIHZvaWQgdmlzd3NfbWFjaGluZV9wb3dlcl9vZmYodm9pZCkKK3sKKwl1bnNpZ25lZCBzaG9ydCBwbV9zdGF0dXM7CisvKglleHRlcm4gdW5zaWduZWQgaW50IHBjaV9idXMwOyAqLworCisJd2hpbGUgKChwbV9zdGF0dXMgPSBpbncoUE1TVFNfUE9SVCkpICYgMHgxMDApCisJCW91dHcocG1fc3RhdHVzLCBQTVNUU19QT1JUKTsKKworCW91dHcoUE1fU1VTUEVORF9FTkFCTEUsIFBNQ05UUkxfUE9SVCk7CisKKwltZGVsYXkoMTApOworCisjZGVmaW5lIFBDSV9DT05GMV9BRERSRVNTKGJ1cywgZGV2Zm4sIHJlZykgXAorCSgweDgwMDAwMDAwIHwgKGJ1cyA8PCAxNikgfCAoZGV2Zm4gPDwgOCkgfCAocmVnICYgfjMpKQorCisvKglvdXRsKFBDSV9DT05GMV9BRERSRVNTKHBjaV9idXMwLCBTUEVDSUFMX0RFViwgU1BFQ0lBTF9SRUcpLCAweENGOCk7ICovCisJb3V0bChQSUlYX1NQRUNJQUxfU1RPUCwgMHhDRkMpOworfQorCitzdGF0aWMgaW50IF9faW5pdCB2aXN3c19nZXRfc21wX2NvbmZpZ19xdWlyayh1bnNpZ25lZCBpbnQgZWFybHkpCit7CisJLyoKKwkgKiBQcmV2ZW50IE1QLXRhYmxlIHBhcnNpbmcgYnkgdGhlIGdlbmVyaWMgY29kZToKKwkgKi8KKwlyZXR1cm4gMTsKK30KKworZXh0ZXJuIHVuc2lnbmVkIGludCBfX2NwdWluaXRkYXRhIG1heGNwdXM7CisKKy8qCisgKiBUaGUgVmlzdWFsIFdvcmtzdGF0aW9uIGlzIEludGVsIE1QIGNvbXBsaWFudCBpbiB0aGUgaGFyZHdhcmUKKyAqIHNlbnNlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgQklPUygtY29uZmlndXJhdGlvbiB0YWJsZSkuCisgKiBObyBwcm9ibGVtIGZvciBMaW51eC4KKyAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgTVBfcHJvY2Vzc29yX2luZm8gKHN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSkKK3sKKwlpbnQgdmVyLCBsb2dpY2FsX2FwaWNpZDsKKwlwaHlzaWRfbWFza190IGFwaWNfY3B1czsKKworCWlmICghKG0tPm1wY19jcHVmbGFnICYgQ1BVX0VOQUJMRUQpKQorCQlyZXR1cm47CisKKwlsb2dpY2FsX2FwaWNpZCA9IG0tPm1wY19hcGljaWQ7CisJcHJpbnRrKEtFUk5fSU5GTyAiJXNDUFUgIyVkICV1OiV1IEFQSUMgdmVyc2lvbiAlZFxuIiwKKwkgICAgICAgbS0+bXBjX2NwdWZsYWcgJiBDUFVfQk9PVFBST0NFU1NPUiA/ICJCb290dXAgIiA6ICIiLAorCSAgICAgICBtLT5tcGNfYXBpY2lkLAorCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfRkFNSUxZX01BU0spID4+IDgsCisJICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9NT0RFTF9NQVNLKSA+PiA0LAorCSAgICAgICBtLT5tcGNfYXBpY3Zlcik7CisKKwlpZiAobS0+bXBjX2NwdWZsYWcgJiBDUFVfQk9PVFBST0NFU1NPUikKKwkJYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKKworCXZlciA9IG0tPm1wY19hcGljdmVyOworCWlmICgodmVyID49IDB4MTQgJiYgbS0+bXBjX2FwaWNpZCA+PSAweGZmKSB8fCBtLT5tcGNfYXBpY2lkID49IDB4ZikgeworCQlwcmludGsoS0VSTl9FUlIgIlByb2Nlc3NvciAjJWQgSU5WQUxJRC4gKE1heCBJRDogJWQpLlxuIiwKKwkJCW0tPm1wY19hcGljaWQsIE1BWF9BUElDUyk7CisJCXJldHVybjsKKwl9CisKKwlhcGljX2NwdXMgPSBhcGljaWRfdG9fY3B1X3ByZXNlbnQobS0+bXBjX2FwaWNpZCk7CisJcGh5c2lkc19vcihwaHlzX2NwdV9wcmVzZW50X21hcCwgcGh5c19jcHVfcHJlc2VudF9tYXAsIGFwaWNfY3B1cyk7CisJLyoKKwkgKiBWYWxpZGF0ZSB2ZXJzaW9uCisJICovCisJaWYgKHZlciA9PSAweDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJCSU9TIGJ1ZywgQVBJQyB2ZXJzaW9uIGlzIDAgZm9yIENQVSMlZCEgIgorCQkJImZpeGluZyB1cCB0byAweDEwLiAodGVsbCB5b3VyIGh3IHZlbmRvcilcbiIsCisJCQltLT5tcGNfYXBpY2lkKTsKKwkJdmVyID0gMHgxMDsKKwl9CisJYXBpY192ZXJzaW9uW20tPm1wY19hcGljaWRdID0gdmVyOworfQorCitpbnQgX19pbml0IHZpc3dzX2ZpbmRfc21wX2NvbmZpZ19xdWlyayh1bnNpZ25lZCBpbnQgcmVzZXJ2ZSkKK3sKKwlzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm1wID0gcGh5c190b192aXJ0KENPX0NQVV9UQUJfUEhZUyk7CisJdW5zaWduZWQgc2hvcnQgbmNwdXMgPSByZWFkdyhwaHlzX3RvX3ZpcnQoQ09fQ1BVX05VTV9QSFlTKSk7CisKKwlpZiAobmNwdXMgPiBDT19DUFVfTUFYKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImZpbmRfdmlzd3Nfc21wOiBnb3QgY3B1IGNvdW50IG9mICVkIGF0ICVwXG4iLAorCQkJbmNwdXMsIG1wKTsKKworCQluY3B1cyA9IENPX0NQVV9NQVg7CisJfQorCisJaWYgKG5jcHVzID4gbWF4Y3B1cykKKwkJbmNwdXMgPSBtYXhjcHVzOworCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJc21wX2ZvdW5kX2NvbmZpZyA9IDE7CisjZW5kaWYKKwl3aGlsZSAobmNwdXMtLSkKKwkJTVBfcHJvY2Vzc29yX2luZm8obXArKyk7CisKKwltcF9sYXBpY19hZGRyID0gQVBJQ19ERUZBVUxUX1BIWVNfQkFTRTsKKworCXJldHVybiAxOworfQorCitleHRlcm4gaW50IHZpc3dzX3RyYXBfaW5pdF9xdWlyayh2b2lkKTsKKwordm9pZCBfX2luaXQgdmlzd3NfZWFybHlfZGV0ZWN0KHZvaWQpCit7CisJaW50IHJhdzsKKworCXZpc3dzX2JvYXJkX3R5cGUgPSAoY2hhcikoaW5iX3AoUElJWF9HUElfQkRfUkVHKSAmIFBJSVhfR1BJX0JEX1JFRykKKwkJCQkJCQkgPj4gUElJWF9HUElfQkRfU0hJRlQ7CisKKwlpZiAodmlzd3NfYm9hcmRfdHlwZSA8IDApCisJCXJldHVybjsKKworCS8qCisJICogSW5zdGFsbCBzcGVjaWFsIHF1aXJrcyBmb3IgdGltZXIsIGludGVycnVwdCBhbmQgbWVtb3J5IHNldHVwOgorCSAqLworCWFyY2hfdGltZV9pbml0X3F1aXJrCQk9IHZpc3dzX3RpbWVfaW5pdF9xdWlyazsKKwlhcmNoX3ByZV9pbnRyX2luaXRfcXVpcmsJPSB2aXN3c19wcmVfaW50cl9pbml0X3F1aXJrOworCWFyY2hfbWVtb3J5X3NldHVwX3F1aXJrCQk9IHZpc3dzX21lbW9yeV9zZXR1cF9xdWlyazsKKworCS8qCisJICogRmFsbCBiYWNrIHRvIGdlbmVyaWMgYmVoYXZpb3IgZm9yIHRyYXBzOgorCSAqLworCWFyY2hfaW50cl9pbml0X3F1aXJrCQk9IE5VTEw7CisJYXJjaF90cmFwX2luaXRfcXVpcmsJCT0gdmlzd3NfdHJhcF9pbml0X3F1aXJrOworCisJLyoKKwkgKiBJbnN0YWxsIHJlYm9vdCBxdWlya3M6CisJICovCisJcG1fcG93ZXJfb2ZmCQkJPSB2aXN3c19tYWNoaW5lX3Bvd2VyX29mZjsKKwltYWNoaW5lX29wcy5lbWVyZ2VuY3lfcmVzdGFydAk9IHZpc3dzX21hY2hpbmVfZW1lcmdlbmN5X3Jlc3RhcnQ7CisKKwkvKgorCSAqIERvIG5vdCB1c2UgYnJvYWRjYXN0IElQSXM6CisJICovCisJbm9fYnJvYWRjYXN0ID0gMDsKKworCS8qCisJICogT3ZlcnJpZGUgZ2VuZXJpYyBNUC10YWJsZSBwYXJzaW5nOgorCSAqLworCW1hY2hfZ2V0X3NtcF9jb25maWdfcXVpcmsJPSB2aXN3c19nZXRfc21wX2NvbmZpZ19xdWlyazsKKwltYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyawk9IHZpc3dzX2ZpbmRfc21wX2NvbmZpZ19xdWlyazsKKworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQworCS8qCisJICogVHVybiBvZmYgSU8tQVBJQyBkZXRlY3Rpb24gYW5kIGluaXRpYWxpemF0aW9uOgorCSAqLworCXNraXBfaW9hcGljX3NldHVwCQk9IDE7CisjZW5kaWYKKworCS8qCisJICogR2V0IEJvYXJkIHJldi4KKwkgKiBGaXJzdCwgd2UgaGF2ZSB0byBpbml0aWFsaXplIHRoZSAzMDcgcGFydCB0byBhbGxvdyB1cyBhY2Nlc3MKKwkgKiB0byB0aGUgR1BJTyByZWdpc3RlcnMuICBMZXQncyBtYXAgdGhlbSBhdCAweDBmYzAgd2hpY2ggaXMgcmlnaHQKKwkgKiBhZnRlciB0aGUgUElJWDQgUE0gc2VjdGlvbi4KKwkgKi8KKwlvdXRiX3AoU0lPX0RFVl9TRUwsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19HUF9ERVYsIFNJT19EQVRBKTsJLyogVGFsayB0byBHUElPIHJlZ3MuICovCisKKwlvdXRiX3AoU0lPX0RFVl9NU0IsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19HUF9NU0IsIFNJT19EQVRBKTsJLyogTVNCIG9mIEdQSU8gYmFzZSBhZGRyZXNzICovCisKKwlvdXRiX3AoU0lPX0RFVl9MU0IsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19HUF9MU0IsIFNJT19EQVRBKTsJLyogTFNCIG9mIEdQSU8gYmFzZSBhZGRyZXNzICovCisKKwlvdXRiX3AoU0lPX0RFVl9FTkIsIFNJT19JTkRFWCk7CisJb3V0Yl9wKDEsIFNJT19EQVRBKTsJCS8qIEVuYWJsZSBHUElPIHJlZ2lzdGVycy4gKi8KKworCS8qCisJICogTm93LCB3ZSBoYXZlIHRvIG1hcCB0aGUgcG93ZXIgbWFuYWdlbWVudCBzZWN0aW9uIHRvIHdyaXRlCisJICogYSBiaXQgd2hpY2ggZW5hYmxlcyBhY2Nlc3MgdG8gdGhlIEdQSU8gcmVnaXN0ZXJzLgorCSAqIFdoYXQgbHVuYXRpYyBjYW1lIHVwIHdpdGggdGhpcyBzaGl0PworCSAqLworCW91dGJfcChTSU9fREVWX1NFTCwgU0lPX0lOREVYKTsKKwlvdXRiX3AoU0lPX1BNX0RFViwgU0lPX0RBVEEpOwkvKiBUYWxrIHRvIEdQSU8gcmVncy4gKi8KKworCW91dGJfcChTSU9fREVWX01TQiwgU0lPX0lOREVYKTsKKwlvdXRiX3AoU0lPX1BNX01TQiwgU0lPX0RBVEEpOwkvKiBNU0Igb2YgUE0gYmFzZSBhZGRyZXNzICovCisKKwlvdXRiX3AoU0lPX0RFVl9MU0IsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19QTV9MU0IsIFNJT19EQVRBKTsJLyogTFNCIG9mIFBNIGJhc2UgYWRkcmVzcyAqLworCisJb3V0Yl9wKFNJT19ERVZfRU5CLCBTSU9fSU5ERVgpOworCW91dGJfcCgxLCBTSU9fREFUQSk7CQkvKiBFbmFibGUgUE0gcmVnaXN0ZXJzLiAqLworCisJLyoKKwkgKiBOb3csIHdyaXRlIHRoZSBQTSByZWdpc3RlciB3aGljaCBlbmFibGVzIHRoZSBHUElPIHJlZ2lzdGVycy4KKwkgKi8KKwlvdXRiX3AoU0lPX1BNX0ZFUjIsIFNJT19QTV9JTkRFWCk7CisJb3V0Yl9wKFNJT19QTV9HUF9FTiwgU0lPX1BNX0RBVEEpOworCisJLyoKKwkgKiBOb3csIGluaXRpYWxpemUgdGhlIEdQSU8gcmVnaXN0ZXJzLgorCSAqIFdlIHdhbnQgdGhlbSBhbGwgdG8gYmUgaW5wdXRzIHdoaWNoIGlzIHRoZQorCSAqIHBvd2VyIG9uIGRlZmF1bHQsIHNvIGxldCdzIGxlYXZlIHRoZW0gYWxvbmUuCisJICogU28sIGxldCdzIGp1c3QgcmVhZCB0aGUgYm9hcmQgcmV2IQorCSAqLworCXJhdyA9IGluYl9wKFNJT19HUF9EQVRBMSk7CisJcmF3ICY9IDB4N2Y7CS8qIDcgYml0cyBvZiB2YWxpZCBib2FyZCByZXZpc2lvbiBJRC4gKi8KKworCWlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCkgeworCQlpZiAocmF3IDwgMHg2KSB7CisJCQl2aXN3c19ib2FyZF9yZXYgPSA0OworCQl9IGVsc2UgaWYgKHJhdyA8IDB4YykgeworCQkJdmlzd3NfYm9hcmRfcmV2ID0gNTsKKwkJfSBlbHNlIHsKKwkJCXZpc3dzX2JvYXJkX3JldiA9IDY7CisJCX0KKwl9IGVsc2UgaWYgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfNTQwKSB7CisJCQl2aXN3c19ib2FyZF9yZXYgPSAyOworCQl9IGVsc2UgeworCQkJdmlzd3NfYm9hcmRfcmV2ID0gcmF3OworCQl9CisKKwlwcmludGsoS0VSTl9JTkZPICJTaWxpY29uIEdyYXBoaWNzIFZpc3VhbCBXb3Jrc3RhdGlvbiAlcyAocmV2ICVkKSBkZXRlY3RlZFxuIiwKKwkgICAgICAgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfMzIwID8gIjMyMCIgOgorCSAgICAgICAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU181NDAgPyAiNTQwIiA6CisJCSJ1bmtub3duIikpLCB2aXN3c19ib2FyZF9yZXYpOworfQorCisjZGVmaW5lIEEwMTIzNCAoTElfSU5UQV8wIHwgTElfSU5UQV8xIHwgTElfSU5UQV8yIHwgTElfSU5UQV8zIHwgTElfSU5UQV80KQorI2RlZmluZSBCQ0QgKExJX0lOVEIgfCBMSV9JTlRDIHwgTElfSU5URCkKKyNkZWZpbmUgQUxMREVWUyAoQTAxMjM0IHwgQkNEKQorCitzdGF0aWMgX19pbml0IHZvaWQgbGl0aGl1bV9pbml0KHZvaWQpCit7CisJc2V0X2ZpeG1hcChGSVhfTElfUENJQSwgTElfUENJX0FfUEhZUyk7CisJc2V0X2ZpeG1hcChGSVhfTElfUENJQiwgTElfUENJX0JfUEhZUyk7CisKKwlpZiAoKGxpX3BjaWFfcmVhZDE2KFBDSV9WRU5ET1JfSUQpICE9IFBDSV9WRU5ET1JfSURfU0dJKSB8fAorCSAgICAobGlfcGNpYV9yZWFkMTYoUENJX0RFVklDRV9JRCkgIT0gUENJX0RFVklDRV9JRF9TR0lfTElUSElVTSkpIHsKKwkJcHJpbnRrKEtFUk5fRU1FUkcgIkxpdGhpdW0gaG9zdGJyaWRnZSAlYyBub3QgZm91bmRcbiIsICdBJyk7CisvKgkJcGFuaWMoIlRoaXMgbWFjaGluZSBpcyBub3QgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiAzMjAvNTQwIik7ICovCisJfQorCisJaWYgKChsaV9wY2liX3JlYWQxNihQQ0lfVkVORE9SX0lEKSAhPSBQQ0lfVkVORE9SX0lEX1NHSSkgfHwKKwkgICAgKGxpX3BjaWJfcmVhZDE2KFBDSV9ERVZJQ0VfSUQpICE9IFBDSV9ERVZJQ0VfSURfU0dJX0xJVEhJVU0pKSB7CisJCXByaW50ayhLRVJOX0VNRVJHICJMaXRoaXVtIGhvc3RicmlkZ2UgJWMgbm90IGZvdW5kXG4iLCAnQicpOworLyoJCXBhbmljKCJUaGlzIG1hY2hpbmUgaXMgbm90IFNHSSBWaXN1YWwgV29ya3N0YXRpb24gMzIwLzU0MCIpOyAqLworCX0KKworCWxpX3BjaWFfd3JpdGUxNihMSV9QQ0lfSU5URU4sIEFMTERFVlMpOworCWxpX3BjaWJfd3JpdGUxNihMSV9QQ0lfSU5URU4sIEFMTERFVlMpOworfQorCitzdGF0aWMgX19pbml0IHZvaWQgY29iYWx0X2luaXQodm9pZCkKK3sKKwkvKgorCSAqIE9uIG5vcm1hbCBTTVAgUEMgdGhpcyBpcyB1c2VkIG9ubHkgd2l0aCBTTVAsIGJ1dCB3ZSBoYXZlIHRvCisJICogdXNlIGl0IGFuZCBzZXQgaXQgdXAgaGVyZSB0byBzdGFydCB0aGUgQ29iYWx0IGNsb2NrCisJICovCisJc2V0X2ZpeG1hcChGSVhfQVBJQ19CQVNFLCBBUElDX0RFRkFVTFRfUEhZU19CQVNFKTsKKwlzZXR1cF9sb2NhbF9BUElDKCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiTG9jYWwgQVBJQyBWZXJzaW9uICUjeCwgSUQgJSN4XG4iLAorCQkodW5zaWduZWQgaW50KWFwaWNfcmVhZChBUElDX0xWUiksCisJCSh1bnNpZ25lZCBpbnQpYXBpY19yZWFkKEFQSUNfSUQpKTsKKworCXNldF9maXhtYXAoRklYX0NPX0NQVSwgQ09fQ1BVX1BIWVMpOworCXNldF9maXhtYXAoRklYX0NPX0FQSUMsIENPX0FQSUNfUEhZUyk7CisJcHJpbnRrKEtFUk5fSU5GTyAiQ29iYWx0IFJldmlzaW9uICUjbHgsIEFQSUMgSUQgJSNseFxuIiwKKwkJY29fY3B1X3JlYWQoQ09fQ1BVX1JFViksIGNvX2FwaWNfcmVhZChDT19BUElDX0lEKSk7CisKKwkvKiBFbmFibGUgQ29iYWx0IEFQSUMgYmVpbmcgY2FyZWZ1bCB0byBOT1QgY2hhbmdlIHRoZSBJRCEgKi8KKwljb19hcGljX3dyaXRlKENPX0FQSUNfSUQsIGNvX2FwaWNfcmVhZChDT19BUElDX0lEKSB8IENPX0FQSUNfRU5BQkxFKTsKKworCXByaW50ayhLRVJOX0lORk8gIkNvYmFsdCBBUElDIGVuYWJsZWQ6IElEIHJlZyAlI2x4XG4iLAorCQljb19hcGljX3JlYWQoQ09fQVBJQ19JRCkpOworfQorCitpbnQgX19pbml0IHZpc3dzX3RyYXBfaW5pdF9xdWlyayh2b2lkKQoreworCWxpdGhpdW1faW5pdCgpOworCWNvYmFsdF9pbml0KCk7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIElSUSBjb250cm9sbGVyIC8gQVBJQyBzdXBwb3J0OgorICovCisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soY29iYWx0X2xvY2spOworCisvKgorICogU2V0IHRoZSBnaXZlbiBDb2JhbHQgQVBJQyBSZWRpcmVjdGlvbiBUYWJsZSBlbnRyeSB0byBwb2ludAorICogdG8gdGhlIGdpdmVuIElEVCB2ZWN0b3IvaW5kZXguCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBjb19hcGljX3NldChpbnQgZW50cnksIGludCBpcnEpCit7CisJY29fYXBpY193cml0ZShDT19BUElDX0xPKGVudHJ5KSwgQ09fQVBJQ19MRVZFTCB8IChpcnEgKyBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpKTsKKwljb19hcGljX3dyaXRlKENPX0FQSUNfSEkoZW50cnkpLCAwKTsKK30KKworLyoKKyAqIENvYmFsdCAoSU8pLUFQSUMgZnVuY3Rpb25zIHRvIGhhbmRsZSBQQ0kgZGV2aWNlcy4KKyAqLworc3RhdGljIGlubGluZSBpbnQgY29fYXBpY19pZGUwX2hhY2sodm9pZCkKK3sKKwlleHRlcm4gY2hhciB2aXN3c19ib2FyZF90eXBlOworCWV4dGVybiBjaGFyIHZpc3dzX2JvYXJkX3JldjsKKworCWlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCAmJiB2aXN3c19ib2FyZF9yZXYgPT0gNSkKKwkJcmV0dXJuIDU7CisJcmV0dXJuIENPX0FQSUNfSURFMDsKK30KKworc3RhdGljIGludCBpc19jb19hcGljKHVuc2lnbmVkIGludCBpcnEpCit7CisJaWYgKElTX0NPX0FQSUMoaXJxKSkKKwkJcmV0dXJuIENPX0FQSUMoaXJxKTsKKworCXN3aXRjaCAoaXJxKSB7CisJCWNhc2UgMDogcmV0dXJuIENPX0FQSUNfQ1BVOworCQljYXNlIENPX0lSUV9JREUwOiByZXR1cm4gY29fYXBpY19pZGUwX2hhY2soKTsKKwkJY2FzZSBDT19JUlFfSURFMTogcmV0dXJuIENPX0FQSUNfSURFMTsKKwkJZGVmYXVsdDogcmV0dXJuIC0xOworCX0KK30KKworCisvKgorICogVGhpcyBpcyB0aGUgU0dJIENvYmFsdCAoSU8tKUFQSUM6CisgKi8KKworc3RhdGljIHZvaWQgZW5hYmxlX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwljb19hcGljX3NldChpc19jb19hcGljKGlycSksIGlycSk7Cit9CisKK3N0YXRpYyB2b2lkIGRpc2FibGVfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCWludCBlbnRyeSA9IGlzX2NvX2FwaWMoaXJxKTsKKworCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19MTyhlbnRyeSksIENPX0FQSUNfTUFTSyk7CisJY29fYXBpY19yZWFkKENPX0FQSUNfTE8oZW50cnkpKTsKK30KKworLyoKKyAqICJpcnEiIHJlYWxseSBqdXN0IHNlcnZlcyB0byBpZGVudGlmeSB0aGUgZGV2aWNlLiAgSGVyZSBpcyB3aGVyZSB3ZQorICogbWFwIHRoaXMgdG8gdGhlIENvYmFsdCBBUElDIGVudHJ5IHdoZXJlIGl0J3MgcGh5c2ljYWxseSB3aXJlZC4KKyAqIFRoaXMgaXMgY2FsbGVkIHZpYSByZXF1ZXN0X2lycSAtPiBzZXR1cF9pcnEgLT4gaXJxX2Rlc2MtPnN0YXJ0dXAoKQorICovCitzdGF0aWMgdW5zaWduZWQgaW50IHN0YXJ0dXBfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKKwlpZiAoKGlycV9kZXNjW2lycV0uc3RhdHVzICYgKElSUV9ESVNBQkxFRCB8IElSUV9JTlBST0dSRVNTIHwgSVJRX1dBSVRJTkcpKSkKKwkJaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJj0gfihJUlFfRElTQUJMRUQgfCBJUlFfSU5QUk9HUkVTUyB8IElSUV9XQUlUSU5HKTsKKwllbmFibGVfY29iYWx0X2lycShpcnEpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGFja19jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworCWRpc2FibGVfY29iYWx0X2lycShpcnEpOworCWFwaWNfd3JpdGUoQVBJQ19FT0ksIEFQSUNfRUlPX0FDSyk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgZW5kX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJaWYgKCEoaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJiAoSVJRX0RJU0FCTEVEIHwgSVJRX0lOUFJPR1JFU1MpKSkKKwkJZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgc3RydWN0IGlycV9jaGlwIGNvYmFsdF9pcnFfdHlwZSA9IHsKKwkudHlwZW5hbWUgPQkiQ29iYWx0LUFQSUMiLAorCS5zdGFydHVwID0Jc3RhcnR1cF9jb2JhbHRfaXJxLAorCS5zaHV0ZG93biA9CWRpc2FibGVfY29iYWx0X2lycSwKKwkuZW5hYmxlID0JZW5hYmxlX2NvYmFsdF9pcnEsCisJLmRpc2FibGUgPQlkaXNhYmxlX2NvYmFsdF9pcnEsCisJLmFjayA9CQlhY2tfY29iYWx0X2lycSwKKwkuZW5kID0JCWVuZF9jb2JhbHRfaXJxLAorfTsKKworCisvKgorICogVGhpcyBpcyB0aGUgUElJWDQtYmFzZWQgODI1OSB0aGF0IGlzIHdpcmVkIHVwIGluZGlyZWN0bHkgdG8gQ29iYWx0CisgKiAtLSBub3QgdGhlIG1hbm5lciBleHBlY3RlZCBieSB0aGUgY29kZSBpbiBpODI1OS5jLgorICoKKyAqIHRoZXJlIGlzIGEgJ21hc3RlcicgcGh5c2ljYWwgaW50ZXJydXB0IHNvdXJjZSB0aGF0IGdldHMgc2VudCB0bworICogdGhlIENQVS4gQnV0IGluIHRoZSBjaGlwc2V0IHRoZXJlIGFyZSB2YXJpb3VzICd2aXJ0dWFsJyBpbnRlcnJ1cHRzCisgKiB3YWl0aW5nIHRvIGJlIGhhbmRsZWQuIFdlIHJlcHJlc2VudCB0aGlzIHRvIExpbnV4IHRocm91Z2ggYSAnbWFzdGVyJworICogaW50ZXJydXB0IGNvbnRyb2xsZXIgdHlwZSwgYW5kIHRocm91Z2ggYSBzcGVjaWFsIHZpcnR1YWwgaW50ZXJydXB0LQorICogY29udHJvbGxlci4gRGV2aWNlIGRyaXZlcnMgb25seSBzZWUgdGhlIHZpcnR1YWwgaW50ZXJydXB0IHNvdXJjZXMuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgc3RhcnR1cF9waWl4NF9tYXN0ZXJfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJaW5pdF84MjU5QSgwKTsKKworCXJldHVybiBzdGFydHVwX2NvYmFsdF9pcnEoaXJxKTsKK30KKworc3RhdGljIHZvaWQgZW5kX3BpaXg0X21hc3Rlcl9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgc3RydWN0IGlycV9jaGlwIHBpaXg0X21hc3Rlcl9pcnFfdHlwZSA9IHsKKwkudHlwZW5hbWUgPQkiUElJWDQtbWFzdGVyIiwKKwkuc3RhcnR1cCA9CXN0YXJ0dXBfcGlpeDRfbWFzdGVyX2lycSwKKwkuYWNrID0JCWFja19jb2JhbHRfaXJxLAorCS5lbmQgPQkJZW5kX3BpaXg0X21hc3Rlcl9pcnEsCit9OworCisKK3N0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgcGlpeDRfdmlydHVhbF9pcnFfdHlwZSA9IHsKKwkudHlwZW5hbWUgPQkiUElJWDQtdmlydHVhbCIsCisJLnNodXRkb3duID0JZGlzYWJsZV84MjU5QV9pcnEsCisJLmVuYWJsZSA9CWVuYWJsZV84MjU5QV9pcnEsCisJLmRpc2FibGUgPQlkaXNhYmxlXzgyNTlBX2lycSwKK307CisKKworLyoKKyAqIFBJSVg0LTgyNTkgbWFzdGVyL3ZpcnR1YWwgZnVuY3Rpb25zIHRvIGhhbmRsZSBpbnRlcnJ1cHQgcmVxdWVzdHMKKyAqIGZyb20gbGVnYWN5IGRldmljZXM6IGZsb3BweSwgcGFyYWxsZWwsIHNlcmlhbCwgcnRjLgorICoKKyAqIE5vbmUgb2YgdGhlc2UgZ2V0IENvYmFsdCBBUElDIGVudHJpZXMsIG5laXRoZXIgZG8gdGhleSBoYXZlIElEVAorICogZW50cmllcy4gVGhlc2UgaW50ZXJydXB0cyBhcmUgcHVyZWx5IHZpcnR1YWwgYW5kIGRpc3RyaWJ1dGVkIGZyb20KKyAqIHRoZSAnbWFzdGVyJyBpbnRlcnJ1cHQgc291cmNlOiBDT19JUlFfODI1OS4KKyAqCisgKiBXaGVuIHRoZSA4MjU5IGludGVycnVwdHMgaXRzIGhhbmRsZXIgZmlndXJlcyBvdXQgd2hpY2ggb2YgdGhlc2UKKyAqIGRldmljZXMgaXMgaW50ZXJydXB0aW5nIGFuZCBkaXNwYXRjaGVzIHRvIGl0cyBoYW5kbGVyLgorICoKKyAqIENBUkVGVUw6IGRldmljZXMgc2VlIHRoZSAndmlydHVhbCcgaW50ZXJydXB0IG9ubHkuIFRodXMgZGlzYWJsZS8KKyAqIGVuYWJsZV9pcnEgZ2V0cyB0aGUgcmlnaHQgaXJxLiBUaGlzICdtYXN0ZXInIGlycSBpcyBuZXZlciBkaXJlY3RseQorICogbWFuaXB1bGF0ZWQgYnkgYW55IGRyaXZlci4KKyAqLworc3RhdGljIGlycXJldHVybl90IHBpaXg0X21hc3Rlcl9pbnRyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlpbnQgcmVhbGlycTsKKwlpcnFfZGVzY190ICpkZXNjOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKKworCS8qIEZpbmQgb3V0IHdoYXQncyBpbnRlcnJ1cHRpbmcgaW4gdGhlIFBJSVg0IG1hc3RlciA4MjU5ICovCisJb3V0YigweDBjLCAweDIwKTsJCS8qIE9DVzMgUG9sbCBjb21tYW5kICovCisJcmVhbGlycSA9IGluYigweDIwKTsKKworCS8qCisJICogQml0IDcgPT0gMCBtZWFucyBpbnZhbGlkL3NwdXJpb3VzCisJICovCisJaWYgKHVubGlrZWx5KCEocmVhbGlycSAmIDB4ODApKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJcmVhbGlycSAmPSA3OworCisJaWYgKHVubGlrZWx5KHJlYWxpcnEgPT0gMikpIHsKKwkJb3V0YigweDBjLCAweGEwKTsKKwkJcmVhbGlycSA9IGluYigweGEwKTsKKworCQlpZiAodW5saWtlbHkoIShyZWFsaXJxICYgMHg4MCkpKQorCQkJZ290byBvdXRfdW5sb2NrOworCisJCXJlYWxpcnEgPSAocmVhbGlycSAmIDcpICsgODsKKwl9CisKKwkvKiBtYXNrIGFuZCBhY2sgaW50ZXJydXB0ICovCisJY2FjaGVkX2lycV9tYXNrIHw9IDEgPDwgcmVhbGlycTsKKwlpZiAodW5saWtlbHkocmVhbGlycSA+IDcpKSB7CisJCWluYigweGExKTsKKwkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgMHhhMSk7CisJCW91dGIoMHg2MCArIChyZWFsaXJxICYgNyksIDB4YTApOworCQlvdXRiKDB4NjAgKyAyLCAweDIwKTsKKwl9IGVsc2UgeworCQlpbmIoMHgyMSk7CisJCW91dGIoY2FjaGVkX21hc3Rlcl9tYXNrLCAweDIxKTsKKwkJb3V0YigweDYwICsgcmVhbGlycSwgMHgyMCk7CisJfQorCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKKworCWRlc2MgPSBpcnFfZGVzYyArIHJlYWxpcnE7CisKKwkvKgorCSAqIGhhbmRsZSB0aGlzICd2aXJ0dWFsIGludGVycnVwdCcgYXMgYSBDb2JhbHQgb25lIG5vdy4KKwkgKi8KKwlrc3RhdF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKS5pcnFzW3JlYWxpcnFdKys7CisKKwlpZiAobGlrZWx5KGRlc2MtPmFjdGlvbiAhPSBOVUxMKSkKKwkJaGFuZGxlX0lSUV9ldmVudChyZWFsaXJxLCBkZXNjLT5hY3Rpb24pOworCisJaWYgKCEoZGVzYy0+c3RhdHVzICYgSVJRX0RJU0FCTEVEKSkKKwkJZW5hYmxlXzgyNTlBX2lycShyZWFsaXJxKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKKworb3V0X3VubG9jazoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOworCXJldHVybiBJUlFfTk9ORTsKK30KKworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gbWFzdGVyX2FjdGlvbiA9IHsKKwkuaGFuZGxlciA9CXBpaXg0X21hc3Rlcl9pbnRyLAorCS5uYW1lID0JCSJQSUlYNC04MjU5IiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGNhc2NhZGVfYWN0aW9uID0geworCS5oYW5kbGVyID0gCW5vX2FjdGlvbiwKKwkubmFtZSA9CQkiY2FzY2FkZSIsCit9OworCisKK3ZvaWQgaW5pdF9WSVNXU19BUElDX2lycXModm9pZCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBDT19JUlFfQVBJQzAgKyBDT19BUElDX0xBU1QgKyAxOyBpKyspIHsKKwkJaXJxX2Rlc2NbaV0uc3RhdHVzID0gSVJRX0RJU0FCTEVEOworCQlpcnFfZGVzY1tpXS5hY3Rpb24gPSAwOworCQlpcnFfZGVzY1tpXS5kZXB0aCA9IDE7CisKKwkJaWYgKGkgPT0gMCkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA9PSBDT19JUlFfSURFMCkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA9PSBDT19JUlFfSURFMSkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA9PSBDT19JUlFfODI1OSkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZwaWl4NF9tYXN0ZXJfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA8IENPX0lSUV9BUElDMCkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZwaWl4NF92aXJ0dWFsX2lycV90eXBlOworCQl9CisJCWVsc2UgaWYgKElTX0NPX0FQSUMoaSkpIHsKKwkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOworCQl9CisJfQorCisJc2V0dXBfaXJxKENPX0lSUV84MjU5LCAmbWFzdGVyX2FjdGlvbik7CisJc2V0dXBfaXJxKDIsICZjYXNjYWRlX2FjdGlvbik7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdm1pXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdm1pXzMyLmMKaW5kZXggOTU2ZjM4OS4uYjE1MzQ2MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZtaV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC92bWlfMzIuYwpAQCAtMTUxLDcgKzE1MSw3IEBACiAJCQkJCSAgICAgIGluc25zLCBpcCk7CiAJCWNhc2UgUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcmV0KToKIAkJCXJldHVybiBwYXRjaF9pbnRlcm5hbChWTUlfQ0FMTF9JUkVULCBsZW4sIGluc25zLCBpcCk7Ci0JCWNhc2UgUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KToKKwkJY2FzZSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzZXhpdCk6CiAJCQlyZXR1cm4gcGF0Y2hfaW50ZXJuYWwoVk1JX0NBTExfU1lTRVhJVCwgbGVuLCBpbnNucywgaXApOwogCQlkZWZhdWx0OgogCQkJYnJlYWs7CkBAIC04OTYsNyArODk2LDcgQEAKIAkgKiB0aGUgYmFja2VuZC4gIFRoZXkgYXJlIHBlcmZvcm1hbmNlIGNyaXRpY2FsIGFueXdheSwgc28gcmVxdWlyaW5nCiAJICogYSBwYXRjaCBpcyBub3QgYSBiaWcgcHJvYmxlbS4KIAkgKi8KLQlwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzY2FsbF9yZXQgPSAodm9pZCAqKTB4ZmVlZGJhYjA7CisJcHZfY3B1X29wcy5pcnFfZW5hYmxlX3N5c2V4aXQgPSAodm9pZCAqKTB4ZmVlZGJhYjA7CiAJcHZfY3B1X29wcy5pcmV0ID0gKHZvaWQgKikweGJhZGJhYjA7CiAKICNpZmRlZiBDT05GSUdfU01QCkBAIC05MzIsNyArOTMyLDcgQEAKIAkJcHZfYXBpY19vcHMuc2V0dXBfc2Vjb25kYXJ5X2Nsb2NrID0gdm1pX3RpbWVfYXBfaW5pdDsKICNlbmRpZgogCQlwdl90aW1lX29wcy5zY2hlZF9jbG9jayA9IHZtaV9zY2hlZF9jbG9jazsKLSAJCXB2X3RpbWVfb3BzLmdldF9jcHVfa2h6ID0gdm1pX2NwdV9raHo7CisJCXB2X3RpbWVfb3BzLmdldF90c2Nfa2h6ID0gdm1pX3RzY19raHo7CiAKIAkJLyogV2UgaGF2ZSB0cnVlIHdhbGxjbG9jayBmdW5jdGlvbnM7IGRpc2FibGUgQ01PUyBjbG9jayBzeW5jICovCiAJCW5vX3N5bmNfY21vc19jbG9jayA9IDE7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdm1pY2xvY2tfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC92bWljbG9ja18zMi5jCmluZGV4IGEyYjAzMDcuLjY5NTM4NTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC92bWljbG9ja18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC92bWljbG9ja18zMi5jCkBAIC0zMyw4ICszMyw3IEBACiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KICNpbmNsdWRlIDxhc20vdGltZXIuaD4KICNpbmNsdWRlIDxhc20vaTgyNTMuaD4KLQotI2luY2x1ZGUgPGlycV92ZWN0b3JzLmg+CisjaW5jbHVkZSA8YXNtL2lycV92ZWN0b3JzLmg+CiAKICNkZWZpbmUgVk1JX09ORVNIT1QgIChWTUlfQUxBUk1fSVNfT05FU0hPVCAgfCBWTUlfQ1lDTEVTX1JFQUwgfCB2bWlfZ2V0X2FsYXJtX3dpcmluZygpKQogI2RlZmluZSBWTUlfUEVSSU9ESUMgKFZNSV9BTEFSTV9JU19QRVJJT0RJQyB8IFZNSV9DWUNMRVNfUkVBTCB8IHZtaV9nZXRfYWxhcm1fd2lyaW5nKCkpCkBAIC03MCw4ICs2OSw4IEBACiAJcmV0dXJuIGN5Y2xlc18yX25zKHZtaV90aW1lcl9vcHMuZ2V0X2N5Y2xlX2NvdW50ZXIoVk1JX0NZQ0xFU19BVkFJTEFCTEUpKTsKIH0KIAotLyogcGFyYXZpcnRfb3BzLmdldF9jcHVfa2h6ID0gdm1pX2NwdV9raHogKi8KLXVuc2lnbmVkIGxvbmcgdm1pX2NwdV9raHoodm9pZCkKKy8qIHBhcmF2aXJ0X29wcy5nZXRfdHNjX2toeiA9IHZtaV90c2Nfa2h6ICovCit1bnNpZ25lZCBsb25nIHZtaV90c2Nfa2h6KHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBsb25nIGtoejsKIAlraHogPSB2bWlfdGltZXJfb3BzLmdldF9jeWNsZV9mcmVxdWVuY3koKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TIGIvYXJjaC94ODYva2VybmVsL3ZtbGludXhfMzIubGRzLlMKaW5kZXggY2U1ZWQwOC4uY2RiMjM2MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZtbGludXhfMzIubGRzLlMKKysrIGIvYXJjaC94ODYva2VybmVsL3ZtbGludXhfMzIubGRzLlMKQEAgLTQ5LDIzICs0OSwxNCBAQAogICAJX2V0ZXh0ID0gLjsJCQkvKiBFbmQgb2YgdGV4dCBzZWN0aW9uICovCiAgIH0gOnRleHQgPSAweDkwOTAKIAorICBOT1RFUyA6dGV4dCA6bm90ZQorCiAgIC4gPSBBTElHTigxNik7CQkvKiBFeGNlcHRpb24gdGFibGUgKi8KICAgX19leF90YWJsZSA6IEFUKEFERFIoX19leF90YWJsZSkgLSBMT0FEX09GRlNFVCkgewogICAJX19zdGFydF9fX2V4X3RhYmxlID0gLjsKIAkgKihfX2V4X3RhYmxlKQogICAJX19zdG9wX19fZXhfdGFibGUgPSAuOwotICB9Ci0KLSAgTk9URVMgOnRleHQgOm5vdGUKLQotICBCVUdfVEFCTEUgOnRleHQKLQotICAuID0gQUxJR04oNCk7Ci0gIC50cmFjZWRhdGEgOiBBVChBRERSKC50cmFjZWRhdGEpIC0gTE9BRF9PRkZTRVQpIHsKLSAgCV9fdHJhY2VkYXRhX3N0YXJ0ID0gLjsKLQkqKC50cmFjZWRhdGEpCi0gIAlfX3RyYWNlZGF0YV9lbmQgPSAuOwotICB9CisgIH0gOnRleHQgPSAweDkwOTAKIAogICBST0RBVEEKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3ZtbGludXhfNjQubGRzLlMgYi9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF82NC5sZHMuUwppbmRleCBmYWQzNjc0Li42M2U1YzFhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF82NC5sZHMuUworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF82NC5sZHMuUwpAQCAtMTksNyArMTksNyBAQAogCWRhdGEgUFRfTE9BRCBGTEFHUyg3KTsJLyogUldFICovCiAJdXNlciBQVF9MT0FEIEZMQUdTKDcpOwkvKiBSV0UgKi8KIAlkYXRhLmluaXQgUFRfTE9BRCBGTEFHUyg3KTsJLyogUldFICovCi0Jbm90ZSBQVF9OT1RFIEZMQUdTKDQpOwkvKiBSX18gKi8KKwlub3RlIFBUX05PVEUgRkxBR1MoMCk7CS8qIF9fXyAqLwogfQogU0VDVElPTlMKIHsKQEAgLTQwLDI2ICs0MCwxNyBAQAogCV9ldGV4dCA9IC47CQkvKiBFbmQgb2YgdGV4dCBzZWN0aW9uICovCiAgIH0gOnRleHQgPSAweDkwOTAKIAorICBOT1RFUyA6dGV4dCA6bm90ZQorCiAgIC4gPSBBTElHTigxNik7CQkvKiBFeGNlcHRpb24gdGFibGUgKi8KICAgX19leF90YWJsZSA6IEFUKEFERFIoX19leF90YWJsZSkgLSBMT0FEX09GRlNFVCkgewogICAJX19zdGFydF9fX2V4X3RhYmxlID0gLjsKIAkgKihfX2V4X3RhYmxlKQogICAJX19zdG9wX19fZXhfdGFibGUgPSAuOwotICB9Ci0KLSAgTk9URVMgOnRleHQgOm5vdGUKLQotICBCVUdfVEFCTEUgOnRleHQKKyAgfSA6dGV4dCA9IDB4OTA5MAogCiAgIFJPREFUQQogCi0gIC4gPSBBTElHTig0KTsKLSAgLnRyYWNlZGF0YSA6IEFUKEFERFIoLnRyYWNlZGF0YSkgLSBMT0FEX09GRlNFVCkgewotICAJX190cmFjZWRhdGFfc3RhcnQgPSAuOwotCSooLnRyYWNlZGF0YSkKLSAgCV9fdHJhY2VkYXRhX2VuZCA9IC47Ci0gIH0KLQogICAuID0gQUxJR04oUEFHRV9TSVpFKTsJCS8qIEFsaWduIGRhdGEgc2VnbWVudCB0byBwYWdlIHNpemUgYm91bmRhcnkgKi8KIAkJCQkvKiBEYXRhICovCiAgIC5kYXRhIDogQVQoQUREUiguZGF0YSkgLSBMT0FEX09GRlNFVCkgewpAQCAtMTc3LDYgKzE2OCw3IEBACiAJKiguY29uX2luaXRjYWxsLmluaXQpCiAgIH0KICAgX19jb25faW5pdGNhbGxfZW5kID0gLjsKKyAgLiA9IEFMSUdOKDE2KTsKICAgX194ODZjcHV2ZW5kb3Jfc3RhcnQgPSAuOwogICAueDg2Y3B1dmVuZG9yLmluaXQgOiBBVChBRERSKC54ODZjcHV2ZW5kb3IuaW5pdCkgLSBMT0FEX09GRlNFVCkgewogCSooLng4NmNwdXZlbmRvci5pbml0KQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3ZzbXBfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC92c21wXzY0LmMKaW5kZXggYmE4YzBiNy4uMGMwMjllOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZzbXBfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdnNtcF82NC5jCkBAIC0xNSw5ICsxNSwxMiBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wY2lfaWRzLmg+CiAjaW5jbHVkZSA8bGludXgvcGNpX3JlZ3MuaD4KKworI2luY2x1ZGUgPGFzbS9hcGljLmg+CiAjaW5jbHVkZSA8YXNtL3BjaS1kaXJlY3QuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAogI2lmIGRlZmluZWQgQ09ORklHX1BDSSAmJiBkZWZpbmVkIENPTkZJR19QQVJBVklSVAogLyoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92c3lzY2FsbF82NC5jIGIvYXJjaC94ODYva2VybmVsL3ZzeXNjYWxsXzY0LmMKaW5kZXggNjFlZmEyZi4uMGI4YjY2OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZzeXNjYWxsXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3ZzeXNjYWxsXzY0LmMKQEAgLTQyLDcgKzQyLDggQEAKICNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KICNpbmNsdWRlIDxhc20vdmd0b2QuaD4KIAotI2RlZmluZSBfX3ZzeXNjYWxsKG5yKSBfX2F0dHJpYnV0ZV9fICgodW51c2VkLF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfIiAjbnIpKSkKKyNkZWZpbmUgX192c3lzY2FsbChucikgXAorCQlfX2F0dHJpYnV0ZV9fICgodW51c2VkLCBfX3NlY3Rpb25fXygiLnZzeXNjYWxsXyIgI25yKSkpIG5vdHJhY2UKICNkZWZpbmUgX19zeXNjYWxsX2Nsb2JiZXIgInIxMSIsImN4IiwibWVtb3J5IgogCiAvKgpAQCAtMjQ5LDcgKzI1MCw3IEBACiAgICBkb2Vzbid0IHZpb2xhdGUgdGhhdC4gV2UnbGwgZmluZCBvdXQgaWYgaXQgZG9lcy4gKi8KIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCB2c3lzY2FsbF9zZXRfY3B1KGludCBjcHUpCiB7Ci0JdW5zaWduZWQgbG9uZyAqZDsKKwl1bnNpZ25lZCBsb25nIGQ7CiAJdW5zaWduZWQgbG9uZyBub2RlID0gMDsKICNpZmRlZiBDT05GSUdfTlVNQQogCW5vZGUgPSBjcHVfdG9fbm9kZShjcHUpOwpAQCAtMjYwLDExICsyNjEsMTEgQEAKIAkvKiBTdG9yZSBjcHUgbnVtYmVyIGluIGxpbWl0IHNvIHRoYXQgaXQgY2FuIGJlIGxvYWRlZCBxdWlja2x5CiAJICAgaW4gdXNlciBzcGFjZSBpbiB2Z2V0Y3B1LgogCSAgIDEyIGJpdHMgZm9yIHRoZSBDUFUgYW5kIDggYml0cyBmb3IgdGhlIG5vZGUuICovCi0JZCA9ICh1bnNpZ25lZCBsb25nICopKGdldF9jcHVfZ2R0X3RhYmxlKGNwdSkgKyBHRFRfRU5UUllfUEVSX0NQVSk7Ci0JKmQgPSAweDBmNDAwMDAwMDAwMDBVTEw7Ci0JKmQgfD0gY3B1OwotCSpkIHw9IChub2RlICYgMHhmKSA8PCAxMjsKLQkqZCB8PSAobm9kZSA+PiA0KSA8PCA0ODsKKwlkID0gMHgwZjQwMDAwMDAwMDAwVUxMOworCWQgfD0gY3B1OworCWQgfD0gKG5vZGUgJiAweGYpIDw8IDEyOworCWQgfD0gKG5vZGUgPj4gNCkgPDwgNDg7CisJd3JpdGVfZ2R0X2VudHJ5KGdldF9jcHVfZ2R0X3RhYmxlKGNwdSksIEdEVF9FTlRSWV9QRVJfQ1BVLCAmZCwgREVTQ1RZUEVfUyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBjcHVfdnN5c2NhbGxfaW5pdCh2b2lkICphcmcpCkBAIC0yNzgsNyArMjc5LDcgQEAKIHsKIAlsb25nIGNwdSA9IChsb25nKWFyZzsKIAlpZiAoYWN0aW9uID09IENQVV9PTkxJTkUgfHwgYWN0aW9uID09IENQVV9PTkxJTkVfRlJPWkVOKQotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBjcHVfdnN5c2NhbGxfaW5pdCwgTlVMTCwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGNwdV92c3lzY2FsbF9pbml0LCBOVUxMLCAxKTsKIAlyZXR1cm4gTk9USUZZX0RPTkU7CiB9CiAKQEAgLTMwMSw3ICszMDIsNyBAQAogI2lmZGVmIENPTkZJR19TWVNDVEwKIAlyZWdpc3Rlcl9zeXNjdGxfdGFibGUoa2VybmVsX3Jvb3RfdGFibGUyKTsKICNlbmRpZgotCW9uX2VhY2hfY3B1KGNwdV92c3lzY2FsbF9pbml0LCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShjcHVfdnN5c2NhbGxfaW5pdCwgTlVMTCwgMSk7CiAJaG90Y3B1X25vdGlmaWVyKGNwdV92c3lzY2FsbF9ub3RpZmllciwgMCk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwveDg2NjRfa3N5bXNfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC94ODY2NF9rc3ltc182NC5jCmluZGV4IGY2YzA1ZDAuLmI1NDVmMzcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC94ODY2NF9rc3ltc182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC94ODY2NF9rc3ltc182NC5jCkBAIC0yLDEzICsyLDIwIEBACiAgICBBbGwgQyBleHBvcnRzIHNob3VsZCBnbyBpbiB0aGUgcmVzcGVjdGl2ZSBDIGZpbGVzLiAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bmV0L2NoZWNrc3VtLmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CiAKKyNpbmNsdWRlIDxuZXQvY2hlY2tzdW0uaD4KKwogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vZGVzYy5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKy8qIG1jb3VudCBpcyBkZWZpbmVkIGluIGFzc2VtYmx5ICovCitFWFBPUlRfU1lNQk9MKG1jb3VudCk7CisjZW5kaWYKIAogRVhQT1JUX1NZTUJPTChrZXJuZWxfdGhyZWFkKTsKIApAQCAtNTMsOCArNjAsMyBAQAogRVhQT1JUX1NZTUJPTChsb2FkX2dzX2luZGV4KTsKIAogRVhQT1JUX1NZTUJPTChfcHJveHlfcGRhKTsKLQotI2lmZGVmIENPTkZJR19QQVJBVklSVAotLyogVmlydHVhbGl6ZWQgZ3Vlc3RzIG1heSB3YW50IHRvIHVzZSBpdCAqLwotRVhQT1JUX1NZTUJPTF9HUEwoY3B1X2dkdF9kZXNjcik7Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS92bXguYyBiL2FyY2gveDg2L2t2bS92bXguYwppbmRleCA1NDBlOTUxLi4xMGNlNmVlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rdm0vdm14LmMKKysrIGIvYXJjaC94ODYva3ZtL3ZteC5jCkBAIC0zMzUsNyArMzM1LDcgQEAKIHsKIAlpZiAodm14LT52Y3B1LmNwdSA9PSAtMSkKIAkJcmV0dXJuOwotCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSh2bXgtPnZjcHUuY3B1LCBfX3ZjcHVfY2xlYXIsIHZteCwgMCwgMSk7CisJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKHZteC0+dmNwdS5jcHUsIF9fdmNwdV9jbGVhciwgdm14LCAxKTsKIAl2bXgtPmxhdW5jaGVkID0gMDsKIH0KIApAQCAtMjk2OCw3ICsyOTY4LDcgQEAKIAlzdHJ1Y3QgdmNwdV92bXggKnZteCA9IHRvX3ZteCh2Y3B1KTsKIAogCWlmICh2bXgtPnZtY3MpIHsKLQkJb25fZWFjaF9jcHUoX192Y3B1X2NsZWFyLCB2bXgsIDAsIDEpOworCQlvbl9lYWNoX2NwdShfX3ZjcHVfY2xlYXIsIHZteCwgMSk7CiAJCWZyZWVfdm1jcyh2bXgtPnZtY3MpOwogCQl2bXgtPnZtY3MgPSBOVUxMOwogCX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS94ODYuYyBiL2FyY2gveDg2L2t2bS94ODYuYwppbmRleCA2M2E3N2NhLi4wZmFhMjU0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rdm0veDg2LmMKKysrIGIvYXJjaC94ODYva3ZtL3g4Ni5jCkBAIC00MDQ0LDYgKzQwNDQsNiBAQAogCSAqIFNvIG5lZWQgbm90IHRvIGNhbGwgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKCkgaW4gdGhhdCBjYXNlLgogCSAqLwogCWlmICh2Y3B1LT5ndWVzdF9tb2RlICYmIHZjcHUtPmNwdSAhPSBjcHUpCi0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpcGlfcGNwdSwgdmNwdV9raWNrX2ludHIsIHZjcHUsIDAsIDApOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaXBpX3BjcHUsIHZjcHVfa2lja19pbnRyLCB2Y3B1LCAwKTsKIAlwdXRfY3B1KCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9sZ3Vlc3QvS2NvbmZpZyBiL2FyY2gveDg2L2xndWVzdC9LY29uZmlnCmluZGV4IDk2NGRmYTMuLmM3MGUxMmIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xndWVzdC9LY29uZmlnCisrKyBiL2FyY2gveDg2L2xndWVzdC9LY29uZmlnCkBAIC0zLDcgKzMsNyBAQAogCXNlbGVjdCBQQVJBVklSVAogCWRlcGVuZHMgb24gWDg2XzMyCiAJZGVwZW5kcyBvbiAhWDg2X1BBRQotCWRlcGVuZHMgb24gIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAlzZWxlY3QgVklSVElPCiAJc2VsZWN0IFZJUlRJT19SSU5HCiAJc2VsZWN0IFZJUlRJT19DT05TT0xFCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9sZ3Vlc3QvYm9vdC5jIGIvYXJjaC94ODYvbGd1ZXN0L2Jvb3QuYwppbmRleCA1YzdlMmZkLi41MGRhZDQ0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9sZ3Vlc3QvYm9vdC5jCisrKyBiL2FyY2gveDg2L2xndWVzdC9ib290LmMKQEAgLTYwNyw3ICs2MDcsNyBAQAogICogd2hhdCBzcGVlZCBpdCBydW5zIGF0LCBvciAwIGlmIGl0J3MgdW51c2FibGUgYXMgYSByZWxpYWJsZSBjbG9jayBzb3VyY2UuCiAgKiBUaGlzIG1hdGNoZXMgd2hhdCB3ZSB3YW50IGhlcmU6IGlmIHdlIHJldHVybiAwIGZyb20gdGhpcyBmdW5jdGlvbiwgdGhlIHg4NgogICogVFNDIGNsb2NrIHdpbGwgZ2l2ZSB1cCBhbmQgbm90IHJlZ2lzdGVyIGl0c2VsZi4gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxndWVzdF9jcHVfa2h6KHZvaWQpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBsZ3Vlc3RfdHNjX2toeih2b2lkKQogewogCXJldHVybiBsZ3Vlc3RfZGF0YS50c2Nfa2h6OwogfQpAQCAtODM1LDcgKzgzNSw3IEBACiAKIAkvKiBUaGUgTGludXggYm9vdGxvYWRlciBoZWFkZXIgY29udGFpbnMgYW4gImU4MjAiIG1lbW9yeSBtYXA6IHRoZQogCSAqIExhdW5jaGVyIHBvcHVsYXRlZCB0aGUgZmlyc3QgZW50cnkgd2l0aCBvdXIgbWVtb3J5IGxpbWl0LiAqLwotCWFkZF9tZW1vcnlfcmVnaW9uKGJvb3RfcGFyYW1zLmU4MjBfbWFwWzBdLmFkZHIsCisJZTgyMF9hZGRfcmVnaW9uKGJvb3RfcGFyYW1zLmU4MjBfbWFwWzBdLmFkZHIsCiAJCQkgIGJvb3RfcGFyYW1zLmU4MjBfbWFwWzBdLnNpemUsCiAJCQkgIGJvb3RfcGFyYW1zLmU4MjBfbWFwWzBdLnR5cGUpOwogCkBAIC05OTgsNyArOTk4LDcgQEAKIAkvKiB0aW1lIG9wZXJhdGlvbnMgKi8KIAlwdl90aW1lX29wcy5nZXRfd2FsbGNsb2NrID0gbGd1ZXN0X2dldF93YWxsY2xvY2s7CiAJcHZfdGltZV9vcHMudGltZV9pbml0ID0gbGd1ZXN0X3RpbWVfaW5pdDsKLQlwdl90aW1lX29wcy5nZXRfY3B1X2toeiA9IGxndWVzdF9jcHVfa2h6OworCXB2X3RpbWVfb3BzLmdldF90c2Nfa2h6ID0gbGd1ZXN0X3RzY19raHo7CiAKIAkvKiBOb3cgaXMgYSBnb29kIHRpbWUgdG8gbG9vayBhdCB0aGUgaW1wbGVtZW50YXRpb25zIG9mIHRoZXNlIGZ1bmN0aW9ucwogCSAqIGJlZm9yZSByZXR1cm5pbmcgdG8gdGhlIHJlc3Qgb2YgbGd1ZXN0X2luaXQoKS4gKi8KQEAgLTEwMTIsNiArMTAxMiw3IEBACiAJICogY2xvYmJlcmVkLiAgVGhlIExhdW5jaGVyIHBsYWNlcyBvdXIgaW5pdGlhbCBwYWdldGFibGVzIHNvbWV3aGVyZSBhdAogCSAqIHRoZSB0b3Agb2Ygb3VyIHBoeXNpY2FsIG1lbW9yeSwgc28gd2UgZG9uJ3QgbmVlZCBleHRyYSBzcGFjZTogc2V0CiAJICogaW5pdF9wZ190YWJsZXNfZW5kIHRvIHRoZSBlbmQgb2YgdGhlIGtlcm5lbC4gKi8KKwlpbml0X3BnX3RhYmxlc19zdGFydCA9IF9fcGEocGcwKTsKIAlpbml0X3BnX3RhYmxlc19lbmQgPSBfX3BhKHBnMCk7CiAKIAkvKiBMb2FkIHRoZSAlZnMgc2VnbWVudCByZWdpc3RlciAodGhlIHBlci1jcHUgc2VnbWVudCByZWdpc3Rlcikgd2l0aApAQCAtMTA2NSw5ICsxMDY2LDkgQEAKIAlwbV9wb3dlcl9vZmYgPSBsZ3Vlc3RfcG93ZXJfb2ZmOwogCW1hY2hpbmVfb3BzLnJlc3RhcnQgPSBsZ3Vlc3RfcmVzdGFydDsKIAotCS8qIE5vdyB3ZSdyZSBzZXQgdXAsIGNhbGwgc3RhcnRfa2VybmVsKCkgaW4gaW5pdC9tYWluLmMgYW5kIHdlIHByb2NlZWQKKwkvKiBOb3cgd2UncmUgc2V0IHVwLCBjYWxsIGkzODZfc3RhcnRfa2VybmVsKCkgaW4gaGVhZDMyLmMgYW5kIHdlIHByb2NlZWQKIAkgKiB0byBib290IGFzIG5vcm1hbC4gIEl0IG5ldmVyIHJldHVybnMuICovCi0Jc3RhcnRfa2VybmVsKCk7CisJaTM4Nl9zdGFydF9rZXJuZWwoKTsKIH0KIC8qCiAgKiBUaGlzIG1hcmtzIHRoZSBlbmQgb2Ygc3RhZ2UgSUkgb2Ygb3VyIGpvdXJuZXksIFRoZSBHdWVzdC4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9NYWtlZmlsZSBiL2FyY2gveDg2L2xpYi9NYWtlZmlsZQppbmRleCA3NmY2MGY1Li5hYTNmYTQxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvbGliL01ha2VmaWxlCkBAIC00LDggKzQsOSBAQAogCiBvYmotJChDT05GSUdfU01QKSA6PSBtc3Itb24tY3B1Lm8KIAotbGliLXkgOj0gZGVsYXlfJChCSVRTKS5vCi1saWIteSArPSB1c2VyY29weV8kKEJJVFMpLm8gZ2V0dXNlcl8kKEJJVFMpLm8gcHV0dXNlcl8kKEJJVFMpLm8KK2xpYi15IDo9IGRlbGF5Lm8KK2xpYi15ICs9IHRodW5rXyQoQklUUykubworbGliLXkgKz0gdXNlcmNvcHlfJChCSVRTKS5vIGdldHVzZXIubyBwdXR1c2VyLm8KIGxpYi15ICs9IG1lbWNweV8kKEJJVFMpLm8KIAogaWZlcSAoJChDT05GSUdfWDg2XzMyKSx5KQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL2NvcHlfdXNlcl82NC5TIGIvYXJjaC94ODYvbGliL2NvcHlfdXNlcl82NC5TCmluZGV4IGVlMWMzZjYuLmRmZGY0MjggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfNjQuUworKysgYi9hcmNoL3g4Ni9saWIvY29weV91c2VyXzY0LlMKQEAgLTEsOCArMSwxMCBAQAotLyogQ29weXJpZ2h0IDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzLgorLyoKKyAqIENvcHlyaWdodCAyMDA4IFZpdGFseSBNYXlhdHNraWtoIDx2bWF5YXRza0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzLgogICogU3ViamVjdCB0byB0aGUgR05VIFB1YmxpYyBMaWNlbnNlIHYyLgotICogCi0gKiBGdW5jdGlvbnMgdG8gY29weSBmcm9tIGFuZCB0byB1c2VyIHNwYWNlLgkJCi0gKi8JCSAKKyAqCisgKiBGdW5jdGlvbnMgdG8gY29weSBmcm9tIGFuZCB0byB1c2VyIHNwYWNlLgorICovCiAKICNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CiAjaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgpAQCAtMjAsNjAgKzIyLDg4IEBACiAJLmxvbmcgXG9yaWctMWYJLyogYnkgZGVmYXVsdCBqdW1wIHRvIG9yaWcgKi8KIDE6CiAJLnNlY3Rpb24gLmFsdGluc3RyX3JlcGxhY2VtZW50LCJheCIKLTI6CS5ieXRlIDB4ZTkJICAgICAgICAgICAgIC8qIG5lYXIganVtcCB3aXRoIDMyYml0IGltbWVkaWF0ZSAqLworMjoJLmJ5dGUgMHhlOQkJCS8qIG5lYXIganVtcCB3aXRoIDMyYml0IGltbWVkaWF0ZSAqLwogCS5sb25nIFxhbHQtMWIgLyogb2Zmc2V0ICovICAgLyogb3IgYWx0ZXJuYXRpdmVseSB0byBhbHQgKi8KIAkucHJldmlvdXMKIAkuc2VjdGlvbiAuYWx0aW5zdHJ1Y3Rpb25zLCJhIgogCS5hbGlnbiA4CiAJLnF1YWQgIDBiCiAJLnF1YWQgIDJiCi0JLmJ5dGUgIFxmZWF0dXJlCQkgICAgIC8qIHdoZW4gZmVhdHVyZSBpcyBzZXQgKi8KKwkuYnl0ZSAgXGZlYXR1cmUJCQkvKiB3aGVuIGZlYXR1cmUgaXMgc2V0ICovCiAJLmJ5dGUgIDUKIAkuYnl0ZSAgNQogCS5wcmV2aW91cwogCS5lbmRtCiAKLS8qIFN0YW5kYXJkIGNvcHlfdG9fdXNlciB3aXRoIHNlZ21lbnQgbGltaXQgY2hlY2tpbmcgKi8JCQorCS5tYWNybyBBTElHTl9ERVNUSU5BVElPTgorI2lmZGVmIEZJWF9BTElHTk1FTlQKKwkvKiBjaGVjayBmb3IgYmFkIGFsaWdubWVudCBvZiBkZXN0aW5hdGlvbiAqLworCW1vdmwgJWVkaSwlZWN4CisJYW5kbCAkNywlZWN4CisJanogMTAyZgkJCQkvKiBhbHJlYWR5IGFsaWduZWQgKi8KKwlzdWJsICQ4LCVlY3gKKwluZWdsICVlY3gKKwlzdWJsICVlY3gsJWVkeAorMTAwOgltb3ZiICglcnNpKSwlYWwKKzEwMToJbW92YiAlYWwsKCVyZGkpCisJaW5jcSAlcnNpCisJaW5jcSAlcmRpCisJZGVjbCAlZWN4CisJam56IDEwMGIKKzEwMjoKKwkuc2VjdGlvbiAuZml4dXAsImF4IgorMTAzOglhZGRsICVyOGQsJWVkeAkJCS8qIGVjeCBpcyB6ZXJvcmVzdCBhbHNvICovCisJam1wIGNvcHlfdXNlcl9oYW5kbGVfdGFpbAorCS5wcmV2aW91cworCisJLnNlY3Rpb24gX19leF90YWJsZSwiYSIKKwkuYWxpZ24gOAorCS5xdWFkIDEwMGIsMTAzYgorCS5xdWFkIDEwMWIsMTAzYgorCS5wcmV2aW91cworI2VuZGlmCisJLmVuZG0KKworLyogU3RhbmRhcmQgY29weV90b191c2VyIHdpdGggc2VnbWVudCBsaW1pdCBjaGVja2luZyAqLwogRU5UUlkoY29weV90b191c2VyKQogCUNGSV9TVEFSVFBST0MKIAlHRVRfVEhSRUFEX0lORk8oJXJheCkKIAltb3ZxICVyZGksJXJjeAogCWFkZHEgJXJkeCwlcmN4Ci0JamMgIGJhZF90b191c2VyCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXJheCksJXJjeAorCWpjIGJhZF90b191c2VyCisJY21wcSBUSV9hZGRyX2xpbWl0KCVyYXgpLCVyY3gKIAlqYWUgYmFkX3RvX3VzZXIKLQl4b3JsICVlYXgsJWVheAkvKiBjbGVhciB6ZXJvIGZsYWcgKi8KIAlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZwogCUNGSV9FTkRQUk9DCiAKLUVOVFJZKGNvcHlfdXNlcl9nZW5lcmljKQotCUNGSV9TVEFSVFBST0MKLQltb3ZsICQxLCVlY3gJLyogc2V0IHplcm8gZmxhZyAqLwotCUFMVEVSTkFUSVZFX0pVTVAgWDg2X0ZFQVRVUkVfUkVQX0dPT0QsY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQsY29weV91c2VyX2dlbmVyaWNfc3RyaW5nCi0JQ0ZJX0VORFBST0MKLQotRU5UUlkoX19jb3B5X2Zyb21fdXNlcl9pbmF0b21pYykKLQlDRklfU1RBUlRQUk9DCi0JeG9ybCAlZWN4LCVlY3gJLyogY2xlYXIgemVybyBmbGFnICovCi0JQUxURVJOQVRJVkVfSlVNUCBYODZfRkVBVFVSRV9SRVBfR09PRCxjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCxjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcKLQlDRklfRU5EUFJPQwotCi0vKiBTdGFuZGFyZCBjb3B5X2Zyb21fdXNlciB3aXRoIHNlZ21lbnQgbGltaXQgY2hlY2tpbmcgKi8JCisvKiBTdGFuZGFyZCBjb3B5X2Zyb21fdXNlciB3aXRoIHNlZ21lbnQgbGltaXQgY2hlY2tpbmcgKi8KIEVOVFJZKGNvcHlfZnJvbV91c2VyKQogCUNGSV9TVEFSVFBST0MKIAlHRVRfVEhSRUFEX0lORk8oJXJheCkKIAltb3ZxICVyc2ksJXJjeAogCWFkZHEgJXJkeCwlcmN4Ci0JamMgIGJhZF9mcm9tX3VzZXIKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcmF4KSwlcmN4Ci0JamFlICBiYWRfZnJvbV91c2VyCi0JbW92bCAkMSwlZWN4CS8qIHNldCB6ZXJvIGZsYWcgKi8KKwlqYyBiYWRfZnJvbV91c2VyCisJY21wcSBUSV9hZGRyX2xpbWl0KCVyYXgpLCVyY3gKKwlqYWUgYmFkX2Zyb21fdXNlcgogCUFMVEVSTkFUSVZFX0pVTVAgWDg2X0ZFQVRVUkVfUkVQX0dPT0QsY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQsY29weV91c2VyX2dlbmVyaWNfc3RyaW5nCiAJQ0ZJX0VORFBST0MKIEVORFBST0MoY29weV9mcm9tX3VzZXIpCi0JCisKK0VOVFJZKGNvcHlfdXNlcl9nZW5lcmljKQorCUNGSV9TVEFSVFBST0MKKwlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZworCUNGSV9FTkRQUk9DCitFTkRQUk9DKGNvcHlfdXNlcl9nZW5lcmljKQorCitFTlRSWShfX2NvcHlfZnJvbV91c2VyX2luYXRvbWljKQorCUNGSV9TVEFSVFBST0MKKwlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZworCUNGSV9FTkRQUk9DCitFTkRQUk9DKF9fY29weV9mcm9tX3VzZXJfaW5hdG9taWMpCisKIAkuc2VjdGlvbiAuZml4dXAsImF4IgogCS8qIG11c3QgemVybyBkZXN0ICovCitFTlRSWShiYWRfZnJvbV91c2VyKQogYmFkX2Zyb21fdXNlcjoKIAlDRklfU1RBUlRQUk9DCiAJbW92bCAlZWR4LCVlY3gKQEAgLTgxLDI3MSArMTExLDE1OCBAQAogCXJlcAogCXN0b3NiCiBiYWRfdG9fdXNlcjoKLQltb3ZsCSVlZHgsJWVheAorCW1vdmwgJWVkeCwlZWF4CiAJcmV0CiAJQ0ZJX0VORFBST0MKLUVORChiYWRfZnJvbV91c2VyKQorRU5EUFJPQyhiYWRfZnJvbV91c2VyKQogCS5wcmV2aW91cwotCQotCQkKKwogLyoKICAqIGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkIC0gbWVtb3J5IGNvcHkgd2l0aCBleGNlcHRpb24gaGFuZGxpbmcuCi0gKiBUaGlzIHZlcnNpb24gaXMgZm9yIENQVXMgbGlrZSBQNCB0aGF0IGRvbid0IGhhdmUgZWZmaWNpZW50IG1pY3JvIGNvZGUgZm9yIHJlcCBtb3ZzcQotICogCQotICogSW5wdXQ6CQorICogVGhpcyB2ZXJzaW9uIGlzIGZvciBDUFVzIGxpa2UgUDQgdGhhdCBkb24ndCBoYXZlIGVmZmljaWVudCBtaWNybworICogY29kZSBmb3IgcmVwIG1vdnNxCisgKgorICogSW5wdXQ6CiAgKiByZGkgZGVzdGluYXRpb24KICAqIHJzaSBzb3VyY2UKICAqIHJkeCBjb3VudAotICogZWN4IHplcm8gZmxhZyAtLSBpZiB0cnVlIHplcm8gZGVzdGluYXRpb24gb24gZXJyb3IKICAqCi0gKiBPdXRwdXQ6CQkKLSAqIGVheCB1bmNvcGllZCBieXRlcyBvciAwIGlmIHN1Y2Nlc3NmdWwuCisgKiBPdXRwdXQ6CisgKiBlYXggdW5jb3BpZWQgYnl0ZXMgb3IgMCBpZiBzdWNjZXNzZnVsbC4KICAqLwogRU5UUlkoY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQpCiAJQ0ZJX1NUQVJUUFJPQwotCXB1c2hxICVyYngKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAotCUNGSV9SRUxfT0ZGU0VUIHJieCwgMAotCXB1c2hxICVyY3gKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAotCUNGSV9SRUxfT0ZGU0VUIHJjeCwgMAotCXhvcmwgJWVheCwlZWF4CQkvKnplcm8gZm9yIHRoZSBleGNlcHRpb24gaGFuZGxlciAqLwotCi0jaWZkZWYgRklYX0FMSUdOTUVOVAotCS8qIGNoZWNrIGZvciBiYWQgYWxpZ25tZW50IG9mIGRlc3RpbmF0aW9uICovCi0JbW92bCAlZWRpLCVlY3gKLQlhbmRsICQ3LCVlY3gKLQlqbnogIC5MYmFkX2FsaWdubWVudAotLkxhZnRlcl9iYWRfYWxpZ25tZW50OgotI2VuZGlmCi0KLQltb3ZxICVyZHgsJXJjeAotCi0JbW92bCAkNjQsJWVieAotCXNocnEgJDYsJXJkeAotCWRlY3EgJXJkeAotCWpzICAgLkxoYW5kbGVfdGFpbAotCi0JLnAyYWxpZ24gNAotLkxsb29wOgotLkxzMToJbW92cSAoJXJzaSksJXIxMQotLkxzMjoJbW92cSAxKjgoJXJzaSksJXI4Ci0uTHMzOgltb3ZxIDIqOCglcnNpKSwlcjkKLS5MczQ6CW1vdnEgMyo4KCVyc2kpLCVyMTAKLS5MZDE6CW1vdnEgJXIxMSwoJXJkaSkKLS5MZDI6CW1vdnEgJXI4LDEqOCglcmRpKQotLkxkMzoJbW92cSAlcjksMio4KCVyZGkpCi0uTGQ0Ogltb3ZxICVyMTAsMyo4KCVyZGkpCi0KLS5MczU6CW1vdnEgNCo4KCVyc2kpLCVyMTEKLS5MczY6CW1vdnEgNSo4KCVyc2kpLCVyOAotLkxzNzoJbW92cSA2KjgoJXJzaSksJXI5Ci0uTHM4Ogltb3ZxIDcqOCglcnNpKSwlcjEwCi0uTGQ1Ogltb3ZxICVyMTEsNCo4KCVyZGkpCi0uTGQ2Ogltb3ZxICVyOCw1KjgoJXJkaSkKLS5MZDc6CW1vdnEgJXI5LDYqOCglcmRpKQotLkxkODoJbW92cSAlcjEwLDcqOCglcmRpKQotCi0JZGVjcSAlcmR4Ci0KKwljbXBsICQ4LCVlZHgKKwlqYiAyMGYJCS8qIGxlc3MgdGhlbiA4IGJ5dGVzLCBnbyB0byBieXRlIGNvcHkgbG9vcCAqLworCUFMSUdOX0RFU1RJTkFUSU9OCisJbW92bCAlZWR4LCVlY3gKKwlhbmRsICQ2MywlZWR4CisJc2hybCAkNiwlZWN4CisJanogMTdmCisxOgltb3ZxICglcnNpKSwlcjgKKzI6CW1vdnEgMSo4KCVyc2kpLCVyOQorMzoJbW92cSAyKjgoJXJzaSksJXIxMAorNDoJbW92cSAzKjgoJXJzaSksJXIxMQorNToJbW92cSAlcjgsKCVyZGkpCis2Ogltb3ZxICVyOSwxKjgoJXJkaSkKKzc6CW1vdnEgJXIxMCwyKjgoJXJkaSkKKzg6CW1vdnEgJXIxMSwzKjgoJXJkaSkKKzk6CW1vdnEgNCo4KCVyc2kpLCVyOAorMTA6CW1vdnEgNSo4KCVyc2kpLCVyOQorMTE6CW1vdnEgNio4KCVyc2kpLCVyMTAKKzEyOgltb3ZxIDcqOCglcnNpKSwlcjExCisxMzoJbW92cSAlcjgsNCo4KCVyZGkpCisxNDoJbW92cSAlcjksNSo4KCVyZGkpCisxNToJbW92cSAlcjEwLDYqOCglcmRpKQorMTY6CW1vdnEgJXIxMSw3KjgoJXJkaSkKIAlsZWFxIDY0KCVyc2kpLCVyc2kKIAlsZWFxIDY0KCVyZGkpLCVyZGkKLQotCWpucyAgLkxsb29wCi0KLQkucDJhbGlnbiA0Ci0uTGhhbmRsZV90YWlsOgotCW1vdmwgJWVjeCwlZWR4Ci0JYW5kbCAkNjMsJWVjeAorCWRlY2wgJWVjeAorCWpueiAxYgorMTc6CW1vdmwgJWVkeCwlZWN4CisJYW5kbCAkNywlZWR4CiAJc2hybCAkMywlZWN4Ci0JanogICAuTGhhbmRsZV83Ci0JbW92bCAkOCwlZWJ4Ci0JLnAyYWxpZ24gNAotLkxsb29wXzg6Ci0uTHM5Ogltb3ZxICglcnNpKSwlcjgKLS5MZDk6CW1vdnEgJXI4LCglcmRpKQotCWRlY2wgJWVjeAotCWxlYXEgOCglcmRpKSwlcmRpCisJanogMjBmCisxODoJbW92cSAoJXJzaSksJXI4CisxOToJbW92cSAlcjgsKCVyZGkpCiAJbGVhcSA4KCVyc2kpLCVyc2kKLQlqbnogLkxsb29wXzgKLQotLkxoYW5kbGVfNzoKKwlsZWFxIDgoJXJkaSksJXJkaQorCWRlY2wgJWVjeAorCWpueiAxOGIKKzIwOglhbmRsICVlZHgsJWVkeAorCWp6IDIzZgogCW1vdmwgJWVkeCwlZWN4Ci0JYW5kbCAkNywlZWN4Ci0JanogICAuTGVuZGUKLQkucDJhbGlnbiA0Ci0uTGxvb3BfMToKLS5MczEwOgltb3ZiICglcnNpKSwlYmwKLS5MZDEwOgltb3ZiICVibCwoJXJkaSkKLQlpbmNxICVyZGkKKzIxOgltb3ZiICglcnNpKSwlYWwKKzIyOgltb3ZiICVhbCwoJXJkaSkKIAlpbmNxICVyc2kKKwlpbmNxICVyZGkKIAlkZWNsICVlY3gKLQlqbnogLkxsb29wXzEKLQotCUNGSV9SRU1FTUJFUl9TVEFURQotLkxlbmRlOgotCXBvcHEgJXJjeAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAotCUNGSV9SRVNUT1JFIHJjeAotCXBvcHEgJXJieAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAotCUNGSV9SRVNUT1JFIHJieAorCWpueiAyMWIKKzIzOgl4b3IgJWVheCwlZWF4CiAJcmV0Ci0JQ0ZJX1JFU1RPUkVfU1RBVEUKIAotI2lmZGVmIEZJWF9BTElHTk1FTlQKLQkvKiBhbGlnbiBkZXN0aW5hdGlvbiAqLwotCS5wMmFsaWduIDQKLS5MYmFkX2FsaWdubWVudDoKLQltb3ZsICQ4LCVyOWQKLQlzdWJsICVlY3gsJXI5ZAotCW1vdmwgJXI5ZCwlZWN4Ci0JY21wcSAlcjksJXJkeAotCWp6ICAgLkxoYW5kbGVfNwotCWpzICAgLkxoYW5kbGVfNwotLkxhbGlnbl8xOgotLkxzMTE6CW1vdmIgKCVyc2kpLCVibAotLkxkMTE6CW1vdmIgJWJsLCglcmRpKQotCWluY3EgJXJzaQotCWluY3EgJXJkaQotCWRlY2wgJWVjeAotCWpueiAuTGFsaWduXzEKLQlzdWJxICVyOSwlcmR4Ci0Jam1wIC5MYWZ0ZXJfYmFkX2FsaWdubWVudAotI2VuZGlmCisJLnNlY3Rpb24gLmZpeHVwLCJheCIKKzMwOglzaGxsICQ2LCVlY3gKKwlhZGRsICVlY3gsJWVkeAorCWptcCA2MGYKKzQwOglsZWEgKCVyZHgsJXJjeCw4KSwlcmR4CisJam1wIDYwZgorNTA6CW1vdmwgJWVjeCwlZWR4Cis2MDoJam1wIGNvcHlfdXNlcl9oYW5kbGVfdGFpbCAvKiBlY3ggaXMgemVyb3Jlc3QgYWxzbyAqLworCS5wcmV2aW91cwogCi0JLyogdGFibGUgc29ydGVkIGJ5IGV4Y2VwdGlvbiBhZGRyZXNzICovCiAJLnNlY3Rpb24gX19leF90YWJsZSwiYSIKIAkuYWxpZ24gOAotCS5xdWFkIC5MczEsLkxzMWUJLyogTHMxLUxzNCBoYXZlIGNvcGllZCB6ZXJvIGJ5dGVzICovCi0JLnF1YWQgLkxzMiwuTHMxZQotCS5xdWFkIC5MczMsLkxzMWUKLQkucXVhZCAuTHM0LC5MczFlCi0JLnF1YWQgLkxkMSwuTHMxZQkvKiBMZDEtTGQ0IGhhdmUgY29waWVkIDAtMjQgYnl0ZXMgKi8KLQkucXVhZCAuTGQyLC5MczJlCi0JLnF1YWQgLkxkMywuTHMzZQotCS5xdWFkIC5MZDQsLkxzNGUKLQkucXVhZCAuTHM1LC5MczVlCS8qIExzNS1MczggaGF2ZSBjb3BpZWQgMzIgYnl0ZXMgKi8KLQkucXVhZCAuTHM2LC5MczVlCi0JLnF1YWQgLkxzNywuTHM1ZQotCS5xdWFkIC5MczgsLkxzNWUKLQkucXVhZCAuTGQ1LC5MczVlCS8qIExkNS1MZDggaGF2ZSBjb3BpZWQgMzItNTYgYnl0ZXMgKi8KLQkucXVhZCAuTGQ2LC5MczZlCi0JLnF1YWQgLkxkNywuTHM3ZQotCS5xdWFkIC5MZDgsLkxzOGUKLQkucXVhZCAuTHM5LC5MZV9xdWFkCi0JLnF1YWQgLkxkOSwuTGVfcXVhZAotCS5xdWFkIC5MczEwLC5MZV9ieXRlCi0JLnF1YWQgLkxkMTAsLkxlX2J5dGUKLSNpZmRlZiBGSVhfQUxJR05NRU5UCi0JLnF1YWQgLkxzMTEsLkx6ZXJvX3Jlc3QKLQkucXVhZCAuTGQxMSwuTHplcm9fcmVzdAotI2VuZGlmCi0JLnF1YWQgLkxlNSwuTGVfemVybworCS5xdWFkIDFiLDMwYgorCS5xdWFkIDJiLDMwYgorCS5xdWFkIDNiLDMwYgorCS5xdWFkIDRiLDMwYgorCS5xdWFkIDViLDMwYgorCS5xdWFkIDZiLDMwYgorCS5xdWFkIDdiLDMwYgorCS5xdWFkIDhiLDMwYgorCS5xdWFkIDliLDMwYgorCS5xdWFkIDEwYiwzMGIKKwkucXVhZCAxMWIsMzBiCisJLnF1YWQgMTJiLDMwYgorCS5xdWFkIDEzYiwzMGIKKwkucXVhZCAxNGIsMzBiCisJLnF1YWQgMTViLDMwYgorCS5xdWFkIDE2YiwzMGIKKwkucXVhZCAxOGIsNDBiCisJLnF1YWQgMTliLDQwYgorCS5xdWFkIDIxYiw1MGIKKwkucXVhZCAyMmIsNTBiCiAJLnByZXZpb3VzCi0KLQkvKiBlYXg6IHplcm8sIGVieDogNjQgKi8KLS5MczFlOiAJYWRkbCAkOCwlZWF4CQkvKiBlYXggaXMgYnl0ZXMgbGVmdCB1bmNvcGllZCB3aXRoaW4gdGhlIGxvb3AgKExzMWU6IDY0IC4uIExzOGU6IDgpICovCi0uTHMyZTogCWFkZGwgJDgsJWVheAotLkxzM2U6IAlhZGRsICQ4LCVlYXgKLS5MczRlOiAJYWRkbCAkOCwlZWF4Ci0uTHM1ZTogCWFkZGwgJDgsJWVheAotLkxzNmU6IAlhZGRsICQ4LCVlYXgKLS5MczdlOiAJYWRkbCAkOCwlZWF4Ci0uTHM4ZTogCWFkZGwgJDgsJWVheAotCWFkZHEgJXJieCwlcmRpCS8qICs2NCAqLwotCXN1YnEgJXJheCwlcmRpICAvKiBjb3JyZWN0IGRlc3RpbmF0aW9uIHdpdGggY29tcHV0ZWQgb2Zmc2V0ICovCi0KLQlzaGxxICQ2LCVyZHgJLyogbG9vcCBjb3VudGVyICogNjQgKHN0cmlkZSBsZW5ndGgpICovCi0JYWRkcSAlcmF4LCVyZHgJLyogYWRkIG9mZnNldCB0byBsb29wY250ICovCi0JYW5kbCAkNjMsJWVjeAkvKiByZW1haW5pbmcgYnl0ZXMgKi8KLQlhZGRxICVyY3gsJXJkeAkvKiBhZGQgdGhlbSAqLwotCWptcCAuTHplcm9fcmVzdAotCi0JLyogZXhjZXB0aW9uIG9uIHF1YWQgd29yZCBsb29wIGluIHRhaWwgaGFuZGxpbmcgKi8KLQkvKiBlY3g6CWxvb3BjbnQvOCwgJWVkeDogbGVuZ3RoLCByZGk6IGNvcnJlY3QgKi8KLS5MZV9xdWFkOgotCXNobGwgJDMsJWVjeAotCWFuZGwgJDcsJWVkeAotCWFkZGwgJWVjeCwlZWR4Ci0JLyogZWR4OiBieXRlcyB0byB6ZXJvLCByZGk6IGRlc3QsIGVheDp6ZXJvICovCi0uTHplcm9fcmVzdDoKLQljbXBsICQwLCglcnNwKQotCWp6ICAgLkxlX3plcm8KLQltb3ZxICVyZHgsJXJjeAotLkxlX2J5dGU6Ci0JeG9ybCAlZWF4LCVlYXgKLS5MZTU6CXJlcAotCXN0b3NiCi0JLyogd2hlbiB0aGVyZSBpcyBhbm90aGVyIGV4Y2VwdGlvbiB3aGlsZSB6ZXJvaW5nIHRoZSByZXN0IGp1c3QgcmV0dXJuICovCi0uTGVfemVybzoKLQltb3ZxICVyZHgsJXJheAotCWptcCAuTGVuZGUKIAlDRklfRU5EUFJPQwotRU5EUFJPQyhjb3B5X3VzZXJfZ2VuZXJpYykKK0VORFBST0MoY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQpCiAKLQotCS8qIFNvbWUgQ1BVcyBydW4gZmFzdGVyIHVzaW5nIHRoZSBzdHJpbmcgY29weSBpbnN0cnVjdGlvbnMuCi0JICAgVGhpcyBpcyBhbHNvIGEgbG90IHNpbXBsZXIuIFVzZSB0aGVtIHdoZW4gcG9zc2libGUuCi0JICAgUGF0Y2ggaW4gam1wcyB0byB0aGlzIGNvZGUgaW5zdGVhZCBvZiBjb3B5aW5nIGl0IGZ1bGx5Ci0JICAgdG8gYXZvaWQgdW53YW50ZWQgYWxpYXNpbmcgaW4gdGhlIGV4Y2VwdGlvbiB0YWJsZXMuICovCi0KLSAvKiByZGkJZGVzdGluYXRpb24KLSAgKiByc2kgc291cmNlCi0gICogcmR4IGNvdW50Ci0gICogZWN4IHplcm8gZmxhZwotICAqCi0gICogT3V0cHV0OgotICAqIGVheCB1bmNvcGllZCBieXRlcyBvciAwIGlmIHN1Y2Nlc3NmdWxsLgotICAqCi0gICogT25seSA0R0Igb2YgY29weSBpcyBzdXBwb3J0ZWQuIFRoaXMgc2hvdWxkbid0IGJlIGEgcHJvYmxlbQotICAqIGJlY2F1c2UgdGhlIGtlcm5lbCBub3JtYWxseSBvbmx5IHdyaXRlcyBmcm9tL3RvIHBhZ2Ugc2l6ZWQgY2h1bmtzCi0gICogZXZlbiBpZiB1c2VyIHNwYWNlIHBhc3NlZCBhIGxvbmdlciBidWZmZXIuCi0gICogQW5kIG1vcmUgd291bGQgYmUgZGFuZ2Vyb3VzIGJlY2F1c2UgYm90aCBJbnRlbCBhbmQgQU1EIGhhdmUKLSAgKiBlcnJhdGEgd2l0aCByZXAgbW92c3EgPiA0R0IuIElmIHNvbWVvbmUgZmVlbHMgdGhlIG5lZWQgdG8gZml4Ci0gICogdGhpcyBwbGVhc2UgY29uc2lkZXIgdGhpcy4KLSAgKi8KKy8qIFNvbWUgQ1BVcyBydW4gZmFzdGVyIHVzaW5nIHRoZSBzdHJpbmcgY29weSBpbnN0cnVjdGlvbnMuCisgKiBUaGlzIGlzIGFsc28gYSBsb3Qgc2ltcGxlci4gVXNlIHRoZW0gd2hlbiBwb3NzaWJsZS4KKyAqCisgKiBPbmx5IDRHQiBvZiBjb3B5IGlzIHN1cHBvcnRlZC4gVGhpcyBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtCisgKiBiZWNhdXNlIHRoZSBrZXJuZWwgbm9ybWFsbHkgb25seSB3cml0ZXMgZnJvbS90byBwYWdlIHNpemVkIGNodW5rcworICogZXZlbiBpZiB1c2VyIHNwYWNlIHBhc3NlZCBhIGxvbmdlciBidWZmZXIuCisgKiBBbmQgbW9yZSB3b3VsZCBiZSBkYW5nZXJvdXMgYmVjYXVzZSBib3RoIEludGVsIGFuZCBBTUQgaGF2ZQorICogZXJyYXRhIHdpdGggcmVwIG1vdnNxID4gNEdCLiBJZiBzb21lb25lIGZlZWxzIHRoZSBuZWVkIHRvIGZpeAorICogdGhpcyBwbGVhc2UgY29uc2lkZXIgdGhpcy4KKyAqCisgKiBJbnB1dDoKKyAqIHJkaSBkZXN0aW5hdGlvbgorICogcnNpIHNvdXJjZQorICogcmR4IGNvdW50CisgKgorICogT3V0cHV0OgorICogZWF4IHVuY29waWVkIGJ5dGVzIG9yIDAgaWYgc3VjY2Vzc2Z1bC4KKyAqLwogRU5UUlkoY29weV91c2VyX2dlbmVyaWNfc3RyaW5nKQogCUNGSV9TVEFSVFBST0MKLQltb3ZsICVlY3gsJXI4ZAkJLyogc2F2ZSB6ZXJvIGZsYWcgKi8KKwlhbmRsICVlZHgsJWVkeAorCWp6IDRmCisJY21wbCAkOCwlZWR4CisJamIgMmYJCS8qIGxlc3MgdGhhbiA4IGJ5dGVzLCBnbyB0byBieXRlIGNvcHkgbG9vcCAqLworCUFMSUdOX0RFU1RJTkFUSU9OCiAJbW92bCAlZWR4LCVlY3gKIAlzaHJsICQzLCVlY3gKLQlhbmRsICQ3LCVlZHgJCi0JanogICAxMGYKLTE6CXJlcCAKLQltb3ZzcSAKLQltb3ZsICVlZHgsJWVjeAotMjoJcmVwCi0JbW92c2IKLTk6CW1vdmwgJWVjeCwlZWF4Ci0JcmV0Ci0KLQkvKiBtdWx0aXBsZSBvZiA4IGJ5dGUgKi8KLTEwOglyZXAKKwlhbmRsICQ3LCVlZHgKKzE6CXJlcAogCW1vdnNxCi0JeG9yICVlYXgsJWVheAorMjoJbW92bCAlZWR4LCVlY3gKKzM6CXJlcAorCW1vdnNiCis0Ogl4b3JsICVlYXgsJWVheAogCXJldAogCi0JLyogZXhjZXB0aW9uIGhhbmRsaW5nICovCi0zOiAgICAgIGxlYSAoJXJkeCwlcmN4LDgpLCVyYXgJLyogZXhjZXB0aW9uIG9uIHF1YWQgbG9vcCAqLwotCWptcCA2ZgotNToJbW92bCAlZWN4LCVlYXgJCS8qIGV4Y2VwdGlvbiBvbiBieXRlIGxvb3AgKi8KLQkvKiBlYXg6IGxlZnQgb3ZlciBieXRlcyAqLwotNjoJdGVzdGwgJXI4ZCwlcjhkCQkvKiB6ZXJvIGZsYWcgc2V0PyAqLwotCWp6IDdmCi0JbW92bCAlZWF4LCVlY3gJCS8qIGluaXRpYWxpemUgeDg2IGxvb3AgY291bnRlciAqLwotCXB1c2ggJXJheAotCXhvcmwgJWVheCwlZWF4Ci04OglyZXAKLQlzdG9zYiAJCQkvKiB6ZXJvIHRoZSByZXN0ICovCi0xMToJcG9wICVyYXgKLTc6CXJldAotCUNGSV9FTkRQUk9DCi1FTkQoY29weV91c2VyX2dlbmVyaWNfYykKKwkuc2VjdGlvbiAuZml4dXAsImF4IgorMTE6CWxlYSAoJXJkeCwlcmN4LDgpLCVyY3gKKzEyOgltb3ZsICVlY3gsJWVkeAkJLyogZWN4IGlzIHplcm9yZXN0IGFsc28gKi8KKwlqbXAgY29weV91c2VyX2hhbmRsZV90YWlsCisJLnByZXZpb3VzCiAKIAkuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5xdWFkIDFiLDNiCi0JLnF1YWQgMmIsNWIKLQkucXVhZCA4YiwxMWIKLQkucXVhZCAxMGIsM2IKKwkuYWxpZ24gOAorCS5xdWFkIDFiLDExYgorCS5xdWFkIDNiLDEyYgogCS5wcmV2aW91cworCUNGSV9FTkRQUk9DCitFTkRQUk9DKGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZykKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfbm9jYWNoZV82NC5TIGIvYXJjaC94ODYvbGliL2NvcHlfdXNlcl9ub2NhY2hlXzY0LlMKaW5kZXggOWQzZDFhYi4uNDBlMGUzMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL2NvcHlfdXNlcl9ub2NhY2hlXzY0LlMKKysrIGIvYXJjaC94ODYvbGliL2NvcHlfdXNlcl9ub2NhY2hlXzY0LlMKQEAgLTEsNCArMSw2IEBACi0vKiBDb3B5cmlnaHQgMjAwMiBBbmRpIEtsZWVuLCBTdVNFIExhYnMuCisvKgorICogQ29weXJpZ2h0IDIwMDggVml0YWx5IE1heWF0c2tpa2ggPHZtYXlhdHNrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgMjAwMiBBbmRpIEtsZWVuLCBTdVNFIExhYnMuCiAgKiBTdWJqZWN0IHRvIHRoZSBHTlUgUHVibGljIExpY2Vuc2UgdjIuCiAgKgogICogRnVuY3Rpb25zIHRvIGNvcHkgZnJvbSBhbmQgdG8gdXNlciBzcGFjZS4KQEAgLTEyLDIwNCArMTQsMTI1IEBACiAjaW5jbHVkZSA8YXNtL2N1cnJlbnQuaD4KICNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KICNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLSNpbmNsdWRlIDxhc20vY3B1ZmVhdHVyZS5oPgogCi0vKgotICogY29weV91c2VyX25vY2FjaGUgLSBVbmNhY2hlZCBtZW1vcnkgY29weSB3aXRoIGV4Y2VwdGlvbiBoYW5kbGluZwotICogVGhpcyB3aWxsIGZvcmNlIGRlc3RpbmF0aW9uL3NvdXJjZSBvdXQgb2YgY2FjaGUgZm9yIG1vcmUgcGVyZm9ybWFuY2UuCi0gKgotICogSW5wdXQ6Ci0gKiByZGkgZGVzdGluYXRpb24KLSAqIHJzaSBzb3VyY2UKLSAqIHJkeCBjb3VudAotICogcmN4IHplcm8gZmxhZwl3aGVuIDEgemVybyBvbiBleGNlcHRpb24KLSAqCi0gKiBPdXRwdXQ6Ci0gKiBlYXggdW5jb3BpZWQgYnl0ZXMgb3IgMCBpZiBzdWNjZXNzZnVsLgotICovCi1FTlRSWShfX2NvcHlfdXNlcl9ub2NhY2hlKQotCUNGSV9TVEFSVFBST0MKLQlwdXNocSAlcmJ4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKLQlDRklfUkVMX09GRlNFVCByYngsIDAKLQlwdXNocSAlcmN4CQkvKiBzYXZlIHplcm8gZmxhZyAqLwotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4Ci0JQ0ZJX1JFTF9PRkZTRVQgcmN4LCAwCi0KLQl4b3JsICVlYXgsJWVheAkJLyogemVybyBmb3IgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyICovCi0KKwkubWFjcm8gQUxJR05fREVTVElOQVRJT04KICNpZmRlZiBGSVhfQUxJR05NRU5UCiAJLyogY2hlY2sgZm9yIGJhZCBhbGlnbm1lbnQgb2YgZGVzdGluYXRpb24gKi8KIAltb3ZsICVlZGksJWVjeAogCWFuZGwgJDcsJWVjeAotCWpueiAgLkxiYWRfYWxpZ25tZW50Ci0uTGFmdGVyX2JhZF9hbGlnbm1lbnQ6Ci0jZW5kaWYKLQotCW1vdnEgJXJkeCwlcmN4Ci0KLQltb3ZsICQ2NCwlZWJ4Ci0Jc2hycSAkNiwlcmR4Ci0JZGVjcSAlcmR4Ci0JanMgICAuTGhhbmRsZV90YWlsCi0KLQkucDJhbGlnbiA0Ci0uTGxvb3A6Ci0uTHMxOgltb3ZxICglcnNpKSwlcjExCi0uTHMyOgltb3ZxIDEqOCglcnNpKSwlcjgKLS5MczM6CW1vdnEgMio4KCVyc2kpLCVyOQotLkxzNDoJbW92cSAzKjgoJXJzaSksJXIxMAotLkxkMToJbW92bnRpICVyMTEsKCVyZGkpCi0uTGQyOgltb3ZudGkgJXI4LDEqOCglcmRpKQotLkxkMzoJbW92bnRpICVyOSwyKjgoJXJkaSkKLS5MZDQ6CW1vdm50aSAlcjEwLDMqOCglcmRpKQotCi0uTHM1Ogltb3ZxIDQqOCglcnNpKSwlcjExCi0uTHM2Ogltb3ZxIDUqOCglcnNpKSwlcjgKLS5Mczc6CW1vdnEgNio4KCVyc2kpLCVyOQotLkxzODoJbW92cSA3KjgoJXJzaSksJXIxMAotLkxkNToJbW92bnRpICVyMTEsNCo4KCVyZGkpCi0uTGQ2Ogltb3ZudGkgJXI4LDUqOCglcmRpKQotLkxkNzoJbW92bnRpICVyOSw2KjgoJXJkaSkKLS5MZDg6CW1vdm50aSAlcjEwLDcqOCglcmRpKQotCi0JZGVjICAlcmR4Ci0KLQlsZWFxIDY0KCVyc2kpLCVyc2kKLQlsZWFxIDY0KCVyZGkpLCVyZGkKLQotCWpucyAgLkxsb29wCi0KLQkucDJhbGlnbiA0Ci0uTGhhbmRsZV90YWlsOgotCW1vdmwgJWVjeCwlZWR4Ci0JYW5kbCAkNjMsJWVjeAotCXNocmwgJDMsJWVjeAotCWp6ICAgLkxoYW5kbGVfNwotCW1vdmwgJDgsJWVieAotCS5wMmFsaWduIDQKLS5MbG9vcF84OgotLkxzOToJbW92cSAoJXJzaSksJXI4Ci0uTGQ5Ogltb3ZudGkgJXI4LCglcmRpKQotCWRlY2wgJWVjeAotCWxlYXEgOCglcmRpKSwlcmRpCi0JbGVhcSA4KCVyc2kpLCVyc2kKLQlqbnogLkxsb29wXzgKLQotLkxoYW5kbGVfNzoKLQltb3ZsICVlZHgsJWVjeAotCWFuZGwgJDcsJWVjeAotCWp6ICAgLkxlbmRlCi0JLnAyYWxpZ24gNAotLkxsb29wXzE6Ci0uTHMxMDoJbW92YiAoJXJzaSksJWJsCi0uTGQxMDoJbW92YiAlYmwsKCVyZGkpCi0JaW5jcSAlcmRpCi0JaW5jcSAlcnNpCi0JZGVjbCAlZWN4Ci0Jam56IC5MbG9vcF8xCi0KLQlDRklfUkVNRU1CRVJfU1RBVEUKLS5MZW5kZToKLQlwb3BxICVyY3gKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTgKLQlDRklfUkVTVE9SRSAlcmN4Ci0JcG9wcSAlcmJ4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC04Ci0JQ0ZJX1JFU1RPUkUgcmJ4Ci0Jc2ZlbmNlCi0JcmV0Ci0JQ0ZJX1JFU1RPUkVfU1RBVEUKLQotI2lmZGVmIEZJWF9BTElHTk1FTlQKLQkvKiBhbGlnbiBkZXN0aW5hdGlvbiAqLwotCS5wMmFsaWduIDQKLS5MYmFkX2FsaWdubWVudDoKLQltb3ZsICQ4LCVyOWQKLQlzdWJsICVlY3gsJXI5ZAotCW1vdmwgJXI5ZCwlZWN4Ci0JY21wcSAlcjksJXJkeAotCWp6ICAgLkxoYW5kbGVfNwotCWpzICAgLkxoYW5kbGVfNwotLkxhbGlnbl8xOgotLkxzMTE6CW1vdmIgKCVyc2kpLCVibAotLkxkMTE6CW1vdmIgJWJsLCglcmRpKQorCWp6IDEwMmYJCQkJLyogYWxyZWFkeSBhbGlnbmVkICovCisJc3VibCAkOCwlZWN4CisJbmVnbCAlZWN4CisJc3VibCAlZWN4LCVlZHgKKzEwMDoJbW92YiAoJXJzaSksJWFsCisxMDE6CW1vdmIgJWFsLCglcmRpKQogCWluY3EgJXJzaQogCWluY3EgJXJkaQogCWRlY2wgJWVjeAotCWpueiAuTGFsaWduXzEKLQlzdWJxICVyOSwlcmR4Ci0Jam1wIC5MYWZ0ZXJfYmFkX2FsaWdubWVudAotI2VuZGlmCi0KLQkvKiB0YWJsZSBzb3J0ZWQgYnkgZXhjZXB0aW9uIGFkZHJlc3MgKi8KLQkuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5hbGlnbiA4Ci0JLnF1YWQgLkxzMSwuTHMxZQkvKiAuTHNbMS00XSAtIDAgYnl0ZXMgY29waWVkICovCi0JLnF1YWQgLkxzMiwuTHMxZQotCS5xdWFkIC5MczMsLkxzMWUKLQkucXVhZCAuTHM0LC5MczFlCi0JLnF1YWQgLkxkMSwuTHMxZQkvKiAuTGRbMS00XSAtIDAuLjI0IGJ5dGVzIGNvcGVkICovCi0JLnF1YWQgLkxkMiwuTHMyZQotCS5xdWFkIC5MZDMsLkxzM2UKLQkucXVhZCAuTGQ0LC5MczRlCi0JLnF1YWQgLkxzNSwuTHM1ZQkvKiAuTHNbNS04XSAtIDMyIGJ5dGVzIGNvcGllZCAqLwotCS5xdWFkIC5MczYsLkxzNWUKLQkucXVhZCAuTHM3LC5MczVlCi0JLnF1YWQgLkxzOCwuTHM1ZQotCS5xdWFkIC5MZDUsLkxzNWUJLyogLkxkWzUtOF0gLSAzMi4uNTYgYnl0ZXMgY29waWVkICovCi0JLnF1YWQgLkxkNiwuTHM2ZQotCS5xdWFkIC5MZDcsLkxzN2UKLQkucXVhZCAuTGQ4LC5MczhlCi0JLnF1YWQgLkxzOSwuTGVfcXVhZAotCS5xdWFkIC5MZDksLkxlX3F1YWQKLQkucXVhZCAuTHMxMCwuTGVfYnl0ZQotCS5xdWFkIC5MZDEwLC5MZV9ieXRlCi0jaWZkZWYgRklYX0FMSUdOTUVOVAotCS5xdWFkIC5MczExLC5MemVyb19yZXN0Ci0JLnF1YWQgLkxkMTEsLkx6ZXJvX3Jlc3QKLSNlbmRpZgotCS5xdWFkIC5MZTUsLkxlX3plcm8KKwlqbnogMTAwYgorMTAyOgorCS5zZWN0aW9uIC5maXh1cCwiYXgiCisxMDM6CWFkZGwgJXI4ZCwlZWR4CQkJLyogZWN4IGlzIHplcm9yZXN0IGFsc28gKi8KKwlqbXAgY29weV91c2VyX2hhbmRsZV90YWlsCiAJLnByZXZpb3VzCiAKLQkvKiBlYXg6IHplcm8sIGVieDogNjQgKi8KLS5MczFlOiAJYWRkbCAkOCwlZWF4CS8qIGVheDogYnl0ZXMgbGVmdCB1bmNvcGllZDogTHMxZTogNjQgLi4gTHM4ZTogOCAqLwotLkxzMmU6IAlhZGRsICQ4LCVlYXgKLS5MczNlOiAJYWRkbCAkOCwlZWF4Ci0uTHM0ZTogCWFkZGwgJDgsJWVheAotLkxzNWU6IAlhZGRsICQ4LCVlYXgKLS5MczZlOiAJYWRkbCAkOCwlZWF4Ci0uTHM3ZTogCWFkZGwgJDgsJWVheAotLkxzOGU6IAlhZGRsICQ4LCVlYXgKLQlhZGRxICVyYngsJXJkaQkvKiArNjQgKi8KLQlzdWJxICVyYXgsJXJkaSAgLyogY29ycmVjdCBkZXN0aW5hdGlvbiB3aXRoIGNvbXB1dGVkIG9mZnNldCAqLworCS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCisJLmFsaWduIDgKKwkucXVhZCAxMDBiLDEwM2IKKwkucXVhZCAxMDFiLDEwM2IKKwkucHJldmlvdXMKKyNlbmRpZgorCS5lbmRtCiAKLQlzaGxxICQ2LCVyZHgJLyogbG9vcCBjb3VudGVyICogNjQgKHN0cmlkZSBsZW5ndGgpICovCi0JYWRkcSAlcmF4LCVyZHgJLyogYWRkIG9mZnNldCB0byBsb29wY250ICovCi0JYW5kbCAkNjMsJWVjeAkvKiByZW1haW5pbmcgYnl0ZXMgKi8KLQlhZGRxICVyY3gsJXJkeAkvKiBhZGQgdGhlbSAqLwotCWptcCAuTHplcm9fcmVzdAotCi0JLyogZXhjZXB0aW9uIG9uIHF1YWQgd29yZCBsb29wIGluIHRhaWwgaGFuZGxpbmcgKi8KLQkvKiBlY3g6CWxvb3BjbnQvOCwgJWVkeDogbGVuZ3RoLCByZGk6IGNvcnJlY3QgKi8KLS5MZV9xdWFkOgotCXNobGwgJDMsJWVjeAorLyoKKyAqIGNvcHlfdXNlcl9ub2NhY2hlIC0gVW5jYWNoZWQgbWVtb3J5IGNvcHkgd2l0aCBleGNlcHRpb24gaGFuZGxpbmcKKyAqIFRoaXMgd2lsbCBmb3JjZSBkZXN0aW5hdGlvbi9zb3VyY2Ugb3V0IG9mIGNhY2hlIGZvciBtb3JlIHBlcmZvcm1hbmNlLgorICovCitFTlRSWShfX2NvcHlfdXNlcl9ub2NhY2hlKQorCUNGSV9TVEFSVFBST0MKKwljbXBsICQ4LCVlZHgKKwlqYiAyMGYJCS8qIGxlc3MgdGhlbiA4IGJ5dGVzLCBnbyB0byBieXRlIGNvcHkgbG9vcCAqLworCUFMSUdOX0RFU1RJTkFUSU9OCisJbW92bCAlZWR4LCVlY3gKKwlhbmRsICQ2MywlZWR4CisJc2hybCAkNiwlZWN4CisJanogMTdmCisxOgltb3ZxICglcnNpKSwlcjgKKzI6CW1vdnEgMSo4KCVyc2kpLCVyOQorMzoJbW92cSAyKjgoJXJzaSksJXIxMAorNDoJbW92cSAzKjgoJXJzaSksJXIxMQorNToJbW92bnRpICVyOCwoJXJkaSkKKzY6CW1vdm50aSAlcjksMSo4KCVyZGkpCis3Ogltb3ZudGkgJXIxMCwyKjgoJXJkaSkKKzg6CW1vdm50aSAlcjExLDMqOCglcmRpKQorOToJbW92cSA0KjgoJXJzaSksJXI4CisxMDoJbW92cSA1KjgoJXJzaSksJXI5CisxMToJbW92cSA2KjgoJXJzaSksJXIxMAorMTI6CW1vdnEgNyo4KCVyc2kpLCVyMTEKKzEzOgltb3ZudGkgJXI4LDQqOCglcmRpKQorMTQ6CW1vdm50aSAlcjksNSo4KCVyZGkpCisxNToJbW92bnRpICVyMTAsNio4KCVyZGkpCisxNjoJbW92bnRpICVyMTEsNyo4KCVyZGkpCisJbGVhcSA2NCglcnNpKSwlcnNpCisJbGVhcSA2NCglcmRpKSwlcmRpCisJZGVjbCAlZWN4CisJam56IDFiCisxNzoJbW92bCAlZWR4LCVlY3gKIAlhbmRsICQ3LCVlZHgKKwlzaHJsICQzLCVlY3gKKwlqeiAyMGYKKzE4Ogltb3ZxICglcnNpKSwlcjgKKzE5Ogltb3ZudGkgJXI4LCglcmRpKQorCWxlYXEgOCglcnNpKSwlcnNpCisJbGVhcSA4KCVyZGkpLCVyZGkKKwlkZWNsICVlY3gKKwlqbnogMThiCisyMDoJYW5kbCAlZWR4LCVlZHgKKwlqeiAyM2YKKwltb3ZsICVlZHgsJWVjeAorMjE6CW1vdmIgKCVyc2kpLCVhbAorMjI6CW1vdmIgJWFsLCglcmRpKQorCWluY3EgJXJzaQorCWluY3EgJXJkaQorCWRlY2wgJWVjeAorCWpueiAyMWIKKzIzOgl4b3JsICVlYXgsJWVheAorCXNmZW5jZQorCXJldAorCisJLnNlY3Rpb24gLmZpeHVwLCJheCIKKzMwOglzaGxsICQ2LCVlY3gKIAlhZGRsICVlY3gsJWVkeAotCS8qIGVkeDogYnl0ZXMgdG8gemVybywgcmRpOiBkZXN0LCBlYXg6emVybyAqLwotLkx6ZXJvX3Jlc3Q6Ci0JY21wbCAkMCwoJXJzcCkJLyogemVybyBmbGFnIHNldD8gKi8KLQlqeiAgIC5MZV96ZXJvCi0JbW92cSAlcmR4LCVyY3gKLS5MZV9ieXRlOgotCXhvcmwgJWVheCwlZWF4Ci0uTGU1OglyZXAKLQlzdG9zYgotCS8qIHdoZW4gdGhlcmUgaXMgYW5vdGhlciBleGNlcHRpb24gd2hpbGUgemVyb2luZyB0aGUgcmVzdCBqdXN0IHJldHVybiAqLwotLkxlX3plcm86Ci0JbW92cSAlcmR4LCVyYXgKLQlqbXAgLkxlbmRlCisJam1wIDYwZgorNDA6CWxlYSAoJXJkeCwlcmN4LDgpLCVyZHgKKwlqbXAgNjBmCis1MDoJbW92bCAlZWN4LCVlZHgKKzYwOglzZmVuY2UKKwltb3ZsICVyOGQsJWVjeAorCWptcCBjb3B5X3VzZXJfaGFuZGxlX3RhaWwKKwkucHJldmlvdXMKKworCS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCisJLnF1YWQgMWIsMzBiCisJLnF1YWQgMmIsMzBiCisJLnF1YWQgM2IsMzBiCisJLnF1YWQgNGIsMzBiCisJLnF1YWQgNWIsMzBiCisJLnF1YWQgNmIsMzBiCisJLnF1YWQgN2IsMzBiCisJLnF1YWQgOGIsMzBiCisJLnF1YWQgOWIsMzBiCisJLnF1YWQgMTBiLDMwYgorCS5xdWFkIDExYiwzMGIKKwkucXVhZCAxMmIsMzBiCisJLnF1YWQgMTNiLDMwYgorCS5xdWFkIDE0YiwzMGIKKwkucXVhZCAxNWIsMzBiCisJLnF1YWQgMTZiLDMwYgorCS5xdWFkIDE4Yiw0MGIKKwkucXVhZCAxOWIsNDBiCisJLnF1YWQgMjFiLDUwYgorCS5xdWFkIDIyYiw1MGIKKwkucHJldmlvdXMKIAlDRklfRU5EUFJPQwogRU5EUFJPQyhfX2NvcHlfdXNlcl9ub2NhY2hlKQotCi0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9kZWxheV8zMi5jIGIvYXJjaC94ODYvbGliL2RlbGF5LmMKc2ltaWxhcml0eSBpbmRleCA4NyUKcmVuYW1lIGZyb20gYXJjaC94ODYvbGliL2RlbGF5XzMyLmMKcmVuYW1lIHRvIGFyY2gveDg2L2xpYi9kZWxheS5jCmluZGV4IGQ3MTBmMmQuLmY0NTY4NjAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi9kZWxheV8zMi5jCisrKyBiL2FyY2gveDg2L2xpYi9kZWxheS5jCkBAIC0zLDYgKzMsNyBAQAogICoKICAqCUNvcHlyaWdodCAoQykgMTk5MyBMaW51cyBUb3J2YWxkcwogICoJQ29weXJpZ2h0IChDKSAxOTk3IE1hcnRpbiBNYXJlcyA8bWpAYXRyZXkua2FybGluLm1mZi5jdW5pLmN6PgorICoJQ29weXJpZ2h0IChDKSAyMDA4IEppcmkgSGxhZGt5IDxobGFka3kgX2RvdF8gamlyaSBfYXRfIGdtYWlsIF9kb3RfIGNvbT4KICAqCiAgKglUaGUgX19kZWxheSBmdW5jdGlvbiBtdXN0IF9OT1RfIGJlIGlubGluZWQgYXMgaXRzIGV4ZWN1dGlvbiB0aW1lCiAgKglkZXBlbmRzIHdpbGRseSBvbiBhbGlnbm1lbnQgb24gbWFueSB4ODYgcHJvY2Vzc29ycy4gVGhlIGFkZGl0aW9uYWwKQEAgLTI4LDE2ICsyOSwyMiBAQAogLyogc2ltcGxlIGxvb3AgYmFzZWQgZGVsYXk6ICovCiBzdGF0aWMgdm9pZCBkZWxheV9sb29wKHVuc2lnbmVkIGxvbmcgbG9vcHMpCiB7Ci0JaW50IGQwOworCWFzbSB2b2xhdGlsZSgKKwkJIgl0ZXN0ICUwLCUwCVxuIgorCQkiCWp6IDNmCQlcbiIKKwkJIglqbXAgMWYJCVxuIgogCi0JX19hc21fXyBfX3ZvbGF0aWxlX18oCi0JCSJcdGptcCAxZlxuIgotCQkiLmFsaWduIDE2XG4iCi0JCSIxOlx0am1wIDJmXG4iCi0JCSIuYWxpZ24gMTZcbiIKLQkJIjI6XHRkZWNsICUwXG5cdGpucyAyYiIKLQkJOiI9JmEiIChkMCkKLQkJOiIwIiAobG9vcHMpKTsKKwkJIi5hbGlnbiAxNgkJXG4iCisJCSIxOglqbXAgMmYJCVxuIgorCisJCSIuYWxpZ24gMTYJCVxuIgorCQkiMjoJZGVjICUwCQlcbiIKKwkJIglqbnogMmIJCVxuIgorCQkiMzoJZGVjICUwCQlcbiIKKworCQk6IC8qIHdlIGRvbid0IG5lZWQgb3V0cHV0ICovCisJCToiYSIgKGxvb3BzKQorCSk7CiB9CiAKIC8qIFRTQyBiYXNlZCBkZWxheTogKi8KQEAgLTkxLDcgKzk4LDcgQEAKIGludCBfX2RldmluaXQgcmVhZF9jdXJyZW50X3RpbWVyKHVuc2lnbmVkIGxvbmcgKnRpbWVyX3ZhbCkKIHsKIAlpZiAoZGVsYXlfZm4gPT0gZGVsYXlfdHNjKSB7Ci0JCXJkdHNjbCgqdGltZXJfdmFsKTsKKwkJcmR0c2NsbCgqdGltZXJfdmFsKTsKIAkJcmV0dXJuIDA7CiAJfQogCXJldHVybiAtMTsKQEAgLTEwMSwzMSArMTA4LDMwIEBACiB7CiAJZGVsYXlfZm4obG9vcHMpOwogfQorRVhQT1JUX1NZTUJPTChfX2RlbGF5KTsKIAogaW5saW5lIHZvaWQgX19jb25zdF91ZGVsYXkodW5zaWduZWQgbG9uZyB4bG9vcHMpCiB7CiAJaW50IGQwOwogCiAJeGxvb3BzICo9IDQ7Ci0JX19hc21fXygibXVsbCAlMCIKKwlhc20oIm11bGwgJSVlZHgiCiAJCToiPWQiICh4bG9vcHMpLCAiPSZhIiAoZDApCiAJCToiMSIgKHhsb29wcyksICIwIgogCQkoY3B1X2RhdGEocmF3X3NtcF9wcm9jZXNzb3JfaWQoKSkubG9vcHNfcGVyX2ppZmZ5ICogKEhaLzQpKSk7CiAKIAlfX2RlbGF5KCsreGxvb3BzKTsKIH0KK0VYUE9SVF9TWU1CT0woX19jb25zdF91ZGVsYXkpOwogCiB2b2lkIF9fdWRlbGF5KHVuc2lnbmVkIGxvbmcgdXNlY3MpCiB7CiAJX19jb25zdF91ZGVsYXkodXNlY3MgKiAweDAwMDAxMGM3KTsgLyogMioqMzIgLyAxMDAwMDAwIChyb3VuZGVkIHVwKSAqLwogfQorRVhQT1JUX1NZTUJPTChfX3VkZWxheSk7CiAKIHZvaWQgX19uZGVsYXkodW5zaWduZWQgbG9uZyBuc2VjcykKIHsKIAlfX2NvbnN0X3VkZWxheShuc2VjcyAqIDB4MDAwMDUpOyAvKiAyKiozMiAvIDEwMDAwMDAwMDAgKHJvdW5kZWQgdXApICovCiB9Ci0KLUVYUE9SVF9TWU1CT0woX19kZWxheSk7Ci1FWFBPUlRfU1lNQk9MKF9fY29uc3RfdWRlbGF5KTsKLUVYUE9SVF9TWU1CT0woX191ZGVsYXkpOwogRVhQT1JUX1NZTUJPTChfX25kZWxheSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvZGVsYXlfNjQuYyBiL2FyY2gveDg2L2xpYi9kZWxheV82NC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzQ0MWJlLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2xpYi9kZWxheV82NC5jCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotLyoKLSAqCVByZWNpc2UgRGVsYXkgTG9vcHMgZm9yIHg4Ni02NAotICoKLSAqCUNvcHlyaWdodCAoQykgMTk5MyBMaW51cyBUb3J2YWxkcwotICoJQ29weXJpZ2h0IChDKSAxOTk3IE1hcnRpbiBNYXJlcyA8bWpAYXRyZXkua2FybGluLm1mZi5jdW5pLmN6PgotICoKLSAqCVRoZSBfX2RlbGF5IGZ1bmN0aW9uIG11c3QgX05PVF8gYmUgaW5saW5lZCBhcyBpdHMgZXhlY3V0aW9uIHRpbWUKLSAqCWRlcGVuZHMgd2lsZGx5IG9uIGFsaWdubWVudCBvbiBtYW55IHg4NiBwcm9jZXNzb3JzLiAKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1leC5oPgotI2luY2x1ZGUgPGxpbnV4L3ByZWVtcHQuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLQotI2luY2x1ZGUgPGFzbS9kZWxheS5oPgotI2luY2x1ZGUgPGFzbS9tc3IuaD4KLQotI2lmZGVmIENPTkZJR19TTVAKLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jZW5kaWYKLQotaW50IF9fZGV2aW5pdCByZWFkX2N1cnJlbnRfdGltZXIodW5zaWduZWQgbG9uZyAqdGltZXJfdmFsdWUpCi17Ci0JcmR0c2NsbCgqdGltZXJfdmFsdWUpOwotCXJldHVybiAwOwotfQotCi12b2lkIF9fZGVsYXkodW5zaWduZWQgbG9uZyBsb29wcykKLXsKLQl1bnNpZ25lZCBiY2xvY2ssIG5vdzsKLQlpbnQgY3B1OwotCi0JcHJlZW1wdF9kaXNhYmxlKCk7Ci0JY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCXJkdHNjbChiY2xvY2spOwotCWZvciAoOzspIHsKLQkJcmR0c2NsKG5vdyk7Ci0JCWlmICgobm93IC0gYmNsb2NrKSA+PSBsb29wcykKLQkJCWJyZWFrOwotCi0JCS8qIEFsbG93IFJUIHRhc2tzIHRvIHJ1biAqLwotCQlwcmVlbXB0X2VuYWJsZSgpOwotCQlyZXBfbm9wKCk7Ci0JCXByZWVtcHRfZGlzYWJsZSgpOwotCi0JCS8qCi0JCSAqIEl0IGlzIHBvc3NpYmxlIHRoYXQgd2UgbW92ZWQgdG8gYW5vdGhlciBDUFUsIGFuZAotCQkgKiBzaW5jZSBUU0MncyBhcmUgcGVyLWNwdSB3ZSBuZWVkIHRvIGNhbGN1bGF0ZQotCQkgKiB0aGF0LiBUaGUgZGVsYXkgbXVzdCBndWFyYW50ZWUgdGhhdCB3ZSB3YWl0ICJhdAotCQkgKiBsZWFzdCIgdGhlIGFtb3VudCBvZiB0aW1lLiBCZWluZyBtb3ZlZCB0byBhbm90aGVyCi0JCSAqIENQVSBjb3VsZCBtYWtlIHRoZSB3YWl0IGxvbmdlciBidXQgd2UganVzdCBuZWVkIHRvCi0JCSAqIG1ha2Ugc3VyZSB3ZSB3YWl0ZWQgbG9uZyBlbm91Z2guIFJlYmFsYW5jZSB0aGUKLQkJICogY291bnRlciBmb3IgdGhpcyBDUFUuCi0JCSAqLwotCQlpZiAodW5saWtlbHkoY3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSkpIHsKLQkJCWxvb3BzIC09IChub3cgLSBiY2xvY2spOwotCQkJY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCQkJcmR0c2NsKGJjbG9jayk7Ci0JCX0KLQl9Ci0JcHJlZW1wdF9lbmFibGUoKTsKLX0KLUVYUE9SVF9TWU1CT0woX19kZWxheSk7Ci0KLWlubGluZSB2b2lkIF9fY29uc3RfdWRlbGF5KHVuc2lnbmVkIGxvbmcgeGxvb3BzKQotewotCV9fZGVsYXkoKCh4bG9vcHMgKiBIWiAqCi0JCWNwdV9kYXRhKHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpLmxvb3BzX3Blcl9qaWZmeSkgPj4gMzIpICsgMSk7Ci19Ci1FWFBPUlRfU1lNQk9MKF9fY29uc3RfdWRlbGF5KTsKLQotdm9pZCBfX3VkZWxheSh1bnNpZ25lZCBsb25nIHVzZWNzKQotewotCV9fY29uc3RfdWRlbGF5KHVzZWNzICogMHgwMDAwMTBjNyk7ICAvKiAyKiozMiAvIDEwMDAwMDAgKHJvdW5kZWQgdXApICovCi19Ci1FWFBPUlRfU1lNQk9MKF9fdWRlbGF5KTsKLQotdm9pZCBfX25kZWxheSh1bnNpZ25lZCBsb25nIG5zZWNzKQotewotCV9fY29uc3RfdWRlbGF5KG5zZWNzICogMHgwMDAwNSk7ICAvKiAyKiozMiAvIDEwMDAwMDAwMDAgKHJvdW5kZWQgdXApICovCi19Ci1FWFBPUlRfU1lNQk9MKF9fbmRlbGF5KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9nZXR1c2VyLlMgYi9hcmNoL3g4Ni9saWIvZ2V0dXNlci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMzc0MDAKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9saWIvZ2V0dXNlci5TCkBAIC0wLDAgKzEsMTA0IEBACisvKgorICogX19nZXRfdXNlciBmdW5jdGlvbnMuCisgKgorICogKEMpIENvcHlyaWdodCAxOTk4IExpbnVzIFRvcnZhbGRzCisgKiAoQykgQ29weXJpZ2h0IDIwMDUgQW5kaSBLbGVlbgorICogKEMpIENvcHlyaWdodCAyMDA4IEdsYXViZXIgQ29zdGEKKyAqCisgKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQorICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKKyAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCisgKiByZXR1cm4gdmFsdWUuCisgKi8KKworLyoKKyAqIF9fZ2V0X3VzZXJfWAorICoKKyAqIElucHV0czoJJVtyfGVdYXggY29udGFpbnMgdGhlIGFkZHJlc3MuCisgKgkJVGhlIHJlZ2lzdGVyIGlzIG1vZGlmaWVkLCBidXQgYWxsIGNoYW5nZXMgYXJlIHVuZG9uZQorICoJCWJlZm9yZSByZXR1cm5pbmcgYmVjYXVzZSB0aGUgQyBjb2RlIGRvZXNuJ3Qga25vdyBhYm91dCBpdC4KKyAqCisgKiBPdXRwdXRzOgklW3J8ZV1heCBpcyBlcnJvciBjb2RlICgwIG9yIC1FRkFVTFQpCisgKgkJJVtyfGVdZHggY29udGFpbnMgemVyby1leHRlbmRlZCB2YWx1ZQorICoKKyAqCisgKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKKyAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKyNpbmNsdWRlIDxhc20vZHdhcmYyLmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDxhc20vZXJybm8uaD4KKyNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KKyNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KKyNpbmNsdWRlIDxhc20vYXNtLmg+CisKKwkudGV4dAorRU5UUlkoX19nZXRfdXNlcl8xKQorCUNGSV9TVEFSVFBST0MKKwlHRVRfVEhSRUFEX0lORk8oJV9BU01fRFgpCisJY21wIFRJX2FkZHJfbGltaXQoJV9BU01fRFgpLCVfQVNNX0FYCisJamFlIGJhZF9nZXRfdXNlcgorMToJbW92emIgKCVfQVNNX0FYKSwlZWR4CisJeG9yICVlYXgsJWVheAorCXJldAorCUNGSV9FTkRQUk9DCitFTkRQUk9DKF9fZ2V0X3VzZXJfMSkKKworRU5UUlkoX19nZXRfdXNlcl8yKQorCUNGSV9TVEFSVFBST0MKKwlhZGQgJDEsJV9BU01fQVgKKwlqYyBiYWRfZ2V0X3VzZXIKKwlHRVRfVEhSRUFEX0lORk8oJV9BU01fRFgpCisJY21wIFRJX2FkZHJfbGltaXQoJV9BU01fRFgpLCVfQVNNX0FYCisJamFlIGJhZF9nZXRfdXNlcgorMjoJbW92endsIC0xKCVfQVNNX0FYKSwlZWR4CisJeG9yICVlYXgsJWVheAorCXJldAorCUNGSV9FTkRQUk9DCitFTkRQUk9DKF9fZ2V0X3VzZXJfMikKKworRU5UUlkoX19nZXRfdXNlcl80KQorCUNGSV9TVEFSVFBST0MKKwlhZGQgJDMsJV9BU01fQVgKKwlqYyBiYWRfZ2V0X3VzZXIKKwlHRVRfVEhSRUFEX0lORk8oJV9BU01fRFgpCisJY21wIFRJX2FkZHJfbGltaXQoJV9BU01fRFgpLCVfQVNNX0FYCisJamFlIGJhZF9nZXRfdXNlcgorMzoJbW92IC0zKCVfQVNNX0FYKSwlZWR4CisJeG9yICVlYXgsJWVheAorCXJldAorCUNGSV9FTkRQUk9DCitFTkRQUk9DKF9fZ2V0X3VzZXJfNCkKKworI2lmZGVmIENPTkZJR19YODZfNjQKK0VOVFJZKF9fZ2V0X3VzZXJfOCkKKwlDRklfU1RBUlRQUk9DCisJYWRkICQ3LCVfQVNNX0FYCisJamMgYmFkX2dldF91c2VyCisJR0VUX1RIUkVBRF9JTkZPKCVfQVNNX0RYKQorCWNtcCBUSV9hZGRyX2xpbWl0KCVfQVNNX0RYKSwlX0FTTV9BWAorCWphZQliYWRfZ2V0X3VzZXIKKzQ6CW1vdnEgLTcoJV9BU01fQVgpLCVfQVNNX0RYCisJeG9yICVlYXgsJWVheAorCXJldAorCUNGSV9FTkRQUk9DCitFTkRQUk9DKF9fZ2V0X3VzZXJfOCkKKyNlbmRpZgorCitiYWRfZ2V0X3VzZXI6CisJQ0ZJX1NUQVJUUFJPQworCXhvciAlZWR4LCVlZHgKKwltb3YgJCgtRUZBVUxUKSwlX0FTTV9BWAorCXJldAorCUNGSV9FTkRQUk9DCitFTkQoYmFkX2dldF91c2VyKQorCisuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgorCV9BU01fUFRSIDFiLGJhZF9nZXRfdXNlcgorCV9BU01fUFRSIDJiLGJhZF9nZXRfdXNlcgorCV9BU01fUFRSIDNiLGJhZF9nZXRfdXNlcgorI2lmZGVmIENPTkZJR19YODZfNjQKKwlfQVNNX1BUUiA0YixiYWRfZ2V0X3VzZXIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL2dldHVzZXJfMzIuUyBiL2FyY2gveDg2L2xpYi9nZXR1c2VyXzMyLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkODRiNTMuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbGliL2dldHVzZXJfMzIuUworKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLS8qCi0gKiBfX2dldF91c2VyIGZ1bmN0aW9ucy4KLSAqCi0gKiAoQykgQ29weXJpZ2h0IDE5OTggTGludXMgVG9ydmFsZHMKLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQotICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKLSAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCi0gKiByZXR1cm4gdmFsdWUuCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgotI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgotCi0KLS8qCi0gKiBfX2dldF91c2VyX1gKLSAqCi0gKiBJbnB1dHM6CSVlYXggY29udGFpbnMgdGhlIGFkZHJlc3MKLSAqCi0gKiBPdXRwdXRzOgklZWF4IGlzIGVycm9yIGNvZGUgKDAgb3IgLUVGQVVMVCkKLSAqCQklZWR4IGNvbnRhaW5zIHplcm8tZXh0ZW5kZWQgdmFsdWUKLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKLSAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCi0gKi8KLQotLnRleHQKLUVOVFJZKF9fZ2V0X3VzZXJfMSkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVlZHgpCi0JY21wbCBUSV9hZGRyX2xpbWl0KCVlZHgpLCVlYXgKLQlqYWUgYmFkX2dldF91c2VyCi0xOgltb3Z6YmwgKCVlYXgpLCVlZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfMSkKLQotRU5UUlkoX19nZXRfdXNlcl8yKQotCUNGSV9TVEFSVFBST0MKLQlhZGRsICQxLCVlYXgKLQlqYyBiYWRfZ2V0X3VzZXIKLQlHRVRfVEhSRUFEX0lORk8oJWVkeCkKLQljbXBsIFRJX2FkZHJfbGltaXQoJWVkeCksJWVheAotCWphZSBiYWRfZ2V0X3VzZXIKLTI6CW1vdnp3bCAtMSglZWF4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzIpCi0KLUVOVFJZKF9fZ2V0X3VzZXJfNCkKLQlDRklfU1RBUlRQUk9DCi0JYWRkbCAkMywlZWF4Ci0JamMgYmFkX2dldF91c2VyCi0JR0VUX1RIUkVBRF9JTkZPKCVlZHgpCi0JY21wbCBUSV9hZGRyX2xpbWl0KCVlZHgpLCVlYXgKLQlqYWUgYmFkX2dldF91c2VyCi0zOgltb3ZsIC0zKCVlYXgpLCVlZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfNCkKLQotYmFkX2dldF91c2VyOgotCUNGSV9TVEFSVFBST0MKLQl4b3JsICVlZHgsJWVkeAotCW1vdmwgJC0xNCwlZWF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORChiYWRfZ2V0X3VzZXIpCi0KLS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCi0JLmxvbmcgMWIsYmFkX2dldF91c2VyCi0JLmxvbmcgMmIsYmFkX2dldF91c2VyCi0JLmxvbmcgM2IsYmFkX2dldF91c2VyCi0ucHJldmlvdXMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9nZXR1c2VyXzY0LlMgYi9hcmNoL3g4Ni9saWIvZ2V0dXNlcl82NC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDQ4ODc2Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2xpYi9nZXR1c2VyXzY0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDkgKzAsMCBAQAotLyoKLSAqIF9fZ2V0X3VzZXIgZnVuY3Rpb25zLgotICoKLSAqIChDKSBDb3B5cmlnaHQgMTk5OCBMaW51cyBUb3J2YWxkcwotICogKEMpIENvcHlyaWdodCAyMDA1IEFuZGkgS2xlZW4KLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQotICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKLSAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCi0gKiByZXR1cm4gdmFsdWUuCi0gKi8KLQotLyoKLSAqIF9fZ2V0X3VzZXJfWAotICoKLSAqIElucHV0czoJJXJjeCBjb250YWlucyB0aGUgYWRkcmVzcy4KLSAqCQlUaGUgcmVnaXN0ZXIgaXMgbW9kaWZpZWQsIGJ1dCBhbGwgY2hhbmdlcyBhcmUgdW5kb25lCi0gKgkJYmVmb3JlIHJldHVybmluZyBiZWNhdXNlIHRoZSBDIGNvZGUgZG9lc24ndCBrbm93IGFib3V0IGl0LgotICoKLSAqIE91dHB1dHM6CSVyYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQotICoJCSVyZHggY29udGFpbnMgemVyby1leHRlbmRlZCB2YWx1ZQotICogCi0gKiAlcjggaXMgZGVzdHJveWVkLgotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgbm90IG1vZGlmeSBhbnkgb3RoZXIgcmVnaXN0ZXJzLAotICogYXMgdGhleSBnZXQgY2FsbGVkIGZyb20gd2l0aGluIGlubGluZSBhc3NlbWJseS4KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgotI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotI2luY2x1ZGUgPGFzbS9lcnJuby5oPgotI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgotI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgotCi0JLnRleHQKLUVOVFJZKF9fZ2V0X3VzZXJfMSkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgYmFkX2dldF91c2VyCi0xOgltb3Z6YiAoJXJjeCksJWVkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl8xKQotCi1FTlRSWShfX2dldF91c2VyXzIpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkMSwlcmN4Ci0JamMgMjBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIDIwZgotCWRlY3EgICAlcmN4Ci0yOgltb3Z6d2wgKCVyY3gpLCVlZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotMjA6CWRlY3EgICAgJXJjeAotCWptcAliYWRfZ2V0X3VzZXIKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzIpCi0KLUVOVFJZKF9fZ2V0X3VzZXJfNCkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQlhZGRxICQzLCVyY3gKLQlqYyAzMGYKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgMzBmCi0Jc3VicSAkMywlcmN4Ci0zOgltb3ZsICglcmN4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLTMwOglzdWJxICQzLCVyY3gKLQlqbXAgYmFkX2dldF91c2VyCi0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl80KQotCi1FTlRSWShfX2dldF91c2VyXzgpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkNywlcmN4Ci0JamMgNDBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlCTQwZgotCXN1YnEJJDcsJXJjeAotNDoJbW92cSAoJXJjeCksJXJkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci00MDoJc3VicSAkNywlcmN4Ci0Jam1wIGJhZF9nZXRfdXNlcgotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfOCkKLQotYmFkX2dldF91c2VyOgotCUNGSV9TVEFSVFBST0MKLQl4b3JsICVlZHgsJWVkeAotCW1vdnEgJCgtRUZBVUxUKSwlcmF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORChiYWRfZ2V0X3VzZXIpCi0KLS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCi0JLnF1YWQgMWIsYmFkX2dldF91c2VyCi0JLnF1YWQgMmIsYmFkX2dldF91c2VyCi0JLnF1YWQgM2IsYmFkX2dldF91c2VyCi0JLnF1YWQgNGIsYmFkX2dldF91c2VyCi0ucHJldmlvdXMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9tc3Itb24tY3B1LmMgYi9hcmNoL3g4Ni9saWIvbXNyLW9uLWNwdS5jCmluZGV4IDU3ZDA0M2YuLmQ1YTJiMzkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi9tc3Itb24tY3B1LmMKKysrIGIvYXJjaC94ODYvbGliL21zci1vbi1jcHUuYwpAQCAtMzAsMTAgKzMwLDEwIEBACiAKIAlydi5tc3Jfbm8gPSBtc3Jfbm87CiAJaWYgKHNhZmUpIHsKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX19yZG1zcl9zYWZlX29uX2NwdSwgJnJ2LCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX19yZG1zcl9zYWZlX29uX2NwdSwgJnJ2LCAxKTsKIAkJZXJyID0gcnYuZXJyOwogCX0gZWxzZSB7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fcmRtc3Jfb25fY3B1LCAmcnYsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBfX3JkbXNyX29uX2NwdSwgJnJ2LCAxKTsKIAl9CiAJKmwgPSBydi5sOwogCSpoID0gcnYuaDsKQEAgLTY0LDEwICs2NCwxMCBAQAogCXJ2LmwgPSBsOwogCXJ2LmggPSBoOwogCWlmIChzYWZlKSB7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fd3Jtc3Jfc2FmZV9vbl9jcHUsICZydiwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fd3Jtc3Jfc2FmZV9vbl9jcHUsICZydiwgMSk7CiAJCWVyciA9IHJ2LmVycjsKIAl9IGVsc2UgewotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBfX3dybXNyX29uX2NwdSwgJnJ2LCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX193cm1zcl9vbl9jcHUsICZydiwgMSk7CiAJfQogCiAJcmV0dXJuIGVycjsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9wdXR1c2VyLlMgYi9hcmNoL3g4Ni9saWIvcHV0dXNlci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2YjBkMTUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9saWIvcHV0dXNlci5TCkBAIC0wLDAgKzEsOTcgQEAKKy8qCisgKiBfX3B1dF91c2VyIGZ1bmN0aW9ucy4KKyAqCisgKiAoQykgQ29weXJpZ2h0IDIwMDUgTGludXMgVG9ydmFsZHMKKyAqIChDKSBDb3B5cmlnaHQgMjAwNSBBbmRpIEtsZWVuCisgKiAoQykgQ29weXJpZ2h0IDIwMDggR2xhdWJlciBDb3N0YQorICoKKyAqIFRoZXNlIGZ1bmN0aW9ucyBoYXZlIGEgbm9uLXN0YW5kYXJkIGNhbGwgaW50ZXJmYWNlCisgKiB0byBtYWtlIHRoZW0gbW9yZSBlZmZpY2llbnQsIGVzcGVjaWFsbHkgYXMgdGhleQorICogcmV0dXJuIGFuIGVycm9yIHZhbHVlIGluIGFkZGl0aW9uIHRvIHRoZSAicmVhbCIKKyAqIHJldHVybiB2YWx1ZS4KKyAqLworI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKyNpbmNsdWRlIDxhc20vZHdhcmYyLmg+CisjaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+CisjaW5jbHVkZSA8YXNtL2Vycm5vLmg+CisjaW5jbHVkZSA8YXNtL2FzbS5oPgorCisKKy8qCisgKiBfX3B1dF91c2VyX1gKKyAqCisgKiBJbnB1dHM6CSVlYXhbOiVlZHhdIGNvbnRhaW5zIHRoZSBkYXRhCisgKgkJJWVjeCBjb250YWlucyB0aGUgYWRkcmVzcworICoKKyAqIE91dHB1dHM6CSVlYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQorICoKKyAqIFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgbm90IG1vZGlmeSBhbnkgb3RoZXIgcmVnaXN0ZXJzLAorICogYXMgdGhleSBnZXQgY2FsbGVkIGZyb20gd2l0aGluIGlubGluZSBhc3NlbWJseS4KKyAqLworCisjZGVmaW5lIEVOVEVSCUNGSV9TVEFSVFBST0MgOyBcCisJCUdFVF9USFJFQURfSU5GTyglX0FTTV9CWCkKKyNkZWZpbmUgRVhJVAlyZXQgOyBcCisJCUNGSV9FTkRQUk9DCisKKy50ZXh0CitFTlRSWShfX3B1dF91c2VyXzEpCisJRU5URVIKKwljbXAgVElfYWRkcl9saW1pdCglX0FTTV9CWCksJV9BU01fQ1gKKwlqYWUgYmFkX3B1dF91c2VyCisxOgltb3ZiICVhbCwoJV9BU01fQ1gpCisJeG9yICVlYXgsJWVheAorCUVYSVQKK0VORFBST0MoX19wdXRfdXNlcl8xKQorCitFTlRSWShfX3B1dF91c2VyXzIpCisJRU5URVIKKwltb3YgVElfYWRkcl9saW1pdCglX0FTTV9CWCksJV9BU01fQlgKKwlzdWIgJDEsJV9BU01fQlgKKwljbXAgJV9BU01fQlgsJV9BU01fQ1gKKwlqYWUgYmFkX3B1dF91c2VyCisyOgltb3Z3ICVheCwoJV9BU01fQ1gpCisJeG9yICVlYXgsJWVheAorCUVYSVQKK0VORFBST0MoX19wdXRfdXNlcl8yKQorCitFTlRSWShfX3B1dF91c2VyXzQpCisJRU5URVIKKwltb3YgVElfYWRkcl9saW1pdCglX0FTTV9CWCksJV9BU01fQlgKKwlzdWIgJDMsJV9BU01fQlgKKwljbXAgJV9BU01fQlgsJV9BU01fQ1gKKwlqYWUgYmFkX3B1dF91c2VyCiszOgltb3ZsICVlYXgsKCVfQVNNX0NYKQorCXhvciAlZWF4LCVlYXgKKwlFWElUCitFTkRQUk9DKF9fcHV0X3VzZXJfNCkKKworRU5UUlkoX19wdXRfdXNlcl84KQorCUVOVEVSCisJbW92IFRJX2FkZHJfbGltaXQoJV9BU01fQlgpLCVfQVNNX0JYCisJc3ViICQ3LCVfQVNNX0JYCisJY21wICVfQVNNX0JYLCVfQVNNX0NYCisJamFlIGJhZF9wdXRfdXNlcgorNDoJbW92ICVfQVNNX0FYLCglX0FTTV9DWCkKKyNpZmRlZiBDT05GSUdfWDg2XzMyCis1Ogltb3ZsICVlZHgsNCglX0FTTV9DWCkKKyNlbmRpZgorCXhvciAlZWF4LCVlYXgKKwlFWElUCitFTkRQUk9DKF9fcHV0X3VzZXJfOCkKKworYmFkX3B1dF91c2VyOgorCUNGSV9TVEFSVFBST0MKKwltb3ZsICQtRUZBVUxULCVlYXgKKwlFWElUCitFTkQoYmFkX3B1dF91c2VyKQorCisuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgorCV9BU01fUFRSIDFiLGJhZF9wdXRfdXNlcgorCV9BU01fUFRSIDJiLGJhZF9wdXRfdXNlcgorCV9BU01fUFRSIDNiLGJhZF9wdXRfdXNlcgorCV9BU01fUFRSIDRiLGJhZF9wdXRfdXNlcgorI2lmZGVmIENPTkZJR19YODZfMzIKKwlfQVNNX1BUUiA1YixiYWRfcHV0X3VzZXIKKyNlbmRpZgorLnByZXZpb3VzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvcHV0dXNlcl8zMi5TIGIvYXJjaC94ODYvbGliL3B1dHVzZXJfMzIuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU4ZmJhMS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9saWIvcHV0dXNlcl8zMi5TCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotLyoKLSAqIF9fcHV0X3VzZXIgZnVuY3Rpb25zLgotICoKLSAqIChDKSBDb3B5cmlnaHQgMjAwNSBMaW51cyBUb3J2YWxkcwotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBoYXZlIGEgbm9uLXN0YW5kYXJkIGNhbGwgaW50ZXJmYWNlCi0gKiB0byBtYWtlIHRoZW0gbW9yZSBlZmZpY2llbnQsIGVzcGVjaWFsbHkgYXMgdGhleQotICogcmV0dXJuIGFuIGVycm9yIHZhbHVlIGluIGFkZGl0aW9uIHRvIHRoZSAicmVhbCIKLSAqIHJldHVybiB2YWx1ZS4KLSAqLwotI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KLSNpbmNsdWRlIDxhc20vZHdhcmYyLmg+Ci0jaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+Ci0KLQotLyoKLSAqIF9fcHV0X3VzZXJfWAotICoKLSAqIElucHV0czoJJWVheFs6JWVkeF0gY29udGFpbnMgdGhlIGRhdGEKLSAqCQklZWN4IGNvbnRhaW5zIHRoZSBhZGRyZXNzCi0gKgotICogT3V0cHV0czoJJWVheCBpcyBlcnJvciBjb2RlICgwIG9yIC1FRkFVTFQpCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBub3QgbW9kaWZ5IGFueSBvdGhlciByZWdpc3RlcnMsCi0gKiBhcyB0aGV5IGdldCBjYWxsZWQgZnJvbSB3aXRoaW4gaW5saW5lIGFzc2VtYmx5LgotICovCi0KLSNkZWZpbmUgRU5URVIJQ0ZJX1NUQVJUUFJPQyA7IFwKLQkJcHVzaGwgJWVieCA7IFwKLQkJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDQgOyBcCi0JCUNGSV9SRUxfT0ZGU0VUIGVieCwgMCA7IFwKLQkJR0VUX1RIUkVBRF9JTkZPKCVlYngpCi0jZGVmaW5lIEVYSVQJcG9wbCAlZWJ4IDsgXAotCQlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTQgOyBcCi0JCUNGSV9SRVNUT1JFIGVieCA7IFwKLQkJcmV0IDsgXAotCQlDRklfRU5EUFJPQwotCi0udGV4dAotRU5UUlkoX19wdXRfdXNlcl8xKQotCUVOVEVSCi0JY21wbCBUSV9hZGRyX2xpbWl0KCVlYngpLCVlY3gKLQlqYWUgYmFkX3B1dF91c2VyCi0xOgltb3ZiICVhbCwoJWVjeCkKLQl4b3JsICVlYXgsJWVheAotCUVYSVQKLUVORFBST0MoX19wdXRfdXNlcl8xKQotCi1FTlRSWShfX3B1dF91c2VyXzIpCi0JRU5URVIKLQltb3ZsIFRJX2FkZHJfbGltaXQoJWVieCksJWVieAotCXN1YmwgJDEsJWVieAotCWNtcGwgJWVieCwlZWN4Ci0JamFlIGJhZF9wdXRfdXNlcgotMjoJbW92dyAlYXgsKCVlY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlFWElUCi1FTkRQUk9DKF9fcHV0X3VzZXJfMikKLQotRU5UUlkoX19wdXRfdXNlcl80KQotCUVOVEVSCi0JbW92bCBUSV9hZGRyX2xpbWl0KCVlYngpLCVlYngKLQlzdWJsICQzLCVlYngKLQljbXBsICVlYngsJWVjeAotCWphZSBiYWRfcHV0X3VzZXIKLTM6CW1vdmwgJWVheCwoJWVjeCkKLQl4b3JsICVlYXgsJWVheAotCUVYSVQKLUVORFBST0MoX19wdXRfdXNlcl80KQotCi1FTlRSWShfX3B1dF91c2VyXzgpCi0JRU5URVIKLQltb3ZsIFRJX2FkZHJfbGltaXQoJWVieCksJWVieAotCXN1YmwgJDcsJWVieAotCWNtcGwgJWVieCwlZWN4Ci0JamFlIGJhZF9wdXRfdXNlcgotNDoJbW92bCAlZWF4LCglZWN4KQotNToJbW92bCAlZWR4LDQoJWVjeCkKLQl4b3JsICVlYXgsJWVheAotCUVYSVQKLUVORFBST0MoX19wdXRfdXNlcl84KQotCi1iYWRfcHV0X3VzZXI6Ci0JQ0ZJX1NUQVJUUFJPQyBzaW1wbGUKLQlDRklfREVGX0NGQSBlc3AsIDIqNAotCUNGSV9PRkZTRVQgZWlwLCAtMSo0Ci0JQ0ZJX09GRlNFVCBlYngsIC0yKjQKLQltb3ZsICQtMTQsJWVheAotCUVYSVQKLUVORChiYWRfcHV0X3VzZXIpCi0KLS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCi0JLmxvbmcgMWIsYmFkX3B1dF91c2VyCi0JLmxvbmcgMmIsYmFkX3B1dF91c2VyCi0JLmxvbmcgM2IsYmFkX3B1dF91c2VyCi0JLmxvbmcgNGIsYmFkX3B1dF91c2VyCi0JLmxvbmcgNWIsYmFkX3B1dF91c2VyCi0ucHJldmlvdXMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9wdXR1c2VyXzY0LlMgYi9hcmNoL3g4Ni9saWIvcHV0dXNlcl82NC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OTg5ZjVhLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2xpYi9wdXR1c2VyXzY0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotLyoKLSAqIF9fcHV0X3VzZXIgZnVuY3Rpb25zLgotICoKLSAqIChDKSBDb3B5cmlnaHQgMTk5OCBMaW51cyBUb3J2YWxkcwotICogKEMpIENvcHlyaWdodCAyMDA1IEFuZGkgS2xlZW4KLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQotICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKLSAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCi0gKiByZXR1cm4gdmFsdWUuCi0gKi8KLQotLyoKLSAqIF9fcHV0X3VzZXJfWAotICoKLSAqIElucHV0czoJJXJjeCBjb250YWlucyB0aGUgYWRkcmVzcwotICoJCSVyZHggY29udGFpbnMgbmV3IHZhbHVlCi0gKgotICogT3V0cHV0czoJJXJheCBpcyBlcnJvciBjb2RlICgwIG9yIC1FRkFVTFQpCi0gKgotICogJXI4IGlzIGRlc3Ryb3llZC4KLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKLSAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KLSNpbmNsdWRlIDxhc20vZHdhcmYyLmg+Ci0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLSNpbmNsdWRlIDxhc20vZXJybm8uaD4KLSNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KLSNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLQotCS50ZXh0Ci1FTlRSWShfX3B1dF91c2VyXzEpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIGJhZF9wdXRfdXNlcgotMToJbW92YiAlZGwsKCVyY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX3B1dF91c2VyXzEpCi0KLUVOVFJZKF9fcHV0X3VzZXJfMikKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQlhZGRxICQxLCVyY3gKLQlqYyAyMGYKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgMjBmCi0JZGVjcSAlcmN4Ci0yOgltb3Z3ICVkeCwoJXJjeCkKLQl4b3JsICVlYXgsJWVheAotCXJldAotMjA6CWRlY3EgJXJjeAotCWptcCBiYWRfcHV0X3VzZXIKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX3B1dF91c2VyXzIpCi0KLUVOVFJZKF9fcHV0X3VzZXJfNCkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQlhZGRxICQzLCVyY3gKLQlqYyAzMGYKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgMzBmCi0Jc3VicSAkMywlcmN4Ci0zOgltb3ZsICVlZHgsKCVyY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLTMwOglzdWJxICQzLCVyY3gKLQlqbXAgYmFkX3B1dF91c2VyCi0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19wdXRfdXNlcl80KQotCi1FTlRSWShfX3B1dF91c2VyXzgpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkNywlcmN4Ci0JamMgNDBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIDQwZgotCXN1YnEgJDcsJXJjeAotNDoJbW92cSAlcmR4LCglcmN4KQotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci00MDoJc3VicSAkNywlcmN4Ci0Jam1wIGJhZF9wdXRfdXNlcgotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fcHV0X3VzZXJfOCkKLQotYmFkX3B1dF91c2VyOgotCUNGSV9TVEFSVFBST0MKLQltb3ZxICQoLUVGQVVMVCksJXJheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkQoYmFkX3B1dF91c2VyKQotCi0uc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5xdWFkIDFiLGJhZF9wdXRfdXNlcgotCS5xdWFkIDJiLGJhZF9wdXRfdXNlcgotCS5xdWFkIDNiLGJhZF9wdXRfdXNlcgotCS5xdWFkIDRiLGJhZF9wdXRfdXNlcgotLnByZXZpb3VzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvdGh1bmtfMzIuUyBiL2FyY2gveDg2L2xpYi90aHVua18zMi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MGIxMWUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9saWIvdGh1bmtfMzIuUwpAQCAtMCwwICsxLDQ3IEBACisvKgorICogVHJhbXBvbGluZSB0byB0cmFjZSBpcnFzIG9mZi4gKG90aGVyd2lzZSBDQUxMRVJfQUREUjEgbWlnaHQgY3Jhc2gpCisgKiBDb3B5cmlnaHQgMjAwOCBieSBTdGV2ZW4gUm9zdGVkdCwgUmVkIEhhdCwgSW5jCisgKiAgKGluc3BpcmVkIGJ5IEFuZGkgS2xlZW4ncyB0aHVua182NC5TKQorICogU3ViamVjdCB0byB0aGUgR05VIHB1YmxpYyBsaWNlbnNlLCB2LjIuIE5vIHdhcnJhbnR5IG9mIGFueSBraW5kLgorICovCisKKwkjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgorCisjZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PTgkJCVwKKwlwdXNobCAlZWF4OwkJCQlcCisJcHVzaGwgJWVjeDsJCQkJXAorCXB1c2hsICVlZHg7CQkJCVwKKwljYWxsIHRyYWNlX2hhcmRpcnFzX29uOwkJCVwKKwlwb3BsICVlZHg7CQkJCVwKKwlwb3BsICVlY3g7CQkJCVwKKwlwb3BsICVlYXg7CisKKyNkZWZpbmUgQVJDSF9UUkFDRV9JUlFTX09GRgkJCVwKKwlwdXNobCAlZWF4OwkJCQlcCisJcHVzaGwgJWVjeDsJCQkJXAorCXB1c2hsICVlZHg7CQkJCVwKKwljYWxsIHRyYWNlX2hhcmRpcnFzX29mZjsJCVwKKwlwb3BsICVlZHg7CQkJCVwKKwlwb3BsICVlY3g7CQkJCVwKKwlwb3BsICVlYXg7CisKKyNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKKwkvKiBwdXQgcmV0dXJuIGFkZHJlc3MgaW4gZWF4IChhcmcxKSAqLworCS5tYWNybyB0aHVua19yYSBuYW1lLGZ1bmMKKwkuZ2xvYmwgXG5hbWUKK1xuYW1lOgorCXB1c2hsICVlYXgKKwlwdXNobCAlZWN4CisJcHVzaGwgJWVkeAorCS8qIFBsYWNlIEVJUCBpbiB0aGUgYXJnMSAqLworCW1vdmwgMyo0KCVlc3ApLCAlZWF4CisJY2FsbCBcZnVuYworCXBvcGwgJWVkeAorCXBvcGwgJWVjeAorCXBvcGwgJWVheAorCXJldAorCS5lbmRtCisKKwl0aHVua19yYSB0cmFjZV9oYXJkaXJxc19vbl90aHVuayx0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIKKwl0aHVua19yYSB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmssdHJhY2VfaGFyZGlycXNfb2ZmX2NhbGxlcgorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvdGh1bmtfNjQuUyBiL2FyY2gveDg2L2xpYi90aHVua182NC5TCmluZGV4IGUwMDkyNTEuLmJmOWE3ZDUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi90aHVua182NC5TCisrKyBiL2FyY2gveDg2L2xpYi90aHVua182NC5TCkBAIC0yLDYgKzIsNyBAQAogICogU2F2ZSByZWdpc3RlcnMgYmVmb3JlIGNhbGxpbmcgYXNzZW1ibHkgZnVuY3Rpb25zLiBUaGlzIGF2b2lkcwogICogZGlzdHVyYmFuY2Ugb2YgcmVnaXN0ZXIgYWxsb2NhdGlvbiBpbiBzb21lIGlubGluZSBhc3NlbWJseSBjb25zdHJ1Y3RzLgogICogQ29weXJpZ2h0IDIwMDEsMjAwMiBieSBBbmRpIEtsZWVuLCBTdVNFIExhYnMuCisgKiBBZGRlZCB0cmFjZV9oYXJkaXJxcyBjYWxsZXJzIC0gQ29weXJpZ2h0IDIwMDcgU3RldmVuIFJvc3RlZHQsIFJlZCBIYXQsIEluYy4KICAqIFN1YmplY3QgdG8gdGhlIEdOVSBwdWJsaWMgbGljZW5zZSwgdi4yLiBObyB3YXJyYW50eSBvZiBhbnkga2luZC4KICAqLwogCkBAIC00Miw4ICs0MywyMiBAQAogI2VuZGlmCQogCQogI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCXRodW5rIHRyYWNlX2hhcmRpcnFzX29uX3RodW5rLHRyYWNlX2hhcmRpcnFzX29uCi0JdGh1bmsgdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rLHRyYWNlX2hhcmRpcnFzX29mZgorCS8qIHB1dCByZXR1cm4gYWRkcmVzcyBpbiByZGkgKGFyZzEpICovCisJLm1hY3JvIHRodW5rX3JhIG5hbWUsZnVuYworCS5nbG9ibCBcbmFtZQorXG5hbWU6CisJQ0ZJX1NUQVJUUFJPQworCVNBVkVfQVJHUworCS8qIFNBVkVfQVJHUyBwdXNocyA5IGVsZW1lbnRzICovCisJLyogdGhlIG5leHQgZWxlbWVudCB3b3VsZCBiZSB0aGUgcmlwICovCisJbW92cSA5KjgoJXJzcCksICVyZGkKKwljYWxsIFxmdW5jCisJam1wICByZXN0b3JlCisJQ0ZJX0VORFBST0MKKwkuZW5kbQorCisJdGh1bmtfcmEgdHJhY2VfaGFyZGlycXNfb25fdGh1bmssdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyCisJdGh1bmtfcmEgdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rLHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi91c2VyY29weV82NC5jIGIvYXJjaC94ODYvbGliL3VzZXJjb3B5XzY0LmMKaW5kZXggMGM4OWQxYi4uZjRkZjZlNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL3VzZXJjb3B5XzY0LmMKKysrIGIvYXJjaC94ODYvbGliL3VzZXJjb3B5XzY0LmMKQEAgLTE1OCwzICsxNTgsMjYgQEAKIH0KIEVYUE9SVF9TWU1CT0woY29weV9pbl91c2VyKTsKIAorLyoKKyAqIFRyeSB0byBjb3B5IGxhc3QgYnl0ZXMgYW5kIGNsZWFyIHRoZSByZXN0IGlmIG5lZWRlZC4KKyAqIFNpbmNlIHByb3RlY3Rpb24gZmF1bHQgaW4gY29weV9mcm9tL3RvX3VzZXIgaXMgbm90IGEgbm9ybWFsIHNpdHVhdGlvbiwKKyAqIGl0IGlzIG5vdCBuZWNlc3NhcnkgdG8gb3B0aW1pemUgdGFpbCBoYW5kbGluZy4KKyAqLwordW5zaWduZWQgbG9uZworY29weV91c2VyX2hhbmRsZV90YWlsKGNoYXIgKnRvLCBjaGFyICpmcm9tLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIHplcm9yZXN0KQoreworCWNoYXIgYzsKKwl1bnNpZ25lZCB6ZXJvX2xlbjsKKworCWZvciAoOyBsZW47IC0tbGVuKSB7CisJCWlmIChfX2dldF91c2VyX25vY2hlY2soYywgZnJvbSsrLCBzaXplb2YoY2hhcikpKQorCQkJYnJlYWs7CisJCWlmIChfX3B1dF91c2VyX25vY2hlY2soYywgdG8rKywgc2l6ZW9mKGNoYXIpKSkKKwkJCWJyZWFrOworCX0KKworCWZvciAoYyA9IDAsIHplcm9fbGVuID0gbGVuOyB6ZXJvcmVzdCAmJiB6ZXJvX2xlbjsgLS16ZXJvX2xlbikKKwkJaWYgKF9fcHV0X3VzZXJfbm9jaGVjayhjLCB0bysrLCBzaXplb2YoY2hhcikpKQorCQkJYnJlYWs7CisJcmV0dXJuIGxlbjsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZGVmYXVsdC9zZXR1cC5jIGIvYXJjaC94ODYvbWFjaC1kZWZhdWx0L3NldHVwLmMKaW5kZXggMGMyOGEwNy4uNDgyNzhmYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1kZWZhdWx0L3NldHVwLmMKKysrIGIvYXJjaC94ODYvbWFjaC1kZWZhdWx0L3NldHVwLmMKQEAgLTEwLDYgKzEwLDE0IEBACiAjaW5jbHVkZSA8YXNtL2U4MjAuaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAorLyoKKyAqIEFueSBxdWlya3MgdG8gYmUgcGVyZm9ybWVkIHRvIGluaXRpYWxpemUgdGltZXJzL2lycXMvZXRjPworICovCitpbnQgKCphcmNoX3RpbWVfaW5pdF9xdWlyaykodm9pZCk7CitpbnQgKCphcmNoX3ByZV9pbnRyX2luaXRfcXVpcmspKHZvaWQpOworaW50ICgqYXJjaF9pbnRyX2luaXRfcXVpcmspKHZvaWQpOworaW50ICgqYXJjaF90cmFwX2luaXRfcXVpcmspKHZvaWQpOworCiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiAjZGVmaW5lIERFRkFVTFRfU0VORF9JUEkJKDEpCiAjZWxzZQpAQCAtMjksNiArMzcsMTAgQEAKICAqKi8KIHZvaWQgX19pbml0IHByZV9pbnRyX2luaXRfaG9vayh2b2lkKQogeworCWlmIChhcmNoX3ByZV9pbnRyX2luaXRfcXVpcmspIHsKKwkJaWYgKGFyY2hfcHJlX2ludHJfaW5pdF9xdWlyaygpKQorCQkJcmV0dXJuOworCX0KIAlpbml0X0lTQV9pcnFzKCk7CiB9CiAKQEAgLTUyLDYgKzY0LDEwIEBACiAgKiovCiB2b2lkIF9faW5pdCBpbnRyX2luaXRfaG9vayh2b2lkKQogeworCWlmIChhcmNoX2ludHJfaW5pdF9xdWlyaykgeworCQlpZiAoYXJjaF9pbnRyX2luaXRfcXVpcmsoKSkKKwkJCXJldHVybjsKKwl9CiAjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJYXBpY19pbnRyX2luaXQoKTsKICNlbmRpZgpAQCAtNjUsNyArODEsNyBAQAogICoKICAqIERlc2NyaXB0aW9uOgogICoJZ2VuZXJhbGx5IHVzZWQgdG8gYWN0aXZhdGUgYW55IG1hY2hpbmUgc3BlY2lmaWMgaWRlbnRpZmljYXRpb24KLSAqCXJvdXRpbmVzIHRoYXQgbWF5IGJlIG5lZWRlZCBiZWZvcmUgc2V0dXBfYXJjaCgpIHJ1bnMuICBPbiBWSVNXUworICoJcm91dGluZXMgdGhhdCBtYXkgYmUgbmVlZGVkIGJlZm9yZSBzZXR1cF9hcmNoKCkgcnVucy4gIE9uIFZveWFnZXIKICAqCXRoaXMgaXMgdXNlZCB0byBnZXQgdGhlIGJvYXJkIHJldmlzaW9uIGFuZCB0eXBlLgogICoqLwogdm9pZCBfX2luaXQgcHJlX3NldHVwX2FyY2hfaG9vayh2b2lkKQpAQCAtODEsNiArOTcsMTAgQEAKICAqKi8KIHZvaWQgX19pbml0IHRyYXBfaW5pdF9ob29rKHZvaWQpCiB7CisJaWYgKGFyY2hfdHJhcF9pbml0X3F1aXJrKSB7CisJCWlmIChhcmNoX3RyYXBfaW5pdF9xdWlyaygpKQorCQkJcmV0dXJuOworCX0KIH0KIAogc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gaXJxMCAgPSB7CkBAIC05OSw2ICsxMTksMTYgQEAKICAqKi8KIHZvaWQgX19pbml0IHRpbWVfaW5pdF9ob29rKHZvaWQpCiB7CisJaWYgKGFyY2hfdGltZV9pbml0X3F1aXJrKSB7CisJCS8qCisJCSAqIEEgbm9uemVybyByZXR1cm4gY29kZSBkb2VzIG5vdCBtZWFuIGZhaWx1cmUsIGl0IG1lYW5zCisJCSAqIHRoYXQgdGhlIGFyY2hpdGVjdHVyZSBxdWlyayBkb2VzIG5vdCB3YW50IGFueQorCQkgKiBnZW5lcmljICh0aW1lcikgc2V0dXAgdG8gYmUgcGVyZm9ybWVkIGFmdGVyIHRoaXM6CisJCSAqLworCQlpZiAoYXJjaF90aW1lX2luaXRfcXVpcmsoKSkKKwkJCXJldHVybjsKKwl9CisKIAlpcnEwLm1hc2sgPSBjcHVtYXNrX29mX2NwdSgwKTsKIAlzZXR1cF9pcnEoMCwgJmlycTApOwogfQpAQCAtMTQyLDQ1ICsxNzIsMyBAQAogCiBsYXRlX2luaXRjYWxsKHByaW50X2lwaV9tb2RlKTsKIAotLyoqCi0gKiBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCAtIEhvb2sgZm9yIG1hY2hpbmUgc3BlY2lmaWMgbWVtb3J5IHNldHVwLgotICoKLSAqIERlc2NyaXB0aW9uOgotICoJVGhpcyBpcyBpbmNsdWRlZCBsYXRlIGluIGtlcm5lbC9zZXR1cC5jIHNvIHRoYXQgaXQgY2FuIG1ha2UKLSAqCXVzZSBvZiBhbGwgb2YgdGhlIHN0YXRpYyBmdW5jdGlvbnMuCi0gKiovCi0KLWNoYXIgKiBfX2luaXQgbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCkKLXsKLQljaGFyICp3aG87Ci0KLQotCXdobyA9ICJCSU9TLWU4MjAiOwotCi0JLyoKLQkgKiBUcnkgdG8gY29weSB0aGUgQklPUy1zdXBwbGllZCBFODIwLW1hcC4KLQkgKgotCSAqIE90aGVyd2lzZSBmYWtlIGEgbWVtb3J5IG1hcDsgb25lIHNlY3Rpb24gZnJvbSAway0+NjQwaywKLQkgKiB0aGUgbmV4dCBzZWN0aW9uIGZyb20gMW1iLT5hcHByb3ByaWF0ZV9tZW1fawotCSAqLwotCXNhbml0aXplX2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCAmYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKTsKLQlpZiAoY29weV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKQotCSAgICA8IDApIHsKLQkJdW5zaWduZWQgbG9uZyBtZW1fc2l6ZTsKLQotCQkvKiBjb21wYXJlIHJlc3VsdHMgZnJvbSBvdGhlciBtZXRob2RzIGFuZCB0YWtlIHRoZSBncmVhdGVyICovCi0JCWlmIChib290X3BhcmFtcy5hbHRfbWVtX2sKLQkJICAgIDwgYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rKSB7Ci0JCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1fazsKLQkJCXdobyA9ICJCSU9TLTg4IjsKLQkJfSBlbHNlIHsKLQkJCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuYWx0X21lbV9rOwotCQkJd2hvID0gIkJJT1MtZTgwMSI7Ci0JCX0KLQotCQllODIwLm5yX21hcCA9IDA7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKDAsIExPV01FTVNJWkUoKSwgRTgyMF9SQU0pOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgPDwgMTAsIEU4MjBfUkFNKTsKLSAgCX0KLQlyZXR1cm4gd2hvOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1lczcwMDAvTWFrZWZpbGUgYi9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9NYWtlZmlsZQppbmRleCA2OWRkNGRhLi4zZWY4YjQzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9NYWtlZmlsZQpAQCAtMyw0ICszLDMgQEAKICMKIAogb2JqLSQoQ09ORklHX1g4Nl9FUzcwMDApCTo9IGVzNzAwMHBsYXQubwotb2JqLSQoQ09ORklHX1g4Nl9HRU5FUklDQVJDSCkJOj0gZXM3MDAwcGxhdC5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9lczcwMDBwbGF0LmMgYi9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9lczcwMDBwbGF0LmMKaW5kZXggZjVkNmY3ZC4uNDM1NGNlOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1lczcwMDAvZXM3MDAwcGxhdC5jCisrKyBiL2FyY2gveDg2L21hY2gtZXM3MDAwL2VzNzAwMHBsYXQuYwpAQCAtNTIsNiArNTIsOCBAQAogc3RhdGljIGludCAJCQltaXBfcG9ydDsKIHN0YXRpYyB1bnNpZ25lZCBsb25nCQltaXBfYWRkciwgaG9zdF9hZGRyOwogCitpbnQgZXM3MDAwX3BsYXQ7CisKIC8qCiAgKiBHU0kgb3ZlcnJpZGUgZm9yIEVTNzAwMCBwbGF0Zm9ybXMuCiAgKi8KQEAgLTE3NSw1MyArMTc3LDYgQEAKIH0KICNlbmRpZgogCi0vKgotICogVGhpcyBmaWxlIGFsc28gZ2V0cyBjb21waWxlZCBpZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNIIGlzIHNldC4gR2VuZXJpYwotICogYXJjaCBhbHJlYWR5IGhhcyBnb3QgZm9sbG93aW5nIGZ1bmN0aW9uIGRlZmluaXRpb25zIChhc20tZ2VuZXJpYy9lczcwMDAuYykKLSAqIGhlbmNlIG5vIG5lZWQgdG8gZGVmaW5lIHRoZXNlIGZvciB0aGF0IGNhc2UuCi0gKi8KLSNpZm5kZWYgQ09ORklHX1g4Nl9HRU5FUklDQVJDSAotdm9pZCBlczcwMDBfc3dfYXBpYyh2b2lkKTsKLXZvaWQgX19pbml0IGVuYWJsZV9hcGljX21vZGUodm9pZCkKLXsKLQllczcwMDBfc3dfYXBpYygpOwotCXJldHVybjsKLX0KLQotX19pbml0IGludCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAotCQljaGFyICpwcm9kdWN0aWQpCi17Ci0JaWYgKG1wYy0+bXBjX29lbXB0cikgewotCQlzdHJ1Y3QgbXBfY29uZmlnX29lbXRhYmxlICpvZW1fdGFibGUgPQotCQkJKHN0cnVjdCBtcF9jb25maWdfb2VtdGFibGUgKiltcGMtPm1wY19vZW1wdHI7Ci0JCWlmICghc3RybmNtcChvZW0sICJVTklTWVMiLCA2KSkKLQkJCXJldHVybiBwYXJzZV91bmlzeXNfb2VtKChjaGFyICopb2VtX3RhYmxlKTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0jaWZkZWYgQ09ORklHX0FDUEkKLS8qIEhvb2sgZnJvbSBnZW5lcmljIEFDUEkgdGFibGVzLmMgKi8KLWludCBfX2luaXQgYWNwaV9tYWR0X29lbV9jaGVjayhjaGFyICpvZW1faWQsIGNoYXIgKm9lbV90YWJsZV9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIG9lbV9hZGRyOwotCWlmICghZmluZF91bmlzeXNfYWNwaV9vZW1fdGFibGUoJm9lbV9hZGRyKSkgewotCQlpZiAoZXM3MDAwX2NoZWNrX2RzZHQoKSkKLQkJCXJldHVybiBwYXJzZV91bmlzeXNfb2VtKChjaGFyICopb2VtX2FkZHIpOwotCQllbHNlIHsKLQkJCXNldHVwX3VuaXN5cygpOwotCQkJcmV0dXJuIDE7Ci0JCX0KLQl9Ci0JcmV0dXJuIDA7Ci19Ci0jZWxzZQotaW50IF9faW5pdCBhY3BpX21hZHRfb2VtX2NoZWNrKGNoYXIgKm9lbV9pZCwgY2hhciAqb2VtX3RhYmxlX2lkKQotewotCXJldHVybiAwOwotfQotI2VuZGlmCi0jZW5kaWYgLyogQ09GSUdfWDg2X0dFTkVSSUNBUkNIICovCi0KIHN0YXRpYyB2b2lkCiBlczcwMDBfc3BpbihpbnQgbikKIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9NYWtlZmlsZSBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9NYWtlZmlsZQppbmRleCAxOWQ2ZDQwLi4wZGJkNzgwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL01ha2VmaWxlCkBAIC0yLDcgKzIsMTEgQEAKICMgTWFrZWZpbGUgZm9yIHRoZSBnZW5lcmljIGFyY2hpdGVjdHVyZQogIwogCi1FWFRSQV9DRkxBR1MJOj0gLUlhcmNoL3g4Ni9rZXJuZWwKK0VYVFJBX0NGTEFHUwkJCTo9IC1JYXJjaC94ODYva2VybmVsCiAKLW9iai15CQk6PSBwcm9iZS5vIHN1bW1pdC5vIGJpZ3NtcC5vIGVzNzAwMC5vIGRlZmF1bHQubyAKLW9iai15CQkrPSAuLi8uLi94ODYvbWFjaC1lczcwMDAvCitvYmoteQkJCQk6PSBwcm9iZS5vIGRlZmF1bHQubworb2JqLSQoQ09ORklHX1g4Nl9OVU1BUSkJCSs9IG51bWFxLm8KK29iai0kKENPTkZJR19YODZfU1VNTUlUKQkrPSBzdW1taXQubworb2JqLSQoQ09ORklHX1g4Nl9CSUdTTVApCSs9IGJpZ3NtcC5vCitvYmotJChDT05GSUdfWDg2X0VTNzAwMCkJKz0gZXM3MDAwLm8KK29iai0kKENPTkZJR19YODZfRVM3MDAwKQkrPSAuLi8uLi94ODYvbWFjaC1lczcwMDAvCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvYmlnc21wLmMgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvYmlnc21wLmMKaW5kZXggOTVmYzQ2My4uNTlkNzcxNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL2JpZ3NtcC5jCisrKyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9iaWdzbXAuYwpAQCAtMjMsMTAgKzIzLDggQEAKIAogc3RhdGljIGludCBocF9odF9iaWdzbXAoY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgKmQpCiB7Ci0jaWZkZWYgQ09ORklHX1g4Nl9HRU5FUklDQVJDSAogCXByaW50ayhLRVJOX05PVElDRSAiJXMgZGV0ZWN0ZWQ6IGZvcmNlIHVzZSBvZiBhcGljPWJpZ3NtcFxuIiwgZC0+aWRlbnQpOwogCWRtaV9iaWdzbXAgPSAxOwotI2VuZGlmCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQ4LDcgKzQ2LDcgQEAKIHN0YXRpYyBpbnQgcHJvYmVfYmlnc21wKHZvaWQpCiB7CiAJaWYgKGRlZl90b19iaWdzbXApCi0JZG1pX2JpZ3NtcCA9IDE7CisJCWRtaV9iaWdzbXAgPSAxOwogCWVsc2UKIAkJZG1pX2NoZWNrX3N5c3RlbShiaWdzbXBfZG1pX3RhYmxlKTsKIAlyZXR1cm4gZG1pX2JpZ3NtcDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9udW1hcS5jIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL251bWFxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA5MWU2OAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9udW1hcS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBBUElDIGRyaXZlciBmb3IgdGhlIElCTSBOVU1BUSBjaGlwc2V0LgorICovCisjZGVmaW5lIEFQSUNfREVGSU5JVElPTiAxCisjaW5jbHVkZSA8bGludXgvdGhyZWFkcy5oPgorI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKyNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CisjaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KKyNpbmNsdWRlIDxhc20vZml4bWFwLmg+CisjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8YXNtL21hY2gtbnVtYXEvbWFjaF9hcGljLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtbnVtYXEvbWFjaF9hcGljZGVmLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtbnVtYXEvbWFjaF9pcGkuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1udW1hcS9tYWNoX21wcGFyc2UuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1udW1hcS9tYWNoX3dha2VjcHUuaD4KKyNpbmNsdWRlIDxhc20vbnVtYXEuaD4KKworc3RhdGljIGludCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQljaGFyICpwcm9kdWN0aWQpCit7CisJbnVtYXFfbXBzX29lbV9jaGVjayhtcGMsIG9lbSwgcHJvZHVjdGlkKTsKKwlyZXR1cm4gZm91bmRfbnVtYXE7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfbnVtYXEodm9pZCkKK3sKKwkvKiBhbHJlYWR5IGtub3cgZnJvbSBnZXRfbWVtY2ZnX251bWFxKCkgKi8KKwlyZXR1cm4gZm91bmRfbnVtYXE7Cit9CisKKy8qIEhvb2sgZnJvbSBnZW5lcmljIEFDUEkgdGFibGVzLmMgKi8KK3N0YXRpYyBpbnQgYWNwaV9tYWR0X29lbV9jaGVjayhjaGFyICpvZW1faWQsIGNoYXIgKm9lbV90YWJsZV9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IGdlbmFwaWMgYXBpY19udW1hcSA9IEFQSUNfSU5JVCgiTlVNQVEiLCBwcm9iZV9udW1hcSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvcHJvYmUuYyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9wcm9iZS5jCmluZGV4IGM1YWU3NTEuLjVhN2U0NjEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9wcm9iZS5jCisrKyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9wcm9iZS5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KICNpbmNsdWRlIDxhc20vZ2VuYXBpYy5oPgogCitleHRlcm4gc3RydWN0IGdlbmFwaWMgYXBpY19udW1hcTsKIGV4dGVybiBzdHJ1Y3QgZ2VuYXBpYyBhcGljX3N1bW1pdDsKIGV4dGVybiBzdHJ1Y3QgZ2VuYXBpYyBhcGljX2JpZ3NtcDsKIGV4dGVybiBzdHJ1Y3QgZ2VuYXBpYyBhcGljX2VzNzAwMDsKQEAgLTI0LDkgKzI1LDE4IEBACiBzdHJ1Y3QgZ2VuYXBpYyAqZ2VuYXBpYyA9ICZhcGljX2RlZmF1bHQ7CiAKIHN0YXRpYyBzdHJ1Y3QgZ2VuYXBpYyAqYXBpY19wcm9iZVtdIF9faW5pdGRhdGEgPSB7CisjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCSZhcGljX251bWFxLAorI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9TVU1NSVQKIAkmYXBpY19zdW1taXQsCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X0JJR1NNUAogCSZhcGljX2JpZ3NtcCwKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfRVM3MDAwCiAJJmFwaWNfZXM3MDAwLAorI2VuZGlmCiAJJmFwaWNfZGVmYXVsdCwJLyogbXVzdCBiZSBsYXN0ICovCiAJTlVMTCwKIH07CkBAIC01NCw2ICs2NCw3IEBACiAKIHZvaWQgX19pbml0IGdlbmVyaWNfYmlnc21wX3Byb2JlKHZvaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl9CSUdTTVAKIAkvKgogCSAqIFRoaXMgcm91dGluZSBpcyB1c2VkIHRvIHN3aXRjaCB0byBiaWdzbXAgbW9kZSB3aGVuCiAJICogLSBUaGVyZSBpcyBubyBhcGljPSBvcHRpb24gc3BlY2lmaWVkIGJ5IHRoZSB1c2VyCkBAIC02Nyw2ICs3OCw3IEBACiAJCQlwcmludGsoS0VSTl9JTkZPICJPdmVycmlkaW5nIEFQSUMgZHJpdmVyIHdpdGggJXNcbiIsCiAJCQkgICAgICAgZ2VuYXBpYy0+bmFtZSk7CiAJCX0KKyNlbmRpZgogfQogCiB2b2lkIF9faW5pdCBnZW5lcmljX2FwaWNfcHJvYmUodm9pZCkKQEAgLTg4LDcgKzEwMCw4IEBACiAKIC8qIFRoZXNlIGZ1bmN0aW9ucyBjYW4gc3dpdGNoIHRoZSBBUElDIGV2ZW4gYWZ0ZXIgdGhlIGluaXRpYWwgLT5wcm9iZSgpICovCiAKLWludCBfX2luaXQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwgY2hhciAqcHJvZHVjdGlkKQoraW50IF9faW5pdCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQkJCSBjaGFyICpwcm9kdWN0aWQpCiB7CiAJaW50IGk7CiAJZm9yIChpID0gMDsgYXBpY19wcm9iZVtpXTsgKytpKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL01ha2VmaWxlIGIvYXJjaC94ODYvbWFjaC12aXN3cy9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODM1ZmQ5Ni4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0jCi0jIE1ha2VmaWxlIGZvciB0aGUgbGludXgga2VybmVsLgotIwotCi1vYmoteQkJCQk6PSBzZXR1cC5vIHRyYXBzLm8gcmVib290Lm8KLQotb2JqLSQoQ09ORklHX1g4Nl9WSVNXU19BUElDKQkrPSB2aXN3c19hcGljLm8KLW9iai0kKENPTkZJR19YODZfTE9DQUxfQVBJQykJKz0gbXBwYXJzZS5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL21wcGFyc2UuYyBiL2FyY2gveDg2L21hY2gtdmlzd3MvbXBwYXJzZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzQ4NGU5Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21hY2gtdmlzd3MvbXBwYXJzZS5jCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAsMCBAQAotCi0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgotCi0jaW5jbHVkZSA8YXNtL3NtcC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotCi0jaW5jbHVkZSAiY29iYWx0LmgiCi0jaW5jbHVkZSAibWFjaF9hcGljLmgiCi0KLS8qIEhhdmUgd2UgZm91bmQgYW4gTVAgdGFibGUgKi8KLWludCBzbXBfZm91bmRfY29uZmlnOwotCi1pbnQgcGljX21vZGU7Ci0KLWV4dGVybiB1bnNpZ25lZCBpbnQgX19jcHVpbml0ZGF0YSBtYXhjcHVzOwotCi0vKgotICogVGhlIFZpc3VhbCBXb3Jrc3RhdGlvbiBpcyBJbnRlbCBNUCBjb21wbGlhbnQgaW4gdGhlIGhhcmR3YXJlCi0gKiBzZW5zZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIEJJT1MoLWNvbmZpZ3VyYXRpb24gdGFibGUpLgotICogTm8gcHJvYmxlbSBmb3IgTGludXguCi0gKi8KLQotc3RhdGljIHZvaWQgX19pbml0IE1QX3Byb2Nlc3Nvcl9pbmZvIChzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm0pCi17Ci0JaW50IHZlciwgbG9naWNhbF9hcGljaWQ7Ci0JcGh5c2lkX21hc2tfdCBhcGljX2NwdXM7Ci0KLQlpZiAoIShtLT5tcGNfY3B1ZmxhZyAmIENQVV9FTkFCTEVEKSkKLQkJcmV0dXJuOwotCi0JbG9naWNhbF9hcGljaWQgPSBtLT5tcGNfYXBpY2lkOwotCXByaW50ayhLRVJOX0lORk8gIiVzQ1BVICMlZCAldToldSBBUElDIHZlcnNpb24gJWRcbiIsCi0JICAgICAgIG0tPm1wY19jcHVmbGFnICYgQ1BVX0JPT1RQUk9DRVNTT1IgPyAiQm9vdHVwICIgOiAiIiwKLQkgICAgICAgbS0+bXBjX2FwaWNpZCwKLQkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX0ZBTUlMWV9NQVNLKSA+PiA4LAotCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfTU9ERUxfTUFTSykgPj4gNCwKLQkgICAgICAgbS0+bXBjX2FwaWN2ZXIpOwotCi0JaWYgKG0tPm1wY19jcHVmbGFnICYgQ1BVX0JPT1RQUk9DRVNTT1IpCi0JCWJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCA9IG0tPm1wY19hcGljaWQ7Ci0KLQl2ZXIgPSBtLT5tcGNfYXBpY3ZlcjsKLQlpZiAoKHZlciA+PSAweDE0ICYmIG0tPm1wY19hcGljaWQgPj0gMHhmZikgfHwgbS0+bXBjX2FwaWNpZCA+PSAweGYpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJQcm9jZXNzb3IgIyVkIElOVkFMSUQuIChNYXggSUQ6ICVkKS5cbiIsCi0JCQltLT5tcGNfYXBpY2lkLCBNQVhfQVBJQ1MpOwotCQlyZXR1cm47Ci0JfQotCi0JYXBpY19jcHVzID0gYXBpY2lkX3RvX2NwdV9wcmVzZW50KG0tPm1wY19hcGljaWQpOwotCXBoeXNpZHNfb3IocGh5c19jcHVfcHJlc2VudF9tYXAsIHBoeXNfY3B1X3ByZXNlbnRfbWFwLCBhcGljX2NwdXMpOwotCS8qCi0JICogVmFsaWRhdGUgdmVyc2lvbgotCSAqLwotCWlmICh2ZXIgPT0gMHgwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiQklPUyBidWcsIEFQSUMgdmVyc2lvbiBpcyAwIGZvciBDUFUjJWQhICIKLQkJCSJmaXhpbmcgdXAgdG8gMHgxMC4gKHRlbGwgeW91ciBodyB2ZW5kb3IpXG4iLAotCQkJbS0+bXBjX2FwaWNpZCk7Ci0JCXZlciA9IDB4MTA7Ci0JfQotCWFwaWNfdmVyc2lvblttLT5tcGNfYXBpY2lkXSA9IHZlcjsKLX0KLQotdm9pZCBfX2luaXQgZmluZF9zbXBfY29uZmlnKHZvaWQpCi17Ci0Jc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptcCA9IHBoeXNfdG9fdmlydChDT19DUFVfVEFCX1BIWVMpOwotCXVuc2lnbmVkIHNob3J0IG5jcHVzID0gcmVhZHcocGh5c190b192aXJ0KENPX0NQVV9OVU1fUEhZUykpOwotCi0JaWYgKG5jcHVzID4gQ09fQ1BVX01BWCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJmaW5kX3Zpc3dzX3NtcDogZ290IGNwdSBjb3VudCBvZiAlZCBhdCAlcFxuIiwKLQkJCW5jcHVzLCBtcCk7Ci0KLQkJbmNwdXMgPSBDT19DUFVfTUFYOwotCX0KLQotCWlmIChuY3B1cyA+IG1heGNwdXMpCi0JCW5jcHVzID0gbWF4Y3B1czsKLQotCXNtcF9mb3VuZF9jb25maWcgPSAxOwotCXdoaWxlIChuY3B1cy0tKQotCQlNUF9wcm9jZXNzb3JfaW5mbyhtcCsrKTsKLQotCW1wX2xhcGljX2FkZHIgPSBBUElDX0RFRkFVTFRfUEhZU19CQVNFOwotfQotCi12b2lkIF9faW5pdCBnZXRfc21wX2NvbmZpZyAodm9pZCkKLXsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdmlzd3MvcmVib290LmMgYi9hcmNoL3g4Ni9tYWNoLXZpc3dzL3JlYm9vdC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTMzMmFiLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21hY2gtdmlzd3MvcmVib290LmMKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvc21wLmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLQotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgInBpaXg0LmgiCi0KLXZvaWQgKCpwbV9wb3dlcl9vZmYpKHZvaWQpOwotRVhQT1JUX1NZTUJPTChwbV9wb3dlcl9vZmYpOwotCi12b2lkIG1hY2hpbmVfc2h1dGRvd24odm9pZCkKLXsKLSNpZmRlZiBDT05GSUdfU01QCi0Jc21wX3NlbmRfc3RvcCgpOwotI2VuZGlmCi19Ci0KLXZvaWQgbWFjaGluZV9lbWVyZ2VuY3lfcmVzdGFydCh2b2lkKQotewotCS8qCi0JICogVmlzdWFsIFdvcmtzdGF0aW9ucyByZXN0YXJ0IGFmdGVyIHRoaXMKLQkgKiByZWdpc3RlciBpcyBwb2tlZCBvbiB0aGUgUElJWDQKLQkgKi8KLQlvdXRiKFBJSVg0X1JFU0VUX1ZBTCwgUElJWDRfUkVTRVRfUE9SVCk7Ci19Ci0KLXZvaWQgbWFjaGluZV9yZXN0YXJ0KGNoYXIgKiBfX3VudXNlZCkKLXsKLQltYWNoaW5lX3NodXRkb3duKCk7Ci0JbWFjaGluZV9lbWVyZ2VuY3lfcmVzdGFydCgpOwotfQotCi12b2lkIG1hY2hpbmVfcG93ZXJfb2ZmKHZvaWQpCi17Ci0JdW5zaWduZWQgc2hvcnQgcG1fc3RhdHVzOwotCWV4dGVybiB1bnNpZ25lZCBpbnQgcGNpX2J1czA7Ci0KLQl3aGlsZSAoKHBtX3N0YXR1cyA9IGludyhQTVNUU19QT1JUKSkgJiAweDEwMCkKLQkJb3V0dyhwbV9zdGF0dXMsIFBNU1RTX1BPUlQpOwotCi0Jb3V0dyhQTV9TVVNQRU5EX0VOQUJMRSwgUE1DTlRSTF9QT1JUKTsKLQotCW1kZWxheSgxMCk7Ci0KLSNkZWZpbmUgUENJX0NPTkYxX0FERFJFU1MoYnVzLCBkZXZmbiwgcmVnKSBcCi0JKDB4ODAwMDAwMDAgfCAoYnVzIDw8IDE2KSB8IChkZXZmbiA8PCA4KSB8IChyZWcgJiB+MykpCi0KLQlvdXRsKFBDSV9DT05GMV9BRERSRVNTKHBjaV9idXMwLCBTUEVDSUFMX0RFViwgU1BFQ0lBTF9SRUcpLCAweENGOCk7Ci0Jb3V0bChQSUlYX1NQRUNJQUxfU1RPUCwgMHhDRkMpOwotfQotCi12b2lkIG1hY2hpbmVfaGFsdCh2b2lkKQotewotfQotCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3NldHVwLmMgYi9hcmNoL3g4Ni9tYWNoLXZpc3dzL3NldHVwLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlNGM5ZGIuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbWFjaC12aXN3cy9zZXR1cC5jCisrKyAvZGV2L251bGwKQEAgLTEsMTgzICswLDAgQEAKLS8qCi0gKiAgVW5tYWludGFpbmVkIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gc3VwcG9ydC4KLSAqICBTcGxpdCBvdXQgZnJvbSBzZXR1cC5jIGJ5IGRhdmVqQHN1c2UuZGUKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvc21wLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotCi0jaW5jbHVkZSA8YXNtL2ZpeG1hcC5oPgotI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vc2V0dXAuaD4KLSNpbmNsdWRlICJjb2JhbHQuaCIKLSNpbmNsdWRlICJwaWl4NC5oIgotCi1pbnQgbm9fYnJvYWRjYXN0OwotCi1jaGFyIHZpc3dzX2JvYXJkX3R5cGUgPSAtMTsKLWNoYXIgdmlzd3NfYm9hcmRfcmV2ID0gLTE7Ci0KLXZvaWQgX19pbml0IHZpc3dzX2dldF9ib2FyZF90eXBlX2FuZF9yZXYodm9pZCkKLXsKLQlpbnQgcmF3OwotCi0Jdmlzd3NfYm9hcmRfdHlwZSA9IChjaGFyKShpbmJfcChQSUlYX0dQSV9CRF9SRUcpICYgUElJWF9HUElfQkRfUkVHKQotCQkJCQkJCSA+PiBQSUlYX0dQSV9CRF9TSElGVDsKLQkvKgotCSAqIEdldCBCb2FyZCByZXYuCi0JICogRmlyc3QsIHdlIGhhdmUgdG8gaW5pdGlhbGl6ZSB0aGUgMzA3IHBhcnQgdG8gYWxsb3cgdXMgYWNjZXNzCi0JICogdG8gdGhlIEdQSU8gcmVnaXN0ZXJzLiAgTGV0J3MgbWFwIHRoZW0gYXQgMHgwZmMwIHdoaWNoIGlzIHJpZ2h0Ci0JICogYWZ0ZXIgdGhlIFBJSVg0IFBNIHNlY3Rpb24uCi0JICovCi0Jb3V0Yl9wKFNJT19ERVZfU0VMLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fR1BfREVWLCBTSU9fREFUQSk7CS8qIFRhbGsgdG8gR1BJTyByZWdzLiAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfTVNCLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fR1BfTVNCLCBTSU9fREFUQSk7CS8qIE1TQiBvZiBHUElPIGJhc2UgYWRkcmVzcyAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfTFNCLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fR1BfTFNCLCBTSU9fREFUQSk7CS8qIExTQiBvZiBHUElPIGJhc2UgYWRkcmVzcyAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfRU5CLCBTSU9fSU5ERVgpOwotCW91dGJfcCgxLCBTSU9fREFUQSk7CQkvKiBFbmFibGUgR1BJTyByZWdpc3RlcnMuICovCi0KLQkvKgotCSAqIE5vdywgd2UgaGF2ZSB0byBtYXAgdGhlIHBvd2VyIG1hbmFnZW1lbnQgc2VjdGlvbiB0byB3cml0ZQotCSAqIGEgYml0IHdoaWNoIGVuYWJsZXMgYWNjZXNzIHRvIHRoZSBHUElPIHJlZ2lzdGVycy4KLQkgKiBXaGF0IGx1bmF0aWMgY2FtZSB1cCB3aXRoIHRoaXMgc2hpdD8KLQkgKi8KLQlvdXRiX3AoU0lPX0RFVl9TRUwsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKFNJT19QTV9ERVYsIFNJT19EQVRBKTsJLyogVGFsayB0byBHUElPIHJlZ3MuICovCi0KLQlvdXRiX3AoU0lPX0RFVl9NU0IsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKFNJT19QTV9NU0IsIFNJT19EQVRBKTsJLyogTVNCIG9mIFBNIGJhc2UgYWRkcmVzcyAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfTFNCLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fUE1fTFNCLCBTSU9fREFUQSk7CS8qIExTQiBvZiBQTSBiYXNlIGFkZHJlc3MgKi8KLQotCW91dGJfcChTSU9fREVWX0VOQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoMSwgU0lPX0RBVEEpOwkJLyogRW5hYmxlIFBNIHJlZ2lzdGVycy4gKi8KLQotCS8qCi0JICogTm93LCB3cml0ZSB0aGUgUE0gcmVnaXN0ZXIgd2hpY2ggZW5hYmxlcyB0aGUgR1BJTyByZWdpc3RlcnMuCi0JICovCi0Jb3V0Yl9wKFNJT19QTV9GRVIyLCBTSU9fUE1fSU5ERVgpOwotCW91dGJfcChTSU9fUE1fR1BfRU4sIFNJT19QTV9EQVRBKTsKLQotCS8qCi0JICogTm93LCBpbml0aWFsaXplIHRoZSBHUElPIHJlZ2lzdGVycy4KLQkgKiBXZSB3YW50IHRoZW0gYWxsIHRvIGJlIGlucHV0cyB3aGljaCBpcyB0aGUKLQkgKiBwb3dlciBvbiBkZWZhdWx0LCBzbyBsZXQncyBsZWF2ZSB0aGVtIGFsb25lLgotCSAqIFNvLCBsZXQncyBqdXN0IHJlYWQgdGhlIGJvYXJkIHJldiEKLQkgKi8KLQlyYXcgPSBpbmJfcChTSU9fR1BfREFUQTEpOwotCXJhdyAmPSAweDdmOwkvKiA3IGJpdHMgb2YgdmFsaWQgYm9hcmQgcmV2aXNpb24gSUQuICovCi0KLQlpZiAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU18zMjApIHsKLQkJaWYgKHJhdyA8IDB4NikgewotCQkJdmlzd3NfYm9hcmRfcmV2ID0gNDsKLQkJfSBlbHNlIGlmIChyYXcgPCAweGMpIHsKLQkJCXZpc3dzX2JvYXJkX3JldiA9IDU7Ci0JCX0gZWxzZSB7Ci0JCQl2aXN3c19ib2FyZF9yZXYgPSA2OwotCQl9Ci0JfSBlbHNlIGlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzU0MCkgewotCQkJdmlzd3NfYm9hcmRfcmV2ID0gMjsKLQkJfSBlbHNlIHsKLQkJCXZpc3dzX2JvYXJkX3JldiA9IHJhdzsKLQkJfQotCi0JcHJpbnRrKEtFUk5fSU5GTyAiU2lsaWNvbiBHcmFwaGljcyBWaXN1YWwgV29ya3N0YXRpb24gJXMgKHJldiAlZCkgZGV0ZWN0ZWRcbiIsCi0JICAgICAgICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCA/ICIzMjAiIDoKLQkgICAgICAgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfNTQwID8gIjU0MCIgOgotCQkidW5rbm93biIpKSwgdmlzd3NfYm9hcmRfcmV2KTsKLX0KLQotdm9pZCBfX2luaXQgcHJlX2ludHJfaW5pdF9ob29rKHZvaWQpCi17Ci0JaW5pdF9WSVNXU19BUElDX2lycXMoKTsKLX0KLQotdm9pZCBfX2luaXQgaW50cl9pbml0X2hvb2sodm9pZCkKLXsKLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLQlhcGljX2ludHJfaW5pdCgpOwotI2VuZGlmCi19Ci0KLXZvaWQgX19pbml0IHByZV9zZXR1cF9hcmNoX2hvb2soKQotewotCXZpc3dzX2dldF9ib2FyZF90eXBlX2FuZF9yZXYoKTsKLX0KLQotc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gaXJxMCA9IHsKLQkuaGFuZGxlciA9CXRpbWVyX2ludGVycnVwdCwKLQkuZmxhZ3MgPQlJUlFGX0RJU0FCTEVEIHwgSVJRRl9JUlFQT0xMLAotCS5uYW1lID0JCSJ0aW1lciIsCi19OwotCi12b2lkIF9faW5pdCB0aW1lX2luaXRfaG9vayh2b2lkKQotewotCXByaW50ayhLRVJOX0lORk8gIlN0YXJ0aW5nIENvYmFsdCBUaW1lciBzeXN0ZW0gY2xvY2tcbiIpOwotCi0JLyogU2V0IHRoZSBjb3VudGRvd24gdmFsdWUgKi8KLQljb19jcHVfd3JpdGUoQ09fQ1BVX1RJTUVWQUwsIENPX1RJTUVfSFovSFopOwotCi0JLyogU3RhcnQgdGhlIHRpbWVyICovCi0JY29fY3B1X3dyaXRlKENPX0NQVV9DVFJMLCBjb19jcHVfcmVhZChDT19DUFVfQ1RSTCkgfCBDT19DVFJMX1RJTUVSVU4pOwotCi0JLyogRW5hYmxlICh1bm1hc2spIHRoZSB0aW1lciBpbnRlcnJ1cHQgKi8KLQljb19jcHVfd3JpdGUoQ09fQ1BVX0NUUkwsIGNvX2NwdV9yZWFkKENPX0NQVV9DVFJMKSAmIH5DT19DVFJMX1RJTUVNQVNLKTsKLQotCS8qIFdpcmUgY3B1IElEVCBlbnRyeSB0byBzL3cgaGFuZGxlciAoYW5kIENvYmFsdCBBUElDIHRvIElEVCkgKi8KLQlzZXR1cF9pcnEoMCwgJmlycTApOwotfQotCi0vKiBIb29rIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4gKi8KLQotI2RlZmluZSBNQiAoMTAyNCAqIDEwMjQpCi0KLXVuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fcGh5czsKLXVuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fc2l6ZTsKLUVYUE9SVF9TWU1CT0woc2dpdndmYl9tZW1fcGh5cyk7Ci1FWFBPUlRfU1lNQk9MKHNnaXZ3ZmJfbWVtX3NpemUpOwotCi1sb25nIGxvbmcgbWVtX3NpemUgX19pbml0ZGF0YSA9IDA7Ci0KLWNoYXIgKiBfX2luaXQgbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCkKLXsKLQlsb25nIGxvbmcgZ2Z4X21lbV9zaXplID0gOCAqIE1COwotCi0JbWVtX3NpemUgPSBib290X3BhcmFtcy5hbHRfbWVtX2s7Ci0KLQlpZiAoIW1lbV9zaXplKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIkJvb3Rsb2FkZXIgZGlkbid0IHNldCBtZW1vcnkgc2l6ZSwgdXBncmFkZSBpdCAhXG4iKTsKLQkJbWVtX3NpemUgPSAxMjggKiBNQjsKLQl9Ci0KLQkvKgotCSAqIHRoaXMgaGFyZGNvZGVzIHRoZSBncmFwaGljcyBtZW1vcnkgdG8gOCBNQgotCSAqIGl0IHJlYWxseSBzaG91bGQgYmUgc2l6ZWQgZHluYW1pY2FsbHkgKG9yIGF0IGxlYXN0Ci0JICogc2V0IGFzIGEgYm9vdCBwYXJhbSkKLQkgKi8KLQlpZiAoIXNnaXZ3ZmJfbWVtX3NpemUpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiRGVmYXVsdGluZyB0byA4IE1CIGZyYW1lYnVmZmVyIHNpemVcbiIpOwotCQlzZ2l2d2ZiX21lbV9zaXplID0gOCAqIE1COwotCX0KLQotCS8qCi0JICogVHJpbSB0byBuZWFyZXN0IE1CCi0JICovCi0Jc2dpdndmYl9tZW1fc2l6ZSAmPSB+KCgxIDw8IDIwKSAtIDEpOwotCXNnaXZ3ZmJfbWVtX3BoeXMgPSBtZW1fc2l6ZSAtIGdmeF9tZW1fc2l6ZTsKLQotCWFkZF9tZW1vcnlfcmVnaW9uKDAsIExPV01FTVNJWkUoKSwgRTgyMF9SQU0pOwotCWFkZF9tZW1vcnlfcmVnaW9uKEhJR0hfTUVNT1JZLCBtZW1fc2l6ZSAtIHNnaXZ3ZmJfbWVtX3NpemUgLSBISUdIX01FTU9SWSwgRTgyMF9SQU0pOwotCWFkZF9tZW1vcnlfcmVnaW9uKHNnaXZ3ZmJfbWVtX3BoeXMsIHNnaXZ3ZmJfbWVtX3NpemUsIEU4MjBfUkVTRVJWRUQpOwotCi0JcmV0dXJuICJQUk9NIjsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdmlzd3MvdHJhcHMuYyBiL2FyY2gveDg2L21hY2gtdmlzd3MvdHJhcHMuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmZhYzZiYS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3RyYXBzLmMKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi0vKiBWSVNXUyB0cmFwcyAqLwotCi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpX2lkcy5oPgotCi0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2hfaG9va3MuaD4KLSNpbmNsdWRlIDxhc20vYXBpYy5oPgotI2luY2x1ZGUgImNvYmFsdC5oIgotI2luY2x1ZGUgImxpdGhpdW0uaCIKLQotCi0jZGVmaW5lIEEwMTIzNCAoTElfSU5UQV8wIHwgTElfSU5UQV8xIHwgTElfSU5UQV8yIHwgTElfSU5UQV8zIHwgTElfSU5UQV80KQotI2RlZmluZSBCQ0QgKExJX0lOVEIgfCBMSV9JTlRDIHwgTElfSU5URCkKLSNkZWZpbmUgQUxMREVWUyAoQTAxMjM0IHwgQkNEKQotCi1zdGF0aWMgX19pbml0IHZvaWQgbGl0aGl1bV9pbml0KHZvaWQpCi17Ci0Jc2V0X2ZpeG1hcChGSVhfTElfUENJQSwgTElfUENJX0FfUEhZUyk7Ci0Jc2V0X2ZpeG1hcChGSVhfTElfUENJQiwgTElfUENJX0JfUEhZUyk7Ci0KLQlpZiAoKGxpX3BjaWFfcmVhZDE2KFBDSV9WRU5ET1JfSUQpICE9IFBDSV9WRU5ET1JfSURfU0dJKSB8fAotCSAgICAobGlfcGNpYV9yZWFkMTYoUENJX0RFVklDRV9JRCkgIT0gUENJX0RFVklDRV9JRF9TR0lfTElUSElVTSkpIHsKLQkJcHJpbnRrKEtFUk5fRU1FUkcgIkxpdGhpdW0gaG9zdGJyaWRnZSAlYyBub3QgZm91bmRcbiIsICdBJyk7Ci0JCXBhbmljKCJUaGlzIG1hY2hpbmUgaXMgbm90IFNHSSBWaXN1YWwgV29ya3N0YXRpb24gMzIwLzU0MCIpOwotCX0KLQotCWlmICgobGlfcGNpYl9yZWFkMTYoUENJX1ZFTkRPUl9JRCkgIT0gUENJX1ZFTkRPUl9JRF9TR0kpIHx8Ci0JICAgIChsaV9wY2liX3JlYWQxNihQQ0lfREVWSUNFX0lEKSAhPSBQQ0lfREVWSUNFX0lEX1NHSV9MSVRISVVNKSkgewotCQlwcmludGsoS0VSTl9FTUVSRyAiTGl0aGl1bSBob3N0YnJpZGdlICVjIG5vdCBmb3VuZFxuIiwgJ0InKTsKLQkJcGFuaWMoIlRoaXMgbWFjaGluZSBpcyBub3QgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiAzMjAvNTQwIik7Ci0JfQotCi0JbGlfcGNpYV93cml0ZTE2KExJX1BDSV9JTlRFTiwgQUxMREVWUyk7Ci0JbGlfcGNpYl93cml0ZTE2KExJX1BDSV9JTlRFTiwgQUxMREVWUyk7Ci19Ci0KLXN0YXRpYyBfX2luaXQgdm9pZCBjb2JhbHRfaW5pdCh2b2lkKQotewotCS8qCi0JICogT24gbm9ybWFsIFNNUCBQQyB0aGlzIGlzIHVzZWQgb25seSB3aXRoIFNNUCwgYnV0IHdlIGhhdmUgdG8KLQkgKiB1c2UgaXQgYW5kIHNldCBpdCB1cCBoZXJlIHRvIHN0YXJ0IHRoZSBDb2JhbHQgY2xvY2sKLQkgKi8KLQlzZXRfZml4bWFwKEZJWF9BUElDX0JBU0UsIEFQSUNfREVGQVVMVF9QSFlTX0JBU0UpOwotCXNldHVwX2xvY2FsX0FQSUMoKTsKLQlwcmludGsoS0VSTl9JTkZPICJMb2NhbCBBUElDIFZlcnNpb24gJSN4LCBJRCAlI3hcbiIsCi0JCSh1bnNpZ25lZCBpbnQpYXBpY19yZWFkKEFQSUNfTFZSKSwKLQkJKHVuc2lnbmVkIGludClhcGljX3JlYWQoQVBJQ19JRCkpOwotCi0Jc2V0X2ZpeG1hcChGSVhfQ09fQ1BVLCBDT19DUFVfUEhZUyk7Ci0Jc2V0X2ZpeG1hcChGSVhfQ09fQVBJQywgQ09fQVBJQ19QSFlTKTsKLQlwcmludGsoS0VSTl9JTkZPICJDb2JhbHQgUmV2aXNpb24gJSNseCwgQVBJQyBJRCAlI2x4XG4iLAotCQljb19jcHVfcmVhZChDT19DUFVfUkVWKSwgY29fYXBpY19yZWFkKENPX0FQSUNfSUQpKTsKLQotCS8qIEVuYWJsZSBDb2JhbHQgQVBJQyBiZWluZyBjYXJlZnVsIHRvIE5PVCBjaGFuZ2UgdGhlIElEISAqLwotCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19JRCwgY29fYXBpY19yZWFkKENPX0FQSUNfSUQpIHwgQ09fQVBJQ19FTkFCTEUpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQ29iYWx0IEFQSUMgZW5hYmxlZDogSUQgcmVnICUjbHhcbiIsCi0JCWNvX2FwaWNfcmVhZChDT19BUElDX0lEKSk7Ci19Ci0KLXZvaWQgX19pbml0IHRyYXBfaW5pdF9ob29rKHZvaWQpCi17Ci0JbGl0aGl1bV9pbml0KCk7Ci0JY29iYWx0X2luaXQoKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdmlzd3Mvdmlzd3NfYXBpYy5jIGIvYXJjaC94ODYvbWFjaC12aXN3cy92aXN3c19hcGljLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlZjljYjEuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbWFjaC12aXN3cy92aXN3c19hcGljLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyOTcgKzAsMCBAQAotLyoKLSAqCUNvcHlyaWdodCAoQykgMTk5OSBCZW50IEhhZ2VtYXJrLCBJbmdvIE1vbG5hcgotICoKLSAqICBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIGludGVycnVwdCBjb250cm9sbGVyCi0gKgotICogIFRoZSBDb2JhbHQgc3lzdGVtIEFTSUMgaW4gdGhlIFZpc3VhbCBXb3Jrc3RhdGlvbiBjb250YWlucyBhICJDb2JhbHQiIEFQSUMKLSAqICB3aGljaCBzZXJ2ZXMgYXMgdGhlIG1haW4gaW50ZXJydXB0IGNvbnRyb2xsZXIgaW4gdGhlIHN5c3RlbS4gIE5vbi1sZWdhY3kKLSAqICBoYXJkd2FyZSBpbiB0aGUgc3lzdGVtIHVzZXMgdGhpcyBjb250cm9sbGVyIGRpcmVjdGx5LiAgTGVnYWN5IGRldmljZXMKLSAqICBhcmUgY29ubmVjdGVkIHRvIHRoZSBQSUlYNCB3aGljaCBpbiB0dXJuIGhhcyBpdHMgODI1OShzKSBjb25uZWN0ZWQgdG8KLSAqICBhIG9mIHRoZSBDb2JhbHQgQVBJQyBlbnRyeS4KLSAqCi0gKiAgMDkvMDIvMjAwMCAtIFVwZGF0ZWQgZm9yIDIuNCBieSBqYmFybmVzQHNnaS5jb20KLSAqCi0gKiAgMjUvMTEvMjAwMiAtIFVwZGF0ZWQgZm9yIDIuNSBieSBBbmRyZXkgUGFuaW4gPHBhemtlQG9yYml0YTEucnU+Ci0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotCi0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2FwaWMuaD4KLSNpbmNsdWRlIDxhc20vaTgyNTkuaD4KLQotI2luY2x1ZGUgImNvYmFsdC5oIgotI2luY2x1ZGUgImlycV92ZWN0b3JzLmgiCi0KLQotc3RhdGljIERFRklORV9TUElOTE9DSyhjb2JhbHRfbG9jayk7Ci0KLS8qCi0gKiBTZXQgdGhlIGdpdmVuIENvYmFsdCBBUElDIFJlZGlyZWN0aW9uIFRhYmxlIGVudHJ5IHRvIHBvaW50Ci0gKiB0byB0aGUgZ2l2ZW4gSURUIHZlY3Rvci9pbmRleC4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGNvX2FwaWNfc2V0KGludCBlbnRyeSwgaW50IGlycSkKLXsKLQljb19hcGljX3dyaXRlKENPX0FQSUNfTE8oZW50cnkpLCBDT19BUElDX0xFVkVMIHwgKGlycSArIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUikpOwotCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19ISShlbnRyeSksIDApOwotfQotCi0vKgotICogQ29iYWx0IChJTyktQVBJQyBmdW5jdGlvbnMgdG8gaGFuZGxlIFBDSSBkZXZpY2VzLgotICovCi1zdGF0aWMgaW5saW5lIGludCBjb19hcGljX2lkZTBfaGFjayh2b2lkKQotewotCWV4dGVybiBjaGFyIHZpc3dzX2JvYXJkX3R5cGU7Ci0JZXh0ZXJuIGNoYXIgdmlzd3NfYm9hcmRfcmV2OwotCi0JaWYgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfMzIwICYmIHZpc3dzX2JvYXJkX3JldiA9PSA1KQotCQlyZXR1cm4gNTsKLQlyZXR1cm4gQ09fQVBJQ19JREUwOwotfQotCi1zdGF0aWMgaW50IGlzX2NvX2FwaWModW5zaWduZWQgaW50IGlycSkKLXsKLQlpZiAoSVNfQ09fQVBJQyhpcnEpKQotCQlyZXR1cm4gQ09fQVBJQyhpcnEpOwotCi0Jc3dpdGNoIChpcnEpIHsKLQkJY2FzZSAwOiByZXR1cm4gQ09fQVBJQ19DUFU7Ci0JCWNhc2UgQ09fSVJRX0lERTA6IHJldHVybiBjb19hcGljX2lkZTBfaGFjaygpOwotCQljYXNlIENPX0lSUV9JREUxOiByZXR1cm4gQ09fQVBJQ19JREUxOwotCQlkZWZhdWx0OiByZXR1cm4gLTE7Ci0JfQotfQotCi0KLS8qCi0gKiBUaGlzIGlzIHRoZSBTR0kgQ29iYWx0IChJTy0pQVBJQzoKLSAqLwotCi1zdGF0aWMgdm9pZCBlbmFibGVfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCWNvX2FwaWNfc2V0KGlzX2NvX2FwaWMoaXJxKSwgaXJxKTsKLX0KLQotc3RhdGljIHZvaWQgZGlzYWJsZV9jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JaW50IGVudHJ5ID0gaXNfY29fYXBpYyhpcnEpOwotCi0JY29fYXBpY193cml0ZShDT19BUElDX0xPKGVudHJ5KSwgQ09fQVBJQ19NQVNLKTsKLQljb19hcGljX3JlYWQoQ09fQVBJQ19MTyhlbnRyeSkpOwotfQotCi0vKgotICogImlycSIgcmVhbGx5IGp1c3Qgc2VydmVzIHRvIGlkZW50aWZ5IHRoZSBkZXZpY2UuICBIZXJlIGlzIHdoZXJlIHdlCi0gKiBtYXAgdGhpcyB0byB0aGUgQ29iYWx0IEFQSUMgZW50cnkgd2hlcmUgaXQncyBwaHlzaWNhbGx5IHdpcmVkLgotICogVGhpcyBpcyBjYWxsZWQgdmlhIHJlcXVlc3RfaXJxIC0+IHNldHVwX2lycSAtPiBpcnFfZGVzYy0+c3RhcnR1cCgpCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgc3RhcnR1cF9jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotCWlmICgoaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJiAoSVJRX0RJU0FCTEVEIHwgSVJRX0lOUFJPR1JFU1MgfCBJUlFfV0FJVElORykpKQotCQlpcnFfZGVzY1tpcnFdLnN0YXR1cyAmPSB+KElSUV9ESVNBQkxFRCB8IElSUV9JTlBST0dSRVNTIHwgSVJRX1dBSVRJTkcpOwotCWVuYWJsZV9jb2JhbHRfaXJxKGlycSk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgYWNrX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci0JZGlzYWJsZV9jb2JhbHRfaXJxKGlycSk7Ci0JYXBpY193cml0ZShBUElDX0VPSSwgQVBJQ19FSU9fQUNLKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgdm9pZCBlbmRfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLQlpZiAoIShpcnFfZGVzY1tpcnFdLnN0YXR1cyAmIChJUlFfRElTQUJMRUQgfCBJUlFfSU5QUk9HUkVTUykpKQotCQllbmFibGVfY29iYWx0X2lycShpcnEpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgY29iYWx0X2lycV90eXBlID0gewotCS50eXBlbmFtZSA9CSJDb2JhbHQtQVBJQyIsCi0JLnN0YXJ0dXAgPQlzdGFydHVwX2NvYmFsdF9pcnEsCi0JLnNodXRkb3duID0JZGlzYWJsZV9jb2JhbHRfaXJxLAotCS5lbmFibGUgPQllbmFibGVfY29iYWx0X2lycSwKLQkuZGlzYWJsZSA9CWRpc2FibGVfY29iYWx0X2lycSwKLQkuYWNrID0JCWFja19jb2JhbHRfaXJxLAotCS5lbmQgPQkJZW5kX2NvYmFsdF9pcnEsCi19OwotCi0KLS8qCi0gKiBUaGlzIGlzIHRoZSBQSUlYNC1iYXNlZCA4MjU5IHRoYXQgaXMgd2lyZWQgdXAgaW5kaXJlY3RseSB0byBDb2JhbHQKLSAqIC0tIG5vdCB0aGUgbWFubmVyIGV4cGVjdGVkIGJ5IHRoZSBjb2RlIGluIGk4MjU5LmMuCi0gKgotICogdGhlcmUgaXMgYSAnbWFzdGVyJyBwaHlzaWNhbCBpbnRlcnJ1cHQgc291cmNlIHRoYXQgZ2V0cyBzZW50IHRvCi0gKiB0aGUgQ1BVLiBCdXQgaW4gdGhlIGNoaXBzZXQgdGhlcmUgYXJlIHZhcmlvdXMgJ3ZpcnR1YWwnIGludGVycnVwdHMKLSAqIHdhaXRpbmcgdG8gYmUgaGFuZGxlZC4gV2UgcmVwcmVzZW50IHRoaXMgdG8gTGludXggdGhyb3VnaCBhICdtYXN0ZXInCi0gKiBpbnRlcnJ1cHQgY29udHJvbGxlciB0eXBlLCBhbmQgdGhyb3VnaCBhIHNwZWNpYWwgdmlydHVhbCBpbnRlcnJ1cHQtCi0gKiBjb250cm9sbGVyLiBEZXZpY2UgZHJpdmVycyBvbmx5IHNlZSB0aGUgdmlydHVhbCBpbnRlcnJ1cHQgc291cmNlcy4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGludCBzdGFydHVwX3BpaXg0X21hc3Rlcl9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQlpbml0XzgyNTlBKDApOwotCi0JcmV0dXJuIHN0YXJ0dXBfY29iYWx0X2lycShpcnEpOwotfQotCi1zdGF0aWMgdm9pZCBlbmRfcGlpeDRfbWFzdGVyX2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLQllbmFibGVfY29iYWx0X2lycShpcnEpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgcGlpeDRfbWFzdGVyX2lycV90eXBlID0gewotCS50eXBlbmFtZSA9CSJQSUlYNC1tYXN0ZXIiLAotCS5zdGFydHVwID0Jc3RhcnR1cF9waWl4NF9tYXN0ZXJfaXJxLAotCS5hY2sgPQkJYWNrX2NvYmFsdF9pcnEsCi0JLmVuZCA9CQllbmRfcGlpeDRfbWFzdGVyX2lycSwKLX07Ci0KLQotc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBwaWl4NF92aXJ0dWFsX2lycV90eXBlID0gewotCS50eXBlbmFtZSA9CSJQSUlYNC12aXJ0dWFsIiwKLQkuc2h1dGRvd24gPQlkaXNhYmxlXzgyNTlBX2lycSwKLQkuZW5hYmxlID0JZW5hYmxlXzgyNTlBX2lycSwKLQkuZGlzYWJsZSA9CWRpc2FibGVfODI1OUFfaXJxLAotfTsKLQotCi0vKgotICogUElJWDQtODI1OSBtYXN0ZXIvdmlydHVhbCBmdW5jdGlvbnMgdG8gaGFuZGxlIGludGVycnVwdCByZXF1ZXN0cwotICogZnJvbSBsZWdhY3kgZGV2aWNlczogZmxvcHB5LCBwYXJhbGxlbCwgc2VyaWFsLCBydGMuCi0gKgotICogTm9uZSBvZiB0aGVzZSBnZXQgQ29iYWx0IEFQSUMgZW50cmllcywgbmVpdGhlciBkbyB0aGV5IGhhdmUgSURUCi0gKiBlbnRyaWVzLiBUaGVzZSBpbnRlcnJ1cHRzIGFyZSBwdXJlbHkgdmlydHVhbCBhbmQgZGlzdHJpYnV0ZWQgZnJvbQotICogdGhlICdtYXN0ZXInIGludGVycnVwdCBzb3VyY2U6IENPX0lSUV84MjU5LgotICoKLSAqIFdoZW4gdGhlIDgyNTkgaW50ZXJydXB0cyBpdHMgaGFuZGxlciBmaWd1cmVzIG91dCB3aGljaCBvZiB0aGVzZQotICogZGV2aWNlcyBpcyBpbnRlcnJ1cHRpbmcgYW5kIGRpc3BhdGNoZXMgdG8gaXRzIGhhbmRsZXIuCi0gKgotICogQ0FSRUZVTDogZGV2aWNlcyBzZWUgdGhlICd2aXJ0dWFsJyBpbnRlcnJ1cHQgb25seS4gVGh1cyBkaXNhYmxlLwotICogZW5hYmxlX2lycSBnZXRzIHRoZSByaWdodCBpcnEuIFRoaXMgJ21hc3RlcicgaXJxIGlzIG5ldmVyIGRpcmVjdGx5Ci0gKiBtYW5pcHVsYXRlZCBieSBhbnkgZHJpdmVyLgotICovCi1zdGF0aWMgaXJxcmV0dXJuX3QgcGlpeDRfbWFzdGVyX2ludHIoaW50IGlycSwgdm9pZCAqZGV2X2lkKQotewotCWludCByZWFsaXJxOwotCWlycV9kZXNjX3QgKmRlc2M7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCi0JLyogRmluZCBvdXQgd2hhdCdzIGludGVycnVwdGluZyBpbiB0aGUgUElJWDQgbWFzdGVyIDgyNTkgKi8KLQlvdXRiKDB4MGMsIDB4MjApOwkJLyogT0NXMyBQb2xsIGNvbW1hbmQgKi8KLQlyZWFsaXJxID0gaW5iKDB4MjApOwotCi0JLyoKLQkgKiBCaXQgNyA9PSAwIG1lYW5zIGludmFsaWQvc3B1cmlvdXMKLQkgKi8KLQlpZiAodW5saWtlbHkoIShyZWFsaXJxICYgMHg4MCkpKQotCQlnb3RvIG91dF91bmxvY2s7Ci0KLQlyZWFsaXJxICY9IDc7Ci0KLQlpZiAodW5saWtlbHkocmVhbGlycSA9PSAyKSkgewotCQlvdXRiKDB4MGMsIDB4YTApOwotCQlyZWFsaXJxID0gaW5iKDB4YTApOwotCi0JCWlmICh1bmxpa2VseSghKHJlYWxpcnEgJiAweDgwKSkpCi0JCQlnb3RvIG91dF91bmxvY2s7Ci0KLQkJcmVhbGlycSA9IChyZWFsaXJxICYgNykgKyA4OwotCX0KLQotCS8qIG1hc2sgYW5kIGFjayBpbnRlcnJ1cHQgKi8KLQljYWNoZWRfaXJxX21hc2sgfD0gMSA8PCByZWFsaXJxOwotCWlmICh1bmxpa2VseShyZWFsaXJxID4gNykpIHsKLQkJaW5iKDB4YTEpOwotCQlvdXRiKGNhY2hlZF9zbGF2ZV9tYXNrLCAweGExKTsKLQkJb3V0YigweDYwICsgKHJlYWxpcnEgJiA3KSwgMHhhMCk7Ci0JCW91dGIoMHg2MCArIDIsIDB4MjApOwotCX0gZWxzZSB7Ci0JCWluYigweDIxKTsKLQkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIDB4MjEpOwotCQlvdXRiKDB4NjAgKyByZWFsaXJxLCAweDIwKTsKLQl9Ci0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCi0JZGVzYyA9IGlycV9kZXNjICsgcmVhbGlycTsKLQotCS8qCi0JICogaGFuZGxlIHRoaXMgJ3ZpcnR1YWwgaW50ZXJydXB0JyBhcyBhIENvYmFsdCBvbmUgbm93LgotCSAqLwotCWtzdGF0X2NwdShzbXBfcHJvY2Vzc29yX2lkKCkpLmlycXNbcmVhbGlycV0rKzsKLQotCWlmIChsaWtlbHkoZGVzYy0+YWN0aW9uICE9IE5VTEwpKQotCQloYW5kbGVfSVJRX2V2ZW50KHJlYWxpcnEsIGRlc2MtPmFjdGlvbik7Ci0KLQlpZiAoIShkZXNjLT5zdGF0dXMgJiBJUlFfRElTQUJMRUQpKQotCQllbmFibGVfODI1OUFfaXJxKHJlYWxpcnEpOwotCi0JcmV0dXJuIElSUV9IQU5ETEVEOwotCi1vdXRfdW5sb2NrOgotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIElSUV9OT05FOwotfQotCi1zdGF0aWMgc3RydWN0IGlycWFjdGlvbiBtYXN0ZXJfYWN0aW9uID0gewotCS5oYW5kbGVyID0JcGlpeDRfbWFzdGVyX2ludHIsCi0JLm5hbWUgPQkJIlBJSVg0LTgyNTkiLAotfTsKLQotc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gY2FzY2FkZV9hY3Rpb24gPSB7Ci0JLmhhbmRsZXIgPSAJbm9fYWN0aW9uLAotCS5uYW1lID0JCSJjYXNjYWRlIiwKLX07Ci0KLQotdm9pZCBpbml0X1ZJU1dTX0FQSUNfaXJxcyh2b2lkKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IENPX0lSUV9BUElDMCArIENPX0FQSUNfTEFTVCArIDE7IGkrKykgewotCQlpcnFfZGVzY1tpXS5zdGF0dXMgPSBJUlFfRElTQUJMRUQ7Ci0JCWlycV9kZXNjW2ldLmFjdGlvbiA9IDA7Ci0JCWlycV9kZXNjW2ldLmRlcHRoID0gMTsKLQotCQlpZiAoaSA9PSAwKSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKLQkJfQotCQllbHNlIGlmIChpID09IENPX0lSUV9JREUwKSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKLQkJfQotCQllbHNlIGlmIChpID09IENPX0lSUV9JREUxKSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKLQkJfQotCQllbHNlIGlmIChpID09IENPX0lSUV84MjU5KSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJnBpaXg0X21hc3Rlcl9pcnFfdHlwZTsKLQkJfQotCQllbHNlIGlmIChpIDwgQ09fSVJRX0FQSUMwKSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJnBpaXg0X3ZpcnR1YWxfaXJxX3R5cGU7Ci0JCX0KLQkJZWxzZSBpZiAoSVNfQ09fQVBJQyhpKSkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7Ci0JCX0KLQl9Ci0KLQlzZXR1cF9pcnEoQ09fSVJRXzgyNTksICZtYXN0ZXJfYWN0aW9uKTsKLQlzZXR1cF9pcnEoMiwgJmNhc2NhZGVfYWN0aW9uKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdm95YWdlci9zZXR1cC5jIGIvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3NldHVwLmMKaW5kZXggNWFlNTQ2Ni4uNmJiZGQ2MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3NldHVwLmMKKysrIGIvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3NldHVwLmMKQEAgLTYyLDYgKzYyLDcgQEAKIGNoYXIgKl9faW5pdCBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKQogewogCWNoYXIgKndobzsKKwlpbnQgbmV3X25yOwogCiAJd2hvID0gIk5PVCBWT1lBR0VSIjsKIApAQCAtNzMsNyArNzQsNyBAQAogCiAJCWU4MjAubnJfbWFwID0gMDsKIAkJZm9yIChpID0gMDsgdm95YWdlcl9tZW1vcnlfZGV0ZWN0KGksICZhZGRyLCAmbGVuZ3RoKTsgaSsrKSB7Ci0JCQlhZGRfbWVtb3J5X3JlZ2lvbihhZGRyLCBsZW5ndGgsIEU4MjBfUkFNKTsKKwkJCWU4MjBfYWRkX3JlZ2lvbihhZGRyLCBsZW5ndGgsIEU4MjBfUkFNKTsKIAkJfQogCQlyZXR1cm4gd2hvOwogCX0gZWxzZSBpZiAodm95YWdlcl9sZXZlbCA9PSA0KSB7CkBAIC05MSw0MyArOTIsMTcgQEAKIAkJCXRvbSA9IChib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2spIDw8IDEwOwogCQl9CiAJCXdobyA9ICJWb3lhZ2VyLVRPTSI7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKDAsIDB4OWYwMDAsIEU4MjBfUkFNKTsKKwkJZTgyMF9hZGRfcmVnaW9uKDAsIDB4OWYwMDAsIEU4MjBfUkFNKTsKIAkJLyogbWFwIGZyb20gMU0gdG8gdG9wIG9mIG1lbW9yeSAqLwotCQlhZGRfbWVtb3J5X3JlZ2lvbigxICogMTAyNCAqIDEwMjQsIHRvbSAtIDEgKiAxMDI0ICogMTAyNCwKKwkJZTgyMF9hZGRfcmVnaW9uKDEgKiAxMDI0ICogMTAyNCwgdG9tIC0gMSAqIDEwMjQgKiAxMDI0LAogCQkJCSAgRTgyMF9SQU0pOwogCQkvKiBGSVhNRTogU2hvdWxkIGNoZWNrIHRoZSBBU0lDcyB0byBzZWUgaWYgSSBuZWVkIHRvCiAJCSAqIHRha2Ugb3V0IHRoZSA4TSB3aW5kb3cuICBKdXN0IGRvIGl0IGF0IHRoZSBtb21lbnQKIAkJICogKi8KLQkJYWRkX21lbW9yeV9yZWdpb24oOCAqIDEwMjQgKiAxMDI0LCA4ICogMTAyNCAqIDEwMjQsCisJCWU4MjBfYWRkX3JlZ2lvbig4ICogMTAyNCAqIDEwMjQsIDggKiAxMDI0ICogMTAyNCwKIAkJCQkgIEU4MjBfUkVTRVJWRUQpOwogCQlyZXR1cm4gd2hvOwogCX0KIAotCXdobyA9ICJCSU9TLWU4MjAiOwotCi0JLyoKLQkgKiBUcnkgdG8gY29weSB0aGUgQklPUy1zdXBwbGllZCBFODIwLW1hcC4KLQkgKgotCSAqIE90aGVyd2lzZSBmYWtlIGEgbWVtb3J5IG1hcDsgb25lIHNlY3Rpb24gZnJvbSAway0+NjQwaywKLQkgKiB0aGUgbmV4dCBzZWN0aW9uIGZyb20gMW1iLT5hcHByb3ByaWF0ZV9tZW1fawotCSAqLwotCXNhbml0aXplX2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCAmYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKTsKLQlpZiAoY29weV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKQotCSAgICA8IDApIHsKLQkJdW5zaWduZWQgbG9uZyBtZW1fc2l6ZTsKLQotCQkvKiBjb21wYXJlIHJlc3VsdHMgZnJvbSBvdGhlciBtZXRob2RzIGFuZCB0YWtlIHRoZSBncmVhdGVyICovCi0JCWlmIChib290X3BhcmFtcy5hbHRfbWVtX2sgPCBib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2spIHsKLQkJCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rOwotCQkJd2hvID0gIkJJT1MtODgiOwotCQl9IGVsc2UgewotCQkJbWVtX3NpemUgPSBib290X3BhcmFtcy5hbHRfbWVtX2s7Ci0JCQl3aG8gPSAiQklPUy1lODAxIjsKLQkJfQotCi0JCWU4MjAubnJfbWFwID0gMDsKLQkJYWRkX21lbW9yeV9yZWdpb24oMCwgTE9XTUVNU0laRSgpLCBFODIwX1JBTSk7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKEhJR0hfTUVNT1JZLCBtZW1fc2l6ZSA8PCAxMCwgRTgyMF9SQU0pOwotCX0KLQlyZXR1cm4gd2hvOworCXJldHVybiBkZWZhdWx0X21hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvdm95YWdlcl9zbXAuYyBiL2FyY2gveDg2L21hY2gtdm95YWdlci92b3lhZ2VyX3NtcC5jCmluZGV4IDhhY2JmMGMuLmVlMGZiYTAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtdm95YWdlci92b3lhZ2VyX3NtcC5jCisrKyBiL2FyY2gveDg2L21hY2gtdm95YWdlci92b3lhZ2VyX3NtcC5jCkBAIC01OSwxMSArNTksNiBAQAogICogYWN0aXZpdHkgY291bnQuICBGaW5hbGx5IGV4cG9ydGVkIGJ5IGkzODZfa3N5bXMuYyAqLwogc3RhdGljIGludCB2b3lhZ2VyX2V4dGVuZGVkX2NwdXMgPSAxOwogCi0vKiBIYXZlIHdlIGZvdW5kIGFuIFNNUCBib3ggLSB1c2VkIGJ5IHRpbWUuYyB0byBkbyB0aGUgcHJvZmlsaW5nCi0gICBpbnRlcnJ1cHQgZm9yIHRpbWVzbGljaW5nOyBkbyBub3Qgc2V0IHRvIDEgdW50aWwgdGhlIHBlciBDUFUgdGltZXIKLSAgIGludGVycnVwdCBpcyBhY3RpdmUgKi8KLWludCBzbXBfZm91bmRfY29uZmlnID0gMDsKLQogLyogVXNlZCBmb3IgdGhlIGludmFsaWRhdGUgbWFwIHRoYXQncyBhbHNvIGNoZWNrZWQgaW4gdGhlIHNwaW5sb2NrICovCiBzdGF0aWMgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyBzbXBfaW52YWxpZGF0ZV9uZWVkZWQ7CiAKQEAgLTk1NSw5NCArOTUwLDI0IEBACiAJCWhhbHQoKTsKIH0KIAotc3RhdGljIERFRklORV9TUElOTE9DSyhjYWxsX2xvY2spOwotCi1zdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCXZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgc3RhcnRlZDsKLQl2b2xhdGlsZSB1bnNpZ25lZCBsb25nIGZpbmlzaGVkOwotCWludCB3YWl0OwotfTsKLQotc3RhdGljIHN0cnVjdCBjYWxsX2RhdGFfc3RydWN0ICpjYWxsX2RhdGE7Ci0KIC8qIGV4ZWN1dGUgYSB0aHJlYWQgb24gYSBuZXcgQ1BVLiAgVGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBtdXN0IGJlCiAgKiBwcmV2aW91c2x5IHNldCB1cC4gIFRoaXMgaXMgdXNlZCB0byBzY2hlZHVsZSBhIGZ1bmN0aW9uIGZvcgogICogZXhlY3V0aW9uIG9uIGFsbCBDUFVzIC0gc2V0IHVwIHRoZSBmdW5jdGlvbiB0aGVuIGJyb2FkY2FzdCBhCiAgKiBmdW5jdGlvbl9pbnRlcnJ1cHQgQ1BJIHRvIGNvbWUgaGVyZSBvbiBlYWNoIENQVSAqLwogc3RhdGljIHZvaWQgc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpCiB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSA9IGNhbGxfZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCS8qIG11c3QgdGFrZSBjb3B5IG9mIHdhaXQgYmVjYXVzZSBjYWxsX2RhdGEgbWF5IGJlIHJlcGxhY2VkCi0JICogdW5sZXNzIHRoZSBmdW5jdGlvbiBpcyB3YWl0aW5nIGZvciB1cyB0byBmaW5pc2ggKi8KLQlpbnQgd2FpdCA9IGNhbGxfZGF0YS0+d2FpdDsKLQlfX3U4IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQotCS8qCi0JICogTm90aWZ5IGluaXRpYXRpbmcgQ1BVIHRoYXQgSSd2ZSBncmFiYmVkIHRoZSBkYXRhIGFuZCBhbQotCSAqIGFib3V0IHRvIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uCi0JICovCi0JbWIoKTsKLQlpZiAoIXRlc3RfYW5kX2NsZWFyX2JpdChjcHUsICZjYWxsX2RhdGEtPnN0YXJ0ZWQpKSB7Ci0JCS8qIElmIHRoZSBiaXQgd2Fzbid0IHNldCwgdGhpcyBjb3VsZCBiZSBhIHJlcGxheSAqLwotCQlwcmludGsoS0VSTl9XQVJOSU5HICJWT1lBR0VSIFNNUDogQ1BVICVkIHJlY2VpdmVkIGNhbGwgZnVudGlvbiIKLQkJICAgICAgICIgd2l0aCBubyBjYWxsIHBlbmRpbmdcbiIsIGNwdSk7Ci0JCXJldHVybjsKLQl9Ci0JLyoKLQkgKiBBdCB0aGlzIHBvaW50IHRoZSBpbmZvIHN0cnVjdHVyZSBtYXkgYmUgb3V0IG9mIHNjb3BlIHVubGVzcyB3YWl0PT0xCi0JICovCiAJaXJxX2VudGVyKCk7Ci0JKCpmdW5jKSAoaW5mbyk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKIAlfX2dldF9jcHVfdmFyKGlycV9zdGF0KS5pcnFfY2FsbF9jb3VudCsrOwogCWlycV9leGl0KCk7Ci0JaWYgKHdhaXQpIHsKLQkJbWIoKTsKLQkJY2xlYXJfYml0KGNwdSwgJmNhbGxfZGF0YS0+ZmluaXNoZWQpOwotCX0KIH0KIAotc3RhdGljIGludAotdm95YWdlcl9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfdCBjcHVtYXNrLAotCQkJICAgICAgIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCB3YWl0KQorc3RhdGljIHZvaWQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCh2b2lkKQogewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JdTMyIG1hc2sgPSBjcHVzX2FkZHIoY3B1bWFzaylbMF07Ci0KLQltYXNrICY9IH4oMSA8PCBzbXBfcHJvY2Vzc29yX2lkKCkpOwotCi0JaWYgKCFtYXNrKQotCQlyZXR1cm4gMDsKLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JZGF0YS5zdGFydGVkID0gbWFzazsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlkYXRhLmZpbmlzaGVkID0gbWFzazsKLQotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQljYWxsX2RhdGEgPSAmZGF0YTsKLQl3bWIoKTsKLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBhbGwgb3RoZXIgQ1BVcyBhbmQgd2FpdCBmb3IgdGhlbSB0byByZXNwb25kICovCi0Jc2VuZF9DUEkobWFzaywgVklDX0NBTExfRlVOQ1RJT05fQ1BJKTsKLQotCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCi0Jd2hpbGUgKGRhdGEuc3RhcnRlZCkKLQkJYmFycmllcigpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChkYXRhLmZpbmlzaGVkKQotCQkJYmFycmllcigpOwotCi0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0KLQlyZXR1cm4gMDsKKwlpcnFfZW50ZXIoKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKKwlfX2dldF9jcHVfdmFyKGlycV9zdGF0KS5pcnFfY2FsbF9jb3VudCsrOworCWlycV9leGl0KCk7CiB9CiAKIC8qIFNvcnJ5IGFib3V0IHRoZSBuYW1lLiAgSW4gYW4gQVBJQyBiYXNlZCBzeXN0ZW0sIHRoZSBBUElDcwpAQCAtMTA5OSw2ICsxMDI0LDEyIEBACiAJc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiB9CiAKK3ZvaWQgc21wX3FpY19jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJYWNrX1FJQ19DUEkoUUlDX0NBTExfRlVOQ1RJT05fU0lOR0xFX0NQSSk7CisJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworfQorCiB2b2lkIHNtcF92aWNfY3BpX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAlzdHJ1Y3QgcHRfcmVncyAqb2xkX3JlZ3MgPSBzZXRfaXJxX3JlZ3MocmVncyk7CkBAIC0xMTE5LDYgKzEwNTAsOCBAQAogCQlzbXBfZW5hYmxlX2lycV9pbnRlcnJ1cHQoKTsKIAlpZiAodGVzdF9hbmRfY2xlYXJfYml0KFZJQ19DQUxMX0ZVTkNUSU9OX0NQSSwgJnZpY19jcGlfbWFpbGJveFtjcHVdKSkKIAkJc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChWSUNfQ0FMTF9GVU5DVElPTl9TSU5HTEVfQ1BJLCAmdmljX2NwaV9tYWlsYm94W2NwdV0pKQorCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CiAJc2V0X2lycV9yZWdzKG9sZF9yZWdzKTsKIH0KIApAQCAtMTEzNCwxNiArMTA2Nyw3IEBACiAvKiBmbHVzaCB0aGUgVExCIG9mIGV2ZXJ5IGFjdGl2ZSBDUFUgaW4gdGhlIHN5c3RlbSAqLwogdm9pZCBmbHVzaF90bGJfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZG9fZmx1c2hfdGxiX2FsbCwgMCwgMSwgMSk7Ci19Ci0KLS8qIHVzZWQgdG8gc2V0IHVwIHRoZSB0cmFtcG9saW5lIGZvciBvdGhlciBDUFVzIHdoZW4gdGhlIG1lbW9yeSBtYW5hZ2VyCi0gKiBpcyBzb3J0ZWQgb3V0ICovCi12b2lkIF9faW5pdCBzbXBfYWxsb2NfbWVtb3J5KHZvaWQpCi17Ci0JdHJhbXBvbGluZV9iYXNlID0gYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKLQlpZiAoX19wYSh0cmFtcG9saW5lX2Jhc2UpID49IDB4OTMwMDApCi0JCUJVRygpOworCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIDAsIDEpOwogfQogCiAvKiBzZW5kIGEgcmVzY2hlZHVsZSBDUEkgdG8gb25lIENQVSBieSBwaHlzaWNhbCBDUFUgbnVtYmVyKi8KQEAgLTExNzUsNyArMTA5OSw3IEBACiAvKiBicm9hZGNhc3QgYSBoYWx0IHRvIGFsbCBvdGhlciBDUFVzICovCiBzdGF0aWMgdm9pZCB2b3lhZ2VyX3NtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzbXBfc3RvcF9jcHVfZnVuY3Rpb24sIE5VTEwsIDEsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKHNtcF9zdG9wX2NwdV9mdW5jdGlvbiwgTlVMTCwgMSk7CiB9CiAKIC8qIHRoaXMgZnVuY3Rpb24gaXMgdHJpZ2dlcmVkIGluIHRpbWUuYyB3aGVuIGEgY2xvY2sgdGljayBmaXJlcwpAQCAtMTg2Miw1ICsxNzg2LDcgQEAKIAogCS5zbXBfc2VuZF9zdG9wID0gdm95YWdlcl9zbXBfc2VuZF9zdG9wLAogCS5zbXBfc2VuZF9yZXNjaGVkdWxlID0gdm95YWdlcl9zbXBfc2VuZF9yZXNjaGVkdWxlLAotCS5zbXBfY2FsbF9mdW5jdGlvbl9tYXNrID0gdm95YWdlcl9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrLAorCisJLnNlbmRfY2FsbF9mdW5jX2lwaSA9IG5hdGl2ZV9zZW5kX2NhbGxfZnVuY19pcGksCisJLnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkgPSBuYXRpdmVfc2VuZF9jYWxsX2Z1bmNfc2luZ2xlX2lwaSwKIH07CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYXRoLWVtdS9yZWdfY29uc3RhbnQuYyBiL2FyY2gveDg2L21hdGgtZW11L3JlZ19jb25zdGFudC5jCmluZGV4IDA0ODY5ZTYuLjAwNTQ4MzUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hdGgtZW11L3JlZ19jb25zdGFudC5jCisrKyBiL2FyY2gveDg2L21hdGgtZW11L3JlZ19jb25zdGFudC5jCkBAIC0xNiw4ICsxNiw4IEBACiAjaW5jbHVkZSAicmVnX2NvbnN0YW50LmgiCiAjaW5jbHVkZSAiY29udHJvbF93LmgiCiAKLSNkZWZpbmUgTUFLRV9SRUcocyxlLGwsaCkgeyBsLCBoLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKChFWFRFTkRFRF9FYmlhcysoZSkpIHwgKChTSUdOXyMjcyAhPSAwKSoweDgwMDApKSB9CisjZGVmaW5lIE1BS0VfUkVHKHMsIGUsIGwsIGgpIHsgbCwgaCwgXAorCQkoKEVYVEVOREVEX0ViaWFzKyhlKSkgfCAoKFNJR05fIyNzICE9IDApKjB4ODAwMCkpIH0KIAogRlBVX1JFRyBjb25zdCBDT05TVF8xID0gTUFLRV9SRUcoUE9TLCAwLCAweDAwMDAwMDAwLCAweDgwMDAwMDAwKTsKICNpZiAwCkBAIC00MCw3ICs0MCw3IEBACiBGUFVfUkVHIGNvbnN0IENPTlNUX1ogPSBNQUtFX1JFRyhQT1MsIEVYUF9VTkRFUiwgMHgwLCAweDApOwogCiAvKiBPbmx5IHRoZSBzaWduIGFuZCBzaWduaWZpY2FuZCAoYW5kIHRhZykgYXJlIHVzZWQgaW4gaW50ZXJuYWwgTmFOcyAqLwotLyogVGhlIDgwNDg2IG5ldmVyIGdlbmVyYXRlcyBvbmUgb2YgdGhlc2UgCisvKiBUaGUgODA0ODYgbmV2ZXIgZ2VuZXJhdGVzIG9uZSBvZiB0aGVzZQogRlBVX1JFRyBjb25zdCBDT05TVF9TTkFOID0gTUFLRV9SRUcoUE9TLCBFWFBfT1ZFUiwgMHgwMDAwMDAwMSwgMHg4MDAwMDAwMCk7CiAgKi8KIC8qIFRoaXMgaXMgdGhlIHJlYWwgaW5kZWZpbml0ZSBRTmFOICovCkBAIC00OSw3ICs0OSw3IEBACiAvKiBPbmx5IHRoZSBzaWduIChhbmQgdGFnKSBpcyB1c2VkIGluIGludGVybmFsIGluZmluaXRpZXMgKi8KIEZQVV9SRUcgY29uc3QgQ09OU1RfSU5GID0gTUFLRV9SRUcoUE9TLCBFWFBfT1ZFUiwgMHgwMDAwMDAwMCwgMHg4MDAwMDAwMCk7CiAKLXN0YXRpYyB2b2lkIGZsZF9jb25zdChGUFVfUkVHIGNvbnN0ICpjLCBpbnQgYWRqLCB1X2NoYXIgdGFnKQorc3RhdGljIHZvaWQgZmxkX2NvbnN0KEZQVV9SRUcgY29uc3QgKiBjLCBpbnQgYWRqLCB1X2NoYXIgdGFnKQogewogCUZQVV9SRUcgKnN0X25ld19wdHI7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL01ha2VmaWxlIGIvYXJjaC94ODYvbW0vTWFrZWZpbGUKaW5kZXggYjdiM2U0Yy4uOTg3MzcxNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvbW0vTWFrZWZpbGUKQEAgLTgsMTAgKzgsMTYgQEAKIAogb2JqLSQoQ09ORklHX0hJR0hNRU0pCQkrPSBoaWdobWVtXzMyLm8KIAorb2JqLSQoQ09ORklHX01NSU9UUkFDRV9IT09LUykJKz0ga21taW8ubworb2JqLSQoQ09ORklHX01NSU9UUkFDRSkJCSs9IG1taW90cmFjZS5vCittbWlvdHJhY2UteQkJCTo9IHBmX2luLm8gbW1pby1tb2Qubworb2JqLSQoQ09ORklHX01NSU9UUkFDRV9URVNUKQkrPSB0ZXN0bW1pb3RyYWNlLm8KKwogaWZlcSAoJChDT05GSUdfWDg2XzMyKSx5KQogb2JqLSQoQ09ORklHX05VTUEpCQkrPSBkaXNjb250aWdfMzIubwogZWxzZQogb2JqLSQoQ09ORklHX05VTUEpCQkrPSBudW1hXzY0Lm8KIG9iai0kKENPTkZJR19LOF9OVU1BKQkJKz0gazh0b3BvbG9neV82NC5vCi1vYmotJChDT05GSUdfQUNQSV9OVU1BKQkJKz0gc3JhdF82NC5vCiBlbmRpZgorb2JqLSQoQ09ORklHX0FDUElfTlVNQSkJCSs9IHNyYXRfJChCSVRTKS5vCisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2Rpc2NvbnRpZ18zMi5jIGIvYXJjaC94ODYvbW0vZGlzY29udGlnXzMyLmMKaW5kZXggOTE0Y2NmOS4uNWRmZWY5ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vZGlzY29udGlnXzMyLmMKKysrIGIvYXJjaC94ODYvbW0vZGlzY29udGlnXzMyLmMKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vbW16b25lLmg+CiAjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgorI2luY2x1ZGUgPGFzbS9wcm90by5oPgogCiBzdHJ1Y3QgcGdsaXN0X2RhdGEgKm5vZGVfZGF0YVtNQVhfTlVNTk9ERVNdIF9fcmVhZF9tb3N0bHk7CiBFWFBPUlRfU1lNQk9MKG5vZGVfZGF0YSk7CkBAIC01OSwxNCArNjAsMTQgQEAKIC8qCiAgKiA0KSBwaHlzbm9kZV9tYXAgICAgIC0gdGhlIG1hcHBpbmcgYmV0d2VlbiBhIHBmbiBhbmQgb3duaW5nIG5vZGUKICAqIHBoeXNub2RlX21hcCBrZWVwcyB0cmFjayBvZiB0aGUgcGh5c2ljYWwgbWVtb3J5IGxheW91dCBvZiBhIGdlbmVyaWMKLSAqIG51bWEgbm9kZSBvbiBhIDI1Nk1iIGJyZWFrIChlYWNoIGVsZW1lbnQgb2YgdGhlIGFycmF5IHdpbGwKLSAqIHJlcHJlc2VudCAyNTZNYiBvZiBtZW1vcnkgYW5kIHdpbGwgYmUgbWFya2VkIGJ5IHRoZSBub2RlIGlkLiAgc28sCisgKiBudW1hIG5vZGUgb24gYSA2NE1iIGJyZWFrIChlYWNoIGVsZW1lbnQgb2YgdGhlIGFycmF5IHdpbGwKKyAqIHJlcHJlc2VudCA2NE1iIG9mIG1lbW9yeSBhbmQgd2lsbCBiZSBtYXJrZWQgYnkgdGhlIG5vZGUgaWQuICBzbywKICAqIGlmIHRoZSBmaXJzdCBnaWcgaXMgb24gbm9kZSAwLCBhbmQgdGhlIHNlY29uZCBnaWcgaXMgb24gbm9kZSAxCiAgKiBwaHlzbm9kZV9tYXAgd2lsbCBjb250YWluOgogICoKLSAqICAgICBwaHlzbm9kZV9tYXBbMC0zXSA9IDA7Ci0gKiAgICAgcGh5c25vZGVfbWFwWzQtN10gPSAxOwotICogICAgIHBoeXNub2RlX21hcFs4LSBdID0gLTE7CisgKiAgICAgcGh5c25vZGVfbWFwWzAtMTVdID0gMDsKKyAqICAgICBwaHlzbm9kZV9tYXBbMTYtMzFdID0gMTsKKyAqICAgICBwaHlzbm9kZV9tYXBbMzItIF0gPSAtMTsKICAqLwogczggcGh5c25vZGVfbWFwW01BWF9FTEVNRU5UU10gX19yZWFkX21vc3RseSA9IHsgWzAgLi4uIChNQVhfRUxFTUVOVFMgLSAxKV0gPSAtMX07CiBFWFBPUlRfU1lNQk9MKHBoeXNub2RlX21hcCk7CkBAIC03NSwxNSArNzYsMTUgQEAKIHsKIAl1bnNpZ25lZCBsb25nIHBmbjsKIAotCXByaW50ayhLRVJOX0lORk8gIk5vZGU6ICVkLCBzdGFydF9wZm46ICVsZCwgZW5kX3BmbjogJWxkXG4iLAorCXByaW50ayhLRVJOX0lORk8gIk5vZGU6ICVkLCBzdGFydF9wZm46ICVseCwgZW5kX3BmbjogJWx4XG4iLAogCQkJbmlkLCBzdGFydCwgZW5kKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiICBTZXR0aW5nIHBoeXNub2RlX21hcCBhcnJheSB0byBub2RlICVkIGZvciBwZm5zOlxuIiwgbmlkKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiICAiKTsKIAlmb3IgKHBmbiA9IHN0YXJ0OyBwZm4gPCBlbmQ7IHBmbiArPSBQQUdFU19QRVJfRUxFTUVOVCkgewogCQlwaHlzbm9kZV9tYXBbcGZuIC8gUEFHRVNfUEVSX0VMRU1FTlRdID0gbmlkOwotCQlwcmludGsoIiVsZCAiLCBwZm4pOworCQlwcmludGsoS0VSTl9DT05UICIlbHggIiwgcGZuKTsKIAl9Ci0JcHJpbnRrKCJcbiIpOworCXByaW50ayhLRVJOX0NPTlQgIlxuIik7CiB9CiAKIHVuc2lnbmVkIGxvbmcgbm9kZV9tZW1tYXBfc2l6ZV9ieXRlcyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKQEAgLTk5LDcgKzEwMCw2IEBACiAjZW5kaWYKIAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZmluZF9tYXhfbG93X3Bmbih2b2lkKTsKLWV4dGVybiB2b2lkIGFkZF9vbmVfaGlnaHBhZ2VfaW5pdChzdHJ1Y3QgcGFnZSAqLCBpbnQsIGludCk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBoaWdoZW5kX3BmbiwgaGlnaHN0YXJ0X3BmbjsKIAogI2RlZmluZSBMQVJHRV9QQUdFX0JZVEVTIChQVFJTX1BFUl9QVEUgKiBQQUdFX1NJWkUpCkBAIC0xMTcsMTMgKzExNywxMyBAQAogICovCiBpbnQgX19pbml0IGdldF9tZW1jZmdfbnVtYV9mbGF0KHZvaWQpCiB7Ci0JcHJpbnRrKCJOVU1BIC0gc2luZ2xlIG5vZGUsIGZsYXQgbWVtb3J5IG1vZGVcbiIpOworCXByaW50ayhLRVJOX0RFQlVHICJOVU1BIC0gc2luZ2xlIG5vZGUsIGZsYXQgbWVtb3J5IG1vZGVcbiIpOwogCi0JLyogUnVuIHRoZSBtZW1vcnkgY29uZmlndXJhdGlvbiBhbmQgZmluZCB0aGUgdG9wIG9mIG1lbW9yeS4gKi8KLQlwcm9wYWdhdGVfZTgyMF9tYXAoKTsKIAlub2RlX3N0YXJ0X3BmblswXSA9IDA7CiAJbm9kZV9lbmRfcGZuWzBdID0gbWF4X3BmbjsKKwllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIG1heF9wZm4pOwogCW1lbW9yeV9wcmVzZW50KDAsIDAsIG1heF9wZm4pOworCW5vZGVfcmVtYXBfc2l6ZVswXSA9IG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMoMCwgMCwgbWF4X3Bmbik7CiAKICAgICAgICAgLyogSW5kaWNhdGUgdGhlcmUgaXMgb25lIG5vZGUgYXZhaWxhYmxlLiAqLwogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CkBAIC0xNTYsMjQgKzE1NiwzMiBAQAogICovCiBzdGF0aWMgdm9pZCBfX2luaXQgYWxsb2NhdGVfcGdkYXQoaW50IG5pZCkKIHsKLQlpZiAobmlkICYmIG5vZGVfaGFzX29ubGluZV9tZW0obmlkKSkKKwljaGFyIGJ1ZlsxNl07CisKKwlpZiAobm9kZV9oYXNfb25saW5lX21lbShuaWQpICYmIG5vZGVfcmVtYXBfc3RhcnRfdmFkZHJbbmlkXSkKIAkJTk9ERV9EQVRBKG5pZCkgPSAocGdfZGF0YV90ICopbm9kZV9yZW1hcF9zdGFydF92YWRkcltuaWRdOwogCWVsc2UgewotCQlOT0RFX0RBVEEobmlkKSA9IChwZ19kYXRhX3QgKikocGZuX3RvX2thZGRyKG1pbl9sb3dfcGZuKSk7Ci0JCW1pbl9sb3dfcGZuICs9IFBGTl9VUChzaXplb2YocGdfZGF0YV90KSk7CisJCXVuc2lnbmVkIGxvbmcgcGdkYXRfcGh5czsKKwkJcGdkYXRfcGh5cyA9IGZpbmRfZTgyMF9hcmVhKG1pbl9sb3dfcGZuPDxQQUdFX1NISUZULAorCQkJCSBtYXhfcGZuX21hcHBlZDw8UEFHRV9TSElGVCwKKwkJCQkgc2l6ZW9mKHBnX2RhdGFfdCksCisJCQkJIFBBR0VfU0laRSk7CisJCU5PREVfREFUQShuaWQpID0gKHBnX2RhdGFfdCAqKShwZm5fdG9fa2FkZHIocGdkYXRfcGh5cz4+UEFHRV9TSElGVCkpOworCQltZW1zZXQoYnVmLCAwLCBzaXplb2YoYnVmKSk7CisJCXNwcmludGYoYnVmLCAiTk9ERV9EQVRBICVkIiwgIG5pZCk7CisJCXJlc2VydmVfZWFybHkocGdkYXRfcGh5cywgcGdkYXRfcGh5cyArIHNpemVvZihwZ19kYXRhX3QpLCBidWYpOwogCX0KKwlwcmludGsoS0VSTl9ERUJVRyAiYWxsb2NhdGVfcGdkYXQ6IG5vZGUgJWQgTk9ERV9EQVRBICUwOGx4XG4iLAorCQluaWQsICh1bnNpZ25lZCBsb25nKU5PREVfREFUQShuaWQpKTsKIH0KIAotI2lmZGVmIENPTkZJR19ESVNDT05USUdNRU0KIC8qCi0gKiBJbiB0aGUgZGlzY29udGlnIG1lbW9yeSBtb2RlbCwgYSBwb3J0aW9uIG9mIHRoZSBrZXJuZWwgdmlydHVhbCBhcmVhIChLVkEpCi0gKiBpcyByZXNlcnZlZCBhbmQgcG9ydGlvbnMgb2Ygbm9kZXMgYXJlIG1hcHBlZCB1c2luZyBpdC4gVGhpcyBpcyB0byBhbGxvdwotICogbm9kZS1sb2NhbCBtZW1vcnkgdG8gYmUgYWxsb2NhdGVkIGZvciBzdHJ1Y3R1cmVzIHRoYXQgd291bGQgbm9ybWFsbHkgcmVxdWlyZQotICogWk9ORV9OT1JNQUwuIFRoZSBtZW1vcnkgaXMgYWxsb2NhdGVkIHdpdGggYWxsb2NfcmVtYXAoKSBhbmQgY2FsbGVycwotICogc2hvdWxkIGJlIHByZXBhcmVkIHRvIGFsbG9jYXRlIGZyb20gdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGluc3RlYWQuIFRoaXMgS1ZBCi0gKiBtZWNoYW5pc20gaXMgaW5jb21wYXRpYmxlIHdpdGggU1BBUlNFTUVNIGFzIGl0IG1ha2VzIGFzc3VtcHRpb25zIGFib3V0IHRoZQotICogbGF5b3V0IG9mIG1lbW9yeSB0aGF0IGFyZSBicm9rZW4gaWYgYWxsb2NfcmVtYXAoKSBzdWNjZWVkcyBmb3Igc29tZSBvZiB0aGUKLSAqIG1hcCBhbmQgZmFpbHMgZm9yIG90aGVycworICogSW4gdGhlIERJU0NPTlRJR01FTSBhbmQgU1BBUlNFTUVNIG1lbW9yeSBtb2RlbCwgYSBwb3J0aW9uIG9mIHRoZSBrZXJuZWwKKyAqIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSAoS1ZBKSBpcyByZXNlcnZlZCBhbmQgcG9ydGlvbnMgb2Ygbm9kZXMgYXJlIG1hcHBlZAorICogdXNpbmcgaXQuIFRoaXMgaXMgdG8gYWxsb3cgbm9kZS1sb2NhbCBtZW1vcnkgdG8gYmUgYWxsb2NhdGVkIGZvcgorICogc3RydWN0dXJlcyB0aGF0IHdvdWxkIG5vcm1hbGx5IHJlcXVpcmUgWk9ORV9OT1JNQUwuIFRoZSBtZW1vcnkgaXMKKyAqIGFsbG9jYXRlZCB3aXRoIGFsbG9jX3JlbWFwKCkgYW5kIGNhbGxlcnMgc2hvdWxkIGJlIHByZXBhcmVkIHRvIGFsbG9jYXRlCisgKiBmcm9tIHRoZSBib290bWVtIGFsbG9jYXRvciBpbnN0ZWFkLgogICovCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBub2RlX3JlbWFwX3N0YXJ0X3BmbltNQVhfTlVNTk9ERVNdOwogc3RhdGljIHZvaWQgKm5vZGVfcmVtYXBfZW5kX3ZhZGRyW01BWF9OVU1OT0RFU107CkBAIC0xOTUsMTUgKzIwMywxOSBAQAogCXJldHVybiBhbGxvY2F0aW9uOwogfQogCi12b2lkIF9faW5pdCByZW1hcF9udW1hX2t2YSh2b2lkKQorc3RhdGljIHZvaWQgX19pbml0IHJlbWFwX251bWFfa3ZhKHZvaWQpCiB7CiAJdm9pZCAqdmFkZHI7CiAJdW5zaWduZWQgbG9uZyBwZm47CiAJaW50IG5vZGU7CiAKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShub2RlKSB7CisJCXByaW50ayhLRVJOX0RFQlVHICJyZW1hcF9udW1hX2t2YTogbm9kZSAlZFxuIiwgbm9kZSk7CiAJCWZvciAocGZuPTA7IHBmbiA8IG5vZGVfcmVtYXBfc2l6ZVtub2RlXTsgcGZuICs9IFBUUlNfUEVSX1BURSkgewogCQkJdmFkZHIgPSBub2RlX3JlbWFwX3N0YXJ0X3ZhZGRyW25vZGVdKyhwZm48PFBBR0VfU0hJRlQpOworCQkJcHJpbnRrKEtFUk5fREVCVUcgInJlbWFwX251bWFfa3ZhOiAlMDhseCB0byBwZm4gJTA4bHhcbiIsCisJCQkJKHVuc2lnbmVkIGxvbmcpdmFkZHIsCisJCQkJbm9kZV9yZW1hcF9zdGFydF9wZm5bbm9kZV0gKyBwZm4pOwogCQkJc2V0X3BtZF9wZm4oKHVsb25nKSB2YWRkciwgCiAJCQkJbm9kZV9yZW1hcF9zdGFydF9wZm5bbm9kZV0gKyBwZm4sIAogCQkJCVBBR0VfS0VSTkVMX0xBUkdFKTsKQEAgLTIxNSwxNyArMjI3LDIxIEBACiB7CiAJaW50IG5pZDsKIAl1bnNpZ25lZCBsb25nIHNpemUsIHJlc2VydmVfcGFnZXMgPSAwOwotCXVuc2lnbmVkIGxvbmcgcGZuOwogCiAJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7Ci0JCXVuc2lnbmVkIG9sZF9lbmRfcGZuID0gbm9kZV9lbmRfcGZuW25pZF07CisJCXU2NCBub2RlX2t2YV90YXJnZXQ7CisJCXU2NCBub2RlX2t2YV9maW5hbDsKIAogCQkvKgogCQkgKiBUaGUgYWNwaS9zcmF0IG5vZGUgaW5mbyBjYW4gc2hvdyBob3QtYWRkIG1lbXJveSB6b25lcwogCQkgKiB3aGVyZSBtZW1vcnkgY291bGQgYmUgYWRkZWQgYnV0IG5vdCBjdXJyZW50bHkgcHJlc2VudC4KIAkJICovCisJCXByaW50ayhLRVJOX0RFQlVHICJub2RlICVkIHBmbjogWyVseCAtICVseF1cbiIsCisJCQluaWQsIG5vZGVfc3RhcnRfcGZuW25pZF0sIG5vZGVfZW5kX3BmbltuaWRdKTsKIAkJaWYgKG5vZGVfc3RhcnRfcGZuW25pZF0gPiBtYXhfcGZuKQogCQkJY29udGludWU7CisJCWlmICghbm9kZV9lbmRfcGZuW25pZF0pCisJCQljb250aW51ZTsKIAkJaWYgKG5vZGVfZW5kX3BmbltuaWRdID4gbWF4X3BmbikKIAkJCW5vZGVfZW5kX3BmbltuaWRdID0gbWF4X3BmbjsKIApAQCAtMjM3LDQxICsyNTMsNDggQEAKIAkJLyogbm93IHRoZSByb3VuZHVwIGlzIGNvcnJlY3QsIGNvbnZlcnQgdG8gUEFHRV9TSVpFIHBhZ2VzICovCiAJCXNpemUgPSBzaXplICogUFRSU19QRVJfUFRFOwogCi0JCS8qCi0JCSAqIFZhbGlkYXRlIHRoZSByZWdpb24gd2UgYXJlIGFsbG9jYXRpbmcgb25seSBjb250YWlucyB2YWxpZAotCQkgKiBwYWdlcy4KLQkJICovCi0JCWZvciAocGZuID0gbm9kZV9lbmRfcGZuW25pZF0gLSBzaXplOwotCQkgICAgIHBmbiA8IG5vZGVfZW5kX3BmbltuaWRdOyBwZm4rKykKLQkJCWlmICghcGFnZV9pc19yYW0ocGZuKSkKLQkJCQlicmVhazsKKwkJbm9kZV9rdmFfdGFyZ2V0ID0gcm91bmRfZG93bihub2RlX2VuZF9wZm5bbmlkXSAtIHNpemUsCisJCQkJCQkgUFRSU19QRVJfUFRFKTsKKwkJbm9kZV9rdmFfdGFyZ2V0IDw8PSBQQUdFX1NISUZUOworCQlkbyB7CisJCQlub2RlX2t2YV9maW5hbCA9IGZpbmRfZTgyMF9hcmVhKG5vZGVfa3ZhX3RhcmdldCwKKwkJCQkJKCh1NjQpbm9kZV9lbmRfcGZuW25pZF0pPDxQQUdFX1NISUZULAorCQkJCQkJKCh1NjQpc2l6ZSk8PFBBR0VfU0hJRlQsCisJCQkJCQlMQVJHRV9QQUdFX0JZVEVTKTsKKwkJCW5vZGVfa3ZhX3RhcmdldCAtPSBMQVJHRV9QQUdFX0JZVEVTOworCQl9IHdoaWxlIChub2RlX2t2YV9maW5hbCA9PSAtMVVMTCAmJgorCQkJIChub2RlX2t2YV90YXJnZXQ+PlBBR0VfU0hJRlQpID4gKG5vZGVfc3RhcnRfcGZuW25pZF0pKTsKIAotCQlpZiAocGZuICE9IG5vZGVfZW5kX3BmbltuaWRdKQotCQkJc2l6ZSA9IDA7CisJCWlmIChub2RlX2t2YV9maW5hbCA9PSAtMVVMTCkKKwkJCXBhbmljKCJDYW4gbm90IGdldCBrdmEgcmFtXG4iKTsKIAotCQlwcmludGsoIlJlc2VydmluZyAlbGQgcGFnZXMgb2YgS1ZBIGZvciBsbWVtX21hcCBvZiBub2RlICVkXG4iLAotCQkJCXNpemUsIG5pZCk7CiAJCW5vZGVfcmVtYXBfc2l6ZVtuaWRdID0gc2l6ZTsKIAkJbm9kZV9yZW1hcF9vZmZzZXRbbmlkXSA9IHJlc2VydmVfcGFnZXM7CiAJCXJlc2VydmVfcGFnZXMgKz0gc2l6ZTsKLQkJcHJpbnRrKCJTaHJpbmtpbmcgbm9kZSAlZCBmcm9tICVsZCBwYWdlcyB0byAlbGQgcGFnZXNcbiIsCi0JCQluaWQsIG5vZGVfZW5kX3BmbltuaWRdLCBub2RlX2VuZF9wZm5bbmlkXSAtIHNpemUpOworCQlwcmludGsoS0VSTl9ERUJVRyAiUmVzZXJ2aW5nICVsZCBwYWdlcyBvZiBLVkEgZm9yIGxtZW1fbWFwIG9mIgorCQkJCSAgIiBub2RlICVkIGF0ICVsbHhcbiIsCisJCQkJc2l6ZSwgbmlkLCBub2RlX2t2YV9maW5hbD4+UEFHRV9TSElGVCk7CiAKLQkJaWYgKG5vZGVfZW5kX3BmbltuaWRdICYgKFBUUlNfUEVSX1BURS0xKSkgewotCQkJLyoKLQkJCSAqIEFsaWduIG5vZGVfZW5kX3BmbltdIGFuZCBub2RlX3JlbWFwX3N0YXJ0X3BmbltdIHRvCi0JCQkgKiBwbWQgYm91bmRhcnkuIHJlbWFwX251bWFfa3ZhIHdpbGwgYmFyZiBvdGhlcndpc2UuCi0JCQkgKi8KLQkJCXByaW50aygiU2hyaW5raW5nIG5vZGUgJWQgZnVydGhlciBieSAlbGQgcGFnZXMgZm9yIHByb3BlciBhbGlnbm1lbnRcbiIsCi0JCQkJbmlkLCBub2RlX2VuZF9wZm5bbmlkXSAmIChQVFJTX1BFUl9QVEUtMSkpOwotCQkJc2l6ZSArPSAgbm9kZV9lbmRfcGZuW25pZF0gJiAoUFRSU19QRVJfUFRFLTEpOwotCQl9CisJCS8qCisJCSAqICBwcmV2ZW50IGt2YSBhZGRyZXNzIGJlbG93IG1heF9sb3dfcGZuIHdhbnQgaXQgb24gc3lzdGVtCisJCSAqICB3aXRoIGxlc3MgbWVtb3J5IGxhdGVyLgorCQkgKiAgbGF5b3V0IHdpbGwgYmU6IEtWQSBhZGRyZXNzICwgS1ZBIFJBTQorCQkgKgorCQkgKiAgd2UgYXJlIHN1cHBvc2VkIHRvIG9ubHkgcmVjb3JkIHRoZSBvbmUgbGVzcyB0aGVuIG1heF9sb3dfcGZuCisJCSAqICBidXQgd2UgY291bGQgaGF2ZSBzb21lIGhvbGUgaW4gaGlnaCBtZW1vcnksIGFuZCBpdCB3aWxsIG9ubHkKKwkJICogIGNoZWNrIHBhZ2VfaXNfcmFtKHBmbikgJiYgIXBhZ2VfaXNfcmVzZXJ2ZWRfZWFybHkocGZuKSB0byBkZWNpZGUKKwkJICogIHRvIHVzZSBpdCBhcyBmcmVlLgorCQkgKiAgU28gcmVzZXJ2ZV9lYXJseSBoZXJlLCBob3BlIHdlIGRvbid0IHJ1biBvdXQgb2YgdGhhdCBhcnJheQorCQkgKi8KKwkJcmVzZXJ2ZV9lYXJseShub2RlX2t2YV9maW5hbCwKKwkJCSAgICAgIG5vZGVfa3ZhX2ZpbmFsKygoKHU2NClzaXplKTw8UEFHRV9TSElGVCksCisJCQkgICAgICAiS1ZBIFJBTSIpOwogCi0JCW5vZGVfZW5kX3BmbltuaWRdIC09IHNpemU7Ci0JCW5vZGVfcmVtYXBfc3RhcnRfcGZuW25pZF0gPSBub2RlX2VuZF9wZm5bbmlkXTsKLQkJc2hyaW5rX2FjdGl2ZV9yYW5nZShuaWQsIG9sZF9lbmRfcGZuLCBub2RlX2VuZF9wZm5bbmlkXSk7CisJCW5vZGVfcmVtYXBfc3RhcnRfcGZuW25pZF0gPSBub2RlX2t2YV9maW5hbD4+UEFHRV9TSElGVDsKKwkJcmVtb3ZlX2FjdGl2ZV9yYW5nZShuaWQsIG5vZGVfcmVtYXBfc3RhcnRfcGZuW25pZF0sCisJCQkJCSBub2RlX3JlbWFwX3N0YXJ0X3BmbltuaWRdICsgc2l6ZSk7CiAJfQotCXByaW50aygiUmVzZXJ2aW5nIHRvdGFsIG9mICVsZCBwYWdlcyBmb3IgbnVtYSBLVkEgcmVtYXBcbiIsCisJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nIHRvdGFsIG9mICVseCBwYWdlcyBmb3IgbnVtYSBLVkEgcmVtYXBcbiIsCiAJCQlyZXNlcnZlX3BhZ2VzKTsKIAlyZXR1cm4gcmVzZXJ2ZV9wYWdlczsKIH0KQEAgLTI4NSwzNyArMzA4LDE2IEBACiAJbm9kZV9yZW1hcF9hbGxvY192YWRkcltuaWRdID0gbm9kZV9yZW1hcF9zdGFydF92YWRkcltuaWRdICsKIAkJQUxJR04oc2l6ZW9mKHBnX2RhdGFfdCksIFBBR0VfU0laRSk7CiAKLQlwcmludGsgKCJub2RlICVkIHdpbGwgcmVtYXAgdG8gdmFkZHIgJTA4bHggLSAlMDhseFxuIiwgbmlkLAorCXByaW50ayhLRVJOX0RFQlVHICJub2RlICVkIHdpbGwgcmVtYXAgdG8gdmFkZHIgJTA4bHggLSAlMDhseFxuIiwgbmlkLAogCQkodWxvbmcpIG5vZGVfcmVtYXBfc3RhcnRfdmFkZHJbbmlkXSwKLQkJKHVsb25nKSBwZm5fdG9fa2FkZHIoaGlnaHN0YXJ0X3BmbgotCQkgICArIG5vZGVfcmVtYXBfb2Zmc2V0W25pZF0gKyBub2RlX3JlbWFwX3NpemVbbmlkXSkpOwotfQotI2Vsc2UKLXZvaWQgKmFsbG9jX3JlbWFwKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKLXsKLQlyZXR1cm4gTlVMTDsKKwkJKHVsb25nKSBub2RlX3JlbWFwX2VuZF92YWRkcltuaWRdKTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgY2FsY3VsYXRlX251bWFfcmVtYXBfcGFnZXModm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgaW5pdF9yZW1hcF9hbGxvY2F0b3IoaW50IG5pZCkKLXsKLX0KLQotdm9pZCBfX2luaXQgcmVtYXBfbnVtYV9rdmEodm9pZCkKLXsKLX0KLSNlbmRpZiAvKiBDT05GSUdfRElTQ09OVElHTUVNICovCi0KLWV4dGVybiB2b2lkIHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpOwotdW5zaWduZWQgbG9uZyBfX2luaXQgc2V0dXBfbWVtb3J5KHZvaWQpCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJICB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCiB7CiAJaW50IG5pZDsKLQl1bnNpZ25lZCBsb25nIHN5c3RlbV9zdGFydF9wZm4sIHN5c3RlbV9tYXhfbG93X3BmbjsKLQl1bnNpZ25lZCBsb25nIHdhc3RlZF9wYWdlczsKKwlsb25nIGt2YV90YXJnZXRfcGZuOwogCiAJLyoKIAkgKiBXaGVuIG1hcHBpbmcgYSBOVU1BIG1hY2hpbmUgd2UgYWxsb2NhdGUgdGhlIG5vZGVfbWVtX21hcCBhcnJheXMKQEAgLTMyNCwxMDkgKzMyNiw3NyBAQAogCSAqIHRoaXMgc3BhY2UgYW5kIHVzZSBpdCB0byBhZGp1c3QgdGhlIGJvdW5kYXJ5IGJldHdlZW4gWk9ORV9OT1JNQUwKIAkgKiBhbmQgWk9ORV9ISUdITUVNLgogCSAqLworCiAJZ2V0X21lbWNmZ19udW1hKCk7CiAKLQlrdmFfcGFnZXMgPSBjYWxjdWxhdGVfbnVtYV9yZW1hcF9wYWdlcygpOworCWt2YV9wYWdlcyA9IHJvdW5kX3VwKGNhbGN1bGF0ZV9udW1hX3JlbWFwX3BhZ2VzKCksIFBUUlNfUEVSX1BURSk7CiAKLQkvKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMgcm91bmQgdXB3YXJkcyAqLwotCXN5c3RlbV9zdGFydF9wZm4gPSBtaW5fbG93X3BmbiA9IFBGTl9VUChpbml0X3BnX3RhYmxlc19lbmQpOworCWt2YV90YXJnZXRfcGZuID0gcm91bmRfZG93bihtYXhfbG93X3BmbiAtIGt2YV9wYWdlcywgUFRSU19QRVJfUFRFKTsKKwlkbyB7CisJCWt2YV9zdGFydF9wZm4gPSBmaW5kX2U4MjBfYXJlYShrdmFfdGFyZ2V0X3Bmbjw8UEFHRV9TSElGVCwKKwkJCQkJbWF4X2xvd19wZm48PFBBR0VfU0hJRlQsCisJCQkJCWt2YV9wYWdlczw8UEFHRV9TSElGVCwKKwkJCQkJUFRSU19QRVJfUFRFPDxQQUdFX1NISUZUKSA+PiBQQUdFX1NISUZUOworCQlrdmFfdGFyZ2V0X3BmbiAtPSBQVFJTX1BFUl9QVEU7CisJfSB3aGlsZSAoa3ZhX3N0YXJ0X3BmbiA9PSAtMVVMICYmIGt2YV90YXJnZXRfcGZuID4gbWluX2xvd19wZm4pOwogCi0Ja3ZhX3N0YXJ0X3BmbiA9IGZpbmRfbWF4X2xvd19wZm4oKSAtIGt2YV9wYWdlczsKKwlpZiAoa3ZhX3N0YXJ0X3BmbiA9PSAtMVVMKQorCQlwYW5pYygiQ2FuIG5vdCBnZXQga3ZhIHNwYWNlXG4iKTsKIAotI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAotCS8qIE51bWEga3ZhIGFyZWEgaXMgYmVsb3cgdGhlIGluaXRyZCAqLwotCWlmIChpbml0cmRfc3RhcnQpCi0JCWt2YV9zdGFydF9wZm4gPSBQRk5fRE9XTihpbml0cmRfc3RhcnQgLSBQQUdFX09GRlNFVCkKLQkJCS0ga3ZhX3BhZ2VzOwotI2VuZGlmCi0KLQkvKgotCSAqIFdlIHdhc3RlIHBhZ2VzIHBhc3QgYXQgdGhlIGVuZCBvZiB0aGUgS1ZBIGZvciBubyBnb29kIHJlYXNvbiBvdGhlcgotCSAqIHRoYW4gaG93IGl0IGlzIGxvY2F0ZWQuIFRoaXMgaXMgYmFkLgotCSAqLwotCXdhc3RlZF9wYWdlcyA9IGt2YV9zdGFydF9wZm4gJiAoUFRSU19QRVJfUFRFLTEpOwotCWt2YV9zdGFydF9wZm4gLT0gd2FzdGVkX3BhZ2VzOwotCWt2YV9wYWdlcyArPSB3YXN0ZWRfcGFnZXM7Ci0KLQlzeXN0ZW1fbWF4X2xvd19wZm4gPSBtYXhfbG93X3BmbiA9IGZpbmRfbWF4X2xvd19wZm4oKTsKLQlwcmludGsoImt2YV9zdGFydF9wZm4gfiAlbGQgZmluZF9tYXhfbG93X3BmbigpIH4gJWxkXG4iLAorCXByaW50ayhLRVJOX0lORk8gImt2YV9zdGFydF9wZm4gfiAlbHggbWF4X2xvd19wZm4gfiAlbHhcbiIsCiAJCWt2YV9zdGFydF9wZm4sIG1heF9sb3dfcGZuKTsKLQlwcmludGsoIm1heF9wZm4gPSAlbGRcbiIsIG1heF9wZm4pOworCXByaW50ayhLRVJOX0lORk8gIm1heF9wZm4gPSAlbHhcbiIsIG1heF9wZm4pOworCisJLyogYXZvaWQgY2xhc2ggd2l0aCBpbml0cmQgKi8KKwlyZXNlcnZlX2Vhcmx5KGt2YV9zdGFydF9wZm48PFBBR0VfU0hJRlQsCisJCSAgICAgIChrdmFfc3RhcnRfcGZuICsga3ZhX3BhZ2VzKTw8UEFHRV9TSElGVCwKKwkJICAgICAiS1ZBIFBHIik7CiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KIAloaWdoc3RhcnRfcGZuID0gaGlnaGVuZF9wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfcGZuID4gc3lzdGVtX21heF9sb3dfcGZuKQotCQloaWdoc3RhcnRfcGZuID0gc3lzdGVtX21heF9sb3dfcGZuOworCWlmIChtYXhfcGZuID4gbWF4X2xvd19wZm4pCisJCWhpZ2hzdGFydF9wZm4gPSBtYXhfbG93X3BmbjsKIAlwcmludGsoS0VSTl9OT1RJQ0UgIiVsZE1CIEhJR0hNRU0gYXZhaWxhYmxlLlxuIiwKIAkgICAgICAgcGFnZXNfdG9fbWIoaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuKSk7CiAJbnVtX3BoeXNwYWdlcyA9IGhpZ2hlbmRfcGZuOwogCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShoaWdoc3RhcnRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwogI2Vsc2UKLQludW1fcGh5c3BhZ2VzID0gc3lzdGVtX21heF9sb3dfcGZuOwotCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShzeXN0ZW1fbWF4X2xvd19wZm4gKiBQQUdFX1NJWkUgLSAxKSArIDE7CisJbnVtX3BoeXNwYWdlcyA9IG1heF9sb3dfcGZuOworCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShtYXhfbG93X3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKICNlbmRpZgogCXByaW50ayhLRVJOX05PVElDRSAiJWxkTUIgTE9XTUVNIGF2YWlsYWJsZS5cbiIsCi0JCQlwYWdlc190b19tYihzeXN0ZW1fbWF4X2xvd19wZm4pKTsKLQlwcmludGsoIm1pbl9sb3dfcGZuID0gJWxkLCBtYXhfbG93X3BmbiA9ICVsZCwgaGlnaHN0YXJ0X3BmbiA9ICVsZFxuIiwgCi0JCQltaW5fbG93X3BmbiwgbWF4X2xvd19wZm4sIGhpZ2hzdGFydF9wZm4pOworCQkJcGFnZXNfdG9fbWIobWF4X2xvd19wZm4pKTsKKwlwcmludGsoS0VSTl9ERUJVRyAibWF4X2xvd19wZm4gPSAlbHgsIGhpZ2hzdGFydF9wZm4gPSAlbHhcbiIsCisJCQltYXhfbG93X3BmbiwgaGlnaHN0YXJ0X3Bmbik7CiAKLQlwcmludGsoIkxvdyBtZW1vcnkgZW5kcyBhdCB2YWRkciAlMDhseFxuIiwKKwlwcmludGsoS0VSTl9ERUJVRyAiTG93IG1lbW9yeSBlbmRzIGF0IHZhZGRyICUwOGx4XG4iLAogCQkJKHVsb25nKSBwZm5fdG9fa2FkZHIobWF4X2xvd19wZm4pKTsKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKIAkJaW5pdF9yZW1hcF9hbGxvY2F0b3IobmlkKTsKIAogCQlhbGxvY2F0ZV9wZ2RhdChuaWQpOwogCX0KLQlwcmludGsoIkhpZ2ggbWVtb3J5IHN0YXJ0cyBhdCB2YWRkciAlMDhseFxuIiwKKwlyZW1hcF9udW1hX2t2YSgpOworCisJcHJpbnRrKEtFUk5fREVCVUcgIkhpZ2ggbWVtb3J5IHN0YXJ0cyBhdCB2YWRkciAlMDhseFxuIiwKIAkJCSh1bG9uZykgcGZuX3RvX2thZGRyKGhpZ2hzdGFydF9wZm4pKTsKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpCiAJCXByb3BhZ2F0ZV9lODIwX21hcF9ub2RlKG5pZCk7CiAKLQltZW1zZXQoTk9ERV9EQVRBKDApLCAwLCBzaXplb2Yoc3RydWN0IHBnbGlzdF9kYXRhKSk7CisJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKQorCQltZW1zZXQoTk9ERV9EQVRBKG5pZCksIDAsIHNpemVvZihzdHJ1Y3QgcGdsaXN0X2RhdGEpKTsKKwogCU5PREVfREFUQSgwKS0+YmRhdGEgPSAmbm9kZTBfYmRhdGE7CiAJc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3IoKTsKLQlyZXR1cm4gbWF4X2xvd19wZm47CiB9CiAKLXZvaWQgX19pbml0IG51bWFfa3ZhX3Jlc2VydmUodm9pZCkKLXsKLQlpZiAoa3ZhX3BhZ2VzKQotCQlyZXNlcnZlX2Jvb3RtZW0oUEZOX1BIWVMoa3ZhX3N0YXJ0X3BmbiksIFBGTl9QSFlTKGt2YV9wYWdlcyksCi0JCQkJQk9PVE1FTV9ERUZBVUxUKTsKLX0KLQotdm9pZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCi17Ci0JaW50IG5pZDsKLQl1bnNpZ25lZCBsb25nIG1heF96b25lX3BmbnNbTUFYX05SX1pPTkVTXTsKLQltZW1zZXQobWF4X3pvbmVfcGZucywgMCwgc2l6ZW9mKG1heF96b25lX3BmbnMpKTsKLQltYXhfem9uZV9wZm5zW1pPTkVfRE1BXSA9Ci0JCXZpcnRfdG9fcGh5cygoY2hhciAqKU1BWF9ETUFfQUREUkVTUykgPj4gUEFHRV9TSElGVDsKLQltYXhfem9uZV9wZm5zW1pPTkVfTk9STUFMXSA9IG1heF9sb3dfcGZuOwotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JbWF4X3pvbmVfcGZuc1taT05FX0hJR0hNRU1dID0gaGlnaGVuZF9wZm47Ci0jZW5kaWYKLQotCS8qIElmIFNSQVQgaGFzIG5vdCByZWdpc3RlcmVkIG1lbW9yeSwgcmVnaXN0ZXIgaXQgbm93ICovCi0JaWYgKGZpbmRfbWF4X3Bmbl93aXRoX2FjdGl2ZV9yZWdpb25zKCkgPT0gMCkgewotCQlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKLQkJCWlmIChub2RlX2hhc19vbmxpbmVfbWVtKG5pZCkpCi0JCQkJYWRkX2FjdGl2ZV9yYW5nZShuaWQsIG5vZGVfc3RhcnRfcGZuW25pZF0sCi0JCQkJCQkJbm9kZV9lbmRfcGZuW25pZF0pOwotCQl9Ci0JfQotCi0JZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7Ci0JcmV0dXJuOwotfQotCi12b2lkIF9faW5pdCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGludCBiYWRfcHBybykgCit2b2lkIF9faW5pdCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KHZvaWQpCiB7CiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KIAlzdHJ1Y3Qgem9uZSAqem9uZTsKLQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgbmlkOwogCiAJZm9yX2VhY2hfem9uZSh6b25lKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbm9kZV9wZm4sIHpvbmVfc3RhcnRfcGZuLCB6b25lX2VuZF9wZm47CisJCXVuc2lnbmVkIGxvbmcgem9uZV9zdGFydF9wZm4sIHpvbmVfZW5kX3BmbjsKIAogCQlpZiAoIWlzX2hpZ2htZW0oem9uZSkpCiAJCQljb250aW51ZTsKQEAgLTQzNCwxNiArNDA0LDEyIEBACiAJCXpvbmVfc3RhcnRfcGZuID0gem9uZS0+em9uZV9zdGFydF9wZm47CiAJCXpvbmVfZW5kX3BmbiA9IHpvbmVfc3RhcnRfcGZuICsgem9uZS0+c3Bhbm5lZF9wYWdlczsKIAotCQlwcmludGsoIkluaXRpYWxpemluZyAlcyBmb3Igbm9kZSAlZCAoJTA4bHg6JTA4bHgpXG4iLAotCQkJCXpvbmUtPm5hbWUsIHpvbmVfdG9fbmlkKHpvbmUpLAotCQkJCXpvbmVfc3RhcnRfcGZuLCB6b25lX2VuZF9wZm4pOworCQluaWQgPSB6b25lX3RvX25pZCh6b25lKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiSW5pdGlhbGl6aW5nICVzIGZvciBub2RlICVkICglMDhseDolMDhseClcbiIsCisJCQkJem9uZS0+bmFtZSwgbmlkLCB6b25lX3N0YXJ0X3Bmbiwgem9uZV9lbmRfcGZuKTsKIAotCQlmb3IgKG5vZGVfcGZuID0gem9uZV9zdGFydF9wZm47IG5vZGVfcGZuIDwgem9uZV9lbmRfcGZuOyBub2RlX3BmbisrKSB7Ci0JCQlpZiAoIXBmbl92YWxpZChub2RlX3BmbikpCi0JCQkJY29udGludWU7Ci0JCQlwYWdlID0gcGZuX3RvX3BhZ2Uobm9kZV9wZm4pOwotCQkJYWRkX29uZV9oaWdocGFnZV9pbml0KHBhZ2UsIG5vZGVfcGZuLCBiYWRfcHBybyk7Ci0JCX0KKwkJYWRkX2hpZ2hwYWdlc193aXRoX2FjdGl2ZV9yZWdpb25zKG5pZCwgem9uZV9zdGFydF9wZm4sCisJCQkJIHpvbmVfZW5kX3Bmbik7CiAJfQogCXRvdGFscmFtX3BhZ2VzICs9IHRvdGFsaGlnaF9wYWdlczsKICNlbmRpZgpAQCAtNDc2LDMgKzQ0Miw0IEBACiAKIEVYUE9SVF9TWU1CT0xfR1BMKG1lbW9yeV9hZGRfcGh5c2FkZHJfdG9fbmlkKTsKICNlbmRpZgorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9kdW1wX3BhZ2V0YWJsZXMuYyBiL2FyY2gveDg2L21tL2R1bXBfcGFnZXRhYmxlcy5jCmluZGV4IDJjMjRiZWEuLjBiYjBjYWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2R1bXBfcGFnZXRhYmxlcy5jCisrKyBiL2FyY2gveDg2L21tL2R1bXBfcGFnZXRhYmxlcy5jCkBAIC00Miw3ICs0Miw3IEBACiAJeyAwLCAiVXNlciBTcGFjZSIgfSwKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAJeyAweDgwMDAwMDAwMDAwMDAwMDBVTCwgIktlcm5lbCBTcGFjZSIgfSwKLQl7IDB4ZmZmZjgxMDAwMDAwMDAwMFVMLCAiTG93IEtlcm5lbCBNYXBwaW5nIiB9LAorCXsgUEFHRV9PRkZTRVQsCQkiTG93IEtlcm5lbCBNYXBwaW5nIiB9LAogCXsgVk1BTExPQ19TVEFSVCwgICAgICAgICJ2bWFsbG9jKCkgQXJlYSIgfSwKIAl7IFZNRU1NQVBfU1RBUlQsICAgICAgICAiVm1lbW1hcCIgfSwKIAl7IF9fU1RBUlRfS0VSTkVMX21hcCwgICAiSGlnaCBLZXJuZWwgTWFwcGluZyIgfSwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2ZhdWx0LmMgYi9hcmNoL3g4Ni9tbS9mYXVsdC5jCmluZGV4IDhiY2I2ZjQuLjQ1NWYzZmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2ZhdWx0LmMKKysrIGIvYXJjaC94ODYvbW0vZmF1bHQuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW1hbi5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CkBAIC00OSwxNyArNTAsMjMgQEAKICNkZWZpbmUgUEZfUlNWRAkJKDE8PDMpCiAjZGVmaW5lIFBGX0lOU1RSCSgxPDw0KQogCitzdGF0aWMgaW5saW5lIGludCBrbW1pb19mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBhZGRyKQoreworI2lmZGVmIENPTkZJR19NTUlPVFJBQ0VfSE9PS1MKKwlpZiAodW5saWtlbHkoaXNfa21taW9fYWN0aXZlKCkpKQorCQlpZiAoa21taW9faGFuZGxlcihyZWdzLCBhZGRyKSA9PSAxKQorCQkJcmV0dXJuIC0xOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50IG5vdGlmeV9wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogI2lmZGVmIENPTkZJR19LUFJPQkVTCiAJaW50IHJldCA9IDA7CiAKIAkvKiBrcHJvYmVfcnVubmluZygpIG5lZWRzIHNtcF9wcm9jZXNzb3JfaWQoKSAqLwotI2lmZGVmIENPTkZJR19YODZfMzIKIAlpZiAoIXVzZXJfbW9kZV92bShyZWdzKSkgewotI2Vsc2UKLQlpZiAoIXVzZXJfbW9kZShyZWdzKSkgewotI2VuZGlmCiAJCXByZWVtcHRfZGlzYWJsZSgpOwogCQlpZiAoa3Byb2JlX3J1bm5pbmcoKSAmJiBrcHJvYmVfZmF1bHRfaGFuZGxlcihyZWdzLCAxNCkpCiAJCQlyZXQgPSAxOwpAQCAtMzk2LDExICs0MDMsNyBAQAogCQlwcmludGsoS0VSTl9DT05UICJOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UiKTsKIAllbHNlCiAJCXByaW50ayhLRVJOX0NPTlQgInBhZ2luZyByZXF1ZXN0Iik7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCXByaW50ayhLRVJOX0NPTlQgIiBhdCAlMDhseFxuIiwgYWRkcmVzcyk7Ci0jZWxzZQotCXByaW50ayhLRVJOX0NPTlQgIiBhdCAlMDE2bHhcbiIsIGFkZHJlc3MpOwotI2VuZGlmCisJcHJpbnRrKEtFUk5fQ09OVCAiIGF0ICVwXG4iLCAodm9pZCAqKSBhZGRyZXNzKTsKIAlwcmludGsoS0VSTl9BTEVSVCAiSVA6Iik7CiAJcHJpbnRrX2FkZHJlc3MocmVncy0+aXAsIDEpOwogCWR1bXBfcGFnZXRhYmxlKGFkZHJlc3MpOwpAQCAtNjA2LDYgKzYwOSw4IEBACiAKIAlpZiAobm90aWZ5X3BhZ2VfZmF1bHQocmVncykpCiAJCXJldHVybjsKKwlpZiAodW5saWtlbHkoa21taW9fZmF1bHQocmVncywgYWRkcmVzcykpKQorCQlyZXR1cm47CiAKIAkvKgogCSAqIFdlIGZhdWx0LWluIGtlcm5lbC1zcGFjZSB2aXJ0dWFsIG1lbW9yeSBvbi1kZW1hbmQuIFRoZQpAQCAtODAwLDE0ICs4MDUsMTAgQEAKIAkJaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbCh0c2ssIFNJR1NFR1YpICYmCiAJCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKIAkJCXByaW50aygKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JCQkiJXMlc1slZF06IHNlZ2ZhdWx0IGF0ICVseCBpcCAlMDhseCBzcCAlMDhseCBlcnJvciAlbHgiLAotI2Vsc2UKLQkJCSIlcyVzWyVkXTogc2VnZmF1bHQgYXQgJWx4IGlwICVseCBzcCAlbHggZXJyb3IgJWx4IiwKLSNlbmRpZgorCQkJIiVzJXNbJWRdOiBzZWdmYXVsdCBhdCAlbHggaXAgJXAgc3AgJXAgZXJyb3IgJWx4IiwKIAkJCXRhc2tfcGlkX25yKHRzaykgPiAxID8gS0VSTl9JTkZPIDogS0VSTl9FTUVSRywKLQkJCXRzay0+Y29tbSwgdGFza19waWRfbnIodHNrKSwgYWRkcmVzcywgcmVncy0+aXAsCi0JCQlyZWdzLT5zcCwgZXJyb3JfY29kZSk7CisJCQl0c2stPmNvbW0sIHRhc2tfcGlkX25yKHRzayksIGFkZHJlc3MsCisJCQkodm9pZCAqKSByZWdzLT5pcCwgKHZvaWQgKikgcmVncy0+c3AsIGVycm9yX2NvZGUpOwogCQkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7CiAJCQlwcmludGsoIlxuIik7CiAJCX0KQEAgLTkxNSwxNCArOTE2LDcgQEAKIHZvaWQgdm1hbGxvY19zeW5jX2FsbCh2b2lkKQogewogI2lmZGVmIENPTkZJR19YODZfMzIKLQkvKgotCSAqIE5vdGUgdGhhdCByYWNlcyBpbiB0aGUgdXBkYXRlcyBvZiBpbnN5bmMgYW5kIHN0YXJ0IGFyZW4ndAotCSAqIHByb2JsZW1hdGljOiBpbnN5bmMgY2FuIG9ubHkgZ2V0IHNldCBiaXRzIGFkZGVkLCBhbmQgdXBkYXRlcyB0bwotCSAqIHN0YXJ0IGFyZSBvbmx5IGltcHJvdmluZyBwZXJmb3JtYW5jZSAod2l0aG91dCBhZmZlY3RpbmcgY29ycmVjdG5lc3MKLQkgKiBpZiB1bmRvbmUpLgotCSAqLwotCXN0YXRpYyBERUNMQVJFX0JJVE1BUChpbnN5bmMsIFBUUlNfUEVSX1BHRCk7Ci0Jc3RhdGljIHVuc2lnbmVkIGxvbmcgc3RhcnQgPSBUQVNLX1NJWkU7CisJdW5zaWduZWQgbG9uZyBzdGFydCA9IFZNQUxMT0NfU1RBUlQgJiBQR0RJUl9NQVNLOwogCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsKIAogCWlmIChTSEFSRURfS0VSTkVMX1BNRCkKQEAgLTkzMCw1NiArOTI0LDM4IEBACiAKIAlCVUlMRF9CVUdfT04oVEFTS19TSVpFICYgflBHRElSX01BU0spOwogCWZvciAoYWRkcmVzcyA9IHN0YXJ0OyBhZGRyZXNzID49IFRBU0tfU0laRTsgYWRkcmVzcyArPSBQR0RJUl9TSVpFKSB7Ci0JCWlmICghdGVzdF9iaXQocGdkX2luZGV4KGFkZHJlc3MpLCBpbnN5bmMpKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCQkJc3RydWN0IHBhZ2UgKnBhZ2U7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJCXN0cnVjdCBwYWdlICpwYWdlOwogCi0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKLQkJCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKLQkJCQlpZiAoIXZtYWxsb2Nfc3luY19vbmUocGFnZV9hZGRyZXNzKHBhZ2UpLAotCQkJCQkJICAgICAgYWRkcmVzcykpCi0JCQkJCWJyZWFrOwotCQkJfQotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKLQkJCWlmICghcGFnZSkKLQkJCQlzZXRfYml0KHBnZF9pbmRleChhZGRyZXNzKSwgaW5zeW5jKTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKKwkJCWlmICghdm1hbGxvY19zeW5jX29uZShwYWdlX2FkZHJlc3MocGFnZSksCisJCQkJCSAgICAgIGFkZHJlc3MpKQorCQkJCWJyZWFrOwogCQl9Ci0JCWlmIChhZGRyZXNzID09IHN0YXJ0ICYmIHRlc3RfYml0KHBnZF9pbmRleChhZGRyZXNzKSwgaW5zeW5jKSkKLQkJCXN0YXJ0ID0gYWRkcmVzcyArIFBHRElSX1NJWkU7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7CiAJfQogI2Vsc2UgLyogQ09ORklHX1g4Nl82NCAqLwotCS8qCi0JICogTm90ZSB0aGF0IHJhY2VzIGluIHRoZSB1cGRhdGVzIG9mIGluc3luYyBhbmQgc3RhcnQgYXJlbid0Ci0JICogcHJvYmxlbWF0aWM6IGluc3luYyBjYW4gb25seSBnZXQgc2V0IGJpdHMgYWRkZWQsIGFuZCB1cGRhdGVzIHRvCi0JICogc3RhcnQgYXJlIG9ubHkgaW1wcm92aW5nIHBlcmZvcm1hbmNlICh3aXRob3V0IGFmZmVjdGluZyBjb3JyZWN0bmVzcwotCSAqIGlmIHVuZG9uZSkuCi0JICovCi0Jc3RhdGljIERFQ0xBUkVfQklUTUFQKGluc3luYywgUFRSU19QRVJfUEdEKTsKLQlzdGF0aWMgdW5zaWduZWQgbG9uZyBzdGFydCA9IFZNQUxMT0NfU1RBUlQgJiBQR0RJUl9NQVNLOworCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBWTUFMTE9DX1NUQVJUICYgUEdESVJfTUFTSzsKIAl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CiAKIAlmb3IgKGFkZHJlc3MgPSBzdGFydDsgYWRkcmVzcyA8PSBWTUFMTE9DX0VORDsgYWRkcmVzcyArPSBQR0RJUl9TSVpFKSB7Ci0JCWlmICghdGVzdF9iaXQocGdkX2luZGV4KGFkZHJlc3MpLCBpbnN5bmMpKSB7Ci0JCQljb25zdCBwZ2RfdCAqcGdkX3JlZiA9IHBnZF9vZmZzZXRfayhhZGRyZXNzKTsKLQkJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwkJY29uc3QgcGdkX3QgKnBnZF9yZWYgPSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcyk7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJCXN0cnVjdCBwYWdlICpwYWdlOwogCi0JCQlpZiAocGdkX25vbmUoKnBnZF9yZWYpKQotCQkJCWNvbnRpbnVlOwotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7Ci0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhZ2UsICZwZ2RfbGlzdCwgbHJ1KSB7Ci0JCQkJcGdkX3QgKnBnZDsKLQkJCQlwZ2QgPSAocGdkX3QgKilwYWdlX2FkZHJlc3MocGFnZSkgKyBwZ2RfaW5kZXgoYWRkcmVzcyk7Ci0JCQkJaWYgKHBnZF9ub25lKCpwZ2QpKQotCQkJCQlzZXRfcGdkKHBnZCwgKnBnZF9yZWYpOwotCQkJCWVsc2UKLQkJCQkJQlVHX09OKHBnZF9wYWdlX3ZhZGRyKCpwZ2QpICE9IHBnZF9wYWdlX3ZhZGRyKCpwZ2RfcmVmKSk7Ci0JCQl9Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwZ2RfbG9jaywgZmxhZ3MpOwotCQkJc2V0X2JpdChwZ2RfaW5kZXgoYWRkcmVzcyksIGluc3luYyk7CisJCWlmIChwZ2Rfbm9uZSgqcGdkX3JlZikpCisJCQljb250aW51ZTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKKwkJCXBnZF90ICpwZ2Q7CisJCQlwZ2QgPSAocGdkX3QgKilwYWdlX2FkZHJlc3MocGFnZSkgKyBwZ2RfaW5kZXgoYWRkcmVzcyk7CisJCQlpZiAocGdkX25vbmUoKnBnZCkpCisJCQkJc2V0X3BnZChwZ2QsICpwZ2RfcmVmKTsKKwkJCWVsc2UKKwkJCQlCVUdfT04ocGdkX3BhZ2VfdmFkZHIoKnBnZCkgIT0gcGdkX3BhZ2VfdmFkZHIoKnBnZF9yZWYpKTsKIAkJfQotCQlpZiAoYWRkcmVzcyA9PSBzdGFydCkKLQkJCXN0YXJ0ID0gYWRkcmVzcyArIFBHRElSX1NJWkU7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7CiAJfQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9pbml0XzMyLmMgYi9hcmNoL3g4Ni9tbS9pbml0XzMyLmMKaW5kZXggZWMzMGQxMC4uOTY4OWE1MSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vaW5pdF8zMi5jCisrKyBiL2FyY2gveDg2L21tL2luaXRfMzIuYwpAQCAtNTAsNiArNTAsNyBAQAogCiB1bnNpZ25lZCBpbnQgX19WTUFMTE9DX1JFU0VSVkUgPSAxMjggPDwgMjA7CiAKK3Vuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm5fbWFwcGVkOwogdW5zaWduZWQgbG9uZyBtYXhfcGZuX21hcHBlZDsKIAogREVGSU5FX1BFUl9DUFUoc3RydWN0IG1tdV9nYXRoZXIsIG1tdV9nYXRoZXJzKTsKQEAgLTU3LDYgKzU4LDI3IEBACiAKIHN0YXRpYyBub2lubGluZSBpbnQgZG9fdGVzdF93cF9iaXQodm9pZCk7CiAKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSB0YWJsZV9zdGFydDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdGRhdGEgdGFibGVfZW5kOworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0ZGF0YSB0YWJsZV90b3A7CisKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBhZnRlcl9pbml0X2Jvb3RtZW07CisKK3N0YXRpYyBfX2luaXQgdm9pZCAqYWxsb2NfbG93X3BhZ2UodW5zaWduZWQgbG9uZyAqcGh5cykKK3sKKwl1bnNpZ25lZCBsb25nIHBmbiA9IHRhYmxlX2VuZCsrOworCXZvaWQgKmFkcjsKKworCWlmIChwZm4gPj0gdGFibGVfdG9wKQorCQlwYW5pYygiYWxsb2NfbG93X3BhZ2U6IHJhbiBvdXQgb2YgbWVtb3J5Iik7CisKKwlhZHIgPSBfX3ZhKHBmbiAqIFBBR0VfU0laRSk7CisJbWVtc2V0KGFkciwgMCwgUEFHRV9TSVpFKTsKKwkqcGh5cyAgPSBwZm4gKiBQQUdFX1NJWkU7CisJcmV0dXJuIGFkcjsKK30KKwogLyoKICAqIENyZWF0ZXMgYSBtaWRkbGUgcGFnZSB0YWJsZSBhbmQgcHV0cyBhIHBvaW50ZXIgdG8gaXQgaW4gdGhlCiAgKiBnaXZlbiBnbG9iYWwgZGlyZWN0b3J5IGVudHJ5LiBUaGlzIG9ubHkgcmV0dXJucyB0aGUgZ2QgZW50cnkKQEAgLTY4LDkgKzkwLDEyIEBACiAJcG1kX3QgKnBtZF90YWJsZTsKIAogI2lmZGVmIENPTkZJR19YODZfUEFFCisJdW5zaWduZWQgbG9uZyBwaHlzOwogCWlmICghKHBnZF92YWwoKnBnZCkgJiBfUEFHRV9QUkVTRU5UKSkgewotCQlwbWRfdGFibGUgPSAocG1kX3QgKikgYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKLQorCQlpZiAoYWZ0ZXJfaW5pdF9ib290bWVtKQorCQkJcG1kX3RhYmxlID0gKHBtZF90ICopYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKKwkJZWxzZQorCQkJcG1kX3RhYmxlID0gKHBtZF90ICopYWxsb2NfbG93X3BhZ2UoJnBoeXMpOwogCQlwYXJhdmlydF9hbGxvY19wbWQoJmluaXRfbW0sIF9fcGEocG1kX3RhYmxlKSA+PiBQQUdFX1NISUZUKTsKIAkJc2V0X3BnZChwZ2QsIF9fcGdkKF9fcGEocG1kX3RhYmxlKSB8IF9QQUdFX1BSRVNFTlQpKTsKIAkJcHVkID0gcHVkX29mZnNldChwZ2QsIDApOwpAQCAtOTIsMTIgKzExNywxNiBAQAogCWlmICghKHBtZF92YWwoKnBtZCkgJiBfUEFHRV9QUkVTRU5UKSkgewogCQlwdGVfdCAqcGFnZV90YWJsZSA9IE5VTEw7CiAKKwkJaWYgKGFmdGVyX2luaXRfYm9vdG1lbSkgewogI2lmZGVmIENPTkZJR19ERUJVR19QQUdFQUxMT0MKLQkJcGFnZV90YWJsZSA9IChwdGVfdCAqKSBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7CisJCQlwYWdlX3RhYmxlID0gKHB0ZV90ICopIGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKICNlbmRpZgotCQlpZiAoIXBhZ2VfdGFibGUpIHsKLQkJCXBhZ2VfdGFibGUgPQorCQkJaWYgKCFwYWdlX3RhYmxlKQorCQkJCXBhZ2VfdGFibGUgPQogCQkJCShwdGVfdCAqKWFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7CisJCX0gZWxzZSB7CisJCQl1bnNpZ25lZCBsb25nIHBoeXM7CisJCQlwYWdlX3RhYmxlID0gKHB0ZV90ICopYWxsb2NfbG93X3BhZ2UoJnBoeXMpOwogCQl9CiAKIAkJcGFyYXZpcnRfYWxsb2NfcHRlKCZpbml0X21tLCBfX3BhKHBhZ2VfdGFibGUpID4+IFBBR0VfU0hJRlQpOwpAQCAtMTU1LDM4ICsxODQsNDQgQEAKICAqIG9mIG1heF9sb3dfcGZuIHBhZ2VzLCBieSBjcmVhdGluZyBwYWdlIHRhYmxlcyBzdGFydGluZyBmcm9tIGFkZHJlc3MKICAqIFBBR0VfT0ZGU0VUOgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQga2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdChwZ2RfdCAqcGdkX2Jhc2UpCitzdGF0aWMgdm9pZCBfX2luaXQga2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdChwZ2RfdCAqcGdkX2Jhc2UsCisJCQkJCQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgZW5kX3BmbiwKKwkJCQkJCWludCB1c2VfcHNlKQogewogCWludCBwZ2RfaWR4LCBwbWRfaWR4LCBwdGVfb2ZzOwogCXVuc2lnbmVkIGxvbmcgcGZuOwogCXBnZF90ICpwZ2Q7CiAJcG1kX3QgKnBtZDsKIAlwdGVfdCAqcHRlOworCXVuc2lnbmVkIHBhZ2VzXzJtID0gMCwgcGFnZXNfNGsgPSAwOwogCi0JcGdkX2lkeCA9IHBnZF9pbmRleChQQUdFX09GRlNFVCk7CisJaWYgKCFjcHVfaGFzX3BzZSkKKwkJdXNlX3BzZSA9IDA7CisKKwlwZm4gPSBzdGFydF9wZm47CisJcGdkX2lkeCA9IHBnZF9pbmRleCgocGZuPDxQQUdFX1NISUZUKSArIFBBR0VfT0ZGU0VUKTsKIAlwZ2QgPSBwZ2RfYmFzZSArIHBnZF9pZHg7Ci0JcGZuID0gMDsKLQogCWZvciAoOyBwZ2RfaWR4IDwgUFRSU19QRVJfUEdEOyBwZ2QrKywgcGdkX2lkeCsrKSB7CiAJCXBtZCA9IG9uZV9tZF90YWJsZV9pbml0KHBnZCk7Ci0JCWlmIChwZm4gPj0gbWF4X2xvd19wZm4pCi0JCQljb250aW51ZTsKIAotCQlmb3IgKHBtZF9pZHggPSAwOwotCQkgICAgIHBtZF9pZHggPCBQVFJTX1BFUl9QTUQgJiYgcGZuIDwgbWF4X2xvd19wZm47CisJCWlmIChwZm4gPj0gZW5kX3BmbikKKwkJCWNvbnRpbnVlOworI2lmZGVmIENPTkZJR19YODZfUEFFCisJCXBtZF9pZHggPSBwbWRfaW5kZXgoKHBmbjw8UEFHRV9TSElGVCkgKyBQQUdFX09GRlNFVCk7CisJCXBtZCArPSBwbWRfaWR4OworI2Vsc2UKKwkJcG1kX2lkeCA9IDA7CisjZW5kaWYKKwkJZm9yICg7IHBtZF9pZHggPCBQVFJTX1BFUl9QTUQgJiYgcGZuIDwgZW5kX3BmbjsKIAkJICAgICBwbWQrKywgcG1kX2lkeCsrKSB7CiAJCQl1bnNpZ25lZCBpbnQgYWRkciA9IHBmbiAqIFBBR0VfU0laRSArIFBBR0VfT0ZGU0VUOwogCiAJCQkvKgogCQkJICogTWFwIHdpdGggYmlnIHBhZ2VzIGlmIHBvc3NpYmxlLCBvdGhlcndpc2UKIAkJCSAqIGNyZWF0ZSBub3JtYWwgcGFnZSB0YWJsZXM6Ci0JCQkgKgotCQkJICogRG9uJ3QgdXNlIGEgbGFyZ2UgcGFnZSBmb3IgdGhlIGZpcnN0IDIvNE1CIG9mIG1lbW9yeQotCQkJICogYmVjYXVzZSB0aGVyZSBhcmUgb2Z0ZW4gZml4ZWQgc2l6ZSBNVFJScyBpbiB0aGVyZQotCQkJICogYW5kIG92ZXJsYXBwaW5nIE1UUlJzIGludG8gbGFyZ2UgcGFnZXMgY2FuIGNhdXNlCi0JCQkgKiBzbG93ZG93bnMuCiAJCQkgKi8KLQkJCWlmIChjcHVfaGFzX3BzZSAmJiAhKHBnZF9pZHggPT0gMCAmJiBwbWRfaWR4ID09IDApKSB7CisJCQlpZiAodXNlX3BzZSkgewogCQkJCXVuc2lnbmVkIGludCBhZGRyMjsKIAkJCQlwZ3Byb3RfdCBwcm90ID0gUEFHRV9LRVJORUxfTEFSR0U7CiAKQEAgLTE5NywzNCArMjMyLDMwIEBACiAJCQkJICAgIGlzX2tlcm5lbF90ZXh0KGFkZHIyKSkKIAkJCQkJcHJvdCA9IFBBR0VfS0VSTkVMX0xBUkdFX0VYRUM7CiAKKwkJCQlwYWdlc18ybSsrOwogCQkJCXNldF9wbWQocG1kLCBwZm5fcG1kKHBmbiwgcHJvdCkpOwogCiAJCQkJcGZuICs9IFBUUlNfUEVSX1BURTsKLQkJCQltYXhfcGZuX21hcHBlZCA9IHBmbjsKIAkJCQljb250aW51ZTsKIAkJCX0KIAkJCXB0ZSA9IG9uZV9wYWdlX3RhYmxlX2luaXQocG1kKTsKIAotCQkJZm9yIChwdGVfb2ZzID0gMDsKLQkJCSAgICAgcHRlX29mcyA8IFBUUlNfUEVSX1BURSAmJiBwZm4gPCBtYXhfbG93X3BmbjsKKwkJCXB0ZV9vZnMgPSBwdGVfaW5kZXgoKHBmbjw8UEFHRV9TSElGVCkgKyBQQUdFX09GRlNFVCk7CisJCQlwdGUgKz0gcHRlX29mczsKKwkJCWZvciAoOyBwdGVfb2ZzIDwgUFRSU19QRVJfUFRFICYmIHBmbiA8IGVuZF9wZm47CiAJCQkgICAgIHB0ZSsrLCBwZm4rKywgcHRlX29mcysrLCBhZGRyICs9IFBBR0VfU0laRSkgewogCQkJCXBncHJvdF90IHByb3QgPSBQQUdFX0tFUk5FTDsKIAogCQkJCWlmIChpc19rZXJuZWxfdGV4dChhZGRyKSkKIAkJCQkJcHJvdCA9IFBBR0VfS0VSTkVMX0VYRUM7CiAKKwkJCQlwYWdlc180aysrOwogCQkJCXNldF9wdGUocHRlLCBwZm5fcHRlKHBmbiwgcHJvdCkpOwogCQkJfQotCQkJbWF4X3Bmbl9tYXBwZWQgPSBwZm47CiAJCX0KIAl9Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHBhZ2Vfa2lsbHNfcHBybyh1bnNpZ25lZCBsb25nIHBhZ2VucikKLXsKLQlpZiAocGFnZW5yID49IDB4NzAwMDAgJiYgcGFnZW5yIDw9IDB4NzAwM0YpCi0JCXJldHVybiAxOwotCXJldHVybiAwOworCXVwZGF0ZV9wYWdlX2NvdW50KFBHX0xFVkVMXzJNLCBwYWdlc18ybSk7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfNEssIHBhZ2VzXzRrKTsKIH0KIAogLyoKQEAgLTI4NywyOSArMzE4LDYyIEBACiAJcGttYXBfcGFnZV90YWJsZSA9IHB0ZTsKIH0KIAotdm9pZCBfX2luaXQgYWRkX29uZV9oaWdocGFnZV9pbml0KHN0cnVjdCBwYWdlICpwYWdlLCBpbnQgcGZuLCBpbnQgYmFkX3Bwcm8pCitzdGF0aWMgdm9pZCBfX2luaXQgYWRkX29uZV9oaWdocGFnZV9pbml0KHN0cnVjdCBwYWdlICpwYWdlLCBpbnQgcGZuKQogewotCWlmIChwYWdlX2lzX3JhbShwZm4pICYmICEoYmFkX3Bwcm8gJiYgcGFnZV9raWxsc19wcHJvKHBmbikpKSB7Ci0JCUNsZWFyUGFnZVJlc2VydmVkKHBhZ2UpOwotCQlpbml0X3BhZ2VfY291bnQocGFnZSk7Ci0JCV9fZnJlZV9wYWdlKHBhZ2UpOwotCQl0b3RhbGhpZ2hfcGFnZXMrKzsKLQl9IGVsc2UKLQkJU2V0UGFnZVJlc2VydmVkKHBhZ2UpOworCUNsZWFyUGFnZVJlc2VydmVkKHBhZ2UpOworCWluaXRfcGFnZV9jb3VudChwYWdlKTsKKwlfX2ZyZWVfcGFnZShwYWdlKTsKKwl0b3RhbGhpZ2hfcGFnZXMrKzsKK30KKworc3RydWN0IGFkZF9oaWdocGFnZXNfZGF0YSB7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm47CisJdW5zaWduZWQgbG9uZyBlbmRfcGZuOworfTsKKworc3RhdGljIGludCBfX2luaXQgYWRkX2hpZ2hwYWdlc193b3JrX2ZuKHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkgdW5zaWduZWQgbG9uZyBlbmRfcGZuLCB2b2lkICpkYXRheCkKK3sKKwlpbnQgbm9kZV9wZm47CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJdW5zaWduZWQgbG9uZyBmaW5hbF9zdGFydF9wZm4sIGZpbmFsX2VuZF9wZm47CisJc3RydWN0IGFkZF9oaWdocGFnZXNfZGF0YSAqZGF0YTsKKworCWRhdGEgPSAoc3RydWN0IGFkZF9oaWdocGFnZXNfZGF0YSAqKWRhdGF4OworCisJZmluYWxfc3RhcnRfcGZuID0gbWF4KHN0YXJ0X3BmbiwgZGF0YS0+c3RhcnRfcGZuKTsKKwlmaW5hbF9lbmRfcGZuID0gbWluKGVuZF9wZm4sIGRhdGEtPmVuZF9wZm4pOworCWlmIChmaW5hbF9zdGFydF9wZm4gPj0gZmluYWxfZW5kX3BmbikKKwkJcmV0dXJuIDA7CisKKwlmb3IgKG5vZGVfcGZuID0gZmluYWxfc3RhcnRfcGZuOyBub2RlX3BmbiA8IGZpbmFsX2VuZF9wZm47CisJICAgICBub2RlX3BmbisrKSB7CisJCWlmICghcGZuX3ZhbGlkKG5vZGVfcGZuKSkKKwkJCWNvbnRpbnVlOworCQlwYWdlID0gcGZuX3RvX3BhZ2Uobm9kZV9wZm4pOworCQlhZGRfb25lX2hpZ2hwYWdlX2luaXQocGFnZSwgbm9kZV9wZm4pOworCX0KKworCXJldHVybiAwOworCit9CisKK3ZvaWQgX19pbml0IGFkZF9oaWdocGFnZXNfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJICAgICAgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQoreworCXN0cnVjdCBhZGRfaGlnaHBhZ2VzX2RhdGEgZGF0YTsKKworCWRhdGEuc3RhcnRfcGZuID0gc3RhcnRfcGZuOworCWRhdGEuZW5kX3BmbiA9IGVuZF9wZm47CisKKwl3b3JrX3dpdGhfYWN0aXZlX3JlZ2lvbnMobmlkLCBhZGRfaGlnaHBhZ2VzX3dvcmtfZm4sICZkYXRhKTsKIH0KIAogI2lmbmRlZiBDT05GSUdfTlVNQQotc3RhdGljIHZvaWQgX19pbml0IHNldF9oaWdobWVtX3BhZ2VzX2luaXQoaW50IGJhZF9wcHJvKQorc3RhdGljIHZvaWQgX19pbml0IHNldF9oaWdobWVtX3BhZ2VzX2luaXQodm9pZCkKIHsKLQlpbnQgcGZuOworCWFkZF9oaWdocGFnZXNfd2l0aF9hY3RpdmVfcmVnaW9ucygwLCBoaWdoc3RhcnRfcGZuLCBoaWdoZW5kX3Bmbik7CiAKLQlmb3IgKHBmbiA9IGhpZ2hzdGFydF9wZm47IHBmbiA8IGhpZ2hlbmRfcGZuOyBwZm4rKykgewotCQkvKgotCQkgKiBIb2xlcyB1bmRlciBzcGFyc2VtZW0gbWlnaHQgbm90IGhhdmUgbm8gbWVtX21hcFtdOgotCQkgKi8KLQkJaWYgKHBmbl92YWxpZChwZm4pKQotCQkJYWRkX29uZV9oaWdocGFnZV9pbml0KHBmbl90b19wYWdlKHBmbiksIHBmbiwgYmFkX3Bwcm8pOwotCX0KIAl0b3RhbHJhbV9wYWdlcyArPSB0b3RhbGhpZ2hfcGFnZXM7CiB9CiAjZW5kaWYgLyogIUNPTkZJR19OVU1BICovCkBAIC0zMTcsMTQgKzM4MSw5IEBACiAjZWxzZQogIyBkZWZpbmUga21hcF9pbml0KCkJCQkJZG8geyB9IHdoaWxlICgwKQogIyBkZWZpbmUgcGVybWFuZW50X2ttYXBzX2luaXQocGdkX2Jhc2UpCQlkbyB7IH0gd2hpbGUgKDApCi0jIGRlZmluZSBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGJhZF9wcHJvKQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBzZXRfaGlnaG1lbV9wYWdlc19pbml0KCkJZG8geyB9IHdoaWxlICgwKQogI2VuZGlmIC8qIENPTkZJR19ISUdITUVNICovCiAKLXB0ZXZhbF90IF9fUEFHRV9LRVJORUwgPSBfUEFHRV9LRVJORUw7Ci1FWFBPUlRfU1lNQk9MKF9fUEFHRV9LRVJORUwpOwotCi1wdGV2YWxfdCBfX1BBR0VfS0VSTkVMX0VYRUMgPSBfUEFHRV9LRVJORUxfRVhFQzsKLQogdm9pZCBfX2luaXQgbmF0aXZlX3BhZ2V0YWJsZV9zZXR1cF9zdGFydChwZ2RfdCAqYmFzZSkKIHsKIAl1bnNpZ25lZCBsb25nIHBmbiwgdmE7CkBAIC0zODAsMjcgKzQzOSwxMCBAQAogICogYmUgcGFydGlhbGx5IHBvcHVsYXRlZCwgYW5kIHNvIGl0IGF2b2lkcyBzdG9tcGluZyBvbiBhbnkgZXhpc3RpbmcKICAqIG1hcHBpbmdzLgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQgcGFnZXRhYmxlX2luaXQodm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCBlYXJseV9pb3JlbWFwX3BhZ2VfdGFibGVfcmFuZ2VfaW5pdChwZ2RfdCAqcGdkX2Jhc2UpCiB7Ci0JcGdkX3QgKnBnZF9iYXNlID0gc3dhcHBlcl9wZ19kaXI7CiAJdW5zaWduZWQgbG9uZyB2YWRkciwgZW5kOwogCi0JcGFyYXZpcnRfcGFnZXRhYmxlX3NldHVwX3N0YXJ0KHBnZF9iYXNlKTsKLQotCS8qIEVuYWJsZSBQU0UgaWYgYXZhaWxhYmxlICovCi0JaWYgKGNwdV9oYXNfcHNlKQotCQlzZXRfaW5fY3I0KFg4Nl9DUjRfUFNFKTsKLQotCS8qIEVuYWJsZSBQR0UgaWYgYXZhaWxhYmxlICovCi0JaWYgKGNwdV9oYXNfcGdlKSB7Ci0JCXNldF9pbl9jcjQoWDg2X0NSNF9QR0UpOwotCQlfX1BBR0VfS0VSTkVMIHw9IF9QQUdFX0dMT0JBTDsKLQkJX19QQUdFX0tFUk5FTF9FWEVDIHw9IF9QQUdFX0dMT0JBTDsKLQl9Ci0KLQlrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHBnZF9iYXNlKTsKLQlyZW1hcF9udW1hX2t2YSgpOwotCiAJLyoKIAkgKiBGaXhlZCBtYXBwaW5ncywgb25seSB0aGUgcGFnZSB0YWJsZSBzdHJ1Y3R1cmUgaGFzIHRvIGJlCiAJICogY3JlYXRlZCAtIG1hcHBpbmdzIHdpbGwgYmUgc2V0IGJ5IHNldF9maXhtYXAoKToKQEAgLTQxMCw2ICs0NTIsMTMgQEAKIAllbmQgPSAoRklYQUREUl9UT1AgKyBQTURfU0laRSAtIDEpICYgUE1EX01BU0s7CiAJcGFnZV90YWJsZV9yYW5nZV9pbml0KHZhZGRyLCBlbmQsIHBnZF9iYXNlKTsKIAllYXJseV9pb3JlbWFwX3Jlc2V0KCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBwYWdldGFibGVfaW5pdCh2b2lkKQoreworCXBnZF90ICpwZ2RfYmFzZSA9IHN3YXBwZXJfcGdfZGlyOworCisJcGFyYXZpcnRfcGFnZXRhYmxlX3NldHVwX3N0YXJ0KHBnZF9iYXNlKTsKIAogCXBlcm1hbmVudF9rbWFwc19pbml0KHBnZF9iYXNlKTsKIApAQCAtNDU2LDcgKzUwNSw3IEBACiAKIGludCBueF9lbmFibGVkOwogCi1wdGV2YWxfdCBfX3N1cHBvcnRlZF9wdGVfbWFzayBfX3JlYWRfbW9zdGx5ID0gfl9QQUdFX05YOworcHRldmFsX3QgX19zdXBwb3J0ZWRfcHRlX21hc2sgX19yZWFkX21vc3RseSA9IH4oX1BBR0VfTlggfCBfUEFHRV9HTE9CQUwpOwogRVhQT1JUX1NZTUJPTF9HUEwoX19zdXBwb3J0ZWRfcHRlX21hc2spOwogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQUUKQEAgLTUwOSw2ICs1NTgsMjk2IEBACiB9CiAjZW5kaWYKIAorLyogdXNlci1kZWZpbmVkIGhpZ2htZW0gc2l6ZSAqLworc3RhdGljIHVuc2lnbmVkIGludCBoaWdobWVtX3BhZ2VzID0gLTE7CisKKy8qCisgKiBoaWdobWVtPXNpemUgZm9yY2VzIGhpZ2htZW0gdG8gYmUgZXhhY3RseSAnc2l6ZScgYnl0ZXMuCisgKiBUaGlzIHdvcmtzIGV2ZW4gb24gYm94ZXMgdGhhdCBoYXZlIG5vIGhpZ2htZW0gb3RoZXJ3aXNlLgorICogVGhpcyBhbHNvIHdvcmtzIHRvIHJlZHVjZSBoaWdobWVtIHNpemUgb24gYmlnZ2VyIGJveGVzLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9oaWdobWVtKGNoYXIgKmFyZykKK3sKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwloaWdobWVtX3BhZ2VzID0gbWVtcGFyc2UoYXJnLCAmYXJnKSA+PiBQQUdFX1NISUZUOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oImhpZ2htZW0iLCBwYXJzZV9oaWdobWVtKTsKKworLyoKKyAqIERldGVybWluZSBsb3cgYW5kIGhpZ2ggbWVtb3J5IHJhbmdlczoKKyAqLwordm9pZCBfX2luaXQgZmluZF9sb3dfcGZuX3JhbmdlKHZvaWQpCit7CisJLyogaXQgY291bGQgdXBkYXRlIG1heF9wZm4gKi8KKworCS8qIG1heF9sb3dfcGZuIGlzIDAsIHdlIGFscmVhZHkgaGF2ZSBlYXJseV9yZXMgc3VwcG9ydCAqLworCisJbWF4X2xvd19wZm4gPSBtYXhfcGZuOworCWlmIChtYXhfbG93X3BmbiA+IE1BWE1FTV9QRk4pIHsKKwkJaWYgKGhpZ2htZW1fcGFnZXMgPT0gLTEpCisJCQloaWdobWVtX3BhZ2VzID0gbWF4X3BmbiAtIE1BWE1FTV9QRk47CisJCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA8IG1heF9wZm4pCisJCQltYXhfcGZuID0gTUFYTUVNX1BGTiArIGhpZ2htZW1fcGFnZXM7CisJCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA+IG1heF9wZm4pIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgIm9ubHkgJWx1TUIgaGlnaG1lbSBwYWdlcyAiCisJCQkJImF2YWlsYWJsZSwgaWdub3JpbmcgaGlnaG1lbSBzaXplIG9mICV1TUIuXG4iLAorCQkJCXBhZ2VzX3RvX21iKG1heF9wZm4gLSBNQVhNRU1fUEZOKSwKKwkJCQlwYWdlc190b19tYihoaWdobWVtX3BhZ2VzKSk7CisJCQloaWdobWVtX3BhZ2VzID0gMDsKKwkJfQorCQltYXhfbG93X3BmbiA9IE1BWE1FTV9QRk47CisjaWZuZGVmIENPTkZJR19ISUdITUVNCisJCS8qIE1heGltdW0gbWVtb3J5IHVzYWJsZSBpcyB3aGF0IGlzIGRpcmVjdGx5IGFkZHJlc3NhYmxlICovCisJCXByaW50ayhLRVJOX1dBUk5JTkcgIldhcm5pbmcgb25seSAlbGRNQiB3aWxsIGJlIHVzZWQuXG4iLAorCQkJCQlNQVhNRU0+PjIwKTsKKwkJaWYgKG1heF9wZm4gPiBNQVhfTk9OUEFFX1BGTikKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCQkgIlVzZSBhIEhJR0hNRU02NEcgZW5hYmxlZCBrZXJuZWwuXG4iKTsKKwkJZWxzZQorCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVXNlIGEgSElHSE1FTSBlbmFibGVkIGtlcm5lbC5cbiIpOworCQltYXhfcGZuID0gTUFYTUVNX1BGTjsKKyNlbHNlIC8qICFDT05GSUdfSElHSE1FTSAqLworI2lmbmRlZiBDT05GSUdfSElHSE1FTTY0RworCQlpZiAobWF4X3BmbiA+IE1BWF9OT05QQUVfUEZOKSB7CisJCQltYXhfcGZuID0gTUFYX05PTlBBRV9QRk47CisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJXYXJuaW5nIG9ubHkgNEdCIHdpbGwgYmUgdXNlZC4iCisJCQkJIlVzZSBhIEhJR0hNRU02NEcgZW5hYmxlZCBrZXJuZWwuXG4iKTsKKwkJfQorI2VuZGlmIC8qICFDT05GSUdfSElHSE1FTTY0RyAqLworI2VuZGlmIC8qICFDT05GSUdfSElHSE1FTSAqLworCX0gZWxzZSB7CisJCWlmIChoaWdobWVtX3BhZ2VzID09IC0xKQorCQkJaGlnaG1lbV9wYWdlcyA9IDA7CisjaWZkZWYgQ09ORklHX0hJR0hNRU0KKwkJaWYgKGhpZ2htZW1fcGFnZXMgPj0gbWF4X3BmbikgeworCQkJcHJpbnRrKEtFUk5fRVJSICJoaWdobWVtIHNpemUgc3BlY2lmaWVkICgldU1CKSBpcyAiCisJCQkJImJpZ2dlciB0aGFuIHBhZ2VzIGF2YWlsYWJsZSAoJWx1TUIpIS5cbiIsCisJCQkJcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcyksCisJCQkJcGFnZXNfdG9fbWIobWF4X3BmbikpOworCQkJaGlnaG1lbV9wYWdlcyA9IDA7CisJCX0KKwkJaWYgKGhpZ2htZW1fcGFnZXMpIHsKKwkJCWlmIChtYXhfbG93X3BmbiAtIGhpZ2htZW1fcGFnZXMgPAorCQkJICAgIDY0KjEwMjQqMTAyNC9QQUdFX1NJWkUpeworCQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplICV1TUIgcmVzdWx0cyBpbiAiCisJCQkJInNtYWxsZXIgdGhhbiA2NE1CIGxvd21lbSwgaWdub3JpbmcgaXQuXG4iCisJCQkJCSwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcykpOworCQkJCWhpZ2htZW1fcGFnZXMgPSAwOworCQkJfQorCQkJbWF4X2xvd19wZm4gLT0gaGlnaG1lbV9wYWdlczsKKwkJfQorI2Vsc2UKKwkJaWYgKGhpZ2htZW1fcGFnZXMpCisJCQlwcmludGsoS0VSTl9FUlIgImlnbm9yaW5nIGhpZ2htZW0gc2l6ZSBvbiBub24taGlnaG1lbSIKKwkJCQkJIiBrZXJuZWwhXG4iKTsKKyNlbmRpZgorCX0KK30KKworI2lmbmRlZiBDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUwordm9pZCBfX2luaXQgaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQoreworI2lmZGVmIENPTkZJR19ISUdITUVNCisJaGlnaHN0YXJ0X3BmbiA9IGhpZ2hlbmRfcGZuID0gbWF4X3BmbjsKKwlpZiAobWF4X3BmbiA+IG1heF9sb3dfcGZuKQorCQloaWdoc3RhcnRfcGZuID0gbWF4X2xvd19wZm47CisJbWVtb3J5X3ByZXNlbnQoMCwgMCwgaGlnaGVuZF9wZm4pOworCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgaGlnaGVuZF9wZm4pOworCXByaW50ayhLRVJOX05PVElDRSAiJWxkTUIgSElHSE1FTSBhdmFpbGFibGUuXG4iLAorCQlwYWdlc190b19tYihoaWdoZW5kX3BmbiAtIGhpZ2hzdGFydF9wZm4pKTsKKwludW1fcGh5c3BhZ2VzID0gaGlnaGVuZF9wZm47CisJaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKGhpZ2hzdGFydF9wZm4gKiBQQUdFX1NJWkUgLSAxKSArIDE7CisjZWxzZQorCW1lbW9yeV9wcmVzZW50KDAsIDAsIG1heF9sb3dfcGZuKTsKKwllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIG1heF9sb3dfcGZuKTsKKwludW1fcGh5c3BhZ2VzID0gbWF4X2xvd19wZm47CisJaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKG1heF9sb3dfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOworI2VuZGlmCisjaWZkZWYgQ09ORklHX0ZMQVRNRU0KKwltYXhfbWFwbnIgPSBudW1fcGh5c3BhZ2VzOworI2VuZGlmCisJcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBMT1dNRU0gYXZhaWxhYmxlLlxuIiwKKwkJCXBhZ2VzX3RvX21iKG1heF9sb3dfcGZuKSk7CisKKwlzZXR1cF9ib290bWVtX2FsbG9jYXRvcigpOworfQorI2VuZGlmIC8qICFDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUyAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBtYXhfem9uZV9wZm5zW01BWF9OUl9aT05FU107CisJbWVtc2V0KG1heF96b25lX3BmbnMsIDAsIHNpemVvZihtYXhfem9uZV9wZm5zKSk7CisJbWF4X3pvbmVfcGZuc1taT05FX0RNQV0gPQorCQl2aXJ0X3RvX3BoeXMoKGNoYXIgKilNQVhfRE1BX0FERFJFU1MpID4+IFBBR0VfU0hJRlQ7CisJbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBtYXhfbG93X3BmbjsKKyNpZmRlZiBDT05GSUdfSElHSE1FTQorCW1heF96b25lX3BmbnNbWk9ORV9ISUdITUVNXSA9IGhpZ2hlbmRfcGZuOworI2VuZGlmCisKKwlmcmVlX2FyZWFfaW5pdF9ub2RlcyhtYXhfem9uZV9wZm5zKTsKK30KKwordm9pZCBfX2luaXQgc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3Iodm9pZCkKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc2l6ZSwgYm9vdG1hcDsKKwkvKgorCSAqIEluaXRpYWxpemUgdGhlIGJvb3QtdGltZSBhbGxvY2F0b3IgKHdpdGggbG93IG1lbW9yeSBvbmx5KToKKwkgKi8KKwlib290bWFwX3NpemUgPSBib290bWVtX2Jvb3RtYXBfcGFnZXMobWF4X2xvd19wZm4pPDxQQUdFX1NISUZUOworCWJvb3RtYXAgPSBmaW5kX2U4MjBfYXJlYShtaW5fbG93X3Bmbjw8UEFHRV9TSElGVCwKKwkJCQkgbWF4X3Bmbl9tYXBwZWQ8PFBBR0VfU0hJRlQsIGJvb3RtYXBfc2l6ZSwKKwkJCQkgUEFHRV9TSVpFKTsKKwlpZiAoYm9vdG1hcCA9PSAtMUwpCisJCXBhbmljKCJDYW5ub3QgZmluZCBib290bWVtIG1hcCBvZiBzaXplICVsZFxuIiwgYm9vdG1hcF9zaXplKTsKKwlyZXNlcnZlX2Vhcmx5KGJvb3RtYXAsIGJvb3RtYXAgKyBib290bWFwX3NpemUsICJCT09UTUFQIik7CisKKwkvKiBkb24ndCB0b3VjaCBtaW5fbG93X3BmbiAqLworCWJvb3RtYXBfc2l6ZSA9IGluaXRfYm9vdG1lbV9ub2RlKE5PREVfREFUQSgwKSwgYm9vdG1hcCA+PiBQQUdFX1NISUZULAorCQkJCQkgbWluX2xvd19wZm4sIG1heF9sb3dfcGZuKTsKKwlwcmludGsoS0VSTl9JTkZPICIgIG1hcHBlZCBsb3cgcmFtOiAwIC0gJTA4bHhcbiIsCisJCSBtYXhfcGZuX21hcHBlZDw8UEFHRV9TSElGVCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiICBsb3cgcmFtOiAlMDhseCAtICUwOGx4XG4iLAorCQkgbWluX2xvd19wZm48PFBBR0VfU0hJRlQsIG1heF9sb3dfcGZuPDxQQUdFX1NISUZUKTsKKwlwcmludGsoS0VSTl9JTkZPICIgIGJvb3RtYXAgJTA4bHggLSAlMDhseFxuIiwKKwkJIGJvb3RtYXAsIGJvb3RtYXAgKyBib290bWFwX3NpemUpOworCWZvcl9lYWNoX29ubGluZV9ub2RlKGkpCisJCWZyZWVfYm9vdG1lbV93aXRoX2FjdGl2ZV9yZWdpb25zKGksIG1heF9sb3dfcGZuKTsKKwllYXJseV9yZXNfdG9fYm9vdG1lbSgwLCBtYXhfbG93X3Bmbjw8UEFHRV9TSElGVCk7CisKKwlhZnRlcl9pbml0X2Jvb3RtZW0gPSAxOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZmluZF9lYXJseV90YWJsZV9zcGFjZSh1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwl1bnNpZ25lZCBsb25nIHB1ZHMsIHBtZHMsIHB0ZXMsIHRhYmxlcywgc3RhcnQ7CisKKwlwdWRzID0gKGVuZCArIFBVRF9TSVpFIC0gMSkgPj4gUFVEX1NISUZUOworCXRhYmxlcyA9IFBBR0VfQUxJR04ocHVkcyAqIHNpemVvZihwdWRfdCkpOworCisJcG1kcyA9IChlbmQgKyBQTURfU0laRSAtIDEpID4+IFBNRF9TSElGVDsKKwl0YWJsZXMgKz0gUEFHRV9BTElHTihwbWRzICogc2l6ZW9mKHBtZF90KSk7CisKKwlpZiAoY3B1X2hhc19wc2UpIHsKKwkJdW5zaWduZWQgbG9uZyBleHRyYTsKKworCQlleHRyYSA9IGVuZCAtICgoZW5kPj5QTURfU0hJRlQpIDw8IFBNRF9TSElGVCk7CisJCWV4dHJhICs9IFBNRF9TSVpFOworCQlwdGVzID0gKGV4dHJhICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKKwl9IGVsc2UKKwkJcHRlcyA9IChlbmQgKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOworCisJdGFibGVzICs9IFBBR0VfQUxJR04ocHRlcyAqIHNpemVvZihwdGVfdCkpOworCisJLyogZm9yIGZpeG1hcCAqLworCXRhYmxlcyArPSBQQUdFX1NJWkUgKiAyOworCisJLyoKKwkgKiBSRUQtUEVOIHB1dHRpbmcgcGFnZSB0YWJsZXMgb25seSBvbiBub2RlIDAgY291bGQKKwkgKiBjYXVzZSBhIGhvdHNwb3QgYW5kIGZpbGwgdXAgWk9ORV9ETUEuIFRoZSBwYWdlIHRhYmxlcworCSAqIG5lZWQgcm91Z2hseSAwLjVLQiBwZXIgR0IuCisJICovCisJc3RhcnQgPSAweDcwMDA7CisJdGFibGVfc3RhcnQgPSBmaW5kX2U4MjBfYXJlYShzdGFydCwgbWF4X3Bmbl9tYXBwZWQ8PFBBR0VfU0hJRlQsCisJCQkJCXRhYmxlcywgUEFHRV9TSVpFKTsKKwlpZiAodGFibGVfc3RhcnQgPT0gLTFVTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIHNwYWNlIGZvciB0aGUga2VybmVsIHBhZ2UgdGFibGVzIik7CisKKwl0YWJsZV9zdGFydCA+Pj0gUEFHRV9TSElGVDsKKwl0YWJsZV9lbmQgPSB0YWJsZV9zdGFydDsKKwl0YWJsZV90b3AgPSB0YWJsZV9zdGFydCArICh0YWJsZXM+PlBBR0VfU0hJRlQpOworCisJcHJpbnRrKEtFUk5fREVCVUcgImtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMgdXAgdG8gJWx4IEAgJWx4LSVseFxuIiwKKwkJZW5kLCB0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULAorCQkodGFibGVfc3RhcnQgPDwgUEFHRV9TSElGVCkgKyB0YWJsZXMpOworfQorCit1bnNpZ25lZCBsb25nIF9faW5pdF9yZWZvayBpbml0X21lbW9yeV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsCisJCQkJCQl1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlwZ2RfdCAqcGdkX2Jhc2UgPSBzd2FwcGVyX3BnX2RpcjsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbjsKKwl1bnNpZ25lZCBsb25nIGJpZ19wYWdlX3N0YXJ0OworCisJLyoKKwkgKiBGaW5kIHNwYWNlIGZvciB0aGUga2VybmVsIGRpcmVjdCBtYXBwaW5nIHRhYmxlcy4KKwkgKi8KKwlpZiAoIWFmdGVyX2luaXRfYm9vdG1lbSkKKwkJZmluZF9lYXJseV90YWJsZV9zcGFjZShlbmQpOworCisjaWZkZWYgQ09ORklHX1g4Nl9QQUUKKwlzZXRfbngoKTsKKwlpZiAobnhfZW5hYmxlZCkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiTlggKEV4ZWN1dGUgRGlzYWJsZSkgcHJvdGVjdGlvbjogYWN0aXZlXG4iKTsKKyNlbmRpZgorCisJLyogRW5hYmxlIFBTRSBpZiBhdmFpbGFibGUgKi8KKwlpZiAoY3B1X2hhc19wc2UpCisJCXNldF9pbl9jcjQoWDg2X0NSNF9QU0UpOworCisJLyogRW5hYmxlIFBHRSBpZiBhdmFpbGFibGUgKi8KKwlpZiAoY3B1X2hhc19wZ2UpIHsKKwkJc2V0X2luX2NyNChYODZfQ1I0X1BHRSk7CisJCV9fc3VwcG9ydGVkX3B0ZV9tYXNrIHw9IF9QQUdFX0dMT0JBTDsKKwl9CisKKwkvKgorCSAqIERvbid0IHVzZSBhIGxhcmdlIHBhZ2UgZm9yIHRoZSBmaXJzdCAyLzRNQiBvZiBtZW1vcnkKKwkgKiBiZWNhdXNlIHRoZXJlIGFyZSBvZnRlbiBmaXhlZCBzaXplIE1UUlJzIGluIHRoZXJlCisJICogYW5kIG92ZXJsYXBwaW5nIE1UUlJzIGludG8gbGFyZ2UgcGFnZXMgY2FuIGNhdXNlCisJICogc2xvd2Rvd25zLgorCSAqLworCWJpZ19wYWdlX3N0YXJ0ID0gUE1EX1NJWkU7CisKKwlpZiAoc3RhcnQgPCBiaWdfcGFnZV9zdGFydCkgeworCQlzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOworCQllbmRfcGZuID0gbWluKGJpZ19wYWdlX3N0YXJ0Pj5QQUdFX1NISUZULCBlbmQ+PlBBR0VfU0hJRlQpOworCX0gZWxzZSB7CisJCS8qIGhlYWQgaXMgbm90IGJpZyBwYWdlIGFsaWdubWVudCA/ICovCisJCXN0YXJ0X3BmbiA9IHN0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJCWVuZF9wZm4gPSAoKHN0YXJ0ICsgKFBNRF9TSVpFIC0gMSkpPj5QTURfU0hJRlQpCisJCQkJIDw8IChQTURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwl9CisJaWYgKHN0YXJ0X3BmbiA8IGVuZF9wZm4pCisJCWtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQocGdkX2Jhc2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwgMCk7CisKKwkvKiBiaWcgcGFnZSByYW5nZSAqLworCXN0YXJ0X3BmbiA9ICgoc3RhcnQgKyAoUE1EX1NJWkUgLSAxKSk+PlBNRF9TSElGVCkKKwkJCSA8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJaWYgKHN0YXJ0X3BmbiA8IChiaWdfcGFnZV9zdGFydCA+PiBQQUdFX1NISUZUKSkKKwkJc3RhcnRfcGZuID0gIGJpZ19wYWdlX3N0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJZW5kX3BmbiA9IChlbmQ+PlBNRF9TSElGVCkgPDwgKFBNRF9TSElGVCAtIFBBR0VfU0hJRlQpOworCWlmIChzdGFydF9wZm4gPCBlbmRfcGZuKQorCQlrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHBnZF9iYXNlLCBzdGFydF9wZm4sIGVuZF9wZm4sCisJCQkJCQljcHVfaGFzX3BzZSk7CisKKwkvKiB0YWlsIGlzIG5vdCBiaWcgcGFnZSBhbGlnbm1lbnQgPyAqLworCXN0YXJ0X3BmbiA9IGVuZF9wZm47CisJaWYgKHN0YXJ0X3BmbiA+IChiaWdfcGFnZV9zdGFydD4+UEFHRV9TSElGVCkpIHsKKwkJZW5kX3BmbiA9IGVuZCA+PiBQQUdFX1NISUZUOworCQlpZiAoc3RhcnRfcGZuIDwgZW5kX3BmbikKKwkJCWtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQocGdkX2Jhc2UsIHN0YXJ0X3BmbiwKKwkJCQkJCQkgZW5kX3BmbiwgMCk7CisJfQorCisJZWFybHlfaW9yZW1hcF9wYWdlX3RhYmxlX3JhbmdlX2luaXQocGdkX2Jhc2UpOworCisJbG9hZF9jcjMoc3dhcHBlcl9wZ19kaXIpOworCisJX19mbHVzaF90bGJfYWxsKCk7CisKKwlpZiAoIWFmdGVyX2luaXRfYm9vdG1lbSkKKwkJcmVzZXJ2ZV9lYXJseSh0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULAorCQkJCSB0YWJsZV9lbmQgPDwgUEFHRV9TSElGVCwgIlBHVEFCTEUiKTsKKworCXJldHVybiBlbmQgPj4gUEFHRV9TSElGVDsKK30KKworCiAvKgogICogcGFnaW5nX2luaXQoKSBzZXRzIHVwIHRoZSBwYWdlIHRhYmxlcyAtIG5vdGUgdGhhdCB0aGUgZmlyc3QgOE1CIGFyZQogICogYWxyZWFkeSBtYXBwZWQgYnkgaGVhZC5TLgpAQCAtNTE4LDE4ICs4NTcsMTkgQEAKICAqLwogdm9pZCBfX2luaXQgcGFnaW5nX2luaXQodm9pZCkKIHsKLSNpZmRlZiBDT05GSUdfWDg2X1BBRQotCXNldF9ueCgpOwotCWlmIChueF9lbmFibGVkKQotCQlwcmludGsoS0VSTl9JTkZPICJOWCAoRXhlY3V0ZSBEaXNhYmxlKSBwcm90ZWN0aW9uOiBhY3RpdmVcbiIpOwotI2VuZGlmCiAJcGFnZXRhYmxlX2luaXQoKTsKIAotCWxvYWRfY3IzKHN3YXBwZXJfcGdfZGlyKTsKLQogCV9fZmx1c2hfdGxiX2FsbCgpOwogCiAJa21hcF9pbml0KCk7CisKKwkvKgorCSAqIE5PVEU6IGF0IHRoaXMgcG9pbnQgdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGlzIGZ1bGx5IGF2YWlsYWJsZS4KKwkgKi8KKwlzcGFyc2VfaW5pdCgpOworCXpvbmVfc2l6ZXNfaW5pdCgpOworCisJcGFyYXZpcnRfcG9zdF9hbGxvY2F0b3JfaW5pdCgpOwogfQogCiAvKgpAQCAtNTY0LDI0ICs5MDQsMTEgQEAKIHZvaWQgX19pbml0IG1lbV9pbml0KHZvaWQpCiB7CiAJaW50IGNvZGVzaXplLCByZXNlcnZlZHBhZ2VzLCBkYXRhc2l6ZSwgaW5pdHNpemU7Ci0JaW50IHRtcCwgYmFkX3Bwcm87CisJaW50IHRtcDsKIAogI2lmZGVmIENPTkZJR19GTEFUTUVNCiAJQlVHX09OKCFtZW1fbWFwKTsKICNlbmRpZgotCWJhZF9wcHJvID0gcHByb193aXRoX3JhbV9idWcoKTsKLQotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JLyogY2hlY2sgdGhhdCBmaXhtYXAgYW5kIHBrbWFwIGRvIG5vdCBvdmVybGFwICovCi0JaWYgKFBLTUFQX0JBU0UgKyBMQVNUX1BLTUFQKlBBR0VfU0laRSA+PSBGSVhBRERSX1NUQVJUKSB7Ci0JCXByaW50ayhLRVJOX0VSUgotCQkJImZpeG1hcCBhbmQga21hcCBhcmVhcyBvdmVybGFwIC0gdGhpcyB3aWxsIGNyYXNoXG4iKTsKLQkJcHJpbnRrKEtFUk5fRVJSICJwa3N0YXJ0OiAlbHhoIHBrZW5kOiAlbHhoIGZpeHN0YXJ0ICVseGhcbiIsCi0JCQkJUEtNQVBfQkFTRSwgUEtNQVBfQkFTRSArIExBU1RfUEtNQVAqUEFHRV9TSVpFLAotCQkJCUZJWEFERFJfU1RBUlQpOwotCQlCVUcoKTsKLQl9Ci0jZW5kaWYKIAkvKiB0aGlzIHdpbGwgcHV0IGFsbCBsb3cgbWVtb3J5IG9udG8gdGhlIGZyZWVsaXN0cyAqLwogCXRvdGFscmFtX3BhZ2VzICs9IGZyZWVfYWxsX2Jvb3RtZW0oKTsKIApAQCAtNTkzLDcgKzkyMCw3IEBACiAJCWlmIChwYWdlX2lzX3JhbSh0bXApICYmIFBhZ2VSZXNlcnZlZChwZm5fdG9fcGFnZSh0bXApKSkKIAkJCXJlc2VydmVkcGFnZXMrKzsKIAotCXNldF9oaWdobWVtX3BhZ2VzX2luaXQoYmFkX3Bwcm8pOworCXNldF9oaWdobWVtX3BhZ2VzX2luaXQoKTsKIAogCWNvZGVzaXplID0gICh1bnNpZ25lZCBsb25nKSAmX2V0ZXh0IC0gKHVuc2lnbmVkIGxvbmcpICZfdGV4dDsKIAlkYXRhc2l6ZSA9ICAodW5zaWduZWQgbG9uZykgJl9lZGF0YSAtICh1bnNpZ25lZCBsb25nKSAmX2V0ZXh0OwpAQCAtNjE0LDcgKzk0MSw2IEBACiAJCSh1bnNpZ25lZCBsb25nKSAodG90YWxoaWdoX3BhZ2VzIDw8IChQQUdFX1NISUZULTEwKSkKIAkgICAgICAgKTsKIAotI2lmIDEgLyogZG91YmxlLXNhbml0eS1jaGVjayBwYXJhbm9pYSAqLwogCXByaW50ayhLRVJOX0lORk8gInZpcnR1YWwga2VybmVsIG1lbW9yeSBsYXlvdXQ6XG4iCiAJCSIgICAgZml4bWFwICA6IDB4JTA4bHggLSAweCUwOGx4ICAgKCU0bGQga0IpXG4iCiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KQEAgLTY1NSw3ICs5ODEsNiBAQAogI2VuZGlmCiAJQlVHX09OKFZNQUxMT0NfU1RBUlQJCQkJPiBWTUFMTE9DX0VORCk7CiAJQlVHX09OKCh1bnNpZ25lZCBsb25nKWhpZ2hfbWVtb3J5CQk+IFZNQUxMT0NfU1RBUlQpOwotI2VuZGlmIC8qIGRvdWJsZS1zYW5pdHktY2hlY2sgcGFyYW5vaWEgKi8KIAogCWlmIChib290X2NwdV9kYXRhLndwX3dvcmtzX29rIDwgMCkKIAkJdGVzdF93cF9iaXQoKTsKQEAgLTcxMCw2ICsxMDM1LDggQEAKIAl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gUEZOX0FMSUdOKF90ZXh0KTsKIAl1bnNpZ25lZCBsb25nIHNpemUgPSBQRk5fQUxJR04oX2V0ZXh0KSAtIHN0YXJ0OwogCisjaWZuZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCS8qIER5bmFtaWMgdHJhY2luZyBtb2RpZmllcyB0aGUga2VybmVsIHRleHQgc2VjdGlvbiAqLwogCXNldF9wYWdlc19ybyh2aXJ0X3RvX3BhZ2Uoc3RhcnQpLCBzaXplID4+IFBBR0VfU0hJRlQpOwogCXByaW50ayhLRVJOX0lORk8gIldyaXRlIHByb3RlY3RpbmcgdGhlIGtlcm5lbCB0ZXh0OiAlbHVrXG4iLAogCQlzaXplID4+IDEwKTsKQEAgLTcyMiw2ICsxMDQ5LDggQEAKIAlwcmludGsoS0VSTl9JTkZPICJUZXN0aW5nIENQQTogd3JpdGUgcHJvdGVjdGluZyBhZ2FpblxuIik7CiAJc2V0X3BhZ2VzX3JvKHZpcnRfdG9fcGFnZShzdGFydCksIHNpemU+PlBBR0VfU0hJRlQpOwogI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisKIAlzdGFydCArPSBzaXplOwogCXNpemUgPSAodW5zaWduZWQgbG9uZylfX2VuZF9yb2RhdGEgLSBzdGFydDsKIAlzZXRfcGFnZXNfcm8odmlydF90b19wYWdlKHN0YXJ0KSwgc2l6ZSA+PiBQQUdFX1NISUZUKTsKQEAgLTc4NCwzICsxMTEzLDkgQEAKIAlmcmVlX2luaXRfcGFnZXMoImluaXRyZCBtZW1vcnkiLCBzdGFydCwgZW5kKTsKIH0KICNlbmRpZgorCitpbnQgX19pbml0IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBsZW4sCisJCQkJICAgaW50IGZsYWdzKQoreworCXJldHVybiByZXNlcnZlX2Jvb3RtZW0ocGh5cywgbGVuLCBmbGFncyk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9pbml0XzY0LmMgYi9hcmNoL3g4Ni9tbS9pbml0XzY0LmMKaW5kZXggODE5ZGFkOS4uMjdkZTI0MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vaW5pdF82NC5jCisrKyBiL2FyY2gveDg2L21tL2luaXRfNjQuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+CiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CkBAIC00Nyw2ICs0OCwxNCBAQAogI2luY2x1ZGUgPGFzbS9udW1hLmg+CiAjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KIAorLyoKKyAqIGVuZF9wZm4gb25seSBpbmNsdWRlcyBSQU0sIHdoaWxlIG1heF9wZm5fbWFwcGVkIGluY2x1ZGVzIGFsbCBlODIwIGVudHJpZXMuCisgKiBUaGUgZGlyZWN0IG1hcHBpbmcgZXh0ZW5kcyB0byBtYXhfcGZuX21hcHBlZCwgc28gdGhhdCB3ZSBjYW4gZGlyZWN0bHkgYWNjZXNzCisgKiBhcGVydHVyZXMsIEFDUEkgYW5kIG90aGVyIHRhYmxlcyB3aXRob3V0IGhhdmluZyB0byBwbGF5IHdpdGggZml4bWFwcy4KKyAqLwordW5zaWduZWQgbG9uZyBtYXhfbG93X3Bmbl9tYXBwZWQ7Cit1bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOworCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBkbWFfcmVzZXJ2ZSBfX2luaXRkYXRhOwogCiBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgbW11X2dhdGhlciwgbW11X2dhdGhlcnMpOwpAQCAtMTM1LDI2ICsxNDQsMTcgQEAKIAlyZXR1cm4gcHRyOwogfQogCi1zdGF0aWMgX19pbml0IHZvaWQKLXNldF9wdGVfcGh5cyh1bnNpZ25lZCBsb25nIHZhZGRyLCB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IHByb3QpCit2b2lkCitzZXRfcHRlX3ZhZGRyX3B1ZChwdWRfdCAqcHVkX3BhZ2UsIHVuc2lnbmVkIGxvbmcgdmFkZHIsIHB0ZV90IG5ld19wdGUpCiB7Ci0JcGdkX3QgKnBnZDsKIAlwdWRfdCAqcHVkOwogCXBtZF90ICpwbWQ7Ci0JcHRlX3QgKnB0ZSwgbmV3X3B0ZTsKKwlwdGVfdCAqcHRlOwogCi0JcHJfZGVidWcoInNldF9wdGVfcGh5cyAlbHggdG8gJWx4XG4iLCB2YWRkciwgcGh5cyk7Ci0KLQlwZ2QgPSBwZ2Rfb2Zmc2V0X2sodmFkZHIpOwotCWlmIChwZ2Rfbm9uZSgqcGdkKSkgewotCQlwcmludGsoS0VSTl9FUlIKLQkJCSJQR0QgRklYTUFQIE1JU1NJTkcsIGl0IHNob3VsZCBiZSBzZXR1cCBpbiBoZWFkLlMhXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgdmFkZHIpOworCXB1ZCA9IHB1ZF9wYWdlICsgcHVkX2luZGV4KHZhZGRyKTsKIAlpZiAocHVkX25vbmUoKnB1ZCkpIHsKIAkJcG1kID0gKHBtZF90ICopIHNwcF9nZXRwYWdlKCk7Ci0JCXNldF9wdWQocHVkLCBfX3B1ZChfX3BhKHBtZCkgfCBfS0VSTlBHX1RBQkxFIHwgX1BBR0VfVVNFUikpOworCQlwdWRfcG9wdWxhdGUoJmluaXRfbW0sIHB1ZCwgcG1kKTsKIAkJaWYgKHBtZCAhPSBwbWRfb2Zmc2V0KHB1ZCwgMCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiUEFHRVRBQkxFIEJVRyAjMDEhICVwIDwtPiAlcFxuIiwKIAkJCQlwbWQsIHBtZF9vZmZzZXQocHVkLCAwKSk7CkBAIC0xNjQsMTMgKzE2NCwxMiBAQAogCXBtZCA9IHBtZF9vZmZzZXQocHVkLCB2YWRkcik7CiAJaWYgKHBtZF9ub25lKCpwbWQpKSB7CiAJCXB0ZSA9IChwdGVfdCAqKSBzcHBfZ2V0cGFnZSgpOwotCQlzZXRfcG1kKHBtZCwgX19wbWQoX19wYShwdGUpIHwgX0tFUk5QR19UQUJMRSB8IF9QQUdFX1VTRVIpKTsKKwkJcG1kX3BvcHVsYXRlX2tlcm5lbCgmaW5pdF9tbSwgcG1kLCBwdGUpOwogCQlpZiAocHRlICE9IHB0ZV9vZmZzZXRfa2VybmVsKHBtZCwgMCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiUEFHRVRBQkxFIEJVRyAjMDIhXG4iKTsKIAkJCXJldHVybjsKIAkJfQogCX0KLQluZXdfcHRlID0gcGZuX3B0ZShwaHlzID4+IFBBR0VfU0hJRlQsIHByb3QpOwogCiAJcHRlID0gcHRlX29mZnNldF9rZXJuZWwocG1kLCB2YWRkcik7CiAJaWYgKCFwdGVfbm9uZSgqcHRlKSAmJiBwdGVfdmFsKG5ld19wdGUpICYmCkBAIC0xODUsNiArMTg0LDY0IEBACiAJX19mbHVzaF90bGJfb25lKHZhZGRyKTsKIH0KIAordm9pZAorc2V0X3B0ZV92YWRkcih1bnNpZ25lZCBsb25nIHZhZGRyLCBwdGVfdCBwdGV2YWwpCit7CisJcGdkX3QgKnBnZDsKKwlwdWRfdCAqcHVkX3BhZ2U7CisKKwlwcl9kZWJ1Zygic2V0X3B0ZV92YWRkciAlbHggdG8gJWx4XG4iLCB2YWRkciwgbmF0aXZlX3B0ZV92YWwocHRldmFsKSk7CisKKwlwZ2QgPSBwZ2Rfb2Zmc2V0X2sodmFkZHIpOworCWlmIChwZ2Rfbm9uZSgqcGdkKSkgeworCQlwcmludGsoS0VSTl9FUlIKKwkJCSJQR0QgRklYTUFQIE1JU1NJTkcsIGl0IHNob3VsZCBiZSBzZXR1cCBpbiBoZWFkLlMhXG4iKTsKKwkJcmV0dXJuOworCX0KKwlwdWRfcGFnZSA9IChwdWRfdCopcGdkX3BhZ2VfdmFkZHIoKnBnZCk7CisJc2V0X3B0ZV92YWRkcl9wdWQocHVkX3BhZ2UsIHZhZGRyLCBwdGV2YWwpOworfQorCisvKgorICogQ3JlYXRlIGxhcmdlIHBhZ2UgdGFibGUgbWFwcGluZ3MgZm9yIGEgcmFuZ2Ugb2YgcGh5c2ljYWwgYWRkcmVzc2VzLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgX19pbml0X2V4dHJhX21hcHBpbmcodW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkJCQlwZ3Byb3RfdCBwcm90KQoreworCXBnZF90ICpwZ2Q7CisJcHVkX3QgKnB1ZDsKKwlwbWRfdCAqcG1kOworCisJQlVHX09OKChwaHlzICYgflBNRF9NQVNLKSB8fCAoc2l6ZSAmIH5QTURfTUFTSykpOworCWZvciAoOyBzaXplOyBwaHlzICs9IFBNRF9TSVpFLCBzaXplIC09IFBNRF9TSVpFKSB7CisJCXBnZCA9IHBnZF9vZmZzZXRfaygodW5zaWduZWQgbG9uZylfX3ZhKHBoeXMpKTsKKwkJaWYgKHBnZF9ub25lKCpwZ2QpKSB7CisJCQlwdWQgPSAocHVkX3QgKikgc3BwX2dldHBhZ2UoKTsKKwkJCXNldF9wZ2QocGdkLCBfX3BnZChfX3BhKHB1ZCkgfCBfS0VSTlBHX1RBQkxFIHwKKwkJCQkJCV9QQUdFX1VTRVIpKTsKKwkJfQorCQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgKHVuc2lnbmVkIGxvbmcpX192YShwaHlzKSk7CisJCWlmIChwdWRfbm9uZSgqcHVkKSkgeworCQkJcG1kID0gKHBtZF90ICopIHNwcF9nZXRwYWdlKCk7CisJCQlzZXRfcHVkKHB1ZCwgX19wdWQoX19wYShwbWQpIHwgX0tFUk5QR19UQUJMRSB8CisJCQkJCQlfUEFHRV9VU0VSKSk7CisJCX0KKwkJcG1kID0gcG1kX29mZnNldChwdWQsIHBoeXMpOworCQlCVUdfT04oIXBtZF9ub25lKCpwbWQpKTsKKwkJc2V0X3BtZChwbWQsIF9fcG1kKHBoeXMgfCBwZ3Byb3RfdmFsKHByb3QpKSk7CisJfQorfQorCit2b2lkIF9faW5pdCBpbml0X2V4dHJhX21hcHBpbmdfd2IodW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIHNpemUpCit7CisJX19pbml0X2V4dHJhX21hcHBpbmcocGh5cywgc2l6ZSwgUEFHRV9LRVJORUxfTEFSR0UpOworfQorCit2b2lkIF9faW5pdCBpbml0X2V4dHJhX21hcHBpbmdfdWModW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIHNpemUpCit7CisJX19pbml0X2V4dHJhX21hcHBpbmcocGh5cywgc2l6ZSwgUEFHRV9LRVJORUxfTEFSR0VfTk9DQUNIRSk7Cit9CisKIC8qCiAgKiBUaGUgaGVhZC5TIGNvZGUgc2V0cyB1cCB0aGUga2VybmVsIGhpZ2ggbWFwcGluZzoKICAqCkBAIC0yMTMsMjAgKzI3MCw5IEBACiAJfQogfQogCi0vKiBOT1RFOiB0aGlzIGlzIG1lYW50IHRvIGJlIHJ1biBvbmx5IGF0IGJvb3QgKi8KLXZvaWQgX19pbml0IF9fc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgcHJvdCkKLXsKLQl1bnNpZ25lZCBsb25nIGFkZHJlc3MgPSBfX2ZpeF90b192aXJ0KGlkeCk7Ci0KLQlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykgewotCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgX19zZXRfZml4bWFwXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlzZXRfcHRlX3BoeXMoYWRkcmVzcywgcGh5cywgcHJvdCk7Ci19Ci0KIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgdGFibGVfc3RhcnQ7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXRkYXRhIHRhYmxlX2VuZDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdGRhdGEgdGFibGVfdG9wOwogCiBzdGF0aWMgX19tZW1pbml0IHZvaWQgKmFsbG9jX2xvd19wYWdlKHVuc2lnbmVkIGxvbmcgKnBoeXMpCiB7CkBAIC0yNDAsNyArMjg2LDcgQEAKIAkJcmV0dXJuIGFkcjsKIAl9CiAKLQlpZiAocGZuID49IGVuZF9wZm4pCisJaWYgKHBmbiA+PSB0YWJsZV90b3ApCiAJCXBhbmljKCJhbGxvY19sb3dfcGFnZTogcmFuIG91dCBvZiBtZW1vcnkiKTsKIAogCWFkciA9IGVhcmx5X2lvcmVtYXAocGZuICogUEFHRV9TSVpFLCBQQUdFX1NJWkUpOwpAQCAtMjU3LDY1ICszMDMsNjEgQEAKIAllYXJseV9pb3VubWFwKGFkciwgUEFHRV9TSVpFKTsKIH0KIAotLyogTXVzdCBydW4gYmVmb3JlIHphcF9sb3dfbWFwcGluZ3MgKi8KLV9fbWVtaW5pdCB2b2lkICplYXJseV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQorc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0CitwaHlzX3B0ZV9pbml0KHB0ZV90ICpwdGVfcGFnZSwgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCkKIHsKLQlwbWRfdCAqcG1kLCAqbGFzdF9wbWQ7Ci0JdW5zaWduZWQgbG9uZyB2YWRkcjsKLQlpbnQgaSwgcG1kczsKKwl1bnNpZ25lZCBwYWdlcyA9IDA7CisJdW5zaWduZWQgbG9uZyBsYXN0X21hcF9hZGRyID0gZW5kOworCWludCBpOwogCi0JcG1kcyA9ICgoYWRkciAmIH5QTURfTUFTSykgKyBzaXplICsgflBNRF9NQVNLKSAvIFBNRF9TSVpFOwotCXZhZGRyID0gX19TVEFSVF9LRVJORUxfbWFwOwotCXBtZCA9IGxldmVsMl9rZXJuZWxfcGd0OwotCWxhc3RfcG1kID0gbGV2ZWwyX2tlcm5lbF9wZ3QgKyBQVFJTX1BFUl9QTUQgLSAxOworCXB0ZV90ICpwdGUgPSBwdGVfcGFnZSArIHB0ZV9pbmRleChhZGRyKTsKIAotCWZvciAoOyBwbWQgPD0gbGFzdF9wbWQ7IHBtZCsrLCB2YWRkciArPSBQTURfU0laRSkgewotCQlmb3IgKGkgPSAwOyBpIDwgcG1kczsgaSsrKSB7Ci0JCQlpZiAocG1kX3ByZXNlbnQocG1kW2ldKSkKLQkJCQlnb3RvIGNvbnRpbnVlX291dGVyX2xvb3A7CisJZm9yKGkgPSBwdGVfaW5kZXgoYWRkcik7IGkgPCBQVFJTX1BFUl9QVEU7IGkrKywgYWRkciArPSBQQUdFX1NJWkUsIHB0ZSsrKSB7CisKKwkJaWYgKGFkZHIgPj0gZW5kKSB7CisJCQlpZiAoIWFmdGVyX2Jvb3RtZW0pIHsKKwkJCQlmb3IoOyBpIDwgUFRSU19QRVJfUFRFOyBpKyssIHB0ZSsrKQorCQkJCQlzZXRfcHRlKHB0ZSwgX19wdGUoMCkpOworCQkJfQorCQkJYnJlYWs7CiAJCX0KLQkJdmFkZHIgKz0gYWRkciAmIH5QTURfTUFTSzsKLQkJYWRkciAmPSBQTURfTUFTSzsKIAotCQlmb3IgKGkgPSAwOyBpIDwgcG1kczsgaSsrLCBhZGRyICs9IFBNRF9TSVpFKQotCQkJc2V0X3BtZChwbWQraSwgX19wbWQoYWRkciB8IF9fUEFHRV9LRVJORUxfTEFSR0VfRVhFQykpOwotCQlfX2ZsdXNoX3RsYl9hbGwoKTsKKwkJaWYgKHB0ZV92YWwoKnB0ZSkpCisJCQljb250aW51ZTsKIAotCQlyZXR1cm4gKHZvaWQgKil2YWRkcjsKLWNvbnRpbnVlX291dGVyX2xvb3A6Ci0JCTsKKwkJaWYgKDApCisJCQlwcmludGsoIiAgIHB0ZT0lcCBhZGRyPSVseCBwdGU9JTAxNmx4XG4iLAorCQkJICAgICAgIHB0ZSwgYWRkciwgcGZuX3B0ZShhZGRyID4+IFBBR0VfU0hJRlQsIFBBR0VfS0VSTkVMKS5wdGUpOworCQlzZXRfcHRlKHB0ZSwgcGZuX3B0ZShhZGRyID4+IFBBR0VfU0hJRlQsIFBBR0VfS0VSTkVMKSk7CisJCWxhc3RfbWFwX2FkZHIgPSAoYWRkciAmIFBBR0VfTUFTSykgKyBQQUdFX1NJWkU7CisJCXBhZ2VzKys7CiAJfQotCXByaW50ayhLRVJOX0VSUiAiZWFybHlfaW9yZW1hcCgweCVseCwgJWx1KSBmYWlsZWRcbiIsIGFkZHIsIHNpemUpOworCXVwZGF0ZV9wYWdlX2NvdW50KFBHX0xFVkVMXzRLLCBwYWdlcyk7CiAKLQlyZXR1cm4gTlVMTDsKLX0KLQotLyoKLSAqIFRvIGF2b2lkIHZpcnR1YWwgYWxpYXNlcyBsYXRlcjoKLSAqLwotX19tZW1pbml0IHZvaWQgZWFybHlfaW91bm1hcCh2b2lkICphZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpCi17Ci0JdW5zaWduZWQgbG9uZyB2YWRkcjsKLQlwbWRfdCAqcG1kOwotCWludCBpLCBwbWRzOwotCi0JdmFkZHIgPSAodW5zaWduZWQgbG9uZylhZGRyOwotCXBtZHMgPSAoKHZhZGRyICYgflBNRF9NQVNLKSArIHNpemUgKyB+UE1EX01BU0spIC8gUE1EX1NJWkU7Ci0JcG1kID0gbGV2ZWwyX2tlcm5lbF9wZ3QgKyBwbWRfaW5kZXgodmFkZHIpOwotCi0JZm9yIChpID0gMDsgaSA8IHBtZHM7IGkrKykKLQkJcG1kX2NsZWFyKHBtZCArIGkpOwotCi0JX19mbHVzaF90bGJfYWxsKCk7CisJcmV0dXJuIGxhc3RfbWFwX2FkZHI7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAotcGh5c19wbWRfaW5pdChwbWRfdCAqcG1kX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zaWduZWQgbG9uZyBlbmQpCitwaHlzX3B0ZV91cGRhdGUocG1kX3QgKnBtZCwgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCB1bnNpZ25lZCBsb25nIGVuZCkKIHsKKwlwdGVfdCAqcHRlID0gKHB0ZV90ICopcG1kX3BhZ2VfdmFkZHIoKnBtZCk7CisKKwlyZXR1cm4gcGh5c19wdGVfaW5pdChwdGUsIGFkZHJlc3MsIGVuZCk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAorcGh5c19wbWRfaW5pdChwbWRfdCAqcG1kX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zaWduZWQgbG9uZyBlbmQsCisJCQkgdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKK3sKKwl1bnNpZ25lZCBsb25nIHBhZ2VzID0gMDsKKwl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHIgPSBlbmQ7CisKIAlpbnQgaSA9IHBtZF9pbmRleChhZGRyZXNzKTsKIAogCWZvciAoOyBpIDwgUFRSU19QRVJfUE1EOyBpKyssIGFkZHJlc3MgKz0gUE1EX1NJWkUpIHsKKwkJdW5zaWduZWQgbG9uZyBwdGVfcGh5czsKIAkJcG1kX3QgKnBtZCA9IHBtZF9wYWdlICsgcG1kX2luZGV4KGFkZHJlc3MpOworCQlwdGVfdCAqcHRlOwogCiAJCWlmIChhZGRyZXNzID49IGVuZCkgewogCQkJaWYgKCFhZnRlcl9ib290bWVtKSB7CkBAIC0zMjUsMzEgKzM2Nyw1MCBAQAogCQkJYnJlYWs7CiAJCX0KIAotCQlpZiAocG1kX3ZhbCgqcG1kKSkKKwkJaWYgKHBtZF92YWwoKnBtZCkpIHsKKwkJCWlmICghcG1kX2xhcmdlKCpwbWQpKQorCQkJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B0ZV91cGRhdGUocG1kLCBhZGRyZXNzLAorCQkJCQkJCQkgZW5kKTsKIAkJCWNvbnRpbnVlOworCQl9CiAKLQkJc2V0X3B0ZSgocHRlX3QgKilwbWQsCi0JCQlwZm5fcHRlKGFkZHJlc3MgPj4gUEFHRV9TSElGVCwgUEFHRV9LRVJORUxfTEFSR0UpKTsKKwkJaWYgKHBhZ2Vfc2l6ZV9tYXNrICYgKDE8PFBHX0xFVkVMXzJNKSkgeworCQkJcGFnZXMrKzsKKwkJCXNldF9wdGUoKHB0ZV90ICopcG1kLAorCQkJCXBmbl9wdGUoYWRkcmVzcyA+PiBQQUdFX1NISUZULCBQQUdFX0tFUk5FTF9MQVJHRSkpOworCQkJbGFzdF9tYXBfYWRkciA9IChhZGRyZXNzICYgUE1EX01BU0spICsgUE1EX1NJWkU7CisJCQljb250aW51ZTsKKwkJfQorCisJCXB0ZSA9IGFsbG9jX2xvd19wYWdlKCZwdGVfcGh5cyk7CisJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B0ZV9pbml0KHB0ZSwgYWRkcmVzcywgZW5kKTsKKwkJdW5tYXBfbG93X3BhZ2UocHRlKTsKKworCQlwbWRfcG9wdWxhdGVfa2VybmVsKCZpbml0X21tLCBwbWQsIF9fdmEocHRlX3BoeXMpKTsKIAl9Ci0JcmV0dXJuIGFkZHJlc3M7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfMk0sIHBhZ2VzKTsKKwlyZXR1cm4gbGFzdF9tYXBfYWRkcjsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0Ci1waHlzX3BtZF91cGRhdGUocHVkX3QgKnB1ZCwgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCB1bnNpZ25lZCBsb25nIGVuZCkKK3BoeXNfcG1kX3VwZGF0ZShwdWRfdCAqcHVkLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHVuc2lnbmVkIGxvbmcgZW5kLAorCQkJIHVuc2lnbmVkIGxvbmcgcGFnZV9zaXplX21hc2spCiB7CiAJcG1kX3QgKnBtZCA9IHBtZF9vZmZzZXQocHVkLCAwKTsKIAl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHI7CiAKIAlzcGluX2xvY2soJmluaXRfbW0ucGFnZV90YWJsZV9sb2NrKTsKLQlsYXN0X21hcF9hZGRyID0gcGh5c19wbWRfaW5pdChwbWQsIGFkZHJlc3MsIGVuZCk7CisJbGFzdF9tYXBfYWRkciA9IHBoeXNfcG1kX2luaXQocG1kLCBhZGRyZXNzLCBlbmQsIHBhZ2Vfc2l6ZV9tYXNrKTsKIAlzcGluX3VubG9jaygmaW5pdF9tbS5wYWdlX3RhYmxlX2xvY2spOwogCV9fZmx1c2hfdGxiX2FsbCgpOwogCXJldHVybiBsYXN0X21hcF9hZGRyOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXQKLXBoeXNfcHVkX2luaXQocHVkX3QgKnB1ZF9wYWdlLCB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kKQorcGh5c19wdWRfaW5pdChwdWRfdCAqcHVkX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBlbmQsCisJCQkgdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKIHsKKwl1bnNpZ25lZCBsb25nIHBhZ2VzID0gMDsKIAl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHIgPSBlbmQ7CiAJaW50IGkgPSBwdWRfaW5kZXgoYWRkcik7CiAKQEAgLTM2OSwxMSArNDMwLDEzIEBACiAKIAkJaWYgKHB1ZF92YWwoKnB1ZCkpIHsKIAkJCWlmICghcHVkX2xhcmdlKCpwdWQpKQotCQkJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF91cGRhdGUocHVkLCBhZGRyLCBlbmQpOworCQkJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF91cGRhdGUocHVkLCBhZGRyLCBlbmQsCisJCQkJCQkJIHBhZ2Vfc2l6ZV9tYXNrKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJaWYgKGRpcmVjdF9nYnBhZ2VzKSB7CisJCWlmIChwYWdlX3NpemVfbWFzayAmICgxPDxQR19MRVZFTF8xRykpIHsKKwkJCXBhZ2VzKys7CiAJCQlzZXRfcHRlKChwdGVfdCAqKXB1ZCwKIAkJCQlwZm5fcHRlKGFkZHIgPj4gUEFHRV9TSElGVCwgUEFHRV9LRVJORUxfTEFSR0UpKTsKIAkJCWxhc3RfbWFwX2FkZHIgPSAoYWRkciAmIFBVRF9NQVNLKSArIFBVRF9TSVpFOwpAQCAtMzgzLDI3ICs0NDYsNTAgQEAKIAkJcG1kID0gYWxsb2NfbG93X3BhZ2UoJnBtZF9waHlzKTsKIAogCQlzcGluX2xvY2soJmluaXRfbW0ucGFnZV90YWJsZV9sb2NrKTsKLQkJc2V0X3B1ZChwdWQsIF9fcHVkKHBtZF9waHlzIHwgX0tFUk5QR19UQUJMRSkpOwotCQlsYXN0X21hcF9hZGRyID0gcGh5c19wbWRfaW5pdChwbWQsIGFkZHIsIGVuZCk7CisJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF9pbml0KHBtZCwgYWRkciwgZW5kLCBwYWdlX3NpemVfbWFzayk7CisJCXVubWFwX2xvd19wYWdlKHBtZCk7CisJCXB1ZF9wb3B1bGF0ZSgmaW5pdF9tbSwgcHVkLCBfX3ZhKHBtZF9waHlzKSk7CiAJCXNwaW5fdW5sb2NrKCZpbml0X21tLnBhZ2VfdGFibGVfbG9jayk7CiAKLQkJdW5tYXBfbG93X3BhZ2UocG1kKTsKIAl9CiAJX19mbHVzaF90bGJfYWxsKCk7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfMUcsIHBhZ2VzKTsKIAotCXJldHVybiBsYXN0X21hcF9hZGRyID4+IFBBR0VfU0hJRlQ7CisJcmV0dXJuIGxhc3RfbWFwX2FkZHI7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAorcGh5c19wdWRfdXBkYXRlKHBnZF90ICpwZ2QsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBlbmQsCisJCSB1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrKQoreworCXB1ZF90ICpwdWQ7CisKKwlwdWQgPSAocHVkX3QgKilwZ2RfcGFnZV92YWRkcigqcGdkKTsKKworCXJldHVybiBwaHlzX3B1ZF9pbml0KHB1ZCwgYWRkciwgZW5kLCBwYWdlX3NpemVfbWFzayk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBmaW5kX2Vhcmx5X3RhYmxlX3NwYWNlKHVuc2lnbmVkIGxvbmcgZW5kKQogewotCXVuc2lnbmVkIGxvbmcgcHVkcywgcG1kcywgdGFibGVzLCBzdGFydDsKKwl1bnNpZ25lZCBsb25nIHB1ZHMsIHBtZHMsIHB0ZXMsIHRhYmxlcywgc3RhcnQ7CiAKIAlwdWRzID0gKGVuZCArIFBVRF9TSVpFIC0gMSkgPj4gUFVEX1NISUZUOwogCXRhYmxlcyA9IHJvdW5kX3VwKHB1ZHMgKiBzaXplb2YocHVkX3QpLCBQQUdFX1NJWkUpOwotCWlmICghZGlyZWN0X2dicGFnZXMpIHsKKwlpZiAoZGlyZWN0X2dicGFnZXMpIHsKKwkJdW5zaWduZWQgbG9uZyBleHRyYTsKKwkJZXh0cmEgPSBlbmQgLSAoKGVuZD4+UFVEX1NISUZUKSA8PCBQVURfU0hJRlQpOworCQlwbWRzID0gKGV4dHJhICsgUE1EX1NJWkUgLSAxKSA+PiBQTURfU0hJRlQ7CisJfSBlbHNlCiAJCXBtZHMgPSAoZW5kICsgUE1EX1NJWkUgLSAxKSA+PiBQTURfU0hJRlQ7Ci0JCXRhYmxlcyArPSByb3VuZF91cChwbWRzICogc2l6ZW9mKHBtZF90KSwgUEFHRV9TSVpFKTsKLQl9CisJdGFibGVzICs9IHJvdW5kX3VwKHBtZHMgKiBzaXplb2YocG1kX3QpLCBQQUdFX1NJWkUpOworCisJaWYgKGNwdV9oYXNfcHNlKSB7CisJCXVuc2lnbmVkIGxvbmcgZXh0cmE7CisJCWV4dHJhID0gZW5kIC0gKChlbmQ+PlBNRF9TSElGVCkgPDwgUE1EX1NISUZUKTsKKwkJcHRlcyA9IChleHRyYSArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CisJfSBlbHNlCisJCXB0ZXMgPSAoZW5kICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKKwl0YWJsZXMgKz0gcm91bmRfdXAocHRlcyAqIHNpemVvZihwdGVfdCksIFBBR0VfU0laRSk7CiAKIAkvKgogCSAqIFJFRC1QRU4gcHV0dGluZyBwYWdlIHRhYmxlcyBvbmx5IG9uIG5vZGUgMCBjb3VsZApAQCAtNDE3LDEwICs1MDMsMTAgQEAKIAogCXRhYmxlX3N0YXJ0ID4+PSBQQUdFX1NISUZUOwogCXRhYmxlX2VuZCA9IHRhYmxlX3N0YXJ0OworCXRhYmxlX3RvcCA9IHRhYmxlX3N0YXJ0ICsgKHRhYmxlcyA+PiBQQUdFX1NISUZUKTsKIAotCWVhcmx5X3ByaW50aygia2VybmVsIGRpcmVjdCBtYXBwaW5nIHRhYmxlcyB1cCB0byAlbHggQCAlbHgtJWx4XG4iLAotCQllbmQsIHRhYmxlX3N0YXJ0IDw8IFBBR0VfU0hJRlQsCi0JCSh0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZUKSArIHRhYmxlcyk7CisJcHJpbnRrKEtFUk5fREVCVUcgImtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMgdXAgdG8gJWx4IEAgJWx4LSVseFxuIiwKKwkJZW5kLCB0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULCB0YWJsZV90b3AgPDwgUEFHRV9TSElGVCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBpbml0X2dicGFnZXModm9pZCkKQEAgLTQzMSw3ICs1MTcsNyBAQAogCQlkaXJlY3RfZ2JwYWdlcyA9IDA7CiB9CiAKLSNpZmRlZiBDT05GSUdfTUVNVEVTVF9CT09UUEFSQU0KKyNpZmRlZiBDT05GSUdfTUVNVEVTVAogCiBzdGF0aWMgdm9pZCBfX2luaXQgbWVtdGVzdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKIAkJCQkgdW5zaWduZWQgcGF0dGVybikKQEAgLTQ5Myw3ICs1NzksOCBAQAogCiB9CiAKLXN0YXRpYyBpbnQgbWVtdGVzdF9wYXR0ZXJuIF9faW5pdGRhdGEgPSBDT05GSUdfTUVNVEVTVF9CT09UUEFSQU1fVkFMVUU7CisvKiBkZWZhdWx0IGlzIGRpc2FibGVkICovCitzdGF0aWMgaW50IG1lbXRlc3RfcGF0dGVybiBfX2luaXRkYXRhOwogCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW10ZXN0KGNoYXIgKmFyZykKIHsKQEAgLTU0MiwxNSArNjI5LDg1IEBACiB9CiAjZW5kaWYKIAorc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IGtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQodW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgZW5kLAorCQkJCQkJdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKK3sKKworCXVuc2lnbmVkIGxvbmcgbmV4dCwgbGFzdF9tYXBfYWRkciA9IGVuZDsKKworCXN0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpX192YShzdGFydCk7CisJZW5kID0gKHVuc2lnbmVkIGxvbmcpX192YShlbmQpOworCisJZm9yICg7IHN0YXJ0IDwgZW5kOyBzdGFydCA9IG5leHQpIHsKKwkJcGdkX3QgKnBnZCA9IHBnZF9vZmZzZXRfayhzdGFydCk7CisJCXVuc2lnbmVkIGxvbmcgcHVkX3BoeXM7CisJCXB1ZF90ICpwdWQ7CisKKwkJbmV4dCA9IHN0YXJ0ICsgUEdESVJfU0laRTsKKwkJaWYgKG5leHQgPiBlbmQpCisJCQluZXh0ID0gZW5kOworCisJCWlmIChwZ2RfdmFsKCpwZ2QpKSB7CisJCQlsYXN0X21hcF9hZGRyID0gcGh5c19wdWRfdXBkYXRlKHBnZCwgX19wYShzdGFydCksCisJCQkJCQkgX19wYShlbmQpLCBwYWdlX3NpemVfbWFzayk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChhZnRlcl9ib290bWVtKQorCQkJcHVkID0gcHVkX29mZnNldChwZ2QsIHN0YXJ0ICYgUEdESVJfTUFTSyk7CisJCWVsc2UKKwkJCXB1ZCA9IGFsbG9jX2xvd19wYWdlKCZwdWRfcGh5cyk7CisKKwkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcHVkX2luaXQocHVkLCBfX3BhKHN0YXJ0KSwgX19wYShuZXh0KSwKKwkJCQkJCSBwYWdlX3NpemVfbWFzayk7CisJCXVubWFwX2xvd19wYWdlKHB1ZCk7CisJCXBnZF9wb3B1bGF0ZSgmaW5pdF9tbSwgcGdkX29mZnNldF9rKHN0YXJ0KSwKKwkJCSAgICAgX192YShwdWRfcGh5cykpOworCX0KKworCXJldHVybiBsYXN0X21hcF9hZGRyOworfQorCitzdHJ1Y3QgbWFwX3JhbmdlIHsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0OworCXVuc2lnbmVkIGxvbmcgZW5kOworCXVuc2lnbmVkIHBhZ2Vfc2l6ZV9tYXNrOworfTsKKworI2RlZmluZSBOUl9SQU5HRV9NUiA1CisKK3N0YXRpYyBpbnQgc2F2ZV9tcihzdHJ1Y3QgbWFwX3JhbmdlICptciwgaW50IG5yX3JhbmdlLAorCQkgICB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuLAorCQkgICB1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrKQoreworCisJaWYgKHN0YXJ0X3BmbiA8IGVuZF9wZm4pIHsKKwkJaWYgKG5yX3JhbmdlID49IE5SX1JBTkdFX01SKQorCQkJcGFuaWMoInJ1biBvdXQgb2YgcmFuZ2UgZm9yIGluaXRfbWVtb3J5X21hcHBpbmdcbiIpOworCQltcltucl9yYW5nZV0uc3RhcnQgPSBzdGFydF9wZm48PFBBR0VfU0hJRlQ7CisJCW1yW25yX3JhbmdlXS5lbmQgICA9IGVuZF9wZm48PFBBR0VfU0hJRlQ7CisJCW1yW25yX3JhbmdlXS5wYWdlX3NpemVfbWFzayA9IHBhZ2Vfc2l6ZV9tYXNrOworCQlucl9yYW5nZSsrOworCX0KKworCXJldHVybiBucl9yYW5nZTsKK30KKwogLyoKICAqIFNldHVwIHRoZSBkaXJlY3QgbWFwcGluZyBvZiB0aGUgcGh5c2ljYWwgbWVtb3J5IGF0IFBBR0VfT0ZGU0VULgogICogVGhpcyBydW5zIGJlZm9yZSBib290bWVtIGlzIGluaXRpYWxpemVkIGFuZCBnZXRzIHBhZ2VzIGRpcmVjdGx5IGZyb20KICAqIHRoZSBwaHlzaWNhbCBtZW1vcnkuIFRvIGFjY2VzcyB0aGVtIHRoZXkgYXJlIHRlbXBvcmFyaWx5IG1hcHBlZC4KICAqLwotdW5zaWduZWQgbG9uZyBfX2luaXRfcmVmb2sgaW5pdF9tZW1vcnlfbWFwcGluZyh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3Vuc2lnbmVkIGxvbmcgX19pbml0X3JlZm9rIGluaXRfbWVtb3J5X21hcHBpbmcodW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgZW5kKQogewotCXVuc2lnbmVkIGxvbmcgbmV4dCwgbGFzdF9tYXBfYWRkciA9IGVuZDsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BoeXMgPSBzdGFydCwgZW5kX3BoeXMgPSBlbmQ7CisJdW5zaWduZWQgbG9uZyBsYXN0X21hcF9hZGRyID0gMDsKKwl1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrID0gMDsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbjsKKworCXN0cnVjdCBtYXBfcmFuZ2UgbXJbTlJfUkFOR0VfTVJdOworCWludCBucl9yYW5nZSwgaTsKIAogCXByaW50ayhLRVJOX0lORk8gImluaXRfbWVtb3J5X21hcHBpbmdcbiIpOwogCkBAIC01NjEsNDggKzcxOCwxMTUgQEAKIAkgKiBtZW1vcnkgbWFwcGVkLiBVbmZvcnR1bmF0ZWx5IHRoaXMgaXMgZG9uZSBjdXJyZW50bHkgYmVmb3JlIHRoZQogCSAqIG5vZGVzIGFyZSBkaXNjb3ZlcmVkLgogCSAqLwotCWlmICghYWZ0ZXJfYm9vdG1lbSkgeworCWlmICghYWZ0ZXJfYm9vdG1lbSkKIAkJaW5pdF9nYnBhZ2VzKCk7CisKKwlpZiAoZGlyZWN0X2dicGFnZXMpCisJCXBhZ2Vfc2l6ZV9tYXNrIHw9IDEgPDwgUEdfTEVWRUxfMUc7CisJaWYgKGNwdV9oYXNfcHNlKQorCQlwYWdlX3NpemVfbWFzayB8PSAxIDw8IFBHX0xFVkVMXzJNOworCisJbWVtc2V0KG1yLCAwLCBzaXplb2YobXIpKTsKKwlucl9yYW5nZSA9IDA7CisKKwkvKiBoZWFkIGlmIG5vdCBiaWcgcGFnZSBhbGlnbm1lbnQgPyovCisJc3RhcnRfcGZuID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKKwllbmRfcGZuID0gKChzdGFydCArIChQTURfU0laRSAtIDEpKSA+PiBQTURfU0hJRlQpCisJCQk8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLCAwKTsKKworCS8qIGJpZyBwYWdlICgyTSkgcmFuZ2UqLworCXN0YXJ0X3BmbiA9ICgoc3RhcnQgKyAoUE1EX1NJWkUgLSAxKSk+PlBNRF9TSElGVCkKKwkJCSA8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJZW5kX3BmbiA9ICgoc3RhcnQgKyAoUFVEX1NJWkUgLSAxKSk+PlBVRF9TSElGVCkKKwkJCSA8PCAoUFVEX1NISUZUIC0gUEFHRV9TSElGVCk7CisJaWYgKGVuZF9wZm4gPiAoKGVuZD4+UFVEX1NISUZUKTw8KFBVRF9TSElGVCAtIFBBR0VfU0hJRlQpKSkKKwkJZW5kX3BmbiA9ICgoZW5kPj5QVURfU0hJRlQpPDwoUFVEX1NISUZUIC0gUEFHRV9TSElGVCkpOworCW5yX3JhbmdlID0gc2F2ZV9tcihtciwgbnJfcmFuZ2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwKKwkJCXBhZ2Vfc2l6ZV9tYXNrICYgKDE8PFBHX0xFVkVMXzJNKSk7CisKKwkvKiBiaWcgcGFnZSAoMUcpIHJhbmdlICovCisJc3RhcnRfcGZuID0gZW5kX3BmbjsKKwllbmRfcGZuID0gKGVuZD4+UFVEX1NISUZUKSA8PCAoUFVEX1NISUZUIC0gUEFHRV9TSElGVCk7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLAorCQkJCXBhZ2Vfc2l6ZV9tYXNrICYKKwkJCQkgKCgxPDxQR19MRVZFTF8yTSl8KDE8PFBHX0xFVkVMXzFHKSkpOworCisJLyogdGFpbCBpcyBub3QgYmlnIHBhZ2UgKDFHKSBhbGlnbm1lbnQgKi8KKwlzdGFydF9wZm4gPSBlbmRfcGZuOworCWVuZF9wZm4gPSAoZW5kPj5QTURfU0hJRlQpIDw8IChQTURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwlucl9yYW5nZSA9IHNhdmVfbXIobXIsIG5yX3JhbmdlLCBzdGFydF9wZm4sIGVuZF9wZm4sCisJCQlwYWdlX3NpemVfbWFzayAmICgxPDxQR19MRVZFTF8yTSkpOworCisJLyogdGFpbCBpcyBub3QgYmlnIHBhZ2UgKDJNKSBhbGlnbm1lbnQgKi8KKwlzdGFydF9wZm4gPSBlbmRfcGZuOworCWVuZF9wZm4gPSBlbmQ+PlBBR0VfU0hJRlQ7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLCAwKTsKKworCS8qIHRyeSB0byBtZXJnZSBzYW1lIHBhZ2Ugc2l6ZSBhbmQgY29udGludW91cyAqLworCWZvciAoaSA9IDA7IG5yX3JhbmdlID4gMSAmJiBpIDwgbnJfcmFuZ2UgLSAxOyBpKyspIHsKKwkJdW5zaWduZWQgbG9uZyBvbGRfc3RhcnQ7CisJCWlmIChtcltpXS5lbmQgIT0gbXJbaSsxXS5zdGFydCB8fAorCQkgICAgbXJbaV0ucGFnZV9zaXplX21hc2sgIT0gbXJbaSsxXS5wYWdlX3NpemVfbWFzaykKKwkJCWNvbnRpbnVlOworCQkvKiBtb3ZlIGl0ICovCisJCW9sZF9zdGFydCA9IG1yW2ldLnN0YXJ0OworCQltZW1tb3ZlKCZtcltpXSwgJm1yW2krMV0sCisJCQkgKG5yX3JhbmdlIC0gMSAtIGkpICogc2l6ZW9mIChzdHJ1Y3QgbWFwX3JhbmdlKSk7CisJCW1yW2ldLnN0YXJ0ID0gb2xkX3N0YXJ0OworCQlucl9yYW5nZS0tOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKQorCQlwcmludGsoS0VSTl9ERUJVRyAiICUwMTBseCAtICUwMTBseCBwYWdlICVzXG4iLAorCQkJCW1yW2ldLnN0YXJ0LCBtcltpXS5lbmQsCisJCQkobXJbaV0ucGFnZV9zaXplX21hc2sgJiAoMTw8UEdfTEVWRUxfMUcpKT8iMUciOigKKwkJCSAobXJbaV0ucGFnZV9zaXplX21hc2sgJiAoMTw8UEdfTEVWRUxfMk0pKT8iMk0iOiI0ayIpKTsKKworCWlmICghYWZ0ZXJfYm9vdG1lbSkKIAkJZmluZF9lYXJseV90YWJsZV9zcGFjZShlbmQpOwotCX0KIAotCXN0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpX192YShzdGFydCk7Ci0JZW5kID0gKHVuc2lnbmVkIGxvbmcpX192YShlbmQpOwotCi0JZm9yICg7IHN0YXJ0IDwgZW5kOyBzdGFydCA9IG5leHQpIHsKLQkJcGdkX3QgKnBnZCA9IHBnZF9vZmZzZXRfayhzdGFydCk7Ci0JCXVuc2lnbmVkIGxvbmcgcHVkX3BoeXM7Ci0JCXB1ZF90ICpwdWQ7Ci0KLQkJaWYgKGFmdGVyX2Jvb3RtZW0pCi0JCQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgc3RhcnQgJiBQR0RJUl9NQVNLKTsKLQkJZWxzZQotCQkJcHVkID0gYWxsb2NfbG93X3BhZ2UoJnB1ZF9waHlzKTsKLQotCQluZXh0ID0gc3RhcnQgKyBQR0RJUl9TSVpFOwotCQlpZiAobmV4dCA+IGVuZCkKLQkJCW5leHQgPSBlbmQ7Ci0JCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B1ZF9pbml0KHB1ZCwgX19wYShzdGFydCksIF9fcGEobmV4dCkpOwotCQlpZiAoIWFmdGVyX2Jvb3RtZW0pCi0JCQlzZXRfcGdkKHBnZF9vZmZzZXRfayhzdGFydCksIG1rX2tlcm5lbF9wZ2QocHVkX3BoeXMpKTsKLQkJdW5tYXBfbG93X3BhZ2UocHVkKTsKLQl9CisJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCWxhc3RfbWFwX2FkZHIgPSBrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KAorCQkJCQltcltpXS5zdGFydCwgbXJbaV0uZW5kLAorCQkJCQltcltpXS5wYWdlX3NpemVfbWFzayk7CiAKIAlpZiAoIWFmdGVyX2Jvb3RtZW0pCiAJCW1tdV9jcjRfZmVhdHVyZXMgPSByZWFkX2NyNCgpOwogCV9fZmx1c2hfdGxiX2FsbCgpOwogCi0JaWYgKCFhZnRlcl9ib290bWVtKQorCWlmICghYWZ0ZXJfYm9vdG1lbSAmJiB0YWJsZV9lbmQgPiB0YWJsZV9zdGFydCkKIAkJcmVzZXJ2ZV9lYXJseSh0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULAogCQkJCSB0YWJsZV9lbmQgPDwgUEFHRV9TSElGVCwgIlBHVEFCTEUiKTsKIAotCWlmICghYWZ0ZXJfYm9vdG1lbSkKLQkJZWFybHlfbWVtdGVzdChzdGFydF9waHlzLCBlbmRfcGh5cyk7CisJcHJpbnRrKEtFUk5fSU5GTyAibGFzdF9tYXBfYWRkcjogJWx4IGVuZDogJWx4XG4iLAorCQkJIGxhc3RfbWFwX2FkZHIsIGVuZCk7CiAKLQlyZXR1cm4gbGFzdF9tYXBfYWRkcjsKKwlpZiAoIWFmdGVyX2Jvb3RtZW0pCisJCWVhcmx5X21lbXRlc3Qoc3RhcnQsIGVuZCk7CisKKwlyZXR1cm4gbGFzdF9tYXBfYWRkciA+PiBQQUdFX1NISUZUOwogfQogCiAjaWZuZGVmIENPTkZJR19OVU1BCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKK3sKKwl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc2l6ZSwgYm9vdG1hcDsKKworCWJvb3RtYXBfc2l6ZSA9IGJvb3RtZW1fYm9vdG1hcF9wYWdlcyhlbmRfcGZuKTw8UEFHRV9TSElGVDsKKwlib290bWFwID0gZmluZF9lODIwX2FyZWEoMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCwgYm9vdG1hcF9zaXplLAorCQkJCSBQQUdFX1NJWkUpOworCWlmIChib290bWFwID09IC0xTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIGJvb3RtZW0gbWFwIG9mIHNpemUgJWxkXG4iLCBib290bWFwX3NpemUpOworCS8qIGRvbid0IHRvdWNoIG1pbl9sb3dfcGZuICovCisJYm9vdG1hcF9zaXplID0gaW5pdF9ib290bWVtX25vZGUoTk9ERV9EQVRBKDApLCBib290bWFwID4+IFBBR0VfU0hJRlQsCisJCQkJCSAwLCBlbmRfcGZuKTsKKwllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIHN0YXJ0X3BmbiwgZW5kX3Bmbik7CisJZnJlZV9ib290bWVtX3dpdGhfYWN0aXZlX3JlZ2lvbnMoMCwgZW5kX3Bmbik7CisJZWFybHlfcmVzX3RvX2Jvb3RtZW0oMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCk7CisJcmVzZXJ2ZV9ib290bWVtKGJvb3RtYXAsIGJvb3RtYXBfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKK30KKwogdm9pZCBfX2luaXQgcGFnaW5nX2luaXQodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIG1heF96b25lX3BmbnNbTUFYX05SX1pPTkVTXTsKQEAgLTYxMCw5ICs4MzQsOSBAQAogCW1lbXNldChtYXhfem9uZV9wZm5zLCAwLCBzaXplb2YobWF4X3pvbmVfcGZucykpOwogCW1heF96b25lX3BmbnNbWk9ORV9ETUFdID0gTUFYX0RNQV9QRk47CiAJbWF4X3pvbmVfcGZuc1taT05FX0RNQTMyXSA9IE1BWF9ETUEzMl9QRk47Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBlbmRfcGZuOworCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gbWF4X3BmbjsKIAotCW1lbW9yeV9wcmVzZW50KDAsIDAsIGVuZF9wZm4pOworCW1lbW9yeV9wcmVzZW50KDAsIDAsIG1heF9wZm4pOwogCXNwYXJzZV9pbml0KCk7CiAJZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7CiB9CkBAIC02OTQsOCArOTE4LDggQEAKICNlbHNlCiAJdG90YWxyYW1fcGFnZXMgPSBmcmVlX2FsbF9ib290bWVtKCk7CiAjZW5kaWYKLQlyZXNlcnZlZHBhZ2VzID0gZW5kX3BmbiAtIHRvdGFscmFtX3BhZ2VzIC0KLQkJCQkJYWJzZW50X3BhZ2VzX2luX3JhbmdlKDAsIGVuZF9wZm4pOworCXJlc2VydmVkcGFnZXMgPSBtYXhfcGZuIC0gdG90YWxyYW1fcGFnZXMgLQorCQkJCQlhYnNlbnRfcGFnZXNfaW5fcmFuZ2UoMCwgbWF4X3Bmbik7CiAJYWZ0ZXJfYm9vdG1lbSA9IDE7CiAKIAljb2Rlc2l6ZSA9ICAodW5zaWduZWQgbG9uZykgJl9ldGV4dCAtICh1bnNpZ25lZCBsb25nKSAmX3RleHQ7CkBAIC03MTQsNyArOTM4LDcgQEAKIAlwcmludGsoS0VSTl9JTkZPICJNZW1vcnk6ICVsdWsvJWx1ayBhdmFpbGFibGUgKCVsZGsga2VybmVsIGNvZGUsICIKIAkJCQkiJWxkayByZXNlcnZlZCwgJWxkayBkYXRhLCAlbGRrIGluaXQpXG4iLAogCQkodW5zaWduZWQgbG9uZykgbnJfZnJlZV9wYWdlcygpIDw8IChQQUdFX1NISUZULTEwKSwKLQkJZW5kX3BmbiA8PCAoUEFHRV9TSElGVC0xMCksCisJCW1heF9wZm4gPDwgKFBBR0VfU0hJRlQtMTApLAogCQljb2Rlc2l6ZSA+PiAxMCwKIAkJcmVzZXJ2ZWRwYWdlcyA8PCAoUEFHRV9TSElGVC0xMCksCiAJCWRhdGFzaXplID4+IDEwLApAQCAtNzY3LDYgKzk5MSwxMyBAQAogdm9pZCBtYXJrX3JvZGF0YV9ybyh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBQRk5fQUxJR04oX3N0ZXh0KSwgZW5kID0gUEZOX0FMSUdOKF9fZW5kX3JvZGF0YSk7CisJdW5zaWduZWQgbG9uZyByb2RhdGFfc3RhcnQgPQorCQkoKHVuc2lnbmVkIGxvbmcpX19zdGFydF9yb2RhdGEgKyBQQUdFX1NJWkUgLSAxKSAmIFBBR0VfTUFTSzsKKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCS8qIER5bmFtaWMgdHJhY2luZyBtb2RpZmllcyB0aGUga2VybmVsIHRleHQgc2VjdGlvbiAqLworCXN0YXJ0ID0gcm9kYXRhX3N0YXJ0OworI2VuZGlmCiAKIAlwcmludGsoS0VSTl9JTkZPICJXcml0ZSBwcm90ZWN0aW5nIHRoZSBrZXJuZWwgcmVhZC1vbmx5IGRhdGE6ICVsdWtcbiIsCiAJICAgICAgIChlbmQgLSBzdGFydCkgPj4gMTApOwpAQCAtNzc2LDggKzEwMDcsNyBAQAogCSAqIFRoZSByb2RhdGEgc2VjdGlvbiAoYnV0IG5vdCB0aGUga2VybmVsIHRleHQhKSBzaG91bGQgYWxzbyBiZQogCSAqIG5vdC1leGVjdXRhYmxlLgogCSAqLwotCXN0YXJ0ID0gKCh1bnNpZ25lZCBsb25nKV9fc3RhcnRfcm9kYXRhICsgUEFHRV9TSVpFIC0gMSkgJiBQQUdFX01BU0s7Ci0Jc2V0X21lbW9yeV9ueChzdGFydCwgKGVuZCAtIHN0YXJ0KSA+PiBQQUdFX1NISUZUKTsKKwlzZXRfbWVtb3J5X254KHJvZGF0YV9zdGFydCwgKGVuZCAtIHJvZGF0YV9zdGFydCkgPj4gUEFHRV9TSElGVCk7CiAKIAlyb2RhdGFfdGVzdCgpOwogCkBAIC03OTksMjQgKzEwMjksMjYgQEAKIH0KICNlbmRpZgogCi12b2lkIF9faW5pdCByZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxlbikKK2ludCBfX2luaXQgcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWModW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIGxlbiwKKwkJCQkgICBpbnQgZmxhZ3MpCiB7CiAjaWZkZWYgQ09ORklHX05VTUEKIAlpbnQgbmlkLCBuZXh0X25pZDsKKwlpbnQgcmV0OwogI2VuZGlmCiAJdW5zaWduZWQgbG9uZyBwZm4gPSBwaHlzID4+IFBBR0VfU0hJRlQ7CiAKLQlpZiAocGZuID49IGVuZF9wZm4pIHsKKwlpZiAocGZuID49IG1heF9wZm4pIHsKIAkJLyoKIAkJICogVGhpcyBjYW4gaGFwcGVuIHdpdGgga2R1bXAga2VybmVscyB3aGVuIGFjY2Vzc2luZwogCQkgKiBmaXJtd2FyZSB0YWJsZXM6CiAJCSAqLwogCQlpZiAocGZuIDwgbWF4X3Bmbl9tYXBwZWQpCi0JCQlyZXR1cm47CisJCQlyZXR1cm4gLUVGQVVMVDsKIAotCQlwcmludGsoS0VSTl9FUlIgInJlc2VydmVfYm9vdG1lbTogaWxsZWdhbCByZXNlcnZlICVseCAldVxuIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJyZXNlcnZlX2Jvb3RtZW06IGlsbGVnYWwgcmVzZXJ2ZSAlbHggJWx1XG4iLAogCQkJCXBoeXMsIGxlbik7Ci0JCXJldHVybjsKKwkJcmV0dXJuIC1FRkFVTFQ7CiAJfQogCiAJLyogU2hvdWxkIGNoZWNrIGhlcmUgYWdhaW5zdCB0aGUgZTgyMCBtYXAgdG8gYXZvaWQgZG91YmxlIGZyZWUgKi8KQEAgLTgyNCw5ICsxMDU2LDEzIEBACiAJbmlkID0gcGh5c190b19uaWQocGh5cyk7CiAJbmV4dF9uaWQgPSBwaHlzX3RvX25pZChwaHlzICsgbGVuIC0gMSk7CiAJaWYgKG5pZCA9PSBuZXh0X25pZCkKLQkJcmVzZXJ2ZV9ib290bWVtX25vZGUoTk9ERV9EQVRBKG5pZCksIHBoeXMsIGxlbiwgQk9PVE1FTV9ERUZBVUxUKTsKKwkJcmV0ID0gcmVzZXJ2ZV9ib290bWVtX25vZGUoTk9ERV9EQVRBKG5pZCksIHBoeXMsIGxlbiwgZmxhZ3MpOwogCWVsc2UKLQkJcmVzZXJ2ZV9ib290bWVtKHBoeXMsIGxlbiwgQk9PVE1FTV9ERUZBVUxUKTsKKwkJcmV0ID0gcmVzZXJ2ZV9ib290bWVtKHBoeXMsIGxlbiwgZmxhZ3MpOworCisJaWYgKHJldCAhPSAwKQorCQlyZXR1cm4gcmV0OworCiAjZWxzZQogCXJlc2VydmVfYm9vdG1lbShwaHlzLCBsZW4sIEJPT1RNRU1fREVGQVVMVCk7CiAjZW5kaWYKQEAgLTgzNSw2ICsxMDcxLDggQEAKIAkJZG1hX3Jlc2VydmUgKz0gbGVuIC8gUEFHRV9TSVpFOwogCQlzZXRfZG1hX3Jlc2VydmUoZG1hX3Jlc2VydmUpOwogCX0KKworCXJldHVybiAwOwogfQogCiBpbnQga2Vybl9hZGRyX3ZhbGlkKHVuc2lnbmVkIGxvbmcgYWRkcikKQEAgLTkzOSw3ICsxMTc3LDcgQEAKIAlwbWRfdCAqcG1kOwogCiAJZm9yICg7IGFkZHIgPCBlbmQ7IGFkZHIgPSBuZXh0KSB7Ci0JCW5leHQgPSBwbWRfYWRkcl9lbmQoYWRkciwgZW5kKTsKKwkJdm9pZCAqcCA9IE5VTEw7CiAKIAkJcGdkID0gdm1lbW1hcF9wZ2RfcG9wdWxhdGUoYWRkciwgbm9kZSk7CiAJCWlmICghcGdkKQpAQCAtOTQ5LDMzICsxMTg3LDUxIEBACiAJCWlmICghcHVkKQogCQkJcmV0dXJuIC1FTk9NRU07CiAKLQkJcG1kID0gcG1kX29mZnNldChwdWQsIGFkZHIpOwotCQlpZiAocG1kX25vbmUoKnBtZCkpIHsKLQkJCXB0ZV90IGVudHJ5OwotCQkJdm9pZCAqcDsKKwkJaWYgKCFjcHVfaGFzX3BzZSkgeworCQkJbmV4dCA9IChhZGRyICsgUEFHRV9TSVpFKSAmIFBBR0VfTUFTSzsKKwkJCXBtZCA9IHZtZW1tYXBfcG1kX3BvcHVsYXRlKHB1ZCwgYWRkciwgbm9kZSk7CiAKLQkJCXAgPSB2bWVtbWFwX2FsbG9jX2Jsb2NrKFBNRF9TSVpFLCBub2RlKTsKKwkJCWlmICghcG1kKQorCQkJCXJldHVybiAtRU5PTUVNOworCisJCQlwID0gdm1lbW1hcF9wdGVfcG9wdWxhdGUocG1kLCBhZGRyLCBub2RlKTsKKwogCQkJaWYgKCFwKQogCQkJCXJldHVybiAtRU5PTUVNOwogCi0JCQllbnRyeSA9IHBmbl9wdGUoX19wYShwKSA+PiBQQUdFX1NISUZULAotCQkJCQkJCVBBR0VfS0VSTkVMX0xBUkdFKTsKLQkJCXNldF9wbWQocG1kLCBfX3BtZChwdGVfdmFsKGVudHJ5KSkpOwotCi0JCQkvKiBjaGVjayB0byBzZWUgaWYgd2UgaGF2ZSBjb250aWd1b3VzIGJsb2NrcyAqLwotCQkJaWYgKHBfZW5kICE9IHAgfHwgbm9kZV9zdGFydCAhPSBub2RlKSB7Ci0JCQkJaWYgKHBfc3RhcnQpCi0JCQkJCXByaW50ayhLRVJOX0RFQlVHICIgWyVseC0lbHhdIFBNRCAtPiBbJXAtJXBdIG9uIG5vZGUgJWRcbiIsCi0JCQkJCQlhZGRyX3N0YXJ0LCBhZGRyX2VuZC0xLCBwX3N0YXJ0LCBwX2VuZC0xLCBub2RlX3N0YXJ0KTsKLQkJCQlhZGRyX3N0YXJ0ID0gYWRkcjsKLQkJCQlub2RlX3N0YXJ0ID0gbm9kZTsKLQkJCQlwX3N0YXJ0ID0gcDsKLQkJCX0KLQkJCWFkZHJfZW5kID0gYWRkciArIFBNRF9TSVpFOwotCQkJcF9lbmQgPSBwICsgUE1EX1NJWkU7CisJCQlhZGRyX2VuZCA9IGFkZHIgKyBQQUdFX1NJWkU7CisJCQlwX2VuZCA9IHAgKyBQQUdFX1NJWkU7CiAJCX0gZWxzZSB7Ci0JCQl2bWVtbWFwX3ZlcmlmeSgocHRlX3QgKilwbWQsIG5vZGUsIGFkZHIsIG5leHQpOworCQkJbmV4dCA9IHBtZF9hZGRyX2VuZChhZGRyLCBlbmQpOworCisJCQlwbWQgPSBwbWRfb2Zmc2V0KHB1ZCwgYWRkcik7CisJCQlpZiAocG1kX25vbmUoKnBtZCkpIHsKKwkJCQlwdGVfdCBlbnRyeTsKKworCQkJCXAgPSB2bWVtbWFwX2FsbG9jX2Jsb2NrKFBNRF9TSVpFLCBub2RlKTsKKwkJCQlpZiAoIXApCisJCQkJCXJldHVybiAtRU5PTUVNOworCisJCQkJZW50cnkgPSBwZm5fcHRlKF9fcGEocCkgPj4gUEFHRV9TSElGVCwKKwkJCQkJCVBBR0VfS0VSTkVMX0xBUkdFKTsKKwkJCQlzZXRfcG1kKHBtZCwgX19wbWQocHRlX3ZhbChlbnRyeSkpKTsKKworCQkJCS8qIGNoZWNrIHRvIHNlZSBpZiB3ZSBoYXZlIGNvbnRpZ3VvdXMgYmxvY2tzICovCisJCQkJaWYgKHBfZW5kICE9IHAgfHwgbm9kZV9zdGFydCAhPSBub2RlKSB7CisJCQkJCWlmIChwX3N0YXJ0KQorCQkJCQkJcHJpbnRrKEtFUk5fREVCVUcgIiBbJWx4LSVseF0gUE1EIC0+IFslcC0lcF0gb24gbm9kZSAlZFxuIiwKKwkJCQkJCSAgICAgICBhZGRyX3N0YXJ0LCBhZGRyX2VuZC0xLCBwX3N0YXJ0LCBwX2VuZC0xLCBub2RlX3N0YXJ0KTsKKwkJCQkJYWRkcl9zdGFydCA9IGFkZHI7CisJCQkJCW5vZGVfc3RhcnQgPSBub2RlOworCQkJCQlwX3N0YXJ0ID0gcDsKKwkJCQl9CisKKwkJCQlhZGRyX2VuZCA9IGFkZHIgKyBQTURfU0laRTsKKwkJCQlwX2VuZCA9IHAgKyBQTURfU0laRTsKKwkJCX0gZWxzZQorCQkJCXZtZW1tYXBfdmVyaWZ5KChwdGVfdCAqKXBtZCwgbm9kZSwgYWRkciwgbmV4dCk7CiAJCX0KKwogCX0KIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2lvcmVtYXAuYyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYwppbmRleCAyYjJiYjNmOS4uMjRjMWQzYyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vaW9yZW1hcC5jCisrKyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CiAKICNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgogI2luY2x1ZGUgPGFzbS9lODIwLmg+CkBAIC0xMjIsMTAgKzEyMywxMyBAQAogewogCXVuc2lnbmVkIGxvbmcgcGZuLCBvZmZzZXQsIHZhZGRyOwogCXJlc291cmNlX3NpemVfdCBsYXN0X2FkZHI7CisJY29uc3QgcmVzb3VyY2Vfc2l6ZV90IHVuYWxpZ25lZF9waHlzX2FkZHIgPSBwaHlzX2FkZHI7CisJY29uc3QgdW5zaWduZWQgbG9uZyB1bmFsaWduZWRfc2l6ZSA9IHNpemU7CiAJc3RydWN0IHZtX3N0cnVjdCAqYXJlYTsKIAl1bnNpZ25lZCBsb25nIG5ld19wcm90X3ZhbDsKIAlwZ3Byb3RfdCBwcm90OwogCWludCByZXR2YWw7CisJdm9pZCBfX2lvbWVtICpyZXRfYWRkcjsKIAogCS8qIERvbid0IGFsbG93IHdyYXBhcm91bmQgb3IgemVybyBzaXplICovCiAJbGFzdF9hZGRyID0gcGh5c19hZGRyICsgc2l6ZSAtIDE7CkBAIC0xNDIsNyArMTQ2LDcgQEAKIAkvKgogCSAqIERvbid0IHJlbWFwIHRoZSBsb3cgUENJL0lTQSBhcmVhLCBpdCdzIGFsd2F5cyBtYXBwZWQuLgogCSAqLwotCWlmIChwaHlzX2FkZHIgPj0gSVNBX1NUQVJUX0FERFJFU1MgJiYgbGFzdF9hZGRyIDwgSVNBX0VORF9BRERSRVNTKQorCWlmIChpc19JU0FfcmFuZ2UocGh5c19hZGRyLCBsYXN0X2FkZHIpKQogCQlyZXR1cm4gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopcGh5c190b192aXJ0KHBoeXNfYWRkcik7CiAKIAkvKgpAQCAtMjMzLDcgKzIzNywxMCBAQAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlyZXR1cm4gKHZvaWQgX19pb21lbSAqKSAodmFkZHIgKyBvZmZzZXQpOworCXJldF9hZGRyID0gKHZvaWQgX19pb21lbSAqKSAodmFkZHIgKyBvZmZzZXQpOworCW1taW90cmFjZV9pb3JlbWFwKHVuYWxpZ25lZF9waHlzX2FkZHIsIHVuYWxpZ25lZF9zaXplLCByZXRfYWRkcik7CisKKwlyZXR1cm4gcmV0X2FkZHI7CiB9CiAKIC8qKgpAQCAtMjYxLDcgKzI2OCw3IEBACiB7CiAJLyoKIAkgKiBJZGVhbGx5LCB0aGlzIHNob3VsZCBiZToKLQkgKglwYXRfd2NfZW5hYmxlZCA/IF9QQUdFX0NBQ0hFX1VDIDogX1BBR0VfQ0FDSEVfVUNfTUlOVVM7CisJICoJcGF0X2VuYWJsZWQgPyBfUEFHRV9DQUNIRV9VQyA6IF9QQUdFX0NBQ0hFX1VDX01JTlVTOwogCSAqCiAJICogVGlsbCB3ZSBmaXggYWxsIFggZHJpdmVycyB0byB1c2UgaW9yZW1hcF93YygpLCB3ZSB3aWxsIHVzZQogCSAqIFVDIE1JTlVTLgpAQCAtMjg1LDcgKzI5Miw3IEBACiAgKi8KIHZvaWQgX19pb21lbSAqaW9yZW1hcF93Yyh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQogewotCWlmIChwYXRfd2NfZW5hYmxlZCkKKwlpZiAocGF0X2VuYWJsZWQpCiAJCXJldHVybiBfX2lvcmVtYXBfY2FsbGVyKHBoeXNfYWRkciwgc2l6ZSwgX1BBR0VfQ0FDSEVfV0MsCiAJCQkJCV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSk7CiAJZWxzZQpAQCAtMzAwLDYgKzMwNywyOSBAQAogfQogRVhQT1JUX1NZTUJPTChpb3JlbWFwX2NhY2hlKTsKIAorc3RhdGljIHZvaWQgX19pb21lbSAqaW9yZW1hcF9kZWZhdWx0KHJlc291cmNlX3NpemVfdCBwaHlzX2FkZHIsCisJCQkJCXVuc2lnbmVkIGxvbmcgc2l6ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXZvaWQgKnJldDsKKwlpbnQgZXJyOworCisJLyoKKwkgKiAtIFdCIGZvciBXQi1hYmxlIG1lbW9yeSBhbmQgbm8gb3RoZXIgY29uZmxpY3RpbmcgbWFwcGluZ3MKKwkgKiAtIFVDX01JTlVTIGZvciBub24tV0ItYWJsZSBtZW1vcnkgd2l0aCBubyBvdGhlciBjb25mbGljdGluZyBtYXBwaW5ncworCSAqIC0gSW5oZXJpdCBmcm9tIGNvbmZsaXRpbmcgbWFwcGluZ3Mgb3RoZXJ3aXNlCisJICovCisJZXJyID0gcmVzZXJ2ZV9tZW10eXBlKHBoeXNfYWRkciwgcGh5c19hZGRyICsgc2l6ZSwgLTEsICZmbGFncyk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBOVUxMOworCisJcmV0ID0gKHZvaWQgKikgX19pb3JlbWFwX2NhbGxlcihwaHlzX2FkZHIsIHNpemUsIGZsYWdzLAorCQkJCQlfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpOworCisJZnJlZV9tZW10eXBlKHBoeXNfYWRkciwgcGh5c19hZGRyICsgc2l6ZSk7CisJcmV0dXJuICh2b2lkIF9faW9tZW0gKilyZXQ7Cit9CisKIC8qKgogICogaW91bm1hcCAtIEZyZWUgYSBJTyByZW1hcHBpbmcKICAqIEBhZGRyOiB2aXJ0dWFsIGFkZHJlc3MgZnJvbSBpb3JlbWFwXyoKQEAgLTMxOCwxMyArMzQ4LDE1IEBACiAJICogdm1fYXJlYSBhbmQgYnkgc2ltcGx5IHJldHVybmluZyBhbiBhZGRyZXNzIGludG8gdGhlIGtlcm5lbCBtYXBwaW5nCiAJICogb2YgSVNBIHNwYWNlLiAgIFNvIGhhbmRsZSB0aGF0IGhlcmUuCiAJICovCi0JaWYgKGFkZHIgPj0gcGh5c190b192aXJ0KElTQV9TVEFSVF9BRERSRVNTKSAmJgotCSAgICBhZGRyIDwgcGh5c190b192aXJ0KElTQV9FTkRfQUREUkVTUykpCisJaWYgKCh2b2lkIF9fZm9yY2UgKilhZGRyID49IHBoeXNfdG9fdmlydChJU0FfU1RBUlRfQUREUkVTUykgJiYKKwkgICAgKHZvaWQgX19mb3JjZSAqKWFkZHIgPCBwaHlzX3RvX3ZpcnQoSVNBX0VORF9BRERSRVNTKSkKIAkJcmV0dXJuOwogCiAJYWRkciA9ICh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKikKIAkJKFBBR0VfTUFTSyAmICh1bnNpZ25lZCBsb25nIF9fZm9yY2UpYWRkcik7CiAKKwltbWlvdHJhY2VfaW91bm1hcChhZGRyKTsKKwogCS8qIFVzZSB0aGUgdm0gYXJlYSB1bmxvY2tlZCwgYXNzdW1pbmcgdGhlIGNhbGxlcgogCSAgIGVuc3VyZXMgdGhlcmUgaXNuJ3QgYW5vdGhlciBpb3VubWFwIGZvciB0aGUgc2FtZSBhZGRyZXNzCiAJICAgaW4gcGFyYWxsZWwuIFJldXNlIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3MgaXMgcHJldmVudGVkIGJ5CkBAIC0zMzIsNyArMzY0LDcgQEAKIAkgICBjcGEgdGFrZXMgY2FyZSBvZiB0aGUgZGlyZWN0IG1hcHBpbmdzLiAqLwogCXJlYWRfbG9jaygmdm1saXN0X2xvY2spOwogCWZvciAocCA9IHZtbGlzdDsgcDsgcCA9IHAtPm5leHQpIHsKLQkJaWYgKHAtPmFkZHIgPT0gYWRkcikKKwkJaWYgKHAtPmFkZHIgPT0gKHZvaWQgX19mb3JjZSAqKWFkZHIpCiAJCQlicmVhazsKIAl9CiAJcmVhZF91bmxvY2soJnZtbGlzdF9sb2NrKTsKQEAgLTM0Niw3ICszNzgsNyBAQAogCWZyZWVfbWVtdHlwZShwLT5waHlzX2FkZHIsIHAtPnBoeXNfYWRkciArIGdldF92bV9hcmVhX3NpemUocCkpOwogCiAJLyogRmluYWxseSByZW1vdmUgaXQgKi8KLQlvID0gcmVtb3ZlX3ZtX2FyZWEoKHZvaWQgKilhZGRyKTsKKwlvID0gcmVtb3ZlX3ZtX2FyZWEoKHZvaWQgX19mb3JjZSAqKWFkZHIpOwogCUJVR19PTihwICE9IG8gfHwgbyA9PSBOVUxMKTsKIAlrZnJlZShwKTsKIH0KQEAgLTM2NSw3ICszOTcsNyBAQAogCWlmIChwYWdlX2lzX3JhbShzdGFydCA+PiBQQUdFX1NISUZUKSkKIAkJcmV0dXJuIF9fdmEocGh5cyk7CiAKLQlhZGRyID0gKHZvaWQgKilpb3JlbWFwKHN0YXJ0LCBQQUdFX1NJWkUpOworCWFkZHIgPSAodm9pZCBfX2ZvcmNlICopaW9yZW1hcF9kZWZhdWx0KHN0YXJ0LCBQQUdFX1NJWkUpOwogCWlmIChhZGRyKQogCQlhZGRyID0gKHZvaWQgKikoKHVuc2lnbmVkIGxvbmcpYWRkciB8IChwaHlzICYgflBBR0VfTUFTSykpOwogCkBAIC0zODEsOCArNDEzLDYgQEAKIAlyZXR1cm47CiB9CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0KIGludCBfX2luaXRkYXRhIGVhcmx5X2lvcmVtYXBfZGVidWc7CiAKIHN0YXRpYyBpbnQgX19pbml0IGVhcmx5X2lvcmVtYXBfZGVidWdfc2V0dXAoY2hhciAqc3RyKQpAQCAtMzk0LDggKzQyNCw3IEBACiBlYXJseV9wYXJhbSgiZWFybHlfaW9yZW1hcF9kZWJ1ZyIsIGVhcmx5X2lvcmVtYXBfZGVidWdfc2V0dXApOwogCiBzdGF0aWMgX19pbml0ZGF0YSBpbnQgYWZ0ZXJfcGFnaW5nX2luaXQ7Ci1zdGF0aWMgcHRlX3QgYm1fcHRlW1BBR0VfU0laRS9zaXplb2YocHRlX3QpXQotCQlfX3NlY3Rpb24oLmJzcy5wYWdlX2FsaWduZWQpOworc3RhdGljIHB0ZV90IGJtX3B0ZVtQQUdFX1NJWkUvc2l6ZW9mKHB0ZV90KV0gX19wYWdlX2FsaWduZWRfYnNzOwogCiBzdGF0aWMgaW5saW5lIHBtZF90ICogX19pbml0IGVhcmx5X2lvcmVtYXBfcG1kKHVuc2lnbmVkIGxvbmcgYWRkcikKIHsKQEAgLTQ4NCwxMCArNTEzLDExIEBACiAJCXJldHVybjsKIAl9CiAJcHRlID0gZWFybHlfaW9yZW1hcF9wdGUoYWRkcik7CisKIAlpZiAocGdwcm90X3ZhbChmbGFncykpCiAJCXNldF9wdGUocHRlLCBwZm5fcHRlKHBoeXMgPj4gUEFHRV9TSElGVCwgZmxhZ3MpKTsKIAllbHNlCi0JCXB0ZV9jbGVhcihOVUxMLCBhZGRyLCBwdGUpOworCQlwdGVfY2xlYXIoJmluaXRfbW0sIGFkZHIsIHB0ZSk7CiAJX19mbHVzaF90bGJfb25lKGFkZHIpOwogfQogCkBAIC02MjUsNSArNjU1LDMgQEAKIHsKIAlXQVJOX09OKDEpOwogfQotCi0jZW5kaWYgLyogQ09ORklHX1g4Nl8zMiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vazh0b3BvbG9neV82NC5jIGIvYXJjaC94ODYvbW0vazh0b3BvbG9neV82NC5jCmluZGV4IDFmNDc2ZTQuLjQxZjFiNWMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2s4dG9wb2xvZ3lfNjQuYworKysgYi9hcmNoL3g4Ni9tbS9rOHRvcG9sb2d5XzY0LmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxhc20vbnVtYS5oPgogI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KICNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9rOC5oPgogCiBzdGF0aWMgX19pbml0IGludCBmaW5kX25vcnRoYnJpZGdlKHZvaWQpCiB7CkBAIC01NiwzNCArNTcsMzMgQEAKIAkvKgogCSAqIEZpbmQgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgogCSAqLworI2lmZGVmIENPTkZJR19YODZfTVBQQVJTRQogCWVhcmx5X2ZpbmRfc21wX2NvbmZpZygpOworI2VuZGlmCiAjaWZkZWYgQ09ORklHX0FDUEkKIAkvKgogCSAqIFJlYWQgQVBJQyBpbmZvcm1hdGlvbiBmcm9tIEFDUEkgdGFibGVzLgogCSAqLwogCWVhcmx5X2FjcGlfYm9vdF9pbml0KCk7CiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01QUEFSU0UKIAkvKgogCSAqIGdldCBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CiAJICovCiAJaWYgKHNtcF9mb3VuZF9jb25maWcpCiAJCWVhcmx5X2dldF9zbXBfY29uZmlnKCk7CisjZW5kaWYKIAllYXJseV9pbml0X2xhcGljX21hcHBpbmcoKTsKIH0KIAogaW50IF9faW5pdCBrOF9zY2FuX25vZGVzKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQogeworCXVuc2lnbmVkIG51bW5vZGVzLCBjb3JlcywgYml0cywgYXBpY2lkX2Jhc2U7CiAJdW5zaWduZWQgbG9uZyBwcmV2YmFzZTsKIAlzdHJ1Y3QgYm9vdG5vZGUgbm9kZXNbOF07Ci0JaW50IG5vZGVpZCwgaSwgbmI7CiAJdW5zaWduZWQgY2hhciBub2RlaWRzWzhdOwotCWludCBmb3VuZCA9IDA7Ci0JdTMyIHJlZzsKLQl1bnNpZ25lZCBudW1ub2RlczsKLQl1bnNpZ25lZCBjb3JlczsKLQl1bnNpZ25lZCBiaXRzOwotCWludCBqOwotCXVuc2lnbmVkIGFwaWNpZF9iYXNlOworCWludCBpLCBqLCBuYiwgZm91bmQgPSAwOworCXUzMiBub2RlaWQsIHJlZzsKIAogCWlmICghZWFybHlfcGNpX2FsbG93ZWQoKSkKIAkJcmV0dXJuIC0xOwpAQCAtMTA1LDcgKzEwNSw2IEBACiAJcHJldmJhc2UgPSAwOwogCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKIAkJdW5zaWduZWQgbG9uZyBiYXNlLCBsaW1pdDsKLQkJdTMyIG5vZGVpZDsKIAogCQliYXNlID0gcmVhZF9wY2lfY29uZmlnKDAsIG5iLCAxLCAweDQwICsgaSo4KTsKIAkJbGltaXQgPSByZWFkX3BjaV9jb25maWcoMCwgbmIsIDEsIDB4NDQgKyBpKjgpOwpAQCAtMTQ0LDggKzE0Myw4IEBACiAJCWxpbWl0IHw9ICgxPDwyNCktMTsKIAkJbGltaXQrKzsKIAotCQlpZiAobGltaXQgPiBlbmRfcGZuIDw8IFBBR0VfU0hJRlQpCi0JCQlsaW1pdCA9IGVuZF9wZm4gPDwgUEFHRV9TSElGVDsKKwkJaWYgKGxpbWl0ID4gbWF4X3BmbiA8PCBQQUdFX1NISUZUKQorCQkJbGltaXQgPSBtYXhfcGZuIDw8IFBBR0VfU0hJRlQ7CiAJCWlmIChsaW1pdCA8PSBiYXNlKQogCQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2ttbWlvLmMgYi9hcmNoL3g4Ni9tbS9rbW1pby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzZDgyMDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9tbS9rbW1pby5jCkBAIC0wLDAgKzEsNTEwIEBACisvKiBTdXBwb3J0IGZvciBNTUlPIHByb2Jlcy4KKyAqIEJlbmZpdCBtYW55IGNvZGUgZnJvbSBrcHJvYmVzCisgKiAoQykgMjAwMiBMb3VpcyBaaHVhbmcgPGxvdWlzLnpodWFuZ0BpbnRlbC5jb20+LgorICogICAgIDIwMDcgQWxleGFuZGVyIEVpY2huZXIKKyAqICAgICAyMDA4IFBla2thIFBhYWxhbmVuIDxwcUBpa2kuZmk+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wcmVlbXB0Lmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgva2RlYnVnLmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxhc20vZGVidWdyZWcuaD4KKyNpbmNsdWRlIDxsaW51eC9tbWlvdHJhY2UuaD4KKworI2RlZmluZSBLTU1JT19QQUdFX0hBU0hfQklUUyA0CisjZGVmaW5lIEtNTUlPX1BBR0VfVEFCTEVfU0laRSAoMSA8PCBLTU1JT19QQUdFX0hBU0hfQklUUykKKworc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcmVsZWFzZV9uZXh0OworCXVuc2lnbmVkIGxvbmcgcGFnZTsgLyogbG9jYXRpb24gb2YgdGhlIGZhdWx0IHBhZ2UgKi8KKworCS8qCisJICogTnVtYmVyIG9mIHRpbWVzIHRoaXMgcGFnZSBoYXMgYmVlbiByZWdpc3RlcmVkIGFzIGEgcGFydAorCSAqIG9mIGEgcHJvYmUuIElmIHplcm8sIHBhZ2UgaXMgZGlzYXJtZWQgYW5kIHRoaXMgbWF5IGJlIGZyZWVkLgorCSAqIFVzZWQgb25seSBieSB3cml0ZXJzIChSQ1UpLgorCSAqLworCWludCBjb3VudDsKK307CisKK3N0cnVjdCBrbW1pb19kZWxheWVkX3JlbGVhc2UgeworCXN0cnVjdCByY3VfaGVhZCByY3U7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnJlbGVhc2VfbGlzdDsKK307CisKK3N0cnVjdCBrbW1pb19jb250ZXh0IHsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqZnBhZ2U7CisJc3RydWN0IGttbWlvX3Byb2JlICpwcm9iZTsKKwl1bnNpZ25lZCBsb25nIHNhdmVkX2ZsYWdzOworCXVuc2lnbmVkIGxvbmcgYWRkcjsKKwlpbnQgYWN0aXZlOworfTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhrbW1pb19sb2NrKTsKKworLyogUHJvdGVjdGVkIGJ5IGttbWlvX2xvY2sgKi8KK3Vuc2lnbmVkIGludCBrbW1pb19jb3VudDsKKworLyogUmVhZC1wcm90ZWN0ZWQgYnkgUkNVLCB3cml0ZS1wcm90ZWN0ZWQgYnkga21taW9fbG9jay4gKi8KK3N0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkIGttbWlvX3BhZ2VfdGFibGVbS01NSU9fUEFHRV9UQUJMRV9TSVpFXTsKK3N0YXRpYyBMSVNUX0hFQUQoa21taW9fcHJvYmVzKTsKKworc3RhdGljIHN0cnVjdCBsaXN0X2hlYWQgKmttbWlvX3BhZ2VfbGlzdCh1bnNpZ25lZCBsb25nIHBhZ2UpCit7CisJcmV0dXJuICZrbW1pb19wYWdlX3RhYmxlW2hhc2hfbG9uZyhwYWdlLCBLTU1JT19QQUdFX0hBU0hfQklUUyldOworfQorCisvKiBBY2Nlc3NlZCBwZXItY3B1ICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGttbWlvX2NvbnRleHQsIGttbWlvX2N0eCk7CisKKy8qCisgKiB0aGlzIGlzIGJhc2ljYWxseSBhIGR5bmFtaWMgc3RhYmJpbmcgcHJvYmxlbToKKyAqIENvdWxkIHVzZSB0aGUgZXhpc3RpbmcgcHJpbyB0cmVlIGNvZGUgb3IKKyAqIFBvc3NpYmxlIGJldHRlciBpbXBsZW1lbnRhdGlvbnM6CisgKiBUaGUgSW50ZXJ2YWwgU2tpcCBMaXN0OiBBIERhdGEgU3RydWN0dXJlIGZvciBGaW5kaW5nIEFsbCBJbnRlcnZhbHMgVGhhdAorICogT3ZlcmxhcCBhIFBvaW50IChtaWdodCBiZSBzaW1wbGUpCisgKiBTcGFjZSBFZmZpY2llbnQgRHluYW1pYyBTdGFiYmluZyB3aXRoIEZhc3QgUXVlcmllcyAtIE1pa2tlbCBUaG9ydXAKKyAqLworLyogR2V0IHRoZSBrbW1pbyBhdCB0aGlzIGFkZHIgKGlmIGFueSkuIFlvdSBtdXN0IGJlIGhvbGRpbmcgUkNVIHJlYWQgbG9jay4gKi8KK3N0YXRpYyBzdHJ1Y3Qga21taW9fcHJvYmUgKmdldF9rbW1pb19wcm9iZSh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJc3RydWN0IGttbWlvX3Byb2JlICpwOworCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHAsICZrbW1pb19wcm9iZXMsIGxpc3QpIHsKKwkJaWYgKGFkZHIgPj0gcC0+YWRkciAmJiBhZGRyIDw9IChwLT5hZGRyICsgcC0+bGVuKSkKKwkJCXJldHVybiBwOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyogWW91IG11c3QgYmUgaG9sZGluZyBSQ1UgcmVhZCBsb2NrLiAqLworc3RhdGljIHN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpnZXRfa21taW9fZmF1bHRfcGFnZSh1bnNpZ25lZCBsb25nIHBhZ2UpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqaGVhZDsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcDsKKworCXBhZ2UgJj0gUEFHRV9NQVNLOworCWhlYWQgPSBrbW1pb19wYWdlX2xpc3QocGFnZSk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UocCwgaGVhZCwgbGlzdCkgeworCQlpZiAocC0+cGFnZSA9PSBwYWdlKQorCQkJcmV0dXJuIHA7CisJfQorCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBzZXRfcGFnZV9wcmVzZW50KHVuc2lnbmVkIGxvbmcgYWRkciwgYm9vbCBwcmVzZW50LAorCQkJCQkJCXVuc2lnbmVkIGludCAqcGdsZXZlbCkKK3sKKwlwdGV2YWxfdCBwdGV2YWw7CisJcG1kdmFsX3QgcG1kdmFsOworCXVuc2lnbmVkIGludCBsZXZlbDsKKwlwbWRfdCAqcG1kOworCXB0ZV90ICpwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyLCAmbGV2ZWwpOworCisJaWYgKCFwdGUpIHsKKwkJcHJfZXJyKCJrbW1pbzogbm8gcHRlIGZvciBwYWdlIDB4JTA4bHhcbiIsIGFkZHIpOworCQlyZXR1cm47CisJfQorCisJaWYgKHBnbGV2ZWwpCisJCSpwZ2xldmVsID0gbGV2ZWw7CisKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBQR19MRVZFTF8yTToKKwkJcG1kID0gKHBtZF90ICopcHRlOworCQlwbWR2YWwgPSBwbWRfdmFsKCpwbWQpICYgfl9QQUdFX1BSRVNFTlQ7CisJCWlmIChwcmVzZW50KQorCQkJcG1kdmFsIHw9IF9QQUdFX1BSRVNFTlQ7CisJCXNldF9wbWQocG1kLCBfX3BtZChwbWR2YWwpKTsKKwkJYnJlYWs7CisKKwljYXNlIFBHX0xFVkVMXzRLOgorCQlwdGV2YWwgPSBwdGVfdmFsKCpwdGUpICYgfl9QQUdFX1BSRVNFTlQ7CisJCWlmIChwcmVzZW50KQorCQkJcHRldmFsIHw9IF9QQUdFX1BSRVNFTlQ7CisJCXNldF9wdGVfYXRvbWljKHB0ZSwgX19wdGUocHRldmFsKSk7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcHJfZXJyKCJrbW1pbzogdW5leHBlY3RlZCBwYWdlIGxldmVsIDB4JXguXG4iLCBsZXZlbCk7CisJCXJldHVybjsKKwl9CisKKwlfX2ZsdXNoX3RsYl9vbmUoYWRkcik7Cit9CisKKy8qKiBNYXJrIHRoZSBnaXZlbiBwYWdlIGFzIG5vdCBwcmVzZW50LiBBY2Nlc3MgdG8gaXQgd2lsbCB0cmlnZ2VyIGEgZmF1bHQuICovCitzdGF0aWMgdm9pZCBhcm1fa21taW9fZmF1bHRfcGFnZSh1bnNpZ25lZCBsb25nIHBhZ2UsIHVuc2lnbmVkIGludCAqcGdsZXZlbCkKK3sKKwlzZXRfcGFnZV9wcmVzZW50KHBhZ2UgJiBQQUdFX01BU0ssIGZhbHNlLCBwZ2xldmVsKTsKK30KKworLyoqIE1hcmsgdGhlIGdpdmVuIHBhZ2UgYXMgcHJlc2VudC4gKi8KK3N0YXRpYyB2b2lkIGRpc2FybV9rbW1pb19mYXVsdF9wYWdlKHVuc2lnbmVkIGxvbmcgcGFnZSwgdW5zaWduZWQgaW50ICpwZ2xldmVsKQoreworCXNldF9wYWdlX3ByZXNlbnQocGFnZSAmIFBBR0VfTUFTSywgdHJ1ZSwgcGdsZXZlbCk7Cit9CisKKy8qCisgKiBUaGlzIGlzIGJlaW5nIGNhbGxlZCBmcm9tIGRvX3BhZ2VfZmF1bHQoKS4KKyAqCisgKiBXZSBtYXkgYmUgaW4gYW4gaW50ZXJydXB0IG9yIGEgY3JpdGljYWwgc2VjdGlvbi4gQWxzbyBwcmVmZWN0aGluZyBtYXkKKyAqIHRyaWdnZXIgYSBwYWdlIGZhdWx0LiBXZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBwcm9jZXNzIHN3aXRjaC4KKyAqIFdlIGNhbm5vdCB0YWtlIGFueSBsb2NrcywgYmVjYXVzZSB3ZSBjb3VsZCBiZSBleGVjdXRpbmcgZXNwZWNpYWxseQorICogd2l0aGluIGEga21taW8gY3JpdGljYWwgc2VjdGlvbi4KKyAqCisgKiBMb2NhbCBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCwgc28gcHJlZW1wdGlvbiBjYW5ub3QgaGFwcGVuLgorICogRG8gbm90IGVuYWJsZSBpbnRlcnJ1cHRzLCBkbyBub3Qgc2xlZXAsIGFuZCB3YXRjaCBvdXQgZm9yIG90aGVyIENQVXMuCisgKi8KKy8qCisgKiBJbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCBvbiBlbnRyeSBhcyB0cmFwMyBpcyBhbiBpbnRlcnJ1cHQgZ2F0ZQorICogYW5kIHRoZXkgcmVtYWluIGRpc2FibGVkIHRob3JvdWdoIG91dCB0aGlzIGZ1bmN0aW9uLgorICovCitpbnQga21taW9faGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0cnVjdCBrbW1pb19jb250ZXh0ICpjdHg7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKmZhdWx0cGFnZTsKKwlpbnQgcmV0ID0gMDsgLyogZGVmYXVsdCB0byBmYXVsdCBub3QgaGFuZGxlZCAqLworCisJLyoKKwkgKiBQcmVlbXB0aW9uIGlzIG5vdyBkaXNhYmxlZCB0byBwcmV2ZW50IHByb2Nlc3Mgc3dpdGNoIGR1cmluZworCSAqIHNpbmdsZSBzdGVwcGluZy4gV2UgY2FuIG9ubHkgaGFuZGxlIG9uZSBhY3RpdmUga21taW8gdHJhY2UKKwkgKiBwZXIgY3B1LCBzbyBlbnN1cmUgdGhhdCB3ZSBmaW5pc2ggaXQgYmVmb3JlIHNvbWV0aGluZyBlbHNlCisJICogZ2V0cyB0byBydW4uIFdlIGFsc28gaG9sZCB0aGUgUkNVIHJlYWQgbG9jayBvdmVyIHNpbmdsZQorCSAqIHN0ZXBwaW5nIHRvIGF2b2lkIGxvb2tpbmcgdXAgdGhlIHByb2JlIGFuZCBrbW1pb19mYXVsdF9wYWdlCisJICogYWdhaW4uCisJICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJcmN1X3JlYWRfbG9jaygpOworCisJZmF1bHRwYWdlID0gZ2V0X2ttbWlvX2ZhdWx0X3BhZ2UoYWRkcik7CisJaWYgKCFmYXVsdHBhZ2UpIHsKKwkJLyoKKwkJICogRWl0aGVyIHRoaXMgcGFnZSBmYXVsdCBpcyBub3QgY2F1c2VkIGJ5IGttbWlvLCBvcgorCQkgKiBhbm90aGVyIENQVSBqdXN0IHB1bGxlZCB0aGUga21taW8gcHJvYmUgZnJvbSB1bmRlcgorCQkgKiBvdXIgZmVldC4gVGhlIGxhdHRlciBjYXNlIHNob3VsZCBub3QgYmUgcG9zc2libGUuCisJCSAqLworCQlnb3RvIG5vX2ttbWlvOworCX0KKworCWN0eCA9ICZnZXRfY3B1X3ZhcihrbW1pb19jdHgpOworCWlmIChjdHgtPmFjdGl2ZSkgeworCQlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShmYXVsdHBhZ2UtPnBhZ2UsIE5VTEwpOworCQlpZiAoYWRkciA9PSBjdHgtPmFkZHIpIHsKKwkJCS8qCisJCQkgKiBPbiBTTVAgd2Ugc29tZXRpbWVzIGdldCByZWN1cnNpdmUgcHJvYmUgaGl0cyBvbiB0aGUKKwkJCSAqIHNhbWUgYWRkcmVzcy4gQ29udGV4dCBpcyBhbHJlYWR5IHNhdmVkLCBmYWxsIG91dC4KKwkJCSAqLworCQkJcHJfZGVidWcoImttbWlvOiBkdXBsaWNhdGUgcHJvYmUgaGl0IG9uIENQVSAlZCwgZm9yICIKKwkJCQkJCSJhZGRyZXNzIDB4JTA4bHguXG4iLAorCQkJCQkJc21wX3Byb2Nlc3Nvcl9pZCgpLCBhZGRyKTsKKwkJCXJldCA9IDE7CisJCQlnb3RvIG5vX2ttbWlvX2N0eDsKKwkJfQorCQkvKgorCQkgKiBQcmV2ZW50IG92ZXJ3cml0aW5nIGFscmVhZHkgaW4tZmxpZ2h0IGNvbnRleHQuCisJCSAqIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sIGxldCdzIGhvcGUgZGlzYXJtaW5nIGF0IGxlYXN0CisJCSAqIHByZXZlbnRzIGEgcGFuaWMuCisJCSAqLworCQlwcl9lbWVyZygia21taW86IHJlY3Vyc2l2ZSBwcm9iZSBoaXQgb24gQ1BVICVkLCAiCisJCQkJCSJmb3IgYWRkcmVzcyAweCUwOGx4LiBJZ25vcmluZy5cbiIsCisJCQkJCXNtcF9wcm9jZXNzb3JfaWQoKSwgYWRkcik7CisJCXByX2VtZXJnKCJrbW1pbzogcHJldmlvdXMgaGl0IHdhcyBhdCAweCUwOGx4LlxuIiwKKwkJCQkJY3R4LT5hZGRyKTsKKwkJZ290byBub19rbW1pb19jdHg7CisJfQorCWN0eC0+YWN0aXZlKys7CisKKwljdHgtPmZwYWdlID0gZmF1bHRwYWdlOworCWN0eC0+cHJvYmUgPSBnZXRfa21taW9fcHJvYmUoYWRkcik7CisJY3R4LT5zYXZlZF9mbGFncyA9IChyZWdzLT5mbGFncyAmIChYODZfRUZMQUdTX1RGIHwgWDg2X0VGTEFHU19JRikpOworCWN0eC0+YWRkciA9IGFkZHI7CisKKwlpZiAoY3R4LT5wcm9iZSAmJiBjdHgtPnByb2JlLT5wcmVfaGFuZGxlcikKKwkJY3R4LT5wcm9iZS0+cHJlX2hhbmRsZXIoY3R4LT5wcm9iZSwgcmVncywgYWRkcik7CisKKwkvKgorCSAqIEVuYWJsZSBzaW5nbGUtc3RlcHBpbmcgYW5kIGRpc2FibGUgaW50ZXJydXB0cyBmb3IgdGhlIGZhdWx0aW5nCisJICogY29udGV4dC4gTG9jYWwgaW50ZXJydXB0cyBtdXN0IG5vdCBnZXQgZW5hYmxlZCBkdXJpbmcgc3RlcHBpbmcuCisJICovCisJcmVncy0+ZmxhZ3MgfD0gWDg2X0VGTEFHU19URjsKKwlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19JRjsKKworCS8qIE5vdyB3ZSBzZXQgcHJlc2VudCBiaXQgaW4gUFRFIGFuZCBzaW5nbGUgc3RlcC4gKi8KKwlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShjdHgtPmZwYWdlLT5wYWdlLCBOVUxMKTsKKworCS8qCisJICogSWYgYW5vdGhlciBjcHUgYWNjZXNzZXMgdGhlIHNhbWUgcGFnZSB3aGlsZSB3ZSBhcmUgc3RlcHBpbmcsCisJICogdGhlIGFjY2VzcyB3aWxsIG5vdCBiZSBjYXVnaHQuIEl0IHdpbGwgc2ltcGx5IHN1Y2NlZWQgYW5kIHRoZQorCSAqIG9ubHkgZG93bnNpZGUgaXMgd2UgbG9zZSB0aGUgZXZlbnQuIElmIHRoaXMgYmVjb21lcyBhIHByb2JsZW0sCisJICogdGhlIHVzZXIgc2hvdWxkIGRyb3AgdG8gc2luZ2xlIGNwdSBiZWZvcmUgdHJhY2luZy4KKwkgKi8KKworCXB1dF9jcHVfdmFyKGttbWlvX2N0eCk7CisJcmV0dXJuIDE7IC8qIGZhdWx0IGhhbmRsZWQgKi8KKworbm9fa21taW9fY3R4OgorCXB1dF9jcHVfdmFyKGttbWlvX2N0eCk7Citub19rbW1pbzoKKwlyY3VfcmVhZF91bmxvY2soKTsKKwlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkKCk7CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIEludGVycnVwdHMgYXJlIGRpc2FibGVkIG9uIGVudHJ5IGFzIHRyYXAxIGlzIGFuIGludGVycnVwdCBnYXRlCisgKiBhbmQgdGhleSByZW1haW4gZGlzYWJsZWQgdGhvcm91Z2ggb3V0IHRoaXMgZnVuY3Rpb24uCisgKiBUaGlzIG11c3QgYWx3YXlzIGdldCBjYWxsZWQgYXMgdGhlIHBhaXIgdG8ga21taW9faGFuZGxlcigpLgorICovCitzdGF0aWMgaW50IHBvc3Rfa21taW9faGFuZGxlcih1bnNpZ25lZCBsb25nIGNvbmRpdGlvbiwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJaW50IHJldCA9IDA7CisJc3RydWN0IGttbWlvX2NvbnRleHQgKmN0eCA9ICZnZXRfY3B1X3ZhcihrbW1pb19jdHgpOworCisJaWYgKCFjdHgtPmFjdGl2ZSkgeworCQlwcl9kZWJ1Zygia21taW86IHNwdXJpb3VzIGRlYnVnIHRyYXAgb24gQ1BVICVkLlxuIiwKKwkJCQkJCQlzbXBfcHJvY2Vzc29yX2lkKCkpOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoY3R4LT5wcm9iZSAmJiBjdHgtPnByb2JlLT5wb3N0X2hhbmRsZXIpCisJCWN0eC0+cHJvYmUtPnBvc3RfaGFuZGxlcihjdHgtPnByb2JlLCBjb25kaXRpb24sIHJlZ3MpOworCisJYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoY3R4LT5mcGFnZS0+cGFnZSwgTlVMTCk7CisKKwlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19URjsKKwlyZWdzLT5mbGFncyB8PSBjdHgtPnNhdmVkX2ZsYWdzOworCisJLyogVGhlc2Ugd2VyZSBhY3F1aXJlZCBpbiBrbW1pb19oYW5kbGVyKCkuICovCisJY3R4LT5hY3RpdmUtLTsKKwlCVUdfT04oY3R4LT5hY3RpdmUpOworCXJjdV9yZWFkX3VubG9jaygpOworCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKKworCS8qCisJICogaWYgc29tZWJvZHkgZWxzZSBpcyBzaW5nbGVzdGVwcGluZyBhY3Jvc3MgYSBwcm9iZSBwb2ludCwgZmxhZ3MKKwkgKiB3aWxsIGhhdmUgVEYgc2V0LCBpbiB3aGljaCBjYXNlLCBjb250aW51ZSB0aGUgcmVtYWluaW5nIHByb2Nlc3NpbmcKKwkgKiBvZiBkb19kZWJ1ZywgYXMgaWYgdGhpcyBpcyBub3QgYSBwcm9iZSBoaXQuCisJICovCisJaWYgKCEocmVncy0+ZmxhZ3MgJiBYODZfRUZMQUdTX1RGKSkKKwkJcmV0ID0gMTsKK291dDoKKwlwdXRfY3B1X3ZhcihrbW1pb19jdHgpOworCXJldHVybiByZXQ7Cit9CisKKy8qIFlvdSBtdXN0IGJlIGhvbGRpbmcga21taW9fbG9jay4gKi8KK3N0YXRpYyBpbnQgYWRkX2ttbWlvX2ZhdWx0X3BhZ2UodW5zaWduZWQgbG9uZyBwYWdlKQoreworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpmOworCisJcGFnZSAmPSBQQUdFX01BU0s7CisJZiA9IGdldF9rbW1pb19mYXVsdF9wYWdlKHBhZ2UpOworCWlmIChmKSB7CisJCWlmICghZi0+Y291bnQpCisJCQlhcm1fa21taW9fZmF1bHRfcGFnZShmLT5wYWdlLCBOVUxMKTsKKwkJZi0+Y291bnQrKzsKKwkJcmV0dXJuIDA7CisJfQorCisJZiA9IGttYWxsb2Moc2l6ZW9mKCpmKSwgR0ZQX0FUT01JQyk7CisJaWYgKCFmKQorCQlyZXR1cm4gLTE7CisKKwlmLT5jb3VudCA9IDE7CisJZi0+cGFnZSA9IHBhZ2U7CisJbGlzdF9hZGRfcmN1KCZmLT5saXN0LCBrbW1pb19wYWdlX2xpc3QoZi0+cGFnZSkpOworCisJYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoZi0+cGFnZSwgTlVMTCk7CisKKwlyZXR1cm4gMDsKK30KKworLyogWW91IG11c3QgYmUgaG9sZGluZyBrbW1pb19sb2NrLiAqLworc3RhdGljIHZvaWQgcmVsZWFzZV9rbW1pb19mYXVsdF9wYWdlKHVuc2lnbmVkIGxvbmcgcGFnZSwKKwkJCQlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqKnJlbGVhc2VfbGlzdCkKK3sKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqZjsKKworCXBhZ2UgJj0gUEFHRV9NQVNLOworCWYgPSBnZXRfa21taW9fZmF1bHRfcGFnZShwYWdlKTsKKwlpZiAoIWYpCisJCXJldHVybjsKKworCWYtPmNvdW50LS07CisJQlVHX09OKGYtPmNvdW50IDwgMCk7CisJaWYgKCFmLT5jb3VudCkgeworCQlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShmLT5wYWdlLCBOVUxMKTsKKwkJZi0+cmVsZWFzZV9uZXh0ID0gKnJlbGVhc2VfbGlzdDsKKwkJKnJlbGVhc2VfbGlzdCA9IGY7CisJfQorfQorCisvKgorICogV2l0aCBwYWdlLXVuYWxpZ25lZCBpb3JlbWFwcywgb25lIG9yIHR3byBhcm1lZCBwYWdlcyBtYXkgY29udGFpbgorICogYWRkcmVzc2VzIGZyb20gb3V0c2lkZSB0aGUgaW50ZW5kZWQgbWFwcGluZy4gRXZlbnRzIGZvciB0aGVzZSBhZGRyZXNzZXMKKyAqIGFyZSBjdXJyZW50bHkgc2lsZW50bHkgZHJvcHBlZC4gVGhlIGV2ZW50cyBtYXkgcmVzdWx0IG9ubHkgZnJvbSBwcm9ncmFtbWluZworICogbWlzdGFrZXMgYnkgYWNjZXNzaW5nIGFkZHJlc3NlcyBiZWZvcmUgdGhlIGJlZ2lubmluZyBvciBwYXN0IHRoZSBlbmQgb2YgYQorICogbWFwcGluZy4KKyAqLworaW50IHJlZ2lzdGVyX2ttbWlvX3Byb2JlKHN0cnVjdCBrbW1pb19wcm9iZSAqcCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQgPSAwOworCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IDA7CisJY29uc3QgdW5zaWduZWQgbG9uZyBzaXplX2xpbSA9IHAtPmxlbiArIChwLT5hZGRyICYgflBBR0VfTUFTSyk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgma21taW9fbG9jaywgZmxhZ3MpOworCWlmIChnZXRfa21taW9fcHJvYmUocC0+YWRkcikpIHsKKwkJcmV0ID0gLUVFWElTVDsKKwkJZ290byBvdXQ7CisJfQorCWttbWlvX2NvdW50Kys7CisJbGlzdF9hZGRfcmN1KCZwLT5saXN0LCAma21taW9fcHJvYmVzKTsKKwl3aGlsZSAoc2l6ZSA8IHNpemVfbGltKSB7CisJCWlmIChhZGRfa21taW9fZmF1bHRfcGFnZShwLT5hZGRyICsgc2l6ZSkpCisJCQlwcl9lcnIoImttbWlvOiBVbmFibGUgdG8gc2V0IHBhZ2UgZmF1bHQuXG4iKTsKKwkJc2l6ZSArPSBQQUdFX1NJWkU7CisJfQorb3V0OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwkvKgorCSAqIFhYWDogV2hhdCBzaG91bGQgSSBkbyBoZXJlPworCSAqIEhlcmUgd2FzIGEgY2FsbCB0byBnbG9iYWxfZmx1c2hfdGxiKCksIGJ1dCBpdCBkb2VzIG5vdCBleGlzdAorCSAqIGFueW1vcmUuIEl0IHNlZW1zIGl0J3Mgbm90IG5lZWRlZCBhZnRlciBhbGwuCisJICovCisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0wocmVnaXN0ZXJfa21taW9fcHJvYmUpOworCitzdGF0aWMgdm9pZCByY3VfZnJlZV9rbW1pb19mYXVsdF9wYWdlcyhzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCit7CisJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSAqZHIgPSBjb250YWluZXJfb2YoCisJCQkJCQloZWFkLAorCQkJCQkJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSwKKwkJCQkJCXJjdSk7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnAgPSBkci0+cmVsZWFzZV9saXN0OworCXdoaWxlIChwKSB7CisJCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpuZXh0ID0gcC0+cmVsZWFzZV9uZXh0OworCQlCVUdfT04ocC0+Y291bnQpOworCQlrZnJlZShwKTsKKwkJcCA9IG5leHQ7CisJfQorCWtmcmVlKGRyKTsKK30KKworc3RhdGljIHZvaWQgcmVtb3ZlX2ttbWlvX2ZhdWx0X3BhZ2VzKHN0cnVjdCByY3VfaGVhZCAqaGVhZCkKK3sKKwlzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlICpkciA9IGNvbnRhaW5lcl9vZigKKwkJCQkJCWhlYWQsCisJCQkJCQlzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlLAorCQkJCQkJcmN1KTsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcCA9IGRyLT5yZWxlYXNlX2xpc3Q7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKipwcmV2cCA9ICZkci0+cmVsZWFzZV9saXN0OworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3Bpbl9sb2NrX2lycXNhdmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwl3aGlsZSAocCkgeworCQlpZiAoIXAtPmNvdW50KQorCQkJbGlzdF9kZWxfcmN1KCZwLT5saXN0KTsKKwkJZWxzZQorCQkJKnByZXZwID0gcC0+cmVsZWFzZV9uZXh0OworCQlwcmV2cCA9ICZwLT5yZWxlYXNlX25leHQ7CisJCXAgPSBwLT5yZWxlYXNlX25leHQ7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwkvKiBUaGlzIGlzIHRoZSByZWFsIFJDVSBkZXN0cm95IGNhbGwuICovCisJY2FsbF9yY3UoJmRyLT5yY3UsIHJjdV9mcmVlX2ttbWlvX2ZhdWx0X3BhZ2VzKTsKK30KKworLyoKKyAqIFJlbW92ZSBhIGttbWlvIHByb2JlLiBZb3UgaGF2ZSB0byBzeW5jaHJvbml6ZV9yY3UoKSBiZWZvcmUgeW91IGNhbiBiZQorICogc3VyZSB0aGF0IHRoZSBjYWxsYmFja3Mgd2lsbCBub3QgYmUgY2FsbGVkIGFueW1vcmUuIE9ubHkgYWZ0ZXIgdGhhdAorICogeW91IG1heSBhY3R1YWxseSByZWxlYXNlIHlvdXIgc3RydWN0IGttbWlvX3Byb2JlLgorICoKKyAqIFVucmVnaXN0ZXJpbmcgYSBrbW1pbyBmYXVsdCBwYWdlIGhhcyB0aHJlZSBzdGVwczoKKyAqIDEuIHJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZSgpCisgKiAgICBEaXNhcm0gdGhlIHBhZ2UsIHdhaXQgYSBncmFjZSBwZXJpb2QgdG8gbGV0IGFsbCBmYXVsdHMgZmluaXNoLgorICogMi4gcmVtb3ZlX2ttbWlvX2ZhdWx0X3BhZ2VzKCkKKyAqICAgIFJlbW92ZSB0aGUgcGFnZXMgZnJvbSBrbW1pb19wYWdlX3RhYmxlLgorICogMy4gcmN1X2ZyZWVfa21taW9fZmF1bHRfcGFnZXMoKQorICogICAgQWN0YWxseSBmcmVlIHRoZSBrbW1pb19mYXVsdF9wYWdlIHN0cnVjdHMgYXMgd2l0aCBSQ1UuCisgKi8KK3ZvaWQgdW5yZWdpc3Rlcl9rbW1pb19wcm9iZShzdHJ1Y3Qga21taW9fcHJvYmUgKnApCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHNpemUgPSAwOworCWNvbnN0IHVuc2lnbmVkIGxvbmcgc2l6ZV9saW0gPSBwLT5sZW4gKyAocC0+YWRkciAmIH5QQUdFX01BU0spOworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpyZWxlYXNlX2xpc3QgPSBOVUxMOworCXN0cnVjdCBrbW1pb19kZWxheWVkX3JlbGVhc2UgKmRyZWxlYXNlOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwl3aGlsZSAoc2l6ZSA8IHNpemVfbGltKSB7CisJCXJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZShwLT5hZGRyICsgc2l6ZSwgJnJlbGVhc2VfbGlzdCk7CisJCXNpemUgKz0gUEFHRV9TSVpFOworCX0KKwlsaXN0X2RlbF9yY3UoJnAtPmxpc3QpOworCWttbWlvX2NvdW50LS07CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgma21taW9fbG9jaywgZmxhZ3MpOworCisJZHJlbGVhc2UgPSBrbWFsbG9jKHNpemVvZigqZHJlbGVhc2UpLCBHRlBfQVRPTUlDKTsKKwlpZiAoIWRyZWxlYXNlKSB7CisJCXByX2NyaXQoImttbWlvOiBsZWFraW5nIGttbWlvX2ZhdWx0X3BhZ2Ugb2JqZWN0cy5cbiIpOworCQlyZXR1cm47CisJfQorCWRyZWxlYXNlLT5yZWxlYXNlX2xpc3QgPSByZWxlYXNlX2xpc3Q7CisKKwkvKgorCSAqIFRoaXMgaXMgbm90IHJlYWxseSBSQ1UgaGVyZS4gV2UgaGF2ZSBqdXN0IGRpc2FybWVkIGEgc2V0IG9mCisJICogcGFnZXMgc28gdGhhdCB0aGV5IGNhbm5vdCB0cmlnZ2VyIHBhZ2UgZmF1bHRzIGFueW1vcmUuIEhvd2V2ZXIsCisJICogd2UgY2Fubm90IHJlbW92ZSB0aGUgcGFnZXMgZnJvbSBrbW1pb19wYWdlX3RhYmxlLAorCSAqIGJlY2F1c2UgYSBwcm9iZSBoaXQgbWlnaHQgYmUgaW4gZmxpZ2h0IG9uIGFub3RoZXIgQ1BVLiBUaGUKKwkgKiBwYWdlcyBhcmUgY29sbGVjdGVkIGludG8gYSBsaXN0LCBhbmQgdGhleSB3aWxsIGJlIHJlbW92ZWQgZnJvbQorCSAqIGttbWlvX3BhZ2VfdGFibGUgd2hlbiBpdCBpcyBjZXJ0YWluIHRoYXQgbm8gcHJvYmUgaGl0IHJlbGF0ZWQgdG8KKwkgKiB0aGVzZSBwYWdlcyBjYW4gYmUgaW4gZmxpZ2h0LiBSQ1UgZ3JhY2UgcGVyaW9kIHNvdW5kcyBsaWtlIGEKKwkgKiBnb29kIGNob2ljZS4KKwkgKgorCSAqIElmIHdlIHJlbW92ZWQgdGhlIHBhZ2VzIHRvbyBlYXJseSwga21taW8gcGFnZSBmYXVsdCBoYW5kbGVyIG1pZ2h0CisJICogbm90IGZpbmQgdGhlIHJlc3BlY3RpdmUga21taW9fZmF1bHRfcGFnZSBhbmQgZGV0ZXJtaW5lIGl0J3Mgbm90CisJICogYSBrbW1pbyBmYXVsdCwgd2hlbiBpdCBhY3R1YWxseSBpcy4gVGhpcyB3b3VsZCBsZWFkIHRvIG1hZG5lc3MuCisJICovCisJY2FsbF9yY3UoJmRyZWxlYXNlLT5yY3UsIHJlbW92ZV9rbW1pb19mYXVsdF9wYWdlcyk7Cit9CitFWFBPUlRfU1lNQk9MKHVucmVnaXN0ZXJfa21taW9fcHJvYmUpOworCitzdGF0aWMgaW50IGttbWlvX2RpZV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25lZCBsb25nIHZhbCwKKwkJCQkJCQkJdm9pZCAqYXJncykKK3sKKwlzdHJ1Y3QgZGllX2FyZ3MgKmFyZyA9IGFyZ3M7CisKKwlpZiAodmFsID09IERJRV9ERUJVRyAmJiAoYXJnLT5lcnIgJiBEUl9TVEVQKSkKKwkJaWYgKHBvc3Rfa21taW9faGFuZGxlcihhcmctPmVyciwgYXJnLT5yZWdzKSA9PSAxKQorCQkJcmV0dXJuIE5PVElGWV9TVE9QOworCisJcmV0dXJuIE5PVElGWV9ET05FOworfQorCitzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIG5iX2RpZSA9IHsKKwkubm90aWZpZXJfY2FsbCA9IGttbWlvX2RpZV9ub3RpZmllcgorfTsKKworc3RhdGljIGludCBfX2luaXQgaW5pdF9rbW1pbyh2b2lkKQoreworCWludCBpOworCWZvciAoaSA9IDA7IGkgPCBLTU1JT19QQUdFX1RBQkxFX1NJWkU7IGkrKykKKwkJSU5JVF9MSVNUX0hFQUQoJmttbWlvX3BhZ2VfdGFibGVbaV0pOworCXJldHVybiByZWdpc3Rlcl9kaWVfbm90aWZpZXIoJm5iX2RpZSk7Cit9Citmc19pbml0Y2FsbChpbml0X2ttbWlvKTsgLyogc2hvdWxkIGJlIGJlZm9yZSBkZXZpY2VfaW5pdGNhbGwoKSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vbW1pby1tb2QuYyBiL2FyY2gveDg2L21tL21taW8tbW9kLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTczOTdlMQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL21taW8tbW9kLmMKQEAgLTAsMCArMSw1MTUgQEAKKy8qCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoKKyAqIENvcHlyaWdodCAoQykgSUJNIENvcnBvcmF0aW9uLCAyMDA1CisgKiAgICAgICAgICAgICAgIEplZmYgTXVpemVsYWFyLCAyMDA2LCAyMDA3CisgKiAgICAgICAgICAgICAgIFBla2thIFBhYWxhbmVuLCAyMDA4IDxwcUBpa2kuZmk+CisgKgorICogRGVyaXZlZCBmcm9tIHRoZSByZWFkLW1vZCBleGFtcGxlIGZyb20gcmVsYXktZXhhbXBsZXMgYnkgVG9tIFphbnVzc2kuCisgKi8KKyNkZWZpbmUgREVCVUcgMQorCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4gLyogZm9yIElTQV9TVEFSVF9BRERSRVNTICovCisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgorCisjaW5jbHVkZSAicGZfaW4uaCIKKworI2RlZmluZSBOQU1FICJtbWlvdHJhY2U6ICIKKworc3RydWN0IHRyYXBfcmVhc29uIHsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJdW5zaWduZWQgbG9uZyBpcDsKKwllbnVtIHJlYXNvbl90eXBlIHR5cGU7CisJaW50IGFjdGl2ZV90cmFjZXM7Cit9OworCitzdHJ1Y3QgcmVtYXBfdHJhY2UgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3Qga21taW9fcHJvYmUgcHJvYmU7CisJcmVzb3VyY2Vfc2l6ZV90IHBoeXM7CisJdW5zaWduZWQgbG9uZyBpZDsKK307CisKKy8qIEFjY2Vzc2VkIHBlci1jcHUuICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRyYXBfcmVhc29uLCBwZl9yZWFzb24pOworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBtbWlvdHJhY2VfcncsIGNwdV90cmFjZSk7CisKKyNpZiAwIC8qIFhYWDogbm8gd2F5IGdhdGhlciB0aGlzIGluZm8gYW55bW9yZSAqLworLyogQWNjZXNzIHRvIHRoaXMgaXMgbm90IHBlci1jcHUuICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoYXRvbWljX3QsIGRyb3BwZWQpOworI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICptYXJrZXJfZmlsZTsKKworc3RhdGljIERFRklORV9NVVRFWChtbWlvdHJhY2VfbXV0ZXgpOworc3RhdGljIERFRklORV9TUElOTE9DSyh0cmFjZV9sb2NrKTsKK3N0YXRpYyBhdG9taWNfdCBtbWlvdHJhY2VfZW5hYmxlZDsKK3N0YXRpYyBMSVNUX0hFQUQodHJhY2VfbGlzdCk7CQkvKiBzdHJ1Y3QgcmVtYXBfdHJhY2UgKi8KKworLyoKKyAqIExvY2tpbmcgaW4gdGhpcyBmaWxlOgorICogLSBtbWlvdHJhY2VfbXV0ZXggZW5mb3JjZXMgZW5hYmxlL2Rpc2FibGVfbW1pb3RyYWNlKCkgY3JpdGljYWwgc2VjdGlvbnMuCisgKiAtIG1taW90cmFjZV9lbmFibGVkIG1heSBiZSBtb2RpZmllZCBvbmx5IHdoZW4gaG9sZGluZyBtbWlvdHJhY2VfbXV0ZXgKKyAqICAgYW5kIHRyYWNlX2xvY2suCisgKiAtIFJvdXRpbmVzIGRlcGVuZGluZyBvbiBpc19lbmFibGVkKCkgbXVzdCB0YWtlIHRyYWNlX2xvY2suCisgKiAtIHRyYWNlX2xpc3QgdXNlcnMgbXVzdCBob2xkIHRyYWNlX2xvY2suCisgKiAtIGlzX2VuYWJsZWQoKSBndWFyYW50ZWVzIHRoYXQgbW1pb190cmFjZV9yZWNvcmQgaXMgYWxsb3dlZC4KKyAqIC0gcHJlL3Bvc3QgY2FsbGJhY2tzIGFzc3VtZSB0aGUgZWZmZWN0IG9mIGlzX2VuYWJsZWQoKSBiZWluZyB0cnVlLgorICovCisKKy8qIG1vZHVsZSBwYXJhbWV0ZXJzICovCitzdGF0aWMgdW5zaWduZWQgbG9uZwlmaWx0ZXJfb2Zmc2V0Oworc3RhdGljIGludAkJbm9tbWlvdHJhY2U7CitzdGF0aWMgaW50CQl0cmFjZV9wYzsKKworbW9kdWxlX3BhcmFtKGZpbHRlcl9vZmZzZXQsIHVsb25nLCAwKTsKK21vZHVsZV9wYXJhbShub21taW90cmFjZSwgYm9vbCwgMCk7Cittb2R1bGVfcGFyYW0odHJhY2VfcGMsIGJvb2wsIDApOworCitNT0RVTEVfUEFSTV9ERVNDKGZpbHRlcl9vZmZzZXQsICJTdGFydCBhZGRyZXNzIG9mIHRyYWNlZCBtYXBwaW5ncy4iKTsKK01PRFVMRV9QQVJNX0RFU0Mobm9tbWlvdHJhY2UsICJEaXNhYmxlIGFjdHVhbCBNTUlPIHRyYWNpbmcuIik7CitNT0RVTEVfUEFSTV9ERVNDKHRyYWNlX3BjLCAiUmVjb3JkIGFkZHJlc3Mgb2YgZmF1bHRpbmcgaW5zdHJ1Y3Rpb25zLiIpOworCitzdGF0aWMgYm9vbCBpc19lbmFibGVkKHZvaWQpCit7CisJcmV0dXJuIGF0b21pY19yZWFkKCZtbWlvdHJhY2VfZW5hYmxlZCk7Cit9CisKKyNpZiAwIC8qIFhYWDogbmVlZHMgcmV3cml0ZSAqLworLyoKKyAqIFdyaXRlIGNhbGxiYWNrIGZvciB0aGUgZGVidWdmcyBlbnRyeToKKyAqIFJlYWQgYSBtYXJrZXIgYW5kIHdyaXRlIGl0IHRvIHRoZSBtbWlvIHRyYWNlIGxvZworICovCitzdGF0aWMgc3NpemVfdCB3cml0ZV9tYXJrZXIoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsCisJCQkJCQlzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyICpldmVudCA9IE5VTEw7CisJc3RydWN0IG1tX2lvX2hlYWRlciAqaGVhZHA7CisJc3NpemVfdCBsZW4gPSAoY291bnQgPiA2NTUzNSkgPyA2NTUzNSA6IGNvdW50OworCisJZXZlbnQgPSBremFsbG9jKHNpemVvZigqaGVhZHApICsgbGVuLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWV2ZW50KQorCQlyZXR1cm4gLUVOT01FTTsKKworCWhlYWRwID0gKHN0cnVjdCBtbV9pb19oZWFkZXIgKilldmVudDsKKwloZWFkcC0+dHlwZSA9IE1NSU9fTUFHSUMgfCAoTU1JT19NQVJLRVIgPDwgTU1JT19PUENPREVfU0hJRlQpOworCWhlYWRwLT5kYXRhX2xlbiA9IGxlbjsKKworCWlmIChjb3B5X2Zyb21fdXNlcihldmVudCArIHNpemVvZigqaGVhZHApLCBidWZmZXIsIGxlbikpIHsKKwkJa2ZyZWUoZXZlbnQpOworCQlyZXR1cm4gLUVGQVVMVDsKKwl9CisKKwlzcGluX2xvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKyNpZiAwIC8qIFhYWDogY29udmVydCB0aGlzIHRvIHVzZSB0cmFjaW5nICovCisJaWYgKGlzX2VuYWJsZWQoKSkKKwkJcmVsYXlfd3JpdGUoY2hhbiwgZXZlbnQsIHNpemVvZigqaGVhZHApICsgbGVuKTsKKwllbHNlCisjZW5kaWYKKwkJbGVuID0gLUVJTlZBTDsKKwlzcGluX3VubG9ja19pcnEoJnRyYWNlX2xvY2spOworCWtmcmVlKGV2ZW50KTsKKwlyZXR1cm4gbGVuOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIHByaW50X3B0ZSh1bnNpZ25lZCBsb25nIGFkZHJlc3MpCit7CisJdW5zaWduZWQgaW50IGxldmVsOworCXB0ZV90ICpwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyZXNzLCAmbGV2ZWwpOworCisJaWYgKCFwdGUpIHsKKwkJcHJfZXJyKE5BTUUgIkVycm9yIGluICVzOiBubyBwdGUgZm9yIHBhZ2UgMHglMDhseFxuIiwKKwkJCQkJCQlfX2Z1bmNfXywgYWRkcmVzcyk7CisJCXJldHVybjsKKwl9CisKKwlpZiAobGV2ZWwgPT0gUEdfTEVWRUxfMk0pIHsKKwkJcHJfZW1lcmcoTkFNRSAiNE1CIHBhZ2VzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZDogIgorCQkJCQkJCSIweCUwOGx4XG4iLCBhZGRyZXNzKTsKKwkJQlVHKCk7CisJfQorCXByX2luZm8oTkFNRSAicHRlIGZvciAweCVseDogMHglbGx4IDB4JWxseFxuIiwgYWRkcmVzcywKKwkJKHVuc2lnbmVkIGxvbmcgbG9uZylwdGVfdmFsKCpwdGUpLAorCQkodW5zaWduZWQgbG9uZyBsb25nKXB0ZV92YWwoKnB0ZSkgJiBfUEFHRV9QUkVTRU5UKTsKK30KKworLyoKKyAqIEZvciBzb21lIHJlYXNvbiB0aGUgcHJlL3Bvc3QgcGFpcnMgaGF2ZSBiZWVuIGNhbGxlZCBpbiBhbgorICogdW5tYXRjaGVkIG9yZGVyLiBSZXBvcnQgYW5kIGRpZS4KKyAqLworc3RhdGljIHZvaWQgZGllX2ttbWlvX25lc3RpbmdfZXJyb3Ioc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwljb25zdCBzdHJ1Y3QgdHJhcF9yZWFzb24gKm15X3JlYXNvbiA9ICZnZXRfY3B1X3ZhcihwZl9yZWFzb24pOworCXByX2VtZXJnKE5BTUUgInVuZXhwZWN0ZWQgZmF1bHQgZm9yIGFkZHJlc3M6IDB4JTA4bHgsICIKKwkJCQkJImxhc3QgZmF1bHQgZm9yIGFkZHJlc3M6IDB4JTA4bHhcbiIsCisJCQkJCWFkZHIsIG15X3JlYXNvbi0+YWRkcik7CisJcHJpbnRfcHRlKGFkZHIpOworCXByaW50X3N5bWJvbChLRVJOX0VNRVJHICJmYXVsdGluZyBJUCBpcyBhdCAlc1xuIiwgcmVncy0+aXApOworCXByaW50X3N5bWJvbChLRVJOX0VNRVJHICJsYXN0IGZhdWx0aW5nIElQIHdhcyBhdCAlc1xuIiwgbXlfcmVhc29uLT5pcCk7CisjaWZkZWYgX19pMzg2X18KKwlwcl9lbWVyZygiZWF4OiAlMDhseCAgIGVieDogJTA4bHggICBlY3g6ICUwOGx4ICAgZWR4OiAlMDhseFxuIiwKKwkJCXJlZ3MtPmF4LCByZWdzLT5ieCwgcmVncy0+Y3gsIHJlZ3MtPmR4KTsKKwlwcl9lbWVyZygiZXNpOiAlMDhseCAgIGVkaTogJTA4bHggICBlYnA6ICUwOGx4ICAgZXNwOiAlMDhseFxuIiwKKwkJCXJlZ3MtPnNpLCByZWdzLT5kaSwgcmVncy0+YnAsIHJlZ3MtPnNwKTsKKyNlbHNlCisJcHJfZW1lcmcoInJheDogJTAxNmx4ICAgcmN4OiAlMDE2bHggICByZHg6ICUwMTZseFxuIiwKKwkJCQkJcmVncy0+YXgsIHJlZ3MtPmN4LCByZWdzLT5keCk7CisJcHJfZW1lcmcoInJzaTogJTAxNmx4ICAgcmRpOiAlMDE2bHggICByYnA6ICUwMTZseCAgIHJzcDogJTAxNmx4XG4iLAorCQkJCXJlZ3MtPnNpLCByZWdzLT5kaSwgcmVncy0+YnAsIHJlZ3MtPnNwKTsKKyNlbmRpZgorCXB1dF9jcHVfdmFyKHBmX3JlYXNvbik7CisJQlVHKCk7Cit9CisKK3N0YXRpYyB2b2lkIHByZShzdHJ1Y3Qga21taW9fcHJvYmUgKnAsIHN0cnVjdCBwdF9yZWdzICpyZWdzLAorCQkJCQkJdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0cnVjdCB0cmFwX3JlYXNvbiAqbXlfcmVhc29uID0gJmdldF9jcHVfdmFyKHBmX3JlYXNvbik7CisJc3RydWN0IG1taW90cmFjZV9ydyAqbXlfdHJhY2UgPSAmZ2V0X2NwdV92YXIoY3B1X3RyYWNlKTsKKwljb25zdCB1bnNpZ25lZCBsb25nIGluc3RwdHIgPSBpbnN0cnVjdGlvbl9wb2ludGVyKHJlZ3MpOworCWNvbnN0IGVudW0gcmVhc29uX3R5cGUgdHlwZSA9IGdldF9pbnNfdHlwZShpbnN0cHRyKTsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlID0gcC0+cHJpdmF0ZTsKKworCS8qIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBoYXZlIG1vcmUgdGhhbiBvbmUgYWN0aXZlIHRyYWNlIHBlciBjcHUgKi8KKwlpZiAobXlfcmVhc29uLT5hY3RpdmVfdHJhY2VzKQorCQlkaWVfa21taW9fbmVzdGluZ19lcnJvcihyZWdzLCBhZGRyKTsKKwllbHNlCisJCW15X3JlYXNvbi0+YWN0aXZlX3RyYWNlcysrOworCisJbXlfcmVhc29uLT50eXBlID0gdHlwZTsKKwlteV9yZWFzb24tPmFkZHIgPSBhZGRyOworCW15X3JlYXNvbi0+aXAgPSBpbnN0cHRyOworCisJbXlfdHJhY2UtPnBoeXMgPSBhZGRyIC0gdHJhY2UtPnByb2JlLmFkZHIgKyB0cmFjZS0+cGh5czsKKwlteV90cmFjZS0+bWFwX2lkID0gdHJhY2UtPmlkOworCisJLyoKKwkgKiBPbmx5IHJlY29yZCB0aGUgcHJvZ3JhbSBjb3VudGVyIHdoZW4gcmVxdWVzdGVkLgorCSAqIEl0IG1heSB0YWludCBjbGVhbi1yb29tIHJldmVyc2UgZW5naW5lZXJpbmcuCisJICovCisJaWYgKHRyYWNlX3BjKQorCQlteV90cmFjZS0+cGMgPSBpbnN0cHRyOworCWVsc2UKKwkJbXlfdHJhY2UtPnBjID0gMDsKKworCS8qCisJICogWFhYOiB0aGUgdGltZXN0YW1wIHJlY29yZGVkIHdpbGwgYmUgKmFmdGVyKiB0aGUgdHJhY2luZyBoYXMgYmVlbgorCSAqIGRvbmUsIG5vdCBhdCB0aGUgdGltZSB3ZSBoaXQgdGhlIGluc3RydWN0aW9uLiBTTVAgaW1wbGljYXRpb25zCisJICogb24gZXZlbnQgb3JkZXJpbmc/CisJICovCisKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFJFR19SRUFEOgorCQlteV90cmFjZS0+b3Bjb2RlID0gTU1JT19SRUFEOworCQlteV90cmFjZS0+d2lkdGggPSBnZXRfaW5zX21lbV93aWR0aChpbnN0cHRyKTsKKwkJYnJlYWs7CisJY2FzZSBSRUdfV1JJVEU6CisJCW15X3RyYWNlLT5vcGNvZGUgPSBNTUlPX1dSSVRFOworCQlteV90cmFjZS0+d2lkdGggPSBnZXRfaW5zX21lbV93aWR0aChpbnN0cHRyKTsKKwkJbXlfdHJhY2UtPnZhbHVlID0gZ2V0X2luc19yZWdfdmFsKGluc3RwdHIsIHJlZ3MpOworCQlicmVhazsKKwljYXNlIElNTV9XUklURToKKwkJbXlfdHJhY2UtPm9wY29kZSA9IE1NSU9fV1JJVEU7CisJCW15X3RyYWNlLT53aWR0aCA9IGdldF9pbnNfbWVtX3dpZHRoKGluc3RwdHIpOworCQlteV90cmFjZS0+dmFsdWUgPSBnZXRfaW5zX2ltbV92YWwoaW5zdHB0cik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXsKKwkJCXVuc2lnbmVkIGNoYXIgKmlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnN0cHRyOworCQkJbXlfdHJhY2UtPm9wY29kZSA9IE1NSU9fVU5LTk9XTl9PUDsKKwkJCW15X3RyYWNlLT53aWR0aCA9IDA7CisJCQlteV90cmFjZS0+dmFsdWUgPSAoKmlwKSA8PCAxNiB8ICooaXAgKyAxKSA8PCA4IHwKKwkJCQkJCQkJKihpcCArIDIpOworCQl9CisJfQorCXB1dF9jcHVfdmFyKGNwdV90cmFjZSk7CisJcHV0X2NwdV92YXIocGZfcmVhc29uKTsKK30KKworc3RhdGljIHZvaWQgcG9zdChzdHJ1Y3Qga21taW9fcHJvYmUgKnAsIHVuc2lnbmVkIGxvbmcgY29uZGl0aW9uLAorCQkJCQkJCXN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXN0cnVjdCB0cmFwX3JlYXNvbiAqbXlfcmVhc29uID0gJmdldF9jcHVfdmFyKHBmX3JlYXNvbik7CisJc3RydWN0IG1taW90cmFjZV9ydyAqbXlfdHJhY2UgPSAmZ2V0X2NwdV92YXIoY3B1X3RyYWNlKTsKKworCS8qIHRoaXMgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIGFjdGl2ZV90cmFjZSBjb3VudCB0byAwICovCisJbXlfcmVhc29uLT5hY3RpdmVfdHJhY2VzLS07CisJaWYgKG15X3JlYXNvbi0+YWN0aXZlX3RyYWNlcykgeworCQlwcl9lbWVyZyhOQU1FICJ1bmV4cGVjdGVkIHBvc3QgaGFuZGxlciIpOworCQlCVUcoKTsKKwl9CisKKwlzd2l0Y2ggKG15X3JlYXNvbi0+dHlwZSkgeworCWNhc2UgUkVHX1JFQUQ6CisJCW15X3RyYWNlLT52YWx1ZSA9IGdldF9pbnNfcmVnX3ZhbChteV9yZWFzb24tPmlwLCByZWdzKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJbW1pb190cmFjZV9ydyhteV90cmFjZSk7CisJcHV0X2NwdV92YXIoY3B1X3RyYWNlKTsKKwlwdXRfY3B1X3ZhcihwZl9yZWFzb24pOworfQorCitzdGF0aWMgdm9pZCBpb3JlbWFwX3RyYWNlX2NvcmUocmVzb3VyY2Vfc2l6ZV90IG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCQkJCXZvaWQgX19pb21lbSAqYWRkcikKK3sKKwlzdGF0aWMgYXRvbWljX3QgbmV4dF9pZDsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlID0ga21hbGxvYyhzaXplb2YoKnRyYWNlKSwgR0ZQX0tFUk5FTCk7CisJLyogVGhlc2UgYXJlIHBhZ2UtdW5hbGlnbmVkLiAqLworCXN0cnVjdCBtbWlvdHJhY2VfbWFwIG1hcCA9IHsKKwkJLnBoeXMgPSBvZmZzZXQsCisJCS52aXJ0ID0gKHVuc2lnbmVkIGxvbmcpYWRkciwKKwkJLmxlbiA9IHNpemUsCisJCS5vcGNvZGUgPSBNTUlPX1BST0JFCisJfTsKKworCWlmICghdHJhY2UpIHsKKwkJcHJfZXJyKE5BTUUgImttYWxsb2MgZmFpbGVkIGluIGlvcmVtYXBcbiIpOworCQlyZXR1cm47CisJfQorCisJKnRyYWNlID0gKHN0cnVjdCByZW1hcF90cmFjZSkgeworCQkucHJvYmUgPSB7CisJCQkuYWRkciA9ICh1bnNpZ25lZCBsb25nKWFkZHIsCisJCQkubGVuID0gc2l6ZSwKKwkJCS5wcmVfaGFuZGxlciA9IHByZSwKKwkJCS5wb3N0X2hhbmRsZXIgPSBwb3N0LAorCQkJLnByaXZhdGUgPSB0cmFjZQorCQl9LAorCQkucGh5cyA9IG9mZnNldCwKKwkJLmlkID0gYXRvbWljX2luY19yZXR1cm4oJm5leHRfaWQpCisJfTsKKwltYXAubWFwX2lkID0gdHJhY2UtPmlkOworCisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKCFpc19lbmFibGVkKCkpCisJCWdvdG8gbm90X2VuYWJsZWQ7CisKKwltbWlvX3RyYWNlX21hcHBpbmcoJm1hcCk7CisJbGlzdF9hZGRfdGFpbCgmdHJhY2UtPmxpc3QsICZ0cmFjZV9saXN0KTsKKwlpZiAoIW5vbW1pb3RyYWNlKQorCQlyZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKworbm90X2VuYWJsZWQ6CisJc3Bpbl91bmxvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKK30KKwordm9pZCBtbWlvdHJhY2VfaW9yZW1hcChyZXNvdXJjZV9zaXplX3Qgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkJCQl2b2lkIF9faW9tZW0gKmFkZHIpCit7CisJaWYgKCFpc19lbmFibGVkKCkpIC8qIHJlY2hlY2sgYW5kIHByb3BlciBsb2NraW5nIGluICpfY29yZSgpICovCisJCXJldHVybjsKKworCXByX2RlYnVnKE5BTUUgImlvcmVtYXBfKigweCVsbHgsIDB4JWx4KSA9ICVwXG4iLAorCQkJCSh1bnNpZ25lZCBsb25nIGxvbmcpb2Zmc2V0LCBzaXplLCBhZGRyKTsKKwlpZiAoKGZpbHRlcl9vZmZzZXQpICYmIChvZmZzZXQgIT0gZmlsdGVyX29mZnNldCkpCisJCXJldHVybjsKKwlpb3JlbWFwX3RyYWNlX2NvcmUob2Zmc2V0LCBzaXplLCBhZGRyKTsKK30KKworc3RhdGljIHZvaWQgaW91bm1hcF90cmFjZV9jb3JlKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKK3sKKwlzdHJ1Y3QgbW1pb3RyYWNlX21hcCBtYXAgPSB7CisJCS5waHlzID0gMCwKKwkJLnZpcnQgPSAodW5zaWduZWQgbG9uZylhZGRyLAorCQkubGVuID0gMCwKKwkJLm9wY29kZSA9IE1NSU9fVU5QUk9CRQorCX07CisJc3RydWN0IHJlbWFwX3RyYWNlICp0cmFjZTsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRtcDsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKmZvdW5kX3RyYWNlID0gTlVMTDsKKworCXByX2RlYnVnKE5BTUUgIlVubWFwcGluZyAlcC5cbiIsIGFkZHIpOworCisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKCFpc19lbmFibGVkKCkpCisJCWdvdG8gbm90X2VuYWJsZWQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodHJhY2UsIHRtcCwgJnRyYWNlX2xpc3QsIGxpc3QpIHsKKwkJaWYgKCh1bnNpZ25lZCBsb25nKWFkZHIgPT0gdHJhY2UtPnByb2JlLmFkZHIpIHsKKwkJCWlmICghbm9tbWlvdHJhY2UpCisJCQkJdW5yZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKwkJCWxpc3RfZGVsKCZ0cmFjZS0+bGlzdCk7CisJCQlmb3VuZF90cmFjZSA9IHRyYWNlOworCQkJYnJlYWs7CisJCX0KKwl9CisJbWFwLm1hcF9pZCA9IChmb3VuZF90cmFjZSkgPyBmb3VuZF90cmFjZS0+aWQgOiAtMTsKKwltbWlvX3RyYWNlX21hcHBpbmcoJm1hcCk7CisKK25vdF9lbmFibGVkOgorCXNwaW5fdW5sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKGZvdW5kX3RyYWNlKSB7CisJCXN5bmNocm9uaXplX3JjdSgpOyAvKiB1bnJlZ2lzdGVyX2ttbWlvX3Byb2JlKCkgcmVxdWlyZW1lbnQgKi8KKwkJa2ZyZWUoZm91bmRfdHJhY2UpOworCX0KK30KKwordm9pZCBtbWlvdHJhY2VfaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCit7CisJbWlnaHRfc2xlZXAoKTsKKwlpZiAoaXNfZW5hYmxlZCgpKSAvKiByZWNoZWNrIGFuZCBwcm9wZXIgbG9ja2luZyBpbiAqX2NvcmUoKSAqLworCQlpb3VubWFwX3RyYWNlX2NvcmUoYWRkcik7Cit9CisKK3N0YXRpYyB2b2lkIGNsZWFyX3RyYWNlX2xpc3Qodm9pZCkKK3sKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlOworCXN0cnVjdCByZW1hcF90cmFjZSAqdG1wOworCisJLyoKKwkgKiBObyBsb2NraW5nIHJlcXVpcmVkLCBiZWNhdXNlIHRoZSBjYWxsZXIgZW5zdXJlcyB3ZSBhcmUgaW4gYQorCSAqIGNyaXRpY2FsIHNlY3Rpb24gdmlhIG11dGV4LCBhbmQgaXNfZW5hYmxlZCgpIGlzIGZhbHNlLAorCSAqIGkuZS4gbm90aGluZyBjYW4gdHJhdmVyc2Ugb3IgbW9kaWZ5IHRoaXMgbGlzdC4KKwkgKiBDYWxsZXIgYWxzbyBlbnN1cmVzIGlzX2VuYWJsZWQoKSBjYW5ub3QgY2hhbmdlLgorCSAqLworCWxpc3RfZm9yX2VhY2hfZW50cnkodHJhY2UsICZ0cmFjZV9saXN0LCBsaXN0KSB7CisJCXByX25vdGljZShOQU1FICJwdXJnaW5nIG5vbi1pb3VubWFwcGVkICIKKwkJCQkJInRyYWNlIEAweCUwOGx4LCBzaXplIDB4JWx4LlxuIiwKKwkJCQkJdHJhY2UtPnByb2JlLmFkZHIsIHRyYWNlLT5wcm9iZS5sZW4pOworCQlpZiAoIW5vbW1pb3RyYWNlKQorCQkJdW5yZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKwl9CisJc3luY2hyb25pemVfcmN1KCk7IC8qIHVucmVnaXN0ZXJfa21taW9fcHJvYmUoKSByZXF1aXJlbWVudCAqLworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHRyYWNlLCB0bXAsICZ0cmFjZV9saXN0LCBsaXN0KSB7CisJCWxpc3RfZGVsKCZ0cmFjZS0+bGlzdCk7CisJCWtmcmVlKHRyYWNlKTsKKwl9Cit9CisKKyNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKK3N0YXRpYyBjcHVtYXNrX3QgZG93bmVkX2NwdXM7CisKK3N0YXRpYyB2b2lkIGVudGVyX3VuaXByb2Nlc3Nvcih2b2lkKQoreworCWludCBjcHU7CisJaW50IGVycjsKKworCWdldF9vbmxpbmVfY3B1cygpOworCWRvd25lZF9jcHVzID0gY3B1X29ubGluZV9tYXA7CisJY3B1X2NsZWFyKGZpcnN0X2NwdShjcHVfb25saW5lX21hcCksIGRvd25lZF9jcHVzKTsKKwlpZiAobnVtX29ubGluZV9jcHVzKCkgPiAxKQorCQlwcl9ub3RpY2UoTkFNRSAiRGlzYWJsaW5nIG5vbi1ib290IENQVXMuLi5cbiIpOworCXB1dF9vbmxpbmVfY3B1cygpOworCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBkb3duZWRfY3B1cykgeworCQllcnIgPSBjcHVfZG93bihjcHUpOworCQlpZiAoIWVycikKKwkJCXByX2luZm8oTkFNRSAiQ1BVJWQgaXMgZG93bi5cbiIsIGNwdSk7CisJCWVsc2UKKwkJCXByX2VycihOQU1FICJFcnJvciB0YWtpbmcgQ1BVJWQgZG93bjogJWRcbiIsIGNwdSwgZXJyKTsKKwl9CisJaWYgKG51bV9vbmxpbmVfY3B1cygpID4gMSkKKwkJcHJfd2FybmluZyhOQU1FICJtdWx0aXBsZSBDUFVzIHN0aWxsIG9ubGluZSwgIgorCQkJCQkJIm1heSBtaXNzIGV2ZW50cy5cbiIpOworfQorCitzdGF0aWMgdm9pZCBsZWF2ZV91bmlwcm9jZXNzb3Iodm9pZCkKK3sKKwlpbnQgY3B1OworCWludCBlcnI7CisKKwlpZiAoY3B1c193ZWlnaHQoZG93bmVkX2NwdXMpID09IDApCisJCXJldHVybjsKKwlwcl9ub3RpY2UoTkFNRSAiUmUtZW5hYmxpbmcgQ1BVcy4uLlxuIik7CisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBkb3duZWRfY3B1cykgeworCQllcnIgPSBjcHVfdXAoY3B1KTsKKwkJaWYgKCFlcnIpCisJCQlwcl9pbmZvKE5BTUUgImVuYWJsZWQgQ1BVJWQuXG4iLCBjcHUpOworCQllbHNlCisJCQlwcl9lcnIoTkFNRSAiY2Fubm90IHJlLWVuYWJsZSBDUFUlZDogJWRcbiIsIGNwdSwgZXJyKTsKKwl9Cit9CisKKyNlbHNlIC8qICFDT05GSUdfSE9UUExVR19DUFUgKi8KK3N0YXRpYyB2b2lkIGVudGVyX3VuaXByb2Nlc3Nvcih2b2lkKQoreworCWlmIChudW1fb25saW5lX2NwdXMoKSA+IDEpCisJCXByX3dhcm5pbmcoTkFNRSAibXVsdGlwbGUgQ1BVcyBhcmUgb25saW5lLCBtYXkgbWlzcyBldmVudHMuICIKKwkJCSJTdWdnZXN0IGJvb3Rpbmcgd2l0aCBtYXhjcHVzPTEga2VybmVsIGFyZ3VtZW50LlxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGxlYXZlX3VuaXByb2Nlc3Nvcih2b2lkKQoreworfQorI2VuZGlmCisKKyNpZiAwIC8qIFhYWDogb3V0IG9mIG9yZGVyICovCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmb3BzX21hcmtlciA9IHsKKwkub3duZXIgPQlUSElTX01PRFVMRSwKKwkud3JpdGUgPQl3cml0ZV9tYXJrZXIKK307CisjZW5kaWYKKwordm9pZCBlbmFibGVfbW1pb3RyYWNlKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmbW1pb3RyYWNlX211dGV4KTsKKwlpZiAoaXNfZW5hYmxlZCgpKQorCQlnb3RvIG91dDsKKworI2lmIDAgLyogWFhYOiB0cmFjaW5nIGRvZXMgbm90IHN1cHBvcnQgdGV4dCBlbnRyaWVzICovCisJbWFya2VyX2ZpbGUgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJtYXJrZXIiLCAwNjYwLCBkaXIsIE5VTEwsCisJCQkJCQkJCSZmb3BzX21hcmtlcik7CisJaWYgKCFtYXJrZXJfZmlsZSkKKwkJcHJfZXJyKE5BTUUgIm1hcmtlciBmaWxlIGNyZWF0aW9uIGZhaWxlZC5cbiIpOworI2VuZGlmCisKKwlpZiAobm9tbWlvdHJhY2UpCisJCXByX2luZm8oTkFNRSAiTU1JTyB0cmFjaW5nIGRpc2FibGVkLlxuIik7CisJZW50ZXJfdW5pcHJvY2Vzc29yKCk7CisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJYXRvbWljX2luYygmbW1pb3RyYWNlX2VuYWJsZWQpOworCXNwaW5fdW5sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJcHJfaW5mbyhOQU1FICJlbmFibGVkLlxuIik7CitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZtbWlvdHJhY2VfbXV0ZXgpOworfQorCit2b2lkIGRpc2FibGVfbW1pb3RyYWNlKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmbW1pb3RyYWNlX211dGV4KTsKKwlpZiAoIWlzX2VuYWJsZWQoKSkKKwkJZ290byBvdXQ7CisKKwlzcGluX2xvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKwlhdG9taWNfZGVjKCZtbWlvdHJhY2VfZW5hYmxlZCk7CisJQlVHX09OKGlzX2VuYWJsZWQoKSk7CisJc3Bpbl91bmxvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKworCWNsZWFyX3RyYWNlX2xpc3QoKTsgLyogZ3VhcmFudGVlczogbm8gbW9yZSBrbW1pbyBjYWxsYmFja3MgKi8KKwlsZWF2ZV91bmlwcm9jZXNzb3IoKTsKKwlpZiAobWFya2VyX2ZpbGUpIHsKKwkJZGVidWdmc19yZW1vdmUobWFya2VyX2ZpbGUpOworCQltYXJrZXJfZmlsZSA9IE5VTEw7CisJfQorCisJcHJfaW5mbyhOQU1FICJkaXNhYmxlZC5cbiIpOworb3V0OgorCW11dGV4X3VubG9jaygmbW1pb3RyYWNlX211dGV4KTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL251bWFfNjQuYyBiL2FyY2gveDg2L21tL251bWFfNjQuYwppbmRleCBjNTA2NmQ1Li5iNDMyZDU3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9udW1hXzY0LmMKKysrIGIvYXJjaC94ODYvbW0vbnVtYV82NC5jCkBAIC0yNywzMCArMjcsMTcgQEAKIHN0cnVjdCBwZ2xpc3RfZGF0YSAqbm9kZV9kYXRhW01BWF9OVU1OT0RFU10gX19yZWFkX21vc3RseTsKIEVYUE9SVF9TWU1CT0wobm9kZV9kYXRhKTsKIAotYm9vdG1lbV9kYXRhX3QgcGxhdF9ub2RlX2JkYXRhW01BWF9OVU1OT0RFU107CitzdGF0aWMgYm9vdG1lbV9kYXRhX3QgcGxhdF9ub2RlX2JkYXRhW01BWF9OVU1OT0RFU107CiAKIHN0cnVjdCBtZW1ub2RlIG1lbW5vZGU7CiAKLSNpZmRlZiBDT05GSUdfU01QCi1pbnQgeDg2X2NwdV90b19ub2RlX21hcF9pbml0W05SX0NQVVNdID0gewotCVswIC4uLiBOUl9DUFVTLTFdID0gTlVNQV9OT19OT0RFCi19Owotdm9pZCAqeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci1FWFBPUlRfU1lNQk9MKHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyKTsKLSNlbmRpZgotREVGSU5FX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTUFfTk9fTk9ERTsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX25vZGVfbWFwKTsKLQogczE2IGFwaWNpZF90b19ub2RlW01BWF9MT0NBTF9BUElDXSBfX2NwdWluaXRkYXRhID0gewogCVswIC4uLiBNQVhfTE9DQUxfQVBJQy0xXSA9IE5VTUFfTk9fTk9ERQogfTsKIAotY3B1bWFza190IG5vZGVfdG9fY3B1bWFza19tYXBbTUFYX05VTU5PREVTXSBfX3JlYWRfbW9zdGx5OwotRVhQT1JUX1NZTUJPTChub2RlX3RvX2NwdW1hc2tfbWFwKTsKLQogaW50IG51bWFfb2ZmIF9faW5pdGRhdGE7Ci11bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbm9kZW1hcF9hZGRyOwotdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIG5vZGVtYXBfc2l6ZTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbm9kZW1hcF9hZGRyOworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBub2RlbWFwX3NpemU7CiAKIC8qCiAgKiBHaXZlbiBhIHNoaWZ0IHZhbHVlLCB0cnkgdG8gcG9wdWxhdGUgbWVtbm9kZW1hcFtdCkBAIC05OSw3ICs4Niw3IEBACiAKIAlhZGRyID0gMHg4MDAwOwogCW5vZGVtYXBfc2l6ZSA9IHJvdW5kX3VwKHNpemVvZihzMTYpICogbWVtbm9kZW1hcHNpemUsIEwxX0NBQ0hFX0JZVEVTKTsKLQlub2RlbWFwX2FkZHIgPSBmaW5kX2U4MjBfYXJlYShhZGRyLCBlbmRfcGZuPDxQQUdFX1NISUZULAorCW5vZGVtYXBfYWRkciA9IGZpbmRfZTgyMF9hcmVhKGFkZHIsIG1heF9wZm48PFBBR0VfU0hJRlQsCiAJCQkJICAgICAgbm9kZW1hcF9zaXplLCBMMV9DQUNIRV9CWVRFUyk7CiAJaWYgKG5vZGVtYXBfYWRkciA9PSAtMVVMKSB7CiAJCXByaW50ayhLRVJOX0VSUgpAQCAtMTkyLDcgKzE3OSw3IEBACiB2b2lkIF9faW5pdCBzZXR1cF9ub2RlX2Jvb3RtZW0oaW50IG5vZGVpZCwgdW5zaWduZWQgbG9uZyBzdGFydCwKIAkJCSAgICAgICB1bnNpZ25lZCBsb25nIGVuZCkKIHsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbiwgYm9vdG1hcF9wYWdlcywgYm9vdG1hcF9zaXplOworCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBsYXN0X3BmbiwgYm9vdG1hcF9wYWdlcywgYm9vdG1hcF9zaXplOwogCXVuc2lnbmVkIGxvbmcgYm9vdG1hcF9zdGFydCwgbm9kZWRhdGFfcGh5czsKIAl2b2lkICpib290bWFwOwogCWNvbnN0IGludCBwZ2RhdF9zaXplID0gcm91bmRfdXAoc2l6ZW9mKHBnX2RhdGFfdCksIFBBR0VfU0laRSk7CkBAIC0yMDQsNyArMTkxLDcgQEAKIAkgICAgICAgc3RhcnQsIGVuZCk7CiAKIAlzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOwotCWVuZF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKKwlsYXN0X3BmbiA9IGVuZCA+PiBQQUdFX1NISUZUOwogCiAJbm9kZV9kYXRhW25vZGVpZF0gPSBlYXJseV9ub2RlX21lbShub2RlaWQsIHN0YXJ0LCBlbmQsIHBnZGF0X3NpemUsCiAJCQkJCSAgIFNNUF9DQUNIRV9CWVRFUyk7CkBAIC0yMTcsNyArMjA0LDcgQEAKIAltZW1zZXQoTk9ERV9EQVRBKG5vZGVpZCksIDAsIHNpemVvZihwZ19kYXRhX3QpKTsKIAlOT0RFX0RBVEEobm9kZWlkKS0+YmRhdGEgPSAmcGxhdF9ub2RlX2JkYXRhW25vZGVpZF07CiAJTk9ERV9EQVRBKG5vZGVpZCktPm5vZGVfc3RhcnRfcGZuID0gc3RhcnRfcGZuOwotCU5PREVfREFUQShub2RlaWQpLT5ub2RlX3NwYW5uZWRfcGFnZXMgPSBlbmRfcGZuIC0gc3RhcnRfcGZuOworCU5PREVfREFUQShub2RlaWQpLT5ub2RlX3NwYW5uZWRfcGFnZXMgPSBsYXN0X3BmbiAtIHN0YXJ0X3BmbjsKIAogCS8qCiAJICogRmluZCBhIHBsYWNlIGZvciB0aGUgYm9vdG1lbSBtYXAKQEAgLTIyNiwxNCArMjEzLDE0IEBACiAJICogZWFybHlfbm9kZV9tZW0gd2lsbCBnZXQgdGhhdCB3aXRoIGZpbmRfZTgyMF9hcmVhIGluc3RlYWQKIAkgKiBvZiBhbGxvY19ib290bWVtLCB0aGF0IGNvdWxkIGNsYXNoIHdpdGggcmVzZXJ2ZWQgcmFuZ2UKIAkgKi8KLQlib290bWFwX3BhZ2VzID0gYm9vdG1lbV9ib290bWFwX3BhZ2VzKGVuZF9wZm4gLSBzdGFydF9wZm4pOworCWJvb3RtYXBfcGFnZXMgPSBib290bWVtX2Jvb3RtYXBfcGFnZXMobGFzdF9wZm4gLSBzdGFydF9wZm4pOwogCW5pZCA9IHBoeXNfdG9fbmlkKG5vZGVkYXRhX3BoeXMpOwogCWlmIChuaWQgPT0gbm9kZWlkKQogCQlib290bWFwX3N0YXJ0ID0gcm91bmRfdXAobm9kZWRhdGFfcGh5cyArIHBnZGF0X3NpemUsIFBBR0VfU0laRSk7CiAJZWxzZQogCQlib290bWFwX3N0YXJ0ID0gcm91bmRfdXAoc3RhcnQsIFBBR0VfU0laRSk7CiAJLyoKLQkgKiBTTVBfQ0FIQ0VfQllURVMgY291bGQgYmUgZW5vdWdoLCBidXQgaW5pdF9ib290bWVtX25vZGUgbGlrZQorCSAqIFNNUF9DQUNIRV9CWVRFUyBjb3VsZCBiZSBlbm91Z2gsIGJ1dCBpbml0X2Jvb3RtZW1fbm9kZSBsaWtlCiAJICogdG8gdXNlIHRoYXQgdG8gYWxpZ24gdG8gUEFHRV9TSVpFCiAJICovCiAJYm9vdG1hcCA9IGVhcmx5X25vZGVfbWVtKG5vZGVpZCwgYm9vdG1hcF9zdGFydCwgZW5kLApAQCAtMjQ4LDcgKzIzNSw3IEBACiAKIAlib290bWFwX3NpemUgPSBpbml0X2Jvb3RtZW1fbm9kZShOT0RFX0RBVEEobm9kZWlkKSwKIAkJCQkJIGJvb3RtYXBfc3RhcnQgPj4gUEFHRV9TSElGVCwKLQkJCQkJIHN0YXJ0X3BmbiwgZW5kX3Bmbik7CisJCQkJCSBzdGFydF9wZm4sIGxhc3RfcGZuKTsKIAogCXByaW50ayhLRVJOX0lORk8gIiAgYm9vdG1hcCBbJTAxNmx4IC0gICUwMTZseF0gcGFnZXMgJWx4XG4iLAogCQkgYm9vdG1hcF9zdGFydCwgYm9vdG1hcF9zdGFydCArIGJvb3RtYXBfc2l6ZSAtIDEsCkBAIC0zMDksNyArMjk2LDcgQEAKIAogI2lmZGVmIENPTkZJR19OVU1BX0VNVQogLyogTnVtYSBlbXVsYXRpb24gKi8KLWNoYXIgKmNtZGxpbmUgX19pbml0ZGF0YTsKK3N0YXRpYyBjaGFyICpjbWRsaW5lIF9faW5pdGRhdGE7CiAKIC8qCiAgKiBTZXR1cHMgdXAgbmlkIHRvIHJhbmdlIGZyb20gYWRkciB0byBhZGRyICsgc2l6ZS4gIElmIHRoZSBlbmQKQEAgLTQxMywxNSArNDAwLDE1IEBACiB9CiAKIC8qCi0gKiBTZXRzIHVwIHRoZSBzeXN0ZW0gUkFNIGFyZWEgZnJvbSBzdGFydF9wZm4gdG8gZW5kX3BmbiBhY2NvcmRpbmcgdG8gdGhlCisgKiBTZXRzIHVwIHRoZSBzeXN0ZW0gUkFNIGFyZWEgZnJvbSBzdGFydF9wZm4gdG8gbGFzdF9wZm4gYWNjb3JkaW5nIHRvIHRoZQogICogbnVtYT1mYWtlIGNvbW1hbmQtbGluZSBvcHRpb24uCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgYm9vdG5vZGUgbm9kZXNbTUFYX05VTU5PREVTXSBfX2luaXRkYXRhOwogCi1zdGF0aWMgaW50IF9faW5pdCBudW1hX2VtdWxhdGlvbih1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQorc3RhdGljIGludCBfX2luaXQgbnVtYV9lbXVsYXRpb24odW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4pCiB7CiAJdTY0IHNpemUsIGFkZHIgPSBzdGFydF9wZm4gPDwgUEFHRV9TSElGVDsKLQl1NjQgbWF4X2FkZHIgPSBlbmRfcGZuIDw8IFBBR0VfU0hJRlQ7CisJdTY0IG1heF9hZGRyID0gbGFzdF9wZm4gPDwgUEFHRV9TSElGVDsKIAlpbnQgbnVtX25vZGVzID0gMCwgbnVtID0gMCwgY29lZmZfZmxhZywgY29lZmYgPSAtMSwgaTsKIAogCW1lbXNldCgmbm9kZXMsIDAsIHNpemVvZihub2RlcykpOwpAQCAtNTI3LDcgKzUxNCw3IEBACiB9CiAjZW5kaWYgLyogQ09ORklHX05VTUFfRU1VICovCiAKLXZvaWQgX19pbml0IG51bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4pCiB7CiAJaW50IGk7CiAKQEAgLTUzNSw3ICs1MjIsNyBAQAogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CiAKICNpZmRlZiBDT05GSUdfTlVNQV9FTVUKLQlpZiAoY21kbGluZSAmJiAhbnVtYV9lbXVsYXRpb24oc3RhcnRfcGZuLCBlbmRfcGZuKSkKKwlpZiAoY21kbGluZSAmJiAhbnVtYV9lbXVsYXRpb24oc3RhcnRfcGZuLCBsYXN0X3BmbikpCiAJCXJldHVybjsKIAlub2Rlc19jbGVhcihub2RlX3Bvc3NpYmxlX21hcCk7CiAJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKQEAgLTU0Myw3ICs1MzAsNyBAQAogCiAjaWZkZWYgQ09ORklHX0FDUElfTlVNQQogCWlmICghbnVtYV9vZmYgJiYgIWFjcGlfc2Nhbl9ub2RlcyhzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwKLQkJCQkJICBlbmRfcGZuIDw8IFBBR0VfU0hJRlQpKQorCQkJCQkgIGxhc3RfcGZuIDw8IFBBR0VfU0hJRlQpKQogCQlyZXR1cm47CiAJbm9kZXNfY2xlYXIobm9kZV9wb3NzaWJsZV9tYXApOwogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CkBAIC01NTEsNyArNTM4LDcgQEAKIAogI2lmZGVmIENPTkZJR19LOF9OVU1BCiAJaWYgKCFudW1hX29mZiAmJiAhazhfc2Nhbl9ub2RlcyhzdGFydF9wZm48PFBBR0VfU0hJRlQsCi0JCQkJCWVuZF9wZm48PFBBR0VfU0hJRlQpKQorCQkJCQlsYXN0X3Bmbjw8UEFHRV9TSElGVCkpCiAJCXJldHVybjsKIAlub2Rlc19jbGVhcihub2RlX3Bvc3NpYmxlX21hcCk7CiAJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKQEAgLTU2MSw3ICs1NDgsNyBAQAogCiAJcHJpbnRrKEtFUk5fSU5GTyAiRmFraW5nIGEgbm9kZSBhdCAlMDE2bHgtJTAxNmx4XG4iLAogCSAgICAgICBzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwKLQkgICAgICAgZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsKKwkgICAgICAgbGFzdF9wZm4gPDwgUEFHRV9TSElGVCk7CiAJLyogc2V0dXAgZHVtbXkgbm9kZSBjb3ZlcmluZyBhbGwgbWVtb3J5ICovCiAJbWVtbm9kZV9zaGlmdCA9IDYzOwogCW1lbW5vZGVtYXAgPSBtZW1ub2RlLmVtYmVkZGVkX21hcDsKQEAgLTU3MCwyOSArNTU3LDggQEAKIAlub2RlX3NldCgwLCBub2RlX3Bvc3NpYmxlX21hcCk7CiAJZm9yIChpID0gMDsgaSA8IE5SX0NQVVM7IGkrKykKIAkJbnVtYV9zZXRfbm9kZShpLCAwKTsKLQkvKiBjcHVtYXNrX29mX2NwdSgpIG1heSBub3QgYmUgYXZhaWxhYmxlIGR1cmluZyBlYXJseSBzdGFydHVwICovCi0JbWVtc2V0KCZub2RlX3RvX2NwdW1hc2tfbWFwWzBdLCAwLCBzaXplb2Yobm9kZV90b19jcHVtYXNrX21hcFswXSkpOwotCWNwdV9zZXQoMCwgbm9kZV90b19jcHVtYXNrX21hcFswXSk7Ci0JZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCBzdGFydF9wZm4sIGVuZF9wZm4pOwotCXNldHVwX25vZGVfYm9vdG1lbSgwLCBzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwgZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsKLX0KLQotX19jcHVpbml0IHZvaWQgbnVtYV9hZGRfY3B1KGludCBjcHUpCi17Ci0Jc2V0X2JpdChjcHUsCi0JCSh1bnNpZ25lZCBsb25nICopJm5vZGVfdG9fY3B1bWFza19tYXBbZWFybHlfY3B1X3RvX25vZGUoY3B1KV0pOwotfQotCi12b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKQotewotCWludCAqY3B1X3RvX25vZGVfbWFwID0geDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci0KLQlpZihjcHVfdG9fbm9kZV9tYXApCi0JCWNwdV90b19ub2RlX21hcFtjcHVdID0gbm9kZTsKLQllbHNlIGlmKHBlcl9jcHVfb2Zmc2V0KGNwdSkpCi0JCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9IG5vZGU7Ci0JZWxzZQotCQlEcHJpbnRrKEtFUk5fSU5GTyAiU2V0dGluZyBub2RlIGZvciBub24tcHJlc2VudCBjcHUgJWRcbiIsIGNwdSk7CisJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCBzdGFydF9wZm4sIGxhc3RfcGZuKTsKKwlzZXR1cF9ub2RlX2Jvb3RtZW0oMCwgc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQsIGxhc3RfcGZuIDw8IFBBR0VfU0hJRlQpOwogfQogCiB1bnNpZ25lZCBsb25nIF9faW5pdCBudW1hX2ZyZWVfYWxsX2Jvb3RtZW0odm9pZCkKQEAgLTYxMyw3ICs1NzksNyBAQAogCW1lbXNldChtYXhfem9uZV9wZm5zLCAwLCBzaXplb2YobWF4X3pvbmVfcGZucykpOwogCW1heF96b25lX3BmbnNbWk9ORV9ETUFdID0gTUFYX0RNQV9QRk47CiAJbWF4X3pvbmVfcGZuc1taT05FX0RNQTMyXSA9IE1BWF9ETUEzMl9QRk47Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBlbmRfcGZuOworCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gbWF4X3BmbjsKIAogCXNwYXJzZV9tZW1vcnlfcHJlc2VudF93aXRoX2FjdGl2ZV9yZWdpb25zKE1BWF9OVU1OT0RFUyk7CiAJc3BhcnNlX2luaXQoKTsKQEAgLTY0MSw2ICs2MDcsNyBAQAogfQogZWFybHlfcGFyYW0oIm51bWEiLCBudW1hX3NldHVwKTsKIAorI2lmZGVmIENPTkZJR19OVU1BCiAvKgogICogU2V0dXAgZWFybHkgY3B1X3RvX25vZGUuCiAgKgpAQCAtNjUyLDE0ICs2MTksMTkgQEAKICAqIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQgaW4gYSByb3VuZCByb2JpbiBtYW5uZXIgYXQgbnVtYV9pbml0X2FycmF5LAogICogcHJpb3IgdG8gdGhpcyBjYWxsLCBhbmQgdGhpcyBpbml0aWFsaXphdGlvbiBpcyBnb29kIGVub3VnaAogICogZm9yIHRoZSBmYWtlIE5VTUEgY2FzZXMuCisgKgorICogQ2FsbGVkIGJlZm9yZSB0aGUgcGVyX2NwdSBhcmVhcyBhcmUgc2V0dXAuCiAgKi8KIHZvaWQgX19pbml0IGluaXRfY3B1X3RvX25vZGUodm9pZCkKIHsKLQlpbnQgaTsKKwlpbnQgY3B1OworCXUxNiAqY3B1X3RvX2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKTsKIAotCWZvciAoaSA9IDA7IGkgPCBOUl9DUFVTOyBpKyspIHsKKwlCVUdfT04oY3B1X3RvX2FwaWNpZCA9PSBOVUxMKTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKIAkJaW50IG5vZGU7Ci0JCXUxNiBhcGljaWQgPSB4ODZfY3B1X3RvX2FwaWNpZF9pbml0W2ldOworCQl1MTYgYXBpY2lkID0gY3B1X3RvX2FwaWNpZFtjcHVdOwogCiAJCWlmIChhcGljaWQgPT0gQkFEX0FQSUNJRCkKIAkJCWNvbnRpbnVlOwpAQCAtNjY4LDggKzY0MCw5IEBACiAJCQljb250aW51ZTsKIAkJaWYgKCFub2RlX29ubGluZShub2RlKSkKIAkJCWNvbnRpbnVlOwotCQludW1hX3NldF9ub2RlKGksIG5vZGUpOworCQludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7CiAJfQogfQorI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGFnZWF0dHItdGVzdC5jIGIvYXJjaC94ODYvbW0vcGFnZWF0dHItdGVzdC5jCmluZGV4IDc1ZjFiMTAuLjBkY2Q0MmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BhZ2VhdHRyLXRlc3QuYworKysgYi9hcmNoL3g4Ni9tbS9wYWdlYXR0ci10ZXN0LmMKQEAgLTEsOCArMSw4IEBACiAvKgogICogc2VsZiB0ZXN0IGZvciBjaGFuZ2VfcGFnZV9hdHRyLgogICoKLSAqIENsZWFycyB0aGUgZ2xvYmFsIGJpdCBvbiByYW5kb20gcGFnZXMgaW4gdGhlIGRpcmVjdCBtYXBwaW5nLCB0aGVuIHJldmVydHMKLSAqIGFuZCBjb21wYXJlcyBwYWdlIHRhYmxlcyBmb3J3YXJkcyBhbmQgYWZ0ZXJ3YXJkcy4KKyAqIENsZWFycyB0aGUgYSB0ZXN0IHB0ZSBiaXQgb24gcmFuZG9tIHBhZ2VzIGluIHRoZSBkaXJlY3QgbWFwcGluZywKKyAqIHRoZW4gcmV2ZXJ0cyBhbmQgY29tcGFyZXMgcGFnZSB0YWJsZXMgZm9yd2FyZHMgYW5kIGFmdGVyd2FyZHMuCiAgKi8KICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgpAQCAtMzIsNiArMzIsMTMgQEAKIAlHUFMJCQk9ICgxPDwzMCkKIH07CiAKKyNkZWZpbmUgUEFHRV9URVNUQklUCV9fcGdwcm90KF9QQUdFX1VOVVNFRDEpCisKK3N0YXRpYyBpbnQgcHRlX3Rlc3RiaXQocHRlX3QgcHRlKQoreworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX1VOVVNFRDE7Cit9CisKIHN0cnVjdCBzcGxpdF9zdGF0ZSB7CiAJbG9uZyBscGcsIGdwZywgc3BnLCBleGVjOwogCWxvbmcgbWluX2V4ZWMsIG1heF9leGVjOwpAQCAtMTY1LDE1ICsxNzIsMTQgQEAKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9jbGVhcihhZGRyW2ldLCBsZW5baV0sCi0JCQkJCSAgICAgICBfX3BncHJvdChfUEFHRV9HTE9CQUwpKTsKKwkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9zZXQoYWRkcltpXSwgbGVuW2ldLCBQQUdFX1RFU1RCSVQpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJDUEEgJWQgZmFpbGVkICVkXG4iLCBpLCBlcnIpOwogCQkJZmFpbGVkKys7CiAJCX0KIAogCQlwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyW2ldLCAmbGV2ZWwpOwotCQlpZiAoIXB0ZSB8fCBwdGVfZ2xvYmFsKCpwdGUpIHx8IHB0ZV9odWdlKCpwdGUpKSB7CisJCWlmICghcHRlIHx8ICFwdGVfdGVzdGJpdCgqcHRlKSB8fCBwdGVfaHVnZSgqcHRlKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJDUEEgJWx4OiBiYWQgcHRlICVMeFxuIiwgYWRkcltpXSwKIAkJCQlwdGUgPyAodTY0KXB0ZV92YWwoKnB0ZSkgOiAwVUxMKTsKIAkJCWZhaWxlZCsrOwpAQCAtMTk4LDE0ICsyMDQsMTMgQEAKIAkJCWZhaWxlZCsrOwogCQkJY29udGludWU7CiAJCX0KLQkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9zZXQoYWRkcltpXSwgbGVuW2ldLAotCQkJCQkgICAgIF9fcGdwcm90KF9QQUdFX0dMT0JBTCkpOworCQllcnIgPSBjaGFuZ2VfcGFnZV9hdHRyX2NsZWFyKGFkZHJbaV0sIGxlbltpXSwgUEFHRV9URVNUQklUKTsKIAkJaWYgKGVyciA8IDApIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ1BBIHJldmVydGluZyBmYWlsZWQ6ICVkXG4iLCBlcnIpOwogCQkJZmFpbGVkKys7CiAJCX0KIAkJcHRlID0gbG9va3VwX2FkZHJlc3MoYWRkcltpXSwgJmxldmVsKTsKLQkJaWYgKCFwdGUgfHwgIXB0ZV9nbG9iYWwoKnB0ZSkpIHsKKwkJaWYgKCFwdGUgfHwgcHRlX3Rlc3RiaXQoKnB0ZSkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ1BBICVseDogYmFkIHB0ZSBhZnRlciByZXZlcnQgJUx4XG4iLAogCQkJCWFkZHJbaV0sIHB0ZSA/ICh1NjQpcHRlX3ZhbCgqcHRlKSA6IDBVTEwpOwogCQkJZmFpbGVkKys7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wYWdlYXR0ci5jIGIvYXJjaC94ODYvbW0vcGFnZWF0dHIuYwppbmRleCA2MGJjYjViLi42NWM2ZTQ2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9wYWdlYXR0ci5jCisrKyBiL2FyY2gveDg2L21tL3BhZ2VhdHRyLmMKQEAgLTM0LDYgKzM0LDQxIEBACiAJdW5zaWduZWQJZm9yY2Vfc3BsaXQgOiAxOwogfTsKIAorI2lmZGVmIENPTkZJR19QUk9DX0ZTCitzdGF0aWMgdW5zaWduZWQgbG9uZyBkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfTlVNXTsKKwordm9pZCB1cGRhdGVfcGFnZV9jb3VudChpbnQgbGV2ZWwsIHVuc2lnbmVkIGxvbmcgcGFnZXMpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qIFByb3RlY3QgYWdhaW5zdCBDUEEgKi8KKwlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKKwlkaXJlY3RfcGFnZXNfY291bnRbbGV2ZWxdICs9IHBhZ2VzOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHNwbGl0X3BhZ2VfY291bnQoaW50IGxldmVsKQoreworCWRpcmVjdF9wYWdlc19jb3VudFtsZXZlbF0tLTsKKwlkaXJlY3RfcGFnZXNfY291bnRbbGV2ZWwgLSAxXSArPSBQVFJTX1BFUl9QVEU7Cit9CisKK2ludCBhcmNoX3JlcG9ydF9tZW1pbmZvKGNoYXIgKnBhZ2UpCit7CisJaW50IG4gPSBzcHJpbnRmKHBhZ2UsICJEaXJlY3RNYXA0azogICU4bHVcbiIKKwkJCSJEaXJlY3RNYXAyTTogICU4bHVcbiIsCisJCQlkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfNEtdLAorCQkJZGlyZWN0X3BhZ2VzX2NvdW50W1BHX0xFVkVMXzJNXSk7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCW4gKz0gc3ByaW50ZihwYWdlICsgbiwgIkRpcmVjdE1hcDFHOiAgJThsdVxuIiwKKwkJICAgICBkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfMUddKTsKKyNlbmRpZgorCXJldHVybiBuOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBzcGxpdF9wYWdlX2NvdW50KGludCBsZXZlbCkgeyB9CisjZW5kaWYKKwogI2lmZGVmIENPTkZJR19YODZfNjQKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGhpZ2htYXBfc3RhcnRfcGZuKHZvaWQpCkBAIC0xMDYsNyArMTQxLDcgQEAKIHsKIAlCVUdfT04oaXJxc19kaXNhYmxlZCgpKTsKIAotCW9uX2VhY2hfY3B1KF9fY3BhX2ZsdXNoX2FsbCwgKHZvaWQgKikgY2FjaGUsIDEsIDEpOworCW9uX2VhY2hfY3B1KF9fY3BhX2ZsdXNoX2FsbCwgKHZvaWQgKikgY2FjaGUsIDEpOwogfQogCiBzdGF0aWMgdm9pZCBfX2NwYV9mbHVzaF9yYW5nZSh2b2lkICphcmcpCkBAIC0xMjcsNyArMTYyLDcgQEAKIAlCVUdfT04oaXJxc19kaXNhYmxlZCgpKTsKIAlXQVJOX09OKFBBR0VfQUxJR04oc3RhcnQpICE9IHN0YXJ0KTsKIAotCW9uX2VhY2hfY3B1KF9fY3BhX2ZsdXNoX3JhbmdlLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShfX2NwYV9mbHVzaF9yYW5nZSwgTlVMTCwgMSk7CiAKIAlpZiAoIWNhY2hlKQogCQlyZXR1cm47CkBAIC0yMjcsNiArMjYyLDcgQEAKIAogCXJldHVybiBwdGVfb2Zmc2V0X2tlcm5lbChwbWQsIGFkZHJlc3MpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwobG9va3VwX2FkZHJlc3MpOwogCiAvKgogICogU2V0IHRoZSBuZXcgcG1kIGluIGFsbCB0aGUgcGdkcyB3ZSBrbm93IGFib3V0OgpAQCAtNTAwLDYgKzUzNiwxNiBAQAogCWZvciAoaSA9IDA7IGkgPCBQVFJTX1BFUl9QVEU7IGkrKywgcGZuICs9IHBmbmluYykKIAkJc2V0X3B0ZSgmcGJhc2VbaV0sIHBmbl9wdGUocGZuLCByZWZfcHJvdCkpOwogCisJaWYgKGFkZHJlc3MgPj0gKHVuc2lnbmVkIGxvbmcpX192YSgwKSAmJgorCQlhZGRyZXNzIDwgKHVuc2lnbmVkIGxvbmcpX192YShtYXhfbG93X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisJCXNwbGl0X3BhZ2VfY291bnQobGV2ZWwpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChhZGRyZXNzID49ICh1bnNpZ25lZCBsb25nKV9fdmEoMVVMPDwzMikgJiYKKwkJYWRkcmVzcyA8ICh1bnNpZ25lZCBsb25nKV9fdmEobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisJCXNwbGl0X3BhZ2VfY291bnQobGV2ZWwpOworI2VuZGlmCisKIAkvKgogCSAqIEluc3RhbGwgdGhlIG5ldywgc3BsaXQgdXAgcGFnZXRhYmxlLiBJbXBvcnRhbnQgZGV0YWlscyBoZXJlOgogCSAqCkBAIC02MTMsMTUgKzY1OSwyNCBAQAogCXN0cnVjdCBjcGFfZGF0YSBhbGlhc19jcGE7CiAJaW50IHJldCA9IDA7CiAKLQlpZiAoY3BhLT5wZm4gPiBtYXhfcGZuX21hcHBlZCkKKwlpZiAoY3BhLT5wZm4gPj0gbWF4X3Bmbl9tYXBwZWQpCiAJCXJldHVybiAwOwogCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChjcGEtPnBmbiA+PSBtYXhfbG93X3Bmbl9tYXBwZWQgJiYgY3BhLT5wZm4gPCAoMVVMPDwoMzItUEFHRV9TSElGVCkpKQorCQlyZXR1cm4gMDsKKyNlbmRpZgogCS8qCiAJICogTm8gbmVlZCB0byByZWRvLCB3aGVuIHRoZSBwcmltYXJ5IGNhbGwgdG91Y2hlZCB0aGUgZGlyZWN0CiAJICogbWFwcGluZyBhbHJlYWR5OgogCSAqLwotCWlmICghd2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VULAotCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpKSB7CisJaWYgKCEod2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VULAorCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X2xvd19wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKQorI2lmZGVmIENPTkZJR19YODZfNjQKKwkJfHwgd2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VUICsgKDFVTDw8MzIpLAorCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisjZW5kaWYKKwkpKSB7CiAKIAkJYWxpYXNfY3BhID0gKmNwYTsKIAkJYWxpYXNfY3BhLnZhZGRyID0gKHVuc2lnbmVkIGxvbmcpIF9fdmEoY3BhLT5wZm4gPDwgUEFHRV9TSElGVCk7CkBAIC04MDUsNyArODYwLDcgQEAKIAogaW50IHNldF9tZW1vcnlfd2ModW5zaWduZWQgbG9uZyBhZGRyLCBpbnQgbnVtcGFnZXMpCiB7Ci0JaWYgKCFwYXRfd2NfZW5hYmxlZCkKKwlpZiAoIXBhdF9lbmFibGVkKQogCQlyZXR1cm4gc2V0X21lbW9yeV91YyhhZGRyLCBudW1wYWdlcyk7CiAKIAlpZiAocmVzZXJ2ZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBudW1wYWdlcyAqIFBBR0VfU0laRSwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3BhdC5jIGIvYXJjaC94ODYvbW0vcGF0LmMKaW5kZXggMDZiN2ExYy4uZDQ1ODUwNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vcGF0LmMKKysrIGIvYXJjaC94ODYvbW0vcGF0LmMKQEAgLTI2LDExICsyNiwxMSBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQVQKLWludCBfX3JlYWRfbW9zdGx5IHBhdF93Y19lbmFibGVkID0gMTsKK2ludCBfX3JlYWRfbW9zdGx5IHBhdF9lbmFibGVkID0gMTsKIAogdm9pZCBfX2NwdWluaXQgcGF0X2Rpc2FibGUoY2hhciAqcmVhc29uKQogewotCXBhdF93Y19lbmFibGVkID0gMDsKKwlwYXRfZW5hYmxlZCA9IDA7CiAJcHJpbnRrKEtFUk5fSU5GTyAiJXNcbiIsIHJlYXNvbik7CiB9CiAKQEAgLTQyLDYgKzQyLDE5IEBACiBlYXJseV9wYXJhbSgibm9wYXQiLCBub3BhdCk7CiAjZW5kaWYKIAorCitzdGF0aWMgaW50IGRlYnVnX2VuYWJsZTsKK3N0YXRpYyBpbnQgX19pbml0IHBhdF9kZWJ1Z19zZXR1cChjaGFyICpzdHIpCit7CisJZGVidWdfZW5hYmxlID0gMTsKKwlyZXR1cm4gMDsKK30KK19fc2V0dXAoImRlYnVncGF0IiwgcGF0X2RlYnVnX3NldHVwKTsKKworI2RlZmluZSBkcHJpbnRrKGZtdCwgYXJnLi4uKSBcCisJZG8geyBpZiAoZGVidWdfZW5hYmxlKSBwcmludGsoS0VSTl9JTkZPIGZtdCwgIyNhcmcpOyB9IHdoaWxlICgwKQorCisKIHN0YXRpYyB1NjQgX19yZWFkX21vc3RseSBib290X3BhdF9zdGF0ZTsKIAogZW51bSB7CkBAIC01MywyNCArNjYsMjUgQEAKIAlQQVRfVUNfTUlOVVMgPSA3LAkvKiBVQywgYnV0IGNhbiBiZSBvdmVycmlkZW4gYnkgTVRSUiAqLwogfTsKIAotI2RlZmluZSBQQVQoeCx5KQkoKHU2NClQQVRfICMjIHkgPDwgKCh4KSo4KSkKKyNkZWZpbmUgUEFUKHgsIHkpCSgodTY0KVBBVF8gIyMgeSA8PCAoKHgpKjgpKQogCiB2b2lkIHBhdF9pbml0KHZvaWQpCiB7CiAJdTY0IHBhdDsKIAotCWlmICghcGF0X3djX2VuYWJsZWQpCisJaWYgKCFwYXRfZW5hYmxlZCkKIAkJcmV0dXJuOwogCiAJLyogUGFyYW5vaWEgY2hlY2suICovCi0JaWYgKCFjcHVfaGFzX3BhdCkgewotCQlwcmludGsoS0VSTl9FUlIgIlBBVCBlbmFibGVkLCBidXQgQ1BVIGZlYXR1cmUgY2xlYXJlZFxuIik7CisJaWYgKCFjcHVfaGFzX3BhdCAmJiBib290X3BhdF9zdGF0ZSkgewogCQkvKgotCQkgKiBQYW5pYyBpZiB0aGlzIGhhcHBlbnMgb24gdGhlIHNlY29uZGFyeSBDUFUsIGFuZCB3ZQorCQkgKiBJZiB0aGlzIGhhcHBlbnMgd2UgYXJlIG9uIGEgc2Vjb25kYXJ5IENQVSwgYnV0CiAJCSAqIHN3aXRjaGVkIHRvIFBBVCBvbiB0aGUgYm9vdCBDUFUuIFdlIGhhdmUgbm8gd2F5IHRvCiAJCSAqIHVuZG8gUEFULgotCQkqLwotCQlCVUdfT04oYm9vdF9wYXRfc3RhdGUpOworCQkgKi8KKwkJcHJpbnRrKEtFUk5fRVJSICJQQVQgZW5hYmxlZCwgIgorCQkgICAgICAgImJ1dCBub3Qgc3VwcG9ydGVkIGJ5IHNlY29uZGFyeSBDUFVcbiIpOworCQlCVUcoKTsKIAl9CiAKIAkvKiBTZXQgUFdUIHRvIFdyaXRlLUNvbWJpbmluZy4gQWxsIG90aGVyIGJpdHMgc3RheSB0aGUgc2FtZSAqLwpAQCAtODYsOCArMTAwLDggQEAKIAkgKiAgICAgIDAxMSBVQwkJX1BBR0VfQ0FDSEVfVUMKIAkgKiBQQVQgYml0IHVudXNlZAogCSAqLwotCXBhdCA9IFBBVCgwLFdCKSB8IFBBVCgxLFdDKSB8IFBBVCgyLFVDX01JTlVTKSB8IFBBVCgzLFVDKSB8Ci0JICAgICAgUEFUKDQsV0IpIHwgUEFUKDUsV0MpIHwgUEFUKDYsVUNfTUlOVVMpIHwgUEFUKDcsVUMpOworCXBhdCA9IFBBVCgwLCBXQikgfCBQQVQoMSwgV0MpIHwgUEFUKDIsIFVDX01JTlVTKSB8IFBBVCgzLCBVQykgfAorCSAgICAgIFBBVCg0LCBXQikgfCBQQVQoNSwgV0MpIHwgUEFUKDYsIFVDX01JTlVTKSB8IFBBVCg3LCBVQyk7CiAKIAkvKiBCb290IENQVSBjaGVjayAqLwogCWlmICghYm9vdF9wYXRfc3RhdGUpCkBAIC0xMDMsMTEgKzExNywxMSBAQAogc3RhdGljIGNoYXIgKmNhdHRyX25hbWUodW5zaWduZWQgbG9uZyBmbGFncykKIHsKIAlzd2l0Y2ggKGZsYWdzICYgX1BBR0VfQ0FDSEVfTUFTSykgewotCQljYXNlIF9QQUdFX0NBQ0hFX1VDOgkJcmV0dXJuICJ1bmNhY2hlZCI7Ci0JCWNhc2UgX1BBR0VfQ0FDSEVfVUNfTUlOVVM6CXJldHVybiAidW5jYWNoZWQtbWludXMiOwotCQljYXNlIF9QQUdFX0NBQ0hFX1dCOgkJcmV0dXJuICJ3cml0ZS1iYWNrIjsKLQkJY2FzZSBfUEFHRV9DQUNIRV9XQzoJCXJldHVybiAid3JpdGUtY29tYmluaW5nIjsKLQkJZGVmYXVsdDoJCQlyZXR1cm4gImJyb2tlbiI7CisJY2FzZSBfUEFHRV9DQUNIRV9VQzoJCXJldHVybiAidW5jYWNoZWQiOworCWNhc2UgX1BBR0VfQ0FDSEVfVUNfTUlOVVM6CXJldHVybiAidW5jYWNoZWQtbWludXMiOworCWNhc2UgX1BBR0VfQ0FDSEVfV0I6CQlyZXR1cm4gIndyaXRlLWJhY2siOworCWNhc2UgX1BBR0VfQ0FDSEVfV0M6CQlyZXR1cm4gIndyaXRlLWNvbWJpbmluZyI7CisJZGVmYXVsdDoJCQlyZXR1cm4gImJyb2tlbiI7CiAJfQogfQogCkBAIC0xNDUsNDcgKzE1OSw1MCBAQAogICogVGhlIGludGVyc2VjdGlvbiBpcyBiYXNlZCBvbiAiRWZmZWN0aXZlIE1lbW9yeSBUeXBlIiB0YWJsZXMgaW4gSUEtMzIKICAqIFNETSB2b2wgM2EKICAqLwotc3RhdGljIGludCBwYXRfeF9tdHJyX3R5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHByb3QsCi0JCQkJdW5zaWduZWQgbG9uZyAqcmV0X3Byb3QpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBwYXRfeF9tdHJyX3R5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHJlcV90eXBlKQogewotCXVuc2lnbmVkIGxvbmcgcGF0X3R5cGU7Ci0JdTggbXRycl90eXBlOwotCi0JcGF0X3R5cGUgPSBwcm90ICYgX1BBR0VfQ0FDSEVfTUFTSzsKLQlwcm90ICY9ICh+X1BBR0VfQ0FDSEVfTUFTSyk7Ci0KLQkvKgotCSAqIFdlIHJldHVybiB0aGUgUEFUIHJlcXVlc3QgZGlyZWN0bHkgZm9yIHR5cGVzIHdoZXJlIFBBVCB0YWtlcwotCSAqIHByZWNlZGVuY2Ugd2l0aCByZXNwZWN0IHRvIE1UUlIgYW5kIGZvciBVQ19NSU5VUy4KLQkgKiBDb25zaXN0ZW5jeSBjaGVja3Mgd2l0aCBvdGhlciBQQVQgcmVxdWVzdHMgaXMgZG9uZSBsYXRlcgotCSAqIHdoaWxlIGdvaW5nIHRocm91Z2ggbWVtdHlwZSBsaXN0LgotCSAqLwotCWlmIChwYXRfdHlwZSA9PSBfUEFHRV9DQUNIRV9XQykgewotCQkqcmV0X3Byb3QgPSBwcm90IHwgX1BBR0VfQ0FDSEVfV0M7Ci0JCXJldHVybiAwOwotCX0gZWxzZSBpZiAocGF0X3R5cGUgPT0gX1BBR0VfQ0FDSEVfVUNfTUlOVVMpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1VDX01JTlVTOwotCQlyZXR1cm4gMDsKLQl9IGVsc2UgaWYgKHBhdF90eXBlID09IF9QQUdFX0NBQ0hFX1VDKSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9VQzsKLQkJcmV0dXJuIDA7Ci0JfQotCiAJLyoKIAkgKiBMb29rIGZvciBNVFJSIGhpbnQgdG8gZ2V0IHRoZSBlZmZlY3RpdmUgdHlwZSBpbiBjYXNlIHdoZXJlIFBBVAogCSAqIHJlcXVlc3QgaXMgZm9yIFdCLgogCSAqLwotCW10cnJfdHlwZSA9IG10cnJfdHlwZV9sb29rdXAoc3RhcnQsIGVuZCk7CisJaWYgKHJlcV90eXBlID09IF9QQUdFX0NBQ0hFX1dCKSB7CisJCXU4IG10cnJfdHlwZTsKIAotCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1VOQ0FDSEFCTEUpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1VDOwotCX0gZWxzZSBpZiAobXRycl90eXBlID09IE1UUlJfVFlQRV9XUkNPTUIpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1dDOwotCX0gZWxzZSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9XQjsKKwkJbXRycl90eXBlID0gbXRycl90eXBlX2xvb2t1cChzdGFydCwgZW5kKTsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfVU5DQUNIQUJMRSkKKwkJCXJldHVybiBfUEFHRV9DQUNIRV9VQzsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfV1JDT01CKQorCQkJcmV0dXJuIF9QQUdFX0NBQ0hFX1dDOwogCX0KIAorCXJldHVybiByZXFfdHlwZTsKK30KKworc3RhdGljIGludCBjaGtfY29uZmxpY3Qoc3RydWN0IG1lbXR5cGUgKm5ldywgc3RydWN0IG1lbXR5cGUgKmVudHJ5LAorCQkJdW5zaWduZWQgbG9uZyAqdHlwZSkKK3sKKwlpZiAobmV3LT50eXBlICE9IGVudHJ5LT50eXBlKSB7CisJCWlmICh0eXBlKSB7CisJCQluZXctPnR5cGUgPSBlbnRyeS0+dHlwZTsKKwkJCSp0eXBlID0gZW50cnktPnR5cGU7CisJCX0gZWxzZQorCQkJZ290byBjb25mbGljdDsKKwl9CisKKwkgLyogY2hlY2sgb3ZlcmxhcHMgd2l0aCBtb3JlIHRoYW4gb25lIGVudHJ5IGluIHRoZSBsaXN0ICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9jb250aW51ZShlbnRyeSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKKwkJaWYgKG5ldy0+ZW5kIDw9IGVudHJ5LT5zdGFydCkKKwkJCWJyZWFrOworCQllbHNlIGlmIChuZXctPnR5cGUgIT0gZW50cnktPnR5cGUpCisJCQlnb3RvIGNvbmZsaWN0OworCX0KIAlyZXR1cm4gMDsKKworIGNvbmZsaWN0OgorCXByaW50ayhLRVJOX0lORk8gIiVzOiVkIGNvbmZsaWN0aW5nIG1lbW9yeSB0eXBlcyAiCisJICAgICAgICIlTHgtJUx4ICVzPC0+JXNcbiIsIGN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwgbmV3LT5zdGFydCwKKwkgICAgICAgbmV3LT5lbmQsIGNhdHRyX25hbWUobmV3LT50eXBlKSwgY2F0dHJfbmFtZShlbnRyeS0+dHlwZSkpOworCXJldHVybiAtRUJVU1k7CiB9CiAKIC8qCkBAIC0xOTgsMzcgKzIxNSwzNiBAQAogICogcmVxX3R5cGUgd2lsbCBoYXZlIGEgc3BlY2lhbCBjYXNlIHZhbHVlICctMScsIHdoZW4gcmVxdWVzdGVyIHdhbnQgdG8gaW5oZXJpdAogICogdGhlIG1lbW9yeSB0eXBlIGZyb20gbXRyciAoaWYgV0IpLCBleGlzdGluZyBQQVQsIGRlZmF1bHRpbmcgdG8gVUNfTUlOVVMuCiAgKgotICogSWYgcmV0X3R5cGUgaXMgTlVMTCwgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZXJyb3IgaWYgaXQgY2Fubm90IHJlc2VydmUgdGhlCi0gKiByZWdpb24gd2l0aCByZXFfdHlwZS4gSWYgcmV0X3R5cGUgaXMgbm9uLW51bGwsIGZ1bmN0aW9uIHdpbGwgcmV0dXJuCi0gKiBhdmFpbGFibGUgdHlwZSBpbiByZXRfdHlwZSBpbiBjYXNlIG9mIG5vIGVycm9yLiBJbiBjYXNlIG9mIGFueSBlcnJvcgorICogSWYgbmV3X3R5cGUgaXMgTlVMTCwgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZXJyb3IgaWYgaXQgY2Fubm90IHJlc2VydmUgdGhlCisgKiByZWdpb24gd2l0aCByZXFfdHlwZS4gSWYgbmV3X3R5cGUgaXMgbm9uLU5VTEwsIGZ1bmN0aW9uIHdpbGwgcmV0dXJuCisgKiBhdmFpbGFibGUgdHlwZSBpbiBuZXdfdHlwZSBpbiBjYXNlIG9mIG5vIGVycm9yLiBJbiBjYXNlIG9mIGFueSBlcnJvcgogICogaXQgd2lsbCByZXR1cm4gYSBuZWdhdGl2ZSByZXR1cm4gdmFsdWUuCiAgKi8KIGludCByZXNlcnZlX21lbXR5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHJlcV90eXBlLAotCQkJdW5zaWduZWQgbG9uZyAqcmV0X3R5cGUpCisJCQl1bnNpZ25lZCBsb25nICpuZXdfdHlwZSkKIHsKLQlzdHJ1Y3QgbWVtdHlwZSAqbmV3X2VudHJ5ID0gTlVMTDsKLQlzdHJ1Y3QgbWVtdHlwZSAqcGFyc2U7CisJc3RydWN0IG1lbXR5cGUgKm5ldywgKmVudHJ5OwogCXVuc2lnbmVkIGxvbmcgYWN0dWFsX3R5cGU7CisJc3RydWN0IGxpc3RfaGVhZCAqd2hlcmU7CiAJaW50IGVyciA9IDA7CiAKLQkvKiBPbmx5IHRyYWNrIHdoZW4gcGF0X3djX2VuYWJsZWQgKi8KLQlpZiAoIXBhdF93Y19lbmFibGVkKSB7CisgCUJVR19PTihzdGFydCA+PSBlbmQpOyAvKiBlbmQgaXMgZXhjbHVzaXZlICovCisKKwlpZiAoIXBhdF9lbmFibGVkKSB7CiAJCS8qIFRoaXMgaXMgaWRlbnRpY2FsIHRvIHBhZ2UgdGFibGUgc2V0dGluZyB3aXRob3V0IFBBVCAqLwotCQlpZiAocmV0X3R5cGUpIHsKLQkJCWlmIChyZXFfdHlwZSA9PSAtMSkgewotCQkJCSpyZXRfdHlwZSA9IF9QQUdFX0NBQ0hFX1dCOwotCQkJfSBlbHNlIHsKLQkJCQkqcmV0X3R5cGUgPSByZXFfdHlwZTsKLQkJCX0KKwkJaWYgKG5ld190eXBlKSB7CisJCQlpZiAocmVxX3R5cGUgPT0gLTEpCisJCQkJKm5ld190eXBlID0gX1BBR0VfQ0FDSEVfV0I7CisJCQllbHNlCisJCQkJKm5ld190eXBlID0gcmVxX3R5cGUgJiBfUEFHRV9DQUNIRV9NQVNLOwogCQl9CiAJCXJldHVybiAwOwogCX0KIAogCS8qIExvdyBJU0EgcmVnaW9uIGlzIGFsd2F5cyBtYXBwZWQgV0IgaW4gcGFnZSB0YWJsZS4gTm8gbmVlZCB0byB0cmFjayAqLwotCWlmIChzdGFydCA+PSBJU0FfU1RBUlRfQUREUkVTUyAmJiAoZW5kIC0gMSkgPD0gSVNBX0VORF9BRERSRVNTKSB7Ci0JCWlmIChyZXRfdHlwZSkKLQkJCSpyZXRfdHlwZSA9IF9QQUdFX0NBQ0hFX1dCOwotCisJaWYgKGlzX0lTQV9yYW5nZShzdGFydCwgZW5kIC0gMSkpIHsKKwkJaWYgKG5ld190eXBlKQorCQkJKm5ld190eXBlID0gX1BBR0VfQ0FDSEVfV0I7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMjQxLDIwNiArMjU3LDkyIEBACiAJCSAqLwogCQl1OCBtdHJyX3R5cGUgPSBtdHJyX3R5cGVfbG9va3VwKHN0YXJ0LCBlbmQpOwogCi0JCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1dSQkFDSykgewotCQkJcmVxX3R5cGUgPSBfUEFHRV9DQUNIRV9XQjsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfV1JCQUNLKQogCQkJYWN0dWFsX3R5cGUgPSBfUEFHRV9DQUNIRV9XQjsKLQkJfSBlbHNlIHsKLQkJCXJlcV90eXBlID0gX1BBR0VfQ0FDSEVfVUNfTUlOVVM7CisJCWVsc2UKIAkJCWFjdHVhbF90eXBlID0gX1BBR0VfQ0FDSEVfVUNfTUlOVVM7Ci0JCX0KLQl9IGVsc2UgewotCQlyZXFfdHlwZSAmPSBfUEFHRV9DQUNIRV9NQVNLOwotCQllcnIgPSBwYXRfeF9tdHJyX3R5cGUoc3RhcnQsIGVuZCwgcmVxX3R5cGUsICZhY3R1YWxfdHlwZSk7Ci0JfQorCX0gZWxzZQorCQlhY3R1YWxfdHlwZSA9IHBhdF94X210cnJfdHlwZShzdGFydCwgZW5kLAorCQkJCQkgICAgICByZXFfdHlwZSAmIF9QQUdFX0NBQ0hFX01BU0spOwogCi0JaWYgKGVycikgewotCQlpZiAocmV0X3R5cGUpCi0JCQkqcmV0X3R5cGUgPSBhY3R1YWxfdHlwZTsKLQotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQluZXdfZW50cnkgID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IG1lbXR5cGUpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIW5ld19lbnRyeSkKKwluZXcgID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IG1lbXR5cGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIW5ldykKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQluZXdfZW50cnktPnN0YXJ0ID0gc3RhcnQ7Ci0JbmV3X2VudHJ5LT5lbmQgPSBlbmQ7Ci0JbmV3X2VudHJ5LT50eXBlID0gYWN0dWFsX3R5cGU7CisJbmV3LT5zdGFydCA9IHN0YXJ0OworCW5ldy0+ZW5kID0gZW5kOworCW5ldy0+dHlwZSA9IGFjdHVhbF90eXBlOwogCi0JaWYgKHJldF90eXBlKQotCQkqcmV0X3R5cGUgPSBhY3R1YWxfdHlwZTsKKwlpZiAobmV3X3R5cGUpCisJCSpuZXdfdHlwZSA9IGFjdHVhbF90eXBlOwogCiAJc3Bpbl9sb2NrKCZtZW10eXBlX2xvY2spOwogCiAJLyogU2VhcmNoIGZvciBleGlzdGluZyBtYXBwaW5nIHRoYXQgb3ZlcmxhcHMgdGhlIGN1cnJlbnQgcmFuZ2UgKi8KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhcnNlLCAmbWVtdHlwZV9saXN0LCBuZCkgewotCQlzdHJ1Y3QgbWVtdHlwZSAqc2F2ZWRfcHRyOwotCi0JCWlmIChwYXJzZS0+c3RhcnQgPj0gZW5kKSB7Ci0JCQlwcl9kZWJ1ZygiTmV3IEVudHJ5XG4iKTsKLQkJCWxpc3RfYWRkKCZuZXdfZW50cnktPm5kLCBwYXJzZS0+bmQucHJldik7Ci0JCQluZXdfZW50cnkgPSBOVUxMOworCXdoZXJlID0gTlVMTDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCAmbWVtdHlwZV9saXN0LCBuZCkgeworCQlpZiAoZW5kIDw9IGVudHJ5LT5zdGFydCkgeworCQkJd2hlcmUgPSBlbnRyeS0+bmQucHJldjsKIAkJCWJyZWFrOwotCQl9Ci0KLQkJaWYgKHN0YXJ0IDw9IHBhcnNlLT5zdGFydCAmJiBlbmQgPj0gcGFyc2UtPnN0YXJ0KSB7Ci0JCQlpZiAoYWN0dWFsX3R5cGUgIT0gcGFyc2UtPnR5cGUgJiYgcmV0X3R5cGUpIHsKLQkJCQlhY3R1YWxfdHlwZSA9IHBhcnNlLT50eXBlOwotCQkJCSpyZXRfdHlwZSA9IGFjdHVhbF90eXBlOwotCQkJCW5ld19lbnRyeS0+dHlwZSA9IGFjdHVhbF90eXBlOworCQl9IGVsc2UgaWYgKHN0YXJ0IDw9IGVudHJ5LT5zdGFydCkgeyAvKiBlbmQgPiBlbnRyeS0+c3RhcnQgKi8KKwkJCWVyciA9IGNoa19jb25mbGljdChuZXcsIGVudHJ5LCBuZXdfdHlwZSk7CisJCQlpZiAoIWVycikgeworCQkJCWRwcmludGsoIk92ZXJsYXAgYXQgMHglTHgtMHglTHhcbiIsCisJCQkJCWVudHJ5LT5zdGFydCwgZW50cnktPmVuZCk7CisJCQkJd2hlcmUgPSBlbnRyeS0+bmQucHJldjsKIAkJCX0KLQotCQkJaWYgKGFjdHVhbF90eXBlICE9IHBhcnNlLT50eXBlKSB7Ci0JCQkJcHJpbnRrKAotCQlLRVJOX0lORk8gIiVzOiVkIGNvbmZsaWN0aW5nIG1lbW9yeSB0eXBlcyAlTHgtJUx4ICVzPC0+JXNcbiIsCi0JCQkJCWN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwKLQkJCQkJc3RhcnQsIGVuZCwKLQkJCQkJY2F0dHJfbmFtZShhY3R1YWxfdHlwZSksCi0JCQkJCWNhdHRyX25hbWUocGFyc2UtPnR5cGUpKTsKLQkJCQllcnIgPSAtRUJVU1k7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0KLQkJCXNhdmVkX3B0ciA9IHBhcnNlOwotCQkJLyoKLQkJCSAqIENoZWNrIHRvIHNlZSB3aGV0aGVyIHRoZSByZXF1ZXN0IG92ZXJsYXBzIG1vcmUKLQkJCSAqIHRoYW4gb25lIGVudHJ5IGluIHRoZSBsaXN0Ci0JCQkgKi8KLQkJCWxpc3RfZm9yX2VhY2hfZW50cnlfY29udGludWUocGFyc2UsICZtZW10eXBlX2xpc3QsIG5kKSB7Ci0JCQkJaWYgKGVuZCA8PSBwYXJzZS0+c3RhcnQpIHsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCi0JCQkJaWYgKGFjdHVhbF90eXBlICE9IHBhcnNlLT50eXBlKSB7Ci0JCQkJCXByaW50aygKLQkJS0VSTl9JTkZPICIlczolZCBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgJUx4LSVMeCAlczwtPiVzXG4iLAotCQkJCQkJY3VycmVudC0+Y29tbSwgY3VycmVudC0+cGlkLAotCQkJCQkJc3RhcnQsIGVuZCwKLQkJCQkJCWNhdHRyX25hbWUoYWN0dWFsX3R5cGUpLAotCQkJCQkJY2F0dHJfbmFtZShwYXJzZS0+dHlwZSkpOwotCQkJCQllcnIgPSAtRUJVU1k7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCX0KLQotCQkJaWYgKGVycikgewotCQkJCWJyZWFrOwotCQkJfQotCi0JCQlwcl9kZWJ1ZygiT3ZlcmxhcCBhdCAweCVMeC0weCVMeFxuIiwKLQkJCSAgICAgICBzYXZlZF9wdHItPnN0YXJ0LCBzYXZlZF9wdHItPmVuZCk7Ci0JCQkvKiBObyBjb25mbGljdC4gR28gYWhlYWQgYW5kIGFkZCB0aGlzIG5ldyBlbnRyeSAqLwotCQkJbGlzdF9hZGQoJm5ld19lbnRyeS0+bmQsIHNhdmVkX3B0ci0+bmQucHJldik7Ci0JCQluZXdfZW50cnkgPSBOVUxMOwogCQkJYnJlYWs7Ci0JCX0KLQotCQlpZiAoc3RhcnQgPCBwYXJzZS0+ZW5kKSB7Ci0JCQlpZiAoYWN0dWFsX3R5cGUgIT0gcGFyc2UtPnR5cGUgJiYgcmV0X3R5cGUpIHsKLQkJCQlhY3R1YWxfdHlwZSA9IHBhcnNlLT50eXBlOwotCQkJCSpyZXRfdHlwZSA9IGFjdHVhbF90eXBlOwotCQkJCW5ld19lbnRyeS0+dHlwZSA9IGFjdHVhbF90eXBlOworCQl9IGVsc2UgaWYgKHN0YXJ0IDwgZW50cnktPmVuZCkgeyAvKiBzdGFydCA+IGVudHJ5LT5zdGFydCAqLworCQkJZXJyID0gY2hrX2NvbmZsaWN0KG5ldywgZW50cnksIG5ld190eXBlKTsKKwkJCWlmICghZXJyKSB7CisJCQkJZHByaW50aygiT3ZlcmxhcCBhdCAweCVMeC0weCVMeFxuIiwKKwkJCQkJZW50cnktPnN0YXJ0LCBlbnRyeS0+ZW5kKTsKKwkJCQl3aGVyZSA9ICZlbnRyeS0+bmQ7CiAJCQl9Ci0KLQkJCWlmIChhY3R1YWxfdHlwZSAhPSBwYXJzZS0+dHlwZSkgewotCQkJCXByaW50aygKLQkJS0VSTl9JTkZPICIlczolZCBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgJUx4LSVMeCAlczwtPiVzXG4iLAotCQkJCQljdXJyZW50LT5jb21tLCBjdXJyZW50LT5waWQsCi0JCQkJCXN0YXJ0LCBlbmQsCi0JCQkJCWNhdHRyX25hbWUoYWN0dWFsX3R5cGUpLAotCQkJCQljYXR0cl9uYW1lKHBhcnNlLT50eXBlKSk7Ci0JCQkJZXJyID0gLUVCVVNZOwotCQkJCWJyZWFrOwotCQkJfQotCi0JCQlzYXZlZF9wdHIgPSBwYXJzZTsKLQkJCS8qCi0JCQkgKiBDaGVjayB0byBzZWUgd2hldGhlciB0aGUgcmVxdWVzdCBvdmVybGFwcyBtb3JlCi0JCQkgKiB0aGFuIG9uZSBlbnRyeSBpbiB0aGUgbGlzdAotCQkJICovCi0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlKHBhcnNlLCAmbWVtdHlwZV9saXN0LCBuZCkgewotCQkJCWlmIChlbmQgPD0gcGFyc2UtPnN0YXJ0KSB7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQotCQkJCWlmIChhY3R1YWxfdHlwZSAhPSBwYXJzZS0+dHlwZSkgewotCQkJCQlwcmludGsoCi0JCUtFUk5fSU5GTyAiJXM6JWQgY29uZmxpY3RpbmcgbWVtb3J5IHR5cGVzICVMeC0lTHggJXM8LT4lc1xuIiwKLQkJCQkJCWN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwKLQkJCQkJCXN0YXJ0LCBlbmQsCi0JCQkJCQljYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCQkJCWNhdHRyX25hbWUocGFyc2UtPnR5cGUpKTsKLQkJCQkJZXJyID0gLUVCVVNZOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQl9Ci0KLQkJCWlmIChlcnIpIHsKLQkJCQlicmVhazsKLQkJCX0KLQotCQkJcHJfZGVidWcoS0VSTl9JTkZPICJPdmVybGFwIGF0IDB4JUx4LTB4JUx4XG4iLAotCQkJCSBzYXZlZF9wdHItPnN0YXJ0LCBzYXZlZF9wdHItPmVuZCk7Ci0JCQkvKiBObyBjb25mbGljdC4gR28gYWhlYWQgYW5kIGFkZCB0aGlzIG5ldyBlbnRyeSAqLwotCQkJbGlzdF9hZGQoJm5ld19lbnRyeS0+bmQsICZzYXZlZF9wdHItPm5kKTsKLQkJCW5ld19lbnRyeSA9IE5VTEw7CiAJCQlicmVhazsKIAkJfQogCX0KIAogCWlmIChlcnIpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTwotCSJyZXNlcnZlX21lbXR5cGUgZmFpbGVkIDB4JUx4LTB4JUx4LCB0cmFjayAlcywgcmVxICVzXG4iLAotCQkJc3RhcnQsIGVuZCwgY2F0dHJfbmFtZShuZXdfZW50cnktPnR5cGUpLAotCQkJY2F0dHJfbmFtZShyZXFfdHlwZSkpOwotCQlrZnJlZShuZXdfZW50cnkpOworCQlwcmludGsoS0VSTl9JTkZPICJyZXNlcnZlX21lbXR5cGUgZmFpbGVkIDB4JUx4LTB4JUx4LCAiCisJCSAgICAgICAidHJhY2sgJXMsIHJlcSAlc1xuIiwKKwkJICAgICAgIHN0YXJ0LCBlbmQsIGNhdHRyX25hbWUobmV3LT50eXBlKSwgY2F0dHJfbmFtZShyZXFfdHlwZSkpOworCQlrZnJlZShuZXcpOwogCQlzcGluX3VubG9jaygmbWVtdHlwZV9sb2NrKTsKIAkJcmV0dXJuIGVycjsKIAl9CiAKLQlpZiAobmV3X2VudHJ5KSB7Ci0JCS8qIE5vIGNvbmZsaWN0LiBOb3QgeWV0IGFkZGVkIHRvIHRoZSBsaXN0LiBBZGQgdG8gdGhlIHRhaWwgKi8KLQkJbGlzdF9hZGRfdGFpbCgmbmV3X2VudHJ5LT5uZCwgJm1lbXR5cGVfbGlzdCk7Ci0JCXByX2RlYnVnKCJOZXcgRW50cnlcbiIpOwotCX0KLQotCWlmIChyZXRfdHlwZSkgewotCQlwcl9kZWJ1ZygKLQkicmVzZXJ2ZV9tZW10eXBlIGFkZGVkIDB4JUx4LTB4JUx4LCB0cmFjayAlcywgcmVxICVzLCByZXQgJXNcbiIsCi0JCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCWNhdHRyX25hbWUocmVxX3R5cGUpLCBjYXR0cl9uYW1lKCpyZXRfdHlwZSkpOwotCX0gZWxzZSB7Ci0JCXByX2RlYnVnKAotCSJyZXNlcnZlX21lbXR5cGUgYWRkZWQgMHglTHgtMHglTHgsIHRyYWNrICVzLCByZXEgJXNcbiIsCi0JCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCWNhdHRyX25hbWUocmVxX3R5cGUpKTsKLQl9CisJaWYgKHdoZXJlKQorCQlsaXN0X2FkZCgmbmV3LT5uZCwgd2hlcmUpOworCWVsc2UKKwkJbGlzdF9hZGRfdGFpbCgmbmV3LT5uZCwgJm1lbXR5cGVfbGlzdCk7CiAKIAlzcGluX3VubG9jaygmbWVtdHlwZV9sb2NrKTsKKworCWRwcmludGsoInJlc2VydmVfbWVtdHlwZSBhZGRlZCAweCVMeC0weCVMeCwgdHJhY2sgJXMsIHJlcSAlcywgcmV0ICVzXG4iLAorCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKG5ldy0+dHlwZSksIGNhdHRyX25hbWUocmVxX3R5cGUpLAorCQluZXdfdHlwZSA/IGNhdHRyX25hbWUoKm5ld190eXBlKSA6ICItIik7CisKIAlyZXR1cm4gZXJyOwogfQogCiBpbnQgZnJlZV9tZW10eXBlKHU2NCBzdGFydCwgdTY0IGVuZCkKIHsKLQlzdHJ1Y3QgbWVtdHlwZSAqbWw7CisJc3RydWN0IG1lbXR5cGUgKmVudHJ5OwogCWludCBlcnIgPSAtRUlOVkFMOwogCi0JLyogT25seSB0cmFjayB3aGVuIHBhdF93Y19lbmFibGVkICovCi0JaWYgKCFwYXRfd2NfZW5hYmxlZCkgeworCWlmICghcGF0X2VuYWJsZWQpCiAJCXJldHVybiAwOwotCX0KIAogCS8qIExvdyBJU0EgcmVnaW9uIGlzIGFsd2F5cyBtYXBwZWQgV0IuIE5vIG5lZWQgdG8gdHJhY2sgKi8KLQlpZiAoc3RhcnQgPj0gSVNBX1NUQVJUX0FERFJFU1MgJiYgZW5kIDw9IElTQV9FTkRfQUREUkVTUykgeworCWlmIChpc19JU0FfcmFuZ2Uoc3RhcnQsIGVuZCAtIDEpKQogCQlyZXR1cm4gMDsKLQl9CiAKIAlzcGluX2xvY2soJm1lbXR5cGVfbG9jayk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShtbCwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKLQkJaWYgKG1sLT5zdGFydCA9PSBzdGFydCAmJiBtbC0+ZW5kID09IGVuZCkgewotCQkJbGlzdF9kZWwoJm1sLT5uZCk7Ci0JCQlrZnJlZShtbCk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKKwkJaWYgKGVudHJ5LT5zdGFydCA9PSBzdGFydCAmJiBlbnRyeS0+ZW5kID09IGVuZCkgeworCQkJbGlzdF9kZWwoJmVudHJ5LT5uZCk7CisJCQlrZnJlZShlbnRyeSk7CiAJCQllcnIgPSAwOwogCQkJYnJlYWs7CiAJCX0KQEAgLTQ1Miw3ICszNTQsNyBAQAogCQkJY3VycmVudC0+Y29tbSwgY3VycmVudC0+cGlkLCBzdGFydCwgZW5kKTsKIAl9CiAKLQlwcl9kZWJ1ZygiZnJlZV9tZW10eXBlIHJlcXVlc3QgMHglTHgtMHglTHhcbiIsIHN0YXJ0LCBlbmQpOworCWRwcmludGsoImZyZWVfbWVtdHlwZSByZXF1ZXN0IDB4JUx4LTB4JUx4XG4iLCBzdGFydCwgZW5kKTsKIAlyZXR1cm4gZXJyOwogfQogCkBAIC01MjEsMTIgKzQyMywxMiBAQAogCSAqIGNhY2hpbmcgZm9yIHRoZSBoaWdoIGFkZHJlc3NlcyB0aHJvdWdoIHRoZSBLRU4gcGluLCBidXQKIAkgKiB3ZSBtYWludGFpbiB0aGUgdHJhZGl0aW9uIG9mIHBhcmFub2lhIGluIHRoaXMgY29kZS4KIAkgKi8KLQlpZiAoIXBhdF93Y19lbmFibGVkICYmCi0JICAgICEgKCB0ZXN0X2JpdChYODZfRkVBVFVSRV9NVFJSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSB8fAotCQl0ZXN0X2JpdChYODZfRkVBVFVSRV9LNl9NVFJSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSB8fAotCQl0ZXN0X2JpdChYODZfRkVBVFVSRV9DWVJJWF9BUlIsIGJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHkpIHx8Ci0JCXRlc3RfYml0KFg4Nl9GRUFUVVJFX0NFTlRBVVJfTUNSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSkgJiYKLQkgICAocGZuIDw8IFBBR0VfU0hJRlQpID49IF9fcGEoaGlnaF9tZW1vcnkpKSB7CisJaWYgKCFwYXRfZW5hYmxlZCAmJgorCSAgICAhKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9NVFJSKSB8fAorCSAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9LNl9NVFJSKSB8fAorCSAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DWVJJWF9BUlIpIHx8CisJICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NFTlRBVVJfTUNSKSkgJiYKKwkgICAgKHBmbiA8PCBQQUdFX1NISUZUKSA+PSBfX3BhKGhpZ2hfbWVtb3J5KSkgewogCQlmbGFncyA9IF9QQUdFX0NBQ0hFX1VDOwogCX0KICNlbmRpZgpAQCAtNTQ3LDggKzQ0OSw5IEBACiAJaWYgKHJldHZhbCA8IDApCiAJCXJldHVybiAwOwogCi0JaWYgKHBmbiA8PSBtYXhfcGZuX21hcHBlZCAmJgotICAgICAgICAgICAgaW9yZW1hcF9jaGFuZ2VfYXR0cigodW5zaWduZWQgbG9uZylfX3ZhKG9mZnNldCksIHNpemUsIGZsYWdzKSA8IDApIHsKKwlpZiAoKChwZm4gPCBtYXhfbG93X3Bmbl9tYXBwZWQpIHx8CisJICAgICAocGZuID49ICgxVUw8PCgzMiAtIFBBR0VfU0hJRlQpKSAmJiBwZm4gPCBtYXhfcGZuX21hcHBlZCkpICYmCisJICAgIGlvcmVtYXBfY2hhbmdlX2F0dHIoKHVuc2lnbmVkIGxvbmcpX192YShvZmZzZXQpLCBzaXplLCBmbGFncykgPCAwKSB7CiAJCWZyZWVfbWVtdHlwZShvZmZzZXQsIG9mZnNldCArIHNpemUpOwogCQlwcmludGsoS0VSTl9JTkZPCiAJCSIlczolZCAvZGV2L21lbSBpb3JlbWFwX2NoYW5nZV9hdHRyIGZhaWxlZCAlcyBmb3IgJUx4LSVMeFxuIiwKQEAgLTU4Niw0ICs0ODksMyBAQAogCiAJZnJlZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBzaXplKTsKIH0KLQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGZfaW4uYyBiL2FyY2gveDg2L21tL3BmX2luLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZhMTkxMQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL3BmX2luLmMKQEAgLTAsMCArMSw0ODkgQEAKKy8qCisgKiAgRmF1bHQgSW5qZWN0aW9uIFRlc3QgaGFybmVzcyAoRkkpCisgKiAgQ29weXJpZ2h0IChDKSBJbnRlbCBDcm9wLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3LAorICogIFVTQS4KKyAqCisgKi8KKworLyogIElkOiBwZl9pbi5jLHYgMS4xLjEuMSAyMDAyLzExLzEyIDA1OjU2OjMyIGJybG9jayBFeHAKKyAqICBDb3B5cmlnaHQgYnkgSW50ZWwgQ3JvcC4sIDIwMDIKKyAqICBMb3VpcyBaaHVhbmcgKGxvdWlzLnpodWFuZ0BpbnRlbC5jb20pCisgKgorICogIEJqb3JuIFN0ZWluYnJpbmsgKEIuU3RlaW5icmlua0BnbXguZGUpLCAyMDA3CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPiAvKiBzdHJ1Y3QgcHRfcmVncyAqLworI2luY2x1ZGUgInBmX2luLmgiCisKKyNpZmRlZiBfX2kzODZfXworLyogSUEzMiBNYW51YWwgMywgMi0xICovCitzdGF0aWMgdW5zaWduZWQgY2hhciBwcmVmaXhfY29kZXNbXSA9IHsKKwkweEYwLCAweEYyLCAweEYzLCAweDJFLCAweDM2LCAweDNFLCAweDI2LCAweDY0LAorCTB4NjUsIDB4MkUsIDB4M0UsIDB4NjYsIDB4NjcKK307CisvKiBJQTMyIE1hbnVhbCAzLCAzLTQzMiovCitzdGF0aWMgdW5zaWduZWQgaW50IHJlZ19yb3BbXSA9IHsKKwkweDhBLCAweDhCLCAweEI2MEYsIDB4QjcwRiwgMHhCRTBGLCAweEJGMEYKK307CitzdGF0aWMgdW5zaWduZWQgaW50IHJlZ193b3BbXSA9IHsgMHg4OCwgMHg4OSB9Oworc3RhdGljIHVuc2lnbmVkIGludCBpbW1fd29wW10gPSB7IDB4QzYsIDB4QzcgfTsKKy8qIElBMzIgTWFudWFsIDMsIDMtNDMyKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgcnc4W10gPSB7IDB4ODgsIDB4OEEsIDB4QzYgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcnczMltdID0geworCTB4ODksIDB4OEIsIDB4QzcsIDB4QjYwRiwgMHhCNzBGLCAweEJFMEYsIDB4QkYwRgorfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXc4W10gPSB7IDB4ODgsIDB4OEEsIDB4QzYsIDB4QjYwRiwgMHhCRTBGIH07CitzdGF0aWMgdW5zaWduZWQgaW50IG13MTZbXSA9IHsgMHhCNzBGLCAweEJGMEYgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXczMltdID0geyAweDg5LCAweDhCLCAweEM3IH07CitzdGF0aWMgdW5zaWduZWQgaW50IG13NjRbXSA9IHt9OworI2Vsc2UgLyogbm90IF9faTM4Nl9fICovCitzdGF0aWMgdW5zaWduZWQgY2hhciBwcmVmaXhfY29kZXNbXSA9IHsKKwkweDY2LCAweDY3LCAweDJFLCAweDNFLCAweDI2LCAweDY0LCAweDY1LCAweDM2LAorCTB4RjAsIDB4RjMsIDB4RjIsCisJLyogUkVYIFByZWZpeGVzICovCisJMHg0MCwgMHg0MSwgMHg0MiwgMHg0MywgMHg0NCwgMHg0NSwgMHg0NiwgMHg0NywKKwkweDQ4LCAweDQ5LCAweDRhLCAweDRiLCAweDRjLCAweDRkLCAweDRlLCAweDRmCit9OworLyogQU1ENjQgTWFudWFsIDMsIEFwcGVuZGl4IEEqLworc3RhdGljIHVuc2lnbmVkIGludCByZWdfcm9wW10gPSB7CisJMHg4QSwgMHg4QiwgMHhCNjBGLCAweEI3MEYsIDB4QkUwRiwgMHhCRjBGCit9Oworc3RhdGljIHVuc2lnbmVkIGludCByZWdfd29wW10gPSB7IDB4ODgsIDB4ODkgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgaW1tX3dvcFtdID0geyAweEM2LCAweEM3IH07CitzdGF0aWMgdW5zaWduZWQgaW50IHJ3OFtdID0geyAweEM2LCAweDg4LCAweDhBIH07CitzdGF0aWMgdW5zaWduZWQgaW50IHJ3MzJbXSA9IHsKKwkweEM3LCAweDg5LCAweDhCLCAweEI2MEYsIDB4QjcwRiwgMHhCRTBGLCAweEJGMEYKK307CisvKiA4IGJpdCBvbmx5ICovCitzdGF0aWMgdW5zaWduZWQgaW50IG13OFtdID0geyAweEM2LCAweDg4LCAweDhBLCAweEI2MEYsIDB4QkUwRiB9OworLyogMTYgYml0IG9ubHkgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXcxNltdID0geyAweEI3MEYsIDB4QkYwRiB9OworLyogMTYgb3IgMzIgYml0ICovCitzdGF0aWMgdW5zaWduZWQgaW50IG13MzJbXSA9IHsgMHhDNyB9OworLyogMTYsIDMyIG9yIDY0IGJpdCAqLworc3RhdGljIHVuc2lnbmVkIGludCBtdzY0W10gPSB7IDB4ODksIDB4OEIgfTsKKyNlbmRpZiAvKiBub3QgX19pMzg2X18gKi8KKworc3RhdGljIGludCBza2lwX3ByZWZpeCh1bnNpZ25lZCBjaGFyICphZGRyLCBpbnQgKnNob3J0ZWQsIGludCAqZW5sYXJnZWQsCisJCQkJCQkJCWludCAqcmV4cikKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBjaGFyICpwID0gYWRkcjsKKwkqc2hvcnRlZCA9IDA7CisJKmVubGFyZ2VkID0gMDsKKwkqcmV4ciA9IDA7CisKK3Jlc3RhcnQ6CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocHJlZml4X2NvZGVzKTsgaSsrKSB7CisJCWlmICgqcCA9PSBwcmVmaXhfY29kZXNbaV0pIHsKKwkJCWlmICgqcCA9PSAweDY2KQorCQkJCSpzaG9ydGVkID0gMTsKKyNpZmRlZiBfX2FtZDY0X18KKwkJCWlmICgoKnAgJiAweGY4KSA9PSAweDQ4KQorCQkJCSplbmxhcmdlZCA9IDE7CisJCQlpZiAoKCpwICYgMHhmNCkgPT0gMHg0NCkKKwkJCQkqcmV4ciA9IDE7CisjZW5kaWYKKwkJCXArKzsKKwkJCWdvdG8gcmVzdGFydDsKKwkJfQorCX0KKworCXJldHVybiAocCAtIGFkZHIpOworfQorCitzdGF0aWMgaW50IGdldF9vcGNvZGUodW5zaWduZWQgY2hhciAqYWRkciwgdW5zaWduZWQgaW50ICpvcGNvZGUpCit7CisJaW50IGxlbjsKKworCWlmICgqYWRkciA9PSAweDBGKSB7CisJCS8qIDB4MEYgaXMgZXh0ZW5zaW9uIGluc3RydWN0aW9uICovCisJCSpvcGNvZGUgPSAqKHVuc2lnbmVkIHNob3J0ICopYWRkcjsKKwkJbGVuID0gMjsKKwl9IGVsc2UgeworCQkqb3Bjb2RlID0gKmFkZHI7CisJCWxlbiA9IDE7CisJfQorCisJcmV0dXJuIGxlbjsKK30KKworI2RlZmluZSBDSEVDS19PUF9UWVBFKG9wY29kZSwgYXJyYXksIHR5cGUpIFwKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhcnJheSk7IGkrKykgeyBcCisJCWlmIChhcnJheVtpXSA9PSBvcGNvZGUpIHsgXAorCQkJcnYgPSB0eXBlOyBcCisJCQlnb3RvIGV4aXQ7IFwKKwkJfSBcCisJfQorCitlbnVtIHJlYXNvbl90eXBlIGdldF9pbnNfdHlwZSh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisJaW50IGk7CisJZW51bSByZWFzb25fdHlwZSBydiA9IE9USEVSUzsKKworCXAgPSAodW5zaWduZWQgY2hhciAqKWluc19hZGRyOworCXAgKz0gc2tpcF9wcmVmaXgocCwgJnNob3J0ZWQsICZlbmxhcmdlZCwgJnJleHIpOworCXAgKz0gZ2V0X29wY29kZShwLCAmb3Bjb2RlKTsKKworCUNIRUNLX09QX1RZUEUob3Bjb2RlLCByZWdfcm9wLCBSRUdfUkVBRCk7CisJQ0hFQ0tfT1BfVFlQRShvcGNvZGUsIHJlZ193b3AsIFJFR19XUklURSk7CisJQ0hFQ0tfT1BfVFlQRShvcGNvZGUsIGltbV93b3AsIElNTV9XUklURSk7CisKK2V4aXQ6CisJcmV0dXJuIHJ2OworfQorI3VuZGVmIENIRUNLX09QX1RZUEUKKworc3RhdGljIHVuc2lnbmVkIGludCBnZXRfaW5zX3JlZ193aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgaSwgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShydzgpOyBpKyspCisJCWlmIChydzhbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShydzMyKTsgaSsrKQorCQlpZiAocnczMltpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gKHNob3J0ZWQgPyAyIDogKGVubGFyZ2VkID8gOCA6IDQpKTsKKworCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBVbmtub3duIG9wY29kZSAweCUwMnhcbiIsIG9wY29kZSk7CisJcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIGludCBnZXRfaW5zX21lbV93aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgaSwgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzgpOyBpKyspCisJCWlmIChtdzhbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzE2KTsgaSsrKQorCQlpZiAobXcxNltpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gMjsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG13MzIpOyBpKyspCisJCWlmIChtdzMyW2ldID09IG9wY29kZSkKKwkJCXJldHVybiBzaG9ydGVkID8gMiA6IDQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzY0KTsgaSsrKQorCQlpZiAobXc2NFtpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gc2hvcnRlZCA/IDIgOiAoZW5sYXJnZWQgPyA4IDogNCk7CisKKwlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogVW5rbm93biBvcGNvZGUgMHglMDJ4XG4iLCBvcGNvZGUpOworCXJldHVybiAwOworfQorCisvKgorICogRGVmaW5lIHJlZ2lzdGVyIGlkZW50IGluIG1vZC9ybSBieXRlLgorICogTm90ZTogdGhlc2UgYXJlIE5PVCB0aGUgc2FtZSBhcyBpbiBwdHJhY2UtYWJpLmguCisgKi8KK2VudW0geworCWFyZ19BTCA9IDAsCisJYXJnX0NMID0gMSwKKwlhcmdfREwgPSAyLAorCWFyZ19CTCA9IDMsCisJYXJnX0FIID0gNCwKKwlhcmdfQ0ggPSA1LAorCWFyZ19ESCA9IDYsCisJYXJnX0JIID0gNywKKworCWFyZ19BWCA9IDAsCisJYXJnX0NYID0gMSwKKwlhcmdfRFggPSAyLAorCWFyZ19CWCA9IDMsCisJYXJnX1NQID0gNCwKKwlhcmdfQlAgPSA1LAorCWFyZ19TSSA9IDYsCisJYXJnX0RJID0gNywKKyNpZmRlZiBfX2FtZDY0X18KKwlhcmdfUjggID0gOCwKKwlhcmdfUjkgID0gOSwKKwlhcmdfUjEwID0gMTAsCisJYXJnX1IxMSA9IDExLAorCWFyZ19SMTIgPSAxMiwKKwlhcmdfUjEzID0gMTMsCisJYXJnX1IxNCA9IDE0LAorCWFyZ19SMTUgPSAxNQorI2VuZGlmCit9OworCitzdGF0aWMgdW5zaWduZWQgY2hhciAqZ2V0X3JlZ193OChpbnQgbm8sIHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXVuc2lnbmVkIGNoYXIgKnJ2ID0gTlVMTDsKKworCXN3aXRjaCAobm8pIHsKKwljYXNlIGFyZ19BTDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5heDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQkw6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+Yng7CisJCWJyZWFrOworCWNhc2UgYXJnX0NMOgorCQlydiA9ICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmN4OworCQlicmVhazsKKwljYXNlIGFyZ19ETDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5keDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQUg6CisJCXJ2ID0gMSArICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmF4OworCQlicmVhazsKKwljYXNlIGFyZ19CSDoKKwkJcnYgPSAxICsgKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+Yng7CisJCWJyZWFrOworCWNhc2UgYXJnX0NIOgorCQlydiA9IDEgKyAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5jeDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfREg6CisJCXJ2ID0gMSArICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmR4OworCQlicmVhazsKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIGFyZ19SODoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yODsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjk6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjk7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTA7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMToKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTE7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMjoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTI7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMzoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTM7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTQ7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNToKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTU7CisJCWJyZWFrOworI2VuZGlmCisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IEVycm9yIHJlZyBubyMgJWRcbiIsIG5vKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiBydjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgKmdldF9yZWdfdzMyKGludCBubywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJdW5zaWduZWQgbG9uZyAqcnYgPSBOVUxMOworCisJc3dpdGNoIChubykgeworCWNhc2UgYXJnX0FYOgorCQlydiA9ICZyZWdzLT5heDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQlg6CisJCXJ2ID0gJnJlZ3MtPmJ4OworCQlicmVhazsKKwljYXNlIGFyZ19DWDoKKwkJcnYgPSAmcmVncy0+Y3g7CisJCWJyZWFrOworCWNhc2UgYXJnX0RYOgorCQlydiA9ICZyZWdzLT5keDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfU1A6CisJCXJ2ID0gJnJlZ3MtPnNwOworCQlicmVhazsKKwljYXNlIGFyZ19CUDoKKwkJcnYgPSAmcmVncy0+YnA7CisJCWJyZWFrOworCWNhc2UgYXJnX1NJOgorCQlydiA9ICZyZWdzLT5zaTsKKwkJYnJlYWs7CisJY2FzZSBhcmdfREk6CisJCXJ2ID0gJnJlZ3MtPmRpOworCQlicmVhazsKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIGFyZ19SODoKKwkJcnYgPSAmcmVncy0+cjg7CisJCWJyZWFrOworCWNhc2UgYXJnX1I5OgorCQlydiA9ICZyZWdzLT5yOTsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjEwOgorCQlydiA9ICZyZWdzLT5yMTA7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMToKKwkJcnYgPSAmcmVncy0+cjExOworCQlicmVhazsKKwljYXNlIGFyZ19SMTI6CisJCXJ2ID0gJnJlZ3MtPnIxMjsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjEzOgorCQlydiA9ICZyZWdzLT5yMTM7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNDoKKwkJcnYgPSAmcmVncy0+cjE0OworCQlicmVhazsKKwljYXNlIGFyZ19SMTU6CisJCXJ2ID0gJnJlZ3MtPnIxNTsKKwkJYnJlYWs7CisjZW5kaWYKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogRXJyb3IgcmVnIG5vIyAlZFxuIiwgbm8pOworCX0KKworCXJldHVybiBydjsKK30KKwordW5zaWduZWQgbG9uZyBnZXRfaW5zX3JlZ192YWwodW5zaWduZWQgbG9uZyBpbnNfYWRkciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJdW5zaWduZWQgaW50IG9wY29kZTsKKwl1bnNpZ25lZCBjaGFyIG1vZF9ybTsKKwlpbnQgcmVnOworCXVuc2lnbmVkIGNoYXIgKnA7CisJaW50IGksIHNob3J0ZWQsIGVubGFyZ2VkLCByZXhyOworCXVuc2lnbmVkIGxvbmcgcnY7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmVnX3JvcCk7IGkrKykKKwkJaWYgKHJlZ19yb3BbaV0gPT0gb3Bjb2RlKSB7CisJCQlydiA9IFJFR19SRUFEOworCQkJZ290byBkb193b3JrOworCQl9CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShyZWdfd29wKTsgaSsrKQorCQlpZiAocmVnX3dvcFtpXSA9PSBvcGNvZGUpIHsKKwkJCXJ2ID0gUkVHX1dSSVRFOworCQkJZ290byBkb193b3JrOworCQl9CisKKwlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogTm90IGEgcmVnaXN0ZXIgaW5zdHJ1Y3Rpb24sIG9wY29kZSAiCisJCQkJCQkJIjB4JTAyeFxuIiwgb3Bjb2RlKTsKKwlnb3RvIGVycjsKKworZG9fd29yazoKKwltb2Rfcm0gPSAqcDsKKwlyZWcgPSAoKG1vZF9ybSA+PiAzKSAmIDB4NykgfCAocmV4ciA8PCAzKTsKKwlzd2l0Y2ggKGdldF9pbnNfcmVnX3dpZHRoKGluc19hZGRyKSkgeworCWNhc2UgMToKKwkJcmV0dXJuICpnZXRfcmVnX3c4KHJlZywgcmVncyk7CisKKwljYXNlIDI6CisJCXJldHVybiAqKHVuc2lnbmVkIHNob3J0ICopZ2V0X3JlZ193MzIocmVnLCByZWdzKTsKKworCWNhc2UgNDoKKwkJcmV0dXJuICoodW5zaWduZWQgaW50ICopZ2V0X3JlZ193MzIocmVnLCByZWdzKTsKKworI2lmZGVmIF9fYW1kNjRfXworCWNhc2UgODoKKwkJcmV0dXJuICoodW5zaWduZWQgbG9uZyAqKWdldF9yZWdfdzMyKHJlZywgcmVncyk7CisjZW5kaWYKKworCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBFcnJvciB3aWR0aCMgJWRcbiIsIHJlZyk7CisJfQorCitlcnI6CisJcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19pbW1fdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIpCit7CisJdW5zaWduZWQgaW50IG9wY29kZTsKKwl1bnNpZ25lZCBjaGFyIG1vZF9ybTsKKwl1bnNpZ25lZCBjaGFyIG1vZDsKKwl1bnNpZ25lZCBjaGFyICpwOworCWludCBpLCBzaG9ydGVkLCBlbmxhcmdlZCwgcmV4cjsKKwl1bnNpZ25lZCBsb25nIHJ2OworCisJcCA9ICh1bnNpZ25lZCBjaGFyICopaW5zX2FkZHI7CisJcCArPSBza2lwX3ByZWZpeChwLCAmc2hvcnRlZCwgJmVubGFyZ2VkLCAmcmV4cik7CisJcCArPSBnZXRfb3Bjb2RlKHAsICZvcGNvZGUpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGltbV93b3ApOyBpKyspCisJCWlmIChpbW1fd29wW2ldID09IG9wY29kZSkgeworCQkJcnYgPSBJTU1fV1JJVEU7CisJCQlnb3RvIGRvX3dvcms7CisJCX0KKworCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBOb3QgYW4gaW1tZWRpYXRlIGluc3RydWN0aW9uLCBvcGNvZGUgIgorCQkJCQkJCSIweCUwMnhcbiIsIG9wY29kZSk7CisJZ290byBlcnI7CisKK2RvX3dvcms6CisJbW9kX3JtID0gKnA7CisJbW9kID0gbW9kX3JtID4+IDY7CisJcCsrOworCXN3aXRjaCAobW9kKSB7CisJY2FzZSAwOgorCQkvKiBpZiByL20gaXMgNSB3ZSBoYXZlIGEgMzIgZGlzcCAoSUEzMiBNYW51YWwgMywgVGFibGUgMi0yKSAgKi8KKwkJLyogQU1ENjQ6IFhYWCBDaGVjayBmb3IgYWRkcmVzcyBzaXplIHByZWZpeD8gKi8KKwkJaWYgKChtb2Rfcm0gJiAweDcpID09IDB4NSkKKwkJCXAgKz0gNDsKKwkJYnJlYWs7CisKKwljYXNlIDE6CisJCXAgKz0gMTsKKwkJYnJlYWs7CisKKwljYXNlIDI6CisJCXAgKz0gNDsKKwkJYnJlYWs7CisKKwljYXNlIDM6CisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IG5vdCBhIG1lbW9yeSBhY2Nlc3MgaW5zdHJ1Y3Rpb24gIgorCQkJCQkJImF0IDB4JWx4LCBybV9tb2Q9MHglMDJ4XG4iLAorCQkJCQkJaW5zX2FkZHIsIG1vZF9ybSk7CisJfQorCisJc3dpdGNoIChnZXRfaW5zX3JlZ193aWR0aChpbnNfYWRkcikpIHsKKwljYXNlIDE6CisJCXJldHVybiAqKHVuc2lnbmVkIGNoYXIgKilwOworCisJY2FzZSAyOgorCQlyZXR1cm4gKih1bnNpZ25lZCBzaG9ydCAqKXA7CisKKwljYXNlIDQ6CisJCXJldHVybiAqKHVuc2lnbmVkIGludCAqKXA7CisKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIDg6CisJCXJldHVybiAqKHVuc2lnbmVkIGxvbmcgKilwOworI2VuZGlmCisKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogRXJyb3I6IHdpZHRoLlxuIik7CisJfQorCitlcnI6CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wZl9pbi5oIGIvYXJjaC94ODYvbW0vcGZfaW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDUzNDFhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vcGZfaW4uaApAQCAtMCwwICsxLDM5IEBACisvKgorICogIEZhdWx0IEluamVjdGlvbiBUZXN0IGhhcm5lc3MgKEZJKQorICogIENvcHlyaWdodCAoQykgSW50ZWwgQ3JvcC4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqICBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNywKKyAqICBVU0EuCisgKgorICovCisKKyNpZm5kZWYgX19QRl9IXworI2RlZmluZSBfX1BGX0hfCisKK2VudW0gcmVhc29uX3R5cGUgeworCU5PVF9NRSwJLyogcGFnZSBmYXVsdCBpcyBub3QgaW4gcmVnaW9ucyAqLworCU5PVEhJTkcsCS8qIGFjY2VzcyBvdGhlcnMgcG9pbnQgaW4gcmVnaW9ucyAqLworCVJFR19SRUFELAkvKiByZWFkIGZyb20gYWRkciB0byByZWcgKi8KKwlSRUdfV1JJVEUsCS8qIHdyaXRlIGZyb20gcmVnIHRvIGFkZHIgKi8KKwlJTU1fV1JJVEUsCS8qIHdyaXRlIGZyb20gaW1tIHRvIGFkZHIgKi8KKwlPVEhFUlMJLyogT3RoZXIgaW5zdHJ1Y3Rpb25zIGNhbiBub3QgaW50ZXJjZXB0ICovCit9OworCitlbnVtIHJlYXNvbl90eXBlIGdldF9pbnNfdHlwZSh1bnNpZ25lZCBsb25nIGluc19hZGRyKTsKK3Vuc2lnbmVkIGludCBnZXRfaW5zX21lbV93aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKTsKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19yZWdfdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19pbW1fdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIpOworCisjZW5kaWYgLyogX19QRl9IXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGd0YWJsZS5jIGIvYXJjaC94ODYvbW0vcGd0YWJsZS5jCmluZGV4IDUwMTU5NzYuLjU1N2IyYWIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BndGFibGUuYworKysgYi9hcmNoL3g4Ni9tbS9wZ3RhYmxlLmMKQEAgLTIsNiArMiw3IEBACiAjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS90bGIuaD4KKyNpbmNsdWRlIDxhc20vZml4bWFwLmg+CiAKIHB0ZV90ICpwdGVfYWxsb2Nfb25lX2tlcm5lbChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQogewpAQCAtNjUsMTIgKzY2LDYgQEAKIHN0YXRpYyB2b2lkIHBnZF9jdG9yKHZvaWQgKnApCiB7CiAJcGdkX3QgKnBnZCA9IHA7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCS8qIENsZWFyIHVzZXJtb2RlIHBhcnRzIG9mIFBHRCAqLwotCW1lbXNldChwZ2QsIDAsIEtFUk5FTF9QR0RfQk9VTkRBUlkqc2l6ZW9mKHBnZF90KSk7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKIAogCS8qIElmIHRoZSBwZ2QgcG9pbnRzIHRvIGEgc2hhcmVkIHBhZ2V0YWJsZSBsZXZlbCAoZWl0aGVyIHRoZQogCSAgIHB0ZXMgaW4gbm9uLVBBRSwgb3Igc2hhcmVkIFBNRCBpbiBQQUUpLCB0aGVuIGp1c3QgY29weSB0aGUKQEAgLTkwLDggKzg1LDYgQEAKIAkvKiBsaXN0IHJlcXVpcmVkIHRvIHN5bmMga2VybmVsIG1hcHBpbmcgdXBkYXRlcyAqLwogCWlmICghU0hBUkVEX0tFUk5FTF9QTUQpCiAJCXBnZF9saXN0X2FkZChwZ2QpOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgcGdkX2R0b3Iodm9pZCAqcGdkKQpAQCAtMTE5LDMwICsxMTIsNiBAQAogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQUUKIC8qCi0gKiBNb3AgdXAgYW55IHBtZCBwYWdlcyB3aGljaCBtYXkgc3RpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIHBnZC4KLSAqIE5vcm1hbGx5IHRoZXkgd2lsbCBiZSBmcmVlZCBieSBtdW5tYXAvZXhpdF9tbWFwLCBidXQgYW55IHBtZCB3ZQotICogcHJlYWxsb2NhdGUgd2hpY2ggbmV2ZXIgZ290IGEgY29ycmVzcG9uZGluZyB2bWEgd2lsbCBuZWVkIHRvIGJlCi0gKiBmcmVlZCBtYW51YWxseS4KLSAqLwotc3RhdGljIHZvaWQgcGdkX21vcF91cF9wbWRzKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkcCkKLXsKLQlpbnQgaTsKLQotCWZvcihpID0gMDsgaSA8IFVOU0hBUkVEX1BUUlNfUEVSX1BHRDsgaSsrKSB7Ci0JCXBnZF90IHBnZCA9IHBnZHBbaV07Ci0KLQkJaWYgKHBnZF92YWwocGdkKSAhPSAwKSB7Ci0JCQlwbWRfdCAqcG1kID0gKHBtZF90ICopcGdkX3BhZ2VfdmFkZHIocGdkKTsKLQotCQkJcGdkcFtpXSA9IG5hdGl2ZV9tYWtlX3BnZCgwKTsKLQotCQkJcGFyYXZpcnRfcmVsZWFzZV9wbWQocGdkX3ZhbChwZ2QpID4+IFBBR0VfU0hJRlQpOwotCQkJcG1kX2ZyZWUobW0sIHBtZCk7Ci0JCX0KLQl9Ci19Ci0KLS8qCiAgKiBJbiBQQUUgbW9kZSwgd2UgbmVlZCB0byBkbyBhIGNyMyByZWxvYWQgKD10bGIgZmx1c2gpIHdoZW4KICAqIHVwZGF0aW5nIHRoZSB0b3AtbGV2ZWwgcGFnZXRhYmxlIGVudHJpZXMgdG8gZ3VhcmFudGVlIHRoZQogICogcHJvY2Vzc29yIG5vdGljZXMgdGhlIHVwZGF0ZS4gIFNpbmNlIHRoaXMgaXMgZXhwZW5zaXZlLCBhbmQKQEAgLTE1MywzMSArMTIyLDcgQEAKICAqIG5vdCBzaGFyZWQgYmV0d2VlbiBwYWdldGFibGVzICghU0hBUkVEX0tFUk5FTF9QTURTKSwgd2UgYWxsb2NhdGUKICAqIGFuZCBpbml0aWFsaXplIHRoZSBrZXJuZWwgcG1kcyBoZXJlLgogICovCi1zdGF0aWMgaW50IHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCi17Ci0JcHVkX3QgKnB1ZDsKLQl1bnNpZ25lZCBsb25nIGFkZHI7Ci0JaW50IGk7Ci0KLQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgMCk7Ci0gCWZvciAoYWRkciA9IGkgPSAwOyBpIDwgVU5TSEFSRURfUFRSU19QRVJfUEdEOwotCSAgICAgaSsrLCBwdWQrKywgYWRkciArPSBQVURfU0laRSkgewotCQlwbWRfdCAqcG1kID0gcG1kX2FsbG9jX29uZShtbSwgYWRkcik7Ci0KLQkJaWYgKCFwbWQpIHsKLQkJCXBnZF9tb3BfdXBfcG1kcyhtbSwgcGdkKTsKLQkJCXJldHVybiAwOwotCQl9Ci0KLQkJaWYgKGkgPj0gS0VSTkVMX1BHRF9CT1VOREFSWSkKLQkJCW1lbWNweShwbWQsIChwbWRfdCAqKXBnZF9wYWdlX3ZhZGRyKHN3YXBwZXJfcGdfZGlyW2ldKSwKLQkJCSAgICAgICBzaXplb2YocG1kX3QpICogUFRSU19QRVJfUE1EKTsKLQotCQlwdWRfcG9wdWxhdGUobW0sIHB1ZCwgcG1kKTsKLQl9Ci0KLQlyZXR1cm4gMTsKLX0KKyNkZWZpbmUgUFJFQUxMT0NBVEVEX1BNRFMJVU5TSEFSRURfUFRSU19QRVJfUEdECiAKIHZvaWQgcHVkX3BvcHVsYXRlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwdWRfdCAqcHVkcCwgcG1kX3QgKnBtZCkKIHsKQEAgLTE5NywzOSArMTQyLDEzMSBAQAogCQl3cml0ZV9jcjMocmVhZF9jcjMoKSk7CiB9CiAjZWxzZSAgLyogIUNPTkZJR19YODZfUEFFICovCisKIC8qIE5vIG5lZWQgdG8gcHJlcG9wdWxhdGUgYW55IHBhZ2V0YWJsZSBlbnRyaWVzIGluIG5vbi1QQUUgbW9kZXMuICovCi1zdGF0aWMgaW50IHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCisjZGVmaW5lIFBSRUFMTE9DQVRFRF9QTURTCTAKKworI2VuZGlmCS8qIENPTkZJR19YODZfUEFFICovCisKK3N0YXRpYyB2b2lkIGZyZWVfcG1kcyhwbWRfdCAqcG1kc1tdKQogewotCXJldHVybiAxOworCWludCBpOworCisJZm9yKGkgPSAwOyBpIDwgUFJFQUxMT0NBVEVEX1BNRFM7IGkrKykKKwkJaWYgKHBtZHNbaV0pCisJCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcG1kc1tpXSk7CiB9CiAKLXN0YXRpYyB2b2lkIHBnZF9tb3BfdXBfcG1kcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkKK3N0YXRpYyBpbnQgcHJlYWxsb2NhdGVfcG1kcyhwbWRfdCAqcG1kc1tdKQogeworCWludCBpOworCWJvb2wgZmFpbGVkID0gZmFsc2U7CisKKwlmb3IoaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsgaSsrKSB7CisJCXBtZF90ICpwbWQgPSAocG1kX3QgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTHxfX0dGUF9SRVBFQVQpOworCQlpZiAocG1kID09IE5VTEwpCisJCQlmYWlsZWQgPSB0cnVlOworCQlwbWRzW2ldID0gcG1kOworCX0KKworCWlmIChmYWlsZWQpIHsKKwkJZnJlZV9wbWRzKHBtZHMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlyZXR1cm4gMDsKIH0KLSNlbmRpZgkvKiBDT05GSUdfWDg2X1BBRSAqLworCisvKgorICogTW9wIHVwIGFueSBwbWQgcGFnZXMgd2hpY2ggbWF5IHN0aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBwZ2QuCisgKiBOb3JtYWxseSB0aGV5IHdpbGwgYmUgZnJlZWQgYnkgbXVubWFwL2V4aXRfbW1hcCwgYnV0IGFueSBwbWQgd2UKKyAqIHByZWFsbG9jYXRlIHdoaWNoIG5ldmVyIGdvdCBhIGNvcnJlc3BvbmRpbmcgdm1hIHdpbGwgbmVlZCB0byBiZQorICogZnJlZWQgbWFudWFsbHkuCisgKi8KK3N0YXRpYyB2b2lkIHBnZF9tb3BfdXBfcG1kcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZHApCit7CisJaW50IGk7CisKKwlmb3IoaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsgaSsrKSB7CisJCXBnZF90IHBnZCA9IHBnZHBbaV07CisKKwkJaWYgKHBnZF92YWwocGdkKSAhPSAwKSB7CisJCQlwbWRfdCAqcG1kID0gKHBtZF90ICopcGdkX3BhZ2VfdmFkZHIocGdkKTsKKworCQkJcGdkcFtpXSA9IG5hdGl2ZV9tYWtlX3BnZCgwKTsKKworCQkJcGFyYXZpcnRfcmVsZWFzZV9wbWQocGdkX3ZhbChwZ2QpID4+IFBBR0VfU0hJRlQpOworCQkJcG1kX2ZyZWUobW0sIHBtZCk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QsIHBtZF90ICpwbWRzW10pCit7CisJcHVkX3QgKnB1ZDsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJaW50IGk7CisKKwlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgMCk7CisKKyAJZm9yIChhZGRyID0gaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsKKwkgICAgIGkrKywgcHVkKyssIGFkZHIgKz0gUFVEX1NJWkUpIHsKKwkJcG1kX3QgKnBtZCA9IHBtZHNbaV07CisKKwkJaWYgKGkgPj0gS0VSTkVMX1BHRF9CT1VOREFSWSkKKwkJCW1lbWNweShwbWQsIChwbWRfdCAqKXBnZF9wYWdlX3ZhZGRyKHN3YXBwZXJfcGdfZGlyW2ldKSwKKwkJCSAgICAgICBzaXplb2YocG1kX3QpICogUFRSU19QRVJfUE1EKTsKKworCQlwdWRfcG9wdWxhdGUobW0sIHB1ZCwgcG1kKTsKKwl9Cit9CiAKIHBnZF90ICpwZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7Ci0JcGdkX3QgKnBnZCA9IChwZ2RfdCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMIHwgX19HRlBfWkVSTyk7CisJcGdkX3QgKnBnZDsKKwlwbWRfdCAqcG1kc1tQUkVBTExPQ0FURURfUE1EU107CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCS8qIHNvIHRoYXQgYWxsb2NfcG1kIGNhbiB1c2UgaXQgKi8KKwlwZ2QgPSAocGdkX3QgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8pOworCisJaWYgKHBnZCA9PSBOVUxMKQorCQlnb3RvIG91dDsKKwogCW1tLT5wZ2QgPSBwZ2Q7Ci0JaWYgKHBnZCkKLQkJcGdkX2N0b3IocGdkKTsKIAotCWlmIChwZ2QgJiYgIXBnZF9wcmVwb3B1bGF0ZV9wbWQobW0sIHBnZCkpIHsKLQkJcGdkX2R0b3IocGdkKTsKLQkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXBnZCk7Ci0JCXBnZCA9IE5VTEw7Ci0JfQorCWlmIChwcmVhbGxvY2F0ZV9wbWRzKHBtZHMpICE9IDApCisJCWdvdG8gb3V0X2ZyZWVfcGdkOworCisJaWYgKHBhcmF2aXJ0X3BnZF9hbGxvYyhtbSkgIT0gMCkKKwkJZ290byBvdXRfZnJlZV9wbWRzOworCisJLyoKKwkgKiBNYWtlIHN1cmUgdGhhdCBwcmUtcG9wdWxhdGluZyB0aGUgcG1kcyBpcyBhdG9taWMgd2l0aAorCSAqIHJlc3BlY3QgdG8gYW55dGhpbmcgd2Fsa2luZyB0aGUgcGdkX2xpc3QsIHNvIHRoYXQgdGhleQorCSAqIG5ldmVyIHNlZSBhIHBhcnRpYWxseSBwb3B1bGF0ZWQgcGdkLgorCSAqLworCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCisJcGdkX2N0b3IocGdkKTsKKwlwZ2RfcHJlcG9wdWxhdGVfcG1kKG1tLCBwZ2QsIHBtZHMpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKIAogCXJldHVybiBwZ2Q7CisKK291dF9mcmVlX3BtZHM6CisJZnJlZV9wbWRzKHBtZHMpOworb3V0X2ZyZWVfcGdkOgorCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwZ2QpOworb3V0OgorCXJldHVybiBOVUxMOwogfQogCiB2b2lkIHBnZF9mcmVlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkKQogewogCXBnZF9tb3BfdXBfcG1kcyhtbSwgcGdkKTsKIAlwZ2RfZHRvcihwZ2QpOworCXBhcmF2aXJ0X3BnZF9mcmVlKG1tLCBwZ2QpOwogCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwZ2QpOwogfQogCkBAIC0yNTUsNyArMjkyLDcgQEAKIAogCWlmIChwdGVfeW91bmcoKnB0ZXApKQogCQlyZXQgPSB0ZXN0X2FuZF9jbGVhcl9iaXQoX1BBR0VfQklUX0FDQ0VTU0VELAotCQkJCQkgJnB0ZXAtPnB0ZSk7CisJCQkJCSAodW5zaWduZWQgbG9uZyAqKSAmcHRlcC0+cHRlKTsKIAogCWlmIChyZXQpCiAJCXB0ZV91cGRhdGUodm1hLT52bV9tbSwgYWRkciwgcHRlcCk7CkBAIC0yNzQsMyArMzExLDIyIEBACiAKIAlyZXR1cm4geW91bmc7CiB9CisKK2ludCBmaXhtYXBzX3NldDsKKwordm9pZCBfX25hdGl2ZV9zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgcHRlX3QgcHRlKQoreworCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9IF9fZml4X3RvX3ZpcnQoaWR4KTsKKworCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKSB7CisJCUJVRygpOworCQlyZXR1cm47CisJfQorCXNldF9wdGVfdmFkZHIoYWRkcmVzcywgcHRlKTsKKwlmaXhtYXBzX3NldCsrOworfQorCit2b2lkIG5hdGl2ZV9zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncykKK3sKKwlfX25hdGl2ZV9zZXRfZml4bWFwKGlkeCwgcGZuX3B0ZShwaHlzID4+IFBBR0VfU0hJRlQsIGZsYWdzKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wZ3RhYmxlXzMyLmMgYi9hcmNoL3g4Ni9tbS9wZ3RhYmxlXzMyLmMKaW5kZXggMzY5Y2YwNi4uYjRiZWNiZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vcGd0YWJsZV8zMi5jCisrKyBiL2FyY2gveDg2L21tL3BndGFibGVfMzIuYwpAQCAtNzEsNyArNzEsNyBAQAogICogQXNzb2NpYXRlIGEgdmlydHVhbCBwYWdlIGZyYW1lIHdpdGggYSBnaXZlbiBwaHlzaWNhbCBwYWdlIGZyYW1lIAogICogYW5kIHByb3RlY3Rpb24gZmxhZ3MgZm9yIHRoYXQgZnJhbWUuCiAgKi8gCi1zdGF0aWMgdm9pZCBzZXRfcHRlX3Bmbih1bnNpZ25lZCBsb25nIHZhZGRyLCB1bnNpZ25lZCBsb25nIHBmbiwgcGdwcm90X3QgZmxhZ3MpCit2b2lkIHNldF9wdGVfdmFkZHIodW5zaWduZWQgbG9uZyB2YWRkciwgcHRlX3QgcHRldmFsKQogewogCXBnZF90ICpwZ2Q7CiAJcHVkX3QgKnB1ZDsKQEAgLTk0LDggKzk0LDggQEAKIAkJcmV0dXJuOwogCX0KIAlwdGUgPSBwdGVfb2Zmc2V0X2tlcm5lbChwbWQsIHZhZGRyKTsKLQlpZiAocGdwcm90X3ZhbChmbGFncykpCi0JCXNldF9wdGVfcHJlc2VudCgmaW5pdF9tbSwgdmFkZHIsIHB0ZSwgcGZuX3B0ZShwZm4sIGZsYWdzKSk7CisJaWYgKHB0ZV92YWwocHRldmFsKSkKKwkJc2V0X3B0ZV9wcmVzZW50KCZpbml0X21tLCB2YWRkciwgcHRlLCBwdGV2YWwpOwogCWVsc2UKIAkJcHRlX2NsZWFyKCZpbml0X21tLCB2YWRkciwgcHRlKTsKIApAQCAtMTQxLDIyICsxNDEsOSBAQAogCV9fZmx1c2hfdGxiX29uZSh2YWRkcik7CiB9CiAKLXN0YXRpYyBpbnQgZml4bWFwczsKIHVuc2lnbmVkIGxvbmcgX19GSVhBRERSX1RPUCA9IDB4ZmZmZmYwMDA7CiBFWFBPUlRfU1lNQk9MKF9fRklYQUREUl9UT1ApOwogCi12b2lkIF9fc2V0X2ZpeG1hcCAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKQotewotCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9IF9fZml4X3RvX3ZpcnQoaWR4KTsKLQotCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKSB7Ci0JCUJVRygpOwotCQlyZXR1cm47Ci0JfQotCXNldF9wdGVfcGZuKGFkZHJlc3MsIHBoeXMgPj4gUEFHRV9TSElGVCwgZmxhZ3MpOwotCWZpeG1hcHMrKzsKLX0KLQogLyoqCiAgKiByZXNlcnZlX3RvcF9hZGRyZXNzIC0gcmVzZXJ2ZXMgYSBob2xlIGluIHRoZSB0b3Agb2Yga2VybmVsIGFkZHJlc3Mgc3BhY2UKICAqIEByZXNlcnZlIC0gc2l6ZSBvZiBob2xlIHRvIHJlc2VydmUKQEAgLTE2NCwxMSArMTUxLDQ0IEBACiAgKiBDYW4gYmUgdXNlZCB0byByZWxvY2F0ZSB0aGUgZml4bWFwIGFyZWEgYW5kIHBva2UgYSBob2xlIGluIHRoZSB0b3AKICAqIG9mIGtlcm5lbCBhZGRyZXNzIHNwYWNlIHRvIG1ha2Ugcm9vbSBmb3IgYSBoeXBlcnZpc29yLgogICovCi12b2lkIHJlc2VydmVfdG9wX2FkZHJlc3ModW5zaWduZWQgbG9uZyByZXNlcnZlKQordm9pZCBfX2luaXQgcmVzZXJ2ZV90b3BfYWRkcmVzcyh1bnNpZ25lZCBsb25nIHJlc2VydmUpCiB7Ci0JQlVHX09OKGZpeG1hcHMgPiAwKTsKKwlCVUdfT04oZml4bWFwc19zZXQgPiAwKTsKIAlwcmludGsoS0VSTl9JTkZPICJSZXNlcnZpbmcgdmlydHVhbCBhZGRyZXNzIHNwYWNlIGFib3ZlIDB4JTA4eFxuIiwKIAkgICAgICAgKGludCktcmVzZXJ2ZSk7CiAJX19GSVhBRERSX1RPUCA9IC1yZXNlcnZlIC0gUEFHRV9TSVpFOwogCV9fVk1BTExPQ19SRVNFUlZFICs9IHJlc2VydmU7CiB9CisKKy8qCisgKiB2bWFsbG9jPXNpemUgZm9yY2VzIHRoZSB2bWFsbG9jIGFyZWEgdG8gYmUgZXhhY3RseSAnc2l6ZScKKyAqIGJ5dGVzLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGluY3JlYXNlIChvciBkZWNyZWFzZSkgdGhlCisgKiB2bWFsbG9jIGFyZWEgLSB0aGUgZGVmYXVsdCBpcyAxMjhtLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV92bWFsbG9jKGNoYXIgKmFyZykKK3sKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlfX1ZNQUxMT0NfUkVTRVJWRSA9IG1lbXBhcnNlKGFyZywgJmFyZyk7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgidm1hbGxvYyIsIHBhcnNlX3ZtYWxsb2MpOworCisvKgorICogcmVzZXJ2ZXRvcD1zaXplIHJlc2VydmVzIGEgaG9sZSBhdCB0aGUgdG9wIG9mIHRoZSBrZXJuZWwgYWRkcmVzcyBzcGFjZSB3aGljaAorICogYSBoeXBlcnZpc29yIGNhbiBsb2FkIGludG8gbGF0ZXIuICBOZWVkZWQgZm9yIGR5bmFtaWNhbGx5IGxvYWRlZCBoeXBlcnZpc29ycywKKyAqIHNvIHJlbG9jYXRpbmcgdGhlIGZpeG1hcCBjYW4gYmUgZG9uZSBiZWZvcmUgcGFnaW5nIGluaXRpYWxpemF0aW9uLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9yZXNlcnZldG9wKGNoYXIgKmFyZykKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CisKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhZGRyZXNzID0gbWVtcGFyc2UoYXJnLCAmYXJnKTsKKwlyZXNlcnZlX3RvcF9hZGRyZXNzKGFkZHJlc3MpOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oInJlc2VydmV0b3AiLCBwYXJzZV9yZXNlcnZldG9wKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3NyYXRfMzIuYyBiL2FyY2gveDg2L21tL3NyYXRfMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDFkNjdmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vc3JhdF8zMi5jCkBAIC0wLDAgKzEsMjgwIEBACisvKgorICogU29tZSBvZiB0aGUgY29kZSBpbiB0aGlzIGZpbGUgaGFzIGJlZW4gZ2xlYW5lZCBmcm9tIHRoZSA2NCBiaXQgCisgKiBkaXNjb250aWdtZW0gc3VwcG9ydCBjb2RlIGJhc2UuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAyLCBJQk0gQ29ycC4KKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiAgICAgICAgICAKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgR09PRCBUSVRMRSBvcgorICogTk9OIElORlJJTkdFTUVOVC4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUKKyAqIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiBTZW5kIGZlZWRiYWNrIHRvIFBhdCBHYXVnaGVuIDxnb25lQHVzLmlibS5jb20+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CisjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KKyNpbmNsdWRlIDxhc20vc3JhdC5oPgorI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorCisvKgorICogcHJveGltaXR5IG1hY3JvcyBhbmQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBOT0RFX0FSUkFZX0lOREVYKHgpCSgoeCkgLyA4KQkvKiA4IGJpdHMvY2hhciAqLworI2RlZmluZSBOT0RFX0FSUkFZX09GRlNFVCh4KQkoKHgpICUgOCkJLyogOCBiaXRzL2NoYXIgKi8KKyNkZWZpbmUgQk1BUF9TRVQoYm1hcCwgYml0KQkoKGJtYXApW05PREVfQVJSQVlfSU5ERVgoYml0KV0gfD0gMSA8PCBOT0RFX0FSUkFZX09GRlNFVChiaXQpKQorI2RlZmluZSBCTUFQX1RFU1QoYm1hcCwgYml0KQkoKGJtYXApW05PREVfQVJSQVlfSU5ERVgoYml0KV0gJiAoMSA8PCBOT0RFX0FSUkFZX09GRlNFVChiaXQpKSkKKy8qIGJpdG1hcCBsZW5ndGg7IF9QWE0gaXMgYXQgbW9zdCAyNTUgKi8KKyNkZWZpbmUgUFhNX0JJVE1BUF9MRU4gKE1BWF9QWE1fRE9NQUlOUyAvIDgpIAorc3RhdGljIHU4IF9faW5pdGRhdGEgcHhtX2JpdG1hcFtQWE1fQklUTUFQX0xFTl07CS8qIGJpdG1hcCBvZiBwcm94aW1pdHkgZG9tYWlucyAqLworCisjZGVmaW5lIE1BWF9DSFVOS1NfUEVSX05PREUJMworI2RlZmluZSBNQVhDSFVOS1MJCShNQVhfQ0hVTktTX1BFUl9OT0RFICogTUFYX05VTU5PREVTKQorc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgeworCXVuc2lnbmVkIGxvbmcJc3RhcnRfcGZuOworCXVuc2lnbmVkIGxvbmcJZW5kX3BmbjsKKwl1OAlweG07CQkvLyBwcm94aW1pdHkgZG9tYWluIG9mIG5vZGUKKwl1OAluaWQ7CQkvLyB3aGljaCBjbm9kZSBjb250YWlucyB0aGlzIGNodW5rPworCXU4CWJhbms7CQkvLyB3aGljaCBtZW0gYmFuayBvbiB0aGlzIG5vZGUKK307CitzdGF0aWMgc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgX19pbml0ZGF0YSBub2RlX21lbW9yeV9jaHVua1tNQVhDSFVOS1NdOworCitzdGF0aWMgaW50IF9faW5pdGRhdGEgbnVtX21lbW9yeV9jaHVua3M7IC8qIHRvdGFsIG51bWJlciBvZiBtZW1vcnkgY2h1bmtzICovCitzdGF0aWMgdTggX19pbml0ZGF0YSBhcGljaWRfdG9fcHhtW01BWF9BUElDSURdOworCitpbnQgbnVtYV9vZmYgX19pbml0ZGF0YTsKK2ludCBhY3BpX251bWEgX19pbml0ZGF0YTsKKworc3RhdGljIF9faW5pdCB2b2lkIGJhZF9zcmF0KHZvaWQpCit7CisgICAgICAgIHByaW50ayhLRVJOX0VSUiAiU1JBVDogU1JBVCBub3QgdXNlZC5cbiIpOworICAgICAgICBhY3BpX251bWEgPSAtMTsKKwludW1fbWVtb3J5X2NodW5rcyA9IDA7Cit9CisKK3N0YXRpYyBfX2luaXQgaW5saW5lIGludCBzcmF0X2Rpc2FibGVkKHZvaWQpCit7CisJcmV0dXJuIG51bWFfb2ZmIHx8IGFjcGlfbnVtYSA8IDA7Cit9CisKKy8qIElkZW50aWZ5IENQVSBwcm94aW1pdHkgZG9tYWlucyAqLwordm9pZCBfX2luaXQKK2FjcGlfbnVtYV9wcm9jZXNzb3JfYWZmaW5pdHlfaW5pdChzdHJ1Y3QgYWNwaV9zcmF0X2NwdV9hZmZpbml0eSAqY3B1X2FmZmluaXR5KQoreworCWlmIChzcmF0X2Rpc2FibGVkKCkpCisJCXJldHVybjsKKwlpZiAoY3B1X2FmZmluaXR5LT5oZWFkZXIubGVuZ3RoICE9CisJICAgICBzaXplb2Yoc3RydWN0IGFjcGlfc3JhdF9jcHVfYWZmaW5pdHkpKSB7CisJCWJhZF9zcmF0KCk7CisJCXJldHVybjsKKwl9CisKKwlpZiAoKGNwdV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfQ1BVX0VOQUJMRUQpID09IDApCisJCXJldHVybjsJCS8qIGVtcHR5IGVudHJ5ICovCisKKwkvKiBtYXJrIHRoaXMgbm9kZSBhcyAic2VlbiIgaW4gbm9kZSBiaXRtYXAgKi8KKwlCTUFQX1NFVChweG1fYml0bWFwLCBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG8pOworCisJYXBpY2lkX3RvX3B4bVtjcHVfYWZmaW5pdHktPmFwaWNfaWRdID0gY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvOworCisJcHJpbnRrKEtFUk5fREVCVUcgIkNQVSAlMDJ4IGluIHByb3hpbWl0eSBkb21haW4gJTAyeFxuIiwKKwkJY3B1X2FmZmluaXR5LT5hcGljX2lkLCBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG8pOworfQorCisvKgorICogSWRlbnRpZnkgbWVtb3J5IHByb3hpbWl0eSBkb21haW5zIGFuZCBob3QtcmVtb3ZlIGNhcGFiaWxpdGllcy4KKyAqIEZpbGwgbm9kZSBtZW1vcnkgY2h1bmsgbGlzdCBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgX19pbml0CithY3BpX251bWFfbWVtb3J5X2FmZmluaXR5X2luaXQoc3RydWN0IGFjcGlfc3JhdF9tZW1fYWZmaW5pdHkgKm1lbW9yeV9hZmZpbml0eSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgcGFkZHIsIHNpemU7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIGVuZF9wZm47CisJdTggcHhtOworCXN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zICpwLCAqcSwgKnBlbmQ7CisKKwlpZiAoc3JhdF9kaXNhYmxlZCgpKQorCQlyZXR1cm47CisJaWYgKG1lbW9yeV9hZmZpbml0eS0+aGVhZGVyLmxlbmd0aCAhPQorCSAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5KSkgeworCQliYWRfc3JhdCgpOworCQlyZXR1cm47CisJfQorCisJaWYgKChtZW1vcnlfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX01FTV9FTkFCTEVEKSA9PSAwKQorCQlyZXR1cm47CQkvKiBlbXB0eSBlbnRyeSAqLworCisJcHhtID0gbWVtb3J5X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluICYgMHhmZjsKKworCS8qIG1hcmsgdGhpcyBub2RlIGFzICJzZWVuIiBpbiBub2RlIGJpdG1hcCAqLworCUJNQVBfU0VUKHB4bV9iaXRtYXAsIHB4bSk7CisKKwkvKiBjYWxjdWxhdGUgaW5mbyBmb3IgbWVtb3J5IGNodW5rIHN0cnVjdHVyZSAqLworCXBhZGRyID0gbWVtb3J5X2FmZmluaXR5LT5iYXNlX2FkZHJlc3M7CisJc2l6ZSA9IG1lbW9yeV9hZmZpbml0eS0+bGVuZ3RoOworCisJc3RhcnRfcGZuID0gcGFkZHIgPj4gUEFHRV9TSElGVDsKKwllbmRfcGZuID0gKHBhZGRyICsgc2l6ZSkgPj4gUEFHRV9TSElGVDsKKworCisJaWYgKG51bV9tZW1vcnlfY2h1bmtzID49IE1BWENIVU5LUykgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJUb28gbWFueSBtZW0gY2h1bmtzIGluIFNSQVQuIgorCQkJIiBJZ25vcmluZyAlbGxkIE1CeXRlcyBhdCAlbGx4XG4iLAorCQkJc2l6ZS8oMTAyNCoxMDI0KSwgcGFkZHIpOworCQlyZXR1cm47CisJfQorCisJLyogSW5zZXJ0aW9uIHNvcnQgYmFzZWQgb24gYmFzZSBhZGRyZXNzICovCisJcGVuZCA9ICZub2RlX21lbW9yeV9jaHVua1tudW1fbWVtb3J5X2NodW5rc107CisJZm9yIChwID0gJm5vZGVfbWVtb3J5X2NodW5rWzBdOyBwIDwgcGVuZDsgcCsrKSB7CisJCWlmIChzdGFydF9wZm4gPCBwLT5zdGFydF9wZm4pCisJCQlicmVhazsKKwl9CisJaWYgKHAgPCBwZW5kKSB7CisJCWZvciAocSA9IHBlbmQ7IHEgPj0gcDsgcS0tKQorCQkJKihxICsgMSkgPSAqcTsKKwl9CisJcC0+c3RhcnRfcGZuID0gc3RhcnRfcGZuOworCXAtPmVuZF9wZm4gPSBlbmRfcGZuOworCXAtPnB4bSA9IHB4bTsKKworCW51bV9tZW1vcnlfY2h1bmtzKys7CisKKwlwcmludGsoS0VSTl9ERUJVRyAiTWVtb3J5IHJhbmdlICUwOGx4IHRvICUwOGx4ICh0eXBlICV4KSIKKwkJCSAgIiBpbiBwcm94aW1pdHkgZG9tYWluICUwMnggJXNcbiIsCisJCXN0YXJ0X3BmbiwgZW5kX3BmbiwKKwkJbWVtb3J5X2FmZmluaXR5LT5tZW1vcnlfdHlwZSwKKwkJcHhtLAorCQkoKG1lbW9yeV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfTUVNX0hPVF9QTFVHR0FCTEUpID8KKwkJICJlbmFibGVkIGFuZCByZW1vdmFibGUiIDogImVuYWJsZWQiICkgKTsKK30KKworLyogQ2FsbGJhY2sgZm9yIFNMSVQgcGFyc2luZyAqLwordm9pZCBfX2luaXQgYWNwaV9udW1hX3NsaXRfaW5pdChzdHJ1Y3QgYWNwaV90YWJsZV9zbGl0ICpzbGl0KQoreworfQorCit2b2lkIGFjcGlfbnVtYV9hcmNoX2ZpeHVwKHZvaWQpCit7Cit9CisvKgorICogVGhlIFNSQVQgdGFibGUgYWx3YXlzIGxpc3RzIGFzY2VuZGluZyBhZGRyZXNzZXMsIHNvIGNhbiBhbHdheXMKKyAqIGFzc3VtZSB0aGF0IHRoZSBmaXJzdCAic3RhcnQiIGFkZHJlc3MgdGhhdCB5b3Ugc2VlIGlzIHRoZSByZWFsCisgKiBzdGFydCBvZiB0aGUgbm9kZSwgYW5kIHRoYXQgdGhlIGN1cnJlbnQgImVuZCIgYWRkcmVzcyBpcyBhZnRlcgorICogdGhlIHByZXZpb3VzIG9uZS4KKyAqLworc3RhdGljIF9faW5pdCB2b2lkIG5vZGVfcmVhZF9jaHVuayhpbnQgbmlkLCBzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyAqbWVtb3J5X2NodW5rKQoreworCS8qCisJICogT25seSBhZGQgcHJlc2VudCBtZW1vcnkgYXMgdG9sZCBieSB0aGUgZTgyMC4KKwkgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgZnJvbSB0aGUgU1JBVCB0aGF0IHRoZSBtZW1vcnkgaXQKKwkgKiBlbnVtZXJhdGVzIGlzIHByZXNlbnQgYXQgYm9vdCB0aW1lIGJlY2F1c2UgaXQgcmVwcmVzZW50cworCSAqICpwb3NzaWJsZSogbWVtb3J5IGhvdHBsdWcgYXJlYXMgdGhlIHNhbWUgYXMgbm9ybWFsIFJBTS4KKwkgKi8KKwlpZiAobWVtb3J5X2NodW5rLT5zdGFydF9wZm4gPj0gbWF4X3BmbikgeworCQlwcmludGsoS0VSTl9JTkZPICJJZ25vcmluZyBTUkFUIHBmbnM6ICUwOGx4IC0gJTA4bHhcbiIsCisJCQltZW1vcnlfY2h1bmstPnN0YXJ0X3BmbiwgbWVtb3J5X2NodW5rLT5lbmRfcGZuKTsKKwkJcmV0dXJuOworCX0KKwlpZiAobWVtb3J5X2NodW5rLT5uaWQgIT0gbmlkKQorCQlyZXR1cm47CisKKwlpZiAoIW5vZGVfaGFzX29ubGluZV9tZW0obmlkKSkKKwkJbm9kZV9zdGFydF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuOworCisJaWYgKG5vZGVfc3RhcnRfcGZuW25pZF0gPiBtZW1vcnlfY2h1bmstPnN0YXJ0X3BmbikKKwkJbm9kZV9zdGFydF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuOworCisJaWYgKG5vZGVfZW5kX3BmbltuaWRdIDwgbWVtb3J5X2NodW5rLT5lbmRfcGZuKQorCQlub2RlX2VuZF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+ZW5kX3BmbjsKK30KKworaW50IF9faW5pdCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKQoreworCWludCBpLCBqLCBuaWQ7CisKKworCWlmIChzcmF0X2Rpc2FibGVkKCkpCisJCWdvdG8gb3V0X2ZhaWw7CisKKwlpZiAobnVtX21lbW9yeV9jaHVua3MgPT0gMCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkgImNvdWxkIG5vdCBmaW55IGFueSBBQ1BJIFNSQVQgbWVtb3J5IGFyZWFzLlxuIik7CisJCWdvdG8gb3V0X2ZhaWw7CisJfQorCisJLyogQ2FsY3VsYXRlIHRvdGFsIG51bWJlciBvZiBub2RlcyBpbiBzeXN0ZW0gZnJvbSBQWE0gYml0bWFwIGFuZCBjcmVhdGUKKwkgKiBhIHNldCBvZiBzZXF1ZW50aWFsIG5vZGUgSURzIHN0YXJ0aW5nIGF0IHplcm8uICAoQUNQSSBkb2Vzbid0IHNlZW0KKwkgKiB0byBzcGVjaWZ5IHRoZSByYW5nZSBvZiBfUFhNIHZhbHVlcy4pCisJICovCisJLyoKKwkgKiBNQ0QgLSB3ZSBubyBsb25nZXIgSEFWRSB0byBudW1iZXIgbm9kZXMgc2VxdWVudGlhbGx5LiAgUFhNIGRvbWFpbgorCSAqIG51bWJlcnMgY291bGQgZ28gYXMgaGlnaCBhcyAyNTYsIGFuZCBNQVhfTlVNTk9ERVMgZm9yIGkzODYgaXMgdHlwaWNhbGx5CisJICogMzIsIHNvIHdlIHdpbGwgY29udGludWUgbnVtYmVyaW5nIHRoZW0gaW4gdGhpcyBtYW5uZXIgdW50aWwgTUFYX05VTU5PREVTCisJICogYXBwcm9hY2hlcyBNQVhfUFhNX0RPTUFJTlMgZm9yIGkzODYuCisJICovCisJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX1BYTV9ET01BSU5TOyBpKyspIHsKKwkJaWYgKEJNQVBfVEVTVChweG1fYml0bWFwLCBpKSkgeworCQkJaW50IG5pZCA9IGFjcGlfbWFwX3B4bV90b19ub2RlKGkpOworCQkJbm9kZV9zZXRfb25saW5lKG5pZCk7CisJCX0KKwl9CisJQlVHX09OKG51bV9vbmxpbmVfbm9kZXMoKSA9PSAwKTsKKworCS8qIHNldCBjbm9kZSBpZCBpbiBtZW1vcnkgY2h1bmsgc3RydWN0dXJlICovCisJZm9yIChpID0gMDsgaSA8IG51bV9tZW1vcnlfY2h1bmtzOyBpKyspCisJCW5vZGVfbWVtb3J5X2NodW5rW2ldLm5pZCA9IHB4bV90b19ub2RlKG5vZGVfbWVtb3J5X2NodW5rW2ldLnB4bSk7CisKKwlwcmludGsoS0VSTl9ERUJVRyAicHhtIGJpdG1hcDogIik7CisJZm9yIChpID0gMDsgaSA8IHNpemVvZihweG1fYml0bWFwKTsgaSsrKSB7CisJCXByaW50ayhLRVJOX0NPTlQgIiUwMnggIiwgcHhtX2JpdG1hcFtpXSk7CisJfQorCXByaW50ayhLRVJOX0NPTlQgIlxuIik7CisJcHJpbnRrKEtFUk5fREVCVUcgIk51bWJlciBvZiBsb2dpY2FsIG5vZGVzIGluIHN5c3RlbSA9ICVkXG4iLAorCQkJIG51bV9vbmxpbmVfbm9kZXMoKSk7CisJcHJpbnRrKEtFUk5fREVCVUcgIk51bWJlciBvZiBtZW1vcnkgY2h1bmtzIGluIHN5c3RlbSA9ICVkXG4iLAorCQkJIG51bV9tZW1vcnlfY2h1bmtzKTsKKworCWZvciAoaSA9IDA7IGkgPCBNQVhfQVBJQ0lEOyBpKyspCisJCWFwaWNpZF8yX25vZGVbaV0gPSBweG1fdG9fbm9kZShhcGljaWRfdG9fcHhtW2ldKTsKKworCWZvciAoaiA9IDA7IGogPCBudW1fbWVtb3J5X2NodW5rczsgaisrKXsKKwkJc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKiBjaHVuayA9ICZub2RlX21lbW9yeV9jaHVua1tqXTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCSJjaHVuayAlZCBuaWQgJWQgc3RhcnRfcGZuICUwOGx4IGVuZF9wZm4gJTA4bHhcbiIsCisJCSAgICAgICBqLCBjaHVuay0+bmlkLCBjaHVuay0+c3RhcnRfcGZuLCBjaHVuay0+ZW5kX3Bmbik7CisJCW5vZGVfcmVhZF9jaHVuayhjaHVuay0+bmlkLCBjaHVuayk7CisJCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoY2h1bmstPm5pZCwgY2h1bmstPnN0YXJ0X3BmbiwKKwkJCQkJICAgICBtaW4oY2h1bmstPmVuZF9wZm4sIG1heF9wZm4pKTsKKwl9CisKKwlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKKwkJdW5zaWduZWQgbG9uZyBzdGFydCA9IG5vZGVfc3RhcnRfcGZuW25pZF07CisJCXVuc2lnbmVkIGxvbmcgZW5kID0gbWluKG5vZGVfZW5kX3BmbltuaWRdLCBtYXhfcGZuKTsKKworCQltZW1vcnlfcHJlc2VudChuaWQsIHN0YXJ0LCBlbmQpOworCQlub2RlX3JlbWFwX3NpemVbbmlkXSA9IG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMobmlkLCBzdGFydCwgZW5kKTsKKwl9CisJcmV0dXJuIDE7CitvdXRfZmFpbDoKKwlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBnZXQgTlVNQSBtZW1vcnkgaW5mb3JtYXRpb24gZnJvbSBTUkFUIgorCQkJIiB0YWJsZVxuIik7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9zcmF0XzY0LmMgYi9hcmNoL3g4Ni9tbS9zcmF0XzY0LmMKaW5kZXggOTk2NDlkYy4uMWI0NzYzZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vc3JhdF82NC5jCisrKyBiL2FyY2gveDg2L21tL3NyYXRfNjQuYwpAQCAtMTAwLDcgKzEwMCwxOSBAQAogLyogQ2FsbGJhY2sgZm9yIFNMSVQgcGFyc2luZyAqLwogdm9pZCBfX2luaXQgYWNwaV9udW1hX3NsaXRfaW5pdChzdHJ1Y3QgYWNwaV90YWJsZV9zbGl0ICpzbGl0KQogewotCWFjcGlfc2xpdCA9IHNsaXQ7CisJdW5zaWduZWQgbGVuZ3RoOworCXVuc2lnbmVkIGxvbmcgcGh5czsKKworCWxlbmd0aCA9IHNsaXQtPmhlYWRlci5sZW5ndGg7CisJcGh5cyA9IGZpbmRfZTgyMF9hcmVhKDAsIG1heF9wZm5fbWFwcGVkPDxQQUdFX1NISUZULCBsZW5ndGgsCisJCSBQQUdFX1NJWkUpOworCisJaWYgKHBoeXMgPT0gLTFMKQorCQlwYW5pYygiIENhbiBub3Qgc2F2ZSBzbGl0IVxuIik7CisKKwlhY3BpX3NsaXQgPSBfX3ZhKHBoeXMpOworCW1lbWNweShhY3BpX3NsaXQsIHNsaXQsIGxlbmd0aCk7CisJcmVzZXJ2ZV9lYXJseShwaHlzLCBwaHlzICsgbGVuZ3RoLCAiQUNQSSBTTElUIik7CiB9CiAKIC8qIENhbGxiYWNrIGZvciBQcm94aW1pdHkgRG9tYWluIC0+IExBUElDIG1hcHBpbmcgKi8KQEAgLTI5OSw3ICszMTEsNyBAQAogCQkJcHhtcmFtID0gMDsKIAl9CiAKLQllODIwcmFtID0gZW5kX3BmbiAtIGFic2VudF9wYWdlc19pbl9yYW5nZSgwLCBlbmRfcGZuKTsKKwllODIwcmFtID0gbWF4X3BmbiAtIGFic2VudF9wYWdlc19pbl9yYW5nZSgwLCBtYXhfcGZuKTsKIAkvKiBXZSBzZWVtIHRvIGxvc2UgMyBwYWdlcyBzb21ld2hlcmUuIEFsbG93IGEgYml0IG9mIHNsYWNrLiAqLwogCWlmICgobG9uZykoZTgyMHJhbSAtIHB4bXJhbSkgPj0gMSoxMDI0KjEwMjQpIHsKIAkJcHJpbnRrKEtFUk5fRVJSCkBAIC0zNzYsNyArMzg4LDcgQEAKIAkJaWYgKG5vZGUgPT0gTlVNQV9OT19OT0RFKQogCQkJY29udGludWU7CiAJCWlmICghbm9kZV9pc3NldChub2RlLCBub2RlX3Bvc3NpYmxlX21hcCkpCi0JCQludW1hX3NldF9ub2RlKGksIE5VTUFfTk9fTk9ERSk7CisJCQludW1hX2NsZWFyX25vZGUoaSk7CiAJfQogCW51bWFfaW5pdF9hcnJheSgpOwogCXJldHVybiAwOwpAQCAtNDk1LDYgKzUwNyw3IEBACiAKIEVYUE9SVF9TWU1CT0woX19ub2RlX2Rpc3RhbmNlKTsKIAorI2lmIGRlZmluZWQoQ09ORklHX01FTU9SWV9IT1RQTFVHX1NQQVJTRSkgfHwgZGVmaW5lZChDT05GSUdfQUNQSV9IT1RQTFVHX01FTU9SWSkKIGludCBtZW1vcnlfYWRkX3BoeXNhZGRyX3RvX25pZCh1NjQgc3RhcnQpCiB7CiAJaW50IGksIHJldCA9IDA7CkBAIC01MDYsNCArNTE5LDQgQEAKIAlyZXR1cm4gcmV0OwogfQogRVhQT1JUX1NZTUJPTF9HUEwobWVtb3J5X2FkZF9waHlzYWRkcl90b19uaWQpOwotCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3Rlc3RtbWlvdHJhY2UuYyBiL2FyY2gveDg2L21tL3Rlc3RtbWlvdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODc3YzViCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vdGVzdG1taW90cmFjZS5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBXcml0dGVuIGJ5IFBla2thIFBhYWxhbmVuLCAyMDA4IDxwcUBpa2kuZmk+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjZGVmaW5lIE1PRFVMRV9OQU1FICJ0ZXN0bW1pb3RyYWNlIgorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBtbWlvX2FkZHJlc3M7Cittb2R1bGVfcGFyYW0obW1pb19hZGRyZXNzLCB1bG9uZywgMCk7CitNT0RVTEVfUEFSTV9ERVNDKG1taW9fYWRkcmVzcywgIlN0YXJ0IGFkZHJlc3Mgb2YgdGhlIG1hcHBpbmcgb2YgMTYga0IuIik7CisKK3N0YXRpYyB2b2lkIGRvX3dyaXRlX3Rlc3Qodm9pZCBfX2lvbWVtICpwKQoreworCXVuc2lnbmVkIGludCBpOworCWZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKKwkJaW93cml0ZTgoaSwgcCArIGkpOworCWZvciAoaSA9IDEwMjQ7IGkgPCAoNSAqIDEwMjQpOyBpICs9IDIpCisJCWlvd3JpdGUxNihpICogMTIgKyA3LCBwICsgaSk7CisJZm9yIChpID0gKDUgKiAxMDI0KTsgaSA8ICgxNiAqIDEwMjQpOyBpICs9IDQpCisJCWlvd3JpdGUzMihpICogMjEyMzcxICsgMTMsIHAgKyBpKTsKK30KKworc3RhdGljIHZvaWQgZG9fcmVhZF90ZXN0KHZvaWQgX19pb21lbSAqcCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKwlmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCisJCWlvcmVhZDgocCArIGkpOworCWZvciAoaSA9IDEwMjQ7IGkgPCAoNSAqIDEwMjQpOyBpICs9IDIpCisJCWlvcmVhZDE2KHAgKyBpKTsKKwlmb3IgKGkgPSAoNSAqIDEwMjQpOyBpIDwgKDE2ICogMTAyNCk7IGkgKz0gNCkKKwkJaW9yZWFkMzIocCArIGkpOworfQorCitzdGF0aWMgdm9pZCBkb190ZXN0KHZvaWQpCit7CisJdm9pZCBfX2lvbWVtICpwID0gaW9yZW1hcF9ub2NhY2hlKG1taW9fYWRkcmVzcywgMHg0MDAwKTsKKwlpZiAoIXApIHsKKwkJcHJfZXJyKE1PRFVMRV9OQU1FICI6IGNvdWxkIG5vdCBpb3JlbWFwLCBhYm9ydGluZy5cbiIpOworCQlyZXR1cm47CisJfQorCWRvX3dyaXRlX3Rlc3QocCk7CisJZG9fcmVhZF90ZXN0KHApOworCWlvdW5tYXAocCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXQodm9pZCkKK3sKKwlpZiAobW1pb19hZGRyZXNzID09IDApIHsKKwkJcHJfZXJyKE1PRFVMRV9OQU1FICI6IHlvdSBoYXZlIHRvIHVzZSB0aGUgbW9kdWxlIGFyZ3VtZW50ICIKKwkJCQkJCQkibW1pb19hZGRyZXNzLlxuIik7CisJCXByX2VycihNT0RVTEVfTkFNRSAiOiBETyBOT1QgTE9BRCBUSElTIE1PRFVMRSBVTkxFU1MiCisJCQkJIiBZT1UgUkVBTExZIEtOT1cgV0hBVCBZT1UgQVJFIERPSU5HIVxuIik7CisJCXJldHVybiAtRU5YSU87CisJfQorCisJcHJfd2FybmluZyhNT0RVTEVfTkFNRSAiOiBXQVJOSU5HOiBtYXBwaW5nIDE2IGtCIEAgMHglMDhseCAiCisJCQkJCSJpbiBQQ0kgYWRkcmVzcyBzcGFjZSwgYW5kIHdyaXRpbmcgIgorCQkJCQkicnViYmlzaCBpbiB0aGVyZS5cbiIsIG1taW9fYWRkcmVzcyk7CisJZG9fdGVzdCgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgY2xlYW51cCh2b2lkKQoreworCXByX2RlYnVnKE1PRFVMRV9OQU1FICI6IHVubG9hZGVkLlxuIik7Cit9CisKK21vZHVsZV9pbml0KGluaXQpOworbW9kdWxlX2V4aXQoY2xlYW51cCk7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9vcHJvZmlsZS9ubWlfaW50LmMgYi9hcmNoL3g4Ni9vcHJvZmlsZS9ubWlfaW50LmMKaW5kZXggY2M0OGQzZi4uN2YzMzI5YiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvb3Byb2ZpbGUvbm1pX2ludC5jCisrKyBiL2FyY2gveDg2L29wcm9maWxlL25taV9pbnQuYwpAQCAtMjE4LDggKzIxOCw4IEBACiAJCX0KIAogCX0KLQlvbl9lYWNoX2NwdShubWlfc2F2ZV9yZWdpc3RlcnMsIE5VTEwsIDAsIDEpOwotCW9uX2VhY2hfY3B1KG5taV9jcHVfc2V0dXAsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KG5taV9zYXZlX3JlZ2lzdGVycywgTlVMTCwgMSk7CisJb25fZWFjaF9jcHUobm1pX2NwdV9zZXR1cCwgTlVMTCwgMSk7CiAJbm1pX2VuYWJsZWQgPSAxOwogCXJldHVybiAwOwogfQpAQCAtMjY5LDEyICsyNjksMTMgQEAKIAogc3RhdGljIHZvaWQgbm1pX3NodXRkb3duKHZvaWQpCiB7Ci0Jc3RydWN0IG9wX21zcnMgKm1zcnMgPSAmX19nZXRfY3B1X3ZhcihjcHVfbXNycyk7CisJc3RydWN0IG9wX21zcnMgKm1zcnMgPSAmZ2V0X2NwdV92YXIoY3B1X21zcnMpOwogCW5taV9lbmFibGVkID0gMDsKLQlvbl9lYWNoX2NwdShubWlfY3B1X3NodXRkb3duLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShubWlfY3B1X3NodXRkb3duLCBOVUxMLCAxKTsKIAl1bnJlZ2lzdGVyX2RpZV9ub3RpZmllcigmcHJvZmlsZV9leGNlcHRpb25zX25iKTsKIAltb2RlbC0+c2h1dGRvd24obXNycyk7CiAJZnJlZV9tc3JzKCk7CisJcHV0X2NwdV92YXIoY3B1X21zcnMpOwogfQogCiBzdGF0aWMgdm9pZCBubWlfY3B1X3N0YXJ0KHZvaWQgKmR1bW15KQpAQCAtMjg1LDcgKzI4Niw3IEBACiAKIHN0YXRpYyBpbnQgbm1pX3N0YXJ0KHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUobm1pX2NwdV9zdGFydCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobm1pX2NwdV9zdGFydCwgTlVMTCwgMSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTI5Nyw3ICsyOTgsNyBAQAogCiBzdGF0aWMgdm9pZCBubWlfc3RvcCh2b2lkKQogewotCW9uX2VhY2hfY3B1KG5taV9jcHVfc3RvcCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobm1pX2NwdV9zdG9wLCBOVUxMLCAxKTsKIH0KIAogc3RydWN0IG9wX2NvdW50ZXJfY29uZmlnIGNvdW50ZXJfY29uZmlnW09QX01BWF9DT1VOVEVSXTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9NYWtlZmlsZSBiL2FyY2gveDg2L3BjaS9NYWtlZmlsZQppbmRleCBjNWM4ZTQ4Li5lNTE1ZThkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvcGNpL01ha2VmaWxlCkBAIC0xLDUgKzEsMTcgQEAKLWlmZXEgKCQoQ09ORklHX1g4Nl8zMikseSkKLWluY2x1ZGUgJHtzcmN0cmVlfS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfMzIKLWVsc2UKLWluY2x1ZGUgJHtzcmN0cmVlfS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfNjQKLWVuZGlmCitvYmoteQkJCQk6PSBpMzg2Lm8gaW5pdC5vCisKK29iai0kKENPTkZJR19QQ0lfQklPUykJCSs9IHBjYmlvcy5vCitvYmotJChDT05GSUdfUENJX01NQ09ORklHKQkrPSBtbWNvbmZpZ18kKEJJVFMpLm8gZGlyZWN0Lm8gbW1jb25maWctc2hhcmVkLm8KK29iai0kKENPTkZJR19QQ0lfRElSRUNUKQkrPSBkaXJlY3Qubworb2JqLSQoQ09ORklHX1BDSV9PTFBDKQkJKz0gb2xwYy5vCisKK3BjaS15CQkJCTo9IGZpeHVwLm8KK3BjaS0kKENPTkZJR19BQ1BJKQkJKz0gYWNwaS5vCitwY2kteQkJCQkrPSBsZWdhY3kubyBpcnEubworCitwY2ktJChDT05GSUdfWDg2X1ZJU1dTKQkJKz0gdmlzd3MubworCitwY2ktJChDT05GSUdfWDg2X05VTUFRKQkJKz0gbnVtYS5vCisKK29iai15CQkJCSs9ICQocGNpLXkpIGNvbW1vbi5vIGVhcmx5Lm8KK29iai15CQkJCSs9IGFtZF9idXMubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL01ha2VmaWxlXzMyIGIvYXJjaC94ODYvcGNpL01ha2VmaWxlXzMyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWVjMzVkLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L3BjaS9NYWtlZmlsZV8zMgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLW9iai15CQkJCTo9IGkzODYubyBpbml0Lm8KLQotb2JqLSQoQ09ORklHX1BDSV9CSU9TKQkJKz0gcGNiaW9zLm8KLW9iai0kKENPTkZJR19QQ0lfTU1DT05GSUcpCSs9IG1tY29uZmlnXzMyLm8gZGlyZWN0Lm8gbW1jb25maWctc2hhcmVkLm8KLW9iai0kKENPTkZJR19QQ0lfRElSRUNUKQkrPSBkaXJlY3Qubwotb2JqLSQoQ09ORklHX1BDSV9PTFBDKQkJKz0gb2xwYy5vCi0KLXBjaS15CQkJCTo9IGZpeHVwLm8KLQotIyBEbyBub3QgY2hhbmdlIHRoZSBvcmRlcmluZyBoZXJlLiBUaGVyZSBpcyBhIG5hc3R5IGluaXQgZnVuY3Rpb24KLSMgb3JkZXJpbmcgZGVwZW5kZW5jeSB3aGljaCBicmVha3Mgd2hlbiB5b3UgbW92ZSBhY3BpLm8gYmVsb3cKLSMgbGVnYWN5L2lycS5vCi1wY2ktJChDT05GSUdfQUNQSSkJCSs9IGFjcGkubwotcGNpLXkJCQkJKz0gbGVnYWN5Lm8gaXJxLm8KLQotIyBDYXJlZnVsOiBWSVNXUyBhbmQgTlVNQVEgb3ZlcnJ1bGUgdGhlIHBjaS15IGFib3ZlLiBUaGUgY29sb25zIGFyZQotIyB0aGVyZWZvciBjb3JyZWN0LiBUaGlzIG5lZWRzIGEgcHJvcGVyIGZpeCBieSBkaXN0YW5nbGluZyB0aGUgY29kZS4KLXBjaS0kKENPTkZJR19YODZfVklTV1MpCQk6PSB2aXN3cy5vIGZpeHVwLm8KLXBjaS0kKENPTkZJR19YODZfTlVNQVEpCQk6PSBudW1hLm8gaXJxLm8KLQotIyBOZWNlc3NhcnkgZm9yIE5VTUFRIGFzIHdlbGwKLXBjaS0kKENPTkZJR19OVU1BKQkJKz0gbXBfYnVzX3RvX25vZGUubwotCi1vYmoteQkJCQkrPSAkKHBjaS15KSBjb21tb24ubyBlYXJseS5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfNjQgYi9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfNjQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmYmQxOTguLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvcGNpL01ha2VmaWxlXzY0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotIwotIyBNYWtlZmlsZSBmb3IgWDg2XzY0IHNwZWNpZmljIFBDSSByb3V0aW5lcwotIwotIyBSZXVzZSB0aGUgaTM4NiBQQ0kgc3Vic3lzdGVtCi0jCi1FWFRSQV9DRkxBR1MgKz0gLUlhcmNoL3g4Ni9wY2kKLQotb2JqLXkJCTo9IGkzODYubwotb2JqLSQoQ09ORklHX1BDSV9ESVJFQ1QpKz0gZGlyZWN0Lm8KLW9iai15CQkrPSBmaXh1cC5vIGluaXQubwotb2JqLSQoQ09ORklHX0FDUEkpCSs9IGFjcGkubwotb2JqLXkJCQkrPSBsZWdhY3kubyBpcnEubyBjb21tb24ubyBlYXJseS5vCi0jIG1tY29uZmlnIGhhcyBhIDY0Yml0IHNwZWNpYWwKLW9iai0kKENPTkZJR19QQ0lfTU1DT05GSUcpICs9IG1tY29uZmlnXzY0Lm8gZGlyZWN0Lm8gbW1jb25maWctc2hhcmVkLm8KLQotb2JqLXkJCSs9IGs4LWJ1c182NC5vCi0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9hY3BpLmMgYi9hcmNoL3g4Ni9wY2kvYWNwaS5jCmluZGV4IGQ5NWRlMmYuLjE5YWYwNjkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9hY3BpLmMKKysrIGIvYXJjaC94ODYvcGNpL2FjcGkuYwpAQCAtMTcxLDggKzE3MSwxMSBAQAogCWlmIChub2RlICE9IC0xKQogCQlzZXRfbXBfYnVzX3RvX25vZGUoYnVzbnVtLCBub2RlKTsKIAllbHNlCi0JCW5vZGUgPSBnZXRfbXBfYnVzX3RvX25vZGUoYnVzbnVtKTsKICNlbmRpZgorCQlub2RlID0gZ2V0X21wX2J1c190b19ub2RlKGJ1c251bSk7CisKKwlpZiAobm9kZSAhPSAtMSAmJiAhbm9kZV9vbmxpbmUobm9kZSkpCisJCW5vZGUgPSAtMTsKIAogCS8qIEFsbG9jYXRlIHBlci1yb290LWJ1cyAobm90IHBlciBidXMpIGFyY2gtc3BlY2lmaWMgZGF0YS4KIAkgKiBUT0RPOiBsZWFrOyB0aGlzIG1lbW9yeSBpcyBuZXZlciBmcmVlZC4KQEAgLTIwNCwyMiArMjA3LDIzIEBACiAJaWYgKCFidXMpCiAJCWtmcmVlKHNkKTsKIAorCWlmIChidXMgJiYgbm9kZSAhPSAtMSkgewogI2lmZGVmIENPTkZJR19BQ1BJX05VTUEKLQlpZiAoYnVzKSB7Ci0JCWlmIChweG0gPj0gMCkgeworCQlpZiAocHhtID49IDApCiAJCQlwcmludGsoS0VSTl9ERUJVRyAiYnVzICUwMnggLT4gcHhtICVkIC0+IG5vZGUgJWRcbiIsCi0JCQkJYnVzbnVtLCBweG0sIHB4bV90b19ub2RlKHB4bSkpOwotCQl9Ci0JfQorCQkJCWJ1c251bSwgcHhtLCBub2RlKTsKKyNlbHNlCisJCXByaW50ayhLRVJOX0RFQlVHICJidXMgJTAyeCAtPiBub2RlICVkXG4iLAorCQkJYnVzbnVtLCBub2RlKTsKICNlbmRpZgorCX0KIAogCWlmIChidXMgJiYgKHBjaV9wcm9iZSAmIFBDSV9VU0VfX0NSUykpCiAJCWdldF9jdXJyZW50X3Jlc291cmNlcyhkZXZpY2UsIGJ1c251bSwgZG9tYWluLCBidXMpOwogCXJldHVybiBidXM7CiB9CiAKLWV4dGVybiBpbnQgcGNpX3JvdXRlaXJxOwotc3RhdGljIGludCBfX2luaXQgcGNpX2FjcGlfaW5pdCh2b2lkKQoraW50IF9faW5pdCBwY2lfYWNwaV9pbml0KHZvaWQpCiB7CiAJc3RydWN0IHBjaV9kZXYgKmRldiA9IE5VTEw7CiAKQEAgLTI1Myw0ICsyNTcsMyBAQAogCiAJcmV0dXJuIDA7CiB9Ci1zdWJzeXNfaW5pdGNhbGwocGNpX2FjcGlfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvazgtYnVzXzY0LmMgYi9hcmNoL3g4Ni9wY2kvYW1kX2J1cy5jCnNpbWlsYXJpdHkgaW5kZXggOTElCnJlbmFtZSBmcm9tIGFyY2gveDg2L3BjaS9rOC1idXNfNjQuYwpyZW5hbWUgdG8gYXJjaC94ODYvcGNpL2FtZF9idXMuYwppbmRleCA1YzI3OTljLi5kYmY1MzIzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvazgtYnVzXzY0LmMKKysrIGIvYXJjaC94ODYvcGNpL2FtZF9idXMuYwpAQCAtMSw0MCArMSwyNSBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC90b3BvbG9neS5oPgorI2luY2x1ZGUgInBjaS5oIgorCisjaWZkZWYgQ09ORklHX1g4Nl82NAogI2luY2x1ZGUgPGFzbS9wY2ktZGlyZWN0Lmg+CiAjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KLSNpbmNsdWRlIDxsaW51eC90b3BvbG9neS5oPgorI2VuZGlmCiAKIC8qCiAgKiBUaGlzIGRpc2NvdmVycyB0aGUgcGNpYnVzIDwtPiBub2RlIG1hcHBpbmcgb24gQU1EIEs4LgogICogYWxzbyBnZXQgcGVlciByb290IGJ1cyByZXNvdXJjZSBmb3IgaW8sbW1pbwogICovCiAKLQotLyoKLSAqIHN1YiBidXMgKHRyYW5zcGFyZW50KSB3aWxsIHVzZSBlbnRyZXMgZnJvbSAzIHRvIHN0b3JlIGV4dHJhIGZyb20gcm9vdCwKLSAqIHNvIG5lZWQgdG8gbWFrZSBzdXJlIGhhdmUgZW5vdWdodCBzbG90IHRoZXJlLCBpbmNyZWFzZSBQQ0lfQlVTX05VTV9SRVNPVVJDRVM/Ci0gKi8KLSNkZWZpbmUgUkVTX05VTSAxNgotc3RydWN0IHBjaV9yb290X2luZm8gewotCWNoYXIgbmFtZVsxMl07Ci0JdW5zaWduZWQgaW50IHJlc19udW07Ci0Jc3RydWN0IHJlc291cmNlIHJlc1tSRVNfTlVNXTsKLQlpbnQgYnVzX21pbjsKLQlpbnQgYnVzX21heDsKLQlpbnQgbm9kZTsKLQlpbnQgbGluazsKLX07Ci0KLS8qIDQgYXQgdGhpcyB0aW1lLCBpdCBtYXkgYmVjb21lIHRvIDMyICovCi0jZGVmaW5lIFBDSV9ST09UX05SIDQKLXN0YXRpYyBpbnQgcGNpX3Jvb3RfbnVtOwotc3RhdGljIHN0cnVjdCBwY2lfcm9vdF9pbmZvIHBjaV9yb290X2luZm9bUENJX1JPT1RfTlJdOwotCiAjaWZkZWYgQ09ORklHX05VTUEKIAogI2RlZmluZSBCVVNfTlIgMjU2CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisKIHN0YXRpYyBpbnQgbXBfYnVzX3RvX25vZGVbQlVTX05SXTsKIAogdm9pZCBzZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSwgaW50IG5vZGUpCkBAIC02MSw3ICs0Niw1MiBAQAogCiAJcmV0dXJuIG5vZGU7CiB9Ci0jZW5kaWYKKworI2Vsc2UgLyogQ09ORklHX1g4Nl8zMiAqLworCitzdGF0aWMgdW5zaWduZWQgY2hhciBtcF9idXNfdG9fbm9kZVtCVVNfTlJdOworCit2b2lkIHNldF9tcF9idXNfdG9fbm9kZShpbnQgYnVzbnVtLCBpbnQgbm9kZSkKK3sKKwlpZiAoYnVzbnVtID49IDAgJiYgIGJ1c251bSA8IEJVU19OUikKKwltcF9idXNfdG9fbm9kZVtidXNudW1dID0gKHVuc2lnbmVkIGNoYXIpIG5vZGU7Cit9CisKK2ludCBnZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSkKK3sKKwlpbnQgbm9kZTsKKworCWlmIChidXNudW0gPCAwIHx8IGJ1c251bSA+IChCVVNfTlIgLSAxKSkKKwkJcmV0dXJuIDA7CisJbm9kZSA9IG1wX2J1c190b19ub2RlW2J1c251bV07CisJcmV0dXJuIG5vZGU7Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfWDg2XzMyICovCisKKyNlbmRpZiAvKiBDT05GSUdfTlVNQSAqLworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCisvKgorICogc3ViIGJ1cyAodHJhbnNwYXJlbnQpIHdpbGwgdXNlIGVudHJlcyBmcm9tIDMgdG8gc3RvcmUgZXh0cmEgZnJvbSByb290LAorICogc28gbmVlZCB0byBtYWtlIHN1cmUgaGF2ZSBlbm91Z2h0IHNsb3QgdGhlcmUsIGluY3JlYXNlIFBDSV9CVVNfTlVNX1JFU09VUkNFUz8KKyAqLworI2RlZmluZSBSRVNfTlVNIDE2CitzdHJ1Y3QgcGNpX3Jvb3RfaW5mbyB7CisJY2hhciBuYW1lWzEyXTsKKwl1bnNpZ25lZCBpbnQgcmVzX251bTsKKwlzdHJ1Y3QgcmVzb3VyY2UgcmVzW1JFU19OVU1dOworCWludCBidXNfbWluOworCWludCBidXNfbWF4OworCWludCBub2RlOworCWludCBsaW5rOworfTsKKworLyogNCBhdCB0aGlzIHRpbWUsIGl0IG1heSBiZWNvbWUgdG8gMzIgKi8KKyNkZWZpbmUgUENJX1JPT1RfTlIgNAorc3RhdGljIGludCBwY2lfcm9vdF9udW07CitzdGF0aWMgc3RydWN0IHBjaV9yb290X2luZm8gcGNpX3Jvb3RfaW5mb1tQQ0lfUk9PVF9OUl07CiAKIHZvaWQgc2V0X3BjaV9idXNfcmVzb3VyY2VzX2FyY2hfZGVmYXVsdChzdHJ1Y3QgcGNpX2J1cyAqYikKIHsKQEAgLTM4NCw3ICs0MTQsNyBAQAogCS8qIG5lZWQgdG8gdGFrZSBvdXQgWzAsIFRPTSkgZm9yIFJBTSovCiAJYWRkcmVzcyA9IE1TUl9LOF9UT1BfTUVNMTsKIAlyZG1zcmwoYWRkcmVzcywgdmFsKTsKLQllbmQgPSAodmFsICYgMHhmZmZmZmY4MDAwMDAwVUxMKTsKKwllbmQgPSAodmFsICYgMHhmZmZmZmY4MDAwMDBVTEwpOwogCXByaW50ayhLRVJOX0lORk8gIlRPTTogJTAxNmx4IGFrYSAlbGRNXG4iLCBlbmQsIGVuZD4+MjApOwogCWlmIChlbmQgPCAoMVVMTDw8MzIpKQogCQl1cGRhdGVfcmFuZ2UocmFuZ2UsIDAsIGVuZCAtIDEpOwpAQCAtNDc4LDcgKzUwOCw3IEBACiAJCS8qIFRPUF9NRU0yICovCiAJCWFkZHJlc3MgPSBNU1JfSzhfVE9QX01FTTI7CiAJCXJkbXNybChhZGRyZXNzLCB2YWwpOwotCQllbmQgPSAodmFsICYgMHhmZmZmZmY4MDAwMDAwVUxMKTsKKwkJZW5kID0gKHZhbCAmIDB4ZmZmZmZmODAwMDAwVUxMKTsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiVE9NMjogJTAxNmx4IGFrYSAlbGRNXG4iLCBlbmQsIGVuZD4+MjApOwogCQl1cGRhdGVfcmFuZ2UocmFuZ2UsIDFVTEw8PDMyLCBlbmQgLSAxKTsKIAl9CkBAIC01MjYsMyArNTU2LDMxIEBACiB9CiAKIHBvc3Rjb3JlX2luaXRjYWxsKGVhcmx5X2ZpbGxfbXBfYnVzX2luZm8pOworCisjZW5kaWYKKworLyogY29tbW9uIDMyLzY0IGJpdCBjb2RlICovCisKKyNkZWZpbmUgRU5BQkxFX0NGOF9FWFRfQ0ZHICAgICAgKDFVTEwgPDwgNDYpCisKK3N0YXRpYyB2b2lkIGVuYWJsZV9wY2lfaW9fZWNzX3Blcl9jcHUodm9pZCAqdW51c2VkKQoreworCXU2NCByZWc7CisJcmRtc3JsKE1TUl9BTUQ2NF9OQl9DRkcsIHJlZyk7CisJaWYgKCEocmVnICYgRU5BQkxFX0NGOF9FWFRfQ0ZHKSkgeworCQlyZWcgfD0gRU5BQkxFX0NGOF9FWFRfQ0ZHOworCQl3cm1zcmwoTVNSX0FNRDY0X05CX0NGRywgcmVnKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGVuYWJsZV9wY2lfaW9fZWNzKHZvaWQpCit7CisJLyogYXNzdW1lIGFsbCBjcHVzIGZyb20gZmFtMTBoIGhhdmUgSU8gRUNTICovCisgICAgICAgIGlmIChib290X2NwdV9kYXRhLng4NiA8IDB4MTApCisJCXJldHVybiAwOworCW9uX2VhY2hfY3B1KGVuYWJsZV9wY2lfaW9fZWNzX3Blcl9jcHUsIE5VTEwsIDEpOworCXBjaV9wcm9iZSB8PSBQQ0lfSEFTX0lPX0VDUzsKKwlyZXR1cm4gMDsKK30KKworcG9zdGNvcmVfaW5pdGNhbGwoZW5hYmxlX3BjaV9pb19lY3MpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2NvbW1vbi5jIGIvYXJjaC94ODYvcGNpL2NvbW1vbi5jCmluZGV4IDZlNjRhYWYuLjIwYjlmNTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9jb21tb24uYworKysgYi9hcmNoL3g4Ni9wY2kvY29tbW9uLmMKQEAgLTM4NCw3ICszODQsNyBAQAogCiBleHRlcm4gdTggcGNpX2NhY2hlX2xpbmVfc2l6ZTsKIAotc3RhdGljIGludCBfX2luaXQgcGNpYmlvc19pbml0KHZvaWQpCitpbnQgX19pbml0IHBjaWJpb3NfaW5pdCh2b2lkKQogewogCXN0cnVjdCBjcHVpbmZvX3g4NiAqYyA9ICZib290X2NwdV9kYXRhOwogCkBAIC00MTEsOCArNDExLDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3Vic3lzX2luaXRjYWxsKHBjaWJpb3NfaW5pdCk7Ci0KIGNoYXIgKiBfX2RldmluaXQgIHBjaWJpb3Nfc2V0dXAoY2hhciAqc3RyKQogewogCWlmICghc3RyY21wKHN0ciwgIm9mZiIpKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvZGlyZWN0LmMgYi9hcmNoL3g4Ni9wY2kvZGlyZWN0LmMKaW5kZXggMjFkMWUwZS4uOTkxNTI5MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2RpcmVjdC5jCisrKyBiL2FyY2gveDg2L3BjaS9kaXJlY3QuYwpAQCAtOCwxOCArOCwyMSBAQAogI2luY2x1ZGUgInBjaS5oIgogCiAvKgotICogRnVuY3Rpb25zIGZvciBhY2Nlc3NpbmcgUENJIGNvbmZpZ3VyYXRpb24gc3BhY2Ugd2l0aCB0eXBlIDEgYWNjZXNzZXMKKyAqIEZ1bmN0aW9ucyBmb3IgYWNjZXNzaW5nIFBDSSBiYXNlIChmaXJzdCAyNTYgYnl0ZXMpIGFuZCBleHRlbmRlZAorICogKDQwOTYgYnl0ZXMgcGVyIFBDSSBmdW5jdGlvbikgY29uZmlndXJhdGlvbiBzcGFjZSB3aXRoIHR5cGUgMQorICogYWNjZXNzZXMuCiAgKi8KIAogI2RlZmluZSBQQ0lfQ09ORjFfQUREUkVTUyhidXMsIGRldmZuLCByZWcpIFwKLQkoMHg4MDAwMDAwMCB8IChidXMgPDwgMTYpIHwgKGRldmZuIDw8IDgpIHwgKHJlZyAmIH4zKSkKKwkoMHg4MDAwMDAwMCB8ICgocmVnICYgMHhGMDApIDw8IDE2KSB8IChidXMgPDwgMTYpIFwKKwl8IChkZXZmbiA8PCA4KSB8IChyZWcgJiAweEZDKSkKIAogc3RhdGljIGludCBwY2lfY29uZjFfcmVhZCh1bnNpZ25lZCBpbnQgc2VnLCB1bnNpZ25lZCBpbnQgYnVzLAogCQkJICB1bnNpZ25lZCBpbnQgZGV2Zm4sIGludCByZWcsIGludCBsZW4sIHUzMiAqdmFsdWUpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCWlmICgoYnVzID4gMjU1KSB8fCAoZGV2Zm4gPiAyNTUpIHx8IChyZWcgPiAyNTUpKSB7CisJaWYgKChidXMgPiAyNTUpIHx8IChkZXZmbiA+IDI1NSkgfHwgKHJlZyA+IDQwOTUpKSB7CiAJCSp2YWx1ZSA9IC0xOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC01MCw3ICs1Myw3IEBACiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCWlmICgoYnVzID4gMjU1KSB8fCAoZGV2Zm4gPiAyNTUpIHx8IChyZWcgPiAyNTUpKSAKKwlpZiAoKGJ1cyA+IDI1NSkgfHwgKGRldmZuID4gMjU1KSB8fCAocmVnID4gNDA5NSkpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnBjaV9jb25maWdfbG9jaywgZmxhZ3MpOwpAQCAtMjYwLDEwICsyNjMsMTggQEAKIAkJcmV0dXJuOwogCXByaW50ayhLRVJOX0lORk8gIlBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlICVkIGZvciBiYXNlIGFjY2Vzc1xuIiwKIAkJIHR5cGUpOwotCWlmICh0eXBlID09IDEpCisJaWYgKHR5cGUgPT0gMSkgewogCQlyYXdfcGNpX29wcyA9ICZwY2lfZGlyZWN0X2NvbmYxOwotCWVsc2UKLQkJcmF3X3BjaV9vcHMgPSAmcGNpX2RpcmVjdF9jb25mMjsKKwkJaWYgKHJhd19wY2lfZXh0X29wcykKKwkJCXJldHVybjsKKwkJaWYgKCEocGNpX3Byb2JlICYgUENJX0hBU19JT19FQ1MpKQorCQkJcmV0dXJuOworCQlwcmludGsoS0VSTl9JTkZPICJQQ0k6IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlwZSAxICIKKwkJICAgICAgICJmb3IgZXh0ZW5kZWQgYWNjZXNzXG4iKTsKKwkJcmF3X3BjaV9leHRfb3BzID0gJnBjaV9kaXJlY3RfY29uZjE7CisJCXJldHVybjsKKwl9CisJcmF3X3BjaV9vcHMgPSAmcGNpX2RpcmVjdF9jb25mMjsKIH0KIAogaW50IF9faW5pdCBwY2lfZGlyZWN0X3Byb2JlKHZvaWQpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvaTM4Ni5jIGIvYXJjaC94ODYvcGNpL2kzODYuYwppbmRleCAxMGZiMzA4Li4yYWFmYjY3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvaTM4Ni5jCisrKyBiL2FyY2gveDg2L3BjaS9pMzg2LmMKQEAgLTI5OSw5ICsyOTksOSBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXByb3QgPSBwZ3Byb3RfdmFsKHZtYS0+dm1fcGFnZV9wcm90KTsKLQlpZiAocGF0X3djX2VuYWJsZWQgJiYgd3JpdGVfY29tYmluZSkKKwlpZiAocGF0X2VuYWJsZWQgJiYgd3JpdGVfY29tYmluZSkKIAkJcHJvdCB8PSBfUEFHRV9DQUNIRV9XQzsKLQllbHNlIGlmIChwYXRfd2NfZW5hYmxlZCB8fCBib290X2NwdV9kYXRhLng4NiA+IDMpCisJZWxzZSBpZiAocGF0X2VuYWJsZWQgfHwgYm9vdF9jcHVfZGF0YS54ODYgPiAzKQogCQkvKgogCQkgKiBpb3JlbWFwKCkgYW5kIGlvcmVtYXBfbm9jYWNoZSgpIGRlZmF1bHRzIHRvIFVDIE1JTlVTIGZvciBub3cuCiAJCSAqIFRvIGF2b2lkIGF0dHJpYnV0ZSBjb25mbGljdHMsIHJlcXVlc3QgVUMgTUlOVVMgaGVyZQpAQCAtMzM0LDcgKzMzNCw5IEBACiAJCWZsYWdzID0gbmV3X2ZsYWdzOwogCX0KIAotCWlmICh2bWEtPnZtX3Bnb2ZmIDw9IG1heF9wZm5fbWFwcGVkICYmCisJaWYgKCgodm1hLT52bV9wZ29mZiA8IG1heF9sb3dfcGZuX21hcHBlZCkgfHwKKwkgICAgICh2bWEtPnZtX3Bnb2ZmID49ICgxVUw8PCgzMiAtIFBBR0VfU0hJRlQpKSAmJgorCSAgICAgIHZtYS0+dm1fcGdvZmYgPCBtYXhfcGZuX21hcHBlZCkpICYmCiAJICAgIGlvcmVtYXBfY2hhbmdlX2F0dHIoKHVuc2lnbmVkIGxvbmcpX192YShhZGRyKSwgbGVuLCBmbGFncykpIHsKIAkJZnJlZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBsZW4pOwogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9pbml0LmMgYi9hcmNoL3g4Ni9wY2kvaW5pdC5jCmluZGV4IGI4MjFmNDQuLmQ2Yzk1MGYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9pbml0LmMKKysrIGIvYXJjaC94ODYvcGNpL2luaXQuYwpAQCAtNCw3ICs0LDcgQEAKIAogLyogYXJjaF9pbml0Y2FsbCBoYXMgdG9vIHJhbmRvbSBvcmRlcmluZywgc28gY2FsbCB0aGUgaW5pdGlhbGl6ZXJzCiAgICBpbiB0aGUgcmlnaHQgc2VxdWVuY2UgZnJvbSBoZXJlLiAqLwotc3RhdGljIF9faW5pdCBpbnQgcGNpX2FjY2Vzc19pbml0KHZvaWQpCitzdGF0aWMgX19pbml0IGludCBwY2lfYXJjaF9pbml0KHZvaWQpCiB7CiAjaWZkZWYgQ09ORklHX1BDSV9ESVJFQ1QKIAlpbnQgdHlwZSA9IDA7CkBAIC00MCw0ICs0MCw0IEBACiAKIAlyZXR1cm4gMDsKIH0KLWFyY2hfaW5pdGNhbGwocGNpX2FjY2Vzc19pbml0KTsKK2FyY2hfaW5pdGNhbGwocGNpX2FyY2hfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvaXJxLmMgYi9hcmNoL3g4Ni9wY2kvaXJxLmMKaW5kZXggY2E4ZGY5Yy4uZGM1NjhjNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2lycS5jCisrKyBiL2FyY2gveDg2L3BjaS9pcnEuYwpAQCAtMTEsOCArMTEsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxhc20vaW9fYXBpYy5oPgogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KQEAgLTYxLDcgKzYxLDcgQEAKICAqICBhbmQgcGVyZm9ybSBjaGVja3N1bSB2ZXJpZmljYXRpb24uCiAgKi8KIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUgKiBwaXJxX2NoZWNrX3JvdXRpbmdfdGFibGUodTggKmFkZHIpCitzdGF0aWMgaW5saW5lIHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSAqcGlycV9jaGVja19yb3V0aW5nX3RhYmxlKHU4ICphZGRyKQogewogCXN0cnVjdCBpcnFfcm91dGluZ190YWJsZSAqcnQ7CiAJaW50IGk7CkBAIC03NCw3ICs3NCw3IEBACiAJICAgIHJ0LT5zaXplIDwgc2l6ZW9mKHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSkpCiAJCXJldHVybiBOVUxMOwogCXN1bSA9IDA7Ci0JZm9yIChpPTA7IGkgPCBydC0+c2l6ZTsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBydC0+c2l6ZTsgaSsrKQogCQlzdW0gKz0gYWRkcltpXTsKIAlpZiAoIXN1bSkgewogCQlEQkcoS0VSTl9ERUJVRyAiUENJOiBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBmb3VuZCBhdCAweCVwXG4iLCBydCk7CkBAIC0xMDAsNyArMTAwLDcgQEAKIAkJCXJldHVybiBydDsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiUENJOiBQSVJRIHRhYmxlIE5PVCBmb3VuZCBhdCBwaXJxYWRkclxuIik7CiAJfQotCWZvcihhZGRyID0gKHU4ICopIF9fdmEoMHhmMDAwMCk7IGFkZHIgPCAodTggKikgX192YSgweDEwMDAwMCk7IGFkZHIgKz0gMTYpIHsKKwlmb3IgKGFkZHIgPSAodTggKikgX192YSgweGYwMDAwKTsgYWRkciA8ICh1OCAqKSBfX3ZhKDB4MTAwMDAwKTsgYWRkciArPSAxNikgewogCQlydCA9IHBpcnFfY2hlY2tfcm91dGluZ190YWJsZShhZGRyKTsKIAkJaWYgKHJ0KQogCQkJcmV0dXJuIHJ0OwpAQCAtMTIyLDIwICsxMjIsMjAgQEAKIAlzdHJ1Y3QgaXJxX2luZm8gKmU7CiAKIAltZW1zZXQoYnVzbWFwLCAwLCBzaXplb2YoYnVzbWFwKSk7Ci0JZm9yKGk9MDsgaSA8IChydC0+c2l6ZSAtIHNpemVvZihzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUpKSAvIHNpemVvZihzdHJ1Y3QgaXJxX2luZm8pOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgKHJ0LT5zaXplIC0gc2l6ZW9mKHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSkpIC8gc2l6ZW9mKHN0cnVjdCBpcnFfaW5mbyk7IGkrKykgewogCQllID0gJnJ0LT5zbG90c1tpXTsKICNpZmRlZiBERUJVRwogCQl7CiAJCQlpbnQgajsKIAkJCURCRyhLRVJOX0RFQlVHICIlMDJ4OiUwMnggc2xvdD0lMDJ4IiwgZS0+YnVzLCBlLT5kZXZmbi84LCBlLT5zbG90KTsKLQkJCWZvcihqPTA7IGo8NDsgaisrKQorCQkJZm9yIChqID0gMDsgaiA8IDQ7IGorKykKIAkJCQlEQkcoIiAlZDolMDJ4LyUwNHgiLCBqLCBlLT5pcnFbal0ubGluaywgZS0+aXJxW2pdLmJpdG1hcCk7CiAJCQlEQkcoIlxuIik7CiAJCX0KICNlbmRpZgogCQlidXNtYXBbZS0+YnVzXSA9IDE7CiAJfQotCWZvcihpID0gMTsgaSA8IDI1NjsgaSsrKSB7CisJZm9yIChpID0gMTsgaSA8IDI1NjsgaSsrKSB7CiAJCWludCBub2RlOwogCQlpZiAoIWJ1c21hcFtpXSB8fCBwY2lfZmluZF9idXMoMCwgaSkpCiAJCQljb250aW51ZTsKQEAgLTI4NSw3ICsyODUsNyBAQAogCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBpcnFtYXBbNF0gPSB7IDEsIDAsIDIsIDMgfTsKIAogCVdBUk5fT05fT05DRShwaXJxID4gNCk7Ci0JcmV0dXJuIHJlYWRfY29uZmlnX255YmJsZShyb3V0ZXIsMHg0MywgcGlycW1hcFtwaXJxLTFdKTsKKwlyZXR1cm4gcmVhZF9jb25maWdfbnliYmxlKHJvdXRlciwgMHg0MywgcGlycW1hcFtwaXJxLTFdKTsKIH0KIAogc3RhdGljIGludCBwaXJxX2l0ZV9zZXQoc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHBpcnEsIGludCBpcnEpCkBAIC0zMTQsNyArMzE0LDcgQEAKIAogLyoKICAqIEN5cml4OiBuaWJibGUgb2Zmc2V0IDB4NUMKLSAqIDB4NUMgYml0cyA3OjQgaXMgSU5UQiBiaXRzIDM6MCBpcyBJTlRBIAorICogMHg1QyBiaXRzIDc6NCBpcyBJTlRCIGJpdHMgMzowIGlzIElOVEEKICAqIDB4NUQgYml0cyA3OjQgaXMgSU5URCBiaXRzIDM6MCBpcyBJTlRDCiAgKi8KIHN0YXRpYyBpbnQgcGlycV9jeXJpeF9nZXQoc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHBpcnEpCkBAIC0zNTAsNyArMzUwLDcgQEAKICAqCUFwcGFyZW50bHkgdGhlcmUgYXJlIHN5c3RlbXMgaW1wbGVtZW50aW5nIFBDSSByb3V0aW5nIHRhYmxlIHVzaW5nCiAgKglsaW5rIHZhbHVlcyAweDAxLTB4MDQgYW5kIG90aGVycyB1c2luZyAweDQxLTB4NDQgZm9yIFBDSSBJTlRBLi5ELgogICoJV2UgdHJ5IG91ciBiZXN0IHRvIGhhbmRsZSBib3RoIGxpbmsgbWFwcGluZ3MuCi0gKgkKKyAqCiAgKglDdXJyZW50bHkgKDIwMDMtMDUtMjEpIGl0IGFwcGVhcnMgbW9zdCBTaVMgY2hpcHNldHMgZm9sbG93IHRoZQogICoJZGVmaW5pdGlvbiBvZiByb3V0aW5nIHJlZ2lzdGVycyBmcm9tIHRoZSBTaVMtNTU5NSBzb3V0aGJyaWRnZS4KICAqCUFjY29yZGluZyB0byB0aGUgU2lTIDU1OTUgZGF0YXNoZWV0cyB0aGUgcmV2aXNpb24gaWQncyBvZiB0aGUKQEAgLTM3MCw3ICszNzAsNyBAQAogICoKICAqCTB4NjI6CVVTQklSUToKICAqCQliaXQgNiBPSENJIGZ1bmN0aW9uIGRpc2FibGVkICgwKSwgZW5hYmxlZCAoMSkKLSAqCQorICoKICAqCTB4NmE6CUFDUEkvU0NJIElSUTogYml0cyA0LTYgcmVzZXJ2ZWQKICAqCiAgKgkweDdlOglEYXRhIEFjcS4gTW9kdWxlIElSUSAtIGJpdHMgNC02IHJlc2VydmVkCkBAIC00ODcsOSArNDg3LDcgQEAKIAl1OCBpcnE7CiAJaXJxID0gMDsKIAlpZiAocGlycSA8PSA0KQotCXsKIAkJaXJxID0gcmVhZF9jb25maWdfbnliYmxlKHJvdXRlciwgMHg1NiwgcGlycSAtIDEpOwotCX0KIAlwcmludGsoS0VSTl9JTkZPICJBTUQ3NTY6IGRldiAlMDR4OiUwNHgsIHJvdXRlciBwaXJxIDogJWQgZ2V0IGlycSA6ICUyZFxuIiwKIAkJZGV2LT52ZW5kb3IsIGRldi0+ZGV2aWNlLCBwaXJxLCBpcnEpOwogCXJldHVybiBpcnE7CkBAIC00OTcsMTIgKzQ5NSwxMCBAQAogCiBzdGF0aWMgaW50IHBpcnFfYW1kNzU2X3NldChzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCBzdHJ1Y3QgcGNpX2RldiAqZGV2LCBpbnQgcGlycSwgaW50IGlycSkKIHsKLQlwcmludGsoS0VSTl9JTkZPICJBTUQ3NTY6IGRldiAlMDR4OiUwNHgsIHJvdXRlciBwaXJxIDogJWQgU0VUIGlycSA6ICUyZFxuIiwgCisJcHJpbnRrKEtFUk5fSU5GTyAiQU1ENzU2OiBkZXYgJTA0eDolMDR4LCByb3V0ZXIgcGlycSA6ICVkIFNFVCBpcnEgOiAlMmRcbiIsCiAJCWRldi0+dmVuZG9yLCBkZXYtPmRldmljZSwgcGlycSwgaXJxKTsKIAlpZiAocGlycSA8PSA0KQotCXsKIAkJd3JpdGVfY29uZmlnX255YmJsZShyb3V0ZXIsIDB4NTYsIHBpcnEgLSAxLCBpcnEpOwotCX0KIAlyZXR1cm4gMTsKIH0KIApAQCAtNTQ5LDUwICs1NDUsNDkgQEAKIAlpZiAocGNpX2Rldl9wcmVzZW50KHBpcnFfNDQwZ3gpKQogCQlyZXR1cm4gMDsKIAotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFGQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFTQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFBQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFNWDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyNDQzTVhfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQUFfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQUJfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQkFfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQkFfMTA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzEyOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFEQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFFXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUVCXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9FU0JfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDZfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDZfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzMxOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfRVNCMl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8xOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8yOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8zOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF80OgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8xOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8yOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8zOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV80OgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV81OgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfVE9MQVBBSV8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzE6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0gxMF8yOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMzoKLQkJCXItPm5hbWUgPSAiUElJWC9JQ0giOwotCQkJci0+Z2V0ID0gcGlycV9waWl4X2dldDsKLQkJCXItPnNldCA9IHBpcnFfcGlpeF9zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MUZCXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxU0JfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFBQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MU1YOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjQ0M01YXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQUFfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFBQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUJBXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQkFfMTA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQ0FfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8xMjoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFEQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUVfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFFQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9FU0JfMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g2XzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIN18xOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzMwOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzMxOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9FU0IyXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8xOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzI6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMzoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF80OgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8yOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzM6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfNDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV81OgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9UT0xBUEFJXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzI6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzM6CisJCXItPm5hbWUgPSAiUElJWC9JQ0giOworCQlyLT5nZXQgPSBwaXJxX3BpaXhfZ2V0OworCQlyLT5zZXQgPSBwaXJxX3BpaXhfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC02MDYsNyArNjAxLDcgQEAKIAkgKiB3b3JrYXJvdW5kcyBmb3Igc29tZSBidWdneSBCSU9TZXMKIAkgKi8KIAlpZiAoZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfVklBXzgyQzU4Nl8wKSB7Ci0JCXN3aXRjaChyb3V0ZXItPmRldmljZSkgeworCQlzd2l0Y2ggKHJvdXRlci0+ZGV2aWNlKSB7CiAJCWNhc2UgUENJX0RFVklDRV9JRF9WSUFfODJDNjg2OgogCQkJLyoKIAkJCSAqIEFzdXMgazdtIGJpb3Mgd3JvbmdseSByZXBvcnRzIDgyQzY4NkEKQEAgLTYzMSw3ICs2MjYsNyBAQAogCQl9CiAJfQogCi0Jc3dpdGNoKGRldmljZSkgeworCXN3aXRjaCAoZGV2aWNlKSB7CiAJY2FzZSBQQ0lfREVWSUNFX0lEX1ZJQV84MkM1ODZfMDoKIAkJci0+bmFtZSA9ICJWSUEiOwogCQlyLT5nZXQgPSBwaXJxX3ZpYTU4Nl9nZXQ7CkBAIC02NTQsMTMgKzY0OSwxMiBAQAogCiBzdGF0aWMgX19pbml0IGludCB2bHNpX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX1ZMU0lfODJDNTM0OgotCQkJci0+bmFtZSA9ICJWTFNJIDgyQzUzNCI7Ci0JCQlyLT5nZXQgPSBwaXJxX3Zsc2lfZ2V0OwotCQkJci0+c2V0ID0gcGlycV92bHNpX3NldDsKLQkJCXJldHVybiAxOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX1ZMU0lfODJDNTM0OgorCQlyLT5uYW1lID0gIlZMU0kgODJDNTM0IjsKKwkJci0+Z2V0ID0gcGlycV92bHNpX2dldDsKKwkJci0+c2V0ID0gcGlycV92bHNpX3NldDsKKwkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwogfQpAQCAtNjY4LDE0ICs2NjIsMTMgQEAKIAogc3RhdGljIF9faW5pdCBpbnQgc2VydmVyd29ya3Nfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfU0VSVkVSV09SS1NfT1NCNDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX1NFUlZFUldPUktTX0NTQjU6Ci0JCQlyLT5uYW1lID0gIlNlcnZlcldvcmtzIjsKLQkJCXItPmdldCA9IHBpcnFfc2VydmVyd29ya3NfZ2V0OwotCQkJci0+c2V0ID0gcGlycV9zZXJ2ZXJ3b3Jrc19zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9TRVJWRVJXT1JLU19PU0I0OgorCWNhc2UgUENJX0RFVklDRV9JRF9TRVJWRVJXT1JLU19DU0I1OgorCQlyLT5uYW1lID0gIlNlcnZlcldvcmtzIjsKKwkJci0+Z2V0ID0gcGlycV9zZXJ2ZXJ3b3Jrc19nZXQ7CisJCXItPnNldCA9IHBpcnFfc2VydmVyd29ya3Nfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC02ODQsNyArNjc3LDcgQEAKIHsKIAlpZiAoZGV2aWNlICE9IFBDSV9ERVZJQ0VfSURfU0lfNTAzKQogCQlyZXR1cm4gMDsKLQkJCisKIAlyLT5uYW1lID0gIlNJUyI7CiAJci0+Z2V0ID0gcGlycV9zaXNfZ2V0OwogCXItPnNldCA9IHBpcnFfc2lzX3NldDsKQEAgLTY5Myw0NyArNjg2LDQzIEBACiAKIHN0YXRpYyBfX2luaXQgaW50IGN5cml4X3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0NZUklYXzU1MjA6Ci0JCQlyLT5uYW1lID0gIk5hdFNlbWkiOwotCQkJci0+Z2V0ID0gcGlycV9jeXJpeF9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX2N5cml4X3NldDsKLQkJCXJldHVybiAxOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX0NZUklYXzU1MjA6CisJCXItPm5hbWUgPSAiTmF0U2VtaSI7CisJCXItPmdldCA9IHBpcnFfY3lyaXhfZ2V0OworCQlyLT5zZXQgPSBwaXJxX2N5cml4X3NldDsKKwkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwogfQogCiBzdGF0aWMgX19pbml0IGludCBvcHRpX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX09QVElfODJDNzAwOgotCQkJci0+bmFtZSA9ICJPUFRJIjsKLQkJCXItPmdldCA9IHBpcnFfb3B0aV9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX29wdGlfc2V0OwotCQkJcmV0dXJuIDE7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfT1BUSV84MkM3MDA6CisJCXItPm5hbWUgPSAiT1BUSSI7CisJCXItPmdldCA9IHBpcnFfb3B0aV9nZXQ7CisJCXItPnNldCA9IHBpcnFfb3B0aV9zZXQ7CisJCXJldHVybiAxOwogCX0KIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIF9faW5pdCBpbnQgaXRlX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lURV9JVDgzMzBHXzA6Ci0JCQlyLT5uYW1lID0gIklURSI7Ci0JCQlyLT5nZXQgPSBwaXJxX2l0ZV9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX2l0ZV9zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9JVEVfSVQ4MzMwR18wOgorCQlyLT5uYW1lID0gIklURSI7CisJCXItPmdldCA9IHBpcnFfaXRlX2dldDsKKwkJci0+c2V0ID0gcGlycV9pdGVfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBfX2luaXQgaW50IGFsaV9yb3V0ZXJfcHJvYmUoc3RydWN0IGlycV9yb3V0ZXIgKnIsIHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHUxNiBkZXZpY2UpCiB7Ci0Jc3dpdGNoKGRldmljZSkKLQl7CisJc3dpdGNoIChkZXZpY2UpIHsKIAljYXNlIFBDSV9ERVZJQ0VfSURfQUxfTTE1MzM6CiAJY2FzZSBQQ0lfREVWSUNFX0lEX0FMX00xNTYzOgogCQlwcmludGsoS0VSTl9ERUJVRyAiUENJOiBVc2luZyBBTEkgSVJRIFJvdXRlclxuIik7CkBAIC03NDcsMjUgKzczNiwyNCBAQAogCiBzdGF0aWMgX19pbml0IGludCBhbWRfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfQU1EX1ZJUEVSXzc0MEI6Ci0JCQlyLT5uYW1lID0gIkFNRDc1NiI7Ci0JCQlicmVhazsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0FNRF9WSVBFUl83NDEzOgotCQkJci0+bmFtZSA9ICJBTUQ3NjYiOwotCQkJYnJlYWs7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9BTURfVklQRVJfNzQ0MzoKLQkJCXItPm5hbWUgPSAiQU1ENzY4IjsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcmV0dXJuIDA7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfQU1EX1ZJUEVSXzc0MEI6CisJCXItPm5hbWUgPSAiQU1ENzU2IjsKKwkJYnJlYWs7CisJY2FzZSBQQ0lfREVWSUNFX0lEX0FNRF9WSVBFUl83NDEzOgorCQlyLT5uYW1lID0gIkFNRDc2NiI7CisJCWJyZWFrOworCWNhc2UgUENJX0RFVklDRV9JRF9BTURfVklQRVJfNzQ0MzoKKwkJci0+bmFtZSA9ICJBTUQ3NjgiOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKIAl9CiAJci0+Z2V0ID0gcGlycV9hbWQ3NTZfZ2V0OwogCXItPnNldCA9IHBpcnFfYW1kNzU2X3NldDsKIAlyZXR1cm4gMTsKIH0KLQkJCisKIHN0YXRpYyBfX2luaXQgaW50IHBpY29fcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewogCXN3aXRjaCAoZGV2aWNlKSB7CkBAIC04MDcsNyArNzk1LDcgQEAKICAqCUZJWE1FOiBzaG91bGQgd2UgaGF2ZSBhbiBvcHRpb24gdG8gc2F5ICJnZW5lcmljIGZvcgogICoJY2hpcHNldCIgPwogICovCi0gCisKIHN0YXRpYyB2b2lkIF9faW5pdCBwaXJxX2ZpbmRfcm91dGVyKHN0cnVjdCBpcnFfcm91dGVyICpyKQogewogCXN0cnVjdCBpcnFfcm91dGluZ190YWJsZSAqcnQgPSBwaXJxX3RhYmxlOwpAQCAtODI2LDcgKzgxNCw3IEBACiAJci0+bmFtZSA9ICJkZWZhdWx0IjsKIAlyLT5nZXQgPSBOVUxMOwogCXItPnNldCA9IE5VTEw7Ci0JCisKIAlEQkcoS0VSTl9ERUJVRyAiUENJOiBBdHRlbXB0aW5nIHRvIGZpbmQgSVJRIHJvdXRlciBmb3IgJTA0eDolMDR4XG4iLAogCSAgICBydC0+cnRyX3ZlbmRvciwgcnQtPnJ0cl9kZXZpY2UpOwogCkBAIC04MzcsNyArODI1LDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCWZvciggaCA9IHBpcnFfcm91dGVyczsgaC0+dmVuZG9yOyBoKyspIHsKKwlmb3IgKGggPSBwaXJxX3JvdXRlcnM7IGgtPnZlbmRvcjsgaCsrKSB7CiAJCS8qIEZpcnN0IGxvb2sgZm9yIGEgcm91dGVyIG1hdGNoICovCiAJCWlmIChydC0+cnRyX3ZlbmRvciA9PSBoLT52ZW5kb3IgJiYgaC0+cHJvYmUociwgcGlycV9yb3V0ZXJfZGV2LCBydC0+cnRyX2RldmljZSkpCiAJCQlicmVhazsKQEAgLTg4OSw3ICs4NzcsNyBAQAogCiAJaWYgKCFwaXJxX3RhYmxlKQogCQlyZXR1cm4gMDsKLQkKKwogCURCRyhLRVJOX0RFQlVHICJJUlEgZm9yICVzWyVjXSIsIHBjaV9uYW1lKGRldiksICdBJyArIHBpbik7CiAJaW5mbyA9IHBpcnFfZ2V0X2luZm8oZGV2KTsKIAlpZiAoIWluZm8pIHsKQEAgLTkyOCw4ICs5MTYsMTAgQEAKIAkgKi8KIAluZXdpcnEgPSBkZXYtPmlycTsKIAlpZiAobmV3aXJxICYmICEoKDEgPDwgbmV3aXJxKSAmIG1hc2spKSB7Ci0JCWlmICggcGNpX3Byb2JlICYgUENJX1VTRV9QSVJRX01BU0spIG5ld2lycSA9IDA7Ci0JCWVsc2UgcHJpbnRrKCJcbiIgS0VSTl9XQVJOSU5HCisJCWlmIChwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykKKwkJCW5ld2lycSA9IDA7CisJCWVsc2UKKwkJCXByaW50aygiXG4iIEtFUk5fV0FSTklORwogCQkJIlBDSTogSVJRICVpIGZvciBkZXZpY2UgJXMgZG9lc24ndCBtYXRjaCBQSVJRIG1hc2sgIgogCQkJIi0gdHJ5IHBjaT11c2VwaXJxbWFza1xuIiBLRVJOX0RFQlVHLCBuZXdpcnEsCiAJCQlwY2lfbmFtZShkZXYpKTsKQEAgLTk0OSw4ICs5MzksOCBAQAogCQlpcnEgPSBwaXJxICYgMHhmOwogCQlEQkcoIiAtPiBoYXJkY29kZWQgSVJRICVkXG4iLCBpcnEpOwogCQltc2cgPSAiSGFyZGNvZGVkIjsKLQl9IGVsc2UgaWYgKCByLT5nZXQgJiYgKGlycSA9IHItPmdldChwaXJxX3JvdXRlcl9kZXYsIGRldiwgcGlycSkpICYmIFwKLQkoKCEocGNpX3Byb2JlICYgUENJX1VTRV9QSVJRX01BU0spKSB8fCAoKDEgPDwgaXJxKSAmIG1hc2spKSApIHsKKwl9IGVsc2UgaWYgKHItPmdldCAmJiAoaXJxID0gci0+Z2V0KHBpcnFfcm91dGVyX2RldiwgZGV2LCBwaXJxKSkgJiYgXAorCSgoIShwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykpIHx8ICgoMSA8PCBpcnEpICYgbWFzaykpKSB7CiAJCURCRygiIC0+IGdvdCBJUlEgJWRcbiIsIGlycSk7CiAJCW1zZyA9ICJGb3VuZCI7CiAJCWVpc2Ffc2V0X2xldmVsX2lycShpcnEpOwpAQCAtOTg1LDE1ICs5NzUsMTUgQEAKIAkJCWNvbnRpbnVlOwogCQlpZiAoaW5mby0+aXJxW3Bpbl0ubGluayA9PSBwaXJxKSB7CiAJCQkvKiBXZSByZWZ1c2UgdG8gb3ZlcnJpZGUgdGhlIGRldi0+aXJxIGluZm9ybWF0aW9uLiBHaXZlIGEgd2FybmluZyEgKi8KLQkJICAgIAlpZiAoIGRldjItPmlycSAmJiBkZXYyLT5pcnEgIT0gaXJxICYmIFwKKwkJCWlmIChkZXYyLT5pcnEgJiYgZGV2Mi0+aXJxICE9IGlycSAmJiBcCiAJCQkoIShwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykgfHwgXAotCQkJKCgxIDw8IGRldjItPmlycSkgJiBtYXNrKSkgKSB7CisJCQkoKDEgPDwgZGV2Mi0+aXJxKSAmIG1hc2spKSkgewogI2lmbmRlZiBDT05GSUdfUENJX01TSQotCQkgICAgCQlwcmludGsoS0VSTl9JTkZPICJJUlEgcm91dGluZyBjb25mbGljdCBmb3IgJXMsIGhhdmUgaXJxICVkLCB3YW50IGlycSAlZFxuIiwKKwkJCQlwcmludGsoS0VSTl9JTkZPICJJUlEgcm91dGluZyBjb25mbGljdCBmb3IgJXMsIGhhdmUgaXJxICVkLCB3YW50IGlycSAlZFxuIiwKIAkJCQkgICAgICAgcGNpX25hbWUoZGV2MiksIGRldjItPmlycSwgaXJxKTsKICNlbmRpZgotCQkgICAgCQljb250aW51ZTsKLQkJICAgIAl9CisJCQkJY29udGludWU7CisJCQl9CiAJCQlkZXYyLT5pcnEgPSBpcnE7CiAJCQlwaXJxX3BlbmFsdHlbaXJxXSsrOwogCQkJaWYgKGRldiAhPSBkZXYyKQpAQCAtMTAzMSw4ICsxMDIxLDcgQEAKIAkJLyoKIAkJICogUmVjYWxjdWxhdGUgSVJRIG51bWJlcnMgaWYgd2UgdXNlIHRoZSBJL08gQVBJQy4KIAkJICovCi0JCWlmIChpb19hcGljX2Fzc2lnbl9wY2lfaXJxcykKLQkJeworCQlpZiAoaW9fYXBpY19hc3NpZ25fcGNpX2lycXMpIHsKIAkJCWludCBpcnE7CiAKIAkJCWlmIChwaW4pIHsKQEAgLTEwNDUsMTAgKzEwMzQsMTAgQEAKIAkgKiBidXNzZXMgaXRzZWxmIHNvIHdlIHNob3VsZCBnZXQgaW50byB0aGlzIGJyYW5jaCByZWxpYWJseS4KIAkgKi8KIAkJCQlpZiAoaXJxIDwgMCAmJiBkZXYtPmJ1cy0+cGFyZW50KSB7IC8qIGdvIGJhY2sgdG8gdGhlIGJyaWRnZSAqLwotCQkJCQlzdHJ1Y3QgcGNpX2RldiAqIGJyaWRnZSA9IGRldi0+YnVzLT5zZWxmOworCQkJCQlzdHJ1Y3QgcGNpX2RldiAqYnJpZGdlID0gZGV2LT5idXMtPnNlbGY7CiAKIAkJCQkJcGluID0gKHBpbiArIFBDSV9TTE9UKGRldi0+ZGV2Zm4pKSAlIDQ7Ci0JCQkJCWlycSA9IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGJyaWRnZS0+YnVzLT5udW1iZXIsIAorCQkJCQlpcnEgPSBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihicmlkZ2UtPmJ1cy0+bnVtYmVyLAogCQkJCQkJCVBDSV9TTE9UKGJyaWRnZS0+ZGV2Zm4pLCBwaW4pOwogCQkJCQlpZiAoaXJxID49IDApCiAJCQkJCQlwcmludGsoS0VSTl9XQVJOSU5HICJQQ0k6IHVzaW5nIFBQQiAlc1slY10gdG8gZ2V0IGlycSAlZFxuIiwKQEAgLTExMTgsNyArMTEwNyw3IEBACiAJeyB9CiB9OwogCi1zdGF0aWMgaW50IF9faW5pdCBwY2liaW9zX2lycV9pbml0KHZvaWQpCitpbnQgX19pbml0IHBjaWJpb3NfaXJxX2luaXQodm9pZCkKIHsKIAlEQkcoS0VSTl9ERUJVRyAiUENJOiBJUlEgaW5pdFxuIik7CiAKQEAgLTExMzgsNyArMTEyNyw3IEBACiAJCXBpcnFfZmluZF9yb3V0ZXIoJnBpcnFfcm91dGVyKTsKIAkJaWYgKHBpcnFfdGFibGUtPmV4Y2x1c2l2ZV9pcnFzKSB7CiAJCQlpbnQgaTsKLQkJCWZvciAoaT0wOyBpPDE2OyBpKyspCisJCQlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykKIAkJCQlpZiAoIShwaXJxX3RhYmxlLT5leGNsdXNpdmVfaXJxcyAmICgxIDw8IGkpKSkKIAkJCQkJcGlycV9wZW5hbHR5W2ldICs9IDEwMDsKIAkJfQpAQCAtMTE1Myw5ICsxMTQyLDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3Vic3lzX2luaXRjYWxsKHBjaWJpb3NfaXJxX2luaXQpOwotCi0KIHN0YXRpYyB2b2lkIHBpcnFfcGVuYWxpemVfaXNhX2lycShpbnQgaXJxLCBpbnQgYWN0aXZlKQogewogCS8qCkBAIC0xMjAzLDEwICsxMTg5LDEwIEBACiAJCQkgKi8KIAkJCXRlbXBfZGV2ID0gZGV2OwogCQkJd2hpbGUgKGlycSA8IDAgJiYgZGV2LT5idXMtPnBhcmVudCkgeyAvKiBnbyBiYWNrIHRvIHRoZSBicmlkZ2UgKi8KLQkJCQlzdHJ1Y3QgcGNpX2RldiAqIGJyaWRnZSA9IGRldi0+YnVzLT5zZWxmOworCQkJCXN0cnVjdCBwY2lfZGV2ICpicmlkZ2UgPSBkZXYtPmJ1cy0+c2VsZjsKIAogCQkJCXBpbiA9IChwaW4gKyBQQ0lfU0xPVChkZXYtPmRldmZuKSkgJSA0OwotCQkJCWlycSA9IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGJyaWRnZS0+YnVzLT5udW1iZXIsIAorCQkJCWlycSA9IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGJyaWRnZS0+YnVzLT5udW1iZXIsCiAJCQkJCQlQQ0lfU0xPVChicmlkZ2UtPmRldmZuKSwgcGluKTsKIAkJCQlpZiAoaXJxID49IDApCiAJCQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIlBDSTogdXNpbmcgUFBCICVzWyVjXSB0byBnZXQgaXJxICVkXG4iLApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2xlZ2FjeS5jIGIvYXJjaC94ODYvcGNpL2xlZ2FjeS5jCmluZGV4IGE2NzkyMWMuLjEzMjg3NmMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9sZWdhY3kuYworKysgYi9hcmNoL3g4Ni9wY2kvbGVnYWN5LmMKQEAgLTU1LDQgKzU1LDE4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN1YnN5c19pbml0Y2FsbChwY2lfbGVnYWN5X2luaXQpOworaW50IF9faW5pdCBwY2lfc3Vic3lzX2luaXQodm9pZCkKK3sKKyNpZmRlZiBDT05GSUdfQUNQSQorCXBjaV9hY3BpX2luaXQoKTsKKyNlbmRpZgorCXBjaV9sZWdhY3lfaW5pdCgpOworCXBjaWJpb3NfaXJxX2luaXQoKTsKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCisJcGNpX251bWFfaW5pdCgpOworI2VuZGlmCisJcGNpYmlvc19pbml0KCk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChwY2lfc3Vic3lzX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL21tY29uZmlnLXNoYXJlZC5jIGIvYXJjaC94ODYvcGNpL21tY29uZmlnLXNoYXJlZC5jCmluZGV4IDBjZmViZWMuLjIzZmFhYTggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9tbWNvbmZpZy1zaGFyZWQuYworKysgYi9hcmNoL3g4Ni9wY2kvbW1jb25maWctc2hhcmVkLmMKQEAgLTM3NCw3ICszNzQsNyBAQAogCiBzdGF0aWMgaW50IF9faW5pdGRhdGEga25vd25fYnJpZGdlOwogCi12b2lkIF9faW5pdCBfX3BjaV9tbWNmZ19pbml0KGludCBlYXJseSkKK3N0YXRpYyB2b2lkIF9faW5pdCBfX3BjaV9tbWNmZ19pbml0KGludCBlYXJseSkKIHsKIAkvKiBNTUNPTkZJRyBkaXNhYmxlZCAqLwogCWlmICgocGNpX3Byb2JlICYgUENJX1BST0JFX01NQ09ORikgPT0gMCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9tcF9idXNfdG9fbm9kZS5jIGIvYXJjaC94ODYvcGNpL21wX2J1c190b19ub2RlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyMjk0MzkuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvcGNpL21wX2J1c190b19ub2RlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3RvcG9sb2d5Lmg+Ci0KLSNkZWZpbmUgQlVTX05SIDI1NgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBtcF9idXNfdG9fbm9kZVtCVVNfTlJdOwotCi12b2lkIHNldF9tcF9idXNfdG9fbm9kZShpbnQgYnVzbnVtLCBpbnQgbm9kZSkKLXsKLQlpZiAoYnVzbnVtID49IDAgJiYgIGJ1c251bSA8IEJVU19OUikKLQltcF9idXNfdG9fbm9kZVtidXNudW1dID0gKHVuc2lnbmVkIGNoYXIpIG5vZGU7Ci19Ci0KLWludCBnZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSkKLXsKLQlpbnQgbm9kZTsKLQotCWlmIChidXNudW0gPCAwIHx8IGJ1c251bSA+IChCVVNfTlIgLSAxKSkKLQkJcmV0dXJuIDA7Ci0Jbm9kZSA9IG1wX2J1c190b19ub2RlW2J1c251bV07Ci0JcmV0dXJuIG5vZGU7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvbnVtYS5jIGIvYXJjaC94ODYvcGNpL251bWEuYwppbmRleCBkOWFmYmFlLi44YjVjYTE5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvbnVtYS5jCisrKyBiL2FyY2gveDg2L3BjaS9udW1hLmMKQEAgLTYsNDUgKzYsMjEgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KICNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CiAjaW5jbHVkZSAicGNpLmgiCiAKICNkZWZpbmUgWFFVQURfUE9SVElPX0JBU0UgMHhmZTQwMDAwMAogI2RlZmluZSBYUVVBRF9QT1JUSU9fUVVBRCAweDQwMDAwICAvKiAyNTZrIHBlciBxdWFkLiAqLwogCi1pbnQgbXBfYnVzX2lkX3RvX25vZGVbTUFYX01QX0JVU1NFU107CiAjZGVmaW5lIEJVUzJRVUFEKGdsb2JhbCkgKG1wX2J1c19pZF90b19ub2RlW2dsb2JhbF0pCiAKLWludCBtcF9idXNfaWRfdG9fbG9jYWxbTUFYX01QX0JVU1NFU107CiAjZGVmaW5lIEJVUzJMT0NBTChnbG9iYWwpIChtcF9idXNfaWRfdG9fbG9jYWxbZ2xvYmFsXSkKIAotdm9pZCBtcGNfb2VtX2J1c19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwgY2hhciAqbmFtZSwKLQlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb24pCi17Ci0JaW50IHF1YWQgPSB0cmFuc2xhdGlvbi0+dHJhbnNfcXVhZDsKLQlpbnQgbG9jYWwgPSB0cmFuc2xhdGlvbi0+dHJhbnNfbG9jYWw7Ci0KLQltcF9idXNfaWRfdG9fbm9kZVttLT5tcGNfYnVzaWRdID0gcXVhZDsKLQltcF9idXNfaWRfdG9fbG9jYWxbbS0+bXBjX2J1c2lkXSA9IGxvY2FsOwotCXByaW50ayhLRVJOX0lORk8gIkJ1cyAjJWQgaXMgJXMgKG5vZGUgJWQpXG4iLAotCSAgICAgICBtLT5tcGNfYnVzaWQsIG5hbWUsIHF1YWQpOwotfQotCi1pbnQgcXVhZF9sb2NhbF90b19tcF9idXNfaWQgW05SX0NQVVMvNF1bNF07CiAjZGVmaW5lIFFVQURMT0NBTDJCVVMocXVhZCxsb2NhbCkgKHF1YWRfbG9jYWxfdG9fbXBfYnVzX2lkW3F1YWRdW2xvY2FsXSkKLXZvaWQgbXBjX29lbV9wY2lfYnVzKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwKLQlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb24pCi17Ci0JaW50IHF1YWQgPSB0cmFuc2xhdGlvbi0+dHJhbnNfcXVhZDsKLQlpbnQgbG9jYWwgPSB0cmFuc2xhdGlvbi0+dHJhbnNfbG9jYWw7Ci0KLQlxdWFkX2xvY2FsX3RvX21wX2J1c19pZFtxdWFkXVtsb2NhbF0gPSBtLT5tcGNfYnVzaWQ7Ci19CiAKIC8qIFdoZXJlIHRoZSBJTyBhcmVhIHdhcyBtYXBwZWQgb24gbXVsdGlxdWFkLCBhbHdheXMgMCBvdGhlcndpc2UgKi8KIHZvaWQgKnhxdWFkX3BvcnRpbzsKLSNpZmRlZiBDT05GSUdfWDg2X05VTUFRCiBFWFBPUlRfU1lNQk9MKHhxdWFkX3BvcnRpbyk7Ci0jZW5kaWYKIAogI2RlZmluZSBYUVVBRF9QT1JUX0FERFIocG9ydCwgcXVhZCkgKHhxdWFkX3BvcnRpbyArIChYUVVBRF9QT1JUSU9fUVVBRCpxdWFkKSArIHBvcnQpCiAKQEAgLTE3NSwxMCArMTUxLDEzIEBACiB9CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjQ1MU5YLCBwY2lfZml4dXBfaTQ1MG54KTsKIAotc3RhdGljIGludCBfX2luaXQgcGNpX251bWFfaW5pdCh2b2lkKQoraW50IF9faW5pdCBwY2lfbnVtYV9pbml0KHZvaWQpCiB7CiAJaW50IHF1YWQ7CiAKKwlpZiAoIWZvdW5kX251bWFxKQorCQlyZXR1cm4gMDsKKwogCXJhd19wY2lfb3BzID0gJnBjaV9kaXJlY3RfY29uZjFfbXE7CiAKIAlpZiAocGNpYmlvc19zY2FubmVkKyspCkBAIC0xOTcsNSArMTc2LDMgQEAKIAkJfQogCXJldHVybiAwOwogfQotCi1zdWJzeXNfaW5pdGNhbGwocGNpX251bWFfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvcGNpLmggYi9hcmNoL3g4Ni9wY2kvcGNpLmgKaW5kZXggNzIwYzRjNS4uYjIyNzBhNSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL3BjaS5oCisrKyBiL2FyY2gveDg2L3BjaS9wY2kuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBQQ0lfQ0FOX1NLSVBfSVNBX0FMSUdOCTB4ODAwMAogI2RlZmluZSBQQ0lfVVNFX19DUlMJCTB4MTAwMDAKICNkZWZpbmUgUENJX0NIRUNLX0VOQUJMRV9BTURfTU1DT05GCTB4MjAwMDAKKyNkZWZpbmUgUENJX0hBU19JT19FQ1MJCTB4NDAwMDAKIAogZXh0ZXJuIHVuc2lnbmVkIGludCBwY2lfcHJvYmU7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBwaXJxX3RhYmxlX2FkZHI7CkBAIC0zOCw5ICszOSw2IEBACiAJcGNpX2RtaV9iZiwKIH07CiAKLWV4dGVybiB2b2lkIF9faW5pdCBkbWlfY2hlY2tfcGNpcHJvYmUodm9pZCk7Ci1leHRlcm4gdm9pZCBfX2luaXQgZG1pX2NoZWNrX3NraXBfaXNhX2FsaWduKHZvaWQpOwotCiAvKiBwY2ktaTM4Ni5jICovCiAKIGV4dGVybiB1bnNpZ25lZCBpbnQgcGNpYmlvc19tYXhfbGF0ZW5jeTsKQEAgLTk4LDEwICs5NiwxOSBAQAogCiBleHRlcm4gc3RydWN0IHBjaV9yYXdfb3BzIHBjaV9kaXJlY3RfY29uZjE7CiAKKy8qIGFyY2hfaW5pdGNhbGwgbGV2ZWwgKi8KIGV4dGVybiBpbnQgcGNpX2RpcmVjdF9wcm9iZSh2b2lkKTsKIGV4dGVybiB2b2lkIHBjaV9kaXJlY3RfaW5pdChpbnQgdHlwZSk7CiBleHRlcm4gdm9pZCBwY2lfcGNiaW9zX2luaXQodm9pZCk7CiBleHRlcm4gaW50IHBjaV9vbHBjX2luaXQodm9pZCk7CitleHRlcm4gdm9pZCBfX2luaXQgZG1pX2NoZWNrX3BjaXByb2JlKHZvaWQpOworZXh0ZXJuIHZvaWQgX19pbml0IGRtaV9jaGVja19za2lwX2lzYV9hbGlnbih2b2lkKTsKKworLyogc29tZSBjb21tb24gdXNlZCBzdWJzeXNfaW5pdGNhbGxzICovCitleHRlcm4gaW50IF9faW5pdCBwY2lfYWNwaV9pbml0KHZvaWQpOworZXh0ZXJuIGludCBfX2luaXQgcGNpYmlvc19pcnFfaW5pdCh2b2lkKTsKK2V4dGVybiBpbnQgX19pbml0IHBjaV9udW1hX2luaXQodm9pZCk7CitleHRlcm4gaW50IF9faW5pdCBwY2liaW9zX2luaXQodm9pZCk7CiAKIC8qIHBjaS1tbWNvbmZpZy5jICovCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS92aXN3cy5jIGIvYXJjaC94ODYvcGNpL3Zpc3dzLmMKaW5kZXggYzJkZjRlOS4uMWE3YmVkNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL3Zpc3dzLmMKKysrIGIvYXJjaC94ODYvcGNpL3Zpc3dzLmMKQEAgLTgsMTggKzgsMTkgQEAKICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAKLSNpbmNsdWRlICJjb2JhbHQuaCIKLSNpbmNsdWRlICJsaXRoaXVtLmgiCisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9saXRoaXVtLmg+CiAKICNpbmNsdWRlICJwY2kuaCIKIAogc3RhdGljIGludCBwY2lfdmlzd3NfZW5hYmxlX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2KSB7IHJldHVybiAwOyB9CiBzdGF0aWMgdm9pZCBwY2lfdmlzd3NfZGlzYWJsZV9pcnEoc3RydWN0IHBjaV9kZXYgKmRldikgeyB9CiAKLWludCAoKnBjaWJpb3NfZW5hYmxlX2lycSkoc3RydWN0IHBjaV9kZXYgKmRldikgPSAmcGNpX3Zpc3dzX2VuYWJsZV9pcnE7Ci12b2lkICgqcGNpYmlvc19kaXNhYmxlX2lycSkoc3RydWN0IHBjaV9kZXYgKmRldikgPSAmcGNpX3Zpc3dzX2Rpc2FibGVfaXJxOworLyogaW50ICgqcGNpYmlvc19lbmFibGVfaXJxKShzdHJ1Y3QgcGNpX2RldiAqZGV2KSA9ICZwY2lfdmlzd3NfZW5hYmxlX2lycTsgKi8KKy8qIHZvaWQgKCpwY2liaW9zX2Rpc2FibGVfaXJxKShzdHJ1Y3QgcGNpX2RldiAqZGV2KSA9ICZwY2lfdmlzd3NfZGlzYWJsZV9pcnE7ICovCiAKLXZvaWQgX19pbml0IHBjaWJpb3NfcGVuYWxpemVfaXNhX2lycShpbnQgaXJxLCBpbnQgYWN0aXZlKSB7fQorLyogdm9pZCBfX2luaXQgcGNpYmlvc19wZW5hbGl6ZV9pc2FfaXJxKGludCBpcnEsIGludCBhY3RpdmUpIHt9ICovCiAKIAogdW5zaWduZWQgaW50IHBjaV9idXMwLCBwY2lfYnVzMTsKQEAgLTg1LDcgKzg2LDcgQEAKIAlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBQQ0lfSU5URVJSVVBUX0xJTkUsIGlycSk7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHBjaWJpb3NfaW5pdCh2b2lkKQorc3RhdGljIGludCBfX2luaXQgcGNpX3Zpc3dzX2luaXQodm9pZCkKIHsKIAkvKiBUaGUgVklTV1Mgc3VwcG9ydHMgY29uZmlndXJhdGlvbiBhY2Nlc3MgdHlwZSAxIG9ubHkgKi8KIAlwY2lfcHJvYmUgPSAocGNpX3Byb2JlIHwgUENJX1BST0JFX0NPTkYxKSAmCkBAIC0xMDUsNCArMTA2LDE3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN1YnN5c19pbml0Y2FsbChwY2liaW9zX2luaXQpOworc3RhdGljIF9faW5pdCBpbnQgcGNpX3N1YnN5c19pbml0KHZvaWQpCit7CisJaWYgKCFpc192aXN3c19ib3goKSkKKwkJcmV0dXJuIC0xOworCisJcGNpYmlvc19lbmFibGVfaXJxID0gJnBjaV92aXN3c19lbmFibGVfaXJxOworCXBjaWJpb3NfZGlzYWJsZV9pcnEgPSAmcGNpX3Zpc3dzX2Rpc2FibGVfaXJxOworCisJcGNpX3Zpc3dzX2luaXQoKTsKKwlwY2liaW9zX2luaXQoKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHBjaV9zdWJzeXNfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfNjQuYyBiL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jCmluZGV4IGI1NDIzNTUuLjZkZDAwMGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jCisrKyBiL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jCkBAIC04Myw3ICs4Myw3IEBACiAKIAkvKiBTZXQgdXAgdGhlIGRpcmVjdCBtYXBwaW5nIGZyb20gc2NyYXRjaCAqLwogCXN0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpcGZuX3RvX2thZGRyKDApOwotCWVuZCA9ICh1bnNpZ25lZCBsb25nKXBmbl90b19rYWRkcihlbmRfcGZuKTsKKwllbmQgPSAodW5zaWduZWQgbG9uZylwZm5fdG9fa2FkZHIobWF4X3Bmbik7CiAKIAlmb3IgKDsgc3RhcnQgPCBlbmQ7IHN0YXJ0ID0gbmV4dCkgewogCQlwdWRfdCAqcHVkID0gKHB1ZF90ICopZ2V0X3NhZmVfcGFnZShHRlBfQVRPTUlDKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3Zkc28vdmNsb2NrX2dldHRpbWUuYyBiL2FyY2gveDg2L3Zkc28vdmNsb2NrX2dldHRpbWUuYwppbmRleCBlZmEyYmE3Li4xZWYwZjkwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni92ZHNvL3ZjbG9ja19nZXR0aW1lLmMKKysrIGIvYXJjaC94ODYvdmRzby92Y2xvY2tfZ2V0dGltZS5jCkBAIC0yMyw3ICsyMyw3IEBACiAKICNkZWZpbmUgZ3RvZCB2ZHNvX3ZzeXNjYWxsX2d0b2RfZGF0YQogCi1zdGF0aWMgbG9uZyB2ZHNvX2ZhbGxiYWNrX2dldHRpbWUobG9uZyBjbG9jaywgc3RydWN0IHRpbWVzcGVjICp0cykKK25vdHJhY2Ugc3RhdGljIGxvbmcgdmRzb19mYWxsYmFja19nZXR0aW1lKGxvbmcgY2xvY2ssIHN0cnVjdCB0aW1lc3BlYyAqdHMpCiB7CiAJbG9uZyByZXQ7CiAJYXNtKCJzeXNjYWxsIiA6ICI9YSIgKHJldCkgOgpAQCAtMzEsNyArMzEsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgbG9uZyB2Z2V0bnModm9pZCkKK25vdHJhY2Ugc3RhdGljIGlubGluZSBsb25nIHZnZXRucyh2b2lkKQogewogCWxvbmcgdjsKIAljeWNsZXNfdCAoKnZyZWFkKSh2b2lkKTsKQEAgLTQwLDcgKzQwLDcgQEAKIAlyZXR1cm4gKHYgKiBndG9kLT5jbG9jay5tdWx0KSA+PiBndG9kLT5jbG9jay5zaGlmdDsKIH0KIAotc3RhdGljIG5vaW5saW5lIGludCBkb19yZWFsdGltZShzdHJ1Y3QgdGltZXNwZWMgKnRzKQorbm90cmFjZSBzdGF0aWMgbm9pbmxpbmUgaW50IGRvX3JlYWx0aW1lKHN0cnVjdCB0aW1lc3BlYyAqdHMpCiB7CiAJdW5zaWduZWQgbG9uZyBzZXEsIG5zOwogCWRvIHsKQEAgLTU0LDcgKzU0LDggQEAKIH0KIAogLyogQ29weSBvZiB0aGUgdmVyc2lvbiBpbiBrZXJuZWwvdGltZS5jIHdoaWNoIHdlIGNhbm5vdCBkaXJlY3RseSBhY2Nlc3MgKi8KLXN0YXRpYyB2b2lkIHZzZXRfbm9ybWFsaXplZF90aW1lc3BlYyhzdHJ1Y3QgdGltZXNwZWMgKnRzLCBsb25nIHNlYywgbG9uZyBuc2VjKQorbm90cmFjZSBzdGF0aWMgdm9pZAordnNldF9ub3JtYWxpemVkX3RpbWVzcGVjKHN0cnVjdCB0aW1lc3BlYyAqdHMsIGxvbmcgc2VjLCBsb25nIG5zZWMpCiB7CiAJd2hpbGUgKG5zZWMgPj0gTlNFQ19QRVJfU0VDKSB7CiAJCW5zZWMgLT0gTlNFQ19QRVJfU0VDOwpAQCAtNjgsNyArNjksNyBAQAogCXRzLT50dl9uc2VjID0gbnNlYzsKIH0KIAotc3RhdGljIG5vaW5saW5lIGludCBkb19tb25vdG9uaWMoc3RydWN0IHRpbWVzcGVjICp0cykKK25vdHJhY2Ugc3RhdGljIG5vaW5saW5lIGludCBkb19tb25vdG9uaWMoc3RydWN0IHRpbWVzcGVjICp0cykKIHsKIAl1bnNpZ25lZCBsb25nIHNlcSwgbnMsIHNlY3M7CiAJZG8gewpAQCAtODIsNyArODMsNyBAQAogCXJldHVybiAwOwogfQogCi1pbnQgX192ZHNvX2Nsb2NrX2dldHRpbWUoY2xvY2tpZF90IGNsb2NrLCBzdHJ1Y3QgdGltZXNwZWMgKnRzKQorbm90cmFjZSBpbnQgX192ZHNvX2Nsb2NrX2dldHRpbWUoY2xvY2tpZF90IGNsb2NrLCBzdHJ1Y3QgdGltZXNwZWMgKnRzKQogewogCWlmIChsaWtlbHkoZ3RvZC0+c3lzY3RsX2VuYWJsZWQgJiYgZ3RvZC0+Y2xvY2sudnJlYWQpKQogCQlzd2l0Y2ggKGNsb2NrKSB7CkBAIC05Niw3ICs5Nyw3IEBACiBpbnQgY2xvY2tfZ2V0dGltZShjbG9ja2lkX3QsIHN0cnVjdCB0aW1lc3BlYyAqKQogCV9fYXR0cmlidXRlX18oKHdlYWssIGFsaWFzKCJfX3Zkc29fY2xvY2tfZ2V0dGltZSIpKSk7CiAKLWludCBfX3Zkc29fZ2V0dGltZW9mZGF5KHN0cnVjdCB0aW1ldmFsICp0diwgc3RydWN0IHRpbWV6b25lICp0eikKK25vdHJhY2UgaW50IF9fdmRzb19nZXR0aW1lb2ZkYXkoc3RydWN0IHRpbWV2YWwgKnR2LCBzdHJ1Y3QgdGltZXpvbmUgKnR6KQogewogCWxvbmcgcmV0OwogCWlmIChsaWtlbHkoZ3RvZC0+c3lzY3RsX2VuYWJsZWQgJiYgZ3RvZC0+Y2xvY2sudnJlYWQpKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni92ZHNvL3Zkc28zMi1zZXR1cC5jIGIvYXJjaC94ODYvdmRzby92ZHNvMzItc2V0dXAuYwppbmRleCBjZjA1OGZlLi4wYmNlNTQyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni92ZHNvL3Zkc28zMi1zZXR1cC5jCisrKyBiL2FyY2gveDg2L3Zkc28vdmRzbzMyLXNldHVwLmMKQEAgLTIwMywyMCArMjAzLDExIEBACiAKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAKLXN0YXRpYyBpbnQgdXNlX3N5c2VudGVyIF9fcmVhZF9tb3N0bHkgPSAtMTsKLQotI2RlZmluZQl2ZHNvMzJfc3lzZW50ZXIoKQkodXNlX3N5c2VudGVyID4gMCkKKyNkZWZpbmUJdmRzbzMyX3N5c2VudGVyKCkJKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9TWVNFTlRFUjMyKSkKIAogLyogTWF5IG5vdCBiZSBfX2luaXQ6IGNhbGxlZCBkdXJpbmcgcmVzdW1lICovCiB2b2lkIHN5c2NhbGwzMl9jcHVfaW5pdCh2b2lkKQogewotCWlmICh1c2Vfc3lzZW50ZXIgPCAwKSB7Ci0JCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCkKLQkJCXVzZV9zeXNlbnRlciA9IDE7Ci0JCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9DRU5UQVVSKQotCQkJdXNlX3N5c2VudGVyID0gMTsKLQl9Ci0KIAkvKiBMb2FkIHRoZXNlIGFsd2F5cyBpbiBjYXNlIHNvbWUgZnV0dXJlIEFNRCBDUFUgc3VwcG9ydHMKIAkgICBTWVNFTlRFUiBmcm9tIGNvbXBhdCBtb2RlIHRvby4gKi8KIAljaGVja2luZ193cm1zcmwoTVNSX0lBMzJfU1lTRU5URVJfQ1MsICh1NjQpX19LRVJORUxfQ1MpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvdmRzby92Z2V0Y3B1LmMgYi9hcmNoL3g4Ni92ZHNvL3ZnZXRjcHUuYwppbmRleCBjODA5N2YxLi45ZmJjNmIyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni92ZHNvL3ZnZXRjcHUuYworKysgYi9hcmNoL3g4Ni92ZHNvL3ZnZXRjcHUuYwpAQCAtMTMsNyArMTMsOCBAQAogI2luY2x1ZGUgPGFzbS92Z3RvZC5oPgogI2luY2x1ZGUgInZleHRlcm4uaCIKIAotbG9uZyBfX3Zkc29fZ2V0Y3B1KHVuc2lnbmVkICpjcHUsIHVuc2lnbmVkICpub2RlLCBzdHJ1Y3QgZ2V0Y3B1X2NhY2hlICp1bnVzZWQpCitub3RyYWNlIGxvbmcKK19fdmRzb19nZXRjcHUodW5zaWduZWQgKmNwdSwgdW5zaWduZWQgKm5vZGUsIHN0cnVjdCBnZXRjcHVfY2FjaGUgKnVudXNlZCkKIHsKIAl1bnNpZ25lZCBpbnQgcDsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvdmRzby92bWEuYyBiL2FyY2gveDg2L3Zkc28vdm1hLmMKaW5kZXggM2ZkZDUxNC4uMTlhNmNmYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvdmRzby92bWEuYworKysgYi9hcmNoL3g4Ni92ZHNvL3ZtYS5jCkBAIC0xNiw3ICsxNiw3IEBACiAjaW5jbHVkZSAidmV4dGVybi5oIgkJLyogSnVzdCBmb3IgVk1BR0lDLiAgKi8KICN1bmRlZiBWRVhURVJOCiAKLWludCB2ZHNvX2VuYWJsZWQgPSAxOwordW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgdmRzb19lbmFibGVkID0gMTsKIAogZXh0ZXJuIGNoYXIgdmRzb19zdGFydFtdLCB2ZHNvX2VuZFtdOwogZXh0ZXJuIHVuc2lnbmVkIHNob3J0IHZkc29fc3luY19jcHVpZDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9LY29uZmlnIGIvYXJjaC94ODYveGVuL0tjb25maWcKaW5kZXggNmMzODhlNS4uYzJjYzk5NSAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL0tjb25maWcKKysrIGIvYXJjaC94ODYveGVuL0tjb25maWcKQEAgLTEyLDMgKzEyLDEzIEBACiAJICBUaGlzIGlzIHRoZSBMaW51eCBYZW4gcG9ydC4gIEVuYWJsaW5nIHRoaXMgd2lsbCBhbGxvdyB0aGUKIAkgIGtlcm5lbCB0byBib290IGluIGEgcGFyYXZpcnR1YWxpemVkIGVudmlyb25tZW50IHVuZGVyIHRoZQogCSAgWGVuIGh5cGVydmlzb3IuCisKK2NvbmZpZyBYRU5fTUFYX0RPTUFJTl9NRU1PUlkKKyAgICAgICBpbnQgIk1heGltdW0gYWxsb3dlZCBzaXplIG9mIGEgZG9tYWluIGluIGdpZ2FieXRlcyIKKyAgICAgICBkZWZhdWx0IDgKKyAgICAgICBkZXBlbmRzIG9uIFhFTgorICAgICAgIGhlbHAKKyAgICAgICAgIFRoZSBwc2V1ZG8tcGh5c2ljYWwgdG8gbWFjaGluZSBhZGRyZXNzIGFycmF5IGlzIHNpemVkCisgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIG1heGltdW0gcG9zc2libGUgbWVtb3J5IHNpemUgb2YgYSBYZW4KKyAgICAgICAgIGRvbWFpbi4gIFRoaXMgYXJyYXkgdXNlcyAxIHBhZ2UgcGVyIGdpZ2FieXRlLCBzbyB0aGVyZSdzIG5vCisgICAgICAgICBuZWVkIHRvIGJlIHRvbyBzdGluZ3kgaGVyZS4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vTWFrZWZpbGUgYi9hcmNoL3g4Ni94ZW4vTWFrZWZpbGUKaW5kZXggM2Q4ZGY5OC4uMmJhMmQxNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L3hlbi9NYWtlZmlsZQpAQCAtMSw0ICsxLDQgQEAKIG9iai15CQk6PSBlbmxpZ2h0ZW4ubyBzZXR1cC5vIG11bHRpY2FsbHMubyBtbXUubyBcCi0JCQl0aW1lLm8gbWFuYWdlLm8geGVuLWFzbS5vIGdyYW50LXRhYmxlLm8KKwkJCXRpbWUubyB4ZW4tYXNtLm8gZ3JhbnQtdGFibGUubyBzdXNwZW5kLm8KIAogb2JqLSQoQ09ORklHX1NNUCkJKz0gc21wLm8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwppbmRleCBmMDljMWM2Li5iYjUwODQ1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KICNpbmNsdWRlIDxhc20vcmVib290Lmg+CisjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KIAogI2luY2x1ZGUgInhlbi1vcHMuaCIKICNpbmNsdWRlICJtbXUuaCIKQEAgLTc1LDEzICs3NiwxMyBAQAogc3RydWN0IHN0YXJ0X2luZm8gKnhlbl9zdGFydF9pbmZvOwogRVhQT1JUX1NZTUJPTF9HUEwoeGVuX3N0YXJ0X2luZm8pOwogCi1zdGF0aWMgLyogX19pbml0ZGF0YSAqLyBzdHJ1Y3Qgc2hhcmVkX2luZm8gZHVtbXlfc2hhcmVkX2luZm87CitzdHJ1Y3Qgc2hhcmVkX2luZm8geGVuX2R1bW15X3NoYXJlZF9pbmZvOwogCiAvKgogICogUG9pbnQgYXQgc29tZSBlbXB0eSBtZW1vcnkgdG8gc3RhcnQgd2l0aC4gV2UgbWFwIHRoZSByZWFsIHNoYXJlZF9pbmZvCiAgKiBwYWdlIGFzIHNvb24gYXMgZml4bWFwIGlzIHVwIGFuZCBydW5uaW5nLgogICovCi1zdHJ1Y3Qgc2hhcmVkX2luZm8gKkhZUEVSVklTT1Jfc2hhcmVkX2luZm8gPSAodm9pZCAqKSZkdW1teV9zaGFyZWRfaW5mbzsKK3N0cnVjdCBzaGFyZWRfaW5mbyAqSFlQRVJWSVNPUl9zaGFyZWRfaW5mbyA9ICh2b2lkICopJnhlbl9kdW1teV9zaGFyZWRfaW5mbzsKIAogLyoKICAqIEZsYWcgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdmNwdSBpbmZvIHBsYWNlbWVudCBpcyBhdmFpbGFibGUgb24gYWxsCkBAIC05OCwxMyArOTksMTMgQEAKICAqLwogc3RhdGljIGludCBoYXZlX3ZjcHVfaW5mb19wbGFjZW1lbnQgPSAxOwogCi1zdGF0aWMgdm9pZCBfX2luaXQgeGVuX3ZjcHVfc2V0dXAoaW50IGNwdSkKK3N0YXRpYyB2b2lkIHhlbl92Y3B1X3NldHVwKGludCBjcHUpCiB7CiAJc3RydWN0IHZjcHVfcmVnaXN0ZXJfdmNwdV9pbmZvIGluZm87CiAJaW50IGVycjsKIAlzdHJ1Y3QgdmNwdV9pbmZvICp2Y3B1cDsKIAotCUJVR19PTihIWVBFUlZJU09SX3NoYXJlZF9pbmZvID09ICZkdW1teV9zaGFyZWRfaW5mbyk7CisJQlVHX09OKEhZUEVSVklTT1Jfc2hhcmVkX2luZm8gPT0gJnhlbl9kdW1teV9zaGFyZWRfaW5mbyk7CiAJcGVyX2NwdSh4ZW5fdmNwdSwgY3B1KSA9ICZIWVBFUlZJU09SX3NoYXJlZF9pbmZvLT52Y3B1X2luZm9bY3B1XTsKIAogCWlmICghaGF2ZV92Y3B1X2luZm9fcGxhY2VtZW50KQpAQCAtMTM2LDExICsxMzcsNDEgQEAKIAl9CiB9CiAKKy8qCisgKiBPbiByZXN0b3JlLCBzZXQgdGhlIHZjcHUgcGxhY2VtZW50IHVwIGFnYWluLgorICogSWYgaXQgZmFpbHMsIHRoZW4gd2UncmUgaW4gYSBiYWQgc3RhdGUsIHNpbmNlCisgKiB3ZSBjYW4ndCBiYWNrIG91dCBmcm9tIHVzaW5nIGl0Li4uCisgKi8KK3ZvaWQgeGVuX3ZjcHVfcmVzdG9yZSh2b2lkKQoreworCWlmIChoYXZlX3ZjcHVfaW5mb19wbGFjZW1lbnQpIHsKKwkJaW50IGNwdTsKKworCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQkJYm9vbCBvdGhlcl9jcHUgPSAoY3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSk7CisKKwkJCWlmIChvdGhlcl9jcHUgJiYKKwkJCSAgICBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX2Rvd24sIGNwdSwgTlVMTCkpCisJCQkJQlVHKCk7CisKKwkJCXhlbl92Y3B1X3NldHVwKGNwdSk7CisKKwkJCWlmIChvdGhlcl9jcHUgJiYKKwkJCSAgICBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3VwLCBjcHUsIE5VTEwpKQorCQkJCUJVRygpOworCQl9CisKKwkJQlVHX09OKCFoYXZlX3ZjcHVfaW5mb19wbGFjZW1lbnQpOworCX0KK30KKwogc3RhdGljIHZvaWQgX19pbml0IHhlbl9iYW5uZXIodm9pZCkKIHsKIAlwcmludGsoS0VSTl9JTkZPICJCb290aW5nIHBhcmF2aXJ0dWFsaXplZCBrZXJuZWwgb24gJXNcbiIsCiAJICAgICAgIHB2X2luZm8ubmFtZSk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiSHlwZXJ2aXNvciBzaWduYXR1cmU6ICVzXG4iLCB4ZW5fc3RhcnRfaW5mby0+bWFnaWMpOworCXByaW50ayhLRVJOX0lORk8gIkh5cGVydmlzb3Igc2lnbmF0dXJlOiAlcyVzXG4iLAorCSAgICAgICB4ZW5fc3RhcnRfaW5mby0+bWFnaWMsCisJICAgICAgIHhlbl9mZWF0dXJlKFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2ZV9hZCkgPyAiIChwcmVzZXJ2ZS1BRCkiIDogIiIpOwogfQogCiBzdGF0aWMgdm9pZCB4ZW5fY3B1aWQodW5zaWduZWQgaW50ICpheCwgdW5zaWduZWQgaW50ICpieCwKQEAgLTIzNSwxMyArMjY2LDEzIEBACiB7CiAJc3RydWN0IHZjcHVfaW5mbyAqdmNwdTsKIAotCS8qIFRoZXJlJ3MgYSBvbmUgaW5zdHJ1Y3Rpb24gcHJlZW1wdCB3aW5kb3cgaGVyZS4gIFdlIG5lZWQgdG8KLQkgICBtYWtlIHN1cmUgd2UncmUgZG9uJ3Qgc3dpdGNoIENQVXMgYmV0d2VlbiBnZXR0aW5nIHRoZSB2Y3B1Ci0JICAgcG9pbnRlciBhbmQgdXBkYXRpbmcgdGhlIG1hc2suICovCi0JcHJlZW1wdF9kaXNhYmxlKCk7CisJLyogV2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBiZWluZyBwcmVlbXB0ZWQgaGVyZSwgc2luY2UKKwkgICBlaXRoZXIgYSkgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIHNvIG5vIHByZWVtcHRpb24sIG9yIGIpCisJICAgdGhlIGNhbGxlciBpcyBjb25mdXNlZCBhbmQgaXMgdHJ5aW5nIHRvIHJlLWVuYWJsZSBpbnRlcnJ1cHRzCisJICAgb24gYW4gaW5kZXRlcm1pbmF0ZSBwcm9jZXNzb3IuICovCisKIAl2Y3B1ID0geDg2X3JlYWRfcGVyY3B1KHhlbl92Y3B1KTsKIAl2Y3B1LT5ldnRjaG5fdXBjYWxsX21hc2sgPSAwOwotCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKIAogCS8qIERvZXNuJ3QgbWF0dGVyIGlmIHdlIGdldCBwcmVlbXB0ZWQgaGVyZSwgYmVjYXVzZSBhbnkKIAkgICBwZW5kaW5nIGV2ZW50IHdpbGwgZ2V0IGRlYWx0IHdpdGggYW55d2F5LiAqLwpAQCAtMjU0LDcgKzI4NSw3IEBACiBzdGF0aWMgdm9pZCB4ZW5fc2FmZV9oYWx0KHZvaWQpCiB7CiAJLyogQmxvY2tpbmcgaW5jbHVkZXMgYW4gaW1wbGljaXQgbG9jYWxfaXJxX2VuYWJsZSgpLiAqLwotCWlmIChIWVBFUlZJU09SX3NjaGVkX29wKFNDSEVET1BfYmxvY2ssIDApICE9IDApCisJaWYgKEhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF9ibG9jaywgTlVMTCkgIT0gMCkKIAkJQlVHKCk7CiB9CiAKQEAgLTYwNyw2ICs2MzgsMzAgQEAKIAl4ZW5fbWNfaXNzdWUoUEFSQVZJUlRfTEFaWV9NTVUpOwogfQogCitzdGF0aWMgdm9pZCB4ZW5fY2x0cyh2b2lkKQoreworCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgbWNzOworCisJbWNzID0geGVuX21jX2VudHJ5KDApOworCisJTVVMVElfZnB1X3Rhc2tzd2l0Y2gobWNzLm1jLCAwKTsKKworCXhlbl9tY19pc3N1ZShQQVJBVklSVF9MQVpZX0NQVSk7Cit9CisKK3N0YXRpYyB2b2lkIHhlbl93cml0ZV9jcjAodW5zaWduZWQgbG9uZyBjcjApCit7CisJc3RydWN0IG11bHRpY2FsbF9zcGFjZSBtY3M7CisKKwkvKiBPbmx5IHBheSBhdHRlbnRpb24gdG8gY3IwLlRTOyBldmVyeXRoaW5nIGVsc2UgaXMKKwkgICBpZ25vcmVkLiAqLworCW1jcyA9IHhlbl9tY19lbnRyeSgwKTsKKworCU1VTFRJX2ZwdV90YXNrc3dpdGNoKG1jcy5tYywgKGNyMCAmIFg4Nl9DUjBfVFMpICE9IDApOworCisJeGVuX21jX2lzc3VlKFBBUkFWSVJUX0xBWllfQ1BVKTsKK30KKwogc3RhdGljIHZvaWQgeGVuX3dyaXRlX2NyMih1bnNpZ25lZCBsb25nIGNyMikKIHsKIAl4ODZfcmVhZF9wZXJjcHUoeGVuX3ZjcHUpLT5hcmNoLmNyMiA9IGNyMjsKQEAgLTYyNCw4ICs2NzksMTAgQEAKIAogc3RhdGljIHZvaWQgeGVuX3dyaXRlX2NyNCh1bnNpZ25lZCBsb25nIGNyNCkKIHsKLQkvKiBKdXN0IGlnbm9yZSBjcjQgY2hhbmdlczsgWGVuIGRvZXNuJ3QgYWxsb3cgdXMgdG8gZG8KLQkgICBhbnl0aGluZyBhbnl3YXkuICovCisJY3I0ICY9IH5YODZfQ1I0X1BHRTsKKwljcjQgJj0gflg4Nl9DUjRfUFNFOworCisJbmF0aXZlX3dyaXRlX2NyNChjcjQpOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyB4ZW5fcmVhZF9jcjModm9pZCkKQEAgLTgzMSw3ICs4ODgsNyBAQAogCQkJICBQRk5fRE9XTihfX3BhKHhlbl9zdGFydF9pbmZvLT5wdF9iYXNlKSkpOwogfQogCi1zdGF0aWMgX19pbml0IHZvaWQgc2V0dXBfc2hhcmVkX2luZm8odm9pZCkKK3ZvaWQgeGVuX3NldHVwX3NoYXJlZF9pbmZvKHZvaWQpCiB7CiAJaWYgKCF4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkgewogCQl1bnNpZ25lZCBsb25nIGFkZHIgPSBmaXhfdG9fdmlydChGSVhfUEFSQVZJUlRfQk9PVE1BUCk7CkBAIC04NTQsNiArOTExLDggQEAKIAkvKiBJbiBVUCB0aGlzIGlzIGFzIGdvb2QgYSBwbGFjZSBhcyBhbnkgdG8gc2V0IHVwIHNoYXJlZCBpbmZvICovCiAJeGVuX3NldHVwX3ZjcHVfaW5mb19wbGFjZW1lbnQoKTsKICNlbmRpZgorCisJeGVuX3NldHVwX21mbl9saXN0X2xpc3QoKTsKIH0KIAogc3RhdGljIF9faW5pdCB2b2lkIHhlbl9wYWdldGFibGVfc2V0dXBfZG9uZShwZ2RfdCAqYmFzZSkKQEAgLTg2NiwxNSArOTI1LDIzIEBACiAJcHZfbW11X29wcy5yZWxlYXNlX3BtZCA9IHhlbl9yZWxlYXNlX3BtZDsKIAlwdl9tbXVfb3BzLnNldF9wdGUgPSB4ZW5fc2V0X3B0ZTsKIAotCXNldHVwX3NoYXJlZF9pbmZvKCk7CisJeGVuX3NldHVwX3NoYXJlZF9pbmZvKCk7CiAKIAkvKiBBY3R1YWxseSBwaW4gdGhlIHBhZ2V0YWJsZSBkb3duLCBidXQgd2UgY2FuJ3Qgc2V0IFBHX3Bpbm5lZAogCSAgIHlldCBiZWNhdXNlIHRoZSBwYWdlIHN0cnVjdHVyZXMgZG9uJ3QgZXhpc3QgeWV0LiAqLwogCXBpbl9wYWdldGFibGVfcGZuKE1NVUVYVF9QSU5fTDNfVEFCTEUsIFBGTl9ET1dOKF9fcGEoYmFzZSkpKTsKIH0KIAorc3RhdGljIF9faW5pdCB2b2lkIHhlbl9wb3N0X2FsbG9jYXRvcl9pbml0KHZvaWQpCit7CisJcHZfbW11X29wcy5zZXRfcG1kID0geGVuX3NldF9wbWQ7CisJcHZfbW11X29wcy5zZXRfcHVkID0geGVuX3NldF9wdWQ7CisKKwl4ZW5fbWFya19pbml0X21tX3Bpbm5lZCgpOworfQorCiAvKiBUaGlzIGlzIGNhbGxlZCBvbmNlIHdlIGhhdmUgdGhlIGNwdV9wb3NzaWJsZV9tYXAgKi8KLXZvaWQgX19pbml0IHhlbl9zZXR1cF92Y3B1X2luZm9fcGxhY2VtZW50KHZvaWQpCit2b2lkIHhlbl9zZXR1cF92Y3B1X2luZm9fcGxhY2VtZW50KHZvaWQpCiB7CiAJaW50IGNwdTsKIApAQCAtOTQ3LDYgKzEwMTQsMzMgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgdm9pZCB4ZW5fc2V0X2ZpeG1hcCh1bnNpZ25lZCBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgcHJvdCkKK3sKKwlwdGVfdCBwdGU7CisKKwlwaHlzID4+PSBQQUdFX1NISUZUOworCisJc3dpdGNoIChpZHgpIHsKKwljYXNlIEZJWF9CVE1BUF9FTkQgLi4uIEZJWF9CVE1BUF9CRUdJTjoKKyNpZmRlZiBDT05GSUdfWDg2X0YwMEZfQlVHCisJY2FzZSBGSVhfRjAwRl9JRFQ6CisjZW5kaWYKKwljYXNlIEZJWF9XUF9URVNUOgorCWNhc2UgRklYX1ZEU086CisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJY2FzZSBGSVhfQVBJQ19CQVNFOgkvKiBtYXBzIGR1bW15IGxvY2FsIEFQSUMgKi8KKyNlbmRpZgorCQlwdGUgPSBwZm5fcHRlKHBoeXMsIHByb3QpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXB0ZSA9IG1mbl9wdGUocGh5cywgcHJvdCk7CisJCWJyZWFrOworCX0KKworCV9fbmF0aXZlX3NldF9maXhtYXAoaWR4LCBwdGUpOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IHB2X2luZm8geGVuX2luZm8gX19pbml0ZGF0YSA9IHsKIAkucGFyYXZpcnRfZW5hYmxlZCA9IDEsCiAJLnNoYXJlZF9rZXJuZWxfcG1kID0gMCwKQEAgLTk2MCw3ICsxMDU0LDcgQEAKIAkuYmFubmVyID0geGVuX2Jhbm5lciwKIAkubWVtb3J5X3NldHVwID0geGVuX21lbW9yeV9zZXR1cCwKIAkuYXJjaF9zZXR1cCA9IHhlbl9hcmNoX3NldHVwLAotCS5wb3N0X2FsbG9jYXRvcl9pbml0ID0geGVuX21hcmtfaW5pdF9tbV9waW5uZWQsCisJLnBvc3RfYWxsb2NhdG9yX2luaXQgPSB4ZW5fcG9zdF9hbGxvY2F0b3JfaW5pdCwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHZfdGltZV9vcHMgeGVuX3RpbWVfb3BzIF9faW5pdGRhdGEgPSB7CkBAIC05NjgsNyArMTA2Miw3IEBACiAKIAkuc2V0X3dhbGxjbG9jayA9IHhlbl9zZXRfd2FsbGNsb2NrLAogCS5nZXRfd2FsbGNsb2NrID0geGVuX2dldF93YWxsY2xvY2ssCi0JLmdldF9jcHVfa2h6ID0geGVuX2NwdV9raHosCisJLmdldF90c2Nfa2h6ID0geGVuX3RzY19raHosCiAJLnNjaGVkX2Nsb2NrID0geGVuX3NjaGVkX2Nsb2NrLAogfTsKIApAQCAtOTc4LDEwICsxMDcyLDEwIEBACiAJLnNldF9kZWJ1Z3JlZyA9IHhlbl9zZXRfZGVidWdyZWcsCiAJLmdldF9kZWJ1Z3JlZyA9IHhlbl9nZXRfZGVidWdyZWcsCiAKLQkuY2x0cyA9IG5hdGl2ZV9jbHRzLAorCS5jbHRzID0geGVuX2NsdHMsCiAKIAkucmVhZF9jcjAgPSBuYXRpdmVfcmVhZF9jcjAsCi0JLndyaXRlX2NyMCA9IG5hdGl2ZV93cml0ZV9jcjAsCisJLndyaXRlX2NyMCA9IHhlbl93cml0ZV9jcjAsCiAKIAkucmVhZF9jcjQgPSBuYXRpdmVfcmVhZF9jcjQsCiAJLnJlYWRfY3I0X3NhZmUgPSBuYXRpdmVfcmVhZF9jcjRfc2FmZSwKQEAgLTk5NSw3ICsxMDg5LDcgQEAKIAkucmVhZF9wbWMgPSBuYXRpdmVfcmVhZF9wbWMsCiAKIAkuaXJldCA9IHhlbl9pcmV0LAotCS5pcnFfZW5hYmxlX3N5c2NhbGxfcmV0ID0geGVuX3N5c2V4aXQsCisJLmlycV9lbmFibGVfc3lzZXhpdCA9IHhlbl9zeXNleGl0LAogCiAJLmxvYWRfdHJfZGVzYyA9IHBhcmF2aXJ0X25vcCwKIAkuc2V0X2xkdCA9IHhlbl9zZXRfbGR0LApAQCAtMTAyOSw2ICsxMTIzLDkgQEAKIAkuaXJxX2VuYWJsZSA9IHhlbl9pcnFfZW5hYmxlLAogCS5zYWZlX2hhbHQgPSB4ZW5fc2FmZV9oYWx0LAogCS5oYWx0ID0geGVuX2hhbHQsCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCS5hZGp1c3RfZXhjZXB0aW9uX2ZyYW1lID0gcGFyYXZpcnRfbm9wLAorI2VuZGlmCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHB2X2FwaWNfb3BzIHhlbl9hcGljX29wcyBfX2luaXRkYXRhID0gewpAQCAtMTA2MCw2ICsxMTU3LDkgQEAKIAkucHRlX3VwZGF0ZSA9IHBhcmF2aXJ0X25vcCwKIAkucHRlX3VwZGF0ZV9kZWZlciA9IHBhcmF2aXJ0X25vcCwKIAorCS5wZ2RfYWxsb2MgPSBfX3BhcmF2aXJ0X3BnZF9hbGxvYywKKwkucGdkX2ZyZWUgPSBwYXJhdmlydF9ub3AsCisKIAkuYWxsb2NfcHRlID0geGVuX2FsbG9jX3B0ZV9pbml0LAogCS5yZWxlYXNlX3B0ZSA9IHhlbl9yZWxlYXNlX3B0ZV9pbml0LAogCS5hbGxvY19wbWQgPSB4ZW5fYWxsb2NfcHRlX2luaXQsCkBAIC0xMDcyLDkgKzExNzIsMTMgQEAKIAogCS5zZXRfcHRlID0gTlVMTCwJLyogc2VlIHhlbl9wYWdldGFibGVfc2V0dXBfKiAqLwogCS5zZXRfcHRlX2F0ID0geGVuX3NldF9wdGVfYXQsCi0JLnNldF9wbWQgPSB4ZW5fc2V0X3BtZCwKKwkuc2V0X3BtZCA9IHhlbl9zZXRfcG1kX2h5cGVyLAorCisJLnB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQgPSBfX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQsCisJLnB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0ID0gX19wdGVwX21vZGlmeV9wcm90X2NvbW1pdCwKIAogCS5wdGVfdmFsID0geGVuX3B0ZV92YWwsCisJLnB0ZV9mbGFncyA9IG5hdGl2ZV9wdGVfdmFsLAogCS5wZ2RfdmFsID0geGVuX3BnZF92YWwsCiAKIAkubWFrZV9wdGUgPSB4ZW5fbWFrZV9wdGUsCkBAIC0xMDgyLDcgKzExODYsNyBAQAogCiAJLnNldF9wdGVfYXRvbWljID0geGVuX3NldF9wdGVfYXRvbWljLAogCS5zZXRfcHRlX3ByZXNlbnQgPSB4ZW5fc2V0X3B0ZV9hdCwKLQkuc2V0X3B1ZCA9IHhlbl9zZXRfcHVkLAorCS5zZXRfcHVkID0geGVuX3NldF9wdWRfaHlwZXIsCiAJLnB0ZV9jbGVhciA9IHhlbl9wdGVfY2xlYXIsCiAJLnBtZF9jbGVhciA9IHhlbl9wbWRfY2xlYXIsCiAKQEAgLTEwOTcsNiArMTIwMSw4IEBACiAJCS5lbnRlciA9IHBhcmF2aXJ0X2VudGVyX2xhenlfbW11LAogCQkubGVhdmUgPSB4ZW5fbGVhdmVfbGF6eSwKIAl9LAorCisJLnNldF9maXhtYXAgPSB4ZW5fc2V0X2ZpeG1hcCwKIH07CiAKICNpZmRlZiBDT05GSUdfU01QCkBAIC0xMTA4LDE3ICsxMjE0LDIxIEBACiAKIAkuc21wX3NlbmRfc3RvcCA9IHhlbl9zbXBfc2VuZF9zdG9wLAogCS5zbXBfc2VuZF9yZXNjaGVkdWxlID0geGVuX3NtcF9zZW5kX3Jlc2NoZWR1bGUsCi0JLnNtcF9jYWxsX2Z1bmN0aW9uX21hc2sgPSB4ZW5fc21wX2NhbGxfZnVuY3Rpb25fbWFzaywKKworCS5zZW5kX2NhbGxfZnVuY19pcGkgPSB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGksCisJLnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkgPSB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpLAogfTsKICNlbmRpZgkvKiBDT05GSUdfU01QICovCiAKIHN0YXRpYyB2b2lkIHhlbl9yZWJvb3QoaW50IHJlYXNvbikKIHsKKwlzdHJ1Y3Qgc2NoZWRfc2h1dGRvd24gciA9IHsgLnJlYXNvbiA9IHJlYXNvbiB9OworCiAjaWZkZWYgQ09ORklHX1NNUAogCXNtcF9zZW5kX3N0b3AoKTsKICNlbmRpZgogCi0JaWYgKEhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF9zaHV0ZG93biwgcmVhc29uKSkKKwlpZiAoSFlQRVJWSVNPUl9zY2hlZF9vcChTQ0hFRE9QX3NodXRkb3duLCAmcikpCiAJCUJVRygpOwogfQogCkBAIC0xMTczLDYgKzEyODMsOCBAQAogCiAJQlVHX09OKG1lbWNtcCh4ZW5fc3RhcnRfaW5mby0+bWFnaWMsICJ4ZW4tMyIsIDUpICE9IDApOwogCisJeGVuX3NldHVwX2ZlYXR1cmVzKCk7CisKIAkvKiBJbnN0YWxsIFhlbiBwYXJhdmlydCBvcHMgKi8KIAlwdl9pbmZvID0geGVuX2luZm87CiAJcHZfaW5pdF9vcHMgPSB4ZW5faW5pdF9vcHM7CkBAIC0xMTgyLDIxICsxMjk0LDI2IEBACiAJcHZfYXBpY19vcHMgPSB4ZW5fYXBpY19vcHM7CiAJcHZfbW11X29wcyA9IHhlbl9tbXVfb3BzOwogCisJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2ZV9hZCkpIHsKKwkJcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X3N0YXJ0ID0geGVuX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQ7CisJCXB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9jb21taXQgPSB4ZW5fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQ7CisJfQorCiAJbWFjaGluZV9vcHMgPSB4ZW5fbWFjaGluZV9vcHM7CiAKICNpZmRlZiBDT05GSUdfU01QCiAJc21wX29wcyA9IHhlbl9zbXBfb3BzOwogI2VuZGlmCiAKLQl4ZW5fc2V0dXBfZmVhdHVyZXMoKTsKLQogCS8qIEdldCBtZm4gbGlzdCAqLwogCWlmICgheGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkpCi0JCXBoeXNfdG9fbWFjaGluZV9tYXBwaW5nID0gKHVuc2lnbmVkIGxvbmcgKil4ZW5fc3RhcnRfaW5mby0+bWZuX2xpc3Q7CisJCXhlbl9idWlsZF9keW5hbWljX3BoeXNfdG9fbWFjaGluZSgpOwogCiAJcGdkID0gKHBnZF90ICopeGVuX3N0YXJ0X2luZm8tPnB0X2Jhc2U7CiAKKwlpbml0X3BnX3RhYmxlc19zdGFydCA9IF9fcGEocGdkKTsKIAlpbml0X3BnX3RhYmxlc19lbmQgPSBfX3BhKHBnZCkgKyB4ZW5fc3RhcnRfaW5mby0+bnJfcHRfZnJhbWVzKlBBR0VfU0laRTsKKwltYXhfcGZuX21hcHBlZCA9IChpbml0X3BnX3RhYmxlc19lbmQgKyA1MTIqMTAyNCkgPj4gUEFHRV9TSElGVDsKIAogCWluaXRfbW0ucGdkID0gcGdkOyAvKiB1c2UgdGhlIFhlbiBwYWdldGFibGVzIHRvIHN0YXJ0ICovCiAKQEAgLTEyMzIsOSArMTM0OSwxMiBAQAogCQk/IF9fcGEoeGVuX3N0YXJ0X2luZm8tPm1vZF9zdGFydCkgOiAwOwogCWJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemUgPSB4ZW5fc3RhcnRfaW5mby0+bW9kX2xlbjsKIAotCWlmICghaXNfaW5pdGlhbF94ZW5kb21haW4oKSkKKwlpZiAoIWlzX2luaXRpYWxfeGVuZG9tYWluKCkpIHsKKwkJYWRkX3ByZWZlcnJlZF9jb25zb2xlKCJ4ZW5ib290IiwgMCwgTlVMTCk7CisJCWFkZF9wcmVmZXJyZWRfY29uc29sZSgidHR5IiwgMCwgTlVMTCk7CiAJCWFkZF9wcmVmZXJyZWRfY29uc29sZSgiaHZjIiwgMCwgTlVMTCk7CisJfQogCiAJLyogU3RhcnQgdGhlIHdvcmxkICovCi0Jc3RhcnRfa2VybmVsKCk7CisJaTM4Nl9zdGFydF9rZXJuZWwoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tYW5hZ2UuYyBiL2FyY2gveDg2L3hlbi9tYW5hZ2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWE3YWY5ZS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni94ZW4vbWFuYWdlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDMgKzAsMCBAQAotLyoKLSAqIEhhbmRsZSBleHRlcm4gcmVxdWVzdHMgZm9yIHNodXRkb3duLCByZWJvb3QgYW5kIHN5c3JxCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9lcnIuaD4KLSNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KLSNpbmNsdWRlIDxsaW51eC9zeXNycS5oPgotCi0jaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgotCi0jZGVmaW5lIFNIVVRET1dOX0lOVkFMSUQgIC0xCi0jZGVmaW5lIFNIVVRET1dOX1BPV0VST0ZGICAwCi0jZGVmaW5lIFNIVVRET1dOX1NVU1BFTkQgICAyCi0vKiBDb2RlIDMgaXMgU0hVVERPV05fQ1JBU0gsIHdoaWNoIHdlIGRvbid0IHVzZSBiZWNhdXNlIHRoZSBkb21haW4gY2FuIG9ubHkKLSAqIHJlcG9ydCBhIGNyYXNoLCBub3QgYmUgaW5zdHJ1Y3RlZCB0byBjcmFzaCEKLSAqIEhBTFQgaXMgdGhlIHNhbWUgYXMgUE9XRVJPRkYsIGFzIGZhciBhcyB3ZSdyZSBjb25jZXJuZWQuICBUaGUgdG9vbHMgdXNlCi0gKiB0aGUgZGlzdGluY3Rpb24gd2hlbiB3ZSByZXR1cm4gdGhlIHJlYXNvbiBjb2RlIHRvIHRoZW0uCi0gKi8KLSNkZWZpbmUgU0hVVERPV05fSEFMVCAgICAgIDQKLQotLyogSWdub3JlIG11bHRpcGxlIHNodXRkb3duIHJlcXVlc3RzLiAqLwotc3RhdGljIGludCBzaHV0dGluZ19kb3duID0gU0hVVERPV05fSU5WQUxJRDsKLQotc3RhdGljIHZvaWQgc2h1dGRvd25faGFuZGxlcihzdHJ1Y3QgeGVuYnVzX3dhdGNoICp3YXRjaCwKLQkJCSAgICAgY29uc3QgY2hhciAqKnZlYywgdW5zaWduZWQgaW50IGxlbikKLXsKLQljaGFyICpzdHI7Ci0Jc3RydWN0IHhlbmJ1c190cmFuc2FjdGlvbiB4YnQ7Ci0JaW50IGVycjsKLQotCWlmIChzaHV0dGluZ19kb3duICE9IFNIVVRET1dOX0lOVkFMSUQpCi0JCXJldHVybjsKLQotIGFnYWluOgotCWVyciA9IHhlbmJ1c190cmFuc2FjdGlvbl9zdGFydCgmeGJ0KTsKLQlpZiAoZXJyKQotCQlyZXR1cm47Ci0KLQlzdHIgPSAoY2hhciAqKXhlbmJ1c19yZWFkKHhidCwgImNvbnRyb2wiLCAic2h1dGRvd24iLCBOVUxMKTsKLQkvKiBJZ25vcmUgcmVhZCBlcnJvcnMgYW5kIGVtcHR5IHJlYWRzLiAqLwotCWlmIChYRU5CVVNfSVNfRVJSX1JFQUQoc3RyKSkgewotCQl4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMSk7Ci0JCXJldHVybjsKLQl9Ci0KLQl4ZW5idXNfd3JpdGUoeGJ0LCAiY29udHJvbCIsICJzaHV0ZG93biIsICIiKTsKLQotCWVyciA9IHhlbmJ1c190cmFuc2FjdGlvbl9lbmQoeGJ0LCAwKTsKLQlpZiAoZXJyID09IC1FQUdBSU4pIHsKLQkJa2ZyZWUoc3RyKTsKLQkJZ290byBhZ2FpbjsKLQl9Ci0KLQlpZiAoc3RyY21wKHN0ciwgInBvd2Vyb2ZmIikgPT0gMCB8fAotCSAgICBzdHJjbXAoc3RyLCAiaGFsdCIpID09IDApCi0JCW9yZGVybHlfcG93ZXJvZmYoZmFsc2UpOwotCWVsc2UgaWYgKHN0cmNtcChzdHIsICJyZWJvb3QiKSA9PSAwKQotCQljdHJsX2FsdF9kZWwoKTsKLQllbHNlIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiSWdub3Jpbmcgc2h1dGRvd24gcmVxdWVzdDogJXNcbiIsIHN0cik7Ci0JCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9JTlZBTElEOwotCX0KLQotCWtmcmVlKHN0cik7Ci19Ci0KLXN0YXRpYyB2b2lkIHN5c3JxX2hhbmRsZXIoc3RydWN0IHhlbmJ1c193YXRjaCAqd2F0Y2gsIGNvbnN0IGNoYXIgKip2ZWMsCi0JCQkgIHVuc2lnbmVkIGludCBsZW4pCi17Ci0JY2hhciBzeXNycV9rZXkgPSAnXDAnOwotCXN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24geGJ0OwotCWludCBlcnI7Ci0KLSBhZ2FpbjoKLQllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQoJnhidCk7Ci0JaWYgKGVycikKLQkJcmV0dXJuOwotCWlmICgheGVuYnVzX3NjYW5mKHhidCwgImNvbnRyb2wiLCAic3lzcnEiLCAiJWMiLCAmc3lzcnFfa2V5KSkgewotCQlwcmludGsoS0VSTl9FUlIgIlVuYWJsZSB0byByZWFkIHN5c3JxIGNvZGUgaW4gIgotCQkgICAgICAgImNvbnRyb2wvc3lzcnFcbiIpOwotCQl4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMSk7Ci0JCXJldHVybjsKLQl9Ci0KLQlpZiAoc3lzcnFfa2V5ICE9ICdcMCcpCi0JCXhlbmJ1c19wcmludGYoeGJ0LCAiY29udHJvbCIsICJzeXNycSIsICIlYyIsICdcMCcpOwotCi0JZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDApOwotCWlmIChlcnIgPT0gLUVBR0FJTikKLQkJZ290byBhZ2FpbjsKLQotCWlmIChzeXNycV9rZXkgIT0gJ1wwJykKLQkJaGFuZGxlX3N5c3JxKHN5c3JxX2tleSwgTlVMTCk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHNodXRkb3duX3dhdGNoID0gewotCS5ub2RlID0gImNvbnRyb2wvc2h1dGRvd24iLAotCS5jYWxsYmFjayA9IHNodXRkb3duX2hhbmRsZXIKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHN5c3JxX3dhdGNoID0gewotCS5ub2RlID0gImNvbnRyb2wvc3lzcnEiLAotCS5jYWxsYmFjayA9IHN5c3JxX2hhbmRsZXIKLX07Ci0KLXN0YXRpYyBpbnQgc2V0dXBfc2h1dGRvd25fd2F0Y2hlcih2b2lkKQotewotCWludCBlcnI7Ci0KLQllcnIgPSByZWdpc3Rlcl94ZW5idXNfd2F0Y2goJnNodXRkb3duX3dhdGNoKTsKLQlpZiAoZXJyKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHNldCBzaHV0ZG93biB3YXRjaGVyXG4iKTsKLQkJcmV0dXJuIGVycjsKLQl9Ci0KLQllcnIgPSByZWdpc3Rlcl94ZW5idXNfd2F0Y2goJnN5c3JxX3dhdGNoKTsKLQlpZiAoZXJyKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHNldCBzeXNycSB3YXRjaGVyXG4iKTsKLQkJcmV0dXJuIGVycjsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzaHV0ZG93bl9ldmVudChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5vdGlmaWVyLAotCQkJICB1bnNpZ25lZCBsb25nIGV2ZW50LAotCQkJICB2b2lkICpkYXRhKQotewotCXNldHVwX3NodXRkb3duX3dhdGNoZXIoKTsKLQlyZXR1cm4gTk9USUZZX0RPTkU7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHNldHVwX3NodXRkb3duX2V2ZW50KHZvaWQpCi17Ci0Jc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4ZW5zdG9yZV9ub3RpZmllciA9IHsKLQkJLm5vdGlmaWVyX2NhbGwgPSBzaHV0ZG93bl9ldmVudAotCX07Ci0JcmVnaXN0ZXJfeGVuc3RvcmVfbm90aWZpZXIoJnhlbnN0b3JlX25vdGlmaWVyKTsKLQotCXJldHVybiAwOwotfQotCi1zdWJzeXNfaW5pdGNhbGwoc2V0dXBfc2h1dGRvd25fZXZlbnQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL21tdS5jIGIvYXJjaC94ODYveGVuL21tdS5jCmluZGV4IDRlNTI3ZTcuLmZmMGFhNzQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9tbXUuYworKysgYi9hcmNoL3g4Ni94ZW4vbW11LmMKQEAgLTU2LDYgKzU2LDEzMSBAQAogI2luY2x1ZGUgIm11bHRpY2FsbHMuaCIKICNpbmNsdWRlICJtbXUuaCIKIAorI2RlZmluZSBQMk1fRU5UUklFU19QRVJfUEFHRQkoUEFHRV9TSVpFIC8gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKQorI2RlZmluZSBUT1BfRU5UUklFUwkJKE1BWF9ET01BSU5fUEFHRVMgLyBQMk1fRU5UUklFU19QRVJfUEFHRSkKKworLyogUGxhY2Vob2xkZXIgZm9yIGhvbGVzIGluIHRoZSBhZGRyZXNzIHNwYWNlICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBwMm1fbWlzc2luZ1tQMk1fRU5UUklFU19QRVJfUEFHRV0KKwlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuZGF0YS5wYWdlX2FsaWduZWQiKSkpID0KKwkJeyBbIDAgLi4uIFAyTV9FTlRSSUVTX1BFUl9QQUdFLTEgXSA9IH4wVUwgfTsKKworIC8qIEFycmF5IG9mIHBvaW50ZXJzIHRvIHBhZ2VzIGNvbnRhaW5pbmcgcDJtIGVudHJpZXMgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nICpwMm1fdG9wW1RPUF9FTlRSSUVTXQorCV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5kYXRhLnBhZ2VfYWxpZ25lZCIpKSkgPQorCQl7IFsgMCAuLi4gVE9QX0VOVFJJRVMgLSAxXSA9ICZwMm1fbWlzc2luZ1swXSB9OworCisvKiBBcnJheXMgb2YgcDJtIGFycmF5cyBleHByZXNzZWQgaW4gbWZucyB1c2VkIGZvciBzYXZlL3Jlc3RvcmUgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIHAybV90b3BfbWZuW1RPUF9FTlRSSUVTXQorCV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgcDJtX3RvcF9tZm5fbGlzdFsKKwkJCVBBR0VfQUxJR04oVE9QX0VOVFJJRVMgLyBQMk1fRU5UUklFU19QRVJfUEFHRSldCisJX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSkpOworCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHAybV90b3BfaW5kZXgodW5zaWduZWQgbG9uZyBwZm4pCit7CisJQlVHX09OKHBmbiA+PSBNQVhfRE9NQUlOX1BBR0VTKTsKKwlyZXR1cm4gcGZuIC8gUDJNX0VOVFJJRVNfUEVSX1BBR0U7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgcDJtX2luZGV4KHVuc2lnbmVkIGxvbmcgcGZuKQoreworCXJldHVybiBwZm4gJSBQMk1fRU5UUklFU19QRVJfUEFHRTsKK30KKworLyogQnVpbGQgdGhlIHBhcmFsbGVsIHAybV90b3BfbWZuIHN0cnVjdHVyZXMgKi8KK3ZvaWQgeGVuX3NldHVwX21mbl9saXN0X2xpc3Qodm9pZCkKK3sKKwl1bnNpZ25lZCBwZm4sIGlkeDsKKworCWZvcihwZm4gPSAwOyBwZm4gPCBNQVhfRE9NQUlOX1BBR0VTOyBwZm4gKz0gUDJNX0VOVFJJRVNfUEVSX1BBR0UpIHsKKwkJdW5zaWduZWQgdG9waWR4ID0gcDJtX3RvcF9pbmRleChwZm4pOworCisJCXAybV90b3BfbWZuW3RvcGlkeF0gPSB2aXJ0X3RvX21mbihwMm1fdG9wW3RvcGlkeF0pOworCX0KKworCWZvcihpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHAybV90b3BfbWZuX2xpc3QpOyBpZHgrKykgeworCQl1bnNpZ25lZCB0b3BpZHggPSBpZHggKiBQMk1fRU5UUklFU19QRVJfUEFHRTsKKwkJcDJtX3RvcF9tZm5fbGlzdFtpZHhdID0gdmlydF90b19tZm4oJnAybV90b3BfbWZuW3RvcGlkeF0pOworCX0KKworCUJVR19PTihIWVBFUlZJU09SX3NoYXJlZF9pbmZvID09ICZ4ZW5fZHVtbXlfc2hhcmVkX2luZm8pOworCisJSFlQRVJWSVNPUl9zaGFyZWRfaW5mby0+YXJjaC5wZm5fdG9fbWZuX2ZyYW1lX2xpc3RfbGlzdCA9CisJCXZpcnRfdG9fbWZuKHAybV90b3BfbWZuX2xpc3QpOworCUhZUEVSVklTT1Jfc2hhcmVkX2luZm8tPmFyY2gubWF4X3BmbiA9IHhlbl9zdGFydF9pbmZvLT5ucl9wYWdlczsKK30KKworLyogU2V0IHVwIHAybV90b3AgdG8gcG9pbnQgdG8gdGhlIGRvbWFpbi1idWlsZGVyIHByb3ZpZGVkIHAybSBwYWdlcyAqLwordm9pZCBfX2luaXQgeGVuX2J1aWxkX2R5bmFtaWNfcGh5c190b19tYWNoaW5lKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyAqbWZuX2xpc3QgPSAodW5zaWduZWQgbG9uZyAqKXhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdDsKKwl1bnNpZ25lZCBsb25nIG1heF9wZm4gPSBtaW4oTUFYX0RPTUFJTl9QQUdFUywgeGVuX3N0YXJ0X2luZm8tPm5yX3BhZ2VzKTsKKwl1bnNpZ25lZCBwZm47CisKKwlmb3IocGZuID0gMDsgcGZuIDwgbWF4X3BmbjsgcGZuICs9IFAyTV9FTlRSSUVTX1BFUl9QQUdFKSB7CisJCXVuc2lnbmVkIHRvcGlkeCA9IHAybV90b3BfaW5kZXgocGZuKTsKKworCQlwMm1fdG9wW3RvcGlkeF0gPSAmbWZuX2xpc3RbcGZuXTsKKwl9Cit9CisKK3Vuc2lnbmVkIGxvbmcgZ2V0X3BoeXNfdG9fbWFjaGluZSh1bnNpZ25lZCBsb25nIHBmbikKK3sKKwl1bnNpZ25lZCB0b3BpZHgsIGlkeDsKKworCWlmICh1bmxpa2VseShwZm4gPj0gTUFYX0RPTUFJTl9QQUdFUykpCisJCXJldHVybiBJTlZBTElEX1AyTV9FTlRSWTsKKworCXRvcGlkeCA9IHAybV90b3BfaW5kZXgocGZuKTsKKwlpZHggPSBwMm1faW5kZXgocGZuKTsKKwlyZXR1cm4gcDJtX3RvcFt0b3BpZHhdW2lkeF07Cit9CitFWFBPUlRfU1lNQk9MX0dQTChnZXRfcGh5c190b19tYWNoaW5lKTsKKworc3RhdGljIHZvaWQgYWxsb2NfcDJtKHVuc2lnbmVkIGxvbmcgKipwcCwgdW5zaWduZWQgbG9uZyAqbWZucCkKK3sKKwl1bnNpZ25lZCBsb25nICpwOworCXVuc2lnbmVkIGk7CisKKwlwID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX05PRkFJTCk7CisJQlVHX09OKHAgPT0gTlVMTCk7CisKKwlmb3IoaSA9IDA7IGkgPCBQMk1fRU5UUklFU19QRVJfUEFHRTsgaSsrKQorCQlwW2ldID0gSU5WQUxJRF9QMk1fRU5UUlk7CisKKwlpZiAoY21weGNoZyhwcCwgcDJtX21pc3NpbmcsIHApICE9IHAybV9taXNzaW5nKQorCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcCk7CisJZWxzZQorCQkqbWZucCA9IHZpcnRfdG9fbWZuKHApOworfQorCit2b2lkIHNldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgbWZuKQoreworCXVuc2lnbmVkIHRvcGlkeCwgaWR4OworCisJaWYgKHVubGlrZWx5KHhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKSkgeworCQlCVUdfT04ocGZuICE9IG1mbiAmJiBtZm4gIT0gSU5WQUxJRF9QMk1fRU5UUlkpOworCQlyZXR1cm47CisJfQorCisJaWYgKHVubGlrZWx5KHBmbiA+PSBNQVhfRE9NQUlOX1BBR0VTKSkgeworCQlCVUdfT04obWZuICE9IElOVkFMSURfUDJNX0VOVFJZKTsKKwkJcmV0dXJuOworCX0KKworCXRvcGlkeCA9IHAybV90b3BfaW5kZXgocGZuKTsKKwlpZiAocDJtX3RvcFt0b3BpZHhdID09IHAybV9taXNzaW5nKSB7CisJCS8qIG5vIG5lZWQgdG8gYWxsb2NhdGUgYSBwYWdlIHRvIHN0b3JlIGFuIGludmFsaWQgZW50cnkgKi8KKwkJaWYgKG1mbiA9PSBJTlZBTElEX1AyTV9FTlRSWSkKKwkJCXJldHVybjsKKwkJYWxsb2NfcDJtKCZwMm1fdG9wW3RvcGlkeF0sICZwMm1fdG9wX21mblt0b3BpZHhdKTsKKwl9CisKKwlpZHggPSBwMm1faW5kZXgocGZuKTsKKwlwMm1fdG9wW3RvcGlkeF1baWR4XSA9IG1mbjsKK30KKwogeG1hZGRyX3QgYXJiaXRyYXJ5X3ZpcnRfdG9fbWFjaGluZSh1bnNpZ25lZCBsb25nIGFkZHJlc3MpCiB7CiAJdW5zaWduZWQgaW50IGxldmVsOwpAQCAtOTgsMjQgKzIyMyw2MCBAQAogfQogCiAKLXZvaWQgeGVuX3NldF9wbWQocG1kX3QgKnB0ciwgcG1kX3QgdmFsKQorc3RhdGljIGJvb2wgcGFnZV9waW5uZWQodm9pZCAqcHRyKQoreworCXN0cnVjdCBwYWdlICpwYWdlID0gdmlydF90b19wYWdlKHB0cik7CisKKwlyZXR1cm4gUGFnZVBpbm5lZChwYWdlKTsKK30KKworc3RhdGljIHZvaWQgZXh0ZW5kX21tdV91cGRhdGUoY29uc3Qgc3RydWN0IG1tdV91cGRhdGUgKnVwZGF0ZSkKIHsKIAlzdHJ1Y3QgbXVsdGljYWxsX3NwYWNlIG1jczsKIAlzdHJ1Y3QgbW11X3VwZGF0ZSAqdTsKIAorCW1jcyA9IHhlbl9tY19leHRlbmRfYXJncyhfX0hZUEVSVklTT1JfbW11X3VwZGF0ZSwgc2l6ZW9mKCp1KSk7CisKKwlpZiAobWNzLm1jICE9IE5VTEwpCisJCW1jcy5tYy0+YXJnc1sxXSsrOworCWVsc2UgeworCQltY3MgPSBfX3hlbl9tY19lbnRyeShzaXplb2YoKnUpKTsKKwkJTVVMVElfbW11X3VwZGF0ZShtY3MubWMsIG1jcy5hcmdzLCAxLCBOVUxMLCBET01JRF9TRUxGKTsKKwl9CisKKwl1ID0gbWNzLmFyZ3M7CisJKnUgPSAqdXBkYXRlOworfQorCit2b2lkIHhlbl9zZXRfcG1kX2h5cGVyKHBtZF90ICpwdHIsIHBtZF90IHZhbCkKK3sKKwlzdHJ1Y3QgbW11X3VwZGF0ZSB1OworCiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAKLQltY3MgPSB4ZW5fbWNfZW50cnkoc2l6ZW9mKCp1KSk7Ci0JdSA9IG1jcy5hcmdzOwotCXUtPnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdHIpLm1hZGRyOwotCXUtPnZhbCA9IHBtZF92YWxfbWEodmFsKTsKLQlNVUxUSV9tbXVfdXBkYXRlKG1jcy5tYywgdSwgMSwgTlVMTCwgRE9NSURfU0VMRik7CisJeGVuX21jX2JhdGNoKCk7CisKKwl1LnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdHIpLm1hZGRyOworCXUudmFsID0gcG1kX3ZhbF9tYSh2YWwpOworCWV4dGVuZF9tbXVfdXBkYXRlKCZ1KTsKIAogCXhlbl9tY19pc3N1ZShQQVJBVklSVF9MQVpZX01NVSk7CiAKIAlwcmVlbXB0X2VuYWJsZSgpOwogfQogCit2b2lkIHhlbl9zZXRfcG1kKHBtZF90ICpwdHIsIHBtZF90IHZhbCkKK3sKKwkvKiBJZiBwYWdlIGlzIG5vdCBwaW5uZWQsIHdlIGNhbiBqdXN0IHVwZGF0ZSB0aGUgZW50cnkKKwkgICBkaXJlY3RseSAqLworCWlmICghcGFnZV9waW5uZWQocHRyKSkgeworCQkqcHRyID0gdmFsOworCQlyZXR1cm47CisJfQorCisJeGVuX3NldF9wbWRfaHlwZXIocHRyLCB2YWwpOworfQorCiAvKgogICogQXNzb2NpYXRlIGEgdmlydHVhbCBwYWdlIGZyYW1lIHdpdGggYSBnaXZlbiBwaHlzaWNhbCBwYWdlIGZyYW1lCiAgKiBhbmQgcHJvdGVjdGlvbiBmbGFncyBmb3IgdGhhdCBmcmFtZS4KQEAgLTE3OSw2ICszNDAsMjYgQEAKIAkJcHJlZW1wdF9lbmFibGUoKTsKIH0KIAorcHRlX3QgeGVuX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApCit7CisJLyogSnVzdCByZXR1cm4gdGhlIHB0ZSBhcy1pcy4gIFdlIHByZXNlcnZlIHRoZSBiaXRzIG9uIGNvbW1pdCAqLworCXJldHVybiAqcHRlcDsKK30KKwordm9pZCB4ZW5fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwlzdHJ1Y3QgbW11X3VwZGF0ZSB1OworCisJeGVuX21jX2JhdGNoKCk7CisKKwl1LnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdGVwKS5tYWRkciB8IE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQ7CisJdS52YWwgPSBwdGVfdmFsX21hKHB0ZSk7CisJZXh0ZW5kX21tdV91cGRhdGUoJnUpOworCisJeGVuX21jX2lzc3VlKFBBUkFWSVJUX0xBWllfTU1VKTsKK30KKwogLyogQXNzdW1lIHB0ZXZhbF90IGlzIGVxdWl2YWxlbnQgdG8gYWxsIHRoZSBvdGhlciAqdmFsX3QgdHlwZXMuICovCiBzdGF0aWMgcHRldmFsX3QgcHRlX21mbl90b19wZm4ocHRldmFsX3QgdmFsKQogewpAQCAtMjI5LDI0ICs0MTAsMzUgQEAKIAlyZXR1cm4gcHRlX21mbl90b19wZm4ocG1kLnBtZCk7CiB9CiAKLXZvaWQgeGVuX3NldF9wdWQocHVkX3QgKnB0ciwgcHVkX3QgdmFsKQordm9pZCB4ZW5fc2V0X3B1ZF9oeXBlcihwdWRfdCAqcHRyLCBwdWRfdCB2YWwpCiB7Ci0Jc3RydWN0IG11bHRpY2FsbF9zcGFjZSBtY3M7Ci0Jc3RydWN0IG1tdV91cGRhdGUgKnU7CisJc3RydWN0IG1tdV91cGRhdGUgdTsKIAogCXByZWVtcHRfZGlzYWJsZSgpOwogCi0JbWNzID0geGVuX21jX2VudHJ5KHNpemVvZigqdSkpOwotCXUgPSBtY3MuYXJnczsKLQl1LT5wdHIgPSB2aXJ0X3RvX21hY2hpbmUocHRyKS5tYWRkcjsKLQl1LT52YWwgPSBwdWRfdmFsX21hKHZhbCk7Ci0JTVVMVElfbW11X3VwZGF0ZShtY3MubWMsIHUsIDEsIE5VTEwsIERPTUlEX1NFTEYpOworCXhlbl9tY19iYXRjaCgpOworCisJdS5wdHIgPSB2aXJ0X3RvX21hY2hpbmUocHRyKS5tYWRkcjsKKwl1LnZhbCA9IHB1ZF92YWxfbWEodmFsKTsKKwlleHRlbmRfbW11X3VwZGF0ZSgmdSk7CiAKIAl4ZW5fbWNfaXNzdWUoUEFSQVZJUlRfTEFaWV9NTVUpOwogCiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KIAordm9pZCB4ZW5fc2V0X3B1ZChwdWRfdCAqcHRyLCBwdWRfdCB2YWwpCit7CisJLyogSWYgcGFnZSBpcyBub3QgcGlubmVkLCB3ZSBjYW4ganVzdCB1cGRhdGUgdGhlIGVudHJ5CisJICAgZGlyZWN0bHkgKi8KKwlpZiAoIXBhZ2VfcGlubmVkKHB0cikpIHsKKwkJKnB0ciA9IHZhbDsKKwkJcmV0dXJuOworCX0KKworCXhlbl9zZXRfcHVkX2h5cGVyKHB0ciwgdmFsKTsKK30KKwogdm9pZCB4ZW5fc2V0X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQogewogCXB0ZXAtPnB0ZV9oaWdoID0gcHRlLnB0ZV9oaWdoOwpAQCAtMjY4LDcgKzQ2MCw3IEBACiAKIHZvaWQgeGVuX3BtZF9jbGVhcihwbWRfdCAqcG1kcCkKIHsKLQl4ZW5fc2V0X3BtZChwbWRwLCBfX3BtZCgwKSk7CisJc2V0X3BtZChwbWRwLCBfX3BtZCgwKSk7CiB9CiAKIHBtZF90IHhlbl9tYWtlX3BtZChwbWR2YWxfdCBwbWQpCkBAIC00NDEsNiArNjMzLDI5IEBACiAJeGVuX21jX2lzc3VlKDApOwogfQogCisvKgorICogT24gc2F2ZSwgd2UgbmVlZCB0byBwaW4gYWxsIHBhZ2V0YWJsZXMgdG8gbWFrZSBzdXJlIHRoZXkgZ2V0IHRoZWlyCisgKiBtZm5zIHR1cm5lZCBpbnRvIHBmbnMuICBTZWFyY2ggdGhlIGxpc3QgZm9yIGFueSB1bnBpbm5lZCBwZ2RzIGFuZCBwaW4KKyAqIHRoZW0gKHVucGlubmVkIHBnZHMgYXJlIG5vdCBjdXJyZW50bHkgaW4gdXNlLCBwcm9iYWJseSBiZWNhdXNlIHRoZQorICogcHJvY2VzcyBpcyB1bmRlciBjb25zdHJ1Y3Rpb24gb3IgZGVzdHJ1Y3Rpb24pLgorICovCit2b2lkIHhlbl9tbV9waW5fYWxsKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwYWdlLCAmcGdkX2xpc3QsIGxydSkgeworCQlpZiAoIVBhZ2VQaW5uZWQocGFnZSkpIHsKKwkJCXhlbl9wZ2RfcGluKChwZ2RfdCAqKXBhZ2VfYWRkcmVzcyhwYWdlKSk7CisJCQlTZXRQYWdlU2F2ZVBpbm5lZChwYWdlKTsKKwkJfQorCX0KKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7Cit9CisKIC8qIFRoZSBpbml0X21tIHBhZ2V0YWJsZSBpcyByZWFsbHkgcGlubmVkIGFzIHNvb24gYXMgaXRzIGNyZWF0ZWQsIGJ1dAogICAgdGhhdCdzIGJlZm9yZSB3ZSBoYXZlIHBhZ2Ugc3RydWN0dXJlcyB0byBzdG9yZSB0aGUgYml0cy4gIFNvIGRvIGFsbAogICAgdGhlIGJvb2sta2VlcGluZyBub3cuICovCkBAIC00OTgsNiArNzEzLDI5IEBACiAJeGVuX21jX2lzc3VlKDApOwogfQogCisvKgorICogT24gcmVzdW1lLCB1bmRvIGFueSBwaW5uaW5nIGRvbmUgYXQgc2F2ZSwgc28gdGhhdCB0aGUgcmVzdCBvZiB0aGUKKyAqIGtlcm5lbCBkb2Vzbid0IHNlZSBhbnkgdW5leHBlY3RlZCBwaW5uZWQgcGFnZXRhYmxlcy4KKyAqLwordm9pZCB4ZW5fbW1fdW5waW5fYWxsKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwYWdlLCAmcGdkX2xpc3QsIGxydSkgeworCQlpZiAoUGFnZVNhdmVQaW5uZWQocGFnZSkpIHsKKwkJCUJVR19PTighUGFnZVBpbm5lZChwYWdlKSk7CisJCQlwcmludGsoInVucGlubmluZyBwaW5uZWQgJXBcbiIsIHBhZ2VfYWRkcmVzcyhwYWdlKSk7CisJCQl4ZW5fcGdkX3VucGluKChwZ2RfdCAqKXBhZ2VfYWRkcmVzcyhwYWdlKSk7CisJCQlDbGVhclBhZ2VTYXZlUGlubmVkKHBhZ2UpOworCQl9CisJfQorCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKK30KKwogdm9pZCB4ZW5fYWN0aXZhdGVfbW0oc3RydWN0IG1tX3N0cnVjdCAqcHJldiwgc3RydWN0IG1tX3N0cnVjdCAqbmV4dCkKIHsKIAlzcGluX2xvY2soJm5leHQtPnBhZ2VfdGFibGVfbG9jayk7CkBAIC01NTgsNyArNzk2LDcgQEAKIAl9CiAKIAlpZiAoIWNwdXNfZW1wdHkobWFzaykpCi0JCXhlbl9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrKG1hc2ssIGRyb3Bfb3RoZXJfbW1fcmVmLCBtbSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX21hc2sobWFzaywgZHJvcF9vdGhlcl9tbV9yZWYsIG1tLCAxKTsKIH0KICNlbHNlCiBzdGF0aWMgdm9pZCBkcm9wX21tX3JlZihzdHJ1Y3QgbW1fc3RydWN0ICptbSkKQEAgLTU5MSw3ICs4MjksNyBAQAogCXNwaW5fbG9jaygmbW0tPnBhZ2VfdGFibGVfbG9jayk7CiAKIAkvKiBwZ2QgbWF5IG5vdCBiZSBwaW5uZWQgaW4gdGhlIGVycm9yIGV4aXQgcGF0aCBvZiBleGVjdmUgKi8KLQlpZiAoUGFnZVBpbm5lZCh2aXJ0X3RvX3BhZ2UobW0tPnBnZCkpKQorCWlmIChwYWdlX3Bpbm5lZChtbS0+cGdkKSkKIAkJeGVuX3BnZF91bnBpbihtbS0+cGdkKTsKIAogCXNwaW5fdW5sb2NrKCZtbS0+cGFnZV90YWJsZV9sb2NrKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tbXUuaCBiL2FyY2gveDg2L3hlbi9tbXUuaAppbmRleCA1ZmU5NjFjLi4yOTdiZjlmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vbW11LmgKKysrIGIvYXJjaC94ODYveGVuL21tdS5oCkBAIC0yNSwxMCArMjUsNiBAQAogCiB2b2lkIHNldF9wdGVfbWZuKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHVuc2lnbmVkIGxvbmcgcGZuLCBwZ3Byb3RfdCBmbGFncyk7CiAKLXZvaWQgeGVuX3NldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCk7Ci12b2lkIHhlbl9zZXRfcHRlX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCi0JCSAgICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRldmFsKTsKLXZvaWQgeGVuX3NldF9wbWQocG1kX3QgKnBtZHAsIHBtZF90IHBtZHZhbCk7CiAKIHZvaWQgeGVuX2FjdGl2YXRlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKnByZXYsIHN0cnVjdCBtbV9zdHJ1Y3QgKm5leHQpOwogdm9pZCB4ZW5fZHVwX21tYXAoc3RydWN0IG1tX3N0cnVjdCAqb2xkbW0sIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKQEAgLTQ1LDExICs0MSwxOSBAQAogcG1kX3QgeGVuX21ha2VfcG1kKHBtZHZhbF90KTsKIHBnZF90IHhlbl9tYWtlX3BnZChwZ2R2YWxfdCk7CiAKK3ZvaWQgeGVuX3NldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCk7CiB2b2lkIHhlbl9zZXRfcHRlX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCiAJCSAgICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRldmFsKTsKIHZvaWQgeGVuX3NldF9wdGVfYXRvbWljKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpOwordm9pZCB4ZW5fc2V0X3BtZChwbWRfdCAqcG1kcCwgcG1kX3QgcG1kdmFsKTsKIHZvaWQgeGVuX3NldF9wdWQocHVkX3QgKnB0ciwgcHVkX3QgdmFsKTsKK3ZvaWQgeGVuX3NldF9wbWRfaHlwZXIocG1kX3QgKnBtZHAsIHBtZF90IHBtZHZhbCk7Cit2b2lkIHhlbl9zZXRfcHVkX2h5cGVyKHB1ZF90ICpwdHIsIHB1ZF90IHZhbCk7CiB2b2lkIHhlbl9wdGVfY2xlYXIoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwogdm9pZCB4ZW5fcG1kX2NsZWFyKHBtZF90ICpwbWRwKTsKIAorcHRlX3QgeGVuX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwordm9pZCAgeGVuX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKTsKKwogI2VuZGlmCS8qIF9YRU5fTU1VX0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmMgYi9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5jCmluZGV4IDU3OTFlYjIuLjNjNjNjNGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmMKKysrIGIvYXJjaC94ODYveGVuL211bHRpY2FsbHMuYwpAQCAtMjksMTQgKzI5LDE0IEBACiAjZGVmaW5lIE1DX0RFQlVHCTEKIAogI2RlZmluZSBNQ19CQVRDSAkzMgotI2RlZmluZSBNQ19BUkdTCQkoTUNfQkFUQ0ggKiAxNiAvIHNpemVvZih1NjQpKQorI2RlZmluZSBNQ19BUkdTCQkoTUNfQkFUQ0ggKiAxNikKIAogc3RydWN0IG1jX2J1ZmZlciB7CiAJc3RydWN0IG11bHRpY2FsbF9lbnRyeSBlbnRyaWVzW01DX0JBVENIXTsKICNpZiBNQ19ERUJVRwogCXN0cnVjdCBtdWx0aWNhbGxfZW50cnkgZGVidWdbTUNfQkFUQ0hdOwogI2VuZGlmCi0JdTY0IGFyZ3NbTUNfQVJHU107CisJdW5zaWduZWQgY2hhciBhcmdzW01DX0FSR1NdOwogCXN0cnVjdCBjYWxsYmFjayB7CiAJCXZvaWQgKCpmbikodm9pZCAqKTsKIAkJdm9pZCAqZGF0YTsKQEAgLTEwNywyMCArMTA3LDQ4IEBACiB7CiAJc3RydWN0IG1jX2J1ZmZlciAqYiA9ICZfX2dldF9jcHVfdmFyKG1jX2J1ZmZlcik7CiAJc3RydWN0IG11bHRpY2FsbF9zcGFjZSByZXQ7Ci0JdW5zaWduZWQgYXJnc3BhY2UgPSAoYXJncyArIHNpemVvZih1NjQpIC0gMSkgLyBzaXplb2YodTY0KTsKKwl1bnNpZ25lZCBhcmdpZHggPSByb3VuZHVwKGItPmFyZ2lkeCwgc2l6ZW9mKHU2NCkpOwogCiAJQlVHX09OKHByZWVtcHRpYmxlKCkpOwotCUJVR19PTihhcmdzcGFjZSA+IE1DX0FSR1MpOworCUJVR19PTihiLT5hcmdpZHggPiBNQ19BUkdTKTsKIAogCWlmIChiLT5tY2lkeCA9PSBNQ19CQVRDSCB8fAotCSAgICAoYi0+YXJnaWR4ICsgYXJnc3BhY2UpID4gTUNfQVJHUykKKwkgICAgKGFyZ2lkeCArIGFyZ3MpID4gTUNfQVJHUykgewogCQl4ZW5fbWNfZmx1c2goKTsKKwkJYXJnaWR4ID0gcm91bmR1cChiLT5hcmdpZHgsIHNpemVvZih1NjQpKTsKKwl9CiAKIAlyZXQubWMgPSAmYi0+ZW50cmllc1tiLT5tY2lkeF07CiAJYi0+bWNpZHgrKzsKLQlyZXQuYXJncyA9ICZiLT5hcmdzW2ItPmFyZ2lkeF07Ci0JYi0+YXJnaWR4ICs9IGFyZ3NwYWNlOworCXJldC5hcmdzID0gJmItPmFyZ3NbYXJnaWR4XTsKKwliLT5hcmdpZHggPSBhcmdpZHggKyBhcmdzOwogCisJQlVHX09OKGItPmFyZ2lkeCA+IE1DX0FSR1MpOworCXJldHVybiByZXQ7Cit9CisKK3N0cnVjdCBtdWx0aWNhbGxfc3BhY2UgeGVuX21jX2V4dGVuZF9hcmdzKHVuc2lnbmVkIGxvbmcgb3AsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCBtY19idWZmZXIgKmIgPSAmX19nZXRfY3B1X3ZhcihtY19idWZmZXIpOworCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgcmV0ID0geyBOVUxMLCBOVUxMIH07CisKKwlCVUdfT04ocHJlZW1wdGlibGUoKSk7CisJQlVHX09OKGItPmFyZ2lkeCA+IE1DX0FSR1MpOworCisJaWYgKGItPm1jaWR4ID09IDApCisJCXJldHVybiByZXQ7CisKKwlpZiAoYi0+ZW50cmllc1tiLT5tY2lkeCAtIDFdLm9wICE9IG9wKQorCQlyZXR1cm4gcmV0OworCisJaWYgKChiLT5hcmdpZHggKyBzaXplKSA+IE1DX0FSR1MpCisJCXJldHVybiByZXQ7CisKKwlyZXQubWMgPSAmYi0+ZW50cmllc1tiLT5tY2lkeCAtIDFdOworCXJldC5hcmdzID0gJmItPmFyZ3NbYi0+YXJnaWR4XTsKKwliLT5hcmdpZHggKz0gc2l6ZTsKKworCUJVR19PTihiLT5hcmdpZHggPiBNQ19BUkdTKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5oIGIvYXJjaC94ODYveGVuL211bHRpY2FsbHMuaAppbmRleCA4YmFlOTk2Li44NTg5MzgyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5oCisrKyBiL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmgKQEAgLTQ1LDQgKzQ1LDE2IEBACiAvKiBTZXQgdXAgYSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY3VycmVudCBiYXRjaCBpcyBmbHVzaGVkICovCiB2b2lkIHhlbl9tY19jYWxsYmFjayh2b2lkICgqZm4pKHZvaWQgKiksIHZvaWQgKmRhdGEpOwogCisvKgorICogVHJ5IHRvIGV4dGVuZCB0aGUgYXJndW1lbnRzIG9mIHRoZSBwcmV2aW91cyBtdWx0aWNhbGwgY29tbWFuZC4gIFRoZQorICogcHJldmlvdXMgY29tbWFuZCdzIG9wIG11c3QgbWF0Y2guICBJZiBpdCBkb2VzLCB0aGVuIGl0IGF0dGVtcHRzIHRvCisgKiBleHRlbmQgdGhlIGFyZ3VtZW50IHNwYWNlIGFsbG9jYXRlZCB0byB0aGUgbXVsdGljYWxsIGVudHJ5IGJ5CisgKiBhcmdfc2l6ZSBieXRlcy4KKyAqCisgKiBUaGUgcmV0dXJuZWQgbXVsdGljYWxsX3NwYWNlIHdpbGwgcmV0dXJuIHdpdGggbWMgcG9pbnRpbmcgdG8gdGhlCisgKiBjb21tYW5kIG9uIHN1Y2Nlc3MsIG9yIE5VTEwgb24gZmFpbHVyZSwgYW5kIGFyZ3MgcG9pbnRpbmcgdG8gdGhlCisgKiBuZXdseSBhbGxvY2F0ZWQgc3BhY2UuCisgKi8KK3N0cnVjdCBtdWx0aWNhbGxfc3BhY2UgeGVuX21jX2V4dGVuZF9hcmdzKHVuc2lnbmVkIGxvbmcgb3AsIHNpemVfdCBhcmdfc2l6ZSk7CisKICNlbmRpZiAvKiBfWEVOX01VTFRJQ0FMTFNfSCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3NldHVwLmMgYi9hcmNoL3g4Ni94ZW4vc2V0dXAuYwppbmRleCA4MjUxN2U0Li5lMGEzOTU5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vc2V0dXAuYworKysgYi9hcmNoL3g4Ni94ZW4vc2V0dXAuYwpAQCAtMTMsOSArMTMsMTEgQEAKICNpbmNsdWRlIDxhc20vdmRzby5oPgogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL2FjcGkuaD4KICNpbmNsdWRlIDxhc20veGVuL2h5cGVydmlzb3IuaD4KICNpbmNsdWRlIDxhc20veGVuL2h5cGVyY2FsbC5oPgogCisjaW5jbHVkZSA8eGVuL3BhZ2UuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2NhbGxiYWNrLmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9waHlzZGV2Lmg+CiAjaW5jbHVkZSA8eGVuL2ZlYXR1cmVzLmg+CkBAIC0yNyw4ICsyOSw2IEBACiBleHRlcm4gY29uc3QgY2hhciB4ZW5faHlwZXJ2aXNvcl9jYWxsYmFja1tdOwogZXh0ZXJuIGNvbnN0IGNoYXIgeGVuX2ZhaWxzYWZlX2NhbGxiYWNrW107CiAKLXVuc2lnbmVkIGxvbmcgKnBoeXNfdG9fbWFjaGluZV9tYXBwaW5nOwotRVhQT1JUX1NZTUJPTChwaHlzX3RvX21hY2hpbmVfbWFwcGluZyk7CiAKIC8qKgogICogbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAgLSBIb29rIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4KQEAgLTM4LDkgKzM4LDMxIEBACiB7CiAJdW5zaWduZWQgbG9uZyBtYXhfcGZuID0geGVuX3N0YXJ0X2luZm8tPm5yX3BhZ2VzOwogCisJbWF4X3BmbiA9IG1pbihNQVhfRE9NQUlOX1BBR0VTLCBtYXhfcGZuKTsKKwogCWU4MjAubnJfbWFwID0gMDsKLQlhZGRfbWVtb3J5X3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKLQlhZGRfbWVtb3J5X3JlZ2lvbihISUdIX01FTU9SWSwgUEZOX1BIWVMobWF4X3BmbiktSElHSF9NRU1PUlksIEU4MjBfUkFNKTsKKworCWU4MjBfYWRkX3JlZ2lvbigwLCBQRk5fUEhZUyhtYXhfcGZuKSwgRTgyMF9SQU0pOworCisJLyoKKwkgKiBFdmVuIHRob3VnaCB0aGlzIGlzIG5vcm1hbCwgdXNhYmxlIG1lbW9yeSB1bmRlciBYZW4sIHJlc2VydmUKKwkgKiBJU0EgbWVtb3J5IGFueXdheSBiZWNhdXNlIHRvbyBtYW55IHRoaW5ncyB0aGluayB0aGV5IGNhbiBwb2tlCisJICogYWJvdXQgaW4gdGhlcmUuCisJICovCisJZTgyMF9hZGRfcmVnaW9uKElTQV9TVEFSVF9BRERSRVNTLCBJU0FfRU5EX0FERFJFU1MgLSBJU0FfU1RBUlRfQUREUkVTUywKKwkJCUU4MjBfUkVTRVJWRUQpOworCisJLyoKKwkgKiBSZXNlcnZlIFhlbiBiaXRzOgorCSAqICAtIG1mbl9saXN0CisJICogIC0geGVuX3N0YXJ0X2luZm8KKwkgKiBTZWUgY29tbWVudCBhYm92ZSAic3RydWN0IHN0YXJ0X2luZm8iIGluIDx4ZW4vaW50ZXJmYWNlL3hlbi5oPgorCSAqLworCWU4MjBfYWRkX3JlZ2lvbihfX3BhKHhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdCksCisJCQl4ZW5fc3RhcnRfaW5mby0+cHRfYmFzZSAtIHhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdCwKKwkJCUU4MjBfUkVTRVJWRUQpOworCisJc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmZTgyMC5ucl9tYXApOwogCiAJcmV0dXJuICJYZW4iOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3NtcC5jIGIvYXJjaC94ODYveGVuL3NtcC5jCmluZGV4IDk0ZTY5MDAuLjIzMzE1NmYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9zbXAuYworKysgYi9hcmNoL3g4Ni94ZW4vc21wLmMKQEAgLTM1LDI4ICszNSwxNSBAQAogI2luY2x1ZGUgInhlbi1vcHMuaCIKICNpbmNsdWRlICJtbXUuaCIKIAotc3RhdGljIGNwdW1hc2tfdCB4ZW5fY3B1X2luaXRpYWxpemVkX21hcDsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIHJlc2NoZWRfaXJxKSA9IC0xOwotc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgY2FsbGZ1bmNfaXJxKSA9IC0xOworY3B1bWFza190IHhlbl9jcHVfaW5pdGlhbGl6ZWRfbWFwOworCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCByZXNjaGVkX2lycSk7CitzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCBjYWxsZnVuY19pcnEpOworc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgY2FsbGZ1bmNzaW5nbGVfaXJxKTsKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIGRlYnVnX2lycSkgPSAtMTsKIAotLyoKLSAqIFN0cnVjdHVyZSBhbmQgZGF0YSBmb3Igc21wX2NhbGxfZnVuY3Rpb24oKS4gVGhpcyBpcyBkZXNpZ25lZCB0byBtaW5pbWlzZQotICogc3RhdGljIG1lbW9yeSByZXF1aXJlbWVudHMuIEl0IGFsc28gbG9va3MgY2xlYW5lci4KLSAqLwotc3RhdGljIERFRklORV9TUElOTE9DSyhjYWxsX2xvY2spOwotCi1zdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWF0b21pY190IHN0YXJ0ZWQ7Ci0JYXRvbWljX3QgZmluaXNoZWQ7Ci0JaW50IHdhaXQ7Ci19OwotCiBzdGF0aWMgaXJxcmV0dXJuX3QgeGVuX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCk7Ci0KLXN0YXRpYyBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqY2FsbF9kYXRhOworc3RhdGljIGlycXJldHVybl90IHhlbl9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKTsKIAogLyoKICAqIFJlc2NoZWR1bGUgY2FsbCBiYWNrLiBOb3RoaW5nIHRvIGRvLApAQCAtNjUsNiArNTIsMTIgQEAKICAqLwogc3RhdGljIGlycXJldHVybl90IHhlbl9yZXNjaGVkdWxlX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9yZXNjaGVkX2NvdW50Kys7CisjZWxzZQorCWFkZF9wZGEoaXJxX3Jlc2NoZWRfY291bnQsIDEpOworI2VuZGlmCisKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKQEAgLTEyMiw2ICsxMTUsMTcgQEAKIAkJZ290byBmYWlsOwogCXBlcl9jcHUoZGVidWdfaXJxLCBjcHUpID0gcmM7CiAKKwljYWxsZnVuY19uYW1lID0ga2FzcHJpbnRmKEdGUF9LRVJORUwsICJjYWxsZnVuY3NpbmdsZSVkIiwgY3B1KTsKKwlyYyA9IGJpbmRfaXBpX3RvX2lycWhhbmRsZXIoWEVOX0NBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUiwKKwkJCQkgICAgY3B1LAorCQkJCSAgICB4ZW5fY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0LAorCQkJCSAgICBJUlFGX0RJU0FCTEVEfElSUUZfUEVSQ1BVfElSUUZfTk9CQUxBTkNJTkcsCisJCQkJICAgIGNhbGxmdW5jX25hbWUsCisJCQkJICAgIE5VTEwpOworCWlmIChyYyA8IDApCisJCWdvdG8gZmFpbDsKKwlwZXJfY3B1KGNhbGxmdW5jc2luZ2xlX2lycSwgY3B1KSA9IHJjOworCiAJcmV0dXJuIDA7CiAKICBmYWlsOgpAQCAtMTMxLDYgKzEzNSw5IEBACiAJCXVuYmluZF9mcm9tX2lycWhhbmRsZXIocGVyX2NwdShjYWxsZnVuY19pcnEsIGNwdSksIE5VTEwpOwogCWlmIChwZXJfY3B1KGRlYnVnX2lycSwgY3B1KSA+PSAwKQogCQl1bmJpbmRfZnJvbV9pcnFoYW5kbGVyKHBlcl9jcHUoZGVidWdfaXJxLCBjcHUpLCBOVUxMKTsKKwlpZiAocGVyX2NwdShjYWxsZnVuY3NpbmdsZV9pcnEsIGNwdSkgPj0gMCkKKwkJdW5iaW5kX2Zyb21faXJxaGFuZGxlcihwZXJfY3B1KGNhbGxmdW5jc2luZ2xlX2lycSwgY3B1KSwgTlVMTCk7CisKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTMzMCw3ICszMzcsNyBAQAogCiB2b2lkIHhlbl9zbXBfc2VuZF9zdG9wKHZvaWQpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc3RvcF9zZWxmLCBOVUxMLCAwLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3NlbGYsIE5VTEwsIDApOwogfQogCiB2b2lkIHhlbl9zbXBfc2VuZF9yZXNjaGVkdWxlKGludCBjcHUpCkBAIC0zMzgsNyArMzQ1LDYgQEAKIAl4ZW5fc2VuZF9JUElfb25lKGNwdSwgWEVOX1JFU0NIRURVTEVfVkVDVE9SKTsKIH0KIAotCiBzdGF0aWMgdm9pZCB4ZW5fc2VuZF9JUElfbWFzayhjcHVtYXNrX3QgbWFzaywgZW51bSBpcGlfdmVjdG9yIHZlY3RvcikKIHsKIAl1bnNpZ25lZCBjcHU7CkBAIC0zNDksODMgKzM1NSw0MiBAQAogCQl4ZW5fc2VuZF9JUElfb25lKGNwdSwgdmVjdG9yKTsKIH0KIAordm9pZCB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spCit7CisJaW50IGNwdTsKKworCXhlbl9zZW5kX0lQSV9tYXNrKG1hc2ssIFhFTl9DQUxMX0ZVTkNUSU9OX1ZFQ1RPUik7CisKKwkvKiBNYWtlIHN1cmUgb3RoZXIgdmNwdXMgZ2V0IGEgY2hhbmNlIHRvIHJ1biBpZiB0aGV5IG5lZWQgdG8uICovCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKSB7CisJCWlmICh4ZW5fdmNwdV9zdG9sZW4oY3B1KSkgeworCQkJSFlQRVJWSVNPUl9zY2hlZF9vcChTQ0hFRE9QX3lpZWxkLCAwKTsKKwkJCWJyZWFrOworCQl9CisJfQorfQorCit2b2lkIHhlbl9zbXBfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSkKK3sKKwl4ZW5fc2VuZF9JUElfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBYRU5fQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SKTsKK30KKwogc3RhdGljIGlycXJldHVybl90IHhlbl9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSA9IGNhbGxfZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCWludCB3YWl0ID0gY2FsbF9kYXRhLT53YWl0OwotCi0JLyoKLQkgKiBOb3RpZnkgaW5pdGlhdGluZyBDUFUgdGhhdCBJJ3ZlIGdyYWJiZWQgdGhlIGRhdGEgYW5kIGFtCi0JICogYWJvdXQgdG8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24KLQkgKi8KLQltYigpOwotCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+c3RhcnRlZCk7Ci0JLyoKLQkgKiBBdCB0aGlzIHBvaW50IHRoZSBpbmZvIHN0cnVjdHVyZSBtYXkgYmUgb3V0IG9mIHNjb3BlIHVubGVzcyB3YWl0PT0xCi0JICovCiAJaXJxX2VudGVyKCk7Ci0JKCpmdW5jKShpbmZvKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9jYWxsX2NvdW50Kys7CiAJaXJxX2V4aXQoKTsKIAotCWlmICh3YWl0KSB7Ci0JCW1iKCk7CQkvKiBjb21taXQgZXZlcnl0aGluZyBiZWZvcmUgc2V0dGluZyBmaW5pc2hlZCAqLwotCQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPmZpbmlzaGVkKTsKLQl9Ci0KIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKLWludCB4ZW5fc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywgdm9pZCAoKmZ1bmMpKHZvaWQgKiksCi0JCQkgICAgICAgdm9pZCAqaW5mbywgaW50IHdhaXQpCitzdGF0aWMgaXJxcmV0dXJuX3QgeGVuX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQlpbnQgY3B1cywgY3B1OwotCWJvb2wgeWllbGQ7CisJaXJxX2VudGVyKCk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CisJX19nZXRfY3B1X3ZhcihpcnFfc3RhdCkuaXJxX2NhbGxfY291bnQrKzsKKwlpcnFfZXhpdCgpOwogCi0JLyogSG9sZGluZyBhbnkgbG9jayBzdG9wcyBjcHVzIGZyb20gZ29pbmcgZG93bi4gKi8KLQlzcGluX2xvY2soJmNhbGxfbG9jayk7Ci0KLQljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBtYXNrKTsKLQotCWNwdXMgPSBjcHVzX3dlaWdodChtYXNrKTsKLQlpZiAoIWNwdXMpIHsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCW1iKCk7CQkJLyogd3JpdGUgZXZlcnl0aGluZyBiZWZvcmUgSVBJICovCi0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBvdGhlciBDUFVzIGFuZCB3YWl0IGZvciB0aGVtIHRvIHJlc3BvbmQgKi8KLQl4ZW5fc2VuZF9JUElfbWFzayhtYXNrLCBYRU5fQ0FMTF9GVU5DVElPTl9WRUNUT1IpOwotCi0JLyogTWFrZSBzdXJlIG90aGVyIHZjcHVzIGdldCBhIGNoYW5jZSB0byBydW4gaWYgdGhleSBuZWVkIHRvLiAqLwotCXlpZWxkID0gZmFsc2U7Ci0JZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKQotCQlpZiAoeGVuX3ZjcHVfc3RvbGVuKGNwdSkpCi0JCQl5aWVsZCA9IHRydWU7Ci0KLQlpZiAoeWllbGQpCi0JCUhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF95aWVsZCwgMCk7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzIHx8Ci0JICAgICAgICh3YWl0ICYmIGF0b21pY19yZWFkKCZkYXRhLmZpbmlzaGVkKSAhPSBjcHVzKSkKLQkJY3B1X3JlbGF4KCk7Ci0KLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOworCXJldHVybiBJUlFfSEFORExFRDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9zdXNwZW5kLmMgYi9hcmNoL3g4Ni94ZW4vc3VzcGVuZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1MTY2OWEKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni94ZW4vc3VzcGVuZC5jCkBAIC0wLDAgKzEsNDUgQEAKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKyNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+CisKKyNpbmNsdWRlIDxhc20veGVuL2h5cGVyY2FsbC5oPgorI2luY2x1ZGUgPGFzbS94ZW4vcGFnZS5oPgorCisjaW5jbHVkZSAieGVuLW9wcy5oIgorI2luY2x1ZGUgIm1tdS5oIgorCit2b2lkIHhlbl9wcmVfc3VzcGVuZCh2b2lkKQoreworCXhlbl9zdGFydF9pbmZvLT5zdG9yZV9tZm4gPSBtZm5fdG9fcGZuKHhlbl9zdGFydF9pbmZvLT5zdG9yZV9tZm4pOworCXhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuID0KKwkJbWZuX3RvX3Bmbih4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CisKKwlCVUdfT04oIWlycXNfZGlzYWJsZWQoKSk7CisKKwlIWVBFUlZJU09SX3NoYXJlZF9pbmZvID0gJnhlbl9kdW1teV9zaGFyZWRfaW5mbzsKKwlpZiAoSFlQRVJWSVNPUl91cGRhdGVfdmFfbWFwcGluZyhmaXhfdG9fdmlydChGSVhfUEFSQVZJUlRfQk9PVE1BUCksCisJCQkJCSBfX3B0ZV9tYSgwKSwgMCkpCisJCUJVRygpOworfQorCit2b2lkIHhlbl9wb3N0X3N1c3BlbmQoaW50IHN1c3BlbmRfY2FuY2VsbGVkKQoreworCXhlbl9zZXR1cF9zaGFyZWRfaW5mbygpOworCisJaWYgKHN1c3BlbmRfY2FuY2VsbGVkKSB7CisJCXhlbl9zdGFydF9pbmZvLT5zdG9yZV9tZm4gPQorCQkJcGZuX3RvX21mbih4ZW5fc3RhcnRfaW5mby0+c3RvcmVfbWZuKTsKKwkJeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4gPQorCQkJcGZuX3RvX21mbih4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CisJfSBlbHNlIHsKKyNpZmRlZiBDT05GSUdfU01QCisJCXhlbl9jcHVfaW5pdGlhbGl6ZWRfbWFwID0gY3B1X29ubGluZV9tYXA7CisjZW5kaWYKKwkJeGVuX3ZjcHVfcmVzdG9yZSgpOworCQl4ZW5fdGltZXJfcmVzdW1lKCk7CisJfQorCit9CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi90aW1lLmMgYi9hcmNoL3g4Ni94ZW4vdGltZS5jCmluZGV4IDQxZTIxNzUuLjY4NWI3NzQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi90aW1lLmMKKysrIGIvYXJjaC94ODYveGVuL3RpbWUuYwpAQCAtMTk3LDggKzE5Nyw4IEBACiB9CiAKIAotLyogR2V0IHRoZSBDUFUgc3BlZWQgZnJvbSBYZW4gKi8KLXVuc2lnbmVkIGxvbmcgeGVuX2NwdV9raHoodm9pZCkKKy8qIEdldCB0aGUgVFNDIHNwZWVkIGZyb20gWGVuICovCit1bnNpZ25lZCBsb25nIHhlbl90c2Nfa2h6KHZvaWQpCiB7CiAJdTY0IHhlbl9raHogPSAxMDAwMDAwVUxMIDw8IDMyOwogCWNvbnN0IHN0cnVjdCBwdmNsb2NrX3ZjcHVfdGltZV9pbmZvICppbmZvID0KQEAgLTQ1OSw2ICs0NTksMTkgQEAKIAljbG9ja2V2ZW50c19yZWdpc3Rlcl9kZXZpY2UoJl9fZ2V0X2NwdV92YXIoeGVuX2Nsb2NrX2V2ZW50cykpOwogfQogCit2b2lkIHhlbl90aW1lcl9yZXN1bWUodm9pZCkKK3sKKwlpbnQgY3B1OworCisJaWYgKHhlbl9jbG9ja2V2ZW50ICE9ICZ4ZW5fdmNwdW9wX2Nsb2NrZXZlbnQpCisJCXJldHVybjsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisJCWlmIChIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3N0b3BfcGVyaW9kaWNfdGltZXIsIGNwdSwgTlVMTCkpCisJCQlCVUcoKTsKKwl9Cit9CisKIF9faW5pdCB2b2lkIHhlbl90aW1lX2luaXQodm9pZCkKIHsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3hlbi1oZWFkLlMgYi9hcmNoL3g4Ni94ZW4veGVuLWhlYWQuUwppbmRleCA2ZWMzYjRmLi43YzBjZjYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4veGVuLWhlYWQuUworKysgYi9hcmNoL3g4Ni94ZW4veGVuLWhlYWQuUwpAQCAtNyw2ICs3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8YXNtL2Jvb3QuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2VsZm5vdGUuaD4KKyNpbmNsdWRlIDxhc20veGVuL2ludGVyZmFjZS5oPgogCiAJX19JTklUCiBFTlRSWShzdGFydHVwX3hlbikKQEAgLTMyLDUgKzMzLDkgQEAKIAlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfRkVBVFVSRVMsICAgICAgIC5hc2NpeiAiIXdyaXRhYmxlX3BhZ2VfdGFibGVzfHBhZV9wZ2Rpcl9hYm92ZV80Z2IiKQogCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9QQUVfTU9ERSwgICAgICAgLmFzY2l6ICJ5ZXMiKQogCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9MT0FERVIsICAgICAgICAgLmFzY2l6ICJnZW5lcmljIikKKwlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfTDFfTUZOX1ZBTElELAorCQkucXVhZCBfUEFHRV9QUkVTRU5UOyAucXVhZCBfUEFHRV9QUkVTRU5UKQorCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9TVVNQRU5EX0NBTkNFTCwgLmxvbmcgMSkKKwlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfSFZfU1RBUlRfTE9XLCAgIC5sb25nIF9fSFlQRVJWSVNPUl9WSVJUX1NUQVJUKQogCiAjZW5kaWYgLypDT05GSUdfWEVOICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4veGVuLW9wcy5oIGIvYXJjaC94ODYveGVuL3hlbi1vcHMuaAppbmRleCBmMTA2M2FlLi42ZjRiMTA0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4veGVuLW9wcy5oCisrKyBiL2FyY2gveDg2L3hlbi94ZW4tb3BzLmgKQEAgLTksMjYgKzksMzUgQEAKIGV4dGVybiBjb25zdCBjaGFyIHhlbl9oeXBlcnZpc29yX2NhbGxiYWNrW107CiBleHRlcm4gY29uc3QgY2hhciB4ZW5fZmFpbHNhZmVfY2FsbGJhY2tbXTsKIAorc3RydWN0IHRyYXBfaW5mbzsKIHZvaWQgeGVuX2NvcHlfdHJhcF9pbmZvKHN0cnVjdCB0cmFwX2luZm8gKnRyYXBzKTsKIAogREVDTEFSRV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIHhlbl9jcjMpOwogREVDTEFSRV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIHhlbl9jdXJyZW50X2NyMyk7CiAKIGV4dGVybiBzdHJ1Y3Qgc3RhcnRfaW5mbyAqeGVuX3N0YXJ0X2luZm87CitleHRlcm4gc3RydWN0IHNoYXJlZF9pbmZvIHhlbl9kdW1teV9zaGFyZWRfaW5mbzsKIGV4dGVybiBzdHJ1Y3Qgc2hhcmVkX2luZm8gKkhZUEVSVklTT1Jfc2hhcmVkX2luZm87CiAKK3ZvaWQgeGVuX3NldHVwX21mbl9saXN0X2xpc3Qodm9pZCk7Cit2b2lkIHhlbl9zZXR1cF9zaGFyZWRfaW5mbyh2b2lkKTsKKwogY2hhciAqIF9faW5pdCB4ZW5fbWVtb3J5X3NldHVwKHZvaWQpOwogdm9pZCBfX2luaXQgeGVuX2FyY2hfc2V0dXAodm9pZCk7CiB2b2lkIF9faW5pdCB4ZW5faW5pdF9JUlEodm9pZCk7CiB2b2lkIHhlbl9lbmFibGVfc3lzZW50ZXIodm9pZCk7Cit2b2lkIHhlbl92Y3B1X3Jlc3RvcmUodm9pZCk7CisKK3ZvaWQgX19pbml0IHhlbl9idWlsZF9keW5hbWljX3BoeXNfdG9fbWFjaGluZSh2b2lkKTsKIAogdm9pZCB4ZW5fc2V0dXBfdGltZXIoaW50IGNwdSk7CiB2b2lkIHhlbl9zZXR1cF9jcHVfY2xvY2tldmVudHModm9pZCk7Ci11bnNpZ25lZCBsb25nIHhlbl9jcHVfa2h6KHZvaWQpOwordW5zaWduZWQgbG9uZyB4ZW5fdHNjX2toeih2b2lkKTsKIHZvaWQgX19pbml0IHhlbl90aW1lX2luaXQodm9pZCk7CiB1bnNpZ25lZCBsb25nIHhlbl9nZXRfd2FsbGNsb2NrKHZvaWQpOwogaW50IHhlbl9zZXRfd2FsbGNsb2NrKHVuc2lnbmVkIGxvbmcgdGltZSk7CiB1bnNpZ25lZCBsb25nIGxvbmcgeGVuX3NjaGVkX2Nsb2NrKHZvaWQpOwordm9pZCB4ZW5fdGltZXJfcmVzdW1lKHZvaWQpOwogCiBpcnFyZXR1cm5fdCB4ZW5fZGVidWdfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCk7CiAKQEAgLTQ2LDEzICs1NSwxMCBAQAogCiB2b2lkIHhlbl9zbXBfc2VuZF9zdG9wKHZvaWQpOwogdm9pZCB4ZW5fc21wX3NlbmRfcmVzY2hlZHVsZShpbnQgY3B1KTsKLWludCB4ZW5fc21wX2NhbGxfZnVuY3Rpb24gKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JCQkgICBpbnQgd2FpdCk7Ci1pbnQgeGVuX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1LCB2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCk7Cit2b2lkIHhlbl9zbXBfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7Cit2b2lkIHhlbl9zbXBfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CiAKLWludCB4ZW5fc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywgdm9pZCAoKmZ1bmMpKHZvaWQgKiksCi0JCQkgICAgICAgdm9pZCAqaW5mbywgaW50IHdhaXQpOworZXh0ZXJuIGNwdW1hc2tfdCB4ZW5fY3B1X2luaXRpYWxpemVkX21hcDsKIAogCiAvKiBEZWNsYXJlIGFuIGFzbSBmdW5jdGlvbiwgYWxvbmcgd2l0aCBzeW1ib2xzIG5lZWRlZCB0byBtYWtlIGl0CmRpZmYgLS1naXQgYS9ibG9jay9LY29uZmlnIGIvYmxvY2svS2NvbmZpZwppbmRleCAzZTk3ZjJiLi4xYWI3YzE1IDEwMDY0NAotLS0gYS9ibG9jay9LY29uZmlnCisrKyBiL2Jsb2NrL0tjb25maWcKQEAgLTgxLDYgKzgxLDE4IEBACiAKIAkgIElmIHVuc3VyZSwgc2F5IE4uCiAKK2NvbmZpZyBCTEtfREVWX0lOVEVHUklUWQorCWJvb2wgIkJsb2NrIGxheWVyIGRhdGEgaW50ZWdyaXR5IHN1cHBvcnQiCisJLS0taGVscC0tLQorCVNvbWUgc3RvcmFnZSBkZXZpY2VzIGFsbG93IGV4dHJhIGluZm9ybWF0aW9uIHRvIGJlCisJc3RvcmVkL3JldHJpZXZlZCB0byBoZWxwIHByb3RlY3QgdGhlIGRhdGEuICBUaGUgYmxvY2sgbGF5ZXIKKwlkYXRhIGludGVncml0eSBvcHRpb24gcHJvdmlkZXMgaG9va3Mgd2hpY2ggY2FuIGJlIHVzZWQgYnkKKwlmaWxlc3lzdGVtcyB0byBlbnN1cmUgYmV0dGVyIGRhdGEgaW50ZWdyaXR5LgorCisJU2F5IHllcyBoZXJlIGlmIHlvdSBoYXZlIGEgc3RvcmFnZSBkZXZpY2UgdGhhdCBwcm92aWRlcyB0aGUKKwlUMTAvU0NTSSBEYXRhIEludGVncml0eSBGaWVsZCBvciB0aGUgVDEzL0FUQSBFeHRlcm5hbCBQYXRoCisJUHJvdGVjdGlvbi4gIElmIGluIGRvdWJ0LCBzYXkgTi4KKwogZW5kaWYgIyBCTE9DSwogCiBjb25maWcgQkxPQ0tfQ09NUEFUCmRpZmYgLS1naXQgYS9ibG9jay9NYWtlZmlsZSBiL2Jsb2NrL01ha2VmaWxlCmluZGV4IDVhNDNjN2QuLjIwODAwMGIgMTAwNjQ0Ci0tLSBhL2Jsb2NrL01ha2VmaWxlCisrKyBiL2Jsb2NrL01ha2VmaWxlCkBAIC00LDcgKzQsOCBAQAogCiBvYmotJChDT05GSUdfQkxPQ0spIDo9IGVsZXZhdG9yLm8gYmxrLWNvcmUubyBibGstdGFnLm8gYmxrLXN5c2ZzLm8gXAogCQkJYmxrLWJhcnJpZXIubyBibGstc2V0dGluZ3MubyBibGstaW9jLm8gYmxrLW1hcC5vIFwKLQkJCWJsay1leGVjLm8gYmxrLW1lcmdlLm8gaW9jdGwubyBnZW5oZC5vIHNjc2lfaW9jdGwubworCQkJYmxrLWV4ZWMubyBibGstbWVyZ2UubyBpb2N0bC5vIGdlbmhkLm8gc2NzaV9pb2N0bC5vIFwKKwkJCWNtZC1maWx0ZXIubwogCiBvYmotJChDT05GSUdfQkxLX0RFVl9CU0cpCSs9IGJzZy5vCiBvYmotJChDT05GSUdfSU9TQ0hFRF9OT09QKQkrPSBub29wLWlvc2NoZWQubwpAQCAtMTQsMyArMTUsNCBAQAogCiBvYmotJChDT05GSUdfQkxLX0RFVl9JT19UUkFDRSkJKz0gYmxrdHJhY2Uubwogb2JqLSQoQ09ORklHX0JMT0NLX0NPTVBBVCkJKz0gY29tcGF0X2lvY3RsLm8KK29iai0kKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkJKz0gYmxrLWludGVncml0eS5vCmRpZmYgLS1naXQgYS9ibG9jay9hcy1pb3NjaGVkLmMgYi9ibG9jay9hcy1pb3NjaGVkLmMKaW5kZXggNzQzZjMzYS4uOTczNWFjYiAxMDA2NDQKLS0tIGEvYmxvY2svYXMtaW9zY2hlZC5jCisrKyBiL2Jsb2NrL2FzLWlvc2NoZWQuYwpAQCAtMTUxLDYgKzE1MSw3IEBACiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBpb2NfY291bnQpOwogc3RhdGljIHN0cnVjdCBjb21wbGV0aW9uICppb2NfZ29uZTsKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soaW9jX2dvbmVfbG9jayk7CiAKIHN0YXRpYyB2b2lkIGFzX21vdmVfdG9fZGlzcGF0Y2goc3RydWN0IGFzX2RhdGEgKmFkLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpOwogc3RhdGljIHZvaWQgYXNfYW50aWNfc3RvcChzdHJ1Y3QgYXNfZGF0YSAqYWQpOwpAQCAtMTY0LDggKzE2NSwxOSBAQAogewogCWtmcmVlKGFpYyk7CiAJZWx2X2lvY19jb3VudF9kZWMoaW9jX2NvdW50KTsKLQlpZiAoaW9jX2dvbmUgJiYgIWVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQljb21wbGV0ZShpb2NfZ29uZSk7CisJaWYgKGlvY19nb25lKSB7CisJCS8qCisJCSAqIEFTIHNjaGVkdWxlciBpcyBleGl0aW5nLCBncmFiIGV4aXQgbG9jayBhbmQgY2hlY2sKKwkJICogdGhlIHBlbmRpbmcgaW8gY29udGV4dCBjb3VudC4gSWYgaXQgaGl0cyB6ZXJvLAorCQkgKiBjb21wbGV0ZSBpb2NfZ29uZSBhbmQgc2V0IGl0IGJhY2sgdG8gTlVMTC4KKwkJICovCisJCXNwaW5fbG9jaygmaW9jX2dvbmVfbG9jayk7CisJCWlmIChpb2NfZ29uZSAmJiAhZWx2X2lvY19jb3VudF9yZWFkKGlvY19jb3VudCkpIHsKKwkJCWNvbXBsZXRlKGlvY19nb25lKTsKKwkJCWlvY19nb25lID0gTlVMTDsKKwkJfQorCQlzcGluX3VubG9jaygmaW9jX2dvbmVfbG9jayk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBhc190cmltKHN0cnVjdCBpb19jb250ZXh0ICppb2MpCkBAIC0xNDkzLDcgKzE1MDUsNyBAQAogCS8qIGlvY19nb25lJ3MgdXBkYXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgcmVhZGluZyBpb2NfY291bnQgKi8KIAlzbXBfd21iKCk7CiAJaWYgKGVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQl3YWl0X2Zvcl9jb21wbGV0aW9uKGlvY19nb25lKTsKKwkJd2FpdF9mb3JfY29tcGxldGlvbigmYWxsX2dvbmUpOwogCXN5bmNocm9uaXplX3JjdSgpOwogfQogCmRpZmYgLS1naXQgYS9ibG9jay9ibGstY29yZS5jIGIvYmxvY2svYmxrLWNvcmUuYwppbmRleCAxOTA1YWFiLi5mZWY3OWNjIDEwMDY0NAotLS0gYS9ibG9jay9ibGstY29yZS5jCisrKyBiL2Jsb2NrL2Jsay1jb3JlLmMKQEAgLTE0Myw2ICsxNDMsMTAgQEAKIAogCQliaW8tPmJpX3NpemUgLT0gbmJ5dGVzOwogCQliaW8tPmJpX3NlY3RvciArPSAobmJ5dGVzID4+IDkpOworCisJCWlmIChiaW9faW50ZWdyaXR5KGJpbykpCisJCQliaW9faW50ZWdyaXR5X2FkdmFuY2UoYmlvLCBuYnl0ZXMpOworCiAJCWlmIChiaW8tPmJpX3NpemUgPT0gMCkKIAkJCWJpb19lbmRpbyhiaW8sIGVycm9yKTsKIAl9IGVsc2UgewpAQCAtMjAxLDggKzIwNSw3IEBACiAJaWYgKGJsa19xdWV1ZV9zdG9wcGVkKHEpKQogCQlyZXR1cm47CiAKLQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUExVR0dFRCwgJnEtPnF1ZXVlX2ZsYWdzKSkgewotCQlfX3NldF9iaXQoUVVFVUVfRkxBR19QTFVHR0VELCAmcS0+cXVldWVfZmxhZ3MpOworCWlmICghcXVldWVfZmxhZ190ZXN0X2FuZF9zZXQoUVVFVUVfRkxBR19QTFVHR0VELCBxKSkgewogCQltb2RfdGltZXIoJnEtPnVucGx1Z190aW1lciwgamlmZmllcyArIHEtPnVucGx1Z19kZWxheSk7CiAJCWJsa19hZGRfdHJhY2VfZ2VuZXJpYyhxLCBOVUxMLCAwLCBCTEtfVEFfUExVRyk7CiAJfQpAQCAtMjE3LDEwICsyMjAsOSBAQAogewogCVdBUk5fT04oIWlycXNfZGlzYWJsZWQoKSk7CiAKLQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUExVR0dFRCwgJnEtPnF1ZXVlX2ZsYWdzKSkKKwlpZiAoIXF1ZXVlX2ZsYWdfdGVzdF9hbmRfY2xlYXIoUVVFVUVfRkxBR19QTFVHR0VELCBxKSkKIAkJcmV0dXJuIDA7CiAKLQlxdWV1ZV9mbGFnX2NsZWFyKFFVRVVFX0ZMQUdfUExVR0dFRCwgcSk7CiAJZGVsX3RpbWVyKCZxLT51bnBsdWdfdGltZXIpOwogCXJldHVybiAxOwogfQpAQCAtMzI0LDggKzMyNiw3IEBACiAJICogb25lIGxldmVsIG9mIHJlY3Vyc2lvbiBpcyBvayBhbmQgaXMgbXVjaCBmYXN0ZXIgdGhhbiBraWNraW5nCiAJICogdGhlIHVucGx1ZyBoYW5kbGluZwogCSAqLwotCWlmICghdGVzdF9iaXQoUVVFVUVfRkxBR19SRUVOVEVSLCAmcS0+cXVldWVfZmxhZ3MpKSB7Ci0JCXF1ZXVlX2ZsYWdfc2V0KFFVRVVFX0ZMQUdfUkVFTlRFUiwgcSk7CisJaWYgKCFxdWV1ZV9mbGFnX3Rlc3RfYW5kX3NldChRVUVVRV9GTEFHX1JFRU5URVIsIHEpKSB7CiAJCXEtPnJlcXVlc3RfZm4ocSk7CiAJCXF1ZXVlX2ZsYWdfY2xlYXIoUVVFVUVfRkxBR19SRUVOVEVSLCBxKTsKIAl9IGVsc2UgewpAQCAtMzkwLDggKzM5MSw3IEBACiAJICogaGFuZGxpbmcgcmVpbnZva2UgdGhlIGhhbmRsZXIgc2hvcnRseSBpZiB3ZSBhbHJlYWR5IGdvdCB0aGVyZS4KIAkgKi8KIAlpZiAoIWVsdl9xdWV1ZV9lbXB0eShxKSkgewotCQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUkVFTlRFUiwgJnEtPnF1ZXVlX2ZsYWdzKSkgewotCQkJcXVldWVfZmxhZ19zZXQoUVVFVUVfRkxBR19SRUVOVEVSLCBxKTsKKwkJaWYgKCFxdWV1ZV9mbGFnX3Rlc3RfYW5kX3NldChRVUVVRV9GTEFHX1JFRU5URVIsIHEpKSB7CiAJCQlxLT5yZXF1ZXN0X2ZuKHEpOwogCQkJcXVldWVfZmxhZ19jbGVhcihRVUVVRV9GTEFHX1JFRU5URVIsIHEpOwogCQl9IGVsc2UgewpAQCAtMTA0MiwxNSArMTA0Miw5IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IHJlcS0+cTsKIAotCS8qCi0JICogR2VlLCBJREUgY2FsbHMgaW4gdy8gTlVMTCBxLiAgRml4IElERSBhbmQgcmVtb3ZlIHRoZQotCSAqIGZvbGxvd2luZyBpZiAocSkgdGVzdC4KLQkgKi8KLQlpZiAocSkgewotCQlzcGluX2xvY2tfaXJxc2F2ZShxLT5xdWV1ZV9sb2NrLCBmbGFncyk7Ci0JCV9fYmxrX3B1dF9yZXF1ZXN0KHEsIHJlcSk7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUocS0+cXVldWVfbG9jaywgZmxhZ3MpOwotCX0KKwlzcGluX2xvY2tfaXJxc2F2ZShxLT5xdWV1ZV9sb2NrLCBmbGFncyk7CisJX19ibGtfcHV0X3JlcXVlc3QocSwgcmVxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKHEtPnF1ZXVlX2xvY2ssIGZsYWdzKTsKIH0KIEVYUE9SVF9TWU1CT0woYmxrX3B1dF9yZXF1ZXN0KTsKIApAQCAtMTM4MSw2ICsxMzc1LDkgQEAKIAkJICovCiAJCWJsa19wYXJ0aXRpb25fcmVtYXAoYmlvKTsKIAorCQlpZiAoYmlvX2ludGVncml0eV9lbmFibGVkKGJpbykgJiYgYmlvX2ludGVncml0eV9wcmVwKGJpbykpCisJCQlnb3RvIGVuZF9pbzsKKwogCQlpZiAob2xkX3NlY3RvciAhPSAtMSkKIAkJCWJsa19hZGRfdHJhY2VfcmVtYXAocSwgYmlvLCBvbGRfZGV2LCBiaW8tPmJpX3NlY3RvciwKIAkJCQkJICAgIG9sZF9zZWN0b3IpOwpAQCAtMjA0NSw3ICsyMDQyLDcgQEAKIAlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkKIAkJSU5JVF9MSVNUX0hFQUQoJnBlcl9jcHUoYmxrX2NwdV9kb25lLCBpKSk7CiAKLQlvcGVuX3NvZnRpcnEoQkxPQ0tfU09GVElSUSwgYmxrX2RvbmVfc29mdGlycSwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKEJMT0NLX1NPRlRJUlEsIGJsa19kb25lX3NvZnRpcnEpOwogCXJlZ2lzdGVyX2hvdGNwdV9ub3RpZmllcigmYmxrX2NwdV9ub3RpZmllcik7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2Jsb2NrL2Jsay1leGVjLmMgYi9ibG9jay9ibGstZXhlYy5jCmluZGV4IDM5MWRkNjIuLjliY2VmZjcgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay1leGVjLmMKKysrIGIvYmxvY2svYmxrLWV4ZWMuYwpAQCAtMTgsNyArMTgsNyBAQAogICogQHJxOiByZXF1ZXN0IHRvIGNvbXBsZXRlCiAgKiBAZXJyb3I6IGVuZCBpbyBzdGF0dXMgb2YgdGhlIHJlcXVlc3QKICAqLwotdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpCitzdGF0aWMgdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpCiB7CiAJc3RydWN0IGNvbXBsZXRpb24gKndhaXRpbmcgPSBycS0+ZW5kX2lvX2RhdGE7CiAKQEAgLTMxLDcgKzMxLDYgQEAKIAkgKi8KIAljb21wbGV0ZSh3YWl0aW5nKTsKIH0KLUVYUE9SVF9TWU1CT0woYmxrX2VuZF9zeW5jX3JxKTsKIAogLyoqCiAgKiBibGtfZXhlY3V0ZV9ycV9ub3dhaXQgLSBpbnNlcnQgYSByZXF1ZXN0IGludG8gcXVldWUgZm9yIGV4ZWN1dGlvbgpAQCAtNTgsNiArNTcsOSBAQAogCXNwaW5fbG9ja19pcnEocS0+cXVldWVfbG9jayk7CiAJX19lbHZfYWRkX3JlcXVlc3QocSwgcnEsIHdoZXJlLCAxKTsKIAlfX2dlbmVyaWNfdW5wbHVnX2RldmljZShxKTsKKwkvKiB0aGUgcXVldWUgaXMgc3RvcHBlZCBzbyBpdCB3b24ndCBiZSBwbHVnZ2VkK3VucGx1Z2dlZCAqLworCWlmIChibGtfcG1fcmVzdW1lX3JlcXVlc3QocnEpKQorCQlxLT5yZXF1ZXN0X2ZuKHEpOwogCXNwaW5fdW5sb2NrX2lycShxLT5xdWV1ZV9sb2NrKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGJsa19leGVjdXRlX3JxX25vd2FpdCk7CmRpZmYgLS1naXQgYS9ibG9jay9ibGstaW50ZWdyaXR5LmMgYi9ibG9jay9ibGstaW50ZWdyaXR5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YxYTg0NwotLS0gL2Rldi9udWxsCisrKyBiL2Jsb2NrL2Jsay1pbnRlZ3JpdHkuYwpAQCAtMCwwICsxLDM4MSBAQAorLyoKKyAqIGJsay1pbnRlZ3JpdHkuYyAtIEJsb2NrIGxheWVyIGRhdGEgaW50ZWdyaXR5IGV4dGVuc2lvbnMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggT3JhY2xlIENvcnBvcmF0aW9uCisgKiBXcml0dGVuIGJ5OiBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24KKyAqIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LAorICogVVNBLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvbWVtcG9vbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jpby5oPgorI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CisKKyNpbmNsdWRlICJibGsuaCIKKworc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICppbnRlZ3JpdHlfY2FjaGVwOworCisvKioKKyAqIGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2cgLSBDb3VudCBudW1iZXIgb2YgaW50ZWdyaXR5IHNjYXR0ZXJsaXN0IGVsZW1lbnRzCisgKiBAcnE6CQlyZXF1ZXN0IHdpdGggaW50ZWdyaXR5IG1ldGFkYXRhIGF0dGFjaGVkCisgKgorICogRGVzY3JpcHRpb246IFJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyByZXF1aXJlZCBpbiBhCisgKiBzY2F0dGVybGlzdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaW4gYSByZXF1ZXN0LgorICovCitpbnQgYmxrX3JxX2NvdW50X2ludGVncml0eV9zZyhzdHJ1Y3QgcmVxdWVzdCAqcnEpCit7CisJc3RydWN0IGJpb192ZWMgKml2LCAqaXZwcnY7CisJc3RydWN0IHJlcV9pdGVyYXRvciBpdGVyOworCXVuc2lnbmVkIGludCBzZWdtZW50czsKKworCWl2cHJ2ID0gTlVMTDsKKwlzZWdtZW50cyA9IDA7CisKKwlycV9mb3JfZWFjaF9pbnRlZ3JpdHlfc2VnbWVudChpdiwgcnEsIGl0ZXIpIHsKKworCQlpZiAoIWl2cHJ2IHx8ICFCSU9WRUNfUEhZU19NRVJHRUFCTEUoaXZwcnYsIGl2KSkKKwkJCXNlZ21lbnRzKys7CisKKwkJaXZwcnYgPSBpdjsKKwl9CisKKwlyZXR1cm4gc2VnbWVudHM7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2cpOworCisvKioKKyAqIGJsa19ycV9tYXBfaW50ZWdyaXR5X3NnIC0gTWFwIGludGVncml0eSBtZXRhZGF0YSBpbnRvIGEgc2NhdHRlcmxpc3QKKyAqIEBycToJCXJlcXVlc3Qgd2l0aCBpbnRlZ3JpdHkgbWV0YWRhdGEgYXR0YWNoZWQKKyAqIEBzZ2xpc3Q6CXRhcmdldCBzY2F0dGVybGlzdAorICoKKyAqIERlc2NyaXB0aW9uOiBNYXAgdGhlIGludGVncml0eSB2ZWN0b3JzIGluIHJlcXVlc3QgaW50byBhCisgKiBzY2F0dGVybGlzdC4gIFRoZSBzY2F0dGVybGlzdCBtdXN0IGJlIGJpZyBlbm91Z2ggdG8gaG9sZCBhbGwKKyAqIGVsZW1lbnRzLiAgSS5lLiBzaXplZCB1c2luZyBibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnKCkuCisgKi8KK2ludCBibGtfcnFfbWFwX2ludGVncml0eV9zZyhzdHJ1Y3QgcmVxdWVzdCAqcnEsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0KQoreworCXN0cnVjdCBiaW9fdmVjICppdiwgKml2cHJ2OworCXN0cnVjdCByZXFfaXRlcmF0b3IgaXRlcjsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXVuc2lnbmVkIGludCBzZWdtZW50czsKKworCWl2cHJ2ID0gTlVMTDsKKwlzZyA9IE5VTEw7CisJc2VnbWVudHMgPSAwOworCisJcnFfZm9yX2VhY2hfaW50ZWdyaXR5X3NlZ21lbnQoaXYsIHJxLCBpdGVyKSB7CisKKwkJaWYgKGl2cHJ2KSB7CisJCQlpZiAoIUJJT1ZFQ19QSFlTX01FUkdFQUJMRShpdnBydiwgaXYpKQorCQkJCWdvdG8gbmV3X3NlZ21lbnQ7CisKKwkJCXNnLT5sZW5ndGggKz0gaXYtPmJ2X2xlbjsKKwkJfSBlbHNlIHsKK25ld19zZWdtZW50OgorCQkJaWYgKCFzZykKKwkJCQlzZyA9IHNnbGlzdDsKKwkJCWVsc2UgeworCQkJCXNnLT5wYWdlX2xpbmsgJj0gfjB4MDI7CisJCQkJc2cgPSBzZ19uZXh0KHNnKTsKKwkJCX0KKworCQkJc2dfc2V0X3BhZ2Uoc2csIGl2LT5idl9wYWdlLCBpdi0+YnZfbGVuLCBpdi0+YnZfb2Zmc2V0KTsKKwkJCXNlZ21lbnRzKys7CisJCX0KKworCQlpdnBydiA9IGl2OworCX0KKworCWlmIChzZykKKwkJc2dfbWFya19lbmQoc2cpOworCisJcmV0dXJuIHNlZ21lbnRzOworfQorRVhQT1JUX1NZTUJPTChibGtfcnFfbWFwX2ludGVncml0eV9zZyk7CisKKy8qKgorICogYmxrX2ludGVncml0eV9jb21wYXJlIC0gQ29tcGFyZSBpbnRlZ3JpdHkgcHJvZmlsZSBvZiB0d28gYmxvY2sgZGV2aWNlcworICogQGIxOgkJRGV2aWNlIHRvIGNvbXBhcmUKKyAqIEBiMjoJCURldmljZSB0byBjb21wYXJlCisgKgorICogRGVzY3JpcHRpb246IE1ldGEtZGV2aWNlcyBsaWtlIERNIGFuZCBNRCBuZWVkIHRvIHZlcmlmeSB0aGF0IGFsbAorICogc3ViLWRldmljZXMgdXNlIHRoZSBzYW1lIGludGVncml0eSBmb3JtYXQgYmVmb3JlIGFkdmVydGlzaW5nIHRvCisgKiB1cHBlciBsYXllcnMgdGhhdCB0aGV5IGNhbiBzZW5kL3JlY2VpdmUgaW50ZWdyaXR5IG1ldGFkYXRhLiAgVGhpcworICogZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gY2hlY2sgd2hldGhlciB0d28gYmxvY2sgZGV2aWNlcyBoYXZlCisgKiBjb21wYXRpYmxlIGludGVncml0eSBmb3JtYXRzLgorICovCitpbnQgYmxrX2ludGVncml0eV9jb21wYXJlKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkMSwgc3RydWN0IGJsb2NrX2RldmljZSAqYmQyKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiMSA9IGJkMS0+YmRfZGlzay0+aW50ZWdyaXR5OworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiMiA9IGJkMi0+YmRfZGlzay0+aW50ZWdyaXR5OworCisJQlVHX09OKGJkMS0+YmRfZGlzayA9PSBOVUxMKTsKKwlCVUdfT04oYmQyLT5iZF9kaXNrID09IE5VTEwpOworCisJaWYgKCFiMSB8fCAhYjIpCisJCXJldHVybiAwOworCisJaWYgKGIxLT5zZWN0b3Jfc2l6ZSAhPSBiMi0+c2VjdG9yX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogJXMvJXMgc2VjdG9yIHN6ICV1ICE9ICV1XG4iLCBfX2Z1bmNfXywKKwkJICAgICAgIGJkMS0+YmRfZGlzay0+ZGlza19uYW1lLCBiZDItPmJkX2Rpc2stPmRpc2tfbmFtZSwKKwkJICAgICAgIGIxLT5zZWN0b3Jfc2l6ZSwgYjItPnNlY3Rvcl9zaXplKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChiMS0+dHVwbGVfc2l6ZSAhPSBiMi0+dHVwbGVfc2l6ZSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiAlcy8lcyB0dXBsZSBzeiAldSAhPSAldVxuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+dHVwbGVfc2l6ZSwgYjItPnR1cGxlX3NpemUpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGIxLT50YWdfc2l6ZSAmJiBiMi0+dGFnX3NpemUgJiYgKGIxLT50YWdfc2l6ZSAhPSBiMi0+dGFnX3NpemUpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6ICVzLyVzIHRhZyBzeiAldSAhPSAldVxuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+dGFnX3NpemUsIGIyLT50YWdfc2l6ZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoc3RyY21wKGIxLT5uYW1lLCBiMi0+bmFtZSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogJXMvJXMgdHlwZSAlcyAhPSAlc1xuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+bmFtZSwgYjItPm5hbWUpOworCQlyZXR1cm4gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfY29tcGFyZSk7CisKK3N0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgeworCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjsKKwlzc2l6ZV90ICgqc2hvdykoc3RydWN0IGJsa19pbnRlZ3JpdHkgKiwgY2hhciAqKTsKKwlzc2l6ZV90ICgqc3RvcmUpKHN0cnVjdCBibGtfaW50ZWdyaXR5ICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKK307CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgY2hhciAqcGFnZSkKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPQorCQljb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19pbnRlZ3JpdHksIGtvYmopOworCXN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgKmVudHJ5ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnksIGF0dHIpOworCisJcmV0dXJuIGVudHJ5LT5zaG93KGJpLCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X2F0dHJfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIGNvbnN0IGNoYXIgKnBhZ2UsCisJCQkJICAgIHNpemVfdCBjb3VudCkKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPQorCQljb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19pbnRlZ3JpdHksIGtvYmopOworCXN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgKmVudHJ5ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnksIGF0dHIpOworCXNzaXplX3QgcmV0ID0gMDsKKworCWlmIChlbnRyeS0+c3RvcmUpCisJCXJldCA9IGVudHJ5LT5zdG9yZShiaSwgcGFnZSwgY291bnQpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X2Zvcm1hdF9zaG93KHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwgY2hhciAqcGFnZSkKK3sKKwlpZiAoYmkgIT0gTlVMTCAmJiBiaS0+bmFtZSAhPSBOVUxMKQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXNcbiIsIGJpLT5uYW1lKTsKKwllbHNlCisJCXJldHVybiBzcHJpbnRmKHBhZ2UsICJub25lXG4iKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X3RhZ19zaXplX3Nob3coc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpLCBjaGFyICpwYWdlKQoreworCWlmIChiaSAhPSBOVUxMKQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXVcbiIsIGJpLT50YWdfc2l6ZSk7CisJZWxzZQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiMFxuIik7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV9yZWFkX3N0b3JlKHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwKKwkJCQkgICAgY29uc3QgY2hhciAqcGFnZSwgc2l6ZV90IGNvdW50KQoreworCWNoYXIgKnAgPSAoY2hhciAqKSBwYWdlOworCXVuc2lnbmVkIGxvbmcgdmFsID0gc2ltcGxlX3N0cnRvdWwocCwgJnAsIDEwKTsKKworCWlmICh2YWwpCisJCWJpLT5mbGFncyB8PSBJTlRFR1JJVFlfRkxBR19SRUFEOworCWVsc2UKKwkJYmktPmZsYWdzICY9IH5JTlRFR1JJVFlfRkxBR19SRUFEOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdCBpbnRlZ3JpdHlfcmVhZF9zaG93KHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJWRcbiIsIChiaS0+ZmxhZ3MgJiBJTlRFR1JJVFlfRkxBR19SRUFEKSAhPSAwKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X3dyaXRlX3N0b3JlKHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwKKwkJCQkgICAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCkKK3sKKwljaGFyICpwID0gKGNoYXIgKikgcGFnZTsKKwl1bnNpZ25lZCBsb25nIHZhbCA9IHNpbXBsZV9zdHJ0b3VsKHAsICZwLCAxMCk7CisKKwlpZiAodmFsKQorCQliaS0+ZmxhZ3MgfD0gSU5URUdSSVRZX0ZMQUdfV1JJVEU7CisJZWxzZQorCQliaS0+ZmxhZ3MgJj0gfklOVEVHUklUWV9GTEFHX1dSSVRFOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdCBpbnRlZ3JpdHlfd3JpdGVfc2hvdyhzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmksIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVkXG4iLCAoYmktPmZsYWdzICYgSU5URUdSSVRZX0ZMQUdfV1JJVEUpICE9IDApOworfQorCitzdGF0aWMgc3RydWN0IGludGVncml0eV9zeXNmc19lbnRyeSBpbnRlZ3JpdHlfZm9ybWF0X2VudHJ5ID0geworCS5hdHRyID0geyAubmFtZSA9ICJmb3JtYXQiLCAubW9kZSA9IFNfSVJVR08gfSwKKwkuc2hvdyA9IGludGVncml0eV9mb3JtYXRfc2hvdywKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5IGludGVncml0eV90YWdfc2l6ZV9lbnRyeSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAidGFnX3NpemUiLCAubW9kZSA9IFNfSVJVR08gfSwKKwkuc2hvdyA9IGludGVncml0eV90YWdfc2l6ZV9zaG93LAorfTsKKworc3RhdGljIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgaW50ZWdyaXR5X3JlYWRfZW50cnkgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gInJlYWRfdmVyaWZ5IiwgLm1vZGUgPSBTX0lSVUdPIHwgU19JV1VTUiB9LAorCS5zaG93ID0gaW50ZWdyaXR5X3JlYWRfc2hvdywKKwkuc3RvcmUgPSBpbnRlZ3JpdHlfcmVhZF9zdG9yZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5IGludGVncml0eV93cml0ZV9lbnRyeSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAid3JpdGVfZ2VuZXJhdGUiLCAubW9kZSA9IFNfSVJVR08gfCBTX0lXVVNSIH0sCisJLnNob3cgPSBpbnRlZ3JpdHlfd3JpdGVfc2hvdywKKwkuc3RvcmUgPSBpbnRlZ3JpdHlfd3JpdGVfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaW50ZWdyaXR5X2F0dHJzW10gPSB7CisJJmludGVncml0eV9mb3JtYXRfZW50cnkuYXR0ciwKKwkmaW50ZWdyaXR5X3RhZ19zaXplX2VudHJ5LmF0dHIsCisJJmludGVncml0eV9yZWFkX2VudHJ5LmF0dHIsCisJJmludGVncml0eV93cml0ZV9lbnRyeS5hdHRyLAorCU5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IHN5c2ZzX29wcyBpbnRlZ3JpdHlfb3BzID0geworCS5zaG93CT0gJmludGVncml0eV9hdHRyX3Nob3csCisJLnN0b3JlCT0gJmludGVncml0eV9hdHRyX3N0b3JlLAorfTsKKworc3RhdGljIGludCBfX2luaXQgYmxrX2Rldl9pbnRlZ3JpdHlfaW5pdCh2b2lkKQoreworCWludGVncml0eV9jYWNoZXAgPSBrbWVtX2NhY2hlX2NyZWF0ZSgiYmxrZGV2X2ludGVncml0eSIsCisJCQkJCSAgICAgc2l6ZW9mKHN0cnVjdCBibGtfaW50ZWdyaXR5KSwKKwkJCQkJICAgICAwLCBTTEFCX1BBTklDLCBOVUxMKTsKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChibGtfZGV2X2ludGVncml0eV9pbml0KTsKKworc3RhdGljIHZvaWQgYmxrX2ludGVncml0eV9yZWxlYXNlKHN0cnVjdCBrb2JqZWN0ICprb2JqKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9CisJCWNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgYmxrX2ludGVncml0eSwga29iaik7CisKKwlrbWVtX2NhY2hlX2ZyZWUoaW50ZWdyaXR5X2NhY2hlcCwgYmkpOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfdHlwZSBpbnRlZ3JpdHlfa3R5cGUgPSB7CisJLmRlZmF1bHRfYXR0cnMJPSBpbnRlZ3JpdHlfYXR0cnMsCisJLnN5c2ZzX29wcwk9ICZpbnRlZ3JpdHlfb3BzLAorCS5yZWxlYXNlCT0gYmxrX2ludGVncml0eV9yZWxlYXNlLAorfTsKKworLyoqCisgKiBibGtfaW50ZWdyaXR5X3JlZ2lzdGVyIC0gUmVnaXN0ZXIgYSBnZW5kaXNrIGFzIGJlaW5nIGludGVncml0eS1jYXBhYmxlCisgKiBAZGlzazoJc3RydWN0IGdlbmRpc2sgcG9pbnRlciB0byBtYWtlIGludGVncml0eS1hd2FyZQorICogQHRlbXBsYXRlOglpbnRlZ3JpdHkgcHJvZmlsZQorICoKKyAqIERlc2NyaXB0aW9uOiBXaGVuIGEgZGV2aWNlIG5lZWRzIHRvIGFkdmVydGlzZSBpdHNlbGYgYXMgYmVpbmcgYWJsZQorICogdG8gc2VuZC9yZWNlaXZlIGludGVncml0eSBtZXRhZGF0YSBpdCBtdXN0IHVzZSB0aGlzIGZ1bmN0aW9uIHRvCisgKiByZWdpc3RlciB0aGUgY2FwYWJpbGl0eSB3aXRoIHRoZSBibG9jayBsYXllci4gIFRoZSB0ZW1wbGF0ZSBpcyBhCisgKiBibGtfaW50ZWdyaXR5IHN0cnVjdCB3aXRoIHZhbHVlcyBhcHByb3ByaWF0ZSBmb3IgdGhlIHVuZGVybHlpbmcKKyAqIGhhcmR3YXJlLiAgU2VlIERvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0LgorICovCitpbnQgYmxrX2ludGVncml0eV9yZWdpc3RlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzaywgc3RydWN0IGJsa19pbnRlZ3JpdHkgKnRlbXBsYXRlKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaTsKKworCUJVR19PTihkaXNrID09IE5VTEwpOworCUJVR19PTih0ZW1wbGF0ZSA9PSBOVUxMKTsKKworCWlmIChkaXNrLT5pbnRlZ3JpdHkgPT0gTlVMTCkgeworCQliaSA9IGttZW1fY2FjaGVfYWxsb2MoaW50ZWdyaXR5X2NhY2hlcCwKKwkJCQkJCUdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKTsKKwkJaWYgKCFiaSkKKwkJCXJldHVybiAtMTsKKworCQlpZiAoa29iamVjdF9pbml0X2FuZF9hZGQoJmJpLT5rb2JqLCAmaW50ZWdyaXR5X2t0eXBlLAorCQkJCQkgJmRpc2stPmRldi5rb2JqLCAiJXMiLCAiaW50ZWdyaXR5IikpIHsKKwkJCWttZW1fY2FjaGVfZnJlZShpbnRlZ3JpdHlfY2FjaGVwLCBiaSk7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCQlrb2JqZWN0X3VldmVudCgmYmktPmtvYmosIEtPQkpfQUREKTsKKworCQliaS0+ZmxhZ3MgfD0gSU5URUdSSVRZX0ZMQUdfUkVBRCB8IElOVEVHUklUWV9GTEFHX1dSSVRFOworCQliaS0+c2VjdG9yX3NpemUgPSBkaXNrLT5xdWV1ZS0+aGFyZHNlY3Rfc2l6ZTsKKwkJZGlzay0+aW50ZWdyaXR5ID0gYmk7CisJfSBlbHNlCisJCWJpID0gZGlzay0+aW50ZWdyaXR5OworCisJLyogVXNlIHRoZSBwcm92aWRlZCBwcm9maWxlIGFzIHRlbXBsYXRlICovCisJYmktPm5hbWUgPSB0ZW1wbGF0ZS0+bmFtZTsKKwliaS0+Z2VuZXJhdGVfZm4gPSB0ZW1wbGF0ZS0+Z2VuZXJhdGVfZm47CisJYmktPnZlcmlmeV9mbiA9IHRlbXBsYXRlLT52ZXJpZnlfZm47CisJYmktPnR1cGxlX3NpemUgPSB0ZW1wbGF0ZS0+dHVwbGVfc2l6ZTsKKwliaS0+c2V0X3RhZ19mbiA9IHRlbXBsYXRlLT5zZXRfdGFnX2ZuOworCWJpLT5nZXRfdGFnX2ZuID0gdGVtcGxhdGUtPmdldF90YWdfZm47CisJYmktPnRhZ19zaXplID0gdGVtcGxhdGUtPnRhZ19zaXplOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIpOworCisvKioKKyAqIGJsa19pbnRlZ3JpdHlfdW5yZWdpc3RlciAtIFJlbW92ZSBibG9jayBpbnRlZ3JpdHkgcHJvZmlsZQorICogQGRpc2s6CWRpc2sgd2hvc2UgaW50ZWdyaXR5IHByb2ZpbGUgdG8gZGVhbGxvY2F0ZQorICoKKyAqIERlc2NyaXB0aW9uOiBUaGlzIGZ1bmN0aW9uIGZyZWVzIGFsbCBtZW1vcnkgdXNlZCBieSB0aGUgYmxvY2sKKyAqIGludGVncml0eSBwcm9maWxlLiAgVG8gYmUgY2FsbGVkIGF0IGRldmljZSB0ZWFyZG93bi4KKyAqLwordm9pZCBibGtfaW50ZWdyaXR5X3VucmVnaXN0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpOworCisJaWYgKCFkaXNrIHx8ICFkaXNrLT5pbnRlZ3JpdHkpCisJCXJldHVybjsKKworCWJpID0gZGlzay0+aW50ZWdyaXR5OworCisJa29iamVjdF91ZXZlbnQoJmJpLT5rb2JqLCBLT0JKX1JFTU9WRSk7CisJa29iamVjdF9kZWwoJmJpLT5rb2JqKTsKKwlrb2JqZWN0X3B1dCgmZGlzay0+ZGV2LmtvYmopOworCWttZW1fY2FjaGVfZnJlZShpbnRlZ3JpdHlfY2FjaGVwLCBiaSk7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfdW5yZWdpc3Rlcik7CmRpZmYgLS1naXQgYS9ibG9jay9ibGstbWFwLmMgYi9ibG9jay9ibGstbWFwLmMKaW5kZXggMGIxYWY1YS4uZGRkOTZmYiAxMDA2NDQKLS0tIGEvYmxvY2svYmxrLW1hcC5jCisrKyBiL2Jsb2NrL2Jsay1tYXAuYwpAQCAtMjEwLDYgKzIxMCw3IEBACiAJaWYgKCFiaW9fZmxhZ2dlZChiaW8sIEJJT19VU0VSX01BUFBFRCkpCiAJCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX0NPUFlfVVNFUjsKIAorCWJsa19xdWV1ZV9ib3VuY2UocSwgJmJpbyk7CiAJYmlvX2dldChiaW8pOwogCWJsa19ycV9iaW9fcHJlcChxLCBycSwgYmlvKTsKIAlycS0+YnVmZmVyID0gcnEtPmRhdGEgPSBOVUxMOwpAQCAtMjY4LDYgKzI2OSw3IEBACiAJaW50IHJlYWRpbmcgPSBycV9kYXRhX2RpcihycSkgPT0gUkVBRDsKIAlpbnQgZG9fY29weSA9IDA7CiAJc3RydWN0IGJpbyAqYmlvOworCXVuc2lnbmVkIGxvbmcgc3RhY2tfbWFzayA9IH4oVEhSRUFEX1NJWkUgLSAxKTsKIAogCWlmIChsZW4gPiAocS0+bWF4X2h3X3NlY3RvcnMgPDwgOSkpCiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMjc4LDYgKzI4MCwxMCBAQAogCWFsaWdubWVudCA9IHF1ZXVlX2RtYV9hbGlnbm1lbnQocSkgfCBxLT5kbWFfcGFkX21hc2s7CiAJZG9fY29weSA9ICgoa2FkZHIgJiBhbGlnbm1lbnQpIHx8IChsZW4gJiBhbGlnbm1lbnQpKTsKIAorCWlmICghKChrYWRkciAmIHN0YWNrX21hc2spIF4KKwkgICAgICAoKHVuc2lnbmVkIGxvbmcpY3VycmVudC0+c3RhY2sgJiBzdGFja19tYXNrKSkpCisJCWRvX2NvcHkgPSAxOworCiAJaWYgKGRvX2NvcHkpCiAJCWJpbyA9IGJpb19jb3B5X2tlcm4ocSwga2J1ZiwgbGVuLCBnZnBfbWFzaywgcmVhZGluZyk7CiAJZWxzZQpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLW1lcmdlLmMgYi9ibG9jay9ibGstbWVyZ2UuYwppbmRleCA2NTExMzZhLi41ZWZjOWU3IDEwMDY0NAotLS0gYS9ibG9jay9ibGstbWVyZ2UuYworKysgYi9ibG9jay9ibGstbWVyZ2UuYwpAQCAtNDQxLDYgKzQ0MSw5IEBACiAJICAgIHx8IG5leHQtPnNwZWNpYWwpCiAJCXJldHVybiAwOwogCisJaWYgKGJsa19pbnRlZ3JpdHlfcnEocmVxKSAhPSBibGtfaW50ZWdyaXR5X3JxKG5leHQpKQorCQlyZXR1cm4gMDsKKwogCS8qCiAJICogSWYgd2UgYXJlIGFsbG93ZWQgdG8gbWVyZ2UsIHRoZW4gYXBwZW5kIGJpbyBsaXN0CiAJICogZnJvbSBuZXh0IHRvIHJxIGFuZCByZWxlYXNlIG5leHQuIG1lcmdlX3JlcXVlc3RzX2ZuCmRpZmYgLS1naXQgYS9ibG9jay9ibGstc2V0dGluZ3MuYyBiL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCmluZGV4IDhkZDg2NDEuLmRmYzc3MDEgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCisrKyBiL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCkBAIC0zMDIsMTEgKzMwMiwxMCBAQAogICogQHE6ICAgICB0aGUgcmVxdWVzdCBxdWV1ZSBmb3IgdGhlIGRldmljZQogICogQG1hc2s6ICBwYWQgbWFzawogICoKLSAqIFNldCBwYWQgbWFzay4gIERpcmVjdCBJTyByZXF1ZXN0cyBhcmUgcGFkZGVkIHRvIHRoZSBtYXNrIHNwZWNpZmllZC4KKyAqIFNldCBkbWEgcGFkIG1hc2suCiAgKgotICogQXBwZW5kaW5nIHBhZCBidWZmZXIgdG8gYSByZXF1ZXN0IG1vZGlmaWVzIC0+ZGF0YV9sZW4gc3VjaCB0aGF0IGl0Ci0gKiBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4gIFRoZSBvcmlnaW5hbCByZXF1ZXN0ZWQgZGF0YSBsZW5ndGggY2FuIGJlCi0gKiBvYnRhaW5lZCB1c2luZyBibGtfcnFfcmF3X2RhdGFfbGVuKCkuCisgKiBBcHBlbmRpbmcgcGFkIGJ1ZmZlciB0byBhIHJlcXVlc3QgbW9kaWZpZXMgdGhlIGxhc3QgZW50cnkgb2YgYQorICogc2NhdHRlciBsaXN0IHN1Y2ggdGhhdCBpdCBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4KICAqKi8KIHZvaWQgYmxrX3F1ZXVlX2RtYV9wYWQoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHVuc2lnbmVkIGludCBtYXNrKQogewpAQCAtMzE1LDYgKzMxNCwyMyBAQAogRVhQT1JUX1NZTUJPTChibGtfcXVldWVfZG1hX3BhZCk7CiAKIC8qKgorICogYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkIC0gdXBkYXRlIHBhZCBtYXNrCisgKiBAcTogICAgIHRoZSByZXF1ZXN0IHF1ZXVlIGZvciB0aGUgZGV2aWNlCisgKiBAbWFzazogIHBhZCBtYXNrCisgKgorICogVXBkYXRlIGRtYSBwYWQgbWFzay4KKyAqCisgKiBBcHBlbmRpbmcgcGFkIGJ1ZmZlciB0byBhIHJlcXVlc3QgbW9kaWZpZXMgdGhlIGxhc3QgZW50cnkgb2YgYQorICogc2NhdHRlciBsaXN0IHN1Y2ggdGhhdCBpdCBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4KKyAqKi8KK3ZvaWQgYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgbWFzaykKK3sKKwlpZiAobWFzayA+IHEtPmRtYV9wYWRfbWFzaykKKwkJcS0+ZG1hX3BhZF9tYXNrID0gbWFzazsKK30KK0VYUE9SVF9TWU1CT0woYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKTsKKworLyoqCiAgKiBibGtfcXVldWVfZG1hX2RyYWluIC0gU2V0IHVwIGEgZHJhaW4gYnVmZmVyIGZvciBleGNlc3MgZG1hLgogICogQHE6ICB0aGUgcmVxdWVzdCBxdWV1ZSBmb3IgdGhlIGRldmljZQogICogQGRtYV9kcmFpbl9uZWVkZWQ6IGZuIHdoaWNoIHJldHVybnMgbm9uLXplcm8gaWYgZHJhaW4gaXMgbmVjZXNzYXJ5CmRpZmYgLS1naXQgYS9ibG9jay9ibGsuaCBiL2Jsb2NrL2Jsay5oCmluZGV4IDU5Nzc2YWIuLmM3OWYzMGUgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay5oCisrKyBiL2Jsb2NrL2Jsay5oCkBAIC01MSw0ICs1MSwxMiBAQAogCXJldHVybiBxLT5ucl9jb25nZXN0aW9uX29mZjsKIH0KIAorI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCisjZGVmaW5lIHJxX2Zvcl9lYWNoX2ludGVncml0eV9zZWdtZW50KGJ2bCwgX3JxLCBfaXRlcikJCVwKKwlfX3JxX2Zvcl9lYWNoX2JpbyhfaXRlci5iaW8sIF9ycSkJCQlcCisJCWJpcF9mb3JfZWFjaF92ZWMoYnZsLCBfaXRlci5iaW8tPmJpX2ludGVncml0eSwgX2l0ZXIuaSkKKworI2VuZGlmIC8qIEJMS19ERVZfSU5URUdSSVRZICovCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrdHJhY2UuYyBiL2Jsb2NrL2Jsa3RyYWNlLmMKaW5kZXggOGQzYTI3Ny4uZWI5NjUxYyAxMDA2NDQKLS0tIGEvYmxvY2svYmxrdHJhY2UuYworKysgYi9ibG9jay9ibGt0cmFjZS5jCkBAIC0yNDQsNiArMjQ0LDcgQEAKIHN0YXRpYyB2b2lkIGJsa190cmFjZV9jbGVhbnVwKHN0cnVjdCBibGtfdHJhY2UgKmJ0KQogewogCXJlbGF5X2Nsb3NlKGJ0LT5yY2hhbik7CisJZGVidWdmc19yZW1vdmUoYnQtPm1zZ19maWxlKTsKIAlkZWJ1Z2ZzX3JlbW92ZShidC0+ZHJvcHBlZF9maWxlKTsKIAlibGtfcmVtb3ZlX3RyZWUoYnQtPmRpcik7CiAJZnJlZV9wZXJjcHUoYnQtPnNlcXVlbmNlKTsKQEAgLTI5MSw2ICsyOTIsNDQgQEAKIAkucmVhZCA9CQlibGtfZHJvcHBlZF9yZWFkLAogfTsKIAorc3RhdGljIGludCBibGtfbXNnX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJZmlscC0+cHJpdmF0ZV9kYXRhID0gaW5vZGUtPmlfcHJpdmF0ZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBibGtfbXNnX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLAorCQkJCXNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgKm1zZzsKKwlzdHJ1Y3QgYmxrX3RyYWNlICpidDsKKworCWlmIChjb3VudCA+IEJMS19UTl9NQVhfTVNHKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1zZyA9IGttYWxsb2MoY291bnQsIEdGUF9LRVJORUwpOworCWlmIChtc2cgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoY29weV9mcm9tX3VzZXIobXNnLCBidWZmZXIsIGNvdW50KSkgeworCQlrZnJlZShtc2cpOworCQlyZXR1cm4gLUVGQVVMVDsKKwl9CisKKwlidCA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwlfX3RyYWNlX25vdGVfbWVzc2FnZShidCwgIiVzIiwgbXNnKTsKKwlrZnJlZShtc2cpOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBibGtfbXNnX2ZvcHMgPSB7CisJLm93bmVyID0JVEhJU19NT0RVTEUsCisJLm9wZW4gPQkJYmxrX21zZ19vcGVuLAorCS53cml0ZSA9CWJsa19tc2dfd3JpdGUsCit9OworCiAvKgogICogS2VlcCB0cmFjayBvZiBob3cgbWFueSB0aW1lcyB3ZSBlbmNvdW50ZXJlZCBhIGZ1bGwgc3ViYnVmZmVyLCB0byBhaWQKICAqIHRoZSB1c2VyIHNwYWNlIGFwcCBpbiB0ZWxsaW5nIGhvdyBtYW55IGxvc3QgZXZlbnRzIHRoZXJlIHdlcmUuCkBAIC0zODAsNiArNDE5LDEwIEBACiAJaWYgKCFidC0+ZHJvcHBlZF9maWxlKQogCQlnb3RvIGVycjsKIAorCWJ0LT5tc2dfZmlsZSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoIm1zZyIsIDAyMjIsIGRpciwgYnQsICZibGtfbXNnX2ZvcHMpOworCWlmICghYnQtPm1zZ19maWxlKQorCQlnb3RvIGVycjsKKwogCWJ0LT5yY2hhbiA9IHJlbGF5X29wZW4oInRyYWNlIiwgZGlyLCBidXRzLT5idWZfc2l6ZSwKIAkJCQlidXRzLT5idWZfbnIsICZibGtfcmVsYXlfY2FsbGJhY2tzLCBidCk7CiAJaWYgKCFidC0+cmNoYW4pCkBAIC00MDksNiArNDUyLDggQEAKIAlpZiAoZGlyKQogCQlibGtfcmVtb3ZlX3RyZWUoZGlyKTsKIAlpZiAoYnQpIHsKKwkJaWYgKGJ0LT5tc2dfZmlsZSkKKwkJCWRlYnVnZnNfcmVtb3ZlKGJ0LT5tc2dfZmlsZSk7CiAJCWlmIChidC0+ZHJvcHBlZF9maWxlKQogCQkJZGVidWdmc19yZW1vdmUoYnQtPmRyb3BwZWRfZmlsZSk7CiAJCWZyZWVfcGVyY3B1KGJ0LT5zZXF1ZW5jZSk7CmRpZmYgLS1naXQgYS9ibG9jay9ic2cuYyBiL2Jsb2NrL2JzZy5jCmluZGV4IGYwYjdjZDMuLjBiM2IyODIgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2JzZy5jCisrKyBiL2Jsb2NrL2JzZy5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CiAjaW5jbHVkZSA8bGludXgvYnNnLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaV9pb2N0bC5oPgpAQCAtNDQsMTEgKzQ1LDEyIEBACiAJY2hhciBuYW1lW0JVU19JRF9TSVpFXTsKIAlpbnQgbWF4X3F1ZXVlOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmNtZF9maWx0ZXI7CisJbW9kZV90ICpmX21vZGU7CiB9OwogCiBlbnVtIHsKIAlCU0dfRl9CTE9DSwkJPSAxLAotCUJTR19GX1dSSVRFX1BFUk0JPSAyLAogfTsKIAogI2RlZmluZSBCU0dfREVGQVVMVF9DTURTCTY0CkBAIC0xNzIsNyArMTc0LDcgQEAKIH0KIAogc3RhdGljIGludCBibGtfZmlsbF9zZ3Y0X2hkcl9ycShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IHJlcXVlc3QgKnJxLAotCQkJCXN0cnVjdCBzZ19pb192NCAqaGRyLCBpbnQgaGFzX3dyaXRlX3Blcm0pCisJCQkJc3RydWN0IHNnX2lvX3Y0ICpoZHIsIHN0cnVjdCBic2dfZGV2aWNlICpiZCkKIHsKIAlpZiAoaGRyLT5yZXF1ZXN0X2xlbiA+IEJMS19NQVhfQ0RCKSB7CiAJCXJxLT5jbWQgPSBremFsbG9jKGhkci0+cmVxdWVzdF9sZW4sIEdGUF9LRVJORUwpOwpAQCAtMTg1LDcgKzE4Nyw4IEBACiAJCXJldHVybiAtRUZBVUxUOwogCiAJaWYgKGhkci0+c3VicHJvdG9jb2wgPT0gQlNHX1NVQl9QUk9UT0NPTF9TQ1NJX0NNRCkgewotCQlpZiAoYmxrX3ZlcmlmeV9jb21tYW5kKHJxLT5jbWQsIGhhc193cml0ZV9wZXJtKSkKKwkJaWYgKGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKGJkLT5jbWRfZmlsdGVyLCBycS0+Y21kLAorCQkJCQkJIGJkLT5mX21vZGUpKQogCQkJcmV0dXJuIC1FUEVSTTsKIAl9IGVsc2UgaWYgKCFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQogCQlyZXR1cm4gLUVQRVJNOwpAQCAtMjYzLDggKzI2Niw3IEBACiAJcnEgPSBibGtfZ2V0X3JlcXVlc3QocSwgcncsIEdGUF9LRVJORUwpOwogCWlmICghcnEpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwotCXJldCA9IGJsa19maWxsX3NndjRfaGRyX3JxKHEsIHJxLCBoZHIsIHRlc3RfYml0KEJTR19GX1dSSVRFX1BFUk0sCi0JCQkJCQkgICAgICAgJmJkLT5mbGFncykpOworCXJldCA9IGJsa19maWxsX3NndjRfaGRyX3JxKHEsIHJxLCBoZHIsIGJkKTsKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIApAQCAtNTY2LDEyICs1NjgsMjMgQEAKIAkJc2V0X2JpdChCU0dfRl9CTE9DSywgJmJkLT5mbGFncyk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBic2dfc2V0X3dyaXRlX3Blcm0oc3RydWN0IGJzZ19kZXZpY2UgKmJkLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3N0YXRpYyB2b2lkIGJzZ19zZXRfY21kX2ZpbHRlcihzdHJ1Y3QgYnNnX2RldmljZSAqYmQsCisJCQkgICBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpCi0JCXNldF9iaXQoQlNHX0ZfV1JJVEVfUEVSTSwgJmJkLT5mbGFncyk7Ci0JZWxzZQotCQljbGVhcl9iaXQoQlNHX0ZfV1JJVEVfUEVSTSwgJmJkLT5mbGFncyk7CisJc3RydWN0IGlub2RlICppbm9kZTsKKwlzdHJ1Y3QgZ2VuZGlzayAqZGlzazsKKworCWlmICghZmlsZSkKKwkJcmV0dXJuOworCisJaW5vZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKwlpZiAoIWlub2RlKQorCQlyZXR1cm47CisKKwlkaXNrID0gaW5vZGUtPmlfYmRldi0+YmRfZGlzazsKKworCWJkLT5jbWRfZmlsdGVyID0gJmRpc2stPmNtZF9maWx0ZXI7CisJYmQtPmZfbW9kZSA9ICZmaWxlLT5mX21vZGU7CiB9CiAKIC8qCkBAIC01OTUsNiArNjA4LDggQEAKIAlkcHJpbnRrKCIlczogcmVhZCAlWmQgYnl0ZXNcbiIsIGJkLT5uYW1lLCBjb3VudCk7CiAKIAlic2dfc2V0X2Jsb2NrKGJkLCBmaWxlKTsKKwlic2dfc2V0X2NtZF9maWx0ZXIoYmQsIGZpbGUpOworCiAJYnl0ZXNfcmVhZCA9IDA7CiAJcmV0ID0gX19ic2dfcmVhZChidWYsIGNvdW50LCBiZCwgTlVMTCwgJmJ5dGVzX3JlYWQpOwogCSpwcG9zID0gYnl0ZXNfcmVhZDsKQEAgLTY2OCw3ICs2ODMsNyBAQAogCWRwcmludGsoIiVzOiB3cml0ZSAlWmQgYnl0ZXNcbiIsIGJkLT5uYW1lLCBjb3VudCk7CiAKIAlic2dfc2V0X2Jsb2NrKGJkLCBmaWxlKTsKLQlic2dfc2V0X3dyaXRlX3Blcm0oYmQsIGZpbGUpOworCWJzZ19zZXRfY21kX2ZpbHRlcihiZCwgZmlsZSk7CiAKIAlieXRlc193cml0dGVuID0gMDsKIAlyZXQgPSBfX2JzZ193cml0ZShiZCwgYnVmLCBjb3VudCwgJmJ5dGVzX3dyaXR0ZW4pOwpAQCAtNzA5LDExICs3MjQsMTIgQEAKIHsKIAlzdHJ1Y3QgYnNnX2NsYXNzX2RldmljZSAqYmNkID0KIAkJY29udGFpbmVyX29mKGtyZWYsIHN0cnVjdCBic2dfY2xhc3NfZGV2aWNlLCByZWYpOworCXN0cnVjdCBkZXZpY2UgKnBhcmVudCA9IGJjZC0+cGFyZW50OwogCiAJaWYgKGJjZC0+cmVsZWFzZSkKIAkJYmNkLT5yZWxlYXNlKGJjZC0+cGFyZW50KTsKIAotCXB1dF9kZXZpY2UoYmNkLT5wYXJlbnQpOworCXB1dF9kZXZpY2UocGFyZW50KTsKIH0KIAogc3RhdGljIGludCBic2dfcHV0X2RldmljZShzdHJ1Y3QgYnNnX2RldmljZSAqYmQpCkBAIC03NzEsNyArNzg3LDkgQEAKIAl9CiAKIAliZC0+cXVldWUgPSBycTsKKwogCWJzZ19zZXRfYmxvY2soYmQsIGZpbGUpOworCWJzZ19zZXRfY21kX2ZpbHRlcihiZCwgZmlsZSk7CiAKIAlhdG9taWNfc2V0KCZiZC0+cmVmX2NvdW50LCAxKTsKIAltdXRleF9sb2NrKCZic2dfbXV0ZXgpOwpAQCAtODM0LDcgKzg1MiwxMSBAQAogCiBzdGF0aWMgaW50IGJzZ19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCXN0cnVjdCBic2dfZGV2aWNlICpiZCA9IGJzZ19nZXRfZGV2aWNlKGlub2RlLCBmaWxlKTsKKwlzdHJ1Y3QgYnNnX2RldmljZSAqYmQ7CisKKwlsb2NrX2tlcm5lbCgpOworCWJkID0gYnNnX2dldF9kZXZpY2UoaW5vZGUsIGZpbGUpOworCXVubG9ja19rZXJuZWwoKTsKIAogCWlmIChJU19FUlIoYmQpKQogCQlyZXR1cm4gUFRSX0VSUihiZCk7CmRpZmYgLS1naXQgYS9ibG9jay9jZnEtaW9zY2hlZC5jIGIvYmxvY2svY2ZxLWlvc2NoZWQuYwppbmRleCBkMDFiNDExLi4xZTJhZmY4IDEwMDY0NAotLS0gYS9ibG9jay9jZnEtaW9zY2hlZC5jCisrKyBiL2Jsb2NrL2NmcS1pb3NjaGVkLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lbGV2YXRvci5oPgogI2luY2x1ZGUgPGxpbnV4L3JidHJlZS5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcHJpby5oPgorI2luY2x1ZGUgPGxpbnV4L2Jsa3RyYWNlX2FwaS5oPgogCiAvKgogICogdHVuYWJsZXMKQEAgLTQxLDEzICs0MiwxNCBAQAogCiAjZGVmaW5lIFJRX0NJQyhycSkJCVwKIAkoKHN0cnVjdCBjZnFfaW9fY29udGV4dCAqKSAocnEpLT5lbGV2YXRvcl9wcml2YXRlKQotI2RlZmluZSBSUV9DRlFRKHJxKQkJKChycSktPmVsZXZhdG9yX3ByaXZhdGUyKQorI2RlZmluZSBSUV9DRlFRKHJxKQkJKHN0cnVjdCBjZnFfcXVldWUgKikgKChycSktPmVsZXZhdG9yX3ByaXZhdGUyKQogCiBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKmNmcV9wb29sOwogc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICpjZnFfaW9jX3Bvb2w7CiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBpb2NfY291bnQpOwogc3RhdGljIHN0cnVjdCBjb21wbGV0aW9uICppb2NfZ29uZTsKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soaW9jX2dvbmVfbG9jayk7CiAKICNkZWZpbmUgQ0ZRX1BSSU9fTElTVFMJCUlPUFJJT19CRV9OUgogI2RlZmluZSBjZnFfY2xhc3NfaWRsZShjZnFxKQkoKGNmcXEpLT5pb3ByaW9fY2xhc3MgPT0gSU9QUklPX0NMQVNTX0lETEUpCkBAIC0xNTUsNiArMTU3LDcgQEAKIAl1bnNpZ25lZCBzaG9ydCBpb3ByaW8sIG9yZ19pb3ByaW87CiAJdW5zaWduZWQgc2hvcnQgaW9wcmlvX2NsYXNzLCBvcmdfaW9wcmlvX2NsYXNzOwogCisJcGlkX3QgcGlkOwogfTsKIAogZW51bSBjZnFxX3N0YXRlX2ZsYWdzIHsKQEAgLTE5OCw2ICsyMDEsMTEgQEAKIENGUV9DRlFRX0ZOUyhzeW5jKTsKICN1bmRlZiBDRlFfQ0ZRUV9GTlMKIAorI2RlZmluZSBjZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgZm10LCBhcmdzLi4uKQlcCisJYmxrX2FkZF90cmFjZV9tc2coKGNmcWQpLT5xdWV1ZSwgImNmcSVkICIgZm10LCAoY2ZxcSktPnBpZCwgIyNhcmdzKQorI2RlZmluZSBjZnFfbG9nKGNmcWQsIGZtdCwgYXJncy4uLikJXAorCWJsa19hZGRfdHJhY2VfbXNnKChjZnFkKS0+cXVldWUsICJjZnEgIiBmbXQsICMjYXJncykKKwogc3RhdGljIHZvaWQgY2ZxX2Rpc3BhdGNoX2luc2VydChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgcmVxdWVzdCAqKTsKIHN0YXRpYyBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFfZ2V0X3F1ZXVlKHN0cnVjdCBjZnFfZGF0YSAqLCBpbnQsCiAJCQkJICAgICAgIHN0cnVjdCBpb19jb250ZXh0ICosIGdmcF90KTsKQEAgLTIzNCw4ICsyNDIsMTAgQEAKICAqLwogc3RhdGljIGlubGluZSB2b2lkIGNmcV9zY2hlZHVsZV9kaXNwYXRjaChzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQpCiB7Ci0JaWYgKGNmcWQtPmJ1c3lfcXVldWVzKQorCWlmIChjZnFkLT5idXN5X3F1ZXVlcykgeworCQljZnFfbG9nKGNmcWQsICJzY2hlZHVsZSBkaXNwYXRjaCIpOwogCQlrYmxvY2tkX3NjaGVkdWxlX3dvcmsoJmNmcWQtPnVucGx1Z193b3JrKTsKKwl9CiB9CiAKIHN0YXRpYyBpbnQgY2ZxX3F1ZXVlX2VtcHR5KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxKQpAQCAtMjcwLDYgKzI4MCw3IEBACiBjZnFfc2V0X3ByaW9fc2xpY2Uoc3RydWN0IGNmcV9kYXRhICpjZnFkLCBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxKQogewogCWNmcXEtPnNsaWNlX2VuZCA9IGNmcV9wcmlvX3RvX3NsaWNlKGNmcWQsIGNmcXEpICsgamlmZmllczsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgInNldF9zbGljZT0lbHUiLCBjZnFxLT5zbGljZV9lbmQgLSBqaWZmaWVzKTsKIH0KIAogLyoKQEAgLTUzOSw2ICs1NTAsNyBAQAogICovCiBzdGF0aWMgdm9pZCBjZnFfYWRkX2NmcXFfcnIoc3RydWN0IGNmcV9kYXRhICpjZnFkLCBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxKQogeworCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAiYWRkX3RvX3JyIik7CiAJQlVHX09OKGNmcV9jZnFxX29uX3JyKGNmcXEpKTsKIAljZnFfbWFya19jZnFxX29uX3JyKGNmcXEpOwogCWNmcWQtPmJ1c3lfcXVldWVzKys7CkBAIC01NTIsNiArNTY0LDcgQEAKICAqLwogc3RhdGljIHZvaWQgY2ZxX2RlbF9jZnFxX3JyKHN0cnVjdCBjZnFfZGF0YSAqY2ZxZCwgc3RydWN0IGNmcV9xdWV1ZSAqY2ZxcSkKIHsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImRlbF9mcm9tX3JyIik7CiAJQlVHX09OKCFjZnFfY2ZxcV9vbl9ycihjZnFxKSk7CiAJY2ZxX2NsZWFyX2NmcXFfb25fcnIoY2ZxcSk7CiAKQEAgLTYzOCw2ICs2NTEsOCBAQAogCXN0cnVjdCBjZnFfZGF0YSAqY2ZxZCA9IHEtPmVsZXZhdG9yLT5lbGV2YXRvcl9kYXRhOwogCiAJY2ZxZC0+cnFfaW5fZHJpdmVyKys7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIFJRX0NGUVEocnEpLCAiYWN0aXZhdGUgcnEsIGRydj0lZCIsCisJCQkJCQljZnFkLT5ycV9pbl9kcml2ZXIpOwogCiAJLyoKIAkgKiBJZiB0aGUgZGVwdGggaXMgbGFyZ2VyIDEsIGl0IHJlYWxseSBjb3VsZCBiZSBxdWV1ZWluZy4gQnV0IGxldHMKQEAgLTY1Nyw2ICs2NzIsOCBAQAogCiAJV0FSTl9PTighY2ZxZC0+cnFfaW5fZHJpdmVyKTsKIAljZnFkLT5ycV9pbl9kcml2ZXItLTsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgUlFfQ0ZRUShycSksICJkZWFjdGl2YXRlIHJxLCBkcnY9JWQiLAorCQkJCQkJY2ZxZC0+cnFfaW5fZHJpdmVyKTsKIH0KIAogc3RhdGljIHZvaWQgY2ZxX3JlbW92ZV9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0ICpycSkKQEAgLTc0Niw2ICs3NjMsNyBAQAogCQkJCSAgIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEpCiB7CiAJaWYgKGNmcXEpIHsKKwkJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJzZXRfYWN0aXZlIik7CiAJCWNmcXEtPnNsaWNlX2VuZCA9IDA7CiAJCWNmcV9jbGVhcl9jZnFxX211c3RfYWxsb2Nfc2xpY2UoY2ZxcSk7CiAJCWNmcV9jbGVhcl9jZnFxX2ZpZm9fZXhwaXJlKGNmcXEpOwpAQCAtNzYzLDYgKzc4MSw4IEBACiBfX2NmcV9zbGljZV9leHBpcmVkKHN0cnVjdCBjZnFfZGF0YSAqY2ZxZCwgc3RydWN0IGNmcV9xdWV1ZSAqY2ZxcSwKIAkJICAgIGludCB0aW1lZF9vdXQpCiB7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJzbGljZSBleHBpcmVkIHQ9JWQiLCB0aW1lZF9vdXQpOworCiAJaWYgKGNmcV9jZnFxX3dhaXRfcmVxdWVzdChjZnFxKSkKIAkJZGVsX3RpbWVyKCZjZnFkLT5pZGxlX3NsaWNlX3RpbWVyKTsKIApAQCAtNzcyLDggKzc5MiwxMCBAQAogCS8qCiAJICogc3RvcmUgd2hhdCB3YXMgbGVmdCBvZiB0aGlzIHNsaWNlLCBpZiB0aGUgcXVldWUgaWRsZWQvdGltZWQgb3V0CiAJICovCi0JaWYgKHRpbWVkX291dCAmJiAhY2ZxX2NmcXFfc2xpY2VfbmV3KGNmcXEpKQorCWlmICh0aW1lZF9vdXQgJiYgIWNmcV9jZnFxX3NsaWNlX25ldyhjZnFxKSkgewogCQljZnFxLT5zbGljZV9yZXNpZCA9IGNmcXEtPnNsaWNlX2VuZCAtIGppZmZpZXM7CisJCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAicmVzaWQ9JWxkIiwgY2ZxcS0+c2xpY2VfcmVzaWQpOworCX0KIAogCWNmcV9yZXNvcnRfcnJfbGlzdChjZnFkLCBjZnFxKTsKIApAQCAtODY2LDYgKzg4OCwxMiBAQAogCQlyZXR1cm47CiAKIAkvKgorCSAqIHN0aWxsIHJlcXVlc3RzIHdpdGggdGhlIGRyaXZlciwgZG9uJ3QgaWRsZQorCSAqLworCWlmIChjZnFkLT5ycV9pbl9kcml2ZXIpCisJCXJldHVybjsKKworCS8qCiAJICogdGFzayBoYXMgZXhpdGVkLCBkb24ndCB3YWl0CiAJICovCiAJY2ljID0gY2ZxZC0+YWN0aXZlX2NpYzsKQEAgLTg5Miw2ICs5MjAsNyBAQAogCQlzbCA9IG1pbihzbCwgbXNlY3NfdG9famlmZmllcyhDRlFfTUlOX1RUKSk7CiAKIAltb2RfdGltZXIoJmNmcWQtPmlkbGVfc2xpY2VfdGltZXIsIGppZmZpZXMgKyBzbCk7CisJY2ZxX2xvZyhjZnFkLCAiYXJtX2lkbGU6ICVsdSIsIHNsKTsKIH0KIAogLyoKQEAgLTkwMiw2ICs5MzEsOCBAQAogCXN0cnVjdCBjZnFfZGF0YSAqY2ZxZCA9IHEtPmVsZXZhdG9yLT5lbGV2YXRvcl9kYXRhOwogCXN0cnVjdCBjZnFfcXVldWUgKmNmcXEgPSBSUV9DRlFRKHJxKTsKIAorCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAiZGlzcGF0Y2hfaW5zZXJ0Iik7CisKIAljZnFfcmVtb3ZlX3JlcXVlc3QocnEpOwogCWNmcXEtPmRpc3BhdGNoZWQrKzsKIAllbHZfZGlzcGF0Y2hfc29ydChxLCBycSk7CkBAIC05MzEsOCArOTYyLDkgQEAKIAlycSA9IHJxX2VudHJ5X2ZpZm8oY2ZxcS0+Zmlmby5uZXh0KTsKIAogCWlmICh0aW1lX2JlZm9yZShqaWZmaWVzLCBycS0+c3RhcnRfdGltZSArIGNmcWQtPmNmcV9maWZvX2V4cGlyZVtmaWZvXSkpCi0JCXJldHVybiBOVUxMOworCQlycSA9IE5VTEw7CiAKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImZpZm89JXAiLCBycSk7CiAJcmV0dXJuIHJxOwogfQogCkBAIC0xMDcyLDYgKzExMDQsNyBAQAogCiAJQlVHX09OKGNmcWQtPmJ1c3lfcXVldWVzKTsKIAorCWNmcV9sb2coY2ZxZCwgImZvcmNlZF9kaXNwYXRjaD0lZFxuIiwgZGlzcGF0Y2hlZCk7CiAJcmV0dXJuIGRpc3BhdGNoZWQ7CiB9CiAKQEAgLTExMTIsNiArMTE0NSw3IEBACiAJCWRpc3BhdGNoZWQgKz0gX19jZnFfZGlzcGF0Y2hfcmVxdWVzdHMoY2ZxZCwgY2ZxcSwgbWF4X2Rpc3BhdGNoKTsKIAl9CiAKKwljZnFfbG9nKGNmcWQsICJkaXNwYXRjaGVkPSVkIiwgZGlzcGF0Y2hlZCk7CiAJcmV0dXJuIGRpc3BhdGNoZWQ7CiB9CiAKQEAgLTExMzAsNiArMTE2NCw3IEBACiAJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZjZnFxLT5yZWYpKQogCQlyZXR1cm47CiAKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgInB1dF9xdWV1ZSIpOwogCUJVR19PTihyYl9maXJzdCgmY2ZxcS0+c29ydF9saXN0KSk7CiAJQlVHX09OKGNmcXEtPmFsbG9jYXRlZFtSRUFEXSArIGNmcXEtPmFsbG9jYXRlZFtXUklURV0pOwogCUJVR19PTihjZnFfY2ZxcV9vbl9ycihjZnFxKSk7CkBAIC0xMTc3LDggKzEyMTIsMTkgQEAKIAlrbWVtX2NhY2hlX2ZyZWUoY2ZxX2lvY19wb29sLCBjaWMpOwogCWVsdl9pb2NfY291bnRfZGVjKGlvY19jb3VudCk7CiAKLQlpZiAoaW9jX2dvbmUgJiYgIWVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQljb21wbGV0ZShpb2NfZ29uZSk7CisJaWYgKGlvY19nb25lKSB7CisJCS8qCisJCSAqIENGUSBzY2hlZHVsZXIgaXMgZXhpdGluZywgZ3JhYiBleGl0IGxvY2sgYW5kIGNoZWNrCisJCSAqIHRoZSBwZW5kaW5nIGlvIGNvbnRleHQgY291bnQuIElmIGl0IGhpdHMgemVybywKKwkJICogY29tcGxldGUgaW9jX2dvbmUgYW5kIHNldCBpdCBiYWNrIHRvIE5VTEwKKwkJICovCisJCXNwaW5fbG9jaygmaW9jX2dvbmVfbG9jayk7CisJCWlmIChpb2NfZ29uZSAmJiAhZWx2X2lvY19jb3VudF9yZWFkKGlvY19jb3VudCkpIHsKKwkJCWNvbXBsZXRlKGlvY19nb25lKTsKKwkJCWlvY19nb25lID0gTlVMTDsKKwkJfQorCQlzcGluX3VubG9jaygmaW9jX2dvbmVfbG9jayk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBjZnFfY2ljX2ZyZWUoc3RydWN0IGNmcV9pb19jb250ZXh0ICpjaWMpCkBAIC0xNDI3LDYgKzE0NzMsOCBAQAogCQkJCWNmcV9tYXJrX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7CiAJCQljZnFfbWFya19jZnFxX3N5bmMoY2ZxcSk7CiAJCX0KKwkJY2ZxcS0+cGlkID0gY3VycmVudC0+cGlkOworCQljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImFsbG9jZWQiKTsKIAl9CiAKIAlpZiAobmV3X2NmcXEpCkBAIC0xNjc1LDcgKzE3MjMsNyBAQAogY2ZxX3VwZGF0ZV9pZGxlX3dpbmRvdyhzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQsIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEsCiAJCSAgICAgICBzdHJ1Y3QgY2ZxX2lvX2NvbnRleHQgKmNpYykKIHsKLQlpbnQgZW5hYmxlX2lkbGU7CisJaW50IG9sZF9pZGxlLCBlbmFibGVfaWRsZTsKIAogCS8qCiAJICogRG9uJ3QgaWRsZSBmb3IgYXN5bmMgb3IgaWRsZSBpbyBwcmlvIGNsYXNzCkBAIC0xNjgzLDcgKzE3MzEsNyBAQAogCWlmICghY2ZxX2NmcXFfc3luYyhjZnFxKSB8fCBjZnFfY2xhc3NfaWRsZShjZnFxKSkKIAkJcmV0dXJuOwogCi0JZW5hYmxlX2lkbGUgPSBjZnFfY2ZxcV9pZGxlX3dpbmRvdyhjZnFxKTsKKwllbmFibGVfaWRsZSA9IG9sZF9pZGxlID0gY2ZxX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7CiAKIAlpZiAoIWF0b21pY19yZWFkKCZjaWMtPmlvYy0+bnJfdGFza3MpIHx8ICFjZnFkLT5jZnFfc2xpY2VfaWRsZSB8fAogCSAgICAoY2ZxZC0+aHdfdGFnICYmIENJQ19TRUVLWShjaWMpKSkKQEAgLTE2OTUsMTAgKzE3NDMsMTMgQEAKIAkJCWVuYWJsZV9pZGxlID0gMTsKIAl9CiAKLQlpZiAoZW5hYmxlX2lkbGUpCi0JCWNmcV9tYXJrX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7Ci0JZWxzZQotCQljZnFfY2xlYXJfY2ZxcV9pZGxlX3dpbmRvdyhjZnFxKTsKKwlpZiAob2xkX2lkbGUgIT0gZW5hYmxlX2lkbGUpIHsKKwkJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJpZGxlPSVkIiwgZW5hYmxlX2lkbGUpOworCQlpZiAoZW5hYmxlX2lkbGUpCisJCQljZnFfbWFya19jZnFxX2lkbGVfd2luZG93KGNmcXEpOworCQllbHNlCisJCQljZnFfY2xlYXJfY2ZxcV9pZGxlX3dpbmRvdyhjZnFxKTsKKwl9CiB9CiAKIC8qCkBAIC0xNzU3LDYgKzE4MDgsNyBAQAogICovCiBzdGF0aWMgdm9pZCBjZnFfcHJlZW1wdF9xdWV1ZShzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQsIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEpCiB7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJwcmVlbXB0Iik7CiAJY2ZxX3NsaWNlX2V4cGlyZWQoY2ZxZCwgMSk7CiAKIAkvKgpAQCAtMTgxOCw2ICsxODcwLDcgQEAKIAlzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQgPSBxLT5lbGV2YXRvci0+ZWxldmF0b3JfZGF0YTsKIAlzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxID0gUlFfQ0ZRUShycSk7CiAKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImluc2VydF9yZXF1ZXN0Iik7CiAJY2ZxX2luaXRfcHJpb19kYXRhKGNmcXEsIFJRX0NJQyhycSktPmlvYyk7CiAKIAljZnFfYWRkX3JxX3JiKHJxKTsKQEAgLTE4MzUsNiArMTg4OCw3IEBACiAJdW5zaWduZWQgbG9uZyBub3c7CiAKIAlub3cgPSBqaWZmaWVzOworCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAiY29tcGxldGUiKTsKIAogCVdBUk5fT04oIWNmcWQtPnJxX2luX2RyaXZlcik7CiAJV0FSTl9PTighY2ZxcS0+ZGlzcGF0Y2hlZCk7CkBAIC0yMDA0LDYgKzIwNTgsNyBAQAogCiAJY2ZxX3NjaGVkdWxlX2Rpc3BhdGNoKGNmcWQpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUocS0+cXVldWVfbG9jaywgZmxhZ3MpOworCWNmcV9sb2coY2ZxZCwgInNldF9yZXF1ZXN0IGZhaWwiKTsKIAlyZXR1cm4gMTsKIH0KIApAQCAtMjAyOSw2ICsyMDg0LDggQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCB0aW1lZF9vdXQgPSAxOwogCisJY2ZxX2xvZyhjZnFkLCAiaWRsZSB0aW1lciBmaXJlZCIpOworCiAJc3Bpbl9sb2NrX2lycXNhdmUoY2ZxZC0+cXVldWUtPnF1ZXVlX2xvY2ssIGZsYWdzKTsKIAogCWNmcXEgPSBjZnFkLT5hY3RpdmVfcXVldWU7CkBAIC0yMzE3LDcgKzIzNzQsNyBAQAogCSAqIHBlbmRpbmcgUkNVIGNhbGxiYWNrcwogCSAqLwogCWlmIChlbHZfaW9jX2NvdW50X3JlYWQoaW9jX2NvdW50KSkKLQkJd2FpdF9mb3JfY29tcGxldGlvbihpb2NfZ29uZSk7CisJCXdhaXRfZm9yX2NvbXBsZXRpb24oJmFsbF9nb25lKTsKIAljZnFfc2xhYl9raWxsKCk7CiB9CiAKZGlmZiAtLWdpdCBhL2Jsb2NrL2NtZC1maWx0ZXIuYyBiL2Jsb2NrL2NtZC1maWx0ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWM0NDA0Ci0tLSAvZGV2L251bGwKKysrIGIvYmxvY2svY21kLWZpbHRlci5jCkBAIC0wLDAgKzEsMzM0IEBACisvKgorICogQ29weXJpZ2h0IDIwMDQgUGV0ZXIgTS4gSm9uZXMgPHBqb25lc0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICoKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2VucworICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9nZW5oZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorCisjaW5jbHVkZSA8c2NzaS9zY3NpLmg+CisjaW5jbHVkZSA8bGludXgvY2Ryb20uaD4KKworaW50IGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIsCisJCQkJICB1bnNpZ25lZCBjaGFyICpjbWQsIG1vZGVfdCAqZl9tb2RlKQoreworCS8qIHJvb3QgY2FuIGRvIGFueSBjb21tYW5kLiAqLworCWlmIChjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQorCQlyZXR1cm4gMDsKKworCS8qIGlmIHRoZXJlJ3Mgbm8gZmlsdGVyIHNldCwgYXNzdW1lIHdlJ3JlIGZpbHRlcmluZyBldmVyeXRoaW5nIG91dCAqLworCWlmICghZmlsdGVyKQorCQlyZXR1cm4gLUVQRVJNOworCisJLyogQW55Ym9keSB3aG8gY2FuIG9wZW4gdGhlIGRldmljZSBjYW4gZG8gYSByZWFkLXNhZmUgY29tbWFuZCAqLworCWlmICh0ZXN0X2JpdChjbWRbMF0sIGZpbHRlci0+cmVhZF9vaykpCisJCXJldHVybiAwOworCisJLyogV3JpdGUtc2FmZSBjb21tYW5kcyByZXF1aXJlIGEgd3JpdGFibGUgb3BlbiAqLworCWlmICh0ZXN0X2JpdChjbWRbMF0sIGZpbHRlci0+d3JpdGVfb2spICYmICgqZl9tb2RlICYgRk1PREVfV1JJVEUpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAtRVBFUk07Cit9CitFWFBPUlRfU1lNQk9MKGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKTsKKworaW50IGJsa192ZXJpZnlfY29tbWFuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgY2hhciAqY21kKQoreworCXN0cnVjdCBnZW5kaXNrICpkaXNrOworCXN0cnVjdCBpbm9kZSAqaW5vZGU7CisKKwlpZiAoIWZpbGUpCisJCXJldHVybiAtRUlOVkFMOworCisJaW5vZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKwlpZiAoIWlub2RlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRpc2sgPSBpbm9kZS0+aV9iZGV2LT5iZF9kaXNrOworCisJcmV0dXJuIGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKCZkaXNrLT5jbWRfZmlsdGVyLAorCQkJCQkJIGNtZCwgJmZpbGUtPmZfbW9kZSk7Cit9CitFWFBPUlRfU1lNQk9MKGJsa192ZXJpZnlfY29tbWFuZCk7CisKKy8qIGFuZCBub3csIHRoZSBzeXNmcyBzdHVmZiAqLworc3RhdGljIHNzaXplX3QgcmNmX2NtZHNfc2hvdyhzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLCBjaGFyICpwYWdlLAorCQkJICAgICBpbnQgcncpCit7CisJY2hhciAqbnBhZ2UgPSBwYWdlOworCXVuc2lnbmVkIGxvbmcgKm9rYml0czsKKwlpbnQgaTsKKworCWlmIChydyA9PSBSRUFEKQorCQlva2JpdHMgPSBmaWx0ZXItPnJlYWRfb2s7CisJZWxzZQorCQlva2JpdHMgPSBmaWx0ZXItPndyaXRlX29rOworCisJZm9yIChpID0gMDsgaSA8IEJMS19TQ1NJX01BWF9DTURTOyBpKyspIHsKKwkJaWYgKHRlc3RfYml0KGksIG9rYml0cykpIHsKKwkJCXNwcmludGYobnBhZ2UsICIlMDJ4IiwgaSk7CisJCQlucGFnZSArPSAyOworCQkJaWYgKGkgPCBCTEtfU0NTSV9NQVhfQ01EUyAtIDEpCisJCQkJc3ByaW50ZihucGFnZSsrLCAiICIpOworCQl9CisJfQorCisJaWYgKG5wYWdlICE9IHBhZ2UpCisJCW5wYWdlICs9IHNwcmludGYobnBhZ2UsICJcbiIpOworCisJcmV0dXJuIG5wYWdlIC0gcGFnZTsKK30KKworc3RhdGljIHNzaXplX3QgcmNmX3JlYWRjbWRzX3Nob3coc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmNmX2NtZHNfc2hvdyhmaWx0ZXIsIHBhZ2UsIFJFQUQpOworfQorCitzdGF0aWMgc3NpemVfdCByY2Zfd3JpdGVjbWRzX3Nob3coc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwKKwkJCQkgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmNmX2NtZHNfc2hvdyhmaWx0ZXIsIHBhZ2UsIFdSSVRFKTsKK30KKworc3RhdGljIHNzaXplX3QgcmNmX2NtZHNfc3RvcmUoc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCwgaW50IHJ3KQoreworCXNzaXplX3QgcmV0ID0gMDsKKwl1bnNpZ25lZCBsb25nIG9rYml0c1tCTEtfU0NTSV9DTURfUEVSX0xPTkddLCAqdGFyZ2V0X29rYml0czsKKwlpbnQgY21kLCBzdGF0dXMsIGxlbjsKKwlzdWJzdHJpbmdfdCBzczsKKworCW1lbXNldCgmb2tiaXRzLCAwLCBzaXplb2Yob2tiaXRzKSk7CisKKwlmb3IgKGxlbiA9IHN0cmxlbihwYWdlKTsgbGVuID4gMDsgbGVuIC09IDMpIHsKKwkJaWYgKGxlbiA8IDIpCisJCQlicmVhazsKKwkJc3MuZnJvbSA9IChjaGFyICopIHBhZ2UgKyByZXQ7CisJCXNzLnRvID0gKGNoYXIgKikgcGFnZSArIHJldCArIDI7CisJCXJldCArPSAzOworCQlzdGF0dXMgPSBtYXRjaF9oZXgoJnNzLCAmY21kKTsKKwkJLyogZWl0aGVyIG9mIHRoZXNlIGNhc2VzIG1lYW5zIGludmFsaWQgaW5wdXQsIHNvIGRvIG5vdGhpbmcuICovCisJCWlmIChzdGF0dXMgfHwgY21kID49IEJMS19TQ1NJX01BWF9DTURTKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJX19zZXRfYml0KGNtZCwgb2tiaXRzKTsKKwl9CisKKwlpZiAocncgPT0gUkVBRCkKKwkJdGFyZ2V0X29rYml0cyA9IGZpbHRlci0+cmVhZF9vazsKKwllbHNlCisJCXRhcmdldF9va2JpdHMgPSBmaWx0ZXItPndyaXRlX29rOworCisJbWVtbW92ZSh0YXJnZXRfb2tiaXRzLCBva2JpdHMsIHNpemVvZihva2JpdHMpKTsKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJjZl9yZWFkY21kc19zdG9yZShzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLAorCQkJCSAgY29uc3QgY2hhciAqcGFnZSwgc2l6ZV90IGNvdW50KQoreworCXJldHVybiByY2ZfY21kc19zdG9yZShmaWx0ZXIsIHBhZ2UsIGNvdW50LCBSRUFEKTsKK30KKworc3RhdGljIHNzaXplX3QgcmNmX3dyaXRlY21kc19zdG9yZShzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLAorCQkJCSAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCkKK3sKKwlyZXR1cm4gcmNmX2NtZHNfc3RvcmUoZmlsdGVyLCBwYWdlLCBjb3VudCwgV1JJVEUpOworfQorCitzdHJ1Y3QgcmNmX3N5c2ZzX2VudHJ5IHsKKwlzdHJ1Y3QgYXR0cmlidXRlIGF0dHI7CisJc3NpemVfdCAoKnNob3cpKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICosIGNoYXIgKik7CisJc3NpemVfdCAoKnN0b3JlKShzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqLCBjb25zdCBjaGFyICosIHNpemVfdCk7Cit9OworCitzdGF0aWMgc3RydWN0IHJjZl9zeXNmc19lbnRyeSByY2ZfcmVhZGNtZHNfZW50cnkgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gInJlYWRfdGFibGUiLCAubW9kZSA9IFNfSVJVR08gfCBTX0lXVVNSIH0sCisJLnNob3cgPSByY2ZfcmVhZGNtZHNfc2hvdywKKwkuc3RvcmUgPSByY2ZfcmVhZGNtZHNfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IHJjZl9zeXNmc19lbnRyeSByY2Zfd3JpdGVjbWRzX2VudHJ5ID0geworCS5hdHRyID0gey5uYW1lID0gIndyaXRlX3RhYmxlIiwgLm1vZGUgPSBTX0lSVUdPIHwgU19JV1VTUiB9LAorCS5zaG93ID0gcmNmX3dyaXRlY21kc19zaG93LAorCS5zdG9yZSA9IHJjZl93cml0ZWNtZHNfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqZGVmYXVsdF9hdHRyc1tdID0geworCSZyY2ZfcmVhZGNtZHNfZW50cnkuYXR0ciwKKwkmcmNmX3dyaXRlY21kc19lbnRyeS5hdHRyLAorCU5VTEwsCit9OworCisjZGVmaW5lIHRvX3JjZihhdHIpIGNvbnRhaW5lcl9vZigoYXRyKSwgc3RydWN0IHJjZl9zeXNmc19lbnRyeSwgYXR0cikKKworc3RhdGljIHNzaXplX3QKK3JjZl9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJc3RydWN0IHJjZl9zeXNmc19lbnRyeSAqZW50cnkgPSB0b19yY2YoYXR0cik7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlcjsKKworCWZpbHRlciA9IGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciwga29iaik7CisJaWYgKGVudHJ5LT5zaG93KQorCQlyZXR1cm4gZW50cnktPnNob3coZmlsdGVyLCBwYWdlKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdAorcmNmX2F0dHJfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCisJCQljb25zdCBjaGFyICpwYWdlLCBzaXplX3QgbGVuZ3RoKQoreworCXN0cnVjdCByY2Zfc3lzZnNfZW50cnkgKmVudHJ5ID0gdG9fcmNmKGF0dHIpOworCXN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXI7CisKKwlpZiAoIWNhcGFibGUoQ0FQX1NZU19SQVdJTykpCisJCXJldHVybiAtRVBFUk07CisKKwlpZiAoIWVudHJ5LT5zdG9yZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlmaWx0ZXIgPSBjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIsIGtvYmopOworCXJldHVybiBlbnRyeS0+c3RvcmUoZmlsdGVyLCBwYWdlLCBsZW5ndGgpOworfQorCitzdGF0aWMgc3RydWN0IHN5c2ZzX29wcyByY2Zfc3lzZnNfb3BzID0geworCS5zaG93ID0gcmNmX2F0dHJfc2hvdywKKwkuc3RvcmUgPSByY2ZfYXR0cl9zdG9yZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qga29ial90eXBlIHJjZl9rdHlwZSA9IHsKKwkuc3lzZnNfb3BzID0gJnJjZl9zeXNmc19vcHMsCisJLmRlZmF1bHRfYXR0cnMgPSBkZWZhdWx0X2F0dHJzLAorfTsKKworI2lmbmRlZiBNQUlOVEVOQU5DRV9JTl9DTUQKKyNkZWZpbmUgTUFJTlRFTkFOQ0VfSU5fQ01EIDB4YTMKKyNlbmRpZgorCitzdGF0aWMgdm9pZCByY2Zfc2V0X2RlZmF1bHRzKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIpCit7CisJLyogQmFzaWMgcmVhZC1vbmx5IGNvbW1hbmRzICovCisJX19zZXRfYml0KFRFU1RfVU5JVF9SRUFEWSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVRVUVTVF9TRU5TRSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF82LCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEXzEwLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEXzEyLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEXzE2LCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEX0JVRkZFUiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF9ERUZFQ1RfREFUQSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF9DQVBBQ0lUWSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF9MT05HLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChJTlFVSVJZLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChNT0RFX1NFTlNFLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChNT0RFX1NFTlNFXzEwLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChMT0dfU0VOU0UsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFNUQVJUX1NUT1AsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1ZFUklGWV8xMCwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoVkVSSUZZXzE2LCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRVBPUlRfTFVOUywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoU0VSVklDRV9BQ1RJT05fSU4sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFJFQ0VJVkVfRElBR05PU1RJQywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoTUFJTlRFTkFOQ0VfSU5fQ01ELCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0JVRkZFUl9DQVBBQ0lUWSwgZmlsdGVyLT5yZWFkX29rKTsKKworCS8qIEF1ZGlvIENEIGNvbW1hbmRzICovCisJX19zZXRfYml0KEdQQ01EX1BMQVlfQ0QsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1BMQVlfQVVESU9fMTAsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1BMQVlfQVVESU9fTVNGLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9QTEFZX0FVRElPX1RJLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9QQVVTRV9SRVNVTUUsIGZpbHRlci0+cmVhZF9vayk7CisKKwkvKiBDRC9EVkQgZGF0YSByZWFkaW5nICovCisJX19zZXRfYml0KEdQQ01EX1JFQURfQ0QsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfQ0RfTVNGLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0RJU0NfSU5GTywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9DRFZEX0NBUEFDSVRZLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0RWRF9TVFJVQ1RVUkUsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfSEVBREVSLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX1RSQUNLX1JaT05FX0lORk8sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfU1VCQ0hBTk5FTCwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9UT0NfUE1BX0FUSVAsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFUE9SVF9LRVksIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1NDQU4sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX0dFVF9DT05GSUdVUkFUSU9OLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0ZPUk1BVF9DQVBBQ0lUSUVTLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9HRVRfRVZFTlRfU1RBVFVTX05PVElGSUNBVElPTiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfR0VUX1BFUkZPUk1BTkNFLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9TRUVLLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9TVE9QX1BMQVlfU0NBTiwgZmlsdGVyLT5yZWFkX29rKTsKKworCS8qIEJhc2ljIHdyaXRpbmcgY29tbWFuZHMgKi8KKwlfX3NldF9iaXQoV1JJVEVfNiwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KFdSSVRFXzEwLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoV1JJVEVfVkVSSUZZLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoV1JJVEVfMTIsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV9WRVJJRllfMTIsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV8xNiwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KFdSSVRFX0xPTkcsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV9MT05HXzIsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChFUkFTRSwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX01PREVfU0VMRUNUXzEwLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoTU9ERV9TRUxFQ1QsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChMT0dfU0VMRUNULCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfQkxBTkssIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9DTE9TRV9UUkFDSywgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX0ZMVVNIX0NBQ0hFLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfRk9STUFUX1VOSVQsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9SRVBBSVJfUlpPTkVfVFJBQ0ssIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9SRVNFUlZFX1JaT05FX1RSQUNLLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VORF9EVkRfU1RSVUNUVVJFLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VORF9FVkVOVCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFTkRfS0VZLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VORF9PUEMsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9TRU5EX0NVRV9TSEVFVCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFVF9TUEVFRCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1BSRVZFTlRfQUxMT1dfTUVESVVNX1JFTU9WQUwsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9MT0FEX1VOTE9BRCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFVF9TVFJFQU1JTkcsIGZpbHRlci0+d3JpdGVfb2spOworfQorCitpbnQgYmxrX3JlZ2lzdGVyX2ZpbHRlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzaykKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIgPSAmZGlzay0+Y21kX2ZpbHRlcjsKKwlzdHJ1Y3Qga29iamVjdCAqcGFyZW50ID0ga29iamVjdF9nZXQoZGlzay0+aG9sZGVyX2Rpci0+cGFyZW50KTsKKworCWlmICghcGFyZW50KQorCQlyZXR1cm4gLUVOT0RFVjsKKworCXJldCA9IGtvYmplY3RfaW5pdF9hbmRfYWRkKCZmaWx0ZXItPmtvYmosICZyY2Zfa3R5cGUsIHBhcmVudCwKKwkJCQkgIiVzIiwgImNtZF9maWx0ZXIiKTsKKworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJcmNmX3NldF9kZWZhdWx0cyhmaWx0ZXIpOworCXJldHVybiAwOworfQorCit2b2lkIGJsa191bnJlZ2lzdGVyX2ZpbHRlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzaykKK3sKKwlzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyID0gJmRpc2stPmNtZF9maWx0ZXI7CisKKwlrb2JqZWN0X3B1dCgmZmlsdGVyLT5rb2JqKTsKKwlrb2JqZWN0X3B1dChkaXNrLT5ob2xkZXJfZGlyLT5wYXJlbnQpOworfQorCmRpZmYgLS1naXQgYS9ibG9jay9lbGV2YXRvci5jIGIvYmxvY2svZWxldmF0b3IuYwppbmRleCA5MDJkZDEzLi5lZDZmOGYzIDEwMDY0NAotLS0gYS9ibG9jay9lbGV2YXRvci5jCisrKyBiL2Jsb2NrL2VsZXZhdG9yLmMKQEAgLTg2LDYgKzg2LDEyIEBACiAJaWYgKHJxLT5ycV9kaXNrICE9IGJpby0+YmlfYmRldi0+YmRfZGlzayB8fCBycS0+c3BlY2lhbCkKIAkJcmV0dXJuIDA7CiAKKwkvKgorCSAqIG9ubHkgbWVyZ2UgaW50ZWdyaXR5IHByb3RlY3RlZCBiaW8gaW50byBkaXR0byBycQorCSAqLworCWlmIChiaW9faW50ZWdyaXR5KGJpbykgIT0gYmxrX2ludGVncml0eV9ycShycSkpCisJCXJldHVybiAwOworCiAJaWYgKCFlbHZfaW9zY2hlZF9hbGxvd19tZXJnZShycSwgYmlvKSkKIAkJcmV0dXJuIDA7CiAKQEAgLTE0NCw3ICsxNTAsNyBAQAogCQllbHNlCiAJCQlzcHJpbnRmKGVsdiwgIiVzLWlvc2NoZWQiLCBuYW1lKTsKIAotCQlyZXF1ZXN0X21vZHVsZShlbHYpOworCQlyZXF1ZXN0X21vZHVsZSgiJXMiLCBlbHYpOwogCQlzcGluX2xvY2soJmVsdl9saXN0X2xvY2spOwogCQllID0gZWxldmF0b3JfZmluZChuYW1lKTsKIAl9CmRpZmYgLS1naXQgYS9ibG9jay9nZW5oZC5jIGIvYmxvY2svZ2VuaGQuYwppbmRleCBiOTIyZDQ4Li45MDc0ZjM4IDEwMDY0NAotLS0gYS9ibG9jay9nZW5oZC5jCisrKyBiL2Jsb2NrL2dlbmhkLmMKQEAgLTE4OSw2ICsxODksNyBAQAogCQkJICAgIGRpc2stPm1pbm9ycywgTlVMTCwgZXhhY3RfbWF0Y2gsIGV4YWN0X2xvY2ssIGRpc2spOwogCXJlZ2lzdGVyX2Rpc2soZGlzayk7CiAJYmxrX3JlZ2lzdGVyX3F1ZXVlKGRpc2spOworCWJsa19yZWdpc3Rlcl9maWx0ZXIoZGlzayk7CiAKIAliZGkgPSAmZGlzay0+cXVldWUtPmJhY2tpbmdfZGV2X2luZm87CiAJYmRpX3JlZ2lzdGVyX2RldihiZGksIE1LREVWKGRpc2stPm1ham9yLCBkaXNrLT5maXJzdF9taW5vcikpOwpAQCAtMjAwLDYgKzIwMSw3IEBACiAKIHZvaWQgdW5saW5rX2dlbmRpc2soc3RydWN0IGdlbmRpc2sgKmRpc2spCiB7CisJYmxrX3VucmVnaXN0ZXJfZmlsdGVyKGRpc2spOwogCXN5c2ZzX3JlbW92ZV9saW5rKCZkaXNrLT5kZXYua29iaiwgImJkaSIpOwogCWJkaV91bnJlZ2lzdGVyKCZkaXNrLT5xdWV1ZS0+YmFja2luZ19kZXZfaW5mbyk7CiAJYmxrX3VucmVnaXN0ZXJfcXVldWUoZGlzayk7CkBAIC00MDAsNiArNDAyLDE0IEBACiAJCSAgICAgICAoZGlzay0+ZmxhZ3MgJiBHRU5IRF9GTF9SRU1PVkFCTEUgPyAxIDogMCkpOwogfQogCitzdGF0aWMgc3NpemVfdCBkaXNrX3JvX3Nob3coc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGdlbmRpc2sgKmRpc2sgPSBkZXZfdG9fZGlzayhkZXYpOworCisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIGRpc2stPnBvbGljeSA/IDEgOiAwKTsKK30KKwogc3RhdGljIHNzaXplX3QgZGlza19zaXplX3Nob3coc3RydWN0IGRldmljZSAqZGV2LAogCQkJICAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHsKQEAgLTQ3Miw2ICs0ODIsNyBAQAogCiBzdGF0aWMgREVWSUNFX0FUVFIocmFuZ2UsIFNfSVJVR08sIGRpc2tfcmFuZ2Vfc2hvdywgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIocmVtb3ZhYmxlLCBTX0lSVUdPLCBkaXNrX3JlbW92YWJsZV9zaG93LCBOVUxMKTsKK3N0YXRpYyBERVZJQ0VfQVRUUihybywgU19JUlVHTywgZGlza19yb19zaG93LCBOVUxMKTsKIHN0YXRpYyBERVZJQ0VfQVRUUihzaXplLCBTX0lSVUdPLCBkaXNrX3NpemVfc2hvdywgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIoY2FwYWJpbGl0eSwgU19JUlVHTywgZGlza19jYXBhYmlsaXR5X3Nob3csIE5VTEwpOwogc3RhdGljIERFVklDRV9BVFRSKHN0YXQsIFNfSVJVR08sIGRpc2tfc3RhdF9zaG93LCBOVUxMKTsKQEAgLTQ4Myw2ICs0OTQsNyBAQAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmRpc2tfYXR0cnNbXSA9IHsKIAkmZGV2X2F0dHJfcmFuZ2UuYXR0ciwKIAkmZGV2X2F0dHJfcmVtb3ZhYmxlLmF0dHIsCisJJmRldl9hdHRyX3JvLmF0dHIsCiAJJmRldl9hdHRyX3NpemUuYXR0ciwKIAkmZGV2X2F0dHJfY2FwYWJpbGl0eS5hdHRyLAogCSZkZXZfYXR0cl9zdGF0LmF0dHIsCmRpZmYgLS1naXQgYS9ibG9jay9zY3NpX2lvY3RsLmMgYi9ibG9jay9zY3NpX2lvY3RsLmMKaW5kZXggNzgxOTljMC4uYzViOWJjZiAxMDA2NDQKLS0tIGEvYmxvY2svc2NzaV9pb2N0bC5jCisrKyBiL2Jsb2NrL3Njc2lfaW9jdGwuYwpAQCAtMTA1LDEyMCArMTA1LDEyIEBACiAJcmV0dXJuIHB1dF91c2VyKDEsIHApOwogfQogCi0jZGVmaW5lIENNRF9SRUFEX1NBRkUJMHgwMQotI2RlZmluZSBDTURfV1JJVEVfU0FGRQkweDAyCi0jZGVmaW5lIENNRF9XQVJORUQJMHgwNAotI2RlZmluZSBzYWZlX2Zvcl9yZWFkKGNtZCkJW2NtZF0gPSBDTURfUkVBRF9TQUZFCi0jZGVmaW5lIHNhZmVfZm9yX3dyaXRlKGNtZCkJW2NtZF0gPSBDTURfV1JJVEVfU0FGRQotCi1pbnQgYmxrX3ZlcmlmeV9jb21tYW5kKHVuc2lnbmVkIGNoYXIgKmNtZCwgaW50IGhhc193cml0ZV9wZXJtKQotewotCXN0YXRpYyB1bnNpZ25lZCBjaGFyIGNtZF90eXBlWzI1Nl0gPSB7Ci0KLQkJLyogQmFzaWMgcmVhZC1vbmx5IGNvbW1hbmRzICovCi0JCXNhZmVfZm9yX3JlYWQoVEVTVF9VTklUX1JFQURZKSwKLQkJc2FmZV9mb3JfcmVhZChSRVFVRVNUX1NFTlNFKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEXzYpLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfMTApLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfMTIpLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfMTYpLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfQlVGRkVSKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEX0RFRkVDVF9EQVRBKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEX0xPTkcpLAotCQlzYWZlX2Zvcl9yZWFkKElOUVVJUlkpLAotCQlzYWZlX2Zvcl9yZWFkKE1PREVfU0VOU0UpLAotCQlzYWZlX2Zvcl9yZWFkKE1PREVfU0VOU0VfMTApLAotCQlzYWZlX2Zvcl9yZWFkKExPR19TRU5TRSksCi0JCXNhZmVfZm9yX3JlYWQoU1RBUlRfU1RPUCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfVkVSSUZZXzEwKSwKLQkJc2FmZV9mb3JfcmVhZChWRVJJRllfMTYpLAotCi0JCS8qIEF1ZGlvIENEIGNvbW1hbmRzICovCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUExBWV9DRCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUExBWV9BVURJT18xMCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUExBWV9BVURJT19NU0YpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1BMQVlfQVVESU9fVEkpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1BBVVNFX1JFU1VNRSksCi0KLQkJLyogQ0QvRFZEIGRhdGEgcmVhZGluZyAqLwotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfQlVGRkVSX0NBUEFDSVRZKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0NEKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0NEX01TRiksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9ESVNDX0lORk8pLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfQ0RWRF9DQVBBQ0lUWSksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9EVkRfU1RSVUNUVVJFKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0hFQURFUiksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9UUkFDS19SWk9ORV9JTkZPKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX1NVQkNIQU5ORUwpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfVE9DX1BNQV9BVElQKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRVBPUlRfS0VZKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9TQ0FOKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9HRVRfQ09ORklHVVJBVElPTiksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9GT1JNQVRfQ0FQQUNJVElFUyksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfR0VUX0VWRU5UX1NUQVRVU19OT1RJRklDQVRJT04pLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX0dFVF9QRVJGT1JNQU5DRSksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfU0VFSyksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfU1RPUF9QTEFZX1NDQU4pLAotCi0JCS8qIEJhc2ljIHdyaXRpbmcgY29tbWFuZHMgKi8KLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfNiksCi0JCXNhZmVfZm9yX3dyaXRlKFdSSVRFXzEwKSwKLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfVkVSSUZZKSwKLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfMTIpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV9WRVJJRllfMTIpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV8xNiksCi0JCXNhZmVfZm9yX3dyaXRlKFdSSVRFX0xPTkcpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV9MT05HXzIpLAotCQlzYWZlX2Zvcl93cml0ZShFUkFTRSksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX01PREVfU0VMRUNUXzEwKSwKLQkJc2FmZV9mb3Jfd3JpdGUoTU9ERV9TRUxFQ1QpLAotCQlzYWZlX2Zvcl93cml0ZShMT0dfU0VMRUNUKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfQkxBTkspLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9DTE9TRV9UUkFDSyksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX0ZMVVNIX0NBQ0hFKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfRk9STUFUX1VOSVQpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9SRVBBSVJfUlpPTkVfVFJBQ0spLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9SRVNFUlZFX1JaT05FX1RSQUNLKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfU0VORF9EVkRfU1RSVUNUVVJFKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfU0VORF9FVkVOVCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFTkRfS0VZKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfU0VORF9PUEMpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9TRU5EX0NVRV9TSEVFVCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFVF9TUEVFRCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1BSRVZFTlRfQUxMT1dfTUVESVVNX1JFTU9WQUwpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9MT0FEX1VOTE9BRCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFVF9TVFJFQU1JTkcpLAotCX07Ci0JdW5zaWduZWQgY2hhciB0eXBlID0gY21kX3R5cGVbY21kWzBdXTsKLQotCS8qIEFueWJvZHkgd2hvIGNhbiBvcGVuIHRoZSBkZXZpY2UgY2FuIGRvIGEgcmVhZC1zYWZlIGNvbW1hbmQgKi8KLQlpZiAodHlwZSAmIENNRF9SRUFEX1NBRkUpCi0JCXJldHVybiAwOwotCi0JLyogV3JpdGUtc2FmZSBjb21tYW5kcyBqdXN0IHJlcXVpcmUgYSB3cml0YWJsZSBvcGVuLi4gKi8KLQlpZiAoKHR5cGUgJiBDTURfV1JJVEVfU0FGRSkgJiYgaGFzX3dyaXRlX3Blcm0pCi0JCXJldHVybiAwOwotCi0JLyogQW5kIHJvb3QgY2FuIGRvIGFueSBjb21tYW5kLi4gKi8KLQlpZiAoY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoIXR5cGUpIHsKLQkJY21kX3R5cGVbY21kWzBdXSA9IENNRF9XQVJORUQ7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgInNjc2k6IHVua25vd24gb3Bjb2RlIDB4JTAyeFxuIiwgY21kWzBdKTsKLQl9Ci0KLQkvKiBPdGhlcndpc2UgZmFpbCBpdCB3aXRoIGFuICJPcGVyYXRpb24gbm90IHBlcm1pdHRlZCIgKi8KLQlyZXR1cm4gLUVQRVJNOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoYmxrX3ZlcmlmeV9jb21tYW5kKTsKLQogc3RhdGljIGludCBibGtfZmlsbF9zZ2hkcl9ycShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IHJlcXVlc3QgKnJxLAotCQkJICAgICBzdHJ1Y3Qgc2dfaW9faGRyICpoZHIsIGludCBoYXNfd3JpdGVfcGVybSkKKwkJCSAgICAgc3RydWN0IHNnX2lvX2hkciAqaGRyLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlpZiAoY29weV9mcm9tX3VzZXIocnEtPmNtZCwgaGRyLT5jbWRwLCBoZHItPmNtZF9sZW4pKQogCQlyZXR1cm4gLUVGQVVMVDsKLQlpZiAoYmxrX3ZlcmlmeV9jb21tYW5kKHJxLT5jbWQsIGhhc193cml0ZV9wZXJtKSkKKwlpZiAoYmxrX3ZlcmlmeV9jb21tYW5kKGZpbGUsIHJxLT5jbWQpKQogCQlyZXR1cm4gLUVQRVJNOwogCiAJLyoKQEAgLTI4Nyw3ICsxNzksNyBAQAogCQlzdHJ1Y3QgZ2VuZGlzayAqYmRfZGlzaywgc3RydWN0IHNnX2lvX2hkciAqaGRyKQogewogCXVuc2lnbmVkIGxvbmcgc3RhcnRfdGltZTsKLQlpbnQgd3JpdGluZyA9IDAsIHJldCA9IDAsIGhhc193cml0ZV9wZXJtID0gMDsKKwlpbnQgd3JpdGluZyA9IDAsIHJldCA9IDA7CiAJc3RydWN0IHJlcXVlc3QgKnJxOwogCWNoYXIgc2Vuc2VbU0NTSV9TRU5TRV9CVUZGRVJTSVpFXTsKIAlzdHJ1Y3QgYmlvICpiaW87CkBAIC0zMTYsMTAgKzIwOCw3IEBACiAJaWYgKCFycSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlpZiAoZmlsZSkKLQkJaGFzX3dyaXRlX3Blcm0gPSBmaWxlLT5mX21vZGUgJiBGTU9ERV9XUklURTsKLQotCWlmIChibGtfZmlsbF9zZ2hkcl9ycShxLCBycSwgaGRyLCBoYXNfd3JpdGVfcGVybSkpIHsKKwlpZiAoYmxrX2ZpbGxfc2doZHJfcnEocSwgcnEsIGhkciwgZmlsZSkpIHsKIAkJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJfQpAQCAtNDUxLDcgKzM0MCw3IEBACiAJaWYgKGluX2xlbiAmJiBjb3B5X2Zyb21fdXNlcihidWZmZXIsIHNpYy0+ZGF0YSArIGNtZGxlbiwgaW5fbGVuKSkKIAkJZ290byBlcnJvcjsKIAotCWVyciA9IGJsa192ZXJpZnlfY29tbWFuZChycS0+Y21kLCBmaWxlLT5mX21vZGUgJiBGTU9ERV9XUklURSk7CisJZXJyID0gYmxrX3ZlcmlmeV9jb21tYW5kKGZpbGUsIHJxLT5jbWQpOwogCWlmIChlcnIpCiAJCWdvdG8gZXJyb3I7CiAKZGlmZiAtLWdpdCBhL2NyeXB0by9LY29uZmlnIGIvY3J5cHRvL0tjb25maWcKaW5kZXggODY0NDU2Yy4uZWE1MDM1NyAxMDA2NDQKLS0tIGEvY3J5cHRvL0tjb25maWcKKysrIGIvY3J5cHRvL0tjb25maWcKQEAgLTY1LDYgKzY1LDcgQEAKIGNvbmZpZyBDUllQVE9fQ1JZUFRECiAJdHJpc3RhdGUgIlNvZnR3YXJlIGFzeW5jIGNyeXB0byBkYWVtb24iCiAJc2VsZWN0IENSWVBUT19CTEtDSVBIRVIKKwlzZWxlY3QgQ1JZUFRPX0hBU0gKIAlzZWxlY3QgQ1JZUFRPX01BTkFHRVIKIAloZWxwCiAJICBUaGlzIGlzIGEgZ2VuZXJpYyBzb2Z0d2FyZSBhc3luY2hyb25vdXMgY3J5cHRvIGRhZW1vbiB0aGF0CkBAIC0yMTIsNyArMjEzLDcgQEAKIAogY29uZmlnIENSWVBUT19DUkMzMkMKIAl0cmlzdGF0ZSAiQ1JDMzJjIENSQyBhbGdvcml0aG0iCi0Jc2VsZWN0IENSWVBUT19BTEdBUEkKKwlzZWxlY3QgQ1JZUFRPX0hBU0gKIAlzZWxlY3QgTElCQ1JDMzJDCiAJaGVscAogCSAgQ2FzdGFnbm9saSwgZXQgYWwgQ3ljbGljIFJlZHVuZGFuY3ktQ2hlY2sgQWxnb3JpdGhtLiAgVXNlZApAQCAtMjQxLDYgKzI0Miw1NyBAQAogCSAgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBvdGhlciBwdXJwb3NlcyBiZWNhdXNlIG9mIHRoZSB3ZWFrbmVzcwogCSAgb2YgdGhlIGFsZ29yaXRobS4KIAorY29uZmlnIENSWVBUT19STUQxMjgKKyAgdHJpc3RhdGUgIlJJUEVNRC0xMjggZGlnZXN0IGFsZ29yaXRobSIKKyAgc2VsZWN0IENSWVBUT19BTEdBUEkKKyAgaGVscAorICAgIFJJUEVNRC0xMjggKElTTy9JRUMgMTAxMTgtMzoyMDA0KS4KKworICAgIFJJUEVNRC0xMjggaXMgYSAxMjgtYml0IGNyeXB0b2dyYXBoaWMgaGFzaCBmdW5jdGlvbi4gSXQgc2hvdWxkIG9ubHkKKyAgICB0byBiZSB1c2VkIGFzIGEgc2VjdXJlIHJlcGxhY2VtZW50IGZvciBSSVBFTUQuIEZvciBvdGhlciB1c2UgY2FzZXMKKyAgICBSSVBFTUQtMTYwIHNob3VsZCBiZSB1c2VkLgorCisgICAgRGV2ZWxvcGVkIGJ5IEhhbnMgRG9iYmVydGluLCBBbnRvb24gQm9zc2VsYWVycyBhbmQgQmFydCBQcmVuZWVsLgorICAgIFNlZSA8aHR0cDovL2hvbWUuZXNhdC5rdWxldXZlbi5iZS9+Ym9zc2VsYWUvcmlwZW1kMTYwLmh0bWw+CisKK2NvbmZpZyBDUllQVE9fUk1EMTYwCisgIHRyaXN0YXRlICJSSVBFTUQtMTYwIGRpZ2VzdCBhbGdvcml0aG0iCisgIHNlbGVjdCBDUllQVE9fQUxHQVBJCisgIGhlbHAKKyAgICBSSVBFTUQtMTYwIChJU08vSUVDIDEwMTE4LTM6MjAwNCkuCisKKyAgICBSSVBFTUQtMTYwIGlzIGEgMTYwLWJpdCBjcnlwdG9ncmFwaGljIGhhc2ggZnVuY3Rpb24uIEl0IGlzIGludGVuZGVkCisgICAgdG8gYmUgdXNlZCBhcyBhIHNlY3VyZSByZXBsYWNlbWVudCBmb3IgdGhlIDEyOC1iaXQgaGFzaCBmdW5jdGlvbnMKKyAgICBNRDQsIE1ENSBhbmQgaXQncyBwcmVkZWNlc3NvciBSSVBFTUQgKG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIFJJUEVNRC0xMjgpLgorCisgICAgSXQncyBzcGVlZCBpcyBjb21wYXJhYmxlIHRvIFNIQTEgYW5kIHRoZXJlIGFyZSBubyBrbm93biBhdHRhY2tzIGFnYWluc3QKKyAgICBSSVBFTUQtMTYwLgorCisgICAgRGV2ZWxvcGVkIGJ5IEhhbnMgRG9iYmVydGluLCBBbnRvb24gQm9zc2VsYWVycyBhbmQgQmFydCBQcmVuZWVsLgorICAgIFNlZSA8aHR0cDovL2hvbWUuZXNhdC5rdWxldXZlbi5iZS9+Ym9zc2VsYWUvcmlwZW1kMTYwLmh0bWw+CisKK2NvbmZpZyBDUllQVE9fUk1EMjU2CisgIHRyaXN0YXRlICJSSVBFTUQtMjU2IGRpZ2VzdCBhbGdvcml0aG0iCisgIHNlbGVjdCBDUllQVE9fQUxHQVBJCisgIGhlbHAKKyAgICBSSVBFTUQtMjU2IGlzIGFuIG9wdGlvbmFsIGV4dGVuc2lvbiBvZiBSSVBFTUQtMTI4IHdpdGggYSAyNTYgYml0IGhhc2guCisgICAgSXQgaXMgaW50ZW5kZWQgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IHJlcXVpcmUgbG9uZ2VyIGhhc2gtcmVzdWx0cywgd2l0aG91dAorICAgIG5lZWRpbmcgYSBsYXJnZXIgc2VjdXJpdHkgbGV2ZWwgKHRoYW4gUklQRU1ELTEyOCkuCisKKyAgICBEZXZlbG9wZWQgYnkgSGFucyBEb2JiZXJ0aW4sIEFudG9vbiBCb3NzZWxhZXJzIGFuZCBCYXJ0IFByZW5lZWwuCisgICAgU2VlIDxodHRwOi8vaG9tZS5lc2F0Lmt1bGV1dmVuLmJlL35ib3NzZWxhZS9yaXBlbWQxNjAuaHRtbD4KKworY29uZmlnIENSWVBUT19STUQzMjAKKyAgdHJpc3RhdGUgIlJJUEVNRC0zMjAgZGlnZXN0IGFsZ29yaXRobSIKKyAgc2VsZWN0IENSWVBUT19BTEdBUEkKKyAgaGVscAorICAgIFJJUEVNRC0zMjAgaXMgYW4gb3B0aW9uYWwgZXh0ZW5zaW9uIG9mIFJJUEVNRC0xNjAgd2l0aCBhIDMyMCBiaXQgaGFzaC4KKyAgICBJdCBpcyBpbnRlbmRlZCBmb3IgYXBwbGljYXRpb25zIHRoYXQgcmVxdWlyZSBsb25nZXIgaGFzaC1yZXN1bHRzLCB3aXRob3V0CisgICAgbmVlZGluZyBhIGxhcmdlciBzZWN1cml0eSBsZXZlbCAodGhhbiBSSVBFTUQtMTYwKS4KKworICAgIERldmVsb3BlZCBieSBIYW5zIERvYmJlcnRpbiwgQW50b29uIEJvc3NlbGFlcnMgYW5kIEJhcnQgUHJlbmVlbC4KKyAgICBTZWUgPGh0dHA6Ly9ob21lLmVzYXQua3VsZXV2ZW4uYmUvfmJvc3NlbGFlL3JpcGVtZDE2MC5odG1sPgorCiBjb25maWcgQ1JZUFRPX1NIQTEKIAl0cmlzdGF0ZSAiU0hBMSBkaWdlc3QgYWxnb3JpdGhtIgogCXNlbGVjdCBDUllQVE9fQUxHQVBJCkBAIC02MTQsNiArNjY2LDE1IEBACiAJaGVscAogCSAgVGhpcyBpcyB0aGUgTFpPIGFsZ29yaXRobS4KIAorY29tbWVudCAiUmFuZG9tIE51bWJlciBHZW5lcmF0aW9uIgorCitjb25maWcgQ1JZUFRPX1BSTkcKKwl0cmlzdGF0ZSAiUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdGlvbiBmb3IgQ3J5cHRvZ3JhcGhpYyBtb2R1bGVzIgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgdGhlIGdlbmVyaWMgcHNldWRvIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yCisJICBmb3IgY3J5cHRvZ3JhcGhpYyBtb2R1bGVzLiAgVXNlcyB0aGUgQWxnb3JpdGhtIHNwZWNpZmllZCBpbgorCSAgQU5TSSBYOS4zMSBBLjIuNAorCiBzb3VyY2UgImRyaXZlcnMvY3J5cHRvL0tjb25maWciCiAKIGVuZGlmCSMgaWYgQ1JZUFRPCmRpZmYgLS1naXQgYS9jcnlwdG8vTWFrZWZpbGUgYi9jcnlwdG8vTWFrZWZpbGUKaW5kZXggY2EwMjQ0MS4uZWY2MWIzYiAxMDA2NDQKLS0tIGEvY3J5cHRvL01ha2VmaWxlCisrKyBiL2NyeXB0by9NYWtlZmlsZQpAQCAtMTksNiArMTksNyBAQAogb2JqLSQoQ09ORklHX0NSWVBUT19TRVFJVikgKz0gc2VxaXYubwogCiBjcnlwdG9faGFzaC1vYmpzIDo9IGhhc2gubworY3J5cHRvX2hhc2gtb2JqcyArPSBhaGFzaC5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0hBU0gpICs9IGNyeXB0b19oYXNoLm8KIAogb2JqLSQoQ09ORklHX0NSWVBUT19NQU5BR0VSKSArPSBjcnlwdG9tZ3IubwpAQCAtMjcsNiArMjgsMTAgQEAKIG9iai0kKENPTkZJR19DUllQVE9fTlVMTCkgKz0gY3J5cHRvX251bGwubwogb2JqLSQoQ09ORklHX0NSWVBUT19NRDQpICs9IG1kNC5vCiBvYmotJChDT05GSUdfQ1JZUFRPX01ENSkgKz0gbWQ1Lm8KK29iai0kKENPTkZJR19DUllQVE9fUk1EMTI4KSArPSBybWQxMjgubworb2JqLSQoQ09ORklHX0NSWVBUT19STUQxNjApICs9IHJtZDE2MC5vCitvYmotJChDT05GSUdfQ1JZUFRPX1JNRDI1NikgKz0gcm1kMjU2Lm8KK29iai0kKENPTkZJR19DUllQVE9fUk1EMzIwKSArPSBybWQzMjAubwogb2JqLSQoQ09ORklHX0NSWVBUT19TSEExKSArPSBzaGExX2dlbmVyaWMubwogb2JqLSQoQ09ORklHX0NSWVBUT19TSEEyNTYpICs9IHNoYTI1Nl9nZW5lcmljLm8KIG9iai0kKENPTkZJR19DUllQVE9fU0hBNTEyKSArPSBzaGE1MTJfZ2VuZXJpYy5vCkBAIC02NCw3ICs2OSw3IEBACiBvYmotJChDT05GSUdfQ1JZUFRPX0NSQzMyQykgKz0gY3JjMzJjLm8KIG9iai0kKENPTkZJR19DUllQVE9fQVVUSEVOQykgKz0gYXV0aGVuYy5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0xaTykgKz0gbHpvLm8KLQorb2JqLSQoQ09ORklHX0NSWVBUT19QUk5HKSArPSBwcm5nLm8KIG9iai0kKENPTkZJR19DUllQVE9fVEVTVCkgKz0gdGNyeXB0Lm8KIAogIwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2FoYXNoLmMgYi9jcnlwdG8vYWhhc2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzEyOGYyCi0tLSAvZGV2L251bGwKKysrIGIvY3J5cHRvL2FoYXNoLmMKQEAgLTAsMCArMSwxOTQgQEAKKy8qCisgKiBBc3luY2hyb25vdXMgQ3J5cHRvZ3JhcGhpYyBIYXNoIG9wZXJhdGlvbnMuCisgKgorICogVGhpcyBpcyB0aGUgYXN5bmNocm9ub3VzIHZlcnNpb24gb2YgaGFzaC5jIHdpdGggbm90aWZpY2F0aW9uIG9mCisgKiBjb21wbGV0aW9uIHZpYSBhIGNhbGxiYWNrLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBMb2MgSG8gPGxob0BhbWNjLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworCisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KKyNpbmNsdWRlIDxjcnlwdG8vc2NhdHRlcndhbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorCisjaW5jbHVkZSAiaW50ZXJuYWwuaCIKKworc3RhdGljIGludCBoYXNoX3dhbGtfbmV4dChzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayAqd2FsaykKK3sKKwl1bnNpZ25lZCBpbnQgYWxpZ25tYXNrID0gd2Fsay0+YWxpZ25tYXNrOworCXVuc2lnbmVkIGludCBvZmZzZXQgPSB3YWxrLT5vZmZzZXQ7CisJdW5zaWduZWQgaW50IG5ieXRlcyA9IG1pbih3YWxrLT5lbnRyeWxlbiwKKwkJCQkgICgodW5zaWduZWQgaW50KShQQUdFX1NJWkUpKSAtIG9mZnNldCk7CisKKwl3YWxrLT5kYXRhID0gY3J5cHRvX2ttYXAod2Fsay0+cGcsIDApOworCXdhbGstPmRhdGEgKz0gb2Zmc2V0OworCisJaWYgKG9mZnNldCAmIGFsaWdubWFzaykKKwkJbmJ5dGVzID0gYWxpZ25tYXNrICsgMSAtIChvZmZzZXQgJiBhbGlnbm1hc2spOworCisJd2Fsay0+ZW50cnlsZW4gLT0gbmJ5dGVzOworCXJldHVybiBuYnl0ZXM7Cit9CisKK3N0YXRpYyBpbnQgaGFzaF93YWxrX25ld19lbnRyeShzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayAqd2FsaykKK3sKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCisJc2cgPSB3YWxrLT5zZzsKKwl3YWxrLT5wZyA9IHNnX3BhZ2Uoc2cpOworCXdhbGstPm9mZnNldCA9IHNnLT5vZmZzZXQ7CisJd2Fsay0+ZW50cnlsZW4gPSBzZy0+bGVuZ3RoOworCisJaWYgKHdhbGstPmVudHJ5bGVuID4gd2Fsay0+dG90YWwpCisJCXdhbGstPmVudHJ5bGVuID0gd2Fsay0+dG90YWw7CisJd2Fsay0+dG90YWwgLT0gd2Fsay0+ZW50cnlsZW47CisKKwlyZXR1cm4gaGFzaF93YWxrX25leHQod2Fsayk7Cit9CisKK2ludCBjcnlwdG9faGFzaF93YWxrX2RvbmUoc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGssIGludCBlcnIpCit7CisJdW5zaWduZWQgaW50IGFsaWdubWFzayA9IHdhbGstPmFsaWdubWFzazsKKwl1bnNpZ25lZCBpbnQgbmJ5dGVzID0gd2Fsay0+ZW50cnlsZW47CisKKwl3YWxrLT5kYXRhIC09IHdhbGstPm9mZnNldDsKKworCWlmIChuYnl0ZXMgJiYgd2Fsay0+b2Zmc2V0ICYgYWxpZ25tYXNrICYmICFlcnIpIHsKKwkJd2Fsay0+b2Zmc2V0ICs9IGFsaWdubWFzayAtIDE7CisJCXdhbGstPm9mZnNldCA9IEFMSUdOKHdhbGstPm9mZnNldCwgYWxpZ25tYXNrICsgMSk7CisJCXdhbGstPmRhdGEgKz0gd2Fsay0+b2Zmc2V0OworCisJCW5ieXRlcyA9IG1pbihuYnl0ZXMsCisJCQkgICAgICgodW5zaWduZWQgaW50KShQQUdFX1NJWkUpKSAtIHdhbGstPm9mZnNldCk7CisJCXdhbGstPmVudHJ5bGVuIC09IG5ieXRlczsKKworCQlyZXR1cm4gbmJ5dGVzOworCX0KKworCWNyeXB0b19rdW5tYXAod2Fsay0+ZGF0YSwgMCk7CisJY3J5cHRvX3lpZWxkKHdhbGstPmZsYWdzKTsKKworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwl3YWxrLT5vZmZzZXQgPSAwOworCisJaWYgKG5ieXRlcykKKwkJcmV0dXJuIGhhc2hfd2Fsa19uZXh0KHdhbGspOworCisJaWYgKCF3YWxrLT50b3RhbCkKKwkJcmV0dXJuIDA7CisKKwl3YWxrLT5zZyA9IHNjYXR0ZXJ3YWxrX3NnX25leHQod2Fsay0+c2cpOworCisJcmV0dXJuIGhhc2hfd2Fsa19uZXdfZW50cnkod2Fsayk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChjcnlwdG9faGFzaF93YWxrX2RvbmUpOworCitpbnQgY3J5cHRvX2hhc2hfd2Fsa19maXJzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJICAgc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGspCit7CisJd2Fsay0+dG90YWwgPSByZXEtPm5ieXRlczsKKworCWlmICghd2Fsay0+dG90YWwpCisJCXJldHVybiAwOworCisJd2Fsay0+YWxpZ25tYXNrID0gY3J5cHRvX2FoYXNoX2FsaWdubWFzayhjcnlwdG9fYWhhc2hfcmVxdGZtKHJlcSkpOworCXdhbGstPnNnID0gcmVxLT5zcmM7CisJd2Fsay0+ZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3M7CisKKwlyZXR1cm4gaGFzaF93YWxrX25ld19lbnRyeSh3YWxrKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNyeXB0b19oYXNoX3dhbGtfZmlyc3QpOworCitzdGF0aWMgaW50IGFoYXNoX3NldGtleV91bmFsaWduZWQoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGFoYXNoX2FsZyAqYWhhc2ggPSBjcnlwdG9fYWhhc2hfYWxnKHRmbSk7CisJdW5zaWduZWQgbG9uZyBhbGlnbm1hc2sgPSBjcnlwdG9fYWhhc2hfYWxpZ25tYXNrKHRmbSk7CisJaW50IHJldDsKKwl1OCAqYnVmZmVyLCAqYWxpZ25idWZmZXI7CisJdW5zaWduZWQgbG9uZyBhYnNpemU7CisKKwlhYnNpemUgPSBrZXlsZW4gKyBhbGlnbm1hc2s7CisJYnVmZmVyID0ga21hbGxvYyhhYnNpemUsIEdGUF9BVE9NSUMpOworCWlmICghYnVmZmVyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWFsaWduYnVmZmVyID0gKHU4ICopQUxJR04oKHVuc2lnbmVkIGxvbmcpYnVmZmVyLCBhbGlnbm1hc2sgKyAxKTsKKwltZW1jcHkoYWxpZ25idWZmZXIsIGtleSwga2V5bGVuKTsKKwlyZXQgPSBhaGFzaC0+c2V0a2V5KHRmbSwgYWxpZ25idWZmZXIsIGtleWxlbik7CisJbWVtc2V0KGFsaWduYnVmZmVyLCAwLCBrZXlsZW4pOworCWtmcmVlKGJ1ZmZlcik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhaGFzaF9zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgYWhhc2hfYWxnICphaGFzaCA9IGNyeXB0b19haGFzaF9hbGcodGZtKTsKKwl1bnNpZ25lZCBsb25nIGFsaWdubWFzayA9IGNyeXB0b19haGFzaF9hbGlnbm1hc2sodGZtKTsKKworCWlmICgodW5zaWduZWQgbG9uZylrZXkgJiBhbGlnbm1hc2spCisJCXJldHVybiBhaGFzaF9zZXRrZXlfdW5hbGlnbmVkKHRmbSwga2V5LCBrZXlsZW4pOworCisJcmV0dXJuIGFoYXNoLT5zZXRrZXkodGZtLCBrZXksIGtleWxlbik7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgY3J5cHRvX2FoYXNoX2N0eHNpemUoc3RydWN0IGNyeXB0b19hbGcgKmFsZywgdTMyIHR5cGUsCisJCQkJCXUzMiBtYXNrKQoreworCXJldHVybiBhbGctPmNyYV9jdHhzaXplOworfQorCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2FoYXNoX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1MzIgdHlwZSwgdTMyIG1hc2spCit7CisJc3RydWN0IGFoYXNoX2FsZyAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfYWhhc2g7CisJc3RydWN0IGFoYXNoX3RmbSAqY3J0ICAgPSAmdGZtLT5jcnRfYWhhc2g7CisKKwlpZiAoYWxnLT5kaWdlc3RzaXplID4gUEFHRV9TSVpFIC8gOCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljcnQtPmluaXQgPSBhbGctPmluaXQ7CisJY3J0LT51cGRhdGUgPSBhbGctPnVwZGF0ZTsKKwljcnQtPmZpbmFsICA9IGFsZy0+ZmluYWw7CisJY3J0LT5kaWdlc3QgPSBhbGctPmRpZ2VzdDsKKwljcnQtPnNldGtleSA9IGFoYXNoX3NldGtleTsKKwljcnQtPmRpZ2VzdHNpemUgPSBhbGctPmRpZ2VzdHNpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY3J5cHRvX2FoYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQorCV9fYXR0cmlidXRlX18gKCh1bnVzZWQpKTsKK3N0YXRpYyB2b2lkIGNyeXB0b19haGFzaF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGNyeXB0b19hbGcgKmFsZykKK3sKKwlzZXFfcHJpbnRmKG0sICJ0eXBlICAgICAgICAgOiBhaGFzaFxuIik7CisJc2VxX3ByaW50ZihtLCAiYXN5bmMgICAgICAgIDogJXNcbiIsIGFsZy0+Y3JhX2ZsYWdzICYgQ1JZUFRPX0FMR19BU1lOQyA/CisJCQkJCSAgICAgInllcyIgOiAibm8iKTsKKwlzZXFfcHJpbnRmKG0sICJibG9ja3NpemUgICAgOiAldVxuIiwgYWxnLT5jcmFfYmxvY2tzaXplKTsKKwlzZXFfcHJpbnRmKG0sICJkaWdlc3RzaXplICAgOiAldVxuIiwgYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplKTsKK30KKworY29uc3Qgc3RydWN0IGNyeXB0b190eXBlIGNyeXB0b19haGFzaF90eXBlID0geworCS5jdHhzaXplID0gY3J5cHRvX2FoYXNoX2N0eHNpemUsCisJLmluaXQgPSBjcnlwdG9faW5pdF9haGFzaF9vcHMsCisjaWZkZWYgQ09ORklHX1BST0NfRlMKKwkuc2hvdyA9IGNyeXB0b19haGFzaF9zaG93LAorI2VuZGlmCit9OworRVhQT1JUX1NZTUJPTF9HUEwoY3J5cHRvX2FoYXNoX3R5cGUpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkFzeW5jaHJvbm91cyBjcnlwdG9ncmFwaGljIGhhc2ggdHlwZSIpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2FwaS5jIGIvY3J5cHRvL2FwaS5jCmluZGV4IDBhMGY0MWUuLmQwNmUzMzIgMTAwNjQ0Ci0tLSBhL2NyeXB0by9hcGkuYworKysgYi9jcnlwdG8vYXBpLmMKQEAgLTIzNSw4ICsyMzUsMTIgQEAKIAkJcmV0dXJuIGNyeXB0b19pbml0X2NpcGhlcl9vcHModGZtKTsKIAkJCiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfRElHRVNUOgotCQlyZXR1cm4gY3J5cHRvX2luaXRfZGlnZXN0X29wcyh0Zm0pOwotCQkKKwkJaWYgKChtYXNrICYgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSykgIT0KKwkJICAgIENSWVBUT19BTEdfVFlQRV9IQVNIX01BU0spCisJCQlyZXR1cm4gY3J5cHRvX2luaXRfZGlnZXN0X29wc19hc3luYyh0Zm0pOworCQllbHNlCisJCQlyZXR1cm4gY3J5cHRvX2luaXRfZGlnZXN0X29wcyh0Zm0pOworCiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfQ09NUFJFU1M6CiAJCXJldHVybiBjcnlwdG9faW5pdF9jb21wcmVzc19vcHModGZtKTsKIAkKZGlmZiAtLWdpdCBhL2NyeXB0by9hc3luY190eC9hc3luY190eC5jIGIvY3J5cHRvL2FzeW5jX3R4L2FzeW5jX3R4LmMKaW5kZXggYzZlNzcyZi4uMDk1Yzc5OCAxMDA2NDQKLS0tIGEvY3J5cHRvL2FzeW5jX3R4L2FzeW5jX3R4LmMKKysrIGIvY3J5cHRvL2FzeW5jX3R4L2FzeW5jX3R4LmMKQEAgLTIzLDYgKzIzLDcgQEAKICAqIDUxIEZyYW5rbGluIFN0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCiAgKgogICovCisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2FzeW5jX3R4Lmg+CiAKZGlmZiAtLWdpdCBhL2NyeXB0by9jYW1lbGxpYS5jIGIvY3J5cHRvL2NhbWVsbGlhLmMKaW5kZXggNDkzZmVlNy4uYjFjYzRkZSAxMDA2NDQKLS0tIGEvY3J5cHRvL2NhbWVsbGlhLmMKKysrIGIvY3J5cHRvL2NhbWVsbGlhLmMKQEAgLTM1LDYgKzM1LDggQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8YXNtL3VuYWxpZ25lZC5oPgogCiBzdGF0aWMgY29uc3QgdTMyIGNhbWVsbGlhX3NwMTExMFsyNTZdID0gewogCTB4NzA3MDcwMDAsMHg4MjgyODIwMCwweDJjMmMyYzAwLDB4ZWNlY2VjMDAsCkBAIC0zMzUsMjAgKzMzNyw2IEBACiAvKgogICogIG1hY3JvcwogICovCi0jZGVmaW5lIEdFVFUzMih2LCBwdCkgXAotICAgIGRvIHsgXAotCS8qIGxhdGVzdCBicmVlZCBvZiBnY2MgaXMgY2xldmVyIGVub3VnaCB0byB1c2UgbW92ZSAqLyBcCi0JbWVtY3B5KCYodiksIChwdCksIDQpOyBcCi0JKHYpID0gYmUzMl90b19jcHUodik7IFwKLSAgICB9IHdoaWxlKDApCi0KLS8qIHJvdGF0aW9uIHJpZ2h0IHNoaWZ0IDFieXRlICovCi0jZGVmaW5lIFJPUjgoeCkgKCgoeCkgPj4gOCkgKyAoKHgpIDw8IDI0KSkKLS8qIHJvdGF0aW9uIGxlZnQgc2hpZnQgMWJpdCAqLwotI2RlZmluZSBST0wxKHgpICgoKHgpIDw8IDEpICsgKCh4KSA+PiAzMSkpCi0vKiByb3RhdGlvbiBsZWZ0IHNoaWZ0IDFieXRlICovCi0jZGVmaW5lIFJPTDgoeCkgKCgoeCkgPDwgOCkgKyAoKHgpID4+IDI0KSkKLQogI2RlZmluZSBST0xEUShsbCwgbHIsIHJsLCByciwgdzAsIHcxLCBiaXRzKQkJXAogICAgIGRvIHsJCQkJCQlcCiAJdzAgPSBsbDsJCQkJCVwKQEAgLTM4Myw3ICszNzEsNyBAQAogCSAgIF4gY2FtZWxsaWFfc3AzMDMzWyh1OCkoaWwgPj4gOCldCQkJXAogCSAgIF4gY2FtZWxsaWFfc3A0NDA0Wyh1OCkoaWwgICAgICldOwkJCVwKIAl5bCBePSB5cjsJCQkJCQlcCi0JeXIgPSBST1I4KHlyKTsJCQkJCQlcCisJeXIgPSByb3IzMih5ciwgOCk7CQkJCQlcCiAJeXIgXj0geWw7CQkJCQkJXAogICAgIH0gd2hpbGUoMCkKIApAQCAtNDA1LDcgKzM5Myw3IEBACiAJc3ViTFs3XSBePSBzdWJMWzFdOyBzdWJSWzddIF49IHN1YlJbMV07CiAJc3ViTFsxXSBePSBzdWJSWzFdICYgfnN1YlJbOV07CiAJZHcgPSBzdWJMWzFdICYgc3ViTFs5XSwKLQkJc3ViUlsxXSBePSBST0wxKGR3KTsgLyogbW9kaWZpZWQgZm9yIEZMaW52KGtsMikgKi8KKwkJc3ViUlsxXSBePSByb2wzMihkdywgMSk7IC8qIG1vZGlmaWVkIGZvciBGTGludihrbDIpICovCiAJLyogcm91bmQgOCAqLwogCXN1YkxbMTFdIF49IHN1YkxbMV07IHN1YlJbMTFdIF49IHN1YlJbMV07CiAJLyogcm91bmQgMTAgKi8KQEAgLTQxNCw3ICs0MDIsNyBAQAogCXN1YkxbMTVdIF49IHN1YkxbMV07IHN1YlJbMTVdIF49IHN1YlJbMV07CiAJc3ViTFsxXSBePSBzdWJSWzFdICYgfnN1YlJbMTddOwogCWR3ID0gc3ViTFsxXSAmIHN1YkxbMTddLAotCQlzdWJSWzFdIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkxpbnYoa2w0KSAqLworCQlzdWJSWzFdIF49IHJvbDMyKGR3LCAxKTsgLyogbW9kaWZpZWQgZm9yIEZMaW52KGtsNCkgKi8KIAkvKiByb3VuZCAxNCAqLwogCXN1YkxbMTldIF49IHN1YkxbMV07IHN1YlJbMTldIF49IHN1YlJbMV07CiAJLyogcm91bmQgMTYgKi8KQEAgLTQzMCw3ICs0MTgsNyBAQAogCX0gZWxzZSB7CiAJCXN1YkxbMV0gXj0gc3ViUlsxXSAmIH5zdWJSWzI1XTsKIAkJZHcgPSBzdWJMWzFdICYgc3ViTFsyNV0sCi0JCQlzdWJSWzFdIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkxpbnYoa2w2KSAqLworCQkJc3ViUlsxXSBePSByb2wzMihkdywgMSk7IC8qIG1vZGlmaWVkIGZvciBGTGludihrbDYpICovCiAJCS8qIHJvdW5kIDIwICovCiAJCXN1YkxbMjddIF49IHN1YkxbMV07IHN1YlJbMjddIF49IHN1YlJbMV07CiAJCS8qIHJvdW5kIDIyICovCkBAIC00NTAsNyArNDM4LDcgQEAKIAkJc3ViTFsyNl0gXj0ga3c0bDsgc3ViUlsyNl0gXj0ga3c0cjsKIAkJa3c0bCBePSBrdzRyICYgfnN1YlJbMjRdOwogCQlkdyA9IGt3NGwgJiBzdWJMWzI0XSwKLQkJCWt3NHIgXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDUpICovCisJCQlrdzRyIF49IHJvbDMyKGR3LCAxKTsgLyogbW9kaWZpZWQgZm9yIEZMKGtsNSkgKi8KIAl9CiAJLyogcm91bmQgMTcgKi8KIAlzdWJMWzIyXSBePSBrdzRsOyBzdWJSWzIyXSBePSBrdzRyOwpAQCAtNDYwLDcgKzQ0OCw3IEBACiAJc3ViTFsxOF0gXj0ga3c0bDsgc3ViUlsxOF0gXj0ga3c0cjsKIAlrdzRsIF49IGt3NHIgJiB+c3ViUlsxNl07CiAJZHcgPSBrdzRsICYgc3ViTFsxNl0sCi0JCWt3NHIgXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDMpICovCisJCWt3NHIgXj0gcm9sMzIoZHcsIDEpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2wzKSAqLwogCS8qIHJvdW5kIDExICovCiAJc3ViTFsxNF0gXj0ga3c0bDsgc3ViUlsxNF0gXj0ga3c0cjsKIAkvKiByb3VuZCA5ICovCkBAIC00NjksNyArNDU3LDcgQEAKIAlzdWJMWzEwXSBePSBrdzRsOyBzdWJSWzEwXSBePSBrdzRyOwogCWt3NGwgXj0ga3c0ciAmIH5zdWJSWzhdOwogCWR3ID0ga3c0bCAmIHN1YkxbOF0sCi0JCWt3NHIgXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDEpICovCisJCWt3NHIgXj0gcm9sMzIoZHcsIDEpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2wxKSAqLwogCS8qIHJvdW5kIDUgKi8KIAlzdWJMWzZdIF49IGt3NGw7IHN1YlJbNl0gXj0ga3c0cjsKIAkvKiByb3VuZCAzICovCkBAIC00OTQsNyArNDgyLDcgQEAKIAlTVUJLRVlfUig2KSA9IHN1YlJbNV0gXiBzdWJSWzddOwogCXRsID0gc3ViTFsxMF0gXiAoc3ViUlsxMF0gJiB+c3ViUls4XSk7CiAJZHcgPSB0bCAmIHN1YkxbOF0sICAvKiBGTChrbDEpICovCi0JCXRyID0gc3ViUlsxMF0gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzEwXSBeIHJvbDMyKGR3LCAxKTsKIAlTVUJLRVlfTCg3KSA9IHN1YkxbNl0gXiB0bDsgLyogcm91bmQgNiAqLwogCVNVQktFWV9SKDcpID0gc3ViUls2XSBeIHRyOwogCVNVQktFWV9MKDgpID0gc3ViTFs4XTsgICAgICAgLyogRkwoa2wxKSAqLwpAQCAtNTAzLDcgKzQ5MSw3IEBACiAJU1VCS0VZX1IoOSkgPSBzdWJSWzldOwogCXRsID0gc3ViTFs3XSBeIChzdWJSWzddICYgfnN1YlJbOV0pOwogCWR3ID0gdGwgJiBzdWJMWzldLCAgLyogRkxpbnYoa2wyKSAqLwotCQl0ciA9IHN1YlJbN10gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzddIF4gcm9sMzIoZHcsIDEpOwogCVNVQktFWV9MKDEwKSA9IHRsIF4gc3ViTFsxMV07IC8qIHJvdW5kIDcgKi8KIAlTVUJLRVlfUigxMCkgPSB0ciBeIHN1YlJbMTFdOwogCVNVQktFWV9MKDExKSA9IHN1YkxbMTBdIF4gc3ViTFsxMl07IC8qIHJvdW5kIDggKi8KQEAgLTUxNiw3ICs1MDQsNyBAQAogCVNVQktFWV9SKDE0KSA9IHN1YlJbMTNdIF4gc3ViUlsxNV07CiAJdGwgPSBzdWJMWzE4XSBeIChzdWJSWzE4XSAmIH5zdWJSWzE2XSk7CiAJZHcgPSB0bCAmIHN1YkxbMTZdLCAvKiBGTChrbDMpICovCi0JCXRyID0gc3ViUlsxOF0gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzE4XSBeIHJvbDMyKGR3LCAxKTsKIAlTVUJLRVlfTCgxNSkgPSBzdWJMWzE0XSBeIHRsOyAvKiByb3VuZCAxMiAqLwogCVNVQktFWV9SKDE1KSA9IHN1YlJbMTRdIF4gdHI7CiAJU1VCS0VZX0woMTYpID0gc3ViTFsxNl07ICAgICAvKiBGTChrbDMpICovCkBAIC01MjUsNyArNTEzLDcgQEAKIAlTVUJLRVlfUigxNykgPSBzdWJSWzE3XTsKIAl0bCA9IHN1YkxbMTVdIF4gKHN1YlJbMTVdICYgfnN1YlJbMTddKTsKIAlkdyA9IHRsICYgc3ViTFsxN10sIC8qIEZMaW52KGtsNCkgKi8KLQkJdHIgPSBzdWJSWzE1XSBeIFJPTDEoZHcpOworCQl0ciA9IHN1YlJbMTVdIF4gcm9sMzIoZHcsIDEpOwogCVNVQktFWV9MKDE4KSA9IHRsIF4gc3ViTFsxOV07IC8qIHJvdW5kIDEzICovCiAJU1VCS0VZX1IoMTgpID0gdHIgXiBzdWJSWzE5XTsKIAlTVUJLRVlfTCgxOSkgPSBzdWJMWzE4XSBeIHN1YkxbMjBdOyAvKiByb3VuZCAxNCAqLwpAQCAtNTQ0LDcgKzUzMiw3IEBACiAJfSBlbHNlIHsKIAkJdGwgPSBzdWJMWzI2XSBeIChzdWJSWzI2XSAmIH5zdWJSWzI0XSk7CiAJCWR3ID0gdGwgJiBzdWJMWzI0XSwgLyogRkwoa2w1KSAqLwotCQkJdHIgPSBzdWJSWzI2XSBeIFJPTDEoZHcpOworCQkJdHIgPSBzdWJSWzI2XSBeIHJvbDMyKGR3LCAxKTsKIAkJU1VCS0VZX0woMjMpID0gc3ViTFsyMl0gXiB0bDsgLyogcm91bmQgMTggKi8KIAkJU1VCS0VZX1IoMjMpID0gc3ViUlsyMl0gXiB0cjsKIAkJU1VCS0VZX0woMjQpID0gc3ViTFsyNF07ICAgICAvKiBGTChrbDUpICovCkBAIC01NTMsNyArNTQxLDcgQEAKIAkJU1VCS0VZX1IoMjUpID0gc3ViUlsyNV07CiAJCXRsID0gc3ViTFsyM10gXiAoc3ViUlsyM10gJiB+c3ViUlsyNV0pOwogCQlkdyA9IHRsICYgc3ViTFsyNV0sIC8qIEZMaW52KGtsNikgKi8KLQkJCXRyID0gc3ViUlsyM10gXiBST0wxKGR3KTsKKwkJCXRyID0gc3ViUlsyM10gXiByb2wzMihkdywgMSk7CiAJCVNVQktFWV9MKDI2KSA9IHRsIF4gc3ViTFsyN107IC8qIHJvdW5kIDE5ICovCiAJCVNVQktFWV9SKDI2KSA9IHRyIF4gc3ViUlsyN107CiAJCVNVQktFWV9MKDI3KSA9IHN1YkxbMjZdIF4gc3ViTFsyOF07IC8qIHJvdW5kIDIwICovCkBAIC01NzMsMTcgKzU2MSwxNyBAQAogCS8qIGFwcGx5IHRoZSBpbnZlcnNlIG9mIHRoZSBsYXN0IGhhbGYgb2YgUC1mdW5jdGlvbiAqLwogCWkgPSAyOwogCWRvIHsKLQkJZHcgPSBTVUJLRVlfTChpICsgMCkgXiBTVUJLRVlfUihpICsgMCk7IGR3ID0gUk9MOChkdyk7Lyogcm91bmQgMSAqLworCQlkdyA9IFNVQktFWV9MKGkgKyAwKSBeIFNVQktFWV9SKGkgKyAwKTsgZHcgPSByb2wzMihkdywgOCk7Lyogcm91bmQgMSAqLwogCQlTVUJLRVlfUihpICsgMCkgPSBTVUJLRVlfTChpICsgMCkgXiBkdzsgU1VCS0VZX0woaSArIDApID0gZHc7Ci0JCWR3ID0gU1VCS0VZX0woaSArIDEpIF4gU1VCS0VZX1IoaSArIDEpOyBkdyA9IFJPTDgoZHcpOy8qIHJvdW5kIDIgKi8KKwkJZHcgPSBTVUJLRVlfTChpICsgMSkgXiBTVUJLRVlfUihpICsgMSk7IGR3ID0gcm9sMzIoZHcsIDgpOy8qIHJvdW5kIDIgKi8KIAkJU1VCS0VZX1IoaSArIDEpID0gU1VCS0VZX0woaSArIDEpIF4gZHc7IFNVQktFWV9MKGkgKyAxKSA9IGR3OwotCQlkdyA9IFNVQktFWV9MKGkgKyAyKSBeIFNVQktFWV9SKGkgKyAyKTsgZHcgPSBST0w4KGR3KTsvKiByb3VuZCAzICovCisJCWR3ID0gU1VCS0VZX0woaSArIDIpIF4gU1VCS0VZX1IoaSArIDIpOyBkdyA9IHJvbDMyKGR3LCA4KTsvKiByb3VuZCAzICovCiAJCVNVQktFWV9SKGkgKyAyKSA9IFNVQktFWV9MKGkgKyAyKSBeIGR3OyBTVUJLRVlfTChpICsgMikgPSBkdzsKLQkJZHcgPSBTVUJLRVlfTChpICsgMykgXiBTVUJLRVlfUihpICsgMyk7IGR3ID0gUk9MOChkdyk7Lyogcm91bmQgNCAqLworCQlkdyA9IFNVQktFWV9MKGkgKyAzKSBeIFNVQktFWV9SKGkgKyAzKTsgZHcgPSByb2wzMihkdywgOCk7Lyogcm91bmQgNCAqLwogCQlTVUJLRVlfUihpICsgMykgPSBTVUJLRVlfTChpICsgMykgXiBkdzsgU1VCS0VZX0woaSArIDMpID0gZHc7Ci0JCWR3ID0gU1VCS0VZX0woaSArIDQpIF4gU1VCS0VZX1IoaSArIDQpOyBkdyA9IFJPTDgoZHcpOy8qIHJvdW5kIDUgKi8KKwkJZHcgPSBTVUJLRVlfTChpICsgNCkgXiBTVUJLRVlfUihpICsgNCk7IGR3ID0gcm9sMzIoZHcsIDkpOy8qIHJvdW5kIDUgKi8KIAkJU1VCS0VZX1IoaSArIDQpID0gU1VCS0VZX0woaSArIDQpIF4gZHc7IFNVQktFWV9MKGkgKyA0KSA9IGR3OwotCQlkdyA9IFNVQktFWV9MKGkgKyA1KSBeIFNVQktFWV9SKGkgKyA1KTsgZHcgPSBST0w4KGR3KTsvKiByb3VuZCA2ICovCisJCWR3ID0gU1VCS0VZX0woaSArIDUpIF4gU1VCS0VZX1IoaSArIDUpOyBkdyA9IHJvbDMyKGR3LCA4KTsvKiByb3VuZCA2ICovCiAJCVNVQktFWV9SKGkgKyA1KSA9IFNVQktFWV9MKGkgKyA1KSBeIGR3OyBTVUJLRVlfTChpICsgNSkgPSBkdzsKIAkJaSArPSA4OwogCX0gd2hpbGUgKGkgPCBtYXgpOwpAQCAtNTk5LDEwICs1ODcsMTAgQEAKIAkvKioKIAkgKiAgayA9PSBrbGwgfHwga2xyIHx8IGtybCB8fCBrcnIgKHx8IGlzIGNvbmNhdGVuYXRpb24pCiAJICovCi0JR0VUVTMyKGtsbCwga2V5ICAgICApOwotCUdFVFUzMihrbHIsIGtleSArICA0KTsKLQlHRVRVMzIoa3JsLCBrZXkgKyAgOCk7Ci0JR0VUVTMyKGtyciwga2V5ICsgMTIpOworCWtsbCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkpOworCWtsciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyA0KTsKKwlrcmwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgOCk7CisJa3JyID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSArIDEyKTsKIAogCS8qIGdlbmVyYXRlIEtMIGRlcGVuZGVudCBzdWJrZXlzICovCiAJLyoga3cxICovCkBAIC03MDcsMTQgKzY5NSwxNCBAQAogCSAqICBrZXkgPSAoa2xsIHx8IGtsciB8fCBrcmwgfHwga3JyIHx8IGtybGwgfHwga3JsciB8fCBrcnJsIHx8IGtycnIpCiAJICogICh8fCBpcyBjb25jYXRlbmF0aW9uKQogCSAqLwotCUdFVFUzMihrbGwsICBrZXkgICAgICk7Ci0JR0VUVTMyKGtsciwgIGtleSArICA0KTsKLQlHRVRVMzIoa3JsLCAga2V5ICsgIDgpOwotCUdFVFUzMihrcnIsICBrZXkgKyAxMik7Ci0JR0VUVTMyKGtybGwsIGtleSArIDE2KTsKLQlHRVRVMzIoa3Jsciwga2V5ICsgMjApOwotCUdFVFUzMihrcnJsLCBrZXkgKyAyNCk7Ci0JR0VUVTMyKGtycnIsIGtleSArIDI4KTsKKwlrbGwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5KTsKKwlrbHIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgNCk7CisJa3JsID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSArIDgpOworCWtyciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAxMik7CisJa3JsbCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAxNik7CisJa3JsciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAyMCk7CisJa3JybCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAyNCk7CisJa3JyciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAyOCk7CiAKIAkvKiBnZW5lcmF0ZSBLTCBkZXBlbmRlbnQgc3Via2V5cyAqLwogCS8qIGt3MSAqLwpAQCAtODcwLDEzICs4NTgsMTMgQEAKIAl0MCAmPSBsbDsJCQkJCQkJXAogCXQyIHw9IHJyOwkJCQkJCQlcCiAJcmwgXj0gdDI7CQkJCQkJCVwKLQlsciBePSBST0wxKHQwKTsJCQkJCQkJXAorCWxyIF49IHJvbDMyKHQwLCAxKTsJCQkJCQlcCiAJdDMgPSBrcmw7CQkJCQkJCVwKIAl0MSA9IGtscjsJCQkJCQkJXAogCXQzICY9IHJsOwkJCQkJCQlcCiAJdDEgfD0gbHI7CQkJCQkJCVwKIAlsbCBePSB0MTsJCQkJCQkJXAotCXJyIF49IFJPTDEodDMpOwkJCQkJCQlcCisJcnIgXj0gcm9sMzIodDMsIDEpOwkJCQkJCVwKICAgICB9IHdoaWxlKDApCiAKICNkZWZpbmUgQ0FNRUxMSUFfUk9VTkRTTSh4bCwgeHIsIGtsLCBrciwgeWwsIHlyLCBpbCwgaXIpCQlcCkBAIC04OTIsNyArODgwLDcgQEAKIAlpbCBePSBrbDsJCQkJCQkJXAogCWlyIF49IGlsIF4ga3I7CQkJCQkJCVwKIAl5bCBePSBpcjsJCQkJCQkJXAotCXlyIF49IFJPUjgoaWwpIF4gaXI7CQkJCQkJXAorCXlyIF49IHJvcjMyKGlsLCA4KSBeIGlyOwkJCQkJCVwKICAgICB9IHdoaWxlKDApCiAKIC8qIG1heCA9IDI0OiAxMjhiaXQgZW5jcnlwdCwgbWF4ID0gMzI6IDI1NmJpdCBlbmNyeXB0ICovCmRpZmYgLS1naXQgYS9jcnlwdG8vY2hhaW5pdi5jIGIvY3J5cHRvL2NoYWluaXYuYwppbmRleCA2ZGEzZjU3Li45YWZmYWRlIDEwMDY0NAotLS0gYS9jcnlwdG8vY2hhaW5pdi5jCisrKyBiL2NyeXB0by9jaGFpbml2LmMKQEAgLTExNyw2ICsxMTcsNyBAQAogc3RhdGljIGludCBhc3luY19jaGFpbml2X3NjaGVkdWxlX3dvcmsoc3RydWN0IGFzeW5jX2NoYWluaXZfY3R4ICpjdHgpCiB7CiAJaW50IHF1ZXVlZDsKKwlpbnQgZXJyID0gY3R4LT5lcnI7CiAKIAlpZiAoIWN0eC0+cXVldWUucWxlbikgewogCQlzbXBfbWJfX2JlZm9yZV9jbGVhcl9iaXQoKTsKQEAgLTEzMSw3ICsxMzIsNyBAQAogCUJVR19PTighcXVldWVkKTsKIAogb3V0OgotCXJldHVybiBjdHgtPmVycjsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW50IGFzeW5jX2NoYWluaXZfcG9zdHBvbmVfcmVxdWVzdChzdHJ1Y3Qgc2tjaXBoZXJfZ2l2Y3J5cHRfcmVxdWVzdCAqcmVxKQpAQCAtMjI3LDYgKzIyOCw3IEBACiAJCQkJCQkgICAgIHBvc3Rwb25lZCk7CiAJc3RydWN0IHNrY2lwaGVyX2dpdmNyeXB0X3JlcXVlc3QgKnJlcTsKIAlzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpzdWJyZXE7CisJaW50IGVycjsKIAogCS8qIE9ubHkgaGFuZGxlIG9uZSByZXF1ZXN0IGF0IGEgdGltZSB0byBhdm9pZCBob2dnaW5nIGtldmVudGQuICovCiAJc3Bpbl9sb2NrX2JoKCZjdHgtPmxvY2spOwpAQCAtMjQxLDcgKzI0MywxMSBAQAogCXN1YnJlcSA9IHNrY2lwaGVyX2dpdmNyeXB0X3JlcWN0eChyZXEpOwogCXN1YnJlcS0+YmFzZS5mbGFncyB8PSBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVA7CiAKLQlhc3luY19jaGFpbml2X2dpdmVuY3J5cHRfdGFpbChyZXEpOworCWVyciA9IGFzeW5jX2NoYWluaXZfZ2l2ZW5jcnlwdF90YWlsKHJlcSk7CisKKwlsb2NhbF9iaF9kaXNhYmxlKCk7CisJc2tjaXBoZXJfZ2l2Y3J5cHRfY29tcGxldGUocmVxLCBlcnIpOworCWxvY2FsX2JoX2VuYWJsZSgpOwogfQogCiBzdGF0aWMgaW50IGFzeW5jX2NoYWluaXZfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQpkaWZmIC0tZ2l0IGEvY3J5cHRvL2NyYzMyYy5jIGIvY3J5cHRvL2NyYzMyYy5jCmluZGV4IDBkY2Y2NGEuLmE4ODJkOWUgMTAwNjQ0Ci0tLSBhL2NyeXB0by9jcmMzMmMuYworKysgYi9jcnlwdG8vY3JjMzJjLmMKQEAgLTUsMjAgKzUsMjMgQEAKICAqCiAgKiBUaGlzIG1vZHVsZSBmaWxlIGlzIGEgd3JhcHBlciB0byBpbnZva2UgdGhlIGxpYi9jcmMzMmMgcm91dGluZXMuCiAgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKICAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgCiAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCiAgKi8KKworI2luY2x1ZGUgPGNyeXB0by9pbnRlcm5hbC9oYXNoLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgogI2luY2x1ZGUgPGxpbnV4L2NyYzMyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogCi0jZGVmaW5lIENIS1NVTV9CTE9DS19TSVpFCTMyCisjZGVmaW5lIENIS1NVTV9CTE9DS19TSVpFCTEKICNkZWZpbmUgQ0hLU1VNX0RJR0VTVF9TSVpFCTQKIAogc3RydWN0IGNoa3N1bV9jdHggewpAQCAtNzEsNyArNzQsNyBAQAogCSooX19sZTMyICopb3V0ID0gfmNwdV90b19sZTMyKG1jdHgtPmNyYyk7CiB9CiAKLXN0YXRpYyBpbnQgY3JjMzJjX2NyYV9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCitzdGF0aWMgaW50IGNyYzMyY19jcmFfaW5pdF9vbGQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKIHsKIAlzdHJ1Y3QgY2hrc3VtX2N0eCAqbWN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CiAKQEAgLTc5LDE0ICs4MiwxNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGNyeXB0b19hbGcgYWxnID0geworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIG9sZF9hbGcgPSB7CiAJLmNyYV9uYW1lCT0JImNyYzMyYyIsCiAJLmNyYV9mbGFncwk9CUNSWVBUT19BTEdfVFlQRV9ESUdFU1QsCiAJLmNyYV9ibG9ja3NpemUJPQlDSEtTVU1fQkxPQ0tfU0laRSwKIAkuY3JhX2N0eHNpemUJPQlzaXplb2Yoc3RydWN0IGNoa3N1bV9jdHgpLAogCS5jcmFfbW9kdWxlCT0JVEhJU19NT0RVTEUsCi0JLmNyYV9saXN0CT0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKLQkuY3JhX2luaXQJPQljcmMzMmNfY3JhX2luaXQsCisJLmNyYV9saXN0CT0JTElTVF9IRUFEX0lOSVQob2xkX2FsZy5jcmFfbGlzdCksCisJLmNyYV9pbml0CT0JY3JjMzJjX2NyYV9pbml0X29sZCwKIAkuY3JhX3UJCT0JewogCQkuZGlnZXN0ID0gewogCQkJIC5kaWFfZGlnZXN0c2l6ZT0JQ0hLU1VNX0RJR0VTVF9TSVpFLApAQCAtOTgsMTQgKzEwMSwxMjUgQEAKIAl9CiB9OwogCisvKgorICogU2V0dGluZyB0aGUgc2VlZCBhbGxvd3MgYXJiaXRyYXJ5IGFjY3VtdWxhdG9ycyBhbmQgZmxleGlibGUgWE9SIHBvbGljeQorICogSWYgeW91ciBhbGdvcml0aG0gc3RhcnRzIHdpdGggfjAsIHRoZW4gWE9SIHdpdGggfjAgYmVmb3JlIHlvdSBzZXQKKyAqIHRoZSBzZWVkLgorICovCitzdGF0aWMgaW50IGNyYzMyY19zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqaGFzaCwgY29uc3QgdTggKmtleSwKKwkJCSB1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXUzMiAqbWN0eCA9IGNyeXB0b19haGFzaF9jdHgoaGFzaCk7CisKKwlpZiAoa2V5bGVuICE9IHNpemVvZih1MzIpKSB7CisJCWNyeXB0b19haGFzaF9zZXRfZmxhZ3MoaGFzaCwgQ1JZUFRPX1RGTV9SRVNfQkFEX0tFWV9MRU4pOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJKm1jdHggPSBsZTMyX3RvX2NwdXAoKF9fbGUzMiAqKWtleSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwl1MzIgKm1jdHggPSBjcnlwdG9fYWhhc2hfY3R4KGNyeXB0b19haGFzaF9yZXF0Zm0ocmVxKSk7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKworCSpjcmNwID0gKm1jdHg7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX3VwZGF0ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9faGFzaF93YWxrIHdhbGs7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwl1MzIgY3JjID0gKmNyY3A7CisJaW50IG5ieXRlczsKKworCWZvciAobmJ5dGVzID0gY3J5cHRvX2hhc2hfd2Fsa19maXJzdChyZXEsICZ3YWxrKTsgbmJ5dGVzOworCSAgICAgbmJ5dGVzID0gY3J5cHRvX2hhc2hfd2Fsa19kb25lKCZ3YWxrLCAwKSkKKwkJY3JjID0gY3JjMzJjKGNyYywgd2Fsay5kYXRhLCBuYnl0ZXMpOworCisJKmNyY3AgPSBjcmM7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX2ZpbmFsKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwkKKwkqKF9fbGUzMiAqKXJlcS0+cmVzdWx0ID0gfmNwdV90b19sZTMycChjcmNwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcmMzMmNfZGlnZXN0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgd2FsazsKKwl1MzIgKm1jdHggPSBjcnlwdG9fYWhhc2hfY3R4KGNyeXB0b19haGFzaF9yZXF0Zm0ocmVxKSk7CisJdTMyIGNyYyA9ICptY3R4OworCWludCBuYnl0ZXM7CisKKwlmb3IgKG5ieXRlcyA9IGNyeXB0b19oYXNoX3dhbGtfZmlyc3QocmVxLCAmd2Fsayk7IG5ieXRlczsKKwkgICAgIG5ieXRlcyA9IGNyeXB0b19oYXNoX3dhbGtfZG9uZSgmd2FsaywgMCkpCisJCWNyYyA9IGNyYzMyYyhjcmMsIHdhbGsuZGF0YSwgbmJ5dGVzKTsKKworCSooX19sZTMyICopcmVxLT5yZXN1bHQgPSB+Y3B1X3RvX2xlMzIoY3JjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcmMzMmNfY3JhX2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwl1MzIgKmtleSA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwkqa2V5ID0gfjA7CisKKwl0Zm0tPmNydF9haGFzaC5yZXFzaXplID0gc2l6ZW9mKHUzMik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJCT0JImNyYzMyYyIsCisJLmNyYV9kcml2ZXJfbmFtZQk9CSJjcmMzMmMtZ2VuZXJpYyIsCisJLmNyYV9wcmlvcml0eQkJPQkxMDAsCisJLmNyYV9mbGFncwkJPQlDUllQVE9fQUxHX1RZUEVfQUhBU0gsCisJLmNyYV9ibG9ja3NpemUJCT0JQ0hLU1VNX0JMT0NLX1NJWkUsCisJLmNyYV9hbGlnbm1hc2sJCT0JMywKKwkuY3JhX2N0eHNpemUJCT0Jc2l6ZW9mKHUzMiksCisJLmNyYV9tb2R1bGUJCT0JVEhJU19NT0RVTEUsCisJLmNyYV9saXN0CQk9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV9pbml0CQk9CWNyYzMyY19jcmFfaW5pdCwKKwkuY3JhX3R5cGUJCT0JJmNyeXB0b19haGFzaF90eXBlLAorCS5jcmFfdQkJCT0JeworCQkuYWhhc2ggPSB7CisJCQkgLmRpZ2VzdHNpemUJPQlDSEtTVU1fRElHRVNUX1NJWkUsCisJCQkgLnNldGtleQk9CWNyYzMyY19zZXRrZXksCisJCQkgLmluaXQgICAJPSAJY3JjMzJjX2luaXQsCisJCQkgLnVwZGF0ZSAJPQljcmMzMmNfdXBkYXRlLAorCQkJIC5maW5hbCAgCT0JY3JjMzJjX2ZpbmFsLAorCQkJIC5kaWdlc3QgIAk9CWNyYzMyY19kaWdlc3QsCisJCSB9CisJfQorfTsKKwogc3RhdGljIGludCBfX2luaXQgY3JjMzJjX21vZF9pbml0KHZvaWQpCiB7Ci0JcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7CisJaW50IGVycjsKKworCWVyciA9IGNyeXB0b19yZWdpc3Rlcl9hbGcoJm9sZF9hbGcpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworCWlmIChlcnIpCisJCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmb2xkX2FsZyk7CisKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgdm9pZCBfX2V4aXQgY3JjMzJjX21vZF9maW5pKHZvaWQpCiB7CiAJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcpOworCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmb2xkX2FsZyk7CiB9CiAKIG1vZHVsZV9pbml0KGNyYzMyY19tb2RfaW5pdCk7CmRpZmYgLS1naXQgYS9jcnlwdG8vY3J5cHRkLmMgYi9jcnlwdG8vY3J5cHRkLmMKaW5kZXggYjE1MGRlNS4uZDI5ZTA2YiAxMDA2NDQKLS0tIGEvY3J5cHRvL2NyeXB0ZC5jCisrKyBiL2NyeXB0by9jcnlwdGQuYwpAQCAtMTEsNiArMTEsNyBAQAogICovCiAKICNpbmNsdWRlIDxjcnlwdG8vYWxnYXBpLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CkBAIC00NSw2ICs0NiwxMyBAQAogCWNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGU7CiB9OwogCitzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4IHsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggKmNoaWxkOworfTsKKworc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4IHsKKwljcnlwdG9fY29tcGxldGlvbl90IGNvbXBsZXRlOworfTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRkX3N0YXRlICpjcnlwdGRfZ2V0X3N0YXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CkBAIC04MiwxMCArOTAsOCBAQAogCiAJcmN0eCA9IGFibGtjaXBoZXJfcmVxdWVzdF9jdHgocmVxKTsKIAotCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkgewotCQlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOwotCQlyZXR1cm47Ci0JfQorCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290byBvdXQ7CiAKIAlkZXNjLnRmbSA9IGNoaWxkOwogCWRlc2MuaW5mbyA9IHJlcS0+aW5mbzsKQEAgLTk1LDggKzEwMSw5IEBACiAKIAlyZXEtPmJhc2UuY29tcGxldGUgPSByY3R4LT5jb21wbGV0ZTsKIAorb3V0OgogCWxvY2FsX2JoX2Rpc2FibGUoKTsKLQlyZXEtPmJhc2UuY29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKKwlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOwogCWxvY2FsX2JoX2VuYWJsZSgpOwogfQogCkBAIC0yNjEsNiArMjY4LDI0MCBAQAogCXJldHVybiBpbnN0OwogfQogCitzdGF0aWMgaW50IGNyeXB0ZF9oYXNoX2luaXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0b19pbnN0YW5jZSAqaW5zdCA9IGNyeXB0b190Zm1fYWxnX2luc3RhbmNlKHRmbSk7CisJc3RydWN0IGNyeXB0ZF9pbnN0YW5jZV9jdHggKmljdHggPSBjcnlwdG9faW5zdGFuY2VfY3R4KGluc3QpOworCXN0cnVjdCBjcnlwdG9fc3Bhd24gKnNwYXduID0gJmljdHgtPnNwYXduOworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICpjaXBoZXI7CisKKwljaXBoZXIgPSBjcnlwdG9fc3Bhd25faGFzaChzcGF3bik7CisJaWYgKElTX0VSUihjaXBoZXIpKQorCQlyZXR1cm4gUFRSX0VSUihjaXBoZXIpOworCisJY3R4LT5jaGlsZCA9IGNpcGhlcjsKKwl0Zm0tPmNydF9haGFzaC5yZXFzaXplID0KKwkJc2l6ZW9mKHN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNyeXB0ZF9oYXNoX2V4aXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlzdHJ1Y3QgY3J5cHRkX3N0YXRlICpzdGF0ZSA9IGNyeXB0ZF9nZXRfc3RhdGUodGZtKTsKKwlpbnQgYWN0aXZlOworCisJbXV0ZXhfbG9jaygmc3RhdGUtPm11dGV4KTsKKwlhY3RpdmUgPSBhaGFzaF90Zm1faW5fcXVldWUoJnN0YXRlLT5xdWV1ZSwKKwkJCQlfX2NyeXB0b19haGFzaF9jYXN0KHRmbSkpOworCW11dGV4X3VubG9jaygmc3RhdGUtPm11dGV4KTsKKworCUJVR19PTihhY3RpdmUpOworCisJY3J5cHRvX2ZyZWVfaGFzaChjdHgtPmNoaWxkKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF9zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqcGFyZW50LAorCQkJCSAgIGNvbnN0IHU4ICprZXksIHVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fYWhhc2hfY3R4KHBhcmVudCk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCWludCBlcnI7CisKKwljcnlwdG9faGFzaF9jbGVhcl9mbGFncyhjaGlsZCwgQ1JZUFRPX1RGTV9SRVFfTUFTSyk7CisJY3J5cHRvX2hhc2hfc2V0X2ZsYWdzKGNoaWxkLCBjcnlwdG9fYWhhc2hfZ2V0X2ZsYWdzKHBhcmVudCkgJgorCQkJCQkgIENSWVBUT19URk1fUkVRX01BU0spOworCWVyciA9IGNyeXB0b19oYXNoX3NldGtleShjaGlsZCwga2V5LCBrZXlsZW4pOworCWNyeXB0b19haGFzaF9zZXRfZmxhZ3MocGFyZW50LCBjcnlwdG9faGFzaF9nZXRfZmxhZ3MoY2hpbGQpICYKKwkJCQkJICAgIENSWVBUT19URk1fUkVTX01BU0spOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJCWNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGUpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpyY3R4ID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0gPSBjcnlwdG9fYWhhc2hfcmVxdGZtKHJlcSk7CisJc3RydWN0IGNyeXB0ZF9zdGF0ZSAqc3RhdGUgPQorCQljcnlwdGRfZ2V0X3N0YXRlKGNyeXB0b19haGFzaF90Zm0odGZtKSk7CisJaW50IGVycjsKKworCXJjdHgtPmNvbXBsZXRlID0gcmVxLT5iYXNlLmNvbXBsZXRlOworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IGNvbXBsZXRlOworCisJc3Bpbl9sb2NrX2JoKCZzdGF0ZS0+bG9jayk7CisJZXJyID0gYWhhc2hfZW5xdWV1ZV9yZXF1ZXN0KCZzdGF0ZS0+cXVldWUsIHJlcSk7CisJc3Bpbl91bmxvY2tfYmgoJnN0YXRlLT5sb2NrKTsKKworCXdha2VfdXBfcHJvY2VzcyhzdGF0ZS0+dGFzayk7CisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfaW5pdChzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgKnJlcV9hc3luYywgaW50IGVycikKK3sKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4ICpjdHggICA9IGNyeXB0b190Zm1fY3R4KHJlcV9hc3luYy0+dGZtKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggICAgICpjaGlsZCA9IGN0eC0+Y2hpbGQ7CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgICAgKnJlcSA9IGFoYXNoX3JlcXVlc3RfY2FzdChyZXFfYXN5bmMpOworCXN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCAqcmN0eDsKKwlzdHJ1Y3QgaGFzaF9kZXNjIGRlc2M7CisKKwlyY3R4ID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKworCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290byBvdXQ7CisKKwlkZXNjLnRmbSA9IGNoaWxkOworCWRlc2MuZmxhZ3MgPSBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVA7CisKKwllcnIgPSBjcnlwdG9faGFzaF9jcnQoY2hpbGQpLT5pbml0KCZkZXNjKTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfaW5pdF9lbnF1ZXVlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIGNyeXB0ZF9oYXNoX2VucXVldWUocmVxLCBjcnlwdGRfaGFzaF9pbml0KTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfdXBkYXRlKHN0cnVjdCBjcnlwdG9fYXN5bmNfcmVxdWVzdCAqcmVxX2FzeW5jLCBpbnQgZXJyKQoreworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCAgID0gY3J5cHRvX3RmbV9jdHgocmVxX2FzeW5jLT50Zm0pOworCXN0cnVjdCBjcnlwdG9faGFzaCAgICAgKmNoaWxkID0gY3R4LT5jaGlsZDsKKwlzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAgICAqcmVxID0gYWhhc2hfcmVxdWVzdF9jYXN0KHJlcV9hc3luYyk7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpyY3R4OworCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKworCXJjdHggPSBhaGFzaF9yZXF1ZXN0X2N0eChyZXEpOworCisJaWYgKHVubGlrZWx5KGVyciA9PSAtRUlOUFJPR1JFU1MpKQorCQlnb3RvIG91dDsKKworCWRlc2MudGZtID0gY2hpbGQ7CisJZGVzYy5mbGFncyA9IENSWVBUT19URk1fUkVRX01BWV9TTEVFUDsKKworCWVyciA9IGNyeXB0b19oYXNoX2NydChjaGlsZCktPnVwZGF0ZSgmZGVzYywKKwkJCQkJCXJlcS0+c3JjLAorCQkJCQkJcmVxLT5uYnl0ZXMpOworCisJcmVxLT5iYXNlLmNvbXBsZXRlID0gcmN0eC0+Y29tcGxldGU7CisKK291dDoKKwlsb2NhbF9iaF9kaXNhYmxlKCk7CisJcmN0eC0+Y29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKKwlsb2NhbF9iaF9lbmFibGUoKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF91cGRhdGVfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjcnlwdGRfaGFzaF9lbnF1ZXVlKHJlcSwgY3J5cHRkX2hhc2hfdXBkYXRlKTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfZmluYWwoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICpyZXFfYXN5bmMsIGludCBlcnIpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fdGZtX2N0eChyZXFfYXN5bmMtPnRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICAgICpyZXEgPSBhaGFzaF9yZXF1ZXN0X2Nhc3QocmVxX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHg7CisJc3RydWN0IGhhc2hfZGVzYyBkZXNjOworCisJcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OworCisJZGVzYy50Zm0gPSBjaGlsZDsKKwlkZXNjLmZsYWdzID0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOworCisJZXJyID0gY3J5cHRvX2hhc2hfY3J0KGNoaWxkKS0+ZmluYWwoJmRlc2MsIHJlcS0+cmVzdWx0KTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZmluYWxfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjcnlwdGRfaGFzaF9lbnF1ZXVlKHJlcSwgY3J5cHRkX2hhc2hfZmluYWwpOworfQorCitzdGF0aWMgdm9pZCBjcnlwdGRfaGFzaF9kaWdlc3Qoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICpyZXFfYXN5bmMsIGludCBlcnIpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fdGZtX2N0eChyZXFfYXN5bmMtPnRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICAgICpyZXEgPSBhaGFzaF9yZXF1ZXN0X2Nhc3QocmVxX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHg7CisJc3RydWN0IGhhc2hfZGVzYyBkZXNjOworCisJcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OworCisJZGVzYy50Zm0gPSBjaGlsZDsKKwlkZXNjLmZsYWdzID0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOworCisJZXJyID0gY3J5cHRvX2hhc2hfY3J0KGNoaWxkKS0+ZGlnZXN0KCZkZXNjLAorCQkJCQkJcmVxLT5zcmMsCisJCQkJCQlyZXEtPm5ieXRlcywKKwkJCQkJCXJlcS0+cmVzdWx0KTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZGlnZXN0X2VucXVldWUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gY3J5cHRkX2hhc2hfZW5xdWV1ZShyZXEsIGNyeXB0ZF9oYXNoX2RpZ2VzdCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICpjcnlwdGRfYWxsb2NfaGFzaCgKKwlzdHJ1Y3QgcnRhdHRyICoqdGIsIHN0cnVjdCBjcnlwdGRfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBjcnlwdG9faW5zdGFuY2UgKmluc3Q7CisJc3RydWN0IGNyeXB0b19hbGcgKmFsZzsKKworCWFsZyA9IGNyeXB0b19nZXRfYXR0cl9hbGcodGIsIENSWVBUT19BTEdfVFlQRV9IQVNILAorCQkJCSAgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSyk7CisJaWYgKElTX0VSUihhbGcpKQorCQlyZXR1cm4gRVJSX1BUUihQVFJfRVJSKGFsZykpOworCisJaW5zdCA9IGNyeXB0ZF9hbGxvY19pbnN0YW5jZShhbGcsIHN0YXRlKTsKKwlpZiAoSVNfRVJSKGluc3QpKQorCQlnb3RvIG91dF9wdXRfYWxnOworCisJaW5zdC0+YWxnLmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BSEFTSCB8IENSWVBUT19BTEdfQVNZTkM7CisJaW5zdC0+YWxnLmNyYV90eXBlID0gJmNyeXB0b19haGFzaF90eXBlOworCisJaW5zdC0+YWxnLmNyYV9haGFzaC5kaWdlc3RzaXplID0gYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplOworCWluc3QtPmFsZy5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4KTsKKworCWluc3QtPmFsZy5jcmFfaW5pdCA9IGNyeXB0ZF9oYXNoX2luaXRfdGZtOworCWluc3QtPmFsZy5jcmFfZXhpdCA9IGNyeXB0ZF9oYXNoX2V4aXRfdGZtOworCisJaW5zdC0+YWxnLmNyYV9haGFzaC5pbml0ICAgPSBjcnlwdGRfaGFzaF9pbml0X2VucXVldWU7CisJaW5zdC0+YWxnLmNyYV9haGFzaC51cGRhdGUgPSBjcnlwdGRfaGFzaF91cGRhdGVfZW5xdWV1ZTsKKwlpbnN0LT5hbGcuY3JhX2FoYXNoLmZpbmFsICA9IGNyeXB0ZF9oYXNoX2ZpbmFsX2VucXVldWU7CisJaW5zdC0+YWxnLmNyYV9haGFzaC5zZXRrZXkgPSBjcnlwdGRfaGFzaF9zZXRrZXk7CisJaW5zdC0+YWxnLmNyYV9haGFzaC5kaWdlc3QgPSBjcnlwdGRfaGFzaF9kaWdlc3RfZW5xdWV1ZTsKKworb3V0X3B1dF9hbGc6CisJY3J5cHRvX21vZF9wdXQoYWxnKTsKKwlyZXR1cm4gaW5zdDsKK30KKwogc3RhdGljIHN0cnVjdCBjcnlwdGRfc3RhdGUgc3RhdGU7CiAKIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICpjcnlwdGRfYWxsb2Moc3RydWN0IHJ0YXR0ciAqKnRiKQpAQCAtMjc0LDYgKzUxNSw4IEBACiAJc3dpdGNoIChhbGd0LT50eXBlICYgYWxndC0+bWFzayAmIENSWVBUT19BTEdfVFlQRV9NQVNLKSB7CiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfQkxLQ0lQSEVSOgogCQlyZXR1cm4gY3J5cHRkX2FsbG9jX2Jsa2NpcGhlcih0YiwgJnN0YXRlKTsKKwljYXNlIENSWVBUT19BTEdfVFlQRV9ESUdFU1Q6CisJCXJldHVybiBjcnlwdGRfYWxsb2NfaGFzaCh0YiwgJnN0YXRlKTsKIAl9CiAKIAlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9kaWdlc3QuYyBiL2NyeXB0by9kaWdlc3QuYwppbmRleCBiNTI2Y2MzLi5hYzA5MTk0IDEwMDY0NAotLS0gYS9jcnlwdG8vZGlnZXN0LmMKKysrIGIvY3J5cHRvL2RpZ2VzdC5jCkBAIC0xMiw2ICsxMiw3IEBACiAgKgogICovCiAKKyNpbmNsdWRlIDxjcnlwdG8vaW50ZXJuYWwvaGFzaC5oPgogI2luY2x1ZGUgPGNyeXB0by9zY2F0dGVyd2Fsay5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KQEAgLTE0MSw3ICsxNDIsNyBAQAogCXN0cnVjdCBoYXNoX3RmbSAqb3BzID0gJnRmbS0+Y3J0X2hhc2g7CiAJc3RydWN0IGRpZ2VzdF9hbGcgKmRhbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9kaWdlc3Q7CiAKLQlpZiAoZGFsZy0+ZGlhX2RpZ2VzdHNpemUgPiBjcnlwdG9fdGZtX2FsZ19ibG9ja3NpemUodGZtKSkKKwlpZiAoZGFsZy0+ZGlhX2RpZ2VzdHNpemUgPiBQQUdFX1NJWkUgLyA4KQogCQlyZXR1cm4gLUVJTlZBTDsKIAkKIAlvcHMtPmluaXQJPSBpbml0OwpAQCAtMTU3LDMgKzE1OCw4MyBAQAogdm9pZCBjcnlwdG9fZXhpdF9kaWdlc3Rfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CiB9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX25vc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbV9hc3luYywgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHRmbV9hc3luYywgQ1JZUFRPX1RGTV9SRVNfTUFTSyk7CisJcmV0dXJuIC1FTk9TWVM7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm1fYXN5bmMsIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICAgICp0Zm0gICAgICAgID0gY3J5cHRvX2FoYXNoX3RmbSh0Zm1fYXN5bmMpOworCXN0cnVjdCBkaWdlc3RfYWxnICAgICpkYWxnICAgICAgID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfZGlnZXN0OworCisJY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHRmbV9hc3luYywgQ1JZUFRPX1RGTV9SRVNfTUFTSyk7CisJcmV0dXJuIGRhbGctPmRpYV9zZXRrZXkodGZtLCBrZXksIGtleWxlbik7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtICA9IHJlcS0+YmFzZS50Zm07CisJc3RydWN0IGRpZ2VzdF9hbGcgKmRhbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9kaWdlc3Q7CisKKwlkYWxnLT5kaWFfaW5pdCh0Zm0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZ2VzdF9hc3luY191cGRhdGUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtICAgPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwl1cGRhdGUoJmRlc2MsIHJlcS0+c3JjLCByZXEtPm5ieXRlcyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2ZpbmFsKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b190Zm0gKnRmbSAgPSByZXEtPmJhc2UudGZtOworCXN0cnVjdCBoYXNoX2Rlc2MgIGRlc2MgPSB7CisJCS50Zm0gICA9IF9fY3J5cHRvX2hhc2hfY2FzdCh0Zm0pLAorCQkuZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3MsCisJfTsKKworCWZpbmFsKCZkZXNjLCByZXEtPnJlc3VsdCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICp0Zm0gID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtICAgPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwlyZXR1cm4gZGlnZXN0KCZkZXNjLCByZXEtPnNyYywgcmVxLT5uYnl0ZXMsIHJlcS0+cmVzdWx0KTsKK30KKworaW50IGNyeXB0b19pbml0X2RpZ2VzdF9vcHNfYXN5bmMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgYWhhc2hfdGZtICAqY3J0ICA9ICZ0Zm0tPmNydF9haGFzaDsKKwlzdHJ1Y3QgZGlnZXN0X2FsZyAqZGFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2RpZ2VzdDsKKworCWlmIChkYWxnLT5kaWFfZGlnZXN0c2l6ZSA+IGNyeXB0b190Zm1fYWxnX2Jsb2Nrc2l6ZSh0Zm0pKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNydC0+aW5pdCAgICAgICA9IGRpZ2VzdF9hc3luY19pbml0OworCWNydC0+dXBkYXRlICAgICA9IGRpZ2VzdF9hc3luY191cGRhdGU7CisJY3J0LT5maW5hbCAgICAgID0gZGlnZXN0X2FzeW5jX2ZpbmFsOworCWNydC0+ZGlnZXN0ICAgICA9IGRpZ2VzdF9hc3luY19kaWdlc3Q7CisJY3J0LT5zZXRrZXkgICAgID0gZGFsZy0+ZGlhX3NldGtleSA/IGRpZ2VzdF9hc3luY19zZXRrZXkgOgorCQkJCQkJZGlnZXN0X2FzeW5jX25vc2V0a2V5OworCWNydC0+ZGlnZXN0c2l6ZSA9IGRhbGctPmRpYV9kaWdlc3RzaXplOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9jcnlwdG8vaGFzaC5jIGIvY3J5cHRvL2hhc2guYwppbmRleCA3ZGNmZjY3Li5jYjg2YjE5IDEwMDY0NAotLS0gYS9jcnlwdG8vaGFzaC5jCisrKyBiL2NyeXB0by9oYXNoLmMKQEAgLTksNiArOSw3IEBACiAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqLwogCisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNTksMjQgKzYwLDEwNyBAQAogCXJldHVybiBhbGctPnNldGtleShjcnQsIGtleSwga2V5bGVuKTsKIH0KIAotc3RhdGljIGludCBjcnlwdG9faW5pdF9oYXNoX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1MzIgdHlwZSwgdTMyIG1hc2spCitzdGF0aWMgaW50IGhhc2hfYXN5bmNfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbV9hc3luYywgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGNyeXB0b190Zm0gICp0Zm0gICAgICA9IGNyeXB0b19haGFzaF90Zm0odGZtX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggKnRmbV9oYXNoID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSk7CisJc3RydWN0IGhhc2hfYWxnICAgICphbGcgICAgICA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwlyZXR1cm4gYWxnLT5zZXRrZXkodGZtX2hhc2gsIGtleSwga2V5bGVuKTsKK30KKworc3RhdGljIGludCBoYXNoX2FzeW5jX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+aW5pdCgmZGVzYyk7Cit9CisKK3N0YXRpYyBpbnQgaGFzaF9hc3luY191cGRhdGUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+dXBkYXRlKCZkZXNjLCByZXEtPnNyYywgcmVxLT5uYnl0ZXMpOworfQorCitzdGF0aWMgaW50IGhhc2hfYXN5bmNfZmluYWwoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+ZmluYWwoJmRlc2MsIHJlcS0+cmVzdWx0KTsKK30KKworc3RhdGljIGludCBoYXNoX2FzeW5jX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICp0Zm0gPSByZXEtPmJhc2UudGZtOworCXN0cnVjdCBoYXNoX2FsZyAgICphbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9oYXNoOworCXN0cnVjdCBoYXNoX2Rlc2MgIGRlc2MgPSB7CisJCS50Zm0gPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwlyZXR1cm4gYWxnLT5kaWdlc3QoJmRlc2MsIHJlcS0+c3JjLCByZXEtPm5ieXRlcywgcmVxLT5yZXN1bHQpOworfQorCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2hhc2hfb3BzX2FzeW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGFoYXNoX3RmbSAqY3J0ID0gJnRmbS0+Y3J0X2FoYXNoOworCXN0cnVjdCBoYXNoX2FsZyAgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwljcnQtPmluaXQgICAgICAgPSBoYXNoX2FzeW5jX2luaXQ7CisJY3J0LT51cGRhdGUgICAgID0gaGFzaF9hc3luY191cGRhdGU7CisJY3J0LT5maW5hbCAgICAgID0gaGFzaF9hc3luY19maW5hbDsKKwljcnQtPmRpZ2VzdCAgICAgPSBoYXNoX2FzeW5jX2RpZ2VzdDsKKwljcnQtPnNldGtleSAgICAgPSBoYXNoX2FzeW5jX3NldGtleTsKKwljcnQtPmRpZ2VzdHNpemUgPSBhbGctPmRpZ2VzdHNpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcnlwdG9faW5pdF9oYXNoX29wc19zeW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CiAJc3RydWN0IGhhc2hfdGZtICpjcnQgPSAmdGZtLT5jcnRfaGFzaDsKIAlzdHJ1Y3QgaGFzaF9hbGcgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CiAKLQlpZiAoYWxnLT5kaWdlc3RzaXplID4gY3J5cHRvX3RmbV9hbGdfYmxvY2tzaXplKHRmbSkpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JY3J0LT5pbml0ID0gYWxnLT5pbml0OwotCWNydC0+dXBkYXRlID0gYWxnLT51cGRhdGU7Ci0JY3J0LT5maW5hbCA9IGFsZy0+ZmluYWw7Ci0JY3J0LT5kaWdlc3QgPSBhbGctPmRpZ2VzdDsKLQljcnQtPnNldGtleSA9IGhhc2hfc2V0a2V5OworCWNydC0+aW5pdCAgICAgICA9IGFsZy0+aW5pdDsKKwljcnQtPnVwZGF0ZSAgICAgPSBhbGctPnVwZGF0ZTsKKwljcnQtPmZpbmFsICAgICAgPSBhbGctPmZpbmFsOworCWNydC0+ZGlnZXN0ICAgICA9IGFsZy0+ZGlnZXN0OworCWNydC0+c2V0a2V5ICAgICA9IGhhc2hfc2V0a2V5OwogCWNydC0+ZGlnZXN0c2l6ZSA9IGFsZy0+ZGlnZXN0c2l6ZTsKIAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2hhc2hfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHUzMiB0eXBlLCB1MzIgbWFzaykKK3sKKwlzdHJ1Y3QgaGFzaF9hbGcgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwlpZiAoYWxnLT5kaWdlc3RzaXplID4gUEFHRV9TSVpFIC8gOCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoKG1hc2sgJiBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNLKSAhPSBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNLKQorCQlyZXR1cm4gY3J5cHRvX2luaXRfaGFzaF9vcHNfYXN5bmModGZtKTsKKwllbHNlCisJCXJldHVybiBjcnlwdG9faW5pdF9oYXNoX29wc19zeW5jKHRmbSk7Cit9CisKIHN0YXRpYyB2b2lkIGNyeXB0b19oYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQogCV9fYXR0cmlidXRlX18gKCh1bnVzZWQpKTsKIHN0YXRpYyB2b2lkIGNyeXB0b19oYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQpkaWZmIC0tZ2l0IGEvY3J5cHRvL2htYWMuYyBiL2NyeXB0by9obWFjLmMKaW5kZXggMTRjNjM1MS4uN2ZmMmQ2YSAxMDA2NDQKLS0tIGEvY3J5cHRvL2htYWMuYworKysgYi9jcnlwdG8vaG1hYy5jCkBAIC0yMjYsNiArMjI2LDcgQEAKIAlzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICppbnN0OwogCXN0cnVjdCBjcnlwdG9fYWxnICphbGc7CiAJaW50IGVycjsKKwlpbnQgZHM7CiAKIAllcnIgPSBjcnlwdG9fY2hlY2tfYXR0cl90eXBlKHRiLCBDUllQVE9fQUxHX1RZUEVfSEFTSCk7CiAJaWYgKGVycikKQEAgLTIzNiw2ICsyMzcsMTMgQEAKIAlpZiAoSVNfRVJSKGFsZykpCiAJCXJldHVybiBFUlJfQ0FTVChhbGcpOwogCisJaW5zdCA9IEVSUl9QVFIoLUVJTlZBTCk7CisJZHMgPSAoYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9fQUxHX1RZUEVfTUFTSykgPT0KKwkgICAgIENSWVBUT19BTEdfVFlQRV9IQVNIID8gYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplIDoKKwkJCQkgICAgYWxnLT5jcmFfZGlnZXN0LmRpYV9kaWdlc3RzaXplOworCWlmIChkcyA+IGFsZy0+Y3JhX2Jsb2Nrc2l6ZSkKKwkJZ290byBvdXRfcHV0X2FsZzsKKwogCWluc3QgPSBjcnlwdG9fYWxsb2NfaW5zdGFuY2UoImhtYWMiLCBhbGcpOwogCWlmIChJU19FUlIoaW5zdCkpCiAJCWdvdG8gb3V0X3B1dF9hbGc7CkBAIC0yNDYsMTQgKzI1NCwxMCBAQAogCWluc3QtPmFsZy5jcmFfYWxpZ25tYXNrID0gYWxnLT5jcmFfYWxpZ25tYXNrOwogCWluc3QtPmFsZy5jcmFfdHlwZSA9ICZjcnlwdG9faGFzaF90eXBlOwogCi0JaW5zdC0+YWxnLmNyYV9oYXNoLmRpZ2VzdHNpemUgPQotCQkoYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9fQUxHX1RZUEVfTUFTSykgPT0KLQkJQ1JZUFRPX0FMR19UWVBFX0hBU0ggPyBhbGctPmNyYV9oYXNoLmRpZ2VzdHNpemUgOgotCQkJCSAgICAgICBhbGctPmNyYV9kaWdlc3QuZGlhX2RpZ2VzdHNpemU7CisJaW5zdC0+YWxnLmNyYV9oYXNoLmRpZ2VzdHNpemUgPSBkczsKIAogCWluc3QtPmFsZy5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgaG1hY19jdHgpICsKLQkJCQlBTElHTihpbnN0LT5hbGcuY3JhX2Jsb2Nrc2l6ZSAqIDIgKwotCQkJCSAgICAgIGluc3QtPmFsZy5jcmFfaGFzaC5kaWdlc3RzaXplLAorCQkJCUFMSUdOKGluc3QtPmFsZy5jcmFfYmxvY2tzaXplICogMiArIGRzLAogCQkJCSAgICAgIHNpemVvZih2b2lkICopKTsKIAogCWluc3QtPmFsZy5jcmFfaW5pdCA9IGhtYWNfaW5pdF90Zm07CmRpZmYgLS1naXQgYS9jcnlwdG8vaW50ZXJuYWwuaCBiL2NyeXB0by9pbnRlcm5hbC5oCmluZGV4IDMyZjRjMjEuLjY4M2ZjYjIgMTAwNjQ0Ci0tLSBhL2NyeXB0by9pbnRlcm5hbC5oCisrKyBiL2NyeXB0by9pbnRlcm5hbC5oCkBAIC04Niw2ICs4Niw3IEBACiBzdHJ1Y3QgY3J5cHRvX2FsZyAqY3J5cHRvX2FsZ19tb2RfbG9va3VwKGNvbnN0IGNoYXIgKm5hbWUsIHUzMiB0eXBlLCB1MzIgbWFzayk7CiAKIGludCBjcnlwdG9faW5pdF9kaWdlc3Rfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pOworaW50IGNyeXB0b19pbml0X2RpZ2VzdF9vcHNfYXN5bmMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSk7CiBpbnQgY3J5cHRvX2luaXRfY2lwaGVyX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKTsKIGludCBjcnlwdG9faW5pdF9jb21wcmVzc19vcHMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSk7CiAKZGlmZiAtLWdpdCBhL2NyeXB0by9wcm5nLmMgYi9jcnlwdG8vcHJuZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZTRmMzIKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcHJuZy5jCkBAIC0wLDAgKzEsNDEwIEBACisvKgorICogUFJORzogUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yCisgKiAgICAgICBCYXNlZCBvbiBOSVNUIFJlY29tbWVuZGVkIFBSTkcgRnJvbSBBTlNJIFg5LjMxIEFwcGVuZGl4IEEuMi40IHVzaW5nCisgKiAgICAgICBBRVMgMTI4IGNpcGhlciBpbiBSRkMzNjg2IGN0ciBtb2RlCisgKgorICogIChDKSBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyAqICBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlICJwcm5nLmgiCisKKyNkZWZpbmUgVEVTVF9QUk5HX09OX1NUQVJUIDAKKworI2RlZmluZSBERUZBVUxUX1BSTkdfS0VZICIwMTIzNDU2Nzg5YWJjZGVmMTAxMSIKKyNkZWZpbmUgREVGQVVMVF9QUk5HX0tTWiAyMAorI2RlZmluZSBERUZBVUxUX1BSTkdfSVYgImRlZmF1bHR2IgorI2RlZmluZSBERUZBVUxUX1BSTkdfSVZTWiA4CisjZGVmaW5lIERFRkFVTFRfQkxLX1NaIDE2CisjZGVmaW5lIERFRkFVTFRfVl9TRUVEICJ6YXlieGN3ZHZldWZ0Z3NoIgorCisvKgorICogRmxhZ3MgZm9yIHRoZSBwcm5nX2NvbnRleHQgZmxhZ3MgZmllbGQKKyAqLworCisjZGVmaW5lIFBSTkdfRklYRURfU0laRSAweDEKKyNkZWZpbmUgUFJOR19ORUVEX1JFU0VUIDB4MgorCisvKgorICogTm90ZTogRFQgaXMgb3VyIGNvdW50ZXIgdmFsdWUKKyAqIAkgSSBpcyBvdXIgaW50ZXJtZWRpYXRlIHZhbHVlCisgKgkgViBpcyBvdXIgc2VlZCB2ZWN0b3IKKyAqIFNlZSBodHRwOi8vY3NyYy5uaXN0Lmdvdi9ncm91cHMvU1RNL2NhdnAvZG9jdW1lbnRzL3JuZy85MzFybmdleHQucGRmCisgKiBmb3IgaW1wbGVtZW50YXRpb24gZGV0YWlscworICovCisKKworc3RydWN0IHBybmdfY29udGV4dCB7CisJY2hhciAqcHJuZ19rZXk7CisJY2hhciAqcHJuZ19pdjsKKwlzcGlubG9ja190IHBybmdfbG9jazsKKwl1bnNpZ25lZCBjaGFyIHJhbmRfZGF0YVtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBsYXN0X3JhbmRfZGF0YVtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBEVFtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBJW0RFRkFVTFRfQkxLX1NaXTsKKwl1bnNpZ25lZCBjaGFyIFZbREVGQVVMVF9CTEtfU1pdOworCXUzMiByYW5kX2RhdGFfdmFsaWQ7CisJc3RydWN0IGNyeXB0b19ibGtjaXBoZXIgKnRmbTsKKwl1MzIgZmxhZ3M7Cit9OworCitzdGF0aWMgaW50IGRiZzsKKworc3RhdGljIHZvaWQgaGV4ZHVtcChjaGFyICpub3RlLCB1bnNpZ25lZCBjaGFyICpidWYsIHVuc2lnbmVkIGludCBsZW4pCit7CisJaWYgKGRiZykgeworCQlwcmludGsoS0VSTl9DUklUICIlcyIsIG5vdGUpOworCQlwcmludF9oZXhfZHVtcChLRVJOX0NPTlQsICIiLCBEVU1QX1BSRUZJWF9PRkZTRVQsCisJCQkJMTYsIDEsCisJCQkJYnVmLCBsZW4sIGZhbHNlKTsKKwl9Cit9CisKKyNkZWZpbmUgZGJncHJpbnQoZm9ybWF0LCBhcmdzLi4uKSBkbyB7aWYoZGJnKSBwcmludGsoZm9ybWF0LCAjI2FyZ3MpO30gd2hpbGUoMCkKKworc3RhdGljIHZvaWQgeG9yX3ZlY3RvcnModW5zaWduZWQgY2hhciAqaW4xLCB1bnNpZ25lZCBjaGFyICppbjIsCisJCSAgICAgICAgdW5zaWduZWQgY2hhciAqb3V0LCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3sKKwlpbnQgaTsKKworCWZvciAoaT0wO2k8c2l6ZTtpKyspCisJCW91dFtpXSA9IGluMVtpXSBeIGluMltpXTsKKworfQorLyoKKyAqIFJldHVybnMgREVGQVVMVF9CTEtfU1ogYnl0ZXMgb2YgcmFuZG9tIGRhdGEgcGVyIGNhbGwKKyAqIHJldHVybnMgMCBpZiBnZW5lcmF0aW9uIHN1Y2NlZGVkLCA8MCBpZiBzb21ldGhpbmcgd2VudCB3cm9uZworICovCitzdGF0aWMgaW50IF9nZXRfbW9yZV9wcm5nX2J5dGVzKHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgYmxrY2lwaGVyX2Rlc2MgZGVzYzsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3Qgc2dfaW4sIHNnX291dDsKKwlpbnQgcmV0OworCXVuc2lnbmVkIGNoYXIgdG1wW0RFRkFVTFRfQkxLX1NaXTsKKworCWRlc2MudGZtID0gY3R4LT50Zm07CisJZGVzYy5mbGFncyA9IDA7CisKKworCWRiZ3ByaW50KEtFUk5fQ1JJVCAiQ2FsbGluZyBfZ2V0X21vcmVfcHJuZ19ieXRlcyBmb3IgY29udGV4dCAlcFxuIixjdHgpOworCisJaGV4ZHVtcCgiSW5wdXQgRFQ6ICIsIGN0eC0+RFQsIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJJbnB1dCBJOiAiLCBjdHgtPkksIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJJbnB1dCBWOiAiLCBjdHgtPlYsIERFRkFVTFRfQkxLX1NaKTsKKworCS8qCisJICogVGhpcyBhbGdvcml0aG0gaXMgYSAzIHN0YWdlIHN0YXRlIG1hY2hpbmUKKwkgKi8KKwlmb3IgKGk9MDtpPDM7aSsrKSB7CisKKwkJZGVzYy50Zm0gPSBjdHgtPnRmbTsKKwkJZGVzYy5mbGFncyA9IDA7CisJCXN3aXRjaCAoaSkgeworCQkJY2FzZSAwOgorCQkJCS8qCisJCQkJICogU3RhcnQgYnkgZW5jcnlwdGluZyB0aGUgY291bnRlciB2YWx1ZQorCQkJCSAqIFRoaXMgZ2l2ZXMgdXMgYW4gaW50ZXJtZWRpYXRlIHZhbHVlIEkKKwkJCQkgKi8KKwkJCQltZW1jcHkodG1wLCBjdHgtPkRULCBERUZBVUxUX0JMS19TWik7CisJCQkJc2dfaW5pdF9vbmUoJnNnX291dCwgJmN0eC0+SVswXSwgREVGQVVMVF9CTEtfU1opOworCQkJCWhleGR1bXAoInRtcCBzdGFnZSAwOiAiLCB0bXAsIERFRkFVTFRfQkxLX1NaKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMToKKworCQkJCS8qCisJCQkJICogTmV4dCB4b3IgSSB3aXRoIG91ciBzZWNyZXQgdmVjdG9yIFYKKwkJCQkgKiBlbmNyeXB0IHRoYXQgcmVzdWx0IHRvIG9idGFpbiBvdXIKKwkJCQkgKiBwc2V1ZG8gcmFuZG9tIGRhdGEgd2hpY2ggd2Ugb3V0cHV0CisJCQkJICovCisJCQkJeG9yX3ZlY3RvcnMoY3R4LT5JLCBjdHgtPlYsIHRtcCwgREVGQVVMVF9CTEtfU1opOworCQkJCXNnX2luaXRfb25lKCZzZ19vdXQsICZjdHgtPnJhbmRfZGF0YVswXSwgREVGQVVMVF9CTEtfU1opOworCQkJCWhleGR1bXAoInRtcCBzdGFnZSAxOiAiLCB0bXAsIERFRkFVTFRfQkxLX1NaKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMjoKKwkJCQkvKgorCQkJCSAqIEZpcnN0IGNoZWNrIHRoYXQgd2UgZGlkbid0IHByb2R1Y2UgdGhlIHNhbWUgcmFuZG9tIGRhdGEKKwkJCQkgKiB0aGF0IHdlIGRpZCBsYXN0IHRpbWUgYXJvdW5kIHRocm91Z2ggdGhpcworCQkJCSAqLworCQkJCWlmICghbWVtY21wKGN0eC0+cmFuZF9kYXRhLCBjdHgtPmxhc3RfcmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWikpIHsKKwkJCQkJcHJpbnRrKEtFUk5fRVJSICJjdHggJXAgRmFpbGVkIHJlcGV0aXRpb24gY2hlY2shXG4iLAorCQkJCQkJY3R4KTsKKwkJCQkJY3R4LT5mbGFncyB8PSBQUk5HX05FRURfUkVTRVQ7CisJCQkJCXJldHVybiAtMTsKKwkJCQl9CisJCQkJbWVtY3B5KGN0eC0+bGFzdF9yYW5kX2RhdGEsIGN0eC0+cmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWik7CisKKwkJCQkvKgorCQkJCSAqIExhc3RseSB4b3IgdGhlIHJhbmRvbSBkYXRhIHdpdGggSQorCQkJCSAqIGFuZCBlbmNyeXB0IHRoYXQgdG8gb2J0YWluIGEgbmV3IHNlY3JldCB2ZWN0b3IgVgorCQkJCSAqLworCQkJCXhvcl92ZWN0b3JzKGN0eC0+cmFuZF9kYXRhLCBjdHgtPkksIHRtcCwgREVGQVVMVF9CTEtfU1opOworCQkJCXNnX2luaXRfb25lKCZzZ19vdXQsICZjdHgtPlZbMF0sIERFRkFVTFRfQkxLX1NaKTsKKwkJCQloZXhkdW1wKCJ0bXAgc3RhZ2UgMjogIiwgdG1wLCBERUZBVUxUX0JMS19TWik7CisJCQkJYnJlYWs7CisJCX0KKworCQkvKiBJbml0aWFsaXplIG91ciBpbnB1dCBidWZmZXIgKi8KKwkJc2dfaW5pdF9vbmUoJnNnX2luLCAmdG1wWzBdLCBERUZBVUxUX0JMS19TWik7CisKKwkJLyogZG8gdGhlIGVuY3J5cHRpb24gKi8KKwkJcmV0ID0gY3J5cHRvX2Jsa2NpcGhlcl9lbmNyeXB0KCZkZXNjLCAmc2dfb3V0LCAmc2dfaW4sIERFRkFVTFRfQkxLX1NaKTsKKworCQkvKiBBbmQgY2hlY2sgdGhlIHJlc3VsdCAqLworCQlpZiAocmV0KSB7CisJCQlkYmdwcmludChLRVJOX0NSSVQgIkVuY3J5cHRpb24gb2YgbmV3IGJsb2NrIGZhaWxlZCBmb3IgY29udGV4dCAlcFxuIixjdHgpOworCQkJY3R4LT5yYW5kX2RhdGFfdmFsaWQgPSBERUZBVUxUX0JMS19TWjsKKwkJCXJldHVybiAtMTsKKwkJfQorCisJfQorCisJLyoKKwkgKiBOb3cgdXBkYXRlIG91ciBEVCB2YWx1ZQorCSAqLworCWZvciAoaT1ERUZBVUxUX0JMS19TWi0xO2k+MDtpLS0pIHsKKwkJY3R4LT5EVFtpXSA9IGN0eC0+RFRbaS0xXTsKKwl9CisJY3R4LT5EVFswXSArPSAxOworCisJZGJncHJpbnQoIlJldHVybmluZyBuZXcgYmxvY2sgZm9yIGNvbnRleHQgJXBcbiIsY3R4KTsKKwljdHgtPnJhbmRfZGF0YV92YWxpZCA9IDA7CisKKwloZXhkdW1wKCJPdXRwdXQgRFQ6ICIsIGN0eC0+RFQsIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJPdXRwdXQgSTogIiwgY3R4LT5JLCBERUZBVUxUX0JMS19TWik7CisJaGV4ZHVtcCgiT3V0cHV0IFY6ICIsIGN0eC0+ViwgREVGQVVMVF9CTEtfU1opOworCWhleGR1bXAoIk5ldyBSYW5kb20gRGF0YTogIiwgY3R4LT5yYW5kX2RhdGEsIERFRkFVTFRfQkxLX1NaKTsKKworCXJldHVybiAwOworfQorCisvKiBPdXIgZXhwb3J0ZWQgZnVuY3Rpb25zICovCitpbnQgZ2V0X3BybmdfYnl0ZXMoY2hhciAqYnVmLCBpbnQgbmJ5dGVzLCBzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHgpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBjaGFyICpwdHIgPSBidWY7CisJdW5zaWduZWQgaW50IGJ5dGVfY291bnQgPSAodW5zaWduZWQgaW50KW5ieXRlczsKKwlpbnQgZXJyOworCisKKwlpZiAobmJ5dGVzIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY3R4LT5wcm5nX2xvY2ssIGZsYWdzKTsKKworCWVyciA9IC1FRkFVTFQ7CisJaWYgKGN0eC0+ZmxhZ3MgJiBQUk5HX05FRURfUkVTRVQpCisJCWdvdG8gZG9uZTsKKworCS8qCisJICogSWYgdGhlIEZJWEVEX1NJWkUgZmxhZyBpcyBvbiwgb25seSByZXR1cm4gd2hvbGUgYmxvY2tzIG9mCisJICogcHNldWRvIHJhbmRvbSBkYXRhCisJICovCisJZXJyID0gLUVJTlZBTDsKKwlpZiAoY3R4LT5mbGFncyAmIFBSTkdfRklYRURfU0laRSkgeworCQlpZiAobmJ5dGVzIDwgREVGQVVMVF9CTEtfU1opCisJCQlnb3RvIGRvbmU7CisJCWJ5dGVfY291bnQgPSBERUZBVUxUX0JMS19TWjsKKwl9CisKKwllcnIgPSBieXRlX2NvdW50OworCisJZGJncHJpbnQoS0VSTl9DUklUICJnZXR0aW5nICVkIHJhbmRvbSBieXRlcyBmb3IgY29udGV4dCAlcFxuIixieXRlX2NvdW50LCBjdHgpOworCisKK3JlbWFpbmRlcjoKKwlpZiAoY3R4LT5yYW5kX2RhdGFfdmFsaWQgPT0gREVGQVVMVF9CTEtfU1opIHsKKwkJaWYgKF9nZXRfbW9yZV9wcm5nX2J5dGVzKGN0eCkgPCAwKSB7CisJCQltZW1zZXQoYnVmLCAwLCBuYnl0ZXMpOworCQkJZXJyID0gLUVGQVVMVDsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qCisJICogQ29weSB1cCB0byB0aGUgbmV4dCB3aG9sZSBibG9jayBzaXplCisJICovCisJaWYgKGJ5dGVfY291bnQgPCBERUZBVUxUX0JMS19TWikgeworCQlmb3IgKDtjdHgtPnJhbmRfZGF0YV92YWxpZCA8IERFRkFVTFRfQkxLX1NaOyBjdHgtPnJhbmRfZGF0YV92YWxpZCsrKSB7CisJCQkqcHRyID0gY3R4LT5yYW5kX2RhdGFbY3R4LT5yYW5kX2RhdGFfdmFsaWRdOworCQkJcHRyKys7CisJCQlieXRlX2NvdW50LS07CisJCQlpZiAoYnl0ZV9jb3VudCA9PSAwKQorCQkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qCisJICogTm93IGNvcHkgd2hvbGUgYmxvY2tzCisJICovCisJZm9yKDtieXRlX2NvdW50ID49IERFRkFVTFRfQkxLX1NaOyBieXRlX2NvdW50IC09IERFRkFVTFRfQkxLX1NaKSB7CisJCWlmIChfZ2V0X21vcmVfcHJuZ19ieXRlcyhjdHgpIDwgMCkgeworCQkJbWVtc2V0KGJ1ZiwgMCwgbmJ5dGVzKTsKKwkJCWVyciA9IC0xOworCQkJZ290byBkb25lOworCQl9CisJCW1lbWNweShwdHIsIGN0eC0+cmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWik7CisJCWN0eC0+cmFuZF9kYXRhX3ZhbGlkICs9IERFRkFVTFRfQkxLX1NaOworCQlwdHIgKz0gREVGQVVMVF9CTEtfU1o7CisJfQorCisJLyoKKwkgKiBOb3cgY29weSBhbnkgZXh0cmEgcGFydGlhbCBkYXRhCisJICovCisJaWYgKGJ5dGVfY291bnQpCisJCWdvdG8gcmVtYWluZGVyOworCitkb25lOgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0eC0+cHJuZ19sb2NrLCBmbGFncyk7CisJZGJncHJpbnQoS0VSTl9DUklUICJyZXR1cm5pbmcgJWQgZnJvbSBnZXRfcHJuZ19ieXRlcyBpbiBjb250ZXh0ICVwXG4iLGVyciwgY3R4KTsKKwlyZXR1cm4gZXJyOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZ2V0X3BybmdfYnl0ZXMpOworCitzdHJ1Y3QgcHJuZ19jb250ZXh0ICphbGxvY19wcm5nX2NvbnRleHQodm9pZCkKK3sKKwlzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHg9a3phbGxvYyhzaXplb2Yoc3RydWN0IHBybmdfY29udGV4dCksIEdGUF9LRVJORUwpOworCisJc3Bpbl9sb2NrX2luaXQoJmN0eC0+cHJuZ19sb2NrKTsKKworCWlmIChyZXNldF9wcm5nX2NvbnRleHQoY3R4LCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKSkgeworCQlrZnJlZShjdHgpOworCQljdHggPSBOVUxMOworCX0KKworCWRiZ3ByaW50KEtFUk5fQ1JJVCAicmV0dXJuaW5nIGNvbnRleHQgJXBcbiIsY3R4KTsKKwlyZXR1cm4gY3R4OworfQorCitFWFBPUlRfU1lNQk9MX0dQTChhbGxvY19wcm5nX2NvbnRleHQpOworCit2b2lkIGZyZWVfcHJuZ19jb250ZXh0KHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCkKK3sKKwljcnlwdG9fZnJlZV9ibGtjaXBoZXIoY3R4LT50Zm0pOworCWtmcmVlKGN0eCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChmcmVlX3BybmdfY29udGV4dCk7CisKK2ludCByZXNldF9wcm5nX2NvbnRleHQoc3RydWN0IHBybmdfY29udGV4dCAqY3R4LAorCQkgICAgICAgdW5zaWduZWQgY2hhciAqa2V5LCB1bnNpZ25lZCBjaGFyICppdiwKKwkJICAgICAgIHVuc2lnbmVkIGNoYXIgKlYsIHVuc2lnbmVkIGNoYXIgKkRUKQoreworCWludCByZXQ7CisJaW50IGl2X2xlbjsKKwlpbnQgcmMgPSAtRUZBVUxUOworCisJc3Bpbl9sb2NrKCZjdHgtPnBybmdfbG9jayk7CisJY3R4LT5mbGFncyB8PSBQUk5HX05FRURfUkVTRVQ7CisKKwlpZiAoa2V5KQorCQltZW1jcHkoY3R4LT5wcm5nX2tleSxrZXksc3RybGVuKGN0eC0+cHJuZ19rZXkpKTsKKwllbHNlCisJCWN0eC0+cHJuZ19rZXkgPSBERUZBVUxUX1BSTkdfS0VZOworCisJaWYgKGl2KQorCQltZW1jcHkoY3R4LT5wcm5nX2l2LGl2LCBzdHJsZW4oY3R4LT5wcm5nX2l2KSk7CisJZWxzZQorCQljdHgtPnBybmdfaXYgPSBERUZBVUxUX1BSTkdfSVY7CisKKwlpZiAoVikKKwkJbWVtY3B5KGN0eC0+VixWLERFRkFVTFRfQkxLX1NaKTsKKwllbHNlCisJCW1lbWNweShjdHgtPlYsREVGQVVMVF9WX1NFRUQsREVGQVVMVF9CTEtfU1opOworCisJaWYgKERUKQorCQltZW1jcHkoY3R4LT5EVCwgRFQsIERFRkFVTFRfQkxLX1NaKTsKKwllbHNlCisJCW1lbXNldChjdHgtPkRULCAwLCBERUZBVUxUX0JMS19TWik7CisKKwltZW1zZXQoY3R4LT5yYW5kX2RhdGEsMCxERUZBVUxUX0JMS19TWik7CisJbWVtc2V0KGN0eC0+bGFzdF9yYW5kX2RhdGEsMCxERUZBVUxUX0JMS19TWik7CisKKwlpZiAoY3R4LT50Zm0pCisJCWNyeXB0b19mcmVlX2Jsa2NpcGhlcihjdHgtPnRmbSk7CisKKwljdHgtPnRmbSA9IGNyeXB0b19hbGxvY19ibGtjaXBoZXIoInJmYzM2ODYoY3RyKGFlcykpIiwwLDApOworCWlmICghY3R4LT50Zm0pIHsKKwkJZGJncHJpbnQoS0VSTl9DUklUICJGYWlsZWQgdG8gYWxsb2MgY3J5cHRvIHRmbSBmb3IgY29udGV4dCAlcFxuIixjdHgtPnRmbSk7CisJCWdvdG8gb3V0OworCX0KKworCWN0eC0+cmFuZF9kYXRhX3ZhbGlkID0gREVGQVVMVF9CTEtfU1o7CisKKwlyZXQgPSBjcnlwdG9fYmxrY2lwaGVyX3NldGtleShjdHgtPnRmbSwgY3R4LT5wcm5nX2tleSwgc3RybGVuKGN0eC0+cHJuZ19rZXkpKTsKKwlpZiAocmV0KSB7CisJCWRiZ3ByaW50KEtFUk5fQ1JJVCAiUFJORzogc2V0a2V5KCkgZmFpbGVkIGZsYWdzPSV4XG4iLAorCQkJY3J5cHRvX2Jsa2NpcGhlcl9nZXRfZmxhZ3MoY3R4LT50Zm0pKTsKKwkJY3J5cHRvX2ZyZWVfYmxrY2lwaGVyKGN0eC0+dGZtKTsKKwkJZ290byBvdXQ7CisJfQorCisJaXZfbGVuID0gY3J5cHRvX2Jsa2NpcGhlcl9pdnNpemUoY3R4LT50Zm0pOworCWlmIChpdl9sZW4pIHsKKwkJY3J5cHRvX2Jsa2NpcGhlcl9zZXRfaXYoY3R4LT50Zm0sIGN0eC0+cHJuZ19pdiwgaXZfbGVuKTsKKwl9CisJcmMgPSAwOworCWN0eC0+ZmxhZ3MgJj0gflBSTkdfTkVFRF9SRVNFVDsKK291dDoKKwlzcGluX3VubG9jaygmY3R4LT5wcm5nX2xvY2spOworCisJcmV0dXJuIHJjOworCit9CitFWFBPUlRfU1lNQk9MX0dQTChyZXNldF9wcm5nX2NvbnRleHQpOworCisvKiBNb2R1bGUgaW5pdGFsaXphdGlvbiAqLworc3RhdGljIGludCBfX2luaXQgcHJuZ19tb2RfaW5pdCh2b2lkKQoreworCisjaWZkZWYgVEVTVF9QUk5HX09OX1NUQVJUCisJaW50IGk7CisJdW5zaWduZWQgY2hhciB0bXBidWZbREVGQVVMVF9CTEtfU1pdOworCisJc3RydWN0IHBybmdfY29udGV4dCAqY3R4ID0gYWxsb2NfcHJuZ19jb250ZXh0KCk7CisJaWYgKGN0eCA9PSBOVUxMKQorCQlyZXR1cm4gLUVGQVVMVDsKKwlmb3IgKGk9MDtpPDE2O2krKykgeworCQlpZiAoZ2V0X3BybmdfYnl0ZXModG1wYnVmLCBERUZBVUxUX0JMS19TWiwgY3R4KSA8IDApIHsKKwkJCWZyZWVfcHJuZ19jb250ZXh0KGN0eCk7CisJCQlyZXR1cm4gLUVGQVVMVDsKKwkJfQorCX0KKwlmcmVlX3BybmdfY29udGV4dChjdHgpOworI2VuZGlmCisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHBybmdfbW9kX2Zpbmkodm9pZCkKK3sKKwlyZXR1cm47Cit9CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiU29mdHdhcmUgUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yIik7CitNT0RVTEVfQVVUSE9SKCJOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPiIpOworbW9kdWxlX3BhcmFtKGRiZywgaW50LCAwKTsKK01PRFVMRV9QQVJNX0RFU0MoZGJnLCAiQm9vbGVhbiB0byBlbmFibGUgZGVidWdnaW5nICgwLzEgPT0gb2ZmL29uKSIpOworbW9kdWxlX2luaXQocHJuZ19tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChwcm5nX21vZF9maW5pKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9wcm5nLmggYi9jcnlwdG8vcHJuZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYzliZTUKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcHJuZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBQUk5HOiBQc2V1ZG8gUmFuZG9tIE51bWJlciBHZW5lcmF0b3IKKyAqCisgKiAgKEMpIE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91cgorICogIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqCisgKi8KKworI2lmbmRlZiBfUFJOR19IXworI2RlZmluZSBfUFJOR19IXworc3RydWN0IHBybmdfY29udGV4dDsKKworaW50IGdldF9wcm5nX2J5dGVzKGNoYXIgKmJ1ZiwgaW50IG5ieXRlcywgc3RydWN0IHBybmdfY29udGV4dCAqY3R4KTsKK3N0cnVjdCBwcm5nX2NvbnRleHQgKmFsbG9jX3BybmdfY29udGV4dCh2b2lkKTsKK2ludCByZXNldF9wcm5nX2NvbnRleHQoc3RydWN0IHBybmdfY29udGV4dCAqY3R4LAorCQkJdW5zaWduZWQgY2hhciAqa2V5LCB1bnNpZ25lZCBjaGFyICppdiwKKwkJCXVuc2lnbmVkIGNoYXIgKlYsCisJCQl1bnNpZ25lZCBjaGFyICpEVCk7Cit2b2lkIGZyZWVfcHJuZ19jb250ZXh0KHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCk7CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9jcnlwdG8vcmlwZW1kLmggYi9jcnlwdG8vcmlwZW1kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU3YTJkNAotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9yaXBlbWQuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29tbW9uIHZhbHVlcyBmb3IgUklQRU1EIGFsZ29yaXRobXMKKyAqLworCisjaWZuZGVmIF9DUllQVE9fUk1EX0gKKyNkZWZpbmUgX0NSWVBUT19STURfSAorCisjZGVmaW5lIFJNRDEyOF9ESUdFU1RfU0laRSAgICAgIDE2CisjZGVmaW5lIFJNRDEyOF9CTE9DS19TSVpFICAgICAgIDY0CisKKyNkZWZpbmUgUk1EMTYwX0RJR0VTVF9TSVpFICAgICAgMjAKKyNkZWZpbmUgUk1EMTYwX0JMT0NLX1NJWkUgICAgICAgNjQKKworI2RlZmluZSBSTUQyNTZfRElHRVNUX1NJWkUgICAgICAzMgorI2RlZmluZSBSTUQyNTZfQkxPQ0tfU0laRSAgICAgICA2NAorCisjZGVmaW5lIFJNRDMyMF9ESUdFU1RfU0laRSAgICAgIDQwCisjZGVmaW5lIFJNRDMyMF9CTE9DS19TSVpFICAgICAgIDY0CisKKy8qIGluaXRpYWwgdmFsdWVzICAqLworI2RlZmluZSBSTURfSDAgIDB4Njc0NTIzMDFVTAorI2RlZmluZSBSTURfSDEgIDB4ZWZjZGFiODlVTAorI2RlZmluZSBSTURfSDIgIDB4OThiYWRjZmVVTAorI2RlZmluZSBSTURfSDMgIDB4MTAzMjU0NzZVTAorI2RlZmluZSBSTURfSDQgIDB4YzNkMmUxZjBVTAorI2RlZmluZSBSTURfSDUgIDB4NzY1NDMyMTBVTAorI2RlZmluZSBSTURfSDYgIDB4ZmVkY2JhOThVTAorI2RlZmluZSBSTURfSDcgIDB4ODlhYmNkZWZVTAorI2RlZmluZSBSTURfSDggIDB4MDEyMzQ1NjdVTAorI2RlZmluZSBSTURfSDkgIDB4M2MyZDFlMGZVTAorCisvKiBjb25zdGFudHMgKi8KKyNkZWZpbmUgUk1EX0sxICAweDAwMDAwMDAwVUwKKyNkZWZpbmUgUk1EX0syICAweDVhODI3OTk5VUwKKyNkZWZpbmUgUk1EX0szICAweDZlZDllYmExVUwKKyNkZWZpbmUgUk1EX0s0ICAweDhmMWJiY2RjVUwKKyNkZWZpbmUgUk1EX0s1ICAweGE5NTNmZDRlVUwKKyNkZWZpbmUgUk1EX0s2ICAweDUwYTI4YmU2VUwKKyNkZWZpbmUgUk1EX0s3ICAweDVjNGRkMTI0VUwKKyNkZWZpbmUgUk1EX0s4ICAweDZkNzAzZWYzVUwKKyNkZWZpbmUgUk1EX0s5ICAweDdhNmQ3NmU5VUwKKworI2VuZGlmCmRpZmYgLS1naXQgYS9jcnlwdG8vcm1kMTI4LmMgYi9jcnlwdG8vcm1kMTI4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRlNmZhMgotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9ybWQxMjguYwpAQCAtMCwwICsxLDMyNSBAQAorLyoKKyAqIENyeXB0b2dyYXBoaWMgQVBJLgorICoKKyAqIFJJUEVNRC0xMjggLSBSQUNFIEludGVncml0eSBQcmltaXRpdmVzIEV2YWx1YXRpb24gTWVzc2FnZSBEaWdlc3QuCisgKgorICogQmFzZWQgb24gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBieSBBbnRvb24gQm9zc2VsYWVycywgRVNBVC1DT1NJQworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBBZHJpYW4tS2VuIFJ1ZWVnc2VnZ2VyIDxydWVlZ3NlZ2dlciAoYXQpIHN3aXNzLWl0LmNoPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgorCisjaW5jbHVkZSAicmlwZW1kLmgiCisKK3N0cnVjdCBybWQxMjhfY3R4IHsKKwl1NjQgYnl0ZV9jb3VudDsKKwl1MzIgc3RhdGVbNF07CisJX19sZTMyIGJ1ZmZlclsxNl07Cit9OworCisjZGVmaW5lIEsxICBSTURfSzEKKyNkZWZpbmUgSzIgIFJNRF9LMgorI2RlZmluZSBLMyAgUk1EX0szCisjZGVmaW5lIEs0ICBSTURfSzQKKyNkZWZpbmUgS0sxIFJNRF9LNgorI2RlZmluZSBLSzIgUk1EX0s3CisjZGVmaW5lIEtLMyBSTURfSzgKKyNkZWZpbmUgS0s0IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7CVwKKwkoYSkgPSByb2wzMigoYSksIChzKSk7IFwKK30KKworc3RhdGljIHZvaWQgcm1kMTI4X3RyYW5zZm9ybSh1MzIgKnN0YXRlLCBjb25zdCBfX2xlMzIgKmluKQoreworCXUzMiBhYSwgYmIsIGNjLCBkZCwgYWFhLCBiYmIsIGNjYywgZGRkOworCisJLyogSW5pdGlhbGl6ZSBsZWZ0IGxhbmUgKi8KKwlhYSA9IHN0YXRlWzBdOworCWJiID0gc3RhdGVbMV07CisJY2MgPSBzdGF0ZVsyXTsKKwlkZCA9IHN0YXRlWzNdOworCisJLyogSW5pdGlhbGl6ZSByaWdodCBsYW5lICovCisJYWFhID0gc3RhdGVbMF07CisJYmJiID0gc3RhdGVbMV07CisJY2NjID0gc3RhdGVbMl07CisJZGRkID0gc3RhdGVbM107CisKKwkvKiByb3VuZCAxOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblswXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsyXSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblszXSwgIDEyKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls0XSwgICA1KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls1XSwgICA4KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpbls2XSwgICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpbls3XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls4XSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls5XSwgIDEzKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsxMF0sIDE0KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblsxMV0sIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxMl0sICA2KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxM10sICA3KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsxNF0sICA5KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblsxNV0sICA4KTsKKworCS8qIHJvdW5kIDI6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEwXSwgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzldLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMzogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bM10sICAxMSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bMTRdLCAgNik7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bMl0sICAxNCk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bN10sICAgOCk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bMTNdLCAgNSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bNV0sICAgNyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bMTJdLCAgNSk7CisKKwkvKiByb3VuZCA0OiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls5XSwgIDEyKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpblsxMV0sIDE0KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsxMF0sIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblswXSwgIDE0KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls4XSwgIDE1KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpblsxMl0sICA5KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpbls0XSwgICA4KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxM10sICA5KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblszXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpbls3XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsxNV0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxNF0sICA4KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls1XSwgICA2KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpbls2XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsyXSwgIDEyKTsKKworCS8qIHJvdW5kIDE6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpbls3XSwgICA5KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsyXSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bNF0sICAgNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpblsxM10sICA3KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bMTVdLCAgOCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpbls4XSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMTBdLCAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpblszXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzEyXSwgIDYpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bN10sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjMsIEtLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMywgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bMTVdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bMl0sICAxMSk7CisKKwkvKiByb3VuZCAzOiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpblsxNV0sICA5KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpblszXSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bMTRdLCAgNik7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpbls2XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpbls4XSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzEyXSwgIDUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bMl0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpblsxMF0sIDEzKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpblsxM10sICA1KTsKKworCS8qIHJvdW5kIDQ6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpbls0XSwgICA4KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpblsxMV0sIDE0KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMF0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpbls1XSwgICA2KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bMl0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblsxM10sICA5KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bN10sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpblsxMF0sIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzE0XSwgIDgpOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJZGRkICs9IGNjICsgc3RhdGVbMV07CQkvKiBmaW5hbCByZXN1bHQgZm9yIHN0YXRlWzBdICovCisJc3RhdGVbMV0gPSBzdGF0ZVsyXSArIGRkICsgYWFhOworCXN0YXRlWzJdID0gc3RhdGVbM10gKyBhYSArIGJiYjsKKwlzdGF0ZVszXSA9IHN0YXRlWzBdICsgYmIgKyBjY2M7CisJc3RhdGVbMF0gPSBkZGQ7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIHJtZDEyOF9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IHJtZDEyOF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCisJcmN0eC0+Ynl0ZV9jb3VudCA9IDA7CisKKwlyY3R4LT5zdGF0ZVswXSA9IFJNRF9IMDsKKwlyY3R4LT5zdGF0ZVsxXSA9IFJNRF9IMTsKKwlyY3R4LT5zdGF0ZVsyXSA9IFJNRF9IMjsKKwlyY3R4LT5zdGF0ZVszXSA9IFJNRF9IMzsKKworCW1lbXNldChyY3R4LT5idWZmZXIsIDAsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKK30KKworc3RhdGljIHZvaWQgcm1kMTI4X3VwZGF0ZShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCBjb25zdCB1OCAqZGF0YSwKKwkJCSAgdW5zaWduZWQgaW50IGxlbikKK3sKKwlzdHJ1Y3Qgcm1kMTI4X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJY29uc3QgdTMyIGF2YWlsID0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSAocmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2YpOworCisJcmN0eC0+Ynl0ZV9jb3VudCArPSBsZW47CisKKwkvKiBFbm91Z2ggc3BhY2UgaW4gYnVmZmVyPyBJZiBzbyBjb3B5IGFuZCB3ZSdyZSBkb25lICovCisJaWYgKGF2YWlsID4gbGVuKSB7CisJCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkJICAgICAgIGRhdGEsIGxlbik7CisJCXJldHVybjsKKwl9CisKKwltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJICAgICAgIGRhdGEsIGF2YWlsKTsKKworCXJtZDEyOF90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJZGF0YSArPSBhdmFpbDsKKwlsZW4gLT0gYXZhaWw7CisKKwl3aGlsZSAobGVuID49IHNpemVvZihyY3R4LT5idWZmZXIpKSB7CisJCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKKwkJcm1kMTI4X3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwkJZGF0YSArPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwkJbGVuIC09IHNpemVvZihyY3R4LT5idWZmZXIpOworCX0KKworCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIGxlbik7Cit9CisKKy8qIEFkZCBwYWRkaW5nIGFuZCByZXR1cm4gdGhlIG1lc3NhZ2UgZGlnZXN0LiAqLworc3RhdGljIHZvaWQgcm1kMTI4X2ZpbmFsKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHU4ICpvdXQpCit7CisJc3RydWN0IHJtZDEyOF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXUzMiBpLCBpbmRleCwgcGFkbGVuOworCV9fbGU2NCBiaXRzOworCV9fbGUzMiAqZHN0ID0gKF9fbGUzMiAqKW91dDsKKwlzdGF0aWMgY29uc3QgdTggcGFkZGluZ1s2NF0gPSB7IDB4ODAsIH07CisKKwliaXRzID0gY3B1X3RvX2xlNjQocmN0eC0+Ynl0ZV9jb3VudCA8PCAzKTsKKworCS8qIFBhZCBvdXQgdG8gNTYgbW9kIDY0ICovCisJaW5kZXggPSByY3R4LT5ieXRlX2NvdW50ICYgMHgzZjsKKwlwYWRsZW4gPSAoaW5kZXggPCA1NikgPyAoNTYgLSBpbmRleCkgOiAoKDY0KzU2KSAtIGluZGV4KTsKKwlybWQxMjhfdXBkYXRlKHRmbSwgcGFkZGluZywgcGFkbGVuKTsKKworCS8qIEFwcGVuZCBsZW5ndGggKi8KKwlybWQxMjhfdXBkYXRlKHRmbSwgKGNvbnN0IHU4ICopJmJpdHMsIHNpemVvZihiaXRzKSk7CisKKwkvKiBTdG9yZSBzdGF0ZSBpbiBkaWdlc3QgKi8KKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKQorCQlkc3RbaV0gPSBjcHVfdG9fbGUzMnAoJnJjdHgtPnN0YXRlW2ldKTsKKworCS8qIFdpcGUgY29udGV4dCAqLworCW1lbXNldChyY3R4LCAwLCBzaXplb2YoKnJjdHgpKTsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJID0JInJtZDEyOCIsCisJLmNyYV9kcml2ZXJfbmFtZSA9CSJybWQxMjgiLAorCS5jcmFfZmxhZ3MJID0JQ1JZUFRPX0FMR19UWVBFX0RJR0VTVCwKKwkuY3JhX2Jsb2Nrc2l6ZQkgPQlSTUQxMjhfQkxPQ0tfU0laRSwKKwkuY3JhX2N0eHNpemUJID0Jc2l6ZW9mKHN0cnVjdCBybWQxMjhfY3R4KSwKKwkuY3JhX21vZHVsZQkgPQlUSElTX01PRFVMRSwKKwkuY3JhX2xpc3QJID0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKKwkuY3JhX3UJCSA9CXsgLmRpZ2VzdCA9IHsKKwkuZGlhX2RpZ2VzdHNpemUJID0JUk1EMTI4X0RJR0VTVF9TSVpFLAorCS5kaWFfaW5pdAkgPQlybWQxMjhfaW5pdCwKKwkuZGlhX3VwZGF0ZQkgPQlybWQxMjhfdXBkYXRlLAorCS5kaWFfZmluYWwJID0Jcm1kMTI4X2ZpbmFsIH0gfQorfTsKKworc3RhdGljIGludCBfX2luaXQgcm1kMTI4X21vZF9pbml0KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBybWQxMjhfbW9kX2Zpbmkodm9pZCkKK3sKKwljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK21vZHVsZV9pbml0KHJtZDEyOF9tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChybWQxMjhfbW9kX2ZpbmkpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlJJUEVNRC0xMjggTWVzc2FnZSBEaWdlc3QiKTsKKworTU9EVUxFX0FMSUFTKCJybWQxMjgiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9ybWQxNjAuYyBiL2NyeXB0by9ybWQxNjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDAxZWM3Ci0tLSAvZGV2L251bGwKKysrIGIvY3J5cHRvL3JtZDE2MC5jCkBAIC0wLDAgKzEsMzY5IEBACisvKgorICogQ3J5cHRvZ3JhcGhpYyBBUEkuCisgKgorICogUklQRU1ELTE2MCAtIFJBQ0UgSW50ZWdyaXR5IFByaW1pdGl2ZXMgRXZhbHVhdGlvbiBNZXNzYWdlIERpZ2VzdC4KKyAqCisgKiBCYXNlZCBvbiB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGJ5IEFudG9vbiBCb3NzZWxhZXJzLCBFU0FULUNPU0lDCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEFkcmlhbi1LZW4gUnVlZWdzZWdnZXIgPHJ1ZWVnc2VnZ2VyIChhdCkgc3dpc3MtaXQuY2g+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CisKKyNpbmNsdWRlICJyaXBlbWQuaCIKKworc3RydWN0IHJtZDE2MF9jdHggeworCXU2NCBieXRlX2NvdW50OworCXUzMiBzdGF0ZVs1XTsKKwlfX2xlMzIgYnVmZmVyWzE2XTsKK307CisKKyNkZWZpbmUgSzEgIFJNRF9LMQorI2RlZmluZSBLMiAgUk1EX0syCisjZGVmaW5lIEszICBSTURfSzMKKyNkZWZpbmUgSzQgIFJNRF9LNAorI2RlZmluZSBLNSAgUk1EX0s1CisjZGVmaW5lIEtLMSBSTURfSzYKKyNkZWZpbmUgS0syIFJNRF9LNworI2RlZmluZSBLSzMgUk1EX0s4CisjZGVmaW5lIEtLNCBSTURfSzkKKyNkZWZpbmUgS0s1IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKyNkZWZpbmUgRjUoeCwgeSwgeikgKHggXiAoeSB8IH56KSkKKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBlLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSkgKyAoZSk7IFwKKwkoYykgPSByb2wzMigoYyksIDEwKTsgXAorfQorCitzdGF0aWMgdm9pZCBybWQxNjBfdHJhbnNmb3JtKHUzMiAqc3RhdGUsIGNvbnN0IF9fbGUzMiAqaW4pCit7CisJdTMyIGFhLCBiYiwgY2MsIGRkLCBlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBlZWU7CisKKwkvKiBJbml0aWFsaXplIGxlZnQgbGFuZSAqLworCWFhID0gc3RhdGVbMF07CisJYmIgPSBzdGF0ZVsxXTsKKwljYyA9IHN0YXRlWzJdOworCWRkID0gc3RhdGVbM107CisJZWUgPSBzdGF0ZVs0XTsKKworCS8qIEluaXRpYWxpemUgcmlnaHQgbGFuZSAqLworCWFhYSA9IHN0YXRlWzBdOworCWJiYiA9IHN0YXRlWzFdOworCWNjYyA9IHN0YXRlWzJdOworCWRkZCA9IHN0YXRlWzNdOworCWVlZSA9IHN0YXRlWzRdOworCisJLyogcm91bmQgMTogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxXSwgIDE0KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMSwgSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjEsIEsxLCBpbls0XSwgICA1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls3XSwgICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYxLCBLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMSwgSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpblsxMF0sIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzEyXSwgIDYpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjEsIEsxLCBpblsxM10sICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYxLCBLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzE1XSwgIDgpOworCisJLyogcm91bmQgMjogbGVmdCBsYW5lIiAqLworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls3XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYyLCBLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjIsIEsyLCBpblsxXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYyLCBLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjIsIEsyLCBpblsxNV0sICA3KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYyLCBLMiwgaW5bM10sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjIsIEsyLCBpblswXSwgIDEyKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjIsIEsyLCBpblsyXSwgIDExKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYyLCBLMiwgaW5bMTRdLCAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls4XSwgIDEyKTsKKworCS8qIHJvdW5kIDM6IGxlZnQgbGFuZSIgKi8KKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bM10sICAxMSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMywgSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjMsIEszLCBpblsxNF0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYzLCBLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxNV0sICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYzLCBLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMywgSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjMsIEszLCBpblsyXSwgIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bN10sICAgOCk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjMsIEszLCBpbls2XSwgICA2KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYzLCBLMywgaW5bMTNdLCAgNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMywgSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls1XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTJdLCAgNSk7CisKKwkvKiByb3VuZCA0OiBsZWZ0IGxhbmUiICovCisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjQsIEs0LCBpbls5XSwgIDEyKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY0LCBLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblswXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNCwgSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjQsIEs0LCBpbls0XSwgICA4KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpbls3XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY0LCBLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNCwgSzQsIGluWzE0XSwgIDgpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpbls1XSwgICA2KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzJdLCAgMTIpOworCisJLyogcm91bmQgNTogbGVmdCBsYW5lIiAqLworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpbls0XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY1LCBLNSwgaW5bMF0sICAxNSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNSwgSzUsIGluWzVdLCAgIDUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjUsIEs1LCBpbls5XSwgIDExKTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY1LCBLNSwgaW5bN10sICAgNik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzEyXSwgIDgpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjUsIEs1LCBpblsyXSwgIDEzKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY1LCBLNSwgaW5bMTBdLCAxMik7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNSwgSzUsIGluWzE0XSwgIDUpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjUsIEs1LCBpblsxXSwgIDEyKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bM10sICAxMyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNSwgSzUsIGluWzhdLCAgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjUsIEs1LCBpblsxMV0sIDExKTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY1LCBLNSwgaW5bNl0sICAgOCk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNSwgSzUsIGluWzE1XSwgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpblsxM10sICA2KTsKKworCS8qIHJvdW5kIDE6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY1LCBLSzEsIGluWzE0XSwgIDkpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNSwgS0sxLCBpbls3XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjUsIEtLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY1LCBLSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpblsyXSwgIDE1KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjUsIEtLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY1LCBLSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNSwgS0sxLCBpblsxM10sICA3KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjUsIEtLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzE1XSwgIDgpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNSwgS0sxLCBpbls4XSwgIDExKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjUsIEtLMSwgaW5bMV0sICAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY1LCBLSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNSwgS0sxLCBpblszXSwgIDEyKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bMTJdLCAgNik7CisKKwkvKiByb3VuZCAyOiByaWdodCBsYW5lICovCisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjQsIEtLMiwgaW5bM10sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY0LCBLSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNCwgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bMTNdLCAgOCk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNCwgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjQsIEtLMiwgaW5bMTRdLCAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY0LCBLSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMiwgaW5bMTJdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY0LCBLSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNCwgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjQsIEtLMiwgaW5bMV0sICAxMyk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzJdLCAgMTEpOworCisJLyogcm91bmQgMzogcmlnaHQgbGFuZSAqLworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxNV0sICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjMsIEtLMywgaW5bNV0sICAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYzLCBLSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMywgS0szLCBpblszXSwgIDExKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMywgaW5bN10sICAgOCk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMywgS0szLCBpbls2XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjMsIEtLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYzLCBLSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0szLCBpbls4XSwgIDEzKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTJdLCAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYzLCBLSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMywgS0szLCBpblsxMF0sIDEzKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjMsIEtLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxM10sICA1KTsKKworCS8qIHJvdW5kIDQ6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYyLCBLSzQsIGluWzZdLCAgIDUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMiwgS0s0LCBpbls0XSwgICA4KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpblsxMV0sIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjIsIEtLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYyLCBLSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0s0LCBpbls1XSwgICA2KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjIsIEtLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzJdLCAgMTIpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMiwgS0s0LCBpblsxM10sICA5KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjIsIEtLNCwgaW5bOV0sICAxMik7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0s0LCBpblsxMF0sIDE1KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bMTRdLCAgOCk7CisKKwkvKiByb3VuZCA1OiByaWdodCBsYW5lICovCisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzEyXSwgIDgpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMSwgS0s1LCBpblsxNV0sICA1KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNSwgaW5bMTBdLCAxMik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzUsIGluWzRdLCAgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMSwgS0s1LCBpblsxXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bNV0sICAgNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYxLCBLSzUsIGluWzhdLCAgMTQpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s1LCBpbls3XSwgICA2KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNSwgaW5bNl0sICAgOCk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYxLCBLSzUsIGluWzJdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxM10sICA2KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjEsIEtLNSwgaW5bMTRdLCAgNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzUsIGluWzBdLCAgMTUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s1LCBpblszXSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjEsIEtLNSwgaW5bOV0sICAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzExXSwgMTEpOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJZGRkICs9IGNjICsgc3RhdGVbMV07CQkvKiBmaW5hbCByZXN1bHQgZm9yIHN0YXRlWzBdICovCisJc3RhdGVbMV0gPSBzdGF0ZVsyXSArIGRkICsgZWVlOworCXN0YXRlWzJdID0gc3RhdGVbM10gKyBlZSArIGFhYTsKKwlzdGF0ZVszXSA9IHN0YXRlWzRdICsgYWEgKyBiYmI7CisJc3RhdGVbNF0gPSBzdGF0ZVswXSArIGJiICsgY2NjOworCXN0YXRlWzBdID0gZGRkOworCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBybWQxNjBfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBybWQxNjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKworCXJjdHgtPmJ5dGVfY291bnQgPSAwOworCisJcmN0eC0+c3RhdGVbMF0gPSBSTURfSDA7CisJcmN0eC0+c3RhdGVbMV0gPSBSTURfSDE7CisJcmN0eC0+c3RhdGVbMl0gPSBSTURfSDI7CisJcmN0eC0+c3RhdGVbM10gPSBSTURfSDM7CisJcmN0eC0+c3RhdGVbNF0gPSBSTURfSDQ7CisKKwltZW1zZXQocmN0eC0+YnVmZmVyLCAwLCBzaXplb2YocmN0eC0+YnVmZmVyKSk7Cit9CisKK3N0YXRpYyB2b2lkIHJtZDE2MF91cGRhdGUoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgY29uc3QgdTggKmRhdGEsCisJCQkgIHVuc2lnbmVkIGludCBsZW4pCit7CisJc3RydWN0IHJtZDE2MF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCWNvbnN0IHUzMiBhdmFpbCA9IHNpemVvZihyY3R4LT5idWZmZXIpIC0gKHJjdHgtPmJ5dGVfY291bnQgJiAweDNmKTsKKworCXJjdHgtPmJ5dGVfY291bnQgKz0gbGVuOworCisJLyogRW5vdWdoIHNwYWNlIGluIGJ1ZmZlcj8gSWYgc28gY29weSBhbmQgd2UncmUgZG9uZSAqLworCWlmIChhdmFpbCA+IGxlbikgeworCQltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJCSAgICAgICBkYXRhLCBsZW4pOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCSAgICAgICBkYXRhLCBhdmFpbCk7CisKKwlybWQxNjBfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCWRhdGEgKz0gYXZhaWw7CisJbGVuIC09IGF2YWlsOworCisJd2hpbGUgKGxlbiA+PSBzaXplb2YocmN0eC0+YnVmZmVyKSkgeworCQltZW1jcHkocmN0eC0+YnVmZmVyLCBkYXRhLCBzaXplb2YocmN0eC0+YnVmZmVyKSk7CisJCXJtZDE2MF90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJCWRhdGEgKz0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJCWxlbiAtPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwl9CisKKwltZW1jcHkocmN0eC0+YnVmZmVyLCBkYXRhLCBsZW4pOworfQorCisvKiBBZGQgcGFkZGluZyBhbmQgcmV0dXJuIHRoZSBtZXNzYWdlIGRpZ2VzdC4gKi8KK3N0YXRpYyB2b2lkIHJtZDE2MF9maW5hbChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1OCAqb3V0KQoreworCXN0cnVjdCBybWQxNjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwl1MzIgaSwgaW5kZXgsIHBhZGxlbjsKKwlfX2xlNjQgYml0czsKKwlfX2xlMzIgKmRzdCA9IChfX2xlMzIgKilvdXQ7CisJc3RhdGljIGNvbnN0IHU4IHBhZGRpbmdbNjRdID0geyAweDgwLCB9OworCisJYml0cyA9IGNwdV90b19sZTY0KHJjdHgtPmJ5dGVfY291bnQgPDwgMyk7CisKKwkvKiBQYWQgb3V0IHRvIDU2IG1vZCA2NCAqLworCWluZGV4ID0gcmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2Y7CisJcGFkbGVuID0gKGluZGV4IDwgNTYpID8gKDU2IC0gaW5kZXgpIDogKCg2NCs1NikgLSBpbmRleCk7CisJcm1kMTYwX3VwZGF0ZSh0Zm0sIHBhZGRpbmcsIHBhZGxlbik7CisKKwkvKiBBcHBlbmQgbGVuZ3RoICovCisJcm1kMTYwX3VwZGF0ZSh0Zm0sIChjb25zdCB1OCAqKSZiaXRzLCBzaXplb2YoYml0cykpOworCisJLyogU3RvcmUgc3RhdGUgaW4gZGlnZXN0ICovCisJZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKwkJZHN0W2ldID0gY3B1X3RvX2xlMzJwKCZyY3R4LT5zdGF0ZVtpXSk7CisKKwkvKiBXaXBlIGNvbnRleHQgKi8KKwltZW1zZXQocmN0eCwgMCwgc2l6ZW9mKCpyY3R4KSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBhbGcgPSB7CisJLmNyYV9uYW1lCSA9CSJybWQxNjAiLAorCS5jcmFfZHJpdmVyX25hbWUgPQkicm1kMTYwIiwKKwkuY3JhX2ZsYWdzCSA9CUNSWVBUT19BTEdfVFlQRV9ESUdFU1QsCisJLmNyYV9ibG9ja3NpemUJID0JUk1EMTYwX0JMT0NLX1NJWkUsCisJLmNyYV9jdHhzaXplCSA9CXNpemVvZihzdHJ1Y3Qgcm1kMTYwX2N0eCksCisJLmNyYV9tb2R1bGUJID0JVEhJU19NT0RVTEUsCisJLmNyYV9saXN0CSA9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV91CQkgPQl7IC5kaWdlc3QgPSB7CisJLmRpYV9kaWdlc3RzaXplCSA9CVJNRDE2MF9ESUdFU1RfU0laRSwKKwkuZGlhX2luaXQJID0Jcm1kMTYwX2luaXQsCisJLmRpYV91cGRhdGUJID0Jcm1kMTYwX3VwZGF0ZSwKKwkuZGlhX2ZpbmFsCSA9CXJtZDE2MF9maW5hbCB9IH0KK307CisKK3N0YXRpYyBpbnQgX19pbml0IHJtZDE2MF9tb2RfaW5pdCh2b2lkKQoreworCXJldHVybiBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgcm1kMTYwX21vZF9maW5pKHZvaWQpCit7CisJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCittb2R1bGVfaW5pdChybWQxNjBfbW9kX2luaXQpOworbW9kdWxlX2V4aXQocm1kMTYwX21vZF9maW5pKTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJSSVBFTUQtMTYwIE1lc3NhZ2UgRGlnZXN0Iik7CisKK01PRFVMRV9BTElBUygicm1kMTYwIik7CmRpZmYgLS1naXQgYS9jcnlwdG8vcm1kMjU2LmMgYi9jcnlwdG8vcm1kMjU2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNkZTViNAotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9ybWQyNTYuYwpAQCAtMCwwICsxLDM0NCBAQAorLyoKKyAqIENyeXB0b2dyYXBoaWMgQVBJLgorICoKKyAqIFJJUEVNRC0yNTYgLSBSQUNFIEludGVncml0eSBQcmltaXRpdmVzIEV2YWx1YXRpb24gTWVzc2FnZSBEaWdlc3QuCisgKgorICogQmFzZWQgb24gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBieSBBbnRvb24gQm9zc2VsYWVycywgRVNBVC1DT1NJQworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBBZHJpYW4tS2VuIFJ1ZWVnc2VnZ2VyIDxydWVlZ3NlZ2dlciAoYXQpIHN3aXNzLWl0LmNoPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgorCisjaW5jbHVkZSAicmlwZW1kLmgiCisKK3N0cnVjdCBybWQyNTZfY3R4IHsKKwl1NjQgYnl0ZV9jb3VudDsKKwl1MzIgc3RhdGVbOF07CisJX19sZTMyIGJ1ZmZlclsxNl07Cit9OworCisjZGVmaW5lIEsxICBSTURfSzEKKyNkZWZpbmUgSzIgIFJNRF9LMgorI2RlZmluZSBLMyAgUk1EX0szCisjZGVmaW5lIEs0ICBSTURfSzQKKyNkZWZpbmUgS0sxIFJNRF9LNgorI2RlZmluZSBLSzIgUk1EX0s3CisjZGVmaW5lIEtLMyBSTURfSzgKKyNkZWZpbmUgS0s0IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSk7IFwKK30KKworc3RhdGljIHZvaWQgcm1kMjU2X3RyYW5zZm9ybSh1MzIgKnN0YXRlLCBjb25zdCBfX2xlMzIgKmluKQoreworCXUzMiBhYSwgYmIsIGNjLCBkZCwgYWFhLCBiYmIsIGNjYywgZGRkLCB0bXA7CisKKwkvKiBJbml0aWFsaXplIGxlZnQgbGFuZSAqLworCWFhID0gc3RhdGVbMF07CisJYmIgPSBzdGF0ZVsxXTsKKwljYyA9IHN0YXRlWzJdOworCWRkID0gc3RhdGVbM107CisKKwkvKiBJbml0aWFsaXplIHJpZ2h0IGxhbmUgKi8KKwlhYWEgPSBzdGF0ZVs0XTsKKwliYmIgPSBzdGF0ZVs1XTsKKwljY2MgPSBzdGF0ZVs2XTsKKwlkZGQgPSBzdGF0ZVs3XTsKKworCS8qIHJvdW5kIDE6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzJdLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzhdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzEyXSwgIDYpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzE0XSwgIDkpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzE1XSwgIDgpOworCisJLyogcm91bmQgMTogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsxNF0sICA5KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpbls5XSwgIDEzKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzJdLCAgMTUpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpbls0XSwgICA1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpblsxNV0sICA4KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzhdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bMV0sICAxNCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsxMF0sIDE0KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bMTJdLCAgNik7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJhIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBhYTsgYWEgPSBhYWE7IGFhYSA9IHRtcDsKKworCS8qIHJvdW5kIDI6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEwXSwgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzldLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bN10sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjMsIEtLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMywgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bMTVdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bMl0sICAxMSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJiIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBiYjsgYmIgPSBiYmI7IGJiYiA9IHRtcDsKKworCS8qIHJvdW5kIDM6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzNdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzhdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzEzXSwgIDUpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzEyXSwgIDUpOworCisJLyogcm91bmQgMzogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpbls1XSwgICA3KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bM10sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpbls3XSwgICA4KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpbls5XSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpblsxMl0sICA1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpblswXSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bMTNdLCAgNSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJjIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBjYzsgY2MgPSBjY2M7IGNjYyA9IHRtcDsKKworCS8qIHJvdW5kIDQ6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzExXSwgMTQpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzEzXSwgIDkpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzE0XSwgIDgpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzZdLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzJdLCAgMTIpOworCisJLyogcm91bmQgNDogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpbls2XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpblszXSwgIDE0KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzExXSwgMTQpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblswXSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpblsyXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzEzXSwgIDkpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bOV0sICAxMik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpbls3XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMTRdLCAgOCk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJkIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBkZDsgZGQgPSBkZGQ7IGRkZCA9IHRtcDsKKworCS8qIGNvbWJpbmUgcmVzdWx0cyAqLworCXN0YXRlWzBdICs9IGFhOworCXN0YXRlWzFdICs9IGJiOworCXN0YXRlWzJdICs9IGNjOworCXN0YXRlWzNdICs9IGRkOworCXN0YXRlWzRdICs9IGFhYTsKKwlzdGF0ZVs1XSArPSBiYmI7CisJc3RhdGVbNl0gKz0gY2NjOworCXN0YXRlWzddICs9IGRkZDsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcm1kMjU2X2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3Qgcm1kMjU2X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwlyY3R4LT5ieXRlX2NvdW50ID0gMDsKKworCXJjdHgtPnN0YXRlWzBdID0gUk1EX0gwOworCXJjdHgtPnN0YXRlWzFdID0gUk1EX0gxOworCXJjdHgtPnN0YXRlWzJdID0gUk1EX0gyOworCXJjdHgtPnN0YXRlWzNdID0gUk1EX0gzOworCXJjdHgtPnN0YXRlWzRdID0gUk1EX0g1OworCXJjdHgtPnN0YXRlWzVdID0gUk1EX0g2OworCXJjdHgtPnN0YXRlWzZdID0gUk1EX0g3OworCXJjdHgtPnN0YXRlWzddID0gUk1EX0g4OworCisJbWVtc2V0KHJjdHgtPmJ1ZmZlciwgMCwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworfQorCitzdGF0aWMgdm9pZCBybWQyNTZfdXBkYXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGNvbnN0IHU4ICpkYXRhLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCXN0cnVjdCBybWQyNTZfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCB1MzIgYXZhaWwgPSBzaXplb2YocmN0eC0+YnVmZmVyKSAtIChyY3R4LT5ieXRlX2NvdW50ICYgMHgzZik7CisKKwlyY3R4LT5ieXRlX2NvdW50ICs9IGxlbjsKKworCS8qIEVub3VnaCBzcGFjZSBpbiBidWZmZXI/IElmIHNvIGNvcHkgYW5kIHdlJ3JlIGRvbmUgKi8KKwlpZiAoYXZhaWwgPiBsZW4pIHsKKwkJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCQkgICAgICAgZGF0YSwgbGVuKTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkgICAgICAgZGF0YSwgYXZhaWwpOworCisJcm1kMjU2X3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwlkYXRhICs9IGF2YWlsOworCWxlbiAtPSBhdmFpbDsKKworCXdoaWxlIChsZW4gPj0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpIHsKKwkJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworCQlybWQyNTZfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCQlkYXRhICs9IHNpemVvZihyY3R4LT5idWZmZXIpOworCQlsZW4gLT0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJfQorCisJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgbGVuKTsKK30KKworLyogQWRkIHBhZGRpbmcgYW5kIHJldHVybiB0aGUgbWVzc2FnZSBkaWdlc3QuICovCitzdGF0aWMgdm9pZCBybWQyNTZfZmluYWwoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTggKm91dCkKK3sKKwlzdHJ1Y3Qgcm1kMjU2X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyIGksIGluZGV4LCBwYWRsZW47CisJX19sZTY0IGJpdHM7CisJX19sZTMyICpkc3QgPSAoX19sZTMyICopb3V0OworCXN0YXRpYyBjb25zdCB1OCBwYWRkaW5nWzY0XSA9IHsgMHg4MCwgfTsKKworCWJpdHMgPSBjcHVfdG9fbGU2NChyY3R4LT5ieXRlX2NvdW50IDw8IDMpOworCisJLyogUGFkIG91dCB0byA1NiBtb2QgNjQgKi8KKwlpbmRleCA9IHJjdHgtPmJ5dGVfY291bnQgJiAweDNmOworCXBhZGxlbiA9IChpbmRleCA8IDU2KSA/ICg1NiAtIGluZGV4KSA6ICgoNjQrNTYpIC0gaW5kZXgpOworCXJtZDI1Nl91cGRhdGUodGZtLCBwYWRkaW5nLCBwYWRsZW4pOworCisJLyogQXBwZW5kIGxlbmd0aCAqLworCXJtZDI1Nl91cGRhdGUodGZtLCAoY29uc3QgdTggKikmYml0cywgc2l6ZW9mKGJpdHMpKTsKKworCS8qIFN0b3JlIHN0YXRlIGluIGRpZ2VzdCAqLworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspCisJCWRzdFtpXSA9IGNwdV90b19sZTMycCgmcmN0eC0+c3RhdGVbaV0pOworCisJLyogV2lwZSBjb250ZXh0ICovCisJbWVtc2V0KHJjdHgsIDAsIHNpemVvZigqcmN0eCkpOworfQorCitzdGF0aWMgc3RydWN0IGNyeXB0b19hbGcgYWxnID0geworCS5jcmFfbmFtZQkgPQkicm1kMjU2IiwKKwkuY3JhX2RyaXZlcl9uYW1lID0JInJtZDI1NiIsCisJLmNyYV9mbGFncwkgPQlDUllQVE9fQUxHX1RZUEVfRElHRVNULAorCS5jcmFfYmxvY2tzaXplCSA9CVJNRDI1Nl9CTE9DS19TSVpFLAorCS5jcmFfY3R4c2l6ZQkgPQlzaXplb2Yoc3RydWN0IHJtZDI1Nl9jdHgpLAorCS5jcmFfbW9kdWxlCSA9CVRISVNfTU9EVUxFLAorCS5jcmFfbGlzdAkgPQlMSVNUX0hFQURfSU5JVChhbGcuY3JhX2xpc3QpLAorCS5jcmFfdQkJID0JeyAuZGlnZXN0ID0geworCS5kaWFfZGlnZXN0c2l6ZQkgPQlSTUQyNTZfRElHRVNUX1NJWkUsCisJLmRpYV9pbml0CSA9CXJtZDI1Nl9pbml0LAorCS5kaWFfdXBkYXRlCSA9CXJtZDI1Nl91cGRhdGUsCisJLmRpYV9maW5hbAkgPQlybWQyNTZfZmluYWwgfSB9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBybWQyNTZfbW9kX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gY3J5cHRvX3JlZ2lzdGVyX2FsZygmYWxnKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHJtZDI1Nl9tb2RfZmluaSh2b2lkKQoreworCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmYWxnKTsKK30KKworbW9kdWxlX2luaXQocm1kMjU2X21vZF9pbml0KTsKK21vZHVsZV9leGl0KHJtZDI1Nl9tb2RfZmluaSk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiUklQRU1ELTI1NiBNZXNzYWdlIERpZ2VzdCIpOworCitNT0RVTEVfQUxJQVMoInJtZDI1NiIpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL3JtZDMyMC5jIGIvY3J5cHRvL3JtZDMyMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNDNkNjYKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcm1kMzIwLmMKQEAgLTAsMCArMSwzOTMgQEAKKy8qCisgKiBDcnlwdG9ncmFwaGljIEFQSS4KKyAqCisgKiBSSVBFTUQtMzIwIC0gUkFDRSBJbnRlZ3JpdHkgUHJpbWl0aXZlcyBFdmFsdWF0aW9uIE1lc3NhZ2UgRGlnZXN0LgorICoKKyAqIEJhc2VkIG9uIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYnkgQW50b29uIEJvc3NlbGFlcnMsIEVTQVQtQ09TSUMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggQWRyaWFuLUtlbiBSdWVlZ3NlZ2dlciA8cnVlZWdzZWdnZXIgKGF0KSBzd2lzcy1pdC5jaD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0b2hhc2guaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KKworI2luY2x1ZGUgInJpcGVtZC5oIgorCitzdHJ1Y3Qgcm1kMzIwX2N0eCB7CisJdTY0IGJ5dGVfY291bnQ7CisJdTMyIHN0YXRlWzEwXTsKKwlfX2xlMzIgYnVmZmVyWzE2XTsKK307CisKKyNkZWZpbmUgSzEgIFJNRF9LMQorI2RlZmluZSBLMiAgUk1EX0syCisjZGVmaW5lIEszICBSTURfSzMKKyNkZWZpbmUgSzQgIFJNRF9LNAorI2RlZmluZSBLNSAgUk1EX0s1CisjZGVmaW5lIEtLMSBSTURfSzYKKyNkZWZpbmUgS0syIFJNRF9LNworI2RlZmluZSBLSzMgUk1EX0s4CisjZGVmaW5lIEtLNCBSTURfSzkKKyNkZWZpbmUgS0s1IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKyNkZWZpbmUgRjUoeCwgeSwgeikgKHggXiAoeSB8IH56KSkKKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBlLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSkgKyAoZSk7IFwKKwkoYykgPSByb2wzMigoYyksIDEwKTsgXAorfQorCitzdGF0aWMgdm9pZCBybWQzMjBfdHJhbnNmb3JtKHUzMiAqc3RhdGUsIGNvbnN0IF9fbGUzMiAqaW4pCit7CisJdTMyIGFhLCBiYiwgY2MsIGRkLCBlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIHRtcDsKKworCS8qIEluaXRpYWxpemUgbGVmdCBsYW5lICovCisJYWEgPSBzdGF0ZVswXTsKKwliYiA9IHN0YXRlWzFdOworCWNjID0gc3RhdGVbMl07CisJZGQgPSBzdGF0ZVszXTsKKwllZSA9IHN0YXRlWzRdOworCisJLyogSW5pdGlhbGl6ZSByaWdodCBsYW5lICovCisJYWFhID0gc3RhdGVbNV07CisJYmJiID0gc3RhdGVbNl07CisJY2NjID0gc3RhdGVbN107CisJZGRkID0gc3RhdGVbOF07CisJZWVlID0gc3RhdGVbOV07CisKKwkvKiByb3VuZCAxOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsyXSwgIDE1KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYxLCBLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMSwgSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpbls1XSwgICA4KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjEsIEsxLCBpbls4XSwgIDExKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYxLCBLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxMV0sIDE1KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMTJdLCAgNik7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMSwgSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjEsIEsxLCBpblsxNF0sICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bMTVdLCAgOCk7CisKKwkvKiByb3VuZCAxOiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNSwgS0sxLCBpblsxNF0sICA5KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjUsIEtLMSwgaW5bN10sICAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY1LCBLSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNSwgS0sxLCBpbls5XSwgIDEzKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY1LCBLSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNSwgS0sxLCBpbls0XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjUsIEtLMSwgaW5bMTNdLCAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY1LCBLSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpblsxNV0sICA4KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjUsIEtLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY1LCBLSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNSwgS0sxLCBpblsxMF0sIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjUsIEtLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzEyXSwgIDYpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiYSIgcmVnaXN0ZXJzICovCisJdG1wID0gYWE7IGFhID0gYWFhOyBhYWEgPSB0bXA7CisKKwkvKiByb3VuZCAyOiBsZWZ0IGxhbmUiICovCisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjIsIEsyLCBpbls0XSwgICA2KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYyLCBLMiwgaW5bMTNdLCAgOCk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjIsIEsyLCBpblsxMF0sIDExKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjIsIEsyLCBpblszXSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYyLCBLMiwgaW5bMTJdLCAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls5XSwgIDE1KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYyLCBLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjIsIEsyLCBpblsxNF0sICA3KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYyLCBLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpbls2XSwgICA5KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY0LCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNCwgS0syLCBpbls3XSwgICA3KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjQsIEtLMiwgaW5bMF0sICAxMik7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0syLCBpbls1XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjQsIEtLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY0LCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNCwgS0syLCBpblsxNV0sICA3KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bOF0sICAxMik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNCwgS0syLCBpbls0XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjQsIEtLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY0LCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpblsyXSwgIDExKTsKKworCS8qIFN3YXAgY29udGVudHMgb2YgImIiIHJlZ2lzdGVycyAqLworCXRtcCA9IGJiOyBiYiA9IGJiYjsgYmJiID0gdG1wOworCisJLyogcm91bmQgMzogbGVmdCBsYW5lIiAqLworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblszXSwgIDExKTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYzLCBLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMywgSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjMsIEszLCBpbls0XSwgICA3KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjMsIEszLCBpbls4XSwgIDEzKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYzLCBLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMywgSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls3XSwgICA4KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMywgSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjMsIEszLCBpblsxM10sICA1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYzLCBLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxMl0sICA1KTsKKworCS8qIHJvdW5kIDM6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYzLCBLSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMywgS0szLCBpblsxXSwgIDE1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjMsIEtLMywgaW5bM10sICAxMSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxNF0sICA2KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjMsIEtLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYzLCBLSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMywgS0szLCBpblsxMV0sIDEyKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzEyXSwgIDUpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMywgS0szLCBpblsyXSwgIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjMsIEtLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYzLCBLSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0szLCBpbls0XSwgICA3KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTNdLCAgNSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJjIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBjYzsgY2MgPSBjY2M7IGNjYyA9IHRtcDsKKworCS8qIHJvdW5kIDQ6IGxlZnQgbGFuZSIgKi8KKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNCwgSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjQsIEs0LCBpblsxMV0sIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpbls4XSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY0LCBLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNCwgSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxM10sICA5KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjQsIEs0LCBpblsxNV0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY0LCBLNCwgaW5bMTRdLCAgOCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls2XSwgICA1KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bMl0sICAxMik7CisKKwkvKiByb3VuZCA0OiByaWdodCBsYW5lICovCisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMiwgS0s0LCBpbls2XSwgICA1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjIsIEtLNCwgaW5bNF0sICAgOCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0s0LCBpblszXSwgIDE0KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYyLCBLSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMiwgS0s0LCBpblswXSwgIDE0KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLNCwgaW5bNV0sICAgNik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpblsyXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjIsIEtLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYyLCBLSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0s0LCBpbls3XSwgICA1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjIsIEtLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzE0XSwgIDgpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiZCIgcmVnaXN0ZXJzICovCisJdG1wID0gZGQ7IGRkID0gZGRkOyBkZGQgPSB0bXA7CisKKwkvKiByb3VuZCA1OiBsZWZ0IGxhbmUiICovCisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzRdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjUsIEs1LCBpblswXSwgIDE1KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY1LCBLNSwgaW5bNV0sICAgNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNSwgSzUsIGluWzldLCAgMTEpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjUsIEs1LCBpbls3XSwgICA2KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bMTJdLCAgOCk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNSwgSzUsIGluWzJdLCAgMTMpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjUsIEs1LCBpblsxMF0sIDEyKTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY1LCBLNSwgaW5bMTRdLCAgNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNSwgSzUsIGluWzFdLCAgMTIpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpblszXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY1LCBLNSwgaW5bOF0sICAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNSwgSzUsIGluWzExXSwgMTEpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjUsIEs1LCBpbls2XSwgICA4KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY1LCBLNSwgaW5bMTVdLCAgNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzEzXSwgIDYpOworCisJLyogcm91bmQgNTogcmlnaHQgbGFuZSAqLworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxMl0sICA4KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjEsIEtLNSwgaW5bMTVdLCAgNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzUsIGluWzEwXSwgMTIpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s1LCBpbls0XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjEsIEtLNSwgaW5bMV0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzVdLCAgIDUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMSwgS0s1LCBpbls4XSwgIDE0KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNSwgaW5bN10sICAgNik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzUsIGluWzZdLCAgIDgpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMSwgS0s1LCBpblsyXSwgIDEzKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bMTNdLCAgNik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYxLCBLSzUsIGluWzE0XSwgIDUpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s1LCBpblswXSwgIDE1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNSwgaW5bM10sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYxLCBLSzUsIGluWzldLCAgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxMV0sIDExKTsKKworCS8qIFN3YXAgY29udGVudHMgb2YgImUiIHJlZ2lzdGVycyAqLworCXRtcCA9IGVlOyBlZSA9IGVlZTsgZWVlID0gdG1wOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJc3RhdGVbMF0gKz0gYWE7CisJc3RhdGVbMV0gKz0gYmI7CisJc3RhdGVbMl0gKz0gY2M7CisJc3RhdGVbM10gKz0gZGQ7CisJc3RhdGVbNF0gKz0gZWU7CisJc3RhdGVbNV0gKz0gYWFhOworCXN0YXRlWzZdICs9IGJiYjsKKwlzdGF0ZVs3XSArPSBjY2M7CisJc3RhdGVbOF0gKz0gZGRkOworCXN0YXRlWzldICs9IGVlZTsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcm1kMzIwX2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3Qgcm1kMzIwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwlyY3R4LT5ieXRlX2NvdW50ID0gMDsKKworCXJjdHgtPnN0YXRlWzBdID0gUk1EX0gwOworCXJjdHgtPnN0YXRlWzFdID0gUk1EX0gxOworCXJjdHgtPnN0YXRlWzJdID0gUk1EX0gyOworCXJjdHgtPnN0YXRlWzNdID0gUk1EX0gzOworCXJjdHgtPnN0YXRlWzRdID0gUk1EX0g0OworCXJjdHgtPnN0YXRlWzVdID0gUk1EX0g1OworCXJjdHgtPnN0YXRlWzZdID0gUk1EX0g2OworCXJjdHgtPnN0YXRlWzddID0gUk1EX0g3OworCXJjdHgtPnN0YXRlWzhdID0gUk1EX0g4OworCXJjdHgtPnN0YXRlWzldID0gUk1EX0g5OworCisJbWVtc2V0KHJjdHgtPmJ1ZmZlciwgMCwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworfQorCitzdGF0aWMgdm9pZCBybWQzMjBfdXBkYXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGNvbnN0IHU4ICpkYXRhLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCXN0cnVjdCBybWQzMjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCB1MzIgYXZhaWwgPSBzaXplb2YocmN0eC0+YnVmZmVyKSAtIChyY3R4LT5ieXRlX2NvdW50ICYgMHgzZik7CisKKwlyY3R4LT5ieXRlX2NvdW50ICs9IGxlbjsKKworCS8qIEVub3VnaCBzcGFjZSBpbiBidWZmZXI/IElmIHNvIGNvcHkgYW5kIHdlJ3JlIGRvbmUgKi8KKwlpZiAoYXZhaWwgPiBsZW4pIHsKKwkJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCQkgICAgICAgZGF0YSwgbGVuKTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkgICAgICAgZGF0YSwgYXZhaWwpOworCisJcm1kMzIwX3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwlkYXRhICs9IGF2YWlsOworCWxlbiAtPSBhdmFpbDsKKworCXdoaWxlIChsZW4gPj0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpIHsKKwkJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworCQlybWQzMjBfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCQlkYXRhICs9IHNpemVvZihyY3R4LT5idWZmZXIpOworCQlsZW4gLT0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJfQorCisJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgbGVuKTsKK30KKworLyogQWRkIHBhZGRpbmcgYW5kIHJldHVybiB0aGUgbWVzc2FnZSBkaWdlc3QuICovCitzdGF0aWMgdm9pZCBybWQzMjBfZmluYWwoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTggKm91dCkKK3sKKwlzdHJ1Y3Qgcm1kMzIwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyIGksIGluZGV4LCBwYWRsZW47CisJX19sZTY0IGJpdHM7CisJX19sZTMyICpkc3QgPSAoX19sZTMyICopb3V0OworCXN0YXRpYyBjb25zdCB1OCBwYWRkaW5nWzY0XSA9IHsgMHg4MCwgfTsKKworCWJpdHMgPSBjcHVfdG9fbGU2NChyY3R4LT5ieXRlX2NvdW50IDw8IDMpOworCisJLyogUGFkIG91dCB0byA1NiBtb2QgNjQgKi8KKwlpbmRleCA9IHJjdHgtPmJ5dGVfY291bnQgJiAweDNmOworCXBhZGxlbiA9IChpbmRleCA8IDU2KSA/ICg1NiAtIGluZGV4KSA6ICgoNjQrNTYpIC0gaW5kZXgpOworCXJtZDMyMF91cGRhdGUodGZtLCBwYWRkaW5nLCBwYWRsZW4pOworCisJLyogQXBwZW5kIGxlbmd0aCAqLworCXJtZDMyMF91cGRhdGUodGZtLCAoY29uc3QgdTggKikmYml0cywgc2l6ZW9mKGJpdHMpKTsKKworCS8qIFN0b3JlIHN0YXRlIGluIGRpZ2VzdCAqLworCWZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKQorCQlkc3RbaV0gPSBjcHVfdG9fbGUzMnAoJnJjdHgtPnN0YXRlW2ldKTsKKworCS8qIFdpcGUgY29udGV4dCAqLworCW1lbXNldChyY3R4LCAwLCBzaXplb2YoKnJjdHgpKTsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJID0JInJtZDMyMCIsCisJLmNyYV9kcml2ZXJfbmFtZSA9CSJybWQzMjAiLAorCS5jcmFfZmxhZ3MJID0JQ1JZUFRPX0FMR19UWVBFX0RJR0VTVCwKKwkuY3JhX2Jsb2Nrc2l6ZQkgPQlSTUQzMjBfQkxPQ0tfU0laRSwKKwkuY3JhX2N0eHNpemUJID0Jc2l6ZW9mKHN0cnVjdCBybWQzMjBfY3R4KSwKKwkuY3JhX21vZHVsZQkgPQlUSElTX01PRFVMRSwKKwkuY3JhX2xpc3QJID0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKKwkuY3JhX3UJCSA9CXsgLmRpZ2VzdCA9IHsKKwkuZGlhX2RpZ2VzdHNpemUJID0JUk1EMzIwX0RJR0VTVF9TSVpFLAorCS5kaWFfaW5pdAkgPQlybWQzMjBfaW5pdCwKKwkuZGlhX3VwZGF0ZQkgPQlybWQzMjBfdXBkYXRlLAorCS5kaWFfZmluYWwJID0Jcm1kMzIwX2ZpbmFsIH0gfQorfTsKKworc3RhdGljIGludCBfX2luaXQgcm1kMzIwX21vZF9pbml0KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBybWQzMjBfbW9kX2Zpbmkodm9pZCkKK3sKKwljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK21vZHVsZV9pbml0KHJtZDMyMF9tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChybWQzMjBfbW9kX2ZpbmkpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlJJUEVNRC0zMjAgTWVzc2FnZSBEaWdlc3QiKTsKKworTU9EVUxFX0FMSUFTKCJybWQzMjAiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by90Y3J5cHQuYyBiL2NyeXB0by90Y3J5cHQuYwppbmRleCA2YmVhYmM1Li41OTgyMWEyIDEwMDY0NAotLS0gYS9jcnlwdG8vdGNyeXB0LmMKKysrIGIvY3J5cHRvL3RjcnlwdC5jCkBAIC0xMywxNSArMTMsOSBAQAogICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQogICogYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogMjAwNy0xMS0xMyBBZGRlZCBHQ00gdGVzdHMKLSAqIDIwMDctMTEtMTMgQWRkZWQgQUVBRCBzdXBwb3J0Ci0gKiAyMDA3LTExLTA2IEFkZGVkIFNIQS0yMjQgYW5kIFNIQS0yMjQtSE1BQyB0ZXN0cwotICogMjAwNi0xMi0wNyBBZGRlZCBTSEEzODQgSE1BQyBhbmQgU0hBNTEyIEhNQUMgdGVzdHMKLSAqIDIwMDQtMDgtMDkgQWRkZWQgY2lwaGVyIHNwZWVkIHRlc3RzIChSZXlrIEZsb2V0ZXIgPHJleWtAdmFudHJvbml4Lm5ldD4pCi0gKiAyMDAzLTA5LTE0IFJld3JpdHRlbiBieSBLYXJ0aWtleSBNYWhlbmRyYSBCaGF0dAotICoKICAqLwogCisjaW5jbHVkZSA8Y3J5cHRvL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC0zMCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KLSNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXguaD4KQEAgLTM4LDcgKzMxLDcgQEAKICNpbmNsdWRlICJ0Y3J5cHQuaCIKIAogLyoKLSAqIE5lZWQgdG8ga21hbGxvYygpIG1lbW9yeSBmb3IgdGVzdGluZyBrbWFwKCkuCisgKiBOZWVkIHRvIGttYWxsb2MoKSBtZW1vcnkgZm9yIHRlc3RpbmcuCiAgKi8KICNkZWZpbmUgVFZNRU1TSVpFCTE2Mzg0CiAjZGVmaW5lIFhCVUZTSVpFCTMyNzY4CkBAIC00Niw3ICszOSw3IEBACiAvKgogICogSW5kZXhlcyBpbnRvIHRoZSB4YnVmIHRvIHNpbXVsYXRlIGNyb3NzLXBhZ2UgYWNjZXNzLgogICovCi0jZGVmaW5lIElEWDEJCTM3CisjZGVmaW5lIElEWDEJCTMyCiAjZGVmaW5lIElEWDIJCTMyNDAwCiAjZGVmaW5lIElEWDMJCTEKICNkZWZpbmUgSURYNAkJODE5MwpAQCAtODMsNyArNzYsOCBAQAogCSJibG93ZmlzaCIsICJ0d29maXNoIiwgInNlcnBlbnQiLCAic2hhMzg0IiwgInNoYTUxMiIsICJtZDQiLCAiYWVzIiwKIAkiY2FzdDYiLCAiYXJjNCIsICJtaWNoYWVsX21pYyIsICJkZWZsYXRlIiwgImNyYzMyYyIsICJ0ZWEiLCAieHRlYSIsCiAJImtoYXphZCIsICJ3cDUxMiIsICJ3cDM4NCIsICJ3cDI1NiIsICJ0bmVwcmVzIiwgInhldGEiLCAgImZjcnlwdCIsCi0JImNhbWVsbGlhIiwgInNlZWQiLCAic2Fsc2EyMCIsICJsem8iLCAiY3RzIiwgTlVMTAorCSJjYW1lbGxpYSIsICJzZWVkIiwgInNhbHNhMjAiLCAicm1kMTI4IiwgInJtZDE2MCIsICJybWQyNTYiLCAicm1kMzIwIiwKKwkibHpvIiwgImN0cyIsIE5VTEwKIH07CiAKIHN0YXRpYyB2b2lkIGhleGR1bXAodW5zaWduZWQgY2hhciAqYnVmLCB1bnNpZ25lZCBpbnQgbGVuKQpAQCAtMTEwLDIyICsxMDQsMzAgQEAKIAl1bnNpZ25lZCBpbnQgaSwgaiwgaywgdGVtcDsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3Qgc2dbOF07CiAJY2hhciByZXN1bHRbNjRdOwotCXN0cnVjdCBjcnlwdG9faGFzaCAqdGZtOwotCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm07CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcTsKKwlzdHJ1Y3QgdGNyeXB0X3Jlc3VsdCB0cmVzdWx0OwogCWludCByZXQ7CiAJdm9pZCAqaGFzaF9idWZmOwogCiAJcHJpbnRrKCJcbnRlc3RpbmcgJXNcbiIsIGFsZ28pOwogCi0JdGZtID0gY3J5cHRvX2FsbG9jX2hhc2goYWxnbywgMCwgQ1JZUFRPX0FMR19BU1lOQyk7CisJaW5pdF9jb21wbGV0aW9uKCZ0cmVzdWx0LmNvbXBsZXRpb24pOworCisJdGZtID0gY3J5cHRvX2FsbG9jX2FoYXNoKGFsZ28sIDAsIDApOwogCWlmIChJU19FUlIodGZtKSkgewogCQlwcmludGsoImZhaWxlZCB0byBsb2FkIHRyYW5zZm9ybSBmb3IgJXM6ICVsZFxuIiwgYWxnbywKIAkJICAgICAgIFBUUl9FUlIodGZtKSk7CiAJCXJldHVybjsKIAl9CiAKLQlkZXNjLnRmbSA9IHRmbTsKLQlkZXNjLmZsYWdzID0gMDsKKwlyZXEgPSBhaGFzaF9yZXF1ZXN0X2FsbG9jKHRmbSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFyZXEpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVxdWVzdCBmb3IgJXNcbiIsIGFsZ28pOworCQlnb3RvIG91dF9ub3JlcTsKKwl9CisJYWhhc2hfcmVxdWVzdF9zZXRfY2FsbGJhY2socmVxLCBDUllQVE9fVEZNX1JFUV9NQVlfQkFDS0xPRywKKwkJCQkgICB0Y3J5cHRfY29tcGxldGUsICZ0cmVzdWx0KTsKIAogCWZvciAoaSA9IDA7IGkgPCB0Y291bnQ7IGkrKykgewogCQlwcmludGsoInRlc3QgJXU6XG4iLCBpICsgMSk7CkBAIC0xMzksOCArMTQxLDkgQEAKIAkJc2dfaW5pdF9vbmUoJnNnWzBdLCBoYXNoX2J1ZmYsIHRlbXBsYXRlW2ldLnBzaXplKTsKIAogCQlpZiAodGVtcGxhdGVbaV0ua3NpemUpIHsKLQkJCXJldCA9IGNyeXB0b19oYXNoX3NldGtleSh0Zm0sIHRlbXBsYXRlW2ldLmtleSwKLQkJCQkJCSB0ZW1wbGF0ZVtpXS5rc2l6ZSk7CisJCQljcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3ModGZtLCB+MCk7CisJCQlyZXQgPSBjcnlwdG9fYWhhc2hfc2V0a2V5KHRmbSwgdGVtcGxhdGVbaV0ua2V5LAorCQkJCQkJICB0ZW1wbGF0ZVtpXS5rc2l6ZSk7CiAJCQlpZiAocmV0KSB7CiAJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgcmV0PSVkXG4iLCByZXQpOwogCQkJCWtmcmVlKGhhc2hfYnVmZik7CkBAIC0xNDgsMTcgKzE1MSwzMCBAQAogCQkJfQogCQl9CiAKLQkJcmV0ID0gY3J5cHRvX2hhc2hfZGlnZXN0KCZkZXNjLCBzZywgdGVtcGxhdGVbaV0ucHNpemUsIHJlc3VsdCk7Ci0JCWlmIChyZXQpIHsKKwkJYWhhc2hfcmVxdWVzdF9zZXRfY3J5cHQocmVxLCBzZywgcmVzdWx0LCB0ZW1wbGF0ZVtpXS5wc2l6ZSk7CisJCXJldCA9IGNyeXB0b19haGFzaF9kaWdlc3QocmVxKTsKKwkJc3dpdGNoIChyZXQpIHsKKwkJY2FzZSAwOgorCQkJYnJlYWs7CisJCWNhc2UgLUVJTlBST0dSRVNTOgorCQljYXNlIC1FQlVTWToKKwkJCXJldCA9IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgKKwkJCQkmdHJlc3VsdC5jb21wbGV0aW9uKTsKKwkJCWlmICghcmV0ICYmICEocmV0ID0gdHJlc3VsdC5lcnIpKSB7CisJCQkJSU5JVF9DT01QTEVUSU9OKHRyZXN1bHQuY29tcGxldGlvbik7CisJCQkJYnJlYWs7CisJCQl9CisJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJZGVmYXVsdDoKIAkJCXByaW50aygiZGlnZXN0ICgpIGZhaWxlZCByZXQ9JWRcbiIsIHJldCk7CiAJCQlrZnJlZShoYXNoX2J1ZmYpOwogCQkJZ290byBvdXQ7CiAJCX0KIAotCQloZXhkdW1wKHJlc3VsdCwgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKTsKKwkJaGV4ZHVtcChyZXN1bHQsIGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHRmbSkpOwogCQlwcmludGsoIiVzXG4iLAogCQkgICAgICAgbWVtY21wKHJlc3VsdCwgdGVtcGxhdGVbaV0uZGlnZXN0LAotCQkJICAgICAgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CisJCQkgICAgICBjcnlwdG9fYWhhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CiAJCSAgICAgICAiZmFpbCIgOiAicGFzcyIpOwogCQlrZnJlZShoYXNoX2J1ZmYpOwogCX0KQEAgLTE4Nyw4ICsyMDMsOSBAQAogCQkJfQogCiAJCQlpZiAodGVtcGxhdGVbaV0ua3NpemUpIHsKLQkJCQlyZXQgPSBjcnlwdG9faGFzaF9zZXRrZXkodGZtLCB0ZW1wbGF0ZVtpXS5rZXksCi0JCQkJCQkJIHRlbXBsYXRlW2ldLmtzaXplKTsKKwkJCQljcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3ModGZtLCB+MCk7CisJCQkJcmV0ID0gY3J5cHRvX2FoYXNoX3NldGtleSh0Zm0sIHRlbXBsYXRlW2ldLmtleSwKKwkJCQkJCQkgIHRlbXBsYXRlW2ldLmtzaXplKTsKIAogCQkJCWlmIChyZXQpIHsKIAkJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgcmV0PSVkXG4iLCByZXQpOwpAQCAtMTk2LDI5ICsyMTMsNDQgQEAKIAkJCQl9CiAJCQl9CiAKLQkJCXJldCA9IGNyeXB0b19oYXNoX2RpZ2VzdCgmZGVzYywgc2csIHRlbXBsYXRlW2ldLnBzaXplLAotCQkJCQkJIHJlc3VsdCk7Ci0JCQlpZiAocmV0KSB7CisJCQlhaGFzaF9yZXF1ZXN0X3NldF9jcnlwdChyZXEsIHNnLCByZXN1bHQsCisJCQkJCQl0ZW1wbGF0ZVtpXS5wc2l6ZSk7CisJCQlyZXQgPSBjcnlwdG9fYWhhc2hfZGlnZXN0KHJlcSk7CisJCQlzd2l0Y2ggKHJldCkgeworCQkJY2FzZSAwOgorCQkJCWJyZWFrOworCQkJY2FzZSAtRUlOUFJPR1JFU1M6CisJCQljYXNlIC1FQlVTWToKKwkJCQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2ludGVycnVwdGlibGUoCisJCQkJCSZ0cmVzdWx0LmNvbXBsZXRpb24pOworCQkJCWlmICghcmV0ICYmICEocmV0ID0gdHJlc3VsdC5lcnIpKSB7CisJCQkJCUlOSVRfQ09NUExFVElPTih0cmVzdWx0LmNvbXBsZXRpb24pOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQlkZWZhdWx0OgogCQkJCXByaW50aygiZGlnZXN0ICgpIGZhaWxlZCByZXQ9JWRcbiIsIHJldCk7CiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKLQkJCWhleGR1bXAocmVzdWx0LCBjcnlwdG9faGFzaF9kaWdlc3RzaXplKHRmbSkpOworCQkJaGV4ZHVtcChyZXN1bHQsIGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHRmbSkpOwogCQkJcHJpbnRrKCIlc1xuIiwKIAkJCSAgICAgICBtZW1jbXAocmVzdWx0LCB0ZW1wbGF0ZVtpXS5kaWdlc3QsCi0JCQkJICAgICAgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CisJCQkJICAgICAgY3J5cHRvX2FoYXNoX2RpZ2VzdHNpemUodGZtKSkgPwogCQkJICAgICAgICJmYWlsIiA6ICJwYXNzIik7CiAJCX0KIAl9CiAKIG91dDoKLQljcnlwdG9fZnJlZV9oYXNoKHRmbSk7CisJYWhhc2hfcmVxdWVzdF9mcmVlKHJlcSk7CitvdXRfbm9yZXE6CisJY3J5cHRvX2ZyZWVfYWhhc2godGZtKTsKIH0KIAogc3RhdGljIHZvaWQgdGVzdF9hZWFkKGNoYXIgKmFsZ28sIGludCBlbmMsIHN0cnVjdCBhZWFkX3Rlc3R2ZWMgKnRlbXBsYXRlLAogCQkgICAgICB1bnNpZ25lZCBpbnQgdGNvdW50KQogewotCXVuc2lnbmVkIGludCByZXQsIGksIGosIGssIHRlbXA7CisJdW5zaWduZWQgaW50IHJldCwgaSwgaiwgaywgbiwgdGVtcDsKIAljaGFyICpxOwogCXN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtOwogCWNoYXIgKmtleTsKQEAgLTM0NCwxMyArMzc2LDEyIEBACiAJCQkJZ290byBuZXh0X29uZTsKIAkJCX0KIAotCQkJcSA9IGttYXAoc2dfcGFnZSgmc2dbMF0pKSArIHNnWzBdLm9mZnNldDsKKwkJCXEgPSBpbnB1dDsKIAkJCWhleGR1bXAocSwgdGVtcGxhdGVbaV0ucmxlbik7CiAKIAkJCXByaW50ayhLRVJOX0lORk8gImVuYy9kZWM6ICVzXG4iLAogCQkJICAgICAgIG1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQsCiAJCQkJICAgICAgdGVtcGxhdGVbaV0ucmxlbikgPyAiZmFpbCIgOiAicGFzcyIpOwotCQkJa3VubWFwKHNnX3BhZ2UoJnNnWzBdKSk7CiBuZXh0X29uZToKIAkJCWlmICghdGVtcGxhdGVbaV0ua2V5KQogCQkJCWtmcmVlKGtleSk7CkBAIC0zNjAsNyArMzkxLDYgQEAKIAl9CiAKIAlwcmludGsoS0VSTl9JTkZPICJcbnRlc3RpbmcgJXMgJXMgYWNyb3NzIHBhZ2VzIChjaHVua2luZylcbiIsIGFsZ28sIGUpOwotCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJbWVtc2V0KGF4YnVmLCAwLCBYQlVGU0laRSk7CiAKIAlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IHRjb3VudDsgaSsrKSB7CkBAIC0zODgsNiArNDE4LDcgQEAKIAkJCQkJZ290byBvdXQ7CiAJCQl9CiAKKwkJCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJCQlzZ19pbml0X3RhYmxlKHNnLCB0ZW1wbGF0ZVtpXS5ucCk7CiAJCQlmb3IgKGsgPSAwLCB0ZW1wID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQltZW1jcHkoJnhidWZbSURYW2tdXSwKQEAgLTQ1MCw3ICs0ODEsNyBAQAogCiAJCQlmb3IgKGsgPSAwLCB0ZW1wID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQlwcmludGsoS0VSTl9JTkZPICJwYWdlICV1XG4iLCBrKTsKLQkJCQlxID0ga21hcChzZ19wYWdlKCZzZ1trXSkpICsgc2dba10ub2Zmc2V0OworCQkJCXEgPSAmYXhidWZbSURYW2tdXTsKIAkJCQloZXhkdW1wKHEsIHRlbXBsYXRlW2ldLnRhcFtrXSk7CiAJCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXNcbiIsCiAJCQkJICAgICAgIG1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQgKyB0ZW1wLApAQCAtNDU5LDggKzQ5MCwxNSBAQAogCQkJCQkgICAgICAgMCA6IGF1dGhzaXplKSkgPwogCQkJCSAgICAgICAiZmFpbCIgOiAicGFzcyIpOwogCisJCQkJZm9yIChuID0gMDsgcVt0ZW1wbGF0ZVtpXS50YXBba10gKyBuXTsgbisrKQorCQkJCQk7CisJCQkJaWYgKG4pIHsKKwkJCQkJcHJpbnRrKCJSZXN1bHQgYnVmZmVyIGNvcnJ1cHRpb24gJXUgIgorCQkJCQkgICAgICAgImJ5dGVzOlxuIiwgbik7CisJCQkJCWhleGR1bXAoJnFbdGVtcGxhdGVbaV0udGFwW2tdXSwgbik7CisJCQkJfQorCiAJCQkJdGVtcCArPSB0ZW1wbGF0ZVtpXS50YXBba107Ci0JCQkJa3VubWFwKHNnX3BhZ2UoJnNnW2tdKSk7CiAJCQl9CiAJCX0KIAl9CkBAIC00NzMsNyArNTExLDcgQEAKIHN0YXRpYyB2b2lkIHRlc3RfY2lwaGVyKGNoYXIgKmFsZ28sIGludCBlbmMsCiAJCQlzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgKnRlbXBsYXRlLCB1bnNpZ25lZCBpbnQgdGNvdW50KQogewotCXVuc2lnbmVkIGludCByZXQsIGksIGosIGssIHRlbXA7CisJdW5zaWduZWQgaW50IHJldCwgaSwgaiwgaywgbiwgdGVtcDsKIAljaGFyICpxOwogCXN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtOwogCXN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcTsKQEAgLTU2OSwyOSArNjA3LDIxIEBACiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKLQkJCXEgPSBrbWFwKHNnX3BhZ2UoJnNnWzBdKSkgKyBzZ1swXS5vZmZzZXQ7CisJCQlxID0gZGF0YTsKIAkJCWhleGR1bXAocSwgdGVtcGxhdGVbaV0ucmxlbik7CiAKIAkJCXByaW50aygiJXNcbiIsCiAJCQkgICAgICAgbWVtY21wKHEsIHRlbXBsYXRlW2ldLnJlc3VsdCwKIAkJCQkgICAgICB0ZW1wbGF0ZVtpXS5ybGVuKSA/ICJmYWlsIiA6ICJwYXNzIik7Ci0JCQlrdW5tYXAoc2dfcGFnZSgmc2dbMF0pKTsKIAkJfQogCQlrZnJlZShkYXRhKTsKIAl9CiAKIAlwcmludGsoIlxudGVzdGluZyAlcyAlcyBhY3Jvc3MgcGFnZXMgKGNodW5raW5nKVxuIiwgYWxnbywgZSk7Ci0JbWVtc2V0KHhidWYsIDAsIFhCVUZTSVpFKTsKIAogCWogPSAwOwogCWZvciAoaSA9IDA7IGkgPCB0Y291bnQ7IGkrKykgewogCi0JCWRhdGEgPSBremFsbG9jKHRlbXBsYXRlW2ldLmlsZW4sIEdGUF9LRVJORUwpOwotCQlpZiAoIWRhdGEpCi0JCQljb250aW51ZTsKLQotCQltZW1jcHkoZGF0YSwgdGVtcGxhdGVbaV0uaW5wdXQsIHRlbXBsYXRlW2ldLmlsZW4pOwotCiAJCWlmICh0ZW1wbGF0ZVtpXS5pdikKIAkJCW1lbWNweShpdiwgdGVtcGxhdGVbaV0uaXYsIE1BWF9JVkxFTik7CiAJCWVsc2UKQEAgLTYwMiw2ICs2MzIsNyBAQAogCQkJcHJpbnRrKCJ0ZXN0ICV1ICglZCBiaXQga2V5KTpcbiIsCiAJCQlqLCB0ZW1wbGF0ZVtpXS5rbGVuICogOCk7CiAKKwkJCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJCQljcnlwdG9fYWJsa2NpcGhlcl9jbGVhcl9mbGFncyh0Zm0sIH4wKTsKIAkJCWlmICh0ZW1wbGF0ZVtpXS53aykKIAkJCQljcnlwdG9fYWJsa2NpcGhlcl9zZXRfZmxhZ3MoCkBAIC02MTMsMTAgKzY0NCw4IEBACiAJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgZmxhZ3M9JXhcbiIsCiAJCQkJCQljcnlwdG9fYWJsa2NpcGhlcl9nZXRfZmxhZ3ModGZtKSk7CiAKLQkJCQlpZiAoIXRlbXBsYXRlW2ldLmZhaWwpIHsKLQkJCQkJa2ZyZWUoZGF0YSk7CisJCQkJaWYgKCF0ZW1wbGF0ZVtpXS5mYWlsKQogCQkJCQlnb3RvIG91dDsKLQkJCQl9CiAJCQl9CiAKIAkJCXRlbXAgPSAwOwpAQCAtNjU3LDE0ICs2ODYsMjEgQEAKIAkJCXRlbXAgPSAwOwogCQkJZm9yIChrID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQlwcmludGsoInBhZ2UgJXVcbiIsIGspOwotCQkJCXEgPSBrbWFwKHNnX3BhZ2UoJnNnW2tdKSkgKyBzZ1trXS5vZmZzZXQ7CisJCQkJcSA9ICZ4YnVmW0lEWFtrXV07CiAJCQkJaGV4ZHVtcChxLCB0ZW1wbGF0ZVtpXS50YXBba10pOwogCQkJCXByaW50aygiJXNcbiIsCiAJCQkJCW1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQgKyB0ZW1wLAogCQkJCQkJdGVtcGxhdGVbaV0udGFwW2tdKSA/ICJmYWlsIiA6CiAJCQkJCSJwYXNzIik7CisKKwkJCQlmb3IgKG4gPSAwOyBxW3RlbXBsYXRlW2ldLnRhcFtrXSArIG5dOyBuKyspCisJCQkJCTsKKwkJCQlpZiAobikgeworCQkJCQlwcmludGsoIlJlc3VsdCBidWZmZXIgY29ycnVwdGlvbiAldSAiCisJCQkJCSAgICAgICAiYnl0ZXM6XG4iLCBuKTsKKwkJCQkJaGV4ZHVtcCgmcVt0ZW1wbGF0ZVtpXS50YXBba11dLCBuKTsKKwkJCQl9CiAJCQkJdGVtcCArPSB0ZW1wbGF0ZVtpXS50YXBba107Ci0JCQkJa3VubWFwKHNnX3BhZ2UoJnNnW2tdKSk7CiAJCQl9CiAJCX0KIAl9CkBAIC0xMTgwLDYgKzEyMTYsMTQgQEAKIAkJdGVzdF9jaXBoZXIoImVjYihkZXMzX2VkZSkiLCBERUNSWVBULCBkZXMzX2VkZV9kZWNfdHZfdGVtcGxhdGUsCiAJCQkgICAgREVTM19FREVfREVDX1RFU1RfVkVDVE9SUyk7CiAKKwkJdGVzdF9jaXBoZXIoImNiYyhkZXMzX2VkZSkiLCBFTkNSWVBULAorCQkJICAgIGRlczNfZWRlX2NiY19lbmNfdHZfdGVtcGxhdGUsCisJCQkgICAgREVTM19FREVfQ0JDX0VOQ19URVNUX1ZFQ1RPUlMpOworCisJCXRlc3RfY2lwaGVyKCJjYmMoZGVzM19lZGUpIiwgREVDUllQVCwKKwkJCSAgICBkZXMzX2VkZV9jYmNfZGVjX3R2X3RlbXBsYXRlLAorCQkJICAgIERFUzNfRURFX0NCQ19ERUNfVEVTVF9WRUNUT1JTKTsKKwogCQl0ZXN0X2hhc2goIm1kNCIsIG1kNF90dl90ZW1wbGF0ZSwgTUQ0X1RFU1RfVkVDVE9SUyk7CiAKIAkJdGVzdF9oYXNoKCJzaGEyMjQiLCBzaGEyMjRfdHZfdGVtcGxhdGUsIFNIQTIyNF9URVNUX1ZFQ1RPUlMpOwpAQCAtMTM5MCw2ICsxNDM0LDE0IEBACiAJCQkgICAgREVTM19FREVfRU5DX1RFU1RfVkVDVE9SUyk7CiAJCXRlc3RfY2lwaGVyKCJlY2IoZGVzM19lZGUpIiwgREVDUllQVCwgZGVzM19lZGVfZGVjX3R2X3RlbXBsYXRlLAogCQkJICAgIERFUzNfRURFX0RFQ19URVNUX1ZFQ1RPUlMpOworCisJCXRlc3RfY2lwaGVyKCJjYmMoZGVzM19lZGUpIiwgRU5DUllQVCwKKwkJCSAgICBkZXMzX2VkZV9jYmNfZW5jX3R2X3RlbXBsYXRlLAorCQkJICAgIERFUzNfRURFX0NCQ19FTkNfVEVTVF9WRUNUT1JTKTsKKworCQl0ZXN0X2NpcGhlcigiY2JjKGRlczNfZWRlKSIsIERFQ1JZUFQsCisJCQkgICAgZGVzM19lZGVfY2JjX2RlY190dl90ZW1wbGF0ZSwKKwkJCSAgICBERVMzX0VERV9DQkNfREVDX1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwogCiAJY2FzZSA1OgpAQCAtMTU1OCw3ICsxNjEwLDcgQEAKIAljYXNlIDI5OgogCQl0ZXN0X2hhc2goInRncjEyOCIsIHRncjEyOF90dl90ZW1wbGF0ZSwgVEdSMTI4X1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwotCQkKKwogCWNhc2UgMzA6CiAJCXRlc3RfY2lwaGVyKCJlY2IoeGV0YSkiLCBFTkNSWVBULCB4ZXRhX2VuY190dl90ZW1wbGF0ZSwKIAkJCSAgICBYRVRBX0VOQ19URVNUX1ZFQ1RPUlMpOwpAQCAtMTYyMyw2ICsxNjc1LDIyIEBACiAJCQkgICAgQ1RTX01PREVfREVDX1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwogCisgICAgICAgIGNhc2UgMzk6CisJCXRlc3RfaGFzaCgicm1kMTI4Iiwgcm1kMTI4X3R2X3RlbXBsYXRlLCBSTUQxMjhfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKyAgICAgICAgY2FzZSA0MDoKKwkJdGVzdF9oYXNoKCJybWQxNjAiLCBybWQxNjBfdHZfdGVtcGxhdGUsIFJNRDE2MF9URVNUX1ZFQ1RPUlMpOworCQlicmVhazsKKworCWNhc2UgNDE6CisJCXRlc3RfaGFzaCgicm1kMjU2Iiwgcm1kMjU2X3R2X3RlbXBsYXRlLCBSTUQyNTZfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKwljYXNlIDQyOgorCQl0ZXN0X2hhc2goInJtZDMyMCIsIHJtZDMyMF90dl90ZW1wbGF0ZSwgUk1EMzIwX1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCiAJY2FzZSAxMDA6CiAJCXRlc3RfaGFzaCgiaG1hYyhtZDUpIiwgaG1hY19tZDVfdHZfdGVtcGxhdGUsCiAJCQkgIEhNQUNfTUQ1X1RFU1RfVkVDVE9SUyk7CkBAIC0xNjU4LDYgKzE3MjYsMTYgQEAKIAkJCSAgWENCQ19BRVNfVEVTVF9WRUNUT1JTKTsKIAkJYnJlYWs7CiAKKwljYXNlIDEwNzoKKwkJdGVzdF9oYXNoKCJobWFjKHJtZDEyOCkiLCBobWFjX3JtZDEyOF90dl90ZW1wbGF0ZSwKKwkJCSAgSE1BQ19STUQxMjhfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKwljYXNlIDEwODoKKwkJdGVzdF9oYXNoKCJobWFjKHJtZDE2MCkiLCBobWFjX3JtZDE2MF90dl90ZW1wbGF0ZSwKKwkJCSAgSE1BQ19STUQxNjBfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKIAljYXNlIDIwMDoKIAkJdGVzdF9jaXBoZXJfc3BlZWQoImVjYihhZXMpIiwgRU5DUllQVCwgc2VjLCBOVUxMLCAwLAogCQkJCXNwZWVkX3RlbXBsYXRlXzE2XzI0XzMyKTsKQEAgLTE3OTYsNiArMTg3NCwyMiBAQAogCQl0ZXN0X2hhc2hfc3BlZWQoInNoYTIyNCIsIHNlYywgZ2VuZXJpY19oYXNoX3NwZWVkX3RlbXBsYXRlKTsKIAkJaWYgKG1vZGUgPiAzMDAgJiYgbW9kZSA8IDQwMCkgYnJlYWs7CiAKKwljYXNlIDMxNDoKKwkJdGVzdF9oYXNoX3NwZWVkKCJybWQxMjgiLCBzZWMsIGdlbmVyaWNfaGFzaF9zcGVlZF90ZW1wbGF0ZSk7CisJCWlmIChtb2RlID4gMzAwICYmIG1vZGUgPCA0MDApIGJyZWFrOworCisJY2FzZSAzMTU6CisJCXRlc3RfaGFzaF9zcGVlZCgicm1kMTYwIiwgc2VjLCBnZW5lcmljX2hhc2hfc3BlZWRfdGVtcGxhdGUpOworCQlpZiAobW9kZSA+IDMwMCAmJiBtb2RlIDwgNDAwKSBicmVhazsKKworCWNhc2UgMzE2OgorCQl0ZXN0X2hhc2hfc3BlZWQoInJtZDI1NiIsIHNlYywgZ2VuZXJpY19oYXNoX3NwZWVkX3RlbXBsYXRlKTsKKwkJaWYgKG1vZGUgPiAzMDAgJiYgbW9kZSA8IDQwMCkgYnJlYWs7CisKKwljYXNlIDMxNzoKKwkJdGVzdF9oYXNoX3NwZWVkKCJybWQzMjAiLCBzZWMsIGdlbmVyaWNfaGFzaF9zcGVlZF90ZW1wbGF0ZSk7CisJCWlmIChtb2RlID4gMzAwICYmIG1vZGUgPCA0MDApIGJyZWFrOworCiAJY2FzZSAzOTk6CiAJCWJyZWFrOwogCmRpZmYgLS1naXQgYS9jcnlwdG8vdGNyeXB0LmggYi9jcnlwdG8vdGNyeXB0LmgKaW5kZXggNDdiYzBlYy4uODAxZTBjMiAxMDA2NDQKLS0tIGEvY3J5cHRvL3RjcnlwdC5oCisrKyBiL2NyeXB0by90Y3J5cHQuaApAQCAtMTMsMTIgKzEzLDYgQEAKICAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKICAqIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIDIwMDctMTEtMTMgQWRkZWQgR0NNIHRlc3RzCi0gKiAyMDA3LTExLTEzIEFkZGVkIEFFQUQgc3VwcG9ydAotICogMjAwNi0xMi0wNyBBZGRlZCBTSEEzODQgSE1BQyBhbmQgU0hBNTEyIEhNQUMgdGVzdHMKLSAqIDIwMDQtMDgtMDkgQ2lwaGVyIHNwZWVkIHRlc3RzIGJ5IFJleWsgRmxvZXRlciA8cmV5a0B2YW50cm9uaXgubmV0PgotICogMjAwMy0wOS0xNCBDaGFuZ2VzIGJ5IEthcnRpa2V5IE1haGVuZHJhIEJoYXR0Ci0gKgogICovCiAjaWZuZGVmIF9DUllQVE9fVENSWVBUX0gKICNkZWZpbmUgX0NSWVBUT19UQ1JZUFRfSApAQCAtMTY4LDYgKzE2MiwyNzEgQEAKIAkJLmRpZ2VzdAk9ICJceDU3XHhlZFx4ZjRceGEyXHgyYlx4ZTNceGM5XHg1NSIKIAkJCSAgIlx4YWNceDQ5XHhkYVx4MmVceDIxXHgwN1x4YjZceDdhIiwKIAl9CisKK307CisKKy8qCisgKiBSSVBFTUQtMTI4IHRlc3QgdmVjdG9ycyBmcm9tIElTTy9JRUMgMTAxMTgtMzoyMDA0KEUpCisgKi8KKyNkZWZpbmUgUk1EMTI4X1RFU1RfVkVDVE9SUyAgICAgMTAKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgcm1kMTI4X3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkuZGlnZXN0CT0gIlx4Y2RceGYyXHg2Mlx4MTNceGExXHg1MFx4ZGNceDNlIgorCQkJICAiXHhjYlx4NjFceDBmXHgxOFx4ZjZceGIzXHg4Ylx4NDYiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhIiwKKwkJLnBzaXplCT0gMSwKKwkJLmRpZ2VzdAk9ICJceDg2XHhiZVx4N2FceGZhXHgzM1x4OWRceDBmXHhjNyIKKwkJCSAgIlx4Y2ZceGM3XHg4NVx4ZTdceDJmXHg1N1x4OGRceDMzIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceGMxXHg0YVx4MTJceDE5XHg5Y1x4NjZceGU0XHhiYSIKKwkJCSAgIlx4ODRceDYzXHg2Ylx4MGZceDY5XHgxNFx4NGNceDc3IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAibWVzc2FnZSBkaWdlc3QiLAorCQkucHNpemUJPSAxNCwKKwkJLmRpZ2VzdAk9ICJceDllXHgzMlx4N2JceDNkXHg2ZVx4NTJceDMwXHg2MiIKKwkJCSAgIlx4YWZceGMxXHgxM1x4MmRceDdkXHhmOVx4ZDFceGI4IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLAorCQkucHNpemUJPSAyNiwKKwkJLmRpZ2VzdAk9ICJceGZkXHgyYVx4YTZceDA3XHhmN1x4MWRceGM4XHhmNSIKKwkJCSAgIlx4MTBceDcxXHg0OVx4MjJceGIzXHg3MVx4ODNceDRlIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceGQxXHhlOVx4NTlceGViXHgxN1x4OWNceDkxXHgxZiIKKwkJCSAgIlx4YWVceGE0XHg2Mlx4NGNceDYwXHhjNVx4YzdceDAyIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIKKwkJCSAgICAgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLAorCQkucHNpemUJPSA4MCwKKwkJLmRpZ2VzdAk9ICJceDNmXHg0NVx4ZWZceDE5XHg0N1x4MzJceGMyXHhkYiIKKwkJCSAgIlx4YjJceGM0XHhhMlx4YzdceDY5XHg3OVx4NWZceGEzIiwKKyAgICAgICAgfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWoiCisJCQkgICAgICJoaWpraWprbGprbG1rbG1ubG1ub21ub3Bub3BxIiwKKwkJLnBzaXplCT0gNTYsCisJCS5kaWdlc3QJPSAiXHhhMVx4YWFceDA2XHg4OVx4ZDBceGZhXHhmYVx4MmQiCisJCQkgICJceGRjXHgyMlx4ZThceDhiXHg0OVx4MTNceDNhXHgwNiIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkZWZnaGJjZGVmZ2hpY2RlZmdoaWpkZWZnaGlqa2VmZ2hpamtsZmdoaSIKKwkJCSAgICAgImprbG1naGlqa2xtbmhpamtsbW5vaWprbG1ub3Bqa2xtbm9wcWtsbW5vcHFyIgorCQkJICAgICAibG1ub3BxcnNtbm9wcXJzdG5vcHFyc3R1IiwKKwkJLnBzaXplCT0gMTEyLAorCQkuZGlnZXN0CT0gIlx4ZDRceGVjXHhjOVx4MTNceGUxXHhkZlx4NzdceDZiIgorCQkJICAiXHhmNFx4OGRceGU5XHhkNVx4NWJceDFmXHgyNVx4NDYiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqaGlqayIsCisJCS5wc2l6ZQk9IDMyLAorCQkuZGlnZXN0CT0gIlx4MTNceGZjXHgxM1x4ZThceGVmXHhmZlx4MzRceDdkIgorCQkJICAiXHhlMVx4OTNceGZmXHg0Nlx4ZGJceGFjXHhjZlx4ZDQiLAorCX0KK307CisKKy8qCisgKiBSSVBFTUQtMTYwIHRlc3QgdmVjdG9ycyBmcm9tIElTTy9JRUMgMTAxMTgtMzoyMDA0KEUpCisgKi8KKyNkZWZpbmUgUk1EMTYwX1RFU1RfVkVDVE9SUyAgICAgMTAKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgcm1kMTYwX3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkuZGlnZXN0CT0gIlx4OWNceDExXHg4NVx4YTVceGM1XHhlOVx4ZmNceDU0XHg2MVx4MjgiCisJCQkgICJceDA4XHg5N1x4N2VceGU4XHhmNVx4NDhceGIyXHgyNVx4OGRceDMxIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYSIsCisJCS5wc2l6ZQk9IDEsCisJCS5kaWdlc3QJPSAiXHgwYlx4ZGNceDlkXHgyZFx4MjVceDZiXHgzZVx4ZTlceGRhXHhhZSIKKwkJCSAgIlx4MzRceDdiXHhlNlx4ZjRceGRjXHg4M1x4NWFceDQ2XHg3Zlx4ZmUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmMiLAorCQkucHNpemUJPSAzLAorCQkuZGlnZXN0CT0gIlx4OGVceGIyXHgwOFx4ZjdceGUwXHg1ZFx4OThceDdhXHg5Ylx4MDQiCisJCQkgICJceDRhXHg4ZVx4OThceGM2XHhiMFx4ODdceGYxXHg1YVx4MGJceGZjIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAibWVzc2FnZSBkaWdlc3QiLAorCQkucHNpemUJPSAxNCwKKwkJLmRpZ2VzdAk9ICJceDVkXHgwNlx4ODlceGVmXHg0OVx4ZDJceGZhXHhlNVx4NzJceGI4IgorCQkJICAiXHg4MVx4YjFceDIzXHhhOFx4NWZceGZhXHgyMVx4NTlceDVmXHgzNiIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IiwKKwkJLnBzaXplCT0gMjYsCisJCS5kaWdlc3QJPSAiXHhmN1x4MWNceDI3XHgxMFx4OWNceDY5XHgyY1x4MWJceDU2XHhiYiIKKwkJCSAgIlx4ZGNceGViXHg1Ylx4OWRceDI4XHg2NVx4YjNceDcwXHg4ZFx4YmMiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlIgorCQkJICAgICAiZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIsCisJCS5wc2l6ZQk9IDYyLAorCQkuZGlnZXN0CT0gIlx4YjBceGUyXHgwYlx4NmVceDMxXHgxNlx4NjRceDAyXHg4Nlx4ZWQiCisJCQkgICJceDNhXHg4N1x4YTVceDcxXHgzMFx4NzlceGIyXHgxZlx4NTFceDg5IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIKKwkJCSAgICAgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLAorCQkucHNpemUJPSA4MCwKKwkJLmRpZ2VzdAk9ICJceDliXHg3NVx4MmVceDQ1XHg1N1x4M2RceDRiXHgzOVx4ZjRceGRiIgorCQkJICAiXHhkM1x4MzJceDNjXHhhYlx4ODJceGJmXHg2M1x4MzJceDZiXHhmYiIsCisgICAgICAgIH0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqIgorCQkJICAgICAiaGlqa2lqa2xqa2xta2xtbmxtbm9tbm9wbm9wcSIsCisJCS5wc2l6ZQk9IDU2LAorCQkuZGlnZXN0CT0gIlx4MTJceGEwXHg1M1x4MzhceDRhXHg5Y1x4MGNceDg4XHhlNFx4MDUiCisJCQkgICJceGEwXHg2Y1x4MjdceGRjXHhmNFx4OWFceGRhXHg2Mlx4ZWJceDJiIiwKKwkJLm5wCT0gMiwKKwkJLnRhcAk9IHsgMjgsIDI4IH0sCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RlZmdoYmNkZWZnaGljZGVmZ2hpamRlZmdoaWprZWZnaGlqa2xmZ2hpIgorCQkJICAgICAiamtsbWdoaWprbG1uaGlqa2xtbm9pamtsbW5vcGprbG1ub3Bxa2xtbm9wcXIiCisJCQkgICAgICJsbW5vcHFyc21ub3BxcnN0bm9wcXJzdHUiLAorCQkucHNpemUJPSAxMTIsCisJCS5kaWdlc3QJPSAiXHg2Zlx4M2ZceGEzXHg5Ylx4NmJceDUwXHgzY1x4MzhceDRmXHg5MSIKKwkJCSAgIlx4OWFceDQ5XHhhN1x4YWFceDVjXHgyY1x4MDhceGJkXHhmYlx4NDUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqaGlqayIsCisJCS5wc2l6ZQk9IDMyLAorCQkuZGlnZXN0CT0gIlx4OTRceGMyXHg2NFx4MTFceDU0XHgwNFx4ZTZceDMzXHg3OVx4MGQiCisJCQkgICJceGZjXHhjOFx4N2JceDU4XHg3ZFx4MzZceDc3XHgwNlx4N2RceDlmIiwKKwl9Cit9OworCisvKgorICogUklQRU1ELTI1NiB0ZXN0IHZlY3RvcnMKKyAqLworI2RlZmluZSBSTUQyNTZfVEVTVF9WRUNUT1JTICAgICA4CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIHJtZDI1Nl90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmRpZ2VzdAk9ICJceDAyXHhiYVx4NGNceDRlXHg1Zlx4OGVceGNkXHgxOCIKKwkJCSAgIlx4NzdceGZjXHg1Mlx4ZDZceDRkXHgzMFx4ZTNceDdhIgorCQkJICAiXHgyZFx4OTdceDc0XHhmYlx4MWVceDVkXHgwMlx4NjMiCisJCQkgICJceDgwXHhhZVx4MDFceDY4XHhlM1x4YzVceDUyXHgyZCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImEiLAorCQkucHNpemUJPSAxLAorCQkuZGlnZXN0CT0gIlx4ZjlceDMzXHgzZVx4NDVceGQ4XHg1N1x4ZjVceGQ5IgorCQkJICAiXHgwYVx4OTFceGJhXHhiN1x4MGFceDFlXHhiYVx4MGMiCisJCQkgICJceGZiXHgxYlx4ZTRceGIwXHg3OFx4M2NceDlhXHhjZiIKKwkJCSAgIlx4Y2RceDg4XHgzYVx4OTFceDM0XHg2OVx4MjlceDI1IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceGFmXHhiZFx4NmVceDIyXHg4Ylx4OWRceDhjXHhiYiIKKwkJCSAgIlx4Y2VceGY1XHhjYVx4MmRceDAzXHhlNlx4ZGJceGExIgorCQkJICAiXHgwYVx4YzBceGJjXHg3ZFx4Y2JceGU0XHg2OFx4MGUiCisJCQkgICJceDFlXHg0Mlx4ZDJceGU5XHg3NVx4NDVceDliXHg2NSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIm1lc3NhZ2UgZGlnZXN0IiwKKwkJLnBzaXplCT0gMTQsCisJCS5kaWdlc3QJPSAiXHg4N1x4ZTlceDcxXHg3NVx4OWFceDFjXHhlNFx4N2EiCisJCQkgICJceDUxXHg0ZFx4NWNceDkxXHg0Y1x4MzlceDJjXHg5MCIKKwkJCSAgIlx4MThceGM3XHhjNFx4NmJceGMxXHg0NFx4NjVceDU1IgorCQkJICAiXHg0YVx4ZmNceGRmXHg1NFx4YTVceDA3XHgwY1x4MGUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIsCisJCS5wc2l6ZQk9IDI2LAorCQkuZGlnZXN0CT0gIlx4NjRceDlkXHgzMFx4MzRceDc1XHgxZVx4YTJceDE2IgorCQkJICAiXHg3N1x4NmJceGY5XHhhMVx4OGFceGNjXHg4MVx4YmMiCisJCQkgICJceDc4XHg5Nlx4MTFceDhhXHg1MVx4OTdceDk2XHg4NyIKKwkJCSAgIlx4ODJceGRkXHgxZlx4ZDlceDdkXHg4ZFx4NTFceDMzIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceDU3XHg0MFx4YTRceDA4XHhhY1x4MTZceGI3XHgyMCIKKwkJCSAgIlx4YjhceDQ0XHgyNFx4YWVceDkzXHgxY1x4YmJceDFmIgorCQkJICAiXHhlM1x4NjNceGQxXHhkMFx4YmZceDQwXHgxN1x4ZjEiCisJCQkgICJceGE4XHg5Zlx4N2VceGE2XHhkZVx4NzdceGEwXHhiOCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCisJCQkgICAgICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwKKwkJLnBzaXplCT0gODAsCisJCS5kaWdlc3QJPSAiXHgwNlx4ZmRceGNjXHg3YVx4NDBceDk1XHg0OFx4YWEiCisJCQkgICJceGY5XHgxM1x4NjhceGMwXHg2YVx4NjJceDc1XHhiNSIKKwkJCSAgIlx4NTNceGUzXHhmMFx4OTlceGJmXHgwZVx4YTRceGVkIgorCQkJICAiXHhmZFx4NjdceDc4XHhkZlx4ODlceGE4XHg5MFx4ZGQiLAorICAgICAgICB9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpaiIKKwkJCSAgICAgImhpamtpamtsamtsbWtsbW5sbW5vbW5vcG5vcHEiLAorCQkucHNpemUJPSA1NiwKKwkJLmRpZ2VzdAk9ICJceDM4XHg0M1x4MDRceDU1XHg4M1x4YWFceGM2XHhjOCIKKwkJCSAgIlx4YzhceGQ5XHgxMlx4ODVceDczXHhlN1x4YTlceDgwIgorCQkJICAiXHg5YVx4ZmJceDJhXHgwZlx4MzRceGNjXHhjM1x4NmUiCisJCQkgICJceGE5XHhlN1x4MmZceDE2XHhmNlx4MzZceDhlXHgzZiIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0KK307CisKKy8qCisgKiBSSVBFTUQtMzIwIHRlc3QgdmVjdG9ycworICovCisjZGVmaW5lIFJNRDMyMF9URVNUX1ZFQ1RPUlMgICAgIDgKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgcm1kMzIwX3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkuZGlnZXN0CT0gIlx4MjJceGQ2XHg1ZFx4NTZceDYxXHg1M1x4NmNceGRjXHg3NVx4YzEiCisJCQkgICJceGZkXHhmNVx4YzZceGRlXHg3Ylx4NDFceGI5XHhmMlx4NzNceDI1IgorCQkJICAiXHhlYlx4YzZceDFlXHg4NVx4NTdceDE3XHg3ZFx4NzBceDVhXHgwZSIKKwkJCSAgIlx4YzhceDgwXHgxNVx4MWNceDNhXHgzMlx4YTBceDA4XHg5OVx4YjgiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhIiwKKwkJLnBzaXplCT0gMSwKKwkJLmRpZ2VzdAk9ICJceGNlXHg3OFx4ODVceDA2XHgzOFx4ZjlceDI2XHg1OFx4YTVceGE1IgorCQkJICAiXHg4NVx4MDlceDc1XHg3OVx4OTJceDZkXHhkYVx4NjZceDdhXHg1NyIKKwkJCSAgIlx4MTZceDU2XHgyY1x4ZmNceGY2XHhmYlx4ZTdceDdmXHg2M1x4NTQiCisJCQkgICJceDJmXHg5OVx4YjBceDQ3XHgwNVx4ZDZceDk3XHgwZFx4ZmZceDVkIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceGRlXHg0Y1x4MDFceGIzXHgwNVx4NGZceDg5XHgzMFx4YTdceDlkIgorCQkJICAiXHgwOVx4YWVceDczXHg4ZVx4OTJceDMwXHgxZVx4NWFceDE3XHgwOCIKKwkJCSAgIlx4NWJceGVmXHhmZFx4YzFceGI4XHhkMVx4MTZceDcxXHgzZVx4NzQiCisJCQkgICJceGY4XHgyZlx4YTlceDQyXHhkNlx4NGNceGRiXHhjNFx4NjhceDJkIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAibWVzc2FnZSBkaWdlc3QiLAorCQkucHNpemUJPSAxNCwKKwkJLmRpZ2VzdAk9ICJceDNhXHg4ZVx4MjhceDUwXHgyZVx4ZDRceDVkXHg0Mlx4MmZceDY4IgorCQkJICAiXHg4NFx4NGZceDlkXHhkM1x4MTZceGU3XHhiOVx4ODVceDMzXHhmYSIKKwkJCSAgIlx4M2ZceDJhXHg5MVx4ZDJceDlmXHg4NFx4ZDRceDI1XHhjOFx4OGQiCisJCQkgICJceDZiXHg0ZVx4ZmZceDcyXHg3ZFx4ZjZceDZhXHg3Y1x4MDFceDk3IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLAorCQkucHNpemUJPSAyNiwKKwkJLmRpZ2VzdAk9ICJceGNhXHhiZFx4YjFceDgxXHgwYlx4OTJceDQ3XHgwYVx4MjBceDkzIgorCQkJICAiXHhhYVx4NmJceGNlXHgwNVx4OTVceDJjXHgyOFx4MzRceDhjXHhmNCIKKwkJCSAgIlx4M2ZceGY2XHgwOFx4NDFceDk3XHg1MVx4NjZceGJiXHg0MFx4ZWQiCisJCQkgICJceDIzXHg0MFx4MDRceGI4XHg4Mlx4NDRceDYzXHhlNlx4YjBceDA5IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceGVkXHg1NFx4NDlceDQwXHhjOFx4NmRceDY3XHhmMlx4NTBceGQyIgorCQkJICAiXHgzMlx4YzNceDBiXHg3Ylx4M2VceDU3XHg3MFx4ZTBceGM2XHgwYyIKKwkJCSAgIlx4OGNceGI5XHhhNFx4Y2FceGZlXHgzYlx4MTFceDM4XHg4YVx4ZjkiCisJCQkgICJceDkyXHgwZVx4MWJceDk5XHgyM1x4MGJceDg0XHgzY1x4ODZceGE0IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIKKwkJCSAgICAgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLAorCQkucHNpemUJPSA4MCwKKwkJLmRpZ2VzdAk9ICJceDU1XHg3OFx4ODhceGFmXHg1Zlx4NmRceDhlXHhkNlx4MmFceGI2IgorCQkJICAiXHg2OVx4NDVceGM2XHhkMlx4YTBceGE0XHg3ZVx4Y2RceDUzXHg0MSIKKwkJCSAgIlx4ZTlceDE1XHhlYlx4OGZceGVhXHgxZFx4MDVceDI0XHg5NVx4NWYiCisJCQkgICJceDgyXHg1ZFx4YzdceDE3XHhlNFx4YTBceDA4XHhhYlx4MmRceDQyIiwKKyAgICAgICAgfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWoiCisJCQkgICAgICJoaWpraWprbGprbG1rbG1ubG1ub21ub3Bub3BxIiwKKwkJLnBzaXplCT0gNTYsCisJCS5kaWdlc3QJPSAiXHhkMFx4MzRceGE3XHg5NVx4MGNceGY3XHgyMlx4MDJceDFiXHhhNCIKKwkJCSAgIlx4YjhceDRkXHhmN1x4NjlceGE1XHhkZVx4MjBceDYwXHhlMlx4NTkiCisJCQkgICJceGRmXHg0Y1x4OWJceGI0XHhhNFx4MjZceDhjXHgwZVx4OTNceDViIgorCQkJICAiXHhiY1x4NzRceDcwXHhhOVx4NjlceGM5XHhkMFx4NzJceGExXHhhYyIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0KIH07CiAKIC8qCkBAIC04MTcsNiArMTA3NiwxNjggQEAKIH07CiAKIC8qCisgKiBITUFDLVJJUEVNRDEyOCB0ZXN0IHZlY3RvcnMgZnJvbSBSRkMyMjg2CisgKi8KKyNkZWZpbmUgSE1BQ19STUQxMjhfVEVTVF9WRUNUT1JTCTcKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgaG1hY19ybWQxMjhfdHZfdGVtcGxhdGVbXSA9IHsKKwl7CisJCS5rZXkJPSAiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYiIsCisJCS5rc2l6ZQk9IDE2LAorCQkucGxhaW50ZXh0ID0gIkhpIFRoZXJlIiwKKwkJLnBzaXplCT0gOCwKKwkJLmRpZ2VzdAk9ICJceGZiXHhmNlx4MWZceDk0XHg5Mlx4YWFceDRiXHhiZiIKKwkJCSAgIlx4ODFceGMxXHg3Mlx4ZThceDRlXHgwN1x4MzRceGRiIiwKKwl9LCB7CisJCS5rZXkJPSAiSmVmZSIsCisJCS5rc2l6ZQk9IDQsCisJCS5wbGFpbnRleHQgPSAid2hhdCBkbyB5YSB3YW50IGZvciBub3RoaW5nPyIsCisJCS5wc2l6ZQk9IDI4LAorCQkuZGlnZXN0CT0gIlx4ODdceDVmXHg4Mlx4ODhceDYyXHhiNlx4YjNceDM0IgorCQkJICAiXHhiNFx4MjdceGM1XHg1Zlx4OWZceDdmXHhmMFx4OWIiLAorCQkubnAJPSAyLAorCQkudGFwCT0geyAxNCwgMTQgfSwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIsCisJCS5rc2l6ZQk9IDE2LAorCQkucGxhaW50ZXh0ID0gIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIKKwkJCSJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIgorCQkJIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiCisJCQkiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIiwKKwkJLnBzaXplCT0gNTAsCisJCS5kaWdlc3QJPSAiXHgwOVx4ZjBceGIyXHg4NFx4NmRceDJmXHg1NFx4M2QiCisJCQkgICJceGEzXHg2M1x4Y2JceGVjXHg4ZFx4NjJceGEzXHg4ZCIsCisJfSwgeworCQkua2V5CT0gIlx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4IgorCQkJICAiXHgwOVx4MGFceDBiXHgwY1x4MGRceDBlXHgwZlx4MTAiCisJCQkgICJceDExXHgxMlx4MTNceDE0XHgxNVx4MTZceDE3XHgxOFx4MTkiLAorCQkua3NpemUJPSAyNSwKKwkJLnBsYWludGV4dCA9ICJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiCisJCQkiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIKKwkJCSJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkIgorCQkJIlx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIsCisJCS5wc2l6ZQk9IDUwLAorCQkuZGlnZXN0CT0gIlx4YmRceGJiXHhkN1x4Y2ZceDAzXHhlNFx4NGJceDVhIgorCQkJICAiXHhhNlx4MGFceGY4XHgxNVx4YmVceDRkXHgyMlx4OTQiLAorCX0sIHsKKwkJLmtleQk9ICJceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjIiwKKwkJLmtzaXplCT0gMTYsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBXaXRoIFRydW5jYXRpb24iLAorCQkucHNpemUJPSAyMCwKKwkJLmRpZ2VzdAk9ICJceGU3XHg5OFx4MDhceGYyXHg0Ylx4MjVceGZkXHgwMyIKKwkJCSAgIlx4MWNceDE1XHg1Zlx4MGRceDU1XHgxZFx4OWFceDNhIiwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWEiLAorCQkua3NpemUJPSA4MCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFVzaW5nIExhcmdlciBUaGFuIEJsb2NrLVNpemUgS2V5IC0gSGFzaCBLZXkgRmlyc3QiLAorCQkucHNpemUJPSA1NCwKKwkJLmRpZ2VzdAk9ICJceGRjXHg3M1x4MjlceDI4XHhkZVx4OThceDEwXHg0YSIKKwkJCSAgIlx4MWZceDU5XHhkM1x4NzNceGMxXHg1MFx4YWNceGJiIiwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWEiLAorCQkua3NpemUJPSA4MCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFVzaW5nIExhcmdlciBUaGFuIEJsb2NrLVNpemUgS2V5IGFuZCBMYXJnZXIgVGhhbiBPbmUgIgorCQkJICAgIkJsb2NrLVNpemUgRGF0YSIsCisJCS5wc2l6ZQk9IDczLAorCQkuZGlnZXN0CT0gIlx4NWNceDZiXHhlY1x4OTZceDc5XHgzZVx4MTZceGQ0IgorCQkJICAiXHgwNlx4OTBceGMyXHgzN1x4NjNceDVmXHgzMFx4YzUiLAorCX0sCit9OworCisvKgorICogSE1BQy1SSVBFTUQxNjAgdGVzdCB2ZWN0b3JzIGZyb20gUkZDMjI4NgorICovCisjZGVmaW5lIEhNQUNfUk1EMTYwX1RFU1RfVkVDVE9SUwk3CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIGhtYWNfcm1kMTYwX3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkua2V5CT0gIlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiIiwKKwkJLmtzaXplCT0gMjAsCisJCS5wbGFpbnRleHQgPSAiSGkgVGhlcmUiLAorCQkucHNpemUJPSA4LAorCQkuZGlnZXN0CT0gIlx4MjRceGNiXHg0Ylx4ZDZceDdkXHgyMFx4ZmNceDFhXHg1ZFx4MmUiCisJCQkgICJceGQ3XHg3M1x4MmRceGNjXHgzOVx4MzdceDdmXHgwYVx4NTZceDY4IiwKKwl9LCB7CisJCS5rZXkJPSAiSmVmZSIsCisJCS5rc2l6ZQk9IDQsCisJCS5wbGFpbnRleHQgPSAid2hhdCBkbyB5YSB3YW50IGZvciBub3RoaW5nPyIsCisJCS5wc2l6ZQk9IDI4LAorCQkuZGlnZXN0CT0gIlx4ZGRceGE2XHhjMFx4MjFceDNhXHg0OFx4NWFceDllXHgyNFx4ZjQiCisJCQkgICJceDc0XHgyMFx4NjRceGE3XHhmMFx4MzNceGI0XHgzY1x4NDBceDY5IiwKKwkJLm5wCT0gMiwKKwkJLnRhcAk9IHsgMTQsIDE0IH0sCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIiwKKwkJLmtzaXplCT0gMjAsCisJCS5wbGFpbnRleHQgPSAiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIgorCQkJIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiCisJCQkiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIKKwkJCSJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiLAorCQkucHNpemUJPSA1MCwKKwkJLmRpZ2VzdAk9ICJceGIwXHhiMVx4MDVceDM2XHgwZFx4ZTdceDU5XHg5Nlx4MGFceGI0IgorCQkJICAiXHhmM1x4NTJceDk4XHhlMVx4MTZceGUyXHg5NVx4ZDhceGU3XHhjMSIsCisJfSwgeworCQkua2V5CT0gIlx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4IgorCQkJICAiXHgwOVx4MGFceDBiXHgwY1x4MGRceDBlXHgwZlx4MTAiCisJCQkgICJceDExXHgxMlx4MTNceDE0XHgxNVx4MTZceDE3XHgxOFx4MTkiLAorCQkua3NpemUJPSAyNSwKKwkJLnBsYWludGV4dCA9ICJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiCisJCQkiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIKKwkJCSJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkIgorCQkJIlx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIsCisJCS5wc2l6ZQk9IDUwLAorCQkuZGlnZXN0CT0gIlx4ZDVceGNhXHg4Nlx4MmZceDRkXHgyMVx4ZDVceGU2XHgxMFx4ZTEiCisJCQkgICJceDhiXHg0Y1x4ZjFceGJlXHhiOVx4N2FceDQzXHg2NVx4ZWNceGY0IiwKKwl9LCB7CisJCS5rZXkJPSAiXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGMiLAorCQkua3NpemUJPSAyMCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFdpdGggVHJ1bmNhdGlvbiIsCisJCS5wc2l6ZQk9IDIwLAorCQkuZGlnZXN0CT0gIlx4NzZceDE5XHg2OVx4MzlceDc4XHhmOVx4MWRceDkwXHg1M1x4OWEiCisJCQkgICJceGU3XHg4Nlx4NTBceDBmXHhmM1x4ZDhceGUwXHg1MVx4OGVceDM5IiwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWEiLAorCQkua3NpemUJPSA4MCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFVzaW5nIExhcmdlciBUaGFuIEJsb2NrLVNpemUgS2V5IC0gSGFzaCBLZXkgRmlyc3QiLAorCQkucHNpemUJPSA1NCwKKwkJLmRpZ2VzdAk9ICJceDY0XHg2Nlx4Y2FceDA3XHhhY1x4NWVceGFjXHgyOVx4ZTFceGJkIgorCQkJICAiXHg1Mlx4M2VceDVhXHhkYVx4NzZceDA1XHhiN1x4OTFceGZkXHg4YiIsCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhIiwKKwkJLmtzaXplCT0gODAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSBhbmQgTGFyZ2VyIFRoYW4gT25lICIKKwkJCSAgICJCbG9jay1TaXplIERhdGEiLAorCQkucHNpemUJPSA3MywKKwkJLmRpZ2VzdAk9ICJceDY5XHhlYVx4NjBceDc5XHg4ZFx4NzFceDYxXHg2Y1x4Y2VceDVmIgorCQkJICAiXHhkMFx4ODdceDFlXHgyM1x4NzVceDRjXHhkN1x4NWRceDVhXHgwYSIsCisJfSwKK307CisKKy8qCiAgKiBITUFDLVNIQTEgdGVzdCB2ZWN0b3JzIGZyb20gUkZDMjIwMgogICovCiAjZGVmaW5lIEhNQUNfU0hBMV9URVNUX1ZFQ1RPUlMJNwpAQCAtMTQ0Miw2ICsxODYzLDggQEAKICNkZWZpbmUgREVTX0NCQ19ERUNfVEVTVF9WRUNUT1JTCTQKICNkZWZpbmUgREVTM19FREVfRU5DX1RFU1RfVkVDVE9SUwkzCiAjZGVmaW5lIERFUzNfRURFX0RFQ19URVNUX1ZFQ1RPUlMJMworI2RlZmluZSBERVMzX0VERV9DQkNfRU5DX1RFU1RfVkVDVE9SUwkxCisjZGVmaW5lIERFUzNfRURFX0NCQ19ERUNfVEVTVF9WRUNUT1JTCTEKIAogc3RhdGljIHN0cnVjdCBjaXBoZXJfdGVzdHZlYyBkZXNfZW5jX3R2X3RlbXBsYXRlW10gPSB7CiAJeyAvKiBGcm9tIEFwcGxpZWQgQ3J5cHRvZ3JhcGh5ICovCkBAIC0xNjgwLDkgKzIxMDMsNiBAQAogCX0sCiB9OwogCi0vKgotICogV2UgcmVhbGx5IG5lZWQgc29tZSBtb3JlIHRlc3QgdmVjdG9ycywgZXNwZWNpYWxseSBmb3IgREVTMyBDQkMuCi0gKi8KIHN0YXRpYyBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgZGVzM19lZGVfZW5jX3R2X3RlbXBsYXRlW10gPSB7CiAJeyAvKiBUaGVzZSBhcmUgZnJvbSBvcGVuc3NsICovCiAJCS5rZXkJPSAiXHgwMVx4MjNceDQ1XHg2N1x4ODlceGFiXHhjZFx4ZWYiCkBAIC0xNzQ1LDYgKzIxNjUsOTQgQEAKIAl9LAogfTsKIAorc3RhdGljIHN0cnVjdCBjaXBoZXJfdGVzdHZlYyBkZXMzX2VkZV9jYmNfZW5jX3R2X3RlbXBsYXRlW10gPSB7CisJeyAvKiBHZW5lcmF0ZWQgZnJvbSBvcGVuc3NsICovCisJCS5rZXkJPSAiXHhFOVx4QzBceEZGXHgyRVx4NzZceDBCXHg2NFx4MjQiCisJCQkgICJceDQ0XHg0RFx4OTlceDVBXHgxMlx4RDZceDQwXHhDMCIKKwkJCSAgIlx4RUFceEMyXHg4NFx4RThceDE0XHg5NVx4REJceEU4IiwKKwkJLmtsZW4JPSAyNCwKKwkJLml2CT0gIlx4N0RceDMzXHg4OFx4OTNceDBGXHg5M1x4QjJceDQyIiwKKwkJLmlucHV0CT0gIlx4NmZceDU0XHgyMFx4NmZceDYxXHg0ZFx4NzlceDZlIgorCQkJICAiXHg1M1x4MjBceDYzXHg2NVx4NjVceDcyXHg3M1x4NzQiCisJCQkgICJceDU0XHgyMFx4NmZceDZmXHg0ZFx4MjBceDZlXHg2MSIKKwkJCSAgIlx4MjBceDc5XHg2NVx4NTNceDcyXHg2M1x4NzRceDY1IgorCQkJICAiXHgyMFx4NzNceDZmXHg1NFx4MjBceDZmXHg2MVx4NGQiCisJCQkgICJceDc5XHg2ZVx4NTNceDIwXHg2M1x4NjVceDY1XHg3MiIKKwkJCSAgIlx4NzNceDc0XHg1NFx4MjBceDZmXHg2Zlx4NGRceDIwIgorCQkJICAiXHg2ZVx4NjFceDIwXHg3OVx4NjVceDUzXHg3Mlx4NjMiCisJCQkgICJceDc0XHg2NVx4MjBceDczXHg2Zlx4NTRceDIwXHg2ZiIKKwkJCSAgIlx4NjFceDRkXHg3OVx4NmVceDUzXHgyMFx4NjNceDY1IgorCQkJICAiXHg2NVx4NzJceDczXHg3NFx4NTRceDIwXHg2Zlx4NmYiCisJCQkgICJceDRkXHgyMFx4NmVceDYxXHgyMFx4NzlceDY1XHg1MyIKKwkJCSAgIlx4NzJceDYzXHg3NFx4NjVceDIwXHg3M1x4NmZceDU0IgorCQkJICAiXHgyMFx4NmZceDYxXHg0ZFx4NzlceDZlXHg1M1x4MjAiCisJCQkgICJceDYzXHg2NVx4NjVceDcyXHg3M1x4NzRceDU0XHgyMCIKKwkJCSAgIlx4NmZceDZmXHg0ZFx4MjBceDZlXHg2MVx4MGFceDc5IiwKKwkJLmlsZW4JPSAxMjgsCisJCS5yZXN1bHQJPSAiXHgwZVx4MmRceGI2XHg5N1x4M2NceDU2XHgzM1x4ZjQiCisJCQkgICJceDY3XHgxN1x4MjFceGM3XHg2ZVx4OGFceGQ1XHg0OSIKKwkJCSAgIlx4NzRceGIzXHg0OVx4MDVceGM1XHgxY1x4ZDBceGVkIgorCQkJICAiXHgxMlx4NTZceDVjXHg1M1x4OTZceGI2XHgwMFx4N2QiCisJCQkgICJceDkwXHg0OFx4ZmNceGY1XHg4ZFx4MjlceDM5XHhjYyIKKwkJCSAgIlx4OGFceGQ1XHgzNVx4MThceDM2XHgyM1x4NGVceGQ3IgorCQkJICAiXHg3Nlx4ZDFceGRhXHgwY1x4OTRceDY3XHhiYlx4MDQiCisJCQkgICJceDhiXHhmMlx4MDNceDZjXHhhOFx4Y2ZceGI2XHhlYSIKKwkJCSAgIlx4MjJceDY0XHg0N1x4YWFceDhmXHg3NVx4MTNceGJmIgorCQkJICAiXHg5Zlx4YzJceGMzXHhmMFx4YzlceDU2XHhjNVx4N2EiCisJCQkgICJceDcxXHg2M1x4MmVceDg5XHg3Ylx4MWVceDEyXHhjYSIKKwkJCSAgIlx4ZTJceDVmXHhhZlx4ZDhceGE0XHhmOFx4YzlceDdhIgorCQkJICAiXHhkNlx4ZjlceDIxXHgzMVx4NjJceDQ0XHg0NVx4YTYiCisJCQkgICJceGQ2XHhiY1x4NWFceGQzXHgyZFx4NTRceDQzXHhjYyIKKwkJCSAgIlx4OWRceGRlXHhhNVx4NzBceGU5XHg0Mlx4NDVceDhhIgorCQkJICAiXHg2Ylx4ZmFceGIxXHg5MVx4MTNceGIwXHhkOVx4MTkiLAorCQkucmxlbgk9IDEyOCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjaXBoZXJfdGVzdHZlYyBkZXMzX2VkZV9jYmNfZGVjX3R2X3RlbXBsYXRlW10gPSB7CisJeyAvKiBHZW5lcmF0ZWQgZnJvbSBvcGVuc3NsICovCisJCS5rZXkJPSAiXHhFOVx4QzBceEZGXHgyRVx4NzZceDBCXHg2NFx4MjQiCisJCQkgICJceDQ0XHg0RFx4OTlceDVBXHgxMlx4RDZceDQwXHhDMCIKKwkJCSAgIlx4RUFceEMyXHg4NFx4RThceDE0XHg5NVx4REJceEU4IiwKKwkJLmtsZW4JPSAyNCwKKwkJLml2CT0gIlx4N0RceDMzXHg4OFx4OTNceDBGXHg5M1x4QjJceDQyIiwKKwkJLmlucHV0CT0gIlx4MGVceDJkXHhiNlx4OTdceDNjXHg1Nlx4MzNceGY0IgorCQkJICAiXHg2N1x4MTdceDIxXHhjN1x4NmVceDhhXHhkNVx4NDkiCisJCQkgICJceDc0XHhiM1x4NDlceDA1XHhjNVx4MWNceGQwXHhlZCIKKwkJCSAgIlx4MTJceDU2XHg1Y1x4NTNceDk2XHhiNlx4MDBceDdkIgorCQkJICAiXHg5MFx4NDhceGZjXHhmNVx4OGRceDI5XHgzOVx4Y2MiCisJCQkgICJceDhhXHhkNVx4MzVceDE4XHgzNlx4MjNceDRlXHhkNyIKKwkJCSAgIlx4NzZceGQxXHhkYVx4MGNceDk0XHg2N1x4YmJceDA0IgorCQkJICAiXHg4Ylx4ZjJceDAzXHg2Y1x4YThceGNmXHhiNlx4ZWEiCisJCQkgICJceDIyXHg2NFx4NDdceGFhXHg4Zlx4NzVceDEzXHhiZiIKKwkJCSAgIlx4OWZceGMyXHhjM1x4ZjBceGM5XHg1Nlx4YzVceDdhIgorCQkJICAiXHg3MVx4NjNceDJlXHg4OVx4N2JceDFlXHgxMlx4Y2EiCisJCQkgICJceGUyXHg1Zlx4YWZceGQ4XHhhNFx4ZjhceGM5XHg3YSIKKwkJCSAgIlx4ZDZceGY5XHgyMVx4MzFceDYyXHg0NFx4NDVceGE2IgorCQkJICAiXHhkNlx4YmNceDVhXHhkM1x4MmRceDU0XHg0M1x4Y2MiCisJCQkgICJceDlkXHhkZVx4YTVceDcwXHhlOVx4NDJceDQ1XHg4YSIKKwkJCSAgIlx4NmJceGZhXHhiMVx4OTFceDEzXHhiMFx4ZDlceDE5IiwKKwkJLmlsZW4JPSAxMjgsCisJCS5yZXN1bHQJPSAiXHg2Zlx4NTRceDIwXHg2Zlx4NjFceDRkXHg3OVx4NmUiCisJCQkgICJceDUzXHgyMFx4NjNceDY1XHg2NVx4NzJceDczXHg3NCIKKwkJCSAgIlx4NTRceDIwXHg2Zlx4NmZceDRkXHgyMFx4NmVceDYxIgorCQkJICAiXHgyMFx4NzlceDY1XHg1M1x4NzJceDYzXHg3NFx4NjUiCisJCQkgICJceDIwXHg3M1x4NmZceDU0XHgyMFx4NmZceDYxXHg0ZCIKKwkJCSAgIlx4NzlceDZlXHg1M1x4MjBceDYzXHg2NVx4NjVceDcyIgorCQkJICAiXHg3M1x4NzRceDU0XHgyMFx4NmZceDZmXHg0ZFx4MjAiCisJCQkgICJceDZlXHg2MVx4MjBceDc5XHg2NVx4NTNceDcyXHg2MyIKKwkJCSAgIlx4NzRceDY1XHgyMFx4NzNceDZmXHg1NFx4MjBceDZmIgorCQkJICAiXHg2MVx4NGRceDc5XHg2ZVx4NTNceDIwXHg2M1x4NjUiCisJCQkgICJceDY1XHg3Mlx4NzNceDc0XHg1NFx4MjBceDZmXHg2ZiIKKwkJCSAgIlx4NGRceDIwXHg2ZVx4NjFceDIwXHg3OVx4NjVceDUzIgorCQkJICAiXHg3Mlx4NjNceDc0XHg2NVx4MjBceDczXHg2Zlx4NTQiCisJCQkgICJceDIwXHg2Zlx4NjFceDRkXHg3OVx4NmVceDUzXHgyMCIKKwkJCSAgIlx4NjNceDY1XHg2NVx4NzJceDczXHg3NFx4NTRceDIwIgorCQkJICAiXHg2Zlx4NmZceDRkXHgyMFx4NmVceDYxXHgwYVx4NzkiLAorCQkucmxlbgk9IDEyOCwKKwl9LAorfTsKKwogLyoKICAqIEJsb3dmaXNoIHRlc3QgdmVjdG9ycy4KICAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9NYWtlZmlsZSBiL2RyaXZlcnMvTWFrZWZpbGUKaW5kZXggZjY1ZGVkYS4uZmRhNDQ2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9NYWtlZmlsZQorKysgYi9kcml2ZXJzL01ha2VmaWxlCkBAIC0xMCw2ICsxMCw3IEBACiBvYmotJChDT05GSUdfUEFSSVNDKQkJKz0gcGFyaXNjLwogb2JqLSQoQ09ORklHX1JBUElESU8pCQkrPSByYXBpZGlvLwogb2JqLXkJCQkJKz0gdmlkZW8vCitvYmoteQkJCQkrPSBncHUvCiBvYmotJChDT05GSUdfQUNQSSkJCSs9IGFjcGkvCiAjIFBuUCBtdXN0IGNvbWUgYWZ0ZXIgQUNQSSBzaW5jZSBpdCB3aWxsIGV2ZW50dWFsbHkgbmVlZCB0byBjaGVjayBpZiBhY3BpCiAjIHdhcyB1c2VkIGFuZCBkbyBub3RoaW5nIGlmIHNvCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Fjb3JuL2NoYXIvTWFrZWZpbGUgYi9kcml2ZXJzL2Fjb3JuL2NoYXIvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwMDZjOWYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hY29ybi9jaGFyL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0jCi0jIE1ha2VmaWxlIGZvciB0aGUgYWNvcm4gY2hhcmFjdGVyIGRldmljZSBkcml2ZXJzLgotIwotCi1vYmotJChDT05GSUdfTDcyMDBfS0VZQikJKz0gZGVma2V5bWFwLWw3MjAwLm8ga2V5Yl9sNzIwMC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Fjb3JuL2NoYXIvZGVma2V5bWFwLWw3MjAwLmMgYi9kcml2ZXJzL2Fjb3JuL2NoYXIvZGVma2V5bWFwLWw3MjAwLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzZDgwYTEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hY29ybi9jaGFyL2RlZmtleW1hcC1sNzIwMC5jCisrKyAvZGV2L251bGwKQEAgLTEsMzg2ICswLDAgQEAKLS8qCi0gKiBsaW51eC9kcml2ZXJzL2Fjb3JuL2NoYXIvZGVma2V5bWFwLWw3MjAwLmMKLSAqCi0gKiBEZWZhdWx0IGtleWJvYXJkIG1hcHMgZm9yIExpbmtVcCBTeXN0ZW1zIEw3MjAwIGJvYXJkCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAwIFN0ZXZlIEhpbGwgKHNqaGlsbEBjb3R3LmNvbSkKLSAqCi0gKiBDaGFuZ2Vsb2c6Ci0gKiAgIDA4LTA0LTIwMDAgU0pIICAgICBDcmVhdGVkIGZpbGUKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXlib2FyZC5oPgotI2luY2x1ZGUgPGxpbnV4L2tkLmg+Ci0KLS8qIE5vcm1hbCAobWFwcyAxOjEgd2l0aCBubyBwcm9jZXNzaW5nKSAqLwotI2RlZmluZSBLVG4JMHhGMAotLyogRnVuY3Rpb24ga2V5cyAqLwotI2RlZmluZSBLVGYJMHhGMQotLyogU3BlY2lhbCAoUGVyZm9ybXMgc3BlY2lhbCBob3VzZS1rZWVwaW5nIGZ1bmNzKSAqLwotI2RlZmluZSBLVHMJMHhGMgotI2RlZmluZSBLSUdOT1JFCQlLKEtUcywgMCkJLyogSWdub3JlICovCi0jZGVmaW5lIEtFTlRFUgkJSyhLVHMsIDEpCS8qIEVudGVyICovCi0jZGVmaW5lIEtSRUdTCQlLKEtUcywgMikJLyogUmVncyAqLwotI2RlZmluZSBLTUVNCQlLKEtUcywgMykJLyogTWVtICovCi0jZGVmaW5lIEtTVEFUCQlLKEtUcywgNCkJLyogU3RhdGUgKi8KLSNkZWZpbmUgS0lOVFIJCUsoS1RzLCA1KQkvKiBJbnRyICovCi0jZGVmaW5lIEtzbAk2CS8qIExhc3QgY29uc29sZSAqLwotI2RlZmluZSBLQ0FQU0xLCQlLKEtUcywgNykJLyogQ2FwcyBsb2NrICovCi0jZGVmaW5lIEtOVU1MSwkJSyhLVHMsIDgpCS8qIE51bS1sb2NrICovCi0jZGVmaW5lIEtTQ1JMTEsJCUsoS1RzLCA5KQkvKiBTY3JvbGwtbG9jayAqLwotI2RlZmluZSBLU0NSTEZPUglLKEtUcywxMCkJLyogU2Nyb2xsIGZvcndhcmQgKi8KLSNkZWZpbmUgS1NDUkxCQUsJSyhLVHMsMTEpCS8qIFNjcm9sbCBiYWNrICovCi0jZGVmaW5lIEtSRUJPT1QJCUsoS1RzLDEyKQkvKiBSZWJvb3QgKi8KLSNkZWZpbmUgS0NBUFNPTgkJSyhLVHMsMTMpCS8qIENhcHMgb24gKi8KLSNkZWZpbmUgS0NPTVBPU0UJSyhLVHMsMTQpCS8qIENvbXBvc2UgKi8KLSNkZWZpbmUgS1NBSwkJSyhLVHMsMTUpCS8qIFNBSyAqLwotI2RlZmluZSBDT05TX0RFQwlLKEtUcywxNikJLyogRGVjIGNvbnNvbGUgKi8KLSNkZWZpbmUgQ09OU19JTkMJSyhLVHMsMTcpCS8qIEluY3IgY29uc29sZSAqLwotI2RlZmluZSBLRkxPUFBZCQlLKEtUcywxOCkJLyogRmxvcHB5ICovCi0vKiBLZXkgcGFkICgwLTkgPSBkaWdpdHMsIDEwPSssIDExPS0sIDEyPSosIDEzPS8sIDE0PWVudGVyLCAxNj0uLCAxNz0jICovCi0jZGVmaW5lIEtUcAkweEYzCi0jZGVmaW5lIEtQQURfMAkJSyhLVHAsIDAgKQotI2RlZmluZSBLUEFEXzEgIAlLKEtUcCwgMSApCi0jZGVmaW5lIEtQQURfMgkJSyhLVHAsIDIgKQotI2RlZmluZSBLUEFEXzMJCUsoS1RwLCAzICkKLSNkZWZpbmUgS1BBRF80CQlLKEtUcCwgNCApCi0jZGVmaW5lIEtQQURfNQkJSyhLVHAsIDUgKQotI2RlZmluZSBLUEFEXzYJCUsoS1RwLCA2ICkKLSNkZWZpbmUgS1BBRF83CQlLKEtUcCwgNyApCi0jZGVmaW5lIEtQQURfOAkJSyhLVHAsIDggKQotI2RlZmluZSBLUEFEXzkJCUsoS1RwLCA5ICkKLSNkZWZpbmUgS1BBRF9QTAkJSyhLVHAsMTAgKQotI2RlZmluZSBLUEFEX01JCQlLKEtUcCwxMSApCi0jZGVmaW5lIEtQQURfTUwJCUsoS1RwLDEyICkKLSNkZWZpbmUgS1BBRF9EVgkJSyhLVHAsMTMgKQotI2RlZmluZSBLUEFEX0VOCQlLKEtUcCwxNCApCi0jZGVmaW5lIEtQQURfRFQJCUsoS1RwLDE2ICkKLSNkZWZpbmUgS1BBRF9IUwkJSyhLVHAsMjAgKQotLyogQ29uc29sZSBzd2l0Y2hpbmcgKi8KLSNkZWZpbmUgS0NuCTB4RjUKLS8qIEN1cnNvciAqLwotI2RlZmluZSBLVGMJMHhGNgotI2RlZmluZSBLY2QJMAkvKiBDdXJzb3IgZG93biAqLwotI2RlZmluZSBLY2wJMQkvKiBDdXJzb3IgbGVmdCAqLwotI2RlZmluZSBLY3IJMgkvKiBDdXJzb3IgcmlnaHQgKi8KLSNkZWZpbmUgS2N1CTMJLyogQ3Vyc29yIHVwICovCi0vKiBTaGlmdC9hbHQgbW9kaWZpZXJzIGV0YyAqLwotI2RlZmluZSBLTWQJMHhGNwotI2RlZmluZSBLU0hJRlQJCUsoS01kLCAwICkKLSNkZWZpbmUgS0FMVEdSCQlLKEtNZCwgMSApCi0jZGVmaW5lIEtDVFJMCQlLKEtNZCwgMiApCi0jZGVmaW5lIEtBTFQJCUsoS01kLCAzICkKLS8qIE1ldGEgKi8KLSNkZWZpbmUgS010CTB4RjgKLSNkZWZpbmUgS0FzCTB4RjkKLSNkZWZpbmUgS1BBREFfMAkJSyhLQXMsIDAgKQotI2RlZmluZSBLUEFEQV8xCQlLKEtBcywgMSApCi0jZGVmaW5lIEtQQURBXzIJCUsoS0FzLCAyICkKLSNkZWZpbmUgS1BBREFfMwkJSyhLQXMsIDMgKQotI2RlZmluZSBLUEFEQV80CQlLKEtBcywgNCApCi0jZGVmaW5lIEtQQURBXzUJCUsoS0FzLCA1ICkKLSNkZWZpbmUgS1BBREFfNgkJSyhLQXMsIDYgKQotI2RlZmluZSBLUEFEQV83CQlLKEtBcywgNyApCi0jZGVmaW5lIEtQQURBXzgJCUsoS0FzLCA4ICkKLSNkZWZpbmUgS1BBREFfOQkJSyhLQXMsIDkgKQotI2RlZmluZSBLUEFEQl8wCQlLKEtBcywxMCApCi0jZGVmaW5lIEtQQURCXzEJCUsoS0FzLDExICkKLSNkZWZpbmUgS1BBREJfMgkJSyhLQXMsMTIgKQotI2RlZmluZSBLUEFEQl8zCQlLKEtBcywxMyApCi0jZGVmaW5lIEtQQURCXzQJCUsoS0FzLDE0ICkKLSNkZWZpbmUgS1BBREJfNQkJSyhLQXMsMTUgKQotI2RlZmluZSBLUEFEQl82CQlLKEtBcywxNiApCi0jZGVmaW5lIEtQQURCXzcJCUsoS0FzLDE3ICkKLSNkZWZpbmUgS1BBREJfOAkJSyhLQXMsMTggKQotI2RlZmluZSBLUEFEQl85CQlLKEtBcywxOSApCi0vKiBMb2NraW5nIGtleXMgKi8KLSNkZWZpbmUgS0xrCTB4RkEKLS8qIExldHRlcnMgKi8KLSNkZWZpbmUgS1RsCTB4RkIKLQotLyoKLSAqIEhlcmUgaXMgdGhlIGxheW91dCBvZiB0aGUga2V5cyBmb3IgdGhlIEZ1aml0c3UgUVdFUlRZCi0gKiBzdHlsZSBrZXlib2FyZDoKLSAqCi0gKglzdGF0aWMgY2hhciBGdWppdHN1X0tleV9UYWJsZVtdID0KLSAqCXsKLSAqICAgICAgICBLQUxULCAnYCcgLCBLTlVMLCBLQ1RMLCBLRlVOLCBLRVNDLCAnMScgLCAnMicgLAotICoJICAnOScgLCAnMCcgLCAnLScgLCAnPScgLCBLTlVMLCBLQlNQLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCBLQlNMLCBLU0hGLCBLTlVMLCBLTlVMLCBLREVMLCBLTlVMLCAndCcgLAotICoJICAneScgLCAndScgLCAnaScgLCBLUkVULCBLU0hGLCBLUEdELCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCBLVEFCLCBLTlVMLCBLTlVMLCBLTlVMLCAncScgLCAndycgLCAnZScgLAotICoJICAncicgLCAnbycgLCAncCcgLCAnWycgLCBLTlVMLCAnXScgLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCAneicgLCBLTlVMLCBLTlVMLCBLTlVMLCBLU0hMLCBLTlVMLCBLTlVMLAotICoJICAnaycgLCAnbCcgLCAnOycgLCBLU1FULCBLTlVMLCBLUEdVLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCAnYScgLCBLTlVMLCBLTlVMLCBLTlVMLCAncycgLCAnZCcgLCAnZicgLAotICoJICAnZycgLCAnaCcgLCAnaicgLCAnLycgLCBLTlVMLCBLSE1FLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCAneCcgLCBLTlVMLCBLTlVMLCBLTlVMLCAnYycgLCAndicgLCAnYicgLAotICoJICAnbicgLCAnbScgLCAnLCcgLCAnLicgLCBLTlVMLCAnICcgLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCBLTlVMLCBLTlVMLCBLTlVMLCBLTlVMLCAnMycgLCAnNCcgLCAnNScgLAotICoJICAnNicgLCAnNycgLCAnOCcgLCBLTlVMLCBLUFJHLCBLTlVMLCBLRU5ELCBLTlVMLAotICoJfTsKLSAqLwotCi11X3Nob3J0IHBsYWluX21hcFtOUl9LRVlTXT0KLXsKLQkweGY3MDMsIDB4ZjA2MCwgMHhmMjAwLCAweGY3MDIsIDB4ZjIwMCwgMHhmMDFiLCAweGYwMzEsIDB4ZjAzMiwKLQkweGYwMzksIDB4ZjAzMCwgMHhmMDJkLCAweGYwM2QsIDB4ZjIwMCwgMHhmMDdmLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjA1YywgMHhmNzAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMTE2LCAweGYwMDAsIDB4ZmI3NCwKLQkweGZiNzksIDB4ZmI3NSwgMHhmYjY5LCAweGYyMDEsIDB4ZjcwMCwgMHhmNjAwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAwOSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmYjcxLCAweGZiNzcsIDB4ZmI2NSwKLQkweGZiNzIsIDB4ZmI2ZiwgMHhmYjcwLCAweGYwNWIsIDB4ZjIwMCwgMHhmMDVkLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZmI3YSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjA3LCAweGYyMDAsIDB4ZjIwMCwKLQkweGZiNmIsIDB4ZmI2YywgMHhmMDNiLCAweGYwMjcsIDB4ZjIwMCwgMHhmNjAzLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZmI2MSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmYjczLCAweGZiNjQsIDB4ZmI2NiwKLQkweGZiNjcsIDB4ZmI2OCwgMHhmYjZhLCAweGYwMmYsIDB4ZjIwMCwgMHhmNjAxLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZmI3OCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmYjYzLCAweGZiNzYsIDB4ZmI2MiwKLQkweGZiNmUsIDB4ZmI2ZCwgMHhmMDJjLCAweGYwMmUsIDB4ZjIwMCwgMHhmMDIwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDMzLCAweGYwMzQsIDB4ZjAzNSwgCi0JMHhmMDM2LCAweGYwMzcsIDB4ZjAzOCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmNjAyLCAweGYyMDAsIAotCTB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgCi19OwotCi11X3Nob3J0IHNoaWZ0X21hcFtOUl9LRVlTXT0KLXsKLQkweGY3MDMsIDB4ZjA3ZSwgMHhmMjAwLCAweGY3MDIsIDB4ZjIwMCwgMHhmMDFiLCAweGYwMjEsIDB4ZjA0MCwKLQkweGYwMjgsIDB4ZjAyOSwgMHhmMDVmLCAweGYwMmIsIDB4ZjIwMCwgMHhmMDdmLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjA3YywgMHhmNzAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMTE2LCAweGYwMDAsIDB4ZmI1NCwKLQkweGZiNTksIDB4ZmI1NSwgMHhmYjQ5LCAweGYyMDEsIDB4ZjcwMCwgMHhmNjAwLCAweGYyMDAsIDB4ZjIwMCwKLSAJMHhmMjAwLCAweGYwMDksIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI1MSwgMHhmYjU3LCAweGZiNDUsCi0JMHhmYjUyLCAweGZiNGYsIDB4ZmI1MCwgMHhmMDdiLCAweGYyMDAsIDB4ZjA3ZCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNWEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwNywgMHhmMjAwLCAweGYyMDAsCi0JMHhmYjRiLCAweGZiNGMsIDB4ZjAzYSwgMHhmMDIyLCAweGYyMDAsIDB4ZjYwMywgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNDEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI1MywgMHhmYjQ0LCAweGZiNDYsCi0JMHhmYjQ3LCAweGZiNDgsIDB4ZmI0YSwgMHhmMDNmLCAweGYyMDAsIDB4ZjYwMSwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNTgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI0MywgMHhmYjU2LCAweGZiNDIsCi0JMHhmYjRlLCAweGZiNGQsIDB4ZjAzYywgMHhmMDNlLCAweGYyMDAsIDB4ZjAyMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAyMywgMHhmMDI0LCAweGYwMjUsIAotCTB4ZjA1ZSwgMHhmMDI2LCAweGYwMmEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjYwMiwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIAotfTsKLQotdV9zaG9ydCBhbHRncl9tYXBbTlJfS0VZU109Ci17Ci0gIEtJR05PUkUgICAsSyhLQ24sMTIgKSxLKEtDbiwxMyApLEsoS0NuLDE0ICApLEsoS0NuLDE1ICksSyhLQ24sMTYgKSxLKEtDbiwxNyAgKSxLKEtDbiwgMTgpLAotICBLKEtDbiwgMTkpLEsoS0NuLDIwICksSyhLQ24sMjEgKSxLKEtDbiwyMiAgKSxLKEtDbiwyMyApLEtJR05PUkUgICAsS1JFR1MgICAgICAsS0lOVFIgICAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEsoS1RuLCdAJyksS0lHTk9SRSAgICAsSyhLVG4sJyQnKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEsoS1RuLCd7JyksCi0gIEsoS1RuLCdbJyksSyhLVG4sJ10nKSxLKEtUbiwnfScpLEsoS1RuLCdcXCcpLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLKEtUZiwyMSApLAotICBLKEtUZiwyMCApLEsoS1RmLDI0ICksS05VTUxLICAgICxLUEFEX0RWICAgICxLUEFEX01MICAgLEtQQURfSFMgICAsS0lHTk9SRSAgICAsSyhLVGwsJ3EnKSwKLSAgSyhLVGwsJ3cnKSxLKEtUbCwnZScpLEsoS1RsLCdyJyksSyhLVGwsJ3QnICksSyhLVGwsJ3knKSxLKEtUbCwndScpLEsoS1RsLCdpJyApLEsoS1RsLCdvJyksCi0gIEsoS1RsLCdwJyksS0lHTk9SRSAgICxLKEtUbiwnficpLEtJR05PUkUgICAgLEsoS1RmLDIyICksSyhLVGYsMjMgKSxLKEtUZiwyNSAgKSxLUEFEQl83ICAgLAotICBLUEFEQl84ICAgLEtQQURCXzkgICAsS1BBRF9NSSAgICxLQ1RSTCAgICAgICxLKEtBcywyMCApLEsoS1RsLCdzJyksSyhLQXMsMjMgICksSyhLQXMsMjUgKSwKLSAgSyhLVGwsJ2cnKSxLKEtUbCwnaCcpLEsoS1RsLCdqJyksSyhLVGwsJ2snICksSyhLVGwsJ2wnKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtFTlRFUiAgICAsCi0gIEtQQURCXzQgICAsS1BBREJfNSAgICxLUEFEQl82ICAgLEtQQURfUEwgICAgLEtTSElGVCAgICAsS0lHTk9SRSAgICxLKEtUbCwneicgKSxLKEtUbCwneCcpLAotICBLKEtBcywyMiApLEsoS1RsLCd2JyksSyhLVGwsMjEgKSxLKEtUbCwnbicgKSxLKEtUbCwnbScpLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS1NISUZUICAgICxLKEtUYyxLY3UpLEtQQURCXzEgICAsS1BBREJfMiAgICAsS1BBREJfMyAgICxLQ0FQU0xLICAgLEtBTFQgICAgICAgLEtJR05PUkUgICAsCi0gIEtBTFRHUiAgICAsS0NUUkwgICAgICxLKEtUYyxLY2wpLEsoS1RjLEtjZCApLEsoS1RjLEtjciksS1BBREJfMCAgICxLUEFEX0RUICAgICxLUEFEX0VOICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotfTsKLQotdV9zaG9ydCBjdHJsX21hcFtOUl9LRVlTXT0KLXsKLQkweGY3MDMsIDB4ZjIwMCwgMHhmMjAwLCAweGY3MDIsIDB4ZjIwMCwgMHhmMjAwLCAweGYwMDEsIDB4ZjAwMiwKLQkweGYwMDksIDB4ZjAwMCwgMHhmMDMxLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDdmLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAxYywgMHhmNzAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMTE2LCAweGYwMDAsIDB4ZjAyMCwKLQkweGYwMTksIDB4ZjAxNSwgMHhmMDA5LCAweGYyMDEsIDB4ZjcwMCwgMHhmNjAwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAwOSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDExLCAweGYwMTcsIDB4ZjAwNSwKLQkweGYwMTIsIDB4ZjAwZiwgMHhmMDEwLCAweGYwMWIsIDB4ZjIwMCwgMHhmMDFkLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAxYSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjA3LCAweGYyMDAsIDB4ZjIwMCwKLQkweGYwMGIsIDB4ZjAwYywgMHhmMjAwLCAweGYwMDcsIDB4ZjIwMCwgMHhmNjAzLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAwMSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAxLCAweGYwMTMsIDB4ZjAwNiwKLQkweGYwMDcsIDB4ZjAwOCwgMHhmMDBhLCAweGYwN2YsIDB4ZjIwMCwgMHhmNjAxLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAxOCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAzLCAweGYwMTYsIDB4ZjAwMiwKLQkweGYwMGUsIDB4ZjAwZCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDFiLCAweGYwMWMsIDB4ZjAxZCwgCi0JMHhmMDM2LCAweGYwMzcsIDB4ZjAzOCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmNjAyLCAweGYyMDAsIAotCTB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGY2MDIsIDB4ZjIwMCwgCi19OwotCi11X3Nob3J0IHNoaWZ0X2N0cmxfbWFwW05SX0tFWVNdPQotewotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtGTE9QUFkgICAgLEtJTlRSICAgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLKEtUbiwgMCApLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLKEtUbiwzMSAgKSxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsSyhLVGYsMjEgKSwKLSAgSyhLVGYsMjAgKSxLKEtUZiwyNCApLEtOVU1MSyAgICAsS1BBRF9EViAgICAsS1BBRF9NTCAgICxLUEFEX0hTICAgLEtJR05PUkUgICAgLEsoS1RuLDE3ICksCi0gIEsoS1RuLDIzICksSyhLVG4sIDUgKSxLKEtUbiwxOCApLEsoS1RuLDIwICApLEsoS1RuLDI1ICksSyhLVG4sMjEgKSxLKEtUbiwgOSAgKSxLKEtUbiwxNSApLAotICBLKEtUbiwxNiApLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLKEtUZiwyMiApLEsoS1RmLDIzICksSyhLVGYsMjUgICksS1BBRF83ICAgICwKLSAgS1BBRF84ICAgICxLUEFEXzkgICAgLEtQQURfTUkgICAsS0NUUkwgICAgICAsSyhLVG4sIDEgKSxLKEtUbiwxOSApLEsoS1RuLCA0ICApLEsoS1RuLCA2ICksCi0gIEsoS1RuLCA3ICksSyhLVG4sIDggKSxLKEtUbiwxMCApLEsoS1RuLDExICApLEsoS1RuLDEyICksS0lHTk9SRSAgICxLKEtUbiwgNyAgKSxLRU5URVIgICAgLAotICBLUEFEXzQgICAgLEtQQURfNSAgICAsS1BBRF82ICAgICxLUEFEX1BMICAgICxLU0hJRlQgICAgLEtJR05PUkUgICAsSyhLVG4sMjYgICksSyhLVG4sMjQgKSwKLSAgSyhLVG4sIDMgKSxLKEtUbiwyMiApLEsoS1RuLCAyICksSyhLVG4sMTQgICksSyhLVG4sMTMgKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtTSElGVCAgICAsSyhLVGMsS2N1KSxLUEFEXzEgICAgLEtQQURfMiAgICAgLEtQQURfMyAgICAsS0NBUFNMSyAgICxLQUxUICAgICAgICxLKEtUbiwgMCApLAotICBLQUxUR1IgICAgLEtDVFJMICAgICAsSyhLVGMsS2NsKSxLKEtUYyxLY2QgKSxLKEtUYyxLY3IpLEtQQURfMCAgICAsS1BBRF9EVCAgICAsS1BBRF9FTiAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLX07Ci0KLXVfc2hvcnQgYWx0X21hcFtOUl9LRVlTXT0KLXsKLSAgSyhLTXQsMjcgKSxLKEtDbiwgMCApLEsoS0NuLCAxICksSyhLQ24sIDIgICksSyhLQ24sIDMgKSxLKEtDbiwgNCApLEsoS0NuLCA1ICApLEsoS0NuLCA2ICksCi0gIEsoS0NuLCA3ICksSyhLQ24sIDggKSxLKEtDbiwgOSApLEsoS0NuLDEwICApLEsoS0NuLDExICksS0lHTk9SRSAgICxLU0NSTExLICAgICxLSU5UUiAgICAgLAotICBLKEtNdCwnYCcpLEsoS010LCcxJyksSyhLTXQsJzInKSxLKEtNdCwnMycgKSxLKEtNdCwnNCcpLEsoS010LCc1JyksSyhLTXQsJzYnICksSyhLTXQsJzcnKSwKLSAgSyhLTXQsJzgnKSxLKEtNdCwnOScpLEsoS010LCcwJyksSyhLTXQsJy0nICksSyhLTXQsJz0nKSxLKEtNdCwnoycpLEsoS010LDEyNyApLEsoS1RmLDIxICksCi0gIEsoS1RmLDIwICksSyhLVGYsMjQgKSxLTlVNTEsgICAgLEtQQURfRFYgICAgLEtQQURfTUwgICAsS1BBRF9IUyAgICxLKEtNdCwgOSAgKSxLKEtNdCwncScpLAotICBLKEtNdCwndycpLEsoS010LCdlJyksSyhLTXQsJ3InKSxLKEtNdCwndCcgKSxLKEtNdCwneScpLEsoS010LCd1JyksSyhLTXQsJ2knICksSyhLTXQsJ28nKSwKLSAgSyhLTXQsJ3AnKSxLKEtNdCwnWycpLEsoS010LCddJyksSyhLTXQsJ1xcJyksSyhLVGYsMjIgKSxLKEtUZiwyMyApLEsoS1RmLDI1ICApLEtQQURBXzcgICAsCi0gIEtQQURBXzggICAsS1BBREFfOSAgICxLUEFEX01JICAgLEtDVFJMICAgICAgLEsoS010LCdhJyksSyhLTXQsJ3MnKSxLKEtNdCwnZCcgKSxLKEtNdCwnZicpLAotICBLKEtNdCwnZycpLEsoS010LCdoJyksSyhLTXQsJ2onKSxLKEtNdCwnaycgKSxLKEtNdCwnbCcpLEsoS010LCc7JyksSyhLTXQsJ1wnJyksSyhLTXQsMTMgKSwKLSAgS1BBREFfNCAgICxLUEFEQV81ICAgLEtQQURBXzYgICAsS1BBRF9QTCAgICAsS1NISUZUICAgICxLSUdOT1JFICAgLEsoS010LCd6JyApLEsoS010LCd4JyksCi0gIEsoS010LCdjJyksSyhLTXQsJ3YnKSxLKEtNdCwnYicpLEsoS010LCduJyApLEsoS010LCdtJyksSyhLTXQsJywnKSxLKEtNdCwnLicgKSxLSUdOT1JFICAgLAotICBLU0hJRlQgICAgLEsoS1RjLEtjdSksS1BBREFfMSAgICxLUEFEQV8yICAgICxLUEFEQV8zICAgLEtDQVBTTEsgICAsS0FMVCAgICAgICAsSyhLTXQsJyAnKSwKLSAgS0FMVEdSICAgICxLQ1RSTCAgICAgLENPTlNfREVDICAsSyhLVGMsS2NkICksQ09OU19JTkMgICxLUEFEQV8wICAgLEtQQURfRFQgICAgLEtQQURfRU4gICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi19OwotCi11X3Nob3J0IGN0cmxfYWx0X21hcFtOUl9LRVlTXT0KLXsKLSAgS0lHTk9SRSAgICxLKEtDbiwgMCApLEsoS0NuLCAxICksSyhLQ24sIDIgICksSyhLQ24sIDMgKSxLKEtDbiwgNCApLEsoS0NuLCA1ICApLEsoS0NuLCA2ICksCi0gIEsoS0NuLCA3ICksSyhLQ24sIDggKSxLKEtDbiwgOSApLEsoS0NuLDEwICApLEsoS0NuLDExICksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSU5UUiAgICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEsoS1RmLDIxICksCi0gIEsoS1RmLDIwICksSyhLVGYsMjQgKSxLTlVNTEsgICAgLEtQQURfRFYgICAgLEtQQURfTUwgICAsS1BBRF9IUyAgICxLSUdOT1JFICAgICxLKEtNdCwxNyApLAotICBLKEtNdCwyMyApLEsoS010LCA1ICksSyhLTXQsMTggKSxLKEtNdCwyMCAgKSxLKEtNdCwyNSApLEsoS010LDIxICksSyhLTXQsIDkgICksSyhLTXQsMTUgKSwKLSAgSyhLTXQsMTYgKSxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS1JFQk9PVCAgICxLKEtUZiwyMyApLEsoS1RmLDI1ICApLEtQQURfNyAgICAsCi0gIEtQQURfOCAgICAsS1BBRF85ICAgICxLUEFEX01JICAgLEtDVFJMICAgICAgLEsoS010LCAxICksSyhLTXQsMTkgKSxLKEtNdCwgNCAgKSxLKEtNdCwgNiApLAotICBLKEtNdCwgNyApLEsoS010LCA4ICksSyhLTXQsMTAgKSxLKEtNdCwxMSAgKSxLKEtNdCwxMiApLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0VOVEVSICAgICwKLSAgS1BBRF80ICAgICxLUEFEXzUgICAgLEtQQURfNiAgICAsS1BBRF9QTCAgICAsS1NISUZUICAgICxLSUdOT1JFICAgLEsoS010LDI2ICApLEsoS010LDI0ICksCi0gIEsoS010LCAzICksSyhLTXQsMjIgKSxLKEtNdCwgMiApLEsoS010LDE0ICApLEsoS010LDEzICksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLU0hJRlQgICAgLEsoS1RjLEtjdSksS1BBRF8xICAgICxLUEFEXzIgICAgICxLUEFEXzMgICAgLEtDQVBTTEsgICAsS0FMVCAgICAgICAsS0lHTk9SRSAgICwKLSAgS0FMVEdSICAgICxLQ1RSTCAgICAgLEsoS1RjLEtjbCksSyhLVGMsS2NkICksSyhLVGMsS2NyKSxLUEFEXzAgICAgLEtSRUJPT1QgICAgLEtQQURfRU4gICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi19OwotCi11c2hvcnQgKmtleV9tYXBzW01BWF9OUl9LRVlNQVBTXSA9IHsKLQlwbGFpbl9tYXAsIHNoaWZ0X21hcCwgYWx0Z3JfbWFwLCAwLAotCWN0cmxfbWFwLCBzaGlmdF9jdHJsX21hcCwgMCwgMCwKLQlhbHRfbWFwLCAwLCAwLCAwLAotCWN0cmxfYWx0X21hcCwJMAotfTsKLQotdW5zaWduZWQgaW50IGtleW1hcF9jb3VudCA9IDc7Ci0KLS8qCi0gKiBQaGlsb3NvcGh5OiBtb3N0IHBlb3BsZSBkbyBub3QgZGVmaW5lIG1vcmUgc3RyaW5ncywgYnV0IHRoZXkgd2hvIGRvCi0gKiBvZnRlbiB3YW50IHF1aXRlIGEgbG90IG9mIHN0cmluZyBzcGFjZS4gU28sIHdlIHN0YXRpY2FsbHkgYWxsb2NhdGUKLSAqIHRoZSBkZWZhdWx0IGFuZCBhbGxvY2F0ZSBkeW5hbWljYWxseSBpbiBjaHVua3Mgb2YgNTEyIGJ5dGVzLgotICovCi0KLWNoYXIgZnVuY19idWZbXSA9IHsKLQknXDAzMycsICdbJywgJ1snLCAnQScsIDAsCi0JJ1wwMzMnLCAnWycsICdbJywgJ0InLCAwLAotCSdcMDMzJywgJ1snLCAnWycsICdDJywgMCwKLQknXDAzMycsICdbJywgJ1snLCAnRCcsIDAsCi0JJ1wwMzMnLCAnWycsICdbJywgJ0UnLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICc3JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICc4JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICc5JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICcwJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICcxJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICczJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc0JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc1JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc2JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc4JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc5JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICcxJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICcyJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICczJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICc0JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnficsIDAsCi0JJ1wwMzMnLCAnWycsICczJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnNCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzUnLCAnficsIDAsCi0JJ1wwMzMnLCAnWycsICc2JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnTScsIDAsCi0JJ1wwMzMnLCAnWycsICdQJywgMCwKLX07Ci0KLWNoYXIgKmZ1bmNidWZwdHIgPSBmdW5jX2J1ZjsKLWludCBmdW5jYnVmc2l6ZSA9IHNpemVvZihmdW5jX2J1Zik7Ci1pbnQgZnVuY2J1ZmxlZnQgPSAwOyAgICAgICAgICAvKiBzcGFjZSBsZWZ0ICovCi0KLWNoYXIgKmZ1bmNfdGFibGVbTUFYX05SX0ZVTkNdID0gewotCWZ1bmNfYnVmICsgMCwKLQlmdW5jX2J1ZiArIDUsCi0JZnVuY19idWYgKyAxMCwKLQlmdW5jX2J1ZiArIDE1LAotCWZ1bmNfYnVmICsgMjAsCi0JZnVuY19idWYgKyAyNSwKLQlmdW5jX2J1ZiArIDMxLAotCWZ1bmNfYnVmICsgMzcsCi0JZnVuY19idWYgKyA0MywKLQlmdW5jX2J1ZiArIDQ5LAotCWZ1bmNfYnVmICsgNTUsCi0JZnVuY19idWYgKyA2MSwKLQlmdW5jX2J1ZiArIDY3LAotCWZ1bmNfYnVmICsgNzMsCi0JZnVuY19idWYgKyA3OSwKLQlmdW5jX2J1ZiArIDg1LAotCWZ1bmNfYnVmICsgOTEsCi0JZnVuY19idWYgKyA5NywKLQlmdW5jX2J1ZiArIDEwMywKLQlmdW5jX2J1ZiArIDEwOSwKLQlmdW5jX2J1ZiArIDExNSwKLQlmdW5jX2J1ZiArIDEyMCwKLQlmdW5jX2J1ZiArIDEyNSwKLQlmdW5jX2J1ZiArIDEzMCwKLQlmdW5jX2J1ZiArIDEzNSwKLQlmdW5jX2J1ZiArIDE0MCwKLQlmdW5jX2J1ZiArIDE0NSwKLQkwLAotCTAsCi0JZnVuY19idWYgKyAxNDksCi0JMCwKLX07Ci0KLXN0cnVjdCBrYmRpYWNydWMgYWNjZW50X3RhYmxlW01BWF9ESUFDUl0gPSB7Ci0JeydgJywgJ0EnLCAwMzAwfSwJeydgJywgJ2EnLCAwMzQwfSwKLQl7J1wnJywgJ0EnLCAwMzAxfSwJeydcJycsICdhJywgMDM0MX0sCi0JeydeJywgJ0EnLCAwMzAyfSwJeydeJywgJ2EnLCAwMzQyfSwKLQl7J34nLCAnQScsIDAzMDN9LAl7J34nLCAnYScsIDAzNDN9LAotCXsnIicsICdBJywgMDMwNH0sCXsnIicsICdhJywgMDM0NH0sCi0JeydPJywgJ0EnLCAwMzA1fSwJeydvJywgJ2EnLCAwMzQ1fSwKLQl7JzAnLCAnQScsIDAzMDV9LAl7JzAnLCAnYScsIDAzNDV9LAotCXsnQScsICdBJywgMDMwNX0sCXsnYScsICdhJywgMDM0NX0sCi0JeydBJywgJ0UnLCAwMzA2fSwJeydhJywgJ2UnLCAwMzQ2fSwKLQl7JywnLCAnQycsIDAzMDd9LAl7JywnLCAnYycsIDAzNDd9LAotCXsnYCcsICdFJywgMDMxMH0sCXsnYCcsICdlJywgMDM1MH0sCi0JeydcJycsICdFJywgMDMxMX0sCXsnXCcnLCAnZScsIDAzNTF9LAotCXsnXicsICdFJywgMDMxMn0sCXsnXicsICdlJywgMDM1Mn0sCi0JeyciJywgJ0UnLCAwMzEzfSwJeyciJywgJ2UnLCAwMzUzfSwKLQl7J2AnLCAnSScsIDAzMTR9LAl7J2AnLCAnaScsIDAzNTR9LAotCXsnXCcnLCAnSScsIDAzMTV9LAl7J1wnJywgJ2knLCAwMzU1fSwKLQl7J14nLCAnSScsIDAzMTZ9LAl7J14nLCAnaScsIDAzNTZ9LAotCXsnIicsICdJJywgMDMxN30sCXsnIicsICdpJywgMDM1N30sCi0JeyctJywgJ0QnLCAwMzIwfSwJeyctJywgJ2QnLCAwMzYwfSwKLQl7J34nLCAnTicsIDAzMjF9LAl7J34nLCAnbicsIDAzNjF9LAotCXsnYCcsICdPJywgMDMyMn0sCXsnYCcsICdvJywgMDM2Mn0sCi0JeydcJycsICdPJywgMDMyM30sCXsnXCcnLCAnbycsIDAzNjN9LAotCXsnXicsICdPJywgMDMyNH0sCXsnXicsICdvJywgMDM2NH0sCi0Jeyd+JywgJ08nLCAwMzI1fSwJeyd+JywgJ28nLCAwMzY1fSwKLQl7JyInLCAnTycsIDAzMjZ9LAl7JyInLCAnbycsIDAzNjZ9LAotCXsnLycsICdPJywgMDMzMH0sCXsnLycsICdvJywgMDM3MH0sCi0JeydgJywgJ1UnLCAwMzMxfSwJeydgJywgJ3UnLCAwMzcxfSwKLQl7J1wnJywgJ1UnLCAwMzMyfSwJeydcJycsICd1JywgMDM3Mn0sCi0JeydeJywgJ1UnLCAwMzMzfSwJeydeJywgJ3UnLCAwMzczfSwKLQl7JyInLCAnVScsIDAzMzR9LAl7JyInLCAndScsIDAzNzR9LAotCXsnXCcnLCAnWScsIDAzMzV9LAl7J1wnJywgJ3knLCAwMzc1fSwKLQl7J1QnLCAnSCcsIDAzMzZ9LAl7J3QnLCAnaCcsIDAzNzZ9LAotCXsncycsICdzJywgMDMzN30sCXsnIicsICd5JywgMDM3N30sCi0JeydzJywgJ3onLCAwMzM3fSwJeydpJywgJ2onLCAwMzc3fSwKLX07Ci0KLXVuc2lnbmVkIGludCBhY2NlbnRfdGFibGVfc2l6ZSA9IDY4OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL0tjb25maWcgYi9kcml2ZXJzL2FjcGkvS2NvbmZpZwppbmRleCBjNTJmY2E4Li5iYmE4NjczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2FjcGkvS2NvbmZpZworKysgYi9kcml2ZXJzL2FjcGkvS2NvbmZpZwpAQCAtNCw4ICs0LDYgQEAKIAogbWVudWNvbmZpZyBBQ1BJCiAJYm9vbCAiQUNQSSAoQWR2YW5jZWQgQ29uZmlndXJhdGlvbiBhbmQgUG93ZXIgSW50ZXJmYWNlKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gIVg4Nl9OVU1BUQotCWRlcGVuZHMgb24gIVg4Nl9WSVNXUwogCWRlcGVuZHMgb24gIUlBNjRfSFBfU0lNCiAJZGVwZW5kcyBvbiBJQTY0IHx8IFg4NgogCWRlcGVuZHMgb24gUENJCmRpZmYgLS1naXQgYS9kcml2ZXJzL2FjcGkvcHJvY2Vzc29yX2lkbGUuYyBiL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfaWRsZS5jCmluZGV4IDU1NmVlMTUuLjQ5NzZlNWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfaWRsZS5jCisrKyBiL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfaWRsZS5jCkBAIC0xMzM5LDcgKzEzMzksNyBAQAogc3RhdGljIGludCBhY3BpX3Byb2Nlc3Nvcl9sYXRlbmN5X25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKmIsCiAJCXVuc2lnbmVkIGxvbmcgbCwgdm9pZCAqdikKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzbXBfY2FsbGJhY2ssIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKHNtcF9jYWxsYmFjaywgTlVMTCwgMSk7CiAJcmV0dXJuIE5PVElGWV9PSzsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvYWhjaS5jIGIvZHJpdmVycy9hdGEvYWhjaS5jCmluZGV4IDVlNjQ2OGEuLmRjNzU5NmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2FoY2kuYworKysgYi9kcml2ZXJzL2F0YS9haGNpLmMKQEAgLTU2LDYgKzU2LDEyIEBACiBzdGF0aWMgaW50IGFoY2lfZW5hYmxlX2FscG0oc3RydWN0IGF0YV9wb3J0ICphcCwKIAkJZW51bSBsaW5rX3BtIHBvbGljeSk7CiBzdGF0aWMgdm9pZCBhaGNpX2Rpc2FibGVfYWxwbShzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3Nob3coc3RydWN0IGF0YV9wb3J0ICphcCwgY2hhciAqYnVmKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3N0b3JlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKmJ1ZiwKKwkJCSAgICAgIHNpemVfdCBzaXplKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfdHJhbnNtaXRfbGVkX21lc3NhZ2Uoc3RydWN0IGF0YV9wb3J0ICphcCwgdTMyIHN0YXRlLAorCQkJCQlzc2l6ZV90IHNpemUpOworI2RlZmluZSBNQVhfU0xPVFMgOAogCiBlbnVtIHsKIAlBSENJX1BDSV9CQVIJCT0gNSwKQEAgLTk4LDYgKzEwNCw4IEBACiAJSE9TVF9JUlFfU1RBVAkJPSAweDA4LCAvKiBpbnRlcnJ1cHQgc3RhdHVzICovCiAJSE9TVF9QT1JUU19JTVBMCQk9IDB4MGMsIC8qIGJpdG1hcCBvZiBpbXBsZW1lbnRlZCBwb3J0cyAqLwogCUhPU1RfVkVSU0lPTgkJPSAweDEwLCAvKiBBSENJIHNwZWMuIHZlcnNpb24gY29tcGxpYW5jeSAqLworCUhPU1RfRU1fTE9DCQk9IDB4MWMsIC8qIEVuY2xvc3VyZSBNYW5hZ2VtZW50IGxvY2F0aW9uICovCisJSE9TVF9FTV9DVEwJCT0gMHgyMCwgLyogRW5jbG9zdXJlIE1hbmFnZW1lbnQgQ29udHJvbCAqLwogCiAJLyogSE9TVF9DVEwgYml0cyAqLwogCUhPU1RfUkVTRVQJCT0gKDEgPDwgMCksICAvKiByZXNldCBjb250cm9sbGVyOyBzZWxmLWNsZWFyICovCkBAIC0xMDUsNiArMTEzLDcgQEAKIAlIT1NUX0FIQ0lfRU4JCT0gKDEgPDwgMzEpLCAvKiBBSENJIGVuYWJsZWQgKi8KIAogCS8qIEhPU1RfQ0FQIGJpdHMgKi8KKwlIT1NUX0NBUF9FTVMJCT0gKDEgPDwgNiksICAvKiBFbmNsb3N1cmUgTWFuYWdlbWVudCBzdXBwb3J0ICovCiAJSE9TVF9DQVBfU1NDCQk9ICgxIDw8IDE0KSwgLyogU2x1bWJlciBjYXBhYmxlICovCiAJSE9TVF9DQVBfUE1QCQk9ICgxIDw8IDE3KSwgLyogUG9ydCBNdWx0aXBsaWVyIHN1cHBvcnQgKi8KIAlIT1NUX0NBUF9DTE8JCT0gKDEgPDwgMjQpLCAvKiBDb21tYW5kIExpc3QgT3ZlcnJpZGUgc3VwcG9ydCAqLwpAQCAtMjAyLDYgKzIxMSwxMSBAQAogCQkJCQkgIEFUQV9GTEFHX0lQTSwKIAogCUlDSF9NQVAJCQkJPSAweDkwLCAvKiBJQ0ggTUFQIHJlZ2lzdGVyICovCisKKwkvKiBlbV9jdGwgYml0cyAqLworCUVNX0NUTF9SU1QJCQk9ICgxIDw8IDkpLCAvKiBSZXNldCAqLworCUVNX0NUTF9UTQkJCT0gKDEgPDwgOCksIC8qIFRyYW5zbWl0IE1lc3NhZ2UgKi8KKwlFTV9DVExfQUxIRAkJCT0gKDEgPDwgMjYpLCAvKiBBY3Rpdml0eSBMRUQgKi8KIH07CiAKIHN0cnVjdCBhaGNpX2NtZF9oZHIgewpAQCAtMjE5LDEyICsyMzMsMjEgQEAKIAlfX2xlMzIJCQlmbGFnc19zaXplOwogfTsKIAorc3RydWN0IGFoY2lfZW1fcHJpdiB7CisJZW51bSBzd19hY3Rpdml0eSBibGlua19wb2xpY3k7CisJc3RydWN0IHRpbWVyX2xpc3QgdGltZXI7CisJdW5zaWduZWQgbG9uZyBzYXZlZF9hY3Rpdml0eTsKKwl1bnNpZ25lZCBsb25nIGFjdGl2aXR5OworCXVuc2lnbmVkIGxvbmcgbGVkX3N0YXRlOworfTsKKwogc3RydWN0IGFoY2lfaG9zdF9wcml2IHsKIAl1bnNpZ25lZCBpbnQJCWZsYWdzOwkJLyogQUhDSV9IRkxBR18qICovCiAJdTMyCQkJY2FwOwkJLyogY2FwIHRvIHVzZSAqLwogCXUzMgkJCXBvcnRfbWFwOwkvKiBwb3J0IG1hcCB0byB1c2UgKi8KIAl1MzIJCQlzYXZlZF9jYXA7CS8qIHNhdmVkIGluaXRpYWwgY2FwICovCiAJdTMyCQkJc2F2ZWRfcG9ydF9tYXA7CS8qIHNhdmVkIGluaXRpYWwgcG9ydF9tYXAgKi8KKwl1MzIgCQkJZW1fbG9jOyAvKiBlbmNsb3N1cmUgbWFuYWdlbWVudCBsb2NhdGlvbiAqLwogfTsKIAogc3RydWN0IGFoY2lfcG9ydF9wcml2IHsKQEAgLTI0MCw2ICsyNjMsOCBAQAogCXVuc2lnbmVkIGludAkJbmNxX3Nhd19kbWFzOjE7CiAJdW5zaWduZWQgaW50CQluY3Ffc2F3X3NkYjoxOwogCXUzMiAJCQlpbnRyX21hc2s7CS8qIGludGVycnVwdHMgdG8gZW5hYmxlICovCisJc3RydWN0IGFoY2lfZW1fcHJpdgllbV9wcml2W01BWF9TTE9UU107LyogZW5jbG9zdXJlIG1hbmFnZW1lbnQgaW5mbworCQkJCQkgCSAqIHBlciBQTSBzbG90ICovCiB9OwogCiBzdGF0aWMgaW50IGFoY2lfc2NyX3JlYWQoc3RydWN0IGF0YV9wb3J0ICphcCwgdW5zaWduZWQgaW50IHNjX3JlZywgdTMyICp2YWwpOwpAQCAtMjc3LDkgKzMwMiwyMCBAQAogc3RhdGljIGludCBhaGNpX3BjaV9kZXZpY2Vfc3VzcGVuZChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgcG1fbWVzc2FnZV90IG1lc2cpOwogc3RhdGljIGludCBhaGNpX3BjaV9kZXZpY2VfcmVzdW1lKHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKICNlbmRpZgorc3RhdGljIHNzaXplX3QgYWhjaV9hY3Rpdml0eV9zaG93KHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIGNoYXIgKmJ1Zik7CitzdGF0aWMgc3NpemVfdCBhaGNpX2FjdGl2aXR5X3N0b3JlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsCisJCQkJICAgZW51bSBzd19hY3Rpdml0eSB2YWwpOworc3RhdGljIHZvaWQgYWhjaV9pbml0X3N3X2FjdGl2aXR5KHN0cnVjdCBhdGFfbGluayAqbGluayk7CiAKIHN0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYWhjaV9zaG9zdF9hdHRyc1tdID0gewogCSZkZXZfYXR0cl9saW5rX3Bvd2VyX21hbmFnZW1lbnRfcG9saWN5LAorCSZkZXZfYXR0cl9lbV9tZXNzYWdlX3R5cGUsCisJJmRldl9hdHRyX2VtX21lc3NhZ2UsCisJTlVMTAorfTsKKworc3RhdGljIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphaGNpX3NkZXZfYXR0cnNbXSA9IHsKKwkmZGV2X2F0dHJfc3dfYWN0aXZpdHksCiAJTlVMTAogfTsKIApAQCAtMjg5LDYgKzMyNSw3IEBACiAJLnNnX3RhYmxlc2l6ZQkJPSBBSENJX01BWF9TRywKIAkuZG1hX2JvdW5kYXJ5CQk9IEFIQ0lfRE1BX0JPVU5EQVJZLAogCS5zaG9zdF9hdHRycwkJPSBhaGNpX3Nob3N0X2F0dHJzLAorCS5zZGV2X2F0dHJzCQk9IGFoY2lfc2Rldl9hdHRycywKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgYXRhX3BvcnRfb3BlcmF0aW9ucyBhaGNpX29wcyA9IHsKQEAgLTMxNiw2ICszNTMsMTAgQEAKIAogCS5lbmFibGVfcG0JCT0gYWhjaV9lbmFibGVfYWxwbSwKIAkuZGlzYWJsZV9wbQkJPSBhaGNpX2Rpc2FibGVfYWxwbSwKKwkuZW1fc2hvdwkJPSBhaGNpX2xlZF9zaG93LAorCS5lbV9zdG9yZQkJPSBhaGNpX2xlZF9zdG9yZSwKKwkuc3dfYWN0aXZpdHlfc2hvdwk9IGFoY2lfYWN0aXZpdHlfc2hvdywKKwkuc3dfYWN0aXZpdHlfc3RvcmUJPSBhaGNpX2FjdGl2aXR5X3N0b3JlLAogI2lmZGVmIENPTkZJR19QTQogCS5wb3J0X3N1c3BlbmQJCT0gYWhjaV9wb3J0X3N1c3BlbmQsCiAJLnBvcnRfcmVzdW1lCQk9IGFoY2lfcG9ydF9yZXN1bWUsCkBAIC01NjEsNiArNjAyLDExIEBACiAjZW5kaWYKIH07CiAKK3N0YXRpYyBpbnQgYWhjaV9lbV9tZXNzYWdlcyA9IDE7Cittb2R1bGVfcGFyYW0oYWhjaV9lbV9tZXNzYWdlcywgaW50LCAwNDQ0KTsKKy8qIGFkZCBvdGhlciBMRUQgcHJvdG9jb2wgdHlwZXMgd2hlbiB0aGV5IGJlY29tZSBzdXBwb3J0ZWQgKi8KK01PRFVMRV9QQVJNX0RFU0MoYWhjaV9lbV9tZXNzYWdlcywKKwkiU2V0IEFIQ0kgRW5jbG9zdXJlIE1hbmFnZW1lbnQgTWVzc2FnZSB0eXBlICgwID0gZGlzYWJsZWQsIDEgPSBMRUQiKTsKIAogc3RhdGljIGlubGluZSBpbnQgYWhjaV9ucl9wb3J0cyh1MzIgY2FwKQogewpAQCAtMTAzMSwxMSArMTA3NywyOCBAQAogCiBzdGF0aWMgdm9pZCBhaGNpX3N0YXJ0X3BvcnQoc3RydWN0IGF0YV9wb3J0ICphcCkKIHsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wOworCiAJLyogZW5hYmxlIEZJUyByZWNlcHRpb24gKi8KIAlhaGNpX3N0YXJ0X2Zpc19yeChhcCk7CiAKIAkvKiBlbmFibGUgRE1BICovCiAJYWhjaV9zdGFydF9lbmdpbmUoYXApOworCisJLyogdHVybiBvbiBMRURzICovCisJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKSB7CisJCWF0YV9wb3J0X2Zvcl9lYWNoX2xpbmsobGluaywgYXApIHsKKwkJCWVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCQkJYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShhcCwgZW1wLT5sZWRfc3RhdGUsIDQpOworCQl9CisJfQorCisJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX1NXX0FDVElWSVRZKQorCQlhdGFfcG9ydF9mb3JfZWFjaF9saW5rKGxpbmssIGFwKQorCQkJYWhjaV9pbml0X3N3X2FjdGl2aXR5KGxpbmspOworCiB9CiAKIHN0YXRpYyBpbnQgYWhjaV9kZWluaXRfcG9ydChzdHJ1Y3QgYXRhX3BvcnQgKmFwLCBjb25zdCBjaGFyICoqZW1zZykKQEAgLTEwNzksMTIgKzExNDIsMTUgQEAKIAkJCXJlYWRsKG1taW8gKyBIT1NUX0NUTCk7IC8qIGZsdXNoICovCiAJCX0KIAotCQkvKiByZXNldCBtdXN0IGNvbXBsZXRlIHdpdGhpbiAxIHNlY29uZCwgb3IKKwkJLyoKKwkJICogdG8gcGVyZm9ybSBob3N0IHJlc2V0LCBPUyBzaG91bGQgc2V0IEhPU1RfUkVTRVQKKwkJICogYW5kIHBvbGwgdW50aWwgdGhpcyBiaXQgaXMgcmVhZCB0byBiZSAiMCIuCisJCSAqIHJlc2V0IG11c3QgY29tcGxldGUgd2l0aGluIDEgc2Vjb25kLCBvcgogCQkgKiB0aGUgaGFyZHdhcmUgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZnJpZWQuCiAJCSAqLwotCQlzc2xlZXAoMSk7CisJCXRtcCA9IGF0YV93YWl0X3JlZ2lzdGVyKG1taW8gKyBIT1NUX0NUTCwgSE9TVF9SRVNFVCwKKwkJCQkJSE9TVF9SRVNFVCwgMTAsIDEwMDApOwogCi0JCXRtcCA9IHJlYWRsKG1taW8gKyBIT1NUX0NUTCk7CiAJCWlmICh0bXAgJiBIT1NUX1JFU0VUKSB7CiAJCQlkZXZfcHJpbnRrKEtFUk5fRVJSLCBob3N0LT5kZXYsCiAJCQkJICAgImNvbnRyb2xsZXIgcmVzZXQgZmFpbGVkICgweCV4KVxuIiwgdG1wKTsKQEAgLTExMTYsNiArMTE4MiwyMzAgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgYWhjaV9zd19hY3Rpdml0eShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspCit7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCisJaWYgKCEobGluay0+ZmxhZ3MgJiBBVEFfTEZMQUdfU1dfQUNUSVZJVFkpKQorCQlyZXR1cm47CisKKwllbXAtPmFjdGl2aXR5Kys7CisJaWYgKCF0aW1lcl9wZW5kaW5nKCZlbXAtPnRpbWVyKSkKKwkJbW9kX3RpbWVyKCZlbXAtPnRpbWVyLCBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcygxMCkpOworfQorCitzdGF0aWMgdm9pZCBhaGNpX3N3X2FjdGl2aXR5X2JsaW5rKHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXN0cnVjdCBhdGFfbGluayAqbGluayA9IChzdHJ1Y3QgYXRhX2xpbmsgKilhcmc7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCXVuc2lnbmVkIGxvbmcgbGVkX21lc3NhZ2UgPSBlbXAtPmxlZF9zdGF0ZTsKKwl1MzIgYWN0aXZpdHlfbGVkX3N0YXRlOworCisJbGVkX21lc3NhZ2UgJj0gMHhmZmZmMDAwMDsKKwlsZWRfbWVzc2FnZSB8PSBhcC0+cG9ydF9ubyB8IChsaW5rLT5wbXAgPDwgOCk7CisKKwkvKiBjaGVjayB0byBzZWUgaWYgd2UndmUgaGFkIGFjdGl2aXR5LiAgSWYgc28sCisJICogdG9nZ2xlIHN0YXRlIG9mIExFRCBhbmQgcmVzZXQgdGltZXIuICBJZiBub3QsCisJICogdHVybiBMRUQgdG8gZGVzaXJlZCBpZGxlIHN0YXRlLgorCSAqLworCWlmIChlbXAtPnNhdmVkX2FjdGl2aXR5ICE9IGVtcC0+YWN0aXZpdHkpIHsKKwkJZW1wLT5zYXZlZF9hY3Rpdml0eSA9IGVtcC0+YWN0aXZpdHk7CisJCS8qIGdldCB0aGUgY3VycmVudCBMRUQgc3RhdGUgKi8KKwkJYWN0aXZpdHlfbGVkX3N0YXRlID0gbGVkX21lc3NhZ2UgJiAweDAwMDEwMDAwOworCisJCWlmIChhY3Rpdml0eV9sZWRfc3RhdGUpCisJCQlhY3Rpdml0eV9sZWRfc3RhdGUgPSAwOworCQllbHNlCisJCQlhY3Rpdml0eV9sZWRfc3RhdGUgPSAxOworCisJCS8qIGNsZWFyIG9sZCBzdGF0ZSAqLworCQlsZWRfbWVzc2FnZSAmPSAweGZmZjhmZmZmOworCisJCS8qIHRvZ2dsZSBzdGF0ZSAqLworCQlsZWRfbWVzc2FnZSB8PSAoYWN0aXZpdHlfbGVkX3N0YXRlIDw8IDE2KTsKKwkJbW9kX3RpbWVyKCZlbXAtPnRpbWVyLCBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcygxMDApKTsKKwl9IGVsc2UgeworCQkvKiBzd2l0Y2ggdG8gaWRsZSAqLworCQlsZWRfbWVzc2FnZSAmPSAweGZmZjhmZmZmOworCQlpZiAoZW1wLT5ibGlua19wb2xpY3kgPT0gQkxJTktfT0ZGKQorCQkJbGVkX21lc3NhZ2UgfD0gKDEgPDwgMTYpOworCX0KKwlhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKGFwLCBsZWRfbWVzc2FnZSwgNCk7Cit9CisKK3N0YXRpYyB2b2lkIGFoY2lfaW5pdF9zd19hY3Rpdml0eShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspCit7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCisJLyogaW5pdCBhY3Rpdml0eSBzdGF0cywgc2V0dXAgdGltZXIgKi8KKwllbXAtPnNhdmVkX2FjdGl2aXR5ID0gZW1wLT5hY3Rpdml0eSA9IDA7CisJc2V0dXBfdGltZXIoJmVtcC0+dGltZXIsIGFoY2lfc3dfYWN0aXZpdHlfYmxpbmssICh1bnNpZ25lZCBsb25nKWxpbmspOworCisJLyogY2hlY2sgb3VyIGJsaW5rIHBvbGljeSBhbmQgc2V0IGZsYWcgZm9yIGxpbmsgaWYgaXQncyBlbmFibGVkICovCisJaWYgKGVtcC0+YmxpbmtfcG9saWN5KQorCQlsaW5rLT5mbGFncyB8PSBBVEFfTEZMQUdfU1dfQUNUSVZJVFk7Cit9CisKK3N0YXRpYyBpbnQgYWhjaV9yZXNldF9lbShzdHJ1Y3QgYXRhX2hvc3QgKmhvc3QpCit7CisJdm9pZCBfX2lvbWVtICptbWlvID0gaG9zdC0+aW9tYXBbQUhDSV9QQ0lfQkFSXTsKKwl1MzIgZW1fY3RsOworCisJZW1fY3RsID0gcmVhZGwobW1pbyArIEhPU1RfRU1fQ1RMKTsKKwlpZiAoKGVtX2N0bCAmIEVNX0NUTF9UTSkgfHwgKGVtX2N0bCAmIEVNX0NUTF9SU1QpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXdyaXRlbChlbV9jdGwgfCBFTV9DVExfUlNULCBtbWlvICsgSE9TVF9FTV9DVEwpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIHUzMiBzdGF0ZSwKKwkJCQkJc3NpemVfdCBzaXplKQoreworCXN0cnVjdCBhaGNpX2hvc3RfcHJpdiAqaHByaXYgPSBhcC0+aG9zdC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXZvaWQgX19pb21lbSAqbW1pbyA9IGFwLT5ob3N0LT5pb21hcFtBSENJX1BDSV9CQVJdOworCXUzMiBlbV9jdGw7CisJdTMyIG1lc3NhZ2VbXSA9IHswLCAwfTsKKwl1bnNpZ25lZCBpbnQgZmxhZ3M7CisJaW50IHBtcDsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXA7CisKKwkvKiBnZXQgdGhlIHNsb3QgbnVtYmVyIGZyb20gdGhlIG1lc3NhZ2UgKi8KKwlwbXAgPSAoc3RhdGUgJiAweDAwMDBmZjAwKSA+PiA4OworCWlmIChwbXAgPCBNQVhfU0xPVFMpCisJCWVtcCA9ICZwcC0+ZW1fcHJpdltwbXBdOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzcGluX2xvY2tfaXJxc2F2ZShhcC0+bG9jaywgZmxhZ3MpOworCisJLyoKKwkgKiBpZiB3ZSBhcmUgc3RpbGwgYnVzeSB0cmFuc21pdHRpbmcgYSBwcmV2aW91cyBtZXNzYWdlLAorCSAqIGRvIG5vdCBhbGxvdworCSAqLworCWVtX2N0bCA9IHJlYWRsKG1taW8gKyBIT1NUX0VNX0NUTCk7CisJaWYgKGVtX2N0bCAmIEVNX0NUTF9UTSkgeworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGFwLT5sb2NrLCBmbGFncyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qCisJICogY3JlYXRlIG1lc3NhZ2UgaGVhZGVyIC0gdGhpcyBpcyBhbGwgemVybyBleGNlcHQgZm9yCisJICogdGhlIG1lc3NhZ2Ugc2l6ZSwgd2hpY2ggaXMgNCBieXRlcy4KKwkgKi8KKwltZXNzYWdlWzBdIHw9ICg0IDw8IDgpOworCisJLyogaWdub3JlIDA6NCBvZiBieXRlIHplcm8sIGZpbGwgaW4gcG9ydCBpbmZvIHlvdXJzZWxmICovCisJbWVzc2FnZVsxXSA9ICgoc3RhdGUgJiAweGZmZmZmZmYwKSB8IGFwLT5wb3J0X25vKTsKKworCS8qIHdyaXRlIG1lc3NhZ2UgdG8gRU1fTE9DICovCisJd3JpdGVsKG1lc3NhZ2VbMF0sIG1taW8gKyBocHJpdi0+ZW1fbG9jKTsKKwl3cml0ZWwobWVzc2FnZVsxXSwgbW1pbyArIGhwcml2LT5lbV9sb2MrNCk7CisKKwkvKiBzYXZlIG9mZiBuZXcgbGVkIHN0YXRlIGZvciBwb3J0L3Nsb3QgKi8KKwllbXAtPmxlZF9zdGF0ZSA9IG1lc3NhZ2VbMV07CisKKwkvKgorCSAqIHRlbGwgaGFyZHdhcmUgdG8gdHJhbnNtaXQgdGhlIG1lc3NhZ2UKKwkgKi8KKwl3cml0ZWwoZW1fY3RsIHwgRU1fQ1RMX1RNLCBtbWlvICsgSE9TVF9FTV9DVEwpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShhcC0+bG9jaywgZmxhZ3MpOworCXJldHVybiBzaXplOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX2xlZF9zaG93KHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wOworCWludCByYyA9IDA7CisKKwlhdGFfcG9ydF9mb3JfZWFjaF9saW5rKGxpbmssIGFwKSB7CisJCWVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCQlyYyArPSBzcHJpbnRmKGJ1ZiwgIiVseFxuIiwgZW1wLT5sZWRfc3RhdGUpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3N0b3JlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKmJ1ZiwKKwkJCQlzaXplX3Qgc2l6ZSkKK3sKKwlpbnQgc3RhdGU7CisJaW50IHBtcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXA7CisKKwlzdGF0ZSA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMCk7CisKKwkvKiBnZXQgdGhlIHNsb3QgbnVtYmVyIGZyb20gdGhlIG1lc3NhZ2UgKi8KKwlwbXAgPSAoc3RhdGUgJiAweDAwMDBmZjAwKSA+PiA4OworCWlmIChwbXAgPCBNQVhfU0xPVFMpCisJCWVtcCA9ICZwcC0+ZW1fcHJpdltwbXBdOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBtYXNrIG9mZiB0aGUgYWN0aXZpdHkgYml0cyBpZiB3ZSBhcmUgaW4gc3dfYWN0aXZpdHkKKwkgKiBtb2RlLCB1c2VyIHNob3VsZCB0dXJuIG9mZiBzd19hY3Rpdml0eSBiZWZvcmUgc2V0dGluZworCSAqIGFjdGl2aXR5IGxlZCB0aHJvdWdoIGVtX21lc3NhZ2UKKwkgKi8KKwlpZiAoZW1wLT5ibGlua19wb2xpY3kpCisJCXN0YXRlICY9IDB4ZmZmOGZmZmY7CisKKwlyZXR1cm4gYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShhcCwgc3RhdGUsIHNpemUpOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX2FjdGl2aXR5X3N0b3JlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIGVudW0gc3dfYWN0aXZpdHkgdmFsKQoreworCXN0cnVjdCBhdGFfbGluayAqbGluayA9IGRldi0+bGluazsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gbGluay0+YXA7CisJc3RydWN0IGFoY2lfcG9ydF9wcml2ICpwcCA9IGFwLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wID0gJnBwLT5lbV9wcml2W2xpbmstPnBtcF07CisJdTMyIHBvcnRfbGVkX3N0YXRlID0gZW1wLT5sZWRfc3RhdGU7CisKKwkvKiBzYXZlIHRoZSBkZXNpcmVkIEFjdGl2aXR5IExFRCBiZWhhdmlvciAqLworCWlmICh2YWwgPT0gT0ZGKSB7CisJCS8qIGNsZWFyIExGTEFHICovCisJCWxpbmstPmZsYWdzICY9IH4oQVRBX0xGTEFHX1NXX0FDVElWSVRZKTsKKworCQkvKiBzZXQgdGhlIExFRCB0byBPRkYgKi8KKwkJcG9ydF9sZWRfc3RhdGUgJj0gMHhmZmY4MDAwMDsKKwkJcG9ydF9sZWRfc3RhdGUgfD0gKGFwLT5wb3J0X25vIHwgKGxpbmstPnBtcCA8PCA4KSk7CisJCWFoY2lfdHJhbnNtaXRfbGVkX21lc3NhZ2UoYXAsIHBvcnRfbGVkX3N0YXRlLCA0KTsKKwl9IGVsc2UgeworCQlsaW5rLT5mbGFncyB8PSBBVEFfTEZMQUdfU1dfQUNUSVZJVFk7CisJCWlmICh2YWwgPT0gQkxJTktfT0ZGKSB7CisJCQkvKiBzZXQgTEVEIHRvIE9OIGZvciBpZGxlICovCisJCQlwb3J0X2xlZF9zdGF0ZSAmPSAweGZmZjgwMDAwOworCQkJcG9ydF9sZWRfc3RhdGUgfD0gKGFwLT5wb3J0X25vIHwgKGxpbmstPnBtcCA8PCA4KSk7CisJCQlwb3J0X2xlZF9zdGF0ZSB8PSAweDAwMDEwMDAwOyAvKiBjaGVjayB0aGlzICovCisJCQlhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKGFwLCBwb3J0X2xlZF9zdGF0ZSwgNCk7CisJCX0KKwl9CisJZW1wLT5ibGlua19wb2xpY3kgPSB2YWw7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGFoY2lfYWN0aXZpdHlfc2hvdyhzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCBjaGFyICpidWYpCit7CisJc3RydWN0IGF0YV9saW5rICpsaW5rID0gZGV2LT5saW5rOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBsaW5rLT5hcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXAgPSAmcHAtPmVtX3ByaXZbbGluay0+cG1wXTsKKworCS8qIGRpc3BsYXkgdGhlIHNhdmVkIHZhbHVlIG9mIGFjdGl2aXR5IGJlaGF2aW9yIGZvciB0aGlzCisJICogZGlzay4KKwkgKi8KKwlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgZW1wLT5ibGlua19wb2xpY3kpOworfQorCiBzdGF0aWMgdm9pZCBhaGNpX3BvcnRfaW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgc3RydWN0IGF0YV9wb3J0ICphcCwKIAkJCSAgIGludCBwb3J0X25vLCB2b2lkIF9faW9tZW0gKm1taW8sCiAJCQkgICB2b2lkIF9faW9tZW0gKnBvcnRfbW1pbykKQEAgLTE4NDYsNyArMjEzNiw4IEBACiAJaWYgKHFjLT50Zi5wcm90b2NvbCA9PSBBVEFfUFJPVF9OQ1EpCiAJCXdyaXRlbCgxIDw8IHFjLT50YWcsIHBvcnRfbW1pbyArIFBPUlRfU0NSX0FDVCk7CiAJd3JpdGVsKDEgPDwgcWMtPnRhZywgcG9ydF9tbWlvICsgUE9SVF9DTURfSVNTVUUpOwotCXJlYWRsKHBvcnRfbW1pbyArIFBPUlRfQ01EX0lTU1VFKTsJLyogZmx1c2ggKi8KKworCWFoY2lfc3dfYWN0aXZpdHkocWMtPmRldi0+bGluayk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTIxNTQsNyArMjQ0NSw4IEBACiAJZGV2X3ByaW50ayhLRVJOX0lORk8sICZwZGV2LT5kZXYsCiAJCSJmbGFnczogIgogCQkiJXMlcyVzJXMlcyVzJXMiCi0JCSIlcyVzJXMlcyVzJXMlc1xuIgorCQkiJXMlcyVzJXMlcyVzJXMiCisJCSIlc1xuIgogCQksCiAKIAkJY2FwICYgKDEgPDwgMzEpID8gIjY0Yml0ICIgOiAiIiwKQEAgLTIxNzEsNyArMjQ2Myw4IEBACiAJCWNhcCAmICgxIDw8IDE3KSA/ICJwbXAgIiA6ICIiLAogCQljYXAgJiAoMSA8PCAxNSkgPyAicGlvICIgOiAiIiwKIAkJY2FwICYgKDEgPDwgMTQpID8gInNsdW0gIiA6ICIiLAotCQljYXAgJiAoMSA8PCAxMykgPyAicGFydCAiIDogIiIKKwkJY2FwICYgKDEgPDwgMTMpID8gInBhcnQgIiA6ICIiLAorCQljYXAgJiAoMSA8PCA2KSA/ICJlbXMgIjogIiIKIAkJKTsKIH0KIApAQCAtMjI5MSw2ICsyNTg0LDI0IEBACiAJaWYgKGhwcml2LT5jYXAgJiBIT1NUX0NBUF9QTVApCiAJCXBpLmZsYWdzIHw9IEFUQV9GTEFHX1BNUDsKIAorCWlmIChhaGNpX2VtX21lc3NhZ2VzICYmIChocHJpdi0+Y2FwICYgSE9TVF9DQVBfRU1TKSkgeworCQl1OCBtZXNzYWdlczsKKwkJdm9pZCBfX2lvbWVtICptbWlvID0gcGNpbV9pb21hcF90YWJsZShwZGV2KVtBSENJX1BDSV9CQVJdOworCQl1MzIgZW1fbG9jID0gcmVhZGwobW1pbyArIEhPU1RfRU1fTE9DKTsKKwkJdTMyIGVtX2N0bCA9IHJlYWRsKG1taW8gKyBIT1NUX0VNX0NUTCk7CisKKwkJbWVzc2FnZXMgPSAoZW1fY3RsICYgMHgwMDBmMDAwMCkgPj4gMTY7CisKKwkJLyogd2Ugb25seSBzdXBwb3J0IExFRCBtZXNzYWdlIHR5cGUgcmlnaHQgbm93ICovCisJCWlmICgobWVzc2FnZXMgJiAweDAxKSAmJiAoYWhjaV9lbV9tZXNzYWdlcyA9PSAxKSkgeworCQkJLyogc3RvcmUgZW1fbG9jICovCisJCQlocHJpdi0+ZW1fbG9jID0gKChlbV9sb2MgPj4gMTYpICogNCk7CisJCQlwaS5mbGFncyB8PSBBVEFfRkxBR19FTTsKKwkJCWlmICghKGVtX2N0bCAmIEVNX0NUTF9BTEhEKSkKKwkJCQlwaS5mbGFncyB8PSBBVEFfRkxBR19TV19BQ1RJVklUWTsKKwkJfQorCX0KKwogCS8qIENBUC5OUCBzb21ldGltZXMgaW5kaWNhdGUgdGhlIGluZGV4IG9mIHRoZSBsYXN0IGVuYWJsZWQKIAkgKiBwb3J0LCBhdCBvdGhlciB0aW1lcywgdGhhdCBvZiB0aGUgbGFzdCBwb3NzaWJsZSBwb3J0LCBzbwogCSAqIGRldGVybWluaW5nIHRoZSBtYXhpbXVtIHBvcnQgbnVtYmVyIHJlcXVpcmVzIGxvb2tpbmcgYXQKQEAgLTIzMDQsNiArMjYxNSw5IEBACiAJaG9zdC0+aW9tYXAgPSBwY2ltX2lvbWFwX3RhYmxlKHBkZXYpOwogCWhvc3QtPnByaXZhdGVfZGF0YSA9IGhwcml2OwogCisJaWYgKHBpLmZsYWdzICYgQVRBX0ZMQUdfRU0pCisJCWFoY2lfcmVzZXRfZW0oaG9zdCk7CisKIAlmb3IgKGkgPSAwOyBpIDwgaG9zdC0+bl9wb3J0czsgaSsrKSB7CiAJCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBob3N0LT5wb3J0c1tpXTsKIApAQCAtMjMxNCw2ICsyNjI4LDExIEBACiAJCS8qIHNldCBpbml0aWFsIGxpbmsgcG0gcG9saWN5ICovCiAJCWFwLT5wbV9wb2xpY3kgPSBOT1RfQVZBSUxBQkxFOwogCisJCS8qIHNldCBlbmNsb3N1cmUgbWFuYWdlbWVudCBtZXNzYWdlIHR5cGUgKi8KKwkJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKQorCQkJYXAtPmVtX21lc3NhZ2VfdHlwZSA9IGFoY2lfZW1fbWVzc2FnZXM7CisKKwogCQkvKiBkaXNhYmxlZC9ub3QtaW1wbGVtZW50ZWQgcG9ydCAqLwogCQlpZiAoIShocHJpdi0+cG9ydF9tYXAgJiAoMSA8PCBpKSkpCiAJCQlhcC0+b3BzID0gJmF0YV9kdW1teV9wb3J0X29wczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1hY3BpLmMgYi9kcml2ZXJzL2F0YS9saWJhdGEtYWNwaS5jCmluZGV4IDNmZjhiMTQuLjkzMzBiNzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS1hY3BpLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLWFjcGkuYwpAQCAtMjksMTQgKzI5LDE2IEBACiBlbnVtIHsKIAlBVEFfQUNQSV9GSUxURVJfU0VUWEZFUgk9IDEgPDwgMCwKIAlBVEFfQUNQSV9GSUxURVJfTE9DSwk9IDEgPDwgMSwKKwlBVEFfQUNQSV9GSUxURVJfRElQTQk9IDEgPDwgMiwKIAogCUFUQV9BQ1BJX0ZJTFRFUl9ERUZBVUxUCT0gQVRBX0FDUElfRklMVEVSX1NFVFhGRVIgfAotCQkJCSAgQVRBX0FDUElfRklMVEVSX0xPQ0ssCisJCQkJICBBVEFfQUNQSV9GSUxURVJfTE9DSyB8CisJCQkJICBBVEFfQUNQSV9GSUxURVJfRElQTSwKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYXRhX2FjcGlfZ3RmX2ZpbHRlciA9IEFUQV9BQ1BJX0ZJTFRFUl9ERUZBVUxUOwogbW9kdWxlX3BhcmFtX25hbWVkKGFjcGlfZ3RmX2ZpbHRlciwgYXRhX2FjcGlfZ3RmX2ZpbHRlciwgaW50LCAwNjQ0KTsKLU1PRFVMRV9QQVJNX0RFU0MoYWNwaV9ndGZfZmlsdGVyLCAiZmlsdGVyIG1hc2sgZm9yIEFDUEkgX0dURiBjb21tYW5kcywgc2V0IHRvIGZpbHRlciBvdXQgKDB4MT1zZXQgeGZlcm1vZGUsIDB4Mj1sb2NrL2ZyZWV6ZSBsb2NrKSIpOworTU9EVUxFX1BBUk1fREVTQyhhY3BpX2d0Zl9maWx0ZXIsICJmaWx0ZXIgbWFzayBmb3IgQUNQSSBfR1RGIGNvbW1hbmRzLCBzZXQgdG8gZmlsdGVyIG91dCAoMHgxPXNldCB4ZmVybW9kZSwgMHgyPWxvY2svZnJlZXplIGxvY2ssIDB4ND1ESVBNKSIpOwogCiAjZGVmaW5lIE5PX1BPUlRfTVVMVAkJMHhmZmZmCiAjZGVmaW5lIFNBVEFfQURSKHJvb3QsIHBtcCkJKCgocm9vdCkgPDwgMTYpIHwgKHBtcCkpCkBAIC0xOTUsNiArMTk3LDEwIEBACiAJCS8qIFRoaXMgZGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgaG90cGx1ZyAqLwogCQlyZXR1cm47CiAKKwlpZiAoZXZlbnQgPT0gQUNQSV9OT1RJRllfQlVTX0NIRUNLIHx8CisJICAgIGV2ZW50ID09IEFDUElfTk9USUZZX0RFVklDRV9DSEVDSykKKwkJc3RhdHVzID0gYWNwaV9ldmFsdWF0ZV9pbnRlZ2VyKGhhbmRsZSwgIl9TVEEiLCBOVUxMLCAmc3RhKTsKKwogCXNwaW5fbG9ja19pcnFzYXZlKGFwLT5sb2NrLCBmbGFncyk7CiAKIAlzd2l0Y2ggKGV2ZW50KSB7CkBAIC0yMDIsNyArMjA4LDYgQEAKIAljYXNlIEFDUElfTk9USUZZX0RFVklDRV9DSEVDSzoKIAkJYXRhX2VoaV9wdXNoX2Rlc2MoZWhpLCAiQUNQSSBldmVudCIpOwogCi0JCXN0YXR1cyA9IGFjcGlfZXZhbHVhdGVfaW50ZWdlcihoYW5kbGUsICJfU1RBIiwgTlVMTCwgJnN0YSk7CiAJCWlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgewogCQkJYXRhX3BvcnRfcHJpbnRrKGFwLCBLRVJOX0VSUiwKIAkJCQkiYWNwaTogZmFpbGVkIHRvIGRldGVybWluZSBiYXkgc3RhdHVzICgweCV4KVxuIiwKQEAgLTY5MCw2ICs2OTUsMTQgQEAKIAkJCXJldHVybiAxOwogCX0KIAorCWlmIChhdGFfYWNwaV9ndGZfZmlsdGVyICYgQVRBX0FDUElfRklMVEVSX0RJUE0pIHsKKwkJLyogaW5oaWJpdCBlbmFibGluZyBESVBNICovCisJCWlmICh0Zi0+Y29tbWFuZCA9PSBBVEFfQ01EX1NFVF9GRUFUVVJFUyAmJgorCQkgICAgdGYtPmZlYXR1cmUgPT0gU0VURkVBVFVSRVNfU0FUQV9FTkFCTEUgJiYKKwkJICAgIHRmLT5uc2VjdCA9PSBTQVRBX0RJUE0pCisJCQlyZXR1cm4gMTsKKwl9CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvbGliYXRhLWNvcmUuYyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1jb3JlLmMKaW5kZXggMzAzZmMwZC4uOWJlZjFhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLWNvcmUuYworKysgYi9kcml2ZXJzL2F0YS9saWJhdGEtY29yZS5jCkBAIC01NCw3ICs1NCw2IEBACiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KLSNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgpAQCAtMTQ1LDcgKzE0NCw3IEBACiBtb2R1bGVfcGFyYW1fbmFtZWQoZG1hLCBsaWJhdGFfZG1hX21hc2ssIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGRtYSwgIkRNQSBlbmFibGUvZGlzYWJsZSAoMHgxPT1BVEEsIDB4Mj09QVRBUEksIDB4ND09Q0YpIik7CiAKLXN0YXRpYyBpbnQgYXRhX3Byb2JlX3RpbWVvdXQgPSBBVEFfVE1PVVRfSU5URVJOQUwgLyBIWjsKK3N0YXRpYyBpbnQgYXRhX3Byb2JlX3RpbWVvdXQ7CiBtb2R1bGVfcGFyYW0oYXRhX3Byb2JlX3RpbWVvdXQsIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGF0YV9wcm9iZV90aW1lb3V0LCAiU2V0IEFUQSBwcm9iaW5nIHRpbWVvdXQgKHNlY29uZHMpIik7CiAKQEAgLTE1MzMsNyArMTUzMiw3IEBACiAgKglAYXA6IFRoZSBhdGFfcG9ydCB0byBxdWV1ZSBwb3J0X3Rhc2sgZm9yCiAgKglAZm46IHdvcmtxdWV1ZSBmdW5jdGlvbiB0byBiZSBzY2hlZHVsZWQKICAqCUBkYXRhOiBkYXRhIGZvciBAZm4gdG8gdXNlCi0gKglAZGVsYXk6IGRlbGF5IHRpbWUgZm9yIHdvcmtxdWV1ZSBmdW5jdGlvbgorICoJQGRlbGF5OiBkZWxheSB0aW1lIGluIG1zZWNzIGZvciB3b3JrcXVldWUgZnVuY3Rpb24KICAqCiAgKglTY2hlZHVsZSBAZm4oQGRhdGEpIGZvciBleGVjdXRpb24gYWZ0ZXIgQGRlbGF5IGppZmZpZXMgdXNpbmcKICAqCXBvcnRfdGFzay4gIFRoZXJlIGlzIG9uZSBwb3J0X3Rhc2sgcGVyIHBvcnQgYW5kIGl0J3MgdGhlCkBAIC0xNTUyLDcgKzE1NTEsNyBAQAogCWFwLT5wb3J0X3Rhc2tfZGF0YSA9IGRhdGE7CiAKIAkvKiBtYXkgZmFpbCBpZiBhdGFfcG9ydF9mbHVzaF90YXNrKCkgaW4gcHJvZ3Jlc3MgKi8KLQlxdWV1ZV9kZWxheWVkX3dvcmsoYXRhX3dxLCAmYXAtPnBvcnRfdGFzaywgZGVsYXkpOworCXF1ZXVlX2RlbGF5ZWRfd29yayhhdGFfd3EsICZhcC0+cG9ydF90YXNrLCBtc2Vjc190b19qaWZmaWVzKGRlbGF5KSk7CiB9CiAKIC8qKgpAQCAtMTYxMiw2ICsxNjExLDcgQEAKIAlzdHJ1Y3QgYXRhX2xpbmsgKmxpbmsgPSBkZXYtPmxpbms7CiAJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOwogCXU4IGNvbW1hbmQgPSB0Zi0+Y29tbWFuZDsKKwlpbnQgYXV0b190aW1lb3V0ID0gMDsKIAlzdHJ1Y3QgYXRhX3F1ZXVlZF9jbWQgKnFjOwogCXVuc2lnbmVkIGludCB0YWcsIHByZWVtcHRlZF90YWc7CiAJdTMyIHByZWVtcHRlZF9zYWN0aXZlLCBwcmVlbXB0ZWRfcWNfYWN0aXZlOwpAQCAtMTY4NCw4ICsxNjg0LDE0IEBACiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKGFwLT5sb2NrLCBmbGFncyk7CiAKLQlpZiAoIXRpbWVvdXQpCi0JCXRpbWVvdXQgPSBhdGFfcHJvYmVfdGltZW91dCAqIDEwMDAgLyBIWjsKKwlpZiAoIXRpbWVvdXQpIHsKKwkJaWYgKGF0YV9wcm9iZV90aW1lb3V0KQorCQkJdGltZW91dCA9IGF0YV9wcm9iZV90aW1lb3V0ICogMTAwMDsKKwkJZWxzZSB7CisJCQl0aW1lb3V0ID0gYXRhX2ludGVybmFsX2NtZF90aW1lb3V0KGRldiwgY29tbWFuZCk7CisJCQlhdXRvX3RpbWVvdXQgPSAxOworCQl9CisJfQogCiAJcmMgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQoJndhaXQsIG1zZWNzX3RvX2ppZmZpZXModGltZW91dCkpOwogCkBAIC0xNzYxLDYgKzE3NjcsOSBAQAogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShhcC0+bG9jaywgZmxhZ3MpOwogCisJaWYgKChlcnJfbWFzayAmIEFDX0VSUl9USU1FT1VUKSAmJiBhdXRvX3RpbWVvdXQpCisJCWF0YV9pbnRlcm5hbF9jbWRfdGltZWRfb3V0KGRldiwgY29tbWFuZCk7CisKIAlyZXR1cm4gZXJyX21hc2s7CiB9CiAKQEAgLTMzMTksNyArMzMyOCw3IEBACiAJCSAgIGludCAoKmNoZWNrX3JlYWR5KShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspKQogewogCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBqaWZmaWVzOwotCXVuc2lnbmVkIGxvbmcgbm9kZXZfZGVhZGxpbmUgPSBzdGFydCArIEFUQV9UTU9VVF9GRl9XQUlUOworCXVuc2lnbmVkIGxvbmcgbm9kZXZfZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoc3RhcnQsIEFUQV9UTU9VVF9GRl9XQUlUKTsKIAlpbnQgd2FybmVkID0gMDsKIAogCWlmICh0aW1lX2FmdGVyKG5vZGV2X2RlYWRsaW5lLCBkZWFkbGluZSkpCkBAIC0zMzg3LDcgKzMzOTYsNyBAQAogaW50IGF0YV93YWl0X2FmdGVyX3Jlc2V0KHN0cnVjdCBhdGFfbGluayAqbGluaywgdW5zaWduZWQgbG9uZyBkZWFkbGluZSwKIAkJCQlpbnQgKCpjaGVja19yZWFkeSkoc3RydWN0IGF0YV9saW5rICpsaW5rKSkKIHsKLQltc2xlZXAoQVRBX1dBSVRfQUZURVJfUkVTRVRfTVNFQ1MpOworCW1zbGVlcChBVEFfV0FJVF9BRlRFUl9SRVNFVCk7CiAKIAlyZXR1cm4gYXRhX3dhaXRfcmVhZHkobGluaywgZGVhZGxpbmUsIGNoZWNrX3JlYWR5KTsKIH0KQEAgLTM0MTcsMTMgKzM0MjYsMTMgQEAKIGludCBzYXRhX2xpbmtfZGVib3VuY2Uoc3RydWN0IGF0YV9saW5rICpsaW5rLCBjb25zdCB1bnNpZ25lZCBsb25nICpwYXJhbXMsCiAJCSAgICAgICB1bnNpZ25lZCBsb25nIGRlYWRsaW5lKQogewotCXVuc2lnbmVkIGxvbmcgaW50ZXJ2YWxfbXNlYyA9IHBhcmFtc1swXTsKLQl1bnNpZ25lZCBsb25nIGR1cmF0aW9uID0gbXNlY3NfdG9famlmZmllcyhwYXJhbXNbMV0pOworCXVuc2lnbmVkIGxvbmcgaW50ZXJ2YWwgPSBwYXJhbXNbMF07CisJdW5zaWduZWQgbG9uZyBkdXJhdGlvbiA9IHBhcmFtc1sxXTsKIAl1bnNpZ25lZCBsb25nIGxhc3RfamlmZmllcywgdDsKIAl1MzIgbGFzdCwgY3VyOwogCWludCByYzsKIAotCXQgPSBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcyhwYXJhbXNbMl0pOworCXQgPSBhdGFfZGVhZGxpbmUoamlmZmllcywgcGFyYW1zWzJdKTsKIAlpZiAodGltZV9iZWZvcmUodCwgZGVhZGxpbmUpKQogCQlkZWFkbGluZSA9IHQ7CiAKQEAgLTM0MzUsNyArMzQ0NCw3IEBACiAJbGFzdF9qaWZmaWVzID0gamlmZmllczsKIAogCXdoaWxlICgxKSB7Ci0JCW1zbGVlcChpbnRlcnZhbF9tc2VjKTsKKwkJbXNsZWVwKGludGVydmFsKTsKIAkJaWYgKChyYyA9IHNhdGFfc2NyX3JlYWQobGluaywgU0NSX1NUQVRVUywgJmN1cikpKQogCQkJcmV0dXJuIHJjOwogCQljdXIgJj0gMHhmOwpAQCAtMzQ0NCw3ICszNDUzLDggQEAKIAkJaWYgKGN1ciA9PSBsYXN0KSB7CiAJCQlpZiAoY3VyID09IDEgJiYgdGltZV9iZWZvcmUoamlmZmllcywgZGVhZGxpbmUpKQogCQkJCWNvbnRpbnVlOwotCQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgbGFzdF9qaWZmaWVzICsgZHVyYXRpb24pKQorCQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywKKwkJCQkgICAgICAgYXRhX2RlYWRsaW5lKGxhc3RfamlmZmllcywgZHVyYXRpb24pKSkKIAkJCQlyZXR1cm4gMDsKIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0zNjM2LDcgKzM2NDYsOCBAQAogCQlpZiAoY2hlY2tfcmVhZHkpIHsKIAkJCXVuc2lnbmVkIGxvbmcgcG1wX2RlYWRsaW5lOwogCi0JCQlwbXBfZGVhZGxpbmUgPSBqaWZmaWVzICsgQVRBX1RNT1VUX1BNUF9TUlNUX1dBSVQ7CisJCQlwbXBfZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoamlmZmllcywKKwkJCQkJCSAgICBBVEFfVE1PVVRfUE1QX1NSU1RfV0FJVCk7CiAJCQlpZiAodGltZV9hZnRlcihwbXBfZGVhZGxpbmUsIGRlYWRsaW5lKSkKIAkJCQlwbXBfZGVhZGxpbmUgPSBkZWFkbGluZTsKIAkJCWF0YV93YWl0X3JlYWR5KGxpbmssIHBtcF9kZWFkbGluZSwgY2hlY2tfcmVhZHkpOwpAQCAtNjA3Myw4ICs2MDg0LDYgQEAKIAogc3RhdGljIGludCBfX2luaXQgYXRhX2luaXQodm9pZCkKIHsKLQlhdGFfcHJvYmVfdGltZW91dCAqPSBIWjsKLQogCWF0YV9wYXJzZV9mb3JjZV9wYXJhbSgpOwogCiAJYXRhX3dxID0gY3JlYXRlX3dvcmtxdWV1ZSgiYXRhIik7CkBAIC02MTI3LDggKzYxMzYsOCBAQAogICoJQHJlZzogSU8tbWFwcGVkIHJlZ2lzdGVyCiAgKglAbWFzazogTWFzayB0byBhcHBseSB0byByZWFkIHJlZ2lzdGVyIHZhbHVlCiAgKglAdmFsOiBXYWl0IGNvbmRpdGlvbgotICoJQGludGVydmFsX21zZWM6IHBvbGxpbmcgaW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzCi0gKglAdGltZW91dF9tc2VjOiB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcworICoJQGludGVydmFsOiBwb2xsaW5nIGludGVydmFsIGluIG1pbGxpc2Vjb25kcworICoJQHRpbWVvdXQ6IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzCiAgKgogICoJV2FpdGluZyBmb3Igc29tZSBiaXRzIG9mIHJlZ2lzdGVyIHRvIGNoYW5nZSBpcyBhIGNvbW1vbgogICoJb3BlcmF0aW9uIGZvciBBVEEgY29udHJvbGxlcnMuICBUaGlzIGZ1bmN0aW9uIHJlYWRzIDMyYml0IExFCkBAIC02MTQ2LDEwICs2MTU1LDkgQEAKICAqCVRoZSBmaW5hbCByZWdpc3RlciB2YWx1ZS4KICAqLwogdTMyIGF0YV93YWl0X3JlZ2lzdGVyKHZvaWQgX19pb21lbSAqcmVnLCB1MzIgbWFzaywgdTMyIHZhbCwKLQkJICAgICAgdW5zaWduZWQgbG9uZyBpbnRlcnZhbF9tc2VjLAotCQkgICAgICB1bnNpZ25lZCBsb25nIHRpbWVvdXRfbXNlYykKKwkJICAgICAgdW5zaWduZWQgbG9uZyBpbnRlcnZhbCwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KQogewotCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKKwl1bnNpZ25lZCBsb25nIGRlYWRsaW5lOwogCXUzMiB0bXA7CiAKIAl0bXAgPSBpb3JlYWQzMihyZWcpOwpAQCAtNjE1OCwxMCArNjE2NiwxMCBAQAogCSAqIHByZWNlZGluZyB3cml0ZXMgcmVhY2ggdGhlIGNvbnRyb2xsZXIgYmVmb3JlIHN0YXJ0aW5nIHRvCiAJICogZWF0IGF3YXkgdGhlIHRpbWVvdXQuCiAJICovCi0JdGltZW91dCA9IGppZmZpZXMgKyAodGltZW91dF9tc2VjICogSFopIC8gMTAwMDsKKwlkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCB0aW1lb3V0KTsKIAotCXdoaWxlICgodG1wICYgbWFzaykgPT0gdmFsICYmIHRpbWVfYmVmb3JlKGppZmZpZXMsIHRpbWVvdXQpKSB7Ci0JCW1zbGVlcChpbnRlcnZhbF9tc2VjKTsKKwl3aGlsZSAoKHRtcCAmIG1hc2spID09IHZhbCAmJiB0aW1lX2JlZm9yZShqaWZmaWVzLCBkZWFkbGluZSkpIHsKKwkJbXNsZWVwKGludGVydmFsKTsKIAkJdG1wID0gaW9yZWFkMzIocmVnKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1laC5jIGIvZHJpdmVycy9hdGEvbGliYXRhLWVoLmMKaW5kZXggNzg5NGQ4My4uNThiZGM1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLWVoLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLWVoLmMKQEAgLTY2LDE1ICs2NiwxOSBAQAogCUFUQV9FQ0FUX0RVQklPVVNfVE9VVF9IU00JPSA2LAogCUFUQV9FQ0FUX0RVQklPVVNfVU5LX0RFVgk9IDcsCiAJQVRBX0VDQVRfTlIJCQk9IDgsCi19OwogCi0vKiBXYWl0aW5nIGluIC0+cHJlcmVzZXQgY2FuIG5ldmVyIGJlIHJlbGlhYmxlLiAgSXQncyBzb21ldGltZXMgbmljZQotICogdG8gd2FpdCB0aGVyZSBidXQgaXQgY2FuJ3QgYmUgZGVwZW5kZWQgdXBvbjsgb3RoZXJ3aXNlLCB3ZSB3b3VsZG4ndAotICogYmUgcmVzZXR0aW5nLiAgSnVzdCBnaXZlIGl0IGVub3VnaCB0aW1lIGZvciBtb3N0IGRyaXZlcyB0byBzcGluIHVwLgotICovCi1lbnVtIHsKLQlBVEFfRUhfUFJFUkVTRVRfVElNRU9VVAkJPSAxMCAqIEhaLAotCUFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUwJPSAzICogSFosCisJQVRBX0VIX0NNRF9ERkxfVElNRU9VVAkJPSAgNTAwMCwKKworCS8qIGFsd2F5cyBwdXQgYXQgbGVhc3QgdGhpcyBhbW91bnQgb2YgdGltZSBiZXR3ZWVuIHJlc2V0cyAqLworCUFUQV9FSF9SRVNFVF9DT09MX0RPV04JCT0gIDUwMDAsCisKKwkvKiBXYWl0aW5nIGluIC0+cHJlcmVzZXQgY2FuIG5ldmVyIGJlIHJlbGlhYmxlLiAgSXQncworCSAqIHNvbWV0aW1lcyBuaWNlIHRvIHdhaXQgdGhlcmUgYnV0IGl0IGNhbid0IGJlIGRlcGVuZGVkIHVwb247CisJICogb3RoZXJ3aXNlLCB3ZSB3b3VsZG4ndCBiZSByZXNldHRpbmcuICBKdXN0IGdpdmUgaXQgZW5vdWdoCisJICogdGltZSBmb3IgbW9zdCBkcml2ZXMgdG8gc3BpbiB1cC4KKwkgKi8KKwlBVEFfRUhfUFJFUkVTRVRfVElNRU9VVAkJPSAxMDAwMCwKKwlBVEFfRUhfRkFTVERSQUlOX0lOVEVSVkFMCT0gIDMwMDAsCiB9OwogCiAvKiBUaGUgZm9sbG93aW5nIHRhYmxlIGRldGVybWluZXMgaG93IHdlIHNlcXVlbmNlIHJlc2V0cy4gIEVhY2ggZW50cnkKQEAgLTg0LDEzICs4OCw2MCBAQAogICogYXJlIG1vc3RseSBmb3IgZXJyb3IgaGFuZGxpbmcsIGhvdHBsdWcgYW5kIHJldGFyZGVkIGRldmljZXMuCiAgKi8KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25nIGF0YV9laF9yZXNldF90aW1lb3V0c1tdID0gewotCTEwICogSFosCS8qIG1vc3QgZHJpdmVzIHNwaW4gdXAgYnkgMTBzZWMgKi8KLQkxMCAqIEhaLAkvKiA+IDk5JSB3b3JraW5nIGRyaXZlcyBzcGluIHVwIGJlZm9yZSAyMHNlYyAqLwotCTM1ICogSFosCS8qIGdpdmUgPiAzMCBzZWNzIG9mIGlkbGVuZXNzIGZvciByZXRhcmRlZCBkZXZpY2VzICovCi0JNSAqIEhaLAkJLyogYW5kIHN3ZWV0IG9uZSBsYXN0IGNoYW5jZSAqLwotCS8qID4gMSBtaW4gaGFzIGVsYXBzZWQsIGdpdmUgdXAgKi8KKwkxMDAwMCwJLyogbW9zdCBkcml2ZXMgc3BpbiB1cCBieSAxMHNlYyAqLworCTEwMDAwLAkvKiA+IDk5JSB3b3JraW5nIGRyaXZlcyBzcGluIHVwIGJlZm9yZSAyMHNlYyAqLworCTM1MDAwLAkvKiBnaXZlID4gMzAgc2VjcyBvZiBpZGxlbmVzcyBmb3IgcmV0YXJkZWQgZGV2aWNlcyAqLworCSA1MDAwLAkvKiBhbmQgc3dlZXQgb25lIGxhc3QgY2hhbmNlICovCisJVUxPTkdfTUFYLCAvKiA+IDEgbWluIGhhcyBlbGFwc2VkLCBnaXZlIHVwICovCiB9OwogCitzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9uZyBhdGFfZWhfaWRlbnRpZnlfdGltZW91dHNbXSA9IHsKKwkgNTAwMCwJLyogY292ZXJzID4gOTklIG9mIHN1Y2Nlc3NlcyBhbmQgbm90IHRvbyBib3Jpbmcgb24gZmFpbHVyZXMgKi8KKwkxMDAwMCwgIC8qIGNvbWJpbmVkIHRpbWUgdGlsbCBoZXJlIGlzIGVub3VnaCBldmVuIGZvciBtZWRpYSBhY2Nlc3MgKi8KKwkzMDAwMCwJLyogZm9yIHRydWUgaWRpb3RzICovCisJVUxPTkdfTUFYLAorfTsKKworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgYXRhX2VoX290aGVyX3RpbWVvdXRzW10gPSB7CisJIDUwMDAsCS8qIHNhbWUgcmF0aW9uYWxlIGFzIGlkZW50aWZ5IHRpbWVvdXQgKi8KKwkxMDAwMCwJLyogZGl0dG8gKi8KKwkvKiBidXQgbm8gbWVyY2lmdWwgMzBzZWMgZm9yIG90aGVyIGNvbW1hbmRzLCBpdCBqdXN0IGlzbid0IHdvcnRoIGl0ICovCisJVUxPTkdfTUFYLAorfTsKKworc3RydWN0IGF0YV9laF9jbWRfdGltZW91dF9lbnQgeworCWNvbnN0IHU4CQkqY29tbWFuZHM7CisJY29uc3QgdW5zaWduZWQgbG9uZwkqdGltZW91dHM7Cit9OworCisvKiBUaGUgZm9sbG93aW5nIHRhYmxlIGRldGVybWluZXMgdGltZW91dHMgdG8gdXNlIGZvciBFSCBpbnRlcm5hbAorICogY29tbWFuZHMuICBFYWNoIHRhYmxlIGVudHJ5IGlzIGEgY29tbWFuZCBjbGFzcyBhbmQgbWF0Y2hlcyB0aGUKKyAqIGNvbW1hbmRzIHRoZSBlbnRyeSBhcHBsaWVzIHRvIGFuZCB0aGUgdGltZW91dCB0YWJsZSB0byB1c2UuCisgKgorICogT24gdGhlIHJldHJ5IGFmdGVyIGEgY29tbWFuZCB0aW1lZCBvdXQsIHRoZSBuZXh0IHRpbWVvdXQgdmFsdWUgZnJvbQorICogdGhlIHRhYmxlIGlzIHVzZWQuICBJZiB0aGUgdGFibGUgZG9lc24ndCBjb250YWluIGZ1cnRoZXIgZW50cmllcywKKyAqIHRoZSBsYXN0IHZhbHVlIGlzIHVzZWQuCisgKgorICogZWhjLT5jbWRfdGltZW91dF9pZHgga2VlcHMgdHJhY2sgb2Ygd2hpY2ggdGltZW91dCB0byB1c2UgcGVyCisgKiBjb21tYW5kIGNsYXNzLCBzbyBpZiBTRVRfRkVBVFVSRVMgdGltZXMgb3V0IG9uIHRoZSBmaXJzdCB0cnksIHRoZQorICogbmV4dCB0cnkgd2lsbCB1c2UgdGhlIHNlY29uZCB0aW1lb3V0IHZhbHVlIG9ubHkgZm9yIHRoYXQgY2xhc3MuCisgKi8KKyNkZWZpbmUgQ01EUyhjbWRzLi4uKQkoY29uc3QgdTggW10peyBjbWRzLCAwIH0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYXRhX2VoX2NtZF90aW1lb3V0X2VudAorYXRhX2VoX2NtZF90aW1lb3V0X3RhYmxlW0FUQV9FSF9DTURfVElNRU9VVF9UQUJMRV9TSVpFXSA9IHsKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9JRF9BVEEsIEFUQV9DTURfSURfQVRBUEkpLAorCSAgLnRpbWVvdXRzID0gYXRhX2VoX2lkZW50aWZ5X3RpbWVvdXRzLCB9LAorCXsgLmNvbW1hbmRzID0gQ01EUyhBVEFfQ01EX1JFQURfTkFUSVZFX01BWCwgQVRBX0NNRF9SRUFEX05BVElWRV9NQVhfRVhUKSwKKwkgIC50aW1lb3V0cyA9IGF0YV9laF9vdGhlcl90aW1lb3V0cywgfSwKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9TRVRfTUFYLCBBVEFfQ01EX1NFVF9NQVhfRVhUKSwKKwkgIC50aW1lb3V0cyA9IGF0YV9laF9vdGhlcl90aW1lb3V0cywgfSwKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9TRVRfRkVBVFVSRVMpLAorCSAgLnRpbWVvdXRzID0gYXRhX2VoX290aGVyX3RpbWVvdXRzLCB9LAorCXsgLmNvbW1hbmRzID0gQ01EUyhBVEFfQ01EX0lOSVRfREVWX1BBUkFNUyksCisJICAudGltZW91dHMgPSBhdGFfZWhfb3RoZXJfdGltZW91dHMsIH0sCit9OworI3VuZGVmIENNRFMKKwogc3RhdGljIHZvaWQgX19hdGFfcG9ydF9mcmVlemUoc3RydWN0IGF0YV9wb3J0ICphcCk7CiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgdm9pZCBhdGFfZWhfaGFuZGxlX3BvcnRfc3VzcGVuZChzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKQEAgLTIzNiw2ICsyODcsNzMgQEAKIAogI2VuZGlmIC8qIENPTkZJR19QQ0kgKi8KIAorc3RhdGljIGludCBhdGFfbG9va3VwX3RpbWVvdXRfdGFibGUodTggY21kKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IEFUQV9FSF9DTURfVElNRU9VVF9UQUJMRV9TSVpFOyBpKyspIHsKKwkJY29uc3QgdTggKmN1cjsKKworCQlmb3IgKGN1ciA9IGF0YV9laF9jbWRfdGltZW91dF90YWJsZVtpXS5jb21tYW5kczsgKmN1cjsgY3VyKyspCisJCQlpZiAoKmN1ciA9PSBjbWQpCisJCQkJcmV0dXJuIGk7CisJfQorCisJcmV0dXJuIC0xOworfQorCisvKioKKyAqCWF0YV9pbnRlcm5hbF9jbWRfdGltZW91dCAtIGRldGVybWluZSB0aW1lb3V0IGZvciBhbiBpbnRlcm5hbCBjb21tYW5kCisgKglAZGV2OiB0YXJnZXQgZGV2aWNlCisgKglAY21kOiBpbnRlcm5hbCBjb21tYW5kIHRvIGJlIGlzc3VlZAorICoKKyAqCURldGVybWluZSB0aW1lb3V0IGZvciBpbnRlcm5hbCBjb21tYW5kIEBjbWQgZm9yIEBkZXYuCisgKgorICoJTE9DS0lORzoKKyAqCUVIIGNvbnRleHQuCisgKgorICoJUkVUVVJOUzoKKyAqCURldGVybWluZWQgdGltZW91dC4KKyAqLwordW5zaWduZWQgbG9uZyBhdGFfaW50ZXJuYWxfY21kX3RpbWVvdXQoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgdTggY21kKQoreworCXN0cnVjdCBhdGFfZWhfY29udGV4dCAqZWhjID0gJmRldi0+bGluay0+ZWhfY29udGV4dDsKKwlpbnQgZW50ID0gYXRhX2xvb2t1cF90aW1lb3V0X3RhYmxlKGNtZCk7CisJaW50IGlkeDsKKworCWlmIChlbnQgPCAwKQorCQlyZXR1cm4gQVRBX0VIX0NNRF9ERkxfVElNRU9VVDsKKworCWlkeCA9IGVoYy0+Y21kX3RpbWVvdXRfaWR4W2Rldi0+ZGV2bm9dW2VudF07CisJcmV0dXJuIGF0YV9laF9jbWRfdGltZW91dF90YWJsZVtlbnRdLnRpbWVvdXRzW2lkeF07Cit9CisKKy8qKgorICoJYXRhX2ludGVybmFsX2NtZF90aW1lZF9vdXQgLSBub3RpZmljYXRpb24gZm9yIGludGVybmFsIGNvbW1hbmQgdGltZW91dAorICoJQGRldjogdGFyZ2V0IGRldmljZQorICoJQGNtZDogaW50ZXJuYWwgY29tbWFuZCB3aGljaCB0aW1lZCBvdXQKKyAqCisgKglOb3RpZnkgRUggdGhhdCBpbnRlcm5hbCBjb21tYW5kIEBjbWQgZm9yIEBkZXYgdGltZWQgb3V0LiAgVGhpcworICoJZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbmx5IGZvciBjb21tYW5kcyB3aG9zZSB0aW1lb3V0cyBhcmUKKyAqCWRldGVybWluZWQgdXNpbmcgYXRhX2ludGVybmFsX2NtZF90aW1lb3V0KCkuCisgKgorICoJTE9DS0lORzoKKyAqCUVIIGNvbnRleHQuCisgKi8KK3ZvaWQgYXRhX2ludGVybmFsX2NtZF90aW1lZF9vdXQoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgdTggY21kKQoreworCXN0cnVjdCBhdGFfZWhfY29udGV4dCAqZWhjID0gJmRldi0+bGluay0+ZWhfY29udGV4dDsKKwlpbnQgZW50ID0gYXRhX2xvb2t1cF90aW1lb3V0X3RhYmxlKGNtZCk7CisJaW50IGlkeDsKKworCWlmIChlbnQgPCAwKQorCQlyZXR1cm47CisKKwlpZHggPSBlaGMtPmNtZF90aW1lb3V0X2lkeFtkZXYtPmRldm5vXVtlbnRdOworCWlmIChhdGFfZWhfY21kX3RpbWVvdXRfdGFibGVbZW50XS50aW1lb3V0c1tpZHggKyAxXSAhPSBVTE9OR19NQVgpCisJCWVoYy0+Y21kX3RpbWVvdXRfaWR4W2Rldi0+ZGV2bm9dW2VudF0rKzsKK30KKwogc3RhdGljIHZvaWQgYXRhX2VyaW5nX3JlY29yZChzdHJ1Y3QgYXRhX2VyaW5nICplcmluZywgdW5zaWduZWQgaW50IGVmbGFncywKIAkJCSAgICAgdW5zaWduZWQgaW50IGVycl9tYXNrKQogewpAQCAtNDg2LDYgKzYwNCw5IEBACiAJCQkJaWYgKGF0YV9uY3FfZW5hYmxlZChkZXYpKQogCQkJCQllaGMtPnNhdmVkX25jcV9lbmFibGVkIHw9IDEgPDwgZGV2bm87CiAJCQl9CisKKwkJCS8qIHNldCBsYXN0IHJlc2V0IHRpbWVzdGFtcCB0byBzb21lIHRpbWUgaW4gdGhlIHBhc3QgKi8KKwkJCWVoYy0+bGFzdF9yZXNldCA9IGppZmZpZXMgLSA2MCAqIEhaOwogCQl9CiAKIAkJYXAtPnBmbGFncyB8PSBBVEFfUEZMQUdfRUhfSU5fUFJPR1JFU1M7CkBAIC02NDEsNyArNzYyLDcgQEAKIAkJLyogc29tZSBxY3MgaGF2ZSBmaW5pc2hlZCwgZ2l2ZSBpdCBhbm90aGVyIGNoYW5jZSAqLwogCQlhcC0+ZmFzdGRyYWluX2NudCA9IGNudDsKIAkJYXAtPmZhc3RkcmFpbl90aW1lci5leHBpcmVzID0KLQkJCWppZmZpZXMgKyBBVEFfRUhfRkFTVERSQUlOX0lOVEVSVkFMOworCQkJYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUwpOwogCQlhZGRfdGltZXIoJmFwLT5mYXN0ZHJhaW5fdGltZXIpOwogCX0KIApAQCAtNjgxLDcgKzgwMiw4IEBACiAKIAkvKiBhY3RpdmF0ZSBmYXN0IGRyYWluICovCiAJYXAtPmZhc3RkcmFpbl9jbnQgPSBjbnQ7Ci0JYXAtPmZhc3RkcmFpbl90aW1lci5leHBpcmVzID0gamlmZmllcyArIEFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUw7CisJYXAtPmZhc3RkcmFpbl90aW1lci5leHBpcmVzID0KKwkJYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUwpOwogCWFkZF90aW1lcigmYXAtPmZhc3RkcmFpbl90aW1lcik7CiB9CiAKQEAgLTEyMzgsNiArMTM2MCw3IEBACiAgKglhdGFwaV9laF9yZXF1ZXN0X3NlbnNlIC0gcGVyZm9ybSBBVEFQSSBSRVFVRVNUX1NFTlNFCiAgKglAZGV2OiBkZXZpY2UgdG8gcGVyZm9ybSBSRVFVRVNUX1NFTlNFIHRvCiAgKglAc2Vuc2VfYnVmOiByZXN1bHQgc2Vuc2UgZGF0YSBidWZmZXIgKFNDU0lfU0VOU0VfQlVGRkVSU0laRSBieXRlcyBsb25nKQorICoJQGRmbF9zZW5zZV9rZXk6IGRlZmF1bHQgc2Vuc2Uga2V5IHRvIHVzZQogICoKICAqCVBlcmZvcm0gQVRBUEkgUkVRVUVTVF9TRU5TRSBhZnRlciB0aGUgZGV2aWNlIHJlcG9ydGVkIENIRUNLCiAgKglTRU5TRS4gIFRoaXMgZnVuY3Rpb24gaXMgRUggaGVscGVyLgpAQCAtMTI0OCwxMyArMTM3MSwxMyBAQAogICoJUkVUVVJOUzoKICAqCTAgb24gc3VjY2VzcywgQUNfRVJSXyogbWFzayBvbiBmYWlsdXJlCiAgKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgYXRhcGlfZWhfcmVxdWVzdF9zZW5zZShzdHJ1Y3QgYXRhX3F1ZXVlZF9jbWQgKnFjKQorc3RhdGljIHVuc2lnbmVkIGludCBhdGFwaV9laF9yZXF1ZXN0X3NlbnNlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsCisJCQkJCSAgIHU4ICpzZW5zZV9idWYsIHU4IGRmbF9zZW5zZV9rZXkpCiB7Ci0Jc3RydWN0IGF0YV9kZXZpY2UgKmRldiA9IHFjLT5kZXY7Ci0JdW5zaWduZWQgY2hhciAqc2Vuc2VfYnVmID0gcWMtPnNjc2ljbWQtPnNlbnNlX2J1ZmZlcjsKKwl1OCBjZGJbQVRBUElfQ0RCX0xFTl0gPQorCQl7IFJFUVVFU1RfU0VOU0UsIDAsIDAsIDAsIFNDU0lfU0VOU0VfQlVGRkVSU0laRSwgMCB9OwogCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBkZXYtPmxpbmstPmFwOwogCXN0cnVjdCBhdGFfdGFza2ZpbGUgdGY7Ci0JdTggY2RiW0FUQVBJX0NEQl9MRU5dOwogCiAJRFBSSU5USygiQVRBUEkgcmVxdWVzdCBzZW5zZVxuIik7CiAKQEAgLTEyNjUsMTUgKzEzODgsMTEgQEAKIAkgKiBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhleSBhcmUgLW5vdC0gb3ZlcndyaXR0ZW4KIAkgKi8KIAlzZW5zZV9idWZbMF0gPSAweDcwOwotCXNlbnNlX2J1ZlsyXSA9IHFjLT5yZXN1bHRfdGYuZmVhdHVyZSA+PiA0OworCXNlbnNlX2J1ZlsyXSA9IGRmbF9zZW5zZV9rZXk7CiAKIAkvKiBzb21lIGRldmljZXMgdGltZSBvdXQgaWYgZ2FyYmFnZSBsZWZ0IGluIHRmICovCiAJYXRhX3RmX2luaXQoZGV2LCAmdGYpOwogCi0JbWVtc2V0KGNkYiwgMCwgQVRBUElfQ0RCX0xFTik7Ci0JY2RiWzBdID0gUkVRVUVTVF9TRU5TRTsKLQljZGJbNF0gPSBTQ1NJX1NFTlNFX0JVRkZFUlNJWkU7Ci0KIAl0Zi5mbGFncyB8PSBBVEFfVEZMQUdfSVNBRERSIHwgQVRBX1RGTEFHX0RFVklDRTsKIAl0Zi5jb21tYW5kID0gQVRBX0NNRF9QQUNLRVQ7CiAKQEAgLTE0NDUsNyArMTU2NCw5IEBACiAKIAljYXNlIEFUQV9ERVZfQVRBUEk6CiAJCWlmICghKHFjLT5hcC0+cGZsYWdzICYgQVRBX1BGTEFHX0ZST1pFTikpIHsKLQkJCXRtcCA9IGF0YXBpX2VoX3JlcXVlc3Rfc2Vuc2UocWMpOworCQkJdG1wID0gYXRhcGlfZWhfcmVxdWVzdF9zZW5zZShxYy0+ZGV2LAorCQkJCQkJcWMtPnNjc2ljbWQtPnNlbnNlX2J1ZmZlciwKKwkJCQkJCXFjLT5yZXN1bHRfdGYuZmVhdHVyZSA+PiA0KTsKIAkJCWlmICghdG1wKSB7CiAJCQkJLyogQVRBX1FDRkxBR19TRU5TRV9WQUxJRCBpcyB1c2VkIHRvCiAJCQkJICogdGVsbCBhdGFwaV9xY19jb21wbGV0ZSgpIHRoYXQgc2Vuc2UKQEAgLTIwNzEsMTMgKzIxOTIsMTIgQEAKIAkJIGF0YV9wcmVyZXNldF9mbl90IHByZXJlc2V0LCBhdGFfcmVzZXRfZm5fdCBzb2Z0cmVzZXQsCiAJCSBhdGFfcmVzZXRfZm5fdCBoYXJkcmVzZXQsIGF0YV9wb3N0cmVzZXRfZm5fdCBwb3N0cmVzZXQpCiB7Ci0JY29uc3QgaW50IG1heF90cmllcyA9IEFSUkFZX1NJWkUoYXRhX2VoX3Jlc2V0X3RpbWVvdXRzKTsKIAlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gbGluay0+YXA7CiAJc3RydWN0IGF0YV9laF9jb250ZXh0ICplaGMgPSAmbGluay0+ZWhfY29udGV4dDsKIAl1bnNpZ25lZCBpbnQgKmNsYXNzZXMgPSBlaGMtPmNsYXNzZXM7CiAJdW5zaWduZWQgaW50IGxmbGFncyA9IGxpbmstPmZsYWdzOwogCWludCB2ZXJib3NlID0gIShlaGMtPmkuZmxhZ3MgJiBBVEFfRUhJX1FVSUVUKTsKLQlpbnQgdHJ5ID0gMDsKKwlpbnQgbWF4X3RyaWVzID0gMCwgdHJ5ID0gMDsKIAlzdHJ1Y3QgYXRhX2RldmljZSAqZGV2OwogCXVuc2lnbmVkIGxvbmcgZGVhZGxpbmUsIG5vdzsKIAlhdGFfcmVzZXRfZm5fdCByZXNldDsKQEAgLTIwODgsMTEgKzIyMDgsMjAgQEAKIAkvKgogCSAqIFByZXBhcmUgdG8gcmVzZXQKIAkgKi8KKwl3aGlsZSAoYXRhX2VoX3Jlc2V0X3RpbWVvdXRzW21heF90cmllc10gIT0gVUxPTkdfTUFYKQorCQltYXhfdHJpZXMrKzsKKworCW5vdyA9IGppZmZpZXM7CisJZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoZWhjLT5sYXN0X3Jlc2V0LCBBVEFfRUhfUkVTRVRfQ09PTF9ET1dOKTsKKwlpZiAodGltZV9iZWZvcmUobm93LCBkZWFkbGluZSkpCisJCXNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1cHRpYmxlKGRlYWRsaW5lIC0gbm93KTsKKwogCXNwaW5fbG9ja19pcnFzYXZlKGFwLT5sb2NrLCBmbGFncyk7CiAJYXAtPnBmbGFncyB8PSBBVEFfUEZMQUdfUkVTRVRUSU5HOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoYXAtPmxvY2ssIGZsYWdzKTsKIAogCWF0YV9laF9hYm91dF90b19kbyhsaW5rLCBOVUxMLCBBVEFfRUhfUkVTRVQpOworCWVoYy0+bGFzdF9yZXNldCA9IGppZmZpZXM7CiAKIAlhdGFfbGlua19mb3JfZWFjaF9kZXYoZGV2LCBsaW5rKSB7CiAJCS8qIElmIHdlIGlzc3VlIGFuIFNSU1QgdGhlbiBhbiBBVEEgZHJpdmUgKG5vdCBBVEFQSSkKQEAgLTIxMjUsNyArMjI1NCw4IEBACiAJfQogCiAJaWYgKHByZXJlc2V0KSB7Ci0JCXJjID0gcHJlcmVzZXQobGluaywgamlmZmllcyArIEFUQV9FSF9QUkVSRVNFVF9USU1FT1VUKTsKKwkJcmMgPSBwcmVyZXNldChsaW5rLAorCQkJICAgICAgYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9FSF9QUkVSRVNFVF9USU1FT1VUKSk7CiAJCWlmIChyYykgewogCQkJaWYgKHJjID09IC1FTk9FTlQpIHsKIAkJCQlhdGFfbGlua19wcmludGsobGluaywgS0VSTl9ERUJVRywKQEAgLTIxNTcsMTAgKzIyODcsMTEgQEAKIAkvKgogCSAqIFBlcmZvcm0gcmVzZXQKIAkgKi8KKwllaGMtPmxhc3RfcmVzZXQgPSBqaWZmaWVzOwogCWlmIChhdGFfaXNfaG9zdF9saW5rKGxpbmspKQogCQlhdGFfZWhfZnJlZXplX3BvcnQoYXApOwogCi0JZGVhZGxpbmUgPSBqaWZmaWVzICsgYXRhX2VoX3Jlc2V0X3RpbWVvdXRzW3RyeSsrXTsKKwlkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCBhdGFfZWhfcmVzZXRfdGltZW91dHNbdHJ5KytdKTsKIAogCWlmIChyZXNldCkgewogCQlpZiAodmVyYm9zZSkKQEAgLTIyNzcsNiArMjQwOCw3IEBACiAKIAkvKiByZXNldCBzdWNjZXNzZnVsLCBzY2hlZHVsZSByZXZhbGlkYXRpb24gKi8KIAlhdGFfZWhfZG9uZShsaW5rLCBOVUxMLCBBVEFfRUhfUkVTRVQpOworCWVoYy0+bGFzdF9yZXNldCA9IGppZmZpZXM7CiAJZWhjLT5pLmFjdGlvbiB8PSBBVEFfRUhfUkVWQUxJREFURTsKIAogCXJjID0gMDsKQEAgLTIzMDMsOSArMjQzNSw5IEBACiAJaWYgKHRpbWVfYmVmb3JlKG5vdywgZGVhZGxpbmUpKSB7CiAJCXVuc2lnbmVkIGxvbmcgZGVsdGEgPSBkZWFkbGluZSAtIG5vdzsKIAotCQlhdGFfbGlua19wcmludGsobGluaywgS0VSTl9XQVJOSU5HLCAicmVzZXQgZmFpbGVkICIKLQkJCQkiKGVycm5vPSVkKSwgcmV0cnlpbmcgaW4gJXUgc2Vjc1xuIiwKLQkJCQlyYywgKGppZmZpZXNfdG9fbXNlY3MoZGVsdGEpICsgOTk5KSAvIDEwMDApOworCQlhdGFfbGlua19wcmludGsobGluaywgS0VSTl9XQVJOSU5HLAorCQkJInJlc2V0IGZhaWxlZCAoZXJybm89JWQpLCByZXRyeWluZyBpbiAldSBzZWNzXG4iLAorCQkJcmMsIERJVl9ST1VORF9VUChqaWZmaWVzX3RvX21zZWNzKGRlbHRhKSwgMTAwMCkpOwogCiAJCXdoaWxlIChkZWx0YSkKIAkJCWRlbHRhID0gc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUoZGVsdGEpOwpAQCAtMjU4Myw4ICsyNzE1LDExIEBACiAJCQlhdGFfZWhfZGV0YWNoX2RldihkZXYpOwogCiAJCS8qIHNjaGVkdWxlIHByb2JlIGlmIG5lY2Vzc2FyeSAqLwotCQlpZiAoYXRhX2VoX3NjaGVkdWxlX3Byb2JlKGRldikpCisJCWlmIChhdGFfZWhfc2NoZWR1bGVfcHJvYmUoZGV2KSkgewogCQkJZWhjLT50cmllc1tkZXYtPmRldm5vXSA9IEFUQV9FSF9ERVZfVFJJRVM7CisJCQltZW1zZXQoZWhjLT5jbWRfdGltZW91dF9pZHhbZGV2LT5kZXZub10sIDAsCisJCQkgICAgICAgc2l6ZW9mKGVoYy0+Y21kX3RpbWVvdXRfaWR4W2Rldi0+ZGV2bm9dKSk7CisJCX0KIAogCQlyZXR1cm4gMTsKIAl9IGVsc2UgewpAQCAtMjYyMiw3ICsyNzU3LDcgQEAKIHsKIAlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CiAJc3RydWN0IGF0YV9kZXZpY2UgKmRldjsKLQlpbnQgbnJfZmFpbGVkX2RldnMsIG5yX2Rpc2FibGVkX2RldnM7CisJaW50IG5yX2ZhaWxlZF9kZXZzOwogCWludCByYzsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCkBAIC0yNjY1LDcgKzI4MDAsNiBAQAogIHJldHJ5OgogCXJjID0gMDsKIAlucl9mYWlsZWRfZGV2cyA9IDA7Ci0JbnJfZGlzYWJsZWRfZGV2cyA9IDA7CiAKIAkvKiBpZiBVTkxPQURJTkcsIGZpbmlzaCBpbW1lZGlhdGVseSAqLwogCWlmIChhcC0+cGZsYWdzICYgQVRBX1BGTEFHX1VOTE9BRElORykKQEAgLTI3MzIsOCArMjg2Niw3IEBACiAKIGRldl9mYWlsOgogCQlucl9mYWlsZWRfZGV2cysrOwotCQlpZiAoYXRhX2VoX2hhbmRsZV9kZXZfZmFpbChkZXYsIHJjKSkKLQkJCW5yX2Rpc2FibGVkX2RldnMrKzsKKwkJYXRhX2VoX2hhbmRsZV9kZXZfZmFpbChkZXYsIHJjKTsKIAogCQlpZiAoYXAtPnBmbGFncyAmIEFUQV9QRkxBR19GUk9aRU4pIHsKIAkJCS8qIFBNUCByZXNldCByZXF1aXJlcyB3b3JraW5nIGhvc3QgcG9ydC4KQEAgLTI3NDUsMTggKzI4NzgsOCBAQAogCQl9CiAJfQogCi0JaWYgKG5yX2ZhaWxlZF9kZXZzKSB7Ci0JCWlmIChucl9mYWlsZWRfZGV2cyAhPSBucl9kaXNhYmxlZF9kZXZzKSB7Ci0JCQlhdGFfcG9ydF9wcmludGsoYXAsIEtFUk5fV0FSTklORywgImZhaWxlZCB0byByZWNvdmVyICIKLQkJCQkJInNvbWUgZGV2aWNlcywgcmV0cnlpbmcgaW4gNSBzZWNzXG4iKTsKLQkJCXNzbGVlcCg1KTsKLQkJfSBlbHNlIHsKLQkJCS8qIG5vIGRldmljZSBsZWZ0IHRvIHJlY292ZXIsIHJlcGVhdCBmYXN0ICovCi0JCQltc2xlZXAoNTAwKTsKLQkJfQotCisJaWYgKG5yX2ZhaWxlZF9kZXZzKQogCQlnb3RvIHJldHJ5OwotCX0KIAogIG91dDoKIAlpZiAocmMgJiYgcl9mYWlsZWRfbGluaykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1wbXAuYyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1wbXAuYwppbmRleCA3ZGFmNGMwLi5iNjVkYjMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9saWJhdGEtcG1wLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLXBtcC5jCkBAIC03MjcsMTkgKzcyNywxMiBAQAogCQl9CiAKIAkJaWYgKHRyaWVzKSB7Ci0JCQlpbnQgc2xlZXAgPSBlaGMtPmkuZmxhZ3MgJiBBVEFfRUhJX0RJRF9SRVNFVDsKLQogCQkJLyogY29uc2VjdXRpdmUgcmV2YWxpZGF0aW9uIGZhaWx1cmVzPyBzcGVlZCBkb3duICovCiAJCQlpZiAocmV2YWxfZmFpbGVkKQogCQkJCXNhdGFfZG93bl9zcGRfbGltaXQobGluayk7CiAJCQllbHNlCiAJCQkJcmV2YWxfZmFpbGVkID0gMTsKIAotCQkJYXRhX2Rldl9wcmludGsoZGV2LCBLRVJOX1dBUk5JTkcsCi0JCQkJICAgICAgICJyZXRyeWluZyByZXNldCVzXG4iLAotCQkJCSAgICAgICBzbGVlcCA/ICIgaW4gNSBzZWNzIiA6ICIiKTsKLQkJCWlmIChzbGVlcCkKLQkJCQlzc2xlZXAoNSk7CiAJCQllaGMtPmkuYWN0aW9uIHw9IEFUQV9FSF9SRVNFVDsKIAkJCWdvdG8gcmV0cnk7CiAJCX0gZWxzZSB7CkBAIC03ODUsNyArNzc4LDggQEAKIAkJICogU0Vycm9yLk4gd29ya2luZy4KIAkJICovCiAJCXNhdGFfbGlua19oYXJkcmVzZXQobGluaywgc2F0YV9kZWJfdGltaW5nX25vcm1hbCwKLQkJCQlqaWZmaWVzICsgQVRBX1RNT1VUX0lOVEVSTkFMX1FVSUNLLCBOVUxMLCBOVUxMKTsKKwkJCQlhdGFfZGVhZGxpbmUoamlmZmllcywgQVRBX1RNT1VUX0lOVEVSTkFMX1FVSUNLKSwKKwkJCQlOVUxMLCBOVUxMKTsKIAogCQkvKiB1bmNvbmRpdGlvbmFsbHkgY2xlYXIgU0Vycm9yLk4gKi8KIAkJcmMgPSBzYXRhX3Njcl93cml0ZShsaW5rLCBTQ1JfRVJST1IsIFNFUlJfUEhZUkRZX0NIRyk7CkBAIC05OTAsMTAgKzk4NCw3IEBACiAJCWdvdG8gcmV0cnk7CiAKIAlpZiAoLS1wbXBfdHJpZXMpIHsKLQkJYXRhX3BvcnRfcHJpbnRrKGFwLCBLRVJOX1dBUk5JTkcsCi0JCQkJImZhaWxlZCB0byByZWNvdmVyIFBNUCwgcmV0cnlpbmcgaW4gNSBzZWNzXG4iKTsKIAkJcG1wX2VoYy0+aS5hY3Rpb24gfD0gQVRBX0VIX1JFU0VUOwotCQlzc2xlZXAoNSk7CiAJCWdvdG8gcmV0cnk7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jIGIvZHJpdmVycy9hdGEvbGliYXRhLXNjc2kuYwppbmRleCA1N2E0MzY0Li5mM2I0YjE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMKQEAgLTE5MCw2ICsxOTAsODUgQEAKIAlzY3NpX2J1aWxkX3NlbnNlX2J1ZmZlcigwLCBjbWQtPnNlbnNlX2J1ZmZlciwgc2ssIGFzYywgYXNjcSk7CiB9CiAKK3N0YXRpYyBzc2l6ZV90CithdGFfc2NzaV9lbV9tZXNzYWdlX3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBTY3NpX0hvc3QgKnNob3N0ID0gY2xhc3NfdG9fc2hvc3QoZGV2KTsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gYXRhX3Nob3N0X3RvX3BvcnQoc2hvc3QpOworCWlmIChhcC0+b3BzLT5lbV9zdG9yZSAmJiAoYXAtPmZsYWdzICYgQVRBX0ZMQUdfRU0pKQorCQlyZXR1cm4gYXAtPm9wcy0+ZW1fc3RvcmUoYXAsIGJ1ZiwgY291bnQpOworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfZW1fbWVzc2FnZV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgY2hhciAqYnVmKQoreworCXN0cnVjdCBTY3NpX0hvc3QgKnNob3N0ID0gY2xhc3NfdG9fc2hvc3QoZGV2KTsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gYXRhX3Nob3N0X3RvX3BvcnQoc2hvc3QpOworCisJaWYgKGFwLT5vcHMtPmVtX3Nob3cgJiYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKSkKKwkJcmV0dXJuIGFwLT5vcHMtPmVtX3Nob3coYXAsIGJ1Zik7CisJcmV0dXJuIC1FSU5WQUw7Cit9CitERVZJQ0VfQVRUUihlbV9tZXNzYWdlLCBTX0lSVUdPIHwgU19JV1VHTywKKwkJYXRhX3Njc2lfZW1fbWVzc2FnZV9zaG93LCBhdGFfc2NzaV9lbV9tZXNzYWdlX3N0b3JlKTsKK0VYUE9SVF9TWU1CT0xfR1BMKGRldl9hdHRyX2VtX21lc3NhZ2UpOworCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfZW1fbWVzc2FnZV90eXBlX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCSAgICAgIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgU2NzaV9Ib3N0ICpzaG9zdCA9IGNsYXNzX3RvX3Nob3N0KGRldik7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGF0YV9zaG9zdF90b19wb3J0KHNob3N0KTsKKworCXJldHVybiBzbnByaW50ZihidWYsIDIzLCAiJWRcbiIsIGFwLT5lbV9tZXNzYWdlX3R5cGUpOworfQorREVWSUNFX0FUVFIoZW1fbWVzc2FnZV90eXBlLCBTX0lSVUdPLAorCQkgIGF0YV9zY3NpX2VtX21lc3NhZ2VfdHlwZV9zaG93LCBOVUxMKTsKK0VYUE9SVF9TWU1CT0xfR1BMKGRldl9hdHRyX2VtX21lc3NhZ2VfdHlwZSk7CisKK3N0YXRpYyBzc2l6ZV90CithdGFfc2NzaV9hY3Rpdml0eV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCWNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3Qgc2NzaV9kZXZpY2UgKnNkZXYgPSB0b19zY3NpX2RldmljZShkZXYpOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBhdGFfc2hvc3RfdG9fcG9ydChzZGV2LT5ob3N0KTsKKwlzdHJ1Y3QgYXRhX2RldmljZSAqYXRhZGV2ID0gYXRhX3Njc2lfZmluZF9kZXYoYXAsIHNkZXYpOworCisJaWYgKGFwLT5vcHMtPnN3X2FjdGl2aXR5X3Nob3cgJiYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX1NXX0FDVElWSVRZKSkKKwkJcmV0dXJuIGFwLT5vcHMtPnN3X2FjdGl2aXR5X3Nob3coYXRhZGV2LCBidWYpOworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfYWN0aXZpdHlfc3RvcmUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwljb25zdCBjaGFyICpidWYsIHNpemVfdCBjb3VudCkKK3sKKwlzdHJ1Y3Qgc2NzaV9kZXZpY2UgKnNkZXYgPSB0b19zY3NpX2RldmljZShkZXYpOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBhdGFfc2hvc3RfdG9fcG9ydChzZGV2LT5ob3N0KTsKKwlzdHJ1Y3QgYXRhX2RldmljZSAqYXRhZGV2ID0gYXRhX3Njc2lfZmluZF9kZXYoYXAsIHNkZXYpOworCWVudW0gc3dfYWN0aXZpdHkgdmFsOworCWludCByYzsKKworCWlmIChhcC0+b3BzLT5zd19hY3Rpdml0eV9zdG9yZSAmJiAoYXAtPmZsYWdzICYgQVRBX0ZMQUdfU1dfQUNUSVZJVFkpKSB7CisJCXZhbCA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMCk7CisJCXN3aXRjaCAodmFsKSB7CisJCWNhc2UgT0ZGOiBjYXNlIEJMSU5LX09OOiBjYXNlIEJMSU5LX09GRjoKKwkJCXJjID0gYXAtPm9wcy0+c3dfYWN0aXZpdHlfc3RvcmUoYXRhZGV2LCB2YWwpOworCQkJaWYgKCFyYykKKwkJCQlyZXR1cm4gY291bnQ7CisJCQllbHNlCisJCQkJcmV0dXJuIHJjOworCQl9CisJfQorCXJldHVybiAtRUlOVkFMOworfQorREVWSUNFX0FUVFIoc3dfYWN0aXZpdHksIFNfSVdVR08gfCBTX0lSVUdPLCBhdGFfc2NzaV9hY3Rpdml0eV9zaG93LAorCQkJYXRhX3Njc2lfYWN0aXZpdHlfc3RvcmUpOworRVhQT1JUX1NZTUJPTF9HUEwoZGV2X2F0dHJfc3dfYWN0aXZpdHkpOworCiBzdGF0aWMgdm9pZCBhdGFfc2NzaV9pbnZhbGlkX2ZpZWxkKHN0cnVjdCBzY3NpX2NtbmQgKmNtZCwKIAkJCQkgICB2b2lkICgqZG9uZSkoc3RydWN0IHNjc2lfY21uZCAqKSkKIHsKQEAgLTg4NSw3ICs5NjQsOCBAQAogCQkvKiBzZXQgdGhlIG1pbiBhbGlnbm1lbnQgYW5kIHBhZGRpbmcgKi8KIAkJYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfYWxpZ25tZW50KHNkZXYtPnJlcXVlc3RfcXVldWUsCiAJCQkJCSAgICAgICBBVEFfRE1BX1BBRF9TWiAtIDEpOwotCQlibGtfcXVldWVfZG1hX3BhZChzZGV2LT5yZXF1ZXN0X3F1ZXVlLCBBVEFfRE1BX1BBRF9TWiAtIDEpOworCQlibGtfcXVldWVfdXBkYXRlX2RtYV9wYWQoc2Rldi0+cmVxdWVzdF9xdWV1ZSwKKwkJCQkJIEFUQV9ETUFfUEFEX1NaIC0gMSk7CiAKIAkJLyogY29uZmlndXJlIGRyYWluaW5nICovCiAJCWJ1ZiA9IGttYWxsb2MoQVRBUElfTUFYX0RSQUlOLCBxLT5ib3VuY2VfZ2ZwIHwgR0ZQX0tFUk5FTCk7CkBAIC0xNzc4LDcgKzE4NTgsOSBAQAogCWNvbnN0IHU4IHBhZ2VzW10gPSB7CiAJCTB4MDAsCS8qIHBhZ2UgMHgwMCwgdGhpcyBwYWdlICovCiAJCTB4ODAsCS8qIHBhZ2UgMHg4MCwgdW5pdCBzZXJpYWwgbm8gcGFnZSAqLwotCQkweDgzCS8qIHBhZ2UgMHg4MywgZGV2aWNlIGlkZW50IHBhZ2UgKi8KKwkJMHg4MywJLyogcGFnZSAweDgzLCBkZXZpY2UgaWRlbnQgcGFnZSAqLworCQkweDg5LAkvKiBwYWdlIDB4ODksIGF0YSBpbmZvIHBhZ2UgKi8KKwkJMHhiMSwJLyogcGFnZSAweGIxLCBibG9jayBkZXZpY2UgY2hhcmFjdGVyaXN0aWNzIHBhZ2UgKi8KIAl9OwogCiAJcmJ1ZlszXSA9IHNpemVvZihwYWdlcyk7CS8qIG51bWJlciBvZiBzdXBwb3J0ZWQgVlBEIHBhZ2VzICovCkBAIC0xODk5LDYgKzE5ODEsMTkgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCBhdGFfc2NzaW9wX2lucV9iMShzdHJ1Y3QgYXRhX3Njc2lfYXJncyAqYXJncywgdTggKnJidWYpCit7CisJcmJ1ZlsxXSA9IDB4YjE7CisJcmJ1ZlszXSA9IDB4M2M7CisJaWYgKGF0YV9pZF9tYWpvcl92ZXJzaW9uKGFyZ3MtPmlkKSA+IDcpIHsKKwkJcmJ1Zls0XSA9IGFyZ3MtPmlkWzIxN10gPj4gODsKKwkJcmJ1Zls1XSA9IGFyZ3MtPmlkWzIxN107CisJCXJidWZbN10gPSBhcmdzLT5pZFsxNjhdICYgMHhmOworCX0KKworCXJldHVybiAwOworfQorCiAvKioKICAqCWF0YV9zY3Npb3Bfbm9vcCAtIENvbW1hbmQgaGFuZGxlciB0aGF0IHNpbXBseSByZXR1cm5zIHN1Y2Nlc3MuCiAgKglAYXJnczogZGV2aWNlIElERU5USUZZIGRhdGEgLyBTQ1NJIGNvbW1hbmQgb2YgaW50ZXJlc3QuCkBAIC0yOTIwLDYgKzMwMTUsOSBAQAogCQljYXNlIDB4ODk6CiAJCQlhdGFfc2NzaV9yYnVmX2ZpbGwoJmFyZ3MsIGF0YV9zY3Npb3BfaW5xXzg5KTsKIAkJCWJyZWFrOworCQljYXNlIDB4YjE6CisJCQlhdGFfc2NzaV9yYnVmX2ZpbGwoJmFyZ3MsIGF0YV9zY3Npb3BfaW5xX2IxKTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJYXRhX3Njc2lfaW52YWxpZF9maWVsZChjbWQsIGRvbmUpOwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEtc2ZmLmMgYi9kcml2ZXJzL2F0YS9saWJhdGEtc2ZmLmMKaW5kZXggYzA5MDhjMi4uMzA0ZmRjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLXNmZi5jCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1zZmYuYwpAQCAtMzQ1LDggKzM0NSw4IEBACiAvKioKICAqCWF0YV9zZmZfYnVzeV9zbGVlcCAtIHNsZWVwIHVudGlsIEJTWSBjbGVhcnMsIG9yIHRpbWVvdXQKICAqCUBhcDogcG9ydCBjb250YWluaW5nIHN0YXR1cyByZWdpc3RlciB0byBiZSBwb2xsZWQKLSAqCUB0bW91dF9wYXQ6IGltcGF0aWVuY2UgdGltZW91dAotICoJQHRtb3V0OiBvdmVyYWxsIHRpbWVvdXQKKyAqCUB0bW91dF9wYXQ6IGltcGF0aWVuY2UgdGltZW91dCBpbiBtc2VjcworICoJQHRtb3V0OiBvdmVyYWxsIHRpbWVvdXQgaW4gbXNlY3MKICAqCiAgKglTbGVlcCB1bnRpbCBBVEEgU3RhdHVzIHJlZ2lzdGVyIGJpdCBCU1kgY2xlYXJzLAogICoJb3IgYSB0aW1lb3V0IG9jY3Vycy4KQEAgLTM2NSw3ICszNjUsNyBAQAogCiAJc3RhdHVzID0gYXRhX3NmZl9idXN5X3dhaXQoYXAsIEFUQV9CVVNZLCAzMDApOwogCXRpbWVyX3N0YXJ0ID0gamlmZmllczsKLQl0aW1lb3V0ID0gdGltZXJfc3RhcnQgKyB0bW91dF9wYXQ7CisJdGltZW91dCA9IGF0YV9kZWFkbGluZSh0aW1lcl9zdGFydCwgdG1vdXRfcGF0KTsKIAl3aGlsZSAoc3RhdHVzICE9IDB4ZmYgJiYgKHN0YXR1cyAmIEFUQV9CVVNZKSAmJgogCSAgICAgICB0aW1lX2JlZm9yZShqaWZmaWVzLCB0aW1lb3V0KSkgewogCQltc2xlZXAoNTApOwpAQCAtMzc3LDcgKzM3Nyw3IEBACiAJCQkJInBvcnQgaXMgc2xvdyB0byByZXNwb25kLCBwbGVhc2UgYmUgcGF0aWVudCAiCiAJCQkJIihTdGF0dXMgMHgleClcbiIsIHN0YXR1cyk7CiAKLQl0aW1lb3V0ID0gdGltZXJfc3RhcnQgKyB0bW91dDsKKwl0aW1lb3V0ID0gYXRhX2RlYWRsaW5lKHRpbWVyX3N0YXJ0LCB0bW91dCk7CiAJd2hpbGUgKHN0YXR1cyAhPSAweGZmICYmIChzdGF0dXMgJiBBVEFfQlVTWSkgJiYKIAkgICAgICAgdGltZV9iZWZvcmUoamlmZmllcywgdGltZW91dCkpIHsKIAkJbXNsZWVwKDUwKTsKQEAgLTM5MCw3ICszOTAsNyBAQAogCWlmIChzdGF0dXMgJiBBVEFfQlVTWSkgewogCQlhdGFfcG9ydF9wcmludGsoYXAsIEtFUk5fRVJSLCAicG9ydCBmYWlsZWQgdG8gcmVzcG9uZCAiCiAJCQkJIiglbHUgc2VjcywgU3RhdHVzIDB4JXgpXG4iLAotCQkJCXRtb3V0IC8gSFosIHN0YXR1cyk7CisJCQkJRElWX1JPVU5EX1VQKHRtb3V0LCAxMDAwKSwgc3RhdHVzKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKQEAgLTE4ODgsNyArMTg4OCw3IEBACiAJdW5zaWduZWQgaW50IGRldjEgPSBkZXZtYXNrICYgKDEgPDwgMSk7CiAJaW50IHJjLCByZXQgPSAwOwogCi0JbXNsZWVwKEFUQV9XQUlUX0FGVEVSX1JFU0VUX01TRUNTKTsKKwltc2xlZXAoQVRBX1dBSVRfQUZURVJfUkVTRVQpOwogCiAJLyogYWx3YXlzIGNoZWNrIHJlYWRpbmVzcyBvZiB0aGUgbWFzdGVyIGRldmljZSAqLwogCXJjID0gYXRhX3NmZl93YWl0X3JlYWR5KGxpbmssIGRlYWRsaW5lKTsKQEAgLTIzNzEsNyArMjM3MSw4IEBACiAKIAkvKiBpc3N1ZSBidXMgcmVzZXQgKi8KIAlpZiAoYXAtPmZsYWdzICYgQVRBX0ZMQUdfU1JTVCkgewotCQlyYyA9IGF0YV9idXNfc29mdHJlc2V0KGFwLCBkZXZtYXNrLCBqaWZmaWVzICsgNDAgKiBIWik7CisJCXJjID0gYXRhX2J1c19zb2Z0cmVzZXQoYXAsIGRldm1hc2ssCisJCQkJICAgICAgIGF0YV9kZWFkbGluZShqaWZmaWVzLCA0MDAwMCkpOwogCQlpZiAocmMgJiYgcmMgIT0gLUVOT0RFVikKIAkJCWdvdG8gZXJyX291dDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEuaCBiL2RyaXZlcnMvYXRhL2xpYmF0YS5oCmluZGV4IDFjZjgwM2EuLmY2ZjljMjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS5oCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS5oCkBAIC0xNTEsNiArMTUxLDggQEAKIGV4dGVybiBpbnQgYXRhX2J1c19wcm9iZShzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKIAogLyogbGliYXRhLWVoLmMgKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIGF0YV9pbnRlcm5hbF9jbWRfdGltZW91dChzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCB1OCBjbWQpOworZXh0ZXJuIHZvaWQgYXRhX2ludGVybmFsX2NtZF90aW1lZF9vdXQoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgdTggY21kKTsKIGV4dGVybiBlbnVtIHNjc2lfZWhfdGltZXJfcmV0dXJuIGF0YV9zY3NpX3RpbWVkX291dChzdHJ1Y3Qgc2NzaV9jbW5kICpjbWQpOwogZXh0ZXJuIHZvaWQgYXRhX3Njc2lfZXJyb3Ioc3RydWN0IFNjc2lfSG9zdCAqaG9zdCk7CiBleHRlcm4gdm9pZCBhdGFfcG9ydF93YWl0X2VoKHN0cnVjdCBhdGFfcG9ydCAqYXApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV9iZjU0eC5jIGIvZHJpdmVycy9hdGEvcGF0YV9iZjU0eC5jCmluZGV4IDU1NTE2MTAuLmQzOTMyOTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL3BhdGFfYmY1NHguYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX2JmNTR4LmMKQEAgLTEwMTEsNyArMTAxMSw3IEBACiAJdm9pZCBfX2lvbWVtICpiYXNlID0gKHZvaWQgX19pb21lbSAqKWFwLT5pb2FkZHIuY3RsX2FkZHI7CiAJdW5zaWduZWQgaW50IGRldjAgPSBkZXZtYXNrICYgKDEgPDwgMCk7CiAJdW5zaWduZWQgaW50IGRldjEgPSBkZXZtYXNrICYgKDEgPDwgMSk7Ci0JdW5zaWduZWQgbG9uZyB0aW1lb3V0OworCXVuc2lnbmVkIGxvbmcgZGVhZGxpbmU7CiAKIAkvKiBpZiBkZXZpY2UgMCB3YXMgZm91bmQgaW4gYXRhX2RldmNoaywgd2FpdCBmb3IgaXRzCiAJICogQlNZIGJpdCB0byBjbGVhcgpAQCAtMTAyMiw3ICsxMDIyLDcgQEAKIAkvKiBpZiBkZXZpY2UgMSB3YXMgZm91bmQgaW4gYXRhX2RldmNoaywgd2FpdCBmb3IKIAkgKiByZWdpc3RlciBhY2Nlc3MsIHRoZW4gd2FpdCBmb3IgQlNZIHRvIGNsZWFyCiAJICovCi0JdGltZW91dCA9IGppZmZpZXMgKyBBVEFfVE1PVVRfQk9PVDsKKwlkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCBBVEFfVE1PVVRfQk9PVCk7CiAJd2hpbGUgKGRldjEpIHsKIAkJdTggbnNlY3QsIGxiYWw7CiAKQEAgLTEwMzEsNyArMTAzMSw3IEBACiAJCWxiYWwgPSByZWFkX2F0YXBpX3JlZ2lzdGVyKGJhc2UsIEFUQV9SRUdfTEJBTCk7CiAJCWlmICgobnNlY3QgPT0gMSkgJiYgKGxiYWwgPT0gMSkpCiAJCQlicmVhazsKLQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgdGltZW91dCkpIHsKKwkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgZGVhZGxpbmUpKSB7CiAJCQlkZXYxID0gMDsKIAkJCWJyZWFrOwogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9wYXRhX2xlZ2FjeS5jIGIvZHJpdmVycy9hdGEvcGF0YV9sZWdhY3kuYwppbmRleCBmZTdjYzhlLi5iYzAzN2ZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX2xlZ2FjeS5jCisrKyBiL2RyaXZlcnMvYXRhL3BhdGFfbGVnYWN5LmMKQEAgLTMwNSw3ICszMDUsNyBAQAogCQkJaW93cml0ZTMyX3JlcChhcC0+aW9hZGRyLmRhdGFfYWRkciwgYnVmLCBidWZsZW4gPj4gMik7CiAKIAkJaWYgKHVubGlrZWx5KHNsb3ApKSB7Ci0JCQl1MzIgcGFkOworCQkJX19sZTMyIHBhZDsKIAkJCWlmIChydyA9PSBSRUFEKSB7CiAJCQkJcGFkID0gY3B1X3RvX2xlMzIoaW9yZWFkMzIoYXAtPmlvYWRkci5kYXRhX2FkZHIpKTsKIAkJCQltZW1jcHkoYnVmICsgYnVmbGVuIC0gc2xvcCwgJnBhZCwgc2xvcCk7CkBAIC03NDYsMTQgKzc0NiwxMiBAQAogCQkJaW9yZWFkMzJfcmVwKGFwLT5pb2FkZHIuZGF0YV9hZGRyLCBidWYsIGJ1ZmxlbiA+PiAyKTsKIAogCQlpZiAodW5saWtlbHkoc2xvcCkpIHsKLQkJCXUzMiBwYWQ7CisJCQlfX2xlMzIgcGFkOwogCQkJaWYgKHJ3ID09IFdSSVRFKSB7CiAJCQkJbWVtY3B5KCZwYWQsIGJ1ZiArIGJ1ZmxlbiAtIHNsb3AsIHNsb3ApOwotCQkJCXBhZCA9IGxlMzJfdG9fY3B1KHBhZCk7Ci0JCQkJaW93cml0ZTMyKHBhZCwgYXAtPmlvYWRkci5kYXRhX2FkZHIpOworCQkJCWlvd3JpdGUzMihsZTMyX3RvX2NwdShwYWQpLCBhcC0+aW9hZGRyLmRhdGFfYWRkcik7CiAJCQl9IGVsc2UgewotCQkJCXBhZCA9IGlvcmVhZDMyKGFwLT5pb2FkZHIuZGF0YV9hZGRyKTsKLQkJCQlwYWQgPSBjcHVfdG9fbGUzMihwYWQpOworCQkJCXBhZCA9IGNwdV90b19sZTMyKGlvcmVhZDMyKGFwLT5pb2FkZHIuZGF0YV9hZGRyKSk7CiAJCQkJbWVtY3B5KGJ1ZiArIGJ1ZmxlbiAtIHNsb3AsICZwYWQsIHNsb3ApOwogCQkJfQogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9wYXRhX3FkaS5jIGIvZHJpdmVycy9hdGEvcGF0YV9xZGkuYwppbmRleCA5N2U1YjA5Li42M2I3YTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX3FkaS5jCisrKyBiL2RyaXZlcnMvYXRhL3BhdGFfcWRpLmMKQEAgLTEzNyw3ICsxMzcsNyBAQAogCQkJaW93cml0ZTMyX3JlcChhcC0+aW9hZGRyLmRhdGFfYWRkciwgYnVmLCBidWZsZW4gPj4gMik7CiAKIAkJaWYgKHVubGlrZWx5KHNsb3ApKSB7Ci0JCQl1MzIgcGFkOworCQkJX19sZTMyIHBhZDsKIAkJCWlmIChydyA9PSBSRUFEKSB7CiAJCQkJcGFkID0gY3B1X3RvX2xlMzIoaW9yZWFkMzIoYXAtPmlvYWRkci5kYXRhX2FkZHIpKTsKIAkJCQltZW1jcHkoYnVmICsgYnVmbGVuIC0gc2xvcCwgJnBhZCwgc2xvcCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9wYXRhX3NjYy5jIGIvZHJpdmVycy9hdGEvcGF0YV9zY2MuYwppbmRleCBiYmY1YWEzLi4xNjY3M2QxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX3NjYy5jCisrKyBiL2RyaXZlcnMvYXRhL3BhdGFfc2NjLmMKQEAgLTY5Niw3ICs2OTYsNyBAQAogCiAJCWlmIChyZWcgJiBJTlRTVFNfQk1TSU5UKSB7CiAJCQl1bnNpZ25lZCBpbnQgY2xhc3NlczsKLQkJCXVuc2lnbmVkIGxvbmcgZGVhZGxpbmUgPSBqaWZmaWVzICsgQVRBX1RNT1VUX0JPT1Q7CisJCQl1bnNpZ25lZCBsb25nIGRlYWRsaW5lID0gYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9UTU9VVF9CT09UKTsKIAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiBJbnRlcm5hbCBCdXMgRXJyb3JcbiIsIERSVl9OQU1FKTsKIAkJCW91dF9iZTMyKGJtaWRfYmFzZSArIFNDQ19ETUFfSU5UU1QsIElOVFNUU19CTVNJTlQpOwogCQkJLyogVEJEOiBTVyByZXNldCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV9zaXMuYyBiL2RyaXZlcnMvYXRhL3BhdGFfc2lzLmMKaW5kZXggZTgyYzY2ZS4uMjYzNDVkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvcGF0YV9zaXMuYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX3Npcy5jCkBAIC01Niw2ICs1Niw3IEBACiAJeyAweDU1MTMsIDB4MTA0MywgMHgxMTA3IH0sCS8qIEFTVVMgQTZLICovCiAJeyAweDU1MTMsIDB4MTczNCwgMHgxMDVGIH0sCS8qIEZTQyBBbWlsbyBBMTYzMCAqLwogCXsgMHg1NTEzLCAweDEwNzEsIDB4ODY0MCB9LCAgICAgLyogRWFzeU5vdGUgSzUzMDUgKi8KKwl7IDB4NTUxMywgMHgxMDM5LCAweDU1MTMgfSwJLyogVGFyZ2EgVmlzaW9uYXJ5IDEwMDAgKi8KIAkvKiBlbmQgbWFya2VyICovCiAJeyAwLCB9CiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV93aW5ib25kLmMgYi9kcml2ZXJzL2F0YS9wYXRhX3dpbmJvbmQuYwppbmRleCA0NzQ1MjhmLi5hNzYwNmIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX3dpbmJvbmQuYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX3dpbmJvbmQuYwpAQCAtMTA1LDcgKzEwNSw3IEBACiAJCQlpb3dyaXRlMzJfcmVwKGFwLT5pb2FkZHIuZGF0YV9hZGRyLCBidWYsIGJ1ZmxlbiA+PiAyKTsKIAogCQlpZiAodW5saWtlbHkoc2xvcCkpIHsKLQkJCXUzMiBwYWQ7CisJCQlfX2xlMzIgcGFkOwogCQkJaWYgKHJ3ID09IFJFQUQpIHsKIAkJCQlwYWQgPSBjcHVfdG9fbGUzMihpb3JlYWQzMihhcC0+aW9hZGRyLmRhdGFfYWRkcikpOwogCQkJCW1lbWNweShidWYgKyBidWZsZW4gLSBzbG9wLCAmcGFkLCBzbG9wKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL3NhdGFfc3Z3LmMgYi9kcml2ZXJzL2F0YS9zYXRhX3N2dy5jCmluZGV4IDE2YWE2ODMuLmZiMTNiODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL3NhdGFfc3Z3LmMKKysrIGIvZHJpdmVycy9hdGEvc2F0YV9zdncuYwpAQCAtMjUzLDIxICsyNTMsMjkgQEAKIAkvKiBzdGFydCBob3N0IERNQSB0cmFuc2FjdGlvbiAqLwogCWRtYWN0bCA9IHJlYWRiKG1taW8gKyBBVEFfRE1BX0NNRCk7CiAJd3JpdGViKGRtYWN0bCB8IEFUQV9ETUFfU1RBUlQsIG1taW8gKyBBVEFfRE1BX0NNRCk7Ci0JLyogVGhlcmUgaXMgYSByYWNlIGNvbmRpdGlvbiBpbiBjZXJ0YWluIFNBVEEgY29udHJvbGxlcnMgdGhhdCBjYW4KLQkgICBiZSBzZWVuIHdoZW4gdGhlIHIvdyBjb21tYW5kIGlzIGdpdmVuIHRvIHRoZSBjb250cm9sbGVyIGJlZm9yZSB0aGUKLQkgICBob3N0IERNQSBpcyBzdGFydGVkLiBPbiBhIFJlYWQgY29tbWFuZCwgdGhlIGNvbnRyb2xsZXIgd291bGQgaW5pdGlhdGUKLQkgICB0aGUgY29tbWFuZCB0byB0aGUgZHJpdmUgZXZlbiBiZWZvcmUgaXQgc2VlcyB0aGUgRE1BIHN0YXJ0LiBXaGVuIHRoZXJlCi0JICAgYXJlIHZlcnkgZmFzdCBkcml2ZXMgY29ubmVjdGVkIHRvIHRoZSBjb250cm9sbGVyLCBvciB3aGVuIHRoZSBkYXRhIHJlcXVlc3QKLQkgICBoaXRzIGluIHRoZSBkcml2ZSBjYWNoZSwgdGhlcmUgaXMgdGhlIHBvc3NpYmlsaXR5IHRoYXQgdGhlIGRyaXZlIHJldHVybnMgYSBwYXJ0Ci0JICAgb3IgYWxsIG9mIHRoZSByZXF1ZXN0ZWQgZGF0YSB0byB0aGUgY29udHJvbGxlciBiZWZvcmUgdGhlIERNQSBzdGFydCBpcyBpc3N1ZWQuCi0JICAgSW4gdGhpcyBjYXNlLCB0aGUgY29udHJvbGxlciB3b3VsZCBiZWNvbWUgY29uZnVzZWQgYXMgdG8gd2hhdCB0byBkbyB3aXRoIHRoZSBkYXRhLgotCSAgIEluIHRoZSB3b3JzdCBjYXNlIHdoZW4gYWxsIHRoZSBkYXRhIGlzIHJldHVybmVkIGJhY2sgdG8gdGhlIGNvbnRyb2xsZXIsIHRoZQotCSAgIGNvbnRyb2xsZXIgY291bGQgaGFuZy4gSW4gb3RoZXIgY2FzZXMgaXQgY291bGQgcmV0dXJuIHBhcnRpYWwgZGF0YSByZXR1cm5pbmcKLQkgICBpbiBkYXRhIGNvcnJ1cHRpb24uIFRoaXMgcHJvYmxlbSBoYXMgYmVlbiBzZWVuIGluIFBQQyBzeXN0ZW1zIGFuZCBjYW4gYWxzbyBhcHBlYXIKLQkgICBvbiBhbiBzeXN0ZW0gd2l0aCB2ZXJ5IGZhc3QgZGlza3MsIHdoZXJlIHRoZSBTQVRBIGNvbnRyb2xsZXIgaXMgc2l0dGluZyBiZWhpbmQgYQotCSAgIG51bWJlciBvZiBicmlkZ2VzLCBhbmQgaGVuY2UgdGhlcmUgaXMgc2lnbmlmaWNhbnQgbGF0ZW5jeSBiZXR3ZWVuIHRoZSByL3cgY29tbWFuZAotCSAgIGFuZCB0aGUgc3RhcnQgY29tbWFuZC4gKi8KLQkvKiBpc3N1ZSByL3cgY29tbWFuZCBpZiB0aGUgYWNjZXNzIGlzIHRvIEFUQSovCisJLyogVGhpcyB3b3JrcyBhcm91bmQgcG9zc2libGUgZGF0YSBjb3JydXB0aW9uLgorCisJICAgT24gY2VydGFpbiBTQVRBIGNvbnRyb2xsZXJzIHRoYXQgY2FuIGJlIHNlZW4gd2hlbiB0aGUgci93CisJICAgY29tbWFuZCBpcyBnaXZlbiB0byB0aGUgY29udHJvbGxlciBiZWZvcmUgdGhlIGhvc3QgRE1BIGlzCisJICAgc3RhcnRlZC4KKworCSAgIE9uIGEgUmVhZCBjb21tYW5kLCB0aGUgY29udHJvbGxlciB3b3VsZCBpbml0aWF0ZSB0aGUKKwkgICBjb21tYW5kIHRvIHRoZSBkcml2ZSBldmVuIGJlZm9yZSBpdCBzZWVzIHRoZSBETUEKKwkgICBzdGFydC4gV2hlbiB0aGVyZSBhcmUgdmVyeSBmYXN0IGRyaXZlcyBjb25uZWN0ZWQgdG8gdGhlCisJICAgY29udHJvbGxlciwgb3Igd2hlbiB0aGUgZGF0YSByZXF1ZXN0IGhpdHMgaW4gdGhlIGRyaXZlCisJICAgY2FjaGUsIHRoZXJlIGlzIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBkcml2ZSByZXR1cm5zIGEKKwkgICBwYXJ0IG9yIGFsbCBvZiB0aGUgcmVxdWVzdGVkIGRhdGEgdG8gdGhlIGNvbnRyb2xsZXIgYmVmb3JlCisJICAgdGhlIERNQSBzdGFydCBpcyBpc3N1ZWQuICBJbiB0aGlzIGNhc2UsIHRoZSBjb250cm9sbGVyCisJICAgd291bGQgYmVjb21lIGNvbmZ1c2VkIGFzIHRvIHdoYXQgdG8gZG8gd2l0aCB0aGUgZGF0YS4gIEluCisJICAgdGhlIHdvcnN0IGNhc2Ugd2hlbiBhbGwgdGhlIGRhdGEgaXMgcmV0dXJuZWQgYmFjayB0byB0aGUKKwkgICBjb250cm9sbGVyLCB0aGUgY29udHJvbGxlciBjb3VsZCBoYW5nLiBJbiBvdGhlciBjYXNlcyBpdAorCSAgIGNvdWxkIHJldHVybiBwYXJ0aWFsIGRhdGEgcmV0dXJuaW5nIGluIGRhdGEKKwkgICBjb3JydXB0aW9uLiBUaGlzIHByb2JsZW0gaGFzIGJlZW4gc2VlbiBpbiBQUEMgc3lzdGVtcyBhbmQKKwkgICBjYW4gYWxzbyBhcHBlYXIgb24gYW4gc3lzdGVtIHdpdGggdmVyeSBmYXN0IGRpc2tzLCB3aGVyZQorCSAgIHRoZSBTQVRBIGNvbnRyb2xsZXIgaXMgc2l0dGluZyBiZWhpbmQgYSBudW1iZXIgb2YgYnJpZGdlcywKKwkgICBhbmQgaGVuY2UgdGhlcmUgaXMgc2lnbmlmaWNhbnQgbGF0ZW5jeSBiZXR3ZWVuIHRoZSByL3cKKwkgICBjb21tYW5kIGFuZCB0aGUgc3RhcnQgY29tbWFuZC4gKi8KKwkvKiBpc3N1ZSByL3cgY29tbWFuZCBpZiB0aGUgYWNjZXNzIGlzIHRvIEFUQSAqLwogCWlmIChxYy0+dGYucHJvdG9jb2wgPT0gQVRBX1BST1RfRE1BKQogCQlhcC0+b3BzLT5zZmZfZXhlY19jb21tYW5kKGFwLCAmcWMtPnRmKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRtL01ha2VmaWxlIGIvZHJpdmVycy9hdG0vTWFrZWZpbGUKaW5kZXggZTRmYTk5NjUuLjc0OTI2NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRtL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvYXRtL01ha2VmaWxlCkBAIC02LDkgKzYsOSBAQAogaG9zdHByb2dzLXkJOj0gZm9yZTIwMGVfbWtmaXJtCiAKICMgRmlsZXMgZ2VuZXJhdGVkIHRoYXQgc2hhbGwgYmUgcmVtb3ZlZCB1cG9uIG1ha2UgY2xlYW4KLWNsZWFuLWZpbGVzIDo9IGF0bXNhcjExLmJpbiBhdG1zYXIxMS5iaW4xIGF0bXNhcjExLmJpbjIgcGNhMjAwZS5iaW4gXAotCXBjYTIwMGUuYmluMSBwY2EyMDBlLmJpbjIgcGNhMjAwZV9lY2QuYmluIHBjYTIwMGVfZWNkLmJpbjEgXAotCXBjYTIwMGVfZWNkLmJpbjIgc2JhMjAwZV9lY2QuYmluIHNiYTIwMGVfZWNkLmJpbjEgc2JhMjAwZV9lY2QuYmluMgorY2xlYW4tZmlsZXMgOj0gcGNhMjAwZS5iaW4gcGNhMjAwZS5iaW4xIHBjYTIwMGUuYmluMiBwY2EyMDBlX2VjZC5iaW4gXAorCXBjYTIwMGVfZWNkLmJpbjEgcGNhMjAwZV9lY2QuYmluMiBzYmEyMDBlX2VjZC5iaW4gc2JhMjAwZV9lY2QuYmluMSBcCisJc2JhMjAwZV9lY2QuYmluMgogIyBGaXJtd2FyZSBnZW5lcmF0ZWQgdGhhdCBzaGFsbCBiZSByZW1vdmVkIHVwb24gbWFrZSBjbGVhbgogY2xlYW4tZmlsZXMgKz0gZm9yZTIwMGVfcGNhX2Z3LmMgZm9yZTIwMGVfc2JhX2Z3LmMKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdG0vYW1iYXNzYWRvci5jIGIvZHJpdmVycy9hdG0vYW1iYXNzYWRvci5jCmluZGV4IDZhZGI3MmEuLjcwMzM2NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRtL2FtYmFzc2Fkb3IuYworKysgYi9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmMKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlIDxsaW51eC9wb2lzb24uaD4KICNpbmNsdWRlIDxsaW51eC9iaXRyZXYuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogCiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtMjkwLDI5ICsyOTIsNiBAQAogICAKICovCiAKLS8qKioqKioqKioqIG1pY3JvY29kZSAqKioqKioqKioqLwotCi0jaWZkZWYgQU1CX05FV19NSUNST0NPREUKLSNkZWZpbmUgVUNPREUoeCkgVUNPREUyKGF0bXNhcjEyLngpCi0jZWxzZQotI2RlZmluZSBVQ09ERSh4KSBVQ09ERTIoYXRtc2FyMTEueCkKLSNlbmRpZgotI2RlZmluZSBVQ09ERTIoeCkgI3gKLQotc3RhdGljIHUzMiBfX2RldmluaXRkYXRhIHVjb2RlX3N0YXJ0ID0KLSNpbmNsdWRlIFVDT0RFKHN0YXJ0KQotOwotCi1zdGF0aWMgcmVnaW9uIF9fZGV2aW5pdGRhdGEgdWNvZGVfcmVnaW9uc1tdID0gewotI2luY2x1ZGUgVUNPREUocmVnaW9ucykKLSAgeyAwLCAwIH0KLX07Ci0KLXN0YXRpYyB1MzIgX19kZXZpbml0ZGF0YSB1Y29kZV9kYXRhW10gPSB7Ci0jaW5jbHVkZSBVQ09ERShkYXRhKQotICAweGRlYWRiZWVmCi19OwotCiBzdGF0aWMgdm9pZCBkb19ob3VzZWtlZXBpbmcgKHVuc2lnbmVkIGxvbmcgYXJnKTsKIC8qKioqKioqKioqIGdsb2JhbHMgKioqKioqKioqKi8KIApAQCAtMTg0MSw0NSArMTgyMCwzNCBAQAogCiAvKiBsb2FkZXI6IHdyaXRlIG1lbW9yeSBkYXRhIGJsb2NrcyAqLwogCi1zdGF0aWMgaW50IF9fZGV2aW5pdCBsb2FkZXJfd3JpdGUgKGxvYWRlcl9ibG9jayAqIGxiLAotCQkJCWNvbnN0IGFtYl9kZXYgKiBkZXYsIGNvbnN0IHUzMiAqIGRhdGEsCi0JCQkJdTMyIGFkZHJlc3MsIHVuc2lnbmVkIGludCBjb3VudCkgewotICB1bnNpZ25lZCBpbnQgaTsKK3N0YXRpYyBpbnQgX19kZXZpbml0IGxvYWRlcl93cml0ZSAobG9hZGVyX2Jsb2NrKiBsYiwKKwkJCQkgICBjb25zdCBhbWJfZGV2ICpkZXYsCisJCQkJICAgY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWMpIHsKICAgdHJhbnNmZXJfYmxvY2sgKiB0YiA9ICZsYi0+cGF5bG9hZC50cmFuc2ZlcjsKICAgCiAgIFBSSU5URCAoREJHX0ZMT1d8REJHX0xPQUQsICJsb2FkZXJfd3JpdGUiKTsKLSAgCi0gIGlmIChjb3VudCA+IE1BWF9UUkFOU0ZFUl9EQVRBKQotICAgIHJldHVybiAtRUlOVkFMOwotICB0Yi0+YWRkcmVzcyA9IGNwdV90b19iZTMyIChhZGRyZXNzKTsKLSAgdGItPmNvdW50ID0gY3B1X3RvX2JlMzIgKGNvdW50KTsKLSAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpCi0gICAgdGItPmRhdGFbaV0gPSBjcHVfdG9fYmUzMiAoZGF0YVtpXSk7CisKKyAgdGItPmFkZHJlc3MgPSByZWMtPmFkZHI7CisgIHRiLT5jb3VudCA9IGNwdV90b19iZTMyKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSAvIDQpOworICBtZW1jcHkodGItPmRhdGEsIHJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKICAgcmV0dXJuIGRvX2xvYWRlcl9jb21tYW5kIChsYiwgZGV2LCB3cml0ZV9hZGFwdGVyX21lbW9yeSk7CiB9CiAKIC8qIGxvYWRlcjogdmVyaWZ5IG1lbW9yeSBkYXRhIGJsb2NrcyAqLwogCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBsb2FkZXJfdmVyaWZ5IChsb2FkZXJfYmxvY2sgKiBsYiwKLQkJCQkgY29uc3QgYW1iX2RldiAqIGRldiwgY29uc3QgdTMyICogZGF0YSwKLQkJCQkgdTMyIGFkZHJlc3MsIHVuc2lnbmVkIGludCBjb3VudCkgewotICB1bnNpZ25lZCBpbnQgaTsKKwkJCQkgICAgY29uc3QgYW1iX2RldiAqZGV2LAorCQkJCSAgICBjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYykgewogICB0cmFuc2Zlcl9ibG9jayAqIHRiID0gJmxiLT5wYXlsb2FkLnRyYW5zZmVyOwogICBpbnQgcmVzOwogICAKICAgUFJJTlREIChEQkdfRkxPV3xEQkdfTE9BRCwgImxvYWRlcl92ZXJpZnkiKTsKICAgCi0gIGlmIChjb3VudCA+IE1BWF9UUkFOU0ZFUl9EQVRBKQotICAgIHJldHVybiAtRUlOVkFMOwotICB0Yi0+YWRkcmVzcyA9IGNwdV90b19iZTMyIChhZGRyZXNzKTsKLSAgdGItPmNvdW50ID0gY3B1X3RvX2JlMzIgKGNvdW50KTsKKyAgdGItPmFkZHJlc3MgPSByZWMtPmFkZHI7CisgIHRiLT5jb3VudCA9IGNwdV90b19iZTMyKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSAvIDQpOwogICByZXMgPSBkb19sb2FkZXJfY29tbWFuZCAobGIsIGRldiwgcmVhZF9hZGFwdGVyX21lbW9yeSk7Ci0gIGlmICghcmVzKQotICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgKytpKQotICAgICAgaWYgKHRiLT5kYXRhW2ldICE9IGNwdV90b19iZTMyIChkYXRhW2ldKSkgewotCXJlcyA9IC1FSU5WQUw7Ci0JYnJlYWs7Ci0gICAgICB9CisgIGlmICghcmVzICYmIG1lbWNtcCh0Yi0+ZGF0YSwgcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpKQorICAgIHJlcyA9IC1FSU5WQUw7CiAgIHJldHVybiByZXM7CiB9CiAKQEAgLTE5NjIsNDcgKzE5MzAsNTMgQEAKIC8qKioqKioqKioqIHRyYW5zZmVyIGFuZCBzdGFydCB0aGUgbWljcm9jb2RlICoqKioqKioqKiovCiAKIHN0YXRpYyBpbnQgX19kZXZpbml0IHVjb2RlX2luaXQgKGxvYWRlcl9ibG9jayAqIGxiLCBhbWJfZGV2ICogZGV2KSB7Ci0gIHVuc2lnbmVkIGludCBpID0gMDsKLSAgdW5zaWduZWQgaW50IHRvdGFsID0gMDsKLSAgY29uc3QgdTMyICogcG9pbnRlciA9IHVjb2RlX2RhdGE7Ci0gIHUzMiBhZGRyZXNzOwotICB1bnNpZ25lZCBpbnQgY291bnQ7CisgIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisgIHVuc2lnbmVkIGxvbmcgc3RhcnRfYWRkcmVzczsKKyAgY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CiAgIGludCByZXM7CiAgIAorICByZXMgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCAiYXRtc2FyMTEuZnciLCAmZGV2LT5wY2lfZGV2LT5kZXYpOworICBpZiAocmVzKSB7CisgICAgUFJJTlRLIChLRVJOX0VSUiwgIkNhbm5vdCBsb2FkIG1pY3JvY29kZSBkYXRhIik7CisgICAgcmV0dXJuIHJlczsKKyAgfQorCisgIC8qIEZpcnN0IHJlY29yZCBjb250YWlucyBqdXN0IHRoZSBzdGFydCBhZGRyZXNzICovCisgIHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsKKyAgaWYgKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSAhPSBzaXplb2YoX19iZTMyKSB8fCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpKSB7CisgICAgUFJJTlRLIChLRVJOX0VSUiwgIkJhZCBtaWNyb2NvZGUgZGF0YSAobm8gc3RhcnQgcmVjb3JkKSIpOworICAgIHJldHVybiAtRUlOVkFMOworICB9CisgIHN0YXJ0X2FkZHJlc3MgPSBiZTMyX3RvX2NwdXAoKF9fYmUzMiAqKXJlYy0+ZGF0YSk7CisKKyAgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOworCiAgIFBSSU5URCAoREJHX0ZMT1d8REJHX0xPQUQsICJ1Y29kZV9pbml0Iik7Ci0gIAotICB3aGlsZSAoYWRkcmVzcyA9IHVjb2RlX3JlZ2lvbnNbaV0uc3RhcnQsCi0JIGNvdW50ID0gdWNvZGVfcmVnaW9uc1tpXS5jb3VudCkgewotICAgIFBSSU5URCAoREJHX0xPQUQsICJzdGFydGluZyByZWdpb24gKCV4LCAldSkiLCBhZGRyZXNzLCBjb3VudCk7Ci0gICAgd2hpbGUgKGNvdW50KSB7Ci0gICAgICB1bnNpZ25lZCBpbnQgd29yZHM7Ci0gICAgICBpZiAoY291bnQgPD0gTUFYX1RSQU5TRkVSX0RBVEEpCi0Jd29yZHMgPSBjb3VudDsKLSAgICAgIGVsc2UKLQl3b3JkcyA9IE1BWF9UUkFOU0ZFUl9EQVRBOwotICAgICAgdG90YWwgKz0gd29yZHM7Ci0gICAgICByZXMgPSBsb2FkZXJfd3JpdGUgKGxiLCBkZXYsIHBvaW50ZXIsIGFkZHJlc3MsIHdvcmRzKTsKLSAgICAgIGlmIChyZXMpCi0JcmV0dXJuIHJlczsKLSAgICAgIHJlcyA9IGxvYWRlcl92ZXJpZnkgKGxiLCBkZXYsIHBvaW50ZXIsIGFkZHJlc3MsIHdvcmRzKTsKLSAgICAgIGlmIChyZXMpCi0JcmV0dXJuIHJlczsKLSAgICAgIGNvdW50IC09IHdvcmRzOwotICAgICAgYWRkcmVzcyArPSBzaXplb2YodTMyKSAqIHdvcmRzOwotICAgICAgcG9pbnRlciArPSB3b3JkczsKKworICB3aGlsZSAocmVjKSB7CisgICAgUFJJTlREIChEQkdfTE9BRCwgInN0YXJ0aW5nIHJlZ2lvbiAoJXgsICV1KSIsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJICAgIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CisgICAgaWYgKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSA+IDQgKiBNQVhfVFJBTlNGRVJfREFUQSkgeworCSAgICBQUklOVEsgKEtFUk5fRVJSLCAiQmFkIG1pY3JvY29kZSBkYXRhIChyZWNvcmQgdG9vIGxvbmcpIik7CisJICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KLSAgICBpICs9IDE7CisgICAgaWYgKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSAmIDMpIHsKKwkgICAgUFJJTlRLIChLRVJOX0VSUiwgIkJhZCBtaWNyb2NvZGUgZGF0YSAob2RkIG51bWJlciBvZiBieXRlcykiKTsKKwkgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgfQorICAgIHJlcyA9IGxvYWRlcl93cml0ZShsYiwgZGV2LCByZWMpOworICAgIGlmIChyZXMpCisgICAgICBicmVhazsKKworICAgIHJlcyA9IGxvYWRlcl92ZXJpZnkobGIsIGRldiwgcmVjKTsKKyAgICBpZiAocmVzKQorICAgICAgYnJlYWs7CiAgIH0KLSAgaWYgKCpwb2ludGVyID09IEFUTV9QT0lTT04pIHsKLSAgICByZXR1cm4gbG9hZGVyX3N0YXJ0IChsYiwgZGV2LCB1Y29kZV9zdGFydCk7Ci0gIH0gZWxzZSB7Ci0gICAgLy8gY2FzdCBuZWVkZWQgYXMgdGhlcmUgaXMgbm8gJT8gZm9yIHBvaW50ZXIgZGlmZmVybmNlcwotICAgIFBSSU5URCAoREJHX0xPQUR8REJHX0VSUiwKLQkgICAgIm9mZnNldD0lbGksICpwb2ludGVyPSV4LCBhZGRyZXNzPSV4LCB0b3RhbD0ldSIsCi0JICAgIChsb25nKSAocG9pbnRlciAtIHVjb2RlX2RhdGEpLCAqcG9pbnRlciwgYWRkcmVzcywgdG90YWwpOwotICAgIFBSSU5USyAoS0VSTl9FUlIsICJpbmNvcnJlY3QgbWljcm9jb2RlIGRhdGEiKTsKLSAgICByZXR1cm4gLUVOT01FTTsKLSAgfQorICByZWxlYXNlX2Zpcm13YXJlKGZ3KTsKKyAgaWYgKCFyZXMpCisgICAgcmVzID0gbG9hZGVyX3N0YXJ0KGxiLCBkZXYsIHN0YXJ0X2FkZHJlc3MpOworCisgIHJldHVybiByZXM7CiB9CiAKIC8qKioqKioqKioqIGdpdmUgYWRhcHRlciBwYXJhbWV0ZXJzICoqKioqKioqKiovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmggYi9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmgKaW5kZXggZGY1NWZhOC4uYmQxYzQ2YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdG0vYW1iYXNzYWRvci5oCisrKyBiL2RyaXZlcnMvYXRtL2FtYmFzc2Fkb3IuaApAQCAtNjU2LDE3ICs2NTYsNiBAQAogI2RlZmluZSBBTUJfREVWKGF0bV9kZXYpICgoYW1iX2RldiAqKSAoYXRtX2RldiktPmRldl9kYXRhKQogI2RlZmluZSBBTUJfVkNDKGF0bV92Y2MpICgoYW1iX3ZjYyAqKSAoYXRtX3ZjYyktPmRldl9kYXRhKQogCi0vKiB0aGUgbWljcm9jb2RlICovCi0KLXR5cGVkZWYgc3RydWN0IHsKLSAgdTMyIHN0YXJ0OwotICB1bnNpZ25lZCBpbnQgY291bnQ7Ci19IHJlZ2lvbjsKLQotc3RhdGljIHJlZ2lvbiB1Y29kZV9yZWdpb25zW107Ci1zdGF0aWMgdTMyIHVjb2RlX2RhdGFbXTsKLXN0YXRpYyB1MzIgdWNvZGVfc3RhcnQ7Ci0KIC8qIHJhdGUgcm91bmRpbmcgKi8KIAogdHlwZWRlZiBlbnVtIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRtL2F0bXNhcjExLmRhdGEgYi9kcml2ZXJzL2F0bS9hdG1zYXIxMS5kYXRhCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZGM4YTc2Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvYXRtL2F0bXNhcjExLmRhdGEKKysrIC9kZXYvbnVsbApAQCAtMSwyMDYzICswLDAgQEAKLS8qCi0gIE1hZGdlIEFtYmFzc2Fkb3IgQVRNIEFkYXB0ZXIgbWljcm9jb2RlLgotICBDb3B5cmlnaHQgKEMpIDE5OTUtMTk5OSAgTWFkZ2UgTmV0d29ya3MgTHRkLgotICAKLSAgVGhpcyBtaWNyb2NvZGUgZGF0YSBpcyBwbGFjZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbAotICBQdWJsaWMgTGljZW5zZS4gVGhlIEdQTCBpcyBjb250YWluZWQgaW4gL3Vzci9kb2MvY29weXJpZ2h0L0dQTCBvbiBhCi0gIERlYmlhbiBzeXN0ZW0gYW5kIGluIHRoZSBmaWxlIENPUFlJTkcgaW4gdGhlIExpbnV4IGtlcm5lbCBzb3VyY2UuCi0gIAotICBXZSB3b3VsZCBwcmVmZXIgeW91IG5vdCB0byBkaXN0cmlidXRlIG1vZGlmaWVkIHZlcnNpb25zIHdpdGhvdXQKLSAgY29uc3VsdGF0aW9uIGFuZCBub3QgdG8gYXNrIGZvciBhc3NlbWJseS9vdGhlciBtaWNyb2NvZGUgc291cmNlLgotKi8KLQotICAweDQwMWE2ODAwLAotICAweDAwMDAwMDAwLAotICAweDMzNWIwMDdjLAotICAweDEzNjAwMDA1LAotICAweDMzNWIxMDAwLAotICAweDNjMWFhMGMwLAotICAweDM3NWEwMTgwLAotICAweDAzNDAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDE3NjBmZmZiLAotICAweDMzNWI0MDAwLAotICAweDQwMWE3MDAwLAotICAweDEzNjAwMDAzLAotICAweDI0MWIwZmMwLAotICAweGFmOWI0NTAwLAotICAweDI1MDgwMDA4LAotICAweDAzNDAwMDA4LAotICAweDQyMDAwMDEwLAotICAweDhmODEwYzkwLAotICAweDMyMjIwMDAyLAotICAweDEwNDAwMDAzLAotICAweDNjMDNhMGQxLAotICAweDI0NjNmODEwLAotICAweDAwNjBmODA5LAotICAweDI0MjEwMDAxLAotICAweDEwMDAwMDFhLAotICAweGFmODEwYzkwLAotICAweDgyMDIwMDExLAotICAweGFmOTAwYzQ4LAotICAweDA0NDEwMDBhLAotICAweDM0NDIwMDgwLAotICAweDk2N2QwMDAyLAotICAweDk2MDIwMDEyLAotICAweDAwMDAwMDAwLAotICAweDEwNWQwMDExLAotICAweDAwMDAwMDAwLAotICAweDA0MTEwMTYxLAotICAweGE2NjIwMDAyLAotICAweDEwMDAwMDBkLAotICAweGFlNjIwMDBjLAotICAweDM0ODQ4MDAwLAotICAweGEyMDIwMDExLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODM0YzAwLAotICAweDAwMDAwMDAwLAotICAweGFmODMwZmVjLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDAwMDQxNDAwLAotICAweDA0NDBmZmY3LAotICAweDAwMDAwMDAwLAotICAweGFmODA0NjBjLAotICAweDhlMTAwMDA4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODM0YzAwLAotICAweDQ5MDAwMDFkLAotICAweGFmODMwZmVjLAotICAweDhmODIwY2JjLAotICAweDhmOWQwYzRjLAotICAweDI0NDIwMDAxLAotICAweDk3YmUwMDAwLAotICAweGFmODIwY2JjLAotICAweDEzYzAwMDA5LAotICAweGFjYTIwMGQ4LAotICAweGE3YTAwMDAwLAotICAweDNjMDEwMGQxLAotICAweDAwM2UwODI1LAotICAweDk0MjIwMDJjLAotICAweDA0MTEwMTNmLAotICAweGE0MjIwMDAyLAotICAweGFjMjIwMDBjLAotICAweGFjMjAwMDEwLAotICAweDhmOWUwYzU0LAotICAweDI3YmQwMDAyLAotICAweDE3YmUwMDAyLAotICAweDhjYTIwMGMwLAotICAweDhmOWQwYzUwLAotICAweDhmOTcwZmM4LAotICAweGFmOWQwYzRjLAotICAweDEyZTIwMDA1LAotICAweDg3ODA0MDAyLAotICAweDNjMDJhMGQxLAotICAweDI0NDJmOTRjLAotICAweDAwNDBmODA5LAotICAweDAwMDAwMDAwLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDQ1MDBmZmRjLAotICAweDhlMTEwMDBjLAotICAweDNjMTMwMGQxLAotICAweDAwMTExMTAyLAotICAweDJjNDMwNDAwLAotICAweDEwNjBmZmI5LAotICAweDAwMDIxMTgwLAotICAweDAyNjI5ODIxLAotICAweDhlNzYwMDNjLAotICAweDMyMjIwMDA4LAotICAweDE0NDBmZmI3LAotICAweDhlNzcwMDM0LAotICAweDhlNzUwMDMwLAotICAweDNjMDNjZmIwLAotICAweDE2YzAwMDAzLAotICAweDAyZDUxMDJiLAotICAweDA0MTEwMGJlLAotICAweDAwMDAwMDAwLAotICAweDEwNDBmZmE2LAotICAweDAwNzAxODI2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODI0YzAwLAotICAweGFmOTc0YzAwLAotICAweGFmODIwZmVjLAotICAweGFjNzYwMDEwLAotICAweDAyNjA5MDIxLAotICAweDMyMjIwMDAyLAotICAweDEwNDAwMDA3LAotICAweDhmOTQ0YTAwLAotICAweDk2MDIwMDNhLAotICAweDM0ODQwMDA0LAotICAweDE0NDAwMDAzLAotICAweGFmODIwZmJjLAotICAweDNjMDI5MDAwLAotICAweGFmODIwZmJjLAotICAweDhlMTAwMDA4LAotICAweDMyOTQzZjAwLAotICAweDhlMTEwMDBjLAotICAweDI2OTRmZjAwLAotICAweDEyODAwMDczLAotICAweDNjMTMwMGQxLAotICAweDQ5MDEwMDcxLAotICAweDMyMzcwMDA4LAotICAweDE2ZTAwMDZmLAotICAweDAwMTExMTAyLAotICAweDJjNDMwNDAwLAotICAweDEwNjAwMDZjLAotICAweDAwMDJiOTgwLAotICAweDAwMDQxNzQwLAotICAweDA0NDAwMDNhLAotICAweDAyNzc5ODIxLAotICAweDEyNzIwMDIzLAotICAweDI2ZDYwMDMwLAotICAweGFlNTYwMDNjLAotICAweDhlNzYwMDNjLAotICAweDhlNzcwMDM0LAotICAweDhlNzUwMDMwLAotICAweDNjMDNjZmIwLAotICAweDE2YzAwMDAzLAotICAweDAyZDUxMDJiLAotICAweDA0MTEwMDkxLAotICAweDAwMDAwMDAwLAotICAweDEwNDAwMDYwLAotICAweDJlODIxMDAwLAotICAweDE0NDAwMDA5LAotICAweDAwNzAxODI2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODI0YzAwLAotICAweGFmOTc0YzAwLAotICAweGFjNzYwMDEwLAotICAweGFlNDIwMDM0LAotICAweDEwMDBmZmQwLAotICAweGFmODA0NjBjLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDNjMDNjZmIwLAotICAweDAwNzAxODI2LAotICAweGFlNDYwMDM0LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODI0YzAwLAotICAweGFmOTc0YzAwLAotICAweGFmODIwZmVjLAotICAweGFjNzYwMDEwLAotICAweDEwMDBmZmMzLAotICAweGFmODA0NjBjLAotICAweDAyZDUxMDJiLAotICAweDEwNDAwMDQyLAotICAweDNjMTdjZmIwLAotICAweDJlODIxMDAwLAotICAweDE0NDAwMDA2LAotICAweDAyZjBiODI2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFlZjYwMDEwLAotICAweDEwMDBmZmI4LAotICAweGFmODA0NjBjLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODI0YzAwLAotICAweGFmODY0YzAwLAotICAweGFlZjYwMDEwLAotICAweGFmODIwZmVjLAotICAweDEwMDBmZmFlLAotICAweGFmODA0NjBjLAotICAweDMwODRmZmZiLAotICAweDhlNTcwMDM4LAotICAweDMyNDJmZmMwLAotICAweDAwMDIxMTgyLAotICAweGE3ODIwZmI4LAotICAweGFmOTcwZmI0LAotICAweDg2NWQwMDJhLAotICAweDg2NWUwMDA4LAotICAweGE3OWQwZmJhLAotICAweDI3OWQwZjE4LAotICAweDMzZGUwMDYwLAotICAweDAzYmVlODIxLAotICAweDAwMWVmMGMyLAotICAweDAzYmVlODIxLAotICAweDhmOTcwYzU4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODM0YzAwLAotICAweDhmYTIwMDFjLAotICAweDEyZTMwMDAzLAotICAweDNjMDMwYzQwLAotICAweDNjMWVjMDAwLAotICAweGFmOWUwZmJjLAotICAweGFjNjIwZmI0LAotICAweDhmYTMwMDE4LAotICAweDI0NDIwMDBjLAotICAweDE0NDMwMDAyLAotICAweGFmODA0NjBjLAotICAweDhmYTIwMDE0LAotICAweGFlNDAwMDNjLAotICAweGFmYTIwMDFjLAotICAweDhlNzYwMDNjLAotICAweDhlNzcwMDM0LAotICAweDhlNzUwMDMwLAotICAweDNjMDNjZmIwLAotICAweDE2YzAwMDAzLAotICAweDAyZDUxMDJiLAotICAweDA0MTEwMDNjLAotICAweDAwMDAwMDAwLAotICAweDAwNzAxODI2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFjYTUwMGU0LAotICAweDEwNDAwMDMyLAotICAweGFmOTc0YzAwLAotICAweDEwMDBmZjdmLAotICAweGFjNzYwMDEwLAotICAweDAwMDQxNzQwLAotICAweDA0NDAwMDA3LAotICAweDI2ZDYwMDMwLAotICAweGFlNTYwMDNjLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweGFmODA0NjBjLAotICAweDEwMDBmZjM5LAotICAweGFlNDYwMDM0LAotICAweDhlNTcwMDM4LAotICAweDMyNDJmZmMwLAotICAweDAwMDIxMTgyLAotICAweGE3ODIwZmI4LAotICAweGFmOTcwZmI0LAotICAweDhmOTcwYzU4LAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDEyZTYwMDAzLAotICAweDNjMDMwYzQwLAotICAweDNjMDJjMDAwLAotICAweGFmODIwZmJjLAotICAweDg2NWQwMDJhLAotICAweDg2NWUwMDA4LAotICAweGE3OWQwZmJhLAotICAweDI3OWQwZjE4LAotICAweDMzZGUwMDYwLAotICAweDAzYmVlODIxLAotICAweDAwMWVmMGMyLAotICAweDAzYmVlODIxLAotICAweDhmYTIwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOTc0YzAwLAotICAweGFjNjIwZmI0LAotICAweDMwODRmZmZiLAotICAweDhmYTMwMDE4LAotICAweDI0NDIwMDBjLAotICAweDE0NDMwMDAyLAotICAweGFmODA0NjBjLAotICAweDhmYTIwMDE0LAotICAweGFlNDAwMDNjLAotICAweGFmYTIwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFjYTUwMGU0LAotICAweDEwMDBmZjEzLAotICAweGFmOTc0YzAwLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDEwMDBmZjBmLAotICAweDAwMDAwMDAwLAotICAweDEwNDAwMDViLAotICAweDg2N2UwMDA4LAotICAweDI3OWQwZjE4LAotICAweDMzZGUwMDYwLAotICAweDAzYmVlODIxLAotICAweDAwMWUxMGMyLAotICAweDAzYTJlODIxLAotICAweDhmYjcwMDA4LAotICAweDhmYTIwMDBjLAotICAweDhlZjYwMDA0LAotICAweDEyZTIwMDI4LAotICAweDg2NjIwMDA4LAotICAweDgyMDMwMDEwLAotICAweDAwMDIxNzQwLAotICAweDA0NDEwMDE5LAotICAweDI0NjMwMDAxLAotICAweDEwNjAwMDE3LAotICAweDNjMDJkMWIwLAotICAweDAwNTAxMDI2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOWU0YzAwLAotICAweGFjNTYwMDEwLAotICAweDI2ZDZmZmZlLAotICAweDg2MDIwMDEwLAotICAweDNjMDNjZmIwLAotICAweDM0NjMyMDAwLAotICAweGE2NjIwMDJhLAotICAweDhlZTIwMDAwLAotICAweDI2ZjcwMDA4LAotICAweGFlNjIwMDM4LAotICAweDhmYTIwMDIwLAotICAweGFmYjcwMDA4LAotICAweDI0MTdmZmZmLAotICAweDAyYzJhODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFmOWU0YzAwLAotICAweDAzZTAwMDA4LAotICAweGFlNzUwMDMwLAotICAweDhlZTIwMDAwLAotICAweDI2ZjcwMDA4LAotICAweGFlNjIwMDM4LAotICAweDhmYTIwMDIwLAotICAweGFmYjcwMDA4LAotICAweDI0MTdmZmZmLAotICAweGE2NzcwMDJhLAotICAweDAyYzJhODIxLAotICAweDNjMDNjZmIwLAotICAweDAzZTAwMDA4LAotICAweGFlNzUwMDMwLAotICAweDAwMWUxOGMyLAotICAweDAwNjUxODIxLAotICAweDhjNjMwMGM4LAotICAweDhmYTIwMDEwLAotICAweDAwMDAwMDAwLAotICAweDAwNjJiMDIzLAotICAweDFlYzAwMDAzLAotICAweDhmYTEwMDA0LAotICAweDEyYzAwMDFiLAotICAweDAwMjJiMDIzLAotICAweDJlYzMwMDQxLAotICAweDE0NjAwMDAyLAotICAweDNjMTUwMDQwLAotICAweDI0MTYwMDQwLAotICAweDAwMTYxZTgwLAotICAweDAwMDMxODgyLAotICAweDAwNzUxODI1LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOTU0YzAwLAotICAweDAwMWViODQwLAotICAweDAwNzcxODIxLAotICAweGFjNjI0ZDAwLAotICAweDAwNTYxMDIxLAotICAweDE0NDEwMDAyLAotICAweDI3ODMwZDAwLAotICAweDhmYTIwMDAwLAotICAweDAyZTNiODIxLAotICAweGFmYTIwMDEwLAotICAweDAyZDcxODIxLAotICAweGFmYTMwMDBjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhlZjYwMDA0LAotICAweDEwMDBmZmI1LAotICAweGFmOTU0YzAwLAotICAweDNjMTZkZWFkLAotICAweGFlNzYwMDNjLAotICAweGFlNjAwMDM4LAotICAweDI2ZDVmZmZmLAotICAweDAwMDAxMDIxLAotICAweDAzZTAwMDA4LAotICAweGFlNzUwMDMwLAotICAweDJjNDMwYWIyLAotICAweDEwNjAwMDA1LAotICAweDJjNDMyNGIyLAotICAweDEwMDAwMDA0LAotICAweDI0MDIwYWIyLAotICAweDEwMDAwMDAyLAotICAweDI0MDIyNGIxLAotICAweDEwNjBmZmZkLAotICAweDMwNDMwMWZmLAotICAweDAwMDMxODQwLAotICAweDNjMWRhMGQxLAotICAweDI3YmRkNmNjLAotICAweDAwN2QxODIxLAotICAweDk0NjMwMDAwLAotICAweDAwMDJlYTQyLAotICAweDAwMDMxYzAwLAotICAweDI3YmRmZmZiLAotICAweDAzZTAwMDA4LAotICAweDAzYTMxMDA2LAotICAweDI0MDMwZmMwLAotICAweGFmODM0NTAwLAotICAweDEwMDAwMDAyLAotICAweDAxMjA2MDIxLAotICAweDNjMGNjZmIwLAotICAweDExZTAwMDU2LAotICAweDAxODk2MDI2LAotICAweDg1ZmUwMDAwLAotICAweDAwMDAwMDAwLAotICAweDEzYzAwMDQ3LAotICAweDNjMDJjZmIwLAotICAweDA3YzAwMDJkLAotICAweDAwMWUxZjgwLAotICAweDA0NjEwMDM0LAotICAweDAwMWUxZmMwLAotICAweDA0NjAwMDA5LAotICAweDNjMDJkM2IwLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODY0YzAwLAotICAweDhmOTkwZmVjLAotICAweDEwMDAwMDBiLAotICAweGFmOTk0YzAwLAotICAweDAxZTI3ODI2LAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODY0YzAwLAotICAweGFmOTk0YzAwLAotICAweGFkZWYyMDEwLAotICAweDNjMDJkM2IwLAotICAweDAxZTI3ODI2LAotICAweDhmODIwZmMwLAotICAweDhmODMwZmM0LAotICAweGFmODI0ZDAwLAotICAweDhkZTIwMDA0LAotICAweGE1ZTAwMDAwLAotICAweGFjNjIwMDAwLAotICAweDhjNjIwMDAwLAotICAweDI0MDIwMzgwLAotICAweGFmODI0ZDAwLAotICAweDhmODI0ZDAwLAotICAweDhmODIwZjE0LAotICAweDI0NjMwMDA0LAotICAweDE0NjIwMDAyLAotICAweDI0MTlmZmZmLAotICAweDhmODMwZjEwLAotICAweGFjYTUwMGU0LAotICAweGFmODMwZmM0LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODI0YzgwLAotICAweDEwMDAwMDFmLAotICAweGFkZTIwMDNjLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGE1ZTAwMDAwLAotICAweDhmODY0YzAwLAotICAweDE1ODAwMDIyLAotICAweGFmOGY0NTQwLAotICAweDEwMDAwMDE3LAotICAweDAxZTI3ODI2LAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODY0YzAwLAotICAweGFmOTk0YzAwLAotICAweGFkZWYyMDEwLAotICAweDNjMDJjZmIwLAotICAweDAxZTI3ODI2LAotICAweGE1ZTAwMDAwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDAwMDA3LAotICAweDhmOTk0YzAwLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODY0YzAwLAotICAweDhmOTkwZmVjLAotICAweDE1ODAwMDBhLAotICAweGFmOGY0NTAwLAotICAweDAwMDA3ODIxLAotICAweDEwMDAwMDE0LAotICAweGFmMTkwMDE0LAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDExODBmZmY4LAotICAweDhmODY0YzAwLAotICAweDg1MjIwMDAwLAotICAweDAxMjA3ODIxLAotICAweDA0NDAwMDBhLAotICAweDhkMjkwMDA4LAotICAweDEzMGIwMDA0LAotICAweDAwMGMxNjAyLAotICAweGFmMTkwMDE0LAotICAweDhkNzkwMDE0LAotICAweDAxNjBjMDIxLAotICAweGFmOTk0YzAwLAotICAweGFkOGU0MDEwLAotICAweDMwNDIwMDNmLAotICAweDAxYzI3MDIxLAotICAweDAwMDQxNzgwLAotICAweDA0NDAwMThiLAotICAweDhmODI0YTAwLAotICAweDMwODE4MDAwLAotICAweDMwNDIwMDA0LAotICAweDE0NDBmZjhkLAotICAweDhkNGIwMDAwLAotICAweDEwMjAwMDBjLAotICAweDMwODQ3ZmZmLAotICAweDhmODIwYzQ4LAotICAweDAxMjBmMDIxLAotICAweDI0NDMwMDM0LAotICAweDhjNWQwMDBjLAotICAweDI0NDIwMDA0LAotICAweGFmZGQwMDBjLAotICAweDE0NjJmZmZjLAotICAweDI3ZGUwMDA0LAotICAweGE1MjEwMDAwLAotICAweDEwMDBmZjgyLAotICAweDI1MDgwMDA4LAotICAweDExNjAwMDU4LAotICAweDAwMDAwMDAwLAotICAweDg1N2QwMDA4LAotICAweDhkNjMwMDBjLAotICAweDk1NjIwMDBhLAotICAweDhkNDEwMDA0LAotICAweDA3YTEwMDI2LAotICAweDAwNjIxODIxLAotICAweGE1NjMwMDBhLAotICAweDAwMDMxYzAyLAotICAweDA0MTEwMWEwLAotICAweDAwMDMxOGMwLAotICAweDAwMWQxNmMwLAotICAweDA0NDEwMDFmLAotICAweDI3YTIwMDgwLAotICAweDAwMDIxY2MwLAotICAweDA0NjEwMDBlLAotICAweDAwNDBlODIxLAotICAweDI3YmQwMDgwLAotICAweDk1NjIwMDAwLAotICAweDk1NjMwMDAyLAotICAweDM0NDIwMDBjLAotICAweGFkMjIwMDBjLAotICAweDI0MDIwMTAwLAotICAweGE1MjIwMDEwLAotICAweDk1NjIwMDJjLAotICAweGE1MjMwMDE0LAotICAweGE1MjIwMDEyLAotICAweGE1MjAwMDE2LAotICAweDM0MDI4MDAwLAotICAweGE1MjIwMDAwLAotICAweGE1N2QwMDA4LAotICAweDA3YTAwMDBjLAotICAweDhmODIwYzRjLAotICAweDhmODMwYzUwLAotICAweDI0NDFmZmU4LAotICAweDAwMjNmMDJiLAotICAweDEzYzAwMDAyLAotICAweDAwMjAxMDIxLAotICAweDI0NDIwNDAwLAotICAweDk0NWUwMDAwLAotICAweDI0NDFmZmZlLAotICAweDE3YzBmZmY5LAotICAweGFkNjIwMDEwLAotICAweGE0NGIwMDAwLAotICAweDE0MmIwMDFjLAotICAweGFkNDAwMDAwLAotICAweGFkNDAwMDA0LAotICAweDI1NGEwMDA4LAotICAweDMxNDIwMDdmLAotICAweDE0NDAwMDBlLAotICAweDAwMDQxNzgwLAotICAweDA0NDEwMDAzLAotICAweDhmODIwZmUwLAotICAweDEwMDAwMDA2LAotICAweDM0ODQwMDAxLAotICAweDM0ODQwMDAyLAotICAweDI0NDIwMDA4LAotICAweDM0NDIxMDAwLAotICAweDM4NDIxMDAwLAotICAweGFmODIwZmUwLAotICAweDM1NGEwMTAwLAotICAweDM5NGEwMTAwLAotICAweDM5NDIwMDgwLAotICAweGFmODIwZmU0LAotICAweDAwMWQxNGMwLAotICAweDA0NDEwMDAzLAotICAweDMzYTJlZmZmLAotICAweDEwMDBmZjNjLAotICAweGE1NjIwMDA4LAotICAweDA3YTAwMDlmLAotICAweDMzYTJmZmZlLAotICAweDEwMDAwMDIxLAotICAweGE1NjIwMDA4LAotICAweDhkNjIwMDI0LAotICAweDAwMWQxY2MwLAotICAweDA0NjEwMDA0LAotICAweGFkNDIwMDAwLAotICAweDMzYTNlZmZmLAotICAweDEwMDBmZjMxLAotICAweGE1NjMwMDA4LAotICAweDA3YTAwMDA1LAotICAweDMzYTNmZmZlLAotICAweGE1NjMwMDA4LAotICAweDhkNGIwMDAwLAotICAweDEwMDBmZmFhLAotICAweDAwMDAwMDAwLAotICAweDEwMDAwMDhlLAotICAweDI1MDgwMDA4LAotICAweDI1NGEwMDA4LAotICAweDMxNDIwMDdmLAotICAweDE0NDAwMDBlLAotICAweDAwMDQxNzgwLAotICAweDA0NDEwMDAzLAotICAweDhmODIwZmUwLAotICAweDEwMDAwMDA2LAotICAweDM0ODQwMDAxLAotICAweDM0ODQwMDAyLAotICAweDI0NDIwMDA4LAotICAweDM0NDIxMDAwLAotICAweDM4NDIxMDAwLAotICAweGFmODIwZmUwLAotICAweDM1NGEwMTAwLAotICAweDM5NGEwMTAwLAotICAweDM5NDIwMDgwLAotICAweGFmODIwZmU0LAotICAweDExMDAwMDAzLAotICAweDhkNGIwMDAwLAotICAweDEwMDBmZjkzLAotICAweDI1MDhmZmY4LAotICAweDhmODIwZmQ4LAotICAweDhmODMwZmRjLAotICAweDhmODEwZmQ0LAotICAweDEwNjIwMDFkLAotICAweDI0NjIwMDA4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOGM0YzAwLAotICAweDg0N2YwMDAwLAotICAweDNjMWUwMGQxLAotICAweDMzZmQwM2ZmLAotICAweDAwMWQ1OTgwLAotICAweDAxN2U1ODIxLAotICAweDg1N2UwMDA4LAotICAweDAwMWRlOTAwLAotICAweDAwMWUwZjAwLAotICAweDAzZTFmODI1LAotICAweDA3ZTAwMDAzLAotICAweGFmODIwZmRjLAotICAweDg3OWUwY2EwLAotICAweDI3OGIwYzk4LAotICAweDA3YzEwMDQyLAotICAweDNjMDIwODQwLAotICAweDNjMDFmN2IwLAotICAweDhkNjIwMDIwLAotICAweDAwMjMwODI2LAotICAweGFjMjIwMDAwLAotICAweDhjNjIwMDA0LAotICAweDk0NjMwMDAyLAotICAweDI0NDJmZmY4LAotICAweDAwNDMxMDIxLAotICAweDEwMDAwMDRlLAotICAweGFkNjIwMDIwLAotICAweDhmODIwZmQwLAotICAweDg3ODMwY2EwLAotICAweDE0MjIwMDA3LAotICAweDI3OGIwYzk4LAotICAweDQxMDAwMDUxLAotICAweDNjMDE4MDAwLAotICAweGFjYTEwMGUwLAotICAweDhjYTEwMGM0LAotICAweDAwMDAwMDAwLAotICAweDEwMjIwMDRjLAotICAweDAwMjJlODIzLAotICAweDhmOWYwZjBjLAotICAweDA3YTEwMDAyLAotICAweGFmODEwZmQ0LAotICAweDAzZTJlODIzLAotICAweDJmYTMwMDQxLAotICAweDE0NjAwMDAyLAotICAweDNjMWUwMDQwLAotICAweDI0MWQwMDQwLAotICAweDAwMWQxZTgwLAotICAweDAwMDMxODgyLAotICAweDAwN2UxODI1LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOGM0YzAwLAotICAweGFjNjI0Y2MwLAotICAweDAwNWQxMDIxLAotICAweDE0NWYwMDAyLAotICAweDI3ODMwY2MwLAotICAweDhmODIwZjA4LAotICAweDAzYTNmMDIxLAotICAweGFmODIwZmQwLAotICAweGFmOWUwZmQ4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZmMzLAotICAweDI0NjIwMDA4LAotICAweDhkNjMwMDBjLAotICAweDhkN2QwMDEwLAotICAweGE1NjMwMDBhLAotICAweDEzYTAwMDAyLAotICAweDAwMDMxYzAyLAotICAweGE3YTAwMDAwLAotICAweDAwMDMxOGMwLAotICAweDA0MTEwMGVmLAotICAweDAwNjgxODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODIwYzQ0LAotICAweDhmODMwYzQwLAotICAweGFkNjIwMDEwLAotICAweGE1NjMwMDA0LAotICAweGE1NjMwMDA2LAotICAweDEwMDAwMDIxLAotICAweGFmOGM0YzAwLAotICAweGE1N2QwMDAwLAotICAweDhjN2QwMDA0LAotICAweDk0NjMwMDAyLAotICAweGFjNWQ0YzQwLAotICAweDI3YTIwMDA4LAotICAweGFkNjIwMDE4LAotICAweDAzYTNlODIxLAotICAweDI3YmRmZmY0LAotICAweGFkN2QwMDFjLAotICAweDI3YmQwMDA0LAotICAweGFkN2QwMDIwLAotICAweDM3YzE4MDAxLAotICAweDAwMWUxN2MwLAotICAweDA0NDFmZmUwLAotICAweGE1NjEwMDA4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODIwYzQ0LAotICAweDhmODMwYzQwLAotICAweGFkNjIwMDEwLAotICAweGE1NjMwMDA0LAotICAweGE1NjMwMDA2LAotICAweDhmODIwZmQ4LAotICAweDhmODMwZmRjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDE0NjJmZjk1LAotICAweDI0NjIwMDA4LAotICAweGFmOGM0YzAwLAotICAweDg3ODMwY2EwLAotICAweDI3OGIwYzk4LAotICAweDA0NjFmZTk3LAotICAweDAwMDQxNzAwLAotICAweDA0NDAwMDA1LAotICAweDk1NjIwMDAwLAotICAweDExNzgwMDA2LAotICAweDAwMDAwMDAwLAotICAweGFmMGUwMDEwLAotICAweGE3MGQwMDA0LAotICAweDMwODRmZmY3LAotICAweDk1NmQwMDA0LAotICAweDhkNmUwMDEwLAotICAweDI1YWRmZmQwLAotICAweDA1YTFmZThmLAotICAweGFkMjIwMDBjLAotICAweDNjMGNmZmIwLAotICAweDAxODk2MDI2LAotICAweDAwMGQxODIyLAotICAweDI1YWQwMDMwLAotICAweDhkN2UwMDE4LAotICAweDhkNjEwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwM2UwMDM2LAotICAweDhmOWQ0YzAwLAotICAweDNjMDEwODQwLAotICAweGFjM2U0YzQwLAotICAweDI3ZGUwMDA4LAotICAweDExYTAwMDE3LAotICAweGFkN2UwMDE4LAotICAweDAwMGRmNjAwLAotICAweDAxOWU2MDI1LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFkOGU0MDEwLAotICAweDhmOGQwYzQwLAotICAweDk1N2UwMDA2LAotICAweDhmOGUwYzQ0LAotICAweDAzY2RmMDIxLAotICAweGE1N2UwMDA2LAotICAweDAwMGNmNzgyLAotICAweDAwMGMwZTAyLAotICAweDAzYzFmMDIxLAotICAweDAwMWUwZjgwLAotICAweDAwMGM2MjAwLAotICAweDAwMGM2MjAyLAotICAweDAxODE2MDI1LAotICAweDMzZGUwMDNjLAotICAweDAxOWU2MDIxLAotICAweDM0MDEwMDAxLAotICAweDEwMDAwMDA4LAotICAweGE1MjEwMDAwLAotICAweDk1N2UwMDA2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOGQwYzQwLAotICAweDhmOGUwYzQ0LAotICAweDAzY2RmMDIxLAotICAweGE1N2UwMDA2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDAxYTNmMDJiLAotICAweDE3YzAwMDA4LAotICAweDAwMDNmNjAwLAotICAweDAxYTM2ODIzLAotICAweDAxOWU2MDI1LAotICAweDAxODk2MDI2LAotICAweDRkMDFmZmY3LAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZTU4LAotICAweGFmOWQ0YzAwLAotICAweDhkN2UwMDE4LAotICAweDhkNjEwMDFjLAotICAweDAwMDAwMDAwLAotICAweDE0M2VmZmNlLAotICAweDAwNmQxODIzLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDJjNjEwMDA4LAotICAweDEwMjAwMDE3LAotICAweDk1NjEwMDA4LAotICAweDAwMDAwMDAwLAotICAweDAwMDFmZjgwLAotICAweDA3ZTAwMDBiLAotICAweDM0MjEwMDAyLAotICAweDAwNmQxODIxLAotICAweDAwMDMxZTAwLAotICAweDAxODM2MDI1LAotICAweDAxODk2MDI2LAotICAweDI0MGQwMDJjLAotICAweGE1NjEwMDA4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZTQwLAotICAweGFmOWQ0YzAwLAotICAweDNjMWYwYzQwLAotICAweGFmZmU0ZmE4LAotICAweDMwMjFmZmZkLAotICAweGE1NjEwMDA4LAotICAweDNjMGNkM2NmLAotICAweDM1OGNlMDAwLAotICAweDEwMDAwMDA4LAotICAweDM0MDMwMDAyLAotICAweDNjMWYwYzQwLAotICAweGFmZmU0ZmE4LAotICAweDExYTBmZmY5LAotICAweDAwMGRmNjAwLAotICAweDM0MDMwMDAzLAotICAweDAxOWU2MDI1LAotICAweDAxODk2MDI2LAotICAweDM0ODQwMDA4LAotICAweDM0NDIwMDAyLAotICAweGFkMjIwMDBjLAotICAweDk1NjIwMDA2LAotICAweGE1MjMwMDAwLAotICAweGFkMjIwMDM4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDg1N2UwMDA4LAotICAweDhmODIwZmE4LAotICAweDk3ODMwZmFjLAotICAweGFkMjIwMDA0LAotICAweDMzYzE3ZmZmLAotICAweGFkNjAwMDEwLAotICAweGE1NjEwMDA4LAotICAweDEwNjBmZTIwLAotICAweGFmOWQ0YzAwLAotICAweGE1N2UwMDA4LAotICAweDAwMDMxOTAwLAotICAweDMwNjMzZmYwLAotICAweGE1NjMwMDAwLAotICAweDhmODIwZmIwLAotICAweDNjMDMwODQwLAotICAweGFjNjI0YzQwLAotICAweDI0NDMwMDA4LAotICAweGFkNjMwMDE4LAotICAweDk3ODMwZmFlLAotICAweDI0NDJmZmY0LAotICAweDAwNjIxODIxLAotICAweGFkNjMwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOGQwYzQwLAotICAweDhmODMwYzQ0LAotICAweGE1NmQwMDA0LAotICAweGE1NmQwMDA2LAotICAweGFkNjMwMDEwLAotICAweDEwMDBmZTBhLAotICAweGFmOWQ0YzAwLAotICAweDhmODIwZmUwLAotICAweDAwMDQwZmMwLAotICAweDhjNDMwMDAwLAotICAweDA0MjEwMDFiLAotICAweDhmOWYwZmU0LAotICAweDhjNWQwMDA0LAotICAweGFjNDAwMDA0LAotICAweDEwNjAwMDBlLAotICAweGFjNDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDk0NjIwMDI4LAotICAweDAwMDAwMDAwLAotICAweDAwNWYxMDIwLAotICAweDhjNDEwMDA0LAotICAweDAwMDAwMDAwLAotICAweDEwMjAwMDAzLAotICAweGFjNDMwMDA0LAotICAweDEwMDAwMDAyLAotICAweGFjMjMwMDI0LAotICAweGFjNDMwMDAwLAotICAweDE3YTNmZmY0LAotICAweDhjNjMwMDI0LAotICAweDhmODIwZmUwLAotICAweDNiZmYwMDgwLAotICAweDI0NDIwMDA4LAotICAweDM0NDIxMDAwLAotICAweDM4NDIxMDAwLAotICAweGFmODIwZmUwLAotICAweGFmOWYwZmU0LAotICAweDEwMDBmZTU3LAotICAweDMwODRmZmZlLAotICAweDEwNjAwMDEwLAotICAweDAwMDAwMDAwLAotICAweDk0N2QwMDI4LAotICAweDAwMDAwMDAwLAotICAweDAzYmZlODIwLAotICAweDhmYTEwMDA0LAotICAweGFmYTMwMDA0LAotICAweDEwMjAwMDAzLAotICAweDhjNWUwMDA0LAotICAweDEwMDAwMDAyLAotICAweGFjMjMwMDI0LAotICAweGFmYTMwMDAwLAotICAweDhjNjEwMDI0LAotICAweDE3YzNmZTQ4LAotICAweGFjNDEwMDAwLAotICAweGFjNDAwMDA0LAotICAweGFjNDAwMDAwLAotICAweDEwMDBmZTQ0LAotICAweDMwODRmZmZkLAotICAweDJjNjIwMTAwLAotICAweDE0NDAwMDBlLAotICAweDAwNmExMDIxLAotICAweDMxNDMwMDdmLAotICAweDAxNDMxODIzLAotICAweDAwNDMxODIzLAotICAweDMwNjIwMDdmLAotICAweGE1NjIwMDI4LAotICAweDAwNjIxODIzLAotICAweDAwMDMxOTAyLAotICAweDhmODIwZmUwLAotICAweDI0NjNmZmY4LAotICAweDAwNjIxODIxLAotICAweDM0NjMxMDAwLAotICAweDEwMDAwMDAzLAotICAweDM4NjMxMDAwLAotICAweDM0NDMwMTAwLAotICAweDM4NjMwMTAwLAotICAweDhjNjIwMDA0LAotICAweDAwMDAwMDAwLAotICAweDEwNDAwMDAzLAotICAweGFjNmIwMDA0LAotICAweDAzZTAwMDA4LAotICAweGFjNGIwMDI0LAotICAweDAzZTAwMDA4LAotICAweGFjNmIwMDAwLAotICAweDAwMDAwMDAyLAotICAweGEwZDBlMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAxMDAwLAotICAweDAwMDAwMDA2LAotICAweDAwMDAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDA4LAotICAweDAwMDAwMDAyLAotICAweGEwZDBkNjQ4LAotICAweDAwMDAwMDAwLAotICAweDAwMDAwODg4LAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDI0MzEzMjAwLAotICAweDI0MzEzMjAwLAotICAweDI0MzEzMjAwLAotICAweDAwMDAwMDAwLAotICAweDI0NGQ0MzUyLAotICAweDI0MjA0MzZmLAotICAweDcwNzk3MjY5LAotICAweDY3Njg3NDIwLAotICAweDI4NjMyOTIwLAotICAweDRkNjE2NDY3LAotICAweDY1MjA0ZTY1LAotICAweDc0Nzc2ZjcyLAotICAweDZiNzMyMDRjLAotICAweDc0NjQyMDMxLAotICAweDM5MzkzNTJlLAotICAweDIwNDE2YzZjLAotICAweDIwNzI2OTY3LAotICAweDY4NzQ3MzIwLAotICAweDcyNjU3MzY1LAotICAweDcyNzY2NTY0LAotICAweDJlMDA0ZDYxLAotICAweDY0Njc2NTIwLAotICAweDQxNmQ2MjYxLAotICAweDczNzM2MTY0LAotICAweDZmNzIyMDc2LAotICAweDMxMmUzMDMxLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAxLAotICAweDAwMDAwMDAxLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweGZmZjA0MDAwLAotICAweDAwMDAwMDAwLAotICAweDBjMzQzZTJkLAotICAweDAwMDAwMDAwLAotICAweDNjMWNhMGQxLAotICAweDI3OWM1NjM4LAotICAweDNjMWRhMGQxLAotICAweDI3YmRkZmQwLAotICAweDNjMDhhMGQxLAotICAweDI1MDhkZmQwLAotICAweGFmODc4MDA4LAotICAweDBjMzQzYzEzLAotICAweDAwMDAwMDAwLAotICAweDI0MDQwMDAzLAotICAweDAwOTcwMDBkLAotICAweDNjMDhiZmMwLAotICAweDM1MDgwMjMwLAotICAweDhkMDgwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAxMDAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDI3YmRmZmQwLAotICAweGFmYmYwMDFjLAotICAweGFmYjEwMDE4LAotICAweGFmYjAwMDE0LAotICAweDNjMTFmZmYwLAotICAweDAwMDA4MDIxLAotICAweDNjMTgwMDU2LAotICAweDM3MTgzYjc5LAotICAweDI2MTkwMjAwLAotICAweDE3MjAwMDAyLAotICAweDAzMTkwMDFhLAotICAweDAwMDcwMDBkLAotICAweDI0MDFmZmZmLAotICAweDE3MjEwMDA1LAotICAweDAwMDAwMDAwLAotICAweDNjMDE4MDAwLAotICAweDE3MDEwMDAyLAotICAweDAwMDAwMDAwLAotICAweDAwMDYwMDBkLAotICAweDAwMDAxMDEyLAotICAweDAwMTAxODQwLAotICAweDNjMDVhMGQxLAotICAweDI0YTVkNmNjLAotICAweDAwYTMyMDIxLAotICAweGE0ODIwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMjAwLAotICAweDE0MjBmZmVhLAotICAweDAwMDAwMDAwLAotICAweDNjMDZhMGQxLAotICAweDI0YzZmOWU0LAotICAweDNjMDdhMGQxLAotICAweDI0ZTdkNjQ4LAotICAweGFjZTYwMDAwLAotICAweDNjMDhhMGQxLAotICAweDI1MDhmYjE0LAotICAweGFjZTgwMDA0LAotICAweDNjMDlhMGQxLAotICAweDI1MjlmYzk0LAotICAweGFjZTkwMDA4LAotICAweDNjMGFhMGQxLAotICAweDI1NGFmY2Q0LAotICAweGFjZWEwMDBjLAotICAweDNjMGJhMGQxLAotICAweDI1NmJmYmE4LAotICAweGFjZWIwMDEwLAotICAweDNjMGNhMGQxLAotICAweDI1OGNmYmM0LAotICAweGFjZWMwMDE0LAotICAweDNjMGRhMGQxLAotICAweDI1YWRmYmUwLAotICAweGFjZWQwMDE4LAotICAweDNjMGVhMGQxLAotICAweDI1Y2VmYmZjLAotICAweGFjZWUwMDFjLAotICAweDNjMGZhMGQxLAotICAweDI1ZWZmYzE4LAotICAweGFjZWYwMDIwLAotICAweDNjMThhMGQxLAotICAweDI3MThmYzM0LAotICAweGFjZjgwMDI0LAotICAweDNjMTlhMGQxLAotICAweDI3MzlmYzUwLAotICAweGFjZjkwMDI4LAotICAweDNjMDJhMGQxLAotICAweDI0NDJmYzYwLAotICAweGFjZTIwMDJjLAotICAweDNjMDNhMGQxLAotICAweDI0NjNmYzcwLAotICAweGFjZTMwMDMwLAotICAweDNjMDRhMGQxLAotICAweDI0ODRmYzgwLAotICAweGFjZTQwMDM0LAotICAweDNjMDVhMGQxLAotICAweDI0YTVmY2I0LAotICAweGFjZTUwMDM4LAotICAweDNjMDZhMGQxLAotICAweDI0YzZmZTA4LAotICAweGFjZTYwMDNjLAotICAweDNjMDhhMGQxLAotICAweDI1MDhmZTkwLAotICAweGFjZTgwMDQwLAotICAweDNjMDlhMGQxLAotICAweDI1MjlmYTM4LAotICAweGFjZTkwMDQ0LAotICAweDNjMGFhMGQxLAotICAweDI1NGFmYTc0LAotICAweGFjZWEwMDQ4LAotICAweDI0MTAwMDEzLAotICAweDNjMGJhMGQxLAotICAweDI1NmJmOWQ4LAotICAweDAwMTA2MDgwLAotICAweDNjMGVhMGQxLAotICAweDI1Y2VkNjQ4LAotICAweDAxY2M2ODIxLAotICAweGFkYWIwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMDIwLAotICAweDE0MjBmZmY2LAotICAweDAwMDAwMDAwLAotICAweDhmOTg4MDAwLAotICAweDAwMDAwMDAwLAotICAweGFmMDAwMTAwLAotICAweDhmODI4MDAwLAotICAweDI0MTkwM2ZmLAotICAweGE0NTkwMjAyLAotICAweDAwMDA4MDIxLAotICAweDhmODY4MDAwLAotICAweDI0MDMwZmZmLAotICAweDAwMTAyMDQwLAotICAweDI0YzcwMzgwLAotICAweDAwZTQyODIxLAotICAweGE0YTMwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMDA4LAotICAweDE0MjBmZmY3LAotICAweDAwMDAwMDAwLAotICAweDhmODk4MDAwLAotICAweDM0MDg5YzQwLAotICAweGFkMjgwM2EwLAotICAweDhmOGI4MDAwLAotICAweDNjMGEwMGZmLAotICAweDM1NGFmZmZmLAotICAweGFkNmEwM2E0LAotICAweDAwMDA4MDIxLAotICAweDhmOGY4MDAwLAotICAweDI0MGMwZmZmLAotICAweDAwMTA2ODQwLAotICAweDI1ZjgwMzAwLAotICAweDAzMGQ3MDIxLAotICAweGE1Y2MwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMDA4LAotICAweDE0MjBmZmY3LAotICAweDAwMDAwMDAwLAotICAweDhmODI4MDAwLAotICAweDM0MTk5YzQwLAotICAweGFjNTkwMzIwLAotICAweDhmODQ4MDAwLAotICAweDNjMDMwMGZmLAotICAweDM0NjNmZmZmLAotICAweGFjODMwMzI0LAotICAweDhmODY4MDAwLAotICAweDI0MDUwMmZmLAotICAweGE0YzUwMjAyLAotICAweDNjMDhhMGMwLAotICAweDM1MDgwMTgwLAotICAweDNjMDlhMGQxLAotICAweDI1MjlkNWI4LAotICAweDI1MGEwMDI4LAotICAweDhkMGIwMDAwLAotICAweDhkMGMwMDA0LAotICAweGFkMmIwMDAwLAotICAweGFkMmMwMDA0LAotICAweDI1MDgwMDA4LAotICAweDE1MGFmZmZhLAotICAweDI1MjkwMDA4LAotICAweDQwMDI2MDAwLAotICAweDAwMDAwMDAwLAotICAweGFmYTIwMDI4LAotICAweDI0MDMwMDIyLAotICAweDNjMDRhMGUwLAotICAweDM0ODQwMDE0LAotICAweGFjODMwMDAwLAotICAweDhmYTUwMDI4LAotICAweDAwMDAwMDAwLAotICAweDM0YTYxMDAxLAotICAweDAwYzAxMDIxLAotICAweGFmYTYwMDI4LAotICAweDNjMDdmZmJmLAotICAweDM0ZTdmZmZmLAotICAweDAwYzczODI0LAotICAweDAwZTAxMDIxLAotICAweGFmYTcwMDI4LAotICAweDQwODc2MDAwLAotICAweDAwMDAwMDAwLAotICAweDNjMDgwMDAyLAotICAweDM1MDhkODkwLAotICAweDNjMDlmZmZlLAotICAweDM1MjkwMTMwLAotICAweGFkMjgwMDAwLAotICAweDhmYWEwMDI4LAotICAweDNjMGJmMDAwLAotICAweDAxNGI1ODI1LAotICAweDAxNjAxMDIxLAotICAweGFmYWIwMDI4LAotICAweDAxNjA2MDIxLAotICAweDQwOGM2MDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDA4MDIxLAotICAweDAwMTA3MDgwLAotICAweDAyMmU3ODIxLAotICAweGFkZTAwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwNDAwLAotICAweDE0MjBmZmZhLAotICAweDAwMDAwMDAwLAotICAweDI0MTgwMDAxLAotICAweDNjMTlhMGU4LAotICAweGFmMzgwMDAwLAotICAweDI0MDIwMDExLAotICAweDNjMDNhMGYwLAotICAweDM0NjMwMDE3LAotICAweGEwNjIwMDAwLAotICAweDNjMDRmMGViLAotICAweDM0ODQwMDcwLAotICAweDNjMDVmZmYwLAotICAweDM0YTU0YTAwLAotICAweGFjYTQwMDAwLAotICAweDNjMDZmY2ViLAotICAweDM0YzYwMDcwLAotICAweGFjYTYwMDAwLAotICAweDNjMDdmZmYwLAotICAweDM0ZTc0NzAwLAotICAweGFjZTAwMDAwLAotICAweDAwMDA4MDIxLAotICAweDNjMDhmZmYwLAotICAweDM1MDgwZmMwLAotICAweDNjMDlmZmYwLAotICAweDM1Mjk0NTAwLAotICAweGFkMjgwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMDA0LAotICAweDE0MjBmZmY4LAotICAweDAwMDAwMDAwLAotICAweDAwMDA4MDIxLAotICAweDNjMGFkZWFkLAotICAweDAwMTA1OTgwLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGFjMmEwMDNjLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGFjMjAwMDMwLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGFjMjAwMDM4LAotICAweDI0MGRmZmZmLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGFjMmQwMDE0LAotICAweDAwMTA3MTAwLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGE0MmUwMDAwLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGE0MjAwMDA0LAotICAweDI0MTgwMDIwLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGE0MzgwMDA4LAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGFjMjAwMDEwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwNDAwLAotICAweDE0MjBmZmUwLAotICAweDAwMDAwMDAwLAotICAweDAwMDA4MDIxLAotICAweDAwMTAxOGMwLAotICAweDNjMDVhMGQxLAotICAweDI0YTVlMDAwLAotICAweDAwYTMyMDIxLAotICAweGFjODAwMDAwLAotICAweDNjMDdhMGQxLAotICAweDI0ZTdlMDAwLAotICAweDI0ZTgwMDA0LAotICAweDAxMDMzMDIxLAotICAweGFjYzAwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMDA5LAotICAweDE0MjBmZmYzLAotICAweDAwMDAwMDAwLAotICAweDI0MDkwMzgwLAotICAweDNjMGFmZmYwLAotICAweDM1NGE0ZDAwLAotICAweGFkNDkwMDAwLAotICAweDNjMGNhMDgwLAotICAweDM1OGMwMDljLAotICAweGFkODAwMDAwLAotICAweDNjMGRhMDgwLAotICAweDM1YWQwMGEwLAotICAweGFkYTAwMDAwLAotICAweDNjMGUxMTAwLAotICAweDNjMGZhMDgwLAotICAweDM1ZWYwMGE4LAotICAweGFkZWUwMDAwLAotICAweDQxMDEwMDAzLAotICAweDAwMDAwMDAwLAotICAweDQxMDBmZmZmLAotICAweDAwMDAwMDAwLAotICAweDNjMThhMDgwLAotICAweDM3MTgwMGUwLAotICAweDhmMTkwMDAwLAotICAweDNjMDFhMGQxLAotICAweGFjMzlkNmM4LAotICAweDBjMzQzZDQzLAotICAweDAzMjAyMDIxLAotICAweDhmYjAwMDE0LAotICAweDhmYmYwMDFjLAotICAweDhmYjEwMDE4LAotICAweDAzZTAwMDA4LAotICAweDI3YmQwMDMwLAotICAweDAwODBiODIxLAotICAweDNjMWNmZmYwLAotICAweGEzODAwYzg0LAotICAweGEzODAwYzg4LAotICAweDhmOTA0NDAwLAotICAweDAwMDAyMDIxLAotICAweGFmODAwY2JjLAotICAweDI0MDIwMGE4LAotICAweDI3ODMwZjAwLAotICAweDJjNWQwMDQwLAotICAweDE3YTAwMDBjLAotICAweDNjMWRmZmIwLAotICAweDAzYTNlODI2LAotICAweGFmYjc0MDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDI0NDJmZmMwLAotICAweDI0NjMwMDQwLAotICAweDEwMDBmZmYzLAotICAweDI2ZjcwMDQwLAotICAweDEwNDAwMDBkLAotICAweDAwMDAwMDAwLAotICAweDAwMDJlZTAwLAotICAweDNjMDEwMDQwLAotICAweDAzYTFlODI1LAotICAweDNjMDFmZmYwLAotICAweDAzYTFlODI2LAotICAweDAzYTNlODI2LAotICAweGFmYjc0MDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDNjMDVhMDgwLAotICAweDhmODIwZjA4LAotICAweDAwMDAwMDAwLAotICAweGFmODIwZmQ0LAotICAweGFmODIwZmQwLAotICAweGFjYTIwMGM0LAotICAweDhmODIwZjEwLAotICAweDAwMDAwMDAwLAotICAweDAwMDIxZDgyLAotICAweGFmODMwZmMwLAotICAweDAwMDMxZDgwLAotICAweDAwNDMxMDIzLAotICAweDNjMDFhMDgwLAotICAweDAwNDExMDI1LAotICAweGFmODIwZmM0LAotICAweGFmODIwZjEwLAotICAweDhmODIwZjE0LAotICAweDAwMDAwMDAwLAotICAweDAwNDMxMDIzLAotICAweDNjMDFhMDgwLAotICAweDAwNDExMDI1LAotICAweGFmODIwZjE0LAotICAweDI0MDMwMDAzLAotICAweDI3OWQwZjE4LAotICAweDI0YmUwMGM4LAotICAweDI3ODEwZDAwLAotICAweDhmYTIwMDAwLAotICAweDAwMDAwMDAwLAotICAweGFmYTIwMDEwLAotICAweGFmYzIwMDAwLAotICAweGFmYTEwMDA4LAotICAweGFmYTEwMDBjLAotICAweDhmYTIwMDE0LAotICAweDAwMDAwMDAwLAotICAweGFmYTIwMDFjLAotICAweDI3YmQwMDI0LAotICAweDI3ZGUwMDA0LAotICAweDI0MjEwMDQwLAotICAweDE0NjBmZmYzLAotICAweDI0NjNmZmZmLAotICAweDhmODIwZjAwLAotICAweDAwMDAwMDAwLAotICAweGFmODIwZmM4LAotICAweGFjYTIwMGMwLAotICAweDI3ODIwODAwLAotICAweDI0MDMwMDBmLAotICAweGFjNDAwMDAwLAotICAweDI0NDIwMDA0LAotICAweDE0NjBmZmZkLAotICAweDI0NjNmZmZmLAotICAweDhmODMwZmMwLAotICAweDAwMDAwMDAwLAotICAweGFmODM0ZDAwLAotICAweDhmODM0ZDAwLAotICAweDhmODMwZjE0LAotICAweDhmODIwZjEwLAotICAweDI0NjNmZmZjLAotICAweGFjNDAwMDAwLAotICAweDE0NDNmZmZlLAotICAweDI0NDIwMDA0LAotICAweDI0MDIwMzgwLAotICAweGFmODI0ZDAwLAotICAweDI3OWQwZjE4LAotICAweDI3YTEwMDkwLAotICAweDhmYTIwMDE0LAotICAweDhmYTMwMDE4LAotICAweDAwMDAwMDAwLAotICAweDAwNjIxODIzLAotICAweDJjN2YwMDQwLAotICAweDE3ZTAwMDA5LAotICAweDNjMWYwMDQwLAotICAweDM3ZmYwODAwLAotICAweDAzYTBmMDIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFmZTIwMDAwLAotICAweDI0NDIwMDQwLAotICAweDEwMDBmZmY2LAotICAweDI0NjNmZmMwLAotICAweDEwNjAwMDA2LAotICAweDM3ZmYwODAwLAotICAweDAwMDMxZTAwLAotICAweDAzZTNmODI1LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFmZTIwMDAwLAotICAweDI3YmQwMDI0LAotICAweDE3YTFmZmU4LAotICAweDAwMDAwMDAwLAotICAweDAwMDAzODIxLAotICAweDhmYzIwMDE0LAotICAweDhmYzMwMDE4LAotICAweDAwMDAwMDAwLAotICAweDAwNjIxODIzLAotICAweDJjN2YwMDQwLAotICAweDEzZTAwMDA0LAotICAweDNjMWYwMDQwLAotICAweDAwMDMwZTAwLAotICAweDEwMDAwMDAyLAotICAweDAzZTFmODI1LAotICAweDI0MDMwMDQwLAotICAweDM3ZmYwODAwLAotICAweDI0MWUwM2U3LAotICAweDAwMDAwODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFmZTIwMDAwLAotICAweDAwMjMwODIxLAotICAweDQ5MDBmZmZiLAotICAweDAwMDAwMDAwLAotICAweDg3ODA0MDAyLAotICAweDE3YzBmZmY4LAotICAweDI3ZGVmZmZmLAotICAweDE0ZTAwMDA0LAotICAweDM0ZTc0MDAwLAotICAweDAzZTdmODI1LAotICAweDEwMDBmZmYwLAotICAweGFmODEwYzYwLAotICAweGFmODEwYzVjLAotICAweDNjMDFhMGQxLAotICAweDhjMjJkNmM4LAotICAweDAwMDAwMDAwLAotICAweDNjMDFhMDgwLAotICAweGFjMjIwMGUwLAotICAweDNjMDFhMDgwLAotICAweDhjMjAwMGUwLAotICAweGFmODAwZmI0LAotICAweGE3ODAwZmI4LAotICAweGE3ODAwZmJhLAotICAweGE3ODAwZmJjLAotICAweGE3ODAwZmJlLAotICAweDI3ODIwY2MwLAotICAweGFmODIwZmRjLAotICAweGFmODIwZmQ4LAotICAweDNjMDJhMGQxLAotICAweDI0NDJkYWNjLAotICAweGFmODIwYzRjLAotICAweGFmODIwYzUwLAotICAweDI0NDIwNDAwLAotICAweGFmODIwYzU0LAotICAweDI0MDIwMDFlLAotICAweDNjMDNmZmYwLAotICAweDI0N2QwMDQwLAotICAweGFjN2QwMDA4LAotICAweDAzYTAxODIxLAotICAweDE0NDBmZmZjLAotICAweDI0NDJmZmZmLAotICAweDNjMWRmZmYwLAotICAweGFjN2QwMDA4LAotICAweDNjMDJjNzA0LAotICAweDM0NDJkZDdiLAotICAweGFmODIwYzU4LAotICAweDNjMDcwMDAwLAotICAweDI0ZTcwMTU4LAotICAweDA4MzQzZmE5LAotICAweDAwMDAwMDAwLAotICAweDhlNjIwMDM4LAotICAweDAwMDAwMDAwLAotICAweDE0NDAwMDA1LAotICAweDhmODMwYzk0LAotICAweDEyYTAwMDIyLAotICAweDI0NjMwMDAxLAotICAweDEwMDAwMDIwLAotICAweGFmODMwYzk0LAotICAweGFmODIwZmI0LAotICAweDMyNjJmZmMwLAotICAweDAwMDIxMTgyLAotICAweDg2NjMwMDJhLAotICAweGE3ODIwZmI4LAotICAweDNjMDJhMDAwLAotICAweGFmODIwZmJjLAotICAweGE3ODMwZmJhLAotICAweDg2N2UwMDA4LAotICAweDI3OWQwZjE4LAotICAweDMzZGUwMDYwLAotICAweDAzYmVlODIxLAotICAweDAwMWVmMGMyLAotICAweDAzYmVlODIxLAotICAweDhmYTIwMDFjLAotICAweDNjMDMwYzQwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOTc0YzAwLAotICAweGFjNjIwZmI0LAotICAweDhmYTMwMDE4LAotICAweDI0NDIwMDBjLAotICAweDE0NDMwMDAzLAotICAweDAwMDAwMDAwLAotICAweDhmYTIwMDE0LAotICAweDAwMDAwMDAwLAotICAweGFmYTIwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFjYTUwMGU0LAotICAweGFmOTc0YzAwLAotICAweDAzZTAwMDA4LAotICAweGFlNjAwMDNjLAotICAweDNjMGRhMGQxLAotICAweDI1YWRkNTAwLAotICAweDExYTAwMDIxLAotICAweDAwMDAwMDAwLAotICAweDhkYTkwMDAwLAotICAweDAwMDAwMDAwLAotICAweDExMjAwMDFkLAotICAweDAwMDAwMDAwLAotICAweDhkYWEwMDA0LAotICAweDhkYWIwMDA4LAotICAweDhkYWMwMDBjLAotICAweDAwMDk0NzQwLAotICAweDA1MDEwMDA0LAotICAweDAwMDAwMDAwLAotICAweDNjMDhhMGQxLAotICAweDI1MDhkNjM4LAotICAweDAxNDg1MDIxLAotICAweDAwMDk0NzgwLAotICAweDA1MDEwMDA3LAotICAweDAwMDAwMDAwLAotICAweDExODAwMDBkLAotICAweDAwMDAwMDAwLAotICAweGFkNDAwMDAwLAotICAweDI1NGEwMDA0LAotICAweDEwMDBmZmZiLAotICAweDI1OGNmZmZjLAotICAweDExODAwMDA3LAotICAweDAwMDAwMDAwLAotICAweDhkNmUwMDAwLAotICAweDI1NmIwMDA0LAotICAweGFkNGUwMDAwLAotICAweDI1NGEwMDA0LAotICAweDEwMDBmZmY5LAotICAweDI1OGNmZmZjLAotICAweDEwMDBmZmUxLAotICAweDI1YWQwMDEwLAotICAweDAzZTAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDNjMDIxMDQwLAotICAweGFjNTc0ZmYwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODIwZmZjLAotICAweDAwMDAwMDAwLAotICAweDMwNDIwMDFmLAotICAweDAwMDIxMDgwLAotICAweDNjMTdhMGQxLAotICAweDAyZTJiODIxLAotICAweDI2ZjdkNjQ4LAotICAweDhlZjcwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAyZTAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDI0MDJmZmZmLAotICAweGFmODIwZmZjLAotICAweDhmOTcwZmM4LAotICAweDNjMDIxMDQwLAotICAweGFjNTcwZmYwLAotICAweDhmODIwZjA0LAotICAweDI2ZjcwMDEwLAotICAweDE2ZTIwMDA0LAotICAweGFmOTcwZmM4LAotICAweDhmOTcwZjAwLAotICAweDAwMDAwMDAwLAotICAweGFmOTcwZmM4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDAzZTAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDNjMWZhMGQxLAotICAweDI3ZmZmMDJjLAotICAweDEwMDBmZmVkLAotICAweDhmOTcwZmYwLAotICAweDNjMDIwMGQxLAotICAweDMyZjcwM2ZmLAotICAweDAwMTdiOTgwLAotICAweDAyZTJiODI1LAotICAweGFlZTAwMDNjLAotICAweDI0MDJmZmZmLAotICAweGFlZTIwMDMwLAotICAweGFlZTIwMDE0LAotICAweDk3ODMwZmY0LAotICAweDk3ODIwZmY4LAotICAweDNjMWQwMDAwLAotICAweDI3YmQwNjk4LAotICAweGE2ZTMwMDA4LAotICAweGE2ZTIwMDAyLAotICAweGFmOWYwZmU4LAotICAweDAzYTBmODA5LAotICAweGE2ZTIwMDJjLAotICAweDhmOWYwZmU4LAotICAweDEwMDBmZmQ5LAotICAweGFlZTIwMDBjLAotICAweDhmOTcwZmYwLAotICAweDNjMDIwMGQxLAotICAweDMyZjcwM2ZmLAotICAweDAwMTdiOTgwLAotICAweDAyZTJiODI1LAotICAweDk3ODIwZmY0LAotICAweDNjMDMwMDAwLAotICAweDI0NjMwNjk4LAotICAweGE2ZTIwMDAyLAotICAweGFmOWYwZmU4LAotICAweDAwNjBmODA5LAotICAweGE2ZTIwMDJjLAotICAweDhmOWYwZmU4LAotICAweDEwMDBmZmNhLAotICAweGFlZTIwMDBjLAotICAweDhmOTcwZmYwLAotICAweDNjMDIwMGQxLAotICAweDMyZjcwM2ZmLAotICAweDAwMTdiOTgwLAotICAweDAyZTJiODI1LAotICAweDk3ODIwZmY0LAotICAweDAwMDAwMDAwLAotICAweDk2ZTMwMDA4LAotICAweGE2ZTIwMDA4LAotICAweDAwNDMxMDI2LAotICAweDMwNDIwMDYwLAotICAweDEwNDBmZmJkLAotICAweDhlZTIwMDNjLAotICAweGFlZTAwMDNjLAotICAweDEwNDBmZmJhLAotICAweDNjMDI4ODAwLAotICAweGFmODIwZmJjLAotICAweDhlZTIwMDM4LAotICAweGFlZTAwMDM4LAotICAweDMwNjMwMDYwLAotICAweDI3OWQwZjE4LAotICAweDAzYTNlODIxLAotICAweDAwMDMxOGMyLAotICAweDAzYTNlODIxLAotICAweDhmYTMwMDFjLAotICAweDEwNDBmZmFmLAotICAweGFmODIwZmI0LAotICAweDNjMDIwYzQwLAotICAweGFjNDMwZmI0LAotICAweDhmYTIwMDE4LAotICAweDI0NjMwMDBjLAotICAweDE0NDMwMDAzLAotICAweDAwMDAwMDAwLAotICAweDhmYTMwMDE0LAotICAweDAwMDAwMDAwLAotICAweGFmYTMwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZmEyLAotICAweDAwMDAwMDAwLAotICAweDhmOTcwZmYwLAotICAweDNjMDIwMGQxLAotICAweGE3OTcwZmI4LAotICAweDAwMTdiOTgwLAotICAweDMyZjdmZmMwLAotICAweDAyZTJiODIxLAotICAweGFlZTAwMDMwLAotICAweDNjMDJkZWFkLAotICAweDhlZTMwMDNjLAotICAweGFlZTIwMDNjLAotICAweDhlZTIwMDM4LAotICAweDEwNjBmZjk1LAotICAweGFlZTAwMDM4LAotICAweDNjMDM4ODAwLAotICAweGFmODMwZmJjLAotICAweDg2ZTMwMDA4LAotICAweDI3OTcwZjE4LAotICAweDMwNjMwMDYwLAotICAweDAyZTNiODIxLAotICAweDAwMDMxOGMyLAotICAweDAyZTNiODIxLAotICAweDhlZTMwMDFjLAotICAweDEwNDBmZjhhLAotICAweGFmODIwZmI0LAotICAweDNjMDIwYzQwLAotICAweGFjNDMwZmI0LAotICAweDhlZTIwMDE4LAotICAweDI0NjMwMDBjLAotICAweDE0NDMwMDAzLAotICAweDAwMDAwMDAwLAotICAweDhlZTMwMDE0LAotICAweDAwMDAwMDAwLAotICAweGFlZTMwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZjdkLAotICAweDAwMDAwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDkwNDEwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMzcwODI1LAotICAweDEwMDBmZjc2LAotICAweGEwNDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDk0NDEwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMzcwODI1LAotICAweDEwMDBmZjZmLAotICAweGE0NDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDhjNDEwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMzcwODI1LAotICAweDEwMDBmZjY4LAotICAweGFjNDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDkwNDEwMDAwLAotICAweDAyZTBiODI3LAotICAweDAwMzcwODI0LAotICAweDEwMDBmZjYxLAotICAweGEwNDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDk0NDEwMDAwLAotICAweDAyZTBiODI3LAotICAweDAwMzcwODI0LAotICAweDEwMDBmZjVhLAotICAweGE0NDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDhjNDEwMDAwLAotICAweDAyZTBiODI3LAotICAweDAwMzcwODI0LAotICAweDEwMDBmZjUzLAotICAweGFjNDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDEwMDBmZjRmLAotICAweGEwNTcwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDEwMDBmZjRiLAotICAweGE0NTcwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDEwMDBmZjQ3LAotICAweGFjNTcwMDAwLAotICAweDhmODIwZmYwLAotICAweDAwMDAwMDAwLAotICAweDhjNDIwMDAwLAotICAweDEwMDBmZjQyLAotICAweGFmODIwZmY0LAotICAweDNjMDFhMGMyLAotICAweDhjMjJjMDAwLAotICAweDAwMDAwMDAwLAotICAweGFmODIwZmYwLAotICAweDNjMDFhMGMyLAotICAweDhjMjJjMDA0LAotICAweDEwMDBmZjNhLAotICAweGFmODIwZmY0LAotICAweDNjMDFhMGQxLAotICAweDhjMjJkNWFjLAotICAweDAwMDAwMDAwLAotICAweGFmODIwZmYwLAotICAweDNjMDFhMGQxLAotICAweDhjMjJkNWIwLAotICAweDEwMDBmZjMyLAotICAweGFmODIwZmY0LAotICAweDNjMDJhMGYwLAotICAweGFjNDAwMDAwLAotICAweDkwNTcwMTUzLAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzgwLAotICAweDkwNTcwMTU3LAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzgxLAotICAweDkwNTcwMTViLAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzg3LAotICAweDkwNTcwMTVmLAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzg2LAotICAweDkwNTcwMTYzLAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDA3LAotICAweGEzOTcwYzg1LAotICAweDkwNTcwMTkzLAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzhiLAotICAweDkwNTcwMTk3LAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzhhLAotICAweDkwNTcwMTliLAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDA3LAotICAweGEzOTcwYzg5LAotICAweDkwNTcwMDBiLAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMGUwLAotICAweDAwMTcwOTQyLAotICAweDkwNTcwMDQ3LAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDc4LAotICAweDAwMzcwODI1LAotICAweDkwNTcwMDY3LAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDBmLAotICAweDAwMTdiOWMwLAotICAweDAwMzcwODI1LAotICAweDkwNTcwMGM3LAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDJmLAotICAweDAwMTdiYWMwLAotICAweDAwMzcwODI1LAotICAweDkwNTcwMTQ3LAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDFlLAotICAweDAwMTdiYzAwLAotICAweDAwMzcwODI1LAotICAweDkwNTcwMTgzLAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDYwLAotICAweDAwMTdiYzAwLAotICAweDAwMzcwODI1LAotICAweGFmODEwYzhjLAotICAweDNjMDIxODQwLAotICAweDhmOTcwZmM4LAotICAweDAwMDAwMDAwLAotICAweDhmOTcwZmYwLAotICAweDAwMDAwMDAwLAotICAweGFjNTcwYzgwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDNjMDJhMGQxLAotICAweDI0NDJmOTk4LAotICAweGFmODAwYzkwLAotICAweGFmODAwYzk0LAotICAweDAwNDAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDg3OTcwZmYwLAotICAweDNjMTMwMGQxLAotICAweGE2NzcwMDA4LAotICAweDNjMDMwMDAwLAotICAweDI0NjMwNTIwLAotICAweGFmOWYwZmU4LAotICAweDAwNjBmODA5LAotICAweDI0MDIwMDAxLAotICAweDhmOWYwZmU4LAotICAweDEwNDBmZWRhLAotICAweDk3OTcwZmYwLAotICAweDI3ODMwZjE4LAotICAweDAwNzcxODIxLAotICAweDAwMTdiOGMyLAotICAweDAyZTNiODIxLAotICAweDNjMDI4ODAwLAotICAweGFmODIwZmJjLAotICAweDhlNjIwMDM4LAotICAweGE3ODAwZmI4LAotICAweGFmODIwZmI0LAotICAweDhlZTMwMDFjLAotICAweDNjMDIwYzQwLAotICAweGFjNDMwZmI0LAotICAweDhlZTIwMDE4LAotICAweDI0NjMwMDBjLAotICAweDE0NDMwMDA0LAotICAweGFlZTMwMDFjLAotICAweDhlZTMwMDE0LAotICAweDAwMDAwMDAwLAotICAweGFlZTMwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZmRmLAotICAweDAwMDAwMDAwLAotICAweDhmODIwYzVjLAotICAweDhmODMwYzYwLAotICAweGFmODIwZmYwLAotICAweDEwMDBmZWJlLAotICAweGFmODMwZmY0LAotICAweDIzODkwODAwLAotICAweDAxMjAxODIxLAotICAweDI0MDIwMDBmLAotICAweDIwNmMwMDQwLAotICAweGFjNmMwMDA4LAotICAweDAxODAxODIxLAotICAweDE0NDBmZmZjLAotICAweDIwNDJmZmZmLAotICAweGFjNjkwMDA4LAotICAweDI3OGIwYzk4LAotICAweGE1NjAwMDAwLAotICAweDI0MDNmZmZmLAotICAweGFkNjMwMDE0LAotICAweDM0MDIwMDAxLAotICAweDM0NDIwMDIwLAotICAweGE1NjIwMDA4LAotICAweDI3OGEwZTAwLAotICAweDAxNDAxMDIxLAotICAweDAwMDAxODIxLAotICAweGFjNDAwMDAwLAotICAweDI0NjMwMDA0LAotICAweDJjNmMwMTAwLAotICAweDE1ODBmZmZjLAotICAweDI0NDIwMDA0LAotICAweDNjMDJhMGQxLAotICAweDI0NDJlMDAwLAotICAweGFmODIwZmUwLAotICAweDNjMTgwMGQxLAotICAweDAxMjA2MDIxLAotICAweDAwMDA2ODIxLAotICAweDAwMDA3ODIxLAotICAweDAwMDA1ODIxLAotICAweDAwMDA0MDIxLAotICAweDQwMDI2MDAwLAotICAweDAwMDAwMDAwLAotICAweDM0NDI0MDAxLAotICAweDQwODI2MDAwLAotICAweDNjMDIwMDAwLAotICAweDI0NDIwNmY4LAotICAweDAwNDAwMDA4LAotICAweDAwMDAwMDAwLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdG0vYXRtc2FyMTEucmVnaW9ucyBiL2RyaXZlcnMvYXRtL2F0bXNhcjExLnJlZ2lvbnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyMjUyYjcuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hdG0vYXRtc2FyMTEucmVnaW9ucworKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLyoKLSAgU2VlIGNvcHlyaWdodCBhbmQgbGljZW5zaW5nIGNvbmRpdGlvbnMgaW4gYW1iYXNzYWRvci4qIGZpbGVzLgotKi8KLSAgeyAweDAwMDAwMDgwLCAgOTkzLCB9LAotICB7IDB4YTBkMGQ1MDAsICAgODAsIH0sCi0gIHsgMHhhMGQwZjAwMCwgIDk3OCwgfSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRtL2F0bXNhcjExLnN0YXJ0IGIvZHJpdmVycy9hdG0vYXRtc2FyMTEuc3RhcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiYTU1ZTcuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hdG0vYXRtc2FyMTEuc3RhcnQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS8qCi0gIFNlZSBjb3B5cmlnaHQgYW5kIGxpY2Vuc2luZyBjb25kaXRpb25zIGluIGFtYmFzc2Fkb3IuKiBmaWxlcy4KLSovCi0gIDB4YTBkMGYwMDAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZS9LY29uZmlnIGIvZHJpdmVycy9iYXNlL0tjb25maWcKaW5kZXggZDdkYTEwOS4uZDQ3NDgyZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9iYXNlL0tjb25maWcKKysrIGIvZHJpdmVycy9iYXNlL0tjb25maWcKQEAgLTM0LDYgKzM0LDcwIEBACiAJICByZXF1aXJlIHVzZXJzcGFjZSBmaXJtd2FyZSBsb2FkaW5nIHN1cHBvcnQsIGJ1dCBhIG1vZHVsZSBidWlsdCBvdXRzaWRlCiAJICB0aGUga2VybmVsIHRyZWUgZG9lcy4KIAorY29uZmlnIEZJUk1XQVJFX0lOX0tFUk5FTAorCWJvb2wgIkluY2x1ZGUgaW4ta2VybmVsIGZpcm13YXJlIGJsb2JzIGluIGtlcm5lbCBiaW5hcnkiCisJZGVwZW5kcyBvbiBGV19MT0FERVIKKwlkZWZhdWx0IHkKKwloZWxwCisJICBUaGUga2VybmVsIHNvdXJjZSB0cmVlIGluY2x1ZGVzIGEgbnVtYmVyIG9mIGZpcm13YXJlICdibG9icycKKwkgIHdoaWNoIGFyZSB1c2VkIGJ5IHZhcmlvdXMgZHJpdmVycy4gVGhlIHJlY29tbWVuZGVkIHdheSB0bworCSAgdXNlIHRoZXNlIGlzIHRvIHJ1biAibWFrZSBmaXJtd2FyZV9pbnN0YWxsIiBhbmQgdG8gY29weSB0aGUKKwkgIHJlc3VsdGluZyBiaW5hcnkgZmlsZXMgY3JlYXRlZCBpbiB1c3IvbGliL2Zpcm13YXJlIGRpcmVjdG9yeQorCSAgb2YgdGhlIGtlcm5lbCB0cmVlIHRvIHRoZSAvbGliL2Zpcm13YXJlIG9uIHlvdXIgc3lzdGVtIHNvCisJICB0aGF0IHRoZXkgY2FuIGJlIGxvYWRlZCBieSB1c2Vyc3BhY2UgaGVscGVycyBvbiByZXF1ZXN0LgorCisJICBFbmFibGluZyB0aGlzIG9wdGlvbiB3aWxsIGJ1aWxkIGVhY2ggcmVxdWlyZWQgZmlybXdhcmUgYmxvYgorCSAgaW50byB0aGUga2VybmVsIGRpcmVjdGx5LCB3aGVyZSByZXF1ZXN0X2Zpcm13YXJlKCkgd2lsbCBmaW5kCisJICB0aGVtIHdpdGhvdXQgaGF2aW5nIHRvIGNhbGwgb3V0IHRvIHVzZXJzcGFjZS4gVGhpcyBtYXkgYmUKKwkgIHVzZWZ1bCBpZiB5b3VyIHJvb3QgZmlsZSBzeXN0ZW0gcmVxdWlyZXMgYSBkZXZpY2Ugd2hpY2ggdXNlcworCSAgc3VjaCBmaXJtd2FyZSwgYW5kIGRvIG5vdCB3aXNoIHRvIHVzZSBhbiBpbml0cmQuCisKKwkgIFRoaXMgc2luZ2xlIG9wdGlvbiBjb250cm9scyB0aGUgaW5jbHVzaW9uIG9mIGZpcm13YXJlIGZvcgorCSAgZXZlcnkgZHJpdmVyIHdoaWNoIHVzZWVzIHJlcXVlc3RfZmlybWFyZSgpIGFuZCBzaGlwcyBpdHMKKwkgIGZpcm13YXJlIGluIHRoZSBrZXJuZWwgc291cmNlIHRyZWUsIHRvIGF2b2lkIGEgcHJvbGlmZXJhdGlvbgorCSAgb2YgJ0luY2x1ZGUgZmlybXdhcmUgZm9yIHh4eCBkZXZpY2UnIG9wdGlvbnMuCisKKwkgIFNheSAnTicgYW5kIGxldCBmaXJtd2FyZSBiZSBsb2FkZWQgZnJvbSB1c2Vyc3BhY2UuCisKK2NvbmZpZyBFWFRSQV9GSVJNV0FSRQorCXN0cmluZyAiRXh0ZXJuYWwgZmlybXdhcmUgYmxvYnMgdG8gYnVpbGQgaW50byB0aGUga2VybmVsIGJpbmFyeSIKKwlkZXBlbmRzIG9uIEZXX0xPQURFUgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGFsbG93cyBmaXJtd2FyZSB0byBiZSBidWlsdCBpbnRvIHRoZSBrZXJuZWwsIGZvciB0aGUKKwkgIGNhc2VzIHdoZXJlIHRoZSB1c2VyIGVpdGhlciBjYW5ub3Qgb3IgZG9lc24ndCB3YW50IHRvIHByb3ZpZGUgaXQgZnJvbQorCSAgdXNlcnNwYWNlIGF0IHJ1bnRpbWUgKGZvciBleGFtcGxlLCB3aGVuIHRoZSBmaXJtd2FyZSBpbiBxdWVzdGlvbiBpcworCSAgcmVxdWlyZWQgZm9yIGFjY2Vzc2luZyB0aGUgYm9vdCBkZXZpY2UsIGFuZCB0aGUgdXNlciBkb2Vzbid0IHdhbnQgdG8KKwkgIHVzZSBhbiBpbml0cmQpLgorCisJICBUaGlzIG9wdGlvbiBpcyBhIHN0cmluZywgYW5kIHRha2VzIHRoZSAoc3BhY2Utc2VwYXJhdGVkKSBuYW1lcyBvZiB0aGUKKwkgIGZpcm13YXJlIGZpbGVzIC0tIHRoZSBzYW1lIG5hbWVzIHdoaWNoIGFwcGVhciBpbiBNT0RVTEVfRklSTVdBUkUoKQorCSAgYW5kIHJlcXVlc3RfZmlybXdhcmUoKSBpbiB0aGUgc291cmNlLiBUaGVzZSBmaWxlcyBzaG91bGQgZXhpc3QgdW5kZXIKKwkgIHRoZSBkaXJlY3Rvcnkgc3BlY2lmaWVkIGJ5IHRoZSBFWFRSQV9GSVJNV0FSRV9ESVIgb3B0aW9uLCB3aGljaCBpcworCSAgYnkgZGVmYXVsdCB0aGUgZmlybXdhcmUvIHN1YmRpcmVjdG9yeSBvZiB0aGUga2VybmVsIHNvdXJjZSB0cmVlLgorCisJICBTbywgZm9yIGV4YW1wbGUsIHlvdSBtaWdodCBzZXQgQ09ORklHX0VYVFJBX0ZJUk1XQVJFPSJ1c2I4Mzg4LmJpbiIsCisJICBjb3B5IHRoZSB1c2I4Mzg4LmJpbiBmaWxlIGludG8gdGhlIGZpcm13YXJlLyBkaXJlY3RvcnksIGFuZCBidWlsZCB0aGUKKwkgIGtlcm5lbC4gVGhlbiBhbnkgcmVxdWVzdF9maXJtd2FyZSgidXNiODM4OC5iaW4iKSB3aWxsIGJlCisJICBzYXRpc2ZpZWQgaW50ZXJuYWxseSB3aXRob3V0IG5lZWRpbmcgdG8gY2FsbCBvdXQgdG8gdXNlcnNwYWNlLgorCisJICBXQVJOSU5HOiBJZiB5b3UgaW5jbHVkZSBhZGRpdGlvbmFsIGZpcm13YXJlIGZpbGVzIGludG8geW91ciBiaW5hcnkKKwkgIGtlcm5lbCBpbWFnZSB3aGljaCBhcmUgbm90IGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdQTCwKKwkgIHRoZW4gaXQgbWF5IGJlIGEgdmlvbGF0aW9uIG9mIHRoZSBHUEwgdG8gZGlzdHJpYnV0ZSB0aGUgcmVzdWx0aW5nCisJICBpbWFnZSAtLSBzaW5jZSBpdCBjb21iaW5lcyBib3RoIEdQTCBhbmQgbm9uLUdQTCB3b3JrLiBZb3Ugc2hvdWxkCisJICBjb25zdWx0IGEgbGF3eWVyIG9mIHlvdXIgb3duIGJlZm9yZSBkaXN0cmlidXRpbmcgc3VjaCBhbiBpbWFnZS4KKworY29uZmlnIEVYVFJBX0ZJUk1XQVJFX0RJUgorCXN0cmluZyAiRmlybXdhcmUgYmxvYnMgcm9vdCBkaXJlY3RvcnkiCisJZGVwZW5kcyBvbiBFWFRSQV9GSVJNV0FSRSAhPSAiIgorCWRlZmF1bHQgImZpcm13YXJlIgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGNvbnRyb2xzIHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGtlcm5lbCBidWlsZCBzeXN0ZW0KKwkgIGxvb2tzIGZvciB0aGUgZmlybXdhcmUgZmlsZXMgbGlzdGVkIGluIHRoZSBFWFRSQV9GSVJNV0FSRSBvcHRpb24uCisJICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlybXdhcmUvIGRpcmVjdG9yeSBpbiB0aGUga2VybmVsIHNvdXJjZSB0cmVlLAorCSAgYnV0IGJ5IGNoYW5naW5nIHRoaXMgb3B0aW9uIHlvdSBjYW4gcG9pbnQgaXQgZWxzZXdoZXJlLCBzdWNoIGFzCisJICB0aGUgL2xpYi9maXJtd2FyZS8gZGlyZWN0b3J5IG9yIGFub3RoZXIgc2VwYXJhdGUgZGlyZWN0b3J5CisJICBjb250YWluaW5nIGZpcm13YXJlIGZpbGVzLgorCiBjb25maWcgREVCVUdfRFJJVkVSCiAJYm9vbCAiRHJpdmVyIENvcmUgdmVyYm9zZSBkZWJ1ZyBtZXNzYWdlcyIKIAlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTApkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlL2Zpcm13YXJlX2NsYXNzLmMgYi9kcml2ZXJzL2Jhc2UvZmlybXdhcmVfY2xhc3MuYwppbmRleCA5ZmQ0YTg1Li5iMGJlMWQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jhc2UvZmlybXdhcmVfY2xhc3MuYworKysgYi9kcml2ZXJzL2Jhc2UvZmlybXdhcmVfY2xhc3MuYwpAQCAtNDksNiArNDksMTQgQEAKIAlzdHJ1Y3QgdGltZXJfbGlzdCB0aW1lb3V0OwogfTsKIAorI2lmZGVmIENPTkZJR19GV19MT0FERVIKK2V4dGVybiBzdHJ1Y3QgYnVpbHRpbl9mdyBfX3N0YXJ0X2J1aWx0aW5fZndbXTsKK2V4dGVybiBzdHJ1Y3QgYnVpbHRpbl9mdyBfX2VuZF9idWlsdGluX2Z3W107CisjZWxzZSAvKiBNb2R1bGUgY2FzZS4gQXZvaWQgaWZkZWZzIGxhdGVyOyBpdCdsbCBhbGwgb3B0aW1pc2Ugb3V0ICovCitzdGF0aWMgc3RydWN0IGJ1aWx0aW5fZncgKl9fc3RhcnRfYnVpbHRpbl9mdzsKK3N0YXRpYyBzdHJ1Y3QgYnVpbHRpbl9mdyAqX19lbmRfYnVpbHRpbl9mdzsKKyNlbmRpZgorCiBzdGF0aWMgdm9pZAogZndfbG9hZF9hYm9ydChzdHJ1Y3QgZmlybXdhcmVfcHJpdiAqZndfcHJpdikKIHsKQEAgLTI1Nyw3ICsyNjUsNyBAQAogCWlmIChyZXR2YWwpCiAJCWdvdG8gb3V0OwogCi0JbWVtY3B5KGZ3LT5kYXRhICsgb2Zmc2V0LCBidWZmZXIsIGNvdW50KTsKKwltZW1jcHkoKHU4ICopZnctPmRhdGEgKyBvZmZzZXQsIGJ1ZmZlciwgY291bnQpOwogCiAJZnctPnNpemUgPSBtYXhfdChzaXplX3QsIG9mZnNldCArIGNvdW50LCBmdy0+c2l6ZSk7CiAJcmV0dmFsID0gY291bnQ7CkBAIC0zOTEsMTMgKzM5OSwxMiBAQAogCXN0cnVjdCBkZXZpY2UgKmZfZGV2OwogCXN0cnVjdCBmaXJtd2FyZV9wcml2ICpmd19wcml2OwogCXN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmU7CisJc3RydWN0IGJ1aWx0aW5fZncgKmJ1aWx0aW47CiAJaW50IHJldHZhbDsKIAogCWlmICghZmlybXdhcmVfcCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlwcmludGsoS0VSTl9JTkZPICJmaXJtd2FyZTogcmVxdWVzdGluZyAlc1xuIiwgbmFtZSk7Ci0KIAkqZmlybXdhcmVfcCA9IGZpcm13YXJlID0ga3phbGxvYyhzaXplb2YoKmZpcm13YXJlKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFmaXJtd2FyZSkgewogCQlwcmludGsoS0VSTl9FUlIgIiVzOiBrbWFsbG9jKHN0cnVjdCBmaXJtd2FyZSkgZmFpbGVkXG4iLApAQCAtNDA2LDYgKzQxMywyMCBAQAogCQlnb3RvIG91dDsKIAl9CiAKKwlmb3IgKGJ1aWx0aW4gPSBfX3N0YXJ0X2J1aWx0aW5fZnc7IGJ1aWx0aW4gIT0gX19lbmRfYnVpbHRpbl9mdzsKKwkgICAgIGJ1aWx0aW4rKykgeworCQlpZiAoc3RyY21wKG5hbWUsIGJ1aWx0aW4tPm5hbWUpKQorCQkJY29udGludWU7CisJCXByaW50ayhLRVJOX0lORk8gImZpcm13YXJlOiB1c2luZyBidWlsdC1pbiBmaXJtd2FyZSAlc1xuIiwKKwkJICAgICAgIG5hbWUpOworCQlmaXJtd2FyZS0+c2l6ZSA9IGJ1aWx0aW4tPnNpemU7CisJCWZpcm13YXJlLT5kYXRhID0gYnVpbHRpbi0+ZGF0YTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKHVldmVudCkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiZmlybXdhcmU6IHJlcXVlc3RpbmcgJXNcbiIsIG5hbWUpOworCiAJcmV0dmFsID0gZndfc2V0dXBfZGV2aWNlKGZpcm13YXJlLCAmZl9kZXYsIG5hbWUsIGRldmljZSwgdWV2ZW50KTsKIAlpZiAocmV0dmFsKQogCQlnb3RvIGVycm9yX2tmcmVlX2Z3OwpAQCAtNDczLDggKzQ5NCwxNiBAQAogdm9pZAogcmVsZWFzZV9maXJtd2FyZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQogeworCXN0cnVjdCBidWlsdGluX2Z3ICpidWlsdGluOworCiAJaWYgKGZ3KSB7CisJCWZvciAoYnVpbHRpbiA9IF9fc3RhcnRfYnVpbHRpbl9mdzsgYnVpbHRpbiAhPSBfX2VuZF9idWlsdGluX2Z3OworCQkgICAgIGJ1aWx0aW4rKykgeworCQkJaWYgKGZ3LT5kYXRhID09IGJ1aWx0aW4tPmRhdGEpCisJCQkJZ290byBmcmVlX2Z3OworCQl9CiAJCXZmcmVlKGZ3LT5kYXRhKTsKKwlmcmVlX2Z3OgogCQlrZnJlZShmdyk7CiAJfQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlL3Bvd2VyL3RyYWNlLmMgYi9kcml2ZXJzL2Jhc2UvcG93ZXIvdHJhY2UuYwppbmRleCAyYjRiMzkyLi44N2E3ZjFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jhc2UvcG93ZXIvdHJhY2UuYworKysgYi9kcml2ZXJzL2Jhc2UvcG93ZXIvdHJhY2UuYwpAQCAtMTUzLDcgKzE1Myw3IEBACiAgKiBpdCdzIG5vdCBhbnkgZ3VhcmFudGVlLCBidXQgaXQncyBhIGhpZ2ggX2xpa2VsaWhvb2RfIHRoYXQKICAqIHRoZSBtYXRjaCBpcyB2YWxpZCkuCiAgKi8KLXZvaWQgZ2VuZXJhdGVfcmVzdW1lX3RyYWNlKHZvaWQgKnRyYWNlZGF0YSwgdW5zaWduZWQgaW50IHVzZXIpCit2b2lkIGdlbmVyYXRlX3Jlc3VtZV90cmFjZShjb25zdCB2b2lkICp0cmFjZWRhdGEsIHVuc2lnbmVkIGludCB1c2VyKQogewogCXVuc2lnbmVkIHNob3J0IGxpbmVubyA9ICoodW5zaWduZWQgc2hvcnQgKil0cmFjZWRhdGE7CiAJY29uc3QgY2hhciAqZmlsZSA9ICooY29uc3QgY2hhciAqKikodHJhY2VkYXRhICsgMik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2UvdG9wb2xvZ3kuYyBiL2RyaXZlcnMvYmFzZS90b3BvbG9neS5jCmluZGV4IGZkZjQwNDQuLjNmNmQ5YjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmFzZS90b3BvbG9neS5jCisrKyBiL2RyaXZlcnMvYmFzZS90b3BvbG9neS5jCkBAIC00MCw2ICs0MCw3IEBACiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIHRvcG9sb2d5XyMjbmFtZShjcHUpKTsJXAogfQogCisjaWYgZGVmaW5lZCh0b3BvbG9neV90aHJlYWRfc2libGluZ3MpIHx8IGRlZmluZWQodG9wb2xvZ3lfY29yZV9zaWJsaW5ncykKIHN0YXRpYyBzc2l6ZV90IHNob3dfY3B1bWFwKGludCB0eXBlLCBjcHVtYXNrX3QgKm1hc2ssIGNoYXIgKmJ1ZikKIHsKIAlwdHJkaWZmX3QgbGVuID0gUFRSX0FMSUdOKGJ1ZiArIFBBR0VfU0laRSAtIDEsIFBBR0VfU0laRSkgLSBidWY7CkBAIC01NCw2NSArNTUsNjUgQEAKIAl9CiAJcmV0dXJuIG47CiB9CisjZW5kaWYKIAorI2lmZGVmIGFyY2hfcHJvdmlkZXNfdG9wb2xvZ3lfcG9pbnRlcnMKICNkZWZpbmUgZGVmaW5lX3NpYmxpbmdzX3Nob3dfbWFwKG5hbWUpCQkJCQlcCi1zdGF0aWMgaW5saW5lIHNzaXplX3Qgc2hvd18jI25hbWUoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgY2hhciAqYnVmKQlcCitzdGF0aWMgc3NpemVfdCBzaG93XyMjbmFtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpCVwKIHsJCQkJCQkJCQlcCiAJdW5zaWduZWQgaW50IGNwdSA9IGRldi0+aWQ7CQkJCQlcCiAJcmV0dXJuIHNob3dfY3B1bWFwKDAsICYodG9wb2xvZ3lfIyNuYW1lKGNwdSkpLCBidWYpOwkJXAogfQogCiAjZGVmaW5lIGRlZmluZV9zaWJsaW5nc19zaG93X2xpc3QobmFtZSkJCQkJCVwKLXN0YXRpYyBpbmxpbmUgc3NpemVfdCBzaG93XyMjbmFtZSMjX2xpc3Qoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgY2hhciAqYnVmKSBcCitzdGF0aWMgc3NpemVfdCBzaG93XyMjbmFtZSMjX2xpc3Qoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgY2hhciAqYnVmKSBcCiB7CQkJCQkJCQkJXAogCXVuc2lnbmVkIGludCBjcHUgPSBkZXYtPmlkOwkJCQkJXAogCXJldHVybiBzaG93X2NwdW1hcCgxLCAmKHRvcG9sb2d5XyMjbmFtZShjcHUpKSwgYnVmKTsJCVwKIH0KIAorI2Vsc2UKKyNkZWZpbmUgZGVmaW5lX3NpYmxpbmdzX3Nob3dfbWFwKG5hbWUpCQkJCQlcCitzdGF0aWMgc3NpemVfdCBzaG93XyMjbmFtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpCVwKK3sJCQkJCQkJCQlcCisJdW5zaWduZWQgaW50IGNwdSA9IGRldi0+aWQ7CQkJCQlcCisJY3B1bWFza190IG1hc2sgPSB0b3BvbG9neV8jI25hbWUoY3B1KTsJCQkJXAorCXJldHVybiBzaG93X2NwdW1hcCgwLCAmbWFzaywgYnVmKTsJCQkJXAorfQorCisjZGVmaW5lIGRlZmluZV9zaWJsaW5nc19zaG93X2xpc3QobmFtZSkJCQkJCVwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lIyNfbGlzdChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpIFwKK3sJCQkJCQkJCQlcCisJdW5zaWduZWQgaW50IGNwdSA9IGRldi0+aWQ7CQkJCQlcCisJY3B1bWFza190IG1hc2sgPSB0b3BvbG9neV8jI25hbWUoY3B1KTsJCQkJXAorCXJldHVybiBzaG93X2NwdW1hcCgxLCAmbWFzaywgYnVmKTsJCQkJXAorfQorI2VuZGlmCisKICNkZWZpbmUgZGVmaW5lX3NpYmxpbmdzX3Nob3dfZnVuYyhuYW1lKQkJXAogCWRlZmluZV9zaWJsaW5nc19zaG93X21hcChuYW1lKTsgZGVmaW5lX3NpYmxpbmdzX3Nob3dfbGlzdChuYW1lKQogCi0jaWZkZWYJdG9wb2xvZ3lfcGh5c2ljYWxfcGFja2FnZV9pZAogZGVmaW5lX2lkX3Nob3dfZnVuYyhwaHlzaWNhbF9wYWNrYWdlX2lkKTsKIGRlZmluZV9vbmVfcm8ocGh5c2ljYWxfcGFja2FnZV9pZCk7Ci0jZGVmaW5lIHJlZl9waHlzaWNhbF9wYWNrYWdlX2lkX2F0dHIJJmF0dHJfcGh5c2ljYWxfcGFja2FnZV9pZC5hdHRyLAotI2Vsc2UKLSNkZWZpbmUgcmVmX3BoeXNpY2FsX3BhY2thZ2VfaWRfYXR0cgotI2VuZGlmCiAKLSNpZmRlZiB0b3BvbG9neV9jb3JlX2lkCiBkZWZpbmVfaWRfc2hvd19mdW5jKGNvcmVfaWQpOwogZGVmaW5lX29uZV9ybyhjb3JlX2lkKTsKLSNkZWZpbmUgcmVmX2NvcmVfaWRfYXR0cgkJJmF0dHJfY29yZV9pZC5hdHRyLAotI2Vsc2UKLSNkZWZpbmUgcmVmX2NvcmVfaWRfYXR0cgotI2VuZGlmCiAKLSNpZmRlZiB0b3BvbG9neV90aHJlYWRfc2libGluZ3MKIGRlZmluZV9zaWJsaW5nc19zaG93X2Z1bmModGhyZWFkX3NpYmxpbmdzKTsKIGRlZmluZV9vbmVfcm8odGhyZWFkX3NpYmxpbmdzKTsKIGRlZmluZV9vbmVfcm8odGhyZWFkX3NpYmxpbmdzX2xpc3QpOwotI2RlZmluZSByZWZfdGhyZWFkX3NpYmxpbmdzX2F0dHIJXAotCQkmYXR0cl90aHJlYWRfc2libGluZ3MuYXR0ciwgJmF0dHJfdGhyZWFkX3NpYmxpbmdzX2xpc3QuYXR0ciwKLSNlbHNlCi0jZGVmaW5lIHJlZl90aHJlYWRfc2libGluZ3NfYXR0cgotI2VuZGlmCiAKLSNpZmRlZiB0b3BvbG9neV9jb3JlX3NpYmxpbmdzCiBkZWZpbmVfc2libGluZ3Nfc2hvd19mdW5jKGNvcmVfc2libGluZ3MpOwogZGVmaW5lX29uZV9ybyhjb3JlX3NpYmxpbmdzKTsKIGRlZmluZV9vbmVfcm8oY29yZV9zaWJsaW5nc19saXN0KTsKLSNkZWZpbmUgcmVmX2NvcmVfc2libGluZ3NfYXR0cgkJXAotCQkmYXR0cl9jb3JlX3NpYmxpbmdzLmF0dHIsICZhdHRyX2NvcmVfc2libGluZ3NfbGlzdC5hdHRyLAotI2Vsc2UKLSNkZWZpbmUgcmVmX2NvcmVfc2libGluZ3NfYXR0cgotI2VuZGlmCiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpkZWZhdWx0X2F0dHJzW10gPSB7Ci0JcmVmX3BoeXNpY2FsX3BhY2thZ2VfaWRfYXR0cgotCXJlZl9jb3JlX2lkX2F0dHIKLQlyZWZfdGhyZWFkX3NpYmxpbmdzX2F0dHIKLQlyZWZfY29yZV9zaWJsaW5nc19hdHRyCisJJmF0dHJfcGh5c2ljYWxfcGFja2FnZV9pZC5hdHRyLAorCSZhdHRyX2NvcmVfaWQuYXR0ciwKKwkmYXR0cl90aHJlYWRfc2libGluZ3MuYXR0ciwKKwkmYXR0cl90aHJlYWRfc2libGluZ3NfbGlzdC5hdHRyLAorCSZhdHRyX2NvcmVfc2libGluZ3MuYXR0ciwKKwkmYXR0cl9jb3JlX3NpYmxpbmdzX2xpc3QuYXR0ciwKIAlOVUxMCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL0RBQzk2MC5jIGIvZHJpdmVycy9ibG9jay9EQUM5NjAuYwppbmRleCBjZDAzNDczLi5hMDAyYTM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL0RBQzk2MC5jCisrKyBiL2RyaXZlcnMvYmxvY2svREFDOTYwLmMKQEAgLTY2MjgsMTUgKzY2MjgsMTggQEAKICAqIERBQzk2MF9nYW1faW9jdGwgaXMgdGhlIGlvY3RsIGZ1bmN0aW9uIGZvciBwZXJmb3JtaW5nIFJBSUQgb3BlcmF0aW9ucy4KICovCiAKLXN0YXRpYyBpbnQgREFDOTYwX2dhbV9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJCSAgICB1bnNpZ25lZCBpbnQgUmVxdWVzdCwgdW5zaWduZWQgbG9uZyBBcmd1bWVudCkKK3N0YXRpYyBsb25nIERBQzk2MF9nYW1faW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBSZXF1ZXN0LAorCQkJCQkJdW5zaWduZWQgbG9uZyBBcmd1bWVudCkKIHsKLSAgaW50IEVycm9yQ29kZSA9IDA7CisgIGxvbmcgRXJyb3JDb2RlID0gMDsKICAgaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKSByZXR1cm4gLUVBQ0NFUzsKKworICBsb2NrX2tlcm5lbCgpOwogICBzd2l0Y2ggKFJlcXVlc3QpCiAgICAgewogICAgIGNhc2UgREFDOTYwX0lPQ1RMX0dFVF9DT05UUk9MTEVSX0NPVU5UOgotICAgICAgcmV0dXJuIERBQzk2MF9Db250cm9sbGVyQ291bnQ7CisgICAgICBFcnJvckNvZGUgPSBEQUM5NjBfQ29udHJvbGxlckNvdW50OworICAgICAgYnJlYWs7CiAgICAgY2FzZSBEQUM5NjBfSU9DVExfR0VUX0NPTlRST0xMRVJfSU5GTzoKICAgICAgIHsKIAlEQUM5NjBfQ29udHJvbGxlckluZm9fVCBfX3VzZXIgKlVzZXJTcGFjZUNvbnRyb2xsZXJJbmZvID0KQEAgLTY2NDQsMTUgKzY2NDcsMjAgQEAKIAlEQUM5NjBfQ29udHJvbGxlckluZm9fVCBDb250cm9sbGVySW5mbzsKIAlEQUM5NjBfQ29udHJvbGxlcl9UICpDb250cm9sbGVyOwogCWludCBDb250cm9sbGVyTnVtYmVyOwotCWlmIChVc2VyU3BhY2VDb250cm9sbGVySW5mbyA9PSBOVUxMKSByZXR1cm4gLUVJTlZBTDsKLQlFcnJvckNvZGUgPSBnZXRfdXNlcihDb250cm9sbGVyTnVtYmVyLAorCWlmIChVc2VyU3BhY2VDb250cm9sbGVySW5mbyA9PSBOVUxMKQorCQlFcnJvckNvZGUgPSAtRUlOVkFMOworCWVsc2UgRXJyb3JDb2RlID0gZ2V0X3VzZXIoQ29udHJvbGxlck51bWJlciwKIAkJCSAgICAgJlVzZXJTcGFjZUNvbnRyb2xsZXJJbmZvLT5Db250cm9sbGVyTnVtYmVyKTsKLQlpZiAoRXJyb3JDb2RlICE9IDApIHJldHVybiBFcnJvckNvZGU7CisJaWYgKEVycm9yQ29kZSAhPSAwKQorCQlicmVhazs7CisJRXJyb3JDb2RlID0gLUVOWElPOwogCWlmIChDb250cm9sbGVyTnVtYmVyIDwgMCB8fAotCSAgICBDb250cm9sbGVyTnVtYmVyID4gREFDOTYwX0NvbnRyb2xsZXJDb3VudCAtIDEpCi0JICByZXR1cm4gLUVOWElPOworCSAgICBDb250cm9sbGVyTnVtYmVyID4gREFDOTYwX0NvbnRyb2xsZXJDb3VudCAtIDEpIHsKKwkgIGJyZWFrOworCX0KIAlDb250cm9sbGVyID0gREFDOTYwX0NvbnRyb2xsZXJzW0NvbnRyb2xsZXJOdW1iZXJdOwotCWlmIChDb250cm9sbGVyID09IE5VTEwpIHJldHVybiAtRU5YSU87CisJaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkKKwkJYnJlYWs7OwogCW1lbXNldCgmQ29udHJvbGxlckluZm8sIDAsIHNpemVvZihEQUM5NjBfQ29udHJvbGxlckluZm9fVCkpOwogCUNvbnRyb2xsZXJJbmZvLkNvbnRyb2xsZXJOdW1iZXIgPSBDb250cm9sbGVyTnVtYmVyOwogCUNvbnRyb2xsZXJJbmZvLkZpcm13YXJlVHlwZSA9IENvbnRyb2xsZXItPkZpcm13YXJlVHlwZTsKQEAgLTY2NjUsOCArNjY3Myw5IEBACiAJQ29udHJvbGxlckluZm8uUENJX0FkZHJlc3MgPSBDb250cm9sbGVyLT5QQ0lfQWRkcmVzczsKIAlzdHJjcHkoQ29udHJvbGxlckluZm8uTW9kZWxOYW1lLCBDb250cm9sbGVyLT5Nb2RlbE5hbWUpOwogCXN0cmNweShDb250cm9sbGVySW5mby5GaXJtd2FyZVZlcnNpb24sIENvbnRyb2xsZXItPkZpcm13YXJlVmVyc2lvbik7Ci0JcmV0dXJuIChjb3B5X3RvX3VzZXIoVXNlclNwYWNlQ29udHJvbGxlckluZm8sICZDb250cm9sbGVySW5mbywKKwlFcnJvckNvZGUgPSAoY29weV90b191c2VyKFVzZXJTcGFjZUNvbnRyb2xsZXJJbmZvLCAmQ29udHJvbGxlckluZm8sCiAJCQkgICAgIHNpemVvZihEQUM5NjBfQ29udHJvbGxlckluZm9fVCkpID8gLUVGQVVMVCA6IDApOworCWJyZWFrOwogICAgICAgfQogICAgIGNhc2UgREFDOTYwX0lPQ1RMX1YxX0VYRUNVVEVfQ09NTUFORDoKICAgICAgIHsKQEAgLTY2ODQsMzAgKzY2OTMsMzkgQEAKIAlpbnQgQ29udHJvbGxlck51bWJlciwgRGF0YVRyYW5zZmVyTGVuZ3RoOwogCXVuc2lnbmVkIGNoYXIgKkRhdGFUcmFuc2ZlckJ1ZmZlciA9IE5VTEw7CiAJZG1hX2FkZHJfdCBEYXRhVHJhbnNmZXJCdWZmZXJETUE7Ci0JaWYgKFVzZXJTcGFjZVVzZXJDb21tYW5kID09IE5VTEwpIHJldHVybiAtRUlOVkFMOworCWlmIChVc2VyU3BhY2VVc2VyQ29tbWFuZCA9PSBOVUxMKSB7CisJCUVycm9yQ29kZSA9IC1FSU5WQUw7CisJCWJyZWFrOworCX0KIAlpZiAoY29weV9mcm9tX3VzZXIoJlVzZXJDb21tYW5kLCBVc2VyU3BhY2VVc2VyQ29tbWFuZCwKIAkJCQkgICBzaXplb2YoREFDOTYwX1YxX1VzZXJDb21tYW5kX1QpKSkgewogCQlFcnJvckNvZGUgPSAtRUZBVUxUOwotCQlnb3RvIEZhaWx1cmUxYTsKKwkJYnJlYWs7CiAJfQogCUNvbnRyb2xsZXJOdW1iZXIgPSBVc2VyQ29tbWFuZC5Db250cm9sbGVyTnVtYmVyOworICAgIAlFcnJvckNvZGUgPSAtRU5YSU87CiAJaWYgKENvbnRyb2xsZXJOdW1iZXIgPCAwIHx8CiAJICAgIENvbnRyb2xsZXJOdW1iZXIgPiBEQUM5NjBfQ29udHJvbGxlckNvdW50IC0gMSkKLQkgIHJldHVybiAtRU5YSU87CisJICAgIAlicmVhazsKIAlDb250cm9sbGVyID0gREFDOTYwX0NvbnRyb2xsZXJzW0NvbnRyb2xsZXJOdW1iZXJdOwotCWlmIChDb250cm9sbGVyID09IE5VTEwpIHJldHVybiAtRU5YSU87Ci0JaWYgKENvbnRyb2xsZXItPkZpcm13YXJlVHlwZSAhPSBEQUM5NjBfVjFfQ29udHJvbGxlcikgcmV0dXJuIC1FSU5WQUw7CisJaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkKKwkJYnJlYWs7CisJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwlpZiAoQ29udHJvbGxlci0+RmlybXdhcmVUeXBlICE9IERBQzk2MF9WMV9Db250cm9sbGVyKQorCQlicmVhazsKIAlDb21tYW5kT3Bjb2RlID0gVXNlckNvbW1hbmQuQ29tbWFuZE1haWxib3guQ29tbW9uLkNvbW1hbmRPcGNvZGU7CiAJRGF0YVRyYW5zZmVyTGVuZ3RoID0gVXNlckNvbW1hbmQuRGF0YVRyYW5zZmVyTGVuZ3RoOwotCWlmIChDb21tYW5kT3Bjb2RlICYgMHg4MCkgcmV0dXJuIC1FSU5WQUw7CisJaWYgKENvbW1hbmRPcGNvZGUgJiAweDgwKQorCQlicmVhazsKIAlpZiAoQ29tbWFuZE9wY29kZSA9PSBEQUM5NjBfVjFfRENEQikKIAkgIHsKIAkgICAgaWYgKGNvcHlfZnJvbV91c2VyKCZEQ0RCLCBVc2VyQ29tbWFuZC5EQ0RCLAogCQkJICAgICAgIHNpemVvZihEQUM5NjBfVjFfRENEQl9UKSkpIHsKIAkJRXJyb3JDb2RlID0gLUVGQVVMVDsKLQkJZ290byBGYWlsdXJlMWE7CisJCWJyZWFrOwogCSAgICB9Ci0JICAgIGlmIChEQ0RCLkNoYW5uZWwgPj0gREFDOTYwX1YxX01heENoYW5uZWxzKSByZXR1cm4gLUVJTlZBTDsKKwkgICAgaWYgKERDREIuQ2hhbm5lbCA+PSBEQUM5NjBfVjFfTWF4Q2hhbm5lbHMpCisJICAgIAkJYnJlYWs7CiAJICAgIGlmICghKChEYXRhVHJhbnNmZXJMZW5ndGggPT0gMCAmJgogCQkgICBEQ0RCLkRpcmVjdGlvbgogCQkgICA9PSBEQUM5NjBfVjFfRENEQl9Ob0RhdGFUcmFuc2ZlcikgfHwKQEAgLTY3MTcsMzggKzY3MzUsMzcgQEAKIAkJICAoRGF0YVRyYW5zZmVyTGVuZ3RoIDwgMCAmJgogCQkgICBEQ0RCLkRpcmVjdGlvbgogCQkgICA9PSBEQUM5NjBfVjFfRENEQl9EYXRhVHJhbnNmZXJTeXN0ZW1Ub0RldmljZSkpKQotCSAgICAgIHJldHVybiAtRUlOVkFMOworCQkgICAJYnJlYWs7CiAJICAgIGlmICgoKERDREIuVHJhbnNmZXJMZW5ndGhIaWdoNCA8PCAxNikgfCBEQ0RCLlRyYW5zZmVyTGVuZ3RoKQogCQkhPSBhYnMoRGF0YVRyYW5zZmVyTGVuZ3RoKSkKLQkgICAgICByZXR1cm4gLUVJTlZBTDsKKwkJCWJyZWFrOwogCSAgICBEQ0RCX0lPQlVGID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoQ29udHJvbGxlci0+UENJRGV2aWNlLAogCQkJc2l6ZW9mKERBQzk2MF9WMV9EQ0RCX1QpLCAmRENEQl9JT0JVRkRNQSk7Ci0JICAgIGlmIChEQ0RCX0lPQlVGID09IE5VTEwpCi0JCQlyZXR1cm4gLUVOT01FTTsKKwkgICAgaWYgKERDREJfSU9CVUYgPT0gTlVMTCkgeworCSAgICAJCUVycm9yQ29kZSA9IC1FTk9NRU07CisJCQlicmVhazsKKwkJfQogCSAgfQorCUVycm9yQ29kZSA9IC1FTk9NRU07CiAJaWYgKERhdGFUcmFuc2Zlckxlbmd0aCA+IDApCiAJICB7CiAJICAgIERhdGFUcmFuc2ZlckJ1ZmZlciA9IHBjaV9hbGxvY19jb25zaXN0ZW50KENvbnRyb2xsZXItPlBDSURldmljZSwKIAkJCQlEYXRhVHJhbnNmZXJMZW5ndGgsICZEYXRhVHJhbnNmZXJCdWZmZXJETUEpOwotCSAgICBpZiAoRGF0YVRyYW5zZmVyQnVmZmVyID09IE5VTEwpIHsKLQkJRXJyb3JDb2RlID0gLUVOT01FTTsKLQkJZ290byBGYWlsdXJlMTsKLQkgICAgfQorCSAgICBpZiAoRGF0YVRyYW5zZmVyQnVmZmVyID09IE5VTEwpCisJICAgIAlicmVhazsKIAkgICAgbWVtc2V0KERhdGFUcmFuc2ZlckJ1ZmZlciwgMCwgRGF0YVRyYW5zZmVyTGVuZ3RoKTsKIAkgIH0KIAllbHNlIGlmIChEYXRhVHJhbnNmZXJMZW5ndGggPCAwKQogCSAgewogCSAgICBEYXRhVHJhbnNmZXJCdWZmZXIgPSBwY2lfYWxsb2NfY29uc2lzdGVudChDb250cm9sbGVyLT5QQ0lEZXZpY2UsCiAJCQkJLURhdGFUcmFuc2Zlckxlbmd0aCwgJkRhdGFUcmFuc2ZlckJ1ZmZlckRNQSk7Ci0JICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkgewotCQlFcnJvckNvZGUgPSAtRU5PTUVNOwotCQlnb3RvIEZhaWx1cmUxOwotCSAgICB9CisJICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkKKwkgICAgCWJyZWFrOwogCSAgICBpZiAoY29weV9mcm9tX3VzZXIoRGF0YVRyYW5zZmVyQnVmZmVyLAogCQkJICAgICAgIFVzZXJDb21tYW5kLkRhdGFUcmFuc2ZlckJ1ZmZlciwKIAkJCSAgICAgICAtRGF0YVRyYW5zZmVyTGVuZ3RoKSkgewogCQlFcnJvckNvZGUgPSAtRUZBVUxUOwotCQlnb3RvIEZhaWx1cmUxOworCQlicmVhazsKIAkgICAgfQogCSAgfQogCWlmIChDb21tYW5kT3Bjb2RlID09IERBQzk2MF9WMV9EQ0RCKQpAQCAtNjgyNSw4ICs2ODQyLDcgQEAKIAlpZiAoRENEQl9JT0JVRiAhPSBOVUxMKQogCSAgcGNpX2ZyZWVfY29uc2lzdGVudChDb250cm9sbGVyLT5QQ0lEZXZpY2UsIHNpemVvZihEQUM5NjBfVjFfRENEQl9UKSwKIAkJCURDREJfSU9CVUYsIERDREJfSU9CVUZETUEpOwotICAgICAgRmFpbHVyZTFhOgotCXJldHVybiBFcnJvckNvZGU7CisgICAgICAJYnJlYWs7CiAgICAgICB9CiAgICAgY2FzZSBEQUM5NjBfSU9DVExfVjJfRVhFQ1VURV9DT01NQU5EOgogICAgICAgewpAQCAtNjg0NCwzMiArNjg2MCw0MyBAQAogCWRtYV9hZGRyX3QgRGF0YVRyYW5zZmVyQnVmZmVyRE1BOwogCXVuc2lnbmVkIGNoYXIgKlJlcXVlc3RTZW5zZUJ1ZmZlciA9IE5VTEw7CiAJZG1hX2FkZHJfdCBSZXF1ZXN0U2Vuc2VCdWZmZXJETUE7Ci0JaWYgKFVzZXJTcGFjZVVzZXJDb21tYW5kID09IE5VTEwpIHJldHVybiAtRUlOVkFMOworCisJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwlpZiAoVXNlclNwYWNlVXNlckNvbW1hbmQgPT0gTlVMTCkKKwkJYnJlYWs7CiAJaWYgKGNvcHlfZnJvbV91c2VyKCZVc2VyQ29tbWFuZCwgVXNlclNwYWNlVXNlckNvbW1hbmQsCiAJCQkgICBzaXplb2YoREFDOTYwX1YyX1VzZXJDb21tYW5kX1QpKSkgewogCQlFcnJvckNvZGUgPSAtRUZBVUxUOwotCQlnb3RvIEZhaWx1cmUyYTsKKwkJYnJlYWs7CiAJfQorCUVycm9yQ29kZSA9IC1FTlhJTzsKIAlDb250cm9sbGVyTnVtYmVyID0gVXNlckNvbW1hbmQuQ29udHJvbGxlck51bWJlcjsKIAlpZiAoQ29udHJvbGxlck51bWJlciA8IDAgfHwKIAkgICAgQ29udHJvbGxlck51bWJlciA+IERBQzk2MF9Db250cm9sbGVyQ291bnQgLSAxKQotCSAgcmV0dXJuIC1FTlhJTzsKKwkgICAgCWJyZWFrOwogCUNvbnRyb2xsZXIgPSBEQUM5NjBfQ29udHJvbGxlcnNbQ29udHJvbGxlck51bWJlcl07Ci0JaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkgcmV0dXJuIC1FTlhJTzsKLQlpZiAoQ29udHJvbGxlci0+RmlybXdhcmVUeXBlICE9IERBQzk2MF9WMl9Db250cm9sbGVyKSByZXR1cm4gLUVJTlZBTDsKKwlpZiAoQ29udHJvbGxlciA9PSBOVUxMKQorCQlicmVhazsKKwlpZiAoQ29udHJvbGxlci0+RmlybXdhcmVUeXBlICE9IERBQzk2MF9WMl9Db250cm9sbGVyKXsKKwkJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQogCURhdGFUcmFuc2Zlckxlbmd0aCA9IFVzZXJDb21tYW5kLkRhdGFUcmFuc2Zlckxlbmd0aDsKKyAgICAJRXJyb3JDb2RlID0gLUVOT01FTTsKIAlpZiAoRGF0YVRyYW5zZmVyTGVuZ3RoID4gMCkKIAkgIHsKIAkgICAgRGF0YVRyYW5zZmVyQnVmZmVyID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoQ29udHJvbGxlci0+UENJRGV2aWNlLAogCQkJCURhdGFUcmFuc2Zlckxlbmd0aCwgJkRhdGFUcmFuc2ZlckJ1ZmZlckRNQSk7Ci0JICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkgcmV0dXJuIC1FTk9NRU07CisJICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkKKwkgICAgCWJyZWFrOwogCSAgICBtZW1zZXQoRGF0YVRyYW5zZmVyQnVmZmVyLCAwLCBEYXRhVHJhbnNmZXJMZW5ndGgpOwogCSAgfQogCWVsc2UgaWYgKERhdGFUcmFuc2Zlckxlbmd0aCA8IDApCiAJICB7CiAJICAgIERhdGFUcmFuc2ZlckJ1ZmZlciA9IHBjaV9hbGxvY19jb25zaXN0ZW50KENvbnRyb2xsZXItPlBDSURldmljZSwKIAkJCQktRGF0YVRyYW5zZmVyTGVuZ3RoLCAmRGF0YVRyYW5zZmVyQnVmZmVyRE1BKTsKLQkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKSByZXR1cm4gLUVOT01FTTsKKwkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKQorCSAgICAJYnJlYWs7CiAJICAgIGlmIChjb3B5X2Zyb21fdXNlcihEYXRhVHJhbnNmZXJCdWZmZXIsCiAJCQkgICAgICAgVXNlckNvbW1hbmQuRGF0YVRyYW5zZmVyQnVmZmVyLAogCQkJICAgICAgIC1EYXRhVHJhbnNmZXJMZW5ndGgpKSB7CkBAIC02OTc5LDggKzcwMDYsNyBAQAogCWlmIChSZXF1ZXN0U2Vuc2VCdWZmZXIgIT0gTlVMTCkKIAkgIHBjaV9mcmVlX2NvbnNpc3RlbnQoQ29udHJvbGxlci0+UENJRGV2aWNlLCBSZXF1ZXN0U2Vuc2VMZW5ndGgsCiAJCVJlcXVlc3RTZW5zZUJ1ZmZlciwgUmVxdWVzdFNlbnNlQnVmZmVyRE1BKTsKLSAgICAgIEZhaWx1cmUyYToKLQlyZXR1cm4gRXJyb3JDb2RlOworICAgICAgICBicmVhazsKICAgICAgIH0KICAgICBjYXNlIERBQzk2MF9JT0NUTF9WMl9HRVRfSEVBTFRIX1NUQVRVUzoKICAgICAgIHsKQEAgLTY5OTAsMjEgKzcwMTYsMzMgQEAKIAlEQUM5NjBfVjJfSGVhbHRoU3RhdHVzQnVmZmVyX1QgSGVhbHRoU3RhdHVzQnVmZmVyOwogCURBQzk2MF9Db250cm9sbGVyX1QgKkNvbnRyb2xsZXI7CiAJaW50IENvbnRyb2xsZXJOdW1iZXI7Ci0JaWYgKFVzZXJTcGFjZUdldEhlYWx0aFN0YXR1cyA9PSBOVUxMKSByZXR1cm4gLUVJTlZBTDsKKwlpZiAoVXNlclNwYWNlR2V0SGVhbHRoU3RhdHVzID09IE5VTEwpIHsKKwkJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQogCWlmIChjb3B5X2Zyb21fdXNlcigmR2V0SGVhbHRoU3RhdHVzLCBVc2VyU3BhY2VHZXRIZWFsdGhTdGF0dXMsCi0JCQkgICBzaXplb2YoREFDOTYwX1YyX0dldEhlYWx0aFN0YXR1c19UKSkpCi0JCXJldHVybiAtRUZBVUxUOworCQkJICAgc2l6ZW9mKERBQzk2MF9WMl9HZXRIZWFsdGhTdGF0dXNfVCkpKSB7CisJCUVycm9yQ29kZSA9IC1FRkFVTFQ7CisJCWJyZWFrOworCX0KKwlFcnJvckNvZGUgPSAtRU5YSU87CiAJQ29udHJvbGxlck51bWJlciA9IEdldEhlYWx0aFN0YXR1cy5Db250cm9sbGVyTnVtYmVyOwogCWlmIChDb250cm9sbGVyTnVtYmVyIDwgMCB8fAogCSAgICBDb250cm9sbGVyTnVtYmVyID4gREFDOTYwX0NvbnRyb2xsZXJDb3VudCAtIDEpCi0JICByZXR1cm4gLUVOWElPOworCQkgICAgYnJlYWs7CiAJQ29udHJvbGxlciA9IERBQzk2MF9Db250cm9sbGVyc1tDb250cm9sbGVyTnVtYmVyXTsKLQlpZiAoQ29udHJvbGxlciA9PSBOVUxMKSByZXR1cm4gLUVOWElPOwotCWlmIChDb250cm9sbGVyLT5GaXJtd2FyZVR5cGUgIT0gREFDOTYwX1YyX0NvbnRyb2xsZXIpIHJldHVybiAtRUlOVkFMOworCWlmIChDb250cm9sbGVyID09IE5VTEwpCisJCWJyZWFrOworCWlmIChDb250cm9sbGVyLT5GaXJtd2FyZVR5cGUgIT0gREFDOTYwX1YyX0NvbnRyb2xsZXIpIHsKKwkJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQogCWlmIChjb3B5X2Zyb21fdXNlcigmSGVhbHRoU3RhdHVzQnVmZmVyLAogCQkJICAgR2V0SGVhbHRoU3RhdHVzLkhlYWx0aFN0YXR1c0J1ZmZlciwKLQkJCSAgIHNpemVvZihEQUM5NjBfVjJfSGVhbHRoU3RhdHVzQnVmZmVyX1QpKSkKLQkJcmV0dXJuIC1FRkFVTFQ7CisJCQkgICBzaXplb2YoREFDOTYwX1YyX0hlYWx0aFN0YXR1c0J1ZmZlcl9UKSkpIHsKKwkJRXJyb3JDb2RlID0gLUVGQVVMVDsKKwkJYnJlYWs7CisJfQogCXdoaWxlIChDb250cm9sbGVyLT5WMi5IZWFsdGhTdGF0dXNCdWZmZXItPlN0YXR1c0NoYW5nZUNvdW50ZXIKIAkgICAgICAgPT0gSGVhbHRoU3RhdHVzQnVmZmVyLlN0YXR1c0NoYW5nZUNvdW50ZXIgJiYKIAkgICAgICAgQ29udHJvbGxlci0+VjIuSGVhbHRoU3RhdHVzQnVmZmVyLT5OZXh0RXZlbnRTZXF1ZW5jZU51bWJlcgpAQCAtNzAxMiwyMSArNzA1MCwyOCBAQAogCSAgewogCSAgICBpbnRlcnJ1cHRpYmxlX3NsZWVwX29uX3RpbWVvdXQoJkNvbnRyb2xsZXItPkhlYWx0aFN0YXR1c1dhaXRRdWV1ZSwKIAkJCQkJICAgREFDOTYwX01vbml0b3JpbmdUaW1lckludGVydmFsKTsKLQkgICAgaWYgKHNpZ25hbF9wZW5kaW5nKGN1cnJlbnQpKSByZXR1cm4gLUVJTlRSOworCSAgICBpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkpIHsKKwkgICAgCUVycm9yQ29kZSA9IC1FSU5UUjsKKwkgICAgCWJyZWFrOworCSAgICB9CiAJICB9CiAJaWYgKGNvcHlfdG9fdXNlcihHZXRIZWFsdGhTdGF0dXMuSGVhbHRoU3RhdHVzQnVmZmVyLAogCQkJIENvbnRyb2xsZXItPlYyLkhlYWx0aFN0YXR1c0J1ZmZlciwKIAkJCSBzaXplb2YoREFDOTYwX1YyX0hlYWx0aFN0YXR1c0J1ZmZlcl9UKSkpCi0JCXJldHVybiAtRUZBVUxUOwotCXJldHVybiAwOworCQlFcnJvckNvZGUgPSAtRUZBVUxUOworCWVsc2UKKwkJRXJyb3JDb2RlID0gIDA7CiAgICAgICB9CisgICAgICBkZWZhdWx0OgorCUVycm9yQ29kZSA9IC1FTk9UVFk7CiAgICAgfQotICByZXR1cm4gLUVJTlZBTDsKKyAgdW5sb2NrX2tlcm5lbCgpOworICByZXR1cm4gRXJyb3JDb2RlOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBEQUM5NjBfZ2FtX2ZvcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5pb2N0bAkJPSBEQUM5NjBfZ2FtX2lvY3RsCisJLnVubG9ja2VkX2lvY3RsCT0gREFDOTYwX2dhbV9pb2N0bAogfTsKIAogc3RhdGljIHN0cnVjdCBtaXNjZGV2aWNlIERBQzk2MF9nYW1fZGV2ID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9hb2UvYW9lY2hyLmMgYi9kcml2ZXJzL2Jsb2NrL2FvZS9hb2VjaHIuYwppbmRleCBlOGU2MGU3Li5kMWRlNjhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL2FvZS9hb2VjaHIuYworKysgYi9kcml2ZXJzL2Jsb2NrL2FvZS9hb2VjaHIuYwpAQCAtNyw2ICs3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9oZHJlZy5oPgogI2luY2x1ZGUgPGxpbnV4L2Jsa2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlICJhb2UuaCIKIAogZW51bSB7CkBAIC0xNzQsMTIgKzE3NSwxNiBAQAogewogCWludCBuLCBpOwogCisJbG9ja19rZXJuZWwoKTsKIAluID0gaW1pbm9yKGlub2RlKTsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSAodm9pZCAqKSAodW5zaWduZWQgbG9uZykgbjsKIAogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNoYXJkZXZzKTsgKytpKQotCQlpZiAoY2hhcmRldnNbaV0ubWlub3IgPT0gbikKKwkJaWYgKGNoYXJkZXZzW2ldLm1pbm9yID09IG4pIHsKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybiAwOworCQl9CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAtRUlOVkFMOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL2FvZS9hb2VjbWQuYyBiL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNtZC5jCmluZGV4IDQxZjgxOGIuLjJmMTc0NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNtZC5jCisrKyBiL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNtZC5jCkBAIC0xMDAzLDcgKzEwMDMsNyBAQAogCSAqIEVub3VnaCBwZW9wbGUgaGF2ZSB0aGVpciBkaXAgc3dpdGNoZXMgc2V0IGJhY2t3YXJkcyB0bwogCSAqIHdhcnJhbnQgYSBsb3VkIG1lc3NhZ2UgZm9yIHRoaXMgc3BlY2lhbCBjYXNlLgogCSAqLwotCWFvZW1ham9yID0gYmUxNl90b19jcHUoZ2V0X3VuYWxpZ25lZCgmaC0+bWFqb3IpKTsKKwlhb2VtYWpvciA9IGdldF91bmFsaWduZWRfYmUxNigmaC0+bWFqb3IpOwogCWlmIChhb2VtYWpvciA9PSAweGZmZikgewogCQlwcmludGsoS0VSTl9FUlIgImFvZTogV2FybmluZzogc2hlbGYgYWRkcmVzcyBpcyBhbGwgb25lcy4gICIKIAkJCSJDaGVjayBzaGVsZiBkaXAgc3dpdGNoZXMuXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BkLmMgYi9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wZC5jCmluZGV4IDU3MGYzYjcuLjVmZGZhN2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BkLmMKKysrIGIvZHJpdmVycy9ibG9jay9wYXJpZGUvcGQuYwpAQCAtNzEyLDE5ICs3MTIsMTcgQEAKIHN0YXRpYyBpbnQgcGRfc3BlY2lhbF9jb21tYW5kKHN0cnVjdCBwZF91bml0ICpkaXNrLAogCQkgICAgICBlbnVtIGFjdGlvbiAoKmZ1bmMpKHN0cnVjdCBwZF91bml0ICpkaXNrKSkKIHsKLQlERUNMQVJFX0NPTVBMRVRJT05fT05TVEFDSyh3YWl0KTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAJaW50IGVyciA9IDA7CiAKLQlibGtfcnFfaW5pdChOVUxMLCAmcnEpOwotCXJxLnJxX2Rpc2sgPSBkaXNrLT5nZDsKLQlycS5lbmRfaW9fZGF0YSA9ICZ3YWl0OwotCXJxLmVuZF9pbyA9IGJsa19lbmRfc3luY19ycTsKLQlibGtfaW5zZXJ0X3JlcXVlc3QoZGlzay0+Z2QtPnF1ZXVlLCAmcnEsIDAsIGZ1bmMpOwotCXdhaXRfZm9yX2NvbXBsZXRpb24oJndhaXQpOwotCWlmIChycS5lcnJvcnMpCi0JCWVyciA9IC1FSU87Ci0JYmxrX3B1dF9yZXF1ZXN0KCZycSk7CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZGlzay0+Z2QtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJcnEtPnNwZWNpYWwgPSBmdW5jOworCisJZXJyID0gYmxrX2V4ZWN1dGVfcnEoZGlzay0+Z2QtPnF1ZXVlLCBkaXNrLT5nZCwgcnEsIDApOworCisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wZy5jIGIvZHJpdmVycy9ibG9jay9wYXJpZGUvcGcuYwppbmRleCBhYjg2ZTIzLi45ZDkyNjM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wZy5jCisrKyBiL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BnLmMKQEAgLTE2Miw2ICsxNjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BnLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4JLyogY3VycmVudCwgVEFTS18qICovCisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtNTE1LDEyICs1MTYsMTggQEAKIHsKIAlpbnQgdW5pdCA9IGltaW5vcihpbm9kZSkgJiAweDdmOwogCXN0cnVjdCBwZyAqZGV2ID0gJmRldmljZXNbdW5pdF07CisJaW50IHJldCA9IDA7CiAKLQlpZiAoKHVuaXQgPj0gUEdfVU5JVFMpIHx8ICghZGV2LT5wcmVzZW50KSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJbG9ja19rZXJuZWwoKTsKKwlpZiAoKHVuaXQgPj0gUEdfVU5JVFMpIHx8ICghZGV2LT5wcmVzZW50KSkgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKLQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmZGV2LT5hY2Nlc3MpKQotCQlyZXR1cm4gLUVCVVNZOworCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZkZXYtPmFjY2VzcykpIHsKKwkJcmV0ID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAlpZiAoZGV2LT5idXN5KSB7CiAJCXBnX3Jlc2V0KGRldik7CkBAIC01MzMsMTIgKzU0MCwxNSBAQAogCWlmIChkZXYtPmJ1ZnB0ciA9PSBOVUxMKSB7CiAJCWNsZWFyX2JpdCgwLCAmZGV2LT5hY2Nlc3MpOwogCQlwcmludGsoIiVzOiBidWZmZXIgYWxsb2NhdGlvbiBmYWlsZWRcbiIsIGRldi0+bmFtZSk7Ci0JCXJldHVybiAtRU5PTUVNOworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKIAl9CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBkZXY7CiAKLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBwZ19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9wYXJpZGUvcHQuYyBiL2RyaXZlcnMvYmxvY2svcGFyaWRlL3B0LmMKaW5kZXggOGI5NTQ5YS4uNWM3NGMzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9wYXJpZGUvcHQuYworKysgYi9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wdC5jCkBAIC0xNDYsNiArMTQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tdGlvLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4JLyogY3VycmVudCwgVEFTS18qLCBzY2hlZHVsZV90aW1lb3V0KCkgKi8KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtMTg5LDggKzE5MCw3IEBACiAjZGVmaW5lIEFUQVBJX0xPR19TRU5TRQkJMHg0ZAogCiBzdGF0aWMgaW50IHB0X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpOwotc3RhdGljIGludCBwdF9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJICAgIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKTsKK3N0YXRpYyBsb25nIHB0X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZyk7CiBzdGF0aWMgaW50IHB0X3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpOwogc3RhdGljIHNzaXplX3QgcHRfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKmJ1ZiwKIAkJICAgICAgIHNpemVfdCBjb3VudCwgbG9mZl90ICogcHBvcyk7CkBAIC0yMzYsNyArMjM2LDcgQEAKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAkucmVhZCA9IHB0X3JlYWQsCiAJLndyaXRlID0gcHRfd3JpdGUsCi0JLmlvY3RsID0gcHRfaW9jdGwsCisJLnVubG9ja2VkX2lvY3RsID0gcHRfaW9jdGwsCiAJLm9wZW4gPSBwdF9vcGVuLAogCS5yZWxlYXNlID0gcHRfcmVsZWFzZSwKIH07CkBAIC02NTAsOCArNjUwLDExIEBACiAJc3RydWN0IHB0X3VuaXQgKnRhcGUgPSBwdCArIHVuaXQ7CiAJaW50IGVycjsKIAotCWlmICh1bml0ID49IFBUX1VOSVRTIHx8ICghdGFwZS0+cHJlc2VudCkpCisJbG9ja19rZXJuZWwoKTsKKwlpZiAodW5pdCA+PSBQVF9VTklUUyB8fCAoIXRhcGUtPnByZXNlbnQpKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CisJfQogCiAJZXJyID0gLUVCVVNZOwogCWlmICghYXRvbWljX2RlY19hbmRfdGVzdCgmdGFwZS0+YXZhaWxhYmxlKSkKQEAgLTY3OCwxNSArNjgxLDE2IEBACiAJfQogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gdGFwZTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dDoKIAlhdG9taWNfaW5jKCZ0YXBlLT5hdmFpbGFibGUpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgaW50IHB0X2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCSB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKK3N0YXRpYyBsb25nIHB0X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKIHsKIAlzdHJ1Y3QgcHRfdW5pdCAqdGFwZSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKIAlzdHJ1Y3QgbXRvcCBfX3VzZXIgKnAgPSAodm9pZCBfX3VzZXIgKilhcmc7CkBAIC03MDAsMjMgKzcwNCwyNiBAQAogCQlzd2l0Y2ggKG10b3AubXRfb3ApIHsKIAogCQljYXNlIE1UUkVXOgorCQkJbG9ja19rZXJuZWwoKTsKIAkJCXB0X3Jld2luZCh0YXBlKTsKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybiAwOwogCiAJCWNhc2UgTVRXRU9GOgorCQkJbG9ja19rZXJuZWwoKTsKIAkJCXB0X3dyaXRlX2ZtKHRhcGUpOworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIDA7CiAKIAkJZGVmYXVsdDoKLQkJCXByaW50aygiJXM6IFVuaW1wbGVtZW50ZWQgbXRfb3AgJWRcbiIsIHRhcGUtPm5hbWUsCisJCQkvKiBGSVhNRTogcmF0ZSBsaW1pdCA/PyAqLworCQkJcHJpbnRrKEtFUk5fREVCVUcgIiVzOiBVbmltcGxlbWVudGVkIG10X29wICVkXG4iLCB0YXBlLT5uYW1lLAogCQkJICAgICAgIG10b3AubXRfb3ApOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAogCWRlZmF1bHQ6Ci0JCXByaW50aygiJXM6IFVuaW1wbGVtZW50ZWQgaW9jdGwgMHgleFxuIiwgdGFwZS0+bmFtZSwgY21kKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KKwkJcmV0dXJuIC1FTk9UVFk7CiAJfQogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3BrdGNkdmQuYyBiL2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jCmluZGV4IDNiYTFkZjkuLjQ1YmVlOTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jCisrKyBiL2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZmlsZS5oPgpAQCAtMjA3OSw3ICsyMDgwLDYgQEAKIAl1bnNpZ25lZCBjaGFyIGJ1Zls2NF07CiAJaW50IHJldDsKIAotCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKIAlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCBzaXplb2YoYnVmKSwgQ0dDX0RBVEFfUkVBRCk7CiAJY2djLnNlbnNlID0gJnNlbnNlOwogCWNnYy5idWZsZW4gPSBwZC0+bW9kZV9vZmZzZXQgKyAxMjsKQEAgLTIxMjYsNyArMjEyNiw2IEBACiAJdW5zaWduZWQgY2hhciAqY2FwX2J1ZjsKIAlpbnQgcmV0LCBvZmZzZXQ7CiAKLQltZW1zZXQoYnVmLCAwLCBzaXplb2YoYnVmKSk7CiAJY2FwX2J1ZiA9ICZidWZbc2l6ZW9mKHN0cnVjdCBtb2RlX3BhZ2VfaGVhZGVyKSArIHBkLT5tb2RlX29mZnNldF07CiAJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1Ziwgc2l6ZW9mKGJ1ZiksIENHQ19EQVRBX1VOS05PV04pOwogCWNnYy5zZW5zZSA9ICZzZW5zZTsKQEAgLTI2MzMsMTEgKzI2MzIsMTIgQEAKIAogCiAKLXN0YXRpYyBpbnQgcGt0X21lcmdlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCBiaW8gKmJpbywgc3RydWN0IGJpb192ZWMgKmJ2ZWMpCitzdGF0aWMgaW50IHBrdF9tZXJnZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICpibWQsCisJCQkgIHN0cnVjdCBiaW9fdmVjICpidmVjKQogewogCXN0cnVjdCBwa3RjZHZkX2RldmljZSAqcGQgPSBxLT5xdWV1ZWRhdGE7Ci0Jc2VjdG9yX3Qgem9uZSA9IFpPTkUoYmlvLT5iaV9zZWN0b3IsIHBkKTsKLQlpbnQgdXNlZCA9ICgoYmlvLT5iaV9zZWN0b3IgLSB6b25lKSA8PCA5KSArIGJpby0+Ymlfc2l6ZTsKKwlzZWN0b3JfdCB6b25lID0gWk9ORShibWQtPmJpX3NlY3RvciwgcGQpOworCWludCB1c2VkID0gKChibWQtPmJpX3NlY3RvciAtIHpvbmUpIDw8IDkpICsgYm1kLT5iaV9zaXplOwogCWludCByZW1haW5pbmcgPSAocGQtPnNldHRpbmdzLnNpemUgPDwgOSkgLSB1c2VkOwogCWludCByZW1haW5pbmcyOwogCkBAIC0yNjQ1LDcgKzI2NDUsNyBAQAogCSAqIEEgYmlvIDw9IFBBR0VfU0laRSBtdXN0IGJlIGFsbG93ZWQuIElmIGl0IGNyb3NzZXMgYSBwYWNrZXQKIAkgKiBib3VuZGFyeSwgcGt0X21ha2VfcmVxdWVzdCgpIHdpbGwgc3BsaXQgdGhlIGJpby4KIAkgKi8KLQlyZW1haW5pbmcyID0gUEFHRV9TSVpFIC0gYmlvLT5iaV9zaXplOworCXJlbWFpbmluZzIgPSBQQUdFX1NJWkUgLSBibWQtPmJpX3NpemU7CiAJcmVtYWluaW5nID0gbWF4KHJlbWFpbmluZywgcmVtYWluaW5nMik7CiAKIAlCVUdfT04ocmVtYWluaW5nIDwgMCk7CkBAIC0yNzk2LDkgKzI3OTYsMTQgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IHBrdF9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCitzdGF0aWMgbG9uZyBwa3RfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQogewotCXN0cnVjdCBwa3RjZHZkX2RldmljZSAqcGQgPSBpbm9kZS0+aV9iZGV2LT5iZF9kaXNrLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7CisJc3RydWN0IHBrdGNkdmRfZGV2aWNlICpwZDsKKwlsb25nIHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcGQgPSBpbm9kZS0+aV9iZGV2LT5iZF9kaXNrLT5wcml2YXRlX2RhdGE7CiAKIAlWUFJJTlRLKCJwa3RfaW9jdGw6IGNtZCAleCwgZGV2ICVkOiVkXG4iLCBjbWQsIGltYWpvcihpbm9kZSksIGltaW5vcihpbm9kZSkpOwogCkBAIC0yODExLDcgKzI4MTYsOCBAQAogCWNhc2UgQ0RST01fTEFTVF9XUklUVEVOOgogCWNhc2UgQ0RST01fU0VORF9QQUNLRVQ6CiAJY2FzZSBTQ1NJX0lPQ1RMX1NFTkRfQ09NTUFORDoKLQkJcmV0dXJuIGJsa2Rldl9pb2N0bChwZC0+YmRldi0+YmRfaW5vZGUsIGZpbGUsIGNtZCwgYXJnKTsKKwkJcmV0ID0gYmxrZGV2X2lvY3RsKHBkLT5iZGV2LT5iZF9pbm9kZSwgZmlsZSwgY21kLCBhcmcpOworCQlicmVhazsKIAogCWNhc2UgQ0RST01FSkVDVDoKIAkJLyoKQEAgLTI4MjAsMTQgKzI4MjYsMTUgQEAKIAkJICovCiAJCWlmIChwZC0+cmVmY250ID09IDEpCiAJCQlwa3RfbG9ja19kb29yKHBkLCAwKTsKLQkJcmV0dXJuIGJsa2Rldl9pb2N0bChwZC0+YmRldi0+YmRfaW5vZGUsIGZpbGUsIGNtZCwgYXJnKTsKKwkJcmV0ID0gYmxrZGV2X2lvY3RsKHBkLT5iZGV2LT5iZF9pbm9kZSwgZmlsZSwgY21kLCBhcmcpOworCQlicmVhazsKIAogCWRlZmF1bHQ6CiAJCVZQUklOVEsoRFJJVkVSX05BTUUiOiBVbmtub3duIGlvY3RsIGZvciAlcyAoJXgpXG4iLCBwZC0+bmFtZSwgY21kKTsKLQkJcmV0dXJuIC1FTk9UVFk7CisJCXJldCA9IC1FTk9UVFk7CiAJfQotCi0JcmV0dXJuIDA7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgcGt0X21lZGlhX2NoYW5nZWQoc3RydWN0IGdlbmRpc2sgKmRpc2spCkBAIC0yODQ5LDcgKzI4NTYsNyBAQAogCS5vd25lciA9CQlUSElTX01PRFVMRSwKIAkub3BlbiA9CQkJcGt0X29wZW4sCiAJLnJlbGVhc2UgPQkJcGt0X2Nsb3NlLAotCS5pb2N0bCA9CQlwa3RfaW9jdGwsCisJLnVubG9ja2VkX2lvY3RsID0JcGt0X2lvY3RsLAogCS5tZWRpYV9jaGFuZ2VkID0JcGt0X21lZGlhX2NoYW5nZWQsCiB9OwogCkBAIC0zMDE0LDcgKzMwMjEsOCBAQAogCW11dGV4X3VubG9jaygmY3RsX211dGV4KTsKIH0KIAotc3RhdGljIGludCBwa3RfY3RsX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKK3N0YXRpYyBsb25nIHBrdF9jdGxfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCisJCQkJCQl1bnNpZ25lZCBsb25nIGFyZykKIHsKIAl2b2lkIF9fdXNlciAqYXJncCA9ICh2b2lkIF9fdXNlciAqKWFyZzsKIAlzdHJ1Y3QgcGt0X2N0cmxfY29tbWFuZCBjdHJsX2NtZDsKQEAgLTMwMzEsMTYgKzMwMzksMjIgQEAKIAljYXNlIFBLVF9DVFJMX0NNRF9TRVRVUDoKIAkJaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQogCQkJcmV0dXJuIC1FUEVSTTsKKwkJbG9ja19rZXJuZWwoKTsKIAkJcmV0ID0gcGt0X3NldHVwX2RldihuZXdfZGVjb2RlX2RldihjdHJsX2NtZC5kZXYpLCAmcGt0X2Rldik7CiAJCWN0cmxfY21kLnBrdF9kZXYgPSBuZXdfZW5jb2RlX2Rldihwa3RfZGV2KTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlicmVhazsKIAljYXNlIFBLVF9DVFJMX0NNRF9URUFSRE9XTjoKIAkJaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQogCQkJcmV0dXJuIC1FUEVSTTsKKwkJbG9ja19rZXJuZWwoKTsKIAkJcmV0ID0gcGt0X3JlbW92ZV9kZXYobmV3X2RlY29kZV9kZXYoY3RybF9jbWQucGt0X2RldikpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCWJyZWFrOwogCWNhc2UgUEtUX0NUUkxfQ01EX1NUQVRVUzoKKwkJbG9ja19rZXJuZWwoKTsKIAkJcGt0X2dldF9zdGF0dXMoJmN0cmxfY21kKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlyZXR1cm4gLUVOT1RUWTsKQEAgLTMwNTMsNyArMzA2Nyw3IEBACiAKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgcGt0X2N0bF9mb3BzID0gewotCS5pb2N0bAkgPSBwa3RfY3RsX2lvY3RsLAorCS51bmxvY2tlZF9pb2N0bAkgPSBwa3RfY3RsX2lvY3RsLAogCS5vd25lcgkgPSBUSElTX01PRFVMRSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jCmluZGV4IGYyZmZmNTcuLjlhZTA1YzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMKKysrIGIvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Jsa2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2hkcmVnLmg+CisjaW5jbHVkZSA8bGludXgvY2Ryb20uaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KIAogI2luY2x1ZGUgPHhlbi94ZW5idXMuaD4KQEAgLTE1Myw2ICsxNTQsNDAgQEAKIAlyZXR1cm4gMDsKIH0KIAoraW50IGJsa2lmX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlcCwKKwkJdW5zaWduZWQgY29tbWFuZCwgdW5zaWduZWQgbG9uZyBhcmd1bWVudCkKK3sKKwlzdHJ1Y3QgYmxrZnJvbnRfaW5mbyAqaW5mbyA9CisJCWlub2RlLT5pX2JkZXYtPmJkX2Rpc2stPnByaXZhdGVfZGF0YTsKKwlpbnQgaTsKKworCWRldl9kYmcoJmluZm8tPnhiZGV2LT5kZXYsICJjb21tYW5kOiAweCV4LCBhcmd1bWVudDogMHglbHhcbiIsCisJCWNvbW1hbmQsIChsb25nKWFyZ3VtZW50KTsKKworCXN3aXRjaCAoY29tbWFuZCkgeworCWNhc2UgQ0RST01NVUxUSVNFU1NJT046CisJCWRldl9kYmcoJmluZm8tPnhiZGV2LT5kZXYsICJGSVhNRTogc3VwcG9ydCBtdWx0aXNlc3Npb24gQ0RzIGxhdGVyXG4iKTsKKwkJZm9yIChpID0gMDsgaSA8IHNpemVvZihzdHJ1Y3QgY2Ryb21fbXVsdGlzZXNzaW9uKTsgaSsrKQorCQkJaWYgKHB1dF91c2VyKDAsIChjaGFyIF9fdXNlciAqKShhcmd1bWVudCArIGkpKSkKKwkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJcmV0dXJuIDA7CisKKwljYXNlIENEUk9NX0dFVF9DQVBBQklMSVRZOiB7CisJCXN0cnVjdCBnZW5kaXNrICpnZCA9IGluZm8tPmdkOworCQlpZiAoZ2QtPmZsYWdzICYgR0VOSERfRkxfQ0QpCisJCQlyZXR1cm4gMDsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJZGVmYXVsdDoKKwkJLypwcmludGsoS0VSTl9BTEVSVCAiaW9jdGwgJTA4eCBub3Qgc3VwcG9ydGVkIGJ5IFhlbiBibGtkZXZcbiIsCisJCSAgY29tbWFuZCk7Ki8KKwkJcmV0dXJuIC1FSU5WQUw7IC8qIHNhbWUgcmV0dXJuIGFzIG5hdGl2ZSBMaW51eCAqLworCX0KKworCXJldHVybiAwOworfQorCiAvKgogICogYmxraWZfcXVldWVfcmVxdWVzdAogICoKQEAgLTMyNCw2ICszNTksOSBAQAogCS8qIE1ha2Ugc3VyZSBidWZmZXIgYWRkcmVzc2VzIGFyZSBzZWN0b3ItYWxpZ25lZC4gKi8KIAlibGtfcXVldWVfZG1hX2FsaWdubWVudChycSwgNTExKTsKIAorCS8qIE1ha2Ugc3VyZSB3ZSBkb24ndCB1c2UgYm91bmNlIGJ1ZmZlcnMuICovCisJYmxrX3F1ZXVlX2JvdW5jZV9saW1pdChycSwgQkxLX0JPVU5DRV9BTlkpOworCiAJZ2QtPnF1ZXVlID0gcnE7CiAKIAlyZXR1cm4gMDsKQEAgLTU0Niw3ICs1ODQsNyBAQAogCiAJaW5mby0+cmluZ19yZWYgPSBHUkFOVF9JTlZBTElEX1JFRjsKIAotCXNyaW5nID0gKHN0cnVjdCBibGtpZl9zcmluZyAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKKwlzcmluZyA9IChzdHJ1Y3QgYmxraWZfc3JpbmcgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX05PSU8gfCBfX0dGUF9ISUdIKTsKIAlpZiAoIXNyaW5nKSB7CiAJCXhlbmJ1c19kZXZfZmF0YWwoZGV2LCAtRU5PTUVNLCAiYWxsb2NhdGluZyBzaGFyZWQgcmluZyIpOwogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTcwMyw3ICs3NDEsOCBAQAogCWludCBqOwogCiAJLyogU3RhZ2UgMTogTWFrZSBhIHNhZmUgY29weSBvZiB0aGUgc2hhZG93IHN0YXRlLiAqLwotCWNvcHkgPSBrbWFsbG9jKHNpemVvZihpbmZvLT5zaGFkb3cpLCBHRlBfS0VSTkVMKTsKKwljb3B5ID0ga21hbGxvYyhzaXplb2YoaW5mby0+c2hhZG93KSwKKwkJICAgICAgIEdGUF9OT0lPIHwgX19HRlBfUkVQRUFUIHwgX19HRlBfSElHSCk7CiAJaWYgKCFjb3B5KQogCQlyZXR1cm4gLUVOT01FTTsKIAltZW1jcHkoY29weSwgaW5mby0+c2hhZG93LCBzaXplb2YoaW5mby0+c2hhZG93KSk7CkBAIC05NTksNyArOTk4LDcgQEAKIAkJc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiA9IGluZm8tPnhiZGV2OwogCQllbnVtIHhlbmJ1c19zdGF0ZSBzdGF0ZSA9IHhlbmJ1c19yZWFkX2RyaXZlcl9zdGF0ZShkZXYtPm90aGVyZW5kKTsKIAotCQlpZiAoc3RhdGUgPT0gWGVuYnVzU3RhdGVDbG9zaW5nKQorCQlpZiAoc3RhdGUgPT0gWGVuYnVzU3RhdGVDbG9zaW5nICYmIGluZm8tPmlzX3JlYWR5KQogCQkJYmxrZnJvbnRfY2xvc2luZyhkZXYpOwogCX0KIAlyZXR1cm4gMDsKQEAgLTk3MSw2ICsxMDEwLDcgQEAKIAkub3BlbiA9IGJsa2lmX29wZW4sCiAJLnJlbGVhc2UgPSBibGtpZl9yZWxlYXNlLAogCS5nZXRnZW8gPSBibGtpZl9nZXRnZW8sCisJLmlvY3RsID0gYmxraWZfaW9jdGwsCiB9OwogCiAKQEAgLTEwMDYsNyArMTA0Niw3IEBACiBtb2R1bGVfaW5pdCh4bGJsa19pbml0KTsKIAogCi1zdGF0aWMgdm9pZCB4bGJsa19leGl0KHZvaWQpCitzdGF0aWMgdm9pZCBfX2V4aXQgeGxibGtfZXhpdCh2b2lkKQogewogCXJldHVybiB4ZW5idXNfdW5yZWdpc3Rlcl9kcml2ZXIoJmJsa2Zyb250KTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmx1ZXRvb3RoL2JmdXNiLmMgYi9kcml2ZXJzL2JsdWV0b290aC9iZnVzYi5jCmluZGV4IGI5OTA4MDUuLjBjMjExYWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmx1ZXRvb3RoL2JmdXNiLmMKKysrIGIvZHJpdmVycy9ibHVldG9vdGgvYmZ1c2IuYwpAQCAtNTY2LDcgKzU2Niw4IEBACiAJcmV0dXJuIC1FTk9JT0NUTENNRDsKIH0KIAotc3RhdGljIGludCBiZnVzYl9sb2FkX2Zpcm13YXJlKHN0cnVjdCBiZnVzYl9kYXRhICpkYXRhLCB1bnNpZ25lZCBjaGFyICpmaXJtd2FyZSwgaW50IGNvdW50KQorc3RhdGljIGludCBiZnVzYl9sb2FkX2Zpcm13YXJlKHN0cnVjdCBiZnVzYl9kYXRhICpkYXRhLAorCQkJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCBpbnQgY291bnQpCiB7CiAJdW5zaWduZWQgY2hhciAqYnVmOwogCWludCBlcnIsIHBpcGUsIGxlbiwgc2l6ZSwgc2VudCA9IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2JsdWV0b290aC9idDNjX2NzLmMgYi9kcml2ZXJzL2JsdWV0b290aC9idDNjX2NzLmMKaW5kZXggNzcwM2Q2ZS4uNTkzYjdjNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibHVldG9vdGgvYnQzY19jcy5jCisrKyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2J0M2NfY3MuYwpAQCAtNDcwLDcgKzQ3MCw4IEBACiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT0gQ2FyZCBzZXJ2aWNlcyBIQ0kgaW50ZXJhY3Rpb24gPT09PT09PT09PT09PT09PT09PT09PT09ICovCiAKIAotc3RhdGljIGludCBidDNjX2xvYWRfZmlybXdhcmUoYnQzY19pbmZvX3QgKmluZm8sIHVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCBpbnQgY291bnQpCitzdGF0aWMgaW50IGJ0M2NfbG9hZF9maXJtd2FyZShidDNjX2luZm9fdCAqaW5mbywgY29uc3QgdW5zaWduZWQgY2hhciAqZmlybXdhcmUsCisJCQkgICAgICBpbnQgY291bnQpCiB7CiAJY2hhciAqcHRyID0gKGNoYXIgKikgZmlybXdhcmU7CiAJY2hhciBiWzldOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibHVldG9vdGgvaGNpX3ZoY2kuYyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2hjaV92aGNpLmMKaW5kZXggMDYzODczMC4uZDk3NzAwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibHVldG9vdGgvaGNpX3ZoY2kuYworKysgYi9kcml2ZXJzL2JsdWV0b290aC9oY2lfdmhjaS5jCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgpAQCAtMjYzLDkgKzI2NCwxMSBAQAogCXNrYl9xdWV1ZV9oZWFkX2luaXQoJmRhdGEtPnJlYWRxKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZkYXRhLT5yZWFkX3dhaXQpOwogCisJbG9ja19rZXJuZWwoKTsKIAloZGV2ID0gaGNpX2FsbG9jX2RldigpOwogCWlmICghaGRldikgewogCQlrZnJlZShkYXRhKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKQEAgLTI4NiwxMCArMjg5LDEyIEBACiAJCUJUX0VSUigiQ2FuJ3QgcmVnaXN0ZXIgSENJIGRldmljZSIpOwogCQlrZnJlZShkYXRhKTsKIAkJaGNpX2ZyZWVfZGV2KGhkZXYpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gZGF0YTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiB9CkBAIC0zMTMsMTggKzMxOCwyMSBAQAogc3RhdGljIGludCB2aGNpX2Zhc3luYyhpbnQgZmQsIHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgb24pCiB7CiAJc3RydWN0IHZoY2lfZGF0YSAqZGF0YSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKLQlpbnQgZXJyOworCWludCBlcnIgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAllcnIgPSBmYXN5bmNfaGVscGVyKGZkLCBmaWxlLCBvbiwgJmRhdGEtPmZhc3luYyk7CiAJaWYgKGVyciA8IDApCi0JCXJldHVybiBlcnI7CisJCWdvdG8gb3V0OwogCiAJaWYgKG9uKQogCQlkYXRhLT5mbGFncyB8PSBWSENJX0ZBU1lOQzsKIAllbHNlCiAJCWRhdGEtPmZsYWdzICY9IH5WSENJX0ZBU1lOQzsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB2aGNpX2ZvcHMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nkcm9tL2Nkcm9tLmMgYi9kcml2ZXJzL2Nkcm9tL2Nkcm9tLmMKaW5kZXggNjlmMjZlYi4uYTVkYTM1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jZHJvbS9jZHJvbS5jCisrKyBiL2RyaXZlcnMvY2Ryb20vY2Ryb20uYwpAQCAtNDYxLDM3ICs0NjEsMjcgQEAKIAkJCSAgc3RydWN0IG1lZGlhX2V2ZW50X2Rlc2MgKm1lZCkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwotCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjsKLQlzdHJ1Y3QgZXZlbnRfaGVhZGVyICplaDsKLQlpbnQgcmV0ID0gMTsKKwl1bnNpZ25lZCBjaGFyIGJ1ZmZlcls4XTsKKwlzdHJ1Y3QgZXZlbnRfaGVhZGVyICplaCA9IChzdHJ1Y3QgZXZlbnRfaGVhZGVyICopIGJ1ZmZlcjsKIAotCWJ1ZmZlciA9IGttYWxsb2MoOCwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JZWggPSAoc3RydWN0IGV2ZW50X2hlYWRlciAqKWJ1ZmZlcjsKLQotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDgsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAljZ2MuY21kWzBdID0gR1BDTURfR0VUX0VWRU5UX1NUQVRVU19OT1RJRklDQVRJT047CiAJY2djLmNtZFsxXSA9IDE7CQkvKiBJTU1FRCAqLwogCWNnYy5jbWRbNF0gPSAxIDw8IDQ7CS8qIG1lZGlhIGV2ZW50ICovCi0JY2djLmNtZFs4XSA9IDg7CisJY2djLmNtZFs4XSA9IHNpemVvZihidWZmZXIpOwogCWNnYy5xdWlldCA9IDE7CiAKIAlpZiAoY2RpLT5vcHMtPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gMTsKIAogCWlmIChiZTE2X3RvX2NwdShlaC0+ZGF0YV9sZW4pIDwgc2l6ZW9mKCptZWQpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIDE7CiAKIAlpZiAoZWgtPm5lYSB8fCBlaC0+bm90aWZpY2F0aW9uX2NsYXNzICE9IDB4NCkKLQkJZ290byBlcnI7CisJCXJldHVybiAxOwogCi0JbWVtY3B5KG1lZCwgYnVmZmVyICsgc2l6ZW9mKCplaCksIHNpemVvZigqbWVkKSk7Ci0JcmV0ID0gMDsKLWVycjoKLQlrZnJlZShidWZmZXIpOwotCXJldHVybiByZXQ7CisJbWVtY3B5KG1lZCwgJmJ1ZmZlcltzaXplb2YoKmVoKV0sIHNpemVvZigqbWVkKSk7CisJcmV0dXJuIDA7CiB9CiAKIC8qCkBAIC01MDEsODIgKzQ5MSw2OCBAQAogc3RhdGljIGludCBjZHJvbV9tcndfcHJvYmVfcGMoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGkpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQljaGFyICpidWZmZXI7Ci0JaW50IHJldCA9IDE7CisJY2hhciBidWZmZXJbMTZdOwogCi0JYnVmZmVyID0ga21hbGxvYygxNiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTYsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAogCWNnYy50aW1lb3V0ID0gSFo7CiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICghY2Ryb21fbW9kZV9zZW5zZShjZGksICZjZ2MsIE1SV19NT0RFX1BDLCAwKSkgewogCQljZGktPm1yd19tb2RlX3BhZ2UgPSBNUldfTU9ERV9QQzsKLQkJcmV0ID0gMDsKKwkJcmV0dXJuIDA7CiAJfSBlbHNlIGlmICghY2Ryb21fbW9kZV9zZW5zZShjZGksICZjZ2MsIE1SV19NT0RFX1BDX1BSRTEsIDApKSB7CiAJCWNkaS0+bXJ3X21vZGVfcGFnZSA9IE1SV19NT0RFX1BDX1BSRTE7Ci0JCXJldCA9IDA7CisJCXJldHVybiAwOwogCX0KLQlrZnJlZShidWZmZXIpOwotCXJldHVybiByZXQ7CisKKwlyZXR1cm4gMTsKIH0KIAogc3RhdGljIGludCBjZHJvbV9pc19tcncoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGludCAqd3JpdGUpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKIAlzdHJ1Y3QgbXJ3X2ZlYXR1cmVfZGVzYyAqbWZkOwotCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjsKKwl1bnNpZ25lZCBjaGFyIGJ1ZmZlclsxNl07CiAJaW50IHJldDsKIAogCSp3cml0ZSA9IDA7Ci0JYnVmZmVyID0ga21hbGxvYygxNiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwogCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTYsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAogCWNnYy5jbWRbMF0gPSBHUENNRF9HRVRfQ09ORklHVVJBVElPTjsKIAljZ2MuY21kWzNdID0gQ0RGX01SVzsKLQljZ2MuY21kWzhdID0gMTY7CisJY2djLmNtZFs4XSA9IHNpemVvZihidWZmZXIpOwogCWNnYy5xdWlldCA9IDE7CiAKIAlpZiAoKHJldCA9IGNkaS0+b3BzLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJZ290byBlcnI7CisJCXJldHVybiByZXQ7CiAKIAltZmQgPSAoc3RydWN0IG1yd19mZWF0dXJlX2Rlc2MgKikmYnVmZmVyW3NpemVvZihzdHJ1Y3QgZmVhdHVyZV9oZWFkZXIpXTsKLQlpZiAoYmUxNl90b19jcHUobWZkLT5mZWF0dXJlX2NvZGUpICE9IENERl9NUlcpIHsKLQkJcmV0ID0gMTsKLQkJZ290byBlcnI7Ci0JfQorCWlmIChiZTE2X3RvX2NwdShtZmQtPmZlYXR1cmVfY29kZSkgIT0gQ0RGX01SVykKKwkJcmV0dXJuIDE7CiAJKndyaXRlID0gbWZkLT53cml0ZTsKIAogCWlmICgocmV0ID0gY2Ryb21fbXJ3X3Byb2JlX3BjKGNkaSkpKSB7CiAJCSp3cml0ZSA9IDA7CisJCXJldHVybiByZXQ7CiAJfQotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX21yd19iZ2Zvcm1hdChzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgaW50IGNvbnQpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQl1bnNpZ25lZCBjaGFyICpidWZmZXI7CisJdW5zaWduZWQgY2hhciBidWZmZXJbMTJdOwogCWludCByZXQ7CiAKIAlwcmludGsoS0VSTl9JTkZPICJjZHJvbTogJXNzdGFydGluZyBmb3JtYXRcbiIsIGNvbnQgPyAiUmUiIDogIiIpOwogCi0JYnVmZmVyID0ga21hbGxvYygxMiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCiAJLyoKIAkgKiBGbXREYXRhIGJpdCBzZXQgKGJpdCA0KSwgZm9ybWF0IHR5cGUgaXMgMQogCSAqLwotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDEyLCBDR0NfREFUQV9XUklURSk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1dSSVRFKTsKIAljZ2MuY21kWzBdID0gR1BDTURfRk9STUFUX1VOSVQ7CiAJY2djLmNtZFsxXSA9ICgxIDw8IDQpIHwgMTsKIApAQCAtNjAzLDcgKzU3OSw2IEBACiAJaWYgKHJldCkKIAkJcHJpbnRrKEtFUk5fSU5GTyAiY2Ryb206IGJnZm9ybWF0IGZhaWxlZFxuIik7CiAKLQlrZnJlZShidWZmZXIpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTY2MywxNyArNjM4LDE2IEBACiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKIAlzdHJ1Y3QgbW9kZV9wYWdlX2hlYWRlciAqbXBoOwotCWNoYXIgKmJ1ZmZlcjsKKwljaGFyIGJ1ZmZlclsxNl07CiAJaW50IHJldCwgb2Zmc2V0LCBzaXplOwogCi0JYnVmZmVyID0ga21hbGxvYygxNiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDE2LCBDR0NfREFUQV9SRUFEKTsKKwljZ2MuYnVmZmVyID0gYnVmZmVyOworCWNnYy5idWZsZW4gPSBzaXplb2YoYnVmZmVyKTsKIAogCWlmICgocmV0ID0gY2Ryb21fbW9kZV9zZW5zZShjZGksICZjZ2MsIGNkaS0+bXJ3X21vZGVfcGFnZSwgMCkpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCW1waCA9IChzdHJ1Y3QgbW9kZV9wYWdlX2hlYWRlciAqKSBidWZmZXI7CiAJb2Zmc2V0ID0gYmUxNl90b19jcHUobXBoLT5kZXNjX2xlbmd0aCk7CkBAIC02ODMsNzAgKzY1Nyw1NSBAQAogCWNnYy5idWZsZW4gPSBzaXplOwogCiAJaWYgKChyZXQgPSBjZHJvbV9tb2RlX3NlbGVjdChjZGksICZjZ2MpKSkKLQkJZ290byBlcnI7CisJCXJldHVybiByZXQ7CiAKIAlwcmludGsoS0VSTl9JTkZPICJjZHJvbTogJXM6IG1ydyBhZGRyZXNzIHNwYWNlICVzIHNlbGVjdGVkXG4iLCBjZGktPm5hbWUsIG1yd19hZGRyZXNzX3NwYWNlW3NwYWNlXSk7Ci0JcmV0ID0gMDsKLWVycjoKLQlrZnJlZShidWZmZXIpOwotCXJldHVybiByZXQ7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgY2Ryb21fZ2V0X3JhbmRvbV93cml0YWJsZShzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwKIAkJCSAgICAgIHN0cnVjdCByd3J0X2ZlYXR1cmVfZGVzYyAqcmZkKQogewogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7Ci0JY2hhciAqYnVmZmVyOworCWNoYXIgYnVmZmVyWzI0XTsKIAlpbnQgcmV0OwogCi0JYnVmZmVyID0ga21hbGxvYygyNCwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMjQsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAogCWNnYy5jbWRbMF0gPSBHUENNRF9HRVRfQ09ORklHVVJBVElPTjsJLyogb2Z0ZW4gMHg0NiAqLwogCWNnYy5jbWRbM10gPSBDREZfUldSVDsJCQkvKiBvZnRlbiAweDAwMjAgKi8KLQljZ2MuY21kWzhdID0gMjQ7CQkgICAgICAgIC8qIG9mdGVuIDB4MTggKi8KKwljZ2MuY21kWzhdID0gc2l6ZW9mKGJ1ZmZlcik7CQkvKiBvZnRlbiAweDE4ICovCiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICgocmV0ID0gY2RpLT5vcHMtPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCW1lbWNweShyZmQsICZidWZmZXJbc2l6ZW9mKHN0cnVjdCBmZWF0dXJlX2hlYWRlcildLCBzaXplb2YgKCpyZmQpKTsKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBjZHJvbV9oYXNfZGVmZWN0X21ndChzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwotCWNoYXIgKmJ1ZmZlcjsKKwljaGFyIGJ1ZmZlclsxNl07CiAJX19iZTE2ICpmZWF0dXJlX2NvZGU7CiAJaW50IHJldDsKIAotCWJ1ZmZlciA9IGttYWxsb2MoMTYsIEdGUF9LRVJORUwpOwotCWlmICghYnVmZmVyKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDE2LCBDR0NfREFUQV9SRUFEKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgQ0dDX0RBVEFfUkVBRCk7CiAKIAljZ2MuY21kWzBdID0gR1BDTURfR0VUX0NPTkZJR1VSQVRJT047CiAJY2djLmNtZFszXSA9IENERl9IV0RNOwotCWNnYy5jbWRbOF0gPSAxNjsKKwljZ2MuY21kWzhdID0gc2l6ZW9mKGJ1ZmZlcik7CiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICgocmV0ID0gY2RpLT5vcHMtPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCWZlYXR1cmVfY29kZSA9IChfX2JlMTYgKikgJmJ1ZmZlcltzaXplb2Yoc3RydWN0IGZlYXR1cmVfaGVhZGVyKV07CiAJaWYgKGJlMTZfdG9fY3B1KCpmZWF0dXJlX2NvZGUpID09IENERl9IV0RNKQotCQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKIH0KIAogCkBAIC04MzcsMTQgKzc5NiwxMCBAQAogc3RhdGljIGludCBtb19vcGVuX3dyaXRlKHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpKQogewogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7Ci0JY2hhciAqYnVmZmVyOworCWNoYXIgYnVmZmVyWzI1NV07CiAJaW50IHJldDsKIAotCWJ1ZmZlciA9IGttYWxsb2MoMjU1LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCA0LCBDR0NfREFUQV9SRUFEKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgJmJ1ZmZlciwgNCwgQ0dDX0RBVEFfUkVBRCk7CiAJY2djLnF1aWV0ID0gMTsKIAogCS8qCkBAIC04NjEsMTUgKzgxNiwxMCBAQAogCX0KIAogCS8qIGRyaXZlIGdhdmUgdXMgbm8gaW5mbywgbGV0IHRoZSB1c2VyIGdvIGFoZWFkICovCi0JaWYgKHJldCkgewotCQlyZXQgPSAwOwotCQlnb3RvIGVycjsKLQl9CisJaWYgKHJldCkKKwkJcmV0dXJuIDA7CiAKLQlyZXQgPSBidWZmZXJbM10gJiAweDgwOwotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gYnVmZmVyWzNdICYgMHg4MDsKIH0KIAogc3RhdGljIGludCBjZHJvbV9yYW1fb3Blbl93cml0ZShzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSkKQEAgLTg5MiwxOSArODQyLDE1IEBACiBzdGF0aWMgdm9pZCBjZHJvbV9tbWMzX3Byb2ZpbGUoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGkpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQljaGFyICpidWZmZXI7CisJY2hhciBidWZmZXJbMzJdOwogCWludCByZXQsIG1tYzNfcHJvZmlsZTsKIAotCWJ1ZmZlciA9IGttYWxsb2MoMzIsIEdGUF9LRVJORUwpOwotCWlmICghYnVmZmVyKQotCQlyZXR1cm47Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCAzMiwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCiAJY2djLmNtZFswXSA9IEdQQ01EX0dFVF9DT05GSUdVUkFUSU9OOwogCWNnYy5jbWRbMV0gPSAwOwogCWNnYy5jbWRbMl0gPSBjZ2MuY21kWzNdID0gMDsJCS8qIFN0YXJ0aW5nIEZlYXR1cmUgTnVtYmVyICovCi0JY2djLmNtZFs4XSA9IDMyOwkJICAgICAgICAvKiBBbGxvY2F0aW9uIExlbmd0aCAqLworCWNnYy5jbWRbOF0gPSBzaXplb2YoYnVmZmVyKTsJCS8qIEFsbG9jYXRpb24gTGVuZ3RoICovCiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICgocmV0ID0gY2RpLT5vcHMtPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQpAQCAtOTEzLDcgKzg1OSw2IEBACiAJCW1tYzNfcHJvZmlsZSA9IChidWZmZXJbNl0gPDwgOCkgfCBidWZmZXJbN107CiAKIAljZGktPm1tYzNfcHJvZmlsZSA9IG1tYzNfcHJvZmlsZTsKLQlrZnJlZShidWZmZXIpOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX2lzX2R2ZF9ydyhzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSkKQEAgLTE2MjgsMTUgKzE1NzMsMTIgQEAKIHN0YXRpYyBpbnQgZHZkX2RvX2F1dGgoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGR2ZF9hdXRoaW5mbyAqYWkpCiB7CiAJaW50IHJldDsKLQl1X2NoYXIgKmJ1ZjsKKwl1X2NoYXIgYnVmWzIwXTsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwogCXN0cnVjdCBjZHJvbV9kZXZpY2Vfb3BzICpjZG8gPSBjZGktPm9wczsKLQlycGNfc3RhdGVfdCAqcnBjX3N0YXRlOworCXJwY19zdGF0ZV90IHJwY19zdGF0ZTsKIAotCWJ1ZiA9IGt6YWxsb2MoMjAsIEdGUF9LRVJORUwpOwotCWlmICghYnVmKQotCQlyZXR1cm4gLUVOT01FTTsKLQorCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKIAlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCAwLCBDR0NfREFUQV9SRUFEKTsKIAogCXN3aXRjaCAoYWktPnR5cGUpIHsKQEAgLTE2NDcsNyArMTU4OSw3IEBACiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgYWktPmxzYS5hZ2lkLCAwKTsKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAKIAkJYWktPmxzYS5hZ2lkID0gYnVmWzddID4+IDY7CiAJCS8qIFJldHVybmluZyBkYXRhLCBsZXQgaG9zdCBjaGFuZ2Ugc3RhdGUgKi8KQEAgLTE2NTgsNyArMTYwMCw3IEBACiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgYWktPmxzay5hZ2lkLCAyKTsKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAKIAkJY29weV9rZXkoYWktPmxzay5rZXksICZidWZbNF0pOwogCQkvKiBSZXR1cm5pbmcgZGF0YSwgbGV0IGhvc3QgY2hhbmdlIHN0YXRlICovCkBAIC0xNjY5LDcgKzE2MTEsNyBAQAogCQlzZXR1cF9yZXBvcnRfa2V5KCZjZ2MsIGFpLT5sc2MuYWdpZCwgMSk7CiAKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCiAJCWNvcHlfY2hhbChhaS0+bHNjLmNoYWwsICZidWZbNF0pOwogCQkvKiBSZXR1cm5pbmcgZGF0YSwgbGV0IGhvc3QgY2hhbmdlIHN0YXRlICovCkBAIC0xNjg2LDcgKzE2MjgsNyBAQAogCQljZ2MuY21kWzJdID0gYWktPmxzdGsubGJhID4+IDI0OwogCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAogCQlhaS0+bHN0ay5jcG0gPSAoYnVmWzRdID4+IDcpICYgMTsKIAkJYWktPmxzdGsuY3Bfc2VjID0gKGJ1Zls0XSA+PiA2KSAmIDE7CkBAIC0xNzAwLDcgKzE2NDIsNyBAQAogCQlzZXR1cF9yZXBvcnRfa2V5KCZjZ2MsIGFpLT5sc2FzZi5hZ2lkLCA1KTsKIAkJCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAogCQlhaS0+bHNhc2YuYXNmID0gYnVmWzddICYgMTsKIAkJYnJlYWs7CkBAIC0xNzEzLDcgKzE2NTUsNyBAQAogCQljb3B5X2NoYWwoJmJ1Zls0XSwgYWktPmhzYy5jaGFsKTsKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAKIAkJYWktPnR5cGUgPSBEVkRfTFVfU0VORF9LRVkxOwogCQlicmVhazsKQEAgLTE3MjYsNyArMTY2OCw3IEBACiAKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKSB7CiAJCQlhaS0+dHlwZSA9IERWRF9BVVRIX0ZBSUxVUkU7Ci0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAJCX0KIAkJYWktPnR5cGUgPSBEVkRfQVVUSF9FU1RBQkxJU0hFRDsKIAkJYnJlYWs7CkBAIC0xNzM3LDIzICsxNjc5LDI0IEBACiAJCWNkaW5mbyhDRF9EVkQsICJlbnRlcmluZyBEVkRfSU5WQUxJREFURV9BR0lEXG4iKTsgCiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgYWktPmxzYS5hZ2lkLCAweDNmKTsKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCQlicmVhazsKIAogCS8qIEdldCByZWdpb24gc2V0dGluZ3MgKi8KIAljYXNlIERWRF9MVV9TRU5EX1JQQ19TVEFURToKIAkJY2RpbmZvKENEX0RWRCwgImVudGVyaW5nIERWRF9MVV9TRU5EX1JQQ19TVEFURVxuIik7CiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgMCwgOCk7CisJCW1lbXNldCgmcnBjX3N0YXRlLCAwLCBzaXplb2YocnBjX3N0YXRlX3QpKTsKKwkJY2djLmJ1ZmZlciA9IChjaGFyICopICZycGNfc3RhdGU7CiAKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCi0JCXJwY19zdGF0ZSA9IChycGNfc3RhdGVfdCAqKWJ1ZjsKLQkJYWktPmxycGNzLnR5cGUgPSBycGNfc3RhdGUtPnR5cGVfY29kZTsKLQkJYWktPmxycGNzLnZyYSA9IHJwY19zdGF0ZS0+dnJhOwotCQlhaS0+bHJwY3MudWNjYSA9IHJwY19zdGF0ZS0+dWNjYTsKLQkJYWktPmxycGNzLnJlZ2lvbl9tYXNrID0gcnBjX3N0YXRlLT5yZWdpb25fbWFzazsKLQkJYWktPmxycGNzLnJwY19zY2hlbWUgPSBycGNfc3RhdGUtPnJwY19zY2hlbWU7CisJCWFpLT5scnBjcy50eXBlID0gcnBjX3N0YXRlLnR5cGVfY29kZTsKKwkJYWktPmxycGNzLnZyYSA9IHJwY19zdGF0ZS52cmE7CisJCWFpLT5scnBjcy51Y2NhID0gcnBjX3N0YXRlLnVjY2E7CisJCWFpLT5scnBjcy5yZWdpb25fbWFzayA9IHJwY19zdGF0ZS5yZWdpb25fbWFzazsKKwkJYWktPmxycGNzLnJwY19zY2hlbWUgPSBycGNfc3RhdGUucnBjX3NjaGVtZTsKIAkJYnJlYWs7CiAKIAkvKiBTZXQgcmVnaW9uIHNldHRpbmdzICovCkBAIC0xNzY0LDIzICsxNzA3LDIwIEBACiAJCWJ1Zls0XSA9IGFpLT5ocnBjcy5wZHJjOwogCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAkJYnJlYWs7CiAKIAlkZWZhdWx0OgogCQljZGluZm8oQ0RfV0FSTklORywgIkludmFsaWQgRFZEIGtleSBpb2N0bCAoJWQpXG4iLCBhaS0+dHlwZSk7Ci0JCXJldCA9IC1FTk9UVFk7Ci0JCWdvdG8gZXJyOworCQlyZXR1cm4gLUVOT1RUWTsKIAl9Ci0JcmV0ID0gMDsKLWVycjoKLQlrZnJlZShidWYpOwotCXJldHVybiByZXQ7CisKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBkdmRfcmVhZF9waHlzaWNhbChzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgZHZkX3N0cnVjdCAqcykKIHsKLQl1bnNpZ25lZCBjaGFyICpidWYsICpiYXNlOworCXVuc2lnbmVkIGNoYXIgYnVmWzIxXSwgKmJhc2U7CiAJc3RydWN0IGR2ZF9sYXllciAqbGF5ZXI7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKIAlzdHJ1Y3QgY2Ryb21fZGV2aWNlX29wcyAqY2RvID0gY2RpLT5vcHM7CkBAIC0xNzg5LDExICsxNzI5LDcgQEAKIAlpZiAobGF5ZXJfbnVtID49IERWRF9MQVlFUlMpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JYnVmID0ga21hbGxvYygyMSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWYpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZiwgMjEsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWYsIHNpemVvZihidWYpLCBDR0NfREFUQV9SRUFEKTsKIAljZ2MuY21kWzBdID0gR1BDTURfUkVBRF9EVkRfU1RSVUNUVVJFOwogCWNnYy5jbWRbNl0gPSBsYXllcl9udW07CiAJY2djLmNtZFs3XSA9IHMtPnR5cGU7CkBAIC0xODA1LDcgKzE3NDEsNyBAQAogCWNnYy5xdWlldCA9IDE7CiAKIAlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJYmFzZSA9ICZidWZbNF07CiAJbGF5ZXIgPSAmcy0+cGh5c2ljYWwubGF5ZXJbbGF5ZXJfbnVtXTsKQEAgLTE4MjksMjQgKzE3NjUsMTcgQEAKIAlsYXllci0+ZW5kX3NlY3Rvcl9sMCA9IGJhc2VbMTNdIDw8IDE2IHwgYmFzZVsxNF0gPDwgOCB8IGJhc2VbMTVdOwogCWxheWVyLT5iY2EgPSBiYXNlWzE2XSA+PiA3OwogCi0JcmV0ID0gMDsKLWVycjoKLQlrZnJlZShidWYpOwotCXJldHVybiByZXQ7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgZHZkX3JlYWRfY29weXJpZ2h0KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLCBkdmRfc3RydWN0ICpzKQogewogCWludCByZXQ7Ci0JdV9jaGFyICpidWY7CisJdV9jaGFyIGJ1Zls4XTsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwogCXN0cnVjdCBjZHJvbV9kZXZpY2Vfb3BzICpjZG8gPSBjZGktPm9wczsKIAotCWJ1ZiA9IGttYWxsb2MoOCwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWYpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZiwgOCwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1Ziwgc2l6ZW9mKGJ1ZiksIENHQ19EQVRBX1JFQUQpOwogCWNnYy5jbWRbMF0gPSBHUENNRF9SRUFEX0RWRF9TVFJVQ1RVUkU7CiAJY2djLmNtZFs2XSA9IHMtPmNvcHlyaWdodC5sYXllcl9udW07CiAJY2djLmNtZFs3XSA9IHMtPnR5cGU7CkBAIC0xODU0LDE1ICsxNzgzLDEyIEBACiAJY2djLmNtZFs5XSA9IGNnYy5idWZsZW4gJiAweGZmOwogCiAJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCXMtPmNvcHlyaWdodC5jcHN0ID0gYnVmWzRdOwogCXMtPmNvcHlyaWdodC5ybWkgPSBidWZbNV07CiAKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1Zik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBkdmRfcmVhZF9kaXNja2V5KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLCBkdmRfc3RydWN0ICpzKQpAQCAtMTg5NCwzMyArMTgyMCwyNiBAQAogc3RhdGljIGludCBkdmRfcmVhZF9iY2Eoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGR2ZF9zdHJ1Y3QgKnMpCiB7CiAJaW50IHJldDsKLQl1X2NoYXIgKmJ1ZjsKKwl1X2NoYXIgYnVmWzQgKyAxODhdOwogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7CiAJc3RydWN0IGNkcm9tX2RldmljZV9vcHMgKmNkbyA9IGNkaS0+b3BzOwogCi0JYnVmID0ga21hbGxvYyg0ICsgMTg4LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCA0ICsgMTg4LCBDR0NfREFUQV9SRUFEKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCBzaXplb2YoYnVmKSwgQ0dDX0RBVEFfUkVBRCk7CiAJY2djLmNtZFswXSA9IEdQQ01EX1JFQURfRFZEX1NUUlVDVFVSRTsKIAljZ2MuY21kWzddID0gcy0+dHlwZTsKIAljZ2MuY21kWzldID0gY2djLmJ1ZmxlbiAmIDB4ZmY7CiAKIAlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJcy0+YmNhLmxlbiA9IGJ1ZlswXSA8PCA4IHwgYnVmWzFdOwogCWlmIChzLT5iY2EubGVuIDwgMTIgfHwgcy0+YmNhLmxlbiA+IDE4OCkgewogCQljZGluZm8oQ0RfV0FSTklORywgIlJlY2VpdmVkIGludmFsaWQgQkNBIGxlbmd0aCAoJWQpXG4iLCBzLT5iY2EubGVuKTsKLQkJcmV0ID0gLUVJTzsKLQkJZ290byBlcnI7CisJCXJldHVybiAtRUlPOwogCX0KIAltZW1jcHkocy0+YmNhLnZhbHVlLCAmYnVmWzRdLCBzLT5iY2EubGVuKTsKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1Zik7Ci0JcmV0dXJuIHJldDsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGR2ZF9yZWFkX21hbnVmYWN0KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLCBkdmRfc3RydWN0ICpzKQpAQCAtMjAyMCwxMyArMTkzOSw5IEBACiB7CiAJc3RydWN0IGNkcm9tX2RldmljZV9vcHMgKmNkbyA9IGNkaS0+b3BzOwogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7Ci0JY2hhciAqYnVmZmVyOworCWNoYXIgYnVmZmVyWzMyXTsKIAlpbnQgcmV0OwogCi0JYnVmZmVyID0ga21hbGxvYygzMiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCiAJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTYsIENHQ19EQVRBX1JFQUQpOwogCWNnYy5jbWRbMF0gPSBHUENNRF9SRUFEX1NVQkNIQU5ORUw7CiAJY2djLmNtZFsxXSA9IDI7ICAgICAvKiBNU0YgYWRkcmVzc2luZyAqLwpAQCAtMjAzNSw3ICsxOTUwLDcgQEAKIAljZ2MuY21kWzhdID0gMTY7CiAKIAlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJc3ViY2hubC0+Y2RzY19hdWRpb3N0YXR1cyA9IGNnYy5idWZmZXJbMV07CiAJc3ViY2hubC0+Y2RzY19mb3JtYXQgPSBDRFJPTV9NU0Y7CkBAIC0yMDUwLDEwICsxOTY1LDcgQEAKIAlzdWJjaG5sLT5jZHNjX2Fic2FkZHIubXNmLnNlY29uZCA9IGNnYy5idWZmZXJbMTBdOwogCXN1YmNobmwtPmNkc2NfYWJzYWRkci5tc2YuZnJhbWUgPSBjZ2MuYnVmZmVyWzExXTsKIAotCXJldCA9IDA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm4gcmV0OworCXJldHVybiAwOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL01ha2VmaWxlIGIvZHJpdmVycy9jaGFyL01ha2VmaWxlCmluZGV4IDRjMWM1ODQuLjgxNjMwYTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2NoYXIvTWFrZWZpbGUKQEAgLTEwMSw3ICsxMDEsNiBAQAogCiBvYmotJChDT05GSUdfTVdBVkUpCQkrPSBtd2F2ZS8KIG9iai0kKENPTkZJR19BR1ApCQkrPSBhZ3AvCi1vYmotJChDT05GSUdfRFJNKQkJKz0gZHJtLwogb2JqLSQoQ09ORklHX1BDTUNJQSkJCSs9IHBjbWNpYS8KIG9iai0kKENPTkZJR19JUE1JX0hBTkRMRVIpCSs9IGlwbWkvCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvYW1kNjQtYWdwLmMgYi9kcml2ZXJzL2NoYXIvYWdwL2FtZDY0LWFncC5jCmluZGV4IDEzNjY1ZGIuLjQ4MWZmZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9hZ3AvYW1kNjQtYWdwLmMKKysrIGIvZHJpdmVycy9jaGFyL2FncC9hbWQ2NC1hZ3AuYwpAQCAtMTYsMjggKzE2LDkgQEAKICNpbmNsdWRlIDxhc20vcGFnZS5oPgkJLyogUEFHRV9TSVpFICovCiAjaW5jbHVkZSA8YXNtL2U4MjAuaD4KICNpbmNsdWRlIDxhc20vazguaD4KKyNpbmNsdWRlIDxhc20vZ2FydC5oPgogI2luY2x1ZGUgImFncC5oIgogCi0vKiBQVEUgYml0cy4gKi8KLSNkZWZpbmUgR1BURV9WQUxJRAkxCi0jZGVmaW5lIEdQVEVfQ09IRVJFTlQJMgotCi0vKiBBcGVydHVyZSBjb250cm9sIHJlZ2lzdGVyIGJpdHMuICovCi0jZGVmaW5lIEdBUlRFTgkJKDE8PDApCi0jZGVmaW5lIERJU0dBUlRDUFUJKDE8PDQpCi0jZGVmaW5lIERJU0dBUlRJTwkoMTw8NSkKLQotLyogR0FSVCBjYWNoZSBjb250cm9sIHJlZ2lzdGVyIGJpdHMuICovCi0jZGVmaW5lIElOVkdBUlQJCSgxPDwwKQotI2RlZmluZSBHQVJUUFRFRVJSCSgxPDwxKQotCi0vKiBLOCBPbi1jcHUgR0FSVCByZWdpc3RlcnMgKi8KLSNkZWZpbmUgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMCTB4OTAKLSNkZWZpbmUgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRQkweDk0Ci0jZGVmaW5lIEFNRDY0X0dBUlRUQUJMRUJBU0UJMHg5OAotI2RlZmluZSBBTUQ2NF9HQVJUQ0FDSEVDVEwJMHg5YwotI2RlZmluZSBBTUQ2NF9HQVJURU4JCSgxPDwwKQotCiAvKiBOVklESUEgSzggcmVnaXN0ZXJzICovCiAjZGVmaW5lIE5WSURJQV9YODZfNjRfMF9BUEJBU0UJCTB4MTAKICNkZWZpbmUgTlZJRElBX1g4Nl82NF8xX0FQQkFTRTEJCTB4NTAKQEAgLTE2NSwyOSArMTQ2LDE4IEBACiAgKiBJbiBhIG11bHRpcHJvY2Vzc29yIHg4Ni02NCBzeXN0ZW0sIHRoaXMgZnVuY3Rpb24gZ2V0cwogICogY2FsbGVkIG9uY2UgZm9yIGVhY2ggQ1BVLgogICovCi1zdGF0aWMgdTY0IGFtZDY0X2NvbmZpZ3VyZSAoc3RydWN0IHBjaV9kZXYgKmhhbW1lciwgdTY0IGdhdHRfdGFibGUpCitzdGF0aWMgdTY0IGFtZDY0X2NvbmZpZ3VyZShzdHJ1Y3QgcGNpX2RldiAqaGFtbWVyLCB1NjQgZ2F0dF90YWJsZSkKIHsKIAl1NjQgYXBlcnR1cmViYXNlOwogCXUzMiB0bXA7Ci0JdTY0IGFkZHIsIGFwZXJfYmFzZTsKKwl1NjQgYXBlcl9iYXNlOwogCiAJLyogQWRkcmVzcyB0byBtYXAgdG8gKi8KLQlwY2lfcmVhZF9jb25maWdfZHdvcmQgKGhhbW1lciwgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgJnRtcCk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGhhbW1lciwgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgJnRtcCk7CiAJYXBlcnR1cmViYXNlID0gdG1wIDw8IDI1OwogCWFwZXJfYmFzZSA9IChhcGVydHVyZWJhc2UgJiBQQ0lfQkFTRV9BRERSRVNTX01FTV9NQVNLKTsKIAotCS8qIGFkZHJlc3Mgb2YgdGhlIG1hcHBpbmdzIHRhYmxlICovCi0JYWRkciA9ICh1NjQpIGdhdHRfdGFibGU7Ci0JYWRkciA+Pj0gMTI7Ci0JdG1wID0gKHUzMikgYWRkcjw8NDsKLQl0bXAgJj0gfjB4ZjsKLQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkIChoYW1tZXIsIEFNRDY0X0dBUlRUQUJMRUJBU0UsIHRtcCk7Ci0KLQkvKiBFbmFibGUgR0FSVCB0cmFuc2xhdGlvbiBmb3IgdGhpcyBoYW1tZXIuICovCi0JcGNpX3JlYWRfY29uZmlnX2R3b3JkKGhhbW1lciwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCAmdG1wKTsKLQl0bXAgfD0gR0FSVEVOOwotCXRtcCAmPSB+KERJU0dBUlRDUFUgfCBESVNHQVJUSU8pOwotCXBjaV93cml0ZV9jb25maWdfZHdvcmQoaGFtbWVyLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsIHRtcCk7CisJZW5hYmxlX2dhcnRfdHJhbnNsYXRpb24oaGFtbWVyLCBnYXR0X3RhYmxlKTsKIAogCXJldHVybiBhcGVyX2Jhc2U7CiB9CkBAIC0yMjYsOSArMTk2LDkgQEAKICAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV9rOF9ub3J0aGJyaWRnZXM7IGkrKykgewogCQlzdHJ1Y3QgcGNpX2RldiAqZGV2ID0gazhfbm9ydGhicmlkZ2VzW2ldOwogCQkvKiBkaXNhYmxlIGdhcnQgdHJhbnNsYXRpb24gKi8KLQkJcGNpX3JlYWRfY29uZmlnX2R3b3JkIChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgJnRtcCk7CisJCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgJnRtcCk7CiAJCXRtcCAmPSB+QU1ENjRfR0FSVEVOOwotCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkIChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgdG1wKTsKKwkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgdG1wKTsKIAl9CiB9CiAKQEAgLTI1OCwyNCArMjI4LDEwIEBACiB9OwogCiAvKiBTb21lIGJhc2ljIHNhbml0eSBjaGVja3MgZm9yIHRoZSBhcGVydHVyZS4gKi8KLXN0YXRpYyBpbnQgX19kZXZpbml0IGFwZXJ0dXJlX3ZhbGlkKHU2NCBhcGVyLCB1MzIgc2l6ZSkKK3N0YXRpYyBpbnQgX19kZXZpbml0IGFncF9hcGVydHVyZV92YWxpZCh1NjQgYXBlciwgdTMyIHNpemUpCiB7Ci0JaWYgKGFwZXIgPT0gMCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJObyBhcGVydHVyZVxuIik7CisJaWYgKCFhcGVydHVyZV92YWxpZChhcGVyLCBzaXplLCAzMioxMDI0KjEwMjQpKQogCQlyZXR1cm4gMDsKLQl9Ci0JaWYgKHNpemUgPCAzMioxMDI0KjEwMjQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiQXBlcnR1cmUgdG9vIHNtYWxsICglZCBNQilcbiIsIHNpemU+PjIwKTsKLQkJcmV0dXJuIDA7Ci0JfQotICAgICAgIGlmICgodTY0KWFwZXIgKyBzaXplID4gMHgxMDAwMDAwMDBVTEwpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiQXBlcnR1cmUgb3V0IG9mIGJvdW5kc1xuIik7Ci0JCXJldHVybiAwOwotCX0KLQlpZiAoZTgyMF9hbnlfbWFwcGVkKGFwZXIsIGFwZXIgKyBzaXplLCBFODIwX1JBTSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiQXBlcnR1cmUgcG9pbnRpbmcgdG8gUkFNXG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQogCiAJLyogUmVxdWVzdCB0aGUgQXBlcnR1cmUuIFRoaXMgY2F0Y2hlcyBjYXNlcyB3aGVuIHNvbWVvbmUgZWxzZQogCSAgIGFscmVhZHkgcHV0IGEgbWFwcGluZyBpbiB0aGVyZSAtIGhhcHBlbnMgd2l0aCBzb21lIHZlcnkgYnJva2VuIEJJT1MKQEAgLTMwOCwxMSArMjY0LDExIEBACiAJdTMyIG5iX29yZGVyLCBuYl9iYXNlOwogCXUxNiBhcHNpemU7CiAKLQlwY2lfcmVhZF9jb25maWdfZHdvcmQobmIsIDB4OTAsICZuYl9vcmRlcik7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKG5iLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsICZuYl9vcmRlcik7CiAJbmJfb3JkZXIgPSAobmJfb3JkZXIgPj4gMSkgJiA3OwotCXBjaV9yZWFkX2NvbmZpZ19kd29yZChuYiwgMHg5NCwgJm5iX2Jhc2UpOworCXBjaV9yZWFkX2NvbmZpZ19kd29yZChuYiwgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgJm5iX2Jhc2UpOwogCW5iX2FwZXIgPSBuYl9iYXNlIDw8IDI1OwotCWlmIChhcGVydHVyZV92YWxpZChuYl9hcGVyLCAoMzIqMTAyNCoxMDI0KTw8bmJfb3JkZXIpKSB7CisJaWYgKGFncF9hcGVydHVyZV92YWxpZChuYl9hcGVyLCAoMzIqMTAyNCoxMDI0KTw8bmJfb3JkZXIpKSB7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMzMxLDEyICsyODcsMjMgQEAKIAlwY2lfcmVhZF9jb25maWdfZHdvcmQoYWdwLCAweDEwLCAmYXBlcl9sb3cpOwogCXBjaV9yZWFkX2NvbmZpZ19kd29yZChhZ3AsIDB4MTQsICZhcGVyX2hpKTsKIAlhcGVyID0gKGFwZXJfbG93ICYgfigoMTw8MjIpLTEpKSB8ICgodTY0KWFwZXJfaGkgPDwgMzIpOworCisJLyoKKwkgKiBPbiBzb21lIHNpY2sgY2hpcHMgQVBTSVpFIGlzIDAuIFRoaXMgbWVhbnMgaXQgd2FudHMgNEcKKwkgKiBzbyBsZXQgZG91YmxlIGNoZWNrIHRoYXQgb3JkZXIsIGFuZCBsZXRzIHRydXN0IHRoZSBBTUQgTkIgc2V0dGluZ3MKKwkgKi8KKwlpZiAob3JkZXIgPj0wICYmIGFwZXIgKyAoMzJVTEw8PCgyMCArIG9yZGVyKSkgPiAweDEwMDAwMDAwMFVMTCkgeworCQlwcmludGsoS0VSTl9JTkZPICJBcGVydHVyZSBzaXplICV1IE1CIGlzIG5vdCByaWdodCwgdXNpbmcgc2V0dGluZ3MgZnJvbSBOQlxuIiwKKwkJCQkgIDMyIDw8IG9yZGVyKTsKKwkJb3JkZXIgPSBuYl9vcmRlcjsKKwl9CisKIAlwcmludGsoS0VSTl9JTkZPIFBGWCAiQXBlcnR1cmUgZnJvbSBBR1AgQCAlTHggc2l6ZSAldSBNQlxuIiwgYXBlciwgMzIgPDwgb3JkZXIpOwotCWlmIChvcmRlciA8IDAgfHwgIWFwZXJ0dXJlX3ZhbGlkKGFwZXIsICgzMioxMDI0KjEwMjQpPDxvcmRlcikpCisJaWYgKG9yZGVyIDwgMCB8fCAhYWdwX2FwZXJ0dXJlX3ZhbGlkKGFwZXIsICgzMioxMDI0KjEwMjQpPDxvcmRlcikpCiAJCXJldHVybiAtMTsKIAotCXBjaV93cml0ZV9jb25maWdfZHdvcmQobmIsIDB4OTAsIG9yZGVyIDw8IDEpOwotCXBjaV93cml0ZV9jb25maWdfZHdvcmQobmIsIDB4OTQsIGFwZXIgPj4gMjUpOworCXBjaV93cml0ZV9jb25maWdfZHdvcmQobmIsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgb3JkZXIgPDwgMSk7CisJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChuYiwgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgYXBlciA+PiAyNSk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvZnJvbnRlbmQuYyBiL2RyaXZlcnMvY2hhci9hZ3AvZnJvbnRlbmQuYwppbmRleCBlNmNiMWFiLi5hOTZmMzE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvYWdwL2Zyb250ZW5kLmMKKysrIGIvZHJpdmVycy9jaGFyL2FncC9mcm9udGVuZC5jCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSAiYWdwLmgiCkBAIC02NzcsNiArNjc4LDcgQEAKIAlzdHJ1Y3QgYWdwX2NsaWVudCAqY2xpZW50OwogCWludCByYyA9IC1FTlhJTzsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmKGFncF9mZS5hZ3BfbXV0ZXgpKTsKIAogCWlmIChtaW5vciAhPSBBR1BHQVJUX01JTk9SKQpAQCAtNzAzLDEyICs3MDUsMTQgQEAKIAlhZ3BfaW5zZXJ0X2ZpbGVfcHJpdmF0ZShwcml2KTsKIAlEQkcoInByaXZhdGU9JXAsIGNsaWVudD0lcCIsIHByaXYsIGNsaWVudCk7CiAJbXV0ZXhfdW5sb2NrKCYoYWdwX2ZlLmFncF9tdXRleCkpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogZXJyX291dF9ub21lbToKIAlyYyA9IC1FTk9NRU07CiBlcnJfb3V0OgogCW11dGV4X3VubG9jaygmKGFncF9mZS5hZ3BfbXV0ZXgpKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvYWdwL2dlbmVyaWMuYyBiL2RyaXZlcnMvY2hhci9hZ3AvZ2VuZXJpYy5jCmluZGV4IDU2NGRhYWEuLmVhYTFhMzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9hZ3AvZ2VuZXJpYy5jCisrKyBiL2RyaXZlcnMvY2hhci9hZ3AvZ2VuZXJpYy5jCkBAIC0xMjQ5LDcgKzEyNDksNyBAQAogCiB2b2lkIGdsb2JhbF9jYWNoZV9mbHVzaCh2b2lkKQogewotCWlmIChvbl9lYWNoX2NwdShpcGlfaGFuZGxlciwgTlVMTCwgMSwgMSkgIT0gMCkKKwlpZiAob25fZWFjaF9jcHUoaXBpX2hhbmRsZXIsIE5VTEwsIDEpICE9IDApCiAJCXBhbmljKFBGWCAidGltZWQgb3V0IHdhaXRpbmcgZm9yIHRoZSBvdGhlciBDUFVzIVxuIik7CiB9CiBFWFBPUlRfU1lNQk9MKGdsb2JhbF9jYWNoZV9mbHVzaCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvYXBtLWVtdWxhdGlvbi5jIGIvZHJpdmVycy9jaGFyL2FwbS1lbXVsYXRpb24uYwppbmRleCBjZGQ4NzZkLi5kYThhMTY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvYXBtLWVtdWxhdGlvbi5jCisrKyBiL2RyaXZlcnMvY2hhci9hcG0tZW11bGF0aW9uLmMKQEAgLTEzLDYgKzEzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtNDE2LDYgKzQxNyw3IEBACiB7CiAJc3RydWN0IGFwbV91c2VyICphczsKIAorCWxvY2tfa2VybmVsKCk7CiAJYXMgPSBremFsbG9jKHNpemVvZigqYXMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoYXMpIHsKIAkJLyoKQEAgLTQzNSw2ICs0MzcsNyBAQAogCiAJCWZpbHAtPnByaXZhdGVfZGF0YSA9IGFzOwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gYXMgPyAwIDogLUVOT01FTTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9icmlxX3BhbmVsLmMgYi9kcml2ZXJzL2NoYXIvYnJpcV9wYW5lbC5jCmluZGV4IGI2ZjI2MzkuLmQ4Y2ZmOTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9icmlxX3BhbmVsLmMKKysrIGIvZHJpdmVycy9jaGFyL2JyaXFfcGFuZWwuYwpAQCAtNiw2ICs2LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvdHR5Lmg+CkBAIC02NywxMSArNjgsMTUgQEAKIAogc3RhdGljIGludCBicmlxX3BhbmVsX29wZW4oc3RydWN0IGlub2RlICppbm8sIHN0cnVjdCBmaWxlICpmaWxlcCkKIHsKLQkvKiBlbmZvcmNlIHNpbmdsZSBhY2Nlc3MgKi8KLQlpZiAodmZkX2lzX29wZW4pCisJbG9ja19rZXJuZWwoKTsKKwkvKiBlbmZvcmNlIHNpbmdsZSBhY2Nlc3MsIHZmZF9pc19vcGVuIGlzIHByb3RlY3RlZCBieSBCS0wgKi8KKwlpZiAodmZkX2lzX29wZW4pIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOworCX0KIAl2ZmRfaXNfb3BlbiA9IDE7CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9jczU1MzVfZ3Bpby5jIGIvZHJpdmVycy9jaGFyL2NzNTUzNV9ncGlvLmMKaW5kZXggYzBhNGEwYi4uMDRiYTkwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2NzNTUzNV9ncGlvLmMKKysrIGIvZHJpdmVycy9jaGFyL2NzNTUzNV9ncGlvLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCkBAIC0xNTcsNiArMTU4LDcgQEAKIHsKIAl1MzIgbSA9IGltaW5vcihpbm9kZSk7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCS8qIHRoZSBtYXNrIHNheXMgd2hpY2ggcGlucyBhcmUgdXNhYmxlIGJ5IHRoaXMgZHJpdmVyICovCiAJaWYgKChtYXNrICYgKDEgPDwgbSkpID09IDApCiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2N5Y2xhZGVzLmMgYi9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYwppbmRleCBlZjczZTcyLi42YmZmOWQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYworKysgYi9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYwpAQCAtNDY2OCw3ICs0NjY4LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIF9fZGV2aW5pdCBjeXpfZnBnYV9jb3B5KHZvaWQgX19pb21lbSAqZnBnYSwgdTggKmRhdGEsCitzdGF0aWMgaW5saW5lIHZvaWQgX19kZXZpbml0IGN5el9mcGdhX2NvcHkodm9pZCBfX2lvbWVtICpmcGdhLCBjb25zdCB1OCAqZGF0YSwKIAkJdW5zaWduZWQgaW50IHNpemUpCiB7CiAJZm9yICg7IHNpemUgPiAwOyBzaXplLS0pIHsKQEAgLTQ3MDEsMTAgKzQ3MDEsMTAgQEAKIAkJY29uc3QgY2hhciAqbmFtZSwgY29uc3QgdTMyIG1haWxib3gsIHZvaWQgX19pb21lbSAqYmFzZSwKIAkJdm9pZCBfX2lvbWVtICpmcGdhKQogewotCXZvaWQgKnB0ciA9IGZ3LT5kYXRhOwotCXN0cnVjdCB6ZmlsZV9oZWFkZXIgKmggPSBwdHI7Ci0Jc3RydWN0IHpmaWxlX2NvbmZpZyAqYywgKmNzOwotCXN0cnVjdCB6ZmlsZV9ibG9jayAqYiwgKmJzOworCWNvbnN0IHZvaWQgKnB0ciA9IGZ3LT5kYXRhOworCWNvbnN0IHN0cnVjdCB6ZmlsZV9oZWFkZXIgKmggPSBwdHI7CisJY29uc3Qgc3RydWN0IHpmaWxlX2NvbmZpZyAqYywgKmNzOworCWNvbnN0IHN0cnVjdCB6ZmlsZV9ibG9jayAqYiwgKmJzOwogCXVuc2lnbmVkIGludCBhLCB0bXAsIGxlbiA9IGZ3LT5zaXplOwogI2RlZmluZSBCQURfRlcgS0VSTl9FUlIgIkJhZCBmaXJtd2FyZTogIgogCWlmIChsZW4gPCBzaXplb2YoKmgpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL01ha2VmaWxlIGIvZHJpdmVycy9jaGFyL2RybS9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTI4M2RlZC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2NoYXIvZHJtL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotIwotIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCi0jIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgotCi1kcm0tb2JqcyAgICA6PQlkcm1fYXV0aC5vIGRybV9idWZzLm8gZHJtX2NvbnRleHQubyBkcm1fZG1hLm8gZHJtX2RyYXdhYmxlLm8gXAotCQlkcm1fZHJ2Lm8gZHJtX2ZvcHMubyBkcm1faW9jdGwubyBkcm1faXJxLm8gXAotCQlkcm1fbG9jay5vIGRybV9tZW1vcnkubyBkcm1fcHJvYy5vIGRybV9zdHViLm8gZHJtX3ZtLm8gXAotCQlkcm1fYWdwc3VwcG9ydC5vIGRybV9zY2F0dGVyLm8gYXRpX3BjaWdhcnQubyBkcm1fcGNpLm8gXAotCQlkcm1fc3lzZnMubyBkcm1faGFzaHRhYi5vIGRybV9zbWFuLm8gZHJtX21tLm8KLQotdGRmeC1vYmpzICAgOj0gdGRmeF9kcnYubwotcjEyOC1vYmpzICAgOj0gcjEyOF9kcnYubyByMTI4X2NjZS5vIHIxMjhfc3RhdGUubyByMTI4X2lycS5vCi1tZ2Etb2JqcyAgICA6PSBtZ2FfZHJ2Lm8gbWdhX2RtYS5vIG1nYV9zdGF0ZS5vIG1nYV93YXJwLm8gbWdhX2lycS5vCi1pODEwLW9ianMgICA6PSBpODEwX2Rydi5vIGk4MTBfZG1hLm8KLWk4MzAtb2JqcyAgIDo9IGk4MzBfZHJ2Lm8gaTgzMF9kbWEubyBpODMwX2lycS5vCi1pOTE1LW9ianMgICA6PSBpOTE1X2Rydi5vIGk5MTVfZG1hLm8gaTkxNV9pcnEubyBpOTE1X21lbS5vCi1yYWRlb24tb2JqcyA6PSByYWRlb25fZHJ2Lm8gcmFkZW9uX2NwLm8gcmFkZW9uX3N0YXRlLm8gcmFkZW9uX21lbS5vIHJhZGVvbl9pcnEubyByMzAwX2NtZGJ1Zi5vCi1zaXMtb2JqcyAgICA6PSBzaXNfZHJ2Lm8gc2lzX21tLm8KLXNhdmFnZS1vYmpzIDo9IHNhdmFnZV9kcnYubyBzYXZhZ2VfYmNpLm8gc2F2YWdlX3N0YXRlLm8KLXZpYS1vYmpzICAgIDo9IHZpYV9pcnEubyB2aWFfZHJ2Lm8gdmlhX21hcC5vIHZpYV9tbS5vIHZpYV9kbWEubyB2aWFfdmVyaWZpZXIubyB2aWFfdmlkZW8ubyB2aWFfZG1hYmxpdC5vCi0KLWlmZXEgKCQoQ09ORklHX0NPTVBBVCkseSkKLWRybS1vYmpzICAgICs9IGRybV9pb2MzMi5vCi1yYWRlb24tb2JqcyArPSByYWRlb25faW9jMzIubwotbWdhLW9ianMgICAgKz0gbWdhX2lvYzMyLm8KLXIxMjgtb2JqcyAgICs9IHIxMjhfaW9jMzIubwotaTkxNS1vYmpzICAgKz0gaTkxNV9pb2MzMi5vCi1lbmRpZgotCi1vYmotJChDT05GSUdfRFJNKQkrPSBkcm0ubwotb2JqLSQoQ09ORklHX0RSTV9UREZYKQkrPSB0ZGZ4Lm8KLW9iai0kKENPTkZJR19EUk1fUjEyOCkJKz0gcjEyOC5vCi1vYmotJChDT05GSUdfRFJNX1JBREVPTikrPSByYWRlb24ubwotb2JqLSQoQ09ORklHX0RSTV9NR0EpCSs9IG1nYS5vCi1vYmotJChDT05GSUdfRFJNX0k4MTApCSs9IGk4MTAubwotb2JqLSQoQ09ORklHX0RSTV9JODMwKQkrPSBpODMwLm8KLW9iai0kKENPTkZJR19EUk1fSTkxNSkgICs9IGk5MTUubwotb2JqLSQoQ09ORklHX0RSTV9TSVMpICAgKz0gc2lzLm8KLW9iai0kKENPTkZJR19EUk1fU0FWQUdFKSs9IHNhdmFnZS5vCi1vYmotJChDT05GSUdfRFJNX1ZJQSkJKz12aWEubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RzMTI4Ni5jIGIvZHJpdmVycy9jaGFyL2RzMTI4Ni5jCmluZGV4IGVhMzVhYjIuLmZiNTg0OTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kczEyODYuYworKysgYi9kcml2ZXJzL2NoYXIvZHMxMjg2LmMKQEAgLTI3LDYgKzI3LDcgQEAKICAqIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKi8KICNpbmNsdWRlIDxsaW51eC9kczEyODYuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC0yNTIsNiArMjUzLDcgQEAKIAogc3RhdGljIGludCBkczEyODZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnEoJmRzMTI4Nl9sb2NrKTsKIAogCWlmIChkczEyODZfc3RhdHVzICYgUlRDX0lTX09QRU4pCkBAIC0yNjAsMTAgKzI2MiwxMiBAQAogCWRzMTI4Nl9zdGF0dXMgfD0gUlRDX0lTX09QRU47CiAKIAlzcGluX3VubG9ja19pcnEoJmRzMTI4Nl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dF9idXN5OgogCXNwaW5fbG9ja19pcnEoJmRzMTI4Nl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FQlVTWTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RzMTYyMC5jIGIvZHJpdmVycy9jaGFyL2RzMTYyMC5jCmluZGV4IDMzNGFkNWIuLjM0Mjc1YzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kczE2MjAuYworKysgYi9kcml2ZXJzL2NoYXIvZHMxNjIwLmMKQEAgLTgsNiArOCw3IEBACiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CkBAIC0yMDgsNiArMjA5LDEyIEBACiAJdGhlcm0tPmhpID0gY3Z0XzlfdG9faW50KGRzMTYyMF9pbihUSEVSTV9SRUFEX1RILCA5KSk7CiB9CiAKK3N0YXRpYyBpbnQgZHMxNjIwX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKKwlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7Cit9CisKIHN0YXRpYyBzc2l6ZV90CiBkczE2MjBfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnB0cikKIHsKQEAgLTMzNiw3ICszNDMsNyBAQAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBkczE2MjBfZm9wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLm9wZW4JCT0gbm9uc2Vla2FibGVfb3BlbiwKKwkub3BlbgkJPSBkczE2MjBfb3BlbiwKIAkucmVhZAkJPSBkczE2MjBfcmVhZCwKIAkuaW9jdGwJCT0gZHMxNjIwX2lvY3RsLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kc3A1NmsuYyBiL2RyaXZlcnMvY2hhci9kc3A1NmsuYwppbmRleCBhNjljNjUyLi5iOWEzMGMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHNwNTZrLmMKKysrIGIvZHJpdmVycy9jaGFyL2RzcDU2ay5jCkBAIC0zMyw2ICszMyw5IEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogCiAjaW5jbHVkZSA8YXNtL2F0YXJpaHcuaD4KICNpbmNsdWRlIDxhc20vdHJhcHMuaD4KQEAgLTkyLDQ5ICs5NSw2IEBACiAJfSBcCiB9CiAKLS8qIERTUDU2MDAxIGJvb3RzdHJhcCBjb2RlICovCi1zdGF0aWMgY2hhciBib290c3RyYXBbXSA9IHsKLQkweDBjLCAweDAwLCAweDQwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4NjAsIDB4ZjQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NGYsIDB4NjEsIDB4ZjQsCi0JMHgwMCwgMHgwMCwgMHg3ZSwgMHhhOSwgMHgwNiwgMHgyZSwgMHg4MCwgMHgwMCwgMHgwMCwgMHg0NywKLQkweDA3LCAweGQ4LCAweDg0LCAweDA3LCAweDU5LCAweDg0LCAweDA4LCAweGY0LCAweGE4LCAweDAwLAotCTB4MDAsIDB4MDQsIDB4MDgsIDB4ZjQsIDB4YmYsIDB4MDAsIDB4MGMsIDB4MDAsIDB4MDAsIDB4ZmUsCi0JMHhiOCwgMHgwYSwgMHhmMCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhhOSwgMHgwOCwgMHhmNCwgMHhhMCwKLQkweDAwLCAweDAwLCAweDAxLCAweDA4LCAweGY0LCAweGJlLCAweDAwLCAweDAwLCAweDAwLCAweDBhLAotCTB4YTksIDB4ODAsIDB4MDAsIDB4N2UsIDB4YWQsIDB4MDgsIDB4NGUsIDB4MmIsIDB4NDQsIDB4ZjQsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHg0NCwgMHhmNCwgMHg0NSwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDBlLCAweGEwLCAweDAwLCAweDBhLCAweGE5LCAweDgwLCAweDAwLCAweDdlLCAweGI1LCAweDA4LAotCTB4NTAsIDB4MmIsIDB4MGEsIDB4YTksIDB4ODAsIDB4MDAsIDB4N2UsIDB4YjgsIDB4MDgsIDB4NDYsCi0JMHgyYiwgMHg0NCwgMHhmNCwgMHg0NSwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmMCwgMHhhYSwKLQkweDAwLCAweDdlLCAweGM5LCAweDIwLCAweDAwLCAweDQ1LCAweDBhLCAweGYwLCAweGFhLCAweDAwLAotCTB4N2UsIDB4ZDAsIDB4MDYsIDB4YzYsIDB4MDAsIDB4MDAsIDB4N2UsIDB4YzYsIDB4MGEsIDB4YTksCi0JMHg4MCwgMHgwMCwgMHg3ZSwgMHhjNCwgMHgwOCwgMHg1OCwgMHg2YiwgMHgwYSwgMHhmMCwgMHg4MCwKLQkweDAwLCAweDdlLCAweGFkLCAweDA2LCAweGM2LCAweDAwLCAweDAwLCAweDdlLCAweGNkLCAweDBhLAotCTB4YTksIDB4ODAsIDB4MDAsIDB4N2UsIDB4Y2IsIDB4MDgsIDB4NTgsIDB4YWIsIDB4MGEsIDB4ZjAsCi0JMHg4MCwgMHgwMCwgMHg3ZSwgMHhhZCwgMHgwNiwgMHhjNiwgMHgwMCwgMHgwMCwgMHg3ZSwgMHhkNCwKLQkweDBhLCAweGE5LCAweDgwLCAweDAwLCAweDdlLCAweGQyLCAweDA4LCAweDU4LCAweGViLCAweDBhLAotCTB4ZjAsIDB4ODAsIDB4MDAsIDB4N2UsIDB4YWR9Owotc3RhdGljIGludCBzaXplb2ZfYm9vdHN0cmFwID0gMzc1OwotCi0KIHN0YXRpYyBzdHJ1Y3QgZHNwNTZrX2RldmljZSB7CiAJdW5zaWduZWQgbG9uZyBpbl91c2U7CiAJbG9uZyBtYXhpbywgdGltZW91dDsKQEAgLTE2NCwxOCArMTI0LDQwIEBACiAKIHN0YXRpYyBpbnQgZHNwNTZrX3VwbG9hZCh1X2NoYXIgX191c2VyICpiaW4sIGludCBsZW4pCiB7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCWNvbnN0IGNoYXIgZndfbmFtZVtdID0gImRzcDU2ay9ib290c3RyYXAuYmluIjsKKwlpbnQgZXJyOwogCWludCBpOwotCXVfY2hhciAqcDsKLQkKKwogCWRzcDU2a19yZXNldCgpOwotICAKLQlwID0gYm9vdHN0cmFwOwotCWZvciAoaSA9IDA7IGkgPCBzaXplb2ZfYm9vdHN0cmFwLzM7IGkrKykgewotCQkvKiB0eF93YWl0KDEwKTsgKi8KLQkJZHNwNTZrX2hvc3RfaW50ZXJmYWNlLmRhdGEuYlsxXSA9ICpwKys7Ci0JCWRzcDU2a19ob3N0X2ludGVyZmFjZS5kYXRhLmJbMl0gPSAqcCsrOwotCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzNdID0gKnArKzsKKworCXBkZXYgPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfc2ltcGxlKCJkc3A1NmsiLCAwLCBOVUxMLCAwKTsKKwlpZiAoSVNfRVJSKHBkZXYpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHJlZ2lzdGVyIGRldmljZSBmb3IgXCIlc1wiXG4iLAorCQkgICAgICAgZndfbmFtZSk7CisJCXJldHVybiAtRUlOVkFMOwogCX0KKwllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgJnBkZXYtPmRldik7CisJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIocGRldik7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIGltYWdlIFwiJXNcIiBlcnIgJWRcbiIsCisJCSAgICAgICBmd19uYW1lLCBlcnIpOworCQlyZXR1cm4gZXJyOworCX0KKwlpZiAoZnctPnNpemUgJSAzKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQm9ndXMgbGVuZ3RoICVkIGluIGltYWdlIFwiJXNcIlxuIiwKKwkJICAgICAgIGZ3LT5zaXplLCBmd19uYW1lKTsKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlmb3IgKGkgPSAwOyBpIDwgZnctPnNpemU7IGkgPSBpICsgMykgeworCQkvKiB0eF93YWl0KDEwKTsgKi8KKwkJZHNwNTZrX2hvc3RfaW50ZXJmYWNlLmRhdGEuYlsxXSA9IGZ3LT5kYXRhW2ldOworCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzJdID0gZnctPmRhdGFbaSArIDFdOworCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzNdID0gZnctPmRhdGFbaSArIDJdOworCX0KKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAlmb3IgKDsgaSA8IDUxMjsgaSsrKSB7CiAJCS8qIHR4X3dhaXQoMTApOyAqLwogCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzFdID0gMDsKQEAgLTQzNiwxMyArNDE4LDE3IEBACiBzdGF0aWMgaW50IGRzcDU2a19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCWludCBkZXYgPSBpbWlub3IoaW5vZGUpICYgMHgwZjsKKwlpbnQgcmV0ID0gMDsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3dpdGNoKGRldikKIAl7CiAJY2FzZSBEU1A1NktfREVWXzU2MDAxOgogCi0JCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZkc3A1NmsuaW5fdXNlKSkKLQkJCXJldHVybiAtRUJVU1k7CisJCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZkc3A1NmsuaW5fdXNlKSkgeworCQkJcmV0ID0gLUVCVVNZOworCQkJZ290byBvdXQ7CisJCX0KIAogCQlkc3A1NmsudGltZW91dCA9IFRJTUVPVVQ7CiAJCWRzcDU2ay5tYXhpbyA9IE1BWElPOwpAQCAtNDU4LDEwICs0NDQsMTEgQEAKIAkJYnJlYWs7CiAKIAlkZWZhdWx0OgotCQlyZXR1cm4gLUVOT0RFVjsKKwkJcmV0ID0gLUVOT0RFVjsKIAl9Ci0KLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBkc3A1NmtfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKQEAgLTUzNCwzICs1MjEsNCBAQAogbW9kdWxlX2V4aXQoZHNwNTZrX2NsZWFudXBfZHJpdmVyKTsKIAogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0ZJUk1XQVJFKCJkc3A1NmsvYm9vdHN0cmFwLmJpbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2R0bGsuYyBiL2RyaXZlcnMvY2hhci9kdGxrLmMKaW5kZXggYWJkZTZkZC4uNmI5MDBiMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2R0bGsuYworKysgYi9kcml2ZXJzL2NoYXIvZHRsay5jCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4JLyogZm9yIC1FQlVTWSAqLwogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgkvKiBmb3IgcmVxdWVzdF9yZWdpb24gKi8KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgkvKiBmb3IgbG9vcHNfcGVyX2ppZmZ5ICovCisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4JLyogY3ljbGVfa2VybmVsX2xvY2soKSAqLwogI2luY2x1ZGUgPGFzbS9pby5oPgkJLyogZm9yIGluYl9wLCBvdXRiX3AsIGluYiwgb3V0YiwgZXRjLiAqLwogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CS8qIGZvciBnZXRfdXNlciwgZXRjLiAqLwogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4JCS8qIGZvciB3YWl0X3F1ZXVlICovCkBAIC0yODgsMTAgKzI4OSwxMiBAQAogCX0KIH0KIAorLyogTm90ZSB0aGF0IG5vYm9keSBldmVyIHNldHMgZHRsa19idXN5Li4uICovCiBzdGF0aWMgaW50IGR0bGtfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlUUkFDRV9URVhUKCIoZHRsa19vcGVuIik7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCW5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOwogCXN3aXRjaCAoaW1pbm9yKGlub2RlKSkgewogCWNhc2UgRFRMS19NSU5PUjoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9lZmlydGMuYyBiL2RyaXZlcnMvY2hhci9lZmlydGMuYwppbmRleCA0OTIzM2Y1Li5kNTdjYTNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZWZpcnRjLmMKKysrIGIvZHJpdmVycy9jaGFyL2VmaXJ0Yy5jCkBAIC0yOCw2ICsyOCw3IEBACiAgKi8KIAogCisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtMjcyLDYgKzI3Myw3IEBACiAJICogV2UgZG8gYWNjZXB0IG11bHRpcGxlIG9wZW4gZmlsZXMgYXQgdGhlIHNhbWUgdGltZSBhcyB3ZQogCSAqIHN5bmNocm9uaXplIG9uIHRoZSBwZXIgY2FsbCBvcGVyYXRpb24uCiAJICovCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2dlbnJ0Yy5jIGIvZHJpdmVycy9jaGFyL2dlbnJ0Yy5jCmluZGV4IDY5ZjBhMjkuLmFhYzA5ODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9nZW5ydGMuYworKysgYi9kcml2ZXJzL2NoYXIvZ2VucnRjLmMKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KQEAgLTMzOCwxMiArMzM5LDE2IEBACiAKIHN0YXRpYyBpbnQgZ2VuX3J0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCWlmIChnZW5fcnRjX3N0YXR1cyAmIFJUQ19JU19PUEVOKQorCWxvY2tfa2VybmVsKCk7CisJaWYgKGdlbl9ydGNfc3RhdHVzICYgUlRDX0lTX09QRU4pIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOworCX0KIAogCWdlbl9ydGNfc3RhdHVzIHw9IFJUQ19JU19PUEVOOwogCWdlbl9ydGNfaXJxX2RhdGEgPSAwOwogCWlycV9hY3RpdmUgPSAwOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2hwZXQuYyBiL2RyaXZlcnMvY2hhci9ocGV0LmMKaW5kZXggZTdmYjBiYy4uZmIwYTg1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2hwZXQuYworKysgYi9kcml2ZXJzL2NoYXIvaHBldC5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgpAQCAtMTkzLDYgKzE5NCw3IEBACiAJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKQogCQlyZXR1cm4gLUVJTlZBTDsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrX2lycSgmaHBldF9sb2NrKTsKIAogCWZvciAoZGV2cCA9IE5VTEwsIGhwZXRwID0gaHBldHM7IGhwZXRwICYmICFkZXZwOyBocGV0cCA9IGhwZXRwLT5ocF9uZXh0KQpAQCAtMjA3LDYgKzIwOSw3IEBACiAKIAlpZiAoIWRldnApIHsKIAkJc3Bpbl91bmxvY2tfaXJxKCZocGV0X2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCkBAIC0yMTQsNiArMjE3LDcgQEAKIAlkZXZwLT5oZF9pcnFkYXRhID0gMDsKIAlkZXZwLT5oZF9mbGFncyB8PSBIUEVUX09QRU47CiAJc3Bpbl91bmxvY2tfaXJxKCZocGV0X2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2h2Y194ZW4uYyBiL2RyaXZlcnMvY2hhci9odmNfeGVuLmMKaW5kZXggZGQ2OGY4NS4uZGIyYWU0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2h2Y194ZW4uYworKysgYi9kcml2ZXJzL2NoYXIvaHZjX3hlbi5jCkBAIC0zOSw5ICszOSwxNCBAQAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAorc3RhdGljIHVuc2lnbmVkIGxvbmcgY29uc29sZV9wZm4gPSB+MHVsOworCiBzdGF0aWMgaW5saW5lIHN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqeGVuY29uc19pbnRlcmZhY2Uodm9pZCkKIHsKLQlyZXR1cm4gbWZuX3RvX3ZpcnQoeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4pOworCWlmIChjb25zb2xlX3BmbiA9PSB+MHVsKQorCQlyZXR1cm4gbWZuX3RvX3ZpcnQoeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4pOworCWVsc2UKKwkJcmV0dXJuIF9fdmEoY29uc29sZV9wZm4gPDwgUEFHRV9TSElGVCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBub3RpZnlfZGFlbW9uKHZvaWQpCkBAIC0xMDEsMjAgKzEwNiwzMiBAQAogewogCXN0cnVjdCBodmNfc3RydWN0ICpocDsKIAotCWlmICghaXNfcnVubmluZ19vbl94ZW4oKSkKLQkJcmV0dXJuIDA7CisJaWYgKCFpc19ydW5uaW5nX29uX3hlbigpIHx8CisJICAgIGlzX2luaXRpYWxfeGVuZG9tYWluKCkgfHwKKwkgICAgIXhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUuZXZ0Y2huKQorCQlyZXR1cm4gLUVOT0RFVjsKIAogCXhlbmNvbnNfaXJxID0gYmluZF9ldnRjaG5fdG9faXJxKHhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUuZXZ0Y2huKTsKIAlpZiAoeGVuY29uc19pcnEgPCAwKQotCQl4ZW5jb25zX2lycSA9IDAgLyogTk9fSVJRICovOworCQl4ZW5jb25zX2lycSA9IDA7IC8qIE5PX0lSUSAqLworCiAJaHAgPSBodmNfYWxsb2MoSFZDX0NPT0tJRSwgeGVuY29uc19pcnEsICZodmNfb3BzLCAyNTYpOwogCWlmIChJU19FUlIoaHApKQogCQlyZXR1cm4gUFRSX0VSUihocCk7CiAKIAlodmMgPSBocDsKKworCWNvbnNvbGVfcGZuID0gbWZuX3RvX3Bmbih4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CisKIAlyZXR1cm4gMDsKIH0KIAordm9pZCB4ZW5fY29uc29sZV9yZXN1bWUodm9pZCkKK3sKKwlpZiAoeGVuY29uc19pcnEpCisJCXJlYmluZF9ldnRjaG5faXJxKHhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUuZXZ0Y2huLCB4ZW5jb25zX2lycSk7Cit9CisKIHN0YXRpYyB2b2lkIF9fZXhpdCB4ZW5fZmluaSh2b2lkKQogewogCWlmIChodmMpCkBAIC0xMzQsMTIgKzE1MSwyOCBAQAogbW9kdWxlX2V4aXQoeGVuX2ZpbmkpOwogY29uc29sZV9pbml0Y2FsbCh4ZW5fY29uc19pbml0KTsKIAorc3RhdGljIHZvaWQgcmF3X2NvbnNvbGVfd3JpdGUoY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuKQoreworCXdoaWxlKGxlbiA+IDApIHsKKwkJaW50IHJjID0gSFlQRVJWSVNPUl9jb25zb2xlX2lvKENPTlNPTEVJT193cml0ZSwgbGVuLCAoY2hhciAqKXN0cik7CisJCWlmIChyYyA8PSAwKQorCQkJYnJlYWs7CisKKwkJc3RyICs9IHJjOworCQlsZW4gLT0gcmM7CisJfQorfQorCisjaWZkZWYgQ09ORklHX0VBUkxZX1BSSU5USwogc3RhdGljIHZvaWQgeGVuYm9vdF93cml0ZV9jb25zb2xlKHN0cnVjdCBjb25zb2xlICpjb25zb2xlLCBjb25zdCBjaGFyICpzdHJpbmcsCiAJCQkJICB1bnNpZ25lZCBsZW4pCiB7CiAJdW5zaWduZWQgaW50IGxpbmVsZW4sIG9mZiA9IDA7CiAJY29uc3QgY2hhciAqcG9zOwogCisJcmF3X2NvbnNvbGVfd3JpdGUoc3RyaW5nLCBsZW4pOworCisJd3JpdGVfY29uc29sZSgwLCAiKGVhcmx5KSAiLCA4KTsKIAl3aGlsZSAob2ZmIDwgbGVuICYmIE5VTEwgIT0gKHBvcyA9IHN0cmNocihzdHJpbmcrb2ZmLCAnXG4nKSkpIHsKIAkJbGluZWxlbiA9IHBvcy1zdHJpbmcrb2ZmOwogCQlpZiAob2ZmICsgbGluZWxlbiA+IGxlbikKQEAgLTE1NSw1ICsxODgsMjMgQEAKIHN0cnVjdCBjb25zb2xlIHhlbmJvb3RfY29uc29sZSA9IHsKIAkubmFtZQkJPSAieGVuYm9vdCIsCiAJLndyaXRlCQk9IHhlbmJvb3Rfd3JpdGVfY29uc29sZSwKLQkuZmxhZ3MJCT0gQ09OX1BSSU5UQlVGRkVSIHwgQ09OX0JPT1QsCisJLmZsYWdzCQk9IENPTl9QUklOVEJVRkZFUiB8IENPTl9CT09UIHwgQ09OX0FOWVRJTUUsCiB9OworI2VuZGlmCS8qIENPTkZJR19FQVJMWV9QUklOVEsgKi8KKwordm9pZCB4ZW5fcmF3X2NvbnNvbGVfd3JpdGUoY29uc3QgY2hhciAqc3RyKQoreworCXJhd19jb25zb2xlX3dyaXRlKHN0ciwgc3RybGVuKHN0cikpOworfQorCit2b2lkIHhlbl9yYXdfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXN0YXRpYyBjaGFyIGJ1Zls1MTJdOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwl2c25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKworCXhlbl9yYXdfY29uc29sZV93cml0ZShidWYpOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2h3X3JhbmRvbS9jb3JlLmMgYi9kcml2ZXJzL2NoYXIvaHdfcmFuZG9tL2NvcmUuYwppbmRleCA2NjJkNjBlLi5lNWQ1ODNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvaHdfcmFuZG9tL2NvcmUuYworKysgYi9kcml2ZXJzL2NoYXIvaHdfcmFuZG9tL2NvcmUuYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTg2LDYgKzg3LDcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAJaWYgKGZpbHAtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKQogCQlyZXR1cm4gLUVJTlZBTDsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXAyL2ZpcF9maXJtLmggYi9kcml2ZXJzL2NoYXIvaXAyL2ZpcF9maXJtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjNTI1ZmEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9jaGFyL2lwMi9maXBfZmlybS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjE0OSArMCwwIEBACi0vKiBmaXBfZmlybS5oIC0gSW50ZWxsaXBvcnQgSUkgbG9hZHdhcmUgKi8KLS8qIC0zMTIzMiBieXRlcyByZWFkIGZyb20gZmYubG9kICovCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGZpcF9maXJtW10gX19pbml0ZGF0YSA9IHsKLTB4M0MsMHg0MiwweDM3LDB4MTgsMHgwMiwweDAxLDB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDU3LDB4NjUsMHg2NCwweDIwLDB4NDQsMHg2NSwweDYzLDB4MjAsMHgzMCwweDMxLDB4MjAsMHgzMSwweDMyLDB4M0EsMHgzMiwweDM0LAotMHgzQSwweDMzLDB4MzAsMHgyMCwweDMxLDB4MzksMHgzOSwweDM5LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4RTksMHg2QywweDBGLDB4NDIsMHg2NSwweDQ3LDB4NjksMHg0RSwweDZFLDB4NDksMHg2RSwweDQ3LDB4MjAsMHg2RiwweDQ2LDB4MjAsCi0weDYzLDB4NEYsMHg2NCwweDQ1LDB4Q0MsMHgxMywweDVBLDB4MTUsMHhFOCwweDE2LDB4NzYsMHgxOCwweDA0LDB4MUEsMHg5MiwweDFCLAotMHgyMCwweDFELDB4QUUsMHgxRSwweDNDLDB4MjAsMHhDQSwweDIxLDB4NTgsMHgyMywweEU2LDB4MjQsMHg3NCwweDI2LDB4MDIsMHgyOCwKLTB4OTAsMHgyOSwweDFFLDB4MkIsMHhBQywweDJDLDB4M0EsMHgyRSwweEM4LDB4MkYsMHg1NiwweDMxLDB4RTQsMHgzMiwweDcyLDB4MzQsCi0weDAwLDB4MzYsMHg4RSwweDM3LDB4MUMsMHgzOSwweEFBLDB4M0EsMHgzOCwweDNDLDB4QzYsMHgzRCwweDU0LDB4M0YsMHhFMiwweDQwLAotMHg3MCwweDQyLDB4RkUsMHg0MywweDhDLDB4NDUsMHgxQSwweDQ3LDB4QTgsMHg0OCwweDM2LDB4NEEsMHhDNCwweDRCLDB4NTIsMHg0RCwKLTB4RTAsMHg0RSwweDZFLDB4NTAsMHhGQywweDUxLDB4OEEsMHg1MywweDE4LDB4NTUsMHhBNiwweDU2LDB4MzQsMHg1OCwweEMyLDB4NTksCi0weDUwLDB4NUIsMHhERSwweDVDLDB4NkMsMHg1RSwweEZBLDB4NUYsMHg4OCwweDYxLDB4MTYsMHg2MywweEE0LDB4NjQsMHgzMiwweDY2LAotMHhDMCwweDY3LDB4NEUsMHg2OSwweERDLDB4NkEsMHg2QSwweDZDLDB4RjgsMHg2RCwweDg2LDB4NkYsMHgxNCwweDcxLDB4QTIsMHg3MiwKLTB4MzAsMHg3NCwweEJFLDB4NzUsMHg0QywweDc3LDB4NkMsMHg3NywweDhDLDB4NzcsMHhBQywweDc3LDB4MzMsMHhEQiwweDhBLDB4REMsCi0weDUzLDB4MzMsMHhEQiwweDI1LDB4MDcsMHgwMCwweDc1LDB4MEEsMHg4QSwweDFFLDB4MDgsMHgwMSwweDgzLDB4RTMsMHgwQywweEVCLAotMHgyMCwweDkwLDB4M0MsMHgwMSwweDc1LDB4MEEsMHg4QSwweDFFLDB4MDgsMHgwMSwweDgwLDB4RTMsMHhDMCwweEVCLDB4MTIsMHg5MCwKLTB4OEEsMHgxRSwweDBELDB4MDEsMHgzQywweDAyLDB4NzUsMHgwNiwweDgwLDB4RTMsMHgwQywweEVCLDB4MDQsMHg5MCwweDgwLDB4RTMsCi0weEMwLDB4NTMsMHg1MCwweDhCLDB4MUUsMHhCQSwweDEzLDB4OEUsMHhEQiwweEU4LDB4NkEsMHg2NSwweDU1LDB4OEIsMHhFQywweDUzLAotMHgxRSwweDJCLDB4QzAsMHg4RSwweEQ4LDB4OEIsMHg1RSwweDA0LDB4QzEsMHhFMywweDA0LDB4MDMsMHg1RSwweDA2LDB4RDEsMHhFMywKLTB4MkUsMHg4QiwweDlGLDB4NDQsMHgwMCwweDhELDB4NDcsMHgyQSwweDFFLDB4NUEsMHgxRiwweDVCLDB4NUQsMHhDMywweDU1LDB4OEIsCi0weEVDLDB4NTMsMHgxRSwweDJCLDB4QzAsMHg4RSwweEQ4LDB4OEIsMHg1RSwweDA0LDB4QzEsMHhFMywweDA0LDB4MDMsMHg1RSwweDA2LAotMHhEMSwweEUzLDB4MkUsMHg4QiwweDlGLDB4NDQsMHgwMCwweDhELDB4NDcsMHgzNCwweDFFLDB4NUEsMHgxRiwweDVCLDB4NUQsMHhDMywKLTB4RkIsMHg1NSwweDhCLDB4RUMsMHg1MywweDUxLDB4NTIsMHg1NiwweDU3LDB4MUUsMHgwNiwweDFFLDB4MDcsMHgzMywweEMwLDB4OEUsCi0weEQ4LDB4OEIsMHg1RSwweDA0LDB4MjYsMHg4QSwweDQ3LDB4NTksMHgyNSwweDAzLDB4MDAsMHg4QiwweEYwLDB4RDEsMHhFNiwweDJFLAotMHg4QiwweEI0LDB4QzQsMHgwMCwweEMxLDB4RTAsMHgwNCwweDI2LDB4MDIsMHg0NywweDFBLDB4RDEsMHhFMCwweDhCLDB4RTgsMHgyRSwKLTB4OEIsMHhBRSwweDQ0LDB4MDAsMHg4OSwweDJDLDB4MjYsMHg4QSwweDQ3LDB4MUMsMHg4OCwweDQ0LDB4MEYsMHgyNiwweDhBLDB4NDcsCi0weDFELDB4ODgsMHg0NCwweDEwLDB4MjYsMHg4QSwweDQ3LDB4MUUsMHg4OCwweDQ0LDB4MTEsMHgyNiwweDhBLDB4NDcsMHgxRiwweDg4LAotMHg0NCwweDEyLDB4MjYsMHg4QSwweDQ3LDB4MjAsMHg4OCwweDQ0LDB4MTMsMHgyNiwweDhBLDB4NDcsMHgyMywweDg4LDB4NDQsMHgxNCwKLTB4MjYsMHg4QSwweDQ3LDB4MjQsMHg4OCwweDQ0LDB4MTUsMHgyNiwweDhBLDB4NDcsMHg1QSwweDg4LDB4NDQsMHgwRSwweDMzLDB4QzAsCi0weDg5LDB4NDQsMHgwNiwweDg5LDB4NDQsMHgwOCwweDg4LDB4NDQsMHgwQiwweDg4LDB4NDQsMHgwQSwweEIwLDB4MjEsMHhCNCwweDY0LAotMHg4OSwweDQ0LDB4MDQsMHg4OSwweDQ0LDB4MDIsMHhCMCwweDU1LDB4ODgsMHg0NCwweDBELDB4ODgsMHg0NCwweDBDLDB4RTgsMHg2QSwKLTB4MDAsMHg3MiwweDVCLDB4RTgsMHhDOSwweDAwLDB4RTgsMHhDMSwweDEwLDB4ODksMHg0NCwweDA4LDB4ODAsMHg3QywweDBGLDB4MDEsCi0weDc0LDB4MjksMHhFOCwweDJCLDB4MDIsMHhFOCwweDdGLDB4MDIsMHg4MCwweDdDLDB4MEYsMHgwMywweDc0LDB4MUQsMHhFOCwweEE5LAotMHgxMCwweDhCLDB4RjgsMHgyQiwweDQ0LDB4MDgsMHgzRCwweEEwLDB4MEYsMHg3MiwweDEwLDB4ODksMHg3QywweDA4LDB4MzMsMHhDMCwKLTB4ODcsMHg0NCwweDA2LDB4ODUsMHhDMCwweDc1LDB4MDQsMHhDNiwweDQ0LDB4MEEsMHhGRiwweDhBLDB4NDQsMHgwQSwweDg0LDB4QzAsCi0weDc1LDB4MEIsMHhCOCwweDA4LDB4MDAsMHhFOCwweDZBLDB4NEEsMHhFOCwweEE5LDB4MDEsMHg3MywweEJGLDB4RTgsMHg0RiwweDAxLAotMHg4MSwweDY2LDB4NDgsMHg3RiwweEZGLDB4ODMsMHg2NiwweDdBLDB4QkYsMHhCMCwweDAyLDB4RTgsMHgwNCwweDBFLDB4OEEsMHg0NCwKLTB4MEEsMHg5OCwweDA3LDB4MUYsMHg1RiwweDVFLDB4NUEsMHg1OSwweDVCLDB4NUQsMHhDMywweDgxLDB4NEUsMHg0OCwweDgwLDB4MDAsCi0weEIwLDB4NDAsMHhFOCwweDNELDB4NEEsMHhFOCwweDg5LDB4NDAsMHg3MywweDJBLDB4RTgsMHg0RCwweDEwLDB4OEIsMHhEOCwweEIwLAotMHgwNSwweEU4LDB4MkUsMHg0QSwweEY2LDB4NDYsMHgyNywweDAyLDB4NzUsMHgxQSwweEU4LDB4M0QsMHgxMCwweDJCLDB4QzMsMHgzRCwKLTB4NTgsMHgxQiwweDcyLDB4RUIsMHg4MSwweDY2LDB4NDgsMHg3RiwweEZGLDB4QjAsMHgwMiwweEU4LDB4QzQsMHgwRCwweEM2LDB4NDQsCi0weDBBLDB4MDEsMHhGOSwweEMzLDB4ODMsMHg0RSwweDdBLDB4NDAsMHhGOCwweEMzLDB4RkIsMHhCMCwweDAxLDB4RTgsMHgwMiwweDRBLAotMHhGQSwweEU4LDB4OTksMHgxRSwweEU0LDB4MEEsMHg4NCwweEMwLDB4NzUsMHhGMCwweEIwLDB4NEUsMHhFNiwweDBBLDB4RkIsMHhCMCwKLTB4MDEsMHhFOCwweEVFLDB4NDksMHhGQSwweEU4LDB4ODUsMHgxRSwweEU0LDB4MEEsMHg4NCwweEMwLDB4NzUsMHhGMCwweEMzLDB4RkEsCi0weEU4LDB4N0EsMHgxRSwweEU0LDB4RUMsMHg4OCwweDQ0LDB4MTYsMHhFNCwweEU0LDB4ODgsMHg0NCwweDE3LDB4RTQsMHhGOCwweDg4LAotMHg0NCwweDE4LDB4RTQsMHhGMCwweDg4LDB4NDQsMHgxOSwweEU0LDB4MTAsMHg4OCwweDQ0LDB4MUEsMHhFNCwweDEyLDB4ODgsMHg0NCwKLTB4MUIsMHhFNCwweDE0LDB4ODgsMHg0NCwweDFDLDB4RTQsMHgzNCwweDg4LDB4NDQsMHgxRCwweEU0LDB4MzYsMHg4OCwweDQ0LDB4MUUsCi0weEU0LDB4RDgsMHgyNCwweDAxLDB4OEEsMHhFMCwweEU0LDB4REEsMHgyNCwweDAyLDB4MEEsMHhDNCwweDg4LDB4NDQsMHgxRiwweDhBLAotMHg0NCwweDEwLDB4RTgsMHhDRCwweDFGLDB4OEEsMHg0NCwweDExLDB4RTgsMHgzNSwweDIxLDB4OEEsMHg0NCwweDEyLDB4RTgsMHg4OSwKLTB4MjEsMHg4QSwweDQ0LDB4MTMsMHhFOCwweDQzLDB4MjEsMHhDNiwweDg2LDB4QTEsMHgwMCwweDAwLDB4RTQsMHgxNCwweDI0LDB4MTAsCi0weEU2LDB4MTQsMHhFNCwweDEyLDB4MjQsMHgzRCwweEU2LDB4MTIsMHg4QSwweDQ0LDB4MTUsMHgzQywweDAxLDB4NzIsMHgxRSwweDc3LAotMHgxNiwweEIwLDB4MTEsMHhFNiwweDM0LDB4QjAsMHgxMywweEU2LDB4MzYsMHhFNCwweDE0LDB4MEMsMHgxMCwweEU2LDB4MTQsMHhFNCwKLTB4MTIsMHgwQywweDQwLDB4RTYsMHgxMiwweEVCLDB4MDYsMHhFNCwweDEyLDB4MEMsMHgwMiwweEU2LDB4MTIsMHg4QSwweDQ0LDB4MEYsCi0weDNDLDB4MDEsMHg3NCwweDA2LDB4M0MsMHgwMiwweDc0LDB4MEEsMHhFQiwweDBFLDB4RTQsMHgxMiwweDBDLDB4MDgsMHhFNiwweDEyLAotMHhFQiwweDA2LDB4RTQsMHgxMiwweDBDLDB4MTAsMHhFNiwweDEyLDB4RTgsMHgyRiwweEZGLDB4OEEsMHg0NCwweDE0LDB4M0MsMHgwMiwKLTB4NzUsMHgwOCwweEIwLDB4NTUsMHg4OCwweDQ0LDB4MEMsMHg4OCwweDQ0LDB4MEQsMHhCMCwweDIxLDB4QjQsMHg2NCwweDg5LDB4NDQsCi0weDA0LDB4ODksMHg0NCwweDAyLDB4RTQsMHgwQywweDBDLDB4MTAsMHhFNiwweDBDLDB4RTgsMHhFRCwweDM5LDB4RkIsMHhDMywweEU4LAotMHg1RiwweDNGLDB4NzMsMHgwOCwweEZCLDB4QjAsMHgwQSwweEU4LDB4MDgsMHg0OSwweEVCLDB4RjMsMHhGQSwweEU4LDB4OUQsMHgxRCwKLTB4OEEsMHg2NCwweDE2LDB4OEEsMHg0NCwweDE3LDB4ODksMHg4NiwweDk0LDB4MDAsMHhFNiwweEU0LDB4OEEsMHhDNCwweEU2LDB4RUMsCi0weDhBLDB4NjQsMHgxOCwweDhBLDB4NDQsMHgxOSwweDg5LDB4ODYsMHg5NiwweDAwLDB4RTYsMHhGMCwweDhBLDB4QzQsMHhFNiwweEY4LAotMHg4QSwweDQ0LDB4MUEsMHhFNiwweDEwLDB4OEEsMHg0NCwweDFCLDB4RTYsMHgxMiwweDhBLDB4NDQsMHgxQywweEU2LDB4MTQsMHg4QSwKLTB4NDQsMHgxRCwweEU2LDB4MzQsMHg4QSwweDQ0LDB4MUUsMHhFNiwweDM2LDB4OEEsMHg0NCwweDFGLDB4RTYsMHhEOCwweEU2LDB4REEsCi0weEU5LDB4QjcsMHhGRSwweDkwLDB4RkEsMHg4QSwweDQ0LDB4MEUsMHhFNiwweEZFLDB4RTQsMHgwMiwweEE4LDB4MDEsMHg3NSwweDA1LAotMHgzMywweEMwLDB4RkIsMHhGOCwweEMzLDB4MzMsMHhDMCwweEU0LDB4MDAsMHhGQiwweEY5LDB4QzMsMHg4QSwweDY0LDB4MTQsMHg4MCwKLTB4RkMsMHgwMiwweDc0LDB4MkIsMHhGRSwweEMwLDB4RkUsMHhDNywweDgwLDB4RkYsMHg0RSwweDcyLDB4MUMsMHg3NCwweDA5LDB4ODAsCi0weEZGLDB4NTAsMHg3MywweDA4LDB4QjAsMHgwQSwweEVCLDB4MTcsMHhCMCwweDBELDB4RUIsMHgxMywweDAyLDB4REMsMHgzMiwweEZGLAotMHg4MCwweEZCLDB4N0YsMHg3QywweDAyLDB4QjMsMHgyMSwweDhBLDB4QzMsMHgzQywweDdGLDB4N0MsMHgwMiwweEIwLDB4MjEsMHhDMywKLTB4RkEsMHg4MCwweDdDLDB4MEIsMHgwNCwweDc2LDB4MDIsMHhGQiwweEMzLDB4OEIsMHg0NiwweDI0LDB4M0QsMHgwOCwweDAwLDB4NzIsCi0weEY2LDB4OEUsMHg0NiwweDAyLDB4OEIsMHg3RSwweDIyLDB4OEEsMHg0NCwweDBDLDB4OEIsMHg1QywweDAyLDB4QUEsMHhFOCwweEFCLAotMHhGRiwweEFBLDB4RTgsMHhBNywweEZGLDB4QUEsMHhFOCwweEEzLDB4RkYsMHhBQSwweEU4LDB4OUYsMHhGRiwweDg4LDB4NDQsMHgwQywKLTB4ODksMHg1QywweDAyLDB4ODAsMHg0NCwweDBCLDB4MDQsMHg4OSwweDdFLDB4MjIsMHg4MywweDZFLDB4MjQsMHgwNCwweDgzLDB4NDYsCi0weDFBLDB4MDQsMHg4MCwweDdFLDB4MjYsMHgwMiwweDc0LDB4MDYsMHg4MCwweDY2LDB4MjYsMHhGRCwweEZCLDB4QzMsMHg2MCwweEIwLAotMHhGRCwweEU4LDB4MDIsMHgzRiwweDYxLDB4RkIsMHhDMywweEZBLDB4ODAsMHg3QywweDBGLDB4MDMsMHg3NSwweDA5LDB4QzYsMHg0NCwKLTB4MEIsMHgwMCwweEU4LDB4RTUsMHgzOCwweEZCLDB4QzMsMHhDNCwweDdFLDB4MTQsMHg4QiwweDRFLDB4M0EsMHg4NSwweEM5LDB4NzUsCi0weDM1LDB4MjYsMHg4QiwweDBELDB4NDcsMHg0NywweEUzLDB4RUEsMHgzQiwweDdFLDB4MDQsMHg3NiwweDIyLDB4QjgsMHgwMiwweDAwLAotMHgzOSwweDQ2LDB4MkUsMHg3NywweDA3LDB4QzcsMHg0NiwweDJFLDB4MDAsMHgwMCwweEVCLDB4MTMsMHg4QiwweDVFLDB4MkMsMHg4OSwKLTB4NUUsMHgwNCwweDI2LDB4QzcsMHgwNywweDAwLDB4MDAsMHg0MywweDQzLDB4ODksMHg1RSwweDJDLDB4MjksMHg0NiwweDJFLDB4ODUsCi0weEM5LDB4NzgsMHhDRSwweDg5LDB4NEUsMHgzQSwweDhBLDB4NDQsMHgwRCwweDhCLDB4NUMsMHgwNCwweDI2LDB4OEEsMHgyNSwweDQ3LAotMHgzQSwweEM0LDB4NzUsMHgxNiwweEZFLDB4NEMsMHgwQiwweEZGLDB4NDQsMHgwNiwweEU4LDB4MEYsMHhGRiwweEUyLDB4RUQsMHg4OCwKLTB4NDQsMHgwRCwweDg5LDB4NUMsMHgwNCwweDg5LDB4NEUsMHgzQSwweEVCLDB4QTcsMHhDNiwweDQ0LDB4MEEsMHhGRSwweEU4LDB4NzksCi0weDM4LDB4RkIsMHhDMywweDkwLDB4RTgsMHhCMywweDBELDB4OEEsMHhFOCwweDhBLDB4MEUsMHhDQiwweDEzLDB4QjMsMHgwNywweDhBLAotMHhDMSwweEVFLDB4RUIsMHgwMCwweEVDLDB4M0EsMHhDMSwweDc1LDB4MDksMHgwMiwweENELDB4RkUsMHhDQiwweDc1LDB4RjAsMHhFQiwKLTB4MEMsMHg5MCwweDg4LDB4MEUsMHhDQiwweDEzLDB4OEEsMHhFOCwweEJCLDB4RkYsMHhGRiwweEY5LDB4QzMsMHg4OCwweDBFLDB4Q0IsCi0weDEzLDB4RjgsMHhDMywweDkwLDB4QkIsMHgzRiwweDNGLDB4OEEsMHg4RSwweDlFLDB4MDAsMHhCQSwweEZFLDB4MDAsMHhFQywweDhBLAotMHhFOCwweDMyLDB4QzEsMHgyMiwweEMzLDB4NzUsMHgwMiwweEY4LDB4QzMsMHhGOSwweEMzLDB4OTAsMHhFOCwweEU1LDB4RkYsMHg3MywKLTB4MDEsMHhDMywweEJBLDB4RDAsMHgwMCwweEJCLDB4MDMsMHgwMywweDhBLDB4OEUsMHg5RiwweDAwLDB4RUMsMHg4QSwweEU4LDB4MzIsCi0weEMxLDB4MjIsMHhDMywweDc1LDB4MDIsMHhGOCwweEMzLDB4RjksMHhDMywweDkwLDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4RSwweEMwLAotMHg4MCwweDNFLDB4QzgsMHgxMywweDAwLDB4NzUsMHgwNywweEIwLDB4MEEsMHhFOCwweDI2LDB4NDcsMHhFQiwweEYyLDB4RkIsMHgzMywKLTB4REIsMHg4QSwweDFFLDB4QzksMHgxMywweDQzLDB4NDMsMHg4MywweEZCLDB4N0UsMHg3NiwweDA3LDB4MzMsMHhEQiwweEIwLDB4MDIsCi0weEU4LDB4MEYsMHg0NywweDJFLDB4OEIsMHhBRiwweDQ0LDB4MDAsMHg4MywweDdFLDB4MDgsMHgwMCwweDc0LDB4RTcsMHg4OCwweDFFLAotMHhDOSwweDEzLDB4QjAsMHgwMiwweEU4LDB4RkIsMHg0NiwweEZBLDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc0LDB4MTQsMHhFOCwKLTB4OTYsMHgxQiwweEU4LDB4N0YsMHhGRiwweDcyLDB4MUMsMHgzMywweEQyLDB4OEEsMHg5NiwweDlGLDB4MDAsMHg4MywweEMyLDB4MEUsCi0weEVCLDB4MEMsMHg5MCwweEU4LDB4NzcsMHgxQiwweEU4LDB4ODMsMHhGRiwweDcyLDB4MDgsMHhCQSwweDQ4LDB4MDAsMHhFOCwweDMzLAotMHhGRiwweDczLDB4QUIsMHgyMywweENCLDB4ODksMHg4RSwweDlBLDB4MDAsMHg4OSwweDk2LDB4OUMsMHgwMCwweEZFLDB4ODYsMHhCNSwKLTB4MDAsMHhDNiwweDA2LDB4QzgsMHgxMywweDAwLDB4QjAsMHgwQSwweEU4LDB4NjcsMHgwQSwweEZCLDB4RUIsMHg4OSwweDEwLDB4MTgsCi0weDA4LDB4MjgsMHgzMywweEMwLDB4QTAsMHgwNSwweDAxLDB4OEEsMHhDOCwweDI0LDB4NDAsMHg3NSwweDI0LDB4QzcsMHgwNiwweDdDLAotMHgxMiwweDhFLDB4NDUsMHhDNywweDA2LDB4NDIsMHgxMiwweDAxLDB4MDAsMHhDNiwweDA2LDB4NTQsMHgxMiwweDAyLDB4QjAsMHgwOCwKLTB4RjYsMHhDMSwweDAxLDB4NzQsMHgwMiwweEIwLDB4MDQsMHhBMywweDQ2LDB4MTIsMHhBMiwweDRDLDB4MTIsMHhBMiwweDk0LDB4MTIsCi0weEMzLDB4QzcsMHgwNiwweDdDLDB4MTIsMHhCNiwweDQ1LDB4QTAsMHgwRiwweDAxLDB4ODQsMHhDMCwweDc1LDB4MEUsMHg2QSwweDAwLAotMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MUUsMHg5QywweDBFLDB4RTgsMHhCMSwweDBDLDB4OTAsMHhDNywweDA2LDB4NDQsMHgxMiwKLTB4MDEsMHgwMCwweEEzLDB4NDIsMHgxMiwweDhCLDB4RDgsMHhDMSwweEUzLDB4MDQsMHg4OCwweDFFLDB4OTQsMHgxMiwweEJFLDB4RTIsCi0weDA1LDB4MkIsMHhGMCwweDhCLDB4QzgsMHgzMywweERCLDB4OEIsMHhGQiwweDJFLDB4QUMsMHg4OCwweDg1LDB4NDgsMHgxMiwweDhBLAotMHhEOCwweDBDLDB4MDUsMHhFNiwweEZFLDB4OEEsMHhFMCwweEVCLDB4MDAsMHhFNCwweEZFLDB4MzIsMHhDNCwweEE4LDB4M0YsMHg3NCwKLTB4MDMsMHhFOSwweDlFLDB4MDAsMHhFNCwweDAwLDB4ODgsMHg4NSwweDUwLDB4MTIsMHg4QSwweEUwLDB4MjQsMHgzMCwweEJBLDB4MTAsCi0weEZGLDB4M0MsMHgzMCwweDc0LDB4MTIsMHg4MCwweEZDLDB4MDQsMHg3NCwweDBBLDB4QkEsMHgwNCwweDAzLDB4RjYsMHgwNiwweDA4LAotMHgwMSwweEZFLDB4NzQsMHgwMywweEJBLDB4MDgsMHgwRiwweDg4LDB4OTUsMHg0QywweDEyLDB4MDIsMHhGQSwweDMyLDB4QzAsMHhGNiwKLTB4QzQsMHgwOCwweDc0LDB4MDIsMHhCMCwweDAxLDB4ODgsMHg4NSwweDU4LDB4MTIsMHg4QSwweEM0LDB4M0MsMHgzNSwweDc0LDB4NUIsCi0weDNDLDB4MzYsMHg3NCwweDU3LDB4M0MsMHgzNCwweDc0LDB4NTMsMHgzQywweDA0LDB4NzQsMHg0RiwweDNDLDB4MTQsMHg3NCwweDRCLAotMHgzQywweDE1LDB4NzQsMHg0NywweEE4LDB4NDAsMHg3NCwweDI1LDB4QzYsMHg4NSwweDU0LDB4MTIsMHgwNCwweEQxLDB4RTcsMHhCNCwKLTB4MDMsMHg4QSwweEMzLDB4ODksMHg4NSwweDVDLDB4MTIsMHg4QSwweEMzLDB4OEEsMHhFMywweDgwLDB4Q0MsMHgwMSwweDg5LDB4ODUsCi0weDY0LDB4MTIsMHhEMSwweEVGLDB4NDcsMHhFMiwweDAzLDB4RUIsMHgxQSwweDkwLDB4RTksMHg2QywweEZGLDB4QzYsMHg4NSwweDU0LAotMHgxMiwweDAyLDB4RDEsMHhFNywweDhBLDB4RTYsMHg4QSwweEMzLDB4MEMsMHgwNCwweDg5LDB4ODUsMHg1QywweDEyLDB4RDEsMHhFRiwKLTB4NDcsMHhFMiwweEU3LDB4MzMsMHhDMCwweDhBLDB4QzcsMHhBMywweDQ2LDB4MTIsMHhDMywweEM2LDB4ODUsMHg1NCwweDEyLDB4MDYsCi0weEVCLDB4QkIsMHhDNiwweDg1LDB4NTQsMHgxMiwweDAwLDB4MzMsMHhDMCwweDg4LDB4ODUsMHg1MCwweDEyLDB4ODgsMHg4NSwweDRDLAotMHgxMiwweDg4LDB4ODUsMHg1OCwweDEyLDB4RUIsMHhBNiwweEM3LDB4NDYsMHgyNiwweDAyLDB4MTIsMHg4QiwweDQ2LDB4MUUsMHg4OSwKLTB4NDYsMHgwMCwweDg5LDB4NDYsMHgyMiwweDhCLDB4NDYsMHgyMCwweDg5LDB4NDYsMHgyNCwweEM3LDB4NDYsMHgxQSwweDAwLDB4MDAsCi0weEMzLDB4QzcsMHg0NiwweDNDLDB4ODAsMHgwMCwweEM3LDB4NDYsMHgzOCwweDAxLDB4MDAsMHgxRSwweDU2LDB4OEIsMHg3NiwweDMwLAotMHg4OSwweDc2LDB4MDQsMHg4OSwweDc2LDB4MTQsMHg4RSwweDVFLDB4MDYsMHgzMywweEMwLDB4ODksMHgwNCwweDQ2LDB4NDYsMHg4OSwKLTB4NzYsMHgyQywweDg5LDB4NDYsMHgzQSwweDhCLDB4NDYsMHgzMiwweDQ4LDB4NDgsMHg4OSwweDQ2LDB4MkUsMHg1RSwweDFGLDB4QzMsCi0weDMzLDB4QzAsMHg4OSwweDQ2LDB4NDgsMHg4OSwweDQ2LDB4NEEsMHhDNywweDQ2LDB4NDYsMHhBRSwweDAxLDB4ODksMHg0NiwweDRFLAotMHg4QiwweDQ2LDB4NDQsMHg4OSwweDQ2LDB4NTAsMHg4QiwweDQ2LDB4NDIsMHg4OSwweDQ2LDB4NDAsMHg4OSwweDQ2LDB4MDgsMHhDMywKLTB4MzMsMHhDMCwweDg5LDB4NDYsMHg3NiwweDg5LDB4NDYsMHg3OCwweEM3LDB4NDYsMHg3QSwweDEwLDB4MDAsMHg1NiwweDFFLDB4OEIsCi0weDc2LDB4NzAsMHg4OSwweDc2LDB4MTAsMHg4OSwweDc2LDB4MEMsMHg4RSwweDVFLDB4MTIsMHhDNywweDA0LDB4MDAsMHgwMCwweDhCLAotMHg0NiwweDcyLDB4ODksMHg0NiwweDc0LDB4MUYsMHg1RSwweEMzLDB4ODksMHg1NiwweDE4LDB4ODksMHg1NiwweDAyLDB4ODksMHg1NiwKLTB4MDYsMHg4OSwweDU2LDB4MEEsMHg4OSwweDU2LDB4MEUsMHg4OSwweDU2LDB4MTIsMHg4OSwweDU2LDB4MTYsMHg4QiwweEQ4LDB4NEIsCi0weDRCLDB4QzEsMHhFMywweDAyLDB4QkYsMHgwMiwweDAwLDB4ODksMHg3RSwweDFFLDB4MDMsMHhGQiwweDg5LDB4N0UsMHgzMCwweDAzLAotMHhGQiwweDg5LDB4N0UsMHg0MiwweDAzLDB4RkIsMHg4OSwweDdFLDB4NzAsMHg4MywweEVCLDB4MDgsMHg4OSwweDVFLDB4MjAsMHg4OSwKLTB4NUUsMHgzMiwweDg5LDB4NUUsMHg0NCwweDg5LDB4NUUsMHg3MiwweDUwLDB4RTgsMHgyQiwweEZGLDB4RTgsMHg3MSwweEZGLDB4RTgsCi0weDNGLDB4RkYsMHhFOCwweDhCLDB4RkYsMHg1OCwweEMzLDB4QjgsMHgzMCwweDc1LDB4QzEsMHhFOCwweDA0LDB4MEUsMHg1QiwweDAzLAotMHhDMywweEEzLDB4QkEsMHgxMywweDgzLDB4M0UsMHg0MiwweDEyLDB4MDAsMHg3NCwweDA3LDB4ODAsMHgzRSwweDk0LDB4MTIsMHgwMCwKLTB4NzUsMHgwRSwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MUUsMHg5QywweDBFLDB4RTgsMHhCRCwweDBBLDB4OTAsCi0weEI4LDB4MzAsMHg3QSwweEMxLDB4RTgsMHgwNCwweDQwLDB4QTMsMHhDMCwweDEzLDB4MkIsMHgwNiwweDEyLDB4MDEsMHhGNywweEQ4LAotMHgzMywweEQyLDB4OEIsMHhDQSwweDhBLDB4MEUsMHg5NCwweDEyLDB4RjcsMHhGMSwweDNELDB4ODAsMHgwMCwweDc3LDB4MEUsMHg2QSwKLTB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MjUsMHg5QywweDBFLDB4RTgsMHg5MCwweDBBLDB4OTAsMHg0OCwweDNELDB4RkYsCi0weDA3LDB4NzIsMHgwMywweEI4LDB4RkYsMHgwNywweEEzLDB4QzIsMHgxMywweDMzLDB4QzksMHg4QSwweDBFLDB4OTQsMHgxMiwweDMzLAotMHhGNiwweEI4LDB4MDAsMHgwOSwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHg4OSwweDQ2LDB4NEMsMHg0MCwweDQ2LDB4NDYsMHhFMiwKLTB4RjMsMHg4QSwweDBFLDB4OTQsMHgxMiwweDMzLDB4RjYsMHg4QiwweDE2LDB4QzAsMHgxMywweEExLDB4QzIsMHgxMywweDJFLDB4OEIsCi0weEFDLDB4NDQsMHgwMCwweEU4LDB4MjIsMHhGRiwweDAzLDB4RDAsMHg0NiwweDQ2LDB4RTIsMHhGMiwweEMzLDB4MzMsMHhDMCwweDJFLAotMHg4QiwweEFELDB4NDQsMHgwMCwweDg5LDB4NDYsMHgwOCwweDQ3LDB4NDcsMHhFMiwweEY0LDB4QzMsMHg1MSwweDMzLDB4QzAsMHgwQSwKLTB4QzIsMHgyRSwweDhCLDB4QUQsMHg0NCwweDAwLDB4ODksMHg4NiwweDlFLDB4MDAsMHg4MSwweDRFLDB4MzgsMHgwMCwweDIwLDB4NDcsCi0weDQ3LDB4RkUsMHhDNCwweDgwLDB4RkMsMHgwNCwweDcyLDB4MDQsMHgzMiwweEU0LDB4RkUsMHhDMCwweEUyLDB4RTMsMHg1OSwweDgzLAotMHhFOSwweDEwLDB4NzQsMHgwNSwweEY3LDB4RDksMHhFOCwweEM0LDB4RkYsMHhDMywweDUxLDB4MzMsMHhDMCwweDBBLDB4QzIsMHgyRSwKLTB4OEIsMHhBRCwweDQ0LDB4MDAsMHg4OSwweDg2LDB4OUUsMHgwMCwweDgzLDB4NEUsMHgzOCwweDQwLDB4NDcsMHg0NywweDgwLDB4QzQsCi0weDEwLDB4NzksMHgwNCwweDMyLDB4RTQsMHhGRSwweEMwLDB4RTIsMHhFNiwweDU5LDB4ODMsMHhFOSwweDEwLDB4NzQsMHgwNSwweEY3LAotMHhEOSwweEU4LDB4OTksMHhGRiwweEMzLDB4RTgsMHhEMiwweEZGLDB4QzMsMHg4RCwweDA4LDB4OUMsMHgwOCwweENBLDB4MDgsMHhGNSwKLTB4MDgsMHg4QiwweDBFLDB4NDIsMHgxMiwweDMzLDB4RjYsMHg1MSwweDU2LDB4MzMsMHhEQiwweDhCLDB4Q0IsMHg4QSwweDk0LDB4NDgsCi0weDEyLDB4OEEsMHg4QywweDRDLDB4MTIsMHg4QSwweDlDLDB4NTQsMHgxMiwweDhCLDB4RkUsMHhDMSwweEU3LDB4MDUsMHg4NSwweERCLAotMHg3NSwweDAyLDB4QjEsMHgxMCwweDJFLDB4RkYsMHg5NywweEY5LDB4MDgsMHg1RSwweDU5LDB4NDYsMHhFMiwweEQ5LDB4QzMsMHgwMSwKLTB4Q0MsMHgwMywweEQwLDB4MDAsMHhFOCwweDAyLDB4RDAsMHgwMCwweEU4LDB4MDEsMHhEMCwweDAwLDB4RTgsMHgwMCwweEQwLDB4MDAsCi0weEU4LDB4MDQsMHhEMCwweEE4LDB4REEsMHgwMCwweERDLDB4MDAsMHhERSwweDAxLDB4RDgsMHgwMywweENDLDB4MDMsMHhDQywweDAzLAotMHhDQywweDA0LDB4RDAsMHhBOCwweERBLDB4MjAsMHhEQywweDAwLDB4REUsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMCwKLTB4RDgsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsCi0weENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLAotMHhDQywweDA0LDB4RDAsMHgwMCwweERBLDB4MjAsMHhEQywweDAzLDB4REUsMHgwMSwweEQ4LDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywKLTB4Q0MsMHgwMywweENDLDB4MDAsMHhEOCwweDAwLDB4Q0MsMHgwMCwweEQwLDB4MDAsMHgwMCwweDU2LDB4NTIsMHgxRSwweDBFLDB4MUYsCi0weEJFLDB4MkYsMHgwOSwweDMzLDB4RDIsMHhGQywweEFELDB4ODUsMHhDMCwweDc0LDB4MEQsMHg4QSwweEQ0LDB4RUUsMHhBRCwweDg1LAotMHhDMCwweDc0LDB4MDUsMHg4QSwweEQ0LDB4RUUsMHhFQiwweEVFLDB4MUYsMHg1QSwweDVFLDB4QzMsMHhFNCwweDgwLDB4ODQsMHhDMCwKLTB4NzQsMHgxNiwweDc4LDB4MTQsMHhCMCwweDI3LDB4RTYsMHhGQywweEIwLDB4MTEsMHhFNiwweDM0LDB4RTQsMHhGQywweDNDLDB4MjcsCi0weDc1LDB4MDYsMHhFNCwweDExLDB4NzUsMHgwMiwweEY4LDB4QzMsMHhGOSwweEMzLDB4ODMsMHhDMiwweDA2LDB4QjAsMHhCRiwweEVFLAotMHg4MywweEVBLDB4MDIsMHhCMCwweDEwLDB4RUUsMHg4OCwweDg2LDB4QUYsMHgwMCwweEIwLDB4MTEsMHg4MywweEMyLDB4MDQsMHhFRSwKLTB4ODMsMHhDMiwweDAyLDB4RUUsMHhCMCwweDEzLDB4ODMsMHhDMiwweDAyLDB4RUUsMHg4MywweEMyLDB4MDIsMHhFRSwweDJFLDB4QTEsCi0weDRDLDB4MkQsMHg4OSwweDg2LDB4OTQsMHgwMCwweDgzLDB4RUEsMHgwRSwweEVFLDB4ODMsMHhDMiwweDAyLDB4OEEsMHhDNCwweEVFLAotMHg4MywweEMyLDB4MDQsMHhCMCwweDAzLDB4RUUsMHg4OCwweDg2LDB4QTgsMHgwMCwweDgzLDB4RUEsMHgwNCwweDMyLDB4QzAsMHhFRSwKLTB4ODMsMHhDMiwweDAyLDB4QjAsMHg4OSwweEVFLDB4ODgsMHg4NiwweEE2LDB4MDAsMHgwQywweDA2LDB4RUUsMHhCMCwweDQwLDB4QjQsCi0weDM4LDB4ODksMHg0NiwweDFDLDB4QzcsMHg0NiwweDM2LDB4MzgsMHgwMCwweDgzLDB4QzIsMHgwNCwweDMyLDB4QzAsMHhFRSwweDg4LAotMHg4NiwweEE3LDB4MDAsMHhDMywweDgzLDB4QzIsMHgwNiwweEIwLDB4QkYsMHhFRSwweDgzLDB4RUEsMHgwMiwweEVDLDB4M0EsMHg4NiwKLTB4QUYsMHgwMCwweDc1LDB4MjQsMHg4MywweEMyLDB4MDQsMHhFQywweDNDLDB4MTEsMHg3NSwweDFDLDB4ODMsMHhDMiwweDA2LDB4RUMsCi0weDNDLDB4MTMsMHg3NSwweDE0LDB4ODMsMHhFQSwweDA4LDB4OEEsMHg4NiwweEE4LDB4MDAsMHhFRSwweDgzLDB4RUEsMHgwMiwweEVDLAotMHgyNCwweEMwLDB4M0MsMHhDMCwweDc1LDB4MDIsMHhGOCwweEMzLDB4RjksMHhDMywweDMzLDB4QzksMHg4QiwweEQxLDB4OEIsMHhGMSwKLTB4OEEsMHgwRSwweDk0LDB4MTIsMHhDMSwweEU5LDB4MDIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LDB4MDAsCi0weDIwLDB4NzQsMHgwRSwweDhBLDB4ODYsMHg5RSwweDAwLDB4RTYsMHhGRSwweDMyLDB4QzAsMHhFNiwweDgwLDB4NDIsMHhFOCwweEZBLAotMHhGRSwweDgzLDB4QzYsMHgwOCwweEUyLDB4RTEsMHg4NSwweEQyLDB4NzQsMHgwMywweEU4LDB4MDUsMHgwOCwweEMzLDB4MzMsMHhDOSwKLTB4OEIsMHhGMSwweDhBLDB4MEUsMHg5NCwweDEyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsCi0weDc0LDB4MDYsMHhFOCwweDczLDB4MTYsMHhFOCwweDEyLDB4RkYsMHg0NiwweDQ2LDB4RTIsMHhFQSwweEMzLDB4MzMsMHhDOSwweDhCLAotMHhGMSwweDhBLDB4MEUsMHg5NCwweDEyLDB4QzEsMHhFOSwweDAyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEY3LDB4NDYsMHgzOCwKLTB4MDAsMHgyMCwweDc0LDB4MTYsMHhFOCwweDQ2LDB4MTYsMHhFOCwweEQyLDB4RkUsMHg3MywweDBFLDB4NkEsMHgwMCwweDFGLDB4QzYsCi0weDA2LDB4OTMsMHgxMiwweDFDLDB4OUMsMHgwRSwweEU4LDB4RTMsMHgwNywweDkwLDB4ODMsMHhDNiwweDA4LDB4RTIsMHhEOSwweEMzLAotMHgzMywweEM5LDB4OEIsMHhGMSwweDhBLDB4MEUsMHg5NCwweDEyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEY3LDB4NDYsMHgzOCwKLTB4NDAsMHgwMCwweDc0LDB4MTYsMHhFOCwweDIxLDB4MTYsMHhFOCwweDJBLDB4RkYsMHg3MywweDBFLDB4NkEsMHgwMCwweDFGLDB4QzYsCi0weDA2LDB4OTMsMHgxMiwweDFDLDB4OUMsMHgwRSwweEU4LDB4QjMsMHgwNywweDkwLDB4NDYsMHg0NiwweEUyLDB4REEsMHhDMywweDBDLAotMHgwMCwweDAwLDB4MTAsMHgwMCwweDEzLDB4MTIsMHgwMCwweDAwLDB4MTQsMHgwMCwweDI4LDB4M0MsMHgwMCwweDFCLDB4M0UsMHgwMCwKLTB4MDAsMHgyQSwweDAwLDB4MDAsMHgyQywweDAwLDB4MDAsMHg0MiwweDAwLDB4MTQsMHhEOCwweDAwLDB4MDAsMHhEQSwweDAwLDB4MDAsCi0weDM0LDB4MDAsMHgxMSwweDM2LDB4MDAsMHgxMywweDM4LDB4MDAsMHgxMSwweDNBLDB4MDAsMHgxMywweDAwLDB4MDAsMHg1NiwweDUwLAotMHg1MiwweEJFLDB4MkYsMHgwQiwweDJFLDB4QUQsMHg4NSwweEMwLDB4NzQsMHgwNiwweDkyLDB4MkUsMHhBQywweEVFLDB4RUIsMHhGNCwKLTB4NUEsMHg1OCwweDVFLDB4QzMsMHg1MywweDJFLDB4QTEsMHg2MCwweDIyLDB4RTYsMHhFNCwweEU2LDB4RjAsMHg4QSwweEM0LDB4RTYsCi0weEVDLDB4RTYsMHhGOCwweEU4LDB4RDgsMHhGRiwweEIwLDB4NEIsMHhFNiwweDEwLDB4QjAsMHg1MCwweEU2LDB4MTIsMHhCMCwweDM4LAotMHhFNiwweDE0LDB4RTgsMHhBRSwweDE1LDB4QjAsMHg0NiwweEU2LDB4MEEsMHhFOCwweEE3LDB4MTUsMHhCMCwweDFBLDB4RTYsMHgwQSwKLTB4RTgsMHhBMCwweDE1LDB4QjAsMHgyMiwweEU2LDB4MEEsMHhFOCwweDk5LDB4MTUsMHhFOCwweEZELDB4MDYsMHg4QiwweEQ4LDB4RTQsCi0weDE2LDB4QTgsMHgwNCwweDc1LDB4MTgsMHhFOCwweEYyLDB4MDYsMHgyQiwweEMzLDB4M0QsMHgzMiwweDAwLDB4NzIsMHhGMCwweDZBLAotMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgyMywweDlDLDB4MEUsMHhFOCwweDEwLDB4MDcsMHg5MCwweEU4LDB4REEsMHgwNiwKLTB4MkIsMHhDMywweDNELDB4MjQsMHgwMCwweDc3LDB4MUIsMHhCMCwweDMxLDB4RTYsMHhGQywweDU2LDB4NTEsMHg1NSwweEI5LDB4MTAsCi0weDAwLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweDgxLDB4NEUsMHgzOCwweDgwLDB4MDAsMHg0NiwweDQ2LDB4RTIsMHhGMiwweDVELAotMHg1OSwweDVFLDB4RTgsMHg2OSwweEZGLDB4RTgsMHg0QiwweDE1LDB4QjAsMHg0NiwweEU2LDB4MEEsMHhFOCwweDQ0LDB4MTUsMHg1QiwKLTB4QzMsMHgzMywweEY2LDB4OEIsMHgwRSwweDQyLDB4MTIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LDB4MDAsCi0weDIwLDB4NzQsMHgwNiwweEU4LDB4MTcsMHgxNSwweEU4LDB4NUIsMHhGRiwweDgzLDB4QzYsMHgyMCwweEUyLDB4RTksMHhDMywweDhCLAotMHhDMiwweDA1LDB4MDQsMHgwMCwweDg5LDB4NDYsMHgyOCwweDJFLDB4QTEsMHg0QywweDJELDB4ODksMHg4NiwweDhFLDB4MDAsMHg4OSwKLTB4ODYsMHg5MCwweDAwLDB4ODksMHg4NiwweDkyLDB4MDAsMHhDNiwweDg2LDB4QTMsMHgwMCwweDBBLDB4QzYsMHg4NiwweEMzLDB4MDAsCi0weDAzLDB4NTIsMHg4MywweEMyLDB4MDQsMHg4QSwweDg2LDB4QTYsMHgwMCwweDBDLDB4MDYsMHhFRSwweDVBLDB4ODMsMHhDMiwweDAyLAotMHhCMCwweDA1LDB4RUUsMHg4OCwweDg2LDB4QTUsMHgwMCwweEMzLDB4RTgsMHgwMywweEZGLDB4RTgsMHhFNSwweDE0LDB4QjAsMHg0MiwKLTB4RTYsMHgwQSwweEY3LDB4NDYsMHgzOCwweDgwLDB4MDAsMHg3NCwweDA2LDB4MkUsMHhBMSwweDlDLDB4MjIsMHhFQiwweDA0LDB4MkUsCi0weEExLDB4NkMsMHgyMiwweEM3LDB4NDYsMHgxQywweDBDLDB4MDAsMHg4OSwweDg2LDB4OTQsMHgwMCwweDg5LDB4ODYsMHg5NiwweDAwLAotMHg4OSwweDg2LDB4OEUsMHgwMCwweDg5LDB4ODYsMHg5MCwweDAwLDB4ODksMHg4NiwweDkyLDB4MDAsMHhFNiwweEYwLDB4RTYsMHhFNCwKLTB4OEEsMHhDNCwweEU2LDB4RjgsMHhFNiwweEVDLDB4QzYsMHg4NiwweEMzLDB4MDAsMHgwMywweEU4LDB4QTUsMHgxNCwweEIwLDB4MUEsCi0weEU2LDB4MEEsMHhCMCwweDEwLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4QzMsMHgzMywweEM5LDB4OEIsMHhGMSwweDhBLAotMHgwRSwweDk0LDB4MTIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc0LDB4MDYsMHhFOCwKLTB4NzYsMHgxNCwweEU4LDB4NUEsMHhGRiwweDQ2LDB4NDYsMHhFMiwweEVBLDB4QzMsMHgzMywweEM5LDB4OEIsMHhGMSwweDhBLDB4MEUsCi0weDk0LDB4MTIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LDB4MDAsMHgyMCwweDc0LDB4MDYsMHhFOCwweDRDLAotMHgxNCwweEU4LDB4NzQsMHhGRiwweDQ2LDB4NDYsMHhFMiwweEVBLDB4QzMsMHg5MCwweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NSwKLTB4MTQsMHhCMCwweDAxLDB4QkEsMHgwNiwweDAxLDB4RUUsMHgyQSwweEMwLDB4RUUsMHhCMCwweDAyLDB4RUUsMHhCMCwweDA0LDB4RUUsCi0weEI4LDB4MDAsMHgwMiwweEVCLDB4MEYsMHhCQSwweDA2LDB4MDEsMHhCMCwweDQwLDB4RUUsMHhCOCwweDAxLDB4MDAsMHg4QSwweDBFLAotMHgwRSwweDAxLDB4RDMsMHhFMCwweEEzLDB4ODgsMHgxMiwweEMzLDB4QTEsMHg4OCwweDEyLDB4QTMsMHg4NCwweDEyLDB4MkQsMHgyMCwKLTB4MDAsMHhBMywweDhBLDB4MTIsMHgyRCwweDIwLDB4MDAsMHhBMywweDgyLDB4MTIsMHhDNywweDA2LDB4ODYsMHgxMiwweDIwLDB4MDAsCi0weEM3LDB4MDYsMHg4MCwweDEyLDB4MzIsMHgwMCwweEMzLDB4ODMsMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc0LDB4NzYsMHg4QiwweDBFLAotMHg0MiwweDEyLDB4MzMsMHhGNiwweDhBLDB4QTQsMHg1NCwweDEyLDB4ODQsMHhFNCwweDc0LDB4NUYsMHg4QSwweDg0LDB4NDgsMHgxMiwKLTB4MEMsMHgwNCwweEU2LDB4RkUsMHhGNiwweEM0LDB4MDQsMHg3NCwweDI1LDB4QjAsMHgxQiwweEJBLDB4MDAsMHgwMCwweEVFLDB4RUIsCi0weDAwLDB4MkEsMHhDMCwweEJBLDB4MDIsMHgwMCwweEVFLDB4RUIsMHgwMCwweEIwLDB4MDMsMHhFRSwweEVCLDB4MDAsMHgzMiwweEMwLAotMHhCQSwweDAyLDB4MDAsMHhFRSwweEVCLDB4MDAsMHhCQSwweDAwLDB4MDAsMHhCMCwweDAwLDB4RUUsMHhFQiwweDJELDB4QjAsMHgxRiwKLTB4QkEsMHgwMCwweDAwLDB4RUUsMHhFQiwweDAwLDB4MkEsMHhDMCwweEJBLDB4MDIsMHgwMCwweEVFLDB4RUIsMHgwMCwweEIwLDB4MDMsCi0weEVFLDB4RUIsMHgwMCwweEQxLDB4RTYsMHg4QSwweDg0LDB4NUQsMHgxMiwweEQxLDB4RUUsMHhGNiwweEQwLDB4QkEsMHgwMiwweDAwLAotMHhFRSwweEVCLDB4MDAsMHhCQSwweDAwLDB4MDAsMHhCMCwweDBBLDB4RUUsMHhFQiwweDAwLDB4RTQsMHgwNCwweEVCLDB4MDAsMHhFNCwKLTB4MDQsMHg0NiwweEUyLDB4OTAsMHhDMywweDkwLDB4QjgsMHgxNCwweDAwLDB4QkEsMHgzRSwweEZGLDB4RUYsMHhCOCwweDA2LDB4MDAsCi0weEJBLDB4MzIsMHhGRiwweEVGLDB4QjgsMHgwRiwweDAwLDB4QkEsMHgzNCwweEZGLDB4RUYsMHhCQSwweDM2LDB4RkYsMHhFRiwweDgzLAotMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc1LDB4MTYsMHhCOCwweDExLDB4MDAsMHhCQSwweDM4LDB4RkYsMHhFRiwweEI4LDB4MTIsMHgwMCwKLTB4QkEsMHgzQSwweEZGLDB4RUYsMHhCOCwweDFCLDB4MDAsMHhCQSwweDNDLDB4RkYsMHhFRiwweEMzLDB4QjgsMHgxMSwweDAwLDB4QkEsCi0weDM4LDB4RkYsMHhFRiwweEI4LDB4MTIsMHgwMCwweEJBLDB4M0EsMHhGRiwweEVGLDB4QjgsMHgxQiwweDAwLDB4QkEsMHgzQywweEZGLAotMHhFRiwweEMzLDB4QjgsMHhGQywweDAwLDB4QkEsMHgyOCwweEZGLDB4RUYsMHhGQiwweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NCwKLTB4MDcsMHhCOCwweENDLDB4MDAsMHhCQSwweDI4LDB4RkYsMHhFRiwweEMzLDB4MDAsMHhGRiwweEZGLDB4MjAsMHgyNCwweDI4LDB4RkYsCi0weDJDLDB4RkYsMHhGRiwweDMwLDB4MzQsMHgzOCwweEZGLDB4RkYsMHgzQywweDkwLDB4M0MsMHgwRiwweDc3LDB4MEUsMHhCQiwweDE5LAotMHgwRSwweDJFLDB4RDcsMHgzQywweEZGLDB4NzQsMHgwNSwweDhBLDB4RDgsMHhGOCwweEMzLDB4OTAsMHgyQSwweERCLDB4RjksMHhDMywKLTB4ODMsMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc0LDB4MjcsMHhBMCwweDA2LDB4MDEsMHg4MCwweDI2LDB4MDYsMHgwMSwweDMwLDB4ODAsCi0weDNFLDB4MDYsMHgwMSwweDMwLDB4NzUsMHgxOCwweEI5LDB4MDIsMHgwMCwweEJGLDB4QzQsMHgxMywweEJBLDB4MDYsMHgwMSwweEVDLAotMHhBOCwweDIwLDB4NzUsMHhGOCwweEJBLDB4MDQsMHgwMSwweEVELDB4QUIsMHhFMiwweEYxLDB4RUIsMHgxNiwweDkwLDB4QjksMHgwNCwKLTB4MDAsMHhCRiwweEM0LDB4MTMsMHhCQSwweDA2LDB4MDEsMHhFQywweEE4LDB4MjAsMHg3NSwweEY4LDB4QkEsMHgwNCwweDAxLDB4RUMsCi0weEFBLDB4RTIsMHhGMSwweEZBLDB4OTAsMHhCRSwweEM0LDB4MTMsMHhBRCwweDgwLDB4RTQsMHgzRiwweDgwLDB4RkMsMHgwMiwweDc0LAotMHgwRSwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MEEsMHg5QywweDBFLDB4RTgsMHgzRSwweDA0LDB4OTAsMHhBRCwKLTB4M0MsMHgwRiwweDc1LDB4RUQsMHg4QSwweEM0LDB4RTgsMHg4MSwweEZGLDB4NzIsMHhFNiwweDg4LDB4MUUsMHgxQSwweDAxLDB4QzYsCi0weDA2LDB4OEUsMHgxMiwweDAwLDB4QjAsMHgwMCwweDBBLDB4MDYsMHgxQSwweDAxLDB4QkEsMHgwMCwweDAxLDB4RUUsMHhDNiwweDA2LAotMHg4RiwweDEyLDB4NDAsMHg4MywweDNFLDB4NDQsMHgxMiwweDAwLDB4NzUsMHgwNiwweEI4LDB4MEMsMHgwMCwweEVCLDB4MDQsMHg5MCwKLTB4QjgsMHg0QywweDAwLDB4QkEsMHgyOCwweEZGLDB4RUYsMHhDMywweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NSwweDAxLDB4QzMsCi0weEExLDB4NTAsMHgxMiwweDBCLDB4MDYsMHg1MiwweDEyLDB4MEEsMHhDNCwweEE4LDB4MDgsMHg3NCwweEYyLDB4QTAsMHgwRiwweDAxLAotMHgyQSwweEU0LDB4NTAsMHhGRiwweDM2LDB4QkEsMHgxMywweDFGLDB4RTgsMHg1MCwweDU2LDB4ODMsMHhDNCwweDAyLDB4NkEsMHgwMCwKLTB4MUYsMHgzMywweEMwLDB4QTMsMHhCQywweDEzLDB4QTAsMHgwRiwweDAxLDB4QTMsMHhCRSwweDEzLDB4OEIsMHgxRSwweEJDLDB4MTMsCi0weDhBLDB4ODcsMHg1MCwweDEyLDB4RjYsMHg4NywweDUwLDB4MTIsMHgwOCwweDc0LDB4MEQsMHgyNCwweDA3LDB4OEEsMHhFMCwweEJFLAotMHhDQywweDAwLDB4QTAsMHhCQywweDEzLDB4RTgsMHg5NCwweDNELDB4RkYsMHgwNiwweEJDLDB4MTMsMHhGRiwweDBFLDB4QkUsMHgxMywKLTB4NzUsMHhEQSwweEMzLDB4OTAsMHgxRSwweDMzLDB4QzAsMHg4RSwweEQ4LDB4QjAsMHgwMSwweEU4LDB4NTQsMHgzRCwweDFGLDB4QzMsCi0weDMzLDB4QzksMHg4QiwweEYxLDB4OEEsMHgwRSwweDk0LDB4MTIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4QzcsMHg0NiwweDYyLAotMHgzOCwweDQ0LDB4QzcsMHg0NiwweDdDLDB4RkMsMHgzQiwweEM3LDB4NDYsMHg3RSwweEUyLDB4M0IsMHhDNywweDg2LDB4ODAsMHgwMCwKLTB4RUMsMHgzQywweEU4LDB4QUIsMHgxNiwweEM2LDB4ODYsMHhDMCwweDAwLDB4MTEsMHg4MywweDdFLDB4MDgsMHgwMCwweDc0LDB4MDcsCi0weDUxLDB4NTYsMHhFOCwweDMzLDB4MzMsMHg1RSwweDU5LDB4NDYsMHg0NiwweEUyLDB4Q0QsMHhDMywweDMzLDB4QzksMHg4QiwweEYxLAotMHg4QiwweEY5LDB4OEEsMHgwRSwweDk0LDB4MTIsMHhDMSwweEU5LDB4MDIsMHhFMywweDEzLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwKLTB4OEEsMHg4NiwweDlFLDB4MDAsMHg4OCwweDg1LDB4NkMsMHgxMiwweDgzLDB4QzYsMHgwOCwweDQ3LDB4RTIsMHhFRCwweEMzLDB4RkEsCi0weEZDLDB4QjAsMHhDMCwweEJBLDB4MDAsMHgwMSwweEVFLDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4RSwweEMwLDB4OEUsMHhEMCwweEJGLAotMHgxNiwweDAxLDB4QjksMHhDQywweDc3LDB4MkIsMHhDRiwweEQxLDB4RTksMHhGMywweEFCLDB4QkMsMHg0MCwweDEyLDB4RTgsMHhEOSwKLTB4MDIsMHhFOCwweDcwLDB4M0MsMHhCRSwweENDLDB4MEYsMHhFOCwweEYyLDB4M0MsMHhGNCwweDkwLDB4MzMsMHhDMCwweDhFLDB4RDgsCi0weDhFLDB4QzAsMHg4RSwweEQwLDB4RjYsMHgwNiwweDBBLDB4MDEsMHg4MCwweDc0LDB4MEIsMHhCRSwweDM1LDB4NTUsMHhFOCwweERCLAotMHgzQywweEIwLDB4MDEsMHhFOCwweEFDLDB4M0MsMHhFOCwweEIzLDB4MDAsMHhFOCwweEY2LDB4RjUsMHhFOCwweDA4LDB4RjgsMHhFOCwKLTB4MEYsMHhGOSwweEU4LDB4ODUsMHhGQSwweEU4LDB4QjYsMHhGQSwweEU4LDB4RUYsMHhGQywweEU4LDB4QzIsMHgxMCwweEU4LDB4MDMsCi0weDNDLDB4RTgsMHhCMiwweEZELDB4RTgsMHgzMCwweEZELDB4RTgsMHg1NCwweDAyLDB4QzYsMHgwNiwweDhGLDB4MTIsMHhDMCwweEU4LAotMHhCQiwweEZBLDB4RTgsMHhFQiwweEZBLDB4RTgsMHhFOSwweEZCLDB4RTgsMHhBRiwweEZDLDB4RTgsMHg4RCwweEZDLDB4RTgsMHgxRiwKLTB4RkYsMHhFOCwweDU4LDB4RkYsMHhFOCwweERCLDB4RkQsMHhFOCwweDE2LDB4RkUsMHgzMywweEMwLDB4QkUsMHg1QSwweDA1LDB4RTgsCi0weDhBLDB4M0MsMHhFOCwweEEzLDB4RkUsMHhFOCwweEUwLDB4RkMsMHhGQiwweEJFLDB4QTQsMHg0NCwweEU4LDB4N0QsMHgzQywweEU5LAotMHhDQSwweDJELDB4NTYsMHg5OCwweDhCLDB4RjAsMHg4QiwweDQyLDB4NTIsMHg4NSwweEMwLDB4NzUsMHgyNywweEM3LDB4NDIsMHg1MiwKLTB4MDEsMHgwMCwweDUzLDB4MzYsMHg4QiwweDlDLDB4MkMsMHgwMSwweEY2LDB4QzMsMHgwMSwweDc1LDB4MEMsMHgzNiwweDg5LDB4NjgsCi0weDUyLDB4MzYsMHg4OSwweEFDLDB4MkMsMHgwMSwweDVCLDB4NUUsMHhDMywweDM2LDB4ODksMHhBQywweDJDLDB4MDEsMHgzNiwweDg5LAotMHhBQywweDFDLDB4MDEsMHg1QiwweDVFLDB4QzMsMHg1NiwweDk4LDB4OEIsMHhGMCwweDMzLDB4RUQsMHgzNiwweDhCLDB4ODQsMHgxQywKLTB4MDEsMHhBOCwweDAxLDB4NzUsMHgxNSwweDhCLDB4RTgsMHgzMywweEMwLDB4ODcsMHg0MiwweDUyLDB4MzYsMHg4OSwweDg0LDB4MUMsCi0weDAxLDB4QTgsMHgwMSwweDc0LDB4MDUsMHgzNiwweDg5LDB4ODQsMHgyQywweDAxLDB4NUUsMHhDMywweDU2LDB4NTEsMHgzMywweEY2LAotMHhCOCwweDAxLDB4MDAsMHhCOSwweDA4LDB4MDAsMHg4OSwweDg0LDB4MUMsMHgwMSwweDg5LDB4ODQsMHgyQywweDAxLDB4NDYsMHg0NiwKLTB4RTIsMHhGNCwweDU5LDB4NUUsMHhDMywweDkwLDB4QkIsMHgwMSwweDAwLDB4OEIsMHhFOCwweEZGLDB4NEUsMHg2RSwweDc0LDB4MEEsCi0weDhCLDB4REQsMHg4QiwweDQ2LDB4NTgsMHhBOCwweDAxLDB4NzQsMHhGMCwweEMzLDB4OEIsMHg0NiwweDQ4LDB4QTksMHgwOCwweDAwLAotMHg3NCwweDQ1LDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc0LDB4MjcsMHhFOCwweDVDLDB4MTAsMHg4MCwweEMyLDB4MDYsMHg4QSwKLTB4ODYsMHhBOCwweDAwLDB4MjQsMHhCRiwweDg4LDB4ODYsMHhBOCwweDAwLDB4RUUsMHg2MCwweEIwLDB4RkUsMHhFOCwweDg2LDB4MzIsCi0weDYxLDB4QjAsMHgwMiwweEU4LDB4NEMsMHhGRiwweDhCLDB4NDYsMHg0OCwweDI0LDB4RjcsMHg4OSwweDQ2LDB4NDgsMHhFQiwweDE3LAotMHhFOCwweDJBLDB4MTAsMHg4MSwweDRFLDB4MjYsMHgwMCwweDQwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4ODgsMHg4NiwKLTB4QTUsMHgwMCwweEU2LDB4MEMsMHg4QiwweDQ2LDB4NDgsMHhBOSwweDA0LDB4MDAsMHg3NCwweDE0LDB4QjAsMHgwMiwweEU4LDB4MjEsCi0weEZGLDB4OEIsMHg0NiwweDQ4LDB4MjQsMHhGQiwweDg5LDB4NDYsMHg0OCwweDYwLDB4QjAsMHhERiwweEU4LDB4NDcsMHgzMiwweDYxLAotMHgzMywweEMwLDB4ODcsMHg0NiwweDU4LDB4RjYsMHhDMywweDAxLDB4NzUsMHgwQiwweDM2LDB4ODksMHg0NywweDU4LDB4QTgsMHgwMSwKLTB4NzUsMHgwRCwweEU5LDB4NzQsMHhGRiwweEEzLDB4MjIsMHgwMSwweEE4LDB4MDEsMHg3NSwweDAzLDB4RTksMHg2QSwweEZGLDB4ODksCi0weDFFLDB4MzIsMHgwMSwweEMzLDB4QkIsMHgwMSwweDAwLDB4OEIsMHhFOCwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsMHg3NCwweDE1LAotMHhFOCwweEQ1LDB4MEYsMHg4MCwweEMyLDB4MEEsMHhFQywweEE4LDB4NDAsMHg3NSwweDBBLDB4OEIsMHhERCwweDhCLDB4NDYsMHg1NiwKLTB4QTgsMHgwMSwweDc0LDB4RTMsMHhDMywweDhCLDB4NDYsMHgyNiwweDgwLDB4RTQsMHhGRSwweDgwLDB4Q0MsMHgwMiwweDg5LDB4NDYsCi0weDI2LDB4QjAsMHgwMiwweEU4LDB4QkMsMHhGRSwweDMzLDB4QzAsMHg4NywweDQ2LDB4NTYsMHhGNiwweEMzLDB4MDEsMHg3NSwweDBBLAotMHgzNiwweDg5LDB4NDcsMHg1NiwweEE4LDB4MDEsMHg3NSwweDBCLDB4RUIsMHhCRCwweEEzLDB4MjAsMHgwMSwweEE4LDB4MDEsMHg3NSwKLTB4MDIsMHhFQiwweEI0LDB4ODksMHgxRSwweDMwLDB4MDEsMHhDMywweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTAsCi0weDkwLDB4MTIsMHg4NCwweEMwLDB4NzUsMHg0OSwweEExLDB4MjIsMHgwMSwweEE4LDB4MDEsMHg3NSwweDAzLDB4RTgsMHhGNiwweEZFLAotMHhBMSwweDIwLDB4MDEsMHhBOCwweDAxLDB4NzUsMHgwMywweEU4LDB4OEEsMHhGRiwweEExLDB4QUMsMHgxMywweDQ4LDB4NzgsMHgwNSwKLTB4NzQsMHg0NSwweEEzLDB4QUMsMHgxMywweEExLDB4QUUsMHgxMywweDQ4LDB4NzgsMHgwNSwweDc0LDB4NTEsMHhBMywweEFFLDB4MTMsCi0weEExLDB4QjAsMHgxMywweDQ4LDB4NzgsMHgwNSwweDc0LDB4NjMsMHhBMywweEIwLDB4MTMsMHhBMSwweDdFLDB4MTIsMHg0MCwweDc4LAotMHgwMywweEEzLDB4N0UsMHgxMiwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHhBMCwKLTB4OTEsMHgxMiwweDQwLDB4M0MsMHgwMiwweDcyLDB4MEIsMHgzMywweEMwLDB4QTIsMHg5MSwweDEyLDB4RkYsMHgxNiwweDdDLDB4MTIsCi0weEVCLDB4QTQsMHhBMiwweDkxLDB4MTIsMHhFQiwweDlGLDB4QTAsMHg4RSwweDEyLDB4MzIsMHgwNiwweDhGLDB4MTIsMHhBMiwweDhFLAotMHgxMiwweDBBLDB4MDYsMHgxQSwweDAxLDB4QkEsMHgwMCwweDAxLDB4RUUsMHhCOCwweDJDLDB4MDEsMHhFQiwweEE0LDB4ODMsMHgzRSwKLTB4ODQsMHgxMiwweDEwLDB4NzIsMHgxMSwweEJBLDB4MjgsMHhGRiwweEVELDB4MEMsMHg4MSwweEVGLDB4RTgsMHg1MywweDM3LDB4QkEsCi0weDI4LDB4RkYsMHhFRCwweDI0LDB4N0UsMHhFRiwweEI4LDB4MDQsMHgwMCwweEVCLDB4OTIsMHhDNiwweDA2LDB4OEQsMHgxMiwweDAxLAotMHhFOCwweDNGLDB4MzcsMHhDNiwweDA2LDB4OEQsMHgxMiwweDAwLDB4QTEsMHhCMiwweDEzLDB4RUIsMHg4QiwweDkwLDB4OEEsMHgxRSwKLTB4MEIsMHgwMSwweDJBLDB4RkYsMHg2QiwweEMzLDB4MTksMHhCQSwweDYyLDB4RkYsMHhFRiwweEI4LDB4MEEsMHgwMCwweEJBLDB4NjAsCi0weEZGLDB4RUYsMHhCOCwweDAxLDB4RTAsMHhCQSwweDY2LDB4RkYsMHhFRiwweEI4LDB4RkYsMHhGRiwweEJBLDB4NTIsMHhGRiwweEVGLAotMHhCOCwweDA5LDB4QzAsMHhCQSwweDU2LDB4RkYsMHhFRiwweEM3LDB4MDYsMHhBQywweDEzLDB4MkMsMHgwMSwweEM3LDB4MDYsMHhBRSwKLTB4MTMsMHgwNCwweDAwLDB4QzYsMHgwNiwweDkxLDB4MTIsMHgwMCwweEMzLDB4OTAsMHg4QSwweDFFLDB4MEIsMHgwMSwweDJBLDB4RkYsCi0weDZCLDB4QzMsMHgwNSwweEQxLDB4RTgsMHhBMywweDE4LDB4MDEsMHhDMywweDkwLDB4NTIsMHhCQSwweDUwLDB4RkYsMHhFRCwweDVBLAotMHhDMywweDkwLDB4NTMsMHg1MSwweDhCLDB4MUUsMHgxOCwweDAxLDB4QjksMHgzMiwweDA1LDB4OTAsMHhFMiwweEZFLDB4NEIsMHg3NSwKLTB4RjcsMHg1OSwweDVCLDB4QzMsMHhCMCwweDgwLDB4QkEsMHgwMCwweDAxLDB4MEEsMHgwNiwweDFBLDB4MDEsMHhFRSwweEMzLDB4OTAsCi0weEIwLDB4NDAsMHhFQiwweEYyLDB4QjAsMHhDMCwweEVCLDB4RUUsMHhCMCwweDAwLDB4RUIsMHhFQSwweEZBLDB4NjAsMHgwNiwweDFFLAotMHgxNiwweDJCLDB4REIsMHg4RSwweERCLDB4MkUsMHhBMSwweEJBLDB4NEMsMHgyRSwweEEzLDB4OTIsMHg0QywweEEwLDB4OTMsMHgxMiwKLTB4OTgsMHg4QiwweEU4LDB4ODksMHgyNiwweDJELDB4N0EsMHg4MCwweDNFLDB4Q0EsMHgxMywweDAwLDB4NzQsMHgwMywweEU5LDB4NkIsCi0weDQyLDB4RTgsMHhDMCwweEZGLDB4RTgsMHhBQiwweEZGLDB4RTgsMHhBOCwweEZGLDB4QjAsMHgyMCwweEM2LDB4MDYsMHg5MCwweDEyLAotMHgwMCwweEZGLDB4MTYsMHg3QywweDEyLDB4OEIsMHhGRCwweDgzLDB4RkYsMHgwQSwweDcyLDB4MTEsMHhFOCwweEI5LDB4RkYsMHhFOCwKLTB4OTAsMHhGRiwweEU4LDB4QUIsMHhGRiwweEU4LDB4OEEsMHhGRiwweDgzLDB4RUYsMHgwQSwweEVCLDB4RUEsMHgwQiwweEZGLDB4NzQsCi0weDBGLDB4RTgsMHhBNCwweEZGLDB4RTgsMHg3QiwweEZGLDB4RTgsMHg5QSwweEZGLDB4RTgsMHg3NSwweEZGLDB4NEYsMHg3NSwweEYxLAotMHhFOCwweDk1LDB4RkYsMHhFOCwweDZDLDB4RkYsMHhFQiwweEI5LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZELDB4RUUsMHg4OCwKLTB4ODYsMHhBNSwweDAwLDB4QzMsMHg4QSwweDg2LDB4QTYsMHgwMCwweDBDLDB4MDIsMHhFRSwweEMzLDB4OEIsMHg3NiwweDM4LDB4RjcsCi0weEM2LDB4MDEsMHgwMCwweDc0LDB4RUYsMHg4QiwweDRFLDB4MzYsMHg4QiwweDQ2LDB4MkUsMHgzQiwweEMxLDB4NzMsMHgwMiwweDhCLAotMHhDOCwweDJCLDB4QzEsMHg4OSwweDQ2LDB4MkUsMHgwMSwweDRFLDB4MzQsMHhDNCwweDdFLDB4MDQsMHgyNiwweDAxLDB4MEQsMHg4QiwKLTB4N0UsMHgyQywweDgzLDB4RUEsMHgwNCwweEYzLDB4NkMsMHg4RSwweEMxLDB4ODksMHg3RSwweDJDLDB4M0IsMHg0NiwweDNDLDB4NzIsCi0weDEyLDB4RjcsMHhDNiwweDIwLDB4MDAsMHg3NSwweDBCLDB4ODMsMHhDRSwweDIwLDB4ODksMHg3NiwweDM4LDB4QjAsMHgwMCwweEU4LAotMHhBMCwweEZDLDB4QzMsMHhGNywweEM2LDB4MDQsMHgwMCwweDc0LDB4MUIsMHg4QiwweEQ4LDB4ODMsMHhDRSwweDEwLDB4ODksMHg3NiwKLTB4MzgsMHg4QSwweDg2LDB4QTcsMHgwMCwweDI0LDB4RkUsMHg4OCwweDg2LDB4QTcsMHgwMCwweDgzLDB4QzIsMHgwOCwweEVFLDB4ODMsCi0weEVBLDB4MDgsMHg4QiwweEMzLDB4M0QsMHg0MCwweDAwLDB4NzIsMHgwMSwweEMzLDB4ODEsMHg0RSwweDM4LDB4MDAsMHgwNCwweDgzLAotMHhDMiwweDAyLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZBLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFRSwweEMzLDB4OEEsMHg4NiwKLTB4QTYsMHgwMCwweDBDLDB4MDIsMHhFRSwweEMzLDB4RjcsMHg0NiwweDM4LDB4MDEsMHgwMCwweDc0LDB4RjEsMHg4QiwweDRFLDB4MkUsCi0weDMyLDB4REIsMHg4QSwweEJFLDB4QTMsMHgwMCwweDgzLDB4QzIsMHgwNiwweEM0LDB4NzYsMHgwNCwweDhCLDB4N0UsMHgyQywweDgzLAotMHhGOSwweDA4LDB4NzIsMHgyQywweEVDLDB4QTgsMHgwMSwweDc0LDB4MTYsMHg4QSwweEUwLDB4ODMsMHhFQSwweDBBLDB4RUMsMHg4MywKLTB4QzIsMHgwQSwweDg0LDB4RTcsMHg3NSwweDUxLDB4QUEsMHhGRSwweEMzLDB4NDksMHg4MywweEY5LDB4MDgsMHg3MywweEU1LDB4MzIsCi0weEZGLDB4MjYsMHgwMSwweDFDLDB4MDEsMHg1RSwweDM0LDB4ODksMHg3NiwweDA0LDB4ODksMHg0RSwweDJFLDB4ODksMHg3RSwweDJDLAotMHgzQiwweDRFLDB4M0MsMHg3MiwweDExLDB4RjYsMHg0NiwweDM4LDB4MjAsMHg3NCwweDAxLDB4QzMsMHg4MywweDRFLDB4MzgsMHgyMCwKLTB4QjAsMHgwMCwweEU4LDB4RkQsMHhGQiwweEMzLDB4RjYsMHg0NiwweDM4LDB4MDQsMHg3NCwweDE1LDB4ODMsMHg0RSwweDM4LDB4MTAsCi0weDhBLDB4ODYsMHhBNywweDAwLDB4MjQsMHhGRSwweDg4LDB4ODYsMHhBNywweDAwLDB4ODMsMHhFQSwweDAyLDB4RUUsMHg4MywweEMyLAotMHgwMiwweDNELDB4NDAsMHgwMCwweDcyLDB4NUQsMHhDMywweDMyLDB4RkYsMHgyNiwweDAzLDB4MUMsMHg4NSwweERCLDB4NzQsMHgwOSwKLTB4MjYsMHg4OSwweDFDLDB4OEIsMHhGNywweDQ3LDB4NDcsMHg0OSwweDQ5LDB4ODAsMHhFNCwweDFFLDB4ODAsMHhDQywweEMwLDB4MjYsCi0weDg5LDB4MDQsMHhGNiwweEM0LDB4MTAsMHg3NCwweDI3LDB4OEIsMHg3NiwweDM4LDB4RjcsMHhDNiwweDAwLDB4MTAsMHg3NCwweDBCLAotMHg1MCwweEZFLDB4ODYsMHhCMiwweDAwLDB4QjAsMHgwQSwweEU4LDB4QTgsMHhGQiwweDU4LDB4RjcsMHhDNiwweDAwLDB4MDEsMHg3NCwKLTB4MEQsMHhFOCwweDgyLDB4MjYsMHg4QiwweDc2LDB4MzgsMHg4QiwweDRFLDB4MkUsMHg4QiwweDdFLDB4MDQsMHhBQiwweDhCLDB4RjcsCi0weDMzLDB4QzAsMHhBQiwweDMyLDB4REIsMHg4QSwweEJFLDB4QTMsMHgwMCwweDQ5LDB4NDksMHg4MywweEY5LDB4MDgsMHg3MiwweDE3LAotMHhFOSwweDQxLDB4RkYsMHg4MSwweDRFLDB4MzgsMHgwMCwweDA0LDB4ODMsMHhDMiwweEY4LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwKLTB4RkEsMHg4OCwweDg2LDB4QTUsMHgwMCwweEVFLDB4QzMsMHhFOSwweDQ1LDB4RkYsMHg4MywweEMyLDB4MDgsMHhFQywweDg4LDB4ODYsCi0weEFBLDB4MDAsMHhDMCwweEU4LDB4MDQsMHg4QSwweEUwLDB4OEEsMHhDOCwweDg2LDB4ODYsMHhBOSwweDAwLDB4MzIsMHhFMCwweDhCLAotMHg1RSwweDNFLDB4ODQsMHhFMywweDc0LDB4NEYsMHg4QSwweEMxLDB4OEIsMHg0RSwweDI2LDB4RjYsMHhDNSwweDA0LDB4NzQsMHgwQywKLTB4QTgsMHgwOCwweDc0LDB4MDUsMHg4MCwweEUxLDB4QkYsMHhFQiwweDAzLDB4ODAsMHhDOSwweDQwLDB4RjYsMHhDNSwweDA4LDB4NzQsCi0weDBDLDB4QTgsMHgwMiwweDc0LDB4MDUsMHg4MCwweEUxLDB4N0YsMHhFQiwweDAzLDB4ODAsMHhDOSwweDgwLDB4ODgsMHg0RSwweDI2LAotMHg4QiwweEYwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHg4NCwweEM5LDB4NzQsMHgwOCwweEE4LDB4MDIsMHg3NCwweDE1LDB4MjQsMHhGRCwKLTB4RUIsMHgwNiwweEE4LDB4MDIsMHg3NSwweDBELDB4MEMsMHgwMiwweDg4LDB4ODYsMHhBNSwweDAwLDB4ODMsMHhFQSwweDBBLDB4RUUsCi0weDgzLDB4QzIsMHgwQSwweDhCLDB4QzYsMHg4NCwweEU3LDB4NzUsMHgwMSwweEMzLDB4QzYsMHg4NiwweEJBLDB4MDAsMHgwMSwweEIwLAotMHgwRSwweEU4LDB4RUUsMHhGQSwweEY3LDB4NDYsMHgzOCwweDAwLDB4MDIsMHg3NCwweEVFLDB4ODMsMHg3RSwweDJFLDB4MDYsMHg3MiwKLTB4RTgsMHg4QSwweEE2LDB4QUEsMHgwMCwweEM0LDB4NUUsMHgwNCwweDhCLDB4N0UsMHgyQywweEIwLDB4RkYsMHhBQSwweEIwLDB4MDIsCi0weEFCLDB4MjYsMHg4MywweDA3LDB4MDMsMHg4MywweDZFLDB4MkUsMHgwMywweDg5LDB4N0UsMHgyQywweEY2LDB4NDYsMHgzOCwweDIwLAotMHg3NCwweDAxLDB4QzMsMHg4MywweDRFLDB4MzgsMHgyMCwweEIwLDB4MDAsMHhFOCwweEI2LDB4RkEsMHhDMywweDkwLDB4ODMsMHhFQSwKLTB4MDgsMHhFOSwweEI0LDB4RkQsMHg4MywweEMyLDB4MDYsMHg4QiwweDVFLDB4MjYsMHhGNiwweEMzLDB4QzAsMHg3NSwweEVGLDB4OEIsCi0weDRFLDB4MUMsMHhFQywweDg4LDB4ODYsMHhBNCwweDAwLDB4ODMsMHhFQSwweDBBLDB4QTgsMHgyMCwweDc1LDB4MDIsMHg4QSwweENELAotMHgzMiwweEVELDB4OEIsMHg0NiwweDFBLDB4M0IsMHhDOCwweDczLDB4MTgsMHgwMSwweDRFLDB4MkEsMHgyQiwweEMxLDB4ODksMHg0NiwKLTB4MUEsMHhDNSwweDc2LDB4MDAsMHhGMywweDZFLDB4OEUsMHhEOSwweDg5LDB4NzYsMHgwMCwweDNELDB4MjAsMHgwMCwweDcyLDB4MzAsCi0weEMzLDB4ODUsMHhDMCwweDc0LDB4MzEsMHg4QiwweEM4LDB4MDEsMHg0NiwweDJBLDB4QzUsMHg3NiwweDAwLDB4RjMsMHg2RSwweDhFLAotMHhEOSwweDgwLDB4Q0IsMHgwMiwweDg5LDB4NUUsMHgyNiwweEU4LDB4MzIsMHhGMSwweEY2LDB4QzcsMHgwMSwweDc1LDB4MTYsMHg4MywKLTB4QzIsMHgwMiwweEU4LDB4NTMsMHhGRCwweEY2LDB4QzcsMHgxMCwweDc1LDB4MEIsMHhCMCwweDAyLDB4RTgsMHg0MywweEZBLDB4QzMsCi0weEY2LDB4QzcsMHgwMSwweDc0LDB4RjAsMHhDMywweDgwLDB4Q0IsMHgwMiwweDg5LDB4NUUsMHgyNiwweEY2LDB4QzcsMHgwMSwweDc0LAotMHhERSwweDgzLDB4QzIsMHgwMiwweEU4LDB4MzEsMHhGRCwweEY2LDB4ODYsMHhBNCwweDAwLDB4NDAsMHg3NCwweDBCLDB4ODAsMHhFNywKLTB4RkUsMHg4MCwweENGLDB4MDIsMHg4OSwweDVFLDB4MjYsMHhFQiwweENDLDB4QjAsMHgwNCwweEU4LDB4MTQsMHhGQSwweEMzLDB4QzAsCi0weEMyLDB4QzgsMHhDQSwweEM0LDB4QzYsMHhDQywweENFLDB4RDAsMHhEMiwweEQ4LDB4REEsMHhENCwweEQ2LDB4REMsMHhERSwweDkwLAotMHhFOSwweDBFLDB4MDEsMHhFNCwweEM0LDB4OEEsMHhFMCwweEU0LDB4QzQsMHg4QiwweEQwLDB4ODMsMHhGOSwweDA4LDB4NzIsMHhGMCwKLTB4MjYsMHg4MywweDNGLDB4MDAsMHg3NCwweDA0LDB4OEIsMHhERiwweDQ5LDB4NDksMHg4QiwweEZCLDB4OEEsMHhERSwweDgzLDB4RTMsCi0weDBGLDB4MkUsMHg4QSwweEE3LDB4MkYsMHgxNiwweEFCLDB4RjYsMHhDNCwweDEwLDB4NzQsMHgyNCwweEY3LDB4QzYsMHgwMCwweDEwLAotMHg3NCwweDBCLDB4NTAsMHhGRSwweDg2LDB4QjIsMHgwMCwweEIwLDB4MEEsMHhFOCwweEM2LDB4RjksMHg1OCwweEY3LDB4QzYsMHgwMCwKLTB4MDEsMHg3NCwweDBELDB4RTgsMHhBMCwweDI0LDB4OEIsMHg3NiwweDM4LDB4OEIsMHg0RSwweDJFLDB4OEIsMHg3RSwweDA0LDB4QUIsCi0weDg5LDB4N0UsMHgwNCwweDMzLDB4QzAsMHhBQiwweDQ5LDB4NDksMHg4OSwweDRFLDB4MkUsMHg4OSwweDdFLDB4MkMsMHg4QiwweEMxLAotMHhFQiwweDRFLDB4OTAsMHhFQiwweDlFLDB4OTAsMHhFNCwweEQ2LDB4ODQsMHhDMCwweDc5LDB4NjMsMHhFNiwweEQwLDB4OEEsMHhDOCwKLTB4MjUsMHgwMywweDAwLDB4MDMsMHhEOCwweEQxLDB4RTMsMHgyRSwweDhCLDB4QUYsMHg0NCwweDAwLDB4ODgsMHg4RSwweEFFLDB4MDAsCi0weDhCLDB4NEUsMHgyRSwweEM0LDB4NUUsMHgwNCwweDhCLDB4N0UsMHgyQywweDhCLDB4NzYsMHgzOCwweEU0LDB4ODYsMHgyNCwweDA3LAotMHgzQywweDAzLDB4NzUsMHhDRiwweEU0LDB4MUMsMHg5MSwweDNCLDB4QzEsMHg3MywweDAyLDB4OEIsMHhDOCwweDJCLDB4QzEsMHg4OSwKLTB4NDYsMHgyRSwweDAxLDB4NEUsMHgzNCwweDI2LDB4MDEsMHgwRiwweEJBLDB4QzQsMHgwMCwweEYzLDB4NkMsMHg4OSwweDdFLDB4MkMsCi0weDNCLDB4NDYsMHgzQywweDcyLDB4MUMsMHhGNywweEM2LDB4MjAsMHgwMCwweDc1LDB4MEIsMHg4MywweENFLDB4MjAsMHg4OSwweDc2LAotMHgzOCwweEIwLDB4MDAsMHhFOCwweDNDLDB4RjksMHg4QSwweDg2LDB4QUUsMHgwMCwweDI0LDB4M0YsMHhFNiwweEQ2LDB4QzMsMHhGOSwKLTB4QzMsMHhGNywweEM2LDB4MEEsMHgwMCwweDc0LDB4MzUsMHhGNywweEM2LDB4MTAsMHgwMCwweDc1LDB4MkYsMHg4MywweENFLDB4MTAsCi0weDg5LDB4NzYsMHgzOCwweEY3LDB4QzYsMHgwMiwweDAwLDB4NzQsMHgwRSwweDUwLDB4RTQsMHhEOCwweDI0LDB4RkUsMHhFNiwweEQ4LAotMHg1OCwweEY3LDB4QzYsMHgwOCwweDAwLDB4NzQsMHgxNSwweDUwLDB4NTEsMHhCOSwweEU4LDB4MDMsMHhFNCwweDBBLDB4ODQsMHhDMCwKLTB4RTAsMHhGQSwweDg0LDB4QzAsMHg3NSwweDA0LDB4QjAsMHgyNCwweEU2LDB4MEEsMHg1OSwweDU4LDB4M0QsMHg0MCwweDAwLDB4NzMsCi0weEI1LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEVGLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4ODEsMHhDRSwweDEwLAotMHgwNCwweDg5LDB4NzYsMHgzOCwweEVCLDB4QTAsMHgwMCwweDA4LDB4MDQsMHgwQywweDAxLDB4MDksMHgwNSwweDBELDB4MDIsMHgwQSwKLTB4MDYsMHgwRSwweDAzLDB4MEIsMHgwNywweDBGLDB4MDAsMHg0MCwweDgwLDB4QzAsMHgyMCwweDYwLDB4QTAsMHhFMCwweDEwLDB4NTAsCi0weDkwLDB4RDAsMHgzMCwweDcwLDB4QjAsMHhGMCwweEU0LDB4RDIsMHhFNiwweEQwLDB4OEEsMHhDOCwweDI1LDB4MDMsMHgwMCwweDAzLAotMHhEOCwweEQxLDB4RTMsMHgyRSwweDhCLDB4QUYsMHg0NCwweDAwLDB4ODgsMHg4RSwweEFFLDB4MDAsMHhFNCwweEQ4LDB4QzAsMHhFOCwKLTB4MDQsMHg4QiwweEQ4LDB4MkUsMHg4QSwweDg3LDB4NjYsMHgxNywweDhBLDB4RTAsMHg4QSwweEM4LDB4ODYsMHg4NiwweEE5LDB4MDAsCi0weDMyLDB4RTAsMHhFNCwweDk4LDB4OEIsMHg1RSwweDNFLDB4ODQsMHhFMywweDc0LDB4NTQsMHg4QSwweEMxLDB4OEIsMHg0RSwweDI2LAotMHhGNiwweEM1LDB4MDQsMHg3NCwweDBDLDB4QTgsMHgwOCwweDc0LDB4MDUsMHg4MCwweEUxLDB4QkYsMHhFQiwweDAzLDB4ODAsMHhDOSwKLTB4NDAsMHhGNiwweEM1LDB4MDgsMHg3NCwweDBDLDB4QTgsMHgwMiwweDc0LDB4MDUsMHg4MCwweEUxLDB4N0YsMHhFQiwweDAzLDB4ODAsCi0weEM5LDB4ODAsMHg4OCwweDRFLDB4MjYsMHg4QiwweEYwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHhGNiwweEMxLDB4RkQsMHg3NCwweDA4LAotMHhBOCwweDA2LDB4NzQsMHgxOSwweDI0LDB4RjksMHhFQiwweDBGLDB4QTgsMHgwNiwweDc1LDB4MTEsMHhGNiwweEM1LDB4MDEsMHg3NSwKLTB4MDQsMHgwQywweDA0LDB4RUIsMHgwMiwweDBDLDB4MDIsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHg4QiwweEM2LDB4ODQsCi0weEU3LDB4NzUsMHgwOSwweDhBLDB4ODYsMHhBRSwweDAwLDB4MjQsMHgzRiwweEU2LDB4RDIsMHhDMywweEM2LDB4ODYsMHhCQSwweDAwLAotMHgwMSwweEIwLDB4MEUsMHhFOCwweDFDLDB4RjgsMHhGNywweDQ2LDB4MzgsMHgwMCwweDAyLDB4NzQsMHhFNiwweDgzLDB4N0UsMHgyRSwKLTB4MDYsMHg3MiwweEUwLDB4OEEsMHg4NiwweEE5LDB4MDAsMHg4QSwweEUwLDB4ODYsMHg4NiwweEFBLDB4MDAsMHg4QSwweEM4LDB4MzIsCi0weEM0LDB4ODAsMHhDOSwweDBCLDB4MjIsMHhDMSwweEMwLDB4RTQsMHgwNCwweDBBLDB4RTAsMHhDNCwweDVFLDB4MDQsMHg4QiwweDdFLAotMHgyQywweEIwLDB4RkYsMHhBQSwweEIwLDB4MDIsMHhBQiwweDI2LDB4ODMsMHgwNywweDAzLDB4ODMsMHg2RSwweDJFLDB4MDMsMHg4OSwKLTB4N0UsMHgyQywweEY2LDB4NDYsMHgzOCwweDIwLDB4NzUsMHhBQiwweDgzLDB4NEUsMHgzOCwweDIwLDB4QjAsMHgwMCwweEU4LDB4RDEsCi0weEY3LDB4RUIsMHhBMCwweDkwLDB4RTQsMHgxMiwweDI0LDB4REYsMHhFNiwweDEyLDB4ODEsMHhFMywweEZFLDB4OUYsMHg4OSwweDVFLAotMHgyNiwweDgzLDB4NjYsMHg0OCwweEY3LDB4RUIsMHg3MywweDkwLDB4RjYsMHhDNywweDIwLDB4NzUsMHhFNywweEU0LDB4MTIsMHgwQywKLTB4MjAsMHhFNiwweDEyLDB4MzIsMHhDMCwweEU2LDB4QzYsMHhCMCwweDgzLDB4RTYsMHhDNiwweDgwLDB4Q0YsMHgyMCwweDg5LDB4NUUsCi0weDI2LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4RUIsMHg3NCwweDkwLAotMHhGNiwweEM3LDB4NDAsMHg3NSwweEQzLDB4RTQsMHgxMiwweDBDLDB4MjAsMHhFNiwweDEyLDB4MzIsMHhDMCwweEU2LDB4QzYsMHhCMCwKLTB4ODEsMHhFNiwweEM2LDB4ODAsMHhFNywweERGLDB4ODAsMHhDQiwweDAxLDB4ODksMHg1RSwweDI2LDB4QjAsMHgwNiwweEU4LDB4NzEsCi0weEY3LDB4OTAsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RjksMHhFNiwweDBDLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFQiwweDQzLAotMHhFNCwweEQ0LDB4RTYsMHhEMCwweDhCLDB4RjgsMHgyNSwweDAzLDB4MDAsMHgwMywweEQ4LDB4RDEsMHhFMywweDJFLDB4OEIsMHhBRiwKLTB4NDQsMHgwMCwweDhCLDB4NUUsMHgyNiwweEY2LDB4QzcsMHg2MCwweDc1LDB4QjYsMHhGNiwweEMzLDB4QzAsMHg3NSwweEQzLDB4QkEsCi0weEM2LDB4MDAsMHg4QiwweDRFLDB4MUMsMHg4QiwweDQ2LDB4MUEsMHgzQiwweEM4LDB4NzMsMHgxRSwweDAxLDB4NEUsMHgyQSwweDJCLAotMHhDMSwweDg5LDB4NDYsMHgxQSwweEM1LDB4NzYsMHgwMCwweEYzLDB4NkUsMHg4RSwweEQ5LDB4ODksMHg3NiwweDAwLDB4M0QsMHgyMCwKLTB4MDAsMHg3MiwweDNELDB4OEIsMHhDNywweDI0LDB4M0YsMHhFNiwweEQ0LDB4QzMsMHg4NSwweEMwLDB4NzQsMHgzOSwweDhCLDB4QzgsCi0weDAxLDB4NDYsMHgyQSwweEM1LDB4NzYsMHgwMCwweEYzLDB4NkUsMHg4RSwweEQ5LDB4ODMsMHhDQiwweDAyLDB4ODksMHg1RSwweDI2LAotMHhFOCwweEQ5LDB4RUQsMHhGNiwweEM3LDB4MDEsMHg3NSwweDM5LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEY5LDB4RTYsMHgwQywKLTB4ODgsMHg4NiwweEE1LDB4MDAsMHhGNiwweEM3LDB4MTAsMHg3NSwweENBLDB4QjAsMHgwMiwweEU4LDB4RTQsMHhGNiwweEVCLDB4QzMsCi0weEY2LDB4QzcsMHgwMSwweDc0LDB4RUYsMHhFQiwweEJDLDB4RjYsMHhDNywweDAxLDB4NzQsMHhEQywweDhBLDB4ODYsMHhBNSwweDAwLAotMHhBOCwweDAyLDB4NzQsMHgxMSwweDgxLDB4RTMsMHhGRiwweEZFLDB4ODEsMHhDQiwweDAwLDB4MDIsMHg4OSwweDVFLDB4MjYsMHhFQiwKLTB4QzcsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RkIsMHgwQywweDAyLDB4RTYsMHgwQywweDg4LDB4ODYsMHhBNSwweDAwLDB4RUIsCi0weDkyLDB4OTAsMHhGRCwweEY3LDB4REYsMHg3RiwweEZFLDB4RkIsMHhFRiwweEJGLDB4MDAsMHgwNCwweDAwLDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDEsMHgwNCwweDAwLDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwMiwweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwMSwweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA3LDB4MDQsMHgwNywweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA3LDB4MDQsMHgwNywweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwMywweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwMSwweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDAyLDB4MDQsMHgwMCwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDAxLDB4MDQsMHgwMCwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNywweDA0LDB4MDcsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNywweDA0LDB4MDcsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDMzLDB4REIsMHg4QSwweEQ4LDB4OEEsMHg4NywKLTB4NkMsMHgxMiwweEU2LDB4RkUsMHhDMSwweEUzLDB4MDIsMHhFNCwweENFLDB4QTgsMHgwNCwweDc1LDB4MDksMHhBOCwweDAyLDB4NzQsCi0weDAzLDB4RTksMHgyQywweEZFLDB4RjksMHhDMywweDUwLDB4NTMsMHhFOCwweENCLDB4RkMsMHg1QiwweDU4LDB4QTgsMHgwMiwweDc0LAotMHgwMywweEU5LDB4MUMsMHhGRSwweEY4LDB4QzMsMHgzMywweERCLDB4OEEsMHhEOCwweDhBLDB4ODcsMHg2QywweDEyLDB4RTYsMHhGRSwKLTB4QzEsMHhFMywweDAyLDB4RTksMHhEMCwweEZCLDB4OUEsMHgxQSwweEM2LDB4MUEsMHgwMCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDBBLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MEMsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwQSwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDBFLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MEEsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwQywweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDBBLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4QzMsMHg5MCwweERBLDB4MTQsMHg5NCwweDE1LAotMHg1QywweDEzLDB4RTYsMHgxMywweERBLDB4MUIsMHhEQSwweDFCLDB4RTYsMHgxMywweERBLDB4MUIsMHg4QiwweDk0LDB4NjQsMHgxMiwKLTB4QzEsMHhFNiwweDA0LDB4QTgsMHgwMSwweDc0LDB4MzUsMHg1MCwweDMzLDB4QzAsMHg4QSwweEMyLDB4RTYsMHhGRSwweEU0LDB4QTAsCi0weDg1LDB4QzAsMHg3NCwweDI3LDB4OEIsMHhEOCwweDJFLDB4OEEsMHg5RiwweERBLDB4MUEsMHg1MiwweDU2LDB4MkUsMHg4QiwweEE4LAotMHg0NCwweDAwLDB4OEIsMHg1NiwweDI4LDB4RUMsMHhBOCwweDAxLDB4NzUsMHgwRCwweDg4LDB4ODYsMHhBRCwweDAwLDB4MjQsMHgwRSwKLTB4OEEsMHhEOCwweDJFLDB4RkYsMHg5NywweERDLDB4MUIsMHg1RSwweDVBLDB4RUIsMHhDRCwweDU4LDB4QTgsMHgwMiwweDc0LDB4MzYsCi0weDgzLDB4QzYsMHgxMCwweDMzLDB4QzAsMHg4QSwweEM2LDB4RTYsMHhGRSwweEU0LDB4QTAsMHg4NSwweEMwLDB4NzQsMHgyNywweDhCLAotMHhEOCwweDJFLDB4OEEsMHg5RiwweERBLDB4MUEsMHg1MiwweDU2LDB4MkUsMHg4QiwweEE4LDB4NDQsMHgwMCwweDhCLDB4NTYsMHgyOCwKLTB4RUMsMHhBOCwweDAxLDB4NzUsMHgwRCwweDg4LDB4ODYsMHhBRCwweDAwLDB4MjQsMHgwRSwweDhBLDB4RDgsMHgyRSwweEZGLDB4OTcsCi0weERDLDB4MUIsMHg1RSwweDVBLDB4RUIsMHhDRCwweEMzLDB4OTAsMHgzMiwweEU0LDB4OEIsMHhEOCwweDhCLDB4RDAsMHgyRSwweDhBLAotMHg5RiwweDlBLDB4MTksMHgyRSwweDIyLDB4OTcsMHg5MiwweDE5LDB4NTYsMHg1MiwweDhBLDB4QzMsMHgyNCwweDAzLDB4MDMsMHhDNiwKLTB4ODAsMHhFMywweDA0LDB4RDAsMHhFQiwweDJFLDB4RkYsMHg5NywweEQ2LDB4MUEsMHg1OCwweDVFLDB4QTksMHg1NSwweDAwLDB4NzUsCi0weEQ5LDB4QzMsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLAotMHgyMiwweEM0LDB4NzQsMHgwOCwweDMzLDB4RjYsMHhFOCwweEJGLDB4RkYsMHhFQiwweEVFLDB4OTAsMHhFNCwweDA0LDB4MDcsMHhFNCwKLTB4MDQsMHgxRiwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsCi0weEMwLDB4OEUsMHhEOCwweEExLDB4NUUsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4MDgsMHhCRSwweDA0LAotMHgwMCwweEU4LDB4OTQsMHhGRiwweEVCLDB4RUQsMHhFNCwweDA0LDB4MDcsMHhFNCwweDA0LDB4MUYsMHhCOCwweDAwLDB4ODAsMHhCQSwKLTB4MjIsMHhGRiwweEVGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwweDVDLDB4MTIsCi0weEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4MTgsMHgzMywweEY2LDB4RTgsMHg2QiwweEZGLDB4QTEsMHg2MCwweDEyLAotMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweEU1LDB4QkUsMHgwOCwweDAwLDB4RTgsMHg1QSwweEZGLDB4RUIsMHhERCwKLTB4QTEsMHg2MCwweDEyLDB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzUsMHhFRCwweEU0LDB4MDQsMHgwNywweEU0LDB4MDQsCi0weEExLDB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDA0LDB4MUYsMHhFNCwweDA0LDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLAotMHhFRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1RSwweDEyLDB4RTYsMHhGRSwKLTB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweDE5LDB4QkUsMHgwNCwweDAwLDB4RTgsMHgxQywweEZGLDB4QTEsMHg2MiwweDEyLDB4RTYsCi0weEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweEU0LDB4QkUsMHgwQywweDAwLDB4RTgsMHgwQiwweEZGLDB4RUIsMHhEQywweEExLAotMHg2MiwweDEyLDB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzUsMHhFRCwweEU0LDB4MDQsMHgwNywweEU0LDB4MDQsMHhBMSwKLTB4NUUsMHgxMiwweEU2LDB4RkUsMHhFNCwweDA0LDB4MUYsMHhFNCwweDA0LDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsCi0weDYxLDB4Q0YsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLAotMHg4NCwweEM0LDB4NzQsMHgwOCwweDMzLDB4RjYsMHhFOCwweDUzLDB4RkUsMHhFQiwweEVFLDB4OTAsMHhCOCwweDAwLDB4ODAsMHhCQSwKLTB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsCi0weDVFLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweDA4LDB4QkUsMHgwMiwweDAwLDB4RTgsMHgyQywweEZFLAotMHhFQiwweEVELDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwKLTB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4MDgsCi0weEJFLDB4MDQsMHgwMCwweEU4LDB4MDYsMHhGRSwweEVCLDB4RUQsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDA3LAotMHgxRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg2MiwweDEyLDB4RTYsMHhGRSwKLTB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweDA4LDB4QkUsMHgwNiwweDAwLDB4RTgsMHhFMCwweEZELDB4RUIsMHhFRCwweEI4LDB4MDAsCi0weDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLAotMHhEOCwweEExLDB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4MTgsMHgzMywweEY2LDB4RTgsMHgzNywKLTB4RkUsMHhBMSwweDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweEU1LDB4QkUsMHgwNCwweDAwLDB4RTgsCi0weEFBLDB4RkQsMHhFQiwweERELDB4QTEsMHg2MCwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzUsMHhFRCwweEExLAotMHg1QywweDEyLDB4RTYsMHhGRSwweEU0LDB4MDQsMHgwNywweEU0LDB4MDQsMHgxRiwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwKLTB4RUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NUUsMHgxMiwweEU2LDB4RkUsCi0weEU0LDB4MDAsMHgyMiwweEM0LDB4NzQsMHgxOSwweEJFLDB4MDQsMHgwMCwweEU4LDB4RUMsMHhGRCwweEExLDB4NjIsMHgxMiwweEU2LAotMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHhFNCwweEJFLDB4MDYsMHgwMCwweEU4LDB4NUYsMHhGRCwweEVCLDB4REMsMHhBMSwKLTB4NjIsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc1LDB4RUQsMHhBMSwweDVFLDB4MTIsMHhFNiwweEZFLDB4RTQsCi0weDA0LDB4MDcsMHhFNCwweDA0LDB4MUYsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDYxLDB4Q0YsMHg2MCwweDFFLAotMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1QywweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHgxOCwKLTB4MzMsMHhGNiwweEU4LDB4MjcsMHhGRCwweEExLDB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4RTUsCi0weEJFLDB4MDgsMHgwMCwweEU4LDB4OTIsMHhGRCwweEVCLDB4REQsMHhBMSwweDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLAotMHhDNCwweDc1LDB4RUQsMHhFNCwweDA0LDB4MDcsMHhFNCwweDA0LDB4MUYsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwKLTB4NjEsMHhDRiwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1RSwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsCi0weDg0LDB4QzQsMHg3NCwweDE5LDB4QkUsMHgwMiwweDAwLDB4RTgsMHhFMiwweEZDLDB4QTEsMHg2MiwweDEyLDB4RTYsMHhGRSwweEU0LAotMHgwMCwweDIyLDB4QzQsMHg3NCwweEU0LDB4QkUsMHgwQywweDAwLDB4RTgsMHg0RCwweEZELDB4RUIsMHhEQywweEExLDB4NjIsMHgxMiwKLTB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzUsMHhFRCwweEU0LDB4MDQsMHgwNywweEU0LDB4MDQsMHgxRiwweEI4LDB4MDAsCi0weDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLAotMHg1QywweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHgxOCwweDMzLDB4RjYsMHhFOCwweDlELDB4RkMsMHhBMSwKLTB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4RTUsMHhCRSwweDA0LDB4MDAsMHhFOCwweDhDLDB4RkMsCi0weEVCLDB4REQsMHhBMSwweDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NSwweEVELDB4MDcsMHgxRiwweEI4LAotMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHg2MSwweENGLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwKLTB4NUUsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4MTksMHhCRSwweDAyLDB4MDAsMHhFOCwweDVDLDB4RkMsCi0weEExLDB4NjIsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4RTQsMHhCRSwweDA2LDB4MDAsMHhFOCwweDRCLAotMHhGQywweEVCLDB4REMsMHhBMSwweDYyLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NSwweEVELDB4MDcsMHgxRiwKLTB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsCi0weEQ4LDB4OTAsMHgyQSwweEMwLDB4RTYsMHhGRSwweEU0LDB4Q0UsMHhBOCwweDAxLDB4NzQsMHgxNCwweDMzLDB4REIsMHhFOCwweEQ1LAotMHhGNiwweEVCLDB4RUYsMHg5MCwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHg5MCwKLTB4RjYsMHgwNiwweDA1LDB4MDEsMHgwMSwweDc1LDB4RUQsMHhCMCwweDAxLDB4RTYsMHhGRSwweEU0LDB4Q0UsMHhBOCwweDAxLDB4NzQsCi0weEUzLDB4QkIsMHgwNCwweDAwLDB4RTgsMHhBRiwweEY2LDB4RUIsMHhDOSwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLAotMHhEOCwweDkwLDB4RkIsMHg5MCwweEZBLDB4MkEsMHhDMCwweEU2LDB4RkUsMHhFNCwweENFLDB4QTgsMHgwMiwweDc0LDB4MTMsMHgzMywKLTB4REIsMHhFOCwweENDLDB4RjgsMHhFQiwweEVDLDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsCi0weENGLDB4OTAsMHhBOCwweDA0LDB4NzQsMHhGMCwweDMzLDB4REIsMHhFOCwweDVCLDB4RjcsMHhFQiwweEQ1LDB4OTAsMHg2MCwweDFFLAotMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4OTAsMHhGQiwweDkwLDB4RkEsMHhCMCwweDAxLDB4RTYsMHhGRSwweEU0LDB4Q0UsMHhBOCwKLTB4MDIsMHg3NCwweDE1LDB4QkIsMHgwNCwweDAwLDB4RTgsMHg5NywweEY4LDB4RUIsMHhFQiwweDkwLDB4QjgsMHgwMCwweDgwLDB4QkEsCi0weDIyLDB4RkYsMHhFRiwweDA3LDB4MUYsMHg2MSwweENGLDB4OTAsMHhBOCwweDA0LDB4NzQsMHhGMCwweEJCLDB4MDQsMHgwMCwweEU4LAotMHgyNCwweEY3LDB4RUIsMHhEMiwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MDksMHg5QywweDBFLDB4RTgsMHg2QiwKLTB4RjIsMHg5MCwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MjksMHg5QywweDBFLDB4RTgsMHg1RCwweEYyLDB4OTAsCi0weDcyLDB4MjAsMHg3MiwweDIwLDB4NzIsMHgyMCwweENFLDB4MUQsMHg5MiwweDFDLDB4RTYsMHgxQywweDFBLDB4MUUsMHg3MiwweDIwLAotMHg4MiwweDFELDB4QUUsMHgxRSwweDM4LDB4MUYsMHg3MiwweDIwLDB4ODIsMHgxRCwweDcyLDB4MjAsMHg3MiwweDIwLDB4MzgsMHgxRiwKLTB4NzIsMHgyMCwweDcyLDB4MjAsMHg3MiwweDIwLDB4RjQsMHgxRCwweEJDLDB4MUMsMHgzNCwweDFELDB4NjQsMHgxRSwweDcyLDB4MjAsCi0weEE4LDB4MUQsMHhGMiwweDFFLDB4NzgsMHgxRiwweDcyLDB4MjAsMHhBOCwweDFELDB4NzIsMHgyMCwweDcyLDB4MjAsMHg3OCwweDFGLAotMHhGQywweEI5LDB4NDAsMHgwMCwweDhDLDB4Q0IsMHhCOCwweDY0LDB4MjAsMHgyQiwweEZGLDB4QUIsMHg5MywweEFCLDB4OTMsMHhFMiwKLTB4RkEsMHhDNywweDA2LDB4NEMsMHgwMCwweEE4LDB4MTEsMHg4MywweDNFLDB4NDQsMHgxMiwweDAwLDB4NzUsMHgyMCwweEM3LDB4MDYsCi0weDNDLDB4MDAsMHgwOCwweDRCLDB4QzcsMHgwNiwweDMwLDB4MDAsMHhCQSwweDFGLDB4QzcsMHgwNiwweDM0LDB4MDAsMHhGQSwweDFGLAotMHhGNiwweDA2LDB4MDUsMHgwMSwweDAxLDB4NzUsMHgwNiwweEM3LDB4MDYsMHgzOCwweDAwLDB4MkUsMHgyMCwweEMzLDB4QzcsMHgwNiwKLTB4M0MsMHgwMCwweDU2LDB4NEIsMHgzMywweERCLDB4OEEsMHgxRSwweDU0LDB4MTIsMHhDMSwweEUzLDB4MDIsMHgwMiwweDFFLDB4NTYsCi0weDEyLDB4MkUsMHg4QiwweDg3LDB4ODAsMHgyMCwweEEzLDB4MzAsMHgwMCwweDhBLDB4MUUsMHg1NSwweDEyLDB4QzEsMHhFMywweDAyLAotMHgwMiwweDFFLDB4NTcsMHgxMiwweDJFLDB4OEIsMHg4NywweEEwLDB4MjAsMHhBMywweDM0LDB4MDAsMHhDMywweDhCLDB4ODYsMHg5RSwKLTB4MDAsMHhFNiwweEZFLDB4ODYsMHhDNCwweEU2LDB4RDAsMHhDMywweDhCLDB4ODYsMHg5RSwweDAwLDB4RTYsMHhGRSwweDMzLDB4RDIsCi0weDhBLDB4RDQsMHhDMywweDUxLDB4QjksMHgxMCwweDI3LDB4RTQsMHgwQSwweDkwLDB4OTAsMHg4NCwweEMwLDB4NzQsMHgwNSwweEUyLAotMHhGNiwweDU5LDB4RjksMHhDMywweDU5LDB4RjgsMHhDMywweDg0LDB4QzAsMHg3OCwweDFFLDB4NTEsMHg4QSwweEU4LDB4OEEsMHhDOCwKLTB4QjgsMHgwMSwweDAwLDB4RDMsMHhFMCwweDA5LDB4ODYsMHg5OCwweDAwLDB4M0EsMHhBRSwweEEwLDB4MDAsMHg1OSwweDc1LDB4MTAsCi0weEU4LDB4QTksMHhFNSwweDgzLDB4NEUsMHgyNiwweDAyLDB4RjksMHhDMywweDk4LDB4ODksMHg4NiwweDk4LDB4MDAsMHhFQiwweEYwLAotMHhGOCwweEMzLDB4ODQsMHhDMCwweDc4LDB4MTIsMHg1MSwweDhBLDB4RTAsMHg4QSwweEM4LDB4QjgsMHgwMSwweDAwLDB4RDMsMHhFMCwKLTB4NTksMHhGNywweEQwLDB4MjEsMHg4NiwweDk4LDB4MDAsMHhDMywweEM3LDB4ODYsMHg5OCwweDAwLDB4MDAsMHgwMCwweEMzLDB4ODMsCi0weEMyLDB4MDQsMHg4QSwweDg2LDB4QTYsMHgwMCwweDBDLDB4MDQsMHhFRSwweDgzLDB4RUEsMHgwNCwweEMzLDB4RTgsMHg5MywweEZGLAotMHg3MiwweDA0LDB4QjAsMHg4MiwweEU2LDB4MEEsMHhDMywweDhCLDB4NDYsMHgyNiwweEE4LDB4RkQsMHg3NCwweDExLDB4OEEsMHg4NiwKLTB4QTUsMHgwMCwweEE4LDB4MDYsMHg3NCwweDA4LDB4MjQsMHhGOSwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweEMzLDB4RjYsCi0weEM0LDB4MDEsMHg3NCwweDBBLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZCLDB4MEMsMHgwMiwweEVCLDB4MEMsMHhBOCwweDAyLAotMHg3NSwweDBGLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZELDB4MEMsMHgwNCwweDNBLDB4ODYsMHhBNSwweDAwLDB4NzUsMHhEOCwKLTB4QzMsMHg4QSwweDg2LDB4QTUsMHgwMCwweEVCLDB4Q0YsMHhFNCwweEQ4LDB4MzMsMHhEQiwweDhBLDB4RDgsMHhDMCwweEVCLDB4MDQsCi0weDJFLDB4OEEsMHg5RiwweDY2LDB4MTcsMHg4OCwweDlFLDB4QTksMHgwMCwweDhCLDB4NUUsMHgyNiwweDgwLDB4RTMsMHgzRiwweEY2LAotMHhDNywweDA0LDB4NzQsMHgwNywweEE4LDB4MTAsMHg3NSwweDAzLDB4ODAsMHhDQiwweDQwLDB4RjYsMHhDNywweDA4LDB4NzQsMHgwNywKLTB4QTgsMHg4MCwweDc1LDB4MDMsMHg4MCwweENCLDB4NDAsMHg4OCwweDVFLDB4MjYsMHg4QSwweDg2LDB4QTUsMHgwMCwweEY2LDB4QzMsCi0weEZELDB4NzQsMHgwRCwweEE4LDB4MDYsMHg3NCwweDA4LDB4MjQsMHhGOSwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweEMzLAotMHhGNiwweEM3LDB4MDEsMHg3NCwweDA0LDB4MEMsMHgwMiwweEVCLDB4RjAsMHhGNiwweEMzLDB4MDIsMHg3NSwweEU5LDB4MEMsMHgwNCwKLTB4RUIsMHhFNywweEM0LDB4MDQsMHhDNCwweDA0LDB4ODUsMHgwNCwweDU5LDB4MDQsMHg0OCwweDA0LDB4NDEsMHgwNCwweEMzLDB4MDMsCi0weDgyLDB4MDMsMHg0MSwweDAzLDB4ODIsMHgwMiwweDU3LDB4MDIsMHg0MSwweDAyLDB4ODIsMHgwMSwweDQxLDB4MDEsMHg4MiwweDAwLAotMHg0MSwweDAwLDB4NEUsMHgwMiwweEFELDB4MDEsMHg1NywweDAxLDB4MkQsMHgwMCwweDJCLDB4MDAsMHgyNywweDAwLDB4MjEsMHgwMCwKLTB4MTYsMHgwMCwweEY0LDB4MDQsMHhGNCwweDA0LDB4QTMsMHgwNCwweDZGLDB4MDQsMHg1QiwweDA0LDB4NTEsMHgwNCwweEY0LDB4MDMsCi0weEEzLDB4MDMsMHg1MSwweDAzLDB4QTMsMHgwMiwweDZELDB4MDIsMHg1MSwweDAyLDB4QTMsMHgwMSwweDUxLDB4MDEsMHhBMywweDAwLAotMHg1MSwweDAwLDB4NjIsMHgwMiwweEQ5LDB4MDEsMHg2RCwweDAxLDB4MzgsMHgwMCwweDM2LDB4MDAsMHgzMSwweDAwLDB4MjksMHgwMCwKLTB4MUIsMHgwMCwweDUxLDB4NTcsMHhCRiwweDAyLDB4MDAsMHhFQiwweDBGLDB4OTAsMHg1MSwweDU2LDB4QkYsMHgwMSwweDAwLDB4RUIsCi0weDA3LDB4OTAsMHg1MSwweDU2LDB4QkYsMHgwMywweDAwLDB4OTAsMHgzQywweDE5LDB4NzYsMHgwMiwweEIwLDB4MTcsMHg5OCwweDhCLAotMHhGMCwweDhBLDB4ODIsMHhDNCwweDAwLDB4MkEsMHhFNCwweDhCLDB4RjAsMHg4MywweEZFLDB4MTgsMHg3MywweDQ2LDB4RDEsMHhFNiwKLTB4MkUsMHg4QiwweDhDLDB4NTIsMHgyMiwweEY3LDB4NDYsMHgzOCwweDgwLDB4MDAsMHg3NCwweDA1LDB4MkUsMHg4QiwweDhDLDB4ODIsCi0weDIyLDB4RjcsMHhDNywweDAyLDB4MDAsMHg3NCwweDEyLDB4M0IsMHg4RSwweDk0LDB4MDAsMHg3NCwweDBDLDB4ODksMHg4RSwweDk0LAotMHgwMCwweDhBLDB4QzUsMHhFNiwweEVDLDB4OEEsMHhDMSwweEU2LDB4RTQsMHhGNywweEM3LDB4MDEsMHgwMCwweDc0LDB4MTIsMHgzQiwKLTB4OEUsMHg5NiwweDAwLDB4NzQsMHgwQywweDg5LDB4OEUsMHg5NiwweDAwLDB4OEEsMHhDNSwweEU2LDB4RjgsMHg4QSwweEMxLDB4RTYsCi0weEYwLDB4NUUsMHg1OSwweEMzLDB4NzcsMHgwNiwweDhCLDB4OEUsMHg4RSwweDAwLDB4RUIsMHhDNSwweDhCLDB4OEUsMHg5MCwweDAwLAotMHhFQiwweEJGLDB4RDUsMHgwMywweEY2LDB4MDAsMHgzRSwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHhDQSwweDA0LDB4MzMsMHgwMSwKLTB4NEQsMHgwMCwweDE0LDB4MDAsMHgwNSwweDAwLDB4MDEsMHgwMywweDA1LDB4MDcsMHgwOSwweDAwLDB4MDEsMHgwMiwweDAzLDB4MDQsCi0weDgwLDB4ODQsMHgxRSwweDAwLDB4QTAsMHgyNSwweDI2LDB4MDAsMHgwMCwweDAwLDB4NjAsMHg4QiwweEYwLDB4MzMsMHhGRiwweDJFLAotMHhBMSwweDUwLDB4MjMsMHgyRSwweDhCLDB4MTYsMHg1MiwweDIzLDB4QkIsMHgzMiwweDIzLDB4RjcsMHg0NiwweDM4LDB4ODAsMHgwMCwKLTB4NzQsMHgwQywweDJFLDB4QTEsMHg1NCwweDIzLDB4MkUsMHg4QiwweDE2LDB4NTYsMHgyMywweEJCLDB4M0MsMHgyMywweEI5LDB4MDUsCi0weDAwLDB4MkUsMHgzQiwweDMxLDB4NzMsMHgwQSwweDQ3LDB4NDcsMHhFMiwweEY3LDB4QjgsMHhGRiwweEZGLDB4RUIsMHgxRCwweDkwLAotMHhEMSwweEVGLDB4MkUsMHg4QSwweDhELDB4NDYsMHgyMywweDJBLDB4RUQsMHhEMSwweEVBLDB4RDEsMHhEOCwweEUyLDB4RkEsMHhGNywKLTB4RjYsMHgwNSwweDAyLDB4MDAsMHhDMSwweEU4LDB4MDIsMHgyRSwweDhBLDB4QTUsMHg0QiwweDIzLDB4MkUsMHhBMywweDU4LDB4MjMsCi0weDYxLDB4MkUsMHhBMSwweDU4LDB4MjMsMHhDMywweDA4LDB4MDAsMHgyMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDIsMHg2MCwweDA5LAotMHgwOCwweDAwLDB4MjAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDIsMHgwMCwKLTB4MDMsMHgwMCwweDA0LDB4MDAsMHg1MiwweDU2LDB4NTcsMHg4NSwweEMwLDB4NzQsMHgwNSwweDNELDB4MDEsMHgwOSwweDc2LDB4MDMsCi0weEI4LDB4MDEsMHgwOSwweEJGLDB4NUIsMHgwMSwweEY3LDB4NDYsMHgzOCwweDgwLDB4MDAsMHg3NCwweDAzLDB4QkYsMHhCMiwweDAxLAotMHgzMywweEY2LDB4MkUsMHgzQiwweDg0LDB4QjYsMHgyMywweDc2LDB4MDQsMHg0NiwweDQ2LDB4RUIsMHhGNSwweEY3LDB4RTcsMHgyRSwKLTB4OEIsMHhCQywweEMwLDB4MjMsMHgwMywweEM3LDB4ODMsMHhEMiwweDAwLDB4RDEsMHhFNywweEY3LDB4RjcsMHgyRSwweDhBLDB4QTQsCi0weENBLDB4MjMsMHg1RiwweDVFLDB4NUEsMHhDMywweEU0LDB4M0UsMHg4MCwweEJFLDB4QzMsMHgwMCwweDAzLDB4NzUsMHgwQywweEY3LAotMHg0NiwweDdBLDB4MjAsMHgwMCwweDc0LDB4MDUsMHgwQywweDgwLDB4RTYsMHgzRSwweEMzLDB4MjQsMHg3RiwweEU2LDB4M0UsMHhDMywKLTB4MjQsMHgwMywweDg4LDB4ODYsMHhDMywweDAwLDB4OEEsMHhFMCwweEU0LDB4MTAsMHgyNCwweEZDLDB4MEEsMHhDNCwweEU2LDB4MTAsCi0weDgwLDB4OEUsMHhBMSwweDAwLDB4NDIsMHhFOCwweENFLDB4RkYsMHhDMywweDkwLDB4NTYsMHg4QiwweEYwLDB4ODMsMHhFNiwweDA3LAotMHhEMSwweEU2LDB4MkUsMHhGRiwweEE0LDB4NTgsMHgyNCwweDkwLDB4NjgsMHgyNCwweDZDLDB4MjQsMHg3MCwweDI0LDB4NzQsMHgyNCwKLTB4NzgsMHgyNCwweDg3LDB4MjQsMHg4NywweDI0LDB4ODcsMHgyNCwweEI0LDB4MDAsMHhFQiwweDBFLDB4QjQsMHhDMCwweEVCLDB4MEEsCi0weEI0LDB4NDAsMHhFQiwweDA2LDB4QjQsMHgyMCwweEVCLDB4MDIsMHhCNCwweEEwLDB4RTQsMHgxMCwweDI0LDB4MUYsMHgwQSwweEM0LAotMHhFNiwweDEwLDB4ODAsMHg4RSwweEExLDB4MDAsMHg0MiwweDVFLDB4QzMsMHg5MCwweDNDLDB4MDIsMHg3NywweDEyLDB4OEEsMHhFMCwKLTB4RTQsMHgxMCwweDI0LDB4RjMsMHhDMCwweEU0LDB4MDIsMHgwQSwweEM0LDB4RTYsMHgxMCwweDgwLDB4OEUsMHhBMSwweDAwLDB4NDIsCi0weEMzLDB4OTAsMHg4QiwweDVFLDB4MzgsMHg4NCwweEMwLDB4NzQsMHgxRiwweDNDLDB4MDIsMHg3NCwweDIwLDB4ODMsMHhDQiwweDA4LAotMHg4QiwweDQ2LDB4MkUsMHgzQiwweDQ2LDB4M0MsMHg3NywweDBDLDB4RTgsMHg4OCwweEZDLDB4NzIsMHgwNywweEIwLDB4MjQsMHhFNiwKLTB4MEEsMHg4MywweENCLDB4MTAsMHg4OSwweDVFLDB4MzgsMHhDMywweDgzLDB4RTMsMHhGNywweEVCLDB4RjcsMHhGNywweEMzLDB4MTAsCi0weDAwLDB4NzQsMHhGNSwweEU4LDB4NkQsMHhGQywweDcyLDB4RUMsMHg4QSwweDg2LDB4QzAsMHgwMCwweEU2LDB4MzgsMHhCMCwweDIzLAotMHhFNiwweDBBLDB4RUIsMHhFMCwweDhCLDB4NUUsMHgzOCwweDhCLDB4NDYsMHgyRSwweDNCLDB4NDYsMHgzQywweEU0LDB4RDgsMHg3NywKLTB4MEIsMHgyNCwweEZFLDB4ODAsMHhDQiwweDEyLDB4RTYsMHhEOCwweDg5LDB4NUUsMHgzOCwweEMzLDB4MEMsMHgwMSwweDgwLDB4Q0IsCi0weDAyLDB4RUIsMHhGMywweDUwLDB4MzMsMHhEQiwweEMxLDB4RTgsMHgwNCwweDI1LDB4MEYsMHgwRiwweDhBLDB4RDgsMHgyRSwweDhBLAotMHg4NywweDY2LDB4MTcsMHg4QSwweERDLDB4MkUsMHg4QSwweEE3LDB4NjYsMHgxNywweDA5LDB4NDYsMHgzRSwweDU4LDB4QzMsMHg1MCwKLTB4MzMsMHhEQiwweEMxLDB4RTgsMHgwNCwweDI1LDB4MEYsMHgwRiwweDhBLDB4RDgsMHgyRSwweDhBLDB4ODcsMHg2NiwweDE3LDB4OEEsCi0weERDLDB4MkUsMHg4QSwweEE3LDB4NjYsMHgxNywweEY3LDB4RDAsMHgyMSwweDQ2LDB4M0UsMHg1OCwweEMzLDB4OEIsMHg0NiwweDNFLAotMHgzMywweERCLDB4OEEsMHhEOCwweDBBLDB4REMsMHgyRSwweDhBLDB4ODcsMHg3NiwweDE3LDB4RTYsMHgyQywweDhBLDB4RTAsMHhFNCwKLTB4MkEsMHgyNCwweDBGLDB4MEEsMHhDNCwweEU2LDB4MkEsMHg4QSwweDg2LDB4QTUsMHgwMCwweDg0LDB4RTQsMHg3NSwweDBELDB4QTgsCi0weDgwLDB4NzQsMHgxMSwweDI0LDB4N0YsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHhDMywweEE4LDB4ODAsMHg3NSwweDA0LAotMHgwQywweDgwLDB4RUIsMHhGMSwweEMzLDB4MUUsMHg2MCwweDMzLDB4QzksMHgzMywweEQyLDB4MzMsMHhGNiwweDhFLDB4RDksMHg4RCwKLTB4QkUsMHhGRCwweDAwLDB4NTcsMHg4QiwweDA1LDB4ODQsMHhDMCwweDc0LDB4MTYsMHg4QiwweEQxLDB4NDIsMHg4QiwweEZFLDB4NEYsCi0weDc4LDB4MDksMHgzOCwweEEzLDB4RTQsMHgwMCwweDc0LDB4MDgsMHg0RiwweDc5LDB4RjcsMHg4OCwweEEyLDB4RTQsMHgwMCwweDQ2LAotMHg1RiwweDgzLDB4QzcsMHgwOSwweDQxLDB4ODMsMHhGOSwweDEwLDB4NzIsMHhEOSwweDg5LDB4QjYsMHg4NiwweDAwLDB4ODksMHg5NiwKLTB4ODQsMHgwMCwweDYxLDB4MUYsMHhDMywweDUzLDB4QzcsMHg0NiwweDY2LDB4MDAsMHgwMCwweDhCLDB4NDYsMHg2NCwweEE5LDB4NDAsCi0weDAwLDB4NzQsMHgwRCwweEIzLDB4MDAsMHhBOSwweDgwLDB4MDAsMHg3NCwweDAyLDB4QjMsMHg3RiwweDg4LDB4OUUsMHhDMSwweDAwLAotMHgzMiwweERCLDB4QTksMHgwMiwweDAwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHg0MCwweEE5LDB4MDAsMHg0MCwweDc0LDB4MDMsMHg4MCwKLTB4Q0IsMHgwMiwweEE5LDB4MDAsMHg4MCwweDc0LDB4MDMsMHg4MCwweENCLDB4MDEsMHhBOSwweDMwLDB4MUUsMHg3NCwweDAzLDB4ODAsCi0weENCLDB4QkMsMHhBOSwweDAwLDB4MjAsMHg3NCwweDAzLDB4ODAsMHhDQiwweDA4LDB4QTksMHgwNCwweDAxLDB4NzQsMHgwMywweDgwLAotMHhDQiwweDEwLDB4QTksMHgwOCwweDAwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHgyMCwweDg4LDB4OUUsMHhDMiwweDAwLDB4NUIsMHhDMywKLTB4MDYsMHg1MSwweDU3LDB4NTAsMHgxNiwweDA3LDB4OEQsMHhCRSwweEM0LDB4MDAsMHhCOSwweDFGLDB4MDAsMHgzMywweEMwLDB4QUEsCi0weDQwLDB4RTIsMHhGQywweDhCLDB4ODYsMHg5MiwweDAwLDB4ODksMHg4NiwweDhFLDB4MDAsMHg4OSwweDg2LDB4OTAsMHgwMCwweDU4LAotMHg1RiwweDU5LDB4MDcsMHhDMywweEU0LDB4RDgsMHhDMCwweEU4LDB4MDQsMHg1MywweDI1LDB4MEYsMHgwMCwweDhCLDB4RDgsMHgyRSwKLTB4OEEsMHg4NywweDY2LDB4MTcsMHg4OCwweDg2LDB4QTksMHgwMCwweDVBLDB4QzMsMHgwOCwweDg2LDB4QUMsMHgwMCwweEM2LDB4ODYsCi0weEJBLDB4MDAsMHgwMSwweEIwLDB4MEUsMHhFOCwweEVBLDB4RTksMHhDMywweEFELDB4MzYsMHhBMywweEI0LDB4MTMsMHhBRCwweDM2LAotMHhBMywweEI2LDB4MTMsMHhBRCwweDM2LDB4QTMsMHhCOCwweDEzLDB4ODMsMHhFOSwweDA2LDB4MzYsMHhGNywweDA2LDB4QjYsMHgxMywKLTB4MEYsMHgwMCwweEMzLDB4OEEsMHg0NiwweDI2LDB4RjcsMHg0NiwweDQ4LDB4ODAsMHgwMCwweDc0LDB4MDIsMHgwQywweDEwLDB4ODgsCi0weDg2LDB4QkQsMHgwMCwweDMyLDB4QzAsMHg4MywweDdFLDB4MUEsMHgwMCwweDc1LDB4MEUsMHg4QiwweDVFLDB4NDAsMHg0MywweDgwLAotMHhFMywweEZFLDB4M0IsMHg1RSwweDA4LDB4NzUsMHgwMiwweDBDLDB4MDEsMHg4MywweDdFLDB4M0EsMHgwMCwweDc1LDB4MEQsMHgxRSwKLTB4QzUsMHg1RSwweDE0LDB4OEIsMHgxRiwweDFGLDB4ODUsMHhEQiwweDc1LDB4MDIsMHgwQywweDAyLDB4RjcsMHg0NiwweDM4LDB4MTAsCi0weDAwLDB4NzQsMHgwMiwweDBDLDB4MDQsMHg4QiwweDVFLDB4N0EsMHhGNywweEMzLDB4MDIsMHgwMCwweDc0LDB4MDIsMHgwQywweDA4LAotMHhGNywweEMzLDB4MDQsMHgwMCwweDc0LDB4MDIsMHgwQywweDEwLDB4RjcsMHhDMywweDA4LDB4MDAsMHg3NCwweDAyLDB4MEMsMHgyMCwKLTB4RjcsMHhDMywweDQwLDB4MDAsMHg3NCwweDAyLDB4MEMsMHg0MCwweDg4LDB4ODYsMHhCRiwweDAwLDB4QzMsMHg5MCwweDZBLDB4MDAsCi0weDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgwRCwweDlDLDB4MEUsMHhFOCwweEYxLDB4RUIsMHg5MCwweEIwLDB4MDIsMHhFNiwweERBLAotMHhGOCwweEMzLDB4MzMsMHhDMCwweEU2LDB4REEsMHhGOCwweEMzLDB4QjAsMHgwMSwweEU2LDB4RDgsMHhGOCwweEMzLDB4MzMsMHhDMCwKLTB4RTYsMHhEOCwweEY4LDB4QzMsMHhCMCwweEZGLDB4RTgsMHg0RSwweEZBLDB4RTgsMHhBMSwweEZBLDB4RjgsMHhDMywweEFDLDB4NDksCi0weEU4LDB4QUYsMHhGQiwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweDE1LDB4RkQsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LAotMHhFOCwweDY3LDB4RkQsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHgxRiwweEZELDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwKLTB4RTYsMHgzNCwweEY4LDB4QzMsMHhBQywweDQ5LDB4RTYsMHgzNiwweEY4LDB4QzMsMHhBQywweDQ5LDB4M0MsMHgwMiwweDc3LDB4MUYsCi0weDg0LDB4QzAsMHg3NSwweDFELDB4RTQsMHgxNCwweDI0LDB4RUYsMHhFNiwweDE0LDB4RTQsMHgxMiwweDI0LDB4M0YsMHhFNiwweDEyLAotMHhFNCwweDE2LDB4QTgsMHgwNCwweDc0LDB4MDksMHhFOCwweEVBLDB4RjksMHg3MiwweDA0LDB4QjAsMHgxOCwweEU2LDB4MEEsMHhGOCwKLTB4QzMsMHg4QSwweEUwLDB4RTQsMHgxNCwweDBDLDB4MTAsMHhFNiwweDE0LDB4RTQsMHgxMiwweDBDLDB4QzAsMHhGNiwweEM0LDB4MDEsCi0weDc0LDB4MDIsMHgyNCwweDdGLDB4RTYsMHgxMiwweEY4LDB4QzMsMHhBQywweDQ5LDB4RTgsMHgyNSwweEZELDB4RjgsMHhDMywweDkwLAotMHhCOCwweDAwLDB4NDAsMHhFOCwweDdELDB4RkQsMHhFOCwweEI0LDB4RkQsMHhFOCwweEE4LDB4RkUsMHhCMCwweDAxLDB4RTgsMHhCOSwKLTB4RkUsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4NDAsMHhFOCwweDg1LDB4RkQsMHhFOCwweEEwLDB4RkQsMHhGOCwweEMzLDB4OTAsCi0weEI4LDB4MDAsMHgxMCwweEU4LDB4NUQsMHhGRCwweEU4LDB4OTQsMHhGRCwweEU4LDB4ODgsMHhGRSwweEIwLDB4MDgsMHhFOCwweDk5LAotMHhGRSwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHgxMCwweEU4LDB4NjUsMHhGRCwweEU4LDB4ODAsMHhGRCwweEY4LDB4QzMsMHg5MCwKLTB4QjgsMHgwMCwweDgwLDB4RTgsMHgzRCwweEZELDB4RTgsMHg3NCwweEZELDB4RTgsMHg2OCwweEZFLDB4QjAsMHgwMiwweEU4LDB4NzksCi0weEZFLDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDgwLDB4RTgsMHg0NSwweEZELDB4RTgsMHg2MCwweEZELDB4RjgsMHhDMywweDkwLAotMHhCOCwweDAwLDB4MjAsMHhFOCwweDFELDB4RkQsMHhFOCwweDU0LDB4RkQsMHhFOCwweDQ4LDB4RkUsMHhCMCwweDA0LDB4RTgsMHg1OSwKLTB4RkUsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4MjAsMHhFOCwweDI1LDB4RkQsMHhFOCwweDQwLDB4RkQsMHhGOCwweEMzLDB4OTAsCi0weEFDLDB4NDksMHhFOCwweDQ4LDB4MTQsMHhFNCwweDNDLDB4MjQsMHhFNywweDBBLDB4QzQsMHhFNiwweDNDLDB4RjgsMHhDMywweDkwLAotMHhCOCwweEZDLDB4M0IsMHg4OSwweDQ2LDB4N0MsMHhFNCwweDNDLDB4MEMsMHgxOCwweEU2LDB4M0MsMHhGOCwweEMzLDB4RTQsMHgxMiwKLTB4MEMsMHgwMiwweEU2LDB4MTIsMHhGOCwweEMzLDB4RTQsMHgxMiwweDI0LDB4RkQsMHhFQiwweEY2LDB4RTgsMHhCNSwweEZDLDB4RjgsCi0weEMzLDB4OTAsMHg4MywweDY2LDB4MzgsMHhGRCwweEY4LDB4QzMsMHhBQywweDQ5LDB4QTgsMHgwMSwweDc0LDB4MDYsMHg4MywweDRFLAotMHg3QSwweDIwLDB4RUIsMHgwNCwweDgzLDB4NjYsMHg3QSwweERGLDB4RTgsMHhDQiwweEZCLDB4RjgsMHhDMywweDkwLDB4OEEsMHg4NiwKLTB4QTUsMHgwMCwweDBDLDB4MDIsMHgyNCwweEZCLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4ODEsMHg0RSwweDI2LDB4MDEsCi0weDIwLDB4QUMsMHg0OSwweDMyLDB4RTQsMHg4OSwweDQ2LDB4NkUsMHg4MywweDRFLDB4NDgsMHgwOCwweDQ5LDB4NDYsMHhGOSwweEMzLAotMHg4QSwweDg2LDB4QTUsMHgwMCwweDBDLDB4MDIsMHgyNCwweEZCLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4ODEsMHg0RSwKLTB4MjYsMHgwMSwweDIwLDB4QUMsMHhCNCwweDBBLDB4RjYsMHhFNCwweEVCLDB4RDgsMHhFOCwweEZBLDB4MTMsMHhFNCwweDNDLDB4MjQsCi0weEY4LDB4MEEsMHhDNCwweEU2LDB4M0MsMHhGOCwweEMzLDB4OTAsMHhBRCwweDQ5LDB4NDksMHg4OSwweDQ2LDB4NjQsMHhBOSwweDAxLAotMHgwMCwweDc0LDB4MUIsMHg4QiwweEQ4LDB4ODMsMHhFMywweEZBLDB4NzUsMHgxQSwweEE5LDB4MDQsMHgwMCwweDc0LDB4MEYsMHhFNCwKLTB4M0UsMHgwQywweDAyLDB4RTYsMHgzRSwweEI4LDB4MzgsMHg0NCwweDg5LDB4NDYsMHg2MiwweEY4LDB4QzMsMHg5MCwweEU0LDB4M0UsCi0weDI0LDB4RkMsMHhFQiwweEVGLDB4RTQsMHgzRSwweDI0LDB4RkMsMHhFNiwweDNFLDB4RTgsMHhFOCwweEZDLDB4QjgsMHhBQSwweDQwLAotMHhFQiwweEU2LDB4RTgsMHg2RSwweEY4LDB4NzIsMHgwNSwweEIwLDB4MTgsMHhFNiwweDBBLDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwKLTB4RTgsMHhDRiwweEY5LDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4Q0YsMHhGOSwweEY4LDB4QzMsMHg5MCwweEU4LDB4NjgsCi0weEZELDB4NzUsMHgwNiwweDMyLDB4QzAsMHhFNiwweERBLDB4RjgsMHhDMywweEIwLDB4MDIsMHhFNiwweERBLDB4MzYsMHhBMCwweEI0LAotMHgxMywweDI0LDB4MTAsMHgzNCwweDEwLDB4RTgsMHgxNiwweDAxLDB4MzYsMHhBMSwweEI0LDB4MTMsMHhBOSwweDAxLDB4MDAsMHg3NCwKLTB4MDUsMHhFOCwweEZDLDB4RkUsMHhFQiwweDBFLDB4QTksMHgwMiwweDAwLDB4NzQsMHgwNCwweDMyLDB4QzAsMHhFQiwweDAyLDB4QjAsCi0weDAxLDB4RTgsMHhERSwweEZFLDB4MzYsMHhBMSwweEI0LDB4MTMsMHhFOCwweEI1LDB4MTMsMHhFNCwweDNDLDB4MjQsMHhGOCwweDBBLAotMHhDNCwweEU2LDB4M0MsMHgzNiwweEExLDB4QjQsMHgxMywweEMxLDB4RTgsMHgwNSwweDI1LDB4MDEsMHgwMCwweEU4LDB4RkEsMHhGRSwKLTB4MzYsMHhBMCwweEI1LDB4MTMsMHgyNCwweDEwLDB4RTgsMHg1OSwweEZCLDB4MzIsMHhDMCwweDM2LDB4OEEsMHgyNiwweEI1LDB4MTMsCi0weEY2LDB4QzQsMHgwNCwweDc0LDB4MDksMHhGRSwweEMwLDB4RjYsMHhDNCwweDA4LDB4NzQsMHgwMiwweEZFLDB4QzAsMHhFOCwweERCLAotMHhGRCwweDM2LDB4QTEsMHhCNiwweDEzLDB4MjUsMHgwRiwweDAwLDB4RTgsMHg1NywweEY5LDB4MzYsMHhBMSwweEI2LDB4MTMsMHhDMSwKLTB4RTgsMHgwNCwweDI1LDB4MDMsMHgwMCwweEU4LDB4QjgsMHhGQSwweDM2LDB4QTEsMHhCNiwweDEzLDB4QzEsMHhFOCwweDA1LDB4MjUsCi0weDAyLDB4MDAsMHhFOCwweDA1LDB4RkIsMHgzNiwweEExLDB4QjYsMHgxMywweEY2LDB4QzQsMHgwMSwweDc1LDB4MDQsMHgzMiwweEMwLAotMHhFQiwweDA5LDB4ODAsMHhFNCwweDAyLDB4RDAsMHhFQywweEIwLDB4MDIsMHgyQSwweEM0LDB4RTgsMHhBQywweEZBLDB4MzYsMHhGNiwKLTB4MDYsMHhCNywweDEzLDB4NDAsMHg3NCwweDA1LDB4RTgsMHg4MywweEZFLDB4RUIsMHgwMywweEU4LDB4ODQsMHhGRSwweDM2LDB4RjYsCi0weDA2LDB4QjcsMHgxMywweDIwLDB4NzQsMHgwNSwweEU4LDB4NjUsMHhGRSwweEVCLDB4MDMsMHhFOCwweDY4LDB4RkUsMHhGOCwweEMzLAotMHhFNCwweDEyLDB4MEMsMHgwMSwweEU2LDB4MTIsMHhGOCwweEMzLDB4RTQsMHgxMiwweDI0LDB4RkUsMHhFQiwweEY2LDB4RTQsMHgxNCwKLTB4MjQsMHhGMCwweDBDLDB4MDUsMHhFNiwweDE0LDB4RTQsMHgyQSwweDI0LDB4RjAsMHgwQywweDA2LDB4RTYsMHgyQSwweEY4LDB4QzMsCi0weEU0LDB4MkEsMHgyNCwweEYwLDB4RTYsMHgyQSwweEU0LDB4MTQsMHgyNCwweEYwLDB4MEMsMHgwNywweEU2LDB4MTQsMHhGOCwweEMzLAotMHhBRCwweDQ5LDB4NDksMHhFOCwweDY0LDB4RjksMHg4OSwweDg2LDB4OEUsMHgwMCwweEY4LDB4QzMsMHhBRCwweDQ5LDB4NDksMHhFOCwKLTB4NTgsMHhGOSwweDg5LDB4ODYsMHg5MCwweDAwLDB4RjgsMHhDMywweDgzLDB4NEUsMHgyNiwweDA0LDB4RTgsMHhBOCwweEY3LDB4RjgsCi0weEMzLDB4OTAsMHg4MywweDY2LDB4MjYsMHhGQiwweEU4LDB4OUUsMHhGNywweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHg4NCwweEMwLAotMHg3NSwweDBELDB4RTQsMHgxMCwweDI0LDB4RUYsMHhFNiwweDEwLDB4ODAsMHg4RSwweEExLDB4MDAsMHg0MiwweEY4LDB4QzMsMHhFNCwKLTB4MTAsMHgwQywweDEwLDB4RUIsMHhGMSwweDkwLDB4QUMsMHg0OSwweDNDLDB4MDIsMHg3NiwweDAyLDB4MzIsMHhDMCwweEMwLDB4RTAsCi0weDA0LDB4QTgsMHgyMCwweDc0LDB4MDIsMHgwQywweDA4LDB4MjQsMHgxOCwweDhBLDB4RTAsMHhFNCwweDEyLDB4MjQsMHhFNywweDBBLAotMHhDNCwweEU2LDB4MTIsMHg4MCwweDhFLDB4QTEsMHgwMCwweDQ0LDB4RjgsMHhDMywweEFDLDB4NDksMHg4OCwweDg2LDB4QzAsMHgwMCwKLTB4RjgsMHhDMywweEFDLDB4NDksMHhFNiwweDNBLDB4RjgsMHhDMywweEFDLDB4NDksMHg4NCwweEMwLDB4NzQsMHgwOCwweEU0LDB4MTIsCi0weDBDLDB4MDQsMHhFNiwweDEyLDB4RjgsMHhDMywweEU0LDB4MTIsMHgyNCwweEZCLDB4RUIsMHhGNiwweEFDLDB4NDksMHhFOCwweEQ2LAotMHhGNiwweDczLDB4MDMsMHhFOCwweDI3LDB4RjcsMHhGOCwweEMzLDB4RTQsMHgxMiwweEE4LDB4MDIsMHg3NCwweDA0LDB4MjQsMHhGRCwKLTB4RTYsMHgxMiwweEI4LDB4RjAsMHgwMCwweEU4LDB4ODcsMHhGQSwweDgxLDB4NjYsMHgyNiwweEZGLDB4RjMsMHhFOCwweDU3LDB4RjcsCi0weEU4LDB4OUEsMHhGQSwweEY4LDB4QzMsMHg5MCwweEI4LDB4ODAsMHgwMCwweEU4LDB4NTcsMHhGQSwweDgwLDB4NEUsMHgyNywweDA4LAotMHhFOCwweDQ0LDB4RjcsMHhFOCwweDg3LDB4RkEsMHhGOCwweEMzLDB4QjgsMHg4MCwweDAwLDB4RTgsMHg2MSwweEZBLDB4ODEsMHg2NiwKLTB4MjYsMHhGRiwweEY3LDB4RTgsMHgzMSwweEY3LDB4RTgsMHg3NCwweEZBLDB4RjgsMHhDMywweDkwLDB4QjgsMHgxMCwweDAwLDB4RTgsCi0weDMxLDB4RkEsMHg4MCwweDRFLDB4MjcsMHgwNCwweEU4LDB4MUUsMHhGNywweEU4LDB4NjEsMHhGQSwweEY4LDB4QzMsMHhCOCwweDEwLAotMHgwMCwweEU4LDB4M0IsMHhGQSwweDgxLDB4NjYsMHgyNiwweEZGLDB4RkIsMHhFOCwweDBCLDB4RjcsMHhFOCwweDRFLDB4RkEsMHhGOCwKLTB4QzMsMHg5MCwweDMzLDB4QzAsMHhBQywweDQ5LDB4M0MsMHgwMSwweDczLDB4MDQsMHhCMCwweDAxLDB4RUIsMHgwNiwweDNDLDB4MEMsCi0weDc2LDB4MDIsMHhCMCwweDBDLDB4ODksMHg0NiwweDFDLDB4RjgsMHhDMywweDkwLDB4ODEsMHg0RSwweDI2LDB4MDAsMHgyMCwweDhBLAotMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4MjQsMHhGQiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweDgzLDB4NEUsMHgyNiwKLTB4MDEsMHhGOCwweEMzLDB4OTAsMHg4MSwweDRFLDB4MjYsMHgwMCwweDQwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4ODgsCi0weDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4NTAsMHhFOCwweDA1LDB4RjYsMHg1OCwweDcyLAotMHgwOCwweEU2LDB4MzgsMHhCMCwweDIzLDB4RTYsMHgwQSwweEY4LDB4QzMsMHhGOSwweEMzLDB4OTAsMHhBQywweDUwLDB4QUQsMHhFOCwKLTB4ODIsMHhGOCwweDVBLDB4RjYsMHhDMiwweDAxLDB4NzQsMHgxMiwweDM5LDB4ODYsMHg5NiwweDAwLDB4NzQsMHgwQywweDg5LDB4ODYsCi0weDk2LDB4MDAsMHhFNiwweEYwLDB4ODYsMHhFMCwweEU2LDB4RjgsMHg4NiwweEUwLDB4RjYsMHhDMiwweDAyLDB4NzQsMHgxMCwweDM5LAotMHg4NiwweDk0LDB4MDAsMHg3NCwweDBBLDB4ODksMHg4NiwweDk0LDB4MDAsMHhFNiwweEU0LDB4ODYsMHhFMCwweEU2LDB4RUMsMHg4MywKLTB4RTksMHgwMywweEMzLDB4OTAsMHhFNCwweDE2LDB4ODgsMHg4NiwweEJDLDB4MDAsMHhFOCwweEU2LDB4RkEsMHgzMywweERCLDB4RTQsCi0weDBDLDB4QTgsMHgwNiwweDc0LDB4MDMsMHg4MCwweENCLDB4MDEsMHhBOCwweDEwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHgwMiwweEE4LAotMHg4MCwweDc0LDB4MDMsMHg4MCwweENCLDB4MDQsMHhFNCwweDEyLDB4OEEsMHhFMCwweDI0LDB4MTgsMHgwQSwweEQ4LDB4RTQsMHhEQSwKLTB4RjYsMHhDNCwweDAyLDB4NzQsMHgwNywweEE4LDB4NDAsMHg3NSwweDAzLDB4ODAsMHhDQiwweDIwLDB4QTgsMHgwMiwweDc1LDB4MDksCi0weEU0LDB4MkEsMHhBOCwweDBGLDB4NzQsMHgwMywweDgwLDB4Q0IsMHg0MCwweEY3LDB4NDYsMHgzOCwweDAyLDB4MDAsMHg3NCwweDA5LAotMHhFNCwweEQ4LDB4QTgsMHgwMSwweDc1LDB4MDMsMHg4MCwweENCLDB4ODAsMHg4OCwweDlFLDB4QkUsMHgwMCwweEZFLDB4ODYsMHhCNCwKLTB4MDAsMHhCMCwweDBBLDB4RTgsMHg1QywweEU0LDB4RjgsMHhDMywweEFDLDB4NDksMHgzQywweDAyLDB4NzQsMHg0MSwweDc3LDB4MUYsCi0weDUwLDB4RTgsMHg0RiwweEY1LDB4NTgsMHg3MiwweDBDLDB4ODQsMHhDMCwweDc0LDB4MEEsMHhCMCwweDEyLDB4RTYsMHgwQSwweDgwLAotMHg0RSwweDM4LDB4MDEsMHhGOCwweEMzLDB4QjAsMHgxMSwweEU2LDB4MEEsMHg4MCwweDY2LDB4MzgsMHhGRSwweEY4LDB4QzMsMHg4QiwKLTB4NDYsMHgzOCwweDI1LDB4RkYsMHhGNywweDg5LDB4NDYsMHgzOCwweEE5LDB4MDAsMHgwNCwweDc1LDB4RTYsMHg4QSwweDg2LDB4QTUsCi0weDAwLDB4QTgsMHgxMCwweDc1LDB4REUsMHgwQywweDEwLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4RjgsMHhDMywweDgxLAotMHg0RSwweDM4LDB4MDAsMHgwOCwweDhBLDB4ODYsMHhBNSwweDAwLDB4QTgsMHgxMCwweDc0LDB4QzcsMHgyNCwweEVGLDB4RUIsMHhFNywKLTB4QUQsMHg0OSwweDQ5LDB4M0MsMHgwMSwweDcyLDB4MTEsMHgzQywweDBDLDB4NzcsMHgwRCwweDUwLDB4OEEsMHhFMCwweEU0LDB4MTQsCi0weDI1LDB4RjAsMHgwRiwweDBBLDB4QzQsMHhFNiwweDE0LDB4NTgsMHg4QSwweEM0LDB4ODQsMHhDMCwweDc0LDB4MDIsMHhFNiwweDQyLAotMHhGOCwweEMzLDB4RTgsMHhDRiwweEY5LDB4RkUsMHg4NiwweEI5LDB4MDAsMHhCMCwweDBFLDB4RTgsMHhENCwweEUzLDB4RjgsMHhDMywKLTB4M0EsMHg4NiwweEFGLDB4MDAsMHg3NCwweDFGLDB4ODgsMHg4NiwweEFGLDB4MDAsMHg4QSwweEUwLDB4ODAsMHhDMiwweDA2LDB4QjAsCi0weEJGLDB4RUUsMHg4MCwweEVBLDB4MDIsMHg4QSwweEM0LDB4RUUsMHg4QSwweDg2LDB4QTgsMHgwMCwweDgwLDB4QzIsMHgwMiwweEVFLAotMHg4MCwweEVBLDB4MDYsMHg4QSwweEM0LDB4QzMsMHg4QiwweDQ2LDB4M0UsMHg4NSwweEMwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHg3NCwKLTB4MTIsMHhBOCwweDA4LDB4NzUsMHgwRCwweDBDLDB4MDgsMHg4OCwweDg2LDB4QTUsMHgwMCwweDgwLDB4QzIsMHgwMiwweEVFLDB4ODAsCi0weEVBLDB4MDIsMHhDMywweEE4LDB4MDgsMHg3NCwweEZCLDB4MjQsMHhGNywweEVCLDB4RUMsMHg4QiwweDQ2LDB4MjYsMHg4NCwweEMwLAotMHg3NCwweDE2LDB4OEEsMHg4NiwweEE1LDB4MDAsMHhBOCwweDAyLDB4NzQsMHgwRCwweDI0LDB4RkQsMHg4OCwweDg2LDB4QTUsMHgwMCwKLTB4ODMsMHhDMiwweDAyLDB4RUUsMHg4MywweEVBLDB4MDIsMHhDMywweDhBLDB4ODYsMHhBNSwweDAwLDB4QTgsMHgwMiwweDc1LDB4RjcsCi0weDBDLDB4MDIsMHhFQiwweEU4LDB4NTIsMHg4MywweEMyLDB4MEMsMHhFQywweEMwLDB4RTgsMHgwNCwweDg4LDB4ODYsMHhBOSwweDAwLAotMHg4QiwweDVFLDB4MjYsMHg4MCwweEUzLDB4M0YsMHhGNiwweEM3LDB4MDQsMHg3NCwweDA3LDB4QTgsMHgwOCwweDc1LDB4MDMsMHg4MCwKLTB4Q0IsMHg0MCwweEY2LDB4QzcsMHgwOCwweDc0LDB4MDcsMHhBOCwweDAyLDB4NzUsMHgwMywweDgwLDB4Q0IsMHg4MCwweDg4LDB4NUUsCi0weDI2LDB4OEEsMHg4NiwweEE1LDB4MDAsMHg4NCwweERCLDB4NzQsMHgxMCwweEE4LDB4MDIsMHg3NCwweDBBLDB4MjQsMHhGRCwweDg4LAotMHg4NiwweEE1LDB4MDAsMHg4MywweEVBLDB4MEEsMHhFRSwweDVBLDB4QzMsMHhBOCwweDAyLDB4NzUsMHhGQSwweDBDLDB4MDIsMHhFQiwKLTB4RUUsMHg5MCwweEZGLDB4RkYsMHgwMCwweDQ4LDB4MDAsMHgzMCwweEJBLDB4MjAsMHhDNCwweDFBLDB4MDAsMHgxOCwweDAwLDB4MTIsCi0weDAwLDB4MEMsMHgwMCwweDA2LDB4MDAsMHgwMywweDAwLDB4MDIsMHg4MCwweDAxLDB4QzAsMHgwMCwweDYwLDB4MDAsMHgzMCwweDAwLAotMHgxOCwweDAwLDB4Q0QsMHgwMSwweDAwLDB4MDEsMHg4MCwweDAwLDB4MTAsMHgwMCwweDEwLDB4MDAsMHgwRSwweDAwLDB4MEMsMHgwMCwKLTB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwweDA0LDB4MDAsMHgwMywweDAwLDB4MDIsMHgwMCwweDAxLDB4MDAsCi0weDUyLDB4NTEsMHg1NiwweDNDLDB4MUUsMHg3NywweDQ3LDB4OTgsMHg4QiwweEYwLDB4OEEsMHg4MiwweEM0LDB4MDAsMHgzMiwweEU0LAotMHg4MywweEZFLDB4MTgsMHg3NCwweDNELDB4ODMsMHhGRSwweDE5LDB4NzQsMHgzRSwweDgzLDB4RkUsMHgxRSwweDc3LDB4MkYsMHhEMSwKLTB4RTYsMHgyRSwweDhCLDB4OEMsMHgzMiwweDJELDB4M0IsMHg4RSwweDk0LDB4MDAsMHg3NCwweDIyLDB4ODksMHg4RSwweDk0LDB4MDAsCi0weDgzLDB4QzIsMHgwNiwweDhBLDB4ODYsMHhBOCwweDAwLDB4OEEsMHhFMCwweDBDLDB4ODAsMHhFRSwweDgzLDB4RUEsMHgwNiwweDhBLAotMHhDMSwweEVFLDB4ODMsMHhDMiwweDAyLDB4OEEsMHhDNSwweEVFLDB4ODMsMHhDMiwweDA0LDB4OEEsMHhDNCwweEVFLDB4NUUsMHg1OSwKLTB4NUEsMHhDMywweDhCLDB4OEUsMHg4RSwweDAwLDB4RUIsMHhDRSwweDhCLDB4OEUsMHg5MCwweDAwLDB4RUIsMHhDOCwweDUyLDB4NTEsCi0weDNELDB4MDUsMHgwMCwweDc3LDB4MDMsMHhCOCwweDA1LDB4MDAsMHg4QiwweEM4LDB4QkEsMHgwMiwweDAwLDB4QjgsMHgwMCwweEQwLAotMHhGNywweEYxLDB4MDUsMHgwMSwweDAwLDB4RDEsMHhFOCwweDU5LDB4NUEsMHhDMywweDhCLDB4NDYsMHg3QSwweEE4LDB4MjAsMHg3NCwKLTB4MEIsMHg4MCwweEJFLDB4QzMsMHgwMCwweDAzLDB4NzUsMHgwNCwweDBDLDB4MDEsMHhFQiwweDAyLDB4MjQsMHhGRSwweDg5LDB4NDYsCi0weDdBLDB4QzMsMHgyNCwweDAzLDB4ODgsMHg4NiwweEMzLDB4MDAsMHg4QSwweEE2LDB4QTgsMHgwMCwweDhBLDB4REMsMHg4MCwweEU0LAotMHhGQywweDBBLDB4QzQsMHgzQSwweEMzLDB4NzQsMHgwQiwweDg4LDB4ODYsMHhBOCwweDAwLDB4ODMsMHhDMiwweDA2LDB4RUUsMHg4MywKLTB4RUEsMHgwNiwweEU4LDB4QzUsMHhGRiwweEMzLDB4MDAsMHgwOCwweDE4LDB4MzgsMHgyOCwweDkwLDB4M0MsMHgwNCwweDc3LDB4MjMsCi0weDMyLDB4RTQsMHg4QiwweEQ4LDB4MkUsMHg4QSwweDg3LDB4MjYsMHgyRSwweDhBLDB4QTYsMHhBOCwweDAwLDB4OEEsMHhEQywweDgwLAotMHhFNCwweEM3LDB4MEEsMHhDNCwweDNBLDB4QzMsMHg3NCwweDBCLDB4ODgsMHg4NiwweEE4LDB4MDAsMHg4MywweEMyLDB4MDYsMHhFRSwKLTB4ODMsMHhFQSwweDA2LDB4QzMsMHg4NCwweEMwLDB4NzQsMHgwMiwweEIwLDB4MDQsMHg4QSwweEE2LDB4QTgsMHgwMCwweDhBLDB4REMsCi0weDgwLDB4RTQsMHhGQiwweDBBLDB4QzQsMHgzQSwweEMzLDB4NzQsMHgwQiwweDg4LDB4ODYsMHhBOCwweDAwLDB4ODMsMHhDMiwweDA2LAotMHhFRSwweDgzLDB4RUEsMHgwNiwweEMzLDB4OTAsMHg4QiwweDVFLDB4MzgsMHg4NCwweEMwLDB4NzQsMHgzNCwweDNDLDB4MDIsMHg3NCwKLTB4M0IsMHg4QSwweDg2LDB4QUYsMHgwMCwweDBDLDB4MDQsMHhFOCwweEU2LDB4RkQsMHg4QiwweDQ2LDB4MkUsMHgzQiwweDQ2LDB4M0MsCi0weDc3LDB4MUIsMHhGNywweEMzLDB4MDAsMHgwNCwweDc1LDB4MTUsMHg4MSwweENCLDB4MDAsMHgwNCwweDgzLDB4QzIsMHgwMiwweDhBLAotMHg4NiwweEE1LDB4MDAsMHgyNCwweEZBLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFRSwweDgzLDB4RUEsMHgwMiwweDg5LDB4NUUsMHgzOCwKLTB4QzMsMHg4QSwweDg2LDB4QUYsMHgwMCwweDI0LDB4RkIsMHhFOCwweEI2LDB4RkQsMHhFQiwweEYxLDB4RjcsMHhDMywweDEwLDB4MDAsCi0weDc0LDB4RUYsMHhFQiwweEVELDB4ODMsMHhDMiwweDBDLDB4RUMsMHg4MywweEVBLDB4MEMsMHhDMCwweEU4LDB4MDQsMHg4OCwweDg2LAotMHhBOSwweDAwLDB4QzMsMHg5MCwweDhBLDB4ODYsMHhBNywweDAwLDB4MEMsMHgwMSwweDg4LDB4ODYsMHhBNywweDAwLDB4OEIsMHhEQSwKLTB4ODAsMHhDMiwweDA4LDB4RUUsMHg4QiwweEQzLDB4RjgsMHhDMywweDhBLDB4ODYsMHhBNywweDAwLDB4MjQsMHhGRSwweEVCLDB4RUEsCi0weDhBLDB4ODYsMHhBNywweDAwLDB4MEMsMHgwMiwweEVCLDB4RTIsMHg4QSwweDg2LDB4QTcsMHgwMCwweDI0LDB4RkQsMHhFQiwweERBLAotMHhCMCwweEZGLDB4RTgsMHg1MiwweEYyLDB4RTgsMHg5NywweEYyLDB4RjgsMHhDMywweEFDLDB4NDksMHhFOCwweDYxLDB4RkUsMHhGOCwKLTB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweEVCLDB4RkUsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHgzNSwweEZGLDB4RjgsCi0weEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHgwNSwweEZGLDB4RjgsMHhDMywweDkwLDB4NTIsMHg4MywweEMyLDB4MDYsMHhCMCwweEJGLAotMHhFRSwweDUyLDB4ODMsMHhDMiwweDAyLDB4QUMsMHg0OSwweEVFLDB4NUEsMHg4QSwweDg2LDB4QTgsMHgwMCwweEVFLDB4NUEsMHhGOCwKLTB4QzMsMHg5MCwweDUyLDB4ODMsMHhDMiwweDA2LDB4QjAsMHhCRiwweEVFLDB4NTIsMHg4MywweEMyLDB4MDYsMHhFQiwweEU2LDB4OTAsCi0weEFDLDB4NDksMHgzQywweDAyLDB4NzcsMHgwRCwweDg0LDB4QzAsMHg3NSwweDBCLDB4OEEsMHg4NiwweEFGLDB4MDAsMHgyNCwweEZELAotMHhFOCwweDBELDB4RkQsMHhGOCwweEMzLDB4NTAsMHg4QSwweDg2LDB4QUYsMHgwMCwweDBDLDB4MDIsMHhFOCwweDAxLDB4RkQsMHg1QiwKLTB4ODMsMHhDMiwweDA4LDB4OEEsMHg4NiwweEE3LDB4MDAsMHhGNiwweEMzLDB4MDEsMHg3NCwweDBDLDB4MjQsMHhERiwweDg4LDB4ODYsCi0weEE3LDB4MDAsMHhFRSwweDgzLDB4RUEsMHgwOCwweEY4LDB4QzMsMHgwQywweDIwLDB4RUIsMHhGMiwweEFDLDB4NDksMHhFOCwweEU1LAotMHhGRSwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHg0MCwweEU4LDB4NjksMHhGNSwweEU4LDB4RjksMHhGQywweEU4LDB4MjQsMHhGRiwKLTB4QjAsMHgwMSwweEU4LDB4QTUsMHhGNiwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHg0MCwweEU4LDB4NzEsMHhGNSwweEU4LDB4RTUsCi0weEZDLDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDEwLDB4RTgsMHg0OSwweEY1LDB4RTgsMHhEOSwweEZDLDB4RTgsMHgwNCwweEZGLAotMHhCMCwweDA4LDB4RTgsMHg4NSwweEY2LDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDEwLDB4RTgsMHg1MSwweEY1LDB4RTgsMHhDNSwKLTB4RkMsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4ODAsMHhFOCwweDI5LDB4RjUsMHhFOCwweEI5LDB4RkMsMHhFOCwweEU0LDB4RkUsCi0weEIwLDB4MDIsMHhFOCwweDY1LDB4RjYsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4ODAsMHhFOCwweDMxLDB4RjUsMHhFOCwweEE1LAotMHhGQywweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHgyMCwweEU4LDB4MDksMHhGNSwweEU4LDB4OTksMHhGQywweEU4LDB4QzQsMHhGRSwKLTB4QjAsMHgwNCwweEU4LDB4NDUsMHhGNiwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHgyMCwweEU4LDB4MTEsMHhGNSwweEU4LDB4ODUsCi0weEZDLDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4MzQsMHgwQywweEY4LDB4QzMsMHg5MCwweEI4LDB4RkMsMHgzQiwweDg5LAotMHg0NiwweDdDLDB4RjgsMHhDMywweDhBLDB4ODYsMHhBRiwweDAwLDB4MEMsMHg4MCwweEU4LDB4NDMsMHhGQywweEY4LDB4QzMsMHg5MCwKLTB4OEEsMHg4NiwweEFGLDB4MDAsMHgyNCwweDdGLDB4RUIsMHhGMiwweDhBLDB4ODYsMHhBRiwweDAwLDB4MEMsMHg0MCwweEU4LDB4MkYsCi0weEZDLDB4RjgsMHhDMywweDkwLDB4OEEsMHg4NiwweEFGLDB4MDAsMHgyNCwweEJGLDB4RUIsMHhGMiwweEFDLDB4NDksMHhBOCwweDAxLAotMHg3NCwweDA3LDB4ODMsMHg0RSwweDdBLDB4MjAsMHhFQiwweDA1LDB4OTAsMHg4MywweDY2LDB4N0EsMHhERiwweEU4LDB4OEEsMHhGRCwKLTB4RjgsMHhDMywweDgzLDB4QzIsMHgwNiwweDhBLDB4ODYsMHhBOCwweDAwLDB4MEMsMHg0MCwweDg4LDB4ODYsMHhBOCwweDAwLDB4RUUsCi0weDgzLDB4RUEsMHgwNiwweEFDLDB4NDksMHgzMiwweEU0LDB4ODksMHg0NiwweDZFLDB4ODMsMHg0RSwweDI2LDB4MDEsMHg4MywweDRFLAotMHg0OCwweDA4LDB4QjAsMHgwNiwweEU4LDB4QkIsMHhERiwweDQ5LDB4NDYsMHhGOSwweEMzLDB4OTAsMHg4MywweEMyLDB4MDYsMHg4QSwKLTB4ODYsMHhBOCwweDAwLDB4MEMsMHg0MCwweDg4LDB4ODYsMHhBOCwweDAwLDB4RUUsMHg4MywweEVBLDB4MDYsMHhBQywweEI0LDB4MEEsCi0weEY2LDB4RTQsMHhFQiwweEQwLDB4RTgsMHhFMCwweDBCLDB4RjgsMHhDMywweDkwLDB4QUQsMHg0OSwweDQ5LDB4ODksMHg0NiwweDY0LAotMHhBOSwweDAxLDB4MDAsMHg3NCwweDE5LDB4OEIsMHhEOCwweDgzLDB4RTMsMHhGQSwweDc1LDB4MEEsMHhBOSwweDA0LDB4MDAsMHg3NCwKLTB4MEQsMHhCOCwweEUyLDB4M0YsMHhFQiwweDBCLDB4RTgsMHhFQywweEY0LDB4QjgsMHhBQSwweDQwLDB4RUIsMHgwMywweEI4LDB4MzgsCi0weDQ0LDB4ODksMHg0NiwweDYyLDB4RjgsMHhDMywweDhBLDB4ODYsMHhBRiwweDAwLDB4QTgsMHgwMiwweDc0LDB4MEEsMHgyNCwweEZELAotMHhFOCwweDhELDB4RkIsMHgwQywweDAyLDB4RTgsMHg4OCwweEZCLDB4RjgsMHhDMywweEFDLDB4NDksMHhFOCwweDgxLDB4RkMsMHhGOCwKLTB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweDc5LDB4RkMsMHhGOCwweEMzLDB4OTAsMHhFOCwweDVDLDB4RjUsMHg3NSwweDA1LDB4RTgsCi0weEU2LDB4RkQsMHhGOCwweEMzLDB4RTgsMHhDRCwweEZELDB4MzYsMHhBMCwweEI0LDB4MTMsMHgyNCwweDEwLDB4MzQsMHgxMCwweEU4LAotMHgyNiwweDAxLDB4MzYsMHhBMSwweEI0LDB4MTMsMHhBOSwweDAxLDB4MDAsMHg3NCwweDA1LDB4RTgsMHhGRSwweEZFLDB4RUIsMHgwRSwKLTB4QTksMHgwMiwweDAwLDB4NzQsMHgwNCwweDMyLDB4QzAsMHhFQiwweDAyLDB4QjAsMHgwMSwweEU4LDB4RTgsMHhGRSwweDM2LDB4QTEsCi0weEI0LDB4MTMsMHhFOCwweEFCLDB4MEIsMHgzNiwweEExLDB4QjQsMHgxMywweEMxLDB4RTgsMHgwNSwweDI1LDB4MDEsMHgwMCwweEU4LAotMHgwQywweEZGLDB4MzYsMHhBMCwweEI1LDB4MTMsMHgyNCwweDEwLDB4RTgsMHgyQiwweEZELDB4MzIsMHhDMCwweDM2LDB4OEEsMHgyNiwKLTB4QjUsMHgxMywweEY2LDB4QzQsMHgwNCwweDc0LDB4MDksMHhGRSwweEMwLDB4RjYsMHhDNCwweDA4LDB4NzQsMHgwMiwweEZFLDB4QzAsCi0weEU4LDB4RUYsMHhGRCwweDM2LDB4QTEsMHhCNiwweDEzLDB4MjUsMHgwRiwweDAwLDB4RTgsMHgwMywweEZDLDB4MzYsMHhBMSwweEI2LAotMHgxMywweEMxLDB4RTgsMHgwNCwweDI1LDB4MDMsMHgwMCwweEU4LDB4ODgsMHhGQywweDM2LDB4QTEsMHhCNiwweDEzLDB4QzEsMHhFOCwKLTB4MDUsMHgyNSwweDAyLDB4MDAsMHhFOCwweENELDB4RkMsMHgzNiwweEExLDB4QjYsMHgxMywweEY2LDB4QzQsMHgwMSwweDc1LDB4MDQsCi0weDMyLDB4QzAsMHhFQiwweDA5LDB4ODAsMHhFNCwweDAyLDB4RDAsMHhFQywweEIwLDB4MDIsMHgyQSwweEM0LDB4RTgsMHg4QywweEZDLAotMHgzNiwweEY2LDB4MDYsMHhCNywweDEzLDB4NDAsMHg3NCwweDA1LDB4RTgsMHg4RCwweEZFLDB4RUIsMHgwMywweEU4LDB4OTQsMHhGRSwKLTB4MzYsMHhGNiwweDA2LDB4QjcsMHgxMywweDIwLDB4NzQsMHgwNSwweEU4LDB4NjksMHhGRSwweEVCLDB4MDMsMHhFOCwweDcwLDB4RkUsCi0weEY4LDB4QzMsMHhGOCwweEMzLDB4OEIsMHg0NiwweDM4LDB4QTksMHgwNCwweDAwLDB4NzUsMHgyMywweDBELDB4MDQsMHgwMCwweDg5LAotMHg0NiwweDM4LDB4ODMsMHhDMiwweDA4LDB4OEIsMHg0NiwweDJFLDB4M0IsMHg0NiwweDNDLDB4NzMsMHgxNCwweDgzLDB4NEUsMHgzOCwKLTB4MTAsMHg4QSwweDg2LDB4QTcsMHgwMCwweDI0LDB4RkUsMHg4OCwweDg2LDB4QTcsMHgwMCwweEVFLDB4ODMsMHhFQSwweDA4LDB4RjgsCi0weEMzLDB4OEEsMHg4NiwweEE3LDB4MDAsMHgwQywweDAxLDB4RUIsMHhFRSwweDkwLDB4OEIsMHg0NiwweDM4LDB4QTksMHgwNCwweDAwLAotMHg3NCwweDA2LDB4MjUsMHhGQiwweEZGLDB4ODksMHg0NiwweDM4LDB4RjgsMHhDMywweEFELDB4NDksMHg0OSwweEU4LDB4QkUsMHhGQiwKLTB4ODksMHg4NiwweDhFLDB4MDAsMHhGOCwweEMzLDB4QUQsMHg0OSwweDQ5LDB4RTgsMHhCMiwweEZCLDB4ODksMHg4NiwweDkwLDB4MDAsCi0weEY4LDB4QzMsMHg4MywweDRFLDB4MjYsMHgwNCwweEU4LDB4OTIsMHhGQSwweEY4LDB4QzMsMHg5MCwweDgzLDB4NjYsMHgyNiwweEZCLAotMHhFOCwweDg4LDB4RkEsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4ODQsMHhDMCwweDc1LDB4MDcsMHg4MCwweDhFLDB4QTMsMHgwMCwKLTB4MDQsMHhGOCwweEMzLDB4ODAsMHhBNiwweEEzLDB4MDAsMHhGQiwweEY4LDB4QzMsMHhBQywweDQ5LDB4ODMsMHhDMiwweDA4LDB4M0MsCi0weDAyLDB4NzYsMHgwMiwweDMyLDB4QzAsMHgzQywweDAxLDB4NzQsMHgxMiwweDc3LDB4MEIsMHg4QSwweDg2LDB4QTcsMHgwMCwweDI0LAotMHhFRiwweDg4LDB4ODYsMHhBNywweDAwLDB4RUUsMHg4MywweEVBLDB4MDgsMHhGOCwweEMzLDB4OEEsMHg4NiwweEE3LDB4MDAsMHgwQywKLTB4MTAsMHhFQiwweEVFLDB4OTAsMHg1MiwweDgzLDB4QzIsMHgwNiwweEIwLDB4QkYsMHhFRSwweDUyLDB4ODMsMHhDMiwweDA0LDB4QUMsCi0weDQ5LDB4RUUsMHg1QSwweDhBLDB4ODYsMHhBOCwweDAwLDB4RUUsMHg1QSwweEY4LDB4QzMsMHg5MCwweDUyLDB4ODMsMHhDMiwweDA2LAotMHhCMCwweEJGLDB4RUUsMHg1MiwweDgzLDB4QzIsMHgwOCwweEVCLDB4RTYsMHg5MCwweEFDLDB4NDksMHhGOCwweEMzLDB4QUMsMHg0OSwKLTB4RTgsMHhCNCwweEVFLDB4NzMsMHgwMywweEU4LDB4RjcsMHhFRSwweEY4LDB4QzMsMHg4QSwweDg2LDB4QUYsMHgwMCwweDI0LDB4N0YsCi0weEU4LDB4QkQsMHhGOSwweEI4LDB4RjAsMHgwMCwweEU4LDB4NjYsMHhGMiwweDgxLDB4NjYsMHgyNiwweEZGLDB4RjMsMHhFOCwweDIzLAotMHhGQSwweEU4LDB4RDIsMHhGOSwweEY4LDB4QzMsMHhCOCwweDgwLDB4MDAsMHhFOCwweDM3LDB4RjIsMHg4MCwweDRFLDB4MjcsMHgwOCwKLTB4RTgsMHgxMSwweEZBLDB4RTgsMHhDMCwweEY5LDB4RjgsMHhDMywweEI4LDB4ODAsMHgwMCwweEU4LDB4NDEsMHhGMiwweDgxLDB4NjYsCi0weDI2LDB4RkYsMHhGNywweEU4LDB4RkUsMHhGOSwweEU4LDB4QUQsMHhGOSwweEY4LDB4QzMsMHg5MCwweEI4LDB4MTAsMHgwMCwweEU4LAotMHgxMSwweEYyLDB4ODAsMHg0RSwweDI3LDB4MDQsMHhFOCwweEVCLDB4RjksMHhFOCwweDlBLDB4RjksMHhGOCwweEMzLDB4QjgsMHgxMCwKLTB4MDAsMHhFOCwweEZGLDB4RjEsMHg4MSwweDY2LDB4MjYsMHhGRiwweEZCLDB4RTgsMHhEOCwweEY5LDB4RjgsMHhDMywweEFDLDB4NDksCi0weEY4LDB4QzMsMHg4MywweEMyLDB4MDYsMHg4QSwweDg2LDB4QTgsMHgwMCwweDBDLDB4NDAsMHg4OCwweDg2LDB4QTgsMHgwMCwweEVFLAotMHg4MywweEVBLDB4MDYsMHhGOCwweEMzLDB4OTAsMHg4MywweEMyLDB4MDYsMHg4QSwweDg2LDB4QTgsMHgwMCwweDI0LDB4QkYsMHhFQiwKLTB4RUEsMHg5MCwweEFDLDB4NDksMHg4QSwweEUwLDB4ODAsMHhDMiwweDBBLDB4RUMsMHg4MCwweEVBLDB4MEEsMHhBOCwweDIwLDB4NzQsCi0weDA1LDB4OEEsMHhDNCwweEVFLDB4RjgsMHhDMywweDA2LDB4NTEsMHg1NywweDhCLDB4NEUsMHgyNCwweEUzLDB4MzQsMHg0OSwweDg5LAotMHg0RSwweDI0LDB4RkYsMHg0NiwweDFBLDB4OEUsMHg0NiwweDAyLDB4OEIsMHg3RSwweDIyLDB4OEEsMHhDNCwweEFBLDB4ODksMHg3RSwKLTB4MjIsMHg4QiwweDQ2LDB4MjYsMHgyNCwweEZELDB4ODksMHg0NiwweDI2LDB4NzUsMHgyOSwweDhBLDB4ODYsMHhBNSwweDAwLDB4QTgsCi0weDAyLDB4NzUsMHgyMSwweDgwLDB4QzIsMHgwMiwweDBDLDB4MDIsMHg4OCwweDg2LDB4QTUsMHgwMCwweEVFLDB4ODAsMHhFQSwweDAyLAotMHhFQiwweDEyLDB4QzQsMHg3RSwweDAwLDB4M0IsMHg3RSwweDFFLDB4NzYsMHgwQSwweDRGLDB4MjYsMHg4OCwweDI1LDB4ODksMHg3RSwKLTB4MDAsMHhGRiwweDQ2LDB4MUEsMHg1RiwweDU5LDB4MDcsMHhGOCwweEMzLDB4OTAsMHhBQywweEFELDB4ODMsMHhFOSwweDAzLDB4ODUsCi0weEMwLDB4NzQsMHgwNSwweDNELDB4MDAsMHgyMCwweDcyLDB4MDUsMHhCOCwweEZGLDB4RkYsMHhFQiwweDAzLDB4QzEsMHhFMCwweDAzLAotMHgzQiwweDg2LDB4OTQsMHgwMCwweDc0LDB4MjYsMHg4OSwweDg2LDB4OTQsMHgwMCwweDhCLDB4RDgsMHg1MiwweDgzLDB4QzIsMHgwNiwKLTB4OEEsMHg4NiwweEE4LDB4MDAsMHg4QSwweEUwLDB4MEMsMHg4MCwweEVFLDB4ODMsMHhFQSwweDA2LDB4OEEsMHhDMywweEVFLDB4ODMsCi0weEMyLDB4MDIsMHg4QSwweEM3LDB4RUUsMHg4MywweEMyLDB4MDQsMHg4QSwweEM0LDB4RUUsMHg1QSwweEY4LDB4QzMsMHhCMCwweDg4LAotMHg4OCwweDg2LDB4QkMsMHgwMCwweEU4LDB4OEMsMHhGMiwweDMzLDB4REIsMHg4QSwweDg2LDB4QTUsMHgwMCwweEE4LDB4MDIsMHg3NCwKLTB4MDMsMHg4MCwweENCLDB4MDEsMHhBOCwweDA1LDB4NzQsMHgwMywweDgwLDB4Q0IsMHgwMiwweEE4LDB4MDgsMHg3NCwweDAzLDB4ODAsCi0weENCLDB4MDQsMHhGNiwweDg2LDB4QTcsMHgwMCwweDEwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHgxMCwweDhBLDB4ODYsMHhBOSwweDAwLAotMHhGNiwweEMzLDB4MDQsMHg3NSwweDBBLDB4ODMsMHhDMiwweDBDLDB4RUMsMHg4MywweEVBLDB4MEMsMHhDMCwweEU4LDB4MDQsMHg4QSwKLTB4RTAsMHg4QSwweDg2LDB4QUYsMHgwMCwweEE4LDB4ODAsMHg3NCwweDA4LDB4RjYsMHhDNCwweDAxLDB4NzUsMHgwMywweDgwLDB4Q0IsCi0weDIwLDB4RjYsMHg4NiwweEE3LDB4MDAsMHgwMiwweDc1LDB4MEEsMHhGNywweDQ2LDB4MzgsMHgwNCwweDAwLDB4NzQsMHgwMywweDgwLAotMHhDQiwweDQwLDB4ODgsMHg5RSwweEJFLDB4MDAsMHhGRSwweDg2LDB4QjQsMHgwMCwweEIwLDB4MEEsMHhFOCwweEYzLDB4REIsMHhGOCwKLTB4QzMsMHhGRSwweDg2LDB4QjQsMHgwMCwweEIwLDB4MEEsMHhFOCwweEU4LDB4REIsMHhGOCwweEMzLDB4QUMsMHg0OSwweDNDLDB4MDIsCi0weDc0LDB4MzcsMHg3NywweDEwLDB4ODQsMHhDMCwweDc0LDB4MDYsMHg4MCwweDRFLDB4MzgsMHgwMSwweEY4LDB4QzMsMHg4MCwweDY2LAotMHgzOCwweEZFLDB4RjgsMHhDMywweDhCLDB4NDYsMHgzOCwweDI1LDB4RkYsMHhGNywweDg5LDB4NDYsMHgzOCwweEE5LDB4MDAsMHgwNCwKLTB4NzUsMHhFQSwweDhBLDB4ODYsMHhBNSwweDAwLDB4QTgsMHgwMSwweDc1LDB4RTIsMHgwQywweDA1LDB4ODMsMHhDMiwweDAyLDB4ODgsCi0weDg2LDB4QTUsMHgwMCwweEVFLDB4ODMsMHhFQSwweDAyLDB4RjgsMHhDMywweDgxLDB4NEUsMHgzOCwweDAwLDB4MDgsMHg4QSwweDg2LAotMHhBNSwweDAwLDB4QTgsMHgwMSwweDc0LDB4QzYsMHgyNCwweEZBLDB4RUIsMHhFMiwweEFELDB4NDksMHg0OSwweEY4LDB4QzMsMHg5MCwKLTB4RTgsMHgxMSwweEZBLDB4RkUsMHg4NiwweEI5LDB4MDAsMHhCMCwweDBFLDB4RTgsMHg4NiwweERCLDB4RjgsMHhDMywweEIwLDB4RkYsCi0weEU4LDB4QkYsMHhFQywweEY4LDB4QzMsMHg5MCwweDgzLDB4NjYsMHg3QSwweEZCLDB4QjAsMHgwMCwweEU4LDB4NzMsMHhEQiwweEY4LAotMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4NTMsMHhEOSwweDcyLDB4MTEsMHgzNiwweDg4LDB4MUUsMHgxQSwweDAxLDB4MzYsMHhBMCwKLTB4OEUsMHgxMiwweDBBLDB4QzMsMHg1MiwweEJBLDB4MDAsMHgwMSwweEVFLDB4NUEsMHhGOCwweEMzLDB4QUMsMHg0OSwweDMyLDB4RTQsCi0weDM2LDB4QTMsMHg4NiwweDEyLDB4MDUsMHgwNiwweDAwLDB4MzYsMHg4QiwweDFFLDB4ODgsMHgxMiwweDJCLDB4RDgsMHgzNiwweDg5LAotMHgxRSwweDhBLDB4MTIsMHhGOCwweEMzLDB4OTAsMHhBRCwweDhCLDB4RDgsMHhBRCwweDgzLDB4RTksMHgwNCwweDAzLDB4QzMsMHgyQiwKLTB4NDYsMHg3NiwweDg5LDB4NDYsMHg3OCwweEY3LDB4NDYsMHg3QSwweDAyLDB4MDAsMHg3NCwweDBBLDB4ODMsMHg2NiwweDdBLDB4RkQsCi0weEI4LDB4MDAsMHgwMCwweEU4LDB4MUMsMHhEQiwweEY4LDB4QzMsMHgwNiwweDE2LDB4MDcsMHhBQywweDQ5LDB4MjUsMHgwRiwweDAwLAotMHg2QiwweEMwLDB4MDksMHg4RCwweEJFLDB4RkQsMHgwMCwweDAzLDB4RjgsMHhBQywweDQ5LDB4MjUsMHgwRiwweDAwLDB4QUEsMHg4NSwKLTB4QzAsMHg3NCwweDA4LDB4MkIsMHhDOCwweDUxLDB4OEIsMHhDOCwweEYzLDB4QTQsMHg1OSwweEU4LDB4MjcsMHhGMCwweEU4LDB4NDQsCi0weDAzLDB4MDcsMHhGOCwweEMzLDB4MzMsMHhDMCwweEFDLDB4NDksMHgzNiwweEEzLDB4QjIsMHgxMywweDM2LDB4QTMsMHhCMCwweDEzLAotMHhGOCwweEMzLDB4ODMsMHg2NiwweDdBLDB4RUYsMHhFOCwweDJDLDB4MDMsMHhGOCwweEMzLDB4OTAsMHg4MywweDRFLDB4N0EsMHgxMCwKLTB4RUIsMHhGNCwweEU4LDB4OUIsMHhGMCwweEY4LDB4QzMsMHg5MCwweEFELDB4M0MsMHgxOSwweDc3LDB4MEUsMHgzQywweDE5LDB4NzcsCi0weDBBLDB4OEIsMHhGOCwweDgxLDB4RTcsMHhGRiwweDAwLDB4ODgsMHhBNiwweEM0LDB4MDAsMHhGOCwweEMzLDB4OTAsMHg4MywweDRFLAotMHgyNiwweDIwLDB4QUMsMHg0OSwweDMyLDB4RTQsMHhEMSwweEUwLDB4OEIsMHhEOCwweEMxLDB4RTMsMHgwMiwweDAzLDB4QzMsMHg4OSwKLTB4NDYsMHg2RSwweDgzLDB4NEUsMHg0OCwweDA0LDB4QjAsMHgwNiwweEU4LDB4OTcsMHhEQSwweDQ5LDB4NDYsMHhGOSwweEMzLDB4OTAsCi0weEZFLDB4ODYsMHhCMywweDAwLDB4QjAsMHgwQSwweEU4LDB4ODksMHhEQSwweEY4LDB4QzMsMHg5MCwweDMzLDB4QzAsMHhBQywweDQ5LAotMHg2QiwweEMwLDB4MEEsMHg4OSwweDg2LDB4OEEsMHgwMCwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHgzMiwweEU0LDB4M0QsMHgwQSwKLTB4MDAsMHg3NywweDA1LDB4QjgsMHgwQSwweDAwLDB4RUIsMHgwOCwweDNELDB4NUEsMHgwMCwweDcyLDB4MDMsMHhCOCwweDVBLDB4MDAsCi0weDUxLDB4RjcsMHhEOCwweDA1LDB4NjQsMHgwMCwweDhCLDB4QzgsMHg4QiwweDQ2LDB4NDQsMHhGNywweEUxLDB4QjksMHg2NCwweDAwLAotMHhGNywweEYxLDB4ODksMHg0NiwweDQ2LDB4NTksMHhGOCwweEMzLDB4QUMsMHg0OSwweEU4LDB4ODUsMHhFQiwweEY4LDB4QzMsMHg5MCwKLTB4QUMsMHg0OSwweDg0LDB4QzAsMHg3NSwweDA3LDB4ODEsMHg2NiwweDM4LDB4RkYsMHhGRCwweEY4LDB4QzMsMHg4MSwweDRFLDB4MzgsCi0weDAwLDB4MDIsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLDB4NzUsMHgwOCwweDhBLDB4ODYsMHhBOSwweDAwLDB4ODgsMHg4NiwweEFBLAotMHgwMCwweEY4LDB4QzMsMHg5MCwweDUxLDB4NTYsMHhFOCwweDdGLDB4MEMsMHg1RSwweDU5LDB4RjgsMHhDMywweDkwLDB4RkUsMHg4NiwKLTB4QjYsMHgwMCwweEIwLDB4MEEsMHhFOCwweDBCLDB4REEsMHhGOCwweEMzLDB4OTAsMHhGRSwweDg2LDB4QjcsMHgwMCwweEIwLDB4MEEsCi0weEU4LDB4RkYsMHhEOSwweEY4LDB4QzMsMHg5MCwweEZFLDB4ODYsMHhCOCwweDAwLDB4QjAsMHgwQSwweEU4LDB4RjMsMHhEOSwweEY4LAotMHhDMywweDkwLDB4MDAsMHg5MCwweDUxLDB4NTUsMHhBQywweDJFLDB4QTIsMHg1MiwweDM2LDB4MzMsMHhDOSwweEFELDB4OEIsMHhGOSwKLTB4QzEsMHhFNywweDA1LDB4QTksMHgwMSwweDAwLDB4NzQsMHgyMywweDJFLDB4OEIsMHhBRCwweDQ0LDB4MDAsMHg4MywweDdFLDB4MDgsCi0weDAwLDB4NzQsMHgxOCwweDJFLDB4ODAsMHgzRSwweDUyLDB4MzYsMHgwMSwweDc0LDB4MDksMHg2MCwweEIwLDB4MDQsMHhFOCwweEJCLAotMHgwQywweDYxLDB4RUIsMHgwNywweDYwLDB4QjAsMHhGQiwweEU4LDB4RUMsMHgwQywweDYxLDB4NDcsMHg0NywweEQxLDB4RTgsMHg3NSwKLTB4RDIsMHg0MSwweDgzLDB4RjksMHgwNCwweDcyLDB4QzYsMHg1RCwweDU5LDB4ODMsMHhFOSwweDA1LDB4RjcsMHg0NiwweDM4LDB4NDAsCi0weDAwLDB4NzQsMHgwNSwweEU4LDB4ODcsMHhFQSwweEY4LDB4QzMsMHhFOCwweDhELDB4RUEsMHhGOCwweEMzLDB4OTAsMHgzNiwweEM2LAotMHgwNiwweEM4LDB4MTMsMHgwMSwweEY4LDB4QzMsMHgzMywweEMwLDB4QUMsMHg0OSwweDM2LDB4QTMsMHg4MCwweDEyLDB4QUMsMHg0OSwKLTB4MzYsMHgyQiwweDA2LDB4ODgsMHgxMiwweEY3LDB4RDgsMHgzNiwweEEzLDB4ODIsMHgxMiwweEY4LDB4QzMsMHg5MCwweERFLDB4MjYsCi0weERFLDB4MjYsMHhFQywweDI2LDB4RjIsMHgyNiwweEY4LDB4MjYsMHhGRSwweDI2LDB4MDQsMHgyNywweDBFLDB4MjcsMHgxNiwweDI3LAotMHgxRSwweDI3LDB4MjYsMHgyNywweDJFLDB4MjcsMHgzNCwweDI3LDB4QkUsMHgzNCwweEM2LDB4MzQsMHhEMiwweDM0LDB4M0EsMHgyNywKLTB4NzgsMHgyNywweDgwLDB4MjcsMHg5NCwweDI3LDB4QTAsMHgyNywweEI0LDB4MjcsMHhDMCwweDI3LDB4RDQsMHgyNywweEUwLDB4MjcsCi0weEY0LDB4MjcsMHgwMCwweDI4LDB4MTAsMHgyOCwweEVDLDB4MzQsMHhERSwweDI2LDB4MUUsMHgyOCwweDI2LDB4MjgsMHgyQywweDI4LAotMHgzMiwweDI4LDB4MzgsMHgyOCwweDRFLDB4MjgsMHg4QSwweDI4LDB4MDYsMHgzNSwweDI4LDB4MzUsMHg5OCwweDI4LDB4QkUsMHgyOCwKLTB4RDIsMHgyOCwweERFLDB4MjgsMHhFNiwweDI4LDB4NTQsMHgzNSwweDYyLDB4MzUsMHg2QywweDM1LDB4RUUsMHgyOCwweEMwLDB4MjksCi0weEM4LDB4MjksMHhDRSwweDI5LDB4RTAsMHgyOSwweDcyLDB4MzUsMHg3OCwweDM1LDB4RjAsMHgyOSwweEZDLDB4MjksMHg4RSwweDM1LAotMHgwOCwweDJBLDB4MTIsMHgyQSwweDFDLDB4MkEsMHhCMCwweDM1LDB4MzYsMHgyQSwweEJDLDB4MzUsMHg1QSwweDJBLDB4NjIsMHgyQSwKLTB4NjgsMHgyQSwweENBLDB4MzUsMHg3QywweDJBLDB4RjgsMHgzNSwweDg4LDB4MkEsMHhBNiwweDJBLDB4QjgsMHgyQSwweENDLDB4MkEsCi0weERFLDB4MkEsMHhGMiwweDJBLDB4MDAsMHgzNiwweDBBLDB4MkIsMHgyNCwweDJCLDB4MjQsMHgzNiwweDM4LDB4MkIsMHg0QywweDJCLAotMHg4NCwweDJCLDB4MkUsMHgzNiwweDNBLDB4MzYsMHg0NiwweDM2LDB4NTQsMHgzNiwweEU4LDB4MkIsMHhBRSwweDM2LDB4NDAsMHgyQywKLTB4NjIsMHgyQywweEI2LDB4MzYsMHg3MCwweDI4LDB4REUsMHgyNiwweERFLDB4MjYsMHhENCwweDJFLDB4RTgsMHgyRSwweEYwLDB4MkUsCi0weEY4LDB4MkUsMHgwMCwweDJGLDB4MEEsMHgyRiwweDEyLDB4MkYsMHgxQSwweDJGLDB4MjIsMHgyRiwweDJBLDB4MkYsMHg0MiwweDJGLAotMHhCRSwweDM0LDB4QzYsMHgzNCwweEQyLDB4MzQsMHg1MCwweDJGLDB4OEMsMHgyRiwweDk0LDB4MkYsMHhBOCwweDJGLDB4QjQsMHgyRiwKLTB4QzgsMHgyRiwweEQ0LDB4MkYsMHhFOCwweDJGLDB4RjQsMHgyRiwweDA4LDB4MzAsMHgxNCwweDMwLDB4MUMsMHgzMCwweEVDLDB4MzQsCi0weERFLDB4MjYsMHgyNCwweDMwLDB4MzAsMHgzMCwweDM4LDB4MzAsMHg0NCwweDMwLDB4NEMsMHgzMCwweDYyLDB4MzAsMHhBNCwweDMwLAotMHgwNiwweDM1LDB4MjgsMHgzNSwweEFBLDB4MzAsMHhDRSwweDMwLDB4RDYsMHgzMCwweEVBLDB4MzAsMHhGMiwweDMwLDB4NTQsMHgzNSwKLTB4NjIsMHgzNSwweDZDLDB4MzUsMHhGQSwweDMwLDB4QzIsMHgzMSwweEMyLDB4MzEsMHhDNCwweDMxLDB4RkEsMHgzMSwweDcyLDB4MzUsCi0weDc4LDB4MzUsMHgwQSwweDMyLDB4MTYsMHgzMiwweDhFLDB4MzUsMHgyMiwweDMyLDB4MkMsMHgzMiwweDM2LDB4MzIsMHhCMCwweDM1LAotMHg0QSwweDMyLDB4QkMsMHgzNSwweDc0LDB4MzIsMHg4QywweDMyLDB4OUEsMHgzMiwweENBLDB4MzUsMHg5RSwweDMyLDB4RjgsMHgzNSwKLTB4QUEsMHgzMiwweEM2LDB4MzIsMHhEOCwweDMyLDB4RUMsMHgzMiwweEZFLDB4MzIsMHgwRSwweDMzLDB4MDAsMHgzNiwweDEyLDB4MzMsCi0weDI2LDB4MzMsMHgyNCwweDM2LDB4MzIsMHgzMywweDlBLDB4MzMsMHhERSwweDMzLDB4MkUsMHgzNiwweDNBLDB4MzYsMHg0NiwweDM2LAotMHg1NCwweDM2LDB4NUMsMHgzNCwweEFFLDB4MzYsMHhBQSwweDM0LDB4QjAsMHgzNCwweEI2LDB4MzYsMHg4QywweDMwLDB4RTMsMHgyOCwKLTB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc1LDB4MzIsMHhFOCwweEUzLDB4RTgsMHgzMywweEMwLDB4QUMsMHg0OSwweDNELDB4NUIsCi0weDAwLDB4NzcsMHgxOSwweDhCLDB4RDgsMHhEMSwweEUzLDB4MkUsMHhGRiwweDk3LDB4Q0UsMHgzNiwweDcyLDB4MEIsMHg4NSwweEM5LAotMHg3NSwweEU4LDB4OEIsMHg0NiwweDQ4LDB4RTgsMHgxQSwweDBDLDB4QzMsMHg0RSwweDQxLDB4QzMsMHg2QSwweDAwLDB4MUYsMHhDNiwKLTB4MDYsMHg5MywweDEyLDB4MEMsMHg5QywweDBFLDB4RTgsMHg2MywweERBLDB4RTgsMHhCQywweEU4LDB4MzMsMHhDMCwweEFDLDB4NDksCi0weDNELDB4NUIsMHgwMCwweDc3LDB4RTcsMHg4QiwweEQ4LDB4RDEsMHhFMywweDJFLDB4RkYsMHg5NywweDg2LDB4MzcsMHg3MiwweEQ5LAotMHg4NSwweEM5LDB4NzUsMHhFOCwweEMzLDB4RjcsMHg0NiwweDdBLDB4MTAsMHgwMCwweDc1LDB4MEYsMHg4MywweEJFLDB4ODQsMHgwMCwKLTB4MDAsMHg3NCwweDA4LDB4QjgsMHg0OCwweDNBLDB4ODksMHg4NiwweDgwLDB4MDAsMHhDMywweDgxLDB4QkUsMHg4MCwweDAwLDB4RUMsCi0weDNDLDB4NzQsMHhGNywweDgzLDB4QkUsMHg4OCwweDAwLDB4MDAsMHg3NSwweDA1LDB4QjgsMHhFQywweDNDLDB4RUIsMHhFNywweEY3LAotMHg0NiwweDdBLDB4MDgsMHgwMCwweDc1LDB4NDAsMHgxRSwweDYwLDB4OEIsMHg4RSwweDg4LDB4MDAsMHgzQiwweDRFLDB4NzQsMHg3NywKLTB4MzMsMHgzQiwweDRFLDB4NzgsMHg3NywweDJFLDB4QzQsMHg3RSwweDEwLDB4OEIsMHhERiwweDI2LDB4MDMsMHgzRCwweDQ3LDB4NDcsCi0weDMzLDB4QzAsMHg4RSwweEQ4LDB4OEQsMHhCNiwweEY0LDB4MDAsMHg4QiwweEMxLDB4RjcsMHg0NiwweDdBLDB4MDEsMHgwMCwweDc1LAotMHgxRCwweEYzLDB4QTQsMHgyNiwweDAxLDB4MDcsMHgyOSwweDQ2LDB4NzgsMHgwMSwweDQ2LDB4NzYsMHgyOSwweDQ2LDB4NzQsMHhCMCwKLTB4MEMsMHhFOCwweDNFLDB4RDcsMHg2MSwweDFGLDB4QzcsMHg4NiwweDg4LDB4MDAsMHgwMCwweDAwLDB4RUIsMHhBQywweEUzLDB4RTMsCi0weDUwLDB4OTAsMHhBQywweDI0LDB4N0YsMHhBQSwweEUyLDB4RkEsMHg1OCwweEVCLDB4RDgsMHg5MCwweDhCLDB4OEUsMHg4OCwweDAwLAotMHhFMywweDQ2LDB4OEIsMHg5RSwweDhBLDB4MDAsMHg4NSwweERCLDB4NzQsMHgzRSwweEJBLDB4NTAsMHhGRiwweEVELDB4MkIsMHg4NiwKLTB4ODIsMHgwMCwweDNCLDB4QzMsMHg3MiwweDM3LDB4OEQsMHhCNiwweEY0LDB4MDAsMHhDNCwweDdFLDB4MTAsMHg4QiwweERGLDB4MjYsCi0weDAzLDB4M0QsMHg0NywweDQ3LDB4OEIsMHhDMSwweDE2LDB4MUYsMHhGNywweDQ2LDB4N0EsMHgwMSwweDAwLDB4NzUsMHgyNCwweEYzLAotMHhBNCwweDI2LDB4MDEsMHgwNywweDI5LDB4NDYsMHg3OCwweDAxLDB4NDYsMHg3NiwweDI5LDB4NDYsMHg3NCwweEM3LDB4ODYsMHg4OCwKLTB4MDAsMHgwMCwweDAwLDB4QjAsMHgwQywweEU4LDB4REEsMHhENiwweDgzLDB4NjYsMHg3QSwweEY3LDB4QzMsMHhCMCwweDAwLDB4RTgsCi0weEQwLDB4RDYsMHhDMywweEUzLDB4REMsMHg1MCwweEFDLDB4MjQsMHg3RiwweEFBLDB4RTIsMHhGQSwweDU4LDB4RUIsMHhEMiwweDkwLAotMHgxRSwweDYwLDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4RCwweEI2LDB4RkQsMHgwMCwweDhCLDB4ODYsMHg4OCwweDAwLDB4OEIsMHg5NiwKLTB4ODQsMHgwMCwweDNBLDB4MDQsMHg3NSwweDEwLDB4OEIsMHhERSwweDQ2LDB4OEIsMHhDOCwweDhELDB4QkUsMHhGNCwweDAwLDB4RjMsCi0weEE2LDB4NzQsMHg2NiwweDhCLDB4RjMsMHg5MCwweDgzLDB4QzYsMHgwOSwweDRBLDB4NzUsMHhFNiwweDhELDB4QjYsMHhGRCwweDAwLAotMHg4QiwweDk2LDB4ODQsMHgwMCwweDNBLDB4MDQsMHg3MywweDEwLDB4OEIsMHhERSwweDQ2LDB4OEIsMHhDOCwweDhELDB4QkUsMHhGNCwKLTB4MDAsMHhGMywweEE2LDB4NzQsMHg3NiwweDhCLDB4RjMsMHg5MCwweDgzLDB4QzYsMHgwOSwweDRBLDB4NzUsMHhFNiwweDhELDB4QjYsCi0weEY0LDB4MDAsMHhBQywweEY3LDB4NDYsMHg3QSwweDAxLDB4MDAsMHg3NCwweDAyLDB4MjQsMHg3RiwweDFFLDB4QzUsMHg1RSwweDEwLAotMHg4QiwweDM3LDB4ODgsMHg0MCwweDAyLDB4NDYsMHg4OSwweDM3LDB4RkYsMHg0RSwweDc4LDB4RkYsMHg0NiwweDc2LDB4RkYsMHg0RSwKLTB4NzQsMHgxRiwweDhCLDB4OEUsMHg4OCwweDAwLDB4NDksMHg4OSwweDhFLDB4ODgsMHgwMCwweEUzLDB4NDMsMHg4RCwweEI2LDB4RjQsCi0weDAwLDB4OEIsMHhGRSwweDQ2LDB4RjMsMHhBNCwweEU5LDB4N0QsMHhGRiwweEM1LDB4NzYsMHgxMCwweDhCLDB4MUMsMHg4NSwweERCLAotMHg3NCwweDA4LDB4MDMsMHhGMywweDgzLDB4QzYsMHgwMywweDgzLDB4RTYsMHhGRSwweDhCLDB4ODYsMHg4NCwweDAwLDB4MkIsMHhDMiwKLTB4QjQsMHg4MCwweDg5LDB4MDQsMHg0NiwweDQ2LDB4QzcsMHgwNCwweDAwLDB4MDAsMHg4OSwweDc2LDB4MTAsMHg4MywweDRFLDB4N0EsCi0weDA0LDB4QzcsMHg4NiwweDg4LDB4MDAsMHgwMCwweDAwLDB4NjEsMHgxRiwweEY5LDB4QzMsMHgzMywweEMwLDB4NjEsMHgxRiwweEMzLAotMHhCMCwweDgwLDB4ODQsMHhDMCwweDYxLDB4MUYsMHhDMywweDkwLDB4OEIsMHg0RSwweDc4LDB4MkIsMHg4RSwweDg4LDB4MDAsMHg3NiwKLTB4MjcsMHg4OSwweEI2LDB4OEMsMHgwMCwweDhCLDB4NUUsMHg3NCwweDNCLDB4Q0IsMHg3MiwweDAyLDB4OEIsMHhDQiwweDNCLDB4QzgsCi0weDcyLDB4MDIsMHg4QiwweEM4LDB4OEIsMHhDMSwweEUzLDB4NDQsMHgzMywweEQyLDB4OEUsMHhDMiwweDhCLDB4RDEsMHg4MywweEJFLAotMHg4OCwweDAwLDB4MDAsMHg3NCwweDA2LDB4RTksMHg4RSwweDAwLDB4MzMsMHhDMCwweEMzLDB4OEIsMHg1RSwweDEwLDB4MDMsMHgxRiwKLTB4NDMsMHg0MywweDUyLDB4RjcsMHg0NiwweDdBLDB4MDEsMHgwMCwweDc1LDB4MkEsMHhBQywweDhELDB4QkUsMHhFNCwweDAwLDB4OEIsCi0weDhFLDB4ODYsMHgwMCwweEYyLDB4QUUsMHg3NCwweDM0LDB4ODgsMHgwNywweDQzLDB4NEEsMHg3NSwweEVELDB4NTgsMHg4QiwweDVFLAotMHgxMCwweDAxLDB4MDcsMHgyOSwweDQ2LDB4NzgsMHgwMSwweDQ2LDB4NzYsMHgyOSwweDQ2LDB4NzQsMHg4QiwweEM2LDB4MkIsMHg4NiwKLTB4OEMsMHgwMCwweEMzLDB4OTAsMHhBQywweDhELDB4QkUsMHhFNCwweDAwLDB4OEIsMHg4RSwweDg2LDB4MDAsMHhGMiwweEFFLDB4NzQsCi0weDBBLDB4MjQsMHg3RiwweDg4LDB4MDcsMHg0MywweDRBLDB4NzUsMHhFQiwweEVCLDB4RDIsMHg4OCwweDg2LDB4RjQsMHgwMCwweEM3LAotMHg4NiwweDg4LDB4MDAsMHgwMSwweDAwLDB4NTgsMHgyQiwweEMyLDB4NzQsMHgwRSwweDhCLDB4NUUsMHgxMCwweDAxLDB4MDcsMHgyOSwKLTB4NDYsMHg3OCwweDAxLDB4NDYsMHg3NiwweDI5LDB4NDYsMHg3NCwweDQwLDB4RTgsMHg5NCwweEZFLDB4NzIsMHhCRSwweDRBLDB4NzUsCi0weDE1LDB4ODMsMHhCRSwweDhBLDB4MDAsMHgwMCwweDc0LDB4QjQsMHhCQSwweDUwLDB4RkYsMHhFRCwweDg5LDB4ODYsMHg4MiwweDAwLAotMHg4MywweDRFLDB4N0EsMHgwOCwweEVCLDB4QTYsMHg4RCwweEJFLDB4RjQsMHgwMCwweDAzLDB4QkUsMHg4OCwweDAwLDB4QTQsMHhGRiwKLTB4ODYsMHg4OCwweDAwLDB4RTgsMHg2QSwweEZFLDB4NzIsMHg5NCwweDc5LDB4MDYsMHg0QSwweDc0LDB4OEYsMHhFOSwweDVCLDB4RkYsCi0weDRBLDB4NzQsMHhDRSwweEVCLDB4RTEsMHg5MCwweDUwLDB4RTgsMHgxMSwweENDLDB4OEIsMHg0NiwweDc0LDB4MzksMHg0NiwweDcyLAotMHg3NCwweDI3LDB4MUUsMHg1NiwweDUxLDB4MzMsMHhDOSwweEM1LDB4NzYsMHgwQywweEFELDB4NzQsMHgxMCwweDc4LDB4MDksMHgwMywKLTB4QzgsMHgwNSwweDAxLDB4MDAsMHgyNCwweEZFLDB4MDMsMHhGMCwweDNCLDB4NzYsMHgxMCwweDc2LDB4RUQsMHgyOSwweDRFLDB4NzYsCi0weDAxLDB4NEUsMHg3OCwweEU4LDB4MzcsMHhDQywweDU5LDB4NUUsMHgxRiwweDU4LDB4QzMsMHg5MCwweEM0LDB4N0UsMHgxMCwweDI2LAotMHg4QiwweDFELDB4ODMsMHhDMywweDAzLDB4MjYsMHg4OSwweDFELDB4NEIsMHgwMywweEZCLDB4QUIsMHg5MSwweEFBLDB4QjgsMHgwMywKLTB4MDAsMHgyOSwweDQ2LDB4NzgsMHgwMSwweDQ2LDB4NzYsMHgyOSwweDQ2LDB4NzQsMHhDMywweDkwLDB4QzQsMHg3RSwweDEwLDB4MjYsCi0weDhCLDB4MUQsMHg0MywweDI2LDB4ODksMHgxRCwweDQzLDB4MDMsMHhGQiwweEFBLDB4RkYsMHg0RSwweDc4LDB4RkYsMHg0NiwweDc2LAotMHhGRiwweDRFLDB4NzQsMHhDMywweEU4LDB4RTUsMHhGRiwweEMzLDB4ODAsMHg4MSwweDg0LDB4ODUsMHg4MiwweDgzLDB4ODYsMHg4NywKLTB4NTAsMHg1MywweDhBLDB4REMsMHg4MywweEUzLDB4MEUsMHhEMSwweEVCLDB4MkUsMHg4QSwweDg3LDB4OTgsMHgzQiwweDA4LDB4ODYsCi0weEIwLDB4MDAsMHhGRSwweDg2LDB4QjEsMHgwMCwweEIwLDB4MEEsMHhFOCwweDg3LDB4RDQsMHg1QiwweDU4LDB4QzMsMHg1MCwweDhBLAotMHhDOCwweEI4LDB4RkYsMHgwMCwweEU4LDB4OTUsMHhGRiwweDU4LDB4QzMsMHg5MCwweDhBLDB4ODYsMHhCQiwweDAwLDB4RTgsMHhBQiwKLTB4RkYsMHhDMywweEU4LDB4Q0IsMHhGRiwweEU4LDB4RjIsMHhGRiwweEMzLDB4OTAsMHhFOCwweEMzLDB4RkYsMHhFOCwweEI0LDB4RkYsCi0weEMzLDB4OTAsMHgzMywweEMwLDB4RTgsMHg5NSwweEZGLDB4QzMsMHhCOCwweEZGLDB4MDAsMHgzMywweEM5LDB4RTgsMHg2QywweEZGLAotMHhDMywweDkwLDB4QjgsMHhGRiwweDAxLDB4QjEsMHgxMCwweEU4LDB4NjIsMHhGRiwweEMzLDB4OTAsMHhDMywweEZDLDB4M0IsMHhFMiwKLTB4M0IsMHhGMiwweDNCLDB4RjIsMHgzQiwweEZDLDB4M0IsMHhFMiwweDNCLDB4RTgsMHgzQiwweEU4LDB4M0IsMHhGQywweDNCLDB4RTIsCi0weDNCLDB4RTgsMHgzQiwweEU4LDB4M0IsMHhGQywweDNCLDB4RTIsMHgzQiwweEUyLDB4M0IsMHhFMiwweDNCLDB4MDAsMHgxMCwweDAwLAotMHgwMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwKLTB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsCi0weDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4NTEsMHg1MywweDhCLAotMHg0RSwweDM4LDB4ODEsMHhFMSwweEZGLDB4RUUsMHhBOCwweDA0LDB4NzQsMHgwNCwweDgxLDB4QzksMHgwMCwweDAxLDB4OEEsMHhFMCwKLTB4ODAsMHhFNCwweDAzLDB4MjQsMHgxOCwweEQwLDB4RTQsMHgwQSwweEM0LDB4MzMsMHhEQiwweDhBLDB4RDgsMHgyRSwweDhCLDB4ODcsCi0weEZELDB4M0IsMHg4OSwweDQ2LDB4N0MsMHgyRSwweDBCLDB4OEYsMHgxRCwweDNDLDB4ODksMHg0RSwweDM4LDB4RDEsMHhFQiwweDJFLAotMHg4QSwweEE3LDB4M0QsMHgzQywweDVCLDB4NTksMHhDMywweEFDLDB4NDksMHgzQywweDAxLDB4NzIsMHgxRCwweDc0LDB4MjAsMHgzQywKLTB4MDMsMHg3MiwweDIzLDB4NzQsMHgyOCwweDNDLDB4MDgsMHg3MiwweDJCLDB4NzQsMHgzMCwweDNDLDB4MjAsMHg3MiwweDM3LDB4NzQsCi0weDNBLDB4QkIsMHhEQSwweDNCLDB4MzIsMHhFNCwweDg5LDB4NUUsMHg3RSwweEMzLDB4QkIsMHhBMCwweDNCLDB4RUIsMHhGNSwweEJCLAotMHg5NCwweDNCLDB4QjQsMHgwMSwweEVCLDB4RjAsMHhCQiwweEZDLDB4M0IsMHhCNCwweDAyLDB4RUIsMHhFOSwweEJCLDB4RTIsMHgzQiwKLTB4QjQsMHgwMywweEVCLDB4RTIsMHhCQiwweEJFLDB4M0IsMHhCNCwweDA0LDB4RUIsMHhEQiwweEJCLDB4Q0EsMHgzQiwweEFDLDB4NDksCi0weDg4LDB4ODYsMHhCQiwweDAwLDB4RUIsMHhDRSwweEJCLDB4RDIsMHgzQiwweEVCLDB4RjMsMHhCQiwweEZDLDB4M0IsMHhFQiwweEM0LAotMHhBOSwweDA0LDB4MDAsMHg3NSwweEQxLDB4QTksMHgwOCwweDAwLDB4NzUsMHhEQSwweEVCLDB4RDEsMHg4QiwweDVFLDB4NzQsMHg4QiwKLTB4NEUsMHg3OCwweDNCLDB4Q0IsMHg3MiwweDAyLDB4OEIsMHhDQiwweDNCLDB4QzgsMHg3MiwweDAyLDB4OEIsMHhDOCwweDhCLDB4QzEsCi0weEUzLDB4MkMsMHhDNCwweDdFLDB4MTAsMHg4QiwweERGLDB4MjYsMHgwMywweDNELDB4NDcsMHg0NywweEY3LDB4NDYsMHg3QSwweDAxLAotMHgwMCwweDc1LDB4MUMsMHhGNywweEM3LDB4MDEsMHgwMCwweDc0LDB4MDIsMHg0OSwweEE0LDB4RDEsMHhFOSwweEYzLDB4QTUsMHg3MywKLTB4MDEsMHhBNCwweDI2LDB4MDEsMHgwNywweDI5LDB4NDYsMHg3OCwweDAxLDB4NDYsMHg3NiwweDI5LDB4NDYsMHg3NCwweEMzLDB4NTAsCi0weDUzLDB4QkIsMHg3RiwweDdGLDB4RjcsMHhDNywweDAxLDB4MDAsMHg3NCwweDA1LDB4NDksMHhBQywweDIyLDB4QzMsMHhBQSwweEQxLAotMHhFOSwweEUzLDB4MUQsMHg5QywweEFELDB4MjMsMHhDMywweEFCLDB4NDksMHg3NCwweDE0LDB4QUQsMHgyMywweEMzLDB4QUIsMHg0OSwKLTB4NzQsMHgwRCwweEFELDB4MjMsMHhDMywweEFCLDB4NDksMHg3NCwweDA2LDB4QUQsMHgyMywweEMzLDB4QUIsMHhFMiwweEU1LDB4OUQsCi0weDczLDB4MDQsMHhBQywweDIyLDB4QzMsMHhBQiwweDVCLDB4NTgsMHhFQiwweEI4LDB4RTgsMHhDRSwweEM5LDB4OEIsMHg1RSwweDM4LAotMHhGNywweEMzLDB4MTAsMHgwNCwweDc1LDB4MDEsMHhDMywweEY3LDB4QzMsMHg0MCwweDAwLDB4NzQsMHgwNSwweEU4LDB4QjgsMHhFMywKLTB4RUIsMHgwMywweEU4LDB4QTgsMHhFMywweDgxLDB4NjYsMHgzOCwweEVGLDB4RkIsMHhGNiwweEMzLDB4MTAsMHg3NCwweDNDLDB4RjYsCi0weEMzLDB4MDIsMHg3NCwweDA2LDB4RTQsMHhEOCwweDBDLDB4MDEsMHhFNiwweEQ4LDB4RjYsMHhDMywweDA0LDB4NzQsMHgxMSwweDgzLAotMHhDMiwweDA4LDB4OEEsMHg4NiwweEE3LDB4MDAsMHgwQywweDAxLDB4RUUsMHg4OCwweDg2LDB4QTcsMHgwMCwweDgzLDB4RUEsMHgwOCwKLTB4RjYsMHhDMywweDA4LDB4NzQsMHgwRiwweEU4LDB4OEIsMHhFMywweDcyLDB4MEEsMHg4QSwweDg2LDB4QzAsMHgwMCwweEU2LDB4MzgsCi0weEIwLDB4MjMsMHhFNiwweDBBLDB4RjcsMHhDMywweDAwLDB4MDQsMHg3NSwweDAxLDB4QzMsMHhGNywweEMzLDB4MDAsMHgwOCwweDc1LAotMHhGOSwweDhBLDB4ODYsMHhBNSwweDAwLDB4RjYsMHhDMywweDQwLDB4NzUsMHgwRCwweEE4LDB4MTAsMHg3NSwweEVDLDB4MEMsMHgxMCwKLTB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4QzMsMHhBOCwweDAxLDB4NzUsMHhERiwweDgzLDB4QzIsMHgwMiwweDBDLDB4MDUsCi0weEVFLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhDMywweEIwLDB4MDAsMHhFOCwweDQ3LDB4RDIsMHhFQiwweDBGLDB4QjAsMHgwMiwweEU4LAotMHg5MCwweDBFLDB4RUIsMHgwOCwweDgzLDB4NjYsMHgzOCwweERGLDB4ODMsMHg0RSwweDdBLDB4MDIsMHgzMywweEMwLDB4OEUsMHhEOCwKLTB4RkEsMHhBMCwweDkyLDB4MTIsMHg0MCwweEEyLDB4OTIsMHgxMiwweDNDLDB4MDUsMHg3MiwweDFFLDB4QzYsMHgwNiwweDkyLDB4MTIsCi0weDAwLDB4RkIsMHhCMCwweDAxLDB4RTgsMHg2QiwweDBFLDB4RkEsMHhBMSwweDI2LDB4MDEsMHgyMywweDA2LDB4MkEsMHgwMSwweEE4LAotMHgwMSwweDc1LDB4MDcsMHhFOCwweEUyLDB4MDcsMHhFOCwweDYxLDB4MDksMHg5MCwweEIwLDB4MDAsMHhFOCwweDM3LDB4RDIsMHhGQiwKLTB4ODUsMHhFRCwweDc0LDB4QjksMHhGQSwweEY3LDB4NDYsMHg3QSwweDQ2LDB4MDAsMHg3NSwweEMwLDB4OEIsMHg0NiwweDc4LDB4M0QsCi0weDBBLDB4MDAsMHg3MiwweEIwLDB4OEIsMHg0RSwweDc0LDB4ODMsMHhGOSwweDUwLDB4NzIsMHg5QSwweDgzLDB4NjYsMHgzOCwweERGLAotMHhDNSwweDc2LDB4MTQsMHg4QiwweDQ2LDB4M0EsMHg4NSwweEMwLDB4NzUsMHg1OCwweEFELDB4ODUsMHhDMCwweDc1LDB4MEYsMHhFOCwKLTB4RjgsMHhGRSwweEY3LDB4NDYsMHg3QSwweDA4LDB4MDAsMHg3NCwweDkzLDB4RTgsMHhBMCwweEZBLDB4RUIsMHg4RSwweDNCLDB4NzYsCi0weDA0LDB4NzYsMHgyMSwweEI5LDB4MDIsMHgwMCwweDM5LDB4NEUsMHgyRSwweDc3LDB4MDUsMHhDNywweDQ2LDB4MkUsMHgwMCwweDAwLAotMHg1NiwweDhCLDB4NzYsMHgyQywweDg5LDB4NzYsMHgwNCwweEM3LDB4MDQsMHgwMCwweDAwLDB4NDYsMHg0NiwweDg5LDB4NzYsMHgyQywKLTB4MjksMHg0RSwweDJFLDB4NUUsMHg4NSwweEMwLDB4NzksMHgxNywweEY2LDB4QzQsMHgxMCwweDc0LDB4MDUsMHhGRiwweDU2LDB4N0MsCi0weEVCLDB4MDMsMHhGRiwweDU2LDB4N0UsMHg4OSwweDc2LDB4MTQsMHhCMCwweDBDLDB4RTgsMHg4NSwweEQxLDB4RUIsMHg4NiwweDg5LAotMHg0NiwweDNBLDB4RkYsMHg5NiwweDgwLDB4MDAsMHgyOSwweDQ2LDB4M0EsMHg4OSwweDc2LDB4MTQsMHhCMCwweDBDLDB4RTgsMHg3MSwKLTB4RDEsMHhFOSwweDcxLDB4RkYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDEwLDB4MDIsCi0weDAxLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsCi0weEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHgwMCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4NEUsMHg0MSwweDc4LDB4NDEsMHhEMCwweDQxLDB4RjQsMHg0MSwweDA2LDB4NDIsMHgxOCwweDQyLAotMHhDMywweDkwLDB4OEUsMHg0NiwweDAyLDB4OEIsMHg3RSwweDIyLDB4ODksMHg3RSwweDZDLDB4ODAsMHg2NiwweDI3LDB4RkQsMHg4QiwKLTB4NTYsMHgyNCwweDgzLDB4RkEsMHgwNCwweDcyLDB4RTksMHg4MywweEVBLDB4MDIsMHg4QiwweEQ5LDB4M0IsMHhDQSwweDc2LDB4MDIsCi0weDhCLDB4Q0EsMHhCMCwweDBBLDB4NTcsMHg1MSwweDhCLDB4RkUsMHhGMiwweEFFLDB4OEIsMHhDMSwweDU5LDB4NUYsMHg3NSwweDFFLAotMHg1MCwweDQwLDB4MkIsMHhDOCwweDc0LDB4MDYsMHgyQiwweEQxLDB4MkIsMHhEOSwweEYzLDB4QTQsMHg1OSwweDRCLDB4NEEsMHg0QSwKLTB4QjAsMHgwRCwweEFBLDB4QTQsMHgzQiwweENBLDB4NzYsMHgwMiwweDhCLDB4Q0EsMHhFMywweDEzLDB4RUIsMHhENCwweDJCLDB4RDksCi0weEY3LDB4QzYsMHgwMSwweDAwLDB4NzQsMHgwMiwweEE0LDB4NDksMHhEMSwweEU5LDB4RjMsMHhBNSwweDczLDB4MDEsMHhBNCwweDg5LAotMHg3RSwweDIyLDB4MkIsMHg3RSwweDZDLDB4MjksMHg3RSwweDI0LDB4MDEsMHg3RSwweDFBLDB4OEIsMHhDQiwweDgwLDB4N0UsMHgyNiwKLTB4MDIsMHg3NCwweDA1LDB4ODAsMHg2NiwweDI2LDB4RkQsMHhDMywweDYwLDB4QjAsMHhGRCwweEU4LDB4MTgsMHgwMywweDYxLDB4QzMsCi0weEMzLDB4OTAsMHhFOCwweDdDLDB4MDIsMHg3MiwweEY5LDB4OTAsMHg4MywweDRFLDB4MjYsMHgyMCwweDhCLDB4NDYsMHg2QSwweDg5LAotMHg0NiwweDZFLDB4OEIsMHg0NiwweDQ4LDB4MEQsMHgwNCwweDAwLDB4MjUsMHhCRiwweEZGLDB4ODksMHg0NiwweDQ4LDB4QjAsMHgwNiwKLTB4RTgsMHhCRiwweENGLDB4QzMsMHg4OSwweDdFLDB4MjIsMHgyQiwweDdFLDB4NkMsMHgwMSwweDdFLDB4MUEsMHgyOSwweDdFLDB4MjQsCi0weDgwLDB4N0UsMHgyNiwweDAyLDB4NzQsMHgwNSwweDgzLDB4NjYsMHgyNiwweEZELDB4QzMsMHg2MCwweEIwLDB4RkQsMHhFOCwweEQ1LAotMHgwMiwweDYxLDB4QzMsMHg5MCwweDhBLDB4QkUsMHhDMiwweDAwLDB4RUIsMHgyNCwweEY3LDB4NDYsMHg0OCwweDQwLDB4MDAsMHg3NSwKLTB4QjEsMHg4RSwweDQ2LDB4MDIsMHg4QiwweDdFLDB4MjIsMHg4OSwweDdFLDB4NkMsMHg4QiwweDU2LDB4MjQsMHg4MywweEVBLDB4MEEsCi0weDc4LDB4OUUsMHgwMywweEQ3LDB4ODAsMHg2NiwweDI3LDB4RkQsMHgzMywweEMwLDB4OEEsMHhCRSwweEMyLDB4MDAsMHhFMywweEI0LAotMHgzQiwweEZBLDB4NzcsMHhCMCwweEFDLDB4NDksMHg5MywweDJFLDB4OEEsMHg4NywweEQ0LDB4M0UsMHg5MywweDIyLDB4REYsMHg3NSwKLTB4MTcsMHhBQSwweEUzLDB4QTAsMHgzQiwweEZBLDB4NzcsMHg5QywweEFDLDB4NDksMHg5MywweDJFLDB4OEEsMHg4NywweEQ0LDB4M0UsCi0weDkzLDB4MjIsMHhERiwweDc1LDB4MDMsMHhBQSwweEVCLDB4RDYsMHhGNiwweEMzLDB4N0YsMHg3NSwweDA1LDB4RkYsMHg0NiwweDY2LAotMHhFQiwweERGLDB4RjYsMHhDMywweDQwLDB4NzUsMHgwQywweDhCLDB4RDgsMHg4MywweEVCLDB4MDgsMHhEMSwweEUzLDB4MkUsMHhGRiwKLTB4QTcsMHhENCwweDNGLDB4RkYsMHg0NiwweDY2LDB4MkMsMHgyMCwweEVCLDB4QzcsMHg4NSwweEMwLDB4NzQsMHgyQywweDg5LDB4NDYsCi0weDZBLDB4ODMsMHg0RSwweDQ4LDB4NDAsMHg4OSwweDdFLDB4MjIsMHgyQiwweDdFLDB4NkMsMHgwMSwweDdFLDB4MUEsMHgyOSwweDdFLAotMHgyNCwweDgwLDB4N0UsMHgyNiwweDAyLDB4NzQsMHgwOCwweDgzLDB4NjYsMHgyNiwweEZELDB4RTgsMHhBMywweDAxLDB4QzMsMHg2MCwKLTB4QjAsMHhGRCwweEU4LDB4MzEsMHgwMiwweDYxLDB4RTgsMHg5OCwweDAxLDB4QzMsMHhFOSwweDU3LDB4RkYsMHg5MCwweDhCLDB4NUUsCi0weDY2LDB4NEIsMHg3OCwweDAzLDB4ODksMHg1RSwweDY2LDB4QUEsMHg4QiwweDVFLDB4NjQsMHhGNywweEMzLDB4MDAsMHgyMCwweDc1LAotMHgwMywweEU5LDB4NDAsMHhGRiwweEY3LDB4QzMsMHg0MCwweDAwLDB4NzQsMHgwOCwweDhBLDB4ODYsMHhDMSwweDAwLDB4QUEsMHhFOSwKLTB4MzIsMHhGRiwweEI4LDB4MzIsMHgwMCwweEVCLDB4QTMsMHg5MCwweDhCLDB4NUUsMHg2NiwweDg5LDB4NUUsMHg2OCwweDgzLDB4QzMsCi0weDA4LDB4ODAsMHhFMywweEY4LDB4ODksMHg1RSwweDY2LDB4OEIsMHg1RSwweDY0LDB4ODEsMHhFMywweDAwLDB4MTgsMHg4MSwweEZCLAotMHgwMCwweDE4LDB4NzQsMHgyRCwweEFBLDB4ODUsMHhEQiwweDc0LDB4MjUsMHhGNywweDQ2LDB4NjQsMHg0MCwweDAwLDB4NzUsMHgxOCwKLTB4ODEsMHhGQiwweDAwLDB4MTAsMHg3NCwweDBDLDB4OEIsMHg0NiwweDY2LDB4MkIsMHg0NiwweDY4LDB4QzEsMHhFMCwweDA0LDB4RTksCi0weDY4LDB4RkYsMHhCOCwweDY0LDB4MDAsMHhFOSwweDYyLDB4RkYsMHg4QSwweDg2LDB4QzEsMHgwMCwweEFBLDB4QUEsMHhFOSwweEUzLAotMHhGRSwweDUxLDB4OEIsMHg0RSwweDY2LDB4MkIsMHg0RSwweDY4LDB4QjAsMHgyMCwweEYzLDB4QUEsMHg1OSwweEU5LDB4RDQsMHhGRSwKLTB4OEIsMHg1RSwweDY2LDB4ODksMHg1RSwweDY4LDB4OEIsMHg1RSwweDY0LDB4RjcsMHhDMywweDI0LDB4MDAsMHg3NCwweDEwLDB4QzcsCi0weDQ2LDB4NjYsMHgwMCwweDAwLDB4RjcsMHhDMywweDA0LDB4MDAsMHg3NCwweDA1LDB4QjAsMHgwRCwweEFBLDB4QjAsMHgwQSwweEFBLAotMHhFQiwweDQ4LDB4OTAsMHg5MCwweEFBLDB4RjcsMHg0NiwweDY0LDB4MDAsMHg0MCwweDc0LDB4MDYsMHhCOCwweEQwLDB4MDcsMHhFOSwKLTB4MTgsMHhGRiwweEU5LDB4OUYsMHhGRSwweDkwLDB4QUEsMHhGNywweDQ2LDB4NjQsMHgwMCwweDgwLDB4NzQsMHgwNiwweEI4LDB4RDAsCi0weDA3LDB4RTksMHgwNiwweEZGLDB4RTksMHg4RCwweEZFLDB4OTAsMHg4QiwweDVFLDB4NjYsMHg4OSwweDVFLDB4NjgsMHg4NSwweERCLAotMHg3NSwweDBDLDB4OEIsMHg1RSwweDY0LDB4RjcsMHhDMywweDEwLDB4MDAsMHg3NCwweDA2LDB4RTksMHg3NiwweEZFLDB4OEIsMHg1RSwKLTB4NjQsMHhGNywweEMzLDB4MDgsMHgwMCwweDc0LDB4MjcsMHhCMCwweDBBLDB4QUEsMHhGNywweEMzLDB4MjAsMHgwMCwweDc1LDB4MUYsCi0weEY3LDB4QzMsMHgwMCwweDAxLDB4NzUsMHgwMywweEU5LDB4NUIsMHhGRSwweEY3LDB4QzMsMHg0MCwweDAwLDB4NzUsMHgwNiwweEI4LAotMHg2NCwweDAwLDB4RTksMHhDNSwweEZFLDB4OEEsMHg4NiwweEMxLDB4MDAsMHhBQSwweEFBLDB4RTksMHg0NiwweEZFLDB4QUEsMHhDNywKLTB4NDYsMHg2NiwweDAwLDB4MDAsMHhGNywweEMzLDB4MDAsMHgwNiwweDc0LDB4RjEsMHhGNywweEMzLDB4NDAsMHgwMCwweDc0LDB4MTksCi0weDhBLDB4ODYsMHhDMSwweDAwLDB4ODEsMHhFMywweDAwLDB4MDYsMHg4MSwweEZCLDB4MDAsMHgwNCwweDcyLDB4MDYsMHg3NiwweDAyLAotMHhBQSwweEFBLDB4QUEsMHhBQSwweEFBLDB4QUEsMHhFOSwweDFCLDB4RkUsMHg4MSwweEUzLDB4MDAsMHgwNiwweDgxLDB4RkIsMHgwMCwKLTB4MDQsMHg3MiwweDBFLDB4NzYsMHgwNiwweEI4LDB4OTYsMHgwMCwweEU5LDB4N0YsMHhGRSwweEI4LDB4NjQsMHgwMCwweEU5LDB4NzksCi0weEZFLDB4OEIsMHg0NiwweDY4LDB4RTksMHg3MywweEZFLDB4OTAsMHgzNiwweDhCLDB4MEUsMHhEQSwweDEyLDB4ODMsMHhGOSwweDMyLAotMHg3MywweDFELDB4MUUsMHgwNiwweDMzLDB4QzAsMHg4RSwweEQ4LDB4OEUsMHhDMCwweDhELDB4NzYsMHg0QywweEJGLDB4REMsMHgxMiwKLTB4MDMsMHhGOSwweEE1LDB4QTUsMHhBNSwweDgzLDB4QzEsMHgwNiwweDg5LDB4MEUsMHhEQSwweDEyLDB4MDcsMHgxRiwweEMzLDB4QjAsCi0weDA4LDB4RTgsMHg2RSwweENELDB4QzMsMHg5MCwweDgzLDB4NjYsMHg0OCwweEZFLDB4RTgsMHg5MywweEM0LDB4RTgsMHhDOCwweEZGLAotMHhDMywweEY2LDB4NDYsMHgyNywweDAyLDB4NzUsMHgwRiwweDlDLDB4RkEsMHg4MywweDdFLDB4MUEsMHgwMCwweDc0LDB4MDksMHg4MCwKLTB4NEUsMHgyNywweDAxLDB4OUQsMHhGOSwweEMzLDB4RjgsMHhDMywweDUwLDB4NTIsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLDB4NzQsCi0weDFELDB4RTgsMHgzNCwweERFLDB4ODMsMHhDMiwweDBBLDB4RUMsMHhBOCwweDQwLDB4NzUsMHgyNywweDgzLDB4RUEsMHgwOCwweDhBLAotMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFRSwweDVBLDB4NTgsMHhFQiwweEQxLDB4RTgsMHgwQywKLTB4REUsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RkIsMHgwQywweDAyLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4NUEsCi0weDU4LDB4RUIsMHhCQywweDgwLDB4NEUsMHgyNywweDAyLDB4NUEsMHg1OCwweDlELDB4RjgsMHhDMywweDA4LDB4NDYsMHgyNiwweDlDLAotMHhGQSwweDhBLDB4OEUsMHhBNSwweDAwLDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc1LDB4MTQsMHhGNiwweEMxLDB4MDYsMHg3NCwKLTB4MjMsMHhFOCwweEQ5LDB4REQsMHg4QSwweEMxLDB4MjQsMHhGOSwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweDlELDB4QzMsCi0weEY2LDB4QzEsMHgwMiwweDc0LDB4MEYsMHhFOCwweEQwLDB4REQsMHg4MywweEMyLDB4MDIsMHg4QSwweEMxLDB4MjQsMHhGRCwweDg4LAotMHg4NiwweEE1LDB4MDAsMHhFRSwweDlELDB4QzMsMHg4QiwweDVFLDB4MjYsMHgyMiwweEMzLDB4ODgsMHg0NiwweDI2LDB4NzQsMHgwMSwKLTB4QzMsMHg4MCwweDY2LDB4MjcsMHhGRCwweDlDLDB4RkEsMHg4QSwweDhFLDB4QTUsMHgwMCwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsCi0weDc1LDB4MTYsMHhGNiwweEMxLDB4MDQsMHg3NSwweDBGLDB4RTgsMHg5MywweERELDB4OEEsMHhDMSwweDI0LDB4RkQsMHgwQywweDA0LAotMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHg5RCwweEMzLDB4RjYsMHhDMSwweDAyLDB4NzUsMHhGOSwweEU4LDB4ODgsMHhERCwKLTB4ODMsMHhDMiwweDBBLDB4RUMsMHhBOCwweDIwLDB4NzUsMHgwRSwweDgzLDB4RUEsMHgwOCwweDhBLDB4QzEsMHgwQywweDAyLDB4ODgsCi0weDg2LDB4QTUsMHgwMCwweEVFLDB4OUQsMHhDMywweDgzLDB4RUEsMHgwQSwweDMzLDB4QzksMHg4QSwweDRFLDB4MUMsMHg4QiwweDQ2LAotMHgxQSwweDNCLDB4QzgsMHg3MywweDFCLDB4MDEsMHg0RSwweDJBLDB4MkIsMHhDMSwweDg5LDB4NDYsMHgxQSwweDFFLDB4QzUsMHg3NiwKLTB4MDAsMHhGMywweDZFLDB4MUYsMHg4OSwweDc2LDB4MDAsMHg4MywweEMyLDB4MDIsMHg4QSwweDg2LDB4QTUsMHgwMCwweEVCLDB4Q0QsCi0weDg1LDB4QzAsMHg3NCwweDEyLDB4MDEsMHg0NiwweDJBLDB4OEIsMHhDOCwweDFFLDB4QzUsMHg3NiwweDAwLDB4RjMsMHg2RSwweDFGLAotMHg4OSwweDc2LDB4MDAsMHg4OSwweDRFLDB4MUEsMHhGNiwweEM3LDB4MDEsMHg3NSwweDIzLDB4ODAsMHhDQiwweDAyLDB4ODksMHg1RSwKLTB4MjYsMHhFOCwweDA4LDB4QzMsMHg4MywweEMyLDB4MDIsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RkQsMHhFRSwweDg4LDB4ODYsCi0weEE1LDB4MDAsMHhGNiwweEM3LDB4MTAsMHg3NSwweDA1LDB4QjAsMHgwMiwweEU4LDB4MTYsMHhDQywweDlELDB4QzMsMHg4MywweEMyLAotMHgwMiwweDhBLDB4ODYsMHhBNSwweDAwLDB4RUIsMHg4NiwweDkwLDB4OEIsMHhEMSwweDhCLDB4NDYsMHgyNCwweDNCLDB4QzgsMHg3NiwKLTB4MDIsMHg4QiwweEM4LDB4MkIsMHhEMSwweDJCLDB4QzEsMHg4QiwweEQ5LDB4RTMsMHgyMiwweDgwLDB4NjYsMHgyNywweEZELDB4OEUsCi0weDQ2LDB4MDIsMHg4QiwweDdFLDB4MjIsMHhGNywweEM2LDB4MDEsMHgwMCwweDc0LDB4MDIsMHhBNCwweDQ5LDB4RDEsMHhFOSwweEYzLAotMHhBNSwweDczLDB4MDEsMHhBNCwweDg5LDB4N0UsMHgyMiwweDg5LDB4NDYsMHgyNCwweDAxLDB4NUUsMHgxQSwweDhCLDB4Q0EsMHg4MCwKLTB4N0UsMHgyNiwweDAyLDB4NzQsMHgwNSwweDgwLDB4NjYsMHgyNiwweEZELDB4QzMsMHg2MCwweEIwLDB4RkQsMHhFOCwweEY2LDB4RkUsCi0weDYxLDB4QzMsMHg1MCwweEU0LDB4MEEsMHg4NCwweEMwLDB4NzUsMHgwQSwweDg2LDB4ODYsMHhBMSwweDAwLDB4ODQsMHhDMCwweDc0LAotMHgwQSwweEU2LDB4MEEsMHg1OCwweDBDLDB4MjAsMHg4OSwweDQ2LDB4NDgsMHhGOSwweEMzLDB4NTgsMHgyNCwweERGLDB4ODksMHg0NiwKLTB4NDgsMHhGOCwweEMzLDB4OTAsMHhGQiwweEIwLDB4MDIsMHhFOCwweEU4LDB4MDcsMHhGQSwweEU4LDB4MkUsMHgwMSwweEZCLDB4QjAsCi0weDAxLDB4RTgsMHhERSwweDA3LDB4RkEsMHhCMCwweDAyLDB4RTgsMHhCQywweENCLDB4RkIsMHg4NSwweEVELDB4NzQsMHhFNSwweEZBLAotMHg4RSwweDVFLDB4MEEsMHhGQiwweDkwLDB4RkEsMHg4QiwweDQ2LDB4NDgsMHg4QiwweDc2LDB4NDAsMHhBOCwweDhDLDB4NzUsMHhERSwKLTB4QTgsMHgyMCwweDc0LDB4MUEsMHg1MCwweEU4LDB4NTUsMHhEQywweDU4LDB4RTgsMHhBNiwweEZGLDB4NzMsMHgxMCwweEIwLDB4MDIsCi0weEU4LDB4NUYsMHhDQiwweEVCLDB4QzksMHg5MCwweDI1LDB4RkYsMHgwMCwweDhCLDB4QzgsMHhFQiwweDM2LDB4OTAsMHhBOCwweDAxLAotMHg3NSwweDIyLDB4NDYsMHg4MywweEU2LDB4RkUsMHgzQiwweDc2LDB4MDgsMHg3NCwweDc5LDB4QUQsMHg4QSwweEZDLDB4QjMsMHhGMCwKLTB4MjIsMHhGQiwweDNBLDB4RkIsMHg3NCwweEUwLDB4M0EsMHhCRSwweEEwLDB4MDAsMHg3NCwweDJFLDB4RTgsMHhEMiwweEZELDB4NzMsCi0weDc3LDB4RUIsMHg5QiwweDkwLDB4OEEsMHhFMCwweDI0LDB4RkMsMHg4OCwweDQ2LDB4NDgsMHg4QiwweDRFLDB4NEEsMHhGNiwweEM0LAotMHgwMiwweDc0LDB4MUQsMHhFOCwweEJCLDB4RkQsMHg3MiwweDg2LDB4RTgsMHgxMywweEYzLDB4ODksMHg3NiwweDQwLDB4RTMsMHg5MywKLTB4ODMsMHg0RSwweDQ4LDB4MDMsMHg4OSwweDRFLDB4NEEsMHhFOSwweDc0LDB4RkYsMHgyNSwweEZGLDB4MEYsMHg4QiwweEM4LDB4OTAsCi0weDhCLDB4ODYsMHg5OCwweDAwLDB4ODUsMHhDMCwweDc0LDB4MUEsMHg1MSwweDhBLDB4OEUsMHhBMCwweDAwLDB4QzAsMHhFOSwweDA0LAotMHhCQSwweDAxLDB4MDAsMHhEMywweEUyLDB4NTksMHgyMywweEMyLDB4NzQsMHgwOCwweDAzLDB4RjEsMHg4OSwweDc2LDB4NDAsMHhFOSwKLTB4NjEsMHhGRiwweEZGLDB4NTYsMHg2MiwweEUzLDB4RjUsMHg4MywweDRFLDB4NDgsMHgwMSwweDg5LDB4NEUsMHg0QSwweDg5LDB4NzYsCi0weDQwLDB4RTksMHgzQSwweEZGLDB4ODEsMHg0RSwweDI2LDB4MDAsMHgxMCwweDhCLDB4NDYsMHg1MCwweDNCLDB4NDYsMHg0NiwweDc3LAotMHgwMywweEU4LDB4NTIsMHhGRCwweEU5LDB4MjcsMHhGRiwweDkwLDB4ODgsMHhCRSwweEEwLDB4MDAsMHhFQiwweEFDLDB4MEEsMHgwNiwKLTB4OTAsMHgxMiwweDhBLDB4RTAsMHhCQSwweDA2LDB4MDEsMHhCMCwweDA0LDB4RUUsMHhFQywweDg0LDB4QzAsMHg3NSwweDEyLDB4QjAsCi0weDA0LDB4RUUsMHg4QSwweEM0LDB4RUUsMHgzMiwweEU0LDB4QTgsMHg4MCwweDc0LDB4MDYsMHhDNywweDA2LDB4ODQsMHgxMiwweDAwLAotMHgwMCwweDg4LDB4MjYsMHg5MCwweDEyLDB4QzMsMHgwQSwweDA2LDB4OTAsMHgxMiwweDhBLDB4RTAsMHhCQSwweDA2LDB4MDEsMHhFQywKLTB4QTgsMHgwMSwweDc1LDB4RUQsMHhCQSwweDA4LDB4MDEsMHg4QSwweEM0LDB4RUUsMHgzMiwweEU0LDB4QTgsMHg4MCwweDc0LDB4RTEsCi0weEM3LDB4MDYsMHg4NCwweDEyLDB4MDAsMHgwMCwweDg4LDB4MjYsMHg5MCwweDEyLDB4QzMsMHg5MCwweDM2LDB4RjcsMHgwNiwweDI0LAotMHgwMSwweDAxLDB4MDAsMHg3NSwweDMwLDB4MzYsMHg4QiwweDBFLDB4REEsMHgxMiwweDgwLDB4RjksMHgzNiwweDczLDB4MjYsMHgzMywKLTB4QzAsMHg4RSwweEMwLDB4OEUsMHhEOCwweEJGLDB4REMsMHgxMiwweDAzLDB4RjksMHhCMCwweDA4LDB4RTgsMHg3NywweENBLDB4ODUsCi0weEVELDB4NzQsMHgwRSwweDhELDB4NzYsMHg0QywweEE1LDB4QTUsMHhBNSwweDgwLDB4QzEsMHgwNiwweDgwLDB4RjksMHgzNiwweDcyLAotMHhFOSwweDg5LDB4MEUsMHhEQSwweDEyLDB4QzMsMHhDMywweDkwLDB4RjcsMHgwNiwweDI2LDB4MDEsMHgwMSwweDAwLDB4NzUsMHhGNiwKLTB4OEIsMHgwRSwweDIwLDB4MTMsMHg4NSwweEM5LDB4NzUsMHhFRSwweDMzLDB4QzAsMHg4RSwweEMwLDB4OEUsMHhEOCwweEJGLDB4MjQsCi0weDEzLDB4QjksMHgzNiwweDAwLDB4QjAsMHgwQSwweEU4LDB4M0QsMHhDQSwweDg1LDB4RUQsMHg3NSwweDA2LDB4RTksMHgxMiwweDAxLAotMHhFOSwweDBBLDB4MDEsMHgzMywweERCLDB4OEEsMHg0NiwweDRDLDB4OEEsMHhBNiwweEIzLDB4MDAsMHhGRSwweENDLDB4NzgsMHgwRSwKLTB4ODgsMHhBNiwweEIzLDB4MDAsMHgwQSwweERDLDB4QjQsMHgwQSwweEFCLDB4ODMsMHhFOSwweDAyLDB4NzYsMHhFMiwweDhBLDB4QTYsCi0weEIyLDB4MDAsMHhGRSwweENDLDB4NzgsMHgwRSwweDg4LDB4QTYsMHhCMiwweDAwLDB4MEEsMHhEQywweEI0LDB4MDgsMHhBQiwweDgzLAotMHhFOSwweDAyLDB4NzYsMHhDQywweDhBLDB4QTYsMHhCMSwweDAwLDB4RkUsMHhDQywweDc4LDB4MTgsMHg4QSwweEJFLDB4QjAsMHgwMCwKLTB4NzUsMHgwNCwweDg4LDB4QTYsMHhCMCwweDAwLDB4ODgsMHhBNiwweEIxLDB4MDAsMHgwQSwweERDLDB4OEEsMHhFNywweEFCLDB4ODMsCi0weEU5LDB4MDIsMHg3NiwweEFDLDB4OEEsMHhBNiwweEI0LDB4MDAsMHhGRSwweENDLDB4NzgsMHgxRiwweDg4LDB4QTYsMHhCNCwweDAwLAotMHgwQSwweERDLDB4QjQsMHgwQiwweEFCLDB4OEEsMHg4NiwweEJDLDB4MDAsMHg4QSwweEE2LDB4QkQsMHgwMCwweEFCLDB4OEIsMHg4NiwKLTB4QkUsMHgwMCwweEFCLDB4ODMsMHhFOSwweDA2LDB4NzYsMHg4OCwweDhBLDB4NDYsMHg0QywweDhBLDB4QTYsMHhCNiwweDAwLDB4RkUsCi0weENDLDB4NzgsMHgxOSwweDg4LDB4QTYsMHhCNiwweDAwLDB4MEEsMHhEQywweEI0LDB4MEMsMHhBQiwweEU4LDB4REIsMHhDQiwweEFCLAotMHg4QiwweDQ2LDB4MkEsMHhBQiwweDgzLDB4RTksMHgwNiwweDc2LDB4NzQsMHg4QSwweDQ2LDB4NEMsMHg4QSwweEE2LDB4QjcsMHgwMCwKLTB4RkUsMHhDQywweDc4LDB4MTksMHg4OCwweEE2LDB4QjcsMHgwMCwweDBBLDB4REMsMHhCNCwweDBELDB4QUIsMHhFOCwweEJBLDB4Q0IsCi0weEFCLDB4OEIsMHg0NiwweDM0LDB4QUIsMHg4MywweEU5LDB4MDYsMHg3NiwweDUzLDB4OEEsMHg0NiwweDRDLDB4OEEsMHhBNiwweEI4LAotMHgwMCwweEZFLDB4Q0MsMHg3OCwweDE5LDB4ODgsMHhBNiwweEI4LDB4MDAsMHgwQSwweERDLDB4QjQsMHgwRSwweEFCLDB4QTEsMHg1MCwKLTB4MTIsMHhBQiwweEExLDB4NTIsMHgxMiwweEFCLDB4ODMsMHhFOSwweDA2LDB4NzYsMHgzMiwweDhBLDB4NDYsMHg0QywweDhBLDB4QTYsCi0weEI1LDB4MDAsMHhGRSwweENDLDB4NzgsMHgxOCwweDg4LDB4QTYsMHhCNSwweDAwLDB4MEEsMHhEQywweEI0LDB4MEYsMHhBQiwweDhCLAotMHg4NiwweDlBLDB4MDAsMHhBQiwweDhCLDB4ODYsMHg5QywweDAwLDB4QUIsMHg4MywweEU5LDB4MDYsMHg3NiwweDBGLDB4ODQsMHhEQiwKLTB4NzUsMHgwMywweEU5LDB4RUYsMHhGRSwweEIwLDB4MEEsMHhFOCwweEY4LDB4QzgsMHhFOSwweEU3LDB4RkUsMHhCMCwweDBBLDB4RTgsCi0weEYwLDB4QzgsMHhGNywweEQ5LDB4ODMsMHhDMSwweDM2LDB4OEIsMHhDMSwweDBELDB4ODAsMHgwMCwweDg2LDB4QzQsMHhBMywweDIyLAotMHgxMywweDQxLDB4NDEsMHg4OSwweDBFLDB4MjAsMHgxMywweEMzLDB4QTEsMHg4NCwweDEyLDB4MkIsMHhDMSwweDcyLDB4MTEsMHhBMywKLTB4ODQsMHgxMiwweEJFLDB4MjIsMHgxMywweEQxLDB4RTksMHhGMywweDZGLDB4OTAsMHg4OSwweDBFLDB4MjAsMHgxMywweEY4LDB4QzMsCi0weEY5LDB4QzMsMHhDMywweDgxLDB4RUYsMHg2QSwweDEzLDB4NzQsMHhGOSwweDhCLDB4QzcsMHgwRCwweDgwLDB4MDAsMHg4NiwweEM0LAotMHhBMywweDY4LDB4MTMsMHg0NywweDQ3LDB4ODksMHgzRSwweDY2LDB4MTMsMHhDMywweEY3LDB4MDYsMHgyQSwweDAxLDB4MDEsMHgwMCwKLTB4NzUsMHhFMCwweDhCLDB4MEUsMHg2NiwweDEzLDB4RTMsMHgwNywweDgwLDB4RjksMHgyMCwweDc3LDB4RDUsMHg0OSwweDQ5LDB4MzMsCi0weEMwLDB4OEUsMHhDMCwweDhFLDB4RDgsMHhCRiwweDZBLDB4MTMsMHg4QiwweEY3LDB4MDMsMHhGOSwweDgzLDB4QzYsMHgzNCwweDNCLAotMHhGRSwweDc3LDB4QzAsMHhCMCwweDBFLDB4RTgsMHhBRSwweEM4LDB4ODUsMHhFRCwweDc0LDB4QjcsMHg4QSwweDQ2LDB4NEMsMHg4QSwKLTB4QjYsMHhCOSwweDAwLDB4RkUsMHhDRSwweDc4LDB4MTUsMHg4OCwweEI2LDB4QjksMHgwMCwweDhBLDB4QTYsMHhBOSwweDAwLDB4ODAsCi0weENDLDB4QzAsMHhBQiwweDg0LDB4RjYsMHg3NCwweDA1LDB4QjAsMHgwRSwweEU4LDB4NTYsMHhDOCwweDhBLDB4QjYsMHhCQSwweDAwLAotMHhGRSwweENFLDB4NzgsMHhDQiwweDhBLDB4OUUsMHhBOSwweDAwLDB4OEEsMHhCRSwweEFCLDB4MDAsMHg4QSwweDU2LDB4M0YsMHg4QSwKLTB4RjMsMHgzMiwweEY3LDB4MEEsMHhCNiwweEFDLDB4MDAsMHhDNiwweDg2LDB4QUMsMHgwMCwweDAwLDB4MjIsMHhGMiwweDc0LDB4NEIsCi0weEY2LDB4QzYsMHgwOCwweDc0LDB4MEYsMHhCNCwweDAyLDB4RjYsMHhDMywweDA4LDB4NzUsMHgwMiwweEI0LDB4MDMsMHhBQiwweDgwLAotMHhFNiwweEY3LDB4NzQsMHgzNywweEY2LDB4QzYsMHgwMSwweDc0LDB4MEYsMHhCNCwweDAwLDB4RjYsMHhDMywweDAxLDB4NzUsMHgwMiwKLTB4QjQsMHgwMSwweEFCLDB4ODAsMHhFNiwweEZFLDB4NzQsMHgyMywweEY2LDB4QzYsMHgwMiwweDc0LDB4MEYsMHhCNCwweDA0LDB4RjYsCi0weEMzLDB4MDIsMHg3NSwweDAyLDB4QjQsMHgwNSwweEFCLDB4ODAsMHhFNiwweEZELDB4NzQsMHgwRiwweEY2LDB4QzYsMHgwNCwweDc0LAotMHgwQSwweEI0LDB4MDYsMHhGNiwweEMzLDB4MDQsMHg3NSwweDAyLDB4QjQsMHgwNywweEFCLDB4QzYsMHg4NiwweEJBLDB4MDAsMHgwMCwKLTB4ODgsMHg5RSwweEFCLDB4MDAsMHhFOSwweDU4LDB4RkYsMHg5MCwweEExLDB4ODQsMHgxMiwweDJCLDB4QzEsMHg3MiwweDExLDB4QTMsCi0weDg0LDB4MTIsMHhCRSwweDY4LDB4MTMsMHhEMSwweEU5LDB4RjMsMHg2RiwweDkwLDB4ODksMHgwRSwweDY2LDB4MTMsMHhGOCwweEMzLAotMHhGOSwweEMzLDB4QTEsMHg4NCwweDEyLDB4NDEsMHg0MSwweDJCLDB4QzEsMHg3MiwweDIzLDB4QTMsMHg4NCwweDEyLDB4OEIsMHhDMSwKLTB4NDgsMHg0OCwweDMyLDB4RTQsMHgwQywweDgwLDB4ODYsMHhDNCwweEVGLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg5MCwweEJFLDB4REMsCi0weDEyLDB4NDksMHg0OSwweEQxLDB4RTksMHhGMywweDZGLDB4OTAsMHg4OSwweDBFLDB4REEsMHgxMiwweEY4LDB4QzMsMHhGOSwweEMzLAotMHg4QSwweEM4LDB4OEEsMHg0NiwweDRDLDB4QjQsMHgwMSwweDgzLDB4RUIsMHgwNiwweEVGLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg5MCwKLTB4QjgsMHgwMSwweDAwLDB4RUYsMHg5MCwweDkwLDB4OTAsMHg5MCwweDkwLDB4OEEsMHhDMSwweEVGLDB4OTAsMHg5MCwweDkwLDB4OTAsCi0weDkwLDB4RTksMHg5NywweDAwLDB4RTksMHhBQywweDAwLDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4OSwweDFFLDB4ODQsMHgxMiwweEMzLAotMHgzNiwweDhCLDB4MUUsMHg4NCwweDEyLDB4RkIsMHg5MCwweEZBLDB4QjAsMHgwQywweEU4LDB4ODksMHhDNywweDg1LDB4RUQsMHg3NCwKLTB4RTYsMHhDNSwweDc2LDB4MEMsMHg4MywweEZCLDB4MTQsMHg3MiwweERCLDB4RkIsMHg5MCwweEZBLDB4QUQsMHg4NSwweEMwLDB4NzgsCi0weEFGLDB4NzQsMHhFMiwweDhCLDB4RkUsMHgwMywweEY4LDB4MzYsMHg4QiwweDBFLDB4ODYsMHgxMiwweDNCLDB4QzEsMHg3NywweDAyLAotMHg4QiwweEM4LDB4ODMsMHhFQiwweDA0LDB4M0IsMHhEOSwweDc3LDB4MDIsMHg4QiwweENCLDB4MzMsMHhDMCwweDhBLDB4NDYsMHg0QywKLTB4RUYsMHg5MCwweDkwLDB4OTAsMHg5MCwweDkwLDB4OEIsMHhDMSwweEVGLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg5MCwweDQxLDB4ODAsCi0weEUxLDB4RkUsMHgyQiwweEQ5LDB4NTEsMHhEMSwweEU5LDB4RjMsMHg2RiwweDkwLDB4NTksMHg4QiwweEM3LDB4NDAsMHgyNCwweEZFLAotMHgzQiwweEM2LDB4NzQsMHgyNywweDJCLDB4RkUsMHg0RSwweDRFLDB4NTMsMHg4QiwweDVFLDB4MTAsMHgzQiwweEYzLDB4NzIsMHgxMywKLTB4MDMsMHgxRiwweDgzLDB4QzMsMHgwMywweDgwLDB4RTMsMHhGRSwweEM3LDB4MDcsMHgwMCwweDAwLDB4ODMsMHg2RSwweDc0LDB4MDIsCi0weDg5LDB4NUUsMHgxMCwweDVCLDB4ODksMHgzQywweDg5LDB4NzYsMHgwQywweEVCLDB4ODksMHg4OSwweDc2LDB4MEMsMHgzOSwweDc2LAotMHgxMCwweDc3LDB4ODEsMHg3MiwweDA4LDB4ODMsMHgzQywweDAwLDB4NzQsMHgwMywweEU5LDB4NzcsMHhGRiwweEU4LDB4MEQsMHhCRSwKLTB4RTksMHg2MiwweEZGLDB4MzYsMHg4OSwweDFFLDB4ODQsMHgxMiwweEIwLDB4MEMsMHhFOCwweEI1LDB4QzYsMHgzMywweEMwLDB4OEUsCi0weEQ4LDB4QzMsMHhBMSwweDg0LDB4MTIsMHgzRCwweDEwLDB4MDAsMHg3MiwweDc3LDB4QkEsMHgwNCwweDAxLDB4M0IsMHgwNiwweDg4LAotMHgxMiwweDc1LDB4MDYsMHhDNywweDA2LDB4N0UsMHgxMiwweDAwLDB4MDAsMHg4QiwweDBFLDB4REEsMHgxMiwweEUzLDB4MEIsMHhFOCwKLTB4RDAsMHhGRSwweDcyLDB4NTcsMHhDNywweDA2LDB4N0UsMHgxMiwweEZGLDB4N0YsMHg4QiwweDBFLDB4MjAsMHgxMywweEUzLDB4MEIsCi0weEU4LDB4QTUsMHhGRCwweDcyLDB4NDYsMHhDNywweDA2LDB4N0UsMHgxMiwweEZGLDB4N0YsMHg4QiwweDBFLDB4NjYsMHgxMywweEUzLAotMHgwQiwweEU4LDB4OTQsMHhGRSwweDcyLDB4MzUsMHhDNywweDA2LDB4N0UsMHgxMiwweEZGLDB4N0YsMHhBMSwweDI4LDB4MDEsMHhBOSwKLTB4MDEsMHgwMCwweDc1LDB4MDMsMHhFOCwweEY5LDB4RkUsMHg4MCwweDNFLDB4OEQsMHgxMiwweDAwLDB4NzUsMHgxRCwweEExLDB4ODQsCi0weDEyLDB4M0QsMHgyMCwweDAwLDB4NzYsMHgxNSwweDNCLDB4MDYsMHg4MiwweDEyLDB4NzYsMHgwOSwweEExLDB4N0UsMHgxMiwweDNCLAotMHgwNiwweDgwLDB4MTIsMHg3MiwweDBDLDB4ODAsMHgwRSwweDkwLDB4MTIsMHg4MCwweEMzLDB4QjAsMHg4MCwweEZGLDB4MTYsMHg3QywKLTB4MTIsMHhDMywweDgwLDB4MEUsMHg5MCwweDEyLDB4NDAsMHhDMywweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MTcsCi0weDlDLDB4MEUsMHhFOCwweEI3LDB4QzgsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDIwLDB4OUMsMHgwRSwweEU4LAotMHhBQSwweEM4LDB4NkEsMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgxNiwweDlDLDB4MEUsMHhFOCwweDlELDB4QzgsMHg5MCwKLTB4QkEsMHgwNiwweDAxLDB4RUMsMHhBOCwweDIwLDB4NzUsMHhDQSwweEZCLDB4OTAsMHhGQSwweEJBLDB4MDQsMHgwMSwweEVELDB4OTAsCi0weDkwLDB4OTAsMHg5MCwweDkwLDB4M0EsMHgwNiwweDk0LDB4MTIsMHg3NywweEJFLDB4MzMsMHhEQiwweDhBLDB4RDgsMHhEMSwweEUzLAotMHgyRSwweDhCLDB4QUYsMHg0NCwweDAwLDB4QzQsMHg3RSwweDA4LDB4ODUsMHhGRiwweDc0LDB4QjksMHhGNiwweEM0LDB4QzAsMHg3NSwKLTB4NTUsMHgzMiwweEMwLDB4QzEsMHhFMCwweDAyLDB4ODAsMHhFNCwweEYwLDB4OEIsMHhGMCwweEVELDB4OTAsMHg5MCwweDkwLDB4OTAsCi0weDkwLDB4ODUsMHhDMCwweDc0LDB4QkIsMHg4QiwweEM4LDB4NDEsMHg4MCwweEUxLDB4RkUsMHgwQiwweEM2LDB4OEIsMHg1RSwweDUwLAotMHg0QiwweDRCLDB4MkIsMHhEOSwweDc4LDB4OUMsMHhBQiwweDhCLDB4QzEsMHg0MCwweDQwLDB4MDEsMHg0NiwweDRFLDB4RDEsMHhFOSwKLTB4RjMsMHg2RCwweDkwLDB4ODksMHg1RSwweDUwLDB4ODksMHg3RSwweDA4LDB4OEIsMHg0NiwweDI2LDB4ODAsMHhFNCwweEVGLDB4ODksCi0weDQ2LDB4MjYsMHhGNiwweEM0LDB4MDEsMHg3NSwweDBDLDB4RjcsMHg0NiwweDQ4LDB4MEMsMHgwMCwweDc1LDB4MDUsMHhCMCwweDAyLAotMHhFOCwweDdGLDB4QzUsMHhFOSwweDdBLDB4RkYsMHg4NiwweEM0LDB4OEIsMHhDOCwweDgzLDB4RTEsMHgzRiwweDQxLDB4ODAsMHhFMSwKLTB4RkUsMHhFMywweDBBLDB4M0MsMHg4MCwweDcyLDB4MDksMHgyNCwweDNGLDB4QjQsMHhGMCwweEVCLDB4QjAsMHhFOSwweDYwLDB4RkYsCi0weDI1LDB4M0YsMHgwMCwweDMzLDB4RkYsMHg4RSwweEM3LDB4QkYsMHg5NiwweDEyLDB4OEIsMHhGNywweEQxLDB4RTksMHhGMywweDZELAotMHg5MCwweDhCLDB4QzgsMHhFOCwweDQ4LDB4RUQsMHhFOSwweDQ3LDB4RkYsMHg5MCwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywKLTB4MTIsMHgxQiwweDlDLDB4MEUsMHhFOCwweEQ1LDB4QzcsMHg5MCwweDYwLDB4MUUsMHgwNiwweDMzLDB4QzAsMHg4RSwweEQ4LDB4OEUsCi0weEMwLDB4QkEsMHgwNiwweDAxLDB4RUMsMHhBOCwweDA0LDB4NzQsMHhFMSwweEIwLDB4MDYsMHhFRSwweEVDLDB4QTIsMHg4QywweDEyLAotMHhBOCwweDQwLDB4NzQsMHgxMSwweEExLDB4ODgsMHgxMiwweEEzLDB4ODQsMHgxMiwweEM2LDB4MDYsMHg4RCwweDEyLDB4MDAsMHhFOCwKLTB4NjAsMHhGRSwweEEwLDB4OEMsMHgxMiwweEE4LDB4ODAsMHg3NCwweDAzLDB4RTgsMHgwNCwweEZGLDB4QjgsMHgwMCwweDgwLDB4QkEsCi0weDIyLDB4RkYsMHhFRiwweDA3LDB4MUYsMHg2MSwweENGLDB4OTAsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDFCLAotMHg5QywweDBFLDB4RTgsMHg4NywweEM3LDB4OTAsMHg2MCwweDFFLDB4MDYsMHgzMywweEMwLDB4OEUsMHhEOCwweDhFLDB4QzAsMHhCQSwKLTB4MDYsMHgwMSwweEVDLDB4QTgsMHgwNCwweDc0LDB4RTEsMHhCQSwweDA4LDB4MDEsMHhFQywweEEyLDB4OEMsMHgxMiwweEE4LDB4NDAsCi0weDc0LDB4MTEsMHhBMSwweDg4LDB4MTIsMHhBMywweDg0LDB4MTIsMHhDNiwweDA2LDB4OEQsMHgxMiwweDAwLDB4RTgsMHgxMiwweEZFLAotMHhBMCwweDhDLDB4MTIsMHhBOCwweDgwLDB4NzQsMHgwMywweEU4LDB4QjYsMHhGRSwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwKLTB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweDkwLDB4RUUsMHg4NiwweEUwLDB4RUUsMHg4NiwweEUwLDB4RUMsMHg4NiwweEUwLDB4RUMsCi0weDg2LDB4RTAsMHg4MCwweEUxLDB4RkUsMHhGMywweDZDLDB4OTAsMHg4MCwweEUxLDB4RkUsMHhGMywweDZFLDB4OTAsMHgwNSwweDAwLAotMHg3NSwweDQ3LDB4QTgsMHg0QiwweDA1LDB4MDAsMHg3NSwweDQ4LDB4QTgsMHg0QiwweDA1LDB4MDAsMHhBMywweDQ4LDB4QTgsMHg0QiwKLTB4MDUsMHgwMCwweDM1LDB4NDksMHhBOCwweDRCLDB4MDYsMHgwMCwweDk4LDB4NDgsMHg5NiwweDRCLDB4MDYsMHgwMCwweEJBLDB4NDgsCi0weDk2LDB4NEIsMHgwNiwweDAwLDB4QzMsMHg0OCwweDk2LDB4NEIsMHgwNiwweDAwLDB4Q0IsMHg0OCwweDk2LDB4NEIsMHgwNiwweDAwLAotMHgyMCwweDQ5LDB4OTYsMHg0QiwweDA2LDB4MDAsMHgyOCwweDQ5LDB4OTYsMHg0QiwweDA2LDB4MDAsMHg0RSwweDRBLDB4OUMsMHg0QiwKLTB4MDYsMHgwMCwweDdCLDB4NEEsMHg5QywweDRCLDB4MDUsMHgwMCwweDlFLDB4NEEsMHhBMiwweDRCLDB4MDUsMHgwMCwweEVDLDB4NEEsCi0weEEyLDB4NEIsMHgwMCwweDAwLDB4MUUsMHgwNiwweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NCwweDA5LDB4QTAsMHgwNiwweDAxLAotMHgyNCwweDMwLDB4M0MsMHgzMCwweDc0LDB4MUEsMHg4QywweEM4LDB4OEUsMHhEOCwweDhFLDB4QzAsMHhCQiwweEFFLDB4NEIsMHg4QiwKLTB4MEYsMHhFMywweDBELDB4OEIsMHg3RiwweDAyLDB4OEIsMHg3NywweDA0LDB4RjMsMHhBNCwweDgzLDB4QzMsMHgwNiwweEVCLDB4RUYsCi0weDA3LDB4MUYsMHhDMywweDkwLDB4MzMsMHhDMCwweEEzLDB4M0UsMHgwMSwweEI5LDB4MEMsMHgwMSwweEJFLDB4NDAsMHgwMSwweDhCLAotMHhGRSwweDgxLDB4QzYsMHhCNCwweDBGLDB4ODksMHgwNCwweDhCLDB4QzYsMHgyQiwweEYxLDB4M0IsMHhDNywweDc3LDB4RjYsMHhBMywKLTB4M0MsMHgwMSwweEMzLDB4OTAsMHgxRSwweDA2LDB4NjAsMHgzNiwweDhCLDB4MkUsMHgzRSwweDAxLDB4OEIsMHg1RSwweDAwLDB4M0IsCi0weEVCLDB4NzQsMHgyQiwweDhCLDB4NzYsMHgwMiwweDg5LDB4MUMsMHg4OSwweDc3LDB4MDIsMHgzNiwweEExLDB4M0MsMHgwMSwweDg5LAotMHg0NiwweDAwLDB4MzYsMHg4OSwweDJFLDB4M0MsMHgwMSwweDhCLDB4RUIsMHhGRiwweDRFLDB4MDYsMHg3NCwweDA4LDB4OEIsMHg2RSwKLTB4MDAsMHhGRiwweDRFLDB4MDYsMHg3NSwweEY4LDB4MzYsMHg4OSwweDJFLDB4M0UsMHgwMSwweDhCLDB4NjYsMHgwNCwweDYxLDB4MDcsCi0weDFGLDB4QzMsMHgxRSwweDA2LDB4NjAsMHgzNiwweDhCLDB4MkUsMHgzRSwweDAxLDB4OTgsMHg4OSwweDQ2LDB4MDYsMHg4OSwweDY2LAotMHgwNCwweDNCLDB4NkUsMHgwMCwweDc0LDB4MTAsMHg4QiwweDZFLDB4MDAsMHhGRiwweDRFLDB4MDYsMHg3NSwweEY4LDB4MzYsMHg4OSwKLTB4MkUsMHgzRSwweDAxLDB4OEIsMHg2NiwweDA0LDB4NjEsMHgwNywweDFGLDB4QzMsMHhDMywweDkwLDB4MUUsMHgwNiwweDYwLDB4OUMsCi0weEZBLDB4MzMsMHhFRCwweDhFLDB4REQsMHg4QiwweDJFLDB4M0MsMHgwMSwweDg1LDB4RUQsMHg3NCwweDNELDB4OEIsMHg0RSwweDAwLAotMHg4OSwweDBFLDB4M0MsMHgwMSwweDhCLDB4Q0MsMHg4RCwweEE2LDB4MEEsMHgwMSwweDU2LDB4MUUsMHgwNiwweDYwLDB4ODksMHg2NiwKLTB4MDQsMHhDNywweDQ2LDB4MDgsMHgwRiwweDFBLDB4QzcsMHg0NiwweDA2LDB4MDEsMHgwMCwweDhCLDB4MUUsMHgzRSwweDAxLDB4ODUsCi0weERCLDB4NzQsMHgxRCwweDhCLDB4QzUsMHg4NywweDA3LDB4ODksMHg0NiwweDAwLDB4ODksMHg1RSwweDAyLDB4OEIsMHhEOCwweDg5LAotMHg2RiwweDAyLDB4OEIsMHhFMSwweDlELDB4NjEsMHgwNywweDFGLDB4RjgsMHhDMywweDlELDB4NjEsMHgwNywweDFGLDB4RjksMHhDMywKLTB4ODksMHgyRSwweDNFLDB4MDEsMHg4OSwweDZFLDB4MDAsMHg4OSwweDZFLDB4MDIsMHg4NywweEUxLDB4OUQsMHg4QiwweEUxLDB4RUIsCi0weEU0LDB4MDAsMHgwRCwweDBBLDB4NTQsMHg2NSwweDcyLDB4NkQsMHg2OSwweDZFLDB4NjEsMHg2QywweDczLDB4MjAsMHg3MywweDc1LAotMHg3MCwweDcwLDB4NkYsMHg3MiwweDc0LDB4NjUsMHg2NCwweDNBLDB4MEQsMHgwQSwweDMxLDB4MjksMHgyMCwweDQxLDB4NEUsMHg1MywKLTB4NDksMHgyMCwweDYzLDB4NkYsMHg2RCwweDcwLDB4NjEsMHg3NCwweDY5LDB4NjIsMHg2QywweDY1LDB4MEQsMHgwQSwweDMyLDB4MjksCi0weDIwLDB4NTcsMHg3OSwweDczLDB4NjUsMHgyMCwweDMzLDB4MzAsMHgwRCwweDBBLDB4NTAsMHg2QywweDY1LDB4NjEsMHg3MywweDY1LAotMHgyMCwweDczLDB4NjUsMHg2QywweDY1LDB4NjMsMHg3NCwweDNBLDB4MjAsMHgwMCwweDBELDB4MEEsMHg2MywweDZGLDB4NjQsMHg2NSwKLTB4MjAsMHg3MywweDY1LDB4NjcsMHg2RCwweDY1LDB4NkUsMHg3NCwweDNELDB4MDAsMHgwRCwweDBBLDB4NEQsMHg2RiwweDZFLDB4NjksCi0weDc0LDB4NkYsMHg3MiwweDIwLDB4NzYsMHgzMiwweDJFLDB4MzUsMHgwQSwweDBELDB4MEEsMHgzRSwweDAwLDB4MEQsMHgwQSwweDUwLAotMHg2MSwweDcyLDB4NjQsMHg2RiwweDZFLDB4M0YsMHgwMCwweDBELDB4MEEsMHg0RSwweDZGLDB4MjAsMHg2MSwweDY0LDB4NjQsMHg3MiwKLTB4NjUsMHg3MywweDczLDB4MjAsMHg3MywweDcwLDB4NjUsMHg2MywweDY5LDB4NjYsMHg2OSwweDY1LDB4NjQsMHgwMCwweDBELDB4MEEsCi0weDNBLDB4MDAsMHgwRCwweDBBLDB4MDAsMHg0QywweDZGLDB4NjMsMHgzRCwweDAwLDB4MEQsMHgwQSwweDQ2LDB4NDEsMHg1NCwweDQxLAotMHg0QywweDIwLDB4NDUsMHg1MiwweDUyLDB4NEYsMHg1MiwweDNELDB4MDAsMHgwRCwweDBBLDB4NEQsMHg2RiwweDZFLDB4NjksMHg3NCwKLTB4NkYsMHg3MiwweDIwLDB4NjMsMHg2RiwweDZELDB4NkQsMHg2MSwweDZFLDB4NjQsMHg3MywweDNBLDB4MkQsMHgwRCwweDBBLDB4MjAsCi0weDIwLDB4MjAsMHg0NCwweDJDLDB4NjQsMHg1QiwweDVCLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgzQSwweDVELDB4NzgsMHg3OCwweDc4LAotMHg3OCwweDVELDB4MjAsMHgyRCwweDIwLDB4NjQsMHg3NSwweDZELDB4NzAsMHgyMCwweDZELDB4NjUsMHg2RCwweDZGLDB4NzIsMHg3OSwKLTB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDRDLDB4MkMsMHg2QywweDVCLDB4NUIsMHg3OCwweDc4LDB4NzgsMHg3OCwweDNBLDB4NUQsCi0weDc4LDB4NzgsMHg3OCwweDc4LDB4NUQsMHgyMCwweDJELDB4MjAsMHg2NCwweDc1LDB4NkQsMHg3MCwweDIwLDB4NzMsMHg2OSwweDZFLAotMHg2NywweDZDLDB4NjUsMHgyMCwweDZDLDB4NjksMHg2RSwweDY1LDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDQ1LDB4MkMsMHg2NSwKLTB4NUIsMHg1QiwweDc4LDB4NzgsMHg3OCwweDc4LDB4M0EsMHg1RCwweDc4LDB4NzgsMHg3OCwweDc4LDB4NUQsMHgyMCwweDJELDB4MjAsCi0weDY1LDB4NjQsMHg2OSwweDc0LDB4MjAsMHg2RCwweDY1LDB4NkQsMHg2RiwweDcyLDB4NzksMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLAotMHg0NiwweDJDLDB4NjYsMHg1QiwweDVCLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgyMCwweDVELDB4NzgsMHg3OCwweDc4LDB4NzgsMHg1RCwKLTB4MjAsMHgyRCwweDIwLDB4NjYsMHg2OSwweDZDLDB4NkMsMHgyMCwweDZELDB4NjUsMHg2RCwweDZGLDB4NzIsMHg3OSwweDIwLDB4NzAsCi0weDYxLDB4NzIsMHg2MSwweDY3LDB4NzIsMHg2MSwweDcwLDB4NjgsMHg3MywweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg0OSwweDVCLAotMHg3OCwweDc4LDB4NzgsMHg3OCwweDVELDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwKLTB4MjAsMHg3NywweDZGLDB4NzIsMHg2NCwweDIwLDB4NjksMHg2RSwweDcwLDB4NzUsMHg3NCwweDIwLDB4NjYsMHg3MiwweDZGLDB4NkQsCi0weDIwLDB4NzAsMHg2RiwweDcyLDB4NzQsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NjksMHg1QiwweDc4LDB4NzgsMHg3OCwweDc4LAotMHg1RCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDYyLDB4NzksMHg3NCwKLTB4NjUsMHgyMCwweDY5LDB4NkUsMHg3MCwweDc1LDB4NzQsMHgyMCwweDY2LDB4NzIsMHg2RiwweDZELDB4MjAsMHg3MCwweDZGLDB4NzIsCi0weDc0LDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDRGLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgyMCwweDc4LDB4NzgsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2RiwweDc1LDB4NzQsMHg3MCwweDc1LDB4NzQsMHgyMCwKLTB4NzcsMHg2RiwweDcyLDB4NjQsMHgyMCwweDc0LDB4NkYsMHgyMCwweDcwLDB4NkYsMHg3MiwweDc0LDB4MEQsMHgwQSwweDIwLDB4MjAsCi0weDIwLDB4NkYsMHg3OCwweDc4LDB4NzgsMHg3OCwweDIwLDB4NzgsMHg3OCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MkQsMHgyMCwweDZGLDB4NzUsMHg3NCwweDcwLDB4NzUsMHg3NCwweDIwLDB4NjIsMHg3OSwweDc0LDB4NjUsMHgyMCwKLTB4NzQsMHg2RiwweDIwLDB4NzAsMHg2RiwweDcyLDB4NzQsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NDcsMHg1QiwweDVCLDB4NzgsCi0weDc4LDB4NzgsMHg3OCwweDNBLDB4NUQsMHg3OCwweDc4LDB4NzgsMHg3OCwweDVELDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDY3LAotMHg2RiwweDc0LDB4NkYsMHgyMCwweDYxLDB4NjQsMHg2NCwweDcyLDB4NjUsMHg3MywweDczLDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwKLTB4NTcsMHg1QiwweDVCLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgzQSwweDVELDB4NzgsMHg3OCwweDc4LDB4NzgsMHg1RCwweDIwLDB4MjAsCi0weDIwLDB4MkQsMHgyMCwweDc3LDB4NjEsMHg3NCwweDYzLDB4NjgsMHgyMCwweDYxLDB4MjAsMHg3NywweDZGLDB4NzIsMHg2NCwweDBELAotMHgwQSwweDIwLDB4MjAsMHgyMCwweDQzLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2OSwweDZFLDB4NzQsMHg2NSwweDcyLDB4NzIsMHg3NSwweDcwLDB4NzQsCi0weDczLDB4MjAsMHg2RiwweDY2LDB4NjYsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NTMsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDY5LDB4NkUsMHg3NCwKLTB4NjUsMHg3MiwweDcyLDB4NzUsMHg3MCwweDc0LDB4NzMsMHgyMCwweDZGLDB4NkUsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NzMsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyRCwweDIwLDB4NzMsMHg2OSwweDZFLDB4NjcsMHg2QywweDY1LDB4MjAsMHg3MywweDc0LDB4NjUsMHg3MCwweDBELDB4MEEsMHgyMCwKLTB4MjAsMHgyMCwweDQyLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsCi0weDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2MiwweDcyLDB4NjUsMHg2MSwweDZCLDB4NzAsMHg2RiwweDY5LDB4NkUsMHg3NCwweDIwLAotMHg3MywweDY1LDB4NzQsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NjIsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDYyLDB4NzIsMHg2NSwweDYxLDB4NkIsCi0weDcwLDB4NkYsMHg2OSwweDZFLDB4NzQsMHgyMCwweDYzLDB4NkMsMHg2NSwweDYxLDB4NzIsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLAotMHg1MiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyRCwweDIwLDB4NzIsMHg2NSwweDczLDB4NzQsMHg2MSwweDcyLDB4NzQsMHgyMCwweDYyLDB4NzIsMHg2NSwweDYxLDB4NkIsCi0weDcwLDB4NkYsMHg2OSwweDZFLDB4NzQsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NzIsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDcyLDB4NjUsMHg2NywKLTB4NjksMHg3MywweDc0LDB4NjUsMHg3MiwweDczLDB4MjAsMHg2MSwweDc0LDB4MjAsMHg2MiwweDcyLDB4NkIsMHg3MCwweDc0LDB4MEQsCi0weDBBLDB4MjAsMHgyMCwweDIwLDB4NTgsMHgyQywweDc4LDB4MjAsMHg2RSwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDY1LDB4NzgsMHg2MSwweDZELDB4NjksMHg2RSwweDY1LDB4MjAsMHg2MywKLTB4NjgsMHg2MSwweDZFLDB4NkUsMHg2NSwweDZDLDB4MjAsMHg2RSwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg0OCwweDJDLDB4M0YsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLAotMHg3NCwweDY4LDB4NjksMHg3MywweDIwLDB4NkQsMHg2NSwweDczLDB4NzMsMHg2MSwweDY3LDB4NjUsMHgwMCwweDFCLDB4NUIsMHgzMiwKLTB4NEEsMHgxQiwweDVCLDB4MzEsMHgzQiwweDMxLDB4NDgsMHg0MSwweDRFLDB4NTMsMHg0OSwweDIwLDB4NTQsMHg2NSwweDcyLDB4NkQsCi0weDY5LDB4NkUsMHg2MSwweDZDLDB4MEQsMHgwQSwweDBBLDB4MDAsMHgxQiwweDVCLDB4NEIsMHgwMCwweDFCLDB4NUIsMHg0QSwweDAwLAotMHgxQiwweDVCLDB4MzIsMHg0QSwweDFCLDB4NUIsMHgzMSwweDNCLDB4MzEsMHg0OCwweDAwLDB4MUIsMHg1QiwweDQ0LDB4MjAsMHgxQiwKLTB4NUIsMHg0NCwweDAwLDB4MUIsMHg1QiwweDMxLDB4M0IsMHgzNywweDMyLDB4NDgsMHgwMCwweDFCLDB4NUIsMHgwMCwweDNCLDB4MDAsCi0weDQ4LDB4MDAsMHgxQiwweDVCLDB4NzMsMHgwMCwweDFCLDB4NUIsMHg3NSwweDAwLDB4MUIsMHg3QSwweDJCLDB4MEIsMHg3RiwweDFCLAotMHg3QSwweDJFLDB4MEMsMHg3RiwweDFCLDB4N0EsMHgyRCwweDA4LDB4N0YsMHgxQiwweDdBLDB4MkMsMHgwQSwweDdGLDB4MUIsMHg3QSwKLTB4MjIsMHgwOCwweDdGLDB4MUEsMHg1NywweDc5LDB4NzMsMHg2NSwweDIwLDB4MzMsMHgzMCwweDIwLDB4NTQsMHg2NSwweDcyLDB4NkQsCi0weDY5LDB4NkUsMHg2MSwweDZDLDB4MEQsMHgwQSwweDAwLDB4MUIsMHg1NCwweDAwLDB4MUIsMHg1OSwweDAwLDB4MUEsMHgwMCwweDFFLAotMHgwMCwweDA4LDB4MjAsMHgwOCwweDAwLDB4MDAsMHgxQiwweDNELDB4MDAsMHgwMCwweDAwLDB4MUIsMHg0NiwweDAwLDB4MEQsMHgwMCwKLTB4M0YsMHg0NCwweDY0LDB4NDUsMHg2NSwweDQ2LDB4NjYsMHg0NywweDY3LDB4NDgsMHg2OCwweDQ5LDB4NjksMHg0RiwweDZGLDB4NDMsCi0weDYzLDB4NTMsMHg3MywweDQyLDB4NjIsMHg1MiwweDcyLDB4NTcsMHg3NywweDU4LDB4NzgsMHg0QywweDZDLDB4M0MsMHg2MCwweEQ0LAotMHg1NywweEQ0LDB4NTcsMHg1MCwweDU4LDB4NTAsMHg1OCwweEQ2LDB4NTksMHhENiwweDU5LDB4QjQsMHg1OSwweEI0LDB4NTksMHgzQywKLTB4NjAsMHgzQywweDYwLDB4NkMsMHg1NywweDQ4LDB4NTcsMHgyNiwweDU3LDB4MDYsMHg1NywweDkwLDB4NTcsMHg5MCwweDU3LDB4OTgsCi0weDU3LDB4NDgsMHg1RiwweDBDLDB4NUYsMHg1OCwweDVGLDB4MzMsMHg1RiwweDQwLDB4NUYsMHhBMCwweDU3LDB4QTAsMHg1NywweEZFLAotMHg1OSwweEZFLDB4NTksMHhEQywweDU3LDB4REMsMHg1NywweDg4LDB4NjEsMHg5OCwweDYxLDB4QzAsMHg2MSwweENDLDB4NjEsMHhEOCwKLTB4NjEsMHhGNiwweDYxLDB4MDIsMHg2MiwweDIyLDB4NjIsMHhGOCwweDU2LDB4NEEsMHg2MiwweDU4LDB4NjIsMHg2MCwweDU5LDB4MjAsCi0weDIwLDB4NjYsMHg2QywweDYxLDB4NjcsMHg3MywweDNELDB4MDAsMHgyMCwweDIwLDB4NjEsMHg3OCwweDNELDB4MDAsMHgyMCwweDIwLAotMHg2MiwweDc4LDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDc4LDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2NCwweDc4LDB4M0QsMHgwMCwKLTB4MjAsMHgyMCwweDYzLDB4NzMsMHgzRCwweDAwLDB4MjAsMHgyMCwweDY0LDB4NzMsMHgzRCwweDAwLDB4MjAsMHgyMCwweDY1LDB4NzMsCi0weDNELDB4MDAsMHgyMCwweDIwLDB4NzMsMHg3MywweDNELDB4MDAsMHgyMCwweDIwLDB4NjQsMHg2OSwweDNELDB4MDAsMHgyMCwweDIwLAotMHg3MywweDY5LDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MiwweDcwLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg3MywweDcwLDB4M0QsMHgwMCwKLTB4MjAsMHgyMCwweDY5LDB4NzAsMHgzRCwweDAwLDB4MjAsMHg2MywweDY4LDB4NjEsMHg2RSwweDY1LDB4NkMsMHgzRCwweDAwLDB4MjAsCi0weDIwLDB4MjAsMHgyMCwweDczLDB4NjUsMHg2NywweDNELDB4MDAsMHgyMCwweDc0LDB4NjksMHg1RiwweDczLDB4NzQsMHg3MiwweDNELAotMHgwMCwweDIwLDB4NzQsMHg2OSwweDVGLDB4NzQsMHg2RiwweDczLDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OSwweDVGLDB4NkQsMHg2MSwKLTB4NzgsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY5LDB4NUYsMHg2MiwweDYxLDB4NzMsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY5LDB4NUYsCi0weDczLDB4NjksMHg3QSwweDNELDB4MDAsMHgyMCwweDc0LDB4NjksMHg1RiwweDczLDB4NzQsMHg2NiwweDNELDB4MDAsMHgyMCwweDc0LAotMHg2OSwweDVGLDB4NzIsMHg2RiwweDZGLDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OSwweDVGLDB4NjYsMHg2QywweDY3LDB4M0QsMHgwMCwKLTB4MjAsMHg3NCwweDY5LDB4NUYsMHg3NCwweDZGLDB4NzQsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg3MCwweDYzLDB4NkUsCi0weDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDczLDB4NzQsMHg3MiwweDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDczLAotMHg3NCwweDY2LDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NzIsMHg2RiwweDZGLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwKLTB4NUYsMHg2MiwweDYxLDB4NzMsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg3MywweDY5LDB4N0EsMHgzRCwweDAwLDB4MjAsCi0weDcyLDB4NjksMHg1RiwweDc0LDB4NkYsMHg3NCwweDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDZELDB4NjksMHg2RSwweDNELAotMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NjYsMHg2QywweDY3LDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NzQsMHg2RiwKLTB4NzMsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg3NCwweDY4LDB4NzIsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY4LDB4NUYsCi0weDczLDB4NzQsMHg2NiwweDNELDB4MDAsMHgyMCwweDc0LDB4NjgsMHg1RiwweDczLDB4NzQsMHg3MiwweDNELDB4MDAsMHgyMCwweDc0LAotMHg2OCwweDVGLDB4NjIsMHg2MSwweDczLDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OCwweDVGLDB4NzMsMHg2OSwweDdBLDB4M0QsMHgwMCwKLTB4MjAsMHg3NCwweDY4LDB4NUYsMHg3NCwweDcyLDB4NjcsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY4LDB4NUYsMHg2NiwweDZDLDB4NjcsCi0weDNELDB4MDAsMHgyMCwweDc0LDB4NjgsMHg1RiwweDYzLDB4NkUsMHg3NCwweDNELDB4MDAsMHgyMCwweDcyLDB4NjgsMHg1RiwweDczLAotMHg3NCwweDcyLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OCwweDVGLDB4NzMsMHg3NCwweDY2LDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OCwKLTB4NUYsMHg2MiwweDYxLDB4NzMsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY4LDB4NUYsMHg3MywweDY5LDB4N0EsMHgzRCwweDAwLDB4MjAsCi0weDcyLDB4NjgsMHg1RiwweDczLDB4NzAsMHg2MSwweDNELDB4MDAsMHgyMCwweDcyLDB4NjgsMHg1RiwweDYxLDB4NzMsMHg2RiwweDNELAotMHgwMCwweDIwLDB4NzIsMHg2OCwweDVGLDB4NzIsMHg2RiwweDZGLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OCwweDVGLDB4NjYsMHg2QywKLTB4NjcsMHgzRCwweDAwLDB4MjAsMHg2RCwweDVGLDB4NjMsMHg2MSwweDcyLDB4NjUsMHgzRCwweDAwLDB4MjAsMHg3MCwweDc0LDB4NUYsCi0weDY2LDB4NkMsMHg2RiwweDNELDB4MDAsMHgyMCwweDYxLDB4NzMsMHg1RiwweDY2LDB4NkMsMHg2RiwweDNELDB4MDAsMHgyMCwweDcyLAotMHg2RCwweDVGLDB4NjYsMHg2QywweDZGLDB4M0QsMHgwMCwweDIwLDB4MjAsMHgyMCwweDcxLDB4NUYsMHg2OSwweDZFLDB4M0QsMHgwMCwKLTB4MjAsMHgyMCwweDcxLDB4NUYsMHg2RiwweDc1LDB4NzQsMHgzRCwweDAwLDB4MjAsMHg3MSwweDVGLDB4NjQsMHg3MiwweDYxLDB4NkUsCi0weDNELDB4MDAsMHgyMCwweDIwLDB4NzEsMHg1RiwweDc0LDB4NjksMHg2RCwweDNELDB4MDAsMHgyMCwweDIwLDB4MjAsMHg3MSwweDVGLAotMHg2NiwweDYzLDB4M0QsMHgwMCwweDIwLDB4NzEsMHg1RiwweDczLDB4NzQsMHg2MSwweDc0LDB4M0QsMHgwMCwweDIwLDB4NzEsMHg1RiwKLTB4NjQsMHg2MSwweDc0LDB4NjEsMHgzRCwweDAwLDB4MjAsMHg3MSwweDVGLDB4NkQsMHg2RiwweDY0LDB4NkQsMHgzRCwweDAwLDB4MjAsCi0weDY4LDB4NjEsMHg2RSwweDY0LDB4NUYsMHg2RiwweDNELDB4MDAsMHgyMCwweDY4LDB4NjEsMHg2RSwweDY0LDB4NUYsMHg2MiwweDNELAotMHgwMCwweDIwLDB4NjgsMHg2MSwweDZFLDB4NjQsMHg1RiwweDY1LDB4M0QsMHgwMCwweDIwLDB4NjgsMHg2MSwweDZFLDB4NjQsMHg1RiwKLTB4NjksMHgzRCwweDAwLDB4MjAsMHgyMCwweDZGLDB4NzAsMHg2RiwweDczLDB4NzQsMHgzRCwweDAwLDB4MjAsMHgyMCwweDc0LDB4NjksCi0weDZELDB4NjUsMHg2RiwweDNELDB4MDAsMHgyMCwweDYzLDB4NzUsMHg3MywweDc0LDB4NkQsMHgzMSwweDNELDB4MDAsMHgyMCwweDYzLAotMHg3NSwweDczLDB4NzQsMHg2RCwweDMyLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg3NSwweDczLDB4NzQsMHg2RCwweDY0LDB4M0QsMHgwMCwKLTB4MjAsMHg3NCwweDc4LDB4NzIsMHg2MSwweDc0LDB4NjUsMHgzRCwweDAwLDB4MjAsMHg3MiwweDc4LDB4NzIsMHg2MSwweDc0LDB4NjUsCi0weDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDZELDB4NjEsMHg3MCwweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg2MSwweDY0LAotMHg2NCwweDcyLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDYxLDB4NjksMHg3MywweDcyLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwKLTB4NzgsMHg3NCwweDYxLDB4NjcsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NjQsMHg2NSwweDY2LDB4NzIsMHgzRCwweDAwLDB4MjAsCi0weDYzLDB4NUYsMHg2NiwweDZDLDB4NzMsMHg2OCwweDNELDB4MDAsMHgyMCwweDc0LDB4NzgsMHg2RCwweDYxLDB4NzgsMHg3MywweDNELAotMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NjUsMHg2RCwweDczLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NkMsMHg3MywKLTB4NzIsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsMHg2OSwweDY1LDB4NzIsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsCi0weDY2LDB4NjMsMHg3MiwweDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDZELDB4NjMsMHg3MiwweDNELDB4MDAsMHgyMCwweDIwLAotMHg2MywweDVGLDB4NkMsMHg2MywweDcyLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NjQsMHg3MywweDczLDB4M0QsMHgwMCwKLTB4MjAsMHg2MywweDVGLDB4NjQsMHg3MywweDczLDB4NjksMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NjQsMHg3MywweDczLDB4NzIsCi0weDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDY5LDB4NzMsMHg3MiwweDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDYzLAotMHg2MSwweDcyLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NjUsMHg2NiwweDcyLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwKLTB4NjUsMHg3MiwweDczLDB4NzQsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NjUsMHg2MywweDZFLDB4NzQsMHgzRCwweDAwLDB4MjAsCi0weDYzLDB4NUYsMHg2MiwweDcyLDB4NkIsMHg2MywweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg2MiwweDZGLDB4NkIsMHg2MywweDNELAotMHgwMCwweDIwLDB4NjMsMHg1RiwweDcyLDB4NjUsMHg3MCwweDZDLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDYzLDB4NjMsMHg3MywKLTB4NzIsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NzMsMHg3NCwweDc0LDB4MzEsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NzMsCi0weDc0LDB4NzQsMHgzMiwweDNELDB4MDAsMHgyQiwweEMwLDB4OEUsMHhEOCwweDhFLDB4QzAsMHhFOCwweEMyLDB4MDAsMHhFOCwweEU1LAotMHgwMCwweEZBLDB4QkYsMHg4NCwweDAwLDB4QzcsMHgwNSwweERDLDB4NTYsMHg4QywweDRELDB4MDIsMHhCRiwweDBDLDB4MDAsMHhDNywKLTB4MDUsMHg2RSwweDVFLDB4OEMsMHg0RCwweDAyLDB4QkYsMHgwNCwweDAwLDB4QzcsMHgwNSwweEJBLDB4NUUsMHg4QywweDRELDB4MDIsCi0weEU4LDB4RjEsMHgwMCwweDkwLDB4RTgsMHg0OSwweDAxLDB4RTgsMHgxNiwweDAwLDB4RjQsMHg5MCwweEU4LDB4RTUsMHgwMCwweEJFLAotMHhCQSwweDRELDB4RTgsMHgwOSwweDBDLDB4QTAsMHg5MywweDEyLDB4RTgsMHg1RCwweDBDLDB4RTgsMHhDMiwweDA5LDB4RUIsMHhFNCwKLTB4RTgsMHhENSwweDBDLDB4RTgsMHhDNCwweDBDLDB4MEEsMHhDMCwweDc0LDB4RjYsMHg4QiwweDFFLDB4RjgsMHg3OSwweDNDLDB4MEQsCi0weDc0LDB4MkUsMHgzQywweDA4LDB4NzQsMHgxNywweDNDLDB4N0YsMHg3NCwweDEzLDB4ODMsMHhGQiwweDIwLDB4N0YsMHhFMSwweDg4LAotMHg4NywweEQ2LDB4NzksMHg0MywweDg5LDB4MUUsMHhGOCwweDc5LDB4RTgsMHg3NywweDBDLDB4RUIsMHhEMywweDBCLDB4REIsMHg3NCwKLTB4Q0YsMHg0QiwweDg5LDB4MUUsMHhGOCwweDc5LDB4OEIsMHgzNiwweDE2LDB4N0EsMHhFOCwweEMxLDB4MEIsMHhFQiwweEMxLDB4OTAsCi0weEU4LDB4MDIsMHgwMCwweEVCLDB4QkIsMHhDNiwweDg3LDB4RDYsMHg3OSwweDAwLDB4MEIsMHhEQiwweDc0LDB4MUUsMHhBMCwweEQ2LAotMHg3OSwweEJGLDB4NjAsMHg1MSwweEI5LDB4MUQsMHgwMCwweDhCLDB4RDksMHgwNiwweDBFLDB4MDcsMHhGMiwweEFFLDB4MDcsMHg3NSwKLTB4MTcsMHg0MSwweDJCLDB4RDksMHhEMSwweEUzLDB4MkUsMHhGRiwweDk3LDB4N0QsMHg1MSwweDkwLDB4MzMsMHhDMCwweEEzLDB4RjgsCi0weDc5LDB4QkUsMHg4OSwweDRELDB4RTgsMHg4NywweDBCLDB4QzMsMHhCRSwweDhELDB4NEQsMHhFOCwweDgwLDB4MEIsMHhFQiwweEVDLAotMHhCQSwweDAwLDB4MDIsMHhCMCwweDkzLDB4RUUsMHhCMCwweDU1LDB4RUUsMHhCQSwweDEwLDB4MDIsMHhCMCwweDkzLDB4RUUsMHhCMCwKLTB4QUEsMHhFRSwweEJBLDB4MDAsMHgwMiwweEVDLDB4M0MsMHg1NSwweDc1LDB4MDgsMHhCQSwweDEwLDB4MDIsMHhFQywweDNDLDB4QUEsCi0weDc0LDB4MDMsMHhFOCwweDJGLDB4RjYsMHhDMywweEJBLDB4MDQsMHgwMiwweEIwLDB4MUEsMHhFRSwweEIwLDB4MjAsMHhFRSwweEIwLAotMHgzMCwweEVFLDB4QjAsMHg0MCwweEVFLDB4QjAsMHg4MCwweEVFLDB4QkEsMHgwMCwweDAyLDB4QjAsMHgxMywweEVFLDB4QjAsMHgwNywKLTB4RUUsMHhCQSwweDA4LDB4MDIsMHhCMCwweDgwLDB4RUUsMHhCQSwweDAyLDB4MDIsMHhCMCwweEJCLDB4RUUsMHhCQSwweDA0LDB4MDIsCi0weEIwLDB4MDUsMHhFRSwweEMzLDB4QzYsMHgwNiwweENBLDB4MTMsMHgwMSwweEM3LDB4MDYsMHhGOCwweDc5LDB4MDAsMHgwMCwweEM2LAotMHgwNiwweEY2LDB4NzksMHgwMSwweEM3LDB4MDYsMHhEMCwweDc5LDB4MDAsMHgwMCwweEM3LDB4MDYsMHhEMiwweDc5LDB4MDAsMHgwMCwKLTB4QzcsMHgwNiwweEQ0LDB4NzksMHgwMCwweDAwLDB4QzcsMHgwNiwweEZBLDB4NzksMHgwMCwweDAwLDB4QzcsMHgwNiwweEZDLDB4NzksCi0weDAwLDB4MDAsMHhDNywweDA2LDB4RkUsMHg3OSwweDAwLDB4MDAsMHhDNywweDA2LDB4MDAsMHg3QSwweDAwLDB4MDAsMHhDNywweDA2LAotMHgwMiwweDdBLDB4Q0UsMHg1OSwweDhDLDB4MEUsMHgwNCwweDdBLDB4QzcsMHgwNiwweDA2LDB4N0EsMHgwMCwweDAwLDB4QzcsMHgwNiwKLTB4MjcsMHg3QSwweDAwLDB4MDAsMHhDNiwweDA2LDB4MjksMHg3QSwweDAwLDB4QzYsMHgwNiwweDJBLDB4N0EsMHgwMCwweEMzLDB4OTAsCi0weEJFLDB4MjIsMHg0RCwweEU4LDB4QzgsMHgwQSwweEU4LDB4M0YsMHgwMCwweDJDLDB4MzEsMHgzQywweDAxLDB4NzcsMHhGNywweEU4LAotMHg4MSwweDA5LDB4OEIsMHgzNiwweDBDLDB4N0EsMHhFOCwweEI1LDB4MEEsMHhCRSwweDZBLDB4NEQsMHhFOCwweEFGLDB4MEEsMHgwRSwKLTB4NTgsMHhFOCwweEY4LDB4MEEsMHhCRSwweDdBLDB4NEQsMHhFOCwweEE0LDB4MEEsMHhDMywweDkwLDB4NjAsMHhEMSwweEUzLDB4ODMsCi0weEZCLDB4MTgsMHg3MywweDExLDB4MUUsMHhCQSwweDAwLDB4MDAsMHg4RSwweERBLDB4MkUsMHhGRiwweDk3LDB4QjcsMHg1MSwweDhCLAotMHhFQywweDg5LDB4NDYsMHgxMCwweDFGLDB4NjEsMHhDRiwweDkwLDB4RTgsMHg0RiwweDBCLDB4MEEsMHhDMCwweDc1LDB4MDUsMHhFOCwKLTB4NTYsMHgwQiwweEVCLDB4RjQsMHhDMywweDkwLDB4ODMsMHgzRSwweEY4LDB4NzksMHgwMSwweDc0LDB4MTYsMHhCRSwweEQ3LDB4NzksCi0weEU4LDB4MzEsMHgwQSwweDhCLDB4RDAsMHhBQywweDNDLDB4MkMsMHg3NCwweDA0LDB4M0MsMHgyMCwweDc1LDB4MDUsMHhFOCwweDIzLAotMHgwQSwweEVFLDB4QzMsMHhFOSwweEQyLDB4RkUsMHg4MywweDNFLDB4RjgsMHg3OSwweDAxLDB4NzQsMHhGNiwweEJFLDB4RDcsMHg3OSwKLTB4RTgsMHgxMSwweDBBLDB4OEIsMHhEMCwweEFDLDB4M0MsMHgyQywweDc0LDB4MDgsMHgzQywweDIwLDB4NzQsMHgwNCwweEU5LDB4QjcsCi0weEZFLDB4OTAsMHhFOCwweEZGLDB4MDksMHhFRiwweEMzLDB4OTAsMHg4QiwweDE2LDB4MDYsMHg3QSwweDgzLDB4M0UsMHhGOCwweDc5LAotMHgwMSwweDc0LDB4MEIsMHhCRSwweEQ3LDB4NzksMHhFOCwweEVCLDB4MDksMHg4QiwweEQwLDB4QTMsMHgwNiwweDdBLDB4QjAsMHgyMCwKLTB4RTgsMHg1NywweDBCLDB4OEIsMHgxNiwweDA2LDB4N0EsMHhFQywweEU4LDB4NkYsMHgwQiwweEMzLDB4OEIsMHgxNiwweDA2LDB4N0EsCi0weDgzLDB4M0UsMHhGOCwweDc5LDB4MDEsMHg3NCwweDBCLDB4QkUsMHhENywweDc5LDB4RTgsMHhDNywweDA5LDB4OEIsMHhEMCwweEEzLAotMHgwNiwweDdBLDB4QjAsMHgyMCwweEU4LDB4MzMsMHgwQiwweDhCLDB4MTYsMHgwNiwweDdBLDB4RUQsMHhFOCwweDY3LDB4MEIsMHhDMywKLTB4RkEsMHhDNiwweDA2LDB4RjYsMHg3OSwweDAwLDB4QzMsMHg5MCwweEM2LDB4MDYsMHhGNiwweDc5LDB4MDEsMHhGQiwweEMzLDB4OTAsCi0weDA2LDB4RTgsMHg1OCwweDA5LDB4QjAsMHgyMCwweEU4LDB4MTEsMHgwQiwweDI2LDB4OEIsMHgwNSwweEU4LDB4NDcsMHgwQiwweEIwLAotMHgwOCwweEU4LDB4MDYsMHgwQiwweEU4LDB4MDMsMHgwQiwweEU4LDB4MDAsMHgwQiwweEU4LDB4RkQsMHgwQSwweEI4LDB4MDEsMHgwMCwKLTB4RTgsMHhDRiwweEY0LDB4QkEsMHgwMiwweDAyLDB4RUMsMHgyNCwweDAxLDB4NzUsMHgwMiwweEVCLDB4REMsMHhCQSwweDA2LDB4MDIsCi0weEVDLDB4MDcsMHhDMywweDkwLDB4QzcsMHgwNiwweDA4LDB4N0EsMHgxMCwweDAwLDB4RUIsMHgwNiwweEM3LDB4MDYsMHgwOCwweDdBLAotMHgwMSwweDAwLDB4MDYsMHg4RSwweDA2LDB4RkMsMHg3OSwweDhCLDB4M0UsMHhGQSwweDc5LDB4RTgsMHgwRSwweDA5LDB4RTgsMHgwQiwKLTB4MDAsMHg4OSwweDNFLDB4RkEsMHg3OSwweDhDLDB4MDYsMHhGQywweDc5LDB4MDcsMHhDMywweDkwLDB4QkUsMHhCMiwweDRELDB4RTgsCi0weDdDLDB4MDksMHg4QiwweDE2LDB4MDgsMHg3QSwweDUyLDB4RTgsMHgyQSwweDA5LDB4RTgsMHgwRiwweDBBLDB4RTgsMHgwQywweDBBLAotMHgzMywweERCLDB4QjksMHgxMCwweDAwLDB4OTAsMHgyNiwweDhBLDB4MDEsMHhFOCwweEJDLDB4MDksMHhFOCwweEZELDB4MDksMHg0MywKLTB4RTIsMHhGNCwweEU4LDB4RjcsMHgwOSwweEU4LDB4RjQsMHgwOSwweDMzLDB4REIsMHhCOSwweDEwLDB4MDAsMHg5MCwweDI2LDB4OEEsCi0weDAxLDB4M0MsMHgyMCwweDcyLDB4MDUsMHgzQywweDdFLDB4NzYsMHgwMywweDkwLDB4QjAsMHgyRSwweEU4LDB4RTMsMHgwOSwweDQzLAotMHhFMiwweEVDLDB4QkUsMHhCMiwweDRELDB4RTgsMHgzNiwweDA5LDB4ODMsMHhDNywweDEwLDB4NUEsMHg0QSwweDc1LDB4QjcsMHhDMywKLTB4MDYsMHg4RSwweDA2LDB4MDAsMHg3QSwweDhCLDB4M0UsMHhGRSwweDc5LDB4RTgsMHhBMCwweDA4LDB4ODksMHgzRSwweEZFLDB4NzksCi0weDhDLDB4MDYsMHgwMCwweDdBLDB4NTcsMHg4QiwweDM2LDB4MEUsMHg3QSwweEU4LDB4MTIsMHgwOSwweEM3LDB4MDYsMHgwOCwweDdBLAotMHgxMCwweDAwLDB4QkEsMHgwMCwweDAyLDB4RTgsMHhFOCwweDAwLDB4RTgsMHg4MSwweEZGLDB4NUYsMHhCQSwweDAwLDB4MDAsMHhFOCwKLTB4REUsMHgwMCwweEJFLDB4QjUsMHg0RCwweEU4LDB4RjYsMHgwOCwweDhDLDB4QzAsMHhFOCwweDNGLDB4MDksMHhCMCwweDNBLDB4RTgsCi0weDkwLDB4MDksMHg4QiwweEM3LDB4RTgsMHgzNSwweDA5LDB4RTgsMHg3RSwweDA4LDB4RTgsMHhDMywweDAwLDB4OTAsMHhFOCwweEI3LAotMHgwOSwweEU4LDB4QTYsMHgwOSwweDBBLDB4QzAsMHg3NCwweEY2LDB4M0MsMHgwQiwweDc1LDB4MDYsMHg4MywweEVGLDB4MTAsMHhFQiwKLTB4MTksMHg5MCwweDNDLDB4MEEsMHg3NSwweDA2LDB4ODMsMHhDNywweDEwLDB4RUIsMHgwRiwweDkwLDB4M0MsMHgwQywweDc1LDB4MDQsCi0weDQ3LDB4RUIsMHgwNywweDkwLDB4M0MsMHgwOCwweDc1LDB4MjQsMHg0RiwweDkwLDB4OEIsMHgzNiwweEZFLDB4NzksMHg4QiwweEM3LAotMHgyQiwweEM2LDB4M0QsMHgwMCwweDAxLDB4NzIsMHhBNSwweDNELDB4MTAsMHgwMSwweDcyLDB4MDQsMHg4MywweEVFLDB4MjAsMHg5MCwKLTB4ODMsMHhDNiwweDEwLDB4ODksMHgzNiwweEZFLDB4NzksMHg1NywweDhCLDB4RkUsMHhFQiwweDgwLDB4M0MsMHgyRSwweDc1LDB4MDgsCi0weEJBLDB4MDEsMHgxMywweEU4LDB4NkEsMHgwMCwweDA3LDB4QzMsMHhDNiwweDA2LDB4MEEsMHg3QSwweDAyLDB4MzIsMHhDOSwweDkwLAotMHgzQywweDMwLDB4NzIsMHg0QywweDNDLDB4MzksMHg3NiwweDBDLDB4MjQsMHg1RiwweDNDLDB4NDEsMHg3MiwweDQyLDB4M0MsMHg0NiwKLTB4NzcsMHgzRSwweDJDLDB4MDcsMHgyQywweDMwLDB4NTAsMHhFOCwweENDLDB4MDgsMHg1OCwweDAyLDB4QzgsMHhGRSwweDBFLDB4MEEsCi0weDdBLDB4NzQsMHgwRiwweEMwLDB4RTEsMHgwNCwweEU4LDB4MkYsMHgwOSwweEU4LDB4MUUsMHgwOSwweDBBLDB4QzAsMHg3NCwweEY2LAotMHhFQiwweENFLDB4MjYsMHg4OCwweDBELDB4RTgsMHhFMCwweDA3LDB4OEEsMHhEMCwweEU4LDB4MjMsMHgwMCwweDhBLDB4QzEsMHgzQywKLTB4MjAsMHg3MiwweDA1LDB4M0MsMHg3RSwweDc2LDB4MDMsMHg5MCwweEIwLDB4MkUsMHhFOCwweEQ1LDB4MDgsMHhFOSwweDcwLDB4RkYsCi0weEU4LDB4QzUsMHgwNywweEU4LDB4MEEsMHgwMCwweDI2LDB4OEEsMHgwNSwweEU4LDB4N0MsMHgwOCwweEU5LDB4MUQsMHhGRiwweDkwLAotMHhGNiwweDA2LDB4MjYsMHg3QSwweDAyLDB4NzUsMHgwMiwweDg2LDB4RjIsMHg1MiwweDhCLDB4MzYsMHgxQSwweDdBLDB4RTgsMHgwRCwKLTB4MDgsMHg1QSwweDUyLDB4OEEsMHhDNiwweDAyLDB4MDYsMHgyNCwweDdBLDB4RjYsMHgwNiwweDI2LDB4N0EsMHgwMSwweDc1LDB4MDYsCi0weEU4LDB4OUYsMHgwOCwweEVCLDB4MEQsMHg5MCwweDMyLDB4RTQsMHhFOCwweDBELDB4MDgsMHg4QiwweDM2LDB4MUMsMHg3QSwweEU4LAotMHhFQywweDA3LDB4NUEsMHg4QSwweEMyLDB4MDIsMHgwNiwweDI1LDB4N0EsMHhGNiwweDA2LDB4MjYsMHg3QSwweDAxLDB4NzUsMHgwNiwKLTB4RTgsMHg3RiwweDA4LDB4RUIsMHgwNiwweDkwLDB4MzIsMHhFNCwweEU4LDB4RUQsMHgwNywweDhCLDB4MzYsMHgxRSwweDdBLDB4RTgsCi0weENDLDB4MDcsMHhDMywweDkwLDB4MDYsMHg4RSwweDA2LDB4MDQsMHg3QSwweDhCLDB4M0UsMHgwMiwweDdBLDB4RTgsMHgzQywweDA3LAotMHg4OSwweDNFLDB4MDIsMHg3QSwweDhDLDB4MDYsMHgwNCwweDdBLDB4MDcsMHhGRiwweDFFLDB4MDIsMHg3QSwweEMzLDB4QkUsMHg5NywKLTB4NEQsMHhFOCwweEFBLDB4MDcsMHhDQiwweDkwLDB4MDYsMHg1NywweEJFLDB4RDcsMHg3OSwweEU4LDB4NjYsMHgwNywweDhCLDB4RDgsCi0weEU4LDB4NjEsMHgwNywweDhCLDB4QzgsMHgyQiwweENCLDB4NzgsMHgxMSwweDhFLDB4QzMsMHhCRiwweDAwLDB4MDAsMHhCOCwweEZGLAotMHhGRiwweDUxLDB4QjksMHgwOCwweDAwLDB4RjMsMHhBQiwweDU5LDB4RTIsMHhGNywweDVGLDB4MDcsMHhDMywweDkwLDB4MDYsMHhCRSwKLTB4RDcsMHg3OSwweEU4LDB4M0YsMHgwNywweDhCLDB4RDgsMHhEMSwweEUzLDB4MkUsMHg4QiwweDlGLDB4NDQsMHgwMCwweEJFLDB4MjYsCi0weDUyLDB4RTgsMHhGMSwweDA4LDB4OEIsMHhDMywweEU4LDB4REQsMHgwOCwweEI4LDB4MDEsMHgwMCwweEU4LDB4NzMsMHhGMiwweEU4LAotMHhFMCwweDA4LDB4QkUsMHgyRiwweDUyLDB4RTgsMHhERCwweDA4LDB4OEIsMHg0NywweDE4LDB4RTgsMHhDOCwweDA4LDB4QkUsMHg3NywKLTB4NTIsMHhFOCwweEQxLDB4MDgsMHg4QiwweDQ3LDB4MjYsMHhFOCwweEJDLDB4MDgsMHhCRSwweDUzLDB4NTIsMHhFOCwweEM1LDB4MDgsCi0weDhCLDB4NDcsMHgxRSwweEU4LDB4QjAsMHgwOCwweEJFLDB4NUMsMHg1MiwweEU4LDB4QjksMHgwOCwweDhCLDB4NDcsMHgyMCwweEU4LAotMHhBNCwweDA4LDB4QkUsMHg2RSwweDUyLDB4RTgsMHhBRCwweDA4LDB4OEIsMHg0NywweDI0LDB4RTgsMHg5OCwweDA4LDB4QkUsMHg4MCwKLTB4NTIsMHhFOCwweEExLDB4MDgsMHg4QiwweDQ3LDB4MkEsMHhFOCwweDhDLDB4MDgsMHhFOCwweDk1LDB4MDgsMHhCRSwweDM4LDB4NTIsCi0weEU4LDB4OTIsMHgwOCwweDhCLDB4MDcsMHhFOCwweDdFLDB4MDgsMHhCRSwweDQxLDB4NTIsMHhFOCwweDg3LDB4MDgsMHg4QiwweDQ3LAotMHgxQSwweEU4LDB4NzIsMHgwOCwweEJFLDB4NEEsMHg1MiwweEU4LDB4N0IsMHgwOCwweDhCLDB4NDcsMHgxQywweEU4LDB4NjYsMHgwOCwKLTB4QkUsMHg2NSwweDUyLDB4RTgsMHg2RiwweDA4LDB4OEIsMHg0NywweDIyLDB4RTgsMHg1QSwweDA4LDB4RTgsMHg2MywweDA4LDB4QkUsCi0weEQxLDB4NTIsMHhFOCwweDYwLDB4MDgsMHg4QiwweDQ3LDB4MzgsMHhFOCwweDRCLDB4MDgsMHhCRSwweEFELDB4NTIsMHhFOCwweDU0LAotMHgwOCwweDhCLDB4NDcsMHgzMCwweEU4LDB4M0YsMHgwOCwweEJFLDB4QjYsMHg1MiwweEU4LDB4NDgsMHgwOCwweDhCLDB4NDcsMHgzMiwKLTB4RTgsMHgzMywweDA4LDB4QkUsMHhBNCwweDUyLDB4RTgsMHgzQywweDA4LDB4OEIsMHg0NywweDJFLDB4RTgsMHgyNywweDA4LDB4QkUsCi0weEJGLDB4NTIsMHhFOCwweDMwLDB4MDgsMHg4QiwweDQ3LDB4MzQsMHhFOCwweDFCLDB4MDgsMHhFOCwweDI0LDB4MDgsMHhCRSwweDg5LAotMHg1MiwweEU4LDB4MjEsMHgwOCwweDhCLDB4NDcsMHgwNCwweEU4LDB4MEMsMHgwOCwweEJFLDB4OTIsMHg1MiwweEU4LDB4MTUsMHgwOCwKLTB4OEIsMHg0NywweDE0LDB4RTgsMHgwMCwweDA4LDB4QkUsMHg5QiwweDUyLDB4RTgsMHgwOSwweDA4LDB4OEIsMHg0NywweDJDLDB4RTgsCi0weEY0LDB4MDcsMHhCRSwweEM4LDB4NTIsMHhFOCwweEZELDB4MDcsMHg4QiwweDQ3LDB4MzYsMHhFOCwweEU4LDB4MDcsMHhCRSwweERBLAotMHg1MiwweEU4LDB4RjEsMHgwNywweDhCLDB4NDcsMHgzQSwweEU4LDB4REMsMHgwNywweEJFLDB4RTMsMHg1MiwweEU4LDB4RTUsMHgwNywKLTB4OEIsMHg0NywweDNDLDB4RTgsMHhEMCwweDA3LDB4RTgsMHhEOSwweDA3LDB4QkUsMHgxOSwweDUzLDB4RTgsMHhENiwweDA3LDB4OEIsCi0weDQ3LDB4NDgsMHhFOCwweEMxLDB4MDcsMHhCRSwweEZFLDB4NTIsMHhFOCwweENBLDB4MDcsMHg4QiwweDQ3LDB4NDIsMHhFOCwweEI1LAotMHgwNywweEJFLDB4MDcsMHg1MywweEU4LDB4QkUsMHgwNywweDhCLDB4NDcsMHg0NCwweEU4LDB4QTksMHgwNywweEJFLDB4N0MsMHg1MywKLTB4RTgsMHhCMiwweDA3LDB4OEIsMHg0NywweDRDLDB4RTgsMHg5RCwweDA3LDB4QkUsMHg4NSwweDUzLDB4RTgsMHhBNiwweDA3LDB4OEIsCi0weDQ3LDB4NEUsMHhFOCwweDkxLDB4MDcsMHhCRSwweDhFLDB4NTMsMHhFOCwweDlBLDB4MDcsMHg4QiwweDQ3LDB4NTAsMHhFOCwweDg1LAotMHgwNywweEU4LDB4OEUsMHgwNywweEJFLDB4MjIsMHg1MywweEU4LDB4OEIsMHgwNywweDhCLDB4NDcsMHg0QSwweEU4LDB4NzYsMHgwNywKLTB4QkUsMHhFQywweDUyLDB4RTgsMHg3RiwweDA3LDB4OEIsMHg0NywweDA4LDB4RTgsMHg2QSwweDA3LDB4QkUsMHhGNSwweDUyLDB4RTgsCi0weDczLDB4MDcsMHg4QiwweDQ3LDB4NDAsMHhFOCwweDVFLDB4MDcsMHhCRSwweDEwLDB4NTMsMHhFOCwweDY3LDB4MDcsMHg4QiwweDQ3LAotMHg0NiwweEU4LDB4NTIsMHgwNywweEU4LDB4NUIsMHgwNywweEJFLDB4NkEsMHg1MywweEU4LDB4NTgsMHgwNywweDhCLDB4NDcsMHg3QSwKLTB4RTgsMHg0MywweDA3LDB4QkUsMHgzRCwweDUzLDB4RTgsMHg0QywweDA3LDB4OEIsMHg0NywweDcwLDB4RTgsMHgzNywweDA3LDB4QkUsCi0weDQ2LDB4NTMsMHhFOCwweDQwLDB4MDcsMHg4QiwweDQ3LDB4NzIsMHhFOCwweDJCLDB4MDcsMHhCRSwweDRGLDB4NTMsMHhFOCwweDM0LAotMHgwNywweDhCLDB4NDcsMHg3NCwweEU4LDB4MUYsMHgwNywweEU4LDB4MjgsMHgwNywweEJFLDB4MkIsMHg1MywweEU4LDB4MjUsMHgwNywKLTB4OEIsMHg0NywweDBDLDB4RTgsMHgxMCwweDA3LDB4QkUsMHgzNCwweDUzLDB4RTgsMHgxOSwweDA3LDB4OEIsMHg0NywweDEwLDB4RTgsCi0weDA0LDB4MDcsMHhCRSwweDU4LDB4NTMsMHhFOCwweDBELDB4MDcsMHg4QiwweDQ3LDB4NzYsMHhFOCwweEY4LDB4MDYsMHhCRSwweDYxLAotMHg1MywweEU4LDB4MDEsMHgwNywweDhCLDB4NDcsMHg3OCwweEU4LDB4RUMsMHgwNiwweEJFLDB4NzMsMHg1MywweEU4LDB4RjUsMHgwNiwKLTB4OEIsMHg0NywweDNFLDB4RTgsMHhFMCwweDA2LDB4RTgsMHhFOSwweDA2LDB4QkUsMHg5NywweDUzLDB4RTgsMHhFNiwweDA2LDB4OEIsCi0weDQ3LDB4NTIsMHhFOCwweEQxLDB4MDYsMHhCRSwweEEwLDB4NTMsMHhFOCwweERBLDB4MDYsMHg4QiwweDQ3LDB4NTQsMHhFOCwweEM1LAotMHgwNiwweEJFLDB4QTksMHg1MywweEU4LDB4Q0UsMHgwNiwweDhCLDB4NDcsMHg1NiwweEU4LDB4QjksMHgwNiwweEJFLDB4QjIsMHg1MywKLTB4RTgsMHhDMiwweDA2LDB4OEIsMHg0NywweDU4LDB4RTgsMHhBRCwweDA2LDB4QkUsMHhCQiwweDUzLDB4RTgsMHhCNiwweDA2LDB4OEIsCi0weDQ3LDB4NUEsMHhFOCwweEExLDB4MDYsMHhCRSwweEM0LDB4NTMsMHhFOCwweEFBLDB4MDYsMHg4QiwweDQ3LDB4NUMsMHhFOCwweDk1LAotMHgwNiwweEU4LDB4OUUsMHgwNiwweEJFLDB4Q0QsMHg1MywweEU4LDB4OUIsMHgwNiwweDhCLDB4NDcsMHg1RSwweEU4LDB4ODYsMHgwNiwKLTB4QkUsMHhENiwweDUzLDB4RTgsMHg4RiwweDA2LDB4OEIsMHg0NywweDYwLDB4RTgsMHg3QSwweDA2LDB4QkUsMHhERiwweDUzLDB4RTgsCi0weDgzLDB4MDYsMHg4QiwweDQ3LDB4NjIsMHhFOCwweDZFLDB4MDYsMHhCRSwweEU4LDB4NTMsMHhFOCwweDc3LDB4MDYsMHg4QiwweDQ3LAotMHg3QywweEU4LDB4NjIsMHgwNiwweEJFLDB4RjEsMHg1MywweEU4LDB4NkIsMHgwNiwweDhCLDB4NDcsMHg3RSwweEU4LDB4NTYsMHgwNiwKLTB4QkUsMHhGQSwweDUzLDB4RTgsMHg1RiwweDA2LDB4OEIsMHg4NywweDgwLDB4MDAsMHhFOCwweDQ5LDB4MDYsMHhFOCwweDUyLDB4MDYsCi0weEJFLDB4NDIsMHg1NCwweEU4LDB4NEYsMHgwNiwweDhCLDB4ODcsMHg5RSwweDAwLDB4RTgsMHgzOSwweDA2LDB4QkUsMHgwMywweDU0LAotMHhFOCwweDQyLDB4MDYsMHg4QiwweDQ3LDB4NjQsMHhFOCwweDJELDB4MDYsMHhCRSwweDBDLDB4NTQsMHhFOCwweDM2LDB4MDYsMHg4QiwKLTB4NDcsMHg2RSwweEU4LDB4MjEsMHgwNiwweEJFLDB4MTUsMHg1NCwweEU4LDB4MkEsMHgwNiwweDhCLDB4ODcsMHg4RSwweDAwLDB4RTgsCi0weDE0LDB4MDYsMHhCRSwweDFFLDB4NTQsMHhFOCwweDFELDB4MDYsMHg4QiwweDg3LDB4OTAsMHgwMCwweEU4LDB4MDcsMHgwNiwweEJFLAotMHgyNywweDU0LDB4RTgsMHgxMCwweDA2LDB4OEIsMHg4NywweDkyLDB4MDAsMHhFOCwweEZBLDB4MDUsMHhFOCwweDAzLDB4MDYsMHhCRSwKLTB4MzAsMHg1NCwweEU4LDB4MDAsMHgwNiwweDhCLDB4ODcsMHg5NCwweDAwLDB4RTgsMHhFQSwweDA1LDB4QkUsMHgzOSwweDU0LDB4RTgsCi0weEYzLDB4MDUsMHg4QiwweDg3LDB4OTYsMHgwMCwweEU4LDB4REQsMHgwNSwweEJFLDB4NkYsMHg1NCwweEU4LDB4RTYsMHgwNSwweDhCLAotMHg4NywweDk4LDB4MDAsMHhFOCwweEQwLDB4MDUsMHhCRSwweDVELDB4NTQsMHhFOCwweEQ5LDB4MDUsMHg4QSwweDg3LDB4QTAsMHgwMCwKLTB4RTgsMHhBNywweDA1LDB4QkUsMHg1NCwweDU0LDB4RTgsMHhDQywweDA1LDB4OEEsMHg0NywweDI4LDB4RTgsMHg5QiwweDA1LDB4QkUsCi0weDY2LDB4NTQsMHhFOCwweEMwLDB4MDUsMHg4QSwweDg3LDB4QTEsMHgwMCwweEU4LDB4OEUsMHgwNSwweEU4LDB4QjMsMHgwNSwweEJFLAotMHg3OCwweDU0LDB4RTgsMHhCMCwweDA1LDB4OEEsMHg4NywweEEyLDB4MDAsMHhFOCwweDdFLDB4MDUsMHhCRSwweDgxLDB4NTQsMHhFOCwKLTB4QTMsMHgwNSwweDhBLDB4ODcsMHhBMywweDAwLDB4RTgsMHg3MSwweDA1LDB4QkUsMHg4QSwweDU0LDB4RTgsMHg5NiwweDA1LDB4OEEsCi0weDg3LDB4QTQsMHgwMCwweEU4LDB4NjQsMHgwNSwweEJFLDB4OTMsMHg1NCwweEU4LDB4ODksMHgwNSwweDhBLDB4ODcsMHhBNSwweDAwLAotMHhFOCwweDU3LDB4MDUsMHhCRSwweDlDLDB4NTQsMHhFOCwweDdDLDB4MDUsMHg4QSwweDg3LDB4QTYsMHgwMCwweEU4LDB4NEEsMHgwNSwKLTB4QkUsMHhBNSwweDU0LDB4RTgsMHg2RiwweDA1LDB4OEEsMHg4NywweEE3LDB4MDAsMHhFOCwweDNELDB4MDUsMHhCRSwweEFFLDB4NTQsCi0weEU4LDB4NjIsMHgwNSwweDhBLDB4ODcsMHhBOCwweDAwLDB4RTgsMHgzMCwweDA1LDB4RTgsMHg1NSwweDA1LDB4QkUsMHhCNywweDU0LAotMHhFOCwweDUyLDB4MDUsMHg4QSwweDg3LDB4QTksMHgwMCwweEU4LDB4MjAsMHgwNSwweEJFLDB4QzAsMHg1NCwweEU4LDB4NDUsMHgwNSwKLTB4OEEsMHg4NywweEFBLDB4MDAsMHhFOCwweDEzLDB4MDUsMHhCRSwweEM5LDB4NTQsMHhFOCwweDM4LDB4MDUsMHg4QSwweDg3LDB4QUIsCi0weDAwLDB4RTgsMHgwNiwweDA1LDB4QkUsMHhEMiwweDU0LDB4RTgsMHgyQiwweDA1LDB4OEEsMHg4NywweEFELDB4MDAsMHhFOCwweEY5LAotMHgwNCwweEJFLDB4REIsMHg1NCwweEU4LDB4MUUsMHgwNSwweDhBLDB4ODcsMHhBRSwweDAwLDB4RTgsMHhFQywweDA0LDB4QkUsMHhFNCwKLTB4NTQsMHhFOCwweDExLDB4MDUsMHg4QSwweDg3LDB4QUYsMHgwMCwweEU4LDB4REYsMHgwNCwweEJFLDB4RUQsMHg1NCwweEU4LDB4MDQsCi0weDA1LDB4OEEsMHg4NywweEIwLDB4MDAsMHhFOCwweEQyLDB4MDQsMHhFOCwweEY3LDB4MDQsMHhCRSwweEY2LDB4NTQsMHhFOCwweEY0LAotMHgwNCwweDhBLDB4ODcsMHhCMSwweDAwLDB4RTgsMHhDMiwweDA0LDB4QkUsMHhGRiwweDU0LDB4RTgsMHhFNywweDA0LDB4OEEsMHg4NywKLTB4QjIsMHgwMCwweEU4LDB4QjUsMHgwNCwweEJFLDB4MDgsMHg1NSwweEU4LDB4REEsMHgwNCwweDhBLDB4ODcsMHhCMywweDAwLDB4RTgsCi0weEE4LDB4MDQsMHhCRSwweDExLDB4NTUsMHhFOCwweENELDB4MDQsMHg4QSwweDg3LDB4QkIsMHgwMCwweEU4LDB4OUIsMHgwNCwweEU4LAotMHhDMCwweDA0LDB4QkUsMHgxQSwweDU1LDB4RTgsMHhCRCwweDA0LDB4OEEsMHg4NywweEJDLDB4MDAsMHhFOCwweDhCLDB4MDQsMHhCRSwKLTB4MjMsMHg1NSwweEU4LDB4QjAsMHgwNCwweDhBLDB4ODcsMHhCRSwweDAwLDB4RTgsMHg3RSwweDA0LDB4QkUsMHgyQywweDU1LDB4RTgsCi0weEEzLDB4MDQsMHg4QSwweDg3LDB4QkYsMHgwMCwweEU4LDB4NzEsMHgwNCwweEU4LDB4OTYsMHgwNCwweDA3LDB4QzMsMHg2MCwweDA2LAotMHgxRSwweDE2LDB4OEIsMHhFQywweEZGLDB4NEUsMHgxNiwweEY3LDB4NDYsMHgxQSwweDAwLDB4MDIsMHg3NCwweDAxLDB4RkIsMHhCOCwKLTB4MDAsMHgwMCwweDhFLDB4RDgsMHg4RSwweEMwLDB4ODksMHgyRSwweDJELDB4N0EsMHhFOCwweENCLDB4MDAsMHg4MSwweDY2LDB4MUEsCi0weEZGLDB4RkUsMHhDNiwweDA2LDB4MkEsMHg3QSwweDAwLDB4RTgsMHhEOCwweDAwLDB4QjgsMHgwMCwweDVGLDB4QTMsMHgyQiwweDdBLAotMHhFOCwweDVELDB4MDAsMHg4MCwweDNFLDB4MkEsMHg3QSwweDAwLDB4NzQsMHgwQSwweDgxLDB4NEUsMHgxQSwweDAwLDB4MDEsMHhDNiwKLTB4MDYsMHgyQSwweDdBLDB4MDAsMHgxNywweDFGLDB4MDcsMHg2MSwweENGLDB4OTAsMHg2MCwweDA2LDB4MUUsMHgxNiwweDhCLDB4RUMsCi0weEY3LDB4NDYsMHgxQSwweDAwLDB4MDIsMHg3NCwweDAxLDB4RkIsMHhCOCwweDAwLDB4MDAsMHg4RSwweEQ4LDB4OEUsMHhDMCwweDg5LAotMHgyRSwweDJELDB4N0EsMHg4MSwweDY2LDB4MUEsMHhGRiwweEZFLDB4QzYsMHgwNiwweDJBLDB4N0EsMHgwMCwweEU4LDB4OTIsMHgwMCwKLTB4QjgsMHgwMCwweDVGLDB4QTMsMHgyQiwweDdBLDB4RTgsMHgxNywweDAwLDB4ODAsMHgzRSwweDJBLDB4N0EsMHgwMCwweDc0LDB4MEEsCi0weDgxLDB4NEUsMHgxQSwweDAwLDB4MDEsMHhDNiwweDA2LDB4MkEsMHg3QSwweDAwLDB4MTcsMHgxRiwweDA3LDB4NjEsMHhDRiwweDkwLAotMHhCOCwweEYwLDB4MDAsMHhFOCwweDhDLDB4RUQsMHhGRiwweDI2LDB4MkIsMHg3QSwweEMzLDB4OTAsMHgwNiwweDUzLDB4NTYsMHg4MCwKLTB4M0UsMHgyOSwweDdBLDB4MDAsMHg3NCwweDAzLDB4RTgsMHgzRiwweDAwLDB4QkUsMHhENywweDc5LDB4RTgsMHgyNSwweDAyLDB4OEIsCi0weEQ4LDB4QTMsMHgyNywweDdBLDB4MkUsMHg4QSwweDA3LDB4QTIsMHgyOSwweDdBLDB4QjAsMHhDQywweDJFLDB4ODgsMHgwNywweDVFLAotMHg1QiwweDA3LDB4QzMsMHhDNiwweDA2LDB4MkEsMHg3QSwweDAwLDB4QjgsMHgwQSwweDVGLDB4QTMsMHgyQiwweDdBLDB4QzMsMHg5MCwKLTB4OEIsMHgyRSwweDJELDB4N0EsMHhFOCwweDJCLDB4MDAsMHhDMywweEM2LDB4MDYsMHgyQSwweDdBLDB4MDEsMHhFOCwweDA4LDB4MDAsCi0weEI4LDB4MEEsMHg1RiwweEEzLDB4MkIsMHg3QSwweEMzLDB4OTAsMHg1NywweDgwLDB4M0UsMHgyOSwweDdBLDB4MDAsMHg3NCwweDBGLAotMHg4QiwweDNFLDB4MjcsMHg3QSwweEEwLDB4MjksMHg3QSwweDJFLDB4ODgsMHgwNSwweEM2LDB4MDYsMHgyOSwweDdBLDB4MDAsMHg1RiwKLTB4QzMsMHg5MCwweEJFLDB4QjIsMHg0RCwweEU4LDB4MDYsMHgwMiwweEJFLDB4RDgsMHg1MSwweEU4LDB4MDAsMHgwMiwweEZGLDB4NzYsCi0weDE0LDB4NTgsMHhFOCwweDQ3LDB4MDIsMHhCRSwweERFLDB4NTEsMHhFOCwweEYzLDB4MDEsMHhGRiwweDc2LDB4MEUsMHg1OCwweEU4LAotMHgzQSwweDAyLDB4QkUsMHhFNCwweDUxLDB4RTgsMHhFNiwweDAxLDB4RkYsMHg3NiwweDEyLDB4NTgsMHhFOCwweDJELDB4MDIsMHhCRSwKLTB4RUEsMHg1MSwweEU4LDB4RDksMHgwMSwweEZGLDB4NzYsMHgxMCwweDU4LDB4RTgsMHgyMCwweDAyLDB4QkUsMHgxNCwweDUyLDB4RTgsCi0weENDLDB4MDEsMHhGRiwweDc2LDB4MEEsMHg1OCwweEU4LDB4MTMsMHgwMiwweEJFLDB4MUEsMHg1MiwweEU4LDB4QkYsMHgwMSwweEZGLAotMHg3NiwweDBDLDB4NTgsMHhFOCwweDA2LDB4MDIsMHhCRSwweENGLDB4NTEsMHhFOCwweEIyLDB4MDEsMHhGRiwweDc2LDB4MUEsMHg1OCwKLTB4RTgsMHhGOSwweDAxLDB4QkUsMHhCMiwweDRELDB4RTgsMHhBNSwweDAxLDB4QkUsMHhGMCwweDUxLDB4RTgsMHg5RiwweDAxLDB4RkYsCi0weDc2LDB4MTgsMHg1OCwweEU4LDB4RTYsMHgwMSwweEJFLDB4RjYsMHg1MSwweEU4LDB4OTIsMHgwMSwweEZGLDB4NzYsMHgwMiwweDU4LAotMHhFOCwweEQ5LDB4MDEsMHhCRSwweEZDLDB4NTEsMHhFOCwweDg1LDB4MDEsMHhGRiwweDc2LDB4MDQsMHg1OCwweEU4LDB4Q0MsMHgwMSwKLTB4QkUsMHgwMiwweDUyLDB4RTgsMHg3OCwweDAxLDB4RkYsMHg3NiwweDAwLDB4NTgsMHhFOCwweEJGLDB4MDEsMHhCRSwweDA4LDB4NTIsCi0weEU4LDB4NkIsMHgwMSwweEZGLDB4NzYsMHgwNiwweDU4LDB4RTgsMHhCMiwweDAxLDB4QkUsMHgwRSwweDUyLDB4RTgsMHg1RSwweDAxLAotMHhGRiwweDc2LDB4MDgsMHg1OCwweEU4LDB4QTUsMHgwMSwweEJFLDB4MjAsMHg1MiwweEU4LDB4NTEsMHgwMSwweEZGLDB4NzYsMHgxNiwKLTB4NTgsMHhFOCwweDk4LDB4MDEsMHhCRSwweDg5LDB4NEQsMHhFOCwweDQ0LDB4MDEsMHhDMywweDkwLDB4QkUsMHhDOSwweDRELDB4RTgsCi0weDNDLDB4MDEsMHhDMywweDNDLDB4MDAsMHg3NCwweDA1LDB4M0MsMHgwMSwweDc0LDB4NTksMHhDMywweEM3LDB4MDYsMHgwQywweDdBLAotMHhDRCwweDUwLDB4QzcsMHgwNiwweDBFLDB4N0EsMHhGMCwweDUwLDB4QzcsMHgwNiwweDEwLDB4N0EsMHhFOCwweDUwLDB4QzcsMHgwNiwKLTB4MTIsMHg3QSwweEVDLDB4NTAsMHhDNywweDA2LDB4MTQsMHg3QSwweEY0LDB4NTAsMHhDNywweDA2LDB4MTYsMHg3QSwweEZCLDB4NTAsCi0weEM3LDB4MDYsMHgxOCwweDdBLDB4MDMsMHg1MSwweEM3LDB4MDYsMHgxQSwweDdBLDB4MEIsMHg1MSwweEM3LDB4MDYsMHgxQywweDdBLAotMHgwRSwweDUxLDB4QzcsMHgwNiwweDFFLDB4N0EsMHgxMCwweDUxLDB4QzcsMHgwNiwweDIwLDB4N0EsMHgxMiwweDUxLDB4QzcsMHgwNiwKLTB4MjIsMHg3QSwweDE2LDB4NTEsMHhDNiwweDA2LDB4MjQsMHg3QSwweDAxLDB4QzYsMHgwNiwweDI1LDB4N0EsMHgwMSwweEM2LDB4MDYsCi0weDI2LDB4N0EsMHgwMywweEMzLDB4QzcsMHgwNiwweDBDLDB4N0EsMHgxQSwweDUxLDB4QzcsMHgwNiwweDBFLDB4N0EsMHg0RCwweDUxLAotMHhDNywweDA2LDB4MTAsMHg3QSwweDQ3LDB4NTEsMHhDNywweDA2LDB4MTIsMHg3QSwweDRBLDB4NTEsMHhDNywweDA2LDB4MTQsMHg3QSwKLTB4NEYsMHg1MSwweEM3LDB4MDYsMHgxNiwweDdBLDB4NTEsMHg1MSwweEM3LDB4MDYsMHgxOCwweDdBLDB4NTUsMHg1MSwweEM3LDB4MDYsCi0weDFBLDB4N0EsMHg1NiwweDUxLDB4QzcsMHgwNiwweDFDLDB4N0EsMHg1OSwweDUxLDB4QzcsMHgwNiwweDFFLDB4N0EsMHg1QSwweDUxLAotMHhDNywweDA2LDB4MjAsMHg3QSwweDVCLDB4NTEsMHhDNywweDA2LDB4MjIsMHg3QSwweDVFLDB4NTEsMHhDNiwweDA2LDB4MjQsMHg3QSwKLTB4MjAsMHhDNiwweDA2LDB4MjUsMHg3QSwweDIwLDB4QzYsMHgwNiwweDI2LDB4N0EsMHgwMiwweEMzLDB4QTEsMHhGOCwweDc5LDB4NDgsCi0weDc0LDB4MTQsMHhCRSwweEQ3LDB4NzksMHhFOCwweDNDLDB4MDAsMHg4QiwweEY4LDB4QUMsMHgzQywweDNBLDB4NzUsMHgwNywweDhFLAotMHhDNywweEU4LDB4MzAsMHgwMCwweDhCLDB4RjgsMHhDMywweDkwLDB4OEIsMHhDNywweDJCLDB4MDYsMHhGRSwweDc5LDB4OEEsMHhGMCwKLTB4MjQsMHgwRiwweDhBLDB4RDAsMHgwMiwweEQwLDB4MDIsMHhEMCwweDgwLDB4QzIsMHgwQiwweEMwLDB4RUUsMHgwNCwweDgwLDB4QzYsCi0weDAzLDB4MDQsMHgzRCwweEMzLDB4OEMsMHhDMCwweEU4LDB4OTMsMHgwMCwweEIwLDB4M0EsMHhFOCwweEU0LDB4MDAsMHg4QiwweEM3LAotMHhFOCwweDg5LDB4MDAsMHhDMywweDUxLDB4MzMsMHhDOSwweDkwLDB4QUMsMHgzQywweDIwLDB4NzQsMHhGQiwweDkwLDB4MEEsMHhDMCwKLTB4NzQsMHgyNiwweDJDLDB4MzAsMHg3MiwweDIyLDB4M0MsMHgwOSwweDc2LDB4MTQsMHgzQywweDExLDB4NzIsMHgxQSwweDJDLDB4MDcsCi0weDNDLDB4MEYsMHg3NiwweDBBLDB4M0MsMHgyQSwweDcyLDB4MTAsMHgyQywweDIwLDB4M0MsMHgwRiwweDc3LDB4MEEsMHg5OCwweEMxLAotMHhFMSwweDA0LDB4MDMsMHhDOCwweEFDLDB4RUIsMHhENywweDkwLDB4NEUsMHg4QiwweEMxLDB4NTksMHhDMywweDkwLDB4MDYsMHg4QywKLTB4QzgsMHg4RSwweEMwLDB4RTgsMHgwMiwweDAwLDB4MDcsMHhDMywweDI2LDB4OEEsMHgwNCwweDQ2LDB4MEEsMHhDMCwweDc0LDB4MDYsCi0weEU4LDB4OEYsMHgwMCwweEVCLDB4RjMsMHg5MCwweEMzLDB4OTAsMHgwQiwweEMwLDB4NzQsMHg3QSwweDUxLDB4MzMsMHhEMiwweEI5LAotMHhFOCwweDAzLDB4RjcsMHhGMSwweDhCLDB4Q0EsMHhFOCwweDAzLDB4MDAsMHg4QiwweEMxLDB4NTksMHhCQSwweDY0LDB4MDAsMHhGNiwKLTB4RjIsMHhFOCwweDBDLDB4MDAsMHg4QSwweEM0LDB4OTgsMHhCMiwweDBBLDB4RjYsMHhGMiwweEU4LDB4MDIsMHgwMCwweDhBLDB4QzQsCi0weDUwLDB4MEEsMHhGMCwweDc0LDB4MDUsMHgwNCwweDMwLDB4RTgsMHg1OCwweDAwLDB4NTgsMHhDMywweDg2LDB4QzQsMHhFOCwweDA3LAotMHgwMCwweDg2LDB4QzQsMHhFOCwweDAyLDB4MDAsMHhDMywweDkwLDB4QzEsMHhDOCwweDA0LDB4RTgsMHgwOCwweDAwLDB4QzEsMHhDMCwKLTB4MDQsMHhFOCwweDAyLDB4MDAsMHhDMywweDkwLDB4NTMsMHg1MCwweDI0LDB4MEYsMHhCQiwweENBLDB4NjIsMHgyRSwweEQ3LDB4RTgsCi0weDMwLDB4MDAsMHg1OCwweDVCLDB4QzMsMHg5MCwweDg2LDB4QzQsMHhFOCwweDA3LDB4MDAsMHg4NiwweEM0LDB4RTgsMHgwMiwweDAwLAotMHhDMywweDkwLDB4NTAsMHhCOSwweDA4LDB4MDAsMHg4QSwweEUwLDB4MzIsMHhDMCwweEQxLDB4QzAsMHgwNCwweDMwLDB4RTgsMHgxMSwKLTB4MDAsMHhFMiwweEY1LDB4NTgsMHhDMywweDkwLDB4QjAsMHgzMCwweEU4LDB4MDcsMHgwMCwweEMzLDB4QjAsMHgyMCwweEU4LDB4MDEsCi0weDAwLDB4QzMsMHg1NiwweDhCLDB4MzYsMHhEMCwweDc5LDB4ODgsMHg4NCwweEQwLDB4NzcsMHg0NiwweDgxLDB4RTYsMHhGRiwweDAxLAotMHhGRiwweDA2LDB4RDQsMHg3OSwweDg5LDB4MzYsMHhEMCwweDc5LDB4ODEsMHgzRSwweEQ0LDB4NzksMHhGRSwweDAxLDB4NzUsMHgwOCwKLTB4NTYsMHhFOCwweDE0LDB4MDAsMHg1RSwweEVCLDB4RjEsMHg5MCwweDVFLDB4QzMsMHhCQSwweDAyLDB4MDIsMHhFQywweDI0LDB4MDEsCi0weDc0LDB4MDQsMHhCQSwweDA2LDB4MDIsMHhFQywweEMzLDB4OTAsMHg4MCwweDNFLDB4RjYsMHg3OSwweDAwLDB4NzQsMHgwOSwweDYwLAotMHhCOCwweDAxLDB4MDAsMHhFOCwweDJDLDB4RUEsMHg2MSwweDkwLDB4QkEsMHgwMiwweDAyLDB4RUMsMHhBOCwweDA0LDB4NzQsMHgyOCwKLTB4OEIsMHgzNiwweEQyLDB4NzksMHg4MywweDNFLDB4RDQsMHg3OSwweDAwLDB4NzQsMHgxRCwweDhBLDB4ODQsMHhEMCwweDc3LDB4NDYsCi0weDgxLDB4RTYsMHhGRiwweDAxLDB4ODksMHgzNiwweEQyLDB4NzksMHhGRiwweDBFLDB4RDQsMHg3OSwweEJBLDB4MDYsMHgwMiwweEVFLAotMHhCQSwweDAyLDB4MDIsMHhFQywweEE4LDB4MDQsMHg3NSwweERDLDB4QTEsMHhENCwweDc5LDB4QzMsMHg1MiwweEJBLDB4MDYsMHgwMiwKLTB4RUUsMHg1QSwweEMzLDB4OTAsMHg1MiwweDUwLDB4QkEsMHgwMiwweDAyLDB4RUMsMHhBOCwweDA0LDB4NzQsMHgwOCwweDU4LDB4NUEsCi0weEU4LDB4RTksMHhGRiwweEY5LDB4QzMsMHg5MCwweDU4LDB4NUEsMHhGOCwweEMzLDB4NTIsMHg1MCwweEJBLDB4MDIsMHgwMiwweEVDLAotMHhBOCwweDA0LDB4NzQsMHhGQiwweDU4LDB4NUEsMHhFOCwweEQzLDB4RkYsMHhDMywweDMwLDB4MzEsMHgzMiwweDMzLDB4MzQsMHgzNSwKLTB4MzYsMHgzNywweDM4LDB4MzksMHg0MSwweDQyLDB4NDMsMHg0NCwweDQ1LDB4NDYsMHg1MywweDUwLDB4OEEsMHhFMCwweDgwLDB4RTQsCi0weDBGLDB4QkIsMHhDQSwweDYyLDB4QzAsMHhFOCwweDA0LDB4MkUsMHhENywweEU4LDB4Q0UsMHhGRiwweDhBLDB4QzQsMHgyRSwweEQ3LAotMHhFOCwweEM3LDB4RkYsMHg1OCwweDVCLDB4QzMsMHg4NiwweEUwLDB4RTgsMHhERiwweEZGLDB4ODYsMHhFMCwweEU4LDB4REEsMHhGRiwKLTB4QzMsMHg5MCwweEJFLDB4QjIsMHg0RCwweDUwLDB4MkUsMHhBQywweDNDLDB4MDAsMHg3NCwweDA1LDB4RTgsMHhBQiwweEZGLDB4RUIsCi0weEY1LDB4NTgsMHhDMywweDkwLDB4QzgsMHgwOCwweDAwLDB4MDAsMHg1NiwweDU3LDB4OEIsMHg3NiwweDA0LDB4QkYsMHgwNCwweDAwLAotMHhDNywweDQ2LDB4RkMsMHgwMCwweDAwLDB4QzcsMHg0NiwweEZBLDB4MDAsMHgwMCwweEM3LDB4NDYsMHhGOCwweDAwLDB4MDAsMHg4MywKLTB4N0UsMHgwNiwweDAwLDB4NzUsMHgwRSwweDU2LDB4RTgsMHhCNiwweDBFLDB4NTksMHgwQiwweEMwLDB4NzUsMHgwNSwweDhCLDB4QzcsCi0weEU5LDB4NUIsMHgwMSwweDhCLDB4NDYsMHhGQywweDg5LDB4NDYsMHhGRSwweDBCLDB4RkYsMHg3NSwweDA1LDB4QjgsMHgwMSwweDAwLAotMHhFQiwweDAyLDB4MzMsMHhDMCwweDUwLDB4NTYsMHhFOCwweEE0LDB4MEQsMHg1OSwweDU5LDB4QjQsMHgwMCwweDg5LDB4NDYsMHhGQywKLTB4OEIsMHg1RSwweEZDLDB4ODMsMHhGQiwweDA4LDB4NzYsMHgwMywweEU5LDB4MkIsMHgwMSwweEQxLDB4RTMsMHgyRSwweEZGLDB4QTcsCi0weEIyLDB4NjQsMHhCOCwweDAzLDB4MDAsMHhFOSwweDI2LDB4MDEsMHg4MywweDdFLDB4RkEsMHgwMCwweDc0LDB4MTQsMHhDNywweDQ2LAotMHhGQSwweDAwLDB4MDAsMHg4QSwweDQ0LDB4NTgsMHg5OCwweDUwLDB4OEEsMHg0NCwweDU5LDB4OTgsMHg1MCwweEU4LDB4QzIsMHgwRiwKLTB4NTksMHg1OSwweDgzLDB4N0UsMHhGOCwweDAwLDB4NzQsMHgwQSwweEM3LDB4NDYsMHhGOCwweDAwLDB4MDAsMHg1NiwweEU4LDB4OUIsCi0weDA4LDB4NTksMHg4MywweDdFLDB4MDYsMHgwMCwweDc1LDB4MDUsMHg4QiwweEM3LDB4RTksMHhGMSwweDAwLDB4ODMsMHhGRiwweDA0LAotMHg3NSwweDAzLDB4RTksMHhFNiwweDAwLDB4OEIsMHhDNywweEU5LDB4RTQsMHgwMCwweDgzLDB4N0UsMHhGRSwweDAwLDB4NzUsMHgwMywKLTB4QkYsMHgwMiwweDAwLDB4RTksMHhENSwweDAwLDB4ODMsMHg3RSwweEZFLDB4MDAsMHg3NSwweDAzLDB4QkYsMHgwMSwweDAwLDB4RTksCi0weEM5LDB4MDAsMHg4QiwweDVFLDB4RkUsMHg4MywweEZCLDB4MDcsMHg3NiwweDAzLDB4RTksMHg4NiwweDAwLDB4RDEsMHhFMywweDJFLAotMHhGRiwweEE3LDB4QTIsMHg2NCwweDMzLDB4RkYsMHhFOSwweDdGLDB4MDAsMHhCRiwweDA0LDB4MDAsMHg4MCwweDdDLDB4NTgsMHgwRiwKLTB4NzQsMHgyMiwweDgzLDB4N0UsMHhGOCwweDAwLDB4NzUsMHgxQywweEZFLDB4NDQsMHg1OCwweDZBLDB4MDgsMHg1NiwweEU4LDB4N0UsCi0weDBDLDB4NTksMHg1OSwweDhBLDB4NDQsMHg1OCwweDA0LDB4ODAsMHg1MCwweDU2LDB4RTgsMHg3MiwweDBDLDB4NTksMHg1OSwweEM3LAotMHg0NiwweEZBLDB4MDEsMHgwMCwweDgzLDB4N0UsMHhGOCwweDAwLDB4NzQsMHgwQSwweEM3LDB4NDYsMHhGOCwweDAwLDB4MDAsMHg1NiwKLTB4RTgsMHgxOSwweDA4LDB4NTksMHhFQiwweDQyLDB4QkYsMHgwNCwweDAwLDB4ODAsMHg3QywweDU4LDB4MDAsMHg3NCwweDIyLDB4ODMsCi0weDdFLDB4RjgsMHgwMCwweDc1LDB4MUMsMHhGRSwweDRDLDB4NTgsMHg2QSwweDA4LDB4NTYsMHhFOCwweDQxLDB4MEMsMHg1OSwweDU5LAotMHg4QSwweDQ0LDB4NTgsMHgwNCwweDgwLDB4NTAsMHg1NiwweEU4LDB4MzUsMHgwQywweDU5LDB4NTksMHhDNywweDQ2LDB4RkEsMHgwMSwKLTB4MDAsMHg4MywweDdFLDB4RjgsMHgwMCwweDc0LDB4MEEsMHhDNywweDQ2LDB4RjgsMHgwMCwweDAwLDB4NTYsMHhFOCwweERDLDB4MDcsCi0weDU5LDB4RUIsMHgwNSwweEJGLDB4MDQsMHgwMCwweEVCLDB4MDAsMHhFQiwweDMxLDB4QkYsMHgwNCwweDAwLDB4RUIsMHgyQywweEM3LAotMHg0NiwweEY4LDB4MDEsMHgwMCwweDZBLDB4MDgsMHg1NiwweEU4LDB4MDUsMHgwQywweDU5LDB4NTksMHg4MCwweDdDLDB4NTgsMHgwOSwKLTB4N0QsMHgwNCwweEIwLDB4MEYsMHhFQiwweDAyLDB4QjAsMHgwMCwweDA0LDB4ODAsMHg1MCwweDU2LDB4RTgsMHhGMCwweDBCLDB4NTksCi0weDU5LDB4QkYsMHgwNCwweDAwLDB4RUIsMHgwNSwweEJGLDB4MDQsMHgwMCwweEVCLDB4MDAsMHhFOSwweEE1LDB4RkUsMHg1RiwweDVFLAotMHhDOSwweEMzLDB4RTQsMHg2MywweDYzLDB4NjQsMHg2MywweDY0LDB4NjMsMHg2NCwweDYzLDB4NjQsMHhFOSwweDYzLDB4MjYsMHg2NCwKLTB4NTEsMHg2NCwweDc4LDB4NjMsMHhCQSwweDYzLDB4QzYsMHg2MywweDk2LDB4NjQsMHhEMiwweDYzLDB4NkEsMHg2NCwweDZBLDB4NjQsCi0weDZGLDB4NjQsMHg3MiwweDYzLDB4QzgsMHgwOCwweDAwLDB4MDAsMHg1NiwweDU3LDB4OEIsMHg3NiwweDA0LDB4OEIsMHg3RSwweDA4LAotMHg2QSwweDAxLDB4NTYsMHhFOCwweEE5LDB4MEIsMHg1OSwweDU5LDB4OEEsMHg0NiwweDA2LDB4QzAsMHhFMCwweDA2LDB4MDQsMHg4MCwKLTB4NTAsMHg1NiwweEU4LDB4OUEsMHgwQiwweDU5LDB4NTksMHhDNywweDQ2LDB4RkUsMHgwMCwweDAwLDB4ODksMHg3RSwweEY4LDB4RUIsCi0weDAzLDB4RkYsMHg0NiwweEZFLDB4OEIsMHg1RSwweEY4LDB4RkYsMHg0NiwweEY4LDB4ODAsMHgzRiwweDAwLDB4NzUsMHhGMiwweDgzLAotMHg3RSwweEZFLDB4MTAsMHg3RCwweDI1LDB4QjgsMHgxMCwweDAwLDB4MkIsMHg0NiwweEZFLDB4RDEsMHhGOCwweDg5LDB4NDYsMHhGQywKLTB4QzcsMHg0NiwweEZBLDB4MDAsMHgwMCwweEVCLDB4MEIsMHg2QSwweDIwLDB4NTYsMHhFOCwweDYyLDB4MEIsMHg1OSwweDU5LDB4RkYsCi0weDQ2LDB4RkEsMHg4QiwweDQ2LDB4RkEsMHgzQiwweDQ2LDB4RkMsMHg3QywweEVELDB4RUIsMHgwQywweDhCLDB4REYsMHg0NywweDhBLAotMHgwNywweDUwLDB4NTYsMHhFOCwweDQ5LDB4MEIsMHg1OSwweDU5LDB4ODAsMHgzRCwweDAwLDB4NzUsMHhFRiwweDZBLDB4MDIsMHg1NiwKLTB4RTgsMHgzQywweDBCLDB4NTksMHg1OSwweEVCLDB4MDAsMHg1RiwweDVFLDB4QzksMHhDMywweEM4LDB4MDQsMHgwMCwweDAwLDB4NTYsCi0weDU3LDB4OEIsMHg3RSwweDA0LDB4QzcsMHg0NiwweEZFLDB4MDAsMHgwMCwweEJFLDB4MTQsMHgwMCwweEU5LDB4MDksMHgwMSwweDhCLAotMHg1RSwweEZFLDB4ODMsMHhDMywweDA0LDB4MkIsMHhERiwweDhBLDB4ODcsMHhBQywweDBCLDB4ODgsMHg0NCwweDVBLDB4QzYsMHg0NCwKLTB4NTgsMHgwOCwweDhBLDB4NDYsMHhGRSwweDg4LDB4NDQsMHg1OSwweEM3LDB4NDQsMHgwNiwweDAwLDB4MDAsMHhDNiwweDQ0LDB4MTksCi0weDAwLDB4QzYsMHg0NCwweDFBLDB4MDAsMHhDNiwweDQ0LDB4MUIsMHgwMCwweEM2LDB4NDQsMHgxRCwweDBELDB4QzYsMHg0NCwweDFFLAotMHgwMywweEM2LDB4NDQsMHgxRiwweDAwLDB4QzYsMHg0NCwweDIwLDB4MDAsMHhDNiwweDQ0LDB4MjEsMHgwMCwweEM2LDB4NDQsMHg1QiwKLTB4MDAsMHhDNiwweDQ0LDB4NUQsMHgwMCwweEM2LDB4NDQsMHg1RSwweDAwLDB4QzYsMHg0NCwweDVGLDB4MDAsMHhDNiwweDQ0LDB4NjAsCi0weDAwLDB4QzcsMHg0NiwweEZDLDB4MDAsMHgwMCwweEVCLDB4MEQsMHg4QiwweDVFLDB4RkMsMHhEMSwweEUzLDB4QzcsMHg0MCwweDMwLAotMHgwMCwweDAwLDB4RkYsMHg0NiwweEZDLDB4ODMsMHg3RSwweEZDLDB4MTAsMHg3QywweEVELDB4QzcsMHg0NiwweEZDLDB4MDAsMHgwMCwKLTB4RUIsMHgwQSwweDhCLDB4NUUsMHhGQywweEM2LDB4NDAsMHg1MCwweDAwLDB4RkYsMHg0NiwweEZDLDB4ODMsMHg3RSwweEZDLDB4MDQsCi0weDdDLDB4RjAsMHhDNywweDQ0LDB4NTQsMHgwMCwweDAwLDB4QzcsMHg0NCwweDU2LDB4MDAsMHgwMCwweDhBLDB4NDQsMHg1QSwweDk4LAotMHhCQSwweEY4LDB4MDAsMHgyMywweEQwLDB4QjgsMHgwNSwweDAwLDB4MEIsMHhDMiwweDg5LDB4NDYsMHhGQywweDlDLDB4RkEsMHg4QSwKLTB4NDYsMHhGQywweEJBLDB4RkUsMHgwMCwweEVFLDB4QkEsMHgwMCwweDAwLDB4RUMsMHg5RCwweDI0LDB4MDgsMHg4OCwweDQ2LDB4RkMsCi0weDgzLDB4N0UsMHhGQywweDAwLDB4NzUsMHgwMiwweEVCLDB4NEEsMHhGRiwweDc2LDB4RkUsMHhFOCwweDdBLDB4MEMsMHg1OSwweDY4LAotMHgzNSwweDAyLDB4NTYsMHhFOCwweDMyLDB4MEEsMHg1OSwweDU5LDB4MEIsMHhDMCwweDc1LDB4MzQsMHg2OCwweDM4LDB4MDIsMHg1NiwKLTB4RTgsMHgyNSwweDBBLDB4NTksMHg1OSwweDBCLDB4QzAsMHg3NSwweDI3LDB4NjgsMHg0MiwweDAyLDB4NTYsMHhFOCwweDE4LDB4MEEsCi0weDU5LDB4NTksMHgwQiwweEMwLDB4NzUsMHgxQSwweDY4LDB4NEMsMHgwMiwweDU2LDB4RTgsMHgwQiwweDBBLDB4NTksMHg1OSwweDBCLAotMHhDMCwweDc1LDB4MEQsMHg2OCwweDU2LDB4MDIsMHg1NiwweEU4LDB4RkUsMHgwOSwweDU5LDB4NTksMHgwQiwweEMwLDB4NzQsMHgwMiwKLTB4RUIsMHgwMCwweEZGLDB4NDYsMHhGRSwweDgzLDB4QzYsMHg2MiwweDM5LDB4N0UsMHhGRSwweDdELDB4MDMsMHhFOSwweEVGLDB4RkUsCi0weEVCLDB4MDAsMHg1RiwweDVFLDB4QzksMHhDMywweEM4LDB4MDgsMHgwMCwweDAwLDB4NTYsMHg1NywweDhCLDB4NDYsMHgwNCwweEJBLAotMHg2MiwweDAwLDB4RjcsMHhFQSwweDA1LDB4MTQsMHgwMCwweDhCLDB4RjAsMHg4MywweDdFLDB4MDYsMHgwMCwweDc0LDB4MDUsMHhCOCwKLTB4MTAsMHgwMCwweEVCLDB4MDMsMHhCOCwweDA4LDB4MDAsMHg4OSwweDQ0LDB4MDQsMHg4QSwweDQ2LDB4MDgsMHg4OCwweDQ0LDB4NUMsCi0weDU2LDB4RTgsMHg1OSwweDA0LDB4NTksMHg4QiwweEY4LDB4OEIsMHhDNywweDg5LDB4NDQsMHg1NiwweDg5LDB4NDQsMHg1NCwweDhBLAotMHg0NCwweDVELDB4ODgsMHg0NCwweDJGLDB4MEIsMHhGRiwweDc1LDB4MUQsMHg2OCwweEMyLDB4MEYsMHg2QSwweDAxLDB4NTYsMHhFOCwKLTB4MDIsMHhGRSwweDgzLDB4QzQsMHgwNiwweEVCLDB4MDAsMHg2QSwweDAxLDB4NTYsMHhFOCwweDQ3LDB4RkMsMHg1OSwweDU5LDB4MEIsCi0weEMwLDB4NzUsMHhGNCwweEJGLDB4MDEsMHgwMCwweDg5LDB4N0UsMHhGQSwweEI5LDB4MDUsMHgwMCwweEJCLDB4RTksMHg2QSwweDJFLAotMHg4QiwweDA3LDB4M0IsMHg0NiwweEZBLDB4NzQsMHgwNywweDQzLDB4NDMsMHhFMiwweEY0LDB4RTksMHhBNCwweDAzLDB4MkUsMHhGRiwKLTB4NjcsMHgwQSwweEM3LDB4NDQsMHgwNiwweDAyLDB4MDAsMHhDNywweDQ0LDB4MDgsMHhGNCwweDA4LDB4OEIsMHg1RSwweDA0LDB4RDEsCi0weEUzLDB4OEIsMHg4NywweEZDLDB4MDgsMHg4OSwweDQ0LDB4MEEsMHgzMywweEMwLDB4OEIsMHhGOCwweDg5LDB4NDQsMHg1NCwweEU5LAotMHg4MCwweDAzLDB4NTYsMHhFOCwweEJCLDB4MDUsMHg1OSwweEJGLDB4MDEsMHgwMCwweDhBLDB4NDQsMHg1RCwweDg4LDB4NDQsMHg2MCwKLTB4RTksMHg2RiwweDAzLDB4ODMsMHg3QywweDA0LDB4MDgsMHg3NSwweDMwLDB4ODAsMHg3QywweDVDLDB4MDEsMHg3NSwweDE1LDB4OEEsCi0weDQ0LDB4NUQsMHhCNCwweDAwLDB4RDEsMHhFMCwweDhCLDB4RDgsMHhGRiwweEI3LDB4RTQsMHgwOCwweDU2LDB4RTgsMHhGNywweDA4LAotMHg1OSwweDU5LDB4RUIsMHgxMywweDhBLDB4NDQsMHg1RCwweEI0LDB4MDAsMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHhDNCwKLTB4MDgsMHg1NiwweEU4LDB4RTIsMHgwOCwweDU5LDB4NTksMHhFQiwweDJFLDB4ODAsMHg3QywweDVDLDB4MDEsMHg3NSwweDE1LDB4OEEsCi0weDQ0LDB4NUQsMHhCNCwweDAwLDB4RDEsMHhFMCwweDhCLDB4RDgsMHhGRiwweEI3LDB4RDQsMHgwOCwweDU2LDB4RTgsMHhDNywweDA4LAotMHg1OSwweDU5LDB4RUIsMHgxMywweDhBLDB4NDQsMHg1RCwweEI0LDB4MDAsMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHhCNCwKLTB4MDgsMHg1NiwweEU4LDB4QjIsMHgwOCwweDU5LDB4NTksMHg2QSwweDAxLDB4NTYsMHhFOCwweDg3LDB4RkIsMHg1OSwweDU5LDB4OEIsCi0weEQ4LDB4ODMsMHhGQiwweDAzLDB4NzcsMHgyQSwweEQxLDB4RTMsMHgyRSwweEZGLDB4QTcsMHhFMSwweDZBLDB4QkYsMHgwMSwweDAwLAotMHg4QSwweDQ0LDB4NUQsMHg4OCwweDQ0LDB4NUUsMHhFQiwweDE4LDB4OEEsMHg0NCwweDVELDB4MDQsMHhGRiwweDI0LDB4MDcsMHg4OCwKLTB4NDQsMHg1RCwweEVCLDB4MEMsMHg4QSwweDQ0LDB4NUQsMHhGRSwweEMwLDB4MjQsMHgwNywweDg4LDB4NDQsMHg1RCwweEVCLDB4MDAsCi0weEU5LDB4Q0YsMHgwMiwweDhBLDB4NDQsMHg1RCwweEI0LDB4MDAsMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHhGRCwweDAyLAotMHg1NiwweEU4LDB4NjMsMHgwOCwweDU5LDB4NTksMHg2OCwweDFELDB4MDMsMHg1NiwweEU4LDB4NUEsMHgwOCwweDU5LDB4NTksMHg2QSwKLTB4MDEsMHg1NiwweEU4LDB4MkYsMHhGQiwweDU5LDB4NTksMHg4QiwweEQ4LDB4ODMsMHhGQiwweDAzLDB4NzcsMHgzNiwweEQxLDB4RTMsCi0weDJFLDB4RkYsMHhBNywweEQ5LDB4NkEsMHhCRiwweDAxLDB4MDAsMHg4QSwweDQ0LDB4NUQsMHg4OCwweDQ0LDB4NUYsMHhFQiwweDI0LAotMHg4QSwweDQ0LDB4NUQsMHgwNCwweEZGLDB4OEEsMHg1NCwweDA0LDB4ODAsMHhDMiwweEZGLDB4MjIsMHhDMiwweDg4LDB4NDQsMHg1RCwKLTB4RUIsMHgxMiwweDhBLDB4NDQsMHg1RCwweEZFLDB4QzAsMHg4QSwweDU0LDB4MDQsMHg4MCwweEMyLDB4RkYsMHgyMiwweEMyLDB4ODgsCi0weDQ0LDB4NUQsMHhFQiwweDAwLDB4RTksMHg2QiwweDAyLDB4OEIsMHg1QywweDA2LDB4ODMsMHhDMywweEZFLDB4RDEsMHhFMywweDhCLAotMHg0MCwweDA4LDB4ODksMHgwNCwweDhCLDB4MUMsMHhGRiwweDc3LDB4MDYsMHg2QSwweDAwLDB4NTYsMHhFOCwweDg1LDB4RkMsMHg4MywKLTB4QzQsMHgwNiwweDhCLDB4NUMsMHgwNiwweDRCLDB4RDEsMHhFMywweDhCLDB4NDAsMHgwOCwweDg5LDB4NDQsMHgwMiwweDhCLDB4NUMsCi0weDAyLDB4RkYsMHg3NywweDA2LDB4NkEsMHgwMSwweDU2LDB4RTgsMHg2QSwweEZDLDB4ODMsMHhDNCwweDA2LDB4NkEsMHgwMSwweDU2LAotMHhFOCwweEIxLDB4RkEsMHg1OSwweDU5LDB4OEIsMHhEOCwweDgzLDB4RkIsMHgwMywweDc2LDB4MDMsMHhFOSwweDFGLDB4MDIsMHhEMSwKLTB4RTMsMHgyRSwweEZGLDB4QTcsMHhEMSwweDZBLDB4OEIsMHg1QywweDAyLDB4OEIsMHg0NywweDA0LDB4ODksMHg0NCwweDAyLDB4OEIsCi0weDVDLDB4MDIsMHg4MCwweDNGLDB4NDQsMHg3NSwweDBELDB4OEIsMHg1QywweDAyLDB4OEEsMHg0NywweDAxLDB4QjQsMHgwMCwweDNCLAotMHg0NCwweDA0LDB4N0QsMHhFMiwweDhCLDB4NDYsMHgwNCwweEQxLDB4RTAsMHg4QiwweDFDLDB4MDMsMHhEOCwweDhCLDB4NDQsMHgwMiwKLTB4ODksMHg0NywweDA4LDB4OEIsMHg1QywweDA2LDB4NEIsMHhEMSwweEUzLDB4OEIsMHg0NCwweDAyLDB4ODksMHg0MCwweDA4LDB4RTksCi0weERFLDB4MDEsMHg4QiwweDVDLDB4MDIsMHg4QiwweDQ3LDB4MDIsMHg4OSwweDQ0LDB4MDIsMHg4QiwweDVDLDB4MDIsMHg4MCwweDNGLAotMHg0NCwweDc1LDB4MEQsMHg4QiwweDVDLDB4MDIsMHg4QSwweDQ3LDB4MDEsMHhCNCwweDAwLDB4M0IsMHg0NCwweDA0LDB4N0QsMHhFMiwKLTB4OEIsMHg0NiwweDA0LDB4RDEsMHhFMCwweDhCLDB4MUMsMHgwMywweEQ4LDB4OEIsMHg0NCwweDAyLDB4ODksMHg0NywweDA4LDB4OEIsCi0weDVDLDB4MDYsMHg0QiwweEQxLDB4RTMsMHg4QiwweDQ0LDB4MDIsMHg4OSwweDQwLDB4MDgsMHhFOSwweEEyLDB4MDEsMHhCRiwweDAxLAotMHgwMCwweEU5LDB4OUMsMHgwMSwweDhCLDB4NUMsMHgwMiwweDhBLDB4MDcsMHhCNCwweDAwLDB4ODksMHg0NiwweEY4LDB4QjksMHgwQywKLTB4MDAsMHhCQiwweEExLDB4NkEsMHgyRSwweDhCLDB4MDcsMHgzQiwweDQ2LDB4RjgsMHg3NCwweDA3LDB4NDMsMHg0MywweEUyLDB4RjQsCi0weEU5LDB4NzcsMHgwMSwweDJFLDB4RkYsMHg2NywweDE4LDB4OEIsMHg0NiwweDA0LDB4RDEsMHhFMCwweDhCLDB4NUMsMHgwMiwweDAzLAotMHhEOCwweDhCLDB4NDcsMHgwOCwweDhCLDB4NUMsMHgwNiwweEZGLDB4NDQsMHgwNiwweEQxLDB4RTMsMHg4OSwweDQwLDB4MDgsMHg4QiwKLTB4MUMsMHg4MCwweDdGLDB4MDEsMHgwMCwweDc0LDB4MTIsMHg4QiwweDVDLDB4MDIsMHg4QSwweDQ3LDB4MDEsMHg4QiwweDFDLDB4OEEsCi0weDU3LDB4MDEsMHhCNiwweDAwLDB4OEIsMHhEQSwweDg4LDB4NDAsMHgxOCwweEU5LDB4NDAsMHgwMSwweEZGLDB4NEMsMHgwNiwweEU5LAotMHgzQSwweDAxLDB4OEIsMHg1QywweDAyLDB4OEEsMHg0NywweDAxLDB4OEIsMHgxQywweDhBLDB4NTcsMHgwMSwweEI2LDB4MDAsMHg4QiwKLTB4REEsMHg4OCwweDQwLDB4MTgsMHhFOSwweDI1LDB4MDEsMHg4QiwweDVDLDB4MDIsMHg4QSwweDQ3LDB4MDEsMHg4QiwweDFDLDB4OEEsCi0weDU3LDB4MDEsMHhCNiwweDAwLDB4OEIsMHhEQSwweDg4LDB4NDAsMHgxOCwweEZGLDB4NEMsMHgwNiwweEU5LDB4MEQsMHgwMSwweDhCLAotMHg1QywweDAyLDB4OEEsMHg0NywweDAxLDB4OEIsMHgxQywweDhBLDB4NTcsMHgwMSwweEI2LDB4MDAsMHg4QiwweERBLDB4MzAsMHg0MCwKLTB4MTgsMHhFOSwweEY4LDB4MDAsMHhCOCwweEYwLDB4MTAsMHg4QiwweEY4LDB4ODksMHg0NCwweDU0LDB4OEEsMHg0NCwweDVGLDB4ODgsCi0weDQ0LDB4NUQsMHhFOSwweEU3LDB4MDAsMHg4QSwweDQ0LDB4MUMsMHg5OCwweDNELDB4MDIsMHgwMCwweDc0LDB4MDcsMHgzRCwweDAzLAotMHgwMCwweDc0LDB4MDIsMHhFQiwweDA3LDB4QzcsMHg0NiwweEZFLDB4MDAsMHgwMCwweEVCLDB4MkIsMHg4QSwweDQ0LDB4MUMsMHg5OCwKLTB4RDEsMHhFMCwweDhCLDB4RDgsMHhGRiwweEI3LDB4NjksMHgwMiwweDU2LDB4RTgsMHg2QiwweDA2LDB4NTksMHg1OSwweDZBLDB4MDEsCi0weDU2LDB4RTgsMHg0MCwweEY5LDB4NTksMHg1OSwweDg5LDB4NDYsMHhGRSwweDgzLDB4N0UsMHhGRSwweDAwLDB4NzQsMHgwNiwweDgzLAotMHg3RSwweEZFLDB4MDMsMHg3NSwweEU5LDB4RUIsMHgwMCwweDgzLDB4N0UsMHhGRSwweDAzLDB4NzQsMHg2MiwweDhBLDB4NDQsMHgxQywKLTB4OTgsMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHg2RCwweDAyLDB4NTYsMHhFOCwweDNBLDB4MDYsMHg1OSwweDU5LDB4NTYsCi0weEU4LDB4NEQsMHg5NywweDU5LDB4ODksMHg0NiwweEZDLDB4OEIsMHg1RSwweEZDLDB4ODMsMHhFQiwweEZFLDB4ODMsMHhGQiwweDAzLAotMHg3NywweDMzLDB4RDEsMHhFMywweDJFLDB4RkYsMHhBNywweDk5LDB4NkEsMHg2OCwweEFDLDB4MDIsMHg1NiwweEU4LDB4MTcsMHgwNiwKLTB4NTksMHg1OSwweEVCLDB4MjMsMHg2OCwweDhGLDB4MDIsMHg1NiwweEU4LDB4MEMsMHgwNiwweDU5LDB4NTksMHhFQiwweDE4LDB4NjgsCi0weDc1LDB4MDIsMHg1NiwweEU4LDB4MDEsMHgwNiwweDU5LDB4NTksMHhFQiwweDBELDB4NjgsMHhDNiwweDAyLDB4NTYsMHhFOCwweEY2LAotMHgwNSwweDU5LDB4NTksMHhFQiwweDAyLDB4RUIsMHgwMCwweDZBLDB4MDEsMHg1NiwweEU4LDB4QzcsMHhGOCwweDU5LDB4NTksMHhCRiwKLTB4MDEsMHgwMCwweEVCLDB4MzgsMHg2OCwweERELDB4MDIsMHg1NiwweEU4LDB4REMsMHgwNSwweDU5LDB4NTksMHg2QSwweDAxLDB4NTYsCi0weEU4LDB4QjEsMHhGOCwweDU5LDB4NTksMHhCRiwweDAxLDB4MDAsMHhFQiwweDIyLDB4QjgsMHhEMCwweDMwLDB4OEIsMHhGOCwweDg5LAotMHg0NCwweDU0LDB4OEEsMHg0NCwweDYwLDB4ODgsMHg0NCwweDVELDB4RUIsMHgxMiwweEI4LDB4RTAsMHgyMCwweDhCLDB4RjgsMHg4OSwKLTB4NDQsMHg1NCwweDhBLDB4NDQsMHg1RSwweDg4LDB4NDQsMHg1RCwweEVCLDB4MDIsMHhFQiwweDAwLDB4RUIsMHgwMiwweEVCLDB4MDAsCi0weEVCLDB4MDAsMHhFOSwweDQxLDB4RkMsMHg1RiwweDVFLDB4QzksMHhDMywweDE5LDB4NkEsMHgyNCwweDZBLDB4MkYsMHg2QSwweDNBLAotMHg2QSwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHg0MSwweDAwLDB4NDIsMHgwMCwweDQzLDB4MDAsMHg0NCwKLTB4MDAsMHg4MCwweDAwLDB4ODEsMHgwMCwweDgyLDB4MDAsMHhGRiwweDAwLDB4MTcsMHg2OSwweDU0LDB4NkEsMHg3QSwweDZBLDB4QTUsCi0weDY5LDB4NTIsMHg2OSwweDk0LDB4NjksMHg2QSwweDZBLDB4NjcsMHg2OSwweDUyLDB4NjksMHg3RiwweDY5LDB4NjcsMHg2OSwweDRDLAotMHg2OSwweEY0LDB4NjgsMHg3NiwweDY4LDB4QjIsMHg2OCwweEVFLDB4NjgsMHhGNSwweDY3LDB4MDAsMHg2OCwweDEyLDB4NjgsMHhGNSwKLTB4NjcsMHg5RCwweDY3LDB4QTgsMHg2NywweEI0LDB4NjcsMHg5RCwweDY3LDB4MDAsMHgwMCwweDAxLDB4MDAsMHhGMCwweDEwLDB4RTAsCi0weDIwLDB4RDAsMHgzMCwweDI3LDB4NjgsMHhGMiwweDY2LDB4QzMsMHg2NywweDIzLDB4NjcsMHgxMiwweDY3LDB4QzgsMHgwNCwweDAwLAotMHgwMCwweDU2LDB4NTcsMHg4QiwweDc2LDB4MDQsMHg4QSwweDQ0LDB4NTksMHg5OCwweDg5LDB4NDYsMHhGQywweDZBLDB4MDksMHg4QiwKLTB4NDYsMHhGQywweDA1LDB4ODQsMHgwMSwweDUwLDB4RTgsMHg5MywweDA4LDB4NTksMHg1OSwweDhCLDB4RjgsMHg4QiwweEM3LDB4MjUsCi0weDAwLDB4RjAsMHgzRCwweDAwLDB4MTAsMHg3NSwweDU1LDB4OEIsMHhDNywweDI1LDB4RjAsMHgwMCwweDNELDB4RjAsMHgwMCwweDc1LAotMHg0QiwweDhCLDB4QzcsMHgyNSwweDAwLDB4MEYsMHhDMSwweEY4LDB4MDgsMHg4OSwweDQ2LDB4RkUsMHg4QiwweDQ0LDB4MDQsMHgzQiwKLTB4NDYsMHhGRSwweDdELDB4MDUsMHgzMywweEMwLDB4RTksMHhFRiwweDAwLDB4OEIsMHhDNywweDI1LDB4MEYsMHgwMCwweEJBLDB4MEYsCi0weDAwLDB4MkIsMHhEMCwweDNCLDB4NTYsMHhGRSwweDc0LDB4MDUsMHgzMywweEMwLDB4RTksMHhEQiwweDAwLDB4QzcsMHg0NCwweDAyLAotMHgwNCwweDA5LDB4OEEsMHg0NiwweEZFLDB4ODgsMHg0NCwweDVGLDB4ODgsMHg0NCwweDVELDB4OEIsMHg1RSwweEZDLDB4RDEsMHhFMywKLTB4QzcsMHg4NywweEZDLDB4MDgsMHgwNCwweDA5LDB4QjgsMHhGMCwweDEwLDB4RTksMHhCQywweDAwLDB4OEIsMHhDNywweDI1LDB4MDAsCi0weEYwLDB4M0QsMHgwMCwweDIwLDB4NzUsMHg1MiwweDhCLDB4QzcsMHgyNSwweEYwLDB4MDAsMHgzRCwweEUwLDB4MDAsMHg3NSwweDQ4LAotMHg4QiwweEM3LDB4MjUsMHgwMCwweDBGLDB4QzEsMHhGOCwweDA4LDB4ODksMHg0NiwweEZFLDB4ODMsMHg3RSwweEZFLDB4MDgsMHg3RSwKLTB4MDUsMHgzMywweEMwLDB4RTksMHg5MiwweDAwLDB4OEIsMHhDNywweDI1LDB4MEYsMHgwMCwweEJBLDB4MEYsMHgwMCwweDJCLDB4RDAsCi0weDNCLDB4NTYsMHhGRSwweDc0LDB4MDUsMHgzMywweEMwLDB4RUIsMHg3RiwweDkwLDB4QzcsMHg0NCwweDAyLDB4MEMsMHgwOSwweDhBLAotMHg0NiwweEZFLDB4ODgsMHg0NCwweDVFLDB4ODgsMHg0NCwweDVELDB4OEIsMHg1RSwweEZDLDB4RDEsMHhFMywweEM3LDB4ODcsMHhGQywKLTB4MDgsMHgwQywweDA5LDB4QjgsMHhFMCwweDIwLDB4RUIsMHg2MCwweDhCLDB4QzcsMHgyNSwweDAwLDB4RjAsMHgzRCwweDAwLDB4MzAsCi0weDc1LDB4NTIsMHg4QiwweEM3LDB4MjUsMHhGMCwweDAwLDB4M0QsMHhEMCwweDAwLDB4NzUsMHg0OCwweDhCLDB4QzcsMHgyNSwweDAwLAotMHgwRiwweEMxLDB4RjgsMHgwOCwweDg5LDB4NDYsMHhGRSwweDhCLDB4NDQsMHgwNCwweDNCLDB4NDYsMHhGRSwweDdELDB4MDQsMHgzMywKLTB4QzAsMHhFQiwweDM1LDB4OEIsMHhDNywweDI1LDB4MEYsMHgwMCwweEJBLDB4MEYsMHgwMCwweDJCLDB4RDAsMHgzQiwweDU2LDB4RkUsCi0weDc0LDB4MDQsMHgzMywweEMwLDB4RUIsMHgyMiwweEM3LDB4NDQsMHgwMiwweDE0LDB4MDksMHg4QSwweDQ2LDB4RkUsMHg4OCwweDQ0LAotMHg2MCwweDg4LDB4NDQsMHg1RCwweDhCLDB4NUUsMHhGQywweEQxLDB4RTMsMHhDNywweDg3LDB4RkMsMHgwOCwweDE0LDB4MDksMHhCOCwKLTB4RDAsMHgzMCwweEVCLDB4MDQsMHgzMywweEMwLDB4RUIsMHgwMCwweDVGLDB4NUUsMHhDOSwweEMzLDB4QzgsMHgwNiwweDAwLDB4MDAsCi0weDU2LDB4OEIsMHg3NiwweDA0LDB4NkEsMHgwOCwweDU2LDB4RTgsMHgzNSwweDA0LDB4NTksMHg1OSwweDhBLDB4NDQsMHg1OCwweDA0LAotMHg4MCwweDUwLDB4NTYsMHhFOCwweDI5LDB4MDQsMHg1OSwweDU5LDB4OEIsMHg0NCwweDU0LDB4M0IsMHg0NCwweDU2LDB4NzUsMHgwQSwKLTB4OEEsMHg0NCwweDVELDB4M0EsMHg0NCwweDJGLDB4NzUsMHgwMiwweEVCLDB4NjQsMHg4QiwweDQ0LDB4NTQsMHg4OSwweDQ0LDB4NTYsCi0weDhCLDB4NUMsMHgwMiwweDhBLDB4NDcsMHgwMSwweDg4LDB4NDQsMHgyRiwweDhBLDB4NDQsMHg1RCwweEI0LDB4MDAsMHhDMSwweEUwLAotMHgwOCwweDhCLDB4NTQsMHg1NCwweDBCLDB4RDAsMHg4QSwweDQ0LDB4NUQsMHhCNCwweDAwLDB4QkIsMHgwRiwweDAwLDB4MkIsMHhEOCwKLTB4MEIsMHhEMywweDg5LDB4NTYsMHhGRSwweDZBLDB4MTAsMHg4QSwweDQ0LDB4NTksMHg5OCwweDA1LDB4MDQsMHgwMCwweDk5LDB4MDUsCi0weDQwLDB4MDEsMHg4MywweEQyLDB4MDAsMHg1MiwweDUwLDB4RTgsMHg1NCwweDA4LDB4ODMsMHhDNCwweDA2LDB4ODksMHg1NiwweEZDLAotMHg4OSwweDQ2LDB4RkEsMHg4QiwweDQ2LDB4RkUsMHgwOSwweDQ2LDB4RkEsMHg4MywweDRFLDB4RkMsMHgwMCwweDZBLDB4MTksMHhGRiwKLTB4NzYsMHhGQywweEZGLDB4NzYsMHhGQSwweEU4LDB4NzMsMHgwNywweDgzLDB4QzQsMHgwNiwweEU4LDB4RkUsMHgwNywweDVFLDB4QzksCi0weEMzLDB4QzgsMHgxQywweDAwLDB4MDAsMHg1NiwweDU3LDB4OEIsMHg1RSwweDA0LDB4OEEsMHg0NywweDU5LDB4OTgsMHg4QiwweEYwLAotMHg4QiwweDVFLDB4MDQsMHg4QSwweDQ3LDB4NUQsMHhCNCwweDAwLDB4ODksMHg0NiwweEU2LDB4ODMsMHg3RSwweEU2LDB4MDAsMHg3RCwKLTB4MEEsMHg4QiwweDVFLDB4MDQsMHg4QiwweDQ3LDB4MDQsMHg0OCwweDg5LDB4NDYsMHhFNiwweDhCLDB4NUUsMHgwNCwweDhCLDB4NDcsCi0weDA0LDB4M0IsMHg0NiwweEU2LDB4N0YsMHgwNSwweEM3LDB4NDYsMHhFNiwweDAwLDB4MDAsMHg4QiwweDVFLDB4MDQsMHg4QSwweDQ2LAotMHhFNiwweDg4LDB4NDcsMHg1RCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHhDNiwweDQ3LDB4MDIsMHgyMCwKLTB4OEIsMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NTksMHgwMiwweEM2LDB4NDcsMHgwMywweDMwLDB4OEIsMHhERSwweEQxLDB4RTMsCi0weDhCLDB4OUYsMHg2MSwweDAyLDB4QzYsMHg0NywweDAyLDB4MjAsMHg4QiwweERFLDB4RDEsMHhFMywweDhCLDB4OUYsMHg2MSwweDAyLAotMHhDNiwweDQ3LDB4MDMsMHgzMCwweDhCLDB4NDYsMHhFNiwweDg5LDB4NDYsMHhGQSwweDgzLDB4N0UsMHhGQSwweDAwLDB4NzQsMHgxOCwKLTB4OEIsMHg0NiwweEZBLDB4QkIsMHgwQSwweDAwLDB4MzMsMHhEMiwweEY3LDB4RjMsMHg4MCwweEMyLDB4MzAsMHg4QiwweERFLDB4RDEsCi0weEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHg4OCwweDU3LDB4MDMsMHhCQiwweDBBLDB4MDAsMHg4QiwweDQ2LDB4RkEsMHgzMywweEQyLAotMHhGNywweEYzLDB4ODksMHg0NiwweEZBLDB4ODMsMHg3RSwweEZBLDB4MDAsMHg3NCwweDE4LDB4OEIsMHg0NiwweEZBLDB4QkIsMHgwQSwKLTB4MDAsMHgzMywweEQyLDB4RjcsMHhGMywweDgwLDB4QzIsMHgzMCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsCi0weDg4LDB4NTcsMHgwMiwweDhCLDB4NDYsMHhFNiwweDg5LDB4NDYsMHhGQSwweDgzLDB4N0UsMHhGQSwweDAwLDB4NzQsMHgxOCwweDhCLAotMHg0NiwweEZBLDB4QkIsMHgwQSwweDAwLDB4MzMsMHhEMiwweEY3LDB4RjMsMHg4MCwweEMyLDB4MzAsMHg4QiwweERFLDB4RDEsMHhFMywKLTB4OEIsMHg5RiwweDYxLDB4MDIsMHg4OCwweDU3LDB4MDMsMHhCQiwweDBBLDB4MDAsMHg4QiwweDQ2LDB4RkEsMHgzMywweEQyLDB4RjcsCi0weEYzLDB4ODksMHg0NiwweEZBLDB4ODMsMHg3RSwweEZBLDB4MDAsMHg3NCwweDE4LDB4OEIsMHg0NiwweEZBLDB4QkIsMHgwQSwweDAwLAotMHgzMywweEQyLDB4RjcsMHhGMywweDgwLDB4QzIsMHgzMCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDYxLDB4MDIsMHg4OCwKLTB4NTcsMHgwMiwweDhCLDB4NUUsMHhFNiwweEQxLDB4RTMsMHhGRiwweEI3LDB4MTIsMHgwMiwweDZBLDB4MDAsMHhGRiwweDc2LDB4MDQsCi0weEU4LDB4RDEsMHhGNiwweDgzLDB4QzQsMHgwNiwweDY4LDB4RDMsMHgwRiwweDZBLDB4MDEsMHhGRiwweDc2LDB4MDQsMHhFOCwweEMzLAotMHhGNiwweDgzLDB4QzQsMHgwNiwweEZGLDB4NzYsMHhFNiwweDU2LDB4RTgsMHgwMSwweDkzLDB4NTksMHg1OSwweDg5LDB4NTYsMHhGMiwKLTB4ODksMHg0NiwweEYwLDB4RkYsMHg3NiwweEU2LDB4NTYsMHhFOCwweDE0LDB4OTMsMHg1OSwweDU5LDB4ODksMHg1NiwweEVFLDB4ODksCi0weDQ2LDB4RUMsMHg5QywweEZBLDB4QzQsMHg1RSwweEYwLDB4MjYsMHg4QiwweDA3LDB4ODksMHg0NiwweEVBLDB4QzQsMHg1RSwweEVDLAotMHgyNiwweDhCLDB4MDcsMHg4OSwweDQ2LDB4RTgsMHhCQSwweDUwLDB4RkYsMHhFRCwweDg5LDB4NDYsMHhGRSwweDlELDB4QzcsMHg0NiwKLTB4RTQsMHgwMSwweDAwLDB4RTgsMHhFRSwweEEwLDB4QkEsMHg1MCwweEZGLDB4RUQsMHg4OSwweDQ2LDB4RkMsMHg4QiwweDQ2LDB4RkMsCi0weDJCLDB4NDYsMHhGRSwweDNELDB4RTgsMHgwMywweDczLDB4MDMsMHhFOSwweDgwLDB4MDEsMHg5QywweEZBLDB4QkEsMHg1MCwweEZGLAotMHhFRCwweDg5LDB4NDYsMHhGQywweDhCLDB4NDYsMHhGQywweDJCLDB4NDYsMHhGRSwweDg5LDB4NDYsMHhGOCwweEM0LDB4NUUsMHhGMCwKLTB4MjYsMHg4QiwweDA3LDB4MkIsMHg0NiwweEVBLDB4ODksMHg0NiwweEY2LDB4QzQsMHg1RSwweEYwLDB4MjYsMHg4QiwweDA3LDB4ODksCi0weDQ2LDB4RUEsMHhDNCwweDVFLDB4RUMsMHgyNiwweDhCLDB4MDcsMHgyQiwweDQ2LDB4RTgsMHg4OSwweDQ2LDB4RjQsMHhDNCwweDVFLAotMHhFQywweDI2LDB4OEIsMHgwNywweDg5LDB4NDYsMHhFOCwweEJBLDB4NTAsMHhGRiwweEVELDB4ODksMHg0NiwweEZFLDB4OUQsMHg4MSwKLTB4N0UsMHhGOCwweEU4LDB4MDMsMHg3NiwweDFDLDB4RkYsMHg3NiwweEY4LDB4RkYsMHg3NiwweEY2LDB4RTgsMHg3NiwweDAxLDB4NTksCi0weDU5LDB4ODksMHg0NiwweEY2LDB4RkYsMHg3NiwweEY4LDB4RkYsMHg3NiwweEY0LDB4RTgsMHg2OCwweDAxLDB4NTksMHg1OSwweDg5LAotMHg0NiwweEY0LDB4QkYsMHgwRSwweDAwLDB4RUIsMHgxNywweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHhDNiwKLTB4MDEsMHgyMCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDYxLDB4MDIsMHhDNiwweDAxLDB4MjAsMHg0NywweDgzLDB4RkYsCi0weDExLDB4NzYsMHhFNCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHhDNiwweDQ3LDB4MEQsMHgzMCwweDhCLAotMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NjEsMHgwMiwweEM2LDB4NDcsMHgwRCwweDMwLDB4ODMsMHg3RSwweEY2LDB4MDksMHg3NywKLTB4MDUsMHhCOCwweDBELDB4MDAsMHhFQiwweDI2LDB4ODMsMHg3RSwweEY2LDB4NjMsMHg3NywweDA1LDB4QjgsMHgwRSwweDAwLDB4RUIsCi0weDFCLDB4ODEsMHg3RSwweEY2LDB4RTcsMHgwMywweDc3LDB4MDUsMHhCOCwweDBGLDB4MDAsMHhFQiwweDBGLDB4ODEsMHg3RSwweEY2LAotMHgwRiwweDI3LDB4NzcsMHgwNSwweEI4LDB4MTAsMHgwMCwweEVCLDB4MDMsMHhCOCwweDExLDB4MDAsMHg4QiwweEY4LDB4RUIsMHgyNSwKLTB4OEIsMHg0NiwweEY2LDB4QkIsMHgwQSwweDAwLDB4MzMsMHhEMiwweEY3LDB4RjMsMHg4MCwweEMyLDB4MzAsMHg4QiwweERFLDB4RDEsCi0weEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHg4OCwweDExLDB4NEYsMHhCQiwweDBBLDB4MDAsMHg4QiwweDQ2LDB4RjYsMHgzMywweEQyLAotMHhGNywweEYzLDB4ODksMHg0NiwweEY2LDB4ODMsMHg3RSwweEY2LDB4MDAsMHg3NSwweEQ1LDB4ODMsMHg3RSwweEY0LDB4MDksMHg3NywKLTB4MDUsMHhCOCwweDBELDB4MDAsMHhFQiwweDI2LDB4ODMsMHg3RSwweEY0LDB4NjMsMHg3NywweDA1LDB4QjgsMHgwRSwweDAwLDB4RUIsCi0weDFCLDB4ODEsMHg3RSwweEY0LDB4RTcsMHgwMywweDc3LDB4MDUsMHhCOCwweDBGLDB4MDAsMHhFQiwweDBGLDB4ODEsMHg3RSwweEY0LAotMHgwRiwweDI3LDB4NzcsMHgwNSwweEI4LDB4MTAsMHgwMCwweEVCLDB4MDMsMHhCOCwweDExLDB4MDAsMHg4QiwweEY4LDB4RUIsMHgyNSwKLTB4OEIsMHg0NiwweEY0LDB4QkIsMHgwQSwweDAwLDB4MzMsMHhEMiwweEY3LDB4RjMsMHg4MCwweEMyLDB4MzAsMHg4QiwweERFLDB4RDEsCi0weEUzLDB4OEIsMHg5RiwweDYxLDB4MDIsMHg4OCwweDExLDB4NEYsMHhCQiwweDBBLDB4MDAsMHg4QiwweDQ2LDB4RjQsMHgzMywweEQyLAotMHhGNywweEYzLDB4ODksMHg0NiwweEY0LDB4ODMsMHg3RSwweEY0LDB4MDAsMHg3NSwweEQ1LDB4OEIsMHhERSwweEQxLDB4RTMsMHhGRiwKLTB4QjcsMHg1OSwweDAyLDB4RkYsMHg3NiwweDA0LDB4RTgsMHg2RSwweDAwLDB4NTksMHg1OSwweDhCLDB4REUsMHhEMSwweEUzLDB4RkYsCi0weEI3LDB4NjEsMHgwMiwweEZGLDB4NzYsMHgwNCwweEU4LDB4NUUsMHgwMCwweDU5LDB4NTksMHg2QSwweDAwLDB4RkYsMHg3NiwweDA0LAotMHhFOCwweDMxLDB4RjMsMHg1OSwweDU5LDB4OEIsMHhEOCwweDgzLDB4RkIsMHgwNCwweDc3LDB4MUYsMHhEMSwweEUzLDB4MkUsMHhGRiwKLTB4QTcsMHgxQiwweDcwLDB4RUIsMHgyMiwweEM3LDB4NDYsMHhFNCwweDAwLDB4MDAsMHhGRiwweDRFLDB4RTYsMHhFQiwweDBDLDB4QzcsCi0weDQ2LDB4RTQsMHgwMCwweDAwLDB4RkYsMHg0NiwweEU2LDB4RUIsMHgwMiwweEVCLDB4MDAsMHg4MywweDdFLDB4RTQsMHgwMCwweDc0LAotMHgwMywweEU5LDB4MkEsMHhGRSwweEU5LDB4RDQsMHhGQywweDVGLDB4NUUsMHhDOSwweEMzLDB4RjMsMHg2RiwweEY1LDB4NkYsMHhGRiwKLTB4NkYsMHhGMywweDZGLDB4MDksMHg3MCwweDU1LDB4OEIsMHhFQywweDhCLDB4NDYsMHgwNCwweEI5LDB4RTgsMHgwMywweEY3LDB4RTEsCi0weDhCLDB4NEUsMHgwNiwweEY3LDB4RjEsMHg1RCwweEMzLDB4NTUsMHg4QiwweEVDLDB4NTYsMHg4QiwweDc2LDB4MDYsMHhFQiwweDBFLAotMHg4QiwweERFLDB4NDYsMHg4QSwweDA3LDB4NTAsMHhGRiwweDc2LDB4MDQsMHhFOCwweDMzLDB4MDAsMHg1OSwweDU5LDB4ODAsMHgzQywKLTB4MDAsMHg3NSwweEVELDB4RUIsMHgwMCwweDVFLDB4NUQsMHhDMywweDU1LDB4OEIsMHhFQywweDU2LDB4OEIsMHg3NiwweDA2LDB4RUIsCi0weDE0LDB4OEIsMHhERSwweDQ2LDB4OEEsMHgwNywweDUwLDB4RkYsMHg3NiwweDA0LDB4RTgsMHg0NSwweDAwLDB4NTksMHg1OSwweDBCLAotMHhDMCwweDc0LDB4MDIsMHhFQiwweDA3LDB4ODAsMHgzQywweDAwLDB4NzUsMHhFNywweEVCLDB4MDAsMHg1RSwweDVELDB4QzMsMHhDOCwKLTB4MDIsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LDB4MDQsMHg4QSwweDQ0LDB4NUEsMHg5OCwweDg5LDB4NDYsMHhGRSwweDlDLDB4RkEsCi0weDhBLDB4NDYsMHhGRSwweEJBLDB4RkUsMHgwMCwweEVFLDB4QkEsMHgwMiwweDAwLDB4RUMsMHhBOCwweDAyLDB4NzQsMHgwNiwweDlELAotMHhFOCwweDkxLDB4OUUsMHhFQiwweEU5LDB4QkEsMHgwMCwweDAwLDB4OEEsMHg0NiwweDA2LDB4RUUsMHg5RCwweEVCLDB4MDAsMHg1RSwKLTB4QzksMHhDMywweEM4LDB4MDQsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LDB4MDQsMHg4QSwweDQ0LDB4NUEsMHg5OCwweDg5LDB4NDYsCi0weEZFLDB4RTgsMHhFNiwweEExLDB4ODksMHg0NiwweEZDLDB4RTgsMHhFMCwweEExLDB4MkIsMHg0NiwweEZDLDB4M0QsMHhCOCwweDBCLAotMHg3NiwweDA1LDB4QjgsMHgwMSwweDAwLDB4RUIsMHgyMywweDlDLDB4RkEsMHg4QSwweDQ2LDB4RkUsMHhCQSwweEZFLDB4MDAsMHhFRSwKLTB4QkEsMHgwMiwweDAwLDB4RUMsMHhBOCwweDAyLDB4NzQsMHgwNiwweDlELDB4RTgsMHg0OCwweDlFLDB4RUIsMHhEOSwweEJBLDB4MDAsCi0weDAwLDB4OEEsMHg0NiwweDA2LDB4RUUsMHg5RCwweDMzLDB4QzAsMHhFQiwweDAwLDB4NUUsMHhDOSwweEMzLDB4QzgsMHgwNCwweDAwLAotMHgwMCwweDU2LDB4NTcsMHg4QiwweDc2LDB4MDQsMHg4MywweDdFLDB4MDYsMHgwMCwweDc0LDB4MDcsMHg1NiwweEU4LDB4MDMsMHgwMSwKLTB4NTksMHhFQiwweDA1LDB4NTYsMHhFOCwweEEyLDB4MDAsMHg1OSwweDg4LDB4NDYsMHhGRiwweDgwLDB4N0UsMHhGRiwweDA4LDB4NzcsCi0weDA2LDB4OEEsMHg0NiwweEZGLDB4RTksMHg4NCwweDAwLDB4ODAsMHg3RSwweEZGLDB4MEYsMHg3NiwweDAzLDB4RUIsMHg3OSwweDkwLAotMHg4QSwweDQ2LDB4RkYsMHhCNCwweDAwLDB4MkQsMHgwQSwweDAwLDB4OEIsMHhEOCwweDgzLDB4RkIsMHgwNCwweDc3LDB4NjcsMHhEMSwKLTB4RTMsMHgyRSwweEZGLDB4QTcsMHhBRiwweDcxLDB4QjAsMHgwMCwweEVCLDB4NjEsMHg1NiwweEU4LDB4NkIsMHgwMCwweDU5LDB4QjQsCi0weDAwLDB4MjUsMHgwRiwweDAwLDB4ODksMHg0NiwweEZDLDB4NTYsMHhFOCwweDVFLDB4MDAsMHg1OSwweEI0LDB4MDAsMHg4QiwweEY4LAotMHg1NiwweEU4LDB4NTUsMHgwMCwweDU5LDB4QjQsMHgwMCwweEMxLDB4RTAsMHgwOCwweDhCLDB4RDcsMHgwMywweEQwLDB4OEIsMHhGQSwKLTB4OEIsMHg1RSwweEZDLDB4RDEsMHhFMywweDg5LDB4NzgsMHgzMCwweEVCLDB4MkUsMHg1NiwweEU4LDB4M0IsMHgwMCwweDU5LDB4ODgsCi0weDQ0LDB4NUIsMHhFQiwweDI0LDB4NTYsMHhFOCwweDMxLDB4MDAsMHg1OSwweDg4LDB4NDQsMHg1MCwweDU2LDB4RTgsMHgyOSwweDAwLAotMHg1OSwweDg4LDB4NDQsMHg1MSwweDU2LDB4RTgsMHgyMSwweDAwLDB4NTksMHg4OCwweDQ0LDB4NTIsMHg1NiwweEU4LDB4MTksMHgwMCwKLTB4NTksMHg4OCwweDQ0LDB4NTMsMHhFQiwweDAyLDB4RUIsMHgwMCwweEU5LDB4NUIsMHhGRiwweDVGLDB4NUUsMHhDOSwweEMzLDB4NDYsCi0weDcxLDB4QTYsMHg3MSwweDRBLDB4NzEsMHg3QSwweDcxLDB4ODQsMHg3MSwweEM4LDB4MDQsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LAotMHgwNCwweDhBLDB4NDQsMHg1QSwweDk4LDB4ODksMHg0NiwweEZFLDB4OUMsMHhGQSwweDhBLDB4NDYsMHhGRSwweEJBLDB4RkUsMHgwMCwKLTB4RUUsMHhCQSwweDAyLDB4MDAsMHhFQywweEE4LDB4MDEsMHg3NSwweDA2LDB4OUQsMHhFOCwweDU3LDB4OUQsMHhFQiwweEU5LDB4QkEsCi0weDAwLDB4MDAsMHhFQywweDg4LDB4NDYsMHhGRCwweDlELDB4OEEsMHg0NiwweEZELDB4RUIsMHgwMCwweDVFLDB4QzksMHhDMywweEM4LAotMHgwMiwweDAwLDB4MDAsMHg1NiwweDhCLDB4NzYsMHgwNCwweDhBLDB4NDQsMHg1QSwweDk4LDB4ODksMHg0NiwweEZFLDB4OUMsMHhGQSwKLTB4OEEsMHg0NiwweEZFLDB4QkEsMHhGRSwweDAwLDB4RUUsMHhCQSwweDAyLDB4MDAsMHhFQywweDMyLDB4RTQsMHgyNCwweDAxLDB4OUQsCi0weDVFLDB4QzksMHhDMywweEM4LDB4MDYsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LDB4MDQsMHg4QSwweDQ0LDB4NUEsMHg5OCwweDg5LAotMHg0NiwweEZFLDB4RTgsMHg4NSwweEEwLDB4ODksMHg0NiwweEZBLDB4RTgsMHg3RiwweEEwLDB4MkIsMHg0NiwweEZBLDB4M0QsMHhCOCwKLTB4MEIsMHg3NiwweDA0LDB4QjAsMHgwOCwweEVCLDB4MjQsMHg5QywweEZBLDB4OEEsMHg0NiwweEZFLDB4QkEsMHhGRSwweDAwLDB4RUUsCi0weEJBLDB4MDIsMHgwMCwweEVDLDB4QTgsMHgwMSwweDc1LDB4MDYsMHg5RCwweEU4LDB4RTgsMHg5QywweEVCLDB4REEsMHhCQSwweDAwLAotMHgwMCwweEVDLDB4ODgsMHg0NiwweEZELDB4OUQsMHg4QSwweDQ2LDB4RkQsMHhFQiwweDAwLDB4NUUsMHhDOSwweEMzLDB4NTUsMHg4QiwKLTB4RUMsMHg1NiwweDhCLDB4NTYsMHgwNCwweDhBLDB4NDYsMHgwNiwweEVFLDB4MzMsMHhGNiwweEVCLDB4MDMsMHg1MCwweDU4LDB4NDYsCi0weDgzLDB4RkUsMHgxNCwweDdDLDB4RjgsMHg1RSwweDVELDB4QzMsMHhDOCwweDAyLDB4MDAsMHgwMCwweDU2LDB4OEIsMHg1NiwweDA0LAotMHhFQywweDg4LDB4NDYsMHhGRiwweDMzLDB4RjYsMHhFQiwweDAzLDB4NTAsMHg1OCwweDQ2LDB4ODMsMHhGRSwweDE0LDB4N0MsMHhGOCwKLTB4OEEsMHg0NiwweEZGLDB4RUIsMHgwMCwweDVFLDB4QzksMHhDMywweEM4LDB4MDIsMHgwMCwweDAwLDB4NTYsMHg1NywweDhCLDB4NzYsCi0weDA0LDB4ODMsMHgzRSwweEIwLDB4MEIsMHgwMCwweDc1LDB4MUYsMHhCQSwweDg4LDB4MDEsMHhCMCwweDAwLDB4RUUsMHhCQSwweDg2LAotMHgwMSwweEIwLDB4MDAsMHhFRSwweDZBLDB4MDksMHg2QSwweDAwLDB4NjgsMHgzMCwweDAxLDB4RTgsMHg3RCwweDAxLDB4ODMsMHhDNCwKLTB4MDYsMHhDNywweDA2LDB4QjAsMHgwQiwweDAxLDB4MDAsMHg2QSwweDA5LDB4OEIsMHhDNiwweDA1LDB4ODAsMHgwMSwweDUwLDB4RTgsCi0weERBLDB4MDAsMHg1OSwweDU5LDB4OEIsMHhGOCwweDhCLDB4QzcsMHhDMSwweEU4LDB4MEMsMHgyNSwweDBGLDB4MDAsMHg4OSwweDQ2LAotMHhGRSwweDhCLDB4QzcsMHhDMSwweEU4LDB4MDgsMHgyNSwweDBGLDB4MDAsMHg4QiwweDU2LDB4RkUsMHg4MywweEYyLDB4MEMsMHgzQiwKLTB4QzIsMHg3NSwweDIxLDB4OEIsMHhDNywweEMxLDB4RTgsMHgwNCwweDI1LDB4MEYsMHgwMCwweDhCLDB4NTYsMHhGRSwweDgzLDB4RjIsCi0weDA2LDB4M0IsMHhDMiwweDc1LDB4MEYsMHg4QiwweEM3LDB4MjUsMHgwRiwweDAwLDB4OEIsMHg1NiwweEZFLDB4ODMsMHhGMiwweDA5LAotMHgzQiwweEMyLDB4NzQsMHgwRCwweDZBLDB4MDcsMHg1NiwweEU4LDB4MzgsMHgwMCwweDU5LDB4NTksMHhDNywweDQ2LDB4RkUsMHgwNywKLTB4MDAsMHg4QSwweDQ2LDB4RkUsMHgwNCwweDgwLDB4QTIsMHgzMywweDAyLDB4OEIsMHhDNiwweEJBLDB4NjIsMHgwMCwweEY3LDB4RUEsCi0weDhBLDB4NTYsMHhGRSwweDhCLDB4RDgsMHg4OCwweDk3LDB4NkMsMHgwMCwweDY4LDB4MzIsMHgwMiwweDhCLDB4QzYsMHhCQSwweDYyLAotMHgwMCwweEY3LDB4RUEsMHgwNSwweDE0LDB4MDAsMHg1MCwweEU4LDB4MEUsMHhGRCwweDU5LDB4NTksMHhFQiwweDAwLDB4NUYsMHg1RSwKLTB4QzksMHhDMywweEM4LDB4MDIsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LDB4MDYsMHg4MywweEU2LDB4MEYsMHg4QiwweEM2LDB4QzEsCi0weEUwLDB4MEMsMHg4QiwweEQ2LDB4ODMsMHhGMiwweDBDLDB4QzEsMHhFMiwweDA4LDB4MEIsMHhDMiwweDhCLDB4RDYsMHg4MywweEYyLAotMHgwNiwweEMxLDB4RTIsMHgwNCwweDBCLDB4QzIsMHg4QiwweEQ2LDB4ODMsMHhGMiwweDA5LDB4MEIsMHhDMiwweDg5LDB4NDYsMHhGRSwKLTB4NkEsMHgxOSwweDZBLDB4MTAsMHg4QiwweDQ2LDB4MDQsMHg5OSwweDA1LDB4NDAsMHgwMSwweDgzLDB4RDIsMHgwMCwweDUyLDB4NTAsCi0weEU4LDB4NkIsMHgwMSwweDgzLDB4QzQsMHgwNiwweDBCLDB4NDYsMHhGRSwweDgzLDB4Q0EsMHgwMCwweDUyLDB4NTAsMHhFOCwweDlBLAotMHgwMCwweDgzLDB4QzQsMHgwNiwweEU4LDB4MjUsMHgwMSwweEVCLDB4MDAsMHg1RSwweEM5LDB4QzMsMHg1NSwweDhCLDB4RUMsMHg1NiwKLTB4NTcsMHgzMywweEZGLDB4NkEsMHgwMSwweDY4LDB4ODYsMHgwMSwweEU4LDB4QTMsMHhGRSwweDU5LDB4NTksMHhCMSwweDEwLDB4MkEsCi0weDRFLDB4MDYsMHhEMywweDY2LDB4MDQsMHgzMywweEY2LDB4RUIsMHgyRSwweDgxLDB4N0UsMHgwNCwweDAwLDB4ODAsMHg3MiwweDA0LAotMHhCMCwweDAxLDB4RUIsMHgwMiwweEIwLDB4MDAsMHg1MCwweDY4LDB4ODgsMHgwMSwweEU4LDB4ODEsMHhGRSwweDU5LDB4NTksMHg2QSwKLTB4MDMsMHg2OCwweDg2LDB4MDEsMHhFOCwweDc3LDB4RkUsMHg1OSwweDU5LDB4NkEsMHgwMSwweDY4LDB4ODYsMHgwMSwweEU4LDB4NkQsCi0weEZFLDB4NTksMHg1OSwweEQxLDB4NjYsMHgwNCwweDQ2LDB4M0IsMHg3NiwweDA2LDB4N0MsMHhDRCwweDMzLDB4RjYsMHhFQiwweDI0LAotMHhEMSwweEU3LDB4NkEsMHgwMywweDY4LDB4ODYsMHgwMSwweEU4LDB4NTQsMHhGRSwweDU5LDB4NTksMHg2QSwweDAxLDB4NjgsMHg4NiwKLTB4MDEsMHhFOCwweDRBLDB4RkUsMHg1OSwweDU5LDB4NjgsMHg4OCwweDAxLDB4RTgsMHg1QywweEZFLDB4NTksMHg5OCwweDI1LDB4MDEsCi0weDAwLDB4MEIsMHhGOCwweDQ2LDB4ODMsMHhGRSwweDEwLDB4N0MsMHhENywweDZBLDB4MDAsMHg2OCwweDg2LDB4MDEsMHhFOCwweDJELAotMHhGRSwweDU5LDB4NTksMHg4QiwweEM3LDB4RUIsMHgwMCwweDVGLDB4NUUsMHg1RCwweEMzLDB4NTUsMHg4QiwweEVDLDB4NTYsMHg1NywKLTB4OEIsMHg3RSwweDA4LDB4NkEsMHgwMSwweDY4LDB4ODYsMHgwMSwweEU4LDB4MTMsMHhGRSwweDU5LDB4NTksMHhCOCwweDIwLDB4MDAsCi0weDJCLDB4QzcsMHg1MCwweEZGLDB4NzYsMHgwNiwweEZGLDB4NzYsMHgwNCwweEU4LDB4QTIsMHgwMCwweDgzLDB4QzQsMHgwNiwweDg5LAotMHg1NiwweDA2LDB4ODksMHg0NiwweDA0LDB4MzMsMHhGNiwweEVCLDB4NDcsMHg4MSwweDdFLDB4MDYsMHgwMCwweDgwLDB4NzIsMHgwQywKLTB4NzUsMHgwNiwweDgzLDB4N0UsMHgwNCwweDAwLDB4NzIsMHgwNCwweEIwLDB4MDEsMHhFQiwweDAyLDB4QjAsMHgwMCwweDUwLDB4NjgsCi0weDg4LDB4MDEsMHhFOCwweEQ5LDB4RkQsMHg1OSwweDU5LDB4NkEsMHgwMywweDY4LDB4ODYsMHgwMSwweEU4LDB4Q0YsMHhGRCwweDU5LAotMHg1OSwweDZBLDB4MDEsMHg2OCwweDg2LDB4MDEsMHhFOCwweEM1LDB4RkQsMHg1OSwweDU5LDB4NkEsMHgwMSwweEZGLDB4NzYsMHgwNiwKLTB4RkYsMHg3NiwweDA0LDB4RTgsMHg1OCwweDAwLDB4ODMsMHhDNCwweDA2LDB4ODksMHg1NiwweDA2LDB4ODksMHg0NiwweDA0LDB4NDYsCi0weDNCLDB4RjcsMHg3QywweEI1LDB4NkEsMHgwMCwweDY4LDB4ODYsMHgwMSwweEU4LDB4QTIsMHhGRCwweDU5LDB4NTksMHg2QSwweDAwLAotMHg2OCwweDg2LDB4MDEsMHhFOCwweDk4LDB4RkQsMHg1OSwweDU5LDB4NUYsMHg1RSwweDVELDB4QzMsMHg1NSwweDhCLDB4RUMsMHg1NiwKLTB4NkEsMHgwMSwweDY4LDB4ODYsMHgwMSwweEU4LDB4ODYsMHhGRCwweDU5LDB4NTksMHgzMywweEY2LDB4RUIsMHgwMCwweDY4LDB4ODgsCi0weDAxLDB4RTgsMHg5NCwweEZELDB4NTksMHhBOCwweDAxLDB4NzUsMHgwOCwweDhCLDB4QzYsMHg0NiwweDNELDB4NjQsMHgwMCwweDdDLAotMHhFRCwweDZBLDB4MDAsMHg2OCwweDg2LDB4MDEsMHhFOCwweDY1LDB4RkQsMHg1OSwweDU5LDB4NUUsMHg1RCwweEMzLDB4QzgsMHgwNCwKLTB4MDAsMHgwMCwweDhCLDB4NDYsMHgwNCwweDhCLDB4NTYsMHgwNiwweDhCLDB4NEUsMHgwOCwweEUzLDB4MDYsMHhEMSwweEUwLDB4RDEsCi0weEQyLDB4RTIsMHhGQSwweDg5LDB4NDYsMHhGQywweDg5LDB4NTYsMHhGRSwweDhCLDB4NTYsMHhGRSwweDhCLDB4NDYsMHhGQywweEVCLAotMHgwMCwweEM5LDB4QzMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4NTAsMHg3MiwweDY1LDB4NzYsMHg2OSwweDZGLDB4NzUsMHg3MywweDIwLDB4NEQsMHg2NSwweDZFLDB4NzUsMHgwMCwweDQyLDB4NjUsCi0weDY3LDB4NjksMHg2RSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LAotMHgyMCwweDMwLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzEsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMiwKLTB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzMsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzNCwweDAwLDB4NTAsCi0weDZGLDB4NzIsMHg3NCwweDIwLDB4MzUsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzNiwweDAwLDB4NTAsMHg2RiwweDcyLAotMHg3NCwweDIwLDB4MzcsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzOCwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwKLTB4MzksMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMSwweDMwLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzEsCi0weDMxLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzEsMHgzMiwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMxLAotMHgzMywweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMxLDB4MzQsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMSwKLTB4MzUsMHgwMCwweDlDLDB4MDEsMHhBMywweDAxLDB4QUEsMHgwMSwweEIxLDB4MDEsMHhCOCwweDAxLDB4QkYsMHgwMSwweEM2LDB4MDEsCi0weENELDB4MDEsMHhENCwweDAxLDB4REIsMHgwMSwweEUyLDB4MDEsMHhFQSwweDAxLDB4RjIsMHgwMSwweEZBLDB4MDEsMHgwMiwweDAyLAotMHgwQSwweDAyLDB4MDgsMHgwMCwweDAwLDB4MDcsMHg4MSwweDAwLDB4MDMsMHg4MCwweDgwLDB4ODAsMHg5RiwweDkxLDB4OTUsMHg5MSwKLTB4OUYsMHgwMCwweDAzLDB4ODEsMHg4NCwweDhFLDB4OTUsMHg4NCwweDg0LDB4ODQsMHg4NCwweDAwLDB4MDMsMHg4MiwweDg0LDB4ODQsCi0weDg0LDB4ODQsMHg5NSwweDhFLDB4ODQsMHgwMCwweDA0LDB4ODgsMHgwMCwweEIyLDB4MEIsMHhDNiwweDBCLDB4REEsMHgwQiwweEVFLAotMHgwQiwweDAyLDB4MEMsMHgxNiwweDBDLDB4MkEsMHgwQywweDNFLDB4MEMsMHg1MiwweDBDLDB4NzcsMHgwQywweDlDLDB4MEMsMHhCRSwKLTB4MEMsMHhFMCwweDBDLDB4MDIsMHgwRCwweDAxLDB4ODAsMHgyMCwweDU0LDB4NjUsMHg3MywweDc0LDB4MjAsMHg1MCwweDYxLDB4NzMsCi0weDczLDB4NjUsMHg2NCwweDIwLDB4MUYsMHgyMCwweDUwLDB4NzIsMHg2NSwweDczLDB4NzMsMHgyMCwweDgwLDB4MDIsMHgwMCwweDAxLAotMHg4MCwweDIwLDB4NEQsMHg2OSwweDczLDB4NzMsMHg2OSwweDZFLDB4NjcsMHgyMCwweDUyLDB4NzgsMHgyMCwweDQ0LDB4NjEsMHg3NCwKLTB4NjEsMHgxRiwweDIwLDB4NTAsMHg3MiwweDY1LDB4NzMsMHg3MywweDIwLDB4ODAsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4NDIsCi0weDYxLDB4NjQsMHgyMCwweDUyLDB4NzgsMHgyMCwweDQ0LDB4NjEsMHg3NCwweDYxLDB4MjAsMHgxRiwweDIwLDB4NTAsMHg3MiwweDY1LAotMHg3MywweDczLDB4MjAsMHg4MCwweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHg1OCwweDZELDB4NzQsMHg3MiwweDIwLDB4NDIsMHg3NSwKLTB4NzMsMHg3OSwweDFGLDB4MjAsMHg1MCwweDcyLDB4NjUsMHg3MywweDczLDB4MjAsMHg4MCwweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsCi0weDZFLDB4NkYsMHg3NCwweDIwLDB4NjMsMHg3NSwweDcyLDB4NzIsMHg2NSwweDZFLDB4NzQsMHg2QywweDc5LDB4MUYsMHgyMCwweDIwLAotMHg2OSwweDZELDB4NzAsMHg2QywweDY1LDB4NkQsMHg2NSwweDZFLDB4NzQsMHg2NSwweDY0LDB4MDIsMHgwMCwweDI0LDB4MEQsMHgyRiwKLTB4MEQsMHgzQSwweDBELDB4NDUsMHgwRCwweDUwLDB4MEQsMHg1QiwweDBELDB4NjYsMHgwRCwweDcxLDB4MEQsMHg3QywweDBELDB4ODcsCi0weDBELDB4OTIsMHgwRCwweDlELDB4MEQsMHhBOCwweDBELDB4QjMsMHgwRCwweEJFLDB4MEQsMHhDOSwweDBELDB4NTMsMHg4MCwweDJDLAotMHgzMiwweDU0LDB4NDQsMHgyMCwweDUzLDB4ODYsMHgyQywweDMzLDB4NDQsMHg1NCwweDUyLDB4MjAsMHg1MywweDgyLDB4MkMsMHgzMywKLTB4NTIsMHg1NCwweDUzLDB4MjAsMHgxRiwweDUzLDB4ODEsMHgyQywweDMyLDB4NTIsMHg0NCwweDIwLDB4NTMsMHg4NSwweDJDLDB4MzIsCi0weDQzLDB4NDQsMHgyMCwweDUzLDB4ODMsMHgyQywweDMzLDB4NDMsMHg1NCwweDUzLDB4MjAsMHg1MywweDg0LDB4MkMsMHgzMywweDQ0LAotMHg1MywweDUyLDB4MjAsMHg1MywweDg3LDB4MkMsMHgzMiwweDUyLDB4NDksMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwKLTB4NDQsMHg0MywweDQ0LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMiwweDMwLDB4MUYsMHgyNywweDUzLDB4ODUsCi0weDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LAotMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NTMsMHg1MiwKLTB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMSwweDMxLDB4MUYsMHgyNywweDUzLDB4ODQsMHgyRSwweDMxLDB4ODEsCi0weDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLAotMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQzLDB4NTQsMHg1MywweDIwLDB4MkQsMHgyMCwKLTB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNCwweDFGLDB4MjcsMHg1MywweDgzLDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsCi0weDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LAotMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDQ5LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMiwKLTB4MzIsMHgxRiwweDI3LDB4NTMsMHg4NywweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsCi0weDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLAotMHgyMCwweDIwLDB4NDQsMHg1NCwweDUyLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNiwweDJGLDB4MzgsMHgxRiwKLTB4MjcsMHg1MywweDg2LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsCi0weDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLAotMHg1MiwweDU0LDB4NTMsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM1LDB4MUYsMHgyNywweDUzLDB4ODIsMHgyRSwKLTB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsCi0weDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NzgsMHg0NCwweDIwLAotMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMiwweDFGLDB4MjcsMHg1MywweDgxLDB4MkUsMHgzMCwweDUzLDB4NEQsMHg4MSwKLTB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsCi0weDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTQsMHg3OCwweDQ0LDB4MjAsMHgyRCwweDIwLAotMHg3MCwweDY5LDB4NkUsMHgyMCwweDMzLDB4MUYsMHgyNywweDUzLDB4ODAsMHgyRSwweDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywKLTB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsCi0weDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg0NCwweDQzLDB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LAotMHg2RSwweDIwLDB4MzUsMHgxRiwweDI3LDB4NTMsMHg4NSwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwKLTB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsCi0weDAxLDB4ODAsMHgyMCwweDIwLDB4NDQsMHg1MywweDUyLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNSwweDFGLAotMHgyNywweDUzLDB4ODQsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwKLTB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsCi0weDQzLDB4NTQsMHg1MywweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzEsMHgxRiwweDI3LDB4NTMsMHg4MywweDJFLAotMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwKLTB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg0OSwweDIwLDB4MkQsCi0weDIwLDB4MjgsMHg2RSwweDJFLDB4NjMsMHgyRSwweDI5LDB4MUYsMHgyNywweDUzLDB4ODcsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLAotMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwKLTB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NTQsMHg1MiwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksCi0weDZFLDB4MjAsMHgzMiwweDFGLDB4MjcsMHg1MywweDg2LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLAotMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDU0LDB4NTMsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM3LDB4MUYsCi0weDI3LDB4NTMsMHg4MiwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LAotMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwKLTB4NTIsMHg3OCwweDQ0LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNiwweDFGLDB4MjcsMHg1MywweDgxLDB4MkUsCi0weDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LAotMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTQsMHg3OCwKLTB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMzLDB4MUYsMHgyNywweDUzLDB4ODAsMHgyRSwweDMwLDB4NTMsCi0weDRELDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLAotMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg0NCwweDQzLDB4NDQsMHgyMCwKLTB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzUsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDg1LDB4MkUsCi0weDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLAotMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NTMsMHg1MiwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzUsMHgxRiwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODQsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsCi0weDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQzLDB4NTQsMHg1MywweDIwLAotMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMSwweDFGLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODMsMHgyRSwKLTB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsCi0weDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg0OSwweDIwLDB4MkQsMHgyMCwweDI4LDB4NkUsMHgyRSwweDYzLDB4MkUsMHgyOSwweDFGLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4NywweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwKLTB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NDQsMHg1NCwweDUyLDB4MjAsCi0weDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMyLDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4NiwweDJFLAotMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDU0LDB4NTMsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM3LDB4MUYsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDgyLDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLAotMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDc4LDB4NDQsMHgyMCwKLTB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzYsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDgxLDB4MkUsCi0weDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LAotMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1NCwweDc4LDB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwKLTB4MzMsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDgwLDB4MkUsMHgzMCwweDUzLDB4NEQsMHg4MSwweDgyLDB4NjMsCi0weDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLAotMHg0NCwweDQzLDB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMyLDB4MzAsMHgxRiwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyNywweDUzLDB4ODUsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsCi0weDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NTMsMHg1MiwweDIwLDB4MkQsMHgyMCwweDcwLAotMHg2OSwweDZFLDB4MjAsMHgzMSwweDMxLDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4NCwweDJFLDB4MzEsMHg4MSwKLTB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsCi0weDIwLDB4MjAsMHg0MywweDU0LDB4NTMsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM0LDB4MUYsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjcsMHg1MywweDgzLDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwKLTB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDQ5LDB4MjAsMHgyRCwweDIwLDB4NzAsCi0weDY5LDB4NkUsMHgyMCwweDMyLDB4MzIsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDg3LDB4MkUsMHgzMSwweDgxLAotMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwKLTB4MjAsMHgyMCwweDQ0LDB4NTQsMHg1MiwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzYsMHgyRiwweDM4LDB4MUYsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDg2LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLAotMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDU0LDB4NTMsMHgyMCwKLTB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzUsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDgyLDB4MkUsCi0weDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLAotMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NzgsMHg0NCwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzIsMHgxRiwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODEsMHgyRSwweDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsCi0weDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1NCwweDc4LAotMHg0NCwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzMsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywKLTB4ODAsMHgyRSwweDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsCi0weDg3LDB4MjcsMHgwMiwweDAwLDB4NjgsMHgwNCwweDk2LDB4MDQsMHhCNiwweDAzLDB4M0MsMHgwNCwweDBFLDB4MDQsMHg4OSwweDAzLAotMHg1QywweDAzLDB4RTIsMHgwMywweDYwLDB4MDgsMHg4QSwweDA4LDB4QkUsMHgwNywweDM4LDB4MDgsMHgwRSwweDA4LDB4OTUsMHgwNywKLTB4NkMsMHgwNywweEU2LDB4MDcsMHgxQywweDA1LDB4NzQsMHgwNSwweEZBLDB4MDUsMHhDNCwweDA0LDB4RjAsMHgwNCwweENDLDB4MDUsCi0weEEwLDB4MDUsMHg0OCwweDA1LDB4NzgsMHgwNiwweEM4LDB4MDYsMHg0MiwweDA3LDB4MjgsMHgwNiwweDUwLDB4MDYsMHgxOCwweDA3LAotMHhGMCwweDA2LDB4QTAsMHgwNiwweDAwLDB4MDAsMHhGNCwweDA4LDB4RjQsMHgwOCwweEQ0LDB4MEQsMHgwNCwweDA5LDB4MDQsMHgwOSwKLTB4MDQsMHgwOSwweDA0LDB4MDksMHg0MiwweDAwLDB4MEMsMHgwOSwweDFDLDB4MDksMHhFNSwweDBELDB4MDIsMHgwMCwweDE0LDB4MDksCi0weDA0LDB4MDksMHhGNCwweDBELDB4NDMsMHgwMCwweDFDLDB4MDksMHgwQywweDA5LDB4MDUsMHgwRSwweDAwLDB4MDQsMHgwNCwweDA5LAotMHgxNCwweDA5LDB4MTIsMHgwRSwweDJDLDB4MDksMHgyQywweDA5LDB4MkMsMHgwOSwweDJDLDB4MDksMHgwMCwweDAwLDB4M0MsMHgwOSwKLTB4NkMsMHgwOSwweDFFLDB4MEUsMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4MDAsMHgwMSwweDRDLDB4MDksCi0weDJDLDB4MDksMHgyRCwweDBFLDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4NzQsMHgwOSwweDAwLDB4MDIsMHg1QywweDA5LAotMHgzQywweDA5LDB4M0QsMHgwRSwweDc0LDB4MDksMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHgwMCwweDAzLDB4NkMsMHgwOSwKLTB4NEMsMHgwOSwweDRELDB4MEUsMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4RkYsMHgwMCwweDJDLDB4MDksCi0weDVDLDB4MDksMHgwMCwweDAwLDB4MDAsMHgwNSwweDg0LDB4MDksMHhFQywweDA5LDB4NUUsMHgwRSwweEY0LDB4MDksMHhGNCwweDA5LAotMHhGNCwweDA5LDB4RjQsMHgwOSwweDAwLDB4MDYsMHg5NCwweDA5LDB4NzQsMHgwOSwweDY4LDB4MEUsMHhBQywweDBBLDB4QUMsMHgwQSwKLTB4QUMsMHgwQSwweEFDLDB4MEEsMHgwMCwweDA3LDB4QTQsMHgwOSwweDg0LDB4MDksMHg3MiwweDBFLDB4QkMsMHgwQSwweEJDLDB4MEEsCi0weEJDLDB4MEEsMHhCQywweDBBLDB4MDAsMHgwOCwweEI0LDB4MDksMHg5NCwweDA5LDB4N0MsMHgwRSwweEQ0LDB4MEEsMHhENCwweDBBLAotMHhENCwweDBBLDB4RDQsMHgwQSwweDAwLDB4MEIsMHhDNCwweDA5LDB4QTQsMHgwOSwweDgzLDB4MEUsMHhGQywweDBBLDB4RkMsMHgwQSwKLTB4RkMsMHgwQSwweEZDLDB4MEEsMHgwMCwweDBDLDB4RDQsMHgwOSwweEI0LDB4MDksMHg5MCwweDBFLDB4MTQsMHgwQiwweDE0LDB4MEIsCi0weDE0LDB4MEIsMHgxNCwweDBCLDB4MDAsMHgwMiwweEU0LDB4MDksMHhDNCwweDA5LDB4QTAsMHgwRSwweDJDLDB4MEIsMHgyQywweDBCLAotMHgyQywweDBCLDB4MkMsMHgwQiwweDA0LDB4MDAsMHhFQywweDA5LDB4RDQsMHgwOSwweDBFLDB4MDAsMHhGRiwweDAwLDB4NzQsMHgwOSwKLTB4RTQsMHgwOSwweDAwLDB4MDAsMHg4MiwweDAxLDB4RkMsMHgwOSwweEE0LDB4MEEsMHhBQywweDBFLDB4ODIsMHgwMiwweDA0LDB4MEEsCi0weEY0LDB4MDksMHhBRiwweDBFLDB4ODIsMHgwMywweDBDLDB4MEEsMHhGQywweDA5LDB4QjIsMHgwRSwweDgyLDB4MDQsMHgxNCwweDBBLAotMHgwNCwweDBBLDB4QjYsMHgwRSwweDgyLDB4MDUsMHgxQywweDBBLDB4MEMsMHgwQSwweEJDLDB4MEUsMHg4MiwweDA2LDB4MjQsMHgwQSwKLTB4MTQsMHgwQSwweEMwLDB4MEUsMHg4MiwweDA3LDB4MkMsMHgwQSwweDFDLDB4MEEsMHhDNCwweDBFLDB4ODIsMHgwOCwweDM0LDB4MEEsCi0weDI0LDB4MEEsMHhDOCwweDBFLDB4ODIsMHgwOSwweDNDLDB4MEEsMHgyQywweDBBLDB4Q0MsMHgwRSwweDgyLDB4MEEsMHg0NCwweDBBLAotMHgzNCwweDBBLDB4RDEsMHgwRSwweDgyLDB4MTAsMHg0QywweDBBLDB4M0MsMHgwQSwweEQ2LDB4MEUsMHg4MiwweDBCLDB4NTQsMHgwQSwKLTB4NDQsMHgwQSwweERCLDB4MEUsMHg4MiwweDExLDB4NUMsMHgwQSwweDRDLDB4MEEsMHhFMCwweDBFLDB4ODIsMHgwQywweDY0LDB4MEEsCi0weDU0LDB4MEEsMHhFNSwweDBFLDB4ODIsMHgxMiwweDZDLDB4MEEsMHg1QywweDBBLDB4RUEsMHgwRSwweDgyLDB4MEQsMHg3NCwweDBBLAotMHg2NCwweDBBLDB4RUYsMHgwRSwweDgyLDB4MEUsMHg3QywweDBBLDB4NkMsMHgwQSwweEY0LDB4MEUsMHg4MiwweDBGLDB4ODQsMHgwQSwKLTB4NzQsMHgwQSwweEZCLDB4MEUsMHg4MiwweDEzLDB4OEMsMHgwQSwweDdDLDB4MEEsMHgwMiwweDBGLDB4ODIsMHgxNCwweDk0LDB4MEEsCi0weDg0LDB4MEEsMHgwOSwweDBGLDB4ODIsMHgxNSwweDlDLDB4MEEsMHg4QywweDBBLDB4MTAsMHgwRiwweDgyLDB4MTYsMHhBNCwweDBBLAotMHg5NCwweDBBLDB4MTcsMHgwRiwweDgyLDB4MTcsMHhGNCwweDA5LDB4OUMsMHgwQSwweDFFLDB4MEYsMHg4MiwweDAyLDB4QjQsMHgwQSwKLTB4QjQsMHgwQSwweDI2LDB4MEYsMHg4MiwweDAzLDB4QUMsMHgwQSwweEFDLDB4MEEsMHgyRCwweDBGLDB4ODIsMHgwMCwweEM0LDB4MEEsCi0weENDLDB4MEEsMHgzNCwweDBGLDB4ODIsMHgwMSwweENDLDB4MEEsMHhCQywweDBBLDB4M0YsMHgwRiwweDgyLDB4MDIsMHhCQywweDBBLAotMHhDNCwweDBBLDB4NEQsMHgwRiwweDgyLDB4MDAsMHhEQywweDBBLDB4RjQsMHgwQSwweDU5LDB4MEYsMHg4MiwweDAxLDB4RTQsMHgwQSwKLTB4RDQsMHgwQSwweDYzLDB4MEYsMHg4MiwweDAyLDB4RUMsMHgwQSwweERDLDB4MEEsMHg2RSwweDBGLDB4ODIsMHgwMywweEY0LDB4MEEsCi0weEU0LDB4MEEsMHg3QSwweDBGLDB4ODIsMHgwNCwweEQ0LDB4MEEsMHhFQywweDBBLDB4ODcsMHgwRiwweDgyLDB4MDAsMHgwNCwweDBCLAotMHgwQywweDBCLDB4OTMsMHgwRiwweDgyLDB4MDEsMHgwQywweDBCLDB4RkMsMHgwQSwweDlCLDB4MEYsMHg4MiwweDAyLDB4RkMsMHgwQSwKLTB4MDQsMHgwQiwweEE3LDB4MEYsMHg4MiwweDAwLDB4MUMsMHgwQiwweDI0LDB4MEIsMHhCMCwweDBGLDB4ODIsMHgwMSwweDI0LDB4MEIsCi0weDE0LDB4MEIsMHhCNSwweDBGLDB4ODIsMHgwMiwweDE0LDB4MEIsMHgxQywweDBCLDB4QkUsMHgwRiwweDQ0LDB4MDAsMHgzNCwweDBCLAotMHhBNCwweDBCLDB4OUMsMHgwMSwweDQ0LDB4MDEsMHgzQywweDBCLDB4MkMsMHgwQiwweEEzLDB4MDEsMHg0NCwweDAyLDB4NDQsMHgwQiwKLTB4MzQsMHgwQiwweEFBLDB4MDEsMHg0NCwweDAzLDB4NEMsMHgwQiwweDNDLDB4MEIsMHhCMSwweDAxLDB4NDQsMHgwNCwweDU0LDB4MEIsCi0weDQ0LDB4MEIsMHhCOCwweDAxLDB4NDQsMHgwNSwweDVDLDB4MEIsMHg0QywweDBCLDB4QkYsMHgwMSwweDQ0LDB4MDYsMHg2NCwweDBCLAotMHg1NCwweDBCLDB4QzYsMHgwMSwweDQ0LDB4MDcsMHg2QywweDBCLDB4NUMsMHgwQiwweENELDB4MDEsMHg0NCwweDA4LDB4NzQsMHgwQiwKLTB4NjQsMHgwQiwweEQ0LDB4MDEsMHg0NCwweDA5LDB4N0MsMHgwQiwweDZDLDB4MEIsMHhEQiwweDAxLDB4NDQsMHgwQSwweDg0LDB4MEIsCi0weDc0LDB4MEIsMHhFMiwweDAxLDB4NDQsMHgwQiwweDhDLDB4MEIsMHg3QywweDBCLDB4RUEsMHgwMSwweDQ0LDB4MEMsMHg5NCwweDBCLAotMHg4NCwweDBCLDB4RjIsMHgwMSwweDQ0LDB4MEQsMHg5QywweDBCLDB4OEMsMHgwQiwweEZBLDB4MDEsMHg0NCwweDBFLDB4QTQsMHgwQiwKLTB4OTQsMHgwQiwweDAyLDB4MDIsMHg0NCwweDBGLDB4MkMsMHgwQiwweDlDLDB4MEIsMHgwQSwweDAyLDB4MTcsMHgxRiwweDBGLDB4MkYsCi0weDAwLDB4MDAsMHgwMSwweDgwLDB4NzgsMHg3OCwweDNBLDB4MjAsMHg3NCwweDc4LDB4MjAsMHg2MywweDcwLDB4NzMsMHgyMCwweDJBLAotMHgyQSwweDJBLDB4MkEsMHgyQSwweDAyLDB4MDAsMHgwMSwweDgwLDB4NzgsMHg3OCwweDNBLDB4MjAsMHg3NCwweDc4LDB4MjAsMHg2MywKLTB4NzAsMHg3MywweDIwLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgyQSwweDAyLDB4MDAsMHgwMSwweDgwLDB4NzgsMHg3OCwweDNBLDB4MjAsCi0weDc0LDB4NzgsMHgyMCwweDYzLDB4NzAsMHg3MywweDIwLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgyQSwweDAyLDB4MDAsMHgwMSwweDgwLAotMHg3OCwweDc4LDB4M0EsMHgyMCwweDc0LDB4NzgsMHgyMCwweDYzLDB4NzAsMHg3MywweDIwLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgyQSwKLTB4MDIsMHgwMCwweDAxLDB4QzAsMHg3OCwweDc4LDB4M0EsMHgyMCwweDcyLDB4NjMsMHgyMCwweDYzLDB4NzAsMHg3MywweDIwLDB4MkEsCi0weDJBLDB4MkEsMHgyQSwweDJBLDB4MDIsMHgwMCwweDAxLDB4QzAsMHg3OCwweDc4LDB4M0EsMHgyMCwweDcyLDB4NjMsMHgyMCwweDYzLAotMHg3MCwweDczLDB4MjAsMHgyQSwweDJBLDB4MkEsMHgyQSwweDJBLDB4MDIsMHgwMCwweDAxLDB4QzAsMHg3OCwweDc4LDB4M0EsMHgyMCwKLTB4NzIsMHg2MywweDIwLDB4NjMsMHg3MCwweDczLDB4MjAsMHgyQSwweDJBLDB4MkEsMHgyQSwweDJBLDB4MDIsMHgwMCwweDAxLDB4QzAsCi0weDc4LDB4NzgsMHgzQSwweDIwLDB4NzIsMHg2MywweDIwLDB4NjMsMHg3MCwweDczLDB4MjAsMHgyQSwweDJBLDB4MkEsMHgyQSwweDJBLAotMHgwMiwweDAwLDB4MDEsMHg4MCwweDQ5LDB4NkUsMHg3MywweDc0LDB4NjEsMHg2QywweDZDLDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwKLTB4NjIsMHg2MSwweDYzLDB4NkIsMHgxRiwweDUwLDB4NzIsMHg2NSwweDczLDB4NzMsMHgyMCwweDgwLDB4MjAsMHg3NCwweDZGLDB4MjAsCi0weDczLDB4NzQsMHg2MSwweDcyLDB4NzQsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4NDMsMHg2MSwweDYyLDB4NkMsMHg2NSwweDIwLAotMHg3NCwweDZGLDB4MjAsMHg1MiwweDY1LDB4NkQsMHg2RiwweDc0LDB4NjUsMHgxRiwweDUwLDB4NzIsMHg2NSwweDczLDB4NzMsMHgyMCwKLTB4ODAsMHgyMCwweDc0LDB4NkYsMHgyMCwweDczLDB4NzQsMHg2MSwweDcyLDB4NzQsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4NEMsCi0weDZGLDB4NjMsMHg2MSwweDZDLDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwweDYyLDB4NjEsMHg2MywweDZCLDB4MjAsMHgxRiwweDIwLAotMHgyMCwweDUyLDB4NzUsMHg2RSwweDZFLDB4NjksMHg2RSwweDY3LDB4MjAsMHgyRSwweDJFLDB4MkUsMHgwMiwweDAwLDB4MDEsMHg4MCwKLTB4NTIsMHg2NSwweDZELDB4NkYsMHg3NCwweDY1LDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwweDYyLDB4NjEsMHg2MywweDZCLDB4MjAsCi0weDFGLDB4MjAsMHgyMCwweDUyLDB4NzUsMHg2RSwweDZFLDB4NjksMHg2RSwweDY3LDB4MjAsMHgyRSwweDJFLDB4MkUsMHgwMiwweDAwLAotMHgwMSwweDgwLDB4MjAsMHg0OSwweDZFLDB4NzQsMHg3MiwweDZFLDB4NkMsMHgyMCwweDRDLDB4NkYsMHg2RiwweDcwLDB4NjIsMHg2MSwKLTB4NjMsMHg2QiwweDFGLDB4MjAsMHgyMCwweDUyLDB4NzUsMHg2RSwweDZFLDB4NjksMHg2RSwweDY3LDB4MjAsMHgyRSwweDJFLDB4MkUsCi0weDAyLDB4MDAsMHgwMSwweDgwLDB4NTQsMHg3MiwweDYxLDB4NkUsMHg3MywweDZELDB4NjksMHg3NCwweDIwLDB4NTAsMHg2MSwweDc0LAotMHg3NCwweDY1LDB4NzIsMHg2RSwweDFGLDB4MjAsMHgyMCwweDUyLDB4NzUsMHg2RSwweDZFLDB4NjksMHg2RSwweDY3LDB4MjAsMHgyRSwKLTB4MkUsMHgyRSwweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDMwLDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4MCwweDAwLDB4MDEsCi0weDgwLDB4MjAsMHgyMCwweDMxLDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4MSwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHgzMiwweDNBLAotMHgyMCwweDI3LDB4NDMsMHg4MiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHgzMywweDNBLDB4MjAsMHgyNywweDQzLDB4ODMsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4MjAsMHgzNCwweDNBLDB4MjAsMHgyNywweDQzLDB4ODQsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4MzUsCi0weDNBLDB4MjAsMHgyNywweDQzLDB4ODUsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4MzYsMHgzQSwweDIwLDB4MjcsMHg0MywweDg2LAotMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4MzcsMHgzQSwweDIwLDB4MjcsMHg0MywweDg3LDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwKLTB4MzgsMHgzQSwweDIwLDB4MjcsMHg0MywweDg4LDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDM5LDB4M0EsMHgyMCwweDI3LDB4NDMsCi0weDg5LDB4MDAsMHgwMSwweDgwLDB4MjAsMHgzMSwweDMwLDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4QSwweDAwLDB4MDEsMHg4MCwweDIwLAotMHgzMSwweDMxLDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4QiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MzEsMHgzMiwweDNBLDB4MjAsMHgyNywKLTB4NDMsMHg4QywweDAwLDB4MDEsMHg4MCwweDIwLDB4MzEsMHgzMywweDNBLDB4MjAsMHgyNywweDQzLDB4OEQsMHgwMCwweDAxLDB4ODAsCi0weDIwLDB4MzEsMHgzNCwweDNBLDB4MjAsMHgyNywweDQzLDB4OEUsMHgwMCwweDAxLDB4ODAsMHgyMCwweDMxLDB4MzUsMHgzQSwweDIwLAotMHgyNywweDQzLDB4OEYsMHgwMCwweDJBLDB4MkEsMHgyMCwweDRELDB4NjEsMHg2OSwweDZFLDB4MjAsMHgyMCwweDRELDB4NjUsMHg2RSwKLTB4NzUsMHgyMCwweDJBLDB4MkEsMHgwMCwweDRELDB4NkYsMHg2RSwweDY5LDB4NzQsMHg2RiwweDcyLDB4MjAsMHg2MSwweDIwLDB4NTAsCi0weDZGLDB4NzIsMHg3NCwweDAwLDB4NEQsMHg2RiwweDZFLDB4NjksMHg3NCwweDZGLDB4NzIsMHgyMCwweDYxLDB4MjAsMHg1MywweDY5LAotMHg2NywweDZFLDB4NjEsMHg2QywweDAwLDB4NDUsMHg3MywweDc0LDB4NjksMHg2RCwweDYxLDB4NzQsMHg2NSwweDIwLDB4NDMsMHg1MCwKLTB4NTMsMHgwMCwweDQ0LDB4NjksMHg2MSwweDY3LDB4NkUsMHg2RiwweDczLDB4NzQsMHg2OSwweDYzLDB4NzMsMHgwMCwweDRDLDB4NkYsCi0weDYzLDB4NjEsMHg2QywweDIwLDB4NEMsMHg2RiwweDZGLDB4NzAsMHg2MiwweDYxLDB4NjMsMHg2QiwweDAwLDB4NTIsMHg2NSwweDZELAotMHg2RiwweDc0LDB4NjUsMHgyMCwweDRDLDB4NkYsMHg2RiwweDcwLDB4NjIsMHg2MSwweDYzLDB4NkIsMHgwMCwweDQ5LDB4NkUsMHg3NCwKLTB4NzIsMHg2RSwweDZDLDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwweDYyLDB4NjEsMHg2MywweDZCLDB4MDAsMHg1NCwweDcyLDB4NjEsCi0weDZFLDB4NzMsMHg2RCwweDY5LDB4NzQsMHgyMCwweDUwLDB4NjEsMHg3NCwweDc0LDB4NjUsMHg3MiwweDZFLDB4MDAsMHg0MiwweDYxLAotMHg3NSwweDY0LDB4MjAsMHg1MiwweDYxLDB4NzQsMHg2NSwweDAwLDB4NDQsMHg2MSwweDc0LDB4NjEsMHgyMCwweDQyLDB4NjksMHg3NCwKLTB4NzMsMHgwMCwweDUzLDB4NzQsMHg2RiwweDcwLDB4MjAsMHg0MiwweDY5LDB4NzQsMHg3MywweDAwLDB4NTAsMHg2MSwweDcyLDB4NjksCi0weDc0LDB4NzksMHgwMCwweDQ0LDB4NjEsMHg3NCwweDYxLDB4MjAsMHg1MCwweDYxLDB4NzQsMHg3NCwweDY1LDB4NzIsMHg2RSwweDAwLAotMHg1NCwweDc4LDB4MjAsMHg0NiwweDZDLDB4NkYsMHg3NywweDIwLDB4NDMsMHg2RiwweDZFLDB4NzQsMHg3MiwweDZGLDB4NkMsMHgwMCwKLTB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDRFLDB4NzUsMHg2RCwweDYyLDB4NjUsMHg3MiwweDAwLDB4MzUsMHgzMCwweDAwLDB4MzcsCi0weDM1LDB4MDAsMHgzMSwweDMxLDB4MzAsMHgwMCwweDMxLDB4MzMsMHgzNCwweDJFLDB4MzUsMHgwMCwweDMxLDB4MzUsMHgzMCwweDAwLAotMHgzMiwweDMwLDB4MzAsMHgwMCwweDMzLDB4MzAsMHgzMCwweDAwLDB4MzYsMHgzMCwweDMwLDB4MDAsMHgzMSwweDMyLDB4MzAsMHgzMCwKLTB4MDAsMHgzMSwweDM4LDB4MzAsMHgzMCwweDAwLDB4MzIsMHgzMCwweDMwLDB4MzAsMHgwMCwweDMyLDB4MzQsMHgzMCwweDMwLDB4MDAsCi0weDMzLDB4MzYsMHgzMCwweDMwLDB4MDAsMHgzNCwweDM4LDB4MzAsMHgzMCwweDAwLDB4MzcsMHgzMiwweDMwLDB4MzAsMHgwMCwweDM5LAotMHgzNiwweDMwLDB4MzAsMHgwMCwweDMxLDB4MzksMHgyQywweDMyLDB4MzAsMHgzMCwweDAwLDB4MzMsMHgzOCwweDJDLDB4MzQsMHgzMCwKLTB4MzAsMHgwMCwweDM1LDB4MzYsMHgyQywweDMwLDB4MzAsMHgzMCwweDAwLDB4MzUsMHgzNywweDJDLDB4MzYsMHgzMCwweDMwLDB4MDAsCi0weDM2LDB4MzQsMHgyQywweDMwLDB4MzAsMHgzMCwweDAwLDB4MzcsMHgzNiwweDJDLDB4MzgsMHgzMCwweDMwLDB4MDAsMHgzMSwweDMxLAotMHgzNSwweDJDLDB4MzIsMHgzMCwweDMwLDB4MDAsMHgzNywweDIwLDB4NjIsMHg2OSwweDc0LDB4NzMsMHgwMCwweDM4LDB4MjAsMHg2MiwKLTB4NjksMHg3NCwweDczLDB4MDAsMHgzMSwweDIwLDB4NzMsMHg3NCwweDZGLDB4NzAsMHgyMCwweDYyLDB4NjksMHg3NCwweDAwLDB4MzEsCi0weDJFLDB4MzUsMHgyMCwweDczLDB4NzQsMHg2RiwweDcwLDB4MjAsMHg2MiwweDY5LDB4NzQsMHg3MywweDAwLDB4MzIsMHgyMCwweDczLAotMHg3NCwweDZGLDB4NzAsMHgyMCwweDYyLDB4NjksMHg3NCwweDczLDB4MDAsMHg2RSwweDZGLDB4MjAsMHg3MCwweDYxLDB4NzIsMHg2OSwKLTB4NzQsMHg3OSwweDAwLDB4NkYsMHg2NCwweDY0LDB4MjAsMHg3MCwweDYxLDB4NzIsMHg2OSwweDc0LDB4NzksMHgwMCwweDY1LDB4NzYsCi0weDY1LDB4NkUsMHgyMCwweDcwLDB4NjEsMHg3MiwweDY5LDB4NzQsMHg3OSwweDAwLDB4NzMsMHg3MCwweDYxLDB4NjMsMHg2NSwweDIwLAotMHg3MCwweDYxLDB4NzIsMHg2OSwweDc0LDB4NzksMHgwMCwweDZELDB4NjEsMHg3MiwweDZCLDB4MjAsMHg3MCwweDYxLDB4NzIsMHg2OSwKLTB4NzQsMHg3OSwweDAwLDB4NDMsMHg2RiwweDZDLDB4NzUsMHg2RCwweDZFLDB4NzMsMHgwMCwweDQyLDB4NjEsMHg3MiwweDYyLDB4NjUsCi0weDcyLDB4MjAsMHg1MCwweDZGLDB4NkMsMHg2NSwweDAwLDB4NTUsMHg1NSwweDU1LDB4NTUsMHg1NSwweDJFLDB4MkUsMHgyRSwweDAwLAotMHg0RSwweDZGLDB4NkUsMHg2NSwweDAwLDB4NTgsMHg2RiwweDZFLDB4MkYsMHg1OCwweDZGLDB4NjYsMHg2NiwweDAwLDB4NDMsMHg1NCwKLTB4NTMsMHgwMCwweDUwLDB4NzIsMHg2NSwweDczLDB4NzMsMHgyMCwweDgwLDB4MjAsMHg2NiwweDZGLDB4NzIsMHgyMCwweDZELDB4NjUsCi0weDZFLDB4NzUsMHgwMCwweDI4LDB4NjMsMHg2RiwweDc1LDB4NkUsMHg3NCwweDY5LDB4NkUsMHg2NywweDJFLDB4MkUsMHgyRSwweDI5LAotMHgwMCwweDAwLDB4NjUsMHg0RSwweDY0LDB4MjAsMHg0RiwweDY2LDB4MjAsMHg0MywweDZGLDB4NDQsMHg2NSwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9pcDIvaXAyYmFzZS5jIGIvZHJpdmVycy9jaGFyL2lwMi9pcDJiYXNlLmMKaW5kZXggNDM1Y2NmYy4uODE1NWUyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2lwMi9pcDJiYXNlLmMKKysrIGIvZHJpdmVycy9jaGFyL2lwMi9pcDJiYXNlLmMKQEAgLTIxLDEwICsyMSw5IEBACiAjZW5kaWYKIAogI2luY2x1ZGUgImlwMnR5cGVzLmgiCQkKLSNpbmNsdWRlICJmaXBfZmlybS5oIgkJLy8gdGhlIG1lYXQKIAogaW50Ci1pcDJfbG9hZG1haW4oaW50ICosIGludCAgKiwgdW5zaWduZWQgY2hhciAqLCBpbnQgKTsgLy8gcmVmIGludG8gaXAybWFpbi5jCitpcDJfbG9hZG1haW4oaW50ICosIGludCAqKTsgLy8gcmVmIGludG8gaXAybWFpbi5jCiAKIC8qIE5vdGU6IEFkZCBjb21waWxlZCBpbiBkZWZhdWx0cyB0byB0aGVzZSBhcnJheXMsIG5vdCB0byB0aGUgc3RydWN0dXJlCiAJaW4gaXAyLmggYW55IGxvbmdlci4gIFRoYXQgc3RydWN0dXJlIFdJTEwgZ2V0IG92ZXJyaWRkZW4KQEAgLTUyLDcgKzUxLDcgQEAKIAkJaXJxWzBdID0gaXJxWzFdID0gaXJxWzJdID0gaXJxWzNdID0gMDsKIAl9CiAKLQlyZXR1cm4gaXAyX2xvYWRtYWluKGlvLGlycSwodW5zaWduZWQgY2hhciAqKWZpcF9maXJtLHNpemVvZihmaXBfZmlybSkpOworCXJldHVybiBpcDJfbG9hZG1haW4oaW8sIGlycSk7CiB9CiBtb2R1bGVfaW5pdChpcDJfaW5pdCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9pcDIvaXAybWFpbi5jIGIvZHJpdmVycy9jaGFyL2lwMi9pcDJtYWluLmMKaW5kZXggYzEyY2Y4Zi4uOWEyMzk0YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2lwMi9pcDJtYWluLmMKKysrIGIvZHJpdmVycy9jaGFyL2lwMi9pcDJtYWluLmMKQEAgLTk4LDYgKzk4LDkgQEAKICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAKICNpbmNsdWRlIDxsaW51eC90dHkuaD4KICNpbmNsdWRlIDxsaW51eC90dHlfZmxpcC5oPgpAQCAtMTU1LDkgKzE1OCw3IEBACiBzdGF0aWMgY2hhciAqcGNJcGwgICAgCQkgPSAiaXAyaXBsIjsKIAogLy8gY2hlZXp5IGtsdWRnZSBvciBnZW5pdXMgLSB5b3UgZGVjaWRlPwotaW50IGlwMl9sb2FkbWFpbihpbnQgKiwgaW50ICosIHVuc2lnbmVkIGNoYXIgKiwgaW50KTsKLXN0YXRpYyB1bnNpZ25lZCBjaGFyICpGaXBfZmlybXdhcmU7Ci1zdGF0aWMgaW50IEZpcF9maXJtd2FyZV9zaXplOworaW50IGlwMl9sb2FkbWFpbihpbnQgKiwgaW50ICopOwogCiAvKioqKioqKioqKioqKioqKioqKioqKiovCiAvKiBGdW5jdGlvbiBQcm90b3R5cGVzICovCkBAIC0yMDgsNyArMjA5LDcgQEAKIHN0YXRpYyBpbnQgRHVtcFRyYWNlQnVmZmVyKGNoYXIgX191c2VyICosIGludCk7CiBzdGF0aWMgaW50IER1bXBGaWZvQnVmZmVyKCBjaGFyIF9fdXNlciAqLCBpbnQpOwogCi1zdGF0aWMgdm9pZCBpcDJfaW5pdF9ib2FyZChpbnQpOworc3RhdGljIHZvaWQgaXAyX2luaXRfYm9hcmQoaW50LCBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKik7CiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgZmluZF9laXNhX2JvYXJkKGludCk7CiAKIC8qKioqKioqKioqKioqKiovCkBAIC00NzQsOCArNDc1LDI3IEBACiAvKiBTQV9SQU5ET00gICAtIGNhbiBiZSBzb3VyY2UgZm9yIGNlcnQuIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9ycyAqLwogI2RlZmluZSBJUDJfU0FfRkxBR1MJMAogCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmlwMl9yZXF1ZXN0X2Zpcm13YXJlKHZvaWQpCit7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCisJcGRldiA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9zaW1wbGUoImlwMiIsIDAsIE5VTEwsIDApOworCWlmIChJU19FUlIocGRldikpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gcmVnaXN0ZXIgcGxhdGZvcm0gZGV2aWNlIGZvciBpcDJcbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJaWYgKHJlcXVlc3RfZmlybXdhcmUoJmZ3LCAiaW50ZWxsaXBvcnQyLmJpbiIsICZwZGV2LT5kZXYpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgZmlybXdhcmUgJ2ludGVsbGlwb3J0Mi5iaW4nXG4iKTsKKwkJZncgPSBOVUxMOworCX0KKwlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihwZGV2KTsKKwlyZXR1cm4gZnc7Cit9CisKIGludAotaXAyX2xvYWRtYWluKGludCAqaW9wLCBpbnQgKmlycXAsIHVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCBpbnQgZmlybXNpemUpIAoraXAyX2xvYWRtYWluKGludCAqaW9wLCBpbnQgKmlycXApCiB7CiAJaW50IGksIGosIGJveDsKIAlpbnQgZXJyID0gMDsKQEAgLTQ4Myw2ICs1MDMsNyBAQAogCWkyZUJvcmRTdHJQdHIgcEIgPSBOVUxMOwogCWludCByYyA9IC0xOwogCXN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAqcGNpX2Rldl9pID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3ID0gTlVMTDsKIAogCWlwMnRyYWNlIChJVFJDX05PX1BPUlQsIElUUkNfSU5JVCwgSVRSQ19FTlRFUiwgMCApOwogCkBAIC01MTYsOSArNTM3LDYgQEAKIAl9CiAJcG9sbF9vbmx5ID0gIXBvbGxfb25seTsKIAotCUZpcF9maXJtd2FyZSA9IGZpcm13YXJlOwotCUZpcF9maXJtd2FyZV9zaXplID0gZmlybXNpemU7Ci0KIAkvKiBBbm5vdW5jZSBvdXIgcHJlc2VuY2UgKi8KIAlwcmludGsoIEtFUk5fSU5GTyAiJXMgdmVyc2lvbiAlc1xuIiwgcGNOYW1lLCBwY1ZlcnNpb24gKTsKIApAQCAtNjM4LDEwICs2NTYsMTggQEAKIAkJfQogCX0KIAlmb3IgKCBpID0gMDsgaSA8IElQMl9NQVhfQk9BUkRTOyArK2kgKSB7CisJCS8qIFdlIGRvbid0IHdhbnQgdG8gcmVxdWVzdCB0aGUgZmlybXdhcmUgdW5sZXNzIHdlIGhhdmUgYXQKKwkJICAgbGVhc3Qgb25lIGJvYXJkICovCiAJCWlmICggaTJCb2FyZFB0clRhYmxlW2ldICE9IE5VTEwgKSB7Ci0JCQlpcDJfaW5pdF9ib2FyZCggaSApOworCQkJaWYgKCFmdykKKwkJCQlmdyA9IGlwMl9yZXF1ZXN0X2Zpcm13YXJlKCk7CisJCQlpZiAoIWZ3KQorCQkJCWJyZWFrOworCQkJaXAyX2luaXRfYm9hcmQoaSwgZncpOwogCQl9CiAJfQorCWlmIChmdykKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAKIAlpcDJ0cmFjZSAoSVRSQ19OT19QT1JULCBJVFJDX0lOSVQsIDIsIDAgKTsKIApAQCAtNzY5LDcgKzc5NSw3IEBACiAvKiBhcmUgcmVwb3J0ZWQgb24gdGhlIGNvbnNvbGUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyB2b2lkCi1pcDJfaW5pdF9ib2FyZCggaW50IGJvYXJkbnVtICkKK2lwMl9pbml0X2JvYXJkKGludCBib2FyZG51bSwgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKIHsKIAlpbnQgaTsKIAlpbnQgbnBvcnRzID0gMCwgbmJveGVzID0gMDsKQEAgLTc4OSw3ICs4MTUsNyBAQAogCQlnb3RvIGVycl9pbml0aWFsaXplOwogCX0KIAotCWlmICggaWlEb3dubG9hZEFsbCAoIHBCLCAobG9hZEhkclN0clB0cilGaXBfZmlybXdhcmUsIDEsIEZpcF9maXJtd2FyZV9zaXplICkKKwlpZiAoIGlpRG93bmxvYWRBbGwgKCBwQiwgKGxvYWRIZHJTdHJQdHIpZnctPmRhdGEsIDEsIGZ3LT5zaXplICkKIAkgICAgIT0gSUlfRE9XTl9HT09EICkgewogCQlwcmludGsgKCBLRVJOX0VSUiAiSVAyOiBmYWlsZWQgdG8gZG93bmxvYWQgbG9hZHdhcmVcbiIgKTsKIAkJZ290byBlcnJfcmVsZWFzZV9yZWdpb247CkBAIC0yOTA4LDQyICsyOTM0LDExIEBACiBzdGF0aWMgaW50CiBpcDJfaXBsX29wZW4oIHN0cnVjdCBpbm9kZSAqcElub2RlLCBzdHJ1Y3QgZmlsZSAqcEZpbGUgKQogewotCXVuc2lnbmVkIGludCBpcGxtaW5vciA9IGltaW5vcihwSW5vZGUpOwotCWkyZUJvcmRTdHJQdHIgcEI7Ci0JaTJDaGFuU3RyUHRyICBwQ2g7CiAKICNpZmRlZiBJUDJERUJVR19JUEwKIAlwcmludGsgKEtFUk5fREVCVUcgIklQMklQTDogb3BlblxuIiApOwogI2VuZGlmCi0KLQlzd2l0Y2goaXBsbWlub3IpIHsKLQkvLyBUaGVzZSBhcmUgdGhlIElQTCBkZXZpY2VzCi0JY2FzZSAwOgotCWNhc2UgNDoKLQljYXNlIDg6Ci0JY2FzZSAxMjoKLQkJYnJlYWs7Ci0KLQkvLyBUaGVzZSBhcmUgdGhlIHN0YXR1cyBkZXZpY2VzCi0JY2FzZSAxOgotCWNhc2UgNToKLQljYXNlIDk6Ci0JY2FzZSAxMzoKLQkJYnJlYWs7Ci0KLQkvLyBUaGVzZSBhcmUgdGhlIGRlYnVnIGRldmljZXMKLQljYXNlIDI6Ci0JY2FzZSA2OgotCWNhc2UgMTA6Ci0JY2FzZSAxNDoKLQkJcEIgPSBpMkJvYXJkUHRyVGFibGVbaXBsbWlub3IgLyA0XTsKLQkJcENoID0gKGkyQ2hhblN0clB0cikgcEItPmkyZUNoYW5uZWxQdHI7Ci0JCWJyZWFrOwotCi0JLy8gVGhpcyBpcyB0aGUgdHJhY2UgZGV2aWNlCi0JY2FzZSAzOgotCQlicmVhazsKLQl9CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2lwMjctcnRjLmMgYi9kcml2ZXJzL2NoYXIvaXAyNy1ydGMuYwppbmRleCA4NmU2NTM4Li5lYzlkMDQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvaXAyNy1ydGMuYworKysgYi9kcml2ZXJzL2NoYXIvaXAyNy1ydGMuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2JjZC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CkBAIC0xNjMsMTUgKzE2NCwxOCBAQAogCiBzdGF0aWMgaW50IHJ0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwogCiAJaWYgKHJ0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikgewogCQlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAogCXJ0Y19zdGF0dXMgfD0gUlRDX0lTX09QRU47CiAJc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX2RldmludGYuYyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfZGV2aW50Zi5jCmluZGV4IDAyNDZhMmIuLmMxMWE0MDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfZGV2aW50Zi5jCisrKyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfZGV2aW50Zi5jCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBhdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKIHN0cnVjdCBpcG1pX2ZpbGVfcHJpdmF0ZQogewpAQCAtMTAwLDcgKzEwMSw5IEBACiAJc3RydWN0IGlwbWlfZmlsZV9wcml2YXRlICpwcml2ID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwogCWludCAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ7CiAKKwlsb2NrX2tlcm5lbCgpOyAvKiBjb3VsZCByYWNlIGFnYWluc3Qgb3BlbigpIG90aGVyd2lzZSAqLwogCXJlc3VsdCA9IGZhc3luY19oZWxwZXIoZmQsIGZpbGUsIG9uLCAmcHJpdi0+ZmFzeW5jX3F1ZXVlKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gKHJlc3VsdCk7CiB9CkBAIC0xMjEsNiArMTI0LDcgQEAKIAlpZiAoIXByaXYpCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlwcml2LT5maWxlID0gZmlsZTsKIAogCXJ2ID0gaXBtaV9jcmVhdGVfdXNlcihpZl9udW0sCkBAIC0xMjksNyArMTMzLDcgQEAKIAkJCSAgICAgICYocHJpdi0+dXNlcikpOwogCWlmIChydikgewogCQlrZnJlZShwcml2KTsKLQkJcmV0dXJuIHJ2OworCQlnb3RvIG91dDsKIAl9CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBwcml2OwpAQCAtMTQ0LDcgKzE0OCw5IEBACiAJcHJpdi0+ZGVmYXVsdF9yZXRyaWVzID0gLTE7CiAJcHJpdi0+ZGVmYXVsdF9yZXRyeV90aW1lX21zID0gMDsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcnY7CiB9CiAKIHN0YXRpYyBpbnQgaXBtaV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV93YXRjaGRvZy5jIGIvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV93YXRjaGRvZy5jCmluZGV4IDFiOWE4NzAuLjIzNWZhYjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfd2F0Y2hkb2cuYworKysgYi9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3dhdGNoZG9nLmMKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2lwbWkuaD4KICNpbmNsdWRlIDxsaW51eC9pcG1pX3NtaS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd2F0Y2hkb2cuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtNzU1LDkgKzc1Niw4IEBACiAJCXJ2ID0gaXBtaV9oZWFydGJlYXQoKTsKIAkJaWYgKHJ2KQogCQkJcmV0dXJuIHJ2OwotCQlyZXR1cm4gMTsKIAl9Ci0JcmV0dXJuIDA7CisJcmV0dXJuIGxlbjsKIH0KIAogc3RhdGljIHNzaXplX3QgaXBtaV9yZWFkKHN0cnVjdCBmaWxlICpmaWxlLApAQCAtODE5LDYgKzgxOSw4IEBACiAJCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZpcG1pX3dkb2dfb3BlbikpCiAJCQlyZXR1cm4gLUVCVVNZOwogCisJCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CisKIAkJLyoKIAkJICogRG9uJ3Qgc3RhcnQgdGhlIHRpbWVyIG5vdywgbGV0IGl0IHN0YXJ0IG9uIHRoZQogCQkgKiBmaXJzdCBoZWFydGJlYXQuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvbGNkLmMgYi9kcml2ZXJzL2NoYXIvbGNkLmMKaW5kZXggNGZlOTIwNi4uMWMyOWIyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2xjZC5jCisrKyBiL2RyaXZlcnMvY2hhci9sY2QuYwpAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTQxNCw2ICs0MTUsOCBAQAogCiBzdGF0aWMgaW50IGxjZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CisKIAlpZiAoIWxjZF9wcmVzZW50KQogCQlyZXR1cm4gLUVOWElPOwogCWVsc2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9scC5jIGIvZHJpdmVycy9jaGFyL2xwLmMKaW5kZXggNjBhYzY0Mi4uNzFhYmI0YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2xwLmMKKysrIGIvZHJpdmVycy9jaGFyL2xwLmMKQEAgLTEyNiw2ICsxMjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGxpbnV4L3BhcnBvcnQuaD4KICN1bmRlZiBMUF9TVEFUUwpAQCAtNDg5LDE0ICs0OTAsMjEgQEAKIHN0YXRpYyBpbnQgbHBfb3BlbihzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxlKQogewogCXVuc2lnbmVkIGludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CisJaW50IHJldCA9IDA7CiAKLQlpZiAobWlub3IgPj0gTFBfTk8pCi0JCXJldHVybiAtRU5YSU87Ci0JaWYgKChMUF9GKG1pbm9yKSAmIExQX0VYSVNUKSA9PSAwKQotCQlyZXR1cm4gLUVOWElPOwotCWlmICh0ZXN0X2FuZF9zZXRfYml0KExQX0JVU1lfQklUX1BPUywgJkxQX0YobWlub3IpKSkKLQkJcmV0dXJuIC1FQlVTWTsKLQorCWxvY2tfa2VybmVsKCk7CisJaWYgKG1pbm9yID49IExQX05PKSB7CisJCXJldCA9IC1FTlhJTzsKKwkJZ290byBvdXQ7CisJfQorCWlmICgoTFBfRihtaW5vcikgJiBMUF9FWElTVCkgPT0gMCkgeworCQlyZXQgPSAtRU5YSU87CisJCWdvdG8gb3V0OworCX0KKwlpZiAodGVzdF9hbmRfc2V0X2JpdChMUF9CVVNZX0JJVF9QT1MsICZMUF9GKG1pbm9yKSkpIHsKKwkJcmV0ID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAJLyogSWYgQUJPUlRPUEVOIGlzIHNldCBhbmQgdGhlIHByaW50ZXIgaXMgb2ZmbGluZSBvciBvdXQgb2YgcGFwZXIsCiAJICAgd2UgbWF5IHN0aWxsIHdhbnQgdG8gb3BlbiBpdCB0byBwZXJmb3JtIGlvY3RsKClzLiAgVGhlcmVmb3JlIHdlCiAJICAgaGF2ZSBjb21tYW5kZWVyZWQgT19OT05CTE9DSywgZXZlbiB0aG91Z2ggaXQgaXMgYmVpbmcgdXNlZCBpbgpAQCAtNTEwLDIxICs1MTgsMjUgQEAKIAkJaWYgKHN0YXR1cyAmIExQX1BPVVRQQSkgewogCQkJcHJpbnRrKEtFUk5fSU5GTyAibHAlZCBvdXQgb2YgcGFwZXJcbiIsIG1pbm9yKTsKIAkJCUxQX0YobWlub3IpICY9IH5MUF9CVVNZOwotCQkJcmV0dXJuIC1FTk9TUEM7CisJCQlyZXQgPSAtRU5PU1BDOworCQkJZ290byBvdXQ7CiAJCX0gZWxzZSBpZiAoIShzdGF0dXMgJiBMUF9QU0VMRUNEKSkgewogCQkJcHJpbnRrKEtFUk5fSU5GTyAibHAlZCBvZmYtbGluZVxuIiwgbWlub3IpOwogCQkJTFBfRihtaW5vcikgJj0gfkxQX0JVU1k7Ci0JCQlyZXR1cm4gLUVJTzsKKwkJCXJldCA9IC1FSU87CisJCQlnb3RvIG91dDsKIAkJfSBlbHNlIGlmICghKHN0YXR1cyAmIExQX1BFUlJPUlApKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgImxwJWQgcHJpbnRlciBlcnJvclxuIiwgbWlub3IpOwogCQkJTFBfRihtaW5vcikgJj0gfkxQX0JVU1k7Ci0JCQlyZXR1cm4gLUVJTzsKKwkJCXJldCA9IC1FSU87CisJCQlnb3RvIG91dDsKIAkJfQogCX0KIAlscF90YWJsZVttaW5vcl0ubHBfYnVmZmVyID0ga21hbGxvYyhMUF9CVUZGRVJfU0laRSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFscF90YWJsZVttaW5vcl0ubHBfYnVmZmVyKSB7CiAJCUxQX0YobWlub3IpICY9IH5MUF9CVVNZOwotCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CiAJfQogCS8qIERldGVybWluZSBpZiB0aGUgcGVyaXBoZXJhbCBzdXBwb3J0cyBFQ1AgbW9kZSAqLwogCWxwX2NsYWltX3BhcnBvcnRfb3JfYmxvY2sgKCZscF90YWJsZVttaW5vcl0pOwpAQCAtNTQwLDcgKzU1Miw5IEBACiAJcGFycG9ydF9uZWdvdGlhdGUgKGxwX3RhYmxlW21pbm9yXS5kZXYtPnBvcnQsIElFRUUxMjg0X01PREVfQ09NUEFUKTsKIAlscF9yZWxlYXNlX3BhcnBvcnQgKCZscF90YWJsZVttaW5vcl0pOwogCWxwX3RhYmxlW21pbm9yXS5jdXJyZW50X21vZGUgPSBJRUVFMTI4NF9NT0RFX0NPTVBBVDsKLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBscF9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvbWJjcy5jIGIvZHJpdmVycy9jaGFyL21iY3MuYwppbmRleCBmNDcxNmFkLi5hY2Q4ZTllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbWJjcy5jCisrKyBiL2RyaXZlcnMvY2hhci9tYmNzLmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KQEAgLTM4MiwxNSArMzgzLDE5IEBACiAJc3RydWN0IG1iY3Nfc29mdCAqc29mdDsKIAlpbnQgbWlub3I7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW1pbm9yID0gaW1pbm9yKGlwKTsKIAorCS8qIE5vdGhpbmcgcHJvdGVjdHMgYWNjZXNzIHRvIHRoaXMgbGlzdC4uLiAqLwogCWxpc3RfZm9yX2VhY2hfZW50cnkoc29mdCwgJnNvZnRfbGlzdCwgbGlzdCkgewogCQlpZiAoc29mdC0+bmFzaWQgPT0gbWlub3IpIHsKIAkJCWZwLT5wcml2YXRlX2RhdGEgPSBzb2Z0LT5jeGRldjsKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybiAwOwogCQl9CiAJfQogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAtRU5PREVWOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvbWVtLmMgYi9kcml2ZXJzL2NoYXIvbWVtLmMKaW5kZXggOTM0ZmZhZi4uMDcwZTIyZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL21lbS5jCisrKyBiL2RyaXZlcnMvY2hhci9tZW0uYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9zcGxpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9wZm4uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTg4OSw2ICs4OTAsOSBAQAogCiBzdGF0aWMgaW50IG1lbW9yeV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApCiB7CisJaW50IHJldCA9IDA7CisKKwlsb2NrX2tlcm5lbCgpOwogCXN3aXRjaCAoaW1pbm9yKGlub2RlKSkgewogCQljYXNlIDE6CiAJCQlmaWxwLT5mX29wID0gJm1lbV9mb3BzOwpAQCAtOTMyLDExICs5MzYsMTMgQEAKIAkJCWJyZWFrOwogI2VuZGlmCiAJCWRlZmF1bHQ6CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gLUVOWElPOwogCX0KIAlpZiAoZmlscC0+Zl9vcCAmJiBmaWxwLT5mX29wLT5vcGVuKQotCQlyZXR1cm4gZmlscC0+Zl9vcC0+b3Blbihpbm9kZSxmaWxwKTsKLQlyZXR1cm4gMDsKKwkJcmV0ID0gZmlscC0+Zl9vcC0+b3Blbihpbm9kZSxmaWxwKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbWVtb3J5X2ZvcHMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvbWlzYy5jIGIvZHJpdmVycy9jaGFyL21pc2MuYwppbmRleCBlYWFjZTBkLi42ZTE1NjNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbWlzYy5jCisrKyBiL2RyaXZlcnMvY2hhci9taXNjLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC90dHkuaD4KICNpbmNsdWRlIDxsaW51eC9rbW9kLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogLyoKICAqIEhlYWQgZW50cnkgZm9yIHRoZSBkb3VibHkgbGlua2VkIG1pc2NkZXZpY2UgbGlzdApAQCAtMTE4LDYgKzExOSw3IEBACiAJaW50IGVyciA9IC1FTk9ERVY7CiAJY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyAqb2xkX2ZvcHMsICpuZXdfZm9wcyA9IE5VTEw7CiAJCisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9sb2NrKCZtaXNjX210eCk7CiAJCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjLCAmbWlzY19saXN0LCBsaXN0KSB7CkBAIC0xNTUsNiArMTU3LDcgQEAKIAlmb3BzX3B1dChvbGRfZm9wcyk7CiBmYWlsOgogCW11dGV4X3VubG9jaygmbWlzY19tdHgpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvbW94YS5jIGIvZHJpdmVycy9jaGFyL21veGEuYwppbmRleCBkNTdkM2E2Li5lMjEzNDZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbW94YS5jCisrKyBiL2RyaXZlcnMvY2hhci9tb3hhLmMKQEAgLTcyMSw3ICs3MjEsNyBAQAogCiBzdGF0aWMgaW50IG1veGFfbG9hZF9mdyhzdHJ1Y3QgbW94YV9ib2FyZF9jb25mICpicmQsIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpCiB7Ci0Jdm9pZCAqcHRyID0gZnctPmRhdGE7CisJY29uc3Qgdm9pZCAqcHRyID0gZnctPmRhdGE7CiAJY2hhciByc25bNjRdOwogCXUxNiBsZW5zWzVdOwogCXNpemVfdCBsZW47CkBAIC03MzQsNyArNzM0LDcgQEAKIAkJdTggbW9kZWw7CS8qIEMyMThUPTEsIEMzMjBUPTIsIENQMjA0PTMgKi8KIAkJdTggcmVzZXJ2ZWQyWzhdOwogCQlfX2xlMTYgbGVuWzVdOwotCX0gKmhkciA9IHB0cjsKKwl9IGNvbnN0ICpoZHIgPSBwdHI7CiAKIAlCVUlMRF9CVUdfT04oQVJSQVlfU0laRShoZHItPmxlbikgIT0gQVJSQVlfU0laRShsZW5zKSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9td2F2ZS9td2F2ZWRkLmMgYi9kcml2ZXJzL2NoYXIvbXdhdmUvbXdhdmVkZC5jCmluZGV4IDhkMTQ4MjMuLjUwMjQzZmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9td2F2ZS9td2F2ZWRkLmMKKysrIGIvZHJpdmVycy9jaGFyL213YXZlL213YXZlZGQuYwpAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsXzgyNTAuaD4KICNpbmNsdWRlICJzbWFwaS5oIgpAQCAtMTAwLDYgKzEwMSw3IEBACiAJUFJJTlRLXzIoVFJBQ0VfTVdBVkUsCiAJCSJtd2F2ZWRkOjptd2F2ZV9vcGVuLCBleGl0IHJldHVybiByZXR2YWwgJXhcbiIsIHJldHZhbCk7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiByZXR2YWw7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9udnJhbS5jIGIvZHJpdmVycy9jaGFyL252cmFtLmMKaW5kZXggOThkZWMzOC4uMTk3Y2Q3YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL252cmFtLmMKKysrIGIvZHJpdmVycy9jaGFyL252cmFtLmMKQEAgLTEwNyw2ICsxMDcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KQEAgLTMzMywxMiArMzM0LDE0IEBACiBzdGF0aWMgaW50CiBudnJhbV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZudnJhbV9zdGF0ZV9sb2NrKTsKIAogCWlmICgobnZyYW1fb3Blbl9jbnQgJiYgKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKSB8fAogCSAgICAobnZyYW1fb3Blbl9tb2RlICYgTlZSQU1fRVhDTCkgfHwKIAkgICAgKChmaWxlLT5mX21vZGUgJiAyKSAmJiAobnZyYW1fb3Blbl9tb2RlICYgTlZSQU1fV1JJVEUpKSkgewogCQlzcGluX3VubG9jaygmbnZyYW1fc3RhdGVfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKQEAgLTM0OSw2ICszNTIsNyBAQAogCW52cmFtX29wZW5fY250Kys7CiAKIAlzcGluX3VubG9jaygmbnZyYW1fc3RhdGVfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcGM4NzM2eF9ncGlvLmMgYi9kcml2ZXJzL2NoYXIvcGM4NzM2eF9ncGlvLmMKaW5kZXggZWNmYWYxOC4uYjkzMGRlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3BjODczNnhfZ3Bpby5jCisrKyBiL2RyaXZlcnMvY2hhci9wYzg3MzZ4X2dwaW8uYwpAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvbnNjX2dwaW8uaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKICNkZWZpbmUgREVWTkFNRSAicGM4NzM2eF9ncGlvIgpAQCAtMjE3LDYgKzIxOCw3IEBACiAJdW5zaWduZWQgbSA9IGltaW5vcihpbm9kZSk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gJnBjODczNnhfZ3Bpb19vcHM7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWRldl9kYmcoJnBkZXYtPmRldiwgIm9wZW4gJWRcbiIsIG0pOwogCiAJaWYgKG0gPj0gUEM4NzM2WF9HUElPX0NUKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwMDBfY3MuYyBiL2RyaXZlcnMvY2hhci9wY21jaWEvY200MDAwX2NzLmMKaW5kZXggNGE5MzNkNC4uNTljYTM1MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwMDBfY3MuYworKysgYi9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDAwMF9jcy5jCkBAIC0zMiw4ICszMiw5IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdHJldi5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgpAQCAtMTQwNSwxMSArMTQwNiwxMSBAQAogCURFQlVHUCgzLCBkZXYsICI8LSBzdG9wX21vbml0b3JcbiIpOwogfQogCi1zdGF0aWMgaW50IGNtbV9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50IGNtZCwKLQkJICAgICB1bnNpZ25lZCBsb25nIGFyZykKK3N0YXRpYyBsb25nIGNtbV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCiB7CiAJc3RydWN0IGNtNDAwMF9kZXYgKmRldiA9IGZpbHAtPnByaXZhdGVfZGF0YTsKIAl1bnNpZ25lZCBpbnQgaW9iYXNlID0gZGV2LT5wX2Rldi0+aW8uQmFzZVBvcnQxOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxwLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlOwogCXN0cnVjdCBwY21jaWFfZGV2aWNlICpsaW5rOwogCWludCBzaXplOwogCWludCByYzsKQEAgLTE0MjYsMzggKzE0MjcsNDIgQEAKIAlERUJVR1AoMywgZGV2LCAiY21tX2lvY3RsKGRldmljZT0lZC4lZCkgJXNcbiIsIGltYWpvcihpbm9kZSksCiAJICAgICAgIGltaW5vcihpbm9kZSksIGlvY3RsX25hbWVzW19JT0NfTlIoY21kKV0pOwogCisJbG9ja19rZXJuZWwoKTsKKwlyYyA9IC1FTk9ERVY7CiAJbGluayA9IGRldl90YWJsZVtpbWlub3IoaW5vZGUpXTsKIAlpZiAoIXBjbWNpYV9kZXZfcHJlc2VudChsaW5rKSkgewogCQlERUJVR1AoNCwgZGV2LCAiREVWX09LIGZhbHNlXG4iKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAogCWlmICh0ZXN0X2JpdChJU19DTU1fQUJTRU5ULCAmZGV2LT5mbGFncykpIHsKIAkJREVCVUdQKDQsIGRldiwgIkNNTV9BQlNFTlQgZmxhZyBzZXRcbiIpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQorCXJjID0gRUlOVkFMOwogCiAJaWYgKF9JT0NfVFlQRShjbWQpICE9IENNX0lPQ19NQUdJQykgewogCQlERUJVR1AoNCwgZGV2LCAiaW9jdHlwZSBtaXNtYXRjaFxuIik7Ci0JCXJldHVybiAtRUlOVkFMOworCQlnb3RvIG91dDsKIAl9CiAJaWYgKF9JT0NfTlIoY21kKSA+IENNX0lPQ19NQVhOUikgewogCQlERUJVR1AoNCwgZGV2LCAiaW9jbnIgbWlzbWF0Y2hcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKKwkJZ290byBvdXQ7CiAJfQogCXNpemUgPSBfSU9DX1NJWkUoY21kKTsKLQlyYyA9IDA7CisJcmMgPSAtRUZBVUxUOwogCURFQlVHUCg0LCBkZXYsICJpb2NkaXI9JS40eCBpb2NyPSUuNHggaW9jdz0lLjR4IGlvY3NpemU9JWQgY21kPSUuNHhcbiIsCiAJICAgICAgX0lPQ19ESVIoY21kKSwgX0lPQ19SRUFELCBfSU9DX1dSSVRFLCBzaXplLCBjbWQpOwogCiAJaWYgKF9JT0NfRElSKGNtZCkgJiBfSU9DX1JFQUQpIHsKIAkJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1dSSVRFLCBhcmdwLCBzaXplKSkKLQkJCXJldHVybiAtRUZBVUxUOworCQkJZ290byBvdXQ7CiAJfQogCWlmIChfSU9DX0RJUihjbWQpICYgX0lPQ19XUklURSkgewogCQlpZiAoIWFjY2Vzc19vayhWRVJJRllfUkVBRCwgYXJncCwgc2l6ZSkpCi0JCQlyZXR1cm4gLUVGQVVMVDsKKwkJCWdvdG8gb3V0OwogCX0KKwlyYyA9IDA7CiAKIAlzd2l0Y2ggKGNtZCkgewogCWNhc2UgQ01fSU9DR1NUQVRVUzoKQEAgLTE0NzcsOSArMTQ4Miw5IEBACiAJCQlpZiAodGVzdF9iaXQoSVNfQkFEX0NBUkQsICZkZXYtPmZsYWdzKSkKIAkJCQlzdGF0dXMgfD0gQ01fQkFEX0NBUkQ7CiAJCQlpZiAoY29weV90b191c2VyKGFyZ3AsICZzdGF0dXMsIHNpemVvZihpbnQpKSkKLQkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJCQlyYyA9IC1FRkFVTFQ7CiAJCX0KLQkJcmV0dXJuIDA7CisJCWJyZWFrOwogCWNhc2UgQ01fSU9DR0FUUjoKIAkJREVCVUdQKDQsIGRldiwgIi4uLiBpbiBDTV9JT0NHQVRSXG4iKTsKIAkJewpAQCAtMTQ5MiwyNSArMTQ5NywyOSBAQAogCQkJICAgICAgfHwgKHRlc3RfYml0KElTX0FUUl9QUkVTRU5ULCAodm9pZCAqKSZkZXYtPmZsYWdzKQogCQkJCSAgIT0gMCkpKSkgewogCQkJCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykKLQkJCQkJcmV0dXJuIC1FQUdBSU47Ci0JCQkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwkJCQkJcmMgPSAtRUFHQUlOOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRVJFU1RBUlRTWVM7CisJCQkJYnJlYWs7CiAJCQl9CiAKKwkJCXJjID0gLUVGQVVMVDsKIAkJCWlmICh0ZXN0X2JpdChJU19BVFJfVkFMSUQsICZkZXYtPmZsYWdzKSA9PSAwKSB7CiAJCQkJdG1wID0gLTE7CiAJCQkJaWYgKGNvcHlfdG9fdXNlcigmKGF0cmVxLT5hdHJfbGVuKSwgJnRtcCwKIAkJCQkJCSBzaXplb2YoaW50KSkpCi0JCQkJCXJldHVybiAtRUZBVUxUOworCQkJCQlicmVhazsKIAkJCX0gZWxzZSB7CiAJCQkJaWYgKGNvcHlfdG9fdXNlcihhdHJlcS0+YXRyLCBkZXYtPmF0ciwKIAkJCQkJCSBkZXYtPmF0cl9sZW4pKQotCQkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJCQkJYnJlYWs7CiAKIAkJCQl0bXAgPSBkZXYtPmF0cl9sZW47CiAJCQkJaWYgKGNvcHlfdG9fdXNlcigmKGF0cmVxLT5hdHJfbGVuKSwgJnRtcCwgc2l6ZW9mKGludCkpKQotCQkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJCQkJYnJlYWs7CiAJCQl9Ci0JCQlyZXR1cm4gMDsKKwkJCXJjID0gMDsKKwkJCWJyZWFrOwogCQl9CiAJY2FzZSBDTV9JT0NBUkRPRkY6CiAKQEAgLTE1MzgsOCArMTU0NywxMCBAQAogCQkJICAgICAgfHwgKHRlc3RfYW5kX3NldF9iaXQoTE9DS19JTywgKHZvaWQgKikmZGV2LT5mbGFncykKIAkJCQkgID09IDApKSkpIHsKIAkJCQlpZiAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spCi0JCQkJCXJldHVybiAtRUFHQUlOOwotCQkJCXJldHVybiAtRVJFU1RBUlRTWVM7CisJCQkJCXJjID0gLUVBR0FJTjsKKwkJCQllbHNlCisJCQkJCXJjID0gLUVSRVNUQVJUU1lTOworCQkJCWJyZWFrOwogCQkJfQogCQkJLyogU2V0IEZsYWdzMCA9IDB4NDIgKi8KIAkJCURFQlVHUCg0LCBkZXYsICJTZXQgRmxhZ3MwPTB4NDIgXG4iKTsKQEAgLTE1NTQsOCArMTU2NSwxMCBAQAogCQkJICAgICAgfHwgKHRlc3RfYml0KElTX0FUUl9WQUxJRCwgKHZvaWQgKikmZGV2LT5mbGFncykgIT0KIAkJCQkgIDApKSkpIHsKIAkJCQlpZiAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spCi0JCQkJCXJldHVybiAtRUFHQUlOOwotCQkJCXJldHVybiAtRVJFU1RBUlRTWVM7CisJCQkJCXJjID0gLUVBR0FJTjsKKwkJCQllbHNlCisJCQkJCXJjID0gLUVSRVNUQVJUU1lTOworCQkJCWJyZWFrOwogCQkJfQogCQl9CiAJCS8qIHJlbGVhc2UgbG9jayAqLwpAQCAtMTU2OCw4ICsxNTgxLDEwIEBACiAJCQlzdHJ1Y3QgcHRzcmVxIGtybnB0c3JlcTsKIAogCQkJaWYgKGNvcHlfZnJvbV91c2VyKCZrcm5wdHNyZXEsIGFyZ3AsCi0JCQkJCSAgIHNpemVvZihzdHJ1Y3QgcHRzcmVxKSkpCi0JCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQkJCSAgIHNpemVvZihzdHJ1Y3QgcHRzcmVxKSkpIHsKKwkJCQlyYyA9IC1FRkFVTFQ7CisJCQkJYnJlYWs7CisJCQl9CiAKIAkJCXJjID0gMDsKIAkJCURFQlVHUCg0LCBkZXYsICIuLi4gaW4gQ01fSU9DU1BUU1xuIik7CkBAIC0xNTgwLDggKzE1OTUsMTAgQEAKIAkJCSAgICAgIHx8ICh0ZXN0X2JpdChJU19BVFJfUFJFU0VOVCwgKHZvaWQgKikmZGV2LT5mbGFncykKIAkJCQkgICE9IDApKSkpIHsKIAkJCQlpZiAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spCi0JCQkJCXJldHVybiAtRUFHQUlOOwotCQkJCXJldHVybiAtRVJFU1RBUlRTWVM7CisJCQkJCXJjID0gLUVBR0FJTjsKKwkJCQllbHNlCisJCQkJCXJjID0gLUVSRVNUQVJUU1lTOworCQkJCWJyZWFrOwogCQkJfQogCQkJLyogZ2V0IElPIGxvY2sgKi8KIAkJCWlmICh3YWl0X2V2ZW50X2ludGVycnVwdGlibGUKQEAgLTE1OTAsOCArMTYwNywxMCBAQAogCQkJICAgICAgfHwgKHRlc3RfYW5kX3NldF9iaXQoTE9DS19JTywgKHZvaWQgKikmZGV2LT5mbGFncykKIAkJCQkgID09IDApKSkpIHsKIAkJCQlpZiAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spCi0JCQkJCXJldHVybiAtRUFHQUlOOwotCQkJCXJldHVybiAtRVJFU1RBUlRTWVM7CisJCQkJCXJjID0gLUVBR0FJTjsKKwkJCQllbHNlCisJCQkJCXJjID0gLUVSRVNUQVJUU1lTOworCQkJCWJyZWFrOwogCQkJfQogCiAJCQlpZiAoKHJjID0gc2V0X3Byb3RvY29sKGRldiwgJmtybnB0c3JlcSkpICE9IDApIHsKQEAgLTE2MDQsNyArMTYyMyw3IEBACiAJCQl3YWtlX3VwX2ludGVycnVwdGlibGUoJmRldi0+aW9xKTsKIAogCQl9Ci0JCXJldHVybiByYzsKKwkJYnJlYWs7CiAjaWZkZWYgUENNQ0lBX0RFQlVHCiAJY2FzZSBDTV9JT1NEQkdMVkw6CS8qIHNldCBkZWJ1ZyBsb2cgbGV2ZWwgKi8KIAkJewpAQCAtMTYxMiwxOCArMTYzMSwyMCBAQAogCiAJCQlvbGRfcGNfZGVidWcgPSBwY19kZWJ1ZzsKIAkJCWlmIChjb3B5X2Zyb21fdXNlcigmcGNfZGVidWcsIGFyZ3AsIHNpemVvZihpbnQpKSkKLQkJCQlyZXR1cm4gLUVGQVVMVDsKLQotCQkJaWYgKG9sZF9wY19kZWJ1ZyAhPSBwY19kZWJ1ZykKKwkJCQlyYyA9IC1FRkFVTFQ7CisJCQllbHNlIGlmIChvbGRfcGNfZGVidWcgIT0gcGNfZGVidWcpCiAJCQkJREVCVUdQKDAsIGRldiwgIkNoYW5nZWQgZGVidWcgbG9nIGxldmVsICIKIAkJCQkgICAgICAgInRvICVpXG4iLCBwY19kZWJ1Zyk7CiAJCX0KLQkJcmV0dXJuIHJjOworCQlicmVhazsKICNlbmRpZgogCWRlZmF1bHQ6CiAJCURFQlVHUCg0LCBkZXYsICIuLi4gaW4gZGVmYXVsdCAodW5rbm93biBJT0NUTCBjb2RlKVxuIik7Ci0JCXJldHVybiAtRUlOVkFMOworCQlyYyA9IC1FTk9UVFk7CiAJfQorb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBpbnQgY21tX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCkBAIC0xNjMxLDE2ICsxNjUyLDIyIEBACiAJc3RydWN0IGNtNDAwMF9kZXYgKmRldjsKIAlzdHJ1Y3QgcGNtY2lhX2RldmljZSAqbGluazsKIAlpbnQgbWlub3IgPSBpbWlub3IoaW5vZGUpOworCWludCByZXQ7CiAKIAlpZiAobWlub3IgPj0gQ000MDAwX01BWF9ERVYpCiAJCXJldHVybiAtRU5PREVWOwogCisJbG9ja19rZXJuZWwoKTsKIAlsaW5rID0gZGV2X3RhYmxlW21pbm9yXTsKLQlpZiAobGluayA9PSBOVUxMIHx8ICFwY21jaWFfZGV2X3ByZXNlbnQobGluaykpCi0JCXJldHVybiAtRU5PREVWOworCWlmIChsaW5rID09IE5VTEwgfHwgIXBjbWNpYV9kZXZfcHJlc2VudChsaW5rKSkgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKLQlpZiAobGluay0+b3BlbikKLQkJcmV0dXJuIC1FQlVTWTsKKwlpZiAobGluay0+b3BlbikgeworCQlyZXQgPSAtRUJVU1k7CisJCWdvdG8gb3V0OworCX0KIAogCWRldiA9IGxpbmstPnByaXY7CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gZGV2OwpAQCAtMTY2MCw4ICsxNjg3LDEwIEBACiAJICogdmFpbGQgPSBibG9jayB1bnRpbCB2YWxpZCAob3IgY2FyZAogCSAqIGluc2VydGVkKQogCSAqLwotCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykKLQkJcmV0dXJuIC1FQUdBSU47CisJaWYgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSB7CisJCXJldCA9IC1FQUdBSU47CisJCWdvdG8gb3V0OworCX0KIAogCWRldi0+bWRlbGF5ID0gVF81ME1TRUM7CiAKQEAgLTE2NzEsNyArMTcwMCwxMCBAQAogCWxpbmstPm9wZW4gPSAxOwkJLyogb25seSBvbmUgb3BlbiBwZXIgZGV2aWNlICovCiAKIAlERUJVR1AoMiwgZGV2LCAiPC0gY21tX29wZW5cbiIpOwotCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKKwlyZXQgPSBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBjbW1fY2xvc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCkBAIC0xODk3LDcgKzE5MjksNyBAQAogCS5vd25lcgk9IFRISVNfTU9EVUxFLAogCS5yZWFkCT0gY21tX3JlYWQsCiAJLndyaXRlCT0gY21tX3dyaXRlLAotCS5pb2N0bAk9IGNtbV9pb2N0bCwKKwkudW5sb2NrZWRfaW9jdGwJPSBjbW1faW9jdGwsCiAJLm9wZW4JPSBjbW1fb3BlbiwKIAkucmVsZWFzZT0gY21tX2Nsb3NlLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9wY21jaWEvY200MDQwX2NzLmMgYi9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDA0MF9jcy5jCmluZGV4IDAzNTA4NGMuLjYxODFmOGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9wY21jaWEvY200MDQwX2NzLmMKKysrIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwNDBfY3MuYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTQ0OCwyMyArNDQ5LDMwIEBACiAJc3RydWN0IHJlYWRlcl9kZXYgKmRldjsKIAlzdHJ1Y3QgcGNtY2lhX2RldmljZSAqbGluazsKIAlpbnQgbWlub3IgPSBpbWlub3IoaW5vZGUpOworCWludCByZXQ7CiAKIAlpZiAobWlub3IgPj0gQ01fTUFYX0RFVikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWxpbmsgPSBkZXZfdGFibGVbbWlub3JdOwotCWlmIChsaW5rID09IE5VTEwgfHwgIXBjbWNpYV9kZXZfcHJlc2VudChsaW5rKSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKGxpbmsgPT0gTlVMTCB8fCAhcGNtY2lhX2Rldl9wcmVzZW50KGxpbmspKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAotCWlmIChsaW5rLT5vcGVuKQotCQlyZXR1cm4gLUVCVVNZOworCWlmIChsaW5rLT5vcGVuKSB7CisJCXJldCA9IC1FQlVTWTsKKwkJZ290byBvdXQ7CisJfQogCiAJZGV2ID0gbGluay0+cHJpdjsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBkZXY7CiAKIAlpZiAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spIHsKIAkJREVCVUdQKDQsIGRldiwgImZpbGVwLT5mX2ZsYWdzIE9fTk9OQkxPQ0sgc2V0XG4iKTsKLQkJcmV0dXJuIC1FQUdBSU47CisJCXJldCA9IC1FQUdBSU47CisJCWdvdG8gb3V0OwogCX0KIAogCWxpbmstPm9wZW4gPSAxOwpAQCAtNDczLDcgKzQ4MSwxMCBAQAogCW1vZF90aW1lcigmZGV2LT5wb2xsX3RpbWVyLCBqaWZmaWVzICsgUE9MTF9QRVJJT0QpOwogCiAJREVCVUdQKDIsIGRldiwgIjwtIGNtNDA0MF9vcGVuIChzdWNjZXNzZnVsbHkpXG4iKTsKLQlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CisJcmV0ID0gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgY200MDQwX2Nsb3NlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3BjbWNpYS9pcHdpcmVsZXNzL2hhcmR3YXJlLmMgYi9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvaGFyZHdhcmUuYwppbmRleCBiYTYzNDBhLi45MjkxMDFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvaGFyZHdhcmUuYworKysgYi9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvaGFyZHdhcmUuYwpAQCAtNTkwLDggKzU5MCwxMCBAQAogCQlwYWNrZXQgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgaXB3X3J4X3BhY2tldCkgKwogCQkJCW9sZF9wYWNrZXQtPmxlbmd0aCArIG1pbmltdW1fZnJlZV9zcGFjZSwKIAkJCQlHRlBfQVRPTUlDKTsKLQkJaWYgKCFwYWNrZXQpCisJCWlmICghcGFja2V0KSB7CisJCQlrZnJlZShvbGRfcGFja2V0KTsKIAkJCXJldHVybiBOVUxMOworCQl9CiAJCW1lbWNweShwYWNrZXQsIG9sZF9wYWNrZXQsCiAJCQkJc2l6ZW9mKHN0cnVjdCBpcHdfcnhfcGFja2V0KQogCQkJCQkrIG9sZF9wYWNrZXQtPmxlbmd0aCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvbWFpbi5jIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9pcHdpcmVsZXNzL21haW4uYwppbmRleCAwMGM3Zjg0Li5jYzdkY2VhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvbWFpbi5jCisrKyBiL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9tYWluLmMKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KIAotI2luY2x1ZGUgPHBjbWNpYS92ZXJzaW9uLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3JlZy5oPgogI2luY2x1ZGUgPHBjbWNpYS9kZXZpY2VfaWQuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9wcGRldi5jIGIvZHJpdmVycy9jaGFyL3BwZGV2LmMKaW5kZXggM2FhYjgzNy4uZjZlNmFjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3BwZGV2LmMKKysrIGIvZHJpdmVycy9jaGFyL3BwZGV2LmMKQEAgLTY2LDYgKzY2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KICNpbmNsdWRlIDxsaW51eC9wcGRldi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogI2RlZmluZSBQUF9WRVJTSU9OICJwcGRldjogdXNlci1zcGFjZSBwYXJhbGxlbCBwb3J0IGRyaXZlciIKQEAgLTYzOCw2ICs2MzksNyBAQAogCXVuc2lnbmVkIGludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAJc3RydWN0IHBwX3N0cnVjdCAqcHA7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWlmIChtaW5vciA+PSBQQVJQT1JUX01BWCkKIAkJcmV0dXJuIC1FTlhJTzsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3Jhdy5jIGIvZHJpdmVycy9jaGFyL3Jhdy5jCmluZGV4IGJiZmEwZTIuLjUwNWZjYmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9yYXcuYworKysgYi9kcml2ZXJzL2NoYXIvcmF3LmMKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtNTMsNiArNTQsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJnJhd19tdXRleCk7CiAKIAkvKgpAQCAtNzksNiArODEsNyBAQAogCQkJYmRldi0+YmRfaW5vZGUtPmlfbWFwcGluZzsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBiZGV2OwogCW11dGV4X3VubG9jaygmcmF3X211dGV4KTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dDI6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcnRjLmMgYi9kcml2ZXJzL2NoYXIvcnRjLmMKaW5kZXggNWY4MGE5ZC4uZmE5MmE4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3J0Yy5jCisrKyBiL2RyaXZlcnMvY2hhci9ydGMuYwpAQCAtNzMsNiArNzMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjdGwuaD4KICNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CiAjaW5jbHVkZSA8bGludXgvYmNkLmg+CkBAIC02NzgsMTIgKzY3OSwxMyBAQAogCQlpZiAoYXJnICE9ICgxPDx0bXApKQogCQkJcmV0dXJuIC1FSU5WQUw7CiAKKwkJcnRjX2ZyZXEgPSBhcmc7CisKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJnJ0Y19sb2NrLCBmbGFncyk7CiAJCWlmIChocGV0X3NldF9wZXJpb2RpY19mcmVxKGFyZykpIHsKIAkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJ0Y19sb2NrLCBmbGFncyk7CiAJCQlyZXR1cm4gMDsKIAkJfQotCQlydGNfZnJlcSA9IGFyZzsKIAogCQl2YWwgPSBDTU9TX1JFQUQoUlRDX0ZSRVFfU0VMRUNUKSAmIDB4ZjA7CiAJCXZhbCB8PSAoMTYgLSB0bXApOwpAQCAtNzMzLDYgKzczNSw3IEBACiAgKiBuZWVkZWQgaGVyZS4gT3IgYW55d2hlcmUgZWxzZSBpbiB0aGlzIGRyaXZlci4gKi8KIHN0YXRpYyBpbnQgcnRjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfaXJxKCZydGNfbG9jayk7CiAKIAlpZiAocnRjX3N0YXR1cyAmIFJUQ19JU19PUEVOKQpAQCAtNzQyLDEwICs3NDUsMTIgQEAKIAogCXJ0Y19pcnFfZGF0YSA9IDA7CiAJc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBvdXRfYnVzeToKIAlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FQlVTWTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3NjeDIwMF9ncGlvLmMgYi9kcml2ZXJzL2NoYXIvc2N4MjAwX2dwaW8uYwppbmRleCA5OWU1MjcyLi4xZDkxMDA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvc2N4MjAwX2dwaW8uYworKysgYi9kcml2ZXJzL2NoYXIvc2N4MjAwX2dwaW8uYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKQEAgLTUxLDYgKzUyLDcgQEAKIAl1bnNpZ25lZCBtID0gaW1pbm9yKGlub2RlKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSAmc2N4MjAwX2dwaW9fb3BzOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlpZiAobSA+PSBNQVhfUElOUykKIAkJcmV0dXJuIC1FSU5WQUw7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3Nuc2MuYyBiL2RyaXZlcnMvY2hhci9zbnNjLmMKaW5kZXggOGZlMDk5YS4uMGI3OTlhYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3Nuc2MuYworKysgYi9kcml2ZXJzL2NoYXIvc25zYy5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS9zbi9pby5oPgogI2luY2x1ZGUgPGFzbS9zbi9zbl9zYWwuaD4KICNpbmNsdWRlIDxhc20vc24vbW9kdWxlLmg+CkBAIC0xMDQsNiArMTA1LDcgQEAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBzZDsKIAogCS8qIGhvb2sgdGhpcyBzdWJjaGFubmVsIHVwIHRvIHRoZSBzeXN0ZW0gY29udHJvbGxlciBpbnRlcnJ1cHQgKi8KKwlsb2NrX2tlcm5lbCgpOwogCXJ2ID0gcmVxdWVzdF9pcnEoU0dJX1VBUlRfVkVDVE9SLCBzY2Rydl9pbnRlcnJ1cHQsCiAJCQkgSVJRRl9TSEFSRUQgfCBJUlFGX0RJU0FCTEVELAogCQkJIFNZU0NUTF9CQVNFTkFNRSwgc2QpOwpAQCAtMTExLDkgKzExMywxMCBAQAogCQlpYTY0X3NuX2lydHJfY2xvc2Uoc2QtPnNkX25hc2lkLCBzZC0+c2Rfc3ViY2gpOwogCQlrZnJlZShzZCk7CiAJCXByaW50aygiJXM6IGlycSByZXF1ZXN0IGZhaWxlZCAoJWQpXG4iLCBfX2Z1bmNfXywgcnYpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQotCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvc29ueXBpLmMgYi9kcml2ZXJzL2NoYXIvc29ueXBpLmMKaW5kZXggNTg1MzNkZS4uODVlMGViNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3NvbnlwaS5jCisrKyBiL2RyaXZlcnMvY2hhci9zb255cGkuYwpAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4L2tmaWZvLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC05MDYsMTIgKzkwNywxNCBAQAogCiBzdGF0aWMgaW50IHNvbnlwaV9taXNjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9sb2NrKCZzb255cGlfZGV2aWNlLmxvY2spOwogCS8qIEZsdXNoIGlucHV0IHF1ZXVlIG9uIGZpcnN0IG9wZW4gKi8KIAlpZiAoIXNvbnlwaV9kZXZpY2Uub3Blbl9jb3VudCkKIAkJa2ZpZm9fcmVzZXQoc29ueXBpX2RldmljZS5maWZvKTsKIAlzb255cGlfZGV2aWNlLm9wZW5fY291bnQrKzsKIAltdXRleF91bmxvY2soJnNvbnlwaV9kZXZpY2UubG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvc3lzcnEuYyBiL2RyaXZlcnMvY2hhci9zeXNycS5jCmluZGV4IGRiY2UxMjYuLjhmZGZlOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9zeXNycS5jCisrKyBiL2RyaXZlcnMvY2hhci9zeXNycS5jCkBAIC0yMTUsNyArMjE1LDcgQEAKIAogc3RhdGljIHZvaWQgc3lzcnFfc2hvd3JlZ3Nfb3RoZXJjcHVzKHN0cnVjdCB3b3JrX3N0cnVjdCAqZHVtbXkpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc2hvd2FjcHUsIE5VTEwsIDAsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKHNob3dhY3B1LCBOVUxMLCAwKTsKIH0KIAogc3RhdGljIERFQ0xBUkVfV09SSyhzeXNycV9zaG93YWxsY3B1cywgc3lzcnFfc2hvd3JlZ3Nfb3RoZXJjcHVzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90YjAyMTkuYyBiL2RyaXZlcnMvY2hhci90YjAyMTkuYwppbmRleCA0YzQzMWNiLi42MDYyYjYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdGIwMjE5LmMKKysrIGIvZHJpdmVycy9jaGFyL3RiMDIxOS5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9yZWJvb3QuaD4KQEAgLTIzNiw2ICsyMzcsNyBAQAogewogCXVuc2lnbmVkIGludCBtaW5vcjsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCXN3aXRjaCAobWlub3IpIHsKIAljYXNlIDA6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdGxjbGsuYyBiL2RyaXZlcnMvY2hhci90bGNsay5jCmluZGV4IDM1ZTU4MDMuLjhmMjI4NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci90bGNsay5jCisrKyBiL2RyaXZlcnMvY2hhci90bGNsay5jCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzZnMuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KQEAgLTIwNCwxMSArMjA1LDE0IEBACiB7CiAJaW50IHJlc3VsdDsKIAotCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZ1c2VmbGFncykpCi0JCXJldHVybiAtRUJVU1k7CisJbG9ja19rZXJuZWwoKTsKKwlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmdXNlZmxhZ3MpKSB7CisJCXJlc3VsdCA9IC1FQlVTWTsKIAkJLyogdGhpcyBsZWdhY3kgZGV2aWNlIGlzIGFsd2F5cyBvbmUgcGVyIHN5c3RlbSBhbmQgaXQgZG9lc24ndAogCQkgKiBrbm93IGhvdyB0byBoYW5kbGUgbXVsdGlwbGUgY29uY3VycmVudCBjbGllbnRzLgogCQkgKi8KKwkJZ290byBvdXQ7CisJfQogCiAJLyogTWFrZSBzdXJlIHRoZXJlIGlzIG5vIGludGVycnVwdCBwZW5kaW5nIHdoaWxlCiAJICogaW5pdGlhbGlzaW5nIGludGVycnVwdCBoYW5kbGVyICovCkBAIC0yMTgsMTMgKzIyMiwxNCBAQAogCSAqIHdlIGNhbid0IHNoYXJlIHRoaXMgSVJRICovCiAJcmVzdWx0ID0gcmVxdWVzdF9pcnEodGVsY2xrX2ludGVycnVwdCwgJnRsY2xrX2ludGVycnVwdCwKIAkJCSAgICAgSVJRRl9ESVNBQkxFRCwgInRlbGNvX2Nsb2NrIiwgdGxjbGtfaW50ZXJydXB0KTsKLQlpZiAocmVzdWx0ID09IC1FQlVTWSkgeworCWlmIChyZXN1bHQgPT0gLUVCVVNZKQogCQlwcmludGsoS0VSTl9FUlIgInRsY2xrOiBJbnRlcnJ1cHQgY2FuJ3QgYmUgcmVzZXJ2ZWQuXG4iKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0JaW5iKFRMQ0xLX1JFRzYpOwkvKiBDbGVhciBpbnRlcnJ1cHQgZXZlbnRzICovCisJZWxzZQorCQlpbmIoVExDTEtfUkVHNik7CS8qIENsZWFyIGludGVycnVwdCBldmVudHMgKi8KIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmVzdWx0OwogfQogCiBzdGF0aWMgaW50IHRsY2xrX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHBtL3RwbS5jIGIvZHJpdmVycy9jaGFyL3RwbS90cG0uYwppbmRleCBhNWQ4YmNiLi5lMWZjMTkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdHBtL3RwbS5jCisrKyBiL2RyaXZlcnMvY2hhci90cG0vdHBtLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlICJ0cG0uaCIKIApAQCAtODk3LDYgKzg5OCw3IEBACiAJaW50IHJjID0gMCwgbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCXN0cnVjdCB0cG1fY2hpcCAqY2hpcCA9IE5VTEwsICpwb3M7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmZHJpdmVyX2xvY2spOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShwb3MsICZ0cG1fY2hpcF9saXN0LCBsaXN0KSB7CkBAIC05MjYsMTYgKzkyOCwxOSBAQAogCWlmIChjaGlwLT5kYXRhX2J1ZmZlciA9PSBOVUxMKSB7CiAJCWNoaXAtPm51bV9vcGVucy0tOwogCQlwdXRfZGV2aWNlKGNoaXAtPmRldik7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCiAJYXRvbWljX3NldCgmY2hpcC0+ZGF0YV9wZW5kaW5nLCAwKTsKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGNoaXA7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBlcnJfb3V0OgogCXNwaW5fdW5sb2NrKCZkcml2ZXJfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByYzsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKHRwbV9vcGVuKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rpcy5jIGIvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzLmMKaW5kZXggMTNhNGJkZC4uYzdhOTc3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzLmMKKysrIGIvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzLmMKQEAgLTYyMyw2ICs2MjMsNyBAQAogCXsiSUZYMDEwMiIsIDB9LAkJLyogSW5maW5lb24gKi8KIAl7IkJDTTAxMDEiLCAwfSwJCS8qIEJyb2FkY29tICovCiAJeyJOU0MxMjAwIiwgMH0sCQkvKiBOYXRpb25hbCAqLworCXsiSUNPMDEwMiIsIDB9LAkJLyogSW50ZWwgKi8KIAkvKiBBZGQgbmV3IGhlcmUgKi8KIAl7IiIsIDB9LAkJLyogVXNlciBTcGVjaWZpZWQgKi8KIAl7IiIsIDB9CQkJLyogVGVybWluYXRvciAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3R0eV9pby5jIGIvZHJpdmVycy9jaGFyL3R0eV9pby5jCmluZGV4IDc1MDEzMTAuLjA0N2ExNzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci90dHlfaW8uYworKysgYi9kcml2ZXJzL2NoYXIvdHR5X2lvLmMKQEAgLTI2NjUsNyArMjY2NSw3IEBACiAgKgkJIC0+c2lnbG9jayBwcm90ZWN0cyAtPnNpZ25hbC8tPnNpZ2hhbmQKICAqLwogCi1zdGF0aWMgaW50IHR0eV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQorc3RhdGljIGludCBfX3R0eV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCXN0cnVjdCB0dHlfc3RydWN0ICp0dHk7CiAJaW50IG5vY3R0eSwgcmV0dmFsOwpAQCAtMjc3OSw2ICsyNzc5LDE5IEBACiAJcmV0dXJuIDA7CiB9CiAKKy8qIEJLTCBwdXNoZG93bjogc2NhcnkgY29kZSBhdm9pZGFuY2Ugd3JhcHBlciAqLworc3RhdGljIGludCB0dHlfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKK3sKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBfX3R0eV9vcGVuKGlub2RlLCBmaWxwKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKworCisKICNpZmRlZiBDT05GSUdfVU5JWDk4X1BUWVMKIC8qKgogICoJcHRteF9vcGVuCQktCW9wZW4gYSB1bml4IDk4IHB0eSBtYXN0ZXIKQEAgLTI3OTIsNyArMjgwNSw3IEBACiAgKgkJYWxsb2NhdGVkX3B0eXNfbG9jayBoYW5kbGVzIHRoZSBsaXN0IG9mIGZyZWUgcHR5IG51bWJlcnMKICAqLwogCi1zdGF0aWMgaW50IHB0bXhfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKK3N0YXRpYyBpbnQgX19wdG14X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eTsKIAlpbnQgcmV0dmFsOwpAQCAtMjgzMSw2ICsyODQ0LDE2IEBACiAJZGV2cHRzX2tpbGxfaW5kZXgoaW5kZXgpOwogCXJldHVybiByZXR2YWw7CiB9CisKK3N0YXRpYyBpbnQgcHRteF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQoreworCWludCByZXQ7CisKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IF9fcHRteF9vcGVuKGlub2RlLCBmaWxwKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KICNlbmRpZgogCiAvKioKQEAgLTI4ODYsMTUgKzI5MDksMTYgQEAKIHsKIAlzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJldHZhbDsKKwlpbnQgcmV0dmFsID0gMDsKIAorCWxvY2tfa2VybmVsKCk7CiAJdHR5ID0gKHN0cnVjdCB0dHlfc3RydWN0ICopZmlscC0+cHJpdmF0ZV9kYXRhOwogCWlmICh0dHlfcGFyYW5vaWFfY2hlY2sodHR5LCBmaWxwLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlLCAidHR5X2Zhc3luYyIpKQotCQlyZXR1cm4gMDsKKwkJZ290byBvdXQ7CiAKIAlyZXR2YWwgPSBmYXN5bmNfaGVscGVyKGZkLCBmaWxwLCBvbiwgJnR0eS0+ZmFzeW5jKTsKIAlpZiAocmV0dmFsIDw9IDApCi0JCXJldHVybiByZXR2YWw7CisJCWdvdG8gb3V0OwogCiAJaWYgKG9uKSB7CiAJCWVudW0gcGlkX3R5cGUgdHlwZTsKQEAgLTI5MTIsMTIgKzI5MzYsMTUgQEAKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdHR5LT5jdHJsX2xvY2ssIGZsYWdzKTsKIAkJcmV0dmFsID0gX19mX3NldG93bihmaWxwLCBwaWQsIHR5cGUsIDApOwogCQlpZiAocmV0dmFsKQotCQkJcmV0dXJuIHJldHZhbDsKKwkJCWdvdG8gb3V0OwogCX0gZWxzZSB7CiAJCWlmICghdHR5LT5mYXN5bmMgJiYgIXdhaXRxdWV1ZV9hY3RpdmUoJnR0eS0+cmVhZF93YWl0KSkKIAkJCXR0eS0+bWluaW11bV90b193YWtlID0gTl9UVFlfQlVGX1NJWkU7CiAJfQotCXJldHVybiAwOworCXJldHZhbCA9IDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXR2YWw7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3ZjX3NjcmVlbi5jIGIvZHJpdmVycy9jaGFyL3ZjX3NjcmVlbi5jCmluZGV4IDgzYWVlZGQuLmVlYmZhZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci92Y19zY3JlZW4uYworKysgYi9kcml2ZXJzL2NoYXIvdmNfc2NyZWVuLmMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rYmRfa2Vybi5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbnNvbGUuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CkBAIC00NjAsOSArNDYxLDEzIEBACiB2Y3Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAl1bnNpZ25lZCBpbnQgY3VycmNvbnMgPSBpbWlub3IoaW5vZGUpICYgMTI3OworCWludCByZXQgPSAwOworCQorCWxvY2tfa2VybmVsKCk7CiAJaWYoY3VycmNvbnMgJiYgIXZjX2NvbnNfYWxsb2NhdGVkKGN1cnJjb25zLTEpKQotCQlyZXR1cm4gLUVOWElPOwotCXJldHVybiAwOworCQlyZXQgPSAtRU5YSU87CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHZjc19mb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3Zpb3RhcGUuYyBiL2RyaXZlcnMvY2hhci92aW90YXBlLmMKaW5kZXggYzM5ZGRhZi4uOTc3ZjdkMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3Zpb3RhcGUuYworKysgYi9kcml2ZXJzL2NoYXIvdmlvdGFwZS5jCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pb2N0bHMuaD4KQEAgLTY4Nyw2ICs2ODgsNyBAQAogCWlmIChvcCA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJZ2V0X2Rldl9pbmZvKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUsICZkZXZpKTsKIAogCS8qIE5vdGU6IFdlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgb25lIG1vZGUhICovCkBAIC03MTcsNiArNzE5LDcgQEAKIAogZnJlZV9vcDoKIAlmcmVlX29wX3N0cnVjdChvcCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci92cjQxeHhfZ2l1LmMgYi9kcml2ZXJzL2NoYXIvdnI0MXh4X2dpdS5jCmluZGV4IGU1ZWQwOTEuLmZmZTliNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci92cjQxeHhfZ2l1LmMKKysrIGIvZHJpdmVycy9jaGFyL3ZyNDF4eF9naXUuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCkBAIC01NDcsNiArNTQ4LDcgQEAKIHsKIAl1bnNpZ25lZCBpbnQgcGluOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlwaW4gPSBpbWlub3IoaW5vZGUpOwogCWlmIChwaW4gPj0gZ2l1X25yX3BpbnMpCiAJCXJldHVybiAtRUJBREY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIveGlsaW54X2h3aWNhcC94aWxpbnhfaHdpY2FwLmMgYi9kcml2ZXJzL2NoYXIveGlsaW54X2h3aWNhcC94aWxpbnhfaHdpY2FwLmMKaW5kZXggM2VkZjFmYy4uMWUxYjgxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3hpbGlueF9od2ljYXAveGlsaW54X2h3aWNhcC5jCisrKyBiL2RyaXZlcnMvY2hhci94aWxpbnhfaHdpY2FwL3hpbGlueF9od2ljYXAuYwpAQCAtODUsNiArODUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2N0bC5oPgogI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgpAQCAtNTA0LDExICs1MDUsMTIgQEAKIAlzdHJ1Y3QgaHdpY2FwX2RydmRhdGEgKmRydmRhdGE7CiAJaW50IHN0YXR1czsKIAorCWxvY2tfa2VybmVsKCk7CiAJZHJ2ZGF0YSA9IGNvbnRhaW5lcl9vZihpbm9kZS0+aV9jZGV2LCBzdHJ1Y3QgaHdpY2FwX2RydmRhdGEsIGNkZXYpOwogCiAJc3RhdHVzID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZkcnZkYXRhLT5zZW0pOwogCWlmIChzdGF0dXMpCi0JCXJldHVybiBzdGF0dXM7CisJCWdvdG8gb3V0OwogCiAJaWYgKGRydmRhdGEtPmlzX29wZW4pIHsKIAkJc3RhdHVzID0gLUVCVVNZOwpAQCAtNTI4LDYgKzUzMCw4IEBACiAKICBlcnJvcjoKIAltdXRleF91bmxvY2soJmRydmRhdGEtPnNlbSk7Cisgb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gc3RhdHVzOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsb2Nrc291cmNlL2FjcGlfcG0uYyBiL2RyaXZlcnMvY2xvY2tzb3VyY2UvYWNwaV9wbS5jCmluZGV4IDdiNDZmYWYuLjVjYTFkODAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2xvY2tzb3VyY2UvYWNwaV9wbS5jCisrKyBiL2RyaXZlcnMvY2xvY2tzb3VyY2UvYWNwaV9wbS5jCkBAIC0yMTUsMyArMjE1LDIyIEBACiAgKiBidXQgd2Ugc3RpbGwgbmVlZCB0byBsb2FkIGJlZm9yZSBkZXZpY2VfaW5pdGNhbGwKICAqLwogZnNfaW5pdGNhbGwoaW5pdF9hY3BpX3BtX2Nsb2Nrc291cmNlKTsKKworLyoKKyAqIEFsbG93IGFuIG92ZXJyaWRlIG9mIHRoZSBJT1BvcnQuIFN0dXBpZCBCSU9TZXMgZG8gbm90IHRlbGwgdXMgYWJvdXQKKyAqIHRoZSBQTVRpbWVyLCBidXQgd2UgbWlnaHQga25vdyB3aGVyZSBpdCBpcy4KKyAqLworc3RhdGljIGludCBfX2luaXQgcGFyc2VfcG10bXIoY2hhciAqYXJnKQoreworCXVuc2lnbmVkIGxvbmcgYmFzZTsKKworCWlmIChzdHJpY3Rfc3RydG91bChhcmcsIDE2LCAmYmFzZSkpCisJCXJldHVybiAtRUlOVkFMOworCisJcHJpbnRrKEtFUk5fSU5GTyAiUE1UTVIgSU9Qb3J0IG92ZXJyaWRlOiAweCUwNHggLT4gMHglMDRseFxuIiwKKwkgICAgICAgKHVuc2lnbmVkIGludClwbXRtcl9pb3BvcnQsIGJhc2UpOworCXBtdG1yX2lvcG9ydCA9IGJhc2U7CisKKwlyZXR1cm4gMTsKK30KK19fc2V0dXAoInBtdG1yPSIsIHBhcnNlX3BtdG1yKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3B1aWRsZS9jcHVpZGxlLmMgYi9kcml2ZXJzL2NwdWlkbGUvY3B1aWRsZS5jCmluZGV4IDIzNTU0YjYuLjU0MDU3NjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY3B1aWRsZS9jcHVpZGxlLmMKKysrIGIvZHJpdmVycy9jcHVpZGxlL2NwdWlkbGUuYwpAQCAtMzQwLDcgKzM0MCw3IEBACiBzdGF0aWMgaW50IGNwdWlkbGVfbGF0ZW5jeV9ub3RpZnkoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpiLAogCQl1bnNpZ25lZCBsb25nIGwsIHZvaWQgKnYpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc21wX2NhbGxiYWNrLCBOVUxMLCAwLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzbXBfY2FsbGJhY2ssIE5VTEwsIDEpOwogCXJldHVybiBOT1RJRllfT0s7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL0tjb25maWcgYi9kcml2ZXJzL2NyeXB0by9LY29uZmlnCmluZGV4IDQzYjcxYjYuLmU1MjIxNDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY3J5cHRvL0tjb25maWcKKysrIGIvZHJpdmVycy9jcnlwdG8vS2NvbmZpZwpAQCAtMTc0LDQgKzE3NCwzMCBAQAogCSAgU2VsZWN0IHRoaXMgb3B0aW9uIGlmIHlvdSB3YW50IHRvIGVuYWJsZSB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IKIAkgIG9uIHRoZSBISUZOIDc5NXggY3J5cHRvIGFkYXB0ZXJzLgogCitjb25maWcgQ1JZUFRPX0RFVl9UQUxJVE9TCisJdHJpc3RhdGUgIlRhbGl0b3MgRnJlZXNjYWxlIFNlY3VyaXR5IEVuZ2luZSAoU0VDKSIKKwlzZWxlY3QgQ1JZUFRPX0FMR0FQSQorCXNlbGVjdCBDUllQVE9fQVVUSEVOQworCXNlbGVjdCBIV19SQU5ET00KKwlkZXBlbmRzIG9uIEZTTF9TT0MKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgdG8gdXNlIHRoZSBGcmVlc2NhbGUgU2VjdXJpdHkgRW5naW5lIChTRUMpCisJICB0byBvZmZsb2FkIGNyeXB0b2dyYXBoaWMgYWxnb3JpdGhtIGNvbXB1dGF0aW9uLgorCisJICBUaGUgRnJlZXNjYWxlIFNFQyBpcyBwcmVzZW50IG9uIFBvd2VyUVVJQ0MgJ0UnIHByb2Nlc3NvcnMsIHN1Y2gKKwkgIGFzIHRoZSBNUEM4MzQ5RSBhbmQgTVBDODU0OEUuCisKKwkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIHRhbGl0b3MuCisKK2NvbmZpZyBDUllQVE9fREVWX0lYUDRYWAorCXRyaXN0YXRlICJEcml2ZXIgZm9yIElYUDR4eCBjcnlwdG8gaGFyZHdhcmUgYWNjZWxlcmF0aW9uIgorCWRlcGVuZHMgb24gQVJDSF9JWFA0WFgKKwlzZWxlY3QgQ1JZUFRPX0RFUworCXNlbGVjdCBDUllQVE9fQUxHQVBJCisJc2VsZWN0IENSWVBUT19BVVRIRU5DCisJc2VsZWN0IENSWVBUT19CTEtDSVBIRVIKKwloZWxwCisJICBEcml2ZXIgZm9yIHRoZSBJWFA0eHggTlBFIGNyeXB0byBlbmdpbmUuCisKIGVuZGlmICMgQ1JZUFRPX0hXCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9NYWtlZmlsZSBiL2RyaXZlcnMvY3J5cHRvL01ha2VmaWxlCmluZGV4IGMwMzI3ZjAuLjczNTU3YjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY3J5cHRvL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvY3J5cHRvL01ha2VmaWxlCkBAIC0yLDMgKzIsNSBAQAogb2JqLSQoQ09ORklHX0NSWVBUT19ERVZfUEFETE9DS19TSEEpICs9IHBhZGxvY2stc2hhLm8KIG9iai0kKENPTkZJR19DUllQVE9fREVWX0dFT0RFKSArPSBnZW9kZS1hZXMubwogb2JqLSQoQ09ORklHX0NSWVBUT19ERVZfSElGTl83OTVYKSArPSBoaWZuXzc5NXgubworb2JqLSQoQ09ORklHX0NSWVBUT19ERVZfVEFMSVRPUykgKz0gdGFsaXRvcy5vCitvYmotJChDT05GSUdfQ1JZUFRPX0RFVl9JWFA0WFgpICs9IGl4cDR4eF9jcnlwdG8ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vaGlmbl83OTV4LmMgYi9kcml2ZXJzL2NyeXB0by9oaWZuXzc5NXguYwppbmRleCA4MWYzZjk1Li40ZDIyYjIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NyeXB0by9oaWZuXzc5NXguYworKysgYi9kcml2ZXJzL2NyeXB0by9oaWZuXzc5NXguYwpAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CiAjaW5jbHVkZSA8bGludXgvaHdfcmFuZG9tLmg+CiAjaW5jbHVkZSA8bGludXgva3RpbWUuaD4KQEAgLTM2OSw3ICszNjgsOSBAQAogI2RlZmluZQlISUZOX0RfRFNUX1JTSVpFCQk4MCo0CiAjZGVmaW5lCUhJRk5fRF9SRVNfUlNJWkUJCTI0KjQKIAotI2RlZmluZSBISUZOX1FVRVVFX0xFTkdUSAkJSElGTl9EX0NNRF9SU0laRS01CisjZGVmaW5lIEhJRk5fRF9EU1RfREFMSUdOCQk0CisKKyNkZWZpbmUgSElGTl9RVUVVRV9MRU5HVEgJCUhJRk5fRF9DTURfUlNJWkUtMQogCiAjZGVmaW5lIEFFU19NSU5fS0VZX1NJWkUJCTE2CiAjZGVmaW5lIEFFU19NQVhfS0VZX1NJWkUJCTMyCkBAIC01MzUsMTAgKzUzNiwxMCBAQAogICovCiBzdHJ1Y3QgaGlmbl9tYWNfY29tbWFuZAogewotCXZvbGF0aWxlIHUxNiAJCW1hc2tzOwotCXZvbGF0aWxlIHUxNiAJCWhlYWRlcl9za2lwOwotCXZvbGF0aWxlIHUxNiAJCXNvdXJjZV9jb3VudDsKLQl2b2xhdGlsZSB1MTYgCQlyZXNlcnZlZDsKKwl2b2xhdGlsZSBfX2xlMTYgCW1hc2tzOworCXZvbGF0aWxlIF9fbGUxNiAJaGVhZGVyX3NraXA7CisJdm9sYXRpbGUgX19sZTE2IAlzb3VyY2VfY291bnQ7CisJdm9sYXRpbGUgX19sZTE2IAlyZXNlcnZlZDsKIH07CiAKICNkZWZpbmUJSElGTl9NQUNfQ01EX0FMR19NQVNLCQkweDAwMDEKQEAgLTU2NCwxMCArNTY1LDEwIEBACiAKIHN0cnVjdCBoaWZuX2NvbXBfY29tbWFuZAogewotCXZvbGF0aWxlIHUxNiAJCW1hc2tzOwotCXZvbGF0aWxlIHUxNiAJCWhlYWRlcl9za2lwOwotCXZvbGF0aWxlIHUxNiAJCXNvdXJjZV9jb3VudDsKLQl2b2xhdGlsZSB1MTYgCQlyZXNlcnZlZDsKKwl2b2xhdGlsZSBfX2xlMTYgCW1hc2tzOworCXZvbGF0aWxlIF9fbGUxNiAJaGVhZGVyX3NraXA7CisJdm9sYXRpbGUgX19sZTE2IAlzb3VyY2VfY291bnQ7CisJdm9sYXRpbGUgX19sZTE2IAlyZXNlcnZlZDsKIH07CiAKICNkZWZpbmUJSElGTl9DT01QX0NNRF9TUkNMRU5fTQkJMHhjMDAwCkBAIC01ODMsMTAgKzU4NCwxMCBAQAogCiBzdHJ1Y3QgaGlmbl9iYXNlX3Jlc3VsdAogewotCXZvbGF0aWxlIHUxNiAJCWZsYWdzOwotCXZvbGF0aWxlIHUxNiAJCXNlc3Npb247Ci0Jdm9sYXRpbGUgdTE2IAkJc3JjX2NudDsJCS8qIDE1OjAgb2Ygc291cmNlIGNvdW50ICovCi0Jdm9sYXRpbGUgdTE2IAkJZHN0X2NudDsJCS8qIDE1OjAgb2YgZGVzdCBjb3VudCAqLworCXZvbGF0aWxlIF9fbGUxNiAJZmxhZ3M7CisJdm9sYXRpbGUgX19sZTE2IAlzZXNzaW9uOworCXZvbGF0aWxlIF9fbGUxNiAJc3JjX2NudDsJCS8qIDE1OjAgb2Ygc291cmNlIGNvdW50ICovCisJdm9sYXRpbGUgX19sZTE2IAlkc3RfY250OwkJLyogMTU6MCBvZiBkZXN0IGNvdW50ICovCiB9OwogCiAjZGVmaW5lCUhJRk5fQkFTRV9SRVNfRFNUT1ZFUlJVTgkweDAyMDAJLyogZGVzdGluYXRpb24gb3ZlcnJ1biAqLwpAQCAtNTk3LDggKzU5OCw4IEBACiAKIHN0cnVjdCBoaWZuX2NvbXBfcmVzdWx0CiB7Ci0Jdm9sYXRpbGUgdTE2IAkJZmxhZ3M7Ci0Jdm9sYXRpbGUgdTE2IAkJY3JjOworCXZvbGF0aWxlIF9fbGUxNgkJZmxhZ3M7CisJdm9sYXRpbGUgX19sZTE2CQljcmM7CiB9OwogCiAjZGVmaW5lCUhJRk5fQ09NUF9SRVNfTENCX00JCTB4ZmYwMAkvKiBsb25naXR1ZGluYWwgY2hlY2sgYnl0ZSAqLwpAQCAtNjA5LDggKzYxMCw4IEBACiAKIHN0cnVjdCBoaWZuX21hY19yZXN1bHQKIHsKLQl2b2xhdGlsZSB1MTYgCQlmbGFnczsKLQl2b2xhdGlsZSB1MTYgCQlyZXNlcnZlZDsKKwl2b2xhdGlsZSBfX2xlMTYgCWZsYWdzOworCXZvbGF0aWxlIF9fbGUxNiAJcmVzZXJ2ZWQ7CiAJLyogZm9sbG93ZWQgYnkgMCwgNiwgOCwgb3IgMTAgdTE2J3Mgb2YgdGhlIE1BQywgdGhlbiBjcnlwdCAqLwogfTsKIApAQCAtNjE5LDggKzYyMCw4IEBACiAKIHN0cnVjdCBoaWZuX2NyeXB0X3Jlc3VsdAogewotCXZvbGF0aWxlIHUxNiAJCWZsYWdzOwotCXZvbGF0aWxlIHUxNiAJCXJlc2VydmVkOworCXZvbGF0aWxlIF9fbGUxNgkJZmxhZ3M7CisJdm9sYXRpbGUgX19sZTE2CQlyZXNlcnZlZDsKIH07CiAKICNkZWZpbmUJSElGTl9DUllQVF9SRVNfU1JDX05PVFpFUk8JMHgwMDAxCS8qIHNvdXJjZSBleHBpcmVkICovCkBAIC02ODYsMTIgKzY4NywxMiBAQAogCiBzdGF0aWMgaW5saW5lIHZvaWQgaGlmbl93cml0ZV8wKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCB1MzIgcmVnLCB1MzIgdmFsKQogewotCXdyaXRlbCh2YWwsIGRldi0+YmFyWzBdICsgcmVnKTsKKwl3cml0ZWwoKF9fZm9yY2UgdTMyKWNwdV90b19sZTMyKHZhbCksIGRldi0+YmFyWzBdICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGhpZm5fd3JpdGVfMShzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgdTMyIHJlZywgdTMyIHZhbCkKIHsKLQl3cml0ZWwodmFsLCBkZXYtPmJhclsxXSArIHJlZyk7CisJd3JpdGVsKChfX2ZvcmNlIHUzMiljcHVfdG9fbGUzMih2YWwpLCBkZXYtPmJhclsxXSArIHJlZyk7CiB9CiAKIHN0YXRpYyB2b2lkIGhpZm5fd2FpdF9wdWMoc3RydWN0IGhpZm5fZGV2aWNlICpkZXYpCkBAIC04OTQsNyArODk1LDcgQEAKIAljaGFyICpvZmZ0YmwgPSBOVUxMOwogCWludCBpOwogCi0JZm9yIChpID0gMDsgaSA8IHNpemVvZihwY2kyaWQpL3NpemVvZihwY2kyaWRbMF0pOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwY2kyaWQpOyBpKyspIHsKIAkJaWYgKHBjaTJpZFtpXS5wY2lfdmVuZG9yID09IGRldi0+cGRldi0+dmVuZG9yICYmCiAJCQkJcGNpMmlkW2ldLnBjaV9wcm9kID09IGRldi0+cGRldi0+ZGV2aWNlKSB7CiAJCQlvZmZ0YmwgPSBwY2kyaWRbaV0uY2FyZF9pZDsKQEAgLTEwMzcsMTQgKzEwMzgsMTQgQEAKIAloaWZuX3dyaXRlXzAoZGV2LCBISUZOXzBfUFVJRVIsIEhJRk5fUFVJRVJfRFNUT1ZFUik7CiAKIAkvKiB3cml0ZSBhbGwgNCByaW5nIGFkZHJlc3MgcmVnaXN0ZXJzICovCi0JaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DUkFSLCBfX2NwdV90b19sZTMyKGRwdHIgKwotCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgY21kclswXSkpKTsKLQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX1NSQVIsIF9fY3B1X3RvX2xlMzIoZHB0ciArCi0JCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCBzcmNyWzBdKSkpOwotCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfRFJBUiwgX19jcHVfdG9fbGUzMihkcHRyICsKLQkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIGRzdHJbMF0pKSk7Ci0JaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9SUkFSLCBfX2NwdV90b19sZTMyKGRwdHIgKwotCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgcmVzclswXSkpKTsKKwloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NSQVIsIGRwdHIgKworCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgY21kclswXSkpOworCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfU1JBUiwgZHB0ciArCisJCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCBzcmNyWzBdKSk7CisJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9EUkFSLCBkcHRyICsKKwkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIGRzdHJbMF0pKTsKKwloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX1JSQVIsIGRwdHIgKworCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgcmVzclswXSkpOwogCiAJbWRlbGF5KDIpOwogI2lmIDAKQEAgLTExNjYsMTA5ICsxMTY3LDE1IEBACiAJcmV0dXJuIGNtZF9sZW47CiB9CiAKLXN0YXRpYyBpbnQgaGlmbl9zZXR1cF9zcmNfZGVzYyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnBhZ2UsCi0JCXVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGludCBzaXplKQotewotCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OwotCWludCBpZHg7Ci0JZG1hX2FkZHJfdCBhZGRyOwotCi0JYWRkciA9IHBjaV9tYXBfcGFnZShkZXYtPnBkZXYsIHBhZ2UsIG9mZnNldCwgc2l6ZSwgUENJX0RNQV9UT0RFVklDRSk7Ci0KLQlpZHggPSBkbWEtPnNyY2k7Ci0KLQlkbWEtPnNyY3JbaWR4XS5wID0gX19jcHVfdG9fbGUzMihhZGRyKTsKLQlkbWEtPnNyY3JbaWR4XS5sID0gX19jcHVfdG9fbGUzMihzaXplKSB8IEhJRk5fRF9WQUxJRCB8Ci0JCQlISUZOX0RfTUFTS0RPTkVJUlEgfCBISUZOX0RfTk9JTlZBTElEIHwgSElGTl9EX0xBU1Q7Ci0KLQlpZiAoKytpZHggPT0gSElGTl9EX1NSQ19SU0laRSkgewotCQlkbWEtPnNyY3JbaWR4XS5sID0gX19jcHVfdG9fbGUzMihISUZOX0RfVkFMSUQgfAotCQkJCUhJRk5fRF9KVU1QIHwKLQkJCQlISUZOX0RfTUFTS0RPTkVJUlEgfCBISUZOX0RfTEFTVCk7Ci0JCWlkeCA9IDA7Ci0JfQotCi0JZG1hLT5zcmNpID0gaWR4OwotCWRtYS0+c3JjdSsrOwotCi0JaWYgKCEoZGV2LT5mbGFncyAmIEhJRk5fRkxBR19TUkNfQlVTWSkpIHsKLQkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX1NfQ1RSTF9FTkEpOwotCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19TUkNfQlVTWTsKLQl9Ci0KLQlyZXR1cm4gc2l6ZTsKLX0KLQotc3RhdGljIHZvaWQgaGlmbl9zZXR1cF9yZXNfZGVzYyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldikKLXsKLQlzdHJ1Y3QgaGlmbl9kbWEgKmRtYSA9IChzdHJ1Y3QgaGlmbl9kbWEgKilkZXYtPmRlc2NfdmlydDsKLQotCWRtYS0+cmVzcltkbWEtPnJlc2ldLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fVVNFRF9SRVNVTFQgfAotCQkJSElGTl9EX1ZBTElEIHwgSElGTl9EX0xBU1QpOwotCS8qCi0JICogZG1hLT5yZXNyW2RtYS0+cmVzaV0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9NQVhfUkVTVUxUIHwgSElGTl9EX1ZBTElEIHwKLQkgKgkJCQkJSElGTl9EX0xBU1QgfCBISUZOX0RfTk9JTlZBTElEKTsKLQkgKi8KLQotCWlmICgrK2RtYS0+cmVzaSA9PSBISUZOX0RfUkVTX1JTSVpFKSB7Ci0JCWRtYS0+cmVzcltISUZOX0RfUkVTX1JTSVpFXS5sID0gX19jcHVfdG9fbGUzMihISUZOX0RfVkFMSUQgfAotCQkJCUhJRk5fRF9KVU1QIHwgSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOwotCQlkbWEtPnJlc2kgPSAwOwotCX0KLQotCWRtYS0+cmVzdSsrOwotCi0JaWYgKCEoZGV2LT5mbGFncyAmIEhJRk5fRkxBR19SRVNfQlVTWSkpIHsKLQkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX1JfQ1RSTF9FTkEpOwotCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19SRVNfQlVTWTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGhpZm5fc2V0dXBfZHN0X2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAotCQl1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIHNpemUpCi17Ci0Jc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7Ci0JaW50IGlkeDsKLQlkbWFfYWRkcl90IGFkZHI7Ci0KLQlhZGRyID0gcGNpX21hcF9wYWdlKGRldi0+cGRldiwgcGFnZSwgb2Zmc2V0LCBzaXplLCBQQ0lfRE1BX0ZST01ERVZJQ0UpOwotCi0JaWR4ID0gZG1hLT5kc3RpOwotCWRtYS0+ZHN0cltpZHhdLnAgPSBfX2NwdV90b19sZTMyKGFkZHIpOwotCWRtYS0+ZHN0cltpZHhdLmwgPSBfX2NwdV90b19sZTMyKHNpemUgfAlISUZOX0RfVkFMSUQgfAotCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX05PSU5WQUxJRCB8IEhJRk5fRF9MQVNUKTsKLQotCWlmICgrK2lkeCA9PSBISUZOX0RfRFNUX1JTSVpFKSB7Ci0JCWRtYS0+ZHN0cltpZHhdLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fRF9WQUxJRCB8Ci0JCQkJSElGTl9EX0pVTVAgfCBISUZOX0RfTUFTS0RPTkVJUlEgfAotCQkJCUhJRk5fRF9MQVNUIHwgSElGTl9EX05PSU5WQUxJRCk7Ci0JCWlkeCA9IDA7Ci0JfQotCWRtYS0+ZHN0aSA9IGlkeDsKLQlkbWEtPmRzdHUrKzsKLQotCWlmICghKGRldi0+ZmxhZ3MgJiBISUZOX0ZMQUdfRFNUX0JVU1kpKSB7Ci0JCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9EX0NUUkxfRU5BKTsKLQkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfRFNUX0JVU1k7Ci0JfQotfQotCi1zdGF0aWMgaW50IGhpZm5fc2V0dXBfZG1hKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqc3BhZ2UsIHVuc2lnbmVkIGludCBzb2ZmLAotCQlzdHJ1Y3QgcGFnZSAqZHBhZ2UsIHVuc2lnbmVkIGludCBkb2ZmLCB1bnNpZ25lZCBpbnQgbmJ5dGVzLCB2b2lkICpwcml2LAotCQlzdHJ1Y3QgaGlmbl9jb250ZXh0ICpjdHgpCitzdGF0aWMgaW50IGhpZm5fc2V0dXBfY21kX2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsCisJCXN0cnVjdCBoaWZuX2NvbnRleHQgKmN0eCwgdm9pZCAqcHJpdiwgdW5zaWduZWQgaW50IG5ieXRlcykKIHsKIAlzdHJ1Y3QgaGlmbl9kbWEgKmRtYSA9IChzdHJ1Y3QgaGlmbl9kbWEgKilkZXYtPmRlc2NfdmlydDsKIAlpbnQgY21kX2xlbiwgc2FfaWR4OwogCXU4ICpidWYsICpidWZfcG9zOwogCXUxNiBtYXNrOwogCi0JZHByaW50aygiJXM6IHNwYWdlOiAlcCwgc29mZnNldDogJXUsIGRwYWdlOiAlcCwgZG9mZnNldDogJXUsIG5ieXRlczogJXUsIHByaXY6ICVwLCBjdHg6ICVwLlxuIiwKLQkJCWRldi0+bmFtZSwgc3BhZ2UsIHNvZmYsIGRwYWdlLCBkb2ZmLCBuYnl0ZXMsIHByaXYsIGN0eCk7Ci0KLQlzYV9pZHggPSBkbWEtPnJlc2k7Ci0KLQloaWZuX3NldHVwX3NyY19kZXNjKGRldiwgc3BhZ2UsIHNvZmYsIG5ieXRlcyk7Ci0KKwlzYV9pZHggPSBkbWEtPmNtZGk7CiAJYnVmX3BvcyA9IGJ1ZiA9IGRtYS0+Y29tbWFuZF9idWZzW2RtYS0+Y21kaV07CiAKIAltYXNrID0gMDsKQEAgLTEzNzAsMTYgKzEyNzcsMTEzIEBACiAJCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9DX0NUUkxfRU5BKTsKIAkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfQ01EX0JVU1k7CiAJfQotCi0JaGlmbl9zZXR1cF9kc3RfZGVzYyhkZXYsIGRwYWdlLCBkb2ZmLCBuYnl0ZXMpOwotCWhpZm5fc2V0dXBfcmVzX2Rlc2MoZGV2KTsKLQogCXJldHVybiAwOwogCiBlcnJfb3V0OgogCXJldHVybiAtRUlOVkFMOwogfQogCitzdGF0aWMgaW50IGhpZm5fc2V0dXBfc3JjX2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAorCQl1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3sKKwlzdHJ1Y3QgaGlmbl9kbWEgKmRtYSA9IChzdHJ1Y3QgaGlmbl9kbWEgKilkZXYtPmRlc2NfdmlydDsKKwlpbnQgaWR4OworCWRtYV9hZGRyX3QgYWRkcjsKKworCWFkZHIgPSBwY2lfbWFwX3BhZ2UoZGV2LT5wZGV2LCBwYWdlLCBvZmZzZXQsIHNpemUsIFBDSV9ETUFfVE9ERVZJQ0UpOworCisJaWR4ID0gZG1hLT5zcmNpOworCisJZG1hLT5zcmNyW2lkeF0ucCA9IF9fY3B1X3RvX2xlMzIoYWRkcik7CisJZG1hLT5zcmNyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoc2l6ZSB8IEhJRk5fRF9WQUxJRCB8CisJCQlISUZOX0RfTUFTS0RPTkVJUlEgfCBISUZOX0RfTEFTVCk7CisKKwlpZiAoKytpZHggPT0gSElGTl9EX1NSQ19SU0laRSkgeworCQlkbWEtPnNyY3JbaWR4XS5sID0gX19jcHVfdG9fbGUzMihISUZOX0RfVkFMSUQgfAorCQkJCUhJRk5fRF9KVU1QIHwKKwkJCQlISUZOX0RfTUFTS0RPTkVJUlEgfCBISUZOX0RfTEFTVCk7CisJCWlkeCA9IDA7CisJfQorCisJZG1hLT5zcmNpID0gaWR4OworCWRtYS0+c3JjdSsrOworCisJaWYgKCEoZGV2LT5mbGFncyAmIEhJRk5fRkxBR19TUkNfQlVTWSkpIHsKKwkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX1NfQ1RSTF9FTkEpOworCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19TUkNfQlVTWTsKKwl9CisKKwlyZXR1cm4gc2l6ZTsKK30KKworc3RhdGljIHZvaWQgaGlmbl9zZXR1cF9yZXNfZGVzYyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgaGlmbl9kbWEgKmRtYSA9IChzdHJ1Y3QgaGlmbl9kbWEgKilkZXYtPmRlc2NfdmlydDsKKworCWRtYS0+cmVzcltkbWEtPnJlc2ldLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fVVNFRF9SRVNVTFQgfAorCQkJSElGTl9EX1ZBTElEIHwgSElGTl9EX0xBU1QpOworCS8qCisJICogZG1hLT5yZXNyW2RtYS0+cmVzaV0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9NQVhfUkVTVUxUIHwgSElGTl9EX1ZBTElEIHwKKwkgKgkJCQkJSElGTl9EX0xBU1QpOworCSAqLworCisJaWYgKCsrZG1hLT5yZXNpID09IEhJRk5fRF9SRVNfUlNJWkUpIHsKKwkJZG1hLT5yZXNyW0hJRk5fRF9SRVNfUlNJWkVdLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fRF9WQUxJRCB8CisJCQkJSElGTl9EX0pVTVAgfCBISUZOX0RfTUFTS0RPTkVJUlEgfCBISUZOX0RfTEFTVCk7CisJCWRtYS0+cmVzaSA9IDA7CisJfQorCisJZG1hLT5yZXN1Kys7CisKKwlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX1JFU19CVVNZKSkgeworCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfUl9DVFJMX0VOQSk7CisJCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX1JFU19CVVNZOworCX0KK30KKworc3RhdGljIHZvaWQgaGlmbl9zZXR1cF9kc3RfZGVzYyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnBhZ2UsCisJCXVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgc2l6ZSkKK3sKKwlzdHJ1Y3QgaGlmbl9kbWEgKmRtYSA9IChzdHJ1Y3QgaGlmbl9kbWEgKilkZXYtPmRlc2NfdmlydDsKKwlpbnQgaWR4OworCWRtYV9hZGRyX3QgYWRkcjsKKworCWFkZHIgPSBwY2lfbWFwX3BhZ2UoZGV2LT5wZGV2LCBwYWdlLCBvZmZzZXQsIHNpemUsIFBDSV9ETUFfRlJPTURFVklDRSk7CisKKwlpZHggPSBkbWEtPmRzdGk7CisJZG1hLT5kc3RyW2lkeF0ucCA9IF9fY3B1X3RvX2xlMzIoYWRkcik7CisJZG1hLT5kc3RyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoc2l6ZSB8CUhJRk5fRF9WQUxJRCB8CisJCQlISUZOX0RfTUFTS0RPTkVJUlEgfCBISUZOX0RfTEFTVCk7CisKKwlpZiAoKytpZHggPT0gSElGTl9EX0RTVF9SU0laRSkgeworCQlkbWEtPmRzdHJbaWR4XS5sID0gX19jcHVfdG9fbGUzMihISUZOX0RfVkFMSUQgfAorCQkJCUhJRk5fRF9KVU1QIHwgSElGTl9EX01BU0tET05FSVJRIHwKKwkJCQlISUZOX0RfTEFTVCk7CisJCWlkeCA9IDA7CisJfQorCWRtYS0+ZHN0aSA9IGlkeDsKKwlkbWEtPmRzdHUrKzsKKworCWlmICghKGRldi0+ZmxhZ3MgJiBISUZOX0ZMQUdfRFNUX0JVU1kpKSB7CisJCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9EX0NUUkxfRU5BKTsKKwkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfRFNUX0JVU1k7CisJfQorfQorCitzdGF0aWMgaW50IGhpZm5fc2V0dXBfZG1hKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqc3BhZ2UsIHVuc2lnbmVkIGludCBzb2ZmLAorCQlzdHJ1Y3QgcGFnZSAqZHBhZ2UsIHVuc2lnbmVkIGludCBkb2ZmLCB1bnNpZ25lZCBpbnQgbmJ5dGVzLCB2b2lkICpwcml2LAorCQlzdHJ1Y3QgaGlmbl9jb250ZXh0ICpjdHgpCit7CisJZHByaW50aygiJXM6IHNwYWdlOiAlcCwgc29mZnNldDogJXUsIGRwYWdlOiAlcCwgZG9mZnNldDogJXUsIG5ieXRlczogJXUsIHByaXY6ICVwLCBjdHg6ICVwLlxuIiwKKwkJCWRldi0+bmFtZSwgc3BhZ2UsIHNvZmYsIGRwYWdlLCBkb2ZmLCBuYnl0ZXMsIHByaXYsIGN0eCk7CisKKwloaWZuX3NldHVwX3NyY19kZXNjKGRldiwgc3BhZ2UsIHNvZmYsIG5ieXRlcyk7CisJaGlmbl9zZXR1cF9jbWRfZGVzYyhkZXYsIGN0eCwgcHJpdiwgbmJ5dGVzKTsKKwloaWZuX3NldHVwX2RzdF9kZXNjKGRldiwgZHBhZ2UsIGRvZmYsIG5ieXRlcyk7CisJaGlmbl9zZXR1cF9yZXNfZGVzYyhkZXYpOworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IGFibGtjaXBoZXJfd2Fsa19pbml0KHN0cnVjdCBhYmxrY2lwaGVyX3dhbGsgKncsCiAJCWludCBudW0sIGdmcF90IGdmcF9mbGFncykKIHsKQEAgLTE0MzEsNyArMTQzNSw3IEBACiAJCXJldHVybiAtRUlOVkFMOwogCiAJd2hpbGUgKHNpemUpIHsKLQkJY29weSA9IG1pbihkcmVzdCwgc3JjLT5sZW5ndGgpOworCQljb3B5ID0gbWluKGRyZXN0LCBtaW4oc2l6ZSwgc3JjLT5sZW5ndGgpKTsKIAogCQlzYWRkciA9IGttYXBfYXRvbWljKHNnX3BhZ2Uoc3JjKSwgS01fU09GVElSUTEpOwogCQltZW1jcHkoZGFkZHIsIHNhZGRyICsgc3JjLT5vZmZzZXQsIGNvcHkpOwpAQCAtMTQ1OCwxMCArMTQ2Miw2IEBACiBzdGF0aWMgaW50IGFibGtjaXBoZXJfd2FsayhzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpyZXEsCiAJCXN0cnVjdCBhYmxrY2lwaGVyX3dhbGsgKncpCiB7Ci0JdW5zaWduZWQgYmxvY2tzaXplID0KLQkJY3J5cHRvX2FibGtjaXBoZXJfYmxvY2tzaXplKGNyeXB0b19hYmxrY2lwaGVyX3JlcXRmbShyZXEpKTsKLQl1bnNpZ25lZCBhbGlnbm1hc2sgPQotCQljcnlwdG9fYWJsa2NpcGhlcl9hbGlnbm1hc2soY3J5cHRvX2FibGtjaXBoZXJfcmVxdGZtKHJlcSkpOwogCXN0cnVjdCBzY2F0dGVybGlzdCAqc3JjLCAqZHN0LCAqdDsKIAl2b2lkICpkYWRkcjsKIAl1bnNpZ25lZCBpbnQgbmJ5dGVzID0gcmVxLT5uYnl0ZXMsIG9mZnNldCwgY29weSwgZGlmZjsKQEAgLTE0NzcsMTYgKzE0NzcsMTQgQEAKIAkJZHN0ID0gJnJlcS0+ZHN0W2lkeF07CiAKIAkJZHByaW50aygiXG4lczogc2xlbjogJXUsIGRsZW46ICV1LCBzb2ZmOiAldSwgZG9mZjogJXUsIG9mZnNldDogJXUsICIKLQkJCQkiYmxvY2tzaXplOiAldSwgbmJ5dGVzOiAldS5cbiIsCisJCQkJIm5ieXRlczogJXUuXG4iLAogCQkJCV9fZnVuY19fLCBzcmMtPmxlbmd0aCwgZHN0LT5sZW5ndGgsIHNyYy0+b2Zmc2V0LAotCQkJCWRzdC0+b2Zmc2V0LCBvZmZzZXQsIGJsb2Nrc2l6ZSwgbmJ5dGVzKTsKKwkJCQlkc3QtPm9mZnNldCwgb2Zmc2V0LCBuYnl0ZXMpOwogCi0JCWlmIChzcmMtPmxlbmd0aCAmIChibG9ja3NpemUgLSAxKSB8fAotCQkJCXNyYy0+b2Zmc2V0ICYgKGFsaWdubWFzayAtIDEpIHx8Ci0JCQkJZHN0LT5sZW5ndGggJiAoYmxvY2tzaXplIC0gMSkgfHwKLQkJCQlkc3QtPm9mZnNldCAmIChhbGlnbm1hc2sgLSAxKSB8fAotCQkJCW9mZnNldCkgewotCQkJdW5zaWduZWQgc2xlbiA9IHNyYy0+bGVuZ3RoIC0gb2Zmc2V0OworCQlpZiAoIUlTX0FMSUdORUQoZHN0LT5vZmZzZXQsIEhJRk5fRF9EU1RfREFMSUdOKSB8fAorCQkgICAgIUlTX0FMSUdORUQoZHN0LT5sZW5ndGgsIEhJRk5fRF9EU1RfREFMSUdOKSB8fAorCQkgICAgb2Zmc2V0KSB7CisJCQl1bnNpZ25lZCBzbGVuID0gbWluKHNyYy0+bGVuZ3RoIC0gb2Zmc2V0LCBuYnl0ZXMpOwogCQkJdW5zaWduZWQgZGxlbiA9IFBBR0VfU0laRTsKIAogCQkJdCA9ICZ3LT5jYWNoZVtpZHhdOwpAQCAtMTQ5OCw4ICsxNDk2LDggQEAKIAogCQkJaWR4ICs9IGVycjsKIAotCQkJY29weSA9IHNsZW4gJiB+KGJsb2Nrc2l6ZSAtIDEpOwotCQkJZGlmZiA9IHNsZW4gJiAoYmxvY2tzaXplIC0gMSk7CisJCQljb3B5ID0gc2xlbiAmIH4oSElGTl9EX0RTVF9EQUxJR04gLSAxKTsKKwkJCWRpZmYgPSBzbGVuICYgKEhJRk5fRF9EU1RfREFMSUdOIC0gMSk7CiAKIAkJCWlmIChkbGVuIDwgbmJ5dGVzKSB7CiAJCQkJLyoKQEAgLTE1MDcsNyArMTUwNSw3IEBACiAJCQkJICogdG8gcHV0IHRoZXJlIGFkZGl0aW9uYWwgYmxvY2tzaXplZCBjaHVuaywKIAkJCQkgKiBzbyB3ZSBtYXJrIHRoYXQgcGFnZSBhcyBjb250YWluaW5nIG9ubHkKIAkJCQkgKiBibG9ja3NpemUgYWxpZ25lZCBjaHVua3M6Ci0JCQkJICogCXQtPmxlbmd0aCA9IChzbGVuICYgfihibG9ja3NpemUgLSAxKSk7CisJCQkJICogCXQtPmxlbmd0aCA9IChzbGVuICYgfihISUZOX0RfRFNUX0RBTElHTiAtIDEpKTsKIAkJCQkgKiBhbmQgaW5jcmVhc2UgbnVtYmVyIG9mIGJ5dGVzIHRvIGJlIHByb2Nlc3NlZAogCQkJCSAqIGluIG5leHQgY2h1bms6CiAJCQkJICogCW5ieXRlcyArPSBkaWZmOwpAQCAtMTU0NCw3ICsxNTQyLDcgQEAKIAogCQkJa3VubWFwX2F0b21pYyhkYWRkciwgS01fU09GVElSUTApOwogCQl9IGVsc2UgewotCQkJbmJ5dGVzIC09IHNyYy0+bGVuZ3RoOworCQkJbmJ5dGVzIC09IG1pbihzcmMtPmxlbmd0aCwgbmJ5dGVzKTsKIAkJCWlkeCsrOwogCQl9CiAKQEAgLTE1NjMsMTQgKzE1NjEsMTAgQEAKIAlzdHJ1Y3QgaGlmbl9jb250ZXh0ICpjdHggPSBjcnlwdG9fdGZtX2N0eChyZXEtPmJhc2UudGZtKTsKIAlzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiA9IGN0eC0+ZGV2OwogCXN0cnVjdCBwYWdlICpzcGFnZSwgKmRwYWdlOwotCXVuc2lnbmVkIGxvbmcgc29mZiwgZG9mZiwgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyBzb2ZmLCBkb2ZmLCBkbGVuLCBmbGFnczsKIAl1bnNpZ25lZCBpbnQgbmJ5dGVzID0gcmVxLT5uYnl0ZXMsIGlkeCA9IDAsIGxlbjsKIAlpbnQgZXJyID0gLUVJTlZBTCwgc2dfbnVtOwogCXN0cnVjdCBzY2F0dGVybGlzdCAqc3JjLCAqZHN0LCAqdDsKLQl1bnNpZ25lZCBibG9ja3NpemUgPQotCQljcnlwdG9fYWJsa2NpcGhlcl9ibG9ja3NpemUoY3J5cHRvX2FibGtjaXBoZXJfcmVxdGZtKHJlcSkpOwotCXVuc2lnbmVkIGFsaWdubWFzayA9Ci0JCWNyeXB0b19hYmxrY2lwaGVyX2FsaWdubWFzayhjcnlwdG9fYWJsa2NpcGhlcl9yZXF0Zm0ocmVxKSk7CiAKIAlpZiAoY3R4LT5pdiAmJiAhY3R4LT5pdnNpemUgJiYgY3R4LT5tb2RlICE9IEFDUllQVE9fTU9ERV9FQ0IpCiAJCWdvdG8gZXJyX291dF9leGl0OwpAQCAtMTU3OCwxNyArMTU3MiwxNCBAQAogCWN0eC0+d2Fsay5mbGFncyA9IDA7CiAKIAl3aGlsZSAobmJ5dGVzKSB7Ci0JCXNyYyA9ICZyZXEtPnNyY1tpZHhdOwogCQlkc3QgPSAmcmVxLT5kc3RbaWR4XTsKKwkJZGxlbiA9IG1pbihkc3QtPmxlbmd0aCwgbmJ5dGVzKTsKIAotCQlpZiAoc3JjLT5sZW5ndGggJiAoYmxvY2tzaXplIC0gMSkgfHwKLQkJCQlzcmMtPm9mZnNldCAmIChhbGlnbm1hc2sgLSAxKSB8fAotCQkJCWRzdC0+bGVuZ3RoICYgKGJsb2Nrc2l6ZSAtIDEpIHx8Ci0JCQkJZHN0LT5vZmZzZXQgJiAoYWxpZ25tYXNrIC0gMSkpIHsKKwkJaWYgKCFJU19BTElHTkVEKGRzdC0+b2Zmc2V0LCBISUZOX0RfRFNUX0RBTElHTikgfHwKKwkJICAgICFJU19BTElHTkVEKGRsZW4sIEhJRk5fRF9EU1RfREFMSUdOKSkKIAkJCWN0eC0+d2Fsay5mbGFncyB8PSBBU1lOQ19GTEFHU19NSVNBTElHTkVEOwotCQl9CiAKLQkJbmJ5dGVzIC09IHNyYy0+bGVuZ3RoOworCQluYnl0ZXMgLT0gZGxlbjsKIAkJaWR4Kys7CiAJfQogCkBAIC0xNjAyLDcgKzE1OTMsMTAgQEAKIAlpZHggPSAwOwogCiAJc2dfbnVtID0gYWJsa2NpcGhlcl93YWxrKHJlcSwgJmN0eC0+d2Fsayk7Ci0KKwlpZiAoc2dfbnVtIDwgMCkgeworCQllcnIgPSBzZ19udW07CisJCWdvdG8gZXJyX291dF9leGl0OworCX0KIAlhdG9taWNfc2V0KCZjdHgtPnNnX251bSwgc2dfbnVtKTsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPmxvY2ssIGZsYWdzKTsKQEAgLTE2NDAsNyArMTYzNCw3IEBACiAJCWlmIChlcnIpCiAJCQlnb3RvIGVycl9vdXQ7CiAKLQkJbmJ5dGVzIC09IGxlbjsKKwkJbmJ5dGVzIC09IG1pbihsZW4sIG5ieXRlcyk7CiAJfQogCiAJZGV2LT5hY3RpdmUgPSBISUZOX0RFRkFVTFRfQUNUSVZFX05VTTsKQEAgLTE2NTEsNyArMTY0NSw3IEBACiBlcnJfb3V0OgogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldi0+bG9jaywgZmxhZ3MpOwogZXJyX291dF9leGl0OgotCWlmIChlcnIgJiYgcHJpbnRrX3JhdGVsaW1pdCgpKQorCWlmIChlcnIpCiAJCWRwcmludGsoIiVzOiBpdjogJXAgWyVkXSwga2V5OiAlcCBbJWRdLCBtb2RlOiAldSwgb3A6ICV1LCAiCiAJCQkJInR5cGU6ICV1LCBlcnI6ICVkLlxuIiwKIAkJCWRldi0+bmFtZSwgY3R4LT5pdiwgY3R4LT5pdnNpemUsCkBAIC0xNzQ1LDggKzE3MzksNyBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXdoaWxlIChzaXplKSB7Ci0KLQkJY29weSA9IG1pbihkc3QtPmxlbmd0aCwgc3Jlc3QpOworCQljb3B5ID0gbWluKHNyZXN0LCBtaW4oZHN0LT5sZW5ndGgsIHNpemUpKTsKIAogCQlkYWRkciA9IGttYXBfYXRvbWljKHNnX3BhZ2UoZHN0KSwgS01fSVJRMCk7CiAJCW1lbWNweShkYWRkciArIGRzdC0+b2Zmc2V0ICsgb2Zmc2V0LCBzYWRkciwgY29weSk7CkBAIC0xODAzLDcgKzE3OTYsNyBAQAogCQkJCQlzZ19wYWdlKGRzdCksIGRzdC0+bGVuZ3RoLCBuYnl0ZXMpOwogCiAJCQkJaWYgKCF0LT5sZW5ndGgpIHsKLQkJCQkJbmJ5dGVzIC09IGRzdC0+bGVuZ3RoOworCQkJCQluYnl0ZXMgLT0gbWluKGRzdC0+bGVuZ3RoLCBuYnl0ZXMpOwogCQkJCQlpZHgrKzsKIAkJCQkJY29udGludWU7CiAJCQkJfQpAQCAtMjIwMiw5ICsyMTk1LDkgQEAKIAkJcmV0dXJuIGVycjsKIAogCWlmIChkZXYtPnN0YXJ0ZWQgPCBISUZOX1FVRVVFX0xFTkdUSCAmJglkZXYtPnF1ZXVlLnFsZW4pCi0JCWVyciA9IGhpZm5fcHJvY2Vzc19xdWV1ZShkZXYpOworCQloaWZuX3Byb2Nlc3NfcXVldWUoZGV2KTsKIAotCXJldHVybiBlcnI7CisJcmV0dXJuIC1FSU5QUk9HUkVTUzsKIH0KIAogLyoKQEAgLTIzNjQsNyArMjM1Nyw3IEBACiAJICogM0RFUyBFQ0IsIENCQywgQ0ZCIGFuZCBPRkIgbW9kZXMuCiAJICovCiAJewotCQkubmFtZSA9ICJjZmIoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImhpZm4tM2RlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gImNmYihkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiY2ZiLTNkZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCkBAIC0yMzc0LDcgKzIzNjcsNyBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJvZmIoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImhpZm4tM2RlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gIm9mYihkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAib2ZiLTNkZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCkBAIC0yMzg0LDggKzIzNzcsOSBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJjYmMoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImhpZm4tM2RlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gImNiYyhkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiY2JjLTNkZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKKwkJCS5pdnNpemUJCT0JSElGTl9JVl9MRU5HVEgsCiAJCQkubWluX2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILAogCQkJLnNldGtleQkJPQloaWZuX3NldGtleSwKQEAgLTIzOTQsNyArMjM4OCw3IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gImVjYihkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiaGlmbi0zZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAiZWNiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJlY2ItM2RlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKQEAgLTI0MDgsNyArMjQwMiw3IEBACiAJICogREVTIEVDQiwgQ0JDLCBDRkIgYW5kIE9GQiBtb2Rlcy4KIAkgKi8KIAl7Ci0JCS5uYW1lID0gImNmYihkZXMpIiwgLmRydl9uYW1lID0gImhpZm4tZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAiY2ZiKGRlcykiLCAuZHJ2X25hbWUgPSAiY2ZiLWRlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCkBAIC0yNDE4LDcgKzI0MTIsNyBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJvZmIoZGVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWRlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gIm9mYihkZXMpIiwgLmRydl9uYW1lID0gIm9mYi1kZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILApAQCAtMjQyOCw4ICsyNDIyLDkgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAiY2JjKGRlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1kZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJjYmMoZGVzKSIsIC5kcnZfbmFtZSA9ICJjYmMtZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CisJCQkuaXZzaXplCQk9CUhJRk5fSVZfTEVOR1RILAogCQkJLm1pbl9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCiAJCQkuc2V0a2V5CQk9CWhpZm5fc2V0a2V5LApAQCAtMjQzOCw3ICsyNDMzLDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAiZWNiKGRlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1kZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJlY2IoZGVzKSIsIC5kcnZfbmFtZSA9ICJlY2ItZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKQEAgLTI0NTIsNyArMjQ0Nyw3IEBACiAJICogQUVTIEVDQiwgQ0JDLCBDRkIgYW5kIE9GQiBtb2Rlcy4KIAkgKi8KIAl7Ci0JCS5uYW1lID0gImVjYihhZXMpIiwgLmRydl9uYW1lID0gImhpZm4tYWVzIiwgLmJzaXplID0gMTYsCisJCS5uYW1lID0gImVjYihhZXMpIiwgLmRydl9uYW1lID0gImVjYi1hZXMiLCAuYnNpemUgPSAxNiwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlBRVNfTUlOX0tFWV9TSVpFLAogCQkJLm1heF9rZXlzaXplCT0JQUVTX01BWF9LRVlfU0laRSwKQEAgLTI0NjIsOCArMjQ1Nyw5IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gImNiYyhhZXMpIiwgLmRydl9uYW1lID0gImhpZm4tYWVzIiwgLmJzaXplID0gMTYsCisJCS5uYW1lID0gImNiYyhhZXMpIiwgLmRydl9uYW1lID0gImNiYy1hZXMiLCAuYnNpemUgPSAxNiwKIAkJLmFibGtjaXBoZXIgPSB7CisJCQkuaXZzaXplCQk9CUhJRk5fQUVTX0lWX0xFTkdUSCwKIAkJCS5taW5fa2V5c2l6ZQk9CUFFU19NSU5fS0VZX1NJWkUsCiAJCQkubWF4X2tleXNpemUJPQlBRVNfTUFYX0tFWV9TSVpFLAogCQkJLnNldGtleQkJPQloaWZuX3NldGtleSwKQEAgLTI0NzIsNyArMjQ2OCw3IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gImNmYihhZXMpIiwgLmRydl9uYW1lID0gImhpZm4tYWVzIiwgLmJzaXplID0gMTYsCisJCS5uYW1lID0gImNmYihhZXMpIiwgLmRydl9uYW1lID0gImNmYi1hZXMiLCAuYnNpemUgPSAxNiwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlBRVNfTUlOX0tFWV9TSVpFLAogCQkJLm1heF9rZXlzaXplCT0JQUVTX01BWF9LRVlfU0laRSwKQEAgLTI0ODIsNyArMjQ3OCw3IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gIm9mYihhZXMpIiwgLmRydl9uYW1lID0gImhpZm4tYWVzIiwgLmJzaXplID0gMTYsCisJCS5uYW1lID0gIm9mYihhZXMpIiwgLmRydl9uYW1lID0gIm9mYi1hZXMiLCAuYnNpemUgPSAxNiwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlBRVNfTUlOX0tFWV9TSVpFLAogCQkJLm1heF9rZXlzaXplCT0JQUVTX01BWF9LRVlfU0laRSwKQEAgLTI1MTQsMTUgKzI1MTAsMTQgQEAKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAlzbnByaW50ZihhbGctPmFsZy5jcmFfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwgIiVzIiwgdC0+bmFtZSk7Ci0Jc25wcmludGYoYWxnLT5hbGcuY3JhX2RyaXZlcl9uYW1lLCBDUllQVE9fTUFYX0FMR19OQU1FLCAiJXMiLCB0LT5kcnZfbmFtZSk7CisJc25wcmludGYoYWxnLT5hbGcuY3JhX2RyaXZlcl9uYW1lLCBDUllQVE9fTUFYX0FMR19OQU1FLCAiJXMtJXMiLAorCQkgdC0+ZHJ2X25hbWUsIGRldi0+bmFtZSk7CiAKIAlhbGctPmFsZy5jcmFfcHJpb3JpdHkgPSAzMDA7CiAJYWxnLT5hbGcuY3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBFX0FCTEtDSVBIRVIgfCBDUllQVE9fQUxHX0FTWU5DOwogCWFsZy0+YWxnLmNyYV9ibG9ja3NpemUgPSB0LT5ic2l6ZTsKIAlhbGctPmFsZy5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgaGlmbl9jb250ZXh0KTsKLQlhbGctPmFsZy5jcmFfYWxpZ25tYXNrID0gMTU7Ci0JaWYgKHQtPmJzaXplID09IDgpCi0JCWFsZy0+YWxnLmNyYV9hbGlnbm1hc2sgPSAzOworCWFsZy0+YWxnLmNyYV9hbGlnbm1hc2sgPSAwOwogCWFsZy0+YWxnLmNyYV90eXBlID0gJmNyeXB0b19hYmxrY2lwaGVyX3R5cGU7CiAJYWxnLT5hbGcuY3JhX21vZHVsZSA9IFRISVNfTU9EVUxFOwogCWFsZy0+YWxnLmNyYV91LmFibGtjaXBoZXIgPSB0LT5hYmxrY2lwaGVyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vaXhwNHh4X2NyeXB0by5jIGIvZHJpdmVycy9jcnlwdG8vaXhwNHh4X2NyeXB0by5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyYTEwN2YKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2NyeXB0by9peHA0eHhfY3J5cHRvLmMKQEAgLTAsMCArMSwxNTA2IEBACisvKgorICogSW50ZWwgSVhQNHh4IE5QRS1DIGNyeXB0byBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ2hyaXN0aWFuIEhvaG5zdGFlZHQgPGNob2huc3RhZWR0QGlubm9taW5hdGUuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdmVyc2lvbiAyIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYXBvb2wuaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9ydG5ldGxpbmsuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorCisjaW5jbHVkZSA8Y3J5cHRvL2N0ci5oPgorI2luY2x1ZGUgPGNyeXB0by9kZXMuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYWVzLmg+CisjaW5jbHVkZSA8Y3J5cHRvL3NoYS5oPgorI2luY2x1ZGUgPGNyeXB0by9hbGdhcGkuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYWVhZC5oPgorI2luY2x1ZGUgPGNyeXB0by9hdXRoZW5jLmg+CisjaW5jbHVkZSA8Y3J5cHRvL3NjYXR0ZXJ3YWxrLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9ucGUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9xbWdyLmg+CisKKyNkZWZpbmUgTUFYX0tFWUxFTiAzMgorCisvKiBoYXNoOiBjZmd3b3JkICsgMiAqIGRpZ2VzdGxlbjsgY3J5cHQ6IGtleWxlbiArIGNmZ3dvcmQgKi8KKyNkZWZpbmUgTlBFX0NUWF9MRU4gODAKKyNkZWZpbmUgQUVTX0JMT0NLMTI4IDE2CisKKyNkZWZpbmUgTlBFX09QX0hBU0hfVkVSSUZZICAgMHgwMQorI2RlZmluZSBOUEVfT1BfQ0NNX0VOQUJMRSAgICAweDA0CisjZGVmaW5lIE5QRV9PUF9DUllQVF9FTkFCTEUgIDB4MDgKKyNkZWZpbmUgTlBFX09QX0hBU0hfRU5BQkxFICAgMHgxMAorI2RlZmluZSBOUEVfT1BfTk9UX0lOX1BMQUNFICAweDIwCisjZGVmaW5lIE5QRV9PUF9ITUFDX0RJU0FCTEUgIDB4NDAKKyNkZWZpbmUgTlBFX09QX0NSWVBUX0VOQ1JZUFQgMHg4MAorCisjZGVmaW5lIE5QRV9PUF9DQ01fR0VOX01JQyAgIDB4Y2MKKyNkZWZpbmUgTlBFX09QX0hBU0hfR0VOX0lDViAgMHg1MAorI2RlZmluZSBOUEVfT1BfRU5DX0dFTl9LRVkgICAweGM5CisKKyNkZWZpbmUgTU9EX0VDQiAgICAgMHgwMDAwCisjZGVmaW5lIE1PRF9DVFIgICAgIDB4MTAwMAorI2RlZmluZSBNT0RfQ0JDX0VOQyAweDIwMDAKKyNkZWZpbmUgTU9EX0NCQ19ERUMgMHgzMDAwCisjZGVmaW5lIE1PRF9DQ01fRU5DIDB4NDAwMAorI2RlZmluZSBNT0RfQ0NNX0RFQyAweDUwMDAKKworI2RlZmluZSBLRVlMRU5fMTI4ICA0CisjZGVmaW5lIEtFWUxFTl8xOTIgIDYKKyNkZWZpbmUgS0VZTEVOXzI1NiAgOAorCisjZGVmaW5lIENJUEhfREVDUiAgIDB4MDAwMAorI2RlZmluZSBDSVBIX0VOQ1IgICAweDA0MDAKKworI2RlZmluZSBNT0RfREVTICAgICAweDAwMDAKKyNkZWZpbmUgTU9EX1RERUEyICAgMHgwMTAwCisjZGVmaW5lIE1PRF8zREVTICAgMHgwMjAwCisjZGVmaW5lIE1PRF9BRVMgICAgIDB4MDgwMAorI2RlZmluZSBNT0RfQUVTMTI4ICAoMHgwODAwIHwgS0VZTEVOXzEyOCkKKyNkZWZpbmUgTU9EX0FFUzE5MiAgKDB4MDkwMCB8IEtFWUxFTl8xOTIpCisjZGVmaW5lIE1PRF9BRVMyNTYgICgweDBhMDAgfCBLRVlMRU5fMjU2KQorCisjZGVmaW5lIE1BWF9JVkxFTiAgIDE2CisjZGVmaW5lIE5QRV9JRCAgICAgIDIgIC8qIE5QRSBDICovCisjZGVmaW5lIE5QRV9RTEVOICAgIDE2CisvKiBTcGFjZSBmb3IgcmVnaXN0ZXJpbmcgd2hlbiB0aGUgZmlyc3QKKyAqIE5QRV9RTEVOIGNyeXB0X2N0bCBhcmUgYnVzeSAqLworI2RlZmluZSBOUEVfUUxFTl9UT1RBTCA2NAorCisjZGVmaW5lIFNFTkRfUUlEICAgIDI5CisjZGVmaW5lIFJFQ1ZfUUlEICAgIDMwCisKKyNkZWZpbmUgQ1RMX0ZMQUdfVU5VU0VECQkweDAwMDAKKyNkZWZpbmUgQ1RMX0ZMQUdfVVNFRAkJMHgxMDAwCisjZGVmaW5lIENUTF9GTEFHX1BFUkZPUk1fQUJMSwkweDAwMDEKKyNkZWZpbmUgQ1RMX0ZMQUdfR0VOX0lDVgkweDAwMDIKKyNkZWZpbmUgQ1RMX0ZMQUdfR0VOX1JFVkFFUwkweDAwMDQKKyNkZWZpbmUgQ1RMX0ZMQUdfUEVSRk9STV9BRUFECTB4MDAwOAorI2RlZmluZSBDVExfRkxBR19NQVNLCQkweDAwMGYKKworI2RlZmluZSBITUFDX0lQQURfVkFMVUUgICAweDM2CisjZGVmaW5lIEhNQUNfT1BBRF9WQUxVRSAgIDB4NUMKKyNkZWZpbmUgSE1BQ19QQURfQkxPQ0tMRU4gU0hBMV9CTE9DS19TSVpFCisKKyNkZWZpbmUgTUQ1X0RJR0VTVF9TSVpFICAgMTYKKworc3RydWN0IGJ1ZmZlcl9kZXNjIHsKKwl1MzIgcGh5c19uZXh0OworCXUxNiBidWZfbGVuOworCXUxNiBwa3RfbGVuOworCXUzMiBwaHlzX2FkZHI7CisJdTMyIF9fcmVzZXJ2ZWRbNF07CisJc3RydWN0IGJ1ZmZlcl9kZXNjICpuZXh0OworfTsKKworc3RydWN0IGNyeXB0X2N0bCB7CisJdTggbW9kZTsJCS8qIE5QRV9PUF8qICBvcGVyYXRpb24gbW9kZSAqLworCXU4IGluaXRfbGVuOworCXUxNiByZXNlcnZlZDsKKwl1OCBpdltNQVhfSVZMRU5dOwkvKiBJViBmb3IgQ0JDIG1vZGUgb3IgQ1RSIElWIGZvciBDVFIgbW9kZSAqLworCXUzMiBpY3ZfcmV2X2FlczsJLyogaWN2IG9yIHJldiBhZXMgKi8KKwl1MzIgc3JjX2J1ZjsKKwl1MzIgZHN0X2J1ZjsKKwl1MTYgYXV0aF9vZmZzOwkJLyogQXV0aGVudGljYXRpb24gc3RhcnQgb2Zmc2V0ICovCisJdTE2IGF1dGhfbGVuOwkJLyogQXV0aGVudGljYXRpb24gZGF0YSBsZW5ndGggKi8KKwl1MTYgY3J5cHRfb2ZmczsJCS8qIENyeXB0aW9uIHN0YXJ0IG9mZnNldCAqLworCXUxNiBjcnlwdF9sZW47CQkvKiBDcnlwdGlvbiBkYXRhIGxlbmd0aCAqLworCXUzMiBhYWRBZGRyOwkJLyogQWRkaXRpb25hbCBBdXRoIERhdGEgQWRkciBmb3IgQ0NNIG1vZGUgKi8KKwl1MzIgY3J5cHRvX2N0eDsJCS8qIE5QRSBDcnlwdG8gUGFyYW0gc3RydWN0dXJlIGFkZHJlc3MgKi8KKworCS8qIFVzZWQgYnkgSG9zdDogNCo0IGJ5dGVzKi8KKwl1bnNpZ25lZCBjdGxfZmxhZ3M7CisJdW5pb24geworCQlzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICphYmxrX3JlcTsKKwkJc3RydWN0IGFlYWRfcmVxdWVzdCAqYWVhZF9yZXE7CisJCXN0cnVjdCBjcnlwdG9fdGZtICp0Zm07CisJfSBkYXRhOworCXN0cnVjdCBidWZmZXJfZGVzYyAqcmVnaXN0X2J1ZjsKKwl1OCAqcmVnaXN0X3B0cjsKK307CisKK3N0cnVjdCBhYmxrX2N0eCB7CisJc3RydWN0IGJ1ZmZlcl9kZXNjICpzcmM7CisJc3RydWN0IGJ1ZmZlcl9kZXNjICpkc3Q7CisJdW5zaWduZWQgc3JjX25lbnRzOworCXVuc2lnbmVkIGRzdF9uZW50czsKK307CisKK3N0cnVjdCBhZWFkX2N0eCB7CisJc3RydWN0IGJ1ZmZlcl9kZXNjICpidWZmZXI7CisJdW5zaWduZWQgc2hvcnQgYXNzb2NfbmVudHM7CisJdW5zaWduZWQgc2hvcnQgc3JjX25lbnRzOworCXN0cnVjdCBzY2F0dGVybGlzdCBpdmxpc3Q7CisJLyogdXNlZCB3aGVuIHRoZSBobWFjIGlzIG5vdCBvbiBvbmUgc2cgZW50cnkgKi8KKwl1OCAqaG1hY192aXJ0OworCWludCBlbmNyeXB0OworfTsKKworc3RydWN0IGl4X2hhc2hfYWxnbyB7CisJdTMyIGNmZ3dvcmQ7CisJdW5zaWduZWQgY2hhciAqaWN2OworfTsKKworc3RydWN0IGl4X3NhX2RpciB7CisJdW5zaWduZWQgY2hhciAqbnBlX2N0eDsKKwlkbWFfYWRkcl90IG5wZV9jdHhfcGh5czsKKwlpbnQgbnBlX2N0eF9pZHg7CisJdTggbnBlX21vZGU7Cit9OworCitzdHJ1Y3QgaXhwX2N0eCB7CisJc3RydWN0IGl4X3NhX2RpciBlbmNyeXB0OworCXN0cnVjdCBpeF9zYV9kaXIgZGVjcnlwdDsKKwlpbnQgYXV0aGtleV9sZW47CisJdTggYXV0aGtleVtNQVhfS0VZTEVOXTsKKwlpbnQgZW5ja2V5X2xlbjsKKwl1OCBlbmNrZXlbTUFYX0tFWUxFTl07CisJdTggc2FsdFtNQVhfSVZMRU5dOworCXU4IG5vbmNlW0NUUl9SRkMzNjg2X05PTkNFX1NJWkVdOworCXVuc2lnbmVkIHNhbHRlZDsKKwlhdG9taWNfdCBjb25maWd1cmluZzsKKwlzdHJ1Y3QgY29tcGxldGlvbiBjb21wbGV0aW9uOworfTsKKworc3RydWN0IGl4cF9hbGcgeworCXN0cnVjdCBjcnlwdG9fYWxnIGNyeXB0bzsKKwljb25zdCBzdHJ1Y3QgaXhfaGFzaF9hbGdvICpoYXNoOworCXUzMiBjZmdfZW5jOworCXUzMiBjZmdfZGVjOworCisJaW50IHJlZ2lzdGVyZWQ7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGl4X2hhc2hfYWxnbyBoYXNoX2FsZ19tZDUgPSB7CisJLmNmZ3dvcmQJPSAweEFBMDEwMDA0LAorCS5pY3YJCT0gIlx4MDFceDIzXHg0NVx4NjdceDg5XHhBQlx4Q0RceEVGIgorCQkJICAiXHhGRVx4RENceEJBXHg5OFx4NzZceDU0XHgzMlx4MTAiLAorfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaXhfaGFzaF9hbGdvIGhhc2hfYWxnX3NoYTEgPSB7CisJLmNmZ3dvcmQJPSAweDAwMDAwMDA1LAorCS5pY3YJCT0gIlx4NjdceDQ1XHgyM1x4MDFceEVGXHhDRFx4QUJceDg5XHg5OFx4QkEiCisJCQkgICJceERDXHhGRVx4MTBceDMyXHg1NFx4NzZceEMzXHhEMlx4RTFceEYwIiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbnBlICpucGVfYzsKK3N0YXRpYyBzdHJ1Y3QgZG1hX3Bvb2wgKmJ1ZmZlcl9wb29sID0gTlVMTDsKK3N0YXRpYyBzdHJ1Y3QgZG1hX3Bvb2wgKmN0eF9wb29sID0gTlVMTDsKKworc3RhdGljIHN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0X3ZpcnQgPSBOVUxMOworc3RhdGljIGRtYV9hZGRyX3QgY3J5cHRfcGh5czsKKworc3RhdGljIGludCBzdXBwb3J0X2FlcyA9IDE7CisKK3N0YXRpYyB2b2lkIGRldl9yZWxlYXNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlyZXR1cm47Cit9CisKKyNkZWZpbmUgRFJJVkVSX05BTUUgIml4cDR4eF9jcnlwdG8iCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBwc2V1ZG9fZGV2ID0geworCS5uYW1lID0gRFJJVkVSX05BTUUsCisJLmlkICAgPSAwLAorCS5udW1fcmVzb3VyY2VzID0gMCwKKwkuZGV2ICA9IHsKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gRE1BXzMyQklUX01BU0ssCisJCS5yZWxlYXNlID0gZGV2X3JlbGVhc2UsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBkZXZpY2UgKmRldiA9ICZwc2V1ZG9fZGV2LmRldjsKKworc3RhdGljIGlubGluZSBkbWFfYWRkcl90IGNyeXB0X3ZpcnQycGh5cyhzdHJ1Y3QgY3J5cHRfY3RsICp2aXJ0KQoreworCXJldHVybiBjcnlwdF9waHlzICsgKHZpcnQgLSBjcnlwdF92aXJ0KSAqIHNpemVvZihzdHJ1Y3QgY3J5cHRfY3RsKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdF9waHlzMnZpcnQoZG1hX2FkZHJfdCBwaHlzKQoreworCXJldHVybiBjcnlwdF92aXJ0ICsgKHBoeXMgLSBjcnlwdF9waHlzKSAvIHNpemVvZihzdHJ1Y3QgY3J5cHRfY3RsKTsKK30KKworc3RhdGljIGlubGluZSB1MzIgY2lwaGVyX2NmZ19lbmMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKHRmbS0+X19jcnRfYWxnLCBzdHJ1Y3QgaXhwX2FsZyxjcnlwdG8pLT5jZmdfZW5jOworfQorCitzdGF0aWMgaW5saW5lIHUzMiBjaXBoZXJfY2ZnX2RlYyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXJldHVybiBjb250YWluZXJfb2YodGZtLT5fX2NydF9hbGcsIHN0cnVjdCBpeHBfYWxnLGNyeXB0byktPmNmZ19kZWM7Cit9CisKK3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGl4X2hhc2hfYWxnbyAqaXhfaGFzaChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXJldHVybiBjb250YWluZXJfb2YodGZtLT5fX2NydF9hbGcsIHN0cnVjdCBpeHBfYWxnLCBjcnlwdG8pLT5oYXNoOworfQorCitzdGF0aWMgaW50IHNldHVwX2NyeXB0X2Rlc2Modm9pZCkKK3sKKwlCVUlMRF9CVUdfT04oc2l6ZW9mKHN0cnVjdCBjcnlwdF9jdGwpICE9IDY0KTsKKwljcnlwdF92aXJ0ID0gZG1hX2FsbG9jX2NvaGVyZW50KGRldiwKKwkJCU5QRV9RTEVOICogc2l6ZW9mKHN0cnVjdCBjcnlwdF9jdGwpLAorCQkJJmNyeXB0X3BoeXMsIEdGUF9LRVJORUwpOworCWlmICghY3J5cHRfdmlydCkKKwkJcmV0dXJuIC1FTk9NRU07CisJbWVtc2V0KGNyeXB0X3ZpcnQsIDAsIE5QRV9RTEVOICogc2l6ZW9mKHN0cnVjdCBjcnlwdF9jdGwpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNwaW5sb2NrX3QgZGVzY19sb2NrOworc3RhdGljIHN0cnVjdCBjcnlwdF9jdGwgKmdldF9jcnlwdF9kZXNjKHZvaWQpCit7CisJaW50IGk7CisJc3RhdGljIGludCBpZHggPSAwOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZGVzY19sb2NrLCBmbGFncyk7CisKKwlpZiAodW5saWtlbHkoIWNyeXB0X3ZpcnQpKQorCQlzZXR1cF9jcnlwdF9kZXNjKCk7CisJaWYgKHVubGlrZWx5KCFjcnlwdF92aXJ0KSkgeworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXNjX2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWkgPSBpZHg7CisJaWYgKGNyeXB0X3ZpcnRbaV0uY3RsX2ZsYWdzID09IENUTF9GTEFHX1VOVVNFRCkgeworCQlpZiAoKytpZHggPj0gTlBFX1FMRU4pCisJCQlpZHggPSAwOworCQljcnlwdF92aXJ0W2ldLmN0bF9mbGFncyA9IENUTF9GTEFHX1VTRUQ7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRlc2NfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gY3J5cHRfdmlydCAraTsKKwl9IGVsc2UgeworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXNjX2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorfQorCitzdGF0aWMgc3BpbmxvY2tfdCBlbWVyZ19sb2NrOworc3RhdGljIHN0cnVjdCBjcnlwdF9jdGwgKmdldF9jcnlwdF9kZXNjX2VtZXJnKHZvaWQpCit7CisJaW50IGk7CisJc3RhdGljIGludCBpZHggPSBOUEVfUUxFTjsKKwlzdHJ1Y3QgY3J5cHRfY3RsICpkZXNjOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlkZXNjID0gZ2V0X2NyeXB0X2Rlc2MoKTsKKwlpZiAoZGVzYykKKwkJcmV0dXJuIGRlc2M7CisJaWYgKHVubGlrZWx5KCFjcnlwdF92aXJ0KSkKKwkJcmV0dXJuIE5VTEw7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZW1lcmdfbG9jaywgZmxhZ3MpOworCWkgPSBpZHg7CisJaWYgKGNyeXB0X3ZpcnRbaV0uY3RsX2ZsYWdzID09IENUTF9GTEFHX1VOVVNFRCkgeworCQlpZiAoKytpZHggPj0gTlBFX1FMRU5fVE9UQUwpCisJCQlpZHggPSBOUEVfUUxFTjsKKwkJY3J5cHRfdmlydFtpXS5jdGxfZmxhZ3MgPSBDVExfRkxBR19VU0VEOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlbWVyZ19sb2NrLCBmbGFncyk7CisJCXJldHVybiBjcnlwdF92aXJ0ICtpOworCX0gZWxzZSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVtZXJnX2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorfQorCitzdGF0aWMgdm9pZCBmcmVlX2J1Zl9jaGFpbihzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmJ1ZiwgdTMyIHBoeXMpCit7CisJd2hpbGUgKGJ1ZikgeworCQlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmJ1ZjE7CisJCXUzMiBwaHlzMTsKKworCQlidWYxID0gYnVmLT5uZXh0OworCQlwaHlzMSA9IGJ1Zi0+cGh5c19uZXh0OworCQlkbWFfcG9vbF9mcmVlKGJ1ZmZlcl9wb29sLCBidWYsIHBoeXMpOworCQlidWYgPSBidWYxOworCQlwaHlzID0gcGh5czE7CisJfQorfQorCitzdGF0aWMgc3RydWN0IHRhc2tsZXRfc3RydWN0IGNyeXB0b19kb25lX3Rhc2tsZXQ7CisKK3N0YXRpYyB2b2lkIGZpbmlzaF9zY2F0dGVyZWRfaG1hYyhzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdCkKK3sKKwlzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEgPSBjcnlwdC0+ZGF0YS5hZWFkX3JlcTsKKwlzdHJ1Y3QgYWVhZF9jdHggKnJlcV9jdHggPSBhZWFkX3JlcXVlc3RfY3R4KHJlcSk7CisJc3RydWN0IGNyeXB0b19hZWFkICp0Zm0gPSBjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKTsKKwlpbnQgYXV0aHNpemUgPSBjcnlwdG9fYWVhZF9hdXRoc2l6ZSh0Zm0pOworCWludCBkZWNyeXB0bGVuID0gcmVxLT5jcnlwdGxlbiAtIGF1dGhzaXplOworCisJaWYgKHJlcV9jdHgtPmVuY3J5cHQpIHsKKwkJc2NhdHRlcndhbGtfbWFwX2FuZF9jb3B5KHJlcV9jdHgtPmhtYWNfdmlydCwKKwkJCXJlcS0+c3JjLCBkZWNyeXB0bGVuLCBhdXRoc2l6ZSwgMSk7CisJfQorCWRtYV9wb29sX2ZyZWUoYnVmZmVyX3Bvb2wsIHJlcV9jdHgtPmhtYWNfdmlydCwgY3J5cHQtPmljdl9yZXZfYWVzKTsKK30KKworc3RhdGljIHZvaWQgb25lX3BhY2tldChkbWFfYWRkcl90IHBoeXMpCit7CisJc3RydWN0IGNyeXB0X2N0bCAqY3J5cHQ7CisJc3RydWN0IGl4cF9jdHggKmN0eDsKKwlpbnQgZmFpbGVkOworCWVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIHNyY19kaXJlY3Rpb24gPSBETUFfQklESVJFQ1RJT05BTDsKKworCWZhaWxlZCA9IHBoeXMgJiAweDEgPyAtRUJBRE1TRyA6IDA7CisJcGh5cyAmPSB+MHgzOworCWNyeXB0ID0gY3J5cHRfcGh5czJ2aXJ0KHBoeXMpOworCisJc3dpdGNoIChjcnlwdC0+Y3RsX2ZsYWdzICYgQ1RMX0ZMQUdfTUFTSykgeworCWNhc2UgQ1RMX0ZMQUdfUEVSRk9STV9BRUFEOiB7CisJCXN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSA9IGNyeXB0LT5kYXRhLmFlYWRfcmVxOworCQlzdHJ1Y3QgYWVhZF9jdHggKnJlcV9jdHggPSBhZWFkX3JlcXVlc3RfY3R4KHJlcSk7CisJCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+YXNzb2MsIHJlcV9jdHgtPmFzc29jX25lbnRzLAorCQkJCURNQV9UT19ERVZJQ0UpOworCQlkbWFfdW5tYXBfc2coZGV2LCAmcmVxX2N0eC0+aXZsaXN0LCAxLCBETUFfQklESVJFQ1RJT05BTCk7CisJCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+c3JjLCByZXFfY3R4LT5zcmNfbmVudHMsCisJCQkJRE1BX0JJRElSRUNUSU9OQUwpOworCisJCWZyZWVfYnVmX2NoYWluKHJlcV9jdHgtPmJ1ZmZlciwgY3J5cHQtPnNyY19idWYpOworCQlpZiAocmVxX2N0eC0+aG1hY192aXJ0KSB7CisJCQlmaW5pc2hfc2NhdHRlcmVkX2htYWMoY3J5cHQpOworCQl9CisJCXJlcS0+YmFzZS5jb21wbGV0ZSgmcmVxLT5iYXNlLCBmYWlsZWQpOworCQlicmVhazsKKwl9CisJY2FzZSBDVExfRkxBR19QRVJGT1JNX0FCTEs6IHsKKwkJc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqcmVxID0gY3J5cHQtPmRhdGEuYWJsa19yZXE7CisJCXN0cnVjdCBhYmxrX2N0eCAqcmVxX2N0eCA9IGFibGtjaXBoZXJfcmVxdWVzdF9jdHgocmVxKTsKKwkJaW50IG5lbnRzOworCQlpZiAocmVxX2N0eC0+ZHN0KSB7CisJCQluZW50cyA9IHJlcV9jdHgtPmRzdF9uZW50czsKKwkJCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+ZHN0LCBuZW50cywgRE1BX0ZST01fREVWSUNFKTsKKwkJCWZyZWVfYnVmX2NoYWluKHJlcV9jdHgtPmRzdCwgY3J5cHQtPmRzdF9idWYpOworCQkJc3JjX2RpcmVjdGlvbiA9IERNQV9UT19ERVZJQ0U7CisJCX0KKwkJbmVudHMgPSByZXFfY3R4LT5zcmNfbmVudHM7CisJCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+c3JjLCBuZW50cywgc3JjX2RpcmVjdGlvbik7CisJCWZyZWVfYnVmX2NoYWluKHJlcV9jdHgtPnNyYywgY3J5cHQtPnNyY19idWYpOworCQlyZXEtPmJhc2UuY29tcGxldGUoJnJlcS0+YmFzZSwgZmFpbGVkKTsKKwkJYnJlYWs7CisJfQorCWNhc2UgQ1RMX0ZMQUdfR0VOX0lDVjoKKwkJY3R4ID0gY3J5cHRvX3RmbV9jdHgoY3J5cHQtPmRhdGEudGZtKTsKKwkJZG1hX3Bvb2xfZnJlZShjdHhfcG9vbCwgY3J5cHQtPnJlZ2lzdF9wdHIsCisJCQkJY3J5cHQtPnJlZ2lzdF9idWYtPnBoeXNfYWRkcik7CisJCWRtYV9wb29sX2ZyZWUoYnVmZmVyX3Bvb2wsIGNyeXB0LT5yZWdpc3RfYnVmLCBjcnlwdC0+c3JjX2J1Zik7CisJCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjdHgtPmNvbmZpZ3VyaW5nKSkKKwkJCWNvbXBsZXRlKCZjdHgtPmNvbXBsZXRpb24pOworCQlicmVhazsKKwljYXNlIENUTF9GTEFHX0dFTl9SRVZBRVM6CisJCWN0eCA9IGNyeXB0b190Zm1fY3R4KGNyeXB0LT5kYXRhLnRmbSk7CisJCSoodTMyKiljdHgtPmRlY3J5cHQubnBlX2N0eCAmPSBjcHVfdG9fYmUzMih+Q0lQSF9FTkNSKTsKKwkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmN0eC0+Y29uZmlndXJpbmcpKQorCQkJY29tcGxldGUoJmN0eC0+Y29tcGxldGlvbik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCUJVRygpOworCX0KKwljcnlwdC0+Y3RsX2ZsYWdzID0gQ1RMX0ZMQUdfVU5VU0VEOworfQorCitzdGF0aWMgdm9pZCBpcnFoYW5kbGVyKHZvaWQgKl91bnVzZWQpCit7CisJdGFza2xldF9zY2hlZHVsZSgmY3J5cHRvX2RvbmVfdGFza2xldCk7Cit9CisKK3N0YXRpYyB2b2lkIGNyeXB0b19kb25lX2FjdGlvbih1bnNpZ25lZCBsb25nIGFyZykKK3sKKwlpbnQgaTsKKworCWZvcihpPTA7IGk8NDsgaSsrKSB7CisJCWRtYV9hZGRyX3QgcGh5cyA9IHFtZ3JfZ2V0X2VudHJ5KFJFQ1ZfUUlEKTsKKwkJaWYgKCFwaHlzKQorCQkJcmV0dXJuOworCQlvbmVfcGFja2V0KHBoeXMpOworCX0KKwl0YXNrbGV0X3NjaGVkdWxlKCZjcnlwdG9fZG9uZV90YXNrbGV0KTsKK30KKworc3RhdGljIGludCBpbml0X2l4cF9jcnlwdG8odm9pZCkKK3sKKwlpbnQgcmV0ID0gLUVOT0RFVjsKKworCWlmICghICggfigqSVhQNFhYX0VYUF9DRkcyKSAmIChJWFA0WFhfRkVBVFVSRV9IQVNIIHwKKwkJCQlJWFA0WFhfRkVBVFVSRV9BRVMgfCBJWFA0WFhfRkVBVFVSRV9ERVMpKSkgeworCQlwcmludGsoS0VSTl9FUlIgIml4cF9jcnlwdG86IE5vIEhXIGNyeXB0byBhdmFpbGFibGVcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKwlucGVfYyA9IG5wZV9yZXF1ZXN0KE5QRV9JRCk7CisJaWYgKCFucGVfYykKKwkJcmV0dXJuIHJldDsKKworCWlmICghbnBlX3J1bm5pbmcobnBlX2MpKSB7CisJCW5wZV9sb2FkX2Zpcm13YXJlKG5wZV9jLCBucGVfbmFtZShucGVfYyksIGRldik7CisJfQorCisJLyogYnVmZmVyX3Bvb2wgd2lsbCBhbHNvIGJlIHVzZWQgdG8gc29tZXRpbWVzIHN0b3JlIHRoZSBobWFjLAorCSAqIHNvIGFzc3VyZSBpdCBpcyBsYXJnZSBlbm91Z2gKKwkgKi8KKwlCVUlMRF9CVUdfT04oU0hBMV9ESUdFU1RfU0laRSA+IHNpemVvZihzdHJ1Y3QgYnVmZmVyX2Rlc2MpKTsKKwlidWZmZXJfcG9vbCA9IGRtYV9wb29sX2NyZWF0ZSgiYnVmZmVyIiwgZGV2LAorCQkJc2l6ZW9mKHN0cnVjdCBidWZmZXJfZGVzYyksIDMyLCAwKTsKKwlyZXQgPSAtRU5PTUVNOworCWlmICghYnVmZmVyX3Bvb2wpIHsKKwkJZ290byBlcnI7CisJfQorCWN0eF9wb29sID0gZG1hX3Bvb2xfY3JlYXRlKCJjb250ZXh0IiwgZGV2LAorCQkJTlBFX0NUWF9MRU4sIDE2LCAwKTsKKwlpZiAoIWN0eF9wb29sKSB7CisJCWdvdG8gZXJyOworCX0KKwlyZXQgPSBxbWdyX3JlcXVlc3RfcXVldWUoU0VORF9RSUQsIE5QRV9RTEVOX1RPVEFMLCAwLCAwKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycjsKKwlyZXQgPSBxbWdyX3JlcXVlc3RfcXVldWUoUkVDVl9RSUQsIE5QRV9RTEVOLCAwLCAwKTsKKwlpZiAocmV0KSB7CisJCXFtZ3JfcmVsZWFzZV9xdWV1ZShTRU5EX1FJRCk7CisJCWdvdG8gZXJyOworCX0KKwlxbWdyX3NldF9pcnEoUkVDVl9RSUQsIFFVRVVFX0lSUV9TUkNfTk9UX0VNUFRZLCBpcnFoYW5kbGVyLCBOVUxMKTsKKwl0YXNrbGV0X2luaXQoJmNyeXB0b19kb25lX3Rhc2tsZXQsIGNyeXB0b19kb25lX2FjdGlvbiwgMCk7CisKKwlxbWdyX2VuYWJsZV9pcnEoUkVDVl9RSUQpOworCXJldHVybiAwOworZXJyOgorCWlmIChjdHhfcG9vbCkKKwkJZG1hX3Bvb2xfZGVzdHJveShjdHhfcG9vbCk7CisJaWYgKGJ1ZmZlcl9wb29sKQorCQlkbWFfcG9vbF9kZXN0cm95KGJ1ZmZlcl9wb29sKTsKKwlucGVfcmVsZWFzZShucGVfYyk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgcmVsZWFzZV9peHBfY3J5cHRvKHZvaWQpCit7CisJcW1ncl9kaXNhYmxlX2lycShSRUNWX1FJRCk7CisJdGFza2xldF9raWxsKCZjcnlwdG9fZG9uZV90YXNrbGV0KTsKKworCXFtZ3JfcmVsZWFzZV9xdWV1ZShTRU5EX1FJRCk7CisJcW1ncl9yZWxlYXNlX3F1ZXVlKFJFQ1ZfUUlEKTsKKworCWRtYV9wb29sX2Rlc3Ryb3koY3R4X3Bvb2wpOworCWRtYV9wb29sX2Rlc3Ryb3koYnVmZmVyX3Bvb2wpOworCisJbnBlX3JlbGVhc2UobnBlX2MpOworCisJaWYgKGNyeXB0X3ZpcnQpIHsKKwkJZG1hX2ZyZWVfY29oZXJlbnQoZGV2LAorCQkJTlBFX1FMRU5fVE9UQUwgKiBzaXplb2YoIHN0cnVjdCBjcnlwdF9jdGwpLAorCQkJY3J5cHRfdmlydCwgY3J5cHRfcGh5cyk7CisJfQorCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcmVzZXRfc2FfZGlyKHN0cnVjdCBpeF9zYV9kaXIgKmRpcikKK3sKKwltZW1zZXQoZGlyLT5ucGVfY3R4LCAwLCBOUEVfQ1RYX0xFTik7CisJZGlyLT5ucGVfY3R4X2lkeCA9IDA7CisJZGlyLT5ucGVfbW9kZSA9IDA7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF9zYV9kaXIoc3RydWN0IGl4X3NhX2RpciAqZGlyKQoreworCWRpci0+bnBlX2N0eCA9IGRtYV9wb29sX2FsbG9jKGN0eF9wb29sLCBHRlBfS0VSTkVMLCAmZGlyLT5ucGVfY3R4X3BoeXMpOworCWlmICghZGlyLT5ucGVfY3R4KSB7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwlyZXNldF9zYV9kaXIoZGlyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZnJlZV9zYV9kaXIoc3RydWN0IGl4X3NhX2RpciAqZGlyKQoreworCW1lbXNldChkaXItPm5wZV9jdHgsIDAsIE5QRV9DVFhfTEVOKTsKKwlkbWFfcG9vbF9mcmVlKGN0eF9wb29sLCBkaXItPm5wZV9jdHgsIGRpci0+bnBlX2N0eF9waHlzKTsKK30KKworc3RhdGljIGludCBpbml0X3RmbShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCWludCByZXQ7CisKKwlhdG9taWNfc2V0KCZjdHgtPmNvbmZpZ3VyaW5nLCAwKTsKKwlyZXQgPSBpbml0X3NhX2RpcigmY3R4LT5lbmNyeXB0KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCXJldCA9IGluaXRfc2FfZGlyKCZjdHgtPmRlY3J5cHQpOworCWlmIChyZXQpIHsKKwkJZnJlZV9zYV9kaXIoJmN0eC0+ZW5jcnlwdCk7CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF90Zm1fYWJsayhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXRmbS0+Y3J0X2FibGtjaXBoZXIucmVxc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYWJsa19jdHgpOworCXJldHVybiBpbml0X3RmbSh0Zm0pOworfQorCitzdGF0aWMgaW50IGluaXRfdGZtX2FlYWQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwl0Zm0tPmNydF9hZWFkLnJlcXNpemUgPSBzaXplb2Yoc3RydWN0IGFlYWRfY3R4KTsKKwlyZXR1cm4gaW5pdF90Zm0odGZtKTsKK30KKworc3RhdGljIHZvaWQgZXhpdF90Zm0oc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlmcmVlX3NhX2RpcigmY3R4LT5lbmNyeXB0KTsKKwlmcmVlX3NhX2RpcigmY3R4LT5kZWNyeXB0KTsKK30KKworc3RhdGljIGludCByZWdpc3Rlcl9jaGFpbl92YXIoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTggeHBhZCwgdTMyIHRhcmdldCwKKwkJaW50IGluaXRfbGVuLCB1MzIgY3R4X2FkZHIsIGNvbnN0IHU4ICprZXksIGludCBrZXlfbGVuKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0OworCXN0cnVjdCBidWZmZXJfZGVzYyAqYnVmOworCWludCBpOworCXU4ICpwYWQ7CisJdTMyIHBhZF9waHlzLCBidWZfcGh5czsKKworCUJVSUxEX0JVR19PTihOUEVfQ1RYX0xFTiA8IEhNQUNfUEFEX0JMT0NLTEVOKTsKKwlwYWQgPSBkbWFfcG9vbF9hbGxvYyhjdHhfcG9vbCwgR0ZQX0tFUk5FTCwgJnBhZF9waHlzKTsKKwlpZiAoIXBhZCkKKwkJcmV0dXJuIC1FTk9NRU07CisJYnVmID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIEdGUF9LRVJORUwsICZidWZfcGh5cyk7CisJaWYgKCFidWYpIHsKKwkJZG1hX3Bvb2xfZnJlZShjdHhfcG9vbCwgcGFkLCBwYWRfcGh5cyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwljcnlwdCA9IGdldF9jcnlwdF9kZXNjX2VtZXJnKCk7CisJaWYgKCFjcnlwdCkgeworCQlkbWFfcG9vbF9mcmVlKGN0eF9wb29sLCBwYWQsIHBhZF9waHlzKTsKKwkJZG1hX3Bvb2xfZnJlZShidWZmZXJfcG9vbCwgYnVmLCBidWZfcGh5cyk7CisJCXJldHVybiAtRUFHQUlOOworCX0KKworCW1lbWNweShwYWQsIGtleSwga2V5X2xlbik7CisJbWVtc2V0KHBhZCArIGtleV9sZW4sIDAsIEhNQUNfUEFEX0JMT0NLTEVOIC0ga2V5X2xlbik7CisJZm9yIChpID0gMDsgaSA8IEhNQUNfUEFEX0JMT0NLTEVOOyBpKyspIHsKKwkJcGFkW2ldIF49IHhwYWQ7CisJfQorCisJY3J5cHQtPmRhdGEudGZtID0gdGZtOworCWNyeXB0LT5yZWdpc3RfcHRyID0gcGFkOworCWNyeXB0LT5yZWdpc3RfYnVmID0gYnVmOworCisJY3J5cHQtPmF1dGhfb2ZmcyA9IDA7CisJY3J5cHQtPmF1dGhfbGVuID0gSE1BQ19QQURfQkxPQ0tMRU47CisJY3J5cHQtPmNyeXB0b19jdHggPSBjdHhfYWRkcjsKKwljcnlwdC0+c3JjX2J1ZiA9IGJ1Zl9waHlzOworCWNyeXB0LT5pY3ZfcmV2X2FlcyA9IHRhcmdldDsKKwljcnlwdC0+bW9kZSA9IE5QRV9PUF9IQVNIX0dFTl9JQ1Y7CisJY3J5cHQtPmluaXRfbGVuID0gaW5pdF9sZW47CisJY3J5cHQtPmN0bF9mbGFncyB8PSBDVExfRkxBR19HRU5fSUNWOworCisJYnVmLT5uZXh0ID0gMDsKKwlidWYtPmJ1Zl9sZW4gPSBITUFDX1BBRF9CTE9DS0xFTjsKKwlidWYtPnBrdF9sZW4gPSAwOworCWJ1Zi0+cGh5c19hZGRyID0gcGFkX3BoeXM7CisKKwlhdG9taWNfaW5jKCZjdHgtPmNvbmZpZ3VyaW5nKTsKKwlxbWdyX3B1dF9lbnRyeShTRU5EX1FJRCwgY3J5cHRfdmlydDJwaHlzKGNyeXB0KSk7CisJQlVHX09OKHFtZ3Jfc3RhdF9vdmVyZmxvdyhTRU5EX1FJRCkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNldHVwX2F1dGgoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgaW50IGVuY3J5cHQsIHVuc2lnbmVkIGF1dGhzaXplLAorCQljb25zdCB1OCAqa2V5LCBpbnQga2V5X2xlbiwgdW5zaWduZWQgZGlnZXN0X2xlbikKK3sKKwl1MzIgaXRhcmdldCwgb3RhcmdldCwgbnBlX2N0eF9hZGRyOworCXVuc2lnbmVkIGNoYXIgKmNpbmZvOworCWludCBpbml0X2xlbiwgcmV0ID0gMDsKKwl1MzIgY2Znd29yZDsKKwlzdHJ1Y3QgaXhfc2FfZGlyICpkaXI7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJY29uc3Qgc3RydWN0IGl4X2hhc2hfYWxnbyAqYWxnbzsKKworCWRpciA9IGVuY3J5cHQgPyAmY3R4LT5lbmNyeXB0IDogJmN0eC0+ZGVjcnlwdDsKKwljaW5mbyA9IGRpci0+bnBlX2N0eCArIGRpci0+bnBlX2N0eF9pZHg7CisJYWxnbyA9IGl4X2hhc2godGZtKTsKKworCS8qIHdyaXRlIGNmZyB3b3JkIHRvIGNyeXB0aW5mbyAqLworCWNmZ3dvcmQgPSBhbGdvLT5jZmd3b3JkIHwgKCBhdXRoc2l6ZSA8PCA2KTsgLyogKGF1dGhzaXplLzQpIDw8IDggKi8KKwkqKHUzMiopY2luZm8gPSBjcHVfdG9fYmUzMihjZmd3b3JkKTsKKwljaW5mbyArPSBzaXplb2YoY2Znd29yZCk7CisKKwkvKiB3cml0ZSBJQ1YgdG8gY3J5cHRpbmZvICovCisJbWVtY3B5KGNpbmZvLCBhbGdvLT5pY3YsIGRpZ2VzdF9sZW4pOworCWNpbmZvICs9IGRpZ2VzdF9sZW47CisKKwlpdGFyZ2V0ID0gZGlyLT5ucGVfY3R4X3BoeXMgKyBkaXItPm5wZV9jdHhfaWR4CisJCQkJKyBzaXplb2YoYWxnby0+Y2Znd29yZCk7CisJb3RhcmdldCA9IGl0YXJnZXQgKyBkaWdlc3RfbGVuOworCWluaXRfbGVuID0gY2luZm8gLSAoZGlyLT5ucGVfY3R4ICsgZGlyLT5ucGVfY3R4X2lkeCk7CisJbnBlX2N0eF9hZGRyID0gZGlyLT5ucGVfY3R4X3BoeXMgKyBkaXItPm5wZV9jdHhfaWR4OworCisJZGlyLT5ucGVfY3R4X2lkeCArPSBpbml0X2xlbjsKKwlkaXItPm5wZV9tb2RlIHw9IE5QRV9PUF9IQVNIX0VOQUJMRTsKKworCWlmICghZW5jcnlwdCkKKwkJZGlyLT5ucGVfbW9kZSB8PSBOUEVfT1BfSEFTSF9WRVJJRlk7CisKKwlyZXQgPSByZWdpc3Rlcl9jaGFpbl92YXIodGZtLCBITUFDX09QQURfVkFMVUUsIG90YXJnZXQsCisJCQlpbml0X2xlbiwgbnBlX2N0eF9hZGRyLCBrZXksIGtleV9sZW4pOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJcmV0dXJuIHJlZ2lzdGVyX2NoYWluX3Zhcih0Zm0sIEhNQUNfSVBBRF9WQUxVRSwgaXRhcmdldCwKKwkJCWluaXRfbGVuLCBucGVfY3R4X2FkZHIsIGtleSwga2V5X2xlbik7Cit9CisKK3N0YXRpYyBpbnQgZ2VuX3Jldl9hZXNfa2V5KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0X2N0bCAqY3J5cHQ7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJc3RydWN0IGl4X3NhX2RpciAqZGlyID0gJmN0eC0+ZGVjcnlwdDsKKworCWNyeXB0ID0gZ2V0X2NyeXB0X2Rlc2NfZW1lcmcoKTsKKwlpZiAoIWNyeXB0KSB7CisJCXJldHVybiAtRUFHQUlOOworCX0KKwkqKHUzMiopZGlyLT5ucGVfY3R4IHw9IGNwdV90b19iZTMyKENJUEhfRU5DUik7CisKKwljcnlwdC0+ZGF0YS50Zm0gPSB0Zm07CisJY3J5cHQtPmNyeXB0X29mZnMgPSAwOworCWNyeXB0LT5jcnlwdF9sZW4gPSBBRVNfQkxPQ0sxMjg7CisJY3J5cHQtPnNyY19idWYgPSAwOworCWNyeXB0LT5jcnlwdG9fY3R4ID0gZGlyLT5ucGVfY3R4X3BoeXM7CisJY3J5cHQtPmljdl9yZXZfYWVzID0gZGlyLT5ucGVfY3R4X3BoeXMgKyBzaXplb2YodTMyKTsKKwljcnlwdC0+bW9kZSA9IE5QRV9PUF9FTkNfR0VOX0tFWTsKKwljcnlwdC0+aW5pdF9sZW4gPSBkaXItPm5wZV9jdHhfaWR4OworCWNyeXB0LT5jdGxfZmxhZ3MgfD0gQ1RMX0ZMQUdfR0VOX1JFVkFFUzsKKworCWF0b21pY19pbmMoJmN0eC0+Y29uZmlndXJpbmcpOworCXFtZ3JfcHV0X2VudHJ5KFNFTkRfUUlELCBjcnlwdF92aXJ0MnBoeXMoY3J5cHQpKTsKKwlCVUdfT04ocW1ncl9zdGF0X292ZXJmbG93KFNFTkRfUUlEKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2V0dXBfY2lwaGVyKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGludCBlbmNyeXB0LAorCQljb25zdCB1OCAqa2V5LCBpbnQga2V5X2xlbikKK3sKKwl1OCAqY2luZm87CisJdTMyIGNpcGhlcl9jZmc7CisJdTMyIGtleWxlbl9jZmcgPSAwOworCXN0cnVjdCBpeF9zYV9kaXIgKmRpcjsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwl1MzIgKmZsYWdzID0gJnRmbS0+Y3J0X2ZsYWdzOworCisJZGlyID0gZW5jcnlwdCA/ICZjdHgtPmVuY3J5cHQgOiAmY3R4LT5kZWNyeXB0OworCWNpbmZvID0gZGlyLT5ucGVfY3R4OworCisJaWYgKGVuY3J5cHQpIHsKKwkJY2lwaGVyX2NmZyA9IGNpcGhlcl9jZmdfZW5jKHRmbSk7CisJCWRpci0+bnBlX21vZGUgfD0gTlBFX09QX0NSWVBUX0VOQ1JZUFQ7CisJfSBlbHNlIHsKKwkJY2lwaGVyX2NmZyA9IGNpcGhlcl9jZmdfZGVjKHRmbSk7CisJfQorCWlmIChjaXBoZXJfY2ZnICYgTU9EX0FFUykgeworCQlzd2l0Y2ggKGtleV9sZW4pIHsKKwkJCWNhc2UgMTY6IGtleWxlbl9jZmcgPSBNT0RfQUVTMTI4IHwgS0VZTEVOXzEyODsgYnJlYWs7CisJCQljYXNlIDI0OiBrZXlsZW5fY2ZnID0gTU9EX0FFUzE5MiB8IEtFWUxFTl8xOTI7IGJyZWFrOworCQkJY2FzZSAzMjoga2V5bGVuX2NmZyA9IE1PRF9BRVMyNTYgfCBLRVlMRU5fMjU2OyBicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJKmZsYWdzIHw9IENSWVBUT19URk1fUkVTX0JBRF9LRVlfTEVOOworCQkJCXJldHVybiAtRUlOVkFMOworCQl9CisJCWNpcGhlcl9jZmcgfD0ga2V5bGVuX2NmZzsKKwl9IGVsc2UgaWYgKGNpcGhlcl9jZmcgJiBNT0RfM0RFUykgeworCQljb25zdCB1MzIgKksgPSAoY29uc3QgdTMyICopa2V5OworCQlpZiAodW5saWtlbHkoISgoS1swXSBeIEtbMl0pIHwgKEtbMV0gXiBLWzNdKSkgfHwKKwkJCSAgICAgISgoS1syXSBeIEtbNF0pIHwgKEtbM10gXiBLWzVdKSkpKQorCQl7CisJCQkqZmxhZ3MgfD0gQ1JZUFRPX1RGTV9SRVNfQkFEX0tFWV9TQ0hFRDsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisJfSBlbHNlIHsKKwkJdTMyIHRtcFtERVNfRVhQS0VZX1dPUkRTXTsKKwkJaWYgKGRlc19la2V5KHRtcCwga2V5KSA9PSAwKSB7CisJCQkqZmxhZ3MgfD0gQ1JZUFRPX1RGTV9SRVNfV0VBS19LRVk7CisJCX0KKwl9CisJLyogd3JpdGUgY2ZnIHdvcmQgdG8gY3J5cHRpbmZvICovCisJKih1MzIqKWNpbmZvID0gY3B1X3RvX2JlMzIoY2lwaGVyX2NmZyk7CisJY2luZm8gKz0gc2l6ZW9mKGNpcGhlcl9jZmcpOworCisJLyogd3JpdGUgY2lwaGVyIGtleSB0byBjcnlwdGluZm8gKi8KKwltZW1jcHkoY2luZm8sIGtleSwga2V5X2xlbik7CisJLyogTlBFIHdhbnRzIGtleWxlbiBzZXQgdG8gREVTM19FREVfS0VZX1NJWkUgZXZlbiBmb3Igc2luZ2xlIERFUyAqLworCWlmIChrZXlfbGVuIDwgREVTM19FREVfS0VZX1NJWkUgJiYgIShjaXBoZXJfY2ZnICYgTU9EX0FFUykpIHsKKwkJbWVtc2V0KGNpbmZvICsga2V5X2xlbiwgMCwgREVTM19FREVfS0VZX1NJWkUgLWtleV9sZW4pOworCQlrZXlfbGVuID0gREVTM19FREVfS0VZX1NJWkU7CisJfQorCWRpci0+bnBlX2N0eF9pZHggPSBzaXplb2YoY2lwaGVyX2NmZykgKyBrZXlfbGVuOworCWRpci0+bnBlX21vZGUgfD0gTlBFX09QX0NSWVBUX0VOQUJMRTsKKwlpZiAoKGNpcGhlcl9jZmcgJiBNT0RfQUVTKSAmJiAhZW5jcnlwdCkgeworCQlyZXR1cm4gZ2VuX3Jldl9hZXNfa2V5KHRmbSk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNvdW50X3NnKHN0cnVjdCBzY2F0dGVybGlzdCAqc2csIGludCBuYnl0ZXMpCit7CisJaW50IGk7CisJZm9yIChpID0gMDsgbmJ5dGVzID4gMDsgaSsrLCBzZyA9IHNnX25leHQoc2cpKQorCQluYnl0ZXMgLT0gc2ctPmxlbmd0aDsKKwlyZXR1cm4gaTsKK30KKworc3RhdGljIHN0cnVjdCBidWZmZXJfZGVzYyAqY2hhaW51cF9idWZmZXJzKHN0cnVjdCBzY2F0dGVybGlzdCAqc2csCisJCQl1bnNpZ25lZCBuYnl0ZXMsIHN0cnVjdCBidWZmZXJfZGVzYyAqYnVmLCBnZnBfdCBmbGFncykKK3sKKwlpbnQgbmVudHMgPSAwOworCisJd2hpbGUgKG5ieXRlcyA+IDApIHsKKwkJc3RydWN0IGJ1ZmZlcl9kZXNjICpuZXh0X2J1ZjsKKwkJdTMyIG5leHRfYnVmX3BoeXM7CisJCXVuc2lnbmVkIGxlbiA9IG1pbihuYnl0ZXMsIHNnX2RtYV9sZW4oc2cpKTsKKworCQluZW50cysrOworCQluYnl0ZXMgLT0gbGVuOworCQlpZiAoIWJ1Zi0+cGh5c19hZGRyKSB7CisJCQlidWYtPnBoeXNfYWRkciA9IHNnX2RtYV9hZGRyZXNzKHNnKTsKKwkJCWJ1Zi0+YnVmX2xlbiA9IGxlbjsKKwkJCWJ1Zi0+bmV4dCA9IE5VTEw7CisJCQlidWYtPnBoeXNfbmV4dCA9IDA7CisJCQlnb3RvIG5leHQ7CisJCX0KKwkJLyogVHdvIGNvbnNlY3V0aXZlIGNodW5rcyBvbiBvbmUgcGFnZSBtYXkgYmUgaGFuZGxlZCBieSB0aGUgb2xkCisJCSAqIGJ1ZmZlciBkZXNjcmlwdG9yLCBpbmNyZWFzZWQgYnkgdGhlIGxlbmd0aCBvZiB0aGUgbmV3IG9uZQorCQkgKi8KKwkJaWYgKHNnX2RtYV9hZGRyZXNzKHNnKSA9PSBidWYtPnBoeXNfYWRkciArIGJ1Zi0+YnVmX2xlbikgeworCQkJYnVmLT5idWZfbGVuICs9IGxlbjsKKwkJCWdvdG8gbmV4dDsKKwkJfQorCQluZXh0X2J1ZiA9IGRtYV9wb29sX2FsbG9jKGJ1ZmZlcl9wb29sLCBmbGFncywgJm5leHRfYnVmX3BoeXMpOworCQlpZiAoIW5leHRfYnVmKQorCQkJcmV0dXJuIE5VTEw7CisJCWJ1Zi0+bmV4dCA9IG5leHRfYnVmOworCQlidWYtPnBoeXNfbmV4dCA9IG5leHRfYnVmX3BoeXM7CisKKwkJYnVmID0gbmV4dF9idWY7CisJCWJ1Zi0+bmV4dCA9IE5VTEw7CisJCWJ1Zi0+cGh5c19uZXh0ID0gMDsKKwkJYnVmLT5waHlzX2FkZHIgPSBzZ19kbWFfYWRkcmVzcyhzZyk7CisJCWJ1Zi0+YnVmX2xlbiA9IGxlbjsKK25leHQ6CisJCWlmIChuYnl0ZXMgPiAwKSB7CisJCQlzZyA9IHNnX25leHQoc2cpOworCQl9CisJfQorCXJldHVybiBidWY7Cit9CisKK3N0YXRpYyBpbnQgYWJsa19zZXRrZXkoc3RydWN0IGNyeXB0b19hYmxrY2lwaGVyICp0Zm0sIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5X2xlbikKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FibGtjaXBoZXJfY3R4KHRmbSk7CisJdTMyICpmbGFncyA9ICZ0Zm0tPmJhc2UuY3J0X2ZsYWdzOworCWludCByZXQ7CisKKwlpbml0X2NvbXBsZXRpb24oJmN0eC0+Y29tcGxldGlvbik7CisJYXRvbWljX2luYygmY3R4LT5jb25maWd1cmluZyk7CisKKwlyZXNldF9zYV9kaXIoJmN0eC0+ZW5jcnlwdCk7CisJcmVzZXRfc2FfZGlyKCZjdHgtPmRlY3J5cHQpOworCisJY3R4LT5lbmNyeXB0Lm5wZV9tb2RlID0gTlBFX09QX0hNQUNfRElTQUJMRTsKKwljdHgtPmRlY3J5cHQubnBlX21vZGUgPSBOUEVfT1BfSE1BQ19ESVNBQkxFOworCisJcmV0ID0gc2V0dXBfY2lwaGVyKCZ0Zm0tPmJhc2UsIDAsIGtleSwga2V5X2xlbik7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisJcmV0ID0gc2V0dXBfY2lwaGVyKCZ0Zm0tPmJhc2UsIDEsIGtleSwga2V5X2xlbik7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisKKwlpZiAoKmZsYWdzICYgQ1JZUFRPX1RGTV9SRVNfV0VBS19LRVkpIHsKKwkJaWYgKCpmbGFncyAmIENSWVBUT19URk1fUkVRX1dFQUtfS0VZKSB7CisJCQlyZXQgPSAtRUlOVkFMOworCQl9IGVsc2UgeworCQkJKmZsYWdzICY9IH5DUllQVE9fVEZNX1JFU19XRUFLX0tFWTsKKwkJfQorCX0KK291dDoKKwlpZiAoIWF0b21pY19kZWNfYW5kX3Rlc3QoJmN0eC0+Y29uZmlndXJpbmcpKQorCQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZjdHgtPmNvbXBsZXRpb24pOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYWJsa19yZmMzNjg2X3NldGtleShzdHJ1Y3QgY3J5cHRvX2FibGtjaXBoZXIgKnRmbSwgY29uc3QgdTggKmtleSwKKwkJdW5zaWduZWQgaW50IGtleV9sZW4pCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hYmxrY2lwaGVyX2N0eCh0Zm0pOworCisJLyogdGhlIG5vbmNlIGlzIHN0b3JlZCBpbiBieXRlcyBhdCBlbmQgb2Yga2V5ICovCisJaWYgKGtleV9sZW4gPCBDVFJfUkZDMzY4Nl9OT05DRV9TSVpFKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1lbWNweShjdHgtPm5vbmNlLCBrZXkgKyAoa2V5X2xlbiAtIENUUl9SRkMzNjg2X05PTkNFX1NJWkUpLAorCQkJQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRSk7CisKKwlrZXlfbGVuIC09IENUUl9SRkMzNjg2X05PTkNFX1NJWkU7CisJcmV0dXJuIGFibGtfc2V0a2V5KHRmbSwga2V5LCBrZXlfbGVuKTsKK30KKworc3RhdGljIGludCBhYmxrX3BlcmZvcm0oc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqcmVxLCBpbnQgZW5jcnlwdCkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FibGtjaXBoZXIgKnRmbSA9IGNyeXB0b19hYmxrY2lwaGVyX3JlcXRmbShyZXEpOworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWJsa2NpcGhlcl9jdHgodGZtKTsKKwl1bnNpZ25lZCBpdnNpemUgPSBjcnlwdG9fYWJsa2NpcGhlcl9pdnNpemUodGZtKTsKKwlpbnQgcmV0ID0gLUVOT01FTTsKKwlzdHJ1Y3QgaXhfc2FfZGlyICpkaXI7CisJc3RydWN0IGNyeXB0X2N0bCAqY3J5cHQ7CisJdW5zaWduZWQgaW50IG5ieXRlcyA9IHJlcS0+bmJ5dGVzLCBuZW50czsKKwllbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBzcmNfZGlyZWN0aW9uID0gRE1BX0JJRElSRUNUSU9OQUw7CisJc3RydWN0IGFibGtfY3R4ICpyZXFfY3R4ID0gYWJsa2NpcGhlcl9yZXF1ZXN0X2N0eChyZXEpOworCWdmcF90IGZsYWdzID0gcmVxLT5iYXNlLmZsYWdzICYgQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQID8KKwkJCQlHRlBfS0VSTkVMIDogR0ZQX0FUT01JQzsKKworCWlmIChxbWdyX3N0YXRfZnVsbChTRU5EX1FJRCkpCisJCXJldHVybiAtRUFHQUlOOworCWlmIChhdG9taWNfcmVhZCgmY3R4LT5jb25maWd1cmluZykpCisJCXJldHVybiAtRUFHQUlOOworCisJZGlyID0gZW5jcnlwdCA/ICZjdHgtPmVuY3J5cHQgOiAmY3R4LT5kZWNyeXB0OworCisJY3J5cHQgPSBnZXRfY3J5cHRfZGVzYygpOworCWlmICghY3J5cHQpCisJCXJldHVybiByZXQ7CisKKwljcnlwdC0+ZGF0YS5hYmxrX3JlcSA9IHJlcTsKKwljcnlwdC0+Y3J5cHRvX2N0eCA9IGRpci0+bnBlX2N0eF9waHlzOworCWNyeXB0LT5tb2RlID0gZGlyLT5ucGVfbW9kZTsKKwljcnlwdC0+aW5pdF9sZW4gPSBkaXItPm5wZV9jdHhfaWR4OworCisJY3J5cHQtPmNyeXB0X29mZnMgPSAwOworCWNyeXB0LT5jcnlwdF9sZW4gPSBuYnl0ZXM7CisKKwlCVUdfT04oaXZzaXplICYmICFyZXEtPmluZm8pOworCW1lbWNweShjcnlwdC0+aXYsIHJlcS0+aW5mbywgaXZzaXplKTsKKwlpZiAocmVxLT5zcmMgIT0gcmVxLT5kc3QpIHsKKwkJY3J5cHQtPm1vZGUgfD0gTlBFX09QX05PVF9JTl9QTEFDRTsKKwkJbmVudHMgPSBjb3VudF9zZyhyZXEtPmRzdCwgbmJ5dGVzKTsKKwkJLyogVGhpcyB3YXMgbmV2ZXIgdGVzdGVkIGJ5IEludGVsCisJCSAqIGZvciBtb3JlIHRoYW4gb25lIGRzdCBidWZmZXIsIEkgdGhpbmsuICovCisJCUJVR19PTihuZW50cyAhPSAxKTsKKwkJcmVxX2N0eC0+ZHN0X25lbnRzID0gbmVudHM7CisJCWRtYV9tYXBfc2coZGV2LCByZXEtPmRzdCwgbmVudHMsIERNQV9GUk9NX0RFVklDRSk7CisJCXJlcV9jdHgtPmRzdCA9IGRtYV9wb29sX2FsbG9jKGJ1ZmZlcl9wb29sLCBmbGFncywmY3J5cHQtPmRzdF9idWYpOworCQlpZiAoIXJlcV9jdHgtPmRzdCkKKwkJCWdvdG8gdW5tYXBfc2dfZGVzdDsKKwkJcmVxX2N0eC0+ZHN0LT5waHlzX2FkZHIgPSAwOworCQlpZiAoIWNoYWludXBfYnVmZmVycyhyZXEtPmRzdCwgbmJ5dGVzLCByZXFfY3R4LT5kc3QsIGZsYWdzKSkKKwkJCWdvdG8gZnJlZV9idWZfZGVzdDsKKwkJc3JjX2RpcmVjdGlvbiA9IERNQV9UT19ERVZJQ0U7CisJfSBlbHNlIHsKKwkJcmVxX2N0eC0+ZHN0ID0gTlVMTDsKKwkJcmVxX2N0eC0+ZHN0X25lbnRzID0gMDsKKwl9CisJbmVudHMgPSBjb3VudF9zZyhyZXEtPnNyYywgbmJ5dGVzKTsKKwlyZXFfY3R4LT5zcmNfbmVudHMgPSBuZW50czsKKwlkbWFfbWFwX3NnKGRldiwgcmVxLT5zcmMsIG5lbnRzLCBzcmNfZGlyZWN0aW9uKTsKKworCXJlcV9jdHgtPnNyYyA9IGRtYV9wb29sX2FsbG9jKGJ1ZmZlcl9wb29sLCBmbGFncywgJmNyeXB0LT5zcmNfYnVmKTsKKwlpZiAoIXJlcV9jdHgtPnNyYykKKwkJZ290byB1bm1hcF9zZ19zcmM7CisJcmVxX2N0eC0+c3JjLT5waHlzX2FkZHIgPSAwOworCWlmICghY2hhaW51cF9idWZmZXJzKHJlcS0+c3JjLCBuYnl0ZXMsIHJlcV9jdHgtPnNyYywgZmxhZ3MpKQorCQlnb3RvIGZyZWVfYnVmX3NyYzsKKworCWNyeXB0LT5jdGxfZmxhZ3MgfD0gQ1RMX0ZMQUdfUEVSRk9STV9BQkxLOworCXFtZ3JfcHV0X2VudHJ5KFNFTkRfUUlELCBjcnlwdF92aXJ0MnBoeXMoY3J5cHQpKTsKKwlCVUdfT04ocW1ncl9zdGF0X292ZXJmbG93KFNFTkRfUUlEKSk7CisJcmV0dXJuIC1FSU5QUk9HUkVTUzsKKworZnJlZV9idWZfc3JjOgorCWZyZWVfYnVmX2NoYWluKHJlcV9jdHgtPnNyYywgY3J5cHQtPnNyY19idWYpOwordW5tYXBfc2dfc3JjOgorCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+c3JjLCByZXFfY3R4LT5zcmNfbmVudHMsIHNyY19kaXJlY3Rpb24pOworZnJlZV9idWZfZGVzdDoKKwlpZiAocmVxLT5zcmMgIT0gcmVxLT5kc3QpIHsKKwkJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+ZHN0LCBjcnlwdC0+ZHN0X2J1Zik7Cit1bm1hcF9zZ19kZXN0OgorCQlkbWFfdW5tYXBfc2coZGV2LCByZXEtPnNyYywgcmVxX2N0eC0+ZHN0X25lbnRzLAorCQkJRE1BX0ZST01fREVWSUNFKTsKKwl9CisJY3J5cHQtPmN0bF9mbGFncyA9IENUTF9GTEFHX1VOVVNFRDsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGFibGtfZW5jcnlwdChzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIGFibGtfcGVyZm9ybShyZXEsIDEpOworfQorCitzdGF0aWMgaW50IGFibGtfZGVjcnlwdChzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIGFibGtfcGVyZm9ybShyZXEsIDApOworfQorCitzdGF0aWMgaW50IGFibGtfcmZjMzY4Nl9jcnlwdChzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b19hYmxrY2lwaGVyICp0Zm0gPSBjcnlwdG9fYWJsa2NpcGhlcl9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FibGtjaXBoZXJfY3R4KHRmbSk7CisJdTggaXZbQ1RSX1JGQzM2ODZfQkxPQ0tfU0laRV07CisJdTggKmluZm8gPSByZXEtPmluZm87CisJaW50IHJldDsKKworCS8qIHNldCB1cCBjb3VudGVyIGJsb2NrICovCisgICAgICAgIG1lbWNweShpdiwgY3R4LT5ub25jZSwgQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRSk7CisJbWVtY3B5KGl2ICsgQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRSwgaW5mbywgQ1RSX1JGQzM2ODZfSVZfU0laRSk7CisKKwkvKiBpbml0aWFsaXplIGNvdW50ZXIgcG9ydGlvbiBvZiBjb3VudGVyIGJsb2NrICovCisJKihfX2JlMzIgKikoaXYgKyBDVFJfUkZDMzY4Nl9OT05DRV9TSVpFICsgQ1RSX1JGQzM2ODZfSVZfU0laRSkgPQorCQljcHVfdG9fYmUzMigxKTsKKworCXJlcS0+aW5mbyA9IGl2OworCXJldCA9IGFibGtfcGVyZm9ybShyZXEsIDEpOworCXJlcS0+aW5mbyA9IGluZm87CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBobWFjX2luY29uc2lzdGVudChzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnLCB1bnNpZ25lZCBzdGFydCwKKwkJdW5zaWduZWQgaW50IG5ieXRlcykKK3sKKwlpbnQgb2Zmc2V0ID0gMDsKKworCWlmICghbmJ5dGVzKQorCQlyZXR1cm4gMDsKKworCWZvciAoOzspIHsKKwkJaWYgKHN0YXJ0IDwgb2Zmc2V0ICsgc2ctPmxlbmd0aCkKKwkJCWJyZWFrOworCisJCW9mZnNldCArPSBzZy0+bGVuZ3RoOworCQlzZyA9IHNnX25leHQoc2cpOworCX0KKwlyZXR1cm4gKHN0YXJ0ICsgbmJ5dGVzID4gb2Zmc2V0ICsgc2ctPmxlbmd0aCk7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9wZXJmb3JtKHN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSwgaW50IGVuY3J5cHQsCisJCWludCBjcnlwdG9mZnNldCwgaW50IGVmZl9jcnlwdGxlbiwgdTggKml2KQoreworCXN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtID0gY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSk7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eCh0Zm0pOworCXVuc2lnbmVkIGl2c2l6ZSA9IGNyeXB0b19hZWFkX2l2c2l6ZSh0Zm0pOworCXVuc2lnbmVkIGF1dGhzaXplID0gY3J5cHRvX2FlYWRfYXV0aHNpemUodGZtKTsKKwlpbnQgcmV0ID0gLUVOT01FTTsKKwlzdHJ1Y3QgaXhfc2FfZGlyICpkaXI7CisJc3RydWN0IGNyeXB0X2N0bCAqY3J5cHQ7CisJdW5zaWduZWQgaW50IGNyeXB0bGVuLCBuZW50czsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmJ1ZjsKKwlzdHJ1Y3QgYWVhZF9jdHggKnJlcV9jdHggPSBhZWFkX3JlcXVlc3RfY3R4KHJlcSk7CisJZ2ZwX3QgZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3MgJiBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVAgPworCQkJCUdGUF9LRVJORUwgOiBHRlBfQVRPTUlDOworCisJaWYgKHFtZ3Jfc3RhdF9mdWxsKFNFTkRfUUlEKSkKKwkJcmV0dXJuIC1FQUdBSU47CisJaWYgKGF0b21pY19yZWFkKCZjdHgtPmNvbmZpZ3VyaW5nKSkKKwkJcmV0dXJuIC1FQUdBSU47CisKKwlpZiAoZW5jcnlwdCkgeworCQlkaXIgPSAmY3R4LT5lbmNyeXB0OworCQljcnlwdGxlbiA9IHJlcS0+Y3J5cHRsZW47CisJfSBlbHNlIHsKKwkJZGlyID0gJmN0eC0+ZGVjcnlwdDsKKwkJLyogcmVxLT5jcnlwdGxlbiBpbmNsdWRlcyB0aGUgYXV0aHNpemUgd2hlbiBkZWNyeXB0aW5nICovCisJCWNyeXB0bGVuID0gcmVxLT5jcnlwdGxlbiAtYXV0aHNpemU7CisJCWVmZl9jcnlwdGxlbiAtPSBhdXRoc2l6ZTsKKwl9CisJY3J5cHQgPSBnZXRfY3J5cHRfZGVzYygpOworCWlmICghY3J5cHQpCisJCXJldHVybiByZXQ7CisKKwljcnlwdC0+ZGF0YS5hZWFkX3JlcSA9IHJlcTsKKwljcnlwdC0+Y3J5cHRvX2N0eCA9IGRpci0+bnBlX2N0eF9waHlzOworCWNyeXB0LT5tb2RlID0gZGlyLT5ucGVfbW9kZTsKKwljcnlwdC0+aW5pdF9sZW4gPSBkaXItPm5wZV9jdHhfaWR4OworCisJY3J5cHQtPmNyeXB0X29mZnMgPSBjcnlwdG9mZnNldDsKKwljcnlwdC0+Y3J5cHRfbGVuID0gZWZmX2NyeXB0bGVuOworCisJY3J5cHQtPmF1dGhfb2ZmcyA9IDA7CisJY3J5cHQtPmF1dGhfbGVuID0gcmVxLT5hc3NvY2xlbiArIGl2c2l6ZSArIGNyeXB0bGVuOworCUJVR19PTihpdnNpemUgJiYgIXJlcS0+aXYpOworCW1lbWNweShjcnlwdC0+aXYsIHJlcS0+aXYsIGl2c2l6ZSk7CisKKwlpZiAocmVxLT5zcmMgIT0gcmVxLT5kc3QpIHsKKwkJQlVHKCk7IC8qIC1FTk9UU1VQIGJlY2F1c2Ugb2YgbXkgbGF6eW5lc3MgKi8KKwl9CisKKwlyZXFfY3R4LT5idWZmZXIgPSBkbWFfcG9vbF9hbGxvYyhidWZmZXJfcG9vbCwgZmxhZ3MsICZjcnlwdC0+c3JjX2J1Zik7CisJaWYgKCFyZXFfY3R4LT5idWZmZXIpCisJCWdvdG8gb3V0OworCXJlcV9jdHgtPmJ1ZmZlci0+cGh5c19hZGRyID0gMDsKKwkvKiBBU1NPQyBkYXRhICovCisJbmVudHMgPSBjb3VudF9zZyhyZXEtPmFzc29jLCByZXEtPmFzc29jbGVuKTsKKwlyZXFfY3R4LT5hc3NvY19uZW50cyA9IG5lbnRzOworCWRtYV9tYXBfc2coZGV2LCByZXEtPmFzc29jLCBuZW50cywgRE1BX1RPX0RFVklDRSk7CisJYnVmID0gY2hhaW51cF9idWZmZXJzKHJlcS0+YXNzb2MsIHJlcS0+YXNzb2NsZW4sIHJlcV9jdHgtPmJ1ZmZlcixmbGFncyk7CisJaWYgKCFidWYpCisJCWdvdG8gdW5tYXBfc2dfYXNzb2M7CisJLyogSVYgKi8KKwlzZ19pbml0X3RhYmxlKCZyZXFfY3R4LT5pdmxpc3QsIDEpOworCXNnX3NldF9idWYoJnJlcV9jdHgtPml2bGlzdCwgaXYsIGl2c2l6ZSk7CisJZG1hX21hcF9zZyhkZXYsICZyZXFfY3R4LT5pdmxpc3QsIDEsIERNQV9CSURJUkVDVElPTkFMKTsKKwlidWYgPSBjaGFpbnVwX2J1ZmZlcnMoJnJlcV9jdHgtPml2bGlzdCwgaXZzaXplLCBidWYsIGZsYWdzKTsKKwlpZiAoIWJ1ZikKKwkJZ290byB1bm1hcF9zZ19pdjsKKwlpZiAodW5saWtlbHkoaG1hY19pbmNvbnNpc3RlbnQocmVxLT5zcmMsIGNyeXB0bGVuLCBhdXRoc2l6ZSkpKSB7CisJCS8qIFRoZSAxMiBobWFjIGJ5dGVzIGFyZSBzY2F0dGVyZWQsCisJCSAqIHdlIG5lZWQgdG8gY29weSB0aGVtIGludG8gYSBzYWZlIGJ1ZmZlciAqLworCQlyZXFfY3R4LT5obWFjX3ZpcnQgPSBkbWFfcG9vbF9hbGxvYyhidWZmZXJfcG9vbCwgZmxhZ3MsCisJCQkJJmNyeXB0LT5pY3ZfcmV2X2Flcyk7CisJCWlmICh1bmxpa2VseSghcmVxX2N0eC0+aG1hY192aXJ0KSkKKwkJCWdvdG8gdW5tYXBfc2dfaXY7CisJCWlmICghZW5jcnlwdCkgeworCQkJc2NhdHRlcndhbGtfbWFwX2FuZF9jb3B5KHJlcV9jdHgtPmhtYWNfdmlydCwKKwkJCQlyZXEtPnNyYywgY3J5cHRsZW4sIGF1dGhzaXplLCAwKTsKKwkJfQorCQlyZXFfY3R4LT5lbmNyeXB0ID0gZW5jcnlwdDsKKwl9IGVsc2UgeworCQlyZXFfY3R4LT5obWFjX3ZpcnQgPSBOVUxMOworCX0KKwkvKiBDcnlwdCAqLworCW5lbnRzID0gY291bnRfc2cocmVxLT5zcmMsIGNyeXB0bGVuICsgYXV0aHNpemUpOworCXJlcV9jdHgtPnNyY19uZW50cyA9IG5lbnRzOworCWRtYV9tYXBfc2coZGV2LCByZXEtPnNyYywgbmVudHMsIERNQV9CSURJUkVDVElPTkFMKTsKKwlidWYgPSBjaGFpbnVwX2J1ZmZlcnMocmVxLT5zcmMsIGNyeXB0bGVuICsgYXV0aHNpemUsIGJ1ZiwgZmxhZ3MpOworCWlmICghYnVmKQorCQlnb3RvIHVubWFwX3NnX3NyYzsKKwlpZiAoIXJlcV9jdHgtPmhtYWNfdmlydCkgeworCQljcnlwdC0+aWN2X3Jldl9hZXMgPSBidWYtPnBoeXNfYWRkciArIGJ1Zi0+YnVmX2xlbiAtIGF1dGhzaXplOworCX0KKwljcnlwdC0+Y3RsX2ZsYWdzIHw9IENUTF9GTEFHX1BFUkZPUk1fQUVBRDsKKwlxbWdyX3B1dF9lbnRyeShTRU5EX1FJRCwgY3J5cHRfdmlydDJwaHlzKGNyeXB0KSk7CisJQlVHX09OKHFtZ3Jfc3RhdF9vdmVyZmxvdyhTRU5EX1FJRCkpOworCXJldHVybiAtRUlOUFJPR1JFU1M7Cit1bm1hcF9zZ19zcmM6CisJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5zcmMsIHJlcV9jdHgtPnNyY19uZW50cywgRE1BX0JJRElSRUNUSU9OQUwpOworCWlmIChyZXFfY3R4LT5obWFjX3ZpcnQpIHsKKwkJZG1hX3Bvb2xfZnJlZShidWZmZXJfcG9vbCwgcmVxX2N0eC0+aG1hY192aXJ0LAorCQkJCWNyeXB0LT5pY3ZfcmV2X2Flcyk7CisJfQordW5tYXBfc2dfaXY6CisJZG1hX3VubWFwX3NnKGRldiwgJnJlcV9jdHgtPml2bGlzdCwgMSwgRE1BX0JJRElSRUNUSU9OQUwpOwordW5tYXBfc2dfYXNzb2M6CisJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5hc3NvYywgcmVxX2N0eC0+YXNzb2NfbmVudHMsIERNQV9UT19ERVZJQ0UpOworCWZyZWVfYnVmX2NoYWluKHJlcV9jdHgtPmJ1ZmZlciwgY3J5cHQtPnNyY19idWYpOworb3V0OgorCWNyeXB0LT5jdGxfZmxhZ3MgPSBDVExfRkxBR19VTlVTRUQ7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhZWFkX3NldHVwKHN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtLCB1bnNpZ25lZCBpbnQgYXV0aHNpemUpCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eCh0Zm0pOworCXUzMiAqZmxhZ3MgPSAmdGZtLT5iYXNlLmNydF9mbGFnczsKKwl1bnNpZ25lZCBkaWdlc3RfbGVuID0gY3J5cHRvX2FlYWRfYWxnKHRmbSktPm1heGF1dGhzaXplOworCWludCByZXQ7CisKKwlpZiAoIWN0eC0+ZW5ja2V5X2xlbiAmJiAhY3R4LT5hdXRoa2V5X2xlbikKKwkJcmV0dXJuIDA7CisJaW5pdF9jb21wbGV0aW9uKCZjdHgtPmNvbXBsZXRpb24pOworCWF0b21pY19pbmMoJmN0eC0+Y29uZmlndXJpbmcpOworCisJcmVzZXRfc2FfZGlyKCZjdHgtPmVuY3J5cHQpOworCXJlc2V0X3NhX2RpcigmY3R4LT5kZWNyeXB0KTsKKworCXJldCA9IHNldHVwX2NpcGhlcigmdGZtLT5iYXNlLCAwLCBjdHgtPmVuY2tleSwgY3R4LT5lbmNrZXlfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwlyZXQgPSBzZXR1cF9jaXBoZXIoJnRmbS0+YmFzZSwgMSwgY3R4LT5lbmNrZXksIGN0eC0+ZW5ja2V5X2xlbik7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisJcmV0ID0gc2V0dXBfYXV0aCgmdGZtLT5iYXNlLCAwLCBhdXRoc2l6ZSwgY3R4LT5hdXRoa2V5LAorCQkJY3R4LT5hdXRoa2V5X2xlbiwgZGlnZXN0X2xlbik7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisJcmV0ID0gc2V0dXBfYXV0aCgmdGZtLT5iYXNlLCAxLCBhdXRoc2l6ZSwgIGN0eC0+YXV0aGtleSwKKwkJCWN0eC0+YXV0aGtleV9sZW4sIGRpZ2VzdF9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJaWYgKCpmbGFncyAmIENSWVBUT19URk1fUkVTX1dFQUtfS0VZKSB7CisJCWlmICgqZmxhZ3MgJiBDUllQVE9fVEZNX1JFUV9XRUFLX0tFWSkgeworCQkJcmV0ID0gLUVJTlZBTDsKKwkJCWdvdG8gb3V0OworCQl9IGVsc2UgeworCQkJKmZsYWdzICY9IH5DUllQVE9fVEZNX1JFU19XRUFLX0tFWTsKKwkJfQorCX0KK291dDoKKwlpZiAoIWF0b21pY19kZWNfYW5kX3Rlc3QoJmN0eC0+Y29uZmlndXJpbmcpKQorCQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZjdHgtPmNvbXBsZXRpb24pOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9zZXRhdXRoc2l6ZShzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSwgdW5zaWduZWQgaW50IGF1dGhzaXplKQoreworCWludCBtYXggPSBjcnlwdG9fYWVhZF9hbGcodGZtKS0+bWF4YXV0aHNpemUgPj4gMjsKKworCWlmICgoYXV0aHNpemU+PjIpIDwgMSB8fCAoYXV0aHNpemU+PjIpID4gbWF4IHx8IChhdXRoc2l6ZSAmIDMpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlyZXR1cm4gYWVhZF9zZXR1cCh0Zm0sIGF1dGhzaXplKTsKK30KKworc3RhdGljIGludCBhZWFkX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSwgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eCh0Zm0pOworCXN0cnVjdCBydGF0dHIgKnJ0YSA9IChzdHJ1Y3QgcnRhdHRyICopa2V5OworCXN0cnVjdCBjcnlwdG9fYXV0aGVuY19rZXlfcGFyYW0gKnBhcmFtOworCisJaWYgKCFSVEFfT0socnRhLCBrZXlsZW4pKQorCQlnb3RvIGJhZGtleTsKKwlpZiAocnRhLT5ydGFfdHlwZSAhPSBDUllQVE9fQVVUSEVOQ19LRVlBX1BBUkFNKQorCQlnb3RvIGJhZGtleTsKKwlpZiAoUlRBX1BBWUxPQUQocnRhKSA8IHNpemVvZigqcGFyYW0pKQorCQlnb3RvIGJhZGtleTsKKworCXBhcmFtID0gUlRBX0RBVEEocnRhKTsKKwljdHgtPmVuY2tleV9sZW4gPSBiZTMyX3RvX2NwdShwYXJhbS0+ZW5ja2V5bGVuKTsKKworCWtleSArPSBSVEFfQUxJR04ocnRhLT5ydGFfbGVuKTsKKwlrZXlsZW4gLT0gUlRBX0FMSUdOKHJ0YS0+cnRhX2xlbik7CisKKwlpZiAoa2V5bGVuIDwgY3R4LT5lbmNrZXlfbGVuKQorCQlnb3RvIGJhZGtleTsKKworCWN0eC0+YXV0aGtleV9sZW4gPSBrZXlsZW4gLSBjdHgtPmVuY2tleV9sZW47CisJbWVtY3B5KGN0eC0+ZW5ja2V5LCBrZXkgKyBjdHgtPmF1dGhrZXlfbGVuLCBjdHgtPmVuY2tleV9sZW4pOworCW1lbWNweShjdHgtPmF1dGhrZXksIGtleSwgY3R4LT5hdXRoa2V5X2xlbik7CisKKwlyZXR1cm4gYWVhZF9zZXR1cCh0Zm0sIGNyeXB0b19hZWFkX2F1dGhzaXplKHRmbSkpOworYmFka2V5OgorCWN0eC0+ZW5ja2V5X2xlbiA9IDA7CisJY3J5cHRvX2FlYWRfc2V0X2ZsYWdzKHRmbSwgQ1JZUFRPX1RGTV9SRVNfQkFEX0tFWV9MRU4pOworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IGFlYWRfZW5jcnlwdChzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEpCit7CisJdW5zaWduZWQgaXZzaXplID0gY3J5cHRvX2FlYWRfaXZzaXplKGNyeXB0b19hZWFkX3JlcXRmbShyZXEpKTsKKwlyZXR1cm4gYWVhZF9wZXJmb3JtKHJlcSwgMSwgcmVxLT5hc3NvY2xlbiArIGl2c2l6ZSwKKwkJCXJlcS0+Y3J5cHRsZW4sIHJlcS0+aXYpOworfQorCitzdGF0aWMgaW50IGFlYWRfZGVjcnlwdChzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEpCit7CisJdW5zaWduZWQgaXZzaXplID0gY3J5cHRvX2FlYWRfaXZzaXplKGNyeXB0b19hZWFkX3JlcXRmbShyZXEpKTsKKwlyZXR1cm4gYWVhZF9wZXJmb3JtKHJlcSwgMCwgcmVxLT5hc3NvY2xlbiArIGl2c2l6ZSwKKwkJCXJlcS0+Y3J5cHRsZW4sIHJlcS0+aXYpOworfQorCitzdGF0aWMgaW50IGFlYWRfZ2l2ZW5jcnlwdChzdHJ1Y3QgYWVhZF9naXZjcnlwdF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b19hZWFkICp0Zm0gPSBhZWFkX2dpdmNyeXB0X3JlcXRmbShyZXEpOworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgodGZtKTsKKwl1bnNpZ25lZCBsZW4sIGl2c2l6ZSA9IGNyeXB0b19hZWFkX2l2c2l6ZSh0Zm0pOworCV9fYmU2NCBzZXE7CisKKwkvKiBjb3BpZWQgZnJvbSBlc2VxaXYuYyAqLworCWlmICghY3R4LT5zYWx0ZWQpIHsKKwkJZ2V0X3JhbmRvbV9ieXRlcyhjdHgtPnNhbHQsIGl2c2l6ZSk7CisJCWN0eC0+c2FsdGVkID0gMTsKKwl9CisJbWVtY3B5KHJlcS0+YXJlcS5pdiwgY3R4LT5zYWx0LCBpdnNpemUpOworCWxlbiA9IGl2c2l6ZTsKKwlpZiAoaXZzaXplID4gc2l6ZW9mKHU2NCkpIHsKKwkJbWVtc2V0KHJlcS0+Z2l2LCAwLCBpdnNpemUgLSBzaXplb2YodTY0KSk7CisJCWxlbiA9IHNpemVvZih1NjQpOworCX0KKwlzZXEgPSBjcHVfdG9fYmU2NChyZXEtPnNlcSk7CisJbWVtY3B5KHJlcS0+Z2l2ICsgaXZzaXplIC0gbGVuLCAmc2VxLCBsZW4pOworCXJldHVybiBhZWFkX3BlcmZvcm0oJnJlcS0+YXJlcSwgMSwgcmVxLT5hcmVxLmFzc29jbGVuLAorCQkJcmVxLT5hcmVxLmNyeXB0bGVuICtpdnNpemUsIHJlcS0+Z2l2KTsKK30KKworc3RhdGljIHN0cnVjdCBpeHBfYWxnIGl4cDR4eF9hbGdvc1tdID0geworeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJjYmMoZGVzKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gREVTX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gREVTX0tFWV9TSVpFLAorCQkJLml2c2l6ZQkJPSBERVNfQkxPQ0tfU0laRSwKKwkJCS5nZW5pdgkJPSAiZXNlcWl2IiwKKwkJCX0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfREVTIHwgTU9EX0NCQ19FTkMgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0RFUyB8IE1PRF9DQkNfREVDIHwgS0VZTEVOXzE5MiwKKworfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJlY2IoZGVzKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gREVTX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gREVTX0tFWV9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9ERVMgfCBNT0RfRUNCIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9ERVMgfCBNT0RfRUNCIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiY2JjKGRlczNfZWRlKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBERVMzX0VERV9LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IERFUzNfRURFX0tFWV9TSVpFLAorCQkJLml2c2l6ZQkJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkJLmdlbml2CQk9ICJlc2VxaXYiLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF8zREVTIHwgTU9EX0NCQ19FTkMgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EXzNERVMgfCBNT0RfQ0JDX0RFQyB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImVjYihkZXMzX2VkZSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gREVTM19FREVfS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBERVMzX0VERV9LRVlfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfM0RFUyB8IE1PRF9FQ0IgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EXzNERVMgfCBNT0RfRUNCIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiY2JjKGFlcykiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IEFFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IEFFU19NSU5fS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBBRVNfTUFYX0tFWV9TSVpFLAorCQkJLml2c2l6ZQkJPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5nZW5pdgkJPSAiZXNlcWl2IiwKKwkJCX0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NCQ19FTkMsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfQUVTIHwgTU9EX0NCQ19ERUMsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImVjYihhZXMpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBBRVNfTUlOX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gQUVTX01BWF9LRVlfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0VDQiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9BRVMgfCBNT0RfRUNCLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJjdHIoYWVzKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gQUVTX01JTl9LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IEFFU19NQVhfS0VZX1NJWkUsCisJCQkuaXZzaXplCQk9IEFFU19CTE9DS19TSVpFLAorCQkJLmdlbml2CQk9ICJlc2VxaXYiLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ1RSLAorCS5jZmdfZGVjID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DVFIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gInJmYzM2ODYoY3RyKGFlcykpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBBRVNfTUlOX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gQUVTX01BWF9LRVlfU0laRSwKKwkJCS5pdnNpemUJCT0gQUVTX0JMT0NLX1NJWkUsCisJCQkuZ2VuaXYJCT0gImVzZXFpdiIsCisJCQkuc2V0a2V5CQk9IGFibGtfcmZjMzY4Nl9zZXRrZXksCisJCQkuZW5jcnlwdAk9IGFibGtfcmZjMzY4Nl9jcnlwdCwKKwkJCS5kZWNyeXB0CT0gYWJsa19yZmMzNjg2X2NyeXB0IH0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NUUiwKKwkuY2ZnX2RlYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ1RSLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJhdXRoZW5jKGhtYWMobWQ1KSxjYmMoZGVzKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWVhZCA9IHsKKwkJCS5pdnNpemUJCT0gREVTX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUJPSBNRDVfRElHRVNUX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5oYXNoID0gJmhhc2hfYWxnX21kNSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9ERVMgfCBNT0RfQ0JDX0VOQyB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJhdXRoZW5jKGhtYWMobWQ1KSxjYmMoZGVzM19lZGUpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFlYWQgPSB7CisJCQkuaXZzaXplCQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUJPSBNRDVfRElHRVNUX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5oYXNoID0gJmhhc2hfYWxnX21kNSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF8zREVTIHwgTU9EX0NCQ19FTkMgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EXzNERVMgfCBNT0RfQ0JDX0RFQyB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImF1dGhlbmMoaG1hYyhzaGExKSxjYmMoZGVzKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWVhZCA9IHsKKwkJCS5pdnNpemUJCT0gREVTX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUJPSBTSEExX0RJR0VTVF9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuaGFzaCA9ICZoYXNoX2FsZ19zaGExLAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9ERVMgfCBNT0RfQ0JDX0RFQyB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImF1dGhlbmMoaG1hYyhzaGExKSxjYmMoZGVzM19lZGUpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFlYWQgPSB7CisJCQkuaXZzaXplCQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUJPSBTSEExX0RJR0VTVF9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuaGFzaCA9ICZoYXNoX2FsZ19zaGExLAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EXzNERVMgfCBNT0RfQ0JDX0VOQyB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfREVDIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKG1kNSksY2JjKGFlcykpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFlYWQgPSB7CisJCQkuaXZzaXplCQk9IEFFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gTUQ1X0RJR0VTVF9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuaGFzaCA9ICZoYXNoX2FsZ19tZDUsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NCQ19FTkMsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfQUVTIHwgTU9EX0NCQ19ERUMsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImF1dGhlbmMoaG1hYyhzaGExKSxjYmMoYWVzKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IEFFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWVhZCA9IHsKKwkJCS5pdnNpemUJCT0gQUVTX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUJPSBTSEExX0RJR0VTVF9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuaGFzaCA9ICZoYXNoX2FsZ19zaGExLAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DQkNfRU5DLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0FFUyB8IE1PRF9DQkNfREVDLAorfSB9OworCisjZGVmaW5lIElYUF9QT1NURklYICItaXhwNHh4Igorc3RhdGljIGludCBfX2luaXQgaXhwX21vZHVsZV9pbml0KHZvaWQpCit7CisJaW50IG51bSA9IEFSUkFZX1NJWkUoaXhwNHh4X2FsZ29zKTsKKwlpbnQgaSxlcnIgOworCisJaWYgKHBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcHNldWRvX2RldikpCisJCXJldHVybiAtRU5PREVWOworCisJc3Bpbl9sb2NrX2luaXQoJmRlc2NfbG9jayk7CisJc3Bpbl9sb2NrX2luaXQoJmVtZXJnX2xvY2spOworCisJZXJyID0gaW5pdF9peHBfY3J5cHRvKCk7CisJaWYgKGVycikgeworCQlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcigmcHNldWRvX2Rldik7CisJCXJldHVybiBlcnI7CisJfQorCWZvciAoaT0wOyBpPCBudW07IGkrKykgeworCQlzdHJ1Y3QgY3J5cHRvX2FsZyAqY3JhID0gJml4cDR4eF9hbGdvc1tpXS5jcnlwdG87CisKKwkJaWYgKHNucHJpbnRmKGNyYS0+Y3JhX2RyaXZlcl9uYW1lLCBDUllQVE9fTUFYX0FMR19OQU1FLAorCQkJIiVzIklYUF9QT1NURklYLCBjcmEtPmNyYV9uYW1lKSA+PQorCQkJQ1JZUFRPX01BWF9BTEdfTkFNRSkKKwkJeworCQkJY29udGludWU7CisJCX0KKwkJaWYgKCFzdXBwb3J0X2FlcyAmJiAoaXhwNHh4X2FsZ29zW2ldLmNmZ19lbmMgJiBNT0RfQUVTKSkgeworCQkJY29udGludWU7CisJCX0KKwkJaWYgKCFpeHA0eHhfYWxnb3NbaV0uaGFzaCkgeworCQkJLyogYmxvY2sgY2lwaGVycyAqLworCQkJY3JhLT5jcmFfdHlwZSA9ICZjcnlwdG9fYWJsa2NpcGhlcl90eXBlOworCQkJY3JhLT5jcmFfZmxhZ3MgPSBDUllQVE9fQUxHX1RZUEVfQUJMS0NJUEhFUiB8CisJCQkJCSBDUllQVE9fQUxHX0FTWU5DOworCQkJaWYgKCFjcmEtPmNyYV9hYmxrY2lwaGVyLnNldGtleSkKKwkJCQljcmEtPmNyYV9hYmxrY2lwaGVyLnNldGtleSA9IGFibGtfc2V0a2V5OworCQkJaWYgKCFjcmEtPmNyYV9hYmxrY2lwaGVyLmVuY3J5cHQpCisJCQkJY3JhLT5jcmFfYWJsa2NpcGhlci5lbmNyeXB0ID0gYWJsa19lbmNyeXB0OworCQkJaWYgKCFjcmEtPmNyYV9hYmxrY2lwaGVyLmRlY3J5cHQpCisJCQkJY3JhLT5jcmFfYWJsa2NpcGhlci5kZWNyeXB0ID0gYWJsa19kZWNyeXB0OworCQkJY3JhLT5jcmFfaW5pdCA9IGluaXRfdGZtX2FibGs7CisJCX0gZWxzZSB7CisJCQkvKiBhdXRoZW5jICovCisJCQljcmEtPmNyYV90eXBlID0gJmNyeXB0b19hZWFkX3R5cGU7CisJCQljcmEtPmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BRUFEIHwKKwkJCQkJIENSWVBUT19BTEdfQVNZTkM7CisJCQljcmEtPmNyYV9hZWFkLnNldGtleSA9IGFlYWRfc2V0a2V5OworCQkJY3JhLT5jcmFfYWVhZC5zZXRhdXRoc2l6ZSA9IGFlYWRfc2V0YXV0aHNpemU7CisJCQljcmEtPmNyYV9hZWFkLmVuY3J5cHQgPSBhZWFkX2VuY3J5cHQ7CisJCQljcmEtPmNyYV9hZWFkLmRlY3J5cHQgPSBhZWFkX2RlY3J5cHQ7CisJCQljcmEtPmNyYV9hZWFkLmdpdmVuY3J5cHQgPSBhZWFkX2dpdmVuY3J5cHQ7CisJCQljcmEtPmNyYV9pbml0ID0gaW5pdF90Zm1fYWVhZDsKKwkJfQorCQljcmEtPmNyYV9jdHhzaXplID0gc2l6ZW9mKHN0cnVjdCBpeHBfY3R4KTsKKwkJY3JhLT5jcmFfbW9kdWxlID0gVEhJU19NT0RVTEU7CisJCWNyYS0+Y3JhX2FsaWdubWFzayA9IDM7CisJCWNyYS0+Y3JhX3ByaW9yaXR5ID0gMzAwOworCQljcmEtPmNyYV9leGl0ID0gZXhpdF90Zm07CisJCWlmIChjcnlwdG9fcmVnaXN0ZXJfYWxnKGNyYSkpCisJCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byByZWdpc3RlciAnJXMnXG4iLAorCQkJCWNyYS0+Y3JhX25hbWUpOworCQllbHNlCisJCQlpeHA0eHhfYWxnb3NbaV0ucmVnaXN0ZXJlZCA9IDE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgaXhwX21vZHVsZV9leGl0KHZvaWQpCit7CisJaW50IG51bSA9IEFSUkFZX1NJWkUoaXhwNHh4X2FsZ29zKTsKKwlpbnQgaTsKKworCWZvciAoaT0wOyBpPCBudW07IGkrKykgeworCQlpZiAoaXhwNHh4X2FsZ29zW2ldLnJlZ2lzdGVyZWQpCisJCQljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJml4cDR4eF9hbGdvc1tpXS5jcnlwdG8pOworCX0KKwlyZWxlYXNlX2l4cF9jcnlwdG8oKTsKKwlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcigmcHNldWRvX2Rldik7Cit9CisKK21vZHVsZV9pbml0KGl4cF9tb2R1bGVfaW5pdCk7Cittb2R1bGVfZXhpdChpeHBfbW9kdWxlX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfQVVUSE9SKCJDaHJpc3RpYW4gSG9obnN0YWVkdCA8Y2hvaG5zdGFlZHRAaW5ub21pbmF0ZS5jb20+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIklYUDR4eCBoYXJkd2FyZSBjcnlwdG8iKTsKKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1hZXMuYyBiL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stYWVzLmMKaW5kZXggYmIzMGViOS4uNTRhMmExNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1hZXMuYworKysgYi9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLWFlcy5jCkBAIC0zODUsMTIgKzM4NSwxMiBAQAogCWludCByZXQ7CiAKIAlpZiAoIWNwdV9oYXNfeGNyeXB0KSB7Ci0JCXByaW50ayhLRVJOX0VSUiBQRlggIlZJQSBQYWRMb2NrIG5vdCBkZXRlY3RlZC5cbiIpOworCQlwcmludGsoS0VSTl9OT1RJQ0UgUEZYICJWSUEgUGFkTG9jayBub3QgZGV0ZWN0ZWQuXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCiAJaWYgKCFjcHVfaGFzX3hjcnlwdF9lbmFibGVkKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBQRlggIlZJQSBQYWRMb2NrIGRldGVjdGVkLCBidXQgbm90IGVuYWJsZWQuIEhtbSwgc3RyYW5nZS4uLlxuIik7CisJCXByaW50ayhLRVJOX05PVElDRSBQRlggIlZJQSBQYWRMb2NrIGRldGVjdGVkLCBidXQgbm90IGVuYWJsZWQuIEhtbSwgc3RyYW5nZS4uLlxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1zaGEuYyBiL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stc2hhLmMKaW5kZXggYzY2NmI0ZS4uNDBkNTY4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1zaGEuYworKysgYi9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLXNoYS5jCkBAIC0yNTQsMTIgKzI1NCwxMiBAQAogCWludCByYyA9IC1FTk9ERVY7CiAKIAlpZiAoIWNwdV9oYXNfcGhlKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBQRlggIlZJQSBQYWRMb2NrIEhhc2ggRW5naW5lIG5vdCBkZXRlY3RlZC5cbiIpOworCQlwcmludGsoS0VSTl9OT1RJQ0UgUEZYICJWSUEgUGFkTG9jayBIYXNoIEVuZ2luZSBub3QgZGV0ZWN0ZWQuXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCiAJaWYgKCFjcHVfaGFzX3BoZV9lbmFibGVkKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBQRlggIlZJQSBQYWRMb2NrIGRldGVjdGVkLCBidXQgbm90IGVuYWJsZWQuIEhtbSwgc3RyYW5nZS4uLlxuIik7CisJCXByaW50ayhLRVJOX05PVElDRSBQRlggIlZJQSBQYWRMb2NrIGRldGVjdGVkLCBidXQgbm90IGVuYWJsZWQuIEhtbSwgc3RyYW5nZS4uLlxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vdGFsaXRvcy5jIGIvZHJpdmVycy9jcnlwdG8vdGFsaXRvcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxMTk0M2QKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2NyeXB0by90YWxpdG9zLmMKQEAgLTAsMCArMSwxNTk3IEBACisvKgorICogdGFsaXRvcyAtIEZyZWVzY2FsZSBJbnRlZ3JhdGVkIFNlY3VyaXR5IEVuZ2luZSAoU0VDKSBkZXZpY2UgZHJpdmVyCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKgorICogU2NhdHRlcmxpc3QgQ3J5cHRvIEFQSSBnbHVlIGNvZGUgY29waWVkIGZyb20gZmlsZXMgd2l0aCB0aGUgZm9sbG93aW5nOgorICogQ29weXJpZ2h0IChjKSAyMDA2LTIwMDcgSGVyYmVydCBYdSA8aGVyYmVydEBnb25kb3IuYXBhbmEub3JnLmF1PgorICoKKyAqIENyeXB0byBhbGdvcml0aG0gcmVnaXN0cmF0aW9uIGNvZGUgY29waWVkIGZyb20gaGlmbiBkcml2ZXI6CisgKiAyMDA3KyBDb3B5cmlnaHQgKGMpIEV2Z2VuaXkgUG9seWFrb3YgPGpvaG5wb2xAMmthLm1pcHQucnU+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kX2RldmljZXRhYmxlLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgvaHdfcmFuZG9tLmg+CisjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9ydG5ldGxpbmsuaD4KKworI2luY2x1ZGUgPGNyeXB0by9hbGdhcGkuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYWVzLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2Rlcy5oPgorI2luY2x1ZGUgPGNyeXB0by9zaGEuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYWVhZC5oPgorI2luY2x1ZGUgPGNyeXB0by9hdXRoZW5jLmg+CisKKyNpbmNsdWRlICJ0YWxpdG9zLmgiCisKKyNkZWZpbmUgVEFMSVRPU19USU1FT1VUIDEwMDAwMAorI2RlZmluZSBUQUxJVE9TX01BWF9EQVRBX0xFTiA2NTUzNQorCisjZGVmaW5lIERFU0NfVFlQRShkZXNjX2hkcikgKChiZTMyX3RvX2NwdShkZXNjX2hkcikgPj4gMykgJiAweDFmKQorI2RlZmluZSBQUklNQVJZX0VVKGRlc2NfaGRyKSAoKGJlMzJfdG9fY3B1KGRlc2NfaGRyKSA+PiAyOCkgJiAweGYpCisjZGVmaW5lIFNFQ09OREFSWV9FVShkZXNjX2hkcikgKChiZTMyX3RvX2NwdShkZXNjX2hkcikgPj4gMTYpICYgMHhmKQorCisvKiBkZXNjcmlwdG9yIHBvaW50ZXIgZW50cnkgKi8KK3N0cnVjdCB0YWxpdG9zX3B0ciB7CisJX19iZTE2IGxlbjsJLyogbGVuZ3RoICovCisJdTggal9leHRlbnQ7CS8qIGp1bXAgdG8gc2cgbGluayB0YWJsZSBhbmQvb3IgZXh0ZW50ICovCisJdTggZXB0cjsJLyogZXh0ZW5kZWQgYWRkcmVzcyAqLworCV9fYmUzMiBwdHI7CS8qIGFkZHJlc3MgKi8KK307CisKKy8qIGRlc2NyaXB0b3IgKi8KK3N0cnVjdCB0YWxpdG9zX2Rlc2MgeworCV9fYmUzMiBoZHI7CQkJLyogaGVhZGVyIGhpZ2ggYml0cyAqLworCV9fYmUzMiBoZHJfbG87CQkJLyogaGVhZGVyIGxvdyBiaXRzICovCisJc3RydWN0IHRhbGl0b3NfcHRyIHB0cls3XTsJLyogcHRyL2xlbiBwYWlyIGFycmF5ICovCit9OworCisvKioKKyAqIHRhbGl0b3NfcmVxdWVzdCAtIGRlc2NyaXB0b3Igc3VibWlzc2lvbiByZXF1ZXN0CisgKiBAZGVzYzogZGVzY3JpcHRvciBwb2ludGVyIChrZXJuZWwgdmlydHVhbCkKKyAqIEBkbWFfZGVzYzogZGVzY3JpcHRvcidzIHBoeXNpY2FsIGJ1cyBhZGRyZXNzCisgKiBAY2FsbGJhY2s6IHdob20gdG8gY2FsbCB3aGVuIGRlc2NyaXB0b3IgcHJvY2Vzc2luZyBpcyBkb25lCisgKiBAY29udGV4dDogY2FsbGVyIGNvbnRleHQgKG9wdGlvbmFsKQorICovCitzdHJ1Y3QgdGFsaXRvc19yZXF1ZXN0IHsKKwlzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjOworCWRtYV9hZGRyX3QgZG1hX2Rlc2M7CisJdm9pZCAoKmNhbGxiYWNrKSAoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjLAorCSAgICAgICAgICAgICAgICAgIHZvaWQgKmNvbnRleHQsIGludCBlcnJvcik7CisJdm9pZCAqY29udGV4dDsKK307CisKK3N0cnVjdCB0YWxpdG9zX3ByaXZhdGUgeworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldjsKKwl2b2lkIF9faW9tZW0gKnJlZzsKKwlpbnQgaXJxOworCisJLyogU0VDIHZlcnNpb24gZ2VvbWV0cnkgKGZyb20gZGV2aWNlIHRyZWUgbm9kZSkgKi8KKwl1bnNpZ25lZCBpbnQgbnVtX2NoYW5uZWxzOworCXVuc2lnbmVkIGludCBjaGZpZm9fbGVuOworCXVuc2lnbmVkIGludCBleGVjX3VuaXRzOworCXVuc2lnbmVkIGludCBkZXNjX3R5cGVzOworCisJLyogbmV4dCBjaGFubmVsIHRvIGJlIGFzc2lnbmVkIG5leHQgaW5jb21pbmcgZGVzY3JpcHRvciAqLworCWF0b21pY190IGxhc3RfY2hhbjsKKworCS8qIHBlci1jaGFubmVsIHJlcXVlc3QgZmlmbyAqLworCXN0cnVjdCB0YWxpdG9zX3JlcXVlc3QgKipmaWZvOworCisJLyoKKwkgKiBsZW5ndGggb2YgdGhlIHJlcXVlc3QgZmlmbworCSAqIGZpZm9fbGVuIGlzIGNoZmlmb19sZW4gcm91bmRlZCB1cCB0byBuZXh0IHBvd2VyIG9mIDIKKwkgKiBzbyB3ZSBjYW4gdXNlIGJpdHdpc2Ugb3BzIHRvIHdyYXAKKwkgKi8KKwl1bnNpZ25lZCBpbnQgZmlmb19sZW47CisKKwkvKiBwZXItY2hhbm5lbCBpbmRleCB0byBuZXh0IGZyZWUgZGVzY3JpcHRvciByZXF1ZXN0ICovCisJaW50ICpoZWFkOworCisJLyogcGVyLWNoYW5uZWwgaW5kZXggdG8gbmV4dCBpbi1wcm9ncmVzcy9kb25lIGRlc2NyaXB0b3IgcmVxdWVzdCAqLworCWludCAqdGFpbDsKKworCS8qIHBlci1jaGFubmVsIHJlcXVlc3Qgc3VibWlzc2lvbiAoaGVhZCkgYW5kIHJlbGVhc2UgKHRhaWwpIGxvY2tzICovCisJc3BpbmxvY2tfdCAqaGVhZF9sb2NrOworCXNwaW5sb2NrX3QgKnRhaWxfbG9jazsKKworCS8qIHJlcXVlc3QgY2FsbGJhY2sgdGFza2xldCAqLworCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCBkb25lX3Rhc2s7CisJc3RydWN0IHRhc2tsZXRfc3RydWN0IGVycm9yX3Rhc2s7CisKKwkvKiBsaXN0IG9mIHJlZ2lzdGVyZWQgYWxnb3JpdGhtcyAqLworCXN0cnVjdCBsaXN0X2hlYWQgYWxnX2xpc3Q7CisKKwkvKiBod3JuZyBkZXZpY2UgKi8KKwlzdHJ1Y3QgaHdybmcgcm5nOworfTsKKworLyoKKyAqIG1hcCB2aXJ0dWFsIHNpbmdsZSAoY29udGlndW91cykgcG9pbnRlciB0byBoL3cgZGVzY3JpcHRvciBwb2ludGVyCisgKi8KK3N0YXRpYyB2b2lkIG1hcF9zaW5nbGVfdGFsaXRvc19wdHIoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgIHN0cnVjdCB0YWxpdG9zX3B0ciAqdGFsaXRvc19wdHIsCisJCQkJICAgdW5zaWduZWQgc2hvcnQgbGVuLCB2b2lkICpkYXRhLAorCQkJCSAgIHVuc2lnbmVkIGNoYXIgZXh0ZW50LAorCQkJCSAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKK3sKKwl0YWxpdG9zX3B0ci0+bGVuID0gY3B1X3RvX2JlMTYobGVuKTsKKwl0YWxpdG9zX3B0ci0+cHRyID0gY3B1X3RvX2JlMzIoZG1hX21hcF9zaW5nbGUoZGV2LCBkYXRhLCBsZW4sIGRpcikpOworCXRhbGl0b3NfcHRyLT5qX2V4dGVudCA9IGV4dGVudDsKK30KKworLyoKKyAqIHVubWFwIGJ1cyBzaW5nbGUgKGNvbnRpZ3VvdXMpIGgvdyBkZXNjcmlwdG9yIHBvaW50ZXIKKyAqLworc3RhdGljIHZvaWQgdW5tYXBfc2luZ2xlX3RhbGl0b3NfcHRyKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICAgIHN0cnVjdCB0YWxpdG9zX3B0ciAqdGFsaXRvc19wdHIsCisJCQkJICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpCit7CisJZG1hX3VubWFwX3NpbmdsZShkZXYsIGJlMzJfdG9fY3B1KHRhbGl0b3NfcHRyLT5wdHIpLAorCQkJIGJlMTZfdG9fY3B1KHRhbGl0b3NfcHRyLT5sZW4pLCBkaXIpOworfQorCitzdGF0aWMgaW50IHJlc2V0X2NoYW5uZWwoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgY2gpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVuc2lnbmVkIGludCB0aW1lb3V0ID0gVEFMSVRPU19USU1FT1VUOworCisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NDUihjaCksIFRBTElUT1NfQ0NDUl9SRVNFVCk7CisKKwl3aGlsZSAoKGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ0NSKGNoKSkgJiBUQUxJVE9TX0NDQ1JfUkVTRVQpCisJICAgICAgICYmIC0tdGltZW91dCkKKwkJY3B1X3JlbGF4KCk7CisKKwlpZiAodGltZW91dCA9PSAwKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlc2V0IGNoYW5uZWwgJWRcbiIsIGNoKTsKKwkJcmV0dXJuIC1FSU87CisJfQorCisJLyogc2V0IGRvbmUgd3JpdGViYWNrIGFuZCBJUlEgKi8KKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ0NSX0xPKGNoKSwgVEFMSVRPU19DQ0NSX0xPX0NEV0UgfAorCQkgIFRBTElUT1NfQ0NDUl9MT19DRElFKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHJlc2V0X2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVuc2lnbmVkIGludCB0aW1lb3V0ID0gVEFMSVRPU19USU1FT1VUOworCisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfTUNSLCBUQUxJVE9TX01DUl9TV1IpOworCisJd2hpbGUgKChpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfTUNSKSAmIFRBTElUT1NfTUNSX1NXUikKKwkgICAgICAgJiYgLS10aW1lb3V0KQorCQljcHVfcmVsYXgoKTsKKworCWlmICh0aW1lb3V0ID09IDApIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVzZXQgZGV2aWNlXG4iKTsKKwkJcmV0dXJuIC1FSU87CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZXNldCBhbmQgaW5pdGlhbGl6ZSB0aGUgZGV2aWNlCisgKi8KK3N0YXRpYyBpbnQgaW5pdF9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlpbnQgY2gsIGVycjsKKworCS8qCisJICogTWFzdGVyIHJlc2V0CisJICogZXJyYXRhIGRvY3VtZW50YXRpb246IHdhcm5pbmc6IGNlcnRhaW4gU0VDIGludGVycnVwdHMKKwkgKiBhcmUgbm90IGZ1bGx5IGNsZWFyZWQgYnkgd3JpdGluZyB0aGUgTUNSOlNXUiBiaXQsCisJICogc2V0IGJpdCB0d2ljZSB0byBjb21wbGV0ZWx5IHJlc2V0CisJICovCisJZXJyID0gcmVzZXRfZGV2aWNlKGRldik7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IHJlc2V0X2RldmljZShkZXYpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwkvKiByZXNldCBjaGFubmVscyAqLworCWZvciAoY2ggPSAwOyBjaCA8IHByaXYtPm51bV9jaGFubmVsczsgY2grKykgeworCQllcnIgPSByZXNldF9jaGFubmVsKGRldiwgY2gpOworCQlpZiAoZXJyKQorCQkJcmV0dXJuIGVycjsKKwl9CisKKwkvKiBlbmFibGUgY2hhbm5lbCBkb25lIGFuZCBlcnJvciBpbnRlcnJ1cHRzICovCisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfSU1SLCBUQUxJVE9TX0lNUl9JTklUKTsKKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19JTVJfTE8sIFRBTElUT1NfSU1SX0xPX0lOSVQpOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogdGFsaXRvc19zdWJtaXQgLSBzdWJtaXRzIGEgZGVzY3JpcHRvciB0byB0aGUgZGV2aWNlIGZvciBwcm9jZXNzaW5nCisgKiBAZGV2Ogl0aGUgU0VDIGRldmljZSB0byBiZSB1c2VkCisgKiBAZGVzYzoJdGhlIGRlc2NyaXB0b3IgdG8gYmUgcHJvY2Vzc2VkIGJ5IHRoZSBkZXZpY2UKKyAqIEBjYWxsYmFjazoJd2hvbSB0byBjYWxsIHdoZW4gcHJvY2Vzc2luZyBpcyBjb21wbGV0ZQorICogQGNvbnRleHQ6CWEgaGFuZGxlIGZvciB1c2UgYnkgY2FsbGVyIChvcHRpb25hbCkKKyAqCisgKiBkZXNjIG11c3QgY29udGFpbiB2YWxpZCBkbWEtbWFwcGVkIChidXMgcGh5c2ljYWwpIGFkZHJlc3MgcG9pbnRlcnMuCisgKiBjYWxsYmFjayBtdXN0IGNoZWNrIGVyciBhbmQgZmVlZGJhY2sgaW4gZGVzY3JpcHRvciBoZWFkZXIKKyAqIGZvciBkZXZpY2UgcHJvY2Vzc2luZyBzdGF0dXMuCisgKi8KK3N0YXRpYyBpbnQgdGFsaXRvc19zdWJtaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjLAorCQkJICB2b2lkICgqY2FsbGJhY2spKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkJICAgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYywKKwkJCQkJICAgdm9pZCAqY29udGV4dCwgaW50IGVycm9yKSwKKwkJCSAgdm9pZCAqY29udGV4dCkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IHRhbGl0b3NfcmVxdWVzdCAqcmVxdWVzdDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzLCBjaDsKKwlpbnQgaGVhZDsKKworCS8qIHNlbGVjdCBkb25lIG5vdGlmaWNhdGlvbiAqLworCWRlc2MtPmhkciB8PSBERVNDX0hEUl9ET05FX05PVElGWTsKKworCS8qIGVtdWxhdGUgU0VDJ3Mgcm91bmQtcm9iaW4gY2hhbm5lbCBmaWZvIHBvbGxpbmcgc2NoZW1lICovCisJY2ggPSBhdG9taWNfaW5jX3JldHVybigmcHJpdi0+bGFzdF9jaGFuKSAmIChwcml2LT5udW1fY2hhbm5lbHMgLSAxKTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwcml2LT5oZWFkX2xvY2tbY2hdLCBmbGFncyk7CisKKwloZWFkID0gcHJpdi0+aGVhZFtjaF07CisJcmVxdWVzdCA9ICZwcml2LT5maWZvW2NoXVtoZWFkXTsKKworCWlmIChyZXF1ZXN0LT5kZXNjKSB7CisJCS8qIHJlcXVlc3QgcXVldWUgaXMgZnVsbCAqLworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwcml2LT5oZWFkX2xvY2tbY2hdLCBmbGFncyk7CisJCXJldHVybiAtRUFHQUlOOworCX0KKworCS8qIG1hcCBkZXNjcmlwdG9yIGFuZCBzYXZlIGNhbGxlciBkYXRhICovCisJcmVxdWVzdC0+ZG1hX2Rlc2MgPSBkbWFfbWFwX3NpbmdsZShkZXYsIGRlc2MsIHNpemVvZigqZGVzYyksCisJCQkJCSAgIERNQV9CSURJUkVDVElPTkFMKTsKKwlyZXF1ZXN0LT5jYWxsYmFjayA9IGNhbGxiYWNrOworCXJlcXVlc3QtPmNvbnRleHQgPSBjb250ZXh0OworCisJLyogaW5jcmVtZW50IGZpZm8gaGVhZCAqLworCXByaXYtPmhlYWRbY2hdID0gKHByaXYtPmhlYWRbY2hdICsgMSkgJiAocHJpdi0+Zmlmb19sZW4gLSAxKTsKKworCXNtcF93bWIoKTsKKwlyZXF1ZXN0LT5kZXNjID0gZGVzYzsKKworCS8qIEdPISAqLworCXdtYigpOworCW91dF9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfRkZfTE8oY2gpLCByZXF1ZXN0LT5kbWFfZGVzYyk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwcml2LT5oZWFkX2xvY2tbY2hdLCBmbGFncyk7CisKKwlyZXR1cm4gLUVJTlBST0dSRVNTOworfQorCisvKgorICogcHJvY2VzcyB3aGF0IHdhcyBkb25lLCBub3RpZnkgY2FsbGJhY2sgb2YgZXJyb3IgaWYgbm90CisgKi8KK3N0YXRpYyB2b2lkIGZsdXNoX2NoYW5uZWwoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgY2gsIGludCBlcnJvciwgaW50IHJlc2V0X2NoKQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgdGFsaXRvc19yZXF1ZXN0ICpyZXF1ZXN0LCBzYXZlZF9yZXE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgdGFpbCwgc3RhdHVzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnByaXYtPnRhaWxfbG9ja1tjaF0sIGZsYWdzKTsKKworCXRhaWwgPSBwcml2LT50YWlsW2NoXTsKKwl3aGlsZSAocHJpdi0+Zmlmb1tjaF1bdGFpbF0uZGVzYykgeworCQlyZXF1ZXN0ID0gJnByaXYtPmZpZm9bY2hdW3RhaWxdOworCisJCS8qIGRlc2NyaXB0b3JzIHdpdGggdGhlaXIgZG9uZSBiaXRzIHNldCBkb24ndCBnZXQgdGhlIGVycm9yICovCisJCXJtYigpOworCQlpZiAoKHJlcXVlc3QtPmRlc2MtPmhkciAmIERFU0NfSERSX0RPTkUpID09IERFU0NfSERSX0RPTkUpCisJCQlzdGF0dXMgPSAwOworCQllbHNlCisJCQlpZiAoIWVycm9yKQorCQkJCWJyZWFrOworCQkJZWxzZQorCQkJCXN0YXR1cyA9IGVycm9yOworCisJCWRtYV91bm1hcF9zaW5nbGUoZGV2LCByZXF1ZXN0LT5kbWFfZGVzYywKKwkJCXNpemVvZihzdHJ1Y3QgdGFsaXRvc19kZXNjKSwgRE1BX0JJRElSRUNUSU9OQUwpOworCisJCS8qIGNvcHkgZW50cmllcyBzbyB3ZSBjYW4gY2FsbCBjYWxsYmFjayBvdXRzaWRlIGxvY2sgKi8KKwkJc2F2ZWRfcmVxLmRlc2MgPSByZXF1ZXN0LT5kZXNjOworCQlzYXZlZF9yZXEuY2FsbGJhY2sgPSByZXF1ZXN0LT5jYWxsYmFjazsKKwkJc2F2ZWRfcmVxLmNvbnRleHQgPSByZXF1ZXN0LT5jb250ZXh0OworCisJCS8qIHJlbGVhc2UgcmVxdWVzdCBlbnRyeSBpbiBmaWZvICovCisJCXNtcF93bWIoKTsKKwkJcmVxdWVzdC0+ZGVzYyA9IE5VTEw7CisKKwkJLyogaW5jcmVtZW50IGZpZm8gdGFpbCAqLworCQlwcml2LT50YWlsW2NoXSA9ICh0YWlsICsgMSkgJiAocHJpdi0+Zmlmb19sZW4gLSAxKTsKKworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwcml2LT50YWlsX2xvY2tbY2hdLCBmbGFncyk7CisJCXNhdmVkX3JlcS5jYWxsYmFjayhkZXYsIHNhdmVkX3JlcS5kZXNjLCBzYXZlZF9yZXEuY29udGV4dCwKKwkJCQkgICBzdGF0dXMpOworCQkvKiBjaGFubmVsIG1heSByZXN1bWUgcHJvY2Vzc2luZyBpbiBzaW5nbGUgZGVzYyBlcnJvciBjYXNlICovCisJCWlmIChlcnJvciAmJiAhcmVzZXRfY2ggJiYgc3RhdHVzID09IGVycm9yKQorCQkJcmV0dXJuOworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcHJpdi0+dGFpbF9sb2NrW2NoXSwgZmxhZ3MpOworCQl0YWlsID0gcHJpdi0+dGFpbFtjaF07CisJfQorCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHJpdi0+dGFpbF9sb2NrW2NoXSwgZmxhZ3MpOworfQorCisvKgorICogcHJvY2VzcyBjb21wbGV0ZWQgcmVxdWVzdHMgZm9yIGNoYW5uZWxzIHRoYXQgaGF2ZSBkb25lIHN0YXR1cworICovCitzdGF0aWMgdm9pZCB0YWxpdG9zX2RvbmUodW5zaWduZWQgbG9uZyBkYXRhKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IChzdHJ1Y3QgZGV2aWNlICopZGF0YTsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJaW50IGNoOworCisJZm9yIChjaCA9IDA7IGNoIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBjaCsrKQorCQlmbHVzaF9jaGFubmVsKGRldiwgY2gsIDAsIDApOworfQorCisvKgorICogbG9jYXRlIGN1cnJlbnQgKG9mZmVuZGluZykgZGVzY3JpcHRvcgorICovCitzdGF0aWMgc3RydWN0IHRhbGl0b3NfZGVzYyAqY3VycmVudF9kZXNjKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGNoKQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlpbnQgdGFpbCA9IHByaXYtPnRhaWxbY2hdOworCWRtYV9hZGRyX3QgY3VyX2Rlc2M7CisKKwljdXJfZGVzYyA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DRFBSX0xPKGNoKSk7CisKKwl3aGlsZSAocHJpdi0+Zmlmb1tjaF1bdGFpbF0uZG1hX2Rlc2MgIT0gY3VyX2Rlc2MpIHsKKwkJdGFpbCA9ICh0YWlsICsgMSkgJiAocHJpdi0+Zmlmb19sZW4gLSAxKTsKKwkJaWYgKHRhaWwgPT0gcHJpdi0+dGFpbFtjaF0pIHsKKwkJCWRldl9lcnIoZGV2LCAiY291bGRuJ3QgbG9jYXRlIGN1cnJlbnQgZGVzY3JpcHRvclxuIik7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCX0KKworCXJldHVybiBwcml2LT5maWZvW2NoXVt0YWlsXS5kZXNjOworfQorCisvKgorICogdXNlciBkaWFnbm9zdGljczsgcmVwb3J0IHJvb3QgY2F1c2Ugb2YgZXJyb3IgYmFzZWQgb24gZXhlY3V0aW9uIHVuaXQgc3RhdHVzCisgKi8KK3N0YXRpYyB2b2lkIHJlcG9ydF9ldV9lcnJvcihzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBjaCwgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYykKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJaW50IGk7CisKKwlzd2l0Y2ggKGRlc2MtPmhkciAmIERFU0NfSERSX1NFTDBfTUFTSykgeworCWNhc2UgREVTQ19IRFJfU0VMMF9BRkVVOgorCQlkZXZfZXJyKGRldiwgIkFGRVVJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQUZFVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQUZFVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDBfREVVOgorCQlkZXZfZXJyKGRldiwgIkRFVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19ERVVJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0RFVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDBfTURFVUE6CisJY2FzZSBERVNDX0hEUl9TRUwwX01ERVVCOgorCQlkZXZfZXJyKGRldiwgIk1ERVVJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfTURFVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfTURFVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDBfUk5HOgorCQlkZXZfZXJyKGRldiwgIlJOR1VJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDBfUEtFVToKKwkJZGV2X2VycihkZXYsICJQS0VVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1BLRVVJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1BLRVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX0FFU1U6CisJCWRldl9lcnIoZGV2LCAiQUVTVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19BRVNVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19BRVNVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9DUkNVOgorCQlkZXZfZXJyKGRldiwgIkNSQ1VJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ1JDVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ1JDVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDBfS0VVOgorCQlkZXZfZXJyKGRldiwgIktFVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19LRVVJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0tFVUlTUl9MTykpOworCQlicmVhazsKKwl9CisKKwlzd2l0Y2ggKGRlc2MtPmhkciAmIERFU0NfSERSX1NFTDFfTUFTSykgeworCWNhc2UgREVTQ19IRFJfU0VMMV9NREVVQToKKwljYXNlIERFU0NfSERSX1NFTDFfTURFVUI6CisJCWRldl9lcnIoZGV2LCAiTURFVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19NREVVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19NREVVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMV9DUkNVOgorCQlkZXZfZXJyKGRldiwgIkNSQ1VJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ1JDVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ1JDVUlTUl9MTykpOworCQlicmVhazsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgODsgaSsrKQorCQlkZXZfZXJyKGRldiwgIkRFU0NCVUYgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfREVTQ0JVRihjaCkgKyA4KmkpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0RFU0NCVUZfTE8oY2gpICsgOCppKSk7Cit9CisKKy8qCisgKiByZWNvdmVyIGZyb20gZXJyb3IgaW50ZXJydXB0cworICovCitzdGF0aWMgdm9pZCB0YWxpdG9zX2Vycm9yKHVuc2lnbmVkIGxvbmcgZGF0YSkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAoc3RydWN0IGRldmljZSAqKWRhdGE7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVuc2lnbmVkIGludCB0aW1lb3V0ID0gVEFMSVRPU19USU1FT1VUOworCWludCBjaCwgZXJyb3IsIHJlc2V0X2RldiA9IDAsIHJlc2V0X2NoID0gMDsKKwl1MzIgaXNyLCBpc3JfbG8sIHYsIHZfbG87CisKKwlpc3IgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfSVNSKTsKKwlpc3JfbG8gPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfSVNSX0xPKTsKKworCWZvciAoY2ggPSAwOyBjaCA8IHByaXYtPm51bV9jaGFubmVsczsgY2grKykgeworCQkvKiBza2lwIGNoYW5uZWxzIHdpdGhvdXQgZXJyb3JzICovCisJCWlmICghKGlzciAmICgxIDw8IChjaCAqIDIgKyAxKSkpKQorCQkJY29udGludWU7CisKKwkJZXJyb3IgPSAtRUlOVkFMOworCisJCXYgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NQU1IoY2gpKTsKKwkJdl9sbyA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ1BTUl9MTyhjaCkpOworCisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19ET0YpIHsKKwkJCWRldl9lcnIoZGV2LCAiZG91YmxlIGZldGNoIGZpZm8gb3ZlcmZsb3cgZXJyb3JcbiIpOworCQkJZXJyb3IgPSAtRUFHQUlOOworCQkJcmVzZXRfY2ggPSAxOworCQl9CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19TT0YpIHsKKwkJCS8qIGgvdyBkcm9wcGVkIGRlc2NyaXB0b3IgKi8KKwkJCWRldl9lcnIoZGV2LCAic2luZ2xlIGZldGNoIGZpZm8gb3ZlcmZsb3cgZXJyb3JcbiIpOworCQkJZXJyb3IgPSAtRUFHQUlOOworCQl9CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19NRFRFKQorCQkJZGV2X2VycihkZXYsICJtYXN0ZXIgZGF0YSB0cmFuc2ZlciBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19TR0RMWikKKwkJCWRldl9lcnIoZGV2LCAicy9nIGRhdGEgbGVuZ3RoIHplcm8gZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fRlBaKQorCQkJZGV2X2VycihkZXYsICJmZXRjaCBwb2ludGVyIHplcm8gZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fSURIKQorCQkJZGV2X2VycihkZXYsICJpbGxlZ2FsIGRlc2NyaXB0b3IgaGVhZGVyIGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0lFVSkKKwkJCWRldl9lcnIoZGV2LCAiaW52YWxpZCBleGVjdXRpb24gdW5pdCBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19FVSkKKwkJCXJlcG9ydF9ldV9lcnJvcihkZXYsIGNoLCBjdXJyZW50X2Rlc2MoZGV2LCBjaCkpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fR0IpCisJCQlkZXZfZXJyKGRldiwgImdhdGhlciBib3VuZGFyeSBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19HUkwpCisJCQlkZXZfZXJyKGRldiwgImdhdGhlciByZXR1cm4vbGVuZ3RoIGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX1NCKQorCQkJZGV2X2VycihkZXYsICJzY2F0dGVyIGJvdW5kYXJ5IGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX1NSTCkKKwkJCWRldl9lcnIoZGV2LCAic2NhdHRlciByZXR1cm4vbGVuZ3RoIGVycm9yXG4iKTsKKworCQlmbHVzaF9jaGFubmVsKGRldiwgY2gsIGVycm9yLCByZXNldF9jaCk7CisKKwkJaWYgKHJlc2V0X2NoKSB7CisJCQlyZXNldF9jaGFubmVsKGRldiwgY2gpOworCQl9IGVsc2UgeworCQkJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NDUihjaCksCisJCQkJICBUQUxJVE9TX0NDQ1JfQ09OVCk7CisJCQlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ0NSX0xPKGNoKSwgMCk7CisJCQl3aGlsZSAoKGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ0NSKGNoKSkgJgorCQkJICAgICAgIFRBTElUT1NfQ0NDUl9DT05UKSAmJiAtLXRpbWVvdXQpCisJCQkJY3B1X3JlbGF4KCk7CisJCQlpZiAodGltZW91dCA9PSAwKSB7CisJCQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVzdGFydCBjaGFubmVsICVkXG4iLAorCQkJCQljaCk7CisJCQkJcmVzZXRfZGV2ID0gMTsKKwkJCX0KKwkJfQorCX0KKwlpZiAocmVzZXRfZGV2IHx8IGlzciAmIH5UQUxJVE9TX0lTUl9DSEVSUiB8fCBpc3JfbG8pIHsKKwkJZGV2X2VycihkZXYsICJkb25lIG92ZXJmbG93LCBpbnRlcm5hbCB0aW1lIG91dCwgb3Igcm5ndSBlcnJvcjogIgorCQkgICAgICAgICJJU1IgMHglMDh4XyUwOHhcbiIsIGlzciwgaXNyX2xvKTsKKworCQkvKiBwdXJnZSByZXF1ZXN0IHF1ZXVlcyAqLworCQlmb3IgKGNoID0gMDsgY2ggPCBwcml2LT5udW1fY2hhbm5lbHM7IGNoKyspCisJCQlmbHVzaF9jaGFubmVsKGRldiwgY2gsIC1FSU8sIDEpOworCisJCS8qIHJlc2V0IGFuZCByZWluaXRpYWxpemUgdGhlIGRldmljZSAqLworCQlpbml0X2RldmljZShkZXYpOworCX0KK30KKworc3RhdGljIGlycXJldHVybl90IHRhbGl0b3NfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gZGF0YTsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdTMyIGlzciwgaXNyX2xvOworCisJaXNyID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lTUik7CisJaXNyX2xvID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lTUl9MTyk7CisKKwkvKiBhY2sgKi8KKwlvdXRfYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lDUiwgaXNyKTsKKwlvdXRfYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lDUl9MTywgaXNyX2xvKTsKKworCWlmICh1bmxpa2VseSgoaXNyICYgflRBTElUT1NfSVNSX0NIRE9ORSkgfHwgaXNyX2xvKSkKKwkJdGFsaXRvc19lcnJvcigodW5zaWduZWQgbG9uZylkYXRhKTsKKwllbHNlCisJCWlmIChsaWtlbHkoaXNyICYgVEFMSVRPU19JU1JfQ0hET05FKSkKKwkJCXRhc2tsZXRfc2NoZWR1bGUoJnByaXYtPmRvbmVfdGFzayk7CisKKwlyZXR1cm4gKGlzciB8fCBpc3JfbG8pID8gSVJRX0hBTkRMRUQgOiBJUlFfTk9ORTsKK30KKworLyoKKyAqIGh3cm5nCisgKi8KK3N0YXRpYyBpbnQgdGFsaXRvc19ybmdfZGF0YV9wcmVzZW50KHN0cnVjdCBod3JuZyAqcm5nLCBpbnQgd2FpdCkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAoc3RydWN0IGRldmljZSAqKXJuZy0+cHJpdjsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdTMyIG9mbDsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAyMDsgaSsrKSB7CisJCW9mbCA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVU1JfTE8pICYKKwkJICAgICAgVEFMSVRPU19STkdVU1JfTE9fT0ZMOworCQlpZiAob2ZsIHx8ICF3YWl0KQorCQkJYnJlYWs7CisJCXVkZWxheSgxMCk7CisJfQorCisJcmV0dXJuICEhb2ZsOworfQorCitzdGF0aWMgaW50IHRhbGl0b3Nfcm5nX2RhdGFfcmVhZChzdHJ1Y3QgaHdybmcgKnJuZywgdTMyICpkYXRhKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IChzdHJ1Y3QgZGV2aWNlICopcm5nLT5wcml2OworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCS8qIHJuZyBmaWZvIHJlcXVpcmVzIDY0LWJpdCBhY2Nlc3NlcyAqLworCSpkYXRhID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VfRklGTyk7CisJKmRhdGEgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVV9GSUZPX0xPKTsKKworCXJldHVybiBzaXplb2YodTMyKTsKK30KKworc3RhdGljIGludCB0YWxpdG9zX3JuZ19pbml0KHN0cnVjdCBod3JuZyAqcm5nKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IChzdHJ1Y3QgZGV2aWNlICopcm5nLT5wcml2OworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1bnNpZ25lZCBpbnQgdGltZW91dCA9IFRBTElUT1NfVElNRU9VVDsKKworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VSQ1JfTE8sIFRBTElUT1NfUk5HVVJDUl9MT19TUik7CisJd2hpbGUgKCEoaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VTUl9MTykgJiBUQUxJVE9TX1JOR1VTUl9MT19SRCkKKwkgICAgICAgJiYgLS10aW1lb3V0KQorCQljcHVfcmVsYXgoKTsKKwlpZiAodGltZW91dCA9PSAwKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlc2V0IHJuZyBod1xuIik7CisJCXJldHVybiAtRU5PREVWOworCX0KKworCS8qIHN0YXJ0IGdlbmVyYXRpbmcgKi8KKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVRFNSX0xPLCAwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRhbGl0b3NfcmVnaXN0ZXJfcm5nKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwlwcml2LT5ybmcubmFtZQkJPSBkZXZfZHJpdmVyX3N0cmluZyhkZXYpLAorCXByaXYtPnJuZy5pbml0CQk9IHRhbGl0b3Nfcm5nX2luaXQsCisJcHJpdi0+cm5nLmRhdGFfcHJlc2VudAk9IHRhbGl0b3Nfcm5nX2RhdGFfcHJlc2VudCwKKwlwcml2LT5ybmcuZGF0YV9yZWFkCT0gdGFsaXRvc19ybmdfZGF0YV9yZWFkLAorCXByaXYtPnJuZy5wcml2CQk9ICh1bnNpZ25lZCBsb25nKWRldjsKKworCXJldHVybiBod3JuZ19yZWdpc3RlcigmcHJpdi0+cm5nKTsKK30KKworc3RhdGljIHZvaWQgdGFsaXRvc191bnJlZ2lzdGVyX3JuZyhzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJaHdybmdfdW5yZWdpc3RlcigmcHJpdi0+cm5nKTsKK30KKworLyoKKyAqIGNyeXB0byBhbGcKKyAqLworI2RlZmluZSBUQUxJVE9TX0NSQV9QUklPUklUWQkJMzAwMAorI2RlZmluZSBUQUxJVE9TX01BWF9LRVlfU0laRQkJNjQKKyNkZWZpbmUgVEFMSVRPU19NQVhfSVZfTEVOR1RICQkxNiAvKiBtYXggb2YgQUVTX0JMT0NLX1NJWkUsIERFUzNfRURFX0JMT0NLX1NJWkUgKi8KKworI2RlZmluZSBNRDVfRElHRVNUX1NJWkUgICAxNgorCitzdHJ1Y3QgdGFsaXRvc19jdHggeworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlfX2JlMzIgZGVzY19oZHJfdGVtcGxhdGU7CisJdTgga2V5W1RBTElUT1NfTUFYX0tFWV9TSVpFXTsKKwl1OCBpdltUQUxJVE9TX01BWF9JVl9MRU5HVEhdOworCXVuc2lnbmVkIGludCBrZXlsZW47CisJdW5zaWduZWQgaW50IGVuY2tleWxlbjsKKwl1bnNpZ25lZCBpbnQgYXV0aGtleWxlbjsKKwl1bnNpZ25lZCBpbnQgYXV0aHNpemU7Cit9OworCitzdGF0aWMgaW50IGFlYWRfYXV0aGVuY19zZXRhdXRoc2l6ZShzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMsCisJCQkJCQkgdW5zaWduZWQgaW50IGF1dGhzaXplKQoreworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCisJY3R4LT5hdXRoc2l6ZSA9IGF1dGhzaXplOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9hdXRoZW5jX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMsCisJCQkJCSAgICBjb25zdCB1OCAqa2V5LCB1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCXN0cnVjdCBydGF0dHIgKnJ0YSA9ICh2b2lkICopa2V5OworCXN0cnVjdCBjcnlwdG9fYXV0aGVuY19rZXlfcGFyYW0gKnBhcmFtOworCXVuc2lnbmVkIGludCBhdXRoa2V5bGVuOworCXVuc2lnbmVkIGludCBlbmNrZXlsZW47CisKKwlpZiAoIVJUQV9PSyhydGEsIGtleWxlbikpCisJCWdvdG8gYmFka2V5OworCisJaWYgKHJ0YS0+cnRhX3R5cGUgIT0gQ1JZUFRPX0FVVEhFTkNfS0VZQV9QQVJBTSkKKwkJZ290byBiYWRrZXk7CisKKwlpZiAoUlRBX1BBWUxPQUQocnRhKSA8IHNpemVvZigqcGFyYW0pKQorCQlnb3RvIGJhZGtleTsKKworCXBhcmFtID0gUlRBX0RBVEEocnRhKTsKKwllbmNrZXlsZW4gPSBiZTMyX3RvX2NwdShwYXJhbS0+ZW5ja2V5bGVuKTsKKworCWtleSArPSBSVEFfQUxJR04ocnRhLT5ydGFfbGVuKTsKKwlrZXlsZW4gLT0gUlRBX0FMSUdOKHJ0YS0+cnRhX2xlbik7CisKKwlpZiAoa2V5bGVuIDwgZW5ja2V5bGVuKQorCQlnb3RvIGJhZGtleTsKKworCWF1dGhrZXlsZW4gPSBrZXlsZW4gLSBlbmNrZXlsZW47CisKKwlpZiAoa2V5bGVuID4gVEFMSVRPU19NQVhfS0VZX1NJWkUpCisJCWdvdG8gYmFka2V5OworCisJbWVtY3B5KCZjdHgtPmtleSwga2V5LCBrZXlsZW4pOworCisJY3R4LT5rZXlsZW4gPSBrZXlsZW47CisJY3R4LT5lbmNrZXlsZW4gPSBlbmNrZXlsZW47CisJY3R4LT5hdXRoa2V5bGVuID0gYXV0aGtleWxlbjsKKworCXJldHVybiAwOworCitiYWRrZXk6CisJY3J5cHRvX2FlYWRfc2V0X2ZsYWdzKGF1dGhlbmMsIENSWVBUT19URk1fUkVTX0JBRF9LRVlfTEVOKTsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworLyoKKyAqIGlwc2VjX2VzcF9lZGVzYyAtIHMvdy1leHRlbmRlZCBpcHNlY19lc3AgZGVzY3JpcHRvcgorICogQHNyY19uZW50czogbnVtYmVyIG9mIHNlZ21lbnRzIGluIGlucHV0IHNjYXR0ZXJsaXN0CisgKiBAZHN0X25lbnRzOiBudW1iZXIgb2Ygc2VnbWVudHMgaW4gb3V0cHV0IHNjYXR0ZXJsaXN0CisgKiBAZG1hX2xlbjogbGVuZ3RoIG9mIGRtYSBtYXBwZWQgbGlua190Ymwgc3BhY2UKKyAqIEBkbWFfbGlua190Ymw6IGJ1cyBwaHlzaWNhbCBhZGRyZXNzIG9mIGxpbmtfdGJsCisgKiBAZGVzYzogaC93IGRlc2NyaXB0b3IKKyAqIEBsaW5rX3RibDogaW5wdXQgYW5kIG91dHB1dCBoL3cgbGluayB0YWJsZXMgKGlmIHtzcmMsZHN0fV9uZW50cyA+IDEpCisgKgorICogaWYgZGVjcnlwdGluZyAod2l0aCBhdXRoY2hlY2spLCBvciBlaXRoZXIgb25lIG9mIHNyY19uZW50cyBvciBkc3RfbmVudHMKKyAqIGlzIGdyZWF0ZXIgdGhhbiAxLCBhbiBpbnRlZ3JpdHkgY2hlY2sgdmFsdWUgaXMgY29uY2F0ZW5hdGVkIHRvIHRoZSBlbmQKKyAqIG9mIGxpbmtfdGJsIGRhdGEKKyAqLworc3RydWN0IGlwc2VjX2VzcF9lZGVzYyB7CisJaW50IHNyY19uZW50czsKKwlpbnQgZHN0X25lbnRzOworCWludCBkbWFfbGVuOworCWRtYV9hZGRyX3QgZG1hX2xpbmtfdGJsOworCXN0cnVjdCB0YWxpdG9zX2Rlc2MgZGVzYzsKKwlzdHJ1Y3QgdGFsaXRvc19wdHIgbGlua190YmxbMF07Cit9OworCitzdGF0aWMgdm9pZCBpcHNlY19lc3BfdW5tYXAoc3RydWN0IGRldmljZSAqZGV2LAorCQkJICAgIHN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjLAorCQkJICAgIHN0cnVjdCBhZWFkX3JlcXVlc3QgKmFyZXEpCit7CisJdW5tYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmVkZXNjLT5kZXNjLnB0cls2XSwgRE1BX0ZST01fREVWSUNFKTsKKwl1bm1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZWRlc2MtPmRlc2MucHRyWzNdLCBETUFfVE9fREVWSUNFKTsKKwl1bm1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZWRlc2MtPmRlc2MucHRyWzJdLCBETUFfVE9fREVWSUNFKTsKKwl1bm1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZWRlc2MtPmRlc2MucHRyWzBdLCBETUFfVE9fREVWSUNFKTsKKworCWRtYV91bm1hcF9zZyhkZXYsIGFyZXEtPmFzc29jLCAxLCBETUFfVE9fREVWSUNFKTsKKworCWlmIChhcmVxLT5zcmMgIT0gYXJlcS0+ZHN0KSB7CisJCWRtYV91bm1hcF9zZyhkZXYsIGFyZXEtPnNyYywgZWRlc2MtPnNyY19uZW50cyA/IDogMSwKKwkJCSAgICAgRE1BX1RPX0RFVklDRSk7CisJCWRtYV91bm1hcF9zZyhkZXYsIGFyZXEtPmRzdCwgZWRlc2MtPmRzdF9uZW50cyA/IDogMSwKKwkJCSAgICAgRE1BX0ZST01fREVWSUNFKTsKKwl9IGVsc2UgeworCQlkbWFfdW5tYXBfc2coZGV2LCBhcmVxLT5zcmMsIGVkZXNjLT5zcmNfbmVudHMgPyA6IDEsCisJCQkgICAgIERNQV9CSURJUkVDVElPTkFMKTsKKwl9CisKKwlpZiAoZWRlc2MtPmRtYV9sZW4pCisJCWRtYV91bm1hcF9zaW5nbGUoZGV2LCBlZGVzYy0+ZG1hX2xpbmtfdGJsLCBlZGVzYy0+ZG1hX2xlbiwKKwkJCQkgRE1BX0JJRElSRUNUSU9OQUwpOworfQorCisvKgorICogaXBzZWNfZXNwIGRlc2NyaXB0b3IgY2FsbGJhY2tzCisgKi8KK3N0YXRpYyB2b2lkIGlwc2VjX2VzcF9lbmNyeXB0X2RvbmUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MsIHZvaWQgKmNvbnRleHQsCisJCQkJICAgaW50IGVycikKK3sKKwlzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICphcmVxID0gY29udGV4dDsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYyA9CisJCSBjb250YWluZXJfb2YoZGVzYywgc3RydWN0IGlwc2VjX2VzcF9lZGVzYywgZGVzYyk7CisJc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jID0gY3J5cHRvX2FlYWRfcmVxdGZtKGFyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisJdm9pZCAqaWN2ZGF0YTsKKworCWlwc2VjX2VzcF91bm1hcChkZXYsIGVkZXNjLCBhcmVxKTsKKworCS8qIGNvcHkgdGhlIGdlbmVyYXRlZCBJQ1YgdG8gZHN0ICovCisJaWYgKGVkZXNjLT5kbWFfbGVuKSB7CisJCWljdmRhdGEgPSAmZWRlc2MtPmxpbmtfdGJsW2VkZXNjLT5zcmNfbmVudHMgKworCQkJCQkgICBlZGVzYy0+ZHN0X25lbnRzICsgMV07CisJCXNnID0gc2dfbGFzdChhcmVxLT5kc3QsIGVkZXNjLT5kc3RfbmVudHMpOworCQltZW1jcHkoKGNoYXIgKilzZ192aXJ0KHNnKSArIHNnLT5sZW5ndGggLSBjdHgtPmF1dGhzaXplLAorCQkgICAgICAgaWN2ZGF0YSwgY3R4LT5hdXRoc2l6ZSk7CisJfQorCisJa2ZyZWUoZWRlc2MpOworCisJYWVhZF9yZXF1ZXN0X2NvbXBsZXRlKGFyZXEsIGVycik7Cit9CisKK3N0YXRpYyB2b2lkIGlwc2VjX2VzcF9kZWNyeXB0X2RvbmUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MsIHZvaWQgKmNvbnRleHQsCisJCQkJICAgaW50IGVycikKK3sKKwlzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEgPSBjb250ZXh0OworCXN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjID0KKwkJIGNvbnRhaW5lcl9vZihkZXNjLCBzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjLCBkZXNjKTsKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMgPSBjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXZvaWQgKmljdmRhdGE7CisKKwlpcHNlY19lc3BfdW5tYXAoZGV2LCBlZGVzYywgcmVxKTsKKworCWlmICghZXJyKSB7CisJCS8qIGF1dGggY2hlY2sgKi8KKwkJaWYgKGVkZXNjLT5kbWFfbGVuKQorCQkJaWN2ZGF0YSA9ICZlZGVzYy0+bGlua190YmxbZWRlc2MtPnNyY19uZW50cyArCisJCQkJCQkgICBlZGVzYy0+ZHN0X25lbnRzICsgMV07CisJCWVsc2UKKwkJCWljdmRhdGEgPSAmZWRlc2MtPmxpbmtfdGJsWzBdOworCisJCXNnID0gc2dfbGFzdChyZXEtPmRzdCwgZWRlc2MtPmRzdF9uZW50cyA/IDogMSk7CisJCWVyciA9IG1lbWNtcChpY3ZkYXRhLCAoY2hhciAqKXNnX3ZpcnQoc2cpICsgc2ctPmxlbmd0aCAtCisJCQkgICAgIGN0eC0+YXV0aHNpemUsIGN0eC0+YXV0aHNpemUpID8gLUVCQURNU0cgOiAwOworCX0KKworCWtmcmVlKGVkZXNjKTsKKworCWFlYWRfcmVxdWVzdF9jb21wbGV0ZShyZXEsIGVycik7Cit9CisKKy8qCisgKiBjb252ZXJ0IHNjYXR0ZXJsaXN0IHRvIFNFQyBoL3cgbGluayB0YWJsZSBmb3JtYXQKKyAqIHN0b3AgYXQgY3J5cHRsZW4gYnl0ZXMKKyAqLworc3RhdGljIGludCBzZ190b19saW5rX3RibChzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnLCBpbnQgc2dfY291bnQsCisJCQkgICBpbnQgY3J5cHRsZW4sIHN0cnVjdCB0YWxpdG9zX3B0ciAqbGlua190YmxfcHRyKQoreworCWludCBuX3NnID0gc2dfY291bnQ7CisKKwl3aGlsZSAobl9zZy0tKSB7CisJCWxpbmtfdGJsX3B0ci0+cHRyID0gY3B1X3RvX2JlMzIoc2dfZG1hX2FkZHJlc3Moc2cpKTsKKwkJbGlua190YmxfcHRyLT5sZW4gPSBjcHVfdG9fYmUxNihzZ19kbWFfbGVuKHNnKSk7CisJCWxpbmtfdGJsX3B0ci0+al9leHRlbnQgPSAwOworCQlsaW5rX3RibF9wdHIrKzsKKwkJY3J5cHRsZW4gLT0gc2dfZG1hX2xlbihzZyk7CisJCXNnID0gc2dfbmV4dChzZyk7CisJfQorCisJLyogYWRqdXN0IChkZWNyZWFzZSkgbGFzdCBvbmUgKG9yIHR3bykgZW50cnkncyBsZW4gdG8gY3J5cHRsZW4gKi8KKwlsaW5rX3RibF9wdHItLTsKKwl3aGlsZSAobGlua190YmxfcHRyLT5sZW4gPD0gKC1jcnlwdGxlbikpIHsKKwkJLyogRW1wdHkgdGhpcyBlbnRyeSwgYW5kIG1vdmUgdG8gcHJldmlvdXMgb25lICovCisJCWNyeXB0bGVuICs9IGJlMTZfdG9fY3B1KGxpbmtfdGJsX3B0ci0+bGVuKTsKKwkJbGlua190YmxfcHRyLT5sZW4gPSAwOworCQlzZ19jb3VudC0tOworCQlsaW5rX3RibF9wdHItLTsKKwl9CisJbGlua190YmxfcHRyLT5sZW4gPSBjcHVfdG9fYmUxNihiZTE2X3RvX2NwdShsaW5rX3RibF9wdHItPmxlbikKKwkJCQkJKyBjcnlwdGxlbik7CisKKwkvKiB0YWcgZW5kIG9mIGxpbmsgdGFibGUgKi8KKwlsaW5rX3RibF9wdHItPmpfZXh0ZW50ID0gREVTQ19QVFJfTE5LVEJMX1JFVFVSTjsKKworCXJldHVybiBzZ19jb3VudDsKK30KKworLyoKKyAqIGZpbGwgaW4gYW5kIHN1Ym1pdCBpcHNlY19lc3AgZGVzY3JpcHRvcgorICovCitzdGF0aWMgaW50IGlwc2VjX2VzcChzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYywgc3RydWN0IGFlYWRfcmVxdWVzdCAqYXJlcSwKKwkJICAgICB1OCAqZ2l2LCB1NjQgc2VxLAorCQkgICAgIHZvaWQgKCpjYWxsYmFjaykgKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICAgICAgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYywKKwkJCQkgICAgICAgdm9pZCAqY29udGV4dCwgaW50IGVycm9yKSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKmFlYWQgPSBjcnlwdG9fYWVhZF9yZXF0Zm0oYXJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYWVhZCk7CisJc3RydWN0IGRldmljZSAqZGV2ID0gY3R4LT5kZXY7CisJc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYyA9ICZlZGVzYy0+ZGVzYzsKKwl1bnNpZ25lZCBpbnQgY3J5cHRsZW4gPSBhcmVxLT5jcnlwdGxlbjsKKwl1bnNpZ25lZCBpbnQgYXV0aHNpemUgPSBjdHgtPmF1dGhzaXplOworCXVuc2lnbmVkIGludCBpdnNpemU7CisJaW50IHNnX2NvdW50OworCisJLyogaG1hYyBrZXkgKi8KKwltYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmRlc2MtPnB0clswXSwgY3R4LT5hdXRoa2V5bGVuLCAmY3R4LT5rZXksCisJCQkgICAgICAgMCwgRE1BX1RPX0RFVklDRSk7CisJLyogaG1hYyBkYXRhICovCisJbWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZkZXNjLT5wdHJbMV0sIHNnX3ZpcnQoYXJlcS0+c3JjKSAtCisJCQkgICAgICAgc2dfdmlydChhcmVxLT5hc3NvYyksIHNnX3ZpcnQoYXJlcS0+YXNzb2MpLCAwLAorCQkJICAgICAgIERNQV9UT19ERVZJQ0UpOworCS8qIGNpcGhlciBpdiAqLworCWl2c2l6ZSA9IGNyeXB0b19hZWFkX2l2c2l6ZShhZWFkKTsKKwltYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmRlc2MtPnB0clsyXSwgaXZzaXplLCBnaXYgPzogYXJlcS0+aXYsIDAsCisJCQkgICAgICAgRE1BX1RPX0RFVklDRSk7CisKKwkvKiBjaXBoZXIga2V5ICovCisJbWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZkZXNjLT5wdHJbM10sIGN0eC0+ZW5ja2V5bGVuLAorCQkJICAgICAgIChjaGFyICopJmN0eC0+a2V5ICsgY3R4LT5hdXRoa2V5bGVuLCAwLAorCQkJICAgICAgIERNQV9UT19ERVZJQ0UpOworCisJLyoKKwkgKiBjaXBoZXIgaW4KKwkgKiBtYXAgYW5kIGFkanVzdCBjaXBoZXIgbGVuIHRvIGFlYWQgcmVxdWVzdCBjcnlwdGxlbi4KKwkgKiBleHRlbnQgaXMgYnl0ZXMgb2YgSE1BQyBwb3N0cGVuZGVkIHRvIGNpcGhlcnRleHQsCisJICogdHlwaWNhbGx5IDEyIGZvciBpcHNlYworCSAqLworCWRlc2MtPnB0cls0XS5sZW4gPSBjcHVfdG9fYmUxNihjcnlwdGxlbik7CisJZGVzYy0+cHRyWzRdLmpfZXh0ZW50ID0gYXV0aHNpemU7CisKKwlpZiAoYXJlcS0+c3JjID09IGFyZXEtPmRzdCkKKwkJc2dfY291bnQgPSBkbWFfbWFwX3NnKGRldiwgYXJlcS0+c3JjLCBlZGVzYy0+c3JjX25lbnRzID8gOiAxLAorCQkJCSAgICAgIERNQV9CSURJUkVDVElPTkFMKTsKKwllbHNlCisJCXNnX2NvdW50ID0gZG1hX21hcF9zZyhkZXYsIGFyZXEtPnNyYywgZWRlc2MtPnNyY19uZW50cyA/IDogMSwKKwkJCQkgICAgICBETUFfVE9fREVWSUNFKTsKKworCWlmIChzZ19jb3VudCA9PSAxKSB7CisJCWRlc2MtPnB0cls0XS5wdHIgPSBjcHVfdG9fYmUzMihzZ19kbWFfYWRkcmVzcyhhcmVxLT5zcmMpKTsKKwl9IGVsc2UgeworCQlzZ19jb3VudCA9IHNnX3RvX2xpbmtfdGJsKGFyZXEtPnNyYywgc2dfY291bnQsIGNyeXB0bGVuLAorCQkJCQkgICZlZGVzYy0+bGlua190YmxbMF0pOworCQlpZiAoc2dfY291bnQgPiAxKSB7CisJCQlkZXNjLT5wdHJbNF0ual9leHRlbnQgfD0gREVTQ19QVFJfTE5LVEJMX0pVTVA7CisJCQlkZXNjLT5wdHJbNF0ucHRyID0gY3B1X3RvX2JlMzIoZWRlc2MtPmRtYV9saW5rX3RibCk7CisJCQlkbWFfc3luY19zaW5nbGVfZm9yX2RldmljZShjdHgtPmRldiwgZWRlc2MtPmRtYV9saW5rX3RibCwKKwkJCQkJCSAgIGVkZXNjLT5kbWFfbGVuLCBETUFfQklESVJFQ1RJT05BTCk7CisJCX0gZWxzZSB7CisJCQkvKiBPbmx5IG9uZSBzZWdtZW50IG5vdywgc28gbm8gbGluayB0YmwgbmVlZGVkICovCisJCQlkZXNjLT5wdHJbNF0ucHRyID0gY3B1X3RvX2JlMzIoc2dfZG1hX2FkZHJlc3MoYXJlcS0+c3JjKSk7CisJCX0KKwl9CisKKwkvKiBjaXBoZXIgb3V0ICovCisJZGVzYy0+cHRyWzVdLmxlbiA9IGNwdV90b19iZTE2KGNyeXB0bGVuKTsKKwlkZXNjLT5wdHJbNV0ual9leHRlbnQgPSBhdXRoc2l6ZTsKKworCWlmIChhcmVxLT5zcmMgIT0gYXJlcS0+ZHN0KSB7CisJCXNnX2NvdW50ID0gZG1hX21hcF9zZyhkZXYsIGFyZXEtPmRzdCwgZWRlc2MtPmRzdF9uZW50cyA/IDogMSwKKwkJCQkgICAgICBETUFfRlJPTV9ERVZJQ0UpOworCX0KKworCWlmIChzZ19jb3VudCA9PSAxKSB7CisJCWRlc2MtPnB0cls1XS5wdHIgPSBjcHVfdG9fYmUzMihzZ19kbWFfYWRkcmVzcyhhcmVxLT5kc3QpKTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgdGFsaXRvc19wdHIgKmxpbmtfdGJsX3B0ciA9CisJCQkmZWRlc2MtPmxpbmtfdGJsW2VkZXNjLT5zcmNfbmVudHNdOworCQlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCisJCWRlc2MtPnB0cls1XS5wdHIgPSBjcHVfdG9fYmUzMigoc3RydWN0IHRhbGl0b3NfcHRyICopCisJCQkJCSAgICAgICBlZGVzYy0+ZG1hX2xpbmtfdGJsICsKKwkJCQkJICAgICAgIGVkZXNjLT5zcmNfbmVudHMpOworCQlpZiAoYXJlcS0+c3JjID09IGFyZXEtPmRzdCkgeworCQkJbWVtY3B5KGxpbmtfdGJsX3B0ciwgJmVkZXNjLT5saW5rX3RibFswXSwKKwkJCSAgICAgICBlZGVzYy0+c3JjX25lbnRzICogc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX3B0cikpOworCQl9IGVsc2UgeworCQkJc2dfY291bnQgPSBzZ190b19saW5rX3RibChhcmVxLT5kc3QsIHNnX2NvdW50LCBjcnlwdGxlbiwKKwkJCQkJCSAgbGlua190YmxfcHRyKTsKKwkJfQorCQlsaW5rX3RibF9wdHIgKz0gc2dfY291bnQgLSAxOworCisJCS8qIGhhbmRsZSBjYXNlIHdoZXJlIHNnX2xhc3QgY29udGFpbnMgdGhlIElDViBleGNsdXNpdmVseSAqLworCQlzZyA9IHNnX2xhc3QoYXJlcS0+ZHN0LCBlZGVzYy0+ZHN0X25lbnRzKTsKKwkJaWYgKHNnLT5sZW5ndGggPT0gY3R4LT5hdXRoc2l6ZSkKKwkJCWxpbmtfdGJsX3B0ci0tOworCisJCWxpbmtfdGJsX3B0ci0+al9leHRlbnQgPSAwOworCQlsaW5rX3RibF9wdHIrKzsKKwkJbGlua190YmxfcHRyLT5qX2V4dGVudCA9IERFU0NfUFRSX0xOS1RCTF9SRVRVUk47CisJCWxpbmtfdGJsX3B0ci0+bGVuID0gY3B1X3RvX2JlMTYoYXV0aHNpemUpOworCisJCS8qIGljdiBkYXRhIGZvbGxvd3MgbGluayB0YWJsZXMgKi8KKwkJbGlua190YmxfcHRyLT5wdHIgPSBjcHVfdG9fYmUzMigoc3RydWN0IHRhbGl0b3NfcHRyICopCisJCQkJCQllZGVzYy0+ZG1hX2xpbmtfdGJsICsKKwkJCQkJICAgICAgICBlZGVzYy0+c3JjX25lbnRzICsKKwkJCQkJCWVkZXNjLT5kc3RfbmVudHMgKyAxKTsKKworCQlkZXNjLT5wdHJbNV0ual9leHRlbnQgfD0gREVTQ19QVFJfTE5LVEJMX0pVTVA7CisJCWRtYV9zeW5jX3NpbmdsZV9mb3JfZGV2aWNlKGN0eC0+ZGV2LCBlZGVzYy0+ZG1hX2xpbmtfdGJsLAorCQkJCQkgICBlZGVzYy0+ZG1hX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpOworCX0KKworCS8qIGl2IG91dCAqLworCW1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZGVzYy0+cHRyWzZdLCBpdnNpemUsIGN0eC0+aXYsIDAsCisJCQkgICAgICAgRE1BX0ZST01fREVWSUNFKTsKKworCXJldHVybiB0YWxpdG9zX3N1Ym1pdChkZXYsIGRlc2MsIGNhbGxiYWNrLCBhcmVxKTsKK30KKworCisvKgorICogZGVyaXZlIG51bWJlciBvZiBlbGVtZW50cyBpbiBzY2F0dGVybGlzdAorICovCitzdGF0aWMgaW50IHNnX2NvdW50KHN0cnVjdCBzY2F0dGVybGlzdCAqc2dfbGlzdCwgaW50IG5ieXRlcykKK3sKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnID0gc2dfbGlzdDsKKwlpbnQgc2dfbmVudHMgPSAwOworCisJd2hpbGUgKG5ieXRlcykgeworCQlzZ19uZW50cysrOworCQluYnl0ZXMgLT0gc2ctPmxlbmd0aDsKKwkJc2cgPSBzZ19uZXh0KHNnKTsKKwl9CisKKwlyZXR1cm4gc2dfbmVudHM7Cit9CisKKy8qCisgKiBhbGxvY2F0ZSBhbmQgbWFwIHRoZSBpcHNlY19lc3AgZXh0ZW5kZWQgZGVzY3JpcHRvcgorICovCitzdGF0aWMgc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqaXBzZWNfZXNwX2VkZXNjX2FsbG9jKHN0cnVjdCBhZWFkX3JlcXVlc3QgKmFyZXEsCisJCQkJCQkgICAgIGludCBpY3Zfc3Rhc2hpbmcpCit7CisJc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jID0gY3J5cHRvX2FlYWRfcmVxdGZtKGFyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCXN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjOworCWludCBzcmNfbmVudHMsIGRzdF9uZW50cywgYWxsb2NfbGVuLCBkbWFfbGVuOworCisJaWYgKGFyZXEtPmNyeXB0bGVuICsgY3R4LT5hdXRoc2l6ZSA+IFRBTElUT1NfTUFYX0RBVEFfTEVOKSB7CisJCWRldl9lcnIoY3R4LT5kZXYsICJjcnlwdGxlbiBleGNlZWRzIGgvdyBtYXggbGltaXRcbiIpOworCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKKwl9CisKKwlzcmNfbmVudHMgPSBzZ19jb3VudChhcmVxLT5zcmMsIGFyZXEtPmNyeXB0bGVuICsgY3R4LT5hdXRoc2l6ZSk7CisJc3JjX25lbnRzID0gKHNyY19uZW50cyA9PSAxKSA/IDAgOiBzcmNfbmVudHM7CisKKwlpZiAoYXJlcS0+ZHN0ID09IGFyZXEtPnNyYykgeworCQlkc3RfbmVudHMgPSBzcmNfbmVudHM7CisJfSBlbHNlIHsKKwkJZHN0X25lbnRzID0gc2dfY291bnQoYXJlcS0+ZHN0LCBhcmVxLT5jcnlwdGxlbiArIGN0eC0+YXV0aHNpemUpOworCQlkc3RfbmVudHMgPSAoZHN0X25lbnRzID09IDEpID8gMCA6IHNyY19uZW50czsKKwl9CisKKwkvKgorCSAqIGFsbG9jYXRlIHNwYWNlIGZvciBiYXNlIGVkZXNjIHBsdXMgdGhlIGxpbmsgdGFibGVzLAorCSAqIGFsbG93aW5nIGZvciBhIHNlcGFyYXRlIGVudHJ5IGZvciB0aGUgZ2VuZXJhdGVkIElDViAoKyAxKSwKKwkgKiBhbmQgdGhlIElDViBkYXRhIGl0c2VsZgorCSAqLworCWFsbG9jX2xlbiA9IHNpemVvZihzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjKTsKKwlpZiAoc3JjX25lbnRzIHx8IGRzdF9uZW50cykgeworCQlkbWFfbGVuID0gKHNyY19uZW50cyArIGRzdF9uZW50cyArIDEpICoKKwkJCQkgc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX3B0cikgKyBjdHgtPmF1dGhzaXplOworCQlhbGxvY19sZW4gKz0gZG1hX2xlbjsKKwl9IGVsc2UgeworCQlkbWFfbGVuID0gMDsKKwkJYWxsb2NfbGVuICs9IGljdl9zdGFzaGluZyA/IGN0eC0+YXV0aHNpemUgOiAwOworCX0KKworCWVkZXNjID0ga21hbGxvYyhhbGxvY19sZW4sIEdGUF9ETUEpOworCWlmICghZWRlc2MpIHsKKwkJZGV2X2VycihjdHgtPmRldiwgImNvdWxkIG5vdCBhbGxvY2F0ZSBlZGVzY3JpcHRvclxuIik7CisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCX0KKworCWVkZXNjLT5zcmNfbmVudHMgPSBzcmNfbmVudHM7CisJZWRlc2MtPmRzdF9uZW50cyA9IGRzdF9uZW50czsKKwllZGVzYy0+ZG1hX2xlbiA9IGRtYV9sZW47CisJZWRlc2MtPmRtYV9saW5rX3RibCA9IGRtYV9tYXBfc2luZ2xlKGN0eC0+ZGV2LCAmZWRlc2MtPmxpbmtfdGJsWzBdLAorCQkJCQkgICAgIGVkZXNjLT5kbWFfbGVuLCBETUFfQklESVJFQ1RJT05BTCk7CisKKwlyZXR1cm4gZWRlc2M7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9hdXRoZW5jX2VuY3J5cHQoc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCXN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjOworCisJLyogYWxsb2NhdGUgZXh0ZW5kZWQgZGVzY3JpcHRvciAqLworCWVkZXNjID0gaXBzZWNfZXNwX2VkZXNjX2FsbG9jKHJlcSwgMCk7CisJaWYgKElTX0VSUihlZGVzYykpCisJCXJldHVybiBQVFJfRVJSKGVkZXNjKTsKKworCS8qIHNldCBlbmNyeXB0ICovCisJZWRlc2MtPmRlc2MuaGRyID0gY3R4LT5kZXNjX2hkcl90ZW1wbGF0ZSB8IERFU0NfSERSX01PREUwX0VOQ1JZUFQ7CisKKwlyZXR1cm4gaXBzZWNfZXNwKGVkZXNjLCByZXEsIE5VTEwsIDAsIGlwc2VjX2VzcF9lbmNyeXB0X2RvbmUpOworfQorCitzdGF0aWMgaW50IGFlYWRfYXV0aGVuY19kZWNyeXB0KHN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMgPSBjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwl1bnNpZ25lZCBpbnQgYXV0aHNpemUgPSBjdHgtPmF1dGhzaXplOworCXN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisJdm9pZCAqaWN2ZGF0YTsKKworCXJlcS0+Y3J5cHRsZW4gLT0gYXV0aHNpemU7CisKKwkvKiBhbGxvY2F0ZSBleHRlbmRlZCBkZXNjcmlwdG9yICovCisJZWRlc2MgPSBpcHNlY19lc3BfZWRlc2NfYWxsb2MocmVxLCAxKTsKKwlpZiAoSVNfRVJSKGVkZXNjKSkKKwkJcmV0dXJuIFBUUl9FUlIoZWRlc2MpOworCisJLyogc3Rhc2ggaW5jb21pbmcgSUNWIGZvciBsYXRlciBjbXAgd2l0aCBJQ1YgZ2VuZXJhdGVkIGJ5IHRoZSBoL3cgKi8KKwlpZiAoZWRlc2MtPmRtYV9sZW4pCisJCWljdmRhdGEgPSAmZWRlc2MtPmxpbmtfdGJsW2VkZXNjLT5zcmNfbmVudHMgKworCQkJCQkgICBlZGVzYy0+ZHN0X25lbnRzICsgMV07CisJZWxzZQorCQlpY3ZkYXRhID0gJmVkZXNjLT5saW5rX3RibFswXTsKKworCXNnID0gc2dfbGFzdChyZXEtPnNyYywgZWRlc2MtPnNyY19uZW50cyA/IDogMSk7CisKKwltZW1jcHkoaWN2ZGF0YSwgKGNoYXIgKilzZ192aXJ0KHNnKSArIHNnLT5sZW5ndGggLSBjdHgtPmF1dGhzaXplLAorCSAgICAgICBjdHgtPmF1dGhzaXplKTsKKworCS8qIGRlY3J5cHQgKi8KKwllZGVzYy0+ZGVzYy5oZHIgPSBjdHgtPmRlc2NfaGRyX3RlbXBsYXRlIHwgREVTQ19IRFJfRElSX0lOQk9VTkQ7CisKKwlyZXR1cm4gaXBzZWNfZXNwKGVkZXNjLCByZXEsIE5VTEwsIDAsIGlwc2VjX2VzcF9kZWNyeXB0X2RvbmUpOworfQorCitzdGF0aWMgaW50IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0KAorCXN0cnVjdCBhZWFkX2dpdmNyeXB0X3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICphcmVxID0gJnJlcS0+YXJlcTsKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMgPSBjcnlwdG9fYWVhZF9yZXF0Zm0oYXJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2M7CisKKwkvKiBhbGxvY2F0ZSBleHRlbmRlZCBkZXNjcmlwdG9yICovCisJZWRlc2MgPSBpcHNlY19lc3BfZWRlc2NfYWxsb2MoYXJlcSwgMCk7CisJaWYgKElTX0VSUihlZGVzYykpCisJCXJldHVybiBQVFJfRVJSKGVkZXNjKTsKKworCS8qIHNldCBlbmNyeXB0ICovCisJZWRlc2MtPmRlc2MuaGRyID0gY3R4LT5kZXNjX2hkcl90ZW1wbGF0ZSB8IERFU0NfSERSX01PREUwX0VOQ1JZUFQ7CisKKwltZW1jcHkocmVxLT5naXYsIGN0eC0+aXYsIGNyeXB0b19hZWFkX2l2c2l6ZShhdXRoZW5jKSk7CisKKwlyZXR1cm4gaXBzZWNfZXNwKGVkZXNjLCBhcmVxLCByZXEtPmdpdiwgcmVxLT5zZXEsCisJCQkgaXBzZWNfZXNwX2VuY3J5cHRfZG9uZSk7Cit9CisKK3N0cnVjdCB0YWxpdG9zX2FsZ190ZW1wbGF0ZSB7CisJY2hhciBuYW1lW0NSWVBUT19NQVhfQUxHX05BTUVdOworCWNoYXIgZHJpdmVyX25hbWVbQ1JZUFRPX01BWF9BTEdfTkFNRV07CisJdW5zaWduZWQgaW50IGJsb2Nrc2l6ZTsKKwlzdHJ1Y3QgYWVhZF9hbGcgYWVhZDsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJX19iZTMyIGRlc2NfaGRyX3RlbXBsYXRlOworfTsKKworc3RhdGljIHN0cnVjdCB0YWxpdG9zX2FsZ190ZW1wbGF0ZSBkcml2ZXJfYWxnc1tdID0geworCS8qIHNpbmdsZS1wYXNzIGlwc2VjX2VzcCBkZXNjcmlwdG9yICovCisJeworCQkubmFtZSA9ICJhdXRoZW5jKGhtYWMoc2hhMSksY2JjKGFlcykpIiwKKwkJLmRyaXZlcl9uYW1lID0gImF1dGhlbmMtaG1hYy1zaGExLWNiYy1hZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmFlYWQgPSB7CisJCQkuc2V0a2V5ID0gYWVhZF9hdXRoZW5jX3NldGtleSwKKwkJCS5zZXRhdXRoc2l6ZSA9IGFlYWRfYXV0aGVuY19zZXRhdXRoc2l6ZSwKKwkJCS5lbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2VuY3J5cHQsCisJCQkuZGVjcnlwdCA9IGFlYWRfYXV0aGVuY19kZWNyeXB0LAorCQkJLmdpdmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCwKKwkJCS5nZW5pdiA9ICI8YnVpbHQtaW4+IiwKKwkJCS5pdnNpemUgPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZSA9IFNIQTFfRElHRVNUX1NJWkUsCisJCQl9LAorCQkuZGVzY19oZHJfdGVtcGxhdGUgPSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUCB8CisJCQkgICAgICAgICAgICAgREVTQ19IRFJfU0VMMF9BRVNVIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfQUVTVV9DQkMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9TRUwxX01ERVVBIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9JTklUIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9QQUQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1NIQTFfSE1BQywKKwl9LAorCXsKKwkJLm5hbWUgPSAiYXV0aGVuYyhobWFjKHNoYTEpLGNiYyhkZXMzX2VkZSkpIiwKKwkJLmRyaXZlcl9uYW1lID0gImF1dGhlbmMtaG1hYy1zaGExLWNiYy0zZGVzLXRhbGl0b3MiLAorCQkuYmxvY2tzaXplID0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJLmFlYWQgPSB7CisJCQkuc2V0a2V5ID0gYWVhZF9hdXRoZW5jX3NldGtleSwKKwkJCS5zZXRhdXRoc2l6ZSA9IGFlYWRfYXV0aGVuY19zZXRhdXRoc2l6ZSwKKwkJCS5lbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2VuY3J5cHQsCisJCQkuZGVjcnlwdCA9IGFlYWRfYXV0aGVuY19kZWNyeXB0LAorCQkJLmdpdmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCwKKwkJCS5nZW5pdiA9ICI8YnVpbHQtaW4+IiwKKwkJCS5pdnNpemUgPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplID0gU0hBMV9ESUdFU1RfU0laRSwKKwkJCX0sCisJCS5kZXNjX2hkcl90ZW1wbGF0ZSA9IERFU0NfSERSX1RZUEVfSVBTRUNfRVNQIHwKKwkJCSAgICAgICAgICAgICBERVNDX0hEUl9TRUwwX0RFVSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0RFVV9DQkMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9ERVVfM0RFUyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX1NFTDFfTURFVUEgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1BBRCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfU0hBMV9ITUFDLAorCX0sCisJeworCQkubmFtZSA9ICJhdXRoZW5jKGhtYWMoc2hhMjU2KSxjYmMoYWVzKSkiLAorCQkuZHJpdmVyX25hbWUgPSAiYXV0aGVuYy1obWFjLXNoYTI1Ni1jYmMtYWVzLXRhbGl0b3MiLAorCQkuYmxvY2tzaXplID0gQUVTX0JMT0NLX1NJWkUsCisJCS5hZWFkID0geworCQkJLnNldGtleSA9IGFlYWRfYXV0aGVuY19zZXRrZXksCisJCQkuc2V0YXV0aHNpemUgPSBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUsCisJCQkuZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19lbmNyeXB0LAorCQkJLmRlY3J5cHQgPSBhZWFkX2F1dGhlbmNfZGVjcnlwdCwKKwkJCS5naXZlbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQsCisJCQkuZ2VuaXYgPSAiPGJ1aWx0LWluPiIsCisJCQkuaXZzaXplID0gQUVTX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBTSEEyNTZfRElHRVNUX1NJWkUsCisJCQl9LAorCQkuZGVzY19oZHJfdGVtcGxhdGUgPSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUCB8CisJCQkgICAgICAgICAgICAgREVTQ19IRFJfU0VMMF9BRVNVIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfQUVTVV9DQkMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9TRUwxX01ERVVBIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9JTklUIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9QQUQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1NIQTI1Nl9ITUFDLAorCX0sCisJeworCQkubmFtZSA9ICJhdXRoZW5jKGhtYWMoc2hhMjU2KSxjYmMoZGVzM19lZGUpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtc2hhMjU2LWNiYy0zZGVzLXRhbGl0b3MiLAorCQkuYmxvY2tzaXplID0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJLmFlYWQgPSB7CisJCQkuc2V0a2V5ID0gYWVhZF9hdXRoZW5jX3NldGtleSwKKwkJCS5zZXRhdXRoc2l6ZSA9IGFlYWRfYXV0aGVuY19zZXRhdXRoc2l6ZSwKKwkJCS5lbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2VuY3J5cHQsCisJCQkuZGVjcnlwdCA9IGFlYWRfYXV0aGVuY19kZWNyeXB0LAorCQkJLmdpdmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCwKKwkJCS5nZW5pdiA9ICI8YnVpbHQtaW4+IiwKKwkJCS5pdnNpemUgPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplID0gU0hBMjU2X0RJR0VTVF9TSVpFLAorCQkJfSwKKwkJLmRlc2NfaGRyX3RlbXBsYXRlID0gREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AgfAorCQkJICAgICAgICAgICAgIERFU0NfSERSX1NFTDBfREVVIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0RFVV8zREVTIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfU0VMMV9NREVVQSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfSU5JVCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfUEFEIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9TSEEyNTZfSE1BQywKKwl9LAorCXsKKwkJLm5hbWUgPSAiYXV0aGVuYyhobWFjKG1kNSksY2JjKGFlcykpIiwKKwkJLmRyaXZlcl9uYW1lID0gImF1dGhlbmMtaG1hYy1tZDUtY2JjLWFlcy10YWxpdG9zIiwKKwkJLmJsb2Nrc2l6ZSA9IEFFU19CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IEFFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplID0gTUQ1X0RJR0VTVF9TSVpFLAorCQkJfSwKKwkJLmRlc2NfaGRyX3RlbXBsYXRlID0gREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AgfAorCQkJICAgICAgICAgICAgIERFU0NfSERSX1NFTDBfQUVTVSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0FFU1VfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfU0VMMV9NREVVQSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfSU5JVCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfUEFEIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9NRDVfSE1BQywKKwl9LAorCXsKKwkJLm5hbWUgPSAiYXV0aGVuYyhobWFjKG1kNSksY2JjKGRlczNfZWRlKSkiLAorCQkuZHJpdmVyX25hbWUgPSAiYXV0aGVuYy1obWFjLW1kNS1jYmMtM2Rlcy10YWxpdG9zIiwKKwkJLmJsb2Nrc2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5hZWFkID0geworCQkJLnNldGtleSA9IGFlYWRfYXV0aGVuY19zZXRrZXksCisJCQkuc2V0YXV0aHNpemUgPSBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUsCisJCQkuZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19lbmNyeXB0LAorCQkJLmRlY3J5cHQgPSBhZWFkX2F1dGhlbmNfZGVjcnlwdCwKKwkJCS5naXZlbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQsCisJCQkuZ2VuaXYgPSAiPGJ1aWx0LWluPiIsCisJCQkuaXZzaXplID0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZSA9IE1ENV9ESUdFU1RfU0laRSwKKwkJCX0sCisJCS5kZXNjX2hkcl90ZW1wbGF0ZSA9IERFU0NfSERSX1RZUEVfSVBTRUNfRVNQIHwKKwkJCSAgICAgICAgICAgICBERVNDX0hEUl9TRUwwX0RFVSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0RFVV9DQkMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9ERVVfM0RFUyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX1NFTDFfTURFVUEgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1BBRCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfTUQ1X0hNQUMsCisJfQorfTsKKworc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyB7CisJc3RydWN0IGxpc3RfaGVhZCBlbnRyeTsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJX19iZTMyIGRlc2NfaGRyX3RlbXBsYXRlOworCXN0cnVjdCBjcnlwdG9fYWxnIGNyeXB0b19hbGc7Cit9OworCitzdGF0aWMgaW50IHRhbGl0b3NfY3JhX2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnID0gdGZtLT5fX2NydF9hbGc7CisJc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyAqdGFsaXRvc19hbGcgPQorCQkgY29udGFpbmVyX29mKGFsZywgc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZywgY3J5cHRvX2FsZyk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCisJLyogdXBkYXRlIGNvbnRleHQgd2l0aCBwdHIgdG8gZGV2ICovCisJY3R4LT5kZXYgPSB0YWxpdG9zX2FsZy0+ZGV2OworCS8qIGNvcHkgZGVzY3JpcHRvciBoZWFkZXIgdGVtcGxhdGUgdmFsdWUgKi8KKwljdHgtPmRlc2NfaGRyX3RlbXBsYXRlID0gdGFsaXRvc19hbGctPmRlc2NfaGRyX3RlbXBsYXRlOworCisJLyogcmFuZG9tIGZpcnN0IElWICovCisJZ2V0X3JhbmRvbV9ieXRlcyhjdHgtPml2LCBUQUxJVE9TX01BWF9JVl9MRU5HVEgpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBnaXZlbiB0aGUgYWxnJ3MgZGVzY3JpcHRvciBoZWFkZXIgdGVtcGxhdGUsIGRldGVybWluZSB3aGV0aGVyIGRlc2NyaXB0b3IKKyAqIHR5cGUgYW5kIHByaW1hcnkvc2Vjb25kYXJ5IGV4ZWN1dGlvbiB1bml0cyByZXF1aXJlZCBtYXRjaCB0aGUgaHcKKyAqIGNhcGFiaWxpdGllcyBkZXNjcmlwdGlvbiBwcm92aWRlZCBpbiB0aGUgZGV2aWNlIHRyZWUgbm9kZS4KKyAqLworc3RhdGljIGludCBod19zdXBwb3J0cyhzdHJ1Y3QgZGV2aWNlICpkZXYsIF9fYmUzMiBkZXNjX2hkcl90ZW1wbGF0ZSkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJaW50IHJldDsKKworCXJldCA9ICgxIDw8IERFU0NfVFlQRShkZXNjX2hkcl90ZW1wbGF0ZSkgJiBwcml2LT5kZXNjX3R5cGVzKSAmJgorCSAgICAgICgxIDw8IFBSSU1BUllfRVUoZGVzY19oZHJfdGVtcGxhdGUpICYgcHJpdi0+ZXhlY191bml0cyk7CisKKwlpZiAoU0VDT05EQVJZX0VVKGRlc2NfaGRyX3RlbXBsYXRlKSkKKwkJcmV0ID0gcmV0ICYmICgxIDw8IFNFQ09OREFSWV9FVShkZXNjX2hkcl90ZW1wbGF0ZSkKKwkJICAgICAgICAgICAgICAmIHByaXYtPmV4ZWNfdW5pdHMpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBfX2RldmV4aXQgdGFsaXRvc19yZW1vdmUoc3RydWN0IG9mX2RldmljZSAqb2ZkZXYpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gJm9mZGV2LT5kZXY7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcgKnRfYWxnLCAqbjsKKwlpbnQgaTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh0X2FsZywgbiwgJnByaXYtPmFsZ19saXN0LCBlbnRyeSkgeworCQljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJnRfYWxnLT5jcnlwdG9fYWxnKTsKKwkJbGlzdF9kZWwoJnRfYWxnLT5lbnRyeSk7CisJCWtmcmVlKHRfYWxnKTsKKwl9CisKKwlpZiAoaHdfc3VwcG9ydHMoZGV2LCBERVNDX0hEUl9TRUwwX1JORykpCisJCXRhbGl0b3NfdW5yZWdpc3Rlcl9ybmcoZGV2KTsKKworCWtmcmVlKHByaXYtPnRhaWwpOworCWtmcmVlKHByaXYtPmhlYWQpOworCisJaWYgKHByaXYtPmZpZm8pCisJCWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1fY2hhbm5lbHM7IGkrKykKKwkJCWtmcmVlKHByaXYtPmZpZm9baV0pOworCisJa2ZyZWUocHJpdi0+Zmlmbyk7CisJa2ZyZWUocHJpdi0+aGVhZF9sb2NrKTsKKwlrZnJlZShwcml2LT50YWlsX2xvY2spOworCisJaWYgKHByaXYtPmlycSAhPSBOT19JUlEpIHsKKwkJZnJlZV9pcnEocHJpdi0+aXJxLCBkZXYpOworCQlpcnFfZGlzcG9zZV9tYXBwaW5nKHByaXYtPmlycSk7CisJfQorCisJdGFza2xldF9raWxsKCZwcml2LT5kb25lX3Rhc2spOworCXRhc2tsZXRfa2lsbCgmcHJpdi0+ZXJyb3JfdGFzayk7CisKKwlpb3VubWFwKHByaXYtPnJlZyk7CisKKwlkZXZfc2V0X2RydmRhdGEoZGV2LCBOVUxMKTsKKworCWtmcmVlKHByaXYpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnICp0YWxpdG9zX2FsZ19hbGxvYyhzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJCQkgICAgc3RydWN0IHRhbGl0b3NfYWxnX3RlbXBsYXRlCisJCQkJCQkgICAgICAgICAgICp0ZW1wbGF0ZSkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnICp0X2FsZzsKKwlzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnOworCisJdF9hbGcgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCF0X2FsZykKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwlhbGcgPSAmdF9hbGctPmNyeXB0b19hbGc7CisKKwlzbnByaW50ZihhbGctPmNyYV9uYW1lLCBDUllQVE9fTUFYX0FMR19OQU1FLCAiJXMiLCB0ZW1wbGF0ZS0+bmFtZSk7CisJc25wcmludGYoYWxnLT5jcmFfZHJpdmVyX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsICIlcyIsCisJCSB0ZW1wbGF0ZS0+ZHJpdmVyX25hbWUpOworCWFsZy0+Y3JhX21vZHVsZSA9IFRISVNfTU9EVUxFOworCWFsZy0+Y3JhX2luaXQgPSB0YWxpdG9zX2NyYV9pbml0OworCWFsZy0+Y3JhX3ByaW9yaXR5ID0gVEFMSVRPU19DUkFfUFJJT1JJVFk7CisJYWxnLT5jcmFfZmxhZ3MgPSBDUllQVE9fQUxHX1RZUEVfQUVBRCB8IENSWVBUT19BTEdfQVNZTkM7CisJYWxnLT5jcmFfYmxvY2tzaXplID0gdGVtcGxhdGUtPmJsb2Nrc2l6ZTsKKwlhbGctPmNyYV9hbGlnbm1hc2sgPSAwOworCWFsZy0+Y3JhX3R5cGUgPSAmY3J5cHRvX2FlYWRfdHlwZTsKKwlhbGctPmNyYV9jdHhzaXplID0gc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX2N0eCk7CisJYWxnLT5jcmFfdS5hZWFkID0gdGVtcGxhdGUtPmFlYWQ7CisKKwl0X2FsZy0+ZGVzY19oZHJfdGVtcGxhdGUgPSB0ZW1wbGF0ZS0+ZGVzY19oZHJfdGVtcGxhdGU7CisJdF9hbGctPmRldiA9IGRldjsKKworCXJldHVybiB0X2FsZzsKK30KKworc3RhdGljIGludCB0YWxpdG9zX3Byb2JlKHN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2LAorCQkJIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm1hdGNoKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZvZmRldi0+ZGV2OworCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBvZmRldi0+bm9kZTsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2OworCWNvbnN0IHVuc2lnbmVkIGludCAqcHJvcDsKKwlpbnQgaSwgZXJyOworCisJcHJpdiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX3ByaXZhdGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXByaXYpCisJCXJldHVybiAtRU5PTUVNOworCisJZGV2X3NldF9kcnZkYXRhKGRldiwgcHJpdik7CisKKwlwcml2LT5vZmRldiA9IG9mZGV2OworCisJdGFza2xldF9pbml0KCZwcml2LT5kb25lX3Rhc2ssIHRhbGl0b3NfZG9uZSwgKHVuc2lnbmVkIGxvbmcpZGV2KTsKKwl0YXNrbGV0X2luaXQoJnByaXYtPmVycm9yX3Rhc2ssIHRhbGl0b3NfZXJyb3IsICh1bnNpZ25lZCBsb25nKWRldik7CisKKwlwcml2LT5pcnEgPSBpcnFfb2ZfcGFyc2VfYW5kX21hcChucCwgMCk7CisKKwlpZiAocHJpdi0+aXJxID09IE5PX0lSUSkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBtYXAgaXJxXG4iKTsKKwkJZXJyID0gLUVJTlZBTDsKKwkJZ290byBlcnJfb3V0OworCX0KKworCS8qIGdldCB0aGUgaXJxIGxpbmUgKi8KKwllcnIgPSByZXF1ZXN0X2lycShwcml2LT5pcnEsIHRhbGl0b3NfaW50ZXJydXB0LCAwLAorCQkJICBkZXZfZHJpdmVyX3N0cmluZyhkZXYpLCBkZXYpOworCWlmIChlcnIpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVxdWVzdCBpcnEgJWRcbiIsIHByaXYtPmlycSk7CisJCWlycV9kaXNwb3NlX21hcHBpbmcocHJpdi0+aXJxKTsKKwkJcHJpdi0+aXJxID0gTk9fSVJROworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJcHJpdi0+cmVnID0gb2ZfaW9tYXAobnAsIDApOworCWlmICghcHJpdi0+cmVnKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIG9mX2lvbWFwXG4iKTsKKwkJZXJyID0gLUVOT01FTTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCS8qIGdldCBTRUMgdmVyc2lvbiBjYXBhYmlsaXRpZXMgZnJvbSBkZXZpY2UgdHJlZSAqLworCXByb3AgPSBvZl9nZXRfcHJvcGVydHkobnAsICJmc2wsbnVtLWNoYW5uZWxzIiwgTlVMTCk7CisJaWYgKHByb3ApCisJCXByaXYtPm51bV9jaGFubmVscyA9ICpwcm9wOworCisJcHJvcCA9IG9mX2dldF9wcm9wZXJ0eShucCwgImZzbCxjaGFubmVsLWZpZm8tbGVuIiwgTlVMTCk7CisJaWYgKHByb3ApCisJCXByaXYtPmNoZmlmb19sZW4gPSAqcHJvcDsKKworCXByb3AgPSBvZl9nZXRfcHJvcGVydHkobnAsICJmc2wsZXhlYy11bml0cy1tYXNrIiwgTlVMTCk7CisJaWYgKHByb3ApCisJCXByaXYtPmV4ZWNfdW5pdHMgPSAqcHJvcDsKKworCXByb3AgPSBvZl9nZXRfcHJvcGVydHkobnAsICJmc2wsZGVzY3JpcHRvci10eXBlcy1tYXNrIiwgTlVMTCk7CisJaWYgKHByb3ApCisJCXByaXYtPmRlc2NfdHlwZXMgPSAqcHJvcDsKKworCWlmICghaXNfcG93ZXJfb2ZfMihwcml2LT5udW1fY2hhbm5lbHMpIHx8ICFwcml2LT5jaGZpZm9fbGVuIHx8CisJICAgICFwcml2LT5leGVjX3VuaXRzIHx8ICFwcml2LT5kZXNjX3R5cGVzKSB7CisJCWRldl9lcnIoZGV2LCAiaW52YWxpZCBwcm9wZXJ0eSBkYXRhIGluIGRldmljZSB0cmVlIG5vZGVcbiIpOworCQllcnIgPSAtRUlOVkFMOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJb2Zfbm9kZV9wdXQobnApOworCW5wID0gTlVMTDsKKworCXByaXYtPmhlYWRfbG9jayA9IGttYWxsb2Moc2l6ZW9mKHNwaW5sb2NrX3QpICogcHJpdi0+bnVtX2NoYW5uZWxzLAorCQkJCSAgR0ZQX0tFUk5FTCk7CisJcHJpdi0+dGFpbF9sb2NrID0ga21hbGxvYyhzaXplb2Yoc3BpbmxvY2tfdCkgKiBwcml2LT5udW1fY2hhbm5lbHMsCisJCQkJICBHRlBfS0VSTkVMKTsKKwlpZiAoIXByaXYtPmhlYWRfbG9jayB8fCAhcHJpdi0+dGFpbF9sb2NrKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGFsbG9jYXRlIGZpZm8gbG9ja3NcbiIpOworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJZm9yIChpID0gMDsgaSA8IHByaXYtPm51bV9jaGFubmVsczsgaSsrKSB7CisJCXNwaW5fbG9ja19pbml0KCZwcml2LT5oZWFkX2xvY2tbaV0pOworCQlzcGluX2xvY2tfaW5pdCgmcHJpdi0+dGFpbF9sb2NrW2ldKTsKKwl9CisKKwlwcml2LT5maWZvID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IHRhbGl0b3NfcmVxdWVzdCAqKSAqCisJCQkgICAgIHByaXYtPm51bV9jaGFubmVscywgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2LT5maWZvKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGFsbG9jYXRlIHJlcXVlc3QgZmlmb1xuIik7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwlwcml2LT5maWZvX2xlbiA9IHJvdW5kdXBfcG93X29mX3R3byhwcml2LT5jaGZpZm9fbGVuKTsKKworCWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1fY2hhbm5lbHM7IGkrKykgeworCQlwcml2LT5maWZvW2ldID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHRhbGl0b3NfcmVxdWVzdCkgKgorCQkJCQlwcml2LT5maWZvX2xlbiwgR0ZQX0tFUk5FTCk7CisJCWlmICghcHJpdi0+Zmlmb1tpXSkgeworCQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVxdWVzdCBmaWZvICVkXG4iLCBpKTsKKwkJCWVyciA9IC1FTk9NRU07CisJCQlnb3RvIGVycl9vdXQ7CisJCX0KKwl9CisKKwlwcml2LT5oZWFkID0ga3phbGxvYyhzaXplb2YoaW50KSAqIHByaXYtPm51bV9jaGFubmVscywgR0ZQX0tFUk5FTCk7CisJcHJpdi0+dGFpbCA9IGt6YWxsb2Moc2l6ZW9mKGludCkgKiBwcml2LT5udW1fY2hhbm5lbHMsIEdGUF9LRVJORUwpOworCWlmICghcHJpdi0+aGVhZCB8fCAhcHJpdi0+dGFpbCkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSByZXF1ZXN0IGluZGV4IHNwYWNlXG4iKTsKKwkJZXJyID0gLUVOT01FTTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCS8qIHJlc2V0IGFuZCBpbml0aWFsaXplIHRoZSBoL3cgKi8KKwllcnIgPSBpbml0X2RldmljZShkZXYpOworCWlmIChlcnIpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBkZXZpY2VcbiIpOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJLyogcmVnaXN0ZXIgdGhlIFJORywgaWYgYXZhaWxhYmxlICovCisJaWYgKGh3X3N1cHBvcnRzKGRldiwgREVTQ19IRFJfU0VMMF9STkcpKSB7CisJCWVyciA9IHRhbGl0b3NfcmVnaXN0ZXJfcm5nKGRldik7CisJCWlmIChlcnIpIHsKKwkJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIGh3cm5nOiAlZFxuIiwgZXJyKTsKKwkJCWdvdG8gZXJyX291dDsKKwkJfSBlbHNlCisJCQlkZXZfaW5mbyhkZXYsICJod3JuZ1xuIik7CisJfQorCisJLyogcmVnaXN0ZXIgY3J5cHRvIGFsZ29yaXRobXMgdGhlIGRldmljZSBzdXBwb3J0cyAqLworCUlOSVRfTElTVF9IRUFEKCZwcml2LT5hbGdfbGlzdCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShkcml2ZXJfYWxncyk7IGkrKykgeworCQlpZiAoaHdfc3VwcG9ydHMoZGV2LCBkcml2ZXJfYWxnc1tpXS5kZXNjX2hkcl90ZW1wbGF0ZSkpIHsKKwkJCXN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcgKnRfYWxnOworCisJCQl0X2FsZyA9IHRhbGl0b3NfYWxnX2FsbG9jKGRldiwgJmRyaXZlcl9hbGdzW2ldKTsKKwkJCWlmIChJU19FUlIodF9hbGcpKSB7CisJCQkJZXJyID0gUFRSX0VSUih0X2FsZyk7CisJCQkJZ290byBlcnJfb3V0OworCQkJfQorCisJCQllcnIgPSBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZ0X2FsZy0+Y3J5cHRvX2FsZyk7CisJCQlpZiAoZXJyKSB7CisJCQkJZGV2X2VycihkZXYsICIlcyBhbGcgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIiwKKwkJCQkJdF9hbGctPmNyeXB0b19hbGcuY3JhX2RyaXZlcl9uYW1lKTsKKwkJCQlrZnJlZSh0X2FsZyk7CisJCQl9IGVsc2UgeworCQkJCWxpc3RfYWRkX3RhaWwoJnRfYWxnLT5lbnRyeSwgJnByaXYtPmFsZ19saXN0KTsKKwkJCQlkZXZfaW5mbyhkZXYsICIlc1xuIiwKKwkJCQkJIHRfYWxnLT5jcnlwdG9fYWxnLmNyYV9kcml2ZXJfbmFtZSk7CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKKworZXJyX291dDoKKwl0YWxpdG9zX3JlbW92ZShvZmRldik7CisJaWYgKG5wKQorCQlvZl9ub2RlX3B1dChucCk7CisKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgc3RydWN0IG9mX2RldmljZV9pZCB0YWxpdG9zX21hdGNoW10gPSB7CisJeworCQkuY29tcGF0aWJsZSA9ICJmc2wsc2VjMi4wIiwKKwl9LAorCXt9LAorfTsKK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHRhbGl0b3NfbWF0Y2gpOworCitzdGF0aWMgc3RydWN0IG9mX3BsYXRmb3JtX2RyaXZlciB0YWxpdG9zX2RyaXZlciA9IHsKKwkubmFtZSA9ICJ0YWxpdG9zIiwKKwkubWF0Y2hfdGFibGUgPSB0YWxpdG9zX21hdGNoLAorCS5wcm9iZSA9IHRhbGl0b3NfcHJvYmUsCisJLnJlbW92ZSA9IF9fZGV2ZXhpdF9wKHRhbGl0b3NfcmVtb3ZlKSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHRhbGl0b3NfaW5pdCh2b2lkKQoreworCXJldHVybiBvZl9yZWdpc3Rlcl9wbGF0Zm9ybV9kcml2ZXIoJnRhbGl0b3NfZHJpdmVyKTsKK30KK21vZHVsZV9pbml0KHRhbGl0b3NfaW5pdCk7CisKK3N0YXRpYyB2b2lkIF9fZXhpdCB0YWxpdG9zX2V4aXQodm9pZCkKK3sKKwlvZl91bnJlZ2lzdGVyX3BsYXRmb3JtX2RyaXZlcigmdGFsaXRvc19kcml2ZXIpOworfQorbW9kdWxlX2V4aXQodGFsaXRvc19leGl0KTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0FVVEhPUigiS2ltIFBoaWxsaXBzIDxraW0ucGhpbGxpcHNAZnJlZXNjYWxlLmNvbT4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiRnJlZXNjYWxlIGludGVncmF0ZWQgc2VjdXJpdHkgZW5naW5lIChTRUMpIGRyaXZlciIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vdGFsaXRvcy5oIGIvZHJpdmVycy9jcnlwdG8vdGFsaXRvcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0OGE0MDUKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2NyeXB0by90YWxpdG9zLmgKQEAgLTAsMCArMSwxOTkgQEAKKy8qCisgKiBGcmVlc2NhbGUgU0VDICh0YWxpdG9zKSBkZXZpY2UgcmVnaXN0ZXIgYW5kIGRlc2NyaXB0b3IgaGVhZGVyIGRlZmluZXMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDYtMjAwOCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqLworCisvKgorICogVEFMSVRPU194eHhfTE8gYWRkcmVzc2VzIHBvaW50IHRvIHRoZSBsb3cgZGF0YSBiaXRzICgzMi02Mykgb2YgdGhlIHJlZ2lzdGVyCisgKi8KKworLyogZ2xvYmFsIHJlZ2lzdGVyIG9mZnNldCBhZGRyZXNzZXMgKi8KKyNkZWZpbmUgVEFMSVRPU19NQ1IJCQkweDEwMzAgIC8qIG1hc3RlciBjb250cm9sIHJlZ2lzdGVyICovCisjZGVmaW5lIFRBTElUT1NfTUNSX0xPCQkJMHgxMDM4CisjZGVmaW5lICAgVEFMSVRPU19NQ1JfU1dSCQkweDEgICAgIC8qIHMvdyByZXNldCAqLworI2RlZmluZSBUQUxJVE9TX0lNUgkJCTB4MTAwOCAgLyogaW50ZXJydXB0IG1hc2sgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0lNUl9JTklUCQkweDEwZmZmIC8qIGVuYWJsZSBjaGFubmVsIElSUXMgKi8KKyNkZWZpbmUgVEFMSVRPU19JTVJfTE8JCQkweDEwMEMKKyNkZWZpbmUgICBUQUxJVE9TX0lNUl9MT19JTklUCQkweDIwMDAwIC8qIGFsbG93IFJOR1UgZXJyb3IgSVJRcyAqLworI2RlZmluZSBUQUxJVE9TX0lTUgkJCTB4MTAxMCAgLyogaW50ZXJydXB0IHN0YXR1cyByZWdpc3RlciAqLworI2RlZmluZSAgIFRBTElUT1NfSVNSX0NIRVJSCQkweGFhICAgIC8qIGNoYW5uZWwgZXJyb3JzIG1hc2sgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0lTUl9DSERPTkUJCTB4NTUgICAgLyogY2hhbm5lbCBkb25lIG1hc2sgKi8KKyNkZWZpbmUgVEFMSVRPU19JU1JfTE8JCQkweDEwMTQKKyNkZWZpbmUgVEFMSVRPU19JQ1IJCQkweDEwMTggIC8qIGludGVycnVwdCBjbGVhciByZWdpc3RlciAqLworI2RlZmluZSBUQUxJVE9TX0lDUl9MTwkJCTB4MTAxQworCisvKiBjaGFubmVsIHJlZ2lzdGVyIGFkZHJlc3Mgc3RyaWRlICovCisjZGVmaW5lIFRBTElUT1NfQ0hfU1RSSURFCQkweDEwMAorCisvKiBjaGFubmVsIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgICovCisjZGVmaW5lIFRBTElUT1NfQ0NDUihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTA4KQorI2RlZmluZSAgIFRBTElUT1NfQ0NDUl9DT05UCQkweDIgICAgLyogY2hhbm5lbCBjb250aW51ZSAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NDUl9SRVNFVAkJMHgxICAgIC8qIGNoYW5uZWwgcmVzZXQgKi8KKyNkZWZpbmUgVEFMSVRPU19DQ0NSX0xPKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExMGMpCisjZGVmaW5lICAgVEFMSVRPU19DQ0NSX0xPX0NEV0UJCTB4MTAgICAvKiBjaGFuLiBkb25lIHdyaXRlYmFjayBlbmFiLiAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NDUl9MT19OVAkJMHg0ICAgIC8qIG5vdGlmaWNhdGlvbiB0eXBlICovCisjZGVmaW5lICAgVEFMSVRPU19DQ0NSX0xPX0NESUUJCTB4MiAgICAvKiBjaGFubmVsIGRvbmUgSVJRIGVuYWJsZSAqLworCisvKiBDQ1BTUjogY2hhbm5lbCBwb2ludGVyIHN0YXR1cyByZWdpc3RlciAqLworI2RlZmluZSBUQUxJVE9TX0NDUFNSKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExMTApCisjZGVmaW5lIFRBTElUT1NfQ0NQU1JfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTExNCkKKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX0RPRgkJMHg4MDAwIC8qIGRvdWJsZSBGRiB3cml0ZSBvZmxvdyBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fU09GCQkweDQwMDAgLyogc2luZ2xlIEZGIHdyaXRlIG9mbG93IGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19NRFRFCQkweDIwMDAgLyogbWFzdGVyIGRhdGEgdHJhbnNmZXIgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX1NHRExaCTB4MTAwMCAvKiBzL2cgZGF0YSBsZW4gemVybyBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fRlBaCQkweDA4MDAgLyogZmV0Y2ggcHRyIHplcm8gZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX0lESAkJMHgwNDAwIC8qIGlsbGVnYWwgZGVzYyBoZHIgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX0lFVQkJMHgwMjAwIC8qIGludmFsaWQgRVUgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX0VVCQkweDAxMDAgLyogRVUgZXJyb3IgZGV0ZWN0ZWQgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX0dCCQkweDAwODAgLyogZ2F0aGVyIGJvdW5kYXJ5IGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19HUkwJCTB4MDA0MCAvKiBnYXRoZXIgcmV0dXJuL2xlbmd0aCBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fU0IJCTB4MDAyMCAvKiBzY2F0dGVyIGJvdW5kYXJ5IGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19TUkwJCTB4MDAxMCAvKiBzY2F0dGVyIHJldHVybi9sZW5ndGggZXJyb3IgKi8KKworLyogY2hhbm5lbCBmZXRjaCBmaWZvIHJlZ2lzdGVyICovCisjZGVmaW5lIFRBTElUT1NfRkYoY2gpCQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExNDgpCisjZGVmaW5lIFRBTElUT1NfRkZfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTE0YykKKworLyogY3VycmVudCBkZXNjcmlwdG9yIHBvaW50ZXIgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19DRFBSKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExNDApCisjZGVmaW5lIFRBTElUT1NfQ0RQUl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTQ0KQorCisvKiBkZXNjcmlwdG9yIGJ1ZmZlciByZWdpc3RlciAqLworI2RlZmluZSBUQUxJVE9TX0RFU0NCVUYoY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTE4MCkKKyNkZWZpbmUgVEFMSVRPU19ERVNDQlVGX0xPKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExODQpCisKKy8qIGdhdGhlciBsaW5rIHRhYmxlICovCisjZGVmaW5lIFRBTElUT1NfR0FUSEVSKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExYzApCisjZGVmaW5lIFRBTElUT1NfR0FUSEVSX0xPKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExYzQpCisKKy8qIHNjYXR0ZXIgbGluayB0YWJsZSAqLworI2RlZmluZSBUQUxJVE9TX1NDQVRURVIoY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTFlMCkKKyNkZWZpbmUgVEFMSVRPU19TQ0FUVEVSX0xPKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExZTQpCisKKy8qIGV4ZWN1dGlvbiB1bml0IGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXJzICovCisjZGVmaW5lIFRBTElUT1NfREVVSVNSCQkJMHgyMDMwIC8qIERFUyB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfREVVSVNSX0xPCQkweDIwMzQKKyNkZWZpbmUgVEFMSVRPU19BRVNVSVNSCQkJMHg0MDMwIC8qIEFFUyB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfQUVTVUlTUl9MTwkJMHg0MDM0CisjZGVmaW5lIFRBTElUT1NfTURFVUlTUgkJCTB4NjAzMCAvKiBtZXNzYWdlIGRpZ2VzdCB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfTURFVUlTUl9MTwkJMHg2MDM0CisjZGVmaW5lIFRBTElUT1NfQUZFVUlTUgkJCTB4ODAzMCAvKiBhcmM0IHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19BRkVVSVNSX0xPCQkweDgwMzQKKyNkZWZpbmUgVEFMSVRPU19STkdVSVNSCQkJMHhhMDMwIC8qIHJhbmRvbSBudW1iZXIgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VJU1JfTE8JCTB4YTAzNAorI2RlZmluZSBUQUxJVE9TX1JOR1VTUgkJCTB4YTAyOCAvKiBybmcgc3RhdHVzICovCisjZGVmaW5lIFRBTElUT1NfUk5HVVNSX0xPCQkweGEwMmMKKyNkZWZpbmUgICBUQUxJVE9TX1JOR1VTUl9MT19SRAkJMHgxCS8qIHJlc2V0IGRvbmUgKi8KKyNkZWZpbmUgICBUQUxJVE9TX1JOR1VTUl9MT19PRkwJCTB4ZmYwMDAwLyogb3V0cHV0IEZJRk8gbGVuZ3RoICovCisjZGVmaW5lIFRBTElUT1NfUk5HVURTUgkJCTB4YTAxMAkvKiBkYXRhIHNpemUgKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVRFNSX0xPCQkweGEwMTQKKyNkZWZpbmUgVEFMSVRPU19STkdVX0ZJRk8JCTB4YTgwMAkvKiBvdXRwdXQgRklGTyAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VfRklGT19MTwkJMHhhODA0CS8qIG91dHB1dCBGSUZPICovCisjZGVmaW5lIFRBTElUT1NfUk5HVVJDUgkJCTB4YTAxOAkvKiByZXNldCBjb250cm9sICovCisjZGVmaW5lIFRBTElUT1NfUk5HVVJDUl9MTwkJMHhhMDFjCisjZGVmaW5lICAgVEFMSVRPU19STkdVUkNSX0xPX1NSCQkweDEJLyogc29mdHdhcmUgcmVzZXQgKi8KKyNkZWZpbmUgVEFMSVRPU19QS0VVSVNSCQkJMHhjMDMwIC8qIHB1YmxpYyBrZXkgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX1BLRVVJU1JfTE8JCTB4YzAzNAorI2RlZmluZSBUQUxJVE9TX0tFVUlTUgkJCTB4ZTAzMCAvKiBrYXN1bWkgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX0tFVUlTUl9MTwkJMHhlMDM0CisjZGVmaW5lIFRBTElUT1NfQ1JDVUlTUgkJCTB4ZjAzMCAvKiBjeWNsaWMgcmVkdW5kYW5jeSBjaGVjayB1bml0Ki8KKyNkZWZpbmUgVEFMSVRPU19DUkNVSVNSX0xPCQkweGYwMzQKKworLyoKKyAqIHRhbGl0b3MgZGVzY3JpcHRvciBoZWFkZXIgKGhkcikgYml0cworICovCisKKy8qIHdyaXR0ZW4gYmFjayB3aGVuIGRvbmUgKi8KKyNkZWZpbmUgREVTQ19IRFJfRE9ORQkJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHhmZjAwMDAwMCkKKworLyogcHJpbWFyeSBleGVjdXRpb24gdW5pdCBzZWxlY3QgKi8KKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9NQVNLCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4ZjAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfQUZFVQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDEwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX0RFVQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDIwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX01ERVVBCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MzAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfTURFVUIJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHhiMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9STkcJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHg0MDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9QS0VVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4NTAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfQUVTVQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDYwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX0tFVQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDcwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX0NSQ1UJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHg4MDAwMDAwMCkKKworLyogcHJpbWFyeSBleGVjdXRpb24gdW5pdCBtb2RlIChNT0RFMCkgYW5kIGRlcml2YXRpdmVzICovCisjZGVmaW5lCURFU0NfSERSX01PREUwX0VOQ1JZUFQJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDEwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfQUVTVV9DQkMJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDIwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfREVVX0NCQwkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwNDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9ERVVfM0RFUwkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMjAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX0lOSVQJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAxMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX0hNQUMJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwODAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX1BBRAkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwNDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX01ENQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMjAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX1NIQTI1NglfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAxMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfU0hBMQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfTUQ1X0hNQUMJKERFU0NfSERSX01PREUwX01ERVVfTUQ1IHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTBfTURFVV9ITUFDKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX1NIQTI1Nl9ITUFDCShERVNDX0hEUl9NT0RFMF9NREVVX1NIQTI1NiB8IFwKKwkJCQkJIERFU0NfSERSX01PREUwX01ERVVfSE1BQykKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9TSEExX0hNQUMJKERFU0NfSERSX01PREUwX01ERVVfU0hBMSB8IFwKKwkJCQkJIERFU0NfSERSX01PREUwX01ERVVfSE1BQykKKworLyogc2Vjb25kYXJ5IGV4ZWN1dGlvbiB1bml0IHNlbGVjdCAoU0VMMSkgKi8KKyNkZWZpbmUJREVTQ19IRFJfU0VMMV9NQVNLCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwZjAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDFfTURFVUEJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAzMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMV9NREVVQgkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMGIwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwxX0NSQ1UJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDA4MDAwMCkKKworLyogc2Vjb25kYXJ5IGV4ZWN1dGlvbiB1bml0IG1vZGUgKE1PREUxKSBhbmQgZGVyaXZhdGl2ZXMgKi8KKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9JTklUCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMTAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9ITUFDCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDgwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9QQUQJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDQwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9NRDUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDIwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9TSEEyNTYJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwMTAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX1NIQTEJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX01ENV9ITUFDCShERVNDX0hEUl9NT0RFMV9NREVVX01ENSB8IFwKKwkJCQkJIERFU0NfSERSX01PREUxX01ERVVfSE1BQykKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9TSEEyNTZfSE1BQwkoREVTQ19IRFJfTU9ERTFfTURFVV9TSEEyNTYgfCBcCisJCQkJCSBERVNDX0hEUl9NT0RFMV9NREVVX0hNQUMpCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfU0hBMV9ITUFDCShERVNDX0hEUl9NT0RFMV9NREVVX1NIQTEgfCBcCisJCQkJCSBERVNDX0hEUl9NT0RFMV9NREVVX0hNQUMpCisKKy8qIGRpcmVjdGlvbiBvZiBvdmVyYWxsIGRhdGEgZmxvdyAoRElSKSAqLworI2RlZmluZQlERVNDX0hEUl9ESVJfSU5CT1VORAkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwMDAyKQorCisvKiByZXF1ZXN0IGRvbmUgbm90aWZpY2F0aW9uIChETikgKi8KKyNkZWZpbmUJREVTQ19IRFJfRE9ORV9OT1RJRlkJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDAwMSkKKworLyogZGVzY3JpcHRvciB0eXBlcyAqLworI2RlZmluZSBERVNDX0hEUl9UWVBFX0FFU1VfQ1RSX05PTlNOT09QCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDAgPDwgMykKKyNkZWZpbmUgREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AJCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDEgPDwgMykKKyNkZWZpbmUgREVTQ19IRFJfVFlQRV9DT01NT05fTk9OU05PT1BfTk9fQUZFVQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDIgPDwgMykKKyNkZWZpbmUgREVTQ19IRFJfVFlQRV9ITUFDX1NOT09QX05PX0FGRVUJX19jb25zdGFudF9jcHVfdG9fYmUzMig0IDw8IDMpCisKKy8qIGxpbmsgdGFibGUgZXh0ZW50IGZpZWxkIGJpdHMgKi8KKyNkZWZpbmUgREVTQ19QVFJfTE5LVEJMX0pVTVAJCQkweDgwCisjZGVmaW5lIERFU0NfUFRSX0xOS1RCTF9SRVRVUk4JCQkweDAyCisjZGVmaW5lIERFU0NfUFRSX0xOS1RCTF9ORVhUCQkJMHgwMQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy1jYXJkLmMgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWNhcmQuYwppbmRleCA1YjRjMGQ5Li5kYTg3M2Q3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWNhcmQuYworKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWNhcmQuYwpAQCAtMTYsMTIgKzE2LDE1IEBACiAgKiBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgogICovCiAKLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9jcmMtaXR1LXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgva3JlZi5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+Ci0jaW5jbHVkZSA8bGludXgvY3JjLWl0dS10Lmg+CisKICNpbmNsdWRlICJmdy10cmFuc2FjdGlvbi5oIgogI2luY2x1ZGUgImZ3LXRvcG9sb2d5LmgiCiAjaW5jbHVkZSAiZnctZGV2aWNlLmgiCkBAIC0zOTYsMTQgKzM5OSwxNiBAQAogewogCXN0YXRpYyBhdG9taWNfdCBpbmRleCA9IEFUT01JQ19JTklUKC0xKTsKIAotCWF0b21pY19zZXQoJmNhcmQtPmRldmljZV9jb3VudCwgMCk7CiAJY2FyZC0+aW5kZXggPSBhdG9taWNfaW5jX3JldHVybigmaW5kZXgpOwogCWNhcmQtPmRyaXZlciA9IGRyaXZlcjsKIAljYXJkLT5kZXZpY2UgPSBkZXZpY2U7CiAJY2FyZC0+Y3VycmVudF90bGFiZWwgPSAwOwogCWNhcmQtPnRsYWJlbF9tYXNrID0gMDsKIAljYXJkLT5jb2xvciA9IDA7CisJY2FyZC0+YnJvYWRjYXN0X2NoYW5uZWwgPSBCUk9BRENBU1RfQ0hBTk5FTF9JTklUSUFMOwogCisJa3JlZl9pbml0KCZjYXJkLT5rcmVmKTsKKwlpbml0X2NvbXBsZXRpb24oJmNhcmQtPmRvbmUpOwogCUlOSVRfTElTVF9IRUFEKCZjYXJkLT50cmFuc2FjdGlvbl9saXN0KTsKIAlzcGluX2xvY2tfaW5pdCgmY2FyZC0+bG9jayk7CiAJc2V0dXBfdGltZXIoJmNhcmQtPmZsdXNoX3RpbWVyLApAQCAtNDk2LDcgKzUwMSw2IEBACiB9CiAKIHN0YXRpYyBzdHJ1Y3QgZndfY2FyZF9kcml2ZXIgZHVtbXlfZHJpdmVyID0gewotCS5uYW1lICAgICAgICAgICAgPSAiZHVtbXkiLAogCS5lbmFibGUgICAgICAgICAgPSBkdW1teV9lbmFibGUsCiAJLnVwZGF0ZV9waHlfcmVnICA9IGR1bW15X3VwZGF0ZV9waHlfcmVnLAogCS5zZXRfY29uZmlnX3JvbSAgPSBkdW1teV9zZXRfY29uZmlnX3JvbSwKQEAgLTUwNyw2ICs1MTEsMTQgQEAKIH07CiAKIHZvaWQKK2Z3X2NhcmRfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqa3JlZikKK3sKKwlzdHJ1Y3QgZndfY2FyZCAqY2FyZCA9IGNvbnRhaW5lcl9vZihrcmVmLCBzdHJ1Y3QgZndfY2FyZCwga3JlZik7CisKKwljb21wbGV0ZSgmY2FyZC0+ZG9uZSk7Cit9CisKK3ZvaWQKIGZ3X2NvcmVfcmVtb3ZlX2NhcmQoc3RydWN0IGZ3X2NhcmQgKmNhcmQpCiB7CiAJY2FyZC0+ZHJpdmVyLT51cGRhdGVfcGh5X3JlZyhjYXJkLCA0LApAQCAtNTIxLDEyICs1MzMsMTAgQEAKIAljYXJkLT5kcml2ZXIgPSAmZHVtbXlfZHJpdmVyOwogCiAJZndfZGVzdHJveV9ub2RlcyhjYXJkKTsKLQkvKgotCSAqIFdhaXQgZm9yIGFsbCBkZXZpY2Ugd29ya3F1ZXVlIGpvYnMgdG8gZmluaXNoLiAgT3RoZXJ3aXNlIHRoZQotCSAqIGZpcmV3aXJlLWNvcmUgbW9kdWxlIGNvdWxkIGJlIHVubG9hZGVkIGJlZm9yZSB0aGUgam9icyByYW4uCi0JICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZjYXJkLT5kZXZpY2VfY291bnQpID4gMCkKLQkJbXNsZWVwKDEwMCk7CisKKwkvKiBXYWl0IGZvciBhbGwgdXNlcnMsIGVzcGVjaWFsbHkgZGV2aWNlIHdvcmtxdWV1ZSBqb2JzLCB0byBmaW5pc2guICovCisJZndfY2FyZF9wdXQoY2FyZCk7CisJd2FpdF9mb3JfY29tcGxldGlvbigmY2FyZC0+ZG9uZSk7CiAKIAljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmNhcmQtPndvcmspOwogCWZ3X2ZsdXNoX3RyYW5zYWN0aW9ucyhjYXJkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmMgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5jCmluZGV4IGQ5YzhkYWYuLjA4NTVmYjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmMKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuYwpAQCAtMTY4LDcgKzE2OCw3IEBACiAJZndfbm9kZV9wdXQoZGV2aWNlLT5ub2RlKTsKIAlrZnJlZShkZXZpY2UtPmNvbmZpZ19yb20pOwogCWtmcmVlKGRldmljZSk7Ci0JYXRvbWljX2RlYygmY2FyZC0+ZGV2aWNlX2NvdW50KTsKKwlmd19jYXJkX3B1dChjYXJkKTsKIH0KIAogaW50IGZ3X2RldmljZV9lbmFibGVfcGh5c19kbWEoc3RydWN0IGZ3X2RldmljZSAqZGV2aWNlKQpAQCAtOTQ2LDggKzk0Niw3IEBACiAJCSAqLwogCQlkZXZpY2VfaW5pdGlhbGl6ZSgmZGV2aWNlLT5kZXZpY2UpOwogCQlhdG9taWNfc2V0KCZkZXZpY2UtPnN0YXRlLCBGV19ERVZJQ0VfSU5JVElBTElaSU5HKTsKLQkJYXRvbWljX2luYygmY2FyZC0+ZGV2aWNlX2NvdW50KTsKLQkJZGV2aWNlLT5jYXJkID0gY2FyZDsKKwkJZGV2aWNlLT5jYXJkID0gZndfY2FyZF9nZXQoY2FyZCk7CiAJCWRldmljZS0+bm9kZSA9IGZ3X25vZGVfZ2V0KG5vZGUpOwogCQlkZXZpY2UtPm5vZGVfaWQgPSBub2RlLT5ub2RlX2lkOwogCQlkZXZpY2UtPmdlbmVyYXRpb24gPSBjYXJkLT5nZW5lcmF0aW9uOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuaCBiL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmgKaW5kZXggNWYxMzFmNS4uNDIzMDViYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuaAorKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5oCkBAIC02Miw3ICs2Miw2IEBACiAJYm9vbCBjbWM7CiAJc3RydWN0IGZ3X2NhcmQgKmNhcmQ7CiAJc3RydWN0IGRldmljZSBkZXZpY2U7Ci0Jc3RydWN0IGxpc3RfaGVhZCBsaW5rOwogCXN0cnVjdCBsaXN0X2hlYWQgY2xpZW50X2xpc3Q7CiAJdTMyICpjb25maWdfcm9tOwogCXNpemVfdCBjb25maWdfcm9tX2xlbmd0aDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctb2hjaS5jIGIvZHJpdmVycy9maXJld2lyZS9mdy1vaGNpLmMKaW5kZXggMGI2NjMwNi4uMzMzYjEyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJld2lyZS9mdy1vaGNpLmMKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy1vaGNpLmMKQEAgLTIyOTIsNyArMjI5Miw2IEBACiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZndfY2FyZF9kcml2ZXIgb2hjaV9kcml2ZXIgPSB7Ci0JLm5hbWUJCQk9IG9oY2lfZHJpdmVyX25hbWUsCiAJLmVuYWJsZQkJCT0gb2hjaV9lbmFibGUsCiAJLnVwZGF0ZV9waHlfcmVnCQk9IG9oY2lfdXBkYXRlX3BoeV9yZWcsCiAJLnNldF9jb25maWdfcm9tCQk9IG9oY2lfc2V0X2NvbmZpZ19yb20sCmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXNicDIuYyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctc2JwMi5jCmluZGV4IDIyN2QyZTAuLjUzZmM1YTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctc2JwMi5jCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctc2JwMi5jCkBAIC04Niw2ICs4NiwxMSBAQAogICogLSBkZWxheSBpbnF1aXJ5CiAgKiAgIFdhaXQgZXh0cmEgU0JQMl9JTlFVSVJZX0RFTEFZIHNlY29uZHMgYWZ0ZXIgbG9naW4gYmVmb3JlIFNDU0kgaW5xdWlyeS4KICAqCisgKiAtIHBvd2VyIGNvbmRpdGlvbgorICogICBTZXQgdGhlIHBvd2VyIGNvbmRpdGlvbiBmaWVsZCBpbiB0aGUgU1RBUlQgU1RPUCBVTklUIGNvbW1hbmRzIHNlbnQgYnkKKyAqICAgc2RfbW9kIG9uIHN1c3BlbmQsIHJlc3VtZSwgYW5kIHNodXRkb3duIChpZiBtYW5hZ2Vfc3RhcnRfc3RvcCBpcyBvbikuCisgKiAgIFNvbWUgZGlza3MgbmVlZCB0aGlzIHRvIHNwaW4gZG93biBvciB0byByZXN1bWUgcHJvcGVybHkuCisgKgogICogLSBvdmVycmlkZSBpbnRlcm5hbCBibGFja2xpc3QKICAqICAgSW5zdGVhZCBvZiBhZGRpbmcgdG8gdGhlIGJ1aWx0LWluIGJsYWNrbGlzdCwgdXNlIG9ubHkgdGhlIHdvcmthcm91bmRzCiAgKiAgIHNwZWNpZmllZCBpbiB0aGUgbW9kdWxlIGxvYWQgcGFyYW1ldGVyLgpAQCAtOTcsNiArMTAyLDcgQEAKICNkZWZpbmUgU0JQMl9XT1JLQVJPVU5EX0ZJWF9DQVBBQ0lUWQkweDgKICNkZWZpbmUgU0JQMl9XT1JLQVJPVU5EX0RFTEFZX0lOUVVJUlkJMHgxMAogI2RlZmluZSBTQlAyX0lOUVVJUllfREVMQVkJCTEyCisjZGVmaW5lIFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04JMHgyMAogI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfT1ZFUlJJREUJMHgxMDAKIAogc3RhdGljIGludCBzYnAyX3BhcmFtX3dvcmthcm91bmRzOwpAQCAtMTA3LDYgKzExMyw4IEBACiAJIiwgc2tpcCBtb2RlIHBhZ2UgOCA9ICIgICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfTU9ERV9TRU5TRV84KQogCSIsIGZpeCBjYXBhY2l0eSA9ICIgICAgICAgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX0ZJWF9DQVBBQ0lUWSkKIAkiLCBkZWxheSBpbnF1aXJ5ID0gIiAgICAgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9ERUxBWV9JTlFVSVJZKQorCSIsIHNldCBwb3dlciBjb25kaXRpb24gaW4gc3RhcnQgc3RvcCB1bml0ID0gIgorCQkJCSAgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTikKIAkiLCBvdmVycmlkZSBpbnRlcm5hbCBibGFja2xpc3QgPSAiIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9PVkVSUklERSkKIAkiLCBvciBhIGNvbWJpbmF0aW9uKSIpOwogCkBAIC0zMTAsMTggKzMxOCwyNSBAQAogCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweDAwMjgwMCwKIAkJLm1vZGVsCQkJPSAweDAwMTAxMCwKIAkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9JTlFVSVJZXzM2IHwKLQkJCQkJICBTQlAyX1dPUktBUk9VTkRfTU9ERV9TRU5TRV84LAorCQkJCQkgIFNCUDJfV09SS0FST1VORF9NT0RFX1NFTlNFXzggfAorCQkJCQkgIFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04sCiAJfSwKIAkvKiBEVmlDTyBNb21vYmF5IEZYLTNBIHdpdGggVFNCNDJBQTlBIGJyaWRnZSAqLyB7CiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDAyODAwLAogCQkubW9kZWwJCQk9IDB4MDAwMDAwLAotCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX0RFTEFZX0lOUVVJUlksCisJCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWSB8CisJCQkJCSAgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTiwKIAl9LAogCS8qIEluaXRpbyBicmlkZ2VzLCBhY3R1YWxseSBvbmx5IG5lZWRlZCBmb3Igc29tZSBvbGRlciBvbmVzICovIHsKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMDAyMDAsCiAJCS5tb2RlbAkJCT0gfjAsCiAJCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfSU5RVUlSWV8zNiwKIAl9LAorCS8qIFBMLTM1MDcgYnJpZGdlIHdpdGggUHJvbGlmaWMgZmlybXdhcmUgKi8geworCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweDAxMjgwMCwKKwkJLm1vZGVsCQkJPSB+MCwKKwkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04sCisJfSwKIAkvKiBTeW1iaW9zIGJyaWRnZSAqLyB7CiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4YTBiODAwLAogCQkubW9kZWwJCQk9IH4wLApAQCAtMTUzMCw2ICsxNTQ1LDkgQEAKIAogCXNkZXYtPnVzZV8xMF9mb3JfcncgPSAxOwogCisJaWYgKHNicDJfcGFyYW1fZXhjbHVzaXZlX2xvZ2luKQorCQlzZGV2LT5tYW5hZ2Vfc3RhcnRfc3RvcCA9IDE7CisKIAlpZiAoc2Rldi0+dHlwZSA9PSBUWVBFX1JPTSkKIAkJc2Rldi0+dXNlXzEwX2Zvcl9tcyA9IDE7CiAKQEAgLTE1NDAsNiArMTU1OCw5IEBACiAJaWYgKGx1LT50Z3QtPndvcmthcm91bmRzICYgU0JQMl9XT1JLQVJPVU5EX0ZJWF9DQVBBQ0lUWSkKIAkJc2Rldi0+Zml4X2NhcGFjaXR5ID0gMTsKIAorCWlmIChsdS0+dGd0LT53b3JrYXJvdW5kcyAmIFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04pCisJCXNkZXYtPnN0YXJ0X3N0b3BfcHdyX2NvbmQgPSAxOworCiAJaWYgKGx1LT50Z3QtPndvcmthcm91bmRzICYgU0JQMl9XT1JLQVJPVU5EXzEyOEtfTUFYX1RSQU5TKQogCQlibGtfcXVldWVfbWF4X3NlY3RvcnMoc2Rldi0+cmVxdWVzdF9xdWV1ZSwgMTI4ICogMTAyNCAvIDUxMik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uYyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uYwppbmRleCAwM2FlOGE3Li40MGRiODA3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmMKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5jCkBAIC01NSw2ICs1NSw5IEBACiAjZGVmaW5lIEhFQURFUl9HRVRfREFUQV9MRU5HVEgocSkJKCgocSkgPj4gMTYpICYgMHhmZmZmKQogI2RlZmluZSBIRUFERVJfR0VUX0VYVEVOREVEX1RDT0RFKHEpCSgoKHEpID4+IDApICYgMHhmZmZmKQogCisjZGVmaW5lIEhFQURFUl9ERVNUSU5BVElPTl9JU19CUk9BRENBU1QocSkgXAorCSgoKHEpICYgSEVBREVSX0RFU1RJTkFUSU9OKDB4M2YpKSA9PSBIRUFERVJfREVTVElOQVRJT04oMHgzZikpCisKICNkZWZpbmUgUEhZX0NPTkZJR19HQVBfQ09VTlQoZ2FwX2NvdW50KQkoKChnYXBfY291bnQpIDw8IDE2KSB8ICgxIDw8IDIyKSkKICNkZWZpbmUgUEhZX0NPTkZJR19ST09UX0lEKG5vZGVfaWQpCSgoKChub2RlX2lkKSAmIDB4M2YpIDw8IDI0KSB8ICgxIDw8IDIzKSkKICNkZWZpbmUgUEhZX0lERU5USUZJRVIoaWQpCQkoKGlkKSA8PCAzMCkKQEAgLTYyNCwxMiArNjI3LDkgQEAKIHZvaWQKIGZ3X3NlbmRfcmVzcG9uc2Uoc3RydWN0IGZ3X2NhcmQgKmNhcmQsIHN0cnVjdCBmd19yZXF1ZXN0ICpyZXF1ZXN0LCBpbnQgcmNvZGUpCiB7Ci0JLyoKLQkgKiBCcm9hZGNhc3QgcGFja2V0cyBhcmUgcmVwb3J0ZWQgYXMgQUNLX0NPTVBMRVRFLCBzbyB0aGlzCi0JICogY2hlY2sgaXMgc3VmZmljaWVudCB0byBlbnN1cmUgd2UgZG9uJ3Qgc2VuZCByZXNwb25zZSB0bwotCSAqIGJyb2FkY2FzdCBwYWNrZXRzIG9yIHBvc3RlZCB3cml0ZXMuCi0JICovCi0JaWYgKHJlcXVlc3QtPmFjayAhPSBBQ0tfUEVORElORykgeworCS8qIHVuaWZpZWQgdHJhbnNhY3Rpb24gb3IgYnJvYWRjYXN0IHRyYW5zYWN0aW9uOiBkb24ndCByZXNwb25kICovCisJaWYgKHJlcXVlc3QtPmFjayAhPSBBQ0tfUEVORElORyB8fAorCSAgICBIRUFERVJfREVTVElOQVRJT05fSVNfQlJPQURDQVNUKHJlcXVlc3QtPnJlcXVlc3RfaGVhZGVyWzBdKSkgewogCQlrZnJlZShyZXF1ZXN0KTsKIAkJcmV0dXJuOwogCX0KQEAgLTgxNywxMiArODE3LDEzIEBACiAJaW50IHJlZyA9IG9mZnNldCAmIH5DU1JfUkVHSVNURVJfQkFTRTsKIAl1bnNpZ25lZCBsb25nIGxvbmcgYnVzX3RpbWU7CiAJX19iZTMyICpkYXRhID0gcGF5bG9hZDsKKwlpbnQgcmNvZGUgPSBSQ09ERV9DT01QTEVURTsKIAogCXN3aXRjaCAocmVnKSB7CiAJY2FzZSBDU1JfQ1lDTEVfVElNRToKIAljYXNlIENTUl9CVVNfVElNRToKIAkJaWYgKCFUQ09ERV9JU19SRUFEX1JFUVVFU1QodGNvZGUpIHx8IGxlbmd0aCAhPSA0KSB7Ci0JCQlmd19zZW5kX3Jlc3BvbnNlKGNhcmQsIHJlcXVlc3QsIFJDT0RFX1RZUEVfRVJST1IpOworCQkJcmNvZGUgPSBSQ09ERV9UWVBFX0VSUk9SOwogCQkJYnJlYWs7CiAJCX0KIApAQCAtODMxLDcgKzgzMiwxNyBAQAogCQkJKmRhdGEgPSBjcHVfdG9fYmUzMihidXNfdGltZSk7CiAJCWVsc2UKIAkJCSpkYXRhID0gY3B1X3RvX2JlMzIoYnVzX3RpbWUgPj4gMjUpOwotCQlmd19zZW5kX3Jlc3BvbnNlKGNhcmQsIHJlcXVlc3QsIFJDT0RFX0NPTVBMRVRFKTsKKwkJYnJlYWs7CisKKwljYXNlIENTUl9CUk9BRENBU1RfQ0hBTk5FTDoKKwkJaWYgKHRjb2RlID09IFRDT0RFX1JFQURfUVVBRExFVF9SRVFVRVNUKQorCQkJKmRhdGEgPSBjcHVfdG9fYmUzMihjYXJkLT5icm9hZGNhc3RfY2hhbm5lbCk7CisJCWVsc2UgaWYgKHRjb2RlID09IFRDT0RFX1dSSVRFX1FVQURMRVRfUkVRVUVTVCkKKwkJCWNhcmQtPmJyb2FkY2FzdF9jaGFubmVsID0KKwkJCSAgICAoYmUzMl90b19jcHUoKmRhdGEpICYgQlJPQURDQVNUX0NIQU5ORUxfVkFMSUQpIHwKKwkJCSAgICBCUk9BRENBU1RfQ0hBTk5FTF9JTklUSUFMOworCQllbHNlCisJCQlyY29kZSA9IFJDT0RFX1RZUEVfRVJST1I7CiAJCWJyZWFrOwogCiAJY2FzZSBDU1JfQlVTX01BTkFHRVJfSUQ6CkBAIC04NTAsMTAgKzg2MSwxMyBAQAogCiAJY2FzZSBDU1JfQlVTWV9USU1FT1VUOgogCQkvKiBGSVhNRTogSW1wbGVtZW50IHRoaXMuICovCisKIAlkZWZhdWx0OgotCQlmd19zZW5kX3Jlc3BvbnNlKGNhcmQsIHJlcXVlc3QsIFJDT0RFX0FERFJFU1NfRVJST1IpOworCQlyY29kZSA9IFJDT0RFX0FERFJFU1NfRVJST1I7CiAJCWJyZWFrOwogCX0KKworCWZ3X3NlbmRfcmVzcG9uc2UoY2FyZCwgcmVxdWVzdCwgcmNvZGUpOwogfQogCiBzdGF0aWMgc3RydWN0IGZ3X2FkZHJlc3NfaGFuZGxlciByZWdpc3RlcnMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmggYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmgKaW5kZXggMDRkMzg1NC4uMmFlMWIwZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5oCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uaApAQCAtMTksMTQgKzE5LDE1IEBACiAjaWZuZGVmIF9fZndfdHJhbnNhY3Rpb25faAogI2RlZmluZSBfX2Z3X3RyYW5zYWN0aW9uX2gKIAorI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1lci5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KLSNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvZmlyZXdpcmUtY29uc3RhbnRzLmg+Ci0jaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGxpbnV4L2tyZWYuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2tfdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogCiAjZGVmaW5lIFRDT0RFX0lTX1JFQURfUkVRVUVTVCh0Y29kZSkJKCgodGNvZGUpICYgfjEpID09IDQpCiAjZGVmaW5lIFRDT0RFX0lTX0JMT0NLX1BBQ0tFVCh0Y29kZSkJKCgodGNvZGUpICYgIDEpICE9IDApCkBAIC04MCw2ICs4MSw5IEBACiAjZGVmaW5lIENTUl9TUEVFRF9NQVAJCQkweDIwMDAKICNkZWZpbmUgQ1NSX1NQRUVEX01BUF9FTkQJCTB4MzAwMAogCisjZGVmaW5lIEJST0FEQ0FTVF9DSEFOTkVMX0lOSVRJQUwJKDEgPDwgMzEgfCAzMSkKKyNkZWZpbmUgQlJPQURDQVNUX0NIQU5ORUxfVkFMSUQJCSgxIDw8IDMwKQorCiAjZGVmaW5lIGZ3X25vdGlmeShzLCBhcmdzLi4uKSBwcmludGsoS0VSTl9OT1RJQ0UgS0JVSUxEX01PRE5BTUUgIjogIiBzLCAjIyBhcmdzKQogI2RlZmluZSBmd19lcnJvcihzLCBhcmdzLi4uKSBwcmludGsoS0VSTl9FUlIgS0JVSUxEX01PRE5BTUUgIjogIiBzLCAjIyBhcmdzKQogCkBAIC0yMTYsNyArMjIwLDggQEAKIHN0cnVjdCBmd19jYXJkIHsKIAljb25zdCBzdHJ1Y3QgZndfY2FyZF9kcml2ZXIgKmRyaXZlcjsKIAlzdHJ1Y3QgZGV2aWNlICpkZXZpY2U7Ci0JYXRvbWljX3QgZGV2aWNlX2NvdW50OworCXN0cnVjdCBrcmVmIGtyZWY7CisJc3RydWN0IGNvbXBsZXRpb24gZG9uZTsKIAogCWludCBub2RlX2lkOwogCWludCBnZW5lcmF0aW9uOwpAQCAtMjM2LDYgKzI0MSw3IEBACiAJICovCiAJaW50IHNlbGZfaWRfY291bnQ7CiAJdTMyIHRvcG9sb2d5X21hcFsyNTIgKyAzXTsKKwl1MzIgYnJvYWRjYXN0X2NoYW5uZWw7CiAKIAlzcGlubG9ja190IGxvY2s7IC8qIFRha2UgdGhpcyBsb2NrIHdoZW4gaGFuZGxpbmcgdGhlIGxpc3RzIGluCiAJCQkgICogdGhpcyBzdHJ1Y3QuICovCkBAIC0yNTYsNiArMjYyLDIwIEBACiAJaW50IGJtX2dlbmVyYXRpb247CiB9OwogCitzdGF0aWMgaW5saW5lIHN0cnVjdCBmd19jYXJkICpmd19jYXJkX2dldChzdHJ1Y3QgZndfY2FyZCAqY2FyZCkKK3sKKwlrcmVmX2dldCgmY2FyZC0+a3JlZik7CisKKwlyZXR1cm4gY2FyZDsKK30KKwordm9pZCBmd19jYXJkX3JlbGVhc2Uoc3RydWN0IGtyZWYgKmtyZWYpOworCitzdGF0aWMgaW5saW5lIHZvaWQgZndfY2FyZF9wdXQoc3RydWN0IGZ3X2NhcmQgKmNhcmQpCit7CisJa3JlZl9wdXQoJmNhcmQtPmtyZWYsIGZ3X2NhcmRfcmVsZWFzZSk7Cit9CisKIC8qCiAgKiBUaGUgaXNvIHBhY2tldCBmb3JtYXQgYWxsb3dzIGZvciBhbiBpbW1lZGlhdGUgaGVhZGVyL3BheWxvYWQgcGFydAogICogc3RvcmVkIGluICdoZWFkZXInIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBwYWNrZXQgaW5mbyBwbHVzIGFuCkBAIC0zNDgsOCArMzY4LDYgQEAKIGZ3X2lzb19jb250ZXh0X3N0b3Aoc3RydWN0IGZ3X2lzb19jb250ZXh0ICpjdHgpOwogCiBzdHJ1Y3QgZndfY2FyZF9kcml2ZXIgewotCWNvbnN0IGNoYXIgKm5hbWU7Ci0KIAkvKgogCSAqIEVuYWJsZSB0aGUgZ2l2ZW4gY2FyZCB3aXRoIHRoZSBnaXZlbiBpbml0aWFsIGNvbmZpZyByb20uCiAJICogVGhpcyBmdW5jdGlvbiBpcyBleHBlY3RlZCB0byBhY3RpdmF0ZSB0aGUgY2FyZCwgYW5kIGVpdGhlcgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9LY29uZmlnIGIvZHJpdmVycy9maXJtd2FyZS9LY29uZmlnCmluZGV4IGRjMmNlYzYuLmViYjllNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlybXdhcmUvS2NvbmZpZworKysgYi9kcml2ZXJzL2Zpcm13YXJlL0tjb25maWcKQEAgLTI2LDYgKzI2LDE2IEBACiAJICBrZXJuZWwuIFNheSBOIGlmIHlvdSB3YW50IEVERCBlbmFibGVkIGJ5IGRlZmF1bHQuIEVERCBjYW4gYmUgZHluYW1pY2FsbHkgc2V0CiAJICB1c2luZyB0aGUga2VybmVsIHBhcmFtZXRlciAnZWRkPXtvbnxza2lwbWJyfG9mZn0nLgogCitjb25maWcgRklSTVdBUkVfTUVNTUFQCisgICAgYm9vbCAiQWRkIGZpcm13YXJlLXByb3ZpZGVkIG1lbW9yeSBtYXAgdG8gc3lzZnMiIGlmIEVNQkVEREVECisgICAgZGVmYXVsdCAoWDg2XzY0IHx8IFg4Nl8zMikKKyAgICBoZWxwCisgICAgICBBZGQgdGhlIGZpcm13YXJlLXByb3ZpZGVkICh1bm1vZGlmaWVkKSBtZW1vcnkgbWFwIHRvIC9zeXMvZmlybXdhcmUvbWVtbWFwLgorICAgICAgVGhhdCBtZW1vcnkgbWFwIGlzIHVzZWQgZm9yIGV4YW1wbGUgYnkga2V4ZWMgdG8gc2V0IHVwIHBhcmFtZXRlciBhcmVhCisgICAgICBmb3IgdGhlIG5leHQga2VybmVsLCBidXQgY2FuIGFsc28gYmUgdXNlZCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLgorCisgICAgICBTZWUgYWxzbyBEb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcC4KKwogY29uZmlnIEVGSV9WQVJTCiAJdHJpc3RhdGUgIkVGSSBWYXJpYWJsZSBTdXBwb3J0IHZpYSBzeXNmcyIKIAlkZXBlbmRzIG9uIEVGSQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9NYWtlZmlsZSBiL2RyaXZlcnMvZmlybXdhcmUvTWFrZWZpbGUKaW5kZXggNGM5MTQ3MS4uMWMzYzE3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2Zpcm13YXJlL01ha2VmaWxlCkBAIC0xMCwzICsxMCw0IEBACiBvYmotJChDT05GSUdfRE1JSUQpCQkrPSBkbWktaWQubwogb2JqLSQoQ09ORklHX0lTQ1NJX0lCRlRfRklORCkJKz0gaXNjc2lfaWJmdF9maW5kLm8KIG9iai0kKENPTkZJR19JU0NTSV9JQkZUKQkrPSBpc2NzaV9pYmZ0Lm8KK29iai0kKENPTkZJR19GSVJNV0FSRV9NRU1NQVApCSs9IG1lbW1hcC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL2RlbGxfcmJ1LmMgYi9kcml2ZXJzL2Zpcm13YXJlL2RlbGxfcmJ1LmMKaW5kZXggNmE4YjFlMC4uNzQzMGUyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9kZWxsX3JidS5jCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvZGVsbF9yYnUuYwpAQCAtMjIwLDcgKzIyMCw3IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAotc3RhdGljIGludCBwYWNrZXRpemVfZGF0YSh2b2lkICpkYXRhLCBzaXplX3QgbGVuZ3RoKQorc3RhdGljIGludCBwYWNrZXRpemVfZGF0YShjb25zdCB1OCAqZGF0YSwgc2l6ZV90IGxlbmd0aCkKIHsKIAlpbnQgcmMgPSAwOwogCWludCBkb25lID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvZG1pX3NjYW4uYyBiL2RyaXZlcnMvZmlybXdhcmUvZG1pX3NjYW4uYwppbmRleCBjNWUzZWQ3Li40NTU1NzViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL2RtaV9zY2FuLmMKKysrIGIvZHJpdmVycy9maXJtd2FyZS9kbWlfc2Nhbi5jCkBAIC04LDYgKzgsMTEgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8YXNtL2RtaS5oPgogCisvKgorICogRE1JIHN0YW5kcyBmb3IgIkRlc2t0b3AgTWFuYWdlbWVudCBJbnRlcmZhY2UiLiAgSXQgaXMgcGFydAorICogb2YgYW5kIGFuIGFudGVjZWRlbnQgdG8sIFNNQklPUywgd2hpY2ggc3RhbmRzIGZvciBTeXN0ZW0KKyAqIE1hbmFnZW1lbnQgQklPUy4gIFNlZSBmdXJ0aGVyOiBodHRwOi8vd3d3LmRtdGYub3JnL3N0YW5kYXJkcworICovCiBzdGF0aWMgY2hhciBkbWlfZW1wdHlfc3RyaW5nW10gPSAiICAgICAgICAiOwogCiBzdGF0aWMgY29uc3QgY2hhciAqIF9faW5pdCBkbWlfc3RyaW5nX25vc2F2ZShjb25zdCBzdHJ1Y3QgZG1pX2hlYWRlciAqZG0sIHU4IHMpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL21lbW1hcC5jIGIvZHJpdmVycy9maXJtd2FyZS9tZW1tYXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjMzOTljCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9maXJtd2FyZS9tZW1tYXAuYwpAQCAtMCwwICsxLDIwNSBAQAorLyoKKyAqIGxpbnV4L2RyaXZlcnMvZmlybXdhcmUvbWVtbWFwLmMKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggU1VTRSBMSU5VWCBQcm9kdWN0cyBHbWJICisgKiAgYnkgQmVybmhhcmQgV2FsbGUgPGJ3YWxsZUBzdXNlLmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyLjAgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLW1hcC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorCisvKgorICogRGF0YSB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisvKgorICogRmlybXdhcmUgbWFwIGVudHJ5LiBCZWNhdXNlIGZpcm13YXJlIG1lbW9yeSBtYXBzIGFyZSBmbGF0IGFuZCBub3QKKyAqIGhpZXJhcmNoaWNhbCwgaXQncyBvayB0byBvcmdhbmlzZSB0aGVtIGluIGEgbGlua2VkIGxpc3QuIE5vIHBhcmVudAorICogaW5mb3JtYXRpb24gaXMgbmVjZXNzYXJ5IGFzIGZvciB0aGUgcmVzb3VyY2UgdHJlZS4KKyAqLworc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSB7CisJcmVzb3VyY2Vfc2l6ZV90CQlzdGFydDsJLyogc3RhcnQgb2YgdGhlIG1lbW9yeSByYW5nZSAqLworCXJlc291cmNlX3NpemVfdAkJZW5kOwkvKiBlbmQgb2YgdGhlIG1lbW9yeSByYW5nZSAoaW5jbC4pICovCisJY29uc3QgY2hhcgkJKnR5cGU7CS8qIHR5cGUgb2YgdGhlIG1lbW9yeSByYW5nZSAqLworCXN0cnVjdCBsaXN0X2hlYWQJbGlzdDsJLyogZW50cnkgZm9yIHRoZSBsaW5rZWQgbGlzdCAqLworCXN0cnVjdCBrb2JqZWN0CQlrb2JqOyAgIC8qIGtvYmplY3QgZm9yIGVhY2ggZW50cnkgKi8KK307CisKKy8qCisgKiBGb3J3YXJkIGRlY2xhcmF0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCitzdGF0aWMgc3NpemVfdCBtZW1tYXBfYXR0cl9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCXN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1Zik7CitzdGF0aWMgc3NpemVfdCBzdGFydF9zaG93KHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5LCBjaGFyICpidWYpOworc3RhdGljIHNzaXplX3QgZW5kX3Nob3coc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnksIGNoYXIgKmJ1Zik7CitzdGF0aWMgc3NpemVfdCB0eXBlX3Nob3coc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnksIGNoYXIgKmJ1Zik7CisKKy8qCisgKiBTdGF0aWMgZGF0YSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKK3N0cnVjdCBtZW1tYXBfYXR0cmlidXRlIHsKKwlzdHJ1Y3QgYXR0cmlidXRlIGF0dHI7CisJc3NpemVfdCAoKnNob3cpKHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5LCBjaGFyICpidWYpOworfTsKKworc3RydWN0IG1lbW1hcF9hdHRyaWJ1dGUgbWVtbWFwX3N0YXJ0X2F0dHIgPSBfX0FUVFJfUk8oc3RhcnQpOworc3RydWN0IG1lbW1hcF9hdHRyaWJ1dGUgbWVtbWFwX2VuZF9hdHRyICAgPSBfX0FUVFJfUk8oZW5kKTsKK3N0cnVjdCBtZW1tYXBfYXR0cmlidXRlIG1lbW1hcF90eXBlX2F0dHIgID0gX19BVFRSX1JPKHR5cGUpOworCisvKgorICogVGhlc2UgYXJlIGRlZmF1bHQgYXR0cmlidXRlcyB0aGF0IGFyZSBhZGRlZCBmb3IgZXZlcnkgbWVtbWFwIGVudHJ5LgorICovCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqZGVmX2F0dHJzW10gPSB7CisJJm1lbW1hcF9zdGFydF9hdHRyLmF0dHIsCisJJm1lbW1hcF9lbmRfYXR0ci5hdHRyLAorCSZtZW1tYXBfdHlwZV9hdHRyLmF0dHIsCisJTlVMTAorfTsKKworc3RhdGljIHN0cnVjdCBzeXNmc19vcHMgbWVtbWFwX2F0dHJfb3BzID0geworCS5zaG93ID0gbWVtbWFwX2F0dHJfc2hvdywKK307CisKK3N0YXRpYyBzdHJ1Y3Qga29ial90eXBlIG1lbW1hcF9rdHlwZSA9IHsKKwkuc3lzZnNfb3BzCT0gJm1lbW1hcF9hdHRyX29wcywKKwkuZGVmYXVsdF9hdHRycwk9IGRlZl9hdHRycywKK307CisKKy8qCisgKiBSZWdpc3RyYXRpb24gZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKy8qCisgKiBGaXJtd2FyZSBtZW1vcnkgbWFwIGVudHJpZXMKKyAqLworc3RhdGljIExJU1RfSEVBRChtYXBfZW50cmllcyk7CisKKy8qKgorICogQ29tbW9uIGltcGxlbWVudGF0aW9uIG9mIGZpcm13YXJlX21hcF9hZGQoKSBhbmQgZmlybXdhcmVfbWFwX2FkZF9lYXJseSgpCisgKiB3aGljaCBleHBlY3RzIGEgcHJlLWFsbG9jYXRlZCBzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5LgorICoKKyAqIEBzdGFydDogU3RhcnQgb2YgdGhlIG1lbW9yeSByYW5nZS4KKyAqIEBlbmQ6ICAgRW5kIG9mIHRoZSBtZW1vcnkgcmFuZ2UgKGluY2x1c2l2ZSkuCisgKiBAdHlwZTogIFR5cGUgb2YgdGhlIG1lbW9yeSByYW5nZS4KKyAqIEBlbnRyeTogUHJlLWFsbG9jYXRlZCAoZWl0aGVyIGttYWxsb2MoKSBvciBib290bWVtIGFsbG9jYXRvciksIHVuaW5pdGlhbGlzZWQKKyAqICAgICAgICAgZW50cnkuCisgKi8KK3N0YXRpYyBpbnQgZmlybXdhcmVfbWFwX2FkZF9lbnRyeShyZXNvdXJjZV9zaXplX3Qgc3RhcnQsIHJlc291cmNlX3NpemVfdCBlbmQsCisJCQkJICBjb25zdCBjaGFyICp0eXBlLAorCQkJCSAgc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnkpCit7CisJQlVHX09OKHN0YXJ0ID4gZW5kKTsKKworCWVudHJ5LT5zdGFydCA9IHN0YXJ0OworCWVudHJ5LT5lbmQgPSBlbmQ7CisJZW50cnktPnR5cGUgPSB0eXBlOworCUlOSVRfTElTVF9IRUFEKCZlbnRyeS0+bGlzdCk7CisJa29iamVjdF9pbml0KCZlbnRyeS0+a29iaiwgJm1lbW1hcF9rdHlwZSk7CisKKwlsaXN0X2FkZF90YWlsKCZlbnRyeS0+bGlzdCwgJm1hcF9lbnRyaWVzKTsKKworCXJldHVybiAwOworfQorCisvKgorICogU2VlIDxsaW51eC9maXJtd2FyZS1tYXAuaD4gZm9yIGRvY3VtZW50YXRpb24uCisgKi8KK2ludCBmaXJtd2FyZV9tYXBfYWRkKHJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90IGVuZCwKKwkJICAgICBjb25zdCBjaGFyICp0eXBlKQoreworCXN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5OworCisJZW50cnkgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5KSwgR0ZQX0FUT01JQyk7CisJV0FSTl9PTighZW50cnkpOworCWlmICghZW50cnkpCisJCXJldHVybiAtRU5PTUVNOworCisJcmV0dXJuIGZpcm13YXJlX21hcF9hZGRfZW50cnkoc3RhcnQsIGVuZCwgdHlwZSwgZW50cnkpOworfQorCisvKgorICogU2VlIDxsaW51eC9maXJtd2FyZS1tYXAuaD4gZm9yIGRvY3VtZW50YXRpb24uCisgKi8KK2ludCBfX2luaXQgZmlybXdhcmVfbWFwX2FkZF9lYXJseShyZXNvdXJjZV9zaXplX3Qgc3RhcnQsIHJlc291cmNlX3NpemVfdCBlbmQsCisJCQkJICBjb25zdCBjaGFyICp0eXBlKQoreworCXN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5OworCisJZW50cnkgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2Yoc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSkpOworCVdBUk5fT04oIWVudHJ5KTsKKwlpZiAoIWVudHJ5KQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJldHVybiBmaXJtd2FyZV9tYXBfYWRkX2VudHJ5KHN0YXJ0LCBlbmQsIHR5cGUsIGVudHJ5KTsKK30KKworLyoKKyAqIFN5c2ZzIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworc3RhdGljIHNzaXplX3Qgc3RhcnRfc2hvdyhzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKQoreworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIjB4JWxseFxuIiwgZW50cnktPnN0YXJ0KTsKK30KKworc3RhdGljIHNzaXplX3QgZW5kX3Nob3coc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnksIGNoYXIgKmJ1ZikKK3sKKwlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIweCVsbHhcbiIsIGVudHJ5LT5lbmQpOworfQorCitzdGF0aWMgc3NpemVfdCB0eXBlX3Nob3coc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnksIGNoYXIgKmJ1ZikKK3sKKwlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIlc1xuIiwgZW50cnktPnR5cGUpOworfQorCisjZGVmaW5lIHRvX21lbW1hcF9hdHRyKF9hdHRyKSBjb250YWluZXJfb2YoX2F0dHIsIHN0cnVjdCBtZW1tYXBfYXR0cmlidXRlLCBhdHRyKQorI2RlZmluZSB0b19tZW1tYXBfZW50cnkob2JqKSBjb250YWluZXJfb2Yob2JqLCBzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5LCBrb2JqKQorCitzdGF0aWMgc3NpemVfdCBtZW1tYXBfYXR0cl9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCXN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSA9IHRvX21lbW1hcF9lbnRyeShrb2JqKTsKKwlzdHJ1Y3QgbWVtbWFwX2F0dHJpYnV0ZSAqbWVtbWFwX2F0dHIgPSB0b19tZW1tYXBfYXR0cihhdHRyKTsKKworCXJldHVybiBtZW1tYXBfYXR0ci0+c2hvdyhlbnRyeSwgYnVmKTsKK30KKworLyoKKyAqIEluaXRpYWxpc2VzIHN0dWZmIGFuZCBhZGRzIHRoZSBlbnRyaWVzIGluIHRoZSBtYXBfZW50cmllcyBsaXN0IHRvCisgKiBzeXNmcy4gSW1wb3J0YW50IGlzIHRoYXQgZmlybXdhcmVfbWFwX2FkZCgpIGFuZCBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KCkKKyAqIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBsYXRlX2luaXRjYWxsLgorICovCitzdGF0aWMgaW50IF9faW5pdCBtZW1tYXBfaW5pdCh2b2lkKQoreworCWludCBpID0gMDsKKwlzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeTsKKwlzdHJ1Y3Qga3NldCAqbWVtbWFwX2tzZXQ7CisKKwltZW1tYXBfa3NldCA9IGtzZXRfY3JlYXRlX2FuZF9hZGQoIm1lbW1hcCIsIE5VTEwsIGZpcm13YXJlX2tvYmopOworCVdBUk5fT04oIW1lbW1hcF9rc2V0KTsKKwlpZiAoIW1lbW1hcF9rc2V0KQorCQlyZXR1cm4gLUVOT01FTTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoZW50cnksICZtYXBfZW50cmllcywgbGlzdCkgeworCQllbnRyeS0+a29iai5rc2V0ID0gbWVtbWFwX2tzZXQ7CisJCWtvYmplY3RfYWRkKCZlbnRyeS0+a29iaiwgTlVMTCwgIiVkIiwgaSsrKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KK2xhdGVfaW5pdGNhbGwobWVtbWFwX2luaXQpOworCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlNTY2Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9NYWtlZmlsZQpAQCAtMCwwICsxIEBACitvYmoteQkJCSs9IGRybS8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vS2NvbmZpZyBiL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL0tjb25maWcKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9LY29uZmlnCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlmOWE5NwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQpAQCAtMCwwICsxLDI2IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCisKK2RybS15ICAgICAgIDo9CWRybV9hdXRoLm8gZHJtX2J1ZnMubyBkcm1fY29udGV4dC5vIGRybV9kbWEubyBkcm1fZHJhd2FibGUubyBcCisJCWRybV9kcnYubyBkcm1fZm9wcy5vIGRybV9pb2N0bC5vIGRybV9pcnEubyBcCisJCWRybV9sb2NrLm8gZHJtX21lbW9yeS5vIGRybV9wcm9jLm8gZHJtX3N0dWIubyBkcm1fdm0ubyBcCisJCWRybV9hZ3BzdXBwb3J0Lm8gZHJtX3NjYXR0ZXIubyBhdGlfcGNpZ2FydC5vIGRybV9wY2kubyBcCisJCWRybV9zeXNmcy5vIGRybV9oYXNodGFiLm8gZHJtX3NtYW4ubyBkcm1fbW0ubworCitkcm0tJChDT05GSUdfQ09NUEFUKSArPSBkcm1faW9jMzIubworCitvYmotJChDT05GSUdfRFJNKQkrPSBkcm0ubworb2JqLSQoQ09ORklHX0RSTV9UREZYKQkrPSB0ZGZ4Lworb2JqLSQoQ09ORklHX0RSTV9SMTI4KQkrPSByMTI4Lworb2JqLSQoQ09ORklHX0RSTV9SQURFT04pKz0gcmFkZW9uLworb2JqLSQoQ09ORklHX0RSTV9NR0EpCSs9IG1nYS8KK29iai0kKENPTkZJR19EUk1fSTgxMCkJKz0gaTgxMC8KK29iai0kKENPTkZJR19EUk1fSTgzMCkJKz0gaTgzMC8KK29iai0kKENPTkZJR19EUk1fSTkxNSkgICs9IGk5MTUvCitvYmotJChDT05GSUdfRFJNX1NJUykgICArPSBzaXMvCitvYmotJChDT05GSUdfRFJNX1NBVkFHRSkrPSBzYXZhZ2UvCitvYmotJChDT05GSUdfRFJNX1ZJQSkJKz12aWEvCisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vUkVBRE1FLmRybSBiL2RyaXZlcnMvZ3B1L2RybS9SRUFETUUuZHJtCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL1JFQURNRS5kcm0KcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9SRUFETUUuZHJtCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2F0aV9wY2lnYXJ0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXRpX3BjaWdhcnQuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9hdGlfcGNpZ2FydC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vYXRpX3BjaWdhcnQuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fYWdwc3VwcG9ydC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2FncHN1cHBvcnQuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2F1dGguYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXV0aC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9hdXRoLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXV0aC5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9idWZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2J1ZnMuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fYnVmcy5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2J1ZnMuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb250ZXh0LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2NvbnRleHQuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9jb250ZXh0LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kbWEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fZG1hLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fZG1hLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2RyYXdhYmxlLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RyYXdhYmxlLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2RyYXdhYmxlLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHJhd2FibGUuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fZm9wcy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMKc2ltaWxhcml0eSBpbmRleCA5OCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fZm9wcy5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYwppbmRleCBkMmU2ZGE4Li44NTFhNTNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9mb3BzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJkcm1QLmgiCiAjaW5jbHVkZSAiZHJtX3NhcmVhLmgiCiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKIHN0YXRpYyBpbnQgZHJtX29wZW5faGVscGVyKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwLAogCQkJICAgc3RydWN0IGRybV9kZXZpY2UgKiBkZXYpOwpAQCAtMTc0LDEyICsxNzUsMTQgQEAKIAogCURSTV9ERUJVRygiXG4iKTsKIAorCS8qIEJLTCBwdXNoZG93bjogbm90ZSB0aGF0IG5vdGhpbmcgZWxzZSBzZXJpYWxpemVzIGlkcl9maW5kKCkgKi8KKwlsb2NrX2tlcm5lbCgpOwogCW1pbm9yID0gaWRyX2ZpbmQoJmRybV9taW5vcnNfaWRyLCBtaW5vcl9pZCk7CiAJaWYgKCFtaW5vcikKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCiAJaWYgKCEoZGV2ID0gbWlub3ItPmRldikpCi0JCXJldHVybiAtRU5PREVWOworCQlnb3RvIG91dDsKIAogCW9sZF9mb3BzID0gZmlscC0+Zl9vcDsKIAlmaWxwLT5mX29wID0gZm9wc19nZXQoJmRldi0+ZHJpdmVyLT5mb3BzKTsKQEAgLTE4OSw2ICsxOTIsOCBAQAogCX0KIAlmb3BzX3B1dChvbGRfZm9wcyk7CiAKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1faGFzaHRhYi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9oYXNodGFiLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2hhc2h0YWIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9oYXNodGFiLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2lvYzMyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvYzMyLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2lvYzMyLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1faW9jMzIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1faW9jdGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1faW9jdGwuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2lycS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9sb2NrLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2xvY2suYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fbG9jay5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2xvY2suYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21lbW9yeS5jCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX21lbW9yeS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX21lbW9yeS5jCmluZGV4IDg0NTA4MWI0Li4wMTc3MDEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21lbW9yeS5jCkBAIC0xNjcsNiArMTY3LDExIEBACiB9CiBFWFBPUlRfU1lNQk9MKGRybV9jb3JlX2lvcmVtYXApOwogCit2b2lkIGRybV9jb3JlX2lvcmVtYXBfd2Moc3RydWN0IGRybV9tYXAgKm1hcCwgc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwltYXAtPmhhbmRsZSA9IGlvcmVtYXBfd2MobWFwLT5vZmZzZXQsIG1hcC0+c2l6ZSk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9jb3JlX2lvcmVtYXBfd2MpOwogdm9pZCBkcm1fY29yZV9pb3JlbWFwZnJlZShzdHJ1Y3QgZHJtX21hcCAqbWFwLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCWlmICghbWFwLT5oYW5kbGUgfHwgIW1hcC0+c2l6ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX21tLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21tLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX21tLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fcGNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BjaS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9wY2kuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9wY2kuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fcHJvYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9jLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3Byb2MuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9wcm9jLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NjYXR0ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2NhdHRlci5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9zY2F0dGVyLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fc2NhdHRlci5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3NtYW4uYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fc21hbi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3NtYW4uYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fc3R1Yi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zdHViLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3N0dWIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9zdHViLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5c2ZzLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3N5c2ZzLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fc3lzZnMuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fdm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fdm0uYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fdm0uYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV92bS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTgxMC9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pODEwL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzODQ0ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTgxMC9NYWtlZmlsZQpAQCAtMCwwICsxLDggQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK2k4MTAteSA6PSBpODEwX2Rydi5vIGk4MTBfZG1hLm8KKworb2JqLSQoQ09ORklHX0RSTV9JODEwKQkrPSBpODEwLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgxMF9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pODEwL2k4MTBfZG1hLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgxMF9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k4MTAvaTgxMF9kbWEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODEwX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k4MTAvaTgxMF9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODEwX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTgxMC9pODEwX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MTBfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTgxMC9pODEwX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MTBfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pODEwL2k4MTBfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pODMwL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k4MzAvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY0MmVlMAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pODMwL01ha2VmaWxlCkBAIC0wLDAgKzEsOCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQoraTgzMC15IDo9IGk4MzBfZHJ2Lm8gaTgzMF9kbWEubyBpODMwX2lycS5vCisKK29iai0kKENPTkZJR19EUk1fSTgzMCkgKz0gaTgzMC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MzBfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTgzMC9pODMwX2RtYS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MzBfZG1hLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfZG1hLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgzMF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgzMF9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODMwX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODMwX2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTgzMC9pODMwX2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MzBfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTgzMC9pODMwX2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MzBfaXJxLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfaXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTllNjA0NgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCkBAIC0wLDAgKzEsMTAgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK2k5MTUteSA6PSBpOTE1X2Rydi5vIGk5MTVfZG1hLm8gaTkxNV9pcnEubyBpOTE1X21lbS5vCisKK2k5MTUtJChDT05GSUdfQ09NUEFUKSAgICs9IGk5MTVfaW9jMzIubworCitvYmotJChDT05GSUdfRFJNX0k5MTUpICArPSBpOTE1Lm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pOTE1X2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k5MTVfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9pb2MzMi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pb2MzMi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k5MTVfaW9jMzIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pb2MzMi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k5MTVfaXJxLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9tZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfbWVtLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9tZW0uYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9tZW0uYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21nYS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA2ODQ3OAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvTWFrZWZpbGUKQEAgLTAsMCArMSwxMSBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQorbWdhLXkgOj0gbWdhX2Rydi5vIG1nYV9kbWEubyBtZ2Ffc3RhdGUubyBtZ2Ffd2FycC5vIG1nYV9pcnEubworCittZ2EtJChDT05GSUdfQ09NUEFUKSArPSBtZ2FfaW9jMzIubworCitvYmotJChDT05GSUdfRFJNX01HQSkJKz0gbWdhLm8KKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9kbWEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2FfZG1hLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2RtYS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfaW9jMzIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2lvYzMyLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX2lvYzMyLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2lvYzMyLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfaXJxLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX2lycS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9pcnEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2Ffc3RhdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX3N0YXRlLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX3N0YXRlLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX3N0YXRlLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX3Vjb2RlLmggYi9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV91Y29kZS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV91Y29kZS5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vbWdhL21nYV91Y29kZS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV93YXJwLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV93YXJwLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX3dhcnAuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2Ffd2FycC5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcjEyOC9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjYzcyYWUKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9NYWtlZmlsZQpAQCAtMCwwICsxLDEwIEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCityMTI4LXkgICA6PSByMTI4X2Rydi5vIHIxMjhfY2NlLm8gcjEyOF9zdGF0ZS5vIHIxMjhfaXJxLm8KKworcjEyOC0kKENPTkZJR19DT01QQVQpICAgKz0gcjEyOF9pb2MzMi5vCisKK29iai0kKENPTkZJR19EUk1fUjEyOCkJKz0gcjEyOC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfY2NlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2NjZS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfY2NlLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfY2NlLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjEyOF9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yMTI4X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yMTI4X2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfaW9jMzIuYyBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfaW9jMzIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yMTI4X2lvYzMyLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfaW9jMzIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yMTI4X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9pcnEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yMTI4X2lycS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2lycS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfc3RhdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfc3RhdGUuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yMTI4X3N0YXRlLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfc3RhdGUuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmViNTIxZQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vTWFrZWZpbGUKQEAgLTAsMCArMSwxMCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQorcmFkZW9uLXkgOj0gcmFkZW9uX2Rydi5vIHJhZGVvbl9jcC5vIHJhZGVvbl9zdGF0ZS5vIHJhZGVvbl9tZW0ubyByYWRlb25faXJxLm8gcjMwMF9jbWRidWYubworCityYWRlb24tJChDT05GSUdfQ09NUEFUKSArPSByYWRlb25faW9jMzIubworCitvYmotJChDT05GSUdfRFJNX1JBREVPTikrPSByYWRlb24ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yMzAwX2NtZGJ1Zi5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMzAwX2NtZGJ1Zi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IzMDBfY21kYnVmLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMF9jbWRidWYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yMzAwX3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMzAwX3JlZy5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IzMDBfcmVnLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMF9yZWcuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fY3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NwLmMKc2ltaWxhcml0eSBpbmRleCA5OSUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fY3AuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY3AuYwppbmRleCBlNTMxNThmLi5mMGRlODFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9jcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NwLmMKQEAgLTExNTQsNyArMTE1NCw3IEBACiAJCQlkZXZfcHJpdi0+Z2FydF9pbmZvLm1hcHBpbmcuc2l6ZSA9CiAJCQkgICAgZGV2X3ByaXYtPmdhcnRfaW5mby50YWJsZV9zaXplOwogCi0JCQlkcm1fY29yZV9pb3JlbWFwKCZkZXZfcHJpdi0+Z2FydF9pbmZvLm1hcHBpbmcsIGRldik7CisJCQlkcm1fY29yZV9pb3JlbWFwX3djKCZkZXZfcHJpdi0+Z2FydF9pbmZvLm1hcHBpbmcsIGRldik7CiAJCQlkZXZfcHJpdi0+Z2FydF9pbmZvLmFkZHIgPQogCQkJICAgIGRldl9wcml2LT5nYXJ0X2luZm8ubWFwcGluZy5oYW5kbGU7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9pb2MzMi5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25faW9jMzIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25faW9jMzIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25faW9jMzIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25faXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pcnEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25faXJxLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2lycS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9tZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21lbS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9tZW0uYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbWVtLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX21pY3JvY29kZS5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbWljcm9jb2RlLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX21pY3JvY29kZS5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9taWNyb2NvZGUuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fc3RhdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3N0YXRlLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX3N0YXRlLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3N0YXRlLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2UvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vc2F2YWdlL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4Zjg0YWMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vc2F2YWdlL01ha2VmaWxlCkBAIC0wLDAgKzEsOSBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgPSAtSWluY2x1ZGUvZHJtCitzYXZhZ2UteSA6PSBzYXZhZ2VfZHJ2Lm8gc2F2YWdlX2JjaS5vIHNhdmFnZV9zdGF0ZS5vCisKK29iai0kKENPTkZJR19EUk1fU0FWQUdFKSs9IHNhdmFnZS5vCisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2JjaS5jIGIvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2VfYmNpLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2JjaS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9iY2kuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2VfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2F2YWdlX3N0YXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9zdGF0ZS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9zdGF0ZS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9zdGF0ZS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc2lzL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL3Npcy9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDFjMDYxCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Npcy9NYWtlZmlsZQpAQCAtMCwwICsxLDEwIEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA9IC1JaW5jbHVkZS9kcm0KK3Npcy15IDo9IHNpc19kcnYubyBzaXNfbW0ubworCitvYmotJChDT05GSUdfRFJNX1NJUykgICArPSBzaXMubworCisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2lzX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3Npcy9zaXNfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2lzX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zaXNfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zaXNfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zaXMvc2lzX2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3Npc19tbS5jIGIvZHJpdmVycy9ncHUvZHJtL3Npcy9zaXNfbW0uYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zaXNfbW0uYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3Npcy9zaXNfbW0uYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RkZngvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vdGRmeC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzc5ZjI5Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RkZngvTWFrZWZpbGUKQEAgLTAsMCArMSw4IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCit0ZGZ4LXkgOj0gdGRmeF9kcnYubworCitvYmotJChDT05GSUdfRFJNX1RERlgpCSs9IHRkZngubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS90ZGZ4X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3RkZngvdGRmeF9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS90ZGZ4X2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdGRmeC90ZGZ4X2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3RkZnhfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vdGRmeC90ZGZ4X2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3RkZnhfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS90ZGZ4L3RkZnhfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92aWEvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1OWUyNTgKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL01ha2VmaWxlCkBAIC0wLDAgKzEsOCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQordmlhLXkgICAgOj0gdmlhX2lycS5vIHZpYV9kcnYubyB2aWFfbWFwLm8gdmlhX21tLm8gdmlhX2RtYS5vIHZpYV92ZXJpZmllci5vIHZpYV92aWRlby5vIHZpYV9kbWFibGl0Lm8KKworb2JqLSQoQ09ORklHX0RSTV9WSUEpCSs9dmlhLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhXzNkX3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfM2RfcmVnLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhXzNkX3JlZy5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV8zZF9yZWcuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZG1hLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9kbWFibGl0LmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWFibGl0LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2RtYWJsaXQuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hYmxpdC5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9kbWFibGl0LmggYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWFibGl0LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2RtYWJsaXQuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hYmxpdC5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9pcnEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfaXJxLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2lycS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9tYXAuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX21hcC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9tYXAuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfbWFwLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX21tLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9tbS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9tbS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9tbS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV92ZXJpZmllci5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmVyaWZpZXIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfdmVyaWZpZXIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmVyaWZpZXIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfdmVyaWZpZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZlcmlmaWVyLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX3ZlcmlmaWVyLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZlcmlmaWVyLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX3ZpZGVvLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92aWRlby5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV92aWRlby5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92aWRlby5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2hpZC9oaWRyYXcuYyBiL2RyaXZlcnMvaGlkL2hpZHJhdy5jCmluZGV4IDFjYTZmNDYuLjJmZGU2YzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaGlkL2hpZHJhdy5jCisrKyBiL2RyaXZlcnMvaGlkL2hpZHJhdy5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KICNpbmNsdWRlIDxsaW51eC9oaWQuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxsaW51eC9oaWRyYXcuaD4KIApAQCAtMTU3LDYgKzE1OCw3IEBACiAJc3RydWN0IGhpZHJhd19saXN0ICpsaXN0OwogCWludCBlcnIgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZiAoIShsaXN0ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGhpZHJhd19saXN0KSwgR0ZQX0tFUk5FTCkpKSB7CiAJCWVyciA9IC1FTk9NRU07CiAJCWdvdG8gb3V0OwpAQCAtMTgzLDYgKzE4NSw3IEBACiBvdXRfdW5sb2NrOgogCXNwaW5fdW5sb2NrKCZtaW5vcnNfbG9jayk7CiBvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiAKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLWJpdC5jIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMKaW5kZXggMzU4MTI4Mi4uZWI4ZjcyYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMKKysrIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMKQEAgLTMyMCw3ICszMjAsNyBAQAogCQkgICAgICAgdW5zaWduZWQgY2hhciBhZGRyLCBpbnQgcmV0cmllcykKIHsKIAlzdHJ1Y3QgaTJjX2FsZ29fYml0X2RhdGEgKmFkYXAgPSBpMmNfYWRhcC0+YWxnb19kYXRhOwotCWludCBpLCByZXQgPSAtMTsKKwlpbnQgaSwgcmV0ID0gMDsKIAogCWZvciAoaSA9IDA7IGkgPD0gcmV0cmllczsgaSsrKSB7CiAJCXJldCA9IGkyY19vdXRiKGkyY19hZGFwLCBhZGRyKTsKQEAgLTUwOCw3ICs1MDgsNyBAQAogCQkJYWRkciBePSAxOwogCQlyZXQgPSB0cnlfYWRkcmVzcyhpMmNfYWRhcCwgYWRkciwgcmV0cmllcyk7CiAJCWlmICgocmV0ICE9IDEpICYmICFuYWtfb2spCi0JCQlyZXR1cm4gLUVSRU1PVEVJTzsKKwkJCXJldHVybiAtRU5YSU87CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2EuYyBiL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjYS5jCmluZGV4IGU5NTRhMjAuLmQ1MGIzMjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjYS5jCisrKyBiL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjYS5jCkBAIC0xODIsNyArMTgyLDcgQEAKIAl9CiAJaWYgKHN0YXRlICE9IDB4ZjgpIHsKIAkJZGV2X2RiZygmaTJjX2FkYXAtPmRldiwgImJ1cyBpcyBub3QgaWRsZS4gc3RhdHVzIGlzICUjMDR4XG4iLCBzdGF0ZSk7Ci0JCXJldHVybiAtRUlPOworCQlyZXR1cm4gLUVBR0FJTjsKIAl9CiAKIAlERUIxKCJ7e3sgWEZFUiAlZCBtZXNzYWdlc1xuIiwgbnVtKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjZi5jIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNmLmMKaW5kZXggODkwN2IwMS4uMWUzMjhkMTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjZi5jCisrKyBiL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjZi5jCkBAIC03OCw2ICs3OCwzNiBAQAogCXNldF9wY2YoYWRhcCwgMSwgSTJDX1BDRl9TVE9QKTsKIH0KIAorc3RhdGljIHZvaWQgaGFuZGxlX2xhYihzdHJ1Y3QgaTJjX2FsZ29fcGNmX2RhdGEgKmFkYXAsIGNvbnN0IGludCAqc3RhdHVzKQoreworCURFQjIocHJpbnRrKEtFUk5fSU5GTworCQkiaTJjLWFsZ28tcGNmLm86IGxvc3QgYXJiaXRyYXRpb24gKENTUiAweCUwMngpXG4iLAorCQkgKnN0YXR1cykpOworCisJLyogQ2xlYW51cCBmcm9tIExBQiAtLSByZXNldCBhbmQgZW5hYmxlIEVTTy4KKwkgKiBUaGlzIHJlc2V0cyB0aGUgUENGODU4NDsgc2luY2Ugd2UndmUgbG9zdCB0aGUgYnVzLCBubworCSAqIGZ1cnRoZXIgYXR0ZW1wdHMgc2hvdWxkIGJlIG1hZGUgYnkgY2FsbGVycyB0byBjbGVhbiB1cAorCSAqIChubyBpMmNfc3RvcCgpIGV0Yy4pCisJICovCisJc2V0X3BjZihhZGFwLCAxLCBJMkNfUENGX1BJTik7CisJc2V0X3BjZihhZGFwLCAxLCBJMkNfUENGX0VTTyk7CisKKwkvKiBXZSBwYXVzZSBmb3IgYSB0aW1lIHBlcmlvZCBzdWZmaWNpZW50IGZvciBhbnkgcnVubmluZworCSAqIEkyQyB0cmFuc2FjdGlvbiB0byBjb21wbGV0ZSAtLSB0aGUgYXJiaXRyYXRpb24gbG9naWMgd29uJ3QKKwkgKiB3b3JrIHByb3Blcmx5IHVudGlsIHRoZSBuZXh0IFNUQVJUIGlzIHNlZW4uCisJICogSXQgaXMgYXNzdW1lZCB0aGUgYnVzIGRyaXZlciBvciBjbGllbnQgaGFzIHNldCBhIHByb3BlciB2YWx1ZS4KKwkgKgorCSAqIFJFVklTSVQ6IHNob3VsZCBwcm9iYWJseSB1c2UgbXNsZWVwIGluc3RlYWQgb2YgbWRlbGF5IGlmIHdlCisJICoga25vdyB3ZSBjYW4gc2xlZXAuCisJICovCisJaWYgKGFkYXAtPmxhYl9tZGVsYXkpCisJCW1kZWxheShhZGFwLT5sYWJfbWRlbGF5KTsKKworCURFQjIocHJpbnRrKEtFUk5fSU5GTworCQkiaTJjLWFsZ28tcGNmLm86IHJlc2V0IExBQiBjb25kaXRpb24gKENTUiAweCUwMngpXG4iLAorCQlnZXRfcGNmKGFkYXAsIDEpKSk7Cit9CisKIHN0YXRpYyBpbnQgd2FpdF9mb3JfYmIoc3RydWN0IGkyY19hbGdvX3BjZl9kYXRhICphZGFwKSB7CiAKIAlpbnQgdGltZW91dCA9IERFRl9USU1FT1VUOwpAQCAtMTA5LDIzICsxMzksNyBAQAogCQkqc3RhdHVzID0gZ2V0X3BjZihhZGFwLCAxKTsKIAl9CiAJaWYgKCpzdGF0dXMgJiBJMkNfUENGX0xBQikgewotCQlERUIyKHByaW50ayhLRVJOX0lORk8gCi0JCQkiaTJjLWFsZ28tcGNmLm86IGxvc3QgYXJiaXRyYXRpb24gKENTUiAweCUwMngpXG4iLAotCQkJICpzdGF0dXMpKTsKLQkJLyogQ2xlYW51cCBmcm9tIExBQi0tIHJlc2V0IGFuZCBlbmFibGUgRVNPLgotCQkgKiBUaGlzIHJlc2V0cyB0aGUgUENGODU4NDsgc2luY2Ugd2UndmUgbG9zdCB0aGUgYnVzLCBubwotCQkgKiBmdXJ0aGVyIGF0dGVtcHRzIHNob3VsZCBiZSBtYWRlIGJ5IGNhbGxlcnMgdG8gY2xlYW4gdXAgCi0JCSAqIChubyBpMmNfc3RvcCgpIGV0Yy4pCi0JCSAqLwotCQlzZXRfcGNmKGFkYXAsIDEsIEkyQ19QQ0ZfUElOKTsKLQkJc2V0X3BjZihhZGFwLCAxLCBJMkNfUENGX0VTTyk7Ci0JCS8qIFRPRE86IHdlIHNob3VsZCBwYXVzZSBmb3IgYSB0aW1lIHBlcmlvZCBzdWZmaWNpZW50IGZvciBhbnkKLQkJICogcnVubmluZyBJMkMgdHJhbnNhY3Rpb24gdG8gY29tcGxldGUtLSB0aGUgYXJiaXRyYXRpb24KLQkJICogbG9naWMgd29uJ3Qgd29yayBwcm9wZXJseSB1bnRpbCB0aGUgbmV4dCBTVEFSVCBpcyBzZWVuLgotCQkgKi8KLQkJREVCMihwcmludGsoS0VSTl9JTkZPIAotCQkJImkyYy1hbGdvLXBjZi5vOiByZXNldCBMQUIgY29uZGl0aW9uIChDU1IgMHglMDJ4KVxuIiwgCi0JCQlnZXRfcGNmKGFkYXAsMSkpKTsKKwkJaGFuZGxlX2xhYihhZGFwLCBzdGF0dXMpOwogCQlyZXR1cm4oLUVJTlRSKTsKIAl9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9LY29uZmlnIGIvZHJpdmVycy9pMmMvYnVzc2VzL0tjb25maWcKaW5kZXggNDg0MzhjYy4uNmVlOTk3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL0tjb25maWcKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL0tjb25maWcKQEAgLTQsNiArNCw5IEBACiAKIG1lbnUgIkkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydCIKIAorY29tbWVudCAiUEMgU01CdXMgaG9zdCBjb250cm9sbGVyIGRyaXZlcnMiCisJZGVwZW5kcyBvbiBQQ0kKKwogY29uZmlnIEkyQ19BTEkxNTM1CiAJdHJpc3RhdGUgIkFMSSAxNTM1IgogCWRlcGVuZHMgb24gUENJCkBAIC03Myw2ICs3NiwxODYgQEAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIGkyYy1hbWQ4MTExLgogCitjb25maWcgSTJDX0k4MDEKKwl0cmlzdGF0ZSAiSW50ZWwgODI4MDEgKElDSCkiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgSW50ZWwKKwkgIDgwMSBmYW1pbHkgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCisJICB2ZXJzaW9ucyBvZiB0aGUgY2hpcHNldCBhcmUgc3VwcG9ydGVkOgorCSAgICA4MjgwMUFBCisJICAgIDgyODAxQUIKKwkgICAgODI4MDFCQQorCSAgICA4MjgwMUNBL0NBTQorCSAgICA4MjgwMURCCisJICAgIDgyODAxRUIvRVIgKElDSDUvSUNINVIpCisJICAgIDYzMDBFU0IKKwkgICAgSUNINgorCSAgICBJQ0g3CisJICAgIEVTQjIKKwkgICAgSUNIOAorCSAgICBJQ0g5CisJICAgIFRvbGFwYWkKKwkgICAgSUNIMTAKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWk4MDEuCisKK2NvbmZpZyBJMkNfSVNDSAorCXRyaXN0YXRlICJJbnRlbCBTQ0ggU01CdXMgMS4wIgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCB0byB1c2UgU01CdXMgY29udHJvbGxlciBvbiB0aGUgSW50ZWwgU0NICisJICBiYXNlZCBzeXN0ZW1zLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1pc2NoLgorCitjb25maWcgSTJDX1BJSVg0CisJdHJpc3RhdGUgIkludGVsIFBJSVg0IGFuZCBjb21wYXRpYmxlIChBVEkvU2VydmVyd29ya3MvQnJvYWRjb20vU01TQykiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgSW50ZWwKKwkgIFBJSVg0IGZhbWlseSBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKKwkgIHZlcnNpb25zIG9mIHRoZSBjaGlwc2V0IGFyZSBzdXBwb3J0ZWQgKG5vdGUgdGhhdCBTZXJ2ZXJ3b3JrcyBpcyBwYXJ0CisJICBvZiBCcm9hZGNvbSk6CisJICAgIEludGVsIFBJSVg0CisJICAgIEludGVsIDQ0ME1YCisJICAgIEFUSSBJWFAyMDAKKwkgICAgQVRJIElYUDMwMAorCSAgICBBVEkgSVhQNDAwCisJICAgIEFUSSBTQjYwMAorCSAgICBBVEkgU0I3MDAKKwkgICAgQVRJIFNCODAwCisJICAgIFNlcnZlcndvcmtzIE9TQjQKKwkgICAgU2VydmVyd29ya3MgQ1NCNQorCSAgICBTZXJ2ZXJ3b3JrcyBDU0I2CisJICAgIFNlcnZlcndvcmtzIEhULTEwMDAKKwkgICAgU01TQyBWaWN0b3J5NjYKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBpaXg0LgorCitjb25maWcgSTJDX05GT1JDRTIKKwl0cmlzdGF0ZSAiTnZpZGlhIG5Gb3JjZTIsIG5Gb3JjZTMgYW5kIG5Gb3JjZTQiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgTnZpZGlhCisJICBuRm9yY2UyLCBuRm9yY2UzIGFuZCBuRm9yY2U0IGZhbWlsaWVzIG9mIG1haW5ib2FyZCBJMkMgaW50ZXJmYWNlcy4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW5mb3JjZTIuCisKK2NvbmZpZyBJMkNfTkZPUkNFMl9TNDk4NQorCXRyaXN0YXRlICJTTUJ1cyBtdWx0aXBsZXhpbmcgb24gdGhlIFR5YW4gUzQ5ODUiCisJZGVwZW5kcyBvbiBJMkNfTkZPUkNFMiAmJiBFWFBFUklNRU5UQUwKKwloZWxwCisJICBFbmFibGluZyB0aGlzIG9wdGlvbiB3aWxsIGFkZCBzcGVjaWZpYyBTTUJ1cyBzdXBwb3J0IGZvciB0aGUgVHlhbgorCSAgUzQ5ODUgbW90aGVyYm9hcmQuICBPbiB0aGlzIDQtQ1BVIGJvYXJkLCB0aGUgU01CdXMgaXMgbXVsdGlwbGV4ZWQKKwkgIG92ZXIgNCBkaWZmZXJlbnQgY2hhbm5lbHMsIHdoZXJlIHRoZSB2YXJpb3VzIG1lbW9yeSBtb2R1bGUgRUVQUk9NcworCSAgbGl2ZS4gIFNheWluZyB5ZXMgaGVyZSB3aWxsIGdpdmUgeW91IGFjY2VzcyB0byB0aGVzZSBpbiBhZGRpdGlvbgorCSAgdG8gdGhlIHRydW5rLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtbmZvcmNlMi1zNDk4NS4KKworY29uZmlnIEkyQ19TSVM1NTk1CisJdHJpc3RhdGUgIlNpUyA1NTk1IgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCisJICBTaVM1NTk1IFNNQnVzIChhIHN1YnNldCBvZiBJMkMpIGludGVyZmFjZS4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczU1OTUuCisKK2NvbmZpZyBJMkNfU0lTNjMwCisJdHJpc3RhdGUgIlNpUyA2MzAvNzMwIgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCisJICBTaVM2MzAgYW5kIFNpUzczMCBTTUJ1cyAoYSBzdWJzZXQgb2YgSTJDKSBpbnRlcmZhY2UuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaXM2MzAuCisKK2NvbmZpZyBJMkNfU0lTOTZYCisJdHJpc3RhdGUgIlNpUyA5NngiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgU2lTCisJICA5NnggU01CdXMgKGEgc3Vic2V0IG9mIEkyQykgaW50ZXJmYWNlcy4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZworCSAgY2hpcHNldHMgYXJlIHN1cHBvcnRlZDoKKwkgICAgNjQ1Lzk2MQorCSAgICA2NDVEWC85NjEKKwkgICAgNjQ1RFgvOTYyCisJICAgIDY0OC85NjEKKwkgICAgNjUwLzk2MQorCSAgICA3MzUKKwkgICAgNzQ1CisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaXM5NnguCisKK2NvbmZpZyBJMkNfVklBCisJdHJpc3RhdGUgIlZJQSBWVDgyQzU4NkIiCisJZGVwZW5kcyBvbiBQQ0kgJiYgRVhQRVJJTUVOVEFMCisJc2VsZWN0IEkyQ19BTEdPQklUCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIFZJQQorICAgICAgICAgIDgyQzU4NkIgSTJDIGludGVyZmFjZQorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtdmlhLgorCitjb25maWcgSTJDX1ZJQVBSTworCXRyaXN0YXRlICJWSUEgVlQ4MkM1OTYvODJDNjg2LzgyeHggYW5kIENYNzAwIgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIFZJQQorCSAgVlQ4MkM1OTYgYW5kIGxhdGVyIFNNQnVzIGludGVyZmFjZS4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZworCSAgY2hpcHNldHMgYXJlIHN1cHBvcnRlZDoKKwkgICAgVlQ4MkM1OTZBL0IKKwkgICAgVlQ4MkM2ODZBL0IKKwkgICAgVlQ4MjMxCisJICAgIFZUODIzMy9BCisJICAgIFZUODIzNQorCSAgICBWVDgyMzdSL0EvUworCSAgICBWVDgyNTEKKwkgICAgQ1g3MDAKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZpYXByby4KKworY29tbWVudCAiTWFjIFNNQnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzIgorCWRlcGVuZHMgb24gUFBDX0NIUlAgfHwgUFBDX1BNQUMKKworY29uZmlnIEkyQ19IWURSQQorCXRyaXN0YXRlICJDSFJQIEFwcGxlIEh5ZHJhIE1hYyBJL08gSTJDIGludGVyZmFjZSIKKwlkZXBlbmRzIG9uIFBDSSAmJiBQUENfQ0hSUCAmJiBFWFBFUklNRU5UQUwKKwlzZWxlY3QgSTJDX0FMR09CSVQKKwloZWxwCisJICBUaGlzIHN1cHBvcnRzIHRoZSB1c2Ugb2YgdGhlIEkyQyBpbnRlcmZhY2UgaW4gdGhlIEFwcGxlIEh5ZHJhIE1hYworCSAgSS9PIGNoaXAgb24gc29tZSBDSFJQIG1hY2hpbmVzIChlLmcuIHRoZSBMb25nVHJhaWwpLiAgU2F5IFkgaWYgeW91CisJICBoYXZlIHN1Y2ggYSBtYWNoaW5lLgorCisJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWh5ZHJhLgorCitjb25maWcgSTJDX1BPV0VSTUFDCisJdHJpc3RhdGUgIlBvd2VybWFjIEkyQyBpbnRlcmZhY2UiCisJZGVwZW5kcyBvbiBQUENfUE1BQworCWRlZmF1bHQgeQorCWhlbHAKKwkgIFRoaXMgZXhwb3NlcyB0aGUgdmFyaW91cyBQb3dlck1hYyBpMmMgaW50ZXJmYWNlcyB0byB0aGUgbGludXggaTJjCisJICBsYXllciBhbmQgdG8gdXNlcmxhbmQuIEl0IGlzIHVzZWQgYnkgdmFyaW91cyBkcml2ZXJzIG9uIHRoZSBQb3dlck1hYworCSAgcGxhdGZvcm0sIGFuZCBzaG91bGQgZ2VuZXJhbGx5IGJlIGVuYWJsZWQuCisKKwkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtcG93ZXJtYWMuCisKK2NvbW1lbnQgIkkyQyBzeXN0ZW0gYnVzIGRyaXZlcnMgKG1vc3RseSBlbWJlZGRlZCAvIHN5c3RlbS1vbi1jaGlwKSIKKwogY29uZmlnIEkyQ19BVDkxCiAJdHJpc3RhdGUgIkF0bWVsIEFUOTEgSTJDIFR3by1XaXJlIGludGVyZmFjZSAoVFdJKSIKIAlkZXBlbmRzIG9uIEFSQ0hfQVQ5MSAmJiBFWFBFUklNRU5UQUwgJiYgQlJPS0VOCkBAIC0xMDEsMTAgKzI4NCw5IEBACiBjb25maWcgSTJDX0JMQUNLRklOX1RXSQogCXRyaXN0YXRlICJCbGFja2ZpbiBUV0kgSTJDIHN1cHBvcnQiCiAJZGVwZW5kcyBvbiBCTEFDS0ZJTgorCWRlcGVuZHMgb24gIUJGNTYxICYmICFCRjUzMSAmJiAhQkY1MzIgJiYgIUJGNTMzCiAJaGVscAotCSAgVGhpcyBpcyB0aGUgVFdJIEkyQyBkZXZpY2UgZHJpdmVyIGZvciBCbGFja2ZpbiBCRjUyMiwgQkY1MjUsCi0JICBCRjUyNywgQkY1MzQsIEJGNTM2LCBCRjUzNyBhbmQgQkY1NHguIEZvciBvdGhlciBCbGFja2ZpbiBwcm9jZXNzb3JzLAotCSAgcGxlYXNlIGRvbid0IHVzZSB0aGlzIGRyaXZlci4KKwkgIFRoaXMgaXMgdGhlIEkyQyBidXMgZHJpdmVyIGZvciBCbGFja2ZpbiBvbi1jaGlwIFRXSSBpbnRlcmZhY2UuCiAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIGkyYy1iZmluLXR3aS4KQEAgLTExNyw2ICsyOTksMTYgQEAKIAloZWxwCiAJICBUaGUgdW5pdCBvZiB0aGUgVFdJIGNsb2NrIGlzIGtIei4KIAorY29uZmlnIEkyQ19DUE0KKwl0cmlzdGF0ZSAiRnJlZXNjYWxlIENQTTEgb3IgQ1BNMiAoTVBDOHh4LzgyNngpIgorCWRlcGVuZHMgb24gKENQTTEgfHwgQ1BNMikgJiYgT0ZfSTJDCisJaGVscAorCSAgVGhpcyBzdXBwb3J0cyB0aGUgdXNlIG9mIHRoZSBJMkMgaW50ZXJmYWNlIG9uIEZyZWVzY2FsZQorCSAgcHJvY2Vzc29ycyB3aXRoIENQTTEgb3IgQ1BNMi4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWNwbS4KKwogY29uZmlnIEkyQ19EQVZJTkNJCiAJdHJpc3RhdGUgIkRhVmluY2kgSTJDIGRyaXZlciIKIAlkZXBlbmRzIG9uIEFSQ0hfREFWSU5DSQpAQCAtMTMwLDE3ICszMjIsNiBAQAogCSAgZGV2aWNlcyBzdWNoIGFzIERhVmluY2kgTklDLgogCSAgRm9yIGRldGFpbHMgcGxlYXNlIHNlZSBodHRwOi8vd3d3LnRpLmNvbS9kYXZpbmNpCiAKLWNvbmZpZyBJMkNfRUxFS1RPUgotCXRyaXN0YXRlICJFbGVrdG9yIElTQSBjYXJkIgotCWRlcGVuZHMgb24gSVNBICYmIEJST0tFTl9PTl9TTVAKLQlzZWxlY3QgSTJDX0FMR09QQ0YKLQloZWxwCi0JICBUaGlzIHN1cHBvcnRzIHRoZSBQQ0Y4NTg0IElTQSBidXMgSTJDIGFkYXB0ZXIuICBTYXkgWSBpZiB5b3Ugb3duCi0JICBzdWNoIGFuIGFkYXB0ZXIuCi0KLQkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtZWxla3Rvci4KLQogY29uZmlnIEkyQ19HUElPCiAJdHJpc3RhdGUgIkdQSU8tYmFzZWQgYml0YmFuZ2luZyBJMkMiCiAJZGVwZW5kcyBvbiBHRU5FUklDX0dQSU8KQEAgLTE0OSwxMDQgKzMzMCw2IEBACiAJICBUaGlzIGlzIGEgdmVyeSBzaW1wbGUgYml0YmFuZ2luZyBJMkMgZHJpdmVyIHV0aWxpemluZyB0aGUKIAkgIGFyY2gtbmV1dHJhbCBHUElPIEFQSSB0byBjb250cm9sIHRoZSBTQ0wgYW5kIFNEQSBsaW5lcy4KIAotY29uZmlnIEkyQ19IWURSQQotCXRyaXN0YXRlICJDSFJQIEFwcGxlIEh5ZHJhIE1hYyBJL08gSTJDIGludGVyZmFjZSIKLQlkZXBlbmRzIG9uIFBDSSAmJiBQUENfQ0hSUCAmJiBFWFBFUklNRU5UQUwKLQlzZWxlY3QgSTJDX0FMR09CSVQKLQloZWxwCi0JICBUaGlzIHN1cHBvcnRzIHRoZSB1c2Ugb2YgdGhlIEkyQyBpbnRlcmZhY2UgaW4gdGhlIEFwcGxlIEh5ZHJhIE1hYwotCSAgSS9PIGNoaXAgb24gc29tZSBDSFJQIG1hY2hpbmVzIChlLmcuIHRoZSBMb25nVHJhaWwpLiAgU2F5IFkgaWYgeW91Ci0JICBoYXZlIHN1Y2ggYSBtYWNoaW5lLgotCi0JICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWh5ZHJhLgotCi1jb25maWcgSTJDX0k4MDEKLQl0cmlzdGF0ZSAiSW50ZWwgODI4MDEgKElDSCkiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgSW50ZWwKLQkgIDgwMSBmYW1pbHkgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCi0JICB2ZXJzaW9ucyBvZiB0aGUgY2hpcHNldCBhcmUgc3VwcG9ydGVkOgotCSAgICA4MjgwMUFBCi0JICAgIDgyODAxQUIKLQkgICAgODI4MDFCQQotCSAgICA4MjgwMUNBL0NBTQotCSAgICA4MjgwMURCCi0JICAgIDgyODAxRUIvRVIgKElDSDUvSUNINVIpCi0JICAgIDYzMDBFU0IKLQkgICAgSUNINgotCSAgICBJQ0g3Ci0JICAgIEVTQjIKLQkgICAgSUNIOAotCSAgICBJQ0g5Ci0JICAgIFRvbGFwYWkKLQkgICAgSUNIMTAKLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWk4MDEuCi0KLWNvbmZpZyBJMkNfSTgxMAotCXRyaXN0YXRlICJJbnRlbCA4MTAvODE1IChERVBSRUNBVEVEKSIKLQlkZWZhdWx0IG4KLQlkZXBlbmRzIG9uIFBDSQotCXNlbGVjdCBJMkNfQUxHT0JJVAotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBJbnRlbAotCSAgODEwLzgxNSBmYW1pbHkgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUKLQkgIGZvbGxvd2luZyB2ZXJzaW9ucyBvZiB0aGUgY2hpcHNldCBhcmUgc3VwcG9ydGVkOgotCSAgICBpODEwQUEKLQkgICAgaTgxMEFCCi0JICAgIGk4MTBFCi0JICAgIGk4MTUKLQkgICAgaTg0NUcKLQotCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgaTgxMGZiIGFuZCBpbnRlbGZiIGRyaXZlcnMuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1pODEwLgotCi1jb25maWcgSTJDX1BYQQotCXRyaXN0YXRlICJJbnRlbCBQWEEyWFggSTJDIGFkYXB0ZXIgKEVYUEVSSU1FTlRBTCkiCi0JZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwgJiYgQVJDSF9QWEEKLQloZWxwCi0JICBJZiB5b3UgaGF2ZSBkZXZpY2VzIGluIHRoZSBQWEEgSTJDIGJ1cywgc2F5IHllcyB0byB0aGlzIG9wdGlvbi4KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1weGEuCi0KLWNvbmZpZyBJMkNfUFhBX1NMQVZFCi0JYm9vbCAiSW50ZWwgUFhBMlhYIEkyQyBTbGF2ZSBjb21tcyBzdXBwb3J0IgotCWRlcGVuZHMgb24gSTJDX1BYQQotCWhlbHAKLQkgIFN1cHBvcnQgSTJDIHNsYXZlIG1vZGUgY29tbXVuaWNhdGlvbnMgb24gdGhlIFBYQSBJMkMgYnVzLiAgVGhpcwotCSAgaXMgbmVjZXNzYXJ5IGZvciBzeXN0ZW1zIHdoZXJlIHRoZSBQWEEgbWF5IGJlIGEgdGFyZ2V0IG9uIHRoZQotCSAgSTJDIGJ1cy4KLQotY29uZmlnIEkyQ19QSUlYNAotCXRyaXN0YXRlICJJbnRlbCBQSUlYNCBhbmQgY29tcGF0aWJsZSAoQVRJL1NlcnZlcndvcmtzL0Jyb2FkY29tL1NNU0MpIgotCWRlcGVuZHMgb24gUENJCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIEludGVsCi0JICBQSUlYNCBmYW1pbHkgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCi0JICB2ZXJzaW9ucyBvZiB0aGUgY2hpcHNldCBhcmUgc3VwcG9ydGVkIChub3RlIHRoYXQgU2VydmVyd29ya3MgaXMgcGFydAotCSAgb2YgQnJvYWRjb20pOgotCSAgICBJbnRlbCBQSUlYNAotCSAgICBJbnRlbCA0NDBNWAotCSAgICBBVEkgSVhQMjAwCi0JICAgIEFUSSBJWFAzMDAKLQkgICAgQVRJIElYUDQwMAotCSAgICBBVEkgU0I2MDAKLQkgICAgQVRJIFNCNzAwCi0JICAgIEFUSSBTQjgwMAotCSAgICBTZXJ2ZXJ3b3JrcyBPU0I0Ci0JICAgIFNlcnZlcndvcmtzIENTQjUKLQkgICAgU2VydmVyd29ya3MgQ1NCNgotCSAgICBTZXJ2ZXJ3b3JrcyBIVC0xMDAwCi0JICAgIFNNU0MgVmljdG9yeTY2Ci0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1waWl4NC4KLQogY29uZmlnIEkyQ19JQk1fSUlDCiAJdHJpc3RhdGUgIklCTSBQUEMgNHh4IG9uLWNoaXAgSTJDIGludGVyZmFjZSIKIAlkZXBlbmRzIG9uIDR4eApAQCAtMjgxLDE4ICszNjQsNiBAQAogCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBkcm9wcGVkIHNvb24uIFVzZSBpMmMtZ3BpbwogCSAgaW5zdGVhZC4KIAotY29uZmlnIEkyQ19QT1dFUk1BQwotCXRyaXN0YXRlICJQb3dlcm1hYyBJMkMgaW50ZXJmYWNlIgotCWRlcGVuZHMgb24gUFBDX1BNQUMKLQlkZWZhdWx0IHkKLQloZWxwCi0JICBUaGlzIGV4cG9zZXMgdGhlIHZhcmlvdXMgUG93ZXJNYWMgaTJjIGludGVyZmFjZXMgdG8gdGhlIGxpbnV4IGkyYwotCSAgbGF5ZXIgYW5kIHRvIHVzZXJsYW5kLiBJdCBpcyB1c2VkIGJ5IHZhcmlvdXMgZHJpdmVycyBvbiB0aGUgUG93ZXJNYWMKLQkgIHBsYXRmb3JtLCBhbmQgc2hvdWxkIGdlbmVyYWxseSBiZSBlbmFibGVkLgotCi0JICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBvd2VybWFjLgotCiBjb25maWcgSTJDX01QQwogCXRyaXN0YXRlICJNUEMxMDcvODI0eC84NXh4LzUyeHgvODZ4eCIKIAlkZXBlbmRzIG9uIFBQQzMyCkBAIC0zMDUsMTUgKzM3NiwxNSBAQAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW1wYy4KIAotY29uZmlnIEkyQ19ORk9SQ0UyCi0JdHJpc3RhdGUgIk52aWRpYSBuRm9yY2UyLCBuRm9yY2UzIGFuZCBuRm9yY2U0IgotCWRlcGVuZHMgb24gUENJCitjb25maWcgSTJDX01WNjRYWFgKKwl0cmlzdGF0ZSAiTWFydmVsbCBtdjY0eHh4IEkyQyBDb250cm9sbGVyIgorCWRlcGVuZHMgb24gKE1WNjRYNjAgfHwgUExBVF9PUklPTikgJiYgRVhQRVJJTUVOVEFMCiAJaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIE52aWRpYQotCSAgbkZvcmNlMiwgbkZvcmNlMyBhbmQgbkZvcmNlNCBmYW1pbGllcyBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKKwkgIGJ1aWx0LWluIEkyQyBpbnRlcmZhY2Ugb24gdGhlIE1hcnZlbGwgNjR4eHggbGluZSBvZiBob3N0IGJyaWRnZXMuCiAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1uZm9yY2UyLgorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW12NjR4eHguCiAKIGNvbmZpZyBJMkNfT0NPUkVTCiAJdHJpc3RhdGUgIk9wZW5Db3JlcyBJMkMgQ29udHJvbGxlciIKQEAgLTMzNiw2ICs0MDcsODkgQEAKIAkgIExpa2UgT01BUDE1MTAvMTYxMC8xNzEwLzU5MTIgYW5kIE9NQVAyNDJ4LgogCSAgRm9yIGRldGFpbHMgc2VlIGh0dHA6Ly93d3cudGkuY29tL29tYXAuCiAKK2NvbmZpZyBJMkNfUEFTRU1JCisJdHJpc3RhdGUgIlBBIFNlbWkgU01CdXMgaW50ZXJmYWNlIgorCWRlcGVuZHMgb24gUFBDX1BBU0VNSSAmJiBQQ0kKKwloZWxwCisJICBTdXBwb3J0cyB0aGUgUEEgU2VtaSBQV1JmaWNpZW50IG9uLWNoaXAgU01CdXMgaW50ZXJmYWNlcy4KKworY29uZmlnIEkyQ19QTlgKKwl0cmlzdGF0ZSAiSTJDIGJ1cyBzdXBwb3J0IGZvciBQaGlsaXBzIFBOWCB0YXJnZXRzIgorCWRlcGVuZHMgb24gQVJDSF9QTlg0MDA4CisJaGVscAorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIFBoaWxpcHMgSVAzMjA0IEkyQyBJUCBibG9jayBtYXN0ZXIgYW5kL29yCisJICBzbGF2ZSBjb250cm9sbGVyCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wbnguCisKK2NvbmZpZyBJMkNfUFhBCisJdHJpc3RhdGUgIkludGVsIFBYQTJYWCBJMkMgYWRhcHRlciAoRVhQRVJJTUVOVEFMKSIKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBBUkNIX1BYQQorCWhlbHAKKwkgIElmIHlvdSBoYXZlIGRldmljZXMgaW4gdGhlIFBYQSBJMkMgYnVzLCBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLgorCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXB4YS4KKworY29uZmlnIEkyQ19QWEFfU0xBVkUKKwlib29sICJJbnRlbCBQWEEyWFggSTJDIFNsYXZlIGNvbW1zIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBJMkNfUFhBCisJaGVscAorCSAgU3VwcG9ydCBJMkMgc2xhdmUgbW9kZSBjb21tdW5pY2F0aW9ucyBvbiB0aGUgUFhBIEkyQyBidXMuICBUaGlzCisJICBpcyBuZWNlc3NhcnkgZm9yIHN5c3RlbXMgd2hlcmUgdGhlIFBYQSBtYXkgYmUgYSB0YXJnZXQgb24gdGhlCisJICBJMkMgYnVzLgorCitjb25maWcgSTJDX1MzQzI0MTAKKwl0cmlzdGF0ZSAiUzNDMjQxMCBJMkMgRHJpdmVyIgorCWRlcGVuZHMgb24gQVJDSF9TM0MyNDEwCisJaGVscAorCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEkyQyBjb250cm9sbGVyIGluIHRoZQorCSAgU2Ftc3VuZyBTM0MyNDEwIGJhc2VkIFN5c3RlbS1vbi1DaGlwIGRldmljZXMuCisKK2NvbmZpZyBJMkNfU0g3NzYwCisJdHJpc3RhdGUgIlJlbmVzYXMgU0g3NzYwIEkyQyBDb250cm9sbGVyIgorCWRlcGVuZHMgb24gQ1BVX1NVQlRZUEVfU0g3NzYwCisJaGVscAorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIDIgSTJDIGludGVyZmFjZXMgb24gdGhlIFJlbmVzYXMgU0g3NzYwLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtc2g3NzYwLgorCitjb25maWcgSTJDX1NIX01PQklMRQorCXRyaXN0YXRlICJTdXBlckggTW9iaWxlIEkyQyBDb250cm9sbGVyIgorCWRlcGVuZHMgb24gU1VQRVJICisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCisJICBidWlsdC1pbiBJMkMgaW50ZXJmYWNlIG9uIHRoZSBSZW5lc2FzIFNILU1vYmlsZSBwcm9jZXNzb3IuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaF9tb2JpbGUuCisKK2NvbmZpZyBJMkNfU0lNVEVDCisJdHJpc3RhdGUgIlNpbXRlYyBHZW5lcmljIEkyQyBpbnRlcmZhY2UiCisJc2VsZWN0IEkyQ19BTEdPQklUCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IKKwkgIHRoZSBTaW10ZWMgR2VuZXJpYyBJMkMgaW50ZXJmYWNlLiBUaGlzIGRyaXZlciBpcyBmb3IgdGhlCisJICBzaW1wbGUgSTJDIGJ1cyB1c2VkIG9uIG5ld2VyIFNpbXRlYyBwcm9kdWN0cyBmb3IgZ2VuZXJhbAorCSAgSTJDLCBzdWNoIGFzIEREQyBvbiB0aGUgU2ltdGVjIEJCRDIwMTZBLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaW10ZWMuCisKK2NvbmZpZyBJMkNfVkVSU0FUSUxFCisJdHJpc3RhdGUgIkFSTSBWZXJzYXRpbGUvUmVhbHZpZXcgSTJDIGJ1cyBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJDSF9WRVJTQVRJTEUgfHwgQVJDSF9SRUFMVklFVworCXNlbGVjdCBJMkNfQUxHT0JJVAorCWhlbHAKKwkgIFNheSB5ZXMgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCB0aGUgSTJDIHNlcmlhbCBidXMgb24gQVJNcyBWZXJzYXRpbGUKKwkgIHJhbmdlIG9mIHBsYXRmb3Jtcy4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZlcnNhdGlsZS4KKworY29tbWVudCAiRXh0ZXJuYWwgSTJDL1NNQnVzIGFkYXB0ZXIgZHJpdmVycyIKKwogY29uZmlnIEkyQ19QQVJQT1JUCiAJdHJpc3RhdGUgIlBhcmFsbGVsIHBvcnQgYWRhcHRlciIKIAlkZXBlbmRzIG9uIFBBUlBPUlQKQEAgLTM4Myw1MCArNTM3LDEwNiBAQAogCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wYXJwb3J0LWxpZ2h0LgogCi1jb25maWcgSTJDX1BBU0VNSQotCXRyaXN0YXRlICJQQSBTZW1pIFNNQnVzIGludGVyZmFjZSIKLQlkZXBlbmRzIG9uIFBQQ19QQVNFTUkgJiYgUENJCi0JaGVscAotCSAgU3VwcG9ydHMgdGhlIFBBIFNlbWkgUFdSZmljaWVudCBvbi1jaGlwIFNNQnVzIGludGVyZmFjZXMuCi0KLWNvbmZpZyBJMkNfUFJPU0FWQUdFCi0JdHJpc3RhdGUgIlMzL1ZJQSAoUHJvKVNhdmFnZSAoREVQUkVDQVRFRCkiCitjb25maWcgSTJDX1RBT1NfRVZNCisJdHJpc3RhdGUgIlRBT1MgZXZhbHVhdGlvbiBtb2R1bGUiCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKKwlzZWxlY3QgU0VSSU8KKwlzZWxlY3QgU0VSSU9fU0VSUE9SVAogCWRlZmF1bHQgbgotCWRlcGVuZHMgb24gUENJCi0Jc2VsZWN0IEkyQ19BTEdPQklUCiAJaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBJMkMgYnVzIGFuZCBEREMgYnVzIG9mIHRoZSBTM1ZJQSBlbWJlZGRlZCBTYXZhZ2U0IGFuZCBQcm9TYXZhZ2U4Ci0JICBncmFwaGljcyBwcm9jZXNzb3JzLgotCSAgY2hpcHNldHMgc3VwcG9ydGVkOgotCSAgICBTMy9WSUEgS00yNjYvVlQ4Mzc1IGFrYSBQcm9TYXZhZ2U4Ci0JICAgIFMzL1ZJQSBLTTEzMy9WVDgzNjUgYWthIFNhdmFnZTQKKwkgIFRoaXMgc3VwcG9ydHMgVEFPUyBldmFsdWF0aW9uIG1vZHVsZXMgb24gc2VyaWFsIHBvcnQuIEluIG9yZGVyIHRvCisJICB1c2UgdGhpcyBkcml2ZXIsIHlvdSB3aWxsIG5lZWQgdGhlIGlucHV0YXR0YWNoIHRvb2wsIHdoaWNoIGlzIHBhcnQKKwkgIG9mIHRoZSBpbnB1dC11dGlscyBwYWNrYWdlLgogCi0JICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHRoZSBzYXZhZ2VmYiBkcml2ZXIuCisJICBJZiB1bnN1cmUsIHNheSBOLgogCiAJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXByb3NhdmFnZS4KKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy10YW9zLWV2bS4KIAotY29uZmlnIEkyQ19TM0MyNDEwCi0JdHJpc3RhdGUgIlMzQzI0MTAgSTJDIERyaXZlciIKLQlkZXBlbmRzIG9uIEFSQ0hfUzNDMjQxMAorY29uZmlnIEkyQ19USU5ZX1VTQgorCXRyaXN0YXRlICJUaW55LVVTQiBhZGFwdGVyIgorCWRlcGVuZHMgb24gVVNCCiAJaGVscAotCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEkyQyBjb250cm9sbGVyIGluIHRoZQotCSAgU2Ftc3VuZyBTM0MyNDEwIGJhc2VkIFN5c3RlbS1vbi1DaGlwIGRldmljZXMuCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKKwkgIGkyYy10aW55LXVzYiwgYSBzaW1wbGUgZG8taXQteW91cnNlbGYgVVNCIHRvIEkyQyBpbnRlcmZhY2UuIFNlZQorCSAgaHR0cDovL3d3dy5oYXJiYXVtLm9yZy90aWxsL2kyY190aW55X3VzYiBmb3IgaGFyZHdhcmUgZGV0YWlscy4KIAotY29uZmlnIEkyQ19TQVZBR0U0Ci0JdHJpc3RhdGUgIlMzIFNhdmFnZSA0IChERVBSRUNBVEVEKSIKLQlkZWZhdWx0IG4KKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy10aW55LXVzYi4KKworY29tbWVudCAiR3JhcGhpY3MgYWRhcHRlciBJMkMvRERDIGNoYW5uZWwgZHJpdmVycyIKKwlkZXBlbmRzIG9uIFBDSQorCitjb25maWcgSTJDX1ZPT0RPTzMKKwl0cmlzdGF0ZSAiVm9vZG9vIDMiCiAJZGVwZW5kcyBvbiBQQ0kKIAlzZWxlY3QgSTJDX0FMR09CSVQKIAloZWxwCiAJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIFMzIFNhdmFnZSA0IEkyQyBpbnRlcmZhY2UuCi0KLQkgIFRoaXMgZHJpdmVyIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgdGhlIHNhdmFnZWZiIGRyaXZlci4KKwkgIFZvb2RvbyAzIEkyQyBpbnRlcmZhY2UuCiAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zYXZhZ2U0LgorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZvb2RvbzMuCisKK2NvbW1lbnQgIk90aGVyIEkyQy9TTUJ1cyBidXMgZHJpdmVycyIKKworY29uZmlnIEkyQ19BQ09STgorCXRyaXN0YXRlICJBY29ybiBJT0MvSU9NRCBJMkMgYnVzIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBBUkNIX0FDT1JOCisJZGVmYXVsdCB5CisJc2VsZWN0IEkyQ19BTEdPQklUCisJaGVscAorCSAgU2F5IHllcyBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoZSBJMkMgYnVzIG9uIEFjb3JuIHBsYXRmb3Jtcy4KKworCSAgSWYgeW91IGRvbid0IGtub3csIHNheSBZLgorCitjb25maWcgSTJDX0VMRUtUT1IKKwl0cmlzdGF0ZSAiRWxla3RvciBJU0EgY2FyZCIKKwlkZXBlbmRzIG9uIElTQSAmJiBCUk9LRU5fT05fU01QCisJc2VsZWN0IEkyQ19BTEdPUENGCisJaGVscAorCSAgVGhpcyBzdXBwb3J0cyB0aGUgUENGODU4NCBJU0EgYnVzIEkyQyBhZGFwdGVyLiAgU2F5IFkgaWYgeW91IG93bgorCSAgc3VjaCBhbiBhZGFwdGVyLgorCisJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWVsZWt0b3IuCisKK2NvbmZpZyBJMkNfUENBX0lTQQorCXRyaXN0YXRlICJQQ0E5NTY0IG9uIGFuIElTQSBidXMiCisJZGVwZW5kcyBvbiBJU0EKKwlzZWxlY3QgSTJDX0FMR09QQ0EKKwlkZWZhdWx0IG4KKwloZWxwCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBJU0EgYm9hcmRzIHVzaW5nIHRoZSBQaGlsaXBzIFBDQTk1NjQKKwkgIHBhcmFsbGVsIGJ1cyB0byBJMkMgYnVzIGNvbnRyb2xsZXIuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wY2EtaXNhLgorCisJICBUaGlzIGRldmljZSBpcyBhbG1vc3QgdW5kZXRlY3RhYmxlIGFuZCB1c2luZyB0aGlzIGRyaXZlciBvbiBhCisJICBzeXN0ZW0gd2hpY2ggZG9lc24ndCBoYXZlIHRoaXMgZGV2aWNlIHdpbGwgcmVzdWx0IGluIGxvbmcKKwkgIGRlbGF5cyB3aGVuIEkyQy9TTUJ1cyBjaGlwIGRyaXZlcnMgYXJlIGxvYWRlZCAoZS5nLiBhdCBib290CisJICB0aW1lKS4gIElmIHVuc3VyZSwgc2F5IE4uCisKK2NvbmZpZyBJMkNfUENBX1BMQVRGT1JNCisJdHJpc3RhdGUgIlBDQTk1NjQgYXMgcGxhdGZvcm0gZGV2aWNlIgorCXNlbGVjdCBJMkNfQUxHT1BDQQorCWRlZmF1bHQgbgorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIGEgbWVtb3J5IG1hcHBlZCBQaGlsaXBzIFBDQTk1NjQKKwkgIHBhcmFsbGVsIGJ1cyB0byBJMkMgYnVzIGNvbnRyb2xsZXIuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wY2EtcGxhdGZvcm0uCisKK2NvbmZpZyBJMkNfUE1DTVNQCisJdHJpc3RhdGUgIlBNQyBNU1AgSTJDIFRXSSBDb250cm9sbGVyIgorCWRlcGVuZHMgb24gUE1DX01TUAorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBQTUMgVFdJIGNvbnRyb2xsZXIgb24gTVNQIGRldmljZXMuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIG1vZHVsZS4gSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wbWNtc3AuCiAKIGNvbmZpZyBJMkNfU0lCWVRFCiAJdHJpc3RhdGUgIlNpQnl0ZSBTTUJ1cyBpbnRlcmZhY2UiCkBAIC00MzQsMTcgKzY0NCwxOCBAQAogCWhlbHAKIAkgIFN1cHBvcnRzIHRoZSBTaUJ5dGUgU09DIG9uLWNoaXAgSTJDIGludGVyZmFjZXMgKDIgY2hhbm5lbHMpLgogCi1jb25maWcgSTJDX1NJTVRFQwotCXRyaXN0YXRlICJTaW10ZWMgR2VuZXJpYyBJMkMgaW50ZXJmYWNlIgotCXNlbGVjdCBJMkNfQUxHT0JJVAorY29uZmlnIEkyQ19TVFVCCisJdHJpc3RhdGUgIkkyQy9TTUJ1cyBUZXN0IFN0dWIiCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwgJiYgbQorCWRlZmF1bHQgJ24nCiAJaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IKLQkgIHRoZSBTaW10ZWMgR2VuZXJpYyBJMkMgaW50ZXJmYWNlLiBUaGlzIGRyaXZlciBpcyBmb3IgdGhlCi0JICBzaW1wbGUgSTJDIGJ1cyB1c2VkIG9uIG5ld2VyIFNpbXRlYyBwcm9kdWN0cyBmb3IgZ2VuZXJhbAotCSAgSTJDLCBzdWNoIGFzIEREQyBvbiB0aGUgU2ltdGVjIEJCRDIwMTZBLgorCSAgVGhpcyBtb2R1bGUgbWF5IGJlIHVzZWZ1bCB0byBkZXZlbG9wZXJzIG9mIFNNQnVzIGNsaWVudCBkcml2ZXJzLAorCSAgZXNwZWNpYWxseSBmb3IgY2VydGFpbiBraW5kcyBvZiBzZW5zb3IgY2hpcHMuCiAKLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpbXRlYy4KKwkgIElmIHlvdSBkbyBidWlsZCB0aGlzIG1vZHVsZSwgYmUgc3VyZSB0byByZWFkIHRoZSBub3RlcyBhbmQgd2FybmluZ3MKKwkgIGluIDxmaWxlOkRvY3VtZW50YXRpb24vaTJjL2kyYy1zdHViPi4KKworCSAgSWYgeW91IGRvbid0IGtub3cgd2hhdCB0byBkbyBoZXJlLCBkZWZpbml0ZWx5IHNheSBOLgogCiBjb25maWcgU0N4MjAwX0kyQwogCXRyaXN0YXRlICJOYXRTZW1pIFNDeDIwMCBJMkMgdXNpbmcgR1BJTyBwaW5zIChERVBSRUNBVEVEKSIKQEAgLTQ4OSwyMjAgKzcwMCw0IEBACiAJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc2N4MjAwX2FjYi4KIAotY29uZmlnIEkyQ19TSVM1NTk1Ci0JdHJpc3RhdGUgIlNpUyA1NTk1IgotCWRlcGVuZHMgb24gUENJCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBTaVM1NTk1IFNNQnVzIChhIHN1YnNldCBvZiBJMkMpIGludGVyZmFjZS4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczU1OTUuCi0KLWNvbmZpZyBJMkNfU0lTNjMwCi0JdHJpc3RhdGUgIlNpUyA2MzAvNzMwIgotCWRlcGVuZHMgb24gUENJCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBTaVM2MzAgYW5kIFNpUzczMCBTTUJ1cyAoYSBzdWJzZXQgb2YgSTJDKSBpbnRlcmZhY2UuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaXM2MzAuCi0KLWNvbmZpZyBJMkNfU0lTOTZYCi0JdHJpc3RhdGUgIlNpUyA5NngiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgU2lTCi0JICA5NnggU01CdXMgKGEgc3Vic2V0IG9mIEkyQykgaW50ZXJmYWNlcy4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZwotCSAgY2hpcHNldHMgYXJlIHN1cHBvcnRlZDoKLQkgICAgNjQ1Lzk2MQotCSAgICA2NDVEWC85NjEKLQkgICAgNjQ1RFgvOTYyCi0JICAgIDY0OC85NjEKLQkgICAgNjUwLzk2MQotCSAgICA3MzUKLQkgICAgNzQ1Ci0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaXM5NnguCi0KLWNvbmZpZyBJMkNfVEFPU19FVk0KLQl0cmlzdGF0ZSAiVEFPUyBldmFsdWF0aW9uIG1vZHVsZSIKLQlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAotCXNlbGVjdCBTRVJJTwotCXNlbGVjdCBTRVJJT19TRVJQT1JUCi0JZGVmYXVsdCBuCi0JaGVscAotCSAgVGhpcyBzdXBwb3J0cyBUQU9TIGV2YWx1YXRpb24gbW9kdWxlcyBvbiBzZXJpYWwgcG9ydC4gSW4gb3JkZXIgdG8KLQkgIHVzZSB0aGlzIGRyaXZlciwgeW91IHdpbGwgbmVlZCB0aGUgaW5wdXRhdHRhY2ggdG9vbCwgd2hpY2ggaXMgcGFydAotCSAgb2YgdGhlIGlucHV0LXV0aWxzIHBhY2thZ2UuCi0KLQkgIElmIHVuc3VyZSwgc2F5IE4uCi0KLQkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdGFvcy1ldm0uCi0KLWNvbmZpZyBJMkNfU1RVQgotCXRyaXN0YXRlICJJMkMvU01CdXMgVGVzdCBTdHViIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIG0KLQlkZWZhdWx0ICduJwotCWhlbHAKLQkgIFRoaXMgbW9kdWxlIG1heSBiZSB1c2VmdWwgdG8gZGV2ZWxvcGVycyBvZiBTTUJ1cyBjbGllbnQgZHJpdmVycywKLQkgIGVzcGVjaWFsbHkgZm9yIGNlcnRhaW4ga2luZHMgb2Ygc2Vuc29yIGNoaXBzLgotCi0JICBJZiB5b3UgZG8gYnVpbGQgdGhpcyBtb2R1bGUsIGJlIHN1cmUgdG8gcmVhZCB0aGUgbm90ZXMgYW5kIHdhcm5pbmdzCi0JICBpbiA8ZmlsZTpEb2N1bWVudGF0aW9uL2kyYy9pMmMtc3R1Yj4uCi0KLQkgIElmIHlvdSBkb24ndCBrbm93IHdoYXQgdG8gZG8gaGVyZSwgZGVmaW5pdGVseSBzYXkgTi4KLQotY29uZmlnIEkyQ19USU5ZX1VTQgotCXRyaXN0YXRlICJJMkMtVGlueS1VU0IiCi0JZGVwZW5kcyBvbiBVU0IKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIGkyYy10aW55LXVzYiwgYSBzaW1wbGUgZG8taXQteW91cnNlbGYgVVNCIHRvIEkyQyBpbnRlcmZhY2UuIFNlZQotCSAgaHR0cDovL3d3dy5oYXJiYXVtLm9yZy90aWxsL2kyY190aW55X3VzYiBmb3IgaGFyZHdhcmUgZGV0YWlscy4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXRpbnktdXNiLgotCi1jb25maWcgSTJDX1ZFUlNBVElMRQotCXRyaXN0YXRlICJBUk0gVmVyc2F0aWxlL1JlYWx2aWV3IEkyQyBidXMgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFSQ0hfVkVSU0FUSUxFIHx8IEFSQ0hfUkVBTFZJRVcKLQlzZWxlY3QgSTJDX0FMR09CSVQKLQloZWxwCi0JICBTYXkgeWVzIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgdGhlIEkyQyBzZXJpYWwgYnVzIG9uIEFSTXMgVmVyc2F0aWxlCi0JICByYW5nZSBvZiBwbGF0Zm9ybXMuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy12ZXJzYXRpbGUuCi0KLWNvbmZpZyBJMkNfQUNPUk4KLQl0cmlzdGF0ZSAiQWNvcm4gSU9DL0lPTUQgSTJDIGJ1cyBzdXBwb3J0IgotCWRlcGVuZHMgb24gQVJDSF9BQ09STgotCWRlZmF1bHQgeQotCXNlbGVjdCBJMkNfQUxHT0JJVAotCWhlbHAKLQkgIFNheSB5ZXMgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCB0aGUgSTJDIGJ1cyBvbiBBY29ybiBwbGF0Zm9ybXMuCi0KLQkgIElmIHlvdSBkb24ndCBrbm93LCBzYXkgWS4KLQotY29uZmlnIEkyQ19WSUEKLQl0cmlzdGF0ZSAiVklBIDgyQzU4NkIiCi0JZGVwZW5kcyBvbiBQQ0kgJiYgRVhQRVJJTUVOVEFMCi0Jc2VsZWN0IEkyQ19BTEdPQklUCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIFZJQQotICAgICAgICAgIDgyQzU4NkIgSTJDIGludGVyZmFjZQotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdmlhLgotCi1jb25maWcgSTJDX1ZJQVBSTwotCXRyaXN0YXRlICJWSUEgVlQ4MkM1OTYvODJDNjg2LzgyeHggYW5kIENYNzAwIgotCWRlcGVuZHMgb24gUENJCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIFZJQQotCSAgVlQ4MkM1OTYgYW5kIGxhdGVyIFNNQnVzIGludGVyZmFjZS4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZwotCSAgY2hpcHNldHMgYXJlIHN1cHBvcnRlZDoKLQkgICAgVlQ4MkM1OTZBL0IKLQkgICAgVlQ4MkM2ODZBL0IKLQkgICAgVlQ4MjMxCi0JICAgIFZUODIzMy9BCi0JICAgIFZUODIzNQotCSAgICBWVDgyMzdSL0EvUwotCSAgICBWVDgyNTEKLQkgICAgQ1g3MDAKLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZpYXByby4KLQotY29uZmlnIEkyQ19WT09ET08zCi0JdHJpc3RhdGUgIlZvb2RvbyAzIgotCWRlcGVuZHMgb24gUENJCi0Jc2VsZWN0IEkyQ19BTEdPQklUCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBWb29kb28gMyBJMkMgaW50ZXJmYWNlLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdm9vZG9vMy4KLQotY29uZmlnIEkyQ19QQ0FfSVNBCi0JdHJpc3RhdGUgIlBDQTk1NjQgb24gYW4gSVNBIGJ1cyIKLQlkZXBlbmRzIG9uIElTQQotCXNlbGVjdCBJMkNfQUxHT1BDQQotCWRlZmF1bHQgbgotCWhlbHAKLQkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIElTQSBib2FyZHMgdXNpbmcgdGhlIFBoaWxpcHMgUENBOTU2NAotCSAgcGFyYWxsZWwgYnVzIHRvIEkyQyBidXMgY29udHJvbGxlci4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBjYS1pc2EuCi0KLQkgIFRoaXMgZGV2aWNlIGlzIGFsbW9zdCB1bmRldGVjdGFibGUgYW5kIHVzaW5nIHRoaXMgZHJpdmVyIG9uIGEKLQkgIHN5c3RlbSB3aGljaCBkb2Vzbid0IGhhdmUgdGhpcyBkZXZpY2Ugd2lsbCByZXN1bHQgaW4gbG9uZwotCSAgZGVsYXlzIHdoZW4gSTJDL1NNQnVzIGNoaXAgZHJpdmVycyBhcmUgbG9hZGVkIChlLmcuIGF0IGJvb3QKLQkgIHRpbWUpLiAgSWYgdW5zdXJlLCBzYXkgTi4KLQotY29uZmlnIEkyQ19QQ0FfUExBVEZPUk0KLQl0cmlzdGF0ZSAiUENBOTU2NCBhcyBwbGF0Zm9ybSBkZXZpY2UiCi0Jc2VsZWN0IEkyQ19BTEdPUENBCi0JZGVmYXVsdCBuCi0JaGVscAotCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgYSBtZW1vcnkgbWFwcGVkIFBoaWxpcHMgUENBOTU2NAotCSAgcGFyYWxsZWwgYnVzIHRvIEkyQyBidXMgY29udHJvbGxlci4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBjYS1wbGF0Zm9ybS4KLQotY29uZmlnIEkyQ19NVjY0WFhYCi0JdHJpc3RhdGUgIk1hcnZlbGwgbXY2NHh4eCBJMkMgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIChNVjY0WDYwIHx8IFBMQVRfT1JJT04pICYmIEVYUEVSSU1FTlRBTAotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgYnVpbHQtaW4gSTJDIGludGVyZmFjZSBvbiB0aGUgTWFydmVsbCA2NHh4eCBsaW5lIG9mIGhvc3QgYnJpZGdlcy4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW12NjR4eHguCi0KLWNvbmZpZyBJMkNfUE5YCi0JdHJpc3RhdGUgIkkyQyBidXMgc3VwcG9ydCBmb3IgUGhpbGlwcyBQTlggdGFyZ2V0cyIKLQlkZXBlbmRzIG9uIEFSQ0hfUE5YNDAwOAotCWhlbHAKLQkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBQaGlsaXBzIElQMzIwNCBJMkMgSVAgYmxvY2sgbWFzdGVyIGFuZC9vcgotCSAgc2xhdmUgY29udHJvbGxlcgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcG54LgotCi1jb25maWcgSTJDX1BNQ01TUAotCXRyaXN0YXRlICJQTUMgTVNQIEkyQyBUV0kgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFBNQ19NU1AKLQloZWxwCi0JICBUaGlzIGRyaXZlciBzdXBwb3J0cyB0aGUgUE1DIFRXSSBjb250cm9sbGVyIG9uIE1TUCBkZXZpY2VzLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcG1jbXNwLgotCi1jb25maWcgSTJDX1NINzc2MAotCXRyaXN0YXRlICJSZW5lc2FzIFNINzc2MCBJMkMgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIENQVV9TVUJUWVBFX1NINzc2MAotCWhlbHAKLQkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSAyIEkyQyBpbnRlcmZhY2VzIG9uIHRoZSBSZW5lc2FzIFNINzc2MC4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNoNzc2MC4KLQotY29uZmlnIEkyQ19TSF9NT0JJTEUKLQl0cmlzdGF0ZSAiU3VwZXJIIE1vYmlsZSBJMkMgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFNVUEVSSAotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgYnVpbHQtaW4gSTJDIGludGVyZmFjZSBvbiB0aGUgUmVuZXNhcyBTSC1Nb2JpbGUgcHJvY2Vzc29yLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2hfbW9iaWxlLgotCiBlbmRtZW51CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvTWFrZWZpbGUgYi9kcml2ZXJzL2kyYy9idXNzZXMvTWFrZWZpbGUKaW5kZXggZThjODgyYS4uOTdkYmZhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9NYWtlZmlsZQpAQCAtMiw1NyArMiw2OCBAQAogIyBNYWtlZmlsZSBmb3IgdGhlIGkyYyBidXMgZHJpdmVycy4KICMKIAorIyBQQyBTTUJ1cyBob3N0IGNvbnRyb2xsZXIgZHJpdmVycwogb2JqLSQoQ09ORklHX0kyQ19BTEkxNTM1KQkrPSBpMmMtYWxpMTUzNS5vCiBvYmotJChDT05GSUdfSTJDX0FMSTE1NjMpCSs9IGkyYy1hbGkxNTYzLm8KIG9iai0kKENPTkZJR19JMkNfQUxJMTVYMykJKz0gaTJjLWFsaTE1eDMubwogb2JqLSQoQ09ORklHX0kyQ19BTUQ3NTYpCSs9IGkyYy1hbWQ3NTYubwogb2JqLSQoQ09ORklHX0kyQ19BTUQ3NTZfUzQ4ODIpCSs9IGkyYy1hbWQ3NTYtczQ4ODIubwogb2JqLSQoQ09ORklHX0kyQ19BTUQ4MTExKQkrPSBpMmMtYW1kODExMS5vCi1vYmotJChDT05GSUdfSTJDX0FUOTEpCQkrPSBpMmMtYXQ5MS5vCi1vYmotJChDT05GSUdfSTJDX0FVMTU1MCkJKz0gaTJjLWF1MTU1MC5vCi1vYmotJChDT05GSUdfSTJDX0JMQUNLRklOX1RXSSkJKz0gaTJjLWJmaW4tdHdpLm8KLW9iai0kKENPTkZJR19JMkNfREFWSU5DSSkJKz0gaTJjLWRhdmluY2kubwotb2JqLSQoQ09ORklHX0kyQ19FTEVLVE9SKQkrPSBpMmMtZWxla3Rvci5vCi1vYmotJChDT05GSUdfSTJDX0dQSU8pCQkrPSBpMmMtZ3Bpby5vCi1vYmotJChDT05GSUdfSTJDX0hZRFJBKQkJKz0gaTJjLWh5ZHJhLm8KIG9iai0kKENPTkZJR19JMkNfSTgwMSkJCSs9IGkyYy1pODAxLm8KLW9iai0kKENPTkZJR19JMkNfSTgxMCkJCSs9IGkyYy1pODEwLm8KLW9iai0kKENPTkZJR19JMkNfSUJNX0lJQykJKz0gaTJjLWlibV9paWMubwotb2JqLSQoQ09ORklHX0kyQ19JT1AzWFgpCSs9IGkyYy1pb3AzeHgubwotb2JqLSQoQ09ORklHX0kyQ19JWFAyMDAwKQkrPSBpMmMtaXhwMjAwMC5vCi1vYmotJChDT05GSUdfSTJDX1BPV0VSTUFDKQkrPSBpMmMtcG93ZXJtYWMubwotb2JqLSQoQ09ORklHX0kyQ19NUEMpCQkrPSBpMmMtbXBjLm8KLW9iai0kKENPTkZJR19JMkNfTVY2NFhYWCkJKz0gaTJjLW12NjR4eHgubworb2JqLSQoQ09ORklHX0kyQ19JU0NIKQkJKz0gaTJjLWlzY2gubwogb2JqLSQoQ09ORklHX0kyQ19ORk9SQ0UyKQkrPSBpMmMtbmZvcmNlMi5vCi1vYmotJChDT05GSUdfSTJDX09DT1JFUykJKz0gaTJjLW9jb3Jlcy5vCi1vYmotJChDT05GSUdfSTJDX09NQVApCQkrPSBpMmMtb21hcC5vCi1vYmotJChDT05GSUdfSTJDX1BBUlBPUlQpCSs9IGkyYy1wYXJwb3J0Lm8KLW9iai0kKENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCkJKz0gaTJjLXBhcnBvcnQtbGlnaHQubwotb2JqLSQoQ09ORklHX0kyQ19QQVNFTUkpCSs9IGkyYy1wYXNlbWkubwotb2JqLSQoQ09ORklHX0kyQ19QQ0FfSVNBKQkrPSBpMmMtcGNhLWlzYS5vCi1vYmotJChDT05GSUdfSTJDX1BDQV9QTEFURk9STSkJKz0gaTJjLXBjYS1wbGF0Zm9ybS5vCitvYmotJChDT05GSUdfSTJDX05GT1JDRTJfUzQ5ODUpCSs9IGkyYy1uZm9yY2UyLXM0OTg1Lm8KIG9iai0kKENPTkZJR19JMkNfUElJWDQpCQkrPSBpMmMtcGlpeDQubwotb2JqLSQoQ09ORklHX0kyQ19QTUNNU1ApCSs9IGkyYy1wbWNtc3Aubwotb2JqLSQoQ09ORklHX0kyQ19QTlgpCQkrPSBpMmMtcG54Lm8KLW9iai0kKENPTkZJR19JMkNfUFJPU0FWQUdFKQkrPSBpMmMtcHJvc2F2YWdlLm8KLW9iai0kKENPTkZJR19JMkNfUFhBKQkJKz0gaTJjLXB4YS5vCi1vYmotJChDT05GSUdfSTJDX1MzQzI0MTApCSs9IGkyYy1zM2MyNDEwLm8KLW9iai0kKENPTkZJR19JMkNfU0FWQUdFNCkJKz0gaTJjLXNhdmFnZTQubwotb2JqLSQoQ09ORklHX0kyQ19TSDc3NjApCSs9IGkyYy1zaDc3NjAubwotb2JqLSQoQ09ORklHX0kyQ19TSF9NT0JJTEUpCSs9IGkyYy1zaF9tb2JpbGUubwotb2JqLSQoQ09ORklHX0kyQ19TSUJZVEUpCSs9IGkyYy1zaWJ5dGUubwotb2JqLSQoQ09ORklHX0kyQ19TSU1URUMpCSs9IGkyYy1zaW10ZWMubwogb2JqLSQoQ09ORklHX0kyQ19TSVM1NTk1KQkrPSBpMmMtc2lzNTU5NS5vCiBvYmotJChDT05GSUdfSTJDX1NJUzYzMCkJKz0gaTJjLXNpczYzMC5vCiBvYmotJChDT05GSUdfSTJDX1NJUzk2WCkJKz0gaTJjLXNpczk2eC5vCi1vYmotJChDT05GSUdfSTJDX1NUVUIpCQkrPSBpMmMtc3R1Yi5vCi1vYmotJChDT05GSUdfSTJDX1RBT1NfRVZNKQkrPSBpMmMtdGFvcy1ldm0ubwotb2JqLSQoQ09ORklHX0kyQ19USU5ZX1VTQikJKz0gaTJjLXRpbnktdXNiLm8KLW9iai0kKENPTkZJR19JMkNfVkVSU0FUSUxFKQkrPSBpMmMtdmVyc2F0aWxlLm8KLW9iai0kKENPTkZJR19JMkNfQUNPUk4pCQkrPSBpMmMtYWNvcm4ubwogb2JqLSQoQ09ORklHX0kyQ19WSUEpCQkrPSBpMmMtdmlhLm8KIG9iai0kKENPTkZJR19JMkNfVklBUFJPKQkrPSBpMmMtdmlhcHJvLm8KKworIyBNYWMgU01CdXMgaG9zdCBjb250cm9sbGVyIGRyaXZlcnMKK29iai0kKENPTkZJR19JMkNfSFlEUkEpCQkrPSBpMmMtaHlkcmEubworb2JqLSQoQ09ORklHX0kyQ19QT1dFUk1BQykJKz0gaTJjLXBvd2VybWFjLm8KKworIyBFbWJlYmJlZCBzeXN0ZW0gSTJDL1NNQnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzCitvYmotJChDT05GSUdfSTJDX0FUOTEpCQkrPSBpMmMtYXQ5MS5vCitvYmotJChDT05GSUdfSTJDX0FVMTU1MCkJKz0gaTJjLWF1MTU1MC5vCitvYmotJChDT05GSUdfSTJDX0JMQUNLRklOX1RXSSkJKz0gaTJjLWJmaW4tdHdpLm8KK29iai0kKENPTkZJR19JMkNfQ1BNKQkJKz0gaTJjLWNwbS5vCitvYmotJChDT05GSUdfSTJDX0RBVklOQ0kpCSs9IGkyYy1kYXZpbmNpLm8KK29iai0kKENPTkZJR19JMkNfR1BJTykJCSs9IGkyYy1ncGlvLm8KK29iai0kKENPTkZJR19JMkNfSUJNX0lJQykJKz0gaTJjLWlibV9paWMubworb2JqLSQoQ09ORklHX0kyQ19JT1AzWFgpCSs9IGkyYy1pb3AzeHgubworb2JqLSQoQ09ORklHX0kyQ19JWFAyMDAwKQkrPSBpMmMtaXhwMjAwMC5vCitvYmotJChDT05GSUdfSTJDX01QQykJCSs9IGkyYy1tcGMubworb2JqLSQoQ09ORklHX0kyQ19NVjY0WFhYKQkrPSBpMmMtbXY2NHh4eC5vCitvYmotJChDT05GSUdfSTJDX09DT1JFUykJKz0gaTJjLW9jb3Jlcy5vCitvYmotJChDT05GSUdfSTJDX09NQVApCQkrPSBpMmMtb21hcC5vCitvYmotJChDT05GSUdfSTJDX1BBU0VNSSkJKz0gaTJjLXBhc2VtaS5vCitvYmotJChDT05GSUdfSTJDX1BOWCkJCSs9IGkyYy1wbngubworb2JqLSQoQ09ORklHX0kyQ19QWEEpCQkrPSBpMmMtcHhhLm8KK29iai0kKENPTkZJR19JMkNfUzNDMjQxMCkJKz0gaTJjLXMzYzI0MTAubworb2JqLSQoQ09ORklHX0kyQ19TSDc3NjApCSs9IGkyYy1zaDc3NjAubworb2JqLSQoQ09ORklHX0kyQ19TSF9NT0JJTEUpCSs9IGkyYy1zaF9tb2JpbGUubworb2JqLSQoQ09ORklHX0kyQ19TSU1URUMpCSs9IGkyYy1zaW10ZWMubworb2JqLSQoQ09ORklHX0kyQ19WRVJTQVRJTEUpCSs9IGkyYy12ZXJzYXRpbGUubworCisjIEV4dGVybmFsIEkyQy9TTUJ1cyBhZGFwdGVyIGRyaXZlcnMKK29iai0kKENPTkZJR19JMkNfUEFSUE9SVCkJKz0gaTJjLXBhcnBvcnQubworb2JqLSQoQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUKQkrPSBpMmMtcGFycG9ydC1saWdodC5vCitvYmotJChDT05GSUdfSTJDX1RBT1NfRVZNKQkrPSBpMmMtdGFvcy1ldm0ubworb2JqLSQoQ09ORklHX0kyQ19USU5ZX1VTQikJKz0gaTJjLXRpbnktdXNiLm8KKworIyBHcmFwaGljcyBhZGFwdGVyIEkyQy9EREMgY2hhbm5lbCBkcml2ZXJzCiBvYmotJChDT05GSUdfSTJDX1ZPT0RPTzMpCSs9IGkyYy12b29kb28zLm8KKworIyBPdGhlciBJMkMvU01CdXMgYnVzIGRyaXZlcnMKK29iai0kKENPTkZJR19JMkNfQUNPUk4pCQkrPSBpMmMtYWNvcm4ubworb2JqLSQoQ09ORklHX0kyQ19FTEVLVE9SKQkrPSBpMmMtZWxla3Rvci5vCitvYmotJChDT05GSUdfSTJDX1BDQV9JU0EpCSs9IGkyYy1wY2EtaXNhLm8KK29iai0kKENPTkZJR19JMkNfUENBX1BMQVRGT1JNKQkrPSBpMmMtcGNhLXBsYXRmb3JtLm8KK29iai0kKENPTkZJR19JMkNfUE1DTVNQKQkrPSBpMmMtcG1jbXNwLm8KK29iai0kKENPTkZJR19JMkNfU0lCWVRFKQkrPSBpMmMtc2lieXRlLm8KK29iai0kKENPTkZJR19JMkNfU1RVQikJCSs9IGkyYy1zdHViLm8KIG9iai0kKENPTkZJR19TQ3gyMDBfQUNCKQkrPSBzY3gyMDBfYWNiLm8KIG9iai0kKENPTkZJR19TQ3gyMDBfSTJDKQkrPSBzY3gyMDBfaTJjLm8KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTM1LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1MzUuYwppbmRleCBmMTQzNzJhLi45Y2VhZDliIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1MzUuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1MzUuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgaTJjLWFsaTE1MzUuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDIwMDAgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sIAogICAgICAgICAgICAgICAgICAgICAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwgCiAgICAgICAgICAgICAgICAgICAgICAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+LApAQCAtNjEsNiArNTksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIApAQCAtMTU5LDYgKzE1OCwxMSBAQAogCQlnb3RvIGV4aXQ7CiAJfQogCisJcmV0dmFsID0gYWNwaV9jaGVja19yZWdpb24oYWxpMTUzNV9zbWJhLCBBTEkxNTM1X1NNQl9JT1NJWkUsCisJCQkJICAgYWxpMTUzNV9kcml2ZXIubmFtZSk7CisJaWYgKHJldHZhbCkKKwkJZ290byBleGl0OworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihhbGkxNTM1X3NtYmEsIEFMSTE1MzVfU01CX0lPU0laRSwKIAkJCSAgICBhbGkxNTM1X2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZkZXYtPmRldiwgIkFMSTE1MzVfc21iIHJlZ2lvbiAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwKQEAgLTI1OSw3ICsyNjMsNyBAQAogCQkJZGV2X2VycigmYWRhcC0+ZGV2LAogCQkJCSJTTUJ1cyByZXNldCBmYWlsZWQhICgweCUwMngpIC0gY29udHJvbGxlciBvciAiCiAJCQkJImRldmljZSBvbiBidXMgaXMgcHJvYmFibHkgaHVuZ1xuIiwgdGVtcCk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVCVVNZOwogCQl9CiAJfSBlbHNlIHsKIAkJLyogY2hlY2sgYW5kIGNsZWFyIGRvbmUgYml0ICovCkBAIC0yODEsMTIgKzI4NSwxMiBAQAogCiAJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KIAlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwogCX0KIAogCWlmICh0ZW1wICYgQUxJMTUzNV9TVFNfRkFJTCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwogCX0KIApAQCAtMjk1LDcgKzI5OSw3IEBACiAJICogZG8gYSBwcmludGsuICBUaGlzIG1lYW5zIHRoYXQgYnVzIGNvbGxpc2lvbnMgZ28gdW5yZXBvcnRlZC4KIAkgKi8KIAlpZiAodGVtcCAmIEFMSTE1MzVfU1RTX0JVU0VSUikgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCQlkZXZfZGJnKCZhZGFwLT5kZXYsCiAJCQkiRXJyb3I6IG5vIHJlc3BvbnNlIG9yIGJ1cyBjb2xsaXNpb24gQUREPSUwMnhcbiIsCiAJCQlpbmJfcChTTUJIU1RBREQpKTsKQEAgLTMwMywxMyArMzA3LDEzIEBACiAKIAkvKiBoYXZlbid0IGV2ZXIgc2VlbiB0aGlzICovCiAJaWYgKHRlbXAgJiBBTEkxNTM1X1NUU19ERVYpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIkVycm9yOiBkZXZpY2UgZXJyb3JcbiIpOwogCX0KIAogCS8qIGNoZWNrIHRvIHNlZSBpZiB0aGUgImNvbW1hbmQgY29tcGxldGUiIGluZGljYXRpb24gaXMgc2V0ICovCiAJaWYgKCEodGVtcCAmIEFMSTE1MzVfU1RTX0RPTkUpKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJFcnJvcjogY29tbWFuZCBuZXZlciBjb21wbGV0ZWRcbiIpOwogCX0KIApAQCAtMzMyLDcgKzMzNiw3IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBhbGkxNTM1X2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAogCQkJICB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLCB1OCBjb21tYW5kLAogCQkJICBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCkBAIC0zNTcsMTAgKzM2MSw2IEBACiAJb3V0Yl9wKDB4RkYsIFNNQkhTVFNUUyk7CiAKIAlzd2l0Y2ggKHNpemUpIHsKLQljYXNlIEkyQ19TTUJVU19QUk9DX0NBTEw6Ci0JCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQ19TTUJVU19QUk9DX0NBTEwgbm90IHN1cHBvcnRlZCFcbiIpOwotCQlyZXN1bHQgPSAtMTsKLQkJZ290byBFWElUOwogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAogCQkgICAgICAgU01CSFNUQUREKTsKQEAgLTQxOCwxNCArNDE4LDE2IEBACiAJCQkJb3V0Yl9wKGRhdGEtPmJsb2NrW2ldLCBTTUJCTEtEQVQpOwogCQl9CiAJCWJyZWFrOwotCX0KLQotCWlmIChhbGkxNTM1X3RyYW5zYWN0aW9uKGFkYXApKSB7Ci0JCS8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCi0JCXJlc3VsdCA9IC0xOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJlc3VsdCA9IC1FT1BOT1RTVVBQOwogCQlnb3RvIEVYSVQ7CiAJfQogCisJcmVzdWx0ID0gYWxpMTUzNV90cmFuc2FjdGlvbihhZGFwKTsKKwlpZiAocmVzdWx0KQorCQlnb3RvIEVYSVQ7CisKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBBTEkxNTM1X1FVSUNLKSkgewogCQlyZXN1bHQgPSAwOwogCQlnb3RvIEVYSVQ7CkBAIC00NzUsNyArNDc3LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgYWxpMTUzNV9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX0FMSTE1MzUsCi0JLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTU2My5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTYzLmMKaW5kZXggNmI2ODA3NC4uZmMzZTViMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTYzLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTYzLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogCiAjZGVmaW5lIEFMSTE1NjNfTUFYX1RJTUVPVVQJNTAwCiAjZGVmaW5lCUFMSTE1NjNfU01CQkEJCTB4ODAKQEAgLTY3LDYgKzY4LDcgQEAKIHsKIAl1MzIgZGF0YTsKIAlpbnQgdGltZW91dDsKKwlpbnQgc3RhdHVzID0gLUVJTzsKIAogCWRldl9kYmcoJmEtPmRldiwgIlRyYW5zYWN0aW9uIChwcmUpOiBTVFM9JTAyeCwgQ05UTDE9JTAyeCwgIgogCQkiQ05UTDI9JTAyeCwgQ01EPSUwMngsIEFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwKQEAgLTEwMywxMyArMTA1LDE1IEBACiAJCS8qIElzc3VlICdraWxsJyB0byBob3N0IGNvbnRyb2xsZXIgKi8KIAkJb3V0Yl9wKEhTVF9DTlRMMl9LSUxMLFNNQl9IU1RfQ05UTDIpOwogCQlkYXRhID0gaW5iX3AoU01CX0hTVF9TVFMpOworCQlzdGF0dXMgPSAtRVRJTUVET1VUOwogIAl9CiAKIAkvKiBkZXZpY2UgZXJyb3IgLSBubyByZXNwb25zZSwgaWdub3JlIHRoZSBhdXRvZGV0ZWN0aW9uIGNhc2UgKi8KLQlpZiAoKGRhdGEgJiBIU1RfU1RTX0RFVkVSUikgJiYgKHNpemUgIT0gSFNUX0NOVEwyX1FVSUNLKSkgewotCQlkZXZfZXJyKCZhLT5kZXYsICJEZXZpY2UgZXJyb3IhXG4iKTsKKwlpZiAoZGF0YSAmIEhTVF9TVFNfREVWRVJSKSB7CisJCWlmIChzaXplICE9IEhTVF9DTlRMMl9RVUlDSykKKwkJCWRldl9lcnIoJmEtPmRldiwgIkRldmljZSBlcnJvciFcbiIpOworCQlzdGF0dXMgPSAtRU5YSU87CiAJfQotCiAJLyogYnVzIGNvbGxpc2lvbiAqLwogCWlmIChkYXRhICYgSFNUX1NUU19CVVNFUlIpIHsKIAkJZGV2X2VycigmYS0+ZGV2LCAiQnVzIGNvbGxpc2lvbiFcbiIpOwpAQCAtMTIyLDEzICsxMjYsMTQgQEAKIAkJb3V0Yl9wKDB4MCxTTUJfSFNUX0NOVEwyKTsKIAl9CiAKLQlyZXR1cm4gLTE7CisJcmV0dXJuIHN0YXR1czsKIH0KIAogc3RhdGljIGludCBhbGkxNTYzX2Jsb2NrX3N0YXJ0KHN0cnVjdCBpMmNfYWRhcHRlciAqIGEpCiB7CiAJdTMyIGRhdGE7CiAJaW50IHRpbWVvdXQ7CisJaW50IHN0YXR1cyA9IC1FSU87CiAKIAlkZXZfZGJnKCZhLT5kZXYsICJCbG9jayAocHJlKTogU1RTPSUwMngsIENOVEwxPSUwMngsICIKIAkJIkNOVEwyPSUwMngsIENNRD0lMDJ4LCBBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMnhcbiIsCkBAIC0xNjQsMTMgKzE2OSwyMCBAQAogCiAJaWYgKHRpbWVvdXQgJiYgIShkYXRhICYgSFNUX1NUU19CQUQpKQogCQlyZXR1cm4gMDsKKworCWlmICh0aW1lb3V0ID09IDApCisJCXN0YXR1cyA9IC1FVElNRURPVVQ7CisKKwlpZiAoZGF0YSAmIEhTVF9TVFNfREVWRVJSKQorCQlzdGF0dXMgPSAtRU5YSU87CisKIAlkZXZfZXJyKCZhLT5kZXYsICJTTUJ1cyBFcnJvcjogJXMlcyVzJXMlc1xuIiwKLQkJdGltZW91dCA/ICJUaW1lb3V0ICIgOiAiIiwKKwkJdGltZW91dCA/ICIiIDogIlRpbWVvdXQgIiwKIAkJZGF0YSAmIEhTVF9TVFNfRkFJTCA/ICJUcmFuc2FjdGlvbiBGYWlsZWQgIiA6ICIiLAogCQlkYXRhICYgSFNUX1NUU19CVVNFUlIgPyAiTm8gcmVzcG9uc2Ugb3IgQnVzIENvbGxpc2lvbiAiIDogIiIsCiAJCWRhdGEgJiBIU1RfU1RTX0RFVkVSUiA/ICJEZXZpY2UgRXJyb3IgIiA6ICIiLAogCQkhKGRhdGEgJiBIU1RfU1RTX0RPTkUpID8gIlRyYW5zYWN0aW9uIE5ldmVyIEZpbmlzaGVkICIgOiAiIik7Ci0JcmV0dXJuIC0xOworCXJldHVybiBzdGF0dXM7CiB9CiAKIHN0YXRpYyBpbnQgYWxpMTU2M19ibG9jayhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEsIHU4IHJ3KQpAQCAtMjM1LDEwICsyNDcsNiBAQAogCiAJLyogTWFwIHRoZSBzaXplIHRvIHdoYXQgdGhlIGNoaXAgdW5kZXJzdGFuZHMgKi8KIAlzd2l0Y2ggKHNpemUpIHsKLQljYXNlIEkyQ19TTUJVU19QUk9DX0NBTEw6Ci0JCWRldl9lcnIoJmEtPmRldiwgIkkyQ19TTUJVU19QUk9DX0NBTEwgbm90IHN1cHBvcnRlZCFcbiIpOwotCQllcnJvciA9IC1FSU5WQUw7Ci0JCWJyZWFrOwogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQlzaXplID0gSFNUX0NOVEwyX1FVSUNLOwogCQlicmVhazsKQEAgLTI1NCw2ICsyNjIsMTAgQEAKIAljYXNlIEkyQ19TTUJVU19CTE9DS19EQVRBOgogCQlzaXplID0gSFNUX0NOVEwyX0JMT0NLOwogCQlicmVhazsKKwlkZWZhdWx0OgorCQlkZXZfd2FybigmYS0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQllcnJvciA9IC1FT1BOT1RTVVBQOworCQlnb3RvIERvbmU7CiAJfQogCiAJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJ3ICYgMHgwMSksIFNNQl9IU1RfQUREKTsKQEAgLTM0NSw2ICszNTcsMTAgQEAKIAkJfQogCX0KIAorCWlmIChhY3BpX2NoZWNrX3JlZ2lvbihhbGkxNTYzX3NtYmEsIEFMSTE1NjNfU01CX0lPU0laRSwKKwkJCSAgICAgIGFsaTE1NjNfcGNpX2RyaXZlci5uYW1lKSkKKwkJZ290byBFcnI7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKGFsaTE1NjNfc21iYSwgQUxJMTU2M19TTUJfSU9TSVpFLAogCQkJICAgIGFsaTE1NjNfcGNpX2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZkZXYtPmRldiwgIkNvdWxkIG5vdCBhbGxvY2F0ZSBJL08gc3BhY2UgYXQgMHglMDR4XG4iLApAQCAtMzcxLDcgKzM4Nyw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIGFsaTE1NjNfYWRhcHRlciA9IHsKIAkub3duZXIJPSBUSElTX01PRFVMRSwKIAkuaWQJPSBJMkNfSFdfU01CVVNfQUxJMTU2MywKLQkuY2xhc3MJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwk9ICZhbGkxNTYzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTV4My5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNXgzLmMKaW5kZXggOTNiZjg3ZC4uMjM0ZmRkZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNXgzLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNXgzLmMKQEAgLTEsNiArMSw0IEBACiAvKgotICAgIGFsaTE1eDMuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDE5OTkgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4gYW5kCiAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiBhbmQKICAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+CkBAIC02OCw2ICs2Niw3IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAvKiBBTEkxNVgzIFNNQnVzIGFkZHJlc3Mgb2Zmc2V0cyAqLwpAQCAtMTY2LDYgKzE2NSwxMCBAQAogCWlmKGZvcmNlX2FkZHIpCiAJCWFsaTE1eDNfc21iYSA9IGZvcmNlX2FkZHIgJiB+KEFMSTE1WDNfU01CX0lPU0laRSAtIDEpOwogCisJaWYgKGFjcGlfY2hlY2tfcmVnaW9uKGFsaTE1eDNfc21iYSwgQUxJMTVYM19TTUJfSU9TSVpFLAorCQkJICAgICAgYWxpMTV4M19kcml2ZXIubmFtZSkpCisJCXJldHVybiAtRUJVU1k7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKGFsaTE1eDNfc21iYSwgQUxJMTVYM19TTUJfSU9TSVpFLAogCQkJICAgIGFsaTE1eDNfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJkFMSTE1WDNfZGV2LT5kZXYsCkBAIC0yODIsNyArMjg1LDcgQEAKIAkJCWRldl9lcnIoJmFkYXAtPmRldiwgIlNNQnVzIHJlc2V0IGZhaWxlZCEgKDB4JTAyeCkgLSAiCiAJCQkJImNvbnRyb2xsZXIgb3IgZGV2aWNlIG9uIGJ1cyBpcyBwcm9iYWJseSBodW5nXG4iLAogCQkJCXRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfQogCX0gZWxzZSB7CiAJCS8qIGNoZWNrIGFuZCBjbGVhciBkb25lIGJpdCAqLwpAQCAtMzA0LDEyICszMDcsMTIgQEAKIAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIEFMSTE1WDNfU1RTX1RFUk0pIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKIAl9CiAKQEAgLTMyMCw3ICszMjMsNyBAQAogCSAgVGhpcyBtZWFucyB0aGF0IGJ1cyBjb2xsaXNpb25zIGdvIHVucmVwb3J0ZWQuCiAJKi8KIAlpZiAodGVtcCAmIEFMSTE1WDNfU1RTX0NPTEwpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FTlhJTzsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LAogCQkJIkVycm9yOiBubyByZXNwb25zZSBvciBidXMgY29sbGlzaW9uIEFERD0lMDJ4XG4iLAogCQkJaW5iX3AoU01CSFNUQUREKSk7CkBAIC0zMjgsNyArMzMxLDcgQEAKIAogCS8qIGhhdmVuJ3QgZXZlciBzZWVuIHRoaXMgKi8KIAlpZiAodGVtcCAmIEFMSTE1WDNfU1RTX0RFVikgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiRXJyb3I6IGRldmljZSBlcnJvclxuIik7CiAJfQogCWRldl9kYmcoJmFkYXAtPmRldiwgIlRyYW5zYWN0aW9uIChwb3N0KTogU1RTPSUwMngsIENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgpAQCAtMzM4LDcgKzM0MSw3IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBhbGkxNXgzX2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwLCB1MTYgYWRkciwKIAkJICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwKIAkJICAgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKQEAgLTM2Miw5ICszNjUsNiBAQAogCX0KIAogCXN3aXRjaCAoc2l6ZSkgewotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKLQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDX1NNQlVTX1BST0NfQ0FMTCBub3Qgc3VwcG9ydGVkIVxuIik7Ci0JCXJldHVybiAtMTsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKIAkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKIAkJICAgICAgIFNNQkhTVEFERCk7CkBAIC00MTcsMTIgKzQxNywxNiBAQAogCQl9CiAJCXNpemUgPSBBTEkxNVgzX0JMT0NLX0RBVEE7CiAJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlvdXRiX3Aoc2l6ZSwgU01CSFNUQ05UKTsJLyogb3V0cHV0IGNvbW1hbmQgKi8KIAotCWlmIChhbGkxNXgzX3RyYW5zYWN0aW9uKGFkYXApKQkvKiBFcnJvciBpbiB0cmFuc2FjdGlvbiAqLwotCQlyZXR1cm4gLTE7CisJdGVtcCA9IGFsaTE1eDNfdHJhbnNhY3Rpb24oYWRhcCk7CisJaWYgKHRlbXApCisJCXJldHVybiB0ZW1wOwogCiAJaWYgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gQUxJMTVYM19RVUlDSykpCiAJCXJldHVybiAwOwpAQCAtNDcwLDcgKzQ3NCw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIGFsaTE1eDNfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19BTEkxNVgzLAotCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni1zNDg4Mi5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYtczQ4ODIuYwppbmRleCBjMzhhMGExLi4yZjE1MGUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni1zNDg4Mi5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LXM0ODgyLmMKQEAgLTU4LDcgKzU4LDcgQEAKIAkvKiBXZSBleGNsdWRlIHRoZSBtdWx0aXBsZXhlZCBhZGRyZXNzZXMgKi8KIAlpZiAoYWRkciA9PSAweDRjIHx8IChhZGRyICYgMHhmYykgPT0gMHg1MCB8fCAoYWRkciAmIDB4ZmMpID09IDB4MzAKIAkgfHwgYWRkciA9PSAweDE4KQotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRU5YSU87CiAKIAltdXRleF9sb2NrKCZhbWQ3NTZfbG9jayk7CiAKQEAgLTg2LDcgKzg2LDcgQEAKIAogCS8qIFdlIGV4Y2x1ZGUgdGhlIG5vbi1tdWx0aXBsZXhlZCBhZGRyZXNzZXMgKi8KIAlpZiAoYWRkciAhPSAweDRjICYmIChhZGRyICYgMHhmYykgIT0gMHg1MCAmJiAoYWRkciAmIDB4ZmMpICE9IDB4MzApCi0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FTlhJTzsKIAogCW11dGV4X2xvY2soJmFtZDc1Nl9sb2NrKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LmMKaW5kZXggNDM1MDhkNi4uMWVhMzkyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni5jCkBAIC0xLDcgKzEsNCBAQAogLyoKLSAgICBhbWQ3NTYuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKLQogICAgIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIE1lcmxpbiBIdWdoZXMgPG1lcmxpbkBtZXJsaW4ub3JnPgogCiAgICAgU2hhbWVsZXNzbHkgcmlwcGVkIGZyb20gaTJjLXBpaXg0LmM6CkBAIC00NSw2ICs0Miw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogLyogQU1ENzU2IFNNQnVzIGFkZHJlc3Mgb2Zmc2V0cyAqLwpAQCAtMTUxLDE3ICsxNDksMTcgQEAKIAl9CiAKIAlpZiAodGVtcCAmIEdTX1BSRVJSX1NUUykgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTTUJ1cyBQcm90b2NvbCBlcnJvciAobm8gcmVzcG9uc2UpIVxuIik7CiAJfQogCiAJaWYgKHRlbXAgJiBHU19DT0xfU1RTKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiU01CdXMgY29sbGlzaW9uIVxuIik7CiAJfQogCiAJaWYgKHRlbXAgJiBHU19UT19TVFMpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlNNQnVzIHByb3RvY29sIHRpbWVvdXQhXG4iKTsKIAl9CiAKQEAgLTE4OSwyMiArMTg3LDE4IEBACiAJb3V0d19wKGludyhTTUJfR0xPQkFMX0VOQUJMRSkgfCBHRV9BQk9SVCwgU01CX0dMT0JBTF9FTkFCTEUpOwogCW1zbGVlcCgxMDApOwogCW91dHdfcChHU19DTEVBUl9TVFMsIFNNQl9HTE9CQUxfU1RBVFVTKTsKLQlyZXR1cm4gLTE7CisJcmV0dXJuIC1FSU87CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgYW1kNzU2X2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwLCB1MTYgYWRkciwKIAkJICB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAogCQkgIHU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCiB7CiAJaW50IGksIGxlbjsKKwlpbnQgc3RhdHVzOwogCi0JLyoqIFRPRE86IFNob3VsZCBJIHN1cHBvcnRlIHRoZSAxMC1iaXQgdHJhbnNmZXJzPyAqLwogCXN3aXRjaCAoc2l6ZSkgewotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKLQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiSTJDX1NNQlVTX1BST0NfQ0FMTCBub3Qgc3VwcG9ydGVkIVxuIik7Ci0JCS8qIFRPRE86IFdlbGwuLi4gSXQgaXMgc3VwcG9ydGVkLCBJJ20ganVzdCBub3Qgc3VyZSB3aGF0IHRvIGRvIGhlcmUuLi4gKi8KLQkJcmV0dXJuIC0xOwogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQlvdXR3X3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAogCQkgICAgICAgU01CX0hPU1RfQUREUkVTUyk7CkBAIC0yNTEsMTMgKzI0NSwxNyBAQAogCQl9CiAJCXNpemUgPSBBTUQ3NTZfQkxPQ0tfREFUQTsKIAkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCS8qIEhvdyBhYm91dCBlbmFibGluZyBpbnRlcnJ1cHRzLi4uICovCiAJb3V0d19wKHNpemUgJiBHRV9DWUNfVFlQRV9NQVNLLCBTTUJfR0xPQkFMX0VOQUJMRSk7CiAKLQlpZiAoYW1kNzU2X3RyYW5zYWN0aW9uKGFkYXApKQkvKiBFcnJvciBpbiB0cmFuc2FjdGlvbiAqLwotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gYW1kNzU2X3RyYW5zYWN0aW9uKGFkYXApOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBBTUQ3NTZfUVVJQ0spKQogCQlyZXR1cm4gMDsKQEAgLTMwMSw3ICsyOTksNyBAQAogc3RydWN0IGkyY19hZGFwdGVyIGFtZDc1Nl9zbWJ1cyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19BTUQ3NTYsCi0JLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKQEAgLTM2OCw2ICszNjYsMTEgQEAKIAkJYW1kNzU2X2lvcG9ydCArPSBTTUJfQUREUl9PRkZTRVQ7CiAJfQogCisJZXJyb3IgPSBhY3BpX2NoZWNrX3JlZ2lvbihhbWQ3NTZfaW9wb3J0LCBTTUJfSU9TSVpFLAorCQkJCSAgYW1kNzU2X2RyaXZlci5uYW1lKTsKKwlpZiAoZXJyb3IpCisJCXJldHVybiBlcnJvcjsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oYW1kNzU2X2lvcG9ydCwgU01CX0lPU0laRSwgYW1kNzU2X2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJTTUIgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLAogCQkJYW1kNzU2X2lvcG9ydCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDgxMTEuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kODExMS5jCmluZGV4IDVkMWEyN2UuLjM5NzIyMDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kODExMS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kODExMS5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CkBAIC03Nyw3ICs3OCw3IEBACiAJaWYgKCF0aW1lb3V0KSB7CiAJCWRldl93YXJuKCZzbWJ1cy0+ZGV2LT5kZXYsCiAJCQkgIlRpbWVvdXQgd2hpbGUgd2FpdGluZyBmb3IgSUJGIHRvIGNsZWFyXG4iKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTkzLDcgKzk0LDcgQEAKIAlpZiAoIXRpbWVvdXQpIHsKIAkJZGV2X3dhcm4oJnNtYnVzLT5kZXYtPmRldiwKIAkJCSAiVGltZW91dCB3aGlsZSB3YWl0aW5nIGZvciBPQkYgdG8gc2V0XG4iKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTEwMiwxNiArMTAzLDIxIEBACiBzdGF0aWMgdW5zaWduZWQgaW50IGFtZF9lY19yZWFkKHN0cnVjdCBhbWRfc21idXMgKnNtYnVzLCB1bnNpZ25lZCBjaGFyIGFkZHJlc3MsCiAJCXVuc2lnbmVkIGNoYXIgKmRhdGEpCiB7Ci0JaWYgKGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKSkKLQkJcmV0dXJuIC0xOworCWludCBzdGF0dXM7CisKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF93cml0ZShzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAlvdXRiKEFNRF9FQ19DTURfUkQsIHNtYnVzLT5iYXNlICsgQU1EX0VDX0NNRCk7CiAKLQlpZiAoYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAJb3V0YihhZGRyZXNzLCBzbWJ1cy0+YmFzZSArIEFNRF9FQ19EQVRBKTsKIAotCWlmIChhbWRfZWNfd2FpdF9yZWFkKHNtYnVzKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGFtZF9lY193YWl0X3JlYWQoc21idXMpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAJKmRhdGEgPSBpbmIoc21idXMtPmJhc2UgKyBBTURfRUNfREFUQSk7CiAKIAlyZXR1cm4gMDsKQEAgLTEyMCwxNiArMTI2LDIxIEBACiBzdGF0aWMgdW5zaWduZWQgaW50IGFtZF9lY193cml0ZShzdHJ1Y3QgYW1kX3NtYnVzICpzbWJ1cywgdW5zaWduZWQgY2hhciBhZGRyZXNzLAogCQl1bnNpZ25lZCBjaGFyIGRhdGEpCiB7Ci0JaWYgKGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKSkKLQkJcmV0dXJuIC0xOworCWludCBzdGF0dXM7CisKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF93cml0ZShzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAlvdXRiKEFNRF9FQ19DTURfV1IsIHNtYnVzLT5iYXNlICsgQU1EX0VDX0NNRCk7CiAKLQlpZiAoYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAJb3V0YihhZGRyZXNzLCBzbWJ1cy0+YmFzZSArIEFNRF9FQ19EQVRBKTsKIAotCWlmIChhbWRfZWNfd2FpdF93cml0ZShzbWJ1cykpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF93cml0ZShzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAlvdXRiKGRhdGEsIHNtYnVzLT5iYXNlICsgQU1EX0VDX0RBVEEpOwogCiAJcmV0dXJuIDA7CkBAIC0yNjcsMTIgKzI3OCwxNyBAQAogCiAJCWRlZmF1bHQ6CiAJCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCWFtZF9lY193cml0ZShzbWJ1cywgQU1EX1NNQl9BRERSLCBhZGRyIDw8IDEpOwogCWFtZF9lY193cml0ZShzbWJ1cywgQU1EX1NNQl9QUlRDTCwgcHJvdG9jb2wpOwogCisJLyogRklYTUUgdGhpcyBkaXNjYXJkcyBzdGF0dXMgZnJvbSBlY19yZWFkKCk7IHNvIHRlbXBbMF0gd2lsbAorCSAqIGhvbGQgc3RhY2sgZ2FyYmFnZSAuLi4gdGhlIHJlc3Qgb2YgdGhpcyByb3V0aW5lIHdpbGwgYWN0CisJICogbm9uc2Vuc2ljYWxseS4gIElnbm9yZWQgZWNfd3JpdGUoKSBzdGF0dXMgbWlnaHQgZXhwbGFpbgorCSAqIHNvbWUgc3VjaCBmYWlsdXJlcy4uLgorCSAqLwogCWFtZF9lY19yZWFkKHNtYnVzLCBBTURfU01CX1NUUywgdGVtcCArIDApOwogCiAJaWYgKH50ZW1wWzBdICYgQU1EX1NNQl9TVFNfRE9ORSkgewpAQCAtMjg2LDcgKzMwMiw3IEBACiAJfQogCiAJaWYgKCh+dGVtcFswXSAmIEFNRF9TTUJfU1RTX0RPTkUpIHx8ICh0ZW1wWzBdICYgQU1EX1NNQl9TVFNfU1RBVFVTKSkKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVJTzsKIAogCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkKIAkJcmV0dXJuIDA7CkBAIC0zNTksNiArMzc1LDEwIEBACiAJc21idXMtPmJhc2UgPSBwY2lfcmVzb3VyY2Vfc3RhcnQoZGV2LCAwKTsKIAlzbWJ1cy0+c2l6ZSA9IHBjaV9yZXNvdXJjZV9sZW4oZGV2LCAwKTsKIAorCWVycm9yID0gYWNwaV9jaGVja19yZXNvdXJjZV9jb25mbGljdCgmZGV2LT5yZXNvdXJjZVswXSk7CisJaWYgKGVycm9yKQorCQlnb3RvIG91dF9rZnJlZTsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oc21idXMtPmJhc2UsIHNtYnVzLT5zaXplLCBhbWQ4MTExX2RyaXZlci5uYW1lKSkgewogCQllcnJvciA9IC1FQlVTWTsKIAkJZ290byBvdXRfa2ZyZWU7CkBAIC0zNjgsNyArMzg4LDcgQEAKIAlzbnByaW50ZihzbWJ1cy0+YWRhcHRlci5uYW1lLCBzaXplb2Yoc21idXMtPmFkYXB0ZXIubmFtZSksCiAJCSJTTUJ1czIgQU1EODExMSBhZGFwdGVyIGF0ICUwNHgiLCBzbWJ1cy0+YmFzZSk7CiAJc21idXMtPmFkYXB0ZXIuaWQgPSBJMkNfSFdfU01CVVNfQU1EODExMTsKLQlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJc21idXMtPmFkYXB0ZXIuYWxnbyA9ICZzbWJ1c19hbGdvcml0aG07CiAJc21idXMtPmFkYXB0ZXIuYWxnb19kYXRhID0gc21idXM7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYXUxNTUwLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWF1MTU1MC5jCmluZGV4IGNhZTlkYzguLjY2YTA0YzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYXUxNTUwLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hdTE1NTAuYwpAQCAtMjY5LDkgKzI2OSwxMyBAQAogYXUxNTUwX3hmZXIoc3RydWN0IGkyY19hZGFwdGVyICppMmNfYWRhcCwgc3RydWN0IGkyY19tc2cgKm1zZ3MsIGludCBudW0pCiB7CiAJc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqYWRhcCA9IGkyY19hZGFwLT5hbGdvX2RhdGE7CisJdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilhZGFwLT5wc2NfYmFzZTsKIAlzdHJ1Y3QgaTJjX21zZyAqcDsKIAlpbnQgaSwgZXJyID0gMDsKIAorCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0VOQUJMRTsKKwlhdV9zeW5jKCk7CisKIAlmb3IgKGkgPSAwOyAhZXJyICYmIGkgPCBudW07IGkrKykgewogCQlwID0gJm1zZ3NbaV07CiAJCWVyciA9IGRvX2FkZHJlc3MoYWRhcCwgcC0+YWRkciwgcC0+ZmxhZ3MgJiBJMkNfTV9SRCwKQEAgLTI4OCw2ICsyOTIsMTAgQEAKIAkqLwogCWlmIChlcnIgPT0gMCkKIAkJZXJyID0gbnVtOworCisJc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfU1VTUEVORDsKKwlhdV9zeW5jKCk7CisKIAlyZXR1cm4gZXJyOwogfQogCkBAIC0zMDIsNTMgKzMxMCwxMSBAQAogCS5mdW5jdGlvbmFsaXR5CT0gYXUxNTUwX2Z1bmMsCiB9OwogCi0vKgotICogcmVnaXN0ZXJpbmcgZnVuY3Rpb25zIHRvIGxvYWQgYWxnb3JpdGhtcyBhdCBydW50aW1lCi0gKiBQcmlvciB0byBjYWxsaW5nIHVzLCB0aGUgNTBNSHogY2xvY2sgZnJlcXVlbmN5IGFuZCByb3V0aW5nCi0gKiBtdXN0IGhhdmUgYmVlbiBzZXQgdXAgZm9yIHRoZSBQU0MgaW5kaWNhdGVkIGJ5IHRoZSBhZGFwdGVyLgotICovCi1zdGF0aWMgaW50IF9fZGV2aW5pdAotaTJjX2F1MTU1MF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIHZvaWQgaTJjX2F1MTU1MF9zZXR1cChzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2KQogewotCXN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKnByaXY7Ci0Jdm9sYXRpbGUgcHNjX3NtYl90ICpzcDsKLQlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKIAl1MzIgc3RhdDsKLQlpbnQgcmV0OwogCi0JciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7Ci0JaWYgKCFyKSB7Ci0JCXJldCA9IC1FTk9ERVY7Ci0JCWdvdG8gb3V0OwotCX0KLQotCXByaXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFwcml2KSB7Ci0JCXJldCA9IC1FTk9NRU07Ci0JCWdvdG8gb3V0OwotCX0KLQotCXByaXYtPmlvYXJlYSA9IHJlcXVlc3RfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxLAotCQkJCQkgIHBkZXYtPm5hbWUpOwotCWlmICghcHJpdi0+aW9hcmVhKSB7Ci0JCXJldCA9IC1FQlVTWTsKLQkJZ290byBvdXRfbWVtOwotCX0KLQotCXByaXYtPnBzY19iYXNlID0gQ0tTRUcxQUREUihyLT5zdGFydCk7Ci0JcHJpdi0+eGZlcl90aW1lb3V0ID0gMjAwOwotCXByaXYtPmFja190aW1lb3V0ID0gMjAwOwotCi0JcHJpdi0+YWRhcC5pZCA9IEkyQ19IV19BVTE1NTBfUFNDOwotCXByaXYtPmFkYXAubnIgPSBwZGV2LT5pZDsKLQlwcml2LT5hZGFwLmFsZ28gPSAmYXUxNTUwX2FsZ287Ci0JcHJpdi0+YWRhcC5hbGdvX2RhdGEgPSBwcml2OwotCXByaXYtPmFkYXAuZGV2LnBhcmVudCA9ICZwZGV2LT5kZXY7Ci0Jc3RybGNweShwcml2LT5hZGFwLm5hbWUsICJBdTF4eHggUFNDIEkyQyIsIHNpemVvZihwcml2LT5hZGFwLm5hbWUpKTsKLQotCS8qIE5vdywgc2V0IHVwIHRoZSBQU0MgZm9yIFNNQnVzIFBJTyBtb2RlLgotCSovCi0Jc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CiAJc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfRElTQUJMRTsKIAlhdV9zeW5jKCk7CiAJc3AtPnBzY19zZWwgPSBQU0NfU0VMX1BTX1NNQlVTTU9ERTsKQEAgLTM4NCw3ICszNTAsNjYgQEAKIAlkbyB7CiAJCXN0YXQgPSBzcC0+cHNjX3NtYnN0YXQ7CiAJCWF1X3N5bmMoKTsKLQl9IHdoaWxlICgoc3RhdCAmIFBTQ19TTUJTVEFUX0RSKSA9PSAwKTsKKwl9IHdoaWxlICgoc3RhdCAmIFBTQ19TTUJTVEFUX1NSKSA9PSAwKTsKKworCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX1NVU1BFTkQ7CisJYXVfc3luYygpOworfQorCitzdGF0aWMgdm9pZCBpMmNfYXUxNTUwX2Rpc2FibGUoc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdikKK3sKKwl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwID0gKHZvbGF0aWxlIHBzY19zbWJfdCAqKXByaXYtPnBzY19iYXNlOworCisJc3AtPnBzY19zbWJjZmcgPSAwOworCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0RJU0FCTEU7CisJYXVfc3luYygpOworfQorCisvKgorICogcmVnaXN0ZXJpbmcgZnVuY3Rpb25zIHRvIGxvYWQgYWxnb3JpdGhtcyBhdCBydW50aW1lCisgKiBQcmlvciB0byBjYWxsaW5nIHVzLCB0aGUgNTBNSHogY2xvY2sgZnJlcXVlbmN5IGFuZCByb3V0aW5nCisgKiBtdXN0IGhhdmUgYmVlbiBzZXQgdXAgZm9yIHRoZSBQU0MgaW5kaWNhdGVkIGJ5IHRoZSBhZGFwdGVyLgorICovCitzdGF0aWMgaW50IF9fZGV2aW5pdAoraTJjX2F1MTU1MF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKnByaXY7CisJc3RydWN0IHJlc291cmNlICpyOworCWludCByZXQ7CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKwlpZiAoIXIpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQorCisJcHJpdiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpMmNfYXUxNTUwX2RhdGEpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXByaXYpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCisJcHJpdi0+aW9hcmVhID0gcmVxdWVzdF9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEsCisJCQkJCSAgcGRldi0+bmFtZSk7CisJaWYgKCFwcml2LT5pb2FyZWEpIHsKKwkJcmV0ID0gLUVCVVNZOworCQlnb3RvIG91dF9tZW07CisJfQorCisJcHJpdi0+cHNjX2Jhc2UgPSBDS1NFRzFBRERSKHItPnN0YXJ0KTsKKwlwcml2LT54ZmVyX3RpbWVvdXQgPSAyMDA7CisJcHJpdi0+YWNrX3RpbWVvdXQgPSAyMDA7CisKKwlwcml2LT5hZGFwLmlkID0gSTJDX0hXX0FVMTU1MF9QU0M7CisJcHJpdi0+YWRhcC5uciA9IHBkZXYtPmlkOworCXByaXYtPmFkYXAuYWxnbyA9ICZhdTE1NTBfYWxnbzsKKwlwcml2LT5hZGFwLmFsZ29fZGF0YSA9IHByaXY7CisJcHJpdi0+YWRhcC5kZXYucGFyZW50ID0gJnBkZXYtPmRldjsKKwlzdHJsY3B5KHByaXYtPmFkYXAubmFtZSwgIkF1MXh4eCBQU0MgSTJDIiwgc2l6ZW9mKHByaXYtPmFkYXAubmFtZSkpOworCisJLyogTm93LCBzZXQgdXAgdGhlIFBTQyBmb3IgU01CdXMgUElPIG1vZGUuCisJKi8KKwlpMmNfYXUxNTUwX3NldHVwKHByaXYpOwogCiAJcmV0ID0gaTJjX2FkZF9udW1iZXJlZF9hZGFwdGVyKCZwcml2LT5hZGFwKTsKIAlpZiAocmV0ID09IDApIHsKQEAgLTM5MiwxMCArNDE3LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JLyogZGlzYWJsZSB0aGUgUFNDICovCi0Jc3AtPnBzY19zbWJjZmcgPSAwOwotCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0RJU0FCTEU7Ci0JYXVfc3luYygpOworCWkyY19hdTE1NTBfZGlzYWJsZShwcml2KTsKIAogCXJlbGVhc2VfcmVzb3VyY2UocHJpdi0+aW9hcmVhKTsKIAlrZnJlZShwcml2LT5pb2FyZWEpOwpAQCAtNDA5LDI3ICs0MzEsMjQgQEAKIGkyY19hdTE1NTBfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwotCXZvbGF0aWxlIHBzY19zbWJfdCAqc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CiAKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKIAlpMmNfZGVsX2FkYXB0ZXIoJnByaXYtPmFkYXApOwotCXNwLT5wc2Nfc21iY2ZnID0gMDsKLQlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9ESVNBQkxFOwotCWF1X3N5bmMoKTsKKwlpMmNfYXUxNTUwX2Rpc2FibGUocHJpdik7CiAJcmVsZWFzZV9yZXNvdXJjZShwcml2LT5pb2FyZWEpOwogCWtmcmVlKHByaXYtPmlvYXJlYSk7CiAJa2ZyZWUocHJpdik7CiAJcmV0dXJuIDA7CiB9CiAKKyNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQKIGkyY19hdTE1NTBfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7CiAJc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwotCXZvbGF0aWxlIHBzY19zbWJfdCAqc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CiAKLQlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9TVVNQRU5EOwotCWF1X3N5bmMoKTsKKwlpMmNfYXUxNTUwX2Rpc2FibGUocHJpdik7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDM3LDE0ICs0NTYsMTUgQEAKIGkyY19hdTE1NTBfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwotCXZvbGF0aWxlIHBzY19zbWJfdCAqc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CiAKLQlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9FTkFCTEU7Ci0JYXVfc3luYygpOwotCXdoaWxlICghKHNwLT5wc2Nfc21ic3RhdCAmIFBTQ19TTUJTVEFUX1NSKSkKLQkJYXVfc3luYygpOworCWkyY19hdTE1NTBfc2V0dXAocHJpdik7CisKIAlyZXR1cm4gMDsKIH0KKyNlbHNlCisjZGVmaW5lIGkyY19hdTE1NTBfc3VzcGVuZAlOVUxMCisjZGVmaW5lIGkyY19hdTE1NTBfcmVzdW1lCU5VTEwKKyNlbmRpZgogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBhdTF4cHNjX3NtYnVzX2RyaXZlciA9IHsKIAkuZHJpdmVyID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1jcG0uYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtY3BtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE2NGRlMQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtY3BtLmMKQEAgLTAsMCArMSw3NDUgQEAKKy8qCisgKiBGcmVlc2NhbGUgQ1BNMS9DUE0yIEkyQyBpbnRlcmZhY2UuCisgKiBDb3B5cmlnaHQgKGMpIDE5OTkgRGFuIE1hbGVrIChkbWFsZWtAamxjLm5ldCkuCisgKgorICogbW92ZWQgaW50byBwcm9wZXIgaTJjIGludGVyZmFjZTsKKyAqIEJyYWQgUGFya2VyIChicmFkQGhlZWx0b2UuY29tKQorICoKKyAqIFBhcnRzIGZyb20gZGJveDJfaTJjLmMgKGN2cy50dXhib3gub3JnKQorICogKEMpIDIwMDAtMjAwMSBGZWxpeCBEb21rZSAodG1iaW5jQGdteC5uZXQpLCBHaWxsZW0gKGh0b2FAZ214Lm5ldCkKKyAqCisgKiAoQykgMjAwNyBNb250YXZpc3RhIFNvZnR3YXJlLCBJbmMuCisgKiBWaXRhbHkgQm9yZHVnIDx2aXRiQGtlcm5lbC5jcmFzaGluZy5vcmc+CisgKgorICogQ29udmVydGVkIHRvIG9mX3BsYXRmb3JtX2RldmljZS4gUmVuYW1lZCB0byBpMmMtY3BtLmMuCisgKiAoQykgMjAwNywyMDA4IEpvY2hlbiBGcmllZHJpY2ggPGpvY2hlbkBzY3JhbS5kZT4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9pMmMuaD4KKyNpbmNsdWRlIDxzeXNkZXYvZnNsX3NvYy5oPgorI2luY2x1ZGUgPGFzbS9jcG0uaD4KKworLyogVHJ5IHRvIGRlZmluZSB0aGlzIGlmIHlvdSBoYXZlIGFuIG9sZGVyIENQVSAoZWFybGllciB0aGFuIHJldiBENCkgKi8KKy8qIEhvd2V2ZXIsIGJldHRlciB1c2UgYSBHUElPIGJhc2VkIGJpdGJhbmcgZHJpdmVyIGluIHRoaXMgY2FzZSA6LyAgICovCisjdW5kZWYJSTJDX0NISVBfRVJSQVRBCisKKyNkZWZpbmUgQ1BNX01BWF9SRUFEICAgIDUxMworI2RlZmluZSBDUE1fTUFYQkQgICAgICAgNAorCisjZGVmaW5lIEkyQ19FQgkJCSgweDEwKSAvKiBCaWcgZW5kaWFuIG1vZGUgKi8KKyNkZWZpbmUgSTJDX0VCX0NQTTIJCSgweDMwKSAvKiBCaWcgZW5kaWFuIG1vZGUsIG1lbW9yeSBzbm9vcCAqLworCisjZGVmaW5lIERQUkFNX0JBU0UJCSgodTggX19pb21lbSBfX2ZvcmNlICopY3BtX211cmFtX2FkZHIoMCkpCisKKy8qIEkyQyBwYXJhbWV0ZXIgUkFNLiAqLworc3RydWN0IGkyY19yYW0geworCXVzaG9ydCAgcmJhc2U7CQkvKiBSeCBCdWZmZXIgZGVzY3JpcHRvciBiYXNlIGFkZHJlc3MgKi8KKwl1c2hvcnQgIHRiYXNlOwkJLyogVHggQnVmZmVyIGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzICovCisJdV9jaGFyICByZmNyOwkJLyogUnggZnVuY3Rpb24gY29kZSAqLworCXVfY2hhciAgdGZjcjsJCS8qIFR4IGZ1bmN0aW9uIGNvZGUgKi8KKwl1c2hvcnQgIG1yYmxyOwkJLyogTWF4IHJlY2VpdmUgYnVmZmVyIGxlbmd0aCAqLworCXVpbnQgICAgcnN0YXRlOwkJLyogSW50ZXJuYWwgKi8KKwl1aW50ICAgIHJkcDsJCS8qIEludGVybmFsICovCisJdXNob3J0ICByYnB0cjsJCS8qIFJ4IEJ1ZmZlciBkZXNjcmlwdG9yIHBvaW50ZXIgKi8KKwl1c2hvcnQgIHJiYzsJCS8qIEludGVybmFsICovCisJdWludCAgICByeHRtcDsJCS8qIEludGVybmFsICovCisJdWludCAgICB0c3RhdGU7CQkvKiBJbnRlcm5hbCAqLworCXVpbnQgICAgdGRwOwkJLyogSW50ZXJuYWwgKi8KKwl1c2hvcnQgIHRicHRyOwkJLyogVHggQnVmZmVyIGRlc2NyaXB0b3IgcG9pbnRlciAqLworCXVzaG9ydCAgdGJjOwkJLyogSW50ZXJuYWwgKi8KKwl1aW50ICAgIHR4dG1wOwkJLyogSW50ZXJuYWwgKi8KKwljaGFyICAgIHJlczFbNF07CS8qIFJlc2VydmVkICovCisJdXNob3J0ICBycGJhc2U7CQkvKiBSZWxvY2F0aW9uIHBvaW50ZXIgKi8KKwljaGFyICAgIHJlczJbMl07CS8qIFJlc2VydmVkICovCit9OworCisjZGVmaW5lIEkyQ09NX1NUQVJUCTB4ODAKKyNkZWZpbmUgSTJDT01fTUFTVEVSCTB4MDEKKyNkZWZpbmUgSTJDRVJfVFhFCTB4MTAKKyNkZWZpbmUgSTJDRVJfQlVTWQkweDA0CisjZGVmaW5lIEkyQ0VSX1RYQgkweDAyCisjZGVmaW5lIEkyQ0VSX1JYQgkweDAxCisjZGVmaW5lIEkyTU9EX0VOCTB4MDEKKworLyogSTJDIFJlZ2lzdGVycyAqLworc3RydWN0IGkyY19yZWcgeworCXU4CWkybW9kOworCXU4CXJlczFbM107CisJdTgJaTJhZGQ7CisJdTgJcmVzMlszXTsKKwl1OAlpMmJyZzsKKwl1OAlyZXMzWzNdOworCXU4CWkyY29tOworCXU4CXJlczRbM107CisJdTgJaTJjZXI7CisJdTgJcmVzNVszXTsKKwl1OAlpMmNtcjsKK307CisKK3N0cnVjdCBjcG1faTJjIHsKKwljaGFyICpiYXNlOworCXN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2OworCXN0cnVjdCBpMmNfYWRhcHRlciBhZGFwOworCXVpbnQgZHBfYWRkcjsKKwlpbnQgdmVyc2lvbjsgLyogQ1BNMT0xLCBDUE0yPTIgKi8KKwlpbnQgaXJxOworCWludCBjcF9jb21tYW5kOworCWludCBmcmVxOworCXN0cnVjdCBpMmNfcmVnIF9faW9tZW0gKmkyY19yZWc7CisJc3RydWN0IGkyY19yYW0gX19pb21lbSAqaTJjX3JhbTsKKwl1MTYgaTJjX2FkZHI7CisJd2FpdF9xdWV1ZV9oZWFkX3QgaTJjX3dhaXQ7CisJY2JkX3QgX19pb21lbSAqdGJhc2U7CisJY2JkX3QgX19pb21lbSAqcmJhc2U7CisJdV9jaGFyICp0eGJ1ZltDUE1fTUFYQkRdOworCXVfY2hhciAqcnhidWZbQ1BNX01BWEJEXTsKKwl1MzIgdHhkbWFbQ1BNX01BWEJEXTsKKwl1MzIgcnhkbWFbQ1BNX01BWEJEXTsKK307CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBjcG1faTJjX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IGNwbV9pMmMgKmNwbTsKKwlzdHJ1Y3QgaTJjX3JlZyBfX2lvbWVtICppMmNfcmVnOworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCA9IGRldl9pZDsKKwlpbnQgaTsKKworCWNwbSA9IGkyY19nZXRfYWRhcGRhdGEoZGV2X2lkKTsKKwlpMmNfcmVnID0gY3BtLT5pMmNfcmVnOworCisJLyogQ2xlYXIgaW50ZXJydXB0LiAqLworCWkgPSBpbl84KCZpMmNfcmVnLT5pMmNlcik7CisJb3V0XzgoJmkyY19yZWctPmkyY2VyLCBpKTsKKworCWRldl9kYmcoJmFkYXAtPmRldiwgIkludGVycnVwdDogJXhcbiIsIGkpOworCisJd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZjcG0tPmkyY193YWl0KTsKKworCXJldHVybiBpID8gSVJRX0hBTkRMRUQgOiBJUlFfTk9ORTsKK30KKworc3RhdGljIHZvaWQgY3BtX3Jlc2V0X2kyY19wYXJhbXMoc3RydWN0IGNwbV9pMmMgKmNwbSkKK3sKKwlzdHJ1Y3QgaTJjX3JhbSBfX2lvbWVtICppMmNfcmFtID0gY3BtLT5pMmNfcmFtOworCisJLyogU2V0IHVwIHRoZSBJMkMgcGFyYW1ldGVycyBpbiB0aGUgcGFyYW1ldGVyIHJhbS4gKi8KKwlvdXRfYmUxNigmaTJjX3JhbS0+dGJhc2UsICh1OCBfX2lvbWVtICopY3BtLT50YmFzZSAtIERQUkFNX0JBU0UpOworCW91dF9iZTE2KCZpMmNfcmFtLT5yYmFzZSwgKHU4IF9faW9tZW0gKiljcG0tPnJiYXNlIC0gRFBSQU1fQkFTRSk7CisKKwlpZiAoY3BtLT52ZXJzaW9uID09IDEpIHsKKwkJb3V0XzgoJmkyY19yYW0tPnRmY3IsIEkyQ19FQik7CisJCW91dF84KCZpMmNfcmFtLT5yZmNyLCBJMkNfRUIpOworCX0gZWxzZSB7CisJCW91dF84KCZpMmNfcmFtLT50ZmNyLCBJMkNfRUJfQ1BNMik7CisJCW91dF84KCZpMmNfcmFtLT5yZmNyLCBJMkNfRUJfQ1BNMik7CisJfQorCisJb3V0X2JlMTYoJmkyY19yYW0tPm1yYmxyLCBDUE1fTUFYX1JFQUQpOworCisJb3V0X2JlMzIoJmkyY19yYW0tPnJzdGF0ZSwgMCk7CisJb3V0X2JlMzIoJmkyY19yYW0tPnJkcCwgMCk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnJicHRyLCAwKTsKKwlvdXRfYmUxNigmaTJjX3JhbS0+cmJjLCAwKTsKKwlvdXRfYmUzMigmaTJjX3JhbS0+cnh0bXAsIDApOworCW91dF9iZTMyKCZpMmNfcmFtLT50c3RhdGUsIDApOworCW91dF9iZTMyKCZpMmNfcmFtLT50ZHAsIDApOworCW91dF9iZTE2KCZpMmNfcmFtLT50YnB0ciwgMCk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnRiYywgMCk7CisJb3V0X2JlMzIoJmkyY19yYW0tPnR4dG1wLCAwKTsKK30KKworc3RhdGljIHZvaWQgY3BtX2kyY19mb3JjZV9jbG9zZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCit7CisJc3RydWN0IGNwbV9pMmMgKmNwbSA9IGkyY19nZXRfYWRhcGRhdGEoYWRhcCk7CisJc3RydWN0IGkyY19yZWcgX19pb21lbSAqaTJjX3JlZyA9IGNwbS0+aTJjX3JlZzsKKworCWRldl9kYmcoJmFkYXAtPmRldiwgImNwbV9pMmNfZm9yY2VfY2xvc2UoKVxuIik7CisKKwljcG1fY29tbWFuZChjcG0tPmNwX2NvbW1hbmQsIENQTV9DUl9DTE9TRV9SWF9CRCk7CisKKwlvdXRfOCgmaTJjX3JlZy0+aTJjbXIsIDB4MDApOwkvKiBEaXNhYmxlIGFsbCBpbnRlcnJ1cHRzICovCisJb3V0XzgoJmkyY19yZWctPmkyY2VyLCAweGZmKTsKK30KKworc3RhdGljIHZvaWQgY3BtX2kyY19wYXJzZV9tZXNzYWdlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwKKwlzdHJ1Y3QgaTJjX21zZyAqcG1zZywgaW50IG51bSwgaW50IHR4LCBpbnQgcngpCit7CisJY2JkX3QgX19pb21lbSAqdGJkZjsKKwljYmRfdCBfX2lvbWVtICpyYmRmOworCXVfY2hhciBhZGRyOworCXVfY2hhciAqdGI7CisJdV9jaGFyICpyYjsKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtID0gaTJjX2dldF9hZGFwZGF0YShhZGFwKTsKKworCXRiZGYgPSBjcG0tPnRiYXNlICsgdHg7CisJcmJkZiA9IGNwbS0+cmJhc2UgKyByeDsKKworCWFkZHIgPSBwbXNnLT5hZGRyIDw8IDE7CisJaWYgKHBtc2ctPmZsYWdzICYgSTJDX01fUkQpCisJCWFkZHIgfD0gMTsKKworCXRiID0gY3BtLT50eGJ1Zlt0eF07CisJcmIgPSBjcG0tPnJ4YnVmW3J4XTsKKworCS8qIEFsaWduIHJlYWQgYnVmZmVyICovCisJcmIgPSAodV9jaGFyICopICgoKHVsb25nKSByYiArIDEpICYgfjEpOworCisJdGJbMF0gPSBhZGRyOwkJLyogRGV2aWNlIGFkZHJlc3MgYnl0ZSB3L3J3IGZsYWcgKi8KKworCW91dF9iZTE2KCZ0YmRmLT5jYmRfZGF0bGVuLCBwbXNnLT5sZW4gKyAxKTsKKwlvdXRfYmUxNigmdGJkZi0+Y2JkX3NjLCAwKTsKKworCWlmICghKHBtc2ctPmZsYWdzICYgSTJDX01fTk9TVEFSVCkpCisJCXNldGJpdHMxNigmdGJkZi0+Y2JkX3NjLCBCRF9JMkNfU1RBUlQpOworCisJaWYgKHR4ICsgMSA9PSBudW0pCisJCXNldGJpdHMxNigmdGJkZi0+Y2JkX3NjLCBCRF9TQ19MQVNUIHwgQkRfU0NfV1JBUCk7CisKKwlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkgeworCQkvKgorCQkgKiBUbyByZWFkLCB3ZSBuZWVkIGFuIGVtcHR5IGJ1ZmZlciBvZiB0aGUgcHJvcGVyIGxlbmd0aC4KKwkJICogQWxsIHRoYXQgaXMgdXNlZCBpcyB0aGUgZmlyc3QgYnl0ZSBmb3IgYWRkcmVzcywgdGhlIHJlbWFpbmRlcgorCQkgKiBpcyBqdXN0IHVzZWQgZm9yIHRpbWluZyAoYW5kIGRvZXNuJ3QgcmVhbGx5IGhhdmUgdG8gZXhpc3QpLgorCQkgKi8KKworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJjcG1faTJjX3JlYWQoYWJ5dGU9MHgleClcbiIsIGFkZHIpOworCisJCW91dF9iZTE2KCZyYmRmLT5jYmRfZGF0bGVuLCAwKTsKKwkJb3V0X2JlMTYoJnJiZGYtPmNiZF9zYywgQkRfU0NfRU1QVFkgfCBCRF9TQ19JTlRSUFQpOworCisJCWlmIChyeCArIDEgPT0gQ1BNX01BWEJEKQorCQkJc2V0Yml0czE2KCZyYmRmLT5jYmRfc2MsIEJEX1NDX1dSQVApOworCisJCWVpZWlvKCk7CisJCXNldGJpdHMxNigmdGJkZi0+Y2JkX3NjLCBCRF9TQ19SRUFEWSk7CisJfSBlbHNlIHsKKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiY3BtX2kyY193cml0ZShhYnl0ZT0weCV4KVxuIiwgYWRkcik7CisKKwkJbWVtY3B5KHRiKzEsIHBtc2ctPmJ1ZiwgcG1zZy0+bGVuKTsKKworCQllaWVpbygpOworCQlzZXRiaXRzMTYoJnRiZGYtPmNiZF9zYywgQkRfU0NfUkVBRFkgfCBCRF9TQ19JTlRSUFQpOworCX0KK30KKworc3RhdGljIGludCBjcG1faTJjX2NoZWNrX21lc3NhZ2Uoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLAorCXN0cnVjdCBpMmNfbXNnICpwbXNnLCBpbnQgdHgsIGludCByeCkKK3sKKwljYmRfdCBfX2lvbWVtICp0YmRmOworCWNiZF90IF9faW9tZW0gKnJiZGY7CisJdV9jaGFyICp0YjsKKwl1X2NoYXIgKnJiOworCXN0cnVjdCBjcG1faTJjICpjcG0gPSBpMmNfZ2V0X2FkYXBkYXRhKGFkYXApOworCisJdGJkZiA9IGNwbS0+dGJhc2UgKyB0eDsKKwlyYmRmID0gY3BtLT5yYmFzZSArIHJ4OworCisJdGIgPSBjcG0tPnR4YnVmW3R4XTsKKwlyYiA9IGNwbS0+cnhidWZbcnhdOworCisJLyogQWxpZ24gcmVhZCBidWZmZXIgKi8KKwlyYiA9ICh1X2NoYXIgKikgKCgodWludCkgcmIgKyAxKSAmIH4xKTsKKworCWVpZWlvKCk7CisJaWYgKHBtc2ctPmZsYWdzICYgSTJDX01fUkQpIHsKKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidHggc2MgMHglMDR4LCByeCBzYyAweCUwNHhcbiIsCisJCQlpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpLCBpbl9iZTE2KCZyYmRmLT5jYmRfc2MpKTsKKworCQlpZiAoaW5fYmUxNigmdGJkZi0+Y2JkX3NjKSAmIEJEX1NDX05BSykgeworCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiSTJDIHJlYWQ7IE5vIGFja1xuIik7CisJCQlyZXR1cm4gLUVOWElPOworCQl9CisJCWlmIChpbl9iZTE2KCZyYmRmLT5jYmRfc2MpICYgQkRfU0NfRU1QVFkpIHsKKwkJCWRldl9lcnIoJmFkYXAtPmRldiwKKwkJCQkiSTJDIHJlYWQ7IGNvbXBsZXRlIGJ1dCByYnVmIGVtcHR5XG4iKTsKKwkJCXJldHVybiAtRVJFTU9URUlPOworCQl9CisJCWlmIChpbl9iZTE2KCZyYmRmLT5jYmRfc2MpICYgQkRfU0NfT1YpIHsKKwkJCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQyByZWFkOyBPdmVycnVuXG4iKTsKKwkJCXJldHVybiAtRVJFTU9URUlPOworCQl9CisJCW1lbWNweShwbXNnLT5idWYsIHJiLCBwbXNnLT5sZW4pOworCX0gZWxzZSB7CisJCWRldl9kYmcoJmFkYXAtPmRldiwgInR4IHNjICVkIDB4JTA0eFxuIiwgdHgsCisJCQlpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpKTsKKworCQlpZiAoaW5fYmUxNigmdGJkZi0+Y2JkX3NjKSAmIEJEX1NDX05BSykgeworCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiSTJDIHdyaXRlOyBObyBhY2tcbiIpOworCQkJcmV0dXJuIC1FTlhJTzsKKwkJfQorCQlpZiAoaW5fYmUxNigmdGJkZi0+Y2JkX3NjKSAmIEJEX1NDX1VOKSB7CisJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJJMkMgd3JpdGU7IFVuZGVycnVuXG4iKTsKKwkJCXJldHVybiAtRUlPOworCQl9CisJCWlmIChpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpICYgQkRfU0NfQ0wpIHsKKwkJCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQyB3cml0ZTsgQ29sbGlzaW9uXG4iKTsKKwkJCXJldHVybiAtRUlPOworCQl9CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNwbV9pMmNfeGZlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHN0cnVjdCBpMmNfbXNnICptc2dzLCBpbnQgbnVtKQoreworCXN0cnVjdCBjcG1faTJjICpjcG0gPSBpMmNfZ2V0X2FkYXBkYXRhKGFkYXApOworCXN0cnVjdCBpMmNfcmVnIF9faW9tZW0gKmkyY19yZWcgPSBjcG0tPmkyY19yZWc7CisJc3RydWN0IGkyY19yYW0gX19pb21lbSAqaTJjX3JhbSA9IGNwbS0+aTJjX3JhbTsKKwlzdHJ1Y3QgaTJjX21zZyAqcG1zZzsKKwlpbnQgcmV0LCBpOworCWludCB0cHRyOworCWludCBycHRyOworCWNiZF90IF9faW9tZW0gKnRiZGY7CisJY2JkX3QgX19pb21lbSAqcmJkZjsKKworCWlmIChudW0gPiBDUE1fTUFYQkQpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogQ2hlY2sgaWYgd2UgaGF2ZSBhbnkgb3ZlcnNpemVkIFJFQUQgcmVxdWVzdHMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKwkJcG1zZyA9ICZtc2dzW2ldOworCQlpZiAocG1zZy0+bGVuID49IENQTV9NQVhfUkVBRCkKKwkJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIFJlc2V0IHRvIHVzZSBmaXJzdCBidWZmZXIgKi8KKwlvdXRfYmUxNigmaTJjX3JhbS0+cmJwdHIsIGluX2JlMTYoJmkyY19yYW0tPnJiYXNlKSk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnRicHRyLCBpbl9iZTE2KCZpMmNfcmFtLT50YmFzZSkpOworCisJdGJkZiA9IGNwbS0+dGJhc2U7CisJcmJkZiA9IGNwbS0+cmJhc2U7CisKKwl0cHRyID0gMDsKKwlycHRyID0gMDsKKworCXdoaWxlICh0cHRyIDwgbnVtKSB7CisJCXBtc2cgPSAmbXNnc1t0cHRyXTsKKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiUjogJWQgVDogJWRcbiIsIHJwdHIsIHRwdHIpOworCisJCWNwbV9pMmNfcGFyc2VfbWVzc2FnZShhZGFwLCBwbXNnLCBudW0sIHRwdHIsIHJwdHIpOworCQlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkKKwkJCXJwdHIrKzsKKwkJdHB0cisrOworCX0KKwkvKiBTdGFydCB0cmFuc2ZlciBub3cgKi8KKwkvKiBFbmFibGUgUlgvVFgvRXJyb3IgaW50ZXJ1cHRzICovCisJb3V0XzgoJmkyY19yZWctPmkyY21yLCBJMkNFUl9UWEUgfCBJMkNFUl9UWEIgfCBJMkNFUl9SWEIpOworCW91dF84KCZpMmNfcmVnLT5pMmNlciwgMHhmZik7CS8qIENsZWFyIGludGVycnVwdCBzdGF0dXMgKi8KKwkvKiBDaGlwIGJ1Zywgc2V0IGVuYWJsZSBoZXJlICovCisJc2V0Yml0czgoJmkyY19yZWctPmkybW9kLCBJMk1PRF9FTik7CS8qIEVuYWJsZSAqLworCS8qIEJlZ2luIHRyYW5zbWlzc2lvbiAqLworCXNldGJpdHM4KCZpMmNfcmVnLT5pMmNvbSwgSTJDT01fU1RBUlQpOworCisJdHB0ciA9IDA7CisJcnB0ciA9IDA7CisKKwl3aGlsZSAodHB0ciA8IG51bSkgeworCQkvKiBDaGVjayBmb3Igb3V0c3RhbmRpbmcgbWVzc2FnZXMgKi8KKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidGVzdCByZWFkeS5cbiIpOworCQlwbXNnID0gJm1zZ3NbdHB0cl07CisJCWlmIChwbXNnLT5mbGFncyAmIEkyQ19NX1JEKQorCQkJcmV0ID0gd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoY3BtLT5pMmNfd2FpdCwKKwkJCQkhKGluX2JlMTYoJnJiZGZbcnB0cl0uY2JkX3NjKSAmIEJEX1NDX0VNUFRZKSwKKwkJCQkxICogSFopOworCQllbHNlCisJCQlyZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGVfdGltZW91dChjcG0tPmkyY193YWl0LAorCQkJCSEoaW5fYmUxNigmdGJkZlt0cHRyXS5jYmRfc2MpICYgQkRfU0NfUkVBRFkpLAorCQkJCTEgKiBIWik7CisJCWlmIChyZXQgPT0gMCkgeworCQkJcmV0ID0gLUVSRU1PVEVJTzsKKwkJCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQyB0cmFuc2ZlcjogdGltZW91dFxuIik7CisJCQlnb3RvIG91dF9lcnI7CisJCX0KKwkJaWYgKHJldCA+IDApIHsKKwkJCWRldl9kYmcoJmFkYXAtPmRldiwgInJlYWR5LlxuIik7CisJCQlyZXQgPSBjcG1faTJjX2NoZWNrX21lc3NhZ2UoYWRhcCwgcG1zZywgdHB0ciwgcnB0cik7CisJCQl0cHRyKys7CisJCQlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkKKwkJCQlycHRyKys7CisJCQlpZiAocmV0KQorCQkJCWdvdG8gb3V0X2VycjsKKwkJfQorCX0KKyNpZmRlZiBJMkNfQ0hJUF9FUlJBVEEKKwkvKgorCSAqIENoaXAgZXJyYXRhLCBjbGVhciBlbmFibGUuIFRoaXMgaXMgbm90IG5lZWRlZCBvbiByZXYgRDQgQ1BVcy4KKwkgKiBEaXNhYmxpbmcgSTJDIHRvbyBlYXJseSBtYXkgY2F1c2UgdG9vIHNob3J0IHN0b3AgY29uZGl0aW9uCisJICovCisJdWRlbGF5KDQpOworCWNscmJpdHM4KCZpMmNfcmVnLT5pMm1vZCwgSTJNT0RfRU4pOworI2VuZGlmCisJcmV0dXJuIChudW0pOworCitvdXRfZXJyOgorCWNwbV9pMmNfZm9yY2VfY2xvc2UoYWRhcCk7CisjaWZkZWYgSTJDX0NISVBfRVJSQVRBCisJLyoKKwkgKiBDaGlwIGVycmF0YSwgY2xlYXIgZW5hYmxlLiBUaGlzIGlzIG5vdCBuZWVkZWQgb24gcmV2IEQ0IENQVXMuCisJICovCisJY2xyYml0czgoJmkyY19yZWctPmkybW9kLCBJMk1PRF9FTik7CisjZW5kaWYKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdTMyIGNwbV9pMmNfZnVuYyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCit7CisJcmV0dXJuIEkyQ19GVU5DX0kyQyB8IChJMkNfRlVOQ19TTUJVU19FTVVMICYgfkkyQ19GVU5DX1NNQlVTX1FVSUNLKTsKK30KKworLyogLS0tLS1leHBvcnRlZCBhbGdvcml0aG0gZGF0YTogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQkqLworCitzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19hbGdvcml0aG0gY3BtX2kyY19hbGdvID0geworCS5tYXN0ZXJfeGZlciA9IGNwbV9pMmNfeGZlciwKKwkuZnVuY3Rpb25hbGl0eSA9IGNwbV9pMmNfZnVuYywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2FkYXB0ZXIgY3BtX29wcyA9IHsKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCisJLm5hbWUJCT0gImkyYy1jcG0iLAorCS5hbGdvCQk9ICZjcG1faTJjX2FsZ28sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCit9OworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBjcG1faTJjX3NldHVwKHN0cnVjdCBjcG1faTJjICpjcG0pCit7CisJc3RydWN0IG9mX2RldmljZSAqb2ZkZXYgPSBjcG0tPm9mZGV2OworCWNvbnN0IHUzMiAqZGF0YTsKKwlpbnQgbGVuLCByZXQsIGk7CisJdm9pZCBfX2lvbWVtICppMmNfYmFzZTsKKwljYmRfdCBfX2lvbWVtICp0YmRmOworCWNiZF90IF9faW9tZW0gKnJiZGY7CisJdW5zaWduZWQgY2hhciBicmc7CisKKwlkZXZfZGJnKCZjcG0tPm9mZGV2LT5kZXYsICJjcG1faTJjX3NldHVwKClcbiIpOworCisJaW5pdF93YWl0cXVldWVfaGVhZCgmY3BtLT5pMmNfd2FpdCk7CisKKwljcG0tPmlycSA9IG9mX2lycV90b19yZXNvdXJjZShvZmRldi0+bm9kZSwgMCwgTlVMTCk7CisJaWYgKGNwbS0+aXJxID09IE5PX0lSUSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBJbnN0YWxsIGludGVycnVwdCBoYW5kbGVyLiAqLworCXJldCA9IHJlcXVlc3RfaXJxKGNwbS0+aXJxLCBjcG1faTJjX2ludGVycnVwdCwgMCwgImNwbV9pMmMiLAorCQkJICAmY3BtLT5hZGFwKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJLyogSTJDIHBhcmFtZXRlciBSQU0gKi8KKwlpMmNfYmFzZSA9IG9mX2lvbWFwKG9mZGV2LT5ub2RlLCAxKTsKKwlpZiAoaTJjX2Jhc2UgPT0gTlVMTCkgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dF9pcnE7CisJfQorCisJaWYgKG9mX2RldmljZV9pc19jb21wYXRpYmxlKG9mZGV2LT5ub2RlLCAiZnNsLGNwbTEtaTJjIikpIHsKKworCQkvKiBDaGVjayBmb3IgYW5kIHVzZSBhIG1pY3JvY29kZSByZWxvY2F0aW9uIHBhdGNoLiAqLworCQljcG0tPmkyY19yYW0gPSBpMmNfYmFzZTsKKwkJY3BtLT5pMmNfYWRkciA9IGluX2JlMTYoJmNwbS0+aTJjX3JhbS0+cnBiYXNlKTsKKworCQkvKgorCQkgKiBNYXliZSBzaG91bGQgdXNlIGNwbV9tdXJhbV9hbGxvYyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcKKwkJICogdGhpcyBpbiBtaWNyb3BhdGNoLmMKKwkJICovCisJCWlmIChjcG0tPmkyY19hZGRyKSB7CisJCQljcG0tPmkyY19yYW0gPSBjcG1fbXVyYW1fYWRkcihjcG0tPmkyY19hZGRyKTsKKwkJCWlvdW5tYXAoaTJjX2Jhc2UpOworCQl9CisKKwkJY3BtLT52ZXJzaW9uID0gMTsKKworCX0gZWxzZSBpZiAob2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUob2ZkZXYtPm5vZGUsICJmc2wsY3BtMi1pMmMiKSkgeworCQljcG0tPmkyY19hZGRyID0gY3BtX211cmFtX2FsbG9jKHNpemVvZihzdHJ1Y3QgaTJjX3JhbSksIDY0KTsKKwkJY3BtLT5pMmNfcmFtID0gY3BtX211cmFtX2FkZHIoY3BtLT5pMmNfYWRkcik7CisJCW91dF9iZTE2KGkyY19iYXNlLCBjcG0tPmkyY19hZGRyKTsKKwkJaW91bm1hcChpMmNfYmFzZSk7CisKKwkJY3BtLT52ZXJzaW9uID0gMjsKKworCX0gZWxzZSB7CisJCWlvdW5tYXAoaTJjX2Jhc2UpOworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dF9pcnE7CisJfQorCisJLyogSTJDIGNvbnRyb2wvc3RhdHVzIHJlZ2lzdGVycyAqLworCWNwbS0+aTJjX3JlZyA9IG9mX2lvbWFwKG9mZGV2LT5ub2RlLCAwKTsKKwlpZiAoY3BtLT5pMmNfcmVnID09IE5VTEwpIHsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBvdXRfcmFtOworCX0KKworCWRhdGEgPSBvZl9nZXRfcHJvcGVydHkob2ZkZXYtPm5vZGUsICJmc2wsY3BtLWNvbW1hbmQiLCAmbGVuKTsKKwlpZiAoIWRhdGEgfHwgbGVuICE9IDQpIHsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBvdXRfcmVnOworCX0KKwljcG0tPmNwX2NvbW1hbmQgPSAqZGF0YTsKKworCWRhdGEgPSBvZl9nZXRfcHJvcGVydHkob2ZkZXYtPm5vZGUsICJsaW51eCxpMmMtY2xhc3MiLCAmbGVuKTsKKwlpZiAoZGF0YSAmJiBsZW4gPT0gNCkKKwkJY3BtLT5hZGFwLmNsYXNzID0gKmRhdGE7CisKKwlkYXRhID0gb2ZfZ2V0X3Byb3BlcnR5KG9mZGV2LT5ub2RlLCAiY2xvY2stZnJlcXVlbmN5IiwgJmxlbik7CisJaWYgKGRhdGEgJiYgbGVuID09IDQpCisJCWNwbS0+ZnJlcSA9ICpkYXRhOworCWVsc2UKKwkJY3BtLT5mcmVxID0gNjAwMDA7IC8qIHVzZSA2MGtIeiBpMmMgY2xvY2sgYnkgZGVmYXVsdCAqLworCisJLyoKKwkgKiBBbGxvY2F0ZSBzcGFjZSBmb3IgQ1BNX01BWEJEIHRyYW5zbWl0IGFuZCByZWNlaXZlIGJ1ZmZlcgorCSAqIGRlc2NyaXB0b3JzIGluIHRoZSBEUCByYW0uCisJICovCisJY3BtLT5kcF9hZGRyID0gY3BtX211cmFtX2FsbG9jKHNpemVvZihjYmRfdCkgKiAyICogQ1BNX01BWEJELCA4KTsKKwlpZiAoIWNwbS0+ZHBfYWRkcikgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9yZWc7CisJfQorCisJY3BtLT50YmFzZSA9IGNwbV9tdXJhbV9hZGRyKGNwbS0+ZHBfYWRkcik7CisJY3BtLT5yYmFzZSA9IGNwbV9tdXJhbV9hZGRyKGNwbS0+ZHBfYWRkciArIHNpemVvZihjYmRfdCkgKiBDUE1fTUFYQkQpOworCisJLyogQWxsb2NhdGUgVFggYW5kIFJYIGJ1ZmZlcnMgKi8KKworCXRiZGYgPSBjcG0tPnRiYXNlOworCXJiZGYgPSBjcG0tPnJiYXNlOworCisJZm9yIChpID0gMDsgaSA8IENQTV9NQVhCRDsgaSsrKSB7CisJCWNwbS0+cnhidWZbaV0gPSBkbWFfYWxsb2NfY29oZXJlbnQoCisJCQlOVUxMLCBDUE1fTUFYX1JFQUQgKyAxLCAmY3BtLT5yeGRtYVtpXSwgR0ZQX0tFUk5FTCk7CisJCWlmICghY3BtLT5yeGJ1ZltpXSkgeworCQkJcmV0ID0gLUVOT01FTTsKKwkJCWdvdG8gb3V0X211cmFtOworCQl9CisJCW91dF9iZTMyKCZyYmRmW2ldLmNiZF9idWZhZGRyLCAoKGNwbS0+cnhkbWFbaV0gKyAxKSAmIH4xKSk7CisKKwkJY3BtLT50eGJ1ZltpXSA9ICh1bnNpZ25lZCBjaGFyICopZG1hX2FsbG9jX2NvaGVyZW50KAorCQkJTlVMTCwgQ1BNX01BWF9SRUFEICsgMSwgJmNwbS0+dHhkbWFbaV0sIEdGUF9LRVJORUwpOworCQlpZiAoIWNwbS0+dHhidWZbaV0pIHsKKwkJCXJldCA9IC1FTk9NRU07CisJCQlnb3RvIG91dF9tdXJhbTsKKwkJfQorCQlvdXRfYmUzMigmdGJkZltpXS5jYmRfYnVmYWRkciwgY3BtLT50eGRtYVtpXSk7CisJfQorCisJLyogSW5pdGlhbGl6ZSBUeC9SeCBwYXJhbWV0ZXJzLiAqLworCisJY3BtX3Jlc2V0X2kyY19wYXJhbXMoY3BtKTsKKworCWRldl9kYmcoJmNwbS0+b2ZkZXYtPmRldiwgImkyY19yYW0gMHglcCwgaTJjX2FkZHIgMHglMDR4LCBmcmVxICVkXG4iLAorCQljcG0tPmkyY19yYW0sIGNwbS0+aTJjX2FkZHIsIGNwbS0+ZnJlcSk7CisJZGV2X2RiZygmY3BtLT5vZmRldi0+ZGV2LCAidGJhc2UgMHglMDR4LCByYmFzZSAweCUwNHhcbiIsCisJCSh1OCBfX2lvbWVtICopY3BtLT50YmFzZSAtIERQUkFNX0JBU0UsCisJCSh1OCBfX2lvbWVtICopY3BtLT5yYmFzZSAtIERQUkFNX0JBU0UpOworCisJY3BtX2NvbW1hbmQoY3BtLT5jcF9jb21tYW5kLCBDUE1fQ1JfSU5JVF9UUlgpOworCisJLyoKKwkgKiBTZWxlY3QgYW4gaW52YWxpZCBhZGRyZXNzLiBKdXN0IG1ha2Ugc3VyZSB3ZSBkb24ndCB1c2UgbG9vcGJhY2sgbW9kZQorCSAqLworCW91dF84KCZjcG0tPmkyY19yZWctPmkyYWRkLCAweDdmIDw8IDEpOworCisJLyoKKwkgKiBQRElWIGlzIHNldCB0byAwMCBpbiBpMm1vZCwgc28gYnJnY2xrLzMyIGlzIHVzZWQgYXMgaW5wdXQgdG8gdGhlCisJICogaTJjIGJhdWQgcmF0ZSBnZW5lcmF0b3IuIFRoaXMgaXMgZGl2aWRlZCBieSAyIHggKERJViArIDMpIHRvIGdldAorCSAqIHRoZSBhY3R1YWwgaTJjIGJ1cyBmcmVxdWVuY3kuCisJICovCisJYnJnID0gZ2V0X2JyZ2ZyZXEoKSAvICgzMiAqIDIgKiBjcG0tPmZyZXEpIC0gMzsKKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmJyZywgYnJnKTsKKworCW91dF84KCZjcG0tPmkyY19yZWctPmkybW9kLCAweDAwKTsKKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmNvbSwgSTJDT01fTUFTVEVSKTsJLyogTWFzdGVyIG1vZGUgKi8KKworCS8qIERpc2FibGUgaW50ZXJydXB0cy4gKi8KKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmNtciwgMCk7CisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJjZXIsIDB4ZmYpOworCisJcmV0dXJuIDA7CisKK291dF9tdXJhbToKKwlmb3IgKGkgPSAwOyBpIDwgQ1BNX01BWEJEOyBpKyspIHsKKwkJaWYgKGNwbS0+cnhidWZbaV0pCisJCQlkbWFfZnJlZV9jb2hlcmVudChOVUxMLCBDUE1fTUFYX1JFQUQgKyAxLAorCQkJCWNwbS0+cnhidWZbaV0sIGNwbS0+cnhkbWFbaV0pOworCQlpZiAoY3BtLT50eGJ1ZltpXSkKKwkJCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIENQTV9NQVhfUkVBRCArIDEsCisJCQkJY3BtLT50eGJ1ZltpXSwgY3BtLT50eGRtYVtpXSk7CisJfQorCWNwbV9tdXJhbV9mcmVlKGNwbS0+ZHBfYWRkcik7CitvdXRfcmVnOgorCWlvdW5tYXAoY3BtLT5pMmNfcmVnKTsKK291dF9yYW06CisJaWYgKChjcG0tPnZlcnNpb24gPT0gMSkgJiYgKCFjcG0tPmkyY19hZGRyKSkKKwkJaW91bm1hcChjcG0tPmkyY19yYW0pOworCWlmIChjcG0tPnZlcnNpb24gPT0gMikKKwkJY3BtX211cmFtX2ZyZWUoY3BtLT5pMmNfYWRkcik7CitvdXRfaXJxOgorCWZyZWVfaXJxKGNwbS0+aXJxLCAmY3BtLT5hZGFwKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBjcG1faTJjX3NodXRkb3duKHN0cnVjdCBjcG1faTJjICpjcG0pCit7CisJaW50IGk7CisKKwkvKiBTaHV0IGRvd24gSTJDLiAqLworCWNscmJpdHM4KCZjcG0tPmkyY19yZWctPmkybW9kLCBJMk1PRF9FTik7CisKKwkvKiBEaXNhYmxlIGludGVycnVwdHMgKi8KKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmNtciwgMCk7CisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJjZXIsIDB4ZmYpOworCisJZnJlZV9pcnEoY3BtLT5pcnEsICZjcG0tPmFkYXApOworCisJLyogRnJlZSBhbGwgbWVtb3J5ICovCisJZm9yIChpID0gMDsgaSA8IENQTV9NQVhCRDsgaSsrKSB7CisJCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIENQTV9NQVhfUkVBRCArIDEsCisJCQljcG0tPnJ4YnVmW2ldLCBjcG0tPnJ4ZG1hW2ldKTsKKwkJZG1hX2ZyZWVfY29oZXJlbnQoTlVMTCwgQ1BNX01BWF9SRUFEICsgMSwKKwkJCWNwbS0+dHhidWZbaV0sIGNwbS0+dHhkbWFbaV0pOworCX0KKworCWNwbV9tdXJhbV9mcmVlKGNwbS0+ZHBfYWRkcik7CisJaW91bm1hcChjcG0tPmkyY19yZWcpOworCisJaWYgKChjcG0tPnZlcnNpb24gPT0gMSkgJiYgKCFjcG0tPmkyY19hZGRyKSkKKwkJaW91bm1hcChjcG0tPmkyY19yYW0pOworCWlmIChjcG0tPnZlcnNpb24gPT0gMikKKwkJY3BtX211cmFtX2ZyZWUoY3BtLT5pMmNfYWRkcik7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IGNwbV9pMmNfcHJvYmUoc3RydWN0IG9mX2RldmljZSAqb2ZkZXYsCisJCQkgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAqbWF0Y2gpCit7CisJaW50IHJlc3VsdCwgbGVuOworCXN0cnVjdCBjcG1faTJjICpjcG07CisJY29uc3QgdTMyICpkYXRhOworCisJY3BtID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGNwbV9pMmMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNwbSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwljcG0tPm9mZGV2ID0gb2ZkZXY7CisKKwlkZXZfc2V0X2RydmRhdGEoJm9mZGV2LT5kZXYsIGNwbSk7CisKKwljcG0tPmFkYXAgPSBjcG1fb3BzOworCWkyY19zZXRfYWRhcGRhdGEoJmNwbS0+YWRhcCwgY3BtKTsKKwljcG0tPmFkYXAuZGV2LnBhcmVudCA9ICZvZmRldi0+ZGV2OworCisJcmVzdWx0ID0gY3BtX2kyY19zZXR1cChjcG0pOworCWlmIChyZXN1bHQpIHsKKwkJZGV2X2Vycigmb2ZkZXYtPmRldiwgIlVuYWJsZSB0byBpbml0IGhhcmR3YXJlXG4iKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisKKwkvKiByZWdpc3RlciBuZXcgYWRhcHRlciB0byBpMmMgbW9kdWxlLi4uICovCisKKwlkYXRhID0gb2ZfZ2V0X3Byb3BlcnR5KG9mZGV2LT5ub2RlLCAibGludXgsaTJjLWluZGV4IiwgJmxlbik7CisJaWYgKGRhdGEgJiYgbGVuID09IDQpIHsKKwkJY3BtLT5hZGFwLm5yID0gKmRhdGE7CisJCXJlc3VsdCA9IGkyY19hZGRfbnVtYmVyZWRfYWRhcHRlcigmY3BtLT5hZGFwKTsKKwl9IGVsc2UKKwkJcmVzdWx0ID0gaTJjX2FkZF9hZGFwdGVyKCZjcG0tPmFkYXApOworCisJaWYgKHJlc3VsdCA8IDApIHsKKwkJZGV2X2Vycigmb2ZkZXYtPmRldiwgIlVuYWJsZSB0byByZWdpc3RlciB3aXRoIEkyQ1xuIik7CisJCWdvdG8gb3V0X3NodXQ7CisJfQorCisJZGV2X2RiZygmb2ZkZXYtPmRldiwgImh3IHJvdXRpbmVzIGZvciAlcyByZWdpc3RlcmVkLlxuIiwKKwkJY3BtLT5hZGFwLm5hbWUpOworCisJLyoKKwkgKiByZWdpc3RlciBPRiBJMkMgZGV2aWNlcworCSAqLworCW9mX3JlZ2lzdGVyX2kyY19kZXZpY2VzKCZjcG0tPmFkYXAsIG9mZGV2LT5ub2RlKTsKKworCXJldHVybiAwOworb3V0X3NodXQ6CisJY3BtX2kyY19zaHV0ZG93bihjcG0pOworb3V0X2ZyZWU6CisJZGV2X3NldF9kcnZkYXRhKCZvZmRldi0+ZGV2LCBOVUxMKTsKKwlrZnJlZShjcG0pOworCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludCBfX2RldmV4aXQgY3BtX2kyY19yZW1vdmUoc3RydWN0IG9mX2RldmljZSAqb2ZkZXYpCit7CisJc3RydWN0IGNwbV9pMmMgKmNwbSA9IGRldl9nZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldik7CisKKwlpMmNfZGVsX2FkYXB0ZXIoJmNwbS0+YWRhcCk7CisKKwljcG1faTJjX3NodXRkb3duKGNwbSk7CisKKwlkZXZfc2V0X2RydmRhdGEoJm9mZGV2LT5kZXYsIE5VTEwpOworCWtmcmVlKGNwbSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgY3BtX2kyY19tYXRjaFtdID0geworCXsKKwkJLmNvbXBhdGlibGUgPSAiZnNsLGNwbTEtaTJjIiwKKwl9LAorCXsKKwkJLmNvbXBhdGlibGUgPSAiZnNsLGNwbTItaTJjIiwKKwl9LAorCXt9LAorfTsKKworTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgY3BtX2kyY19tYXRjaCk7CisKK3N0YXRpYyBzdHJ1Y3Qgb2ZfcGxhdGZvcm1fZHJpdmVyIGNwbV9pMmNfZHJpdmVyID0geworCS5tYXRjaF90YWJsZQk9IGNwbV9pMmNfbWF0Y2gsCisJLnByb2JlCQk9IGNwbV9pMmNfcHJvYmUsCisJLnJlbW92ZQkJPSBfX2RldmV4aXRfcChjcG1faTJjX3JlbW92ZSksCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gImZzbC1pMmMtY3BtIiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfQorfTsKKworc3RhdGljIGludCBfX2luaXQgY3BtX2kyY19pbml0KHZvaWQpCit7CisJcmV0dXJuIG9mX3JlZ2lzdGVyX3BsYXRmb3JtX2RyaXZlcigmY3BtX2kyY19kcml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgY3BtX2kyY19leGl0KHZvaWQpCit7CisJb2ZfdW5yZWdpc3Rlcl9wbGF0Zm9ybV9kcml2ZXIoJmNwbV9pMmNfZHJpdmVyKTsKK30KKworbW9kdWxlX2luaXQoY3BtX2kyY19pbml0KTsKK21vZHVsZV9leGl0KGNwbV9pMmNfZXhpdCk7CisKK01PRFVMRV9BVVRIT1IoIkpvY2hlbiBGcmllZHJpY2ggPGpvY2hlbkBzY3JhbS5kZT4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiSTJDLUJ1cyBhZGFwdGVyIHJvdXRpbmVzIGZvciBDUE0gYm9hcmRzIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWRhdmluY2kuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGF2aW5jaS5jCmluZGV4IDdlY2JmYzQuLmFmMzg0NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGF2aW5jaS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGF2aW5jaS5jCkBAIC04NSw2ICs4NSw3IEBACiAjZGVmaW5lIERBVklOQ0lfSTJDX01EUl9NU1QJKDEgPDwgMTApCiAjZGVmaW5lIERBVklOQ0lfSTJDX01EUl9UUlgJKDEgPDwgOSkKICNkZWZpbmUgREFWSU5DSV9JMkNfTURSX1hBCSgxIDw8IDgpCisjZGVmaW5lIERBVklOQ0lfSTJDX01EUl9STQkoMSA8PCA3KQogI2RlZmluZSBEQVZJTkNJX0kyQ19NRFJfSVJTCSgxIDw8IDUpCiAKICNkZWZpbmUgREFWSU5DSV9JMkNfSU1SX0FBUwkoMSA8PCA2KQpAQCAtMTEyLDYgKzExMyw3IEBACiAJdTgJCQkqYnVmOwogCXNpemVfdAkJCWJ1Zl9sZW47CiAJaW50CQkJaXJxOworCXU4CQkJdGVybWluYXRlOwogCXN0cnVjdCBpMmNfYWRhcHRlcglhZGFwdGVyOwogfTsKIApAQCAtMTQyLDYgKzE0NCw3IEBACiAJc3RydWN0IGRhdmluY2lfaTJjX3BsYXRmb3JtX2RhdGEgKnBkYXRhID0gZGV2LT5kZXYtPnBsYXRmb3JtX2RhdGE7CiAJdTE2IHBzYzsKIAl1MzIgY2xrOworCXUzMiBkOwogCXUzMiBjbGtoOwogCXUzMiBjbGtsOwogCXUzMiBpbnB1dF9jbG9jayA9IGNsa19nZXRfcmF0ZShkZXYtPmNsayk7CkBAIC0xNzEsMjMgKzE3NCwyOSBAQAogCSAqICAgICAgIGlmIFBTQyA+IDEgLCBkID0gNQogCSAqLwogCi0JcHNjID0gMjY7IC8qIFRvIGdldCAxTUh6IGNsb2NrICovCisJLyogZ2V0IG1pbmltdW0gb2YgNyBNSHogY2xvY2ssIGJ1dCBtYXggb2YgMTIgTUh6ICovCisJcHNjID0gKGlucHV0X2Nsb2NrIC8gNzAwMDAwMCkgLSAxOworCWlmICgoaW5wdXRfY2xvY2sgLyAocHNjICsgMSkpID4gMTIwMDAwMDApCisJCXBzYysrOwkvKiBiZXR0ZXIgdG8gcnVuIHVuZGVyIHNwZWMgdGhhbiBvdmVyICovCisJZCA9IChwc2MgPj0gMikgPyA1IDogNyAtIHBzYzsKIAotCWNsayA9ICgoaW5wdXRfY2xvY2sgLyAocHNjICsgMSkpIC8gKHBkYXRhLT5idXNfZnJlcSAqIDEwMDApKSAtIDEwOwotCWNsa2ggPSAoNTAgKiBjbGspIC8gMTAwOworCWNsayA9ICgoaW5wdXRfY2xvY2sgLyAocHNjICsgMSkpIC8gKHBkYXRhLT5idXNfZnJlcSAqIDEwMDApKSAtIChkIDw8IDEpOworCWNsa2ggPSBjbGsgPj4gMTsKIAljbGtsID0gY2xrIC0gY2xraDsKIAogCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX1BTQ19SRUcsIHBzYyk7CiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfQ0xLSF9SRUcsIGNsa2gpOwogCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX0NMS0xfUkVHLCBjbGtsKTsKIAotCWRldl9kYmcoZGV2LT5kZXYsICJDTEsgID0gJWRcbiIsIGNsayk7CisJZGV2X2RiZyhkZXYtPmRldiwgImlucHV0X2Nsb2NrID0gJWQsIENMSyA9ICVkXG4iLCBpbnB1dF9jbG9jaywgY2xrKTsKIAlkZXZfZGJnKGRldi0+ZGV2LCAiUFNDICA9ICVkXG4iLAogCQlkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX1BTQ19SRUcpKTsKIAlkZXZfZGJnKGRldi0+ZGV2LCAiQ0xLTCA9ICVkXG4iLAogCQlkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX0NMS0xfUkVHKSk7CiAJZGV2X2RiZyhkZXYtPmRldiwgIkNMS0ggPSAlZFxuIiwKIAkJZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19DTEtIX1JFRykpOworCWRldl9kYmcoZGV2LT5kZXYsICJidXNfZnJlcSA9ICVka0h6LCBidXNfZGVsYXkgPSAlZFxuIiwKKwkJcGRhdGEtPmJ1c19mcmVxLCBwZGF0YS0+YnVzX2RlbGF5KTsKIAogCS8qIFRha2UgdGhlIEkyQyBtb2R1bGUgb3V0IG9mIHJlc2V0OiAqLwogCXcgPSBkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcpOwpAQCAtMjMzLDcgKzI0Miw2IEBACiAJc3RydWN0IGRhdmluY2lfaTJjX2RldiAqZGV2ID0gaTJjX2dldF9hZGFwZGF0YShhZGFwKTsKIAlzdHJ1Y3QgZGF2aW5jaV9pMmNfcGxhdGZvcm1fZGF0YSAqcGRhdGEgPSBkZXYtPmRldi0+cGxhdGZvcm1fZGF0YTsKIAl1MzIgZmxhZzsKLQl1MzIgc3RhdDsKIAl1MTYgdzsKIAlpbnQgcjsKIApAQCAtMjU0LDEyICsyNjIsOSBAQAogCiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfQ05UX1JFRywgZGV2LT5idWZfbGVuKTsKIAotCWluaXRfY29tcGxldGlvbigmZGV2LT5jbWRfY29tcGxldGUpOworCUlOSVRfQ09NUExFVElPTihkZXYtPmNtZF9jb21wbGV0ZSk7CiAJZGV2LT5jbWRfZXJyID0gMDsKIAotCS8qIENsZWFyIGFueSBwZW5kaW5nIGludGVycnVwdHMgYnkgcmVhZGluZyB0aGUgSVZSICovCi0Jc3RhdCA9IGRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfSVZSX1JFRyk7Ci0KIAkvKiBUYWtlIEkyQyBvdXQgb2YgcmVzZXQsIGNvbmZpZ3VyZSBpdCBhcyBtYXN0ZXIgYW5kIHNldCB0aGUKIAkgKiBzdGFydCBiaXQgKi8KIAlmbGFnID0gREFWSU5DSV9JMkNfTURSX0lSUyB8IERBVklOQ0lfSTJDX01EUl9NU1QgfCBEQVZJTkNJX0kyQ19NRFJfU1RUOwpAQCAtMjgwLDIwICsyODUsMzQgQEAKIAkJTU9EX1JFR19CSVQodywgREFWSU5DSV9JMkNfSU1SX1hSRFksIDEpOwogCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX0lNUl9SRUcsIHcpOwogCisJZGV2LT50ZXJtaW5hdGUgPSAwOwogCS8qIHdyaXRlIHRoZSBkYXRhIGludG8gbW9kZSByZWdpc3RlciAqLwogCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcsIGZsYWcpOwogCiAJciA9IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZV90aW1lb3V0KCZkZXYtPmNtZF9jb21wbGV0ZSwKIAkJCQkJCSAgICAgIERBVklOQ0lfSTJDX1RJTUVPVVQpOwotCWRldi0+YnVmX2xlbiA9IDA7Ci0JaWYgKHIgPCAwKQotCQlyZXR1cm4gcjsKLQogCWlmIChyID09IDApIHsKIAkJZGV2X2VycihkZXYtPmRldiwgImNvbnRyb2xsZXIgdGltZWQgb3V0XG4iKTsKIAkJaTJjX2RhdmluY2lfaW5pdChkZXYpOworCQlkZXYtPmJ1Zl9sZW4gPSAwOwogCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAl9CisJaWYgKGRldi0+YnVmX2xlbikgeworCQkvKiBUaGlzIHNob3VsZCBiZSAwIGlmIGFsbCBieXRlcyB3ZXJlIHRyYW5zZmVycmVkCisJCSAqIG9yIGRldi0+Y21kX2VyciBkZW5vdGVzIGFuIGVycm9yLgorCQkgKiBBIHNpZ25hbCBtYXkgaGF2ZSBhYm9ydGVkIHRoZSB0cmFuc2Zlci4KKwkJICovCisJCWlmIChyID49IDApIHsKKwkJCWRldl9lcnIoZGV2LT5kZXYsICJhYm5vcm1hbCB0ZXJtaW5hdGlvbiBidWZfbGVuPSVpXG4iLAorCQkJCWRldi0+YnVmX2xlbik7CisJCQlyID0gLUVSRU1PVEVJTzsKKwkJfQorCQlkZXYtPnRlcm1pbmF0ZSA9IDE7CisJCXdtYigpOworCQlkZXYtPmJ1Zl9sZW4gPSAwOworCX0KKwlpZiAociA8IDApCisJCXJldHVybiByOwogCiAJLyogbm8gZXJyb3IgKi8KIAlpZiAobGlrZWx5KCFkZXYtPmNtZF9lcnIpKQpAQCAtMzM4LDEyICszNTcsMTEgQEAKIAogCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgewogCQlyZXQgPSBpMmNfZGF2aW5jaV94ZmVyX21zZyhhZGFwLCAmbXNnc1tpXSwgKGkgPT0gKG51bSAtIDEpKSk7CisJCWRldl9kYmcoZGV2LT5kZXYsICIlcyBbJWQvJWRdIHJldDogJWRcbiIsIF9fZnVuY19fLCBpICsgMSwgbnVtLAorCQkJcmV0KTsKIAkJaWYgKHJldCA8IDApCiAJCQlyZXR1cm4gcmV0OwogCX0KLQotCWRldl9kYmcoZGV2LT5kZXYsICIlczolZCByZXQ6ICVkXG4iLCBfX2Z1bmNfXywgX19MSU5FX18sIHJldCk7Ci0KIAlyZXR1cm4gbnVtOwogfQogCkBAIC0zNTIsNiArMzcwLDI3IEBACiAJcmV0dXJuIEkyQ19GVU5DX0kyQyB8IChJMkNfRlVOQ19TTUJVU19FTVVMICYgfkkyQ19GVU5DX1NNQlVTX1FVSUNLKTsKIH0KIAorc3RhdGljIHZvaWQgdGVybWluYXRlX3JlYWQoc3RydWN0IGRhdmluY2lfaTJjX2RldiAqZGV2KQoreworCXUxNiB3ID0gZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19NRFJfUkVHKTsKKwl3IHw9IERBVklOQ0lfSTJDX01EUl9OQUNLOworCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcsIHcpOworCisJLyogVGhyb3cgYXdheSBkYXRhICovCisJZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19EUlJfUkVHKTsKKwlpZiAoIWRldi0+dGVybWluYXRlKQorCQlkZXZfZXJyKGRldi0+ZGV2LCAiUkRSIElSUSB3aGlsZSBubyBkYXRhIHJlcXVlc3RlZFxuIik7Cit9CitzdGF0aWMgdm9pZCB0ZXJtaW5hdGVfd3JpdGUoc3RydWN0IGRhdmluY2lfaTJjX2RldiAqZGV2KQoreworCXUxNiB3ID0gZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19NRFJfUkVHKTsKKwl3IHw9IERBVklOQ0lfSTJDX01EUl9STSB8IERBVklOQ0lfSTJDX01EUl9TVFA7CisJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfTURSX1JFRywgdyk7CisKKwlpZiAoIWRldi0+dGVybWluYXRlKQorCQlkZXZfZXJyKGRldi0+ZGV2LCAiVERSIElSUSB3aGlsZSBubyBkYXRhIHRvIHNlbmRcbiIpOworfQorCiAvKgogICogSW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZS4gVGhpcyBnZXRzIGNhbGxlZCB3aGVuZXZlciBhbiBJMkMgaW50ZXJydXB0CiAgKiBvY2N1cnMuCkBAIC0zNzIsMTIgKzQxMSwxNSBAQAogCiAJCXN3aXRjaCAoc3RhdCkgewogCQljYXNlIERBVklOQ0lfSTJDX0lWUl9BTDoKKwkJCS8qIEFyYml0cmF0aW9uIGxvc3QsIG11c3QgcmV0cnkgKi8KIAkJCWRldi0+Y21kX2VyciB8PSBEQVZJTkNJX0kyQ19TVFJfQUw7CisJCQlkZXYtPmJ1Zl9sZW4gPSAwOwogCQkJY29tcGxldGUoJmRldi0+Y21kX2NvbXBsZXRlKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgREFWSU5DSV9JMkNfSVZSX05BQ0s6CiAJCQlkZXYtPmNtZF9lcnIgfD0gREFWSU5DSV9JMkNfU1RSX05BQ0s7CisJCQlkZXYtPmJ1Zl9sZW4gPSAwOwogCQkJY29tcGxldGUoJmRldi0+Y21kX2NvbXBsZXRlKTsKIAkJCWJyZWFrOwogCkBAIC0zOTksOSArNDQxLDEwIEBACiAJCQkJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwKIAkJCQkJREFWSU5DSV9JMkNfU1RSX1JFRywKIAkJCQkJREFWSU5DSV9JMkNfSU1SX1JSRFkpOwotCQkJfSBlbHNlCi0JCQkJZGV2X2VycihkZXYtPmRldiwgIlJEUiBJUlEgd2hpbGUgbm8gIgotCQkJCQkiZGF0YSByZXF1ZXN0ZWRcbiIpOworCQkJfSBlbHNlIHsKKwkJCQkvKiBzaWduYWwgY2FuIHRlcm1pbmF0ZSB0cmFuc2ZlciAqLworCQkJCXRlcm1pbmF0ZV9yZWFkKGRldik7CisJCQl9CiAJCQlicmVhazsKIAogCQljYXNlIERBVklOQ0lfSTJDX0lWUl9YUkRZOgpAQCAtNDE4LDkgKzQ2MSwxMCBAQAogCQkJCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsCiAJCQkJCQkgICAgICBEQVZJTkNJX0kyQ19JTVJfUkVHLAogCQkJCQkJICAgICAgdyk7Ci0JCQl9IGVsc2UKLQkJCQlkZXZfZXJyKGRldi0+ZGV2LCAiVERSIElSUSB3aGlsZSBubyBkYXRhIHRvICIKLQkJCQkJInNlbmRcbiIpOworCQkJfSBlbHNlIHsKKwkJCQkvKiBzaWduYWwgY2FuIHRlcm1pbmF0ZSB0cmFuc2ZlciAqLworCQkJCXRlcm1pbmF0ZV93cml0ZShkZXYpOworCQkJfQogCQkJYnJlYWs7CiAKIAkJY2FzZSBEQVZJTkNJX0kyQ19JVlJfU0NEOgpAQCAtNDc1LDYgKzUxOSw3IEBACiAJCWdvdG8gZXJyX3JlbGVhc2VfcmVnaW9uOwogCX0KIAorCWluaXRfY29tcGxldGlvbigmZGV2LT5jbWRfY29tcGxldGUpOwogCWRldi0+ZGV2ID0gZ2V0X2RldmljZSgmcGRldi0+ZGV2KTsKIAlkZXYtPmlycSA9IGlycS0+c3RhcnQ7CiAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZWxla3Rvci5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMKaW5kZXggYjdhOTk3Ny4uN2YzOGMwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMKQEAgLTE5NiwxMyArMTk2LDExIEBACiAJLmdldG93bgkgICAgPSBwY2ZfaXNhX2dldG93biwKIAkuZ2V0Y2xvY2sgICA9IHBjZl9pc2FfZ2V0Y2xvY2ssCiAJLndhaXRmb3JwaW4gPSBwY2ZfaXNhX3dhaXRmb3JwaW4sCi0JLnVkZWxheQkgICAgPSAxMCwKLQkudGltZW91dCAgICA9IDEwMCwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgcGNmX2lzYV9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmlkCQk9IEkyQ19IV19QX0VMRUssCiAJLmFsZ29fZGF0YQk9ICZwY2ZfaXNhX2RhdGEsCiAJLm5hbWUJCT0gImkyYy1lbGVrdG9yIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZ3Bpby5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1ncGlvLmMKaW5kZXggN2MxYjc2Mi4uNzliNDU1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1ncGlvLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1ncGlvLmMKQEAgLTE0MCw3ICsxNDAsNyBAQAogCWFkYXAtPm93bmVyID0gVEhJU19NT0RVTEU7CiAJc25wcmludGYoYWRhcC0+bmFtZSwgc2l6ZW9mKGFkYXAtPm5hbWUpLCAiaTJjLWdwaW8lZCIsIHBkZXYtPmlkKTsKIAlhZGFwLT5hbGdvX2RhdGEgPSBiaXRfZGF0YTsKLQlhZGFwLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlhZGFwLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJYWRhcC0+ZGV2LnBhcmVudCA9ICZwZGV2LT5kZXY7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1oeWRyYS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1oeWRyYS5jCmluZGV4IGY5OTcyZjkuLjEwOThmMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaHlkcmEuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWh5ZHJhLmMKQEAgLTEsNyArMSw0IEBACiAvKgotICAgIGkyYy1oeWRyYS5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCAgTGludXgga2VybmVsIG1vZHVsZXMKLSAgICAgICAgICAgICAgICAgIGZvciBoYXJkd2FyZSBtb25pdG9yaW5nCi0KICAgICBpMmMgU3VwcG9ydCBmb3IgdGhlIEFwcGxlIGBIeWRyYScgTWFjIEkvTwogCiAgICAgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDQgR2VlcnQgVXl0dGVyaG9ldmVuIDxnZWVydEBsaW51eC1tNjhrLm9yZz4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgwMS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODAxLmMKaW5kZXggYjBmNzcxZi4uZGM3ZWEzMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODAxLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODAxLmMKQEAgLTEsMTAgKzEsOCBAQAogLyoKLSAgICBpMmMtaTgwMS5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCAtIDIwMDIgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCiAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwgYW5kIE1hcmsgRC4gU3R1ZGViYWtlcgogICAgIDxtZHN4eXoxMjNAeWFob28uY29tPgotICAgIENvcHlyaWdodCAoQykgMjAwNyAgICAgICAgIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCAgIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgogCiAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAtNjQsNiArNjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIC8qIEk4MDEgU01CdXMgYWRkcmVzcyBvZmZzZXRzICovCkBAIC0xMjEsNiArMTIwLDEwIEBACiAjZGVmaW5lIFNNQkhTVFNUU19JTlRSCQkweDAyCiAjZGVmaW5lIFNNQkhTVFNUU19IT1NUX0JVU1kJMHgwMQogCisjZGVmaW5lIFNUQVRVU19GTEFHUwkJKFNNQkhTVFNUU19CWVRFX0RPTkUgfCBTTUJIU1RTVFNfRkFJTEVEIHwgXAorCQkJCSBTTUJIU1RTVFNfQlVTX0VSUiB8IFNNQkhTVFNUU19ERVZfRVJSIHwgXAorCQkJCSBTTUJIU1RTVFNfSU5UUikKKwogc3RhdGljIHVuc2lnbmVkIGxvbmcgaTgwMV9zbWJhOwogc3RhdGljIHVuc2lnbmVkIGNoYXIgaTgwMV9vcmlnaW5hbF9oc3RjZmc7CiBzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgaTgwMV9kcml2ZXI7CkBAIC0xMzIsMzEgKzEzNSw5NiBAQAogI2RlZmluZSBGRUFUVVJFX0kyQ19CTE9DS19SRUFECSgxIDw8IDMpCiBzdGF0aWMgdW5zaWduZWQgaW50IGk4MDFfZmVhdHVyZXM7CiAKLXN0YXRpYyBpbnQgaTgwMV90cmFuc2FjdGlvbihpbnQgeGFjdCkKKy8qIE1ha2Ugc3VyZSB0aGUgU01CdXMgaG9zdCBpcyByZWFkeSB0byBzdGFydCB0cmFuc21pdHRpbmcuCisgICBSZXR1cm4gMCBpZiBpdCBpcywgLUVCVVNZIGlmIGl0IGlzIG5vdC4gKi8KK3N0YXRpYyBpbnQgaTgwMV9jaGVja19wcmUodm9pZCkKIHsKLQlpbnQgdGVtcDsKLQlpbnQgcmVzdWx0ID0gMDsKLQlpbnQgdGltZW91dCA9IDA7CisJaW50IHN0YXR1czsKIAotCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJUcmFuc2FjdGlvbiAocHJlKTogQ05UPSUwMngsIENNRD0lMDJ4LCAiCi0JCSJBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMnhcbiIsIGluYl9wKFNNQkhTVENOVCksCi0JCWluYl9wKFNNQkhTVENNRCksIGluYl9wKFNNQkhTVEFERCksIGluYl9wKFNNQkhTVERBVDApLAotCQlpbmJfcChTTUJIU1REQVQxKSk7CisJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKTsKKwlpZiAoc3RhdHVzICYgU01CSFNUU1RTX0hPU1RfQlVTWSkgeworCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiU01CdXMgaXMgYnVzeSwgY2FuJ3QgdXNlIGl0IVxuIik7CisJCXJldHVybiAtRUJVU1k7CisJfQogCi0JLyogTWFrZSBzdXJlIHRoZSBTTUJ1cyBob3N0IGlzIHJlYWR5IHRvIHN0YXJ0IHRyYW5zbWl0dGluZyAqLwotCS8qIDB4MWYgPSBGYWlsZWQsIEJ1c19FcnIsIERldl9FcnIsIEludHIsIEhvc3RfQnVzeSAqLwotCWlmICgodGVtcCA9ICgweDFmICYgaW5iX3AoU01CSFNUU1RTKSkpICE9IDB4MDApIHsKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlNNQnVzIGJ1c3kgKCUwMngpLiBSZXNldHRpbmcuLi5cbiIsCi0JCQl0ZW1wKTsKLQkJb3V0Yl9wKHRlbXAsIFNNQkhTVFNUUyk7Ci0JCWlmICgodGVtcCA9ICgweDFmICYgaW5iX3AoU01CSFNUU1RTKSkpICE9IDB4MDApIHsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJGYWlsZWQhICglMDJ4KVxuIiwgdGVtcCk7Ci0JCQlyZXR1cm4gLTE7Ci0JCX0gZWxzZSB7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiU3VjY2Vzc2Z1bCFcbiIpOworCXN0YXR1cyAmPSBTVEFUVVNfRkxBR1M7CisJaWYgKHN0YXR1cykgeworCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiQ2xlYXJpbmcgc3RhdHVzIGZsYWdzICglMDJ4KVxuIiwKKwkJCXN0YXR1cyk7CisJCW91dGJfcChzdGF0dXMsIFNNQkhTVFNUUyk7CisJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUykgJiBTVEFUVVNfRkxBR1M7CisJCWlmIChzdGF0dXMpIHsKKwkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsCisJCQkJIkZhaWxlZCBjbGVhcmluZyBzdGF0dXMgZmxhZ3MgKCUwMngpXG4iLAorCQkJCXN0YXR1cyk7CisJCQlyZXR1cm4gLUVCVVNZOwogCQl9CiAJfQogCisJcmV0dXJuIDA7Cit9CisKKy8qIENvbnZlcnQgdGhlIHN0YXR1cyByZWdpc3RlciB0byBhbiBlcnJvciBjb2RlLCBhbmQgY2xlYXIgaXQuICovCitzdGF0aWMgaW50IGk4MDFfY2hlY2tfcG9zdChpbnQgc3RhdHVzLCBpbnQgdGltZW91dCkKK3sKKwlpbnQgcmVzdWx0ID0gMDsKKworCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCisJaWYgKHRpbWVvdXQpIHsKKwkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwgIlRyYW5zYWN0aW9uIHRpbWVvdXRcbiIpOworCQkvKiB0cnkgdG8gc3RvcCB0aGUgY3VycmVudCBjb21tYW5kICovCisJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJUZXJtaW5hdGluZyB0aGUgY3VycmVudCBvcGVyYXRpb25cbiIpOworCQlvdXRiX3AoaW5iX3AoU01CSFNUQ05UKSB8IFNNQkhTVENOVF9LSUxMLCBTTUJIU1RDTlQpOworCQltc2xlZXAoMSk7CisJCW91dGJfcChpbmJfcChTTUJIU1RDTlQpICYgKH5TTUJIU1RDTlRfS0lMTCksIFNNQkhTVENOVCk7CisKKwkJLyogQ2hlY2sgaWYgaXQgd29ya2VkICovCisJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUyk7CisJCWlmICgoc3RhdHVzICYgU01CSFNUU1RTX0hPU1RfQlVTWSkgfHwKKwkJICAgICEoc3RhdHVzICYgU01CSFNUU1RTX0ZBSUxFRCkpCisJCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LAorCQkJCSJGYWlsZWQgdGVybWluYXRpbmcgdGhlIHRyYW5zYWN0aW9uXG4iKTsKKwkJb3V0Yl9wKFNUQVRVU19GTEFHUywgU01CSFNUU1RTKTsKKwkJcmV0dXJuIC1FVElNRURPVVQ7CisJfQorCisJaWYgKHN0YXR1cyAmIFNNQkhTVFNUU19GQUlMRUQpIHsKKwkJcmVzdWx0ID0gLUVJTzsKKwkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwgIlRyYW5zYWN0aW9uIGZhaWxlZFxuIik7CisJfQorCWlmIChzdGF0dXMgJiBTTUJIU1RTVFNfREVWX0VSUikgeworCQlyZXN1bHQgPSAtRU5YSU87CisJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJObyByZXNwb25zZVxuIik7CisJfQorCWlmIChzdGF0dXMgJiBTTUJIU1RTVFNfQlVTX0VSUikgeworCQlyZXN1bHQgPSAtRUFHQUlOOworCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiTG9zdCBhcmJpdHJhdGlvblxuIik7CisJfQorCisJaWYgKHJlc3VsdCkgeworCQkvKiBDbGVhciBlcnJvciBmbGFncyAqLworCQlvdXRiX3Aoc3RhdHVzICYgU1RBVFVTX0ZMQUdTLCBTTUJIU1RTVFMpOworCQlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpICYgU1RBVFVTX0ZMQUdTOworCQlpZiAoc3RhdHVzKSB7CisJCQlkZXZfd2FybigmSTgwMV9kZXYtPmRldiwgIkZhaWxlZCBjbGVhcmluZyBzdGF0dXMgIgorCQkJCSAiZmxhZ3MgYXQgZW5kIG9mIHRyYW5zYWN0aW9uICglMDJ4KVxuIiwKKwkJCQkgc3RhdHVzKTsKKwkJfQorCX0KKworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBpbnQgaTgwMV90cmFuc2FjdGlvbihpbnQgeGFjdCkKK3sKKwlpbnQgc3RhdHVzOworCWludCByZXN1bHQ7CisJaW50IHRpbWVvdXQgPSAwOworCisJcmVzdWx0ID0gaTgwMV9jaGVja19wcmUoKTsKKwlpZiAocmVzdWx0IDwgMCkKKwkJcmV0dXJuIHJlc3VsdDsKKwogCS8qIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIFNNQkhTVENOVCBjYW4gYmUgb3ZlcndyaXR0ZW4sIHNpbmNlIFBFQywKIAkgKiBJTlRSRU4sIFNNQlNDTUQgYXJlIHBhc3NlZCBpbiB4YWN0ICovCiAJb3V0Yl9wKHhhY3QgfCBJODAxX1NUQVJULCBTTUJIU1RDTlQpOwpAQCAtMTY0LDczICsyMzIsNDAgQEAKIAkvKiBXZSB3aWxsIGFsd2F5cyB3YWl0IGZvciBhIGZyYWN0aW9uIG9mIGEgc2Vjb25kISAqLwogCWRvIHsKIAkJbXNsZWVwKDEpOwotCQl0ZW1wID0gaW5iX3AoU01CSFNUU1RTKTsKLQl9IHdoaWxlICgodGVtcCAmIFNNQkhTVFNUU19IT1NUX0JVU1kpICYmICh0aW1lb3V0KysgPCBNQVhfVElNRU9VVCkpOworCQlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpOworCX0gd2hpbGUgKChzdGF0dXMgJiBTTUJIU1RTVFNfSE9TVF9CVVNZKSAmJiAodGltZW91dCsrIDwgTUFYX1RJTUVPVVQpKTsKIAotCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCi0JaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKLQkJcmVzdWx0ID0gLTE7Ci0JCS8qIHRyeSB0byBzdG9wIHRoZSBjdXJyZW50IGNvbW1hbmQgKi8KLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlRlcm1pbmF0aW5nIHRoZSBjdXJyZW50IG9wZXJhdGlvblxuIik7Ci0JCW91dGJfcChpbmJfcChTTUJIU1RDTlQpIHwgU01CSFNUQ05UX0tJTEwsIFNNQkhTVENOVCk7Ci0JCW1zbGVlcCgxKTsKLQkJb3V0Yl9wKGluYl9wKFNNQkhTVENOVCkgJiAoflNNQkhTVENOVF9LSUxMKSwgU01CSFNUQ05UKTsKLQl9CisJcmVzdWx0ID0gaTgwMV9jaGVja19wb3N0KHN0YXR1cywgdGltZW91dCA+PSBNQVhfVElNRU9VVCk7CisJaWYgKHJlc3VsdCA8IDApCisJCXJldHVybiByZXN1bHQ7CiAKLQlpZiAodGVtcCAmIFNNQkhTVFNUU19GQUlMRUQpIHsKLQkJcmVzdWx0ID0gLTE7Ci0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJFcnJvcjogRmFpbGVkIGJ1cyB0cmFuc2FjdGlvblxuIik7Ci0JfQotCi0JaWYgKHRlbXAgJiBTTUJIU1RTVFNfQlVTX0VSUikgewotCQlyZXN1bHQgPSAtMTsKLQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwgIkJ1cyBjb2xsaXNpb24hIFNNQnVzIG1heSBiZSBsb2NrZWQgIgotCQkJInVudGlsIG5leHQgaGFyZCByZXNldC4gKHNvcnJ5ISlcbiIpOwotCQkvKiBDbG9jayBzdG9wcyBhbmQgc2xhdmUgaXMgc3R1Y2sgaW4gbWlkLXRyYW5zbWlzc2lvbiAqLwotCX0KLQotCWlmICh0ZW1wICYgU01CSFNUU1RTX0RFVl9FUlIpIHsKLQkJcmVzdWx0ID0gLTE7Ci0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJFcnJvcjogbm8gcmVzcG9uc2UhXG4iKTsKLQl9Ci0KLQlpZiAoKGluYl9wKFNNQkhTVFNUUykgJiAweDFmKSAhPSAweDAwKQotCQlvdXRiX3AoaW5iKFNNQkhTVFNUUyksIFNNQkhTVFNUUyk7Ci0KLQlpZiAoKHRlbXAgPSAoMHgxZiAmIGluYl9wKFNNQkhTVFNUUykpKSAhPSAweDAwKSB7Ci0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJGYWlsZWQgcmVzZXQgYXQgZW5kIG9mIHRyYW5zYWN0aW9uICIKLQkJCSIoJTAyeClcbiIsIHRlbXApOwotCX0KLQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiVHJhbnNhY3Rpb24gKHBvc3QpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKLQkJIkFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwgaW5iX3AoU01CSFNUQ05UKSwKLQkJaW5iX3AoU01CSFNUQ01EKSwgaW5iX3AoU01CSFNUQUREKSwgaW5iX3AoU01CSFNUREFUMCksCi0JCWluYl9wKFNNQkhTVERBVDEpKTsKLQlyZXR1cm4gcmVzdWx0OworCW91dGJfcChTTUJIU1RTVFNfSU5UUiwgU01CSFNUU1RTKTsKKwlyZXR1cm4gMDsKIH0KIAogLyogd2FpdCBmb3IgSU5UUiBiaXQgYXMgYWR2aXNlZCBieSBJbnRlbCAqLwogc3RhdGljIHZvaWQgaTgwMV93YWl0X2h3cGVjKHZvaWQpCiB7CiAJaW50IHRpbWVvdXQgPSAwOwotCWludCB0ZW1wOworCWludCBzdGF0dXM7CiAKIAlkbyB7CiAJCW1zbGVlcCgxKTsKLQkJdGVtcCA9IGluYl9wKFNNQkhTVFNUUyk7Ci0JfSB3aGlsZSAoKCEodGVtcCAmIFNNQkhTVFNUU19JTlRSKSkKKwkJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKTsKKwl9IHdoaWxlICgoIShzdGF0dXMgJiBTTUJIU1RTVFNfSU5UUikpCiAJCSAmJiAodGltZW91dCsrIDwgTUFYX1RJTUVPVVQpKTsKIAogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CiAJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJQRUMgVGltZW91dCFcbiIpOwogCX0KLQlvdXRiX3AodGVtcCwgU01CSFNUU1RTKTsKKwlvdXRiX3Aoc3RhdHVzLCBTTUJIU1RTVFMpOwogfQogCiBzdGF0aWMgaW50IGk4MDFfYmxvY2tfdHJhbnNhY3Rpb25fYnlfYmxvY2sodW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEsCiAJCQkJCSAgIGNoYXIgcmVhZF93cml0ZSwgaW50IGh3cGVjKQogewogCWludCBpLCBsZW47CisJaW50IHN0YXR1czsKIAogCWluYl9wKFNNQkhTVENOVCk7IC8qIHJlc2V0IHRoZSBkYXRhIGJ1ZmZlciBpbmRleCAqLwogCkBAIC0yNDIsMTQgKzI3NywxNSBAQAogCQkJb3V0Yl9wKGRhdGEtPmJsb2NrW2krMV0sIFNNQkJMS0RBVCk7CiAJfQogCi0JaWYgKGk4MDFfdHJhbnNhY3Rpb24oSTgwMV9CTE9DS19EQVRBIHwgRU5BQkxFX0lOVDkgfAotCQkJICAgICBJODAxX1BFQ19FTiAqIGh3cGVjKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGk4MDFfdHJhbnNhY3Rpb24oSTgwMV9CTE9DS19EQVRBIHwgRU5BQkxFX0lOVDkgfAorCQkJCSAgSTgwMV9QRUNfRU4gKiBod3BlYyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19SRUFEKSB7CiAJCWxlbiA9IGluYl9wKFNNQkhTVERBVDApOwogCQlpZiAobGVuIDwgMSB8fCBsZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FUFJPVE87CiAKIAkJZGF0YS0+YmxvY2tbMF0gPSBsZW47CiAJCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKQEAgLTI2NCwxMCArMzAwLDEzIEBACiB7CiAJaW50IGksIGxlbjsKIAlpbnQgc21iY21kOwotCWludCB0ZW1wOwotCWludCByZXN1bHQgPSAwOworCWludCBzdGF0dXM7CisJaW50IHJlc3VsdDsKIAlpbnQgdGltZW91dDsKLQl1bnNpZ25lZCBjaGFyIGVycm1hc2s7CisKKwlyZXN1bHQgPSBpODAxX2NoZWNrX3ByZSgpOworCWlmIChyZXN1bHQgPCAwKQorCQlyZXR1cm4gcmVzdWx0OwogCiAJbGVuID0gZGF0YS0+YmxvY2tbMF07CiAKQEAgLTI5MSwzNiArMzMwLDYgQEAKIAkJfQogCQlvdXRiX3Aoc21iY21kIHwgRU5BQkxFX0lOVDksIFNNQkhTVENOVCk7CiAKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkJsb2NrIChwcmUgJWQpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKLQkJCSJBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMngsIEJMS0RBVD0lMDJ4XG4iLCBpLAotCQkJaW5iX3AoU01CSFNUQ05UKSwgaW5iX3AoU01CSFNUQ01EKSwgaW5iX3AoU01CSFNUQUREKSwKLQkJCWluYl9wKFNNQkhTVERBVDApLCBpbmJfcChTTUJIU1REQVQxKSwgaW5iX3AoU01CQkxLREFUKSk7Ci0KLQkJLyogTWFrZSBzdXJlIHRoZSBTTUJ1cyBob3N0IGlzIHJlYWR5IHRvIHN0YXJ0IHRyYW5zbWl0dGluZyAqLwotCQl0ZW1wID0gaW5iX3AoU01CSFNUU1RTKTsKLQkJaWYgKGkgPT0gMSkgewotCQkJLyogRXJyb25lb3VzIGNvbmRpdGlvbnMgYmVmb3JlIHRyYW5zYWN0aW9uOgotCQkJICogQnl0ZV9Eb25lLCBGYWlsZWQsIEJ1c19FcnIsIERldl9FcnIsIEludHIsIEhvc3RfQnVzeSAqLwotCQkJZXJybWFzayA9IDB4OWY7Ci0JCX0gZWxzZSB7Ci0JCQkvKiBFcnJvbmVvdXMgY29uZGl0aW9ucyBkdXJpbmcgdHJhbnNhY3Rpb246Ci0JCQkgKiBGYWlsZWQsIEJ1c19FcnIsIERldl9FcnIsIEludHIgKi8KLQkJCWVycm1hc2sgPSAweDFlOwotCQl9Ci0JCWlmICh0ZW1wICYgZXJybWFzaykgewotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlNNQnVzIGJ1c3kgKCUwMngpLiAiCi0JCQkJIlJlc2V0dGluZy4uLlxuIiwgdGVtcCk7Ci0JCQlvdXRiX3AodGVtcCwgU01CSFNUU1RTKTsKLQkJCWlmICgoKHRlbXAgPSBpbmJfcChTTUJIU1RTVFMpKSAmIGVycm1hc2spICE9IDB4MDApIHsKLQkJCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LAotCQkJCQkiUmVzZXQgZmFpbGVkISAoJTAyeClcbiIsIHRlbXApOwotCQkJCXJldHVybiAtMTsKLQkJCX0KLQkJCWlmIChpICE9IDEpCi0JCQkJLyogaWYgZGllIGluIG1pZGRsZSBvZiBibG9jayB0cmFuc2FjdGlvbiwgZmFpbCAqLwotCQkJCXJldHVybiAtMTsKLQkJfQotCiAJCWlmIChpID09IDEpCiAJCQlvdXRiX3AoaW5iKFNNQkhTVENOVCkgfCBJODAxX1NUQVJULCBTTUJIU1RDTlQpOwogCkBAIC0zMjgsNDEgKzMzNywyOCBAQAogCQl0aW1lb3V0ID0gMDsKIAkJZG8gewogCQkJbXNsZWVwKDEpOwotCQkJdGVtcCA9IGluYl9wKFNNQkhTVFNUUyk7CisJCQlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpOwogCQl9Ci0JCXdoaWxlICgoISh0ZW1wICYgU01CSFNUU1RTX0JZVEVfRE9ORSkpCisJCXdoaWxlICgoIShzdGF0dXMgJiBTTUJIU1RTVFNfQllURV9ET05FKSkKIAkJICAgICAgICYmICh0aW1lb3V0KysgPCBNQVhfVElNRU9VVCkpOwogCi0JCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCi0JCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7Ci0JCQkvKiB0cnkgdG8gc3RvcCB0aGUgY3VycmVudCBjb21tYW5kICovCi0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiVGVybWluYXRpbmcgdGhlIGN1cnJlbnQgIgotCQkJCQkJIm9wZXJhdGlvblxuIik7Ci0JCQlvdXRiX3AoaW5iX3AoU01CSFNUQ05UKSB8IFNNQkhTVENOVF9LSUxMLCBTTUJIU1RDTlQpOwotCQkJbXNsZWVwKDEpOwotCQkJb3V0Yl9wKGluYl9wKFNNQkhTVENOVCkgJiAoflNNQkhTVENOVF9LSUxMKSwKLQkJCQlTTUJIU1RDTlQpOwotCQkJcmVzdWx0ID0gLTE7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwotCQl9Ci0KLQkJaWYgKHRlbXAgJiBTTUJIU1RTVFNfRkFJTEVEKSB7Ci0JCQlyZXN1bHQgPSAtMTsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsCi0JCQkJIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKLQkJfSBlbHNlIGlmICh0ZW1wICYgU01CSFNUU1RTX0JVU19FUlIpIHsKLQkJCXJlc3VsdCA9IC0xOwotCQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwgIkJ1cyBjb2xsaXNpb24hXG4iKTsKLQkJfSBlbHNlIGlmICh0ZW1wICYgU01CSFNUU1RTX0RFVl9FUlIpIHsKLQkJCXJlc3VsdCA9IC0xOwotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkVycm9yOiBubyByZXNwb25zZSFcbiIpOwotCQl9CisJCXJlc3VsdCA9IGk4MDFfY2hlY2tfcG9zdChzdGF0dXMsIHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpOworCQlpZiAocmVzdWx0IDwgMCkKKwkJCXJldHVybiByZXN1bHQ7CiAKIAkJaWYgKGkgPT0gMSAmJiByZWFkX3dyaXRlID09IEkyQ19TTUJVU19SRUFECiAJCSAmJiBjb21tYW5kICE9IEkyQ19TTUJVU19JMkNfQkxPQ0tfREFUQSkgewogCQkJbGVuID0gaW5iX3AoU01CSFNUREFUMCk7Ci0JCQlpZiAobGVuIDwgMSB8fCBsZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQotCQkJCXJldHVybiAtMTsKKwkJCWlmIChsZW4gPCAxIHx8IGxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVgpIHsKKwkJCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LAorCQkJCQkiSWxsZWdhbCBTTUJ1cyBibG9jayByZWFkIHNpemUgJWRcbiIsCisJCQkJCWxlbik7CisJCQkJLyogUmVjb3ZlciAqLworCQkJCXdoaWxlIChpbmJfcChTTUJIU1RTVFMpICYgU01CSFNUU1RTX0hPU1RfQlVTWSkKKwkJCQkJb3V0Yl9wKFNNQkhTVFNUU19CWVRFX0RPTkUsIFNNQkhTVFNUUyk7CisJCQkJb3V0Yl9wKFNNQkhTVFNUU19JTlRSLCBTTUJIU1RTVFMpOworCQkJCXJldHVybiAtRVBST1RPOworCQkJfQogCQkJZGF0YS0+YmxvY2tbMF0gPSBsZW47CiAJCX0KIApAQCAtMzcxLDMwICszNjcsMTkgQEAKIAkJCWRhdGEtPmJsb2NrW2ldID0gaW5iX3AoU01CQkxLREFUKTsKIAkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFICYmIGkrMSA8PSBsZW4pCiAJCQlvdXRiX3AoZGF0YS0+YmxvY2tbaSsxXSwgU01CQkxLREFUKTsKLQkJaWYgKCh0ZW1wICYgMHg5ZSkgIT0gMHgwMCkKLQkJCW91dGJfcCh0ZW1wLCBTTUJIU1RTVFMpOyAgLyogc2lnbmFscyBTTUJCTEtEQVQgcmVhZHkgKi8KIAotCQlpZiAoKHRlbXAgPSAoMHgxZSAmIGluYl9wKFNNQkhTVFNUUykpKSAhPSAweDAwKSB7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LAotCQkJCSJCYWQgc3RhdHVzICglMDJ4KSBhdCBlbmQgb2YgdHJhbnNhY3Rpb25cbiIsCi0JCQkJdGVtcCk7Ci0JCX0KLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkJsb2NrIChwb3N0ICVkKTogQ05UPSUwMngsIENNRD0lMDJ4LCAiCi0JCQkiQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4LCBCTEtEQVQ9JTAyeFxuIiwgaSwKLQkJCWluYl9wKFNNQkhTVENOVCksIGluYl9wKFNNQkhTVENNRCksIGluYl9wKFNNQkhTVEFERCksCi0JCQlpbmJfcChTTUJIU1REQVQwKSwgaW5iX3AoU01CSFNUREFUMSksIGluYl9wKFNNQkJMS0RBVCkpOwotCi0JCWlmIChyZXN1bHQgPCAwKQotCQkJcmV0dXJuIHJlc3VsdDsKKwkJLyogc2lnbmFscyBTTUJCTEtEQVQgcmVhZHkgKi8KKwkJb3V0Yl9wKFNNQkhTVFNUU19CWVRFX0RPTkUgfCBTTUJIU1RTVFNfSU5UUiwgU01CSFNUU1RTKTsKIAl9Ci0JcmV0dXJuIHJlc3VsdDsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGk4MDFfc2V0X2Jsb2NrX2J1ZmZlcl9tb2RlKHZvaWQpCiB7CiAJb3V0Yl9wKGluYl9wKFNNQkFVWENUTCkgfCBTTUJBVVhDVExfRTMyQiwgU01CQVVYQ1RMKTsKIAlpZiAoKGluYl9wKFNNQkFVWENUTCkgJiBTTUJBVVhDVExfRTMyQikgPT0gMCkKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVJTzsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDE0LDcgKzM5OSw3IEBACiAJCX0gZWxzZSBpZiAoIShpODAxX2ZlYXR1cmVzICYgRkVBVFVSRV9JMkNfQkxPQ0tfUkVBRCkpIHsKIAkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsCiAJCQkJIkkyQyBibG9jayByZWFkIGlzIHVuc3VwcG9ydGVkIVxuIik7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJCX0KIAl9CiAKQEAgLTQ0OSw3ICs0MzQsNyBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgaTgwMV9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsCiAJCSAgICAgICB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLCB1OCBjb21tYW5kLAogCQkgICAgICAgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKQEAgLTUxMSwxMCArNDk2LDkgQEAKIAkJCW91dGJfcChjb21tYW5kLCBTTUJIU1RDTUQpOwogCQlibG9jayA9IDE7CiAJCWJyZWFrOwotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKIAlkZWZhdWx0OgogCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlpZiAoaHdwZWMpCS8qIGVuYWJsZS9kaXNhYmxlIGhhcmR3YXJlIFBFQyAqLwpAQCAtNTM3LDcgKzUyMSw3IEBACiAJaWYoYmxvY2spCiAJCXJldHVybiByZXQ7CiAJaWYocmV0KQotCQlyZXR1cm4gLTE7CisJCXJldHVybiByZXQ7CiAJaWYgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHhhY3QgPT0gSTgwMV9RVUlDSykpCiAJCXJldHVybiAwOwogCkBAIC01NzIsNyArNTU2LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgaTgwMV9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX0k4MDEsCi0JLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApAQCAtNjM5LDYgKzYyMywxMCBAQAogCQlnb3RvIGV4aXQ7CiAJfQogCisJZXJyID0gYWNwaV9jaGVja19yZXNvdXJjZV9jb25mbGljdCgmZGV2LT5yZXNvdXJjZVtTTUJCQVJdKTsKKwlpZiAoZXJyKQorCQlnb3RvIGV4aXQ7CisKIAllcnIgPSBwY2lfcmVxdWVzdF9yZWdpb24oZGV2LCBTTUJCQVIsIGk4MDFfZHJpdmVyLm5hbWUpOwogCWlmIChlcnIpIHsKIAkJZGV2X2VycigmZGV2LT5kZXYsICJGYWlsZWQgdG8gcmVxdWVzdCBTTUJ1cyByZWdpb24gIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODEwLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MTAuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDJlOGQ5NC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MTAuYworKysgL2Rldi9udWxsCkBAIC0xLDI2MCArMCwwIEBACi0vKgotICAgIGkyYy1pODEwLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCi0gICAgQ29weXJpZ2h0IChjKSAxOTk4LCAxOTk5LCAyMDAwICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAotICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCi0gICAgUmFscGggTWV0emxlciA8cmprbUB0aHAudW5pLWtvZWxuLmRlPiwgYW5kCi0gICAgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgotICAgIAotICAgIEJhc2VkIG9uIGNvZGUgd3JpdHRlbiBieSBSYWxwaCBNZXR6bGVyIDxyamttQHRocC51bmkta29lbG4uZGU+IGFuZAotICAgIFNpbW9uIFZvZ2wKLQotICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgotKi8KLS8qCi0gICBUaGlzIGludGVyZmFjZXMgdG8gdGhlIEk4MTAvSTgxNSB0byBwcm92aWRlIGFjY2VzcyB0bwotICAgdGhlIEREQyBCdXMgYW5kIHRoZSBJMkMgQnVzLgotCi0gICBTVVBQT1JURUQgREVWSUNFUwlQQ0kgSUQKLSAgIGk4MTBBQQkJNzEyMSAgICAgICAgICAgCi0gICBpODEwQUIJCTcxMjMgICAgICAgICAgIAotICAgaTgxMEUJCTcxMjUgICAgICAgICAgIAotICAgaTgxNQkJCTExMzIgICAgICAgICAgIAotICAgaTg0NUcJCTI1NjIKLSovCi0KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLWFsZ28tYml0Lmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0KLS8qIEdQSU8gcmVnaXN0ZXIgbG9jYXRpb25zICovCi0jZGVmaW5lIEk4MTBfSU9DT05UUk9MX09GRlNFVAkweDUwMDAKLSNkZWZpbmUgSTgxMF9IVlNZTkMJCTB4MDAJLyogbm90IHVzZWQgKi8KLSNkZWZpbmUgSTgxMF9HUElPQQkJMHgxMAotI2RlZmluZSBJODEwX0dQSU9CCQkweDE0Ci0KLS8qIGJpdCBsb2NhdGlvbnMgaW4gdGhlIHJlZ2lzdGVycyAqLwotI2RlZmluZSBTQ0xfRElSX01BU0sJCTB4MDAwMQotI2RlZmluZSBTQ0xfRElSCQkJMHgwMDAyCi0jZGVmaW5lIFNDTF9WQUxfTUFTSwkJMHgwMDA0Ci0jZGVmaW5lIFNDTF9WQUxfT1VUCQkweDAwMDgKLSNkZWZpbmUgU0NMX1ZBTF9JTgkJMHgwMDEwCi0jZGVmaW5lIFNEQV9ESVJfTUFTSwkJMHgwMTAwCi0jZGVmaW5lIFNEQV9ESVIJCQkweDAyMDAKLSNkZWZpbmUgU0RBX1ZBTF9NQVNLCQkweDA0MDAKLSNkZWZpbmUgU0RBX1ZBTF9PVVQJCTB4MDgwMAotI2RlZmluZSBTREFfVkFMX0lOCQkweDEwMDAKLQotLyogaW5pdGlhbGl6YXRpb24gc3RhdGVzICovCi0jZGVmaW5lIElOSVQxCQkJMHgxCi0jZGVmaW5lIElOSVQyCQkJMHgyCi0jZGVmaW5lIElOSVQzCQkJMHg0Ci0KLS8qIGRlbGF5cyAqLwotI2RlZmluZSBDWUNMRV9ERUxBWQkJMTAKLSNkZWZpbmUgVElNRU9VVAkJCShIWiAvIDIpCi0KLXN0YXRpYyB2b2lkIF9faW9tZW0gKmlvYWRkcjsKLQotLyogVGhlIGk4MTAgR1BJTyByZWdpc3RlcnMgaGF2ZSBpbmRpdmlkdWFsIG1hc2tzIGZvciBlYWNoIGJpdAotICAgc28gd2UgbmV2ZXIgaGF2ZSB0byByZWFkIGJlZm9yZSB3cml0aW5nLiBOaWNlLiAqLwotCi1zdGF0aWMgdm9pZCBiaXRfaTgxMGkyY19zZXRzY2wodm9pZCAqZGF0YSwgaW50IHZhbCkKLXsKLQl3cml0ZWwoKHZhbCA/IFNDTF9WQUxfT1VUIDogMCkgfCBTQ0xfRElSIHwgU0NMX0RJUl9NQVNLIHwgU0NMX1ZBTF9NQVNLLAotCSAgICAgaW9hZGRyICsgSTgxMF9HUElPQik7Ci0JcmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQik7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi1zdGF0aWMgdm9pZCBiaXRfaTgxMGkyY19zZXRzZGEodm9pZCAqZGF0YSwgaW50IHZhbCkKLXsKLSAJd3JpdGVsKCh2YWwgPyBTREFfVkFMX09VVCA6IDApIHwgU0RBX0RJUiB8IFNEQV9ESVJfTUFTSyB8IFNEQV9WQUxfTUFTSywKLQkgICAgIGlvYWRkciArIEk4MTBfR1BJT0IpOwotCXJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0IpOwkvKiBmbHVzaCBwb3N0ZWQgd3JpdGUgKi8KLX0KLQotLyogVGhlIEdQSU8gcGlucyBhcmUgb3BlbiBkcmFpbiwgc28gdGhlIHBpbnMgY291bGQgYWx3YXlzIHJlbWFpbiBvdXRwdXRzLgotICAgSG93ZXZlciwgc29tZSBjaGlwIHZlcnNpb25zIGRvbid0IGxhdGNoIHRoZSBpbnB1dHMgdW5sZXNzIHRoZXkKLSAgIGFyZSBzZXQgYXMgaW5wdXRzLgotICAgV2UgcmVseSBvbiB0aGUgaTJjLWFsZ28tYml0IHJvdXRpbmVzIHRvIHNldCB0aGUgcGlucyBoaWdoIGJlZm9yZQotICAgcmVhZGluZyB0aGUgaW5wdXQgZnJvbSBvdGhlciBjaGlwcy4gRm9sbG93aW5nIGd1aWRhbmNlIGluIHRoZSA4MTUKLSAgIHByb2cuIHJlZi4gZ3VpZGUsIHdlIGRvIGEgImR1bW15IHdyaXRlIiBvZiAwIHRvIHRoZSByZWdpc3RlciBiZWZvcmUKLSAgIHJlYWRpbmcgd2hpY2ggZm9yY2VzIHRoZSBpbnB1dCB2YWx1ZSB0byBiZSBsYXRjaGVkLiBXZSBwcmVzdW1lIHRoaXMKLSAgIGFwcGxpZXMgdG8gdGhlIDgxMCBhcyB3ZWxsOyBzaG91bGRuJ3QgaHVydCBhbnl3YXkuIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGdldAotICAgaTJjX2FsZ29fYml0IGJpdF90ZXN0PTEgdG8gcGFzcy4gKi8KLQotc3RhdGljIGludCBiaXRfaTgxMGkyY19nZXRzY2wodm9pZCAqZGF0YSkKLXsKLQl3cml0ZWwoU0NMX0RJUl9NQVNLLCBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQl3cml0ZWwoMCwgaW9hZGRyICsgSTgxMF9HUElPQik7Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9CKSAmIFNDTF9WQUxfSU4pKTsKLX0KLQotc3RhdGljIGludCBiaXRfaTgxMGkyY19nZXRzZGEodm9pZCAqZGF0YSkKLXsKLQl3cml0ZWwoU0RBX0RJUl9NQVNLLCBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQl3cml0ZWwoMCwgaW9hZGRyICsgSTgxMF9HUElPQik7Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9CKSAmIFNEQV9WQUxfSU4pKTsKLX0KLQotc3RhdGljIHZvaWQgYml0X2k4MTBkZGNfc2V0c2NsKHZvaWQgKmRhdGEsIGludCB2YWwpCi17Ci0Jd3JpdGVsKCh2YWwgPyBTQ0xfVkFMX09VVCA6IDApIHwgU0NMX0RJUiB8IFNDTF9ESVJfTUFTSyB8IFNDTF9WQUxfTUFTSywKLQkgICAgIGlvYWRkciArIEk4MTBfR1BJT0EpOwotCXJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0EpOwkvKiBmbHVzaCBwb3N0ZWQgd3JpdGUgKi8KLX0KLQotc3RhdGljIHZvaWQgYml0X2k4MTBkZGNfc2V0c2RhKHZvaWQgKmRhdGEsIGludCB2YWwpCi17Ci0gCXdyaXRlbCgodmFsID8gU0RBX1ZBTF9PVVQgOiAwKSB8IFNEQV9ESVIgfCBTREFfRElSX01BU0sgfCBTREFfVkFMX01BU0ssCi0JICAgICBpb2FkZHIgKyBJODEwX0dQSU9BKTsKLQlyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9BKTsJLyogZmx1c2ggcG9zdGVkIHdyaXRlICovCi19Ci0KLXN0YXRpYyBpbnQgYml0X2k4MTBkZGNfZ2V0c2NsKHZvaWQgKmRhdGEpCi17Ci0Jd3JpdGVsKFNDTF9ESVJfTUFTSywgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0Jd3JpdGVsKDAsIGlvYWRkciArIEk4MTBfR1BJT0EpOwotCXJldHVybiAoMCAhPSAocmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQSkgJiBTQ0xfVkFMX0lOKSk7Ci19Ci0KLXN0YXRpYyBpbnQgYml0X2k4MTBkZGNfZ2V0c2RhKHZvaWQgKmRhdGEpCi17Ci0Jd3JpdGVsKFNEQV9ESVJfTUFTSywgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0Jd3JpdGVsKDAsIGlvYWRkciArIEk4MTBfR1BJT0EpOwotCXJldHVybiAoMCAhPSAocmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQSkgJiBTREFfVkFMX0lOKSk7Ci19Ci0KLXN0YXRpYyBpbnQgY29uZmlnX2k4MTAoc3RydWN0IHBjaV9kZXYgKmRldikKLXsKLQl1bnNpZ25lZCBsb25nIGNhZHI7Ci0KLQkvKiBtYXAgSTgxMCBtZW1vcnkgKi8KLQljYWRyID0gZGV2LT5yZXNvdXJjZVsxXS5zdGFydDsKLQljYWRyICs9IEk4MTBfSU9DT05UUk9MX09GRlNFVDsKLQljYWRyICY9IFBDSV9CQVNFX0FERFJFU1NfTUVNX01BU0s7Ci0JaW9hZGRyID0gaW9yZW1hcF9ub2NhY2hlKGNhZHIsIDB4MTAwMCk7Ci0JaWYgKGlvYWRkcikgewotCQliaXRfaTgxMGkyY19zZXRzY2woTlVMTCwgMSk7Ci0JCWJpdF9pODEwaTJjX3NldHNkYShOVUxMLCAxKTsKLQkJYml0X2k4MTBkZGNfc2V0c2NsKE5VTEwsIDEpOwotCQliaXRfaTgxMGRkY19zZXRzZGEoTlVMTCwgMSk7Ci0JCXJldHVybiAwOwotCX0KLQlyZXR1cm4gLUVOT0RFVjsKLX0KLQotc3RhdGljIHN0cnVjdCBpMmNfYWxnb19iaXRfZGF0YSBpODEwX2kyY19iaXRfZGF0YSA9IHsKLQkuc2V0c2RhCQk9IGJpdF9pODEwaTJjX3NldHNkYSwKLQkuc2V0c2NsCQk9IGJpdF9pODEwaTJjX3NldHNjbCwKLQkuZ2V0c2RhCQk9IGJpdF9pODEwaTJjX2dldHNkYSwKLQkuZ2V0c2NsCQk9IGJpdF9pODEwaTJjX2dldHNjbCwKLQkudWRlbGF5CQk9IENZQ0xFX0RFTEFZLAotCS50aW1lb3V0CT0gVElNRU9VVCwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgaTgxMF9pMmNfYWRhcHRlciA9IHsKLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmlkCQk9IEkyQ19IV19CX0k4MTAsCi0JLm5hbWUJCT0gIkk4MTAvSTgxNSBJMkMgQWRhcHRlciIsCi0JLmFsZ29fZGF0YQk9ICZpODEwX2kyY19iaXRfZGF0YSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2FsZ29fYml0X2RhdGEgaTgxMF9kZGNfYml0X2RhdGEgPSB7Ci0JLnNldHNkYQkJPSBiaXRfaTgxMGRkY19zZXRzZGEsCi0JLnNldHNjbAkJPSBiaXRfaTgxMGRkY19zZXRzY2wsCi0JLmdldHNkYQkJPSBiaXRfaTgxMGRkY19nZXRzZGEsCi0JLmdldHNjbAkJPSBiaXRfaTgxMGRkY19nZXRzY2wsCi0JLnVkZWxheQkJPSBDWUNMRV9ERUxBWSwKLQkudGltZW91dAk9IFRJTUVPVVQsCi19OwotCi1zdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIGk4MTBfZGRjX2FkYXB0ZXIgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5pZAkJPSBJMkNfSFdfQl9JODEwLAotCS5uYW1lCQk9ICJJODEwL0k4MTUgRERDIEFkYXB0ZXIiLAotCS5hbGdvX2RhdGEJPSAmaTgxMF9kZGNfYml0X2RhdGEsCi19OwotCi1zdGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgaTgxMF9pZHNbXSBfX2RldmluaXRkYXRhID0gewotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODEwX0lHMSkgfSwKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjgxMF9JRzMpIH0sCi0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MTBFX0lHKSB9LAotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODE1X0NHQykgfSwKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84Mjg0NUdfSUcpIH0sCi0JeyAwLCB9LAotfTsKLQotTU9EVUxFX0RFVklDRV9UQUJMRSAocGNpLCBpODEwX2lkcyk7Ci0KLXN0YXRpYyBpbnQgX19kZXZpbml0IGk4MTBfcHJvYmUoc3RydWN0IHBjaV9kZXYgKmRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKQotewotCWludCByZXR2YWw7Ci0KLQlyZXR2YWwgPSBjb25maWdfaTgxMChkZXYpOwotCWlmIChyZXR2YWwpCi0JCXJldHVybiByZXR2YWw7Ci0JZGV2X2luZm8oJmRldi0+ZGV2LCAiaTgxMC9pODE1IGkyYyBkZXZpY2UgZm91bmQuXG4iKTsKLQotCS8qIHNldCB1cCB0aGUgc3lzZnMgbGlua2FnZSB0byBvdXIgcGFyZW50IGRldmljZSAqLwotCWk4MTBfaTJjX2FkYXB0ZXIuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKLQlpODEwX2RkY19hZGFwdGVyLmRldi5wYXJlbnQgPSAmZGV2LT5kZXY7Ci0KLQlyZXR2YWwgPSBpMmNfYml0X2FkZF9idXMoJmk4MTBfaTJjX2FkYXB0ZXIpOwotCWlmIChyZXR2YWwpCi0JCXJldHVybiByZXR2YWw7Ci0JcmV0dmFsID0gaTJjX2JpdF9hZGRfYnVzKCZpODEwX2RkY19hZGFwdGVyKTsKLQlpZiAocmV0dmFsKQotCQlpMmNfZGVsX2FkYXB0ZXIoJmk4MTBfaTJjX2FkYXB0ZXIpOwotCXJldHVybiByZXR2YWw7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZGV2ZXhpdCBpODEwX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqZGV2KQotewotCWkyY19kZWxfYWRhcHRlcigmaTgxMF9kZGNfYWRhcHRlcik7Ci0JaTJjX2RlbF9hZGFwdGVyKCZpODEwX2kyY19hZGFwdGVyKTsKLQlpb3VubWFwKGlvYWRkcik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBpODEwX2RyaXZlciA9IHsKLQkubmFtZQkJPSAiaTgxMF9zbWJ1cyIsCi0JLmlkX3RhYmxlCT0gaTgxMF9pZHMsCi0JLnByb2JlCQk9IGk4MTBfcHJvYmUsCi0JLnJlbW92ZQkJPSBfX2RldmV4aXRfcChpODEwX3JlbW92ZSksCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpMmNfaTgxMF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHBjaV9yZWdpc3Rlcl9kcml2ZXIoJmk4MTBfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IGkyY19pODEwX2V4aXQodm9pZCkKLXsKLQlwY2lfdW5yZWdpc3Rlcl9kcml2ZXIoJmk4MTBfZHJpdmVyKTsKLX0KLQotTU9EVUxFX0FVVEhPUigiRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwgIgotCQkiUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwgIgotCQkiUmFscGggTWV0emxlciA8cmprbUB0aHAudW5pLWtvZWxuLmRlPiwgIgotCQkiYW5kIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4iKTsKLU1PRFVMRV9ERVNDUklQVElPTigiSTgxMC9JODE1IEkyQy9EREMgZHJpdmVyIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KGkyY19pODEwX2luaXQpOwotbW9kdWxlX2V4aXQoaTJjX2k4MTBfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlibV9paWMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaWJtX2lpYy5jCmluZGV4IDg1ZGJmMzQuLjY1MWYyZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaWJtX2lpYy5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaWJtX2lpYy5jCkBAIC00MiwxMyArNDIsOCBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy1pZC5oPgotCi0jaWZkZWYgQ09ORklHX0lCTV9PQ1AKLSNpbmNsdWRlIDxhc20vb2NwLmg+Ci0jaW5jbHVkZSA8YXNtL2libTR4eC5oPgotI2Vsc2UKICNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgotI2VuZGlmCisjaW5jbHVkZSA8bGludXgvb2ZfaTJjLmg+CiAKICNpbmNsdWRlICJpMmMtaWJtX2lpYy5oIgogCkBAIC02NjUsMTgwICs2NjAsNiBAQAogCXJldHVybiAodTgpKChvcGIgKyA5KSAvIDEwIC0gMSk7CiB9CiAKLSNpZmRlZiBDT05GSUdfSUJNX09DUAotLyoKLSAqIFJlZ2lzdGVyIHNpbmdsZSBJSUMgaW50ZXJmYWNlCi0gKi8KLXN0YXRpYyBpbnQgX19kZXZpbml0IGlpY19wcm9iZShzdHJ1Y3Qgb2NwX2RldmljZSAqb2NwKXsKLQotCXN0cnVjdCBpYm1faWljX3ByaXZhdGUqIGRldjsKLQlzdHJ1Y3QgaTJjX2FkYXB0ZXIqIGFkYXA7Ci0Jc3RydWN0IG9jcF9mdW5jX2lpY19kYXRhKiBpaWNfZGF0YSA9IG9jcC0+ZGVmLT5hZGRpdGlvbnM7Ci0JaW50IHJldDsKLQotCWlmICghaWljX2RhdGEpCi0JCXByaW50ayhLRVJOX1dBUk5JTkciaWJtLWlpYyVkOiBtaXNzaW5nIGFkZGl0aW9uYWwgZGF0YSFcbiIsCi0JCQlvY3AtPmRlZi0+aW5kZXgpOwotCi0JaWYgKCEoZGV2ID0ga3phbGxvYyhzaXplb2YoKmRldiksIEdGUF9LRVJORUwpKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlibS1paWMlZDogZmFpbGVkIHRvIGFsbG9jYXRlIGRldmljZSBkYXRhXG4iLAotCQkJb2NwLT5kZWYtPmluZGV4KTsKLQkJcmV0dXJuIC1FTk9NRU07Ci0JfQotCi0JZGV2LT5pZHggPSBvY3AtPmRlZi0+aW5kZXg7Ci0Jb2NwX3NldF9kcnZkYXRhKG9jcCwgZGV2KTsKLQotCWlmICghcmVxdWVzdF9tZW1fcmVnaW9uKG9jcC0+ZGVmLT5wYWRkciwgc2l6ZW9mKHN0cnVjdCBpaWNfcmVncyksCi0JCQkJImlibV9paWMiKSkgewotCQlyZXQgPSAtRUJVU1k7Ci0JCWdvdG8gZmFpbDE7Ci0JfQotCi0JaWYgKCEoZGV2LT52YWRkciA9IGlvcmVtYXAob2NwLT5kZWYtPnBhZGRyLCBzaXplb2Yoc3RydWN0IGlpY19yZWdzKSkpKXsKLQkJcHJpbnRrKEtFUk5fRVJSICJpYm0taWljJWQ6IGZhaWxlZCB0byBpb3JlbWFwIGRldmljZSByZWdpc3RlcnNcbiIsCi0JCQlkZXYtPmlkeCk7Ci0JCXJldCA9IC1FTlhJTzsKLQkJZ290byBmYWlsMjsKLQl9Ci0KLQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZkZXYtPndxKTsKLQotCWRldi0+aXJxID0gaWljX2ZvcmNlX3BvbGwgPyAtMSA6IG9jcC0+ZGVmLT5pcnE7Ci0JaWYgKGRldi0+aXJxID49IDApewotCQkvKiBEaXNhYmxlIGludGVycnVwdHMgdW50aWwgd2UgZmluaXNoIGluaXRpYWxpemF0aW9uLAotCQkgICBhc3N1bWVzIGxldmVsLXNlbnNpdGl2ZSBJUlEgc2V0dXAuLi4KLQkJICovCi0JCWlpY19pbnRlcnJ1cHRfbW9kZShkZXYsIDApOwotCQlpZiAocmVxdWVzdF9pcnEoZGV2LT5pcnEsIGlpY19oYW5kbGVyLCAwLCAiSUJNIElJQyIsIGRldikpewotCQkJcHJpbnRrKEtFUk5fRVJSICJpYm0taWljJWQ6IHJlcXVlc3RfaXJxICVkIGZhaWxlZFxuIiwKLQkJCQlkZXYtPmlkeCwgZGV2LT5pcnEpOwotCQkJLyogRmFsbGJhY2sgdG8gdGhlIHBvbGxpbmcgbW9kZSAqLwotCQkJZGV2LT5pcnEgPSAtMTsKLQkJfQotCX0KLQotCWlmIChkZXYtPmlycSA8IDApCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgImlibS1paWMlZDogdXNpbmcgcG9sbGluZyBtb2RlXG4iLAotCQkJZGV2LT5pZHgpOwotCi0JLyogQm9hcmQgc3BlY2lmaWMgc2V0dGluZ3MgKi8KLQlkZXYtPmZhc3RfbW9kZSA9IGlpY19mb3JjZV9mYXN0ID8gMSA6IChpaWNfZGF0YSA/IGlpY19kYXRhLT5mYXN0X21vZGUgOiAwKTsKLQotCS8qIGNsY2tkaXYgaXMgdGhlIHNhbWUgZm9yICphbGwqIElJQyBpbnRlcmZhY2VzLAotCSAqIGJ1dCBJJ2QgcmF0aGVyIG1ha2UgYSBjb3B5IHRoYW4gaW50cm9kdWNlIGFub3RoZXIgZ2xvYmFsLiAtLWVicwotCSAqLwotCWRldi0+Y2xja2RpdiA9IGlpY19jbGNrZGl2KG9jcF9zeXNfaW5mby5vcGJfYnVzX2ZyZXEpOwotCURCRygiJWQ6IGNsY2tkaXYgPSAlZFxuIiwgZGV2LT5pZHgsIGRldi0+Y2xja2Rpdik7Ci0KLQkvKiBJbml0aWFsaXplIElJQyBpbnRlcmZhY2UgKi8KLQlpaWNfZGV2X2luaXQoZGV2KTsKLQotCS8qIFJlZ2lzdGVyIGl0IHdpdGggaTJjIGxheWVyICovCi0JYWRhcCA9ICZkZXYtPmFkYXA7Ci0JYWRhcC0+ZGV2LnBhcmVudCA9ICZvY3AtPmRldjsKLQlzdHJjcHkoYWRhcC0+bmFtZSwgIklCTSBJSUMiKTsKLQlpMmNfc2V0X2FkYXBkYXRhKGFkYXAsIGRldik7Ci0JYWRhcC0+aWQgPSBJMkNfSFdfT0NQOwotCWFkYXAtPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOwotCWFkYXAtPmFsZ28gPSAmaWljX2FsZ287Ci0JYWRhcC0+Y2xpZW50X3JlZ2lzdGVyID0gTlVMTDsKLQlhZGFwLT5jbGllbnRfdW5yZWdpc3RlciA9IE5VTEw7Ci0JYWRhcC0+dGltZW91dCA9IDE7Ci0KLQkvKgotCSAqIElmICJkZXYtPmlkeCIgaXMgbmVnYXRpdmUgd2UgY29uc2lkZXIgaXQgYXMgemVyby4KLQkgKiBUaGUgcmVhc29uIHRvIGRvIHNvIGlzIHRvIGF2b2lkIHN5c2ZzIG5hbWVzIHRoYXQgb25seSBtYWtlCi0JICogc2Vuc2Ugd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgYWRhcHRlcnMuCi0JICovCi0JYWRhcC0+bnIgPSBkZXYtPmlkeCA+PSAwID8gZGV2LT5pZHggOiAwOwotCi0JaWYgKChyZXQgPSBpMmNfYWRkX251bWJlcmVkX2FkYXB0ZXIoYWRhcCkpIDwgMCkgewotCQlwcmludGsoS0VSTl9FUlIgImlibS1paWMlZDogZmFpbGVkIHRvIHJlZ2lzdGVyIGkyYyBhZGFwdGVyXG4iLAotCQkJZGV2LT5pZHgpOwotCQlnb3RvIGZhaWw7Ci0JfQotCi0JcHJpbnRrKEtFUk5fSU5GTyAiaWJtLWlpYyVkOiB1c2luZyAlcyBtb2RlXG4iLCBkZXYtPmlkeCwKLQkJZGV2LT5mYXN0X21vZGUgPyAiZmFzdCAoNDAwIGtIeikiIDogInN0YW5kYXJkICgxMDAga0h6KSIpOwotCi0JcmV0dXJuIDA7Ci0KLWZhaWw6Ci0JaWYgKGRldi0+aXJxID49IDApewotCQlpaWNfaW50ZXJydXB0X21vZGUoZGV2LCAwKTsKLQkJZnJlZV9pcnEoZGV2LT5pcnEsIGRldik7Ci0JfQotCi0JaW91bm1hcChkZXYtPnZhZGRyKTsKLWZhaWwyOgotCXJlbGVhc2VfbWVtX3JlZ2lvbihvY3AtPmRlZi0+cGFkZHIsIHNpemVvZihzdHJ1Y3QgaWljX3JlZ3MpKTsKLWZhaWwxOgotCW9jcF9zZXRfZHJ2ZGF0YShvY3AsIE5VTEwpOwotCWtmcmVlKGRldik7Ci0JcmV0dXJuIHJldDsKLX0KLQotLyoKLSAqIENsZWFudXAgaW5pdGlhbGl6ZWQgSUlDIGludGVyZmFjZQotICovCi1zdGF0aWMgdm9pZCBfX2RldmV4aXQgaWljX3JlbW92ZShzdHJ1Y3Qgb2NwX2RldmljZSAqb2NwKQotewotCXN0cnVjdCBpYm1faWljX3ByaXZhdGUqIGRldiA9IChzdHJ1Y3QgaWJtX2lpY19wcml2YXRlKilvY3BfZ2V0X2RydmRhdGEob2NwKTsKLQlCVUdfT04oZGV2ID09IE5VTEwpOwotCWlmIChpMmNfZGVsX2FkYXB0ZXIoJmRldi0+YWRhcCkpewotCQlwcmludGsoS0VSTl9FUlIgImlibS1paWMlZDogZmFpbGVkIHRvIGRlbGV0ZSBpMmMgYWRhcHRlciA6KFxuIiwKLQkJCWRldi0+aWR4KTsKLQkJLyogVGhhdCdzICp2ZXJ5KiBiYWQsIGp1c3Qgc2h1dGRvd24gSVJRIC4uLiAqLwotCQlpZiAoZGV2LT5pcnEgPj0gMCl7Ci0JCSAgICBpaWNfaW50ZXJydXB0X21vZGUoZGV2LCAwKTsKLQkJICAgIGZyZWVfaXJxKGRldi0+aXJxLCBkZXYpOwotCQkgICAgZGV2LT5pcnEgPSAtMTsKLQkJfQotCX0gZWxzZSB7Ci0JCWlmIChkZXYtPmlycSA+PSAwKXsKLQkJICAgIGlpY19pbnRlcnJ1cHRfbW9kZShkZXYsIDApOwotCQkgICAgZnJlZV9pcnEoZGV2LT5pcnEsIGRldik7Ci0JCX0KLQkJaW91bm1hcChkZXYtPnZhZGRyKTsKLQkJcmVsZWFzZV9tZW1fcmVnaW9uKG9jcC0+ZGVmLT5wYWRkciwgc2l6ZW9mKHN0cnVjdCBpaWNfcmVncykpOwotCQlrZnJlZShkZXYpOwotCX0KLX0KLQotc3RhdGljIHN0cnVjdCBvY3BfZGV2aWNlX2lkIGlibV9paWNfaWRzW10gX19kZXZpbml0ZGF0YSA9Ci17Ci0JeyAudmVuZG9yID0gT0NQX1ZFTkRPUl9JQk0sIC5mdW5jdGlvbiA9IE9DUF9GVU5DX0lJQyB9LAotCXsgLnZlbmRvciA9IE9DUF9WRU5ET1JfSU5WQUxJRCB9Ci19OwotCi1NT0RVTEVfREVWSUNFX1RBQkxFKG9jcCwgaWJtX2lpY19pZHMpOwotCi1zdGF0aWMgc3RydWN0IG9jcF9kcml2ZXIgaWJtX2lpY19kcml2ZXIgPQotewotCS5uYW1lIAkJPSAiaWljIiwKLQkuaWRfdGFibGUJPSBpYm1faWljX2lkcywKLQkucHJvYmUJCT0gaWljX3Byb2JlLAotCS5yZW1vdmUJCT0gX19kZXZleGl0X3AoaWljX3JlbW92ZSksCi0jaWYgZGVmaW5lZChDT05GSUdfUE0pCi0JLnN1c3BlbmQJPSBOVUxMLAotCS5yZXN1bWUJCT0gTlVMTCwKLSNlbmRpZgotfTsKLQotc3RhdGljIGludCBfX2luaXQgaWljX2luaXQodm9pZCkKLXsKLQlwcmludGsoS0VSTl9JTkZPICJJQk0gSUlDIGRyaXZlciB2IiBEUklWRVJfVkVSU0lPTiAiXG4iKTsKLQlyZXR1cm4gb2NwX3JlZ2lzdGVyX2RyaXZlcigmaWJtX2lpY19kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgaWljX2V4aXQodm9pZCkKLXsKLQlvY3BfdW5yZWdpc3Rlcl9kcml2ZXIoJmlibV9paWNfZHJpdmVyKTsKLX0KLQotI2Vsc2UgIC8qICFDT05GSUdfSUJNX09DUCAqLwotCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBpaWNfcmVxdWVzdF9pcnEoc3RydWN0IG9mX2RldmljZSAqb2ZkZXYsCiAJCQkJICAgICBzdHJ1Y3QgaWJtX2lpY19wcml2YXRlICpkZXYpCiB7CkBAIC04NzYsNyArNjk3LDcgQEAKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gb2ZkZXYtPm5vZGU7CiAJc3RydWN0IGlibV9paWNfcHJpdmF0ZSAqZGV2OwogCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcDsKLQljb25zdCB1MzIgKmluZGV4cCwgKmZyZXE7CisJY29uc3QgdTMyICpmcmVxOwogCWludCByZXQ7CiAKIAlkZXYgPSBremFsbG9jKHNpemVvZigqZGV2KSwgR0ZQX0tFUk5FTCk7CkBAIC04ODcsMTQgKzcwOCw2IEBACiAKIAlkZXZfc2V0X2RydmRhdGEoJm9mZGV2LT5kZXYsIGRldik7CiAKLQlpbmRleHAgPSBvZl9nZXRfcHJvcGVydHkobnAsICJpbmRleCIsIE5VTEwpOwotCWlmICghaW5kZXhwKSB7Ci0JCWRldl9lcnIoJm9mZGV2LT5kZXYsICJubyBpbmRleCBzcGVjaWZpZWRcbiIpOwotCQlyZXQgPSAtRUlOVkFMOwotCQlnb3RvIGVycm9yX2NsZWFudXA7Ci0JfQotCWRldi0+aWR4ID0gKmluZGV4cDsKLQogCWRldi0+dmFkZHIgPSBvZl9pb21hcChucCwgMCk7CiAJaWYgKGRldi0+dmFkZHIgPT0gTlVMTCkgewogCQlkZXZfZXJyKCZvZmRldi0+ZGV2LCAiZmFpbGVkIHRvIGlvbWFwIGRldmljZVxuIik7CkBAIC05MzQsMTcgKzc0NywxOSBAQAogCXN0cmxjcHkoYWRhcC0+bmFtZSwgIklCTSBJSUMiLCBzaXplb2YoYWRhcC0+bmFtZSkpOwogCWkyY19zZXRfYWRhcGRhdGEoYWRhcCwgZGV2KTsKIAlhZGFwLT5pZCA9IEkyQ19IV19PQ1A7Ci0JYWRhcC0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJYWRhcC0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BEOwogCWFkYXAtPmFsZ28gPSAmaWljX2FsZ287CiAJYWRhcC0+dGltZW91dCA9IDE7Ci0JYWRhcC0+bnIgPSBkZXYtPmlkeDsKIAotCXJldCA9IGkyY19hZGRfbnVtYmVyZWRfYWRhcHRlcihhZGFwKTsKKwlyZXQgPSBpMmNfYWRkX2FkYXB0ZXIoYWRhcCk7CiAJaWYgKHJldCAgPCAwKSB7CiAJCWRldl9lcnIoJm9mZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgaTJjIGFkYXB0ZXJcbiIpOwogCQlnb3RvIGVycm9yX2NsZWFudXA7CiAJfQogCisJLyogTm93IHJlZ2lzdGVyIGFsbCB0aGUgY2hpbGQgbm9kZXMgKi8KKwlvZl9yZWdpc3Rlcl9pMmNfZGV2aWNlcyhhZGFwLCBucCk7CisKIAlkZXZfaW5mbygmb2ZkZXYtPmRldiwgInVzaW5nICVzIG1vZGVcbiIsCiAJCSBkZXYtPmZhc3RfbW9kZSA/ICJmYXN0ICg0MDAga0h6KSIgOiAic3RhbmRhcmQgKDEwMCBrSHopIik7CiAKQEAgLTk4NywxMSArODAyLDcgQEAKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgaWJtX2lpY19tYXRjaFtdID0gewotCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYy00MDVleCIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJpYm0saWljLTQwNWdwIiwgfSwKLQl7IC5jb21wYXRpYmxlID0gImlibSxpaWMtNDQwZ3AiLCB9LAotCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYy00NDBncHgiLCB9LAotCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYy00NDBncngiLCB9LAorCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYyIsIH0sCiAJe30KIH07CiAKQEAgLTEwMTEsNyArODIyLDYgQEAKIHsKIAlvZl91bnJlZ2lzdGVyX3BsYXRmb3JtX2RyaXZlcigmaWJtX2lpY19kcml2ZXIpOwogfQotI2VuZGlmIC8qIENPTkZJR19JQk1fT0NQICovCiAKIG1vZHVsZV9pbml0KGlpY19pbml0KTsKIG1vZHVsZV9leGl0KGlpY19leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaW9wM3h4LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlvcDN4eC5jCmluZGV4IDM5ODg0ZTcuLmZjMjcxNGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaW9wM3h4LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pb3AzeHguYwpAQCAtNDgyLDcgKzQ4Miw3IEBACiAJbWVtY3B5KG5ld19hZGFwdGVyLT5uYW1lLCBwZGV2LT5uYW1lLCBzdHJsZW4ocGRldi0+bmFtZSkpOwogCW5ld19hZGFwdGVyLT5pZCA9IEkyQ19IV19JT1AzWFg7CiAJbmV3X2FkYXB0ZXItPm93bmVyID0gVEhJU19NT0RVTEU7Ci0JbmV3X2FkYXB0ZXItPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCW5ld19hZGFwdGVyLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJbmV3X2FkYXB0ZXItPmRldi5wYXJlbnQgPSAmcGRldi0+ZGV2OwogCW5ld19hZGFwdGVyLT5uciA9IHBkZXYtPmlkOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlzY2guYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaXNjaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5YzAxYWEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlzY2guYwpAQCAtMCwwICsxLDMzOSBAQAorLyoKKyAgICBpMmMtaXNjaC5jIC0gTGludXgga2VybmVsIGRyaXZlciBmb3IgSW50ZWwgU0NIIGNoaXBzZXQgU01CdXMKKyAgICAtIEJhc2VkIG9uIGkyYy1waWl4NC5jCisgICAgQ29weXJpZ2h0IChjKSAxOTk4IC0gMjAwMiBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+IGFuZAorICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4KKyAgICAtIEludGVsIFNDSCBzdXBwb3J0CisgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAwOCBKYWNvYiBKdW4gUGFuIDxqYWNvYi5qdW4ucGFuQGludGVsLmNvbT4KKworICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKworICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisqLworCisvKgorICAgU3VwcG9ydHM6CisJSW50ZWwgU0NIIGNoaXBzZXRzIChBRjgyVVMxNVcsIEFGODJVUzE1TCwgQUY4MlVMMTFMKQorICAgTm90ZTogd2UgYXNzdW1lIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBkZXZpY2UsIHdpdGggb25lIFNNQnVzIGludGVyZmFjZS4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KKworLyogU0NIIFNNQnVzIGFkZHJlc3Mgb2Zmc2V0cyAqLworI2RlZmluZSBTTUJIU1RDTlQJKDAgKyBzY2hfc21iYSkKKyNkZWZpbmUgU01CSFNUU1RTCSgxICsgc2NoX3NtYmEpCisjZGVmaW5lIFNNQkhTVEFERAkoNCArIHNjaF9zbWJhKSAvKiBUU0EgKi8KKyNkZWZpbmUgU01CSFNUQ01ECSg1ICsgc2NoX3NtYmEpCisjZGVmaW5lIFNNQkhTVERBVDAJKDYgKyBzY2hfc21iYSkKKyNkZWZpbmUgU01CSFNUREFUMQkoNyArIHNjaF9zbWJhKQorI2RlZmluZSBTTUJCTEtEQVQJKDB4MjAgKyBzY2hfc21iYSkKKworLyogY291bnQgZm9yIHJlcXVlc3RfcmVnaW9uICovCisjZGVmaW5lIFNNQklPU0laRQk2NAorCisvKiBQQ0kgQWRkcmVzcyBDb25zdGFudHMgKi8KKyNkZWZpbmUgU01CQkFfU0NICTB4NDAKKworLyogT3RoZXIgc2V0dGluZ3MgKi8KKyNkZWZpbmUgTUFYX1RJTUVPVVQJNTAwCisKKy8qIEkyQyBjb25zdGFudHMgKi8KKyNkZWZpbmUgU0NIX1FVSUNLCQkweDAwCisjZGVmaW5lIFNDSF9CWVRFCQkweDAxCisjZGVmaW5lIFNDSF9CWVRFX0RBVEEJCTB4MDIKKyNkZWZpbmUgU0NIX1dPUkRfREFUQQkJMHgwMworI2RlZmluZSBTQ0hfQkxPQ0tfREFUQQkJMHgwNQorCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgc2NoX3NtYmE7CitzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgc2NoX2RyaXZlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc2NoX2FkYXB0ZXI7CisKKy8qCisgKiBTdGFydCB0aGUgaTJjIHRyYW5zYWN0aW9uIC0tIHRoZSBpMmNfYWNjZXNzIHdpbGwgcHJlcGFyZSB0aGUgdHJhbnNhY3Rpb24KKyAqIGFuZCB0aGlzIGZ1bmN0aW9uIHdpbGwgZXhlY3V0ZSBpdC4KKyAqIHJldHVybiAwIGZvciBzdWNjZXNzIGFuZCBvdGhlcnMgZm9yIGZhaWx1cmUuCisgKi8KK3N0YXRpYyBpbnQgc2NoX3RyYW5zYWN0aW9uKHZvaWQpCit7CisJaW50IHRlbXA7CisJaW50IHJlc3VsdCA9IDA7CisJaW50IHRpbWVvdXQgPSAwOworCisJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiVHJhbnNhY3Rpb24gKHByZSk6IENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgorCQkiQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4XG4iLCBpbmIoU01CSFNUQ05UKSwKKwkJaW5iKFNNQkhTVENNRCksIGluYihTTUJIU1RBREQpLCBpbmIoU01CSFNUREFUMCksCisJCWluYihTTUJIU1REQVQxKSk7CisKKwkvKiBNYWtlIHN1cmUgdGhlIFNNQnVzIGhvc3QgaXMgcmVhZHkgdG8gc3RhcnQgdHJhbnNtaXR0aW5nICovCisJdGVtcCA9IGluYihTTUJIU1RTVFMpICYgMHgwZjsKKwlpZiAodGVtcCkgeworCQkvKiBDYW4gbm90IGJlIGJ1c3kgc2luY2Ugd2UgY2hlY2tlZCBpdCBpbiBzY2hfYWNjZXNzICovCisJCWlmICh0ZW1wICYgMHgwMSkgeworCQkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiQ29tcGxldGlvbiAoJTAyeCkuICIKKwkJCQkiQ2xlYXIuLi5cbiIsIHRlbXApOworCQl9CisJCWlmICh0ZW1wICYgMHgwNikgeworCQkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiU01CdXMgZXJyb3IgKCUwMngpLiAiCisJCQkJIlJlc2V0dGluZy4uLlxuIiwgdGVtcCk7CisJCX0KKwkJb3V0Yih0ZW1wLCBTTUJIU1RTVFMpOworCQl0ZW1wID0gaW5iKFNNQkhTVFNUUykgJiAweDBmOworCQlpZiAodGVtcCkgeworCQkJZGV2X2Vycigmc2NoX2FkYXB0ZXIuZGV2LAorCQkJCSJTTUJ1cyBpcyBub3QgcmVhZHk6ICglMDJ4KVxuIiwgdGVtcCk7CisJCQlyZXR1cm4gLUVBR0FJTjsKKwkJfQorCX0KKworCS8qIHN0YXJ0IHRoZSB0cmFuc2FjdGlvbiBieSBzZXR0aW5nIGJpdCA0ICovCisJb3V0YihpbmIoU01CSFNUQ05UKSB8IDB4MTAsIFNNQkhTVENOVCk7CisKKwlkbyB7CisJCW1zbGVlcCgxKTsKKwkJdGVtcCA9IGluYihTTUJIU1RTVFMpICYgMHgwZjsKKwl9IHdoaWxlICgodGVtcCAmIDB4MDgpICYmICh0aW1lb3V0KysgPCBNQVhfVElNRU9VVCkpOworCisJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KKwlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgeworCQlkZXZfZXJyKCZzY2hfYWRhcHRlci5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CisJfQorCWlmICh0ZW1wICYgMHgwNCkgeworCQlyZXN1bHQgPSAtRUlPOworCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJCdXMgY29sbGlzaW9uISBTTUJ1cyBtYXkgYmUgIgorCQkJImxvY2tlZCB1bnRpbCBuZXh0IGhhcmQgcmVzZXQuIChzb3JyeSEpXG4iKTsKKwkJLyogQ2xvY2sgc3RvcHMgYW5kIHNsYXZlIGlzIHN0dWNrIGluIG1pZC10cmFuc21pc3Npb24gKi8KKwl9IGVsc2UgaWYgKHRlbXAgJiAweDAyKSB7CisJCXJlc3VsdCA9IC1FSU87CisJCWRldl9lcnIoJnNjaF9hZGFwdGVyLmRldiwgIkVycm9yOiBubyByZXNwb25zZSFcbiIpOworCX0gZWxzZSBpZiAodGVtcCAmIDB4MDEpIHsKKwkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiUG9zdCBjb21wbGV0ZSFcbiIpOworCQlvdXRiKHRlbXAsIFNNQkhTVFNUUyk7CisJCXRlbXAgPSBpbmIoU01CSFNUU1RTKSAmIDB4MDc7CisJCWlmICh0ZW1wICYgMHgwNikgeworCQkJLyogQ29tcGxldGlvbiBjbGVhciBmYWlsZWQgKi8KKwkJCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIkZhaWxlZCByZXNldCBhdCBlbmQgb2YgIgorCQkJCSJ0cmFuc2FjdGlvbiAoJTAyeCksIEJ1cyBlcnJvciFcbiIsIHRlbXApOworCQl9CisJfSBlbHNlIHsKKwkJcmVzdWx0ID0gLUVOWElPOworCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJObyBzdWNoIGFkZHJlc3MuXG4iKTsKKwl9CisJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiVHJhbnNhY3Rpb24gKHBvc3QpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKKwkJIkFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwgaW5iKFNNQkhTVENOVCksCisJCWluYihTTUJIU1RDTUQpLCBpbmIoU01CSFNUQUREKSwgaW5iKFNNQkhTVERBVDApLAorCQlpbmIoU01CSFNUREFUMSkpOworCXJldHVybiByZXN1bHQ7Cit9CisKKy8qCisgKiBUaGlzIGlzIHRoZSBtYWluIGFjY2VzcyBlbnRyeSBmb3IgaTJjLXNjaCBhY2Nlc3MKKyAqIGFkYXAgaXMgaTJjX2FkYXB0ZXIgcG9pbnRlciwgYWRkciBpcyB0aGUgaTJjIGRldmljZSBidXMgYWRkcmVzcywgcmVhZF93cml0ZQorICogKDAgZm9yIHJlYWQgYW5kIDEgZm9yIHdyaXRlKSwgc2l6ZSBpcyBpMmMgdHJhbnNhY3Rpb24gdHlwZSBhbmQgZGF0YSBpcyB0aGUKKyAqIHVuaW9uIG9mIHRyYW5zYWN0aW9uIGZvciBkYXRhIHRvIGJlIHRyYW5zZmVyZWQgb3IgZGF0YSByZWFkIGZyb20gYnVzLgorICogcmV0dXJuIDAgZm9yIHN1Y2Nlc3MgYW5kIG90aGVycyBmb3IgZmFpbHVyZS4KKyAqLworc3RhdGljIHMzMiBzY2hfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCSB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCWludCBpLCBsZW4sIHRlbXAsIHJjOworCisJLyogTWFrZSBzdXJlIHRoZSBTTUJ1cyBob3N0IGlzIG5vdCBidXN5ICovCisJdGVtcCA9IGluYihTTUJIU1RTVFMpICYgMHgwZjsKKwlpZiAodGVtcCAmIDB4MDgpIHsKKwkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiU01CdXMgYnVzeSAoJTAyeClcbiIsIHRlbXApOworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiYWNjZXNzIHNpemU6ICVkICVzXG4iLCBzaXplLAorCQkocmVhZF93cml0ZSk/IlJFQUQiOiJXUklURSIpOworCXN3aXRjaCAoc2l6ZSkgeworCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgorCQlvdXRiKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwgU01CSFNUQUREKTsKKwkJc2l6ZSA9IFNDSF9RVUlDSzsKKwkJYnJlYWs7CisJY2FzZSBJMkNfU01CVVNfQllURToKKwkJb3V0YigoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CisJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkKKwkJCW91dGIoY29tbWFuZCwgU01CSFNUQ01EKTsKKwkJc2l6ZSA9IFNDSF9CWVRFOworCQlicmVhazsKKwljYXNlIEkyQ19TTUJVU19CWVRFX0RBVEE6CisJCW91dGIoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLCBTTUJIU1RBREQpOworCQlvdXRiKGNvbW1hbmQsIFNNQkhTVENNRCk7CisJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkKKwkJCW91dGIoZGF0YS0+Ynl0ZSwgU01CSFNUREFUMCk7CisJCXNpemUgPSBTQ0hfQllURV9EQVRBOworCQlicmVhazsKKwljYXNlIEkyQ19TTUJVU19XT1JEX0RBVEE6CisJCW91dGIoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLCBTTUJIU1RBREQpOworCQlvdXRiKGNvbW1hbmQsIFNNQkhTVENNRCk7CisJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgeworCQkJb3V0YihkYXRhLT53b3JkICYgMHhmZiwgU01CSFNUREFUMCk7CisJCQlvdXRiKChkYXRhLT53b3JkICYgMHhmZjAwKSA+PiA4LCBTTUJIU1REQVQxKTsKKwkJfQorCQlzaXplID0gU0NIX1dPUkRfREFUQTsKKwkJYnJlYWs7CisJY2FzZSBJMkNfU01CVVNfQkxPQ0tfREFUQToKKwkJb3V0YigoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CisJCW91dGIoY29tbWFuZCwgU01CSFNUQ01EKTsKKwkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB7CisJCQlsZW4gPSBkYXRhLT5ibG9ja1swXTsKKwkJCWlmIChsZW4gPT0gMCB8fCBsZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQorCQkJCXJldHVybiAtRUlOVkFMOworCQkJb3V0YihsZW4sIFNNQkhTVERBVDApOworCQkJZm9yIChpID0gMTsgaSA8PSBsZW47IGkrKykKKwkJCQlvdXRiKGRhdGEtPmJsb2NrW2ldLCBTTUJCTEtEQVQraS0xKTsKKwkJfQorCQlzaXplID0gU0NIX0JMT0NLX0RBVEE7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwl9CisJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAid3JpdGUgc2l6ZSAlZCB0byAweCUwNHhcbiIsIHNpemUsIFNNQkhTVENOVCk7CisJb3V0YigoaW5iKFNNQkhTVENOVCkgJiAweGIwKSB8IChzaXplICYgMHg3KSwgU01CSFNUQ05UKTsKKworCXJjID0gc2NoX3RyYW5zYWN0aW9uKCk7CisJaWYgKHJjKQkvKiBFcnJvciBpbiB0cmFuc2FjdGlvbiAqLworCQlyZXR1cm4gcmM7CisKKwlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBTQ0hfUVVJQ0spKQorCQlyZXR1cm4gMDsKKworCXN3aXRjaCAoc2l6ZSkgeworCWNhc2UgU0NIX0JZVEU6CisJY2FzZSBTQ0hfQllURV9EQVRBOgorCQlkYXRhLT5ieXRlID0gaW5iKFNNQkhTVERBVDApOworCQlicmVhazsKKwljYXNlIFNDSF9XT1JEX0RBVEE6CisJCWRhdGEtPndvcmQgPSBpbmIoU01CSFNUREFUMCkgKyAoaW5iKFNNQkhTVERBVDEpIDw8IDgpOworCQlicmVhazsKKwljYXNlIFNDSF9CTE9DS19EQVRBOgorCQlkYXRhLT5ibG9ja1swXSA9IGluYihTTUJIU1REQVQwKTsKKwkJaWYgKGRhdGEtPmJsb2NrWzBdID09IDAgfHwgZGF0YS0+YmxvY2tbMF0gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQorCQkJcmV0dXJuIC1FUFJPVE87CisJCWZvciAoaSA9IDE7IGkgPD0gZGF0YS0+YmxvY2tbMF07IGkrKykKKwkJCWRhdGEtPmJsb2NrW2ldID0gaW5iKFNNQkJMS0RBVCtpLTEpOworCQlicmVhazsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1MzIgc2NoX2Z1bmMoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyKQoreworCXJldHVybiBJMkNfRlVOQ19TTUJVU19RVUlDSyB8IEkyQ19GVU5DX1NNQlVTX0JZVEUgfAorCSAgICBJMkNfRlVOQ19TTUJVU19CWVRFX0RBVEEgfCBJMkNfRlVOQ19TTUJVU19XT1JEX0RBVEEgfAorCSAgICBJMkNfRlVOQ19TTUJVU19CTE9DS19EQVRBOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19hbGdvcml0aG0gc21idXNfYWxnb3JpdGhtID0geworCS5zbWJ1c194ZmVyCT0gc2NoX2FjY2VzcywKKwkuZnVuY3Rpb25hbGl0eQk9IHNjaF9mdW5jLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzY2hfYWRhcHRlciA9IHsKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCisJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBzY2hfaWRzW10gPSB7CisJeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfU0NIX0xQQykgfSwKKwl7IDAsIH0KK307CisKK01PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBzY2hfaWRzKTsKKworc3RhdGljIGludCBfX2RldmluaXQgc2NoX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpkZXYsCisJCQkJY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKQoreworCWludCByZXR2YWw7CisJdW5zaWduZWQgaW50IHNtYmE7CisKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBTTUJCQV9TQ0gsICZzbWJhKTsKKwlpZiAoIShzbWJhICYgKDEgPDwgMzEpKSkgeworCQlkZXZfZXJyKCZkZXYtPmRldiwgIlNNQnVzIEkvTyBzcGFjZSBkaXNhYmxlZCFcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlzY2hfc21iYSA9ICh1bnNpZ25lZCBzaG9ydClzbWJhOworCWlmIChzY2hfc21iYSA9PSAwKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiU01CdXMgYmFzZSBhZGRyZXNzIHVuaW5pdGlhbGl6ZWQhXG4iKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCWlmIChhY3BpX2NoZWNrX3JlZ2lvbihzY2hfc21iYSwgU01CSU9TSVpFLCBzY2hfZHJpdmVyLm5hbWUpKQorCQlyZXR1cm4gLUVCVVNZOworCWlmICghcmVxdWVzdF9yZWdpb24oc2NoX3NtYmEsIFNNQklPU0laRSwgc2NoX2RyaXZlci5uYW1lKSkgeworCQlkZXZfZXJyKCZkZXYtPmRldiwgIlNNQnVzIHJlZ2lvbiAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwKKwkJCXNjaF9zbWJhKTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CisJZGV2X2RiZygmZGV2LT5kZXYsICJTTUJBID0gMHglWFxuIiwgc2NoX3NtYmEpOworCisJLyogc2V0IHVwIHRoZSBzeXNmcyBsaW5rYWdlIHRvIG91ciBwYXJlbnQgZGV2aWNlICovCisJc2NoX2FkYXB0ZXIuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKKworCXNucHJpbnRmKHNjaF9hZGFwdGVyLm5hbWUsIHNpemVvZihzY2hfYWRhcHRlci5uYW1lKSwKKwkJIlNNQnVzIFNDSCBhZGFwdGVyIGF0ICUwNHgiLCBzY2hfc21iYSk7CisKKwlyZXR2YWwgPSBpMmNfYWRkX2FkYXB0ZXIoJnNjaF9hZGFwdGVyKTsKKwlpZiAocmV0dmFsKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiQ291bGRuJ3QgcmVnaXN0ZXIgYWRhcHRlciFcbiIpOworCQlyZWxlYXNlX3JlZ2lvbihzY2hfc21iYSwgU01CSU9TSVpFKTsKKwkJc2NoX3NtYmEgPSAwOworCX0KKworCXJldHVybiByZXR2YWw7Cit9CisKK3N0YXRpYyB2b2lkIF9fZGV2ZXhpdCBzY2hfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJaWYgKHNjaF9zbWJhKSB7CisJCWkyY19kZWxfYWRhcHRlcigmc2NoX2FkYXB0ZXIpOworCQlyZWxlYXNlX3JlZ2lvbihzY2hfc21iYSwgU01CSU9TSVpFKTsKKwkJc2NoX3NtYmEgPSAwOworCX0KK30KKworc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIHNjaF9kcml2ZXIgPSB7CisJLm5hbWUJCT0gImlzY2hfc21idXMiLAorCS5pZF90YWJsZQk9IHNjaF9pZHMsCisJLnByb2JlCQk9IHNjaF9wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKHNjaF9yZW1vdmUpLAorfTsKKworc3RhdGljIGludCBfX2luaXQgaTJjX3NjaF9pbml0KHZvaWQpCit7CisJcmV0dXJuIHBjaV9yZWdpc3Rlcl9kcml2ZXIoJnNjaF9kcml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgaTJjX3NjaF9leGl0KHZvaWQpCit7CisJcGNpX3VucmVnaXN0ZXJfZHJpdmVyKCZzY2hfZHJpdmVyKTsKK30KKworTU9EVUxFX0FVVEhPUigiSmFjb2IgUGFuIDxqYWNvYi5qdW4ucGFuQGludGVsLmNvbT4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiSW50ZWwgU0NIIFNNQnVzIGRyaXZlciIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworCittb2R1bGVfaW5pdChpMmNfc2NoX2luaXQpOworbW9kdWxlX2V4aXQoaTJjX3NjaF9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXBjLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW1wYy5jCmluZGV4IGEwNzYxMjkuLjEwYjkzNDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXBjLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tcGMuYwpAQCAtMzExLDcgKzMxMSw3IEBACiAJLm5hbWUgPSAiTVBDIGFkYXB0ZXIiLAogCS5pZCA9IEkyQ19IV19NUEMxMDcsCiAJLmFsZ28gPSAmbXBjX2FsZ28sCi0JLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLnRpbWVvdXQgPSAxLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tdjY0eHh4LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW12NjR4eHguYwppbmRleCAwMzZlNmE4Li45ZTgxMThkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW12NjR4eHguYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW12NjR4eHguYwpAQCAtNTMwLDcgKzUzMCw3IEBACiAJZHJ2X2RhdGEtPmFkYXB0ZXIuaWQgPSBJMkNfSFdfTVY2NFhYWDsKIAlkcnZfZGF0YS0+YWRhcHRlci5hbGdvID0gJm12NjR4eHhfaTJjX2FsZ287CiAJZHJ2X2RhdGEtPmFkYXB0ZXIub3duZXIgPSBUSElTX01PRFVMRTsKLQlkcnZfZGF0YS0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlkcnZfZGF0YS0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJZHJ2X2RhdGEtPmFkYXB0ZXIudGltZW91dCA9IHBkYXRhLT50aW1lb3V0OwogCWRydl9kYXRhLT5hZGFwdGVyLm5yID0gcGQtPmlkOwogCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkLCBkcnZfZGF0YSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5mb3JjZTItczQ5ODUuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi1zNDk4NS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhODk5NWQKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5mb3JjZTItczQ5ODUuYwpAQCAtMCwwICsxLDI1NyBAQAorLyoKKyAqIGkyYy1uZm9yY2UyLXM0OTg1LmMgLSBpMmMtbmZvcmNlMiBleHRyYXMgZm9yIHRoZSBUeWFuIFM0OTg1IG1vdGhlcmJvYXJkCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICovCisKKy8qCisgKiBXZSBzZWxlY3QgdGhlIGNoYW5uZWxzIGJ5IHNlbmRpbmcgY29tbWFuZHMgdG8gdGhlIFBoaWxpcHMKKyAqIFBDQTk1NTYgY2hpcCBhdCBJMkMgYWRkcmVzcyAweDE4LiBUaGUgbWFpbiBhZGFwdGVyIGlzIHVzZWQgZm9yCisgKiB0aGUgbm9uLW11bHRpcGxleGVkIHBhcnQgb2YgdGhlIGJ1cywgYW5kIDQgdmlydHVhbCBhZGFwdGVycworICogYXJlIGRlZmluZWQgZm9yIHRoZSBtdWx0aXBsZXhlZCBhZGRyZXNzZXM6IDB4NTAtMHg1MyAobWVtb3J5CisgKiBtb2R1bGUgRUVQUk9NKSBsb2NhdGVkIG9uIGNoYW5uZWxzIDEtNC4gV2UgZGVmaW5lIG9uZSB2aXJ0dWFsCisgKiBhZGFwdGVyIHBlciBDUFUsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIG9uZSBtdWx0aXBsZXhlZCBjaGFubmVsOgorICogICBDUFUwOiB2aXJ0dWFsIGFkYXB0ZXIgMSwgY2hhbm5lbCAxCisgKiAgIENQVTE6IHZpcnR1YWwgYWRhcHRlciAyLCBjaGFubmVsIDIKKyAqICAgQ1BVMjogdmlydHVhbCBhZGFwdGVyIDMsIGNoYW5uZWwgMworICogICBDUFUzOiB2aXJ0dWFsIGFkYXB0ZXIgNCwgY2hhbm5lbCA0CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKworZXh0ZXJuIHN0cnVjdCBpMmNfYWRhcHRlciAqbmZvcmNlMl9zbWJ1czsKKworc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciAqczQ5ODVfYWRhcHRlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2FsZ29yaXRobSAqczQ5ODVfYWxnbzsKKworLyogV3JhcHBlciBhY2Nlc3MgZnVuY3Rpb25zIGZvciBtdWx0aXBsZXhlZCBTTUJ1cyAqLworc3RhdGljIERFRklORV9NVVRFWChuZm9yY2UyX2xvY2spOworCitzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzX3ZpcnQwKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQl1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwlpbnQgZXJyb3I7CisKKwkvKiBXZSBleGNsdWRlIHRoZSBtdWx0aXBsZXhlZCBhZGRyZXNzZXMgKi8KKwlpZiAoKGFkZHIgJiAweGZjKSA9PSAweDUwIHx8IChhZGRyICYgMHhmYykgPT0gMHgzMAorCSB8fCBhZGRyID09IDB4MTgpCisJCXJldHVybiAtRU5YSU87CisKKwltdXRleF9sb2NrKCZuZm9yY2UyX2xvY2spOworCWVycm9yID0gbmZvcmNlMl9zbWJ1cy0+YWxnby0+c21idXNfeGZlcihhZGFwLCBhZGRyLCBmbGFncywgcmVhZF93cml0ZSwKKwkJCQkJCWNvbW1hbmQsIHNpemUsIGRhdGEpOworCW11dGV4X3VubG9jaygmbmZvcmNlMl9sb2NrKTsKKworCXJldHVybiBlcnJvcjsKK30KKworLyogV2UgcmVtZW1iZXIgdGhlIGxhc3QgdXNlZCBjaGFubmVscyBjb21iaW5hdGlvbiBzbyBhcyB0byBvbmx5IHN3aXRjaAorICAgY2hhbm5lbHMgd2hlbiBpdCBpcyByZWFsbHkgbmVlZGVkLiBUaGlzIGdyZWF0bHkgcmVkdWNlcyB0aGUgU01CdXMKKyAgIG92ZXJoZWFkLCBidXQgYWxzbyBhc3N1bWVzIHRoYXQgbm9ib2R5IHdpbGwgYmUgd3JpdGluZyB0byB0aGUgUENBOTU1NgorICAgaW4gb3VyIGJhY2suICovCitzdGF0aWMgdTggbGFzdF9jaGFubmVsczsKKworc3RhdGljIGlubGluZSBzMzIgbmZvcmNlMl9hY2Nlc3NfY2hhbm5lbChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAorCQkJCQkgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQkJIHU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCQkgdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEsCisJCQkJCSB1OCBjaGFubmVscykKK3sKKwlpbnQgZXJyb3I7CisKKwkvKiBXZSBleGNsdWRlIHRoZSBub24tbXVsdGlwbGV4ZWQgYWRkcmVzc2VzICovCisJaWYgKChhZGRyICYgMHhmYykgIT0gMHg1MCAmJiAoYWRkciAmIDB4ZmMpICE9IDB4MzApCisJCXJldHVybiAtRU5YSU87CisKKwltdXRleF9sb2NrKCZuZm9yY2UyX2xvY2spOworCWlmIChsYXN0X2NoYW5uZWxzICE9IGNoYW5uZWxzKSB7CisJCXVuaW9uIGkyY19zbWJ1c19kYXRhIG1wbHhkYXRhOworCQltcGx4ZGF0YS5ieXRlID0gY2hhbm5lbHM7CisKKwkJZXJyb3IgPSBuZm9yY2UyX3NtYnVzLT5hbGdvLT5zbWJ1c194ZmVyKGFkYXAsIDB4MTgsIDAsCisJCQkJCQkJSTJDX1NNQlVTX1dSSVRFLCAweDAxLAorCQkJCQkJCUkyQ19TTUJVU19CWVRFX0RBVEEsCisJCQkJCQkJJm1wbHhkYXRhKTsKKwkJaWYgKGVycm9yKQorCQkJZ290byBVTkxPQ0s7CisJCWxhc3RfY2hhbm5lbHMgPSBjaGFubmVsczsKKwl9CisJZXJyb3IgPSBuZm9yY2UyX3NtYnVzLT5hbGdvLT5zbWJ1c194ZmVyKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLAorCQkJCQkJY29tbWFuZCwgc2l6ZSwgZGF0YSk7CisKK1VOTE9DSzoKKwltdXRleF91bmxvY2soJm5mb3JjZTJfbG9jayk7CisJcmV0dXJuIGVycm9yOworfQorCitzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzX3ZpcnQxKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQl1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwkvKiBDUFUwOiBjaGFubmVsIDEgZW5hYmxlZCAqLworCXJldHVybiBuZm9yY2UyX2FjY2Vzc19jaGFubmVsKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLCBjb21tYW5kLAorCQkJCSAgICAgIHNpemUsIGRhdGEsIDB4MDIpOworfQorCitzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzX3ZpcnQyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQl1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwkvKiBDUFUxOiBjaGFubmVsIDIgZW5hYmxlZCAqLworCXJldHVybiBuZm9yY2UyX2FjY2Vzc19jaGFubmVsKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLCBjb21tYW5kLAorCQkJCSAgICAgIHNpemUsIGRhdGEsIDB4MDQpOworfQorCitzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzX3ZpcnQzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQl1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwkvKiBDUFUyOiBjaGFubmVsIDMgZW5hYmxlZCAqLworCXJldHVybiBuZm9yY2UyX2FjY2Vzc19jaGFubmVsKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLCBjb21tYW5kLAorCQkJCSAgICAgIHNpemUsIGRhdGEsIDB4MDgpOworfQorCitzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzX3ZpcnQ0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQl1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwkvKiBDUFUzOiBjaGFubmVsIDQgZW5hYmxlZCAqLworCXJldHVybiBuZm9yY2UyX2FjY2Vzc19jaGFubmVsKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLCBjb21tYW5kLAorCQkJCSAgICAgIHNpemUsIGRhdGEsIDB4MTApOworfQorCitzdGF0aWMgaW50IF9faW5pdCBuZm9yY2UyX3M0OTg1X2luaXQodm9pZCkKK3sKKwlpbnQgaSwgZXJyb3I7CisJdW5pb24gaTJjX3NtYnVzX2RhdGEgaW9jb25maWc7CisKKwkvKiBVbnJlZ2lzdGVyIHBoeXNpY2FsIGJ1cyAqLworCWlmICghbmZvcmNlMl9zbWJ1cykKKwkJcmV0dXJuIC1FTk9ERVY7CisJZXJyb3IgPSBpMmNfZGVsX2FkYXB0ZXIobmZvcmNlMl9zbWJ1cyk7CisJaWYgKGVycm9yKSB7CisJCWRldl9lcnIoJm5mb3JjZTJfc21idXMtPmRldiwgIlBoeXNpY2FsIGJ1cyByZW1vdmFsIGZhaWxlZFxuIik7CisJCWdvdG8gRVJST1IwOworCX0KKworCXByaW50ayhLRVJOX0lORk8gIkVuYWJsaW5nIFNNQnVzIG11bHRpcGxleGluZyBmb3IgVHlhbiBTNDk4NVxuIik7CisJLyogRGVmaW5lIHRoZSA1IHZpcnR1YWwgYWRhcHRlcnMgYW5kIGFsZ29yaXRobXMgc3RydWN0dXJlcyAqLworCXM0OTg1X2FkYXB0ZXIgPSBremFsbG9jKDUgKiBzaXplb2Yoc3RydWN0IGkyY19hZGFwdGVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFzNDk4NV9hZGFwdGVyKSB7CisJCWVycm9yID0gLUVOT01FTTsKKwkJZ290byBFUlJPUjE7CisJfQorCXM0OTg1X2FsZ28gPSBremFsbG9jKDUgKiBzaXplb2Yoc3RydWN0IGkyY19hbGdvcml0aG0pLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXM0OTg1X2FsZ28pIHsKKwkJZXJyb3IgPSAtRU5PTUVNOworCQlnb3RvIEVSUk9SMjsKKwl9CisKKwkvKiBGaWxsIGluIHRoZSBuZXcgc3RydWN0dXJlcyAqLworCXM0OTg1X2FsZ29bMF0gPSAqKG5mb3JjZTJfc21idXMtPmFsZ28pOworCXM0OTg1X2FsZ29bMF0uc21idXNfeGZlciA9IG5mb3JjZTJfYWNjZXNzX3ZpcnQwOworCXM0OTg1X2FkYXB0ZXJbMF0gPSAqbmZvcmNlMl9zbWJ1czsKKwlzNDk4NV9hZGFwdGVyWzBdLmFsZ28gPSBzNDk4NV9hbGdvOworCXM0OTg1X2FkYXB0ZXJbMF0uZGV2LnBhcmVudCA9IG5mb3JjZTJfc21idXMtPmRldi5wYXJlbnQ7CisJZm9yIChpID0gMTsgaSA8IDU7IGkrKykgeworCQlzNDk4NV9hbGdvW2ldID0gKihuZm9yY2UyX3NtYnVzLT5hbGdvKTsKKwkJczQ5ODVfYWRhcHRlcltpXSA9ICpuZm9yY2UyX3NtYnVzOworCQlzbnByaW50ZihzNDk4NV9hZGFwdGVyW2ldLm5hbWUsIHNpemVvZihzNDk4NV9hZGFwdGVyW2ldLm5hbWUpLAorCQkJICJTTUJ1cyBuRm9yY2UyIGFkYXB0ZXIgKENQVSVkKSIsIGkgLSAxKTsKKwkJczQ5ODVfYWRhcHRlcltpXS5hbGdvID0gczQ5ODVfYWxnbyArIGk7CisJCXM0OTg1X2FkYXB0ZXJbaV0uZGV2LnBhcmVudCA9IG5mb3JjZTJfc21idXMtPmRldi5wYXJlbnQ7CisJfQorCXM0OTg1X2FsZ29bMV0uc21idXNfeGZlciA9IG5mb3JjZTJfYWNjZXNzX3ZpcnQxOworCXM0OTg1X2FsZ29bMl0uc21idXNfeGZlciA9IG5mb3JjZTJfYWNjZXNzX3ZpcnQyOworCXM0OTg1X2FsZ29bM10uc21idXNfeGZlciA9IG5mb3JjZTJfYWNjZXNzX3ZpcnQzOworCXM0OTg1X2FsZ29bNF0uc21idXNfeGZlciA9IG5mb3JjZTJfYWNjZXNzX3ZpcnQ0OworCisJLyogQ29uZmlndXJlIHRoZSBQQ0E5NTU2IG11bHRpcGxleGVyICovCisJaW9jb25maWcuYnl0ZSA9IDB4MDA7IC8qIEFsbCBJL08gdG8gb3V0cHV0IG1vZGUgKi8KKwllcnJvciA9IG5mb3JjZTJfc21idXMtPmFsZ28tPnNtYnVzX3hmZXIobmZvcmNlMl9zbWJ1cywgMHgxOCwgMCwKKwkJCQkJCUkyQ19TTUJVU19XUklURSwgMHgwMywKKwkJCQkJCUkyQ19TTUJVU19CWVRFX0RBVEEsICZpb2NvbmZpZyk7CisJaWYgKGVycm9yKSB7CisJCWRldl9lcnIoJm5mb3JjZTJfc21idXMtPmRldiwgIlBDQTk1NTYgY29uZmlndXJhdGlvbiBmYWlsZWRcbiIpOworCQllcnJvciA9IC1FSU87CisJCWdvdG8gRVJST1IzOworCX0KKworCS8qIFJlZ2lzdGVyIHZpcnR1YWwgYWRhcHRlcnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKSB7CisJCWVycm9yID0gaTJjX2FkZF9hZGFwdGVyKHM0OTg1X2FkYXB0ZXIgKyBpKTsKKwkJaWYgKGVycm9yKSB7CisJCQlkZXZfZXJyKCZuZm9yY2UyX3NtYnVzLT5kZXYsCisJCQkJIlZpcnR1YWwgYWRhcHRlciAlZCByZWdpc3RyYXRpb24gIgorCQkJCSJmYWlsZWQsIG1vZHVsZSBub3QgaW5zZXJ0ZWRcbiIsIGkpOworCQkJZm9yIChpLS07IGkgPj0gMDsgaS0tKQorCQkJCWkyY19kZWxfYWRhcHRlcihzNDk4NV9hZGFwdGVyICsgaSk7CisJCQlnb3RvIEVSUk9SMzsKKwkJfQorCX0KKworCXJldHVybiAwOworCitFUlJPUjM6CisJa2ZyZWUoczQ5ODVfYWxnbyk7CisJczQ5ODVfYWxnbyA9IE5VTEw7CitFUlJPUjI6CisJa2ZyZWUoczQ5ODVfYWRhcHRlcik7CisJczQ5ODVfYWRhcHRlciA9IE5VTEw7CitFUlJPUjE6CisJLyogUmVzdG9yZSBwaHlzaWNhbCBidXMgKi8KKwlpMmNfYWRkX2FkYXB0ZXIobmZvcmNlMl9zbWJ1cyk7CitFUlJPUjA6CisJcmV0dXJuIGVycm9yOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgbmZvcmNlMl9zNDk4NV9leGl0KHZvaWQpCit7CisJaWYgKHM0OTg1X2FkYXB0ZXIpIHsKKwkJaW50IGk7CisKKwkJZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKwkJCWkyY19kZWxfYWRhcHRlcihzNDk4NV9hZGFwdGVyK2kpOworCQlrZnJlZShzNDk4NV9hZGFwdGVyKTsKKwkJczQ5ODVfYWRhcHRlciA9IE5VTEw7CisJfQorCWtmcmVlKHM0OTg1X2FsZ28pOworCXM0OTg1X2FsZ28gPSBOVUxMOworCisJLyogUmVzdG9yZSBwaHlzaWNhbCBidXMgKi8KKwlpZiAoaTJjX2FkZF9hZGFwdGVyKG5mb3JjZTJfc21idXMpKQorCQlkZXZfZXJyKCZuZm9yY2UyX3NtYnVzLT5kZXYsICJQaHlzaWNhbCBidXMgcmVzdG9yYXRpb24gIgorCQkJImZhaWxlZFxuIik7Cit9CisKK01PRFVMRV9BVVRIT1IoIkplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJTNDk4NSBTTUJ1cyBtdWx0aXBsZXhpbmciKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKworbW9kdWxlX2luaXQobmZvcmNlMl9zNDk4NV9pbml0KTsKK21vZHVsZV9leGl0KG5mb3JjZTJfczQ5ODVfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5mb3JjZTIuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi5jCmluZGV4IDQzYzlmOGQuLjNiMTliYzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi5jCkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9kbWkuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKQEAgLTEyNCw2ICsxMjUsMjAgQEAKIAogc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIG5mb3JjZTJfZHJpdmVyOwogCisvKiBGb3IgbXVsdGlwbGV4aW5nIHN1cHBvcnQsIHdlIG5lZWQgYSBnbG9iYWwgcmVmZXJlbmNlIHRvIHRoZSAxc3QKKyAgIFNNQnVzIGNoYW5uZWwgKi8KKyNpZiBkZWZpbmVkIENPTkZJR19JMkNfTkZPUkNFMl9TNDk4NSB8fCBkZWZpbmVkIENPTkZJR19JMkNfTkZPUkNFMl9TNDk4NV9NT0RVTEUKK3N0cnVjdCBpMmNfYWRhcHRlciAqbmZvcmNlMl9zbWJ1czsKK0VYUE9SVF9TWU1CT0xfR1BMKG5mb3JjZTJfc21idXMpOworCitzdGF0aWMgdm9pZCBuZm9yY2UyX3NldF9yZWZlcmVuY2Uoc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCW5mb3JjZTJfc21idXMgPSBhZGFwOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBuZm9yY2UyX3NldF9yZWZlcmVuY2Uoc3RydWN0IGkyY19hZGFwdGVyICphZGFwKSB7IH0KKyNlbmRpZgorCiBzdGF0aWMgdm9pZCBuZm9yY2UyX2Fib3J0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKIHsKIAlzdHJ1Y3QgbmZvcmNlMl9zbWJ1cyAqc21idXMgPSBhZGFwLT5hbGdvX2RhdGE7CkBAIC0xNTgsMTYgKzE3MywxNiBAQAogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7CiAJCWlmIChzbWJ1cy0+Y2FuX2Fib3J0KQogCQkJbmZvcmNlMl9hYm9ydChhZGFwKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAl9CiAJaWYgKCEodGVtcCAmIE5WSURJQV9TTUJfU1RTX0RPTkUpIHx8ICh0ZW1wICYgTlZJRElBX1NNQl9TVFNfU1RBVFVTKSkgewogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJUcmFuc2FjdGlvbiBmYWlsZWQgKDB4JTAyeCkhXG4iLCB0ZW1wKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVJTzsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvciAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yICovCiBzdGF0aWMgczMyIG5mb3JjZTJfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAogCQl1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQpAQCAtMTc1LDcgKzE5MCw3IEBACiAJc3RydWN0IG5mb3JjZTJfc21idXMgKnNtYnVzID0gYWRhcC0+YWxnb19kYXRhOwogCXVuc2lnbmVkIGNoYXIgcHJvdG9jb2wsIHBlYzsKIAl1OCBsZW47Ci0JaW50IGk7CisJaW50IGksIHN0YXR1czsKIAogCXByb3RvY29sID0gKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1JFQUQpID8gTlZJRElBX1NNQl9QUlRDTF9SRUFEIDoKIAkJTlZJRElBX1NNQl9QUlRDTF9XUklURTsKQEAgLTIxOSw3ICsyMzQsNyBAQAogCQkJCQkJIlRyYW5zYWN0aW9uIGZhaWxlZCAiCiAJCQkJCQkiKHJlcXVlc3RlZCBibG9jayBzaXplOiAlZClcbiIsCiAJCQkJCQlsZW4pOwotCQkJCQlyZXR1cm4gLTE7CisJCQkJCXJldHVybiAtRUlOVkFMOwogCQkJCX0KIAkJCQlvdXRiX3AobGVuLCBOVklESUFfU01CX0JDTlQpOwogCQkJCWZvciAoaSA9IDA7IGkgPCBJMkNfU01CVVNfQkxPQ0tfTUFYOyBpKyspCkBAIC0yMzEsMTQgKzI0NiwxNSBAQAogCiAJCWRlZmF1bHQ6CiAJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJb3V0Yl9wKChhZGRyICYgMHg3ZikgPDwgMSwgTlZJRElBX1NNQl9BRERSKTsKIAlvdXRiX3AocHJvdG9jb2wsIE5WSURJQV9TTUJfUFJUQ0wpOwogCi0JaWYgKG5mb3JjZTJfY2hlY2tfc3RhdHVzKGFkYXApKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gbmZvcmNlMl9jaGVja19zdGF0dXMoYWRhcCk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkKIAkJcmV0dXJuIDA7CkBAIC0yNjAsNyArMjc2LDcgQEAKIAkJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJUcmFuc2FjdGlvbiBmYWlsZWQgIgogCQkJCQkiKHJlY2VpdmVkIGJsb2NrIHNpemU6IDB4JTAyeClcbiIsCiAJCQkJCWxlbik7Ci0JCQkJcmV0dXJuIC0xOworCQkJCXJldHVybiAtRVBST1RPOwogCQkJfQogCQkJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQogCQkJCWRhdGEtPmJsb2NrW2krMV0gPSBpbmJfcChOVklESUFfU01CX0RBVEEgKyBpKTsKQEAgLTMyMSwyMSArMzM3LDI2IEBACiAJCSAgICAhPSBQQ0lCSU9TX1NVQ0NFU1NGVUwpIHsKIAkJCWRldl9lcnIoJmRldi0+ZGV2LCAiRXJyb3IgcmVhZGluZyBQQ0kgY29uZmlnIGZvciAlc1xuIiwKIAkJCQluYW1lKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUlPOwogCQl9CiAKIAkJc21idXMtPmJhc2UgPSBpb2Jhc2UgJiBQQ0lfQkFTRV9BRERSRVNTX0lPX01BU0s7CiAJCXNtYnVzLT5zaXplID0gNjQ7CiAJfQogCisJZXJyb3IgPSBhY3BpX2NoZWNrX3JlZ2lvbihzbWJ1cy0+YmFzZSwgc21idXMtPnNpemUsCisJCQkJICBuZm9yY2UyX2RyaXZlci5uYW1lKTsKKwlpZiAoZXJyb3IpCisJCXJldHVybiAtMTsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oc21idXMtPmJhc2UsIHNtYnVzLT5zaXplLCBuZm9yY2UyX2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZzbWJ1cy0+YWRhcHRlci5kZXYsICJFcnJvciByZXF1ZXN0aW5nIHJlZ2lvbiAlMDJ4IC4uICUwMlggZm9yICVzXG4iLAogCQkJc21idXMtPmJhc2UsIHNtYnVzLT5iYXNlK3NtYnVzLT5zaXplLTEsIG5hbWUpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRUJVU1k7CiAJfQogCXNtYnVzLT5hZGFwdGVyLm93bmVyID0gVEhJU19NT0RVTEU7CiAJc21idXMtPmFkYXB0ZXIuaWQgPSBJMkNfSFdfU01CVVNfTkZPUkNFMjsKLQlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJc21idXMtPmFkYXB0ZXIuYWxnbyA9ICZzbWJ1c19hbGdvcml0aG07CiAJc21idXMtPmFkYXB0ZXIuYWxnb19kYXRhID0gc21idXM7CiAJc21idXMtPmFkYXB0ZXIuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKQEAgLTM0Niw3ICszNjcsNyBAQAogCWlmIChlcnJvcikgewogCQlkZXZfZXJyKCZzbWJ1cy0+YWRhcHRlci5kZXYsICJGYWlsZWQgdG8gcmVnaXN0ZXIgYWRhcHRlci5cbiIpOwogCQlyZWxlYXNlX3JlZ2lvbihzbWJ1cy0+YmFzZSwgc21idXMtPnNpemUpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiBlcnJvcjsKIAl9CiAJZGV2X2luZm8oJnNtYnVzLT5hZGFwdGVyLmRldiwgIm5Gb3JjZTIgU01CdXMgYWRhcHRlciBhdCAlI3hcbiIsIHNtYnVzLT5iYXNlKTsKIAlyZXR1cm4gMDsKQEAgLTM5OCw2ICs0MTksNyBAQAogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKKwluZm9yY2UyX3NldF9yZWZlcmVuY2UoJnNtYnVzZXNbMF0uYWRhcHRlcik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQwNiw2ICs0MjgsNyBAQAogewogCXN0cnVjdCBuZm9yY2UyX3NtYnVzICpzbWJ1c2VzID0gKHZvaWQqKSBwY2lfZ2V0X2RydmRhdGEoZGV2KTsKIAorCW5mb3JjZTJfc2V0X3JlZmVyZW5jZShOVUxMKTsKIAlpZiAoc21idXNlc1swXS5iYXNlKSB7CiAJCWkyY19kZWxfYWRhcHRlcigmc21idXNlc1swXS5hZGFwdGVyKTsKIAkJcmVsZWFzZV9yZWdpb24oc21idXNlc1swXS5iYXNlLCBzbWJ1c2VzWzBdLnNpemUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vY29yZXMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb2NvcmVzLmMKaW5kZXggZjE0NTY5Mi4uZTUxOTNiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vY29yZXMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jb3Jlcy5jCkBAIC0yOSw2ICsyOSw3IEBACiAJaW50IHBvczsKIAlpbnQgbm1zZ3M7CiAJaW50IHN0YXRlOyAvKiBzZWUgU1RBVEVfICovCisJaW50IGNsb2NrX2toejsKIH07CiAKIC8qIHJlZ2lzdGVycyAqLwpAQCAtMTczLDggKzE3NCw3IEBACiAJCXJldHVybiAtRVRJTUVET1VUOwogfQogCi1zdGF0aWMgdm9pZCBvY29yZXNfaW5pdChzdHJ1Y3Qgb2NvcmVzX2kyYyAqaTJjLAotCQkJc3RydWN0IG9jb3Jlc19pMmNfcGxhdGZvcm1fZGF0YSAqcGRhdGEpCitzdGF0aWMgdm9pZCBvY29yZXNfaW5pdChzdHJ1Y3Qgb2NvcmVzX2kyYyAqaTJjKQogewogCWludCBwcmVzY2FsZTsKIAl1OCBjdHJsID0gb2NfZ2V0cmVnKGkyYywgT0NJMkNfQ09OVFJPTCk7CkBAIC0xODIsNyArMTgyLDcgQEAKIAkvKiBtYWtlIHN1cmUgdGhlIGRldmljZSBpcyBkaXNhYmxlZCAqLwogCW9jX3NldHJlZyhpMmMsIE9DSTJDX0NPTlRST0wsIGN0cmwgJiB+KE9DSTJDX0NUUkxfRU58T0NJMkNfQ1RSTF9JRU4pKTsKIAotCXByZXNjYWxlID0gKHBkYXRhLT5jbG9ja19raHogLyAoNSoxMDApKSAtIDE7CisJcHJlc2NhbGUgPSAoaTJjLT5jbG9ja19raHogLyAoNSoxMDApKSAtIDE7CiAJb2Nfc2V0cmVnKGkyYywgT0NJMkNfUFJFTE9XLCBwcmVzY2FsZSAmIDB4ZmYpOwogCW9jX3NldHJlZyhpMmMsIE9DSTJDX1BSRUhJR0gsIHByZXNjYWxlID4+IDgpOwogCkBAIC0yMDUsNyArMjA1LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgb2NvcmVzX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5uYW1lCQk9ICJpMmMtb2NvcmVzIiwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZvY29yZXNfYWxnb3JpdGhtLAogfTsKIApAQCAtMjQ4LDcgKzI0OCw4IEBACiAJfQogCiAJaTJjLT5yZWdzdGVwID0gcGRhdGEtPnJlZ3N0ZXA7Ci0Jb2NvcmVzX2luaXQoaTJjLCBwZGF0YSk7CisJaTJjLT5jbG9ja19raHogPSBwZGF0YS0+Y2xvY2tfa2h6OworCW9jb3Jlc19pbml0KGkyYyk7CiAKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZpMmMtPndhaXQpOwogCXJldCA9IHJlcXVlc3RfaXJxKHJlczItPnN0YXJ0LCBvY29yZXNfaXNyLCAwLCBwZGV2LT5uYW1lLCBpMmMpOwpAQCAtMzEyLDEzICszMTMsNDAgQEAKIAlyZXR1cm4gMDsKIH0KIAorI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBvY29yZXNfaTJjX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBvY29yZXNfaTJjICppMmMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwl1OCBjdHJsID0gb2NfZ2V0cmVnKGkyYywgT0NJMkNfQ09OVFJPTCk7CisKKwkvKiBtYWtlIHN1cmUgdGhlIGRldmljZSBpcyBkaXNhYmxlZCAqLworCW9jX3NldHJlZyhpMmMsIE9DSTJDX0NPTlRST0wsIGN0cmwgJiB+KE9DSTJDX0NUUkxfRU58T0NJMkNfQ1RSTF9JRU4pKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG9jb3Jlc19pMmNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IG9jb3Jlc19pMmMgKmkyYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJb2NvcmVzX2luaXQoaTJjKTsKKworCXJldHVybiAwOworfQorI2Vsc2UKKyNkZWZpbmUgb2NvcmVzX2kyY19zdXNwZW5kCU5VTEwKKyNkZWZpbmUgb2NvcmVzX2kyY19yZXN1bWUJTlVMTAorI2VuZGlmCisKIC8qIHdvcmsgd2l0aCBob3RwbHVnIGFuZCBjb2xkcGx1ZyAqLwogTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpvY29yZXMtaTJjIik7CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG9jb3Jlc19pMmNfZHJpdmVyID0gewotCS5wcm9iZSAgPSBvY29yZXNfaTJjX3Byb2JlLAotCS5yZW1vdmUgPSBfX2RldmV4aXRfcChvY29yZXNfaTJjX3JlbW92ZSksCi0JLmRyaXZlciA9IHsKKwkucHJvYmUgICA9IG9jb3Jlc19pMmNfcHJvYmUsCisJLnJlbW92ZSAgPSBfX2RldmV4aXRfcChvY29yZXNfaTJjX3JlbW92ZSksCisJLnN1c3BlbmQgPSBvY29yZXNfaTJjX3N1c3BlbmQsCisJLnJlc3VtZSAgPSBvY29yZXNfaTJjX3Jlc3VtZSwKKwkuZHJpdmVyICA9IHsKIAkJLm93bmVyID0gVEhJU19NT0RVTEUsCiAJCS5uYW1lID0gIm9jb3Jlcy1pMmMiLAogCX0sCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhc2VtaS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wYXNlbWkuYwppbmRleCAxNjAzYzgxLi5hZGYwZmJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhc2VtaS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGFzZW1pLmMKQEAgLTM2NSw3ICszNjUsNyBAQAogCXNtYnVzLT5hZGFwdGVyLm93bmVyID0gVEhJU19NT0RVTEU7CiAJc25wcmludGYoc21idXMtPmFkYXB0ZXIubmFtZSwgc2l6ZW9mKHNtYnVzLT5hZGFwdGVyLm5hbWUpLAogCQkgIlBBIFNlbWkgU01CdXMgYWRhcHRlciBhdCAweCVseCIsIHNtYnVzLT5iYXNlKTsKLQlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlzbWJ1cy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJc21idXMtPmFkYXB0ZXIuYWxnbyA9ICZzbWJ1c19hbGdvcml0aG07CiAJc21idXMtPmFkYXB0ZXIuYWxnb19kYXRhID0gc21idXM7CiAJc21idXMtPmFkYXB0ZXIubnIgPSBQQ0lfRlVOQyhkZXYtPmRldmZuKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGNhLXBsYXRmb3JtLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBjYS1wbGF0Zm9ybS5jCmluZGV4IDlkNzVmNTEuLjZiYjE1YWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGNhLXBsYXRmb3JtLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wY2EtcGxhdGZvcm0uYwpAQCAtMTYzLDcgKzE2Myw3IEBACiAKIAlpMmMtPnJlZ19iYXNlID0gaW9yZW1hcChyZXMtPnN0YXJ0LCByZXNfbGVuKHJlcykpOwogCWlmICghaTJjLT5yZWdfYmFzZSkgewotCQlyZXQgPSAtRUlPOworCQlyZXQgPSAtRU5PTUVNOwogCQlnb3RvIGVfcmVtYXA7CiAJfQogCWkyYy0+aW9fYmFzZSA9IHJlcy0+c3RhcnQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBpaXg0LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBpaXg0LmMKaW5kZXggYWM5MTY1OS4uZWFhOWIzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1waWl4NC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGlpeDQuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgcGlpeDQuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDE5OTggLSAyMDAyIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4gYW5kCiAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPgogCkBAIC0zOSwxNiArMzcsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZG1pLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAKLXN0cnVjdCBzZCB7Ci0JY29uc3QgdW5zaWduZWQgc2hvcnQgbWZyOwotCWNvbnN0IHVuc2lnbmVkIHNob3J0IGRldjsKLQljb25zdCB1bnNpZ25lZCBjaGFyIGZuOwotCWNvbnN0IGNoYXIgKm5hbWU7Ci19OwotCiAvKiBQSUlYNCBTTUJ1cyBhZGRyZXNzIG9mZnNldHMgKi8KICNkZWZpbmUgU01CSFNUU1RTCSgwICsgcGlpeDRfc21iYSkKICNkZWZpbmUgU01CSFNMVlNUUwkoMSArIHBpaXg0X3NtYmEpCkBAIC0xMDEsOCArOTMsNiBAQAogCQkgIkZvcmNpYmx5IGVuYWJsZSB0aGUgUElJWDQgYXQgdGhlIGdpdmVuIGFkZHJlc3MuICIKIAkJICJFWFRSRU1FTFkgREFOR0VST1VTISIpOwogCi1zdGF0aWMgaW50IHBpaXg0X3RyYW5zYWN0aW9uKHZvaWQpOwotCiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgcGlpeDRfc21iYTsKIHN0YXRpYyBpbnQgc3J2cndvcmtzX2NzYjVfZGVsYXk7CiBzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgcGlpeDRfZHJpdmVyOwpAQCAtMTQxLDggKzEzMSw2IEBACiB7CiAJdW5zaWduZWQgY2hhciB0ZW1wOwogCi0JZGV2X2luZm8oJlBJSVg0X2Rldi0+ZGV2LCAiRm91bmQgJXMgZGV2aWNlXG4iLCBwY2lfbmFtZShQSUlYNF9kZXYpKTsKLQogCWlmICgoUElJWDRfZGV2LT52ZW5kb3IgPT0gUENJX1ZFTkRPUl9JRF9TRVJWRVJXT1JLUykgJiYKIAkgICAgKFBJSVg0X2Rldi0+ZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfU0VSVkVSV09SS1NfQ1NCNSkpCiAJCXNydnJ3b3Jrc19jc2I1X2RlbGF5ID0gMTsKQEAgLTE3MiwxNyArMTYwLDIwIEBACiAJCXBjaV9yZWFkX2NvbmZpZ193b3JkKFBJSVg0X2RldiwgU01CQkEsICZwaWl4NF9zbWJhKTsKIAkJcGlpeDRfc21iYSAmPSAweGZmZjA7CiAJCWlmKHBpaXg0X3NtYmEgPT0gMCkgewotCQkJZGV2X2VycigmUElJWDRfZGV2LT5kZXYsICJTTUIgYmFzZSBhZGRyZXNzICIKKwkJCWRldl9lcnIoJlBJSVg0X2Rldi0+ZGV2LCAiU01CdXMgYmFzZSBhZGRyZXNzICIKIAkJCQkidW5pbml0aWFsaXplZCAtIHVwZ3JhZGUgQklPUyBvciB1c2UgIgogCQkJCSJmb3JjZV9hZGRyPTB4YWRkclxuIik7CiAJCQlyZXR1cm4gLUVOT0RFVjsKIAkJfQogCX0KIAorCWlmIChhY3BpX2NoZWNrX3JlZ2lvbihwaWl4NF9zbWJhLCBTTUJJT1NJWkUsIHBpaXg0X2RyaXZlci5uYW1lKSkKKwkJcmV0dXJuIC1FQlVTWTsKKwogCWlmICghcmVxdWVzdF9yZWdpb24ocGlpeDRfc21iYSwgU01CSU9TSVpFLCBwaWl4NF9kcml2ZXIubmFtZSkpIHsKLQkJZGV2X2VycigmUElJWDRfZGV2LT5kZXYsICJTTUIgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLAorCQlkZXZfZXJyKCZQSUlYNF9kZXYtPmRldiwgIlNNQnVzIHJlZ2lvbiAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwKIAkJCXBpaXg0X3NtYmEpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKIAlwY2lfcmVhZF9jb25maWdfYnl0ZShQSUlYNF9kZXYsIFNNQkhTVENGRywgJnRlbXApOwpAQCAtMjI4LDEzICsyMTksMTMgQEAKIAkJCSIob3IgY29kZSBvdXQgb2YgZGF0ZSkhXG4iKTsKIAogCXBjaV9yZWFkX2NvbmZpZ19ieXRlKFBJSVg0X2RldiwgU01CUkVWLCAmdGVtcCk7Ci0JZGV2X2RiZygmUElJWDRfZGV2LT5kZXYsICJTTUJSRVYgPSAweCVYXG4iLCB0ZW1wKTsKLQlkZXZfZGJnKCZQSUlYNF9kZXYtPmRldiwgIlNNQkEgPSAweCVYXG4iLCBwaWl4NF9zbWJhKTsKKwlkZXZfaW5mbygmUElJWDRfZGV2LT5kZXYsCisJCSAiU01CdXMgSG9zdCBDb250cm9sbGVyIGF0IDB4JXgsIHJldmlzaW9uICVkXG4iLAorCQkgcGlpeDRfc21iYSwgdGVtcCk7CiAKIAlyZXR1cm4gMDsKIH0KIAotLyogQW5vdGhlciBpbnRlcm5hbGx5IHVzZWQgZnVuY3Rpb24gKi8KIHN0YXRpYyBpbnQgcGlpeDRfdHJhbnNhY3Rpb24odm9pZCkKIHsKIAlpbnQgdGVtcDsKQEAgLTI1Myw3ICsyNDQsNyBAQAogCQlvdXRiX3AodGVtcCwgU01CSFNUU1RTKTsKIAkJaWYgKCh0ZW1wID0gaW5iX3AoU01CSFNUU1RTKSkgIT0gMHgwMCkgewogCQkJZGV2X2VycigmcGlpeDRfYWRhcHRlci5kZXYsICJGYWlsZWQhICglMDJ4KVxuIiwgdGVtcCk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVCVVNZOwogCQl9IGVsc2UgewogCQkJZGV2X2RiZygmcGlpeDRfYWRhcHRlci5kZXYsICJTdWNjZXNzZnVsIVxuIik7CiAJCX0KQEAgLTI3NSwyMyArMjY2LDIzIEBACiAJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KIAlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewogCQlkZXZfZXJyKCZwaWl4NF9hZGFwdGVyLmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJfQogCiAJaWYgKHRlbXAgJiAweDEwKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZXJyKCZwaWl4NF9hZGFwdGVyLmRldiwgIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MDgpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9kYmcoJnBpaXg0X2FkYXB0ZXIuZGV2LCAiQnVzIGNvbGxpc2lvbiEgU01CdXMgbWF5IGJlICIKIAkJCSJsb2NrZWQgdW50aWwgbmV4dCBoYXJkIHJlc2V0LiAoc29ycnkhKVxuIik7CiAJCS8qIENsb2NrIHN0b3BzIGFuZCBzbGF2ZSBpcyBzdHVjayBpbiBtaWQtdHJhbnNtaXNzaW9uICovCiAJfQogCiAJaWYgKHRlbXAgJiAweDA0KSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJCWRldl9kYmcoJnBpaXg0X2FkYXB0ZXIuZGV2LCAiRXJyb3I6IG5vIHJlc3BvbnNlIVxuIik7CiAJfQogCkBAIC0zMDksMzEgKzMwMCwyOSBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgcGlpeDRfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQkgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKIAkJIHU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCiB7CiAJaW50IGksIGxlbjsKKwlpbnQgc3RhdHVzOwogCiAJc3dpdGNoIChzaXplKSB7Ci0JY2FzZSBJMkNfU01CVVNfUFJPQ19DQUxMOgotCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJJMkNfU01CVVNfUFJPQ19DQUxMIG5vdCBzdXBwb3J0ZWQhXG4iKTsKLQkJcmV0dXJuIC0xOwogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgotCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAorCQlvdXRiX3AoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLAogCQkgICAgICAgU01CSFNUQUREKTsKIAkJc2l6ZSA9IFBJSVg0X1FVSUNLOwogCQlicmVhazsKIAljYXNlIEkyQ19TTUJVU19CWVRFOgotCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAorCQlvdXRiX3AoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLAogCQkgICAgICAgU01CSFNUQUREKTsKIAkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQogCQkJb3V0Yl9wKGNvbW1hbmQsIFNNQkhTVENNRCk7CiAJCXNpemUgPSBQSUlYNF9CWVRFOwogCQlicmVhazsKIAljYXNlIEkyQ19TTUJVU19CWVRFX0RBVEE6Ci0JCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCisJCW91dGJfcCgoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsCiAJCSAgICAgICBTTUJIU1RBREQpOwogCQlvdXRiX3AoY29tbWFuZCwgU01CSFNUQ01EKTsKIAkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQpAQCAtMzQxLDcgKzMzMCw3IEBACiAJCXNpemUgPSBQSUlYNF9CWVRFX0RBVEE7CiAJCWJyZWFrOwogCWNhc2UgSTJDX1NNQlVTX1dPUkRfREFUQToKLQkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKKwkJb3V0Yl9wKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwKIAkJICAgICAgIFNNQkhTVEFERCk7CiAJCW91dGJfcChjb21tYW5kLCBTTUJIU1RDTUQpOwogCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHsKQEAgLTM1MSwxNSArMzQwLDEzIEBACiAJCXNpemUgPSBQSUlYNF9XT1JEX0RBVEE7CiAJCWJyZWFrOwogCWNhc2UgSTJDX1NNQlVTX0JMT0NLX0RBVEE6Ci0JCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCisJCW91dGJfcCgoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsCiAJCSAgICAgICBTTUJIU1RBREQpOwogCQlvdXRiX3AoY29tbWFuZCwgU01CSFNUQ01EKTsKIAkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB7CiAJCQlsZW4gPSBkYXRhLT5ibG9ja1swXTsKLQkJCWlmIChsZW4gPCAwKQotCQkJCWxlbiA9IDA7Ci0JCQlpZiAobGVuID4gMzIpCi0JCQkJbGVuID0gMzI7CisJCQlpZiAobGVuID09IDAgfHwgbGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKKwkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCW91dGJfcChsZW4sIFNNQkhTVERBVDApOwogCQkJaSA9IGluYl9wKFNNQkhTVENOVCk7CS8qIFJlc2V0IFNNQkJMS0RBVCAqLwogCQkJZm9yIChpID0gMTsgaSA8PSBsZW47IGkrKykKQEAgLTM2NywxMiArMzU0LDE2IEBACiAJCX0KIAkJc2l6ZSA9IFBJSVg0X0JMT0NLX0RBVEE7CiAJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlvdXRiX3AoKHNpemUgJiAweDFDKSArIChFTkFCTEVfSU5UOSAmIDEpLCBTTUJIU1RDTlQpOwogCi0JaWYgKHBpaXg0X3RyYW5zYWN0aW9uKCkpCS8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBwaWl4NF90cmFuc2FjdGlvbigpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBQSUlYNF9RVUlDSykpCiAJCXJldHVybiAwOwpAQCAtMzg4LDYgKzM3OSw4IEBACiAJCWJyZWFrOwogCWNhc2UgUElJWDRfQkxPQ0tfREFUQToKIAkJZGF0YS0+YmxvY2tbMF0gPSBpbmJfcChTTUJIU1REQVQwKTsKKwkJaWYgKGRhdGEtPmJsb2NrWzBdID09IDAgfHwgZGF0YS0+YmxvY2tbMF0gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQorCQkJcmV0dXJuIC1FUFJPVE87CiAJCWkgPSBpbmJfcChTTUJIU1RDTlQpOwkvKiBSZXNldCBTTUJCTEtEQVQgKi8KIAkJZm9yIChpID0gMTsgaSA8PSBkYXRhLT5ibG9ja1swXTsgaSsrKQogCQkJZGF0YS0+YmxvY2tbaV0gPSBpbmJfcChTTUJCTEtEQVQpOwpAQCAtNDExLDcgKzQwNCw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHBpaXg0X2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfUElJWDQsCi0JLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wbWNtc3AuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcG1jbXNwLmMKaW5kZXggNjNiM2UyYy4uZGNmMjA0NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wbWNtc3AuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBtY21zcC5jCkBAIC02MjIsNyArNjIyLDcgQEAKIAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBwbWNtc3B0d2lfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmcG1jbXNwdHdpX2FsZ28sCiAJLm5hbWUJCT0gRFJWX05BTUUsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHJvc2F2YWdlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3YzFmMWUuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UuYworKysgL2Rldi9udWxsCkBAIC0xLDMyNSArMCwwIEBACi0vKgotICogICAga2VybmVsL2J1c3Nlcy9pMmMtcHJvc2F2YWdlLmMKLSAqCi0gKiAgICBpMmMgYnVzIGRyaXZlciBmb3IgUzMvVklBIDgzNjUvODM3NSBncmFwaGljcyBwcm9jZXNzb3IuCi0gKiAgICBDb3B5cmlnaHQgKGMpIDIwMDMgSGVuayBWZXJnb25ldCA8aGVua0Bnb2QuZHluZG5zLm9yZz4KLSAqICAgIEJhc2VkIG9uIGNvZGUgd3JpdHRlbiBieToKLSAqCUZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCi0gKglQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LAotICoJUmFscGggTWV0emxlciA8cmprbUB0aHAudW5pLWtvZWxuLmRlPiwgYW5kCi0gKglNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+Ci0gKglTaW1vbiBWb2dsCi0gKglhbmQgb3RoZXJzCi0gKgotICogICAgUGxlYXNlIHJlYWQgdGhlIGxtX3NlbnNvcnMgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlscyBvbiB1c2UuCi0gKgotICogICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCi0gKgotICovCi0vKiAgMTgtMDUtMjAwMyBIVkUgLSBjcmVhdGVkCi0gKiAgMTQtMDYtMjAwMyBIVkUgLSBhZGFwdGVkIGZvciBsbV9zZW5zb3JzMgotICogIDE3LTA2LTIwMDMgSFZFIC0gbGludXggMi41Lnh4IGNvbXBhdGlibGUKLSAqICAxOC0wNi0yMDAzIEhWRSAtIGNvZGluZ3N0eWxlCi0gKiAgMjEtMDYtMjAwMyBIVkUgLSBjb21wYXRpYmlsaXR5IGxtX3NlbnNvcnMyIGFuZCBsaW51eCAyLjUueHgKLSAqCQkgICAgIGNvZGluZ3N0eWxlLCBtbWlvIGVuYWJsZWQKLSAqCi0gKiAgVGhpcyBkcml2ZXIgaW50ZXJmYWNlcyB0byB0aGUgSTJDIGJ1cyBvZiB0aGUgVklBIG5vcnRoIGJyaWRnZSBlbWJlZGRlZAotICogIFByb1NhdmFnZTQvOCBkZXZpY2VzLiBVc2VmdWxsIGZvciBnYWluaW5nIGFjY2VzcyB0byB0aGUgVFYgRW5jb2RlciBjaGlwcy4KLSAqCi0gKiAgR3JhcGhpY3MgY29yZXM6Ci0gKiAgIFMzL1ZJQSBLTTI2Ni9WVDgzNzUgYWthIFByb1NhdmFnZTgKLSAqICAgUzMvVklBIEtNMTMzL1ZUODM2NSBha2EgU2F2YWdlNAotICoKLSAqICBUd28gc2VyaWFsIGJ1c3NlcyBhcmUgaW1wbGVtZW50ZWQ6Ci0gKiAgIFNFUklBTDEgLSBJMkMgc2VyaWFsIGNvbW11bmljYXRpb25zIGludGVyZmFjZQotICogICBTRVJJQUwyIC0gRERDMiBtb25pdG9yIGNvbW11bmljYXRpb25zIGludGVyZmFjZQotICoKLSAqICBUZXN0ZWQgb24gYSBGWDQxIG1haW5ib2FyZCwgc2VlIGh0dHA6Ly93d3cuc2h1dHRsZS5jb20KLSAqIAotICoKLSAqICBUT0RPOgotICogIC0gaW50ZWdyYXRpb24gd2l0aCBwcm9zYXZhZ2UgZnJhbWVidWZmZXIgZGV2aWNlCi0gKiAgICAoQWRkaXRpb25hbCBkb2N1bWVudGF0aW9uIG5lZWRlZCA6KAotICovCi0KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLWFsZ28tYml0Lmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0KLS8qCi0gKiBkcml2ZXIgY29uZmlndXJhdGlvbgotICovCi0jZGVmaW5lIE1BWF9CVVNTRVMJMgotCi1zdHJ1Y3Qgc19pMmNfYnVzIHsKLQl2b2lkIF9faW9tZW0gKm1tdmdhOwotCWludAlpMmNfcmVnOwotCWludAlhZGFwX29rOwotCXN0cnVjdCBpMmNfYWRhcHRlcgkJYWRhcDsKLQlzdHJ1Y3QgaTJjX2FsZ29fYml0X2RhdGEJYWxnbzsKLX07Ci0KLXN0cnVjdCBzX2kyY19jaGlwIHsKLQl2b2lkIF9faW9tZW0gKm1taW87Ci0Jc3RydWN0IHNfaTJjX2J1cwlpMmNfYnVzW01BWF9CVVNTRVNdOwotfTsKLQotCi0vKgotICogaTJjIGNvbmZpZ3VyYXRpb24KLSAqLwotI2RlZmluZSBDWUNMRV9ERUxBWQkxMAotI2RlZmluZSBUSU1FT1VUCQkoSFogLyAyKQotCi0KLS8qIAotICogUzMvVklBIDgzNjUvODM3NSByZWdpc3RlcnMKLSAqLwotI2RlZmluZSBWR0FfQ1JfSVgJMHgzZDQKLSNkZWZpbmUgVkdBX0NSX0RBVEEJMHgzZDUKLQotI2RlZmluZSBDUl9TRVJJQUwxCTB4YTAJLyogSTJDIHNlcmlhbCBjb21tdW5pY2F0aW9ucyBpbnRlcmZhY2UgKi8KLSNkZWZpbmUgTU1fU0VSSUFMMQkweGZmMjAKLSNkZWZpbmUgQ1JfU0VSSUFMMgkweGIxCS8qIEREQzIgbW9uaXRvciBjb21tdW5pY2F0aW9ucyBpbnRlcmZhY2UgKi8KLQotLyogYmFzZWQgb24gdnQ4MzY1IGRvY3VtZW50YXRpb24gKi8KLSNkZWZpbmUgSTJDX0VOQUIJMHgxMAotI2RlZmluZSBJMkNfU0NMX09VVAkweDAxCi0jZGVmaW5lIEkyQ19TREFfT1VUCTB4MDIKLSNkZWZpbmUgSTJDX1NDTF9JTgkweDA0Ci0jZGVmaW5lIEkyQ19TREFfSU4JMHgwOAotCi0jZGVmaW5lIFNFVF9DUl9JWChwLCB2YWwpCXdyaXRlYigodmFsKSwgKHApLT5tbXZnYSArIFZHQV9DUl9JWCkKLSNkZWZpbmUgU0VUX0NSX0RBVEEocCwgdmFsKQl3cml0ZWIoKHZhbCksIChwKS0+bW12Z2EgKyBWR0FfQ1JfREFUQSkKLSNkZWZpbmUgR0VUX0NSX0RBVEEocCkJCXJlYWRiKChwKS0+bW12Z2EgKyBWR0FfQ1JfREFUQSkKLQotCi0vKgotICogU2VyaWFsIGJ1cyBsaW5lIGhhbmRsaW5nCi0gKgotICogc2VyaWFsIGNvbW11bmljYXRpb25zIHJlZ2lzdGVyIGFzIHBhcmFtZXRlciBpbiBwcml2YXRlIGRhdGEKLSAqCi0gKiBUT0RPOiBsb2NrcyB3aXRoIG90aGVyIGNvZGUgc2VjdGlvbnMgYWNjZXNzaW5nIHZpZGVvIHJlZ2lzdGVycz8KLSAqLwotc3RhdGljIHZvaWQgYml0X3MzdmlhX3NldHNjbCh2b2lkICpidXMsIGludCB2YWwpCi17Ci0Jc3RydWN0IHNfaTJjX2J1cyAqcCA9IChzdHJ1Y3Qgc19pMmNfYnVzICopYnVzOwotCXVuc2lnbmVkIGludCByOwotCi0JU0VUX0NSX0lYKHAsIHAtPmkyY19yZWcpOwotCXIgPSBHRVRfQ1JfREFUQShwKTsKLQlyIHw9IEkyQ19FTkFCOwotCWlmICh2YWwpIHsKLQkJciB8PSBJMkNfU0NMX09VVDsKLQl9IGVsc2UgewotCQlyICY9IH5JMkNfU0NMX09VVDsKLQl9Ci0JU0VUX0NSX0RBVEEocCwgcik7Ci19Ci0KLXN0YXRpYyB2b2lkIGJpdF9zM3ZpYV9zZXRzZGEodm9pZCAqYnVzLCBpbnQgdmFsKQotewotCXN0cnVjdCBzX2kyY19idXMgKnAgPSAoc3RydWN0IHNfaTJjX2J1cyAqKWJ1czsKLQl1bnNpZ25lZCBpbnQgcjsKLQkKLQlTRVRfQ1JfSVgocCwgcC0+aTJjX3JlZyk7Ci0JciA9IEdFVF9DUl9EQVRBKHApOwotCXIgfD0gSTJDX0VOQUI7Ci0JaWYgKHZhbCkgewotCQlyIHw9IEkyQ19TREFfT1VUOwotCX0gZWxzZSB7Ci0JCXIgJj0gfkkyQ19TREFfT1VUOwotCX0KLQlTRVRfQ1JfREFUQShwLCByKTsKLX0KLQotc3RhdGljIGludCBiaXRfczN2aWFfZ2V0c2NsKHZvaWQgKmJ1cykKLXsKLQlzdHJ1Y3Qgc19pMmNfYnVzICpwID0gKHN0cnVjdCBzX2kyY19idXMgKilidXM7Ci0KLQlTRVRfQ1JfSVgocCwgcC0+aTJjX3JlZyk7Ci0JcmV0dXJuICgwICE9IChHRVRfQ1JfREFUQShwKSAmIEkyQ19TQ0xfSU4pKTsKLX0KLQotc3RhdGljIGludCBiaXRfczN2aWFfZ2V0c2RhKHZvaWQgKmJ1cykKLXsKLQlzdHJ1Y3Qgc19pMmNfYnVzICpwID0gKHN0cnVjdCBzX2kyY19idXMgKilidXM7Ci0KLQlTRVRfQ1JfSVgocCwgcC0+aTJjX3JlZyk7Ci0JcmV0dXJuICgwICE9IChHRVRfQ1JfREFUQShwKSAmIEkyQ19TREFfSU4pKTsKLX0KLQotCi0vKgotICogYWRhcHRlciBpbml0aWFsaXNhdGlvbgotICovCi1zdGF0aWMgaW50IGkyY19yZWdpc3Rlcl9idXMoc3RydWN0IHBjaV9kZXYgKmRldiwgc3RydWN0IHNfaTJjX2J1cyAqcCwgdm9pZCBfX2lvbWVtICptbXZnYSwgdTMyIGkyY19yZWcpCi17Ci0JaW50IHJldDsKLQlwLT5hZGFwLm93bmVyCSAgPSBUSElTX01PRFVMRTsKLQlwLT5hZGFwLmlkCSAgPSBJMkNfSFdfQl9TM1ZJQTsKLQlwLT5hZGFwLmFsZ29fZGF0YSA9ICZwLT5hbGdvOwotCXAtPmFkYXAuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKLQlwLT5hbGdvLnNldHNkYQkgID0gYml0X3MzdmlhX3NldHNkYTsKLQlwLT5hbGdvLnNldHNjbAkgID0gYml0X3MzdmlhX3NldHNjbDsKLQlwLT5hbGdvLmdldHNkYQkgID0gYml0X3MzdmlhX2dldHNkYTsKLQlwLT5hbGdvLmdldHNjbAkgID0gYml0X3MzdmlhX2dldHNjbDsKLQlwLT5hbGdvLnVkZWxheQkgID0gQ1lDTEVfREVMQVk7Ci0JcC0+YWxnby50aW1lb3V0CSAgPSBUSU1FT1VUOwotCXAtPmFsZ28uZGF0YQkgID0gcDsKLQlwLT5tbXZnYQkgID0gbW12Z2E7Ci0JcC0+aTJjX3JlZwkgID0gaTJjX3JlZzsKLSAgICAKLQlyZXQgPSBpMmNfYml0X2FkZF9idXMoJnAtPmFkYXApOwotCWlmIChyZXQpIHsKLQkJcmV0dXJuIHJldDsKLQl9Ci0KLQlwLT5hZGFwX29rID0gMTsKLQlyZXR1cm4gMDsKLX0KLQotCi0vKgotICogQ2xlYW51cCBzdHVmZgotICovCi1zdGF0aWMgdm9pZCBwcm9zYXZhZ2VfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpkZXYpCi17Ci0Jc3RydWN0IHNfaTJjX2NoaXAgKmNoaXA7Ci0JaW50IGksIHJldDsKLQotCWNoaXAgPSAoc3RydWN0IHNfaTJjX2NoaXAgKilwY2lfZ2V0X2RydmRhdGEoZGV2KTsKLQotCWlmICghY2hpcCkgewotCQlyZXR1cm47Ci0JfQotCWZvciAoaSA9IE1BWF9CVVNTRVMgLSAxOyBpID49IDA7IGktLSkgewotCQlpZiAoY2hpcC0+aTJjX2J1c1tpXS5hZGFwX29rID09IDApCi0JCQljb250aW51ZTsKLQotCQlyZXQgPSBpMmNfZGVsX2FkYXB0ZXIoJmNoaXAtPmkyY19idXNbaV0uYWRhcCk7Ci0JICAgICAgICBpZiAocmV0KSB7Ci0JCQlkZXZfZXJyKCZkZXYtPmRldiwgIiVzIG5vdCByZW1vdmVkXG4iLAotCQkJCWNoaXAtPmkyY19idXNbaV0uYWRhcC5uYW1lKTsKLQkJfQotCX0KLQlpZiAoY2hpcC0+bW1pbykgewotCQlpb3VubWFwKGNoaXAtPm1taW8pOwotCX0KLQlrZnJlZShjaGlwKTsKLX0KLQotCi0vKgotICogRGV0ZWN0IGNoaXAgYW5kIGluaXRpYWxpemUgaXQKLSAqLwotc3RhdGljIGludCBfX2RldmluaXQgcHJvc2F2YWdlX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZCkKLXsKLQlpbnQgcmV0OwotCXVuc2lnbmVkIGxvbmcgYmFzZSwgbGVuOwotCXN0cnVjdCBzX2kyY19jaGlwICpjaGlwOwotCXN0cnVjdCBzX2kyY19idXMgICpidXM7Ci0KLQlwY2lfc2V0X2RydmRhdGEoZGV2LCBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc19pMmNfY2hpcCksIEdGUF9LRVJORUwpKTsKLQljaGlwID0gKHN0cnVjdCBzX2kyY19jaGlwICopcGNpX2dldF9kcnZkYXRhKGRldik7Ci0JaWYgKGNoaXAgPT0gTlVMTCkgewotCQlyZXR1cm4gLUVOT01FTTsKLQl9Ci0KLQliYXNlID0gZGV2LT5yZXNvdXJjZVswXS5zdGFydCAmIFBDSV9CQVNFX0FERFJFU1NfTUVNX01BU0s7Ci0JbGVuICA9IGRldi0+cmVzb3VyY2VbMF0uZW5kIC0gYmFzZSArIDE7Ci0JY2hpcC0+bW1pbyA9IGlvcmVtYXBfbm9jYWNoZShiYXNlLCBsZW4pOwotCi0JaWYgKGNoaXAtPm1taW8gPT0gTlVMTCkgewotCQlkZXZfZXJyKCZkZXYtPmRldiwgImlvcmVtYXAgZmFpbGVkXG4iKTsKLQkJcHJvc2F2YWdlX3JlbW92ZShkZXYpOwotCQlyZXR1cm4gLUVOT0RFVjsKLQl9Ci0KLQotCS8qCi0JICogQ2hpcCBpbml0aWFsaXNhdGlvbgotCSAqLwotCS8qIFVubG9jayBFeHRlbmRlZCBJTyBTcGFjZSA/Pz8gKi8KLQotCi0JLyoKLQkgKiBpMmMgYnVzIHJlZ2lzdHJhdGlvbgotCSAqLwotCWJ1cyA9ICZjaGlwLT5pMmNfYnVzWzBdOwotCXNucHJpbnRmKGJ1cy0+YWRhcC5uYW1lLCBzaXplb2YoYnVzLT5hZGFwLm5hbWUpLAotCQkiUHJvU2F2YWdlIEkyQyBidXMgYXQgJTAyeDolMDJ4LiV4IiwKLQkJZGV2LT5idXMtPm51bWJlciwgUENJX1NMT1QoZGV2LT5kZXZmbiksIFBDSV9GVU5DKGRldi0+ZGV2Zm4pKTsKLQlyZXQgPSBpMmNfcmVnaXN0ZXJfYnVzKGRldiwgYnVzLCBjaGlwLT5tbWlvICsgMHg4MDAwLCBDUl9TRVJJQUwxKTsKLQlpZiAocmV0KSB7Ci0JCWdvdG8gZXJyX2FkYXA7Ci0JfQotCS8qCi0JICogZGRjIGJ1cyByZWdpc3RyYXRpb24KLQkgKi8KLQlidXMgPSAmY2hpcC0+aTJjX2J1c1sxXTsKLQlzbnByaW50ZihidXMtPmFkYXAubmFtZSwgc2l6ZW9mKGJ1cy0+YWRhcC5uYW1lKSwKLQkJIlByb1NhdmFnZSBEREMgYnVzIGF0ICUwMng6JTAyeC4leCIsCi0JCWRldi0+YnVzLT5udW1iZXIsIFBDSV9TTE9UKGRldi0+ZGV2Zm4pLCBQQ0lfRlVOQyhkZXYtPmRldmZuKSk7Ci0JcmV0ID0gaTJjX3JlZ2lzdGVyX2J1cyhkZXYsIGJ1cywgY2hpcC0+bW1pbyArIDB4ODAwMCwgQ1JfU0VSSUFMMik7Ci0JaWYgKHJldCkgewotCQlnb3RvIGVycl9hZGFwOwotCX0KLQlyZXR1cm4gMDsKLWVycl9hZGFwOgotCWRldl9lcnIoJmRldi0+ZGV2LCAiJXMgZmFpbGVkXG4iLCBidXMtPmFkYXAubmFtZSk7Ci0JcHJvc2F2YWdlX3JlbW92ZShkZXYpOwotCXJldHVybiByZXQ7Ci19Ci0KLQotLyoKLSAqIERhdGEgZm9yIFBDSSBkcml2ZXIgaW50ZXJmYWNlCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBwcm9zYXZhZ2VfcGNpX3RibFtdID0gewotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX1MzLCBQQ0lfREVWSUNFX0lEX1MzX1NBVkFHRTQpIH0sCi0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfUzMsIFBDSV9ERVZJQ0VfSURfUzNfUFJPU0FWQUdFOCkgfSwKLQl7IDAsIH0sCi19OwotCi1NT0RVTEVfREVWSUNFX1RBQkxFIChwY2ksIHByb3NhdmFnZV9wY2lfdGJsKTsKLQotc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIHByb3NhdmFnZV9kcml2ZXIgPSB7Ci0JLm5hbWUJCT0JInByb3NhdmFnZV9zbWJ1cyIsCi0JLmlkX3RhYmxlCT0JcHJvc2F2YWdlX3BjaV90YmwsCi0JLnByb2JlCQk9CXByb3NhdmFnZV9wcm9iZSwKLQkucmVtb3ZlCQk9CXByb3NhdmFnZV9yZW1vdmUsCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpMmNfcHJvc2F2YWdlX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gcGNpX3JlZ2lzdGVyX2RyaXZlcigmcHJvc2F2YWdlX2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBpMmNfcHJvc2F2YWdlX2V4aXQodm9pZCkKLXsKLQlwY2lfdW5yZWdpc3Rlcl9kcml2ZXIoJnByb3NhdmFnZV9kcml2ZXIpOwotfQotCi1NT0RVTEVfREVWSUNFX1RBQkxFKHBjaSwgcHJvc2F2YWdlX3BjaV90YmwpOwotTU9EVUxFX0FVVEhPUigiSGVuayBWZXJnb25ldCIpOwotTU9EVUxFX0RFU0NSSVBUSU9OKCJQcm9TYXZhZ2UgVklBIDgzNjUvODM3NSBzbWJ1cyBkcml2ZXIiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQgKGkyY19wcm9zYXZhZ2VfaW5pdCk7Ci1tb2R1bGVfZXhpdCAoaTJjX3Byb3NhdmFnZV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHhhLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXB4YS5jCmluZGV4IGViNjlmYmEuLmFmOWU2MDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHhhLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1weGEuYwpAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2kyYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KIAogc3RydWN0IHB4YV9pMmMgewogCXNwaW5sb2NrX3QJCWxvY2s7CkBAIC05NDUsMzIgKzk0NCw2IEBACiAJLmZ1bmN0aW9uYWxpdHkJPSBpMmNfcHhhX2Z1bmN0aW9uYWxpdHksCiB9OwogCi1zdGF0aWMgdm9pZCBpMmNfcHhhX2VuYWJsZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCi17Ci0JaWYgKGNwdV9pc19weGEyN3goKSkgewotCQlzd2l0Y2ggKGRldi0+aWQpIHsKLQkJY2FzZSAwOgotCQkJcHhhX2dwaW9fbW9kZShHUElPMTE3X0kyQ1NDTF9NRCk7Ci0JCQlweGFfZ3Bpb19tb2RlKEdQSU8xMThfSTJDU0RBX01EKTsKLQkJCWJyZWFrOwotCQljYXNlIDE6Ci0JCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQkJUENGUiB8PSBQQ0ZSX1BJMkNFTjsKLQkJCWxvY2FsX2lycV9lbmFibGUoKTsKLQkJCWJyZWFrOwotCQl9Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBpMmNfcHhhX2Rpc2FibGUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCWlmIChjcHVfaXNfcHhhMjd4KCkgJiYgZGV2LT5pZCA9PSAxKSB7Ci0JCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JCVBDRlIgJj0gflBDRlJfUEkyQ0VOOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JfQotfQotCiAjZGVmaW5lIHJlc19sZW4ocikJCSgociktPmVuZCAtIChyKS0+c3RhcnQgKyAxKQogc3RhdGljIGludCBpMmNfcHhhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKIHsKQEAgLTEwMzYsNyArMTAwOSw2IEBACiAjZW5kaWYKIAogCWNsa19lbmFibGUoaTJjLT5jbGspOwotCWkyY19weGFfZW5hYmxlKGRldik7CiAKIAlpZiAocGxhdCkgewogCQlpMmMtPmFkYXAuY2xhc3MgPSBwbGF0LT5jbGFzczsKQEAgLTEwODAsNyArMTA1Miw2IEBACiAJCWZyZWVfaXJxKGlycSwgaTJjKTsKIGVyZXFpcnE6CiAJY2xrX2Rpc2FibGUoaTJjLT5jbGspOwotCWkyY19weGFfZGlzYWJsZShkZXYpOwogCWlvdW5tYXAoaTJjLT5yZWdfYmFzZSk7CiBlcmVtYXA6CiAJY2xrX3B1dChpMmMtPmNsayk7CkBAIC0xMTAzLDcgKzEwNzQsNiBAQAogCiAJY2xrX2Rpc2FibGUoaTJjLT5jbGspOwogCWNsa19wdXQoaTJjLT5jbGspOwotCWkyY19weGFfZGlzYWJsZShkZXYpOwogCiAJaW91bm1hcChpMmMtPnJlZ19iYXNlKTsKIAlyZWxlYXNlX21lbV9yZWdpb24oaTJjLT5pb2Jhc2UsIGkyYy0+aW9zaXplKTsKQEAgLTExMzQsNSArMTEwNCw1IEBACiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBNT0RVTEVfQUxJQVMoInBsYXRmb3JtOnB4YTJ4eC1pMmMiKTsKIAotbW9kdWxlX2luaXQoaTJjX2FkYXBfcHhhX2luaXQpOworc3Vic3lzX2luaXRjYWxsKGkyY19hZGFwX3B4YV9pbml0KTsKIG1vZHVsZV9leGl0KGkyY19hZGFwX3B4YV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtczNjMjQxMC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zM2MyNDEwLmMKaW5kZXggOWU4Yzg3NS4uMDA3MzkwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zM2MyNDEwLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zM2MyNDEwLmMKQEAgLTU5MCw3ICs1OTAsNyBAQAogCQkub3duZXIJCQk9IFRISVNfTU9EVUxFLAogCQkuYWxnbwkJCT0gJnMzYzI0eHhfaTJjX2FsZ29yaXRobSwKIAkJLnJldHJpZXMJCT0gMiwKLQkJLmNsYXNzCQkJPSBJMkNfQ0xBU1NfSFdNT04sCisJCS5jbGFzcwkJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAl9LAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNhdmFnZTQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFkZjRhYi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNhdmFnZTQuYworKysgL2Rldi9udWxsCkBAIC0xLDE4NSArMCwwIEBACi0vKgotICAgIGkyYy1zYXZhZ2U0LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCi0gICAgQ29weXJpZ2h0IChDKSAxOTk4LTIwMDMgIFRoZSBMTSBTZW5zb3JzIFRlYW0KLSAgICBBbGV4YW5kZXIgV29sZCA8YXdvbGRAYmlnZm9vdC5jb20+Ci0gICAgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgotICAgIAotICAgIEJhc2VkIG9uIGkyYy12b29kb28zLmMuCi0KLSAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSovCi0KLS8qIFRoaXMgaW50ZXJmYWNlcyB0byB0aGUgSTJDIGJ1cyBvZiB0aGUgU2F2YWdlNCB0byBnYWluIGFjY2VzcyB0bwotICAgdGhlIEJUODY5IGFuZCBwb3NzaWJseSBvdGhlciBJMkMgZGV2aWNlcy4gVGhlIEREQyBidXMgaXMgbm90Ci0gICB5ZXQgc3VwcG9ydGVkIGJlY2F1c2UgaXRzIHJlZ2lzdGVyIGlzIG5vdCBtZW1vcnktbWFwcGVkLgotKi8KLQotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMtYWxnby1iaXQuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLQotLyogZGV2aWNlIElEcyAqLwotI2RlZmluZSBQQ0lfQ0hJUF9TQVZBR0U0CTB4OEEyMgotI2RlZmluZSBQQ0lfQ0hJUF9TQVZBR0UyMDAwCTB4OTEwMgotCi0jZGVmaW5lIFJFRwkJCTB4ZmYyMAkvKiBTZXJpYWwgUG9ydCAxIFJlZ2lzdGVyICovCi0KLS8qIGJpdCBsb2NhdGlvbnMgaW4gdGhlIHJlZ2lzdGVyICovCi0jZGVmaW5lIEkyQ19FTkFCCQkweDAwMDAwMDIwCi0jZGVmaW5lIEkyQ19TQ0xfT1VUCQkweDAwMDAwMDAxCi0jZGVmaW5lIEkyQ19TREFfT1VUCQkweDAwMDAwMDAyCi0jZGVmaW5lIEkyQ19TQ0xfSU4JCTB4MDAwMDAwMDgKLSNkZWZpbmUgSTJDX1NEQV9JTgkJMHgwMDAwMDAxMAotCi0vKiBkZWxheXMgKi8KLSNkZWZpbmUgQ1lDTEVfREVMQVkJCTEwCi0jZGVmaW5lIFRJTUVPVVQJCQkoSFogLyAyKQotCi0KLXN0YXRpYyB2b2lkIF9faW9tZW0gKmlvYWRkcjsKLQotLyogVGhlIHNhdiBHUElPIHJlZ2lzdGVycyBkb24ndCBoYXZlIGluZGl2aWR1YWwgbWFza3MgZm9yIGVhY2ggYml0Ci0gICBzbyB3ZSBhbHdheXMgaGF2ZSB0byByZWFkIGJlZm9yZSB3cml0aW5nLiAqLwotCi1zdGF0aWMgdm9pZCBiaXRfc2F2aTJjX3NldHNjbCh2b2lkICpkYXRhLCBpbnQgdmFsKQotewotCXVuc2lnbmVkIGludCByOwotCXIgPSByZWFkbChpb2FkZHIgKyBSRUcpOwotCWlmKHZhbCkKLQkJciB8PSBJMkNfU0NMX09VVDsKLQllbHNlCi0JCXIgJj0gfkkyQ19TQ0xfT1VUOwotCXdyaXRlbChyLCBpb2FkZHIgKyBSRUcpOwotCXJlYWRsKGlvYWRkciArIFJFRyk7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi1zdGF0aWMgdm9pZCBiaXRfc2F2aTJjX3NldHNkYSh2b2lkICpkYXRhLCBpbnQgdmFsKQotewotCXVuc2lnbmVkIGludCByOwotCXIgPSByZWFkbChpb2FkZHIgKyBSRUcpOwotCWlmKHZhbCkKLQkJciB8PSBJMkNfU0RBX09VVDsKLQllbHNlCi0JCXIgJj0gfkkyQ19TREFfT1VUOwotCXdyaXRlbChyLCBpb2FkZHIgKyBSRUcpOwotCXJlYWRsKGlvYWRkciArIFJFRyk7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi0vKiBUaGUgR1BJTyBwaW5zIGFyZSBvcGVuIGRyYWluLCBzbyB0aGUgcGlucyBhbHdheXMgcmVtYWluIG91dHB1dHMuCi0gICBXZSByZWx5IG9uIHRoZSBpMmMtYWxnby1iaXQgcm91dGluZXMgdG8gc2V0IHRoZSBwaW5zIGhpZ2ggYmVmb3JlCi0gICByZWFkaW5nIHRoZSBpbnB1dCBmcm9tIG90aGVyIGNoaXBzLiAqLwotCi1zdGF0aWMgaW50IGJpdF9zYXZpMmNfZ2V0c2NsKHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBSRUcpICYgSTJDX1NDTF9JTikpOwotfQotCi1zdGF0aWMgaW50IGJpdF9zYXZpMmNfZ2V0c2RhKHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBSRUcpICYgSTJDX1NEQV9JTikpOwotfQotCi0vKiBDb25maWd1cmVzIHRoZSBjaGlwICovCi0KLXN0YXRpYyBpbnQgY29uZmlnX3M0KHN0cnVjdCBwY2lfZGV2ICpkZXYpCi17Ci0JdW5zaWduZWQgbG9uZyBjYWRyOwotCi0JLyogbWFwIG1lbW9yeSAqLwotCWNhZHIgPSBkZXYtPnJlc291cmNlWzBdLnN0YXJ0OwotCWNhZHIgJj0gUENJX0JBU0VfQUREUkVTU19NRU1fTUFTSzsKLQlpb2FkZHIgPSBpb3JlbWFwX25vY2FjaGUoY2FkciwgMHgwMDgwMDAwKTsKLQlpZiAoaW9hZGRyKSB7Ci0JCS8qIHdyaXRlbCgweDgxNjAsIGlvYWRkciArIFJFRzIpOyAqLwotCQl3cml0ZWwoMHgwMDAwMDAyMCwgaW9hZGRyICsgUkVHKTsKLQkJZGV2X2luZm8oJmRldi0+ZGV2LCAiVXNpbmcgU2F2YWdlNCBhdCAlcFxuIiwgaW9hZGRyKTsKLQkJcmV0dXJuIDA7Ci0JfQotCXJldHVybiAtRU5PREVWOwotfQotCi1zdGF0aWMgc3RydWN0IGkyY19hbGdvX2JpdF9kYXRhIHNhdl9pMmNfYml0X2RhdGEgPSB7Ci0JLnNldHNkYQkJPSBiaXRfc2F2aTJjX3NldHNkYSwKLQkuc2V0c2NsCQk9IGJpdF9zYXZpMmNfc2V0c2NsLAotCS5nZXRzZGEJCT0gYml0X3NhdmkyY19nZXRzZGEsCi0JLmdldHNjbAkJPSBiaXRfc2F2aTJjX2dldHNjbCwKLQkudWRlbGF5CQk9IENZQ0xFX0RFTEFZLAotCS50aW1lb3V0CT0gVElNRU9VVAotfTsKLQotc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzYXZhZ2U0X2kyY19hZGFwdGVyID0gewotCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkuaWQJCT0gSTJDX0hXX0JfU0FWQUdFLAotCS5uYW1lCQk9ICJJMkMgU2F2YWdlNCBhZGFwdGVyIiwKLQkuYWxnb19kYXRhCT0gJnNhdl9pMmNfYml0X2RhdGEsCi19OwotCi1zdGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgc2F2YWdlNF9pZHNbXSBfX2RldmluaXRkYXRhID0gewotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX1MzLCBQQ0lfQ0hJUF9TQVZBR0U0KSB9LAotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX1MzLCBQQ0lfQ0hJUF9TQVZBR0UyMDAwKSB9LAotCXsgMCwgfQotfTsKLQotTU9EVUxFX0RFVklDRV9UQUJMRSAocGNpLCBzYXZhZ2U0X2lkcyk7Ci0KLXN0YXRpYyBpbnQgX19kZXZpbml0IHNhdmFnZTRfcHJvYmUoc3RydWN0IHBjaV9kZXYgKmRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKQotewotCWludCByZXR2YWw7Ci0KLQlyZXR2YWwgPSBjb25maWdfczQoZGV2KTsKLQlpZiAocmV0dmFsKQotCQlyZXR1cm4gcmV0dmFsOwotCi0JLyogc2V0IHVwIHRoZSBzeXNmcyBsaW5rYWdlIHRvIG91ciBwYXJlbnQgZGV2aWNlICovCi0Jc2F2YWdlNF9pMmNfYWRhcHRlci5kZXYucGFyZW50ID0gJmRldi0+ZGV2OwotCi0JcmV0dXJuIGkyY19iaXRfYWRkX2J1cygmc2F2YWdlNF9pMmNfYWRhcHRlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZGV2ZXhpdCBzYXZhZ2U0X3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqZGV2KQotewotCWkyY19kZWxfYWRhcHRlcigmc2F2YWdlNF9pMmNfYWRhcHRlcik7Ci0JaW91bm1hcChpb2FkZHIpOwotfQotCi1zdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgc2F2YWdlNF9kcml2ZXIgPSB7Ci0JLm5hbWUJCT0gInNhdmFnZTRfc21idXMiLAotCS5pZF90YWJsZQk9IHNhdmFnZTRfaWRzLAotCS5wcm9iZQkJPSBzYXZhZ2U0X3Byb2JlLAotCS5yZW1vdmUJCT0gX19kZXZleGl0X3Aoc2F2YWdlNF9yZW1vdmUpLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaTJjX3NhdmFnZTRfaW5pdCh2b2lkKQotewotCXJldHVybiBwY2lfcmVnaXN0ZXJfZHJpdmVyKCZzYXZhZ2U0X2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBpMmNfc2F2YWdlNF9leGl0KHZvaWQpCi17Ci0JcGNpX3VucmVnaXN0ZXJfZHJpdmVyKCZzYXZhZ2U0X2RyaXZlcik7Ci19Ci0KLU1PRFVMRV9BVVRIT1IoIkFsZXhhbmRlciBXb2xkIDxhd29sZEBiaWdmb290LmNvbT4gIgotCQkiYW5kIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4iKTsKLU1PRFVMRV9ERVNDUklQVElPTigiU2F2YWdlNCBJMkMvU01CdXMgZHJpdmVyIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KGkyY19zYXZhZ2U0X2luaXQpOwotbW9kdWxlX2V4aXQoaTJjX3NhdmFnZTRfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpYnl0ZS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaWJ5dGUuYwppbmRleCAxMTQ2MzRkLi40ZGRlZmJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpYnl0ZS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lieXRlLmMKQEAgLTE0Myw3ICsxNDMsNyBAQAogCWNzcl9vdXQzMihzcGVlZCwgU01CX0NTUihhZGFwLFJfU01CX0ZSRVEpKTsKIAljc3Jfb3V0MzIoMCwgU01CX0NTUihhZGFwLFJfU01CX0NPTlRST0wpKTsKIAotCXJldHVybiBpMmNfYWRkX2FkYXB0ZXIoaTJjX2FkYXApOworCXJldHVybiBpMmNfYWRkX251bWJlcmVkX2FkYXB0ZXIoaTJjX2FkYXApOwogfQogCiAKQEAgLTE1NiwxNyArMTU2LDE5IEBACiAJewogCQkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJCS5pZAkJPSBJMkNfSFdfU0lCWVRFLAotCQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkJLmFsZ28JCT0gTlVMTCwKIAkJLmFsZ29fZGF0YQk9ICZzaWJ5dGVfYm9hcmRfZGF0YVswXSwKKwkJLm5yCQk9IDAsCiAJCS5uYW1lCQk9ICJTaUJ5dGUgU01CdXMgMCIsCiAJfSwKIAl7CiAJCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkJLmlkCQk9IEkyQ19IV19TSUJZVEUsCi0JCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCQkuYWxnbwkJPSBOVUxMLAogCQkuYWxnb19kYXRhCT0gJnNpYnl0ZV9ib2FyZF9kYXRhWzFdLAorCQkubnIJCT0gMSwKIAkJLm5hbWUJCT0gIlNpQnl0ZSBTTUJ1cyAxIiwKIAl9LAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNTU5NS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM1NTk1LmMKaW5kZXggOWNhOGY5MS4uZGZjMmQ1ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM1NTk1LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM1NTk1LmMKQEAgLTEsNiArMSw0IEBACiAvKgotICAgIHNpczU1OTUuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDE5OTgsIDE5OTkgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4gYW5kCiAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPgogCkBAIC02Miw2ICs2MCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogc3RhdGljIGludCBibGFja2xpc3RbXSA9IHsKQEAgLTE3NCw2ICsxNzMsMTEgQEAKIAogCS8qIE5COiBXZSBncmFiIGp1c3QgdGhlIHR3byBTTUJ1cyByZWdpc3RlcnMgaGVyZSwgYnV0IHRoaXMgbWF5IHN0aWxsCiAJICogaW50ZXJmZXJlIHdpdGggQUNQSSA6LSggICovCisJcmV0dmFsID0gYWNwaV9jaGVja19yZWdpb24oc2lzNTU5NV9iYXNlICsgU01CX0lOREVYLCAyLAorCQkJCSAgIHNpczU1OTVfZHJpdmVyLm5hbWUpOworCWlmIChyZXR2YWwpCisJCXJldHVybiByZXR2YWw7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKHNpczU1OTVfYmFzZSArIFNNQl9JTkRFWCwgMiwKIAkJCSAgICBzaXM1NTk1X2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZTSVM1NTk1X2Rldi0+ZGV2LCAiU01CdXMgcmVnaXN0ZXJzIDB4JTA0eC0weCUwNHggYWxyZWFkeSBpbiB1c2UhXG4iLApAQCAtMjM2LDcgKzI0MCw3IEBACiAJCXNpczU1OTVfd3JpdGUoU01CX1NUU19ISSwgdGVtcCA+PiA4KTsKIAkJaWYgKCh0ZW1wID0gc2lzNTU5NV9yZWFkKFNNQl9TVFNfTE8pICsgKHNpczU1OTVfcmVhZChTTUJfU1RTX0hJKSA8PCA4KSkgIT0gMHgwMCkgewogCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRmFpbGVkISAoJTAyeClcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfSBlbHNlIHsKIAkJCWRldl9kYmcoJmFkYXAtPmRldiwgIlN1Y2Nlc3NmdWwhXG4iKTsKIAkJfQpAQCAtMjU0LDE5ICsyNTgsMTkgQEAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJfQogCiAJaWYgKHRlbXAgJiAweDEwKSB7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FTlhJTzsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MjApIHsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiQnVzIGNvbGxpc2lvbiEgU01CdXMgbWF5IGJlIGxvY2tlZCB1bnRpbCAiCiAJCQkibmV4dCBoYXJkIHJlc2V0IChvciBub3QuLi4pXG4iKTsKIAkJLyogQ2xvY2sgc3RvcHMgYW5kIHNsYXZlIGlzIHN0dWNrIGluIG1pZC10cmFuc21pc3Npb24gKi8KLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJfQogCiAJdGVtcCA9IHNpczU1OTVfcmVhZChTTUJfU1RTX0xPKSArIChzaXM1NTk1X3JlYWQoU01CX1NUU19ISSkgPDwgOCk7CkBAIC0yODIsMTEgKzI4NiwxMyBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgc2lzNTU5NV9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKIAkJCSAgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKIAkJCSAgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQogeworCWludCBzdGF0dXM7CisKIAlzd2l0Y2ggKHNpemUpIHsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKIAkJc2lzNTU5NV93cml0ZShTTUJfQUREUiwgKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpKTsKQEAgLTMxOCwxMyArMzI0LDE0IEBACiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCXNpczU1OTVfd3JpdGUoU01CX0NUTF9MTywgKChzaXplICYgMHgwRSkpKTsKIAotCWlmIChzaXM1NTk1X3RyYW5zYWN0aW9uKGFkYXApKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gc2lzNTU5NV90cmFuc2FjdGlvbihhZGFwKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKChzaXplICE9IFNJUzU1OTVfUFJPQ19DQUxMKSAmJgogCSAgICAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBTSVM1NTk1X1FVSUNLKSkpCkBAIC0zNTksNyArMzY2LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc2lzNTU5NV9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX1NJUzU1OTUsCi0JLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNjMwLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczYzMC5jCmluZGV4IDM3NjVkZDcuLmU3YzRiNzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNjMwLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM2MzAuYwpAQCAtMSw3ICsxLDQgQEAKIC8qCi0gICAgaTJjLXNpczYzMC5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwotCiAgICAgQ29weXJpZ2h0IChjKSAyMDAyLDIwMDMgQWxleGFuZGVyIE1hbHlzaCA8YW1hbHlzaEB3ZWIuZGU+CiAKICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQpAQCAtNTUsNiArNTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIC8qIFNJUzYzMCBTTUJ1cyByZWdpc3RlcnMgKi8KQEAgLTEzNCw3ICsxMzIsNyBAQAogCiAJCWlmICgodGVtcCA9IHNpczYzMF9yZWFkKFNNQl9DTlQpICYgMHgwMykgIT0gMHgwMCkgewogCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRmFpbGVkISAoJTAyeClcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU3VjY2Vzc2Z1bCFcbiIpOwogCQl9CkBAIC0xNzcsMTcgKzE3NSwxNyBAQAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MDIpIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCX0KIAogCWlmICh0ZW1wICYgMHgwNCkgewogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJCdXMgY29sbGlzaW9uIVxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQkvKgogCQkgIFRCRDogRGF0YXNoZWV0IHNheToKIAkJICB0aGUgc29mdHdhcmUgc2hvdWxkIGNsZWFyIHRoaXMgYml0IGFuZCByZXN0YXJ0IFNNQlVTIG9wZXJhdGlvbi4KQEAgLTI1MCw4ICsyNDgsMTAgQEAKIAkJCWlmIChpPT04IHx8IChsZW48OCAmJiBpPT1sZW4pKSB7CiAJCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAic3RhcnQgdHJhbnMgbGVuPSVkIGk9JWRcbiIsbGVuICxpKTsKIAkJCQkvKiBmaXJzdCB0cmFuc2FjdGlvbiAqLwotCQkJCWlmIChzaXM2MzBfdHJhbnNhY3Rpb25fc3RhcnQoYWRhcCwgU0lTNjMwX0JMT0NLX0RBVEEsICZvbGRjbG9jaykpCi0JCQkJCXJldHVybiAtMTsKKwkJCQlyYyA9IHNpczYzMF90cmFuc2FjdGlvbl9zdGFydChhZGFwLAorCQkJCQkJU0lTNjMwX0JMT0NLX0RBVEEsICZvbGRjbG9jayk7CisJCQkJaWYgKHJjKQorCQkJCQlyZXR1cm4gcmM7CiAJCQl9CiAJCQllbHNlIGlmICgoaS0xKSU4ID09IDcgfHwgaT09bGVuKSB7CiAJCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidHJhbnNfd2FpdCBsZW49JWQgaT0lZFxuIixsZW4saSk7CkBAIC0yNjQsOSArMjY0LDEwIEBACiAJCQkJCSovCiAJCQkJCXNpczYzMF93cml0ZShTTUJfU1RTLDB4MTApOwogCQkJCX0KLQkJCQlpZiAoc2lzNjMwX3RyYW5zYWN0aW9uX3dhaXQoYWRhcCwgU0lTNjMwX0JMT0NLX0RBVEEpKSB7CisJCQkJcmMgPSBzaXM2MzBfdHJhbnNhY3Rpb25fd2FpdChhZGFwLAorCQkJCQkJU0lTNjMwX0JMT0NLX0RBVEEpOworCQkJCWlmIChyYykgewogCQkJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0cmFuc193YWl0IGZhaWxlZFxuIik7Ci0JCQkJCXJjID0gLTE7CiAJCQkJCWJyZWFrOwogCQkJCX0KIAkJCX0KQEAgLTI3NSwxMyArMjc2LDE0IEBACiAJZWxzZSB7CiAJCS8qIHJlYWQgcmVxdWVzdCAqLwogCQlkYXRhLT5ibG9ja1swXSA9IGxlbiA9IDA7Ci0JCWlmIChzaXM2MzBfdHJhbnNhY3Rpb25fc3RhcnQoYWRhcCwgU0lTNjMwX0JMT0NLX0RBVEEsICZvbGRjbG9jaykpIHsKLQkJCXJldHVybiAtMTsKLQkJfQorCQlyYyA9IHNpczYzMF90cmFuc2FjdGlvbl9zdGFydChhZGFwLAorCQkJCVNJUzYzMF9CTE9DS19EQVRBLCAmb2xkY2xvY2spOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CiAJCWRvIHsKLQkJCWlmIChzaXM2MzBfdHJhbnNhY3Rpb25fd2FpdChhZGFwLCBTSVM2MzBfQkxPQ0tfREFUQSkpIHsKKwkJCXJjID0gc2lzNjMwX3RyYW5zYWN0aW9uX3dhaXQoYWRhcCwgU0lTNjMwX0JMT0NLX0RBVEEpOworCQkJaWYgKHJjKSB7CiAJCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidHJhbnNfd2FpdCBmYWlsZWRcbiIpOwotCQkJCXJjID0gLTE7CiAJCQkJYnJlYWs7CiAJCQl9CiAJCQkvKiBpZiB0aGlzIGZpcnN0IHRyYW5zYWN0aW9uIHRoZW4gcmVhZCBieXRlIGNvdW50ICovCkBAIC0zMTEsMTEgKzMxMywxMyBAQAogCXJldHVybiByYzsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBzaXM2MzBfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCiAJCQkgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKIAkJCSB1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCiB7CisJaW50IHN0YXR1czsKKwogCXN3aXRjaCAoc2l6ZSkgewogCQljYXNlIEkyQ19TTUJVU19RVUlDSzoKIAkJCXNpczYzMF93cml0ZShTTUJfQUREUiwgKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpKTsKQEAgLTM1MCwxMyArMzU0LDE0IEBACiAJCQlzaXplID0gU0lTNjMwX0JMT0NLX0RBVEE7CiAJCQlyZXR1cm4gc2lzNjMwX2Jsb2NrX2RhdGEoYWRhcCwgZGF0YSwgcmVhZF93cml0ZSk7CiAJCWRlZmF1bHQ6Ci0JCQlwcmludGsoIlVuc3VwcG9ydGVkIEkyQyBzaXplXG4iKTsKLQkJCXJldHVybiAtMTsKLQkJCWJyZWFrOworCQkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLAorCQkJCSBzaXplKTsKKwkJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKLQlpZiAoc2lzNjMwX3RyYW5zYWN0aW9uKGFkYXAsIHNpemUpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gc2lzNjMwX3RyYW5zYWN0aW9uKGFkYXAsIHNpemUpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHNpemUgIT0gU0lTNjMwX1BDQUxMKSAmJgogCQkoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBTSVM2MzBfUVVJQ0spKSkgewpAQCAtMzcyLDkgKzM3Nyw2IEBACiAJCWNhc2UgU0lTNjMwX1dPUkRfREFUQToKIAkJCWRhdGEtPndvcmQgPSBzaXM2MzBfcmVhZChTTUJfQllURSkgKyAoc2lzNjMwX3JlYWQoU01CX0JZVEUgKyAxKSA8PCA4KTsKIAkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcmV0dXJuIC0xOwotCQkJYnJlYWs7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC00MzMsNiArNDM1LDExIEBACiAKIAlkZXZfZGJnKCZzaXM2MzBfZGV2LT5kZXYsICJBQ1BJIGJhc2UgYXQgMHglMDR4XG4iLCBhY3BpX2Jhc2UpOwogCisJcmV0dmFsID0gYWNwaV9jaGVja19yZWdpb24oYWNwaV9iYXNlICsgU01CX1NUUywgU0lTNjMwX1NNQl9JT1JFR0lPTiwKKwkJCQkgICBzaXM2MzBfZHJpdmVyLm5hbWUpOworCWlmIChyZXR2YWwpCisJCWdvdG8gZXhpdDsKKwogCS8qIEV2ZXJ5dGhpbmcgaXMgaGFwcHksIGxldCdzIGdyYWIgdGhlIG1lbW9yeSBhbmQgc2V0IHRoaW5ncyB1cC4gKi8KIAlpZiAoIXJlcXVlc3RfcmVnaW9uKGFjcGlfYmFzZSArIFNNQl9TVFMsIFNJUzYzMF9TTUJfSU9SRUdJT04sCiAJCQkgICAgc2lzNjMwX2RyaXZlci5uYW1lKSkgewpAQCAtNDU4LDcgKzQ2NSw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHNpczYzMF9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX1NJUzYzMCwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczk2eC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM5NnguYwppbmRleCBkYzIzNWJiLi5mMWJiYTYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczk2eC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzOTZ4LmMKQEAgLTEsNyArMSw0IEBACiAvKgotICAgIHNpczk2eC5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwotCiAgICAgQ29weXJpZ2h0IChjKSAyMDAzIE1hcmsgTS4gSG9mZm1hbiA8bWhvZmZtYW5AbGlnaHRsaW5rLmNvbT4KIAogICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CkBAIC00MCw2ICszNyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogLyogYmFzZSBhZGRyZXNzIHJlZ2lzdGVyIGluIFBDSSBjb25maWcgc3BhY2UgKi8KQEAgLTExMSw3ICsxMDksNyBAQAogCQkvKiBjaGVjayBpdCBhZ2FpbiAqLwogCQlpZiAoKCh0ZW1wID0gc2lzOTZ4X3JlYWQoU01CX0NOVCkpICYgMHgwMykgIT0gMHgwMCkgewogCQkJZGV2X2RiZygmc2lzOTZ4X2FkYXB0ZXIuZGV2LCAiRmFpbGVkICgweCUwMngpXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0gZWxzZSB7CiAJCQlkZXZfZGJnKCZzaXM5NnhfYWRhcHRlci5kZXYsICJTdWNjZXNzZnVsXG4iKTsKIAkJfQpAQCAtMTM2LDE5ICsxMzQsMTkgQEAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CiAJCWRldl9kYmcoJnNpczk2eF9hZGFwdGVyLmRldiwgIlNNQnVzIFRpbWVvdXQhICgweCUwMngpXG4iLCB0ZW1wKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJfQogCiAJLyogZGV2aWNlIGVycm9yIC0gcHJvYmFibHkgbWlzc2luZyBBQ0sgKi8KIAlpZiAodGVtcCAmIDB4MDIpIHsKIAkJZGV2X2RiZygmc2lzOTZ4X2FkYXB0ZXIuZGV2LCAiRmFpbGVkIGJ1cyB0cmFuc2FjdGlvbiFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCX0KIAogCS8qIGJ1cyBjb2xsaXNpb24gKi8KIAlpZiAodGVtcCAmIDB4MDQpIHsKIAkJZGV2X2RiZygmc2lzOTZ4X2FkYXB0ZXIuZGV2LCAiQnVzIGNvbGxpc2lvbiFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAl9CiAKIAkvKiBGaW5pc2ggdXAgYnkgcmVzZXR0aW5nIHRoZSBidXMgKi8KQEAgLTE2MSwxMSArMTU5LDEyIEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBzaXM5NnhfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQkJIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCiAJCQkgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKIHsKKwlpbnQgc3RhdHVzOwogCiAJc3dpdGNoIChzaXplKSB7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CkBAIC0yMDAsMjAgKzE5OSwxNCBAQAogCQkJU0lTOTZ4X1BST0NfQ0FMTCA6IFNJUzk2eF9XT1JEX0RBVEEpOwogCQlicmVhazsKIAotCWNhc2UgSTJDX1NNQlVTX0JMT0NLX0RBVEE6Ci0JCS8qIFRPIERPOiAqLwotCQlkZXZfaW5mbygmYWRhcC0+ZGV2LCAiU01CdXMgYmxvY2sgbm90IGltcGxlbWVudGVkIVxuIik7Ci0JCXJldHVybiAtMTsKLQkJYnJlYWs7Ci0KIAlkZWZhdWx0OgotCQlkZXZfaW5mbygmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgSTJDIHNpemVcbiIpOwotCQlyZXR1cm4gLTE7Ci0JCWJyZWFrOworCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCi0JaWYgKHNpczk2eF90cmFuc2FjdGlvbihzaXplKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IHNpczk2eF90cmFuc2FjdGlvbihzaXplKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKChzaXplICE9IFNJUzk2eF9QUk9DX0NBTEwpICYmCiAJCSgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IFNJUzk2eF9RVUlDSykpKQpAQCAtMjQ5LDcgKzI0Miw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHNpczk2eF9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX1NJUzk2WCwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCkBAIC0yODYsNiArMjc5LDEwIEBACiAJZGV2X2luZm8oJmRldi0+ZGV2LCAiU2lTOTZ4IFNNQnVzIGJhc2UgYWRkcmVzczogMHglMDR4XG4iLAogCQkJc2lzOTZ4X3NtYnVzX2Jhc2UpOwogCisJcmV0dmFsID0gYWNwaV9jaGVja19yZXNvdXJjZV9jb25mbGljdCgmZGV2LT5yZXNvdXJjZVtTSVM5NnhfQkFSXSk7CisJaWYgKHJldHZhbCkKKwkJcmV0dXJuIHJldHZhbDsKKwogCS8qIEV2ZXJ5dGhpbmcgaXMgaGFwcHksIGxldCdzIGdyYWIgdGhlIG1lbW9yeSBhbmQgc2V0IHRoaW5ncyB1cC4gKi8KIAlpZiAoIXJlcXVlc3RfcmVnaW9uKHNpczk2eF9zbWJ1c19iYXNlLCBTTUJfSU9TSVpFLAogCQkJICAgIHNpczk2eF9kcml2ZXIubmFtZSkpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc3R1Yi5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zdHViLmMKaW5kZXggZDA4ZWVlYy4uMWI3YjJhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zdHViLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zdHViLmMKQEAgLTQzLDcgKzQzLDcgQEAKIAogc3RhdGljIHN0cnVjdCBzdHViX2NoaXAgKnN0dWJfY2hpcHM7CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgc3R1Yl94ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLCB1bnNpZ25lZCBzaG9ydCBmbGFncywKIAljaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCiB7CkBAIC0xMjAsNyArMTIwLDcgQEAKIAogCWRlZmF1bHQ6CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIEkyQy9TTUJ1cyBjb21tYW5kXG4iKTsKLQkJcmV0ID0gLTE7CisJCXJldCA9IC1FT1BOT1RTVVBQOwogCQlicmVhazsKIAl9IC8qIHN3aXRjaCAoc2l6ZSkgKi8KIApAQCAtMTQwLDcgKzE0MCw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc3R1Yl9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiAJLm5hbWUJCT0gIlNNQnVzIHN0dWIgZHJpdmVyIiwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXRhb3MtZXZtLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXRhb3MtZXZtLmMKaW5kZXggZGU5ZGI0OS4uMjI0YWExMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy10YW9zLWV2bS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdGFvcy1ldm0uYwpAQCAtOTYsOSArOTYsOCBAQAogCQkJc3ByaW50ZihwLCAiJCUwMlgiLCBjb21tYW5kKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gc2l6ZSAlZFxuIiwKLQkJCXNpemUpOwotCQlyZXR1cm4gLUVJTlZBTDsKKwkJZGV2X3dhcm4oJmFkYXB0ZXItPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCS8qIFNlbmQgdGhlIHRyYW5zYWN0aW9uIHRvIHRoZSBUQU9TIEVWTSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWEuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhLmMKaW5kZXggNjE3MTZmNi4uMjljZWYwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWEuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYS5jCkBAIC0xLDcgKzEsNCBAQAogLyoKLSAgICBpMmMtdmlhLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsICBMaW51eCBrZXJuZWwgbW9kdWxlcwotICAgICAgICAgICAgICAgIGZvciBoYXJkd2FyZSBtb25pdG9yaW5nCi0KICAgICBpMmMgU3VwcG9ydCBmb3IgVmlhIFRlY2hub2xvZ2llcyA4MkM1ODZCIFNvdXRoIEJyaWRnZQogCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4LCAxOTk5IEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+CkBAIC04Nyw3ICs4NCw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHZ0NTg2Yl9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX0JfVklBLAotCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5uYW1lCQk9ICJWSUEgaTJjIiwKIAkuYWxnb19kYXRhCT0gJmJpdF9kYXRhLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhcHJvLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYXByby5jCmluZGV4IDc3YjEzZDAuLjg2MmViMzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhcHJvLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWFwcm8uYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgaTJjLXZpYXByby5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCAtIDIwMDIgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCiAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwgS3nDtnN0aSBNw6Rsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4sCiAgICAgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgpAQCAtNTAsNiArNDgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAqdnQ1OTZfcGRldjsKQEAgLTE1Miw3ICsxNTEsNyBAQAogCQlpZiAoKHRlbXAgPSBpbmJfcChTTUJIU1RTVFMpKSAmIDB4MUYpIHsKIAkJCWRldl9lcnIoJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiU01CdXMgcmVzZXQgZmFpbGVkISAiCiAJCQkJIigweCUwMngpXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0KIAl9CiAKQEAgLTE2NywyNCArMTY2LDI0IEBACiAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCQlkZXZfZXJyKCZ2dDU5Nl9hZGFwdGVyLmRldiwgIlNNQnVzIHRpbWVvdXQhXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MTApIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9lcnIoJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiVHJhbnNhY3Rpb24gZmFpbGVkICgweCUwMngpXG4iLAogCQkJc2l6ZSk7CiAJfQogCiAJaWYgKHRlbXAgJiAweDA4KSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZXJyKCZ2dDU5Nl9hZGFwdGVyLmRldiwgIlNNQnVzIGNvbGxpc2lvbiFcbiIpOwogCX0KIAogCWlmICh0ZW1wICYgMHgwNCkgewogCQlpbnQgcmVhZCA9IGluYl9wKFNNQkhTVEFERCkgJiAweDAxOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCQkvKiBUaGUgcXVpY2sgYW5kIHJlY2VpdmUgYnl0ZSBjb21tYW5kcyBhcmUgdXNlZCB0byBwcm9iZQogCQkgICBmb3IgY2hpcHMsIHNvIGVycm9ycyBhcmUgZXhwZWN0ZWQsIGFuZCB3ZSBkb24ndCB3YW50CiAJCSAgIHRvIGZyaWdodGVuIHRoZSB1c2VyLiAqLwpAQCAtMjAyLDEyICsyMDEsMTMgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IsIDAgb24gc3VjY2VzcyAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MgKi8KIHN0YXRpYyBzMzIgdnQ1OTZfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCiAJCXVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsCiAJCWludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKIHsKIAlpbnQgaTsKKwlpbnQgc3RhdHVzOwogCiAJc3dpdGNoIChzaXplKSB7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CkBAIC0yNTgsOCArMjU4LDkgQEAKIAogCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CiAKLQlpZiAodnQ1OTZfdHJhbnNhY3Rpb24oc2l6ZSkpIC8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSB2dDU5Nl90cmFuc2FjdGlvbihzaXplKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gVlQ1OTZfUVVJQ0spKQogCQlyZXR1cm4gMDsKQEAgLTI4NSw5ICsyODYsOSBAQAogCXJldHVybiAwOwogCiBleGl0X3Vuc3VwcG9ydGVkOgotCWRldl93YXJuKCZ2dDU5Nl9hZGFwdGVyLmRldiwgIlVuc3VwcG9ydGVkIGNvbW1hbmQgaW52b2tlZCEgKDB4JTAyeClcbiIsCisJZGV2X3dhcm4oJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsCiAJCSBzaXplKTsKLQlyZXR1cm4gLTE7CisJcmV0dXJuIC1FT1BOT1RTVVBQOwogfQogCiBzdGF0aWMgdTMyIHZ0NTk2X2Z1bmMoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyKQpAQCAtMzA5LDcgKzMxMCw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHZ0NTk2X2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfVklBMiwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCkBAIC0zNTQsNiArMzU1LDEwIEBACiAJfQogCiBmb3VuZDoKKwllcnJvciA9IGFjcGlfY2hlY2tfcmVnaW9uKHZ0NTk2X3NtYmEsIDgsIHZ0NTk2X2RyaXZlci5uYW1lKTsKKwlpZiAoZXJyb3IpCisJCXJldHVybiBlcnJvcjsKKwogCWlmICghcmVxdWVzdF9yZWdpb24odnQ1OTZfc21iYSwgOCwgdnQ1OTZfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJnBkZXYtPmRldiwgIlNNQnVzIHJlZ2lvbiAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwKIAkJCXZ0NTk2X3NtYmEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12b29kb28zLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZvb2RvbzMuYwppbmRleCA4OGEzNDQ3Li4xZDRhZTI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZvb2RvbzMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZvb2RvbzMuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgdm9vZG9vMy5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCwgMTk5OSAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LAogICAgIFJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4sIGFuZApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL3NjeDIwMF9hY2IuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9zY3gyMDBfYWNiLmMKaW5kZXggNjFhYmUwZi4uZWQ3OTRiMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL3NjeDIwMF9hY2IuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvc2N4MjAwX2FjYi5jCkBAIC00NDIsNyArNDQyLDcgQEAKIAlhZGFwdGVyLT5vd25lciA9IFRISVNfTU9EVUxFOwogCWFkYXB0ZXItPmlkID0gSTJDX0hXX1NNQlVTX1NDWDIwMDsKIAlhZGFwdGVyLT5hbGdvID0gJnNjeDIwMF9hY2JfYWxnb3JpdGhtOwotCWFkYXB0ZXItPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCWFkYXB0ZXItPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlhZGFwdGVyLT5kZXYucGFyZW50ID0gZGV2OwogCiAJbXV0ZXhfaW5pdCgmaWZhY2UtPm11dGV4KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL0tjb25maWcgYi9kcml2ZXJzL2kyYy9jaGlwcy9LY29uZmlnCmluZGV4IDJkYTJlZGYuLjUwZTBhNDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL0tjb25maWcKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvS2NvbmZpZwpAQCAtMTQsNiArMTQsMzIgQEAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIGRzMTY4Mi4KIAorY29uZmlnIEFUMjQKKwl0cmlzdGF0ZSAiRUVQUk9NcyBmcm9tIG1vc3QgdmVuZG9ycyIKKwlkZXBlbmRzIG9uIFNZU0ZTICYmIEVYUEVSSU1FTlRBTAorCWhlbHAKKwkgIEVuYWJsZSB0aGlzIGRyaXZlciB0byBnZXQgcmVhZC93cml0ZSBzdXBwb3J0IHRvIG1vc3QgSTJDIEVFUFJPTXMsCisJICBhZnRlciB5b3UgY29uZmlndXJlIHRoZSBkcml2ZXIgdG8ga25vdyBhYm91dCBlYWNoIEVFUFJPTSBvbgorCSAgeW91ciB0YXJnZXQgYm9hcmQuICBVc2UgdGhlc2UgZ2VuZXJpYyBjaGlwIG5hbWVzLCBpbnN0ZWFkIG9mCisJICB2ZW5kb3Itc3BlY2lmaWMgb25lcyBsaWtlIGF0MjRjNjQgb3IgMjRsYzAyOgorCisJICAgICAyNGMwMCwgMjRjMDEsIDI0YzAyLCBzcGQgKHJlYWRvbmx5IDI0YzAyKSwgMjRjMDQsIDI0YzA4LAorCSAgICAgMjRjMTYsIDI0YzMyLCAyNGM2NCwgMjRjMTI4LCAyNGMyNTYsIDI0YzUxMiwgMjRjMTAyNAorCisJICBVbmxlc3MgeW91IGxpa2UgZGF0YSBsb3NzIHB1enpsZXMsIGFsd2F5cyBiZSBzdXJlIHRoYXQgYW55IGNoaXAKKwkgIHlvdSBjb25maWd1cmUgYXMgYSAyNGMzMiAoMzIga2JpdCkgb3IgbGFyZ2VyIGlzIE5PVCByZWFsbHkgYQorCSAgMjRjMTYgKDE2IGtiaXQpIG9yIHNtYWxsZXIsIGFuZCB2aWNlIHZlcnNhLiBNYXJraW5nIHRoZSBjaGlwCisJICBhcyByZWFkLW9ubHkgd29uJ3QgaGVscCByZWNvdmVyIGZyb20gdGhpcy4gQWxzbywgaWYgeW91ciBjaGlwCisJICBoYXMgYW55IHNvZnR3YXJlIHdyaXRlLXByb3RlY3QgbWVjaGFuaXNtIHlvdSBtYXkgd2FudCB0byByZXZpZXcgdGhlCisJICBjb2RlIHRvIG1ha2Ugc3VyZSB0aGlzIGRyaXZlciB3b24ndCB0dXJuIGl0IG9uIGJ5IGFjY2lkZW50LgorCisJICBJZiB5b3UgdXNlIHRoaXMgd2l0aCBhbiBTTUJ1cyBhZGFwdGVyIGluc3RlYWQgb2YgYW4gSTJDIGFkYXB0ZXIsCisJICBmdWxsIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGF2YWlsYWJsZS4gIE9ubHkgc21hbGxlciBkZXZpY2VzIGFyZQorCSAgc3VwcG9ydGVkICgyNGMxNiBhbmQgYmVsb3csIG1heCA0IGtCeXRlKS4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgYXQyNC4KKwogY29uZmlnIFNFTlNPUlNfRUVQUk9NCiAJdHJpc3RhdGUgIkVFUFJPTSByZWFkZXIiCiAJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKQEAgLTI2LDggKzUyLDggQEAKIAkgIHdpbGwgYmUgY2FsbGVkIGVlcHJvbS4KIAogY29uZmlnIFNFTlNPUlNfUENGODU3NAotCXRyaXN0YXRlICJQaGlsaXBzIFBDRjg1NzQgYW5kIFBDRjg1NzRBIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCisJdHJpc3RhdGUgIlBoaWxpcHMgUENGODU3NCBhbmQgUENGODU3NEEgKERFUFJFQ0FURUQpIgorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIEdQSU9fUENGODU3WCA9ICJuIgogCWRlZmF1bHQgbgogCWhlbHAKIAkgIElmIHlvdSBzYXkgeWVzIGhlcmUgeW91IGdldCBzdXBwb3J0IGZvciBQaGlsaXBzIFBDRjg1NzQgYW5kIApAQCAtMzYsMTIgKzYyLDE2IEBACiAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBwY2Y4NTc0LgogCisJICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIGRyb3BwZWQgc29vbi4gVXNlCisJICBkcml2ZXJzL2dwaW8vcGNmODU3eC5jIGluc3RlYWQuCisKIAkgIFRoZXNlIGRldmljZXMgYXJlIGhhcmQgdG8gZGV0ZWN0IGFuZCByYXJlbHkgZm91bmQgb24gbWFpbnN0cmVhbQogCSAgaGFyZHdhcmUuICBJZiB1bnN1cmUsIHNheSBOLgogCiBjb25maWcgUENGODU3NQotCXRyaXN0YXRlICJQaGlsaXBzIFBDRjg1NzUiCisJdHJpc3RhdGUgIlBoaWxpcHMgUENGODU3NSAoREVQUkVDQVRFRCkiCiAJZGVmYXVsdCBuCisJZGVwZW5kcyBvbiBHUElPX1BDRjg1N1ggPSAibiIKIAloZWxwCiAJICBJZiB5b3Ugc2F5IHllcyBoZXJlIHlvdSBnZXQgc3VwcG9ydCBmb3IgUGhpbGlwcyBQQ0Y4NTc1IGNoaXAuCiAJICBUaGlzIGNoaXAgaXMgYSAxNi1iaXQgSS9PIGV4cGFuZGVyIGZvciB0aGUgSTJDIGJ1cy4gIFNldmVyYWwgb3RoZXIKQEAgLTUwLDEyICs4MCwxNSBAQAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgcGNmODU3NS4KIAorCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBkcm9wcGVkIHNvb24uIFVzZQorCSAgZHJpdmVycy9ncGlvL3BjZjg1N3guYyBpbnN0ZWFkLgorCiAJICBUaGlzIGRldmljZSBpcyBoYXJkIHRvIGRldGVjdCBhbmQgaXMgcmFyZWx5IGZvdW5kIG9uIG1haW5zdHJlYW0KIAkgIGhhcmR3YXJlLiAgSWYgdW5zdXJlLCBzYXkgTi4KIAogY29uZmlnIFNFTlNPUlNfUENBOTUzOQogCXRyaXN0YXRlICJQaGlsaXBzIFBDQTk1MzkgMTYtYml0IEkvTyBwb3J0IChERVBSRUNBVEVEKSIKLQlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBHUElPX1BDQTk1MzkgPSAibiIKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBHUElPX1BDQTk1M1ggPSAibiIKIAloZWxwCiAJICBJZiB5b3Ugc2F5IHllcyBoZXJlIHlvdSBnZXQgc3VwcG9ydCBmb3IgdGhlIFBoaWxpcHMgUENBOTUzOQogCSAgMTYtYml0IEkvTyBwb3J0LgpAQCAtNjQsNyArOTcsNyBAQAogCSAgd2lsbCBiZSBjYWxsZWQgcGNhOTUzOS4KIAogCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBkcm9wcGVkIHNvb24uIFVzZQotCSAgZHJpdmVycy9ncGlvL3BjYTk1MzkuYyBpbnN0ZWFkLgorCSAgZHJpdmVycy9ncGlvL3BjYTk1M3guYyBpbnN0ZWFkLgogCiBjb25maWcgU0VOU09SU19QQ0Y4NTkxCiAJdHJpc3RhdGUgIlBoaWxpcHMgUENGODU5MSIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL01ha2VmaWxlIGIvZHJpdmVycy9pMmMvY2hpcHMvTWFrZWZpbGUKaW5kZXggZTQ3YWNhMC4uMzllM2U2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvTWFrZWZpbGUKQEAgLTEwLDYgKzEwLDcgQEAKICMKIAogb2JqLSQoQ09ORklHX0RTMTY4MikJCSs9IGRzMTY4Mi5vCitvYmotJChDT05GSUdfQVQyNCkJCSs9IGF0MjQubwogb2JqLSQoQ09ORklHX1NFTlNPUlNfRUVQUk9NKQkrPSBlZXByb20ubwogb2JqLSQoQ09ORklHX1NFTlNPUlNfTUFYNjg3NSkJKz0gbWF4Njg3NS5vCiBvYmotJChDT05GSUdfU0VOU09SU19QQ0E5NTM5KQkrPSBwY2E5NTM5Lm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL2F0MjQuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL2F0MjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzY0Yzk0Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvYXQyNC5jCkBAIC0wLDAgKzEsNTgzIEBACisvKgorICogYXQyNC5jIC0gaGFuZGxlIG1vc3QgSTJDIEVFUFJPTXMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAwNyBEYXZpZCBCcm93bmVsbAorICogQ29weXJpZ2h0IChDKSAyMDA4IFdvbGZyYW0gU2FuZywgUGVuZ3V0cm9uaXgKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc3lzZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KKyNpbmNsdWRlIDxsaW51eC9sb2cyLmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy9hdDI0Lmg+CisKKy8qCisgKiBJMkMgRUVQUk9NcyBmcm9tIG1vc3QgdmVuZG9ycyBhcmUgaW5leHBlbnNpdmUgYW5kIG1vc3RseSBpbnRlcmNoYW5nZWFibGUuCisgKiBEaWZmZXJlbmNlcyBiZXR3ZWVuIGRpZmZlcmVudCB2ZW5kb3IgcHJvZHVjdCBsaW5lcyAobGlrZSBBdG1lbCBBVDI0QyBvcgorICogTWljcm9DaGlwIDI0TEMsIGV0Yykgd29uJ3QgbXVjaCBtYXR0ZXIgZm9yIHR5cGljYWwgcmVhZC93cml0ZSBhY2Nlc3MuCisgKiBUaGVyZSBhcmUgYWxzbyBJMkMgUkFNIGNoaXBzLCBsaWtld2lzZSBpbnRlcmNoYW5nZWFibGUuIE9uZSBleGFtcGxlCisgKiB3b3VsZCBiZSB0aGUgUENGODU3MCwgd2hpY2ggYWN0cyBsaWtlIGEgMjRjMDIgRUVQUk9NICgyNTYgYnl0ZXMpLgorICoKKyAqIEhvd2V2ZXIsIG1pc2NvbmZpZ3VyYXRpb24gY2FuIGxvc2UgZGF0YS4gIlNldCAxNi1iaXQgbWVtb3J5IGFkZHJlc3MiCisgKiB0byBhIHBhcnQgd2l0aCA4LWJpdCBhZGRyZXNzaW5nIHdpbGwgb3ZlcndyaXRlIGRhdGEuIFdyaXRpbmcgd2l0aCB0b28KKyAqIGJpZyBhIHBhZ2Ugc2l6ZSBhbHNvIGxvc2VzIGRhdGEuIEFuZCBpdCdzIG5vdCBzYWZlIHRvIGFzc3VtZSB0aGF0IHRoZQorICogY29udmVudGlvbmFsIGFkZHJlc3NlcyAweDUwLi4weDU3IG9ubHkgaG9sZCBlZXByb21zOyBhIFBDRjg1NjMgUlRDCisgKiB1c2VzIDB4NTEsIGZvciBqdXN0IG9uZSBleGFtcGxlLgorICoKKyAqIEFjY29yZGluZ2x5LCBleHBsaWNpdCBib2FyZC1zcGVjaWZpYyBjb25maWd1cmF0aW9uIGRhdGEgc2hvdWxkIGJlIHVzZWQKKyAqIGluIGFsbW9zdCBhbGwgY2FzZXMuIChPbmUgcGFydGlhbCBleGNlcHRpb24gaXMgYW4gU01CdXMgdXNlZCB0byBhY2Nlc3MKKyAqICJTUEQiIGRhdGEgZm9yIERSQU0gc3RpY2tzLiBUaG9zZSBvbmx5IHVzZSAyNGMwMiBFRVBST01zLikKKyAqCisgKiBTbyB0aGlzIGRyaXZlciB1c2VzICJuZXcgc3R5bGUiIEkyQyBkcml2ZXIgYmluZGluZywgZXhwZWN0aW5nIHRvIGJlCisgKiB0b2xkIHdoYXQgZGV2aWNlcyBleGlzdC4gVGhhdCBtYXkgYmUgaW4gYXJjaC9YL21hY2gtWS9ib2FyZC1aLmMgb3IKKyAqIHNpbWlsYXIga2VybmVsLXJlc2lkZW50IHRhYmxlczsgb3IsIGNvbmZpZ3VyYXRpb24gZGF0YSBjb21pbmcgZnJvbQorICogYSBib290bG9hZGVyLgorICoKKyAqIE90aGVyIHRoYW4gYmluZGluZyBtb2RlbCwgY3VycmVudCBkaWZmZXJlbmNlcyBmcm9tICJlZXByb20iIGRyaXZlciBhcmUKKyAqIHRoYXQgdGhpcyBvbmUgaGFuZGxlcyB3cml0ZSBhY2Nlc3MgYW5kIGlzbid0IHJlc3RyaWN0ZWQgdG8gMjRjMDIgZGV2aWNlcy4KKyAqIEl0IGFsc28gaGFuZGxlcyBsYXJnZXIgZGV2aWNlcyAoMzIga2JpdCBhbmQgdXApIHdpdGggdHdvLWJ5dGUgYWRkcmVzc2VzLAorICogd2hpY2ggd29uJ3Qgd29yayBvbiBwdXJlIFNNQnVzIHN5c3RlbXMuCisgKi8KKworc3RydWN0IGF0MjRfZGF0YSB7CisJc3RydWN0IGF0MjRfcGxhdGZvcm1fZGF0YSBjaGlwOworCWJvb2wgdXNlX3NtYnVzOworCisJLyoKKwkgKiBMb2NrIHByb3RlY3RzIGFnYWluc3QgYWN0aXZpdGllcyBmcm9tIG90aGVyIExpbnV4IHRhc2tzLAorCSAqIGJ1dCBub3QgZnJvbSBjaGFuZ2VzIGJ5IG90aGVyIEkyQyBtYXN0ZXJzLgorCSAqLworCXN0cnVjdCBtdXRleCBsb2NrOworCXN0cnVjdCBiaW5fYXR0cmlidXRlIGJpbjsKKworCXU4ICp3cml0ZWJ1ZjsKKwl1bnNpZ25lZCB3cml0ZV9tYXg7CisJdW5zaWduZWQgbnVtX2FkZHJlc3NlczsKKworCS8qCisJICogU29tZSBjaGlwcyB0aWUgdXAgbXVsdGlwbGUgSTJDIGFkZHJlc3NlczsgZHVtbXkgZGV2aWNlcyByZXNlcnZlCisJICogdGhlbSBmb3IgdXMsIGFuZCB3ZSdsbCB1c2UgdGhlbSB3aXRoIFNNQnVzIGNhbGxzLgorCSAqLworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnRbXTsKK307CisKKy8qCisgKiBUaGlzIHBhcmFtZXRlciBpcyB0byBoZWxwIHRoaXMgZHJpdmVyIGF2b2lkIGJsb2NraW5nIG90aGVyIGRyaXZlcnMgb3V0CisgKiBvZiBJMkMgZm9yIHBvdGVudGlhbGx5IHRyb3VibGVzb21lIGFtb3VudHMgb2YgdGltZS4gV2l0aCBhIDEwMCBrSHogSTJDCisgKiBjbG9jaywgb25lIDI1NiBieXRlIHJlYWQgdGFrZXMgYWJvdXQgMS80MyBzZWNvbmQgd2hpY2ggaXMgZXhjZXNzaXZlOworICogYnV0IHRoZSAxLzE3MCBzZWNvbmQgaXQgdGFrZXMgYXQgNDAwIGtIeiBtYXkgYmUgcXVpdGUgcmVhc29uYWJsZTsgYW5kCisgKiBhdCAxIE1IeiAoRm0rKSBhIDEvNDMwIHNlY29uZCBkZWxheSBjb3VsZCBlYXNpbHkgYmUgaW52aXNpYmxlLgorICoKKyAqIFRoaXMgdmFsdWUgaXMgZm9yY2VkIHRvIGJlIGEgcG93ZXIgb2YgdHdvIHNvIHRoYXQgd3JpdGVzIGFsaWduIG9uIHBhZ2VzLgorICovCitzdGF0aWMgdW5zaWduZWQgaW9fbGltaXQgPSAxMjg7Cittb2R1bGVfcGFyYW0oaW9fbGltaXQsIHVpbnQsIDApOworTU9EVUxFX1BBUk1fREVTQyhpb19saW1pdCwgIk1heGltdW0gYnl0ZXMgcGVyIEkvTyAoZGVmYXVsdCAxMjgpIik7CisKKy8qCisgKiBTcGVjcyBvZnRlbiBhbGxvdyA1IG1zZWMgZm9yIGEgcGFnZSB3cml0ZSwgc29tZXRpbWVzIDIwIG1zZWM7CisgKiBpdCdzIGltcG9ydGFudCB0byByZWNvdmVyIGZyb20gd3JpdGUgdGltZW91dHMuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCB3cml0ZV90aW1lb3V0ID0gMjU7Cittb2R1bGVfcGFyYW0od3JpdGVfdGltZW91dCwgdWludCwgMCk7CitNT0RVTEVfUEFSTV9ERVNDKHdyaXRlX3RpbWVvdXQsICJUaW1lIChpbiBtcykgdG8gdHJ5IHdyaXRlcyAoZGVmYXVsdCAyNSkiKTsKKworI2RlZmluZSBBVDI0X1NJWkVfQllURUxFTiA1CisjZGVmaW5lIEFUMjRfU0laRV9GTEFHUyA4CisKKyNkZWZpbmUgQVQyNF9CSVRNQVNLKHgpIChCSVQoeCkgLSAxKQorCisvKiBjcmVhdGUgbm9uLXplcm8gbWFnaWMgdmFsdWUgZm9yIGdpdmVuIGVlcHJvbSBwYXJhbWV0ZXJzICovCisjZGVmaW5lIEFUMjRfREVWSUNFX01BR0lDKF9sZW4sIF9mbGFncykgCQlcCisJKCgxIDw8IEFUMjRfU0laRV9GTEFHUyB8IChfZmxhZ3MpKSAJCVwKKwkgICAgPDwgQVQyNF9TSVpFX0JZVEVMRU4gfCBpbG9nMihfbGVuKSkKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGF0MjRfaWRzW10gPSB7CisJLyogbmVlZHMgOCBhZGRyZXNzZXMgYXMgQTAtQTIgYXJlIGlnbm9yZWQgKi8KKwl7ICIyNGMwMCIsIEFUMjRfREVWSUNFX01BR0lDKDEyOCAvIDgsIEFUMjRfRkxBR19UQUtFOEFERFIpIH0sCisJLyogb2xkIHZhcmlhbnRzIGNhbid0IGJlIGhhbmRsZWQgd2l0aCB0aGlzIGdlbmVyaWMgZW50cnkhICovCisJeyAiMjRjMDEiLCBBVDI0X0RFVklDRV9NQUdJQygxMDI0IC8gOCwgMCkgfSwKKwl7ICIyNGMwMiIsIEFUMjRfREVWSUNFX01BR0lDKDIwNDggLyA4LCAwKSB9LAorCS8qIHNwZCBpcyBhIDI0YzAyIGluIG1lbW9yeSBESU1NcyAqLworCXsgInNwZCIsIEFUMjRfREVWSUNFX01BR0lDKDIwNDggLyA4LAorCQlBVDI0X0ZMQUdfUkVBRE9OTFkgfCBBVDI0X0ZMQUdfSVJVR08pIH0sCisJeyAiMjRjMDQiLCBBVDI0X0RFVklDRV9NQUdJQyg0MDk2IC8gOCwgMCkgfSwKKwkvKiAyNHJmMDggcXVpcmsgaXMgaGFuZGxlZCBhdCBpMmMtY29yZSAqLworCXsgIjI0YzA4IiwgQVQyNF9ERVZJQ0VfTUFHSUMoODE5MiAvIDgsIDApIH0sCisJeyAiMjRjMTYiLCBBVDI0X0RFVklDRV9NQUdJQygxNjM4NCAvIDgsIDApIH0sCisJeyAiMjRjMzIiLCBBVDI0X0RFVklDRV9NQUdJQygzMjc2OCAvIDgsIEFUMjRfRkxBR19BRERSMTYpIH0sCisJeyAiMjRjNjQiLCBBVDI0X0RFVklDRV9NQUdJQyg2NTUzNiAvIDgsIEFUMjRfRkxBR19BRERSMTYpIH0sCisJeyAiMjRjMTI4IiwgQVQyNF9ERVZJQ0VfTUFHSUMoMTMxMDcyIC8gOCwgQVQyNF9GTEFHX0FERFIxNikgfSwKKwl7ICIyNGMyNTYiLCBBVDI0X0RFVklDRV9NQUdJQygyNjIxNDQgLyA4LCBBVDI0X0ZMQUdfQUREUjE2KSB9LAorCXsgIjI0YzUxMiIsIEFUMjRfREVWSUNFX01BR0lDKDUyNDI4OCAvIDgsIEFUMjRfRkxBR19BRERSMTYpIH0sCisJeyAiMjRjMTAyNCIsIEFUMjRfREVWSUNFX01BR0lDKDEwNDg1NzYgLyA4LCBBVDI0X0ZMQUdfQUREUjE2KSB9LAorCXsgImF0MjQiLCAwIH0sCisJeyAvKiBFTkQgT0YgTElTVCAqLyB9Cit9OworTU9EVUxFX0RFVklDRV9UQUJMRShpMmMsIGF0MjRfaWRzKTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoKKyAqIFRoaXMgcm91dGluZSBzdXBwb3J0cyBjaGlwcyB3aGljaCBjb25zdW1lIG11bHRpcGxlIEkyQyBhZGRyZXNzZXMuIEl0CisgKiBjb21wdXRlcyB0aGUgYWRkcmVzc2luZyBpbmZvcm1hdGlvbiB0byBiZSB1c2VkIGZvciBhIGdpdmVuIHIvdyByZXF1ZXN0LgorICogQXNzdW1lcyB0aGF0IHNhbml0eSBjaGVja3MgZm9yIG9mZnNldCBoYXBwZW5lZCBhdCBzeXNmcy1sYXllci4KKyAqLworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50ICphdDI0X3RyYW5zbGF0ZV9vZmZzZXQoc3RydWN0IGF0MjRfZGF0YSAqYXQyNCwKKwkJdW5zaWduZWQgKm9mZnNldCkKK3sKKwl1bnNpZ25lZCBpOworCisJaWYgKGF0MjQtPmNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfQUREUjE2KSB7CisJCWkgPSAqb2Zmc2V0ID4+IDE2OworCQkqb2Zmc2V0ICY9IDB4ZmZmZjsKKwl9IGVsc2UgeworCQlpID0gKm9mZnNldCA+PiA4OworCQkqb2Zmc2V0ICY9IDB4ZmY7CisJfQorCisJcmV0dXJuIGF0MjQtPmNsaWVudFtpXTsKK30KKworc3RhdGljIHNzaXplX3QgYXQyNF9lZXByb21fcmVhZChzdHJ1Y3QgYXQyNF9kYXRhICphdDI0LCBjaGFyICpidWYsCisJCXVuc2lnbmVkIG9mZnNldCwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBpMmNfbXNnIG1zZ1syXTsKKwl1OCBtc2didWZbMl07CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKKwlpbnQgc3RhdHVzLCBpOworCisJbWVtc2V0KG1zZywgMCwgc2l6ZW9mKG1zZykpOworCisJLyoKKwkgKiBSRVZJU0lUIHNvbWUgbXVsdGktYWRkcmVzcyBjaGlwcyBkb24ndCByb2xsb3ZlciBwYWdlIHJlYWRzIHRvCisJICogdGhlIG5leHQgc2xhdmUgYWRkcmVzcywgc28gd2UgbWF5IG5lZWQgdG8gdHJ1bmNhdGUgdGhlIGNvdW50LgorCSAqIFRob3NlIGNoaXBzIG1pZ2h0IG5lZWQgYW5vdGhlciBxdWlyayBmbGFnLgorCSAqCisJICogSWYgdGhlIHJlYWwgaGFyZHdhcmUgdXNlZCBmb3VyIGFkamFjZW50IDI0YzAyIGNoaXBzIGFuZCB0aGF0CisJICogd2VyZSBtaXNjb25maWd1cmVkIGFzIG9uZSAyNGMwOCwgdGhhdCB3b3VsZCBiZSBhIHNpbWlsYXIgZWZmZWN0OgorCSAqIG9uZSAiZWVwcm9tIiBmaWxlIG5vdCBmb3VyLCBidXQgbGFyZ2VyIHJlYWRzIHdvdWxkIGZhaWwgd2hlbgorCSAqIHRoZXkgY3Jvc3NlZCBjZXJ0YWluIHBhZ2VzLgorCSAqLworCisJLyoKKwkgKiBTbGF2ZSBhZGRyZXNzIGFuZCBieXRlIG9mZnNldCBkZXJpdmUgZnJvbSB0aGUgb2Zmc2V0LiBBbHdheXMKKwkgKiBzZXQgdGhlIGJ5dGUgYWRkcmVzczsgb24gYSBtdWx0aS1tYXN0ZXIgYm9hcmQsIGFub3RoZXIgbWFzdGVyCisJICogbWF5IGhhdmUgY2hhbmdlZCB0aGUgY2hpcCdzICJjdXJyZW50IiBhZGRyZXNzIHBvaW50ZXIuCisJICovCisJY2xpZW50ID0gYXQyNF90cmFuc2xhdGVfb2Zmc2V0KGF0MjQsICZvZmZzZXQpOworCisJaWYgKGNvdW50ID4gaW9fbGltaXQpCisJCWNvdW50ID0gaW9fbGltaXQ7CisKKwkvKiBTbWFsbGVyIGVlcHJvbXMgY2FuIHdvcmsgZ2l2ZW4gc29tZSBTTUJ1cyBleHRlbnNpb24gY2FsbHMgKi8KKwlpZiAoYXQyNC0+dXNlX3NtYnVzKSB7CisJCWlmIChjb3VudCA+IEkyQ19TTUJVU19CTE9DS19NQVgpCisJCQljb3VudCA9IEkyQ19TTUJVU19CTE9DS19NQVg7CisJCXN0YXR1cyA9IGkyY19zbWJ1c19yZWFkX2kyY19ibG9ja19kYXRhKGNsaWVudCwgb2Zmc2V0LAorCQkJCWNvdW50LCBidWYpOworCQlkZXZfZGJnKCZjbGllbnQtPmRldiwgInNtYnVzIHJlYWQgJXpkQCVkIC0tPiAlZFxuIiwKKwkJCQljb3VudCwgb2Zmc2V0LCBzdGF0dXMpOworCQlyZXR1cm4gKHN0YXR1cyA8IDApID8gLUVJTyA6IHN0YXR1czsKKwl9CisKKwkvKgorCSAqIFdoZW4gd2UgaGF2ZSBhIGJldHRlciBjaG9pY2UgdGhhbiBTTUJ1cyBjYWxscywgdXNlIGEgY29tYmluZWQKKwkgKiBJMkMgbWVzc2FnZS4gV3JpdGUgYWRkcmVzczsgdGhlbiByZWFkIHVwIHRvIGlvX2xpbWl0IGRhdGEgYnl0ZXMuCisJICogTm90ZSB0aGF0IHJlYWQgcGFnZSByb2xsb3ZlciBoZWxwcyB1cyBoZXJlICh1bmxpa2Ugd3JpdGVzKS4KKwkgKiBtc2didWYgaXMgdTggYW5kIHdpbGwgY2FzdCB0byBvdXIgbmVlZHMuCisJICovCisJaSA9IDA7CisJaWYgKGF0MjQtPmNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfQUREUjE2KQorCQltc2didWZbaSsrXSA9IG9mZnNldCA+PiA4OworCW1zZ2J1ZltpKytdID0gb2Zmc2V0OworCisJbXNnWzBdLmFkZHIgPSBjbGllbnQtPmFkZHI7CisJbXNnWzBdLmJ1ZiA9IG1zZ2J1ZjsKKwltc2dbMF0ubGVuID0gaTsKKworCW1zZ1sxXS5hZGRyID0gY2xpZW50LT5hZGRyOworCW1zZ1sxXS5mbGFncyA9IEkyQ19NX1JEOworCW1zZ1sxXS5idWYgPSBidWY7CisJbXNnWzFdLmxlbiA9IGNvdW50OworCisJc3RhdHVzID0gaTJjX3RyYW5zZmVyKGNsaWVudC0+YWRhcHRlciwgbXNnLCAyKTsKKwlkZXZfZGJnKCZjbGllbnQtPmRldiwgImkyYyByZWFkICV6ZEAlZCAtLT4gJWRcbiIsCisJCQljb3VudCwgb2Zmc2V0LCBzdGF0dXMpOworCisJaWYgKHN0YXR1cyA9PSAyKQorCQlyZXR1cm4gY291bnQ7CisJZWxzZSBpZiAoc3RhdHVzID49IDApCisJCXJldHVybiAtRUlPOworCWVsc2UKKwkJcmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIHNzaXplX3QgYXQyNF9iaW5fcmVhZChzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0IGJpbl9hdHRyaWJ1dGUgKmF0dHIsCisJCWNoYXIgKmJ1ZiwgbG9mZl90IG9mZiwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBhdDI0X2RhdGEgKmF0MjQ7CisJc3NpemVfdCByZXR2YWwgPSAwOworCisJYXQyNCA9IGRldl9nZXRfZHJ2ZGF0YShjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGRldmljZSwga29iaikpOworCisJaWYgKHVubGlrZWx5KCFjb3VudCkpCisJCXJldHVybiBjb3VudDsKKworCS8qCisJICogUmVhZCBkYXRhIGZyb20gY2hpcCwgcHJvdGVjdGluZyBhZ2FpbnN0IGNvbmN1cnJlbnQgdXBkYXRlcworCSAqIGZyb20gdGhpcyBob3N0LCBidXQgbm90IGZyb20gb3RoZXIgSTJDIG1hc3RlcnMuCisJICovCisJbXV0ZXhfbG9jaygmYXQyNC0+bG9jayk7CisKKwl3aGlsZSAoY291bnQpIHsKKwkJc3NpemVfdAlzdGF0dXM7CisKKwkJc3RhdHVzID0gYXQyNF9lZXByb21fcmVhZChhdDI0LCBidWYsIG9mZiwgY291bnQpOworCQlpZiAoc3RhdHVzIDw9IDApIHsKKwkJCWlmIChyZXR2YWwgPT0gMCkKKwkJCQlyZXR2YWwgPSBzdGF0dXM7CisJCQlicmVhazsKKwkJfQorCQlidWYgKz0gc3RhdHVzOworCQlvZmYgKz0gc3RhdHVzOworCQljb3VudCAtPSBzdGF0dXM7CisJCXJldHZhbCArPSBzdGF0dXM7CisJfQorCisJbXV0ZXhfdW5sb2NrKCZhdDI0LT5sb2NrKTsKKworCXJldHVybiByZXR2YWw7Cit9CisKKworLyoKKyAqIFJFVklTSVQ6IGV4cG9ydCBhdDI0X2JpbntyZWFkLHdyaXRlfSgpIHRvIGxldCBvdGhlciBrZXJuZWwgY29kZSB1c2UKKyAqIGVlcHJvbSBkYXRhLiBGb3IgZXhhbXBsZSwgaXQgbWlnaHQgaG9sZCBhIGJvYXJkJ3MgRXRoZXJuZXQgYWRkcmVzcywgb3IKKyAqIGJvYXJkLXNwZWNpZmljIGNhbGlicmF0aW9uIGRhdGEgZ2VuZXJhdGVkIG9uIHRoZSBtYW51ZmFjdHVyaW5nIGZsb29yLgorICovCisKKworLyoKKyAqIE5vdGUgdGhhdCBpZiB0aGUgaGFyZHdhcmUgd3JpdGUtcHJvdGVjdCBwaW4gaXMgcHVsbGVkIGhpZ2gsIHRoZSB3aG9sZQorICogY2hpcCBpcyBub3JtYWxseSB3cml0ZSBwcm90ZWN0ZWQuIEJ1dCB0aGVyZSBhcmUgcGxlbnR5IG9mIHByb2R1Y3QKKyAqIHZhcmlhbnRzIGhlcmUsIGluY2x1ZGluZyBPVFAgZnVzZXMgYW5kIHBhcnRpYWwgY2hpcCBwcm90ZWN0LgorICoKKyAqIFdlIG9ubHkgdXNlIHBhZ2UgbW9kZSB3cml0ZXM7IHRoZSBhbHRlcm5hdGl2ZSBpcyBzbG9vb293LiBUaGlzIHJvdXRpbmUKKyAqIHdyaXRlcyBhdCBtb3N0IG9uZSBwYWdlLgorICovCitzdGF0aWMgc3NpemVfdCBhdDI0X2VlcHJvbV93cml0ZShzdHJ1Y3QgYXQyNF9kYXRhICphdDI0LCBjaGFyICpidWYsCisJCXVuc2lnbmVkIG9mZnNldCwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CisJc3RydWN0IGkyY19tc2cgbXNnOworCXNzaXplX3Qgc3RhdHVzOworCXVuc2lnbmVkIGxvbmcgdGltZW91dCwgd3JpdGVfdGltZTsKKwl1bnNpZ25lZCBuZXh0X3BhZ2U7CisKKwkvKiBHZXQgY29ycmVzcG9uZGluZyBJMkMgYWRkcmVzcyBhbmQgYWRqdXN0IG9mZnNldCAqLworCWNsaWVudCA9IGF0MjRfdHJhbnNsYXRlX29mZnNldChhdDI0LCAmb2Zmc2V0KTsKKworCS8qIHdyaXRlX21heCBpcyBhdCBtb3N0IGEgcGFnZSAqLworCWlmIChjb3VudCA+IGF0MjQtPndyaXRlX21heCkKKwkJY291bnQgPSBhdDI0LT53cml0ZV9tYXg7CisKKwkvKiBOZXZlciByb2xsIG92ZXIgYmFja3dhcmRzLCB0byB0aGUgc3RhcnQgb2YgdGhpcyBwYWdlICovCisJbmV4dF9wYWdlID0gcm91bmR1cChvZmZzZXQgKyAxLCBhdDI0LT5jaGlwLnBhZ2Vfc2l6ZSk7CisJaWYgKG9mZnNldCArIGNvdW50ID4gbmV4dF9wYWdlKQorCQljb3VudCA9IG5leHRfcGFnZSAtIG9mZnNldDsKKworCS8qIElmIHdlJ2xsIHVzZSBJMkMgY2FsbHMgZm9yIEkvTywgc2V0IHVwIHRoZSBtZXNzYWdlICovCisJaWYgKCFhdDI0LT51c2Vfc21idXMpIHsKKwkJaW50IGkgPSAwOworCisJCW1zZy5hZGRyID0gY2xpZW50LT5hZGRyOworCQltc2cuZmxhZ3MgPSAwOworCisJCS8qIG1zZy5idWYgaXMgdTggYW5kIGNhc3RzIHdpbGwgbWFzayB0aGUgdmFsdWVzICovCisJCW1zZy5idWYgPSBhdDI0LT53cml0ZWJ1ZjsKKwkJaWYgKGF0MjQtPmNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfQUREUjE2KQorCQkJbXNnLmJ1ZltpKytdID0gb2Zmc2V0ID4+IDg7CisKKwkJbXNnLmJ1ZltpKytdID0gb2Zmc2V0OworCQltZW1jcHkoJm1zZy5idWZbaV0sIGJ1ZiwgY291bnQpOworCQltc2cubGVuID0gaSArIGNvdW50OworCX0KKworCS8qCisJICogV3JpdGVzIGZhaWwgaWYgdGhlIHByZXZpb3VzIG9uZSBkaWRuJ3QgY29tcGxldGUgeWV0LiBXZSBtYXkKKwkgKiBsb29wIGEgZmV3IHRpbWVzIHVudGlsIHRoaXMgb25lIHN1Y2NlZWRzLCB3YWl0aW5nIGF0IGxlYXN0CisJICogbG9uZyBlbm91Z2ggZm9yIG9uZSBlbnRpcmUgcGFnZSB3cml0ZSB0byB3b3JrLgorCSAqLworCXRpbWVvdXQgPSBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcyh3cml0ZV90aW1lb3V0KTsKKwlkbyB7CisJCXdyaXRlX3RpbWUgPSBqaWZmaWVzOworCQlpZiAoYXQyNC0+dXNlX3NtYnVzKSB7CisJCQlzdGF0dXMgPSBpMmNfc21idXNfd3JpdGVfaTJjX2Jsb2NrX2RhdGEoY2xpZW50LAorCQkJCQlvZmZzZXQsIGNvdW50LCBidWYpOworCQkJaWYgKHN0YXR1cyA9PSAwKQorCQkJCXN0YXR1cyA9IGNvdW50OworCQl9IGVsc2UgeworCQkJc3RhdHVzID0gaTJjX3RyYW5zZmVyKGNsaWVudC0+YWRhcHRlciwgJm1zZywgMSk7CisJCQlpZiAoc3RhdHVzID09IDEpCisJCQkJc3RhdHVzID0gY291bnQ7CisJCX0KKwkJZGV2X2RiZygmY2xpZW50LT5kZXYsICJ3cml0ZSAlemRAJWQgLS0+ICV6ZCAoJWxkKVxuIiwKKwkJCQljb3VudCwgb2Zmc2V0LCBzdGF0dXMsIGppZmZpZXMpOworCisJCWlmIChzdGF0dXMgPT0gY291bnQpCisJCQlyZXR1cm4gY291bnQ7CisKKwkJLyogUkVWSVNJVDogYXQgSFo9MTAwLCB0aGlzIGlzIHNsb29vb3cgKi8KKwkJbXNsZWVwKDEpOworCX0gd2hpbGUgKHRpbWVfYmVmb3JlKHdyaXRlX3RpbWUsIHRpbWVvdXQpKTsKKworCXJldHVybiAtRVRJTUVET1VUOworfQorCitzdGF0aWMgc3NpemVfdCBhdDI0X2Jpbl93cml0ZShzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0IGJpbl9hdHRyaWJ1dGUgKmF0dHIsCisJCWNoYXIgKmJ1ZiwgbG9mZl90IG9mZiwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBhdDI0X2RhdGEgKmF0MjQ7CisJc3NpemVfdCByZXR2YWwgPSAwOworCisJYXQyNCA9IGRldl9nZXRfZHJ2ZGF0YShjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGRldmljZSwga29iaikpOworCisJaWYgKHVubGlrZWx5KCFjb3VudCkpCisJCXJldHVybiBjb3VudDsKKworCS8qCisJICogV3JpdGUgZGF0YSB0byBjaGlwLCBwcm90ZWN0aW5nIGFnYWluc3QgY29uY3VycmVudCB1cGRhdGVzCisJICogZnJvbSB0aGlzIGhvc3QsIGJ1dCBub3QgZnJvbSBvdGhlciBJMkMgbWFzdGVycy4KKwkgKi8KKwltdXRleF9sb2NrKCZhdDI0LT5sb2NrKTsKKworCXdoaWxlIChjb3VudCkgeworCQlzc2l6ZV90CXN0YXR1czsKKworCQlzdGF0dXMgPSBhdDI0X2VlcHJvbV93cml0ZShhdDI0LCBidWYsIG9mZiwgY291bnQpOworCQlpZiAoc3RhdHVzIDw9IDApIHsKKwkJCWlmIChyZXR2YWwgPT0gMCkKKwkJCQlyZXR2YWwgPSBzdGF0dXM7CisJCQlicmVhazsKKwkJfQorCQlidWYgKz0gc3RhdHVzOworCQlvZmYgKz0gc3RhdHVzOworCQljb3VudCAtPSBzdGF0dXM7CisJCXJldHZhbCArPSBzdGF0dXM7CisJfQorCisJbXV0ZXhfdW5sb2NrKCZhdDI0LT5sb2NrKTsKKworCXJldHVybiByZXR2YWw7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBpbnQgYXQyNF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCit7CisJc3RydWN0IGF0MjRfcGxhdGZvcm1fZGF0YSBjaGlwOworCWJvb2wgd3JpdGFibGU7CisJYm9vbCB1c2Vfc21idXMgPSBmYWxzZTsKKwlzdHJ1Y3QgYXQyNF9kYXRhICphdDI0OworCWludCBlcnI7CisJdW5zaWduZWQgaSwgbnVtX2FkZHJlc3NlczsKKwlrZXJuZWxfdWxvbmdfdCBtYWdpYzsKKworCWlmIChjbGllbnQtPmRldi5wbGF0Zm9ybV9kYXRhKSB7CisJCWNoaXAgPSAqKHN0cnVjdCBhdDI0X3BsYXRmb3JtX2RhdGEgKiljbGllbnQtPmRldi5wbGF0Zm9ybV9kYXRhOworCX0gZWxzZSB7CisJCWlmICghaWQtPmRyaXZlcl9kYXRhKSB7CisJCQllcnIgPSAtRU5PREVWOworCQkJZ290byBlcnJfb3V0OworCQl9CisJCW1hZ2ljID0gaWQtPmRyaXZlcl9kYXRhOworCQljaGlwLmJ5dGVfbGVuID0gQklUKG1hZ2ljICYgQVQyNF9CSVRNQVNLKEFUMjRfU0laRV9CWVRFTEVOKSk7CisJCW1hZ2ljID4+PSBBVDI0X1NJWkVfQllURUxFTjsKKwkJY2hpcC5mbGFncyA9IG1hZ2ljICYgQVQyNF9CSVRNQVNLKEFUMjRfU0laRV9GTEFHUyk7CisJCS8qCisJCSAqIFRoaXMgaXMgc2xvdywgYnV0IHdlIGNhbid0IGtub3cgYWxsIGVlcHJvbXMsIHNvIHdlIGJldHRlcgorCQkgKiBwbGF5IHNhZmUuIFNwZWNpZnlpbmcgY3VzdG9tIGVlcHJvbS10eXBlcyB2aWEgcGxhdGZvcm1fZGF0YQorCQkgKiBpcyByZWNvbW1lbmRlZCBhbnlob3cuCisJCSAqLworCQljaGlwLnBhZ2Vfc2l6ZSA9IDE7CisJfQorCisJaWYgKCFpc19wb3dlcl9vZl8yKGNoaXAuYnl0ZV9sZW4pKQorCQlkZXZfd2FybigmY2xpZW50LT5kZXYsCisJCQkiYnl0ZV9sZW4gbG9va3Mgc3VzcGljaW91cyAobm8gcG93ZXIgb2YgMikhXG4iKTsKKwlpZiAoIWlzX3Bvd2VyX29mXzIoY2hpcC5wYWdlX3NpemUpKQorCQlkZXZfd2FybigmY2xpZW50LT5kZXYsCisJCQkicGFnZV9zaXplIGxvb2tzIHN1c3BpY2lvdXMgKG5vIHBvd2VyIG9mIDIpIVxuIik7CisKKwkvKiBVc2UgSTJDIG9wZXJhdGlvbnMgdW5sZXNzIHdlJ3JlIHN0dWNrIHdpdGggU01CdXMgZXh0ZW5zaW9ucy4gKi8KKwlpZiAoIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGNsaWVudC0+YWRhcHRlciwgSTJDX0ZVTkNfSTJDKSkgeworCQlpZiAoY2hpcC5mbGFncyAmIEFUMjRfRkxBR19BRERSMTYpIHsKKwkJCWVyciA9IC1FUEZOT1NVUFBPUlQ7CisJCQlnb3RvIGVycl9vdXQ7CisJCX0KKwkJaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShjbGllbnQtPmFkYXB0ZXIsCisJCQkJSTJDX0ZVTkNfU01CVVNfUkVBRF9JMkNfQkxPQ0spKSB7CisJCQllcnIgPSAtRVBGTk9TVVBQT1JUOworCQkJZ290byBlcnJfb3V0OworCQl9CisJCXVzZV9zbWJ1cyA9IHRydWU7CisJfQorCisJaWYgKGNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfVEFLRThBRERSKQorCQludW1fYWRkcmVzc2VzID0gODsKKwllbHNlCisJCW51bV9hZGRyZXNzZXMgPQlESVZfUk9VTkRfVVAoY2hpcC5ieXRlX2xlbiwKKwkJCShjaGlwLmZsYWdzICYgQVQyNF9GTEFHX0FERFIxNikgPyA2NTUzNiA6IDI1Nik7CisKKwlhdDI0ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGF0MjRfZGF0YSkgKworCQludW1fYWRkcmVzc2VzICogc2l6ZW9mKHN0cnVjdCBpMmNfY2xpZW50ICopLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWF0MjQpIHsKKwkJZXJyID0gLUVOT01FTTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCW11dGV4X2luaXQoJmF0MjQtPmxvY2spOworCWF0MjQtPnVzZV9zbWJ1cyA9IHVzZV9zbWJ1czsKKwlhdDI0LT5jaGlwID0gY2hpcDsKKwlhdDI0LT5udW1fYWRkcmVzc2VzID0gbnVtX2FkZHJlc3NlczsKKworCS8qCisJICogRXhwb3J0IHRoZSBFRVBST00gYnl0ZXMgdGhyb3VnaCBzeXNmcywgc2luY2UgdGhhdCdzIGNvbnZlbmllbnQuCisJICogQnkgZGVmYXVsdCwgb25seSByb290IHNob3VsZCBzZWUgdGhlIGRhdGEgKG1heWJlIHBhc3N3b3JkcyBldGMpCisJICovCisJYXQyNC0+YmluLmF0dHIubmFtZSA9ICJlZXByb20iOworCWF0MjQtPmJpbi5hdHRyLm1vZGUgPSBjaGlwLmZsYWdzICYgQVQyNF9GTEFHX0lSVUdPID8gU19JUlVHTyA6IFNfSVJVU1I7CisJYXQyNC0+YmluLmF0dHIub3duZXIgPSBUSElTX01PRFVMRTsKKwlhdDI0LT5iaW4ucmVhZCA9IGF0MjRfYmluX3JlYWQ7CisJYXQyNC0+YmluLnNpemUgPSBjaGlwLmJ5dGVfbGVuOworCisJd3JpdGFibGUgPSAhKGNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfUkVBRE9OTFkpOworCWlmICh3cml0YWJsZSkgeworCQlpZiAoIXVzZV9zbWJ1cyB8fCBpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShjbGllbnQtPmFkYXB0ZXIsCisJCQkJSTJDX0ZVTkNfU01CVVNfV1JJVEVfSTJDX0JMT0NLKSkgeworCisJCQl1bnNpZ25lZCB3cml0ZV9tYXggPSBjaGlwLnBhZ2Vfc2l6ZTsKKworCQkJYXQyNC0+YmluLndyaXRlID0gYXQyNF9iaW5fd3JpdGU7CisJCQlhdDI0LT5iaW4uYXR0ci5tb2RlIHw9IFNfSVdVU1I7CisKKwkJCWlmICh3cml0ZV9tYXggPiBpb19saW1pdCkKKwkJCQl3cml0ZV9tYXggPSBpb19saW1pdDsKKwkJCWlmICh1c2Vfc21idXMgJiYgd3JpdGVfbWF4ID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKKwkJCQl3cml0ZV9tYXggPSBJMkNfU01CVVNfQkxPQ0tfTUFYOworCQkJYXQyNC0+d3JpdGVfbWF4ID0gd3JpdGVfbWF4OworCisJCQkvKiBidWZmZXIgKGRhdGEgKyBhZGRyZXNzIGF0IHRoZSBiZWdpbm5pbmcpICovCisJCQlhdDI0LT53cml0ZWJ1ZiA9IGttYWxsb2Mod3JpdGVfbWF4ICsgMiwgR0ZQX0tFUk5FTCk7CisJCQlpZiAoIWF0MjQtPndyaXRlYnVmKSB7CisJCQkJZXJyID0gLUVOT01FTTsKKwkJCQlnb3RvIGVycl9zdHJ1Y3Q7CisJCQl9CisJCX0gZWxzZSB7CisJCQlkZXZfd2FybigmY2xpZW50LT5kZXYsCisJCQkJImNhbm5vdCB3cml0ZSBkdWUgdG8gY29udHJvbGxlciByZXN0cmljdGlvbnMuIik7CisJCX0KKwl9CisKKwlhdDI0LT5jbGllbnRbMF0gPSBjbGllbnQ7CisKKwkvKiB1c2UgZHVtbXkgZGV2aWNlcyBmb3IgbXVsdGlwbGUtYWRkcmVzcyBjaGlwcyAqLworCWZvciAoaSA9IDE7IGkgPCBudW1fYWRkcmVzc2VzOyBpKyspIHsKKwkJYXQyNC0+Y2xpZW50W2ldID0gaTJjX25ld19kdW1teShjbGllbnQtPmFkYXB0ZXIsCisJCQkJCWNsaWVudC0+YWRkciArIGkpOworCQlpZiAoIWF0MjQtPmNsaWVudFtpXSkgeworCQkJZGV2X2VycigmY2xpZW50LT5kZXYsICJhZGRyZXNzIDB4JTAyeCB1bmF2YWlsYWJsZVxuIiwKKwkJCQkJY2xpZW50LT5hZGRyICsgaSk7CisJCQllcnIgPSAtRUFERFJJTlVTRTsKKwkJCWdvdG8gZXJyX2NsaWVudHM7CisJCX0KKwl9CisKKwllcnIgPSBzeXNmc19jcmVhdGVfYmluX2ZpbGUoJmNsaWVudC0+ZGV2LmtvYmosICZhdDI0LT5iaW4pOworCWlmIChlcnIpCisJCWdvdG8gZXJyX2NsaWVudHM7CisKKwlpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCBhdDI0KTsKKworCWRldl9pbmZvKCZjbGllbnQtPmRldiwgIiVaZCBieXRlICVzIEVFUFJPTSAlc1xuIiwKKwkJYXQyNC0+YmluLnNpemUsIGNsaWVudC0+bmFtZSwKKwkJd3JpdGFibGUgPyAiKHdyaXRhYmxlKSIgOiAiKHJlYWQtb25seSkiKTsKKwlkZXZfZGJnKCZjbGllbnQtPmRldiwKKwkJInBhZ2Vfc2l6ZSAlZCwgbnVtX2FkZHJlc3NlcyAlZCwgd3JpdGVfbWF4ICVkJXNcbiIsCisJCWNoaXAucGFnZV9zaXplLCBudW1fYWRkcmVzc2VzLAorCQlhdDI0LT53cml0ZV9tYXgsCisJCXVzZV9zbWJ1cyA/ICIsIHVzZV9zbWJ1cyIgOiAiIik7CisKKwlyZXR1cm4gMDsKKworZXJyX2NsaWVudHM6CisJZm9yIChpID0gMTsgaSA8IG51bV9hZGRyZXNzZXM7IGkrKykKKwkJaWYgKGF0MjQtPmNsaWVudFtpXSkKKwkJCWkyY191bnJlZ2lzdGVyX2RldmljZShhdDI0LT5jbGllbnRbaV0pOworCisJa2ZyZWUoYXQyNC0+d3JpdGVidWYpOworZXJyX3N0cnVjdDoKKwlrZnJlZShhdDI0KTsKK2Vycl9vdXQ6CisJZGV2X2RiZygmY2xpZW50LT5kZXYsICJwcm9iZSBlcnJvciAlZFxuIiwgZXJyKTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgaW50IF9fZGV2ZXhpdCBhdDI0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQoreworCXN0cnVjdCBhdDI0X2RhdGEgKmF0MjQ7CisJaW50IGk7CisKKwlhdDI0ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7CisJc3lzZnNfcmVtb3ZlX2Jpbl9maWxlKCZjbGllbnQtPmRldi5rb2JqLCAmYXQyNC0+YmluKTsKKworCWZvciAoaSA9IDE7IGkgPCBhdDI0LT5udW1fYWRkcmVzc2VzOyBpKyspCisJCWkyY191bnJlZ2lzdGVyX2RldmljZShhdDI0LT5jbGllbnRbaV0pOworCisJa2ZyZWUoYXQyNC0+d3JpdGVidWYpOworCWtmcmVlKGF0MjQpOworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIE5VTEwpOworCXJldHVybiAwOworfQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgYXQyNF9kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAiYXQyNCIsCisJCS5vd25lciA9IFRISVNfTU9EVUxFLAorCX0sCisJLnByb2JlID0gYXQyNF9wcm9iZSwKKwkucmVtb3ZlID0gX19kZXZleGl0X3AoYXQyNF9yZW1vdmUpLAorCS5pZF90YWJsZSA9IGF0MjRfaWRzLAorfTsKKworc3RhdGljIGludCBfX2luaXQgYXQyNF9pbml0KHZvaWQpCit7CisJaW9fbGltaXQgPSByb3VuZGRvd25fcG93X29mX3R3byhpb19saW1pdCk7CisJcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZhdDI0X2RyaXZlcik7Cit9Cittb2R1bGVfaW5pdChhdDI0X2luaXQpOworCitzdGF0aWMgdm9pZCBfX2V4aXQgYXQyNF9leGl0KHZvaWQpCit7CisJaTJjX2RlbF9kcml2ZXIoJmF0MjRfZHJpdmVyKTsKK30KK21vZHVsZV9leGl0KGF0MjRfZXhpdCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiRHJpdmVyIGZvciBtb3N0IEkyQyBFRVBST01zIik7CitNT0RVTEVfQVVUSE9SKCJEYXZpZCBCcm93bmVsbCBhbmQgV29sZnJhbSBTYW5nIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9jaGlwcy9lZXByb20uYyBiL2RyaXZlcnMvaTJjL2NoaXBzL2VlcHJvbS5jCmluZGV4IDdkZWUwMDEuLjM3M2VhOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL2VlcHJvbS5jCisrKyBiL2RyaXZlcnMvaTJjL2NoaXBzL2VlcHJvbS5jCkBAIC0xLDE1ICsxLDkgQEAKIC8qCi0gICAgZWVwcm9tLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoQykgMTk5OCwgMTk5OSAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiBhbmQKIAkJCSAgICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+CiAgICAgQ29weXJpZ2h0IChDKSAyMDAzIEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ0Brcm9haC5jb20+CiAgICAgQ29weXJpZ2h0IChDKSAyMDAzIElCTSBDb3JwLgotCi0gICAgMjAwNC0wMS0xNiAgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+Ci0gICAgRGl2aWRlIHRoZSBlZXByb20gaW4gMzItYnl0ZSAoYXJiaXRyYXJ5KSBzbGljZXMuIFRoaXMgc2lnbmlmaWNhbnRseQotICAgIHNwZWVkcyBzZW5zb3JzIHVwLCBhcyB3ZWxsIGFzIHZhcmlvdXMgc2NyaXB0cyB1c2luZyB0aGUgZWVwcm9tCi0gICAgbW9kdWxlLgorICAgIENvcHlyaWdodCAoQykgMjAwNCBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KIAogICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKQEAgLTc4LDcgKzcyLDcgQEAKIHN0YXRpYyB2b2lkIGVlcHJvbV91cGRhdGVfY2xpZW50KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IHNsaWNlKQogewogCXN0cnVjdCBlZXByb21fZGF0YSAqZGF0YSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwotCWludCBpLCBqOworCWludCBpOwogCiAJbXV0ZXhfbG9jaygmZGF0YS0+dXBkYXRlX2xvY2spOwogCkBAIC05MywxNSArODcsMTIgQEAKIAkJCQkJCQkhPSAzMikKIAkJCQkJZ290byBleGl0OwogCQl9IGVsc2UgewotCQkJaWYgKGkyY19zbWJ1c193cml0ZV9ieXRlKGNsaWVudCwgc2xpY2UgPDwgNSkpIHsKLQkJCQlkZXZfZGJnKCZjbGllbnQtPmRldiwgImVlcHJvbSByZWFkIHN0YXJ0IGhhcyBmYWlsZWQhXG4iKTsKLQkJCQlnb3RvIGV4aXQ7Ci0JCQl9Ci0JCQlmb3IgKGkgPSBzbGljZSA8PCA1OyBpIDwgKHNsaWNlICsgMSkgPDwgNTsgaSsrKSB7Ci0JCQkJaiA9IGkyY19zbWJ1c19yZWFkX2J5dGUoY2xpZW50KTsKLQkJCQlpZiAoaiA8IDApCisJCQlmb3IgKGkgPSBzbGljZSA8PCA1OyBpIDwgKHNsaWNlICsgMSkgPDwgNTsgaSArPSAyKSB7CisJCQkJaW50IHdvcmQgPSBpMmNfc21idXNfcmVhZF93b3JkX2RhdGEoY2xpZW50LCBpKTsKKwkJCQlpZiAod29yZCA8IDApCiAJCQkJCWdvdG8gZXhpdDsKLQkJCQlkYXRhLT5kYXRhW2ldID0gKHU4KSBqOworCQkJCWRhdGEtPmRhdGFbaV0gPSB3b3JkICYgMHhmZjsKKwkJCQlkYXRhLT5kYXRhW2kgKyAxXSA9IHdvcmQgPj4gODsKIAkJCX0KIAkJfQogCQlkYXRhLT5sYXN0X3VwZGF0ZWRbc2xpY2VdID0gamlmZmllczsKQEAgLTE1OSwyNCArMTUwLDMzIEBACiAKIHN0YXRpYyBpbnQgZWVwcm9tX2F0dGFjaF9hZGFwdGVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlcikKIHsKKwlpZiAoIShhZGFwdGVyLT5jbGFzcyAmIChJMkNfQ0xBU1NfRERDIHwgSTJDX0NMQVNTX1NQRCkpKQorCQlyZXR1cm4gMDsKIAlyZXR1cm4gaTJjX3Byb2JlKGFkYXB0ZXIsICZhZGRyX2RhdGEsIGVlcHJvbV9kZXRlY3QpOwogfQogCiAvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBpMmNfcHJvYmUgKi8KIHN0YXRpYyBpbnQgZWVwcm9tX2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGludCBhZGRyZXNzLCBpbnQga2luZCkKIHsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAqbmV3X2NsaWVudDsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OwogCXN0cnVjdCBlZXByb21fZGF0YSAqZGF0YTsKIAlpbnQgZXJyID0gMDsKIAotCS8qIFRoZXJlIGFyZSB0aHJlZSB3YXlzIHdlIGNhbiByZWFkIHRoZSBFRVBST00gZGF0YToKKwkvKiBFRElEIEVFUFJPTXMgYXJlIG9mdGVuIDI0QzAwIEVFUFJPTXMsIHdoaWNoIGFuc3dlciB0byBhbGwKKwkgICBhZGRyZXNzZXMgMHg1MC0weDU3LCBidXQgd2Ugb25seSBjYXJlIGFib3V0IDB4NTAuIFNvIGRlY2xpbmUKKwkgICBhdHRhY2hpbmcgdG8gYWRkcmVzc2VzID49IDB4NTEgb24gRERDIGJ1c2VzICovCisJaWYgKCEoYWRhcHRlci0+Y2xhc3MgJiBJMkNfQ0xBU1NfU1BEKSAmJiBhZGRyZXNzID49IDB4NTEpCisJCWdvdG8gZXhpdDsKKworCS8qIFRoZXJlIGFyZSBmb3VyIHdheXMgd2UgY2FuIHJlYWQgdGhlIEVFUFJPTSBkYXRhOgogCSAgICgxKSBJMkMgYmxvY2sgcmVhZHMgKGZhc3RlciwgYnV0IHVuc3VwcG9ydGVkIGJ5IG1vc3QgYWRhcHRlcnMpCi0JICAgKDIpIENvbnNlY3V0aXZlIGJ5dGUgcmVhZHMgKDEwMCUgb3ZlcmhlYWQpCi0JICAgKDMpIFJlZ3VsYXIgYnl0ZSBkYXRhIHJlYWRzICgyMDAlIG92ZXJoZWFkKQotCSAgIFRoZSB0aGlyZCBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkIGJ5IHRoaXMgZHJpdmVyIGJlY2F1c2UgYWxsCi0JICAga25vd24gYWRhcHRlcnMgc3VwcG9ydCBhdCBsZWFzdCB0aGUgc2Vjb25kLiAqLwotCWlmICghaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoYWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfUkVBRF9CWVRFX0RBVEEKLQkJCQkJICAgIHwgSTJDX0ZVTkNfU01CVVNfQllURSkpCisJICAgKDIpIFdvcmQgcmVhZHMgKDEyOCUgb3ZlcmhlYWQpCisJICAgKDMpIENvbnNlY3V0aXZlIGJ5dGUgcmVhZHMgKDg4JSBvdmVyaGVhZCwgdW5zYWZlKQorCSAgICg0KSBSZWd1bGFyIGJ5dGUgZGF0YSByZWFkcyAoMjY1JSBvdmVyaGVhZCkKKwkgICBUaGUgdGhpcmQgYW5kIGZvdXJ0aCBtZXRob2RzIGFyZSBub3QgaW1wbGVtZW50ZWQgYnkgdGhpcyBkcml2ZXIKKwkgICBiZWNhdXNlIGFsbCBrbm93biBhZGFwdGVycyBzdXBwb3J0IG9uZSBvZiB0aGUgZmlyc3QgdHdvLiAqLworCWlmICghaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoYWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfUkVBRF9XT1JEX0RBVEEpCisJICYmICFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19SRUFEX0kyQ19CTE9DSykpCiAJCWdvdG8gZXhpdDsKIAogCWlmICghKGRhdGEgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZWVwcm9tX2RhdGEpLCBHRlBfS0VSTkVMKSkpIHsKQEAgLTE4NCw1MCArMTg0LDQ5IEBACiAJCWdvdG8gZXhpdDsKIAl9CiAKLQluZXdfY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKKwljbGllbnQgPSAmZGF0YS0+Y2xpZW50OwogCW1lbXNldChkYXRhLT5kYXRhLCAweGZmLCBFRVBST01fU0laRSk7Ci0JaTJjX3NldF9jbGllbnRkYXRhKG5ld19jbGllbnQsIGRhdGEpOwotCW5ld19jbGllbnQtPmFkZHIgPSBhZGRyZXNzOwotCW5ld19jbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOwotCW5ld19jbGllbnQtPmRyaXZlciA9ICZlZXByb21fZHJpdmVyOwotCW5ld19jbGllbnQtPmZsYWdzID0gMDsKKwlpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCBkYXRhKTsKKwljbGllbnQtPmFkZHIgPSBhZGRyZXNzOworCWNsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CisJY2xpZW50LT5kcml2ZXIgPSAmZWVwcm9tX2RyaXZlcjsKIAogCS8qIEZpbGwgaW4gdGhlIHJlbWFpbmluZyBjbGllbnQgZmllbGRzICovCi0Jc3RybGNweShuZXdfY2xpZW50LT5uYW1lLCAiZWVwcm9tIiwgSTJDX05BTUVfU0laRSk7Ci0JZGF0YS0+dmFsaWQgPSAwOworCXN0cmxjcHkoY2xpZW50LT5uYW1lLCAiZWVwcm9tIiwgSTJDX05BTUVfU0laRSk7CiAJbXV0ZXhfaW5pdCgmZGF0YS0+dXBkYXRlX2xvY2spOwogCWRhdGEtPm5hdHVyZSA9IFVOS05PV047CiAKIAkvKiBUZWxsIHRoZSBJMkMgbGF5ZXIgYSBuZXcgY2xpZW50IGhhcyBhcnJpdmVkICovCi0JaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChuZXdfY2xpZW50KSkpCisJaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChjbGllbnQpKSkKIAkJZ290byBleGl0X2tmcmVlOwogCiAJLyogRGV0ZWN0IHRoZSBWYWlvIG5hdHVyZSBvZiBFRVBST01zLgogCSAgIFdlIHVzZSB0aGUgIlBDRy0iIG9yICJWR04tIiBwcmVmaXggYXMgdGhlIHNpZ25hdHVyZS4gKi8KLQlpZiAoYWRkcmVzcyA9PSAweDU3KSB7CisJaWYgKGFkZHJlc3MgPT0gMHg1NworCSAmJiBpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19SRUFEX0JZVEVfREFUQSkpIHsKIAkJY2hhciBuYW1lWzRdOwogCi0JCW5hbWVbMF0gPSBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEobmV3X2NsaWVudCwgMHg4MCk7Ci0JCW5hbWVbMV0gPSBpMmNfc21idXNfcmVhZF9ieXRlKG5ld19jbGllbnQpOwotCQluYW1lWzJdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZShuZXdfY2xpZW50KTsKLQkJbmFtZVszXSA9IGkyY19zbWJ1c19yZWFkX2J5dGUobmV3X2NsaWVudCk7CisJCW5hbWVbMF0gPSBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCAweDgwKTsKKwkJbmFtZVsxXSA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDB4ODEpOworCQluYW1lWzJdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgMHg4Mik7CisJCW5hbWVbM10gPSBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCAweDgzKTsKIAogCQlpZiAoIW1lbWNtcChuYW1lLCAiUENHLSIsIDQpIHx8ICFtZW1jbXAobmFtZSwgIlZHTi0iLCA0KSkgewotCQkJZGV2X2luZm8oJm5ld19jbGllbnQtPmRldiwgIlZhaW8gRUVQUk9NIGRldGVjdGVkLCAiCisJCQlkZXZfaW5mbygmY2xpZW50LT5kZXYsICJWYWlvIEVFUFJPTSBkZXRlY3RlZCwgIgogCQkJCSAiZW5hYmxpbmcgcHJpdmFjeSBwcm90ZWN0aW9uXG4iKTsKIAkJCWRhdGEtPm5hdHVyZSA9IFZBSU87CiAJCX0KIAl9CiAKIAkvKiBjcmVhdGUgdGhlIHN5c2ZzIGVlcHJvbSBmaWxlICovCi0JZXJyID0gc3lzZnNfY3JlYXRlX2Jpbl9maWxlKCZuZXdfY2xpZW50LT5kZXYua29iaiwgJmVlcHJvbV9hdHRyKTsKKwllcnIgPSBzeXNmc19jcmVhdGVfYmluX2ZpbGUoJmNsaWVudC0+ZGV2LmtvYmosICZlZXByb21fYXR0cik7CiAJaWYgKGVycikKIAkJZ290byBleGl0X2RldGFjaDsKIAogCXJldHVybiAwOwogCiBleGl0X2RldGFjaDoKLQlpMmNfZGV0YWNoX2NsaWVudChuZXdfY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOwogZXhpdF9rZnJlZToKIAlrZnJlZShkYXRhKTsKIGV4aXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9jaGlwcy9pc3AxMzAxX29tYXAuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL2lzcDEzMDFfb21hcC5jCmluZGV4IGIxYjQ1ZGQuLjAzYTMzZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL2lzcDEzMDFfb21hcC5jCisrKyBiL2RyaXZlcnMvaTJjL2NoaXBzL2lzcDEzMDFfb21hcC5jCkBAIC03Miw3ICs3Miw3IEBACiB9OwogCiAKLS8qIGJpdHMgaW4gT1RHX0NUUkxfUkVHICovCisvKiBiaXRzIGluIE9UR19DVFJMICovCiAKICNkZWZpbmUJT1RHX1hDRUlWX09VVFBVVFMgXAogCShPVEdfQVNFU1NWTER8T1RHX0JTRVNTRU5EfE9UR19CU0VTU1ZMRHxPVEdfVkJVU1ZMRHxPVEdfSUQpCkBAIC0xODYsOCArMTg2LDggQEAKIAogLyogb3BlcmF0aW9uYWwgcmVnaXN0ZXJzICovCiAjZGVmaW5lCUlTUDEzMDFfTU9ERV9DT05UUk9MXzEJCTB4MDQJLyogdTggcmVhZCwgc2V0LCArMSBjbGVhciAqLwotIwlkZWZpbmUJTUMxX1NQRUVEX1JFRwkJKDEgPDwgMCkKLSMJZGVmaW5lCU1DMV9TVVNQRU5EX1JFRwkJKDEgPDwgMSkKKyMJZGVmaW5lCU1DMV9TUEVFRAkJKDEgPDwgMCkKKyMJZGVmaW5lCU1DMV9TVVNQRU5ECQkoMSA8PCAxKQogIwlkZWZpbmUJTUMxX0RBVF9TRTAJCSgxIDw8IDIpCiAjCWRlZmluZQlNQzFfVFJBTlNQQVJFTlQJCSgxIDw8IDMpCiAjCWRlZmluZQlNQzFfQkRJU19BQ09OX0VOCSgxIDw8IDQpCkBAIC0yNzQsNyArMjc0LDcgQEAKIAlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9VTkRFRklORUQ7CiAKIAkvLyBpc3AxMzAxX3NldF9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMiwgTUMyX0dMT0JBTF9QV1JfRE4pOwotCWlzcDEzMDFfc2V0X2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLCBNQzFfU1VTUEVORF9SRUcpOworCWlzcDEzMDFfc2V0X2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLCBNQzFfU1VTUEVORCk7CiAKIAlpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX09UR19DT05UUk9MXzEsIE9URzFfSURfUFVMTERPV04pOwogCWlzcDEzMDFfY2xlYXJfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzEsIE1DMV9EQVRfU0UwKTsKQEAgLTI4Myw3ICsyODMsNyBAQAogc3RhdGljIHZvaWQgcG93ZXJfdXAoc3RydWN0IGlzcDEzMDEgKmlzcCkKIHsKIAkvLyBpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8yLCBNQzJfR0xPQkFMX1BXUl9ETik7Ci0JaXNwMTMwMV9jbGVhcl9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMSwgTUMxX1NVU1BFTkRfUkVHKTsKKwlpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLCBNQzFfU1VTUEVORCk7CiAKIAkvKiBkbyB0aGlzIG9ubHkgd2hlbiBjcHUgaXMgZHJpdmluZyB0cmFuc2NlaXZlciwKIAkgKiBzbyBob3N0IHdvbid0IHNlZSBhIGxvdyBzcGVlZCBkZXZpY2UuLi4KQEAgLTM2MCw2ICszNjAsOCBAQAogLyogY2FsbGVkIGZyb20gaXJxIGhhbmRsZXJzICovCiBzdGF0aWMgdm9pZCBhX2lkbGUoc3RydWN0IGlzcDEzMDEgKmlzcCwgY29uc3QgY2hhciAqdGFnKQogeworCXUzMiBsOworCiAJaWYgKGlzcC0+b3RnLnN0YXRlID09IE9UR19TVEFURV9BX0lETEUpCiAJCXJldHVybjsKIApAQCAtMzczLDEzICszNzUsMTcgQEAKIAkJZ2FkZ2V0X3N1c3BlbmQoaXNwKTsKIAl9CiAJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQV9JRExFOwotCWlzcC0+bGFzdF9vdGdfY3RybCA9IE9UR19DVFJMX1JFRyA9IE9UR19DVFJMX1JFRyAmIE9UR19YQ0VJVl9PVVRQVVRTOworCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19YQ0VJVl9PVVRQVVRTOworCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKKwlpc3AtPmxhc3Rfb3RnX2N0cmwgPSBsOwogCXByX2RlYnVnKCIgIC0tPiAlcy8lc1xuIiwgc3RhdGVfbmFtZShpc3ApLCB0YWcpOwogfQogCiAvKiBjYWxsZWQgZnJvbSBpcnEgaGFuZGxlcnMgKi8KIHN0YXRpYyB2b2lkIGJfaWRsZShzdHJ1Y3QgaXNwMTMwMSAqaXNwLCBjb25zdCBjaGFyICp0YWcpCiB7CisJdTMyIGw7CisKIAlpZiAoaXNwLT5vdGcuc3RhdGUgPT0gT1RHX1NUQVRFX0JfSURMRSkKIAkJcmV0dXJuOwogCkBAIC0zOTMsNyArMzk5LDkgQEAKIAkJZ2FkZ2V0X3N1c3BlbmQoaXNwKTsKIAl9CiAJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9JRExFOwotCWlzcC0+bGFzdF9vdGdfY3RybCA9IE9UR19DVFJMX1JFRyA9IE9UR19DVFJMX1JFRyAmIE9UR19YQ0VJVl9PVVRQVVRTOworCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19YQ0VJVl9PVVRQVVRTOworCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKKwlpc3AtPmxhc3Rfb3RnX2N0cmwgPSBsOwogCXByX2RlYnVnKCIgIC0tPiAlcy8lc1xuIiwgc3RhdGVfbmFtZShpc3ApLCB0YWcpOwogfQogCkBAIC00MDYsNyArNDE0LDcgQEAKIAl1OAlzcmMgPSBpc3AxMzAxX2dldF91OChpc3AsIElTUDEzMDFfSU5URVJSVVBUX1NPVVJDRSk7CiAKIAlwcl9kZWJ1Zygib3RnOiAlMDZ4LCAlcyAlcywgb3RnLyUwMnggc3RhdC8lMDJ4LiUwMnhcbiIsCi0JCU9UR19DVFJMX1JFRywgbGFiZWwsIHN0YXRlX25hbWUoaXNwKSwKKwkJb21hcF9yZWFkbChPVEdfQ1RSTCksIGxhYmVsLCBzdGF0ZV9uYW1lKGlzcCksCiAJCWN0cmwsIHN0YXR1cywgc3JjKTsKIAkvKiBtb2RlIGNvbnRyb2wgYW5kIGlycSBlbmFibGVzIGRvbid0IGNoYW5nZSBtdWNoICovCiAjZW5kaWYKQEAgLTQyOSw3ICs0MzcsNyBAQAogc3RhdGljIHZvaWQgY2hlY2tfc3RhdGUoc3RydWN0IGlzcDEzMDEgKmlzcCwgY29uc3QgY2hhciAqdGFnKQogewogCWVudW0gdXNiX290Z19zdGF0ZQlzdGF0ZSA9IE9UR19TVEFURV9VTkRFRklORUQ7Ci0JdTgJCQlmc20gPSBPVEdfVEVTVF9SRUcgJiAweDBmZjsKKwl1OAkJCWZzbSA9IG9tYXBfcmVhZHcoT1RHX1RFU1QpICYgMHgwZmY7CiAJdW5zaWduZWQJCWV4dHJhID0gMDsKIAogCXN3aXRjaCAoZnNtKSB7CkBAIC00OTQsNyArNTAyLDggQEAKIAlpZiAoaXNwLT5vdGcuc3RhdGUgPT0gc3RhdGUgJiYgIWV4dHJhKQogCQlyZXR1cm47CiAJcHJfZGVidWcoIm90ZzogJXMgRlNNICVzLyUwMngsICVzLCAlMDZ4XG4iLCB0YWcsCi0JCXN0YXRlX3N0cmluZyhzdGF0ZSksIGZzbSwgc3RhdGVfbmFtZShpc3ApLCBPVEdfQ1RSTF9SRUcpOworCQlzdGF0ZV9zdHJpbmcoc3RhdGUpLCBmc20sIHN0YXRlX25hbWUoaXNwKSwKKwkJb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogfQogCiAjZWxzZQpAQCAtNTA4LDEwICs1MTcsMTEgQEAKIHsKIAl1MzIJb3RnX2N0cmw7CiAKLQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRwotCQkJJiBPVEdfQ1RSTF9NQVNLCi0JCQkmIH5PVEdfWENFSVZfSU5QVVRTCi0JCQkmIH4oT1RHX0lEfE9UR19BU0VTU1ZMRHxPVEdfVkJVU1ZMRCk7CisJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19DVFJMX01BU0s7CisJb3RnX2N0cmwgJj0gfk9UR19YQ0VJVl9JTlBVVFM7CisJb3RnX2N0cmwgJj0gfihPVEdfSUR8T1RHX0FTRVNTVkxEfE9UR19WQlVTVkxEKTsKKworCiAJaWYgKGludF9zcmMgJiBJTlRSX1NFU1NfVkxEKQogCQlvdGdfY3RybCB8PSBPVEdfQVNFU1NWTEQ7CiAJZWxzZSBpZiAoaXNwLT5vdGcuc3RhdGUgPT0gT1RHX1NUQVRFX0FfV0FJVF9WRkFMTCkgewpAQCAtNTM0LDcgKzU0NCw3IEBACiAJCQlyZXR1cm47CiAJCX0KIAl9Ci0JT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIH0KIAogLyogb3V0cHV0cyBmcm9tIElTUDEzMDFfT1RHX1NUQVRVUyAqLwpAQCAtNTQyLDE1ICs1NTIsMTQgQEAKIHsKIAl1MzIJb3RnX2N0cmw7CiAKLQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRwotCQkJJiBPVEdfQ1RSTF9NQVNLCi0JCQkmIH5PVEdfWENFSVZfSU5QVVRTCi0JCQkmIH4oT1RHX0JTRVNTVkxEfE9UR19CU0VTU0VORCk7CisJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19DVFJMX01BU0s7CisJb3RnX2N0cmwgJj0gfk9UR19YQ0VJVl9JTlBVVFM7CisJb3RnX2N0cmwgJj0gfihPVEdfQlNFU1NWTEQgfCBPVEdfQlNFU1NFTkQpOwogCWlmIChvdGdfc3RhdHVzICYgT1RHX0JfU0VTU19WTEQpCiAJCW90Z19jdHJsIHw9IE9UR19CU0VTU1ZMRDsKIAllbHNlIGlmIChvdGdfc3RhdHVzICYgT1RHX0JfU0VTU19FTkQpCiAJCW90Z19jdHJsIHw9IE9UR19CU0VTU0VORDsKLQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogfQogCiAvKiBpbnB1dHMgZ29pbmcgdG8gSVNQMTMwMSAqLwpAQCAtNTU5LDcgKzU2OCw3IEBACiAJdTMyCW90Z19jdHJsLCBvdGdfY2hhbmdlOwogCXU4CXNldCA9IE9URzFfRE1fUFVMTERPV04sIGNsciA9IE9URzFfRE1fUFVMTFVQOwogCi0Jb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAlvdGdfY2hhbmdlID0gb3RnX2N0cmwgXiBpc3AtPmxhc3Rfb3RnX2N0cmw7CiAJaXNwLT5sYXN0X290Z19jdHJsID0gb3RnX2N0cmw7CiAJb3RnX2N0cmwgPSBvdGdfY3RybCAmIE9UR19YQ0VJVl9JTlBVVFM7CkBAIC02MzksNiArNjQ4LDggQEAKIAogCS8qIEhOUCBzd2l0Y2ggdG8gaG9zdCBvciBwZXJpcGhlcmFsOyBhbmQgU1JQICovCiAJaWYgKG90Z19jaGFuZ2UgJiBPVEdfUFVMTFVQKSB7CisJCXUzMiBsOworCiAJCXN3aXRjaCAoaXNwLT5vdGcuc3RhdGUpIHsKIAkJY2FzZSBPVEdfU1RBVEVfQl9JRExFOgogCQkJaWYgKGNsciAmIE9URzFfRFBfUFVMTFVQKQpAQCAtNjU1LDcgKzY2Niw5IEBACiAJCWRlZmF1bHQ6CiAJCQlicmVhazsKIAkJfQotCQlPVEdfQ1RSTF9SRUcgfD0gT1RHX1BVTExVUDsKKwkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCQlsIHw9IE9UR19QVUxMVVA7CisJCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKIAl9CiAKIAljaGVja19zdGF0ZShpc3AsIF9fZnVuY19fKTsKQEAgLTY2NCwyMCArNjc3LDIwIEBACiAKIHN0YXRpYyBpcnFyZXR1cm5fdCBvbWFwX290Z19pcnEoaW50IGlycSwgdm9pZCAqX2lzcCkKIHsKLQl1MTYJCW90Z19pcnEgPSBPVEdfSVJRX1NSQ19SRUc7CisJdTE2CQlvdGdfaXJxID0gb21hcF9yZWFkdyhPVEdfSVJRX1NSQyk7CiAJdTMyCQlvdGdfY3RybDsKIAlpbnQJCXJldCA9IElSUV9OT05FOwogCXN0cnVjdCBpc3AxMzAxCSppc3AgPSBfaXNwOwogCiAJLyogdXBkYXRlIElTUDEzMDEgdHJhbnNjaWV2ZXIgZnJvbSBPVEcgY29udHJvbGxlciAqLwogCWlmIChvdGdfaXJxICYgT1BSVF9DSEcpIHsKLQkJT1RHX0lSUV9TUkNfUkVHID0gT1BSVF9DSEc7CisJCW9tYXBfd3JpdGV3KE9QUlRfQ0hHLCBPVEdfSVJRX1NSQyk7CiAJCWlzcDEzMDFfZGVmZXJfd29yayhpc3AsIFdPUktfVVBEQVRFX0lTUCk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogU1JQIHRvIGJlY29tZSBiX3BlcmlwaGVyYWwgZmFpbGVkICovCiAJfSBlbHNlIGlmIChvdGdfaXJxICYgQl9TUlBfVE1ST1VUKSB7Ci0JCXByX2RlYnVnKCJvdGc6IEJfU1JQX1RJTUVPVVQsICUwNnhcbiIsIE9UR19DVFJMX1JFRyk7CisJCXByX2RlYnVnKCJvdGc6IEJfU1JQX1RJTUVPVVQsICUwNnhcbiIsIG9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIAkJbm90cmVzcG9uZGluZyhpc3ApOwogCiAJCS8qIGdhZGdldCBkcml2ZXJzIHRoYXQgY2FyZSBzaG91bGQgbW9uaXRvciBhbGwga2luZHMgb2YKQEAgLTY4NywzMSArNzAwLDMxIEBACiAJCWlmIChpc3AtPm90Zy5zdGF0ZSA9PSBPVEdfU1RBVEVfQl9TUlBfSU5JVCkKIAkJCWJfaWRsZShpc3AsICJzcnBfdGltZW91dCIpOwogCi0JCU9UR19JUlFfU1JDX1JFRyA9IEJfU1JQX1RNUk9VVDsKKwkJb21hcF93cml0ZXcoQl9TUlBfVE1ST1VULCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogSE5QIHRvIGJlY29tZSBiX2hvc3QgZmFpbGVkICovCiAJfSBlbHNlIGlmIChvdGdfaXJxICYgQl9ITlBfRkFJTCkgewogCQlwcl9kZWJ1Zygib3RnOiAlcyBCX0hOUF9GQUlMLCAlMDZ4XG4iLAotCQkJCXN0YXRlX25hbWUoaXNwKSwgT1RHX0NUUkxfUkVHKTsKKwkJCQlzdGF0ZV9uYW1lKGlzcCksIG9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIAkJbm90cmVzcG9uZGluZyhpc3ApOwogCi0JCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCQlvdGdfY3RybCB8PSBPVEdfQlVTRFJPUDsKIAkJb3RnX2N0cmwgJj0gT1RHX0NUUkxfTUFTSyAmIH5PVEdfWENFSVZfSU5QVVRTOwotCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwkJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAogCQkvKiBzdWJzZXQgb2YgYl9wZXJpcGhlcmFsKCkuLi4gKi8KIAkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9QRVJJUEhFUkFMOwogCQlwcl9kZWJ1ZygiICAtLT4gYl9wZXJpcGhlcmFsXG4iKTsKIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBCX0hOUF9GQUlMOworCQlvbWFwX3dyaXRldyhCX0hOUF9GQUlMLCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogZGV0ZWN0IFNSUCBmcm9tIEItZGV2aWNlIC4uLiAqLwogCX0gZWxzZSBpZiAob3RnX2lycSAmIEFfU1JQX0RFVEVDVCkgewogCQlwcl9kZWJ1Zygib3RnOiAlcyBTUlBfREVURUNULCAlMDZ4XG4iLAotCQkJCXN0YXRlX25hbWUoaXNwKSwgT1RHX0NUUkxfUkVHKTsKKwkJCQlzdGF0ZV9uYW1lKGlzcCksIG9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIAogCQlpc3AxMzAxX2RlZmVyX3dvcmsoaXNwLCBXT1JLX1VQREFURV9PVEcpOwogCQlzd2l0Y2ggKGlzcC0+b3RnLnN0YXRlKSB7CkBAIC03MTksNDkgKzczMiw0OSBAQAogCQkJaWYgKCFpc3AtPm90Zy5ob3N0KQogCQkJCWJyZWFrOwogCQkJaXNwMTMwMV9kZWZlcl93b3JrKGlzcCwgV09SS19IT1NUX1JFU1VNRSk7Ci0JCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJCQlvdGdfY3RybCB8PSBPVEdfQV9CVVNSRVE7CiAJCQlvdGdfY3RybCAmPSB+KE9UR19CVVNEUk9QfE9UR19CX0JVU1JFUSkKIAkJCQkJJiB+T1RHX1hDRUlWX0lOUFVUUwogCQkJCQkmIE9UR19DVFJMX01BU0s7Ci0JCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwkJCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWJyZWFrOwogCQl9CiAKLQkJT1RHX0lSUV9TUkNfUkVHID0gQV9TUlBfREVURUNUOworCQlvbWFwX3dyaXRldyhBX1NSUF9ERVRFQ1QsIE9UR19JUlFfU1JDKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiB0aW1lciBleHBpcmVkOiAgVChhX3dhaXRfYmNvbikgYW5kIG1heWJlIFQoYV93YWl0X3ZyaXNlKQogCSAqIHdlIGRvbid0IHRyYWNrIHRoZW0gc2VwYXJhdGVseQogCSAqLwogCX0gZWxzZSBpZiAob3RnX2lycSAmIEFfUkVRX1RNUk9VVCkgewotCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAkJcHJfaW5mbygib3RnOiBCQ09OX1RNT1VUIGZyb20gJXMsICUwNnhcbiIsCiAJCQkJc3RhdGVfbmFtZShpc3ApLCBvdGdfY3RybCk7CiAJCW5vdHJlc3BvbmRpbmcoaXNwKTsKIAogCQlvdGdfY3RybCB8PSBPVEdfQlVTRFJPUDsKIAkJb3RnX2N0cmwgJj0gfk9UR19BX0JVU1JFUSAmIE9UR19DVFJMX01BU0sgJiB+T1RHX1hDRUlWX0lOUFVUUzsKLQkJT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiAJCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0FfV0FJVF9WRkFMTDsKIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBBX1JFUV9UTVJPVVQ7CisJCW9tYXBfd3JpdGV3KEFfUkVRX1RNUk9VVCwgT1RHX0lSUV9TUkMpOwogCQlyZXQgPSBJUlFfSEFORExFRDsKIAogCS8qIEEtc3VwcGxpZWQgdm9sdGFnZSBmZWxsIHRvbyBsb3c7IG92ZXJjdXJyZW50ICovCiAJfSBlbHNlIGlmIChvdGdfaXJxICYgQV9WQlVTX0VSUikgewotCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAkJcHJpbnRrKEtFUk5fRVJSICJvdGc6ICVzLCBWQlVTX0VSUiAlMDR4IGN0cmwgJTA2eFxuIiwKIAkJCXN0YXRlX25hbWUoaXNwKSwgb3RnX2lycSwgb3RnX2N0cmwpOwogCiAJCW90Z19jdHJsIHw9IE9UR19CVVNEUk9QOwogCQlvdGdfY3RybCAmPSB+T1RHX0FfQlVTUkVRICYgT1RHX0NUUkxfTUFTSyAmIH5PVEdfWENFSVZfSU5QVVRTOwotCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwkJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQV9WQlVTX0VSUjsKIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBBX1ZCVVNfRVJSOworCQlvbWFwX3dyaXRldyhBX1ZCVVNfRVJSLCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogc3dpdGNoIGRyaXZlcjsgdGhlIHRyYW5zY2lldmVyIGNvZGUgYWN0aXZhdGVzIGl0LApAQCAtNzcwLDcgKzc4Myw3IEBACiAJfSBlbHNlIGlmIChvdGdfaXJxICYgRFJJVkVSX1NXSVRDSCkgewogCQlpbnQJa2ljayA9IDA7CiAKLQkJb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJCXByaW50ayhLRVJOX05PVElDRSAib3RnOiAlcywgU1dJVENIIHRvICVzLCBjdHJsICUwNnhcbiIsCiAJCQkJc3RhdGVfbmFtZShpc3ApLAogCQkJCShvdGdfY3RybCAmIE9UR19EUklWRVJfU0VMKQpAQCAtNzkzLDcgKzgwNiw3IEBACiAJCX0gZWxzZSB7CiAJCQlpZiAoIShvdGdfY3RybCAmIE9UR19JRCkpIHsKIAkJCQlvdGdfY3RybCAmPSBPVEdfQ1RSTF9NQVNLICYgfk9UR19YQ0VJVl9JTlBVVFM7Ci0JCQkJT1RHX0NUUkxfUkVHID0gb3RnX2N0cmwgfCBPVEdfQV9CVVNSRVE7CisJCQkJb21hcF93cml0ZWwob3RnX2N0cmwgfCBPVEdfQV9CVVNSRVEsIE9UR19DVFJMKTsKIAkJCX0KIAogCQkJaWYgKGlzcC0+b3RnLmhvc3QpIHsKQEAgLTgxOCw3ICs4MzEsNyBAQAogCQkJfQogCQl9CiAKLQkJT1RHX0lSUV9TUkNfUkVHID0gRFJJVkVSX1NXSVRDSDsKKwkJb21hcF93cml0ZXcoRFJJVkVSX1NXSVRDSCwgT1RHX0lSUV9TUkMpOwogCQlyZXQgPSBJUlFfSEFORExFRDsKIAogCQlpZiAoa2ljaykKQEAgLTgzNCwxMiArODQ3LDE1IEBACiAKIHN0YXRpYyBpbnQgb3RnX2luaXQoc3RydWN0IGlzcDEzMDEgKmlzcCkKIHsKKwl1MzIgbDsKKwogCWlmICghb3RnX2RldikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAlkdW1wX3JlZ3MoaXNwLCBfX2Z1bmNfXyk7CiAJLyogc29tZSBvZiB0aGVzZSB2YWx1ZXMgYXJlIGJvYXJkLXNwZWNpZmljLi4uICovCi0JT1RHX1NZU0NPTl8yX1JFRyB8PSBPVEdfRU4KKwlsID0gb21hcF9yZWFkbChPVEdfU1lTQ09OXzIpOworCWwgfD0gT1RHX0VOCiAJCS8qIGZvciBCLWRldmljZTogKi8KIAkJfCBTUlBfR1BEQVRBCQkvKiA5bXNlYyBCZGV2IEQrIHB1bHNlICovCiAJCXwgU1JQX0dQRFZCVVMJCS8qIGRpc2NoYXJnZSBhZnRlciBWQlVTIHB1bHNlICovCkBAIC04NDksMTggKzg2NSwyMiBAQAogCQl8IFNSUF9EUFcJCS8qIGRldGVjdCAxNjcrbnMgU1JQIHB1bHNlcyAqLwogCQl8IFNSUF9EQVRBIHwgU1JQX1ZCVVMJLyogYWNjZXB0IGJvdGgga2luZHMgb2YgU1JQIHB1bHNlICovCiAJCTsKKwlvbWFwX3dyaXRlbChsLCBPVEdfU1lTQ09OXzIpOwogCiAJdXBkYXRlX290ZzEoaXNwLCBpc3AxMzAxX2dldF91OChpc3AsIElTUDEzMDFfSU5URVJSVVBUX1NPVVJDRSkpOwogCXVwZGF0ZV9vdGcyKGlzcCwgaXNwMTMwMV9nZXRfdTgoaXNwLCBJU1AxMzAxX09UR19TVEFUVVMpKTsKIAogCWNoZWNrX3N0YXRlKGlzcCwgX19mdW5jX18pOwogCXByX2RlYnVnKCJvdGc6ICVzLCAlcyAlMDZ4XG4iLAotCQkJc3RhdGVfbmFtZShpc3ApLCBfX2Z1bmNfXywgT1RHX0NUUkxfUkVHKTsKKwkJCXN0YXRlX25hbWUoaXNwKSwgX19mdW5jX18sIG9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIAotCU9UR19JUlFfRU5fUkVHID0gRFJJVkVSX1NXSVRDSCB8IE9QUlRfQ0hHCisJb21hcF93cml0ZXcoRFJJVkVSX1NXSVRDSCB8IE9QUlRfQ0hHCiAJCQl8IEJfU1JQX1RNUk9VVCB8IEJfSE5QX0ZBSUwKLQkJCXwgQV9WQlVTX0VSUiB8IEFfU1JQX0RFVEVDVCB8IEFfUkVRX1RNUk9VVDsKLQlPVEdfU1lTQ09OXzJfUkVHIHw9IE9UR19FTjsKKwkJCXwgQV9WQlVTX0VSUiB8IEFfU1JQX0RFVEVDVCB8IEFfUkVRX1RNUk9VVCwgT1RHX0lSUV9FTik7CisKKwlsID0gb21hcF9yZWFkbChPVEdfU1lTQ09OXzIpOworCWwgfD0gT1RHX0VOOworCW9tYXBfd3JpdGVsKGwsIE9UR19TWVNDT05fMik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTkyNyw3ICs5NDcsMTEgQEAKIAogc3RhdGljIHZvaWQgYl9wZXJpcGhlcmFsKHN0cnVjdCBpc3AxMzAxICppc3ApCiB7Ci0JT1RHX0NUUkxfUkVHID0gT1RHX0NUUkxfUkVHICYgT1RHX1hDRUlWX09VVFBVVFM7CisJdTMyIGw7CisKKwlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisKIAl1c2JfZ2FkZ2V0X3ZidXNfY29ubmVjdChpc3AtPm90Zy5nYWRnZXQpOwogCiAjaWZkZWYJQ09ORklHX1VTQl9PVEcKQEAgLTk5OSw2ICsxMDIzLDggQEAKIAkJCWlzcF9ic3RhdCA9IDA7CiAJCX0KIAl9IGVsc2UgeworCQl1MzIgbDsKKwogCQkvKiBpZiB1c2VyIHVucGx1Z2dlZCBtaW5pLUEgZW5kIG9mIGNhYmxlLAogCQkgKiBkb24ndCBieXBhc3MgQV9XQUlUX1ZGQUxMLgogCQkgKi8KQEAgLTEwMTksOCArMTA0NSw5IEBACiAJCQkJaXNwMTMwMV9jbGVhcl9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMSwKIAkJCQkJCU1DMV9CRElTX0FDT05fRU4pOwogCQkJCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0JfSURMRTsKLQkJCQlPVEdfQ1RSTF9SRUcgJj0gT1RHX0NUUkxfUkVHICYgT1RHX0NUUkxfTUFTSwotCQkJCQkJJiB+T1RHX0NUUkxfQklUUzsKKwkJCQlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfQ1RSTF9NQVNLOworCQkJCWwgJj0gfk9UR19DVFJMX0JJVFM7CisJCQkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOwogCQkJCWJyZWFrOwogCQkJY2FzZSBPVEdfU1RBVEVfQl9JRExFOgogCQkJCWJyZWFrOwpAQCAtMTA0Niw3ICsxMDczLDggQEAKIAkJCS8qIEZBTExUSFJPVUdIICovCiAJCWNhc2UgT1RHX1NUQVRFX0JfU1JQX0lOSVQ6CiAJCQliX2lkbGUoaXNwLCBfX2Z1bmNfXyk7Ci0JCQlPVEdfQ1RSTF9SRUcgJj0gT1RHX0NUUkxfUkVHICYgT1RHX1hDRUlWX09VVFBVVFM7CisJCQlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwkJCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKIAkJCS8qIEZBTExUSFJPVUdIICovCiAJCWNhc2UgT1RHX1NUQVRFX0JfSURMRToKIAkJCWlmIChpc3AtPm90Zy5nYWRnZXQgJiYgKGlzcF9ic3RhdCAmIE9UR19CX1NFU1NfVkxEKSkgewpAQCAtMTEzMCwxMSArMTE1OCwxMSBAQAogCQkJY2FzZSBPVEdfU1RBVEVfQV9XQUlUX1ZSSVNFOgogCQkJCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0FfSE9TVDsKIAkJCQlwcl9kZWJ1ZygiICAtLT4gYV9ob3N0XG4iKTsKLQkJCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJCQlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCQkJCW90Z19jdHJsIHw9IE9UR19BX0JVU1JFUTsKIAkJCQlvdGdfY3RybCAmPSB+KE9UR19CVVNEUk9QfE9UR19CX0JVU1JFUSkKIAkJCQkJCSYgT1RHX0NUUkxfTUFTSzsKLQkJCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwkJCQlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogCQkJCWJyZWFrOwogCQkJY2FzZSBPVEdfU1RBVEVfQl9XQUlUX0FDT046CiAJCQkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9IT1NUOwpAQCAtMTI3NCw3ICsxMzAyLDcgQEAKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAlpZiAoIWhvc3QpIHsKLQkJT1RHX0lSUV9FTl9SRUcgPSAwOworCQlvbWFwX3dyaXRldygwLCBPVEdfSVJRX0VOKTsKIAkJcG93ZXJfZG93bihpc3ApOwogCQlpc3AtPm90Zy5ob3N0ID0gMDsKIAkJcmV0dXJuIDA7CkBAIC0xMzI1LDEyICsxMzUzLDEzIEBACiBpc3AxMzAxX3NldF9wZXJpcGhlcmFsKHN0cnVjdCBvdGdfdHJhbnNjZWl2ZXIgKm90Zywgc3RydWN0IHVzYl9nYWRnZXQgKmdhZGdldCkKIHsKIAlzdHJ1Y3QgaXNwMTMwMQkqaXNwID0gY29udGFpbmVyX29mKG90Zywgc3RydWN0IGlzcDEzMDEsIG90Zyk7CisJdTMyIGw7CiAKIAlpZiAoIW90ZyB8fCBpc3AgIT0gdGhlX3RyYW5zY2VpdmVyKQogCQlyZXR1cm4gLUVOT0RFVjsKIAogCWlmICghZ2FkZ2V0KSB7Ci0JCU9UR19JUlFfRU5fUkVHID0gMDsKKwkJb21hcF93cml0ZXcoMCwgT1RHX0lSUV9FTik7CiAJCWlmICghaXNwLT5vdGcuZGVmYXVsdF9hKQogCQkJZW5hYmxlX3ZidXNfZHJhdyhpc3AsIDApOwogCQl1c2JfZ2FkZ2V0X3ZidXNfZGlzY29ubmVjdChpc3AtPm90Zy5nYWRnZXQpOwpAQCAtMTM1MSw5ICsxMzgwLDExIEBACiAJaXNwLT5vdGcuZ2FkZ2V0ID0gZ2FkZ2V0OwogCS8vIEZJWE1FIHVwZGF0ZSBpdHMgcmVmY291bnQKIAotCU9UR19DVFJMX1JFRyA9IChPVEdfQ1RSTF9SRUcgJiBPVEdfQ1RSTF9NQVNLCi0JCQkJJiB+KE9UR19YQ0VJVl9PVVRQVVRTfE9UR19DVFJMX0JJVFMpKQotCQkJfCBPVEdfSUQ7CisJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX0NUUkxfTUFTSzsKKwlsICY9IH4oT1RHX1hDRUlWX09VVFBVVFN8T1RHX0NUUkxfQklUUyk7CisJbCB8PSBPVEdfSUQ7CisJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCiAJcG93ZXJfdXAoaXNwKTsKIAlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX0lETEU7CiAKQEAgLTE0MDUsMTYgKzE0MzYsMTcgQEAKIAkJCXx8IGlzcC0+b3RnLnN0YXRlICE9IE9UR19TVEFURV9CX0lETEUpCiAJCXJldHVybiAtRU5PREVWOwogCi0Jb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAlpZiAoIShvdGdfY3RybCAmIE9UR19CU0VTU0VORCkpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJb3RnX2N0cmwgfD0gT1RHX0JfQlVTUkVROwogCW90Z19jdHJsICY9IH5PVEdfQV9CVVNSRVEgJiBPVEdfQ1RSTF9NQVNLOwotCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiAJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9TUlBfSU5JVDsKIAotCXByX2RlYnVnKCJvdGc6IFNSUCwgJXMgLi4uICUwNnhcbiIsIHN0YXRlX25hbWUoaXNwKSwgT1RHX0NUUkxfUkVHKTsKKwlwcl9kZWJ1Zygib3RnOiBTUlAsICVzIC4uLiAlMDZ4XG4iLCBzdGF0ZV9uYW1lKGlzcCksCisJCQlvbWFwX3JlYWRsKE9UR19DVFJMKSk7CiAjaWZkZWYJQ09ORklHX1VTQl9PVEcKIAljaGVja19zdGF0ZShpc3AsIF9fZnVuY19fKTsKICNlbmRpZgpAQCAtMTQyNiw2ICsxNDU4LDcgQEAKIHsKICNpZmRlZglDT05GSUdfVVNCX09URwogCXN0cnVjdCBpc3AxMzAxCSppc3AgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgaXNwMTMwMSwgb3RnKTsKKwl1MzIgbDsKIAogCWlmICghZGV2IHx8IGlzcCAhPSB0aGVfdHJhbnNjZWl2ZXIpCiAJCXJldHVybiAtRU5PREVWOwpAQCAtMTQ1Miw3ICsxNDg1LDkgQEAKICNlbmRpZgogCQkvKiBjYWxsZXIgbXVzdCBzdXNwZW5kIHRoZW4gY2xlYXIgQV9CVVNSRVEgKi8KIAkJdXNiX2dhZGdldF92YnVzX2Nvbm5lY3QoaXNwLT5vdGcuZ2FkZ2V0KTsKLQkJT1RHX0NUUkxfUkVHIHw9IE9UR19BX1NFVEJfSE5QRU47CisJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKKwkJbCB8PSBPVEdfQV9TRVRCX0hOUEVOOworCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CiAKIAkJYnJlYWs7CiAJY2FzZSBPVEdfU1RBVEVfQV9QRVJJUEhFUkFMOgpAQCAtMTQ2Miw3ICsxNDk3LDcgQEAKIAkJcmV0dXJuIC1FSUxTRVE7CiAJfQogCXByX2RlYnVnKCJvdGc6IEhOUCAlcywgJTA2eCAuLi5cbiIsCi0JCXN0YXRlX25hbWUoaXNwKSwgT1RHX0NUUkxfUkVHKTsKKwkJc3RhdGVfbmFtZShpc3ApLCBvbWFwX3JlYWRsKE9UR19DVFJMKSk7CiAJY2hlY2tfc3RhdGUoaXNwLCBfX2Z1bmNfXyk7CiAJcmV0dXJuIDA7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvbWF4Njg3NS5jIGIvZHJpdmVycy9pMmMvY2hpcHMvbWF4Njg3NS5jCmluZGV4IGNmNTA3YjMuLjVhMDI4NWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL21heDY4NzUuYworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9tYXg2ODc1LmMKQEAgLTE3MCw3ICsxNzAsNyBAQAogCXN0cnVjdCBpMmNfY2xpZW50ICpyZWFsX2NsaWVudDsKIAlzdHJ1Y3QgaTJjX2NsaWVudCAqZmFrZV9jbGllbnQ7CiAJc3RydWN0IG1heDY4NzVfZGF0YSAqZGF0YTsKLQlpbnQgZXJyID0gMDsKKwlpbnQgZXJyOwogCiAJaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19XUklURV9CWVRFX0RBVEEKIAkJCQkgICAgIHwgSTJDX0ZVTkNfU01CVVNfUkVBRF9CWVRFKSkKQEAgLTE5NSw3ICsxOTUsNiBAQAogCXJlYWxfY2xpZW50LT5hZGRyID0gYWRkcmVzczsKIAlyZWFsX2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CiAJcmVhbF9jbGllbnQtPmRyaXZlciA9ICZtYXg2ODc1X2RyaXZlcjsKLQlyZWFsX2NsaWVudC0+ZmxhZ3MgPSAwOwogCXN0cmxjcHkocmVhbF9jbGllbnQtPm5hbWUsICJtYXg2ODc1IiwgSTJDX05BTUVfU0laRSk7CiAJbXV0ZXhfaW5pdCgmZGF0YS0+dXBkYXRlX2xvY2spOwogCkBAIC0yMDQsNyArMjAzLDYgQEAKIAlmYWtlX2NsaWVudC0+YWRkciA9IGFkZHJlc3MgfCAxOwogCWZha2VfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKIAlmYWtlX2NsaWVudC0+ZHJpdmVyID0gJm1heDY4NzVfZHJpdmVyOwotCWZha2VfY2xpZW50LT5mbGFncyA9IDA7CiAJc3RybGNweShmYWtlX2NsaWVudC0+bmFtZSwgIm1heDY4NzUgc3ViY2xpZW50IiwgSTJDX05BTUVfU0laRSk7CiAKIAlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KHJlYWxfY2xpZW50KSkgIT0gMCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjYTk1MzkuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL3BjYTk1MzkuYwppbmRleCBmNDNjNGU3Li41OGFiN2YyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9wY2E5NTM5LmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNhOTUzOS5jCkBAIC0xMTMsNyArMTEzLDcgQEAKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGkyY19wcm9iZSAqLwogc3RhdGljIGludCBwY2E5NTM5X2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGludCBhZGRyZXNzLCBpbnQga2luZCkKIHsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAqbmV3X2NsaWVudDsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OwogCXN0cnVjdCBwY2E5NTM5X2RhdGEgKmRhdGE7CiAJaW50IGVyciA9IDA7CiAKQEAgLTEyNywyOSArMTI3LDI4IEBACiAJCWdvdG8gZXhpdDsKIAl9CiAKLQluZXdfY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKLQlpMmNfc2V0X2NsaWVudGRhdGEobmV3X2NsaWVudCwgZGF0YSk7Ci0JbmV3X2NsaWVudC0+YWRkciA9IGFkZHJlc3M7Ci0JbmV3X2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7Ci0JbmV3X2NsaWVudC0+ZHJpdmVyID0gJnBjYTk1MzlfZHJpdmVyOwotCW5ld19jbGllbnQtPmZsYWdzID0gMDsKKwljbGllbnQgPSAmZGF0YS0+Y2xpZW50OworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIGRhdGEpOworCWNsaWVudC0+YWRkciA9IGFkZHJlc3M7CisJY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKKwljbGllbnQtPmRyaXZlciA9ICZwY2E5NTM5X2RyaXZlcjsKIAogCWlmIChraW5kIDwgMCkgewogCQkvKiBEZXRlY3Rpb246IHRoZSBwY2E5NTM5IG9ubHkgaGFzIDggcmVnaXN0ZXJzICgwLTcpLgogCQkgICBBIHJlYWQgb2YgNyBzaG91bGQgc3VjY2VlZCwgYnV0IGEgcmVhZCBvZiA4IHNob3VsZCBmYWlsLiAqLwotCQlpZiAoKGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShuZXdfY2xpZW50LCA3KSA8IDApIHx8Ci0JCSAgICAoaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKG5ld19jbGllbnQsIDgpID49IDApKQorCQlpZiAoKGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDcpIDwgMCkgfHwKKwkJICAgIChpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCA4KSA+PSAwKSkKIAkJCWdvdG8gZXhpdF9rZnJlZTsKIAl9CiAKLQlzdHJsY3B5KG5ld19jbGllbnQtPm5hbWUsICJwY2E5NTM5IiwgSTJDX05BTUVfU0laRSk7CisJc3RybGNweShjbGllbnQtPm5hbWUsICJwY2E5NTM5IiwgSTJDX05BTUVfU0laRSk7CiAKIAkvKiBUZWxsIHRoZSBJMkMgbGF5ZXIgYSBuZXcgY2xpZW50IGhhcyBhcnJpdmVkICovCi0JaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChuZXdfY2xpZW50KSkpCisJaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChjbGllbnQpKSkKIAkJZ290byBleGl0X2tmcmVlOwogCiAJLyogUmVnaXN0ZXIgc3lzZnMgaG9va3MgKi8KLQllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJm5ld19jbGllbnQtPmRldi5rb2JqLAorCWVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwKIAkJCQkgJnBjYTk1MzlfZGVmYXR0cl9ncm91cCk7CiAJaWYgKGVycikKIAkJZ290byBleGl0X2RldGFjaDsKQEAgLTE1Nyw3ICsxNTYsNyBAQAogCXJldHVybiAwOwogCiBleGl0X2RldGFjaDoKLQlpMmNfZGV0YWNoX2NsaWVudChuZXdfY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOwogZXhpdF9rZnJlZToKIAlrZnJlZShkYXRhKTsKIGV4aXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTc0LmMgYi9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTc0LmMKaW5kZXggZTViMzEzMi4uMWIzZGIyYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU3NC5jCisrKyBiL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1NzQuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgcGNmODU3NC5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAyMDAwICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LCAKICAgICAgICAgICAgICAgICAgICAgICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCiAgICAgICAgICAgICAgICAgICAgICAgICBEYW4gRWF0b24gPGRhbi5lYXRvbkByb2NrZXRsb2dpeC5jb20+CkBAIC0xMjksNyArMTI3LDcgQEAKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGkyY19wcm9iZSAqLwogc3RhdGljIGludCBwY2Y4NTc0X2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGludCBhZGRyZXNzLCBpbnQga2luZCkKIHsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAqbmV3X2NsaWVudDsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OwogCXN0cnVjdCBwY2Y4NTc0X2RhdGEgKmRhdGE7CiAJaW50IGVyciA9IDA7CiAJY29uc3QgY2hhciAqY2xpZW50X25hbWUgPSAiIjsKQEAgLTE0NCwxMiArMTQyLDExIEBACiAJCWdvdG8gZXhpdDsKIAl9CiAKLQluZXdfY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKLQlpMmNfc2V0X2NsaWVudGRhdGEobmV3X2NsaWVudCwgZGF0YSk7Ci0JbmV3X2NsaWVudC0+YWRkciA9IGFkZHJlc3M7Ci0JbmV3X2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7Ci0JbmV3X2NsaWVudC0+ZHJpdmVyID0gJnBjZjg1NzRfZHJpdmVyOwotCW5ld19jbGllbnQtPmZsYWdzID0gMDsKKwljbGllbnQgPSAmZGF0YS0+Y2xpZW50OworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIGRhdGEpOworCWNsaWVudC0+YWRkciA9IGFkZHJlc3M7CisJY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKKwljbGllbnQtPmRyaXZlciA9ICZwY2Y4NTc0X2RyaXZlcjsKIAogCS8qIE5vdywgd2Ugd291bGQgZG8gdGhlIHJlbWFpbmluZyBkZXRlY3Rpb24uIEJ1dCB0aGUgUENGODU3NCBpcyBwbGFpbmx5CiAJICAgaW1wb3NzaWJsZSB0byBkZXRlY3QhIFN0dXBpZCBjaGlwLiAqLwpAQCAtMTY4LDIzICsxNjUsMjMgQEAKIAkJY2xpZW50X25hbWUgPSAicGNmODU3NCI7CiAKIAkvKiBGaWxsIGluIHRoZSByZW1haW5pbmcgY2xpZW50IGZpZWxkcyBhbmQgcHV0IGl0IGludG8gdGhlIGdsb2JhbCBsaXN0ICovCi0Jc3RybGNweShuZXdfY2xpZW50LT5uYW1lLCBjbGllbnRfbmFtZSwgSTJDX05BTUVfU0laRSk7CisJc3RybGNweShjbGllbnQtPm5hbWUsIGNsaWVudF9uYW1lLCBJMkNfTkFNRV9TSVpFKTsKIAogCS8qIFRlbGwgdGhlIEkyQyBsYXllciBhIG5ldyBjbGllbnQgaGFzIGFycml2ZWQgKi8KLQlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KG5ld19jbGllbnQpKSkKKwlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KGNsaWVudCkpKQogCQlnb3RvIGV4aXRfZnJlZTsKIAkKIAkvKiBJbml0aWFsaXplIHRoZSBQQ0Y4NTc0IGNoaXAgKi8KLQlwY2Y4NTc0X2luaXRfY2xpZW50KG5ld19jbGllbnQpOworCXBjZjg1NzRfaW5pdF9jbGllbnQoY2xpZW50KTsKIAogCS8qIFJlZ2lzdGVyIHN5c2ZzIGhvb2tzICovCi0JZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZuZXdfY2xpZW50LT5kZXYua29iaiwgJnBjZjg1NzRfYXR0cl9ncm91cCk7CisJZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAmcGNmODU3NF9hdHRyX2dyb3VwKTsKIAlpZiAoZXJyKQogCQlnb3RvIGV4aXRfZGV0YWNoOwogCXJldHVybiAwOwogCiAgICAgICBleGl0X2RldGFjaDoKLQlpMmNfZGV0YWNoX2NsaWVudChuZXdfY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOwogICAgICAgZXhpdF9mcmVlOgogCWtmcmVlKGRhdGEpOwogICAgICAgZXhpdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1OTEuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1OTEuYwppbmRleCA2NmM3YzNiLi5kYjczNTM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTkxLmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU5MS5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBwY2Y4NTkxLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwNCBBdXJlbGllbiBKYXJubyA8YXVyZWxpZW5AYXVyZWwzMi5uZXQ+CiAgICAgUG9ydGVkIHRvIExpbnV4IDIuNiBieSBBdXJlbGllbiBKYXJubyA8YXVyZWxpZW5AYXVyZWwzMi5uZXQ+IHdpdGggCiAgICAgdGhlIGhlbHAgb2YgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CkBAIC0xOTAsNyArMTg4LDcgQEAKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGkyY19wcm9iZSAqLwogc3RhdGljIGludCBwY2Y4NTkxX2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGludCBhZGRyZXNzLCBpbnQga2luZCkKIHsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAqbmV3X2NsaWVudDsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OwogCXN0cnVjdCBwY2Y4NTkxX2RhdGEgKmRhdGE7CiAJaW50IGVyciA9IDA7CiAKQEAgLTIwNSwxMiArMjAzLDExIEBACiAJCWdvdG8gZXhpdDsKIAl9CiAJCi0JbmV3X2NsaWVudCA9ICZkYXRhLT5jbGllbnQ7Ci0JaTJjX3NldF9jbGllbnRkYXRhKG5ld19jbGllbnQsIGRhdGEpOwotCW5ld19jbGllbnQtPmFkZHIgPSBhZGRyZXNzOwotCW5ld19jbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOwotCW5ld19jbGllbnQtPmRyaXZlciA9ICZwY2Y4NTkxX2RyaXZlcjsKLQluZXdfY2xpZW50LT5mbGFncyA9IDA7CisJY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKKwlpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCBkYXRhKTsKKwljbGllbnQtPmFkZHIgPSBhZGRyZXNzOworCWNsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CisJY2xpZW50LT5kcml2ZXIgPSAmcGNmODU5MV9kcml2ZXI7CiAKIAkvKiBOb3csIHdlIHdvdWxkIGRvIHRoZSByZW1haW5pbmcgZGV0ZWN0aW9uLiBCdXQgdGhlIFBDRjg1OTEgaXMgcGxhaW5seQogCSAgIGltcG9zc2libGUgdG8gZGV0ZWN0ISBTdHVwaWQgY2hpcC4gKi8KQEAgLTIyMSwzMSArMjE4LDMxIEBACiAKIAkvKiBGaWxsIGluIHRoZSByZW1haW5pbmcgY2xpZW50IGZpZWxkcyBhbmQgcHV0IGl0IGludG8gdGhlIGdsb2JhbCAKIAkgICBsaXN0ICovCi0Jc3RybGNweShuZXdfY2xpZW50LT5uYW1lLCAicGNmODU5MSIsIEkyQ19OQU1FX1NJWkUpOworCXN0cmxjcHkoY2xpZW50LT5uYW1lLCAicGNmODU5MSIsIEkyQ19OQU1FX1NJWkUpOwogCW11dGV4X2luaXQoJmRhdGEtPnVwZGF0ZV9sb2NrKTsKIAogCS8qIFRlbGwgdGhlIEkyQyBsYXllciBhIG5ldyBjbGllbnQgaGFzIGFycml2ZWQgKi8KLQlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KG5ld19jbGllbnQpKSkKKwlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KGNsaWVudCkpKQogCQlnb3RvIGV4aXRfa2ZyZWU7CiAKIAkvKiBJbml0aWFsaXplIHRoZSBQQ0Y4NTkxIGNoaXAgKi8KLQlwY2Y4NTkxX2luaXRfY2xpZW50KG5ld19jbGllbnQpOworCXBjZjg1OTFfaW5pdF9jbGllbnQoY2xpZW50KTsKIAogCS8qIFJlZ2lzdGVyIHN5c2ZzIGhvb2tzICovCi0JZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZuZXdfY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cCk7CisJZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwKTsKIAlpZiAoZXJyKQogCQlnb3RvIGV4aXRfZGV0YWNoOwogCiAJLyogUmVnaXN0ZXIgaW5wdXQyIGlmIG5vdCBpbiAidHdvIGRpZmZlcmVudGlhbCBpbnB1dHMiIG1vZGUgKi8KIAlpZiAoaW5wdXRfbW9kZSAhPSAzKSB7Ci0JCWlmICgoZXJyID0gZGV2aWNlX2NyZWF0ZV9maWxlKCZuZXdfY2xpZW50LT5kZXYsCisJCWlmICgoZXJyID0gZGV2aWNlX2NyZWF0ZV9maWxlKCZjbGllbnQtPmRldiwKIAkJCQkJICAgICAgJmRldl9hdHRyX2luMl9pbnB1dCkpKQogCQkJZ290byBleGl0X3N5c2ZzX3JlbW92ZTsKIAl9CiAKIAkvKiBSZWdpc3RlciBpbnB1dDMgb25seSBpbiAiZm91ciBzaW5nbGUgZW5kZWQgaW5wdXRzIiBtb2RlICovCiAJaWYgKGlucHV0X21vZGUgPT0gMCkgewotCQlpZiAoKGVyciA9IGRldmljZV9jcmVhdGVfZmlsZSgmbmV3X2NsaWVudC0+ZGV2LAorCQlpZiAoKGVyciA9IGRldmljZV9jcmVhdGVfZmlsZSgmY2xpZW50LT5kZXYsCiAJCQkJCSAgICAgICZkZXZfYXR0cl9pbjNfaW5wdXQpKSkKIAkJCWdvdG8gZXhpdF9zeXNmc19yZW1vdmU7CiAJfQpAQCAtMjUzLDEwICsyNTAsMTAgQEAKIAlyZXR1cm4gMDsKIAogZXhpdF9zeXNmc19yZW1vdmU6Ci0Jc3lzZnNfcmVtb3ZlX2dyb3VwKCZuZXdfY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cF9vcHQpOwotCXN5c2ZzX3JlbW92ZV9ncm91cCgmbmV3X2NsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTkxX2F0dHJfZ3JvdXApOworCXN5c2ZzX3JlbW92ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cF9vcHQpOworCXN5c2ZzX3JlbW92ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cCk7CiBleGl0X2RldGFjaDoKLQlpMmNfZGV0YWNoX2NsaWVudChuZXdfY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOwogZXhpdF9rZnJlZToKIAlrZnJlZShkYXRhKTsKIGV4aXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9pMmMtY29yZS5jIGIvZHJpdmVycy9pMmMvaTJjLWNvcmUuYwppbmRleCBkMDE3NWY0Li4wYTc5Zjc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9pMmMtY29yZS5jCisrKyBiL2RyaXZlcnMvaTJjL2kyYy1jb3JlLmMKQEAgLTI5LDEzICsyOSwxMSBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pZHIuaD4KLSNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4KICNpbmNsdWRlIDxsaW51eC9pcnFmbGFncy5oPgotI2luY2x1ZGUgPGxpbnV4L3NlbWFwaG9yZS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKICNpbmNsdWRlICJpMmMtY29yZS5oIgpAQCAtNDQsNyArNDIsOSBAQAogc3RhdGljIERFRklORV9NVVRFWChjb3JlX2xvY2spOwogc3RhdGljIERFRklORV9JRFIoaTJjX2FkYXB0ZXJfaWRyKTsKIAotI2RlZmluZSBpc19uZXdzdHlsZV9kcml2ZXIoZCkgKChkKS0+cHJvYmUgfHwgKGQpLT5yZW1vdmUpCisjZGVmaW5lIGlzX25ld3N0eWxlX2RyaXZlcihkKSAoKGQpLT5wcm9iZSB8fCAoZCktPnJlbW92ZSB8fCAoZCktPmRldGVjdCkKKworc3RhdGljIGludCBpMmNfZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlcik7CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTAzLDE5ICsxMDMsMTQgQEAKIHsKIAlzdHJ1Y3QgaTJjX2NsaWVudAkqY2xpZW50ID0gdG9faTJjX2NsaWVudChkZXYpOwogCXN0cnVjdCBpMmNfZHJpdmVyCSpkcml2ZXIgPSB0b19pMmNfZHJpdmVyKGRldi0+ZHJpdmVyKTsKLQljb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQ7CiAJaW50IHN0YXR1czsKIAotCWlmICghZHJpdmVyLT5wcm9iZSkKKwlpZiAoIWRyaXZlci0+cHJvYmUgfHwgIWRyaXZlci0+aWRfdGFibGUpCiAJCXJldHVybiAtRU5PREVWOwogCWNsaWVudC0+ZHJpdmVyID0gZHJpdmVyOwogCWRldl9kYmcoZGV2LCAicHJvYmVcbiIpOwogCi0JaWYgKGRyaXZlci0+aWRfdGFibGUpCi0JCWlkID0gaTJjX21hdGNoX2lkKGRyaXZlci0+aWRfdGFibGUsIGNsaWVudCk7Ci0JZWxzZQotCQlpZCA9IE5VTEw7Ci0Jc3RhdHVzID0gZHJpdmVyLT5wcm9iZShjbGllbnQsIGlkKTsKKwlzdGF0dXMgPSBkcml2ZXItPnByb2JlKGNsaWVudCwgaTJjX21hdGNoX2lkKGRyaXZlci0+aWRfdGFibGUsIGNsaWVudCkpOwogCWlmIChzdGF0dXMpCiAJCWNsaWVudC0+ZHJpdmVyID0gTlVMTDsKIAlyZXR1cm4gc3RhdHVzOwpAQCAtMjA4LDcgKzIwMyw3IEBACiAJeyB9LAogfTsKIAotc3RhdGljIHN0cnVjdCBidXNfdHlwZSBpMmNfYnVzX3R5cGUgPSB7CitzdHJ1Y3QgYnVzX3R5cGUgaTJjX2J1c190eXBlID0gewogCS5uYW1lCQk9ICJpMmMiLAogCS5kZXZfYXR0cnMJPSBpMmNfZGV2X2F0dHJzLAogCS5tYXRjaAkJPSBpMmNfZGV2aWNlX21hdGNoLApAQCAtMjE5LDYgKzIxNCw3IEBACiAJLnN1c3BlbmQJPSBpMmNfZGV2aWNlX3N1c3BlbmQsCiAJLnJlc3VtZQkJPSBpMmNfZGV2aWNlX3Jlc3VtZSwKIH07CitFWFBPUlRfU1lNQk9MX0dQTChpMmNfYnVzX3R5cGUpOwogCiAKIC8qKgpAQCAtMzA2LDYgKzMwMiwxNCBAQAogCQlyZXR1cm47CiAJfQogCisJaWYgKGFkYXB0ZXItPmNsaWVudF91bnJlZ2lzdGVyKSB7CisJCWlmIChhZGFwdGVyLT5jbGllbnRfdW5yZWdpc3RlcihjbGllbnQpKSB7CisJCQlkZXZfd2FybigmY2xpZW50LT5kZXYsCisJCQkJICJjbGllbnRfdW5yZWdpc3RlciBbJXNdIGZhaWxlZFxuIiwKKwkJCQkgY2xpZW50LT5uYW1lKTsKKwkJfQorCX0KKwogCW11dGV4X2xvY2soJmFkYXB0ZXItPmNsaXN0X2xvY2spOwogCWxpc3RfZGVsKCZjbGllbnQtPmxpc3QpOwogCW11dGV4X3VubG9jaygmYWRhcHRlci0+Y2xpc3RfbG9jayk7CkBAIC00MTYsNiArNDIwLDEwIEBACiAJc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlciA9IHRvX2kyY19kcml2ZXIoZCk7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwID0gZGF0YTsKIAorCS8qIERldGVjdCBzdXBwb3J0ZWQgZGV2aWNlcyBvbiB0aGF0IGJ1cywgYW5kIGluc3RhbnRpYXRlIHRoZW0gKi8KKwlpMmNfZGV0ZWN0KGFkYXAsIGRyaXZlcik7CisKKwkvKiBMZXQgbGVnYWN5IGRyaXZlcnMgc2NhbiB0aGlzIGJ1cyBmb3IgbWF0Y2hpbmcgZGV2aWNlcyAqLwogCWlmIChkcml2ZXItPmF0dGFjaF9hZGFwdGVyKSB7CiAJCS8qIFdlIGlnbm9yZSB0aGUgcmV0dXJuIGNvZGU7IGlmIGl0IGZhaWxzLCB0b28gYmFkICovCiAJCWRyaXZlci0+YXR0YWNoX2FkYXB0ZXIoYWRhcCk7CkBAIC00NTUsNyArNDYzLDcgQEAKIAlpZiAoYWRhcC0+bnIgPCBfX2kyY19maXJzdF9keW5hbWljX2J1c19udW0pCiAJCWkyY19zY2FuX3N0YXRpY19ib2FyZF9pbmZvKGFkYXApOwogCi0JLyogbGV0IGxlZ2FjeSBkcml2ZXJzIHNjYW4gdGhpcyBidXMgZm9yIG1hdGNoaW5nIGRldmljZXMgKi8KKwkvKiBOb3RpZnkgZHJpdmVycyAqLwogCWR1bW15ID0gYnVzX2Zvcl9lYWNoX2RydigmaTJjX2J1c190eXBlLCBOVUxMLCBhZGFwLAogCQkJCSBpMmNfZG9fYWRkX2FkYXB0ZXIpOwogCkBAIC01NjEsOCArNTY5LDE5IEBACiB7CiAJc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlciA9IHRvX2kyY19kcml2ZXIoZCk7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gZGF0YTsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCAqX247CiAJaW50IHJlczsKIAorCS8qIFJlbW92ZSB0aGUgZGV2aWNlcyB3ZSBjcmVhdGVkIG91cnNlbHZlcyAqLworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbGllbnQsIF9uLCAmZHJpdmVyLT5jbGllbnRzLCBkZXRlY3RlZCkgeworCQlpZiAoY2xpZW50LT5hZGFwdGVyID09IGFkYXB0ZXIpIHsKKwkJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgIlJlbW92aW5nICVzIGF0IDB4JXhcbiIsCisJCQkJY2xpZW50LT5uYW1lLCBjbGllbnQtPmFkZHIpOworCQkJbGlzdF9kZWwoJmNsaWVudC0+ZGV0ZWN0ZWQpOworCQkJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGNsaWVudCk7CisJCX0KKwl9CisKIAlpZiAoIWRyaXZlci0+ZGV0YWNoX2FkYXB0ZXIpCiAJCXJldHVybiAwOwogCXJlcyA9IGRyaXZlci0+ZGV0YWNoX2FkYXB0ZXIoYWRhcHRlcik7CkBAIC01ODIsOCArNjAxLDcgQEAKICAqLwogaW50IGkyY19kZWxfYWRhcHRlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCiB7Ci0Jc3RydWN0IGxpc3RfaGVhZCAgKml0ZW0sICpfbjsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsICpfbjsKIAlpbnQgcmVzID0gMDsKIAogCW11dGV4X2xvY2soJmNvcmVfbG9jayk7CkBAIC02MDQsMTAgKzYyMiw5IEBACiAKIAkvKiBkZXRhY2ggYW55IGFjdGl2ZSBjbGllbnRzLiBUaGlzIG11c3QgYmUgZG9uZSBmaXJzdCwgYmVjYXVzZQogCSAqIGl0IGNhbiBmYWlsOyBpbiB3aGljaCBjYXNlIHdlIGdpdmUgdXAuICovCi0JbGlzdF9mb3JfZWFjaF9zYWZlKGl0ZW0sIF9uLCAmYWRhcC0+Y2xpZW50cykgeworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbGllbnQsIF9uLCAmYWRhcC0+Y2xpZW50cywgbGlzdCkgewogCQlzdHJ1Y3QgaTJjX2RyaXZlcgkqZHJpdmVyOwogCi0JCWNsaWVudCA9IGxpc3RfZW50cnkoaXRlbSwgc3RydWN0IGkyY19jbGllbnQsIGxpc3QpOwogCQlkcml2ZXIgPSBjbGllbnQtPmRyaXZlcjsKIAogCQkvKiBuZXcgc3R5bGUsIGZvbGxvdyBzdGFuZGFyZCBkcml2ZXIgbW9kZWwgKi8KQEAgLTY0Niw2ICs2NjMsMjAgQEAKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCitzdGF0aWMgaW50IF9fYXR0YWNoX2FkYXB0ZXIoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9IHRvX2kyY19hZGFwdGVyKGRldik7CisJc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlciA9IGRhdGE7CisKKwlpMmNfZGV0ZWN0KGFkYXB0ZXIsIGRyaXZlcik7CisKKwkvKiBMZWdhY3kgZHJpdmVycyBzY2FuIGkyYyBidXNzZXMgZGlyZWN0bHkgKi8KKwlpZiAoZHJpdmVyLT5hdHRhY2hfYWRhcHRlcikKKwkJZHJpdmVyLT5hdHRhY2hfYWRhcHRlcihhZGFwdGVyKTsKKworCXJldHVybiAwOworfQorCiAvKgogICogQW4gaTJjX2RyaXZlciBpcyB1c2VkIHdpdGggb25lIG9yIG1vcmUgaTJjX2NsaWVudCAoZGV2aWNlKSBub2RlcyB0byBhY2Nlc3MKICAqIGkyYyBzbGF2ZSBjaGlwcywgb24gYSBidXMgaW5zdGFuY2UgYXNzb2NpYXRlZCB3aXRoIHNvbWUgaTJjX2FkYXB0ZXIuICBUaGVyZQpAQCAtNjg1LDIzICs3MTYsNTkgQEAKIAogCXByX2RlYnVnKCJpMmMtY29yZTogZHJpdmVyIFslc10gcmVnaXN0ZXJlZFxuIiwgZHJpdmVyLT5kcml2ZXIubmFtZSk7CiAKLQkvKiBsZWdhY3kgZHJpdmVycyBzY2FuIGkyYyBidXNzZXMgZGlyZWN0bHkgKi8KLQlpZiAoZHJpdmVyLT5hdHRhY2hfYWRhcHRlcikgewotCQlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXI7Ci0KLQkJZG93bigmaTJjX2FkYXB0ZXJfY2xhc3Muc2VtKTsKLQkJbGlzdF9mb3JfZWFjaF9lbnRyeShhZGFwdGVyLCAmaTJjX2FkYXB0ZXJfY2xhc3MuZGV2aWNlcywKLQkJCQkgICAgZGV2Lm5vZGUpIHsKLQkJCWRyaXZlci0+YXR0YWNoX2FkYXB0ZXIoYWRhcHRlcik7Ci0JCX0KLQkJdXAoJmkyY19hZGFwdGVyX2NsYXNzLnNlbSk7Ci0JfQorCUlOSVRfTElTVF9IRUFEKCZkcml2ZXItPmNsaWVudHMpOworCS8qIFdhbGsgdGhlIGFkYXB0ZXJzIHRoYXQgYXJlIGFscmVhZHkgcHJlc2VudCAqLworCWNsYXNzX2Zvcl9lYWNoX2RldmljZSgmaTJjX2FkYXB0ZXJfY2xhc3MsIGRyaXZlciwgX19hdHRhY2hfYWRhcHRlcik7CiAKIAltdXRleF91bmxvY2soJmNvcmVfbG9jayk7CiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY19yZWdpc3Rlcl9kcml2ZXIpOwogCitzdGF0aWMgaW50IF9fZGV0YWNoX2FkYXB0ZXIoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9IHRvX2kyY19hZGFwdGVyKGRldik7CisJc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlciA9IGRhdGE7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgKl9uOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGNsaWVudCwgX24sICZkcml2ZXItPmNsaWVudHMsIGRldGVjdGVkKSB7CisJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgIlJlbW92aW5nICVzIGF0IDB4JXhcbiIsCisJCQljbGllbnQtPm5hbWUsIGNsaWVudC0+YWRkcik7CisJCWxpc3RfZGVsKCZjbGllbnQtPmRldGVjdGVkKTsKKwkJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGNsaWVudCk7CisJfQorCisJaWYgKGlzX25ld3N0eWxlX2RyaXZlcihkcml2ZXIpKQorCQlyZXR1cm4gMDsKKworCS8qIEhhdmUgYSBsb29rIGF0IGVhY2ggYWRhcHRlciwgaWYgY2xpZW50cyBvZiB0aGlzIGRyaXZlciBhcmUgc3RpbGwKKwkgKiBhdHRhY2hlZC4gSWYgc28sIGRldGFjaCB0aGVtIHRvIGJlIGFibGUgdG8ga2lsbCB0aGUgZHJpdmVyCisJICogYWZ0ZXJ3YXJkcy4KKwkgKi8KKwlpZiAoZHJpdmVyLT5kZXRhY2hfYWRhcHRlcikgeworCQlpZiAoZHJpdmVyLT5kZXRhY2hfYWRhcHRlcihhZGFwdGVyKSkKKwkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwKKwkJCQkiZGV0YWNoX2FkYXB0ZXIgZmFpbGVkIGZvciBkcml2ZXIgWyVzXVxuIiwKKwkJCQlkcml2ZXItPmRyaXZlci5uYW1lKTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCAqX247CisKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGNsaWVudCwgX24sICZhZGFwdGVyLT5jbGllbnRzLCBsaXN0KSB7CisJCQlpZiAoY2xpZW50LT5kcml2ZXIgIT0gZHJpdmVyKQorCQkJCWNvbnRpbnVlOworCQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LAorCQkJCSJkZXRhY2hpbmcgY2xpZW50IFslc10gYXQgMHglMDJ4XG4iLAorCQkJCWNsaWVudC0+bmFtZSwgY2xpZW50LT5hZGRyKTsKKwkJCWlmIChkcml2ZXItPmRldGFjaF9jbGllbnQoY2xpZW50KSkKKwkJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJkZXRhY2hfY2xpZW50ICIKKwkJCQkJImZhaWxlZCBmb3IgY2xpZW50IFslc10gYXQgMHglMDJ4XG4iLAorCQkJCQljbGllbnQtPm5hbWUsIGNsaWVudC0+YWRkcik7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKwogLyoqCiAgKiBpMmNfZGVsX2RyaXZlciAtIHVucmVnaXN0ZXIgSTJDIGRyaXZlcgogICogQGRyaXZlcjogdGhlIGRyaXZlciBiZWluZyB1bnJlZ2lzdGVyZWQKQEAgLTcwOSw0OCArNzc2LDEwIEBACiAgKi8KIHZvaWQgaTJjX2RlbF9kcml2ZXIoc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlcikKIHsKLQlzdHJ1Y3QgbGlzdF9oZWFkICAgKml0ZW0yLCAqX247Ci0Jc3RydWN0IGkyY19jbGllbnQgICpjbGllbnQ7Ci0Jc3RydWN0IGkyY19hZGFwdGVyICphZGFwOwotCiAJbXV0ZXhfbG9jaygmY29yZV9sb2NrKTsKIAotCS8qIG5ldy1zdHlsZSBkcml2ZXI/ICovCi0JaWYgKGlzX25ld3N0eWxlX2RyaXZlcihkcml2ZXIpKQotCQlnb3RvIHVucmVnaXN0ZXI7CisJY2xhc3NfZm9yX2VhY2hfZGV2aWNlKCZpMmNfYWRhcHRlcl9jbGFzcywgZHJpdmVyLCBfX2RldGFjaF9hZGFwdGVyKTsKIAotCS8qIEhhdmUgYSBsb29rIGF0IGVhY2ggYWRhcHRlciwgaWYgY2xpZW50cyBvZiB0aGlzIGRyaXZlciBhcmUgc3RpbGwKLQkgKiBhdHRhY2hlZC4gSWYgc28sIGRldGFjaCB0aGVtIHRvIGJlIGFibGUgdG8ga2lsbCB0aGUgZHJpdmVyCi0JICogYWZ0ZXJ3YXJkcy4KLQkgKi8KLQlkb3duKCZpMmNfYWRhcHRlcl9jbGFzcy5zZW0pOwotCWxpc3RfZm9yX2VhY2hfZW50cnkoYWRhcCwgJmkyY19hZGFwdGVyX2NsYXNzLmRldmljZXMsIGRldi5ub2RlKSB7Ci0JCWlmIChkcml2ZXItPmRldGFjaF9hZGFwdGVyKSB7Ci0JCQlpZiAoZHJpdmVyLT5kZXRhY2hfYWRhcHRlcihhZGFwKSkgewotCQkJCWRldl9lcnIoJmFkYXAtPmRldiwgImRldGFjaF9hZGFwdGVyIGZhaWxlZCAiCi0JCQkJCSJmb3IgZHJpdmVyIFslc11cbiIsCi0JCQkJCWRyaXZlci0+ZHJpdmVyLm5hbWUpOwotCQkJfQotCQl9IGVsc2UgewotCQkJbGlzdF9mb3JfZWFjaF9zYWZlKGl0ZW0yLCBfbiwgJmFkYXAtPmNsaWVudHMpIHsKLQkJCQljbGllbnQgPSBsaXN0X2VudHJ5KGl0ZW0yLCBzdHJ1Y3QgaTJjX2NsaWVudCwgbGlzdCk7Ci0JCQkJaWYgKGNsaWVudC0+ZHJpdmVyICE9IGRyaXZlcikKLQkJCQkJY29udGludWU7Ci0JCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiZGV0YWNoaW5nIGNsaWVudCBbJXNdICIKLQkJCQkJImF0IDB4JTAyeFxuIiwgY2xpZW50LT5uYW1lLAotCQkJCQljbGllbnQtPmFkZHIpOwotCQkJCWlmIChkcml2ZXItPmRldGFjaF9jbGllbnQoY2xpZW50KSkgewotCQkJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJkZXRhY2hfY2xpZW50ICIKLQkJCQkJCSJmYWlsZWQgZm9yIGNsaWVudCBbJXNdIGF0ICIKLQkJCQkJCSIweCUwMnhcbiIsIGNsaWVudC0+bmFtZSwKLQkJCQkJCWNsaWVudC0+YWRkcik7Ci0JCQkJfQotCQkJfQotCQl9Ci0JfQotCXVwKCZpMmNfYWRhcHRlcl9jbGFzcy5zZW0pOwotCi0gdW5yZWdpc3RlcjoKIAlkcml2ZXJfdW5yZWdpc3RlcigmZHJpdmVyLT5kcml2ZXIpOwogCXByX2RlYnVnKCJpMmMtY29yZTogZHJpdmVyIFslc10gdW5yZWdpc3RlcmVkXG4iLCBkcml2ZXItPmRyaXZlci5uYW1lKTsKIApAQCAtODYzLDggKzg5Miw5IEBACiAgKi8KIHN0cnVjdCBpMmNfY2xpZW50ICppMmNfdXNlX2NsaWVudChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQogewotCWdldF9kZXZpY2UoJmNsaWVudC0+ZGV2KTsKLQlyZXR1cm4gY2xpZW50OworCWlmIChjbGllbnQgJiYgZ2V0X2RldmljZSgmY2xpZW50LT5kZXYpKQorCQlyZXR1cm4gY2xpZW50OworCXJldHVybiBOVUxMOwogfQogRVhQT1JUX1NZTUJPTChpMmNfdXNlX2NsaWVudCk7CiAKQEAgLTg3Niw3ICs5MDYsOCBAQAogICovCiB2b2lkIGkyY19yZWxlYXNlX2NsaWVudChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQogewotCXB1dF9kZXZpY2UoJmNsaWVudC0+ZGV2KTsKKwlpZiAoY2xpZW50KQorCQlwdXRfZGV2aWNlKCZjbGllbnQtPmRldik7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY19yZWxlYXNlX2NsaWVudCk7CiAKQEAgLTk0MiwxMCArOTczLDM5IEBACiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KIAorLyoqCisgKiBpMmNfdHJhbnNmZXIgLSBleGVjdXRlIGEgc2luZ2xlIG9yIGNvbWJpbmVkIEkyQyBtZXNzYWdlCisgKiBAYWRhcDogSGFuZGxlIHRvIEkyQyBidXMKKyAqIEBtc2dzOiBPbmUgb3IgbW9yZSBtZXNzYWdlcyB0byBleGVjdXRlIGJlZm9yZSBTVE9QIGlzIGlzc3VlZCB0bworICoJdGVybWluYXRlIHRoZSBvcGVyYXRpb247IGVhY2ggbWVzc2FnZSBiZWdpbnMgd2l0aCBhIFNUQVJULgorICogQG51bTogTnVtYmVyIG9mIG1lc3NhZ2VzIHRvIGJlIGV4ZWN1dGVkLgorICoKKyAqIFJldHVybnMgbmVnYXRpdmUgZXJybm8sIGVsc2UgdGhlIG51bWJlciBvZiBtZXNzYWdlcyBleGVjdXRlZC4KKyAqCisgKiBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gcmVxdWlyZW1lbnQgdGhhdCBlYWNoIG1lc3NhZ2UgYmUgc2VudCB0bworICogdGhlIHNhbWUgc2xhdmUgYWRkcmVzcywgYWx0aG91Z2ggdGhhdCBpcyB0aGUgbW9zdCBjb21tb24gbW9kZWwuCisgKi8KIGludCBpMmNfdHJhbnNmZXIoc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgc3RydWN0IGkyY19tc2cgKm1zZ3MsIGludCBudW0pCiB7CiAJaW50IHJldDsKIAorCS8qIFJFVklTSVQgdGhlIGZhdWx0IHJlcG9ydGluZyBtb2RlbCBoZXJlIGlzIHdlYWs6CisJICoKKwkgKiAgLSBXaGVuIHdlIGdldCBhbiBlcnJvciBhZnRlciByZWNlaXZpbmcgTiBieXRlcyBmcm9tIGEgc2xhdmUsCisJICogICAgdGhlcmUgaXMgbm8gd2F5IHRvIHJlcG9ydCAiTiIuCisJICoKKwkgKiAgLSBXaGVuIHdlIGdldCBhIE5BSyBhZnRlciB0cmFuc21pdHRpbmcgTiBieXRlcyB0byBhIHNsYXZlLAorCSAqICAgIHRoZXJlIGlzIG5vIHdheSB0byByZXBvcnQgIk4iIC4uLiBvciB0byBsZXQgdGhlIG1hc3RlcgorCSAqICAgIGNvbnRpbnVlIGV4ZWN1dGluZyB0aGUgcmVzdCBvZiB0aGlzIGNvbWJpbmVkIG1lc3NhZ2UsIGlmCisJICogICAgdGhhdCdzIHRoZSBhcHByb3ByaWF0ZSByZXNwb25zZS4KKwkgKgorCSAqICAtIFdoZW4gZm9yIGV4YW1wbGUgIm51bSIgaXMgdHdvIGFuZCB3ZSBzdWNjZXNzZnVsbHkgY29tcGxldGUKKwkgKiAgICB0aGUgZmlyc3QgbWVzc2FnZSBidXQgZ2V0IGFuIGVycm9yIHBhcnQgd2F5IHRocm91Z2ggdGhlCisJICogICAgc2Vjb25kLCBpdCdzIHVuY2xlYXIgd2hldGhlciB0aGF0IHNob3VsZCBiZSByZXBvcnRlZCBhcworCSAqICAgIG9uZSAoZGlzY2FyZGluZyBzdGF0dXMgb24gdGhlIHNlY29uZCBtZXNzYWdlKSBvciBlcnJubworCSAqICAgIChkaXNjYXJkaW5nIHN0YXR1cyBvbiB0aGUgZmlyc3Qgb25lKS4KKwkgKi8KKwogCWlmIChhZGFwLT5hbGdvLT5tYXN0ZXJfeGZlcikgewogI2lmZGVmIERFQlVHCiAJCWZvciAocmV0ID0gMDsgcmV0IDwgbnVtOyByZXQrKykgewpAQCAtOTcxLDExICsxMDMxLDE5IEBACiAJCXJldHVybiByZXQ7CiAJfSBlbHNlIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiSTJDIGxldmVsIHRyYW5zZmVycyBub3Qgc3VwcG9ydGVkXG4iKTsKLQkJcmV0dXJuIC1FTk9TWVM7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiB9CiBFWFBPUlRfU1lNQk9MKGkyY190cmFuc2Zlcik7CiAKKy8qKgorICogaTJjX21hc3Rlcl9zZW5kIC0gaXNzdWUgYSBzaW5nbGUgSTJDIG1lc3NhZ2UgaW4gbWFzdGVyIHRyYW5zbWl0IG1vZGUKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBidWY6IERhdGEgdGhhdCB3aWxsIGJlIHdyaXR0ZW4gdG8gdGhlIHNsYXZlCisgKiBAY291bnQ6IEhvdyBtYW55IGJ5dGVzIHRvIHdyaXRlCisgKgorICogUmV0dXJucyBuZWdhdGl2ZSBlcnJubywgb3IgZWxzZSB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4uCisgKi8KIGludCBpMmNfbWFzdGVyX3NlbmQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCxjb25zdCBjaGFyICpidWYgLGludCBjb3VudCkKIHsKIAlpbnQgcmV0OwpAQCAtOTk1LDYgKzEwNjMsMTQgQEAKIH0KIEVYUE9SVF9TWU1CT0woaTJjX21hc3Rlcl9zZW5kKTsKIAorLyoqCisgKiBpMmNfbWFzdGVyX3JlY3YgLSBpc3N1ZSBhIHNpbmdsZSBJMkMgbWVzc2FnZSBpbiBtYXN0ZXIgcmVjZWl2ZSBtb2RlCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAYnVmOiBXaGVyZSB0byBzdG9yZSBkYXRhIHJlYWQgZnJvbSBzbGF2ZQorICogQGNvdW50OiBIb3cgbWFueSBieXRlcyB0byByZWFkCisgKgorICogUmV0dXJucyBuZWdhdGl2ZSBlcnJubywgb3IgZWxzZSB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuCisgKi8KIGludCBpMmNfbWFzdGVyX3JlY3Yoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgY2hhciAqYnVmICxpbnQgY291bnQpCiB7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwPWNsaWVudC0+YWRhcHRlcjsKQEAgLTExMDMsNyArMTE3OSw3IEBACiAKIAkJZGV2X3dhcm4oJmFkYXB0ZXItPmRldiwgIlNNQnVzIFF1aWNrIGNvbW1hbmQgbm90IHN1cHBvcnRlZCwgIgogCQkJICJjYW4ndCBwcm9iZSBmb3IgY2hpcHNcbiIpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAkvKiBQcm9iZSBlbnRyaWVzIGFyZSBkb25lIHNlY29uZCwgYW5kIGFyZSBub3QgYWZmZWN0ZWQgYnkgaWdub3JlCkBAIC0xMTU3LDYgKzEyMzMsMTc5IEBACiB9CiBFWFBPUlRfU1lNQk9MKGkyY19wcm9iZSk7CiAKKy8qIFNlcGFyYXRlIGRldGVjdGlvbiBmdW5jdGlvbiBmb3IgbmV3LXN0eWxlIGRyaXZlcnMgKi8KK3N0YXRpYyBpbnQgaTJjX2RldGVjdF9hZGRyZXNzKHN0cnVjdCBpMmNfY2xpZW50ICp0ZW1wX2NsaWVudCwgaW50IGtpbmQsCisJCQkgICAgICBzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyKQoreworCXN0cnVjdCBpMmNfYm9hcmRfaW5mbyBpbmZvOworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9IHRlbXBfY2xpZW50LT5hZGFwdGVyOworCWludCBhZGRyID0gdGVtcF9jbGllbnQtPmFkZHI7CisJaW50IGVycjsKKworCS8qIE1ha2Ugc3VyZSB0aGUgYWRkcmVzcyBpcyB2YWxpZCAqLworCWlmIChhZGRyIDwgMHgwMyB8fCBhZGRyID4gMHg3NykgeworCQlkZXZfd2FybigmYWRhcHRlci0+ZGV2LCAiSW52YWxpZCBwcm9iZSBhZGRyZXNzIDB4JTAyeFxuIiwKKwkJCSBhZGRyKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogU2tpcCBpZiBhbHJlYWR5IGluIHVzZSAqLworCWlmIChpMmNfY2hlY2tfYWRkcihhZGFwdGVyLCBhZGRyKSkKKwkJcmV0dXJuIDA7CisKKwkvKiBNYWtlIHN1cmUgdGhlcmUgaXMgc29tZXRoaW5nIGF0IHRoaXMgYWRkcmVzcywgdW5sZXNzIGZvcmNlZCAqLworCWlmIChraW5kIDwgMCkgeworCQlpZiAoaTJjX3NtYnVzX3hmZXIoYWRhcHRlciwgYWRkciwgMCwgMCwgMCwKKwkJCQkgICBJMkNfU01CVVNfUVVJQ0ssIE5VTEwpIDwgMCkKKwkJCXJldHVybiAwOworCisJCS8qIHByZXZlbnQgMjRSRjA4IGNvcnJ1cHRpb24gKi8KKwkJaWYgKChhZGRyICYgfjB4MGYpID09IDB4NTApCisJCQlpMmNfc21idXNfeGZlcihhZGFwdGVyLCBhZGRyLCAwLCAwLCAwLAorCQkJCSAgICAgICBJMkNfU01CVVNfUVVJQ0ssIE5VTEwpOworCX0KKworCS8qIEZpbmFsbHkgY2FsbCB0aGUgY3VzdG9tIGRldGVjdGlvbiBmdW5jdGlvbiAqLworCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9hcmRfaW5mbykpOworCWluZm8uYWRkciA9IGFkZHI7CisJZXJyID0gZHJpdmVyLT5kZXRlY3QodGVtcF9jbGllbnQsIGtpbmQsICZpbmZvKTsKKwlpZiAoZXJyKSB7CisJCS8qIC1FTk9ERVYgaXMgcmV0dXJuZWQgaWYgdGhlIGRldGVjdGlvbiBmYWlscy4gV2UgY2F0Y2ggaXQKKwkJICAgaGVyZSBhcyB0aGlzIGlzbid0IGFuIGVycm9yLiAqLworCQlyZXR1cm4gZXJyID09IC1FTk9ERVYgPyAwIDogZXJyOworCX0KKworCS8qIENvbnNpc3RlbmN5IGNoZWNrICovCisJaWYgKGluZm8udHlwZVswXSA9PSAnXDAnKSB7CisJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgIiVzIGRldGVjdGlvbiBmdW5jdGlvbiBwcm92aWRlZCAiCisJCQkibm8gbmFtZSBmb3IgMHgleFxuIiwgZHJpdmVyLT5kcml2ZXIubmFtZSwKKwkJCWFkZHIpOworCX0gZWxzZSB7CisJCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CisKKwkJLyogRGV0ZWN0aW9uIHN1Y2NlZWRlZCwgaW5zdGFudGlhdGUgdGhlIGRldmljZSAqLworCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJDcmVhdGluZyAlcyBhdCAweCUwMnhcbiIsCisJCQlpbmZvLnR5cGUsIGluZm8uYWRkcik7CisJCWNsaWVudCA9IGkyY19uZXdfZGV2aWNlKGFkYXB0ZXIsICZpbmZvKTsKKwkJaWYgKGNsaWVudCkKKwkJCWxpc3RfYWRkX3RhaWwoJmNsaWVudC0+ZGV0ZWN0ZWQsICZkcml2ZXItPmNsaWVudHMpOworCQllbHNlCisJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJGYWlsZWQgY3JlYXRpbmcgJXMgYXQgMHglMDJ4XG4iLAorCQkJCWluZm8udHlwZSwgaW5mby5hZGRyKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaTJjX2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIHN0cnVjdCBpMmNfZHJpdmVyICpkcml2ZXIpCit7CisJY29uc3Qgc3RydWN0IGkyY19jbGllbnRfYWRkcmVzc19kYXRhICphZGRyZXNzX2RhdGE7CisJc3RydWN0IGkyY19jbGllbnQgKnRlbXBfY2xpZW50OworCWludCBpLCBlcnIgPSAwOworCWludCBhZGFwX2lkID0gaTJjX2FkYXB0ZXJfaWQoYWRhcHRlcik7CisKKwlhZGRyZXNzX2RhdGEgPSBkcml2ZXItPmFkZHJlc3NfZGF0YTsKKwlpZiAoIWRyaXZlci0+ZGV0ZWN0IHx8ICFhZGRyZXNzX2RhdGEpCisJCXJldHVybiAwOworCisJLyogU2V0IHVwIGEgdGVtcG9yYXJ5IGNsaWVudCB0byBoZWxwIGRldGVjdCBjYWxsYmFjayAqLworCXRlbXBfY2xpZW50ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGkyY19jbGllbnQpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXRlbXBfY2xpZW50KQorCQlyZXR1cm4gLUVOT01FTTsKKwl0ZW1wX2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CisKKwkvKiBGb3JjZSBlbnRyaWVzIGFyZSBkb25lIGZpcnN0LCBhbmQgYXJlIG5vdCBhZmZlY3RlZCBieSBpZ25vcmUKKwkgICBlbnRyaWVzICovCisJaWYgKGFkZHJlc3NfZGF0YS0+Zm9yY2VzKSB7CisJCWNvbnN0IHVuc2lnbmVkIHNob3J0ICogY29uc3QgKmZvcmNlcyA9IGFkZHJlc3NfZGF0YS0+Zm9yY2VzOworCQlpbnQga2luZDsKKworCQlmb3IgKGtpbmQgPSAwOyBmb3JjZXNba2luZF07IGtpbmQrKykgeworCQkJZm9yIChpID0gMDsgZm9yY2VzW2tpbmRdW2ldICE9IEkyQ19DTElFTlRfRU5EOworCQkJICAgICBpICs9IDIpIHsKKwkJCQlpZiAoZm9yY2VzW2tpbmRdW2ldID09IGFkYXBfaWQKKwkJCQkgfHwgZm9yY2VzW2tpbmRdW2ldID09IEFOWV9JMkNfQlVTKSB7CisJCQkJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgImZvdW5kIGZvcmNlICIKKwkJCQkJCSJwYXJhbWV0ZXIgZm9yIGFkYXB0ZXIgJWQsICIKKwkJCQkJCSJhZGRyIDB4JTAyeCwga2luZCAlZFxuIiwKKwkJCQkJCWFkYXBfaWQsIGZvcmNlc1traW5kXVtpICsgMV0sCisJCQkJCQlraW5kKTsKKwkJCQkJdGVtcF9jbGllbnQtPmFkZHIgPSBmb3JjZXNba2luZF1baSArIDFdOworCQkJCQllcnIgPSBpMmNfZGV0ZWN0X2FkZHJlc3ModGVtcF9jbGllbnQsCisJCQkJCQlraW5kLCBkcml2ZXIpOworCQkJCQlpZiAoZXJyKQorCQkJCQkJZ290byBleGl0X2ZyZWU7CisJCQkJfQorCQkJfQorCQl9CisJfQorCisJLyogU3RvcCBoZXJlIGlmIHdlIGNhbid0IHVzZSBTTUJVU19RVUlDSyAqLworCWlmICghaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoYWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfUVVJQ0spKSB7CisJCWlmIChhZGRyZXNzX2RhdGEtPnByb2JlWzBdID09IEkyQ19DTElFTlRfRU5ECisJCSAmJiBhZGRyZXNzX2RhdGEtPm5vcm1hbF9pMmNbMF0gPT0gSTJDX0NMSUVOVF9FTkQpCisJCQlnb3RvIGV4aXRfZnJlZTsKKworCQlkZXZfd2FybigmYWRhcHRlci0+ZGV2LCAiU01CdXMgUXVpY2sgY29tbWFuZCBub3Qgc3VwcG9ydGVkLCAiCisJCQkgImNhbid0IHByb2JlIGZvciBjaGlwc1xuIik7CisJCWVyciA9IC1FT1BOT1RTVVBQOworCQlnb3RvIGV4aXRfZnJlZTsKKwl9CisKKwkvKiBTdG9wIGhlcmUgaWYgdGhlIGNsYXNzZXMgZG8gbm90IG1hdGNoICovCisJaWYgKCEoYWRhcHRlci0+Y2xhc3MgJiBkcml2ZXItPmNsYXNzKSkKKwkJZ290byBleGl0X2ZyZWU7CisKKwkvKiBQcm9iZSBlbnRyaWVzIGFyZSBkb25lIHNlY29uZCwgYW5kIGFyZSBub3QgYWZmZWN0ZWQgYnkgaWdub3JlCisJICAgZW50cmllcyBlaXRoZXIgKi8KKwlmb3IgKGkgPSAwOyBhZGRyZXNzX2RhdGEtPnByb2JlW2ldICE9IEkyQ19DTElFTlRfRU5EOyBpICs9IDIpIHsKKwkJaWYgKGFkZHJlc3NfZGF0YS0+cHJvYmVbaV0gPT0gYWRhcF9pZAorCQkgfHwgYWRkcmVzc19kYXRhLT5wcm9iZVtpXSA9PSBBTllfSTJDX0JVUykgeworCQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiZm91bmQgcHJvYmUgcGFyYW1ldGVyIGZvciAiCisJCQkJImFkYXB0ZXIgJWQsIGFkZHIgMHglMDJ4XG4iLCBhZGFwX2lkLAorCQkJCWFkZHJlc3NfZGF0YS0+cHJvYmVbaSArIDFdKTsKKwkJCXRlbXBfY2xpZW50LT5hZGRyID0gYWRkcmVzc19kYXRhLT5wcm9iZVtpICsgMV07CisJCQllcnIgPSBpMmNfZGV0ZWN0X2FkZHJlc3ModGVtcF9jbGllbnQsIC0xLCBkcml2ZXIpOworCQkJaWYgKGVycikKKwkJCQlnb3RvIGV4aXRfZnJlZTsKKwkJfQorCX0KKworCS8qIE5vcm1hbCBlbnRyaWVzIGFyZSBkb25lIGxhc3QsIHVubGVzcyBzaGFkb3dlZCBieSBhbiBpZ25vcmUgZW50cnkgKi8KKwlmb3IgKGkgPSAwOyBhZGRyZXNzX2RhdGEtPm5vcm1hbF9pMmNbaV0gIT0gSTJDX0NMSUVOVF9FTkQ7IGkgKz0gMSkgeworCQlpbnQgaiwgaWdub3JlOworCisJCWlnbm9yZSA9IDA7CisJCWZvciAoaiA9IDA7IGFkZHJlc3NfZGF0YS0+aWdub3JlW2pdICE9IEkyQ19DTElFTlRfRU5EOworCQkgICAgIGogKz0gMikgeworCQkJaWYgKChhZGRyZXNzX2RhdGEtPmlnbm9yZVtqXSA9PSBhZGFwX2lkIHx8CisJCQkgICAgIGFkZHJlc3NfZGF0YS0+aWdub3JlW2pdID09IEFOWV9JMkNfQlVTKQorCQkJICYmIGFkZHJlc3NfZGF0YS0+aWdub3JlW2ogKyAxXQorCQkJICAgID09IGFkZHJlc3NfZGF0YS0+bm9ybWFsX2kyY1tpXSkgeworCQkJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgImZvdW5kIGlnbm9yZSAiCisJCQkJCSJwYXJhbWV0ZXIgZm9yIGFkYXB0ZXIgJWQsICIKKwkJCQkJImFkZHIgMHglMDJ4XG4iLCBhZGFwX2lkLAorCQkJCQlhZGRyZXNzX2RhdGEtPmlnbm9yZVtqICsgMV0pOworCQkJCWlnbm9yZSA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJaWYgKGlnbm9yZSkKKwkJCWNvbnRpbnVlOworCisJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgImZvdW5kIG5vcm1hbCBlbnRyeSBmb3IgYWRhcHRlciAlZCwgIgorCQkJImFkZHIgMHglMDJ4XG4iLCBhZGFwX2lkLAorCQkJYWRkcmVzc19kYXRhLT5ub3JtYWxfaTJjW2ldKTsKKwkJdGVtcF9jbGllbnQtPmFkZHIgPSBhZGRyZXNzX2RhdGEtPm5vcm1hbF9pMmNbaV07CisJCWVyciA9IGkyY19kZXRlY3RfYWRkcmVzcyh0ZW1wX2NsaWVudCwgLTEsIGRyaXZlcik7CisJCWlmIChlcnIpCisJCQlnb3RvIGV4aXRfZnJlZTsKKwl9CisKKyBleGl0X2ZyZWU6CisJa2ZyZWUodGVtcF9jbGllbnQpOworCXJldHVybiBlcnI7Cit9CisKIHN0cnVjdCBpMmNfY2xpZW50ICoKIGkyY19uZXdfcHJvYmVkX2RldmljZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsCiAJCSAgICAgIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyAqaW5mbywKQEAgLTEyOTUsMjkgKzE1NDQsMzggQEAKIAlpZiAocnBlYyAhPSBjcGVjKSB7CiAJCXByX2RlYnVnKCJpMmMtY29yZTogQmFkIFBFQyAweCUwMnggdnMuIDB4JTAyeFxuIiwKIAkJCXJwZWMsIGNwZWMpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRUJBRE1TRzsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLXMzMiBpMmNfc21idXNfd3JpdGVfcXVpY2soc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggdmFsdWUpCi17Ci0JcmV0dXJuIGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlcixjbGllbnQtPmFkZHIsY2xpZW50LT5mbGFncywKLQkgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsMCxJMkNfU01CVVNfUVVJQ0ssTlVMTCk7Ci19Ci1FWFBPUlRfU1lNQk9MKGkyY19zbWJ1c193cml0ZV9xdWljayk7Ci0KKy8qKgorICogaTJjX3NtYnVzX3JlYWRfYnl0ZSAtIFNNQnVzICJyZWNlaXZlIGJ5dGUiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgInJlY2VpdmUgYnl0ZSIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSB0aGUgYnl0ZSByZWNlaXZlZCBmcm9tIHRoZSBkZXZpY2UuCisgKi8KIHMzMiBpMmNfc21idXNfcmVhZF9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKLQlpZiAoaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfUkVBRCwwLEkyQ19TTUJVU19CWVRFLCAmZGF0YSkpCi0JCXJldHVybiAtMTsKLQllbHNlCi0JCXJldHVybiBkYXRhLmJ5dGU7CisJaW50IHN0YXR1czsKKworCXN0YXR1cyA9IGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAorCQkJCUkyQ19TTUJVU19SRUFELCAwLAorCQkJCUkyQ19TTUJVU19CWVRFLCAmZGF0YSk7CisJcmV0dXJuIChzdGF0dXMgPCAwKSA/IHN0YXR1cyA6IGRhdGEuYnl0ZTsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3JlYWRfYnl0ZSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3dyaXRlX2J5dGUgLSBTTUJ1cyAic2VuZCBieXRlIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQHZhbHVlOiBCeXRlIHRvIGJlIHNlbnQKKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAic2VuZCBieXRlIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHplcm8gb24gc3VjY2Vzcy4KKyAqLwogczMyIGkyY19zbWJ1c193cml0ZV9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IHZhbHVlKQogewogCXJldHVybiBpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsY2xpZW50LT5hZGRyLGNsaWVudC0+ZmxhZ3MsCkBAIC0xMzI1LDE3ICsxNTgzLDM1IEBACiB9CiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c193cml0ZV9ieXRlKTsKIAorLyoqCisgKiBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEgLSBTTUJ1cyAicmVhZCBieXRlIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAicmVhZCBieXRlIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIGEgZGF0YSBieXRlIHJlY2VpdmVkIGZyb20gdGhlIGRldmljZS4KKyAqLwogczMyIGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCBjb21tYW5kKQogewogCXVuaW9uIGkyY19zbWJ1c19kYXRhIGRhdGE7Ci0JaWYgKGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlcixjbGllbnQtPmFkZHIsY2xpZW50LT5mbGFncywKLQkgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX1JFQUQsY29tbWFuZCwgSTJDX1NNQlVTX0JZVEVfREFUQSwmZGF0YSkpCi0JCXJldHVybiAtMTsKLQllbHNlCi0JCXJldHVybiBkYXRhLmJ5dGU7CisJaW50IHN0YXR1czsKKworCXN0YXR1cyA9IGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAorCQkJCUkyQ19TTUJVU19SRUFELCBjb21tYW5kLAorCQkJCUkyQ19TTUJVU19CWVRFX0RBVEEsICZkYXRhKTsKKwlyZXR1cm4gKHN0YXR1cyA8IDApID8gc3RhdHVzIDogZGF0YS5ieXRlOwogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEpOwogCisvKioKKyAqIGkyY19zbWJ1c193cml0ZV9ieXRlX2RhdGEgLSBTTUJ1cyAid3JpdGUgYnl0ZSIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlCisgKiBAdmFsdWU6IEJ5dGUgYmVpbmcgd3JpdHRlbgorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJ3cml0ZSBieXRlIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHplcm8gb24gc3VjY2Vzcy4KKyAqLwogczMyIGkyY19zbWJ1c193cml0ZV9ieXRlX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggY29tbWFuZCwgdTggdmFsdWUpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKQEAgLTEzNDYsMTcgKzE2MjIsMzUgQEAKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3dyaXRlX2J5dGVfZGF0YSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3JlYWRfd29yZF9kYXRhIC0gU01CdXMgInJlYWQgd29yZCIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgInJlYWQgd29yZCIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSBhIDE2LWJpdCB1bnNpZ25lZCAid29yZCIgcmVjZWl2ZWQgZnJvbSB0aGUgZGV2aWNlLgorICovCiBzMzIgaTJjX3NtYnVzX3JlYWRfd29yZF9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IGNvbW1hbmQpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKLQlpZiAoaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfUkVBRCxjb21tYW5kLCBJMkNfU01CVVNfV09SRF9EQVRBLCAmZGF0YSkpCi0JCXJldHVybiAtMTsKLQllbHNlCi0JCXJldHVybiBkYXRhLndvcmQ7CisJaW50IHN0YXR1czsKKworCXN0YXR1cyA9IGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAorCQkJCUkyQ19TTUJVU19SRUFELCBjb21tYW5kLAorCQkJCUkyQ19TTUJVU19XT1JEX0RBVEEsICZkYXRhKTsKKwlyZXR1cm4gKHN0YXR1cyA8IDApID8gc3RhdHVzIDogZGF0YS53b3JkOwogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfcmVhZF93b3JkX2RhdGEpOwogCisvKioKKyAqIGkyY19zbWJ1c193cml0ZV93b3JkX2RhdGEgLSBTTUJ1cyAid3JpdGUgd29yZCIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlCisgKiBAdmFsdWU6IDE2LWJpdCAid29yZCIgYmVpbmcgd3JpdHRlbgorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJ3cml0ZSB3b3JkIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHplcm8gb24gc3VjY2Vzcy4KKyAqLwogczMyIGkyY19zbWJ1c193cml0ZV93b3JkX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggY29tbWFuZCwgdTE2IHZhbHVlKQogewogCXVuaW9uIGkyY19zbWJ1c19kYXRhIGRhdGE7CkBAIC0xMzY4LDE1ICsxNjYyLDE0IEBACiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c193cml0ZV93b3JkX2RhdGEpOwogCiAvKioKLSAqIGkyY19zbWJ1c19yZWFkX2Jsb2NrX2RhdGEgLSBTTUJ1cyBibG9jayByZWFkIHJlcXVlc3QKKyAqIGkyY19zbWJ1c19yZWFkX2Jsb2NrX2RhdGEgLSBTTUJ1cyAiYmxvY2sgcmVhZCIgcHJvdG9jb2wKICAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKLSAqIEBjb21tYW5kOiBDb21tYW5kIGJ5dGUgaXNzdWVkIHRvIGxldCB0aGUgc2xhdmUga25vdyB3aGF0IGRhdGEgc2hvdWxkCi0gKgliZSByZXR1cm5lZAorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKICAqIEB2YWx1ZXM6IEJ5dGUgYXJyYXkgaW50byB3aGljaCBkYXRhIHdpbGwgYmUgcmVhZDsgYmlnIGVub3VnaCB0byBob2xkCiAgKgl0aGUgZGF0YSByZXR1cm5lZCBieSB0aGUgc2xhdmUuICBTTUJ1cyBhbGxvd3MgYXQgbW9zdCAzMiBieXRlcy4KICAqCi0gKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCBpbiB0aGUgc2xhdmUncyByZXNwb25zZSwgZWxzZSBhCi0gKiBuZWdhdGl2ZSBudW1iZXIgdG8gaW5kaWNhdGUgc29tZSBraW5kIG9mIGVycm9yLgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgImJsb2NrIHJlYWQiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgdGhlIG51bWJlciBvZiBkYXRhIGJ5dGVzIGluIHRoZSBzbGF2ZSdzIHJlc3BvbnNlLgogICoKICAqIE5vdGUgdGhhdCB1c2luZyB0aGlzIGZ1bmN0aW9uIHJlcXVpcmVzIHRoYXQgdGhlIGNsaWVudCdzIGFkYXB0ZXIgc3VwcG9ydAogICogdGhlIEkyQ19GVU5DX1NNQlVTX1JFQURfQkxPQ0tfREFUQSBmdW5jdGlvbmFsaXR5LiAgTm90IGFsbCBhZGFwdGVyIGRyaXZlcnMKQEAgLTEzODcsMTcgKzE2ODAsMjkgQEAKIAkJCSAgICAgIHU4ICp2YWx1ZXMpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKKwlpbnQgc3RhdHVzOwogCi0JaWYgKGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfUkVBRCwgY29tbWFuZCwKLQkgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX0JMT0NLX0RBVEEsICZkYXRhKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAorCQkJCUkyQ19TTUJVU19SRUFELCBjb21tYW5kLAorCQkJCUkyQ19TTUJVU19CTE9DS19EQVRBLCAmZGF0YSk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCW1lbWNweSh2YWx1ZXMsICZkYXRhLmJsb2NrWzFdLCBkYXRhLmJsb2NrWzBdKTsKIAlyZXR1cm4gZGF0YS5ibG9ja1swXTsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3dyaXRlX2Jsb2NrX2RhdGEgLSBTTUJ1cyAiYmxvY2sgd3JpdGUiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAY29tbWFuZDogQnl0ZSBpbnRlcnByZXRlZCBieSBzbGF2ZQorICogQGxlbmd0aDogU2l6ZSBvZiBkYXRhIGJsb2NrOyBTTUJ1cyBhbGxvd3MgYXQgbW9zdCAzMiBieXRlcworICogQHZhbHVlczogQnl0ZSBhcnJheSB3aGljaCB3aWxsIGJlIHdyaXR0ZW4uCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgImJsb2NrIHdyaXRlIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHplcm8gb24gc3VjY2Vzcy4KKyAqLwogczMyIGkyY19zbWJ1c193cml0ZV9ibG9ja19kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IGNvbW1hbmQsCiAJCQkgICAgICAgdTggbGVuZ3RoLCBjb25zdCB1OCAqdmFsdWVzKQogewpAQCAtMTQxOCwxNCArMTcyMywxNiBAQAogCQkJCSAgdTggbGVuZ3RoLCB1OCAqdmFsdWVzKQogewogCXVuaW9uIGkyY19zbWJ1c19kYXRhIGRhdGE7CisJaW50IHN0YXR1czsKIAogCWlmIChsZW5ndGggPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQogCQlsZW5ndGggPSBJMkNfU01CVVNfQkxPQ0tfTUFYOwogCWRhdGEuYmxvY2tbMF0gPSBsZW5ndGg7Ci0JaWYgKGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlcixjbGllbnQtPmFkZHIsY2xpZW50LT5mbGFncywKLQkgICAgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX1JFQUQsY29tbWFuZCwKLQkgICAgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX0kyQ19CTE9DS19EQVRBLCZkYXRhKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAorCQkJCUkyQ19TTUJVU19SRUFELCBjb21tYW5kLAorCQkJCUkyQ19TTUJVU19JMkNfQkxPQ0tfREFUQSwgJmRhdGEpOworCWlmIChzdGF0dXMgPCAwKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJbWVtY3B5KHZhbHVlcywgJmRhdGEuYmxvY2tbMV0sIGRhdGEuYmxvY2tbMF0pOwogCXJldHVybiBkYXRhLmJsb2NrWzBdOwpAQCAtMTQ2Niw2ICsxNzczLDcgQEAKIAkgICAgICAgICAgICAgICAgICAgICAgICB9OwogCWludCBpOwogCXU4IHBhcnRpYWxfcGVjID0gMDsKKwlpbnQgc3RhdHVzOwogCiAJbXNnYnVmMFswXSA9IGNvbW1hbmQ7CiAJc3dpdGNoKHNpemUpIHsKQEAgLTE1MTUsMTAgKzE4MjMsMTAgQEAKIAkJfSBlbHNlIHsKIAkJCW1zZ1swXS5sZW4gPSBkYXRhLT5ibG9ja1swXSArIDI7CiAJCQlpZiAobXNnWzBdLmxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVggKyAyKSB7Ci0JCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAic21idXNfYWNjZXNzIGNhbGxlZCB3aXRoICIKLQkJCQkgICAgICAgImludmFsaWQgYmxvY2sgd3JpdGUgc2l6ZSAoJWQpXG4iLAotCQkJCSAgICAgICBkYXRhLT5ibG9ja1swXSk7Ci0JCQkJcmV0dXJuIC0xOworCQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwKKwkJCQkJIkludmFsaWQgYmxvY2sgd3JpdGUgc2l6ZSAlZFxuIiwKKwkJCQkJZGF0YS0+YmxvY2tbMF0pOworCQkJCXJldHVybiAtRUlOVkFMOwogCQkJfQogCQkJZm9yIChpID0gMTsgaSA8IG1zZ1swXS5sZW47IGkrKykKIAkJCQltc2didWYwW2ldID0gZGF0YS0+YmxvY2tbaS0xXTsKQEAgLTE1MjgsMTAgKzE4MzYsMTAgQEAKIAkJbnVtID0gMjsgLyogQW5vdGhlciBzcGVjaWFsIGNhc2UgKi8KIAkJcmVhZF93cml0ZSA9IEkyQ19TTUJVU19SRUFEOwogCQlpZiAoZGF0YS0+YmxvY2tbMF0gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKSB7Ci0JCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICIlcyBjYWxsZWQgd2l0aCBpbnZhbGlkICIKLQkJCQkiYmxvY2sgcHJvYyBjYWxsIHNpemUgKCVkKVxuIiwgX19mdW5jX18sCisJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsCisJCQkJIkludmFsaWQgYmxvY2sgd3JpdGUgc2l6ZSAlZFxuIiwKIAkJCQlkYXRhLT5ibG9ja1swXSk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCQltc2dbMF0ubGVuID0gZGF0YS0+YmxvY2tbMF0gKyAyOwogCQlmb3IgKGkgPSAxOyBpIDwgbXNnWzBdLmxlbjsgaSsrKQpAQCAtMTU0NiwxOSArMTg1NCwxOCBAQAogCQl9IGVsc2UgewogCQkJbXNnWzBdLmxlbiA9IGRhdGEtPmJsb2NrWzBdICsgMTsKIAkJCWlmIChtc2dbMF0ubGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCArIDEpIHsKLQkJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJpMmNfc21idXNfeGZlcl9lbXVsYXRlZCBjYWxsZWQgd2l0aCAiCi0JCQkJICAgICAgICJpbnZhbGlkIGJsb2NrIHdyaXRlIHNpemUgKCVkKVxuIiwKLQkJCQkgICAgICAgZGF0YS0+YmxvY2tbMF0pOwotCQkJCXJldHVybiAtMTsKKwkJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsCisJCQkJCSJJbnZhbGlkIGJsb2NrIHdyaXRlIHNpemUgJWRcbiIsCisJCQkJCWRhdGEtPmJsb2NrWzBdKTsKKwkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCX0KIAkJCWZvciAoaSA9IDE7IGkgPD0gZGF0YS0+YmxvY2tbMF07IGkrKykKIAkJCQltc2didWYwW2ldID0gZGF0YS0+YmxvY2tbaV07CiAJCX0KIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAic21idXNfYWNjZXNzIGNhbGxlZCB3aXRoIGludmFsaWQgc2l6ZSAoJWQpXG4iLAotCQkgICAgICAgc2l6ZSk7Ci0JCXJldHVybiAtMTsKKwkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJaSA9ICgoZmxhZ3MgJiBJMkNfQ0xJRU5UX1BFQykgJiYgc2l6ZSAhPSBJMkNfU01CVVNfUVVJQ0sKQEAgLTE1NzYsMTMgKzE4ODMsMTUgQEAKIAkJCW1zZ1tudW0tMV0ubGVuKys7CiAJfQogCi0JaWYgKGkyY190cmFuc2ZlcihhZGFwdGVyLCBtc2csIG51bSkgPCAwKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gaTJjX3RyYW5zZmVyKGFkYXB0ZXIsIG1zZywgbnVtKTsKKwlpZiAoc3RhdHVzIDwgMCkKKwkJcmV0dXJuIHN0YXR1czsKIAogCS8qIENoZWNrIFBFQyBpZiBsYXN0IG1lc3NhZ2UgaXMgYSByZWFkICovCiAJaWYgKGkgJiYgKG1zZ1tudW0tMV0uZmxhZ3MgJiBJMkNfTV9SRCkpIHsKLQkJaWYgKGkyY19zbWJ1c19jaGVja19wZWMocGFydGlhbF9wZWMsICZtc2dbbnVtLTFdKSA8IDApCi0JCQlyZXR1cm4gLTE7CisJCXN0YXR1cyA9IGkyY19zbWJ1c19jaGVja19wZWMocGFydGlhbF9wZWMsICZtc2dbbnVtLTFdKTsKKwkJaWYgKHN0YXR1cyA8IDApCisJCQlyZXR1cm4gc3RhdHVzOwogCX0KIAogCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19SRUFEKQpAQCAtMTYxMCw5ICsxOTE5LDIxIEBACiAJcmV0dXJuIDA7CiB9CiAKLQorLyoqCisgKiBpMmNfc21idXNfeGZlciAtIGV4ZWN1dGUgU01CdXMgcHJvdG9jb2wgb3BlcmF0aW9ucworICogQGFkYXB0ZXI6IEhhbmRsZSB0byBJMkMgYnVzCisgKiBAYWRkcjogQWRkcmVzcyBvZiBTTUJ1cyBzbGF2ZSBvbiB0aGF0IGJ1cworICogQGZsYWdzOiBJMkNfQ0xJRU5UXyogZmxhZ3MgKHVzdWFsbHkgemVybyBvciBJMkNfQ0xJRU5UX1BFQykKKyAqIEByZWFkX3dyaXRlOiBJMkNfU01CVVNfUkVBRCBvciBJMkNfU01CVVNfV1JJVEUKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlLCBmb3IgcHJvdG9jb2xzIHdoaWNoIHVzZSBzdWNoIGJ5dGVzCisgKiBAcHJvdG9jb2w6IFNNQnVzIHByb3RvY29sIG9wZXJhdGlvbiB0byBleGVjdXRlLCBzdWNoIGFzIEkyQ19TTUJVU19QUk9DX0NBTEwKKyAqIEBkYXRhOiBEYXRhIHRvIGJlIHJlYWQgb3Igd3JpdHRlbgorICoKKyAqIFRoaXMgZXhlY3V0ZXMgYW4gU01CdXMgcHJvdG9jb2wgb3BlcmF0aW9uLCBhbmQgcmV0dXJucyBhIG5lZ2F0aXZlCisgKiBlcnJubyBjb2RlIGVsc2UgemVybyBvbiBzdWNjZXNzLgorICovCiBzMzIgaTJjX3NtYnVzX3hmZXIoc3RydWN0IGkyY19hZGFwdGVyICogYWRhcHRlciwgdTE2IGFkZHIsIHVuc2lnbmVkIHNob3J0IGZsYWdzLAotICAgICAgICAgICAgICAgICAgIGNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwgaW50IHNpemUsCisJCSAgIGNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwgaW50IHByb3RvY29sLAogICAgICAgICAgICAgICAgICAgIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKIHsKIAlzMzIgcmVzOwpAQCAtMTYyMiwxMSArMTk0MywxMSBAQAogCWlmIChhZGFwdGVyLT5hbGdvLT5zbWJ1c194ZmVyKSB7CiAJCW11dGV4X2xvY2soJmFkYXB0ZXItPmJ1c19sb2NrKTsKIAkJcmVzID0gYWRhcHRlci0+YWxnby0+c21idXNfeGZlcihhZGFwdGVyLGFkZHIsZmxhZ3MscmVhZF93cml0ZSwKLQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kLHNpemUsZGF0YSk7CisJCQkJCQljb21tYW5kLCBwcm90b2NvbCwgZGF0YSk7CiAJCW11dGV4X3VubG9jaygmYWRhcHRlci0+YnVzX2xvY2spOwogCX0gZWxzZQogCQlyZXMgPSBpMmNfc21idXNfeGZlcl9lbXVsYXRlZChhZGFwdGVyLGFkZHIsZmxhZ3MscmVhZF93cml0ZSwKLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQsc2l6ZSxkYXRhKTsKKwkJCQkJICAgICAgY29tbWFuZCwgcHJvdG9jb2wsIGRhdGEpOwogCiAJcmV0dXJuIHJlczsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2kyYy1kZXYuYyBiL2RyaXZlcnMvaTJjL2kyYy1kZXYuYwppbmRleCBkMzRjMTRjLi44NjcyN2ZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9pMmMtZGV2LmMKKysrIGIvZHJpdmVycy9pMmMvaTJjLWRldi5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy1kZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBpMmNkZXZfZHJpdmVyOwpAQCAtMzY2LDggKzM2Nyw3IEBACiAJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIGludCBpMmNkZXZfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsCi0JCXVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQorc3RhdGljIGxvbmcgaTJjZGV2X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKIHsKIAlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50ID0gKHN0cnVjdCBpMmNfY2xpZW50ICopZmlsZS0+cHJpdmF0ZV9kYXRhOwogCXVuc2lnbmVkIGxvbmcgZnVuY3M7CkBAIC00NDEsMTQgKzQ0MSwyMCBAQAogCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwOwogCXN0cnVjdCBpMmNfZGV2ICppMmNfZGV2OworCWludCByZXQgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpMmNfZGV2ID0gaTJjX2Rldl9nZXRfYnlfbWlub3IobWlub3IpOwotCWlmICghaTJjX2RldikKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKCFpMmNfZGV2KSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAogCWFkYXAgPSBpMmNfZ2V0X2FkYXB0ZXIoaTJjX2Rldi0+YWRhcC0+bnIpOwotCWlmICghYWRhcCkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKCFhZGFwKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAogCS8qIFRoaXMgY3JlYXRlcyBhbiBhbm9ueW1vdXMgaTJjX2NsaWVudCwgd2hpY2ggbWF5IGxhdGVyIGJlCiAJICogcG9pbnRlZCB0byBzb21lIGFkZHJlc3MgdXNpbmcgSTJDX1NMQVZFIG9yIEkyQ19TTEFWRV9GT1JDRS4KQEAgLTQ2MCw3ICs0NjYsOCBAQAogCWNsaWVudCA9IGt6YWxsb2Moc2l6ZW9mKCpjbGllbnQpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWNsaWVudCkgewogCQlpMmNfcHV0X2FkYXB0ZXIoYWRhcCk7Ci0JCXJldHVybiAtRU5PTUVNOworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKIAl9CiAJc25wcmludGYoY2xpZW50LT5uYW1lLCBJMkNfTkFNRV9TSVpFLCAiaTJjLWRldiAlZCIsIGFkYXAtPm5yKTsKIAljbGllbnQtPmRyaXZlciA9ICZpMmNkZXZfZHJpdmVyOwpAQCAtNDY4LDcgKzQ3NSw5IEBACiAJY2xpZW50LT5hZGFwdGVyID0gYWRhcDsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBjbGllbnQ7CiAKLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBpMmNkZXZfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKQEAgLTQ4Nyw3ICs0OTYsNyBAQAogCS5sbHNlZWsJCT0gbm9fbGxzZWVrLAogCS5yZWFkCQk9IGkyY2Rldl9yZWFkLAogCS53cml0ZQkJPSBpMmNkZXZfd3JpdGUsCi0JLmlvY3RsCQk9IGkyY2Rldl9pb2N0bCwKKwkudW5sb2NrZWRfaW9jdGwJPSBpMmNkZXZfaW9jdGwsCiAJLm9wZW4JCT0gaTJjZGV2X29wZW4sCiAJLnJlbGVhc2UJPSBpMmNkZXZfcmVsZWFzZSwKIH07CkBAIC01NDksMTkgKzU1OCwxMiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGkyY2Rldl9kZXRhY2hfY2xpZW50KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBpMmNkZXZfZHJpdmVyID0gewogCS5kcml2ZXIgPSB7CiAJCS5uYW1lCT0gImRldl9kcml2ZXIiLAogCX0sCi0JLmlkCQk9IEkyQ19EUklWRVJJRF9JMkNERVYsCiAJLmF0dGFjaF9hZGFwdGVyCT0gaTJjZGV2X2F0dGFjaF9hZGFwdGVyLAogCS5kZXRhY2hfYWRhcHRlcgk9IGkyY2Rldl9kZXRhY2hfYWRhcHRlciwKLQkuZGV0YWNoX2NsaWVudAk9IGkyY2Rldl9kZXRhY2hfY2xpZW50LAogfTsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvS2NvbmZpZyBiL2RyaXZlcnMvaWRlL0tjb25maWcKaW5kZXggMTYwNzUzNi4uY2Y3MDdjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvS2NvbmZpZworKysgYi9kcml2ZXJzL2lkZS9LY29uZmlnCkBAIC05OCw2ICs5OCw5IEBACiAKIGNvbW1lbnQgIlBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUvaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMiCiAKK2NvbmZpZyBJREVfQVRBUEkKKwlib29sCisKIGNvbmZpZyBCTEtfREVWX0lERV9TQVRBCiAJYm9vbCAiU3VwcG9ydCBmb3IgU0FUQSAoZGVwcmVjYXRlZDsgY29uZmxpY3RzIHdpdGggbGliYXRhIFNBVEEgZHJpdmVyKSIKIAlkZWZhdWx0IG4KQEAgLTIwMSw2ICsyMDQsNyBAQAogCiBjb25maWcgQkxLX0RFVl9JREVUQVBFCiAJdHJpc3RhdGUgIkluY2x1ZGUgSURFL0FUQVBJIFRBUEUgc3VwcG9ydCIKKwlzZWxlY3QgSURFX0FUQVBJCiAJaGVscAogCSAgSWYgeW91IGhhdmUgYW4gSURFIHRhcGUgZHJpdmUgdXNpbmcgdGhlIEFUQVBJIHByb3RvY29sLCBzYXkgWS4KIAkgIEFUQVBJIGlzIGEgbmV3ZXIgcHJvdG9jb2wgdXNlZCBieSBJREUgdGFwZSBhbmQgQ0QtUk9NIGRyaXZlcywKQEAgLTIyMyw2ICsyMjcsNyBAQAogCiBjb25maWcgQkxLX0RFVl9JREVGTE9QUFkKIAl0cmlzdGF0ZSAiSW5jbHVkZSBJREUvQVRBUEkgRkxPUFBZIHN1cHBvcnQiCisJc2VsZWN0IElERV9BVEFQSQogCS0tLWhlbHAtLS0KIAkgIElmIHlvdSBoYXZlIGFuIElERSBmbG9wcHkgZHJpdmUgd2hpY2ggdXNlcyB0aGUgQVRBUEkgcHJvdG9jb2wsCiAJICBhbnN3ZXIgWS4gIEFUQVBJIGlzIGEgbmV3ZXIgcHJvdG9jb2wgdXNlZCBieSBJREUgQ0QtUk9NL3RhcGUvZmxvcHB5CkBAIC0yNDYsNiArMjUxLDcgQEAKIGNvbmZpZyBCTEtfREVWX0lERVNDU0kKIAl0cmlzdGF0ZSAiU0NTSSBlbXVsYXRpb24gc3VwcG9ydCIKIAlkZXBlbmRzIG9uIFNDU0kKKwlzZWxlY3QgSURFX0FUQVBJCiAJLS0taGVscC0tLQogCSAgV0FSTklORzogaWRlLXNjc2kgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgY2Qgd3JpdGluZyBhcHBsaWNhdGlvbnMhCiAJICBUaGUgMi42IGtlcm5lbCBzdXBwb3J0cyBkaXJlY3Qgd3JpdGluZyB0byBpZGUtY2QsIHdoaWNoIGVsaW1pbmF0ZXMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL01ha2VmaWxlIGIvZHJpdmVycy9pZGUvTWFrZWZpbGUKaW5kZXggZjk0YjY3OS4uYTJiM2Y4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9pZGUvTWFrZWZpbGUKQEAgLTE0LDYgKzE0LDcgQEAKIGlkZS1jb3JlLXkgKz0gaWRlLm8gaWRlLWlvLm8gaWRlLWlvcHMubyBpZGUtbGliLm8gaWRlLXByb2JlLm8gaWRlLXRhc2tmaWxlLm8KIAogIyBjb3JlIElERSBjb2RlCitpZGUtY29yZS0kKENPTkZJR19JREVfQVRBUEkpCQkrPSBpZGUtYXRhcGkubwogaWRlLWNvcmUtJChDT05GSUdfQkxLX0RFVl9JREVQQ0kpCSs9IHNldHVwLXBjaS5vCiBpZGUtY29yZS0kKENPTkZJR19CTEtfREVWX0lERURNQSkJKz0gaWRlLWRtYS5vCiBpZGUtY29yZS0kKENPTkZJR19JREVfUFJPQ19GUykJCSs9IGlkZS1wcm9jLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2FybS9wYWxtX2JrMzcxMC5jIGIvZHJpdmVycy9pZGUvYXJtL3BhbG1fYmszNzEwLmMKaW5kZXggMmYyYjRmNC4uMzgzOWY1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvYXJtL3BhbG1fYmszNzEwLmMKKysrIGIvZHJpdmVycy9pZGUvYXJtL3BhbG1fYmszNzEwLmMKQEAgLTgzLDcgKzgzLDcgQEAKIAl7MTI1LCAxNjB9LAkJLyogVURNQSBNb2RlIDEgKi8KIAl7MTAwLCAxMjB9LAkJLyogVURNQSBNb2RlIDIgKi8KIAl7MTAwLCA5MH0sCQkvKiBVRE1BIE1vZGUgMyAqLwotCXs4NSwgIDYwfSwJCS8qIFVETUEgTW9kZSA0ICovCisJezEwMCwgNjB9LAkJLyogVURNQSBNb2RlIDQgKi8KIH07CiAKIHN0YXRpYyB2b2lkIHBhbG1fYmszNzEwX3NldHVkbWFtb2RlKHZvaWQgX19pb21lbSAqYmFzZSwgdW5zaWduZWQgaW50IGRldiwKQEAgLTQwNSw3ICs0MDUsNiBAQAogCWlkZV9pbml0X3BvcnRfZGF0YShod2lmLCBpKTsKIAlpZGVfaW5pdF9wb3J0X2h3KGh3aWYsICZodyk7CiAKLQlod2lmLT5tbWlvID0gMTsKIAlkZWZhdWx0X2h3aWZfbW1pb3BzKGh3aWYpOwogCiAJaWR4WzBdID0gaTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2g4MzAwL2lkZS1oODMwMC5jIGIvZHJpdmVycy9pZGUvaDgzMDAvaWRlLWg4MzAwLmMKaW5kZXggZWNmNTNiYi4uYWUzN2VlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaDgzMDAvaWRlLWg4MzAwLmMKKysrIGIvZHJpdmVycy9pZGUvaDgzMDAvaWRlLWg4MzAwLmMKQEAgLTUyLDggKzUyLDYgQEAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfRkxBR0dFRCkKIAkJSElISSA9IDB4RkY7CiAKLQlpZGVfc2V0X2lycShkcml2ZSwgMSk7Ci0KIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfT1VUX0RBVEEpCiAJCW1tX291dHcoKHRmLT5ob2JfZGF0YSA8PCA4KSB8IHRmLT5kYXRhLCBpb19wb3J0cy0+ZGF0YV9hZGRyKTsKIApAQCAtOTgsNyArOTYsNyBAQAogCX0KIAogCS8qIGJlIHN1cmUgd2UncmUgbG9va2luZyBhdCB0aGUgbG93IG9yZGVyIGJpdHMgKi8KLQlvdXRiKGRyaXZlLT5jdGwgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwlvdXRiKEFUQV9ERVZDVExfT0JTICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fTlNFQ1QpCiAJCXRmLT5uc2VjdCAgPSBpbmIoaW9fcG9ydHMtPm5zZWN0X2FkZHIpOwpAQCAtMTEyLDcgKzExMCw3IEBACiAJCXRmLT5kZXZpY2UgPSBpbmIoaW9fcG9ydHMtPmRldmljZV9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19MQkE0OCkgewotCQlvdXRiKGRyaXZlLT5jdGwgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCQlvdXRiKEFUQV9ERVZDVExfT0JTIHwgMHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCQlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fSE9CX0ZFQVRVUkUpCiAJCQl0Zi0+aG9iX2ZlYXR1cmUgPSBpbmIoaW9fcG9ydHMtPmZlYXR1cmVfYWRkcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtYWNwaS5jIGIvZHJpdmVycy9pZGUvaWRlLWFjcGkuYwppbmRleCA5ZDM2MDFmLi42ZjcwNDYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtYWNwaS5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1hY3BpLmMKQEAgLTYwLDE1ICs2MCwxNSBAQAogI2RlZmluZSBERUJQUklOVChmbXQsIGFyZ3MuLi4pCWRvIHt9IHdoaWxlICgwKQogI2VuZGlmCS8qIERFQlVHR0lORyAqLwogCi1pbnQgaWRlX25vYWNwaTsKK3N0YXRpYyBpbnQgaWRlX25vYWNwaTsKIG1vZHVsZV9wYXJhbV9uYW1lZChub2FjcGksIGlkZV9ub2FjcGksIGJvb2wsIDApOwogTU9EVUxFX1BBUk1fREVTQyhub2FjcGksICJkaXNhYmxlIElERSBBQ1BJIHN1cHBvcnQiKTsKIAotaW50IGlkZV9hY3BpZ3RmOworc3RhdGljIGludCBpZGVfYWNwaWd0ZjsKIG1vZHVsZV9wYXJhbV9uYW1lZChhY3BpZ3RmLCBpZGVfYWNwaWd0ZiwgYm9vbCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGFjcGlndGYsICJlbmFibGUgSURFIEFDUEkgX0dURiBzdXBwb3J0Iik7CiAKLWludCBpZGVfYWNwaW9uYm9vdDsKK3N0YXRpYyBpbnQgaWRlX2FjcGlvbmJvb3Q7CiBtb2R1bGVfcGFyYW1fbmFtZWQoYWNwaW9uYm9vdCwgaWRlX2FjcGlvbmJvb3QsIGJvb2wsIDApOwogTU9EVUxFX1BBUk1fREVTQyhhY3Bpb25ib290LCAiY2FsbCBJREUgQUNQSSBtZXRob2RzIG9uIGJvb3QiKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWF0YXBpLmMgYi9kcml2ZXJzL2lkZS9pZGUtYXRhcGkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODAyMDMxCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9pZGUvaWRlLWF0YXBpLmMKQEAgLTAsMCArMSwyOTYgQEAKKy8qCisgKiBBVEFQSSBzdXBwb3J0LgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2lkZS5oPgorI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgorCisjaWZkZWYgREVCVUcKKyNkZWZpbmUgZGVidWdfbG9nKGZtdCwgYXJncy4uLikgXAorCXByaW50ayhLRVJOX0lORk8gImlkZTogIiBmbXQsICMjIGFyZ3MpCisjZWxzZQorI2RlZmluZSBkZWJ1Z19sb2coZm10LCBhcmdzLi4uKSBkbyB7fSB3aGlsZSAoMCkKKyNlbmRpZgorCisvKiBUT0RPOiB1bmlmeSB0aGUgY29kZSB0aHVzIG1ha2luZyBzb21lIGFyZ3VtZW50cyBnbyBhd2F5ICovCitpZGVfc3RhcnRzdG9wX3QgaWRlX3BjX2ludHIoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKKwlpZGVfaGFuZGxlcl90ICpoYW5kbGVyLCB1bnNpZ25lZCBpbnQgdGltZW91dCwgaWRlX2V4cGlyeV90ICpleHBpcnksCisJdm9pZCAoKnVwZGF0ZV9idWZmZXJzKShpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICopLAorCXZvaWQgKCpyZXRyeV9wYykoaWRlX2RyaXZlX3QgKiksIHZvaWQgKCpkc2NfaGFuZGxlKShpZGVfZHJpdmVfdCAqKSwKKwl2b2lkICgqaW9fYnVmZmVycykoaWRlX2RyaXZlX3QgKiwgc3RydWN0IGlkZV9hdGFwaV9wYyAqLCB1bnNpZ25lZCwgaW50KSkKK3sKKwlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CisJeGZlcl9mdW5jX3QgKnhmZXJmdW5jOworCXVuc2lnbmVkIGludCB0ZW1wOworCXUxNiBiY291bnQ7CisJdTggc3RhdCwgaXJlYXNvbiwgc2NzaSA9IGRyaXZlLT5zY3NpOworCisJZGVidWdfbG9nKCJFbnRlciAlcyAtIGludGVycnVwdCBoYW5kbGVyXG4iLCBfX2Z1bmNfXyk7CisKKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19USU1FRE9VVCkgeworCQlwYy0+Y2FsbGJhY2soZHJpdmUpOworCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisJfQorCisJLyogQ2xlYXIgdGhlIGludGVycnVwdCAqLworCXN0YXQgPSBpZGVfcmVhZF9zdGF0dXMoZHJpdmUpOworCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7CisJCWlmIChod2lmLT5kbWFfb3BzLT5kbWFfZW5kKGRyaXZlKSB8fAorCQkgICAgKGRyaXZlLT5tZWRpYSA9PSBpZGVfdGFwZSAmJiAhc2NzaSAmJiAoc3RhdCAmIEVSUl9TVEFUKSkpIHsKKwkJCWlmIChkcml2ZS0+bWVkaWEgPT0gaWRlX2Zsb3BweSAmJiAhc2NzaSkKKwkJCQlwcmludGsoS0VSTl9FUlIgIiVzOiBETUEgJXMgZXJyb3JcbiIsCisJCQkJCWRyaXZlLT5uYW1lLCBycV9kYXRhX2RpcihwYy0+cnEpCisJCQkJCQkgICAgID8gIndyaXRlIiA6ICJyZWFkIik7CisJCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfRVJST1I7CisJCX0gZWxzZSB7CisJCQlwYy0+eGZlcnJlZCA9IHBjLT5yZXFfeGZlcjsKKwkJCWlmICh1cGRhdGVfYnVmZmVycykKKwkJCQl1cGRhdGVfYnVmZmVycyhkcml2ZSwgcGMpOworCQl9CisJCWRlYnVnX2xvZygiJXM6IERNQSBmaW5pc2hlZFxuIiwgZHJpdmUtPm5hbWUpOworCX0KKworCS8qIE5vIG1vcmUgaW50ZXJydXB0cyAqLworCWlmICgoc3RhdCAmIERSUV9TVEFUKSA9PSAwKSB7CisJCWRlYnVnX2xvZygiUGFja2V0IGNvbW1hbmQgY29tcGxldGVkLCAlZCBieXRlcyB0cmFuc2ZlcnJlZFxuIiwKKwkJCSAgcGMtPnhmZXJyZWQpOworCisJCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7CisKKwkJbG9jYWxfaXJxX2VuYWJsZV9pbl9oYXJkaXJxKCk7CisKKwkJaWYgKGRyaXZlLT5tZWRpYSA9PSBpZGVfdGFwZSAmJiAhc2NzaSAmJgorCQkgICAgKHN0YXQgJiBFUlJfU1RBVCkgJiYgcGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkKKwkJCXN0YXQgJj0gfkVSUl9TVEFUOworCQlpZiAoKHN0YXQgJiBFUlJfU1RBVCkgfHwgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSkgeworCQkJLyogRXJyb3IgZGV0ZWN0ZWQgKi8KKwkJCWRlYnVnX2xvZygiJXM6IEkvTyBlcnJvclxuIiwgZHJpdmUtPm5hbWUpOworCisJCQlpZiAoZHJpdmUtPm1lZGlhICE9IGlkZV90YXBlIHx8IHNjc2kpIHsKKwkJCQlwYy0+cnEtPmVycm9ycysrOworCQkJCWlmIChzY3NpKQorCQkJCQlnb3RvIGNtZF9maW5pc2hlZDsKKwkJCX0KKworCQkJaWYgKHBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJL08gZXJyb3IgaW4gcmVxdWVzdCBzZW5zZSIKKwkJCQkJCSIgY29tbWFuZFxuIiwgZHJpdmUtPm5hbWUpOworCQkJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOworCQkJfQorCisJCQlkZWJ1Z19sb2coIltjbWQgJXhdOiBjaGVjayBjb25kaXRpb25cbiIsIHBjLT5jWzBdKTsKKworCQkJLyogUmV0cnkgb3BlcmF0aW9uICovCisJCQlyZXRyeV9wYyhkcml2ZSk7CisJCQkvKiBxdWV1ZWQsIGJ1dCBub3Qgc3RhcnRlZCAqLworCQkJcmV0dXJuIGlkZV9zdG9wcGVkOworCQl9CitjbWRfZmluaXNoZWQ6CisJCXBjLT5lcnJvciA9IDA7CisJCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19XQUlUX0ZPUl9EU0MpICYmCisJCSAgICAoc3RhdCAmIFNFRUtfU1RBVCkgPT0gMCkgeworCQkJZHNjX2hhbmRsZShkcml2ZSk7CisJCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisJCX0KKwkJLyogQ29tbWFuZCBmaW5pc2hlZCAtIENhbGwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uICovCisJCXBjLT5jYWxsYmFjayhkcml2ZSk7CisJCXJldHVybiBpZGVfc3RvcHBlZDsKKwl9CisKKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKKwkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogVGhlIGRldmljZSB3YW50cyB0byBpc3N1ZSBtb3JlIGludGVycnVwdHMgIgorCQkJCSJpbiBETUEgbW9kZVxuIiwgZHJpdmUtPm5hbWUpOworCQlpZGVfZG1hX29mZihkcml2ZSk7CisJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOworCX0KKwkvKiBHZXQgdGhlIG51bWJlciBvZiBieXRlcyB0byB0cmFuc2ZlciBvbiB0aGlzIGludGVycnVwdC4gKi8KKwliY291bnQgPSAoaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYWhfYWRkcikgPDwgOCkgfAorCQkgIGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFtX2FkZHIpOworCisJaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKKworCWlmIChpcmVhc29uICYgQ0QpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogQ29EICE9IDAgaW4gJXNcbiIsIGRyaXZlLT5uYW1lLCBfX2Z1bmNfXyk7CisJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOworCX0KKwlpZiAoKChpcmVhc29uICYgSU8pID09IElPKSA9PSAhIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKSB7CisJCS8qIEhvcGVmdWxseSwgd2Ugd2lsbCBuZXZlciBnZXQgaGVyZSAqLworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBXZSB3YW50ZWQgdG8gJXMsIGJ1dCB0aGUgZGV2aWNlIHdhbnRzIHVzICIKKwkJCQkidG8gJXMhXG4iLCBkcml2ZS0+bmFtZSwKKwkJCQkoaXJlYXNvbiAmIElPKSA/ICJXcml0ZSIgOiAiUmVhZCIsCisJCQkJKGlyZWFzb24gJiBJTykgPyAiUmVhZCIgOiAiV3JpdGUiKTsKKwkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7CisJfQorCWlmICghKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpIHsKKwkJLyogUmVhZGluZyAtIENoZWNrIHRoYXQgd2UgaGF2ZSBlbm91Z2ggc3BhY2UgKi8KKwkJdGVtcCA9IHBjLT54ZmVycmVkICsgYmNvdW50OworCQlpZiAodGVtcCA+IHBjLT5yZXFfeGZlcikgeworCQkJaWYgKHRlbXAgPiBwYy0+YnVmX3NpemUpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIiVzOiBUaGUgZGV2aWNlIHdhbnRzIHRvIHNlbmQgIgorCQkJCQkJInVzIG1vcmUgZGF0YSB0aGFuIGV4cGVjdGVkIC0gIgorCQkJCQkJImRpc2NhcmRpbmcgZGF0YVxuIiwKKwkJCQkJCWRyaXZlLT5uYW1lKTsKKwkJCQlpZiAoc2NzaSkKKwkJCQkJdGVtcCA9IHBjLT5idWZfc2l6ZSAtIHBjLT54ZmVycmVkOworCQkJCWVsc2UKKwkJCQkJdGVtcCA9IDA7CisJCQkJaWYgKHRlbXApIHsKKwkJCQkJaWYgKHBjLT5zZykKKwkJCQkJCWlvX2J1ZmZlcnMoZHJpdmUsIHBjLCB0ZW1wLCAwKTsKKwkJCQkJZWxzZQorCQkJCQkJaHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwKKwkJCQkJCQlwYy0+Y3VyX3BvcywgdGVtcCk7CisJCQkJCXByaW50ayhLRVJOX0VSUiAiJXM6IHRyYW5zZmVycmVkICVkIG9mICIKKwkJCQkJCQkiJWQgYnl0ZXNcbiIsCisJCQkJCQkJZHJpdmUtPm5hbWUsCisJCQkJCQkJdGVtcCwgYmNvdW50KTsKKwkJCQl9CisJCQkJcGMtPnhmZXJyZWQgKz0gdGVtcDsKKwkJCQlwYy0+Y3VyX3BvcyArPSB0ZW1wOworCQkJCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDAsIGJjb3VudCAtIHRlbXApOworCQkJCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgaGFuZGxlciwgdGltZW91dCwKKwkJCQkJCWV4cGlyeSk7CisJCQkJcmV0dXJuIGlkZV9zdGFydGVkOworCQkJfQorCQkJZGVidWdfbG9nKCJUaGUgZGV2aWNlIHdhbnRzIHRvIHNlbmQgdXMgbW9yZSBkYXRhIHRoYW4gIgorCQkJCSAgImV4cGVjdGVkIC0gYWxsb3dpbmcgdHJhbnNmZXJcbiIpOworCQl9CisJCXhmZXJmdW5jID0gaHdpZi0+aW5wdXRfZGF0YTsKKwl9IGVsc2UKKwkJeGZlcmZ1bmMgPSBod2lmLT5vdXRwdXRfZGF0YTsKKworCWlmICgoZHJpdmUtPm1lZGlhID09IGlkZV9mbG9wcHkgJiYgIXNjc2kgJiYgIXBjLT5idWYpIHx8CisJICAgIChkcml2ZS0+bWVkaWEgPT0gaWRlX3RhcGUgJiYgIXNjc2kgJiYgcGMtPmJoKSB8fAorCSAgICAoc2NzaSAmJiBwYy0+c2cpKQorCQlpb19idWZmZXJzKGRyaXZlLCBwYywgYmNvdW50LCAhIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKTsKKwllbHNlCisJCXhmZXJmdW5jKGRyaXZlLCBOVUxMLCBwYy0+Y3VyX3BvcywgYmNvdW50KTsKKworCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBwb3NpdGlvbiAqLworCXBjLT54ZmVycmVkICs9IGJjb3VudDsKKwlwYy0+Y3VyX3BvcyArPSBiY291bnQ7CisKKwlkZWJ1Z19sb2coIltjbWQgJXhdIHRyYW5zZmVycmVkICVkIGJ5dGVzIG9uIHRoYXQgaW50ci5cbiIsCisJCSAgcGMtPmNbMF0sIGJjb3VudCk7CisKKwkvKiBBbmQgc2V0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBhZ2FpbiAqLworCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgaGFuZGxlciwgdGltZW91dCwgZXhwaXJ5KTsKKwlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChpZGVfcGNfaW50cik7CisKK3N0YXRpYyB1OCBpZGVfd2FpdF9pcmVhc29uKGlkZV9kcml2ZV90ICpkcml2ZSwgdTggaXJlYXNvbikKK3sKKwlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CisJaW50IHJldHJpZXMgPSAxMDA7CisKKwl3aGlsZSAocmV0cmllcy0tICYmICgoaXJlYXNvbiAmIENEKSA9PSAwIHx8IChpcmVhc29uICYgSU8pKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiAoSU8sQ29EICE9ICgwLDEpIHdoaWxlIGlzc3VpbmcgIgorCQkJCSJhIHBhY2tldCBjb21tYW5kLCByZXRyeWluZ1xuIiwgZHJpdmUtPm5hbWUpOworCQl1ZGVsYXkoMTAwKTsKKwkJaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKKwkJaWYgKHJldHJpZXMgPT0gMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICIlczogKElPLENvRCAhPSAoMCwxKSB3aGlsZSBpc3N1aW5nICIKKwkJCQkJImEgcGFja2V0IGNvbW1hbmQsIGlnbm9yaW5nXG4iLAorCQkJCQlkcml2ZS0+bmFtZSk7CisJCQlpcmVhc29uIHw9IENEOworCQkJaXJlYXNvbiAmPSB+SU87CisJCX0KKwl9CisKKwlyZXR1cm4gaXJlYXNvbjsKK30KKworaWRlX3N0YXJ0c3RvcF90IGlkZV90cmFuc2Zlcl9wYyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAorCQkJCWlkZV9oYW5kbGVyX3QgKmhhbmRsZXIsIHVuc2lnbmVkIGludCB0aW1lb3V0LAorCQkJCWlkZV9leHBpcnlfdCAqZXhwaXJ5KQoreworCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKKwlpZGVfc3RhcnRzdG9wX3Qgc3RhcnRzdG9wOworCXU4IGlyZWFzb247CisKKwlpZiAoaWRlX3dhaXRfc3RhdCgmc3RhcnRzdG9wLCBkcml2ZSwgRFJRX1NUQVQsIEJVU1lfU1RBVCwgV0FJVF9SRUFEWSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogU3RyYW5nZSwgcGFja2V0IGNvbW1hbmQgaW5pdGlhdGVkIHlldCAiCisJCQkJIkRSUSBpc24ndCBhc3NlcnRlZFxuIiwgZHJpdmUtPm5hbWUpOworCQlyZXR1cm4gc3RhcnRzdG9wOworCX0KKworCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7CisJaWYgKGRyaXZlLT5tZWRpYSA9PSBpZGVfdGFwZSAmJiAhZHJpdmUtPnNjc2kpCisJCWlyZWFzb24gPSBpZGVfd2FpdF9pcmVhc29uKGRyaXZlLCBpcmVhc29uKTsKKworCWlmICgoaXJlYXNvbiAmIENEKSA9PSAwIHx8IChpcmVhc29uICYgSU8pKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IChJTyxDb0QpICE9ICgwLDEpIHdoaWxlIGlzc3VpbmcgIgorCQkJCSJhIHBhY2tldCBjb21tYW5kXG4iLCBkcml2ZS0+bmFtZSk7CisJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOworCX0KKworCS8qIFNldCB0aGUgaW50ZXJydXB0IHJvdXRpbmUgKi8KKwlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsIGhhbmRsZXIsIHRpbWVvdXQsIGV4cGlyeSk7CisKKwkvKiBCZWdpbiBETUEsIGlmIG5lY2Vzc2FyeSAqLworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9PSykgeworCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfSU5fUFJPR1JFU1M7CisJCWh3aWYtPmRtYV9vcHMtPmRtYV9zdGFydChkcml2ZSk7CisJfQorCisJLyogU2VuZCB0aGUgYWN0dWFsIHBhY2tldCAqLworCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19aSVBfRFJJVkUpID09IDApCisJCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBwYy0+YywgMTIpOworCisJcmV0dXJuIGlkZV9zdGFydGVkOworfQorRVhQT1JUX1NZTUJPTF9HUEwoaWRlX3RyYW5zZmVyX3BjKTsKKworaWRlX3N0YXJ0c3RvcF90IGlkZV9pc3N1ZV9wYyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAorCQkJICAgICBpZGVfaGFuZGxlcl90ICpoYW5kbGVyLCB1bnNpZ25lZCBpbnQgdGltZW91dCwKKwkJCSAgICAgaWRlX2V4cGlyeV90ICpleHBpcnkpCit7CisJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOworCXUxNiBiY291bnQ7CisJdTggZG1hID0gMDsKKworCS8qIFdlIGhhdmVuJ3QgdHJhbnNmZXJyZWQgYW55IGRhdGEgeWV0ICovCisJcGMtPnhmZXJyZWQgPSAwOworCXBjLT5jdXJfcG9zID0gcGMtPmJ1ZjsKKworCS8qIFJlcXVlc3QgdG8gdHJhbnNmZXIgdGhlIGVudGlyZSBidWZmZXIgYXQgb25jZSAqLworCWlmIChkcml2ZS0+bWVkaWEgPT0gaWRlX3RhcGUgJiYgIWRyaXZlLT5zY3NpKQorCQliY291bnQgPSBwYy0+cmVxX3hmZXI7CisJZWxzZQorCQliY291bnQgPSBtaW4ocGMtPnJlcV94ZmVyLCA2MyAqIDEwMjQpOworCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSB7CisJCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfRVJST1I7CisJCWlkZV9kbWFfb2ZmKGRyaXZlKTsKKwl9CisKKwlpZiAoKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX09LKSAmJiBkcml2ZS0+dXNpbmdfZG1hKSB7CisJCWlmIChkcml2ZS0+c2NzaSkKKwkJCWh3aWYtPnNnX21hcHBlZCA9IDE7CisJCWRtYSA9ICFod2lmLT5kbWFfb3BzLT5kbWFfc2V0dXAoZHJpdmUpOworCQlpZiAoZHJpdmUtPnNjc2kpCisJCQlod2lmLT5zZ19tYXBwZWQgPSAwOworCX0KKworCWlmICghZG1hKQorCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX09LOworCisJaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBkcml2ZS0+c2NzaSA/IDAgOiBJREVfVEZMQUdfT1VUX0RFVklDRSwKKwkJCSAgIGJjb3VudCwgZG1hKTsKKworCS8qIElzc3VlIHRoZSBwYWNrZXQgY29tbWFuZCAqLworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RSUV9JTlRFUlJVUFQpIHsKKwkJaWRlX2V4ZWN1dGVfY29tbWFuZChkcml2ZSwgV0lOX1BBQ0tFVENNRCwgaGFuZGxlciwKKwkJCQkgICAgdGltZW91dCwgTlVMTCk7CisJCXJldHVybiBpZGVfc3RhcnRlZDsKKwl9IGVsc2UgeworCQlpZGVfZXhlY3V0ZV9wa3RfY21kKGRyaXZlKTsKKwkJcmV0dXJuICgqaGFuZGxlcikoZHJpdmUpOworCX0KK30KK0VYUE9SVF9TWU1CT0xfR1BMKGlkZV9pc3N1ZV9wYyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtY2QuYyBiL2RyaXZlcnMvaWRlL2lkZS1jZC5jCmluZGV4IDY4ZTdmMTkuLmQ5OTg0NzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1jZC5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1jZC5jCkBAIC0xODgsMTYgKzE4OCw2IEBACiAJaWRlX2NkX2xvZ19lcnJvcihkcml2ZS0+bmFtZSwgZmFpbGVkX2NvbW1hbmQsIHNlbnNlKTsKIH0KIAotLyogSW5pdGlhbGl6ZSBhIGlkZS1jZCBwYWNrZXQgY29tbWFuZCByZXF1ZXN0ICovCi12b2lkIGlkZV9jZF9pbml0X3JxKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxKQotewotCXN0cnVjdCBjZHJvbV9pbmZvICpjZCA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQotCWlkZV9pbml0X2RyaXZlX2NtZChycSk7Ci0JcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1BDOwotCXJxLT5ycV9kaXNrID0gY2QtPmRpc2s7Ci19Ci0KIHN0YXRpYyB2b2lkIGNkcm9tX3F1ZXVlX3JlcXVlc3Rfc2Vuc2UoaWRlX2RyaXZlX3QgKmRyaXZlLCB2b2lkICpzZW5zZSwKIAkJCQkgICAgICBzdHJ1Y3QgcmVxdWVzdCAqZmFpbGVkX2NvbW1hbmQpCiB7CkBAIC0yMDgsNyArMTk4LDkgQEAKIAkJc2Vuc2UgPSAmaW5mby0+c2Vuc2VfZGF0YTsKIAogCS8qIHN0dWZmIHRoZSBzZW5zZSByZXF1ZXN0IGluIGZyb250IG9mIG91ciBjdXJyZW50IHJlcXVlc3QgKi8KLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgcnEpOworCWJsa19ycV9pbml0KE5VTEwsIHJxKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfUEM7CisJcnEtPnJxX2Rpc2sgPSBpbmZvLT5kaXNrOwogCiAJcnEtPmRhdGEgPSBzZW5zZTsKIAlycS0+Y21kWzBdID0gR1BDTURfUkVRVUVTVF9TRU5TRTsKQEAgLTIxNiwxMSArMjA4LDEyIEBACiAJcnEtPmRhdGFfbGVuID0gMTg7CiAKIAlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TRU5TRTsKKwlycS0+Y21kX2ZsYWdzIHw9IFJFUV9QUkVFTVBUOwogCiAJLyogTk9URSEgU2F2ZSB0aGUgZmFpbGVkIGNvbW1hbmQgaW4gInJxLT5idWZmZXIiICovCiAJcnEtPmJ1ZmZlciA9ICh2b2lkICopIGZhaWxlZF9jb21tYW5kOwogCi0JKHZvaWQpIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxLCBpZGVfcHJlZW1wdCk7CisJaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEpOwogfQogCiBzdGF0aWMgdm9pZCBjZHJvbV9lbmRfcmVxdWVzdChpZGVfZHJpdmVfdCAqZHJpdmUsIGludCB1cHRvZGF0ZSkKQEAgLTUzNyw4ICs1MzAsOCBAQAogCQlpbmZvLT5kbWEgPSAhaHdpZi0+ZG1hX29wcy0+ZG1hX3NldHVwKGRyaXZlKTsKIAogCS8qIHNldCB1cCB0aGUgY29udHJvbGxlciByZWdpc3RlcnMgKi8KLQlpZGVfcGt0Y21kX3RmX2xvYWQoZHJpdmUsIElERV9URkxBR19PVVRfTlNFQ1QgfCBJREVfVEZMQUdfT1VUX0xCQUwgfAotCQkJICAgSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLLCB4ZmVybGVuLCBpbmZvLT5kbWEpOworCWlkZV9wa3RjbWRfdGZfbG9hZChkcml2ZSwgSURFX1RGTEFHX09VVF9OU0VDVCB8IElERV9URkxBR19PVVRfTEJBTCwKKwkJCSAgIHhmZXJsZW4sIGluZm8tPmRtYSk7CiAKIAlpZiAoaW5mby0+Y2RfZmxhZ3MgJiBJREVfQ0RfRkxBR19EUlFfSU5URVJSVVBUKSB7CiAJCS8qIHdhaXRpbmcgZm9yIENEQiBpbnRlcnJ1cHQsIG5vdCBETUEgeWV0LiAqLwpAQCAtODM4LDM0ICs4MzEsNTQgQEAKIAkJfQogfQogCi1pbnQgaWRlX2NkX3F1ZXVlX3BjKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxKQoraW50IGlkZV9jZF9xdWV1ZV9wYyhpZGVfZHJpdmVfdCAqZHJpdmUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNtZCwKKwkJICAgIGludCB3cml0ZSwgdm9pZCAqYnVmZmVyLCB1bnNpZ25lZCAqYnVmZmxlbiwKKwkJICAgIHN0cnVjdCByZXF1ZXN0X3NlbnNlICpzZW5zZSwgaW50IHRpbWVvdXQsCisJCSAgICB1bnNpZ25lZCBpbnQgY21kX2ZsYWdzKQogewotCXN0cnVjdCByZXF1ZXN0X3NlbnNlIHNlbnNlOworCXN0cnVjdCBjZHJvbV9pbmZvICppbmZvID0gZHJpdmUtPmRyaXZlcl9kYXRhOworCXN0cnVjdCByZXF1ZXN0X3NlbnNlIGxvY2FsX3NlbnNlOwogCWludCByZXRyaWVzID0gMTA7Ci0JdW5zaWduZWQgaW50IGZsYWdzID0gcnEtPmNtZF9mbGFnczsKKwl1bnNpZ25lZCBpbnQgZmxhZ3MgPSAwOwogCi0JaWYgKHJxLT5zZW5zZSA9PSBOVUxMKQotCQlycS0+c2Vuc2UgPSAmc2Vuc2U7CisJaWYgKCFzZW5zZSkKKwkJc2Vuc2UgPSAmbG9jYWxfc2Vuc2U7CiAKIAkvKiBzdGFydCBvZiByZXRyeSBsb29wICovCiAJZG8geworCQlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAJCWludCBlcnJvcjsKLQkJdW5zaWduZWQgbG9uZyB0aW1lID0gamlmZmllczsKLQkJcnEtPmNtZF9mbGFncyA9IGZsYWdzOwogCi0JCWVycm9yID0gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEsIGlkZV93YWl0KTsKLQkJdGltZSA9IGppZmZpZXMgLSB0aW1lOworCQlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIHdyaXRlLCBfX0dGUF9XQUlUKTsKKworCQltZW1jcHkocnEtPmNtZCwgY21kLCBCTEtfTUFYX0NEQik7CisJCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9QQzsKKwkJcnEtPnNlbnNlID0gc2Vuc2U7CisJCXJxLT5jbWRfZmxhZ3MgfD0gY21kX2ZsYWdzOworCQlycS0+dGltZW91dCA9IHRpbWVvdXQ7CisJCWlmIChidWZmZXIpIHsKKwkJCXJxLT5kYXRhID0gYnVmZmVyOworCQkJcnEtPmRhdGFfbGVuID0gKmJ1ZmZsZW47CisJCX0KKworCQllcnJvciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgaW5mby0+ZGlzaywgcnEsIDApOworCisJCWlmIChidWZmZXIpCisJCQkqYnVmZmxlbiA9IHJxLT5kYXRhX2xlbjsKKworCQlmbGFncyA9IHJxLT5jbWRfZmxhZ3M7CisJCWJsa19wdXRfcmVxdWVzdChycSk7CiAKIAkJLyoKIAkJICogRklYTUU6IHdlIHNob3VsZCBwcm9iYWJseSBhYm9ydC9yZXRyeSBvciBzb21ldGhpbmcgaW4gY2FzZSBvZgogCQkgKiBmYWlsdXJlLgogCQkgKi8KLQkJaWYgKHJxLT5jbWRfZmxhZ3MgJiBSRVFfRkFJTEVEKSB7CisJCWlmIChmbGFncyAmIFJFUV9GQUlMRUQpIHsKIAkJCS8qCiAJCQkgKiBUaGUgcmVxdWVzdCBmYWlsZWQuICBSZXRyeSBpZiBpdCB3YXMgZHVlIHRvIGEgdW5pdAogCQkJICogYXR0ZW50aW9uIHN0YXR1cyAodXN1YWxseSBtZWFucyBtZWRpYSB3YXMgY2hhbmdlZCkuCiAJCQkgKi8KLQkJCXN0cnVjdCByZXF1ZXN0X3NlbnNlICpyZXFidWYgPSBycS0+c2Vuc2U7CisJCQlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqcmVxYnVmID0gc2Vuc2U7CiAKIAkJCWlmIChyZXFidWYtPnNlbnNlX2tleSA9PSBVTklUX0FUVEVOVElPTikKIAkJCQljZHJvbV9zYXdfbWVkaWFfY2hhbmdlKGRyaXZlKTsKQEAgLTg4NSwxMCArODk4LDEwIEBACiAJCX0KIAogCQkvKiBlbmQgb2YgcmV0cnkgbG9vcCAqLwotCX0gd2hpbGUgKChycS0+Y21kX2ZsYWdzICYgUkVRX0ZBSUxFRCkgJiYgcmV0cmllcyA+PSAwKTsKKwl9IHdoaWxlICgoZmxhZ3MgJiBSRVFfRkFJTEVEKSAmJiByZXRyaWVzID49IDApOwogCiAJLyogcmV0dXJuIGFuIGVycm9yIGlmIHRoZSBjb21tYW5kIGZhaWxlZCAqLwotCXJldHVybiAocnEtPmNtZF9mbGFncyAmIFJFUV9GQUlMRUQpID8gLUVJTyA6IDA7CisJcmV0dXJuIChmbGFncyAmIFJFUV9GQUlMRUQpID8gLUVJTyA6IDA7CiB9CiAKIC8qCkBAIC0xMjY4LDIzICsxMjgxLDIwIEBACiAKIGludCBjZHJvbV9jaGVja19zdGF0dXMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqc2Vuc2UpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOwogCXN0cnVjdCBjZHJvbV9pbmZvICppbmZvID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCXN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpID0gJmluZm8tPmRldmluZm87CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOwotCi0JcmVxLnNlbnNlID0gc2Vuc2U7Ci0JcmVxLmNtZFswXSA9IEdQQ01EX1RFU1RfVU5JVF9SRUFEWTsKLQlyZXEuY21kX2ZsYWdzIHw9IFJFUV9RVUlFVDsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CisJY21kWzBdID0gR1BDTURfVEVTVF9VTklUX1JFQURZOwogCiAJLyoKIAkgKiBTYW55byAzIENEIGNoYW5nZXIgdXNlcyBieXRlIDcgb2YgVEVTVF9VTklUX1JFQURZIHRvIHN3aXRjaCBDRHMKIAkgKiBpbnN0ZWFkIG9mIHN1cHBvcnRpbmcgdGhlIExPQURfVU5MT0FEIG9wY29kZS4KIAkgKi8KLQlyZXEuY21kWzddID0gY2RpLT5zYW55b19zbG90ICUgMzsKKwljbWRbN10gPSBjZGktPnNhbnlvX3Nsb3QgJSAzOwogCi0JcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBOVUxMLCAwLCBzZW5zZSwgMCwgUkVRX1FVSUVUKTsKIH0KIAogc3RhdGljIGludCBjZHJvbV9yZWFkX2NhcGFjaXR5KGlkZV9kcml2ZV90ICpkcml2ZSwgdW5zaWduZWQgbG9uZyAqY2FwYWNpdHksCkBAIC0xMjk3LDE3ICsxMzA3LDE0IEBACiAJfSBjYXBidWY7CiAKIAlpbnQgc3RhdDsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOworCXVuc2lnbmVkIGxlbiA9IHNpemVvZihjYXBidWYpOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKKwljbWRbMF0gPSBHUENNRF9SRUFEX0NEVkRfQ0FQQUNJVFk7CiAKLQlyZXEuc2Vuc2UgPSBzZW5zZTsKLQlyZXEuY21kWzBdID0gR1BDTURfUkVBRF9DRFZEX0NBUEFDSVRZOwotCXJlcS5kYXRhID0gKGNoYXIgKikmY2FwYnVmOwotCXJlcS5kYXRhX2xlbiA9IHNpemVvZihjYXBidWYpOwotCXJlcS5jbWRfZmxhZ3MgfD0gUkVRX1FVSUVUOwotCi0Jc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCAmY2FwYnVmLCAmbGVuLCBzZW5zZSwgMCwKKwkJCSAgICAgICBSRVFfUVVJRVQpOwogCWlmIChzdGF0ID09IDApIHsKIAkJKmNhcGFjaXR5ID0gMSArIGJlMzJfdG9fY3B1KGNhcGJ1Zi5sYmEpOwogCQkqc2VjdG9yc19wZXJfZnJhbWUgPQpAQCAtMTMyMSwyNCArMTMyOCwyMCBAQAogCQkJCWludCBmb3JtYXQsIGNoYXIgKmJ1ZiwgaW50IGJ1ZmxlbiwKIAkJCQlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqc2Vuc2UpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOworCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKIAotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CiAKLQlyZXEuc2Vuc2UgPSBzZW5zZTsKLQlyZXEuZGF0YSA9ICBidWY7Ci0JcmVxLmRhdGFfbGVuID0gYnVmbGVuOwotCXJlcS5jbWRfZmxhZ3MgfD0gUkVRX1FVSUVUOwotCXJlcS5jbWRbMF0gPSBHUENNRF9SRUFEX1RPQ19QTUFfQVRJUDsKLQlyZXEuY21kWzZdID0gdHJhY2tubzsKLQlyZXEuY21kWzddID0gKGJ1ZmxlbiA+PiA4KTsKLQlyZXEuY21kWzhdID0gKGJ1ZmxlbiAmIDB4ZmYpOwotCXJlcS5jbWRbOV0gPSAoZm9ybWF0IDw8IDYpOworCWNtZFswXSA9IEdQQ01EX1JFQURfVE9DX1BNQV9BVElQOworCWNtZFs2XSA9IHRyYWNrbm87CisJY21kWzddID0gKGJ1ZmxlbiA+PiA4KTsKKwljbWRbOF0gPSAoYnVmbGVuICYgMHhmZik7CisJY21kWzldID0gKGZvcm1hdCA8PCA2KTsKIAogCWlmIChtc2ZfZmxhZykKLQkJcmVxLmNtZFsxXSA9IDI7CisJCWNtZFsxXSA9IDI7CiAKLQlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIGJ1ZiwgJmJ1Zmxlbiwgc2Vuc2UsIDAsIFJFUV9RVUlFVCk7CiB9CiAKIC8qIFRyeSB0byByZWFkIHRoZSBlbnRpcmUgVE9DIGZvciB0aGUgZGlzayBpbnRvIG91ciBpbnRlcm5hbCBidWZmZXIuICovCkBAIC0yMTAzLDExICsyMTA2LDYgQEAKIAkJCWdvdG8gZmFpbGVkOwogCQl9CiAJfQotCWlmIChkcml2ZS0+c2NzaSkgewotCQlwcmludGsoS0VSTl9JTkZPICJpZGUtY2Q6IHBhc3NpbmcgZHJpdmUgJXMgdG8gaWRlLXNjc2kgIgotCQkJCSAiZW11bGF0aW9uLlxuIiwgZHJpdmUtPm5hbWUpOwotCQlnb3RvIGZhaWxlZDsKLQl9CiAJaW5mbyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBjZHJvbV9pbmZvKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKGluZm8gPT0gTlVMTCkgewogCQlwcmludGsoS0VSTl9FUlIgIiVzOiBDYW4ndCBhbGxvY2F0ZSBhIGNkcm9tIHN0cnVjdHVyZVxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1jZC5oIGIvZHJpdmVycy9pZGUvaWRlLWNkLmgKaW5kZXggYTU4ODAxYy4uZmUwZWEzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWNkLmgKKysrIGIvZHJpdmVycy9pZGUvaWRlLWNkLmgKQEAgLTE0Myw4ICsxNDMsOCBAQAogdm9pZCBpZGVfY2RfbG9nX2Vycm9yKGNvbnN0IGNoYXIgKiwgc3RydWN0IHJlcXVlc3QgKiwgc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKik7CiAKIC8qIGlkZS1jZC5jIGZ1bmN0aW9ucyB1c2VkIGJ5IGlkZS1jZF9pb2N0bC5jICovCi12b2lkIGlkZV9jZF9pbml0X3JxKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICopOwotaW50IGlkZV9jZF9xdWV1ZV9wYyhpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgcmVxdWVzdCAqKTsKK2ludCBpZGVfY2RfcXVldWVfcGMoaWRlX2RyaXZlX3QgKiwgY29uc3QgdW5zaWduZWQgY2hhciAqLCBpbnQsIHZvaWQgKiwKKwkJICAgIHVuc2lnbmVkICosIHN0cnVjdCByZXF1ZXN0X3NlbnNlICosIGludCwgdW5zaWduZWQgaW50KTsKIGludCBpZGVfY2RfcmVhZF90b2MoaWRlX2RyaXZlX3QgKiwgc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKik7CiBpbnQgaWRlX2Nkcm9tX2dldF9jYXBhYmlsaXRpZXMoaWRlX2RyaXZlX3QgKiwgdTggKik7CiB2b2lkIGlkZV9jZHJvbV91cGRhdGVfc3BlZWQoaWRlX2RyaXZlX3QgKiwgdTggKik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtY2RfaW9jdGwuYyBiL2RyaXZlcnMvaWRlL2lkZS1jZF9pb2N0bC5jCmluZGV4IDZkMTQ3Y2UuLjI0ZDAwMmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1jZF9pb2N0bC5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1jZF9pb2N0bC5jCkBAIC0xMDQsOCArMTA0LDggQEAKIHsKIAlzdHJ1Y3QgY2Ryb21faW5mbyAqY2QgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAJc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGkgPSAmY2QtPmRldmluZm87Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOwogCWNoYXIgbG9laiA9IDB4MDI7CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOwogCiAJaWYgKChjZC0+Y2RfZmxhZ3MgJiBJREVfQ0RfRkxBR19OT19FSkVDVCkgJiYgIWVqZWN0ZmxhZykKIAkJcmV0dXJuIC1FRFJJVkVfQ0FOVF9ET19USElTOwpAQCAtMTE0LDE3ICsxMTQsMTYgQEAKIAlpZiAoKGNkLT5jZF9mbGFncyAmIElERV9DRF9GTEFHX0RPT1JfTE9DS0VEKSAmJiBlamVjdGZsYWcpCiAJCXJldHVybiAwOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOwotCiAJLyogb25seSB0ZWxsIGRyaXZlIHRvIGNsb3NlIHRyYXkgaWYgb3BlbiwgaWYgaXQgY2FuIGRvIHRoYXQgKi8KIAlpZiAoZWplY3RmbGFnICYmIChjZGktPm1hc2sgJiBDRENfQ0xPU0VfVFJBWSkpCiAJCWxvZWogPSAwOwogCi0JcmVxLnNlbnNlID0gc2Vuc2U7Ci0JcmVxLmNtZFswXSA9IEdQQ01EX1NUQVJUX1NUT1BfVU5JVDsKLQlyZXEuY21kWzRdID0gbG9laiB8IChlamVjdGZsYWcgIT0gMCk7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOwogCi0JcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJY21kWzBdID0gR1BDTURfU1RBUlRfU1RPUF9VTklUOworCWNtZFs0XSA9IGxvZWogfCAoZWplY3RmbGFnICE9IDApOworCisJcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBOVUxMLCAwLCBzZW5zZSwgMCwgMCk7CiB9CiAKIC8qIExvY2sgdGhlIGRvb3IgaWYgTE9DS0ZMQUcgaXMgbm9uemVybzsgdW5sb2NrIGl0IG90aGVyd2lzZS4gKi8KQEAgLTEzNCw3ICsxMzMsNiBAQAogewogCXN0cnVjdCBjZHJvbV9pbmZvICpjZCA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSBteV9zZW5zZTsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CiAJaW50IHN0YXQ7CiAKIAlpZiAoc2Vuc2UgPT0gTlVMTCkKQEAgLTE0NCwxMSArMTQyLDE1IEBACiAJaWYgKGNkLT5jZF9mbGFncyAmIElERV9DRF9GTEFHX05PX0RPT1JMT0NLKSB7CiAJCXN0YXQgPSAwOwogCX0gZWxzZSB7Ci0JCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKLQkJcmVxLnNlbnNlID0gc2Vuc2U7Ci0JCXJlcS5jbWRbMF0gPSBHUENNRF9QUkVWRU5UX0FMTE9XX01FRElVTV9SRU1PVkFMOwotCQlyZXEuY21kWzRdID0gbG9ja2ZsYWcgPyAxIDogMDsKLQkJc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKKworCQltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CisKKwkJY21kWzBdID0gR1BDTURfUFJFVkVOVF9BTExPV19NRURJVU1fUkVNT1ZBTDsKKwkJY21kWzRdID0gbG9ja2ZsYWcgPyAxIDogMDsKKworCQlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIE5VTEwsIDAsCisJCQkJICAgICAgIHNlbnNlLCAwLCAwKTsKIAl9CiAKIAkvKiBJZiB3ZSBnb3QgYW4gaWxsZWdhbCBmaWVsZCBlcnJvciwgdGhlIGRyaXZlCkBAIC0yMDYsMzIgKzIwOCwzMCBAQAogewogCWlkZV9kcml2ZV90ICpkcml2ZSA9IGNkaS0+aGFuZGxlOwogCXN0cnVjdCBjZHJvbV9pbmZvICpjZCA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKIAlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSBzZW5zZTsKIAl1OCBidWZbQVRBUElfQ0FQQUJJTElUSUVTX1BBR0VfU0laRV07CiAJaW50IHN0YXQ7Ci0KLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJxKTsKLQotCXJxLnNlbnNlID0gJnNlbnNlOworCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKIAogCWlmIChzcGVlZCA9PSAwKQogCQlzcGVlZCA9IDB4ZmZmZjsgLyogc2V0IHRvIG1heCAqLwogCWVsc2UKIAkJc3BlZWQgKj0gMTc3OyAgIC8qIE54IHRvIGtieXRlcy9zICovCiAKLQlycS5jbWRbMF0gPSBHUENNRF9TRVRfU1BFRUQ7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOworCisJY21kWzBdID0gR1BDTURfU0VUX1NQRUVEOwogCS8qIFJlYWQgRHJpdmUgc3BlZWQgaW4ga2J5dGVzL3NlY29uZCBNU0IvTFNCICovCi0JcnEuY21kWzJdID0gKHNwZWVkID4+IDgpICYgMHhmZjsKLQlycS5jbWRbM10gPSBzcGVlZCAmIDB4ZmY7CisJY21kWzJdID0gKHNwZWVkID4+IDgpICYgMHhmZjsKKwljbWRbM10gPSBzcGVlZCAmIDB4ZmY7CiAJaWYgKChjZGktPm1hc2sgJiAoQ0RDX0NEX1IgfCBDRENfQ0RfUlcgfCBDRENfRFZEX1IpKSAhPQogCSAgICAoQ0RDX0NEX1IgfCBDRENfQ0RfUlcgfCBDRENfRFZEX1IpKSB7CiAJCS8qIFdyaXRlIERyaXZlIHNwZWVkIGluIGtieXRlcy9zZWNvbmQgTVNCL0xTQiAqLwotCQlycS5jbWRbNF0gPSAoc3BlZWQgPj4gOCkgJiAweGZmOwotCQlycS5jbWRbNV0gPSBzcGVlZCAmIDB4ZmY7CisJCWNtZFs0XSA9IChzcGVlZCA+PiA4KSAmIDB4ZmY7CisJCWNtZFs1XSA9IHNwZWVkICYgMHhmZjsKIAl9CiAKLQlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcnEpOworCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgTlVMTCwgMCwgJnNlbnNlLCAwLCAwKTsKIAogCWlmICghaWRlX2Nkcm9tX2dldF9jYXBhYmlsaXRpZXMoZHJpdmUsIGJ1ZikpIHsKIAkJaWRlX2Nkcm9tX3VwZGF0ZV9zcGVlZChkcml2ZSwgYnVmKTsKQEAgLTI2OCwyMSArMjY4LDE5IEBACiB7CiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gY2RpLT5oYW5kbGU7CiAJaW50IHN0YXQsIG1jbmxlbjsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKIAljaGFyIGJ1ZlsyNF07CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOworCXVuc2lnbmVkIGxlbiA9IHNpemVvZihidWYpOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZycSk7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOwogCi0JcnEuZGF0YSA9IGJ1ZjsKLQlycS5kYXRhX2xlbiA9IHNpemVvZihidWYpOworCWNtZFswXSA9IEdQQ01EX1JFQURfU1VCQ0hBTk5FTDsKKwljbWRbMV0gPSAyOwkJLyogTVNGIGFkZHJlc3NpbmcgKi8KKwljbWRbMl0gPSAweDQwOwkvKiByZXF1ZXN0IHN1YlEgZGF0YSAqLworCWNtZFszXSA9IDI7CQkvKiBmb3JtYXQgKi8KKwljbWRbOF0gPSBsZW47CiAKLQlycS5jbWRbMF0gPSBHUENNRF9SRUFEX1NVQkNIQU5ORUw7Ci0JcnEuY21kWzFdID0gMjsJCS8qIE1TRiBhZGRyZXNzaW5nICovCi0JcnEuY21kWzJdID0gMHg0MDsJLyogcmVxdWVzdCBzdWJRIGRhdGEgKi8KLQlycS5jbWRbM10gPSAyOwkJLyogZm9ybWF0ICovCi0JcnEuY21kWzhdID0gc2l6ZW9mKGJ1Zik7Ci0KLQlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcnEpOworCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgYnVmLCAmbGVuLCBOVUxMLCAwLCAwKTsKIAlpZiAoc3RhdCkKIAkJcmV0dXJuIHN0YXQ7CiAKQEAgLTI5OCwxNCArMjk2LDE0IEBACiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gY2RpLT5oYW5kbGU7CiAJc3RydWN0IGNkcm9tX2luZm8gKmNkID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCXN0cnVjdCByZXF1ZXN0X3NlbnNlIHNlbnNlOwotCXN0cnVjdCByZXF1ZXN0IHJlcTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAJaW50IHJldDsKIAotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKLQlyZXEuY21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOwotCXJlcS5jbWRfZmxhZ3MgPSBSRVFfUVVJRVQ7Ci0JcmV0ID0gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJlcSwgaWRlX3dhaXQpOwotCisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOworCXJxLT5jbWRfZmxhZ3MgPSBSRVFfUVVJRVQ7CisJcmV0ID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBjZC0+ZGlzaywgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAJLyoKIAkgKiBBIHJlc2V0IHdpbGwgdW5sb2NrIHRoZSBkb29yLiBJZiBpdCB3YXMgcHJldmlvdXNseSBsb2NrZWQsCiAJICogbG9jayBpdCBhZ2Fpbi4KQEAgLTM1MSw4ICszNDksOCBAQAogCXN0cnVjdCBhdGFwaV90b2NfZW50cnkgKmZpcnN0X3RvYywgKmxhc3RfdG9jOwogCXVuc2lnbmVkIGxvbmcgbGJhX3N0YXJ0LCBsYmFfZW5kOwogCWludCBzdGF0OwotCXN0cnVjdCByZXF1ZXN0IHJxOwogCXN0cnVjdCByZXF1ZXN0X3NlbnNlIHNlbnNlOworCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKIAogCXN0YXQgPSBpZGVfY2RfZ2V0X3RvY19lbnRyeShkcml2ZSwgdGktPmNkdGlfdHJrMCwgJmZpcnN0X3RvYyk7CiAJaWYgKHN0YXQpCkBAIC0zNzAsMTQgKzM2OCwxMyBAQAogCWlmIChsYmFfZW5kIDw9IGxiYV9zdGFydCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJxKTsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CiAKLQlycS5zZW5zZSA9ICZzZW5zZTsKLQlycS5jbWRbMF0gPSBHUENNRF9QTEFZX0FVRElPX01TRjsKLQlsYmFfdG9fbXNmKGxiYV9zdGFydCwgICAmcnEuY21kWzNdLCAmcnEuY21kWzRdLCAmcnEuY21kWzVdKTsKLQlsYmFfdG9fbXNmKGxiYV9lbmQgLSAxLCAmcnEuY21kWzZdLCAmcnEuY21kWzddLCAmcnEuY21kWzhdKTsKKwljbWRbMF0gPSBHUENNRF9QTEFZX0FVRElPX01TRjsKKwlsYmFfdG9fbXNmKGxiYV9zdGFydCwgICAmY21kWzNdLCAmY21kWzRdLCAmY21kWzVdKTsKKwlsYmFfdG9fbXNmKGxiYV9lbmQgLSAxLCAmY21kWzZdLCAmY21kWzddLCAmY21kWzhdKTsKIAotCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZycSk7CisJcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBOVUxMLCAwLCAmc2Vuc2UsIDAsIDApOwogfQogCiBzdGF0aWMgaW50IGlkZV9jZF9yZWFkX3RvY2hkcihpZGVfZHJpdmVfdCAqZHJpdmUsIHZvaWQgKmFyZykKQEAgLTQ0Nyw4ICs0NDQsOSBAQAogaW50IGlkZV9jZHJvbV9wYWNrZXQoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksCiAJCQkgICAgc3RydWN0IHBhY2tldF9jb21tYW5kICpjZ2MpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOwogCWlkZV9kcml2ZV90ICpkcml2ZSA9IGNkaS0+aGFuZGxlOworCXVuc2lnbmVkIGludCBmbGFncyA9IDA7CisJdW5zaWduZWQgbGVuID0gY2djLT5idWZsZW47CiAKIAlpZiAoY2djLT50aW1lb3V0IDw9IDApCiAJCWNnYy0+dGltZW91dCA9IEFUQVBJX1dBSVRfUEM7CkBAIC00NTYsMjQgKzQ1NCwyMSBAQAogCS8qIGhlcmUgd2UgcXVldWUgdGhlIGNvbW1hbmRzIGZyb20gdGhlIHVuaWZvcm0gQ0QtUk9NCiAJICAgbGF5ZXIuIHRoZSBwYWNrZXQgbXVzdCBiZSBjb21wbGV0ZSwgYXMgd2UgZG8gbm90CiAJICAgdG91Y2ggaXQgYXQgYWxsLiAqLwotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKIAogCWlmIChjZ2MtPmRhdGFfZGlyZWN0aW9uID09IENHQ19EQVRBX1dSSVRFKQotCQlyZXEuY21kX2ZsYWdzIHw9IFJFUV9SVzsKKwkJZmxhZ3MgfD0gUkVRX1JXOwogCi0JbWVtY3B5KHJlcS5jbWQsIGNnYy0+Y21kLCBDRFJPTV9QQUNLRVRfU0laRSk7CiAJaWYgKGNnYy0+c2Vuc2UpCiAJCW1lbXNldChjZ2MtPnNlbnNlLCAwLCBzaXplb2Yoc3RydWN0IHJlcXVlc3Rfc2Vuc2UpKTsKLQlyZXEuZGF0YSA9IGNnYy0+YnVmZmVyOwotCXJlcS5kYXRhX2xlbiA9IGNnYy0+YnVmbGVuOwotCXJlcS50aW1lb3V0ID0gY2djLT50aW1lb3V0OwogCiAJaWYgKGNnYy0+cXVpZXQpCi0JCXJlcS5jbWRfZmxhZ3MgfD0gUkVRX1FVSUVUOworCQlmbGFncyB8PSBSRVFfUVVJRVQ7CiAKLQlyZXEuc2Vuc2UgPSBjZ2MtPnNlbnNlOwotCWNnYy0+c3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJY2djLT5zdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjZ2MtPmNtZCwKKwkJCQkgICAgY2djLT5kYXRhX2RpcmVjdGlvbiA9PSBDR0NfREFUQV9XUklURSwKKwkJCQkgICAgY2djLT5idWZmZXIsICZsZW4sCisJCQkJICAgIGNnYy0+c2Vuc2UsIGNnYy0+dGltZW91dCwgZmxhZ3MpOwogCWlmICghY2djLT5zdGF0KQotCQljZ2MtPmJ1ZmxlbiAtPSByZXEuZGF0YV9sZW47CisJCWNnYy0+YnVmbGVuIC09IGxlbjsKIAlyZXR1cm4gY2djLT5zdGF0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWRpc2suYyBiL2RyaXZlcnMvaWRlL2lkZS1kaXNrLmMKaW5kZXggOGUwOGQwOC4uNWY0OWE0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWRpc2suYworKysgYi9kcml2ZXJzL2lkZS9pZGUtZGlzay5jCkBAIC0xOTgsOCArMTk4LDcgQEAKIAl9CiAKIAltZW1zZXQoJnRhc2ssIDAsIHNpemVvZih0YXNrKSk7Ci0JdGFzay50Zl9mbGFncyA9IElERV9URkxBR19OT19TRUxFQ1RfTUFTSzsgIC8qIEZJWE1FPyAqLwotCXRhc2sudGZfZmxhZ3MgfD0gKElERV9URkxBR19URiB8IElERV9URkxBR19ERVZJQ0UpOworCXRhc2sudGZfZmxhZ3MgPSBJREVfVEZMQUdfVEYgfCBJREVfVEZMQUdfREVWSUNFOwogCiAJaWYgKGRyaXZlLT5zZWxlY3QuYi5sYmEpIHsKIAkJaWYgKGxiYTQ4KSB7CkBAIC02MTcsNyArNjE2LDggQEAKICAqLwogc3RhdGljIGludCBzZXRfbXVsdGNvdW50KGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IGFyZykKIHsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CisJaW50IGVycm9yOwogCiAJaWYgKGFyZyA8IDAgfHwgYXJnID4gZHJpdmUtPmlkLT5tYXhfbXVsdHNlY3QpCiAJCXJldHVybiAtRUlOVkFMOwpAQCAtNjI1LDEyICs2MjUsMTMgQEAKIAlpZiAoZHJpdmUtPnNwZWNpYWwuYi5zZXRfbXVsdG1vZGUpCiAJCXJldHVybiAtRUJVU1k7CiAKLQlpZGVfaW5pdF9kcml2ZV9jbWQoJnJxKTsKLQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKIAogCWRyaXZlLT5tdWx0X3JlcSA9IGFyZzsKIAlkcml2ZS0+c3BlY2lhbC5iLnNldF9tdWx0bW9kZSA9IDE7Ci0JKHZvaWQpaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJZXJyb3IgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIE5VTEwsIHJxLCAwKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCiAJcmV0dXJuIChkcml2ZS0+bXVsdF9jb3VudCA9PSBhcmcpID8gMCA6IC1FSU87CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtZG1hLmMgYi9kcml2ZXJzL2lkZS9pZGUtZG1hLmMKaW5kZXggNjUzYjFhZC4uN2VlNDRmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWRtYS5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1kbWEuYwpAQCAtNDYzLDcgKzQ2Myw3IEBACiAJfQogCiAJLyogUFJEIHRhYmxlICovCi0JaWYgKGh3aWYtPm1taW8pCisJaWYgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJd3JpdGVsKGh3aWYtPmRtYXRhYmxlX2RtYSwKIAkJICAgICAgICh2b2lkIF9faW9tZW0gKikoaHdpZi0+ZG1hX2Jhc2UgKyBBVEFfRE1BX1RBQkxFX09GUykpOwogCWVsc2UKQEAgLTY5Miw3ICs2OTIsNyBAQAogCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAl1OCBzcGVlZDsKIAotCWlmIChub2F1dG9kbWEgfHwgZHJpdmUtPm5vZG1hIHx8IChkcml2ZS0+aWQtPmNhcGFiaWxpdHkgJiAxKSA9PSAwKQorCWlmIChkcml2ZS0+bm9kbWEgfHwgKGRyaXZlLT5pZC0+Y2FwYWJpbGl0eSAmIDEpID09IDApCiAJCXJldHVybiAwOwogCiAJLyogY29uc3VsdCB0aGUgbGlzdCBvZiBrbm93biAiYmFkIiBkcml2ZXMgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1mbG9wcHkuYyBiL2RyaXZlcnMvaWRlL2lkZS1mbG9wcHkuYwppbmRleCBmMDVmYmMyLi5iMzY4OTQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtZmxvcHB5LmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWZsb3BweS5jCkBAIC0yODYsMTEgKzI4NiwxMiBAQAogewogCXN0cnVjdCBpZGVfZmxvcHB5X29iaiAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCi0JaWRlX2luaXRfZHJpdmVfY21kKHJxKTsKKwlibGtfcnFfaW5pdChOVUxMLCBycSk7CiAJcnEtPmJ1ZmZlciA9IChjaGFyICopIHBjOwogCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKIAlycS0+cnFfZGlzayA9IGZsb3BweS0+ZGlzazsKLQkodm9pZCkgaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEsIGlkZV9wcmVlbXB0KTsKKwlpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaWRlX2F0YXBpX3BjICppZGVmbG9wcHlfbmV4dF9wY19zdG9yYWdlKGlkZV9kcml2ZV90ICpkcml2ZSkKQEAgLTMxMSw1MCArMzEyLDQxIEBACiAJcmV0dXJuICgmZmxvcHB5LT5ycV9zdGFja1tmbG9wcHktPnJxX3N0YWNrX2luZGV4KytdKTsKIH0KIAotc3RhdGljIHZvaWQgaWRlZmxvcHB5X3JlcXVlc3Rfc2Vuc2VfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQorc3RhdGljIHZvaWQgaWRlX2Zsb3BweV9jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JdTggKmJ1ZiA9IGZsb3BweS0+cGMtPmJ1ZjsKKwlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IGZsb3BweS0+cGM7CisJaW50IHVwdG9kYXRlID0gcGMtPmVycm9yID8gMCA6IDE7CiAKIAlkZWJ1Z19sb2coIlJlYWNoZWQgJXNcbiIsIF9fZnVuY19fKTsKIAotCWlmICghZmxvcHB5LT5wYy0+ZXJyb3IpIHsKLQkJZmxvcHB5LT5zZW5zZV9rZXkgPSBidWZbMl0gJiAweDBGOwotCQlmbG9wcHktPmFzYyA9IGJ1ZlsxMl07Ci0JCWZsb3BweS0+YXNjcSA9IGJ1ZlsxM107Ci0JCWZsb3BweS0+cHJvZ3Jlc3NfaW5kaWNhdGlvbiA9IGJ1ZlsxNV0gJiAweDgwID8KLQkJCSh1MTYpZ2V0X3VuYWxpZ25lZCgodTE2ICopJmJ1ZlsxNl0pIDogMHgxMDAwMDsKKwlpZiAoZmxvcHB5LT5mYWlsZWRfcGMgPT0gcGMpCisJCWZsb3BweS0+ZmFpbGVkX3BjID0gTlVMTDsKIAotCQlpZiAoZmxvcHB5LT5mYWlsZWRfcGMpCi0JCQlkZWJ1Z19sb2coInBjID0gJXgsIHNlbnNlIGtleSA9ICV4LCBhc2MgPSAleCwiCi0JCQkJCSIgYXNjcSA9ICV4XG4iLAotCQkJCQlmbG9wcHktPmZhaWxlZF9wYy0+Y1swXSwKLQkJCQkJZmxvcHB5LT5zZW5zZV9rZXksCi0JCQkJCWZsb3BweS0+YXNjLAotCQkJCQlmbG9wcHktPmFzY3EpOwotCQllbHNlCisJaWYgKHBjLT5jWzBdID09IEdQQ01EX1JFQURfMTAgfHwgcGMtPmNbMF0gPT0gR1BDTURfV1JJVEVfMTAgfHwKKwkgICAgKHBjLT5ycSAmJiBibGtfcGNfcmVxdWVzdChwYy0+cnEpKSkKKwkJdXB0b2RhdGUgPSAxOyAvKiBGSVhNRSAqLworCWVsc2UgaWYgKHBjLT5jWzBdID09IEdQQ01EX1JFUVVFU1RfU0VOU0UpIHsKKwkJdTggKmJ1ZiA9IGZsb3BweS0+cGMtPmJ1ZjsKKworCQlpZiAoIXBjLT5lcnJvcikgeworCQkJZmxvcHB5LT5zZW5zZV9rZXkgPSBidWZbMl0gJiAweDBGOworCQkJZmxvcHB5LT5hc2MgPSBidWZbMTJdOworCQkJZmxvcHB5LT5hc2NxID0gYnVmWzEzXTsKKwkJCWZsb3BweS0+cHJvZ3Jlc3NfaW5kaWNhdGlvbiA9IGJ1ZlsxNV0gJiAweDgwID8KKwkJCQkodTE2KWdldF91bmFsaWduZWQoKHUxNiAqKSZidWZbMTZdKSA6IDB4MTAwMDA7CisKKwkJCWlmIChmbG9wcHktPmZhaWxlZF9wYykKKwkJCQlkZWJ1Z19sb2coInBjID0gJXgsICIsIGZsb3BweS0+ZmFpbGVkX3BjLT5jWzBdKTsKKwogCQkJZGVidWdfbG9nKCJzZW5zZSBrZXkgPSAleCwgYXNjID0gJXgsIGFzY3EgPSAleFxuIiwKLQkJCQkJZmxvcHB5LT5zZW5zZV9rZXksCi0JCQkJCWZsb3BweS0+YXNjLAotCQkJCQlmbG9wcHktPmFzY3EpOwotCi0KLQkJaWRlZmxvcHB5X2VuZF9yZXF1ZXN0KGRyaXZlLCAxLCAwKTsKLQl9IGVsc2UgewotCQlwcmludGsoS0VSTl9FUlIgIkVycm9yIGluIFJFUVVFU1QgU0VOU0UgaXRzZWxmIC0gQWJvcnRpbmciCi0JCQkJIiByZXF1ZXN0IVxuIik7Ci0JCWlkZWZsb3BweV9lbmRfcmVxdWVzdChkcml2ZSwgMCwgMCk7CisJCQkJICBmbG9wcHktPnNlbnNlX2tleSwgZmxvcHB5LT5hc2MsIGZsb3BweS0+YXNjcSk7CisJCX0gZWxzZQorCQkJcHJpbnRrKEtFUk5fRVJSICJFcnJvciBpbiBSRVFVRVNUIFNFTlNFIGl0c2VsZiAtICIKKwkJCQkJIkFib3J0aW5nIHJlcXVlc3QhXG4iKTsKIAl9Ci19CiAKLS8qIEdlbmVyYWwgcGFja2V0IGNvbW1hbmQgY2FsbGJhY2sgZnVuY3Rpb24uICovCi1zdGF0aWMgdm9pZCBpZGVmbG9wcHlfcGNfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCi0JZGVidWdfbG9nKCJSZWFjaGVkICVzXG4iLCBfX2Z1bmNfXyk7Ci0KLQlpZGVmbG9wcHlfZW5kX3JlcXVlc3QoZHJpdmUsIGZsb3BweS0+cGMtPmVycm9yID8gMCA6IDEsIDApOworCWlkZWZsb3BweV9lbmRfcmVxdWVzdChkcml2ZSwgdXB0b2RhdGUsIDApOwogfQogCiBzdGF0aWMgdm9pZCBpZGVmbG9wcHlfaW5pdF9wYyhzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKQEAgLTM2NSw3ICszNTcsNyBAQAogCXBjLT5yZXFfeGZlciA9IDA7CiAJcGMtPmJ1ZiA9IHBjLT5wY19idWY7CiAJcGMtPmJ1Zl9zaXplID0gSURFRkxPUFBZX1BDX0JVRkZFUl9TSVpFOwotCXBjLT5pZGVmbG9wcHlfY2FsbGJhY2sgPSAmaWRlZmxvcHB5X3BjX2NhbGxiYWNrOworCXBjLT5jYWxsYmFjayA9IGlkZV9mbG9wcHlfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZWZsb3BweV9jcmVhdGVfcmVxdWVzdF9zZW5zZV9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC0zNzQsNyArMzY2LDYgQEAKIAlwYy0+Y1swXSA9IEdQQ01EX1JFUVVFU1RfU0VOU0U7CiAJcGMtPmNbNF0gPSAyNTU7CiAJcGMtPnJlcV94ZmVyID0gMTg7Ci0JcGMtPmlkZWZsb3BweV9jYWxsYmFjayA9ICZpZGVmbG9wcHlfcmVxdWVzdF9zZW5zZV9jYWxsYmFjazsKIH0KIAogLyoKQEAgLTM5NywxNzQgKzM4OCwxOSBAQAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVmbG9wcHlfcGNfaW50cihpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gZmxvcHB5LT5wYzsKLQlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBwYy0+cnE7Ci0JeGZlcl9mdW5jX3QgKnhmZXJmdW5jOwotCXVuc2lnbmVkIGludCB0ZW1wOwotCWludCBkbWFfZXJyb3IgPSAwOwotCXUxNiBiY291bnQ7Ci0JdTggc3RhdCwgaXJlYXNvbjsKIAotCWRlYnVnX2xvZygiUmVhY2hlZCAlcyBpbnRlcnJ1cHQgaGFuZGxlclxuIiwgX19mdW5jX18pOwotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7Ci0JCWRtYV9lcnJvciA9IGh3aWYtPmRtYV9vcHMtPmRtYV9lbmQoZHJpdmUpOwotCQlpZiAoZG1hX2Vycm9yKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgIiVzOiBETUEgJXMgZXJyb3JcbiIsIGRyaXZlLT5uYW1lLAotCQkJCQlycV9kYXRhX2RpcihycSkgPyAid3JpdGUiIDogInJlYWQiKTsKLQkJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9FUlJPUjsKLQkJfSBlbHNlIHsKLQkJCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyOwotCQkJaWRlZmxvcHB5X3VwZGF0ZV9idWZmZXJzKGRyaXZlLCBwYyk7Ci0JCX0KLQkJZGVidWdfbG9nKCJETUEgZmluaXNoZWRcbiIpOwotCX0KLQotCS8qIENsZWFyIHRoZSBpbnRlcnJ1cHQgKi8KLQlzdGF0ID0gaWRlX3JlYWRfc3RhdHVzKGRyaXZlKTsKLQotCS8qIE5vIG1vcmUgaW50ZXJydXB0cyAqLwotCWlmICgoc3RhdCAmIERSUV9TVEFUKSA9PSAwKSB7Ci0JCWRlYnVnX2xvZygiUGFja2V0IGNvbW1hbmQgY29tcGxldGVkLCAlZCBieXRlcyB0cmFuc2ZlcnJlZFxuIiwKLQkJCQlwYy0+eGZlcnJlZCk7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0KLQkJbG9jYWxfaXJxX2VuYWJsZV9pbl9oYXJkaXJxKCk7Ci0KLQkJaWYgKChzdGF0ICYgRVJSX1NUQVQpIHx8IChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikpIHsKLQkJCS8qIEVycm9yIGRldGVjdGVkICovCi0JCQlkZWJ1Z19sb2coIiVzOiBJL08gZXJyb3JcbiIsIGRyaXZlLT5uYW1lKTsKLQkJCXJxLT5lcnJvcnMrKzsKLQkJCWlmIChwYy0+Y1swXSA9PSBHUENNRF9SRVFVRVNUX1NFTlNFKSB7Ci0JCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBJL08gZXJyb3IgaW4gIgotCQkJCQkicmVxdWVzdCBzZW5zZSBjb21tYW5kXG4iKTsKLQkJCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQkJCX0KLQkJCS8qIFJldHJ5IG9wZXJhdGlvbiAqLwotCQkJaWRlZmxvcHB5X3JldHJ5X3BjKGRyaXZlKTsKLQkJCS8qIHF1ZXVlZCwgYnV0IG5vdCBzdGFydGVkICovCi0JCQlyZXR1cm4gaWRlX3N0b3BwZWQ7Ci0JCX0KLQkJcGMtPmVycm9yID0gMDsKLQkJaWYgKGZsb3BweS0+ZmFpbGVkX3BjID09IHBjKQotCQkJZmxvcHB5LT5mYWlsZWRfcGMgPSBOVUxMOwotCQkvKiBDb21tYW5kIGZpbmlzaGVkIC0gQ2FsbCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gKi8KLQkJcGMtPmlkZWZsb3BweV9jYWxsYmFjayhkcml2ZSk7Ci0JCXJldHVybiBpZGVfc3RvcHBlZDsKLQl9Ci0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBUaGUgZmxvcHB5IHdhbnRzIHRvIGlzc3VlICIKLQkJCSJtb3JlIGludGVycnVwdHMgaW4gRE1BIG1vZGVcbiIpOwotCQlpZGVfZG1hX29mZihkcml2ZSk7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQotCS8qIEdldCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zZmVyICovCi0JYmNvdW50ID0gKGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFoX2FkZHIpIDw8IDgpIHwKLQkJICBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhbV9hZGRyKTsKLQkvKiBvbiB0aGlzIGludGVycnVwdCAqLwotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0KLQlpZiAoaXJlYXNvbiAmIENEKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogQ29EICE9IDAgaW4gJXNcbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCWlmICgoKGlyZWFzb24gJiBJTykgPT0gSU8pID09ICEhKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpIHsKLQkJLyogSG9wZWZ1bGx5LCB3ZSB3aWxsIG5ldmVyIGdldCBoZXJlICovCi0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogV2Ugd2FudGVkIHRvICVzLCAiLAotCQkJCShpcmVhc29uICYgSU8pID8gIldyaXRlIiA6ICJSZWFkIik7Ci0JCXByaW50ayhLRVJOX0VSUiAiYnV0IHRoZSBmbG9wcHkgd2FudHMgdXMgdG8gJXMgIVxuIiwKLQkJCQkoaXJlYXNvbiAmIElPKSA/ICJSZWFkIiA6ICJXcml0ZSIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JaWYgKCEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSkgewotCQkvKiBSZWFkaW5nIC0gQ2hlY2sgdGhhdCB3ZSBoYXZlIGVub3VnaCBzcGFjZSAqLwotCQl0ZW1wID0gcGMtPnhmZXJyZWQgKyBiY291bnQ7Ci0JCWlmICh0ZW1wID4gcGMtPnJlcV94ZmVyKSB7Ci0JCQlpZiAodGVtcCA+IHBjLT5idWZfc2l6ZSkgewotCQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogVGhlIGZsb3BweSB3YW50cyAiCi0JCQkJCSJ0byBzZW5kIHVzIG1vcmUgZGF0YSB0aGFuIGV4cGVjdGVkICIKLQkJCQkJIi0gZGlzY2FyZGluZyBkYXRhXG4iKTsKLQkJCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCAwLCBiY291bnQpOwotCi0JCQkJaWRlX3NldF9oYW5kbGVyKGRyaXZlLAotCQkJCQkJJmlkZWZsb3BweV9wY19pbnRyLAotCQkJCQkJSURFRkxPUFBZX1dBSVRfQ01ELAotCQkJCQkJTlVMTCk7Ci0JCQkJcmV0dXJuIGlkZV9zdGFydGVkOwotCQkJfQotCQkJZGVidWdfbG9nKCJUaGUgZmxvcHB5IHdhbnRzIHRvIHNlbmQgdXMgbW9yZSBkYXRhIHRoYW4iCi0JCQkJCSIgZXhwZWN0ZWQgLSBhbGxvd2luZyB0cmFuc2ZlclxuIik7Ci0JCX0KLQl9Ci0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykKLQkJeGZlcmZ1bmMgPSBod2lmLT5vdXRwdXRfZGF0YTsKLQllbHNlCi0JCXhmZXJmdW5jID0gaHdpZi0+aW5wdXRfZGF0YTsKLQotCWlmIChwYy0+YnVmKQotCQl4ZmVyZnVuYyhkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7Ci0JZWxzZQotCQlpZGVfZmxvcHB5X2lvX2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQsCi0JCQkJICAgICAgISEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSk7Ci0KLQkvKiBVcGRhdGUgdGhlIGN1cnJlbnQgcG9zaXRpb24gKi8KLQlwYy0+eGZlcnJlZCArPSBiY291bnQ7Ci0JcGMtPmN1cl9wb3MgKz0gYmNvdW50OwotCi0JLyogQW5kIHNldCB0aGUgaW50ZXJydXB0IGhhbmRsZXIgYWdhaW4gKi8KLQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGVmbG9wcHlfcGNfaW50ciwgSURFRkxPUFBZX1dBSVRfQ01ELCBOVUxMKTsKLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJcmV0dXJuIGlkZV9wY19pbnRyKGRyaXZlLCBmbG9wcHktPnBjLCBpZGVmbG9wcHlfcGNfaW50ciwKKwkJCSAgIElERUZMT1BQWV9XQUlUX0NNRCwgTlVMTCwgaWRlZmxvcHB5X3VwZGF0ZV9idWZmZXJzLAorCQkJICAgaWRlZmxvcHB5X3JldHJ5X3BjLCBOVUxMLCBpZGVfZmxvcHB5X2lvX2J1ZmZlcnMpOwogfQogCiAvKgotICogVGhpcyBpcyB0aGUgb3JpZ2luYWwgcm91dGluZSB0aGF0IGRpZCB0aGUgcGFja2V0IHRyYW5zZmVyLgotICogSXQgZmFpbHMgYXQgaGlnaCBzcGVlZHMgb24gdGhlIElvbWVnYSBaSVAgZHJpdmUsIHNvIHRoZXJlJ3MgYSBzbG93ZXIgdmVyc2lvbgotICogZm9yIHRoYXQgZHJpdmUgYmVsb3cuIFRoZSBhbGdvcml0aG0gaXMgY2hvc2VuIGJhc2VkIG9uIGRyaXZlIHR5cGUKLSAqLwotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVmbG9wcHlfdHJhbnNmZXJfcGMoaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlpZGVfc3RhcnRzdG9wX3Qgc3RhcnRzdG9wOwotCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXU4IGlyZWFzb247Ci0KLQlpZiAoaWRlX3dhaXRfc3RhdCgmc3RhcnRzdG9wLCBkcml2ZSwgRFJRX1NUQVQsIEJVU1lfU1RBVCwgV0FJVF9SRUFEWSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBTdHJhbmdlLCBwYWNrZXQgY29tbWFuZCAiCi0JCQkJImluaXRpYXRlZCB5ZXQgRFJRIGlzbid0IGFzc2VydGVkXG4iKTsKLQkJcmV0dXJuIHN0YXJ0c3RvcDsKLQl9Ci0JaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQlpZiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IChJTyxDb0QpICE9ICgwLDEpIHdoaWxlICIKLQkJCQkiaXNzdWluZyBhIHBhY2tldCBjb21tYW5kXG4iKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCi0JLyogU2V0IHRoZSBpbnRlcnJ1cHQgcm91dGluZSAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZWZsb3BweV9wY19pbnRyLCBJREVGTE9QUFlfV0FJVF9DTUQsIE5VTEwpOwotCi0JLyogU2VuZCB0aGUgYWN0dWFsIHBhY2tldCAqLwotCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBmbG9wcHktPnBjLT5jLCAxMik7Ci0KLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci19Ci0KLQotLyoKICAqIFdoYXQgd2UgaGF2ZSBoZXJlIGlzIGEgY2xhc3NpYyBjYXNlIG9mIGEgdG9wIGhhbGYgLyBib3R0b20gaGFsZiBpbnRlcnJ1cHQKICAqIHNlcnZpY2Ugcm91dGluZS4gSW4gaW50ZXJydXB0IG1vZGUsIHRoZSBkZXZpY2Ugc2VuZHMgYW4gaW50ZXJydXB0IHRvIHNpZ25hbAogICogdGhhdCBpdCBpcyByZWFkeSB0byByZWNlaXZlIGEgcGFja2V0LiBIb3dldmVyLCB3ZSBuZWVkIHRvIGRlbGF5IGFib3V0IDItMwogICogdGlja3MgYmVmb3JlIGlzc3VpbmcgdGhlIHBhY2tldCBvciB3ZSBnZXRzIGluIHRyb3VibGUuCi0gKgotICogU28sIGZvbGxvdyBjYXJlZnVsbHkuIHRyYW5zZmVyX3BjMSBpcyBjYWxsZWQgYXMgYW4gaW50ZXJydXB0IChvciBkaXJlY3RseSkuCi0gKiBJbiBlaXRoZXIgY2FzZSwgd2hlbiB0aGUgZGV2aWNlIHNheXMgaXQncyByZWFkeSBmb3IgYSBwYWNrZXQsIHdlIHNjaGVkdWxlCi0gKiB0aGUgcGFja2V0IHRyYW5zZmVyIHRvIG9jY3VyIGFib3V0IDItMyB0aWNrcyBsYXRlciBpbiB0cmFuc2Zlcl9wYzIuCiAgKi8KLXN0YXRpYyBpbnQgaWRlZmxvcHB5X3RyYW5zZmVyX3BjMihpZGVfZHJpdmVfdCAqZHJpdmUpCitzdGF0aWMgaW50IGlkZWZsb3BweV90cmFuc2Zlcl9wYyhpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAKQEAgLTU3NSwyNCArNDExLDE5IEBACiAJcmV0dXJuIElERUZMT1BQWV9XQUlUX0NNRDsKIH0KIAotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVmbG9wcHlfdHJhbnNmZXJfcGMxKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7Ci0JaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JaWRlX3N0YXJ0c3RvcF90IHN0YXJ0c3RvcDsKLQl1OCBpcmVhc29uOwogCi0JaWYgKGlkZV93YWl0X3N0YXQoJnN0YXJ0c3RvcCwgZHJpdmUsIERSUV9TVEFULCBCVVNZX1NUQVQsIFdBSVRfUkVBRFkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogU3RyYW5nZSwgcGFja2V0IGNvbW1hbmQgIgotCQkJCSJpbml0aWF0ZWQgeWV0IERSUSBpc24ndCBhc3NlcnRlZFxuIik7Ci0JCXJldHVybiBzdGFydHN0b3A7Ci0JfQotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0JaWYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiAoSU8sQ29EKSAhPSAoMCwxKSAiCi0JCQkJIndoaWxlIGlzc3VpbmcgYSBwYWNrZXQgY29tbWFuZFxuIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KKy8qCisgKiBDYWxsZWQgYXMgYW4gaW50ZXJydXB0IChvciBkaXJlY3RseSkuIFdoZW4gdGhlIGRldmljZSBzYXlzIGl0J3MgcmVhZHkgZm9yIGEKKyAqIHBhY2tldCwgd2Ugc2NoZWR1bGUgdGhlIHBhY2tldCB0cmFuc2ZlciB0byBvY2N1ciBhYm91dCAyLTMgdGlja3MgbGF0ZXIgaW4KKyAqIHRyYW5zZmVyX3BjLgorICovCitzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZWZsb3BweV9zdGFydF9wY190cmFuc2ZlcihpZGVfZHJpdmVfdCAqZHJpdmUpCit7CisJaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CisJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBmbG9wcHktPnBjOworCWlkZV9leHBpcnlfdCAqZXhwaXJ5OworCXVuc2lnbmVkIGludCB0aW1lb3V0OworCiAJLyoKIAkgKiBUaGUgZm9sbG93aW5nIGRlbGF5IHNvbHZlcyBhIHByb2JsZW0gd2l0aCBBVEFQSSBaaXAgMTAwIGRyaXZlcwogCSAqIHdoZXJlIHRoZSBCdXN5IGZsYWcgd2FzIGFwcGFyZW50bHkgYmVpbmcgZGVhc3NlcnRlZCBiZWZvcmUgdGhlCkBAIC02MDEsMTAgKzQzMiwxNSBAQAogCSAqIDQwIGFuZCA1MG1zZWMgd29yayB3ZWxsLiBpZGVmbG9wcHlfcGNfaW50ciB3aWxsIG5vdCBiZSBhY3R1YWxseQogCSAqIHVzZWQgdW50aWwgYWZ0ZXIgdGhlIHBhY2tldCBpcyBtb3ZlZCBpbiBhYm91dCA1MCBtc2VjLgogCSAqLworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1pJUF9EUklWRSkgeworCQl0aW1lb3V0ID0gZmxvcHB5LT50aWNrczsKKwkJZXhwaXJ5ID0gJmlkZWZsb3BweV90cmFuc2Zlcl9wYzsKKwl9IGVsc2UgeworCQl0aW1lb3V0ID0gSURFRkxPUFBZX1dBSVRfQ01EOworCQlleHBpcnkgPSBOVUxMOworCX0KIAotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZWZsb3BweV9wY19pbnRyLCBmbG9wcHktPnRpY2tzLAotCQkJJmlkZWZsb3BweV90cmFuc2Zlcl9wYzIpOwotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3RyYW5zZmVyX3BjKGRyaXZlLCBwYywgaWRlZmxvcHB5X3BjX2ludHIsIHRpbWVvdXQsIGV4cGlyeSk7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZV9mbG9wcHlfcmVwb3J0X2Vycm9yKGlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5LApAQCAtNjI3LDEwICs0NjMsNiBAQAogCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7Ci0JaWRlX2hhbmRsZXJfdCAqcGt0X3hmZXJfcm91dGluZTsKLQl1MTYgYmNvdW50OwotCXU4IGRtYTsKIAogCWlmIChmbG9wcHktPmZhaWxlZF9wYyA9PSBOVUxMICYmCiAJICAgIHBjLT5jWzBdICE9IEdQQ01EX1JFUVVFU1RfU0VOU0UpCkBAIC02NDUsNjUgKzQ3NywxNiBAQAogCQlwYy0+ZXJyb3IgPSBJREVGTE9QUFlfRVJST1JfR0VORVJBTDsKIAogCQlmbG9wcHktPmZhaWxlZF9wYyA9IE5VTEw7Ci0JCXBjLT5pZGVmbG9wcHlfY2FsbGJhY2soZHJpdmUpOworCQlwYy0+Y2FsbGJhY2soZHJpdmUpOwogCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CiAJfQogCiAJZGVidWdfbG9nKCJSZXRyeSBudW1iZXIgLSAlZFxuIiwgcGMtPnJldHJpZXMpOwogCiAJcGMtPnJldHJpZXMrKzsKLQkvKiBXZSBoYXZlbid0IHRyYW5zZmVycmVkIGFueSBkYXRhIHlldCAqLwotCXBjLT54ZmVycmVkID0gMDsKLQlwYy0+Y3VyX3BvcyA9IHBjLT5idWY7Ci0JYmNvdW50ID0gbWluKHBjLT5yZXFfeGZlciwgNjMgKiAxMDI0KTsKIAotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikgewotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0VSUk9SOwotCQlpZGVfZG1hX29mZihkcml2ZSk7Ci0JfQotCWRtYSA9IDA7Ci0KLQlpZiAoKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX1JFQ09NTUVOREVEKSAmJiBkcml2ZS0+dXNpbmdfZG1hKQotCQlkbWEgPSAhaHdpZi0+ZG1hX29wcy0+ZG1hX3NldHVwKGRyaXZlKTsKLQotCWlkZV9wa3RjbWRfdGZfbG9hZChkcml2ZSwgSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLIHwKLQkJCSAgIElERV9URkxBR19PVVRfREVWSUNFLCBiY291bnQsIGRtYSk7Ci0KLQlpZiAoZG1hKSB7Ci0JCS8qIEJlZ2luIERNQSwgaWYgbmVjZXNzYXJ5ICovCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQkJaHdpZi0+ZG1hX29wcy0+ZG1hX3N0YXJ0KGRyaXZlKTsKLQl9Ci0KLQkvKiBDYW4gd2UgdHJhbnNmZXIgdGhlIHBhY2tldCB3aGVuIHdlIGdldCB0aGUgaW50ZXJydXB0IG9yIHdhaXQ/ICovCi0JaWYgKGZsb3BweS0+ZmxhZ3MgJiBJREVGTE9QUFlfRkxBR19aSVBfRFJJVkUpIHsKLQkJLyogd2FpdCAqLwotCQlwa3RfeGZlcl9yb3V0aW5lID0gJmlkZWZsb3BweV90cmFuc2Zlcl9wYzE7Ci0JfSBlbHNlIHsKLQkJLyogaW1tZWRpYXRlICovCi0JCXBrdF94ZmVyX3JvdXRpbmUgPSAmaWRlZmxvcHB5X3RyYW5zZmVyX3BjOwotCX0KLQotCWlmIChmbG9wcHktPmZsYWdzICYgSURFRkxPUFBZX0ZMQUdfRFJRX0lOVEVSUlVQVCkgewotCQkvKiBJc3N1ZSB0aGUgcGFja2V0IGNvbW1hbmQgKi8KLQkJaWRlX2V4ZWN1dGVfY29tbWFuZChkcml2ZSwgV0lOX1BBQ0tFVENNRCwKLQkJCQlwa3RfeGZlcl9yb3V0aW5lLAotCQkJCUlERUZMT1BQWV9XQUlUX0NNRCwKLQkJCQlOVUxMKTsKLQkJcmV0dXJuIGlkZV9zdGFydGVkOwotCX0gZWxzZSB7Ci0JCS8qIElzc3VlIHRoZSBwYWNrZXQgY29tbWFuZCAqLwotCQlpZGVfZXhlY3V0ZV9wa3RfY21kKGRyaXZlKTsKLQkJcmV0dXJuICgqcGt0X3hmZXJfcm91dGluZSkgKGRyaXZlKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGlkZWZsb3BweV9yd19jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JZGVidWdfbG9nKCJSZWFjaGVkICVzXG4iLCBfX2Z1bmNfXyk7Ci0KLQlpZGVmbG9wcHlfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOwotCXJldHVybjsKKwlyZXR1cm4gaWRlX2lzc3VlX3BjKGRyaXZlLCBwYywgaWRlZmxvcHB5X3N0YXJ0X3BjX3RyYW5zZmVyLAorCQkJICAgIElERUZMT1BQWV9XQUlUX0NNRCwgTlVMTCk7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZWZsb3BweV9jcmVhdGVfcHJldmVudF9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsIGludCBwcmV2ZW50KQpAQCAtODAwLDIxICs1ODMsMTkgQEAKIAlwdXRfdW5hbGlnbmVkKGNwdV90b19iZTE2KGJsb2NrcyksICh1bnNpZ25lZCBzaG9ydCAqKSZwYy0+Y1s3XSk7CiAJcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUzMihibG9jayksICh1bnNpZ25lZCBpbnQgKikgJnBjLT5jWzJdKTsKIAotCXBjLT5pZGVmbG9wcHlfY2FsbGJhY2sgPSAmaWRlZmxvcHB5X3J3X2NhbGxiYWNrOwogCXBjLT5ycSA9IHJxOwogCXBjLT5iX2NvdW50ID0gY21kID09IFJFQUQgPyAwIDogcnEtPmJpby0+Ymlfc2l6ZTsKIAlpZiAocnEtPmNtZF9mbGFncyAmIFJFUV9SVykKIAkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKIAlwYy0+YnVmID0gTlVMTDsKIAlwYy0+cmVxX3hmZXIgPSBwYy0+YnVmX3NpemUgPSBibG9ja3MgKiBmbG9wcHktPmJsb2NrX3NpemU7Ci0JcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX1JFQ09NTUVOREVEOworCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKIH0KIAogc3RhdGljIHZvaWQgaWRlZmxvcHB5X2Jsb2NrcGNfY21kKGlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5LAogCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywgc3RydWN0IHJlcXVlc3QgKnJxKQogewogCWlkZWZsb3BweV9pbml0X3BjKHBjKTsKLQlwYy0+aWRlZmxvcHB5X2NhbGxiYWNrID0gJmlkZWZsb3BweV9yd19jYWxsYmFjazsKIAltZW1jcHkocGMtPmMsIHJxLT5jbWQsIHNpemVvZihwYy0+YykpOwogCXBjLT5ycSA9IHJxOwogCXBjLT5iX2NvdW50ID0gcnEtPmRhdGFfbGVuOwpAQCAtODIyLDcgKzYwMyw3IEBACiAJCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dSSVRJTkc7CiAJcGMtPmJ1ZiA9IHJxLT5kYXRhOwogCWlmIChycS0+YmlvKQotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfUkVDT01NRU5ERUQ7CisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKIAkvKgogCSAqIHBvc3NpYmx5IHByb2JsZW1hdGljLCBkb2Vzbid0IGxvb2sgbGlrZSBpZGUtZmxvcHB5IGNvcnJlY3RseQogCSAqIGhhbmRsZWQgc2NhdHRlcmVkIHJlcXVlc3RzIGlmIGRtYSBmYWlscy4uLgpAQCAtODc1LDcgKzY1NiwxNCBAQAogCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CiAJfQogCisJaWYgKGZsb3BweS0+ZmxhZ3MgJiBJREVGTE9QUFlfRkxBR19EUlFfSU5URVJSVVBUKQorCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19EUlFfSU5URVJSVVBUOworCisJaWYgKGZsb3BweS0+ZmxhZ3MgJiBJREVGTE9QUFlfRkxBR19aSVBfRFJJVkUpCisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX1pJUF9EUklWRTsKKwogCXBjLT5ycSA9IHJxOworCiAJcmV0dXJuIGlkZWZsb3BweV9pc3N1ZV9wYyhkcml2ZSwgcGMpOwogfQogCkBAIC04ODYsMTQgKzY3NCwxNiBAQAogc3RhdGljIGludCBpZGVmbG9wcHlfcXVldWVfcGNfdGFpbChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewogCXN0cnVjdCBpZGVfZmxvcHB5X29iaiAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKKwlpbnQgZXJyb3I7CiAKLQlpZGVfaW5pdF9kcml2ZV9jbWQoJnJxKTsKLQlycS5idWZmZXIgPSAoY2hhciAqKSBwYzsKLQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7Ci0JcnEucnFfZGlzayA9IGZsb3BweS0+ZGlzazsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5idWZmZXIgPSAoY2hhciAqKSBwYzsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOworCWVycm9yID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBmbG9wcHktPmRpc2ssIHJxLCAwKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCi0JcmV0dXJuIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCXJldHVybiBlcnJvcjsKIH0KIAogLyoKQEAgLTE2MjIsMTEgKzE0MTIsNiBAQAogCQkJCSIgb2YgaWRlLWZsb3BweVxuIiwgZHJpdmUtPm5hbWUpOwogCQlnb3RvIGZhaWxlZDsKIAl9Ci0JaWYgKGRyaXZlLT5zY3NpKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gImlkZS1mbG9wcHk6IHBhc3NpbmcgZHJpdmUgJXMgdG8gaWRlLXNjc2kiCi0JCQkJIiBlbXVsYXRpb24uXG4iLCBkcml2ZS0+bmFtZSk7Ci0JCWdvdG8gZmFpbGVkOwotCX0KIAlmbG9wcHkgPSBremFsbG9jKHNpemVvZihpZGVmbG9wcHlfZmxvcHB5X3QpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWZsb3BweSkgewogCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6ICVzOiBDYW4ndCBhbGxvY2F0ZSBhIGZsb3BweSIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1pby5jIGIvZHJpdmVycy9pZGUvaWRlLWlvLmMKaW5kZXggNjk2NTI1My4uMjgwNTc3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWlvLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWlvLmMKQEAgLTM1OCwzMSArMzU4LDYgQEAKIAogRVhQT1JUX1NZTUJPTChpZGVfZW5kX2RyaXZlX2NtZCk7CiAKLS8qKgotICoJdHJ5X3RvX2ZsdXNoX2xlZnRvdmVyX2RhdGEJLQlmbHVzaCBqdW5rCi0gKglAZHJpdmU6IGRyaXZlIHRvIGZsdXNoCi0gKgotICoJdHJ5X3RvX2ZsdXNoX2xlZnRvdmVyX2RhdGEoKSBpcyBpbnZva2VkIGluIHJlc3BvbnNlIHRvIGEgZHJpdmUKLSAqCXVuZXhwZWN0ZWRseSBoYXZpbmcgaXRzIERSUV9TVEFUIGJpdCBzZXQuICBBcyBhbiBhbHRlcm5hdGl2ZSB0bwotICoJcmVzZXR0aW5nIHRoZSBkcml2ZSwgdGhpcyByb3V0aW5lIHRyaWVzIHRvIGNsZWFyIHRoZSBjb25kaXRpb24KLSAqCWJ5IHJlYWQgYSBzZWN0b3IncyB3b3J0aCBvZiBkYXRhIGZyb20gdGhlIGRyaXZlLiAgT2YgY291cnNlLAotICoJdGhpcyBtYXkgbm90IGhlbHAgaWYgdGhlIGRyaXZlIGlzICp3YWl0aW5nKiBmb3IgZGF0YSBmcm9tICp1cyouCi0gKi8KLXN0YXRpYyB2b2lkIHRyeV90b19mbHVzaF9sZWZ0b3Zlcl9kYXRhIChpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaW50IGkgPSAoZHJpdmUtPm11bHRfY291bnQgPyBkcml2ZS0+bXVsdF9jb3VudCA6IDEpICogU0VDVE9SX1dPUkRTOwotCi0JaWYgKGRyaXZlLT5tZWRpYSAhPSBpZGVfZGlzaykKLQkJcmV0dXJuOwotCXdoaWxlIChpID4gMCkgewotCQl1MzIgYnVmZmVyWzE2XTsKLQkJdTMyIHdjb3VudCA9IChpID4gMTYpID8gMTYgOiBpOwotCi0JCWkgLT0gd2NvdW50OwotCQlkcml2ZS0+aHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwgYnVmZmVyLCB3Y291bnQgKiA0KTsKLQl9Ci19Ci0KIHN0YXRpYyB2b2lkIGlkZV9raWxsX3JxKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxKQogewogCWlmIChycS0+cnFfZGlzaykgewpAQCAtNDIyLDggKzM5NywxMSBAQAogCX0KIAogCWlmICgoc3RhdCAmIERSUV9TVEFUKSAmJiBycV9kYXRhX2RpcihycSkgPT0gUkVBRCAmJgotCSAgICAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19FUlJPUl9TVE9QU19GSUZPKSA9PSAwKQotCQl0cnlfdG9fZmx1c2hfbGVmdG92ZXJfZGF0YShkcml2ZSk7CisJICAgIChod2lmLT5ob3N0X2ZsYWdzICYgSURFX0hGTEFHX0VSUk9SX1NUT1BTX0ZJRk8pID09IDApIHsKKwkJaW50IG5zZWN0ID0gZHJpdmUtPm11bHRfY291bnQgPyBkcml2ZS0+bXVsdF9jb3VudCA6IDE7CisKKwkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgUkVBRCwgbnNlY3QgKiBTRUNUT1JfU0laRSk7CisJfQogCiAJaWYgKHJxLT5lcnJvcnMgPj0gRVJST1JfTUFYIHx8IGJsa19ub3JldHJ5X3JlcXVlc3QocnEpKSB7CiAJCWlkZV9raWxsX3JxKGRyaXZlLCBycSk7CkBAIC00NTksNyArNDM3LDcgQEAKIAogCWlmIChpZGVfcmVhZF9zdGF0dXMoZHJpdmUpICYgKEJVU1lfU1RBVCB8IERSUV9TVEFUKSkKIAkJLyogZm9yY2UgYW4gYWJvcnQgKi8KLQkJaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9JRExFSU1NRURJQVRFLAorCQlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fSURMRUlNTUVESUFURSwKIAkJCSAgICAgICBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCiAJaWYgKHJxLT5lcnJvcnMgPj0gRVJST1JfTUFYKSB7CkBAIC0xNTM5LDg4ICsxNTE3LDMwIEBACiB9CiAKIC8qKgotICoJaWRlX2luaXRfZHJpdmVfY21kCS0JaW5pdGlhbGl6ZSBhIGRyaXZlIGNvbW1hbmQgcmVxdWVzdAotICoJQHJxOiByZXF1ZXN0IG9iamVjdAotICoKLSAqCUluaXRpYWxpemUgYSByZXF1ZXN0IGJlZm9yZSB3ZSBmaWxsIGl0IGluIGFuZCBzZW5kIGl0IGRvd24gdG8KLSAqCWlkZV9kb19kcml2ZV9jbWQuIENvbW1hbmRzIG11c3QgYmUgc2V0IHVwIGJ5IHRoaXMgZnVuY3Rpb24uIFJpZ2h0Ci0gKglub3cgaXQgZG9lc24ndCBkbyBhIGxvdCwgYnV0IGlmIHRoYXQgY2hhbmdlcyBhYnVzZXJzIHdpbGwgaGF2ZSBhCi0gKgluYXN0eSBzdXJwcmlzZS4KLSAqLwotCi12b2lkIGlkZV9pbml0X2RyaXZlX2NtZCAoc3RydWN0IHJlcXVlc3QgKnJxKQotewotCWJsa19ycV9pbml0KE5VTEwsIHJxKTsKLX0KLQotRVhQT1JUX1NZTUJPTChpZGVfaW5pdF9kcml2ZV9jbWQpOwotCi0vKioKICAqCWlkZV9kb19kcml2ZV9jbWQJLQlpc3N1ZSBJREUgc3BlY2lhbCBjb21tYW5kCiAgKglAZHJpdmU6IGRldmljZSB0byBpc3N1ZSBjb21tYW5kCiAgKglAcnE6IHJlcXVlc3QgdG8gaXNzdWUKLSAqCUBhY3Rpb246IGFjdGlvbiBmb3IgcHJvY2Vzc2luZwogICoKICAqCVRoaXMgZnVuY3Rpb24gaXNzdWVzIGEgc3BlY2lhbCBJREUgZGV2aWNlIHJlcXVlc3QKICAqCW9udG8gdGhlIHJlcXVlc3QgcXVldWUuCiAgKgotICoJSWYgYWN0aW9uIGlzIGlkZV93YWl0LCB0aGVuIHRoZSBycSBpcyBxdWV1ZWQgYXQgdGhlIGVuZCBvZiB0aGUKLSAqCXJlcXVlc3QgcXVldWUsIGFuZCB0aGUgZnVuY3Rpb24gc2xlZXBzIHVudGlsIGl0IGhhcyBiZWVuIHByb2Nlc3NlZC4KLSAqCVRoaXMgaXMgZm9yIHVzZSB3aGVuIGludm9rZWQgZnJvbSBhbiBpb2N0bCBoYW5kbGVyLgotICoKLSAqCUlmIGFjdGlvbiBpcyBpZGVfcHJlZW1wdCwgdGhlbiB0aGUgcnEgaXMgcXVldWVkIGF0IHRoZSBoZWFkIG9mCi0gKgl0aGUgcmVxdWVzdCBxdWV1ZSwgZGlzcGxhY2luZyB0aGUgY3VycmVudGx5LWJlaW5nLXByb2Nlc3NlZAotICoJcmVxdWVzdCBhbmQgdGhpcyBmdW5jdGlvbiByZXR1cm5zIGltbWVkaWF0ZWx5IHdpdGhvdXQgd2FpdGluZwotICoJZm9yIHRoZSBuZXcgcnEgdG8gYmUgY29tcGxldGVkLiAgVGhpcyBpcyBWRVJZIERBTkdFUk9VUywgYW5kIGlzCi0gKglpbnRlbmRlZCBmb3IgY2FyZWZ1bCB1c2UgYnkgdGhlIEFUQVBJIHRhcGUvY2Ryb20gZHJpdmVyIGNvZGUuCi0gKgotICoJSWYgYWN0aW9uIGlzIGlkZV9lbmQsIHRoZW4gdGhlIHJxIGlzIHF1ZXVlZCBhdCB0aGUgZW5kIG9mIHRoZQotICoJcmVxdWVzdCBxdWV1ZSwgYW5kIHRoZSBmdW5jdGlvbiByZXR1cm5zIGltbWVkaWF0ZWx5IHdpdGhvdXQgd2FpdGluZwotICoJZm9yIHRoZSBuZXcgcnEgdG8gYmUgY29tcGxldGVkLiBUaGlzIGlzIGFnYWluIGludGVuZGVkIGZvciBjYXJlZnVsCi0gKgl1c2UgYnkgdGhlIEFUQVBJIHRhcGUvY2Ryb20gZHJpdmVyIGNvZGUuCisgKgl0aGUgcnEgaXMgcXVldWVkIGF0IHRoZSBoZWFkIG9mIHRoZSByZXF1ZXN0IHF1ZXVlLCBkaXNwbGFjaW5nCisgKgl0aGUgY3VycmVudGx5LWJlaW5nLXByb2Nlc3NlZCByZXF1ZXN0IGFuZCB0aGlzIGZ1bmN0aW9uCisgKglyZXR1cm5zIGltbWVkaWF0ZWx5IHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIG5ldyBycSB0byBiZQorICoJY29tcGxldGVkLiAgVGhpcyBpcyBWRVJZIERBTkdFUk9VUywgYW5kIGlzIGludGVuZGVkIGZvcgorICoJY2FyZWZ1bCB1c2UgYnkgdGhlIEFUQVBJIHRhcGUvY2Ryb20gZHJpdmVyIGNvZGUuCiAgKi8KLSAKLWludCBpZGVfZG9fZHJpdmVfY21kIChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSwgaWRlX2FjdGlvbl90IGFjdGlvbikKKwordm9pZCBpZGVfZG9fZHJpdmVfY21kKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaWRlX2h3Z3JvdXBfdCAqaHdncm91cCA9IEhXR1JPVVAoZHJpdmUpOwotCURFQ0xBUkVfQ09NUExFVElPTl9PTlNUQUNLKHdhaXQpOwotCWludCB3aGVyZSA9IEVMRVZBVE9SX0lOU0VSVF9CQUNLLCBlcnI7Ci0JaW50IG11c3Rfd2FpdCA9IChhY3Rpb24gPT0gaWRlX3dhaXQgfHwgYWN0aW9uID09IGlkZV9oZWFkX3dhaXQpOwotCi0JcnEtPmVycm9ycyA9IDA7Ci0KLQkvKgotCSAqIHdlIG5lZWQgdG8gaG9sZCBhbiBleHRyYSByZWZlcmVuY2UgdG8gcmVxdWVzdCBmb3Igc2FmZSBpbnNwZWN0aW9uCi0JICogYWZ0ZXIgY29tcGxldGlvbgotCSAqLwotCWlmIChtdXN0X3dhaXQpIHsKLQkJcnEtPnJlZl9jb3VudCsrOwotCQlycS0+ZW5kX2lvX2RhdGEgPSAmd2FpdDsKLQkJcnEtPmVuZF9pbyA9IGJsa19lbmRfc3luY19ycTsKLQl9CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaWRlX2xvY2ssIGZsYWdzKTsKLQlpZiAoYWN0aW9uID09IGlkZV9wcmVlbXB0KQotCQlod2dyb3VwLT5ycSA9IE5VTEw7Ci0JaWYgKGFjdGlvbiA9PSBpZGVfcHJlZW1wdCB8fCBhY3Rpb24gPT0gaWRlX2hlYWRfd2FpdCkgewotCQl3aGVyZSA9IEVMRVZBVE9SX0lOU0VSVF9GUk9OVDsKLQkJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKLQl9Ci0JX19lbHZfYWRkX3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBycSwgd2hlcmUsIDApOwotCWlkZV9kb19yZXF1ZXN0KGh3Z3JvdXAsIElERV9OT19JUlEpOworCWh3Z3JvdXAtPnJxID0gTlVMTDsKKwlfX2Vsdl9hZGRfcmVxdWVzdChkcml2ZS0+cXVldWUsIHJxLCBFTEVWQVRPUl9JTlNFUlRfRlJPTlQsIDEpOworCV9fZ2VuZXJpY191bnBsdWdfZGV2aWNlKGRyaXZlLT5xdWV1ZSk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWRlX2xvY2ssIGZsYWdzKTsKLQotCWVyciA9IDA7Ci0JaWYgKG11c3Rfd2FpdCkgewotCQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZ3YWl0KTsKLQkJaWYgKHJxLT5lcnJvcnMpCi0JCQllcnIgPSAtRUlPOwotCi0JCWJsa19wdXRfcmVxdWVzdChycSk7Ci0JfQotCi0JcmV0dXJuIGVycjsKIH0KIAogRVhQT1JUX1NZTUJPTChpZGVfZG9fZHJpdmVfY21kKTsKQEAgLTE2MzcsNiArMTU1Nyw4IEBACiAJdGFzay50Zi5sYmFoICAgID0gKGJjb3VudCA+PiA4KSAmIDB4ZmY7CiAKIAlpZGVfdGZfZHVtcChkcml2ZS0+bmFtZSwgJnRhc2sudGYpOworCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKKwlTRUxFQ1RfTUFTSyhkcml2ZSwgMCk7CiAJZHJpdmUtPmh3aWYtPnRmX2xvYWQoZHJpdmUsICZ0YXNrKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWlvcHMuYyBiL2RyaXZlcnMvaWRlL2lkZS1pb3BzLmMKaW5kZXggMGRhZjkyMy4uODBhZDRmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWlvcHMuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtaW9wcy5jCkBAIC00Miw3ICs0Miw3IEBACiAJb3V0Yih2YWwsIHBvcnQpOwogfQogCi1zdGF0aWMgdm9pZCBpZGVfb3V0YnN5bmMgKGlkZV9kcml2ZV90ICpkcml2ZSwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KQorc3RhdGljIHZvaWQgaWRlX291dGJzeW5jKGlkZV9od2lmX3QgKmh3aWYsIHU4IGFkZHIsIHVuc2lnbmVkIGxvbmcgcG9ydCkKIHsKIAlvdXRiKGFkZHIsIHBvcnQpOwogfQpAQCAtNjgsNyArNjgsNyBAQAogCXdyaXRlYih2YWx1ZSwgKHZvaWQgX19pb21lbSAqKSBwb3J0KTsKIH0KIAotc3RhdGljIHZvaWQgaWRlX21tX291dGJzeW5jIChpZGVfZHJpdmVfdCAqZHJpdmUsIHU4IHZhbHVlLCB1bnNpZ25lZCBsb25nIHBvcnQpCitzdGF0aWMgdm9pZCBpZGVfbW1fb3V0YnN5bmMoaWRlX2h3aWZfdCAqaHdpZiwgdTggdmFsdWUsIHVuc2lnbmVkIGxvbmcgcG9ydCkKIHsKIAl3cml0ZWIodmFsdWUsICh2b2lkIF9faW9tZW0gKikgcG9ydCk7CiB9CkBAIC05NSw3ICs5NSw3IEBACiAJaHdpZi0+T1VUQihkcml2ZS0+c2VsZWN0LmFsbCwgaHdpZi0+aW9fcG9ydHMuZGV2aWNlX2FkZHIpOwogfQogCi1zdGF0aWMgdm9pZCBTRUxFQ1RfTUFTSyhpZGVfZHJpdmVfdCAqZHJpdmUsIGludCBtYXNrKQordm9pZCBTRUxFQ1RfTUFTSyhpZGVfZHJpdmVfdCAqZHJpdmUsIGludCBtYXNrKQogewogCWNvbnN0IHN0cnVjdCBpZGVfcG9ydF9vcHMgKnBvcnRfb3BzID0gZHJpdmUtPmh3aWYtPnBvcnRfb3BzOwogCkBAIC0xMjAsMTEgKzEyMCw2IEBACiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0ZMQUdHRUQpCiAJCUhJSEkgPSAweEZGOwogCi0JaWRlX3NldF9pcnEoZHJpdmUsIDEpOwotCi0JaWYgKCh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19OT19TRUxFQ1RfTUFTSykgPT0gMCkKLQkJU0VMRUNUX01BU0soZHJpdmUsIDApOwotCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX09VVF9EQVRBKSB7CiAJCXUxNiBkYXRhID0gKHRmLT5ob2JfZGF0YSA8PCA4KSB8IHRmLT5kYXRhOwogCkBAIC0xOTEsNyArMTg2LDcgQEAKIAl9CiAKIAkvKiBiZSBzdXJlIHdlJ3JlIGxvb2tpbmcgYXQgdGhlIGxvdyBvcmRlciBiaXRzICovCi0JdGZfb3V0Yihkcml2ZS0+Y3RsICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJdGZfb3V0YihBVEFfREVWQ1RMX09CUyAmIH4weDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX05TRUNUKQogCQl0Zi0+bnNlY3QgID0gdGZfaW5iKGlvX3BvcnRzLT5uc2VjdF9hZGRyKTsKQEAgLTIwNSw3ICsyMDAsNyBAQAogCQl0Zi0+ZGV2aWNlID0gdGZfaW5iKGlvX3BvcnRzLT5kZXZpY2VfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfTEJBNDgpIHsKLQkJdGZfb3V0Yihkcml2ZS0+Y3RsIHwgMHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwkJdGZfb3V0YihBVEFfREVWQ1RMX09CUyB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAkJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX0hPQl9GRUFUVVJFKQogCQkJdGYtPmhvYl9mZWF0dXJlID0gdGZfaW5iKGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwpAQCAtNjg5LDkgKzY4NCw5IEBACiAJICovCiAKIAlTRUxFQ1RfTUFTSyhkcml2ZSwgMSk7Ci0JaWRlX3NldF9pcnEoZHJpdmUsIDEpOworCWlkZV9zZXRfaXJxKGRyaXZlLCAwKTsKIAltc2xlZXAoNTApOwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fSURFTlRJRlksIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX0lERU5USUZZLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCXRpbWVvdXQgPSBqaWZmaWVzICsgV0FJVF9XT1JTVENBU0U7CiAJZG8gewogCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCB0aW1lb3V0KSkgewpAQCAtNzQ0LDkgKzczOSw2IEBACiAJaW50IGVycm9yID0gMDsKIAl1OCBzdGF0OwogCi0vLwl3aGlsZSAoSFdHUk9VUChkcml2ZSktPmJ1c3kpCi0vLwkJbXNsZWVwKDUwKTsKLQogI2lmZGVmIENPTkZJR19CTEtfREVWX0lERURNQQogCWlmIChod2lmLT5kbWFfb3BzKQkvKiBjaGVjayBpZiBob3N0IHN1cHBvcnRzIERNQSAqLwogCQlod2lmLT5kbWFfb3BzLT5kbWFfaG9zdF9zZXQoZHJpdmUsIDApOwpAQCAtNzgxLDcgKzc3Myw3IEBACiAJaWRlX3NldF9pcnEoZHJpdmUsIDApOwogCWh3aWYtPk9VVEIoc3BlZWQsIGlvX3BvcnRzLT5uc2VjdF9hZGRyKTsKIAlod2lmLT5PVVRCKFNFVEZFQVRVUkVTX1hGRVIsIGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fU0VURkVBVFVSRVMsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9TRVRGRUFUVVJFUywgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CiAJaWYgKGRyaXZlLT5xdWlya19saXN0ID09IDIpCiAJCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKIApAQCAtODg5LDcgKzg4MSw3IEBACiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaWRlX2xvY2ssIGZsYWdzKTsKIAlfX2lkZV9zZXRfaGFuZGxlcihkcml2ZSwgaGFuZGxlciwgdGltZW91dCwgZXhwaXJ5KTsKLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgY21kLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIGNtZCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAkvKgogCSAqIERyaXZlIHRha2VzIDQwMG5TIHRvIHJlc3BvbmQsIHdlIG11c3QgYXZvaWQgdGhlIElSUSBiZWluZwogCSAqIHNlcnZpY2VkIGJlZm9yZSB0aGF0LgpAQCAtOTA3LDcgKzg5OSw3IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpZGVfbG9jaywgZmxhZ3MpOwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fUEFDS0VUQ01ELCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9QQUNLRVRDTUQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAJbmRlbGF5KDQwMCk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWRlX2xvY2ssIGZsYWdzKTsKIH0KQEAgLTExMDIsNyArMTA5NCw3IEBACiAJCXByZV9yZXNldChkcml2ZSk7CiAJCVNFTEVDVF9EUklWRShkcml2ZSk7CiAJCXVkZWxheSAoMjApOwotCQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgV0lOX1NSU1QsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOworCQlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fU1JTVCwgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CiAJCW5kZWxheSg0MDApOwogCQlod2dyb3VwLT5wb2xsX3RpbWVvdXQgPSBqaWZmaWVzICsgV0FJVF9XT1JTVENBU0U7CiAJCWh3Z3JvdXAtPnBvbGxpbmcgPSAxOwpAQCAtMTEzMywxNCArMTEyNSwxNCBAQAogCSAqIHJlY292ZXIgZnJvbSByZXNldCB2ZXJ5IHF1aWNrbHksIHNhdmluZyB1cyB0aGUgZmlyc3QgNTBtcyB3YWl0IHRpbWUuCiAJICovCiAJLyogc2V0IFNSU1QgYW5kIG5JRU4gKi8KLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgZHJpdmUtPmN0bHw2LCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIEFUQV9ERVZDVExfT0JTIHwgNiwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAkvKiBtb3JlIHRoYW4gZW5vdWdoIHRpbWUgKi8KIAl1ZGVsYXkoMTApOwogCWlmIChkcml2ZS0+cXVpcmtfbGlzdCA9PSAyKQotCQljdGwgPSBkcml2ZS0+Y3RsOwkvKiBjbGVhciBTUlNUIGFuZCBuSUVOICovCisJCWN0bCA9IEFUQV9ERVZDVExfT0JTOwkJLyogY2xlYXIgU1JTVCBhbmQgbklFTiAqLwogCWVsc2UKLQkJY3RsID0gZHJpdmUtPmN0bCB8IDI7CS8qIGNsZWFyIFNSU1QsIGxlYXZlIG5JRU4gKi8KLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgY3RsLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCQljdGwgPSBBVEFfREVWQ1RMX09CUyB8IDI7CS8qIGNsZWFyIFNSU1QsIGxlYXZlIG5JRU4gKi8KKwlod2lmLT5PVVRCU1lOQyhod2lmLCBjdGwsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAJLyogbW9yZSB0aGFuIGVub3VnaCB0aW1lICovCiAJdWRlbGF5KDEwKTsKIAlod2dyb3VwLT5wb2xsX3RpbWVvdXQgPSBqaWZmaWVzICsgV0FJVF9XT1JTVENBU0U7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtcHJvYmUuYyBiL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jCmluZGV4IDI2ZTY4YjYuLmQyMWU1MWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jCkBAIC0yOTMsNyArMjkzLDcgQEAKIAkJaHdpZi0+T1VUQigwLCBpb19wb3J0cy0+ZmVhdHVyZV9hZGRyKTsKIAogCS8qIGFzayBkcml2ZSBmb3IgSUQgKi8KLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgY21kLCBpb19wb3J0cy0+Y29tbWFuZF9hZGRyKTsKKwlod2lmLT5PVVRCU1lOQyhod2lmLCBjbWQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAKIAl0aW1lb3V0ID0gKChjbWQgPT0gV0lOX0lERU5USUZZKSA/IFdBSVRfV09SU1RDQVNFIDogV0FJVF9QSURFTlRJRlkpIC8gMjsKIAl0aW1lb3V0ICs9IGppZmZpZXM7CkBAIC00NzgsOSArNDc4LDkgQEAKIAkJCXByaW50ayhLRVJOX0VSUiAiJXM6IG5vIHJlc3BvbnNlIChzdGF0dXMgPSAweCUwMngpLCAiCiAJCQkJCSJyZXNldHRpbmcgZHJpdmVcbiIsIGRyaXZlLT5uYW1lLCBzdGF0KTsKIAkJCW1zbGVlcCg1MCk7Ci0JCQlod2lmLT5PVVRCKGRyaXZlLT5zZWxlY3QuYWxsLCBpb19wb3J0cy0+ZGV2aWNlX2FkZHIpOworCQkJU0VMRUNUX0RSSVZFKGRyaXZlKTsKIAkJCW1zbGVlcCg1MCk7Ci0JCQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgV0lOX1NSU1QsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOworCQkJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX1NSU1QsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOwogCQkJKHZvaWQpaWRlX2J1c3lfc2xlZXAoaHdpZik7CiAJCQlyYyA9IHRyeV90b19pZGVudGlmeShkcml2ZSwgY21kKTsKIAkJfQpAQCAtNTE2LDcgKzUxNiw3IEBACiAJcHJpbnRrKCIlczogZW5hYmxpbmcgJXMgLS0gIiwgaHdpZi0+bmFtZSwgZHJpdmUtPmlkLT5tb2RlbCk7CiAJU0VMRUNUX0RSSVZFKGRyaXZlKTsKIAltc2xlZXAoNTApOwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBFWEFCWVRFX0VOQUJMRV9ORVNULCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIEVYQUJZVEVfRU5BQkxFX05FU1QsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAKIAlpZiAoaWRlX2J1c3lfc2xlZXAoaHdpZikpIHsKIAkJcHJpbnRrKEtFUk5fQ09OVCAiZmFpbGVkICh0aW1lb3V0KVxuIik7CkBAIC0xMDY1LDcgKzEwNjUsNyBAQAogCiAJCWlmIChpb19wb3J0cy0+Y3RsX2FkZHIpCiAJCQkvKiBjbGVhciBuSUVOICovCi0JCQlod2lmLT5PVVRCKDB4MDgsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCQlod2lmLT5PVVRCU1lOQyhod2lmLCBBVEFfREVWQ1RMX09CUywgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCQlpZiAocmVxdWVzdF9pcnEoaHdpZi0+aXJxLCZpZGVfaW50cixzYSxod2lmLT5uYW1lLGh3Z3JvdXApKQogCSAgICAgICAJCWdvdG8gb3V0X3VubGluazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS10YXBlLmMgYi9kcml2ZXJzL2lkZS9pZGUtdGFwZS5jCmluZGV4IDFlMWYyNjMuLmY5Y2YxNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS10YXBlLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLXRhcGUuYwpAQCAtMTQ0LDkgKzE0NCw2IEBACiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKiogRW5kIG9mIHR1bmFibGUgcGFyYW1ldGVycyAqKioqKioqKioqKioqKioqKioqKioqKi8KIAotLyogUmVhZC9Xcml0ZSBlcnJvciBzaW11bGF0aW9uICovCi0jZGVmaW5lIFNJTVVMQVRFX0VSUk9SUwkJCTAKLQogLyogdGFwZSBkaXJlY3Rpb25zICovCiBlbnVtIHsKIAlJREVUQVBFX0RJUl9OT05FICA9ICgxIDw8IDApLApAQCAtNDQyLDcgKzQzOSw3IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCBpZGV0YXBlX3VwZGF0ZV9idWZmZXJzKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQorc3RhdGljIHZvaWQgaWRldGFwZV91cGRhdGVfYnVmZmVycyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewogCXN0cnVjdCBpZGV0YXBlX2JoICpiaCA9IHBjLT5iaDsKIAlpbnQgY291bnQ7CkBAIC01MDYsMTggKzUwMyw2IEBACiAJcmV0dXJuICgmdGFwZS0+cnFfc3RhY2tbdGFwZS0+cnFfc3RhY2tfaW5kZXgrK10pOwogfQogCi1zdGF0aWMgdm9pZCBpZGV0YXBlX2luaXRfcGMoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCi17Ci0JbWVtc2V0KHBjLT5jLCAwLCAxMik7Ci0JcGMtPnJldHJpZXMgPSAwOwotCXBjLT5mbGFncyA9IDA7Ci0JcGMtPnJlcV94ZmVyID0gMDsKLQlwYy0+YnVmID0gcGMtPnBjX2J1ZjsKLQlwYy0+YnVmX3NpemUgPSBJREVUQVBFX1BDX0JVRkZFUl9TSVpFOwotCXBjLT5iaCA9IE5VTEw7Ci0JcGMtPmJfZGF0YSA9IE5VTEw7Ci19Ci0KIC8qCiAgKiBjYWxsZWQgb24gZWFjaCBmYWlsZWQgcGFja2V0IGNvbW1hbmQgcmV0cnkgdG8gYW5hbHl6ZSB0aGUgcmVxdWVzdCBzZW5zZS4gV2UKICAqIGN1cnJlbnRseSBkbyBub3QgdXRpbGl6ZSB0aGlzIGluZm9ybWF0aW9uLgpAQCAtNTM4LDggKzUyMyw4IEBACiAJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSB7CiAJCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyIC0KIAkJCXRhcGUtPmJsa19zaXplICoKLQkJCWJlMzJfdG9fY3B1KGdldF91bmFsaWduZWQoKHUzMiAqKSZzZW5zZVszXSkpOwotCQlpZGV0YXBlX3VwZGF0ZV9idWZmZXJzKHBjKTsKKwkJCWdldF91bmFsaWduZWRfYmUzMigmc2Vuc2VbM10pOworCQlpZGV0YXBlX3VwZGF0ZV9idWZmZXJzKGRyaXZlLCBwYyk7CiAJfQogCiAJLyoKQEAgLTYzNCwyMSArNjE5LDc4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9yZXF1ZXN0X3NlbnNlX2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKK3N0YXRpYyB2b2lkIGlkZV90YXBlX2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKKwlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IHRhcGUtPnBjOworCWludCB1cHRvZGF0ZSA9IHBjLT5lcnJvciA/IDAgOiAxOwogCiAJZGVidWdfbG9nKERCR19QUk9DUywgIkVudGVyICVzXG4iLCBfX2Z1bmNfXyk7CiAKLQlpZiAoIXRhcGUtPnBjLT5lcnJvcikgewotCQlpZGV0YXBlX2FuYWx5emVfZXJyb3IoZHJpdmUsIHRhcGUtPnBjLT5idWYpOwotCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCAxLCAwKTsKLQl9IGVsc2UgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBFcnJvciBpbiBSRVFVRVNUIFNFTlNFIGl0c2VsZiAtICIKLQkJCQkiQWJvcnRpbmcgcmVxdWVzdCFcbiIpOwotCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCAwLCAwKTsKKwlpZiAodGFwZS0+ZmFpbGVkX3BjID09IHBjKQorCQl0YXBlLT5mYWlsZWRfcGMgPSBOVUxMOworCisJaWYgKHBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpIHsKKwkJaWYgKHVwdG9kYXRlKQorCQkJaWRldGFwZV9hbmFseXplX2Vycm9yKGRyaXZlLCBwYy0+YnVmKTsKKwkJZWxzZQorCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogRXJyb3IgaW4gUkVRVUVTVCBTRU5TRSAiCisJCQkJCSJpdHNlbGYgLSBBYm9ydGluZyByZXF1ZXN0IVxuIik7CisJfSBlbHNlIGlmIChwYy0+Y1swXSA9PSBSRUFEXzYgfHwgcGMtPmNbMF0gPT0gV1JJVEVfNikgeworCQlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBkcml2ZS0+aHdpZi0+aHdncm91cC0+cnE7CisJCWludCBibG9ja3MgPSBwYy0+eGZlcnJlZCAvIHRhcGUtPmJsa19zaXplOworCisJCXRhcGUtPmF2Z19zaXplICs9IGJsb2NrcyAqIHRhcGUtPmJsa19zaXplOworCisJCWlmICh0aW1lX2FmdGVyX2VxKGppZmZpZXMsIHRhcGUtPmF2Z190aW1lICsgSFopKSB7CisJCQl0YXBlLT5hdmdfc3BlZWQgPSB0YXBlLT5hdmdfc2l6ZSAqIEhaIC8KKwkJCQkoamlmZmllcyAtIHRhcGUtPmF2Z190aW1lKSAvIDEwMjQ7CisJCQl0YXBlLT5hdmdfc2l6ZSA9IDA7CisJCQl0YXBlLT5hdmdfdGltZSA9IGppZmZpZXM7CisJCX0KKworCQl0YXBlLT5maXJzdF9mcmFtZSArPSBibG9ja3M7CisJCXJxLT5jdXJyZW50X25yX3NlY3RvcnMgLT0gYmxvY2tzOworCisJCWlmIChwYy0+ZXJyb3IpCisJCQl1cHRvZGF0ZSA9IHBjLT5lcnJvcjsKKwl9IGVsc2UgaWYgKHBjLT5jWzBdID09IFJFQURfUE9TSVRJT04gJiYgdXB0b2RhdGUpIHsKKwkJdTggKnJlYWRwb3MgPSB0YXBlLT5wYy0+YnVmOworCisJCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJCT1AgLSAlc1xuIiwKKwkJCQkocmVhZHBvc1swXSAmIDB4ODApID8gIlllcyIgOiAiTm8iKTsKKwkJZGVidWdfbG9nKERCR19TRU5TRSwgIkVPUCAtICVzXG4iLAorCQkJCShyZWFkcG9zWzBdICYgMHg0MCkgPyAiWWVzIiA6ICJObyIpOworCisJCWlmIChyZWFkcG9zWzBdICYgMHg0KSB7CisJCQlwcmludGsoS0VSTl9JTkZPICJpZGUtdGFwZTogQmxvY2sgbG9jYXRpb24gaXMgdW5rbm93biIKKwkJCQkJICJ0byB0aGUgdGFwZVxuIik7CisJCQljbGVhcl9iaXQoSURFVEFQRV9GTEFHX0FERFJFU1NfVkFMSUQsICZ0YXBlLT5mbGFncyk7CisJCQl1cHRvZGF0ZSA9IDA7CisJCX0gZWxzZSB7CisJCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiQmxvY2sgTG9jYXRpb24gLSAldVxuIiwKKwkJCQkJYmUzMl90b19jcHUoKih1MzIgKikmcmVhZHBvc1s0XSkpOworCisJCQl0YXBlLT5wYXJ0aXRpb24gPSByZWFkcG9zWzFdOworCQkJdGFwZS0+Zmlyc3RfZnJhbWUgPSBiZTMyX3RvX2NwdSgqKHUzMiAqKSZyZWFkcG9zWzRdKTsKKwkJCXNldF9iaXQoSURFVEFQRV9GTEFHX0FERFJFU1NfVkFMSUQsICZ0YXBlLT5mbGFncyk7CisJCX0KIAl9Ci0JcmV0dXJuIGlkZV9zdG9wcGVkOworCisJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgdXB0b2RhdGUsIDApOworfQorCitzdGF0aWMgdm9pZCBpZGV0YXBlX2luaXRfcGMoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCit7CisJbWVtc2V0KHBjLT5jLCAwLCAxMik7CisJcGMtPnJldHJpZXMgPSAwOworCXBjLT5mbGFncyA9IDA7CisJcGMtPnJlcV94ZmVyID0gMDsKKwlwYy0+YnVmID0gcGMtPnBjX2J1ZjsKKwlwYy0+YnVmX3NpemUgPSBJREVUQVBFX1BDX0JVRkZFUl9TSVpFOworCXBjLT5iaCA9IE5VTEw7CisJcGMtPmJfZGF0YSA9IE5VTEw7CisJcGMtPmNhbGxiYWNrID0gaWRlX3RhcGVfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3JlcXVlc3Rfc2Vuc2VfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQpAQCAtNjU3LDcgKzY5OSw2IEBACiAJcGMtPmNbMF0gPSBSRVFVRVNUX1NFTlNFOwogCXBjLT5jWzRdID0gMjA7CiAJcGMtPnJlcV94ZmVyID0gMjA7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9yZXF1ZXN0X3NlbnNlX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgdm9pZCBpZGV0YXBlX2luaXRfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCB1OCBjbWQpCkBAIC02ODgsOSArNzI5LDEwIEBACiAJc3RydWN0IGlkZV90YXBlX29iaiAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAogCWlkZXRhcGVfaW5pdF9ycShycSwgUkVRX0lERVRBUEVfUEMxKTsKKwlycS0+Y21kX2ZsYWdzIHw9IFJFUV9QUkVFTVBUOwogCXJxLT5idWZmZXIgPSAoY2hhciAqKSBwYzsKIAlycS0+cnFfZGlzayA9IHRhcGUtPmRpc2s7Ci0JKHZvaWQpIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxLCBpZGVfcHJlZW1wdCk7CisJaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEpOwogfQogCiAvKgpAQCAtNjk4LDcgKzc0MCw3IEBACiAgKglsYXN0IHBhY2tldCBjb21tYW5kLiBXZSBxdWV1ZSBhIHJlcXVlc3Qgc2Vuc2UgcGFja2V0IGNvbW1hbmQgaW4KICAqCXRoZSBoZWFkIG9mIHRoZSByZXF1ZXN0IGxpc3QuCiAgKi8KLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9yZXRyeV9wYyAoaWRlX2RyaXZlX3QgKmRyaXZlKQorc3RhdGljIHZvaWQgaWRldGFwZV9yZXRyeV9wYyhpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGM7CkBAIC03MTAsNyArNzUyLDYgQEAKIAlpZGV0YXBlX2NyZWF0ZV9yZXF1ZXN0X3NlbnNlX2NtZChwYyk7CiAJc2V0X2JpdChJREVUQVBFX0ZMQUdfSUdOT1JFX0RTQywgJnRhcGUtPmZsYWdzKTsKIAlpZGV0YXBlX3F1ZXVlX3BjX2hlYWQoZHJpdmUsIHBjLCBycSk7Ci0JcmV0dXJuIGlkZV9zdG9wcGVkOwogfQogCiAvKgpAQCAtNzI3LDcgKzc2OCwyNiBAQAogCWlkZV9zdGFsbF9xdWV1ZShkcml2ZSwgdGFwZS0+ZHNjX3BvbGxfZnJlcSk7CiB9CiAKLXR5cGVkZWYgdm9pZCBpZGV0YXBlX2lvX2J1ZihpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICosIHVuc2lnbmVkIGludCk7CitzdGF0aWMgdm9pZCBpZGVfdGFwZV9oYW5kbGVfZHNjKGlkZV9kcml2ZV90ICpkcml2ZSkKK3sKKwlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKKworCS8qIE1lZGlhIGFjY2VzcyBjb21tYW5kICovCisJdGFwZS0+ZHNjX3BvbGxpbmdfc3RhcnQgPSBqaWZmaWVzOworCXRhcGUtPmRzY19wb2xsX2ZyZXEgPSBJREVUQVBFX0RTQ19NQV9GQVNUOworCXRhcGUtPmRzY190aW1lb3V0ID0gamlmZmllcyArIElERVRBUEVfRFNDX01BX1RJTUVPVVQ7CisJLyogQWxsb3cgaWRlLmMgdG8gaGFuZGxlIG90aGVyIHJlcXVlc3RzICovCisJaWRldGFwZV9wb3N0cG9uZV9yZXF1ZXN0KGRyaXZlKTsKK30KKworc3RhdGljIHZvaWQgaWRlX3RhcGVfaW9fYnVmZmVycyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAorCQkJCXVuc2lnbmVkIGludCBiY291bnQsIGludCB3cml0ZSkKK3sKKwlpZiAod3JpdGUpCisJCWlkZXRhcGVfb3V0cHV0X2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQpOworCWVsc2UKKwkJaWRldGFwZV9pbnB1dF9idWZmZXJzKGRyaXZlLCBwYywgYmNvdW50KTsKK30KIAogLyoKICAqIFRoaXMgaXMgdGhlIHVzdWFsIGludGVycnVwdCBoYW5kbGVyIHdoaWNoIHdpbGwgYmUgY2FsbGVkIGR1cmluZyBhIHBhY2tldApAQCAtNzM4LDE2OSArNzk4LDExIEBACiAgKi8KIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9wY19pbnRyKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSB0YXBlLT5wYzsKLQl4ZmVyX2Z1bmNfdCAqeGZlcmZ1bmM7Ci0JaWRldGFwZV9pb19idWYgKmlvYnVmOwotCXVuc2lnbmVkIGludCB0ZW1wOwotI2lmIFNJTVVMQVRFX0VSUk9SUwotCXN0YXRpYyBpbnQgZXJyb3Jfc2ltX2NvdW50OwotI2VuZGlmCi0JdTE2IGJjb3VudDsKLQl1OCBzdGF0LCBpcmVhc29uOwogCi0JZGVidWdfbG9nKERCR19QUk9DUywgIkVudGVyICVzIC0gaW50ZXJydXB0IGhhbmRsZXJcbiIsIF9fZnVuY19fKTsKLQotCS8qIENsZWFyIHRoZSBpbnRlcnJ1cHQgKi8KLQlzdGF0ID0gaWRlX3JlYWRfc3RhdHVzKGRyaXZlKTsKLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgewotCQlpZiAoaHdpZi0+ZG1hX29wcy0+ZG1hX2VuZChkcml2ZSkgfHwgKHN0YXQgJiBFUlJfU1RBVCkpIHsKLQkJCS8qCi0JCQkgKiBBIERNQSBlcnJvciBpcyBzb21ldGltZXMgZXhwZWN0ZWQuIEZvciBleGFtcGxlLAotCQkJICogaWYgdGhlIHRhcGUgaXMgY3Jvc3NpbmcgYSBmaWxlbWFyayBkdXJpbmcgYQotCQkJICogUkVBRCBjb21tYW5kLCBpdCB3aWxsIGlzc3VlIGFuIGlycSBhbmQgcG9zaXRpb24KLQkJCSAqIGl0c2VsZiBiZWZvcmUgdGhlIGZpbGVtYXJrLCBzbyB0aGF0IG9ubHkgYSBwYXJ0aWFsCi0JCQkgKiBkYXRhIHRyYW5zZmVyIHdpbGwgb2NjdXIgKHdoaWNoIGNhdXNlcyB0aGUgRE1BCi0JCQkgKiBlcnJvcikuIEluIHRoYXQgY2FzZSwgd2Ugd2lsbCBsYXRlciBhc2sgdGhlIHRhcGUKLQkJCSAqIGhvdyBtdWNoIGJ5dGVzIG9mIHRoZSBvcmlnaW5hbCByZXF1ZXN0IHdlcmUKLQkJCSAqIGFjdHVhbGx5IHRyYW5zZmVycmVkICh3ZSBjYW4ndCByZWNlaXZlIHRoYXQKLQkJCSAqIGluZm9ybWF0aW9uIGZyb20gdGhlIERNQSBlbmdpbmUgb24gbW9zdCBjaGlwc2V0cykuCi0JCQkgKi8KLQotCQkJLyoKLQkJCSAqIE9uIHRoZSBjb250cmFyeSwgYSBETUEgZXJyb3IgaXMgbmV2ZXIgZXhwZWN0ZWQ7Ci0JCQkgKiBpdCB1c3VhbGx5IGluZGljYXRlcyBhIGhhcmR3YXJlIGVycm9yIG9yIGFib3J0LgotCQkJICogSWYgdGhlIHRhcGUgY3Jvc3NlcyBhIGZpbGVtYXJrIGR1cmluZyBhIFJFQUQKLQkJCSAqIGNvbW1hbmQsIGl0IHdpbGwgaXNzdWUgYW4gaXJxIGFuZCBwb3NpdGlvbiBpdHNlbGYKLQkJCSAqIGFmdGVyIHRoZSBmaWxlbWFyayAobm90IGJlZm9yZSkuIE9ubHkgYSBwYXJ0aWFsCi0JCQkgKiBkYXRhIHRyYW5zZmVyIHdpbGwgb2NjdXIsIGJ1dCBubyBETUEgZXJyb3IuCi0JCQkgKiAoQVMsIDE5IEFwciAyMDAxKQotCQkJICovCi0JCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfRVJST1I7Ci0JCX0gZWxzZSB7Ci0JCQlwYy0+eGZlcnJlZCA9IHBjLT5yZXFfeGZlcjsKLQkJCWlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMocGMpOwotCQl9Ci0JCWRlYnVnX2xvZyhEQkdfUFJPQ1MsICJETUEgZmluaXNoZWRcbiIpOwotCi0JfQotCi0JLyogTm8gbW9yZSBpbnRlcnJ1cHRzICovCi0JaWYgKChzdGF0ICYgRFJRX1NUQVQpID09IDApIHsKLQkJZGVidWdfbG9nKERCR19TRU5TRSwgIlBhY2tldCBjb21tYW5kIGNvbXBsZXRlZCwgJWQgYnl0ZXMiCi0JCQkJIiB0cmFuc2ZlcnJlZFxuIiwgcGMtPnhmZXJyZWQpOwotCi0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQotI2lmIFNJTVVMQVRFX0VSUk9SUwotCQlpZiAoKHBjLT5jWzBdID09IFdSSVRFXzYgfHwgcGMtPmNbMF0gPT0gUkVBRF82KSAmJgotCQkgICAgKCsrZXJyb3Jfc2ltX2NvdW50ICUgMTAwKSA9PSAwKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJpZGUtdGFwZTogJXM6IHNpbXVsYXRpbmcgZXJyb3JcbiIsCi0JCQkJdGFwZS0+bmFtZSk7Ci0JCQlzdGF0IHw9IEVSUl9TVEFUOwotCQl9Ci0jZW5kaWYKLQkJaWYgKChzdGF0ICYgRVJSX1NUQVQpICYmIHBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpCi0JCQlzdGF0ICY9IH5FUlJfU1RBVDsKLQkJaWYgKChzdGF0ICYgRVJSX1NUQVQpIHx8IChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikpIHsKLQkJCS8qIEVycm9yIGRldGVjdGVkICovCi0JCQlkZWJ1Z19sb2coREJHX0VSUiwgIiVzOiBJL08gZXJyb3JcbiIsIHRhcGUtPm5hbWUpOwotCi0JCQlpZiAocGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkgewotCQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IEkvTyBlcnJvciBpbiByZXF1ZXN0IgotCQkJCQkJIiBzZW5zZSBjb21tYW5kXG4iKTsKLQkJCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQkJCX0KLQkJCWRlYnVnX2xvZyhEQkdfRVJSLCAiW2NtZCAleF06IGNoZWNrIGNvbmRpdGlvblxuIiwKLQkJCQkJcGMtPmNbMF0pOwotCi0JCQkvKiBSZXRyeSBvcGVyYXRpb24gKi8KLQkJCXJldHVybiBpZGV0YXBlX3JldHJ5X3BjKGRyaXZlKTsKLQkJfQotCQlwYy0+ZXJyb3IgPSAwOwotCQlpZiAoKHBjLT5mbGFncyAmIFBDX0ZMQUdfV0FJVF9GT1JfRFNDKSAmJgotCQkgICAgKHN0YXQgJiBTRUVLX1NUQVQpID09IDApIHsKLQkJCS8qIE1lZGlhIGFjY2VzcyBjb21tYW5kICovCi0JCQl0YXBlLT5kc2NfcG9sbGluZ19zdGFydCA9IGppZmZpZXM7Ci0JCQl0YXBlLT5kc2NfcG9sbF9mcmVxID0gSURFVEFQRV9EU0NfTUFfRkFTVDsKLQkJCXRhcGUtPmRzY190aW1lb3V0ID0gamlmZmllcyArIElERVRBUEVfRFNDX01BX1RJTUVPVVQ7Ci0JCQkvKiBBbGxvdyBpZGUuYyB0byBoYW5kbGUgb3RoZXIgcmVxdWVzdHMgKi8KLQkJCWlkZXRhcGVfcG9zdHBvbmVfcmVxdWVzdChkcml2ZSk7Ci0JCQlyZXR1cm4gaWRlX3N0b3BwZWQ7Ci0JCX0KLQkJaWYgKHRhcGUtPmZhaWxlZF9wYyA9PSBwYykKLQkJCXRhcGUtPmZhaWxlZF9wYyA9IE5VTEw7Ci0JCS8qIENvbW1hbmQgZmluaXNoZWQgLSBDYWxsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiAqLwotCQlyZXR1cm4gcGMtPmlkZXRhcGVfY2FsbGJhY2soZHJpdmUpOwotCX0KLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgewotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBUaGUgdGFwZSB3YW50cyB0byBpc3N1ZSBtb3JlICIKLQkJCQkiaW50ZXJydXB0cyBpbiBETUEgbW9kZVxuIik7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IERNQSBkaXNhYmxlZCwgcmV2ZXJ0aW5nIHRvIFBJT1xuIik7Ci0JCWlkZV9kbWFfb2ZmKGRyaXZlKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCS8qIEdldCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zZmVyIG9uIHRoaXMgaW50ZXJydXB0LiAqLwotCWJjb3VudCA9IChod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhaF9hZGRyKSA8PCA4KSB8Ci0JCSAgaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYW1fYWRkcik7Ci0KLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCi0JaWYgKGlyZWFzb24gJiBDRCkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBDb0QgIT0gMCBpbiAlc1xuIiwgX19mdW5jX18pOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JaWYgKCgoaXJlYXNvbiAmIElPKSA9PSBJTykgPT0gISEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSkgewotCQkvKiBIb3BlZnVsbHksIHdlIHdpbGwgbmV2ZXIgZ2V0IGhlcmUgKi8KLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogV2Ugd2FudGVkIHRvICVzLCAiLAotCQkJCShpcmVhc29uICYgSU8pID8gIldyaXRlIiA6ICJSZWFkIik7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IGJ1dCB0aGUgdGFwZSB3YW50cyB1cyB0byAlcyAhXG4iLAotCQkJCShpcmVhc29uICYgSU8pID8gIlJlYWQiIDogIldyaXRlIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQlpZiAoIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKSB7Ci0JCS8qIFJlYWRpbmcgLSBDaGVjayB0aGF0IHdlIGhhdmUgZW5vdWdoIHNwYWNlICovCi0JCXRlbXAgPSBwYy0+eGZlcnJlZCArIGJjb3VudDsKLQkJaWYgKHRlbXAgPiBwYy0+cmVxX3hmZXIpIHsKLQkJCWlmICh0ZW1wID4gcGMtPmJ1Zl9zaXplKSB7Ci0JCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogVGhlIHRhcGUgd2FudHMgdG8gIgotCQkJCQkic2VuZCB1cyBtb3JlIGRhdGEgdGhhbiBleHBlY3RlZCAiCi0JCQkJCSItIGRpc2NhcmRpbmcgZGF0YVxuIik7Ci0JCQkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgMCwgYmNvdW50KTsKLQkJCQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGV0YXBlX3BjX2ludHIsCi0JCQkJCQlJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKLQkJCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JCQl9Ci0JCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiVGhlIHRhcGUgd2FudHMgdG8gc2VuZCB1cyBtb3JlICIKLQkJCQkiZGF0YSB0aGFuIGV4cGVjdGVkIC0gYWxsb3dpbmcgdHJhbnNmZXJcbiIpOwotCQl9Ci0JCWlvYnVmID0gJmlkZXRhcGVfaW5wdXRfYnVmZmVyczsKLQkJeGZlcmZ1bmMgPSBod2lmLT5pbnB1dF9kYXRhOwotCX0gZWxzZSB7Ci0JCWlvYnVmID0gJmlkZXRhcGVfb3V0cHV0X2J1ZmZlcnM7Ci0JCXhmZXJmdW5jID0gaHdpZi0+b3V0cHV0X2RhdGE7Ci0JfQotCi0JaWYgKHBjLT5iaCkKLQkJaW9idWYoZHJpdmUsIHBjLCBiY291bnQpOwotCWVsc2UKLQkJeGZlcmZ1bmMoZHJpdmUsIE5VTEwsIHBjLT5jdXJfcG9zLCBiY291bnQpOwotCi0JLyogVXBkYXRlIHRoZSBjdXJyZW50IHBvc2l0aW9uICovCi0JcGMtPnhmZXJyZWQgKz0gYmNvdW50OwotCXBjLT5jdXJfcG9zICs9IGJjb3VudDsKLQotCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJbY21kICV4XSB0cmFuc2ZlcnJlZCAlZCBieXRlcyBvbiB0aGF0IGludHIuXG4iLAotCQkJcGMtPmNbMF0sIGJjb3VudCk7Ci0KLQkvKiBBbmQgc2V0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBhZ2FpbiAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXRhcGVfcGNfaW50ciwgSURFVEFQRV9XQUlUX0NNRCwgTlVMTCk7Ci0JcmV0dXJuIGlkZV9zdGFydGVkOworCXJldHVybiBpZGVfcGNfaW50cihkcml2ZSwgdGFwZS0+cGMsIGlkZXRhcGVfcGNfaW50ciwgSURFVEFQRV9XQUlUX0NNRCwKKwkJCSAgIE5VTEwsIGlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMsIGlkZXRhcGVfcmV0cnlfcGMsCisJCQkgICBpZGVfdGFwZV9oYW5kbGVfZHNjLCBpZGVfdGFwZV9pb19idWZmZXJzKTsKIH0KIAogLyoKQEAgLTk0MSw1NiArODQzLDE2IEBACiAgKi8KIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV90cmFuc2Zlcl9wYyhpZGVfZHJpdmVfdCAqZHJpdmUpCiB7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gdGFwZS0+cGM7Ci0JaW50IHJldHJpZXMgPSAxMDA7Ci0JaWRlX3N0YXJ0c3RvcF90IHN0YXJ0c3RvcDsKLQl1OCBpcmVhc29uOwogCi0JaWYgKGlkZV93YWl0X3N0YXQoJnN0YXJ0c3RvcCwgZHJpdmUsIERSUV9TVEFULCBCVVNZX1NUQVQsIFdBSVRfUkVBRFkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IFN0cmFuZ2UsIHBhY2tldCBjb21tYW5kIGluaXRpYXRlZCAiCi0JCQkJInlldCBEUlEgaXNuJ3QgYXNzZXJ0ZWRcbiIpOwotCQlyZXR1cm4gc3RhcnRzdG9wOwotCX0KLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCXdoaWxlIChyZXRyaWVzLS0gJiYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IChJTyxDb0QgIT0gKDAsMSkgd2hpbGUgaXNzdWluZyAiCi0JCQkJImEgcGFja2V0IGNvbW1hbmQsIHJldHJ5aW5nXG4iKTsKLQkJdWRlbGF5KDEwMCk7Ci0JCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0JCWlmIChyZXRyaWVzID09IDApIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IChJTyxDb0QgIT0gKDAsMSkgd2hpbGUgIgotCQkJCQkiaXNzdWluZyBhIHBhY2tldCBjb21tYW5kLCBpZ25vcmluZ1xuIik7Ci0JCQlpcmVhc29uIHw9IENEOwotCQkJaXJlYXNvbiAmPSB+SU87Ci0JCX0KLQl9Ci0JaWYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogKElPLENvRCkgIT0gKDAsMSkgd2hpbGUgaXNzdWluZyAiCi0JCQkJImEgcGFja2V0IGNvbW1hbmRcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JLyogU2V0IHRoZSBpbnRlcnJ1cHQgcm91dGluZSAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXRhcGVfcGNfaW50ciwgSURFVEFQRV9XQUlUX0NNRCwgTlVMTCk7Ci0jaWZkZWYgQ09ORklHX0JMS19ERVZfSURFRE1BCi0JLyogQmVnaW4gRE1BLCBpZiBuZWNlc3NhcnkgKi8KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpCi0JCWh3aWYtPmRtYV9vcHMtPmRtYV9zdGFydChkcml2ZSk7Ci0jZW5kaWYKLQkvKiBTZW5kIHRoZSBhY3R1YWwgcGFja2V0ICovCi0JaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIHBjLT5jLCAxMik7Ci0KLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJcmV0dXJuIGlkZV90cmFuc2Zlcl9wYyhkcml2ZSwgdGFwZS0+cGMsIGlkZXRhcGVfcGNfaW50ciwKKwkJCSAgICAgICBJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKIH0KIAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX2lzc3VlX3BjKGlkZV9kcml2ZV90ICpkcml2ZSwKIAkJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCWludCBkbWFfb2sgPSAwOwotCXUxNiBiY291bnQ7CiAKIAlpZiAodGFwZS0+cGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSAmJgogCSAgICBwYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKSB7CkBAIC0xMDI1LDUwICs4ODcsMTUgQEAKIAkJCXBjLT5lcnJvciA9IElERVRBUEVfRVJST1JfR0VORVJBTDsKIAkJfQogCQl0YXBlLT5mYWlsZWRfcGMgPSBOVUxMOwotCQlyZXR1cm4gcGMtPmlkZXRhcGVfY2FsbGJhY2soZHJpdmUpOworCQlwYy0+Y2FsbGJhY2soZHJpdmUpOworCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CiAJfQogCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJSZXRyeSAjJWQsIGNtZCA9ICUwMlhcbiIsIHBjLT5yZXRyaWVzLCBwYy0+Y1swXSk7CiAKIAlwYy0+cmV0cmllcysrOwotCS8qIFdlIGhhdmVuJ3QgdHJhbnNmZXJyZWQgYW55IGRhdGEgeWV0ICovCi0JcGMtPnhmZXJyZWQgPSAwOwotCXBjLT5jdXJfcG9zID0gcGMtPmJ1ZjsKLQkvKiBSZXF1ZXN0IHRvIHRyYW5zZmVyIHRoZSBlbnRpcmUgYnVmZmVyIGF0IG9uY2UgKi8KLQliY291bnQgPSBwYy0+cmVxX3hmZXI7CiAKLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpIHsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9FUlJPUjsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiaWRlLXRhcGU6IERNQSBkaXNhYmxlZCwgIgotCQkJCSJyZXZlcnRpbmcgdG8gUElPXG4iKTsKLQkJaWRlX2RtYV9vZmYoZHJpdmUpOwotCX0KLQlpZiAoKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX1JFQ09NTUVOREVEKSAmJiBkcml2ZS0+dXNpbmdfZG1hKQotCQlkbWFfb2sgPSAhaHdpZi0+ZG1hX29wcy0+ZG1hX3NldHVwKGRyaXZlKTsKLQotCWlkZV9wa3RjbWRfdGZfbG9hZChkcml2ZSwgSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLIHwKLQkJCSAgIElERV9URkxBR19PVVRfREVWSUNFLCBiY291bnQsIGRtYV9vayk7Ci0KLQlpZiAoZG1hX29rKQotCQkvKiBXaWxsIGJlZ2luIERNQSBsYXRlciAqLwotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JaWYgKHRlc3RfYml0KElERVRBUEVfRkxBR19EUlFfSU5URVJSVVBULCAmdGFwZS0+ZmxhZ3MpKSB7Ci0JCWlkZV9leGVjdXRlX2NvbW1hbmQoZHJpdmUsIFdJTl9QQUNLRVRDTUQsICZpZGV0YXBlX3RyYW5zZmVyX3BjLAotCQkJCSAgICBJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKLQkJcmV0dXJuIGlkZV9zdGFydGVkOwotCX0gZWxzZSB7Ci0JCWlkZV9leGVjdXRlX3BrdF9jbWQoZHJpdmUpOwotCQlyZXR1cm4gaWRldGFwZV90cmFuc2Zlcl9wYyhkcml2ZSk7Ci0JfQotfQotCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfcGNfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCi0JZGVidWdfbG9nKERCR19QUk9DUywgIkVudGVyICVzXG4iLCBfX2Z1bmNfXyk7Ci0KLQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCB0YXBlLT5wYy0+ZXJyb3IgPyAwIDogMSwgMCk7Ci0JcmV0dXJuIGlkZV9zdG9wcGVkOworCXJldHVybiBpZGVfaXNzdWVfcGMoZHJpdmUsIHBjLCBpZGV0YXBlX3RyYW5zZmVyX3BjLAorCQkJICAgIElERVRBUEVfV0FJVF9DTUQsIE5VTEwpOwogfQogCiAvKiBBIG1vZGUgc2Vuc2UgY29tbWFuZCBpcyB1c2VkIHRvICJzZW5zZSIgdGFwZSBwYXJhbWV0ZXJzLiAqLwpAQCAtMTA5Niw3ICs5MjMsNiBAQAogCQlwYy0+cmVxX3hmZXIgPSAyNDsKIAllbHNlCiAJCXBjLT5yZXFfeGZlciA9IDUwOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9tZWRpYV9hY2Nlc3NfZmluaXNoZWQoaWRlX2RyaXZlX3QgKmRyaXZlKQpAQCAtMTExNCw4MCArOTQwLDQxIEBACiAJCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogJXM6IEkvTyBlcnJvciwgIiwKIAkJCQkJCXRhcGUtPm5hbWUpOwogCQkJLyogUmV0cnkgb3BlcmF0aW9uICovCi0JCQlyZXR1cm4gaWRldGFwZV9yZXRyeV9wYyhkcml2ZSk7CisJCQlpZGV0YXBlX3JldHJ5X3BjKGRyaXZlKTsKKwkJCXJldHVybiBpZGVfc3RvcHBlZDsKIAkJfQogCQlwYy0+ZXJyb3IgPSAwOwotCQlpZiAodGFwZS0+ZmFpbGVkX3BjID09IHBjKQotCQkJdGFwZS0+ZmFpbGVkX3BjID0gTlVMTDsKIAl9IGVsc2UgewogCQlwYy0+ZXJyb3IgPSBJREVUQVBFX0VSUk9SX0dFTkVSQUw7CiAJCXRhcGUtPmZhaWxlZF9wYyA9IE5VTEw7CiAJfQotCXJldHVybiBwYy0+aWRldGFwZV9jYWxsYmFjayhkcml2ZSk7Ci19Ci0KLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9yd19jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IHJlcXVlc3QgKnJxID0gSFdHUk9VUChkcml2ZSktPnJxOwotCWludCBibG9ja3MgPSB0YXBlLT5wYy0+eGZlcnJlZCAvIHRhcGUtPmJsa19zaXplOwotCi0JdGFwZS0+YXZnX3NpemUgKz0gYmxvY2tzICogdGFwZS0+YmxrX3NpemU7Ci0KLQlpZiAodGltZV9hZnRlcl9lcShqaWZmaWVzLCB0YXBlLT5hdmdfdGltZSArIEhaKSkgewotCQl0YXBlLT5hdmdfc3BlZWQgPSB0YXBlLT5hdmdfc2l6ZSAqIEhaIC8KLQkJCQkoamlmZmllcyAtIHRhcGUtPmF2Z190aW1lKSAvIDEwMjQ7Ci0JCXRhcGUtPmF2Z19zaXplID0gMDsKLQkJdGFwZS0+YXZnX3RpbWUgPSBqaWZmaWVzOwotCX0KLQlkZWJ1Z19sb2coREJHX1BST0NTLCAiRW50ZXIgJXNcbiIsIF9fZnVuY19fKTsKLQotCXRhcGUtPmZpcnN0X2ZyYW1lICs9IGJsb2NrczsKLQlycS0+Y3VycmVudF9ucl9zZWN0b3JzIC09IGJsb2NrczsKLQotCWlmICghdGFwZS0+cGMtPmVycm9yKQotCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCAxLCAwKTsKLQllbHNlCi0JCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIHRhcGUtPnBjLT5lcnJvciwgMCk7CisJcGMtPmNhbGxiYWNrKGRyaXZlKTsKIAlyZXR1cm4gaWRlX3N0b3BwZWQ7CiB9CiAKLXN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3JlYWRfY21kKGlkZXRhcGVfdGFwZV90ICp0YXBlLAotCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKLQkJdW5zaWduZWQgaW50IGxlbmd0aCwgc3RydWN0IGlkZXRhcGVfYmggKmJoKQorc3RhdGljIHZvaWQgaWRlX3RhcGVfY3JlYXRlX3J3X2NtZChpZGV0YXBlX3RhcGVfdCAqdGFwZSwKKwkJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsIHVuc2lnbmVkIGludCBsZW5ndGgsCisJCXN0cnVjdCBpZGV0YXBlX2JoICpiaCwgdTggb3Bjb2RlKQogewogCWlkZXRhcGVfaW5pdF9wYyhwYyk7Ci0JcGMtPmNbMF0gPSBSRUFEXzY7CiAJcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUzMihsZW5ndGgpLCAodW5zaWduZWQgaW50ICopICZwYy0+Y1sxXSk7CiAJcGMtPmNbMV0gPSAxOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcndfY2FsbGJhY2s7CiAJcGMtPmJoID0gYmg7Ci0JYXRvbWljX3NldCgmYmgtPmJfY291bnQsIDApOwogCXBjLT5idWYgPSBOVUxMOwogCXBjLT5idWZfc2l6ZSA9IGxlbmd0aCAqIHRhcGUtPmJsa19zaXplOwogCXBjLT5yZXFfeGZlciA9IHBjLT5idWZfc2l6ZTsKIAlpZiAocGMtPnJlcV94ZmVyID09IHRhcGUtPmJ1ZmZlcl9zaXplKQotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfUkVDT01NRU5ERUQ7Ci19CisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKIAotc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfd3JpdGVfY21kKGlkZXRhcGVfdGFwZV90ICp0YXBlLAotCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKLQkJdW5zaWduZWQgaW50IGxlbmd0aCwgc3RydWN0IGlkZXRhcGVfYmggKmJoKQotewotCWlkZXRhcGVfaW5pdF9wYyhwYyk7Ci0JcGMtPmNbMF0gPSBXUklURV82OwotCXB1dF91bmFsaWduZWQoY3B1X3RvX2JlMzIobGVuZ3RoKSwgKHVuc2lnbmVkIGludCAqKSAmcGMtPmNbMV0pOwotCXBjLT5jWzFdID0gMTsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3J3X2NhbGxiYWNrOwotCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dSSVRJTkc7Ci0JcGMtPmJoID0gYmg7Ci0JcGMtPmJfZGF0YSA9IGJoLT5iX2RhdGE7Ci0JcGMtPmJfY291bnQgPSBhdG9taWNfcmVhZCgmYmgtPmJfY291bnQpOwotCXBjLT5idWYgPSBOVUxMOwotCXBjLT5idWZfc2l6ZSA9IGxlbmd0aCAqIHRhcGUtPmJsa19zaXplOwotCXBjLT5yZXFfeGZlciA9IHBjLT5idWZfc2l6ZTsKLQlpZiAocGMtPnJlcV94ZmVyID09IHRhcGUtPmJ1ZmZlcl9zaXplKQotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfUkVDT01NRU5ERUQ7CisJaWYgKG9wY29kZSA9PSBSRUFEXzYpIHsKKwkJcGMtPmNbMF0gPSBSRUFEXzY7CisJCWF0b21pY19zZXQoJmJoLT5iX2NvdW50LCAwKTsKKwl9IGVsc2UgaWYgKG9wY29kZSA9PSBXUklURV82KSB7CisJCXBjLT5jWzBdID0gV1JJVEVfNjsKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKKwkJcGMtPmJfZGF0YSA9IGJoLT5iX2RhdGE7CisJCXBjLT5iX2NvdW50ID0gYXRvbWljX3JlYWQoJmJoLT5iX2NvdW50KTsKKwl9CiB9CiAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9kb19yZXF1ZXN0KGlkZV9kcml2ZV90ICpkcml2ZSwKQEAgLTEyMTEsOCArOTk4LDEwIEBACiAJfQogCiAJLyogUmV0cnkgYSBmYWlsZWQgcGFja2V0IGNvbW1hbmQgKi8KLQlpZiAodGFwZS0+ZmFpbGVkX3BjICYmIHRhcGUtPnBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpCi0JCXJldHVybiBpZGV0YXBlX2lzc3VlX3BjKGRyaXZlLCB0YXBlLT5mYWlsZWRfcGMpOworCWlmICh0YXBlLT5mYWlsZWRfcGMgJiYgdGFwZS0+cGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkgeworCQlwYyA9IHRhcGUtPmZhaWxlZF9wYzsKKwkJZ290byBvdXQ7CisJfQogCiAJaWYgKHBvc3Rwb25lZF9ycSAhPSBOVUxMKQogCQlpZiAocnEgIT0gcG9zdHBvbmVkX3JxKSB7CkBAIC0xMjYyLDE0ICsxMDUxLDE2IEBACiAJfQogCWlmIChycS0+Y21kWzBdICYgUkVRX0lERVRBUEVfUkVBRCkgewogCQlwYyA9IGlkZXRhcGVfbmV4dF9wY19zdG9yYWdlKGRyaXZlKTsKLQkJaWRldGFwZV9jcmVhdGVfcmVhZF9jbWQodGFwZSwgcGMsIHJxLT5jdXJyZW50X25yX3NlY3RvcnMsCi0JCQkJCShzdHJ1Y3QgaWRldGFwZV9iaCAqKXJxLT5zcGVjaWFsKTsKKwkJaWRlX3RhcGVfY3JlYXRlX3J3X2NtZCh0YXBlLCBwYywgcnEtPmN1cnJlbnRfbnJfc2VjdG9ycywKKwkJCQkJKHN0cnVjdCBpZGV0YXBlX2JoICopcnEtPnNwZWNpYWwsCisJCQkJCVJFQURfNik7CiAJCWdvdG8gb3V0OwogCX0KIAlpZiAocnEtPmNtZFswXSAmIFJFUV9JREVUQVBFX1dSSVRFKSB7CiAJCXBjID0gaWRldGFwZV9uZXh0X3BjX3N0b3JhZ2UoZHJpdmUpOwotCQlpZGV0YXBlX2NyZWF0ZV93cml0ZV9jbWQodGFwZSwgcGMsIHJxLT5jdXJyZW50X25yX3NlY3RvcnMsCi0JCQkJCSAoc3RydWN0IGlkZXRhcGVfYmggKilycS0+c3BlY2lhbCk7CisJCWlkZV90YXBlX2NyZWF0ZV9yd19jbWQodGFwZSwgcGMsIHJxLT5jdXJyZW50X25yX3NlY3RvcnMsCisJCQkJCSAoc3RydWN0IGlkZXRhcGVfYmggKilycS0+c3BlY2lhbCwKKwkJCQkJIFdSSVRFXzYpOwogCQlnb3RvIG91dDsKIAl9CiAJaWYgKHJxLT5jbWRbMF0gJiBSRVFfSURFVEFQRV9QQzEpIHsKQEAgLTEyODQsNiArMTA3NSw5IEBACiAJfQogCUJVRygpOwogb3V0OgorCWlmICh0ZXN0X2JpdChJREVUQVBFX0ZMQUdfRFJRX0lOVEVSUlVQVCwgJnRhcGUtPmZsYWdzKSkKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRFJRX0lOVEVSUlVQVDsKKwogCXJldHVybiBpZGV0YXBlX2lzc3VlX3BjKGRyaXZlLCBwYyk7CiB9CiAKQEAgLTE0NDcsNDAgKzEyNDEsNiBAQAogCX0KIH0KIAotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3JlYWRfcG9zaXRpb25fY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXU4ICpyZWFkcG9zID0gdGFwZS0+cGMtPmJ1ZjsKLQotCWRlYnVnX2xvZyhEQkdfUFJPQ1MsICJFbnRlciAlc1xuIiwgX19mdW5jX18pOwotCi0JaWYgKCF0YXBlLT5wYy0+ZXJyb3IpIHsKLQkJZGVidWdfbG9nKERCR19TRU5TRSwgIkJPUCAtICVzXG4iLAotCQkJCShyZWFkcG9zWzBdICYgMHg4MCkgPyAiWWVzIiA6ICJObyIpOwotCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiRU9QIC0gJXNcbiIsCi0JCQkJKHJlYWRwb3NbMF0gJiAweDQwKSA/ICJZZXMiIDogIk5vIik7Ci0KLQkJaWYgKHJlYWRwb3NbMF0gJiAweDQpIHsKLQkJCXByaW50ayhLRVJOX0lORk8gImlkZS10YXBlOiBCbG9jayBsb2NhdGlvbiBpcyB1bmtub3duIgotCQkJCQkgInRvIHRoZSB0YXBlXG4iKTsKLQkJCWNsZWFyX2JpdChJREVUQVBFX0ZMQUdfQUREUkVTU19WQUxJRCwgJnRhcGUtPmZsYWdzKTsKLQkJCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDAsIDApOwotCQl9IGVsc2UgewotCQkJZGVidWdfbG9nKERCR19TRU5TRSwgIkJsb2NrIExvY2F0aW9uIC0gJXVcbiIsCi0JCQkJCWJlMzJfdG9fY3B1KCoodTMyICopJnJlYWRwb3NbNF0pKTsKLQotCQkJdGFwZS0+cGFydGl0aW9uID0gcmVhZHBvc1sxXTsKLQkJCXRhcGUtPmZpcnN0X2ZyYW1lID0KLQkJCQliZTMyX3RvX2NwdSgqKHUzMiAqKSZyZWFkcG9zWzRdKTsKLQkJCXNldF9iaXQoSURFVEFQRV9GTEFHX0FERFJFU1NfVkFMSUQsICZ0YXBlLT5mbGFncyk7Ci0JCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCAxLCAwKTsKLQkJfQotCX0gZWxzZSB7Ci0JCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDAsIDApOwotCX0KLQlyZXR1cm4gaWRlX3N0b3BwZWQ7Ci19Ci0KIC8qCiAgKiBXcml0ZSBhIGZpbGVtYXJrIGlmIHdyaXRlX2ZpbGVtYXJrPTEuIEZsdXNoIHRoZSBkZXZpY2UgYnVmZmVycyB3aXRob3V0CiAgKiB3cml0aW5nIGEgZmlsZW1hcmsgb3RoZXJ3aXNlLgpAQCAtMTQ5MiwxNCArMTI1MiwxMiBAQAogCXBjLT5jWzBdID0gV1JJVEVfRklMRU1BUktTOwogCXBjLT5jWzRdID0gd3JpdGVfZmlsZW1hcms7CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3Rlc3RfdW5pdF9yZWFkeV9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7CiAJaWRldGFwZV9pbml0X3BjKHBjKTsKIAlwYy0+Y1swXSA9IFRFU1RfVU5JVF9SRUFEWTsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiAvKgpAQCAtMTUxOCwxMiArMTI3NiwxNiBAQAogc3RhdGljIGludCBpZGV0YXBlX3F1ZXVlX3BjX3RhaWwoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlzdHJ1Y3QgaWRlX3RhcGVfb2JqICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKKwlpbnQgZXJyb3I7CiAKLQlpZGV0YXBlX2luaXRfcnEoJnJxLCBSRVFfSURFVEFQRV9QQzEpOwotCXJxLmJ1ZmZlciA9IChjaGFyICopIHBjOwotCXJxLnJxX2Rpc2sgPSB0YXBlLT5kaXNrOwotCXJldHVybiBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJcnEtPmNtZFswXSA9IFJFUV9JREVUQVBFX1BDMTsKKwlycS0+YnVmZmVyID0gKGNoYXIgKilwYzsKKwllcnJvciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgdGFwZS0+ZGlzaywgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CisJcmV0dXJuIGVycm9yOwogfQogCiBzdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV9sb2FkX3VubG9hZF9jbWQoaWRlX2RyaXZlX3QgKmRyaXZlLApAQCAtMTUzMyw3ICsxMjk1LDYgQEAKIAlwYy0+Y1swXSA9IFNUQVJUX1NUT1A7CiAJcGMtPmNbNF0gPSBjbWQ7CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyBpbnQgaWRldGFwZV93YWl0X3JlYWR5KGlkZV9kcml2ZV90ICpkcml2ZSwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KQpAQCAtMTU4NSw3ICsxMzQ2LDYgQEAKIAlpZGV0YXBlX2luaXRfcGMocGMpOwogCXBjLT5jWzBdID0gUkVBRF9QT1NJVElPTjsKIAlwYy0+cmVxX3hmZXIgPSAyMDsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3JlYWRfcG9zaXRpb25fY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyBpbnQgaWRldGFwZV9yZWFkX3Bvc2l0aW9uKGlkZV9kcml2ZV90ICpkcml2ZSkKQEAgLTE2MTMsNyArMTM3Myw2IEBACiAJcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUzMihibG9jayksICh1bnNpZ25lZCBpbnQgKikgJnBjLT5jWzNdKTsKIAlwYy0+Y1s4XSA9IHBhcnRpdGlvbjsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIGludCBpZGV0YXBlX2NyZWF0ZV9wcmV2ZW50X2NtZChpZGVfZHJpdmVfdCAqZHJpdmUsCkBAIC0xNjI4LDcgKzEzODcsNiBAQAogCWlkZXRhcGVfaW5pdF9wYyhwYyk7CiAJcGMtPmNbMF0gPSBBTExPV19NRURJVU1fUkVNT1ZBTDsKIAlwYy0+Y1s0XSA9IHByZXZlbnQ7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIAlyZXR1cm4gMTsKIH0KIApAQCAtMTcwMCwyNiArMTQ1OCwzMyBAQAogCQkJCSBzdHJ1Y3QgaWRldGFwZV9iaCAqYmgpCiB7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOworCWludCByZXQsIGVycm9yczsKIAogCWRlYnVnX2xvZyhEQkdfU0VOU0UsICIlczogY21kPSVkXG4iLCBfX2Z1bmNfXywgY21kKTsKIAotCWlkZXRhcGVfaW5pdF9ycSgmcnEsIGNtZCk7Ci0JcnEucnFfZGlzayA9IHRhcGUtPmRpc2s7Ci0JcnEuc3BlY2lhbCA9ICh2b2lkICopYmg7Ci0JcnEuc2VjdG9yID0gdGFwZS0+Zmlyc3RfZnJhbWU7Ci0JcnEubnJfc2VjdG9ycwkJPSBibG9ja3M7Ci0JcnEuY3VycmVudF9ucl9zZWN0b3JzCT0gYmxvY2tzOwotCSh2b2lkKSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJcnEtPmNtZFswXSA9IGNtZDsKKwlycS0+cnFfZGlzayA9IHRhcGUtPmRpc2s7CisJcnEtPnNwZWNpYWwgPSAodm9pZCAqKWJoOworCXJxLT5zZWN0b3IgPSB0YXBlLT5maXJzdF9mcmFtZTsKKwlycS0+bnJfc2VjdG9ycyA9IGJsb2NrczsKKwlycS0+Y3VycmVudF9ucl9zZWN0b3JzID0gYmxvY2tzOworCWJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgdGFwZS0+ZGlzaywgcnEsIDApOworCisJZXJyb3JzID0gcnEtPmVycm9yczsKKwlyZXQgPSB0YXBlLT5ibGtfc2l6ZSAqIChibG9ja3MgLSBycS0+Y3VycmVudF9ucl9zZWN0b3JzKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCiAJaWYgKChjbWQgJiAoUkVRX0lERVRBUEVfUkVBRCB8IFJFUV9JREVUQVBFX1dSSVRFKSkgPT0gMCkKIAkJcmV0dXJuIDA7CiAKIAlpZiAodGFwZS0+bWVyZ2VfYmgpCiAJCWlkZXRhcGVfaW5pdF9tZXJnZV9idWZmZXIodGFwZSk7Ci0JaWYgKHJxLmVycm9ycyA9PSBJREVUQVBFX0VSUk9SX0dFTkVSQUwpCisJaWYgKGVycm9ycyA9PSBJREVUQVBFX0VSUk9SX0dFTkVSQUwpCiAJCXJldHVybiAtRUlPOwotCXJldHVybiAodGFwZS0+YmxrX3NpemUgKiAoYmxvY2tzLXJxLmN1cnJlbnRfbnJfc2VjdG9ycykpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX2lucXVpcnlfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQpAQCAtMTcyOCw3ICsxNDkzLDYgQEAKIAlwYy0+Y1swXSA9IElOUVVJUlk7CiAJcGMtPmNbNF0gPSAyNTQ7CiAJcGMtPnJlcV94ZmVyID0gMjU0OwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3Jld2luZF9jbWQoaWRlX2RyaXZlX3QgKmRyaXZlLApAQCAtMTczNyw3ICsxNTAxLDYgQEAKIAlpZGV0YXBlX2luaXRfcGMocGMpOwogCXBjLT5jWzBdID0gUkVaRVJPX1VOSVQ7CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX2VyYXNlX2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKQEAgLTE3NDYsNyArMTUwOSw2IEBACiAJcGMtPmNbMF0gPSBFUkFTRTsKIAlwYy0+Y1sxXSA9IDE7CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3NwYWNlX2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywgaW50IGNvdW50LCB1OCBjbWQpCkBAIC0xNzU2LDcgKzE1MTgsNiBAQAogCXB1dF91bmFsaWduZWQoY3B1X3RvX2JlMzIoY291bnQpLCAodW5zaWduZWQgaW50ICopICZwYy0+Y1sxXSk7CiAJcGMtPmNbMV0gPSBjbWQ7CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIC8qIFF1ZXVlIHVwIGEgY2hhcmFjdGVyIGRldmljZSBvcmlnaW5hdGVkIHdyaXRlIHJlcXVlc3QuICovCkBAIC0yNDIxLDkgKzIxODIsMTIgQEAKIAlpZiAoaSA+PSBNQVhfSFdJRlMgKiBNQVhfRFJJVkVTKQogCQlyZXR1cm4gLUVOWElPOwogCisJbG9ja19rZXJuZWwoKTsKIAl0YXBlID0gaWRlX3RhcGVfY2hyZGV2X2dldChpKTsKLQlpZiAoIXRhcGUpCisJaWYgKCF0YXBlKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTlhJTzsKKwl9CiAKIAlkZWJ1Z19sb2coREJHX0NIUkRFViwgIkVudGVyICVzXG4iLCBfX2Z1bmNfXyk7CiAKQEAgLTI0ODIsMTAgKzIyNDYsMTIgQEAKIAkJCX0KIAkJfQogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dF9wdXRfdGFwZToKIAlpZGVfdGFwZV9wdXQodGFwZSk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXR2YWw7CiB9CiAKQEAgLTI3NDYsOSArMjUxMiw4IEBACiAJICogRW5zdXJlIHRoYXQgdGhlIG51bWJlciB3ZSBnb3QgbWFrZXMgc2Vuc2U7IGxpbWl0IGl0IHdpdGhpbgogCSAqIElERVRBUEVfRFNDX1JXX01JTiBhbmQgSURFVEFQRV9EU0NfUldfTUFYLgogCSAqLwotCXRhcGUtPmJlc3RfZHNjX3J3X2ZyZXEgPSBtYXhfdCh1bnNpZ25lZCBsb25nLAotCQkJCW1pbl90KHVuc2lnbmVkIGxvbmcsIHQsIElERVRBUEVfRFNDX1JXX01BWCksCi0JCQkJSURFVEFQRV9EU0NfUldfTUlOKTsKKwl0YXBlLT5iZXN0X2RzY19yd19mcmVxID0gY2xhbXBfdCh1bnNpZ25lZCBsb25nLCB0LCBJREVUQVBFX0RTQ19SV19NSU4sCisJCQkJCSBJREVUQVBFX0RTQ19SV19NQVgpOwogCXByaW50ayhLRVJOX0lORk8gImlkZS10YXBlOiAlcyA8LT4gJXM6ICVkS0JwcywgJWQqJWRrQiBidWZmZXIsICIKIAkJIiVsdW1zIHREU0Mlc1xuIiwKIAkJZHJpdmUtPm5hbWUsIHRhcGUtPm5hbWUsICoodTE2ICopJnRhcGUtPmNhcHNbMTRdLApAQCAtMjkwMCwxMSArMjY2NSw2IEBACiAJCQkJIiB0aGUgZHJpdmVyXG4iLCBkcml2ZS0+bmFtZSk7CiAJCWdvdG8gZmFpbGVkOwogCX0KLQlpZiAoZHJpdmUtPnNjc2kpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLXRhcGU6IHBhc3NpbmcgZHJpdmUgJXMgdG8gaWRlLXNjc2kiCi0JCQkJICIgZW11bGF0aW9uLlxuIiwgZHJpdmUtPm5hbWUpOwotCQlnb3RvIGZhaWxlZDsKLQl9CiAJdGFwZSA9IGt6YWxsb2Moc2l6ZW9mKGlkZXRhcGVfdGFwZV90KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKHRhcGUgPT0gTlVMTCkgewogCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiAlczogQ2FuJ3QgYWxsb2NhdGUgYSB0YXBlIHN0cnVjdFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS10YXNrZmlsZS5jIGIvZHJpdmVycy9pZGUvaWRlLXRhc2tmaWxlLmMKaW5kZXggYWI1NDVmZi4uY2Y1NWE0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLXRhc2tmaWxlLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLXRhc2tmaWxlLmMKQEAgLTEwOSwxMyArMTA5LDE1IEBACiAKIAlpZiAoKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0RNQV9QSU9fRkFMTEJBQ0spID09IDApIHsKIAkJaWRlX3RmX2R1bXAoZHJpdmUtPm5hbWUsIHRmKTsKKwkJaWRlX3NldF9pcnEoZHJpdmUsIDEpOworCQlTRUxFQ1RfTUFTSyhkcml2ZSwgMCk7CiAJCWh3aWYtPnRmX2xvYWQoZHJpdmUsIHRhc2spOwogCX0KIAogCXN3aXRjaCAodGFzay0+ZGF0YV9waGFzZSkgewogCWNhc2UgVEFTS0ZJTEVfTVVMVElfT1VUOgogCWNhc2UgVEFTS0ZJTEVfT1VUOgotCQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgdGYtPmNvbW1hbmQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CisJCWh3aWYtPk9VVEJTWU5DKGh3aWYsIHRmLT5jb21tYW5kLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCQluZGVsYXkoNDAwKTsJLyogRklYTUUgKi8KIAkJcmV0dXJuIHByZV90YXNrX291dF9pbnRyKGRyaXZlLCB0YXNrLT5ycSk7CiAJY2FzZSBUQVNLRklMRV9NVUxUSV9JTjoKQEAgLTQ5MiwxMSArNDk0LDEyIEBACiAKIGludCBpZGVfcmF3X3Rhc2tmaWxlKGlkZV9kcml2ZV90ICpkcml2ZSwgaWRlX3Rhc2tfdCAqdGFzaywgdTggKmJ1ZiwgdTE2IG5zZWN0KQogewotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKKwlpbnQgZXJyb3I7CiAKLQlibGtfcnFfaW5pdChOVUxMLCAmcnEpOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOwotCXJxLmJ1ZmZlciA9IGJ1ZjsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKKwlycS0+YnVmZmVyID0gYnVmOwogCiAJLyoKIAkgKiAoa3MpIFdlIHRyYW5zZmVyIGN1cnJlbnRseSBvbmx5IHdob2xlIHNlY3RvcnMuCkBAIC01MDQsMTYgKzUwNywxOSBAQAogCSAqIGlmIHdlIHdvdWxkIGZpbmQgYSBzb2x1dGlvbiB0byB0cmFuc2ZlciBhbnkgc2l6ZS4KIAkgKiBUbyBzdXBwb3J0IHNwZWNpYWwgY29tbWFuZHMgbGlrZSBSRUFEIExPTkcuCiAJICovCi0JcnEuaGFyZF9ucl9zZWN0b3JzID0gcnEubnJfc2VjdG9ycyA9IG5zZWN0OwotCXJxLmhhcmRfY3VyX3NlY3RvcnMgPSBycS5jdXJyZW50X25yX3NlY3RvcnMgPSBuc2VjdDsKKwlycS0+aGFyZF9ucl9zZWN0b3JzID0gcnEtPm5yX3NlY3RvcnMgPSBuc2VjdDsKKwlycS0+aGFyZF9jdXJfc2VjdG9ycyA9IHJxLT5jdXJyZW50X25yX3NlY3RvcnMgPSBuc2VjdDsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19XUklURSkKLQkJcnEuY21kX2ZsYWdzIHw9IFJFUV9SVzsKKwkJcnEtPmNtZF9mbGFncyB8PSBSRVFfUlc7CiAKLQlycS5zcGVjaWFsID0gdGFzazsKLQl0YXNrLT5ycSA9ICZycTsKKwlycS0+c3BlY2lhbCA9IHRhc2s7CisJdGFzay0+cnEgPSBycTsKIAotCXJldHVybiBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwllcnJvciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CisKKwlyZXR1cm4gZXJyb3I7CiB9CiAKIEVYUE9SVF9TWU1CT0woaWRlX3Jhd190YXNrZmlsZSk7CkBAIC03MzksMTIgKzc0NSwxNCBAQAogCXN0cnVjdCBoZF9kcml2ZWlkICppZCA9IGRyaXZlLT5pZDsKIAogCWlmIChOVUxMID09ICh2b2lkICopIGFyZykgewotCQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwkJc3RydWN0IHJlcXVlc3QgKnJxOwogCi0JCWlkZV9pbml0X2RyaXZlX2NtZCgmcnEpOwotCQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKKwkJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwkJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOworCQllcnIgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIE5VTEwsIHJxLCAwKTsKKwkJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAotCQlyZXR1cm4gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJCXJldHVybiBlcnI7CiAJfQogCiAJaWYgKGNvcHlfZnJvbV91c2VyKGFyZ3MsICh2b2lkIF9fdXNlciAqKWFyZywgNCkpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtdGltaW5nLmggYi9kcml2ZXJzL2lkZS9pZGUtdGltaW5nLmgKaW5kZXggM2IxMmZmZS4uMmU5MWM1OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLXRpbWluZy5oCisrKyBiL2RyaXZlcnMvaWRlL2lkZS10aW1pbmcuaApAQCAtOTUsNyArOTUsNiBAQAogI2RlZmluZSBJREVfVElNSU5HX1VETUEJCTB4ODAKICNkZWZpbmUgSURFX1RJTUlOR19BTEwJCTB4ZmYKIAotI2RlZmluZSBGSVQodix2bWluLHZtYXgpCW1heF90KHNob3J0LG1pbl90KHNob3J0LHYsdm1heCksdm1pbikKICNkZWZpbmUgRU5PVUdIKHYsdW5pdCkJCSgoKHYpLTEpLyh1bml0KSsxKQogI2RlZmluZSBFWih2LHVuaXQpCQkoKHYpP0VOT1VHSCh2LHVuaXQpOjApCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS5jIGIvZHJpdmVycy9pZGUvaWRlLmMKaW5kZXggMzAwNDMxZC4uMmI4NDUzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLmMKQEAgLTg2LDEzICs4NiwxMCBAQAogCQkJCQlJREU2X01BSk9SLCBJREU3X01BSk9SLAogCQkJCQlJREU4X01BSk9SLCBJREU5X01BSk9SIH07CiAKLXN0YXRpYyBpbnQgaWRlYnVzX3BhcmFtZXRlcjsJLyogaG9sZHMgdGhlICJpZGVidXM9IiBwYXJhbWV0ZXIgKi8KLXN0YXRpYyBpbnQgc3lzdGVtX2J1c19zcGVlZDsJLyogaG9sZHMgd2hhdCB3ZSB0aGluayBpcyBWRVNBL1BDSSBidXMgc3BlZWQgKi8KLQogREVGSU5FX01VVEVYKGlkZV9jZmdfbXR4KTsKLSBfX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcCBERUZJTkVfU1BJTkxPQ0soaWRlX2xvY2spOwogCi1pbnQgbm9hdXRvZG1hID0gMDsKK19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIERFRklORV9TUElOTE9DSyhpZGVfbG9jayk7CitFWFBPUlRfU1lNQk9MKGlkZV9sb2NrKTsKIAogaWRlX2h3aWZfdCBpZGVfaHdpZnNbTUFYX0hXSUZTXTsJLyogbWFzdGVyIGRhdGEgcmVwb3NpdG9yeSAqLwogCkBAIC0xMzksNyArMTM2LDYgQEAKIAkJZHJpdmUtPm1lZGlhCQkJPSBpZGVfZGlzazsKIAkJZHJpdmUtPnNlbGVjdC5hbGwJCT0gKHVuaXQ8PDQpfDB4YTA7CiAJCWRyaXZlLT5od2lmCQkJPSBod2lmOwotCQlkcml2ZS0+Y3RsCQkJPSAweDA4OwogCQlkcml2ZS0+cmVhZHlfc3RhdAkJPSBSRUFEWV9TVEFUOwogCQlkcml2ZS0+YmFkX3dzdGF0CQk9IEJBRF9XX1NUQVQ7CiAJCWRyaXZlLT5zcGVjaWFsLmIucmVjYWxpYnJhdGUJPSAxOwpAQCAtMTU0LDMyICsxNTAsOSBAQAogCX0KIH0KIAotLyoKLSAqIGluaXRfaWRlX2RhdGEoKSBzZXRzIHJlYXNvbmFibGUgZGVmYXVsdCB2YWx1ZXMgaW50byBhbGwgZmllbGRzCi0gKiBvZiBhbGwgaW5zdGFuY2VzIG9mIHRoZSBod2lmcyBhbmQgZHJpdmVzLCBidXQgb25seSBvbiB0aGUgZmlyc3QgY2FsbC4KLSAqIFN1YnNlcXVlbnQgY2FsbHMgaGF2ZSBubyBlZmZlY3QgKHRoZXkgZG9uJ3Qgd2lwZSBvdXQgYW55dGhpbmcpLgotICoKLSAqIFRoaXMgcm91dGluZSBpcyBub3JtYWxseSBjYWxsZWQgYXQgZHJpdmVyIGluaXRpYWxpemF0aW9uIHRpbWUsCi0gKiBidXQgbWF5IGFsc28gYmUgY2FsbGVkIE1VQ0ggZWFybGllciBkdXJpbmcga2VybmVsICJjb21tYW5kLWxpbmUiCi0gKiBwYXJhbWV0ZXIgcHJvY2Vzc2luZy4gIEFzIHN1Y2gsIHdlIGNhbm5vdCBkZXBlbmQgb24gYW55IG90aGVyIHBhcnRzCi0gKiBvZiB0aGUga2VybmVsIChzdWNoIGFzIG1lbW9yeSBhbGxvY2F0aW9uKSB0byBiZSBmdW5jdGlvbmluZyB5ZXQuCi0gKgotICogVGhpcyBpcyB0b28gYmFkLCBhcyBvdGhlcndpc2Ugd2UgY291bGQgZHluYW1pY2FsbHkgYWxsb2NhdGUgdGhlCi0gKiBpZGVfZHJpdmVfdCBzdHJ1Y3RzIGFzIG5lZWRlZCwgcmF0aGVyIHRoYW4gYWx3YXlzIGNvbnN1bWluZyBtZW1vcnkKLSAqIGZvciB0aGUgbWF4IHBvc3NpYmxlIG51bWJlciAoTUFYX0hXSUZTICogTUFYX0RSSVZFUykgb2YgdGhlbS4KLSAqCi0gKiBGSVhNRTogV2Ugc2hvdWxkIHN0dWZmIHRoZSBzZXR1cCBkYXRhIGludG8gX19pbml0IGFuZCBjb3B5IHRoZQotICogcmVsZXZhbnQgaHdpZnMvYWxsb2NhdGUgdGhlbSBwcm9wZXJseSBkdXJpbmcgYm9vdC4KLSAqLwotI2RlZmluZSBNQUdJQ19DT09LSUUgMHgxMjM0NTY3OAogc3RhdGljIHZvaWQgX19pbml0IGluaXRfaWRlX2RhdGEgKHZvaWQpCiB7CiAJdW5zaWduZWQgaW50IGluZGV4OwotCXN0YXRpYyB1bnNpZ25lZCBsb25nIG1hZ2ljX2Nvb2tpZSA9IE1BR0lDX0NPT0tJRTsKLQotCWlmIChtYWdpY19jb29raWUgIT0gTUFHSUNfQ09PS0lFKQotCQlyZXR1cm47CQkvKiBhbHJlYWR5IGluaXRpYWxpemVkICovCi0JbWFnaWNfY29va2llID0gMDsKIAogCS8qIEluaXRpYWxpc2UgYWxsIGludGVyZmFjZSBzdHJ1Y3R1cmVzICovCiAJZm9yIChpbmRleCA9IDA7IGluZGV4IDwgTUFYX0hXSUZTOyArK2luZGV4KSB7CkBAIC0xODksMzggKzE2Miw2IEBACiAJfQogfQogCi0vKioKLSAqCWlkZV9zeXN0ZW1fYnVzX3NwZWVkCS0JZ3Vlc3MgYnVzIHNwZWVkCi0gKgotICoJaWRlX3N5c3RlbV9idXNfc3BlZWQoKSByZXR1cm5zIHdoYXQgd2UgdGhpbmsgaXMgdGhlIHN5c3RlbSBWRVNBL1BDSQotICoJYnVzIHNwZWVkIChpbiBNSHopLiBUaGlzIGlzIHVzZWQgZm9yIGNhbGN1bGF0aW5nIGludGVyZmFjZSBQSU8gdGltaW5ncy4KLSAqCVRoZSBkZWZhdWx0IGlzIDQwIGZvciBrbm93biBQQ0kgc3lzdGVtcywgNTAgb3RoZXJ3aXNlLgotICoJVGhlICJpZGVidXM9eHgiIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGlzIHZhbHVlLgotICoJVGhlIGFjdHVhbCB2YWx1ZSB0byBiZSB1c2VkIGlzIGNvbXB1dGVkL2Rpc3BsYXllZCB0aGUgZmlyc3QgdGltZQotICoJdGhyb3VnaC4gRHJpdmVycyBzaG91bGQgb25seSB1c2UgdGhpcyBhcyBhIGxhc3QgcmVzb3J0LgotICoKLSAqCVJldHVybnMgYSBndWVzc2VkIHNwZWVkIGluIE1Iei4KLSAqLwotCi1zdGF0aWMgaW50IGlkZV9zeXN0ZW1fYnVzX3NwZWVkKHZvaWQpCi17Ci0jaWZkZWYgQ09ORklHX1BDSQotCXN0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBwY2lfZGVmYXVsdFtdID0gewotCQl7IFBDSV9ERVZJQ0UoUENJX0FOWV9JRCwgUENJX0FOWV9JRCkgfSwKLQkJeyB9Ci0JfTsKLSNlbHNlCi0jZGVmaW5lIHBjaV9kZWZhdWx0IDAKLSNlbmRpZiAvKiBDT05GSUdfUENJICovCi0KLQkvKiB1c2VyIHN1cHBsaWVkIHZhbHVlICovCi0JaWYgKGlkZWJ1c19wYXJhbWV0ZXIpCi0JCXJldHVybiBpZGVidXNfcGFyYW1ldGVyOwotCi0JLyogc2FmZSBkZWZhdWx0IHZhbHVlIGZvciBQQ0kgb3IgVkVTQSBhbmQgUENJKi8KLQlyZXR1cm4gcGNpX2Rldl9wcmVzZW50KHBjaV9kZWZhdWx0KSA/IDMzIDogNTA7Ci19Ci0KIHZvaWQgaWRlX3JlbW92ZV9wb3J0X2Zyb21faHdncm91cChpZGVfaHdpZl90ICpod2lmKQogewogCWlkZV9od2dyb3VwX3QgKmh3Z3JvdXAgPSBod2lmLT5od2dyb3VwOwpAQCAtNDk4LDcgKzQzOSw3IEBACiAKIGludCBzZXRfcGlvX21vZGUoaWRlX2RyaXZlX3QgKmRyaXZlLCBpbnQgYXJnKQogewotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKIAlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJY29uc3Qgc3RydWN0IGlkZV9wb3J0X29wcyAqcG9ydF9vcHMgPSBod2lmLT5wb3J0X29wczsKIApAQCAtNTEyLDEyICs0NTMsMTUgQEAKIAlpZiAoZHJpdmUtPnNwZWNpYWwuYi5zZXRfdHVuZSkKIAkJcmV0dXJuIC1FQlVTWTsKIAotCWlkZV9pbml0X2RyaXZlX2NtZCgmcnEpOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOwogCiAJZHJpdmUtPnR1bmVfcmVxID0gKHU4KSBhcmc7CiAJZHJpdmUtPnNwZWNpYWwuYi5zZXRfdHVuZSA9IDE7Ci0JKHZvaWQpIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCisJYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBOVUxMLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKKwogCXJldHVybiAwOwogfQogCkBAIC01MzcsMjUgKzQ4MSwxMSBAQAogCXJldHVybiAwOwogfQogCi0vKioKLSAqCXN5c3RlbV9idXNfY2xvY2sJLQljbG9jayBndWVzcwotICoKLSAqCUV4dGVybmFsIHZlcnNpb24gb2YgdGhlIGJ1cyBjbG9jayBndWVzcyB1c2VkIGJ5IHZlcnkgb2xkIElERSBkcml2ZXJzCi0gKglmb3IgdGhpbmdzIGxpa2UgVkxCIHRpbWluZ3MuIFNob3VsZCBub3QgYmUgdXNlZC4KLSAqLwotCi1pbnQgc3lzdGVtX2J1c19jbG9jayAodm9pZCkKLXsKLQlyZXR1cm4gc3lzdGVtX2J1c19zcGVlZDsKLX0KLQotRVhQT1JUX1NZTUJPTChzeXN0ZW1fYnVzX2Nsb2NrKTsKLQogc3RhdGljIGludCBnZW5lcmljX2lkZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IG1lc2cpCiB7CiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gZGV2LT5kcml2ZXJfZGF0YTsKIAlpZGVfaHdpZl90ICpod2lmID0gSFdJRihkcml2ZSk7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOwogCXN0cnVjdCByZXF1ZXN0X3BtX3N0YXRlIHJxcG07CiAJaWRlX3Rhc2tfdCBhcmdzOwogCWludCByZXQ7CkBAIC01NjQsMTggKzQ5NCwxOSBAQAogCWlmICghKGRyaXZlLT5kbiAlIDIpKQogCQlpZGVfYWNwaV9nZXRfdGltaW5nKGh3aWYpOwogCi0JYmxrX3JxX2luaXQoTlVMTCwgJnJxKTsKIAltZW1zZXQoJnJxcG0sIDAsIHNpemVvZihycXBtKSk7CiAJbWVtc2V0KCZhcmdzLCAwLCBzaXplb2YoYXJncykpOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfUE1fU1VTUEVORDsKLQlycS5zcGVjaWFsID0gJmFyZ3M7Ci0JcnEuZGF0YSA9ICZycXBtOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfUE1fU1VTUEVORDsKKwlycS0+c3BlY2lhbCA9ICZhcmdzOworCXJxLT5kYXRhID0gJnJxcG07CiAJcnFwbS5wbV9zdGVwID0gaWRlX3BtX3N0YXRlX3N0YXJ0X3N1c3BlbmQ7CiAJaWYgKG1lc2cuZXZlbnQgPT0gUE1fRVZFTlRfUFJFVEhBVykKIAkJbWVzZy5ldmVudCA9IFBNX0VWRU5UX0ZSRUVaRTsKIAlycXBtLnBtX3N0YXRlID0gbWVzZy5ldmVudDsKIAotCXJldCA9IGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCXJldCA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAJLyogb25seSBjYWxsIEFDUEkgX1BTMyBhZnRlciBib3RoIGRyaXZlcnMgYXJlIHN1c3BlbmRlZCAqLwogCWlmICghcmV0ICYmICgoKGRyaXZlLT5kbiAlIDIpICYmIGh3aWYtPmRyaXZlc1swXS5wcmVzZW50CiAJCSAmJiBod2lmLT5kcml2ZXNbMV0ucHJlc2VudCkKQEAgLTU4OSw3ICs1MjAsNyBAQAogewogCWlkZV9kcml2ZV90ICpkcml2ZSA9IGRldi0+ZHJpdmVyX2RhdGE7CiAJaWRlX2h3aWZfdCAqaHdpZiA9IEhXSUYoZHJpdmUpOwotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKIAlzdHJ1Y3QgcmVxdWVzdF9wbV9zdGF0ZSBycXBtOwogCWlkZV90YXNrX3QgYXJnczsKIAlpbnQgZXJyOwpAQCAtNjAyLDE2ICs1MzMsMTggQEAKIAogCWlkZV9hY3BpX2V4ZWNfdGZzKGRyaXZlKTsKIAotCWJsa19ycV9pbml0KE5VTEwsICZycSk7CiAJbWVtc2V0KCZycXBtLCAwLCBzaXplb2YocnFwbSkpOwogCW1lbXNldCgmYXJncywgMCwgc2l6ZW9mKGFyZ3MpKTsKLQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX1BNX1JFU1VNRTsKLQlycS5zcGVjaWFsID0gJmFyZ3M7Ci0JcnEuZGF0YSA9ICZycXBtOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfUE1fUkVTVU1FOworCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX1BSRUVNUFQ7CisJcnEtPnNwZWNpYWwgPSAmYXJnczsKKwlycS0+ZGF0YSA9ICZycXBtOwogCXJxcG0ucG1fc3RlcCA9IGlkZV9wbV9zdGF0ZV9zdGFydF9yZXN1bWU7CiAJcnFwbS5wbV9zdGF0ZSA9IFBNX0VWRU5UX09OOwogCi0JZXJyID0gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfaGVhZF93YWl0KTsKKwllcnIgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIE5VTEwsIHJxLCAxKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCiAJaWYgKGVyciA9PSAwICYmIGRldi0+ZHJpdmVyKSB7CiAJCWlkZV9kcml2ZXJfdCAqZHJ2ID0gdG9faWRlX2RyaXZlcihkZXYtPmRyaXZlcik7CkBAIC03NjQsMjEyICs2OTcsNiBAQAogCiBFWFBPUlRfU1lNQk9MKGdlbmVyaWNfaWRlX2lvY3RsKTsKIAotLyoKLSAqIHN0cmlkeCgpIHJldHVybnMgdGhlIG9mZnNldCBvZiBjIHdpdGhpbiBzLAotICogb3IgLTEgaWYgYyBpcyAnXDAnIG9yIG5vdCBmb3VuZCB3aXRoaW4gcy4KLSAqLwotc3RhdGljIGludCBfX2luaXQgc3RyaWR4IChjb25zdCBjaGFyICpzLCBjaGFyIGMpCi17Ci0JY2hhciAqaSA9IHN0cmNocihzLCBjKTsKLQlyZXR1cm4gKGkgJiYgYykgPyBpIC0gcyA6IC0xOwotfQotCi0vKgotICogbWF0Y2hfcGFybSgpIGRvZXMgcGFyc2luZyBmb3IgaWRlX3NldHVwKCk6Ci0gKgotICogMS4gdGhlIGZpcnN0IGNoYXIgb2YgcyBtdXN0IGJlICc9Jy4KLSAqIDIuIGlmIHRoZSByZW1haW5kZXIgbWF0Y2hlcyBvbmUgb2YgdGhlIHN1cHBsaWVkIGtleXdvcmRzLAotICogICAgIHRoZSBpbmRleCAoMSBiYXNlZCkgb2YgdGhlIGtleXdvcmQgaXMgbmVnYXRlZCBhbmQgcmV0dXJuZWQuCi0gKiAzLiBpZiB0aGUgcmVtYWluZGVyIGlzIGEgc2VyaWVzIG9mIG5vIG1vcmUgdGhhbiBtYXhfdmFscyBudW1iZXJzCi0gKiAgICAgc2VwYXJhdGVkIGJ5IGNvbW1hcywgdGhlIG51bWJlcnMgYXJlIHNhdmVkIGluIHZhbHNbXSBhbmQgYQotICogICAgIGNvdW50IG9mIGhvdyBtYW55IHdlcmUgc2F2ZWQgaXMgcmV0dXJuZWQuICBCYXNlMTAgaXMgYXNzdW1lZCwKLSAqICAgICBhbmQgYmFzZTE2IGlzIGFsbG93ZWQgd2hlbiBwcmVmaXhlZCB3aXRoICIweCIuCi0gKiA0LiBvdGhlcndpc2UsIHplcm8gaXMgcmV0dXJuZWQuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IG1hdGNoX3Bhcm0gKGNoYXIgKnMsIGNvbnN0IGNoYXIgKmtleXdvcmRzW10sIGludCB2YWxzW10sIGludCBtYXhfdmFscykKLXsKLQlzdGF0aWMgY29uc3QgY2hhciAqZGVjaW1hbCA9ICIwMTIzNDU2Nzg5IjsKLQlzdGF0aWMgY29uc3QgY2hhciAqaGV4ID0gIjAxMjM0NTY3ODlhYmNkZWYiOwotCWludCBpLCBuOwotCi0JaWYgKCpzKysgPT0gJz0nKSB7Ci0JCS8qCi0JCSAqIFRyeSBtYXRjaGluZyBhZ2FpbnN0IHRoZSBzdXBwbGllZCBrZXl3b3JkcywKLQkJICogYW5kIHJldHVybiAtKGluZGV4KzEpIGlmIHdlIG1hdGNoIG9uZQotCQkgKi8KLQkJaWYgKGtleXdvcmRzICE9IE5VTEwpIHsKLQkJCWZvciAoaSA9IDA7ICprZXl3b3JkcyAhPSBOVUxMOyArK2kpIHsKLQkJCQlpZiAoIXN0cmNtcChzLCAqa2V5d29yZHMrKykpCi0JCQkJCXJldHVybiAtKGkrMSk7Ci0JCQl9Ci0JCX0KLQkJLyoKLQkJICogTG9vayBmb3IgYSBzZXJpZXMgb2Ygbm8gbW9yZSB0aGFuICJtYXhfdmFscyIKLQkJICogbnVtZXJpYyB2YWx1ZXMgc2VwYXJhdGVkIGJ5IGNvbW1hcywgaW4gYmFzZTEwLAotCQkgKiBvciBiYXNlMTYgd2hlbiBwcmVmaXhlZCB3aXRoICIweCIuCi0JCSAqIFJldHVybiBhIGNvdW50IG9mIGhvdyBtYW55IHdlcmUgZm91bmQuCi0JCSAqLwotCQlmb3IgKG4gPSAwOyAoaSA9IHN0cmlkeChkZWNpbWFsLCAqcykpID49IDA7KSB7Ci0JCQl2YWxzW25dID0gaTsKLQkJCXdoaWxlICgoaSA9IHN0cmlkeChkZWNpbWFsLCAqKytzKSkgPj0gMCkKLQkJCQl2YWxzW25dID0gKHZhbHNbbl0gKiAxMCkgKyBpOwotCQkJaWYgKCpzID09ICd4JyAmJiAhdmFsc1tuXSkgewotCQkJCXdoaWxlICgoaSA9IHN0cmlkeChoZXgsICorK3MpKSA+PSAwKQotCQkJCQl2YWxzW25dID0gKHZhbHNbbl0gKiAweDEwKSArIGk7Ci0JCQl9Ci0JCQlpZiAoKytuID09IG1heF92YWxzKQotCQkJCWJyZWFrOwotCQkJaWYgKCpzID09ICcsJyB8fCAqcyA9PSAnOycpCi0JCQkJKytzOwotCQl9Ci0JCWlmICghKnMpCi0JCQlyZXR1cm4gbjsKLQl9Ci0JcmV0dXJuIDA7CS8qIHplcm8gPSBub3RoaW5nIG1hdGNoZWQgKi8KLX0KLQotLyoKLSAqIGlkZV9zZXR1cCgpIGdldHMgY2FsbGVkIFZFUlkgRUFSTFkgZHVyaW5nIGluaXRpYWxpemF0aW9uLAotICogdG8gaGFuZGxlIGtlcm5lbCAiY29tbWFuZCBsaW5lIiBzdHJpbmdzIGJlZ2lubmluZyB3aXRoICJoZHg9IiBvciAiaWRlIi4KLSAqCi0gKiBSZW1lbWJlciB0byB1cGRhdGUgRG9jdW1lbnRhdGlvbi9pZGUvaWRlLnR4dCBpZiB5b3UgY2hhbmdlIHNvbWV0aGluZyBoZXJlLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBpZGVfc2V0dXAoY2hhciAqcykKLXsKLQlpZGVfaHdpZl90ICpod2lmOwotCWlkZV9kcml2ZV90ICpkcml2ZTsKLQl1bnNpZ25lZCBpbnQgaHcsIHVuaXQ7Ci0JaW50IHZhbHNbM107Ci0JY29uc3QgY2hhciBtYXhfZHJpdmUgPSAnYScgKyAoKE1BWF9IV0lGUyAqIE1BWF9EUklWRVMpIC0gMSk7Ci0KLQlpZiAoc3RybmNtcChzLCJoZCIsMikgPT0gMCAmJiBzWzJdID09ICc9JykJLyogaGQ9IGlzIGZvciBoZC5jICAgKi8KLQkJcmV0dXJuIDA7CQkJCS8qIGRyaXZlciBhbmQgbm90IHVzICovCi0KLQlpZiAoc3RybmNtcChzLCJpZGUiLDMpICYmIHN0cm5jbXAocywiaWRlYnVzIiw2KSAmJiBzdHJuY21wKHMsImhkIiwyKSkKLQkJcmV0dXJuIDA7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJpZGVfc2V0dXA6ICVzIiwgcyk7Ci0JaW5pdF9pZGVfZGF0YSAoKTsKLQotI2lmZGVmIENPTkZJR19CTEtfREVWX0lERURPVUJMRVIKLQlpZiAoIXN0cmNtcChzLCAiaWRlPWRvdWJsZXIiKSkgewotCQlleHRlcm4gaW50IGlkZV9kb3VibGVyOwotCi0JCXByaW50aygiIDogRW5hYmxlZCBzdXBwb3J0IGZvciBJREUgZG91YmxlcnNcbiIpOwotCQlpZGVfZG91YmxlciA9IDE7Ci0JCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCX0KLSNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JREVET1VCTEVSICovCi0KLQlpZiAoIXN0cmNtcChzLCAiaWRlPW5vZG1hIikpIHsKLQkJcHJpbnRrKCIgOiBQcmV2ZW50ZWQgRE1BXG4iKTsKLQkJbm9hdXRvZG1hID0gMTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSURFQUNQSQotCWlmICghc3RyY21wKHMsICJpZGU9bm9hY3BpIikpIHsKLQkJLy9wcmludGsoIiA6IERpc2FibGUgSURFIEFDUEkgc3VwcG9ydC5cbiIpOwotCQlpZGVfbm9hY3BpID0gMTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotCWlmICghc3RyY21wKHMsICJpZGU9YWNwaWd0ZiIpKSB7Ci0JCS8vcHJpbnRrKCIgOiBFbmFibGUgSURFIEFDUEkgX0dURiBzdXBwb3J0LlxuIik7Ci0JCWlkZV9hY3BpZ3RmID0gMTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotCWlmICghc3RyY21wKHMsICJpZGU9YWNwaW9uYm9vdCIpKSB7Ci0JCS8vcHJpbnRrKCIgOiBDYWxsIElERSBBQ1BJIG1ldGhvZHMgb24gYm9vdC5cbiIpOwotCQlpZGVfYWNwaW9uYm9vdCA9IDE7Ci0JCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCX0KLSNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JREVBQ1BJICovCi0KLQkvKgotCSAqIExvb2sgZm9yIGRyaXZlIG9wdGlvbnM6ICAiaGR4PSIKLQkgKi8KLQlpZiAoc1swXSA9PSAnaCcgJiYgc1sxXSA9PSAnZCcgJiYgc1syXSA+PSAnYScgJiYgc1syXSA8PSBtYXhfZHJpdmUpIHsKLQkJY29uc3QgY2hhciAqaGRfd29yZHNbXSA9IHsKLQkJCSJub25lIiwgIm5vcHJvYmUiLCAibm93ZXJyIiwgImNkcm9tIiwgIm5vZG1hIiwKLQkJCSItNiIsICItNyIsICItOCIsICItOSIsICItMTAiLAotCQkJIm5vZmx1c2giLCAicmVtYXAiLCAicmVtYXA2MyIsICJzY3NpIiwgTlVMTCB9OwotCQl1bml0ID0gc1syXSAtICdhJzsKLQkJaHcgICA9IHVuaXQgLyBNQVhfRFJJVkVTOwotCQl1bml0ID0gdW5pdCAlIE1BWF9EUklWRVM7Ci0JCWh3aWYgPSAmaWRlX2h3aWZzW2h3XTsKLQkJZHJpdmUgPSAmaHdpZi0+ZHJpdmVzW3VuaXRdOwotCQlpZiAoc3RybmNtcChzICsgNCwgImlkZS0iLCA0KSA9PSAwKSB7Ci0JCQlzdHJsY3B5KGRyaXZlLT5kcml2ZXJfcmVxLCBzICsgNCwgc2l6ZW9mKGRyaXZlLT5kcml2ZXJfcmVxKSk7Ci0JCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJfQotCQlzd2l0Y2ggKG1hdGNoX3Bhcm0oJnNbM10sIGhkX3dvcmRzLCB2YWxzLCAzKSkgewotCQkJY2FzZSAtMTogLyogIm5vbmUiICovCi0JCQljYXNlIC0yOiAvKiAibm9wcm9iZSIgKi8KLQkJCQlkcml2ZS0+bm9wcm9iZSA9IDE7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIC0zOiAvKiAibm93ZXJyIiAqLwotCQkJCWRyaXZlLT5iYWRfd3N0YXQgPSBCQURfUl9TVEFUOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtNDogLyogImNkcm9tIiAqLwotCQkJCWRyaXZlLT5wcmVzZW50ID0gMTsKLQkJCQlkcml2ZS0+bWVkaWEgPSBpZGVfY2Ryb207Ci0JCQkJLyogYW4gQVRBUEkgZGV2aWNlIGlnbm9yZXMgRFJEWSAqLwotCQkJCWRyaXZlLT5yZWFkeV9zdGF0ID0gMDsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTU6IC8qIG5vZG1hICovCi0JCQkJZHJpdmUtPm5vZG1hID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTExOiAvKiBub2ZsdXNoICovCi0JCQkJZHJpdmUtPm5vZmx1c2ggPSAxOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtMTI6IC8qICJyZW1hcCIgKi8KLQkJCQlkcml2ZS0+cmVtYXBfMF90b18xID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTEzOiAvKiAicmVtYXA2MyIgKi8KLQkJCQlkcml2ZS0+c2VjdDAgPSA2MzsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTE0OiAvKiAic2NzaSIgKi8KLQkJCQlkcml2ZS0+c2NzaSA9IDE7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIDM6IC8qIGN5bCxoZWFkLHNlY3QgKi8KLQkJCQlkcml2ZS0+bWVkaWEJPSBpZGVfZGlzazsKLQkJCQlkcml2ZS0+cmVhZHlfc3RhdCA9IFJFQURZX1NUQVQ7Ci0JCQkJZHJpdmUtPmN5bAk9IGRyaXZlLT5iaW9zX2N5bCAgPSB2YWxzWzBdOwotCQkJCWRyaXZlLT5oZWFkCT0gZHJpdmUtPmJpb3NfaGVhZCA9IHZhbHNbMV07Ci0JCQkJZHJpdmUtPnNlY3QJPSBkcml2ZS0+Ymlvc19zZWN0ID0gdmFsc1syXTsKLQkJCQlkcml2ZS0+cHJlc2VudAk9IDE7Ci0JCQkJZHJpdmUtPmZvcmNlZF9nZW9tID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWRlZmF1bHQ6Ci0JCQkJZ290byBiYWRfb3B0aW9uOwotCQl9Ci0JfQotCi0JaWYgKHNbMF0gIT0gJ2knIHx8IHNbMV0gIT0gJ2QnIHx8IHNbMl0gIT0gJ2UnKQotCQlnb3RvIGJhZF9vcHRpb247Ci0JLyoKLQkgKiBMb29rIGZvciBidXMgc3BlZWQgb3B0aW9uOiAgImlkZWJ1cz0iCi0JICovCi0JaWYgKHNbM10gPT0gJ2InICYmIHNbNF0gPT0gJ3UnICYmIHNbNV0gPT0gJ3MnKSB7Ci0JCWlmIChtYXRjaF9wYXJtKCZzWzZdLCBOVUxMLCB2YWxzLCAxKSAhPSAxKQotCQkJZ290byBiYWRfb3B0aW9uOwotCQlpZiAodmFsc1swXSA+PSAyMCAmJiB2YWxzWzBdIDw9IDY2KSB7Ci0JCQlpZGVidXNfcGFyYW1ldGVyID0gdmFsc1swXTsKLQkJfSBlbHNlCi0JCQlwcmludGsoIiAtLSBCQUQgQlVTIFNQRUVEISBFeHBlY3RlZCB2YWx1ZSBmcm9tIDIwIHRvIDY2Iik7Ci0JCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCX0KLQotYmFkX29wdGlvbjoKLQlwcmludGsoIiAtLSBCQUQgT1BUSU9OXG4iKTsKLQlyZXR1cm4gMTsKLW9ic29sZXRlX29wdGlvbjoKLQlwcmludGsoIiAtLSBPQlNPTEVURSBPUFRJT04sIFdJTEwgQkUgUkVNT1ZFRCBTT09OIVxuIik7Ci0JcmV0dXJuIDE7Ci19Ci0KLUVYUE9SVF9TWU1CT0woaWRlX2xvY2spOwotCiBzdGF0aWMgaW50IGlkZV9idXNfbWF0Y2goc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2RyaXZlciAqZHJ2KQogewogCXJldHVybiAxOwpAQCAtMTI4MSwxMSArMTAwOCw2IEBACiAJaW50IHJldDsKIAogCXByaW50ayhLRVJOX0lORk8gIlVuaWZvcm0gTXVsdGktUGxhdGZvcm0gRS1JREUgZHJpdmVyXG4iKTsKLQlzeXN0ZW1fYnVzX3NwZWVkID0gaWRlX3N5c3RlbV9idXNfc3BlZWQoKTsKLQotCXByaW50ayhLRVJOX0lORk8gImlkZTogQXNzdW1pbmcgJWRNSHogc3lzdGVtIGJ1cyBzcGVlZCAiCi0JCQkgImZvciBQSU8gbW9kZXMlc1xuIiwgc3lzdGVtX2J1c19zcGVlZCwKLQkJCWlkZWJ1c19wYXJhbWV0ZXIgPyAiIiA6ICI7IG92ZXJyaWRlIHdpdGggaWRlYnVzPXh4Iik7CiAKIAlyZXQgPSBidXNfcmVnaXN0ZXIoJmlkZV9idXNfdHlwZSk7CiAJaWYgKHJldCA8IDApIHsKQEAgLTEzMTEsMzIgKzEwMzMsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLSNpZmRlZiBNT0RVTEUKLXN0YXRpYyBjaGFyICpvcHRpb25zID0gTlVMTDsKLW1vZHVsZV9wYXJhbShvcHRpb25zLCBjaGFycCwgMCk7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9vcHRpb25zIChjaGFyICpsaW5lKQotewotCWNoYXIgKm5leHQgPSBsaW5lOwotCi0JaWYgKGxpbmUgPT0gTlVMTCB8fCAhKmxpbmUpCi0JCXJldHVybjsKLQl3aGlsZSAoKGxpbmUgPSBuZXh0KSAhPSBOVUxMKSB7Ci0gCQlpZiAoKG5leHQgPSBzdHJjaHIobGluZSwnICcpKSAhPSBOVUxMKQotCQkJKm5leHQrKyA9IDA7Ci0JCWlmICghaWRlX3NldHVwKGxpbmUpKQotCQkJcHJpbnRrIChLRVJOX0lORk8gIlVua25vd24gb3B0aW9uICclcydcbiIsIGxpbmUpOwotCX0KLX0KLQotaW50IF9faW5pdCBpbml0X21vZHVsZSAodm9pZCkKLXsKLQlwYXJzZV9vcHRpb25zKG9wdGlvbnMpOwotCXJldHVybiBpZGVfaW5pdCgpOwotfQotCi12b2lkIF9fZXhpdCBjbGVhbnVwX21vZHVsZSAodm9pZCkKK3N0YXRpYyB2b2lkIF9fZXhpdCBpZGVfZXhpdCh2b2lkKQogewogCXByb2NfaWRlX2Rlc3Ryb3koKTsKIApAQCAtMTM0NSwxMCArMTA0Miw3IEBACiAJYnVzX3VucmVnaXN0ZXIoJmlkZV9idXNfdHlwZSk7CiB9CiAKLSNlbHNlIC8qICFNT0RVTEUgKi8KLQotX19zZXR1cCgiIiwgaWRlX3NldHVwKTsKLQogbW9kdWxlX2luaXQoaWRlX2luaXQpOworbW9kdWxlX2V4aXQoaWRlX2V4aXQpOwogCi0jZW5kaWYgLyogTU9EVUxFICovCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9sZWdhY3kvYWxpMTR4eC5jIGIvZHJpdmVycy9pZGUvbGVnYWN5L2FsaTE0eHguYwppbmRleCA5MGM2NWNmLi4wNTIxMjVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9sZWdhY3kvYWxpMTR4eC5jCisrKyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9hbGkxNHh4LmMKQEAgLTExNiw3ICsxMTYsNyBAQAogCWludCB0aW1lMSwgdGltZTI7CiAJdTggcGFyYW0xLCBwYXJhbTIsIHBhcmFtMywgcGFyYW00OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IGJ1c19zcGVlZCA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGJ1c19zcGVlZCA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiA1MDsKIAogCS8qIGNhbGN1bGF0ZSB0aW1pbmcsIGFjY29yZGluZyB0byBQSU8gbW9kZSAqLwogCXRpbWUxID0gaWRlX3Bpb19jeWNsZV90aW1lKGRyaXZlLCBwaW8pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvbGVnYWN5L2dheWxlLmMgYi9kcml2ZXJzL2lkZS9sZWdhY3kvZ2F5bGUuYwppbmRleCBmZWQ3ZDgxLi5iNzg5NDE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9sZWdhY3kvZ2F5bGUuYworKysgYi9kcml2ZXJzL2lkZS9sZWdhY3kvZ2F5bGUuYwpAQCAtNjQsOSArNjQsNyBAQAogI2RlZmluZSBHQVlMRV9IQVNfQ09OVFJPTF9SRUcJKCFpZGVfZG91YmxlcikKICNkZWZpbmUgR0FZTEVfSURFUkVHX1NJWkUJKGlkZV9kb3VibGVyID8gMHgxMDAwIDogMHgyMDAwKQogCi1pbnQgaWRlX2RvdWJsZXIgPSAwOwkvKiBzdXBwb3J0IElERSBkb3VibGVycz8gKi8KLUVYUE9SVF9TWU1CT0xfR1BMKGlkZV9kb3VibGVyKTsKLQorc3RhdGljIGludCBpZGVfZG91YmxlcjsKIG1vZHVsZV9wYXJhbV9uYW1lZChkb3VibGVyLCBpZGVfZG91YmxlciwgYm9vbCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGRvdWJsZXIsICJlbmFibGUgc3VwcG9ydCBmb3IgSURFIGRvdWJsZXJzIik7CiAjZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSURFRE9VQkxFUiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvbGVnYWN5L2h0NjU2MGIuYyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9odDY1NjBiLmMKaW5kZXggNGZlNTE2ZC4uZGQ2ZGZiMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvbGVnYWN5L2h0NjU2MGIuYworKysgYi9kcml2ZXJzL2lkZS9sZWdhY3kvaHQ2NTYwYi5jCkBAIC0yMTIsNyArMjEyLDcgQEAKIHsKIAlpbnQgYWN0aXZlX3RpbWUsIHJlY292ZXJ5X3RpbWU7CiAJaW50IGFjdGl2ZV9jeWNsZXMsIHJlY292ZXJ5X2N5Y2xlczsKLQlpbnQgYnVzX3NwZWVkID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKTsKKwlpbnQgYnVzX3NwZWVkID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IDUwOwogCiAgICAgICAgIGlmIChwaW8pIHsKIAkJdW5zaWduZWQgaW50IGN5Y2xlX3RpbWU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9sZWdhY3kvaWRlLWNzLmMgYi9kcml2ZXJzL2lkZS9sZWdhY3kvaWRlLWNzLmMKaW5kZXggMzM4MTQyNC4uOGRiZjRkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvbGVnYWN5L2lkZS1jcy5jCisrKyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9pZGUtY3MuYwpAQCAtNjMsMTEgKzYzLDExIEBACiAKICNkZWZpbmUgSU5UX01PRFVMRV9QQVJNKG4sIHYpIHN0YXRpYyBpbnQgbiA9IHY7IG1vZHVsZV9wYXJhbShuLCBpbnQsIDApCiAKLSNpZmRlZiBQQ01DSUFfREVCVUcKLUlOVF9NT0RVTEVfUEFSTShwY19kZWJ1ZywgUENNQ0lBX0RFQlVHKTsKKyNpZmRlZiBDT05GSUdfUENNQ0lBX0RFQlVHCitJTlRfTU9EVUxFX1BBUk0ocGNfZGVidWcsIDApOwogI2RlZmluZSBERUJVRyhuLCBhcmdzLi4uKSBpZiAocGNfZGVidWc+KG4pKSBwcmludGsoS0VSTl9ERUJVRyBhcmdzKQotc3RhdGljIGNoYXIgKnZlcnNpb24gPQotImlkZS1jcy5jIDEuMyAyMDAyLzEwLzI2IDA1OjQ1OjMxIChEYXZpZCBIaW5kcykiOworLypzdGF0aWMgY2hhciAqdmVyc2lvbiA9CisiaWRlLWNzLmMgMS4zIDIwMDIvMTAvMjYgMDU6NDU6MzEgKERhdmlkIEhpbmRzKSI7Ki8KICNlbHNlCiAjZGVmaW5lIERFQlVHKG4sIGFyZ3MuLi4pCiAjZW5kaWYKQEAgLTM3NSw3ICszNzUsNyBAQAogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIAotdm9pZCBpZGVfcmVsZWFzZShzdHJ1Y3QgcGNtY2lhX2RldmljZSAqbGluaykKK3N0YXRpYyB2b2lkIGlkZV9yZWxlYXNlKHN0cnVjdCBwY21jaWFfZGV2aWNlICpsaW5rKQogewogICAgIGlkZV9pbmZvX3QgKmluZm8gPSBsaW5rLT5wcml2OwogICAgIGlkZV9od2lmX3QgKmh3aWYgPSBpbmZvLT5od2lmOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvbGVnYWN5L3FkNjV4eC5jIGIvZHJpdmVycy9pZGUvbGVnYWN5L3FkNjV4eC5jCmluZGV4IDY0MjRhZjEuLjUxZGJhODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9xZDY1eHguYworKysgYi9kcml2ZXJzL2lkZS9sZWdhY3kvcWQ2NXh4LmMKQEAgLTExMCw3ICsxMTAsNyBAQAogCiBzdGF0aWMgdTggcWQ2NTAwX2NvbXB1dGVfdGltaW5nIChpZGVfaHdpZl90ICpod2lmLCBpbnQgYWN0aXZlX3RpbWUsIGludCByZWNvdmVyeV90aW1lKQogewotCWludCBjbGsgPSBpZGVfdmxiX2NsayA/IGlkZV92bGJfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpOworCWludCBjbGsgPSBpZGVfdmxiX2NsayA/IGlkZV92bGJfY2xrIDogNTA7CiAJdTggYWN0X2N5YywgcmVjX2N5YzsKIAogCWlmIChjbGsgPD0gMzMpIHsKQEAgLTEzMiw3ICsxMzIsNyBAQAogCiBzdGF0aWMgdTggcWQ2NTgwX2NvbXB1dGVfdGltaW5nIChpbnQgYWN0aXZlX3RpbWUsIGludCByZWNvdmVyeV90aW1lKQogewotCWludCBjbGsgPSBpZGVfdmxiX2NsayA/IGlkZV92bGJfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpOworCWludCBjbGsgPSBpZGVfdmxiX2NsayA/IGlkZV92bGJfY2xrIDogNTA7CiAJdTggYWN0X2N5YywgcmVjX2N5YzsKIAogCWFjdF9jeWMgPSAxNyAtIElERV9JTihhY3RpdmVfdGltZSAgICogY2xrIC8gMTAwMCArIDEsIDIsIDE3KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9hZWM2Mnh4LmMgYi9kcml2ZXJzL2lkZS9wY2kvYWVjNjJ4eC5jCmluZGV4IDdmNDZjMjIuLmFlN2E0MzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9hZWM2Mnh4LmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL2FlYzYyeHguYwpAQCAtMTQwLDcgKzE0MCw3IEBACiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgX19kZXZpbml0IGluaXRfY2hpcHNldF9hZWM2Mnh4KHN0cnVjdCBwY2lfZGV2ICpkZXYsIGNvbnN0IGNoYXIgKm5hbWUpCiB7Ci0JaW50IGJ1c19zcGVlZCA9IGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGJ1c19zcGVlZCA9IGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiAzMzsKIAogCWlmIChidXNfc3BlZWQgPD0gMzMpCiAJCXBjaV9zZXRfZHJ2ZGF0YShkZXYsICh2b2lkICopIGFlYzZ4eHhfMzNfYmFzZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvYWxpbTE1eDMuYyBiL2RyaXZlcnMvaWRlL3BjaS9hbGltMTV4My5jCmluZGV4IGYyMTI5ZDUuLmYyZGUwMGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9hbGltMTV4My5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9hbGltMTV4My5jCkBAIC03Miw3ICs3Miw3IEBACiAJaW50IHNfdGltZSwgYV90aW1lLCBjX3RpbWU7CiAJdTggc19jbGMsIGFfY2xjLCByX2NsYzsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCBidXNfc3BlZWQgPSBpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpOworCWludCBidXNfc3BlZWQgPSBpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogMzM7CiAJaW50IHBvcnQgPSBod2lmLT5jaGFubmVsID8gMHg1YyA6IDB4NTg7CiAJaW50IHBvcnRGSUZPID0gaHdpZi0+Y2hhbm5lbCA/IDB4NTUgOiAweDU0OwogCXU4IGNkX2RtYV9maWZvID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9hbWQ3NHh4LmMgYi9kcml2ZXJzL2lkZS9wY2kvYW1kNzR4eC5jCmluZGV4IGVmY2Y1NDMuLmFkMjIyMjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9hbWQ3NHh4LmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL2FtZDc0eHguYwpAQCAtNTMsMjAgKzUzLDIwIEBACiAJdTggdCA9IDAsIG9mZnNldCA9IGFtZF9vZmZzZXQoZGV2KTsKIAogCXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgQU1EX0FERFJFU1NfU0VUVVAgKyBvZmZzZXQsICZ0KTsKLQl0ID0gKHQgJiB+KDMgPDwgKCgzIC0gZG4pIDw8IDEpKSkgfCAoKEZJVCh0aW1pbmctPnNldHVwLCAxLCA0KSAtIDEpIDw8ICgoMyAtIGRuKSA8PCAxKSk7CisJdCA9ICh0ICYgfigzIDw8ICgoMyAtIGRuKSA8PCAxKSkpIHwgKChjbGFtcF92YWwodGltaW5nLT5zZXR1cCwgMSwgNCkgLSAxKSA8PCAoKDMgLSBkbikgPDwgMSkpOwogCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIEFNRF9BRERSRVNTX1NFVFVQICsgb2Zmc2V0LCB0KTsKIAogCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIEFNRF84QklUX1RJTUlORyArIG9mZnNldCArICgxIC0gKGRuID4+IDEpKSwKLQkJKChGSVQodGltaW5nLT5hY3Q4YiwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoRklUKHRpbWluZy0+cmVjOGIsIDEsIDE2KSAtIDEpKTsKKwkJKChjbGFtcF92YWwodGltaW5nLT5hY3Q4YiwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoY2xhbXBfdmFsKHRpbWluZy0+cmVjOGIsIDEsIDE2KSAtIDEpKTsKIAogCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIEFNRF9EUklWRV9USU1JTkcgKyBvZmZzZXQgKyAoMyAtIGRuKSwKLQkJKChGSVQodGltaW5nLT5hY3RpdmUsIDEsIDE2KSAtIDEpIDw8IDQpIHwgKEZJVCh0aW1pbmctPnJlY292ZXIsIDEsIDE2KSAtIDEpKTsKKwkJKChjbGFtcF92YWwodGltaW5nLT5hY3RpdmUsIDEsIDE2KSAtIDEpIDw8IDQpIHwgKGNsYW1wX3ZhbCh0aW1pbmctPnJlY292ZXIsIDEsIDE2KSAtIDEpKTsKIAogCXN3aXRjaCAodWRtYV9tYXNrKSB7Ci0JY2FzZSBBVEFfVURNQTI6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IChGSVQodGltaW5nLT51ZG1hLCAyLCA1KSAtIDIpKSA6IDB4MDM7IGJyZWFrOwotCWNhc2UgQVRBX1VETUE0OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4YzAgfCBhbWRfY3ljMnVkbWFbRklUKHRpbWluZy0+dWRtYSwgMiwgMTApXSkgOiAweDAzOyBicmVhazsKLQljYXNlIEFUQV9VRE1BNTogdCA9IHRpbWluZy0+dWRtYSA/ICgweGMwIHwgYW1kX2N5YzJ1ZG1hW0ZJVCh0aW1pbmctPnVkbWEsIDEsIDEwKV0pIDogMHgwMzsgYnJlYWs7Ci0JY2FzZSBBVEFfVURNQTY6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IGFtZF9jeWMydWRtYVtGSVQodGltaW5nLT51ZG1hLCAxLCAxNSldKSA6IDB4MDM7IGJyZWFrOworCWNhc2UgQVRBX1VETUEyOiB0ID0gdGltaW5nLT51ZG1hID8gKDB4YzAgfCAoY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMiwgNSkgLSAyKSkgOiAweDAzOyBicmVhazsKKwljYXNlIEFUQV9VRE1BNDogdCA9IHRpbWluZy0+dWRtYSA/ICgweGMwIHwgYW1kX2N5YzJ1ZG1hW2NsYW1wX3ZhbCh0aW1pbmctPnVkbWEsIDIsIDEwKV0pIDogMHgwMzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTU6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IGFtZF9jeWMydWRtYVtjbGFtcF92YWwodGltaW5nLT51ZG1hLCAxLCAxMCldKSA6IDB4MDM7IGJyZWFrOworCWNhc2UgQVRBX1VETUE2OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4YzAgfCBhbWRfY3ljMnVkbWFbY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMSwgMTUpXSkgOiAweDAzOyBicmVhazsKIAlkZWZhdWx0OiByZXR1cm47CiAJfQogCkBAIC0xNzksNyArMTc5LDcgQEAKICAqIERldGVybWluZSB0aGUgc3lzdGVtIGJ1cyBjbG9jay4KICAqLwogCi0JYW1kX2Nsb2NrID0gKGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCkpICogMTAwMDsKKwlhbWRfY2xvY2sgPSAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzKSAqIDEwMDA7CiAKIAlzd2l0Y2ggKGFtZF9jbG9jaykgewogCQljYXNlIDMzMDAwOiBhbWRfY2xvY2sgPSAzMzMzMzsgYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvY21kNjQwLmMgYi9kcml2ZXJzL2lkZS9wY2kvY21kNjQwLmMKaW5kZXggYjM4YTE5ODAuLmNkMWJhMTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NDAuYworKysgYi9kcml2ZXJzL2lkZS9wY2kvY21kNjQwLmMKQEAgLTUyNSwxMiArNTI1LDEwIEBACiAJdTggc2V0dXBfY291bnQsIGFjdGl2ZV9jb3VudCwgcmVjb3ZlcnlfY291bnQsIHJlY292ZXJ5X2NvdW50MiwgY3ljbGVfY291bnQ7CiAJaW50IGJ1c19zcGVlZDsKIAotCWlmIChjbWQ2NDBfdmxiICYmIGlkZV92bGJfY2xrKQotCQlidXNfc3BlZWQgPSBpZGVfdmxiX2NsazsKLQllbHNlIGlmICghY21kNjQwX3ZsYiAmJiBpZGVfcGNpX2NsaykKLQkJYnVzX3NwZWVkID0gaWRlX3BjaV9jbGs7CisJaWYgKGNtZDY0MF92bGIpCisJCWJ1c19zcGVlZCA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiA1MDsKIAllbHNlCi0JCWJ1c19zcGVlZCA9IHN5c3RlbV9idXNfY2xvY2soKTsKKwkJYnVzX3NwZWVkID0gaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzOwogCiAJaWYgKHBpb19tb2RlID4gNSkKIAkJcGlvX21vZGUgPSA1OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL2NtZDY0eC5jIGIvZHJpdmVycy9pZGUvcGNpL2NtZDY0eC5jCmluZGV4IDA4Njc0NzEuLmNhNDc3NGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NHguYworKysgYi9kcml2ZXJzL2lkZS9wY2kvY21kNjR4LmMKQEAgLTY5LDcgKzY5LDcgQEAKIHN0YXRpYyB2b2lkIHByb2dyYW1fY3ljbGVfdGltZXMgKGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IGN5Y2xlX3RpbWUsIGludCBhY3RpdmVfdGltZSkKIHsKIAlzdHJ1Y3QgcGNpX2RldiAqZGV2ID0gdG9fcGNpX2Rldihkcml2ZS0+aHdpZi0+ZGV2KTsKLQlpbnQgY2xvY2tfdGltZSA9IDEwMDAgLyAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKSk7CisJaW50IGNsb2NrX3RpbWUgPSAxMDAwIC8gKGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiAzMyk7CiAJdTggIGN5Y2xlX2NvdW50LCBhY3RpdmVfY291bnQsIHJlY292ZXJ5X2NvdW50LCBkcnd0aW07CiAJc3RhdGljIGNvbnN0IHU4IHJlY292ZXJ5X3ZhbHVlc1tdID0KIAkJezE1LCAxNSwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAwfTsKQEAgLTEyOCw3ICsxMjgsNyBAQAogCQkJICAgIGlkZV9waW9fdGltaW5nc1twaW9dLmFjdGl2ZV90aW1lKTsKIAogCXNldHVwX2NvdW50ID0gcXVhbnRpemVfdGltaW5nKGlkZV9waW9fdGltaW5nc1twaW9dLnNldHVwX3RpbWUsCi0JCQkxMDAwIC8gKGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCkpKTsKKwkJCTEwMDAgLyAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzKSk7CiAKIAkvKgogCSAqIFRoZSBwcmltYXJ5IGNoYW5uZWwgaGFzIGluZGl2aWR1YWwgYWRkcmVzcyBzZXR1cCB0aW1pbmcgcmVnaXN0ZXJzCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvY3k4MmM2OTMuYyBiL2RyaXZlcnMvaWRlL3BjaS9jeTgyYzY5My5jCmluZGV4IDc3Y2MyMmMuLjhjNTM0YWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9jeTgyYzY5My5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9jeTgyYzY5My5jCkBAIC0xMzQsNyArMTM0LDcgQEAKIHN0YXRpYyB2b2lkIGNvbXB1dGVfY2xvY2tzKHU4IHBpbywgcGlvX2Nsb2Nrc190ICpwX3BjbGspCiB7CiAJaW50IGNsazEsIGNsazI7Ci0JaW50IGJ1c19zcGVlZCA9IGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGJ1c19zcGVlZCA9IGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiAzMzsKIAogCS8qIHdlIGRvbid0IGNoZWNrIGFnYWluc3QgQ1k4MkM2OTMncyBtaW4gYW5kIG1heCBzcGVlZCwKIAkgKiBzbyB5b3UgY2FuIHBsYXkgd2l0aCB0aGUgaWRlYnVzPXh4IHBhcmFtZXRlcgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL2hwdDM2Ni5jIGIvZHJpdmVycy9pZGUvcGNpL2hwdDM2Ni5jCmluZGV4IGM5MjlkYWQuLjM5N2M2Y2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9ocHQzNjYuYworKysgYi9kcml2ZXJzL2lkZS9wY2kvaHB0MzY2LmMKQEAgLTc1OSw4ICs3NTksNyBAQAogCQkJCWVuYWJsZV9pcnEgKGh3aWYtPmlycSk7CiAJCX0KIAl9IGVsc2UKLQkJb3V0YihtYXNrID8gKGRyaXZlLT5jdGwgfCAyKSA6IChkcml2ZS0+Y3RsICYgfjIpLAotCQkgICAgIGh3aWYtPmlvX3BvcnRzLmN0bF9hZGRyKTsKKwkJb3V0YihBVEFfREVWQ1RMX09CUyB8IChtYXNrID8gMiA6IDApLCBod2lmLT5pb19wb3J0cy5jdGxfYWRkcik7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvbnM4NzQxNS5jIGIvZHJpdmVycy9pZGUvcGNpL25zODc0MTUuYwppbmRleCBhN2E0MWJiLi40NWJhNzFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wY2kvbnM4NzQxNS5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9uczg3NDE1LmMKQEAgLTc2LDcgKzc2LDcgQEAKIAl9CiAKIAkvKiBiZSBzdXJlIHdlJ3JlIGxvb2tpbmcgYXQgdGhlIGxvdyBvcmRlciBiaXRzICovCi0Jb3V0Yihkcml2ZS0+Y3RsICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJb3V0YihBVEFfREVWQ1RMX09CUyAmIH4weDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX05TRUNUKQogCQl0Zi0+bnNlY3QgID0gaW5iKGlvX3BvcnRzLT5uc2VjdF9hZGRyKTsKQEAgLTkwLDcgKzkwLDcgQEAKIAkJdGYtPmRldmljZSA9IHN1cGVyaW9faWRlX2luYihpb19wb3J0cy0+ZGV2aWNlX2FkZHIpOwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0xCQTQ4KSB7Ci0JCW91dGIoZHJpdmUtPmN0bCB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCW91dGIoQVRBX0RFVkNUTF9PQlMgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9IT0JfRkVBVFVSRSkKIAkJCXRmLT5ob2JfZmVhdHVyZSA9IGluYihpb19wb3J0cy0+ZmVhdHVyZV9hZGRyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9zY2NfcGF0YS5jIGIvZHJpdmVycy9pZGUvcGNpL3NjY19wYXRhLmMKaW5kZXggOTEwZmIwMC4uMTU4NGViYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL3NjY19wYXRhLmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL3NjY19wYXRhLmMKQEAgLTE0OCwxMSArMTQ4LDggQEAKIAlvdXRfYmUzMigodm9pZCopcG9ydCwgYWRkcik7CiB9CiAKLXN0YXRpYyB2b2lkCi1zY2NfaWRlX291dGJzeW5jKGlkZV9kcml2ZV90ICogZHJpdmUsIHU4IGFkZHIsIHVuc2lnbmVkIGxvbmcgcG9ydCkKK3N0YXRpYyB2b2lkIHNjY19pZGVfb3V0YnN5bmMoaWRlX2h3aWZfdCAqaHdpZiwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KQogewotCWlkZV9od2lmX3QgKmh3aWYgPSBIV0lGKGRyaXZlKTsKLQogCW91dF9iZTMyKCh2b2lkKilwb3J0LCBhZGRyKTsKIAllaWVpbygpOwogCWluX2JlMzIoKHZvaWQqKShod2lmLT5kbWFfYmFzZSArIDB4MDFjKSk7CkBAIC02NjIsOCArNjU5LDYgQEAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfRkxBR0dFRCkKIAkJSElISSA9IDB4RkY7CiAKLQlpZGVfc2V0X2lycShkcml2ZSwgMSk7Ci0KIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfT1VUX0RBVEEpCiAJCW91dF9iZTMyKCh2b2lkICopaW9fcG9ydHMtPmRhdGFfYWRkciwKIAkJCSAodGYtPmhvYl9kYXRhIDw8IDgpIHwgdGYtPmRhdGEpOwpAQCAtNzA4LDcgKzcwMyw3IEBACiAJfQogCiAJLyogYmUgc3VyZSB3ZSdyZSBsb29raW5nIGF0IHRoZSBsb3cgb3JkZXIgYml0cyAqLwotCXNjY19pZGVfb3V0Yihkcml2ZS0+Y3RsICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJc2NjX2lkZV9vdXRiKEFUQV9ERVZDVExfT0JTICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fTlNFQ1QpCiAJCXRmLT5uc2VjdCAgPSBzY2NfaWRlX2luYihpb19wb3J0cy0+bnNlY3RfYWRkcik7CkBAIC03MjIsNyArNzE3LDcgQEAKIAkJdGYtPmRldmljZSA9IHNjY19pZGVfaW5iKGlvX3BvcnRzLT5kZXZpY2VfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfTEJBNDgpIHsKLQkJc2NjX2lkZV9vdXRiKGRyaXZlLT5jdGwgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCQlzY2NfaWRlX291dGIoQVRBX0RFVkNUTF9PQlMgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9IT0JfRkVBVFVSRSkKIAkJCXRmLT5ob2JfZmVhdHVyZSA9IHNjY19pZGVfaW5iKGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwpAQCAtNzk1LDcgKzc5MCw2IEBACiAKIAlod2lmLT5kbWFfYmFzZSA9IGRtYV9iYXNlOwogCWh3aWYtPmNvbmZpZ19kYXRhID0gcG9ydHMtPmN0bDsKLQlod2lmLT5tbWlvID0gMTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvc2dpaW9jNC5jIGIvZHJpdmVycy9pZGUvcGNpL3NnaWlvYzQuYwppbmRleCAxNmEwYmNlLi4yNDUxM2UzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wY2kvc2dpaW9jNC5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9zZ2lpb2M0LmMKQEAgLTExMSw3ICsxMTEsNyBAQAogc3RhdGljIHZvaWQKIHNnaWlvYzRfbWFza3Byb2MoaWRlX2RyaXZlX3QgKiBkcml2ZSwgaW50IG1hc2spCiB7Ci0Jd3JpdGViKG1hc2sgPyAoZHJpdmUtPmN0bCB8IDIpIDogKGRyaXZlLT5jdGwgJiB+MiksCisJd3JpdGViKEFUQV9ERVZDVExfT0JTIHwgKG1hc2sgPyAyIDogMCksCiAJICAgICAgICh2b2lkIF9faW9tZW0gKilkcml2ZS0+aHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOwogfQogCkBAIC0zNjksOCArMzY5LDcgQEAKIAlod2lmLT5zZ19tYXhfbmVudHMgPSBJT0M0X1BSRF9FTlRSSUVTOwogCiAJcGFkID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoZGV2LCBJT0M0X0lERV9DQUNIRUxJTkVfU0laRSwKLQkJCQkgICAoZG1hX2FkZHJfdCAqKSAmKGh3aWYtPmRtYV9zdGF0dXMpKTsKLQorCQkJCSAgIChkbWFfYWRkcl90ICopJmh3aWYtPmV4dHJhX2Jhc2UpOwogCWlmIChwYWQpIHsKIAkJaWRlX3NldF9od2lmZGF0YShod2lmLCBwYWQpOwogCQlyZXR1cm4gMDsKQEAgLTQzOSw3ICs0MzgsNyBAQAogCiAJLyogQWRkcmVzcyBvZiB0aGUgRW5kaW5nIERNQSAqLwogCW1lbXNldChpZGVfZ2V0X2h3aWZkYXRhKGh3aWYpLCAwLCBJT0M0X0lERV9DQUNIRUxJTkVfU0laRSk7Ci0JZW5kaW5nX2RtYV9hZGRyID0gY3B1X3RvX2xlMzIoaHdpZi0+ZG1hX3N0YXR1cyk7CisJZW5kaW5nX2RtYV9hZGRyID0gY3B1X3RvX2xlMzIoaHdpZi0+ZXh0cmFfYmFzZSk7CiAJd3JpdGVsKGVuZGluZ19kbWFfYWRkciwgKHZvaWQgX19pb21lbSAqKShkbWFfYmFzZSArIElPQzRfRE1BX0VORF9BRERSICogNCkpOwogCiAJd3JpdGVsKGRtYV9kaXJlY3Rpb24sICh2b2lkIF9faW9tZW0gKilpb2M0X2RtYV9hZGRyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9zaWltYWdlLmMgYi9kcml2ZXJzL2lkZS9wY2kvc2lpbWFnZS5jCmluZGV4IDAwMDZiOWUuLmI3NWU5YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9zaWltYWdlLmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL3NpaW1hZ2UuYwpAQCAtOTQsNyArOTQsNyBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZSA9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAogCWJhc2UgKz0gMHhBMCArIHI7Ci0JaWYgKGh3aWYtPm1taW8pCisJaWYgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJYmFzZSArPSBod2lmLT5jaGFubmVsIDw8IDY7CiAJZWxzZQogCQliYXNlICs9IGh3aWYtPmNoYW5uZWwgPDwgNDsKQEAgLTExNyw3ICsxMTcsNyBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZQk9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAogCWJhc2UgKz0gMHhBMCArIHI7Ci0JaWYgKGh3aWYtPm1taW8pCisJaWYgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJYmFzZSArPSBod2lmLT5jaGFubmVsIDw8IDY7CiAJZWxzZQogCQliYXNlICs9IGh3aWYtPmNoYW5uZWwgPDwgNDsKQEAgLTE5MCw3ICsxOTAsOSBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZQk9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAl1OCBzY3NjLCBtYXNrCQk9IDA7CiAKLQlzY3NjID0gc2lsX2lvcmVhZDgoZGV2LCBiYXNlICsgKGh3aWYtPm1taW8gPyAweDRBIDogMHg4QSkpOworCWJhc2UgKz0gKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykgPyAweDRBIDogMHg4QTsKKworCXNjc2MgPSBzaWxfaW9yZWFkOChkZXYsIGJhc2UpOwogCiAJc3dpdGNoIChzY3NjICYgMHgzMCkgewogCWNhc2UgMHgxMDoJLyogMTMzICovCkBAIC0yMzgsOCArMjQwLDkgQEAKIAl1bnNpZ25lZCBsb25nIHRmYWRkcgk9IHNpaW1hZ2Vfc2VscmVnKGh3aWYsCTB4MDIpOwogCXVuc2lnbmVkIGxvbmcgYmFzZQk9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAl1OCB0Zl9waW8JCT0gcGlvOwotCXU4IGFkZHJfbWFzawkJPSBod2lmLT5jaGFubmVsID8gKGh3aWYtPm1taW8gPyAweEY0IDogMHg4NCkKLQkJCQkJCTogKGh3aWYtPm1taW8gPyAweEI0IDogMHg4MCk7CisJdTggbW1pbwkJCT0gKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykgPyAxIDogMDsKKwl1OCBhZGRyX21hc2sJCT0gaHdpZi0+Y2hhbm5lbCA/IChtbWlvID8gMHhGNCA6IDB4ODQpCisJCQkJCQk6IChtbWlvID8gMHhCNCA6IDB4ODApOwogCXU4IG1vZGUJCQk9IDA7CiAJdTggdW5pdAkJCT0gZHJpdmUtPnNlbGVjdC5iLnVuaXQ7CiAKQEAgLTI5MCwxMyArMjkzLDEzIEBACiAJdTE2IHVsdHJhID0gMCwgbXVsdGkJPSAwOwogCXU4IG1vZGUgPSAwLCB1bml0CT0gZHJpdmUtPnNlbGVjdC5iLnVuaXQ7CiAJdW5zaWduZWQgbG9uZyBiYXNlCT0gKHVuc2lnbmVkIGxvbmcpaHdpZi0+aHdpZl9kYXRhOwotCXU4IHNjc2MgPSAwLCBhZGRyX21hc2sJPSBod2lmLT5jaGFubmVsID8KLQkJCQkJKGh3aWYtPm1taW8gPyAweEY0IDogMHg4NCkgOgotCQkJCQkoaHdpZi0+bW1pbyA/IDB4QjQgOiAweDgwKTsKKwl1OCBtbWlvCQkJPSAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKSA/IDEgOiAwOworCXU4IHNjc2MgPSAwLCBhZGRyX21hc2sJPSBod2lmLT5jaGFubmVsID8gKG1taW8gPyAweEY0IDogMHg4NCkKKwkJCQkJCTogKG1taW8gPyAweEI0IDogMHg4MCk7CiAJdW5zaWduZWQgbG9uZyBtYQk9IHNpaW1hZ2Vfc2VsZGV2KGRyaXZlLCAweDA4KTsKIAl1bnNpZ25lZCBsb25nIHVhCT0gc2lpbWFnZV9zZWxkZXYoZHJpdmUsIDB4MEMpOwogCi0Jc2NzYyAgPSBzaWxfaW9yZWFkOCAoZGV2LCBiYXNlICsgKGh3aWYtPm1taW8gPyAweDRBIDogMHg4QSkpOworCXNjc2MgID0gc2lsX2lvcmVhZDggKGRldiwgYmFzZSArIChtbWlvID8gMHg0QSA6IDB4OEEpKTsKIAltb2RlICA9IHNpbF9pb3JlYWQ4IChkZXYsIGJhc2UgKyBhZGRyX21hc2spOwogCW11bHRpID0gc2lsX2lvcmVhZDE2KGRldiwgbWEpOwogCXVsdHJhID0gc2lsX2lvcmVhZDE2KGRldiwgdWEpOwpAQCAtMzkxLDcgKzM5NCw3IEBACiAKIHN0YXRpYyBpbnQgc2lpbWFnZV9kbWFfdGVzdF9pcnEoaWRlX2RyaXZlX3QgKmRyaXZlKQogewotCWlmIChkcml2ZS0+aHdpZi0+bW1pbykKKwlpZiAoZHJpdmUtPmh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJcmV0dXJuIHNpaW1hZ2VfbW1pb19kbWFfdGVzdF9pcnEoZHJpdmUpOwogCWVsc2UKIAkJcmV0dXJuIHNpaW1hZ2VfaW9fZG1hX3Rlc3RfaXJxKGRyaXZlKTsKQEAgLTY0MCw4ICs2NDMsNiBAQAogCWh3aWYtPmlycSA9IGRldi0+aXJxOwogCiAJaHdpZi0+ZG1hX2Jhc2UgPSAodW5zaWduZWQgbG9uZylhZGRyICsgKGNoID8gMHgwOCA6IDB4MDApOwotCi0JaHdpZi0+bW1pbyA9IDE7CiB9CiAKIHN0YXRpYyBpbnQgaXNfZGV2X3NlYWdhdGVfc2F0YShpZGVfZHJpdmVfdCAqZHJpdmUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvdmlhODJjeHh4LmMgYi9kcml2ZXJzL2lkZS9wY2kvdmlhODJjeHh4LmMKaW5kZXggNTY2ZTBlYy4uM2VkOTcyOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL3ZpYTgyY3h4eC5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS92aWE4MmN4eHguYwpAQCAtMTIwLDIxICsxMjAsMjEgQEAKIAogCWlmICh+dmRldi0+dmlhX2NvbmZpZy0+ZmxhZ3MgJiBWSUFfQkFEX0FTVCkgewogCQlwY2lfcmVhZF9jb25maWdfYnl0ZShkZXYsIFZJQV9BRERSRVNTX1NFVFVQLCAmdCk7Ci0JCXQgPSAodCAmIH4oMyA8PCAoKDMgLSBkbikgPDwgMSkpKSB8ICgoRklUKHRpbWluZy0+c2V0dXAsIDEsIDQpIC0gMSkgPDwgKCgzIC0gZG4pIDw8IDEpKTsKKwkJdCA9ICh0ICYgfigzIDw8ICgoMyAtIGRuKSA8PCAxKSkpIHwgKChjbGFtcF92YWwodGltaW5nLT5zZXR1cCwgMSwgNCkgLSAxKSA8PCAoKDMgLSBkbikgPDwgMSkpOwogCQlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBWSUFfQUREUkVTU19TRVRVUCwgdCk7CiAJfQogCiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgVklBXzhCSVRfVElNSU5HICsgKDEgLSAoZG4gPj4gMSkpLAotCQkoKEZJVCh0aW1pbmctPmFjdDhiLCAxLCAxNikgLSAxKSA8PCA0KSB8IChGSVQodGltaW5nLT5yZWM4YiwgMSwgMTYpIC0gMSkpOworCQkoKGNsYW1wX3ZhbCh0aW1pbmctPmFjdDhiLCAxLCAxNikgLSAxKSA8PCA0KSB8IChjbGFtcF92YWwodGltaW5nLT5yZWM4YiwgMSwgMTYpIC0gMSkpOwogCiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgVklBX0RSSVZFX1RJTUlORyArICgzIC0gZG4pLAotCQkoKEZJVCh0aW1pbmctPmFjdGl2ZSwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoRklUKHRpbWluZy0+cmVjb3ZlciwgMSwgMTYpIC0gMSkpOworCQkoKGNsYW1wX3ZhbCh0aW1pbmctPmFjdGl2ZSwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoY2xhbXBfdmFsKHRpbWluZy0+cmVjb3ZlciwgMSwgMTYpIC0gMSkpOwogCiAJc3dpdGNoICh2ZGV2LT52aWFfY29uZmlnLT51ZG1hX21hc2spIHsKLQljYXNlIEFUQV9VRE1BMjogdCA9IHRpbWluZy0+dWRtYSA/ICgweGUwIHwgKEZJVCh0aW1pbmctPnVkbWEsIDIsIDUpIC0gMikpIDogMHgwMzsgYnJlYWs7Ci0JY2FzZSBBVEFfVURNQTQ6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlOCB8IChGSVQodGltaW5nLT51ZG1hLCAyLCA5KSAtIDIpKSA6IDB4MGY7IGJyZWFrOwotCWNhc2UgQVRBX1VETUE1OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4ZTAgfCAoRklUKHRpbWluZy0+dWRtYSwgMiwgOSkgLSAyKSkgOiAweDA3OyBicmVhazsKLQljYXNlIEFUQV9VRE1BNjogdCA9IHRpbWluZy0+dWRtYSA/ICgweGUwIHwgKEZJVCh0aW1pbmctPnVkbWEsIDIsIDkpIC0gMikpIDogMHgwNzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTI6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlMCB8IChjbGFtcF92YWwodGltaW5nLT51ZG1hLCAyLCA1KSAtIDIpKSA6IDB4MDM7IGJyZWFrOworCWNhc2UgQVRBX1VETUE0OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4ZTggfCAoY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMiwgOSkgLSAyKSkgOiAweDBmOyBicmVhazsKKwljYXNlIEFUQV9VRE1BNTogdCA9IHRpbWluZy0+dWRtYSA/ICgweGUwIHwgKGNsYW1wX3ZhbCh0aW1pbmctPnVkbWEsIDIsIDkpIC0gMikpIDogMHgwNzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTY6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlMCB8IChjbGFtcF92YWwodGltaW5nLT51ZG1hLCAyLCA5KSAtIDIpKSA6IDB4MDc7IGJyZWFrOwogCWRlZmF1bHQ6IHJldHVybjsKIAl9CiAKQEAgLTM0MCw3ICszNDAsNyBAQAogCSAqIERldGVybWluZSBzeXN0ZW0gYnVzIGNsb2NrLgogCSAqLwogCi0JdmlhX2Nsb2NrID0gKGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCkpICogMTAwMDsKKwl2aWFfY2xvY2sgPSAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzKSAqIDEwMDA7CiAKIAlzd2l0Y2ggKHZpYV9jbG9jaykgewogCQljYXNlIDMzMDAwOiB2aWFfY2xvY2sgPSAzMzMzMzsgYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wcGMvcG1hYy5jIGIvZHJpdmVycy9pZGUvcHBjL3BtYWMuYwppbmRleCBiYTJkNTg3Li5kY2IyYzQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wcGMvcG1hYy5jCisrKyBiL2RyaXZlcnMvaWRlL3BwYy9wbWFjLmMKQEAgLTQ4MCwxMyArNDgwLDEzIEBACiAJCXBtYWNfaWRlX3NlbGVjdHByb2MoZHJpdmUpOwogfQogCi1zdGF0aWMgdm9pZAotcG1hY19vdXRic3luYyhpZGVfZHJpdmVfdCAqZHJpdmUsIHU4IHZhbHVlLCB1bnNpZ25lZCBsb25nIHBvcnQpCitzdGF0aWMgdm9pZCBwbWFjX291dGJzeW5jKGlkZV9od2lmX3QgKmh3aWYsIHU4IHZhbHVlLCB1bnNpZ25lZCBsb25nIHBvcnQpCiB7CiAJdTMyIHRtcDsKIAkKIAl3cml0ZWIodmFsdWUsICh2b2lkIF9faW9tZW0gKikgcG9ydCk7Ci0JdG1wID0gcmVhZGwoUE1BQ19JREVfUkVHKElERV9USU1JTkdfQ09ORklHKSk7CisJdG1wID0gcmVhZGwoKHZvaWQgX19pb21lbSAqKShod2lmLT5pb19wb3J0cy5kYXRhX2FkZHIKKwkJCQkgICAgICsgSURFX1RJTUlOR19DT05GSUcpKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3NldHVwLXBjaS5jIGIvZHJpdmVycy9pZGUvc2V0dXAtcGNpLmMKaW5kZXggNTE3MTYwMS4uYWJjZmIxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvc2V0dXAtcGNpLmMKKysrIGIvZHJpdmVycy9pZGUvc2V0dXAtcGNpLmMKQEAgLTg3LDcgKzg3LDcgQEAKIAl1bnNpZ25lZCBsb25nIGRtYV9iYXNlID0gMDsKIAl1OCBkbWFfc3RhdCA9IDA7CiAKLQlpZiAoaHdpZi0+bW1pbykKKwlpZiAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKQogCQlyZXR1cm4gaHdpZi0+ZG1hX2Jhc2U7CiAKIAlpZiAoaHdpZi0+bWF0ZSAmJiBod2lmLT5tYXRlLT5kbWFfYmFzZSkgewpAQCAtMzc0LDcgKzM3NCw3IEBACiAJCWlmIChiYXNlID09IDAgfHwgaWRlX3BjaV9zZXRfbWFzdGVyKGRldiwgZC0+bmFtZSkgPCAwKQogCQkJcmV0dXJuIC0xOwogCi0JCWlmIChod2lmLT5tbWlvKQorCQlpZiAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKQogCQkJcHJpbnRrKEtFUk5fSU5GTyAiICAgICVzOiBNTUlPLURNQVxuIiwgaHdpZi0+bmFtZSk7CiAJCWVsc2UKIAkJCXByaW50ayhLRVJOX0lORk8gIiAgICAlczogQk0tRE1BIGF0IDB4JTA0bHgtMHglMDRseFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvY3NyMTIxMi5jIGIvZHJpdmVycy9pZWVlMTM5NC9jc3IxMjEyLmMKaW5kZXggZTgxMjJkZS4uOWY5NTMzNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC9jc3IxMjEyLmMKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9jc3IxMjEyLmMKQEAgLTEwNDksNiArMTA0OSwyNCBAQAogCXJldHVybiAtRU5PRU5UOwogfQogCisvKgorICogQXBwYXJlbnRseSB0aGVyZSBhcmUgbWFueSBkaWZmZXJlbnQgd3JvbmcgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBDUkMKKyAqIGFsZ29yaXRobS4gIFdlIGRvbid0IGZhaWwsIHdlIGp1c3Qgd2Fybi4uLiBhcHByb3hpbWF0ZWx5IG9uY2UgcGVyIEdVSUQuCisgKi8KK3N0YXRpYyB2b2lkCitjc3IxMjEyX2NoZWNrX2NyYyhjb25zdCB1MzIgKmJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwgdTE2IGNyYywgX19iZTMyICpndWlkKQoreworCXN0YXRpYyB1NjQgbGFzdF9iYWRfZXVpNjQ7CisJdTY0IGV1aTY0ID0gKCh1NjQpYmUzMl90b19jcHUoZ3VpZFswXSkgPDwgMzIpIHwgYmUzMl90b19jcHUoZ3VpZFsxXSk7CisKKwlpZiAoY3NyMTIxMl9jcmMxNihidWZmZXIsIGxlbmd0aCkgPT0gY3JjIHx8CisJICAgIGNzcjEyMTJfbXNmdF9jcmMxNihidWZmZXIsIGxlbmd0aCkgPT0gY3JjIHx8CisJICAgIGV1aTY0ID09IGxhc3RfYmFkX2V1aTY0KQorCQlyZXR1cm47CisKKwlwcmludGsoS0VSTl9ERUJVRyAiaWVlZTEzOTQ6IGNvbmZpZyBST00gQ1JDIGVycm9yXG4iKTsKKwlsYXN0X2JhZF9ldWk2NCA9IGV1aTY0OworfQogCiAvKiBQYXJzZSBhIGNodW5rIG9mIGRhdGEgYXMgYSBDb25maWcgUk9NICovCiAKQEAgLTEwOTIsMTEgKzExMTAsOCBAQAogCQkJcmV0dXJuIHJldDsKIAl9CiAKLQkvKiBBcHBhcmVudGx5IHRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCB3cm9uZyBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIENSQwotCSAqIGFsZ29yaXRobS4gIFdlIGRvbid0IGZhaWwsIHdlIGp1c3Qgd2Fybi4gKi8KLQlpZiAoKGNzcjEyMTJfY3JjMTYoYmktPmRhdGEsIGJpLT5jcmNfbGVuZ3RoKSAhPSBiaS0+Y3JjKSAmJgotCSAgICAoY3NyMTIxMl9tc2Z0X2NyYzE2KGJpLT5kYXRhLCBiaS0+Y3JjX2xlbmd0aCkgIT0gYmktPmNyYykpCi0JCXByaW50ayhLRVJOX0RFQlVHICJJRUVFIDEzOTQgZGV2aWNlIGhhcyBST00gQ1JDIGVycm9yXG4iKTsKKwljc3IxMjEyX2NoZWNrX2NyYyhiaS0+ZGF0YSwgYmktPmNyY19sZW5ndGgsIGJpLT5jcmMsCisJCQkgICZjc3ItPmJ1c19pbmZvX2RhdGFbM10pOwogCiAJY3IgPSBDU1IxMjEyX01BTExPQyhzaXplb2YoKmNyKSk7CiAJaWYgKCFjcikKQEAgLTEyMDUsMTEgKzEyMjAsOCBAQAogCQkmY2FjaGUtPmRhdGFbYnl0ZXNfdG9fcXVhZHMoa3YtPm9mZnNldCAtIGNhY2hlLT5vZmZzZXQpXTsKIAlrdmlfbGVuID0gYmUxNl90b19jcHUoa3ZpLT5sZW5ndGgpOwogCi0JLyogQXBwYXJlbnRseSB0aGVyZSBhcmUgbWFueSBkaWZmZXJlbnQgd3JvbmcgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBDUkMKLQkgKiBhbGdvcml0aG0uICBXZSBkb24ndCBmYWlsLCB3ZSBqdXN0IHdhcm4uICovCi0JaWYgKChjc3IxMjEyX2NyYzE2KGt2aS0+ZGF0YSwga3ZpX2xlbikgIT0ga3ZpLT5jcmMpICYmCi0JICAgIChjc3IxMjEyX21zZnRfY3JjMTYoa3ZpLT5kYXRhLCBrdmlfbGVuKSAhPSBrdmktPmNyYykpCi0JCXByaW50ayhLRVJOX0RFQlVHICJJRUVFIDEzOTQgZGV2aWNlIGhhcyBST00gQ1JDIGVycm9yXG4iKTsKKwkvKiBHVUlEIGlzIHdyb25nIGluIGhlcmUgaW4gY2FzZSBvZiBleHRlbmRlZCBST00uICBXZSBkb24ndCBjYXJlLiAqLworCWNzcjEyMTJfY2hlY2tfY3JjKGt2aS0+ZGF0YSwga3ZpX2xlbiwga3ZpLT5jcmMsICZjYWNoZS0+ZGF0YVszXSk7CiAKIAlzd2l0Y2ggKGt2LT5rZXkudHlwZSkgewogCWNhc2UgQ1NSMTIxMl9LVl9UWVBFX0RJUkVDVE9SWToKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvZG1hLmMgYi9kcml2ZXJzL2llZWUxMzk0L2RtYS5jCmluZGV4IDczNjg1ZTcuLjFhYmE4YzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWVlZTEzOTQvZG1hLmMKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9kbWEuYwpAQCAtMjc0LDcgKzI3NCw3IEBACiAJdm1hLT52bV9vcHMgPSAmZG1hX3JlZ2lvbl92bV9vcHM7CiAJdm1hLT52bV9wcml2YXRlX2RhdGEgPSBkbWE7CiAJdm1hLT52bV9maWxlID0gZmlsZTsKLQl2bWEtPnZtX2ZsYWdzIHw9IFZNX1JFU0VSVkVEOworCXZtYS0+dm1fZmxhZ3MgfD0gVk1fUkVTRVJWRUQgfCBWTV9BTFdBWVNEVU1QOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5jIGIvZHJpdmVycy9pZWVlMTM5NC9oaWdobGV2ZWwuYwppbmRleCBmYTJiZmVjLi45MThmZmM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5jCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmMKQEAgLTIyOCwxMCArMjI4LDggQEAKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCisJaHBzYl9pbml0X2hpZ2hsZXZlbChobCk7CiAJSU5JVF9MSVNUX0hFQUQoJmhsLT5hZGRyX2xpc3QpOwotCUlOSVRfTElTVF9IRUFEKCZobC0+aG9zdF9pbmZvX2xpc3QpOwotCi0Jcndsb2NrX2luaXQoJmhsLT5ob3N0X2luZm9fbG9jayk7CiAKIAlkb3duX3dyaXRlKCZobF9kcml2ZXJzX3NlbSk7CiAJbGlzdF9hZGRfdGFpbCgmaGwtPmhsX2xpc3QsICZobF9kcml2ZXJzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmggYi9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5oCmluZGV4IGViOWZlMzIuLmJjNWQwODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmgKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9oaWdobGV2ZWwuaApAQCAtMiw3ICsyLDcgQEAKICNkZWZpbmUgSUVFRTEzOTRfSElHSExFVkVMX0gKIAogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KLSNpbmNsdWRlIDxsaW51eC9zcGlubG9ja190eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIAogc3RydWN0IG1vZHVsZTsKQEAgLTEwMyw2ICsxMDMsMTcgQEAKIHZvaWQgaGlnaGxldmVsX2ZjcF9yZXF1ZXN0KHN0cnVjdCBocHNiX2hvc3QgKmhvc3QsIGludCBub2RlaWQsIGludCBkaXJlY3Rpb24sCiAJCQkgICB2b2lkICpkYXRhLCBzaXplX3QgbGVuZ3RoKTsKIAorLyoqCisgKiBocHNiX2luaXRfaGlnaGxldmVsIC0gaW5pdGlhbGl6ZSBhIHN0cnVjdCBocHNiX2hpZ2hsZXZlbAorICoKKyAqIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgaWYgaHBzYl9nZXRfaG9zdGluZm9fYnlrZXkgY2FuIGJlIGNhbGxlZAorICogYmVmb3JlIGhwc2JfcmVnaXN0ZXJfaGlnaGxldmVsLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaHBzYl9pbml0X2hpZ2hsZXZlbChzdHJ1Y3QgaHBzYl9oaWdobGV2ZWwgKmhsKQoreworCXJ3bG9ja19pbml0KCZobC0+aG9zdF9pbmZvX2xvY2spOworCUlOSVRfTElTVF9IRUFEKCZobC0+aG9zdF9pbmZvX2xpc3QpOworfQogdm9pZCBocHNiX3JlZ2lzdGVyX2hpZ2hsZXZlbChzdHJ1Y3QgaHBzYl9oaWdobGV2ZWwgKmhsKTsKIHZvaWQgaHBzYl91bnJlZ2lzdGVyX2hpZ2hsZXZlbChzdHJ1Y3QgaHBzYl9oaWdobGV2ZWwgKmhsKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZWVlMTM5NC9yYXcxMzk0LmMgYi9kcml2ZXJzL2llZWUxMzk0L3JhdzEzOTQuYwppbmRleCBlYzJhMGFkLi45NmYyODQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L3JhdzEzOTQuYworKysgYi9kcml2ZXJzL2llZWUxMzk0L3JhdzEzOTQuYwpAQCAtMjU0OSw4ICsyNTQ5LDggQEAKIH0KIAogLyogaW9jdGwgaXMgb25seSB1c2VkIGZvciByYXdpc28gb3BlcmF0aW9ucyAqLwotc3RhdGljIGludCByYXcxMzk0X2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCQkJIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQorc3RhdGljIGxvbmcgZG9fcmF3MTM5NF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKKwkJCQkJCQl1bnNpZ25lZCBsb25nIGFyZykKIHsKIAlzdHJ1Y3QgZmlsZV9pbmZvICpmaSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKIAl2b2lkIF9fdXNlciAqYXJncCA9ICh2b2lkIF9fdXNlciAqKWFyZzsKQEAgLTI2NTYsNiArMjY1NiwxNiBAQAogCXJldHVybiAtRUlOVkFMOwogfQogCitzdGF0aWMgbG9uZyByYXcxMzk0X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAorCQkJCQkJCXVuc2lnbmVkIGxvbmcgYXJnKQoreworCWxvbmcgcmV0OworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gZG9fcmF3MTM5NF9pb2N0bChmaWxlLCBjbWQsIGFyZyk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CisKICNpZmRlZiBDT05GSUdfQ09NUEFUCiBzdHJ1Y3QgcmF3MTM5NF9pc29fcGFja2V0czMyIHsKICAgICAgICAgX191MzIgbl9wYWNrZXRzOwpAQCAtMjY5MCw3ICsyNzAwLDcgQEAKIAkgICAgIWNvcHlfZnJvbV91c2VyKCZpbmZvczMyLCAmYXJnLT5pbmZvcywgc2l6ZW9mIGluZm9zMzIpKSB7CiAJCWluZm9zID0gY29tcGF0X3B0cihpbmZvczMyKTsKIAkJaWYgKCFjb3B5X3RvX3VzZXIoJmRzdC0+aW5mb3MsICZpbmZvcywgc2l6ZW9mIGluZm9zKSkKLQkJCWVyciA9IHJhdzEzOTRfaW9jdGwoTlVMTCwgZmlsZSwgY21kLCAodW5zaWduZWQgbG9uZylkc3QpOworCQkJZXJyID0gZG9fcmF3MTM5NF9pb2N0bChmaWxlLCBjbWQsICh1bnNpZ25lZCBsb25nKWRzdCk7CiAJfQogCXJldHVybiBlcnI7CiB9CkBAIC0yNzMxLDcgKzI3NDEsNyBAQAogCWNhc2UgUkFXMTM5NF9JT0NfSVNPX0dFVF9TVEFUVVM6CiAJY2FzZSBSQVcxMzk0X0lPQ19JU09fU0hVVERPV046CiAJY2FzZSBSQVcxMzk0X0lPQ19JU09fUVVFVUVfQUNUSVZJVFk6Ci0JCWVyciA9IHJhdzEzOTRfaW9jdGwoTlVMTCwgZmlsZSwgY21kLCBhcmcpOworCQllcnIgPSBkb19yYXcxMzk0X2lvY3RsKGZpbGUsIGNtZCwgYXJnKTsKIAkJYnJlYWs7CiAJLyogVGhlc2UgcmVxdWVzdCBoYXZlIGRpZmZlcmVudCBmb3JtYXQuICovCiAJY2FzZSBSQVcxMzk0X0lPQ19JU09fUkVDVl9QQUNLRVRTMzI6CkBAIC0yOTg0LDcgKzI5OTQsNyBAQAogCS5yZWFkID0gcmF3MTM5NF9yZWFkLAogCS53cml0ZSA9IHJhdzEzOTRfd3JpdGUsCiAJLm1tYXAgPSByYXcxMzk0X21tYXAsCi0JLmlvY3RsID0gcmF3MTM5NF9pb2N0bCwKKwkudW5sb2NrZWRfaW9jdGwgPSByYXcxMzk0X2lvY3RsLAogI2lmZGVmIENPTkZJR19DT01QQVQKIAkuY29tcGF0X2lvY3RsID0gcmF3MTM5NF9jb21wYXRfaW9jdGwsCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvc2JwMi5jIGIvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmMKaW5kZXggYTVjZWZmMi4uOWNiZjMxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmMKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmMKQEAgLTE4Niw2ICsxODYsMTEgQEAKICAqIC0gZGVsYXkgaW5xdWlyeQogICogICBXYWl0IGV4dHJhIFNCUDJfSU5RVUlSWV9ERUxBWSBzZWNvbmRzIGFmdGVyIGxvZ2luIGJlZm9yZSBTQ1NJIGlucXVpcnkuCiAgKgorICogLSBwb3dlciBjb25kaXRpb24KKyAqICAgU2V0IHRoZSBwb3dlciBjb25kaXRpb24gZmllbGQgaW4gdGhlIFNUQVJUIFNUT1AgVU5JVCBjb21tYW5kcyBzZW50IGJ5CisgKiAgIHNkX21vZCBvbiBzdXNwZW5kLCByZXN1bWUsIGFuZCBzaHV0ZG93biAoaWYgbWFuYWdlX3N0YXJ0X3N0b3AgaXMgb24pLgorICogICBTb21lIGRpc2tzIG5lZWQgdGhpcyB0byBzcGluIGRvd24gb3IgdG8gcmVzdW1lIHByb3Blcmx5LgorICoKICAqIC0gb3ZlcnJpZGUgaW50ZXJuYWwgYmxhY2tsaXN0CiAgKiAgIEluc3RlYWQgb2YgYWRkaW5nIHRvIHRoZSBidWlsdC1pbiBibGFja2xpc3QsIHVzZSBvbmx5IHRoZSB3b3JrYXJvdW5kcwogICogICBzcGVjaWZpZWQgaW4gdGhlIG1vZHVsZSBsb2FkIHBhcmFtZXRlci4KQEAgLTE5OSw2ICsyMDQsOCBAQAogCSIsIHNraXAgbW9kZSBwYWdlIDggPSAiICAgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX01PREVfU0VOU0VfOCkKIAkiLCBmaXggY2FwYWNpdHkgPSAiICAgICAgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9GSVhfQ0FQQUNJVFkpCiAJIiwgZGVsYXkgaW5xdWlyeSA9ICIgICAgICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWSkKKwkiLCBzZXQgcG93ZXIgY29uZGl0aW9uIGluIHN0YXJ0IHN0b3AgdW5pdCA9ICIKKwkJCQkgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04pCiAJIiwgb3ZlcnJpZGUgaW50ZXJuYWwgYmxhY2tsaXN0ID0gIiBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfT1ZFUlJJREUpCiAJIiwgb3IgYSBjb21iaW5hdGlvbikiKTsKIApAQCAtMzU5LDE4ICszNjYsMjUgQEAKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMDI4MDAsCiAJCS5tb2RlbF9pZAkJPSAweDAwMTAxMCwKIAkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9JTlFVSVJZXzM2IHwKLQkJCQkJICBTQlAyX1dPUktBUk9VTkRfTU9ERV9TRU5TRV84LAorCQkJCQkgIFNCUDJfV09SS0FST1VORF9NT0RFX1NFTlNFXzggfAorCQkJCQkgIFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04sCiAJfSwKIAkvKiBEVmlDTyBNb21vYmF5IEZYLTNBIHdpdGggVFNCNDJBQTlBIGJyaWRnZSAqLyB7CiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDAyODAwLAogCQkubW9kZWxfaWQJCT0gMHgwMDAwMDAsCi0JCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWSwKKwkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9ERUxBWV9JTlFVSVJZIHwKKwkJCQkJICBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OLAogCX0sCiAJLyogSW5pdGlvIGJyaWRnZXMsIGFjdHVhbGx5IG9ubHkgbmVlZGVkIGZvciBzb21lIG9sZGVyIG9uZXMgKi8gewogCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweDAwMDIwMCwKIAkJLm1vZGVsX2lkCQk9IFNCUDJfUk9NX1ZBTFVFX1dJTERDQVJELAogCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX0lOUVVJUllfMzYsCiAJfSwKKwkvKiBQTC0zNTA3IGJyaWRnZSB3aXRoIFByb2xpZmljIGZpcm13YXJlICovIHsKKwkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMTI4MDAsCisJCS5tb2RlbF9pZAkJPSBTQlAyX1JPTV9WQUxVRV9XSUxEQ0FSRCwKKwkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04sCisJfSwKIAkvKiBTeW1iaW9zIGJyaWRnZSAqLyB7CiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4YTBiODAwLAogCQkubW9kZWxfaWQJCT0gU0JQMl9ST01fVkFMVUVfV0lMRENBUkQsCkBAIC0xOTk1LDYgKzIwMDksOCBAQAogCiAJc2Rldi0+dXNlXzEwX2Zvcl9ydyA9IDE7CiAKKwlpZiAoc2JwMl9leGNsdXNpdmVfbG9naW4pCisJCXNkZXYtPm1hbmFnZV9zdGFydF9zdG9wID0gMTsKIAlpZiAoc2Rldi0+dHlwZSA9PSBUWVBFX1JPTSkKIAkJc2Rldi0+dXNlXzEwX2Zvcl9tcyA9IDE7CiAJaWYgKHNkZXYtPnR5cGUgPT0gVFlQRV9ESVNLICYmCkBAIC0yMDAyLDYgKzIwMTgsOCBAQAogCQlzZGV2LT5za2lwX21zX3BhZ2VfOCA9IDE7CiAJaWYgKGx1LT53b3JrYXJvdW5kcyAmIFNCUDJfV09SS0FST1VORF9GSVhfQ0FQQUNJVFkpCiAJCXNkZXYtPmZpeF9jYXBhY2l0eSA9IDE7CisJaWYgKGx1LT53b3JrYXJvdW5kcyAmIFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04pCisJCXNkZXYtPnN0YXJ0X3N0b3BfcHdyX2NvbmQgPSAxOwogCWlmIChsdS0+d29ya2Fyb3VuZHMgJiBTQlAyX1dPUktBUk9VTkRfMTI4S19NQVhfVFJBTlMpCiAJCWJsa19xdWV1ZV9tYXhfc2VjdG9ycyhzZGV2LT5yZXF1ZXN0X3F1ZXVlLCAxMjggKiAxMDI0IC8gNTEyKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvc2JwMi5oIGIvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmgKaW5kZXggODBkOGUwOS4uODc1NDI4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmgKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmgKQEAgLTM0NSw2ICszNDUsNyBAQAogI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfRklYX0NBUEFDSVRZCTB4OAogI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWQkweDEwCiAjZGVmaW5lIFNCUDJfSU5RVUlSWV9ERUxBWQkJMTIKKyNkZWZpbmUgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTgkweDIwCiAjZGVmaW5lIFNCUDJfV09SS0FST1VORF9PVkVSUklERQkweDEwMAogCiAjZW5kaWYgLyogU0JQMl9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L3ZpZGVvMTM5NC5jIGIvZHJpdmVycy9pZWVlMTM5NC92aWRlbzEzOTQuYwppbmRleCBlMjQ3NzJkLi4wNjliOWY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L3ZpZGVvMTM5NC5jCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvdmlkZW8xMzk0LmMKQEAgLTE1MDMsNiArMTUwMyw4IEBACiB7CiAJaW50IHJldDsKIAorCWhwc2JfaW5pdF9oaWdobGV2ZWwoJnZpZGVvMTM5NF9oaWdobGV2ZWwpOworCiAJY2Rldl9pbml0KCZ2aWRlbzEzOTRfY2RldiwgJnZpZGVvMTM5NF9mb3BzKTsKIAl2aWRlbzEzOTRfY2Rldi5vd25lciA9IFRISVNfTU9EVUxFOwogCXJldCA9IGNkZXZfYWRkKCZ2aWRlbzEzOTRfY2RldiwgSUVFRTEzOTRfVklERU8xMzk0X0RFViwgMTYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jCmluZGV4IDc4MWVhNTkuLjA5YTJiZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FkZHIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZGRyLmMKQEAgLTQsMjggKzQsMzMgQEAKICAqIENvcHlyaWdodCAoYykgMTk5OS0yMDA1LCBNZWxsYW5veCBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwNSBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlczoKKyAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCisgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiwgYXZhaWxhYmxlIGZyb20gdGhlIGZpbGUKKyAqIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUsIG9yIHRoZQorICogT3BlbklCLm9yZyBCU0QgbGljZW5zZSBiZWxvdzoKICAqCi0gKiAxKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJDb21tb24gUHVibGljIExpY2Vuc2UgMS4wIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsLnBocC4KKyAqICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yCisgKiAgICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nCisgKiAgICAgY29uZGl0aW9ucyBhcmUgbWV0OgogICoKLSAqIDIpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIlRoZSBCU0QgTGljZW5zZSIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyLgogICoKLSAqIDMpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiIgYQotICogICAgY29weSBvZiB3aGljaCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgICAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogTGljZW5zZWUgaGFzIHRoZSByaWdodCB0byBjaG9vc2Ugb25lIG9mIHRoZSBhYm92ZSBsaWNlbnNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlIGFuZCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYm90aCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAorICogTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUworICogQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOCisgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQorICogU09GVFdBUkUuCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CkBAIC0xMDAsNiArMTA1LDcgQEAKIAltZW1jcHkoZGV2X2FkZHItPmJyb2FkY2FzdCwgZGV2LT5icm9hZGNhc3QsIE1BWF9BRERSX0xFTik7CiAJaWYgKGRzdF9kZXZfYWRkcikKIAkJbWVtY3B5KGRldl9hZGRyLT5kc3RfZGV2X2FkZHIsIGRzdF9kZXZfYWRkciwgTUFYX0FERFJfTEVOKTsKKwlkZXZfYWRkci0+c3JjX2RldiA9IGRldjsKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wocmRtYV9jb3B5X2FkZHIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWdlbnQuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FnZW50LmgKaW5kZXggZmI5ZWQxNC4uNjY2OTI4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWdlbnQuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZ2VudC5oCkBAIC0zMiw4ICszMiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBhZ2VudC5oIDEzODkgMjAwNC0xMi0yNyAyMjo1Njo0N1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIF9fQUdFTlRfSF8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NhY2hlLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jYWNoZS5jCmluZGV4IGU4NWY3MDEuLjY4ODgzNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NhY2hlLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY2FjaGUuYwpAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogY2FjaGUuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY20uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtLmMKaW5kZXggYTQ3ZmU2NC4uNTU3MzhlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY20uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jbS5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBjbS5jIDQzMTEgMjAwNS0xMi0wNSAxODo0MjowMVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtYS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY21hLmMKaW5kZXggNjcxZjEzNy4uYWUxMWQ1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY21hLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY21hLmMKQEAgLTQsMjkgKzQsMzMgQEAKICAqIENvcHlyaWdodCAoYykgMTk5OS0yMDA1LCBNZWxsYW5veCBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwNS0yMDA2IEludGVsIENvcnBvcmF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBUaGlzIFNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpY2Vuc2VzOgorICogVGhpcyBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgdG8geW91IHVuZGVyIGEgY2hvaWNlIG9mIG9uZSBvZiB0d28KKyAqIGxpY2Vuc2VzLiAgWW91IG1heSBjaG9vc2UgdG8gYmUgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgVmVyc2lvbiAyLCBhdmFpbGFibGUgZnJvbSB0aGUgZmlsZQorICogQ09QWUlORyBpbiB0aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZSwgb3IgdGhlCisgKiBPcGVuSUIub3JnIEJTRCBsaWNlbnNlIGJlbG93OgogICoKLSAqIDEpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkNvbW1vbiBQdWJsaWMgTGljZW5zZSAxLjAiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9jcGwucGhwLgorICogICAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3IKKyAqICAgICB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcKKyAqICAgICBjb25kaXRpb25zIGFyZSBtZXQ6CiAgKgotICogMikgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiVGhlIEJTRCBMaWNlbnNlIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwLgorICogICAgICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgIGRpc2NsYWltZXIuCiAgKgotICogMykgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgVmVyc2lvbiAyIiBhCi0gKiAgICBjb3B5IG9mIHdoaWNoIGlzIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvZ3BsLWxpY2Vuc2UucGhwLgorICogICAgICAtIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqCi0gKiBMaWNlbnNlZSBoYXMgdGhlIHJpZ2h0IHRvIGNob29zZSBvbmUgb2YgdGhlIGFib3ZlIGxpY2Vuc2VzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UgYW5kIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSBib3RoIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMgaW4gdGhlIGRvY3VtZW50YXRpb24KLSAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAorICogTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUworICogQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOCisgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQorICogU09GVFdBUkUuCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KQEAgLTEyNiw4ICsxMzAsNyBAQAogCiAJc3RydWN0IGNvbXBsZXRpb24JY29tcDsKIAlhdG9taWNfdAkJcmVmY291bnQ7Ci0Jd2FpdF9xdWV1ZV9oZWFkX3QJd2FpdF9yZW1vdmU7Ci0JYXRvbWljX3QJCWRldl9yZW1vdmU7CisJc3RydWN0IG11dGV4CQloYW5kbGVyX211dGV4OwogCiAJaW50CQkJYmFja2xvZzsKIAlpbnQJCQl0aW1lb3V0X21zOwpAQCAtMzUxLDI2ICszNTQsMTUgQEAKIAkJY29tcGxldGUoJmlkX3ByaXYtPmNvbXApOwogfQogCi1zdGF0aWMgaW50IGNtYV9kaXNhYmxlX3JlbW92ZShzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2LAorc3RhdGljIGludCBjbWFfZGlzYWJsZV9jYWxsYmFjayhzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2LAogCQkJICAgICAgZW51bSBjbWFfc3RhdGUgc3RhdGUpCiB7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgcmV0OwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmlkX3ByaXYtPmxvY2ssIGZsYWdzKTsKLQlpZiAoaWRfcHJpdi0+c3RhdGUgPT0gc3RhdGUpIHsKLQkJYXRvbWljX2luYygmaWRfcHJpdi0+ZGV2X3JlbW92ZSk7Ci0JCXJldCA9IDA7Ci0JfSBlbHNlCi0JCXJldCA9IC1FSU5WQUw7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWRfcHJpdi0+bG9jaywgZmxhZ3MpOwotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyB2b2lkIGNtYV9lbmFibGVfcmVtb3ZlKHN0cnVjdCByZG1hX2lkX3ByaXZhdGUgKmlkX3ByaXYpCi17Ci0JaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmlkX3ByaXYtPmRldl9yZW1vdmUpKQotCQl3YWtlX3VwKCZpZF9wcml2LT53YWl0X3JlbW92ZSk7CisJbXV0ZXhfbG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CisJaWYgKGlkX3ByaXYtPnN0YXRlICE9IHN0YXRlKSB7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBjbWFfaGFzX2NtX2RldihzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2KQpAQCAtMzk1LDggKzM4Nyw3IEBACiAJbXV0ZXhfaW5pdCgmaWRfcHJpdi0+cXBfbXV0ZXgpOwogCWluaXRfY29tcGxldGlvbigmaWRfcHJpdi0+Y29tcCk7CiAJYXRvbWljX3NldCgmaWRfcHJpdi0+cmVmY291bnQsIDEpOwotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmlkX3ByaXYtPndhaXRfcmVtb3ZlKTsKLQlhdG9taWNfc2V0KCZpZF9wcml2LT5kZXZfcmVtb3ZlLCAwKTsKKwltdXRleF9pbml0KCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlJTklUX0xJU1RfSEVBRCgmaWRfcHJpdi0+bGlzdGVuX2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZpZF9wcml2LT5tY19saXN0KTsKIAlnZXRfcmFuZG9tX2J5dGVzKCZpZF9wcml2LT5zZXFfbnVtLCBzaXplb2YgaWRfcHJpdi0+c2VxX251bSk7CkBAIC05MjMsNyArOTE0LDcgQEAKIAlzdHJ1Y3QgcmRtYV9jbV9ldmVudCBldmVudDsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQ09OTkVDVCkpCiAJCXJldHVybiAwOwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKQEAgLTk3MCw3ICs5NjEsNyBAQAogCQlldmVudC5wYXJhbS5jb25uLnByaXZhdGVfZGF0YV9sZW4gPSBJQl9DTV9SRUpfUFJJVkFURV9EQVRBX1NJWkU7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX0VSUiAiUkRNQSBDTUE6IHVuZXhwZWN0ZWQgSUIgQ00gZXZlbnQ6ICVkIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJSRE1BIENNQTogdW5leHBlY3RlZCBJQiBDTSBldmVudDogJWRcbiIsCiAJCSAgICAgICBpYl9ldmVudC0+ZXZlbnQpOwogCQlnb3RvIG91dDsKIAl9CkBAIC05ODAsMTIgKzk3MSwxMiBAQAogCQkvKiBEZXN0cm95IHRoZSBDTSBJRCBieSByZXR1cm5pbmcgYSBub24temVybyB2YWx1ZS4gKi8KIAkJaWRfcHJpdi0+Y21faWQuaWIgPSBOVUxMOwogCQljbWFfZXhjaChpZF9wcml2LCBDTUFfREVTVFJPWUlORyk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCQltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQoJmlkX3ByaXYtPmlkKTsKIAkJcmV0dXJuIHJldDsKIAl9CiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC05OTgsNiArOTg5LDcgQEAKIAl1bmlvbiBjbWFfaXBfYWRkciAqc3JjLCAqZHN0OwogCV9fYmUxNiBwb3J0OwogCXU4IGlwX3ZlcjsKKwlpbnQgcmV0OwogCiAJaWYgKGNtYV9nZXRfbmV0X2luZm8oaWJfZXZlbnQtPnByaXZhdGVfZGF0YSwgbGlzdGVuX2lkLT5wcywKIAkJCSAgICAgJmlwX3ZlciwgJnBvcnQsICZzcmMsICZkc3QpKQpAQCAtMTAyMiwxMCArMTAxNCwxMSBAQAogCWlmIChydC0+bnVtX3BhdGhzID09IDIpCiAJCXJ0LT5wYXRoX3JlY1sxXSA9ICppYl9ldmVudC0+cGFyYW0ucmVxX3JjdmQuYWx0ZXJuYXRlX3BhdGg7CiAKLQlpYl9hZGRyX3NldF9zZ2lkKCZydC0+YWRkci5kZXZfYWRkciwgJnJ0LT5wYXRoX3JlY1swXS5zZ2lkKTsKIAlpYl9hZGRyX3NldF9kZ2lkKCZydC0+YWRkci5kZXZfYWRkciwgJnJ0LT5wYXRoX3JlY1swXS5kZ2lkKTsKLQlpYl9hZGRyX3NldF9wa2V5KCZydC0+YWRkci5kZXZfYWRkciwgYmUxNl90b19jcHUocnQtPnBhdGhfcmVjWzBdLnBrZXkpKTsKLQlydC0+YWRkci5kZXZfYWRkci5kZXZfdHlwZSA9IFJETUFfTk9ERV9JQl9DQTsKKwlyZXQgPSByZG1hX3RyYW5zbGF0ZV9pcCgmaWQtPnJvdXRlLmFkZHIuc3JjX2FkZHIsCisJCQkJJmlkLT5yb3V0ZS5hZGRyLmRldl9hZGRyKTsKKwlpZiAocmV0KQorCQlnb3RvIGRlc3Ryb3lfaWQ7CiAKIAlpZF9wcml2ID0gY29udGFpbmVyX29mKGlkLCBzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlLCBpZCk7CiAJaWRfcHJpdi0+c3RhdGUgPSBDTUFfQ09OTkVDVDsKQEAgLTEwOTUsNyArMTA4OCw3IEBACiAJaW50IG9mZnNldCwgcmV0OwogCiAJbGlzdGVuX2lkID0gY21faWQtPmNvbnRleHQ7Ci0JaWYgKGNtYV9kaXNhYmxlX3JlbW92ZShsaXN0ZW5faWQsIENNQV9MSVNURU4pKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhsaXN0ZW5faWQsIENNQV9MSVNURU4pKQogCQlyZXR1cm4gLUVDT05OQUJPUlRFRDsKIAogCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZiBldmVudCk7CkBAIC0xMTE2LDcgKzExMDksNyBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlhdG9taWNfaW5jKCZjb25uX2lkLT5kZXZfcmVtb3ZlKTsKKwltdXRleF9sb2NrX25lc3RlZCgmY29ubl9pZC0+aGFuZGxlcl9tdXRleCwgU0lOR0xFX0RFUFRIX05FU1RJTkcpOwogCW11dGV4X2xvY2soJmxvY2spOwogCXJldCA9IGNtYV9hY3F1aXJlX2Rldihjb25uX2lkKTsKIAltdXRleF91bmxvY2soJmxvY2spOwpAQCAtMTEzOCw3ICsxMTMxLDcgQEAKIAkJICAgICFjbWFfaXNfdWRfcHMoY29ubl9pZC0+aWQucHMpKQogCQkJaWJfc2VuZF9jbV9tcmEoY21faWQsIENNQV9DTV9NUkFfU0VUVElORywgTlVMTCwgMCk7CiAJCW11dGV4X3VubG9jaygmbG9jayk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGNvbm5faWQpOworCQltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCQlnb3RvIG91dDsKIAl9CiAKQEAgLTExNDcsMTEgKzExNDAsMTEgQEAKIAogcmVsZWFzZV9jb25uX2lkOgogCWNtYV9leGNoKGNvbm5faWQsIENNQV9ERVNUUk9ZSU5HKTsKLQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCXJkbWFfZGVzdHJveV9pZCgmY29ubl9pZC0+aWQpOwogCiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUobGlzdGVuX2lkKTsKKwltdXRleF91bmxvY2soJmxpc3Rlbl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTIxNyw3ICsxMjEwLDcgQEAKIAlzdHJ1Y3Qgc29ja2FkZHJfaW4gKnNpbjsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQ09OTkVDVCkpCiAJCXJldHVybiAwOwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKQEAgLTEyNjEsMTIgKzEyNTQsMTIgQEAKIAkJLyogRGVzdHJveSB0aGUgQ00gSUQgYnkgcmV0dXJuaW5nIGEgbm9uLXplcm8gdmFsdWUuICovCiAJCWlkX3ByaXYtPmNtX2lkLml3ID0gTlVMTDsKIAkJY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFU1RST1lJTkcpOwotCQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwkJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKCZpZF9wcml2LT5pZCk7CiAJCXJldHVybiByZXQ7CiAJfQogCi0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xMjgyLDcgKzEyNzUsNyBAQAogCXN0cnVjdCBpYl9kZXZpY2VfYXR0ciBhdHRyOwogCiAJbGlzdGVuX2lkID0gY21faWQtPmNvbnRleHQ7Ci0JaWYgKGNtYV9kaXNhYmxlX3JlbW92ZShsaXN0ZW5faWQsIENNQV9MSVNURU4pKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhsaXN0ZW5faWQsIENNQV9MSVNURU4pKQogCQlyZXR1cm4gLUVDT05OQUJPUlRFRDsKIAogCS8qIENyZWF0ZSBhIG5ldyBSRE1BIGlkIGZvciB0aGUgbmV3IElXIENNIElEICovCkBAIC0xMjk0LDE5ICsxMjg3LDE5IEBACiAJCWdvdG8gb3V0OwogCX0KIAljb25uX2lkID0gY29udGFpbmVyX29mKG5ld19jbV9pZCwgc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSwgaWQpOwotCWF0b21pY19pbmMoJmNvbm5faWQtPmRldl9yZW1vdmUpOworCW11dGV4X2xvY2tfbmVzdGVkKCZjb25uX2lkLT5oYW5kbGVyX211dGV4LCBTSU5HTEVfREVQVEhfTkVTVElORyk7CiAJY29ubl9pZC0+c3RhdGUgPSBDTUFfQ09OTkVDVDsKIAogCWRldiA9IGlwX2Rldl9maW5kKCZpbml0X25ldCwgaXdfZXZlbnQtPmxvY2FsX2FkZHIuc2luX2FkZHIuc19hZGRyKTsKIAlpZiAoIWRldikgewogCQlyZXQgPSAtRUFERFJOT1RBVkFJTDsKLQkJY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZChuZXdfY21faWQpOwogCQlnb3RvIG91dDsKIAl9CiAJcmV0ID0gcmRtYV9jb3B5X2FkZHIoJmNvbm5faWQtPmlkLnJvdXRlLmFkZHIuZGV2X2FkZHIsIGRldiwgTlVMTCk7CiAJaWYgKHJldCkgewotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKG5ld19jbV9pZCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEzMTUsNyArMTMwOCw3IEBACiAJcmV0ID0gY21hX2FjcXVpcmVfZGV2KGNvbm5faWQpOwogCW11dGV4X3VubG9jaygmbG9jayk7CiAJaWYgKHJldCkgewotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKG5ld19jbV9pZCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEzMzEsNyArMTMyNCw3IEBACiAKIAlyZXQgPSBpYl9xdWVyeV9kZXZpY2UoY29ubl9pZC0+aWQuZGV2aWNlLCAmYXR0cik7CiAJaWYgKHJldCkgewotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKG5ld19jbV9pZCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEzNDcsMTQgKzEzNDAsMTcgQEAKIAkJLyogVXNlciB3YW50cyB0byBkZXN0cm95IHRoZSBDTSBJRCAqLwogCQljb25uX2lkLT5jbV9pZC5pdyA9IE5VTEw7CiAJCWNtYV9leGNoKGNvbm5faWQsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmY29ubl9pZC0+aWQpOworCQlnb3RvIG91dDsKIAl9CiAKKwltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOworCiBvdXQ6CiAJaWYgKGRldikKIAkJZGV2X3B1dChkZXYpOwotCWNtYV9lbmFibGVfcmVtb3ZlKGxpc3Rlbl9pZCk7CisJbXV0ZXhfdW5sb2NrKCZsaXN0ZW5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTE0NDYsNyArMTQ0Miw3IEBACiAJcmV0ID0gcmRtYV9saXN0ZW4oaWQsIGlkX3ByaXYtPmJhY2tsb2cpOwogCWlmIChyZXQpCiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJETUEgQ01BOiBjbWFfbGlzdGVuX29uX2RldiwgZXJyb3IgJWQsICIKLQkJICAgICAgICJsaXN0ZW5pbmcgb24gZGV2aWNlICVzIiwgcmV0LCBjbWFfZGV2LT5kZXZpY2UtPm5hbWUpOworCQkgICAgICAgImxpc3RlbmluZyBvbiBkZXZpY2UgJXNcbiIsIHJldCwgY21hX2Rldi0+ZGV2aWNlLT5uYW1lKTsKIH0KIAogc3RhdGljIHZvaWQgY21hX2xpc3Rlbl9vbl9hbGwoc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSAqaWRfcHJpdikKQEAgLTE1ODYsNyArMTU4Miw3IEBACiAJc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSAqaWRfcHJpdiA9IHdvcmstPmlkOwogCWludCBkZXN0cm95ID0gMDsKIAotCWF0b21pY19pbmMoJmlkX3ByaXYtPmRldl9yZW1vdmUpOworCW11dGV4X2xvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCWlmICghY21hX2NvbXBfZXhjaChpZF9wcml2LCB3b3JrLT5vbGRfc3RhdGUsIHdvcmstPm5ld19zdGF0ZSkpCiAJCWdvdG8gb3V0OwogCkBAIC0xNTk1LDcgKzE1OTEsNyBAQAogCQlkZXN0cm95ID0gMTsKIAl9CiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAljbWFfZGVyZWZfaWQoaWRfcHJpdik7CiAJaWYgKGRlc3Ryb3kpCiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwpAQCAtMTc1OCw3ICsxNzU0LDcgQEAKIAlzdHJ1Y3QgcmRtYV9jbV9ldmVudCBldmVudDsKIAogCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZiBldmVudCk7Ci0JYXRvbWljX2luYygmaWRfcHJpdi0+ZGV2X3JlbW92ZSk7CisJbXV0ZXhfbG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAKIAkvKgogCSAqIEdyYWIgbXV0ZXggdG8gYmxvY2sgcmRtYV9kZXN0cm95X2lkKCkgZnJvbSByZW1vdmluZyB0aGUgZGV2aWNlIHdoaWxlCkBAIC0xNzg3LDEzICsxNzgzLDEzIEBACiAKIAlpZiAoaWRfcHJpdi0+aWQuZXZlbnRfaGFuZGxlcigmaWRfcHJpdi0+aWQsICZldmVudCkpIHsKIAkJY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFU1RST1lJTkcpOwotCQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwkJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAkJY21hX2RlcmVmX2lkKGlkX3ByaXYpOwogCQlyZG1hX2Rlc3Ryb3lfaWQoJmlkX3ByaXYtPmlkKTsKIAkJcmV0dXJuOwogCX0KIG91dDoKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCWNtYV9kZXJlZl9pZChpZF9wcml2KTsKIH0KIApAQCAtMjEyMCw3ICsyMTE2LDcgQEAKIAlzdHJ1Y3QgaWJfY21fc2lkcl9yZXBfZXZlbnRfcGFyYW0gKnJlcCA9ICZpYl9ldmVudC0+cGFyYW0uc2lkcl9yZXBfcmN2ZDsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQ09OTkVDVCkpCiAJCXJldHVybiAwOwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKQEAgLTIxNTEsNyArMjE0Nyw3IEBACiAJCWV2ZW50LnN0YXR1cyA9IDA7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX0VSUiAiUkRNQSBDTUE6IHVuZXhwZWN0ZWQgSUIgQ00gZXZlbnQ6ICVkIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJSRE1BIENNQTogdW5leHBlY3RlZCBJQiBDTSBldmVudDogJWRcbiIsCiAJCSAgICAgICBpYl9ldmVudC0+ZXZlbnQpOwogCQlnb3RvIG91dDsKIAl9CkBAIC0yMTYxLDEyICsyMTU3LDEyIEBACiAJCS8qIERlc3Ryb3kgdGhlIENNIElEIGJ5IHJldHVybmluZyBhIG5vbi16ZXJvIHZhbHVlLiAqLwogCQlpZF9wcml2LT5jbV9pZC5pYiA9IE5VTEw7CiAJCWNtYV9leGNoKGlkX3ByaXYsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwogCQlyZXR1cm4gcmV0OwogCX0KIG91dDoKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTI1NjQsOCArMjU2MCw4IEBACiAJaW50IHJldDsKIAogCWlkX3ByaXYgPSBtYy0+aWRfcHJpdjsKLQlpZiAoY21hX2Rpc2FibGVfcmVtb3ZlKGlkX3ByaXYsIENNQV9BRERSX0JPVU5EKSAmJgotCSAgICBjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0FERFJfUkVTT0xWRUQpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQUREUl9CT1VORCkgJiYKKwkgICAgY21hX2Rpc2FibGVfY2FsbGJhY2soaWRfcHJpdiwgQ01BX0FERFJfUkVTT0xWRUQpKQogCQlyZXR1cm4gMDsKIAogCW11dGV4X2xvY2soJmlkX3ByaXYtPnFwX211dGV4KTsKQEAgLTI1OTAsMTIgKzI1ODYsMTIgQEAKIAlyZXQgPSBpZF9wcml2LT5pZC5ldmVudF9oYW5kbGVyKCZpZF9wcml2LT5pZCwgJmV2ZW50KTsKIAlpZiAocmV0KSB7CiAJCWNtYV9leGNoKGlkX3ByaXYsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwogCQlyZXR1cm4gMDsKIAl9CiAKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiAwOwogfQogCkBAIC0yNzU0LDYgKzI3NTAsNyBAQAogewogCXN0cnVjdCByZG1hX2NtX2V2ZW50IGV2ZW50OwogCWVudW0gY21hX3N0YXRlIHN0YXRlOworCWludCByZXQgPSAwOwogCiAJLyogUmVjb3JkIHRoYXQgd2Ugd2FudCB0byByZW1vdmUgdGhlIGRldmljZSAqLwogCXN0YXRlID0gY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFVklDRV9SRU1PVkFMKTsKQEAgLTI3NjEsMTUgKzI3NTgsMTggQEAKIAkJcmV0dXJuIDA7CiAKIAljbWFfY2FuY2VsX29wZXJhdGlvbihpZF9wcml2LCBzdGF0ZSk7Ci0Jd2FpdF9ldmVudChpZF9wcml2LT53YWl0X3JlbW92ZSwgIWF0b21pY19yZWFkKCZpZF9wcml2LT5kZXZfcmVtb3ZlKSk7CisJbXV0ZXhfbG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAKIAkvKiBDaGVjayBmb3IgZGVzdHJ1Y3Rpb24gZnJvbSBhbm90aGVyIGNhbGxiYWNrLiAqLwogCWlmICghY21hX2NvbXAoaWRfcHJpdiwgQ01BX0RFVklDRV9SRU1PVkFMKSkKLQkJcmV0dXJuIDA7CisJCWdvdG8gb3V0OwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKIAlldmVudC5ldmVudCA9IFJETUFfQ01fRVZFTlRfREVWSUNFX1JFTU9WQUw7Ci0JcmV0dXJuIGlkX3ByaXYtPmlkLmV2ZW50X2hhbmRsZXIoJmlkX3ByaXYtPmlkLCAmZXZlbnQpOworCXJldCA9IGlkX3ByaXYtPmlkLmV2ZW50X2hhbmRsZXIoJmlkX3ByaXYtPmlkLCAmZXZlbnQpOworb3V0OgorCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgY21hX3Byb2Nlc3NfcmVtb3ZlKHN0cnVjdCBjbWFfZGV2aWNlICpjbWFfZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY29yZV9wcml2LmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jb3JlX3ByaXYuaAppbmRleCA3YWQ0N2E0Li4wNWFjMzZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jb3JlX3ByaXYuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jb3JlX3ByaXYuaApAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogY29yZV9wcml2LmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgX0NPUkVfUFJJVl9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9kZXZpY2UuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2RldmljZS5jCmluZGV4IDVhYzVmZmUuLjc5MTNiODAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2RldmljZS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2RldmljZS5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBkZXZpY2UuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZm1yX3Bvb2wuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2Ztcl9wb29sLmMKaW5kZXggMTI4NmRjMS4uNDUwNzA0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZm1yX3Bvb2wuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9mbXJfcG9vbC5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBmbXJfcG9vbC5jIDI3MzAgMjAwNS0wNi0yOCAxNjo0MzowM1ogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcHJpdi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3ByaXYuaAppbmRleCA4Yjc1MDEwLi4wNWNlMzMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcHJpdi5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9wcml2LmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG1hZF9wcml2LmggNTU5NiAyMDA2LTAzLTAzIDAxOjAwOjA3WiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaWZuZGVmIF9fSUJfTUFEX1BSSVZfSF9fCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuYwppbmRleCBhNWUyYTMxLi5kMGVmN2Q2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG1hZF9ybXBwLmMgMTkyMSAyMDA1LTAzLTAyIDIyOjU4OjQ0WiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaW5jbHVkZSAibWFkX3ByaXYuaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5oCmluZGV4IGYwNjE2ZmQuLjNkMzM2YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuaApAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbWFkX3JtcHAuaCAxOTIxIDIwMDUtMDItMjUgMjI6NTg6NDRaIHNlYW4uaGVmdHkgJAogICovCiAKICNpZm5kZWYgX19NQURfUk1QUF9IX18KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3BhY2tlci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvcGFja2VyLmMKaW5kZXggYzk3MmQ3Mi4uMDE5YmQ0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvcGFja2VyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvcGFja2VyLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHBhY2tlci5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zYV9xdWVyeS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc2FfcXVlcnkuYwppbmRleCBjZjQ3NGVjLi4xMzQxZGU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zYV9xdWVyeS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3NhX3F1ZXJ5LmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHNhX3F1ZXJ5LmMgMjgxMSAyMDA1LTA3LTA2IDE4OjExOjQzWiBoYWxyICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC0zNjEsNyArMzU5LDcgQEAKIHsKIAlzdHJ1Y3QgaWJfc2FfcG9ydCAqcG9ydCA9CiAJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaWJfc2FfcG9ydCwgdXBkYXRlX3Rhc2spOwotCXN0cnVjdCBpYl9zYV9zbV9haCAqbmV3X2FoLCAqb2xkX2FoOworCXN0cnVjdCBpYl9zYV9zbV9haCAqbmV3X2FoOwogCXN0cnVjdCBpYl9wb3J0X2F0dHIgcG9ydF9hdHRyOwogCXN0cnVjdCBpYl9haF9hdHRyICAgYWhfYXR0cjsKIApAQCAtMzk3LDEyICszOTUsOSBAQAogCX0KIAogCXNwaW5fbG9ja19pcnEoJnBvcnQtPmFoX2xvY2spOwotCW9sZF9haCA9IHBvcnQtPnNtX2FoOwogCXBvcnQtPnNtX2FoID0gbmV3X2FoOwogCXNwaW5fdW5sb2NrX2lycSgmcG9ydC0+YWhfbG9jayk7CiAKLQlpZiAob2xkX2FoKQotCQlrcmVmX3B1dCgmb2xkX2FoLT5yZWYsIGZyZWVfc21fYWgpOwogfQogCiBzdGF0aWMgdm9pZCBpYl9zYV9ldmVudChzdHJ1Y3QgaWJfZXZlbnRfaGFuZGxlciAqaGFuZGxlciwgc3RydWN0IGliX2V2ZW50ICpldmVudCkKQEAgLTQxMyw4ICs0MDgsMTcgQEAKIAkgICAgZXZlbnQtPmV2ZW50ID09IElCX0VWRU5UX1BLRVlfQ0hBTkdFIHx8CiAJICAgIGV2ZW50LT5ldmVudCA9PSBJQl9FVkVOVF9TTV9DSEFOR0UgICB8fAogCSAgICBldmVudC0+ZXZlbnQgPT0gSUJfRVZFTlRfQ0xJRU5UX1JFUkVHSVNURVIpIHsKLQkJc3RydWN0IGliX3NhX2RldmljZSAqc2FfZGV2OwotCQlzYV9kZXYgPSBjb250YWluZXJfb2YoaGFuZGxlciwgdHlwZW9mKCpzYV9kZXYpLCBldmVudF9oYW5kbGVyKTsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczsKKwkJc3RydWN0IGliX3NhX2RldmljZSAqc2FfZGV2ID0KKwkJCWNvbnRhaW5lcl9vZihoYW5kbGVyLCB0eXBlb2YoKnNhX2RldiksIGV2ZW50X2hhbmRsZXIpOworCQlzdHJ1Y3QgaWJfc2FfcG9ydCAqcG9ydCA9CisJCQkmc2FfZGV2LT5wb3J0W2V2ZW50LT5lbGVtZW50LnBvcnRfbnVtIC0gc2FfZGV2LT5zdGFydF9wb3J0XTsKKworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+YWhfbG9jaywgZmxhZ3MpOworCQlpZiAocG9ydC0+c21fYWgpCisJCQlrcmVmX3B1dCgmcG9ydC0+c21fYWgtPnJlZiwgZnJlZV9zbV9haCk7CisJCXBvcnQtPnNtX2FoID0gTlVMTDsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+YWhfbG9jaywgZmxhZ3MpOwogCiAJCXNjaGVkdWxlX3dvcmsoJnNhX2Rldi0+cG9ydFtldmVudC0+ZWxlbWVudC5wb3J0X251bSAtCiAJCQkJCSAgICBzYV9kZXYtPnN0YXJ0X3BvcnRdLnVwZGF0ZV90YXNrKTsKQEAgLTUxOSw2ICs1MjMsMTAgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnF1ZXJ5LT5wb3J0LT5haF9sb2NrLCBmbGFncyk7CisJaWYgKCFxdWVyeS0+cG9ydC0+c21fYWgpIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcXVlcnktPnBvcnQtPmFoX2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQogCWtyZWZfZ2V0KCZxdWVyeS0+cG9ydC0+c21fYWgtPnJlZik7CiAJcXVlcnktPnNtX2FoID0gcXVlcnktPnBvcnQtPnNtX2FoOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnF1ZXJ5LT5wb3J0LT5haF9sb2NrLCBmbGFncyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zeXNmcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc3lzZnMuYwppbmRleCA5NTc1NjU1Li40ZDEwNDIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zeXNmcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3N5c2ZzLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHN5c2ZzLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlICJjb3JlX3ByaXYuaCIKQEAgLTY2NSw2ICs2NjMsMTIwIEBACiAJLmRldl91ZXZlbnQgPSBpYl9kZXZpY2VfdWV2ZW50LAogfTsKIAorLyogU2hvdyBhIGdpdmVuIGFuIGF0dHJpYnV0ZSBpbiB0aGUgc3RhdGlzdGljcyBncm91cCAqLworc3RhdGljIHNzaXplX3Qgc2hvd19wcm90b2NvbF9zdGF0KGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldmljZSwKKwkJCSAgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmLAorCQkJICAgIHVuc2lnbmVkIG9mZnNldCkKK3sKKwlzdHJ1Y3QgaWJfZGV2aWNlICpkZXYgPSBjb250YWluZXJfb2YoZGV2aWNlLCBzdHJ1Y3QgaWJfZGV2aWNlLCBkZXYpOworCXVuaW9uIHJkbWFfcHJvdG9jb2xfc3RhdHMgc3RhdHM7CisJc3NpemVfdCByZXQ7CisKKwlyZXQgPSBkZXYtPmdldF9wcm90b2NvbF9zdGF0cyhkZXYsICZzdGF0cyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVsbHVcbiIsCisJCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKSAoKHU2NCAqKSAmc3RhdHMpW29mZnNldF0pOworfQorCisvKiBnZW5lcmF0ZSBhIHJlYWQtb25seSBpd2FycCBzdGF0aXN0aWNzIGF0dHJpYnV0ZSAqLworI2RlZmluZSBJV19TVEFUU19FTlRSWShuYW1lKQkJCQkJCVwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lKHN0cnVjdCBkZXZpY2UgKmRldmljZSwJCQlcCisJCQkgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQlcCit7CQkJCQkJCQkJXAorCXJldHVybiBzaG93X3Byb3RvY29sX3N0YXQoZGV2aWNlLCBhdHRyLCBidWYsCQkJXAorCQkJCSAgb2Zmc2V0b2Yoc3RydWN0IGl3X3Byb3RvY29sX3N0YXRzLCBuYW1lKSAvIFwKKwkJCQkgIHNpemVvZiAodTY0KSk7CQkJXAorfQkJCQkJCQkJCVwKK3N0YXRpYyBERVZJQ0VfQVRUUihuYW1lLCBTX0lSVUdPLCBzaG93XyMjbmFtZSwgTlVMTCkKKworSVdfU1RBVFNfRU5UUlkoaXBJblJlY2VpdmVzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5IZHJFcnJvcnMpOworSVdfU1RBVFNfRU5UUlkoaXBJblRvb0JpZ0Vycm9ycyk7CitJV19TVEFUU19FTlRSWShpcEluTm9Sb3V0ZXMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkFkZHJFcnJvcnMpOworSVdfU1RBVFNfRU5UUlkoaXBJblVua25vd25Qcm90b3MpOworSVdfU1RBVFNfRU5UUlkoaXBJblRydW5jYXRlZFBrdHMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkRpc2NhcmRzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5EZWxpdmVycyk7CitJV19TVEFUU19FTlRSWShpcE91dEZvcndEYXRhZ3JhbXMpOworSVdfU1RBVFNfRU5UUlkoaXBPdXRSZXF1ZXN0cyk7CitJV19TVEFUU19FTlRSWShpcE91dERpc2NhcmRzKTsKK0lXX1NUQVRTX0VOVFJZKGlwT3V0Tm9Sb3V0ZXMpOworSVdfU1RBVFNfRU5UUlkoaXBSZWFzbVRpbWVvdXQpOworSVdfU1RBVFNfRU5UUlkoaXBSZWFzbVJlcWRzKTsKK0lXX1NUQVRTX0VOVFJZKGlwUmVhc21PS3MpOworSVdfU1RBVFNfRU5UUlkoaXBSZWFzbUZhaWxzKTsKK0lXX1NUQVRTX0VOVFJZKGlwRnJhZ09Lcyk7CitJV19TVEFUU19FTlRSWShpcEZyYWdGYWlscyk7CitJV19TVEFUU19FTlRSWShpcEZyYWdDcmVhdGVzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5NY2FzdFBrdHMpOworSVdfU1RBVFNfRU5UUlkoaXBPdXRNY2FzdFBrdHMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkJjYXN0UGt0cyk7CitJV19TVEFUU19FTlRSWShpcE91dEJjYXN0UGt0cyk7CitJV19TVEFUU19FTlRSWSh0Y3BSdG9BbGdvcml0aG0pOworSVdfU1RBVFNfRU5UUlkodGNwUnRvTWluKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFJ0b01heCk7CitJV19TVEFUU19FTlRSWSh0Y3BNYXhDb25uKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEFjdGl2ZU9wZW5zKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFBhc3NpdmVPcGVucyk7CitJV19TVEFUU19FTlRSWSh0Y3BBdHRlbXB0RmFpbHMpOworSVdfU1RBVFNfRU5UUlkodGNwRXN0YWJSZXNldHMpOworSVdfU1RBVFNfRU5UUlkodGNwQ3VyckVzdGFiKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEluU2Vncyk7CitJV19TVEFUU19FTlRSWSh0Y3BPdXRTZWdzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFJldHJhbnNTZWdzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEluRXJycyk7CitJV19TVEFUU19FTlRSWSh0Y3BPdXRSc3RzKTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKml3X3Byb3RvX3N0YXRzX2F0dHJzW10gPSB7CisJJmRldl9hdHRyX2lwSW5SZWNlaXZlcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluSGRyRXJyb3JzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5Ub29CaWdFcnJvcnMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJbk5vUm91dGVzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5BZGRyRXJyb3JzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5Vbmtub3duUHJvdG9zLmF0dHIsCisJJmRldl9hdHRyX2lwSW5UcnVuY2F0ZWRQa3RzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5EaXNjYXJkcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluRGVsaXZlcnMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXRGb3J3RGF0YWdyYW1zLmF0dHIsCisJJmRldl9hdHRyX2lwT3V0UmVxdWVzdHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXREaXNjYXJkcy5hdHRyLAorCSZkZXZfYXR0cl9pcE91dE5vUm91dGVzLmF0dHIsCisJJmRldl9hdHRyX2lwUmVhc21UaW1lb3V0LmF0dHIsCisJJmRldl9hdHRyX2lwUmVhc21SZXFkcy5hdHRyLAorCSZkZXZfYXR0cl9pcFJlYXNtT0tzLmF0dHIsCisJJmRldl9hdHRyX2lwUmVhc21GYWlscy5hdHRyLAorCSZkZXZfYXR0cl9pcEZyYWdPS3MuYXR0ciwKKwkmZGV2X2F0dHJfaXBGcmFnRmFpbHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBGcmFnQ3JlYXRlcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluTWNhc3RQa3RzLmF0dHIsCisJJmRldl9hdHRyX2lwT3V0TWNhc3RQa3RzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5CY2FzdFBrdHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXRCY2FzdFBrdHMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwUnRvQWxnb3JpdGhtLmF0dHIsCisJJmRldl9hdHRyX3RjcFJ0b01pbi5hdHRyLAorCSZkZXZfYXR0cl90Y3BSdG9NYXguYXR0ciwKKwkmZGV2X2F0dHJfdGNwTWF4Q29ubi5hdHRyLAorCSZkZXZfYXR0cl90Y3BBY3RpdmVPcGVucy5hdHRyLAorCSZkZXZfYXR0cl90Y3BQYXNzaXZlT3BlbnMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwQXR0ZW1wdEZhaWxzLmF0dHIsCisJJmRldl9hdHRyX3RjcEVzdGFiUmVzZXRzLmF0dHIsCisJJmRldl9hdHRyX3RjcEN1cnJFc3RhYi5hdHRyLAorCSZkZXZfYXR0cl90Y3BJblNlZ3MuYXR0ciwKKwkmZGV2X2F0dHJfdGNwT3V0U2Vncy5hdHRyLAorCSZkZXZfYXR0cl90Y3BSZXRyYW5zU2Vncy5hdHRyLAorCSZkZXZfYXR0cl90Y3BJbkVycnMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwT3V0UnN0cy5hdHRyLAorCU5VTEwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGl3X3N0YXRzX2dyb3VwID0geworCS5uYW1lCT0gInByb3RvX3N0YXRzIiwKKwkuYXR0cnMJPSBpd19wcm90b19zdGF0c19hdHRycywKK307CisKIGludCBpYl9kZXZpY2VfcmVnaXN0ZXJfc3lzZnMoc3RydWN0IGliX2RldmljZSAqZGV2aWNlKQogewogCXN0cnVjdCBkZXZpY2UgKmNsYXNzX2RldiA9ICZkZXZpY2UtPmRldjsKQEAgLTcwNyw2ICs4MTksMTIgQEAKIAkJfQogCX0KIAorCWlmIChkZXZpY2UtPm5vZGVfdHlwZSA9PSBSRE1BX05PREVfUk5JQyAmJiBkZXZpY2UtPmdldF9wcm90b2NvbF9zdGF0cykgeworCQlyZXQgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmNsYXNzX2Rldi0+a29iaiwgJml3X3N0YXRzX2dyb3VwKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gZXJyX3B1dDsKKwl9CisKIAlyZXR1cm4gMDsKIAogZXJyX3B1dDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtLmMKaW5kZXggZDdhNjg4MS4uOTQ5NDAwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHVjbS5jIDQzMTEgMjAwNS0xMi0wNSAxODo0MjowMVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KQEAgLTQ1LDYgKzQzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtMTE1OSw2ICsxMTU4LDcgQEAKIHsKIAlzdHJ1Y3QgaWJfdWNtX2ZpbGUgKmZpbGU7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWZpbGUgPSBrbWFsbG9jKHNpemVvZigqZmlsZSksIEdGUF9LRVJORUwpOwogCWlmICghZmlsZSkKIAkJcmV0dXJuIC1FTk9NRU07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y21hLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y21hLmMKaW5kZXggY2E0Y2YzYS4uMTk1Zjk3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtYS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbWEuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luLmg+CiAjaW5jbHVkZSA8bGludXgvaW42Lmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxyZG1hL3JkbWFfdXNlcl9jbS5oPgogI2luY2x1ZGUgPHJkbWEvaWJfbWFyc2hhbGwuaD4KQEAgLTExNTYsNiArMTE1Nyw3IEBACiAJaWYgKCFmaWxlKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJSU5JVF9MSVNUX0hFQUQoJmZpbGUtPmV2ZW50X2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZmaWxlLT5jdHhfbGlzdCk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmZmlsZS0+cG9sbF93YWl0KTsKQEAgLTExNjMsNiArMTE2NSw3IEBACiAKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBmaWxlOwogCWZpbGUtPmZpbHAgPSBmaWxwOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWRfaGVhZGVyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91ZF9oZWFkZXIuYwppbmRleCA5OTdjMDdkLi44ZWM3ODc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91ZF9oZWFkZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91ZF9oZWFkZXIuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdWRfaGVhZGVyLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbS5jCmluZGV4IGExNzY4ZGIuLjZmN2MwOTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW0uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHV2ZXJic19tZW0uYyAyNzQzIDIwMDUtMDYtMjggMjI6Mjc6NTlaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91c2VyX21hZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXNlcl9tYWQuYwppbmRleCA4NDBlZGU5Li4yNjhhMmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91c2VyX21hZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VzZXJfbWFkLmMKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHVzZXJfbWFkLmMgNTU5NiAyMDA2LTAzLTAzIDAxOjAwOjA3WiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC03NzcsNiArNzc1LDE5IEBACiB9CiAjZW5kaWYKIAorLyoKKyAqIGliX3VtYWRfb3BlbigpIGRvZXMgbm90IG5lZWQgdGhlIEJLTDoKKyAqCisgKiAgLSB1bWFkX3BvcnRbXSBhY2Nlc3NlcyBhcmUgcHJvdGVjdGVkIGJ5IHBvcnRfbG9jaywgdGhlCisgKiAgICBpYl91bWFkX3BvcnQgc3RydWN0dXJlcyBhcmUgcHJvcGVybHkgcmVmZXJlbmNlIGNvdW50ZWQsIGFuZAorICogICAgZXZlcnl0aGluZyBlbHNlIGlzIHB1cmVseSBsb2NhbCB0byB0aGUgZmlsZSBiZWluZyBjcmVhdGVkLCBzbworICogICAgcmFjZXMgYWdhaW5zdCBvdGhlciBvcGVuIGNhbGxzIGFyZSBub3QgYSBwcm9ibGVtOworICogIC0gdGhlIGlvY3RsIG1ldGhvZCBkb2VzIG5vdCBhZmZlY3QgYW55IGdsb2JhbCBzdGF0ZSBvdXRzaWRlIG9mIHRoZQorICogICAgZmlsZSBzdHJ1Y3R1cmUgYmVpbmcgb3BlcmF0ZWQgb247CisgKiAgLSB0aGUgcG9ydCBpcyBhZGRlZCB0byB1bWFkX3BvcnRbXSBhcyB0aGUgbGFzdCBwYXJ0IG9mIG1vZHVsZQorICogICAgaW5pdGlhbGl6YXRpb24gc28gdGhlIG9wZW4gbWV0aG9kIHdpbGwgZWl0aGVyIGltbWVkaWF0ZWx5IHJ1bgorICogICAgLUVOWElPLCBvciBhbGwgcmVxdWlyZWQgaW5pdGlhbGl6YXRpb24gd2lsbCBiZSBkb25lLgorICovCiBzdGF0aWMgaW50IGliX3VtYWRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgaWJfdW1hZF9wb3J0ICpwb3J0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzLmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnMuaAppbmRleCAzNzZhNTdjLi5iM2VhOTU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnMuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnMuaApAQCAtMzIsOCArMzIsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdXZlcmJzLmggMjU1OSAyMDA1LTA2LTA2IDE5OjQzOjE2WiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgVVZFUkJTX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19jbWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19jbWQuYwppbmRleCAyYzNiZmY1Li41NmZlYWI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfY21kLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX2NtZC5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1dmVyYnNfY21kLmMgMjcwOCAyMDA1LTA2LTI0IDE3OjI3OjIxWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9maWxlLmg+CkBAIC05MTksNyArOTE3LDcgQEAKIAkJcmVzcC0+d2NbaV0ub3Bjb2RlIAkgICA9IHdjW2ldLm9wY29kZTsKIAkJcmVzcC0+d2NbaV0udmVuZG9yX2VyciAJICAgPSB3Y1tpXS52ZW5kb3JfZXJyOwogCQlyZXNwLT53Y1tpXS5ieXRlX2xlbiAJICAgPSB3Y1tpXS5ieXRlX2xlbjsKLQkJcmVzcC0+d2NbaV0uaW1tX2RhdGEgCSAgID0gKF9fdTMyIF9fZm9yY2UpIHdjW2ldLmltbV9kYXRhOworCQlyZXNwLT53Y1tpXS5leC5pbW1fZGF0YSAgICA9IChfX3UzMiBfX2ZvcmNlKSB3Y1tpXS5leC5pbW1fZGF0YTsKIAkJcmVzcC0+d2NbaV0ucXBfbnVtIAkgICA9IHdjW2ldLnFwLT5xcF9udW07CiAJCXJlc3AtPndjW2ldLnNyY19xcCAJICAgPSB3Y1tpXS5zcmNfcXA7CiAJCXJlc3AtPndjW2ldLndjX2ZsYWdzIAkgICA9IHdjW2ldLndjX2ZsYWdzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX21haW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19tYWluLmMKaW5kZXggY2FlZDQyYi4uYWVlZTg1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX21haW4uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfbWFpbi5jCkBAIC0zMiw4ICszMiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1dmVyYnNfbWFpbi5jIDI3MzMgMjAwNS0wNi0yOCAxOToxNDozNFogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC02MTAsNiArNjA4LDE4IEBACiAJCXJldHVybiBmaWxlLT5kZXZpY2UtPmliX2Rldi0+bW1hcChmaWxlLT51Y29udGV4dCwgdm1hKTsKIH0KIAorLyoKKyAqIGliX3V2ZXJic19vcGVuKCkgZG9lcyBub3QgbmVlZCB0aGUgQktMOgorICoKKyAqICAtIGRldl90YWJsZVtdIGFjY2Vzc2VzIGFyZSBwcm90ZWN0ZWQgYnkgbWFwX2xvY2ssIHRoZQorICogICAgaWJfdXZlcmJzX2RldmljZSBzdHJ1Y3R1cmVzIGFyZSBwcm9wZXJseSByZWZlcmVuY2UgY291bnRlZCwgYW5kCisgKiAgICBldmVyeXRoaW5nIGVsc2UgaXMgcHVyZWx5IGxvY2FsIHRvIHRoZSBmaWxlIGJlaW5nIGNyZWF0ZWQsIHNvCisgKiAgICByYWNlcyBhZ2FpbnN0IG90aGVyIG9wZW4gY2FsbHMgYXJlIG5vdCBhIHByb2JsZW07CisgKiAgLSB0aGVyZSBpcyBubyBpb2N0bCBtZXRob2QgdG8gcmFjZSBhZ2FpbnN0OworICogIC0gdGhlIGRldmljZSBpcyBhZGRlZCB0byBkZXZfdGFibGVbXSBhcyB0aGUgbGFzdCBwYXJ0IG9mIG1vZHVsZQorICogICAgaW5pdGlhbGl6YXRpb24sIHRoZSBvcGVuIG1ldGhvZCB3aWxsIGVpdGhlciBpbW1lZGlhdGVseSBydW4KKyAqICAgIC1FTlhJTywgb3IgYWxsIHJlcXVpcmVkIGluaXRpYWxpemF0aW9uIHdpbGwgYmUgZG9uZS4KKyAqLwogc3RhdGljIGludCBpYl91dmVyYnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgaWJfdXZlcmJzX2RldmljZSAqZGV2OwpAQCAtNjUxLDcgKzY2MSw2IEBACiAKIGVycjoKIAlrcmVmX3B1dCgmZGV2LT5yZWYsIGliX3V2ZXJic19yZWxlYXNlX2Rldik7Ci0KIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdmVyYnMuYwppbmRleCAwNTA0MjA4Li5hN2RhOWJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS92ZXJicy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3ZlcmJzLmMKQEAgLTM0LDggKzM0LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHZlcmJzLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpAQCAtMzE3LDcgKzMxNSw2IEBACiB9IHFwX3N0YXRlX3RhYmxlW0lCX1FQU19FUlIgKyAxXVtJQl9RUFNfRVJSICsgMV0gPSB7CiAJW0lCX1FQU19SRVNFVF0gPSB7CiAJCVtJQl9RUFNfUkVTRVRdID0geyAudmFsaWQgPSAxIH0sCi0JCVtJQl9RUFNfRVJSXSAgID0geyAudmFsaWQgPSAxIH0sCiAJCVtJQl9RUFNfSU5JVF0gID0gewogCQkJLnZhbGlkID0gMSwKIAkJCS5yZXFfcGFyYW0gPSB7CkBAIC03NTUsNiArNzUyLDUyIEBACiB9CiBFWFBPUlRfU1lNQk9MKGliX2RlcmVnX21yKTsKIAorc3RydWN0IGliX21yICppYl9hbGxvY19mYXN0X3JlZ19tcihzdHJ1Y3QgaWJfcGQgKnBkLCBpbnQgbWF4X3BhZ2VfbGlzdF9sZW4pCit7CisJc3RydWN0IGliX21yICptcjsKKworCWlmICghcGQtPmRldmljZS0+YWxsb2NfZmFzdF9yZWdfbXIpCisJCXJldHVybiBFUlJfUFRSKC1FTk9TWVMpOworCisJbXIgPSBwZC0+ZGV2aWNlLT5hbGxvY19mYXN0X3JlZ19tcihwZCwgbWF4X3BhZ2VfbGlzdF9sZW4pOworCisJaWYgKCFJU19FUlIobXIpKSB7CisJCW1yLT5kZXZpY2UgID0gcGQtPmRldmljZTsKKwkJbXItPnBkICAgICAgPSBwZDsKKwkJbXItPnVvYmplY3QgPSBOVUxMOworCQlhdG9taWNfaW5jKCZwZC0+dXNlY250KTsKKwkJYXRvbWljX3NldCgmbXItPnVzZWNudCwgMCk7CisJfQorCisJcmV0dXJuIG1yOworfQorRVhQT1JUX1NZTUJPTChpYl9hbGxvY19mYXN0X3JlZ19tcik7CisKK3N0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKmliX2FsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdChzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCisJCQkJCQkJICBpbnQgbWF4X3BhZ2VfbGlzdF9sZW4pCit7CisJc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqcGFnZV9saXN0OworCisJaWYgKCFkZXZpY2UtPmFsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT1NZUyk7CisKKwlwYWdlX2xpc3QgPSBkZXZpY2UtPmFsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdChkZXZpY2UsIG1heF9wYWdlX2xpc3RfbGVuKTsKKworCWlmICghSVNfRVJSKHBhZ2VfbGlzdCkpIHsKKwkJcGFnZV9saXN0LT5kZXZpY2UgPSBkZXZpY2U7CisJCXBhZ2VfbGlzdC0+bWF4X3BhZ2VfbGlzdF9sZW4gPSBtYXhfcGFnZV9saXN0X2xlbjsKKwl9CisKKwlyZXR1cm4gcGFnZV9saXN0OworfQorRVhQT1JUX1NZTUJPTChpYl9hbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QpOworCit2b2lkIGliX2ZyZWVfZmFzdF9yZWdfcGFnZV9saXN0KHN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKnBhZ2VfbGlzdCkKK3sKKwlwYWdlX2xpc3QtPmRldmljZS0+ZnJlZV9mYXN0X3JlZ19wYWdlX2xpc3QocGFnZV9saXN0KTsKK30KK0VYUE9SVF9TWU1CT0woaWJfZnJlZV9mYXN0X3JlZ19wYWdlX2xpc3QpOworCiAvKiBNZW1vcnkgd2luZG93cyAqLwogCiBzdHJ1Y3QgaWJfbXcgKmliX2FsbG9jX213KHN0cnVjdCBpYl9wZCAqcGQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvYW1zbzExMDAvYzJfcm5pYy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2Ftc28xMTAwL2MyX3JuaWMuYwppbmRleCBiMTQ0MWFlLi5kZDA1YzQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvYW1zbzExMDAvYzJfcm5pYy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9hbXNvMTEwMC9jMl9ybmljLmMKQEAgLTQ1NCw3ICs0NTQsNyBAQAogCSAgICAoSUJfREVWSUNFX1JFU0laRV9NQVhfV1IgfAogCSAgICAgSUJfREVWSUNFX0NVUlJfUVBfU1RBVEVfTU9EIHwKIAkgICAgIElCX0RFVklDRV9TWVNfSU1BR0VfR1VJRCB8Ci0JICAgICBJQl9ERVZJQ0VfWkVST19TVEFHIHwKKwkgICAgIElCX0RFVklDRV9MT0NBTF9ETUFfTEtFWSB8CiAJICAgICBJQl9ERVZJQ0VfTUVNX1dJTkRPVyk7CiAKIAkvKiBBbGxvY2F0ZSB0aGUgcXB0cl9hcnJheSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9faGFsLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuYwppbmRleCAzZjQ0MWZjLi5mNmQ1NzQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuYwpAQCAtMTQ1LDcgKzE0NSw5IEBACiAJfQogCXdxZSA9IChzdHJ1Y3QgdDNfbW9kaWZ5X3FwX3dyICopIHNrYl9wdXQoc2tiLCBzaXplb2YoKndxZSkpOwogCW1lbXNldCh3cWUsIDAsIHNpemVvZigqd3FlKSk7Ci0JYnVpbGRfZndfcml3cmgoKHN0cnVjdCBmd19yaXdyaCAqKSB3cWUsIFQzX1dSX1FQX01PRCwgMywgMCwgcXBpZCwgNyk7CisJYnVpbGRfZndfcml3cmgoKHN0cnVjdCBmd19yaXdyaCAqKSB3cWUsIFQzX1dSX1FQX01PRCwKKwkJICAgICAgIFQzX0NPTVBMRVRJT05fRkxBRyB8IFQzX05PVElGWV9GTEFHLCAwLCBxcGlkLCA3LAorCQkgICAgICAgVDNfU09QRU9QKTsKIAl3cWUtPmZsYWdzID0gY3B1X3RvX2JlMzIoTU9EUVBfV1JJVEVfRUMpOwogCXNnZV9jbWQgPSBxcGlkIDw8IDggfCAzOwogCXdxZS0+c2dlX2NtZCA9IGNwdV90b19iZTY0KHNnZV9jbWQpOwpAQCAtMjc2LDcgKzI3OCw3IEBACiAJaWYgKCF3cS0+cXBpZCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQl3cS0+cnEgPSBremFsbG9jKGRlcHRoICogc2l6ZW9mKHU2NCksIEdGUF9LRVJORUwpOworCXdxLT5ycSA9IGt6YWxsb2MoZGVwdGggKiBzaXplb2Yoc3RydWN0IHQzX3N3cnEpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXdxLT5ycSkKIAkJZ290byBlcnIxOwogCkBAIC0zMDAsNiArMzAyLDcgQEAKIAlpZiAoIWtlcm5lbF9kb21haW4pCiAJCXdxLT51ZGIgPSAodTY0KXJkZXZfcC0+cm5pY19pbmZvLnVkYmVsbF9waHlzYmFzZSArCiAJCQkJCSh3cS0+cXBpZCA8PCByZGV2X3AtPnFwc2hpZnQpOworCXdxLT5yZGV2ID0gcmRldl9wOwogCVBEQkcoIiVzIHFwaWQgMHgleCBkb29yYmVsbCAweCVwIHVkYiAweCVsbHhcbiIsIF9fZnVuY19fLAogCSAgICAgd3EtPnFwaWQsIHdxLT5kb29yYmVsbCwgKHVuc2lnbmVkIGxvbmcgbG9uZykgd3EtPnVkYik7CiAJcmV0dXJuIDA7CkBAIC01NTgsNyArNTYxLDcgQEAKIAl3cWUgPSAoc3RydWN0IHQzX21vZGlmeV9xcF93ciAqKSBza2JfcHV0KHNrYiwgc2l6ZW9mKCp3cWUpKTsKIAltZW1zZXQod3FlLCAwLCBzaXplb2YoKndxZSkpOwogCWJ1aWxkX2Z3X3Jpd3JoKChzdHJ1Y3QgZndfcml3cmggKikgd3FlLCBUM19XUl9RUF9NT0QsIDAsIDAsCi0JCSAgICAgICBUM19DVExfUVBfVElELCA3KTsKKwkJICAgICAgIFQzX0NUTF9RUF9USUQsIDcsIFQzX1NPUEVPUCk7CiAJd3FlLT5mbGFncyA9IGNwdV90b19iZTMyKE1PRFFQX1dSSVRFX0VDKTsKIAlzZ2VfY21kID0gKDNVTEwgPDwgNTYpIHwgRldfUklfU0dFRUNfU1RBUlQgPDwgOCB8IDM7CiAJd3FlLT5zZ2VfY21kID0gY3B1X3RvX2JlNjQoc2dlX2NtZCk7CkBAIC02NzQsNyArNjc3LDcgQEAKIAkJYnVpbGRfZndfcml3cmgoKHN0cnVjdCBmd19yaXdyaCAqKSB3cWUsIFQzX1dSX0JQLCBmbGFnLAogCQkJICAgICAgIFFfR0VOQklUKHJkZXZfcC0+Y3RybF9xcC53cHRyLAogCQkJCQlUM19DVFJMX1FQX1NJWkVfTE9HMiksIFQzX0NUUkxfUVBfSUQsCi0JCQkgICAgICAgd3JfbGVuKTsKKwkJCSAgICAgICB3cl9sZW4sIFQzX1NPUEVPUCk7CiAJCWlmIChmbGFnID09IFQzX0NPTVBMRVRJT05fRkxBRykKIAkJCXJpbmdfZG9vcmJlbGwocmRldl9wLT5jdHJsX3FwLmRvb3JiZWxsLCBUM19DVFJMX1FQX0lEKTsKIAkJbGVuIC09IDk2OwpAQCAtODE2LDYgKzgxOSwxMyBAQAogCQkJICAgICAwLCAwKTsKIH0KIAoraW50IGN4aW9fYWxsb2NhdGVfc3RhZyhzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2X3AsIHUzMiAqc3RhZywgdTMyIHBkaWQsIHUzMiBwYmxfc2l6ZSwgdTMyIHBibF9hZGRyKQoreworCSpzdGFnID0gVDNfU1RBR19VTlNFVDsKKwlyZXR1cm4gX19jeGlvX3RwdF9vcChyZGV2X3AsIDAsIHN0YWcsIDAsIHBkaWQsIFRQVF9OT05fU0hBUkVEX01SLAorCQkJICAgICAwLCAwLCAwVUxMLCAwLCAwLCBwYmxfc2l6ZSwgcGJsX2FkZHIpOworfQorCiBpbnQgY3hpb19yZG1hX2luaXQoc3RydWN0IGN4aW9fcmRldiAqcmRldl9wLCBzdHJ1Y3QgdDNfcmRtYV9pbml0X2F0dHIgKmF0dHIpCiB7CiAJc3RydWN0IHQzX3JkbWFfaW5pdF93ciAqd3FlOwpAQCAtMTI1NywxMyArMTI2NywxNiBAQAogCQl3cS0+c3FfcnB0ciA9IENRRV9XUklEX1NRX1dQVFIoKmh3X2NxZSk7CiAJCVBEQkcoIiVzIGNvbXBsZXRpbmcgc3EgaWR4ICVsZFxuIiwgX19mdW5jX18sCiAJCSAgICAgUV9QVFIySURYKHdxLT5zcV9ycHRyLCB3cS0+c3Ffc2l6ZV9sb2cyKSk7Ci0JCSpjb29raWUgPSAod3EtPnNxICsKLQkJCSAgIFFfUFRSMklEWCh3cS0+c3FfcnB0ciwgd3EtPnNxX3NpemVfbG9nMikpLT53cl9pZDsKKwkJKmNvb2tpZSA9IHdxLT5zcVtRX1BUUjJJRFgod3EtPnNxX3JwdHIsIHdxLT5zcV9zaXplX2xvZzIpXS53cl9pZDsKIAkJd3EtPnNxX3JwdHIrKzsKIAl9IGVsc2UgewogCQlQREJHKCIlcyBjb21wbGV0aW5nIHJxIGlkeCAlbGRcbiIsIF9fZnVuY19fLAogCQkgICAgIFFfUFRSMklEWCh3cS0+cnFfcnB0ciwgd3EtPnJxX3NpemVfbG9nMikpOwotCQkqY29va2llID0gKih3cS0+cnEgKyBRX1BUUjJJRFgod3EtPnJxX3JwdHIsIHdxLT5ycV9zaXplX2xvZzIpKTsKKwkJKmNvb2tpZSA9IHdxLT5ycVtRX1BUUjJJRFgod3EtPnJxX3JwdHIsIHdxLT5ycV9zaXplX2xvZzIpXS53cl9pZDsKKwkJaWYgKHdxLT5ycVtRX1BUUjJJRFgod3EtPnJxX3JwdHIsIHdxLT5ycV9zaXplX2xvZzIpXS5wYmxfYWRkcikKKwkJCWN4aW9faGFsX3BibHBvb2xfZnJlZSh3cS0+cmRldiwKKwkJCQl3cS0+cnFbUV9QVFIySURYKHdxLT5ycV9ycHRyLAorCQkJCXdxLT5ycV9zaXplX2xvZzIpXS5wYmxfYWRkciwgVDNfU1RBRzBfUEJMX1NJWkUpOwogCQl3cS0+cnFfcnB0cisrOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9faGFsLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuaAppbmRleCA2ZTEyOGY2Li42NTZmZTQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuaApAQCAtNDUsMTUgKzQ1LDE3IEBACiAjZGVmaW5lIFQzX0NUUkxfUVBfU0laRV9MT0cyICA4CiAjZGVmaW5lIFQzX0NUUkxfQ1FfSUQgICAgMAogCi0vKiBUQkQgKi8KICNkZWZpbmUgVDNfTUFYX05VTV9SSSAoMTw8MTUpCiAjZGVmaW5lIFQzX01BWF9OVU1fUVAgKDE8PDE1KQogI2RlZmluZSBUM19NQVhfTlVNX0NRICgxPDwxNSkKICNkZWZpbmUgVDNfTUFYX05VTV9QRCAoMTw8MTUpCiAjZGVmaW5lIFQzX01BWF9QQkxfU0laRSAyNTYKICNkZWZpbmUgVDNfTUFYX1JRX1NJWkUgMTAyNAorI2RlZmluZSBUM19NQVhfUVBfREVQVEggKFQzX01BWF9SUV9TSVpFLTEpCisjZGVmaW5lIFQzX01BWF9DUV9ERVBUSCA4MTkyCiAjZGVmaW5lIFQzX01BWF9OVU1fU1RBRyAoMTw8MTUpCiAjZGVmaW5lIFQzX01BWF9NUl9TSVpFIDB4MTAwMDAwMDAwVUxMCisjZGVmaW5lIFQzX1BBR0VTSVpFX01BU0sgMHhmZmZmMDAwICAvKiA0S0ItMTI4TUIgKi8KIAogI2RlZmluZSBUM19TVEFHX1VOU0VUIDB4ZmZmZmZmZmYKIApAQCAtMTY1LDYgKzE2Nyw3IEBACiBpbnQgY3hpb19kZXJlZ19tZW0oc3RydWN0IGN4aW9fcmRldiAqcmRldiwgdTMyIHN0YWcsIHUzMiBwYmxfc2l6ZSwKIAkJICAgdTMyIHBibF9hZGRyKTsKIGludCBjeGlvX2FsbG9jYXRlX3dpbmRvdyhzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2LCB1MzIgKiBzdGFnLCB1MzIgcGRpZCk7CitpbnQgY3hpb19hbGxvY2F0ZV9zdGFnKHN0cnVjdCBjeGlvX3JkZXYgKnJkZXYsIHUzMiAqc3RhZywgdTMyIHBkaWQsIHUzMiBwYmxfc2l6ZSwgdTMyIHBibF9hZGRyKTsKIGludCBjeGlvX2RlYWxsb2NhdGVfd2luZG93KHN0cnVjdCBjeGlvX3JkZXYgKnJkZXYsIHUzMiBzdGFnKTsKIGludCBjeGlvX3JkbWFfaW5pdChzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2LCBzdHJ1Y3QgdDNfcmRtYV9pbml0X2F0dHIgKmF0dHIpOwogdm9pZCBjeGlvX3JlZ2lzdGVyX2V2X2NiKGN4aW9faGFsX2V2X2NhbGxiYWNrX2Z1bmNfdCBldl9jYik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb193ci5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9fd3IuaAppbmRleCBmMWEyNWE4Li4wNDYxOGY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb193ci5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX3dyLmgKQEAgLTM5LDYgKzM5LDkgQEAKIAogI2RlZmluZSBUM19NQVhfU0dFICAgICAgNAogI2RlZmluZSBUM19NQVhfSU5MSU5FCTY0CisjZGVmaW5lIFQzX1NUQUcwX1BCTF9TSVpFICgyICogVDNfTUFYX1NHRSA8PCAzKQorI2RlZmluZSBUM19TVEFHMF9NQVhfUEJFX0xFTiAoMTI4ICogMTAyNCAqIDEwMjQpCisjZGVmaW5lIFQzX1NUQUcwX1BBR0VfU0hJRlQgMTUKIAogI2RlZmluZSBRX0VNUFRZKHJwdHIsd3B0cikgKChycHRyKT09KHdwdHIpKQogI2RlZmluZSBRX0ZVTEwocnB0cix3cHRyLHNpemVfbG9nMikgICggKCgod3B0ciktKHJwdHIpKT4+KHNpemVfbG9nMikpICYmIFwKQEAgLTcyLDcgKzc1LDggQEAKIAlUM19XUl9CSU5EID0gRldfV1JPUENPREVfUklfQklORF9NVywKIAlUM19XUl9SQ1YgPSBGV19XUk9QQ09ERV9SSV9SRUNFSVZFLAogCVQzX1dSX0lOSVQgPSBGV19XUk9QQ09ERV9SSV9SRE1BX0lOSVQsCi0JVDNfV1JfUVBfTU9EID0gRldfV1JPUENPREVfUklfTU9ESUZZX1FQCisJVDNfV1JfUVBfTU9EID0gRldfV1JPUENPREVfUklfTU9ESUZZX1FQLAorCVQzX1dSX0ZBU1RSRUcgPSBGV19XUk9QQ09ERV9SSV9GQVNUUkVHSVNURVJfTVIKIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCiBlbnVtIHQzX3JkbWFfb3Bjb2RlIHsKQEAgLTg5LDcgKzkzLDggQEAKIAlUM19GQVNUX1JFR0lTVEVSLAogCVQzX0xPQ0FMX0lOViwKIAlUM19RUF9NT0QsCi0JVDNfQllQQVNTCisJVDNfQllQQVNTLAorCVQzX1JETUFfUkVBRF9SRVFfV0lUSF9JTlYsCiB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKIAogc3RhdGljIGlubGluZSBlbnVtIHQzX3JkbWFfb3Bjb2RlIHdyMm9wY29kZShlbnVtIHQzX3dyX29wY29kZSB3cm9wKQpAQCAtMTAzLDYgKzEwOCw3IEBACiAJCWNhc2UgVDNfV1JfQklORDogcmV0dXJuIFQzX0JJTkRfTVc7CiAJCWNhc2UgVDNfV1JfSU5JVDogcmV0dXJuIFQzX1JETUFfSU5JVDsKIAkJY2FzZSBUM19XUl9RUF9NT0Q6IHJldHVybiBUM19RUF9NT0Q7CisJCWNhc2UgVDNfV1JfRkFTVFJFRzogcmV0dXJuIFQzX0ZBU1RfUkVHSVNURVI7CiAJCWRlZmF1bHQ6IGJyZWFrOwogCX0KIAlyZXR1cm4gLTE7CkBAIC0xNzAsMTEgKzE3Niw1NCBAQAogCXN0cnVjdCB0M19zZ2Ugc2dsW1QzX01BWF9TR0VdOwkvKiA0KyAqLwogfTsKIAorI2RlZmluZSBUM19NQVhfRkFTVFJFR19ERVBUSCAyNAorI2RlZmluZSBUM19NQVhfRkFTVFJFR19GUkFHIDEwCisKK3N0cnVjdCB0M19mYXN0cmVnX3dyIHsKKwlzdHJ1Y3QgZndfcml3cmggd3JoOwkvKiAwICovCisJdW5pb24gdDNfd3JpZCB3cmlkOwkvKiAxICovCisJX19iZTMyIHN0YWc7CQkvKiAyICovCisJX19iZTMyIGxlbjsKKwlfX2JlMzIgdmFfYmFzZV9oaTsJLyogMyAqLworCV9fYmUzMiB2YV9iYXNlX2xvX2ZibzsKKwlfX2JlMzIgcGFnZV90eXBlX3Blcm1zOyAvKiA0ICovCisJX19iZTMyIHJlc2VydmVkMTsKKwlfX2JlNjQgcGJsX2FkZHJzWzBdOwkvKiA1KyAqLworfTsKKworLyoKKyAqIElmIGEgZmFzdHJlZyB3ciBzcGFucyBtdWx0aXBsZSB3cWVzLCB0aGVuIHRoZSAybmQgZnJhZ21lbnQgbG9vayBsaWtlIHRoaXMuCisgKi8KK3N0cnVjdCB0M19wYmxfZnJhZyB7CisJc3RydWN0IGZ3X3Jpd3JoIHdyaDsJLyogMCAqLworCV9fYmU2NCBwYmxfYWRkcnNbMTRdOwkvKiAxLi4xNCAqLworfTsKKworI2RlZmluZSBTX0ZSX1BBR0VfQ09VTlQJCTI0CisjZGVmaW5lIE1fRlJfUEFHRV9DT1VOVAkJMHhmZgorI2RlZmluZSBWX0ZSX1BBR0VfQ09VTlQoeCkJKCh4KSA8PCBTX0ZSX1BBR0VfQ09VTlQpCisjZGVmaW5lIEdfRlJfUEFHRV9DT1VOVCh4KQkoKCgoeCkgPj4gU19GUl9QQUdFX0NPVU5UKSkgJiBNX0ZSX1BBR0VfQ09VTlQpCisKKyNkZWZpbmUgU19GUl9QQUdFX1NJWkUJCTE2CisjZGVmaW5lIE1fRlJfUEFHRV9TSVpFCQkweDFmCisjZGVmaW5lIFZfRlJfUEFHRV9TSVpFKHgpCSgoeCkgPDwgU19GUl9QQUdFX1NJWkUpCisjZGVmaW5lIEdfRlJfUEFHRV9TSVpFKHgpCSgoKCh4KSA+PiBTX0ZSX1BBR0VfU0laRSkpICYgTV9GUl9QQUdFX1NJWkUpCisKKyNkZWZpbmUgU19GUl9UWVBFCQk4CisjZGVmaW5lIE1fRlJfVFlQRQkJMHgxCisjZGVmaW5lIFZfRlJfVFlQRSh4KQkJKCh4KSA8PCBTX0ZSX1RZUEUpCisjZGVmaW5lIEdfRlJfVFlQRSh4KQkJKCgoKHgpID4+IFNfRlJfVFlQRSkpICYgTV9GUl9UWVBFKQorCisjZGVmaW5lIFNfRlJfUEVSTVMJCTAKKyNkZWZpbmUgTV9GUl9QRVJNUwkJMHhmZgorI2RlZmluZSBWX0ZSX1BFUk1TKHgpCQkoKHgpIDw8IFNfRlJfUEVSTVMpCisjZGVmaW5lIEdfRlJfUEVSTVMoeCkJCSgoKCh4KSA+PiBTX0ZSX1BFUk1TKSkgJiBNX0ZSX1BFUk1TKQorCiBzdHJ1Y3QgdDNfbG9jYWxfaW52X3dyIHsKIAlzdHJ1Y3QgZndfcml3cmggd3JoOwkvKiAwICovCiAJdW5pb24gdDNfd3JpZCB3cmlkOwkvKiAxICovCiAJX19iZTMyIHN0YWc7CQkvKiAyICovCi0JX19iZTMyIHJlc2VydmVkMzsKKwlfX2JlMzIgcmVzZXJ2ZWQ7CiB9OwogCiBzdHJ1Y3QgdDNfcmRtYV93cml0ZV93ciB7CkBAIC0xOTMsNyArMjQyLDggQEAKIAlzdHJ1Y3QgZndfcml3cmggd3JoOwkvKiAwICovCiAJdW5pb24gdDNfd3JpZCB3cmlkOwkvKiAxICovCiAJdTggcmRtYW9wOwkJLyogMiAqLwotCXU4IHJlc2VydmVkWzNdOworCXU4IGxvY2FsX2ludjsKKwl1OCByZXNlcnZlZFsyXTsKIAlfX2JlMzIgcmVtX3N0YWc7CiAJX19iZTY0IHJlbV90bzsJCS8qIDMgKi8KIAlfX2JlMzIgbG9jYWxfc3RhZzsJLyogNCAqLwpAQCAtMjAxLDE4ICsyNTEsNiBAQAogCV9fYmU2NCBsb2NhbF90bzsJLyogNSAqLwogfTsKIAotZW51bSB0M19hZGRyX3R5cGUgewotCVQzX1ZBX0JBU0VEX1RPID0gMHgwLAotCVQzX1pFUk9fQkFTRURfVE8gPSAweDEKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi1lbnVtIHQzX21lbV9wZXJtcyB7Ci0JVDNfTUVNX0FDQ0VTU19MT0NBTF9SRUFEID0gMHgxLAotCVQzX01FTV9BQ0NFU1NfTE9DQUxfV1JJVEUgPSAweDIsCi0JVDNfTUVNX0FDQ0VTU19SRU1fUkVBRCA9IDB4NCwKLQlUM19NRU1fQUNDRVNTX1JFTV9XUklURSA9IDB4OAotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KIHN0cnVjdCB0M19iaW5kX213X3dyIHsKIAlzdHJ1Y3QgZndfcml3cmggd3JoOwkvKiAwICovCiAJdW5pb24gdDNfd3JpZCB3cmlkOwkvKiAxICovCkBAIC0zMzYsNiArMzc0LDExIEBACiAJX19iZTY0IGdlbmJpdDsKIH07CiAKK3N0cnVjdCB0M193cV9pbl9lcnIgeworCXU2NCBmbGl0WzEzXTsKKwl1NjQgZXJyOworfTsKKwogZW51bSByZG1hX2luaXRfd3JfZmxhZ3MgewogCU1QQV9JTklUSUFUT1IgPSAoMTw8MCksCiAJUFJJVl9RUCA9ICgxPDwxKSwKQEAgLTM0NiwxMyArMzg5LDE2IEBACiAJc3RydWN0IHQzX3JkbWFfd3JpdGVfd3Igd3JpdGU7CiAJc3RydWN0IHQzX3JkbWFfcmVhZF93ciByZWFkOwogCXN0cnVjdCB0M19yZWNlaXZlX3dyIHJlY3Y7CisJc3RydWN0IHQzX2Zhc3RyZWdfd3IgZmFzdHJlZzsKKwlzdHJ1Y3QgdDNfcGJsX2ZyYWcgcGJsX2ZyYWc7CiAJc3RydWN0IHQzX2xvY2FsX2ludl93ciBsb2NhbF9pbnY7CiAJc3RydWN0IHQzX2JpbmRfbXdfd3IgYmluZDsKIAlzdHJ1Y3QgdDNfYnlwYXNzX3dyIGJ5cGFzczsKIAlzdHJ1Y3QgdDNfcmRtYV9pbml0X3dyIGluaXQ7CiAJc3RydWN0IHQzX21vZGlmeV9xcF93ciBxcF9tb2Q7CiAJc3RydWN0IHQzX2dlbmJpdCBnZW5iaXQ7Ci0JdTY0IGZsaXRbMTZdOworCXN0cnVjdCB0M193cV9pbl9lcnIgd3FfaW5fZXJyOworCV9fYmU2NCBmbGl0WzE2XTsKIH07CiAKICNkZWZpbmUgVDNfU1FfQ1FFX0ZMSVQJICAxMwpAQCAtMzY2LDEyICs0MTIsMTggQEAKIAlyZXR1cm4gR19GV19SSVdSX09QKGJlMzJfdG9fY3B1KHdxZS0+b3Bfc2VvcF9mbGFncykpOwogfQogCitlbnVtIHQzX3dyX2hkcl9iaXRzIHsKKwlUM19FT1AgPSAxLAorCVQzX1NPUCA9IDIsCisJVDNfU09QRU9QID0gVDNfRU9QfFQzX1NPUCwKK307CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBidWlsZF9md19yaXdyaChzdHJ1Y3QgZndfcml3cmggKndxZSwgZW51bSB0M193cl9vcGNvZGUgb3AsCiAJCQkJICBlbnVtIHQzX3dyX2ZsYWdzIGZsYWdzLCB1OCBnZW5iaXQsIHUzMiB0aWQsCi0JCQkJICB1OCBsZW4pCisJCQkJICB1OCBsZW4sIHU4IHNvcGVvcCkKIHsKIAl3cWUtPm9wX3Nlb3BfZmxhZ3MgPSBjcHVfdG9fYmUzMihWX0ZXX1JJV1JfT1Aob3ApIHwKLQkJCQkJIFZfRldfUklXUl9TT1BFT1AoTV9GV19SSVdSX1NPUEVPUCkgfAorCQkJCQkgVl9GV19SSVdSX1NPUEVPUChzb3Blb3ApIHwKIAkJCQkJIFZfRldfUklXUl9GTEFHUyhmbGFncykpOwogCXdtYigpOwogCXdxZS0+Z2VuX3RpZF9sZW4gPSBjcHVfdG9fYmUzMihWX0ZXX1JJV1JfR0VOKGdlbmJpdCkgfApAQCAtNDA0LDYgKzQ1Niw3IEBACiB9OwogCiBlbnVtIHRwdF9tZW1fcGVybSB7CisJVFBUX01XX0JJTkQgPSAweDEwLAogCVRQVF9MT0NBTF9SRUFEID0gMHg4LAogCVRQVF9MT0NBTF9XUklURSA9IDB4NCwKIAlUUFRfUkVNT1RFX1JFQUQgPSAweDIsCkBAIC02MTUsNiArNjY4LDExIEBACiAJaW50CQkJc2lnbmFsZWQ7CiB9OwogCitzdHJ1Y3QgdDNfc3dycSB7CisJX191NjQJCQl3cl9pZDsKKwlfX3UzMgkJCXBibF9hZGRyOworfTsKKwogLyoKICAqIEEgVDMgV1EgaW1wbGVtZW50cyBib3RoIHRoZSBTUSBhbmQgUlEuCiAgKi8KQEAgLTYzMSwxNCArNjg5LDE1IEBACiAJdTMyIHNxX3dwdHI7CQkJLyogc3Ffd3B0ciAtIHNxX3JwdHIgPT0gY291bnQgb2YgKi8KIAl1MzIgc3FfcnB0cjsJCQkvKiBwZW5kaW5nIHdycyAqLwogCXUzMiBzcV9zaXplX2xvZzI7CQkvKiBzcSBzaXplICovCi0JdTY0ICpycTsJCQkvKiBTVyBSUSAoaG9sZHMgY29uc3VtZXIgd3JfaWRzICovCisJc3RydWN0IHQzX3N3cnEgKnJxOwkJLyogU1cgUlEgKGhvbGRzIGNvbnN1bWVyIHdyX2lkcyAqLwogCXUzMiBycV93cHRyOwkJCS8qIHJxX3dwdHIgLSBycV9ycHRyID09IGNvdW50IG9mICovCiAJdTMyIHJxX3JwdHI7CQkJLyogcGVuZGluZyB3cnMgKi8KLQl1NjQgKnJxX29sZGVzdF93cjsJCS8qIG9sZGVzdCB3ciBvbiB0aGUgU1cgUlEgKi8KKwlzdHJ1Y3QgdDNfc3dycSAqcnFfb2xkZXN0X3dyOwkvKiBvbGRlc3Qgd3Igb24gdGhlIFNXIFJRICovCiAJdTMyIHJxX3NpemVfbG9nMjsJCS8qIHJxIHNpemUgKi8KIAl1MzIgcnFfYWRkcjsJCQkvKiBycSBhZGFwdGVyIGFkZHJlc3MgKi8KIAl2b2lkIF9faW9tZW0gKmRvb3JiZWxsOwkJLyoga2VybmVsIGRiICovCiAJdTY0IHVkYjsJCQkvKiB1c2VyIGRiIGlmIGFueSAqLworCXN0cnVjdCBjeGlvX3JkZXYgKnJkZXY7CiB9OwogCiBzdHJ1Y3QgdDNfY3EgewpAQCAtNjU5LDcgKzcxOCw3IEBACiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBjeGlvX3NldF93cV9pbl9lcnJvcihzdHJ1Y3QgdDNfd3EgKndxKQogewotCXdxLT5xdWV1ZS0+ZmxpdFsxM10gPSAxOworCXdxLT5xdWV1ZS0+d3FfaW5fZXJyLmVyciA9IDE7CiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IHQzX2NxZSAqY3hpb19uZXh0X2h3X2NxZShzdHJ1Y3QgdDNfY3EgKmNxKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmMKaW5kZXggNzE1NTRlYS4uNDQ4OWM4OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5jCkBAIC03MSwxOCArNzEsMTYgQEAKIAlpZHJfaW5pdCgmcm5pY3AtPm1taWRyKTsKIAlzcGluX2xvY2tfaW5pdCgmcm5pY3AtPmxvY2spOwogCi0Jcm5pY3AtPmF0dHIudmVuZG9yX2lkID0gMHgxNjg7Ci0Jcm5pY3AtPmF0dHIudmVuZG9yX3BhcnRfaWQgPSA3OwogCXJuaWNwLT5hdHRyLm1heF9xcHMgPSBUM19NQVhfTlVNX1FQIC0gMzI7Ci0Jcm5pY3AtPmF0dHIubWF4X3dycyA9ICgxVUwgPDwgMjQpIC0gMTsKKwlybmljcC0+YXR0ci5tYXhfd3JzID0gVDNfTUFYX1FQX0RFUFRIOwogCXJuaWNwLT5hdHRyLm1heF9zZ2VfcGVyX3dyID0gVDNfTUFYX1NHRTsKIAlybmljcC0+YXR0ci5tYXhfc2dlX3Blcl9yZG1hX3dyaXRlX3dyID0gVDNfTUFYX1NHRTsKIAlybmljcC0+YXR0ci5tYXhfY3FzID0gVDNfTUFYX05VTV9DUSAtIDE7Ci0Jcm5pY3AtPmF0dHIubWF4X2NxZXNfcGVyX2NxID0gKDFVTCA8PCAyNCkgLSAxOworCXJuaWNwLT5hdHRyLm1heF9jcWVzX3Blcl9jcSA9IFQzX01BWF9DUV9ERVBUSDsKIAlybmljcC0+YXR0ci5tYXhfbWVtX3JlZ3MgPSBjeGlvX251bV9zdGFncygmcm5pY3AtPnJkZXYpOwogCXJuaWNwLT5hdHRyLm1heF9waHlzX2J1Zl9lbnRyaWVzID0gVDNfTUFYX1BCTF9TSVpFOwogCXJuaWNwLT5hdHRyLm1heF9wZHMgPSBUM19NQVhfTlVNX1BEIC0gMTsKLQlybmljcC0+YXR0ci5tZW1fcGdzaXplc19iaXRtYXNrID0gMHg3RkZGOwkvKiA0S0ItMTI4TUIgKi8KKwlybmljcC0+YXR0ci5tZW1fcGdzaXplc19iaXRtYXNrID0gVDNfUEFHRVNJWkVfTUFTSzsKIAlybmljcC0+YXR0ci5tYXhfbXJfc2l6ZSA9IFQzX01BWF9NUl9TSVpFOwogCXJuaWNwLT5hdHRyLmNhbl9yZXNpemVfd3EgPSAwOwogCXJuaWNwLT5hdHRyLm1heF9yZG1hX3JlYWRzX3Blcl9xcCA9IDg7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guaAppbmRleCBkMjQwOWE1Li4zNzczNDUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmgKQEAgLTQ4LDggKzQ4LDYgQEAKIHN0cnVjdCBpd2NoX21yOwogCiBzdHJ1Y3QgaXdjaF9ybmljX2F0dHJpYnV0ZXMgewotCXUzMiB2ZW5kb3JfaWQ7Ci0JdTMyIHZlbmRvcl9wYXJ0X2lkOwogCXUzMiBtYXhfcXBzOwogCXUzMiBtYXhfd3JzOwkJCQkvKiBNYXggZm9yIGFueSBTUS9SUSAqLwogCXUzMiBtYXhfc2dlX3Blcl93cjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX2NxLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9jcS5jCmluZGV4IDRlZThjY2QuLmNmNTQ3NGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX2NxLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfY3EuYwpAQCAtODEsNiArODEsNyBAQAogCXdjLT53cl9pZCA9IGNvb2tpZTsKIAl3Yy0+cXAgPSAmcWhwLT5pYnFwOwogCXdjLT52ZW5kb3JfZXJyID0gQ1FFX1NUQVRVUyhjcWUpOworCXdjLT53Y19mbGFncyA9IDA7CiAKIAlQREJHKCIlcyBxcGlkIDB4JXggdHlwZSAlZCBvcGNvZGUgJWQgc3RhdHVzIDB4JXggd3JpZCBoaSAweCV4ICIKIAkgICAgICJsbyAweCV4IGNvb2tpZSAweCVsbHhcbiIsIF9fZnVuY19fLApAQCAtOTQsNiArOTUsMTEgQEAKIAkJZWxzZQogCQkJd2MtPmJ5dGVfbGVuID0gMDsKIAkJd2MtPm9wY29kZSA9IElCX1dDX1JFQ1Y7CisJCWlmIChDUUVfT1BDT0RFKGNxZSkgPT0gVDNfU0VORF9XSVRIX0lOViB8fAorCQkgICAgQ1FFX09QQ09ERShjcWUpID09IFQzX1NFTkRfV0lUSF9TRV9JTlYpIHsKKwkJCXdjLT5leC5pbnZhbGlkYXRlX3JrZXkgPSBDUUVfV1JJRF9TVEFHKGNxZSk7CisJCQl3Yy0+d2NfZmxhZ3MgfD0gSUJfV0NfV0lUSF9JTlZBTElEQVRFOworCQl9CiAJfSBlbHNlIHsKIAkJc3dpdGNoIChDUUVfT1BDT0RFKGNxZSkpIHsKIAkJY2FzZSBUM19SRE1BX1dSSVRFOgpAQCAtMTA1LDE3ICsxMTEsMjAgQEAKIAkJCWJyZWFrOwogCQljYXNlIFQzX1NFTkQ6CiAJCWNhc2UgVDNfU0VORF9XSVRIX1NFOgorCQljYXNlIFQzX1NFTkRfV0lUSF9JTlY6CisJCWNhc2UgVDNfU0VORF9XSVRIX1NFX0lOVjoKIAkJCXdjLT5vcGNvZGUgPSBJQl9XQ19TRU5EOwogCQkJYnJlYWs7CiAJCWNhc2UgVDNfQklORF9NVzoKIAkJCXdjLT5vcGNvZGUgPSBJQl9XQ19CSU5EX01XOwogCQkJYnJlYWs7CiAKLQkJLyogdGhlc2UgYXJlbid0IHN1cHBvcnRlZCB5ZXQgKi8KLQkJY2FzZSBUM19TRU5EX1dJVEhfSU5WOgotCQljYXNlIFQzX1NFTkRfV0lUSF9TRV9JTlY6CiAJCWNhc2UgVDNfTE9DQUxfSU5WOgorCQkJd2MtPm9wY29kZSA9IElCX1dDX0xPQ0FMX0lOVjsKKwkJCWJyZWFrOwogCQljYXNlIFQzX0ZBU1RfUkVHSVNURVI6CisJCQl3Yy0+b3Bjb2RlID0gSUJfV0NfRkFTVF9SRUdfTVI7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCXByaW50ayhLRVJOX0VSUiBNT0QgIlVuZXhwZWN0ZWQgb3Bjb2RlICVkICIKIAkJCSAgICAgICAiaW4gdGhlIENRRSByZWNlaXZlZCBmb3IgUVBJRD0weCUweFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5jCmluZGV4IDg5MzQxNzguLmI4OTY0MGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuYwpAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUgIml3Y2hfcHJvdmlkZXIuaCIKICNpbmNsdWRlICJpd2NoX2NtLmgiCiAjaW5jbHVkZSAiaXdjaF91c2VyLmgiCisjaW5jbHVkZSAiY29tbW9uLmgiCiAKIHN0YXRpYyBpbnQgaXdjaF9tb2RpZnlfcG9ydChzdHJ1Y3QgaWJfZGV2aWNlICppYmRldiwKIAkJCSAgICB1OCBwb3J0LCBpbnQgcG9ydF9tb2RpZnlfbWFzaywKQEAgLTc0Nyw2ICs3NDgsNyBAQAogCW1ocC0+YXR0ci50eXBlID0gVFBUX01XOwogCW1ocC0+YXR0ci5zdGFnID0gc3RhZzsKIAltbWlkID0gKHN0YWcpID4+IDg7CisJbWhwLT5pYm13LnJrZXkgPSBzdGFnOwogCWluc2VydF9oYW5kbGUocmhwLCAmcmhwLT5tbWlkciwgbWhwLCBtbWlkKTsKIAlQREJHKCIlcyBtbWlkIDB4JXggbWhwICVwIHN0YWcgMHgleFxuIiwgX19mdW5jX18sIG1taWQsIG1ocCwgc3RhZyk7CiAJcmV0dXJuICYobWhwLT5pYm13KTsKQEAgLTc2OCw2ICs3NzAsNjggQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHN0cnVjdCBpYl9tciAqaXdjaF9hbGxvY19mYXN0X3JlZ19tcihzdHJ1Y3QgaWJfcGQgKnBkLCBpbnQgcGJsX2RlcHRoKQoreworCXN0cnVjdCBpd2NoX2RldiAqcmhwOworCXN0cnVjdCBpd2NoX3BkICpwaHA7CisJc3RydWN0IGl3Y2hfbXIgKm1ocDsKKwl1MzIgbW1pZDsKKwl1MzIgc3RhZyA9IDA7CisJaW50IHJldDsKKworCXBocCA9IHRvX2l3Y2hfcGQocGQpOworCXJocCA9IHBocC0+cmhwOworCW1ocCA9IGt6YWxsb2Moc2l6ZW9mKCptaHApLCBHRlBfS0VSTkVMKTsKKwlpZiAoIW1ocCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwltaHAtPnJocCA9IHJocDsKKwlyZXQgPSBpd2NoX2FsbG9jX3BibChtaHAsIHBibF9kZXB0aCk7CisJaWYgKHJldCkgeworCQlrZnJlZShtaHApOworCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCX0KKwltaHAtPmF0dHIucGJsX3NpemUgPSBwYmxfZGVwdGg7CisJcmV0ID0gY3hpb19hbGxvY2F0ZV9zdGFnKCZyaHAtPnJkZXYsICZzdGFnLCBwaHAtPnBkaWQsCisJCQkJIG1ocC0+YXR0ci5wYmxfc2l6ZSwgbWhwLT5hdHRyLnBibF9hZGRyKTsKKwlpZiAocmV0KSB7CisJCWl3Y2hfZnJlZV9wYmwobWhwKTsKKwkJa2ZyZWUobWhwKTsKKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKKwl9CisJbWhwLT5hdHRyLnBkaWQgPSBwaHAtPnBkaWQ7CisJbWhwLT5hdHRyLnR5cGUgPSBUUFRfTk9OX1NIQVJFRF9NUjsKKwltaHAtPmF0dHIuc3RhZyA9IHN0YWc7CisJbWhwLT5hdHRyLnN0YXRlID0gMTsKKwltbWlkID0gKHN0YWcpID4+IDg7CisJbWhwLT5pYm1yLnJrZXkgPSBtaHAtPmlibXIubGtleSA9IHN0YWc7CisJaW5zZXJ0X2hhbmRsZShyaHAsICZyaHAtPm1taWRyLCBtaHAsIG1taWQpOworCVBEQkcoIiVzIG1taWQgMHgleCBtaHAgJXAgc3RhZyAweCV4XG4iLCBfX2Z1bmNfXywgbW1pZCwgbWhwLCBzdGFnKTsKKwlyZXR1cm4gJihtaHAtPmlibXIpOworfQorCitzdGF0aWMgc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqaXdjaF9hbGxvY19mYXN0cmVnX3BibCgKKwkJCQkJc3RydWN0IGliX2RldmljZSAqZGV2aWNlLAorCQkJCQlpbnQgcGFnZV9saXN0X2xlbikKK3sKKwlzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3Q7CisKKwlwYWdlX2xpc3QgPSBrbWFsbG9jKHNpemVvZiAqcGFnZV9saXN0ICsgcGFnZV9saXN0X2xlbiAqIHNpemVvZih1NjQpLAorCQkJICAgIEdGUF9LRVJORUwpOworCWlmICghcGFnZV9saXN0KQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCXBhZ2VfbGlzdC0+cGFnZV9saXN0ID0gKHU2NCAqKShwYWdlX2xpc3QgKyAxKTsKKwlwYWdlX2xpc3QtPm1heF9wYWdlX2xpc3RfbGVuID0gcGFnZV9saXN0X2xlbjsKKworCXJldHVybiBwYWdlX2xpc3Q7Cit9CisKK3N0YXRpYyB2b2lkIGl3Y2hfZnJlZV9mYXN0cmVnX3BibChzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3QpCit7CisJa2ZyZWUocGFnZV9saXN0KTsKK30KKwogc3RhdGljIGludCBpd2NoX2Rlc3Ryb3lfcXAoc3RydWN0IGliX3FwICppYl9xcCkKIHsKIAlzdHJ1Y3QgaXdjaF9kZXYgKnJocDsKQEAgLTg0Myw2ICs5MDcsMTUgQEAKIAkgKi8KIAlzcXNpemUgPSByb3VuZHVwX3Bvd19vZl90d28oYXR0cnMtPmNhcC5tYXhfc2VuZF93cik7CiAJd3FzaXplID0gcm91bmR1cF9wb3dfb2ZfdHdvKHJxc2l6ZSArIHNxc2l6ZSk7CisKKwkvKgorCSAqIEtlcm5lbCB1c2VycyBuZWVkIG1vcmUgd3Egc3BhY2UgZm9yIGZhc3RyZWcgV1JzIHdoaWNoIGNhbiB0YWtlCisJICogMiBXUiBmcmFnbWVudHMuCisJICovCisJdWNvbnRleHQgPSBwZC0+dW9iamVjdCA/IHRvX2l3Y2hfdWNvbnRleHQocGQtPnVvYmplY3QtPmNvbnRleHQpIDogTlVMTDsKKwlpZiAoIXVjb250ZXh0ICYmIHdxc2l6ZSA8IChycXNpemUgKyAoMiAqIHNxc2l6ZSkpKQorCQl3cXNpemUgPSByb3VuZHVwX3Bvd19vZl90d28ocnFzaXplICsKKwkJCQlyb3VuZHVwX3Bvd19vZl90d28oYXR0cnMtPmNhcC5tYXhfc2VuZF93ciAqIDIpKTsKIAlQREJHKCIlcyB3cXNpemUgJWQgc3FzaXplICVkIHJxc2l6ZSAlZFxuIiwgX19mdW5jX18sCiAJICAgICB3cXNpemUsIHNxc2l6ZSwgcnFzaXplKTsKIAlxaHAgPSBremFsbG9jKHNpemVvZigqcWhwKSwgR0ZQX0tFUk5FTCk7CkBAIC04NTEsNyArOTI0LDYgQEAKIAlxaHAtPndxLnNpemVfbG9nMiA9IGlsb2cyKHdxc2l6ZSk7CiAJcWhwLT53cS5ycV9zaXplX2xvZzIgPSBpbG9nMihycXNpemUpOwogCXFocC0+d3Euc3Ffc2l6ZV9sb2cyID0gaWxvZzIoc3FzaXplKTsKLQl1Y29udGV4dCA9IHBkLT51b2JqZWN0ID8gdG9faXdjaF91Y29udGV4dChwZC0+dW9iamVjdC0+Y29udGV4dCkgOiBOVUxMOwogCWlmIChjeGlvX2NyZWF0ZV9xcCgmcmhwLT5yZGV2LCAhdWRhdGEsICZxaHAtPndxLAogCQkJICAgdWNvbnRleHQgPyAmdWNvbnRleHQtPnVjdHggOiAmcmhwLT5yZGV2LnVjdHgpKSB7CiAJCWtmcmVlKHFocCk7CkBAIC05MzUsMTAgKzEwMDcsMTAgQEAKIAlxaHAtPmlicXAucXBfbnVtID0gcWhwLT53cS5xcGlkOwogCWluaXRfdGltZXIoJihxaHAtPnRpbWVyKSk7CiAJUERCRygiJXMgc3FfbnVtX2VudHJpZXMgJWQsIHJxX251bV9lbnRyaWVzICVkICIKLQkgICAgICJxcGlkIDB4JTB4IHFocCAlcCBkbWFfYWRkciAweCVsbHggc2l6ZSAlZFxuIiwKKwkgICAgICJxcGlkIDB4JTB4IHFocCAlcCBkbWFfYWRkciAweCVsbHggc2l6ZSAlZCBycV9hZGRyIDB4JXhcbiIsCiAJICAgICBfX2Z1bmNfXywgcWhwLT5hdHRyLnNxX251bV9lbnRyaWVzLCBxaHAtPmF0dHIucnFfbnVtX2VudHJpZXMsCiAJICAgICBxaHAtPndxLnFwaWQsIHFocCwgKHVuc2lnbmVkIGxvbmcgbG9uZykgcWhwLT53cS5kbWFfYWRkciwKLQkgICAgIDEgPDwgcWhwLT53cS5zaXplX2xvZzIpOworCSAgICAgMSA8PCBxaHAtPndxLnNpemVfbG9nMiwgcWhwLT53cS5ycV9hZGRyKTsKIAlyZXR1cm4gJnFocC0+aWJxcDsKIH0KIApAQCAtMTAyMyw2ICsxMDk1LDI5IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB1NjQgZndfdmVyc19zdHJpbmdfdG9fdTY0KHN0cnVjdCBpd2NoX2RldiAqaXdjaF9kZXYpCit7CisJc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyBpbmZvOworCXN0cnVjdCBuZXRfZGV2aWNlICpsbGRldiA9IGl3Y2hfZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldjsKKwljaGFyICpjcCwgKm5leHQ7CisJdW5zaWduZWQgZndfbWFqLCBmd19taW4sIGZ3X21pYzsKKworCXJ0bmxfbG9jaygpOworCWxsZGV2LT5ldGh0b29sX29wcy0+Z2V0X2RydmluZm8obGxkZXYsICZpbmZvKTsKKwlydG5sX3VubG9jaygpOworCisJbmV4dCA9IGluZm8uZndfdmVyc2lvbiArIDE7CisJY3AgPSBzdHJzZXAoJm5leHQsICIuIik7CisJc3NjYW5mKGNwLCAiJWkiLCAmZndfbWFqKTsKKwljcCA9IHN0cnNlcCgmbmV4dCwgIi4iKTsKKwlzc2NhbmYoY3AsICIlaSIsICZmd19taW4pOworCWNwID0gc3Ryc2VwKCZuZXh0LCAiLiIpOworCXNzY2FuZihjcCwgIiVpIiwgJmZ3X21pYyk7CisKKwlyZXR1cm4gKCgodTY0KWZ3X21haiAmIDB4ZmZmZikgPDwgMzIpIHwgKChmd19taW4gJiAweGZmZmYpIDw8IDE2KSB8CisJICAgICAgIChmd19taWMgJiAweGZmZmYpOworfQorCiBzdGF0aWMgaW50IGl3Y2hfcXVlcnlfZGV2aWNlKHN0cnVjdCBpYl9kZXZpY2UgKmliZGV2LAogCQkJICAgICBzdHJ1Y3QgaWJfZGV2aWNlX2F0dHIgKnByb3BzKQogewpAQCAtMTAzMyw3ICsxMTI4LDEwIEBACiAJZGV2ID0gdG9faXdjaF9kZXYoaWJkZXYpOwogCW1lbXNldChwcm9wcywgMCwgc2l6ZW9mICpwcm9wcyk7CiAJbWVtY3B5KCZwcm9wcy0+c3lzX2ltYWdlX2d1aWQsIGRldi0+cmRldi50M2NkZXZfcC0+bGxkZXYtPmRldl9hZGRyLCA2KTsKKwlwcm9wcy0+aHdfdmVyID0gZGV2LT5yZGV2LnQzY2Rldl9wLT50eXBlOworCXByb3BzLT5md192ZXIgPSBmd192ZXJzX3N0cmluZ190b191NjQoZGV2KTsKIAlwcm9wcy0+ZGV2aWNlX2NhcF9mbGFncyA9IGRldi0+ZGV2aWNlX2NhcF9mbGFnczsKKwlwcm9wcy0+cGFnZV9zaXplX2NhcCA9IGRldi0+YXR0ci5tZW1fcGdzaXplc19iaXRtYXNrOwogCXByb3BzLT52ZW5kb3JfaWQgPSAodTMyKWRldi0+cmRldi5ybmljX2luZm8ucGRldi0+dmVuZG9yOwogCXByb3BzLT52ZW5kb3JfcGFydF9pZCA9ICh1MzIpZGV2LT5yZGV2LnJuaWNfaW5mby5wZGV2LT5kZXZpY2U7CiAJcHJvcHMtPm1heF9tcl9zaXplID0gZGV2LT5hdHRyLm1heF9tcl9zaXplOwpAQCAtMTA0OCw2ICsxMTQ2LDcgQEAKIAlwcm9wcy0+bWF4X21yID0gZGV2LT5hdHRyLm1heF9tZW1fcmVnczsKIAlwcm9wcy0+bWF4X3BkID0gZGV2LT5hdHRyLm1heF9wZHM7CiAJcHJvcHMtPmxvY2FsX2NhX2Fja19kZWxheSA9IDA7CisJcHJvcHMtPm1heF9mYXN0X3JlZ19wYWdlX2xpc3RfbGVuID0gVDNfTUFYX0ZBU1RSRUdfREVQVEg7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEwODgsNiArMTE4NywyOCBAQAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBpd2NoX2Rldi0+cmRldi50M2NkZXZfcC0+dHlwZSk7CiB9CiAKK3N0YXRpYyBpbnQgZndfc3VwcG9ydHNfZmFzdHJlZyhzdHJ1Y3QgaXdjaF9kZXYgKml3Y2hfZGV2KQoreworCXN0cnVjdCBldGh0b29sX2RydmluZm8gaW5mbzsKKwlzdHJ1Y3QgbmV0X2RldmljZSAqbGxkZXYgPSBpd2NoX2Rldi0+cmRldi50M2NkZXZfcC0+bGxkZXY7CisJY2hhciAqY3AsICpuZXh0OworCXVuc2lnbmVkIGZ3X21haiwgZndfbWluOworCisJcnRubF9sb2NrKCk7CisJbGxkZXYtPmV0aHRvb2xfb3BzLT5nZXRfZHJ2aW5mbyhsbGRldiwgJmluZm8pOworCXJ0bmxfdW5sb2NrKCk7CisKKwluZXh0ID0gaW5mby5md192ZXJzaW9uKzE7CisJY3AgPSBzdHJzZXAoJm5leHQsICIuIik7CisJc3NjYW5mKGNwLCAiJWkiLCAmZndfbWFqKTsKKwljcCA9IHN0cnNlcCgmbmV4dCwgIi4iKTsKKwlzc2NhbmYoY3AsICIlaSIsICZmd19taW4pOworCisJUERCRygiJXMgbWFqICV1IG1pbiAldVxuIiwgX19mdW5jX18sIGZ3X21haiwgZndfbWluKTsKKworCXJldHVybiBmd19tYWogPiA2IHx8IChmd19tYWogPT0gNiAmJiBmd19taW4gPiAwKTsKK30KKwogc3RhdGljIHNzaXplX3Qgc2hvd19md192ZXIoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQogewogCXN0cnVjdCBpd2NoX2RldiAqaXdjaF9kZXYgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgaXdjaF9kZXYsCkBAIC0xMDk2LDcgKzEyMTcsOSBAQAogCXN0cnVjdCBuZXRfZGV2aWNlICpsbGRldiA9IGl3Y2hfZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldjsKIAogCVBEQkcoIiVzIGRldiAweCVwXG4iLCBfX2Z1bmNfXywgZGV2KTsKKwlydG5sX2xvY2soKTsKIAlsbGRldi0+ZXRodG9vbF9vcHMtPmdldF9kcnZpbmZvKGxsZGV2LCAmaW5mbyk7CisJcnRubF91bmxvY2soKTsKIAlyZXR1cm4gc3ByaW50ZihidWYsICIlc1xuIiwgaW5mby5md192ZXJzaW9uKTsKIH0KIApAQCAtMTEwOSw3ICsxMjMyLDkgQEAKIAlzdHJ1Y3QgbmV0X2RldmljZSAqbGxkZXYgPSBpd2NoX2Rldi0+cmRldi50M2NkZXZfcC0+bGxkZXY7CiAKIAlQREJHKCIlcyBkZXYgMHglcFxuIiwgX19mdW5jX18sIGRldik7CisJcnRubF9sb2NrKCk7CiAJbGxkZXYtPmV0aHRvb2xfb3BzLT5nZXRfZHJ2aW5mbyhsbGRldiwgJmluZm8pOworCXJ0bmxfdW5sb2NrKCk7CiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJXNcbiIsIGluZm8uZHJpdmVyKTsKIH0KIApAQCAtMTEyMyw2ICsxMjQ4LDYxIEBACiAJCSAgICAgICBpd2NoX2Rldi0+cmRldi5ybmljX2luZm8ucGRldi0+ZGV2aWNlKTsKIH0KIAorc3RhdGljIGludCBpd2NoX2dldF9taWIoc3RydWN0IGliX2RldmljZSAqaWJkZXYsCisJCQl1bmlvbiByZG1hX3Byb3RvY29sX3N0YXRzICpzdGF0cykKK3sKKwlzdHJ1Y3QgaXdjaF9kZXYgKmRldjsKKwlzdHJ1Y3QgdHBfbWliX3N0YXRzIG07CisJaW50IHJldDsKKworCVBEQkcoIiVzIGliZGV2ICVwXG4iLCBfX2Z1bmNfXywgaWJkZXYpOworCWRldiA9IHRvX2l3Y2hfZGV2KGliZGV2KTsKKwlyZXQgPSBkZXYtPnJkZXYudDNjZGV2X3AtPmN0bChkZXYtPnJkZXYudDNjZGV2X3AsIFJETUFfR0VUX01JQiwgJm0pOworCWlmIChyZXQpCisJCXJldHVybiAtRU5PU1lTOworCisJbWVtc2V0KHN0YXRzLCAwLCBzaXplb2YgKnN0YXRzKTsKKwlzdGF0cy0+aXcuaXBJblJlY2VpdmVzID0gKCh1NjQpIG0uaXBJblJlY2VpdmVfaGkgPDwgMzIpICsKKwkJCQltLmlwSW5SZWNlaXZlX2xvOworCXN0YXRzLT5pdy5pcEluSGRyRXJyb3JzID0gKCh1NjQpIG0uaXBJbkhkckVycm9yc19oaSA8PCAzMikgKworCQkJCSAgbS5pcEluSGRyRXJyb3JzX2xvOworCXN0YXRzLT5pdy5pcEluQWRkckVycm9ycyA9ICgodTY0KSBtLmlwSW5BZGRyRXJyb3JzX2hpIDw8IDMyKSArCisJCQkJICAgbS5pcEluQWRkckVycm9yc19sbzsKKwlzdGF0cy0+aXcuaXBJblVua25vd25Qcm90b3MgPSAoKHU2NCkgbS5pcEluVW5rbm93blByb3Rvc19oaSA8PCAzMikgKworCQkJCSAgICAgIG0uaXBJblVua25vd25Qcm90b3NfbG87CisJc3RhdHMtPml3LmlwSW5EaXNjYXJkcyA9ICgodTY0KSBtLmlwSW5EaXNjYXJkc19oaSA8PCAzMikgKworCQkJCSBtLmlwSW5EaXNjYXJkc19sbzsKKwlzdGF0cy0+aXcuaXBJbkRlbGl2ZXJzID0gKCh1NjQpIG0uaXBJbkRlbGl2ZXJzX2hpIDw8IDMyKSArCisJCQkJIG0uaXBJbkRlbGl2ZXJzX2xvOworCXN0YXRzLT5pdy5pcE91dFJlcXVlc3RzID0gKCh1NjQpIG0uaXBPdXRSZXF1ZXN0c19oaSA8PCAzMikgKworCQkJCSAgbS5pcE91dFJlcXVlc3RzX2xvOworCXN0YXRzLT5pdy5pcE91dERpc2NhcmRzID0gKCh1NjQpIG0uaXBPdXREaXNjYXJkc19oaSA8PCAzMikgKworCQkJCSAgbS5pcE91dERpc2NhcmRzX2xvOworCXN0YXRzLT5pdy5pcE91dE5vUm91dGVzID0gKCh1NjQpIG0uaXBPdXROb1JvdXRlc19oaSA8PCAzMikgKworCQkJCSAgbS5pcE91dE5vUm91dGVzX2xvOworCXN0YXRzLT5pdy5pcFJlYXNtVGltZW91dCA9ICh1NjQpIG0uaXBSZWFzbVRpbWVvdXQ7CisJc3RhdHMtPml3LmlwUmVhc21SZXFkcyA9ICh1NjQpIG0uaXBSZWFzbVJlcWRzOworCXN0YXRzLT5pdy5pcFJlYXNtT0tzID0gKHU2NCkgbS5pcFJlYXNtT0tzOworCXN0YXRzLT5pdy5pcFJlYXNtRmFpbHMgPSAodTY0KSBtLmlwUmVhc21GYWlsczsKKwlzdGF0cy0+aXcudGNwQWN0aXZlT3BlbnMgPSAodTY0KSBtLnRjcEFjdGl2ZU9wZW5zOworCXN0YXRzLT5pdy50Y3BQYXNzaXZlT3BlbnMgPSAodTY0KSBtLnRjcFBhc3NpdmVPcGVuczsKKwlzdGF0cy0+aXcudGNwQXR0ZW1wdEZhaWxzID0gKHU2NCkgbS50Y3BBdHRlbXB0RmFpbHM7CisJc3RhdHMtPml3LnRjcEVzdGFiUmVzZXRzID0gKHU2NCkgbS50Y3BFc3RhYlJlc2V0czsKKwlzdGF0cy0+aXcudGNwT3V0UnN0cyA9ICh1NjQpIG0udGNwT3V0UnN0czsKKwlzdGF0cy0+aXcudGNwQ3VyckVzdGFiID0gKHU2NCkgbS50Y3BDdXJyRXN0YWI7CisJc3RhdHMtPml3LnRjcEluU2VncyA9ICgodTY0KSBtLnRjcEluU2Vnc19oaSA8PCAzMikgKworCQkJICAgICAgbS50Y3BJblNlZ3NfbG87CisJc3RhdHMtPml3LnRjcE91dFNlZ3MgPSAoKHU2NCkgbS50Y3BPdXRTZWdzX2hpIDw8IDMyKSArCisJCQkgICAgICAgbS50Y3BPdXRTZWdzX2xvOworCXN0YXRzLT5pdy50Y3BSZXRyYW5zU2VncyA9ICgodTY0KSBtLnRjcFJldHJhbnNTZWdfaGkgPDwgMzIpICsKKwkJCQkgIG0udGNwUmV0cmFuc1NlZ19sbzsKKwlzdGF0cy0+aXcudGNwSW5FcnJzID0gKCh1NjQpIG0udGNwSW5FcnJzX2hpIDw8IDMyKSArCisJCQkgICAgICBtLnRjcEluRXJyc19sbzsKKwlzdGF0cy0+aXcudGNwUnRvTWluID0gKHU2NCkgbS50Y3BSdG9NaW47CisJc3RhdHMtPml3LnRjcFJ0b01heCA9ICh1NjQpIG0udGNwUnRvTWF4OworCXJldHVybiAwOworfQorCiBzdGF0aWMgREVWSUNFX0FUVFIoaHdfcmV2LCBTX0lSVUdPLCBzaG93X3JldiwgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIoZndfdmVyLCBTX0lSVUdPLCBzaG93X2Z3X3ZlciwgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIoaGNhX3R5cGUsIFNfSVJVR08sIHNob3dfaGNhLCBOVUxMKTsKQEAgLTExMzIsNyArMTMxMiw3IEBACiAJJmRldl9hdHRyX2h3X3JldiwKIAkmZGV2X2F0dHJfZndfdmVyLAogCSZkZXZfYXR0cl9oY2FfdHlwZSwKLQkmZGV2X2F0dHJfYm9hcmRfaWQKKwkmZGV2X2F0dHJfYm9hcmRfaWQsCiB9OwogCiBpbnQgaXdjaF9yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0IGl3Y2hfZGV2ICpkZXYpCkBAIC0xMTQ1LDggKzEzMjUsMTIgQEAKIAltZW1zZXQoJmRldi0+aWJkZXYubm9kZV9ndWlkLCAwLCBzaXplb2YoZGV2LT5pYmRldi5ub2RlX2d1aWQpKTsKIAltZW1jcHkoJmRldi0+aWJkZXYubm9kZV9ndWlkLCBkZXYtPnJkZXYudDNjZGV2X3AtPmxsZGV2LT5kZXZfYWRkciwgNik7CiAJZGV2LT5pYmRldi5vd25lciA9IFRISVNfTU9EVUxFOwotCWRldi0+ZGV2aWNlX2NhcF9mbGFncyA9Ci0JICAgIChJQl9ERVZJQ0VfWkVST19TVEFHIHwgSUJfREVWSUNFX01FTV9XSU5ET1cpOworCWRldi0+ZGV2aWNlX2NhcF9mbGFncyA9IElCX0RFVklDRV9MT0NBTF9ETUFfTEtFWSB8IElCX0RFVklDRV9NRU1fV0lORE9XOworCisJLyogY3hnYjMgc3VwcG9ydHMgU1RhZyAwLiAqLworCWRldi0+aWJkZXYubG9jYWxfZG1hX2xrZXkgPSAwOworCWlmIChmd19zdXBwb3J0c19mYXN0cmVnKGRldikpCisJCWRldi0+ZGV2aWNlX2NhcF9mbGFncyB8PSBJQl9ERVZJQ0VfTUVNX01HVF9FWFRFTlNJT05TOwogCiAJZGV2LT5pYmRldi51dmVyYnNfY21kX21hc2sgPQogCSAgICAoMXVsbCA8PCBJQl9VU0VSX1ZFUkJTX0NNRF9HRVRfQ09OVEVYVCkgfApAQCAtMTE5OCwxNSArMTM4MiwxNiBAQAogCWRldi0+aWJkZXYuYWxsb2NfbXcgPSBpd2NoX2FsbG9jX213OwogCWRldi0+aWJkZXYuYmluZF9tdyA9IGl3Y2hfYmluZF9tdzsKIAlkZXYtPmliZGV2LmRlYWxsb2NfbXcgPSBpd2NoX2RlYWxsb2NfbXc7Ci0KKwlkZXYtPmliZGV2LmFsbG9jX2Zhc3RfcmVnX21yID0gaXdjaF9hbGxvY19mYXN0X3JlZ19tcjsKKwlkZXYtPmliZGV2LmFsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCA9IGl3Y2hfYWxsb2NfZmFzdHJlZ19wYmw7CisJZGV2LT5pYmRldi5mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdCA9IGl3Y2hfZnJlZV9mYXN0cmVnX3BibDsKIAlkZXYtPmliZGV2LmF0dGFjaF9tY2FzdCA9IGl3Y2hfbXVsdGljYXN0X2F0dGFjaDsKIAlkZXYtPmliZGV2LmRldGFjaF9tY2FzdCA9IGl3Y2hfbXVsdGljYXN0X2RldGFjaDsKIAlkZXYtPmliZGV2LnByb2Nlc3NfbWFkID0gaXdjaF9wcm9jZXNzX21hZDsKLQogCWRldi0+aWJkZXYucmVxX25vdGlmeV9jcSA9IGl3Y2hfYXJtX2NxOwogCWRldi0+aWJkZXYucG9zdF9zZW5kID0gaXdjaF9wb3N0X3NlbmQ7CiAJZGV2LT5pYmRldi5wb3N0X3JlY3YgPSBpd2NoX3Bvc3RfcmVjZWl2ZTsKLQorCWRldi0+aWJkZXYuZ2V0X3Byb3RvY29sX3N0YXRzID0gaXdjaF9nZXRfbWliOwogCiAJZGV2LT5pYmRldi5pd2NtID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGl3X2NtX3ZlcmJzKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFkZXYtPmliZGV2Lml3Y20pCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuaAppbmRleCA4MzYxNjNmLi5mNWNlY2EwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmgKQEAgLTI5NiwxNCArMjk2LDYgQEAKIAkgICAgICAgVFBUX0xPQ0FMX1JFQUQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdTMyIGl3Y2hfaWJfdG9fbXdiaW5kX2FjY2VzcyhpbnQgYWNjKQotewotCXJldHVybiAoYWNjICYgSUJfQUNDRVNTX1JFTU9URV9XUklURSA/IFQzX01FTV9BQ0NFU1NfUkVNX1dSSVRFIDogMCkgfAotCSAgICAgICAoYWNjICYgSUJfQUNDRVNTX1JFTU9URV9SRUFEID8gVDNfTUVNX0FDQ0VTU19SRU1fUkVBRCA6IDApIHwKLQkgICAgICAgKGFjYyAmIElCX0FDQ0VTU19MT0NBTF9XUklURSA/IFQzX01FTV9BQ0NFU1NfTE9DQUxfV1JJVEUgOiAwKSB8Ci0JICAgICAgIFQzX01FTV9BQ0NFU1NfTE9DQUxfUkVBRDsKLX0KLQogZW51bSBpd2NoX21taWRfc3RhdGUgewogCUlXQ0hfU1RBR19TVEFURV9WQUxJRCwKIAlJV0NIX1NUQUdfU1RBVEVfSU5WQUxJRApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcXAuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3FwLmMKaW5kZXggOTkyNjEzNy4uOWEzYmUzYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcXAuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9xcC5jCkBAIC0zMywxMCArMzMsMTEgQEAKICNpbmNsdWRlICJpd2NoLmgiCiAjaW5jbHVkZSAiaXdjaF9jbS5oIgogI2luY2x1ZGUgImN4aW9faGFsLmgiCisjaW5jbHVkZSAiY3hpb19yZXNvdXJjZS5oIgogCiAjZGVmaW5lIE5PX1NVUFBPUlQgLTEKIAotc3RhdGljIGludCBpd2NoX2J1aWxkX3JkbWFfc2VuZCh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCitzdGF0aWMgaW50IGJ1aWxkX3JkbWFfc2VuZCh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCiAJCQkJdTggKiBmbGl0X2NudCkKIHsKIAlpbnQgaTsKQEAgLTQ0LDU5ICs0NSw0NCBAQAogCiAJc3dpdGNoICh3ci0+b3Bjb2RlKSB7CiAJY2FzZSBJQl9XUl9TRU5EOgotCWNhc2UgSUJfV1JfU0VORF9XSVRIX0lNTToKIAkJaWYgKHdyLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9TT0xJQ0lURUQpCiAJCQl3cWUtPnNlbmQucmRtYW9wID0gVDNfU0VORF9XSVRIX1NFOwogCQllbHNlCiAJCQl3cWUtPnNlbmQucmRtYW9wID0gVDNfU0VORDsKIAkJd3FlLT5zZW5kLnJlbV9zdGFnID0gMDsKIAkJYnJlYWs7Ci0jaWYgMAkJCQkvKiBOb3QgY3VycmVudGx5IHN1cHBvcnRlZCAqLwotCWNhc2UgVFlQRV9TRU5EX0lOVkFMSURBVEU6Ci0JY2FzZSBUWVBFX1NFTkRfSU5WQUxJREFURV9JTU1FRElBVEU6Ci0JCXdxZS0+c2VuZC5yZG1hb3AgPSBUM19TRU5EX1dJVEhfSU5WOwotCQl3cWUtPnNlbmQucmVtX3N0YWcgPSBjcHVfdG9fYmUzMih3ci0+d3IucmRtYS5ya2V5KTsKKwljYXNlIElCX1dSX1NFTkRfV0lUSF9JTlY6CisJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfU09MSUNJVEVEKQorCQkJd3FlLT5zZW5kLnJkbWFvcCA9IFQzX1NFTkRfV0lUSF9TRV9JTlY7CisJCWVsc2UKKwkJCXdxZS0+c2VuZC5yZG1hb3AgPSBUM19TRU5EX1dJVEhfSU5WOworCQl3cWUtPnNlbmQucmVtX3N0YWcgPSBjcHVfdG9fYmUzMih3ci0+ZXguaW52YWxpZGF0ZV9ya2V5KTsKIAkJYnJlYWs7Ci0JY2FzZSBUWVBFX1NFTkRfU0VfSU5WQUxJREFURToKLQkJd3FlLT5zZW5kLnJkbWFvcCA9IFQzX1NFTkRfV0lUSF9TRV9JTlY7Ci0JCXdxZS0+c2VuZC5yZW1fc3RhZyA9IGNwdV90b19iZTMyKHdyLT53ci5yZG1hLnJrZXkpOwotCQlicmVhazsKLSNlbmRpZgogCWRlZmF1bHQ6Ci0JCWJyZWFrOworCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJaWYgKHdyLT5udW1fc2dlID4gVDNfTUFYX1NHRSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAJd3FlLT5zZW5kLnJlc2VydmVkWzBdID0gMDsKIAl3cWUtPnNlbmQucmVzZXJ2ZWRbMV0gPSAwOwogCXdxZS0+c2VuZC5yZXNlcnZlZFsyXSA9IDA7Ci0JaWYgKHdyLT5vcGNvZGUgPT0gSUJfV1JfU0VORF9XSVRIX0lNTSkgewotCQlwbGVuID0gNDsKLQkJd3FlLT5zZW5kLnNnbFswXS5zdGFnID0gd3ItPmV4LmltbV9kYXRhOwotCQl3cWUtPnNlbmQuc2dsWzBdLmxlbiA9IF9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMCk7Ci0JCXdxZS0+c2VuZC5udW1fc2dsZSA9IF9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMCk7Ci0JCSpmbGl0X2NudCA9IDU7Ci0JfSBlbHNlIHsKLQkJcGxlbiA9IDA7Ci0JCWZvciAoaSA9IDA7IGkgPCB3ci0+bnVtX3NnZTsgaSsrKSB7Ci0JCQlpZiAoKHBsZW4gKyB3ci0+c2dfbGlzdFtpXS5sZW5ndGgpIDwgcGxlbikgewotCQkJCXJldHVybiAtRU1TR1NJWkU7Ci0JCQl9Ci0JCQlwbGVuICs9IHdyLT5zZ19saXN0W2ldLmxlbmd0aDsKLQkJCXdxZS0+c2VuZC5zZ2xbaV0uc3RhZyA9Ci0JCQkgICAgY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGtleSk7Ci0JCQl3cWUtPnNlbmQuc2dsW2ldLmxlbiA9Ci0JCQkgICAgY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGVuZ3RoKTsKLQkJCXdxZS0+c2VuZC5zZ2xbaV0udG8gPSBjcHVfdG9fYmU2NCh3ci0+c2dfbGlzdFtpXS5hZGRyKTsKLQkJfQotCQl3cWUtPnNlbmQubnVtX3NnbGUgPSBjcHVfdG9fYmUzMih3ci0+bnVtX3NnZSk7Ci0JCSpmbGl0X2NudCA9IDQgKyAoKHdyLT5udW1fc2dlKSA8PCAxKTsKKwlwbGVuID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgd3ItPm51bV9zZ2U7IGkrKykgeworCQlpZiAoKHBsZW4gKyB3ci0+c2dfbGlzdFtpXS5sZW5ndGgpIDwgcGxlbikKKwkJCXJldHVybiAtRU1TR1NJWkU7CisKKwkJcGxlbiArPSB3ci0+c2dfbGlzdFtpXS5sZW5ndGg7CisJCXdxZS0+c2VuZC5zZ2xbaV0uc3RhZyA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxrZXkpOworCQl3cWUtPnNlbmQuc2dsW2ldLmxlbiA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxlbmd0aCk7CisJCXdxZS0+c2VuZC5zZ2xbaV0udG8gPSBjcHVfdG9fYmU2NCh3ci0+c2dfbGlzdFtpXS5hZGRyKTsKIAl9CisJd3FlLT5zZW5kLm51bV9zZ2xlID0gY3B1X3RvX2JlMzIod3ItPm51bV9zZ2UpOworCSpmbGl0X2NudCA9IDQgKyAoKHdyLT5udW1fc2dlKSA8PCAxKTsKIAl3cWUtPnNlbmQucGxlbiA9IGNwdV90b19iZTMyKHBsZW4pOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGl3Y2hfYnVpbGRfcmRtYV93cml0ZSh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCitzdGF0aWMgaW50IGJ1aWxkX3JkbWFfd3JpdGUodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAogCQkJCSB1OCAqZmxpdF9jbnQpCiB7CiAJaW50IGk7CkBAIC0xMzcsMTUgKzEyMywxOCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGl3Y2hfYnVpbGRfcmRtYV9yZWFkKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKK3N0YXRpYyBpbnQgYnVpbGRfcmRtYV9yZWFkKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKIAkJCQl1OCAqZmxpdF9jbnQpCiB7CiAJaWYgKHdyLT5udW1fc2dlID4gMSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAJd3FlLT5yZWFkLnJkbWFvcCA9IFQzX1JFQURfUkVROworCWlmICh3ci0+b3Bjb2RlID09IElCX1dSX1JETUFfUkVBRF9XSVRIX0lOVikKKwkJd3FlLT5yZWFkLmxvY2FsX2ludiA9IDE7CisJZWxzZQorCQl3cWUtPnJlYWQubG9jYWxfaW52ID0gMDsKIAl3cWUtPnJlYWQucmVzZXJ2ZWRbMF0gPSAwOwogCXdxZS0+cmVhZC5yZXNlcnZlZFsxXSA9IDA7Ci0Jd3FlLT5yZWFkLnJlc2VydmVkWzJdID0gMDsKIAl3cWUtPnJlYWQucmVtX3N0YWcgPSBjcHVfdG9fYmUzMih3ci0+d3IucmRtYS5ya2V5KTsKIAl3cWUtPnJlYWQucmVtX3RvID0gY3B1X3RvX2JlNjQod3ItPndyLnJkbWEucmVtb3RlX2FkZHIpOwogCXdxZS0+cmVhZC5sb2NhbF9zdGFnID0gY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbMF0ubGtleSk7CkBAIC0xNTUsNiArMTQ0LDU3IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgYnVpbGRfZmFzdHJlZyh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCisJCQkJdTggKmZsaXRfY250LCBpbnQgKndyX2NudCwgc3RydWN0IHQzX3dxICp3cSkKK3sKKwlpbnQgaTsKKwlfX2JlNjQgKnA7CisKKwlpZiAod3ItPndyLmZhc3RfcmVnLnBhZ2VfbGlzdF9sZW4gPiBUM19NQVhfRkFTVFJFR19ERVBUSCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJKndyX2NudCA9IDE7CisJd3FlLT5mYXN0cmVnLnN0YWcgPSBjcHVfdG9fYmUzMih3ci0+d3IuZmFzdF9yZWcucmtleSk7CisJd3FlLT5mYXN0cmVnLmxlbiA9IGNwdV90b19iZTMyKHdyLT53ci5mYXN0X3JlZy5sZW5ndGgpOworCXdxZS0+ZmFzdHJlZy52YV9iYXNlX2hpID0gY3B1X3RvX2JlMzIod3ItPndyLmZhc3RfcmVnLmlvdmFfc3RhcnQgPj4gMzIpOworCXdxZS0+ZmFzdHJlZy52YV9iYXNlX2xvX2ZibyA9CisJCQkJY3B1X3RvX2JlMzIod3ItPndyLmZhc3RfcmVnLmlvdmFfc3RhcnQgJiAweGZmZmZmZmZmKTsKKwl3cWUtPmZhc3RyZWcucGFnZV90eXBlX3Blcm1zID0gY3B1X3RvX2JlMzIoCisJCVZfRlJfUEFHRV9DT1VOVCh3ci0+d3IuZmFzdF9yZWcucGFnZV9saXN0X2xlbikgfAorCQlWX0ZSX1BBR0VfU0laRSh3ci0+d3IuZmFzdF9yZWcucGFnZV9zaGlmdC0xMikgfAorCQlWX0ZSX1RZUEUoVFBUX1ZBVE8pIHwKKwkJVl9GUl9QRVJNUyhpd2NoX2liX3RvX3RwdF9hY2Nlc3Mod3ItPndyLmZhc3RfcmVnLmFjY2Vzc19mbGFncykpKTsKKwlwID0gJndxZS0+ZmFzdHJlZy5wYmxfYWRkcnNbMF07CisJZm9yIChpID0gMDsgaSA8IHdyLT53ci5mYXN0X3JlZy5wYWdlX2xpc3RfbGVuOyBpKyssIHArKykgeworCisJCS8qIElmIHdlIG5lZWQgYSAybmQgV1IsIHRoZW4gc2V0IGl0IHVwICovCisJCWlmIChpID09IFQzX01BWF9GQVNUUkVHX0ZSQUcpIHsKKwkJCSp3cl9jbnQgPSAyOworCQkJd3FlID0gKHVuaW9uIHQzX3dyICopKHdxLT5xdWV1ZSArCisJCQkJUV9QVFIySURYKCh3cS0+d3B0cisxKSwgd3EtPnNpemVfbG9nMikpOworCQkJYnVpbGRfZndfcml3cmgoKHZvaWQgKil3cWUsIFQzX1dSX0ZBU1RSRUcsIDAsCisJCQkgICAgICAgUV9HRU5CSVQod3EtPndwdHIgKyAxLCB3cS0+c2l6ZV9sb2cyKSwKKwkJCSAgICAgICAwLCAxICsgd3ItPndyLmZhc3RfcmVnLnBhZ2VfbGlzdF9sZW4gLSBUM19NQVhfRkFTVFJFR19GUkFHLAorCQkJICAgICAgIFQzX0VPUCk7CisKKwkJCXAgPSAmd3FlLT5wYmxfZnJhZy5wYmxfYWRkcnNbMF07CisJCX0KKwkJKnAgPSBjcHVfdG9fYmU2NCgodTY0KXdyLT53ci5mYXN0X3JlZy5wYWdlX2xpc3QtPnBhZ2VfbGlzdFtpXSk7CisJfQorCSpmbGl0X2NudCA9IDUgKyB3ci0+d3IuZmFzdF9yZWcucGFnZV9saXN0X2xlbjsKKwlpZiAoKmZsaXRfY250ID4gMTUpCisJCSpmbGl0X2NudCA9IDE1OworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJ1aWxkX2ludl9zdGFnKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKKwkJCQl1OCAqZmxpdF9jbnQpCit7CisJd3FlLT5sb2NhbF9pbnYuc3RhZyA9IGNwdV90b19iZTMyKHdyLT5leC5pbnZhbGlkYXRlX3JrZXkpOworCXdxZS0+bG9jYWxfaW52LnJlc2VydmVkID0gMDsKKwkqZmxpdF9jbnQgPSBzaXplb2Yoc3RydWN0IHQzX2xvY2FsX2ludl93cikgPj4gMzsKKwlyZXR1cm4gMDsKK30KKwogLyoKICAqIFRCRDogdGhpcyBpcyBnb2luZyB0byBiZSBtb3ZlZCB0byBmaXJtd2FyZS4gTWlzc2luZyBwZGlkL3FwaWQgY2hlY2sgZm9yIG5vdy4KICAqLwpAQCAtMjA1LDIzICsyNDUsMTA2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaXdjaF9idWlsZF9yZG1hX3JlY3Yoc3RydWN0IGl3Y2hfZGV2ICpyaHAsIHVuaW9uIHQzX3dyICp3cWUsCitzdGF0aWMgaW50IGJ1aWxkX3JkbWFfcmVjdihzdHJ1Y3QgaXdjaF9xcCAqcWhwLCB1bmlvbiB0M193ciAqd3FlLAogCQkJCXN0cnVjdCBpYl9yZWN2X3dyICp3cikKIHsKLQlpbnQgaTsKLQlpZiAod3ItPm51bV9zZ2UgPiBUM19NQVhfU0dFKQotCQlyZXR1cm4gLUVJTlZBTDsKKwlpbnQgaSwgZXJyID0gMDsKKwl1MzIgcGJsX2FkZHJbVDNfTUFYX1NHRV07CisJdTggcGFnZV9zaXplW1QzX01BWF9TR0VdOworCisJZXJyID0gaXdjaF9zZ2wycGJsX21hcChxaHAtPnJocCwgd3ItPnNnX2xpc3QsIHdyLT5udW1fc2dlLCBwYmxfYWRkciwKKwkJCSAgICAgICBwYWdlX3NpemUpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJd3FlLT5yZWN2LnBhZ2VzelswXSA9IHBhZ2Vfc2l6ZVswXTsKKwl3cWUtPnJlY3YucGFnZXN6WzFdID0gcGFnZV9zaXplWzFdOworCXdxZS0+cmVjdi5wYWdlc3pbMl0gPSBwYWdlX3NpemVbMl07CisJd3FlLT5yZWN2LnBhZ2VzelszXSA9IHBhZ2Vfc2l6ZVszXTsKIAl3cWUtPnJlY3YubnVtX3NnbGUgPSBjcHVfdG9fYmUzMih3ci0+bnVtX3NnZSk7CiAJZm9yIChpID0gMDsgaSA8IHdyLT5udW1fc2dlOyBpKyspIHsKIAkJd3FlLT5yZWN2LnNnbFtpXS5zdGFnID0gY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGtleSk7CiAJCXdxZS0+cmVjdi5zZ2xbaV0ubGVuID0gY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGVuZ3RoKTsKLQkJd3FlLT5yZWN2LnNnbFtpXS50byA9IGNwdV90b19iZTY0KHdyLT5zZ19saXN0W2ldLmFkZHIpOworCisJCS8qIHRvIGluIHRoZSBXUUUgPT0gdGhlIG9mZnNldCBpbnRvIHRoZSBwYWdlICovCisJCXdxZS0+cmVjdi5zZ2xbaV0udG8gPSBjcHVfdG9fYmU2NCgoKHUzMikgd3ItPnNnX2xpc3RbaV0uYWRkcikgJQorCQkJCSgxVUwgPDwgKDEyICsgcGFnZV9zaXplW2ldKSkpOworCisJCS8qIHBibF9hZGRyIGlzIHRoZSBhZGFwdGVycyBhZGRyZXNzIGluIHRoZSBQQkwgKi8KKwkJd3FlLT5yZWN2LnBibF9hZGRyW2ldID0gY3B1X3RvX2JlMzIocGJsX2FkZHJbaV0pOwogCX0KIAlmb3IgKDsgaSA8IFQzX01BWF9TR0U7IGkrKykgewogCQl3cWUtPnJlY3Yuc2dsW2ldLnN0YWcgPSAwOwogCQl3cWUtPnJlY3Yuc2dsW2ldLmxlbiA9IDA7CiAJCXdxZS0+cmVjdi5zZ2xbaV0udG8gPSAwOworCQl3cWUtPnJlY3YucGJsX2FkZHJbaV0gPSAwOwogCX0KKwlxaHAtPndxLnJxW1FfUFRSMklEWChxaHAtPndxLnJxX3dwdHIsCisJCQkgICAgIHFocC0+d3EucnFfc2l6ZV9sb2cyKV0ud3JfaWQgPSB3ci0+d3JfaWQ7CisJcWhwLT53cS5ycVtRX1BUUjJJRFgocWhwLT53cS5ycV93cHRyLAorCQkJICAgICBxaHAtPndxLnJxX3NpemVfbG9nMildLnBibF9hZGRyID0gMDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBidWlsZF96ZXJvX3N0YWdfcmVjdihzdHJ1Y3QgaXdjaF9xcCAqcWhwLCB1bmlvbiB0M193ciAqd3FlLAorCQkJCXN0cnVjdCBpYl9yZWN2X3dyICp3cikKK3sKKwlpbnQgaTsKKwl1MzIgcGJsX2FkZHI7CisJdTMyIHBibF9vZmZzZXQ7CisKKworCS8qCisJICogVGhlIFQzIEhXIHJlcXVpcmVzIHRoZSBQQkwgaW4gdGhlIEhXIHJlY3YgZGVzY3JpcHRvciB0byByZWZlcmVuY2UKKwkgKiBhIFBCTCBlbnRyeS4gIFNvIHdlIGFsbG9jYXRlIHRoZSBtYXggbmVlZGVkIFBCTCBtZW1vcnkgaGVyZSBhbmQgcGFzcworCSAqIGl0IHRvIHRoZSB1UCBpbiB0aGUgcmVjdiBXUi4gIFRoZSB1UCB3aWxsIGJ1aWxkIHRoZSBQQkwgYW5kIHNldHVwCisJICogdGhlIEhXIHJlY3YgZGVzY3JpcHRvci4KKwkgKi8KKwlwYmxfYWRkciA9IGN4aW9faGFsX3BibHBvb2xfYWxsb2MoJnFocC0+cmhwLT5yZGV2LCBUM19TVEFHMF9QQkxfU0laRSk7CisJaWYgKCFwYmxfYWRkcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkvKgorCSAqIENvbXB1dGUgdGhlIDhCIGFsaWduZWQgb2Zmc2V0LgorCSAqLworCXBibF9vZmZzZXQgPSAocGJsX2FkZHIgLSBxaHAtPnJocC0+cmRldi5ybmljX2luZm8ucGJsX2Jhc2UpID4+IDM7CisKKwl3cWUtPnJlY3YubnVtX3NnbGUgPSBjcHVfdG9fYmUzMih3ci0+bnVtX3NnZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgd3ItPm51bV9zZ2U7IGkrKykgeworCisJCS8qCisJCSAqIFVzZSBhIDEyOE1CIHBhZ2Ugc2l6ZS4gVGhpcyBhbmQgYW4gaW1wb3NlZCAxMjhNQgorCQkgKiBzZ2UgbGVuZ3RoIGxpbWl0IGFsbG93cyB1cyB0byByZXF1aXJlIG9ubHkgYSAyLWVudHJ5IEhXCisJCSAqIFBCTCBmb3IgZWFjaCBTR0UuICBUaGlzIHJlc3RyaWN0aW9uIGlzIGFjY2VwdGFibGUgc2luY2UKKwkJICogc2luY2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGFsbG9jYXRlIDEyOE1CIG9mIGNvbnRpZ3VvdXMKKwkJICogRE1BIGNvaGVyZW50IG1lbW9yeSEKKwkJICovCisJCWlmICh3ci0+c2dfbGlzdFtpXS5sZW5ndGggPiBUM19TVEFHMF9NQVhfUEJFX0xFTikKKwkJCXJldHVybiAtRUlOVkFMOworCQl3cWUtPnJlY3YucGFnZXN6W2ldID0gVDNfU1RBRzBfUEFHRV9TSElGVDsKKworCQkvKgorCQkgKiBUMyByZXN0cmljdHMgYSByZWN2IHRvIGFsbCB6ZXJvLXN0YWcgb3IgYWxsIG5vbi16ZXJvLXN0YWcuCisJCSAqLworCQlpZiAod3ItPnNnX2xpc3RbaV0ubGtleSAhPSAwKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJCXdxZS0+cmVjdi5zZ2xbaV0uc3RhZyA9IDA7CisJCXdxZS0+cmVjdi5zZ2xbaV0ubGVuID0gY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGVuZ3RoKTsKKwkJd3FlLT5yZWN2LnNnbFtpXS50byA9IGNwdV90b19iZTY0KHdyLT5zZ19saXN0W2ldLmFkZHIpOworCQl3cWUtPnJlY3YucGJsX2FkZHJbaV0gPSBjcHVfdG9fYmUzMihwYmxfb2Zmc2V0KTsKKwkJcGJsX29mZnNldCArPSAyOworCX0KKwlmb3IgKDsgaSA8IFQzX01BWF9TR0U7IGkrKykgeworCQl3cWUtPnJlY3YucGFnZXN6W2ldID0gMDsKKwkJd3FlLT5yZWN2LnNnbFtpXS5zdGFnID0gMDsKKwkJd3FlLT5yZWN2LnNnbFtpXS5sZW4gPSAwOworCQl3cWUtPnJlY3Yuc2dsW2ldLnRvID0gMDsKKwkJd3FlLT5yZWN2LnBibF9hZGRyW2ldID0gMDsKKwl9CisJcWhwLT53cS5ycVtRX1BUUjJJRFgocWhwLT53cS5ycV93cHRyLAorCQkJICAgICBxaHAtPndxLnJxX3NpemVfbG9nMildLndyX2lkID0gd3ItPndyX2lkOworCXFocC0+d3EucnFbUV9QVFIySURYKHFocC0+d3EucnFfd3B0ciwKKwkJCSAgICAgcWhwLT53cS5ycV9zaXplX2xvZzIpXS5wYmxfYWRkciA9IHBibF9hZGRyOwogCXJldHVybiAwOwogfQogCkBAIC0yMzgsNiArMzYxLDcgQEAKIAl1MzIgbnVtX3dyczsKIAl1bnNpZ25lZCBsb25nIGZsYWc7CiAJc3RydWN0IHQzX3N3c3EgKnNxcDsKKwlpbnQgd3JfY250ID0gMTsKIAogCXFocCA9IHRvX2l3Y2hfcXAoaWJxcCk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnFocC0+bG9jaywgZmxhZyk7CkBAIC0yNjIsMzMgKzM4Niw0NSBAQAogCQl0M193cl9mbGFncyA9IDA7CiAJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfU09MSUNJVEVEKQogCQkJdDNfd3JfZmxhZ3MgfD0gVDNfU09MSUNJVEVEX0VWRU5UX0ZMQUc7Ci0JCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfRkVOQ0UpCi0JCQl0M193cl9mbGFncyB8PSBUM19SRUFEX0ZFTkNFX0ZMQUc7CiAJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfU0lHTkFMRUQpCiAJCQl0M193cl9mbGFncyB8PSBUM19DT01QTEVUSU9OX0ZMQUc7CiAJCXNxcCA9IHFocC0+d3Euc3EgKwogCQkgICAgICBRX1BUUjJJRFgocWhwLT53cS5zcV93cHRyLCBxaHAtPndxLnNxX3NpemVfbG9nMik7CiAJCXN3aXRjaCAod3ItPm9wY29kZSkgewogCQljYXNlIElCX1dSX1NFTkQ6Ci0JCWNhc2UgSUJfV1JfU0VORF9XSVRIX0lNTToKKwkJY2FzZSBJQl9XUl9TRU5EX1dJVEhfSU5WOgorCQkJaWYgKHdyLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9GRU5DRSkKKwkJCQl0M193cl9mbGFncyB8PSBUM19SRUFEX0ZFTkNFX0ZMQUc7CiAJCQl0M193cl9vcGNvZGUgPSBUM19XUl9TRU5EOwotCQkJZXJyID0gaXdjaF9idWlsZF9yZG1hX3NlbmQod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKKwkJCWVyciA9IGJ1aWxkX3JkbWFfc2VuZCh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQpOwogCQkJYnJlYWs7CiAJCWNhc2UgSUJfV1JfUkRNQV9XUklURToKIAkJY2FzZSBJQl9XUl9SRE1BX1dSSVRFX1dJVEhfSU1NOgogCQkJdDNfd3Jfb3Bjb2RlID0gVDNfV1JfV1JJVEU7Ci0JCQllcnIgPSBpd2NoX2J1aWxkX3JkbWFfd3JpdGUod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKKwkJCWVyciA9IGJ1aWxkX3JkbWFfd3JpdGUod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKIAkJCWJyZWFrOwogCQljYXNlIElCX1dSX1JETUFfUkVBRDoKKwkJY2FzZSBJQl9XUl9SRE1BX1JFQURfV0lUSF9JTlY6CiAJCQl0M193cl9vcGNvZGUgPSBUM19XUl9SRUFEOwogCQkJdDNfd3JfZmxhZ3MgPSAwOyAvKiBUMyByZWFkcyBhcmUgYWx3YXlzIHNpZ25hbGVkICovCi0JCQllcnIgPSBpd2NoX2J1aWxkX3JkbWFfcmVhZCh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQpOworCQkJZXJyID0gYnVpbGRfcmRtYV9yZWFkKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CiAJCQlpZiAoZXJyKQogCQkJCWJyZWFrOwogCQkJc3FwLT5yZWFkX2xlbiA9IHdxZS0+cmVhZC5sb2NhbF9sZW47CiAJCQlpZiAoIXFocC0+d3Eub2xkZXN0X3JlYWQpCiAJCQkJcWhwLT53cS5vbGRlc3RfcmVhZCA9IHNxcDsKIAkJCWJyZWFrOworCQljYXNlIElCX1dSX0ZBU1RfUkVHX01SOgorCQkJdDNfd3Jfb3Bjb2RlID0gVDNfV1JfRkFTVFJFRzsKKwkJCWVyciA9IGJ1aWxkX2Zhc3RyZWcod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250LAorCQkJCQkJICZ3cl9jbnQsICZxaHAtPndxKTsKKwkJCWJyZWFrOworCQljYXNlIElCX1dSX0xPQ0FMX0lOVjoKKwkJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfRkVOQ0UpCisJCQkJdDNfd3JfZmxhZ3MgfD0gVDNfTE9DQUxfRkVOQ0VfRkxBRzsKKwkJCXQzX3dyX29wY29kZSA9IFQzX1dSX0lOVl9TVEFHOworCQkJZXJyID0gYnVpbGRfaW52X3N0YWcod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJUERCRygiJXMgcG9zdCBvZiB0eXBlPSVkIFRCRCFcbiIsIF9fZnVuY19fLAogCQkJICAgICB3ci0+b3Bjb2RlKTsKQEAgLTMwNywxNCArNDQzLDE1IEBACiAKIAkJYnVpbGRfZndfcml3cmgoKHZvaWQgKikgd3FlLCB0M193cl9vcGNvZGUsIHQzX3dyX2ZsYWdzLAogCQkJICAgICAgIFFfR0VOQklUKHFocC0+d3Eud3B0ciwgcWhwLT53cS5zaXplX2xvZzIpLAotCQkJICAgICAgIDAsIHQzX3dyX2ZsaXRfY250KTsKKwkJCSAgICAgICAwLCB0M193cl9mbGl0X2NudCwKKwkJCSAgICAgICAod3JfY250ID09IDEpID8gVDNfU09QRU9QIDogVDNfU09QKTsKIAkJUERCRygiJXMgY29va2llIDB4JWxseCB3cSBpZHggMHgleCBzd3NxIGlkeCAlbGQgb3Bjb2RlICVkXG4iLAogCQkgICAgIF9fZnVuY19fLCAodW5zaWduZWQgbG9uZyBsb25nKSB3ci0+d3JfaWQsIGlkeCwKIAkJICAgICBRX1BUUjJJRFgocWhwLT53cS5zcV93cHRyLCBxaHAtPndxLnNxX3NpemVfbG9nMiksCiAJCSAgICAgc3FwLT5vcGNvZGUpOwogCQl3ciA9IHdyLT5uZXh0OwogCQludW1fd3JzLS07Ci0JCSsrKHFocC0+d3Eud3B0cik7CisJCXFocC0+d3Eud3B0ciArPSB3cl9jbnQ7CiAJCSsrKHFocC0+d3Euc3Ffd3B0cik7CiAJfQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnFocC0+bG9jaywgZmxhZyk7CkBAIC0zNDUsMjEgKzQ4MiwyNyBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJd2hpbGUgKHdyKSB7CisJCWlmICh3ci0+bnVtX3NnZSA+IFQzX01BWF9TR0UpIHsKKwkJCWVyciA9IC1FSU5WQUw7CisJCQkqYmFkX3dyID0gd3I7CisJCQlicmVhazsKKwkJfQogCQlpZHggPSBRX1BUUjJJRFgocWhwLT53cS53cHRyLCBxaHAtPndxLnNpemVfbG9nMik7CiAJCXdxZSA9ICh1bmlvbiB0M193ciAqKSAocWhwLT53cS5xdWV1ZSArIGlkeCk7CiAJCWlmIChudW1fd3JzKQotCQkJZXJyID0gaXdjaF9idWlsZF9yZG1hX3JlY3YocWhwLT5yaHAsIHdxZSwgd3IpOworCQkJaWYgKHdyLT5zZ19saXN0WzBdLmxrZXkpCisJCQkJZXJyID0gYnVpbGRfcmRtYV9yZWN2KHFocCwgd3FlLCB3cik7CisJCQllbHNlCisJCQkJZXJyID0gYnVpbGRfemVyb19zdGFnX3JlY3YocWhwLCB3cWUsIHdyKTsKIAkJZWxzZQogCQkJZXJyID0gLUVOT01FTTsKIAkJaWYgKGVycikgewogCQkJKmJhZF93ciA9IHdyOwogCQkJYnJlYWs7CiAJCX0KLQkJcWhwLT53cS5ycVtRX1BUUjJJRFgocWhwLT53cS5ycV93cHRyLCBxaHAtPndxLnJxX3NpemVfbG9nMildID0KLQkJCXdyLT53cl9pZDsKIAkJYnVpbGRfZndfcml3cmgoKHZvaWQgKikgd3FlLCBUM19XUl9SQ1YsIFQzX0NPTVBMRVRJT05fRkxBRywKIAkJCSAgICAgICBRX0dFTkJJVChxaHAtPndxLndwdHIsIHFocC0+d3Euc2l6ZV9sb2cyKSwKLQkJCSAgICAgICAwLCBzaXplb2Yoc3RydWN0IHQzX3JlY2VpdmVfd3IpID4+IDMpOworCQkJICAgICAgIDAsIHNpemVvZihzdHJ1Y3QgdDNfcmVjZWl2ZV93cikgPj4gMywgVDNfU09QRU9QKTsKIAkJUERCRygiJXMgY29va2llIDB4JWxseCBpZHggMHgleCBycV93cHRyIDB4JXggcndfcnB0ciAweCV4ICIKIAkJICAgICAid3FlICVwIFxuIiwgX19mdW5jX18sICh1bnNpZ25lZCBsb25nIGxvbmcpIHdyLT53cl9pZCwKIAkJICAgICBpZHgsIHFocC0+d3EucnFfd3B0ciwgcWhwLT53cS5ycV9ycHRyLCB3cWUpOwpAQCAtNDE5LDEwICs1NjIsMTAgQEAKIAlzZ2wubGtleSA9IG13X2JpbmQtPm1yLT5sa2V5OwogCXNnbC5sZW5ndGggPSBtd19iaW5kLT5sZW5ndGg7CiAJd3FlLT5iaW5kLnJlc2VydmVkID0gMDsKLQl3cWUtPmJpbmQudHlwZSA9IFQzX1ZBX0JBU0VEX1RPOworCXdxZS0+YmluZC50eXBlID0gVFBUX1ZBVE87CiAKIAkvKiBUQkQ6IGNoZWNrIHBlcm1zICovCi0Jd3FlLT5iaW5kLnBlcm1zID0gaXdjaF9pYl90b19td2JpbmRfYWNjZXNzKG13X2JpbmQtPm13X2FjY2Vzc19mbGFncyk7CisJd3FlLT5iaW5kLnBlcm1zID0gaXdjaF9pYl90b190cHRfYWNjZXNzKG13X2JpbmQtPm13X2FjY2Vzc19mbGFncyk7CiAJd3FlLT5iaW5kLm1yX3N0YWcgPSBjcHVfdG9fYmUzMihtd19iaW5kLT5tci0+bGtleSk7CiAJd3FlLT5iaW5kLm13X3N0YWcgPSBjcHVfdG9fYmUzMihtdy0+cmtleSk7CiAJd3FlLT5iaW5kLm13X2xlbiA9IGNwdV90b19iZTMyKG13X2JpbmQtPmxlbmd0aCk7CkBAIC00MzAsNyArNTczLDcgQEAKIAllcnIgPSBpd2NoX3NnbDJwYmxfbWFwKHJocCwgJnNnbCwgMSwgJnBibF9hZGRyLCAmcGFnZV9zaXplKTsKIAlpZiAoZXJyKSB7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnFocC0+bG9jaywgZmxhZyk7Ci0JICAgICAgICByZXR1cm4gZXJyOworCQlyZXR1cm4gZXJyOwogCX0KIAl3cWUtPnNlbmQud3JpZC5pZDAuaGkgPSBxaHAtPndxLnNxX3dwdHI7CiAJc3FwID0gcWhwLT53cS5zcSArIFFfUFRSMklEWChxaHAtPndxLnNxX3dwdHIsIHFocC0+d3Euc3Ffc2l6ZV9sb2cyKTsKQEAgLTQ0MSwxMCArNTg0LDkgQEAKIAlzcXAtPnNpZ25hbGVkID0gKG13X2JpbmQtPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX1NJR05BTEVEKTsKIAl3cWUtPmJpbmQubXJfcGJsX2FkZHIgPSBjcHVfdG9fYmUzMihwYmxfYWRkcik7CiAJd3FlLT5iaW5kLm1yX3BhZ2VzeiA9IHBhZ2Vfc2l6ZTsKLQl3cWUtPmZsaXRbVDNfU1FfQ09PS0lFX0ZMSVRdID0gbXdfYmluZC0+d3JfaWQ7CiAJYnVpbGRfZndfcml3cmgoKHZvaWQgKil3cWUsIFQzX1dSX0JJTkQsIHQzX3dyX2ZsYWdzLAogCQkgICAgICAgUV9HRU5CSVQocWhwLT53cS53cHRyLCBxaHAtPndxLnNpemVfbG9nMiksIDAsCi0JCQkgICAgICAgIHNpemVvZihzdHJ1Y3QgdDNfYmluZF9td193cikgPj4gMyk7CisJCSAgICAgICBzaXplb2Yoc3RydWN0IHQzX2JpbmRfbXdfd3IpID4+IDMsIFQzX1NPUEVPUCk7CiAJKysocWhwLT53cS53cHRyKTsKIAkrKyhxaHAtPndxLnNxX3dwdHIpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnFocC0+bG9jaywgZmxhZyk7CkBAIC03NTgsNyArOTAwLDggQEAKIAlpbml0X2F0dHIucXBfZG1hX3NpemUgPSAoMVVMIDw8IHFocC0+d3Euc2l6ZV9sb2cyKTsKIAlpbml0X2F0dHIucnFlX2NvdW50ID0gaXdjaF9ycWVzX3Bvc3RlZChxaHApOwogCWluaXRfYXR0ci5mbGFncyA9IHFocC0+YXR0ci5tcGFfYXR0ci5pbml0aWF0b3IgPyBNUEFfSU5JVElBVE9SIDogMDsKLQlpbml0X2F0dHIuZmxhZ3MgfD0gY2FwYWJsZShDQVBfTkVUX0JJTkRfU0VSVklDRSkgPyBQUklWX1FQIDogMDsKKwlpZiAoIXFocC0+aWJxcC51b2JqZWN0KQorCQlpbml0X2F0dHIuZmxhZ3MgfD0gUFJJVl9RUDsKIAlpZiAocGVlcjJwZWVyKSB7CiAJCWluaXRfYXR0ci5ydHJfdHlwZSA9IFJUUl9SRUFEOwogCQlpZiAoaW5pdF9hdHRyLm9yZCA9PSAwICYmIHFocC0+YXR0ci5tcGFfYXR0ci5pbml0aWF0b3IpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX2lycS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9pcnEuYwppbmRleCBjZTFhYjA1Li4wNzkyZDkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX2lycS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfaXJxLmMKQEAgLTUzMSw3ICs1MzEsNyBAQAogewogCXN0cnVjdCBlaGNhX2VxICplcSA9ICZzaGNhLT5lcTsKIAlzdHJ1Y3QgZWhjYV9lcWVfY2FjaGVfZW50cnkgKmVxZV9jYWNoZSA9IGVxLT5lcWVfY2FjaGU7Ci0JdTY0IGVxZV92YWx1ZTsKKwl1NjQgZXFlX3ZhbHVlLCByZXQ7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgZXFlX2NudCwgaTsKIAlpbnQgZXFfZW1wdHkgPSAwOwpAQCAtNTgzLDggKzU4MywxMyBAQAogCQkJZWhjYV9kYmcoJnNoY2EtPmliX2RldmljZSwKIAkJCQkgIk5vIGVxZSBmb3VuZCBmb3IgaXJxIGV2ZW50Iik7CiAJCWdvdG8gdW5sb2NrX2lycV9zcGlubG9jazsKLQl9IGVsc2UgaWYgKCFpc19pcnEpCisJfSBlbHNlIGlmICghaXNfaXJxKSB7CisJCXJldCA9IGhpcHpfaF9lb2koZXEtPmlzdCk7CisJCWlmIChyZXQgIT0gSF9TVUNDRVNTKQorCQkJZWhjYV9lcnIoJnNoY2EtPmliX2RldmljZSwKKwkJCQkgImJhZCByZXR1cm4gY29kZSBFT0kgLXJjID0gJWxkXG4iLCByZXQpOwogCQllaGNhX2RiZygmc2hjYS0+aWJfZGV2aWNlLCAiZGVhZG1hbiBmb3VuZCAleCBlcWUiLCBlcWVfY250KTsKKwl9CiAJaWYgKHVubGlrZWx5KGVxZV9jbnQgPT0gRUhDQV9FUUVfQ0FDSEVfU0laRSkpCiAJCWVoY2FfZGJnKCZzaGNhLT5pYl9kZXZpY2UsICJ0b28gbWFueSBlcWVzIGZvciBvbmUgaXJxIGV2ZW50Iik7CiAJLyogZW5hYmxlIGlycSBmb3IgbmV3IHBhY2tldHMgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfbWFpbi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9tYWluLmMKaW5kZXggNDgyMTAzZS4uNTk4ODQ0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9tYWluLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9tYWluLmMKQEAgLTkyMyw2ICs5MjMsNyBAQAogCX0sCiAJe30sCiB9OworTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZWhjYV9kZXZpY2VfdGFibGUpOwogCiBzdGF0aWMgc3RydWN0IG9mX3BsYXRmb3JtX2RyaXZlciBlaGNhX2RyaXZlciA9IHsKIAkubmFtZSAgICAgICAgPSAiZWhjYSIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX3JlcXMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfcmVxcy5jCmluZGV4IGYwOTNiMDAuLmRkOWJjNjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfcmVxcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfcmVxcy5jCkBAIC01NDQsOCArNTQ0LDE2IEBACiAJCSAgIHN0cnVjdCBpYl9yZWN2X3dyICpyZWN2X3dyLAogCQkgICBzdHJ1Y3QgaWJfcmVjdl93ciAqKmJhZF9yZWN2X3dyKQogewotCXJldHVybiBpbnRlcm5hbF9wb3N0X3JlY3YoY29udGFpbmVyX29mKHFwLCBzdHJ1Y3QgZWhjYV9xcCwgaWJfcXApLAotCQkJCSAgcXAtPmRldmljZSwgcmVjdl93ciwgYmFkX3JlY3Zfd3IpOworCXN0cnVjdCBlaGNhX3FwICpteV9xcCA9IGNvbnRhaW5lcl9vZihxcCwgc3RydWN0IGVoY2FfcXAsIGliX3FwKTsKKworCS8qIFJlamVjdCBXUiBpZiBRUCBpcyBpbiBSRVNFVCBzdGF0ZSAqLworCWlmICh1bmxpa2VseShteV9xcC0+c3RhdGUgPT0gSUJfUVBTX1JFU0VUKSkgeworCQllaGNhX2VycihxcC0+ZGV2aWNlLCAiSW52YWxpZCBRUCBzdGF0ZSAgcXBfc3RhdGU9JWQgcXBuPSV4IiwKKwkJCSBteV9xcC0+c3RhdGUsIHFwLT5xcF9udW0pOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gaW50ZXJuYWxfcG9zdF9yZWN2KG15X3FwLCBxcC0+ZGV2aWNlLCByZWN2X3dyLCBiYWRfcmVjdl93cik7CiB9CiAKIGludCBlaGNhX3Bvc3Rfc3JxX3JlY3Yoc3RydWN0IGliX3NycSAqc3JxLApAQCAtNjgxLDcgKzY4OSw3IEBACiAJd2MtPmRsaWRfcGF0aF9iaXRzID0gY3FlLT5kbGlkOwogCXdjLT5zcmNfcXAgPSBjcWUtPnJlbW90ZV9xcF9udW1iZXI7CiAJd2MtPndjX2ZsYWdzID0gY3FlLT53X2NvbXBsZXRpb25fZmxhZ3M7Ci0Jd2MtPmltbV9kYXRhID0gY3B1X3RvX2JlMzIoY3FlLT5pbW1lZGlhdGVfZGF0YSk7CisJd2MtPmV4LmltbV9kYXRhID0gY3B1X3RvX2JlMzIoY3FlLT5pbW1lZGlhdGVfZGF0YSk7CiAJd2MtPnNsID0gY3FlLT5zZXJ2aWNlX2xldmVsOwogCiBwb2xsX2NxX29uZV9leGl0MDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmMKaW5kZXggNTI0NWUxMy4uNDE1ZDNhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmMKQEAgLTkzMywzICs5MzMsMTMgQEAKIAkJCQkgICAgICAgcl9jYiwKIAkJCQkgICAgICAgMCwgMCwgMCwgMCk7CiB9CisKK3U2NCBoaXB6X2hfZW9pKGludCBpcnEpCit7CisJdW5zaWduZWQgbG9uZyB4aXJyOworCisJaW9zeW5jKCk7CisJeGlyciA9ICgweGZmVUxMIDw8IDI0KSB8IGlycTsKKworCXJldHVybiBwbHBhcl9oY2FsbF9ub3JldHMoSF9FT0ksIHhpcnIpOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuaAppbmRleCA2MGNlMDJiLi4yYzNjNmUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuaApAQCAtMjYwLDUgKzI2MCw2IEBACiAJCSAgICAgIGNvbnN0IHU2NCByZXNzb3VyY2VfaGFuZGxlLAogCQkgICAgICB2b2lkICpyYmxvY2ssCiAJCSAgICAgIHVuc2lnbmVkIGxvbmcgKmJ5dGVfY291bnQpOwordTY0IGhpcHpfaF9lb2koaW50IGlycSk7CiAKICNlbmRpZiAvKiBfX0hDUF9JRl9IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9jcS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2NxLmMKaW5kZXggYTAzYmQyOC4uZDM4NWU0MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2NxLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2NxLmMKQEAgLTgyLDcgKzgyLDcgQEAKIAkJd2MtPnVxdWV1ZVtoZWFkXS5vcGNvZGUgPSBlbnRyeS0+b3Bjb2RlOwogCQl3Yy0+dXF1ZXVlW2hlYWRdLnZlbmRvcl9lcnIgPSBlbnRyeS0+dmVuZG9yX2VycjsKIAkJd2MtPnVxdWV1ZVtoZWFkXS5ieXRlX2xlbiA9IGVudHJ5LT5ieXRlX2xlbjsKLQkJd2MtPnVxdWV1ZVtoZWFkXS5pbW1fZGF0YSA9IChfX3UzMiBfX2ZvcmNlKWVudHJ5LT5pbW1fZGF0YTsKKwkJd2MtPnVxdWV1ZVtoZWFkXS5leC5pbW1fZGF0YSA9IChfX3UzMiBfX2ZvcmNlKSBlbnRyeS0+ZXguaW1tX2RhdGE7CiAJCXdjLT51cXVldWVbaGVhZF0ucXBfbnVtID0gZW50cnktPnFwLT5xcF9udW07CiAJCXdjLT51cXVldWVbaGVhZF0uc3JjX3FwID0gZW50cnktPnNyY19xcDsKIAkJd2MtPnVxdWV1ZVtoZWFkXS53Y19mbGFncyA9IGVudHJ5LT53Y19mbGFnczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9maWxlX29wcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2ZpbGVfb3BzLmMKaW5kZXggYjQ3MmIxNS4uMzVmMzAxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2ZpbGVfb3BzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2ZpbGVfb3BzLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CiAjaW5jbHVkZSA8bGludXgvaW8uaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogCiAjaW5jbHVkZSAiaXBhdGhfa2VybmVsLmgiCkBAIC0xODE1LDYgKzE4MTYsNyBAQAogc3RhdGljIGludCBpcGF0aF9vcGVuKHN0cnVjdCBpbm9kZSAqaW4sIHN0cnVjdCBmaWxlICpmcCkKIHsKIAkvKiBUaGUgcmVhbCB3b3JrIGlzIHBlcmZvcm1lZCBsYXRlciBpbiBpcGF0aF9hc3NpZ25fcG9ydCgpICovCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlmcC0+cHJpdmF0ZV9kYXRhID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGlwYXRoX2ZpbGVkYXRhKSwgR0ZQX0tFUk5FTCk7CiAJcmV0dXJuIGZwLT5wcml2YXRlX2RhdGEgPyAwIDogLUVOT01FTTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9pYmE3MjIwLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfaWJhNzIyMC5jCmluZGV4IDhlZWU3ODMuLmZiNzA3MTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9pYmE3MjIwLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2liYTcyMjAuYwpAQCAtMjIyOCw4ICsyMjI4LDggQEAKIAkJMHhmZmZmZmZmZiwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLAogCQkweDQwMDAwMDAxLCAweDEzODgsIDB4MTVlLCAvKiByZXN0IDAncyAqLwogCQl9OwotCWRjbnQgPSBzaXplb2YobWFkcGF5bG9hZF9zdGFydCkvc2l6ZW9mKG1hZHBheWxvYWRfc3RhcnRbMF0pOwotCWhjbnQgPSBzaXplb2YoaGRyKS9zaXplb2YoaGRyWzBdKTsKKwlkY250ID0gQVJSQVlfU0laRShtYWRwYXlsb2FkX3N0YXJ0KTsKKwloY250ID0gQVJSQVlfU0laRShoZHIpOwogCWlmICghc3dhcHBlZCkgewogCQkvKiBmb3IgbWFpbnRhaW5hYmlsaXR5LCBkbyBpdCBhdCBydW50aW1lICovCiAJCWZvciAoaSA9IDA7IGkgPCBoY250OyBpKyspIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9tYWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9tYWQuYwppbmRleCA1ZjkzMTVkLi5iZTRmYzlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfbWFkLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX21hZC5jCkBAIC0xMTEsOSArMTExLDkgQEAKIAluaXAtPnJldmlzaW9uID0gY3B1X3RvX2JlMzIoKG1hanJldiA8PCAxNikgfCBtaW5yZXYpOwogCW5pcC0+bG9jYWxfcG9ydF9udW0gPSBwb3J0OwogCXZlbmRvciA9IGRkLT5pcGF0aF92ZW5kb3JpZDsKLQluaXAtPnZlbmRvcl9pZFswXSA9IDA7Ci0JbmlwLT52ZW5kb3JfaWRbMV0gPSB2ZW5kb3IgPj4gODsKLQluaXAtPnZlbmRvcl9pZFsyXSA9IHZlbmRvcjsKKwluaXAtPnZlbmRvcl9pZFswXSA9IElQQVRIX1NSQ19PVUlfMTsKKwluaXAtPnZlbmRvcl9pZFsxXSA9IElQQVRIX1NSQ19PVUlfMjsKKwluaXAtPnZlbmRvcl9pZFsyXSA9IElQQVRIX1NSQ19PVUlfMzsKIAogCXJldHVybiByZXBseShzbXApOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3JjLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfcmMuYwppbmRleCAxMDhkZjY2Li45NzcxMDUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfcmMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfcmMuYwpAQCAtMTcwMywxMSArMTcwMywxMSBAQAogCWNhc2UgT1AoU0VORF9MQVNUX1dJVEhfSU1NRURJQVRFKToKIAlzZW5kX2xhc3RfaW1tOgogCQlpZiAoaGVhZGVyX2luX2RhdGEpIHsKLQkJCXdjLmltbV9kYXRhID0gKihfX2JlMzIgKikgZGF0YTsKKwkJCXdjLmV4LmltbV9kYXRhID0gKihfX2JlMzIgKikgZGF0YTsKIAkJCWRhdGEgKz0gc2l6ZW9mKF9fYmUzMik7CiAJCX0gZWxzZSB7CiAJCQkvKiBJbW1lZGlhdGUgZGF0YSBjb21lcyBhZnRlciBCVEggKi8KLQkJCXdjLmltbV9kYXRhID0gb2hkci0+dS5pbW1fZGF0YTsKKwkJCXdjLmV4LmltbV9kYXRhID0gb2hkci0+dS5pbW1fZGF0YTsKIAkJfQogCQloZHJzaXplICs9IDQ7CiAJCXdjLndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfcnVjLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfcnVjLmMKaW5kZXggYTRiNTUyMS4uYWYwNTFmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3J1Yy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9ydWMuYwpAQCAtMzMxLDcgKzMzMSw3IEBACiAJc3dpdGNoICh3cWUtPndyLm9wY29kZSkgewogCWNhc2UgSUJfV1JfU0VORF9XSVRIX0lNTToKIAkJd2Mud2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKLQkJd2MuaW1tX2RhdGEgPSB3cWUtPndyLmV4LmltbV9kYXRhOworCQl3Yy5leC5pbW1fZGF0YSA9IHdxZS0+d3IuZXguaW1tX2RhdGE7CiAJCS8qIEZBTExUSFJPVUdIICovCiAJY2FzZSBJQl9XUl9TRU5EOgogCQlpZiAoIWlwYXRoX2dldF9yd3FlKHFwLCAwKSkKQEAgLTM0Miw3ICszNDIsNyBAQAogCQlpZiAodW5saWtlbHkoIShxcC0+cXBfYWNjZXNzX2ZsYWdzICYgSUJfQUNDRVNTX1JFTU9URV9XUklURSkpKQogCQkJZ290byBpbnZfZXJyOwogCQl3Yy53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQl3Yy5pbW1fZGF0YSA9IHdxZS0+d3IuZXguaW1tX2RhdGE7CisJCXdjLmV4LmltbV9kYXRhID0gd3FlLT53ci5leC5pbW1fZGF0YTsKIAkJaWYgKCFpcGF0aF9nZXRfcndxZShxcCwgMSkpCiAJCQlnb3RvIHJucl9uYWs7CiAJCS8qIEZBTExUSFJPVUdIICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdWMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF91Yy5jCmluZGV4IDA1OTZlYzEuLjgyY2M1ODggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF91Yy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF91Yy5jCkBAIC0zNzksMTEgKzM3OSwxMSBAQAogCWNhc2UgT1AoU0VORF9MQVNUX1dJVEhfSU1NRURJQVRFKToKIAlzZW5kX2xhc3RfaW1tOgogCQlpZiAoaGVhZGVyX2luX2RhdGEpIHsKLQkJCXdjLmltbV9kYXRhID0gKihfX2JlMzIgKikgZGF0YTsKKwkJCXdjLmV4LmltbV9kYXRhID0gKihfX2JlMzIgKikgZGF0YTsKIAkJCWRhdGEgKz0gc2l6ZW9mKF9fYmUzMik7CiAJCX0gZWxzZSB7CiAJCQkvKiBJbW1lZGlhdGUgZGF0YSBjb21lcyBhZnRlciBCVEggKi8KLQkJCXdjLmltbV9kYXRhID0gb2hkci0+dS5pbW1fZGF0YTsKKwkJCXdjLmV4LmltbV9kYXRhID0gb2hkci0+dS5pbW1fZGF0YTsKIAkJfQogCQloZHJzaXplICs9IDQ7CiAJCXdjLndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07CkBAIC00ODMsMTEgKzQ4MywxMSBAQAogCWNhc2UgT1AoUkRNQV9XUklURV9MQVNUX1dJVEhfSU1NRURJQVRFKToKIAlyZG1hX2xhc3RfaW1tOgogCQlpZiAoaGVhZGVyX2luX2RhdGEpIHsKLQkJCXdjLmltbV9kYXRhID0gKihfX2JlMzIgKikgZGF0YTsKKwkJCXdjLmV4LmltbV9kYXRhID0gKihfX2JlMzIgKikgZGF0YTsKIAkJCWRhdGEgKz0gc2l6ZW9mKF9fYmUzMik7CiAJCX0gZWxzZSB7CiAJCQkvKiBJbW1lZGlhdGUgZGF0YSBjb21lcyBhZnRlciBCVEggKi8KLQkJCXdjLmltbV9kYXRhID0gb2hkci0+dS5pbW1fZGF0YTsKKwkJCXdjLmV4LmltbV9kYXRhID0gb2hkci0+dS5pbW1fZGF0YTsKIAkJfQogCQloZHJzaXplICs9IDQ7CiAJCXdjLndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF91ZC5jCmluZGV4IDc3Y2E4Y2EuLjM2YWEyNDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF91ZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF91ZC5jCkBAIC05Niw3ICs5Niw3IEBACiAKIAlpZiAoc3dxZS0+d3Iub3Bjb2RlID09IElCX1dSX1NFTkRfV0lUSF9JTU0pIHsKIAkJd2Mud2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKLQkJd2MuaW1tX2RhdGEgPSBzd3FlLT53ci5leC5pbW1fZGF0YTsKKwkJd2MuZXguaW1tX2RhdGEgPSBzd3FlLT53ci5leC5pbW1fZGF0YTsKIAl9CiAKIAkvKgpAQCAtNDkyLDE0ICs0OTIsMTQgQEAKIAlpZiAocXAtPmlicXAucXBfbnVtID4gMSAmJgogCSAgICBvcGNvZGUgPT0gSUJfT1BDT0RFX1VEX1NFTkRfT05MWV9XSVRIX0lNTUVESUFURSkgewogCQlpZiAoaGVhZGVyX2luX2RhdGEpIHsKLQkJCXdjLmltbV9kYXRhID0gKihfX2JlMzIgKikgZGF0YTsKKwkJCXdjLmV4LmltbV9kYXRhID0gKihfX2JlMzIgKikgZGF0YTsKIAkJCWRhdGEgKz0gc2l6ZW9mKF9fYmUzMik7CiAJCX0gZWxzZQotCQkJd2MuaW1tX2RhdGEgPSBvaGRyLT51LnVkLmltbV9kYXRhOworCQkJd2MuZXguaW1tX2RhdGEgPSBvaGRyLT51LnVkLmltbV9kYXRhOwogCQl3Yy53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwogCQloZHJzaXplICs9IHNpemVvZih1MzIpOwogCX0gZWxzZSBpZiAob3Bjb2RlID09IElCX09QQ09ERV9VRF9TRU5EX09OTFkpIHsKLQkJd2MuaW1tX2RhdGEgPSAwOworCQl3Yy5leC5pbW1fZGF0YSA9IDA7CiAJCXdjLndjX2ZsYWdzID0gMDsKIAl9IGVsc2UgewogCQlkZXYtPm5fcGt0X2Ryb3BzKys7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdmVyYnMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF92ZXJicy5jCmluZGV4IDc3NzkxNjUuLjU1YzcxODggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF92ZXJicy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF92ZXJicy5jCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSA8cmRtYS9pYl91c2VyX3ZlcmJzLmg+CiAjaW5jbHVkZSA8bGludXgvaW8uaD4KICNpbmNsdWRlIDxsaW51eC91dHNuYW1lLmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogCiAjaW5jbHVkZSAiaXBhdGhfa2VybmVsLmgiCiAjaW5jbHVkZSAiaXBhdGhfdmVyYnMuaCIKQEAgLTE0OTcsNyArMTQ5OCw4IEBACiAJCUlCX0RFVklDRV9TWVNfSU1BR0VfR1VJRCB8IElCX0RFVklDRV9SQ19STlJfTkFLX0dFTiB8CiAJCUlCX0RFVklDRV9QT1JUX0FDVElWRV9FVkVOVCB8IElCX0RFVklDRV9TUlFfUkVTSVpFOwogCXByb3BzLT5wYWdlX3NpemVfY2FwID0gUEFHRV9TSVpFOwotCXByb3BzLT52ZW5kb3JfaWQgPSBkZXYtPmRkLT5pcGF0aF92ZW5kb3JpZDsKKwlwcm9wcy0+dmVuZG9yX2lkID0KKwkJSVBBVEhfU1JDX09VSV8xIDw8IDE2IHwgSVBBVEhfU1JDX09VSV8yIDw8IDggfCBJUEFUSF9TUkNfT1VJXzM7CiAJcHJvcHMtPnZlbmRvcl9wYXJ0X2lkID0gZGV2LT5kZC0+aXBhdGhfZGV2aWNlaWQ7CiAJcHJvcHMtPmh3X3ZlciA9IGRldi0+ZGQtPmlwYXRoX3BjaXJldjsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzX21jYXN0LmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdmVyYnNfbWNhc3QuYwppbmRleCA5ZTVhYmY5Li5kNzNlMzIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdmVyYnNfbWNhc3QuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdmVyYnNfbWNhc3QuYwpAQCAtMzEsOCArMzEsNyBAQAogICogU09GVFdBUkUuCiAgKi8KIAotI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KLSNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KIAogI2luY2x1ZGUgImlwYXRoX3ZlcmJzLmgiCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L2NxLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9jcS5jCmluZGV4IDQ1MjEzMTkuLjI5OWYyMDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L2NxLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvY3EuYwpAQCAtNjYzLDE4ICs2NjMsMTggQEAKIAogCQlzd2l0Y2ggKGNxZS0+b3duZXJfc3Jfb3Bjb2RlICYgTUxYNF9DUUVfT1BDT0RFX01BU0spIHsKIAkJY2FzZSBNTFg0X1JFQ1ZfT1BDT0RFX1JETUFfV1JJVEVfSU1NOgotCQkJd2MtPm9wY29kZSAgID0gSUJfV0NfUkVDVl9SRE1BX1dJVEhfSU1NOwotCQkJd2MtPndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07Ci0JCQl3Yy0+aW1tX2RhdGEgPSBjcWUtPmltbWVkX3Jzc19pbnZhbGlkOworCQkJd2MtPm9wY29kZQk9IElCX1dDX1JFQ1ZfUkRNQV9XSVRIX0lNTTsKKwkJCXdjLT53Y19mbGFncwk9IElCX1dDX1dJVEhfSU1NOworCQkJd2MtPmV4LmltbV9kYXRhID0gY3FlLT5pbW1lZF9yc3NfaW52YWxpZDsKIAkJCWJyZWFrOwogCQljYXNlIE1MWDRfUkVDVl9PUENPREVfU0VORDoKIAkJCXdjLT5vcGNvZGUgICA9IElCX1dDX1JFQ1Y7CiAJCQl3Yy0+d2NfZmxhZ3MgPSAwOwogCQkJYnJlYWs7CiAJCWNhc2UgTUxYNF9SRUNWX09QQ09ERV9TRU5EX0lNTToKLQkJCXdjLT5vcGNvZGUgICA9IElCX1dDX1JFQ1Y7Ci0JCQl3Yy0+d2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKLQkJCXdjLT5pbW1fZGF0YSA9IGNxZS0+aW1tZWRfcnNzX2ludmFsaWQ7CisJCQl3Yy0+b3Bjb2RlCT0gSUJfV0NfUkVDVjsKKwkJCXdjLT53Y19mbGFncwk9IElCX1dDX1dJVEhfSU1NOworCQkJd2MtPmV4LmltbV9kYXRhID0gY3FlLT5pbW1lZF9yc3NfaW52YWxpZDsKIAkJCWJyZWFrOwogCQl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21hZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFkLmMKaW5kZXggNGMxZTcyZi4uY2RjYTNhNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFkLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFkLmMKQEAgLTI1NSw3ICsyNTUsOCBAQAogCQkJcmV0dXJuIElCX01BRF9SRVNVTFRfU1VDQ0VTUzsKIAl9IGVsc2UgaWYgKGluX21hZC0+bWFkX2hkci5tZ210X2NsYXNzID09IElCX01HTVRfQ0xBU1NfUEVSRl9NR01UIHx8CiAJCSAgIGluX21hZC0+bWFkX2hkci5tZ210X2NsYXNzID09IE1MWDRfSUJfVkVORE9SX0NMQVNTMSAgIHx8Ci0JCSAgIGluX21hZC0+bWFkX2hkci5tZ210X2NsYXNzID09IE1MWDRfSUJfVkVORE9SX0NMQVNTMikgeworCQkgICBpbl9tYWQtPm1hZF9oZHIubWdtdF9jbGFzcyA9PSBNTFg0X0lCX1ZFTkRPUl9DTEFTUzIgICB8fAorCQkgICBpbl9tYWQtPm1hZF9oZHIubWdtdF9jbGFzcyA9PSBJQl9NR01UX0NMQVNTX0NPTkdfTUdNVCkgewogCQlpZiAoaW5fbWFkLT5tYWRfaGRyLm1ldGhvZCAgIT0gSUJfTUdNVF9NRVRIT0RfR0VUICYmCiAJCSAgICBpbl9tYWQtPm1hZF9oZHIubWV0aG9kICAhPSBJQl9NR01UX01FVEhPRF9TRVQpCiAJCQlyZXR1cm4gSUJfTUFEX1JFU1VMVF9TVUNDRVNTOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFpbi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFpbi5jCmluZGV4IDRkNjFlMzIuLmJjZjUwNjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21haW4uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWluLmMKQEAgLTkwLDcgKzkwLDggQEAKIAlwcm9wcy0+ZGV2aWNlX2NhcF9mbGFncyAgICA9IElCX0RFVklDRV9DSEFOR0VfUEhZX1BPUlQgfAogCQlJQl9ERVZJQ0VfUE9SVF9BQ1RJVkVfRVZFTlQJCXwKIAkJSUJfREVWSUNFX1NZU19JTUFHRV9HVUlECQl8Ci0JCUlCX0RFVklDRV9SQ19STlJfTkFLX0dFTjsKKwkJSUJfREVWSUNFX1JDX1JOUl9OQUtfR0VOCQl8CisJCUlCX0RFVklDRV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0s7CiAJaWYgKGRldi0+ZGV2LT5jYXBzLmZsYWdzICYgTUxYNF9ERVZfQ0FQX0ZMQUdfQkFEX1BLRVlfQ05UUikKIAkJcHJvcHMtPmRldmljZV9jYXBfZmxhZ3MgfD0gSUJfREVWSUNFX0JBRF9QS0VZX0NOVFI7CiAJaWYgKGRldi0+ZGV2LT5jYXBzLmZsYWdzICYgTUxYNF9ERVZfQ0FQX0ZMQUdfQkFEX1FLRVlfQ05UUikKQEAgLTQzNyw3ICs0MzgsOSBAQAogc3RhdGljIGludCBtbHg0X2liX21jZ19hdHRhY2goc3RydWN0IGliX3FwICppYnFwLCB1bmlvbiBpYl9naWQgKmdpZCwgdTE2IGxpZCkKIHsKIAlyZXR1cm4gbWx4NF9tdWx0aWNhc3RfYXR0YWNoKHRvX21kZXYoaWJxcC0+ZGV2aWNlKS0+ZGV2LAotCQkJCSAgICAgJnRvX21xcChpYnFwKS0+bXFwLCBnaWQtPnJhdyk7CisJCQkJICAgICAmdG9fbXFwKGlicXApLT5tcXAsIGdpZC0+cmF3LAorCQkJCSAgICAgISEodG9fbXFwKGlicXApLT5mbGFncyAmCisJCQkJCU1MWDRfSUJfUVBfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLKSk7CiB9CiAKIHN0YXRpYyBpbnQgbWx4NF9pYl9tY2dfZGV0YWNoKHN0cnVjdCBpYl9xcCAqaWJxcCwgdW5pb24gaWJfZ2lkICpnaWQsIHUxNiBsaWQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tbHg0X2liLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tbHg0X2liLmgKaW5kZXggNWNmOTk0Ny4uYzRjZjViNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWx4NF9pYi5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21seDRfaWIuaApAQCAtMTAxLDcgKzEwMSw4IEBACiB9OwogCiBlbnVtIG1seDRfaWJfcXBfZmxhZ3MgewotCU1MWDRfSUJfUVBfTFNPCQk9IDEgPDwgMAorCU1MWDRfSUJfUVBfTFNPCQkJCT0gMSA8PCAwLAorCU1MWDRfSUJfUVBfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLCT0gMSA8PCAxLAogfTsKIAogc3RydWN0IG1seDRfaWJfcXAgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvcXAuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L3FwLmMKaW5kZXggYTgwZGYyMi4uODllYjZjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvcXAuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9xcC5jCkBAIC0xMjksOSArMTI5LDEwIEBACiAJaW50IGluZDsKIAl2b2lkICpidWY7CiAJX19iZTMyIHN0YW1wOworCXN0cnVjdCBtbHg0X3dxZV9jdHJsX3NlZyAqY3RybDsKIAotCXMgPSByb3VuZHVwKHNpemUsIDFVIDw8IHFwLT5zcS53cWVfc2hpZnQpOwogCWlmIChxcC0+c3FfbWF4X3dxZXNfcGVyX3dyID4gMSkgeworCQlzID0gcm91bmR1cChzaXplLCAxVSA8PCBxcC0+c3Eud3FlX3NoaWZ0KTsKIAkJZm9yIChpID0gMDsgaSA8IHM7IGkgKz0gNjQpIHsKIAkJCWluZCA9IChpID4+IHFwLT5zcS53cWVfc2hpZnQpICsgbjsKIAkJCXN0YW1wID0gaW5kICYgcXAtPnNxLndxZV9jbnQgPyBjcHVfdG9fYmUzMigweDdmZmZmZmZmKSA6CkBAIC0xNDEsNyArMTQyLDggQEAKIAkJCSp3cWUgPSBzdGFtcDsKIAkJfQogCX0gZWxzZSB7Ci0JCWJ1ZiA9IGdldF9zZW5kX3dxZShxcCwgbiAmIChxcC0+c3Eud3FlX2NudCAtIDEpKTsKKwkJY3RybCA9IGJ1ZiA9IGdldF9zZW5kX3dxZShxcCwgbiAmIChxcC0+c3Eud3FlX2NudCAtIDEpKTsKKwkJcyA9IChjdHJsLT5mZW5jZV9zaXplICYgMHgzZikgPDwgNDsKIAkJZm9yIChpID0gNjQ7IGkgPCBzOyBpICs9IDY0KSB7CiAJCQl3cWUgPSBidWYgKyBpOwogCQkJKndxZSA9IGNwdV90b19iZTMyKDB4ZmZmZmZmZmYpOwpAQCAtNDUyLDE5ICs0NTQsOCBAQAogCXNwaW5fbG9ja19pbml0KCZxcC0+cnEubG9jayk7CiAKIAlxcC0+c3RhdGUJID0gSUJfUVBTX1JFU0VUOwotCXFwLT5hdG9taWNfcmRfZW4gPSAwOwotCXFwLT5yZXNwX2RlcHRoICAgPSAwOwotCi0JcXAtPnJxLmhlYWQJICAgID0gMDsKLQlxcC0+cnEudGFpbAkgICAgPSAwOwotCXFwLT5zcS5oZWFkCSAgICA9IDA7Ci0JcXAtPnNxLnRhaWwJICAgID0gMDsKLQlxcC0+c3FfbmV4dF93cWUgICAgID0gMDsKLQogCWlmIChpbml0X2F0dHItPnNxX3NpZ190eXBlID09IElCX1NJR05BTF9BTExfV1IpCiAJCXFwLT5zcV9zaWduYWxfYml0cyA9IGNwdV90b19iZTMyKE1MWDRfV1FFX0NUUkxfQ1FfVVBEQVRFKTsKLQllbHNlCi0JCXFwLT5zcV9zaWduYWxfYml0cyA9IDA7CiAKIAllcnIgPSBzZXRfcnFfc2l6ZShkZXYsICZpbml0X2F0dHItPmNhcCwgISFwZC0+dW9iamVjdCwgISFpbml0X2F0dHItPnNycSwgcXApOwogCWlmIChlcnIpCkBAIC01MDksNiArNTAwLDkgQEAKIAl9IGVsc2UgewogCQlxcC0+c3Ffbm9fcHJlZmV0Y2ggPSAwOwogCisJCWlmIChpbml0X2F0dHItPmNyZWF0ZV9mbGFncyAmIElCX1FQX0NSRUFURV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0spCisJCQlxcC0+ZmxhZ3MgfD0gTUxYNF9JQl9RUF9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0s7CisKIAkJaWYgKGluaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzICYgSUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTykKIAkJCXFwLT5mbGFncyB8PSBNTFg0X0lCX1FQX0xTTzsKIApAQCAtNjgyLDEwICs2NzYsMTUgQEAKIAlzdHJ1Y3QgbWx4NF9pYl9xcCAqcXA7CiAJaW50IGVycjsKIAotCS8qIFdlIG9ubHkgc3VwcG9ydCBMU08sIGFuZCBvbmx5IGZvciBrZXJuZWwgVUQgUVBzLiAqLwotCWlmIChpbml0X2F0dHItPmNyZWF0ZV9mbGFncyAmIH5JQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPKQorCS8qCisJICogV2Ugb25seSBzdXBwb3J0IExTTyBhbmQgbXVsdGljYXN0IGxvb3BiYWNrIGJsb2NraW5nLCBhbmQKKwkgKiBvbmx5IGZvciBrZXJuZWwgVUQgUVBzLgorCSAqLworCWlmIChpbml0X2F0dHItPmNyZWF0ZV9mbGFncyAmIH4oSUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTyB8CisJCQkJCUlCX1FQX0NSRUFURV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0spKQogCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKLQlpZiAoaW5pdF9hdHRyLT5jcmVhdGVfZmxhZ3MgJiBJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPICYmCisKKwlpZiAoaW5pdF9hdHRyLT5jcmVhdGVfZmxhZ3MgJiYKIAkgICAgKHBkLT51b2JqZWN0IHx8IGluaXRfYXR0ci0+cXBfdHlwZSAhPSBJQl9RUFRfVUQpKQogCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKIApAQCAtNjk0LDcgKzY5Myw3IEBACiAJY2FzZSBJQl9RUFRfVUM6CiAJY2FzZSBJQl9RUFRfVUQ6CiAJewotCQlxcCA9IGttYWxsb2Moc2l6ZW9mICpxcCwgR0ZQX0tFUk5FTCk7CisJCXFwID0ga3phbGxvYyhzaXplb2YgKnFwLCBHRlBfS0VSTkVMKTsKIAkJaWYgKCFxcCkKIAkJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCkBAIC03MTUsNyArNzE0LDcgQEAKIAkJaWYgKHBkLT51b2JqZWN0KQogCQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAKLQkJc3FwID0ga21hbGxvYyhzaXplb2YgKnNxcCwgR0ZQX0tFUk5FTCk7CisJCXNxcCA9IGt6YWxsb2Moc2l6ZW9mICpzcXAsIEdGUF9LRVJORUwpOwogCQlpZiAoIXNxcCkKIAkJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCkBAIC05MDYsNyArOTA1LDggQEAKIAkJCSAgICAgICBhdHRyLT5wYXRoX210dSk7CiAJCQlnb3RvIG91dDsKIAkJfQotCQljb250ZXh0LT5tdHVfbXNnbWF4ID0gKGF0dHItPnBhdGhfbXR1IDw8IDUpIHwgMzE7CisJCWNvbnRleHQtPm10dV9tc2dtYXggPSAoYXR0ci0+cGF0aF9tdHUgPDwgNSkgfAorCQkJaWxvZzIoZGV2LT5kZXYtPmNhcHMubWF4X21zZ19zeik7CiAJfQogCiAJaWYgKHFwLT5ycS53cWVfY250KQpAQCAtMTA2Myw2ICsxMDYzLDggQEAKIAkJZm9yIChpID0gMDsgaSA8IHFwLT5zcS53cWVfY250OyArK2kpIHsKIAkJCWN0cmwgPSBnZXRfc2VuZF93cWUocXAsIGkpOwogCQkJY3RybC0+b3duZXJfb3Bjb2RlID0gY3B1X3RvX2JlMzIoMSA8PCAzMSk7CisJCQlpZiAocXAtPnNxX21heF93cWVzX3Blcl93ciA9PSAxKQorCQkJCWN0cmwtPmZlbmNlX3NpemUgPSAxIDw8IChxcC0+c3Eud3FlX3NoaWZ0IC0gNCk7CiAKIAkJCXN0YW1wX3NlbmRfd3FlKHFwLCBpLCAxIDw8IHFwLT5zcS53cWVfc2hpZnQpOwogCQl9CkBAIC0xMTI3LDIzICsxMTI5LDYgQEAKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGliX3FwX2F0dHIgbWx4NF9pYl9xcF9hdHRyID0geyAucG9ydF9udW0gPSAxIH07Ci1zdGF0aWMgY29uc3QgaW50IG1seDRfaWJfcXBfYXR0cl9tYXNrX3RhYmxlW0lCX1FQVF9VRCArIDFdID0gewotCQlbSUJfUVBUX1VEXSAgPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJCUlCX1FQX1BPUlQJCQl8Ci0JCQkJSUJfUVBfUUtFWSksCi0JCVtJQl9RUFRfVUNdICA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQkJSUJfUVBfUE9SVAkJCXwKLQkJCQlJQl9RUF9BQ0NFU1NfRkxBR1MpLAotCQlbSUJfUVBUX1JDXSAgPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJCUlCX1FQX1BPUlQJCQl8Ci0JCQkJSUJfUVBfQUNDRVNTX0ZMQUdTKSwKLQkJW0lCX1FQVF9TTUldID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCQlJQl9RUF9RS0VZKSwKLQkJW0lCX1FQVF9HU0ldID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCQlJQl9RUF9RS0VZKSwKLX07Ci0KIGludCBtbHg0X2liX21vZGlmeV9xcChzdHJ1Y3QgaWJfcXAgKmlicXAsIHN0cnVjdCBpYl9xcF9hdHRyICphdHRyLAogCQkgICAgICBpbnQgYXR0cl9tYXNrLCBzdHJ1Y3QgaWJfdWRhdGEgKnVkYXRhKQogewpAQCAtMTE4NiwxNSArMTE3MSw2IEBACiAJCWdvdG8gb3V0OwogCX0KIAotCWlmIChjdXJfc3RhdGUgPT0gSUJfUVBTX1JFU0VUICYmIG5ld19zdGF0ZSA9PSBJQl9RUFNfRVJSKSB7Ci0JCWVyciA9IF9fbWx4NF9pYl9tb2RpZnlfcXAoaWJxcCwgJm1seDRfaWJfcXBfYXR0ciwKLQkJCQkJICBtbHg0X2liX3FwX2F0dHJfbWFza190YWJsZVtpYnFwLT5xcF90eXBlXSwKLQkJCQkJICBJQl9RUFNfUkVTRVQsIElCX1FQU19JTklUKTsKLQkJaWYgKGVycikKLQkJCWdvdG8gb3V0OwotCQljdXJfc3RhdGUgPSBJQl9RUFNfSU5JVDsKLQl9Ci0KIAllcnIgPSBfX21seDRfaWJfbW9kaWZ5X3FwKGlicXAsIGF0dHIsIGF0dHJfbWFzaywgY3VyX3N0YXRlLCBuZXdfc3RhdGUpOwogCiBvdXQ6CkBAIC0xODY1LDYgKzE4NDEsMTMgQEAKIAogCXFwX2luaXRfYXR0ci0+Y2FwCSAgICAgPSBxcF9hdHRyLT5jYXA7CiAKKwlxcF9pbml0X2F0dHItPmNyZWF0ZV9mbGFncyA9IDA7CisJaWYgKHFwLT5mbGFncyAmIE1MWDRfSUJfUVBfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLKQorCQlxcF9pbml0X2F0dHItPmNyZWF0ZV9mbGFncyB8PSBJQl9RUF9DUkVBVEVfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLOworCisJaWYgKHFwLT5mbGFncyAmIE1MWDRfSUJfUVBfTFNPKQorCQlxcF9pbml0X2F0dHItPmNyZWF0ZV9mbGFncyB8PSBJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPOworCiBvdXQ6CiAJbXV0ZXhfdW5sb2NrKCZxcC0+bXV0ZXgpOwogCXJldHVybiBlcnI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfYWxsb2NhdG9yLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfYWxsb2NhdG9yLmMKaW5kZXggYTc2MzA2Ny4uYzVjY2MyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2FsbG9jYXRvci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hbGxvY2F0b3IuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfYWxsb2NhdG9yLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2F2LmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfYXYuYwppbmRleCA0YjExMWE4Li4zMmY2YzYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfYXYuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfYXYuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfYXYuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NhdGFzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY2F0YXMuYwppbmRleCBlOTQ4MTU4Li5jYzQ0MGY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY2F0YXMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY2F0YXMuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZCQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgpAQCAtMTI4LDcgKzEyNiw2IEBACiBzdGF0aWMgdm9pZCBwb2xsX2NhdGFzKHVuc2lnbmVkIGxvbmcgZGV2X3B0cikKIHsKIAlzdHJ1Y3QgbXRoY2FfZGV2ICpkZXYgPSAoc3RydWN0IG10aGNhX2RldiAqKSBkZXZfcHRyOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZGV2LT5jYXRhc19lcnIuc2l6ZTsgKytpKQpAQCAtMTM3LDEzICsxMzQsOCBAQAogCQkJcmV0dXJuOwogCQl9CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2F0YXNfbG9jaywgZmxhZ3MpOwotCWlmICghZGV2LT5jYXRhc19lcnIuc3RvcCkKLQkJbW9kX3RpbWVyKCZkZXYtPmNhdGFzX2Vyci50aW1lciwKLQkJCSAgamlmZmllcyArIE1USENBX0NBVEFTX1BPTExfSU5URVJWQUwpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNhdGFzX2xvY2ssIGZsYWdzKTsKLQotCXJldHVybjsKKwltb2RfdGltZXIoJmRldi0+Y2F0YXNfZXJyLnRpbWVyLAorCQkgIHJvdW5kX2ppZmZpZXMoamlmZmllcyArIE1USENBX0NBVEFTX1BPTExfSU5URVJWQUwpKTsKIH0KIAogdm9pZCBtdGhjYV9zdGFydF9jYXRhc19wb2xsKHN0cnVjdCBtdGhjYV9kZXYgKmRldikKQEAgLTE1MSw3ICsxNDMsNiBAQAogCXVuc2lnbmVkIGxvbmcgYWRkcjsKIAogCWluaXRfdGltZXIoJmRldi0+Y2F0YXNfZXJyLnRpbWVyKTsKLQlkZXYtPmNhdGFzX2Vyci5zdG9wID0gMDsKIAlkZXYtPmNhdGFzX2Vyci5tYXAgID0gTlVMTDsKIAogCWFkZHIgPSBwY2lfcmVzb3VyY2Vfc3RhcnQoZGV2LT5wZGV2LCAwKSArCkBAIC0xODIsMTAgKzE3Myw2IEBACiAKIHZvaWQgbXRoY2Ffc3RvcF9jYXRhc19wb2xsKHN0cnVjdCBtdGhjYV9kZXYgKmRldikKIHsKLQlzcGluX2xvY2tfaXJxKCZjYXRhc19sb2NrKTsKLQlkZXYtPmNhdGFzX2Vyci5zdG9wID0gMTsKLQlzcGluX3VubG9ja19pcnEoJmNhdGFzX2xvY2spOwotCiAJZGVsX3RpbWVyX3N5bmMoJmRldi0+Y2F0YXNfZXJyLnRpbWVyKTsKIAogCWlmIChkZXYtPmNhdGFzX2Vyci5tYXApIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jbWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jbWQuYwppbmRleCA1NGQyMzBlLi5jMzNlMWM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY21kLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9jbWQuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jbWQuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jbWQuaAppbmRleCA4OTI4Y2E0Li42ZWZkMzI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY21kLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9jbWQuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9DTURfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NvbmZpZ19yZWcuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jb25maWdfcmVnLmgKaW5kZXggYWZhNTZiZi4uNzU2NzFmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NvbmZpZ19yZWcuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY29uZmlnX3JlZy5oCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9jb25maWdfcmVnLmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgTVRIQ0FfQ09ORklHX1JFR19ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY3EuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jcS5jCmluZGV4IDIwNDAxZDIuLmQ5ZjQ3MzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jcS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jcS5jCkBAIC0zMiw4ICszMiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9jcS5jIDEzNjkgMjAwNC0xMi0yMCAxNjoxNzowN1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgpAQCAtNjIyLDEzICs2MjAsMTMgQEAKIAkJY2FzZSBJQl9PUENPREVfU0VORF9MQVNUX1dJVEhfSU1NRURJQVRFOgogCQljYXNlIElCX09QQ09ERV9TRU5EX09OTFlfV0lUSF9JTU1FRElBVEU6CiAJCQllbnRyeS0+d2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKLQkJCWVudHJ5LT5pbW1fZGF0YSA9IGNxZS0+aW1tX2V0eXBlX3BrZXlfZWVjOworCQkJZW50cnktPmV4LmltbV9kYXRhID0gY3FlLT5pbW1fZXR5cGVfcGtleV9lZWM7CiAJCQllbnRyeS0+b3Bjb2RlID0gSUJfV0NfUkVDVjsKIAkJCWJyZWFrOwogCQljYXNlIElCX09QQ09ERV9SRE1BX1dSSVRFX0xBU1RfV0lUSF9JTU1FRElBVEU6CiAJCWNhc2UgSUJfT1BDT0RFX1JETUFfV1JJVEVfT05MWV9XSVRIX0lNTUVESUFURToKIAkJCWVudHJ5LT53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQkJZW50cnktPmltbV9kYXRhID0gY3FlLT5pbW1fZXR5cGVfcGtleV9lZWM7CisJCQllbnRyeS0+ZXguaW1tX2RhdGEgPSBjcWUtPmltbV9ldHlwZV9wa2V5X2VlYzsKIAkJCWVudHJ5LT5vcGNvZGUgPSBJQl9XQ19SRUNWX1JETUFfV0lUSF9JTU07CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9kZXYuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9kZXYuaAppbmRleCA3YmMzMmY4Li5lZTRkMDczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZGV2LmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rldi5oCkBAIC0zMiw4ICszMiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9kZXYuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9ERVZfSApAQCAtMjc5LDcgKzI3Nyw2IEBACiBzdHJ1Y3QgbXRoY2FfY2F0YXNfZXJyIHsKIAl1NjQJCQlhZGRyOwogCXUzMiBfX2lvbWVtCSAgICAgICAqbWFwOwotCXVuc2lnbmVkIGxvbmcJCXN0b3A7CiAJdTMyCQkJc2l6ZTsKIAlzdHJ1Y3QgdGltZXJfbGlzdAl0aW1lcjsKIAlzdHJ1Y3QgbGlzdF9oZWFkCWxpc3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZG9vcmJlbGwuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9kb29yYmVsbC5oCmluZGV4IGIzNzRkYzMuLjE0ZjUxZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9kb29yYmVsbC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9kb29yYmVsbC5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9kb29yYmVsbC5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9lcS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2VxLmMKaW5kZXggOGJkZTdmOS4uNGUzNmFhNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2VxLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2VxLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2VxLmMgMTM4MiAyMDA0LTEyLTI0IDAyOjIxOjAyWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21hZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21hZC5jCmluZGV4IDhiN2U4M2UuLjY0MDQ0OTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFkLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX21hZC5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFpbi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21haW4uYwppbmRleCAyMDBjZjEzLi5mYjlmOTFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFpbi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWluLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX21haW4uYyAxMzk2IDIwMDQtMTItMjggMDQ6MTA6MjdaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21jZy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21jZy5jCmluZGV4IGE4YWQwNzIuLjNmNWY5NDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tY2cuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWNnLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX21jZy5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuYwppbmRleCBkNTg2MmU1Li4xZjdkMWEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuaAppbmRleCBhMWFiMDY4Li5kYTliOGY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9NRU1GUkVFX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21yLmMKaW5kZXggODIwMjA1ZC4uODQ4OWIxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21yLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21yLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX21yLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcGQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wZC5jCmluZGV4IGMxZTk1MDcuLjI2NmYxNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wZC5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9wZC5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5jCmluZGV4IDYwNWE4ZDUuLmQxNjhjMjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcHJvZmlsZS5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuaAppbmRleCBlNzZjYjYyLi42MmIwMDljIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmgKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3Byb2ZpbGUuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9QUk9GSUxFX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmMKaW5kZXggYmUzNGY5OS4uODdhZDg4OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmMKQEAgLTMyLDggKzMyLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3Byb3ZpZGVyLmMgNDg1OSAyMDA2LTAxLTA5IDIxOjU1OjEwWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxyZG1hL2liX3NtaS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuaAppbmRleCA5MzRiZjk1Li5jNjIxZjg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuaApAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcHJvdmlkZXIuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBNVEhDQV9QUk9WSURFUl9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcXAuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9xcC5jCmluZGV4IDA5ZGMzNjEuLmY1MDgxYmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9xcC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9xcC5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9xcC5jIDEzNTUgMjAwNC0xMi0xNyAxNToyMzo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CkBAIC04NTAsMjMgKzg0OCw2IEBACiAJcmV0dXJuIGVycjsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBpYl9xcF9hdHRyIGR1bW15X2luaXRfYXR0ciA9IHsgLnBvcnRfbnVtID0gMSB9Owotc3RhdGljIGNvbnN0IGludCBkdW1teV9pbml0X2F0dHJfbWFza1tdID0gewotCVtJQl9RUFRfVURdICA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQlJQl9RUF9QT1JUCQkJfAotCQkJSUJfUVBfUUtFWSksCi0JW0lCX1FQVF9VQ10gID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCUlCX1FQX1BPUlQJCQl8Ci0JCQlJQl9RUF9BQ0NFU1NfRkxBR1MpLAotCVtJQl9RUFRfUkNdICA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQlJQl9RUF9QT1JUCQkJfAotCQkJSUJfUVBfQUNDRVNTX0ZMQUdTKSwKLQlbSUJfUVBUX1NNSV0gPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJSUJfUVBfUUtFWSksCi0JW0lCX1FQVF9HU0ldID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCUlCX1FQX1FLRVkpLAotfTsKLQogaW50IG10aGNhX21vZGlmeV9xcChzdHJ1Y3QgaWJfcXAgKmlicXAsIHN0cnVjdCBpYl9xcF9hdHRyICphdHRyLCBpbnQgYXR0cl9tYXNrLAogCQkgICAgc3RydWN0IGliX3VkYXRhICp1ZGF0YSkKIHsKQEAgLTkyOCwxNSArOTA5LDYgQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKGN1cl9zdGF0ZSA9PSBJQl9RUFNfUkVTRVQgJiYgbmV3X3N0YXRlID09IElCX1FQU19FUlIpIHsKLQkJZXJyID0gX19tdGhjYV9tb2RpZnlfcXAoaWJxcCwgJmR1bW15X2luaXRfYXR0ciwKLQkJCQkJZHVtbXlfaW5pdF9hdHRyX21hc2tbaWJxcC0+cXBfdHlwZV0sCi0JCQkJCUlCX1FQU19SRVNFVCwgSUJfUVBTX0lOSVQpOwotCQlpZiAoZXJyKQotCQkJZ290byBvdXQ7Ci0JCWN1cl9zdGF0ZSA9IElCX1FQU19JTklUOwotCX0KLQogCWVyciA9IF9fbXRoY2FfbW9kaWZ5X3FwKGlicXAsIGF0dHIsIGF0dHJfbWFzaywgY3VyX3N0YXRlLCBuZXdfc3RhdGUpOwogCiBvdXQ6CkBAIC0xMjc3LDEwICsxMjQ5LDEwIEBACiAJCXJldHVybiAtRUlOVkFMOwogCiAJLyoKLQkgKiBGb3IgTUxYIHRyYW5zcG9ydCB3ZSBuZWVkIDIgZXh0cmEgUy9HIGVudHJpZXM6CisJICogRm9yIE1MWCB0cmFuc3BvcnQgd2UgbmVlZCAyIGV4dHJhIHNlbmQgZ2F0aGVyIGVudHJpZXM6CiAJICogb25lIGZvciB0aGUgaGVhZGVyIGFuZCBvbmUgZm9yIHRoZSBjaGVja3N1bSBhdCB0aGUgZW5kCiAJICovCi0JaWYgKHFwLT50cmFuc3BvcnQgPT0gTUxYICYmIGNhcC0+bWF4X3JlY3Zfc2dlICsgMiA+IGRldi0+bGltaXRzLm1heF9zZykKKwlpZiAocXAtPnRyYW5zcG9ydCA9PSBNTFggJiYgY2FwLT5tYXhfc2VuZF9zZ2UgKyAyID4gZGV2LT5saW1pdHMubWF4X3NnKQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWlmIChtdGhjYV9pc19tZW1mcmVlKGRldikpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9yZXNldC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Jlc2V0LmMKaW5kZXggOTE5MzRmMi4uYWNiNjgxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Jlc2V0LmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Jlc2V0LmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3Jlc2V0LmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffc3JxLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffc3JxLmMKaW5kZXggYTVmZmZmNi4uNGZhYmU2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3NycS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9zcnEuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2Ffc3JxLmMgMzA0NyAyMDA1LTA4LTEwIDAzOjU5OjM1WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdWFyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdWFyLmMKaW5kZXggOGI3Mjg0OC4uY2E1OTAwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Vhci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91YXIuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZCQKICAqLwogCiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4JCS8qIFBBR0VfU0hJRlQgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91c2VyLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdXNlci5oCmluZGV4IGUxMjYyYzkuLjVmZTU2ZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91c2VyLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3VzZXIuaApAQCAtMjksNyArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKICAqLwogCiAjaWZuZGVmIE1USENBX1VTRVJfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3dxZS5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3dxZS5oCmluZGV4IGIzNTUxYTguLjM0MWE1YWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV93cWUuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffd3FlLmgKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3dxZS5oIDMwNDcgMjAwNS0wOC0xMCAwMzo1OTozNVogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX1dRRV9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuYwppbmRleCBhNGU5MjY5Li5kMjg4NGU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmMKQEAgLTMyOCw3ICszMjgsNyBAQAogCQlzZXRfd3FlXzMyYml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9XUUVfSURfSURYLCBuZXNxcC0+aHdxcC5xcF9pZCk7CiAJCXU2NHRlbXAgPSAodTY0KW5lc3FwLT5uZXNxcF9jb250ZXh0X3BiYXNlOwogCQlzZXRfd3FlXzY0Yml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9RUF9XUUVfQ09OVEVYVF9MT1dfSURYLCB1NjR0ZW1wKTsKLQkJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAl9CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5oCmluZGV4IDYxYjQ2ZTkuLjM5YmQ4OTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuaApAQCAtOTQsOSArOTQsNiBAQAogCiAjZGVmaW5lIE1BWF9EUENfSVRFUkFUSU9OUyAgICAgICAgICAgICAgIDEyOAogCi0jZGVmaW5lIE5FU19DUVBfUkVRVUVTVF9OT19ET09SQkVMTF9SSU5HIDAKLSNkZWZpbmUgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwgICAgMQotCiAjZGVmaW5lIE5FU19EUlZfT1BUX0VOQUJMRV9NUEFfVkVSXzAgICAgIDB4MDAwMDAwMDEKICNkZWZpbmUgTkVTX0RSVl9PUFRfRElTQUJMRV9NUEFfQ1JDICAgICAgMHgwMDAwMDAwMgogI2RlZmluZSBORVNfRFJWX09QVF9ESVNBQkxFX0ZJUlNUX1dSSVRFICAweDAwMDAwMDA0CkBAIC01MzgsNyArNTM1LDExIEBACiB2b2lkIG5lc193cml0ZV8xMEdfcGh5X3JlZyhzdHJ1Y3QgbmVzX2RldmljZSAqLCB1MTYsIHU4LCB1MTYsIHUxNik7CiB2b2lkIG5lc19yZWFkXzEwR19waHlfcmVnKHN0cnVjdCBuZXNfZGV2aWNlICosIHU4LCB1OCwgdTE2KTsKIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKm5lc19nZXRfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKik7Ci12b2lkIG5lc19wb3N0X2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICosIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKiwgaW50KTsKK3ZvaWQgbmVzX2ZyZWVfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiwKKwkJCSAgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QpOwordm9pZCBuZXNfcHV0X2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYsCisJCQkgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QpOwordm9pZCBuZXNfcG9zdF9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqLCBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICopOwogaW50IG5lc19hcnBfdGFibGUoc3RydWN0IG5lc19kZXZpY2UgKiwgdTMyLCB1OCAqLCB1MzIpOwogdm9pZCBuZXNfbWhfZml4KHVuc2lnbmVkIGxvbmcpOwogdm9pZCBuZXNfY2xjKHVuc2lnbmVkIGxvbmcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfY20uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2NtLmMKaW5kZXggOWE0YjQwZi4uNmFhNTMxZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfY20uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19jbS5jCkBAIC0xNjAzLDcgKzE2MDMsNiBAQAogCQkJcmV0dXJuIE5VTEw7CiAJCX0KIAotCQltZW1zZXQobGlzdGVuZXIsIDAsIHNpemVvZihzdHJ1Y3QgbmVzX2NtX2xpc3RlbmVyKSk7CiAJCWxpc3RlbmVyLT5sb2NfYWRkciA9IGh0b25sKGNtX2luZm8tPmxvY19hZGRyKTsKIAkJbGlzdGVuZXItPmxvY19wb3J0ID0gaHRvbnMoY21faW5mby0+bG9jX3BvcnQpOwogCQlsaXN0ZW5lci0+cmV1c2VkX25vZGUgPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmMKaW5kZXggZDMyNzhmMS4uODVmMjZkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5jCkBAIC0zOTgsNyArMzk4LDcgQEAKIAluZXNhZGFwdGVyLT5iYXNlX3BkID0gMTsKIAogCW5lc2FkYXB0ZXItPmRldmljZV9jYXBfZmxhZ3MgPQotCQlJQl9ERVZJQ0VfWkVST19TVEFHIHwgSUJfREVWSUNFX01FTV9XSU5ET1c7CisJCUlCX0RFVklDRV9MT0NBTF9ETUFfTEtFWSB8IElCX0RFVklDRV9NRU1fV0lORE9XOwogCiAJbmVzYWRhcHRlci0+YWxsb2NhdGVkX3FwcyA9ICh1bnNpZ25lZCBsb25nICopJigoKHVuc2lnbmVkIGNoYXIgKiluZXNhZGFwdGVyKQogCQkJWyhzaXplb2Yoc3RydWN0IG5lc19hZGFwdGVyKSsoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpLTEpKSYofihzaXplb2YodW5zaWduZWQgbG9uZyktMSkpXSk7CkBAIC0yNzEwLDM5ICsyNzEwLDExIEBACiAJCQkJCWJhcnJpZXIoKTsKIAkJCQkJY3FwX3JlcXVlc3QtPnJlcXVlc3RfZG9uZSA9IDE7CiAJCQkJCXdha2VfdXAoJmNxcF9yZXF1ZXN0LT53YWl0cSk7Ci0JCQkJCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQkJCQluZXNfZGVidWcoTkVTX0RCR19DUVAsICJDUVAgcmVxdWVzdCAlcCAob3Bjb2RlIDB4JTAyWCkgZnJlZWQuXG4iLAotCQkJCQkJCQljcXBfcmVxdWVzdCwKLQkJCQkJCQkJbGUzMl90b19jcHUoY3FwX3JlcXVlc3QtPmNxcF93cWUud3FlX3dvcmRzW05FU19DUVBfV1FFX09QQ09ERV9JRFhdKSYweDNmKTsKLQkJCQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCQkJCX0gZWxzZSB7Ci0JCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCX0KLQkJCQkJfQotCQkJCX0gZWxzZSBpZiAoY3FwX3JlcXVlc3QtPmNhbGxiYWNrKSB7Ci0JCQkJCS8qIEVudm9rZSB0aGUgY2FsbGJhY2sgcm91dGluZSAqLwotCQkJCQljcXBfcmVxdWVzdC0+Y3FwX2NhbGxiYWNrKG5lc2RldiwgY3FwX3JlcXVlc3QpOwotCQkJCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCQkJfSBlbHNlIHsKLQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQl9CisJCQkJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJCQkJfSBlbHNlIHsKLQkJCQkJbmVzX2RlYnVnKE5FU19EQkdfQ1FQLCAiQ1FQIHJlcXVlc3QgJXAgKG9wY29kZSAweCUwMlgpIGZyZWVkLlxuIiwKLQkJCQkJCQljcXBfcmVxdWVzdCwKLQkJCQkJCQlsZTMyX3RvX2NwdShjcXBfcmVxdWVzdC0+Y3FwX3dxZS53cWVfd29yZHNbTkVTX0NRUF9XUUVfT1BDT0RFX0lEWF0pICYgMHgzZik7Ci0JCQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJCQl9IGVsc2UgewotCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCX0KKwkJCQkJaWYgKGNxcF9yZXF1ZXN0LT5jYWxsYmFjaykKKwkJCQkJCWNxcF9yZXF1ZXN0LT5jcXBfY2FsbGJhY2sobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisJCQkJCW5lc19mcmVlX2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCQkJCX0KIAkJCX0gZWxzZSB7CiAJCQkJd2FrZV91cCgmbmVzZGV2LT5jcXAud2FpdHEpOwpAQCAtMzE0OSw3ICszMTIxLDYgQEAKIHsKIAlzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2ID0gbmVzdm5pYy0+bmVzZGV2OwogCXN0cnVjdCBuZXNfaHdfY3FwX3dxZSAqY3FwX3dxZTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0OwogCWludCByZXQgPSAwOwogCXUxNiBtYWpvcl9jb2RlOwpAQCAtMzE3Niw3ICszMTQ3LDcgQEAKIAluZXNfZGVidWcoTkVTX0RCR19RUCwgIldhaXRpbmcgZm9yIENRUCBjb21wbGV0aW9uIGZvciBBUEJWVC5cbiIpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAlpZiAoYWRkX3BvcnQgPT0gTkVTX01BTkFHRV9BUEJWVF9BREQpCiAJCXJldCA9IHdhaXRfZXZlbnRfdGltZW91dChjcXBfcmVxdWVzdC0+d2FpdHEsIChjcXBfcmVxdWVzdC0+cmVxdWVzdF9kb25lICE9IDApLApAQCAtMzE4NCwxNSArMzE1NSw5IEBACiAJbmVzX2RlYnVnKE5FU19EQkdfUVAsICJDb21wbGV0ZWQsIHJldD0ldSwgIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFhcbiIsCiAJCQlyZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7CiAJbWFqb3JfY29kZSA9IGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlOwotCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQl9IGVsc2UgewotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCX0KLQl9CisKKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOworCiAJaWYgKCFyZXQpCiAJCXJldHVybiAtRVRJTUU7CiAJZWxzZSBpZiAobWFqb3JfY29kZSkKQEAgLTMyNTIsNyArMzIxNyw3IEBACiAJCQluZXNkZXYtPmNxcC5zcV9oZWFkLCBuZXNkZXYtPmNxcC5zcV90YWlsKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMSk7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogfQogCiAKQEAgLTMyNjIsNyArMzIyNyw2IEBACiB2b2lkIGZsdXNoX3dxZXMoc3RydWN0IG5lc19kZXZpY2UgKm5lc2Rldiwgc3RydWN0IG5lc19xcCAqbmVzcXAsCiAJCXUzMiB3aGljaF93cSwgdTMyIHdhaXRfY29tcGxldGlvbikKIHsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0OwogCXN0cnVjdCBuZXNfaHdfY3FwX3dxZSAqY3FwX3dxZTsKIAlpbnQgcmV0OwpAQCAtMzI4NSw3ICszMjQ5LDcgQEAKIAkJCWNwdV90b19sZTMyKE5FU19DUVBfRkxVU0hfV1FFUyB8IHdoaWNoX3dxKTsKIAljcXBfd3FlLT53cWVfd29yZHNbTkVTX0NRUF9XUUVfSURfSURYXSA9IGNwdV90b19sZTMyKG5lc3FwLT5od3FwLnFwX2lkKTsKIAotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCWlmICh3YWl0X2NvbXBsZXRpb24pIHsKIAkJLyogV2FpdCBmb3IgQ1FQICovCkBAIC0zMjk0LDE0ICszMjU4LDYgQEAKIAkJbmVzX2RlYnVnKE5FU19EQkdfUVAsICJGbHVzaCBTUSBRUCBXUUVzIGNvbXBsZXRlZCwgcmV0PSV1LCIKIAkJCQkiIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFhcbiIsCiAJCQkJcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CisJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJfQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmgKaW5kZXggNzQ1YmY5NC4uN2I4MWUwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5oCkBAIC0xMTcyLDcgKzExNzIsNyBAQAogCXUzMiAgICBtY3JxX3FwX2lkOwogCXN0cnVjdCBuZXNfdWNvbnRleHQgKm1jcnFfdWNvbnRleHQ7CiAJc3RydWN0IG5lc19jcXBfcmVxdWVzdCogKCpnZXRfY3FwX3JlcXVlc3QpKHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYpOwotCXZvaWQgKCpwb3N0X2NxcF9yZXF1ZXN0KShzdHJ1Y3QgbmVzX2RldmljZSosIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKiwgaW50KTsKKwl2b2lkICgqcG9zdF9jcXBfcmVxdWVzdCkoc3RydWN0IG5lc19kZXZpY2UqLCBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICopOwogCWludCAoKm1jcnFfbWNhc3RfZmlsdGVyKSggc3RydWN0IG5lc192bmljKiBuZXN2bmljLCBfX3U4KiBkbWlfYWRkciApOwogCXN0cnVjdCBuZXRfZGV2aWNlX3N0YXRzIG5ldHN0YXRzOwogCS8qIHVzZWQgdG8gcHV0IHRoZSBuZXRkZXYgb24gdGhlIGFkYXB0ZXJzIGxvZ2ljYWwgcG9ydCBsaXN0ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc191dGlscy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdXRpbHMuYwppbmRleCBmZTgzZDFiLi5mYjhjYmQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc191dGlscy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3V0aWxzLmMKQEAgLTU2NywxMiArNTY3LDM2IEBACiAJcmV0dXJuIGNxcF9yZXF1ZXN0OwogfQogCit2b2lkIG5lc19mcmVlX2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYsCisJCQkgIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0KQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwluZXNfZGVidWcoTkVTX0RCR19DUVAsICJDUVAgcmVxdWVzdCAlcCAob3Bjb2RlIDB4JTAyWCkgZnJlZWQuXG4iLAorCQkgIGNxcF9yZXF1ZXN0LAorCQkgIGxlMzJfdG9fY3B1KGNxcF9yZXF1ZXN0LT5jcXBfd3FlLndxZV93b3Jkc1tORVNfQ1FQX1dRRV9PUENPREVfSURYXSkgJiAweDNmKTsKKworCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgeworCQlrZnJlZShjcXBfcmVxdWVzdCk7CisJfSBlbHNlIHsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKKwkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOworCX0KK30KKwordm9pZCBuZXNfcHV0X2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYsCisJCQkgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QpCit7CisJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpCisJCW5lc19mcmVlX2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOworfQogCiAvKioKICAqIG5lc19wb3N0X2NxcF9yZXF1ZXN0CiAgKi8KIHZvaWQgbmVzX3Bvc3RfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiwKLQkJc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QsIGludCByaW5nX2Rvb3JiZWxsKQorCQkJICBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCkKIHsKIAlzdHJ1Y3QgbmVzX2h3X2NxcF93cWUgKmNxcF93cWU7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTYwMCwxMCArNjI0LDkgQEAKIAkJCQluZXNkZXYtPmNxcC5zcV9oZWFkLCBuZXNkZXYtPmNxcC5zcV90YWlsLCBuZXNkZXYtPmNxcC5zcV9zaXplLAogCQkJCWNxcF9yZXF1ZXN0LT53YWl0aW5nLCBhdG9taWNfcmVhZCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSk7CiAJCWJhcnJpZXIoKTsKLQkJaWYgKHJpbmdfZG9vcmJlbGwpIHsKLQkJCS8qIFJpbmcgZG9vcmJlbGwgKDEgV1FFcykgKi8KLQkJCW5lc193cml0ZTMyKG5lc2Rldi0+cmVncytORVNfV1FFX0FMTE9DLCAweDAxODAwMDAwIHwgbmVzZGV2LT5jcXAucXBfaWQpOwotCQl9CisKKwkJLyogUmluZyBkb29yYmVsbCAoMSBXUUVzKSAqLworCQluZXNfd3JpdGUzMihuZXNkZXYtPnJlZ3MrTkVTX1dRRV9BTExPQywgMHgwMTgwMDAwMCB8IG5lc2Rldi0+Y3FwLnFwX2lkKTsKIAogCQliYXJyaWVyKCk7CiAJfSBlbHNlIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3ZlcmJzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc192ZXJicy5jCmluZGV4IGQ2MTdkYTkuLmUzOTM5ZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3ZlcmJzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdmVyYnMuYwpAQCAtNTUsNyArNTUsNiBAQAogICogbmVzX2FsbG9jX213CiAgKi8KIHN0YXRpYyBzdHJ1Y3QgaWJfbXcgKm5lc19hbGxvY19tdyhzdHJ1Y3QgaWJfcGQgKmlicGQpIHsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBuZXNfcGQgKm5lc3BkID0gdG9fbmVzcGQoaWJwZCk7CiAJc3RydWN0IG5lc192bmljICpuZXN2bmljID0gdG9fbmVzdm5pYyhpYnBkLT5kZXZpY2UpOwogCXN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYgPSBuZXN2bmljLT5uZXNkZXY7CkBAIC0xMTksNyArMTE4LDcgQEAKIAlzZXRfd3FlXzMyYml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9TVEFHX1dRRV9TVEFHX0lEWCwgc3RhZyk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCXJldCA9IHdhaXRfZXZlbnRfdGltZW91dChjcXBfcmVxdWVzdC0+d2FpdHEsIChjcXBfcmVxdWVzdC0+cmVxdWVzdF9kb25lICE9IDApLApAQCAtMTI4LDE1ICsxMjcsNyBAQAogCQkJIiBDUVAgTWFqb3I6TWlub3IgY29kZXMgPSAweCUwNFg6MHglMDRYLlxuIiwKIAkJCXN0YWcsIHJldCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKIAlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQorCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCQlrZnJlZShuZXNtcik7CiAJCW5lc19mcmVlX3Jlc291cmNlKG5lc2FkYXB0ZXIsIG5lc2FkYXB0ZXItPmFsbG9jYXRlZF9tcnMsIHN0YWdfaW5kZXgpOwogCQlpZiAoIXJldCkgewpAQCAtMTQ0LDE3ICsxMzUsOCBAQAogCQl9IGVsc2UgewogCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAJCX0KLQl9IGVsc2UgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CiAJfQorCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAluZXNtci0+aWJtdy5ya2V5ID0gc3RhZzsKIAluZXNtci0+bW9kZSA9IElXTkVTX01FTVJFR19UWVBFX01XOwpAQCAtMTc4LDcgKzE2MCw2IEBACiAJc3RydWN0IG5lc19od19jcXBfd3FlICpjcXBfd3FlOwogCXN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0OwogCWludCBlcnIgPSAwOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHJldDsKIAogCS8qIERlYWxsb2NhdGUgdGhlIHdpbmRvdyB3aXRoIHRoZSBhZGFwdGVyICovCkBAIC0xOTQsNyArMTc1LDcgQEAKIAlzZXRfd3FlXzMyYml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9TVEFHX1dRRV9TVEFHX0lEWCwgaWJtdy0+cmtleSk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCW5lc19kZWJ1ZyhORVNfREJHX01SLCAiV2FpdGluZyBmb3IgZGVhbGxvY2F0ZSBTVGFnIDB4JTA4WCB0byBjb21wbGV0ZS5cbiIsCkBAIC0yMDQsMzIgKzE4NSwxMiBAQAogCW5lc19kZWJ1ZyhORVNfREJHX01SLCAiRGVhbGxvY2F0ZSBTVGFnIGNvbXBsZXRlZCwgd2FpdF9ldmVudF90aW1lb3V0IHJldCA9ICV1LCIKIAkJCSIgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WC5cbiIsCiAJCQlyZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7Ci0JaWYgKCghcmV0KSB8fCAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpKSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KLQkJaWYgKCFyZXQpIHsKLQkJCWVyciA9IC1FVElNRTsKLQkJfSBlbHNlIHsKLQkJCWVyciA9IC1FSU87Ci0JCX0KLQl9IGVsc2UgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9Ci0JfQorCWlmICghcmV0KQorCQllcnIgPSAtRVRJTUU7CisJZWxzZSBpZiAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpCisJCWVyciA9IC1FSU87CisKKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJbmVzX2ZyZWVfcmVzb3VyY2UobmVzYWRhcHRlciwgbmVzYWRhcHRlci0+YWxsb2NhdGVkX21ycywKIAkJCShpYm13LT5ya2V5ICYgMHgwZmZmZmYwMCkgPj4gOCk7CkBAIC01MTYsNyArNDc3LDcgQEAKIAkJCShuZXNmbXItPm5lc21yLnBibHNfdXNlZC0xKSA6IG5lc2Ztci0+bmVzbXIucGJsc191c2VkKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJcmV0ID0gd2FpdF9ldmVudF90aW1lb3V0KGNxcF9yZXF1ZXN0LT53YWl0cSwgKGNxcF9yZXF1ZXN0LT5yZXF1ZXN0X2RvbmUgIT0gMCksCkBAIC01MjYsMjkgKzQ4NywxMSBAQAogCQkJc3RhZywgcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwogCiAJaWYgKCghcmV0KSB8fCAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpKSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KKwkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAkJcmV0ID0gKCFyZXQpID8gLUVUSU1FIDogLUVJTzsKIAkJZ290byBmYWlsZWRfbGVhZl92cGJsX3BhZ2VzX2FsbG9jOwotCX0gZWxzZSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KIAl9Ci0KKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCW5lc2Ztci0+bmVzbXIuaWJmbXIubGtleSA9IHN0YWc7CiAJbmVzZm1yLT5uZXNtci5pYmZtci5ya2V5ID0gc3RhZzsKIAluZXNmbXItPmF0dHIgPSAqaWJmbXJfYXR0cjsKQEAgLTE0NzQsNyArMTQxNyw3IEBACiAJCQlzZXRfd3FlXzY0Yml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9RUF9XUUVfQ09OVEVYVF9MT1dfSURYLCB1NjR0ZW1wKTsKIAogCQkJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQkJCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwkJCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJCQkvKiBXYWl0IGZvciBDUVAgKi8KIAkJCW5lc19kZWJ1ZyhORVNfREJHX1FQLCAiV2FpdGluZyBmb3IgY3JlYXRlIGlXQVJQIFFQJXUgdG8gY29tcGxldGUuXG4iLApAQCAtMTQ4NywxNSArMTQzMCw3IEBACiAJCQkJCW5lc3FwLT5od3FwLnFwX2lkLCByZXQsIG5lc2Rldi0+Y3FwLnNxX2hlYWQsIG5lc2Rldi0+Y3FwLnNxX3RhaWwsCiAJCQkJCWNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7CiAJCQlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCQkJfSBlbHNlIHsKLQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQl9Ci0JCQkJfQorCQkJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJCQkJbmVzX2ZyZWVfcmVzb3VyY2UobmVzYWRhcHRlciwgbmVzYWRhcHRlci0+YWxsb2NhdGVkX3FwcywgcXBfbnVtKTsKIAkJCQluZXNfZnJlZV9xcF9tZW0obmVzZGV2LCBuZXNxcCx2aXJ0X3dxcyk7CiAJCQkJa2ZyZWUobmVzcXAtPmFsbG9jYXRlZF9idWZmZXIpOwpAQCAtMTUwNCwxOCArMTQzOSwxMCBAQAogCQkJCX0gZWxzZSB7CiAJCQkJCXJldHVybiBFUlJfUFRSKC1FSU8pOwogCQkJCX0KLQkJCX0gZWxzZSB7Ci0JCQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQkJCX0gZWxzZSB7Ci0JCQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJfQotCQkJCX0KIAkJCX0KIAorCQkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKKwogCQkJaWYgKGlicGQtPnVvYmplY3QpIHsKIAkJCQl1cmVzcC5tbWFwX3NxX2RiX2luZGV4ID0gbmVzcXAtPm1tYXBfc3FfZGJfaW5kZXg7CiAJCQkJdXJlc3AuYWN0dWFsX3NxX3NpemUgPSBzcV9zaXplOwpAQCAtMTgxNyw3ICsxNzQ0LDcgQEAKIAkJCWNwdV90b19sZTMyKCgodTMyKSgodTY0dGVtcCkgPj4gMzMpKSAmIDB4N0ZGRkZGRkYpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAluZXNfZGVidWcoTkVTX0RCR19DUSwgIldhaXRpbmcgZm9yIGNyZWF0ZSBpV0FSUCBDUSV1IHRvIGNvbXBsZXRlLlxuIiwKQEAgLTE4MjcsMzIgKzE3NTQsMTUgQEAKIAluZXNfZGVidWcoTkVTX0RCR19DUSwgIkNyZWF0ZSBpV0FSUCBDUSV1IGNvbXBsZXRlZCwgd2FpdF9ldmVudF90aW1lb3V0IHJldCA9ICVkLlxuIiwKIAkJCW5lc2NxLT5od19jcS5jcV9udW1iZXIsIHJldCk7CiAJaWYgKCghcmV0KSB8fCAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpKSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KKwkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAkJaWYgKCFjb250ZXh0KQogCQkJcGNpX2ZyZWVfY29uc2lzdGVudChuZXNkZXYtPnBjaWRldiwgbmVzY3EtPmNxX21lbV9zaXplLCBtZW0sCiAJCQkJCW5lc2NxLT5od19jcS5jcV9wYmFzZSk7CiAJCW5lc19mcmVlX3Jlc291cmNlKG5lc2FkYXB0ZXIsIG5lc2FkYXB0ZXItPmFsbG9jYXRlZF9jcXMsIGNxX251bSk7CiAJCWtmcmVlKG5lc2NxKTsKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTyk7Ci0JfSBlbHNlIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQogCX0KKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJaWYgKGNvbnRleHQpIHsKIAkJLyogZnJlZSB0aGUgbmVzcGJsICovCkBAIC0xOTMxLDcgKzE4NDEsNyBAQAogCQkobmVzY3EtPmh3X2NxLmNxX251bWJlciB8ICgodTMyKVBDSV9GVU5DKG5lc2Rldi0+cGNpZGV2LT5kZXZmbikgPDwgMTYpKSk7CiAJbmVzX2ZyZWVfcmVzb3VyY2UobmVzYWRhcHRlciwgbmVzYWRhcHRlci0+YWxsb2NhdGVkX2NxcywgbmVzY3EtPmh3X2NxLmNxX251bWJlcik7CiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAluZXNfZGVidWcoTkVTX0RCR19DUSwgIldhaXRpbmcgZm9yIGRlc3Ryb3kgaVdBUlAgQ1EldSB0byBjb21wbGV0ZS5cbiIsCkBAIC0xOTQyLDM3ICsxODUyLDE4IEBACiAJCQkiIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFguXG4iLAogCQkJbmVzY3EtPmh3X2NxLmNxX251bWJlciwgcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwKIAkJCWNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKLQlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQotCQlpZiAoIXJldCkgewotCQkJbmVzX2RlYnVnKE5FU19EQkdfQ1EsICJpV0FSUCBDUSV1IGRlc3Ryb3kgdGltZW91dCBleHBpcmVkXG4iLAorCWlmICghcmV0KSB7CisJCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiaVdBUlAgQ1EldSBkZXN0cm95IHRpbWVvdXQgZXhwaXJlZFxuIiwKIAkJCQkJbmVzY3EtPmh3X2NxLmNxX251bWJlcik7Ci0JCQlyZXQgPSAtRVRJTUU7Ci0JCX0gZWxzZSB7Ci0JCQluZXNfZGVidWcoTkVTX0RCR19DUSwgImlXQVJQIENRJXUgZGVzdHJveSBmYWlsZWRcbiIsCisJCXJldCA9IC1FVElNRTsKKwl9IGVsc2UgaWYgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSB7CisJCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiaVdBUlAgQ1EldSBkZXN0cm95IGZhaWxlZFxuIiwKIAkJCQkJbmVzY3EtPmh3X2NxLmNxX251bWJlcik7Ci0JCQlyZXQgPSAtRUlPOwotCQl9CisJCXJldCA9IC1FSU87CiAJfSBlbHNlIHsKIAkJcmV0ID0gMDsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQogCX0KKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJaWYgKG5lc2NxLT5jcV9tZW1fc2l6ZSkKIAkJcGNpX2ZyZWVfY29uc2lzdGVudChuZXNkZXYtPnBjaWRldiwgbmVzY3EtPmNxX21lbV9zaXplLApAQCAtMjA5Niw3ICsxOTg3LDcgQEAKIAliYXJyaWVyKCk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCXJldCA9IHdhaXRfZXZlbnRfdGltZW91dChjcXBfcmVxdWVzdC0+d2FpdHEsICgwICE9IGNxcF9yZXF1ZXN0LT5yZXF1ZXN0X2RvbmUpLApAQCAtMjEwNSwxNSArMTk5Niw4IEBACiAJCQkiIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFguXG4iLAogCQkJc3RhZywgcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwogCW1ham9yX2NvZGUgPSBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZTsKLQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJfSBlbHNlIHsKLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQl9Ci0JfQorCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisKIAlpZiAoIXJldCkKIAkJcmV0dXJuIC1FVElNRTsKIAllbHNlIGlmIChtYWpvcl9jb2RlKQpAQCAtMjc1NCw3ICsyNjM4LDcgQEAKIAlzZXRfd3FlXzMyYml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9TVEFHX1dRRV9TVEFHX0lEWCwgaWJfbXItPnJrZXkpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAluZXNfZGVidWcoTkVTX0RCR19NUiwgIldhaXRpbmcgZm9yIGRlYWxsb2NhdGUgU1RhZyAweCUwOFggY29tcGxldGVkXG4iLCBpYl9tci0+cmtleSk7CkBAIC0yNzcxLDE1ICsyNjU1LDkgQEAKIAogCW1ham9yX2NvZGUgPSBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZTsKIAltaW5vcl9jb2RlID0gY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGU7Ci0JaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCX0gZWxzZSB7Ci0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJfQotCX0KKworCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisKIAlpZiAoIXJldCkgewogCQluZXNfZGVidWcoTkVTX0RCR19NUiwgIlRpbWVvdXQgd2FpdGluZyB0byBkZXN0cm95IFNUYWcsIgogCQkJCSIgaWJfbXI9JXAsIHJrZXkgPSAweCUwOFhcbiIsCkBAIC0yOTA0LDcgKzI3ODIsNiBAQAogCS8qIHN0cnVjdCBpd19jbV9pZCAqY21faWQgPSBuZXNxcC0+Y21faWQ7ICovCiAJLyogc3RydWN0IGl3X2NtX2V2ZW50IGNtX2V2ZW50OyAqLwogCXN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0OwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHJldDsKIAl1MTYgbWFqb3JfY29kZTsKIApAQCAtMjkzMiw3ICsyODA5LDcgQEAKIAlzZXRfd3FlXzY0Yml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9RUF9XUUVfQ09OVEVYVF9MT1dfSURYLCAodTY0KW5lc3FwLT5uZXNxcF9jb250ZXh0X3BiYXNlKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJaWYgKHdhaXRfY29tcGxldGlvbikgewpAQCAtMjk1MCwxNSArMjgyNyw5IEBACiAJCQkJCW5lc3FwLT5od3FwLnFwX2lkLCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwKIAkJCQkJY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUsIG5leHRfaXdhcnBfc3RhdGUpOwogCQl9Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KKworCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOworCiAJCWlmICghcmV0KQogCQkJcmV0dXJuIC1FVElNRTsKIAkJZWxzZSBpZiAobWFqb3JfY29kZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvS2NvbmZpZyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvS2NvbmZpZwppbmRleCAxZjc2YmFkLi42OTE1MjVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL0tjb25maWcKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9LY29uZmlnCkBAIC0xLDYgKzEsNyBAQAogY29uZmlnIElORklOSUJBTkRfSVBPSUIKIAl0cmlzdGF0ZSAiSVAtb3Zlci1JbmZpbmlCYW5kIgogCWRlcGVuZHMgb24gTkVUREVWSUNFUyAmJiBJTkVUICYmIChJUFY2IHx8IElQVjY9bikKKwlzZWxlY3QgSU5FVF9MUk8KIAktLS1oZWxwLS0tCiAJICBTdXBwb3J0IGZvciB0aGUgSVAtb3Zlci1JbmZpbmlCYW5kIHByb3RvY29sIChJUG9JQikuIFRoaXMKIAkgIHRyYW5zcG9ydHMgSVAgcGFja2V0cyBvdmVyIEluZmluaUJhbmQgc28geW91IGNhbiB1c2UgeW91ciBJQgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYi5oCmluZGV4IGNhMTI2ZmMuLmIwZmZjOWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liLmggMTM1OCAyMDA0LTEyLTE3IDIyOjAwOjExWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgX0lQT0lCX0gKQEAgLTUyLDkgKzUwLDE2IEBACiAjaW5jbHVkZSA8cmRtYS9pYl92ZXJicy5oPgogI2luY2x1ZGUgPHJkbWEvaWJfcGFjay5oPgogI2luY2x1ZGUgPHJkbWEvaWJfc2EuaD4KKyNpbmNsdWRlIDxsaW51eC9pbmV0X2xyby5oPgogCiAvKiBjb25zdGFudHMgKi8KIAorZW51bSBpcG9pYl9mbHVzaF9sZXZlbCB7CisJSVBPSUJfRkxVU0hfTElHSFQsCisJSVBPSUJfRkxVU0hfTk9STUFMLAorCUlQT0lCX0ZMVVNIX0hFQVZZCit9OworCiBlbnVtIHsKIAlJUE9JQl9FTkNBUF9MRU4JCSAgPSA0LAogCkBAIC02NSw4ICs3MCw4IEBACiAJSVBPSUJfQ01fQlVGX1NJWkUJICA9IElQT0lCX0NNX01UVSAgKyBJUE9JQl9FTkNBUF9MRU4sCiAJSVBPSUJfQ01fSEVBRF9TSVpFCSAgPSBJUE9JQl9DTV9CVUZfU0laRSAlIFBBR0VfU0laRSwKIAlJUE9JQl9DTV9SWF9TRwkJICA9IEFMSUdOKElQT0lCX0NNX0JVRl9TSVpFLCBQQUdFX1NJWkUpIC8gUEFHRV9TSVpFLAotCUlQT0lCX1JYX1JJTkdfU0laRQkgID0gMTI4LAotCUlQT0lCX1RYX1JJTkdfU0laRQkgID0gNjQsCisJSVBPSUJfUlhfUklOR19TSVpFCSAgPSAyNTYsCisJSVBPSUJfVFhfUklOR19TSVpFCSAgPSAxMjgsCiAJSVBPSUJfTUFYX1FVRVVFX1NJWkUJICA9IDgxOTIsCiAJSVBPSUJfTUlOX1FVRVVFX1NJWkUJICA9IDIsCiAJSVBPSUJfQ01fTUFYX0NPTk5fUVAJICA9IDQwOTYsCkBAIC04NCw3ICs4OSw2IEBACiAJSVBPSUJfRkxBR19TVUJJTlRFUkZBQ0UJICA9IDUsCiAJSVBPSUJfTUNBU1RfUlVOCQkgID0gNiwKIAlJUE9JQl9TVE9QX1JFQVBFUgkgID0gNywKLQlJUE9JQl9NQ0FTVF9TVEFSVEVECSAgPSA4LAogCUlQT0lCX0ZMQUdfQURNSU5fQ00JICA9IDksCiAJSVBPSUJfRkxBR19VTUNBU1QJICA9IDEwLAogCUlQT0lCX0ZMQUdfQ1NVTQkJICA9IDExLApAQCAtOTYsNyArMTAwLDExIEBACiAJSVBPSUJfTUNBU1RfRkxBR19CVVNZCSAgPSAyLAkvKiBqb2luaW5nIG9yIGFscmVhZHkgam9pbmVkICovCiAJSVBPSUJfTUNBU1RfRkxBR19BVFRBQ0hFRCA9IDMsCiAKKwlJUE9JQl9NQVhfTFJPX0RFU0NSSVBUT1JTID0gOCwKKwlJUE9JQl9MUk9fTUFYX0FHR1IgCSAgPSA2NCwKKwogCU1BWF9TRU5EX0NRRQkJICA9IDE2LAorCUlQT0lCX0NNX0NPUFlCUkVBSwkgID0gMjU2LAogfTsKIAogI2RlZmluZQlJUE9JQl9PUF9SRUNWICAgKDF1bCA8PCAzMSkKQEAgLTE0OSw2ICsxNTcsMTEgQEAKIAl1NjQJCW1hcHBpbmdbTUFYX1NLQl9GUkFHUyArIDFdOwogfTsKIAorc3RydWN0IGlwb2liX2NtX3R4X2J1ZiB7CisJc3RydWN0IHNrX2J1ZmYgKnNrYjsKKwl1NjQJCW1hcHBpbmc7Cit9OworCiBzdHJ1Y3QgaWJfY21faWQ7CiAKIHN0cnVjdCBpcG9pYl9jbV9kYXRhIHsKQEAgLTIwNyw3ICsyMjAsNyBAQAogCXN0cnVjdCBuZXRfZGV2aWNlICAgKmRldjsKIAlzdHJ1Y3QgaXBvaWJfbmVpZ2ggICpuZWlnaDsKIAlzdHJ1Y3QgaXBvaWJfcGF0aCAgICpwYXRoOwotCXN0cnVjdCBpcG9pYl90eF9idWYgKnR4X3Jpbmc7CisJc3RydWN0IGlwb2liX2NtX3R4X2J1ZiAqdHhfcmluZzsKIAl1bnNpZ25lZAkgICAgIHR4X2hlYWQ7CiAJdW5zaWduZWQJICAgICB0eF90YWlsOwogCXVuc2lnbmVkIGxvbmcJICAgICBmbGFnczsKQEAgLTI0OSw2ICsyNjIsMTEgQEAKIAl1MTYgICAgIG1heF9jb2FsZXNjZWRfZnJhbWVzOwogfTsKIAorc3RydWN0IGlwb2liX2xybyB7CisJc3RydWN0IG5ldF9scm9fbWdyIGxyb19tZ3I7CisJc3RydWN0IG5ldF9scm9fZGVzYyBscm9fZGVzY1tJUE9JQl9NQVhfTFJPX0RFU0NSSVBUT1JTXTsKK307CisKIC8qCiAgKiBEZXZpY2UgcHJpdmF0ZSBsb2NraW5nOiB0eF9sb2NrIHByb3RlY3RzIG1lbWJlcnMgdXNlZCBpbiBUWCBmYXN0CiAgKiBwYXRoIChhbmQgd2UgdXNlIExMVFggc28gdXBwZXIgbGF5ZXJzIGRvbid0IGRvIGV4dHJhIGxvY2tpbmcpLgpAQCAtMjY0LDcgKzI4Miw2IEBACiAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0Jc3RydWN0IG11dGV4IG1jYXN0X211dGV4OwogCXN0cnVjdCBtdXRleCB2bGFuX211dGV4OwogCiAJc3RydWN0IHJiX3Jvb3QgIHBhdGhfdHJlZTsKQEAgLTI3NiwxMCArMjkzLDExIEBACiAKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIHBrZXlfcG9sbF90YXNrOwogCXN0cnVjdCBkZWxheWVkX3dvcmsgbWNhc3RfdGFzazsKLQlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfdGFzazsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfbGlnaHQ7CisJc3RydWN0IHdvcmtfc3RydWN0IGZsdXNoX25vcm1hbDsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfaGVhdnk7CiAJc3RydWN0IHdvcmtfc3RydWN0IHJlc3RhcnRfdGFzazsKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIGFoX3JlYXBfdGFzazsKLQlzdHJ1Y3Qgd29ya19zdHJ1Y3QgcGtleV9ldmVudF90YXNrOwogCiAJc3RydWN0IGliX2RldmljZSAqY2E7CiAJdTgJCSAgcG9ydDsKQEAgLTMzNSw2ICszNTMsOCBAQAogCWludAloY2FfY2FwczsKIAlzdHJ1Y3QgaXBvaWJfZXRodG9vbF9zdCBldGh0b29sOwogCXN0cnVjdCB0aW1lcl9saXN0IHBvbGxfdGltZXI7CisKKwlzdHJ1Y3QgaXBvaWJfbHJvIGxybzsKIH07CiAKIHN0cnVjdCBpcG9pYl9haCB7CkBAIC0zNTksNiArMzc5LDcgQEAKIAogCXN0cnVjdCByYl9ub2RlCSAgICAgIHJiX25vZGU7CiAJc3RydWN0IGxpc3RfaGVhZCAgICAgIGxpc3Q7CisJaW50ICAJCSAgICAgIHZhbGlkOwogfTsKIAogc3RydWN0IGlwb2liX25laWdoIHsKQEAgLTQyMywxMSArNDQ0LDE0IEBACiAJCXN0cnVjdCBpcG9pYl9haCAqYWRkcmVzcywgdTMyIHFwbik7CiB2b2lkIGlwb2liX3JlYXBfYWgoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIAordm9pZCBpcG9pYl9tYXJrX3BhdGhzX2ludmFsaWQoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiB2b2lkIGlwb2liX2ZsdXNoX3BhdGhzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogc3RydWN0IGlwb2liX2Rldl9wcml2ICppcG9pYl9pbnRmX2FsbG9jKGNvbnN0IGNoYXIgKmZvcm1hdCk7CiAKIGludCBpcG9pYl9pYl9kZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWJfZGV2aWNlICpjYSwgaW50IHBvcnQpOwotdm9pZCBpcG9pYl9pYl9kZXZfZmx1c2goc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX2xpZ2h0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7Cit2b2lkIGlwb2liX2liX2Rldl9mbHVzaF9ub3JtYWwoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX2hlYXZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CiB2b2lkIGlwb2liX3BrZXlfZXZlbnQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIHZvaWQgaXBvaWJfaWJfZGV2X2NsZWFudXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiAKQEAgLTQ2Niw5ICs0OTAsNyBAQAogI2VuZGlmCiAKIGludCBpcG9pYl9tY2FzdF9hdHRhY2goc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IG1saWQsCi0JCSAgICAgICB1bmlvbiBpYl9naWQgKm1naWQpOwotaW50IGlwb2liX21jYXN0X2RldGFjaChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgbWxpZCwKLQkJICAgICAgIHVuaW9uIGliX2dpZCAqbWdpZCk7CisJCSAgICAgICB1bmlvbiBpYl9naWQgKm1naWQsIGludCBzZXRfcWtleSk7CiAKIGludCBpcG9pYl9pbml0X3FwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogaW50IGlwb2liX3RyYW5zcG9ydF9kZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWJfZGV2aWNlICpjYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMKaW5kZXggOTdlNjdkMy4uMGYyZDMwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9jbS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfY20uYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZCQKICAqLwogCiAjaW5jbHVkZSA8cmRtYS9pYl9jbS5oPgpAQCAtMTEzLDE4ICsxMTEsMjAgQEAKIH0KIAogc3RhdGljIGludCBpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCi0JCQkJCXN0cnVjdCBpcG9pYl9jbV9yeCAqcngsIGludCBpZCkKKwkJCQkJc3RydWN0IGlwb2liX2NtX3J4ICpyeCwKKwkJCQkJc3RydWN0IGliX3JlY3Zfd3IgKndyLAorCQkJCQlzdHJ1Y3QgaWJfc2dlICpzZ2UsIGludCBpZCkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwogCXN0cnVjdCBpYl9yZWN2X3dyICpiYWRfd3I7CiAJaW50IGksIHJldDsKIAotCXByaXYtPmNtLnJ4X3dyLndyX2lkID0gaWQgfCBJUE9JQl9PUF9DTSB8IElQT0lCX09QX1JFQ1Y7CisJd3ItPndyX2lkID0gaWQgfCBJUE9JQl9PUF9DTSB8IElQT0lCX09QX1JFQ1Y7CiAKIAlmb3IgKGkgPSAwOyBpIDwgSVBPSUJfQ01fUlhfU0c7ICsraSkKLQkJcHJpdi0+Y20ucnhfc2dlW2ldLmFkZHIgPSByeC0+cnhfcmluZ1tpZF0ubWFwcGluZ1tpXTsKKwkJc2dlW2ldLmFkZHIgPSByeC0+cnhfcmluZ1tpZF0ubWFwcGluZ1tpXTsKIAotCXJldCA9IGliX3Bvc3RfcmVjdihyeC0+cXAsICZwcml2LT5jbS5yeF93ciwgJmJhZF93cik7CisJcmV0ID0gaWJfcG9zdF9yZWN2KHJ4LT5xcCwgd3IsICZiYWRfd3IpOwogCWlmICh1bmxpa2VseShyZXQpKSB7CiAJCWlwb2liX3dhcm4ocHJpdiwgInBvc3QgcmVjdiBmYWlsZWQgZm9yIGJ1ZiAlZCAoJWQpXG4iLCBpZCwgcmV0KTsKIAkJaXBvaWJfY21fZG1hX3VubWFwX3J4KHByaXYsIElQT0lCX0NNX1JYX1NHIC0gMSwKQEAgLTMyMiwxMCArMzIyLDMzIEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIGlwb2liX2NtX2luaXRfcnhfd3Ioc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKKwkJCQlzdHJ1Y3QgaWJfcmVjdl93ciAqd3IsCisJCQkJc3RydWN0IGliX3NnZSAqc2dlKQoreworCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+Y20ubnVtX2ZyYWdzOyArK2kpCisJCXNnZVtpXS5sa2V5ID0gcHJpdi0+bXItPmxrZXk7CisKKwlzZ2VbMF0ubGVuZ3RoID0gSVBPSUJfQ01fSEVBRF9TSVpFOworCWZvciAoaSA9IDE7IGkgPCBwcml2LT5jbS5udW1fZnJhZ3M7ICsraSkKKwkJc2dlW2ldLmxlbmd0aCA9IFBBR0VfU0laRTsKKworCXdyLT5uZXh0ICAgID0gTlVMTDsKKwl3ci0+c2dfbGlzdCA9IHByaXYtPmNtLnJ4X3NnZTsKKwl3ci0+bnVtX3NnZSA9IHByaXYtPmNtLm51bV9mcmFnczsKK30KKwogc3RhdGljIGludCBpcG9pYl9jbV9ub25zcnFfaW5pdF9yeChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWJfY21faWQgKmNtX2lkLAogCQkJCSAgIHN0cnVjdCBpcG9pYl9jbV9yeCAqcngpCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgaWJfcmVjdl93ciB3cjsKKwkJc3RydWN0IGliX3NnZSBzZ2VbSVBPSUJfQ01fUlhfU0ddOworCX0gKnQ7CiAJaW50IHJldDsKIAlpbnQgaTsKIApAQCAtMzMzLDYgKzM1NiwxNCBAQAogCWlmICghcngtPnJ4X3JpbmcpCiAJCXJldHVybiAtRU5PTUVNOwogCisJdCA9IGttYWxsb2Moc2l6ZW9mICp0LCBHRlBfS0VSTkVMKTsKKwlpZiAoIXQpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnJfZnJlZTsKKwl9CisKKwlpcG9pYl9jbV9pbml0X3J4X3dyKGRldiwgJnQtPndyLCB0LT5zZ2UpOworCiAJc3Bpbl9sb2NrX2lycSgmcHJpdi0+bG9jayk7CiAKIAlpZiAocHJpdi0+Y20ubm9uc3JxX2Nvbm5fcXAgPj0gaXBvaWJfbWF4X2Nvbm5fcXApIHsKQEAgLTM1MSw4ICszODIsOCBAQAogCQkJaXBvaWJfd2Fybihwcml2LCAiZmFpbGVkIHRvIGFsbG9jYXRlIHJlY2VpdmUgYnVmZmVyICVkXG4iLCBpKTsKIAkJCQlyZXQgPSAtRU5PTUVNOwogCQkJCWdvdG8gZXJyX2NvdW50OwotCQkJfQotCQlyZXQgPSBpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxKGRldiwgcngsIGkpOworCQl9CisJCXJldCA9IGlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9ub25zcnEoZGV2LCByeCwgJnQtPndyLCB0LT5zZ2UsIGkpOwogCQlpZiAocmV0KSB7CiAJCQlpcG9pYl93YXJuKHByaXYsICJpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxICIKIAkJCQkgICAiZmFpbGVkIGZvciBidWYgJWRcbiIsIGkpOwpAQCAtMzYzLDYgKzM5NCw4IEBACiAKIAlyeC0+cmVjdl9jb3VudCA9IGlwb2liX3JlY3ZxX3NpemU7CiAKKwlrZnJlZSh0KTsKKwogCXJldHVybiAwOwogCiBlcnJfY291bnQ6CkBAIC0zNzEsNiArNDA0LDcgQEAKIAlzcGluX3VubG9ja19pcnEoJnByaXYtPmxvY2spOwogCiBlcnJfZnJlZToKKwlrZnJlZSh0KTsKIAlpcG9pYl9jbV9mcmVlX3J4X3JpbmcoZGV2LCByeC0+cnhfcmluZyk7CiAKIAlyZXR1cm4gcmV0OwpAQCAtNTI1LDYgKzU1OSw3IEBACiAJdTY0IG1hcHBpbmdbSVBPSUJfQ01fUlhfU0ddOwogCWludCBmcmFnczsKIAlpbnQgaGFzX3NycTsKKwlzdHJ1Y3Qgc2tfYnVmZiAqc21hbGxfc2tiOwogCiAJaXBvaWJfZGJnX2RhdGEocHJpdiwgImNtIHJlY3YgY29tcGxldGlvbjogaWQgJWQsIHN0YXR1czogJWRcbiIsCiAJCSAgICAgICB3cl9pZCwgd2MtPnN0YXR1cyk7CkBAIC01NzksNiArNjE0LDIzIEBACiAJCX0KIAl9CiAKKwlpZiAod2MtPmJ5dGVfbGVuIDwgSVBPSUJfQ01fQ09QWUJSRUFLKSB7CisJCWludCBkbGVuID0gd2MtPmJ5dGVfbGVuOworCisJCXNtYWxsX3NrYiA9IGRldl9hbGxvY19za2IoZGxlbiArIDEyKTsKKwkJaWYgKHNtYWxsX3NrYikgeworCQkJc2tiX3Jlc2VydmUoc21hbGxfc2tiLCAxMik7CisJCQlpYl9kbWFfc3luY19zaW5nbGVfZm9yX2NwdShwcml2LT5jYSwgcnhfcmluZ1t3cl9pZF0ubWFwcGluZ1swXSwKKwkJCQkJCSAgIGRsZW4sIERNQV9GUk9NX0RFVklDRSk7CisJCQlza2JfY29weV9mcm9tX2xpbmVhcl9kYXRhKHNrYiwgc21hbGxfc2tiLT5kYXRhLCBkbGVuKTsKKwkJCWliX2RtYV9zeW5jX3NpbmdsZV9mb3JfZGV2aWNlKHByaXYtPmNhLCByeF9yaW5nW3dyX2lkXS5tYXBwaW5nWzBdLAorCQkJCQkJICAgICAgZGxlbiwgRE1BX0ZST01fREVWSUNFKTsKKwkJCXNrYl9wdXQoc21hbGxfc2tiLCBkbGVuKTsKKwkJCXNrYiA9IHNtYWxsX3NrYjsKKwkJCWdvdG8gY29waWVkOworCQl9CisJfQorCiAJZnJhZ3MgPSBQQUdFX0FMSUdOKHdjLT5ieXRlX2xlbiAtIG1pbih3Yy0+Ynl0ZV9sZW4sCiAJCQkJCSAgICAgICh1bnNpZ25lZClJUE9JQl9DTV9IRUFEX1NJWkUpKSAvIFBBR0VfU0laRTsKIApAQCAtNjAxLDYgKzY1Myw3IEBACiAKIAlza2JfcHV0X2ZyYWdzKHNrYiwgSVBPSUJfQ01fSEVBRF9TSVpFLCB3Yy0+Ynl0ZV9sZW4sIG5ld3NrYik7CiAKK2NvcGllZDoKIAlza2ItPnByb3RvY29sID0gKChzdHJ1Y3QgaXBvaWJfaGVhZGVyICopIHNrYi0+ZGF0YSktPnByb3RvOwogCXNrYl9yZXNldF9tYWNfaGVhZGVyKHNrYik7CiAJc2tiX3B1bGwoc2tiLCBJUE9JQl9FTkNBUF9MRU4pOwpAQCAtNjIwLDcgKzY3MywxMCBAQAogCQkJaXBvaWJfd2Fybihwcml2LCAiaXBvaWJfY21fcG9zdF9yZWNlaXZlX3NycSBmYWlsZWQgIgogCQkJCSAgICJmb3IgYnVmICVkXG4iLCB3cl9pZCk7CiAJfSBlbHNlIHsKLQkJaWYgKHVubGlrZWx5KGlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9ub25zcnEoZGV2LCBwLCB3cl9pZCkpKSB7CisJCWlmICh1bmxpa2VseShpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxKGRldiwgcCwKKwkJCQkJCQkgICZwcml2LT5jbS5yeF93ciwKKwkJCQkJCQkgIHByaXYtPmNtLnJ4X3NnZSwKKwkJCQkJCQkgIHdyX2lkKSkpIHsKIAkJCS0tcC0+cmVjdl9jb3VudDsKIAkJCWlwb2liX3dhcm4ocHJpdiwgImlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9ub25zcnEgZmFpbGVkICIKIAkJCQkgICAiZm9yIGJ1ZiAlZFxuIiwgd3JfaWQpOwpAQCAtNjQ3LDcgKzcwMyw3IEBACiB2b2lkIGlwb2liX2NtX3NlbmQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGlwb2liX2NtX3R4ICp0eCkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwotCXN0cnVjdCBpcG9pYl90eF9idWYgKnR4X3JlcTsKKwlzdHJ1Y3QgaXBvaWJfY21fdHhfYnVmICp0eF9yZXE7CiAJdTY0IGFkZHI7CiAKIAlpZiAodW5saWtlbHkoc2tiLT5sZW4gPiB0eC0+bXR1KSkgewpAQCAtNjc4LDcgKzczNCw3IEBACiAJCXJldHVybjsKIAl9CiAKLQl0eF9yZXEtPm1hcHBpbmdbMF0gPSBhZGRyOworCXR4X3JlcS0+bWFwcGluZyA9IGFkZHI7CiAKIAlpZiAodW5saWtlbHkocG9zdF9zZW5kKHByaXYsIHR4LCB0eC0+dHhfaGVhZCAmIChpcG9pYl9zZW5kcV9zaXplIC0gMSksCiAJCQkgICAgICAgYWRkciwgc2tiLT5sZW4pKSkgewpAQCAtNzAzLDcgKzc1OSw3IEBACiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgaXBvaWJfY21fdHggKnR4ID0gd2MtPnFwLT5xcF9jb250ZXh0OwogCXVuc2lnbmVkIGludCB3cl9pZCA9IHdjLT53cl9pZCAmIH5JUE9JQl9PUF9DTTsKLQlzdHJ1Y3QgaXBvaWJfdHhfYnVmICp0eF9yZXE7CisJc3RydWN0IGlwb2liX2NtX3R4X2J1ZiAqdHhfcmVxOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlpcG9pYl9kYmdfZGF0YShwcml2LCAiY20gc2VuZCBjb21wbGV0aW9uOiBpZCAlZCwgc3RhdHVzOiAlZFxuIiwKQEAgLTcxNyw3ICs3NzMsNyBAQAogCiAJdHhfcmVxID0gJnR4LT50eF9yaW5nW3dyX2lkXTsKIAotCWliX2RtYV91bm1hcF9zaW5nbGUocHJpdi0+Y2EsIHR4X3JlcS0+bWFwcGluZ1swXSwgdHhfcmVxLT5za2ItPmxlbiwgRE1BX1RPX0RFVklDRSk7CisJaWJfZG1hX3VubWFwX3NpbmdsZShwcml2LT5jYSwgdHhfcmVxLT5tYXBwaW5nLCB0eF9yZXEtPnNrYi0+bGVuLCBETUFfVE9fREVWSUNFKTsKIAogCS8qIEZJWE1FOiBpcyB0aGlzIHJpZ2h0PyBTaG91bGRuJ3Qgd2Ugb25seSBpbmNyZW1lbnQgb24gc3VjY2Vzcz8gKi8KIAkrK2Rldi0+c3RhdHMudHhfcGFja2V0czsKQEAgLTEwODcsNyArMTE0Myw3IEBACiBzdGF0aWMgdm9pZCBpcG9pYl9jbV90eF9kZXN0cm95KHN0cnVjdCBpcG9pYl9jbV90eCAqcCkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihwLT5kZXYpOwotCXN0cnVjdCBpcG9pYl90eF9idWYgKnR4X3JlcTsKKwlzdHJ1Y3QgaXBvaWJfY21fdHhfYnVmICp0eF9yZXE7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1bnNpZ25lZCBsb25nIGJlZ2luOwogCkBAIC0xMTE1LDcgKzExNzEsNyBAQAogCiAJd2hpbGUgKChpbnQpIHAtPnR4X3RhaWwgLSAoaW50KSBwLT50eF9oZWFkIDwgMCkgewogCQl0eF9yZXEgPSAmcC0+dHhfcmluZ1twLT50eF90YWlsICYgKGlwb2liX3NlbmRxX3NpemUgLSAxKV07Ci0JCWliX2RtYV91bm1hcF9zaW5nbGUocHJpdi0+Y2EsIHR4X3JlcS0+bWFwcGluZ1swXSwgdHhfcmVxLT5za2ItPmxlbiwKKwkJaWJfZG1hX3VubWFwX3NpbmdsZShwcml2LT5jYSwgdHhfcmVxLT5tYXBwaW5nLCB0eF9yZXEtPnNrYi0+bGVuLAogCQkJCSAgICBETUFfVE9fREVWSUNFKTsKIAkJZGV2X2tmcmVlX3NrYl9hbnkodHhfcmVxLT5za2IpOwogCQkrK3AtPnR4X3RhaWw7CkBAIC0xMzg0LDcgKzE0NDAsOSBAQAogCQlpcG9pYl93YXJuKHByaXYsICJlbmFibGluZyBjb25uZWN0ZWQgbW9kZSAiCiAJCQkgICAid2lsbCBjYXVzZSBtdWx0aWNhc3QgcGFja2V0IGRyb3BzXG4iKTsKIAorCQlydG5sX2xvY2soKTsKIAkJZGV2LT5mZWF0dXJlcyAmPSB+KE5FVElGX0ZfSVBfQ1NVTSB8IE5FVElGX0ZfU0cgfCBORVRJRl9GX1RTTyk7CisJCXJ0bmxfdW5sb2NrKCk7CiAJCXByaXYtPnR4X3dyLnNlbmRfZmxhZ3MgJj0gfklCX1NFTkRfSVBfQ1NVTTsKIAogCQlpcG9pYl9mbHVzaF9wYXRocyhkZXYpOwpAQCAtMTM5MywxNCArMTQ1MSwxNiBAQAogCiAJaWYgKCFzdHJjbXAoYnVmLCAiZGF0YWdyYW1cbiIpKSB7CiAJCWNsZWFyX2JpdChJUE9JQl9GTEFHX0FETUlOX0NNLCAmcHJpdi0+ZmxhZ3MpOwotCQlkZXYtPm10dSA9IG1pbihwcml2LT5tY2FzdF9tdHUsIGRldi0+bXR1KTsKLQkJaXBvaWJfZmx1c2hfcGF0aHMoZGV2KTsKIAorCQlydG5sX2xvY2soKTsKIAkJaWYgKHRlc3RfYml0KElQT0lCX0ZMQUdfQ1NVTSwgJnByaXYtPmZsYWdzKSkgewogCQkJZGV2LT5mZWF0dXJlcyB8PSBORVRJRl9GX0lQX0NTVU0gfCBORVRJRl9GX1NHOwogCQkJaWYgKHByaXYtPmhjYV9jYXBzICYgSUJfREVWSUNFX1VEX1RTTykKIAkJCQlkZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfVFNPOwogCQl9CisJCWRldl9zZXRfbXR1KGRldiwgbWluKHByaXYtPm1jYXN0X210dSwgZGV2LT5tdHUpKTsKKwkJcnRubF91bmxvY2soKTsKKwkJaXBvaWJfZmx1c2hfcGF0aHMoZGV2KTsKIAogCQlyZXR1cm4gY291bnQ7CiAJfQpAQCAtMTQ4NSwxNSArMTU0NSw3IEBACiAJCXByaXYtPmNtLm51bV9mcmFncyAgPSBJUE9JQl9DTV9SWF9TRzsKIAl9CiAKLQlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+Y20ubnVtX2ZyYWdzOyArK2kpCi0JCXByaXYtPmNtLnJ4X3NnZVtpXS5sa2V5CT0gcHJpdi0+bXItPmxrZXk7Ci0KLQlwcml2LT5jbS5yeF9zZ2VbMF0ubGVuZ3RoID0gSVBPSUJfQ01fSEVBRF9TSVpFOwotCWZvciAoaSA9IDE7IGkgPCBwcml2LT5jbS5udW1fZnJhZ3M7ICsraSkKLQkJcHJpdi0+Y20ucnhfc2dlW2ldLmxlbmd0aCA9IFBBR0VfU0laRTsKLQlwcml2LT5jbS5yeF93ci5uZXh0ID0gTlVMTDsKLQlwcml2LT5jbS5yeF93ci5zZ19saXN0ID0gcHJpdi0+Y20ucnhfc2dlOwotCXByaXYtPmNtLnJ4X3dyLm51bV9zZ2UgPSBwcml2LT5jbS5udW1fZnJhZ3M7CisJaXBvaWJfY21faW5pdF9yeF93cihkZXYsICZwcml2LT5jbS5yeF93ciwgcHJpdi0+Y20ucnhfc2dlKTsKIAogCWlmIChpcG9pYl9jbV9oYXNfc3JxKGRldikpIHsKIAkJZm9yIChpID0gMDsgaSA8IGlwb2liX3JlY3ZxX3NpemU7ICsraSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9ldGh0b29sLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2V0aHRvb2wuYwppbmRleCAxMDI3OWI3Li42NmFmNWMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2V0aHRvb2wuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2V0aHRvb2wuYwpAQCAtODYsMTEgKzg2LDU3IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyIGlwb2liX3N0YXRzX2tleXNbXVtFVEhfR1NUUklOR19MRU5dID0geworCSJMUk8gYWdncmVnYXRlZCIsICJMUk8gZmx1c2hlZCIsCisJIkxSTyBhdmcgYWdnciIsICJMUk8gbm8gZGVzYyIKK307CisKK3N0YXRpYyB2b2lkIGlwb2liX2dldF9zdHJpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsIHUzMiBzdHJpbmdzZXQsIHU4ICpkYXRhKQoreworCXN3aXRjaCAoc3RyaW5nc2V0KSB7CisJY2FzZSBFVEhfU1NfU1RBVFM6CisJCW1lbWNweShkYXRhLCAqaXBvaWJfc3RhdHNfa2V5cywJc2l6ZW9mKGlwb2liX3N0YXRzX2tleXMpKTsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgaW50IGlwb2liX2dldF9zc2V0X2NvdW50KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGludCBzc2V0KQoreworCXN3aXRjaCAoc3NldCkgeworCWNhc2UgRVRIX1NTX1NUQVRTOgorCQlyZXR1cm4gQVJSQVlfU0laRShpcG9pYl9zdGF0c19rZXlzKTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJfQorfQorCitzdGF0aWMgdm9pZCBpcG9pYl9nZXRfZXRodG9vbF9zdGF0cyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAorCQkJCXN0cnVjdCBldGh0b29sX3N0YXRzICpzdGF0cywgdWludDY0X3QgKmRhdGEpCit7CisJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlpbnQgaW5kZXggPSAwOworCisJLyogR2V0IExSTyBzdGF0aXN0aWNzICovCisJZGF0YVtpbmRleCsrXSA9IHByaXYtPmxyby5scm9fbWdyLnN0YXRzLmFnZ3JlZ2F0ZWQ7CisJZGF0YVtpbmRleCsrXSA9IHByaXYtPmxyby5scm9fbWdyLnN0YXRzLmZsdXNoZWQ7CisJaWYgKHByaXYtPmxyby5scm9fbWdyLnN0YXRzLmZsdXNoZWQpCisJCWRhdGFbaW5kZXgrK10gPSBwcml2LT5scm8ubHJvX21nci5zdGF0cy5hZ2dyZWdhdGVkIC8KKwkJCQlwcml2LT5scm8ubHJvX21nci5zdGF0cy5mbHVzaGVkOworCWVsc2UKKwkJZGF0YVtpbmRleCsrXSA9IDA7CisJZGF0YVtpbmRleCsrXSA9IHByaXYtPmxyby5scm9fbWdyLnN0YXRzLm5vX2Rlc2M7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgaXBvaWJfZXRodG9vbF9vcHMgPSB7CiAJLmdldF9kcnZpbmZvCQk9IGlwb2liX2dldF9kcnZpbmZvLAogCS5nZXRfdHNvCQk9IGV0aHRvb2xfb3BfZ2V0X3RzbywKIAkuZ2V0X2NvYWxlc2NlCQk9IGlwb2liX2dldF9jb2FsZXNjZSwKIAkuc2V0X2NvYWxlc2NlCQk9IGlwb2liX3NldF9jb2FsZXNjZSwKKwkuZ2V0X2ZsYWdzCQk9IGV0aHRvb2xfb3BfZ2V0X2ZsYWdzLAorCS5zZXRfZmxhZ3MJCT0gZXRodG9vbF9vcF9zZXRfZmxhZ3MsCisJLmdldF9zdHJpbmdzCQk9IGlwb2liX2dldF9zdHJpbmdzLAorCS5nZXRfc3NldF9jb3VudAkJPSBpcG9pYl9nZXRfc3NldF9jb3VudCwKKwkuZ2V0X2V0aHRvb2xfc3RhdHMJPSBpcG9pYl9nZXRfZXRodG9vbF9zdGF0cywKIH07CiAKIHZvaWQgaXBvaWJfc2V0X2V0aHRvb2xfb3BzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2ZzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2ZzLmMKaW5kZXggOGI4ODJiYi4uOTYxYzU4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9mcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfZnMuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXBvaWJfZnMuYyAxMzg5IDIwMDQtMTItMjcgMjI6NTY6NDdaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9pYi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9pYi5jCmluZGV4IGY0MjliY2UuLjY2Y2FmYTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfaWIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2liLmMKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liX2liLmMgMTM4NiAyMDA0LTEyLTI3IDE2OjIzOjE3WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgpAQCAtMjkwLDcgKzI4OCwxMCBAQAogCWlmICh0ZXN0X2JpdChJUE9JQl9GTEFHX0NTVU0sICZwcml2LT5mbGFncykgJiYgbGlrZWx5KHdjLT5jc3VtX29rKSkKIAkJc2tiLT5pcF9zdW1tZWQgPSBDSEVDS1NVTV9VTk5FQ0VTU0FSWTsKIAotCW5ldGlmX3JlY2VpdmVfc2tiKHNrYik7CisJaWYgKGRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX0xSTykKKwkJbHJvX3JlY2VpdmVfc2tiKCZwcml2LT5scm8ubHJvX21nciwgc2tiLCBOVUxMKTsKKwllbHNlCisJCW5ldGlmX3JlY2VpdmVfc2tiKHNrYik7CiAKIHJlcG9zdDoKIAlpZiAodW5saWtlbHkoaXBvaWJfaWJfcG9zdF9yZWNlaXZlKGRldiwgd3JfaWQpKSkKQEAgLTQ0Miw2ICs0NDMsOSBAQAogCX0KIAogCWlmIChkb25lIDwgYnVkZ2V0KSB7CisJCWlmIChkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9MUk8pCisJCQlscm9fZmx1c2hfYWxsKCZwcml2LT5scm8ubHJvX21ncik7CisKIAkJbmV0aWZfcnhfY29tcGxldGUoZGV2LCBuYXBpKTsKIAkJaWYgKHVubGlrZWx5KGliX3JlcV9ub3RpZnlfY3EocHJpdi0+cmVjdl9jcSwKIAkJCQkJICAgICAgSUJfQ1FfTkVYVF9DT01QIHwKQEAgLTg5OCw3ICs5MDIsOCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBfX2lwb2liX2liX2Rldl9mbHVzaChzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYsIGludCBwa2V5X2V2ZW50KQorc3RhdGljIHZvaWQgX19pcG9pYl9pYl9kZXZfZmx1c2goc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2LAorCQkJCWVudW0gaXBvaWJfZmx1c2hfbGV2ZWwgbGV2ZWwpCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpjcHJpdjsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gcHJpdi0+ZGV2OwpAQCAtOTExLDcgKzkxNiw3IEBACiAJICogdGhlIHBhcmVudCBpcyBkb3duLgogCSAqLwogCWxpc3RfZm9yX2VhY2hfZW50cnkoY3ByaXYsICZwcml2LT5jaGlsZF9pbnRmcywgbGlzdCkKLQkJX19pcG9pYl9pYl9kZXZfZmx1c2goY3ByaXYsIHBrZXlfZXZlbnQpOworCQlfX2lwb2liX2liX2Rldl9mbHVzaChjcHJpdiwgbGV2ZWwpOwogCiAJbXV0ZXhfdW5sb2NrKCZwcml2LT52bGFuX211dGV4KTsKIApAQCAtOTI1LDcgKzkzMCw3IEBACiAJCXJldHVybjsKIAl9CiAKLQlpZiAocGtleV9ldmVudCkgeworCWlmIChsZXZlbCA9PSBJUE9JQl9GTFVTSF9IRUFWWSkgewogCQlpZiAoaWJfZmluZF9wa2V5KHByaXYtPmNhLCBwcml2LT5wb3J0LCBwcml2LT5wa2V5LCAmbmV3X2luZGV4KSkgewogCQkJY2xlYXJfYml0KElQT0lCX1BLRVlfQVNTSUdORUQsICZwcml2LT5mbGFncyk7CiAJCQlpcG9pYl9pYl9kZXZfZG93bihkZXYsIDApOwpAQCAtOTQzLDExICs5NDgsMTUgQEAKIAkJcHJpdi0+cGtleV9pbmRleCA9IG5ld19pbmRleDsKIAl9CiAKLQlpcG9pYl9kYmcocHJpdiwgImZsdXNoaW5nXG4iKTsKKwlpZiAobGV2ZWwgPT0gSVBPSUJfRkxVU0hfTElHSFQpIHsKKwkJaXBvaWJfbWFya19wYXRoc19pbnZhbGlkKGRldik7CisJCWlwb2liX21jYXN0X2Rldl9mbHVzaChkZXYpOworCX0KIAotCWlwb2liX2liX2Rldl9kb3duKGRldiwgMCk7CisJaWYgKGxldmVsID49IElQT0lCX0ZMVVNIX05PUk1BTCkKKwkJaXBvaWJfaWJfZGV2X2Rvd24oZGV2LCAwKTsKIAotCWlmIChwa2V5X2V2ZW50KSB7CisJaWYgKGxldmVsID09IElQT0lCX0ZMVVNIX0hFQVZZKSB7CiAJCWlwb2liX2liX2Rldl9zdG9wKGRldiwgMCk7CiAJCWlwb2liX2liX2Rldl9vcGVuKGRldik7CiAJfQpAQCAtOTU3LDI3ICs5NjYsMzQgQEAKIAkgKiB3ZSBnZXQgaGVyZSwgZG9uJ3QgYnJpbmcgaXQgYmFjayB1cCBpZiBpdCdzIG5vdCBjb25maWd1cmVkIHVwCiAJICovCiAJaWYgKHRlc3RfYml0KElQT0lCX0ZMQUdfQURNSU5fVVAsICZwcml2LT5mbGFncykpIHsKLQkJaXBvaWJfaWJfZGV2X3VwKGRldik7CisJCWlmIChsZXZlbCA+PSBJUE9JQl9GTFVTSF9OT1JNQUwpCisJCQlpcG9pYl9pYl9kZXZfdXAoZGV2KTsKIAkJaXBvaWJfbWNhc3RfcmVzdGFydF90YXNrKCZwcml2LT5yZXN0YXJ0X3Rhc2spOwogCX0KIH0KIAotdm9pZCBpcG9pYl9pYl9kZXZfZmx1c2goc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQordm9pZCBpcG9pYl9pYl9kZXZfZmx1c2hfbGlnaHQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9Ci0JCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYsIGZsdXNoX3Rhc2spOworCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGlwb2liX2Rldl9wcml2LCBmbHVzaF9saWdodCk7CiAKLQlpcG9pYl9kYmcocHJpdiwgIkZsdXNoaW5nICVzXG4iLCBwcml2LT5kZXYtPm5hbWUpOwotCV9faXBvaWJfaWJfZGV2X2ZsdXNoKHByaXYsIDApOworCV9faXBvaWJfaWJfZGV2X2ZsdXNoKHByaXYsIElQT0lCX0ZMVVNIX0xJR0hUKTsKIH0KIAotdm9pZCBpcG9pYl9wa2V5X2V2ZW50KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX25vcm1hbChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0KLQkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBpcG9pYl9kZXZfcHJpdiwgcGtleV9ldmVudF90YXNrKTsKKwkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBpcG9pYl9kZXZfcHJpdiwgZmx1c2hfbm9ybWFsKTsKIAotCWlwb2liX2RiZyhwcml2LCAiRmx1c2hpbmcgJXMgYW5kIHJlc3RhcnRpbmcgaXRzIFFQXG4iLCBwcml2LT5kZXYtPm5hbWUpOwotCV9faXBvaWJfaWJfZGV2X2ZsdXNoKHByaXYsIDEpOworCV9faXBvaWJfaWJfZGV2X2ZsdXNoKHByaXYsIElQT0lCX0ZMVVNIX05PUk1BTCk7Cit9CisKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX2hlYXZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPQorCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGlwb2liX2Rldl9wcml2LCBmbHVzaF9oZWF2eSk7CisKKwlfX2lwb2liX2liX2Rldl9mbHVzaChwcml2LCBJUE9JQl9GTFVTSF9IRUFWWSk7CiB9CiAKIHZvaWQgaXBvaWJfaWJfZGV2X2NsZWFudXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfbWFpbi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tYWluLmMKaW5kZXggMjQ0MjA5MC4uOGJlOWVhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tYWluLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tYWluLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liX21haW4uYyAxMzc3IDIwMDQtMTItMjMgMTk6NTc6MTJaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgImlwb2liLmgiCkBAIC02Miw2ICs2MCwxNSBAQAogbW9kdWxlX3BhcmFtX25hbWVkKHJlY3ZfcXVldWVfc2l6ZSwgaXBvaWJfcmVjdnFfc2l6ZSwgaW50LCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MocmVjdl9xdWV1ZV9zaXplLCAiTnVtYmVyIG9mIGRlc2NyaXB0b3JzIGluIHJlY2VpdmUgcXVldWUiKTsKIAorc3RhdGljIGludCBscm87Cittb2R1bGVfcGFyYW0obHJvLCBib29sLCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0MobHJvLCAgIkVuYWJsZSBMUk8gKExhcmdlIFJlY2VpdmUgT2ZmbG9hZCkiKTsKKworc3RhdGljIGludCBscm9fbWF4X2FnZ3IgPSBJUE9JQl9MUk9fTUFYX0FHR1I7Cittb2R1bGVfcGFyYW0obHJvX21heF9hZ2dyLCBpbnQsIDA2NDQpOworTU9EVUxFX1BBUk1fREVTQyhscm9fbWF4X2FnZ3IsICJMUk86IE1heCBwYWNrZXRzIHRvIGJlIGFnZ3JlZ2F0ZWQgIgorCQkiKGRlZmF1bHQgPSA2NCkiKTsKKwogI2lmZGVmIENPTkZJR19JTkZJTklCQU5EX0lQT0lCX0RFQlVHCiBpbnQgaXBvaWJfZGVidWdfbGV2ZWw7CiAKQEAgLTM1MCw2ICszNTcsMjMgQEAKIAogI2VuZGlmIC8qIENPTkZJR19JTkZJTklCQU5EX0lQT0lCX0RFQlVHICovCiAKK3ZvaWQgaXBvaWJfbWFya19wYXRoc19pbnZhbGlkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlzdHJ1Y3QgaXBvaWJfcGF0aCAqcGF0aCwgKnRwOworCisJc3Bpbl9sb2NrX2lycSgmcHJpdi0+bG9jayk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocGF0aCwgdHAsICZwcml2LT5wYXRoX2xpc3QsIGxpc3QpIHsKKwkJaXBvaWJfZGJnKHByaXYsICJtYXJrIHBhdGggTElEIDB4JTA0eCBHSUQgIiBJUE9JQl9HSURfRk1UICIgaW52YWxpZFxuIiwKKwkJCWJlMTZfdG9fY3B1KHBhdGgtPnBhdGhyZWMuZGxpZCksCisJCQlJUE9JQl9HSURfQVJHKHBhdGgtPnBhdGhyZWMuZGdpZCkpOworCQlwYXRoLT52YWxpZCA9ICAwOworCX0KKworCXNwaW5fdW5sb2NrX2lycSgmcHJpdi0+bG9jayk7Cit9CisKIHZvaWQgaXBvaWJfZmx1c2hfcGF0aHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwpAQCAtMzg2LDYgKzQxMCw3IEBACiAJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHBhdGgtPmRldjsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwogCXN0cnVjdCBpcG9pYl9haCAqYWggPSBOVUxMOworCXN0cnVjdCBpcG9pYl9haCAqb2xkX2FoOwogCXN0cnVjdCBpcG9pYl9uZWlnaCAqbmVpZ2gsICp0bjsKIAlzdHJ1Y3Qgc2tfYnVmZl9oZWFkIHNrcXVldWU7CiAJc3RydWN0IHNrX2J1ZmYgKnNrYjsKQEAgLTQwOSw2ICs0MzQsNyBAQAogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnByaXYtPmxvY2ssIGZsYWdzKTsKIAorCW9sZF9haCAgID0gcGF0aC0+YWg7CiAJcGF0aC0+YWggPSBhaDsKIAogCWlmIChhaCkgewpAQCAtNDIxLDYgKzQ0NywxNyBAQAogCQkJX19za2JfcXVldWVfdGFpbCgmc2txdWV1ZSwgc2tiKTsKIAogCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobmVpZ2gsIHRuLCAmcGF0aC0+bmVpZ2hfbGlzdCwgbGlzdCkgeworCQkJaWYgKG5laWdoLT5haCkgeworCQkJCVdBUk5fT04obmVpZ2gtPmFoICE9IG9sZF9haCk7CisJCQkJLyoKKwkJCQkgKiBEcm9wcGluZyB0aGUgYWggcmVmZXJlbmNlIGluc2lkZQorCQkJCSAqIHByaXYtPmxvY2sgaXMgc2FmZSBoZXJlLCBiZWNhdXNlIHdlCisJCQkJICogd2lsbCBob2xkIG9uZSBtb3JlIHJlZmVyZW5jZSBmcm9tCisJCQkJICogdGhlIG9yaWdpbmFsIHZhbHVlIG9mIHBhdGgtPmFoIChpZQorCQkJCSAqIG9sZF9haCkuCisJCQkJICovCisJCQkJaXBvaWJfcHV0X2FoKG5laWdoLT5haCk7CisJCQl9CiAJCQlrcmVmX2dldCgmcGF0aC0+YWgtPnJlZik7CiAJCQluZWlnaC0+YWggPSBwYXRoLT5haDsKIAkJCW1lbWNweSgmbmVpZ2gtPmRnaWQucmF3LCAmcGF0aC0+cGF0aHJlYy5kZ2lkLnJhdywKQEAgLTQ0Myw2ICs0ODAsNyBAQAogCQkJd2hpbGUgKChza2IgPSBfX3NrYl9kZXF1ZXVlKCZuZWlnaC0+cXVldWUpKSkKIAkJCQlfX3NrYl9xdWV1ZV90YWlsKCZza3F1ZXVlLCBza2IpOwogCQl9CisJCXBhdGgtPnZhbGlkID0gMTsKIAl9CiAKIAlwYXRoLT5xdWVyeSA9IE5VTEw7CkBAIC00NTAsNiArNDg4LDkgQEAKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPmxvY2ssIGZsYWdzKTsKIAorCWlmIChvbGRfYWgpCisJCWlwb2liX3B1dF9haChvbGRfYWgpOworCiAJd2hpbGUgKChza2IgPSBfX3NrYl9kZXF1ZXVlKCZza3F1ZXVlKSkpIHsKIAkJc2tiLT5kZXYgPSBkZXY7CiAJCWlmIChkZXZfcXVldWVfeG1pdChza2IpKQpAQCAtNjIzLDggKzY2NCw5IEBACiAJc3Bpbl9sb2NrKCZwcml2LT5sb2NrKTsKIAogCXBhdGggPSBfX3BhdGhfZmluZChkZXYsIHBoZHItPmh3YWRkciArIDQpOwotCWlmICghcGF0aCkgewotCQlwYXRoID0gcGF0aF9yZWNfY3JlYXRlKGRldiwgcGhkci0+aHdhZGRyICsgNCk7CisJaWYgKCFwYXRoIHx8ICFwYXRoLT52YWxpZCkgeworCQlpZiAoIXBhdGgpCisJCQlwYXRoID0gcGF0aF9yZWNfY3JlYXRlKGRldiwgcGhkci0+aHdhZGRyICsgNCk7CiAJCWlmIChwYXRoKSB7CiAJCQkvKiBwdXQgcHNldWRvaGVhZGVyIGJhY2sgb24gZm9yIG5leHQgdGltZSAqLwogCQkJc2tiX3B1c2goc2tiLCBzaXplb2YgKnBoZHIpOwpAQCAtOTM4LDYgKzk4MCw1NCBAQAogCS5jcmVhdGUJPSBpcG9pYl9oYXJkX2hlYWRlciwKIH07CiAKK3N0YXRpYyBpbnQgZ2V0X3NrYl9oZHIoc3RydWN0IHNrX2J1ZmYgKnNrYiwgdm9pZCAqKmlwaGRyLAorCQkgICAgICAgdm9pZCAqKnRjcGgsIHU2NCAqaGRyX2ZsYWdzLCB2b2lkICpwcml2KQoreworCXVuc2lnbmVkIGludCBpcF9sZW47CisJc3RydWN0IGlwaGRyICppcGg7CisKKwlpZiAodW5saWtlbHkoc2tiLT5wcm90b2NvbCAhPSBodG9ucyhFVEhfUF9JUCkpKQorCQlyZXR1cm4gLTE7CisKKwkvKgorCSAqIEluIHRoZSBmdXR1cmUgd2UgbWF5IGFkZCBhbiBlbHNlIGNsYXVzZSB0aGF0IHZlcmlmaWVzIHRoZQorCSAqIGNoZWNrc3VtIGFuZCBhbGxvd3MgZGV2aWNlcyB3aGljaCBkbyBub3QgY2FsY3VsYXRlIGNoZWNrc3VtCisJICogdG8gdXNlIExSTy4KKwkgKi8KKwlpZiAodW5saWtlbHkoc2tiLT5pcF9zdW1tZWQgIT0gQ0hFQ0tTVU1fVU5ORUNFU1NBUlkpKQorCQlyZXR1cm4gLTE7CisKKwkvKiBDaGVjayBmb3Igbm9uLVRDUCBwYWNrZXQgKi8KKwlza2JfcmVzZXRfbmV0d29ya19oZWFkZXIoc2tiKTsKKwlpcGggPSBpcF9oZHIoc2tiKTsKKwlpZiAoaXBoLT5wcm90b2NvbCAhPSBJUFBST1RPX1RDUCkKKwkJcmV0dXJuIC0xOworCisJaXBfbGVuID0gaXBfaGRybGVuKHNrYik7CisJc2tiX3NldF90cmFuc3BvcnRfaGVhZGVyKHNrYiwgaXBfbGVuKTsKKwkqdGNwaCA9IHRjcF9oZHIoc2tiKTsKKworCS8qIGNoZWNrIGlmIElQIGhlYWRlciBhbmQgVENQIGhlYWRlciBhcmUgY29tcGxldGUgKi8KKwlpZiAobnRvaHMoaXBoLT50b3RfbGVuKSA8IGlwX2xlbiArIHRjcF9oZHJsZW4oc2tiKSkKKwkJcmV0dXJuIC0xOworCisJKmhkcl9mbGFncyA9IExST19JUFY0IHwgTFJPX1RDUDsKKwkqaXBoZHIgPSBpcGg7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgaXBvaWJfbHJvX3NldHVwKHN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdikKK3sKKwlwcml2LT5scm8ubHJvX21nci5tYXhfYWdncgkgPSBscm9fbWF4X2FnZ3I7CisJcHJpdi0+bHJvLmxyb19tZ3IubWF4X2Rlc2MJID0gSVBPSUJfTUFYX0xST19ERVNDUklQVE9SUzsKKwlwcml2LT5scm8ubHJvX21nci5scm9fYXJyCSA9IHByaXYtPmxyby5scm9fZGVzYzsKKwlwcml2LT5scm8ubHJvX21nci5nZXRfc2tiX2hlYWRlciA9IGdldF9za2JfaGRyOworCXByaXYtPmxyby5scm9fbWdyLmZlYXR1cmVzCSA9IExST19GX05BUEk7CisJcHJpdi0+bHJvLmxyb19tZ3IuZGV2CQkgPSBwcml2LT5kZXY7CisJcHJpdi0+bHJvLmxyb19tZ3IuaXBfc3VtbWVkX2FnZ3IgPSBDSEVDS1NVTV9VTk5FQ0VTU0FSWTsKK30KKwogc3RhdGljIHZvaWQgaXBvaWJfc2V0dXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwpAQCAtOTc3LDEwICsxMDY3LDExIEBACiAKIAlwcml2LT5kZXYgPSBkZXY7CiAKKwlpcG9pYl9scm9fc2V0dXAocHJpdik7CisKIAlzcGluX2xvY2tfaW5pdCgmcHJpdi0+bG9jayk7CiAJc3Bpbl9sb2NrX2luaXQoJnByaXYtPnR4X2xvY2spOwogCi0JbXV0ZXhfaW5pdCgmcHJpdi0+bWNhc3RfbXV0ZXgpOwogCW11dGV4X2luaXQoJnByaXYtPnZsYW5fbXV0ZXgpOwogCiAJSU5JVF9MSVNUX0hFQUQoJnByaXYtPnBhdGhfbGlzdCk7CkBAIC05ODksOSArMTA4MCwxMCBAQAogCUlOSVRfTElTVF9IRUFEKCZwcml2LT5tdWx0aWNhc3RfbGlzdCk7CiAKIAlJTklUX0RFTEFZRURfV09SSygmcHJpdi0+cGtleV9wb2xsX3Rhc2ssIGlwb2liX3BrZXlfcG9sbCk7Ci0JSU5JVF9XT1JLKCZwcml2LT5wa2V5X2V2ZW50X3Rhc2ssIGlwb2liX3BrZXlfZXZlbnQpOwogCUlOSVRfREVMQVlFRF9XT1JLKCZwcml2LT5tY2FzdF90YXNrLCAgIGlwb2liX21jYXN0X2pvaW5fdGFzayk7Ci0JSU5JVF9XT1JLKCZwcml2LT5mbHVzaF90YXNrLCAgIGlwb2liX2liX2Rldl9mbHVzaCk7CisJSU5JVF9XT1JLKCZwcml2LT5mbHVzaF9saWdodCwgICBpcG9pYl9pYl9kZXZfZmx1c2hfbGlnaHQpOworCUlOSVRfV09SSygmcHJpdi0+Zmx1c2hfbm9ybWFsLCAgIGlwb2liX2liX2Rldl9mbHVzaF9ub3JtYWwpOworCUlOSVRfV09SSygmcHJpdi0+Zmx1c2hfaGVhdnksICAgaXBvaWJfaWJfZGV2X2ZsdXNoX2hlYXZ5KTsKIAlJTklUX1dPUksoJnByaXYtPnJlc3RhcnRfdGFzaywgaXBvaWJfbWNhc3RfcmVzdGFydF90YXNrKTsKIAlJTklUX0RFTEFZRURfV09SSygmcHJpdi0+YWhfcmVhcF90YXNrLCBpcG9pYl9yZWFwX2FoKTsKIH0KQEAgLTExNTQsNiArMTI0Niw5IEBACiAJCXByaXYtPmRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9TRyB8IE5FVElGX0ZfSVBfQ1NVTTsKIAl9CiAKKwlpZiAobHJvKQorCQlwcml2LT5kZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfTFJPOworCiAJLyoKIAkgKiBTZXQgdGhlIGZ1bGwgbWVtYmVyc2hpcCBiaXQsIHNvIHRoYXQgd2Ugam9pbiB0aGUgcmlnaHQKIAkgKiBicm9hZGNhc3QgZ3JvdXAsIGV0Yy4KQEAgLTEzMDQsNiArMTM5OSwxMiBAQAogCWlwb2liX21heF9jb25uX3FwID0gbWluKGlwb2liX21heF9jb25uX3FwLCBJUE9JQl9DTV9NQVhfQ09OTl9RUCk7CiAjZW5kaWYKIAorCS8qCisJICogV2hlbiBjb3B5aW5nIHNtYWxsIHJlY2VpdmVkIHBhY2tldHMsIHdlIG9ubHkgY29weSBmcm9tIHRoZQorCSAqIGxpbmVhciBkYXRhIHBhcnQgb2YgdGhlIFNLQiwgc28gd2UgcmVseSBvbiB0aGlzIGNvbmRpdGlvbi4KKwkgKi8KKwlCVUlMRF9CVUdfT04oSVBPSUJfQ01fQ09QWUJSRUFLID4gSVBPSUJfQ01fSEVBRF9TSVpFKTsKKwogCXJldCA9IGlwb2liX3JlZ2lzdGVyX2RlYnVnZnMoKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tdWx0aWNhc3QuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfbXVsdGljYXN0LmMKaW5kZXggM2Y2NjNmYi4uMWZjYzlhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tdWx0aWNhc3QuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX211bHRpY2FzdC5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpcG9pYl9tdWx0aWNhc3QuYyAxMzYyIDIwMDQtMTItMTggMTU6NTY6MjlaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgpAQCAtMTg4LDYgKzE4Niw3IEBACiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgaXBvaWJfYWggKmFoOwogCWludCByZXQ7CisJaW50IHNldF9xa2V5ID0gMDsKIAogCW1jYXN0LT5tY21lbWJlciA9ICptY21lbWJlcjsKIApAQCAtMjAyLDYgKzIwMSw3IEBACiAJCXByaXYtPnFrZXkgPSBiZTMyX3RvX2NwdShwcml2LT5icm9hZGNhc3QtPm1jbWVtYmVyLnFrZXkpOwogCQlzcGluX3VubG9ja19pcnEoJnByaXYtPmxvY2spOwogCQlwcml2LT50eF93ci53ci51ZC5yZW1vdGVfcWtleSA9IHByaXYtPnFrZXk7CisJCXNldF9xa2V5ID0gMTsKIAl9CiAKIAlpZiAoIXRlc3RfYml0KElQT0lCX01DQVNUX0ZMQUdfU0VORE9OTFksICZtY2FzdC0+ZmxhZ3MpKSB7CkBAIC0yMTQsNyArMjE0LDcgQEAKIAkJfQogCiAJCXJldCA9IGlwb2liX21jYXN0X2F0dGFjaChkZXYsIGJlMTZfdG9fY3B1KG1jYXN0LT5tY21lbWJlci5tbGlkKSwKLQkJCQkJICZtY2FzdC0+bWNtZW1iZXIubWdpZCk7CisJCQkJCSAmbWNhc3QtPm1jbWVtYmVyLm1naWQsIHNldF9xa2V5KTsKIAkJaWYgKHJldCA8IDApIHsKIAkJCWlwb2liX3dhcm4ocHJpdiwgImNvdWxkbid0IGF0dGFjaCBRUCB0byBtdWx0aWNhc3QgZ3JvdXAgIgogCQkJCSAgIElQT0lCX0dJRF9GTVQgIlxuIiwKQEAgLTU3NSw4ICs1NzUsMTEgQEAKIAogCXByaXYtPm1jYXN0X210dSA9IElQT0lCX1VEX01UVShpYl9tdHVfZW51bV90b19pbnQocHJpdi0+YnJvYWRjYXN0LT5tY21lbWJlci5tdHUpKTsKIAotCWlmICghaXBvaWJfY21fYWRtaW5fZW5hYmxlZChkZXYpKQotCQlkZXYtPm10dSA9IG1pbihwcml2LT5tY2FzdF9tdHUsIHByaXYtPmFkbWluX210dSk7CisJaWYgKCFpcG9pYl9jbV9hZG1pbl9lbmFibGVkKGRldikpIHsKKwkJcnRubF9sb2NrKCk7CisJCWRldl9zZXRfbXR1KGRldiwgbWluKHByaXYtPm1jYXN0X210dSwgcHJpdi0+YWRtaW5fbXR1KSk7CisJCXJ0bmxfdW5sb2NrKCk7CisJfQogCiAJaXBvaWJfZGJnX21jYXN0KHByaXYsICJzdWNjZXNzZnVsbHkgam9pbmVkIGFsbCBtdWx0aWNhc3QgZ3JvdXBzXG4iKTsKIApAQCAtNTk0LDEwICs1OTcsNiBAQAogCQlxdWV1ZV9kZWxheWVkX3dvcmsoaXBvaWJfd29ya3F1ZXVlLCAmcHJpdi0+bWNhc3RfdGFzaywgMCk7CiAJbXV0ZXhfdW5sb2NrKCZtY2FzdF9tdXRleCk7CiAKLQlzcGluX2xvY2tfaXJxKCZwcml2LT5sb2NrKTsKLQlzZXRfYml0KElQT0lCX01DQVNUX1NUQVJURUQsICZwcml2LT5mbGFncyk7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZwcml2LT5sb2NrKTsKLQogCXJldHVybiAwOwogfQogCkBAIC02MDcsMTAgKzYwNiw2IEBACiAKIAlpcG9pYl9kYmdfbWNhc3QocHJpdiwgInN0b3BwaW5nIG11bHRpY2FzdCB0aHJlYWRcbiIpOwogCi0Jc3Bpbl9sb2NrX2lycSgmcHJpdi0+bG9jayk7Ci0JY2xlYXJfYml0KElQT0lCX01DQVNUX1NUQVJURUQsICZwcml2LT5mbGFncyk7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZwcml2LT5sb2NrKTsKLQogCW11dGV4X2xvY2soJm1jYXN0X211dGV4KTsKIAljbGVhcl9iaXQoSVBPSUJfTUNBU1RfUlVOLCAmcHJpdi0+ZmxhZ3MpOwogCWNhbmNlbF9kZWxheWVkX3dvcmsoJnByaXYtPm1jYXN0X3Rhc2spOwpAQCAtNjM1LDEwICs2MzAsMTAgQEAKIAkJCQlJUE9JQl9HSURfQVJHKG1jYXN0LT5tY21lbWJlci5tZ2lkKSk7CiAKIAkJLyogUmVtb3ZlIG91cnNlbHZlcyBmcm9tIHRoZSBtdWx0aWNhc3QgZ3JvdXAgKi8KLQkJcmV0ID0gaXBvaWJfbWNhc3RfZGV0YWNoKGRldiwgYmUxNl90b19jcHUobWNhc3QtPm1jbWVtYmVyLm1saWQpLAotCQkJCQkgJm1jYXN0LT5tY21lbWJlci5tZ2lkKTsKKwkJcmV0ID0gaWJfZGV0YWNoX21jYXN0KHByaXYtPnFwLCAmbWNhc3QtPm1jbWVtYmVyLm1naWQsCisJCQkJICAgICAgYmUxNl90b19jcHUobWNhc3QtPm1jbWVtYmVyLm1saWQpKTsKIAkJaWYgKHJldCkKLQkJCWlwb2liX3dhcm4ocHJpdiwgImlwb2liX21jYXN0X2RldGFjaCBmYWlsZWQgKHJlc3VsdCA9ICVkKVxuIiwgcmV0KTsKKwkJCWlwb2liX3dhcm4ocHJpdiwgImliX2RldGFjaF9tY2FzdCBmYWlsZWQgKHJlc3VsdCA9ICVkKVxuIiwgcmV0KTsKIAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmVyYnMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmVyYnMuYwppbmRleCA4NzY2ZDI5Li42ODMyNTExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX3ZlcmJzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92ZXJicy5jCkBAIC0yOSwyNCArMjksMTcgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liX3ZlcmJzLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlICJpcG9pYi5oIgogCi1pbnQgaXBvaWJfbWNhc3RfYXR0YWNoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBtbGlkLCB1bmlvbiBpYl9naWQgKm1naWQpCitpbnQgaXBvaWJfbWNhc3RfYXR0YWNoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBtbGlkLCB1bmlvbiBpYl9naWQgKm1naWQsIGludCBzZXRfcWtleSkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwotCXN0cnVjdCBpYl9xcF9hdHRyICpxcF9hdHRyOworCXN0cnVjdCBpYl9xcF9hdHRyICpxcF9hdHRyID0gTlVMTDsKIAlpbnQgcmV0OwogCXUxNiBwa2V5X2luZGV4OwogCi0JcmV0ID0gLUVOT01FTTsKLQlxcF9hdHRyID0ga21hbGxvYyhzaXplb2YgKnFwX2F0dHIsIEdGUF9LRVJORUwpOwotCWlmICghcXBfYXR0cikKLQkJZ290byBvdXQ7Ci0KIAlpZiAoaWJfZmluZF9wa2V5KHByaXYtPmNhLCBwcml2LT5wb3J0LCBwcml2LT5wa2V5LCAmcGtleV9pbmRleCkpIHsKIAkJY2xlYXJfYml0KElQT0lCX1BLRVlfQVNTSUdORUQsICZwcml2LT5mbGFncyk7CiAJCXJldCA9IC1FTlhJTzsKQEAgLTU0LDE4ICs0NywyMyBAQAogCX0KIAlzZXRfYml0KElQT0lCX1BLRVlfQVNTSUdORUQsICZwcml2LT5mbGFncyk7CiAKLQkvKiBzZXQgY29ycmVjdCBRS2V5IGZvciBRUCAqLwotCXFwX2F0dHItPnFrZXkgPSBwcml2LT5xa2V5OwotCXJldCA9IGliX21vZGlmeV9xcChwcml2LT5xcCwgcXBfYXR0ciwgSUJfUVBfUUtFWSk7Ci0JaWYgKHJldCkgewotCQlpcG9pYl93YXJuKHByaXYsICJmYWlsZWQgdG8gbW9kaWZ5IFFQLCByZXQgPSAlZFxuIiwgcmV0KTsKLQkJZ290byBvdXQ7CisJaWYgKHNldF9xa2V5KSB7CisJCXJldCA9IC1FTk9NRU07CisJCXFwX2F0dHIgPSBrbWFsbG9jKHNpemVvZiAqcXBfYXR0ciwgR0ZQX0tFUk5FTCk7CisJCWlmICghcXBfYXR0cikKKwkJCWdvdG8gb3V0OworCisJCS8qIHNldCBjb3JyZWN0IFFLZXkgZm9yIFFQICovCisJCXFwX2F0dHItPnFrZXkgPSBwcml2LT5xa2V5OworCQlyZXQgPSBpYl9tb2RpZnlfcXAocHJpdi0+cXAsIHFwX2F0dHIsIElCX1FQX1FLRVkpOworCQlpZiAocmV0KSB7CisJCQlpcG9pYl93YXJuKHByaXYsICJmYWlsZWQgdG8gbW9kaWZ5IFFQLCByZXQgPSAlZFxuIiwgcmV0KTsKKwkJCWdvdG8gb3V0OworCQl9CiAJfQogCiAJLyogYXR0YWNoIFFQIHRvIG11bHRpY2FzdCBncm91cCAqLwotCW11dGV4X2xvY2soJnByaXYtPm1jYXN0X211dGV4KTsKIAlyZXQgPSBpYl9hdHRhY2hfbWNhc3QocHJpdi0+cXAsIG1naWQsIG1saWQpOwotCW11dGV4X3VubG9jaygmcHJpdi0+bWNhc3RfbXV0ZXgpOwogCWlmIChyZXQpCiAJCWlwb2liX3dhcm4ocHJpdiwgImZhaWxlZCB0byBhdHRhY2ggdG8gbXVsdGljYXN0IGdyb3VwLCByZXQgPSAlZFxuIiwgcmV0KTsKIApAQCAtNzQsMjAgKzcyLDYgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgaXBvaWJfbWNhc3RfZGV0YWNoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBtbGlkLCB1bmlvbiBpYl9naWQgKm1naWQpCi17Ci0Jc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKLQlpbnQgcmV0OwotCi0JbXV0ZXhfbG9jaygmcHJpdi0+bWNhc3RfbXV0ZXgpOwotCXJldCA9IGliX2RldGFjaF9tY2FzdChwcml2LT5xcCwgbWdpZCwgbWxpZCk7Ci0JbXV0ZXhfdW5sb2NrKCZwcml2LT5tY2FzdF9tdXRleCk7Ci0JaWYgKHJldCkKLQkJaXBvaWJfd2Fybihwcml2LCAiaWJfZGV0YWNoX21jYXN0IGZhaWxlZCAocmVzdWx0ID0gJWQpXG4iLCByZXQpOwotCi0JcmV0dXJuIHJldDsKLX0KLQogaW50IGlwb2liX2luaXRfcXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwpAQCAtMjAxLDcgKzE4NSwxMCBAQAogCWluaXRfYXR0ci5yZWN2X2NxID0gcHJpdi0+cmVjdl9jcTsKIAogCWlmIChwcml2LT5oY2FfY2FwcyAmIElCX0RFVklDRV9VRF9UU08pCi0JCWluaXRfYXR0ci5jcmVhdGVfZmxhZ3MgPSBJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPOworCQlpbml0X2F0dHIuY3JlYXRlX2ZsYWdzIHw9IElCX1FQX0NSRUFURV9JUE9JQl9VRF9MU087CisKKwlpZiAocHJpdi0+aGNhX2NhcHMgJiBJQl9ERVZJQ0VfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLKQorCQlpbml0X2F0dHIuY3JlYXRlX2ZsYWdzIHw9IElCX1FQX0NSRUFURV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0s7CiAKIAlpZiAoZGV2LT5mZWF0dXJlcyAmIE5FVElGX0ZfU0cpCiAJCWluaXRfYXR0ci5jYXAubWF4X3NlbmRfc2dlID0gTUFYX1NLQl9GUkFHUyArIDE7CkBAIC0yODksMTUgKzI3NiwxNyBAQAogCWlmIChyZWNvcmQtPmVsZW1lbnQucG9ydF9udW0gIT0gcHJpdi0+cG9ydCkKIAkJcmV0dXJuOwogCi0JaWYgKHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfUE9SVF9FUlIgICAgfHwKLQkgICAgcmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9QT1JUX0FDVElWRSB8fAotCSAgICByZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX0xJRF9DSEFOR0UgIHx8Ci0JICAgIHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfU01fQ0hBTkdFICAgfHwKKwlpcG9pYl9kYmcocHJpdiwgIkV2ZW50ICVkIG9uIGRldmljZSAlcyBwb3J0ICVkXG4iLCByZWNvcmQtPmV2ZW50LAorCQkgIHJlY29yZC0+ZGV2aWNlLT5uYW1lLCByZWNvcmQtPmVsZW1lbnQucG9ydF9udW0pOworCisJaWYgKHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfU01fQ0hBTkdFIHx8CiAJICAgIHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfQ0xJRU5UX1JFUkVHSVNURVIpIHsKLQkJaXBvaWJfZGJnKHByaXYsICJQb3J0IHN0YXRlIGNoYW5nZSBldmVudFxuIik7Ci0JCXF1ZXVlX3dvcmsoaXBvaWJfd29ya3F1ZXVlLCAmcHJpdi0+Zmx1c2hfdGFzayk7CisJCXF1ZXVlX3dvcmsoaXBvaWJfd29ya3F1ZXVlLCAmcHJpdi0+Zmx1c2hfbGlnaHQpOworCX0gZWxzZSBpZiAocmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9QT1JUX0VSUiB8fAorCQkgICByZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX1BPUlRfQUNUSVZFIHx8CisJCSAgIHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfTElEX0NIQU5HRSkgeworCQlxdWV1ZV93b3JrKGlwb2liX3dvcmtxdWV1ZSwgJnByaXYtPmZsdXNoX25vcm1hbCk7CiAJfSBlbHNlIGlmIChyZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX1BLRVlfQ0hBTkdFKSB7Ci0JCWlwb2liX2RiZyhwcml2LCAiUF9LZXkgY2hhbmdlIGV2ZW50IG9uIHBvcnQ6JWRcbiIsIHByaXYtPnBvcnQpOwotCQlxdWV1ZV93b3JrKGlwb2liX3dvcmtxdWV1ZSwgJnByaXYtPnBrZXlfZXZlbnRfdGFzayk7CisJCXF1ZXVlX3dvcmsoaXBvaWJfd29ya3F1ZXVlLCAmcHJpdi0+Zmx1c2hfaGVhdnkpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmxhbi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92bGFuLmMKaW5kZXggMWNkYjVjZi4uYjA4ZWI1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92bGFuLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92bGFuLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liX3ZsYW4uYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2NzaV9pc2VyLmMKaW5kZXggYWViNThjYS4uMzU2ZmFjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNjc2lfaXNlci5jCkBAIC00Miw5ICs0Miw2IEBACiAgKglaaGVueXUgV2FuZwogICogTW9kaWZpZWQgYnk6CiAgKiAgICAgIEVyZXogWmlsYmVyCi0gKgotICoKLSAqICRJZDogaXNjc2lfaXNlci5jIDY5NjUgMjAwNi0wNS0wNyAxMTozNjoyMFogb2dlcmxpdHogJAogICovCiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2NzaV9pc2VyLmgKaW5kZXggYThjMWIzMC4uMGUxMDcwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNjc2lfaXNlci5oCkBAIC0zNiw4ICszNiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpc2NzaV9pc2VyLmggNzA1MSAyMDA2LTA1LTEwIDEyOjI5OjExWiBvZ2VybGl0eiAkCiAgKi8KICNpZm5kZWYgX19JU0NTSV9JU0VSX0hfXwogI2RlZmluZSBfX0lTQ1NJX0lTRVJfSF9fCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9pbml0aWF0b3IuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX2luaXRpYXRvci5jCmluZGV4IDA4ZGM4MWMuLjMxYWQ0OTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX2luaXRpYXRvci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX2luaXRpYXRvci5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpc2VyX2luaXRpYXRvci5jIDY5NjQgMjAwNi0wNS0wNyAxMToxMTo0M1ogb2dlcmxpdHogJAogICovCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfbWVtb3J5LmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9tZW1vcnkuYwppbmRleCBjYWM1MGM0Li44MWU0OWNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9tZW1vcnkuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9tZW1vcnkuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXNlcl9tZW1vcnkuYyA2OTY0IDIwMDYtMDUtMDcgMTE6MTE6NDNaIG9nZXJsaXR6ICQKICAqLwogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfdmVyYnMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX3ZlcmJzLmMKaW5kZXggZDE5Y2ZlNi4uNzdjYWJlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfdmVyYnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl92ZXJicy5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpc2VyX3ZlcmJzLmMgNzA1MSAyMDA2LTA1LTEwIDEyOjI5OjExWiBvZ2VybGl0eiAkCiAgKi8KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmMKaW5kZXggNDM1MTQ1Ny4uZWQ3YzVmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3NycC5jIDM5MzIgMjAwNS0xMS0wMSAxNzoxOToyOVogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC00OSw4ICs0Nyw2IEBACiAjaW5jbHVkZSA8c2NzaS9zcnAuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5oPgogCi0jaW5jbHVkZSA8cmRtYS9pYl9jYWNoZS5oPgotCiAjaW5jbHVkZSAiaWJfc3JwLmgiCiAKICNkZWZpbmUgRFJWX05BTUUJImliX3NycCIKQEAgLTE4MywxMCArMTc5LDEwIEBACiAJaWYgKCFhdHRyKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCXJldCA9IGliX2ZpbmRfY2FjaGVkX3BrZXkodGFyZ2V0LT5zcnBfaG9zdC0+c3JwX2Rldi0+ZGV2LAotCQkJCSAgdGFyZ2V0LT5zcnBfaG9zdC0+cG9ydCwKLQkJCQkgIGJlMTZfdG9fY3B1KHRhcmdldC0+cGF0aC5wa2V5KSwKLQkJCQkgICZhdHRyLT5wa2V5X2luZGV4KTsKKwlyZXQgPSBpYl9maW5kX3BrZXkodGFyZ2V0LT5zcnBfaG9zdC0+c3JwX2Rldi0+ZGV2LAorCQkJICAgdGFyZ2V0LT5zcnBfaG9zdC0+cG9ydCwKKwkJCSAgIGJlMTZfdG9fY3B1KHRhcmdldC0+cGF0aC5wa2V5KSwKKwkJCSAgICZhdHRyLT5wa2V5X2luZGV4KTsKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIApAQCAtMTg4Myw4ICsxODc5LDcgQEAKIAlpZiAocmV0KQogCQlnb3RvIGVycjsKIAotCWliX2dldF9jYWNoZWRfZ2lkKGhvc3QtPnNycF9kZXYtPmRldiwgaG9zdC0+cG9ydCwgMCwKLQkJCSAgJnRhcmdldC0+cGF0aC5zZ2lkKTsKKwlpYl9xdWVyeV9naWQoaG9zdC0+c3JwX2Rldi0+ZGV2LCBob3N0LT5wb3J0LCAwLCAmdGFyZ2V0LT5wYXRoLnNnaWQpOwogCiAJc2hvc3RfcHJpbnRrKEtFUk5fREVCVUcsIHRhcmdldC0+c2NzaV9ob3N0LCBQRlgKIAkJICAgICAibmV3IHRhcmdldDogaWRfZXh0ICUwMTZsbHggaW9jX2d1aWQgJTAxNmxseCBwa2V5ICUwNHggIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmggYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuaAppbmRleCA2M2QyYWU3Li5lMTg1YjkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuaApAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfc3JwLmggMzkzMiAyMDA1LTExLTAxIDE3OjE5OjI5WiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgSUJfU1JQX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvaW5wdXQuYyBiL2RyaXZlcnMvaW5wdXQvaW5wdXQuYwppbmRleCAyNzAwNmZjLi40MDhkZjBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L2lucHV0LmMKKysrIGIvZHJpdmVycy9pbnB1dC9pbnB1dC5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKIE1PRFVMRV9BVVRIT1IoIlZvanRlY2ggUGF2bGlrIDx2b2p0ZWNoQHN1c2UuY3o+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIklucHV0IGNvcmUiKTsKQEAgLTE1ODgsMTMgKzE1ODksMTcgQEAKIAogc3RhdGljIGludCBpbnB1dF9vcGVuX2ZpbGUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0Jc3RydWN0IGlucHV0X2hhbmRsZXIgKmhhbmRsZXIgPSBpbnB1dF90YWJsZVtpbWlub3IoaW5vZGUpID4+IDVdOworCXN0cnVjdCBpbnB1dF9oYW5kbGVyICpoYW5kbGVyOwogCWNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgKm9sZF9mb3BzLCAqbmV3X2ZvcHMgPSBOVUxMOwogCWludCBlcnI7CiAKKwlsb2NrX2tlcm5lbCgpOwogCS8qIE5vIGxvYWQtb24tZGVtYW5kIGhlcmU/ICovCi0JaWYgKCFoYW5kbGVyIHx8ICEobmV3X2ZvcHMgPSBmb3BzX2dldChoYW5kbGVyLT5mb3BzKSkpCi0JCXJldHVybiAtRU5PREVWOworCWhhbmRsZXIgPSBpbnB1dF90YWJsZVtpbWlub3IoaW5vZGUpID4+IDVdOworCWlmICghaGFuZGxlciB8fCAhKG5ld19mb3BzID0gZm9wc19nZXQoaGFuZGxlci0+Zm9wcykpKSB7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAogCS8qCiAJICogVGhhdCdzIF9yZWFsbHlfIG9kZC4gVXN1YWxseSBOVUxMIC0+b3BlbiBtZWFucyAibm90aGluZyBzcGVjaWFsIiwKQEAgLTE2MDIsNyArMTYwNyw4IEBACiAJICovCiAJaWYgKCFuZXdfZm9wcy0+b3BlbikgewogCQlmb3BzX3B1dChuZXdfZm9wcyk7Ci0JCXJldHVybiAtRU5PREVWOworCQllcnIgPSAtRU5PREVWOworCQlnb3RvIG91dDsKIAl9CiAJb2xkX2ZvcHMgPSBmaWxlLT5mX29wOwogCWZpbGUtPmZfb3AgPSBuZXdfZm9wczsKQEAgLTE2MTQsNiArMTYyMCw4IEBACiAJCWZpbGUtPmZfb3AgPSBmb3BzX2dldChvbGRfZm9wcyk7CiAJfQogCWZvcHNfcHV0KG9sZF9mb3BzKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9taXNjL2hwX3NkY19ydGMuYyBiL2RyaXZlcnMvaW5wdXQvbWlzYy9ocF9zZGNfcnRjLmMKaW5kZXggNDVlNWQwNS4uNDlkOGFiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbnB1dC9taXNjL2hwX3NkY19ydGMuYworKysgYi9kcml2ZXJzL2lucHV0L21pc2MvaHBfc2RjX3J0Yy5jCkBAIC0zNSw2ICszNSw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9ocF9zZGMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC00MDgsNiArNDA5LDcgQEAKIAogc3RhdGljIGludCBocF9zZGNfcnRjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKICAgICAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvbWlzYy91aW5wdXQuYyBiL2RyaXZlcnMvaW5wdXQvbWlzYy91aW5wdXQuYwppbmRleCBhNTZhZDRiLi4yYmNmYTBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L21pc2MvdWlucHV0LmMKKysrIGIvZHJpdmVycy9pbnB1dC9taXNjL3VpbnB1dC5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvdWlucHV0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogc3RhdGljIGludCB1aW5wdXRfZGV2X2V2ZW50KHN0cnVjdCBpbnB1dF9kZXYgKmRldiwgdW5zaWduZWQgaW50IHR5cGUsIHVuc2lnbmVkIGludCBjb2RlLCBpbnQgdmFsdWUpCiB7CkBAIC0yMjIsNiArMjIzLDcgQEAKIAlpZiAoIW5ld2RldikKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2luaXQoJm5ld2Rldi0+bXV0ZXgpOwogCXNwaW5fbG9ja19pbml0KCZuZXdkZXYtPnJlcXVlc3RzX2xvY2spOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJm5ld2Rldi0+cmVxdWVzdHNfd2FpdHEpOwpAQCAtMjI5LDYgKzIzMSw3IEBACiAJbmV3ZGV2LT5zdGF0ZSA9IFVJU1RfTkVXX0RFVklDRTsKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IG5ld2RldjsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvbW91c2VkZXYuYyBiL2RyaXZlcnMvaW5wdXQvbW91c2VkZXYuYwppbmRleCBiOTg5NzQ4Li44MTM3ZTUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L21vdXNlZGV2LmMKKysrIGIvZHJpdmVycy9pbnB1dC9tb3VzZWRldi5jCkBAIC0xNCw2ICsxNCw3IEBACiAjZGVmaW5lIE1PVVNFREVWX01JWAkJMzEKIAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC01NDUsMTYgKzU0NiwyMSBAQAogCWlmIChpID49IE1PVVNFREVWX01JTk9SUykKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWVycm9yID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZtb3VzZWRldl90YWJsZV9tdXRleCk7Ci0JaWYgKGVycm9yKQorCWlmIChlcnJvcikgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiBlcnJvcjsKKwl9CiAJbW91c2VkZXYgPSBtb3VzZWRldl90YWJsZVtpXTsKIAlpZiAobW91c2VkZXYpCiAJCWdldF9kZXZpY2UoJm1vdXNlZGV2LT5kZXYpOwogCW11dGV4X3VubG9jaygmbW91c2VkZXZfdGFibGVfbXV0ZXgpOwogCi0JaWYgKCFtb3VzZWRldikKKwlpZiAoIW1vdXNlZGV2KSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CisJfQogCiAJY2xpZW50ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG1vdXNlZGV2X2NsaWVudCksIEdGUF9LRVJORUwpOwogCWlmICghY2xpZW50KSB7CkBAIC01NzMsNiArNTc5LDcgQEAKIAkJZ290byBlcnJfZnJlZV9jbGllbnQ7CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBjbGllbnQ7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiAgZXJyX2ZyZWVfY2xpZW50OgpAQCAtNTgwLDYgKzU4Nyw3IEBACiAJa2ZyZWUoY2xpZW50KTsKICBlcnJfcHV0X21vdXNlZGV2OgogCXB1dF9kZXZpY2UoJm1vdXNlZGV2LT5kZXYpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyb3I7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvc2VyaW8vc2VyaW9fcmF3LmMgYi9kcml2ZXJzL2lucHV0L3NlcmlvL3NlcmlvX3Jhdy5jCmluZGV4IDA0MDM2MjIuLmM5Mzk3YzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvc2VyaW8vc2VyaW9fcmF3LmMKKysrIGIvZHJpdmVycy9pbnB1dC9zZXJpby9zZXJpb19yYXcuYwpAQCAtMTAsNiArMTAsNyBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaW8uaD4KQEAgLTgxLDkgKzgyLDEwIEBACiAJc3RydWN0IHNlcmlvX3Jhd19saXN0ICpsaXN0OwogCWludCByZXR2YWwgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlyZXR2YWwgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJnNlcmlvX3Jhd19tdXRleCk7CiAJaWYgKHJldHZhbCkKLQkJcmV0dXJuIHJldHZhbDsKKwkJZ290byBvdXRfYmtsOwogCiAJaWYgKCEoc2VyaW9fcmF3ID0gc2VyaW9fcmF3X2xvY2F0ZShpbWlub3IoaW5vZGUpKSkpIHsKIAkJcmV0dmFsID0gLUVOT0RFVjsKQEAgLTEwOCw2ICsxMTAsOCBAQAogCiBvdXQ6CiAJbXV0ZXhfdW5sb2NrKCZzZXJpb19yYXdfbXV0ZXgpOworb3V0X2JrbDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC94ZW4ta2JkZnJvbnQuYyBiL2RyaXZlcnMvaW5wdXQveGVuLWtiZGZyb250LmMKaW5kZXggMGY0N2Y0Ni4uOWNlM2IzYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbnB1dC94ZW4ta2JkZnJvbnQuYworKysgYi9kcml2ZXJzL2lucHV0L3hlbi1rYmRmcm9udC5jCkBAIC02Niw2ICs2Niw5IEBACiAJCWNhc2UgWEVOS0JEX1RZUEVfTU9USU9OOgogCQkJaW5wdXRfcmVwb3J0X3JlbChkZXYsIFJFTF9YLCBldmVudC0+bW90aW9uLnJlbF94KTsKIAkJCWlucHV0X3JlcG9ydF9yZWwoZGV2LCBSRUxfWSwgZXZlbnQtPm1vdGlvbi5yZWxfeSk7CisJCQlpZiAoZXZlbnQtPm1vdGlvbi5yZWxfeikKKwkJCQlpbnB1dF9yZXBvcnRfcmVsKGRldiwgUkVMX1dIRUVMLAorCQkJCQkJIC1ldmVudC0+bW90aW9uLnJlbF96KTsKIAkJCWJyZWFrOwogCQljYXNlIFhFTktCRF9UWVBFX0tFWToKIAkJCWRldiA9IE5VTEw7CkBAIC04NCw2ICs4Nyw5IEBACiAJCWNhc2UgWEVOS0JEX1RZUEVfUE9TOgogCQkJaW5wdXRfcmVwb3J0X2FicyhkZXYsIEFCU19YLCBldmVudC0+cG9zLmFic194KTsKIAkJCWlucHV0X3JlcG9ydF9hYnMoZGV2LCBBQlNfWSwgZXZlbnQtPnBvcy5hYnNfeSk7CisJCQlpZiAoZXZlbnQtPnBvcy5yZWxfeikKKwkJCQlpbnB1dF9yZXBvcnRfcmVsKGRldiwgUkVMX1dIRUVMLAorCQkJCQkJIC1ldmVudC0+cG9zLnJlbF96KTsKIAkJCWJyZWFrOwogCQl9CiAJCWlmIChkZXYpCkBAIC0xNTIsNyArMTU4LDcgQEAKIAlwdHItPmV2Yml0WzBdID0gQklUKEVWX0tFWSkgfCBCSVQoRVZfUkVMKSB8IEJJVChFVl9BQlMpOwogCWZvciAoaSA9IEJUTl9MRUZUOyBpIDw9IEJUTl9UQVNLOyBpKyspCiAJCXNldF9iaXQoaSwgcHRyLT5rZXliaXQpOwotCXB0ci0+cmVsYml0WzBdID0gQklUKFJFTF9YKSB8IEJJVChSRUxfWSk7CisJcHRyLT5yZWxiaXRbMF0gPSBCSVQoUkVMX1gpIHwgQklUKFJFTF9ZKSB8IEJJVChSRUxfV0hFRUwpOwogCWlucHV0X3NldF9hYnNfcGFyYW1zKHB0ciwgQUJTX1gsIDAsIFhFTkZCX1dJRFRILCAwLCAwKTsKIAlpbnB1dF9zZXRfYWJzX3BhcmFtcyhwdHIsIEFCU19ZLCAwLCBYRU5GQl9IRUlHSFQsIDAsIDApOwogCkBAIC0yOTQsNiArMzAwLDE2IEBACiAJCSAqLwogCQlpZiAoZGV2LT5zdGF0ZSAhPSBYZW5idXNTdGF0ZUNvbm5lY3RlZCkKIAkJCWdvdG8gSW5pdFdhaXQ7IC8qIG5vIEluaXRXYWl0IHNlZW4geWV0LCBmdWRnZSBpdCAqLworCisJCS8qIFNldCBpbnB1dCBhYnMgcGFyYW1zIHRvIG1hdGNoIGJhY2tlbmQgc2NyZWVuIHJlcyAqLworCQlpZiAoeGVuYnVzX3NjYW5mKFhCVF9OSUwsIGluZm8tPnhiZGV2LT5vdGhlcmVuZCwKKwkJCQkgIndpZHRoIiwgIiVkIiwgJnZhbCkgPiAwKQorCQkJaW5wdXRfc2V0X2Fic19wYXJhbXMoaW5mby0+cHRyLCBBQlNfWCwgMCwgdmFsLCAwLCAwKTsKKworCQlpZiAoeGVuYnVzX3NjYW5mKFhCVF9OSUwsIGluZm8tPnhiZGV2LT5vdGhlcmVuZCwKKwkJCQkgImhlaWdodCIsICIlZCIsICZ2YWwpID4gMCkKKwkJCWlucHV0X3NldF9hYnNfcGFyYW1zKGluZm8tPnB0ciwgQUJTX1ksIDAsIHZhbCwgMCwgMCk7CisKIAkJYnJlYWs7CiAKIAljYXNlIFhlbmJ1c1N0YXRlQ2xvc2luZzoKQEAgLTMzNyw0ICszNTMsNiBAQAogbW9kdWxlX2luaXQoeGVua2JkX2luaXQpOwogbW9kdWxlX2V4aXQoeGVua2JkX2NsZWFudXApOwogCitNT0RVTEVfREVTQ1JJUFRJT04oIlhlbiB2aXJ0dWFsIGtleWJvYXJkL3BvaW50ZXIgZGV2aWNlIGZyb250ZW5kIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfQUxJQVMoInhlbjp2a2JkIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vY2FwaS9jYXBpLmMgYi9kcml2ZXJzL2lzZG4vY2FwaS9jYXBpLmMKaW5kZXggNmNhMGJiOS4uMjA5NTE1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2NhcGkvY2FwaS5jCisrKyBiL2RyaXZlcnMvaXNkbi9jYXBpL2NhcGkuYwpAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2lmZGVmIENPTkZJR19JU0ROX0NBUElfTUlERExFV0FSRQpAQCAtOTgzLDEzICs5ODQsMTcgQEAKIHN0YXRpYyBpbnQKIGNhcGlfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlpbnQgcmV0OworCQorCWxvY2tfa2VybmVsKCk7CiAJaWYgKGZpbGUtPnByaXZhdGVfZGF0YSkKLQkJcmV0dXJuIC1FRVhJU1Q7Ci0KLQlpZiAoKGZpbGUtPnByaXZhdGVfZGF0YSA9IGNhcGlkZXZfYWxsb2MoKSkgPT0gTlVMTCkKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CisJCXJldCA9IC1FRVhJU1Q7CisJZWxzZSBpZiAoKGZpbGUtPnByaXZhdGVfZGF0YSA9IGNhcGlkZXZfYWxsb2MoKSkgPT0gTlVMTCkKKwkJcmV0ID0gLUVOT01FTTsKKwllbHNlCisJCXJldCA9IG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YW1udC5jIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFtbnQuYwppbmRleCBjOTA5Mjg5Li4xZTg1Zjc0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YW1udC5jCisrKyBiL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhbW50LmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogI2luY2x1ZGUgInBsYXRmb3JtLmgiCkBAIC0xMjcsMTQgKzEyOCwxOSBAQAogCiBzdGF0aWMgaW50IG1haW50X29wZW4oc3RydWN0IGlub2RlICppbm8sIHN0cnVjdCBmaWxlICpmaWxlcCkKIHsKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKIAkvKiBvbmx5IG9uZSBvcGVuIGlzIGFsbG93ZWQsIHNvIHdlIHRlc3QKIAkgICBpdCBhdG9taWNhbGx5ICovCiAJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJm9wZW5lZCkpCi0JCXJldHVybiAoLUVCVVNZKTsKLQotCWZpbGVwLT5wcml2YXRlX2RhdGEgPSBOVUxMOwotCi0JcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vLCBmaWxlcCk7CisJCXJldCA9IC1FQlVTWTsKKwllbHNlIHsKKwkJZmlsZXAtPnByaXZhdGVfZGF0YSA9IE5VTEw7CisJCXJldCA9IG5vbnNlZWthYmxlX29wZW4oaW5vLCBmaWxlcCk7CisJfQorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IG1haW50X2Nsb3NlKHN0cnVjdCBpbm9kZSAqaW5vLCBzdHJ1Y3QgZmlsZSAqZmlsZXApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNpLmMgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNpLmMKaW5kZXggNzhmMTQxZS4uZjQ5NjlmZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzaS5jCisrKyBiL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc2kuYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCiAjaW5jbHVkZSAicGxhdGZvcm0uaCIKQEAgLTQwMCw2ICs0MDEsNyBAQAogCiBzdGF0aWMgaW50IHVtX2lkaV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuICgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzbWFpbi5jIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzbWFpbi5jCmluZGV4IDE2YTg3NGIuLmZiYmNiMjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc21haW4uYworKysgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNtYWluLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ttb2QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSAicGxhdGZvcm0uaCIKICN1bmRlZiBJRF9NQVNLCkBAIC01ODAsNiArNTgxLDcgQEAKICAqLwogc3RhdGljIGludCBkaXZhc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuICgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2k0bC9pc2RuX2NvbW1vbi5jIGIvZHJpdmVycy9pc2RuL2k0bC9pc2RuX2NvbW1vbi5jCmluZGV4IDBmM2M2NmQuLjcxODhjNTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9pNGwvaXNkbl9jb21tb24uYworKysgYi9kcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMKQEAgLTE3MzIsNyArMTczMiw3IEBACiAJaW50IGNoaWR4OwogCWludCByZXR2YWwgPSAtRU5PREVWOwogCi0KKwlsb2NrX2tlcm5lbCgpOwogCWlmIChtaW5vciA9PSBJU0ROX01JTk9SX1NUQVRVUykgewogCQlpbmZvc3RydWN0ICpwOwogCkBAIC0xNzgzLDYgKzE3ODMsNyBAQAogI2VuZGlmCiAgb3V0OgogCW5vbnNlZWthYmxlX29wZW4oaW5vLCBmaWxlcCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXR2YWw7CiB9CiAKQEAgLTE5NzcsOCArMTk3OCwxMCBAQAogCWlmICghc2tiKQogCQlyZXR1cm4gLUVOT01FTTsKIAlza2JfcmVzZXJ2ZShza2IsIGhsKTsKLQlpZiAoY29weV9mcm9tX3VzZXIoc2tiX3B1dChza2IsIGxlbiksIGJ1ZiwgbGVuKSkKKwlpZiAoY29weV9mcm9tX3VzZXIoc2tiX3B1dChza2IsIGxlbiksIGJ1ZiwgbGVuKSkgeworCQlkZXZfa2ZyZWVfc2tiKHNrYik7CiAJCXJldHVybiAtRUZBVUxUOworCX0KIAlyZXQgPSBkZXYtPmRydltkcnZpZHhdLT5pbnRlcmZhY2UtPndyaXRlYnVmX3NrYihkcnZpZHgsIGNoYW4sIDEsIHNrYik7CiAJaWYgKHJldCA8PSAwKQogCQlkZXZfa2ZyZWVfc2tiKHNrYik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2xndWVzdC9LY29uZmlnIGIvZHJpdmVycy9sZ3Vlc3QvS2NvbmZpZwppbmRleCA2YjhkYmI5Li43NmYyYjM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2xndWVzdC9LY29uZmlnCisrKyBiL2RyaXZlcnMvbGd1ZXN0L0tjb25maWcKQEAgLTEsNiArMSw2IEBACiBjb25maWcgTEdVRVNUCiAJdHJpc3RhdGUgIkxpbnV4IGh5cGVydmlzb3IgZXhhbXBsZSBjb2RlIgotCWRlcGVuZHMgb24gWDg2XzMyICYmIEVYUEVSSU1FTlRBTCAmJiAhWDg2X1BBRSAmJiBGVVRFWCAmJiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBFWFBFUklNRU5UQUwgJiYgIVg4Nl9QQUUgJiYgRlVURVggJiYgIVg4Nl9WT1lBR0VSCiAJc2VsZWN0IEhWQ19EUklWRVIKIAktLS1oZWxwLS0tCiAJICBUaGlzIGlzIGEgdmVyeSBzaW1wbGUgbW9kdWxlIHdoaWNoIGFsbG93cyB5b3UgdG8gcnVuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2xndWVzdC9sZy5oIGIvZHJpdmVycy9sZ3Vlc3QvbGcuaAppbmRleCAwMDViZDA0Li41ZmFlZmVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2xndWVzdC9sZy5oCisrKyBiL2RyaXZlcnMvbGd1ZXN0L2xnLmgKQEAgLTEzNiw3ICsxMzYsNiBAQAogICogZmlyc3Qgc3RlcCBpbiB0aGUgbWlncmF0aW9uIHRvIHRoZSBrZXJuZWwgdHlwZXMuICBwdGVfcGZuIGlzIGFscmVhZHkgZGVmaW5lZAogICogaW4gdGhlIGtlcm5lbC4gKi8KICNkZWZpbmUgcGdkX2ZsYWdzKHgpCShwZ2RfdmFsKHgpICYgflBBR0VfTUFTSykKLSNkZWZpbmUgcHRlX2ZsYWdzKHgpCShwdGVfdmFsKHgpICYgflBBR0VfTUFTSykKICNkZWZpbmUgcGdkX3Bmbih4KQkocGdkX3ZhbCh4KSA+PiBQQUdFX1NISUZUKQogCiAvKiBpbnRlcnJ1cHRzX2FuZF90cmFwcy5jOiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9sZ3Vlc3QveDg2L2NvcmUuYyBiL2RyaXZlcnMvbGd1ZXN0L3g4Ni9jb3JlLmMKaW5kZXggMmU1NTRhNC4uOTVkZmRhNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9sZ3Vlc3QveDg2L2NvcmUuYworKysgYi9kcml2ZXJzL2xndWVzdC94ODYvY29yZS5jCkBAIC00NzgsNyArNDc4LDcgQEAKIAkJY3B1X2hhZF9wZ2UgPSAxOwogCQkvKiBhZGp1c3RfcGdlIGlzIGEgaGVscGVyIGZ1bmN0aW9uIHdoaWNoIHNldHMgb3IgdW5zZXRzIHRoZSBQR0UKIAkJICogYml0IG9uIGl0cyBDUFUsIGRlcGVuZGluZyBvbiB0aGUgYXJndW1lbnQgKDAgPT0gdW5zZXQpLiAqLwotCQlvbl9lYWNoX2NwdShhZGp1c3RfcGdlLCAodm9pZCAqKTAsIDAsIDEpOworCQlvbl9lYWNoX2NwdShhZGp1c3RfcGdlLCAodm9pZCAqKTAsIDEpOwogCQkvKiBUdXJuIG9mZiB0aGUgZmVhdHVyZSBpbiB0aGUgZ2xvYmFsIGZlYXR1cmUgc2V0LiAqLwogCQljbGVhcl9iaXQoWDg2X0ZFQVRVUkVfUEdFLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KTsKIAl9CkBAIC00OTMsNyArNDkzLDcgQEAKIAlpZiAoY3B1X2hhZF9wZ2UpIHsKIAkJc2V0X2JpdChYODZfRkVBVFVSRV9QR0UsIGJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHkpOwogCQkvKiBhZGp1c3RfcGdlJ3MgYXJndW1lbnQgIjEiIG1lYW5zIHNldCBQR0UuICovCi0JCW9uX2VhY2hfY3B1KGFkanVzdF9wZ2UsICh2b2lkICopMSwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KGFkanVzdF9wZ2UsICh2b2lkICopMSwgMSk7CiAJfQogCXB1dF9vbmxpbmVfY3B1cygpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tYWNpbnRvc2gvYWRiLmMgYi9kcml2ZXJzL21hY2ludG9zaC9hZGIuYwppbmRleCBkYmFhZDM5Li40MGM3MGJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL21hY2ludG9zaC9hZGIuYworKysgYi9kcml2ZXJzL21hY2ludG9zaC9hZGIuYwpAQCAtNjQ0LDEyICs2NDQsMTggQEAKIHN0YXRpYyBpbnQgYWRiX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJc3RydWN0IGFkYmRldl9zdGF0ZSAqc3RhdGU7CisJaW50IHJldCA9IDA7CiAKLQlpZiAoaW1pbm9yKGlub2RlKSA+IDAgfHwgYWRiX2NvbnRyb2xsZXIgPT0gTlVMTCkKLQkJcmV0dXJuIC1FTlhJTzsKKwlsb2NrX2tlcm5lbCgpOworCWlmIChpbWlub3IoaW5vZGUpID4gMCB8fCBhZGJfY29udHJvbGxlciA9PSBOVUxMKSB7CisJCXJldCA9IC1FTlhJTzsKKwkJZ290byBvdXQ7CisJfQogCXN0YXRlID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGFkYmRldl9zdGF0ZSksIEdGUF9LRVJORUwpOwotCWlmIChzdGF0ZSA9PSAwKQotCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoc3RhdGUgPT0gMCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gc3RhdGU7CiAJc3Bpbl9sb2NrX2luaXQoJnN0YXRlLT5sb2NrKTsKIAlhdG9taWNfc2V0KCZzdGF0ZS0+bl9wZW5kaW5nLCAwKTsKQEAgLTY1Nyw3ICs2NjMsOSBAQAogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnN0YXRlLT53YWl0X3F1ZXVlKTsKIAlzdGF0ZS0+aW51c2UgPSAxOwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgYWRiX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL21hY2ludG9zaC9hbnMtbGNkLmMgYi9kcml2ZXJzL21hY2ludG9zaC9hbnMtbGNkLmMKaW5kZXggNzNjNTBiYy4uNmE4MjIxOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tYWNpbnRvc2gvYW5zLWxjZC5jCisrKyBiL2RyaXZlcnMvbWFjaW50b3NoL2Fucy1sY2QuYwpAQCAtMyw2ICszLDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtMTE5LDYgKzEyMCw3IEBACiBzdGF0aWMgaW50CiBhbnNsY2Rfb3Blbiggc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSApCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tYWNpbnRvc2gvc211LmMgYi9kcml2ZXJzL21hY2ludG9zaC9zbXUuYwppbmRleCBkODZkNTdhLi4zMmNiMDI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL21hY2ludG9zaC9zbXUuYworKysgYi9kcml2ZXJzL21hY2ludG9zaC9zbXUuYwpAQCAtMTksNiArMTksNyBAQAogICogICAgdGhlIHVzZXJsYW5kIGludGVyZmFjZQogICovCiAKKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CkBAIC0xMDg2LDEwICsxMDg3LDEyIEBACiAJcHAtPm1vZGUgPSBzbXVfZmlsZV9jb21tYW5kczsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZwcC0+d2FpdCk7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZzbXVfY2xpc3RfbG9jaywgZmxhZ3MpOwogCWxpc3RfYWRkKCZwcC0+bGlzdCwgJnNtdV9jbGlzdCk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc211X2NsaXN0X2xvY2ssIGZsYWdzKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBwcDsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWFjaW50b3NoL3ZpYS1wbXUuYyBiL2RyaXZlcnMvbWFjaW50b3NoL3ZpYS1wbXUuYwppbmRleCBkNjM2NWE5Li5kNTI0ZGMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL21hY2ludG9zaC92aWEtcG11LmMKKysrIGIvZHJpdmVycy9tYWNpbnRvc2gvdmlhLXBtdS5jCkBAIC0xOCw2ICsxOCw3IEBACiAgKgogICovCiAjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CkBAIC0yMDQ3LDYgKzIwNDgsNyBAQAogCXBwLT5yYl9nZXQgPSBwcC0+cmJfcHV0ID0gMDsKIAlzcGluX2xvY2tfaW5pdCgmcHAtPmxvY2spOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnBwLT53YWl0KTsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZhbGxfcHZ0X2xvY2ssIGZsYWdzKTsKICNpZiBkZWZpbmVkKENPTkZJR19JTlBVVF9BREJISUQpICYmIGRlZmluZWQoQ09ORklHX1BNQUNfQkFDS0xJR0hUKQogCXBwLT5iYWNrbGlnaHRfbG9ja2VyID0gMDsKQEAgLTIwNTQsNiArMjA1Niw3IEBACiAJbGlzdF9hZGQoJnBwLT5saXN0LCAmYWxsX3BtdV9wdnQpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFsbF9wdnRfbG9jaywgZmxhZ3MpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHBwOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZC9saW5lYXIuYyBiL2RyaXZlcnMvbWQvbGluZWFyLmMKaW5kZXggMTA3NDgyNC4uNmE4NjZkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZC9saW5lYXIuYworKysgYi9kcml2ZXJzL21kL2xpbmVhci5jCkBAIC01MCwxNyArNTAsMTkgQEAKIC8qKgogICoJbGluZWFyX21lcmdlYWJsZV9idmVjIC0tIHRlbGwgYmlvIGxheWVyIGlmIHR3byByZXF1ZXN0cyBjYW4gYmUgbWVyZ2VkCiAgKglAcTogcmVxdWVzdCBxdWV1ZQotICoJQGJpbzogdGhlIGJ1ZmZlciBoZWFkIHRoYXQncyBiZWVuIGJ1aWx0IHVwIHNvIGZhcgorICoJQGJ2bTogcHJvcGVydGllcyBvZiBuZXcgYmlvCiAgKglAYmlvdmVjOiB0aGUgcmVxdWVzdCB0aGF0IGNvdWxkIGJlIG1lcmdlZCB0byBpdC4KICAqCiAgKglSZXR1cm4gYW1vdW50IG9mIGJ5dGVzIHdlIGNhbiB0YWtlIGF0IHRoaXMgb2Zmc2V0CiAgKi8KLXN0YXRpYyBpbnQgbGluZWFyX21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCitzdGF0aWMgaW50IGxpbmVhcl9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwKKwkJCQkgc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSAqYnZtLAorCQkJCSBzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQogewogCW1kZGV2X3QgKm1kZGV2ID0gcS0+cXVldWVkYXRhOwogCWRldl9pbmZvX3QgKmRldjA7Ci0JdW5zaWduZWQgbG9uZyBtYXhzZWN0b3JzLCBiaW9fc2VjdG9ycyA9IGJpby0+Ymlfc2l6ZSA+PiA5OwotCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYmlvLT5iaV9iZGV2KTsKKwl1bnNpZ25lZCBsb25nIG1heHNlY3RvcnMsIGJpb19zZWN0b3JzID0gYnZtLT5iaV9zaXplID4+IDk7CisJc2VjdG9yX3Qgc2VjdG9yID0gYnZtLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChidm0tPmJpX2JkZXYpOwogCiAJZGV2MCA9IHdoaWNoX2RldihtZGRldiwgc2VjdG9yKTsKIAltYXhzZWN0b3JzID0gKGRldjAtPnNpemUgPDwgMSkgLSAoc2VjdG9yIC0gKGRldjAtPm9mZnNldDw8MSkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZC9yYWlkMC5jIGIvZHJpdmVycy9tZC9yYWlkMC5jCmluZGV4IDkxNGMwNGQuLmJjYmI4MjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWQvcmFpZDAuYworKysgYi9kcml2ZXJzL21kL3JhaWQwLmMKQEAgLTI0MSwxOCArMjQxLDIwIEBACiAvKioKICAqCXJhaWQwX21lcmdlYWJsZV9idmVjIC0tIHRlbGwgYmlvIGxheWVyIGlmIGEgdHdvIHJlcXVlc3RzIGNhbiBiZSBtZXJnZWQKICAqCUBxOiByZXF1ZXN0IHF1ZXVlCi0gKglAYmlvOiB0aGUgYnVmZmVyIGhlYWQgdGhhdCdzIGJlZW4gYnVpbHQgdXAgc28gZmFyCisgKglAYnZtOiBwcm9wZXJ0aWVzIG9mIG5ldyBiaW8KICAqCUBiaW92ZWM6IHRoZSByZXF1ZXN0IHRoYXQgY291bGQgYmUgbWVyZ2VkIHRvIGl0LgogICoKICAqCVJldHVybiBhbW91bnQgb2YgYnl0ZXMgd2UgY2FuIGFjY2VwdCBhdCB0aGlzIG9mZnNldAogICovCi1zdGF0aWMgaW50IHJhaWQwX21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCitzdGF0aWMgaW50IHJhaWQwX21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAorCQkJCXN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJ2bSwKKwkJCQlzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQogewogCW1kZGV2X3QgKm1kZGV2ID0gcS0+cXVldWVkYXRhOwotCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYmlvLT5iaV9iZGV2KTsKKwlzZWN0b3JfdCBzZWN0b3IgPSBidm0tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJ2bS0+YmlfYmRldik7CiAJaW50IG1heDsKIAl1bnNpZ25lZCBpbnQgY2h1bmtfc2VjdG9ycyA9IG1kZGV2LT5jaHVua19zaXplID4+IDk7Ci0JdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYmlvLT5iaV9zaXplID4+IDk7CisJdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYnZtLT5iaV9zaXplID4+IDk7CiAKIAltYXggPSAgKGNodW5rX3NlY3RvcnMgLSAoKHNlY3RvciAmIChjaHVua19zZWN0b3JzIC0gMSkpICsgYmlvX3NlY3RvcnMpKSA8PCA5OwogCWlmIChtYXggPCAwKSBtYXggPSAwOyAvKiBiaW9fYWRkIGNhbm5vdCBoYW5kbGUgYSBuZWdhdGl2ZSByZXR1cm4gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDEwLmMgYi9kcml2ZXJzL21kL3JhaWQxMC5jCmluZGV4IGE3MTI3N2IuLjIyYmIyYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWQvcmFpZDEwLmMKKysrIGIvZHJpdmVycy9tZC9yYWlkMTAuYwpAQCAtNDM5LDI2ICs0MzksMjcgQEAKIC8qKgogICoJcmFpZDEwX21lcmdlYWJsZV9idmVjIC0tIHRlbGwgYmlvIGxheWVyIGlmIGEgdHdvIHJlcXVlc3RzIGNhbiBiZSBtZXJnZWQKICAqCUBxOiByZXF1ZXN0IHF1ZXVlCi0gKglAYmlvOiB0aGUgYnVmZmVyIGhlYWQgdGhhdCdzIGJlZW4gYnVpbHQgdXAgc28gZmFyCisgKglAYnZtOiBwcm9wZXJ0aWVzIG9mIG5ldyBiaW8KICAqCUBiaW92ZWM6IHRoZSByZXF1ZXN0IHRoYXQgY291bGQgYmUgbWVyZ2VkIHRvIGl0LgogICoKICAqCVJldHVybiBhbW91bnQgb2YgYnl0ZXMgd2UgY2FuIGFjY2VwdCBhdCB0aGlzIG9mZnNldAogICogICAgICBJZiBuZWFyX2NvcGllcyA9PSByYWlkX2Rpc2ssIHRoZXJlIGFyZSBubyBzdHJpcGluZyBpc3N1ZXMsCiAgKiAgICAgIGJ1dCBpbiB0aGF0IGNhc2UsIHRoZSBmdW5jdGlvbiBpc24ndCBjYWxsZWQgYXQgYWxsLgogICovCi1zdGF0aWMgaW50IHJhaWQxMF9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IGJpbyAqYmlvLAotCQkJCXN0cnVjdCBiaW9fdmVjICpiaW9fdmVjKQorc3RhdGljIGludCByYWlkMTBfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCisJCQkJIHN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJ2bSwKKwkJCQkgc3RydWN0IGJpb192ZWMgKmJpb3ZlYykKIHsKIAltZGRldl90ICptZGRldiA9IHEtPnF1ZXVlZGF0YTsKLQlzZWN0b3JfdCBzZWN0b3IgPSBiaW8tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJpby0+YmlfYmRldik7CisJc2VjdG9yX3Qgc2VjdG9yID0gYnZtLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChidm0tPmJpX2JkZXYpOwogCWludCBtYXg7CiAJdW5zaWduZWQgaW50IGNodW5rX3NlY3RvcnMgPSBtZGRldi0+Y2h1bmtfc2l6ZSA+PiA5OwotCXVuc2lnbmVkIGludCBiaW9fc2VjdG9ycyA9IGJpby0+Ymlfc2l6ZSA+PiA5OworCXVuc2lnbmVkIGludCBiaW9fc2VjdG9ycyA9IGJ2bS0+Ymlfc2l6ZSA+PiA5OwogCiAJbWF4ID0gIChjaHVua19zZWN0b3JzIC0gKChzZWN0b3IgJiAoY2h1bmtfc2VjdG9ycyAtIDEpKSArIGJpb19zZWN0b3JzKSkgPDwgOTsKIAlpZiAobWF4IDwgMCkgbWF4ID0gMDsgLyogYmlvX2FkZCBjYW5ub3QgaGFuZGxlIGEgbmVnYXRpdmUgcmV0dXJuICovCi0JaWYgKG1heCA8PSBiaW9fdmVjLT5idl9sZW4gJiYgYmlvX3NlY3RvcnMgPT0gMCkKLQkJcmV0dXJuIGJpb192ZWMtPmJ2X2xlbjsKKwlpZiAobWF4IDw9IGJpb3ZlYy0+YnZfbGVuICYmIGJpb19zZWN0b3JzID09IDApCisJCXJldHVybiBiaW92ZWMtPmJ2X2xlbjsKIAllbHNlCiAJCXJldHVybiBtYXg7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL3JhaWQ1LmMgYi9kcml2ZXJzL21kL3JhaWQ1LmMKaW5kZXggNTRjOGVlMi4uOWNlNzE1NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZC9yYWlkNS5jCisrKyBiL2RyaXZlcnMvbWQvcmFpZDUuYwpAQCAtMjAxNywxMiArMjAxNyw3IEBACiAJCQkgKi8KIAkJCXMtPnVwdG9kYXRlKys7CiAJCQlyZXR1cm4gMDsgLyogdXB0b2RhdGUgKyBjb21wdXRlID09IGRpc2tzICovCi0JCX0gZWxzZSBpZiAoKHMtPnVwdG9kYXRlIDwgZGlza3MgLSAxKSAmJgotCQkJdGVzdF9iaXQoUjVfSW5zeW5jLCAmZGV2LT5mbGFncykpIHsKLQkJCS8qIE5vdGU6IHdlIGhvbGQgb2ZmIGNvbXB1dGUgb3BlcmF0aW9ucyB3aGlsZSBjaGVja3MgYXJlCi0JCQkgKiBpbiBmbGlnaHQsIGJ1dCB3ZSBzdGlsbCBwcmVmZXIgJ2NvbXB1dGUnIG92ZXIgJ3JlYWQnCi0JCQkgKiBoZW5jZSB3ZSBvbmx5IHJlYWQgaWYgKHVwdG9kYXRlIDwgKiBkaXNrcy0xKQotCQkJICovCisJCX0gZWxzZSBpZiAodGVzdF9iaXQoUjVfSW5zeW5jLCAmZGV2LT5mbGFncykpIHsKIAkJCXNldF9iaXQoUjVfTE9DS0VELCAmZGV2LT5mbGFncyk7CiAJCQlzZXRfYml0KFI1X1dhbnRyZWFkLCAmZGV2LT5mbGFncyk7CiAJCQlpZiAoIXRlc3RfYW5kX3NldF9iaXQoU1RSSVBFX09QX0lPLCAmc2gtPm9wcy5wZW5kaW5nKSkKQEAgLTMzMTksMTUgKzMzMTQsMTcgQEAKIC8qIFdlIHdhbnQgcmVhZCByZXF1ZXN0cyB0byBhbGlnbiB3aXRoIGNodW5rcyB3aGVyZSBwb3NzaWJsZSwKICAqIGJ1dCB3cml0ZSByZXF1ZXN0cyBkb24ndCBuZWVkIHRvLgogICovCi1zdGF0aWMgaW50IHJhaWQ1X21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCitzdGF0aWMgaW50IHJhaWQ1X21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAorCQkJCXN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJ2bSwKKwkJCQlzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQogewogCW1kZGV2X3QgKm1kZGV2ID0gcS0+cXVldWVkYXRhOwotCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYmlvLT5iaV9iZGV2KTsKKwlzZWN0b3JfdCBzZWN0b3IgPSBidm0tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJ2bS0+YmlfYmRldik7CiAJaW50IG1heDsKIAl1bnNpZ25lZCBpbnQgY2h1bmtfc2VjdG9ycyA9IG1kZGV2LT5jaHVua19zaXplID4+IDk7Ci0JdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYmlvLT5iaV9zaXplID4+IDk7CisJdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYnZtLT5iaV9zaXplID4+IDk7CiAKLQlpZiAoYmlvX2RhdGFfZGlyKGJpbykgPT0gV1JJVEUpCisJaWYgKChidm0tPmJpX3J3ICYgMSkgPT0gV1JJVEUpCiAJCXJldHVybiBiaW92ZWMtPmJ2X2xlbjsgLyogYWx3YXlzIGFsbG93IHdyaXRlcyB0byBiZSBtZXJnZWFibGUgKi8KIAogCW1heCA9ICAoY2h1bmtfc2VjdG9ycyAtICgoc2VjdG9yICYgKGNodW5rX3NlY3RvcnMgLSAxKSkgKyBiaW9fc2VjdG9ycykpIDw8IDk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMvdHVuZXIteGMyMDI4LmMgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMvdHVuZXIteGMyMDI4LmMKaW5kZXggMGNiZGUxNy4uMzBlYjA3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3R1bmVyLXhjMjAyOC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy90dW5lci14YzIwMjguYwpAQCAtMjU0LDcgKzI1NCw3IEBACiB7CiAJc3RydWN0IHhjMjAyOF9kYXRhICAgICpwcml2ID0gZmUtPnR1bmVyX3ByaXY7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyAgID0gTlVMTDsKLQl1bnNpZ25lZCBjaGFyICAgICAgICAgKnAsICplbmRwOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgICAqcCwgKmVuZHA7CiAJaW50ICAgICAgICAgICAgICAgICAgIHJjID0gMDsKIAlpbnQJCSAgICAgIG4sIG5fYXJyYXk7CiAJY2hhcgkJICAgICAgbmFtZVszM107CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMveGM1MDAwLmMgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMveGM1MDAwLmMKaW5kZXggN2NmNGY1Yi4uNDg3OGQ2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3hjNTAwMC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy94YzUwMDAuYwpAQCAtMjc4LDcgKzI3OCw3IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGludCB4Y19sb2FkX2kyY19zZXF1ZW5jZShzdHJ1Y3QgZHZiX2Zyb250ZW5kICpmZSwgdTggaTJjX3NlcXVlbmNlW10pCitzdGF0aWMgaW50IHhjX2xvYWRfaTJjX3NlcXVlbmNlKHN0cnVjdCBkdmJfZnJvbnRlbmQgKmZlLCBjb25zdCB1OCAqaTJjX3NlcXVlbmNlKQogewogCXN0cnVjdCB4YzUwMDBfcHJpdiAqcHJpdiA9IGZlLT50dW5lcl9wcml2OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItY29yZS9kdmJkZXYuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi1jb3JlL2R2YmRldi5jCmluZGV4IDhiNTZkOTIuLmUyMDhhNjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi1jb3JlL2R2YmRldi5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi1jb3JlL2R2YmRldi5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgImR2YmRldi5oIgogCiBzdGF0aWMgaW50IGR2YmRldl9kZWJ1ZzsKQEAgLTc0LDYgKzc1LDcgQEAKIHsKIAlzdHJ1Y3QgZHZiX2RldmljZSAqZHZiZGV2OwogCisJbG9ja19rZXJuZWwoKTsKIAlkdmJkZXYgPSBkdmJkZXZfZmluZF9kZXZpY2UgKGltaW5vcihpbm9kZSkpOwogCiAJaWYgKGR2YmRldiAmJiBkdmJkZXYtPmZvcHMpIHsKQEAgLTkwLDggKzkyLDEwIEBACiAJCQlmaWxlLT5mX29wID0gZm9wc19nZXQob2xkX2ZvcHMpOwogCQl9CiAJCWZvcHNfcHV0KG9sZF9mb3BzKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gZXJyOwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvY3h1c2IuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvY3h1c2IuYwppbmRleCA3MjBmY2QxLi4wMjg2MTU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2N4dXNiLmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9jeHVzYi5jCkBAIC0yNCw2ICsyNCw3IEBACiAgKiBzZWUgRG9jdW1lbnRhdGlvbi9kdmIvUkVBRE1FLmR2Yi11c2IgZm9yIG1vcmUgaW5mb3JtYXRpb24KICAqLwogI2luY2x1ZGUgPG1lZGlhL3R1bmVyLmg+CisjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogCiAjaW5jbHVkZSAiY3h1c2IuaCIKIApAQCAtNzAwLDEyICs3MDEsMjYgQEAKIAogCQlpZiAoZnctPmRhdGFbaWRvZmZdID09IChVU0JfVklEX0RWSUNPICYgMHhmZikgJiYKIAkJICAgIGZ3LT5kYXRhW2lkb2ZmICsgMV0gPT0gVVNCX1ZJRF9EVklDTyA+PiA4KSB7Ci0JCQlmdy0+ZGF0YVtpZG9mZiArIDJdID0KKwkJCXN0cnVjdCBmaXJtd2FyZSBuZXdfZnc7CisJCQl1OCAqbmV3X2Z3X2RhdGEgPSB2bWFsbG9jKGZ3LT5zaXplKTsKKwkJCWludCByZXQ7CisKKwkJCWlmICghbmV3X2Z3X2RhdGEpCisJCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJCW1lbWNweShuZXdfZndfZGF0YSwgZnctPmRhdGEsIGZ3LT5zaXplKTsKKwkJCW5ld19mdy5zaXplID0gZnctPnNpemU7CisJCQluZXdfZncuZGF0YSA9IG5ld19md19kYXRhOworCisJCQluZXdfZndfZGF0YVtpZG9mZiArIDJdID0KIAkJCQlsZTE2X3RvX2NwdSh1ZGV2LT5kZXNjcmlwdG9yLmlkUHJvZHVjdCkgKyAxOwotCQkJZnctPmRhdGFbaWRvZmYgKyAzXSA9CisJCQluZXdfZndfZGF0YVtpZG9mZiArIDNdID0KIAkJCQlsZTE2X3RvX2NwdSh1ZGV2LT5kZXNjcmlwdG9yLmlkUHJvZHVjdCkgPj4gODsKIAotCQkJcmV0dXJuIHVzYl9jeXByZXNzX2xvYWRfZmlybXdhcmUodWRldiwgZncsIENZUFJFU1NfRlgyKTsKKwkJCXJldCA9IHVzYl9jeXByZXNzX2xvYWRfZmlybXdhcmUodWRldiwgJm5ld19mdywKKwkJCQkJCQlDWVBSRVNTX0ZYMik7CisJCQl2ZnJlZShuZXdfZndfZGF0YSk7CisJCQlyZXR1cm4gcmV0OwogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2dwOHBzay5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9ncDhwc2suYwppbmRleCAyNjUzMTIwLi5kOTY1YTkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2dwOHBzay5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvZ3A4cHNrLmMKQEAgLTg2LDcgKzg2LDggQEAKIHsKIAlpbnQgcmV0OwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncgPSBOVUxMOwotCXU4ICpwdHIsICpidWY7CisJY29uc3QgdTggKnB0cjsKKwl1OCAqYnVmOwogCWlmICgocmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGJjbTQ1MDBfZmlybXdhcmUsCiAJCQkJCSZkLT51ZGV2LT5kZXYpKSAhPSAwKSB7CiAJCWVycigiZGlkIG5vdCBmaW5kIHRoZSBiY200NTAwIGZpcm13YXJlIGZpbGUuICglcykgIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL2JjbTM1MTAuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9iY20zNTEwLmMKaW5kZXggZDI2OGU2NS4uY2Y1ZTU3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL2JjbTM1MTAuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvYmNtMzUxMC5jCkBAIC01OTAsNyArNTkwLDggQEAKICAqLwogI2RlZmluZSBCQ00zNTEwX0RFRkFVTFRfRklSTVdBUkUgImR2Yi1mZS1iY20zNTEwLTAxLmZ3IgogCi1zdGF0aWMgaW50IGJjbTM1MTBfd3JpdGVfcmFtKHN0cnVjdCBiY20zNTEwX3N0YXRlICpzdCwgdTE2IGFkZHIsIHU4ICpiLCB1MTYgbGVuKQorc3RhdGljIGludCBiY20zNTEwX3dyaXRlX3JhbShzdHJ1Y3QgYmNtMzUxMF9zdGF0ZSAqc3QsIHUxNiBhZGRyLCBjb25zdCB1OCAqYiwKKwkJCSAgICAgdTE2IGxlbikKIHsKIAlpbnQgcmV0ID0gMCxpOwogCWJjbTM1MTBfcmVnaXN0ZXJfdmFsdWUgdkgsIHZMLHZEOwpAQCAtNjE0LDcgKzYxNSw3IEBACiAJc3RydWN0IGJjbTM1MTBfc3RhdGUqIHN0ID0gZmUtPmRlbW9kdWxhdG9yX3ByaXY7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAl1MTYgYWRkcixsZW47Ci0JdTggICpiOworCWNvbnN0IHU4ICpiOwogCWludCByZXQsaTsKIAogCWRlYl9pbmZvKCJyZXF1ZXN0aW5nIGZpcm13YXJlXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9ueHQyMDB4LmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvbnh0MjAweC5jCmluZGV4IDIzZDAyMjguLmFmMjk4MzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9ueHQyMDB4LmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL254dDIwMHguYwpAQCAtOTMsNyArOTMsOCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IG54dDIwMHhfd3JpdGVieXRlcyAoc3RydWN0IG54dDIwMHhfc3RhdGUqIHN0YXRlLCB1OCByZWcsIHU4ICpidWYsIHU4IGxlbikKK3N0YXRpYyBpbnQgbnh0MjAweF93cml0ZWJ5dGVzIChzdHJ1Y3Qgbnh0MjAweF9zdGF0ZSogc3RhdGUsIHU4IHJlZywKKwkJCSAgICAgICBjb25zdCB1OCAqYnVmLCB1OCBsZW4pCiB7CiAJdTggYnVmMiBbbGVuKzFdOwogCWludCBlcnI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvb3I1MTIxMS5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL29yNTEyMTEuYwppbmRleCA3ZWFhNDc2Li42YWZlMTJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvb3I1MTIxMS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9vcjUxMjExLmMKQEAgLTY5LDcgKzY5LDcgQEAKIAl1MzIgY3VycmVudF9mcmVxdWVuY3k7CiB9OwogCi1zdGF0aWMgaW50IGkyY193cml0ZWJ5dGVzIChzdHJ1Y3Qgb3I1MTIxMV9zdGF0ZSogc3RhdGUsIHU4IHJlZywgdTggKmJ1ZiwKK3N0YXRpYyBpbnQgaTJjX3dyaXRlYnl0ZXMgKHN0cnVjdCBvcjUxMjExX3N0YXRlKiBzdGF0ZSwgdTggcmVnLCBjb25zdCB1OCAqYnVmLAogCQkJICAgaW50IGxlbikKIHsKIAlpbnQgZXJyOwpAQCAtNzcsNyArNzcsNyBAQAogCW1zZy5hZGRyCT0gcmVnOwogCW1zZy5mbGFncwk9IDA7CiAJbXNnLmxlbgkJPSBsZW47Ci0JbXNnLmJ1ZgkJPSBidWY7CisJbXNnLmJ1ZgkJPSAodTggKilidWY7CiAKIAlpZiAoKGVyciA9IGkyY190cmFuc2ZlciAoc3RhdGUtPmkyYywgJm1zZywgMSkpICE9IDEpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAib3I1MTIxMTogaTJjX3dyaXRlYnl0ZXMgZXJyb3IgIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3MC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3MC5jCmluZGV4IGFhNzhhYTEuLjFjOWE5YjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4NzAuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODcwLmMKQEAgLTk4LDcgKzk4LDcgQEAKIHN0YXRpYyBpbnQgc3A4ODcwX2Zpcm13YXJlX3VwbG9hZCAoc3RydWN0IHNwODg3MF9zdGF0ZSogc3RhdGUsIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpCiB7CiAJc3RydWN0IGkyY19tc2cgbXNnOwotCWNoYXIgKmZ3X2J1ZiA9IGZ3LT5kYXRhOworCWNvbnN0IGNoYXIgKmZ3X2J1ZiA9IGZ3LT5kYXRhOwogCWludCBmd19wb3M7CiAJdTggdHhfYnVmWzI1NV07CiAJaW50IHR4X2xlbjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4N3guYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4N3guYwppbmRleCA0OWY1NTg3Li40NTQzNjA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODd4LmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3eC5jCkBAIC0xNDAsNyArMTQwLDcgQEAKIAl1OCBidWYgW0JMT0NLU0laRSsyXTsKIAlpbnQgaTsKIAlpbnQgZndfc2l6ZSA9IGZ3LT5zaXplOwotCXVuc2lnbmVkIGNoYXIgKm1lbSA9IGZ3LT5kYXRhOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm1lbSA9IGZ3LT5kYXRhOwogCiAJZHByaW50aygiJXNcbiIsIF9fZnVuY19fKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDQ4LmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNDguYwppbmRleCAwOTBmYjdkLi4wYWI4ZDg2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDQ4LmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDQ4LmMKQEAgLTIzMyw3ICsyMzMsNyBAQAogfQogCiBzdGF0aWMgaW50IHRkYTEwMDQ4X3dyaXRlcmVnYnVsayhzdHJ1Y3QgdGRhMTAwNDhfc3RhdGUgKnN0YXRlLCB1OCByZWcsCi0JdTggKmRhdGEsIHUxNiBsZW4pCisJCQkJIGNvbnN0IHU4ICpkYXRhLCB1MTYgbGVuKQogewogCWludCByZXQgPSAtRVJFTU9URUlPOwogCXN0cnVjdCBpMmNfbXNnIG1zZzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy90ZGExMDA0eC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDR4LmMKaW5kZXggYTBkNjM4Ni4uMTQ2NWZmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDR4LmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDR4LmMKQEAgLTMxNyw3ICszMTcsNyBAQAogfQogCiBzdGF0aWMgaW50IHRkYTEwMDR4X2RvX3VwbG9hZChzdHJ1Y3QgdGRhMTAwNHhfc3RhdGUgKnN0YXRlLAotCQkJICAgICAgdW5zaWduZWQgY2hhciAqbWVtLCB1bnNpZ25lZCBpbnQgbGVuLAorCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqbWVtLCB1bnNpZ25lZCBpbnQgbGVuLAogCQkJICAgICAgdTggZHNwQ29kZUNvdW50ZXJSZWcsIHU4IGRzcENvZGVJblJlZykKIHsKIAl1OCBidWZbNjVdOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1idWRnZXQuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItYnVkZ2V0LmMKaW5kZXggNWQyZDgxYS4uYmMyMDQzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1idWRnZXQuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWJ1ZGdldC5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogCiAjaW5jbHVkZSAiZHZiX2Zyb250ZW5kLmgiCiAjaW5jbHVkZSAiZG14ZGV2LmgiCkBAIC0yODUsMTMgKzI4NiwxOSBAQAogCXJldHVybiBpOwogfQogCi0jaW5jbHVkZSAiZHZiLXR0dXNiLWRzcGJvb3Rjb2RlLmgiCi0KIHN0YXRpYyBpbnQgdHR1c2JfYm9vdF9kc3Aoc3RydWN0IHR0dXNiICp0dHVzYikKIHsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCWludCBpLCBlcnI7CiAJdTggYls0MF07CiAKKwllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgInR0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4iLAorCQkJICAgICAgICZ0dHVzYi0+ZGV2LT5kZXYpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ0dHVzYi1idWRnZXQ6IGZhaWxlZCB0byByZXF1ZXN0IGZpcm13YXJlXG4iKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKIAkvKiBCb290QmxvY2sgKi8KIAliWzBdID0gMHhhYTsKIAliWzJdID0gMHgxMzsKQEAgLTI5OSw4ICszMDYsOCBAQAogCiAJLyogdXBsb2FkIGRzcCBjb2RlIGluIDMyIGJ5dGUgc3RlcHMgKDM2IGRpZG4ndCB3b3JrIGZvciBtZSAuLi4pICovCiAJLyogMzIgaXMgbWF4IHBhY2tldCBzaXplLCBubyBtZXNzYWdlcyBzaG91bGQgYmUgc3BsaXR0ZWQuICovCi0JZm9yIChpID0gMDsgaSA8IHNpemVvZihkc3BfYm9vdGNvZGUpOyBpICs9IDI4KSB7Ci0JCW1lbWNweSgmYls0XSwgJmRzcF9ib290Y29kZVtpXSwgMjgpOworCWZvciAoaSA9IDA7IGkgPCBmdy0+c2l6ZTsgaSArPSAyOCkgeworCQltZW1jcHkoJmJbNF0sICZmdy0+ZGF0YVtpXSwgMjgpOwogCiAJCWJbMV0gPSArK3R0dXNiLT5jOwogCkBAIC0xODIwLDMgKzE4MjcsNCBAQAogTU9EVUxFX0FVVEhPUigiSG9sZ2VyIFdhZWNodGxlciA8aG9sZ2VyQGNvbnZlcmdlbmNlLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJUVFVTQiBEVkIgRHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoInR0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItZHNwYm9vdGNvZGUuaCBiL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItZHNwYm9vdGNvZGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMzY2Q1NC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWRzcGJvb3Rjb2RlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNjQ0ICswLDAgQEAKLQotI2luY2x1ZGUgPGFzbS90eXBlcy5oPgotCi1zdGF0aWMgdTggZHNwX2Jvb3Rjb2RlIFtdID0gewotCTB4MDgsIDB4YWEsIDB4MDAsIDB4MTgsIDB4MDAsIDB4MDMsIDB4MDgsIDB4MDAsCi0JMHgwMCwgMHgxMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg4MCwgMHgxOCwgMHg1ZiwKLQkweDAwLCAweDAwLCAweDAxLCAweDgwLCAweDc3LCAweDE4LCAweDJhLCAweGViLAotCTB4NmIsIDB4ZjgsIDB4MDAsIDB4MTgsIDB4MDMsIDB4ZmYsIDB4NjgsIDB4ZjgsCi0JMHgwMCwgMHgxOCwgMHhmZiwgMHhmZSwgMHhmNywgMHhiOCwgMHhmNywgMHhiZSwKLQkweGY2LCAweGI5LCAweGY0LCAweGEwLCAweGY2LCAweGI3LCAweGY2LCAweGI1LAotCTB4ZjYsIDB4YjYsIDB4ZjAsIDB4MjAsIDB4MTksIDB4ZGYsIDB4ZjEsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHhmOCwgMHg0ZCwgMHgwMSwgMHhhYiwgMHhmNiwgMHhiOCwKLQkweGYwLCAweDIwLCAweDE5LCAweGRmLCAweGYwLCAweDczLCAweDAxLCAweGE1LAotCTB4N2UsIDB4ZjgsIDB4MDAsIDB4MTIsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0NywgMHhmOCwgMHgwMCwgMHgxMSwgMHg3ZSwgMHg5MiwgMHgwMCwgMHhmOCwKLQkweDAwLCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweDdlLCAweGY4LAotCTB4MDAsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4NmMsIDB4ODksCi0JMHgwMSwgMHg5YSwgMHhmNywgMHhiOCwgMHhlZSwgMHhmYywgMHhmMCwgMHgyMCwKLQkweGZmLCAweGZmLCAweGYxLCAweDAwLCAweDAwLCAweDAxLCAweGY4LCAweDRkLAotCTB4MDEsIDB4YmYsIDB4ZjIsIDB4NzMsIDB4MDEsIDB4YjksIDB4NGUsIDB4MDIsCi0JMHhmNCwgMHg5NSwgMHhmNSwgMHhlMywgMHg1NiwgMHgwMiwgMHg3ZSwgMHgwMCwKLQkweDExLCAweDAwLCAweGZhLCAweDRjLCAweDAxLCAweGI3LCAweDZiLCAweDAzLAotCTB4MDAsIDB4MDEsIDB4ZjYsIDB4YjgsIDB4ZWUsIDB4MDQsIDB4ZjAsIDB4NzQsCi0JMHgwZCwgMHhhNywgMHhmMCwgMHg3NCwgMHgwMSwgMHhjNSwgMHg0YSwgMHgxMSwKLQkweDRhLCAweDE2LCAweDcyLCAweDExLCAweDJhLCAweGU2LCAweDEwLCAweGY4LAotCTB4MDAsIDB4MTEsIDB4ZmEsIDB4NDUsIDB4MDEsIDB4ZGIsIDB4ZjQsIDB4OTUsCi0JMHhlZSwgMHhmZiwgMHg0OCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgyYSwgMHhjNiwKLQkweDg4LCAweDE2LCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweGVlLAotCTB4ZmYsIDB4ZmYsIDB4ZjQsIDB4ZTMsIDB4NmMsIDB4ZTksIDB4ZmYsIDB4ZmYsCi0JMHgwMSwgMHhkNSwgMHgxMCwgMHhmOCwgMHgyYSwgMHhlNywgMHhmOCwgMHg0NSwKLQkweDAxLCAweGUyLCAweDEwLCAweGY4LCAweDJhLCAweGU3LCAweGY0LCAweGUzLAotCTB4ZjAsIDB4NzQsIDB4MDEsIDB4ZmYsIDB4ZWUsIDB4MDEsIDB4OGEsIDB4MTYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHhmNywgMHhiOCwgMHhlOSwgMHgyMCwKLQkweDRhLCAweDExLCAweDA5LCAweGY4LCAweDJhLCAweGU2LCAweGY4LCAweDRlLAotCTB4MDEsIDB4ZjMsIDB4ZjIsIDB4NzMsIDB4MDEsIDB4ZmQsIDB4ZjQsIDB4OTUsCi0JMHhlOCwgMHgwMSwgMHg3MiwgMHgxMSwgMHgyYSwgMHhlNiwgMHg0OSwgMHgxMSwKLQkweDgwLCAweGUxLCAweDJhLCAweGM2LCAweGYzLCAweDAwLCAweDAwLCAweDAxLAotCTB4ZTgsIDB4MDAsIDB4ODEsIDB4ZjgsIDB4MmEsIDB4ZTYsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHhmNCwgMHg5NSwgMHhmMCwgMHg3MywgMHgwMiwgMHgwMCwKLQkweDEwLCAweGY4LCAweDJhLCAweDBmLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4ZjAsIDB4NzQsIDB4MDIsIDB4MDIsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4MTAsCi0JMHg3MywgMHgwOCwgMHgwMCwgMHgwOSwgMHg0MCwgMHhmOCwgMHgyYSwgMHgxNSwKLQkweDgyLCAweGY4LCAweDAwLCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4MDMsIDB4ZTgsIDB4ZjUsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MDIsIDB4MjEsCi0JMHg3MSwgMHhmOCwgMHgyYSwgMHgxMCwgMHgyYSwgMHgxNSwgMHg1NiwgMHhmOCwKLQkweDJhLCAweDBjLCAweGYwLCAweGUzLCAweDRlLCAweGY4LCAweDJhLCAweDE2LAotCTB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsIDB4MmEsIDB4MGMsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgwNiwgMHg0YSwgMHgwNywgMHg0YSwgMHgxZCwKLQkweDY4LCAweGY4LCAweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LAotCTB4MDAsIDB4MDcsIDB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsCi0JMHhmZiwgMHhmYywgMHg2YiwgMHhmOCwgMHgyYSwgMHgwZiwgMHgwMCwgMHgwMSwKLQkweDhhLCAweDFkLCAweDhhLCAweDA3LCAweDhhLCAweDA2LCAweGY0LCAweGViLAotCTB4ZWUsIDB4ZmQsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4MGYsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhmYiwgMHg4MCwgMHgxOSwgMHg0YywKLQkweGY0LCAweDk1LCAweGU4LCAweDAwLCAweDgwLCAweGY4LCAweDJhLCAweDExLAotCTB4ZjksIDB4ODAsIDB4MTksIDB4MDcsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4MGUsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg2NiwgMHg3NiwgMHgwMCwgMHgyYSwgMHgxMiwKLQkweDEwLCAweGY4LCAweDJhLCAweDExLCAweGY5LCAweDgwLCAweDE4LCAweGUzLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4MGUsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NjYsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHgwZSwgMHhmOSwgMHg4MCwgMHgxNiwgMHg4NywKLQkweGVlLCAweDAzLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGY2LCAweGI4LAotCTB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ODAsIDB4MDAsIDB4MTEsIDB4ZjgsCi0JMHgyYSwgMHg1YSwgMHhmOCwgMHg0ZCwgMHgwMiwgMHg5MywgMHgxMSwgMHhmOCwKLQkweDJhLCAweDlmLCAweGY4LCAweDRjLCAweDAyLCAweDdjLCAweDc3LCAweDEyLAotCTB4MmEsIDB4MzksIDB4NDksIDB4MTIsIDB4MDEsIDB4ZjgsIDB4MmEsIDB4OWYsCi0JMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3MSwgMHg4MSwKLQkweDAwLCAweDExLCAweDZjLCAweGUxLCAweGZmLCAweGFiLCAweDAyLCAweDkzLAotCTB4NmIsIDB4ZjgsIDB4MmEsIDB4OWYsIDB4MDAsIDB4MDEsIDB4ZTksIDB4MDUsCi0JMHgwMSwgMHhlMiwgMHgwMCwgMHgwMywgMHg4MSwgMHhmOCwgMHgyYSwgMHhhMCwKLQkweGYwLCAweDczLCAweDAyLCAweDk1LCAweDcyLCAweDExLCAweDJhLCAweDlmLAotCTB4ZjQsIDB4OTUsIDB4MTAsIDB4ZTEsIDB4MmEsIDB4MzksIDB4NmIsIDB4ZjgsCi0JMHgyYSwgMHg5ZiwgMHgwMCwgMHgwMSwgMHgxMSwgMHhmOCwgMHgyYSwgMHg5ZiwKLQkweDA5LCAweGY4LCAweDJhLCAweGEwLCAweGY4LCAweDRjLCAweDAyLCAweDkzLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4NWEsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsCi0JMHgyYSwgMHg5ZiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhMCwKLQkweDAwLCAweDAwLCAweDg4LCAweDExLCAweGY0LCAweDk1LCAweDQ4LCAweDExLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHg1YSwgMHhmOCwgMHg0NCwgMHgwMiwgMHhiMiwKLQkweDc2LCAweGY4LCAweDJhLCAweDVhLCAweDAwLCAweDAxLCAweGYwLCAweDc0LAotCTB4MDIsIDB4NTgsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHg4MCwgMHgwMCwgMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwMiwgMHhiMiwKLQkweDQ4LCAweDExLCAweGYwLCAweDMwLCAweDAwLCAweGZmLCAweDgwLCAweDAwLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4NWIsIDB4ZjksIDB4ODAsIDB4MTgsIDB4ZDYsCi0JMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHhmNCwgMHg5NSwKLQkweDRhLCAweDA4LCAweDRhLCAweDA5LCAweDRhLCAweDBhLCAweDRhLCAweDBiLAotCTB4NGEsIDB4MGMsIDB4NGEsIDB4MGQsIDB4NGEsIDB4MTAsIDB4NGEsIDB4MTEsCi0JMHg0YSwgMHgxMiwgMHg0YSwgMHgxMywgMHg0YSwgMHgxNCwgMHg0YSwgMHgxNSwKLQkweDRhLCAweDE2LCAweDRhLCAweDE3LCAweDRhLCAweDE3LCAweDRhLCAweDE5LAotCTB4NGEsIDB4MGUsIDB4NGEsIDB4MDYsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWEsCi0JMHg0YSwgMHgxZCwgMHg0YSwgMHgxYiwgMHg0YSwgMHgxYywgMHg2OCwgMHhmOCwKLQkweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LCAweDAwLCAweDA3LAotCTB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsIDB4ZmYsIDB4ZmMsCi0JMHg0OCwgMHgxOCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxOCwgMHhmZiwgMHhmZSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDRhLCAweDA4LCAweGVlLCAweGZkLAotCTB4ZjAsIDB4NzQsIDB4MDIsIDB4NTgsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMCwgMHg4MCwgMHgwMCwgMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwKLQkweDAyLCAweGVmLCAweDQ4LCAweDExLCAweGYwLCAweDMwLCAweDAwLCAweGZmLAotCTB4ODAsIDB4MDAsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4NWIsIDB4ZjksIDB4ODAsCi0JMHgxOCwgMHhkNiwgMHhlZSwgMHgwMywgMHg4YSwgMHgxOCwgMHhmNCwgMHg5NSwKLQkweDhhLCAweDFjLCAweDhhLCAweDFiLCAweDhhLCAweDFkLCAweDhhLCAweDFhLAotCTB4OGEsIDB4MDcsIDB4OGEsIDB4MDYsIDB4OGEsIDB4MGUsIDB4OGEsIDB4MTksCi0JMHg4YSwgMHgxNywgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxNSwKLQkweDhhLCAweDE0LCAweDhhLCAweDEzLCAweDhhLCAweDEyLCAweDhhLCAweDExLAotCTB4OGEsIDB4MTAsIDB4OGEsIDB4MGQsIDB4OGEsIDB4MGMsIDB4OGEsIDB4MGIsCi0JMHg4YSwgMHgwYSwgMHg4YSwgMHgwOSwgMHg4YSwgMHgwOCwgMHhmNCwgMHhlYiwKLQkweDRhLCAweDExLCAweDc3LCAweDExLCAweDJhLCAweDM5LCAweDc2LCAweDgxLAotCTB4MDAsIDB4NTUsIDB4NzcsIDB4MTIsIDB4MmEsIDB4MTgsIDB4MTAsIDB4ZTIsCi0JMHgwMCwgMHgwMSwgMHg4MCwgMHhlMSwgMHgwMCwgMHgwMSwgMHgxMCwgMHhlMiwKLQkweDAwLCAweDAyLCAweDgwLCAweGUxLCAweDAwLCAweDAyLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsCi0JMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwgMHgwMiwgMHg5OCwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsIDB4NmYsIDB4ZjgsIDB4MmEsIDB4OWUsCi0JMHgwYywgMHg4OCwgMHhlOCwgMHhmZiwgMHgxOCwgMHhlMSwgMHgwMCwgMHgwMSwKLQkweDFhLCAweGY4LCAweDJhLCAweDllLCAweGYwLCAweDMwLCAweDFmLCAweGZmLAotCTB4ODAsIDB4ZjgsIDB4MmEsIDB4OWUsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwgMHgyYSwgMHgzOSwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDU1LCAweDc3LCAweDEyLCAweDJhLCAweDE4LCAweDExLCAweGUyLAotCTB4MDAsIDB4MDEsIDB4ODEsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4MTEsIDB4ZTIsCi0JMHgwMCwgMHgwMiwgMHg4MSwgMHhlMSwgMHgwMCwgMHgwMiwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAzLCAweDAwLCAweDAyLCAweDQ4LCAweDA4LCAweDZmLCAweGUxLAotCTB4MDAsIDB4MDQsIDB4MGMsIDB4OTgsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4ZmYsCi0JMHg4MCwgMHhlMSwgMHgwMCwgMHgwNSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweGFhLCAweGYwLCAweDc0LCAweDAyLCAweDk4LCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsIDB4MmEsIDB4MzksCi0JMHg3NiwgMHg4MSwgMHgwMCwgMHg1NSwgMHg3NywgMHgxMiwgMHgyYSwgMHgxOCwKLQkweDEwLCAweGUyLCAweDAwLCAweDAxLCAweDgwLCAweGUxLCAweDAwLCAweDAxLAotCTB4MTAsIDB4ZTIsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgwNCwgMHg0OCwgMHgxMSwKLQkweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDEyLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTMsIDB4MmEsIDB4NzYsIDB4ZTksIDB4MDAsIDB4ZTUsIDB4OTgsCi0JMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwgMHhmNiwgMHhiOCwgMHg0OCwgMHgwYiwKLQkweDA4LCAweGY4LCAweDJhLCAweDNjLCAweGY4LCAweDQzLCAweDAzLCAweDcxLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmMCwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDcxLCAweDgxLAotCTB4MDAsIDB4MTQsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MTUsCi0JMHg0OSwgMHgxMSwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMiwgMHg4OSwgMHgxMSwKLQkweGU3LCAweDgyLCAweDZkLCAweGVhLCAweDAwLCAweDA0LCAweGU3LCAweDgzLAotCTB4NmQsIDB4ZWIsIDB4MDAsIDB4MGEsIDB4NzcsIDB4MWEsIDB4MDAsIDB4MDUsCi0JMHhmMCwgMHg3MiwgMHgwMywgMHhhYSwgMHgxMSwgMHg4MSwgMHhmMiwgMHhlOCwKLQkweDgwLCAweDgyLCAweGU5LCAweGZmLCAweDE5LCAweGUxLCAweDAwLCAweDAxLAotCTB4ZjEsIDB4YTAsIDB4ODEsIDB4OTIsIDB4MTEsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHhmMiwgMHhlOCwgMHg4MCwgMHg4MywgMHhlOSwgMHhmZiwgMHgxOSwgMHhlMSwKLQkweDAwLCAweDBkLCAweGYxLCAweGEwLCAweDgxLCAweDkzLCAweDZkLCAweGU5LAotCTB4MDAsIDB4MDIsIDB4NDgsIDB4MTgsIDB4NDksIDB4MTgsIDB4NzAsIDB4MDAsCi0JMHgwMCwgMHgxNSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHhmMywgMHgwMCwKLQkweDAwLCAweDBhLCAweDgwLCAweDAxLCAweDgxLCAweDAyLCAweGYyLCAweDc0LAotCTB4MGUsIDB4NTQsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTQsIDB4ZWUsIDB4MTAsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmMCwgMHg3NCwKLQkweDBjLCAweDVlLCAweDgwLCAweGY4LCAweDJhLCAweDVjLCAweDc3LCAweDEyLAotCTB4MmEsIDB4MzksIDB4NzYsIDB4ODIsIDB4MDAsIDB4NTUsIDB4NzcsIDB4MTEsCi0JMHgyYSwgMHgxOCwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwMSwgMHg4MCwgMHhlMiwKLQkweDAwLCAweDAxLCAweDEwLCAweGUxLCAweDAwLCAweDAyLCAweDgwLCAweGUyLAotCTB4MDAsIDB4MDIsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MWMsCi0JMHhmNiwgMHhiOCwgMHg1NiwgMHhmOCwgMHgyYSwgMHgxNiwgMHhmMCwgMHhmMCwKLQkweGYwLCAweGY4LCAweDgwLCAweGUyLCAweDAwLCAweDA3LCAweDU2LCAweGY4LAotCTB4MmEsIDB4MTYsIDB4ZjEsIDB4ZjAsIDB4ZTgsIDB4ZmYsIDB4ZjIsIDB4ODAsCi0JMHg4MCwgMHhlMiwgMHgwMCwgMHgwNiwgMHg1NiwgMHhmOCwgMHgyYSwgMHgxNiwKLQkweGYxLCAweGY4LCAweGU4LCAweGZmLCAweGYyLCAweDgwLCAweDgwLCAweGUyLAotCTB4MDAsIDB4MDUsIDB4NTcsIDB4ZjgsIDB4MmEsIDB4MTYsIDB4ZTgsIDB4ZmYsCi0JMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwgMHgwMCwgMHgwNCwgMHg1NiwgMHhmOCwKLQkweDI3LCAweDZjLCAweGYwLCAweGYwLCAweGYwLCAweGY4LCAweDgwLCAweGUyLAotCTB4MDAsIDB4MGIsIDB4NTYsIDB4ZjgsIDB4MjcsIDB4NmMsIDB4ZjEsIDB4ZjAsCi0JMHhlOCwgMHhmZiwgMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwgMHgwMCwgMHgwYSwKLQkweDU2LCAweGY4LCAweDI3LCAweDZjLCAweGYxLCAweGY4LCAweGU4LCAweGZmLAotCTB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MDksIDB4ZTgsIDB4ZmYsCi0JMHg1NywgMHhmOCwgMHgyNywgMHg2YywgMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwKLQkweDAwLCAweDA4LCAweDU2LCAweGY4LCAweDI3LCAweDZhLCAweGYwLCAweGYwLAotCTB4ZjAsIDB4ZjgsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MGYsIDB4NTYsIDB4ZjgsCi0JMHgyNywgMHg2YSwgMHhmMSwgMHhmMCwgMHhlOCwgMHhmZiwgMHhmMiwgMHg4MCwKLQkweDgwLCAweGUyLCAweDAwLCAweDBlLCAweDU2LCAweGY4LCAweDI3LCAweDZhLAotCTB4ZjEsIDB4ZjgsIDB4ZTgsIDB4ZmYsIDB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwZCwgMHg1NywgMHhmOCwgMHgyNywgMHg2YSwgMHhlOCwgMHhmZiwKLQkweGYyLCAweDgwLCAweDgwLCAweGUyLCAweDAwLCAweDBjLCAweDc2LCAweGUyLAotCTB4MDAsIDB4MTMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MTIsCi0JMHgwMCwgMHgwMCwgMHg2ZiwgMHhmOCwgMHgyYSwgMHg1YywgMHgwYywgMHg1OCwKLQkweDgwLCAweGUyLCAweDAwLCAweDExLCAweGU4LCAweGZmLCAweDE4LCAweGY4LAotCTB4MmEsIDB4NWMsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MTAsIDB4NzYsIDB4ZTIsCi0JMHgwMCwgMHgxNywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwgMHgwMCwgMHgxNiwKLQkweDAwLCAweDAwLCAweDZmLCAweGY4LCAweDJhLCAweDllLCAweDBjLCAweDU4LAotCTB4ODAsIDB4ZTIsIDB4MDAsIDB4MTUsIDB4ZTgsIDB4ZmYsIDB4MTgsIDB4ZjgsCi0JMHgyYSwgMHg5ZSwgMHg4MCwgMHhlMiwgMHgwMCwgMHgxNCwgMHg3NiwgMHhlMiwKLQkweDAwLCAweDFiLCAweDAwLCAweDAwLCAweDc2LCAweGUyLCAweDAwLCAweDFhLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MTksIDB4MDAsIDB4MDAsCi0JMHg3MCwgMHhlMiwgMHgwMCwgMHgxOCwgMHgyNywgMHg2ZSwgMHg3NiwgMHhlMiwKLQkweDAwLCAweDFmLCAweDAwLCAweDAwLCAweDc2LCAweGUyLCAweDAwLCAweDFlLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MWQsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMiwgMHgwMCwgMHgxYywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwKLQkweDAwLCAweDIwLCAweDAwLCAweGFhLCAweGYwLCAweDc0LCAweDAyLCAweDk4LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHgzOCwgMHhmOCwgMHg0NSwgMHgwNCwgMHhlZCwKLQkweDc3LCAweDEyLCAweDJhLCAweDE4LCAweDEwLCAweGUyLCAweDAwLCAweDAyLAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDgsCi0JMHg2ZCwgMHhlOSwgMHhmZiwgMHhkZiwgMHhmNiwgMHhhOSwgMHhmOCwgMHgyMCwKLQkweDA0LCAweDc1LCAweGYwLCAweDczLCAweDA0LCAweDdkLCAweGYwLCAweDEwLAotCTB4MDAsIDB4MjEsIDB4ZjAsIDB4MDAsIDB4MWEsIDB4ODMsIDB4NDgsIDB4MDgsCi0JMHg3ZSwgMHhmOCwgMHgwMCwgMHgwOCwgMHhmNCwgMHhlMiwgMHhmMCwgMHg3NCwKLQkweDAzLCAweDBhLCAweGYwLCAweDczLCAweDA0LCAweGVhLCAweDQ4LCAweDEyLAotCTB4ZjIsIDB4NzQsIDB4MDMsIDB4MjMsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsCi0JMHhmMiwgMHg3NCwgMHgwMywgMHgzNiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweGYwLCAweDczLCAweDA0LCAweGVhLCAweDc3LCAweDExLCAweDJhLCAweDE4LAotCTB4ZTgsIDB4ZmYsIDB4NmYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MGQsIDB4NDgsCi0JMHgxOCwgMHhlMSwgMHgwMCwgMHgwNSwgMHhmMiwgMHg3NCwgMHgwOSwgMHg2OSwKLQkweGY0LCAweDk1LCAweGYyLCAweGEwLCAweGYwLCAweDc0LCAweDAzLCAweDM2LAotCTB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4NzcsIDB4MTEsIDB4MmEsIDB4MTgsCi0JMHhlOCwgMHhmZiwgMHg2ZiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwZCwgMHg0OCwKLQkweDE4LCAweGUxLCAweDAwLCAweDA1LCAweGYyLCAweDc0LCAweDA5LCAweDQxLAotCTB4ZjQsIDB4OTUsIDB4ZjIsIDB4YTAsIDB4ZjAsIDB4NzQsIDB4MDMsIDB4MzYsCi0JMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHhmMCwgMHg3NCwgMHgwMywgMHg1NywKLQkweGYwLCAweDczLCAweDA0LCAweGVhLCAweDEwLCAweGY4LCAweDJhLCAweDFjLAotCTB4ZjAsIDB4NzQsIDB4MTIsIDB4YTQsIDB4ZjIsIDB4NzQsIDB4MDMsIDB4MzYsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwKLQkweDQ4LCAweDEyLCAweGYyLCAweDc0LCAweDAzLCAweDgwLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDQsIDB4ZjIsIDB4NzQsIDB4MDMsIDB4MzYsIDB4ZjQsIDB4OTUsCi0JMHhlOCwgMHgwMCwgMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHgxMCwgMHhmOCwKLQkweDJhLCAweDFjLCAweGYwLCAweDc0LCAweDEyLCAweGM1LCAweGYyLCAweDc0LAotCTB4MDMsIDB4MzYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsIDB4ZjAsIDB4NzMsCi0JMHgwNCwgMHhlYSwgMHg3NywgMHgxMSwgMHgyYSwgMHgxOCwgMHhlOCwgMHhmZiwKLQkweDZmLCAweGUxLCAweDAwLCAweDA2LCAweDBkLCAweDQ4LCAweDE4LCAweGUxLAotCTB4MDAsIDB4MDcsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHhmMiwgMHhhMCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxMiwgMHg4MCwgMHgwMSwKLQkweDEwLCAweGUxLCAweDAwLCAweDA0LCAweGYwLCAweDc0LCAweDBlLCAweDdhLAotCTB4ZjIsIDB4NzQsIDB4MDMsIDB4MzYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHhmMCwgMHg3NCwgMHgwMywgMHhiYywKLQkweDc2LCAweGY4LCAweDJhLCAweDM4LCAweDAwLCAweDAwLCAweGVlLCAweDAyLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsCi0JMHgyYSwgMHgzOSwgMHg3NiwgMHg4MSwgMHgwMCwgMHg1NSwgMHg3NywgMHgxMiwKLQkweDJhLCAweDE4LCAweDEwLCAweGUyLCAweDAwLCAweDAxLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MDEsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgwOSwKLQkweDQ4LCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDEyLAotCTB4ZjQsIDB4OTUsIDB4NzcsIDB4MTMsIDB4MmEsIDB4ODYsIDB4ZTksIDB4MDAsCi0JMHhlNSwgMHg5OCwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwgMHhmNiwgMHhiOCwKLQkweDQ4LCAweDBiLCAweDA4LCAweGY4LCAweDJhLCAweDNjLCAweGY4LCAweDQzLAotCTB4MDUsIDB4MGEsIDB4NzYsIDB4ODIsIDB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsCi0JMHgwMiwgMHg5OCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDc3LCAweDExLCAweDJhLCAweDM5LCAweDc2LCAweDgxLCAweDAwLCAweDU1LAotCTB4NzcsIDB4MTMsIDB4MmEsIDB4MTgsIDB4MTAsIDB4ZTMsIDB4MDAsIDB4MDEsCi0JMHg4MCwgMHhlMSwgMHgwMCwgMHgwMSwgMHgxMCwgMHhlMywgMHgwMCwgMHgwMiwKLQkweDgwLCAweGUxLCAweDAwLCAweDAyLCAweDEzLCAweGUzLCAweDAwLCAweDAzLAotCTB4ODEsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4NDgsIDB4MTEsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHgwMCwgMHhmOCwgMHg0ZCwgMHgwNSwgMHg0NCwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA0LCAweDg4LCAweDEyLCAweDQ4LCAweDEzLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDQsIDB4ODgsIDB4MTMsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHhlNSwgMHg5OCwgMHg2ZCwgMHg5MSwgMHhmNiwgMHhiOCwgMHg0OCwgMHgxMSwKLQkweDA4LCAweGY4LCAweDJhLCAweDNjLCAweGY4LCAweDQzLCAweDA1LCAweDNhLAotCTB4ZjAsIDB4MjAsIDB4MmEsIDB4MzksIDB4NDksIDB4MTEsIDB4ZjUsIDB4MDAsCi0JMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA0LCAweDAwLCAweGFhLCAweGYwLCAweDc0LCAweDAyLCAweDk4LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsCi0JMHgyYSwgMHgzOSwgMHg3NiwgMHg4MSwgMHgwMCwgMHg1NSwgMHg3NywgMHgxMiwKLQkweDJhLCAweDE4LCAweDEwLCAweGUyLCAweDAwLCAweDAxLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MDEsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgwYywKLQkweDQ4LCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDEyLAotCTB4ZjQsIDB4OTUsIDB4NzcsIDB4MTMsIDB4MmEsIDB4N2EsIDB4ZTksIDB4MDAsCi0JMHhlNSwgMHg5OCwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwgMHhmNiwgMHhiOCwKLQkweDQ4LCAweDBiLCAweDA4LCAweGY4LCAweDJhLCAweDNjLCAweGY4LCAweDQzLAotCTB4MDUsIDB4NmEsIDB4NzYsIDB4ODIsIDB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsCi0JMHgwMiwgMHg5OCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDc3LCAweDExLCAweDJhLCAweDM5LCAweDc2LCAweDgxLCAweDAwLCAweDU1LAotCTB4NzcsIDB4MTIsIDB4MmEsIDB4MTgsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDEsCi0JMHg4MCwgMHhlMSwgMHgwMCwgMHgwMSwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMiwKLQkweDgwLCAweGUxLCAweDAwLCAweDAyLCAweDc2LCAweGUxLCAweDAwLCAweDAzLAotCTB4MDAsIDB4MTksIDB4NDgsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsCi0JMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMywgMHgyYSwgMHg1ZCwKLQkweGU5LCAweDAwLCAweGU1LCAweDk4LCAweGYzLCAweDAwLCAweDAwLCAweDAxLAotCTB4ZjYsIDB4YjgsIDB4NDgsIDB4MGIsIDB4MDgsIDB4ZjgsIDB4MmEsIDB4M2MsCi0JMHhmOCwgMHg0MywgMHgwNSwgMHg5MywgMHg3NiwgMHg4MiwgMHgwMCwgMHhhYSwKLQkweGYwLCAweDc0LCAweDAyLCAweDk4LCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4MzgsCi0JMHhmOCwgMHg0NCwgMHgwNSwgMHhlMywgMHgxMCwgMHhmOCwgMHgyYSwgMHhhMSwKLQkweGY4LCAweDQ0LCAweDA1LCAweGJhLCAweDZjLCAweGUxLCAweGZmLCAweDU2LAotCTB4MDUsIDB4ZTMsIDB4NzIsIDB4MTIsIDB4MmEsIDB4YTEsIDB4ZjQsIDB4OTUsCi0JMHg3MCwgMHhlMiwgMHgyYSwgMHgxOCwgMHgwMCwgMHgxMSwgMHg2YiwgMHhmOCwKLQkweDJhLCAweGExLCAweDAwLCAweDAxLCAweGYwLCAweDczLCAweDA1LCAweGUzLAotCTB4NzIsIDB4MTIsIDB4MmEsIDB4YTEsIDB4ZjQsIDB4OTUsIDB4NzAsIDB4ZTIsCi0JMHgyYSwgMHgxOCwgMHgwMCwgMHgxMSwgMHgxMCwgMHhmOCwgMHgyYSwgMHhhMSwKLQkweGYwLCAweDAwLCAweDAwLCAweDAxLCAweDg4LCAweDEyLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NmUsIDB4ZTIsIDB4ZmYsIDB4ZmMsIDB4MDUsIDB4ZDEsCi0JMHg3MywgMHgxMiwgMHgyYSwgMHhhMSwgMHg0OCwgMHgxMSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA1LCAweDgwLCAweGY4LCAweDJhLCAweGEyLCAweDEwLCAweGY4LAotCTB4MmEsIDB4YTEsIDB4MDgsIDB4ZjgsIDB4MmEsIDB4YTIsIDB4ZjgsIDB4NDQsCi0JMHgwNSwgMHhlMywgMHg2YywgMHhlMSwgMHhmZiwgMHhhYiwgMHgwNSwgMHhkZCwKLQkweDc2LCAweGY4LCAweDJhLCAweDM4LCAweDAwLCAweDAxLCAweDc2LCAweGY4LAotCTB4MmEsIDB4YTEsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTIsCi0JMHgwMCwgMHgwMCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHhmNCwgMHg5NSwKLQkweDRhLCAweDA4LCAweDRhLCAweDA5LCAweDRhLCAweDBhLCAweDRhLCAweDBiLAotCTB4NGEsIDB4MGMsIDB4NGEsIDB4MGQsIDB4NGEsIDB4MTAsIDB4NGEsIDB4MTEsCi0JMHg0YSwgMHgxMiwgMHg0YSwgMHgxMywgMHg0YSwgMHgxNCwgMHg0YSwgMHgxNSwKLQkweDRhLCAweDE2LCAweDRhLCAweDE3LCAweDRhLCAweDE3LCAweDRhLCAweDE5LAotCTB4NGEsIDB4MGUsIDB4NGEsIDB4MDYsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWEsCi0JMHg0YSwgMHgxZCwgMHg0YSwgMHgxYiwgMHg0YSwgMHgxYywgMHg2OCwgMHhmOCwKLQkweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LCAweDAwLCAweDA3LAotCTB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsIDB4ZmYsIDB4ZmMsCi0JMHg0OCwgMHgxOCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxOCwgMHhmZiwgMHhmZSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDRhLCAweDA4LCAweGVlLCAweGZmLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4NWIsIDB4ZjksIDB4ODAsIDB4MTgsIDB4MDQsCi0JMHhmMCwgMHg3NCwgMHgwNSwgMHhhMiwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxOCwKLQkweGY0LCAweDk1LCAweDhhLCAweDFjLCAweDhhLCAweDFiLCAweDhhLCAweDFkLAotCTB4OGEsIDB4MWEsIDB4OGEsIDB4MDcsIDB4OGEsIDB4MDYsIDB4OGEsIDB4MGUsCi0JMHg4YSwgMHgxOSwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwKLQkweDhhLCAweDE1LCAweDhhLCAweDE0LCAweDhhLCAweDEzLCAweDhhLCAweDEyLAotCTB4OGEsIDB4MTEsIDB4OGEsIDB4MTAsIDB4OGEsIDB4MGQsIDB4OGEsIDB4MGMsCi0JMHg4YSwgMHgwYiwgMHg4YSwgMHgwYSwgMHg4YSwgMHgwOSwgMHg4YSwgMHgwOCwKLQkweGY0LCAweGViLCAweGVlLCAweGZkLCAweDc2LCAweGY4LCAweDJhLCAweDM4LAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4NWEsIDB4MDAsIDB4MDAsCi0JMHhlOCwgMHgwMSwgMHg0ZSwgMHgwMCwgMHhmYiwgMHg4MCwgMHgxNywgMHhkNiwKLQkweGY0LCAweDk1LCAweGU4LCAweDAxLCAweDgwLCAweGY4LCAweDJhLCAweDViLAotCTB4NzYsIDB4MDAsIDB4MmEsIDB4OGYsIDB4ZjksIDB4ODAsIDB4MTYsIDB4YWEsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHg1YiwgMHhmOSwgMHg4MCwgMHgxNywgMHg1YywKLQkweDEwLCAweGY4LCAweDJhLCAweDViLCAweGY5LCAweDgwLCAweDE3LCAweDZmLAotCTB4ZmIsIDB4ODAsIDB4MTYsIDB4NjYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MWEsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHg4NywgMHhmNCwgMHg5NSwgMHhlOCwgMHgxYSwKLQkweGZiLCAweDgwLCAweDE2LCAweDY2LCAweGY0LCAweDk1LCAweGU4LCAweDFiLAotCTB4ZmIsIDB4ODAsIDB4MTYsIDB4ODcsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MWIsCi0JMHhlZSwgMHgwMywgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDEzLCAweDAyLCAweDg4LCAweDExLCAweGU4LCAweDAwLCAweGY4LCAweDRkLAotCTB4MDYsIDB4NmEsIDB4ZjMsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ODksIDB4MWEsCi0JMHhmNCwgMHg5NSwgMHhmMCwgMHg3MiwgMHgwNiwgMHg2OSwgMHgxYywgMHg5MSwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDg4LCAweDExLAotCTB4MTIsIDB4MDMsIDB4MTEsIDB4MDIsIDB4ZjgsIDB4NDUsIDB4MDYsIDB4NzksCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgwMSwgMHg4OCwgMHgxYSwgMHhmNCwgMHg5NSwKLQkweGYwLCAweDcyLCAweDA2LCAweDc4LCAweDgxLCAweDkxLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDIsCi0JMHgwMCwgMHgxMSwgMHgxMSwgMHgwMywgMHg2MSwgMHhmOCwgMHgwMCwgMHgxMSwKLQkweDAwLCAweDAxLCAweGY4LCAweDMwLCAweDA2LCAweDkxLCAweGY2LCAweGI4LAotCTB4NmYsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4MGMsIDB4MWYsIDB4ODgsIDB4MTEsCi0JMHhmMywgMHhlOCwgMHhlOCwgMHhmZiwgMHgxOCwgMHg4MSwgMHhmMSwgMHhhMCwKLQkweDgxLCAweDgxLCAweGYwLCAweDczLCAweDA2LCAweDlkLCAweGY2LCAweGI4LAotCTB4NmYsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4MGMsIDB4MWYsIDB4ODgsIDB4MTEsCi0JMHhmMywgMHgzMCwgMHgwMCwgMHhmZiwgMHhmMCwgMHgyMCwgMHhmZiwgMHgwMCwKLQkweDE4LCAweDgxLCAweGYxLCAweGEwLCAweDgxLCAweDgxLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4MTEsIDB4MDIsCi0JMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwgMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwKLQkweDA2LCAweGIxLCAweDQ5LCAweDBiLCAweGY2LCAweDFmLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsIDB4ZjIsIDB4NzMsCi0JMHgwNiwgMHhiOCwgMHhmMCwgMHgzMCwgMHgwMCwgMHhmZiwgMHg0OSwgMHgwYiwKLQkweGY2LCAweDFmLCAweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4MTIsIDB4ODEsIDB4ZjQsIDB4NzgsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwMiwgMHgwMCwgMHgxMiwKLQkweDEzLCAweDAzLCAweDg4LCAweDExLCAweGU4LCAweDAwLCAweGY4LCAweDRkLAotCTB4MDYsIDB4Y2MsIDB4ZjMsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ODksIDB4MWEsCi0JMHhmNCwgMHg5NSwgMHhmMCwgMHg3MiwgMHgwNiwgMHhjYiwgMHgxMSwgMHg5MiwKLQkweGYyLCAweGMwLCAweDgxLCAweDkxLCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4ODgsIDB4MTIsIDB4MTIsIDB4MDIsIDB4NzEsIDB4MDEsIDB4MDAsIDB4MTMsCi0JMHhmOCwgMHg0NSwgMHgwNiwgMHhkYiwgMHhmMCwgMHgxMCwgMHgwMCwgMHgwMSwKLQkweDg4LCAweDFhLCAweGY0LCAweDk1LCAweGYwLCAweDcyLCAweDA2LCAweGRhLAotCTB4ZTUsIDB4OTgsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsCi0JMHg4OCwgMHgxMSwgMHgxMSwgMHgwNCwgMHgxMCwgMHgwNiwgMHg3MSwgMHgwNSwKLQkweDAwLCAweDEyLCAweDYxLCAweGY4LCAweDAwLCAweDEyLCAweDAwLCAweDAxLAotCTB4ZjgsIDB4MjAsIDB4MDYsIDB4ZWEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHhmNiwgMHhiOCwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg2ZiwgMHhmOCwKLQkweDAwLCAweDEyLCAweDBmLCAweDFmLCAweDQ4LCAweDA4LCAweDgxLCAweDAwLAotCTB4ZjQsIDB4N2YsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4NzQsIDB4MDYsIDB4YmEsCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwgMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZlLCAweDg4LCAweDEyLAotCTB4MTEsIDB4MDQsIDB4MTAsIDB4MDYsIDB4NzEsIDB4MDUsIDB4MDAsIDB4MTMsCi0JMHg2MSwgMHhmOCwgMHgwMCwgMHgxMywgMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwKLQkweDA3LCAweDA5LCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4ODgsIDB4MTEsIDB4ZjYsIDB4YjgsIDB4NmYsIDB4ZjgsCi0JMHgwMCwgMHgxMywgMHgwZiwgMHgxZiwgMHg4MSwgMHgwMCwgMHg0OCwgMHgxMSwKLQkweGY0LCAweDdmLCAweDgwLCAweDAxLCAweGYyLCAweDc0LCAweDA2LCAweGNlLAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MTIsIDB4NDgsIDB4MTEsIDB4ZjAsIDB4MzAsCi0JMHhmZiwgMHhmZSwgMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweDRhLCAweDE3LCAweGVlLCAweGZjLAotCTB4ZjQsIDB4OTUsIDB4ODAsIDB4MDIsIDB4NzEsIDB4MDgsIDB4MDAsIDB4MTYsCi0JMHgxMCwgMHgwOSwgMHg3MSwgMHgwYiwgMHgwMCwgMHgxNywgMHg4MCwgMHgwMywKLQkweDcxLCAweDBhLCAweDAwLCAweDExLCAweDQ4LCAweDE3LCAweGY4LCAweDQ1LAotCTB4MDcsIDB4M2YsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTEsIDB4MTAsIDB4MDMsCi0JMHhmMCwgMHg3NCwgMHgwNiwgMHg5ZiwgMHg4MCwgMHgwMSwgMHg3MCwgMHgwMCwKLQkweDAwLCAweDE2LCAweDEwLCAweDAyLCAweGYwLCAweDc0LCAweDA2LCAweDdiLAotCTB4NmQsIDB4OTEsIDB4NmQsIDB4OTYsIDB4NmMsIDB4ZWYsIDB4ZmYsIDB4ZmYsCi0JMHgwNywgMHgyZiwgMHhlZSwgMHgwNCwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZlLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4ZTgsIDB4MDgsIDB4ZjgsIDB4MmEsIDB4ZTksCi0JMHhmOCwgMHg0NSwgMHgwNywgMHg2NCwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDYyLCAweGY4LCAweDJhLCAweGU5LCAweDAwLCAweDVlLCAweGYyLCAweDc0LAotCTB4MTIsIDB4MGIsIDB4ZjAsIDB4MDAsIDB4MzAsIDB4NDAsIDB4NzIsIDB4MTEsCi0JMHgyYSwgMHhlOSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwZiwgMHhmNSwgMHhhOSwKLQkweGY4LCAweDIwLCAweDA3LCAweDYxLCAweDZiLCAweGY4LCAweDJhLCAweGU5LAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MDcsIDB4NjQsIDB4NzYsIDB4ZjgsCi0JMHgyYSwgMHhlOSwgMHgwMCwgMHgwMCwgMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweDg4LCAweDExLCAweGU4LCAweDAwLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDgsIDB4ZTgsIDB4MDAsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwOSwgMHhmNiwgMHhiOCwKLQkweGY0LCAweDk1LCAweGYwLCAweDIwLCAweGZjLCAweDNmLCAweDc1LCAweGY4LAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4MGQsIDB4ZjAsIDB4MjAsIDB4MGMsIDB4MzAsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwYywgMHg3NiwgMHhmOCwKLQkweDJhLCAweGU4LCAweDAwLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGU5LAotCTB4MDAsIDB4MDAsIDB4NmMsIDB4ODEsIDB4MDcsIDB4OTIsIDB4NzYsIDB4ZjgsCi0JMHgyYSwgMHhlYSwgMHgwMCwgMHgwMCwgMHhmYiwgMHg4MCwgMHgxNiwgMHg3NiwKLQkweGY0LCAweDk1LCAweGU4LCAweDEwLCAweGU4LCAweDAwLCAweDc1LCAweGY4LAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4MDAsIDB4ZjAsIDB4NzMsIDB4MDcsIDB4YTgsCi0JMHg3NiwgMHhmOCwgMHgyYSwgMHhlYSwgMHgwMCwgMHgwMSwgMHhmYiwgMHg4MCwKLQkweDE2LCAweDY2LCAweGY0LCAweDk1LCAweGU4LCAweDEwLCAweGZiLCAweDgwLAotCTB4MTYsIDB4ODcsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MTAsIDB4ZTgsIDB4MDAsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwgMHhmNiwgMHhiOCwKLQkweGY0LCAweDk1LCAweGYwLCAweDIwLCAweGZmLCAweGZmLCAweDc1LCAweGY4LAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4MDAsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHhmNCwgMHg5NSwgMHg0YSwgMHgwOCwgMHg0YSwgMHgwOSwgMHg0YSwgMHgwYSwKLQkweDRhLCAweDA2LCAweDRhLCAweDA3LCAweDRhLCAweDFkLCAweDY4LCAweGY4LAotCTB4MDAsIDB4MDcsIDB4N2QsIDB4M2YsIDB4NjksIDB4ZjgsIDB4MDAsIDB4MDcsCi0JMHg0MCwgMHgwMCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxZCwgMHhmZiwgMHhmYywKLQkweDEwLCAweGY4LCAweDJhLCAweGVhLCAweGY4LCAweDQ1LCAweDA3LCAweGUxLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4ZTgsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHhmMCwgMHgzMCwgMHgwMCwgMHgwZiwgMHg4MCwgMHhmOCwgMHgyYSwgMHhlOCwKLQkweDEwLCAweGY4LCAweDJhLCAweGU4LCAweGY4LCAweDQ0LCAweDA3LCAweGQ2LAotCTB4ZjYsIDB4YjgsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ZmMsIDB4M2YsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwZCwgMHhmMCwgMHgyMCwKLQkweDBjLCAweDMwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDBjLAotCTB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDAsCi0JMHhmNiwgMHhiOCwgMHhmNCwgMHg5NSwgMHhmMCwgMHgyMCwgMHhmZiwgMHhmZiwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAwLCAweDhhLCAweDFkLAotCTB4OGEsIDB4MDcsIDB4OGEsIDB4MDYsIDB4OGEsIDB4MGEsIDB4OGEsIDB4MDksCi0JMHg4YSwgMHgwOCwgMHhmNCwgMHhlYiwgMHhlZSwgMHhmZiwgMHhmMiwgMHg3NCwKLQkweDA3LCAweDY3LCAweGY0LCAweDk1LCAweGU4LCAweDAxLCAweGVlLCAweDAxLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWQsIDB4NjgsIDB4ZjgsCi0JMHgwMCwgMHgwNywgMHg3ZCwgMHgzZiwgMHg2OSwgMHhmOCwgMHgwMCwgMHgwNywKLQkweDQwLCAweDAwLCAweDY4LCAweGY4LCAweDAwLCAweDFkLCAweGZmLCAweGZjLAotCTB4OGEsIDB4MWQsIDB4OGEsIDB4MDcsIDB4ZjQsIDB4ZWIsIDB4NGEsIDB4MTEsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgyOCwgMHg3NiwgMHg4MSwgMHgyNCwgMHgwMCwKLQkweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLAotCTB4ZjIsIDB4NzQsIDB4MDcsIDB4NjcsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgxZCwgMHg2OCwgMHg4MSwgMHgwMCwgMHg3ZiwKLQkweGY2LCAweGI4LCAweGY0LCAweDk1LCAweGYwLCAweDIwLCAweGZmLCAweDgwLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4MWQsIDB4ZjAsIDB4MzAsIDB4MDEsIDB4MDAsCi0JMHgxYSwgMHg4MSwgMHg4MCwgMHg4MSwgMHhmMCwgMHg3NCwgMHgwYSwgMHgzMywKLQkweGYwLCAweDc0LCAweDExLCAweGFjLCAweGY5LCAweDgwLCAweDEzLCAweDI1LAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4NTMsIDB4ZjksIDB4ODAsIDB4MTcsIDB4ODIsCi0JMHhmMCwgMHg3NCwgMHgwNiwgMHgyZiwgMHhmOSwgMHg4MCwgMHgxNCwgMHhiMiwKLQkweGY5LCAweDgwLCAweDE5LCAweDEwLCAweGYwLCAweDc0LCAweDBkLCAweGUzLAotCTB4ZjAsIDB4NzQsIDB4MDcsIDB4ZTgsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4MzYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg2MCwgMHhmOCwKLQkweDI3LCAweDdiLCAweGZmLCAweGZmLCAweGY4LCAweDMwLCAweDA4LCAweDM5LAotCTB4NzEsIDB4ZjgsIDB4MjcsIDB4N2IsIDB4MjcsIDB4NzksIDB4NjAsIDB4ZjgsCi0JMHgyNywgMHg3OSwgMHhmZiwgMHhmZiwgMHhmOCwgMHgzMCwgMHgwOCwgMHhiMiwKLQkweDEwLCAweGY4LCAweDI5LCAweDg2LCAweDA4LCAweGY4LCAweDI3LCAweDc5LAotCTB4ZjAsIDB4MzAsIDB4N2YsIDB4ZmYsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMCwgMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwgMHhmOCwgMHgzMCwKLQkweDA4LCAweDU4LCAweDEwLCAweGY4LCAweDI3LCAweDc5LCAweDA4LCAweGY4LAotCTB4MjcsIDB4N2EsIDB4ZjAsIDB4MzAsIDB4N2YsIDB4ZmYsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwKLQkweGY4LCAweDIwLCAweDA4LCAweDYzLCAweDc2LCAweGY4LCAweDI3LCAweDc5LAotCTB4ZmYsIDB4ZmYsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4N2IsIDB4ZmYsIDB4ZmYsCi0JMHhmNywgMHhiOCwgMHhmMiwgMHg3MywgMHgwOCwgMHhkOSwgMHhmMCwgMHgyMCwKLQkweGZmLCAweGZmLCAweGY2LCAweGI4LCAweDU2LCAweGY4LCAweDI3LCAweDc0LAotCTB4ZjAsIDB4ZjksIDB4ODgsIDB4MTEsIDB4NTYsIDB4ZjgsIDB4MjcsIDB4NzIsCi0JMHhmMCwgMHhmOSwgMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweGU3LCAweDIwLCAweGY0LCAweGE5LCAweGY4LCAweDMwLCAweDA4LCAweDhmLAotCTB4ZjEsIDB4MjAsIDB4MjcsIDB4N2MsIDB4NDgsIDB4MTEsIDB4ZjYsIDB4MDAsCi0JMHg4OCwgMHgxMywgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MywKLQkweDA4LCAweGY4LCAweDI3LCAweDc5LCAweGYwLCAweDMwLCAweDdmLCAweGZmLAotCTB4ODgsIDB4MTMsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4NDAsIDB4MDAsCi0JMHhmNSwgMHhhYiwgMHhmOCwgMHgzMCwgMHgwOCwgMHg4ZiwgMHg2ZCwgMHg5MSwKLQkweDQ4LCAweDExLCAweGYwLCAweDMwLCAweDAxLCAweGZmLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZTcsIDB4MjAsIDB4ZjcsIDB4YTksIDB4ZjgsIDB4MzAsCi0JMHgwOCwgMHg3NCwgMHg2ZCwgMHg4OSwgMHg0OCwgMHgxMSwgMHhmMCwgMHgzMCwKLQkweDAxLCAweGZmLCAweGYwLCAweGU3LCAweGY0LCAweDk1LCAweDQ4LCAweDA4LAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NzQsIDB4NDgsIDB4MDgsIDB4ZjEsIDB4ZjksCi0JMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwKLQkweDI3LCAweDdjLCAweDI3LCAweDdhLCAweDYwLCAweGY4LCAweDI3LCAweDdiLAotCTB4ZmYsIDB4ZmYsIDB4ZjgsIDB4MzAsIDB4MDgsIDB4YWIsIDB4NDgsIDB4MDgsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg3MiwgMHg3NiwgMHhmOCwgMHgyNywgMHg3YiwKLQkweGZmLCAweGZmLCAweDc2LCAweGY4LCAweDI3LCAweDc5LCAweGZmLCAweGZmLAotCTB4ZjIsIDB4NzMsIDB4MDgsIDB4ZDksIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHg0NCwgMHhmOCwgMHgyNywgMHg3MywgMHg0MCwgMHhmOCwgMHgyNywgMHg3NSwKLQkweDgyLCAweGY4LCAweDAwLCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4ODAsIDB4MDAsIDB4ZjYsIDB4YTksIDB4ZjgsIDB4MjAsIDB4MDgsIDB4ZDgsCi0JMHhmNiwgMHhiOCwgMHgxMCwgMHhmOCwgMHgyNywgMHg3MywgMHhmMCwgMHgwMCwKLQkweDgwLCAweDAwLCAweDQ4LCAweDA4LCAweDRlLCAweGY4LCAweDI3LCAweDc0LAotCTB4NDgsIDB4MDgsIDB4ZjAsIDB4ZjksIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwgMHgyNywgMHg3YywgMHgyNywgMHg3YSwKLQkweGY3LCAweGI4LCAweDU3LCAweGY4LCAweDI3LCAweDc0LCAweGYwLCAweDYyLAotCTB4ZmYsIDB4ZmYsIDB4ZjAsIDB4NDAsIDB4ZmYsIDB4ODAsIDB4ZjIsIDB4ODAsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg3NCwgMHhlOCwgMHgwMCwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweDRhLCAweDE2LCAweGVlLCAweGZiLAotCTB4MTEsIDB4ZjgsIDB4MjcsIDB4NzEsIDB4MDksIDB4ZjgsIDB4MjcsIDB4NzMsCi0JMHg4OSwgMHgxMSwgMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweGY2LCAweGE5LCAweGY4LCAweDIwLCAweDA4LCAweGVkLCAweGYyLCAweDczLAotCTB4MDksIDB4MGUsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsIDB4ZjYsIDB4MjAsCi0JMHg3NiwgMHgwMCwgMHgwMCwgMHg0MSwgMHhmMCwgMHg3NCwgMHgxMiwgMHhlZSwKLQkweDg4LCAweDE2LCAweGY0LCAweDk1LCAweGY3LCAweGI4LCAweDZkLCAweDk2LAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MTYsIDB4ZjgsIDB4NDcsIDB4MDksIDB4MGEsCi0JMHhlNywgMHg2MSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwKLQkweDAwLCAweDgwLCAweDc2LCAweDAyLCAweDAwLCAweGZmLCAweDc2LCAweDAzLAotCTB4MDAsIDB4MDAsIDB4ZjIsIDB4NzQsIDB4MGMsIDB4YjksIDB4ZjQsIDB4OTUsCi0JMHhlOCwgMHgwMCwgMHg2YywgMHhlOSwgMHhmZiwgMHhmZiwgMHgwOCwgMHhmYiwKLQkweDczLCAweDE2LCAweDAwLCAweDBlLCAweGYwLCAweDY2LCAweDAwLCAweDQxLAotCTB4ZWUsIDB4MDUsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwMiwgMHgwMCwgMHgxMywKLQkweGY2LCAweGI4LCAweDc3LCAweDExLCAweDdmLCAweGZmLCAweDU3LCAweGY4LAotCTB4MjcsIDB4NzIsIDB4NDgsIDB4MTEsIDB4ZjIsIDB4ODAsIDB4ZjAsIDB4MDAsCi0JMHg4MCwgMHgwMCwgMHg4OCwgMHgxMSwgMHhmNiwgMHg0MCwgMHhmMCwgMHhlMCwKLQkweGYxLCAweGYxLCAweGU4LCAweDAxLCAweGYyLCAweDgwLCAweDgwLCAweGY4LAotCTB4MjcsIDB4NzgsIDB4NzcsIDB4MTIsIDB4ODAsIDB4MDAsIDB4NTcsIDB4ZjgsCi0JMHgyNywgMHg3MiwgMHg0OCwgMHgxMiwgMHhmMiwgMHg4MCwgMHg4OCwgMHgxMiwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgyLCAweDA5LCAweDM4LAotCTB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsCi0JMHhmMCwgMHg3MywgMHgwOSwgMHgzZCwgMHhmMCwgMHgyMCwgMHg4MCwgMHgwMSwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLCAweDcwLCAweDgxLAotCTB4MDAsIDB4MTMsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHhmMCwgMHgzMCwgMHg3ZiwgMHhmZiwgMHgxMSwgMHhmOCwgMHgyOSwgMHg4NiwKLQkweGY1LCAweDIwLCAweGYzLCAweDMwLCAweDdmLCAweGZmLCAweDg5LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4NDAsIDB4MDAsIDB4ZjYsIDB4YTksCi0JMHhmOCwgMHgyMCwgMHgwOSwgMHg1NCwgMHhmMiwgMHg3MywgMHgwOSwgMHg2NywKLQkweGY0LCAweDk1LCAweGU4LCAweDAyLCAweDZmLCAweGY4LCAweDI3LCAweDdhLAotCTB4MGQsIDB4MjAsIDB4ZjMsIDB4MzAsIDB4N2YsIDB4ZmYsIDB4ODksIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwKLQkweGY4LCAweDIwLCAweDA5LCAweDY0LCAweGYyLCAweDczLCAweDA5LCAweDY3LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDEsIDB4ODAsIDB4ZjgsIDB4MjcsIDB4N2IsCi0JMHhlOCwgMHgwMCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDExLCAweGY4LCAweDI5LCAweDg2LCAweGY1LCAweDIwLCAweGYzLCAweDMwLAotCTB4N2YsIDB4ZmYsIDB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwgMHhmOCwgMHgyMCwgMHgwOSwgMHg3YSwKLQkweGYyLCAweDczLCAweDA5LCAweDhkLCAweGY0LCAweDk1LCAweGU4LCAweDAyLAotCTB4NmYsIDB4ZjgsIDB4MjcsIDB4N2EsIDB4MGQsIDB4MjAsIDB4ZjMsIDB4MzAsCi0JMHg3ZiwgMHhmZiwgMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweDQwLCAweDAwLCAweGY2LCAweGE5LCAweGY4LCAweDIwLCAweDA5LCAweDhhLAotCTB4ZjIsIDB4NzMsIDB4MDksIDB4OGQsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDEsCi0JMHg4MCwgMHhmOCwgMHgyNywgMHg3OSwgMHhlOCwgMHgwMCwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweDAyLAotCTB4MDAsIDB4MTIsIDB4ODgsIDB4MTEsIDB4ZjYsIDB4YjgsIDB4NTcsIDB4ZjgsCi0JMHgyNywgMHg3MiwgMHhmMCwgMHgyMCwgMHg3ZiwgMHhmZiwgMHhmMiwgMHg4MCwKLQkweGYwLCAweDAwLCAweDgwLCAweDAwLCAweDgwLCAweDgxLCAweDU3LCAweGY4LAotCTB4MjcsIDB4NzIsIDB4ZTgsIDB4MDEsIDB4ZjMsIDB4ZjEsIDB4ZjIsIDB4ODAsCi0JMHg4MCwgMHhmOCwgMHgyNywgMHg3OCwgMHg3NywgMHgxMSwgMHg4MCwgMHgwMCwKLQkweDQ4LCAweDExLCAweDU3LCAweGY4LCAweDI3LCAweDcyLCAweGYyLCAweDgwLAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODEsCi0JMHgwOSwgMHhiNSwgMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweDAwLCAweDAxLCAweGYwLCAweDczLCAweDA5LCAweGJhLCAweGYwLCAweDIwLAotCTB4ODAsIDB4MDEsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsCi0JMHg0NSwgMHhmOCwgMHgyNywgMHg3MSwgMHg0MywgMHhmOCwgMHgyNywgMHg3MywKLQkweDgzLCAweGY4LCAweDAwLCAweDExLCAweGY0LCAweDk1LCAweGU3LCAweDIwLAotCTB4ZjYsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MDksIDB4YzksIDB4ZjIsIDB4NzMsCi0JMHgwOSwgMHhlNCwgMHg3NywgMHgxMiwgMHgwMCwgMHgwMCwgMHg1NywgMHhmOCwKLQkweDI3LCAweDcyLCAweGYwLCAweDIwLCAweDdmLCAweGZmLCAweGYyLCAweDgwLAotCTB4NDksIDB4MTIsIDB4ZjUsIDB4MDAsIDB4ZjMsIDB4MDAsIDB4ODAsIDB4MDAsCi0JMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwgMHg4MCwgMHgwMCwgMHhmOCwgMHgzMCwKLQkweDA5LCAweGRjLCAweGYxLCAweDIwLCAweDgwLCAweDAwLCAweGY1LCAweDIwLAotCTB4ODksIDB4MTIsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTIsIDB4NmYsIDB4ZjgsCi0JMHgyNywgMHg3MywgMHgwZCwgMHgwMCwgMHhmNCwgMHg5NSwgMHg0OSwgMHgwYiwKLQkweDRmLCAweGY4LCAweDI3LCAweDcyLCAweDhhLCAweDExLCAweGZlLCAweDAwLAotCTB4NDgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsCi0JMHg0YSwgMHgxNywgMHhlZSwgMHhmYywgMHhmNCwgMHg5NSwgMHg3MSwgMHgwOCwKLQkweDAwLCAweDE2LCAweDg4LCAweDE3LCAweGYwLCAweDc0LCAweDA4LCAweDMwLAotCTB4NDgsIDB4MTgsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTYsIDB4ZjIsIDB4NzQsCi0JMHgwOSwgMHg4ZiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgxLCAweDBhLCAweDBhLAotCTB4ZjIsIDB4NzQsIDB4MDgsIDB4ZGIsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTYsCi0JMHg0OCwgMHgxOCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNiwgMHhmMiwgMHg3NCwKLQkweDA5LCAweDhmLCAweGYwLCAweDAwLCAweDAwLCAweDAyLCAweDg4LCAweDExLAotCTB4MTAsIDB4MDIsIDB4NzAsIDB4MDEsIDB4MDAsIDB4MTEsIDB4ODAsIDB4MDAsCi0JMHhmMiwgMHg3NCwgMHgwNiwgMHhjZSwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNywKLQkweDQ5LCAweDExLCAweDQ4LCAweDE3LCAweGY2LCAweDAwLCAweDg4LCAweDE3LAotCTB4ZTcsIDB4NjAsIDB4ZjUsIDB4YTksIDB4ZjgsIDB4MjAsIDB4MGEsIDB4MmQsCi0JMHg0OCwgMHgxNiwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxMSwgMHg0OCwgMHgxOCwKLQkweDcwLCAweDAwLCAweDAwLCAweDExLCAweGYyLCAweDc0LCAweDA5LCAweDhmLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4ODgsIDB4MTEsIDB4NzAsIDB4MDEsCi0JMHgwMCwgMHgxMSwgMHgxMCwgMHgwMiwgMHg4MCwgMHgwMCwgMHhmMiwgMHg3NCwKLQkweDA2LCAweGNlLCAweGY0LCAweDk1LCAweDQ4LCAweDE3LCAweGVlLCAweDA0LAotCTB4NDgsIDB4MTYsIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHhlZSwgMHhmZCwgMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwKLQkweDI3LCAweDcwLCAweGU4LCAweDAwLCAweDRlLCAweGY4LCAweDI3LCAweDcyLAotCTB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsIDB4MjcsIDB4NzQsIDB4ZTgsIDB4MDAsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg3NiwgMHg3NiwgMHhmOCwgMHgyNywgMHg3OSwKLQkweGZmLCAweGZmLCAweDc2LCAweGY4LCAweDI3LCAweDdhLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZjgsIDB4MjcsIDB4N2IsIDB4ZmYsIDB4ZmYsIDB4NzYsIDB4ZjgsCi0JMHgyNywgMHg3OCwgMHgwMCwgMHgwMCwgMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwKLQkweDAwLCAweDA4LCAweDAwLCAweDAxLCAweDc2LCAweDAwLCAweDAwLCAweDAwLAotCTB4NzYsIDB4MDEsIDB4MDIsIDB4MDAsIDB4ZjIsIDB4NzQsIDB4MTIsIDB4ZGMsCi0JMHhmMCwgMHgyMCwgMHgyNywgMHg3YywgMHhlZSwgMHgwMywgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweGVlLCAweGZjLCAweGY0LCAweDk1LCAweDRlLCAweDAwLAotCTB4NzcsIDB4MTIsIDB4N2YsIDB4ZmYsIDB4ZjYsIDB4YjgsIDB4NDksIDB4MTIsCi0JMHhmMSwgMHg4MCwgMHhmMywgMHgwMCwgMHg4MCwgMHgwMCwgMHg4OSwgMHgxMiwKLQkweGYwLCAweGUwLCAweGYxLCAweGYxLCAweDRmLCAweDAyLCAweGU5LCAweDAxLAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MGIsIDB4ZjUsIDB4NDAsIDB4NTYsIDB4MDIsCi0JMHhmMSwgMHg4MCwgMHg4MSwgMHhmOCwgMHgyNywgMHg3OCwgMHg3NywgMHgxMSwKLQkweDgwLCAweDAwLCAweDU2LCAweDAwLCAweDQ5LCAweDExLCAweGYxLCAweDgwLAotCTB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODEsCi0JMHgwYSwgMHg4MSwgMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweDAwLCAweDAxLCAweGYwLCAweDczLCAweDBhLCAweDg2LCAweGYwLCAweDIwLAotCTB4ODAsIDB4MDEsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsCi0JMHgxMCwgMHg4MiwgMHhlZSwgMHgwNCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweGVlLCAweGZlLCAweGY0LCAweDk1LCAweDRlLCAweDAwLAotCTB4NzcsIDB4MTEsIDB4N2YsIDB4ZmYsIDB4ZjYsIDB4YjgsIDB4NDksIDB4MTEsCi0JMHhmMSwgMHg4MCwgMHhmMywgMHgwMCwgMHg4MCwgMHgwMCwgMHg4OSwgMHgxMSwKLQkweGYwLCAweGUwLCAweGYxLCAweGYxLCAweGU4LCAweDAxLCAweGYyLCAweDgwLAotCTB4ODAsIDB4ZjgsIDB4MjcsIDB4NzgsIDB4NTYsIDB4MDAsIDB4ZjEsIDB4MjAsCi0JMHg4MCwgMHgwMCwgMHhmMSwgMHg4MCwgMHhmNCwgMHg5NSwgMHg0OSwgMHgwYiwKLQkweGY4LCAweDRkLCAweDBhLCAweGFiLCAweGYwLCAweDIwLCAweDgwLCAweDAxLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsCi0JMHgwYSwgMHhhZiwgMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweDAwLCAweDAxLCAweGVlLCAweDAyLCAweDQ4LCAweDExLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTIsIDB4MTMsIDB4MDIsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgwMCwgMHhmOCwgMHg0ZCwgMHgwYSwgMHhjYiwKLQkweGYzLCAweDEwLCAweDAwLCAweDAxLCAweDg5LCAweDFhLCAweGY0LCAweDk1LAotCTB4ZjAsIDB4NzIsIDB4MGEsIDB4Y2EsIDB4NDgsIDB4MTEsIDB4MWMsIDB4ZjgsCi0JMHgyOSwgMHg3ZSwgMHg4OCwgMHgxMSwgMHgxMSwgMHhmOCwgMHgyOSwgMHg3ZSwKLQkweGYyLCAweDAwLCAweDAwLCAweDAxLCAweDgwLCAweGY4LCAweDI5LCAweDdlLAotCTB4ODEsIDB4OTIsIDB4NDgsIDB4MTEsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwMiwgMHgwMCwgMHgxMSwKLQkweDg4LCAweDEyLCAweGY2LCAweGI4LCAweGYwLCAweDIwLCAweDdmLCAweGZmLAotCTB4NTcsIDB4ZjgsIDB4MjcsIDB4NzAsIDB4ZjIsIDB4ODAsIDB4ZjAsIDB4MDAsCi0JMHg4MCwgMHgwMCwgMHg4MCwgMHg4MiwgMHg1NywgMHhmOCwgMHgyNywgMHg3MCwKLQkweGU4LCAweDAxLCAweGYzLCAweGYxLCAweGYyLCAweDgwLCAweDgwLCAweGY4LAotCTB4MjcsIDB4NzgsIDB4NzcsIDB4MTIsIDB4ODAsIDB4MDAsIDB4NDgsIDB4MTIsCi0JMHg1NywgMHhmOCwgMHgyNywgMHg3MCwgMHhmMiwgMHg4MCwgMHg4OCwgMHgxMiwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgyLCAweDBhLCAweGY0LAotCTB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsCi0JMHhmMCwgMHg3MywgMHgwYSwgMHhmOSwgMHhmMCwgMHgyMCwgMHg4MCwgMHgwMSwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLCAweDQ1LCAweGY4LAotCTB4MjcsIDB4NzUsIDB4ZTcsIDB4MTAsIDB4NDMsIDB4ZjgsIDB4MjcsIDB4NzEsCi0JMHg4MywgMHhmOCwgMHgwMCwgMHgxMiwgMHg2ZCwgMHhlOCwgMHgwMCwgMHgwNCwKLQkweDZkLCAweDhhLCAweGY2LCAweGFhLCAweGY4LCAweDMwLCAweDBiLCAweDBhLAotCTB4ZjIsIDB4NzMsIDB4MGIsIDB4MjUsIDB4NzcsIDB4MTEsIDB4MDAsIDB4MDAsCi0JMHg1NywgMHhmOCwgMHgyNywgMHg3MCwgMHhmMCwgMHgyMCwgMHg3ZiwgMHhmZiwKLQkweGYyLCAweDgwLCAweDQ5LCAweDExLCAweGY1LCAweDAwLCAweGYzLCAweDAwLAotCTB4ODAsIDB4MDAsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MGIsIDB4ODAsIDB4MDAsCi0JMHhmOCwgMHgzMCwgMHgwYiwgMHgxZCwgMHhmMSwgMHgyMCwgMHg4MCwgMHgwMCwKLQkweGY1LCAweDIwLCAweDg5LCAweDExLCAweGY0LCAweDk1LCAweDQ4LCAweDExLAotCTB4NmYsIDB4ZjgsIDB4MjcsIDB4NzEsIDB4MGQsIDB4MDAsIDB4ZjQsIDB4OTUsCi0JMHg0OSwgMHgwYiwgMHg0ZiwgMHhmOCwgMHgyNywgMHg3MCwgMHg0OCwgMHgxMSwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZjAsIDB4ODgsIDB4MTcsIDB4MTAsIDB4MTcsCi0JMHg4MCwgMHgwNSwgMHgxMCwgMHgxNiwgMHg4MCwgMHgwNiwgMHgxMCwgMHgxNSwKLQkweDgwLCAweDA3LCAweDcxLCAweDE0LCAweDAwLCAweDExLCAweDEwLCAweDA1LAotCTB4ZjAsIDB4MzAsIDB4MDAsIDB4MDEsIDB4ODgsIDB4MTAsIDB4MTAsIDB4MDYsCi0JMHhmMCwgMHgzMCwgMHgwMCwgMHgwMSwgMHg4MCwgMHgwOCwgMHg0OSwgMHgxMSwKLQkweDEwLCAweDA1LCAweGY2LCAweDAxLCAweDgwLCAweDA5LCAweDEwLCAweDA2LAotCTB4NjEsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4MjAsCi0JMHgwYiwgMHg0YiwgMHgxMCwgMHgwOSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDgwLCAweDA5LCAweDcxLCAweDA4LCAweDAwLCAweDEyLCAweGY0LCAweGFhLAotCTB4ZjgsIDB4MzAsIDB4MGIsIDB4NTQsIDB4MTAsIDB4MDksIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHg4MCwgMHgwOSwgMHgxMiwgMHgwOSwgMHg0OSwgMHgxMSwKLQkweGY0LCAweDdmLCAweDgwLCAweDA5LCAweGY2LCAweDIwLCAweDgwLCAweDBhLAotCTB4NTYsIDB4ZjgsIDB4MjcsIDB4NzAsIDB4NGUsIDB4MGMsIDB4MTAsIDB4MDksCi0JMHg4MCwgMHgwMCwgMHg0OCwgMHgxOCwgMHhmMiwgMHg3NCwgMHgwYSwgMHhjZSwKLQkweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDE2LCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NmMsIDB4ODYsIDB4MGIsIDB4NmQsIDB4ZjIsIDB4NzMsCi0JMHgwYywgMHg1OSwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHhmNiwgMHhiOCwKLQkweGY0LCAweDk1LCAweDU2LCAweDBjLCAweGYwLCAweGY5LCAweDg4LCAweDEyLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NzAsIDB4ZTIsIDB4MjcsIDB4N2MsCi0JMHgyOSwgMHg4NiwgMHhlOCwgMHgwMCwgMHg4MCwgMHgwZSwgMHg0OCwgMHgxMSwKLQkweGY4LCAweDQ1LCAweDBiLCAweGNjLCAweDc3LCAweDEwLCAweDAwLCAweDAxLAotCTB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MGIsIDB4ODksIDB4NmMsIDB4ZTEsCi0JMHhmZiwgMHhmZCwgMHgwYiwgMHg4YiwgMHgxMCwgMHhlNywgMHgwMCwgMHgwMiwKLQkweDgwLCAweDBlLCAweGYwLCAweDczLCAweDBiLCAweDhiLCAweDEwLCAweDg3LAotCTB4ODAsIDB4MGUsIDB4ZTcsIDB4MTAsIDB4ZjUsIDB4YWUsIDB4ZjgsIDB4MjAsCi0JMHgwYiwgMHhiMiwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNywgMHg3MCwgMHgwMSwKLQkweDAwLCAweDE2LCAweDEwLCAweDA0LCAweGYwLCAweDc0LCAweDA2LCAweGNlLAotCTB4NDgsIDB4MTcsIDB4NDksIDB4MTYsIDB4ZjYsIDB4MDAsIDB4ODgsIDB4MTcsCi0JMHg0OCwgMHgxMSwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxMSwgMHgxMCwgMHgwOSwKLQkweGY2LCAweDIwLCAweDgwLCAweDAwLCAweDQ4LCAweDE4LCAweGYyLCAweDc0LAotCTB4MGEsIDB4Y2UsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTYsCi0JMHgxMCwgMHgwNCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNywgMHg3MCwgMHgwMSwKLQkweDAwLCAweDExLCAweGYwLCAweDc0LCAweDA2LCAweGNlLCAweDQ4LCAweDExLAotCTB4MDAsIDB4MDQsIDB4ODAsIDB4MDQsIDB4ZjAsIDB4NzMsIDB4MGIsIDB4YmMsCi0JMHg3MCwgMHgwMCwgMHgwMCwgMHgxNywgMHg3MCwgMHgwMSwgMHgwMCwgMHgxMSwKLQkweDEwLCAweDA0LCAweGYwLCAweDc0LCAweDA2LCAweGNlLCAweDQ4LCAweDExLAotCTB4MDAsIDB4MDQsIDB4ODAsIDB4MDQsIDB4NDksIDB4MTEsIDB4NDgsIDB4MTYsCi0JMHhmNiwgMHgyMCwgMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweDZjLCAweDg2LCAweDBiLCAweGNjLCAweDEwLCAweDBhLCAweDgwLCAweDAwLAotCTB4NDgsIDB4MTgsIDB4ZjIsIDB4NzQsIDB4MGEsIDB4Y2UsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNCwgMHg4OCwgMHgxNiwgMHgxMiwgMHgwYSwgMHhmOCwgMHg0NSwKLQkweDBjLCAweDMzLCAweDcxLCAweDBhLCAweDAwLCAweDEwLCAweGY0LCAweGFlLAotCTB4ZjgsIDB4MzAsIDB4MGMsIDB4MWMsIDB4NDgsIDB4MTYsIDB4ZjAsIDB4ZTEsCi0JMHg4OCwgMHgxMSwgMHgxMiwgMHgwOCwgMHhmOCwgMHg0NSwgMHgwYiwgMHhkYiwKLQkweDZkLCAweDg5LCAweDEyLCAweDA3LCAweGY4LCAweDQ1LCAweDBiLCAweGU5LAotCTB4MTAsIDB4MDcsIDB4ODAsIDB4MDAsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTEsCi0JMHgxMCwgMHgwNiwgMHg4MCwgMHgwMSwgMHgxMCwgMHgwNCwgMHhmMCwgMHg3NCwKLQkweDA2LCAweGRjLCAweGYwLCAweDczLCAweDBiLCAweGVmLCAweDQ4LCAweDExLAotCTB4NmYsIDB4MDAsIDB4MGMsIDB4OWYsIDB4MTAsIDB4MDQsIDB4ZjAsIDB4NzQsCi0JMHgwYSwgMHhiMywgMHgxMSwgMHgwZSwgMHhmMSwgMHhjMCwgMHg4MSwgMHgwZSwKLQkweDEwLCAweDA2LCAweDQ5LCAweDExLCAweGY2LCAweDAwLCAweDgwLCAweDA2LAotCTB4MTAsIDB4MDUsIDB4ZjYsIDB4MjAsIDB4ODgsIDB4MTEsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHg0OCwgMHgwOCwgMHg2ZiwgMHgwMCwgMHgwYywgMHg5ZiwKLQkweDQ4LCAweDE4LCAweGYyLCAweDc0LCAweDBhLCAweGNlLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDQsIDB4MTIsIDB4MDcsIDB4ZjgsIDB4NDUsIDB4MGMsIDB4MTEsCi0JMHgxMCwgMHgwNywgMHg4MCwgMHgwMCwgMHg3MCwgMHgwMiwgMHgwMCwgMHgxMSwKLQkweDEwLCAweDA2LCAweDgwLCAweDAxLCAweDEwLCAweDA0LCAweGYwLCAweDc0LAotCTB4MDYsIDB4ZGMsIDB4ZjAsIDB4NzMsIDB4MGMsIDB4MTcsIDB4NDgsIDB4MTEsCi0JMHg2ZiwgMHgwMCwgMHgwYywgMHg5ZiwgMHgxMCwgMHgwNCwgMHhmMCwgMHg3NCwKLQkweDBhLCAweGIzLCAweDExLCAweDBlLCAweGYxLCAweGMwLCAweDgxLCAweDBlLAotCTB4ZjAsIDB4NzMsIDB4MGMsIDB4MzMsIDB4MTIsIDB4MDcsIDB4ZjgsIDB4NDUsCi0JMHgwYywgMHgyYSwgMHgxMCwgMHgwNywgMHg4MCwgMHgwMCwgMHgxMCwgMHgwNiwKLQkweDgwLCAweDAxLCAweDEwLCAweDA1LCAweDgwLCAweDAyLCAweDEwLCAweDA0LAotCTB4ZjAsIDB4NzQsIDB4MDYsIDB4ZGMsIDB4ZjAsIDB4NzMsIDB4MGMsIDB4MzAsCi0JMHgxMiwgMHgwNSwgMHg2ZiwgMHgwMCwgMHgwYywgMHg5ZiwgMHgxMCwgMHgwNCwKLQkweGYwLCAweDc0LCAweDBhLCAweGIzLCAweDExLCAweDBlLCAweGYxLCAweGMwLAotCTB4ODEsIDB4MGUsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDEsIDB4NDgsIDB4MTgsCi0JMHhmMiwgMHg3NCwgMHgwYSwgMHhjZSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwKLQkweDcxLCAweDA0LCAweDAwLCAweDExLCAweDcwLCAweDgxLCAweDI5LCAweDg2LAotCTB4MTAsIDB4MGUsIDB4MWMsIDB4ZjgsIDB4MjksIDB4ODYsIDB4ODAsIDB4MGUsCi0JMHg3NiwgMHgwMCwgMHgwMCwgMHgwMSwgMHg0OCwgMHgxOCwgMHhmMiwgMHg3NCwKLQkweDBhLCAweGNlLCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDEwLCAweDBlLAotCTB4NzEsIDB4MDQsIDB4MDAsIDB4MTEsIDB4ODAsIDB4ODEsIDB4MTAsIDB4ZjgsCi0JMHgyOSwgMHg4NiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHhmMCwgMHgzMCwKLQkweDdmLCAweGZmLCAweDgwLCAweGY4LCAweDI5LCAweDg2LCAweDEwLCAweDA5LAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MDksIDB4ZWUsIDB4MTAsCi0JMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDEwLCAweGY4LCAweDI3LCAweDc1LCAweDA4LCAweGY4LCAweDI3LCAweDcxLAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MDEsIDB4NDgsIDB4MDgsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHhlZSwgMHhmZiwgMHhmNCwgMHg5NSwKLQkweDcxLCAweDA0LCAweDAwLCAweDE2LCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NDgsIDB4MDgsIDB4NGUsIDB4ZjgsIDB4MjksIDB4N2MsIDB4NmQsIDB4ZWUsCi0JMHhmZiwgMHhmZCwgMHg0OCwgMHgxNiwgMHhmOCwgMHg0NSwgMHgwYywgMHg5OSwKLQkweDU2LCAweGY4LCAweDI5LCAweDdjLCAweGYwLCAweDc0LCAweDBhLCAweDVhLAotCTB4ODgsIDB4MTEsIDB4MTAsIDB4ZjgsIDB4MjksIDB4N2QsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHg0OCwgMHgwOCwgMHg0ZSwgMHhmOCwgMHgyOSwgMHg3YywKLQkweDEwLCAweGY4LCAweDI5LCAweDgyLCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4YTksCi0JMHhmYSwgMHgzMCwgMHgwYywgMHg5NiwgMHg4MCwgMHhmOCwgMHgyOSwgMHg4MiwKLQkweDU2LCAweGY4LCAweDI5LCAweDgwLCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NGUsIDB4ZjgsIDB4MjksIDB4ODAsIDB4NzMsIDB4MTEsIDB4MjksIDB4ODIsCi0JMHg2YywgMHhlZSwgMHhmZiwgMHhmZiwgMHgwYywgMHg3NiwgMHhlZSwgMHgwMSwKLQkweDhhLCAweDE2LCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4NzYsIDB4ZjgsIDB4MjksIDB4ODQsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsCi0JMHgyOSwgMHg4NSwgMHgwMCwgMHgwMSwgMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwKLQkweDJhLCAweDBjLCAweDc2LCAweGY4LCAweDI5LCAweDg2LCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZjgsIDB4MjksIDB4ODcsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsCi0JMHgyOSwgMHg4OCwgMHg3NiwgMHg4MSwgMHhhYSwgMHhhYSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAxLCAweGFhLCAweGFhLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MDAsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHhlZSwgMHhmYywgMHhmNCwgMHg5NSwgMHg3MSwgMHgwNiwgMHgwMCwgMHgxNCwKLQkweDcxLCAweDA3LCAweDAwLCAweDEzLCAweDcxLCAweDA4LCAweDAwLCAweDEyLAotCTB4NzEsIDB4MDksIDB4MDAsIDB4MTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4ZmYsCi0JMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwgMHgwZCwgMHg0NCwgMHg0OSwgMHgxMywKLQkweDUzLCAweGY4LCAweDJhLCAweDBjLCAweDRmLCAweGY4LCAweDJhLCAweDBjLAotCTB4NzMsIDB4MTIsIDB4MDAsIDB4MGUsIDB4ZjEsIDB4NjYsIDB4MDAsIDB4MGQsCi0JMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwMSwKLQkweDcxLCAweGUxLCAweDI0LCAweDAwLCAweDAwLCAweDExLCAweGY0LCAweGE5LAotCTB4ZjgsIDB4MzAsIDB4MGQsIDB4MTcsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDIsCi0JMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwYywgMHhlYywgMHg3NywgMHgxMSwKLQkweDI5LCAweDhhLCAweDc2LCAweDgxLCAweDAwLCAweDAwLCAweGU4LCAweDAwLAotCTB4NzcsIDB4MTQsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTMsIDB4MDAsIDB4MDAsCi0JMHhmMCwgMHg3MywgMHgwZCwgMHg0OCwgMHg2YywgMHg4MywgMHgwYywgMHhmYSwKLQkweDc3LCAweDExLCAweDI5LCAweDhhLCAweDQ4LCAweDEyLCAweGYwLCAweGU4LAotCTB4ZjAsIDB4NDAsIDB4ODAsIDB4MDAsIDB4ODAsIDB4ODEsIDB4ZTgsIDB4MDAsCi0JMHg3NywgMHgxNCwgMHgwMCwgMHgwMCwgMHhmMCwgMHg3MywgMHgwZCwgMHg0OCwKLQkweDQ5LCAweDEzLCAweGYzLCAweDQwLCAweDgwLCAweDAwLCAweDgxLCAweGY4LAotCTB4MjksIDB4OGEsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MTUsIDB4MDAsIDB4MDEsCi0JMHhmOCwgMHgyMCwgMHgwZCwgMHgwNywgMHg2OSwgMHhmOCwgMHgyOSwgMHg4YSwKLQkweDQwLCAweDAwLCAweDYxLCAweGY4LCAweDAwLCAweDE0LCAweDAwLCAweDAxLAotCTB4ZjgsIDB4MjAsIDB4MGQsIDB4MGYsIDB4NjksIDB4ZjgsIDB4MjksIDB4OGEsCi0JMHgyMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgyOSwgMHg4YSwgMHg0OSwgMHgxMiwKLQkweGYzLCAweGU4LCAweDFiLCAweDgxLCAweDgxLCAweDgxLCAweGYwLCAweDczLAotCTB4MGQsIDB4NDgsIDB4MTEsIDB4ZjgsIDB4MjksIDB4ODQsIDB4ZjgsIDB4NGMsCi0JMHgwZCwgMHgzNywgMHg3NywgMHgxMSwgMHgyOSwgMHg4OCwgMHg3NiwgMHg4MSwKLQkweGFhLCAweGFhLCAweDExLCAweGY4LCAweDI5LCAweDg1LCAweGYzLCAweDEwLAotCTB4MDAsIDB4MDEsIDB4ZjMsIDB4NDAsIDB4YWEsIDB4MDAsIDB4ODEsIDB4ZTEsCi0JMHgwMCwgMHgwMSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgwMSwKLQkweDcwLCAweDAyLCAweDAwLCAweDE0LCAweDcwLCAweDAzLCAweDAwLCAweDEzLAotCTB4ZjIsIDB4NzQsIDB4MGIsIDB4MjgsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHg3MSwgMHhmOCwgMHgyOSwgMHg4NSwgMHgyOSwgMHg4NCwgMHhmMCwgMHg3MywKLQkweDBkLCAweDczLCAweDc2LCAweDAwLCAweDAwLCAweDAwLCAweDgwLCAweDAxLAotCTB4NzYsIDB4MDIsIDB4MDAsIDB4MDAsIDB4NzAsIDB4MDMsIDB4MDAsIDB4MTMsCi0JMHhmMiwgMHg3NCwgMHgwYiwgMHgyOCwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweGYwLCAweDczLCAweDBkLCAweDczLCAweDc3LCAweDExLCAweDI5LCAweDhhLAotCTB4NzAsIDB4ODEsIDB4MDAsIDB4MTMsIDB4MTEsIDB4ZjgsIDB4MjksIDB4ODQsCi0JMHhmOCwgMHg0YywgMHgwZCwgMHg2OCwgMHg3NywgMHgxMSwgMHgyOSwgMHg4OCwKLQkweDc2LCAweDgxLCAweGFhLCAweGFhLCAweDExLCAweGY4LCAweDI5LCAweDg1LAotCTB4ZjMsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ZjMsIDB4NDAsIDB4YWEsIDB4MDAsCi0JMHg4MSwgMHhlMSwgMHgwMCwgMHgwMSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMywKLQkweDgwLCAweDAxLCAweDcwLCAweDAyLCAweDAwLCAweDE0LCAweDcwLCAweDAzLAotCTB4MDAsIDB4MTMsIDB4ZjIsIDB4NzQsIDB4MGIsIDB4MjgsIDB4ZjQsIDB4OTUsCi0JMHg0OCwgMHgxMSwgMHg3MSwgMHhmOCwgMHgyOSwgMHg4NSwgMHgyOSwgMHg4NCwKLQkweGYwLCAweDczLCAweDBkLCAweDczLCAweDc2LCAweDAwLCAweDAwLCAweDAxLAotCTB4ODAsIDB4MDEsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTQsIDB4NzAsIDB4MDMsCi0JMHgwMCwgMHgxMywgMHhmMiwgMHg3NCwgMHgwYiwgMHgyOCwgMHhmNCwgMHg5NSwKLQkweDQ4LCAweDExLCAweDZiLCAweGY4LCAweDI5LCAweDg0LCAweGZmLCAweGZmLAotCTB4ZWUsIDB4MDQsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHhmNSwgMHg0MCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgwYiwgMHhmNCwgMHg3OCwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweGUxLAotCTB4ZmYsIDB4YjksIDB4MGQsIDB4ODgsIDB4ZjIsIDB4NzMsIDB4MGQsIDB4YTUsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHg2MCwgMHhmMiwgMHgwMCwgMHgwMCwgMHgwNiwKLQkweDYxLCAweGY4LCAweDAwLCAweDExLCAweDAwLCAweDIwLCAweGY4LCAweDMwLAotCTB4MGQsIDB4OTgsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MDEsCi0JMHhmOCwgMHgyMCwgMHgwZCwgMHhhMywgMHhmMiwgMHgwMCwgMHgwMCwgMHgwNywKLQkweGYwLCAweDczLCAweDBkLCAweGEzLCAweDYxLCAweGY4LCAweDAwLCAweDBiLAotCTB4MDAsIDB4MDEsIDB4ZjgsIDB4MjAsIDB4MGQsIDB4YTEsIDB4ZjIsIDB4NzMsCi0JMHgwZCwgMHhhMywgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDAyLCAweDQ4LCAweDA4LCAweGY0LCAweDdmLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4ZWUsIDB4ZmYsIDB4ZjAsIDB4NzQsIDB4MDcsIDB4ZmQsCi0JMHhmMCwgMHg3NCwgMHgwNywgMHg0NCwgMHhmMCwgMHg3NCwgMHgwZCwgMHhiNCwKLQkweGYwLCAweDc0LCAweDAyLCAweDA1LCAweGYwLCAweDc0LCAweDA0LCAweDYwLAotCTB4ZjAsIDB4NzMsIDB4MGQsIDB4YWEsIDB4ZWUsIDB4ZmQsIDB4MTAsIDB4ZjgsCi0JMHgyYSwgMHhhMywgMHhmOCwgMHg0NCwgMHgwZCwgMHhjYiwgMHgxMCwgMHhmOCwKLQkweDJhLCAweGE0LCAweGY4LCAweDQ1LCAweDBkLCAweGQ3LCAweDc2LCAweDAwLAotCTB4MDIsIDB4MDAsIDB4ZjIsIDB4NzQsIDB4MDksIDB4ZTgsIDB4ZjAsIDB4MjAsCi0JMHgyMiwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhNCwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGY4LCAweDJhLCAweGE3LCAweDAwLCAweDAwLCAweGYwLCAweDczLAotCTB4MGQsIDB4ZDcsIDB4NzYsIDB4MDAsIDB4MDIsIDB4MDAsIDB4ZjIsIDB4NzQsCi0JMHgwOSwgMHhlOCwgMHhmMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHg3NiwgMHhmOCwKLQkweDJhLCAweGEzLCAweDAwLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGE3LAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4NzQsIDB4MGMsIDB4NWUsIDB4ZjAsIDB4ZTAsCi0JMHhmMCwgMHgxMCwgMHgzYSwgMHg5OCwgMHhmOCwgMHg0NywgMHgwZCwgMHhlMSwKLQkweDc2LCAweGY4LCAweDI3LCAweDZlLCAweDAwLCAweDAwLCAweGVlLCAweDAzLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsIDB4NzcsIDB4MTEsCi0JMHgyMCwgMHgwMCwgMHg3NiwgMHgwMCwgMHhhYSwgMHhhYSwgMHg3NiwgMHgwMSwKLQkweDAyLCAweDAwLCAweGYyLCAweDc0LCAweDA2LCAweDZjLCAweGY0LCAweDk1LAotCTB4NDgsIDB4MTEsIDB4NzYsIDB4MDAsIDB4NTUsIDB4NTUsIDB4NzYsIDB4MDEsCi0JMHgwMiwgMHgwMCwgMHg0OCwgMHgxMSwgMHhmMiwgMHg3NCwgMHgwNiwgMHg2YywKLQkweGYwLCAweDAwLCAweDAyLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGEzLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTQsIDB4MDAsIDB4MDAsCi0JMHhlOCwgMHgwMCwgMHg0ZSwgMHgwMCwgMHhmYiwgMHg4MCwgMHgxNSwgMHgzZSwKLQkweGY0LCAweDk1LCAweGU4LCAweDA0LCAweDgwLCAweGY4LCAweDJhLCAweGE1LAotCTB4NzYsIDB4MDAsIDB4MmEsIDB4YTgsIDB4ZjksIDB4ODAsIDB4MTQsIDB4ODcsCi0JMHg3NiwgMHgwMCwgMHgyYSwgMHhhZCwgMHhmYiwgMHg4MCwgMHgxMywgMHg2MiwKLQkweGY0LCAweDk1LCAweGU4LCAweDAyLCAweDEwLCAweGY4LCAweDJhLCAweGE1LAotCTB4ZjksIDB4ODAsIDB4MTQsIDB4NjMsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4NjYsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgxYywgMHhmYiwgMHg4MCwgMHgxNiwgMHg4NywKLQkweGY0LCAweDk1LCAweGU4LCAweDFjLCAweGU4LCAweDAxLCAweDRlLCAweDAwLAotCTB4ZmIsIDB4ODAsIDB4MTcsIDB4ZDYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHg4MCwgMHhmOCwgMHgyYSwgMHhhNiwgMHg3NiwgMHgwMCwgMHgyYSwgMHhiNywKLQkweGY5LCAweDgwLCAweDE2LCAweGFhLCAweDEwLCAweGY4LCAweDJhLCAweGE2LAotCTB4ZjksIDB4ODAsIDB4MTcsIDB4NWMsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4YTYsCi0JMHhmOSwgMHg4MCwgMHgxNywgMHg2ZiwgMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweGY0LCAweDk1LCAweDRhLCAweDA4LCAweDRhLCAweDA5LAotCTB4NGEsIDB4MGEsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWQsIDB4NjgsIDB4ZjgsCi0JMHgwMCwgMHgwNywgMHg3ZCwgMHgzZiwgMHg2OSwgMHhmOCwgMHgwMCwgMHgwNywKLQkweDQwLCAweDAwLCAweDY4LCAweGY4LCAweDAwLCAweDFkLCAweGZmLCAweGZjLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4YTcsIDB4ZjgsIDB4NDQsIDB4MGUsIDB4NGIsCi0JMHg3NiwgMHhmOCwgMHgyYSwgMHhhMywgMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywKLQkweDBlLCAweDRlLCAweDc2LCAweGY4LCAweDJhLCAweGE0LCAweDAwLCAweDAxLAotCTB4OGEsIDB4MWQsIDB4OGEsIDB4MDcsIDB4OGEsIDB4MGEsIDB4OGEsIDB4MDksCi0JMHg4YSwgMHgwOCwgMHhmNCwgMHhlYiwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwKLQkweDRhLCAweDE3LCAweGVlLCAweGZlLCAweDg4LCAweDBlLCAweDcxLCAweDA4LAotCTB4MDAsIDB4MTYsIDB4NzEsIDB4MDYsIDB4MDAsIDB4MTcsIDB4MTEsIDB4MDcsCi0JMHhmMCwgMHg2NiwgMHgwMCwgMHgwZCwgMHhmMCwgMHgwMCwgMHgyNSwgMHhhMCwKLQkweDg4LCAweDExLCAweDc2LCAweDAxLCAweDAwLCAweDA2LCAweDgxLCAweDAwLAotCTB4ZjIsIDB4NzQsIDB4MDYsIDB4Y2UsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg3NiwgMHgwMSwgMHgwMCwgMHgwNiwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNiwKLQkweDQ4LCAweDExLCAweGYyLCAweDc0LCAweDA2LCAweGNlLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDcsIDB4NzAsIDB4ODEsIDB4MDAsIDB4MTcsIDB4ZWUsIDB4MDIsCi0JMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweDg4LCAweDBlLCAweDcxLCAweDAyLCAweDAwLCAweDEyLAotCTB4MTEsIDB4MDMsIDB4ZjAsIDB4NjYsIDB4MDAsIDB4MGQsIDB4ZjAsIDB4MDAsCi0JMHgyNCwgMHgwMCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MCwgMHg4MSwKLQkweDAwLCAweDEyLCAweDZlLCAweGUyLCAweGZmLCAweGZlLCAweDBlLCAweDhkLAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsIDB4ZTgsIDB4MDEsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHhmZiwKLQkweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MGIsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHgwMCwgMHgwMCwgMHg4MSwgMHhlMSwgMHgwMCwgMHgwMSwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZjLCAweDg4LCAweDBlLAotCTB4ZjQsIDB4OTUsIDB4ZjEsIDB4NjYsIDB4MDAsIDB4MGQsIDB4ZjMsIDB4MDAsCi0JMHgyNCwgMHgwMCwgMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweDc2LCAweGUxLCAweDAwLCAweDBjLCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MGIsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgwMSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwKLQkweDAwLCAweDAwLCAweDgwLCAweDAyLCAweDc2LCAweDAzLCAweDAwLCAweDAwLAotCTB4ZjIsIDB4NzQsIDB4MGMsIDB4YjksIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHhlZSwgMHgwNCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDg4LCAweDE5LCAweGY0LCAweDk1LCAweDczLCAweDE5LCAweDAwLCAweDBlLAotCTB4ZjEsIDB4NjYsIDB4MDAsIDB4MGQsIDB4ZjIsIDB4MDAsIDB4MjQsIDB4MDAsCi0JMHg3NywgMHgxNSwgMHgyNSwgMHhhMCwgMHg3NywgMHgxNCwgMHgwMCwgMHgwMCwKLQkweDc3LCAweDFhLCAweDAwLCAweDFmLCAweGYwLCAweDcyLCAweDBmLCAweDE0LAotCTB4ZjYsIDB4YjgsIDB4NDksIDB4MTksIDB4MDksIDB4ODUsIDB4ZjgsIDB4NGMsCi0JMHgwZiwgMHgxMywgMHhmMSwgMHgwMCwgMHgwMCwgMHgwNSwgMHg4OSwgMHgxMSwKLQkweDQ5LCAweDE1LCAweGYzLCAweDAwLCAweDAwLCAweDAxLCAweDg5LCAweDEzLAotCTB4NDksIDB4MTUsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDcsIDB4ODksIDB4MTIsCi0JMHgxMSwgMHg5MywgMHgxZCwgMHg5MSwgMHgxOSwgMHg5MiwgMHg4OSwgMHgxMCwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgwLCAweDBmLCAweDEzLAotCTB4MTEsIDB4OTMsIDB4MWQsIDB4OTEsIDB4MTksIDB4OTIsIDB4ODksIDB4MTAsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MCwgMHgwZiwgMHgxMywKLQkweDExLCAweDkzLCAweDFkLCAweDkxLCAweDE5LCAweDkyLCAweDg5LCAweDEwLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODAsIDB4MGYsIDB4MTMsCi0JMHgxMSwgMHg5MywgMHgxZCwgMHg5MSwgMHgxOSwgMHg5MiwgMHg4OSwgMHgxMCwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgwLCAweDBmLCAweDEzLAotCTB4MTEsIDB4OTMsIDB4MWQsIDB4OTEsIDB4MTksIDB4OTIsIDB4ODksIDB4MTAsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MCwgMHgwZiwgMHgxMywKLQkweDExLCAweDkzLCAweDFkLCAweDkxLCAweDE5LCAweDkyLCAweDg5LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODEsIDB4MGYsIDB4MTMsCi0JMHg2ZCwgMHg5NCwgMHg2ZCwgMHhlZCwgMHgwMCwgMHgwZCwgMHg0OCwgMHgxNCwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZjgsIDB4ODgsIDB4MTcsIDB4MTAsIDB4MGQsCi0JMHg4MCwgMHgwNCwgMHgxMCwgMHgwYywgMHg4MCwgMHgwNSwgMHg3MSwgMHgwZSwKLQkweDAwLCAweDE2LCAweDczLCAweDE3LCAweDAwLCAweDBlLCAweGYwLCAweDY2LAotCTB4MDAsIDB4MGQsIDB4ZjAsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ODgsIDB4MTEsCi0JMHgxMCwgMHhmOCwgMHgyNywgMHg2MywgMHhmOCwgMHg0NSwgMHgwZiwgMHgzMiwKLQkweGYyLCAweDc0LCAweDBlLCAweDlmLCAweGY0LCAweDk1LCAweDQ4LCAweDE3LAotCTB4MTAsIDB4ZjgsIDB4MjcsIDB4NjAsIDB4ZjgsIDB4NDQsIDB4MGYsIDB4M2QsCi0JMHg2MCwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwKLQkweDBmLCAweDZkLCAweGYwLCAweDczLCAweDExLCAweDMzLCAweDEwLCAweDA0LAotCTB4ODAsIDB4MDAsIDB4MTAsIDB4MDUsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4OWYsCi0JMHgxMSwgMHgwNCwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwgMHg4MSwgMHgwNCwKLQkweDZkLCAweDhlLCAweDc3LCAweDEwLCAweDAwLCAweDAxLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MTIsIDB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsCi0JMHgwZiwgMHg2MiwgMHg3NywgMHgxMCwgMHgwMCwgMHgwMiwgMHhmNCwgMHhhYSwKLQkweGY4LCAweDMwLCAweDBmLCAweDZkLCAweDQ1LCAweGUxLCAweDAwLCAweDBiLAotCTB4ODgsIDB4MTAsIDB4NDMsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4ODMsIDB4ZjgsCi0JMHgwMCwgMHgxMiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhhYSwKLQkweGY4LCAweDMwLCAweDBmLCAweDZkLCAweGYwLCAweDczLCAweDBmLCAweDk2LAotCTB4ZjUsIDB4MDAsIDB4ODEsIDB4MDQsIDB4NDksIDB4MTYsIDB4ZjUsIDB4MjAsCi0JMHg4OSwgMHgxNiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYywgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDQ4LCAweDE2LAotCTB4ZjgsIDB4NDUsIDB4MTEsIDB4MzMsIDB4ZjcsIDB4YjgsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHgwMCwgMHgxMiwgMHgxMCwgMHhmOCwgMHgwMCwgMHgxMiwKLQkweGYwLCAweDEwLCAweDAwLCAweDAzLCAweGY4LCAweDQ2LCAweDBmLCAweDhjLAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MTIsIDB4ZjAsIDB4MTAsIDB4MDAsIDB4MDMsCi0JMHhmOCwgMHg0NSwgMHgxMCwgMHgxNiwgMHg3NywgMHgxMCwgMHgwMCwgMHgwMSwKLQkweGY0LCAweGFhLCAweGY4LCAweDMwLCAweDBmLCAweDljLCAweDc3LCAweDEwLAotCTB4MDAsIDB4MDIsIDB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MGYsIDB4YTgsCi0JMHhmMCwgMHg3MywgMHgwZiwgMHg5NiwgMHg3NywgMHgxMCwgMHgwMCwgMHgwNCwKLQkweGY0LCAweGFhLCAweGY4LCAweDMwLCAweDEwLCAweGI3LCAweDc3LCAweDEwLAotCTB4MDAsIDB4MDUsIDB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MTAsIDB4YmMsCi0JMHhmMiwgMHg3NCwgMHgwZSwgMHg5ZiwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNywKLQkweGYwLCAweDczLCAweDExLCAweDMxLCAweDc2LCAweGUxLCAweDAwLCAweDBjLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAyLCAweDAwLCAweDAyLCAweDExLCAweGUxLCAweDAwLCAweDBjLAotCTB4ZTgsIDB4MDMsIDB4ZjYsIDB4MjAsIDB4ODksIDB4MTIsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMCwgMHgwMCwgMHgwMywgMHhmNSwgMHhhYSwgMHhmOCwgMHgzMCwKLQkweDBmLCAweGI2LCAweDZiLCAweGY4LCAweDI3LCAweDZmLCAweDAwLCAweDAxLAotCTB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjUsIDB4YWUsCi0JMHhmOCwgMHgyMCwgMHgwZiwgMHhiZCwgMHg0OCwgMHgxNiwgMHg4MCwgMHgwNiwKLQkweDg4LCAweDEzLCAweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDAwLCAweDAzLAotCTB4ZjYsIDB4YWIsIDB4ZjgsIDB4MjAsIDB4MGYsIDB4YzgsIDB4NmIsIDB4ZjgsCi0JMHgyNywgMHg2ZiwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwNiwgMHhmOCwgMHg0NSwKLQkweDEwLCAweDAwLCAweDEwLCAweGUxLCAweDAwLCAweDA0LCAweDgwLCAweDAwLAotCTB4MTAsIDB4MDUsIDB4ODAsIDB4MDEsIDB4MTAsIDB4MDQsIDB4ODAsIDB4MDIsCi0JMHgxMCwgMHgwNiwgMHg4MCwgMHgwMywgMHg0OCwgMHgxMSwgMHhmMiwgMHg3NCwKLQkweDA3LCAweDFlLCAweGYwLCAweDAwLCAweDAwLCAweDA1LCAweDEwLCAweDA2LAotCTB4MDAsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDQsCi0JMHgxMCwgMHgwNiwgMHgwMCwgMHhlMSwgMHgwMCwgMHgwYywgMHg4MCwgMHhlMSwKLQkweDAwLCAweDBjLCAweDg4LCAweDEyLCAweDExLCAweDA2LCAweDEwLCAweDA0LAotCTB4ZjYsIDB4MDAsIDB4ODAsIDB4MDQsIDB4NDgsIDB4MTYsIDB4ZjYsIDB4MjAsCi0JMHg4OCwgMHgxNiwgMHg4OSwgMHgxMywgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweDAwLCAweDAzLCAweGY2LCAweGFiLCAweGY4LCAweDIwLCAweDBmLCAweGY1LAotCTB4NmIsIDB4ZjgsIDB4MjcsIDB4NmYsIDB4MDAsIDB4MDEsIDB4NzcsIDB4MTAsCi0JMHgwMCwgMHgwYywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgxMywKLQkweGY2LCAweGFiLCAweGY4LCAweDIwLCAweDEwLCAweDAwLCAweDZiLCAweGY4LAotCTB4MjcsIDB4NmYsIDB4MDAsIDB4MDEsIDB4NmMsIDB4ZTIsIDB4ZmYsIDB4ZmQsCi0JMHgxMSwgMHgzMSwgMHhmNiwgMHhiOCwgMHg2ZiwgMHhlMSwgMHgwMCwgMHgwNSwKLQkweDBjLCAweDQ4LCAweDZmLCAweGUxLCAweDAwLCAweDA2LCAweDBjLCAweDE4LAotCTB4ZjAsIDB4MzAsIDB4MGYsIDB4ZmYsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDMsCi0JMHg4MCwgMHhlMSwgMHgwMCwgMHgwYiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDAzLCAweDQ4LCAweDE2LCAweGY4LCAweDQ1LCAweDExLCAweDMzLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MDAsIDB4MTIsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwYiwgMHg0OSwgMHgxMiwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxMywKLQkweGU4LCAweDBjLCAweGY2LCAweDIwLCAweDg4LCAweDEwLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4ZjUsIDB4YWIsIDB4ZjgsIDB4MjAsIDB4MTAsIDB4MjcsCi0JMHg0OCwgMHgxMywgMHg4MCwgMHgwNiwgMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweGY1LCAweGFlLCAweGY4LCAweDIwLCAweDEwLCAweDMwLAotCTB4NzAsIDB4MDYsIDB4MDAsIDB4MTYsIDB4MTIsIDB4MDYsIDB4ZjgsIDB4NDUsCi0JMHgxMCwgMHg1ZiwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwNCwgMHg4MCwgMHgwMCwKLQkweDEwLCAweDA1LCAweDgwLCAweDAxLCAweDEwLCAweDA0LCAweDgwLCAweDAyLAotCTB4MTAsIDB4MDYsIDB4ODAsIDB4MDMsIDB4NDgsIDB4MTEsIDB4ZjIsIDB4NzQsCi0JMHgwNywgMHgxZSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgxMCwgMHgwNiwKLQkweDAwLCAweGUxLCAweDAwLCAweDA0LCAweDgwLCAweGUxLCAweDAwLCAweDA0LAotCTB4MTAsIDB4MDYsIDB4MDAsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHg4OCwgMHgxMiwgMHgxMSwgMHgwNiwgMHgxMCwgMHgwNCwKLQkweGY2LCAweDAwLCAweDgwLCAweDA0LCAweDQ4LCAweDE2LCAweGY2LCAweDIwLAotCTB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGMsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgxMywgMHhmNiwgMHhhYiwKLQkweGY4LCAweDIwLCAweDEwLCAweDVmLCAweDZiLCAweGY4LCAweDI3LCAweDZmLAotCTB4MDAsIDB4MDEsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGMsIDB4ZjYsIDB4YWEsCi0JMHhmOCwgMHgyMCwgMHgxMCwgMHg2YiwgMHhmMiwgMHg3NCwgMHgwZSwgMHg5ZiwKLQkweGY0LCAweDk1LCAweDQ4LCAweDE3LCAweDcxLCAweGUxLCAweDAwLCAweDBjLAotCTB4MDAsIDB4MTIsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGMsIDB4ZjQsIDB4YWEsCi0JMHhmOCwgMHgzMCwgMHgxMCwgMHg3YywgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywKLQkweDcxLCAweGUxLCAweDAwLCAweDBiLCAweDAwLCAweDEzLCAweGY2LCAweGFiLAotCTB4ZjgsIDB4MzAsIDB4MTAsIDB4YjQsIDB4ZTcsIDB4MzAsIDB4ZjcsIDB4YWEsCi0JMHhmOCwgMHgzMCwgMHgxMCwgMHhiNCwgMHhmMiwgMHg3NCwgMHgwZSwgMHhjMSwKLQkweGY0LCAweDk1LCAweDQ4LCAweDE3LCAweDg4LCAweDEyLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NmMsIDB4ODIsIDB4MTAsIDB4OGQsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDA1LCAweGYwLCAweDczLCAweDEwLCAweGI0LCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MDQsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGMsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwYiwgMHgwMCwgMHgxMiwgMHhmNSwgMHhhYSwKLQkweGY4LCAweDIwLCAweDEwLCAweDlhLCAweGYwLCAweDczLCAweDEwLCAweDljLAotCTB4NzcsIDB4MTIsIDB4MDAsIDB4MGMsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHg3MCwgMHgwMSwgMHgwMCwgMHgxMiwgMHg3MCwgMHgwMiwgMHgwMCwgMHgxNywKLQkweDc2LCAweDAzLCAweDAwLCAweDAxLCAweDQ4LCAweDExLCAweGYyLCAweDc0LAotCTB4MGMsIDB4YjksIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywKLQkweDcxLCAweGUxLCAweDAwLCAweDBiLCAweDAwLCAweDEyLCAweGY2LCAweGFhLAotCTB4ZjgsIDB4MjAsIDB4MTEsIDB4MWMsIDB4NDgsIDB4MTYsIDB4ZjgsIDB4NDUsCi0JMHgxMSwgMHgzMywgMHg2MCwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwNSwKLQkweGY4LCAweDIwLCAweDEwLCAweGRmLCAweDEwLCAweGUxLCAweDAwLCAweDBiLAotCTB4MDgsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MTEsIDB4ZTEsIDB4MDAsIDB4MDQsCi0JMHhmOCwgMHg0ZCwgMHgxMCwgMHhjNywgMHg2YiwgMHhmOCwgMHgyNywgMHg2ZiwKLQkweDAwLCAweDAxLCAweDg4LCAweDEwLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4ZjUsIDB4YWUsIDB4ZjgsIDB4MjAsIDB4MTAsIDB4Y2YsIDB4NDgsIDB4MTYsCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgwOCwgMHhmOCwgMHg0NSwgMHgxMSwgMHgxNiwKLQkweDZmLCAweGUxLCAweDAwLCAweDBjLCAweDBkLCAweDAwLCAweDgxLCAweGUxLAotCTB4MDAsIDB4MGMsIDB4MTEsIDB4MDQsIDB4ZjUsIDB4MDAsIDB4ODEsIDB4MDQsCi0JMHg0OSwgMHgxNiwgMHhmNSwgMHgyMCwgMHg4OSwgMHgxNiwgMHhmMCwgMHg3MywKLQkweDExLCAweDBlLCAweDEwLCAweGUxLCAweDAwLCAweDBiLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MGMsIDB4MDAsIDB4MTIsIDB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNiwgMHhhYSwgMHhmOCwgMHgzMCwgMHgxMSwgMHgxNiwKLQkweDQ5LCAweDEyLCAweGY2LCAweDIwLCAweDg4LCAweDEwLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4ZjUsIDB4YWUsIDB4ZjgsIDB4MjAsIDB4MTAsIDB4ZjMsCi0JMHg0OCwgMHgxNiwgMHg4MCwgMHgwNiwgMHg0OCwgMHgwOCwgMHhmOCwgMHg0NSwKLQkweDExLCAweDE2LCAweDEwLCAweDA0LCAweDcwLCAweDAyLCAweDAwLCAweDE3LAotCTB4ODAsIDB4MDAsIDB4NzYsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MDYsCi0JMHg4MCwgMHgwMSwgMHgxMCwgMHgwNSwgMHhmMCwgMHg3NCwgMHgwYywgMHhiOSwKLQkweDEwLCAweDA2LCAweDAwLCAweGUxLCAweDAwLCAweDBjLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MGMsIDB4MTEsIDB4MDYsIDB4MTAsIDB4MDQsIDB4ZjYsIDB4MDAsCi0JMHg4MCwgMHgwNCwgMHg0OCwgMHgxNiwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxNiwKLQkweDEwLCAweGUxLCAweDAwLCAweDBjLCAweDA4LCAweGUxLCAweDAwLCAweDBiLAotCTB4ZjgsIDB4NDUsIDB4MTEsIDB4MWMsIDB4ZjAsIDB4NzMsIDB4MTEsIDB4MzEsCi0JMHhmMiwgMHg3NCwgMHgwZSwgMHg5ZiwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNywKLQkweGYwLCAweDczLCAweDExLCAweDMzLCAweDc2LCAweGUxLCAweDAwLCAweDBjLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMSwgMHgxMCwgMHgwNCwKLQkweDgwLCAweDAwLCAweDEwLCAweDA1LCAweGYwLCAweDc0LCAweDA2LCAweDlmLAotCTB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4ZmYsCi0JMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwgMHgxMSwgMHgzMywgMHg2YywgMHg4NiwKLQkweDBmLCAweDcwLCAweGVlLCAweDA4LCAweDhhLCAweDE3LCAweDhhLCAweDE2LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmMsCi0JMHhmNCwgMHg5NSwgMHg3MSwgMHgwNiwgMHgwMCwgMHgxMiwgMHg4OCwgMHgxMSwKLQkweDczLCAweDEyLCAweDAwLCAweDBlLCAweGYxLCAweDY2LCAweDAwLCAweDBkLAotCTB4ZjMsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ODksIDB4MTQsIDB4MTMsIDB4ODEsCi0JMHhmNywgMHg3YSwgMHhmMywgMHgzMCwgMHgwMCwgMHgwMSwgMHg4MSwgMHhmOCwKLQkweDI3LCAweDYwLCAweDEzLCAweGUxLCAweDAwLCAweDAxLCAweGY3LCAweDdjLAotCTB4ZjMsIDB4MzAsIDB4MDAsIDB4MDMsIDB4ODEsIDB4ZjgsIDB4MjcsIDB4NjEsCi0JMHhlOSwgMHgwZiwgMHgxOSwgMHhlMSwgMHgwMCwgMHgwMSwgMHg4MSwgMHhmOCwKLQkweDI3LCAweDYyLCAweDcxLCAweGU0LCAweDAwLCAweDAzLCAweDAwLCAweDEzLAotCTB4ZjYsIDB4YjgsIDB4NDksIDB4MTMsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHhmMywgMHgzMCwgMHgwMCwgMHgwZiwgMHg0OSwgMHgwYiwgMHgwOSwgMHhmOCwKLQkweDI3LCAweDYyLCAweGY4LCAweDRkLCAweDExLCAweDc1LCAweDc3LCAweDEwLAotCTB4MDAsIDB4ZmYsIDB4ZjQsIDB4YWIsIDB4ZjgsIDB4MzAsIDB4MTEsIDB4NzUsCi0JMHg1NywgMHhmOCwgMHgyNywgMHg2YywgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDRmLCAweGY4LCAweDI3LCAweDZjLCAweDc2LCAweGY4LCAweDI3LCAweDYzLAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MTEsIDB4NzgsIDB4NzYsIDB4ZjgsCi0JMHgyNywgMHg2MywgMHgwMCwgMHgwMCwgMHg3MCwgMHhlNCwgMHgwMCwgMHgwMywKLQkweDI3LCAweDYyLCAweDc2LCAweGY4LCAweDI3LCAweDY0LCAweDAwLCAweDAwLAotCTB4MTEsIDB4ZjgsIDB4MjcsIDB4NjEsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MGIsCi0JMHgwMCwgMHgwMiwgMHhmOCwgMHgyMCwgMHgxMSwgMHg4ZCwgMHhlOSwgMHgwMSwKLQkweDZmLCAweGUxLCAweDAwLCAweDAyLCAweDBmLCAweDE4LCAweDgxLCAweGY4LAotCTB4MjcsIDB4NjQsIDB4MTEsIDB4ZjgsIDB4MjcsIDB4NjEsIDB4NjEsIDB4ZjgsCi0JMHgwMCwgMHgwYiwgMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwgMHgxMSwgMHhhOSwKLQkweDEwLCAweGY4LCAweDI3LCAweDY0LCAweGYxLCAweDAwLCAweDAwLCAweDA0LAotCTB4ODksIDB4MTMsIDB4ZTksIDB4YjgsIDB4ZjUsIDB4MjAsIDB4ODEsIDB4ZjgsCi0JMHgyNywgMHg2NSwgMHg2MCwgMHg4NCwgMHgwMCwgMHgwMiwgMHhmOCwgMHgyMCwKLQkweDExLCAweGE5LCAweDcwLCAweDAwLCAweDAwLCAweDExLCAweDcwLCAweDAxLAotCTB4MDAsIDB4MTMsIDB4NzAsIDB4MDIsIDB4MjcsIDB4NjUsIDB4ZjIsIDB4NzQsCi0JMHgwZiwgMHgxOCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMiwgMHhlZSwgMHgwNCwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZmMsIDB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsCi0JMHgyNywgMHg2NiwgMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwgMHgyNywgMHg2OCwKLQkweGU4LCAweDAwLCAweDRlLCAweGY4LCAweDI3LCAweDZjLCAweGU4LCAweDAwLAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NmEsIDB4NzcsIDB4MTIsIDB4MjcsIDB4NDAsCi0JMHg3NywgMHgxMSwgMHgyNCwgMHgwMCwgMHg3NywgMHgxYSwgMHgwMCwgMHgxZiwKLQkweGYwLCAweDcyLCAweDExLCAweGRiLCAweDcwLCAweDkyLCAweDAwLCAweDExLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ZmYsIDB4ZmYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweGZmLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MGMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGIsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwKLQkweDZkLCAweGU5LCAweDAwLCAweDBkLCAweGYwLCAweDIwLCAweDI1LCAweGEwLAotCTB4ZjEsIDB4MDAsIDB4MDAsIDB4MDcsIDB4ODksIDB4MTEsIDB4ZjEsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHg4MSwgMHgwMiwgMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDE3LCAweDAwLCAweDIwLCAweDc2LCAweDg2LCAweDAwLCAweGZmLAotCTB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzYsIDB4MDEsIDB4MDAsIDB4MDYsCi0JMHgxMCwgMHgwMiwgMHhmMCwgMHg3NCwgMHgwNiwgMHg2YywgMHg3NiwgMHgwMCwKLQkweDAwLCAweDAwLCAweDc2LCAweDAxLCAweDAwLCAweDA2LCAweGYyLCAweDc0LAotCTB4MDYsIDB4NmMsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsIDB4MTAsIDB4MDIsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwZCwgMHg4MCwgMHgwMiwgMHg2ZCwgMHhlOSwKLQkweDAwLCAweDBkLCAweDZkLCAweGVlLCAweDAwLCAweDBkLCAweDZjLCAweGVmLAotCTB4ZmYsIDB4ZmYsIDB4MTEsIDB4ZTgsIDB4ZjAsIDB4NzQsIDB4MGMsIDB4OWQsCi0JMHhlZSwgMHgwNCwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweDRhLCAweDE2LCAweDRhLCAweDE3LAotCTB4ZWUsIDB4ZmEsIDB4ODgsIDB4MTEsIDB4MTAsIDB4MGEsIDB4NDksIDB4MTEsCi0JMHhmOCwgMHg0ZCwgMHgxMiwgMHg5ZiwgMHg0OCwgMHgwOCwgMHhmOCwgMHg0NSwKLQkweDEyLCAweDlmLCAweDgwLCAweDA0LCAweDEyLCAweDgxLCAweGY1LCAweDc4LAotCTB4ODksIDB4MTIsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ZTIsCi0JMHhmZiwgMHhiOSwgMHgxMiwgMHg4YSwgMHg2MSwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweDAwLCAweDgwLCAweGY4LCAweDMwLCAweDEyLCAweDhhLCAweDEzLCAweGUxLAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4ZTgsIDB4ZjcsIDB4NzgsIDB4ZjEsIDB4YTAsCi0JMHhmMiwgMHgzMCwgMHgxZiwgMHhmZiwgMHg4OCwgMHgxNywgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEyLCAweDI0LCAweDAwLCAweDc3LCAweDE2LCAweDAwLCAweDAwLAotCTB4NzcsIDB4MTMsIDB4MDAsIDB4MjAsIDB4ZjYsIDB4YjgsIDB4NDgsIDB4MTcsCi0JMHgwOCwgMHhlMiwgMHgwMCwgMHgwMSwgMHhmOCwgMHg0NSwgMHgxMiwgMHg0MiwKLQkweDZkLCAweGVhLCAweDAwLCAweDBkLCAweDZkLCAweDk2LCAweDZjLCAweGViLAotCTB4ZmYsIDB4ZmYsIDB4MTIsIDB4MzQsIDB4ZjAsIDB4NzMsIDB4MTIsIDB4OTAsCi0JMHg1NiwgMHhmOCwgMHgyNywgMHg2YSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDRlLCAweGY4LCAweDI3LCAweDZhLCAweDYwLCAweDgyLCAweDAwLCAweDAxLAotCTB4ZjgsIDB4MzAsIDB4MTIsIDB4NTQsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTYsCi0JMHhmMiwgMHg3NCwgMHgxMSwgMHgzOCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwKLQkweGYwLCAweDczLCAweDEyLCAweDkwLCAweDcwLCAweDAwLCAweDAwLCAweDE2LAotCTB4ZjIsIDB4NzQsIDB4MTEsIDB4MzgsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHg3MiwgMHgxMCwgMHgyYSwgMHg5ZSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhhZiwKLQkweGY4LCAweDMwLCAweDEyLCAweDZlLCAweDc2LCAweDAwLCAweDAwLCAweDAwLAotCTB4NzYsIDB4MDEsIDB4MDAsIDB4YmMsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTYsCi0JMHg3NiwgMHgwMywgMHgwMCwgMHgwMCwgMHhmMiwgMHg3NCwgMHgwYywgMHhiOSwKLQkweGY0LCAweDk1LCAweDQ4LCAweDExLCAweGYwLCAweDczLCAweDEyLCAweDkwLAotCTB4MTAsIDB4ZjgsIDB4MjcsIDB4NmUsIDB4ZjgsIDB4NDQsIDB4MTIsIDB4OTAsCi0JMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwgMHgwMCwgMHhiYywKLQkweDcwLCAweDAyLCAweDAwLCAweDE2LCAweDc2LCAweDAzLCAweDAwLCAweDAwLAotCTB4ZjIsIDB4NzQsIDB4MGMsIDB4YjksIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHhmMCwgMHg3NCwgMHgwYywgMHg1ZSwgMHhmMCwgMHhlMCwgMHhmMCwgMHgxMCwKLQkweDEzLCAweDg4LCAweGY4LCAweDQyLCAweDEyLCAweDkwLCAweDc2LCAweGY4LAotCTB4MjcsIDB4NmUsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MTIsIDB4OTAsCi0JMHg1NiwgMHhmOCwgMHgyNywgMHg2NiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDRlLCAweGY4LCAweDI3LCAweDY2LCAweDZkLCAweGU5LCAweDAwLCAweDVlLAotCTB4NTYsIDB4ZjgsIDB4MjcsIDB4NjgsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg2OCwgMHg3MSwgMHgwNCwgMHgwMCwgMHgxMiwKLQkweDZlLCAweGVhLCAweGZmLCAweGZmLCAweDEyLCAweDE4LCAweDcwLCAweDA0LAotCTB4MDAsIDB4MTIsIDB4ZWUsIDB4MDYsIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwKLQkweDg4LCAweDBlLCAweGY0LCAweDk1LCAweGYwLCAweDY2LCAweDAwLCAweDBkLAotCTB4ZjAsIDB4MDAsIDB4MjUsIDB4YTAsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg3NiwgMHg4MSwgMHgwMCwgMHhmZiwgMHg3NiwgMHgwMCwKLQkweDAwLCAweDAwLCAweDc2LCAweDAxLCAweDAwLCAweDA2LCAweGYyLCAweDc0LAotCTB4MDYsIDB4NmMsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4NzYsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwgMHgwMCwgMHgwNiwgMHg0OCwgMHgxMSwKLQkweGYyLCAweDc0LCAweDA2LCAweDZjLCAweGYwLCAweDAwLCAweDAwLCAweDA3LAotCTB4ZWUsIDB4MDIsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHg4OCwgMHgwZSwgMHhmNCwgMHg5NSwgMHhmMCwgMHg2NiwgMHgwMCwgMHgwZCwKLQkweGYwLCAweDAwLCAweDI0LCAweDAwLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ZmYsIDB4ZmYsCi0JMHg3NiwgMHg4MSwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweGZmLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHgxMywgMHgwMywgMHg4OCwgMHgxMSwgMHhmYSwgMHg0ZCwgMHgxMiwgMHhlYywKLQkweDcxLCAweDAyLCAweDAwLCAweDEyLCAweGYzLCAweDEwLCAweDAwLCAweDAxLAotCTB4ODksIDB4MWEsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4NzIsIDB4MTIsIDB4ZWIsCi0JMHg3MCwgMHg5MSwgMHgwMCwgMHgxMiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweGY0LCAweDk1LCAweDRhLCAweDBiLCAweDRhLCAweDBjLCAweDRhLCAweDBkLAotCTB4ZjcsIDB4YjgsIDB4ZWUsIDB4ZmUsIDB4MTAsIDB4ZjgsIDB4MDAsIDB4MDgsCi0JMHgxMSwgMHgwNiwgMHhmMSwgMHhjMCwgMHg4MywgMHgwMCwgMHhmNCwgMHg4NSwKLQkweDExLCAweDA2LCAweGY3LCAweDg1LCAweDgxLCAweDA2LCAweGY2LCAweGI4LAotCTB4ZWMsIDB4MGYsIDB4MWUsIDB4MDYsIDB4NjEsIDB4MDAsIDB4ODAsIDB4MDAsCi0JMHhmOCwgMHgyMCwgMHgxMywgMHgwNSwgMHhmNCwgMHg4NCwgMHhlZSwgMHgwMiwKLQkweDhhLCAweDBkLCAweDhhLCAweDBjLCAweDhhLCAweDBiLCAweGZjLCAweDAwLAotCTB4ZjQsIDB4OTUsIDB4NGEsIDB4MGIsIDB4NGEsIDB4MGMsIDB4NGEsIDB4MGQsCi0JMHhlZSwgMHhmZSwgMHhmNywgMHhiOCwgMHg4MCwgMHgwMCwgMHgxMCwgMHhmOCwKLQkweDAwLCAweDA4LCAweGY0LCAweDg1LCAweDExLCAweDA2LCAweGY3LCAweDg1LAotCTB4ODEsIDB4MDYsIDB4ZjYsIDB4YjgsIDB4ZWMsIDB4MGYsIDB4MWUsIDB4MDYsCi0JMHhmMCwgMHhmMCwgMHg2MSwgMHgwMCwgMHg4MCwgMHgwMCwgMHhmOCwgMHgyMCwKLQkweDEzLCAweDIwLCAweGY0LCAweDg0LCAweGVlLCAweDAyLCAweDhhLCAweDBkLAotCTB4OGEsIDB4MGMsIDB4OGEsIDB4MGIsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHg3NiwgMHg4MSwgMHgyZSwgMHhlYywKLQkweDc3LCAweDExLCAweDAwLCAweDdiLCAweGVlLCAweGZmLCAweDcxLCAweDgxLAotCTB4MDAsIDB4MTEsIDB4ZWUsIDB4MDEsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDEsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4NjIsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4NzYsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHg5MiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDk0LCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4YjAsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4YjMsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHhiZSwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweGJmLCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4YzEsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4YzMsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHhjNSwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweGM3LCAweDAwLCAweDAwLCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHg0YSwgMHgxNywgMHhlZSwgMHhmZiwKLQkweGY0LCAweDk1LCAweDcxLCAweDA2LCAweDAwLCAweDE2LCAweGZiLCAweDgwLAotCTB4MTYsIDB4YTIsIDB4ODgsIDB4MTcsIDB4ZjQsIDB4OTUsIDB4ZjcsIDB4YjgsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywgMHhmMCwgMHgxMCwgMHgwMCwgMHgwMiwKLQkweGZhLCAweDQ2LCAweDEzLCAweDg4LCAweDc3LCAweDExLCAweDAwLCAweDAwLAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MTcsIDB4ZjAsIDB4MTAsIDB4MDAsIDB4MDIsCi0JMHhmOCwgMHg0NSwgMHgxMywgMHhmOSwgMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywKLQkweGY4LCAweDQ1LCAweDE0LCAweDM5LCAweDEwLCAweGY4LCAweDAwLCAweDE3LAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4NDUsIDB4MTQsIDB4MWYsCi0JMHhmMCwgMHg3MywgMHgxNCwgMHg1MiwgMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywKLQkweGYwLCAweDEwLCAweDAwLCAweDAzLCAweGY4LCAweDQ1LCAweDEzLCAweGQzLAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MTcsIDB4ZjAsIDB4MTAsIDB4MDAsIDB4MDYsCi0JMHhmOCwgMHg0NCwgMHgxNCwgMHg1MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwKLQkweDcxLCAweDgyLCAweDAwLCAweDE0LCAweDYxLCAweGU0LCAweDAwLCAweDA3LAotCTB4MDAsIDB4NDAsIDB4ZjgsIDB4MzAsIDB4MTQsIDB4NTIsIDB4NDksIDB4MTQsCi0JMHg0OCwgMHgxNywgMHhmNiwgMHgwMCwgMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEzLCAweDAwLCAweDU1LCAweDc3LCAweDExLCAweDAwLCAweDU3LAotCTB4NmQsIDB4ZWEsIDB4MDAsIDB4M2IsIDB4ZTUsIDB4MDEsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwNiwgMHg4MCwgMHg4MSwgMHg0OCwgMHgxNCwgMHgwMCwgMHhmOCwKLQkweDAwLCAweDE3LCAweDg4LCAweDEyLCAweGY0LCAweDk1LCAweDc3LCAweDExLAotCTB4MDAsIDB4NTUsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4NDAsIDB4ODAsIDB4ODEsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwgMHgwMCwgMHgwNywKLQkweDgwLCAweDgxLCAweDc3LCAweDExLCAweDAwLCAweDU1LCAweDEwLCAweGUyLAotCTB4MDAsIDB4NDUsIDB4ODAsIDB4ODEsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDgsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg1NywgMHg4MCwgMHg4MSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDU1LCAweDEwLCAweGUyLCAweDAwLCAweDRhLCAweDgwLCAweDgxLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDksCi0JMHg4MCwgMHg4MSwgMHhmMiwgMHg3MywgMHgxNCwgMHg1MiwgMHg3NywgMHgxMSwKLQkweDAzLCAweGMwLCAweDc3LCAweDEyLCAweDAwLCAweDdiLCAweDEwLCAweDgyLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4ODgsIDB4MTMsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg5NiwgMHgxYiwgMHhmOCwgMHgzMCwgMHgxNCwgMHg1MiwKLQkweDEwLCAweGUzLCAweDAwLCAweDM1LCAweDc3LCAweDEyLCAweDAwLCAweDU1LAotCTB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwNCwgMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwKLQkweDEwLCAweGUzLCAweDAwLCAweDM3LCAweDgwLCAweDgyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDUsIDB4ODAsIDB4ODIsCi0JMHg0OCwgMHgxMSwgMHhmMCwgMHg0MCwgMHgwMCwgMHgxMCwgMHhmMiwgMHg3MywKLQkweDE0LCAweDUwLCAweGYwLCAweDQwLCAweDAwLCAweDIwLCAweDc3LCAweDEyLAotCTB4MDAsIDB4N2IsIDB4MTAsIDB4ODIsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDcsCi0JMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg5NiwgMHgwZCwKLQkweGY4LCAweDMwLCAweDE0LCAweDUyLCAweDEwLCAweGUyLCAweDAwLCAweDM0LAotCTB4NzcsIDB4MTMsIDB4MDAsIDB4NTUsIDB4ODAsIDB4ODMsIDB4NzcsIDB4MTMsCi0JMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwgMHgwMCwgMHgwMiwgMHg4MCwgMHg4MywKLQkweDEwLCAweGUyLCAweDAwLCAweDM2LCAweDc3LCAweDEyLCAweDAwLCAweDU1LAotCTB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwMywgMHg4MCwgMHg4MiwgMHg0OCwgMHgxMSwgMHhmMCwgMHg0MCwKLQkweDAwLCAweDA0LCAweGYyLCAweDczLCAweDE0LCAweDUwLCAweGYwLCAweDQwLAotCTB4MDAsIDB4MDgsIDB4NzcsIDB4MTIsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODIsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwNywgMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDk2LCAweDBlLCAweGY4LCAweDMwLCAweDE0LCAweDUyLAotCTB4MTAsIDB4ZTIsIDB4MDAsIDB4MzMsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsCi0JMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwKLQkweDAwLCAweDAxLCAweDgwLCAweDgyLCAweDQ4LCAweDExLCAweGYyLCAweDczLAotCTB4MTQsIDB4NTAsIDB4ZjAsIDB4NDAsIDB4MDAsIDB4MDIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg3YiwgMHgxMCwgMHg4MiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNywKLQkweDg4LCAweDEyLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDk2LCAweDBmLAotCTB4ZjgsIDB4MzAsIDB4MTQsIDB4NTIsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MzIsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwgMHg3NywgMHgxMywgMHgwMCwgMHg1NywKLQkweDgwLCAweDgyLCAweDQ4LCAweDExLCAweGU3LCAweDYyLCAweGYwLCAweDQwLAotCTB4MDAsIDB4MDEsIDB4ZTUsIDB4MDEsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwgMHg0OCwgMHgxMSwgMHg3MSwgMHg4MiwKLQkweDAwLCAweDEyLCAweDFhLCAweGUyLCAweDAwLCAweDA3LCAweDgwLCAweGUyLAotCTB4MDAsIDB4MDcsIDB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4ZWUsIDB4MDEsCi0JMHg4YSwgMHgxNywgMHg0OCwgMHgxMSwgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDg4LCAweDExLCAweDc3LCAweDBlLAotCTB4MDAsIDB4MDUsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsIDB4ZTgsIDB4MDQsCi0JMHhmNiwgMHhiOCwgMHgyOCwgMHhlMSwgMHgwMCwgMHgwMiwgMHhlZSwgMHhmZiwKLQkweDgwLCAweDgyLCAweDc3LCAweDEyLCAweDAwLCAweDU3LCAweGYwLCAweDIwLAotCTB4ODAsIDB4MDAsIDB4ZWUsIDB4MDEsIDB4MWEsIDB4ODIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NywgMHg4MCwgMHg4MiwgMHhlOCwgMHgwMSwgMHgzMiwgMHhlMSwKLQkweDAwLCAweDAyLCAweGY1LCAweDgyLCAweDc3LCAweDExLCAweDAwLCAweDU0LAotCTB4ZjYsIDB4OTMsIDB4MTgsIDB4ODEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTQsCi0JMHhmMiwgMHhhMCwgMHg4MCwgMHg4MSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDRhLCAweDE2LCAweGY0LCAweDk1LAotCTB4NzEsIDB4MDQsIDB4MDAsIDB4MTEsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsCi0JMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwKLQkweDEwLCAweGU2LCAweDAwLCAweDAzLCAweDgwLCAweDgyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTYsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4NzcsIDB4MTMsCi0JMHgwMCwgMHg1NiwgMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NiwKLQkweDEwLCAweGUxLCAweDAwLCAweDAzLCAweDgwLCAweDgyLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDQsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTYsIDB4ODAsIDB4ODIsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHg1NiwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwMSwKLQkweDgwLCAweDgyLCAweGU3LCAweDEyLCAweGU1LCAweDAxLCAweGY5LCAweDgwLAotCTB4MTYsIDB4OWEsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHg0YSwgMHgxNywgMHhlZSwgMHhmOSwKLQkweDc3LCAweDExLCAweDAwLCAweDdiLCAweDc2LCAweDAwLCAweDAwLCAweDE2LAotCTB4NzYsIDB4MDEsIDB4MDAsIDB4MTcsIDB4NzYsIDB4MDIsIDB4MDAsIDB4MWEsCi0JMHg3NiwgMHgwMywgMHgwMCwgMHgxYiwgMHg3NiwgMHgwNCwgMHgwMCwgMHgxYywKLQkweDc2LCAweDA1LCAweDAwLCAweDFkLCAweDcxLCAweDgxLCAweDAwLCAweDE3LAotCTB4NzEsIDB4ZTcsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTEsIDB4MTAsIDB4ODEsCi0JMHhmOCwgMHg0NCwgMHgxNCwgMHhkZiwgMHhmOSwgMHg4MCwgMHgxNiwgMHg1MywKLQkweGY2LCAweGI4LCAweGZiLCAweDgwLCAweDE1LCAweDg1LCAweGYwLCAweDIwLAotCTB4ZmYsIDB4ZmYsIDB4ZjYsIDB4YjgsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4MDgsCi0JMHhmMCwgMHgyMCwgMHhmZiwgMHhmZiwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwKLQkweDcxLCAweDgxLCAweDAwLCAweDE3LCAweDc2LCAweGU3LCAweDAwLCAweDA2LAotCTB4MDAsIDB4MDEsIDB4NDgsIDB4MTcsIDB4NzcsIDB4MTYsIDB4MDAsIDB4MDAsCi0JMHg3NywgMHgxMCwgMHgwMCwgMHgwNCwgMHg3NywgMHgxNSwgMHgwMCwgMHgwMywKLQkweDc3LCAweDE0LCAweDAwLCAweDAyLCAweDc3LCAweDEzLCAweDAwLCAweDAxLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MzksIDB4NzYsIDB4ZTcsIDB4MDAsIDB4MDgsCi0JMHgwMCwgMHgxZiwgMHg3NiwgMHhlNywgMHgwMCwgMHgwNywgMHgwMCwgMHgwMCwKLQkweDg4LCAweDBlLCAweDc3LCAweDFhLCAweDAwLCAweDA1LCAweDQ4LCAweDE3LAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDksIDB4ODgsIDB4MTIsIDB4NDgsIDB4MTgsCi0JMHg4OCwgMHgxOSwgMHhlOCwgMHgwMCwgMHhmMCwgMHg3MiwgMHgxNSwgMHgyYywKLQkweDczLCAweDE5LCAweDAwLCAweDExLCAweDc2LCAweDgyLCAweDAwLCAweDAwLAotCTB4MTEsIDB4OTEsIDB4NzMsIDB4MTEsIDB4MDAsIDB4MTksIDB4NzAsIDB4ZTIsCi0JMHgwMCwgMHgwMywgMHgwMCwgMHgxNiwgMHg3MCwgMHhlMiwgMHgwMCwgMHgwNCwKLQkweDAwLCAweDEzLCAweDcwLCAweGUyLCAweDAwLCAweDA1LCAweDAwLCAweDE0LAotCTB4ODEsIDB4ZTIsIDB4MDAsIDB4MDEsIDB4NzAsIDB4ZTIsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxNSwgMHg3MCwgMHhlMiwgMHgwMCwgMHgwNywgMHgwMCwgMHgxMCwKLQkweDgwLCAweGUyLCAweDAwLCAweDAyLCAweDczLCAweDBlLCAweDAwLCAweDExLAotCTB4ZjEsIDB4MDAsIDB4MDAsIDB4MWUsIDB4NmQsIDB4ZWUsIDB4MDAsIDB4MDUsCi0JMHg2ZCwgMHhlYiwgMHgwMCwgMHgwNSwgMHg2ZCwgMHhlYywgMHgwMCwgMHgwNSwKLQkweDZkLCAweGVkLCAweDAwLCAweDA1LCAweDZkLCAweGU4LCAweDAwLCAweDA1LAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ODEsIDB4OTEsIDB4NmQsIDB4ZWEsCi0JMHgwMCwgMHgwOCwgMHg3MywgMHgxMSwgMHgwMCwgMHgwZSwgMHhlZSwgMHgwNywKLQkweDc2LCAweGU3LCAweDAwLCAweDQxLCAweDAwLCAweDI0LCAweDc2LCAweGU3LAotCTB4MDAsIDB4NDYsIDB4MDAsIDB4MjUsIDB4NzYsIDB4ZTcsIDB4MDAsIDB4NGIsCi0JMHgwMCwgMHgyNiwgMHg3NiwgMHhlNywgMHgwMCwgMHg1MCwgMHgwMCwgMHgyNywKLQkweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDExLCAweGY0LCAweGU0LAotCTB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4ZWUsIDB4ZmUsIDB4ODgsIDB4MTEsCi0JMHg1NiwgMHgwNiwgMHg0ZSwgMHgwMCwgMHhmOSwgMHg4MCwgMHgxNiwgMHhhMiwKLQkweGY3LCAweGI4LCAweDEwLCAweGY4LCAweDAwLCAweDExLCAweGYwLCAweDEwLAotCTB4ZmYsIDB4ZmYsIDB4ZmEsIDB4NDUsIDB4MTUsIDB4NjAsIDB4NzcsIDB4MTYsCi0JMHhmZiwgMHhmZiwgMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwgMHg0OSwgMHgxMSwKLQkweDEwLCAweDgyLCAweGY2LCAweDAzLCAweGYwLCAweDAwLCAweDAwLCAweDA5LAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsCi0JMHhmOCwgMHg0NCwgMHgxNSwgMHg3MSwgMHhmMiwgMHg3MywgMHgxNSwgMHg3MSwKLQkweGY0LCAweDk1LCAweGU3LCAweDE2LCAweDc3LCAweDExLCAweDAwLCAweDdiLAotCTB4MTAsIDB4ODEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDksIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMiwgMHgwMCwgMHgwNiwgMHgxMCwgMHg4MSwKLQkweGY4LCAweDQ1LCAweDE1LCAweDVjLCAweDZlLCAweGVhLCAweGZmLCAweGZmLAotCTB4MTUsIDB4NjksIDB4NmQsIDB4ZTksIDB4MDAsIDB4MDgsIDB4NzYsIDB4ODYsCi0JMHgwMCwgMHgwMSwgMHhlOSwgMHgwMSwgMHg1NiwgMHgwMCwgMHhmMSwgMHg4MCwKLQkweDEwLCAweGY4LCAweDAwLCAweDBiLCAweGY4LCAweDQ1LCAweDE1LCAweDdlLAotCTB4ZmIsIDB4ODAsIDB4MTUsIDB4ODUsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTYsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMiwgMHg0OCwgMHgxNiwKLQkweDhhLCAweDE2LCAweDhhLCAweDExLCAweGY0LCAweGU0LCAweDRhLCAweDExLAotCTB4ZWUsIDB4ZmYsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHhmZiwgMHhmZiwgMHhmNCwgMHhhOSwKLQkweGY4LCAweDMwLCAweDE1LCAweGM0LCAweDEwLCAweGUxLCAweDAwLCAweDAzLAotCTB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsIDB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU2LCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU2LCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDgsIDB4MzIsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NCwgMHhlOCwgMHgwMSwKLQkweGY0LCAweDgyLCAweGY0LCAweDkzLCAweDE4LCAweDgyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTQsIDB4ZjAsIDB4NDAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4ODIsCi0JMHgxMCwgMHhlMSwgMHgwMCwgMHgwMSwgMHhmOSwgMHg4MCwgMHgxNiwgMHg3NiwKLQkweDEwLCAweGUxLCAweDAwLCAweDAxLCAweGY5LCAweDgwLCAweDE2LCAweDY2LAotCTB4ZjAsIDB4NzMsIDB4MTYsIDB4MDMsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHg3MSwgMHg4MSwgMHgwMCwgMHgxMSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNywKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDksIDB4ZjksIDB4ODAsIDB4MTUsIDB4ODUsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHg3YiwgMHg3MSwgMHg4MSwgMHgwMCwgMHgxMSwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA5LCAweGZiLCAweDgwLCAweDE1LCAweDg1LCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDgsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsCi0JMHgwMCwgMHgxMSwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwOSwgMHhmYiwgMHg4MCwKLQkweDE1LCAweDg1LCAweGYwLCAweDAwLCAweDAwLCAweDEwLCAweDc3LCAweDExLAotCTB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsIDB4MDAsIDB4MTEsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwOSwgMHhmYiwgMHg4MCwgMHgxNSwgMHg4NSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDE4LCAweDc3LCAweDExLCAweDAwLCAweDdiLCAweDcxLCAweDgxLAotCTB4MDAsIDB4MTEsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDksIDB4ZmIsIDB4ODAsCi0JMHgxNSwgMHg4NSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgyMCwgMHg3NywgMHgxMSwKLQkweDAwLCAweDdiLCAweDcxLCAweDgxLCAweDAwLCAweDExLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDksIDB4ZmIsIDB4ODAsIDB4MTUsIDB4ODUsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgyOCwgMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwKLQkweDhhLCAweDExLCAweGY0LCAweGU0LCAweDRhLCAweDExLCAweGVlLCAweGZmLAotCTB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMCwgMHhmZiwgMHhmZiwgMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwKLQkweDE2LCAweDQxLCAweDc3LCAweDExLCAweDAwLCAweDU1LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MWUsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4ZjIsIDB4NzMsCi0JMHgxNiwgMHg0ZSwgMHg3NiwgMHg4MSwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwKLQkweDAwLCAweDdiLCAweDcxLCAweDgxLCAweDAwLCAweDExLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDcsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsCi0JMHgxMCwgMHhlMSwgMHgwMCwgMHgzOSwgMHhmOSwgMHg4MCwgMHgxNiwgMHgwOCwKLQkweGY5LCAweDgwLCAweDE2LCAweDlhLCAweGVlLCAweDAxLCAweDhhLCAweDExLAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHgxMCwgMHg4MSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweDgxLCAweGZhLCAweDQ0LAotCTB4MTYsIDB4NjMsIDB4ZjQsIDB4OTUsIDB4ZWUsIDB4ZmYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMSwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwKLQkweGYwLCAweDEwLCAweDAwLCAweDEwLCAweDRhLCAweDExLCAweDMyLCAweGY4LAotCTB4MDAsIDB4MDgsIDB4ZWUsIDB4ZmYsIDB4NzcsIDB4MTEsIDB4MDAsIDB4MDEsCi0JMHhlOCwgMHgwMSwgMHhlZSwgMHgwMSwgMHhmNCwgMHg4MiwgMHgxYSwgMHg4MSwKLQkweDgwLCAweDgxLCAweDhhLCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweGU0LAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MTAsIDB4NGEsIDB4MTEsIDB4MzIsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHhlZSwgMHhmZiwgMHhlOCwgMHgwMSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDAwLCAweGY0LCAweDgyLCAweGVlLCAweDAxLCAweGY0LCAweDkzLAotCTB4MTgsIDB4ODEsIDB4ODAsIDB4ODEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHhmMCwgMHgxMCwgMHgwMCwgMHgxMCwKLQkweDc3LCAweDExLCAweDAwLCAweDAwLCAweDMyLCAweGY4LCAweDAwLCAweDA4LAotCTB4ZWUsIDB4ZmYsIDB4MTEsIDB4ODEsIDB4ZTgsIDB4MDEsIDB4ZWUsIDB4MDEsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgwMCwgMHhmNCwgMHg4MiwgMHhmMiwgMHhhMCwKLQkweDgwLCAweDgxLCAweDhhLCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweGU0LAotCTB4ZjIsIDB4NzMsIDB4MTYsIDB4OWUsIDB4ZjYsIDB4YmIsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweGYyLCAweDczLCAweDE2LCAweGE2LCAweGY3LCAweGJiLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwNCwKLQkweDAwLCAweDE2LCAweGZiLCAweDgwLCAweDE2LCAweGEyLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwZSwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwZSwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDgwLCAweDgyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwZCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwKLQkweDEwLCAweGU2LCAweDAwLCAweDBkLCAweDgwLCAweDgyLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MGMsCi0JMHgxMCwgMHhlNiwgMHgwMCwgMHgwYywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA1LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MGIsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwYiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwKLQkweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MGEsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwYSwgMHg4MCwgMHg4MiwKLQkweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDksIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDksIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA4LAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwOCwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA3LCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDcsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsCi0JMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDA2LCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDYsIDB4ODAsIDB4ODIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDA1LCAweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLAotCTB4MTAsIDB4ZTYsIDB4MDAsIDB4MDUsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwNCwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDQsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMywgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDEwLCAweGU2LCAweDAwLCAweDAzLAotCTB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwMiwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwMiwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDgwLCAweDgyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMSwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwMSwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDgwLCAweDgyLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMywgMHhlNywgMHg2MiwKLQkweGU1LCAweDAxLCAweGY5LCAweDgwLCAweDE2LCAweDlhLCAweDhhLCAweDE2LAotCTB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwKLQkweDAwLCAweDEyLCAweGVlLCAweGZmLCAweDc2LCAweDgyLCAweDAwLCAweDAwLAotCTB4ZWUsIDB4MDEsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTEsCi0JMHg2OSwgMHg4MSwgMHgwMCwgMHgwMSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHhlZSwgMHhmZiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMSwgMHhlZSwgMHgwMSwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDExLCAweDY5LCAweDgxLAotCTB4MDAsIDB4MDEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MSwKLQkweGYwLCAweDAwLCAweDAwLCAweDk0LCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsIDB4ZmEsIDB4NDQsIDB4MTcsIDB4OWMsCi0JMHhmNCwgMHg5NSwgMHhlZSwgMHhmZiwgMHhmOSwgMHg4MCwgMHgxNiwgMHg1MywKLQkweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLCAweGYwLCAweDAwLAotCTB4MDAsIDB4OTQsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHg3NiwgMHg4MSwgMHgwMCwgMHgwMSwgMHhlZSwgMHgwMSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MjEsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MjAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgyMywgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDIyLCAweDc2LCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MzgsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDcsIDB4MDAsIDB4MzksCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwOCwgMHgwMCwgMHgxNSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA5LCAweDAwLCAweDE0LCAweDc2LCAweGUxLCAweDAwLCAweDBhLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4NDEsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwYywgMHgwMCwgMHg0MCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDBkLCAweDAwLCAweDQzLCAweDc2LCAweGUxLCAweDAwLCAweDBlLAotCTB4MDAsIDB4NDIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGYsIDB4MDAsIDB4NDgsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgxMCwgMHgwMCwgMHg0OSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDExLCAweDAwLCAweDFiLCAweDc2LCAweGUxLCAweDAwLCAweDEyLAotCTB4MDAsIDB4MWEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHhlZSwgMHhmZCwgMHg4OCwgMHgxMSwgMHg1NiwgMHgwNiwKLQkweDRlLCAweDAwLCAweGY5LCAweDgwLCAweDE2LCAweGEyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4N2IsIDB4NzcsIDB4MGUsIDB4MDAsIDB4MDksIDB4MTAsIDB4ODIsCi0JMHgyOCwgMHhmOCwgMHgwMCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgwMCwgMHg5NSwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweDgxLAotCTB4ZjgsIDB4NDUsIDB4MTcsIDB4ZjAsIDB4ZjIsIDB4NzMsIDB4MTcsIDB4ZmQsCi0JMHg3NywgMHgxMSwgMHhmZiwgMHhmZiwgMHg3NiwgMHg4MSwgMHgwMCwgMHgwMSwKLQkweGU5LCAweDAxLCAweDU2LCAweDAwLCAweGYxLCAweDgwLCAweDEwLCAweGY4LAotCTB4MDAsIDB4MGIsIDB4ZjgsIDB4NDUsIDB4MTcsIDB4ZmQsIDB4ZmIsIDB4ODAsCi0JMHgxOCwgMHgxMCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwgMHhmOSwgMHg4MCwKLQkweDE2LCAweDlhLCAweGVlLCAweDAzLCAweDQ4LCAweDExLCAweDhhLCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhlZSwgMHhmZiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMSwKLQkweDAwLCAweDExLCAweGVlLCAweDAxLCAweDEwLCAweDgxLCAweDhhLCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmYsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEwLCAweGZmLCAweGZmLCAweGY0LCAweGE5LCAweGY4LCAweDMwLAotCTB4MTgsIDB4YzMsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDEsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAzLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDA0LCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwNSwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwNiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAxLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDcsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDIwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDgsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA5LAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDBhLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwYiwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwYywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MGQsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MGUsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA3LCAweGY5LCAweDgwLCAweDE2LCAweDc2LCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDgsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NzYsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwNywgMHhmOSwgMHg4MCwgMHgxNiwgMHg2NiwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA4LCAweGY5LCAweDgwLCAweDE2LCAweDY2LCAweGYwLCAweDczLAotCTB4MTgsIDB4ZDEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsCi0JMHhmYiwgMHg4MCwgMHgxOCwgMHgxMCwgMHhmMCwgMHgwMCwgMHgwMCwgMHg5NSwKLQkweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLCAweGZiLCAweDgwLAotCTB4MTgsIDB4MTAsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4OWUsIDB4ZjksIDB4ODAsCi0JMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDg4LCAweDExLCAweGVlLCAweGZmLCAweGY0LCAweDk1LAotCTB4MTAsIDB4MDQsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MTEsCi0JMHhlZSwgMHgwMSwgMHg4MCwgMHg4MSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDRhLCAweDE2LCAweGY0LCAweDk1LAotCTB4NzEsIDB4MDQsIDB4MDAsIDB4MTYsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDEwLCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDEsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MTIsCi0JMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgxMiwKLQkweDEwLCAweGU2LCAweDAwLCAweDAyLCAweDgwLCAweDgyLCAweGU3LCAweDYyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MTMsIDB4ZTUsIDB4MDEsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDg4LCAweDExLCAweGVlLCAweGZmLAotCTB4ZWUsIDB4MDEsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDdiLCAweDEwLCAweDgxLCAweGYwLCAweDAwLCAweDAwLCAweGIzLAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsCi0JMHhmYSwgMHg0NCwgMHgxOSwgMHgyYSwgMHhmNCwgMHg5NSwgMHhlZSwgMHhmZiwKLQkweGY5LCAweDgwLCAweDE2LCAweDUzLCAweDc3LCAweDExLCAweDAwLCAweDdiLAotCTB4MTAsIDB4ODEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4YjMsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3NiwgMHg4MSwgMHgwMCwgMHgwMSwKLQkweGVlLCAweDAxLCAweDc2LCAweGUxLCAweDAwLCAweDAxLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MTMsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwMywgMHgwMCwgMHgyNiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwKLQkweDAwLCAweDI1LCAweDc2LCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDI0LAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwNywgMHgwMCwgMHgxNywgMHg3NiwgMHhlMSwgMHgwMCwgMHgwOCwKLQkweDAwLCAweDMyLCAweDc2LCAweGUxLCAweDAwLCAweDA5LCAweDAwLCAweDMxLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MGEsIDB4MDAsIDB4MzAsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwKLQkweDRhLCAweDE3LCAweGVlLCAweGZmLCAweGY0LCAweDk1LCAweDcxLCAweDA2LAotCTB4MDAsIDB4MTcsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNywgMHhiOCwgMHgxMCwgMHhmOCwgMHgwMCwgMHgxMSwKLQkweGYwLCAweDEwLCAweGZmLCAweGZmLCAweGZhLCAweDQ1LCAweDE5LCAweDczLAotCTB4NzcsIDB4MTYsIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4MTIsIDB4MDAsIDB4N2IsCi0JMHg3NywgMHgwZSwgMHgwMCwgMHgwNSwgMHgxMCwgMHg4MiwgMHgyOCwgMHhmOCwKLQkweDAwLCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweGI0LCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsIDB4ZjgsIDB4NDQsCi0JMHgxOSwgMHg4NCwgMHhmMiwgMHg3MywgMHgxOSwgMHg4NCwgMHhmNCwgMHg5NSwKLQkweGU3LCAweDE2LCAweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4YjQsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHgwMiwgMHgxMCwgMHg4MSwgMHhmOCwgMHg0NSwKLQkweDE5LCAweDZmLCAweDZlLCAweGVhLCAweGZmLCAweGZmLCAweDE5LCAweDdjLAotCTB4NmQsIDB4ZTksIDB4MDAsIDB4MDUsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MTcsCi0JMHgwMCwgMHgwMSwgMHhmYSwgMHgyMCwgMHgxOSwgMHg4ZiwgMHg3NiwgMHg4NiwKLQkweDAwLCAweDAxLCAweGZiLCAweDgwLCAweDE5LCAweDk3LCAweGY0LCAweDk1LAotCTB4NDgsIDB4MTYsIDB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4ZWUsIDB4MDEsCi0JMHg4YSwgMHgxNywgMHg0OCwgMHgxNiwgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweGVlLCAweGZmLCAweGZiLCAweDgwLAotCTB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHhmZiwgMHhmZiwgMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwgMHgxOSwgMHhjYywKLQkweDcxLCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDEyLCAweDY5LCAweDgyLAotCTB4MDAsIDB4MTAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MTIsCi0JMHg2OCwgMHg4MiwgMHhmNywgMHhmZiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDEyLCAweDY4LCAweDgyLCAweGZiLCAweGZmLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MTIsIDB4NjgsIDB4ODIsIDB4ZmYsIDB4ZjAsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweGZmLCAweGZmLCAweDcxLCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4ZmYsIDB4ZmYsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgxMiwgMHg2OSwgMHg4MiwgMHgwMCwgMHgyMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDAyLCAweDAwLCAweDExLCAweGYyLCAweDczLCAweDE5LCAweGRhLAotCTB4NjgsIDB4ODEsIDB4ZmYsIDB4ZWYsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHgxMCwgMHg4MSwgMHhmYiwgMHg4MCwgMHgxOSwgMHg5NywgMHhmMCwgMHgwMCwKLQkweDAwLCAweGI0LCAweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLAotCTB4ZmIsIDB4ODAsIDB4MTksIDB4OTcsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4YjksCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxMSwKLQkweGY0LCAweGU0LCAweDAwLCAweGE0LCAweDAwLCAweDAwLCAweDE5LCAweGRmLAotCTB4MDAsIDB4MDEsIDB4MmEsIDB4ZTYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHgyYSwgMHhlNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgyYSwgMHgxMiwKLQkweDBjLCAweDAxLCAweGMzLCAweDRmLCAweDAwLCAweDAwLCAweDAwLCAweDAxLAotCTB4MmEsIDB4MTUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MmEsIDB4MTYsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxOSwgMHgyYSwgMHg1ZCwKLQkweDAwLCAweDQzLCAweDAwLCAweDZmLCAweDAwLCAweDcwLCAweDAwLCAweDc5LAotCTB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjgsCi0JMHgwMCwgMHg3NCwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NCwgMHgwMCwgMHg2NSwKLQkweDAwLCAweDYzLCAweDAwLCAweDY4LCAweDAwLCAweDZlLCAweDAwLCAweDZmLAotCTB4MDAsIDB4NTQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NmUsCi0JMHgwMCwgMHg2NCwgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg0NywKLQkweDAwLCAweDAwLCAweDAwLCAweDA0LCAweDJhLCAweDc2LCAweDAwLCAweDMwLAotCTB4MDAsIDB4MmUsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MGMsCi0JMHgyYSwgMHg3YSwgMHgwMCwgMHg0NiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2MiwKLQkweDAwLCAweDIwLCAweDAwLCAweDMyLCAweDAwLCAweDM3LCAweDAwLCAweDIwLAotCTB4MDAsIDB4MzIsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzEsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwOSwgMHgyYSwgMHg4NiwgMHgwMCwgMHgzMSwKLQkweDAwLCAweDM0LCAweDAwLCAweDNhLCAweDAwLCAweDMzLCAweDAwLCAweDM1LAotCTB4MDAsIDB4M2EsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwZiwgMHgyYSwgMHg4ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDJhLCAweDllLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4MmEsIDB4OWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHgyYSwgMHhhMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgyYSwgMHhhMSwKLQkweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDJhLCAweGEyLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4MjksIDB4N2UsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsCi0JMHgyOSwgMHg4MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDI5LCAweDgyLCAweGZmLCAweGZmLCAweDAwLCAweDAxLCAweDJhLCAweGE3LAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4MmEsIDB4YTgsIDB4NzEsIDB4NDEsCi0JMHgyMCwgMHgwMCwgMHgyMCwgMHgwMCwgMHgwMCwgMHgyMywgMHgwNCwgMHgwMCwKLQkweDAwLCAweDBhLCAweDJhLCAweGFkLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDBmLCAweDJhLCAweGI3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4NDAsIDB4MDAsIDB4YTAsIDB4ODIsIDB4NDAsCi0JMHgwMCwgMHgwOCwgMHgzMCwgMHg3ZiwgMHgwMCwgMHg4MCwgMHgwMSwgMHg4MCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MjcsIDB4NmUsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHgyNywgMHg2ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDA5LCAweDAwLCAweDAwLCAweDFhLCAweDgzLCAweDA0LCAweGU4LAotCTB4MDQsIDB4Y2YsIDB4MDQsIDB4YzUsIDB4MDQsIDB4YmEsIDB4MDQsIDB4YjAsCi0JMHgwNCwgMHhhYywgMHgwNCwgMHg5YywgMHgwNCwgMHg4YywgMHgwNCwgMHg4MSwKLQkweDAwLCAweDc4LCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhhYSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwMiwgMHgyMywgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA1LCAweGU1LCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDIsIDB4YjUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwZSwgMHgzMywgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDAwLCAweDAwLAotfTsKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItZGVjL3R0dXNiX2RlYy5jIGIvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItZGVjL3R0dXNiX2RlYy5jCmluZGV4IGZlZmRjMDUuLmRlNTgyOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWRlYy90dHVzYl9kZWMuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1kZWMvdHR1c2JfZGVjLmMKQEAgLTEyNzUsNyArMTI3NSw3IEBACiAJdTggYjFbXSA9IHsgMHg2MSB9OwogCXU4ICpiOwogCWNoYXIgaWRzdHJpbmdbMjFdOwotCXU4ICpmaXJtd2FyZSA9IE5VTEw7CisJY29uc3QgdTggKmZpcm13YXJlID0gTlVMTDsKIAlzaXplX3QgZmlybXdhcmVfc2l6ZSA9IDA7CiAJdTE2IGZpcm13YXJlX2NzdW0gPSAwOwogCV9fYmUxNiBmaXJtd2FyZV9jc3VtX25zOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9yYWRpby9taXJvcGNtMjAtcmRzLmMgYi9kcml2ZXJzL21lZGlhL3JhZGlvL21pcm9wY20yMC1yZHMuYwppbmRleCAwNmRmZWQ5Li4zZTg0MGY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3JhZGlvL21pcm9wY20yMC1yZHMuYworKysgYi9kcml2ZXJzL21lZGlhL3JhZGlvL21pcm9wY20yMC1yZHMuYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgpAQCAtMjcsMTMgKzI4LDE2IEBACiAJaWYgKHJkc191c2VycykKIAkJcmV0dXJuIC1FQlVTWTsKIAorCWxvY2tfa2VybmVsKCk7CiAJcmRzX3VzZXJzKys7CiAJaWYgKCh0ZXh0X2J1ZmZlcj1rbWFsbG9jKDY2LCBHRlBfS0VSTkVMKSkgPT0gMCkgewogCQlyZHNfdXNlcnMtLTsKIAkJcHJpbnRrKEtFUk5fTk9USUNFICJhY2ktcmRzOiBPdXQgb2YgbWVtb3J5IGJ5IG9wZW4oKS4uLlxuIik7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2J0OHh4L2J0dHYtY2FyZHMuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vYnQ4eHgvYnR0di1jYXJkcy5jCmluZGV4IDhlZjA0MjQuLjFjNTZhZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vYnQ4eHgvYnR0di1jYXJkcy5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vYnQ4eHgvYnR0di1jYXJkcy5jCkBAIC0zNzY4LDcgKzM3NjgsOCBAQAogI2RlZmluZSBCVFRWX0FMVF9EQ0xLCQkweDEwMDAwMAogI2RlZmluZSBCVFRWX0FMVF9OQ09ORklHCTB4ODAwMDAwCiAKLXN0YXRpYyBpbnQgX19kZXZpbml0IHB2cl9hbHRlcmFfbG9hZChzdHJ1Y3QgYnR0diAqYnR2LCB1OCAqbWljcm8sIHUzMiBtaWNyb2xlbikKK3N0YXRpYyBpbnQgX19kZXZpbml0IHB2cl9hbHRlcmFfbG9hZChzdHJ1Y3QgYnR0diAqYnR2LCBjb25zdCB1OCAqbWljcm8sCisJCQkJICAgICB1MzIgbWljcm9sZW4pCiB7CiAJdTMyIG47CiAJdTggYml0czsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJfY29yZS5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMl9jb3JlLmMKaW5kZXggYzhiOWZkYi4uZjJlOGIxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMl9jb3JlLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMl9jb3JlLmMKQEAgLTMzLDExICszMywxMCBAQAogCiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogCiAvKiAjZGVmaW5lIF9DUElBMl9ERUJVR18gKi8KIAotI2luY2x1ZGUgImNwaWEycGF0Y2guaCIKLQogI2lmZGVmIF9DUElBMl9ERUJVR18KIAogc3RhdGljIGNvbnN0IGNoYXIgKmJsb2NrX25hbWVbXSA9IHsKQEAgLTg5MywyNCArODkyLDUzIEBACiAgKiAgYXBwbHlfdnBfcGF0Y2gKICAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgaW50IGNwaWEyX3NlbmRfb25lYnl0ZV9jb21tYW5kKHN0cnVjdCBjYW1lcmFfZGF0YSAqY2FtLAorCQkJCSAgICAgIHN0cnVjdCBjcGlhMl9jb21tYW5kICpjbWQsCisJCQkJICAgICAgdTggc3RhcnQsIHU4IGRhdHVtKQoreworCWNtZC0+YnVmZmVyLmJsb2NrX2RhdGFbMF0gPSBkYXR1bTsKKwljbWQtPnN0YXJ0ID0gc3RhcnQ7CisJY21kLT5yZWdfY291bnQgPSAxOworCXJldHVybiBjcGlhMl9zZW5kX2NvbW1hbmQoY2FtLCBjbWQpOworfQorCiBzdGF0aWMgaW50IGFwcGx5X3ZwX3BhdGNoKHN0cnVjdCBjYW1lcmFfZGF0YSAqY2FtKQogewotCWludCBpLCBqOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgY2hhciBmd19uYW1lW10gPSAiY3BpYTIvc3R2MDY3Ml92cDQuYmluIjsKKwlpbnQgaSwgcmV0OwogCXN0cnVjdCBjcGlhMl9jb21tYW5kIGNtZDsKIAorCXJldCA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCAmY2FtLT5kZXYtPmRldik7CisJaWYgKHJldCkgeworCQlwcmludGsoS0VSTl9FUlIgImNwaWEyOiBmYWlsZWQgdG8gbG9hZCBWUCBwYXRjaCBcIiVzXCJcbiIsCisJCSAgICAgICBmd19uYW1lKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKIAljbWQucmVxX21vZGUgPSBDQU1FUkFBQ0NFU1NfVFlQRV9SRVBFQVQgfCBDQU1FUkFBQ0NFU1NfVlA7CiAJY21kLmRpcmVjdGlvbiA9IFRSQU5TRkVSX1dSSVRFOwogCi0JZm9yIChpID0gMDsgaSA8IFBBVENIX0RBVEFfU0laRTsgaSsrKSB7Ci0JCWZvciAoaiA9IDA7IGogPCBwYXRjaF9kYXRhW2ldLmNvdW50OyBqKyspIHsKLQkJCWNtZC5idWZmZXIuYmxvY2tfZGF0YVtqXSA9IHBhdGNoX2RhdGFbaV0uZGF0YVtqXTsKLQkJfQorCS8qIEZpcnN0IHNlbmQgdGhlIHN0YXJ0IGFkZHJlc3MuLi4gKi8KKwljcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChjYW0sICZjbWQsIDB4MEEsIGZ3LT5kYXRhWzBdKTsgLyogaGkgKi8KKwljcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChjYW0sICZjbWQsIDB4MEIsIGZ3LT5kYXRhWzFdKTsgLyogbG8gKi8KIAotCQljbWQuc3RhcnQgPSBwYXRjaF9kYXRhW2ldLnJlZzsKLQkJY21kLnJlZ19jb3VudCA9IHBhdGNoX2RhdGFbaV0uY291bnQ7CisJLyogLi4uIGZvbGxvd2VkIGJ5IHRoZSBkYXRhIHBheWxvYWQgKi8KKwlmb3IgKGkgPSAyOyBpIDwgZnctPnNpemU7IGkgKz0gNjQpIHsKKwkJY21kLnN0YXJ0ID0gMHgwQzsgLyogRGF0YSAqLworCQljbWQucmVnX2NvdW50ID0gbWluX3QoaW50LCA2NCwgZnctPnNpemUgLSBpKTsKKwkJbWVtY3B5KGNtZC5idWZmZXIuYmxvY2tfZGF0YSwgJmZ3LT5kYXRhW2ldLCBjbWQucmVnX2NvdW50KTsKIAkJY3BpYTJfc2VuZF9jb21tYW5kKGNhbSwgJmNtZCk7CiAJfQogCisJLyogTmV4dCBzZW5kIHRoZSBzdGFydCBhZGRyZXNzLi4uICovCisJY3BpYTJfc2VuZF9vbmVieXRlX2NvbW1hbmQoY2FtLCAmY21kLCAweDBBLCBmdy0+ZGF0YVswXSk7IC8qIGhpICovCisJY3BpYTJfc2VuZF9vbmVieXRlX2NvbW1hbmQoY2FtLCAmY21kLCAweDBCLCBmdy0+ZGF0YVsxXSk7IC8qIGxvICovCisKKwkvKiAuLi4gZm9sbG93ZWQgYnkgdGhlICdnb3RvJyBjb21tYW5kICovCisJY3BpYTJfc2VuZF9vbmVieXRlX2NvbW1hbmQoY2FtLCAmY21kLCAweDBELCAxKTsKKworCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEycGF0Y2guaCBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJwYXRjaC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjA4NWZiLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJwYXRjaC5oCisrKyAvZGV2L251bGwKQEAgLTEsMjMzICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKgotICogIEZpbGVuYW1lOiBjcGlhMnBhdGNoLmgKLSAqCi0gKiAgQ29weXJpZ2h0IDIwMDEsIFNUTWljcm9sZWN0cm9uaWNzLCBJbmMuCi0gKgotICogIENvbnRhY3Q6ICBzdGV2ZS5taWxsZXJAc3QuY29tCi0gKgotICogIERlc2NyaXB0aW9uOgotICogICAgIFRoaXMgZmlsZSBjb250YWlucyBwYXRjaCBkYXRhIGZvciB0aGUgQ1BpQTIgKHN0djA2NzIpIFZQNC4KLSAqCi0gKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgotICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0jaWZuZGVmIENQSUEyX1BBVENIX0hFQURFUgotI2RlZmluZSBDUElBMl9QQVRDSF9IRUFERVIKLQotdHlwZWRlZiBzdHJ1Y3QgewotCXVuc2lnbmVkIGNoYXIgcmVnOwotCXVuc2lnbmVkIGNoYXIgY291bnQ7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YTsKLX0gY3BpYTJfcGF0Y2g7Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHN0YXJ0X2FkZHJlc3NfaGlbMV0gPSB7Ci0JMHgwMQotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgc3RhcnRfYWRkcmVzc19sb1sxXSA9IHsKLQkweEJDCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazBbNjRdID0gewotCTB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsIDB4RTMsIDB4MDQsIDB4RTMsIDB4MDUsCi0JMHhFMywgMHgwNiwgMHhFMywgMHgwNywgMHg5MywgMHg0NCwgMHg1NiwgMHhENCwKLQkweDkzLCAweDRFLCAweDU2LCAweDUxLCAweDkzLCAweDRFLCAweDUxLCAweEQ2LAotCTB4OTMsIDB4NEUsIDB4NEYsIDB4NTQsIDB4OTMsIDB4NEUsIDB4OTIsIDB4NEYsCi0JMHg5MiwgMHhBNCwgMHg5MywgMHgwNSwgMHg5MiwgMHhGNCwgMHg5MywgMHgxQiwKLQkweDkyLCAweDkyLCAweDkxLCAweEU2LCAweDkyLCAweDM2LCAweDkyLCAweDc0LAotCTB4OTIsIDB4NEEsIDB4OTIsIDB4OEMsIDB4OTIsIDB4OEUsIDB4QzgsIDB4RDAsCi0JMHgwQiwgMHg0MiwgMHgwMiwgMHhBMCwgMHhDQSwgMHg5MiwgMHgwOSwgMHgwMgotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2sxWzY0XSA9IHsKLQkweEM5LCAweDEwLCAweDBBLCAweDBBLCAweDBBLCAweDgxLCAweEUzLCAweEI4LAotCTB4RTMsIDB4QjAsIDB4RTMsIDB4QTgsIDB4RTMsIDB4QTAsIDB4RTMsIDB4OTgsCi0JMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHhDRiwgMHhENywgMHgwQSwgMHgxMiwKLQkweENDLCAweDk1LCAweDA4LCAweEIyLCAweDBBLCAweDE4LCAweEUxLCAweDAwLAotCTB4MDEsIDB4RUUsIDB4MEMsIDB4MDgsIDB4NEEsIDB4MTIsIDB4QzgsIDB4MTgsCi0JMHhGMCwgMHg5QSwgMHhDMCwgMHgyMiwgMHhGMywgMHgxQywgMHg0QSwgMHgxMywKLQkweEYzLCAweDE0LCAweEM4LCAweEEwLCAweEYyLCAweDE0LCAweEYyLCAweDFDLAotCTB4RUIsIDB4MTMsIDB4RDMsIDB4QTIsIDB4NjMsIDB4MTYsIDB4NDgsIDB4OUUKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrMls2NF0gPSB7Ci0JMHhGMCwgMHgxOCwgMHhBNCwgMHgwMywgMHhGMywgMHg5MywgMHhDMCwgMHg1OCwKLQkweEY3LCAweDEzLCAweDUxLCAweDlDLCAweEU5LCAweDIwLCAweENGLCAweEVGLAotCTB4NjMsIDB4RjksIDB4OTIsIDB4MkUsIDB4RDMsIDB4NUYsIDB4NjMsIDB4RkEsCi0JMHg5MiwgMHgyRSwgMHhEMywgMHg2NywgMHg2MywgMHhGQiwgMHg5MiwgMHgyRSwKLQkweEQzLCAweDZGLCAweEU5LCAweDFBLCAweDYzLCAweDE2LCAweDQ4LCAweEE3LAotCTB4RjAsIDB4MjAsIDB4QTQsIDB4MDYsIDB4RjMsIDB4OTQsIDB4QzAsIDB4MjcsCi0JMHhGNywgMHgxNCwgMHhGNSwgMHgxMywgMHg1MSwgMHg5RCwgMHhGNiwgMHgxMywKLQkweDYzLCAweDE4LCAweEM0LCAweDIwLCAweENCLCAweEVGLCAweDYzLCAweEZDCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazNbNjRdID0gewotCTB4OTIsIDB4MkUsIDB4RDMsIDB4NzcsIDB4NjMsIDB4RkQsIDB4OTIsIDB4MkUsCi0JMHhEMywgMHg3RiwgMHg2MywgMHhGRSwgMHg5MiwgMHgyRSwgMHhEMywgMHg4NywKLQkweDYzLCAweEZGLCAweDkyLCAweDJFLCAweEQzLCAweDhGLCAweDY0LCAweDM4LAotCTB4OTIsIDB4MkUsIDB4RDMsIDB4OTcsIDB4NjQsIDB4MzksIDB4OTIsIDB4MkUsCi0JMHhEMywgMHg5RiwgMHhFMSwgMHgwMCwgMHhGNSwgMHgzQSwgMHhGNCwgMHgzQiwKLQkweEY3LCAweEJGLCAweEYyLCAweEJDLCAweEYyLCAweDNELCAweEUxLCAweDAwLAotCTB4ODAsIDB4ODcsIDB4OTAsIDB4ODAsIDB4NTEsIDB4RDUsIDB4MDIsIDB4MjIsCi0JMHgwMiwgMHgzMiwgMHg0QiwgMHhEMywgMHhGNywgMHgxMSwgMHgwQiwgMHhEQQotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2s0WzY0XSA9IHsKLQkweEUxLCAweDAwLCAweDBFLCAweDAyLCAweDAyLCAweDQwLCAweDBELCAweEI1LAotCTB4RTMsIDB4MDIsIDB4NDgsIDB4NTUsIDB4RTUsIDB4MTIsIDB4QTQsIDB4MDEsCi0JMHhFOCwgMHgxQiwgMHhFMywgMHg5MCwgMHhGMCwgMHgxOCwgMHhBNCwgMHgwMSwKLQkweEU4LCAweEJGLCAweDhELCAweEI4LCAweDRCLCAweEQxLCAweDRCLCAweEQ4LAotCTB4MEIsIDB4Q0IsIDB4MEIsIDB4QzIsIDB4RTEsIDB4MDAsIDB4RTMsIDB4MDIsCi0JMHhFMywgMHgwMywgMHg1MiwgMHhEMywgMHg2MCwgMHg1OSwgMHhFNiwgMHg5MywKLQkweDBELCAweDIyLCAweDUyLCAweEQ0LCAweEU2LCAweDkzLCAweDBELCAweDJBLAotCTB4RTMsIDB4OTgsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsIDB4MDIsIDB4NUQKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrNVs2NF0gPSB7Ci0JMHgwMiwgMHg2MywgMHhFMywgMHgwMiwgMHhDOCwgMHgxMiwgMHgwMiwgMHhDQSwKLQkweEM4LCAweDUyLCAweDAyLCAweEMyLCAweDgyLCAweDY4LCAweEUzLCAweDAyLAotCTB4QzgsIDB4MTQsIDB4MDIsIDB4Q0EsIDB4QzgsIDB4OTAsIDB4MDIsIDB4QzIsCi0JMHgwQSwgMHhEMCwgMHhDOSwgMHg5MywgMHgwQSwgMHhEQSwgMHhDQywgMHhEMiwKLQkweDBBLCAweEUyLCAweDYzLCAweDEyLCAweDAyLCAweERBLCAweDBBLCAweDk4LAotCTB4MEEsIDB4QTAsIDB4MEEsIDB4QTgsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsCi0JMHhFMywgMHgwMiwgMHgwQSwgMHhEMCwgMHhDOSwgMHg5MywgMHgwQSwgMHhEQSwKLQkweENDLCAweEQyLCAweDBBLCAweEUyLCAweDYzLCAweDEyLCAweDAyLCAweERBCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazZbNjRdID0gewotCTB4MEEsIDB4OTgsIDB4MEEsIDB4QTAsIDB4MEEsIDB4QTgsIDB4NDksIDB4OTEsCi0JMHhFNSwgMHg2QSwgMHhBNCwgMHgwNCwgMHhDOCwgMHgxMiwgMHgwMiwgMHhDQSwKLQkweEM4LCAweDUyLCAweDgyLCAweDg5LCAweEM4LCAweDE0LCAweDAyLCAweENBLAotCTB4QzgsIDB4OTAsIDB4MDIsIDB4QzIsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsCi0JMHgwOCwgMHg2MCwgMHhFMSwgMHgwMCwgMHg0OCwgMHg1MywgMHhFOCwgMHg5NywKLQkweDA4LCAweDVBLCAweEUxLCAweDAwLCAweEUzLCAweDAyLCAweEUzLCAweDAzLAotCTB4NTQsIDB4RDMsIDB4NjAsIDB4NTksIDB4RTYsIDB4OTMsIDB4MEQsIDB4NTIsCi0JMHhFMywgMHg5OCwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHgwMiwgMHg5QwotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2s3WzY0XSA9IHsKLQkweEUzLCAweDAyLCAweDU1LCAweDEzLCAweDkzLCAweDE3LCAweDU1LCAweDEzLAotCTB4OTMsIDB4MTcsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsIDB4NzUsIDB4MzAsCi0JMHhFMywgMHgwMiwgMHhFMywgMHgwMywgMHg1NSwgMHg1NSwgMHg2MCwgMHg1OSwKLQkweEU2LCAweDkzLCAweDBELCAweEIyLCAweEUzLCAweDk4LCAweEUzLCAweDkwLAotCTB4RTEsIDB4MDAsIDB4MDIsIDB4QUUsIDB4RTcsIDB4OTIsIDB4RTksIDB4MTgsCi0JMHhFQSwgMHg5QSwgMHhFOCwgMHg5OCwgMHhFOCwgMHgxMCwgMHhFOCwgMHgxMSwKLQkweEU4LCAweDUxLCAweEQyLCAweERBLCAweEQyLCAweEYzLCAweEU4LCAweDEzLAotCTB4RDIsIDB4RkEsIDB4RTgsIDB4NTAsIDB4RDIsIDB4RUEsIDB4RTgsIDB4RDAKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrOFs2NF0gPSB7Ci0JMHhFOCwgMHhEMSwgMHhEMywgMHgwQSwgMHgwMywgMHgwOSwgMHg0OCwgMHgyMywKLQkweEU1LCAweDJDLCAweEEwLCAweDAzLCAweDQ4LCAweDI0LCAweEVBLCAweDFDLAotCTB4MDMsIDB4MDgsIDB4RDIsIDB4RTMsIDB4RDMsIDB4MDMsIDB4RDMsIDB4MTMsCi0JMHhFMSwgMHgwMCwgMHgwMiwgMHhDQiwgMHgwNSwgMHg5MywgMHg1NywgMHg5MywKLQkweEYwLCAweDlBLCAweEFDLCAweDBCLCAweEUzLCAweDA3LCAweDkyLCAweEVBLAotCTB4RTIsIDB4OUYsIDB4RTUsIDB4MDYsIDB4RTMsIDB4QjAsIDB4QTAsIDB4MDIsCi0JMHhFQiwgMHgxRSwgMHg4MiwgMHhENywgMHhFQSwgMHgxRSwgMHhFMiwgMHgzQiwKLQkweDg1LCAweDlCLCAweEU5LCAweDFFLCAweEM4LCAweDkwLCAweDg1LCAweDk0Ci19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazlbNjRdID0gewotCTB4MDIsIDB4REUsIDB4MDUsIDB4ODAsIDB4NTcsIDB4OTMsIDB4RjAsIDB4QkEsCi0JMHhBQywgMHgwNiwgMHg5MiwgMHhFQSwgMHhFMiwgMHhCRiwgMHhFNSwgMHgwNiwKLQkweEEwLCAweDAxLCAweEVCLCAweEJGLCAweDg1LCAweDg4LCAweEU5LCAweDNFLAotCTB4QzgsIDB4OTAsIDB4ODUsIDB4ODEsIDB4RTksIDB4M0UsIDB4RjAsIDB4QkEsCi0JMHhGMywgMHgzOSwgMHhGMCwgMHgzQSwgMHg2MCwgMHgxNywgMHhGMCwgMHgzQSwKLQkweEMwLCAweDkwLCAweEYwLCAweEJBLCAweEUxLCAweDAwLCAweDAwLCAweDNGLAotCTB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsIDB4NTgsIDB4MTAsIDB4NjAsIDB4NTksCi0JMHhFNiwgMHg5MywgMHgwRCwgMHhBMiwgMHg1OCwgMHgxMiwgMHhFNiwgMHg5MwotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2sxMFs2NF0gPSB7Ci0JMHgwRCwgMHhBQSwgMHhFMywgMHg5OCwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwKLQkweDAzLCAweDAxLCAweEUxLCAweDAwLCAweDAzLCAweDAzLCAweDlCLCAweDdELAotCTB4OEIsIDB4OEIsIDB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsIDB4NTgsIDB4NTYsCi0JMHg2MCwgMHg1OSwgMHhFNiwgMHg5MywgMHgwRCwgMHhCQSwgMHhFMywgMHg5OCwKLQkweEUzLCAweDkwLCAweEUxLCAweDAwLCAweDAzLCAweDBGLCAweDkzLCAweDExLAotCTB4RTEsIDB4MDAsIDB4RTMsIDB4MDIsIDB4NEEsIDB4MTEsIDB4MEIsIDB4NDIsCi0JMHg5MSwgMHhBRiwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHhGMiwgMHg5MSwKLQkweEYwLCAweDkxLCAweEEzLCAweEZFLCAweEUxLCAweDAwLCAweDYwLCAweDkyCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazExWzY0XSA9IHsKLQkweEMwLCAweDVGLCAweEYwLCAweDEzLCAweEYwLCAweDEzLCAweDU5LCAweDVCLAotCTB4RTIsIDB4MTMsIDB4RjAsIDB4MTEsIDB4NUEsIDB4MTksIDB4RTIsIDB4MTMsCi0JMHhFMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgyNywgMHg2OCwgMHg2MSwKLQkweDc2LCAweDYxLCAweDZFLCAweDYxLCAweDAwLCAweDA2LCAweDAzLCAweDJDLAotCTB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsIDB4RTksIDB4MzgsIDB4NTksIDB4MTUsCi0JMHg1OSwgMHg1QSwgMHhGMiwgMHg5QSwgMHhCQywgMHgwQiwgMHhBNCwgMHgwQSwKLQkweDU5LCAweDFFLCAweEYzLCAweDExLCAweEYwLCAweDFBLCAweEUyLCAweEJCLAotCTB4NTksIDB4MTUsIDB4RjAsIDB4MTEsIDB4MTksIDB4MkEsIDB4RTUsIDB4MDIKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrMTJbNTRdID0gewotCTB4QTQsIDB4MDEsIDB4RUIsIDB4QkYsIDB4RTMsIDB4OTgsIDB4RTMsIDB4OTAsCi0JMHhFMSwgMHgwMCwgMHgwMywgMHg0MiwgMHgxOSwgMHgyOCwgMHhFMSwgMHgwMCwKLQkweEU5LCAweDMwLCAweDYwLCAweDc5LCAweEUxLCAweDAwLCAweEUzLCAweDAzLAotCTB4RTMsIDB4MDcsIDB4NjAsIDB4NzksIDB4OTMsIDB4NEUsIDB4RTMsIDB4QjgsCi0JMHhFMywgMHg5OCwgMHhFMSwgMHgwMCwgMHhFOSwgMHgxQSwgMHhGMCwgMHgxRiwKLQkweEUyLCAweDMzLCAweEYwLCAweDkxLCAweEUyLCAweDkyLCAweEUwLCAweDMyLAotCTB4RjAsIDB4MzEsIDB4RTEsIDB4MDAsIDB4MDAsIDB4MDAKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGRvX2NhbGxbMV0gPSB7Ci0JMHgwMQotfTsKLQotCi0jZGVmaW5lIFBBVENIX0RBVEFfU0laRSAxOAotCi1zdGF0aWMgY29uc3QgY3BpYTJfcGF0Y2ggcGF0Y2hfZGF0YVtQQVRDSF9EQVRBX1NJWkVdID0gewotCXsweDBBLCBzaXplb2Yoc3RhcnRfYWRkcmVzc19oaSksIHN0YXJ0X2FkZHJlc3NfaGl9Ci0JLAkJCS8vIDAKLQl7MHgwQiwgc2l6ZW9mKHN0YXJ0X2FkZHJlc3NfbG8pLCBzdGFydF9hZGRyZXNzX2xvfQotCSwJCQkvLyAxCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazApLCBwYXRjaF9ibG9jazB9Ci0JLAkJCS8vIDIKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMSksIHBhdGNoX2Jsb2NrMX0KLQksCQkJLy8gMwotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2syKSwgcGF0Y2hfYmxvY2syfQotCSwJCQkvLyA0Ci0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazMpLCBwYXRjaF9ibG9jazN9Ci0JLAkJCS8vIDUKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrNCksIHBhdGNoX2Jsb2NrNH0KLQksCQkJLy8gNgotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s1KSwgcGF0Y2hfYmxvY2s1fQotCSwJCQkvLyA3Ci0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazYpLCBwYXRjaF9ibG9jazZ9Ci0JLAkJCS8vIDgKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrNyksIHBhdGNoX2Jsb2NrN30KLQksCQkJLy8gOQotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s4KSwgcGF0Y2hfYmxvY2s4fQotCSwJCQkvLyAxMAotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s5KSwgcGF0Y2hfYmxvY2s5fQotCSwJCQkvLzExCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazEwKSwgcGF0Y2hfYmxvY2sxMH0KLQksCQkJLy8gMTIKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMTEpLCBwYXRjaF9ibG9jazExfQotCSwJCQkvLyAxMwotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2sxMiksIHBhdGNoX2Jsb2NrMTJ9Ci0JLAkJCS8vIDE0Ci0JezB4MEEsIHNpemVvZihzdGFydF9hZGRyZXNzX2hpKSwgc3RhcnRfYWRkcmVzc19oaX0KLQksCQkJLy8gMTUKLQl7MHgwQiwgc2l6ZW9mKHN0YXJ0X2FkZHJlc3NfbG8pLCBzdGFydF9hZGRyZXNzX2xvfQotCSwJCQkvLyAxNgotCXsweDBELCBzaXplb2YoZG9fY2FsbCksIGRvX2NhbGx9CS8vMTcKLX07Ci0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MTgvY3gxOC1hdi1maXJtd2FyZS5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9jeDE4L2N4MTgtYXYtZmlybXdhcmUuYwppbmRleCA1MjZlMTQyLi5hMWE2YWY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MTgvY3gxOC1hdi1maXJtd2FyZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gxOC9jeDE4LWF2LWZpcm13YXJlLmMKQEAgLTI5LDcgKzI5LDcgQEAKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3ID0gTlVMTDsKIAl1MzIgc2l6ZTsKIAl1MzIgdjsKLQl1OCAqcHRyOworCWNvbnN0IHU4ICpwdHI7CiAJaW50IGk7CiAKIAlpZiAocmVxdWVzdF9maXJtd2FyZSgmZncsIEZXRklMRSwgJmN4LT5kZXYtPmRldikgIT0gMCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9jeDI1ODQwL2N4MjU4NDAtZmlybXdhcmUuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gyNTg0MC9jeDI1ODQwLWZpcm13YXJlLmMKaW5kZXggNjIwZDI5NS4uOGQ0ODlhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9jeDI1ODQwL2N4MjU4NDAtZmlybXdhcmUuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MjU4NDAvY3gyNTg0MC1maXJtd2FyZS5jCkBAIC03OSw3ICs3OSw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZndfd3JpdGUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggKmRhdGEsIGludCBzaXplKQorc3RhdGljIGludCBmd193cml0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCBjb25zdCB1OCAqZGF0YSwgaW50IHNpemUpCiB7CiAJaWYgKGkyY19tYXN0ZXJfc2VuZChjbGllbnQsIGRhdGEsIHNpemUpIDwgc2l6ZSkgewogCQl2NGxfZXJyKGNsaWVudCwgImZpcm13YXJlIGxvYWQgaTJjIGZhaWx1cmVcbiIpOwpAQCAtOTMsNyArOTMsOCBAQAogewogCXN0cnVjdCBjeDI1ODQwX3N0YXRlICpzdGF0ZSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncgPSBOVUxMOwotCXU4IGJ1ZmZlcls0XSwgKnB0cjsKKwl1OCBidWZmZXJbRldTRU5EXTsKKwljb25zdCB1OCAqcHRyOwogCWludCBzaXplLCByZXR2YWw7CiAKIAlpZiAoc3RhdGUtPmlzX2N4MjM4ODUpCkBAIC0xMDgsMjkgKzEwOSwyMyBAQAogCiAJYnVmZmVyWzBdID0gMHgwODsKIAlidWZmZXJbMV0gPSAweDAyOwotCWJ1ZmZlclsyXSA9IGZ3LT5kYXRhWzBdOwotCWJ1ZmZlclszXSA9IGZ3LT5kYXRhWzFdOwotCXJldHZhbCA9IGZ3X3dyaXRlKGNsaWVudCwgYnVmZmVyLCA0KTsKIAotCWlmIChyZXR2YWwgPCAwKSB7Ci0JCXJlbGVhc2VfZmlybXdhcmUoZncpOwotCQlyZXR1cm4gcmV0dmFsOwotCX0KLQotCXNpemUgPSBmdy0+c2l6ZSAtIDI7CisJc2l6ZSA9IGZ3LT5zaXplOwogCXB0ciA9IGZ3LT5kYXRhOwogCXdoaWxlIChzaXplID4gMCkgewotCQlwdHJbMF0gPSAweDA4OwotCQlwdHJbMV0gPSAweDAyOwotCQlyZXR2YWwgPSBmd193cml0ZShjbGllbnQsIHB0ciwgbWluKEZXU0VORCwgc2l6ZSArIDIpKTsKKwkJaW50IGxlbiA9IG1pbihGV1NFTkQgLSAyLCBzaXplKTsKKworCQltZW1jcHkoYnVmZmVyICsgMiwgcHRyLCBsZW4pOworCisJCXJldHZhbCA9IGZ3X3dyaXRlKGNsaWVudCwgYnVmZmVyLCBsZW4gKyAyKTsKIAogCQlpZiAocmV0dmFsIDwgMCkgewogCQkJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJCQlyZXR1cm4gcmV0dmFsOwogCQl9CiAKLQkJc2l6ZSAtPSBGV1NFTkQgLSAyOwotCQlwdHIgKz0gRldTRU5EIC0gMjsKKwkJc2l6ZSAtPSBsZW47CisJCXB0ciArPSBsZW47CiAJfQogCiAJZW5kX2Z3X2xvYWQoY2xpZW50KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFiZmlybXdhcmUuaCBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFiZmlybXdhcmUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2JkOTI2My4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYmZpcm13YXJlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNDE1ICswLDAgQEAKLS8qCi0gKiBkYWJkYXRhLmggLSBkYWIgdXNiIGZpcm13YXJlIGFuZCBiaXRzdHJlYW0gZGF0YQotICoKLSAqIENvcHlyaWdodCAoQykgMTk5OSBCYXlDb20gR21iSAotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgcmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZQotICogY29kZSByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgY29tbWVudCB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24uCi0gKi8KLQotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZmlybXdhcmVbXSA9IHsKLQoteyAgMiwgMHgwMDAwLCAwLCB7MHgyMSwweDU3fSB9LAoteyAgMywgMHgwMDAzLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwMGIsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDAxMywgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDFiLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwMjMsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDAyYiwgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDMzLCAwLCB7MHgwMiwweDAzLDB4MGZ9IH0sCi17ICAzLCAweDAwM2IsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDA0MywgMCwgezB4MDIsMHgwMSwweDAwfSB9LAoteyAgMywgMHgwMDRiLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwNTMsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDA1YiwgMCwgezB4MDIsMHgwNCwweGJkfSB9LAoteyAgMywgMHgwMDYzLCAwLCB7MHgwMiwweDAxLDB4Njd9IH0sCi17ICAzLCAweDAxMDAsIDAsIHsweDAyLDB4MGMsMHg1YX0gfSwKLXsgIDMsIDB4MDEwNCwgMCwgezB4MDIsMHgwMSwweGVkfSB9LAoteyAgMywgMHgwMTA4LCAwLCB7MHgwMiwweDAyLDB4NTF9IH0sCi17ICAzLCAweDAxMGMsIDAsIHsweDAyLDB4MDIsMHg3Y30gfSwKLXsgIDMsIDB4MDExMCwgMCwgezB4MDIsMHgwMiwweGU0fSB9LAoteyAgMSwgMHgwMTE0LCAwLCB7MHgzMn0gfSwKLXsgIDEsIDB4MDExOCwgMCwgezB4MzJ9IH0sCi17ICAzLCAweDAxMWMsIDAsIHsweDAyLDB4MDUsMHhmZH0gfSwKLXsgIDMsIDB4MDEyMCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTI0LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxMjgsIDAsIHsweDAyLDB4MDQsMHgzY30gfSwKLXsgIDMsIDB4MDEyYywgMCwgezB4MDIsMHgwNCwweDZhfSB9LAoteyAgMywgMHgwMTMwLCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxMzQsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDEzOCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTNjLCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxNDAsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDE0NCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTQ4LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxNGMsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDE1MCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTU0LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17IDEwLCAweDAxNTcsIDAsIHsweDc1LDB4ODEsMHg3ZiwweGU1LDB4ODIsMHg2MCwweDAzLDB4MDIsMHgwMSwweDYxfSB9LAoteyAgNSwgMHgwMTYxLCAwLCB7MHgxMiwweDA3LDB4NmYsMHgyMSwweDY0fSB9LAoteyAgMSwgMHgwMTY2LCAwLCB7MHgzMn0gfSwKLXsgMTQsIDB4MDE2NywgMCwgezB4YzAsMHhkMCwweGMwLDB4ODYsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHg5MCwweDdmLDB4OTcsMHhlMH0gfSwKLXsgMTQsIDB4MDE3NSwgMCwgezB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDY5LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0gfSwKLXsgMTQsIDB4MDE4MywgMCwgezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0gfSwKLXsgMTQsIDB4MDE5MSwgMCwgezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMH0gfSwKLXsgIDMsIDB4MDE5ZiwgMCwgezB4NTUsMHg3ZiwweGYwfSB9LAoteyAxNCwgMHgwMWEyLCAwLCB7MHg5MCwweDdmLDB4OWEsMHhlMCwweDMwLDB4ZTQsMHgyMywweDkwLDB4N2YsMHg2OCwweGYwLDB4ZjAsMHhmMCwweGYwfSB9LAoteyAxNCwgMHgwMWIwLCAwLCB7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSB9LAoteyAxNCwgMHgwMWJlLCAwLCB7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSB9LAoteyAxNCwgMHgwMWNjLCAwLCB7MHhlNSwweGQ4LDB4YzIsMHhlMywweGY1LDB4ZDgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweDg2fSB9LAoteyAgMywgMHgwMWRhLCAwLCB7MHhkMCwweGQwLDB4MzJ9IH0sCi17ICA4LCAweDAxZGQsIDAsIHsweDc1LDB4ODYsMHgwMCwweDkwLDB4ZmYsMHhjMywweDdjLDB4MDV9IH0sCi17ICA3LCAweDAxZTUsIDAsIHsweGEzLDB4ZTUsMHg4MiwweDQ1LDB4ODMsMHg3MCwweGY5fSB9LAoteyAgMSwgMHgwMWVjLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MDFlZCwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHhkMH0gfSwKLXsgMTQsIDB4MDFmYiwgMCwgezB4NzUsMHhkMCwweDAwLDB4YzAsMHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MX0gfSwKLXsgMTMsIDB4MDIwOSwgMCwgezB4OTAsMHg4OCwweDAwLDB4ZTAsMHhmNSwweDQxLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4OTB9IH0sCi17ICA5LCAweDAyMTYsIDAsIHsweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhlNSwweDMyLDB4NjAsMHgyMX0gfSwKLXsgIDQsIDB4MDIxZiwgMCwgezB4N2EsMHgwMCwweDdiLDB4MDB9IH0sCi17IDExLCAweDAyMjMsIDAsIHsweGMzLDB4ZWEsMHg5NCwweDE4LDB4ZWIsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MTJ9IH0sCi17IDE0LCAweDAyMmUsIDAsIHsweDkwLDB4N2YsMHg2OSwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHgwYSwweGJhLDB4MDB9IH0sCi17ICAyLCAweDAyM2MsIDAsIHsweDAxLDB4MGJ9IH0sCi17ICAyLCAweDAyM2UsIDAsIHsweDgwLDB4ZTN9IH0sCi17ICAyLCAweDAyNDAsIDAsIHsweGQwLDB4ODZ9IH0sCi17IDE0LCAweDAyNDIsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTB9IH0sCi17ICAxLCAweDAyNTAsIDAsIHsweDMyfSB9LAoteyAxNCwgMHgwMjUxLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxNCwgMHgwMjVmLCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwLDB4N2YsMHhhYiwweDc0fSB9LAoteyAgNCwgMHgwMjZkLCAwLCB7MHgwNCwweGYwLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDI3MSwgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDI3YywgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNH0gfSwKLXsgMTQsIDB4MDI4YSwgMCwgezB4YzAsMHgwNSwweGMwLDB4MDYsMHhjMCwweDA3LDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweGQwLDB4NzUsMHhkMH0gfSwKLXsgMTMsIDB4MDI5OCwgMCwgezB4MDAsMHhjMCwweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTB9IH0sCi17IDEyLCAweDAyYTUsIDAsIHsweDdmLDB4YWIsMHg3NCwweDA4LDB4ZjAsMHg3NSwweDZlLDB4MDAsMHg3NSwweDZmLDB4MDIsMHgxMn0gfSwKLXsgIDYsIDB4MDJiMSwgMCwgezB4MTEsMHg0NCwweDc1LDB4NzAsMHgzOSwweDc1fSB9LAoteyAgNiwgMHgwMmI3LCAwLCB7MHg3MSwweDBjLDB4NzUsMHg3MiwweDAyLDB4MTJ9IH0sCi17IDEyLCAweDAyYmQsIDAsIHsweDExLDB4NzUsMHg5MCwweDdmLDB4ZDYsMHhlNCwweGYwLDB4NzUsMHhkOCwweDIwLDB4ZDAsMHg4Nn0gfSwKLXsgMTQsIDB4MDJjOSwgMCwgezB4ZDAsMHhkMCwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDA1LDB4ZDAsMHgwNH0gfSwKLXsgMTMsIDB4MDJkNywgMCwgezB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDAyZTQsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDE0LCAweDAyZjIsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTAsMHg3ZiwweGFiLDB4NzR9IH0sCi17ICA0LCAweDAzMDAsIDAsIHsweDEwLDB4ZjAsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwMzA0LCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwMzBmLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0fSB9LAoteyAxNCwgMHgwMzFkLCAwLCB7MHhjMCwweDA1LDB4YzAsMHgwNiwweGMwLDB4MDcsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4ZDAsMHg3NSwweGQwfSB9LAoteyAxMiwgMHgwMzJiLCAwLCB7MHgwMCwweGMwLDB4ODYsMHg3NSwweDg2LDB4MDAsMHg3NSwweDZlLDB4MDAsMHg3NSwweDZmLDB4MDJ9IH0sCi17ICA3LCAweDAzMzcsIDAsIHsweDEyLDB4MTEsMHg0NCwweDc1LDB4NzAsMHg0MCwweDc1fSB9LAoteyAgNiwgMHgwMzNlLCAwLCB7MHg3MSwweDBjLDB4NzUsMHg3MiwweDAyLDB4MTJ9IH0sCi17IDE0LCAweDAzNDQsIDAsIHsweDExLDB4NzUsMHg5MCwweDdmLDB4ZDYsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDdmLDB4ZDYsMHg3NCwweDA2LDB4ZjB9IH0sCi17ICA1LCAweDAzNTIsIDAsIHsweDc1LDB4ZDgsMHgxMCwweGQwLDB4ODZ9IH0sCi17IDE0LCAweDAzNTcsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17IDEzLCAweDAzNjUsIDAsIHsweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxMywgMHgwMzcyLCAwLCB7MHg5MCwweDdmLDB4YTUsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4YTYsMHg3NCwweDlhLDB4ZjAsMHgxMn0gfSwKLXsgMTIsIDB4MDM3ZiwgMCwgezB4MTAsMHgxYiwweDkwLDB4N2YsMHhhNiwweGU1LDB4NDIsMHhmMCwweDEyLDB4MTAsMHgxYiwweDkwfSB9LAoteyAxMywgMHgwMzhiLCAwLCB7MHg3ZiwweGE2LDB4ZTUsMHg0MywweGYwLDB4MTIsMHgxMCwweDFiLDB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MH0gfSwKLXsgIDEsIDB4MDM5OCwgMCwgezB4ZjB9IH0sCi17ICAxLCAweDAzOTksIDAsIHsweDIyfSB9LAoteyAxMywgMHgwMzlhLCAwLCB7MHg5MCwweDdmLDB4YTUsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4YTYsMHg3NCwweDlhLDB4ZjAsMHgxMn0gfSwKLXsgMTIsIDB4MDNhNywgMCwgezB4MTAsMHgxYiwweDkwLDB4N2YsMHhhNiwweGU1LDB4NDQsMHhmMCwweDEyLDB4MTAsMHgxYiwweDkwfSB9LAoteyAxMiwgMHgwM2IzLCAwLCB7MHg3ZiwweGE2LDB4ZTUsMHg0NSwweGYwLDB4MTIsMHgxMCwweDFiLDB4OTAsMHg3ZiwweGE2LDB4ZTV9IH0sCi17IDExLCAweDAzYmYsIDAsIHsweDQ2LDB4ZjAsMHgxMiwweDEwLDB4MWIsMHg5MCwweDdmLDB4YTUsMHg3NCwweDQwLDB4ZjB9IH0sCi17ICAxLCAweDAzY2EsIDAsIHsweDIyfSB9LAoteyAxMCwgMHgwM2NiLCAwLCB7MHg3NSwweDQ0LDB4MDIsMHg3NSwweDQ1LDB4MDAsMHg3NSwweDQ2LDB4MDAsMHgxMn0gfSwKLXsgIDksIDB4MDNkNSwgMCwgezB4MDMsMHg5YSwweDc1LDB4NDIsMHgwMywweDc1LDB4NDMsMHgwMCwweDEyfSB9LAoteyAgMiwgMHgwM2RlLCAwLCB7MHgwMywweDcyfSB9LAoteyAgMSwgMHgwM2UwLCAwLCB7MHgyMn0gfSwKLXsgMTIsIDB4MDNlMSwgMCwgezB4OTAsMHg4OCwweDAwLDB4ZTUsMHgzNiwweGYwLDB4OTAsMHg4OCwweDAwLDB4NzQsMHgxMCwweDI1fSB9LAoteyAgOSwgMHgwM2VkLCAwLCB7MHgzNiwweGYwLDB4MTIsMHgwMSwweGRkLDB4NzUsMHg0MiwweDAxLDB4NzV9IH0sCi17ICA5LCAweDAzZjYsIDAsIHsweDQzLDB4MTgsMHgxMiwweDAzLDB4NzIsMHg3NSwweDQ0LDB4MDIsMHg3NX0gfSwKLXsgIDksIDB4MDNmZiwgMCx7MHg0NSwweDAwLDB4NzUsMHg0NiwweDAwLDB4MTIsMHgwMywweDlhLDB4NzV9IH0sCi17ICA4LCAweDA0MDgsIDAsezB4NDIsMHgwMywweDc1LDB4NDMsMHg0NCwweDEyLDB4MDMsMHg3Mn0gfSwKLXsgIDEsIDB4MDQxMCwgMCx7MHgyMn0gfSwKLXsgMTQsIDB4MDQxMSwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTQsIDB4MDQxZiwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MCwweDdmLDB4YWEsMHg3NH0gfSwKLXsgIDQsIDB4MDQyZCwgMCwgezB4MDIsMHhmMCwweGQwLDB4ODZ9IH0sCi17IDExLCAweDA0MzEsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDA0M2MsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDE0LCAweDA0NGEsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTAsMHg3ZiwweGE5LDB4NzR9IH0sCi17ICA3LCAweDA0NTgsIDAsIHsweDA0LDB4ZjAsMHg3NSwweDMwLDB4MDEsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwNDVmLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwNDZhLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxNCwgMHgwNDc4LCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwLDB4N2YsMHhhYSwweDc0fSB9LAoteyAgNywgMHgwNDg2LCAwLCB7MHgwNCwweGYwLDB4NzUsMHgzMSwweDAxLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDQ4ZCwgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDQ5OCwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTIsIDB4MDRhNiwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNSwweGY1LDB4OTEsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwNGIyLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwNGJkLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxMiwgMHgwNGNiLCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU3LDB4ZjUsMHg5MSwweGQwLDB4ODZ9IH0sCi17IDExLCAweDA0ZDcsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDEyLCAweDA0ZTIsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmEsMHg4YSwweDIwLDB4OTAsMHg3ZiwweDk2LDB4ZTQsMHhmMH0gfSwKLXsgIDEsIDB4MDRlZSwgMCwgezB4MjJ9IH0sCi17ICA3LCAweDA0ZWYsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmEsMHg4YSwweDIxfSB9LAoteyAgMSwgMHgwNGY2LCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MDRmNywgMCwgezB4OTAsMHgxNywweDEzLDB4ZTAsMHhmYSwweDkwLDB4MTcsMHgxNSwweGUwLDB4ZmIsMHg3NCwweDgwLDB4MmEsMHhmYX0gfSwKLXsgMTQsIDB4MDUwNSwgMCwgezB4NzQsMHg4MCwweDJiLDB4ZmIsMHhlYSwweDAzLDB4MDMsMHg1NCwweDNmLDB4ZmMsMHhlYSwweGM0LDB4MjMsMHg1NH0gfSwKLXsgMTQsIDB4MDUxMywgMCwgezB4MWYsMHhmYSwweDJjLDB4ZmEsMHhlYiwweDAzLDB4MDMsMHg1NCwweDNmLDB4ZmMsMHhlYiwweGM0LDB4MjMsMHg1NH0gfSwKLXsgMTEsIDB4MDUyMSwgMCwgezB4MWYsMHhmYiwweDJjLDB4ZmIsMHg5MCwweDE3LDB4MGEsMHhlMCwweGZjLDB4NjAsMHgwMn0gfSwKLXsgIDIsIDB4MDUyYywgMCwgezB4N2EsMHgwMH0gfSwKLXsgIDcsIDB4MDUyZSwgMCwgezB4OTAsMHgxNywweDBjLDB4ZTAsMHhmYywweDYwLDB4MDJ9IH0sCi17ICAyLCAweDA1MzUsIDAsIHsweDdiLDB4MDB9IH0sCi17IDExLCAweDA1MzcsIDAsIHsweGVhLDB4MmIsMHhmYywweGMzLDB4MTMsMHhmNSwweDNhLDB4NzUsMHg0NCwweDAyLDB4OGJ9IH0sCi17ICA3LCAweDA1NDIsIDAsIHsweDQ1LDB4OGEsMHg0NiwweDEyLDB4MDMsMHg5YSwweDc1fSB9LAoteyAgOSwgMHgwNTQ5LCAwLCB7MHg2ZSwweDA4LDB4NzUsMHg2ZiwweDAwLDB4MTIsMHgxMSwweDQ0LDB4NzV9IH0sCi17ICA0LCAweDA1NTIsIDAsIHsweDcwLDB4NDcsMHg3NSwweDcxfSB9LAoteyAgOCwgMHgwNTU2LCAwLCB7MHgwYywweDc1LDB4NzIsMHgwMiwweDEyLDB4MTEsMHg3NSwweDg1fSB9LAoteyAgNSwgMHgwNTVlLCAwLCB7MHgzYSwweDczLDB4MTIsMHgxMSwweGEwfSB9LAoteyAgMSwgMHgwNTYzLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MDU2NCwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHg5NiwweDc0LDB4ODAsMHg2NSwweDAyLDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDU3MiwgMCwgezB4N2YsMHhlYiwweGUwLDB4ZmEsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZiLDB4OTAsMHg3ZiwweGVmLDB4ZTAsMHhmY30gfSwKLXsgMTQsIDB4MDU4MCwgMCwgezB4MzMsMHg5NSwweGUwLDB4ZmQsMHg4YywweDA1LDB4N2MsMHgwMCwweDkwLDB4N2YsMHhlZSwweGUwLDB4ZmUsMHgzM30gfSwKLXsgMTQsIDB4MDU4ZSwgMCwgezB4OTUsMHhlMCwweGZmLDB4ZWMsMHgyZSwweGZjLDB4ZWQsMHgzZiwweGZkLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHhmZX0gfSwKLXsgIDUsIDB4MDU5YywgMCwgezB4YmUsMHgwMSwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MDVhMSwgMCwgezB4MDIsMHgwNSwweGY5fSB9LAoteyAgNiwgMHgwNWE0LCAwLCB7MHhiYywweDAxLDB4MjEsMHhiZCwweDAwLDB4MWV9IH0sCi17IDE0LCAweDA1YWEsIDAsIHsweGVhLDB4YzQsMHgwMywweDU0LDB4ZjgsMHhmYywweGViLDB4MjUsMHhlMCwweGZkLDB4MmMsMHgyNCwweDAwLDB4ZmN9IH0sCi17IDE0LCAweDA1YjgsIDAsIHsweGU0LDB4MzQsMHgxNywweGZkLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZSwweDhjLDB4ODIsMHg4ZCwweDgzLDB4ZjB9IH0sCi17ICAyLCAweDA1YzYsIDAsIHsweDgwLDB4MzF9IH0sCi17IDE0LCAweDA1YzgsIDAsIHsweGVhLDB4YzQsMHgwMywweDU0LDB4ZjgsMHhmYSwweGViLDB4MjUsMHhlMCwweGZiLDB4MmEsMHhmYSwweDI0LDB4MDB9IH0sCi17IDE0LCAweDA1ZDYsIDAsIHsweGZiLDB4ZTQsMHgzNCwweDE3LDB4ZmMsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZkLDB4OGIsMHg4MiwweDhjLDB4ODN9IH0sCi17IDE0LCAweDA1ZTQsIDAsIHsweGYwLDB4NzQsMHgwMSwweDJhLDB4MjQsMHgwMCwweGZhLDB4ZTQsMHgzNCwweDE3LDB4ZmIsMHg5MCwweDdlLDB4YzF9IH0sCi17ICA3LCAweDA1ZjIsIDAsIHsweGUwLDB4ZmMsMHg4YSwweDgyLDB4OGIsMHg4MywweGYwfSB9LAoteyAgMywgMHgwNWY5LCAwLCB7MHg3NSwweDM4LDB4MDF9IH0sCi17ICAxLCAweDA1ZmMsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwNWZkLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0fSB9LAoteyAxNCwgMHgwNjBiLCAwLCB7MHhjMCwweDA1LDB4YzAsMHgwNiwweGMwLDB4MDcsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4ZDAsMHg3NSwweGQwfSB9LAoteyAxMywgMHgwNjE5LCAwLCB7MHgwMCwweGMwLDB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MH0gfSwKLXsgMTMsIDB4MDYyNiwgMCwgezB4N2YsMHhhYSwweDc0LDB4MDEsMHhmMCwweDEyLDB4MDUsMHg2NCwweDc1LDB4MzcsMHgwMCwweGQwLDB4ODZ9IH0sCi17IDE0LCAweDA2MzMsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17IDEzLCAweDA2NDEsIDAsIHsweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwNjRlLCAwLCB7MHg5MCwweDdmLDB4ZWIsMHhlMCwweGZhLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYiwweDkwLDB4N2YsMHhlZSwweGUwfSB9LAoteyAxNCwgMHgwNjVjLCAwLCB7MHhmYywweDMzLDB4OTUsMHhlMCwweGZkLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmZSwweDkwLDB4N2YsMHg5NiwweDc0fSB9LAoteyAxNCwgMHgwNjZhLCAwLCB7MHg4MCwweDY1LDB4MDYsMHhmMCwweDkwLDB4N2YsMHgwMCwweDc0LDB4MDEsMHhmMCwweGVhLDB4YzQsMHgwMywweDU0fSB9LAoteyAxNCwgMHgwNjc4LCAwLCB7MHhmOCwweGZlLDB4ZWIsMHgyNSwweGUwLDB4ZmIsMHgyZSwweGZlLDB4MjQsMHgwMCwweGZiLDB4ZTQsMHgzNCwweDE3fSB9LAoteyAxNCwgMHgwNjg2LCAwLCB7MHhmZiwweDhiLDB4ODIsMHg4ZiwweDgzLDB4ZTAsMHhmYiwweDc0LDB4MDEsMHgyZSwweDI0LDB4MDAsMHhmZSwweGU0fSB9LAoteyAxNCwgMHgwNjk0LCAwLCB7MHgzNCwweDE3LDB4ZmYsMHg4ZSwweDgyLDB4OGYsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZTksMHhlMCwweGZmfSB9LAoteyAgMywgMHgwNmEyLCAwLCB7MHhiZiwweDgxLDB4MGF9IH0sCi17IDEwLCAweDA2YTUsIDAsIHsweDkwLDB4N2YsMHgwMCwweGViLDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlZSwweGYwfSB9LAoteyAgOCwgMHgwNmFmLCAwLCB7MHg5MCwweDdmLDB4ZTksMHhlMCwweGZiLDB4YmIsMHg4MiwweDFhfSB9LAoteyAgMywgMHgwNmI3LCAwLCB7MHhiYSwweDAxLDB4MGN9IH0sCi17IDEyLCAweDA2YmEsIDAsIHsweDkwLDB4N2YsMHgwMCwweGU0LDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4ODAsMHgwYn0gfSwKLXsgMTEsIDB4MDZjNiwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHgwMSwweDc0LDB4YjUsMHhmMH0gfSwKLXsgIDgsIDB4MDZkMSwgMCwgezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHhmYiwweGJiLDB4ODMsMHgxYn0gfSwKLXsgIDMsIDB4MDZkOSwgMCwgezB4YmEsMHgwMSwweDBkfSB9LAoteyAxMywgMHgwNmRjLCAwLCB7MHg5MCwweDdmLDB4MDAsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4ODAsMHgwYn0gfSwKLXsgMTEsIDB4MDZlOSwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHgwMSwweDc0LDB4MTIsMHhmMH0gfSwKLXsgIDgsIDB4MDZmNCwgMCwgezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHhmYiwweGJiLDB4ODQsMHgxY30gfSwKLXsgIDMsIDB4MDZmYywgMCwgezB4YmEsMHgwMSwweDBkfSB9LAoteyAxMywgMHgwNmZmLCAwLCB7MHg5MCwweDdmLDB4MDAsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4ODAsMHgwY30gfSwKLXsgMTIsIDB4MDcwYywgMCwgezB4OTAsMHg3ZiwweDAwLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDAxLDB4NzQsMHgwMSwweGYwfSB9LAoteyAgNSwgMHgwNzE4LCAwLCB7MHg5MCwweDdmLDB4YjUsMHhlYywweGYwfSB9LAoteyAgMSwgMHgwNzFkLCAwLCB7MHgyMn0gfSwKLXsgMTIsIDB4MDcxZSwgMCwgezB4NzUsMHgzNiwweDBkLDB4OTAsMHg4OCwweDAwLDB4NzQsMHgxZCwweGYwLDB4NzUsMHg2YiwweDgwfSB9LAoteyAxMCwgMHgwNzJhLCAwLCB7MHg3NSwweDZjLDB4M2MsMHgxMiwweDEwLDB4ZTIsMHg3NSwweDZiLDB4ODAsMHg3NX0gfSwKLXsgIDksIDB4MDczNCwgMCwgezB4NmMsMHgwZiwweDEyLDB4MTAsMHhlMiwweDc1LDB4NmIsMHg4MCwweDc1fSB9LAoteyAgOSwgMHgwNzNkLCAwLCB7MHg2YywweDA2LDB4MTIsMHgxMCwweGUyLDB4NzUsMHg2YiwweDgwLDB4NzV9IH0sCi17ICA3LCAweDA3NDYsIDAsIHsweDZjLDB4MDEsMHgxMiwweDEwLDB4ZTIsMHg3YSwweDAwfSB9LAoteyAgMywgMHgwNzRkLCAwLCB7MHhiYSwweGZmLDB4MDB9IH0sCi17ICAyLCAweDA3NTAsIDAsIHsweDUwLDB4MGF9IH0sCi17IDEwLCAweDA3NTIsIDAsIHsweGMwLDB4MDIsMHgxMiwweDAxLDB4ZGQsMHhkMCwweDAyLDB4MGEsMHg4MCwweGYxfSB9LAoteyAxMCwgMHgwNzVjLCAwLCB7MHg3NSwweDZiLDB4ODAsMHg3NSwweDZjLDB4M2MsMHgxMiwweDEwLDB4ZTIsMHg3NX0gfSwKLXsgIDgsIDB4MDc2NiwgMCwgezB4NmIsMHg4MCwweDc1LDB4NmMsMHgwZiwweDEyLDB4MTAsMHhlMn0gfSwKLXsgIDEsIDB4MDc2ZSwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDA3NmYsIDAsIHsweDkwLDB4N2YsMHhhMSwweGU0LDB4ZjAsMHg5MCwweDdmLDB4YWYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4OTJ9IH0sCi17IDE0LCAweDA3N2QsIDAsIHsweDc0LDB4MDIsMHhmMCwweDc1LDB4OGUsMHgzMSwweDc1LDB4ODksMHgyMSwweDc1LDB4ODgsMHgwMCwweDc1LDB4Yzh9IH0sCi17IDE0LCAweDA3OGIsIDAsIHsweDAwLDB4NzUsMHg4ZCwweDQwLDB4NzUsMHg5OCwweDQwLDB4NzUsMHhjMCwweDQwLDB4NzUsMHg4NywweDAwLDB4NzV9IH0sCi17ICA5LCAweDA3OTksIDAsIHsweDIwLDB4MDAsMHg3NSwweDIxLDB4MDAsMHg3NSwweDIyLDB4MDAsMHg3NX0gfSwKLXsgIDUsIDB4MDdhMiwgMCwgezB4MjMsMHgwMCwweDc1LDB4NDcsMHgwMH0gfSwKLXsgIDcsIDB4MDdhNywgMCwgezB4YzMsMHhlNSwweDQ3LDB4OTQsMHgyMCwweDUwLDB4MTF9IH0sCi17IDEzLCAweDA3YWUsIDAsIHsweGU1LDB4NDcsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHgxNywweGY1LDB4ODMsMHhlNCwweGYwfSB9LAoteyAgNCwgMHgwN2JiLCAwLCB7MHgwNSwweDQ3LDB4ODAsMHhlOH0gfSwKLXsgIDksIDB4MDdiZiwgMCwgezB4ZTQsMHhmNSwweDQwLDB4ZjUsMHgzZiwweGU0LDB4ZjUsMHgzYywweGY1fSB9LAoteyAgNywgMHgwN2M4LCAwLCB7MHgzYiwweGU0LDB4ZjUsMHgzZSwweGY1LDB4M2QsMHg3NX0gfSwKLXsgMTEsIDB4MDdjZiwgMCwgezB4MzIsMHgwMCwweDc1LDB4MzcsMHgwMCwweDc1LDB4MzksMHgwMCwweDkwLDB4N2YsMHg5M30gfSwKLXsgMTQsIDB4MDdkYSwgMCwgezB4NzQsMHgzYywweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg4MH0gfSwKLXsgMTQsIDB4MDdlOCwgMCwgezB4ZjAsMHg5MCwweDdmLDB4OTQsMHg3NCwweDcwLDB4ZjAsMHg5MCwweDdmLDB4OWQsMHg3NCwweDhmLDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDdmNiwgMCwgezB4N2YsMHg5NywweGU0LDB4ZjAsMHg5MCwweDdmLDB4OTUsMHg3NCwweGMyLDB4ZjAsMHg5MCwweDdmLDB4OTgsMHg3NH0gfSwKLXsgMTQsIDB4MDgwNCwgMCwgezB4MjgsMHhmMCwweDkwLDB4N2YsMHg5ZSwweDc0LDB4MjgsMHhmMCwweDkwLDB4N2YsMHhmMCwweGU0LDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDgxMiwgMCwgezB4N2YsMHhmMSwweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZjIsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGYzLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MDgyMCwgMCwgezB4OTAsMHg3ZiwweGY0LDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhmNSwweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZjYsMHhlNH0gfSwKLXsgMTQsIDB4MDgyZSwgMCwgezB4ZjAsMHg5MCwweDdmLDB4ZjcsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGY4LDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhmOX0gfSwKLXsgMTQsIDB4MDgzYywgMCwgezB4NzQsMHgzOCwweGYwLDB4OTAsMHg3ZiwweGZhLDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweGZiLDB4NzQsMHhhMH0gfSwKLXsgMTQsIDB4MDg0YSwgMCwgezB4ZjAsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4ZmQsMHg3NCwweGEwLDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDg1OCwgMCwgezB4N2YsMHhmZSwweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHhlMH0gfSwKLXsgMTQsIDB4MDg2NiwgMCwgezB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweGUxLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGRkLDB4NzQsMHg4MH0gfSwKLXsgMTEsIDB4MDg3NCwgMCwgezB4ZjAsMHgxMiwweDEyLDB4NDMsMHgxMiwweDA3LDB4MWUsMHg3YSwweDAwLDB4N2IsMHgwMH0gfSwKLXsgIDksIDB4MDg3ZiwgMCwgezB4YzMsMHhlYSwweDk0LDB4MWUsMHhlYiwweDk0LDB4MDAsMHg1MCwweDE3fSB9LAoteyAxMiwgMHgwODg4LCAwLCB7MHg5MCwweDg4LDB4MDAsMHhlMCwweGY1LDB4NDcsMHg5MCwweDg4LDB4MGIsMHhlMCwweGY1LDB4NDd9IH0sCi17ICA5LCAweDA4OTQsIDAsIHsweDkwLDB4N2YsMHg2OCwweGYwLDB4MGEsMHhiYSwweDAwLDB4MDEsMHgwYn0gfSwKLXsgIDIsIDB4MDg5ZCwgMCwgezB4ODAsMHhlMH0gfSwKLXsgMTIsIDB4MDg5ZiwgMCwgezB4MTIsMHgwMywweGUxLDB4OTAsMHg3ZiwweGQ2LDB4ZTQsMHhmMCwweDdhLDB4MDAsMHg3YiwweDAwfSB9LAoteyAxMywgMHgwOGFiLCAwLCB7MHg4YSwweDA0LDB4OGIsMHgwNSwweGMzLDB4ZWEsMHg5NCwweGUwLDB4ZWIsMHg5NCwweDJlLDB4NTAsMHgxYX0gfSwKLXsgMTQsIDB4MDhiOCwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDUsMHhkMH0gfSwKLXsgMTAsIDB4MDhjNiwgMCwgezB4MDQsMHhkMCwweDAzLDB4ZDAsMHgwMiwweDBhLDB4YmEsMHgwMCwweDAxLDB4MGJ9IH0sCi17ICAyLCAweDA4ZDAsIDAsIHsweDgwLDB4ZDl9IH0sCi17IDEzLCAweDA4ZDIsIDAsIHsweDkwLDB4N2YsMHhkNiwweDc0LDB4MDIsMHhmMCwweDkwLDB4N2YsMHhkNiwweDc0LDB4MDYsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwOGRmLCAwLCB7MHg3ZiwweGRlLDB4NzQsMHgwNSwweGYwLDB4OTAsMHg3ZiwweGRmLDB4NzQsMHgwNSwweGYwLDB4OTAsMHg3ZiwweGFjfSB9LAoteyAxNCwgMHgwOGVkLCAwLCB7MHhlNCwweGYwLDB4OTAsMHg3ZiwweGFkLDB4NzQsMHgwNSwweGYwLDB4NzUsMHhhOCwweDgwLDB4NzUsMHhmOCwweDEwfSB9LAoteyAxMywgMHgwOGZiLCAwLCB7MHg5MCwweDdmLDB4YWUsMHg3NCwweDBiLDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDg4LDB4ZjAsMHg5MH0gfSwKLXsgMTIsIDB4MDkwOCwgMCwgezB4N2YsMHhhYiwweDc0LDB4MDgsMHhmMCwweDc1LDB4ZTgsMHgxMSwweDc1LDB4MzIsMHgwMSwweDc1fSB9LAoteyAxMiwgMHgwOTE0LCAwLCB7MHgzMSwweDAwLDB4NzUsMHgzMCwweDAwLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDA0LDB4Zjd9IH0sCi17IDEwLCAweDA5MjAsIDAsIHsweGQwLDB4MDUsMHhkMCwweDA0LDB4NzUsMHgzNCwweDAwLDB4NzUsMHgzNSwweDAxfSB9LAoteyAxMywgMHgwOTJhLCAwLCB7MHg5MCwweDdmLDB4YWUsMHg3NCwweDAzLDB4ZjAsMHg4YywweDAyLDB4YmEsMHgwMCwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MDkzNywgMCwgezB4MDIsMHgwYSwweDNmfSB9LAoteyAxMiwgMHgwOTNhLCAwLCB7MHg4NSwweDMzLDB4MzQsMHg5MCwweDdmLDB4OWQsMHg3NCwweDhmLDB4ZjAsMHg5MCwweDdmLDB4OTd9IH0sCi17IDE0LCAweDA5NDYsIDAsIHsweDc0LDB4MDgsMHhmMCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4ODgsMHhmMCwweDkwLDB4N2YsMHg5YSwweGUwLDB4ZmF9IH0sCi17IDEyLCAweDA5NTQsIDAsIHsweDc0LDB4MDUsMHg1YSwweGY1LDB4MzMsMHg5MCwweDdmLDB4OWQsMHg3NCwweDhmLDB4ZjAsMHg5MH0gfSwKLXsgMTMsIDB4MDk2MCwgMCwgezB4N2YsMHg5NywweDc0LDB4MDIsMHhmMCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4ODIsMHhmMCwweGU1LDB4MzN9IH0sCi17IDEzLCAweDA5NmQsIDAsIHsweDI1LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHg5YSwweGUwLDB4NTQsMHgwNSwweGZiLDB4NGEsMHhmNSwweDMzfSB9LAoteyAgMiwgMHgwOTdhLCAwLCB7MHg2MCwweDBjfSB9LAoteyAxMiwgMHgwOTdjLCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg4MCwweDRhLDB4ZjB9IH0sCi17IDExLCAweDA5ODgsIDAsIHsweDc1LDB4NmUsMHgwMCwweDc1LDB4NmYsMHgwMCwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTJ9IH0sCi17IDE0LCAweDA5OTMsIDAsIHsweDExLDB4NDQsMHhkMCwweDA1LDB4ZDAsMHgwNCwweDkwLDB4MTcsMHgxMywweGUwLDB4ZmEsMHg3NCwweDgwLDB4MmF9IH0sCi17ICA2LCAweDA5YTEsIDAsIHsweGZhLDB4ZTUsMHgzMywweGI0LDB4MDQsMHgyOX0gfSwKLXsgIDMsIDB4MDlhNywgMCwgezB4YmEsMHhhMCwweDAwfSB9LAoteyAgMiwgMHgwOWFhLCAwLCB7MHg1MCwweDI0fSB9LAoteyAxMywgMHgwOWFjLCAwLCB7MHg5MCwweDE3LDB4MTMsMHhlMCwweDA0LDB4ZmIsMHgwYiwweDkwLDB4MTcsMHgxMywweGViLDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDliOSwgMCwgezB4MTcsMHgxMywweGUwLDB4ZmIsMHg5MCwweDE3LDB4MTUsMHhmMCwweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNX0gfSwKLXsgIDksIDB4MDljNywgMCwgezB4MTIsMHgwNCwweGY3LDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMCwweDAyfSB9LAoteyAgNSwgMHgwOWQwLCAwLCB7MHhlNSwweDMzLDB4YjQsMHgwMiwweDI2fSB9LAoteyAgNiwgMHgwOWQ1LCAwLCB7MHhjMywweDc0LDB4MDQsMHg5YSwweDUwLDB4MjB9IH0sCi17IDEzLCAweDA5ZGIsIDAsIHsweDkwLDB4MTcsMHgxMywweGUwLDB4ZmEsMHgxYSwweDFhLDB4OTAsMHgxNywweDEzLDB4ZWEsMHhmMCwweDkwfSB9LAoteyAxMywgMHgwOWU4LCAwLCB7MHgxNywweDEzLDB4ZTAsMHhmYSwweDkwLDB4MTcsMHgxNSwweGYwLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMn0gfSwKLXsgIDYsIDB4MDlmNSwgMCwgezB4MDQsMHhmNywweGQwLDB4MDUsMHhkMCwweDA0fSB9LAoteyAgNSwgMHgwOWZiLCAwLCB7MHhlNSwweDMzLDB4YjQsMHgwOCwweDFkfSB9LAoteyAgNCwgMHgwYTAwLCAwLCB7MHhlNSwweDM0LDB4NzAsMHgxOX0gfSwKLXsgMTAsIDB4MGEwNCwgMCwgezB4NzQsMHgwMSwweDI1LDB4MzUsMHg1NCwweDBmLDB4ZjUsMHgzNSwweDg1LDB4MzV9IH0sCi17IDEyLCAweDBhMGUsIDAsIHsweDc1LDB4NzUsMHg3NiwweDAwLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEzLDB4ZmUsMHhkMH0gfSwKLXsgIDMsIDB4MGExYSwgMCwgezB4MDUsMHhkMCwweDA0fSB9LAoteyAgNSwgMHgwYTFkLCAwLCB7MHhlNSwweDMzLDB4YjQsMHgwMSwweDFkfSB9LAoteyAgNCwgMHgwYTIyLCAwLCB7MHhlNSwweDM0LDB4NzAsMHgxOX0gfSwKLXsgMTAsIDB4MGEyNiwgMCwgezB4ZTUsMHgzNSwweDI0LDB4ZmYsMHg1NCwweDBmLDB4ZjUsMHgzNSwweDg1LDB4MzV9IH0sCi17IDEyLCAweDBhMzAsIDAsIHsweDc1LDB4NzUsMHg3NiwweDAwLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEzLDB4ZmUsMHhkMH0gfSwKLXsgIDMsIDB4MGEzYywgMCwgezB4MDUsMHhkMCwweDA0fSB9LAoteyAxNCwgMHgwYTNmLCAwLCB7MHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDUsMHhkMCwweDA0LDB4OTAsMHg3ZiwweDk2fSB9LAoteyAxNCwgMHgwYTRkLCAwLCB7MHhlMCwweGZhLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg3ZiwweDVhLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHg3NCwweDA4fSB9LAoteyAxMCwgMHgwYTViLCAwLCB7MHhmMCwweGMzLDB4ZWMsMHg5NCwweDAwLDB4ZWQsMHg5NCwweDAyLDB4NDAsMHgwOH0gfSwKLXsgIDgsIDB4MGE2NSwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYSwweDIwLDB4ZTYsMHgwOH0gfSwKLXsgIDgsIDB4MGE2ZCwgMCwgezB4YzMsMHhlNCwweDljLDB4NzQsMHgwOCwweDlkLDB4NTAsMHgxM30gfSwKLXsgMTQsIDB4MGE3NSwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHg5NiwweDc0LDB4NDAsMHg2NSwweDAyLDB4ZjAsMHg3Y30gfSwKLXsgIDUsIDB4MGE4MywgMCwgezB4MDAsMHg3ZCwweDAwLDB4ODAsMHgwNX0gfSwKLXsgIDUsIDB4MGE4OCwgMCwgezB4MGMsMHhiYywweDAwLDB4MDEsMHgwZH0gfSwKLXsgIDUsIDB4MGE4ZCwgMCwgezB4ZTUsMHgzOCwweGI0LDB4MDEsMHgwZX0gfSwKLXsgMTMsIDB4MGE5MiwgMCwgezB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDA0LDB4ZjcsMHhkMCwweDA1LDB4ZDAsMHgwNCwweDc1LDB4Mzh9IH0sCi17ICAxLCAweDBhOWYsIDAsIHsweDAwfSB9LAoteyAgNywgMHgwYWEwLCAwLCB7MHhlNSwweDMxLDB4NzAsMHgwMywweDAyLDB4MDksMHgyYX0gfSwKLXsgMTAsIDB4MGFhNywgMCwgezB4OTAsMHg3ZiwweGM5LDB4ZTAsMHhmYSwweDcwLDB4MDMsMHgwMiwweDBjLDB4MmR9IH0sCi17IDE0LCAweDBhYjEsIDAsIHsweDkwLDB4N2YsMHg5NiwweGUwLDB4ZmEsMHg5MCwweDdmLDB4OTYsMHg3NCwweDgwLDB4NjUsMHgwMiwweGYwLDB4OTB9IH0sCi17ICA5LCAweDBhYmYsIDAsIHsweDdkLDB4YzAsMHhlMCwweGZhLDB4YmEsMHgyYywweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGFjOCwgMCwgezB4MDIsMHgwYiwweDM2fSB9LAoteyAgNSwgMHgwYWNiLCAwLCB7MHg3NSwweDMyLDB4MDAsMHg3YiwweDAwfSB9LAoteyAgMywgMHgwYWQwLCAwLCB7MHhiYiwweDY0LDB4MDB9IH0sCi17ICAyLCAweDBhZDMsIDAsIHsweDUwLDB4MWN9IH0sCi17IDE0LCAweDBhZDUsIDAsIHsweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDAxLDB4ZGQsMHhkMCwweDA1LDB4ZDB9IH0sCi17IDEzLCAweDBhZTMsIDAsIHsweDA0LDB4ZDAsMHgwMywweGQwLDB4MDIsMHg5MCwweDg4LDB4MGYsMHhlMCwweGY1LDB4NDcsMHgwYiwweDgwfSB9LAoteyAgMSwgMHgwYWYwLCAwLCB7MHhkZn0gfSwKLXsgMTMsIDB4MGFmMSwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwNywweDFlLDB4MTIsMHgwMywweGUxLDB4MTJ9IH0sCi17IDEyLCAweDBhZmUsIDAsIHsweDA0LDB4ZjcsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwLDB4MDIsMHg3NSwweDZlLDB4MDAsMHg3NX0gfSwKLXsgMTMsIDB4MGIwYSwgMCwgezB4NmYsMHgwMSwweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTEsMHg0NCwweGQwLDB4MDV9IH0sCi17ICA5LCAweDBiMTcsIDAsIHsweGQwLDB4MDQsMHhkMCwweDAyLDB4NzUsMHg3MCwweDRkLDB4NzUsMHg3MX0gfSwKLXsgMTEsIDB4MGIyMCwgMCwgezB4MGMsMHg3NSwweDcyLDB4MDIsMHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMn0gfSwKLXsgMTEsIDB4MGIyYiwgMCwgezB4MTEsMHg3NSwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMiwweDAyLDB4MGMsMHgyZH0gfSwKLXsgIDMsIDB4MGIzNiwgMCwgezB4YmEsMHgyYSwweDNifSB9LAoteyAxMywgMHgwYjM5LCAwLCB7MHg5MCwweDdmLDB4OTgsMHg3NCwweDIwLDB4ZjAsMHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMn0gfSwKLXsgMTQsIDB4MGI0NiwgMCwgezB4MDEsMHhkZCwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMiwweDkwLDB4N2YsMHg5OCwweDc0LDB4MjgsMHhmMH0gfSwKLXsgIDIsIDB4MGI1NCwgMCwgezB4N2IsMHgwMH0gfSwKLXsgIDMsIDB4MGI1NiwgMCwgezB4YmIsMHgwYSwweDAwfSB9LAoteyAgNSwgMHgwYjU5LCAwLCB7MHg0MCwweDAzLDB4MDIsMHgwYywweDJkfSB9LAoteyAxNCwgMHgwYjVlLCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwNSwweGQwfSB9LAoteyAgOCwgMHgwYjZjLCAwLCB7MHgwNCwweGQwLDB4MDMsMHhkMCwweDAyLDB4MGIsMHg4MCwweGUyfSB9LAoteyAgMywgMHgwYjc0LCAwLCB7MHhiYSwweDJiLDB4MWF9IH0sCi17ICA4LCAweDBiNzcsIDAsIHsweDkwLDB4N2YsMHhjOSwweGUwLDB4ZmIsMHhiYiwweDQwLDB4MTJ9IH0sCi17IDE0LCAweDBiN2YsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTIsMHgwNSwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDB9IH0sCi17ICA0LCAweDBiOGQsIDAsIHsweDAyLDB4MDIsMHgwYywweDJkfSB9LAoteyAgMywgMHgwYjkxLCAwLCB7MHhiYSwweDEwLDB4MWZ9IH0sCi17IDE0LCAweDBiOTQsIDAsIHsweDkwLDB4N2YsMHg5NiwweGUwLDB4ZmIsMHg5MCwweDdmLDB4OTYsMHg3NCwweDgwLDB4NjUsMHgwMywweGYwLDB4YzB9IH0sCi17IDE0LCAweDBiYTIsIDAsIHsweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEwLDB4M2QsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwLDB4MDJ9IH0sCi17ICAzLCAweDBiYjAsIDAsIHsweDAyLDB4MGMsMHgyZH0gfSwKLXsgIDMsIDB4MGJiMywgMCwgezB4YmEsMHgxMSwweDEyfSB9LAoteyAxNCwgMHgwYmI2LCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEwLDB4NmEsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwfSB9LAoteyAgNCwgMHgwYmM0LCAwLCB7MHgwMiwweDAyLDB4MGMsMHgyZH0gfSwKLXsgIDMsIDB4MGJjOCwgMCwgezB4YmEsMHgxMiwweDEyfSB9LAoteyAxNCwgMHgwYmNiLCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEwLDB4OGYsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwfSB9LAoteyAgNCwgMHgwYmQ5LCAwLCB7MHgwMiwweDAyLDB4MGMsMHgyZH0gfSwKLXsgIDMsIDB4MGJkZCwgMCwgezB4YmEsMHgxMywweDBifSB9LAoteyAxMSwgMHgwYmUwLCAwLCB7MHg5MCwweDdkLDB4YzEsMHhlMCwweGZiLDB4OTAsMHg4OCwweDAwLDB4ZjAsMHg4MCwweDQyfSB9LAoteyAgMywgMHgwYmViLCAwLCB7MHhiYSwweDE0LDB4MTF9IH0sCi17IDE0LCAweDBiZWUsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTEsMHhkZCwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDB9IH0sCi17ICAzLCAweDBiZmMsIDAsIHsweDAyLDB4ODAsMHgyZX0gfSwKLXsgIDMsIDB4MGJmZiwgMCwgezB4YmEsMHgxNSwweDFkfSB9LAoteyAxMiwgMHgwYzAyLCAwLCB7MHg5MCwweDdkLDB4YzEsMHhlMCwweGY1LDB4NzUsMHg5MCwweDdkLDB4YzIsMHhlMCwweGY1LDB4NzZ9IH0sCi17IDE0LCAweDBjMGUsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTMsMHhmZSwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDB9IH0sCi17ICAzLCAweDBjMWMsIDAsIHsweDAyLDB4ODAsMHgwZX0gfSwKLXsgIDMsIDB4MGMxZiwgMCwgezB4YmEsMHgxNiwweDBifSB9LAoteyAxMSwgMHgwYzIyLCAwLCB7MHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTMsMHhhMywweGQwLDB4MDUsMHhkMCwweDA0fSB9LAoteyAxMSwgMHgwYzJkLCAwLCB7MHg5MCwweDdmLDB4YzksMHhlNCwweGYwLDB4NzUsMHgzMSwweDAwLDB4MDIsMHgwOSwweDJhfSB9LAoteyAgMSwgMHgwYzM4LCAwLCB7MHgyMn0gfSwKLXsgIDcsIDB4MGMzOSwgMCwgezB4NTMsMHg1NSwweDUwLDB4NDUsMHg0ZSwweDQ0LDB4MDB9IH0sCi17ICA3LCAweDBjNDAsIDAsIHsweDUyLDB4NDUsMHg1MywweDU1LDB4NGQsMHg0NSwweDAwfSB9LAoteyAgNiwgMHgwYzQ3LCAwLCB7MHgyMCwweDU2LDB4NmYsMHg2YywweDIwLDB4MDB9IH0sCi17IDEzLCAweDBjNGQsIDAsIHsweDQ0LDB4NDEsMHg0MiwweDU1LDB4NTMsMHg0MiwweDIwLDB4NzYsMHgzMSwweDJlLDB4MzAsMHgzMCwweDAwfSB9LAoteyAxNCwgMHgwYzVhLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0fSB9LAoteyAxNCwgMHgwYzY4LCAwLCB7MHhjMCwweDA1LDB4YzAsMHgwNiwweGMwLDB4MDcsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4ZDAsMHg3NSwweGQwfSB9LAoteyAxMywgMHgwYzc2LCAwLCB7MHgwMCwweGMwLDB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MH0gfSwKLXsgMTQsIDB4MGM4MywgMCwgezB4N2YsMHhhYiwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhlOCwweGUwLDB4ZmEsMHg5MCwweDdmLDB4ZTksMHhlMH0gfSwKLXsgIDYsIDB4MGM5MSwgMCwgezB4ZmIsMHhiYiwweDAwLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwYzk3LCAwLCB7MHgwMiwweDBkLDB4Mzh9IH0sCi17ICAzLCAweDBjOWEsIDAsIHsweGJhLDB4ODAsMHgxNH0gfSwKLXsgMTQsIDB4MGM5ZCwgMCwgezB4OTAsMHg3ZiwweDAwLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDAxLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhiNX0gfSwKLXsgIDYsIDB4MGNhYiwgMCwgezB4NzQsMHgwMiwweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgNSwgMHgwY2IxLCAwLCB7MHhiYSwweDgyLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwY2I2LCAwLCB7MHgwMiwweDBkLDB4MWR9IH0sCi17ICA4LCAweDBjYjksIDAsIHsweDkwLDB4N2YsMHhlYywweGUwLDB4ZmMsMHhiYywweDAxLDB4MDB9IH0sCi17ICAyLCAweDBjYzEsIDAsIHsweDQwLDB4MjF9IH0sCi17ICA2LCAweDBjYzMsIDAsIHsweGMzLDB4NzQsMHgwNywweDljLDB4NDAsMHgxYn0gfSwKLXsgMTQsIDB4MGNjOSwgMCwgezB4ZWMsMHgyNCwweGZmLDB4MjUsMHhlMCwweGZkLDB4MjQsMHhjNiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNX0gfSwKLXsgMTMsIDB4MGNkNywgMCwgezB4ODMsMHhlMCwweGZkLDB4NTMsMHgwNSwweDAxLDB4OTAsMHg3ZiwweDAwLDB4ZWQsMHhmMCwweDgwLDB4MmJ9IH0sCi17ICAzLCAweDBjZTQsIDAsIHsweGJjLDB4ODEsMHgwMH0gfSwKLXsgIDIsIDB4MGNlNywgMCwgezB4NDAsMHgyMX0gfSwKLXsgIDYsIDB4MGNlOSwgMCwgezB4YzMsMHg3NCwweDg3LDB4OWMsMHg0MCwweDFifSB9LAoteyAxNCwgMHgwY2VmLCAwLCB7MHhlYywweDI0LDB4N2YsMHgyNSwweGUwLDB4ZmMsMHgyNCwweGI2LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fSB9LAoteyAxMywgMHgwY2ZkLCAwLCB7MHg4MywweGUwLDB4ZmMsMHg1MywweDA0LDB4MDEsMHg5MCwweDdmLDB4MDAsMHhlYywweGYwLDB4ODAsMHgwNX0gfSwKLXsgIDUsIDB4MGQwYSwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MGQwZiwgMCwgezB4OTAsMHg3ZiwweDAxLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDUsIDB4MGQxZCwgMCwgezB4YmEsMHg4MSwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGQyMiwgMCwgezB4MDIsMHgwZSwweGM1fSB9LAoteyAxNCwgMHgwZDI1LCAwLCB7MHg5MCwweDdmLDB4MDAsMHhlNCwweGYwLDB4OTAsMHg3ZiwweDAxLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0fSB9LAoteyAgNSwgMHgwZDMzLCAwLCB7MHgwMiwweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZDM4LCAwLCB7MHhiYiwweDAxLDB4MmR9IH0sCi17ICA2LCAweDBkM2IsIDAsIHsweGJhLDB4MDAsMHgwMywweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDMsIDB4MGQ0MSwgMCwgezB4YmEsMHgwMiwweDExfSB9LAoteyAxMywgMHgwZDQ0LCAwLCB7MHg3NSwweDU5LDB4MDAsMHhjMCwweDAyLDB4YzAsMHgwMywweDEyLDB4MGUsMHhmMCwweGQwLDB4MDMsMHhkMH0gfSwKLXsgIDQsIDB4MGQ1MSwgMCwgezB4MDIsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICA1LCAweDBkNTUsIDAsIHsweGJhLDB4MjEsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkNWEsIDAsIHsweDAyLDB4MGUsMHhjZH0gfSwKLXsgMTEsIDB4MGQ1ZCwgMCwgezB4NzUsMHgzNywweDAxLDB4OTAsMHg3ZiwweGM1LDB4ZTQsMHhmMCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDMsIDB4MGQ2OCwgMCwgezB4YmIsMHgwMywweDFmfSB9LAoteyAgNiwgMHgwZDZiLCAwLCB7MHhiYSwweDAwLDB4MDMsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICA1LCAweDBkNzEsIDAsIHsweGJhLDB4MDIsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkNzYsIDAsIHsweDAyLDB4MGUsMHhjZH0gfSwKLXsgMTMsIDB4MGQ3OSwgMCwgezB4NzUsMHg1OSwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDMsMHgxMiwweDBlLDB4ZjAsMHhkMCwweDAzLDB4ZDB9IH0sCi17ICA0LCAweDBkODYsIDAsIHsweDAyLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZDhhLCAwLCB7MHhiYiwweDA2LDB4NTR9IH0sCi17ICA1LCAweDBkOGQsIDAsIHsweGJhLDB4ODAsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkOTIsIDAsIHsweDAyLDB4MGUsMHhjNX0gfSwKLXsgIDgsIDB4MGQ5NSwgMCwgezB4OTAsMHg3ZiwweGViLDB4ZTAsMHhmYywweGJjLDB4MDEsMHgxNX0gfSwKLXsgMTIsIDB4MGQ5ZCwgMCwgezB4N2MsMHhmYiwweDdkLDB4MGYsMHg4ZCwweDA2LDB4N2YsMHgwMCwweDkwLDB4N2YsMHhkNCwweGVlfSB9LAoteyAgOSwgMHgwZGE5LCAwLCB7MHhmMCwweDkwLDB4N2YsMHhkNSwweGVjLDB4ZjAsMHgwMiwweDBlLDB4Y2R9IH0sCi17IDEwLCAweDBkYjIsIDAsIHsweDkwLDB4N2YsMHhlYiwweGUwLDB4ZmMsMHhiYywweDAyLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZGJjLCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17IDEwLCAweDBkYmYsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmMsMHhiYywweDAwLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZGM5LCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17IDEyLCAweDBkY2MsIDAsIHsweDdjLDB4M2IsMHg3ZCwweDBmLDB4OGQsMHgwNiwweDdmLDB4MDAsMHg5MCwweDdmLDB4ZDQsMHhlZX0gfSwKLXsgIDksIDB4MGRkOCwgMCwgezB4ZjAsMHg5MCwweDdmLDB4ZDUsMHhlYywweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgNiwgMHgwZGUxLCAwLCB7MHhiYiwweDA3LDB4MDMsMHgwMiwweDBlLDB4YzV9IH0sCi17ICAzLCAweDBkZTcsIDAsIHsweGJiLDB4MDgsMHgxMH0gfSwKLXsgMTMsIDB4MGRlYSwgMCwgezB4YWMsMHg0OCwweDkwLDB4N2YsMHgwMCwweGVjLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAzLCAweDBkZjcsIDAsIHsweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDMsIDB4MGRmYSwgMCwgezB4YmIsMHgwOSwweDMxfSB9LAoteyAgNSwgMHgwZGZkLCAwLCB7MHhiYSwweDAwLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZTAyLCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17IDE0LCAweDBlMDUsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmMsMHhjMywweDc0LDB4MDEsMHg5YywweDUwLDB4MDMsMHgwMiwweDBlLDB4YzV9IH0sCi17ICA4LCAweDBlMTMsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmMsMHhiYywweDAwLDB4MGF9IH0sCi17IDEwLCAweDBlMWIsIDAsIHsweDkwLDB4MTcsMHgyMSwweGU0LDB4ZjAsMHg5MCwweDE3LDB4MjIsMHhlNCwweGYwfSB9LAoteyAgOSwgMHgwZTI1LCAwLCB7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGY1LDB4NDgsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICAzLCAweDBlMmUsIDAsIHsweGJiLDB4MGEsMHgyN30gfSwKLXsgIDUsIDB4MGUzMSwgMCwgezB4YmEsMHg4MSwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGUzNiwgMCwgezB4MDIsMHgwZSwweGM1fSB9LAoteyAxNCwgMHgwZTM5LCAwLCB7MHg5MCwweDdmLDB4ZWMsMHhlMCwweGZhLDB4MjQsMHgyMCwweGZhLDB4ZTQsMHgzNCwweDE3LDB4ZmMsMHg4YSwweDgyfSB9LAoteyAxNCwgMHgwZTQ3LCAwLCB7MHg4YywweDgzLDB4ZTAsMHhmYSwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMywgMHgwZTU1LCAwLCB7MHgwMiwweDBlLDB4Y2R9IH0sCi17ICA1LCAweDBlNTgsIDAsIHsweGJiLDB4MGIsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBlNWQsIDAsIHsweDAyLDB4MGUsMHhhOX0gfSwKLXsgMTMsIDB4MGU2MCwgMCwgezB4OTAsMHgxNywweDIwLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmEsMHhiYSwweDAxLDB4MWF9IH0sCi17ICA4LCAweDBlNmQsIDAsIHsweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmEsMHhiYSwweDAwLDB4MTJ9IH0sCi17IDE0LCAweDBlNzUsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmEsMHg5MCwweDE3LDB4MjEsMHhmMCwweGMwLDB4MDMsMHgxMiwweDA0LDB4ZTJ9IH0sCi17ICA0LCAweDBlODMsIDAsIHsweGQwLDB4MDMsMHg4MCwweDQ2fSB9LAoteyAgOCwgMHgwZTg3LCAwLCB7MHg5MCwweDdmLDB4ZWMsMHhlMCwweGZhLDB4YmEsMHgwMiwweDNlfSB9LAoteyAgOCwgMHgwZThmLCAwLCB7MHg5MCwweDdmLDB4ZWQsMHhlMCwweGZhLDB4YmEsMHgwMCwweDM2fSB9LAoteyAxMywgMHgwZTk3LCAwLCB7MHhjMCwweDAzLDB4MTIsMHgwNCwweGVmLDB4ZDAsMHgwMywweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmEsMHg5MH0gfSwKLXsgIDUsIDB4MGVhNCwgMCwgezB4MTcsMHgyMiwweGYwLDB4ODAsMHgyNH0gfSwKLXsgIDUsIDB4MGVhOSwgMCwgezB4YmIsMHgxMiwweDAyLDB4ODAsMHgxN30gfSwKLXsgIDUsIDB4MGVhZSwgMCwgezB4YmIsMHg4MSwweDAyLDB4ODAsMHgwZH0gfSwKLXsgIDUsIDB4MGViMywgMCwgezB4YmIsMHg4MywweDAyLDB4ODAsMHgwOH0gfSwKLXsgIDUsIDB4MGViOCwgMCwgezB4YmIsMHg4MiwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGViZCwgMCwgezB4YmIsMHg4NCwweDA1fSB9LAoteyAgNSwgMHgwZWMwLCAwLCB7MHgxMiwweDA2LDB4NGUsMHg4MCwweDA4fSB9LAoteyAgOCwgMHgwZWM1LCAwLCB7MHg5MCwweDdmLDB4YjQsMHg3NCwweDAzLDB4ZjAsMHg4MCwweDA2fSB9LAoteyAgNiwgMHgwZWNkLCAwLCB7MHg5MCwweDdmLDB4YjQsMHg3NCwweDAyLDB4ZjB9IH0sCi17ICAyLCAweDBlZDMsIDAsIHsweGQwLDB4ODZ9IH0sCi17IDE0LCAweDBlZDUsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17IDEzLCAweDBlZTMsIDAsIHsweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxMSwgMHgwZWYwLCAwLCB7MHg5MCwweDdmLDB4ZWMsMHhlMCwweGY1LDB4NWEsMHhjMywweDk0LDB4MDEsMHg0MCwweDFkfSB9LAoteyAgNywgMHgwZWZiLCAwLCB7MHhjMywweDc0LDB4MDcsMHg5NSwweDVhLDB4NDAsMHgxNn0gfSwKLXsgMTMsIDB4MGYwMiwgMCwgezB4ZTUsMHg1YSwweDI0LDB4ZmYsMHgyNSwweGUwLDB4ZmEsMHgyNCwweGM2LDB4ZjUsMHg4MiwweGU0LDB4MzR9IH0sCi17ICA5LCAweDBmMGYsIDAsIHsweDdmLDB4ZjUsMHg4MywweGFhLDB4NTksMHhlYSwweGYwLDB4ODAsMHgyMn0gfSwKLXsgIDcsIDB4MGYxOCwgMCwgezB4YzMsMHhlNSwweDVhLDB4OTQsMHg4MSwweDQwLDB4MWJ9IH0sCi17ICA3LCAweDBmMWYsIDAsIHsweGMzLDB4NzQsMHg4NywweDk1LDB4NWEsMHg0MCwweDE0fSB9LAoteyAxMywgMHgwZjI2LCAwLCB7MHhlNSwweDVhLDB4MjQsMHhmZiwweDI1LDB4ZTAsMHhmYSwweDI0LDB4YjYsMHhmNSwweDgyLDB4ZTQsMHgzNH0gfSwKLXsgIDcsIDB4MGYzMywgMCwgezB4N2YsMHhmNSwweDgzLDB4YWEsMHg1OSwweGVhLDB4ZjB9IH0sCi17ICAxLCAweDBmM2EsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwZjNiLCAwLCB7MHgwOSwweDAyLDB4YmEsMHgwMCwweDAzLDB4MDEsMHgwMCwweDQwLDB4MDAsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAwfSB9LAoteyAxNCwgMHgwZjQ5LCAwLCB7MHgwMSwweDAxLDB4MDAsMHgwMCwweDA5LDB4MjQsMHgwMSwweDAwLDB4MDEsMHgzZCwweDAwLDB4MDEsMHgwMSwweDBjfSB9LAoteyAxNCwgMHgwZjU3LCAwLCB7MHgyNCwweDAyLDB4MDEsMHgxMCwweDA3LDB4MDAsMHgwMiwweDAzLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgyNCwweDA2fSB9LAoteyAxNCwgMHgwZjY1LCAwLCB7MHgwMywweDAxLDB4MDIsMHgxNSwweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMCwweDA5LDB4MjQsMHgwMywweDAyfSB9LAoteyAxNCwgMHgwZjczLCAwLCB7MHgwMSwweDAxLDB4MDAsMHgwMSwweDAwLDB4MDksMHgyNCwweDAzLDB4MDQsMHgwMiwweDAzLDB4MDAsMHgwMywweDAwfSB9LAoteyAxNCwgMHgwZjgxLCAwLCB7MHgwOSwweDI0LDB4MDMsMHgwNSwweDAzLDB4MDYsMHgwMCwweDAxLDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMCwweDAwfSB9LAoteyAxNCwgMHgwZjhmLCAwLCB7MHgwMSwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3fSB9LAoteyAxNCwgMHgwZjlkLCAwLCB7MHgyNCwweDAxLDB4MDIsMHgwMSwweDAxLDB4MDAsMHgwYiwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDIsMHgxMCwweDAxfSB9LAoteyAxNCwgMHgwZmFiLCAwLCB7MHg4MCwweGJiLDB4MDAsMHgwOSwweDA1LDB4ODgsMHgwNSwweDAwLDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1fSB9LAoteyAxNCwgMHgwZmI5LCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAxNCwgMHgwZmM3LCAwLCB7MHgwNywweDA1LDB4ODIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHgwMiwweDAyLDB4NDAsMHgwMCwweDAwfSB9LAoteyAxNCwgMHgwZmQ1LCAwLCB7MHgwOSwweDA0LDB4MDIsMHgwMSwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODIsMHgwMiwweDQwfSB9LAoteyAxNCwgMHgwZmUzLCAwLCB7MHgwMCwweDAwLDB4MDcsMHgwNSwweDAyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwOSwweDA1LDB4ODksMHgwNSwweGEwfSB9LAoteyAxMCwgMHgwZmYxLCAwLCB7MHgwMSwweDAxLDB4MDAsMHgwMCwweDAwLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMH0gfSwKLXsgMTQsIDB4MGZmYiwgMCwgezB4MTIsMHgwMSwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ3LDB4MDUsMHg5OSwweDk5LDB4MDAsMHgwMX0gfSwKLXsgMTQsIDB4MTAwOSwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDIsMHhiYX0gfSwKLXsgIDQsIDB4MTAxNywgMCwgezB4MDAsMHgwMywweDAxLDB4MDB9IH0sCi17ICAyLCAweDEwMWIsIDAsIHsweDdhLDB4MDB9IH0sCi17ICAzLCAweDEwMWQsIDAsIHsweGJhLDB4MDUsMHgwMH0gfSwKLXsgIDIsIDB4MTAyMCwgMCwgezB4NTAsMHgxN30gfSwKLXsgIDgsIDB4MTAyMiwgMCwgezB4OTAsMHg3ZiwweGE1LDB4ZTAsMHhmYiwweDMwLDB4ZTAsMHgwNX0gfSwKLXsgIDUsIDB4MTAyYSwgMCwgezB4OTAsMHgwMCwweDAxLDB4ODAsMHgwZH0gfSwKLXsgMTAsIDB4MTAyZiwgMCwgezB4YzAsMHgwMiwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDIsMHgwYSwweDgwLDB4ZTR9IH0sCi17ICAzLCAweDEwMzksIDAsIHsweDkwLDB4MDAsMHgwMX0gfSwKLXsgIDEsIDB4MTAzYywgMCwgezB4MjJ9IH0sCi17IDE0LCAweDEwM2QsIDAsIHsweDkwLDB4N2QsMHhjMSwweGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZmIsMHg3YywweDAwLDB4N2R9IH0sCi17ICA0LCAweDEwNGIsIDAsIHsweDdlLDB4ZWIsMHg2MCwweDEyfSB9LAoteyAxNCwgMHgxMDRmLCAwLCB7MHg4OSwweDgyLDB4OGEsMHg4MywweGUwLDB4YTMsMHhhOSwweDgyLDB4YWEsMHg4MywweDhjLDB4ODIsMHg4ZCwweDgzfSB9LAoteyAgNCwgMHgxMDVkLCAwLCB7MHhmMCwweDBjLDB4ZGIsMHhlZX0gfSwKLXsgIDgsIDB4MTA2MSwgMCwgezB4OTAsMHg3ZCwweGMzLDB4ZTAsMHg5MCwweDdmLDB4YjksMHhmMH0gfSwKLXsgIDEsIDB4MTA2OSwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDEwNmEsIDAsIHsweDkwLDB4N2QsMHhjMSwweGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZmIsMHg3YywweGM0LDB4N2R9IH0sCi17ICA0LCAweDEwNzgsIDAsIHsweDdkLDB4ZWIsMHg2MCwweGU1fSB9LAoteyAxNCwgMHgxMDdjLCAwLCB7MHg4YywweDgyLDB4OGQsMHg4MywweGUwLDB4MGMsMHg4OSwweDgyLDB4OGEsMHg4MywweGYwLDB4YTMsMHhhOSwweDgyfSB9LAoteyAgNCwgMHgxMDhhLCAwLCB7MHhhYSwweDgzLDB4ZGIsMHhlZX0gfSwKLXsgIDEsIDB4MTA4ZSwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDEwOGYsIDAsIHsweDkwLDB4N2YsMHhhNSwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHg5MCwweDdkLDB4YzEsMHhlMCwweDA1LDB4ODZ9IH0sCi17IDE0LCAweDEwOWQsIDAsIHsweGEzLDB4ZjAsMHgxMiwweDEwLDB4MWIsMHg5MCwweDdmLDB4YTYsMHgwNSwweDg2LDB4YTMsMHhhMywweGUwLDB4Zjl9IH0sCi17ICA1LCAweDEwYWIsIDAsIHsweDYwLDB4MTYsMHhhMywweDA1LDB4ODZ9IH0sCi17IDEzLCAweDEwYjAsIDAsIHsweDkwLDB4N2YsMHhhNiwweDA1LDB4ODYsMHhlMCwweGEzLDB4MDUsMHg4NiwweGYwLDB4YzAsMHgwMSwweDEyfSB9LAoteyAgNiwgMHgxMGJkLCAwLCB7MHgxMCwweDFiLDB4ZDAsMHgwMSwweGQ5LDB4ZWR9IH0sCi17ICA2LCAweDEwYzMsIDAsIHsweDkwLDB4N2YsMHhhNSwweDc0LDB4NDAsMHhmMH0gfSwKLXsgIDEsIDB4MTBjOSwgMCwgezB4MjJ9IH0sCi17ICA4LCAweDEwY2EsIDAsIHsweDkwLDB4ODgsMHgwMiwweDc0LDB4MDEsMHhmMCwweDdhLDB4MDB9IH0sCi17ICAzLCAweDEwZDIsIDAsIHsweGJhLDB4ZmYsMHgwMH0gfSwKLXsgIDIsIDB4MTBkNSwgMCwgezB4NTAsMHgwYX0gfSwKLXsgMTAsIDB4MTBkNywgMCwgezB4YzAsMHgwMiwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDIsMHgwYSwweDgwLDB4ZjF9IH0sCi17ICAxLCAweDEwZTEsIDAsIHsweDIyfSB9LAoteyAgNSwgMHgxMGUyLCAwLCB7MHhlNSwweDZiLDB4YjQsMHhjMCwweDA4fSB9LAoteyAgOCwgMHgxMGU3LCAwLCB7MHg5MCwweDg4LDB4MDMsMHhlNSwweDZjLDB4ZjAsMHg4MCwweDA2fSB9LAoteyAgNiwgMHgxMGVmLCAwLCB7MHg5MCwweDg4LDB4MDIsMHhlNSwweDZjLDB4ZjB9IH0sCi17ICA0LCAweDEwZjUsIDAsIHsweDdhLDB4MDAsMHg3YiwweDAwfSB9LAoteyAxMSwgMHgxMGY5LCAwLCB7MHhjMywweGVhLDB4OTQsMHgzMiwweGViLDB4NjQsMHg4MCwweDk0LDB4ODAsMHg1MCwweDA3fSB9LAoteyAgNSwgMHgxMTA0LCAwLCB7MHgwYSwweGJhLDB4MDAsMHgwMSwweDBifSB9LAoteyAgMiwgMHgxMTA5LCAwLCB7MHg4MCwweGVlfSB9LAoteyAgMSwgMHgxMTBiLCAwLCB7MHgyMn0gfSwKLXsgMTAsIDB4MTEwYywgMCwgezB4OTAsMHg4OCwweDAzLDB4ZTUsMHg2ZCwweGYwLDB4MDUsMHgzOSwweDdhLDB4MDB9IH0sCi17ICAzLCAweDExMTYsIDAsIHsweGJhLDB4MjgsMHgwMH0gfSwKLXsgIDIsIDB4MTExOSwgMCwgezB4NTAsMHgwM30gfSwKLXsgIDMsIDB4MTExYiwgMCwgezB4MGEsMHg4MCwweGY4fSB9LAoteyAgNSwgMHgxMTFlLCAwLCB7MHhlNSwweDM5LDB4YjQsMHgxMCwweDA4fSB9LAoteyAgOCwgMHgxMTIzLCAwLCB7MHg5MCwweDg4LDB4MDIsMHg3NCwweGMwLDB4ZjAsMHg4MCwweDBlfSB9LAoteyAgNSwgMHgxMTJiLCAwLCB7MHhlNSwweDM5LDB4YjQsMHgyMCwweDA5fSB9LAoteyAgOSwgMHgxMTMwLCAwLCB7MHg5MCwweDg4LDB4MDIsMHg3NCwweDgwLDB4ZjAsMHg3NSwweDM5LDB4MDB9IH0sCi17ICAyLCAweDExMzksIDAsIHsweDdhLDB4MDB9IH0sCi17ICAzLCAweDExM2IsIDAsIHsweGJhLDB4MjgsMHgwMH0gfSwKLXsgIDIsIDB4MTEzZSwgMCwgezB4NTAsMHgwM30gfSwKLXsgIDMsIDB4MTE0MCwgMCwgezB4MGEsMHg4MCwweGY4fSB9LAoteyAgMSwgMHgxMTQzLCAwLCB7MHgyMn0gfSwKLXsgIDQsIDB4MTE0NCwgMCwgezB4ZTUsMHg2ZiwweDYwLDB4MDJ9IH0sCi17ICAyLCAweDExNDgsIDAsIHsweDgwLDB4MDd9IH0sCi17ICA3LCAweDExNGEsIDAsIHsweDdhLDB4MDAsMHg3NSwweDM5LDB4MDAsMHg4MCwweDA1fSB9LAoteyAgNSwgMHgxMTUxLCAwLCB7MHg3YSwweDQwLDB4NzUsMHgzOSwweDEwfSB9LAoteyAgOSwgMHgxMTU2LCAwLCB7MHhlNSwweDZlLDB4MmEsMHhmYSwweGU1LDB4NmUsMHgyNSwweDM5LDB4ZjV9IH0sCi17IDEwLCAweDExNWYsIDAsIHsweDM5LDB4OTAsMHg4OCwweDAyLDB4NzQsMHg4MCwweDJhLDB4ZjAsMHg3YSwweDAwfSB9LAoteyAgOCwgMHgxMTY5LCAwLCB7MHhjMywweGVhLDB4NjQsMHg4MCwweDk0LDB4YTgsMHg1MCwweDAzfSB9LAoteyAgMywgMHgxMTcxLCAwLCB7MHgwYSwweDgwLDB4ZjV9IH0sCi17ICAxLCAweDExNzQsIDAsIHsweDIyfSB9LAoteyAgNiwgMHgxMTc1LCAwLCB7MHhhYSwweDcwLDB4YWIsMHg3MSwweGFjLDB4NzJ9IH0sCi17IDEyLCAweDExN2IsIDAsIHsweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweDEyLDB4MTQsMHhlZSwweGZkLDB4NjAsMHgxOH0gfSwKLXsgMTMsIDB4MTE4NywgMCwgezB4OGQsMHg2ZCwweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweDEyLDB4MTEsMHgwYywweGQwLDB4MDR9IH0sCi17ICA5LCAweDExOTQsIDAsIHsweGQwLDB4MDMsMHhkMCwweDAyLDB4MGEsMHhiYSwweDAwLDB4MDEsMHgwYn0gfSwKLXsgIDIsIDB4MTE5ZCwgMCwgezB4ODAsMHhkY30gfSwKLXsgIDEsIDB4MTE5ZiwgMCwgezB4MjJ9IH0sCi17IDEzLCAweDExYTAsIDAsIHsweGU1LDB4NzMsMHhjNCwweDU0LDB4MGYsMHhmYSwweDUzLDB4MDIsMHgwZiwweGMzLDB4NzQsMHgwOSwweDlhfSB9LAoteyAgMiwgMHgxMWFkLCAwLCB7MHg1MCwweDA2fSB9LAoteyAgNiwgMHgxMWFmLCAwLCB7MHg3NCwweDM3LDB4MmEsMHhmYiwweDgwLDB4MDR9IH0sCi17ICA0LCAweDExYjUsIDAsIHsweDc0LDB4MzAsMHgyYSwweGZifSB9LAoteyAxMiwgMHgxMWI5LCAwLCB7MHg4YiwweDZkLDB4YzAsMHgwMywweDEyLDB4MTEsMHgwYywweGQwLDB4MDMsMHhhYSwweDczLDB4NTN9IH0sCi17ICA4LCAweDExYzUsIDAsIHsweDAyLDB4MGYsMHhjMywweDc0LDB4MDksMHg5YSwweDUwLDB4MDZ9IH0sCi17ICA2LCAweDExY2QsIDAsIHsweDc0LDB4MzcsMHgyYSwweGZiLDB4ODAsMHgwNH0gfSwKLXsgIDQsIDB4MTFkMywgMCwgezB4NzQsMHgzMCwweDJhLDB4ZmJ9IH0sCi17ICA1LCAweDExZDcsIDAsIHsweDhiLDB4NmQsMHgxMiwweDExLDB4MGN9IH0sCi17ICAxLCAweDExZGMsIDAsIHsweDIyfSB9LAoteyAgNywgMHgxMWRkLCAwLCB7MHg5MCwweDdkLDB4YzMsMHhlMCwweGZhLDB4NjAsMHgwZn0gfSwKLXsgMTIsIDB4MTFlNCwgMCwgezB4OTAsMHg3ZCwweGMxLDB4ZTAsMHhmNSwweDZlLDB4OTAsMHg3ZCwweGMyLDB4ZTAsMHhmNSwweDZmfSB9LAoteyAgMywgMHgxMWYwLCAwLCB7MHgxMiwweDExLDB4NDR9IH0sCi17IDEyLCAweDExZjMsIDAsIHsweDkwLDB4N2QsMHhmZiwweGU0LDB4ZjAsMHg3NSwweDcwLDB4YzQsMHg3NSwweDcxLDB4N2QsMHg3NX0gfSwKLXsgIDUsIDB4MTFmZiwgMCwgezB4NzIsMHgwMSwweDEyLDB4MTEsMHg3NX0gfSwKLXsgIDEsIDB4MTIwNCwgMCwgezB4MjJ9IH0sCi17ICAyLCAweDEyMDUsIDAsIHsweDdhLDB4MDR9IH0sCi17ICAzLCAweDEyMDcsIDAsIHsweGJhLDB4NDAsMHgwMH0gfSwKLXsgIDIsIDB4MTIwYSwgMCwgezB4NTAsMHgzNn0gfSwKLXsgMTQsIDB4MTIwYywgMCwgezB4ZWEsMHgyNCwweGMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZCwweGY1LDB4ODMsMHhlMCwweGZiLDB4N2MsMHgwMH0gfSwKLXsgIDMsIDB4MTIxYSwgMCwgezB4YmMsMHgwOCwweDAwfSB9LAoteyAgMiwgMHgxMjFkLCAwLCB7MHg1MCwweDIwfSB9LAoteyAgNiwgMHgxMjFmLCAwLCB7MHg4YiwweDA1LDB4ZWQsMHgzMCwweGU3LDB4MGJ9IH0sCi17IDExLCAweDEyMjUsIDAsIHsweDkwLDB4N2YsMHg5NiwweDc0LDB4NDIsMHhmMCwweDc0LDB4YzMsMHhmMCwweDgwLDB4MDh9IH0sCi17ICA4LCAweDEyMzAsIDAsIHsweDkwLDB4N2YsMHg5NiwweGU0LDB4ZjAsMHg3NCwweDgxLDB4ZjB9IH0sCi17ICA3LCAweDEyMzgsIDAsIHsweGViLDB4MjUsMHhlMCwweGZiLDB4MGMsMHg4MCwweGRifSB9LAoteyAgMywgMHgxMjNmLCAwLCB7MHgwYSwweDgwLDB4YzV9IH0sCi17ICAxLCAweDEyNDIsIDAsIHsweDIyfSB9LAoteyAgNCwgMHgxMjQzLCAwLCB7MHg3YSwweDAwLDB4N2IsMHhlZn0gfSwKLXsgIDMsIDB4MTI0NywgMCwgezB4YmEsMHgxMCwweDAwfSB9LAoteyAgMiwgMHgxMjRhLCAwLCB7MHg1MCwweDIwfSB9LAoteyAxNCwgMHgxMjRjLCAwLCB7MHg3NCwweDExLDB4MmIsMHhmYiwweDI0LDB4MDAsMHhmYywweGU0LDB4MzQsMHgxOCwweGZkLDB4OGMsMHg4MiwweDhkfSB9LAoteyAxNCwgMHgxMjVhLCAwLCB7MHg4MywweGU0LDB4ZjAsMHhlYSwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDE5LDB4ZjUsMHg4MywweGU0fSB9LAoteyAgNCwgMHgxMjY4LCAwLCB7MHhmMCwweDBhLDB4ODAsMHhkYn0gfSwKLXsgIDEsIDB4MTI2YywgMCwgezB4MjJ9IH0sCi17IDE0LCAweDEyNmQsIDAsIHsweDc0LDB4ZjgsMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17IDE0LCAweDEyN2IsIDAsIHsweDc0LDB4ZjksMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17IDE0LCAweDEyODksIDAsIHsweDc0LDB4ZmEsMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17IDE0LCAweDEyOTcsIDAsIHsweDc0LDB4ZmIsMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17IDE0LCAweDEyYTUsIDAsIHsweDc0LDB4ZmYsMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17ICAxLCAweDEyYjMsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgxMmI0LCAwLCB7MHgxMiwweDAzLDB4Y2IsMHgxMiwweDEyLDB4NmQsMHg3YSwweGMwLDB4N2IsMHg4NywweDdjLDB4MDEsMHg3NCwweDAxfSB9LAoteyAxNCwgMHgxMmMyLCAwLCB7MHgyYSwweGZkLDB4ZTQsMHgzYiwweGZlLDB4OGMsMHgwNywweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweDc0fSB9LAoteyAxNCwgMHgxMmQwLCAwLCB7MHgwMSwweDEyLDB4MTQsMHhiZiwweDJkLDB4ZmEsMHhlNCwweDNlLDB4ZmIsMHg4ZiwweDA0LDB4OGQsMHg4MiwweDhlfSB9LAoteyAxNCwgMHgxMmRlLCAwLCB7MHg4MywweDhmLDB4ZjAsMHg3NCwweDA2LDB4MTIsMHgxNCwweGJmLDB4NzQsMHgwMSwweDJhLDB4ZmQsMHhlNCwweDNifSB9LAoteyAxNCwgMHgxMmVjLCAwLCB7MHhmZSwweDhjLDB4MDcsMHg4YSwweDgyLDB4OGIsMHg4MywweDhjLDB4ZjAsMHhlNCwweDEyLDB4MTQsMHhiZiwweDc0fSB9LAoteyAxNCwgMHgxMmZhLCAwLCB7MHgwMSwweDJkLDB4ZmEsMHhlNCwweDNlLDB4ZmIsMHg4ZiwweDA0LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg4ZiwweGYwfSB9LAoteyAxNCwgMHgxMzA4LCAwLCB7MHg3NCwweDBiLDB4MTIsMHgxNCwweGJmLDB4NzQsMHgwMSwweDJhLDB4ZmQsMHhlNCwweDNiLDB4ZmUsMHg4YywweDA3fSB9LAoteyAxNCwgMHgxMzE2LCAwLCB7MHg4YSwweDgyLDB4OGIsMHg4MywweDhjLDB4ZjAsMHg3NCwweDA4LDB4MTIsMHgxNCwweGJmLDB4NzQsMHgwMSwweDJkfSB9LAoteyAxNCwgMHgxMzI0LCAwLCB7MHhmYSwweGU0LDB4M2UsMHhmYiwweDhmLDB4MDQsMHg4ZCwweDgyLDB4OGUsMHg4MywweDhmLDB4ZjAsMHg3NCwweDAxfSB9LAoteyAxNCwgMHgxMzMyLCAwLCB7MHgxMiwweDE0LDB4YmYsMHgyYSwweGZkLDB4ZTQsMHgzYiwweGZlLDB4OGMsMHgwNywweDhhLDB4ODIsMHg4YiwweDgzfSB9LAoteyAxNCwgMHgxMzQwLCAwLCB7MHg4YywweGYwLDB4ZTQsMHgxMiwweDE0LDB4YmYsMHg3NCwweDAxLDB4MmQsMHhmYSwweGU0LDB4M2UsMHhmYiwweDhmfSB9LAoteyAxNCwgMHgxMzRlLCAwLCB7MHgwNCwweDhkLDB4ODIsMHg4ZSwweDgzLDB4OGYsMHhmMCwweDc0LDB4MDMsMHgxMiwweDE0LDB4YmYsMHg3ZCwweDAwfSB9LAoteyAgMywgMHgxMzVjLCAwLCB7MHhiZCwweDA2LDB4MDB9IH0sCi17ICAyLCAweDEzNWYsIDAsIHsweDUwLDB4MTJ9IH0sCi17IDExLCAweDEzNjEsIDAsIHsweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweDBhLDB4YmEsMHgwMCwweDAxLDB4MGJ9IH0sCi17ICA3LCAweDEzNmMsIDAsIHsweGU0LDB4MTIsMHgxNCwweGJmLDB4MGQsMHg4MCwweGU5fSB9LAoteyAxMywgMHgxMzczLCAwLCB7MHg4YSwweDgyLDB4OGIsMHg4MywweDhjLDB4ZjAsMHhlNSwweDc0LDB4MTIsMHgxNCwweGJmLDB4NzQsMHhmOX0gfSwKLXsgMTQsIDB4MTM4MCwgMCwgezB4MjQsMHgwMCwweGY1LDB4ODIsMHg3NCwweDAzLDB4MzQsMHg4NCwweGY1LDB4ODMsMHg3NCwweDBmLDB4ZjAsMHg3NH0gfSwKLXsgMTQsIDB4MTM4ZSwgMCwgezB4ZmUsMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDYsIDB4MTM5YywgMCwgezB4MTIsMHgwMywweGUxLDB4MTIsMHgwNCwweGY3fSB9LAoteyAgMSwgMHgxM2EyLCAwLCB7MHgyMn0gfSwKLXsgMTMsIDB4MTNhMywgMCwgezB4OTAsMHg3ZCwweGMxLDB4ZTAsMHhmYSwweDI0LDB4MDAsMHhmYiwweGU0LDB4MzQsMHgxOSwweGZjLDB4OTB9IH0sCi17IDE0LCAweDEzYjAsIDAsIHsweDdkLDB4YzIsMHhlMCwweGZkLDB4OGIsMHg4MiwweDhjLDB4ODMsMHhmMCwweDc1LDB4ZjAsMHgxMSwweGVhLDB4YTR9IH0sCi17ICAzLCAweDEzYmUsIDAsIHsweGZhLDB4N2IsMHgwMH0gfSwKLXsgIDMsIDB4MTNjMSwgMCwgezB4YmIsMHgxMCwweDAwfSB9LAoteyAgMiwgMHgxM2M0LCAwLCB7MHg1MCwweDI0fSB9LAoteyAxNCwgMHgxM2M2LCAwLCB7MHhlYSwweDI0LDB4MDAsMHhmYywweGU0LDB4MzQsMHgxOCwweGZkLDB4ZWIsMHgyYywweGZjLDB4ZTQsMHgzZCwweGZkfSB9LAoteyAxNCwgMHgxM2Q0LCAwLCB7MHg3NCwweDA0LDB4MmIsMHgyNCwweGMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZCwweGY1LDB4ODMsMHhlMCwweGZlfSB9LAoteyAgOCwgMHgxM2UyLCAwLCB7MHg4YywweDgyLDB4OGQsMHg4MywweGYwLDB4MGIsMHg4MCwweGQ3fSB9LAoteyAxNCwgMHgxM2VhLCAwLCB7MHhlYSwweDI0LDB4MDAsMHhmYSwweGU0LDB4MzQsMHgxOCwweGZiLDB4NzQsMHgxMCwweDJhLDB4ZjUsMHg4MiwweGU0fSB9LAoteyAgNSwgMHgxM2Y4LCAwLCB7MHgzYiwweGY1LDB4ODMsMHhlNCwweGYwfSB9LAoteyAgMSwgMHgxM2ZkLCAwLCB7MHgyMn0gfSwKLXsgIDQsIDB4MTNmZSwgMCwgezB4ZTUsMHg3NiwweDYwLDB4MDJ9IH0sCi17ICAyLCAweDE0MDIsIDAsIHsweDgwLDB4MTZ9IH0sCi17IDEyLCAweDE0MDQsIDAsIHsweDc0LDB4MGYsMHg1NSwweDc1LDB4ZmEsMHg4YSwweDc1LDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNH0gfSwKLXsgMTAsIDB4MTQxMCwgMCwgezB4MzQsMHgxOSwweGY1LDB4ODMsMHhlMCwweGY1LDB4NzQsMHgxMiwweDEyLDB4YjR9IH0sCi17IDEwLCAweDE0MWEsIDAsIHsweDEyLDB4MTAsMHhjYSwweDc1LDB4NmUsMHgwMCwweDc1LDB4NmYsMHgwMCwweDEyfSB9LAoteyAgNiwgMHgxNDI0LCAwLCB7MHgxMSwweDQ0LDB4NzUsMHg3MCwweGI5LDB4NzV9IH0sCi17ICA2LCAweDE0MmEsIDAsIHsweDcxLDB4MTQsMHg3NSwweDcyLDB4MDIsMHgxMn0gfSwKLXsgMTEsIDB4MTQzMCwgMCwgezB4MTEsMHg3NSwweGU1LDB4NzYsMHhiNCwweDAyLDB4MDQsMHg3NCwweDAxLDB4ODAsMHgwMX0gfSwKLXsgIDEsIDB4MTQzYiwgMCwgezB4ZTR9IH0sCi17ICAzLCAweDE0M2MsIDAsIHsweGZhLDB4NzAsMHgwZn0gfSwKLXsgMTIsIDB4MTQzZiwgMCwgezB4NzQsMHgwMSwweDI1LDB4NzUsMHhmNSwweDczLDB4YzAsMHgwMiwweDEyLDB4MTEsMHhhMCwweGQwfSB9LAoteyAgMywgMHgxNDRiLCAwLCB7MHgwMiwweDgwLDB4MGF9IH0sCi17IDEwLCAweDE0NGUsIDAsIHsweDg1LDB4NzUsMHg3MywweGMwLDB4MDIsMHgxMiwweDExLDB4YTAsMHhkMCwweDAyfSB9LAoteyAxMiwgMHgxNDU4LCAwLCB7MHg3NSwweDZlLDB4MDAsMHg3NSwweDZmLDB4MDEsMHhjMCwweDAyLDB4MTIsMHgxMSwweDQ0LDB4ZDB9IH0sCi17ICA0LCAweDE0NjQsIDAsIHsweDAyLDB4ZWEsMHg3MCwweDFhfSB9LAoteyAxMywgMHgxNDY4LCAwLCB7MHg3NSwweGYwLDB4MTEsMHhlNSwweDc1LDB4YTQsMHhmYSwweDI0LDB4MDAsMHhmYSwweGU0LDB4MzQsMHgxOH0gfSwKLXsgIDksIDB4MTQ3NSwgMCwgezB4ZmIsMHg4YSwweDcwLDB4OGIsMHg3MSwweDc1LDB4NzIsMHgwMSwweDEyfSB9LAoteyAgNCwgMHgxNDdlLCAwLCB7MHgxMSwweDc1LDB4ODAsMHgzNn0gfSwKLXsgIDIsIDB4MTQ4MiwgMCwgezB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MTQ4NCwgMCwgezB4YmEsMHgxMCwweDAwfSB9LAoteyAgMiwgMHgxNDg3LCAwLCB7MHg1MCwweDJmfSB9LAoteyAxMywgMHgxNDg5LCAwLCB7MHhlYSwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDE5LDB4ZjUsMHg4MywweGUwLDB4ZmIsMHhlNX0gfSwKLXsgIDQsIDB4MTQ5NiwgMCwgezB4NzUsMHhiNSwweDAzLDB4MWJ9IH0sCi17IDE0LCAweDE0OWEsIDAsIHsweDc1LDB4ZjAsMHgxMSwweGVhLDB4YTQsMHhmYiwweDI0LDB4MDAsMHhmYiwweGU0LDB4MzQsMHgxOCwweGZjLDB4OGJ9IH0sCi17ICA5LCAweDE0YTgsIDAsIHsweDcwLDB4OGMsMHg3MSwweDc1LDB4NzIsMHgwMSwweGMwLDB4MDIsMHgxMn0gfSwKLXsgIDQsIDB4MTRiMSwgMCwgezB4MTEsMHg3NSwweGQwLDB4MDJ9IH0sCi17ICAzLCAweDE0YjUsIDAsIHsweDBhLDB4ODAsMHhjY30gfSwKLXsgIDEsIDB4MTRiOCwgMCwgezB4MjJ9IH0sCi17ICA2LCAweDE0YjksIDAsIHsweDUwLDB4NzIsMHg2ZiwweDY3LDB4MjAsMHgwMH0gfSwKLXsgMTQsIDB4MTRiZiwgMCwgezB4YzgsMHhjMCwweGUwLDB4YzgsMHhjMCwweGUwLDB4ZTUsMHhmMCwweDYwLDB4MGIsMHgxNCwweDYwLDB4MGYsMHgxNH0gfSwKLXsgIDcsIDB4MTRjZCwgMCwgezB4NjAsMHgxMSwweDE0LDB4NjAsMHgxMiwweDgwLDB4MTV9IH0sCi17ICA3LCAweDE0ZDQsIDAsIHsweGQwLDB4ZTAsMHhhOCwweDgyLDB4ZjYsMHg4MCwweDBlfSB9LAoteyAgNSwgMHgxNGRiLCAwLCB7MHhkMCwweGUwLDB4ZjAsMHg4MCwweDA5fSB9LAoteyAgNCwgMHgxNGUwLCAwLCB7MHhkMCwweGUwLDB4ODAsMHgwNX0gfSwKLXsgIDUsIDB4MTRlNCwgMCwgezB4ZDAsMHhlMCwweGE4LDB4ODIsMHhmMn0gfSwKLXsgIDQsIDB4MTRlOSwgMCwgezB4YzgsMHhkMCwweGUwLDB4Yzh9IH0sCi17ICAxLCAweDE0ZWQsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgxNGVlLCAwLCB7MHhjOCwweGMwLDB4ZTAsMHhlNSwweGYwLDB4NjAsMHgwZCwweDE0LDB4NjAsMHgwZiwweDE0LDB4NjAsMHgwZiwweDE0fSB9LAoteyAgNiwgMHgxNGZjLCAwLCB7MHg2MCwweDEwLDB4NzQsMHhmZiwweDgwLDB4MGZ9IH0sCi17ICA1LCAweDE1MDIsIDAsIHsweGE4LDB4ODIsMHhlNiwweDgwLDB4MGF9IH0sCi17ICAzLCAweDE1MDcsIDAsIHsweGUwLDB4ODAsMHgwN30gfSwKLXsgIDQsIDB4MTUwYSwgMCwgezB4ZTQsMHg5MywweDgwLDB4MDN9IH0sCi17ICAzLCAweDE1MGUsIDAsIHsweGE4LDB4ODIsMHhlMn0gfSwKLXsgIDQsIDB4MTUxMSwgMCwgezB4ZjgsMHhkMCwweGUwLDB4Yzh9IH0sCi17ICAxLCAweDE1MTUsIDAsIHsweDIyfSB9LAoteyAgMCwgMHgwMDAwLCAxLCB7MH0gfQotCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBiaXRzdHJlYW1bXSA9IHsKLQotMHgwMCwweDA5LDB4MEYsMHhGMCwweDBGLDB4RjAsMHgwRiwweEYwLCAweDBGLDB4RjAsMHgwMCwweDAwLDB4MDEsMHg2MSwweDAwLDB4MEQsCi0weDY0LDB4NjEsMHg2MiwweDc1LDB4NzMsMHg2MiwweDc0LDB4NzIsIDB4MkUsMHg2RSwweDYzLDB4NjQsMHgwMCwweDYyLDB4MDAsMHgwQiwKLTB4NzMsMHgzMSwweDMwLDB4NzgsMHg2QywweDc2LDB4NzEsMHgzMSwgMHgzMCwweDMwLDB4MDAsMHg2MywweDAwLDB4MEIsMHgzMSwweDM5LAotMHgzOSwweDM5LDB4MkYsMHgzMCwweDM5LDB4MkYsMHgzMiwweDM0LCAweDAwLDB4NjQsMHgwMCwweDA5LDB4MzEsMHgzMCwweDNBLDB4MzQsCi0weDMyLDB4M0EsMHgzNCwweDM2LDB4MDAsMHg2NSwweDAwLDB4MDAsIDB4MkUsMHhDMCwweEZGLDB4MjAsMHgxNywweDVGLDB4OUYsMHg1QiwKLTB4RkUsMHhGQiwweEJCLDB4QjcsMHhCQiwweEJCLDB4RkIsMHhCRiwgMHhBRiwweEVGLDB4RkIsMHhERiwweEI3LDB4RkIsMHhGQiwweDdGLAotMHhCRiwweEI3LDB4RUYsMHhGMiwweEZGLDB4RkIsMHhGRSwweEZGLCAweEZGLDB4RUYsMHhGRiwweEZFLDB4RkYsMHhCRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhBRiwweEZGLDB4RkEsMHhGRiwweEZGLDB4RkYsIDB4QzksMHhGRiwweEZGLDB4RkYsMHhERiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLDB4QTMsMHhGRiwweEZCLAotMHhGRSwweEZGLDB4QkYsMHhFRiwweEUzLDB4RkUsMHhGRiwweEJGLCAweEUzLDB4RkUsMHhGRiwweEJGLDB4NkYsMHhGQiwweEY2LDB4RkYsCi0weEJGLDB4RkYsMHg0NywweEZGLDB4RkYsMHg5RiwweEVFLDB4RjksIDB4RkUsMHhDRiwweDlGLDB4RUYsMHhGQiwweENGLDB4OUIsMHhFRSwKLTB4RjgsMHhGRSwweEVGLDB4OEYsMHhFRSwweEZCLDB4RkUsMHgwQiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLCAweEJGLDB4RkYsMHhGRiwweEZDLDB4MTcsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLDB4N0YsIDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwKLTB4RkMsMHgzRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHg1RiwweEZGLCAweEZGLDB4RkQsMHhGRiwweEZGLDB4REIsMHhGRiwweEZELDB4RkYsCi0weDc3LDB4RkYsMHhGRCwweEZGLDB4RkYsMHhERiwweEZFLDB4RkQsIDB4RkYsMHhGRiwweEYyLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEUxLAotMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHgzRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RTMsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRiwKLTB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweDY3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHg3RiwweEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhERiwweEZGLDB4RkYsMHhGRiwweDJGLDB4RkYsCi0weEYzLDB4RkQsMHhGRiwweDdGLDB4REUsMHhGNywweEZELDB4RkYsIDB4N0YsMHhGNywweDdELDB4RkYsMHg3RiwweERGLDB4RjcsMHhCRCwKLTB4RkYsMHg3RiwweEZGLDB4MUYsMHhGRiwweEVGLDB4RkIsMHhGRSwgMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhFRiwweEZCLAotMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEZGLCAweDNGLDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsCi0weDlGLDB4RTcsMHhGQSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsIDB4N0YsMHg5RiwweEU3LDB4RkYsMHhGQywweDdGLDB4QkYsMHhCRiwKLTB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhCNywgMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLAotMHhGRiwweEUwLDB4RkQsMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LCAweEY5LDB4RkUsMHg3RiwweDlELDB4RjksMHhGRSwweDdELDB4OUQsCi0weEU3LDB4RjksMHhGRSwweDdGLDB4OUYsMHhFRCwweEVELDB4RkYsIDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwKLTB4REYsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwgMHg3RiwweERGLDB4RkYsMHg5QiwweEZGLDB4RUYsMHhGQiwweEZFLAotMHhGQiwweEJGLDB4RUYsMHhCQiwweEZFLDB4RkYsMHhBRiwweEJCLCAweEJFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RkYsCi0weEI3LDB4QkYsMHhEQiwweEY2LDB4QkQsMHhCRiwweDZCLDB4REIsIDB4RjYsMHhGOSwweEJGLDB4NUIsMHhENiwweEY5LDB4QkYsMHg2RiwKLTB4REIsMHhGNiwweEZELDB4QkYsMHhGRiwweDBFLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4NUYsMHhGRiwweEY3LDB4RkYsMHhGRiwweDdGLAotMHhGNywweEJELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4REYsMHg5RiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsCi0weEZGLDB4RUYsMHhGRSwweEZFLDB4RkYsMHhGRiwweDc3LDB4RkYsIDB4RkIsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjgsMHgzRiwKLTB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGNCwweDdGLDB4RkYsMHhGRSwweEZELCAweEJFLDB4RkYsMHhERiwweEZFLDB4RkYsMHhGRiwweEVGLDB4N0YsCi0weEZGLDB4Q0YsMHhGRiwweENGLDB4RkYsMHhGRiwweEZGLDB4REYsIDB4RTYsMHhGRiwweEZGLDB4N0YsMHhERiwweEY3LDB4REQsMHg3RiwKLTB4N0YsMHhERiwweEY3LDB4RkYsMHg3RiwweERGLDB4RDcsMHhGRCwgMHhGRiwweDdGLDB4REYsMHhGNywweEZGLDB4Q0QsMHhGRiwweEYyLAotMHhGRiwweEZGLDB4NEYsMHg3RiwweEY0LDB4RkYsMHhGRiwweEZGLCAweEU3LDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhCQiwweEZGLDB4RUYsMHhGRiwweEZFLDB4RkYsIDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGQiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg2NSwgMHhFRiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkQsMHhFRiwweEZGLAotMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZFLDB4Q0YsMHhERiwweEZFLDB4RkYsCi0weEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEYzLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkUsMHhERiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhCRiwweEZGLCAweEZGLDB4RkYsMHhFMywweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhFRiwweEVCLDB4RkYsMHhGRSwweEJGLDB4RkYsIDB4RUIsMHhGRiwweEZDLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhFRSwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REQsMHhGRiwgMHhENiwweEZGLDB4RkQsMHhCRiwweEZGLDB4RkIsMHhGRiwweEZFLAotMHhGRCwweEZGLDB4RkYsMHhGRCwweEVGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweERFLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhCRiwweEZGLDB4RkQsMHhGRiwweDdGLDB4QkYsIDB4RkYsMHg1RiwweERGLDB4RkYsMHhGRiwweEJGLDB4NzcsMHhGRiwKLTB4RkYsMHhGRiwweDdGLDB4RDcsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEMzLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERiwweEVGLAotMHhGRiwweEZGLDB4RkUsMHhGQiwweEZGLDB4RkYsMHhERiwweEJGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RUQsMHhGRiwweEI3LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4QUYsMHg3RiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweERGLDB4QkYsMHhERiwweEYzLDB4RkQsMHhGQiwweEZGLDB4NUIsCi0weEZELDB4RkYsMHhCRiwweEVGLDB4RjcsMHhGRiwweEZGLDB4N0QsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGOCwweDNCLDB4RkYsMHhCRiwKLTB4NkYsMHhGRiwweEZFLDB4RkYsMHhCRiwweEZGLDB4RUIsMHg3RCwgMHhGRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEYyLDB4N0YsMHhGQywweEZGLDB4M0YsMHhERiwweEVELCAweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRiwweDVGLDB4RjcsCi0weEI1LDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweEUwLDB4M0YsIDB4OUYsMHg5RSwweEZGLDB4RkYsMHhFRiwweEZGLDB4REYsMHhGRiwKLTB4QkYsMHg1RiwweEJGLDB4Q0YsMHhGMywweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHg2OSwweEFGLDB4MzMsMHhGRCwweEZGLAotMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkMsMHhGRiwweDdGLCAweEQ5LDB4RkYsMHhERiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjUsCi0weEEzLDB4REYsMHg2RSwweERFLDB4RkYsMHhGRiwweEJELDB4RkYsIDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZFLDB4RTcsMHhGRCwKLTB4RkYsMHhGRiwweEZGLDB4RjksMHhFRiwweEM2LDB4RkUsMHhCNywgMHhBRCwweEU1LDB4RjksMHhGRiwweEZGLDB4RkYsMHhDRiwweEZGLAotMHhGRiwweEZGLDB4Q0QsMHhGQiwweDdGLDB4RkYsMHhGRiwweEZGLCAweEY5LDB4RjYsMHgwRiwweERGLDB4RUMsMHhDRiwweDdGLDB4RkYsCi0weEZCLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkUsIDB4RjksMHhGRCwweDdGLDB4RkYsMHg3RiwweEZGLDB4RjksMHg1QiwKLTB4RkYsMHg3MywweERDLDB4RkQsMHg3QiwweERGLDB4RkYsMHhGRiwgMHhGRiwweDdCLDB4RkYsMHhGRiwweEY3LDB4NTMsMHhENiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhEOCwweDlGLDB4RkUsMHhGRiwweEVGLCAweDdGLDB4RUUsMHhGRiwweEZGLDB4RkYsMHhGQiwweEVELDB4RUQsCi0weEZELDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGQiwweDdGLDB4RkYsIDB4RTIsMHg3RiwweEZGLDB4NkYsMHhEOCwweDU3LDB4RjcsMHhGRiwKLTB4RkYsMHhGRiwweERGLDB4RkYsMHhFOCwweEZGLDB4RkYsMHhGRCwgMHhGRiwweEZGLDB4RkMsMHg3RiwweEZGLDB4RTQsMHhGRiwweEZCLAotMHhFRiwweEZCLDB4RkUsMHhERiwweEI3LDB4RUQsMHhGRiwweEZFLCAweERGLDB4N0YsMHhGRiwweEZFLDB4N0YsMHhCNywweEZGLDB4RkYsCi0weEZGLDB4RkYsMHg4OSwweEZGLDB4RkYsMHhDRiwweEYzLDB4RkUsIDB4N0YsMHhGRiwweEVGLDB4RkYsMHhGRSwweDdFLDB4N0YsMHhGQiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGMSwgMHhGRiwweEVCLDB4N0EsMHhENSwweEJGLDB4NkYsMHhEQiwweEJFLAotMHhGRCwweEI3LDB4RDgsMHhGNiwweEU1LDB4QkYsMHg2RiwweEZCLCAweEZFLDB4RjUsMHhCRCwweDdFLDB4MDYsMHhGRiwweERGLDB4RjcsCi0weEZCLDB4RjYsMHhGRiwweDNGLDB4RkYsMHhEQiwweEZGLDB4RkYsIDB4NkYsMHhGQiwweEY3LDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRSwKLTB4RjcsMHhBRiwweEZGLDB4QjcsMHhFRCwweEVGLDB4RjcsMHhGRSwgMHhGRiwweEZGLDB4REYsMHhGRiwweEZFLDB4RkYsMHhFRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhCRiwweEY3LDB4RkMsMHgxRiwweEVFLCAweEZCLDB4RkUsMHhCRCwweEZGLDB4N0YsMHg1RiwweEQ3LDB4RkQsCi0weEZCLDB4NDMsMHhGRiwweEZGLDB4RkQsMHhGRiwweDVGLDB4RkYsIDB4RjcsMHhGRiwweEY5LDB4M0YsMHhGRiwweENGLDB4RjMsMHhGRCwKLTB4RjcsMHg3RSwweEVGLDB4QTcsMHhGOSwweEZFLDB4OEYsMHhBNywgMHhFOSwweEYzLDB4N0UsMHg5RiwweEZCLDB4RjgsMHhGRiwweEZGLAotMHgzRiwweEZELDB4N0YsMHg1RiwweERGLDB4RkQsMHhGRiwweEZGLCAweDVGLDB4RkYsMHhGRCwweDVGLDB4RkYsMHhGRiwweDdGLDB4RkQsCi0weDdGLDB4RkQsMHg5RiwweEZGLDB4RTAsMHhGRiwweEZBLDB4RjgsIDB4QkUsMHg2RiwweDlGLDB4RTYsMHhGOCwweEJFLDB4M0YsMHg5QSwKLTB4RjksMHhCRSwweDZGLDB4OUYsMHhFMiwweEY5LDB4RkUsMHg2RiwgMHg5RiwweEY5LDB4RkYsMHhGNSwweEZELDB4N0YsMHhDRiwweERGLAotMHhGRCwweEZELDB4N0YsMHhGRiwweEY1LDB4RkYsMHhGRiwweEZGLCAweEY3LDB4RjUsMHhGRCwweDBGLDB4REIsMHhGRiwweEQzLDB4RkYsCi0weEVCLDB4RkEsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZBLDB4RkYsIDB4RkYsMHhDQiwweEZCLDB4RkUsMHhGRiwweEZGLDB4RUIsMHhGQSwKLTB4RkUsMHhGRiwweEZGLDB4QjcsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhCRiwweEZGLDB4REYsMHhGNSwweEZGLDB4RkYsMHhENywweEZGLAotMHhGRiwweEZGLDB4REYsMHhENywweEY1LDB4RkYsMHg3RiwweEZFLCAweDRGLDB4RkYsMHhGRCwweEZGLDB4N0YsMHg3RiwweEZGLDB4QUQsCi0weEVCLDB4RkIsMHhGRiwweEFELDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4QUYsMHhFQiwweEZCLDB4RkYsMHhGQywweDBELDB4RkYsMHhGRiwKLTB4REYsMHhEMiwweEZELDB4RkYsMHhGRiwweEZELDB4RjYsMHhGRiwgMHhGRiwweDdGLDB4RkYsMHhGRiwweDFGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZCLDB4M0YsMHg3RCwweEVCLDB4MzIsMHhGRSwweEJGLCAweDJGLDB4RUIsMHhGQSwweEFFLDB4QkQsMHhFMCwweEZBLDB4N0UsCi0weEJGLDB4QUQsMHhFQiwweEZBLDB4RkUsMHhCRiwweEY1LDB4N0YsIDB4RkYsMHhERSwweEZFLDB4RTMsMHhGQiwweEZGLDB4RkYsMHhGRiwKLTB4REYsMHhFRiwweDRGLDB4REYsMHhGRiwweDdGLDB4REYsMHhGRiwgMHhGNywweEZGLDB4RkYsMHhGOCwweDdGLDB4RkYsMHhGRiwweEVGLAotMHhGQiwweEZGLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRiwweERGLCAweEVELDB4RkIsMHhERiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsCi0weDgxLDB4RkYsMHhGRiwweEZGLDB4RkYsMHgzRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZFLDB4REQsMHhGRSwweEVGLDB4RkQsMHhGRiwKLTB4RkYsMHhGQiwweEZFLDB4RjcsMHhGRiwweDkzLDB4RkQsMHhGQiwgMHg3RSwweEZGLDB4RkUsMHg4NywweEU5LDB4RkYsMHg3RiwweEIzLAotMHg5RiwweEZFLDB4RkUsMHhGRiwweEFGLDB4RkQsMHhGRSwweDdFLCAweDNGLDB4RkUsMHg2NywweEZGLDB4RkYsMHhGNywweEZGLDB4RkYsCi0weEZDLDB4RjcsMHhERiwweEZELDB4RkYsMHg3RiwweEZGLDB4RkYsIDB4N0YsMHg2RCwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHgyRiwKLTB4RkYsMHhCRiwweEZGLDB4RkYsMHhFRSwweEZGLDB4QkUsMHhGRiwgMHhGRiwweEZFLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRSwweEZGLAotMHhFRiwweEZGLDB4RkYsMHhGQSwweDVGLDB4RkYsMHhGRiwweEZCLCAweEZGLDB4RkYsMHhFRiwweEZGLDB4RkIsMHhGRSwweEZELDB4RkYsCi0weEZFLDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsIDB4RkUsMHhCRiwweERGLDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGNywKLTB4RkMsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg3RiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjIsMHg3RiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEYzLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGQiwweEZGLDB4RkYsCi0weEZGLDB4REYsMHhFMiwweEZGLDB4RkYsMHhGQiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEU3LDB4RkYsMHhGRCwKLTB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhFRCwgMHhFRiwweEZELDB4RkYsMHhGRiwweERGLDB4RDcsMHhGNSwweEZELAotMHg3RiwweDVELDB4RkQsMHhGRiwweDdGLDB4REYsMHg5NywweEY0LCAweEZELDB4N0IsMHg1RiwweEZGLDB4QzksMHhGRiwweEZCLDB4RkUsCi0weEZGLDB4QkYsMHhGRiwweDVGLDB4RkYsMHhGRiwweEY3LDB4RkYsIDB4RUYsMHhGRCwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGNywweEZGLDB4RDcsMHhGRCwweDdELDB4N0YsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhFRiwweERGLDB4RjcsMHhGRCwweEZGLAotMHhCQiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkUsMHhFMywweEZGLCAweEY5LDB4RkUsMHg3RiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsCi0weEJGLDB4RjksMHhGRSwweEZGLDB4OUYsMHhFRiwweEY5LDB4RkUsIDB4RkYsMHhCRiwweEYzLDB4REEsMHhGRiwweDM3LDB4Q0QsMHhGMywKLTB4N0MsMHhERiwweDM3LDB4Q0QsMHhGMywweDdGLDB4MzcsMHhDRCwgMHhGMywweDdDLDB4REYsMHgzNywweENDLDB4RjMsMHg3RiwweDVBLAotMHhCRCwweEY2LDB4RkQsMHhCRiwweDZGLDB4REIsMHhGNiwweEZELCAweEJGLDB4NkYsMHhERSwweEZELDB4QkYsMHg2RiwweERCLDB4RjYsCi0weEZELDB4QkYsMHg2RiwweEZFLDB4RjEsMHg2RiwweEVCLDB4N0EsIDB4REUsMHhCNywweEFELDB4RUIsMHg3QSwweERFLDB4QjcsMHhBRiwKLTB4N0EsMHhERSwweEI3LDB4QUQsMHhFQiwweDdBLDB4REUsMHhCNywgMHhGRiwweDdFLDB4RkYsMHhGRSwweENELDB4QjMsMHg2QywweERCLAotMHgzNiwweENELDB4QjMsMHg2QywweERFLDB4Q0QsMHhCMywweDZDLCAweERCLDB4MzYsMHhDRCwweEIzLDB4NkMsMHhERiwweEM5LDB4QkYsCi0weEY3LDB4QkQsMHhFRiwweDdBLDB4OUUsMHhBNywweEE5LDB4RUEsIDB4N0EsMHhCNywweEJELDB4RUEsMHg3QiwweERFLDB4QTcsMHhCRCwKLTB4Q0EsMHg3MiwweDhELDB4OTEsMHhGRiwweEVGLDB4RkIsMHhGRSwgMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RjcsMHhFRiwweEZCLAotMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEZFLCAweDg3LDB4RkYsMHhGNiwweEZELDB4QkYsMHg2RiwweERCLDB4RjYsCi0weEZELDB4QkYsMHg2RiwweEY2LDB4RkQsMHhCRiwweDZGLDB4REIsIDB4RjYsMHhGRCwweEJGLDB4NkYsMHhGRSwweDRGLDB4RkYsMHhCRiwKLTB4RUYsMHhCQiwweEVFLDB4RkIsMHhCRSwweEVGLDB4QkIsMHhFRiwgMHhCRSwweEVGLDB4QkIsMHhFRSwweEZCLDB4QkUsMHhFRiwweEJCLAotMHhFRiwweEZDLDB4NUYsMHhGRiwweEZGLDB4RkYsMHgzRiwweENGLCAweEYzLDB4RkMsMHhGRiwweDNGLDB4Q0YsMHhGQywweEZGLDB4M0YsCi0weENGLDB4RjMsMHhGQywweEZGLDB4M0YsMHhDRiwweEZELDB4OUYsIDB4RkUsMHhCRiwweEFGLDB4RUIsMHhGQSwweEZFLDB4QkYsMHhBRiwKLTB4RUIsMHhGRSwweEJGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwgMHhBRiwweEVCLDB4RkYsMHhFMSwweDZGLDB4RkQsMHhGRiwweDdGLAotMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGRCwweEZGLCAweDdGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RkYsCi0weDdBLDB4QkYsMHhGQiwweEZFLDB4REYsMHhCNywweEVELDB4RkIsIDB4N0UsMHhERiwweEI3LDB4RkIsMHg3RSwweERGLDB4QjcsMHhFRCwKLTB4RkIsMHg3RSwweERGLDB4QjcsMHhGRiwweEM5LDB4RkYsMHhGRiwgMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVFLCAweEZCLDB4RkUsMHhCQiwweEZGLDB4RkUsMHhGRiwweEJGLDB4RUYsCi0weEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGRSwweEZGLDB4QkYsIDB4RUYsMHhGQiwweEZFLDB4RkYsMHgzRiwweENGLDB4RkYsMHhFNywKLTB4RkUsMHhGRiwweEY1LDB4RkQsMHg3NywweDVELDB4RDcsMHgzNSwgMHhERCwweDc3LDB4RDcsMHhGNSwweENELDB4N0IsMHg1RCwweEQ3LAotMHhGNSwweERELDB4NzcsMHhGRSwweDI3LDB4RkYsMHhGRiwweDhCLCAweEUyLDB4RjgsMHhCRSwweDJGLDB4OEIsMHhFMiwweEY5LDB4QUYsCi0weDhCLDB4RTIsMHhGOCwweEJFLDB4MkYsMHg4QiwweEUyLDB4RjksIDB4RkUsMHgxRiwweEZGLDB4NUYsMHhENywweEY1LDB4RkQsMHg3RiwKLTB4NUYsMHhENywweEY1LDB4RkYsMHg1RiwweEQ3LDB4RjUsMHhGRCwgMHg3RiwweDVGLDB4RDcsMHhGNSwweEZGLDB4RkEsMHgzRiwweEZFLAotMHhCRiwweEFGLDB4RUIsMHhGQSwweEZFLDB4QkYsMHhBRiwweEVCLCAweEVDLDB4QkYsMHhBRiwweEVCLDB4RkEsMHhGRSwweEJGLDB4QUYsCi0weEVCLDB4RkYsMHhGRSwweDdGLDB4RkQsMHg3RiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFNiwgMHhGRiwweEZBLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLAotMHhGNywweEZDLDB4RkYsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLCAweERGLDB4RjcsMHhGRCwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHgwMiwweEZGLDB4RkUsMHhCRiwweEFCLDB4RUIsMHhGQSwgMHhCRSwweEJGLDB4MjMsMHhFQiwweERFLDB4MUYsMHhBRiwweEVBLAotMHhGQSwweEZFLDB4QUYsMHhBRiwweEVCLDB4RkQsMHg5NywweEZGLCAweEYzLDB4RkMsMHg3QiwweDFGLDB4Q0YsMHhGMSwweEZDLDB4N0YsCi0weDFGLDB4RjEsMHhGQywweDc3LDB4MUYsMHhDRCwweEYxLDB4RkMsIDB4RkYsMHgxRiwweEZFLDB4ODcsMHhGRiwweEFGLDB4RUYsMHhGQSwKLTB4RkUsMHhGRiwweEFGLDB4RUYsMHhGQSwweEZELDB4QkYsMHgyQiwgMHhGQiwweDdFLDB4QkYsMHhCRiwweEVCLDB4RkIsMHhGQiwweEZCLAotMHhERiwweEZGLDB4RkIsMHhGNywweEZGLDB4RkYsMHg3RiwweEY3LCAweEY3LDB4RkYsMHhGRCwweERGLDB4RkUsMHhGQywweERGLDB4RkYsCi0weERGLDB4RkYsMHhGRCwweEZGLDB4REEsMHhCRiwweEZGLDB4QkIsIDB4RUYsMHhGQiwweEY5LDB4RkYsMHhCRSwweEVGLDB4RkIsMHhGQiwKLTB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwgMHhGRiwweEY3LDB4N0YsMHhGRCwweEQ3LDB4RkYsMHhGRiwweDdGLAotMHhGRiwweEZGLDB4RkYsMHhGRSwweEY3LDB4RkYsMHhGRSwweEZGLCAweEY3LDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEVDLDB4RkYsCi0weEZGLDB4RkUsMHhERiwweEJGLDB4RkYsMHhGQiwweEZFLDB4RkYsIDB4QkIsMHg2OCwweEFFLDB4MUYsMHhBRSwweEZCLDB4RkIsMHhGRiwKLTB4RkYsMHhCRiwweEZGLDB4RDUsMHhGRiwweDdGLDB4RkYsMHhGRiwgMHhGNywweEZFLDB4RkUsMHhGRiwweEJGLDB4RUYsMHg5RiwweEZELAotMHg3RiwweEZGLDB4Q0IsMHhGRiwweEZGLDB4REYsMHhGRiwweEZGLCAweEJCLDB4RjcsMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsCi0weEZGLDB4QkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweERFLDB4M0YsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEE3LDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEVGLDB4RkYsMHg3RiwweEZCLDB4RkQsMHhGQiwgMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4Q0YsMHhGMywweDdDLAotMHhGRiwweDdGLDB4OEQsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZCLDB4RkYsMHhGNywweEZCLDB4RkUsMHhGRCwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGNywweEZELDB4RkYsMHg3RiwweEZELDB4MUYsIDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEJGLDB4REYsMHhGRiwKLTB4RkYsMHhGRSwweDVDLDB4RkYsMHg2RCwweEZGLDB4N0YsMHhBQiwgMHhFNywweEYxLDB4RkYsMHhGRCwweDlGLDB4RkYsMHhGRiwweEFELAotMHhFQiwweDdBLDB4M0YsMHgxRiwweEZGLDB4RkYsMHhGRSwweEJGLCAweEFGLDB4RjMsMHhERSwweEY1LDB4RkYsMHg4RiwweEZCLDB4REYsCi0weEU2LDB4N0YsMHhGRiwweERGLDB4RjMsMHhGRCwweEZGLDB4N0UsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4RjcsMHhGMywKLTB4N0YsMHhERiwweEY3LDB4RUYsMHhGRiwweEY2LDB4M0YsMHg5RiwgMHhERiwweEZGLDB4RkYsMHhFRSwweEZGLDB4RkYsMHhFRiwweEZCLAotMHhGRiwweEZGLDB4RjksMHhGQiwweEZFLDB4NEYsMHhCRiwweEVGLCAweEJCLDB4RkYsMHg2OSwweEFGLDB4QUYsMHhGQywweEZGLDB4M0YsCi0weERELDB4RkYsMHhGQywweEJGLDB4OEYsMHhGRiwweEZELDB4RjMsIDB4QkYsMHhFRCwweDlFLDB4RkMsMHhCRiwweDZGLDB4RjUsMHhEMywKLTB4REYsMHhGRiwweERCLDB4RDYsMHhGNSwweEVGLDB4RkQsMHhGRSwgMHhGRiwweEI5LDB4RkYsMHgxRiwweEQyLDB4QTksMHhBRiwweEZGLAotMHhEQiwweEY3LDB4QkYsMHhFRiwweDQ2LDB4RkYsMHhGRiwweEFELCAweEVCLDB4N0EsMHhERiwweEVGLDB4RjcsMHhGRiwweDdGLDB4RjcsCi0weDlGLDB4RUQsMHhGRiwweDdGLDB4RkYsMHhBRCwweEVCLDB4N0YsIDB4RjUsMHg2RiwweEZGLDB4RkQsMHhGQiwweEQ2LDB4RjQsMHhGNywKLTB4RkIsMHhGOSwweDdFLDB4N0YsMHhGRiwweDVGLDB4QzIsMHhGRSwgMHhCRiwweEZELDB4RkIsMHgzMywweERGLDB4RjksMHg1QiwweEZGLAotMHhGRiwweERELDB4NjcsMHg3RCwweENGLDB4RUYsMHhEQiwweEVDLCAweEZGLDB4NzcsMHhERCwweEY3LDB4RkQsMHhGRiwweEZGLDB4REUsCi0weEE3LDB4QkYsMHhENCwweDlGLDB4RkYsMHhGRiwweEJGLDB4RUYsIDB4RkUsMHhGRiwweERGLDB4RUYsMHhCQiwweEZGLDB4RkYsMHhFRiwKLTB4RUIsMHhGQSwweEZGLDB4RUYsMHhCRCwweEZCLDB4RkYsMHhFMiwgMHg3RiwweEZGLDB4REYsMHhERiwweEY3LDB4RkQsMHhCRiwweEJCLAotMHg3MywweEY3LDB4RkQsMHg3RiwweERGLDB4REUsMHhGNywweEJGLCAweEVBLDB4REIsMHhGNiwweEZGLDB4RDYsMHhGRiwweEZGLDB4NjYsCi0weEZGLDB4QkUsMHhGRiwweEJGLDB4NkIsMHhEOSwweEY2LDB4REYsIDB4RkYsMHhGQiwweDdFLDB4N0YsMHhCNywweDdFLDB4RkYsMHhGRSwKLTB4RkYsMHhDRCwweEZGLDB4RkUsMHg3RiwweEZGLDB4RkMsMHhGRCwgMHgzRiwweEZCLDB4RkIsMHhGNywweEZGLDB4RkYsMHhGQiwweEY2LAotMHg3RCwweEZFLDB4N0YsMHhGRiwweEZDLDB4RkYsMHhCOSwweEZGLCAweEY5LDB4RkEsMHhGRSwweEJGLDB4QUYsMHg1QiwweEQ2LDB4RUQsCi0weEFELDB4N0IsMHhGNiwweEY5LDB4QkYsMHhFRiwweEY4LDB4RkEsIDB4RkUsMHhCRiwweEZFLDB4RTYsMHhGRiwweEZGLDB4RjcsMHhGRCwKLTB4RkYsMHg3RiwweEJGLDB4RUYsMHhGMywweEZGLDB4RkYsMHg2RiwgMHhGNywweEZFLDB4RkYsMHhGRiwweEY3LDB4RkQsMHhGRSwweEY3LAotMHhFRiwweEZGLDB4RkIsMHhFRiwweEZCLDB4N0UsMHhERSwweEZFLCAweEZGLDB4QkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZCLDB4RkYsCi0weEZGLDB4RUYsMHhGQiwweDZGLDB4RkMsMHgxRiwweEZFLDB4RTcsIDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEQzLDB4QjQsMHhCQiwKLTB4RkYsMHhGRiwweEZELDB4QkYsMHg2RiwweEUzLDB4RkUsMHhGRiwgMHhCRiwweEZDLDB4QkYsMHhGNywweENGLDB4RjcsMHhGRCwweEZGLAotMHgyRiwweERGLDB4QUIsMHhFQSwweEZGLDB4REYsMHhFNywweEVBLCAweDlBLDB4QUYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEY1LDB4M0YsCi0weEZELDB4N0UsMHhGRiwweEQ3LDB4RjUsMHhGQiwweEZGLDB4RkQsIDB4RjcsMHhGRiwweDdGLDB4RkUsMHhGNywweEZELDB4RkYsMHhENywKLTB4RkYsMHhENywweDdGLDB4RUUsMHg3RiwweEZBLDB4NzksMHhGRSwgMHgyRiwweDhCLDB4RTYsMHhGOSwweEZFLDB4M0YsMHg5RSwweEY5LAotMHhCRSwweDJGLDB4MEIsMHhFNywweEY5LDB4RkUsMHgyRiwweDlGLCAweEZELDB4RkYsMHhGRSwweDdELDB4N0YsMHg1RiwweEQ3LDB4RkYsCi0weEZGLDB4N0YsMHhGRiwweEZELDB4RkYsMHg3RiwweDVGLDB4OTcsIDB4RkYsMHhGRCwweDdGLDB4NUYsMHhGRiwweEUzLDB4RkYsMHhGRiwKLTB4RkEsMHhGRSwweEJGLDB4QUYsMHhGQiwweEZCLDB4RkYsMHhGRiwgMHhDRiwweEVCLDB4RkUsMHhCRiwweEFGLDB4RkYsMHhGQSwweEZFLAotMHhCRiwweEZGLDB4ODcsMHhGRiwweEZGLDB4RjUsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRCwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsCi0weEZCLDB4RkYsMHhGRiwweEY1LDB4RkYsMHhGRiwweEZFLDB4MEYsIDB4RkYsMHhGRCwweEVCLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhFRiwKLTB4N0IsMHhERiwweEZFLDB4RkYsMHhGRiwweERGLDB4RjcsMHhGRCwgMHhFQiwweDdGLDB4REYsMHhGRiwweDVGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZELDB4QkYsMHhGRiwweDdFLDB4RkEsMHhCRiwweEM3LCAweERCLDB4RjcsMHhCRCwweDNGLDB4RkIsMHhGRiwweEY2LDB4RkYsCi0weEZBLDB4QUYsMHhGRiwweEVCLDB4RkEsMHhGRSwweDNGLDB4MkYsIDB4RUEsMHhGQSwweDNFLDB4QUQsMHhDOSwweEJBLDB4RjYsMHhBRCwKLTB4QUYsMHhFQiwweEZBLDB4RjYsMHhCRiwweEZFLDB4N0YsMHhGRiwgMHhGRiwweEZELDB4RkYsMHhGMSwweDdGLDB4M0YsMHhDRiwweEYxLAotMHhFRiwweEZGLDB4N0YsMHhGRiwweEJDLDB4REYsMHhERiwweEY3LCAweERELDB4RkYsMHhFMCwweDdGLDB4RkYsMHhGRiwweEZFLDB4RkYsCi0weEZBLDB4RUMsMHhCQiwweDdGLDB4NUYsMHhGRiwweEZCLDB4RUMsIDB4RkYsMHhFRiwweEI3LDB4RkYsMHhGNywweEZGLDB4RkYsMHhCNSwKLTB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLDB4RUUsMHhERiwgMHg1RiwweERGLDB4REUsMHhGRiwweEFFLDB4RTcsMHg3NywweEZGLAotMHhGRiwweERGLDB4RjcsMHhGRiwweEUzLDB4RkYsMHhGQSwweEJCLCAweEZFLDB4RkYsMHhBRiwweEZELDB4RkIsMHhGRSwweEJGLDB4QUIsCi0weEY5LDB4RkUsMHhGRiwweEJGLDB4N0YsMHhCRiwweEZFLDB4QkQsIDB4RkUsMHhENywweEZGLDB4OUYsMHhGRCwweEZGLDB4QkUsMHhFRiwKLTB4RkYsMHhFRSwweEZELDB4QkIsMHg1QiwweEVGLDB4RkYsMHg3RiwgMHhFRiwweEZGLDB4RUYsMHhGRiwweDdGLDB4RkYsMHg0RiwweEZGLAotMHhFRiwweEZCLDB4QkMsMHhGQywweEZGLDB4RkYsMHhGRiwweEZFLCAweEZFLDB4RkQsMHhGQSwweEZFLDB4RkIsMHhGRiwweEZELDB4RjMsCi0weEZCLDB4RkYsMHhGOCwweDVGLDB4RkYsMHhGRiwweEQ3LDB4RjUsIDB4RkQsMHhERiwweEVGLDB4RkYsMHhGMywweERDLDB4NUYsMHhDRSwKLTB4RjUsMHhCRCwweEZGLDB4RkYsMHhENywweEZGLDB4RkYsMHhGOSwgMHgzRiwweEZGLDB4REYsMHhGNywweEZGLDB4RkUsMHhGRiwweEZELAotMHhGRiwweEZCLDB4RkYsMHhGNywweEI5LDB4N0QsMHhGRSwweERGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RjksMHg3RiwweEZGLDB4RkUsCi0weEZGLDB4RkYsMHg3RiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RjcsIDB4RjYsMHhGRiwweEJGLDB4RjEsMHhGOCwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhFMCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjksMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEVGLDB4RUYsMHhGRiwweEZGLAotMHg5QiwweEZCLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhDMSwweEZGLCAweERGLDB4RkYsMHgzRiwweDVGLDB4RDcsMHhCRiwweEVGLDB4QkIsCi0weERFLDB4RUUsMHhGRiwweDdGLDB4REYsMHhGRiwweEZFLDB4RjUsIDB4N0YsMHhERiwweEZGLDB4OTksMHhGRiwweEZGLDB4RkEsMHhGRiwKLTB4QkYsMHhGRCwweEVCLDB4N0EsMHhGRiwweEI3LDB4RkUsMHhGRSwgMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkQsMHhCRiwweEZGLAotMHg5NywweEZGLDB4RkQsMHhGNywweEZGLDB4N0YsMHhGNywweEZGLCAweEZGLDB4RkQsMHg1RiwweEZFLDB4RjMsMHhGOSwweERGLDB4REYsCi0weEZGLDB4RkYsMHhGQywweEZGLDB4RkYsMHg4MywweEZGLDB4RkYsIDB4RkUsMHhGRiwweDlFLDB4RUMsMHhGQiwweEVFLDB4RkYsMHg5RiwKLTB4QkYsMHhFRiwweEZGLDB4RkUsMHhFRCwweDdCLDB4RkYsMHhGRiwgMHhGRiwweEYxLDB4NUEsMHhGRiwweEZGLDB4RkQsMHhGRiwweDdDLAotMHg2OSwweDNCLDB4REYsMHhGRiwweDdGLDB4MUYsMHhERiwweEZGLCAweEZELDB4QkEsMHhGRiwweEZGLDB4RkIsMHhGRiwweDVCLDB4QkQsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RDcsMHhCNiwweEVELDB4RTksIDB4RkYsMHhENiwweEJELDB4NkYsMHg1RiwweEZCLDB4RkYsMHhFRiwKLTB4RkYsMHg1RiwweEZFLDB4RjYsMHg2RiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEY3LDB4RUIsMHg3QSwweERGLDB4RkYsMHg5RiwweDdGLAotMHg3RiwweEZGLDB4QjcsMHhGRiwweEZGLDB4RkUsMHhERiwweEZGLCAweDZDLDB4RkYsMHhGQiwweEZGLDB4QkIsMHg2RiwweEVCLDB4RkUsCi0weENDLDB4RjcsMHhBNSwweEZBLDB4NUMsMHhGNSwweDc1LDB4QkIsIDB4QjcsMHhERiwweEZFLDB4NkYsMHg1RiwweEM1LDB4QkYsMHhGRCwKLTB4N0IsMHhGRSwweEZGLDB4OTUsMHhFNywweDI5LDB4Q0YsMHg0RiwgMHhGNSwweDkxLDB4RUUsMHg2QiwweERGLDB4RUYsMHhGRCwweDU0LAotMHhGNSwweEJELDB4QjEsMHhGRiwweEVGLDB4RUUsMHhGQiwweEJFLCAweEJGLDB4QUYsMHhGRSwweERFLDB4QkQsMHg2RiwweERBLDB4RjIsCi0weEZGLDB4QUYsMHhCRSwweEZGLDB4RkYsMHhGRCwweDdFLDB4QTcsIDB4RkYsMHhGNywweEZGLDB4QkYsMHhFRiwweDdCLDB4RjYsMHhGRCwKLTB4QkQsMHg0QSwweEYyLDB4ODUsMHg4NSwweEJGLDB4NUIsMHhGRSwgMHhCNSwweEZELDB4RkEsMHhGRiwweDRGLDB4RkYsMHhGRSwweERGLAotMHhGRiwweEVELDB4RkYsMHhCRiwweEZGLDB4QkYsMHg3RiwweEZFLCAweEZGLDB4QjcsMHg2RCwweEZGLDB4RjcsMHhCRiwweEJGLDB4RUYsCi0weEZELDB4MUYsMHhGRiwweEZFLDB4N0QsMHhGRiwweDY3LDB4RkYsIDB4RkYsMHhGRiwweDNGLDB4N0YsMHhGRSwweEJGLDB4RkYsMHhFNywKLTB4REYsMHhFNywweEZGLDB4RUYsMHg2QiwweEZDLDB4MUYsMHhGRiwgMHhCRiwweEVGLDB4RkIsMHhGRSwweERFLDB4QkYsMHhBRiwweEZBLAotMHhGRiwweEI2LDB4RUYsMHhGOSwweEZFLDB4RkYsMHg4RiwweEVGLCAweERCLDB4RUYsMHhBQiwweDZGLDB4RkIsMHhGRSwweEZGLDB4RkYsCi0weEVGLDB4RkQsMHhGRiwweDdGLDB4RkYsMHhGRiwweERFLDB4RkYsIDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweDNGLDB4RkYsMHg2QywKLTB4RkYsMHhCRiwweEZCLDB4RkYsMHhGRSwweEZGLDB4RkIsMHhGRSwgMHhERiwweEZGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhCRiwweEZGLAotMHhGRiwweEZFLDB4RkIsMHhGRiwweEQ1LDB4N0YsMHhGRiwweEZGLCAweEVGLDB4RkIsMHhGRiwweEZGLDB4QkYsMHhFRiwweDQzLDB4QjUsCi0weEZELDB4NkYsMHhDRiwweEQ2LDB4QkUsMHgzRiwweDdGLDB4REIsIDB4RkUsMHhDMywweEZGLDB4RkQsMHhGRiwweEFGLDB4RUIsMHhGQiwKLTB4RkMsMHhGRiwweDNFLDB4RUYsMHhFOCwweEZBLDB4QkQsMHhDRCwgMHhBQSwweEZFLDB4RkUsMHg3RCwweENGLDB4RkYsMHhCNywweEZGLAotMHhGNywweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHg3NSwweENELCAweDUyLDB4RDcsMHhGRCwweEZCLDB4RjcsMHhERCwweEZCLDB4RUYsCi0weEVCLDB4RkYsMHhGRiwweDRGLDB4RkYsMHhCRiwweDlGLDB4RTcsIDB4RjksMHhGQywweDdGLDB4OEIsMHhDMywweEY5LDB4QUYsMHg4RiwKLTB4RTcsMHhFOSwweEJFLDB4N0YsMHg5RiwweEU2LDB4RjksMHhGQywgMHg1RiwweEZGLDB4RkYsMHhGNywweEZELDB4RkYsMHg3QSwweDVGLAotMHhENywweEVELDB4RkYsMHhGRiwweEQ3LDB4RkYsMHhERCwweDdGLCAweEU3LDB4RkYsMHhGQywweEZGLDB4RkMsMHgzRiwweEZGLDB4RkYsCi0weEZGLDB4RkIsMHhGRiwweEZFLDB4QkYsMHhBRiwweEZGLDB4RkQsIDB4RkYsMHhFRiwweEZGLDB4RUIsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGNywweDdGLDB4RkYsMHg3RiwweERGLDB4RkYsMHhGRCwgMHhGRCwweDdGLDB4RkUsMHhGNywweEZELDB4N0YsMHhERiwweEZGLAotMHhGRCwweEZGLDB4RkYsMHhERiwweEZCLDB4RkYsMHhFRSwweEZGLCAweEZCLDB4RkYsMHhGNywweEZELDB4RkYsMHg3QSwweERGLDB4RjUsCi0weEZELDB4RkEsMHhERiwweEY3LDB4RkMsMHhGRiwweDdGLDB4REYsIDB4QkYsMHhFRCwweEZGLDB4QzksMHhGRiwweERGLDB4RkYsMHhCRiwKLTB4MkYsMHhGQiwweEZGLDB4QkMsMHhBRCwweEZGLDB4RjcsMHhGRiwgMHhGRiwweEVGLDB4RDMsMHhGRiwweDdELDB4QkYsMHg2RiwweEZGLAotMHhGQSwweEZGLDB4RkUsMHhCRiwweEFFLDB4RUEsMHhGQSwweEJFLCAweEFELDB4QTUsMHhFQiwweENFLDB4QkYsMHhBNywweEVCLDB4NUEsCi0weERFLDB4QkQsMHhBRiwweDZCLDB4RkQsMHg1NywweEZGLDB4RkYsIDB4RjQsMHg3RiwweDFGLDB4N0YsMHhGRCwweEZGLDB4N0YsMHgzNiwKLTB4RjAsMHhERiwweDc5LDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRCwgMHhCRiwweEZGLDB4ODcsMHhGRiwweEZCLDB4RjMsMHhGQywweEZGLAotMHhGRiwweEZGLDB4RkYsMHg3RSwweEZGLDB4QkYsMHhERiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhCRiwweEY4LDB4OUYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkQsIDB4RjcsMHhGQywweEJELDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZCLDB4RjksMHhCRiwweEZGLDB4RkYsMHhFQiwgMHhFMiwweEZFLDB4RkYsMHhCRiwweEVGLDB4QTksMHhCQSwweDJGLAotMHhFQiwweEY5LDB4RkUsMHg3NywweERGLDB4RjcsMHhGRiwweEZGLCAweEY5LDB4N0YsMHhGRiwweEZGLDB4N0YsMHhFRiwweEQ3LDB4RkYsCi0weEZELDB4RkYsMHhGQiwweEY1LDB4RkYsMHhCRiwweDZGLDB4REYsIDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwweEYwLDB4RkYsMHhGRiwKLTB4RkYsMHgzRiwweENGLDB4RkYsMHhCQSwweEVFLDB4OUIsMHhCRiwgMHhFRSwweEQ3LDB4RkUsMHhDRCwweEVGLDB4RkYsMHhERiwweEJGLAotMHhGRiwweEZGLDB4QzUsMHhGRiwweEZGLDB4RkQsMHg3RiwweDRGLCAweEZELDB4RjYsMHhEOSwweEZGLDB4NEYsMHhENiwweEZELDB4QkYsCi0weDZFLDB4RkYsMHhGRiwweEY0LDB4N0YsMHhGRiwweDdGLDB4OEIsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywweEZGLDB4RjksMHhGRSwKLTB4MzcsMHhGRiwweEQ5LDB4RkIsMHhGNSwweEFGLDB4RkQsMHhGRiwgMHhGRiwweEZCLDB4RkYsMHhGRiwweDA3LDB4RkYsMHhGRiwweEZGLAotMHhGQiwweEY3LDB4RkYsMHhGRCwweEZGLDB4N0MsMHhGQSwweDdFLCAweDRGLDB4RkMsMHhERiwweDFELDB4QzcsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4QUUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4RkIsIDB4RkYsMHhGRiwweEZFLDB4RkUsMHhGQywweEZGLDB4N0YsMHg3RiwKLTB4QkYsMHhFRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4NUYsMHhGRCwgMHhGRiwweEZGLDB4RkYsMHhGRCwweDZGLDB4NUEsMHhENywweDdCLAotMHhCRSwweDVGLDB4RkUsMHgzOSwweEZGLDB4RjcsMHhGRiwweEY3LCAweEZELDB4RkUsMHhBQSwweDFGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZFLDB4RkUsMHhBQiwweEFGLDB4RkQsMHhGRSwweEJGLDB4RkYsIDB4RjcsMHhGRiwweDdGLDB4RkUsMHg4RiwweEUzLDB4RkIsMHhFRSwKLTB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVCLDB4RkIsMHhGRiwgMHhGRCwweEJGLDB4RUYsMHhERiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGQiwweEU0LDB4M0YsMHhGRiwweERGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RjMsMHhFRiwweEJCLDB4RkIsCi0weEJGLDB4RUYsMHhCQiwweEZGLDB4RDcsMHhCRiwweEZGLDB4RkYsIDB4RkYsMHgyOSwweEFGLDB4RjcsMHhGRiwweEZGLDB4RkIsMHhGRiwKLTB4RkIsMHhFNiwweEZGLDB4MEYsMHhGQiwweDNGLDB4REYsMHgwRiwgMHhGRiwweEFGLDB4RkYsMHhGRiwweEZGLDB4RjUsMHhDMywweERGLAotMHg1RiwweEZGLDB4RkYsMHhGRiwweEZFLDB4NkIsMHhDQSwweEJFLCAweEJDLDB4RkYsMHg5RiwweEYyLDB4QkYsMHhGRiwweEZFLDB4RkEsCi0weEZGLDB4RkYsMHhFRiwweDE2LDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGQywweERGLDB4OTcsMHhGRCwweDc5LDB4RkYsMHgzNywKLTB4RTcsMHg3RiwweEZGLDB4RkYsMHhCNSwweEZGLDB4RkYsMHhGNiwgMHgyRiwweEZGLDB4RkQsMHhGQiwweEZFLDB4RkYsMHhGRiwweEZELAotMHg1RiwweDU3LDB4NUYsMHhGRiwweERCLDB4NTIsMHhERiwweEZGLCAweEZELDB4QkYsMHhGRiwweEZGLDB4RkMsMHhEQiwweEZGLDB4N0IsCi0weEI1LDB4RkQsMHg3RiwweEZGLDB4NzEsMHg5QywweDZFLDB4RkYsIDB4RjYsMHgzNSwweEE1LDB4OUIsMHhGRiwweEZGLDB4RkQsMHhGRiwKLTB4RkYsMHhEQiwweDlFLDB4N0YsMHhGRSwweEVGLDB4RkIsMHhGRiwgMHhGRiwweEJELDB4RUYsMHhGRiwweERFLDB4QjcsMHhGOSwweDRCLAotMHhGRiwweEY1LDB4RUYsMHhGRiwweEZGLDB4RkYsMHhFOCwweDdFLCAweEZGLDB4RUEsMHhERiwweEY3LDB4RkYsMHhGRCwweDY5LDB4NUIsCi0weEZDLDB4OUYsMHhFRiwweDc4LDB4RDYsMHhGRiwweEVCLDB4RUYsIDB4RkYsMHhGRiwweEZGLDB4RTgsMHhGRiwweEZGLDB4RUQsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RTMsMHhGOSwweEY2LDB4QkYsMHhGRiwgMHhGRiwweEZFLDB4REYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLAotMHhEMSwweEZGLDB4RkYsMHhFNywweEZGLDB4RkYsMHhGRiwweEZGLCAweEU3LDB4RjksMHhGRiwweEJGLDB4N0YsMHhEOSwweEZGLDB4RkQsCi0weEZFLDB4N0YsMHhGRiwweEZFLDB4RkYsMHhGOSwweEZGLDB4RkIsIDB4RDYsMHhERiwweEJGLDB4RUYsMHg1QiwweEQ2LDB4RkYsMHhCRiwKLTB4RkIsMHhGNiwweEZGLDB4QkYsMHhFRiwweEY4LDB4RjYsMHhERCwgMHhCRSwweEZFLDB4MTYsMHhGRiwweEJGLDB4RUYsMHhGRiwweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHg2RiwweEZCLCAweEZGLDB4RkYsMHhGRiwweDZGLDB4RjMsMHhGRiwweEY3LDB4RUYsCi0weEZCLDB4RkYsMHhCRiwweEZGLDB4RUYsMHhGRSwweEZGLDB4QkYsIDB4RkYsMHhGRiwweEZGLDB4QkUsMHhCRiwweEZGLDB4RUYsMHhGRiwKLTB4N0YsMHhFRiwweEZGLDB4RkQsMHgxNywweEZCLDB4N0IsMHhGRiwgMHhGRiwweEZELDB4N0YsMHhEQiwweEY2LDB4RjQsMHg3RiwweEZBLAotMHhGRSwweEY1LDB4QkYsMHhFQiwweEUzLDB4RjcsMHhGRiwweEZGLCAweEU5LDB4QkYsMHhGRiwweEFGLDB4RjcsMHhGRCwweEYzLDB4N0UsCi0weDhGLDB4QTMsMHhFQSwweEZGLDB4Q0IsMHhGMywweEVFLDB4RkYsIDB4QkYsMHhFRiwweEY3LDB4RjksMHhGRiwweEZFLDB4N0YsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RjUsMHhGQiwweEY2LDB4RkYsMHhGNSwgMHgyRiwweEZFLDB4RkIsMHhENywweEJGLDB4RkYsMHhCRSwweERGLAotMHg5RiwweEZGLDB4RjAsMHhGRiwweEZGLDB4RjksMHhGRSwweDdGLCAweDhGLDB4QTMsMHhGOCwweEZFLDB4NkYsMHg5RiwweEY5LDB4RjYsCi0weDJGLDB4OUYsMHhFNywweEY5LDB4RkUsMHgyRiwweDlGLDB4RTEsIDB4RkYsMHhGRiwweEZGLDB4N0YsMHhERiwweEY3LDB4RjUsMHhGRCwKLTB4N0YsMHg3RiwweEY1LDB4RkYsMHg5RiwweDVGLDB4RkIsMHhGRSwgMHhGRiwweDdGLDB4RkYsMHhGRiwweENCLDB4RkYsMHhGRiwweEZCLAotMHhGRSwweEZGLDB4QkYsMHhBRiwweEZCLDB4RkUsMHhGRiwweERGLCAweEZFLDB4RkUsMHhCRiwweEY3LDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4QzcsMHhGRiwweEZGLDB4RkQsMHhGRiwweDdGLDB4REQsIDB4RjcsMHhGRCwweEZGLDB4RkYsMHhENywweEZGLDB4RkQsMHg3RiwKLTB4RkYsMHhGQiwweEZELDB4RkYsMHhGRiwweEZFLDB4RUYsMHg3RiwgMHhGRCwweEVGLDB4RkIsMHhGRSwweEZCLDB4RkQsMHhGRiwweDdGLAotMHhERiwweEZELDB4RkYsMHg3QSwweERGLDB4RjcsMHhGRCwweEZGLCAweEZGLDB4RkYsMHhGRiwweDFGLDB4RkYsMHhGRiwweEQzLDB4RjcsCi0weEZGLDB4RkYsMHg2RiwweERCLDB4RkYsMHhGRiwweEVGLDB4Q0IsIDB4RjQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwKLTB4MjksMHhGRiwweEU4LDB4REEsMHg3NiwweDlGLDB4QUYsMHg2QSwgMHhEQSwweEZFLDB4MzUsMHhFQiwweERBLDB4RDYsMHhCRiwweEFCLAotMHhFQiwweDdBLDB4REUsMHhCRiwweEQ3LDB4N0YsMHhGRiwweEZFLCAweEZGLDB4QkYsMHhFRiwweEZELDB4REYsMHg3NywweEJGLDB4RkQsCi0weDM3LDB4RUYsMHhGRiwweEVGLDB4RkYsMHgzRiwweEZGLDB4RkYsIDB4RkYsMHhGRSwweDdGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHg3RSwKLTB4REYsMHhGRiwweEZGLDB4RkYsMHhGQSwweEI3LDB4N0YsMHhGRiwgMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg4OSwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4OUYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEU3LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEFBLDB4RkYsMHhBQiwweEZCLDB4RkEsIDB4RUYsMHhCRiwweEZGLDB4REYsMHhGQSwweDdCLDB4QjksMHhGRSwKLTB4RkUsMHhGRiwweEZELDB4RkYsMHhGNywweEZFLDB4M0YsMHhGRiwgMHhCNywweEZGLDB4RjcsMHhFRSwweEZGLDB4N0YsMHhFRiwweEZGLAotMHhGRiwweDdGLDB4RkYsMHgxRiwweEZCLDB4RkYsMHhCRiwweEZCLCAweEZFLDB4RkYsMHhCRCwweEZGLDB4RkYsMHgyRiwweEZGLDB4QkYsCi0weEZGLDB4N0YsMHhERiwweEZBLDB4RkYsMHhGRiwweEZDLDB4RUUsIDB4RjUsMHhGMywweEJFLDB4RkIsMHgwRiwweEVGLDB4RjMsMHhCRSwKLTB4RUYsMHhGQywweDVGLDB4RkYsMHg1QSwweEZGLDB4RjcsMHhERiwgMHhGRiwweEZGLDB4RkUsMHhENSwweEZDLDB4NUYsMHhGQiwweEYyLAotMHhGRiwweEZGLDB4MkYsMHhCQiwweEYzLDB4RkYsMHhGRiwweEJGLCAweEZGLDB4RUYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEJGLDB4RkYsMHhGRiwweEZELDB4N0IsMHhGRiwweERGLDB4QjksIDB4RkYsMHhGQiwweEZGLDB4RDgsMHg3RiwweEZGLDB4RkYsMHhGRiwKLTB4RkIsMHhGRiwweEZDLDB4N0YsMHgxRiwweEJGLDB4RTAsMHhERiwgMHhGNywweEVGLDB4RkYsMHhGRCwweDdGLDB4RkUsMHhERiwweEZGLAotMHhFMCwweEZGLDB4RkYsMHhGRCwweEVGLDB4RkIsMHhGRiwweEZFLCAweEY3LDB4REYsMHhGRiwweEVCLDB4NUYsMHhGRiwweEY3LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRCwweEZGLDB4RkQsIDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRCwweEZGLDB4M0IsMHhEQywKLTB4RkQsMHg2RCwweDdCLDB4NUYsMHg1NywweEY1LDB4RkQsMHg3RiwgMHg1RiwweEZGLDB4QjEsMHhGRiwweEVCLDB4RkYsMHhGRiwweEZGLAotMHhGQiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RkIsMHhCRSwweEZGLCAweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhBRiwweEZFLDB4RjcsCi0weERGLDB4REYsMHhGRiwweEZGLDB4RkYsMHg3RiwweENGLDB4RjMsIDB4RjgsMHhGRiwweEQ3LDB4RkIsMHhGRiwweDVGLDB4QkYsMHhGNywKLTB4RkIsMHhGRiwweDdGLDB4RkUsMHgyMywweEZGLDB4RkYsMHhGRSwgMHg3RiwweEYzLDB4RkYsMHhGQiwweEZFLDB4RkYsMHhGRiwweEYzLAotMHhGRiwweEZGLDB4RjUsMHhGOSwweEZGLDB4M0YsMHhGRiwweEZGLCAweEYwLDB4OUEsMHhGRiwweEJFLDB4N0YsMHhGRiwweEZDLDB4RjksCi0weEZGLDB4RkQsMHhBRiwweEVCLDB4RkUsMHhCRiwweEZGLDB4Q0YsIDB4RjMsMHhGRSwweDdGLDB4RkYsMHhGRiwweDVCLDB4QkQsMHhGRiwKLTB4QkMsMHhFQiwweEZGLDB4RDcsMHhENCwweEFGLDB4QUYsMHhGRCwgMHhGRiwweENGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LAotMHhGRCwweEZFLDB4RkYsMHg2RiwweEZGLDB4RkIsMHhGRiwweEZGLCAweEZGLDB4RkQsMHg3RiwweDVFLDB4RkQsMHhCRiwweERCLDB4RjYsCi0weEZELDB4QkYsMHg2RiwweEZCLDB4RUUsMHhGRCwweEZGLDB4N0EsIDB4RkYsMHhGQSwweEZCLDB4RkYsMHgzRiwweEZCLDB4QjcsMHg1RiwKLTB4RDYsMHhGNywweDFGLDB4NzEsMHhEQywweDc3LDB4MUQsMHhDNywgMHgzMSwweERDLDB4NzcsMHhERiwweEY5LDB4QkYsMHhGNSwweDVCLAotMHhGNCwweEQ3LDB4OUQsMHhBRSwweEZGLDB4QkYsMHhGRCwweEJGLCAweERCLDB4RjYsMHhGRCwweEJGLDB4NkYsMHhEQiwweEY2LDB4RkUsCi0weDNELDB4ODEsMHhGRiwweEVCLDB4RkUsMHhGRSwweEZFLDB4RkYsIDB4RUIsMHg3QSwweERGLDB4N0QsMHg3NywweDdELDB4RjUsMHg3OSwKLTB4REYsMHg1NywweERELDB4RjUsMHg3RCwweDdFLDB4RTYsMHhGRiwgMHhENiwweDNGLDB4QkYsMHg3RiwweEZGLDB4RDQsMHhGNSwweDNGLAotMHhCRiwweEZCLDB4QkUsMHhFRiwweEIzLDB4RUUsMHhGQiwweDlFLCAweEVGLDB4QkIsMHhGRSwweDhCLDB4RkYsMHhGRSwweERGLDB4QjcsCi0weEVELDB4RkYsMHhGNywweEZELDB4RkUsMHhGRiwweEVGLDB4QkIsIDB4RUUsMHhGRiwweEJFLDB4RUYsMHhCQiwweEVFLDB4RUIsMHhGQywKLTB4MUYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEU3LDB4RkYsMHhGNywgMHhGRCwweEZGLDB4RUYsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLAotMHhGRSwweEZGLDB4QkYsMHhFQiwweEZBLDB4MUYsMHhGRiwweEI3LCAweEVGLDB4NUIsMHhGRSwweEZGLDB4QUYsMHhFQiwweERELDB4RTcsCi0weERFLDB4NzcsMHg5RCwweEU3LDB4NzksMHhERSwweDc3LDB4OUQsIDB4QkYsMHhFNiwweDZGLDB4RkYsMHhGRSwweEZGLDB4QkYsMHhFRiwKLTB4RkIsMHhGRSwweEZELDB4QkYsMHg2RiwweEY2LDB4RkQsMHhCRiwgMHg2RiwweERCLDB4RjYsMHhGRCwweEJGLDB4RkYsMHg3RSwweEZGLAotMHhGRiwweEZCLDB4RkUsMHhGRSwweEZGLDB4RUYsMHhGQiwweEZELCAweEVGLDB4N0UsMHhGNywweEJELDB4RUYsMHg3QiwweERFLDB4RjcsCi0weEJELDB4RUYsMHhGRiwweEQ1LDB4RkYsMHhCRiwweEZGLDB4RUYsIDB4RkUsMHhGRiwweEZDLDB4M0YsMHgwRiwweEU3LDB4RkUsMHg3RiwKLTB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGRSwgMHhGMywweEZGLDB4RkUsMHhERiwweEFELDB4REYsMHg2NywweEVFLAotMHhGQiwweEJGLDB4RUYsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLCAweEZFLDB4RkYsMHhCRiwweEVGLDB4RkYsMHgyMywweEZGLDB4RkYsCi0weEZGLDB4RkYsMHg3RiwweEZGLDB4RjMsMHhCQywweERCLDB4RkUsIDB4RkIsMHhGRiwweEZCLDB4QkUsMHhGNywweEZCLDB4RkYsMHg3RiwKLTB4REYsMHhGRiwweENGLDB4RkIsMHhGRiwweDlGLDB4RTMsMHhGOSwgMHhCRSwweDNGLDB4OEYsMHhFNywweDc5LDB4RkYsMHg5RCwweEU3LAotMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDVGLCAweEZGLDB4Q0YsMHhGNywweEZGLDB4RkYsMHhGRiwweERGLDB4RjcsCi0weEZFLDB4N0YsMHhFNywweEY5LDB4RkUsMHg3RiwweEZGLDB4RkYsIDB4RkIsMHhGRSwweEZGLDB4RkYsMHhCRiwweEZGLDB4QkYsMHhCRiwKLTB4RkYsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZGLDB4RkQsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRCwweEZGLAotMHhGRiwweDNGLDB4RkYsMHhCRiwweEZGLDB4RjcsMHhGRiwweEZGLCAweDdGLDB4REYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFOCwweEVGLDB4RkYsIDB4NUYsMHhGNywweEJGLDB4RjksMHhGRSwweERGLDB4QjcsMHhGRCwKLTB4RkYsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywgMHhGRCwweEZGLDB4REQsMHhGRiwweEYyLDB4RkYsMHhCRiwweEZGLAotMHhGRiwweEJGLDB4RkYsMHhGRiwweDJGLDB4RjIsMHhGRiwweEJGLCAweDJGLDB4N0IsMHhEMiwweEY3LDB4QkYsMHgyRiwweEZGLDB4QkIsCi0weEZGLDB4RUUsMHg4RiwweEFGLDB4RUIsMHhGQSwweEZFLDB4M0YsIDB4QTcsMHg2OSwweENFLDB4OEYsMHhBNCwweEVBLDB4RkEsMHhFRSwKLTB4QjcsMHhBRSwweEVCLDB4RkQsMHhDNywweEZGLDB4RjcsMHhGNywgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4N0YsMHgzRSwweEYzLAotMHg3NCwweEZGLDB4M0YsMHg0RiwweEZGLDB4RTcsMHhGRiwweDNGLCAweEZFLDB4QTcsMHhGRiwweEZGLDB4REYsMHhGNywweEI3LDB4RkYsCi0weEY3LDB4RkYsMHhCQSwweEVGLDB4MzcsMHhFQiwweEZCLDB4RkUsIDB4QkYsMHhGQiwweEZFLDB4RjMsMHhGRiwweEY5LDB4REYsMHhGRiwKLTB4QkYsMHhGRiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwgMHhGRCwweERGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGQiwweEZFLAotMHhGRCwweEZGLDB4RkIsMHhCRiwweEZFLDB4M0YsMHhFRCwweEZGLCAweERGLDB4QkUsMHgzRCwweEE3LDB4RkIsMHhGQSwweDNGLDB4RTYsCi0weEUxLDB4RkUsMHhGRSwweDNGLDB4RUYsMHhFMywweERGLDB4RjUsIDB4N0YsMHhGRSwweEZGLDB4N0UsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RUYsMHg2RiwweEY2LDB4RkYsMHg3RCwweEVGLDB4RDcsMHhERSwgMHhGRiwweDdELDB4RUYsMHhGRiwweEYyLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHg3QiwweERFLDB4RkIsMHhFNiwweEVFLCAweEVGLDB4MzcsMHg2RSwweEYzLDB4N0UsMHhFQiwweDM3LDB4RUYsCi0weEZGLDB4QzEsMHhGRiwweEZFLDB4RkYsMHhGNywweEVGLDB4RkYsIDB4RkYsMHhGRiwweEJGLDB4M0YsMHhEMiwweERGLDB4QkYsMHgyRiwKLTB4N0IsMHhFMiwweEZGLDB4RkUsMHgzQiwweEJELDB4REIsMHhGRiwgMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRiwweEZFLAotMHhGRiwweEZCLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGQiwweERGLCAweEZGLDB4QkYsMHhGRiwweEI3LDB4RkYsMHhGRiwweEJGLDB4RUYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDBGLDB4RkYsIDB4N0YsMHhGRiwweDFGLDB4RUYsMHhGMSwweEZELDB4RkYsMHhGNiwKLTB4QUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRiwgMHhGRiwweEZGLDB4RkUsMHg5RiwweEZGLDB4RkYsMHhGRiwweDc3LAotMHhFRiwweEY3LDB4RkIsMHhGRiwweEZFLDB4NUYsMHhGRiwweEZGLCAweEJGLDB4Q0YsMHhGQiwweEY3LDB4REQsMHhGNywweEY1LDB4RkYsCi0weDVGLDB4RDUsMHhGNSwweEZELDB4N0YsMHg1RiwweEQ3LDB4RjUsIDB4RkYsMHhGQiwweDBGLDB4RkYsMHhGRiwweEE5LDB4RUEsMHg3QSwKLTB4RkYsMHhBRiwweDhGLDB4RkUsMHhERiwweEFGLDB4RUYsMHhGQiwgMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4REYsMHhFNSwweDVGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4QkQsMHg1NywweEZGLCAweEZGLDB4NkYsMHg3NywweEJGLDB4RjcsMHhGQiwweEZGLDB4N0YsCi0weEJGLDB4RjcsMHhGRiwweEZDLDB4QkYsMHhGRiwweDlGLDB4RkYsIDB4RkYsMHhFRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHgxRiwKLTB4Q0YsMHhGRiwweEZDLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwgMHg2NSwweEFGLDB4RjMsMHg3QywweEZGLDB4M0YsMHhERiwweEZGLAotMHhGRCwweEU5LDB4RkUsMHg3RiwweEU3LDB4RkYsMHhGRSwweDdGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhFMywweERGLDB4RkIsCi0weERCLDB4RjYsMHhGRCwweEVGLDB4NUIsMHhGQiwweEZGLDB4REYsIDB4RkMsMHhGRiwweDNGLDB4REYsMHhGMywweEZELDB4RkYsMHg3RiwKLTB4REYsMHhFRiwweDY2LDB4RkYsMHhERiwweEFELDB4RUIsMHg3QSwgMHhERSwweEY3LDB4RjcsMHhFNywweEQ5LDB4RkQsMHg5RiwweDY3LAotMHhEOSwweEY2LDB4N0QsMHg5RiwweEU3LDB4REYsMHhGNSwweDQ3LCAweEZELDB4NjUsMHg1QiwweEQ2LDB4RjQsMHhGRSwweEZGLDB4RUYsCi0weEZGLDB4NkQsMHhGNiwweERELDB4QjcsMHg2RCwweERCLDB4NzYsIDB4REMsMHhCNywweDdELDB4RkEsMHg5QiwweEY2LDB4NkQsMHg5RCwKLTB4NjcsMHg1OSwweERGLDB4RjcsMHhERCwweEZGLDB4RUIsMHhGRSwgMHhCRiwweEFGLDB4RUIsMHhGQSwweEZFLDB4QkYsMHhBRiwweEUzLAotMHhEMSwweDlGLDB4RkYsMHhCRCwweEJGLDB4RUYsMHhGRSwweEY3LCAweEJGLDB4QkYsMHhGNywweEQ3LDB4N0YsMHhERCwweEY3LDB4OUQsCi0weERGLDB4N0YsMHhERiwweEY3LDB4RkYsMHhFMCwweDdGLDB4RkQsIDB4QzEsMHhERiwweEY3LDB4RkQsMHhDNywweDdGLDB4N0YsMHhGQiwKLTB4RkYsMHhCQiwweEVDLDB4RkIsMHgzRSwweEZGLDB4QkYsMHhFQywgMHhGQiwweEZGLDB4RDgsMHg3RiwweEJGLDB4NkMsMHhGRiwweEJFLAotMHhGRiwweEJGLDB4RUQsMHhGRiwweEVGLDB4RkUsMHhGQiwweEJGLCAweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRSwweEZGLDB4QzUsCi0weEZGLDB4QUYsMHg2RiwweEZGLDB4RkMsMHhGRCwweDNGLDB4RTcsIDB4RkYsMHhGRSwweEZGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwKLTB4RUYsMHhGQiwweEZFLDB4QkYsMHg4OSwweEZFLDB4RkEsMHhCQSwgMHhGRSwweEJGLDB4QUYsMHhGQiwweEY2LDB4RjUsMHhEOSwweDdELAotMHg5NywweDY1LDB4RDksMHg3NCwweDVELDB4OTcsMHg2NSwweEQzLCAweEZFLDB4RDYsMHhGRiwweEJGLDB4RjcsMHhGRCwweEZGLDB4N0YsCi0weEJGLDB4Q0YsMHhGQiwweEZFLDB4RkYsMHhFRiwweEZCLDB4RkUsIDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRiwweEY2LDB4OEYsMHhGQiwKLTB4RkYsMHhFRiwweEZCLDB4N0UsMHhEQiwweEZFLDB4RkYsMHhCRSwgMHhFRiwweEVFLDB4RkIsMHhCRSwweEVGLDB4QkIsMHhFRSwweEZCLAotMHhCRSwweEZGLDB4RkYsMHhERiwweEZGLDB4NDMsMHhGRiwweEZGLCAweEZCLDB4RUYsMHg1RiwweEI3LDB4RkUsMHg3RiwweEU3LDB4RjksCi0weEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4RjksIDB4QkYsMHhGRSwweEFGLDB4NzcsMHhGRCwweEZGLDB4MkYsMHhBRiwKLTB4QTcsMHhGRSwweEZGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwgMHhFRiwweEZCLDB4RkUsMHhGRiwweEYxLDB4N0YsMHhFRiwweERGLAotMHhGRiwweDk3LDB4RjUsMHhFRiwweEZGLDB4REYsMHhGRiwweEZGLCAweEJGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsCi0weEZGLDB4RTAsMHhGRiwweEZGLDB4RjksMHhGRSwweDJGLDB4OEIsIDB4RTMsMHhGOCwweEJFLDB4NzcsMHg5RiwweEY5LDB4REEsMHg3NywKLTB4OUQsMHhFNywweDc5LDB4REUsMHg3NywweDlGLDB4REQsMHhGRiwgMHhGRCwweEZELDB4N0YsMHg1RiwweEQ3LDB4RkQsMHhGRiwweDdGLAotMHhFNywweEZFLDB4N0YsMHg5NywweEU3LDB4RkIsMHhGRSwweEZGLCAweEJGLDB4RUYsMHhGRiwweEFCLDB4RkYsMHhFRiwweEZBLDB4RkUsCi0weEJGLDB4QUYsMHhGRiwweEZBLDB4RkYsMHhGRiwweERGLDB4RkYsIDB4RkIsMHhGRiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGRiwKLTB4NjcsMHhGRiwweEY3LDB4RjUsMHhGRiwweEZGLDB4RkYsMHhERiwgMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEJELCAweEVCLDB4RkYsMHhGRiwweEY3LDB4QUQsMHhFQiwweEZGLDB4REYsCi0weEZELDB4RkYsMHgzRiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsIDB4REYsMHhGRiwweDVGLDB4RkYsMHhGNywweEZGLDB4RkYsMHhGRCwKLTB4QkYsMHhGRiwweENCLDB4RjQsMHhGRiwweDdGLDB4RDMsMHhGNywgMHhGRCwweDNGLDB4N0YsMHhEMywweEY3LDB4RkYsMHhGQywweDNGLAotMHhGRiwweEVBLDB4RkEsMHhCRSwweEFGLDB4QUIsMHhFQiwweEJBLCAweEY0LDB4OTUsMHg2QiwweDUyLDB4RDQsMHhBRCwweDJGLDB4NEEsCi0weEQyLDB4RjYsMHhCRiwweEQyLDB4N0YsMHhGNywweDNGLDB4RkYsIDB4RkYsMHhGMywweDdGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhCQSwKLTB4REYsMHhGQiwweEZELDB4RkYsMHhCRiwweEZGLDB4RkIsMHhGRiwgMHhGOCwweDdGLDB4RUEsMHhGRiwweEZFLDB4RkUsMHhERiwweEZGLAotMHhGNywweEZGLDB4N0YsMHhCQiwweEZGLDB4RkYsMHhCRiwweERGLCAweEZCLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhCMSwweDdGLDB4RkYsCi0weEZCLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsIDB4Q0YsMHhGRSwweEZGLDB4RkYsMHhFRiwweEZGLDB4RjcsMHhGRiwKLTB4RkYsMHhGRiwweEYxLDB4RkYsMHg2OSwweEJFLDB4RkEsMHhCRiwgMHhBRiwweEUyLDB4RkYsMHhGRSwweEZELDB4QUYsMHhGMywweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEZDLDB4RkYsMHhGRiwweDA3LCAweEZELDB4OTUsMHhEQiwweERGLDB4N0YsMHhERiwweEFGLDB4RkYsCi0weEY3LDB4QUYsMHgzNiwweEZFLDB4QkYsMHg2NSwweEVCLDB4RjYsIDB4RkUsMHg5RiwweDZGLDB4RkUsMHgwNywweEZGLDB4Q0YsMHhGRiwKLTB4RjgsMHhGRSwweEZGLDB4Q0YsMHhGRiwweEY2LDB4RkEsMHhFNywgMHhGQiwweEZFLDB4RkYsMHhCQiwweEVELDB4RjksMHhGRiwweEZGLAotMHhGRiwweDVGLDB4RkYsMHhGRiwweEZGLDB4NzUsMHhGRiwweEVGLCAweDdFLDB4RkQsMHhFMCwweEU4LDB4NUUsMHhEMywweEU1LDB4RjksCi0weDNFLDB4NUYsMHhENywweEY3LDB4RkYsMHhGQSwweDJGLDB4RkIsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHg3RiwKLTB4N0YsMHhENywweEY1LDB4N0QsMHg1RiwweDU3LDB4RDUsMHhGNSwgMHhFRiwweEZGLDB4RjMsMHg3RiwweEZDLDB4N0YsMHhGRiwweEM3LAotMHhGMSwweEZGLDB4RkYsMHgxRiwweENGLDB4QjAsMHhGRiwweDNGLCAweENGLDB4RjMsMHhGQywweEZGLDB4M0YsMHhDRSwweEZGLDB4RTQsCi0weEZGLDB4REYsMHg3RiwweEZFLDB4RjcsMHhCQiwweEZGLDB4RkYsIDB4REYsMHhFRiwweEVFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwKLTB4QkYsMHhCRiwweEVGLDB4RkYsMHhEMSwweEZGLDB4RkYsMHhGRiwgMHhGRCwweEZCLDB4RkYsMHhGRCwweEZGLDB4RkIsMHg5RiwweEU5LAotMHhGRSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweEJGLCAweEZGLDB4QjMsMHhGRiwweEZGLDB4RjcsMHhGRiwweEZGLDB4QUYsCi0weEY3LDB4RkYsMHhCNiwweDNGLDB4RUIsMHhGQSwweEZFLDB4QkYsIDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwweEZFLDB4QTcsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywweEZGLDB4RkYsMHhGRiwgMHhGRSwweDlGLDB4RjcsMHhGOSwweEZGLDB4N0YsMHg5RiwweEU3LAotMHhGRiwweEZGLDB4RkUsMHhBRiwweDZGLDB4RkYsMHhGRiwweEZGLCAweDlGLDB4RkYsMHhERiwweEZGLDB4N0QsMHg1RiwweERELDB4RkYsCi0weEZCLDB4QkYsMHhFNywweEJCLDB4RkYsMHhGQiwweERGLDB4NkQsIDB4NUYsMHg3RSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RUIsMHhGNywweEZGLDB4RTcsMHhFRiwweEY3LDB4RkYsMHhGRiwgMHg3RiwweEZGLDB4RjcsMHhGRiwweEZDLDB4OEYsMHhGRiwweEVGLAotMHhGRCwweEZFLDB4RkYsMHhCRSwweEY0LDB4RjIsMHg3RCwweEQ3LCAweENGLDB4RkYsMHgzRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4Q0YsMHg2QiwweEZGLDB4QkYsMHgzRiwweEZCLDB4RjIsIDB4RkMsMHg3RiwweEVCLDB4RkYsMHg5RiwweEZBLDB4RkYsMHhGRiwKLTB4M0YsMHhGRiwweEYzLDB4RkYsMHhGRiwweEZELDB4NzAsMHhGNywgMHhGRiwweEZGLDB4QkYsMHhGRiwweEZCLDB4RDcsMHhGRSwweEY1LAotMHg3NywweEZGLDB4MTUsMHhERCwweDc3LDB4RkQsMHhGRiwweDdGLCAweERGLDB4RjcsMHhGQiwweENELDB4QkYsMHhGRiwweEZELDB4RkYsCi0weEZGLDB4REYsMHgzNywweENELDB4RjksMHhFQywweEZFLDB4RUYsIDB4QkIsMHhGNCwweEZCLDB4M0YsMHg0RiwweEIzLDB4RkYsMHhGRCwKLTB4Q0IsMHhGRiwweEU5LDB4N0UsMHg1NCwweDlGLDB4RTUsMHg0QiwgMHhCNywweEZGLDB4REQsMHg3RCwweEM3LDB4NzEsMHhERCwweDc3LAotMHg1RCwweEQ3LDB4NzUsMHhDRCwweDdGLDB4RDYsMHhGRiwweEQzLCAweEY2LDB4RjksMHgzRiwweDZELDB4OTUsMHhBRiwweDdGLDB4RkUsCi0weEZGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsIDB4RkUsMHhGNiwweEM3LDB4RkYsMHhBRCwweDdCLDB4Q0EsMHhGRiwKLTB4QkYsMHhCRiwweEVGLDB4RkQsMHhFMywweERGLDB4QjcsMHhFRCwgMHhGQiwweDdFLDB4REYsMHgzNywweEVELDB4RTMsMHhGQiwweERGLAotMHhGRiwweDUyLDB4NUMsMHgxNSwweEZELDB4Q0YsMHg3RiwweERGLCAweEZFLDB4RUYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUMsCi0weDdCLDB4RkUsMHhGRiwweEZFLDB4M0UsMHg3RiwweERBLDB4RjcsIDB4RkQsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZCLDB4RUYsMHhCQiwKLTB4NkYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRiwgMHhGNywweDdELDB4RkYsMHhEOCwweEZGLDB4RkQsMHhCRiwweDdGLAotMHhGQiwweEZGLDB4RkYsMHg5RiwweEZCLDB4RkUsMHg3RiwweDlGLCAweEU3LDB4RjksMHhGRSwweDdGLDB4OUYsMHhFQSwweDdGLDB4RjYsCi0weEJGLDB4QkQsMHg2QSwweDVBLDB4RjYsMHhFNSwweEJGLDB4NzcsIDB4NUYsMHg2RCwweERELDB4NzcsMHg1RCwweEQ3LDB4NzUsMHhERCwKLTB4NzcsMHhGRiwweEE1LDB4QkYsMHhDRiwweEZCLDB4RkYsMHhGRiwgMHhCRiwweENGLDB4RkIsMHhGRCwweEZGLDB4QkYsMHhGMywweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGRCwweEFCLCAweEZGLDB4QkYsMHhCRiwweEZGLDB4RkIsMHhGRiwweDdGLDB4RUYsCi0weEZGLDB4QkUsMHhGQiwweEVFLDB4RkIsMHhCRSwweEVGLDB4QkIsIDB4RUUsMHhGQiwweEJGLDB4RkYsMHhCNSwweEZGLDB4RDAsMHhCQywKLTB4RkQsMHgyRiwweDRCLDB4RjcsMHhGRiwweEZGLDB4OUYsMHhGOSwgMHhGRSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweDlGLAotMHhGQSwweDhGLDB4RkQsMHhBQiwweEZBLDB4REEsMHhCRiwweEFGLCAweEIzLDB4RkQsMHhGRiwweEJGLDB4RkIsMHhGRSwweEZGLDB4QkYsCi0weEVGLDB4RkIsMHhGRSwweEY3LDB4QkYsMHhGRiwweDlGLDB4RkYsIDB4NzcsMHhGNywweEJELDB4RkQsMHg3NywweERGLDB4RkYsMHg3RSwKLTB4REYsMHhFRCwweEJCLDB4RkUsMHhGRiwweEJFLDB4RUYsMHhGQiwgMHhGRSwweEZGLDB4RkEsMHgzRiwweEZGLDB4QkUsMHg2RiwweDhGLAotMHhFNiwweEY5LDB4RkUsMHg3RiwweDlGLDB4QzcsMHhGRSwweDdGLCAweDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LDB4RkIsCi0weDdGLDB4RkYsMHg3RiwweENGLDB4RkYsMHhGRCwweEZGLDB4RkYsIDB4REYsMHhGQiwweEFGLDB4QkYsMHhFRiwweEZGLDB4RkUsMHhGRiwKLTB4OUYsMHhFRiwweEZCLDB4RkYsMHhGQywweEZGLDB4RkIsMHhGRSwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEY3LAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RjUsMHhGRiwweEZGLDB4RkYsMHgzRiwweERGLDB4RjcsCi0weEZGLDB4RkYsMHg3RiwweEVGLDB4RkUsMHhGRiwweEJGLDB4RkYsIDB4RkIsMHhGRiwweEZGLDB4QkYsMHhFRiwweEZGLDB4QjMsMHg3RiwKLTB4RkYsMHg3QiwweDVFLDB4RjcsMHhGRCwweEZGLDB4N0IsMHg3RiwgMHhGNywweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLAotMHhERiwweEY3LDB4RkYsMHgxNywweEZGLDB4RkYsMHhGRiwweDdGLCAweEZGLDB4RkYsMHhERCwweEY2LDB4RkMsMHhCRiwweENCLDB4RjIsCi0weEJDLDB4QkYsMHgyRiwweENCLDB4RjIsMHhGQywweEJGLDB4RkUsIDB4OEYsMHhGRiwweEZBLDB4N0UsMHhCRiwweEE3LDB4RUIsMHhEQSwKLTB4RkMsMHhCRiwweEFGLDB4N0EsMHhGRSwweEJGLDB4QUYsMHhFQSwgMHhGQSwweEZFLDB4QkYsMHhBRiwweEY0LDB4REYsMHhGRSwweEZGLAotMHhGMywweDNDLDB4N0YsMHgzRSwweEZGLDB4Q0YsMHhGOCwweEJGLCAweDhGLDB4RTMsMHhGOCwweEZFLDB4M0YsMHg4RiwweEU3LDB4RTgsCi0weEZGLDB4RkMsMHg5RiwweEZGLDB4RkYsMHhDRiwweEVCLDB4QjMsIDB4RTcsMHhGQiwweDdCLDB4RjMsMHhGRSwweEZGLDB4Q0YsMHhEQiwKLTB4RkIsMHhGQiwweEJGLDB4NkYsMHg2RiwweERGLDB4RUMsMHg3RiwgMHhGRiwweEZGLDB4RjcsMHhGRCwweEZELDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEIyLDB4QkYsMHhGRiwweERFLDB4RkQsMHhCRCwweEVGLCAweEZCLDB4RjYsMHhERiwweEVBLDB4RTcsMHhEQiwweEZFLDB4QkIsCi0weEZGLDB4RUIsMHhGQiwweEJGLDB4OUYsMHg4RiwweEU4LDB4RkUsIDB4M0YsMHg4RiwweEEzLDB4RjgsMHhGRSwweDNGLDB4OEYsMHhGRiwKLTB4RjgsMHg3RSwweEZELDB4RkQsMHg3RiwweEZGLDB4RkIsMHhDRCwgMHhGRiwweEZELDB4RkYsMHg1RiwweEVGLDB4RkQsMHhGRiwweEZGLAotMHhERiwweEY3LDB4RkQsMHhGRiwweEJFLDB4OTAsMHhGRiwweEZGLCAweEVFLDB4RkYsMHgzRiwweEJGLDB4RjMsMHhCQiwweEZFLDB4QjcsCi0weEFCLDB4RkEsMHhGRSwweEFGLDB4QUQsMHhFQSwweEZBLDB4REUsIDB4QUIsMHhGRiwweDYzLDB4RkYsMHhGRSwweEYyLDB4RkYsMHhCMywKLTB4RkYsMHhERiwweEVFLDB4N0QsMHhGRiwweDAzLDB4RjEsMHhGNCwgMHgzRiwweDFGLDB4QzMsMHhGMSwweEVDLDB4N0YsMHhGRSwweDZGLAotMHhGRiwweEZCLDB4RkIsMHhGRiwweDlGLDB4RkYsMHhCRiwweEZGLCAweDdCLDB4NUYsMHhGRCwweEZGLDB4REYsMHhGNywweEZELDB4RkQsCi0weDdGLDB4N0YsMHhERiwweEZFLDB4Q0YsMHhGQiwweEZGLDB4RkYsIDB4QUYsMHhGQiwweEZGLDB4MUYsMHhFRiwweEE1LDB4RkQsMHhCRiwKLTB4REYsMHhGQiwweDdELDB4RkYsMHhCRiwweERGLDB4RkIsMHhGRiwgMHhGRCwweDNCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELAotMHhBRiwweEYzLDB4RkYsMHhGQiwweDdGLDB4QkYsMHhENywweEZCLCAweEJGLDB4N0YsMHhCQiwweEY3LDB4RkYsMHhGOCwweDdGLDB4RkYsCi0weEZBLDB4NUYsMHhENywweEZGLDB4REYsMHg3RiwweEVGLDB4RkYsIDB4RkYsMHg3RiwweERCLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwKLTB4QjcsMHhGQiwweEVDLDB4RkYsMHhGRiwweEY3LDB4QkYsMHhFRiwgMHhGRCwweEZDLDB4RkIsMHhGRiwweEVGLDB4RjAsMHhGRSwweDNGLAotMHg4RiwweEUzLDB4RjgsMHhGRSwweDNGLDB4OEYsMHhFRiwweDhELCAweEZGLDB4RkYsMHhFRiwweDdGLDB4QkYsMHhGRiwweEZCLDB4RkYsCi0weERCLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RUYsMHhEOCwweEZGLDB4MkUsMHg3RiwKLTB4QkUsMHhFRiwweEZFLDB4NkUsMHhGRiwweEJGLDB4RjksMHhGRiwgMHhGRiwweEYzLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGQywweDY2LDB4QkUsMHg0NywweEYzLDB4N0YsMHhERiwweEZFLCAweDg3LDB4OUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEU3LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhENiwweDZGLDB4N0MsIDB4RkIsMHg0RiwweEQyLDB4RkYsMHhGRCwweDJCLDB4RkUsMHhGRiwKLTB4RkYsMHhGRCwweDVGLDB4RDcsMHhENSwweEY1LDB4N0QsMHhGRiwgMHhGRiwweEZGLDB4QkYsMHg5QiwweEZGLDB4RkYsMHhERiwweEI3LAotMHhGRiwweEZGLDB4REYsMHhGRiwweDNGLDB4Q0YsMHhGRSwweDdGLCAweEJGLDB4RUYsMHhGQiwweEZDLDB4RkYsMHgzRiwweEZGLDB4RDksCi0weEJGLDB4RkUsMHg5NywweEVDLDB4OEYsMHhCNywweEZFLDB4OUIsIDB4N0QsMHhGRCwweEI3LDB4REQsMHg3NywweDFELDB4QzcsMHg3MSwKLTB4REQsMHg3NywweDVELDB4RDcsMHhGMywweDZGLDB4RkQsMHgzRiwgMHg3MywweERELDB4QUYsMHhGRCwweDdBLDB4RkYsMHhGRiwweEFGLAotMHhGRSwweEZELDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLCAweEVGLDB4NjYsMHg3RiwweEZGLDB4RkYsMHhCRiwweEJGLDB4RkYsCi0weEZCLDB4RkYsMHhGNywweERGLDB4RkQsMHhGQiwweDdELDB4REYsIDB4QjcsMHhDRCwweEYzLDB4N0MsMHg1RiwweDNGLDB4OTEsMHgzRiwKLTB4RkYsMHgzRCwweEVGLDB4N0IsMHhGRiwweEZDLDB4RkYsMHhDQSwgMHhFRiwweEZFLDB4RkYsMHhCRCwweEVGLDB4RkIsMHgxRSwweEU3LAotMHhCQiwweEVDLDB4N0YsMHhCMywweEZGLDB4RkQsMHg5RiwweEZGLCAweEZGLDB4RkUsMHhGRiwweEZGLDB4N0YsMHhCRiwweEZCLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RUUsMHhGQiwweEJGLDB4REYsIDB4NjcsMHhGRiwweEZGLDB4QkYsMHhFRiwweERCLDB4RkYsMHhCQywKLTB4RkUsMHg3RiwweEZCLDB4RkYsMHg5RiwweEVGLDB4RjksMHhGRSwgMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4ODcsMHhGRiwweEVFLAotMHhGQiwweEJFLDB4RTUsMHhCRiwweEVGLDB4RjksMHhENywweDY1LCAweEY3LDB4REQsMHhFNywweDdELDB4REYsMHg3NywweDVELDB4RDcsCi0weDdGLDB4RjgsMHg5QiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsIDB4RkYsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLDB4N0YsMHhDRiwKLTB4RjMsMHhGQywweEZGLDB4QkYsMHhFRiwweEZGLDB4REIsMHgzRiwgMHhFRiwweEZCLDB4RkUsMHhGRiwweERGLDB4RkYsMHhGRSwweEZCLAotMHhCQiwweEVGLDB4QkYsMHhFRiwweEJCLDB4RUUsMHhGQiwweEJFLCAweEVGLDB4QkIsMHhGRiwweEZDLDB4N0YsMHhGRCwweDNCLDB4NUIsCi0weEQ2LDB4RTUsMHhGRCwweDRGLDB4QzMsMHhGQiwweEZGLDB4QkYsIDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRiwKLTB4QjQsMHhGRiwweEZBLDB4QkMsMHg4RiwweEIyLDB4RTksMHhEMiwgMHgyRSwweENGLDB4RkIsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLDB4RUMsMHhGRiwweEZELCAweEZELDB4N0YsMHhERiwweEY3LDB4RTQsMHhERiwweDVGLDB4RkYsCi0weEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEMzLDB4RkYsMHhFRiwweEU2LDB4RjgsMHhGRSwKLTB4M0YsMHg4QiwweDgzLDB4RjksMHhGRSwweDdGLDB4RTcsMHhGOSwgMHhGRSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweDE3LAotMHhGRCwweEZGLDB4RkYsMHhGRiwweDdGLDB4NUYsMHhGNywweDJDLCAweEZGLDB4RkYsMHhGRiwweEZFLDB4N0YsMHhGRiwweEU3LDB4RjksCi0weEZFLDB4N0YsMHg5RiwweEZFLDB4MkYsMHhGRiwweEZGLDB4RUYsIDB4RkYsMHhGRSwweEJGLDB4RUYsMHhBRCwweEZGLDB4RkYsMHg3RiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRSwweERGLDB4RkYsMHhERiwweEZGLDB4RkQsMHhGRCwweDdGLAotMHhERiwweEY3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQSwweDNGLDB4RkUsCi0weEY3LDB4RkQsMHhFRiwweDdBLDB4RkYsMHhCMSwweEJELDB4RkYsIDB4N0YsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwKLTB4RkYsMHg3RiwweEYzLDB4MjcsMHhGRiwweERGLDB4RkYsMHhERCwgMHhGRiwweEZDLDB4OUIsMHhGRiwweENCLDB4RkMsMHhCRiwweDJGLAotMHhDQiwweEYyLDB4RkMsMHhCRiwweDJGLDB4QzksMHhGRiwweERFLCAweEZGLDB4REYsMHhBRiwweEVCLDB4REEsMHhGRSwweEJCLDB4QUYsCi0weEVCLDB4RjgsMHhGNywweEFGLDB4RTgsMHhGQSwweEZFLDB4QkYsIDB4QUYsMHhFQiwweEYyLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhFRiwKLTB4QkQsMHhENywweEJGLDB4RkYsMHhGRiwweERFLDB4OEYsMHhCOCwgMHhERSwweDM3LDB4OEQsMHhBMywweDc4LDB4REEsMHgzRiwweDhGLAotMHhGRiwweEExLDB4RkYsMHhGRiwweEZCLDB4RkIsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhBNywweEJELDB4RkIsMHg3NiwweEZELDB4QkYsCi0weEVGLDB4REIsMHhGRSwweEJCLDB4QkYsMHhGRSwweDI3LDB4N0YsIDB4RkYsMHhGRSwweEZFLDB4RkQsMHhGNSwweEZGLDB4RUYsMHhGNSwKLTB4REYsMHgxRiwweEU3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywgMHhGRCwweEZGLDB4RkYsMHhDRCwweEZELDB4QUUsMHhGRiwweEZBLAotMHgzRSwweDNGLDB4QUIsMHhGRCwweEY4LDB4N0UsMHg4RiwweEUzLCAweEY4LDB4RkUsMHgzRSwweDhGLDB4RTMsMHhGOCwweEZGLDB4RkUsCi0weDFGLDB4RUYsMHhERiwweEJGLDB4RkUsMHhERSwweERGLDB4RDksIDB4RkYsMHhERiwweEJDLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhFRiwKLTB4RkQsMHg3RiwweERGLDB4RjcsMHhGOSwweDNGLDB4RkUsMHhGRiwgMHhGRiwweDZGLDB4RkUsMHhERSwweEJGLDB4RjcsMHhFRCwweEVBLAotMHhGRCwweDhGLDB4ODMsMHhGOCwweEVBLDB4M0YsMHg4RiwweEVGLCAweEZGLDB4RjQsMHg3RiwweEZGLDB4RUYsMHhFRiwweDdCLDB4RjMsCi0weEYxLDB4NUYsMHhGRiwweEZGLDB4RjEsMHgzQiwweDdGLDB4REYsIDB4RjcsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTAsMHhGRiwKLTB4RkYsMHhGRiwweEY3LDB4RkYsMHg2RiwweEZGLDB4N0YsMHhGRiwgMHhGRiwweEY3LDB4REUsMHhGNywweEJGLDB4RUYsMHhGQiwweEY3LAotMHhGRCwweEZGLDB4RkYsMHhGNSwweEZBLDB4RkYsMHhGRiwweEZCLCAweEU3LDB4RkYsMHhGMywweEY4LDB4N0YsMHhGMywweERGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDFGLDB4RUYsIDB4QkIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwKLTB4RkYsMHg3RiwweEZGLDB4OUYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhDRiwweEZGLDB4MzcsMHhGRiwweEZGLAotMHg3RiwweERGLDB4NzcsMHg1RCwweEU3LDB4RkMsMHhGRiwweEJGLCAweEY3LDB4RjUsMHhGQiwweEZGLDB4RkYsMHhENywweEY1LDB4RkIsCi0weEZGLDB4RkYsMHg0NSwweEZELDB4N0YsMHhFQSwweEZELDB4QkUsIDB4QkYsMHhERiwweEY3LDB4RkYsMHhGRiwweERCLDB4RkIsMHhGRSwKLTB4RkYsMHhCRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHg1RiwgMHg3RiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZFLDB4RkYsMHhFRiwweEZELDB4RkYsMHg3RiwweERGLCAweEZGLDB4RUYsMHhGQiwweEY4LDB4MEYsMHhGMywweEZGLDB4RjksCi0weDJFLDB4RkIsMHhGRSwweEZDLDB4RjMsMHhFRiwweEZGLDB4RkYsIDB4QkYsMHhGRiwweEZCLDB4RTcsMHhGRiwweEZFLDB4N0UsMHhGRiwKLTB4QzAsMHg2QiwweENGLDB4RkYsMHgzNCwweERGLDB4RjEsMHhGRCwgMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4REYsMHhGNywweEZELAotMHhDRiwweDdGLDB4OUMsMHhGRCwweEZELDB4NkMsMHhGNywweEZGLCAweEY2LDB4RkQsMHhFQiwweDJCLDB4OUYsMHhGRiwweEZDLDB4RkUsCi0weDdFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhENywweEYzLDB4RjcsIDB4RkYsMHhGQiwweEUxLDB4QkYsMHhGRiwweEVCLDB4N0EsMHhERSwKLTB4RDcsMHhGQiwweEZGLDB4RjksMHhGRSwweEZGLDB4RkYsMHhGMywgMHhERSwweDdGLDB4RkQsMHhFNywweDdGLDB4RkYsMHhGRCwweEJCLAotMHhGRiwweEZGLDB4N0UsMHhDQywweEY2LDB4QUYsMHg1RiwweDdGLCAweEZFLDB4RjQsMHg3RCwweEY3LDB4RkQsMHhCQiwweDZFLDB4REIsCi0weEI3LDB4RkYsMHhGNywweERGLDB4NjYsMHhGRiwweEZGLDB4RjcsIDB4M0QsMHhDRiwweERFLDB4QkQsMHhGRiwweEZGLDB4REUsMHhEQiwKLTB4OEQsMHhGNywweDdFLDB4REYsMHhCNywweEVGLDB4N0YsMHhGRiwgMHhGNiwweDg3LDB4RkYsMHhGRiwweEVGLDB4RkUsMHhERSwweEJGLAotMHhGRiwweEZGLDB4RkYsMHhCQiwweEVGLDB4RkQsMHhGRiwweDdCLCAweERFLDB4RjcsMHgzRiwweEZGLDB4QkYsMHhGQiwweERCLDB4RkYsCi0weEYyLDB4QjYsMHhGRCwweEJELDB4N0YsMHhFNywweEZGLDB4RkYsIDB4RkYsMHg2RiwweEY3LDB4RkYsMHhGRiwweEZGLDB4RkUsMHg3NywKLTB4RkYsMHhCRiwweEY4LDB4QUYsMHhGRiwweERGLDB4QkYsMHhGRiwgMHhCRiwweDdGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhEQiwweEZFLAotMHhGRiwweEJGLDB4RkYsMHhGQSwweEZGLDB4RkQsMHhGRiwweEY2LCAweDdGLDB4RkYsMHg5RiwweEZGLDB4RkYsMHgzRiwweEVGLDB4RjgsCi0weEVFLDB4N0UsMHg5RiwweEJBLDB4RkUsMHhCRiwweDhGLDB4RUYsIDB4RkUsMHhGRSwweEY5LDB4RkYsMHhGQSwweDdGLDB4RkUsMHg3RSwKLTB4QkYsMHhBRiwweEZCLDB4OTYsMHhGRCwweDlGLDB4RUYsMHg1RSwgMHg2NSwweEJFLDB4RUYsMHg1QiwweEI2LDB4RkYsMHhCRSwweEUzLAotMHhGRiwweEI1LDB4QkYsMHhGRiwweEZELDB4RkYsMHg3RiwweEZGLCAweEVGLDB4REYsMHhGRSwweEZGLDB4QkYsMHhGQiwweEZFLDB4RkYsCi0weEJGLDB4Q0YsMHhGRiwweEZGLDB4RkYsMHhGRCwweDlCLDB4RkYsIDB4RkUsMHhGQiwweEZFLDB4REYsMHhGRiwweDdGLDB4RkYsMHhGNywKLTB4RkUsMHhGRiwweERGLDB4RkIsMHhGQiwweEZFLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhCNywweEZFLDB4RkEsMHhGRiwweEFCLAotMHhFRiwweEZGLDB4RkQsMHhCNSwweDdCLDB4N0YsMHhGQiwweEY3LCAweEZELDB4RkYsMHhGRiwweERELDB4RkYsMHhFRiwweDhGLDB4RkYsCi0weDJGLDB4RkYsMHhGQiwweDdDLDB4RkYsMHgzRiwweERGLDB4NzMsIDB4RUIsMHhGRSwweDNGLDB4RkYsMHhFRiwweEZCLDB4RkUsMHhGRiwKLTB4RUYsMHhGRCwweEZGLDB4QkYsMHhGRCwweDBGLDB4RkYsMHhGRiwgMHhGRiwweEY1LDB4RjksMHhGRiwweDdGLDB4RDcsMHhGRCwweEZGLAotMHhERiwweEZGLDB4RjcsMHhGQiwweEZGLDB4N0YsMHhCRiwweEZGLCAweEZGLDB4RjAsMHg5RiwweEZGLDB4RkUsMHg3RiwweDhCLDB4RTMsCi0weEY5LDB4REUsMHgyNywweDlCLDB4RTYsMHhCRSwweDdGLDB4OUIsIDB4QzMsMHhGOCwweERFLDB4N0YsMHg5RCwweEU3LDB4RkUsMHg3RiwKLTB4RkYsMHhGRiwweDVGLDB4RDcsMHhGRiwweEZGLDB4RkYsMHg0RiwgMHhGQiwweEZGLDB4RkYsMHg3RiwweEZGLDB4QUYsMHhGRiwweDlGLAotMHg3RiwweEZCLDB4RkYsMHhFOCwweEZGLDB4RkYsMHhGRSwweEJGLCAweEFGLDB4RkYsMHhGRiwweEZFLDB4QkYsMHhFRiwweEY3LDB4RkYsCi0weEJGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsIDB4RkMsMHhGRiwweEZGLDB4RkQsMHg3RiwweEZGLDB4RkYsMHhGRiwKLTB4RkQsMHgzRiwweENGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywgMHhGRiwweEZELDB4N0YsMHhGRiwweEZGLDB4OTMsMHhGRiwweEZGLAotMHg3QSwweERGLDB4RjcsMHhGRiwweEZGLDB4N0IsMHg3RiwweEI3LCAweEVGLDB4RkYsMHhGRiwweEZELDB4QkYsMHhGRCwweEZCLDB4RkYsCi0weEY3LDB4RkYsMHhENywweEZGLDB4RkYsMHhGRiwweEZDLDB4OUYsIDB4NkYsMHhDQiwweEZGLDB4RjQsMHhCQiwweERGLDB4RDYsMHhGRCwKLTB4QkYsMHgyRiwweEQzLDB4RjcsMHhGRiwweERGLDB4RkYsMHhDRiwgMHhGRiwweEZBLDB4QkUsMHhCRCwweEFGLDB4NkEsMHhEQSwweEJFLAotMHhCQiwweEFCLDB4M0EsMHhCRSwweDJELDB4QUUsMHhFQiwweERBLCAweEY2LDB4M0YsMHhBRCwweEY1LDB4REQsMHhGRiwweENGLDB4RjEsCi0weEZGLDB4RjksMHg3RiwweEZGLDB4NzMsMHhGRSwweEZGLDB4Q0YsIDB4QzMsMHhGNCwweEY3LDB4MkYsMHhGMywweEZGLDB4RkMsMHhGRiwKLTB4N0MsMHgxRiwweEZGLDB4M0YsMHg0RiwweEZGLDB4N0UsMHhGRiwgMHhFRiwweEJELDB4RjYsMHhGRSwweEZGLDB4MkIsMHhFRiwweERDLAotMHhGQiwweEZELDB4RkYsMHhGQiwweEZGLDB4RUEsMHg3QiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGNywweERGLDB4RkYsCi0weEUzLDB4N0QsMHhGRiwweEI3LDB4RkYsMHhCRiwweEZGLDB4RkYsIDB4REYsMHhGRiwweEY4LDB4RkYsMHhCRiwweEZGLDB4QkYsMHhFQiwKLTB4RTcsMHhGQSwweEZFLDB4M0QsMHhCRiwweEU5LDB4RkMsMHhCRiwgMHhGRiwweEZBLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhGRiwweEQ5LAotMHhGRiwweEZGLDB4RkYsMHhGNiwweDdGLDB4RkYsMHhGNiwweDdELCAweEZGLDB4REYsMHhDRiwweEZELDB4QkYsMHhGQiwweEVGLDB4N0UsCi0weEZGLDB4N0YsMHhGRiwweEZGLDB4RDMsMHhGRiwweEZELDB4RkIsIDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhCRiwKLTB4RkUsMHhGRiwweEY3LDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGQiwgMHhGRiwweDg3LDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLAotMHg3QiwweEZFLDB4RkYsMHhGRSwweDNCLDB4RjcsMHhGNywweEZGLCAweDNGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDBGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RjcsIDB4RkYsMHhGRiwweEFELDB4RkYsMHhGRSwweEY3LDB4RkYsMHhGRiwKLTB4NUYsMHhGRiwweEZGLDB4REYsMHhGRiwweEZELDB4RkYsMHhGNSwgMHhGRiwweERGLDB4RkYsMHhCRCwweEZGLDB4RTksMHhGRiwweEM3LAotMHhGMywweEZGLDB4RkYsMHhGNywweEZGLDB4RjMsMHhGRiwweEY4LCAweDNCLDB4RkYsMHhGRiwweDdCLDB4REYsMHhCRiwweEZCLDB4RUYsCi0weEZCLDB4RkYsMHhGQiwweEY3LDB4RjcsMHhCQiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRSwweDdGLDB4RjMsMHg3RiwKLTB4NUUsMHhCNywweEJGLDB4RkQsMHg3RiwweEZGLDB4RjksMHg3RiwgMHhGQiwweEZGLDB4RUIsMHhGRCwweDdGLDB4N0YsMHhGRiwweEVGLAotMHhGQiwweEUwLDB4M0YsMHhGRSwweEJGLDB4QkYsMHhERiwweEZGLCAweDdFLDB4RkYsMHhGNywweEZGLDB4RkYsMHhGRSwweEJGLDB4RkYsCi0weERCLDB4NzgsMHhGRiwweEZGLDB4RkYsMHhFRSwweEExLDB4QkYsIDB4RjUsMHhERSwweEZCLDB4RjcsMHhGRiwweEZCLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwweEQ3LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RUYsMHhGMCwweEZGLDB4RkYsMHhGRiwweEYzLAotMHhGNywweEZGLDB4RUYsMHhGRiwweEU3LDB4Q0YsMHhGRiwweEZCLCAweEZGLDB4RUYsMHhGRiwweEZGLDB4OUYsMHg5RiwweEVGLDB4RkMsCi0weDE2LDB4QkYsMHhGRSwweEYzLDB4RTQsMHhGRiwweEZGLDB4QzYsIDB4RkYsMHhFNywweEZGLDB4RkYsMHhGRCwweEZGLDB4QkYsMHhGRiwKLTB4RkYsMHgzRiwweEZGLDB4QkYsMHhENiwweEFGLDB4N0YsMHhGRSwgMHg2QiwweDdFLDB4N0YsMHhGRiwweEFGLDB4RkYsMHhGRiwweEJGLAotMHhGRiwweDVGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRSwweEZGLCAweEZGLDB4QkQsMHhEQiwweEZGLDB4RkUsMHg1RiwweEYyLDB4RkYsCi0weEZGLDB4NUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RUYsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REUsMHhCRiwKLTB4RkYsMHhGRiwweEVGLDB4RkIsMHg3NywweEZFLDB4QkQsMHg3RiwgMHg1RiwweEZGLDB4RkYsMHhGRiwweERGLDB4NkYsMHhFRCwweEZGLAotMHhGRCwweEZGLDB4N0YsMHhGRCwweDZGLDB4RkYsMHhGRiwweDc3LCAweERBLDB4Q0YsMHhGRCwweDVGLDB4RkYsMHhCRiwweEZGLDB4RkYsCi0weERGLDB4N0YsMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4NjYsMHg3RiwweEZGLDB4RkUsMHhCRiwweEU3LDB4QkYsMHhGQSwKLTB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweERGLDB4RkYsMHg1OSwgMHhFRiwweEZGLDB4RUYsMHhGQiwweDdGLDB4ODksMHhGRiwweEZGLAotMHhFOSwweEZGLDB4NkYsMHhGRiwweEY1LDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHg3RiwweEYyLDB4RjcsMHhGRiwweEZGLDB4RUYsCi0weEY4LDB4N0YsMHhGQiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RDksIDB4RkYsMHhFRiwweEJCLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhFRiwKLTB4REUsMHhGRiwweEZGLDB4OUYsMHg3RiwweERGLDB4RkYsMHhGNywgMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRiwweEFGLAotMHhGRiwweEZGLDB4RjcsMHgzRiwweEVCLDB4OUYsMHhGRSwweDdGLCAweDlFLDB4N0YsMHg5RiwweEZFLDB4ODcsMHhGRiwweEVELDB4REIsCi0weDU2LDB4RkYsMHhCRiwweEFGLDB4MEIsMHhEMiwweEZGLDB4RUYsIDB4REIsMHg2RSwweDdELDB4QkQsMHg2RiwweEY4LDB4RkUsMHgzRiwKLTB4RkEsMHg1QiwweEZGLDB4RkQsMHhCRiwweEVGLDB4RkYsMHhCRiwgMHg2RiwweERCLDB4RTYsMHhGRiwweEZGLDB4M0YsMHhGRiwweERGLAotMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4REEsMHgzRiwweEZGLCAweEZCLDB4RkUsMHhGRSwweEZGLDB4RkYsMHhERiwweEY3LDB4QkQsCi0weEZGLDB4RkQsMHhGRiwweEZFLDB4RkYsMHhGQiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEYxLDB4NUYsMHhGRCwweDlGLDB4REYsMHhGRCwKLTB4RkYsMHhGRCwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg3NiwgMHhGQSwweEZGLDB4RkYsMHg3RiwweEUzLDB4RjgsMHhGRiwweEFFLAotMHhGRiwweEZCLDB4N0UsMHg5RCwweDczLDB4RkYsMHhGQSwweDdGLCAweERGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGQiwweENELDB4RkYsCi0weDdGLDB4RUYsMHhGQiwweEZGLDB4RkQsMHhGRiwweEY3LDB4N0YsIDB4N0YsMHhFRiwweEZGLDB4RUQsMHhGRiwweEZGLDB4RkYsMHhCNSwKLTB4RkYsMHhCRiwweEZGLDB4QkYsMHhGRCwweEVGLDB4REIsMHhGNywgMHhGRiwweDkzLDB4RkYsMHhFRiwweEUyLDB4RjksMHhCRSwweDdGLAotMHg4QiwweEU3LDB4RjksMHhGRSwweDZCLDB4RTcsMHhGOSwweEZFLCAweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweDQ3LDB4RkYsCi0weEZGLDB4RkQsMHhGRiwweDlGLDB4RkYsMHhENywweEZGLDB4RkYsIDB4RkYsMHhGRiwweEY1LDB4RkYsMHg5RiwweEZGLDB4RjcsMHhGRSwKLTB4RkYsMHhCRiwweEZFLDB4NkYsMHhGRiwweEZGLDB4RkIsMHhGRiwgMHhGRiwweEZGLDB4QUYsMHhGRiwweEZGLDB4RkYsMHg3RiwweEZCLAotMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELCAweERGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGRiwweEZGLDB4REYsCi0weEZGLDB4RkYsMHhGRiwweDVGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4NUYsMHhGQiwweEZFLDB4RkYsMHhGOCwweDM3LDB4RkYsMHhGRiwKLTB4RUYsMHhGRiwweDdGLDB4RkUsMHhCRiwweEZGLDB4RkYsMHhGRSwgMHhCRiwweEZGLDB4RkYsMHg3RiwweEZGLDB4QkYsMHhGRCwweEZGLAotMHg3RiwweEZBLDB4N0YsMHhGRiwweEZGLDB4NkYsMHhGRiwweEZGLCAweDdELDB4RkYsMHhDRiwweEZGLDB4RkYsMHhGRiwweDRGLDB4RkYsCi0weEYyLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZBLDB4QkYsIDB4RkYsMHhBRSwweEVCLDB4RkEsMHhGRSwweEJCLDB4QUQsMHhFQiwKLTB4RkEsMHhGNywweEFGLDB4NkIsMHhGQSwweEY2LDB4QkYsMHgyNSwgMHhFOSwweEYyLDB4N0YsMHg0NSwweEZGLDB4RkYsMHhGRCwweEY3LAotMHhGNywweEJGLDB4RkYsMHhERiwweEZGLDB4RkYsMHhCRiwweEZCLCAweEZGLDB4REYsMHhGMywweEZGLDB4RjcsMHgzRiwweENGLDB4RkYsCi0weEExLDB4RkYsMHhGRiwweEJGLDB4RTcsMHhGRiwweEZGLDB4N0YsIDB4RkYsMHgzRCwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHgyRiwKLTB4RkYsMHhGQiwweEY1LDB4N0YsMHhGRSwweDU3LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LAotMHgzRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZFLCAweEY3LDB4RUUsMHhBRiwweEZFLDB4RUUsMHhFNywweEZBLDB4RkYsCi0weEZFLDB4OUQsMHhGOSwweDVFLDB4RkUsMHhGRiwweEVCLDB4RkYsIDB4RkYsMHhERiwweEE3LDB4RkYsMHhGRiwweEZGLDB4RkMsMHhEQiwKLTB4RkYsMHhGRiwweEZGLDB4N0UsMHhGQiwweEZGLDB4RkYsMHhFRiwgMHhGQiwweEZELDB4RkYsMHhEQiwweEZGLDB4RkYsMHhGRiwweEVGLAotMHhGRiwweEZGLDB4RkYsMHhGRCwweEJGLDB4RkUsMHhCRiwweEZGLCAweDZGLDB4N0YsMHhGRiwweEY3LDB4RkYsMHhGRiwweEY5LDB4RkYsCi0weEY3LDB4RkYsMHhCRiwweERFLDB4RjcsMHhGRiwweEZGLDB4RkYsIDB4RkEsMHg3RiwweEZELDB4QkYsMHg1RiwweEZGLDB4RkYsMHhCRiwKLTB4RkYsMHhFRCwweEZGLDB4RjcsMHhCRiwweEZGLDB4RkYsMHhFRiwgMHhGRiwweERGLDB4RkYsMHhGRiwweEZGLDB4RTYsMHhGRiwweEZCLAotMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVCLDB4RkYsCi0weEZELDB4RkYsMHhGNSwweEZGLDB4RjYsMHg3RiwweERGLDB4QkQsIDB4Q0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRiwKLTB4RkYsMHhGOSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFMywgMHhGRiwweEVFLDB4QkYsMHhGRiwweDdELDB4RUYsMHhGRSwweEZGLAotMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RTcsMHhGRiwweEI1LDB4QUUsCi0weEZGLDB4RkYsMHhCNiwweEZFLDB4QkYsMHhGRiwweEZGLDB4QkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHgyNywweEZGLDB4RUYsMHhGRSwweDdGLDB4REYsMHhGRiwgMHg3RSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkQsMHhGRiwweEY3LDB4RjksMHg5RiwweEZGLCAweDVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4N0YsCi0weEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4MEYsMHhGRiwweEU3LDB4QkYsMHhGRSwKLTB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkMsMHhCRiwgMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEM0LAotMHg2QiwweEZGLDB4MjksMHgxRiwweEZCLDB4QUYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEVGLDB4MUIsMHhGRSwweEZGLDB4RkMsCi0weDZGLDB4RkYsMHhGRiwweEZELDB4NkEsMHhGNywweEQ3LDB4RjUsIDB4QkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkUsMHhCRiwweEZGLDB4RkYsMHhGQSwweEZGLDB4RkYsMHhGNywgMHhGQiwweERELDB4QkYsMHhGRiwweEU3LDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHg3RiwweEZGLCAweEZGLDB4RjUsMHhGRiwweEZGLDB4RjcsMHhGRCwweEIzLDB4RUYsCi0weEZELDB4N0UsMHg1RCwweEZGLDB4RkQsMHhGRiwweEZGLDB4RkYsIDB4RkQsMHg3RiwweEQyLDB4RjUsMHhGQiwweDdFLDB4Q0IsMHhCNywKLTB4RkYsMHhGRiwweEZGLDB4QzYsMHhGRiwweEZELDB4RUUsMHg2MywgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjYsMHhGRCwweDY1LAotMHg1QiwweERGLDB4RkYsMHhENSwweEZGLDB4RkYsMHhGRiwweEY2LCAweEU3LDB4QkYsMHhGNywweEE5LDB4RkYsMHhGRiwweEVELDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RUIsMHhGRiwweEZGLDB4RkYsIDB4QUYsMHhGRiwweEZGLDB4RkYsMHhGOCwweDFCLDB4RkYsMHhFMywKLTB4RDAsMHhCRiwweEZGLDB4RTEsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEQ3LDB4RkYsMHhGRiwweEZGLDB4NUYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4QUYsMHhGRiwweERCLDB4NzYsMHhCRiwweEZGLCAweDdGLDB4RkYsMHhCRiwweEVGLDB4RkUsMHhGRiwweEJGLDB4RUYsCi0weEZCLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhCRiwweEYyLDB4N0YsIDB4RkYsMHg5RiwweEZFLDB4QkQsMHhGRSwweDdGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEY3LDB4M0YsMHhFQywweDdGLDB4RjYsMHg5NSwweEJCLAotMHhFRiwweEY4LDB4RkUsMHhGQywweEJGLDB4MkYsMHhEQSwweEZDLCAweEJGLDB4MkYsMHhDQiwweEYyLDB4RkMsMHhCRiwweEVGLDB4RkYsCi0weEE5LDB4QkYsMHhDRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkUsIDB4REQsMHhCNywweDZELDB4RjYsMHhEOSwweEI2LDB4NkQsMHg5QiwKLTB4NzYsMHhEOSwweEJGLDB4RkIsMHhGRCwweEEzLDB4RkYsMHhCRiwgMHhFRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHg3RiwweERGLAotMHhGRCwweEVGLDB4N0IsMHhERSwweEY3LDB4RkQsMHhFRiwweDdGLCAweEZGLDB4RkYsMHgwNSwweEZGLDB4RkEsMHhGRSwweDdGLDB4RUYsCi0weEUzLDB4RkYsMHhGRiwweEZELDB4N0YsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHg1RiwweEZGLDB4RkYsMHhGRCwweDdGLDB4RkIsMHhBRiwKLTB4RkYsMHg2MywweEM4LDB4RkYsMHhCRiwweEVGLDB4RkYsMHhGRiwgMHhGQSwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHg5RiwweEY3LAotMHhGRiwweEZBLDB4QkYsMHhGRSwweDlGLDB4RkIsMHg3RiwweEZGLCAweEZGLDB4RUYsMHhENywweEZGLDB4RkYsMHhGNSwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRCwweDdGLDB4RkYsMHhGRiwweEJGLDB4RkYsIDB4RjksMHhCRiwweEZGLDB4QkUsMHgyNywweDlGLDB4RTcsMHhGOSwKLTB4RkUsMHg3RiwweDhCLDB4RTcsMHhGRSwweDdGLDB4OUYsMHhFMiwgMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LDB4RjEsMHg3RiwweEZGLAotMHhGRiwweEZGLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhGRiwweEQ3LCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkYsCi0weEQ3LDB4RkYsMHhGQSwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsIDB4RkQsMHhGRiwweEZGLDB4RkYsMHhBRiwweEY3LDB4RkYsMHhGRiwKLTB4RkYsMHhFQiwweEZGLDB4RkYsMHhGRiwweEFGLDB4RkYsMHhDNCwgMHhGRiwweEY3LDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweDVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhENywweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RUIsMHhGRiwweEZCLDB4N0EsCi0weERGLDB4RjcsMHhGRCwweEZGLDB4RkYsMHhGRSwweEJGLDB4RkYsIDB4RkYsMHg3RiwweEZGLDB4QUYsMHhGRiwweEZGLDB4RkYsMHhGNywKLTB4RUYsMHhFMywweEZGLDB4REQsMHhEMiwweEZGLDB4REYsMHhGRiwgMHhGRiwweEYyLDB4RkMsMHhCRiwweENCLDB4RjYsMHhGRCwweEJGLAotMHgyRiwweENCLDB4RkYsMHg3RiwweERGLDB4REUsMHhBRiwweEZGLCAweERBLDB4RUUsMHhCRiwweEFGLDB4RTksMHhGQSwweEY0LDB4QkQsCi0weEFGLDB4NUEsMHhBRSwweEJCLDB4QUIsMHg2QiwweERBLDB4REUsIDB4QkYsMHhBRCwweEQ3LDB4NUUsMHhGRiwweEZGLDB4QkYsMHhGQywKLTB4RkYsMHhERiwweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERiwgMHhGNywweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZBLAotMHgxRiwweEZGLDB4RkUsMHhGQiwweEVGLDB4QkYsMHhGRCwweEZGLCAweEZELDB4QkQsMHg3NywweEZGLDB4RkYsMHhGRiwweEZGLDB4OUQsCi0weEVGLDB4RkYsMHhGRiwweEZGLDB4RUYsMHg3RCwweEZGLDB4RkIsIDB4RkUsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRSwgMHhCRiwweEU0LDB4RkIsMHhGRiwweEZFLDB4M0YsMHhGRSwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhBRiwweEVBLDB4RkUsMHhCRiwweEFGLCAweEVCLDB4RkEsMHhGRSwweEZGLDB4RkYsMHhGRiwweDU1LDB4RjYsCi0weEZGLDB4RkUsMHhGNywweEZGLDB4N0YsMHhGRiwweEVCLDB4RjcsIDB4NUYsMHhDNSwweEZELDB4N0YsMHg1RiwweEQ3LDB4RjUsMHhGRiwKLTB4NkYsMHhGQiwweEZGLDB4OEEsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhFQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhCRiwweEJGLAotMHhFRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLCAweDc3LDB4REYsMHhGQiwweEZGLDB4RkQsMHg3RiwweEVGLDB4RkYsCi0weEZGLDB4RkYsMHhCRiwweDdGLDB4RkYsMHhERiwweEJGLDB4RkYsIDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRSwweEVGLDB4REYsMHhGRiwKLTB4RkUsMHhGRiwweDlGLDB4RUYsMHg3RCwweEZGLDB4RjcsMHhGRiwgMHg3RiwweEZGLDB4RkYsMHhERiwweEY3LDB4RkQsMHhGRiwweEVGLAotMHhERiwweEZGLDB4REYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RkIsCi0weEZELDB4RkYsMHhCRiwweERGLDB4RDEsMHhGRiwweEY4LDB4M0IsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4N0UsMHhEQiwweEZELDB4RkYsMHg3NywweERCLDB4QjcsMHg3RCwgMHhCRiwweEZCLDB4RkYsMHhGOCwweDdGLDB4RUQsMHg3QiwweDVFLAotMHhGRiwweEZFLDB4RkYsMHhGRiwweDRGLDB4RDcsMHhGRCwweDdGLCAweERGLDB4RDcsMHhGNSwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsCi0weEYyLDB4M0YsMHhGRSwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhCRiwweEVGLDB4RkUsMHhGRiwweDNCLDB4RUUsMHhGRiwKLTB4RkMsMHhFRiwweEZGLDB4RkYsMHhGRiwweDg1LDB4RkYsMHhGRCwgMHhGRSwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkUsMHhGRiwweERGLAotMHhGQiwweEZGLDB4NUYsMHhCRiwweEZGLDB4RkQsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhBOCwweEZGLDB4RkYsMHg5RiwweDlFLDB4RkYsCi0weEZGLDB4RkYsMHg3RiwweEYzLDB4RkYsMHhGRiwweENGLDB4RkYsIDB4RjcsMHhGRCwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkMsMHgxNiwKLTB4QkYsMHhDRiwweEEzLDB4RTUsMHhFRiwweDdGLDB4RkYsMHhGMywgMHhFNCwweEZGLDB4Q0YsMHg5MywweEZDLDB4RkYsMHgzRiwweENGLAotMHhGRiwweEZGLDB4RkYsMHhENiwweDBGLDB4N0QsMHhCRiwweDZFLCAweEZCLDB4RjQsMHhGQywweEFGLDB4NkQsMHhEQiwweDc3LDB4QjcsCi0weDZELDB4REIsMHhGNiwweEZELDB4QkYsMHhGRiwweEZGLDB4RkYsIDB4QkYsMHg5QiwweEZBLDB4REUsMHhCNywweEI3LDB4RUQsMHhGOSwKLTB4N0UsMHhCNywweEFDLDB4RUIsMHhENiwweEIzLDB4QUQsMHhFQiwgMHg3QSwweERGLDB4RkYsMHhGRiwweEZGLDB4RDgsMHhCRiwweEZGLAotMHhCNywweEVELDB4OUYsMHg2RiwweERELDB4RjcsMHg2OCwweERCLCAweDM3LDB4QjMsMHg2QywweERCLDB4MzYsMHhDRCwweEIzLDB4N0YsCi0weEZGLDB4N0YsMHhGNSwweDZGLDB4RkQsMHhFRiwweDc5LDB4M0QsIDB4RjcsMHg5MywweEU0LDB4N0EsMHg5RSwweEFELDB4RUEsMHg3QSwKLTB4OUUsMHhGNywweEJELDB4RUYsMHhGRiwweEZGLDB4RkYsMHg3NiwgMHg3RiwweEZCLDB4QzYsMHhGRiwweEJCLDB4RUYsMHhEQSwweEZFLAotMHhGRCwweEJGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLCAweEZGLDB4RkYsMHhGQiwweEZGLDB4QTUsMHhGRiwweEZELDB4QUIsCi0weDZGLDB4NzgsMHhERSwweDE3LDB4OEYsMHg3OSwweERGLDB4RkQsIDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLDB4RkYsMHhGQiwKLTB4RkYsMHhGQiwweEZGLDB4RUYsMHhGQiwweEVGLDB4RkIsMHhGRSwgMHhGRiwweEJCLDB4REEsMHhGMywweEVGLDB4M0IsMHhDRSwweEYzLAotMHhCQywweEVGLDB4M0YsMHhDRiwweERGLDB4RkYsMHhCNywweEZGLCAweEZGLDB4RkYsMHhDRiwweDczLDB4RkYsMHhCRiwweEVGLDB4RkYsCi0weEYzLDB4RkYsMHgzRiwweENGLDB4RjMsMHhGQywweEZGLDB4M0QsIDB4Q0YsMHg5RiwweEZFLDB4MDcsMHhGRiwweEFGLDB4RUIsMHhGRSwKLTB4RkQsMHhCRiwweEVGLDB4RUIsMHhGQSwweEZGLDB4QUYsMHhFQiwgMHhGQSwweEZFLDB4QkYsMHhBRiwweEZCLDB4RkUsMHgzRiwweEZCLAotMHg5QiwweEZGLDB4N0YsMHhERiwweEZGLDB4RjMsMHhGRSwweEZGLCAweERFLDB4RjcsMHhCRiwweDdCLDB4REUsMHhGNywweEJELDB4RUYsCi0weDdCLDB4RkUsMHhGRiwweEZGLDB4REYsMHgzRiwweEZFLDB4RkYsIDB4QjcsMHhGRiwweEVGLDB4RjcsMHhGRiwweEJGLDB4RUQsMHhGRSwKLTB4REYsMHhCNywweEVELDB4RkIsMHg3RSwweERGLDB4RkYsMHhGRiwgMHhGRiwweEZELDB4NUYsMHhFRiwweEVCLDB4RkEsMHhGRSwweEY1LAotMHhCRiwweDZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZFLDB4RjgsMHhGRiwweEE4LDB4RkYsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4NkEsMHhGQiwweEI3LDB4RUYsIDB4RkIsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwKLTB4RUYsMHhGQiwweEZGLDB4RTAsMHhGRiwweEZGLDB4RkQsMHg3RiwgMHg1QywweEQ3LDB4N0QsMHhERiwweEYzLDB4NUMsMHhGNSwweENELAotMHg3MywweDVFLDB4RDcsMHhCNSwweEZELDB4N0YsMHhFRiwweEZGLCAweERCLDB4RkYsMHhGRiwweEUyLDB4RjgsMHhCRSwweDJGLDB4OEYsCi0weEU3LDB4RjgsMHhCRSwweDZCLDB4RTIsMHhGOCwweEJFLDB4MkYsIDB4OEIsMHhFMiwweEY5LDB4RkUsMHg3RiwweEU3LDB4RkYsMHhENywKLTB4RjUsMHhGRCwweDdGLDB4RkYsMHhGNywweEY1LDB4RkQsMHg3RiwgMHhENywweEY1LDB4RkQsMHg3RiwweDVGLDB4RDcsMHhGNSwweEZGLAotMHhGRiwweEZGLDB4OEYsMHhGRiwweEFGLDB4RUIsMHhGQSwweEZGLCAweEZGLDB4QkYsMHhFQiwweEZBLDB4RkYsMHgyRiwweEVCLDB4RkEsCi0weEZFLDB4QkYsMHhBRiwweEVCLDB4RkYsMHhGRiwweEZFLDB4NUYsIDB4RkYsMHg1RiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhENywKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEJGLDB4RkUsMHhCNywweEZELAotMHhGRiwweDdFLDB4REYsMHhGNywweEFELDB4RkYsMHg3RiwweEY3LCAweEZELDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsCi0weEY2LDB4N0YsMHhGRiwweEZGLDB4RkYsMHhEQiwweEY2LDB4RkMsIDB4QUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVDLDB4QkYsMHhGRiwgMHhBRiwweEVCLDB4RkEsMHhGNiwweEFCLDB4OEYsMHhFQiwweEZBLAotMHhGNywweEE1LDB4RUIsMHhGQSwweEJFLDB4QkYsMHhBRiwweEVCLCAweEZBLDB4RkYsMHg2RCwweEZGLDB4RkYsMHg3RiwweERGLDB4MzMsCi0weERELDB4RkYsMHg3RiwweEZFLDB4RjcsMHhGQywweDdGLDB4RkIsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhBOSwKLTB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhERiwgMHhGRiwweEZGLDB4RUYsMHhFRiwweEZELDB4RkYsMHg3RiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRSwweEE3LDB4RkYsMHhGRiwweEZGLCAweDc3LDB4REYsMHhGNywweEZELDB4OUYsMHg3RiwweEZFLDB4NzcsCi0weEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhBRiwweEJGLDB4QUYsMHhGRiwweEY5LDB4QkUsMHhCRiwKLTB4OEYsMHhGQiwweEZFLDB4RkUsMHhFRiwweEZCLDB4RkUsMHhGRiwgMHhCRiwweEVGLDB4RkIsMHhGRiwweEZGLDB4RkQsMHhERiwweDZGLAotMHhFRiwweEZGLDB4N0YsMHhGRiwweEJGLDB4QkYsMHhERiwweEZGLCAweEZDLDB4RkYsMHhERiwweEY3LDB4RkQsMHhFRiwweDdGLDB4REYsCi0weEZGLDB4RkYsMHhGRiwweDNGLDB4RjYsMHhGRiwweENGLDB4RkYsIDB4REIsMHhGQiwweEY3LDB4RkYsMHhFQiwweDdBLDB4RkYsMHhGRiwKLTB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRSwgMHg2RCwweEZELDB4RkYsMHg1RiwweEZCLDB4RkYsMHhGRiwweEY3LAotMHhGRiwweDVGLDB4RjUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RjgsMHhGRiwweEZCLDB4RkYsCi0weEZGLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEU3LDB4RjYsIDB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwKLTB4RkYsMHhDOSwweEZGLDB4RkYsMHhGRiwweEJELDB4RkYsMHhCRiwgMHhBRiwweEVGLDB4RUYsMHgzRiwweEQxLDB4RkMsMHg3RiwweEZCLAotMHhDNywweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFMywweEZGLCAweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwweDc3LDB4RkYsCi0weERGLDB4QjcsMHhGRCwweEY3LDB4RkQsMHhGNywweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4NTcsMHhGRiwweEY3LDB4QTUsMHhGRCwKLTB4M0YsMHhERiwweEJGLDB4QkYsMHhGRSwweDdGLDB4RkYsMHhGRiwgMHhGRiwweERGLDB4RkEsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZFLAotMHg4NywweEZGLDB4RTksMHhGRiwweEZFLDB4RUYsMHhCRiwweEVGLCAweEZFLDB4RkUsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkEsMHg5RiwweEZGLDB4M0YsIDB4RkYsMHhGRCwweEZELDB4NTcsMHhERiwweEZELDB4RjMsMHhGRiwKLTB4REYsMHhGRCwweEZGLDB4NUYsMHhERiwweEY1LDB4RkQsMHhGRiwgMHhGRiwweEY5LDB4OEYsMHhGRiwweEZGLDB4RkYsMHhFRSwweDdGLAotMHhGRiwweEZGLDB4QkYsMHg1RSwweEZFLDB4RUMsMHhGQiwweDNGLCAweDdGLDB4OUYsMHhFRiwweEY5LDB4RkYsMHhGRiwweENELDB4NkIsCi0weEZGLDB4RkYsMHhGRiwweEM1LDB4RjMsMHhGQywweEZBLDB4MzgsIDB4RkYsMHhBRiwweDNGLDB4RUUsMHg3RiwweDlGLDB4RkYsMHhEOSwKLTB4RkYsMHhGRiwweEZELDB4N0EsMHhGNywweEZGLDB4RjMsMHhGRiwgMHhBRiwweDZGLDB4REIsMHhGMiwweEI5LDB4RTksMHhGQiwweEZGLAotMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZCLCAweEM1LDB4QkYsMHhGRiwweEVGLDB4RkYsMHg1RSwweEI3LDB4QUQsCi0weENELDB4NzksMHg3QywweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweDkzLDB4RkYsMHhFRiwKLTB4RUEsMHhGRSwweEJGLDB4RUYsMHg1QiwweEQyLDB4Q0QsMHhGNSwgMHg2RCwweDc3LDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLAotMHhGRiwweEZGLDB4NjYsMHhGRiwweEQ1LDB4NjUsMHg3RCwweDVGLCAweDc1LDB4OUQsMHg2NSwweDdGLDB4RDYsMHhGQiwweDRGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY2LDB4QzcsIDB4RkYsMHhCRiwweEVGLDB4RkEsMHhGRSwweEZGLDB4QkYsMHhFQiwKLTB4RkYsMHhERiwweEZGLDB4N0UsMHhGRiwweEZGLDB4RUYsMHhGRCwgMHg3RSwweEQ3LDB4RkYsMHg3OCwweERGLDB4RkYsMHg1RiwweERGLAotMHhGNSwweEJGLDB4N0YsMHhERiwweEM1LDB4RkYsMHgzRiwweEY2LCAweDdFLDB4RkYsMHgwRiwweEVGLDB4RjIsMHgzRSwweEJGLDB4RkYsCi0weEZCLDB4M0YsMHhGRiwweEZCLDB4N0YsMHhGRiwweEIzLDB4RkUsIDB4RkIsMHhGNiwweEZELDB4RkYsMHhEQSwweEY3LDB4RkQsMHhGRiwKLTB4N0YsMHhERiwweEY3LDB4QkYsMHhGRiwweEZBLDB4N0YsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHg5RiwweEZGLDB4RjMsMHhEQywweEY5LAotMHhCRiwweENFLDB4RTcsMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LCAweEZGLDB4RkYsMHhFMiwweDdGLDB4RkUsMHhGRiwweEJGLDB4RUYsCi0weEVCLDB4RkEsMHhGRiwweDlGLDB4NjcsMHgxRSwweEZGLDB4OEYsIDB4RTcsMHhGOCwweEZFLDB4N0YsMHg4RiwweEVGLDB4RkYsMHhCRCwKLTB4QkYsMHhGRiwweEZCLDB4RkYsMHhGRiwweERGLDB4RjcsMHhGRiwgMHhGQywweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRCwweEIzLDB4RkYsMHhGRiwweEVGLCAweEZGLDB4RkYsMHhCRiwweEVELDB4RkYsMHhGQiwweEVFLDB4RkUsCi0weEZGLDB4RkYsMHhFRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhCNSwweEZGLDB4QjcsMHhGRCwweEZELDB4NkUsMHhGRiwKLTB4RkYsMHhGRSwweEZELDB4MkYsMHhEOCwweEZFLDB4QkYsMHg4RiwgMHhFQiwweEY5LDB4RkUsMHgzRiwweEZGLDB4RkEsMHhDRiwweEZGLAotMHhFNywweEQ5LDB4RkEsMHhCRiwweERGLDB4NzcsMHhGQywweEZCLCAweDNGLDB4QUIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsCi0weEZGLDB4RkYsMHhFRSwweDFGLDB4RkYsMHhERiwweEY3LDB4RkYsIDB4RkYsMHhGRiwweDVGLDB4OTcsMHgzNSwweEJGLDB4NUUsMHhGRSwKLTB4QkYsMHhFRiwweEZGLDB4RjcsMHhGRCwweEZGLDB4RkYsMHhGQSwgMHhCRiwweEZGLDB4QkUsMHg2RiwweDlGLDB4RTcsMHhGOCwweEJFLAotMHgyRiwweDhCLDB4NjYsMHg5NCwweDdELDB4OUQsMHhFNywweEY5LCAweEZFLDB4N0YsMHg5RiwweEU3LDB4RjEsMHg3RiwweEZGLDB4RkYsCi0weEZGLDB4RjcsMHhGNSwweEZELDB4N0YsMHg1RiwweEZCLDB4RkQsIDB4OUUsMHhGRiwweEZCLDB4RkUsMHhGRiwweEZGLDB4RUYsMHhGRiwKLTB4RkYsMHhBMCwweEZGLDB4RkYsMHhGRiwweEJGLDB4RUYsMHhFQiwgMHhGQSwweEZFLDB4QkYsMHhCNywweEY3LDB4RjcsMHhGRiwweEZGLAotMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERCwweEZGLCAweEZELDB4RkYsMHhGRiwweEZGLDB4RDcsMHhGRiwweEZGLDB4RkYsCi0weDdGLDB4RjUsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsIDB4QkYsMHhGRiwweEZGLDB4QUIsMHhGRSwweEZCLDB4RkUsMHhGRiwKLTB4RjcsMHhBRiwweEZGLDB4RkYsMHhERSwweEY3LDB4RUIsMHg1RiwgMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGRiwweEZGLAotMHhCMywweEZGLDB4QzksMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLCAweEQ2LDB4RkYsMHhGRiwweENCLDB4RkYsMHhGRiwweERGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkMsMHg4RiwweEZGLDB4QkEsIDB4QkUsMHhCRiwweEFGLDB4RUIsMHg3OCwweEZFLDB4QjcsMHhBRCwKLTB4M0EsMHhGRSwweEI3LDB4QUYsMHhFQiwweDdBLDB4RkUsMHhCRiwgMHhBRiwweEZGLDB4OUYsMHhGRiwweEZGLDB4REYsMHhGQywweEZGLAotMHhGRiwweEZFLDB4QzMsMHhGRSwweEZGLDB4RkYsMHgzMywweEZDLCAweEZGLDB4QkYsMHhERiwweEYzLDB4RkYsMHhGRiwweEJCLDB4OUYsCi0weEZGLDB4RkYsMHhGRiwweEVCLDB4REYsMHhGRiwweEZGLDB4QUYsIDB4RjcsMHg2RiwweEY5LDB4QkYsMHhFRiwweEZELDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RTMsMHg3RiwweEZGLDB4RkYsMHhGRiwgMHhGQiwweEZGLDB4RkYsMHhCRiwweEZELDB4RkIsMHhGNywweEZGLAotMHhERiwweEY3LDB4RkYsMHhGRSwweEVGLDB4NUYsMHhCRCwweEZGLCAweEZBLDB4RkYsMHhGOCwweEZGLDB4QkYsMHhBRiwweEZCLDB4RkUsCi0weEZFLDB4M0YsMHhFRiwweEU4LDB4RkYsMHhERiwweEYzLDB4RkQsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVELDB4RkYsMHhGQiwKLTB4RkQsMHhGRiwweEFGLDB4RkYsMHhGRiwweEZFLDB4RkUsMHhCRiwgMHhEQiwweEZGLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhERiwweEZGLAotMHhGRCwweEZGLDB4Q0IsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEJGLDB4NkYsMHhGRiwweDdGLDB4QjcsMHhCMywweEZGLDB4RkYsCi0weERGLDB4RkYsMHhGQiwweEVGLDB4RkYsMHhGRiwweEZGLDB4MDcsIDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEVELDB4RkYsMHhGNSwKLTB4N0MsMHhGRiwweDdGLDB4RkUsMHhGRiwweEZGLDB4RUYsMHhDRiwgMHhGRiwweEZCLDB4RkYsMHhGRiwweDJGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEYzLDB4RkYsMHhGQiwweEZGLDB4RkUsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsCi0weEZELDB4MUIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZFLDB4N0MsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4QkYsMHg3RiwgMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhEQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELCAweEZGLDB4RkYsMHhGMCwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLDB4REYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4QkYsMHhGRSwKLTB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEVGLDB4RkUsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RUYsMHhGQSwweEI1LDB4RkYsMHhGRiwweEZGLCAweEY3LDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLDB4RkIsCi0weEZDLDB4RkYsMHhGRiwweEZFLDB4RkYsMHg3RiwweERGLDB4QkYsIDB4RkYsMHhDQiwweEJGLDB4RjksMHhGRSwweDdGLDB4OUYsMHhFNywKLTB4RjksMHhGRSwweDdGLDB4OTcsMHhFMSwweEZFLDB4NzksMHg5RiwgMHhFNywweEZELDB4RkUsMHg3RiwweERGLDB4RkUsMHgzNywweEZGLAotMHhGQiwweERFLDB4REUsMHhCRCwweEVGLDB4RjMsMHhGRSwweEZCLCAweEFGLDB4RUIsMHhGRSwweEZGLDB4RkYsMHhDRiwweEZGLDB4RkUsCi0weEZGLDB4QkYsMHhGRiwweDhGLDB4RkYsMHhFRiwweEZCLDB4RkUsIDB4RkYsMHhCRiwweEU3LDB4RjksMHg1RSwweDdGLDB4RUYsMHhGQiwKLTB4REEsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGRCwgMHgxRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLAotMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RjcsMHhGQiwweDdGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkMsMHgzRiwweEZGLDB4QkYsCi0weEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweDdCLDB4N0YsIDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEI1LDB4RUYsMHhGQiwKLTB4QkYsMHhGQSwweDdGLDB4RkMsMHhGRiwweDNGLDB4Q0YsMHhGMywgMHhGQywweEZGLDB4M0YsMHhDRiwweEJDLDB4RkYsMHgzRiwweEVGLAotMHhGMywweEZDLDB4RkUsMHgzRiwweENGLDB4RkYsMHhFRSwweEVGLCAweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweDZBLDB4RDcsCi0weEI3LDB4RkIsMHhGOCwweEZGLDB4QjcsMHhFRiwweEJBLDB4RkUsIDB4RkYsMHhCRiwweDdGLDB4RTksMHhGRiwweEY5LDB4N0UsMHg1RiwKLTB4OTcsMHhFNSwweEY5LDB4RkUsMHg3RiwweEJGLDB4RjksMHg3RSwgMHg1RiwweDlGLDB4RTUsMHhGQiwweEZFLDB4NUYsMHhCNywweEZGLAotMHhBMywweEZGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LCAweEZELDB4RkYsMHg1RSwweEY3LDB4N0QsMHhGRiwweDc3LDB4REYsCi0weEY3LDB4RkQsMHhGRiwweDdGLDB4RkYsMHhENywweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweERGLDB4RkIsMHg3RiwKLTB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRSwweEZCLDB4RkYsMHhGRiwgMHhCRiwweEZFLDB4OEYsMHhGRiwweERGLDB4RjcsMHhGRCwweEZELAotMHg3RiwweERGLDB4RjcsMHhGRCwweDNFLDB4REYsMHhGNSwweEJELCAweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGNywweEZGLDB4OUYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRCwweEZGLDB4QkUsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkQsMHgzRiwweEZGLDB4REYsMHhGNywgMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwweENGLAotMHg3NywweEZDLDB4RkYsMHg1RiwweERGLDB4RjcsMHhGRCwweEZGLCAweEY0LDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEVFLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhFRCwweEZCLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RTksMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhEMywweEZGLDB4RkYsCi0weEJGLDB4M0YsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RjMsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGNywgMHhGRiwweEZGLDB4RkYsMHhGRiwweDE3LDB4RkYsMHhGRiwweEZGLAotMHhERiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweERGLDB4REYsMHhGRiwweEZELDB4RkYsMHhGRiwweERGLDB4RjcsCi0weEZGLDB4NEYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRCwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4OUYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg3RiwweEZGLCAweEZGLDB4RkYsMHg3QSwweDNGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGMiwKLTB4N0YsMHhGRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGOCwgMHhGRSwweEZGLDB4QkYsMHhGQiwweEZFLDB4RkYsMHg4RiwweEVDLAotMHhGQiwweEZFLDB4RkYsMHhCRiwweEY4LDB4RjcsMHhGRSwweEZGLCAweEJGLDB4RUYsMHhGQiwweEZFLDB4RkQsMHhCRiwweENGLDB4RUMsCi0weEZGLDB4M0YsMHhFRiwweERCLDB4RjgsMHhGRiwweEJGLDB4Q0YsIDB4RkYsMHhGOSwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkIsMHhGRiwKLTB4RkYsMHhGRiwweEVGLDB4RkIsMHhERiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhCQiwweEZGLAotMHhFRiwweEZCLDB4RkUsMHhFRiwweEJGLDB4RUUsMHhFQiwweEZCLCAweEZFLDB4RkYsMHhFRiwweEZFLDB4RUUsMHhCRiwweEZFLDB4RUIsCi0weEZGLDB4RUYsMHhGRiwweDE3LDB4RkYsMHg3RSwweEVCLDB4QkIsIDB4RkUsMHhCRiwweEJFLDB4RkIsMHhFRiwweDVCLDB4RjcsMHhCRCwKLTB4RkIsMHhDRiwweEJGLDB4QkYsMHhCQiwweEZCLDB4N0UsMHhDQywgMHhFRiwweEZGCi0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYnVzYi5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9kYWJ1c2IuYwppbmRleCA4ZDFmOGVlLi40OGY0YjkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYnVzYi5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFidXNiLmMKQEAgLTM4LDkgKzM4LDEwIEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogCiAjaW5jbHVkZSAiZGFidXNiLmgiCi0jaW5jbHVkZSAiZGFiZmlybXdhcmUuaCIKIAogLyoKICAqIFZlcnNpb24gSW5mb3JtYXRpb24KQEAgLTI5Nyw3ICsyOTgsOCBAQAogCXJldHVybiByZXQ7CiB9CiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLXN0YXRpYyBpbnQgZGFidXNiX3dyaXRlbWVtIChwZGFidXNiX3QgcywgaW50IHBvcywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbikKK3N0YXRpYyBpbnQgZGFidXNiX3dyaXRlbWVtIChwZGFidXNiX3QgcywgaW50IHBvcywgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwKKwkJCSAgICBpbnQgbGVuKQogewogCWludCByZXQ7CiAJdW5zaWduZWQgY2hhciAqdHJhbnNmZXJfYnVmZmVyID0gIGttYWxsb2MgKGxlbiwgR0ZQX0tFUk5FTCk7CkBAIC0zMjQsMjQgKzMyNiwzNSBAQAogc3RhdGljIGludCBkYWJ1c2JfbG9hZG1lbSAocGRhYnVzYl90IHMsIGNvbnN0IGNoYXIgKmZuYW1lKQogewogCWludCByZXQ7Ci0JUElOVEVMX0hFWF9SRUNPUkQgcHRyID0gZmlybXdhcmU7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAogCWRiZygiRW50ZXIgZGFidXNiX2xvYWRtZW0gKGludGVybmFsKSIpOwogCisJcmV0ID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmdywgImRhYnVzYi9maXJtd2FyZS5mdyIsICZzLT51c2JkZXYtPmRldik7CisJaWYgKHJldCkgeworCQllcnIoIkZhaWxlZCB0byBsb2FkIFwiZGFidXNiL2Zpcm13YXJlLmZ3XCI6ICVkXG4iLCByZXQpOworCQlnb3RvIG91dDsKKwl9CiAJcmV0ID0gZGFidXNiXzgwNTFfcmVzZXQgKHMsIDEpOwotCXdoaWxlIChwdHItPlR5cGUgPT0gMCkgewogCi0JCWRiZygiZGFidXNiX3dyaXRlbWVtOiAlMDRYICVwICVkKSIsIHB0ci0+QWRkcmVzcywgcHRyLT5EYXRhLCBwdHItPkxlbmd0aCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZnctPmRhdGE7IHJlYzsKKwkgICAgIHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQlkYmcoImRhYnVzYl93cml0ZW1lbTogJTA0WCAlcCAlZCkiLCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkgICAgcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCi0JCXJldCA9IGRhYnVzYl93cml0ZW1lbSAocywgcHRyLT5BZGRyZXNzLCBwdHItPkRhdGEsIHB0ci0+TGVuZ3RoKTsKKwkJcmV0ID0gZGFidXNiX3dyaXRlbWVtKHMsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksIHJlYy0+ZGF0YSwKKwkJCQkgICAgICAgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKIAkJaWYgKHJldCA8IDApIHsKLQkJCWVycigiZGFidXNiX3dyaXRlbWVtIGZhaWxlZCAoJWQgJTA0WCAlcCAlZCkiLCByZXQsIHB0ci0+QWRkcmVzcywgcHRyLT5EYXRhLCBwdHItPkxlbmd0aCk7CisJCQllcnIoImRhYnVzYl93cml0ZW1lbSBmYWlsZWQgKCVkICUwNFggJXAgJWQpIiwgcmV0LAorCQkJICAgIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksIHJlYy0+ZGF0YSwKKwkJCSAgICBiZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCQkJYnJlYWs7CiAJCX0KLQkJcHRyKys7CiAJfQogCXJldCA9IGRhYnVzYl84MDUxX3Jlc2V0IChzLCAwKTsKLQorCXJlbGVhc2VfZmlybXdhcmUoZncpOworIG91dDoKIAlkYmcoImRhYnVzYl9sb2FkbWVtOiBleGl0Iik7CiAKIAlyZXR1cm4gcmV0OwpAQCAtMzc2LDkgKzM4OSw5IEBACiBzdGF0aWMgaW50IGRhYnVzYl9mcGdhX2Rvd25sb2FkIChwZGFidXNiX3QgcywgY29uc3QgY2hhciAqZm5hbWUpCiB7CiAJcGJ1bGtfdHJhbnNmZXJfdCBiID0ga21hbGxvYyAoc2l6ZW9mIChidWxrX3RyYW5zZmVyX3QpLCBHRlBfS0VSTkVMKTsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCXVuc2lnbmVkIGludCBibGVuLCBuOwogCWludCByZXQ7Ci0JdW5zaWduZWQgY2hhciAqYnVmID0gYml0c3RyZWFtOwogCiAJZGJnKCJFbnRlciBkYWJ1c2JfZnBnYV9kb3dubG9hZCAoaW50ZXJuYWwpIik7CiAKQEAgLTM4NywxMCArNDAwLDE2IEBACiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAorCXJldCA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCAiZGFidXNiL2JpdHN0cmVhbS5iaW4iLCAmcy0+dXNiZGV2LT5kZXYpOworCWlmIChyZXQpIHsKKwkJZXJyKCJGYWlsZWQgdG8gbG9hZCBcImRhYnVzYi9iaXRzdHJlYW0uYmluXCI6ICVkXG4iLCByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKwogCWItPnBpcGUgPSAxOwogCXJldCA9IGRhYnVzYl9mcGdhX2NsZWFyIChzLCBiKTsKIAltZGVsYXkgKDEwKTsKLQlibGVuID0gYnVmWzczXSArIChidWZbNzJdIDw8IDgpOworCWJsZW4gPSBmdy0+ZGF0YVs3M10gKyAoZnctPmRhdGFbNzJdIDw8IDgpOwogCiAJZGJnKCJCaXRzdHJlYW0gbGVuOiAlaSIsIGJsZW4pOwogCkBAIC00MDIsNyArNDIxLDcgQEAKIAlmb3IgKG4gPSAwOyBuIDw9IGJsZW4gKyA2MDsgbiArPSA2MCkgewogCQkvLyBzb21lIGNjbGtzIGZvciBzdGFydHVwCiAJCWItPnNpemUgPSA2NDsKLQkJbWVtY3B5IChiLT5kYXRhICsgNCwgYnVmICsgNzQgKyBuLCA2MCk7CisJCW1lbWNweSAoYi0+ZGF0YSArIDQsIGZ3LT5kYXRhICsgNzQgKyBuLCA2MCk7CiAJCXJldCA9IGRhYnVzYl9idWxrIChzLCBiKTsKIAkJaWYgKHJldCA8IDApIHsKIAkJCWVycigiZGFidXNiX2J1bGsgZmFpbGVkLiIpOwpAQCAtNDEzLDYgKzQzMiw3IEBACiAKIAlyZXQgPSBkYWJ1c2JfZnBnYV9pbml0IChzLCBiKTsKIAlrZnJlZSAoYik7CisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAKIAlkYmcoImV4aXQgZGFidXNiX2ZwZ2FfZG93bmxvYWQiKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9vdjc2NzAuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vb3Y3NjcwLmMKaW5kZXggMmJjNmJkYy4uZDdiZmQzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9vdjc2NzAuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL292NzY3MC5jCkBAIC00MDYsOCArNDA2LDEwIEBACiAJaW50IHJldDsKIAogCXJldCA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjLCByZWcpOwotCWlmIChyZXQgPj0gMCkKKwlpZiAocmV0ID49IDApIHsKIAkJKnZhbHVlID0gKHVuc2lnbmVkIGNoYXIpIHJldDsKKwkJcmV0ID0gMDsKKwl9CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby91c2J2aWRlby92aWNhbS5jIGIvZHJpdmVycy9tZWRpYS92aWRlby91c2J2aWRlby92aWNhbS5jCmluZGV4IDE3ZjU0MmQuLjQwZDA1M2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vdXNidmlkZW8vdmljYW0uYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL3VzYnZpZGVvL3ZpY2FtLmMKQEAgLTQzLDYgKzQzLDggQEAKICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAjaW5jbHVkZSAidXNidmlkZW8uaCIKIAogLy8gI2RlZmluZSBWSUNBTV9ERUJVRwpAQCAtNzAsMjg0ICs3Miw2IEBACiAKICNkZWZpbmUgVklDQU1fSEVBREVSX1NJWkUgICAgICAgNjQKIAotLyogTm90IHN1cmUgd2hhdCBhbGwgdGhlIGJ5dGVzIGluIHRoZXNlIGNoYXIKLSAqIGFycmF5cyBkbywgYnV0IHRoZXkncmUgbmVjZXNzYXJ5IHRvIG1ha2UKLSAqIHRoZSBjYW1lcmEgd29yay4KLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzZXR1cDFbXSA9IHsKLQkweEI2LCAweEMzLCAweDFGLCAweDAwLCAweDAyLCAweDY0LCAweEU3LCAweDY3LAotCTB4RkQsIDB4RkYsIDB4MEUsIDB4QzAsIDB4RTcsIDB4MDksIDB4REUsIDB4MDAsCi0JMHg4RSwgMHgwMCwgMHhDMCwgMHgwOSwgMHg0MCwgMHgwMywgMHhDMCwgMHgxNywKLQkweDQ0LCAweDAzLCAweDRCLCAweEFGLCAweEMwLCAweDA3LCAweDAwLCAweDAwLAotCTB4NEIsIDB4QUYsIDB4OTcsIDB4Q0YsIDB4MDAsIDB4MDAKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNldHVwMltdID0gewotCTB4QjYsIDB4QzMsIDB4MDMsIDB4MDAsIDB4MDMsIDB4NjQsIDB4MTgsIDB4MDAsCi0JMHgwMCwgMHgwMAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc2V0dXAzW10gPSB7Ci0JMHhCNiwgMHhDMywgMHgwMSwgMHgwMCwgMHgwNiwgMHg2NCwgMHgwMCwgMHgwMAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc2V0dXA0W10gPSB7Ci0JMHhCNiwgMHhDMywgMHg4RiwgMHgwNiwgMHgwMiwgMHg2NCwgMHhFNywgMHgwNywKLQkweDAwLCAweDAwLCAweDA4LCAweEMwLCAweEU3LCAweDA3LCAweDAwLCAweDAwLAotCTB4M0UsIDB4QzAsIDB4RTcsIDB4MDcsIDB4NTQsIDB4MDEsIDB4QUEsIDB4MDAsCi0JMHhFNywgMHgwNywgMHhDOCwgMHgwNSwgMHhCNiwgMHgwMCwgMHhFNywgMHgwNywKLQkweDQyLCAweDAxLCAweEQyLCAweDAwLCAweEU3LCAweDA3LCAweDdDLCAweDAwLAotCTB4MTYsIDB4MDAsIDB4RTcsIDB4MDcsIDB4NTYsIDB4MDAsIDB4MTgsIDB4MDAsCi0JMHhFNywgMHgwNywgMHgwNiwgMHgwMCwgMHg5MiwgMHhDMCwgMHhFNywgMHgwNywKLQkweDAwLCAweDAwLCAweDFFLCAweEMwLCAweEU3LCAweDA3LCAweEZGLCAweEZGLAotCTB4MjIsIDB4QzAsIDB4RTcsIDB4MDcsIDB4MDQsIDB4MDAsIDB4MjQsIDB4QzAsCi0JMHhFNywgMHgwNywgMHhFQywgMHgyNywgMHgyOCwgMHhDMCwgMHhFNywgMHgwNywKLQkweDE2LCAweDAxLCAweDhFLCAweDAwLCAweEU3LCAweDg3LCAweDAxLCAweDAwLAotCTB4MEUsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4RDcsIDB4MDksIDB4MDAsIDB4QzAsCi0JMHhFNywgMHg3NywgMHgwMSwgMHgwMCwgMHg5MiwgMHhDMCwgMHgwOSwgMHhDMSwKLQkweEU3LCAweDA5LCAweEZFLCAweDA1LCAweDI0LCAweDAxLCAweEU3LCAweDA5LAotCTB4MDQsIDB4MDYsIDB4MjYsIDB4MDEsIDB4RTcsIDB4MDcsIDB4MDcsIDB4MDAsCi0JMHg5MiwgMHhDMCwgMHhFNywgMHgwNSwgMHgwMCwgMHhDMCwgMHhDMCwgMHhERiwKLQkweDk3LCAweENGLCAweDE3LCAweDAwLCAweDU3LCAweDAwLCAweDE3LCAweDAyLAotCTB4RDcsIDB4MDksIDB4MDAsIDB4QzAsIDB4RTcsIDB4NzcsIDB4MDEsIDB4MDAsCi0JMHg5MiwgMHhDMCwgMHgwQSwgMHhDMSwgMHhFNywgMHg1NywgMHhGRiwgMHhGRiwKLQkweEZBLCAweDA1LCAweDBELCAweEMwLCAweEU3LCAweDU3LCAweDAwLCAweDAwLAotCTB4RkEsIDB4MDUsIDB4MEYsIDB4QzAsIDB4OUYsIDB4QUYsIDB4QzYsIDB4MDAsCi0JMHhFNywgMHgwNSwgMHgwMCwgMHhDMCwgMHhDOCwgMHgwNSwgMHhDMSwgMHgwNSwKLQkweEMwLCAweDA1LCAweEMwLCAweERGLCAweDk3LCAweENGLCAweDI3LCAweERBLAotCTB4RkEsIDB4MDUsIDB4RUYsIDB4MDcsIDB4MDEsIDB4MDAsIDB4MEIsIDB4MDYsCi0JMHg3MywgMHhDRiwgMHg5RiwgMHhBRiwgMHg3OCwgMHgwMSwgMHg5RiwgMHhBRiwKLQkweDFBLCAweDAzLCAweDZFLCAweENGLCAweEU3LCAweDA5LCAweEZDLCAweDA1LAotCTB4MjQsIDB4MDEsIDB4RTcsIDB4MDksIDB4MDIsIDB4MDYsIDB4MjYsIDB4MDEsCi0JMHhFNywgMHgwNywgMHgwNywgMHgwMCwgMHg5MiwgMHhDMCwgMHhFNywgMHgwOSwKLQkweEZDLCAweDA1LCAweEZFLCAweDA1LCAweEU3LCAweDA5LCAweDAyLCAweDA2LAotCTB4MDQsIDB4MDYsIDB4RTcsIDB4MDksIDB4MDAsIDB4MDYsIDB4RkMsIDB4MDUsCi0JMHhFNywgMHgwOSwgMHhGRSwgMHgwNSwgMHgwMCwgMHgwNiwgMHgyNywgMHhEQSwKLQkweEZBLCAweDA1LCAweEU3LCAweDU3LCAweDAxLCAweDAwLCAweEZBLCAweDA1LAotCTB4MDIsIDB4Q0EsIDB4MDQsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4OUYsIDB4QUYsCi0JMHg2NiwgMHgwNSwgMHg5NywgMHhDRiwgMHhFNywgMHgwNywgMHg0MCwgMHgwMCwKLQkweDAyLCAweDA2LCAweEM4LCAweDA5LCAweEZDLCAweDA1LCAweDlGLCAweEFGLAotCTB4REEsIDB4MDIsIDB4OTcsIDB4Q0YsIDB4Q0YsIDB4MTcsIDB4MDIsIDB4MDAsCi0JMHhFRiwgMHg1NywgMHg4MSwgMHgwMCwgMHgwOSwgMHgwNiwgMHg5RiwgMHhBMCwKLQkweEI2LCAweDAxLCAweEVGLCAweDU3LCAweDgwLCAweDAwLCAweDA5LCAweDA2LAotCTB4OUYsIDB4QTAsIDB4NDAsIDB4MDIsIDB4RUYsIDB4NTcsIDB4MDEsIDB4MDAsCi0JMHgwQiwgMHgwNiwgMHg5RiwgMHhBMCwgMHg0NiwgMHgwMywgMHhFNywgMHgwNywKLQkweDAxLCAweDAwLCAweDBBLCAweEMwLCAweDQ2LCAweEFGLCAweDQ3LCAweEFGLAotCTB4OUYsIDB4QUYsIDB4NDAsIDB4MDIsIDB4RTcsIDB4MDcsIDB4MkUsIDB4MDAsCi0JMHgwQSwgMHhDMCwgMHhFRiwgMHg4NywgMHg4MCwgMHgwMCwgMHgwOSwgMHgwNiwKLQkweDk3LCAweENGLCAweDAwLCAweDBFLCAweDAxLCAweDAwLCAweEMwLCAweDU3LAotCTB4NTEsIDB4MDAsIDB4OUYsIDB4QzAsIDB4OUUsIDB4MDIsIDB4QzAsIDB4NTcsCi0JMHg1MCwgMHgwMCwgMHgyMCwgMHhDMCwgMHhDMCwgMHg1NywgMHg1NSwgMHgwMCwKLQkweDEyLCAweEMwLCAweEMwLCAweDU3LCAweDU2LCAweDAwLCAweDlGLCAweEMwLAotCTB4NzIsIDB4MDIsIDB4OUYsIDB4Q0YsIDB4RDYsIDB4MDIsIDB4QzEsIDB4MEIsCi0JMHgwOCwgMHgwNiwgMHgwMSwgMHhEMCwgMHg2RiwgMHg5MCwgMHgwOCwgMHgwNiwKLQkweEMwLCAweDA3LCAweDA4LCAweDAwLCAweEMxLCAweDBCLCAweDA4LCAweDA2LAotCTB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4OTcsIDB4Q0YsIDB4MkYsIDB4MEUsCi0JMHgwMiwgMHgwMCwgMHgwOCwgMHgwNiwgMHhDMCwgMHgwNywgMHgwOCwgMHgwMCwKLQkweEMxLCAweDBCLCAweDA4LCAweDA2LCAweDlGLCAweEFGLCAweDI4LCAweDA1LAotCTB4OUYsIDB4Q0YsIDB4RDYsIDB4MDIsIDB4MkYsIDB4MEUsIDB4MDIsIDB4MDAsCi0JMHgwOSwgMHgwNiwgMHhFRiwgMHg4NywgMHg4MCwgMHgwMCwgMHgwOSwgMHgwNiwKLQkweDlGLCAweENGLCAweEQ2LCAweDAyLCAweEVGLCAweDY3LCAweDdGLCAweEZGLAotCTB4MDksIDB4MDYsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RkQsIDB4MjIsIDB4QzAsCi0JMHhFNywgMHg2NywgMHhFRiwgMHhGRiwgMHgyNCwgMHhDMCwgMHhFNywgMHg4NywKLQkweDEwLCAweDAwLCAweDI4LCAweEMwLCAweDlGLCAweEFGLCAweEI4LCAweDA1LAotCTB4RTcsIDB4ODcsIDB4RTAsIDB4MjEsIDB4MjQsIDB4QzAsIDB4OUYsIDB4QUYsCi0JMHhBOCwgMHgwNSwgMHhFNywgMHg4NywgMHgwOCwgMHgwMCwgMHgyNCwgMHhDMCwKLQkweEU3LCAweDY3LCAweERGLCAweEZGLCAweDI0LCAweEMwLCAweEM4LCAweDA3LAotCTB4MEEsIDB4MDAsIDB4QzAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4QzEsIDB4MDcsCi0JMHgwMSwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHg5RiwgMHhBRiwKLQkweEI4LCAweDA1LCAweEMwLCAweDA3LCAweDlFLCAweDAwLCAweDlGLCAweEFGLAotCTB4NDQsIDB4MDUsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RkUsIDB4MjQsIDB4QzAsCi0JMHhDMCwgMHgwOSwgMHgyMCwgMHhDMCwgMHhFNywgMHg4NywgMHgwMCwgMHgwMSwKLQkweDI0LCAweEMwLCAweEMwLCAweDc3LCAweDAwLCAweDAyLCAweDBGLCAweEMxLAotCTB4RTcsIDB4NjcsIDB4RjcsIDB4RkYsIDB4MjQsIDB4QzAsIDB4RTcsIDB4NjcsCi0JMHhGNywgMHhGRiwgMHgyNCwgMHhDMCwgMHhFNywgMHg4NywgMHgwOCwgMHgwMCwKLQkweDI0LCAweEMwLCAweDA4LCAweERBLCAweDVFLCAweEMxLCAweEVGLCAweDA3LAotCTB4ODAsIDB4MDAsIDB4MDksIDB4MDYsIDB4OTcsIDB4Q0YsIDB4RUYsIDB4MDcsCi0JMHgwMSwgMHgwMCwgMHgwQSwgMHgwNiwgMHg5NywgMHhDRiwgMHhFRiwgMHgwNywKLQkweDAwLCAweDAwLCAweDBCLCAweDA2LCAweEVGLCAweDA3LCAweDAwLCAweDAwLAotCTB4MEEsIDB4MDYsIDB4RUYsIDB4NjcsIDB4N0YsIDB4RkYsIDB4MDksIDB4MDYsCi0JMHhFRiwgMHgwNywgMHgwMCwgMHgwMCwgMHgwRCwgMHgwNiwgMHhFNywgMHg2NywKLQkweEVGLCAweEZGLCAweDI4LCAweEMwLCAweEU3LCAweDY3LCAweDE3LCAweEQ4LAotCTB4MjQsIDB4QzAsIDB4RTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MUUsIDB4QzAsCi0JMHhFNywgMHgwNywgMHhGRiwgMHhGRiwgMHgyMiwgMHhDMCwgMHg5NywgMHhDRiwKLQkweEM4LCAweDA3LCAweDBFLCAweDA2LCAweDlGLCAweEFGLCAweERBLCAweDAyLAotCTB4RTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4RjIsIDB4MDUsIDB4RTcsIDB4MDcsCi0JMHgxMCwgMHgwMCwgMHhGNiwgMHgwNSwgMHhFNywgMHgwNywgMHgwRSwgMHgwNiwKLQkweEY0LCAweDA1LCAweEU3LCAweDA3LCAweEQ2LCAweDAyLCAweEY4LCAweDA1LAotCTB4QzgsIDB4MDcsIDB4RjIsIDB4MDUsIDB4QzEsIDB4MDcsIDB4MDAsIDB4ODAsCi0JMHg1MCwgMHhBRiwgMHg5NywgMHhDRiwgMHgyRiwgMHgwQywgMHgwMiwgMHgwMCwKLQkweDA3LCAweDA2LCAweDJGLCAweDBDLCAweDA0LCAweDAwLCAweDA2LCAweDA2LAotCTB4RTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4RjIsIDB4MDUsIDB4RTcsIDB4MDcsCi0JMHgxMCwgMHgwMCwgMHhGNiwgMHgwNSwgMHhFNywgMHgwNywgMHhFMiwgMHgwNSwKLQkweEY0LCAweDA1LCAweEU3LCAweDA3LCAweENFLCAweDAyLCAweEY4LCAweDA1LAotCTB4QzgsIDB4MDcsIDB4RjIsIDB4MDUsIDB4QzEsIDB4MDcsIDB4MDAsIDB4ODAsCi0JMHg1MSwgMHhBRiwgMHg5NywgMHhDRiwgMHg5RiwgMHhBRiwgMHg2NiwgMHgwNCwKLQkweDlGLCAweEFGLCAweDFBLCAweDAzLCAweDU5LCAweEFGLCAweDk3LCAweENGLAotCTB4QzAsIDB4MDcsIDB4MEUsIDB4MDAsIDB4QzEsIDB4MEIsIDB4MEMsIDB4MDYsCi0JMHg0MSwgMHhEMSwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywKLQkweDNDLCAweDAwLCAweDlGLCAweEFGLCAweDQ0LCAweDA1LCAweDY4LCAweDAwLAotCTB4QzAsIDB4MDcsIDB4M0IsIDB4MDAsIDB4OUYsIDB4QUYsIDB4NDQsIDB4MDUsCi0JMHg2RiwgMHgwMCwgMHgwQywgMHgwNiwgMHg2OCwgMHgwMCwgMHhFMCwgMHgwNywKLQkweDA0LCAweDAxLCAweEU4LCAweDBCLCAweDBBLCAweDA2LCAweEU4LCAweDA3LAotCTB4MDAsIDB4MDAsIDB4RTAsIDB4MDcsIDB4MDAsIDB4MDIsIDB4RTAsIDB4MDcsCi0JMHhFQywgMHgwMSwgMHhFMCwgMHgwNywgMHhGQywgMHhGRiwgMHg5NywgMHhDRiwKLQkweEU3LCAweDA3LCAweEZGLCAweEZGLCAweEZBLCAweDA1LCAweEVGLCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MEIsIDB4MDYsIDB4RTcsIDB4MDcsIDB4MEUsIDB4MDYsCi0JMHgyNCwgMHgwMSwgMHhFNywgMHgwNywgMHgwRSwgMHgwNiwgMHhGRSwgMHgwNSwKLQkweEU3LCAweDA3LCAweDQwLCAweDAwLCAweDI2LCAweDAxLCAweEU3LCAweDA3LAotCTB4NDAsIDB4MDAsIDB4MDQsIDB4MDYsIDB4RTcsIDB4MDcsIDB4MDcsIDB4MDAsCi0JMHg5MiwgMHhDMCwgMHg5NywgMHhDRiwgMHhFRiwgMHgwNywgMHgwMiwgMHgwMCwKLQkweDBCLCAweDA2LCAweDlGLCAweEFGLCAweDc4LCAweDAxLCAweEVGLCAweDc3LAotCTB4ODAsIDB4MDAsIDB4MDcsIDB4MDYsIDB4OUYsIDB4QzAsIDB4MTQsIDB4MDQsCi0JMHhFRiwgMHg3NywgMHgwMSwgMHgwMCwgMHgwNywgMHgwNiwgMHgzNywgMHhDMCwKLQkweEVGLCAweDc3LCAweDAxLCAweDAwLCAweDBELCAweDA2LCAweDBGLCAweEMxLAotCTB4RUYsIDB4MDcsIDB4MDEsIDB4MDAsIDB4MEQsIDB4MDYsIDB4QzAsIDB4MDcsCi0JMHgwMiwgMHgwMCwgMHhDMSwgMHgwNywgMHgzMCwgMHgwMCwgMHg5RiwgMHhBRiwKLQkweDI4LCAweDA1LCAweEMwLCAweDA3LCAweDAxLCAweDAwLCAweEMxLCAweDA3LAotCTB4MDIsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzgsIDB4MDcsCi0JMHhGRiwgMHg0RiwgMHg5RiwgMHhBRiwgMHhBOCwgMHgwNSwgMHhDMCwgMHgwNywKLQkweDM4LCAweDAwLCAweDlGLCAweEFGLCAweDQ0LCAweDA1LCAweEMxLCAweDc3LAotCTB4MDMsIDB4MDAsIDB4MDIsIDB4QzEsIDB4MDgsIDB4REEsIDB4NzUsIDB4QzEsCi0JMHhDMSwgMHg3NywgMHgwMSwgMHgwMCwgMHgwQSwgMHhDMSwgMHhDMCwgMHgwNywKLQkweDAxLCAweDAwLCAweEMxLCAweDA3LCAweDAyLCAweDAwLCAweDlGLCAweEFGLAotCTB4MjgsIDB4MDUsIDB4RUYsIDB4MDcsIDB4MDEsIDB4MDAsIDB4MDYsIDB4MDYsCi0JMHgyQywgMHhDRiwgMHhDMCwgMHgwNywgMHgwMSwgMHgwMCwgMHhDMSwgMHgwNywKLQkweDA0LCAweDAwLCAweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEVGLCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MDYsIDB4MjIsIDB4Q0YsIDB4RUYsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHgwRCwgMHgwNiwgMHhFRiwgMHg1NywgMHgwMSwgMHgwMCwKLQkweDA2LCAweDA2LCAweDFCLCAweEMwLCAweEMwLCAweDA3LCAweDAxLCAweDAwLAotCTB4QzEsIDB4MDcsIDB4MDEsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsCi0JMHhDMCwgMHgwNywgMHgwMiwgMHgwMCwgMHhDMSwgMHgwNywgMHgzMCwgMHgwMCwKLQkweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEM4LCAweDA3LCAweEZGLCAweDRGLAotCTB4OUYsIDB4QUYsIDB4QTgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MzgsIDB4MDAsCi0JMHg5RiwgMHhBRiwgMHg0NCwgMHgwNSwgMHhDMSwgMHg2NywgMHgwMywgMHgwMCwKLQkweEMxLCAweDU3LCAweDAzLCAweDAwLCAweDAyLCAweEMwLCAweDA4LCAweERBLAotCTB4NzMsIDB4QzEsIDB4QzAsIDB4MDcsIDB4MDIsIDB4MDAsIDB4QzEsIDB4MDcsCi0JMHgxMiwgMHgwMCwgMHhFRiwgMHg1NywgMHgwMCwgMHgwMCwgMHgwNiwgMHgwNiwKLQkweDAyLCAweEMwLCAweEMxLCAweDA3LCAweDIzLCAweDAwLCAweDlGLCAweEFGLAotCTB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MTQsIDB4MDAsIDB4QzEsIDB4MEIsCi0JMHhFQSwgMHgwNSwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywKLQkweDNFLCAweDAwLCAweDlGLCAweEFGLCAweDBBLCAweDA1LCAweEU3LCAweDA5LAotCTB4RTQsIDB4MDUsIDB4RkEsIDB4MDUsIDB4MjcsIDB4RDgsIDB4RkEsIDB4MDUsCi0JMHhFNywgMHgwNywgMHgwRSwgMHgwNiwgMHhGQywgMHgwNSwgMHhFNywgMHgwNywKLQkweDRFLCAweDA2LCAweDAwLCAweDA2LCAweEU3LCAweDA3LCAweDQwLCAweDAwLAotCTB4MDIsIDB4MDYsIDB4OUYsIDB4QUYsIDB4NjYsIDB4MDUsIDB4OUYsIDB4QUYsCi0JMHhDNiwgMHgwMCwgMHg5NywgMHhDRiwgMHhDMSwgMHgwQiwgMHhFMiwgMHgwNSwKLQkweDQxLCAweEQwLCAweDAxLCAweEQyLCAweEMxLCAweDE3LCAweDIzLCAweDAwLAotCTB4OUYsIDB4QUYsIDB4REMsIDB4MDQsIDB4QzAsIDB4MDcsIDB4MDQsIDB4MDAsCi0JMHhDMSwgMHgwQiwgMHhFMywgMHgwNSwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwKLQkweEMwLCAweDA3LCAweDA2LCAweDAwLCAweEMxLCAweDA5LCAweEU2LCAweDA1LAotCTB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MDcsIDB4MDAsCi0JMHhDMSwgMHgwOSwgMHhFNiwgMHgwNSwgMHhDMSwgMHhEMSwgMHg5RiwgMHhBRiwKLQkweDI4LCAweDA1LCAweEMwLCAweDA3LCAweDBCLCAweDAwLCAweEMxLCAweDA5LAotCTB4RTgsIDB4MDUsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsCi0JMHgwQywgMHgwMCwgMHhDMSwgMHgwOSwgMHhFOCwgMHgwNSwgMHhDMSwgMHhEMSwKLQkweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEMwLCAweDA3LCAweDBELCAweDAwLAotCTB4QzEsIDB4MDcsIDB4MDksIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsCi0JMHhDMCwgMHgwNywgMHgwMywgMHgwMCwgMHhDMSwgMHgwNywgMHgzMiwgMHgwMCwKLQkweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEMwLCAweDA3LCAweDBGLCAweDAwLAotCTB4QzEsIDB4MDcsIDB4MDAsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsCi0JMHg5NywgMHhDRiwgMHhFNywgMHg2NywgMHhGRiwgMHhEOSwgMHgyNCwgMHhDMCwKLQkweEM4LCAweDA3LCAweDBBLCAweDAwLCAweDQwLCAweDAwLCAweEMwLCAweDY3LAotCTB4MDAsIDB4MDIsIDB4MjcsIDB4ODAsIDB4MjQsIDB4QzAsIDB4RTcsIDB4ODcsCi0JMHgwMCwgMHgwNCwgMHgyNCwgMHhDMCwgMHhFNywgMHg2NywgMHhGRiwgMHhGOSwKLQkweDI0LCAweEMwLCAweDAxLCAweEQyLCAweDA4LCAweERBLCAweDcyLCAweEMxLAotCTB4RTcsIDB4ODcsIDB4MDAsIDB4MjAsIDB4MjQsIDB4QzAsIDB4OTcsIDB4Q0YsCi0JMHgyNywgMHgwMCwgMHgxRSwgMHhDMCwgMHhFNywgMHg4NywgMHhGRiwgMHgwMCwKLQkweDIyLCAweEMwLCAweEU3LCAweDY3LCAweDdGLCAweEZGLCAweDI0LCAweEMwLAotCTB4RTcsIDB4ODcsIDB4ODAsIDB4MDAsIDB4MjQsIDB4QzAsIDB4RTcsIDB4ODcsCi0JMHg4MCwgMHgwMCwgMHgyNCwgMHhDMCwgMHg5NywgMHhDRiwgMHg5RiwgMHhBRiwKLQkweDBBLCAweDA1LCAweDY3LCAweDAwLCAweDFFLCAweEMwLCAweEU3LCAweDY3LAotCTB4QkYsIDB4RkYsIDB4MjQsIDB4QzAsIDB4RTcsIDB4ODcsIDB4NDAsIDB4MDAsCi0JMHgyNCwgMHhDMCwgMHhFNywgMHg4NywgMHg0MCwgMHgwMCwgMHgyNCwgMHhDMCwKLQkweDk3LCAweENGLCAweDlGLCAweEFGLCAweDBBLCAweDA1LCAweEU3LCAweDY3LAotCTB4MDAsIDB4RkYsIDB4MjIsIDB4QzAsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RkUsCi0JMHgyNCwgMHhDMCwgMHhFNywgMHg2NywgMHhGRiwgMHhGRSwgMHgyNCwgMHhDMCwKLQkweEMxLCAweDA5LCAweDIwLCAweEMwLCAweEU3LCAweDg3LCAweDAwLCAweDAxLAotCTB4MjQsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4QzAsIDB4MDcsIDB4NDAsIDB4MDAsCi0JMHhDOCwgMHgwOSwgMHhGQywgMHgwNSwgMHhFNywgMHg2NywgMHgwMCwgMHhGRiwKLQkweDIyLCAweEMwLCAweEU3LCAweDY3LCAweEZGLCAweEZFLCAweDI0LCAweEMwLAotCTB4RTcsIDB4NjcsIDB4QkYsIDB4RkYsIDB4MjQsIDB4QzAsIDB4RTcsIDB4NjcsCi0JMHhCRiwgMHhGRiwgMHgyNCwgMHhDMCwgMHgwMCwgMHhEQSwgMHhFOCwgMHgwOSwKLQkweDIwLCAweEMwLCAweEU3LCAweDg3LCAweDQwLCAweDAwLCAweDI0LCAweEMwLAotCTB4RTcsIDB4ODcsIDB4NDAsIDB4MDAsIDB4MjQsIDB4QzAsIDB4MDAsIDB4REEsCi0JMHhFOCwgMHgwOSwgMHgyMCwgMHhDMCwgMHg2RCwgMHhDMSwgMHhFNywgMHg4NywKLQkweDAwLCAweDAxLCAweDI0LCAweEMwLCAweDk3LCAweENGLCAweEU3LCAweDA3LAotCTB4MzIsIDB4MDAsIDB4MTIsIDB4QzAsIDB4RTcsIDB4NzcsIDB4MDAsIDB4ODAsCi0JMHgxMiwgMHhDMCwgMHg3QywgMHhDMCwgMHg5NywgMHhDRiwgMHhFNywgMHgwNywKLQkweDIwLCAweDRFLCAweDEyLCAweEMwLCAweEU3LCAweDc3LCAweDAwLCAweDgwLAotCTB4MTIsIDB4QzAsIDB4N0MsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4MDksIDB4MDIsCi0JMHgxOSwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMCwgMHg4MCwgMHg5NiwgMHgwOSwKLQkweDA0LCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDcsIDB4MDUsIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNldHVwNVtdID0gewotCTB4QjYsIDB4QzMsIDB4MkYsIDB4MDEsIDB4MDMsIDB4NjQsIDB4MEUsIDB4MDAsCi0JMHgxNCwgMHgwMCwgMHgxQSwgMHgwMCwgMHgyMCwgMHgwMCwgMHgyNiwgMHgwMCwKLQkweDRBLCAweDAwLCAweDY0LCAweDAwLCAweDZBLCAweDAwLCAweDkyLCAweDAwLAotCTB4OUEsIDB4MDAsIDB4QTAsIDB4MDAsIDB4QjIsIDB4MDAsIDB4QjgsIDB4MDAsCi0JMHhCRSwgMHgwMCwgMHhDMiwgMHgwMCwgMHhDOCwgMHgwMCwgMHhDRSwgMHgwMCwKLQkweERDLCAweDAwLCAweERBLCAweDAwLCAweEUyLCAweDAwLCAweEUwLCAweDAwLAotCTB4RTgsIDB4MDAsIDB4RTYsIDB4MDAsIDB4RUUsIDB4MDAsIDB4RUMsIDB4MDAsCi0JMHhGMiwgMHgwMCwgMHhGOCwgMHgwMCwgMHgwMiwgMHgwMSwgMHgwQSwgMHgwMSwKLQkweDBFLCAweDAxLCAweDEyLCAweDAxLCAweDFFLCAweDAxLCAweDIyLCAweDAxLAotCTB4MjgsIDB4MDEsIDB4MkMsIDB4MDEsIDB4MzIsIDB4MDEsIDB4MzYsIDB4MDEsCi0JMHg0NCwgMHgwMSwgMHg1MCwgMHgwMSwgMHg1RSwgMHgwMSwgMHg3MiwgMHgwMSwKLQkweDc2LCAweDAxLCAweDdBLCAweDAxLCAweDgwLCAweDAxLCAweDg4LCAweDAxLAotCTB4OEMsIDB4MDEsIDB4OTQsIDB4MDEsIDB4OUMsIDB4MDEsIDB4QTAsIDB4MDEsCi0JMHhBNCwgMHgwMSwgMHhBQSwgMHgwMSwgMHhCMCwgMHgwMSwgMHhCNCwgMHgwMSwKLQkweEJBLCAweDAxLCAweEQwLCAweDAxLCAweERBLCAweDAxLCAweEY2LCAweDAxLAotCTB4RkEsIDB4MDEsIDB4MDIsIDB4MDIsIDB4MzQsIDB4MDIsIDB4M0MsIDB4MDIsCi0JMHg0NCwgMHgwMiwgMHg0QSwgMHgwMiwgMHg1MCwgMHgwMiwgMHg1NiwgMHgwMiwKLQkweDc0LCAweDAyLCAweDc4LCAweDAyLCAweDdFLCAweDAyLCAweDg0LCAweDAyLAotCTB4OEEsIDB4MDIsIDB4ODgsIDB4MDIsIDB4OTAsIDB4MDIsIDB4OEUsIDB4MDIsCi0JMHg5NCwgMHgwMiwgMHhBMiwgMHgwMiwgMHhBOCwgMHgwMiwgMHhBRSwgMHgwMiwKLQkweEI0LCAweDAyLCAweEJBLCAweDAyLCAweEI4LCAweDAyLCAweEMwLCAweDAyLAotCTB4QkUsIDB4MDIsIDB4QzQsIDB4MDIsIDB4RDAsIDB4MDIsIDB4RDQsIDB4MDIsCi0JMHhFMCwgMHgwMiwgMHhFNiwgMHgwMiwgMHhFRSwgMHgwMiwgMHhGOCwgMHgwMiwKLQkweEZDLCAweDAyLCAweDA2LCAweDAzLCAweDFFLCAweDAzLCAweDI0LCAweDAzLAotCTB4MjgsIDB4MDMsIDB4MzAsIDB4MDMsIDB4MkUsIDB4MDMsIDB4M0MsIDB4MDMsCi0JMHg0QSwgMHgwMywgMHg0RSwgMHgwMywgMHg1NCwgMHgwMywgMHg1OCwgMHgwMywKLQkweDVFLCAweDAzLCAweDY2LCAweDAzLCAweDZFLCAweDAzLCAweDdBLCAweDAzLAotCTB4ODYsIDB4MDMsIDB4OEUsIDB4MDMsIDB4OTYsIDB4MDMsIDB4QjIsIDB4MDMsCi0JMHhCOCwgMHgwMywgMHhDNiwgMHgwMywgMHhDQywgMHgwMywgMHhENCwgMHgwMywKLQkweERBLCAweDAzLCAweEU4LCAweDAzLCAweEY0LCAweDAzLCAweEZDLCAweDAzLAotCTB4MDQsIDB4MDQsIDB4MjAsIDB4MDQsIDB4MkEsIDB4MDQsIDB4MzIsIDB4MDQsCi0JMHgzNiwgMHgwNCwgMHgzRSwgMHgwNCwgMHg0NCwgMHgwNCwgMHg0MiwgMHgwNCwKLQkweDQ4LCAweDA0LCAweDRFLCAweDA0LCAweDRDLCAweDA0LCAweDU0LCAweDA0LAotCTB4NTIsIDB4MDQsIDB4NUEsIDB4MDQsIDB4NUUsIDB4MDQsIDB4NjIsIDB4MDQsCi0JMHg2OCwgMHgwNCwgMHg3NCwgMHgwNCwgMHg3QywgMHgwNCwgMHg4MCwgMHgwNCwKLQkweDg4LCAweDA0LCAweDhDLCAweDA0LCAweDk0LCAweDA0LCAweDlBLCAweDA0LAotCTB4QTIsIDB4MDQsIDB4QTYsIDB4MDQsIDB4QUUsIDB4MDQsIDB4QjQsIDB4MDQsCi0JMHhDMCwgMHgwNCwgMHhDQywgMHgwNCwgMHhEOCwgMHgwNCwgMHgyQSwgMHgwNSwKLQkweDQ2LCAweDA1LCAweDZDLCAweDA1LCAweDAwLCAweDAwCi19OwotCiAvKiBydm1hbGxvYyAvIHJ2ZnJlZSBjb3BpZWQgZnJvbSB1c2J2aWRlby5jCiAgKgogICogTm90IHN1cmUgd2h5IHRoZXNlIGFyZSBub3QgeWV0IG5vbi1zdGF0aWNzIHdoaWNoIEkgY2FuIHJlZmVyZW5jZSB0aHJvdWdoCkBAIC00NjQsMjggKzE4OCwyOCBAQAogc3RhdGljIGludAogaW5pdGlhbGl6ZV9jYW1lcmEoc3RydWN0IHZpY2FtX2NhbWVyYSAqY2FtKQogewotCWNvbnN0IHN0cnVjdCB7Ci0JCXU4ICpkYXRhOwotCQl1MzIgc2l6ZTsKLQl9IGZpcm13YXJlW10gPSB7Ci0JCXsgLmRhdGEgPSBzZXR1cDEsIC5zaXplID0gc2l6ZW9mKHNldHVwMSkgfSwKLQkJeyAuZGF0YSA9IHNldHVwMiwgLnNpemUgPSBzaXplb2Yoc2V0dXAyKSB9LAotCQl7IC5kYXRhID0gc2V0dXAzLCAuc2l6ZSA9IHNpemVvZihzZXR1cDMpIH0sCi0JCXsgLmRhdGEgPSBzZXR1cDQsIC5zaXplID0gc2l6ZW9mKHNldHVwNCkgfSwKLQkJeyAuZGF0YSA9IHNldHVwNSwgLnNpemUgPSBzaXplb2Yoc2V0dXA1KSB9LAotCQl7IC5kYXRhID0gc2V0dXAzLCAuc2l6ZSA9IHNpemVvZihzZXR1cDMpIH0sCi0JCXsgLmRhdGEgPSBOVUxMLCAuc2l6ZSA9IDAgfQotCX07CisJaW50IGVycjsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCi0JaW50IGVyciwgaTsKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCAidmljYW0vZmlybXdhcmUuZnciLCAmY2FtLT51ZGV2LT5kZXYpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gbG9hZCBcInZpY2FtL2Zpcm13YXJlLmZ3XCI6ICVkXG4iLAorCQkgICAgICAgZXJyKTsKKwkJcmV0dXJuIGVycjsKKwl9CiAKLQlmb3IgKGkgPSAwLCBlcnIgPSAwOyBmaXJtd2FyZVtpXS5kYXRhICYmICFlcnI7IGkrKykgewotCQltZW1jcHkoY2FtLT5jbnRybGJ1ZiwgZmlybXdhcmVbaV0uZGF0YSwgZmlybXdhcmVbaV0uc2l6ZSk7CisJZm9yIChyZWMgPSAodm9pZCAqKWZ3LT5kYXRhOyByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQltZW1jcHkoY2FtLT5jbnRybGJ1ZiwgcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCiAJCWVyciA9IHNlbmRfY29udHJvbF9tc2coY2FtLCAweGZmLCAwLCAwLAotCQkJCSAgICAgICBjYW0tPmNudHJsYnVmLCBmaXJtd2FyZVtpXS5zaXplKTsKKwkJCQkgICAgICAgY2FtLT5jbnRybGJ1ZiwgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKKwkJaWYgKGVycikKKwkJCWJyZWFrOwogCX0KIAorCXJlbGVhc2VfZmlybXdhcmUoZncpOworCiAJcmV0dXJuIGVycjsKIH0KIApAQCAtMTIyNiwzICs5NTAsNCBAQAogTU9EVUxFX0FVVEhPUihEUklWRVJfQVVUSE9SKTsKIE1PRFVMRV9ERVNDUklQVElPTihEUklWRVJfREVTQyk7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoInZpY2FtL2Zpcm13YXJlLmZ3Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL3ZpZGVvZGV2LmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL3ZpZGVvZGV2LmMKaW5kZXggNjdhNjYxYy4uNzY0OTg2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby92aWRlb2Rldi5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vdmlkZW9kZXYuYwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9rbW9kLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAKQEAgLTQ0Miw2ICs0NDMsNyBAQAogCiAJaWYobWlub3I+PVZJREVPX05VTV9ERVZJQ0VTKQogCQlyZXR1cm4gLUVOT0RFVjsKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJnZpZGVvZGV2X2xvY2spOwogCXZmbD12aWRlb19kZXZpY2VbbWlub3JdOwogCWlmKHZmbD09TlVMTCkgewpAQCAtNDUxLDYgKzQ1Myw3IEBACiAJCXZmbD12aWRlb19kZXZpY2VbbWlub3JdOwogCQlpZiAodmZsPT1OVUxMKSB7CiAJCQltdXRleF91bmxvY2soJnZpZGVvZGV2X2xvY2spOworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIC1FTk9ERVY7CiAJCX0KIAl9CkBAIC00NjQsNiArNDY3LDcgQEAKIAl9CiAJZm9wc19wdXQob2xkX2ZvcHMpOwogCW11dGV4X3VubG9jaygmdmlkZW9kZXZfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0YmFzZS5jIGIvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRiYXNlLmMKaW5kZXggZGIzYzg5Mi4uZDQwZDZkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRiYXNlLmMKKysrIGIvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRiYXNlLmMKQEAgLTE2ODYsOSArMTY4NiwxNCBAQAogCQlpb2MtPmJ1c190eXBlID0gU0FTOwogCX0KIAotCWlmIChpb2MtPmJ1c190eXBlID09IFNBUyAmJiBtcHRfbXNpX2VuYWJsZSA9PSAtMSkKLQkJaW9jLT5tc2lfZW5hYmxlID0gMTsKLQllbHNlCisJaWYgKG1wdF9tc2lfZW5hYmxlID09IC0xKSB7CisJCS8qIEVuYWJsZSBvbiBTQVMsIGRpc2FibGUgb24gRkMgYW5kIFNQSSAqLworCQlpZiAoaW9jLT5idXNfdHlwZSA9PSBTQVMpCisJCQlpb2MtPm1zaV9lbmFibGUgPSAxOworCQllbHNlCisJCQlpb2MtPm1zaV9lbmFibGUgPSAwOworCX0gZWxzZQorCQkvKiBmb2xsb3cgZmxhZzogMCAtIGRpc2FibGU7IDEgLSBlbmFibGUgKi8KIAkJaW9jLT5tc2lfZW5hYmxlID0gbXB0X21zaV9lbmFibGU7CiAKIAlpZiAoaW9jLT5lcnJhdGFfZmxhZ18xMDY0KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRjdGwuYyBiL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0Y3RsLmMKaW5kZXggZTYzMGI1MC4uYzU5NDY1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRjdGwuYworKysgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGN0bC5jCkBAIC01NDgsMTEgKzU0OCwxNSBAQAogbXB0Y3RsX2Zhc3luYyhpbnQgZmQsIHN0cnVjdCBmaWxlICpmaWxlcCwgaW50IG1vZGUpCiB7CiAJTVBUX0FEQVBURVIJKmlvYzsKKwlpbnQgcmV0OwogCisJbG9ja19rZXJuZWwoKTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGlvYywgJmlvY19saXN0LCBsaXN0KQogCQlpb2MtPmFlbl9ldmVudF9yZWFkX2ZsYWc9MDsKIAotCXJldHVybiBmYXN5bmNfaGVscGVyKGZkLCBmaWxlcCwgbW9kZSwgJmFzeW5jX3F1ZXVlKTsKKwlyZXQgPSBmYXN5bmNfaGVscGVyKGZkLCBmaWxlcCwgbW9kZSwgJmFzeW5jX3F1ZXVlKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRzcGkuYyBiL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0c3BpLmMKaW5kZXggMjViY2ZjZi4uMWVmZmNhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRzcGkuYworKysgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdHNwaS5jCkBAIC0xMjY2LDEzICsxMjY2LDE4IEBACiBzdGF0aWMgaW50CiBtcHRzcGlfaW9jX3Jlc2V0KE1QVF9BREFQVEVSICppb2MsIGludCByZXNldF9waGFzZSkKIHsKLQlzdHJ1Y3QgX01QVF9TQ1NJX0hPU1QgKmhkID0gc2hvc3RfcHJpdihpb2MtPnNoKTsKIAlpbnQgcmM7CiAKIAlyYyA9IG1wdHNjc2loX2lvY19yZXNldChpb2MsIHJlc2V0X3BoYXNlKTsKIAotCWlmIChyZXNldF9waGFzZSA9PSBNUFRfSU9DX1BPU1RfUkVTRVQpCisJLyogb25seSB0cnkgdG8gZG8gYSByZW5lZ290aWF0aW9uIGlmIHdlJ3JlIHByb3Blcmx5IHNldCB1cAorCSAqIGlmIHdlIGdldCBhbiBpb2MgZmF1bHQgb24gYnJpbmd1cCwgaW9jLT5zaCB3aWxsIGJlIE5VTEwgKi8KKwlpZiAocmVzZXRfcGhhc2UgPT0gTVBUX0lPQ19QT1NUX1JFU0VUICYmCisJICAgIGlvYy0+c2gpIHsKKwkJc3RydWN0IF9NUFRfU0NTSV9IT1NUICpoZCA9IHNob3N0X3ByaXYoaW9jLT5zaCk7CisKIAkJbXB0c3BpX2R2X3JlbmVnb3RpYXRlKGhkKTsKKwl9CiAKIAlyZXR1cm4gcmM7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lc3NhZ2UvaTJvL2kyb19jb25maWcuYyBiL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jCmluZGV4IGMwZmI3N2QuLjQyMzhkZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jCisrKyBiL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCWlmICghdG1wKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gKHZvaWQgKikoaTJvX2NmZ19pbmZvX2lkKyspOwogCXRtcC0+ZnAgPSBmaWxlOwogCXRtcC0+ZmFzeW5jID0gTlVMTDsKQEAgLTEwNzQsNiArMTA3NSw3IEBACiAJc3Bpbl9sb2NrX2lycXNhdmUoJmkyb19jb25maWdfbG9jaywgZmxhZ3MpOwogCW9wZW5fZmlsZXMgPSB0bXA7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTJvX2NvbmZpZ19sb2NrLCBmbGFncyk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDgyLDE1ICsxMDg0LDE3IEBACiB7CiAJdWxvbmcgaWQgPSAodWxvbmcpIGZwLT5wcml2YXRlX2RhdGE7CiAJc3RydWN0IGkyb19jZmdfaW5mbyAqcDsKKwlpbnQgcmV0ID0gLUVCQURGOwogCisJbG9ja19rZXJuZWwoKTsKIAlmb3IgKHAgPSBvcGVuX2ZpbGVzOyBwOyBwID0gcC0+bmV4dCkKIAkJaWYgKHAtPnFfaWQgPT0gaWQpCiAJCQlicmVhazsKIAotCWlmICghcCkKLQkJcmV0dXJuIC1FQkFERjsKLQotCXJldHVybiBmYXN5bmNfaGVscGVyKGZkLCBmcCwgb24sICZwLT5mYXN5bmMpOworCWlmIChwKQorCQlyZXQgPSBmYXN5bmNfaGVscGVyKGZkLCBmcCwgb24sICZwLT5mYXN5bmMpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGNmZ19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2F0bWVsX3B3bS5jIGIvZHJpdmVycy9taXNjL2F0bWVsX3B3bS5jCmluZGV4IDBkNWNlMDMuLjViNWExNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWlzYy9hdG1lbF9wd20uYworKysgYi9kcml2ZXJzL21pc2MvYXRtZWxfcHdtLmMKQEAgLTMzMiw3ICszMzIsNyBAQAogCXAtPmJhc2UgPSBpb3JlbWFwKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOwogCWlmICghcC0+YmFzZSkKIAkJZ290byBmYWlsOwotCXAtPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgIm1jayIpOworCXAtPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgInB3bV9jbGsiKTsKIAlpZiAoSVNfRVJSKHAtPmNsaykpIHsKIAkJc3RhdHVzID0gUFRSX0VSUihwLT5jbGspOwogCQlwLT5jbGsgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2hkcHVmdHJzL2hkcHVfY3B1c3RhdGUuYyBiL2RyaXZlcnMvbWlzYy9oZHB1ZnRycy9oZHB1X2NwdXN0YXRlLmMKaW5kZXggZmY1MWFiNi4uMTc2ZmU0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL2hkcHVmdHJzL2hkcHVfY3B1c3RhdGUuYworKysgYi9kcml2ZXJzL21pc2MvaGRwdWZ0cnMvaGRwdV9jcHVzdGF0ZS5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvaGRwdV9mZWF0dXJlcy5oPgpAQCAtMTUxLDcgKzE1MiwxMyBAQAogCiBzdGF0aWMgaW50IGNwdXN0YXRlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JcmV0dXJuIGNwdXN0YXRlX2dldF9yZWYoKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKTsKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBjcHVzdGF0ZV9nZXRfcmVmKChmaWxlLT5mX2ZsYWdzICYgT19FWENMKSk7CisJdW5sb2NrX2tlcm5lbCgpOworCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBjcHVzdGF0ZV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL3BoYW50b20uYyBiL2RyaXZlcnMvbWlzYy9waGFudG9tLmMKaW5kZXggNzFkMWM4NC4uMTg2MTYyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL3BoYW50b20uYworKysgYi9kcml2ZXJzL21pc2MvcGhhbnRvbS5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L3BoYW50b20uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtMjEyLDEzICsyMTMsMTcgQEAKIAlzdHJ1Y3QgcGhhbnRvbV9kZXZpY2UgKmRldiA9IGNvbnRhaW5lcl9vZihpbm9kZS0+aV9jZGV2LAogCQkJc3RydWN0IHBoYW50b21fZGV2aWNlLCBjZGV2KTsKIAorCWxvY2tfa2VybmVsKCk7CiAJbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiAKLQlpZiAobXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZkZXYtPm9wZW5fbG9jaykpCisJaWYgKG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2LT5vcGVuX2xvY2spKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwl9CiAKIAlpZiAoZGV2LT5vcGVuZWQpIHsKIAkJbXV0ZXhfdW5sb2NrKCZkZXYtPm9wZW5fbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCkBAIC0yMjksNyArMjM0LDcgQEAKIAlhdG9taWNfc2V0KCZkZXYtPmNvdW50ZXIsIDApOwogCWRldi0+b3BlbmVkKys7CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPm9wZW5fbG9jayk7Ci0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9zb255LWxhcHRvcC5jIGIvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMKaW5kZXggMDBlNDhlMi4uNjA3NzViZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMKKysrIGIvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvYmFja2xpZ2h0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CkBAIC0xOTI3LDggKzE5MjgsMTAgQEAKIHN0YXRpYyBpbnQgc29ueXBpX21pc2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAkvKiBGbHVzaCBpbnB1dCBxdWV1ZSBvbiBmaXJzdCBvcGVuICovCisJbG9ja19rZXJuZWwoKTsKIAlpZiAoYXRvbWljX2luY19yZXR1cm4oJnNvbnlwaV9jb21wYXQub3Blbl9jb3VudCkgPT0gMSkKIAkJa2ZpZm9fcmVzZXQoc29ueXBpX2NvbXBhdC5maWZvKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbW1jL2hvc3QvaW14bW1jLmMgYi9kcml2ZXJzL21tYy9ob3N0L2lteG1tYy5jCmluZGV4IDk1ZjMzZTguLmVlZDIxMWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbW1jL2hvc3QvaW14bW1jLmMKKysrIGIvZHJpdmVycy9tbWMvaG9zdC9pbXhtbWMuYwpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21tYy9ob3N0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW1jL2NhcmQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogCiAjaW5jbHVkZSA8YXNtL2RtYS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtOTIsNiArOTMsOCBAQAogCXVuc2lnbmVkIGNoYXIJCWFjdHVhbF9idXNfd2lkdGg7CiAKIAlpbnQJCQlwcmV2X2NtZF9jb2RlOworCisJc3RydWN0IGNsawkJKmNsazsKIH07CiAKICNkZWZpbmUgSU1YTUNJX1BFTkRfSVJRX2IJMApAQCAtODQxLDcgKzg0NCw3IEBACiAJCS8qIFRoZSBwcmVzY2FsZXIgaXMgNSBmb3IgUEVSQ0xLMiBlcXVhbCB0byA5Nk1IegogCQkgKiB0aGVuIDk2TUh6IC8gNSA9IDE5LjIgTUh6CiAJCSAqLwotCQljbGs9aW14X2dldF9wZXJjbGsyKCk7CisJCWNsayA9IGNsa19nZXRfcmF0ZShob3N0LT5jbGspOwogCQlwcmVzY2FsZXI9KGNsaysoQ0xLX1JBVEUqNykvOCkvQ0xLX1JBVEU7CiAJCXN3aXRjaChwcmVzY2FsZXIpIHsKIAkJY2FzZSAwOgpAQCAtOTk0LDYgKzk5NywxMyBAQAogCWhvc3QtPnJlcyA9IHI7CiAJaG9zdC0+aXJxID0gaXJxOwogCisJaG9zdC0+Y2xrID0gY2xrX2dldCgmcGRldi0+ZGV2LCAicGVyY2xrMiIpOworCWlmIChJU19FUlIoaG9zdC0+Y2xrKSkgeworCQlyZXQgPSBQVFJfRVJSKGhvc3QtPmNsayk7CisJCWdvdG8gb3V0OworCX0KKwljbGtfZW5hYmxlKGhvc3QtPmNsayk7CisKIAlpbXhfZ3Bpb19tb2RlKFBCOF9QRl9TRF9EQVQwKTsKIAlpbXhfZ3Bpb19tb2RlKFBCOV9QRl9TRF9EQVQxKTsKIAlpbXhfZ3Bpb19tb2RlKFBCMTBfUEZfU0RfREFUMik7CkBAIC0xMDE3LDggKzEwMjcsOCBAQAogCWhvc3QtPmltYXNrID0gSU1YTUNJX0lOVF9NQVNLX0RFRkFVTFQ7CiAJTU1DX0lOVF9NQVNLID0gaG9zdC0+aW1hc2s7CiAKLQotCWlmKGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKCZob3N0LT5kbWEsIERSSVZFUl9OQU1FLCBETUFfUFJJT19MT1cpPDApeworCWhvc3QtPmRtYSA9IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKERSSVZFUl9OQU1FLCBETUFfUFJJT19MT1cpOworCWlmKGhvc3QtPmRtYSA8IDApIHsKIAkJZGV2X2VycihtbWNfZGV2KGhvc3QtPm1tYyksICJpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyBmYWlsZWRcbiIpOwogCQlyZXQgPSAtRUJVU1k7CiAJCWdvdG8gb3V0OwpAQCAtMTA1Myw2ICsxMDYzLDEwIEBACiAJCQlpbXhfZG1hX2ZyZWUoaG9zdC0+ZG1hKTsKIAkJCWhvc3QtPmRtYV9hbGxvY2F0ZWQ9MDsKIAkJfQorCQlpZiAoaG9zdC0+Y2xrKSB7CisJCQljbGtfZGlzYWJsZShob3N0LT5jbGspOworCQkJY2xrX3B1dChob3N0LT5jbGspOworCQl9CiAJfQogCWlmIChtbWMpCiAJCW1tY19mcmVlX2hvc3QobW1jKTsKQEAgLTEwODIsNiArMTA5Niw5IEBACiAKIAkJdGFza2xldF9raWxsKCZob3N0LT50YXNrbGV0KTsKIAorCQljbGtfZGlzYWJsZShob3N0LT5jbGspOworCQljbGtfcHV0KGhvc3QtPmNsayk7CisKIAkJcmVsZWFzZV9yZXNvdXJjZShob3N0LT5yZXMpOwogCiAJCW1tY19mcmVlX2hvc3QobW1jKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL2Z0bC5jIGIvZHJpdmVycy9tdGQvZnRsLmMKaW5kZXggNGE3OWIxOC4uNWMyOTg3MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvZnRsLmMKKysrIGIvZHJpdmVycy9tdGQvZnRsLmMKQEAgLTEzMCwxMCArMTMwLDYgQEAKICAgICB1X2ludDE2X3QJCURhdGFVbml0czsKICAgICB1X2ludDMyX3QJCUJsb2Nrc1BlclVuaXQ7CiAgICAgZXJhc2VfdW5pdF9oZWFkZXJfdAloZWFkZXI7Ci0jaWYgMAotICAgIHJlZ2lvbl9pbmZvX3QJcmVnaW9uOwotICAgIG1lbW9yeV9oYW5kbGVfdAloYW5kbGU7Ci0jZW5kaWYKIH0gcGFydGl0aW9uX3Q7CiAKIC8qIFBhcnRpdGlvbiBzdGF0ZSBmbGFncyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbWFwcy9vbWFwX25vci5jIGIvZHJpdmVycy9tdGQvbWFwcy9vbWFwX25vci5jCmluZGV4IGMxMmQ4MDUuLjY4ZWVjNmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbXRkL21hcHMvb21hcF9ub3IuYworKysgYi9kcml2ZXJzL210ZC9tYXBzL29tYXBfbm9yLmMKQEAgLTYwLDEzICs2MCwyMiBAQAogc3RhdGljIHZvaWQgb21hcF9zZXRfdnBwKHN0cnVjdCBtYXBfaW5mbyAqbWFwLCBpbnQgZW5hYmxlKQogewogCXN0YXRpYyBpbnQJY291bnQ7CisJdTMyIGw7CiAKLQlpZiAoZW5hYmxlKSB7Ci0JCWlmIChjb3VudCsrID09IDApCi0JCQlPTUFQX0VNSUZTX0NPTkZJR19SRUcgfD0gT01BUF9FTUlGU19DT05GSUdfV1A7Ci0JfSBlbHNlIHsKLQkJaWYgKGNvdW50ICYmICgtLWNvdW50ID09IDApKQotCQkJT01BUF9FTUlGU19DT05GSUdfUkVHICY9IH5PTUFQX0VNSUZTX0NPTkZJR19XUDsKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKKwkJaWYgKGVuYWJsZSkgeworCQkJaWYgKGNvdW50KysgPT0gMCkgeworCQkJCWwgPSBvbWFwX3JlYWRsKEVNSUZTX0NPTkZJRyk7CisJCQkJbCB8PSBPTUFQX0VNSUZTX0NPTkZJR19XUDsKKwkJCQlvbWFwX3dyaXRlbChsLCBFTUlGU19DT05GSUcpOworCQkJfQorCQl9IGVsc2UgeworCQkJaWYgKGNvdW50ICYmICgtLWNvdW50ID09IDApKSB7CisJCQkJbCA9IG9tYXBfcmVhZGwoRU1JRlNfQ09ORklHKTsKKwkJCQlsICY9IH5PTUFQX0VNSUZTX0NPTkZJR19XUDsKKwkJCQlvbWFwX3dyaXRlbChsLCBFTUlGU19DT05GSUcpOworCQkJfQorCQl9CiAJfQogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tYXBzL3BjbWNpYW10ZC5jIGIvZHJpdmVycy9tdGQvbWFwcy9wY21jaWFtdGQuYwppbmRleCAxOTEyZDk2Li4wY2MzMTY3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbWFwcy9wY21jaWFtdGQuYworKysgYi9kcml2ZXJzL210ZC9tYXBzL3BjbWNpYW10ZC5jCkBAIC00OTgsMTcgKzQ5OCwxNCBAQAogCWludCBpOwogCWNvbmZpZ19pbmZvX3QgdDsKIAlzdGF0aWMgY2hhciAqcHJvYmVzW10gPSB7ICJqZWRlY19wcm9iZSIsICJjZmlfcHJvYmUiIH07Ci0JY2lzaW5mb190IGNpc2luZm87CiAJaW50IG5ld19uYW1lID0gMDsKIAogCURFQlVHKDMsICJsaW5rPTB4JXAiLCBsaW5rKTsKIAogCURFQlVHKDIsICJWYWxpZGF0aW5nIENJUyIpOwotCXJldCA9IHBjbWNpYV92YWxpZGF0ZV9jaXMobGluaywgJmNpc2luZm8pOworCXJldCA9IHBjbWNpYV92YWxpZGF0ZV9jaXMobGluaywgTlVMTCk7CiAJaWYocmV0ICE9IENTX1NVQ0NFU1MpIHsKIAkJY3NfZXJyb3IobGluaywgR2V0VHVwbGVEYXRhLCByZXQpOwotCX0gZWxzZSB7Ci0JCURFQlVHKDIsICJWYWxpZGF0ZUNJUyBmb3VuZCAlZCBjaGFpbnMiLCBjaXNpbmZvLkNoYWlucyk7CiAJfQogCiAJY2FyZF9zZXR0aW5ncyhkZXYsIGxpbmssICZuZXdfbmFtZSk7CkBAIC01NjMsOSArNTYwLDcgQEAKIAlERUJVRygxLCAiQWxsb2NhdGVkIGEgd2luZG93IG9mICVkS2lCIiwgZGV2LT53aW5fc2l6ZSA+PiAxMCk7CiAKIAkvKiBHZXQgd3JpdGUgcHJvdGVjdCBzdGF0dXMgKi8KLQlDU19DSEVDSyhHZXRTdGF0dXMsIHBjbWNpYV9nZXRfc3RhdHVzKGxpbmssICZzdGF0dXMpKTsKLQlERUJVRygyLCAic3RhdHVzIHZhbHVlOiAweCV4IHdpbmRvdyBoYW5kbGUgPSAweCU4LjhseCIsCi0JICAgICAgc3RhdHVzLkNhcmRTdGF0ZSwgKHVuc2lnbmVkIGxvbmcpbGluay0+d2luKTsKKwlERUJVRygyLCAid2luZG93IGhhbmRsZSA9IDB4JTguOGx4IiwgKHVuc2lnbmVkIGxvbmcpbGluay0+d2luKTsKIAlkZXYtPndpbl9iYXNlID0gaW9yZW1hcChyZXEuQmFzZSwgcmVxLlNpemUpOwogCWlmKCFkZXYtPndpbl9iYXNlKSB7CiAJCWVycigiaW9yZW1hcCglbHUsICV1KSBmYWlsZWQiLCByZXEuQmFzZSwgcmVxLlNpemUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbXRkY2hhci5jIGIvZHJpdmVycy9tdGQvbXRkY2hhci5jCmluZGV4IDVkM2FjNTEuLjEyOWQ0MjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbXRkL210ZGNoYXIuYworKysgYi9kcml2ZXJzL210ZC9tdGRjaGFyLmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9jb21wYXRtYWMuaD4KQEAgLTg2LDYgKzg3LDcgQEAKIHsKIAlpbnQgbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCWludCBkZXZudW0gPSBtaW5vciA+PiAxOworCWludCByZXQgPSAwOwogCXN0cnVjdCBtdGRfaW5mbyAqbXRkOwogCXN0cnVjdCBtdGRfZmlsZV9pbmZvICptZmk7CiAKQEAgLTk4LDMxICsxMDAsMzkgQEAKIAlpZiAoKGZpbGUtPmZfbW9kZSAmIDIpICYmIChtaW5vciAmIDEpKQogCQlyZXR1cm4gLUVBQ0NFUzsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXRkID0gZ2V0X210ZF9kZXZpY2UoTlVMTCwgZGV2bnVtKTsKIAotCWlmIChJU19FUlIobXRkKSkKLQkJcmV0dXJuIFBUUl9FUlIobXRkKTsKKwlpZiAoSVNfRVJSKG10ZCkpIHsKKwkJcmV0ID0gUFRSX0VSUihtdGQpOworCQlnb3RvIG91dDsKKwl9CiAKIAlpZiAoTVREX0FCU0VOVCA9PSBtdGQtPnR5cGUpIHsKIAkJcHV0X210ZF9kZXZpY2UobXRkKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAogCS8qIFlvdSBjYW4ndCBvcGVuIGl0IFJXIGlmIGl0J3Mgbm90IGEgd3JpdGVhYmxlIGRldmljZSAqLwogCWlmICgoZmlsZS0+Zl9tb2RlICYgMikgJiYgIShtdGQtPmZsYWdzICYgTVREX1dSSVRFQUJMRSkpIHsKIAkJcHV0X210ZF9kZXZpY2UobXRkKTsKLQkJcmV0dXJuIC1FQUNDRVM7CisJCXJldCA9IC1FQUNDRVM7CisJCWdvdG8gb3V0OwogCX0KIAogCW1maSA9IGt6YWxsb2Moc2l6ZW9mKCptZmkpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIW1maSkgewogCQlwdXRfbXRkX2RldmljZShtdGQpOwotCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CiAJfQogCW1maS0+bXRkID0gbXRkOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IG1maTsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfSAvKiBtdGRfb3BlbiAqLwogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvb3Jpb25fbmFuZC5jIGIvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMKaW5kZXggNTllMDVhMS4uZWUyYWMzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMKKysrIGIvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMKQEAgLTg1LDYgKzg1LDkgQEAKIAluYy0+Y21kX2N0cmwgPSBvcmlvbl9uYW5kX2NtZF9jdHJsOwogCW5jLT5lY2MubW9kZSA9IE5BTkRfRUNDX1NPRlQ7CiAKKwlpZiAoYm9hcmQtPmNoaXBfZGVsYXkpCisJCW5jLT5jaGlwX2RlbGF5ID0gYm9hcmQtPmNoaXBfZGVsYXk7CisKIAlpZiAoYm9hcmQtPndpZHRoID09IDE2KQogCQluYy0+b3B0aW9ucyB8PSBOQU5EX0JVU1dJRFRIXzE2OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC91YmkvY2Rldi5jIGIvZHJpdmVycy9tdGQvdWJpL2NkZXYuYwppbmRleCA5ZDZhYWU1Li44OTE5M2JhIDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC91YmkvY2Rldi5jCisrKyBiL2RyaXZlcnMvbXRkL3ViaS9jZGV2LmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KICNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxtdGQvdWJpLXVzZXIuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgpAQCAtMTAzLDkgKzEwNCwxMiBAQAogCXN0cnVjdCB1Ymlfdm9sdW1lX2Rlc2MgKmRlc2M7CiAJaW50IHZvbF9pZCA9IGltaW5vcihpbm9kZSkgLSAxLCBtb2RlLCB1YmlfbnVtOwogCisJbG9ja19rZXJuZWwoKTsKIAl1YmlfbnVtID0gdWJpX21ham9yMm51bShpbWFqb3IoaW5vZGUpKTsKLQlpZiAodWJpX251bSA8IDApCisJaWYgKHViaV9udW0gPCAwKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIHViaV9udW07CisJfQogCiAJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKQogCQltb2RlID0gVUJJX1JFQURXUklURTsKQEAgLTExNSw2ICsxMTksNyBAQAogCWRiZ19tc2coIm9wZW4gdm9sdW1lICVkLCBtb2RlICVkIiwgdm9sX2lkLCBtb2RlKTsKIAogCWRlc2MgPSB1Ymlfb3Blbl92b2x1bWUodWJpX251bSwgdm9sX2lkLCBtb2RlKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJaWYgKElTX0VSUihkZXNjKSkKIAkJcmV0dXJuIFBUUl9FUlIoZGVzYyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L0tjb25maWcgYi9kcml2ZXJzL25ldC9LY29uZmlnCmluZGV4IGY0MTgyY2YuLjQ1YTQxYjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L0tjb25maWcKKysrIGIvZHJpdmVycy9uZXQvS2NvbmZpZwpAQCAtMjE3LDcgKzIxNyw3IEBACiAKIGNvbmZpZyBNQUNCCiAJdHJpc3RhdGUgIkF0bWVsIE1BQ0Igc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFWUjMyIHx8IEFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFDQVA5CisJZGVwZW5kcyBvbiBBVlIzMiB8fCBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjMgfHwgQVJDSF9BVDkxU0FNOUcyMCB8fCBBUkNIX0FUOTFDQVA5CiAJc2VsZWN0IFBIWUxJQgogCWhlbHAKIAkgIFRoZSBBdG1lbCBNQUNCIGV0aGVybmV0IGludGVyZmFjZSBpcyBmb3VuZCBvbiBtYW55IEFUMzIgYW5kIEFUOTEKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2FybS9ldGhlcmguYyBiL2RyaXZlcnMvbmV0L2FybS9ldGhlcmguYwppbmRleCAwMDA4MWQyLi5lOWQxNWVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9hcm0vZXRoZXJoLmMKKysrIGIvZHJpdmVycy9uZXQvYXJtL2V0aGVyaC5jCkBAIC02NDcsNyArNjQ3LDcgQEAKIAlzdHJ1Y3QgZWlfZGV2aWNlICplaV9sb2NhbDsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2OwogCXN0cnVjdCBldGhlcmhfcHJpdiAqZWg7Ci0JaW50IGksIHJldDsKKwlpbnQgcmV0OwogCURFQ0xBUkVfTUFDX0JVRihtYWMpOwogCiAJZXRoZXJoX2Jhbm5lcigpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvY29tbW9uLmggYi9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaAppbmRleCA1NzliZWU0Li44ZThlYmQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaAorKysgYi9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaApAQCAtNjg2LDggKzY4Niw5IEBACiBpbnQgdDNfc2VlcHJvbV93cChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IGVuYWJsZSk7CiBpbnQgdDNfZ2V0X3RwX3ZlcnNpb24oc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHUzMiAqdmVycyk7CiBpbnQgdDNfY2hlY2tfdHBzcmFtX3ZlcnNpb24oc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIGludCAqbXVzdF9sb2FkKTsKLWludCB0M19jaGVja190cHNyYW0oc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHU4ICp0cF9yYW0sIHVuc2lnbmVkIGludCBzaXplKTsKLWludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgdTggKmRhdGEpOworaW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgY29uc3QgdTggKnRwX3JhbSwKKwkJICAgIHVuc2lnbmVkIGludCBzaXplKTsKK2ludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgY29uc3QgdTggKmRhdGEpOwogaW50IHQzX3JlYWRfZmxhc2goc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHVuc2lnbmVkIGludCBhZGRyLAogCQkgIHVuc2lnbmVkIGludCBud29yZHMsIHUzMiAqZGF0YSwgaW50IGJ5dGVfb3JpZW50ZWQpOwogaW50IHQzX2xvYWRfZncoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIGNvbnN0IHU4ICogZndfZGF0YSwgdW5zaWduZWQgaW50IHNpemUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfY3RsX2RlZnMuaCBiL2RyaXZlcnMvbmV0L2N4Z2IzL2N4Z2IzX2N0bF9kZWZzLmgKaW5kZXggNmM0ZjMyMC4uZWQwZWNkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfY3RsX2RlZnMuaAorKysgYi9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19jdGxfZGVmcy5oCkBAIC01NCw2ICs1NCw3IEBACiAJUkRNQV9DUV9ESVNBQkxFCQk9IDE2LAogCVJETUFfQ1RSTF9RUF9TRVRVUAk9IDE3LAogCVJETUFfR0VUX01FTQkJPSAxOCwKKwlSRE1BX0dFVF9NSUIJCT0gMTksCiAKIAlHRVRfUlhfUEFHRV9JTkZPCT0gNTAsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfb2ZmbG9hZC5jIGIvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfb2ZmbG9hZC5jCmluZGV4IGZmOWMwMTMuLmNmMjY5NjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2N4Z2IzL2N4Z2IzX29mZmxvYWQuYworKysgYi9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19vZmZsb2FkLmMKQEAgLTMwMyw2ICszMDMsMTIgQEAKIAkJc3Bpbl91bmxvY2tfaXJxKCZhZGFwdGVyLT5zZ2UucmVnX2xvY2spOwogCQlicmVhazsKIAl9CisJY2FzZSBSRE1BX0dFVF9NSUI6IHsKKwkJc3Bpbl9sb2NrKCZhZGFwdGVyLT5zdGF0c19sb2NrKTsKKwkJdDNfdHBfZ2V0X21pYl9zdGF0cyhhZGFwdGVyLCAoc3RydWN0IHRwX21pYl9zdGF0cyAqKWRhdGEpOworCQlzcGluX3VubG9jaygmYWRhcHRlci0+c3RhdHNfbG9jayk7CisJCWJyZWFrOworCX0KIAlkZWZhdWx0OgogCQlyZXQgPSAtRU9QTk9UU1VQUDsKIAl9CkBAIC0zODEsNiArMzg3LDcgQEAKIAljYXNlIFJETUFfQ1FfRElTQUJMRToKIAljYXNlIFJETUFfQ1RSTF9RUF9TRVRVUDoKIAljYXNlIFJETUFfR0VUX01FTToKKwljYXNlIFJETUFfR0VUX01JQjoKIAkJaWYgKCFvZmZsb2FkX3J1bm5pbmcoYWRhcHRlcikpCiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJcmV0dXJuIGN4Z2JfcmRtYV9jdGwoYWRhcHRlciwgcmVxLCBkYXRhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2N4Z2IzL3QzX2h3LmMgYi9kcml2ZXJzL25ldC9jeGdiMy90M19ody5jCmluZGV4IGQ0MDVhOTMuLjQ3ZDUxNzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2N4Z2IzL3QzX2h3LmMKKysrIGIvZHJpdmVycy9uZXQvY3hnYjMvdDNfaHcuYwpAQCAtOTIzLDcgKzkyMyw4IEBACiAgKglDaGVja3MgaWYgYW4gYWRhcHRlcidzIHRwIHNyYW0gaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBkcml2ZXIuCiAgKglSZXR1cm5zIDAgaWYgdGhlIHZlcnNpb25zIGFyZSBjb21wYXRpYmxlLCBhIG5lZ2F0aXZlIGVycm9yIG90aGVyd2lzZS4KICAqLwotaW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgdTggKnRwX3NyYW0sIHVuc2lnbmVkIGludCBzaXplKQoraW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgY29uc3QgdTggKnRwX3NyYW0sCisJCSAgICB1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKIAl1MzIgY3N1bTsKIAl1bnNpZ25lZCBpbnQgaTsKQEAgLTI4NzUsMTAgKzI4NzYsMTAgQEAKICAqCiAgKglXcml0ZSB0aGUgY29udGVudHMgb2YgdGhlIHByb3RvY29sIFNSQU0uCiAgKi8KLWludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgdTggKmRhdGEpCitpbnQgdDNfc2V0X3Byb3RvX3NyYW0oc3RydWN0IGFkYXB0ZXIgKmFkYXAsIGNvbnN0IHU4ICpkYXRhKQogewogCWludCBpOwotCV9fYmUzMiAqYnVmID0gKF9fYmUzMiAqKWRhdGE7CisJY29uc3QgX19iZTMyICpidWYgPSAoY29uc3QgX19iZTMyICopZGF0YTsKIAogCWZvciAoaSA9IDA7IGkgPCBQUk9UT19TUkFNX0xJTkVTOyBpKyspIHsKIAkJdDNfd3JpdGVfcmVnKGFkYXAsIEFfVFBfRU1CRURfT1BfRklFTEQ1LCBiZTMyX3RvX2NwdSgqYnVmKyspKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2N4Z2IzL3ZlcnNpb24uaCBiL2RyaXZlcnMvbmV0L2N4Z2IzL3ZlcnNpb24uaAppbmRleCBhMDE3N2ZjLi4yOWRiNzExIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9jeGdiMy92ZXJzaW9uLmgKKysrIGIvZHJpdmVycy9uZXQvY3hnYjMvdmVyc2lvbi5oCkBAIC0zOCw3ICszOCw3IEBACiAjZGVmaW5lIERSVl9WRVJTSU9OICIxLjAta28iCiAKIC8qIEZpcm13YXJlIHZlcnNpb24gKi8KLSNkZWZpbmUgRldfVkVSU0lPTl9NQUpPUiA2CisjZGVmaW5lIEZXX1ZFUlNJT05fTUFKT1IgNwogI2RlZmluZSBGV19WRVJTSU9OX01JTk9SIDAKICNkZWZpbmUgRldfVkVSU0lPTl9NSUNSTyAwCiAjZW5kaWYJCQkJLyogX19DSEVMU0lPX1ZFUlNJT05fSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXJkYS9pcmRhLXVzYi5jIGIvZHJpdmVycy9uZXQvaXJkYS9pcmRhLXVzYi5jCmluZGV4IDZmNTBlZDcuLjE4YjQ3MWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2lyZGEvaXJkYS11c2IuYworKysgYi9kcml2ZXJzL25ldC9pcmRhL2lyZGEtdXNiLmMKQEAgLTEwMjQsNyArMTAyNCw3IEBACiAgKiAgIFVwbG9hZCBmaXJtd2FyZSBjb2RlIHRvIFNpZ21hVGVsIDQyMVggSVJEQS1VU0IgZG9uZ2xlCiAgKi8KIHN0YXRpYyBpbnQgc3RpcjQyMXhfZndfdXBsb2FkKHN0cnVjdCBpcmRhX3VzYl9jYiAqc2VsZiwKLQkJCSAgICAgdW5zaWduZWQgY2hhciAqcGF0Y2gsCisJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBhdGNoLAogCQkJICAgICBjb25zdCB1bnNpZ25lZCBpbnQgcGF0Y2hfbGVuKQogewogICAgICAgICBpbnQgcmV0ID0gLUVOT01FTTsKQEAgLTEwNzMsMTEgKzEwNzMsMTEgQEAKICAgKi8KIHN0YXRpYyBpbnQgc3RpcjQyMXhfcGF0Y2hfZGV2aWNlKHN0cnVjdCBpcmRhX3VzYl9jYiAqc2VsZikKIHsKLSAgICAgICAgdW5zaWduZWQgaW50IGk7Ci0gICAgICAgIGludCByZXQ7Ci0gICAgICAgIGNoYXIgc3RpcjQyMXhfZndfbmFtZVsxMV07Ci0gICAgICAgIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgKmZ3X3ZlcnNpb25fcHRyOyAvKiBwb2ludGVyIHRvIHZlcnNpb24gc3RyaW5nICovCisJdW5zaWduZWQgaW50IGk7CisJaW50IHJldDsKKwljaGFyIHN0aXI0MjF4X2Z3X25hbWVbMTFdOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgdW5zaWduZWQgY2hhciAqZndfdmVyc2lvbl9wdHI7IC8qIHBvaW50ZXIgdG8gdmVyc2lvbiBzdHJpbmcgKi8KIAl1bnNpZ25lZCBsb25nIGZ3X3ZlcnNpb24gPSAwOwogCiAgICAgICAgIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL25zYy1pcmNjLmMgYi9kcml2ZXJzL25ldC9pcmRhL25zYy1pcmNjLmMKaW5kZXggYTc3MTRkYS4uZWZmYzFjZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9uc2MtaXJjYy5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvbnNjLWlyY2MuYwpAQCAtMTUyLDYgKzE1Miw3IEBACiBzdGF0aWMgY29uc3Qgc3RydWN0IHBucF9kZXZpY2VfaWQgbnNjX2lyY2NfcG5wX3RhYmxlW10gPSB7CiAJeyAuaWQgPSAiTlNDNjAwMSIsIC5kcml2ZXJfZGF0YSA9IDAgfSwKIAl7IC5pZCA9ICJJQk0wMDcxIiwgLmRyaXZlcl9kYXRhID0gMCB9LAorCXsgLmlkID0gIkhXUEMyMjQiLCAuZHJpdmVyX2RhdGEgPSAwIH0sCiAJeyB9CiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL3B4YWZpY3BfaXIuYyBiL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jCmluZGV4IGQ1YzJkMjcuLmY3NmIwYjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jCkBAIC0xMywxNiArMTMsOCBAQAogICoKICAqLwogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZGV2aWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvc2xhYi5oPgotI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvcG0uaD4KICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KIAogI2luY2x1ZGUgPG5ldC9pcmRhL2lyZGEuaD4KQEAgLTMwLDE3ICsyMiw5IEBACiAjaW5jbHVkZSA8bmV0L2lyZGEvd3JhcHBlci5oPgogI2luY2x1ZGUgPG5ldC9pcmRhL2lyZGFfZGV2aWNlLmg+CiAKLSNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2RtYS5oPgotI2luY2x1ZGUgPGFzbS9kZWxheS5oPgotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgotI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+Ci0KLSNpZmRlZiBDT05GSUdfTUFDSF9NQUlOU1RPTkUKLSNpbmNsdWRlIDxhc20vYXJjaC9tYWluc3RvbmUuaD4KLSNlbmRpZgogCiAjZGVmaW5lIElyU1JfUlhQTF9ORUdfSVNfWkVSTyAoMTw8NCkKICNkZWZpbmUgSXJTUl9SWFBMX1BPU19JU19aRVJPIDB4MApAQCAtMTYzLDEwICsxNDcsNiBAQAogCQkJLyogc2V0IGJvYXJkIHRyYW5zY2VpdmVyIHRvIFNJUiBtb2RlICovCiAJCQlzaS0+cGRhdGEtPnRyYW5zY2VpdmVyX21vZGUoc2ktPmRldiwgSVJfU0lSTU9ERSk7CiAKLQkJCS8qIGNvbmZpZ3VyZSBHUElPNDYvNDcgKi8KLQkJCXB4YV9ncGlvX21vZGUoR1BJTzQ2X1NUUlhEX01EKTsKLQkJCXB4YV9ncGlvX21vZGUoR1BJTzQ3X1NUVFhEX01EKTsKLQogCQkJLyogZW5hYmxlIHRoZSBTVFVBUlQgY2xvY2sgKi8KIAkJCXB4YV9pcmRhX2VuYWJsZV9zaXJjbGsoc2kpOwogCQl9CkBAIC0yMDEsMTAgKzE4MSw2IEBACiAJCS8qIHNldCBib2FyZCB0cmFuc2NlaXZlciB0byBGSVIgbW9kZSAqLwogCQlzaS0+cGRhdGEtPnRyYW5zY2VpdmVyX21vZGUoc2ktPmRldiwgSVJfRklSTU9ERSk7CiAKLQkJLyogY29uZmlndXJlIEdQSU80Ni80NyAqLwotCQlweGFfZ3Bpb19tb2RlKEdQSU80Nl9JQ1BSWERfTUQpOwotCQlweGFfZ3Bpb19tb2RlKEdQSU80N19JQ1BUWERfTUQpOwotCiAJCS8qIGVuYWJsZSB0aGUgRklDUCBjbG9jayAqLwogCQlweGFfaXJkYV9lbmFibGVfZmlyY2xrKHNpKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXJkYS92aWEtaXJjYy5jIGIvZHJpdmVycy9uZXQvaXJkYS92aWEtaXJjYy5jCmluZGV4IDU4ZTEyODcuLjA0YWQzNTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2lyZGEvdmlhLWlyY2MuYworKysgYi9kcml2ZXJzL25ldC9pcmRhL3ZpYS1pcmNjLmMKQEAgLTE1NDYsNiArMTU0Niw3IEBACiAJCQlJUkRBX1dBUk5JTkcoIiVzLCB1bmFibGUgdG8gYWxsb2NhdGUgZG1hMj0lZFxuIiwKIAkJCQkgICAgIGRyaXZlcl9uYW1lLCBzZWxmLT5pby5kbWEyKTsKIAkJCWZyZWVfaXJxKHNlbGYtPmlvLmlycSwgc2VsZik7CisJCQlmcmVlX2RtYShzZWxmLT5pby5kbWEpOwogCQkJcmV0dXJuIC1FQUdBSU47CiAJCX0KIAl9CkBAIC0xNjA2LDYgKzE2MDcsOCBAQAogCUVuQWxsSW50KGlvYmFzZSwgT0ZGKTsKIAlmcmVlX2lycShzZWxmLT5pby5pcnEsIGRldik7CiAJZnJlZV9kbWEoc2VsZi0+aW8uZG1hKTsKKwlpZiAoc2VsZi0+aW8uZG1hMiAhPSBzZWxmLT5pby5kbWEpCisJCWZyZWVfZG1hKHNlbGYtPmlvLmRtYTIpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tYWNiLmMgYi9kcml2ZXJzL25ldC9tYWNiLmMKaW5kZXggOTJkY2NkNC4uMGE1NzQ1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWFjYi5jCisrKyBiL2RyaXZlcnMvbmV0L21hY2IuYwpAQCAtMTI3Nyw4ICsxMjc3LDQ1IEBACiAJcmV0dXJuIDA7CiB9CiAKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgbWFjYl9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IG1hY2IgKmJwID0gbmV0ZGV2X3ByaXYobmV0ZGV2KTsKKworCW5ldGlmX2RldmljZV9kZXRhY2gobmV0ZGV2KTsKKworI2lmbmRlZiBDT05GSUdfQVJDSF9BVDkxCisJY2xrX2Rpc2FibGUoYnAtPmhjbGspOworI2VuZGlmCisJY2xrX2Rpc2FibGUoYnAtPnBjbGspOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbWFjYl9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IG1hY2IgKmJwID0gbmV0ZGV2X3ByaXYobmV0ZGV2KTsKKworCWNsa19lbmFibGUoYnAtPnBjbGspOworI2lmbmRlZiBDT05GSUdfQVJDSF9BVDkxCisJY2xrX2VuYWJsZShicC0+aGNsayk7CisjZW5kaWYKKworCW5ldGlmX2RldmljZV9hdHRhY2gobmV0ZGV2KTsKKworCXJldHVybiAwOworfQorI2Vsc2UKKyNkZWZpbmUgbWFjYl9zdXNwZW5kCU5VTEwKKyNkZWZpbmUgbWFjYl9yZXN1bWUJTlVMTAorI2VuZGlmCisKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG1hY2JfZHJpdmVyID0gewogCS5yZW1vdmUJCT0gX19leGl0X3AobWFjYl9yZW1vdmUpLAorCS5zdXNwZW5kCT0gbWFjYl9zdXNwZW5kLAorCS5yZXN1bWUJCT0gbWFjYl9yZXN1bWUsCiAJLmRyaXZlcgkJPSB7CiAJCS5uYW1lCQk9ICJtYWNiIiwKIAkJLm93bmVyCT0gVEhJU19NT0RVTEUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tYWN2bGFuLmMgYi9kcml2ZXJzL25ldC9tYWN2bGFuLmMKaW5kZXggYzM2YTAzYS4uODYwZDc1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWFjdmxhbi5jCisrKyBiL2RyaXZlcnMvbmV0L21hY3ZsYW4uYwpAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9ldGhlcmRldmljZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NC9mdy5jIGIvZHJpdmVycy9uZXQvbWx4NC9mdy5jCmluZGV4IGQ4MmYyNzUuLjJiNTAwNmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L21seDQvZncuYworKysgYi9kcml2ZXJzL25ldC9tbHg0L2Z3LmMKQEAgLTEwMSw2ICsxMDEsMzQgQEAKIAkJCW1seDRfZGJnKGRldiwgIiAgICAlc1xuIiwgZm5hbWVbaV0pOwogfQogCitpbnQgbWx4NF9NT0RfU1RBVF9DRkcoc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X21vZF9zdGF0X2NmZyAqY2ZnKQoreworCXN0cnVjdCBtbHg0X2NtZF9tYWlsYm94ICptYWlsYm94OworCXUzMiAqaW5ib3g7CisJaW50IGVyciA9IDA7CisKKyNkZWZpbmUgTU9EX1NUQVRfQ0ZHX0lOX1NJWkUJCTB4MTAwCisKKyNkZWZpbmUgTU9EX1NUQVRfQ0ZHX1BHX1NaX01fT0ZGU0VUCTB4MDAyCisjZGVmaW5lIE1PRF9TVEFUX0NGR19QR19TWl9PRkZTRVQJMHgwMDMKKworCW1haWxib3ggPSBtbHg0X2FsbG9jX2NtZF9tYWlsYm94KGRldik7CisJaWYgKElTX0VSUihtYWlsYm94KSkKKwkJcmV0dXJuIFBUUl9FUlIobWFpbGJveCk7CisJaW5ib3ggPSBtYWlsYm94LT5idWY7CisKKwltZW1zZXQoaW5ib3gsIDAsIE1PRF9TVEFUX0NGR19JTl9TSVpFKTsKKworCU1MWDRfUFVUKGluYm94LCBjZmctPmxvZ19wZ19zeiwgTU9EX1NUQVRfQ0ZHX1BHX1NaX09GRlNFVCk7CisJTUxYNF9QVVQoaW5ib3gsIGNmZy0+bG9nX3BnX3N6X20sIE1PRF9TVEFUX0NGR19QR19TWl9NX09GRlNFVCk7CisKKwllcnIgPSBtbHg0X2NtZChkZXYsIG1haWxib3gtPmRtYSwgMCwgMCwgTUxYNF9DTURfTU9EX1NUQVRfQ0ZHLAorCQkJTUxYNF9DTURfVElNRV9DTEFTU19BKTsKKworCW1seDRfZnJlZV9jbWRfbWFpbGJveChkZXYsIG1haWxib3gpOworCXJldHVybiBlcnI7Cit9CisKIGludCBtbHg0X1FVRVJZX0RFVl9DQVAoc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X2Rldl9jYXAgKmRldl9jYXApCiB7CiAJc3RydWN0IG1seDRfY21kX21haWxib3ggKm1haWxib3g7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg0L2Z3LmggYi9kcml2ZXJzL25ldC9tbHg0L2Z3LmgKaW5kZXggMzA2Y2I5Yi4uYTBlMDQ2YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWx4NC9mdy5oCisrKyBiL2RyaXZlcnMvbmV0L21seDQvZncuaApAQCAtMzgsNiArMzgsMTEgQEAKICNpbmNsdWRlICJtbHg0LmgiCiAjaW5jbHVkZSAiaWNtLmgiCiAKK3N0cnVjdCBtbHg0X21vZF9zdGF0X2NmZyB7CisJdTggbG9nX3BnX3N6OworCXU4IGxvZ19wZ19zel9tOworfTsKKwogc3RydWN0IG1seDRfZGV2X2NhcCB7CiAJaW50IG1heF9zcnFfc3o7CiAJaW50IG1heF9xcF9zejsKQEAgLTE2Miw1ICsxNjcsNiBAQAogaW50IG1seDRfTUFQX0lDTV9BVVgoc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X2ljbSAqaWNtKTsKIGludCBtbHg0X1VOTUFQX0lDTV9BVVgoc3RydWN0IG1seDRfZGV2ICpkZXYpOwogaW50IG1seDRfTk9QKHN0cnVjdCBtbHg0X2RldiAqZGV2KTsKK2ludCBtbHg0X01PRF9TVEFUX0NGRyhzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfbW9kX3N0YXRfY2ZnICpjZmcpOwogCiAjZW5kaWYgLyogTUxYNF9GV19IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg0L21haW4uYyBiL2RyaXZlcnMvbmV0L21seDQvbWFpbi5jCmluZGV4IGE2YWE0OWYuLmQzNzM2MDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L21seDQvbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L21seDQvbWFpbi5jCkBAIC00ODUsNiArNDg1LDcgQEAKIAlzdHJ1Y3QgbWx4NF9wcml2CSAgKnByaXYgPSBtbHg0X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgbWx4NF9hZGFwdGVyCSAgIGFkYXB0ZXI7CiAJc3RydWN0IG1seDRfZGV2X2NhcAkgICBkZXZfY2FwOworCXN0cnVjdCBtbHg0X21vZF9zdGF0X2NmZyAgIG1seDRfY2ZnOwogCXN0cnVjdCBtbHg0X3Byb2ZpbGUJICAgcHJvZmlsZTsKIAlzdHJ1Y3QgbWx4NF9pbml0X2hjYV9wYXJhbSBpbml0X2hjYTsKIAl1NjQgaWNtX3NpemU7CkBAIC01MDIsNiArNTAzLDEyIEBACiAJCXJldHVybiBlcnI7CiAJfQogCisJbWx4NF9jZmcubG9nX3BnX3N6X20gPSAxOworCW1seDRfY2ZnLmxvZ19wZ19zeiA9IDA7CisJZXJyID0gbWx4NF9NT0RfU1RBVF9DRkcoZGV2LCAmbWx4NF9jZmcpOworCWlmIChlcnIpCisJCW1seDRfd2FybihkZXYsICJGYWlsZWQgdG8gb3ZlcnJpZGUgbG9nX3BnX3N6IHBhcmFtZXRlclxuIik7CisKIAllcnIgPSBtbHg0X2Rldl9jYXAoZGV2LCAmZGV2X2NhcCk7CiAJaWYgKGVycikgewogCQltbHg0X2VycihkZXYsICJRVUVSWV9ERVZfQ0FQIGNvbW1hbmQgZmFpbGVkLCBhYm9ydGluZy5cbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NC9tY2cuYyBiL2RyaXZlcnMvbmV0L21seDQvbWNnLmMKaW5kZXggNTdmN2YxZi4uYjRiNTc4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWx4NC9tY2cuYworKysgYi9kcml2ZXJzL25ldC9tbHg0L21jZy5jCkBAIC0zOCw2ICszOCw5IEBACiAKICNpbmNsdWRlICJtbHg0LmgiCiAKKyNkZWZpbmUgTUdNX1FQTl9NQVNLICAgICAgIDB4MDBGRkZGRkYKKyNkZWZpbmUgTUdNX0JMQ0tfTEJfQklUICAgIDMwCisKIHN0cnVjdCBtbHg0X21nbSB7CiAJX19iZTMyCQkJbmV4dF9naWRfaW5kZXg7CiAJX19iZTMyCQkJbWVtYmVyc19jb3VudDsKQEAgLTE1Myw3ICsxNTYsOCBAQAogCXJldHVybiBlcnI7CiB9CiAKLWludCBtbHg0X211bHRpY2FzdF9hdHRhY2goc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X3FwICpxcCwgdTggZ2lkWzE2XSkKK2ludCBtbHg0X211bHRpY2FzdF9hdHRhY2goc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X3FwICpxcCwgdTggZ2lkWzE2XSwKKwkJCSAgaW50IGJsb2NrX21jYXN0X2xvb3BiYWNrKQogewogCXN0cnVjdCBtbHg0X3ByaXYgKnByaXYgPSBtbHg0X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgbWx4NF9jbWRfbWFpbGJveCAqbWFpbGJveDsKQEAgLTIwMiwxMyArMjA2LDE4IEBACiAJfQogCiAJZm9yIChpID0gMDsgaSA8IG1lbWJlcnNfY291bnQ7ICsraSkKLQkJaWYgKG1nbS0+cXBbaV0gPT0gY3B1X3RvX2JlMzIocXAtPnFwbikpIHsKKwkJaWYgKChiZTMyX3RvX2NwdShtZ20tPnFwW2ldKSAmIE1HTV9RUE5fTUFTSykgPT0gcXAtPnFwbikgewogCQkJbWx4NF9kYmcoZGV2LCAiUVAgJTA2eCBhbHJlYWR5IGEgbWVtYmVyIG9mIE1HTVxuIiwgcXAtPnFwbik7CiAJCQllcnIgPSAwOwogCQkJZ290byBvdXQ7CiAJCX0KIAotCW1nbS0+cXBbbWVtYmVyc19jb3VudCsrXSA9IGNwdV90b19iZTMyKHFwLT5xcG4pOworCWlmIChibG9ja19tY2FzdF9sb29wYmFjaykKKwkJbWdtLT5xcFttZW1iZXJzX2NvdW50KytdID0gY3B1X3RvX2JlMzIoKHFwLT5xcG4gJiBNR01fUVBOX01BU0spIHwKKwkJCQkJCSAgICAgICAoMSA8PCBNR01fQkxDS19MQl9CSVQpKTsKKwllbHNlCisJCW1nbS0+cXBbbWVtYmVyc19jb3VudCsrXSA9IGNwdV90b19iZTMyKHFwLT5xcG4gJiBNR01fUVBOX01BU0spOworCiAJbWdtLT5tZW1iZXJzX2NvdW50ICAgICAgID0gY3B1X3RvX2JlMzIobWVtYmVyc19jb3VudCk7CiAKIAllcnIgPSBtbHg0X1dSSVRFX01DRyhkZXYsIGluZGV4LCBtYWlsYm94KTsKQEAgLTI4Myw3ICsyOTIsNyBAQAogCiAJbWVtYmVyc19jb3VudCA9IGJlMzJfdG9fY3B1KG1nbS0+bWVtYmVyc19jb3VudCk7CiAJZm9yIChsb2MgPSAtMSwgaSA9IDA7IGkgPCBtZW1iZXJzX2NvdW50OyArK2kpCi0JCWlmIChtZ20tPnFwW2ldID09IGNwdV90b19iZTMyKHFwLT5xcG4pKQorCQlpZiAoKGJlMzJfdG9fY3B1KG1nbS0+cXBbaV0pICYgTUdNX1FQTl9NQVNLKSA9PSBxcC0+cXBuKQogCQkJbG9jID0gaTsKIAogCWlmIChsb2MgPT0gLTEpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L215cmkxMGdlL215cmkxMGdlLmMgYi9kcml2ZXJzL25ldC9teXJpMTBnZS9teXJpMTBnZS5jCmluZGV4IGUwZDc2YzcuLjgyM2JiNmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L215cmkxMGdlL215cmkxMGdlLmMKKysrIGIvZHJpdmVycy9uZXQvbXlyaTEwZ2UvbXlyaTEwZ2UuYwpAQCAtNTI5LDYgKzUyOSw3IEBACiAJdW5zaWduZWQgY3JjLCByZXJlYWRfY3JjOwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAJc3RydWN0IGRldmljZSAqZGV2ID0gJm1ncC0+cGRldi0+ZGV2OworCXVuc2lnbmVkIGNoYXIgKmZ3X3JlYWRiYWNrOwogCXN0cnVjdCBtY3BfZ2VuX2hlYWRlciAqaGRyOwogCXNpemVfdCBoZHJfb2Zmc2V0OwogCWludCBzdGF0dXM7CkBAIC01NzEsOSArNTcyLDE1IEBACiAJCW1iKCk7CiAJCXJlYWRiKG1ncC0+c3JhbSk7CiAJfQorCWZ3X3JlYWRiYWNrID0gdm1hbGxvYyhmdy0+c2l6ZSk7CisJaWYgKCFmd19yZWFkYmFjaykgeworCQlzdGF0dXMgPSAtRU5PTUVNOworCQlnb3RvIGFib3J0X3dpdGhfZnc7CisJfQogCS8qIGNvcnJ1cHRpb24gY2hlY2tpbmcgaXMgZ29vZCBmb3IgcGFyaXR5IHJlY292ZXJ5IGFuZCBidWdneSBjaGlwc2V0ICovCi0JbWVtY3B5X2Zyb21pbyhmdy0+ZGF0YSwgbWdwLT5zcmFtICsgTVlSSTEwR0VfRldfT0ZGU0VULCBmdy0+c2l6ZSk7Ci0JcmVyZWFkX2NyYyA9IGNyYzMyKH4wLCBmdy0+ZGF0YSwgZnctPnNpemUpOworCW1lbWNweV9mcm9taW8oZndfcmVhZGJhY2ssIG1ncC0+c3JhbSArIE1ZUkkxMEdFX0ZXX09GRlNFVCwgZnctPnNpemUpOworCXJlcmVhZF9jcmMgPSBjcmMzMih+MCwgZndfcmVhZGJhY2ssIGZ3LT5zaXplKTsKKwl2ZnJlZShmd19yZWFkYmFjayk7CiAJaWYgKGNyYyAhPSByZXJlYWRfY3JjKSB7CiAJCWRldl9lcnIoZGV2LCAiQ1JDIGZhaWxlZChmdy1sZW49JXUpLCBnb3QgMHgleCAoZXhwZWN0IDB4JXgpXG4iLAogCQkJKHVuc2lnbmVkKWZ3LT5zaXplLCByZXJlYWRfY3JjLCBjcmMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBwX2dlbmVyaWMuYyBiL2RyaXZlcnMvbmV0L3BwcF9nZW5lcmljLmMKaW5kZXggMWY0Y2EyYi4uODM2MjVmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcHBwX2dlbmVyaWMuYworKysgYi9kcml2ZXJzL25ldC9wcHBfZ2VuZXJpYy5jCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+CiAjaW5jbHVkZSA8bGludXgvaXAuaD4KICNpbmNsdWRlIDxsaW51eC90Y3AuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcndzZW0uaD4KICNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KQEAgLTM1Myw2ICszNTQsNyBAQAogICovCiBzdGF0aWMgaW50IHBwcF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJLyoKIAkgKiBUaGlzIGNvdWxkIChzaG91bGQ/KSBiZSBlbmZvcmNlZCBieSB0aGUgcGVybWlzc2lvbnMgb24gL2Rldi9wcHAuCiAJICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHIuYyBiL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5jCmluZGV4IDVmMWM1MDcuLmZhNzNlNmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5jCisrKyBiL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5jCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CiAjaW5jbHVkZSA8bGludXgvdHJkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogCiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtNTksNyArNjAsNiBAQAogI2VuZGlmCiAKICNpbmNsdWRlICJzbWN0ci5oIiAgICAgICAgICAgICAgIC8qIE91ciBTdHVmZiAqLwotI2luY2x1ZGUgInNtY3RyX2Zpcm13YXJlLmgiICAgICAgLyogU01DIGFkYXB0ZXIgZmlybXdhcmUgKi8KIAogc3RhdGljIGNoYXIgdmVyc2lvbltdIF9faW5pdGRhdGEgPSBLRVJOX0lORk8gInNtY3RyLmM6IHYxLjQgNy8xMi8wMCBieSBqc2NobHN0QHNhbWJhLm9yZ1xuIjsKIHN0YXRpYyBjb25zdCBjaGFyIGNhcmRuYW1lW10gPSAic21jdHIiOwpAQCAtMTAzLDcgKzEwMyw4IEBACiBzdGF0aWMgaW50IHNtY3RyX2Nsb3NlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogCiAvKiBEICovCi1zdGF0aWMgaW50IHNtY3RyX2RlY29kZV9maXJtd2FyZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKK3N0YXRpYyBpbnQgc21jdHJfZGVjb2RlX2Zpcm13YXJlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCisJCQkJIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpOwogc3RhdGljIGludCBzbWN0cl9kaXNhYmxlXzE2Yml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogc3RhdGljIGludCBzbWN0cl9kaXNhYmxlX2FkYXB0ZXJfY3RybF9zdG9yZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKIHN0YXRpYyBpbnQgc21jdHJfZGlzYWJsZV9iaWNfaW50KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwpAQCAtNzQ4LDcgKzc0OSw4IEBACiAgICAgICAgIHJldHVybiAoMCk7CiB9CiAKLXN0YXRpYyBpbnQgc21jdHJfZGVjb2RlX2Zpcm13YXJlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCitzdGF0aWMgaW50IHNtY3RyX2RlY29kZV9maXJtd2FyZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAorCQkJCSBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQogewogICAgICAgICBzdHJ1Y3QgbmV0X2xvY2FsICp0cCA9IG5ldGRldl9wcml2KGRldik7CiAgICAgICAgIHNob3J0IGJpdCA9IDB4ODAsIHNoaWZ0ID0gMTI7CkBAIC03NjIsMTAgKzc2NCwxMCBAQAogICAgICAgICBpZihzbWN0cl9kZWJ1ZyA+IDEwKQogICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0RFQlVHICIlczogc21jdHJfZGVjb2RlX2Zpcm13YXJlXG4iLCBkZXYtPm5hbWUpOwogCi0gICAgICAgIHdlaWdodCAgPSAqKGxvbmcgKikodHAtPnB0cl91Y29kZSArIFdFSUdIVF9PRkZTRVQpOwotICAgICAgICB0c2l6ZSAgID0gKihfX3U4ICopKHRwLT5wdHJfdWNvZGUgKyBUUkVFX1NJWkVfT0ZGU0VUKTsKLSAgICAgICAgdHJlZSAgICA9IChERUNPREVfVFJFRV9OT0RFICopKHRwLT5wdHJfdWNvZGUgKyBUUkVFX09GRlNFVCk7Ci0gICAgICAgIHVjb2RlICAgPSAoX191OCAqKSh0cC0+cHRyX3Vjb2RlICsgVFJFRV9PRkZTRVQKKyAgICAgICAgd2VpZ2h0ICA9ICoobG9uZyAqKShmdy0+ZGF0YSArIFdFSUdIVF9PRkZTRVQpOworICAgICAgICB0c2l6ZSAgID0gKihfX3U4ICopKGZ3LT5kYXRhICsgVFJFRV9TSVpFX09GRlNFVCk7CisgICAgICAgIHRyZWUgICAgPSAoREVDT0RFX1RSRUVfTk9ERSAqKShmdy0+ZGF0YSArIFRSRUVfT0ZGU0VUKTsKKyAgICAgICAgdWNvZGUgICA9IChfX3U4ICopKGZ3LT5kYXRhICsgVFJFRV9PRkZTRVQKICAgICAgICAgICAgICAgICAgICAgICAgICsgKHRzaXplICogc2l6ZW9mKERFQ09ERV9UUkVFX05PREUpKSk7CiAgICAgICAgIG1lbSAgICAgPSAoX191MTYgKikodHAtPnJhbV9hY2Nlc3MpOwogCkBAIC0yOTYzLDM0ICsyOTY1LDQ0IEBACiBzdGF0aWMgaW50IHNtY3RyX2xvYWRfZmlybXdhcmUoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIHsKICAgICAgICAgc3RydWN0IG5ldF9sb2NhbCAqdHAgPSBuZXRkZXZfcHJpdihkZXYpOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAgICAgICAgIF9fdTE2IGksIGNoZWNrc3VtID0gMDsKICAgICAgICAgaW50IGVyciA9IDA7CiAKICAgICAgICAgaWYoc21jdHJfZGVidWcgPiAxMCkKICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9ERUJVRyAiJXM6IHNtY3RyX2xvYWRfZmlybXdhcmVcbiIsIGRldi0+bmFtZSk7CiAKLSAgICAgICAgdHAtPnB0cl91Y29kZSAgICAgICAgICAgPSBzbWN0cl9jb2RlOworCWlmIChyZXF1ZXN0X2Zpcm13YXJlKCZmdywgInRyX3NtY3RyLmJpbiIsICZkZXYtPmRldikpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogZmlybXdhcmUgbm90IGZvdW5kXG4iLCBkZXYtPm5hbWUpOworCQlyZXR1cm4gKFVDT0RFX05PVF9QUkVTRU5UKTsKKwl9CisKICAgICAgICAgdHAtPm51bV9vZl90eF9idWZmcyAgICAgPSA0OwogICAgICAgICB0cC0+bW9kZV9iaXRzICAgICAgICAgIHw9IFVNQUM7CiAgICAgICAgIHRwLT5yZWNlaXZlX21hc2sgICAgICAgID0gMDsKICAgICAgICAgdHAtPm1heF9wYWNrZXRfc2l6ZSAgICAgPSA0MTc3OwogCiAgICAgICAgIC8qIENhbiBvbmx5IHVwbG9hZCB0aGUgZmlybXdhcmUgb25jZSBwZXIgYWRhcHRlciByZXNldC4gKi8KLSAgICAgICAgaWYodHAtPm1pY3JvY29kZV92ZXJzaW9uICE9IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuIChVQ09ERV9QUkVTRU5UKTsKKyAgICAgICAgaWYgKHRwLT5taWNyb2NvZGVfdmVyc2lvbiAhPSAwKSB7CisJCWVyciA9IChVQ09ERV9QUkVTRU5UKTsKKwkJZ290byBvdXQ7CisJfQogCiAgICAgICAgIC8qIFZlcmlmeSB0aGUgZmlybXdhcmUgZXhpc3RzIGFuZCBpcyB0aGVyZSBpbiB0aGUgcmlnaHQgYW1vdW50LiAqLwotICAgICAgICBpZiAoIXRwLT5wdHJfdWNvZGUKLSAgICAgICAgICAgICAgICB8fCAoKih0cC0+cHRyX3Vjb2RlICsgVUNPREVfVkVSU0lPTl9PRkZTRVQpIDwgVUNPREVfVkVSU0lPTikpCisgICAgICAgIGlmICghZnctPmRhdGEKKyAgICAgICAgICAgICAgICB8fCAoKihmdy0+ZGF0YSArIFVDT0RFX1ZFUlNJT05fT0ZGU0VUKSA8IFVDT0RFX1ZFUlNJT04pKQogICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIChVQ09ERV9OT1RfUFJFU0VOVCk7CisgICAgICAgICAgICAgICAgZXJyID0gKFVDT0RFX05PVF9QUkVTRU5UKTsKKwkJZ290byBvdXQ7CiAgICAgICAgIH0KIAogICAgICAgICAvKiBVQ09ERV9TSVpFIGlzIG5vdCBpbmNsdWRlZCBpbiBDaGVja3N1bS4gKi8KLSAgICAgICAgZm9yKGkgPSAwOyBpIDwgKigoX191MTYgKikodHAtPnB0cl91Y29kZSArIFVDT0RFX1NJWkVfT0ZGU0VUKSk7IGkgKz0gMikKLSAgICAgICAgICAgICAgICBjaGVja3N1bSArPSAqKChfX3UxNiAqKSh0cC0+cHRyX3Vjb2RlICsgMiArIGkpKTsKLSAgICAgICAgaWYoY2hlY2tzdW0pCi0gICAgICAgICAgICAgICAgcmV0dXJuIChVQ09ERV9OT1RfUFJFU0VOVCk7CisgICAgICAgIGZvcihpID0gMDsgaSA8ICooKF9fdTE2ICopKGZ3LT5kYXRhICsgVUNPREVfU0laRV9PRkZTRVQpKTsgaSArPSAyKQorICAgICAgICAgICAgICAgIGNoZWNrc3VtICs9ICooKF9fdTE2ICopKGZ3LT5kYXRhICsgMiArIGkpKTsKKyAgICAgICAgaWYgKGNoZWNrc3VtKSB7CisJCWVyciA9IChVQ09ERV9OT1RfUFJFU0VOVCk7CisJCWdvdG8gb3V0OworCX0KIAogICAgICAgICAvKiBBdCB0aGlzIHBvaW50IHdlIGhhdmUgYSB2YWxpZCBmaXJtd2FyZSBpbWFnZSwgbGV0cyBraWNrIGl0IG9uIHVwLiAqLwogICAgICAgICBzbWN0cl9lbmFibGVfYWRhcHRlcl9yYW0oZGV2KTsKQEAgLTI5OTgsNyArMzAxMCw3IEBACiAgICAgICAgIHNtY3RyX3NldF9wYWdlKGRldiwgKF9fdTggKil0cC0+cmFtX2FjY2Vzcyk7CiAKICAgICAgICAgaWYoKHNtY3RyX2NoZWNrc3VtX2Zpcm13YXJlKGRldikpCi0gICAgICAgICAgICAgICAgfHwgKCoodHAtPnB0cl91Y29kZSArIFVDT0RFX1ZFUlNJT05fT0ZGU0VUKQorICAgICAgICAgICAgICAgIHx8ICgqKGZ3LT5kYXRhICsgVUNPREVfVkVSU0lPTl9PRkZTRVQpCiAgICAgICAgICAgICAgICAgPiB0cC0+bWljcm9jb2RlX3ZlcnNpb24pKQogICAgICAgICB7CiAgICAgICAgICAgICAgICAgc21jdHJfZW5hYmxlX2FkYXB0ZXJfY3RybF9zdG9yZShkZXYpOwpAQCAtMzAwNyw5ICszMDE5LDkgQEAKICAgICAgICAgICAgICAgICBmb3IoaSA9IDA7IGkgPCBDU19SQU1fU0laRTsgaSArPSAyKQogICAgICAgICAgICAgICAgICAgICAgICAgKigoX191MTYgKikodHAtPnJhbV9hY2Nlc3MgKyBpKSkgPSAwOwogCi0gICAgICAgICAgICAgICAgc21jdHJfZGVjb2RlX2Zpcm13YXJlKGRldik7CisgICAgICAgICAgICAgICAgc21jdHJfZGVjb2RlX2Zpcm13YXJlKGRldiwgZncpOwogCi0gICAgICAgICAgICAgICAgdHAtPm1pY3JvY29kZV92ZXJzaW9uID0gKih0cC0+cHRyX3Vjb2RlICsgVUNPREVfVkVSU0lPTl9PRkZTRVQpOyAgICAgICAgICAgICAgICAqKChfX3UxNiAqKSh0cC0+cmFtX2FjY2VzcyArIENTX1JBTV9WRVJTSU9OX09GRlNFVCkpCisgICAgICAgICAgICAgICAgdHAtPm1pY3JvY29kZV92ZXJzaW9uID0gKihmdy0+ZGF0YSArIFVDT0RFX1ZFUlNJT05fT0ZGU0VUKTsgICAgICAgICAgICAgICAgKigoX191MTYgKikodHAtPnJhbV9hY2Nlc3MgKyBDU19SQU1fVkVSU0lPTl9PRkZTRVQpKQogICAgICAgICAgICAgICAgICAgICAgICAgPSAodHAtPm1pY3JvY29kZV92ZXJzaW9uIDw8IDgpOwogICAgICAgICAgICAgICAgICooKF9fdTE2ICopKHRwLT5yYW1fYWNjZXNzICsgQ1NfUkFNX0NIRUNLU1VNX09GRlNFVCkpCiAgICAgICAgICAgICAgICAgICAgICAgICA9IH4odHAtPm1pY3JvY29kZV92ZXJzaW9uIDw8IDgpICsgMTsKQEAgLTMwMjMsNyArMzAzNSw4IEBACiAgICAgICAgICAgICAgICAgZXJyID0gVUNPREVfUFJFU0VOVDsKIAogICAgICAgICBzbWN0cl9kaXNhYmxlXzE2Yml0KGRldik7Ci0KKyBvdXQ6CisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAgICAgICAgIHJldHVybiAoZXJyKTsKIH0KIApAQCAtNTY1MSw2ICs1NjY0LDcgQEAKIHN0YXRpYyBpbnQgaXJxW1NNQ1RSX01BWF9BREFQVEVSU107CiAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9GSVJNV0FSRSgidHJfc21jdHIuYmluIik7CiAKIG1vZHVsZV9wYXJhbV9hcnJheShpbywgaW50LCBOVUxMLCAwKTsKIG1vZHVsZV9wYXJhbV9hcnJheShpcnEsIGludCwgTlVMTCwgMCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHIuaCBiL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5oCmluZGV4IDg4ZGZhMmUuLjUyZGY3ZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5oCisrKyBiL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5oCkBAIC0xMDQyLDggKzEwNDIsNiBAQAogICAgICAgICBfX3UxNiAgICAgICAgICAgIGZ1bmN0aW9uYWxfYWRkcmVzc1syXTsKICAgICAgICAgX191MTYgICAgICAgICAgICBiaXR3aXNlX2dyb3VwX2FkZHJlc3NbMl07CiAKLQljb25zdCBfX3U4ICAgICAgICpwdHJfdWNvZGU7Ci0KIAlfX3U4CQljbGVhbnVwOwogCiAJc3RydWN0IHNrX2J1ZmZfaGVhZCBTZW5kU2tiUXVldWU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHJfZmlybXdhcmUuaCBiL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0cl9maXJtd2FyZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOTJlNTBkZGYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyX2Zpcm13YXJlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5NzggKzAsMCBAQAotLyoKLSAqIFRoZSBmaXJtd2FyZSB0aGlzIGRyaXZlciBkb3dubG9hZHMgaW50byB0aGUgdG9rZW5yaW5nIGNhcmQgaXMgYQotICogc2VwYXJhdGUgcHJvZ3JhbSBhbmQgaXMgbm90IEdQTCdkIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGUgTGludXgKLSAqIHNpZGUgZHJpdmVyIGFuZCB0aGUgcm91dGluZSB0aGF0IGxvYWRzIHRoaXMgZGF0YSBpbnRvIHRoZSBjYXJkIGFyZS4KLSAqCi0gKiBUaGlzIGZpcm13YXJlIGlzIGxpY2Vuc2VkIHRvIHlvdSBzdHJpY3RseSBmb3IgdXNlIGluIGNvbmp1bmN0aW9uCi0gKiB3aXRoIHRoZSB1c2Ugb2YgU01DIFRva2VuUmluZyBhZGFwdGVycy4gVGhlcmUgaXMgbm8gd2FyYW50eQotICogZXhwcmVzc2VkIG9yIGltcGxpZWQgYWJvdXQgaXRzIGZpdG5lc3MgZm9yIGFueSBwdXJwb3NlLgotICovCi0KLS8qIHNtY3RyX2Zpcm13YXJlLmg6IFNNQyBUb2tlblJpbmcgZHJpdmVyIGZpcm13YXJlIGR1bXAgZm9yIExpbnV4LgotICoKLSAqIE5vdGVzOgotICogIC0gVGhpcyBpcyBhbiA4SyBiaW5hcnkgaW1hZ2UuIChNQ1QuQklOIHY2LjNDMSAwMy8wMS85NSkKLSAqCi0gKiBBdXRob3JzOgotICogIC0gSmF5IFNjaHVsaXN0IDxqc2NobHN0QHNhbWJhLm9yZz4KLSAqLwotCi0KLSNpZiBkZWZpbmVkKENPTkZJR19TTUNUUikgfHwgZGVmaW5lZChDT05GSUdfU01DVFJfTU9EVUxFKQotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBzbWN0cl9jb2RlW10gPSB7Ci0JMHgwQkMsIDB4MDFELCAweDAxMiwgMHgwM0IsIDB4MDYzLCAweDBCNCwgMHgwRTksIDB4MDAwLAotCTB4MDAwLCAweDAxRiwgMHgwMDAsIDB4MDAxLCAweDAwMSwgMHgwMDAsIDB4MDAyLCAweDAwNSwKLQkweDAwMSwgMHgwMDAsIDB4MDA2LCAweDAwMywgMHgwMDEsIDB4MDAwLCAweDAwNCwgMHgwMDksCi0JMHgwMDEsIDB4MDAwLCAweDAwQSwgMHgwMDcsIDB4MDAxLCAweDAwMCwgMHgwMDgsIDB4MDBCLAotCTB4MDAxLCAweDAwMCwgMHgwMEMsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwRiwKLQkweDAwMSwgMHgwMDAsIDB4MDEwLCAweDAwRCwgMHgwMDEsIDB4MDAwLCAweDAwRSwgMHgwMTMsCi0JMHgwMDEsIDB4MDAwLCAweDAxNCwgMHgwMTEsIDB4MDAxLCAweDAwMCwgMHgwMTIsIDB4MDAwLAotCTB4MDAwLCAweDAwNSwgMHgwMDAsIDB4MDE1LCAweDAwMSwgMHgwMDAsIDB4MDE2LCAweDAxOSwKLQkweDAwMSwgMHgwMDAsIDB4MDFBLCAweDAxNywgMHgwMDEsIDB4MDAwLCAweDAxOCwgMHgwMDAsCi0JMHgwMDAsIDB4MDBFLCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwMSwgMHgwMDAsIDB4MDAwLAotCTB4MDAwLCAweDAwNCwgMHgwMDAsIDB4MDFCLCAweDAwMSwgMHgwMDAsIDB4MDFDLCAweDAwMCwKLQkweDAwMCwgMHgwMDcsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDBGLCAweDAwMCwgMHgwMDAsCi0JMHgwMDAsIDB4MDBCLCAweDAwMCwgMHgwMUQsIDB4MDAxLCAweDAwMCwgMHgwMUUsIDB4MDAwLAotCTB4MDAwLCAweDAwOCwgMHgwMDAsIDB4MDAwLCAweDAwMCwgMHgwMDIsIDB4MDAwLCAweDAwMCwKLQkweDAwMCwgMHgwMEMsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDA2LCAweDAwMCwgMHgwMDAsCi0JMHgwMDAsIDB4MDBELCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwMywgMHgwMDAsIDB4MDAwLAotCTB4MDAwLCAweDAwQSwgMHgwMDAsIDB4MDAwLCAweDAwMCwgMHgwMDksIDB4MDAwLCAweDAwNCwKLQkweDA3OCwgMHgwQzYsIDB4MEJDLCAweDAwMSwgMHgwOTQsIDB4MDA0LCAweDA5MywgMHgwODAsCi0JMHgwQzgsIDB4MDQwLCAweDA2MiwgMHgwRTksIDB4MERBLCAweDAxQywgMHgwMkMsIDB4MDE1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1OCwKLQkweDAwQiwgMHgwRTksIDB4MEU1LCAweDBENSwgMHgwOTUsIDB4MEMxLCAweDA5RCwgMHgwNzcsCi0JMHgwQ0UsIDB4MEJCLCAweDBBMCwgMHgwNkUsIDB4MDFDLCAweDAwNSwgMHgwRjYsIDB4MDc3LAotCTB4MEM2LCAweDAwMiwgMHgwRkEsIDB4MDk2LCAweDA3MCwgMHgwRTgsIDB4MDFELCAweDBDMCwKLQkweDAxNywgMHgwMEUsIDB4MDAyLCAweDBGQSwgMHgwNTgsIDB4MDdELCAweDBDMCwgMHgwNUYsCi0JMHgwNzIsIDB4MENFLCAweDBFQywgMHgwQTQsIDB4MEMzLCAweDA4NCwgMHgwOTAsIDB4MDdBLAotCTB4MDMwLCAweDBDRCwgMHgwOEQsIDB4MDc5LCAweDAxOSwgMHgwRTcsIDB4MDZDLCAweDAyNCwKLQkweDAyNywgMHgwOUMsIDB4MDA4LCAweDAzOSwgMHgwMDcsIDB4MDM4LCAweDBBOCwgMHgwNEEsCi0JMHgwNEMsIDB4MEVBLCAweDA0RCwgMHgwOTgsIDB4MDlCLCAweDAyNCwgMHgwNEMsIDB4MEMwLAotCTB4MDI2LCAweDBEMywgMHgwRTcsIDB4MDU0LCAweDA1QSwgMHgwNEQsIDB4MEYyLCAweDA0QywKLQkweDAwQywgMHgwMTMsIDB4MDIzLCAweDA0OSwgMHgwOTAsIDB4MDMyLCAweDA2RSwgMHgwQTQsCi0JMHgwREYsIDB4MDkzLCAweDA3MSwgMHgwMTMsIDB4MDc3LCAweDAyNiwgMHgwRTEsIDB4MDI2LAotCTB4MEY4LCAweDAyNiwgMHgwMEMsIDB4MDRDLCAweDAxMiwgMHgwMjYsIDB4MDA4LCAweDAwOSwKLQkweDA4MiwgMHgwODIsIDB4MDYwLCAweDBBOSwgMHgwMzAsIDB4MDc5LCAweDAzNiwgMHgwQjAsCi0JMHgwQjIsIDB4MEE4LCAweDBBNywgMHgwNzIsIDB4MDY0LCAweDA4RiwgMHgwOUIsIDB4MDMzLAotCTB4MDMzLCAweDBGOSwgMHgwQjgsIDB4MDM5LCAweDBENSwgMHgwMTEsIDB4MDczLCAweDBBQSwKLQkweDA3NSwgMHgwMjYsIDB4MDVELCAweDAyNiwgMHgwNTEsIDB4MDkzLCAweDAyQSwgMHgwNDksCi0JMHgwOTQsIDB4MEM5LCAweDA5NSwgMHgwODksIDB4MEJDLCAweDA0RCwgMHgwQzgsIDB4MDlCLAotCTB4MDgwLCAweDA5QiwgMHgwQTAsIDB4MDk5LCAweDAwNiwgMHgwNEMsIDB4MDg2LCAweDAyNiwKLQkweDA1OCwgMHgwOUIsIDB4MEE0LCAweDA5QiwgMHgwOTksIDB4MDM3LCAweDA2MiwgMHgwNkMsCi0JMHgwNjcsIDB4MDlCLCAweDAzMywgMHgwMzAsIDB4MEJGLCAweDAzNiwgMHgwNjYsIDB4MDYxLAotCTB4MEJGLCAweDAzNiwgMHgwRUMsIDB4MEM1LCAweDBCRCwgMHgwNjYsIDB4MDgyLCAweDA1QSwKLQkweDA1MCwgMHgwMzEsIDB4MEQ1LCAweDA5RCwgMHgwOTgsIDB4MDE4LCAweDAyOSwgMHgwM0MsCi0JMHgwOTgsIDB4MDg2LCAweDA0QywgMHgwMTcsIDB4MDI2LCAweDAzRSwgMHgwMkMsIDB4MEI4LAotCTB4MDY5LCAweDAzQiwgMHgwNDksIDB4MDJFLCAweDBCNCwgMHgwMDgsIDB4MDQzLCAweDAxQSwKLQkweDBBNCwgMHgwRjksIDB4MEIzLCAweDA1MSwgMHgwRjEsIDB4MDEwLCAweDBGMywgMHgwNDMsCi0JMHgwQ0QsIDB4MDA4LCAweDA2RiwgMHgwNjMsIDB4MDc5LCAweDBCMywgMHgwMzMsIDB4MDBFLAotCTB4MDEzLCAweDA5OCwgMHgwNDksIDB4MDk4LCAweDAwNCwgMHgwREEsIDB4MDdDLCAweDBFMCwKLQkweDA1MiwgMHgwNzksIDB4MDMxLCAweDAwQywgMHgwOTgsIDB4MDJFLCAweDA0RCwgMHgwQUMsCi0JMHgwMkMsIDB4MDg0LCAweDAxNCwgMHgwRUUsIDB4MDRDLCAweDBGRSwgMHgwNjcsIDB4MDVFLAotCTB4MEU0LCAweDA5QSwgMHgwNzUsIDB4MDI5LCAweDBENywgMHgwQTksIDB4MDM1LCAweDAzQSwKLQkweDA5NCwgMHgwNUIsIDB4MEQ1LCAweDA5QiwgMHgwNTgsIDB4MEI0LCAweDBBRiwgMHgwNzUsCi0JMHgwNjYsIDB4MEFGLCAweDAxNCwgMHgwQTksIDB4MEVGLCAweDA0MCwgMHgwOTUsIDB4MDI1LAotCTB4MDA4LCAweDBCOSwgMHgwQUQsIDB4MDQyLCAweDBGQywgMHgwRDgsIDB4MEQ5LCAweDA4QywKLQkweDAzMywgMHgwMEUsIDB4MDEzLCAweDA5OCwgMHgwNjYsIDB4MDFFLCAweDA0NSwgMHgwQUMsCi0JMHgwQjAsIDB4MDBDLCAweDA0MiwgMHgwRDMsIDB4MENDLCAweDBBNiwgMHgwMTIsIDB4MDYyLAotCTB4MERFLCAweDBCNCwgMHgwQjEsIDB4MDgwLCAweDA0OSwgMHgwN0QsIDB4MEEyLCAweDBERSwKLQkweDBCNCwgMHgwMTgsIDB4MEMwLCAweDAyNCwgMHgwODQsIDB4MEU2LCAweDA1NCwgMHgwRjUsCi0JMHgwODMsIDB4MDQ2LCAweDAwMSwgMHgwNjgsIDB4MDFBLCAweDA2MywgMHgwMEMsIDB4MEM2LAotCTB4MDEyLCAweDA2NCwgMHgwRkEsIDB4MDRDLCAweDAzNSwgMHgwMUMsIDB4MDJDLCAweDAwRSwKLQkweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsCi0JMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBRCwgMHgwRDcsIDB4MDAyLAotCTB4MDcwLCAweDBFMCwgMHgwNEMsIDB4MEYzLCAweDBBMSwgMHgwQzEsIDB4MEQ1LCAweDBDMCwKLQkweDAzQywgMHgwQjksIDB4MDY5LCAweDAzOSwgMHgwNjAsIDB4MDRFLCAweDA1OCwgMHgwNzcsCi0JMHgwMDIsIDB4MDY3LCAweDA5MywgMHgwM0MsIDB4MDk5LCAweDBFNCwgMHgwQ0YsIDB4MDM4LAotCTB4MDFDLCAweDA5NywgMHgwMkUsIDB4MDQwLCAweDAxQiwgMHgwOTAsIDB4MDMxLCAweDA0NiwKLQkweDBBMywgMHgwNUUsIDB4MDBFLCAweDA4OCwgMHgwMzQsIDB4MDZBLCAweDAzNSwgMHgwRTAsCi0JMHgwRTgsIDB4MEFBLCAweDAzNSwgMHgwMUEsIDB4MEE5LCAweDBGNSwgMHgwMTUsIDB4MDQ2LAotCTB4MEEzLCAweDBFQSwgMHgwN0QsIDB4MDRBLCAweDBBMywgMHgwNTEsIDB4MEFBLCAweDA5RiwKLQkweDA3MCwgMHgwNTQsIDB4MEE2LCAweDA1NywgMHgwMkUsIDB4MEI0LCAweDBDRCwgMHgwQzgsCi0JMHgwQTMsIDB4MDBDLCAweDBDMSwgMHgwREEsIDB4MEM2LCAweDBFMSwgMHgwQ0IsIDB4MDdBLAotCTB4MEQ0LCAweDAxQywgMHgwNjgsIDB4MEZGLCAweDBDRiwgMHgwNTUsIDB4MEE4LCAweDBDMCwKLQkweDAyRCwgMHgwODUsIDB4MDExLCAweDAxNywgMHgwNDQsIDB4MDJBLCAweDAzMCwgMHgwMEIsCi0JMHgwNEEsIDB4MDg4LCAweDBDMiwgMHgwNEQsIDB4MEI1LCAweDAyMCwgMHgwRDUsIDB4MDI2LAotCTB4MDAxLCAweDA2OSwgMHgwNTEsIDB4MDY5LCAweDA1MiwgMHgwMTksIDB4MDUyLCAweDA2MCwKLQkweDAxNiwgMHgwOTUsIDB4MDE2LCAweDA4MiwgMHgwOTYsIDB4MDU0LCAweDA5OCwgMHgwMDUsCi0JMHgwQTUsIDB4MDQ1LCAweDBGMywgMHgwREQsIDB4MDZBLCAweDBGOSwgMHgwMjgsIDB4MDE4LAotCTB4MEVGLCAweDAwMCwgMHgwMzAsIDB4MDMwLCAweDA1MSwgMHgwNEUsIDB4MDQ0LCAweDA1RCwKLQkweDAxMiwgMHgwRDEsIDB4MDQzLCAweDBFNiwgMHgwMTIsIDB4MDZGLCAweDA5RSwgMHgwQkEsCi0JMHgwQ0MsIDB4MERGLCAweDAyNSwgMHgwMDMsIDB4MDFELCAweDBFMCwgMHgwMDYsIDB4MDA2LAotCTB4MDBBLCAweDAzMCwgMHgwQ0MsIDB4MEE5LCAweDBFQiwgMHgwMkQsIDB4MDAwLCAweDA4NiwKLQkweDBBNiwgMHgwMTIsIDB4MDY1LCAweDA0RiwgMHgwNTYsIDB4MEQ2LCAweDA2NSwgMHgwNDksCi0JMHgwNUYsIDB4MDNELCAweDBFOCwgMHgwMzcsIDB4MEM5LCAweDA0MCwgMHgwQzcsIDB4MDc4LAotCTB4MDAxLCAweDA4MSwgMHgwODIsIDB4MDhDLCAweDAzMywgMHgwMTgsIDB4MDQ5LCAweDA4MCwKLQkweDBBRSwgMHgwNDAsIDB4MEM1LCAweDAxOCwgMHgwMDUsIDB4MDlDLCAweDA2RCwgMHgwMTgsCi0JMHgwNjYsIDB4MDBFLCAweDBGMywgMHgwQTAsIDB4MEM2LCAweDAxMiwgMHgwNjIsIDB4MERFLAotCTB4MEY1LCAweDAwNCwgMHgwQjQsIDB4MEFDLCAweDA2QiwgMHgwQzYsIDB4MDE5LCAweDA5MSwKLQkweDA3MywgMHgwMDUsIDB4MDQ4LCAweDAyRSwgMHgwNzIsIDB4MDk0LCAweDA4MCwgMHgwNzMsCi0JMHgwQTEsIDB4MEM4LCAweDA0NywgMHgwMzYsIDB4MDY2LCAweDA2NCwgMHgwMkYsIDB4MDM2LAotCTB4MDY2LCAweDA2NCwgMHgwMDcsIDB4MDk5LCAweDAwMiwgMHgwOTEsIDB4MDhFLCAweDA3MiwKLQkweDBEMSwgMHgwMEYsIDB4MDlELCAweDAwNiwgMHgwMzEsIDB4MDczLCAweDBBMCwgMHgwQzMsCi0JMHgwNTEsIDB4MDZBLCAweDAxQSwgMHgwMjAsIDB4MEJGLCAweDAzQSwgMHgwMEMsIDB4MDJDLAotCTB4MDczLCAweDA4NywgMHgwNDMsIDB4MDVFLCAweDA2MCwgMHgwMDIsIDB4MDIzLCAweDBGQywKLQkweDBFMCwgMHgwRDYsIDB4MDM1LCAweDBFRiwgMHgwOUUsIDB4MEY1LCAweDBFRiwgMHgwOTIsCi0JMHgwODEsIDB4MDhFLCAweDBGMCwgMHgwMDMsIDB4MDAzLCAweDAwNSwgMHgwMTgsIDB4MDY2LAotCTB4MDQ1LCAweDBDQywgMHgwMEIsIDB4MDQ4LCAweDAyRSwgMHgwNzAsIDB4MDBBLCAweDA0MCwKLQkweDAzOSwgMHgwRDAsIDB4MEU0LCAweDAyMywgMHgwOUIsIDB4MDMzLCAweDAzMiwgMHgwMTcsCi0JMHgwOUIsIDB4MDMzLCAweDAzMiwgMHgwMDMsIDB4MENDLCAweDA4NSwgMHgwNDgsIDB4MEM3LAotCTB4MDM4LCAweDAxNCwgMHgwQTUsIDB4MENFLCAweDAyOSwgMHgwN0UsIDB4MEQyLCAweDA4MCwKLQkweDBBMSwgMHgwQTgsIDB4MEI0LCAweDA0OCwgMHgwODgsIDB4MDJGLCAweDBDRSwgMHgwODMsCi0JMHgwMEIsIDB4MDFDLCAweDBFMSwgMHgwRDAsIDB4MEQ3LCAweDA5OCwgMHgwMDQsIDB4MDg4LAotCTB4MDg3LCAweDBDRSwgMHgwOTYsIDB4MDMxLCAweDA3MywgMHgwQTUsIDB4MDhGLCAweDBGMywKLQkweDA4MywgMHgwNTgsIDB4MEQ3LCAweDBCRSwgMHgwN0IsIDB4MDgyLCAweDBBRiwgMHgwOTIsCi0JMHgwODEsIDB4MDhFLCAweDBGMCwgMHgwMDMsIDB4MDAzLCAweDAwNSwgMHgwMTgsIDB4MDY2LAotCTB4MDQ1LCAweDBDQywgMHgwMTUsIDB4MDIwLCAweDBCOSwgMHgwQzgsIDB4MDI5LCAweDAwMCwKLQkweDBFNywgMHgwNDMsIDB4MDkwLCAweDA4RSwgMHgwNkMsIDB4MENDLCAweDBDOCwgMHgwNUUsCi0JMHgwNkMsIDB4MENDLCAweDBDOCwgMHgwMEYsIDB4MDMyLCAweDAwNSwgMHgwMjMsIDB4MDFDLAotCTB4MEU0LCAweDA1MCwgMHgwRDQsIDB4MDVBLCAweDAxNywgMHgwODgsIDB4MDJGLCAweDBDRSwKLQkweDA4MywgMHgwMTAsIDB4MEY5LCAweDBEMCwgMHgwMjMsIDB4MDE3LCAweDAzQSwgMHgwMDQsCi0JMHgwMzUsIDB4MEU2LCAweDAwMCwgMHgwMjIsIDB4MDE2LCAweDAzOSwgMHgwQzMsIDB4MEEzLAotCTB4MEZDLCAweDBFMCwgMHgwRDYsIDB4MDM1LCAweDBFMCwgMHgwQkYsIDB4MEY0LCAweDAxOCwKLQkweDBGMiwgMHgwMkQsIDB4MDRELCAweDA0MywgMHgwNTEsIDB4MDZFLCAweDA1QSwgMHgwMjIsCi0JMHgwMUYsIDB4MDMwLCAweDBENCwgMHgwMTcsIDB4MEU3LCAweDA0MSwgMHgwOTEsIDB4MDczLAotCTB4MDA1LCAweDA0OCwgMHgwMkUsIDB4MDc3LCAweDA2OSwgMHgwMDAsIDB4MEU3LCAweDA0MywKLQkweDA5MCwgMHgwOEUsIDB4MDZDLCAweDBDQywgMHgwQzgsIDB4MDVFLCAweDA2QywgMHgwQ0MsCi0JMHgwQzgsIDB4MDBGLCAweDAzMiwgMHgwMDUsIDB4MDIzLCAweDAxQywgMHgwRUYsIDB4MDRDLAotCTB4MDRFLCAweDAwNiwgMHgwMDQsIDB4MEM5LCAweDA5RSwgMHgwMEIsIDB4MEZGLCAweDA0MSwKLQkweDA4RiwgMHgwMjIsIDB4MEQ0LCAweDBENCwgMHgwMzUsIDB4MDE2LCAweDBFNSwgMHgwQTIsCi0JMHgwMjEsIDB4MEYzLCAweDA1QSwgMHgwODIsIDB4MEZDLCAweDBFOCwgMHgwMzIsIDB4MDJFLAotCTB4MDYwLCAweDBBOSwgMHgwMDUsIDB4MENFLCAweDAxMywgMHgwNDgsIDB4MDA3LCAweDAzQSwKLQkweDAxQywgMHgwODQsIDB4MDczLCAweDA2NiwgMHgwNjYsIDB4MDQyLCAweDBGMywgMHgwNjYsCi0JMHgwNjYsIDB4MDQwLCAweDA3OSwgMHgwOTAsIDB4MDI5LCAweDAxOCwgMHgwRTcsIDB4MDBBLAotCTB4MDk4LCAweDA5QywgMHgwMEEsIDB4MDlFLCAweDBCNSwgMHgwMTIsIDB4MDVDLCAweDA3QywKLQkweDBDMywgMHgwMzEsIDB4MDhCLCAweDA5OCwgMHgwMkEsIDB4MDdDLCAweDBEMywgMHgwRUQsCi0JMHgwMzgsIDB4MEU5LCAweDBEMywgMHgwNEUsIDB4MDc0LCAweDBFRCwgMHgwNDksIDB4MDlFLAotCTB4MDBCLCAweDBGRiwgMHgwNDEsIDB4MDhGLCAweDAyMiwgMHgwRDQsIDB4MEQ0LCAweDAzNSwKLQkweDAxNiwgMHgwRTUsIDB4MEEyLCAweDAyRCwgMHgwRUIsIDB4MDQ1LCAweDAzMywgMHgwOEYsCi0JMHgwRkMsIDB4MEY3LCAweDBBMCwgMHgwNUYsIDB4MDI1LCAweDAwMywgMHgwMUQsIDB4MEU0LAotCTB4MDBFLCAweDAwNiwgMHgwMEEsIDB4MDMwLCAweDBDQywgMHgwMEMsIDB4MEYzLCAweDBFQiwKLQkweDA0MCwgMHgwREUsIDB4MDYxLCAweDBBOCwgMHgwNzAsIDB4MDkyLCAweDAwQSwgMHgwMDAsCi0JMHgwRTEsIDB4MDI0LCAweDAxRSwgMHgwMDAsIDB4MEUxLCAweDAyNCwgMHgwMUUsIDB4MDAwLAotCTB4MEUxLCAweDAyNCwgMHgwMUUsIDB4MDAwLCAweDBFMSwgMHgwMjQsIDB4MDFFLCAweDAwMCwKLQkweDBFMSwgMHgwMjQsIDB4MDFFLCAweDAwMSwgMHgwMEYsIDB4MDk4LCAweDAyQSwgMHgwMEIsCi0JMHgwRjMsIDB4MEEwLCAweDBDOCwgMHgwQjksIDB4MEEyLCAweDBBNCwgMHgwMTcsIDB4MDNBLAotCTB4MDY5LCAweDAwMCwgMHgwRTcsIDB4MDQzLCAweDA5MCwgMHgwOEUsIDB4MDc1LCAweDA0OCwKLQkweDA1RSwgMHgwNzAsIDB4MDY5LCAweDAwMSwgMHgwRTYsIDB4MDAwLCAweDA1MiwgMHgwMzEsCi0JMHgwQ0MsIDB4MDE4LCAweDAxNCwgMHgwQTUsIDB4MENDLCAweDAwOSwgMHgwODIsIDB4MDk0LAotCTB4MDczLCAweDAwQywgMHgwQTAsIDB4MDkxLCAweDBGNSwgMHgwMjUsIDB4MENDLCAweDAwNywKLQkweDAwNiwgMHgwODQsIDB4MDg0LCAweDA5RiwgMHgwMzAsIDB4MEEyLCAweDBBNCwgMHgwN0QsCi0JMHgwNTAsIDB4MDc1LCAweDBBNiwgMHgwNjUsIDB4MDAxLCAweDA0QSwgMHgwOEUsIDB4MEI0LAotCTB4MENDLCAweDBDNCwgMHgwMzUsIDB4MDU0LCAweDA3NSwgMHgwNjYsIDB4MEE0LCAweDA5NywKLQkweDA3QSwgMHgwODksIDB4MDUwLCAweDA1MywgMHgwMTMsIDB4MDgwLCAweDAxOSwgMHgwRTMsCi0JMHgwNDksIDB4MDVDLCAweDA2RCwgMHgwQ0UsIDB4MEE5LCAweDA0MCwgMHgwMzUsIDB4MDA2LAotCTB4MDc4LCAweDBEMiwgMHgwNTcsIDB4MDA2LCAweDBGMSwgMHgwQjMsIDB4MDJBLCAweDA4RCwKLQkweDA5NywgMHgwMjMsIDB4MDYyLCAweDA5MiwgMHgwNUQsIDB4MDY5LCAweDA5OSwgMHgwMUMsCi0JMHgwNkEsIDB4MDM2LCAweDBFNiwgMHgwQ0QsIDB4MDQ2LCAweDAxMiwgMHgwNkYsIDB4MDlFLAotCTB4MEUxLCAweDBBQiwgMHgwRTQsIDB4MEEzLCAweDAwQywgMHgwQzAsIDB4MERFLCAweDBBQywKLQkweDBENCwgMHgwMEQsIDB4MDI4LCAweDAxQiwgMHgwRDAsIDB4MDEyLCAweDBBNSwgMHgwMDAsCi0JMHgwRjgsIDB4MDRCLCAweDBBRCwgMHgwMzMsIDB4MDI4LCAweDAwNiwgMHgwQTAsIDB4MERFLAotCTB4MDE0LCAweDA5NywgMHgwM0EsIDB4MDg5LCAweDA1RCwgMHgwQzAsIDB4MDBELCAweDBFMywKLQkweDAwNiwgMHgwOTAsIDB4MDkyLCAweDA1RCwgMHgwNjksIDB4MDk4LCAweDA2NiwgMHgwQjksCi0JMHgwMTksIDB4MDk1LCAweDBFNCwgMHgwQTgsIDB4MENGLCAweDA5RCwgMHgwMzMsIDB4MDE4LAotCTB4MDQ5LCAweDBCRSwgMHgwN0IsIDB4MDg2LCAweDBBRiwgMHgwOTIsIDB4MDhDLCAweDAzMywKLQkweDAyNCwgMHgwMTQsIDB4MDBDLCAweDBGNCwgMHgwODMsIDB4MDI0LCAweDAyMSwgMHgwQzIsCi0JMHgwNzAsIDB4MEJGLCAweDBGNCwgMHgwMTgsIDB4MEYyLCAweDAyRCwgMHgwNEQsIDB4MDQzLAotCTB4MDUxLCAweDA2RSwgMHgwNUEsIDB4MDIyLCAweDAxRiwgMHgwMzIsIDB4MEE4LCAweDAyRiwKLQkweDBDRSwgMHgwODMsIDB4MDIyLCAweDBFNiwgMHgwMDUsIDB4MEE0LCAweDAxNywgMHgwM0EsCi0JMHgwNjksIDB4MDAwLCAweDBFNywgMHgwNDMsIDB4MDkwLCAweDA4RSwgMHgwNzUsIDB4MDQ4LAotCTB4MDVFLCAweDA3MCwgMHgwNjksIDB4MDAxLCAweDBFNiwgMHgwNDIsIDB4MEE0LCAweDA2MywKLQkweDA5OCwgMHgwMDIsIDB4MDI5LCAweDA0QiwgMHgwOUEsIDB4MDI5LCAweDA3OCwgMHgwRTksCi0JMHgwNDAsIDB4MDUzLCAweDAxMywgMHgwODEsIDB4MDgxLCAweDAzMiwgMHgwNjcsIDB4MDgyLAotCTB4MEZGLCAweDBEMCwgMHgwNjMsIDB4MEM4LCAweDBCNSwgMHgwMzUsIDB4MDBELCAweDA0NSwKLQkweDBBRSwgMHgwNTAsIDB4MDA4LCAweDA3QywgMHgwRTAsIDB4MEQwLCAweDA1RiwgMHgwOUQsCi0JMHgwMDYsIDB4MDQ1LCAweDBDQywgMHgwMDEsIDB4MEE0LCAweDAxNywgMHgwM0EsIDB4MDY5LAotCTB4MDAwLCAweDBFNywgMHgwNDMsIDB4MDkwLCAweDA4RSwgMHgwNzUsIDB4MDQ4LCAweDA1RSwKLQkweDA3MCwgMHgwNjksIDB4MDAxLCAweDBFNiwgMHgwNTksIDB4MEE0LCAweDA2MywgMHgwOTgsCi0JMHgwMUMsIDB4MDUyLCAweDA5NywgMHgwM0IsIDB4MDMwLCAweDA1MiwgMHgwOEUsIDB4MDdELAotCTB4MDJBLCAweDAwOSwgMHgwMUYsIDB4MDUxLCAweDBFQiwgMHgwQTQsIDB4MEE0LCAweDAwQSwKLQkweDBCOSwgMHgwOTQsIDB4MDg3LCAweDBBRSwgMHgwQzUsIDB4MDMxLCAweDAzOCwgMHgwMDIsCi0JMHgwRkYsIDB4MEQwLCAweDA2MywgMHgwQzgsIDB4MEI1LCAweDAzNSwgMHgwMEQsIDB4MDQ1LAotCTB4MEFFLCAweDA1MCwgMHgwMDgsIDB4MDdDLCAweDBFQSwgMHgwMjAsIDB4MEJGLCAweDAzQSwKLQkweDAwQywgMHgwOEIsIDB4MDlBLCAweDAxNiwgMHgwOTAsIDB4MDVDLCAweDBFOSwgMHgwQTQsCi0JMHgwMDMsIDB4MDlELCAweDAwRSwgMHgwNDIsIDB4MDM5LCAweDBENSwgMHgwMjEsIDB4MDc5LAotCTB4MDk1LCAweDA0OCwgMHgwMEYsIDB4MDMwLCAweDAwQSwgMHgwOTEsIDB4MDhFLCAweDA2MCwKLQkweDBFQiwgMHgwMjksIDB4MDczLCAweDAwMCwgMHgwMDksIDB4MDU0LCAweDAwNCwgMHgwQ0EsCi0JMHgwODIsIDB4MDY1LCAweDA1MiwgMHgwNjUsIDB4MEU0LCAweDBDQSwgMHgwMjIsIDB4MDY1LAotCTB4MDcyLCAweDA2NSwgMHgwMDksIDB4MDMyLCAweDBFMCwgMHgwOTksIDB4MDcyLCAweDA0QywKLQkweDBDNCwgMHgwRTAsIDB4MDBCLCAweDBGRiwgMHgwNDEsIDB4MDhGLCAweDAyMiwgMHgwRDQsCi0JMHgwRDQsIDB4MDM1LCAweDAxNiwgMHgwQjksIDB4MDQwLCAweDAyMSwgMHgwRjMsIDB4MDhBLAotCTB4MDgyLCAweDBGQywgMHgwRTgsIDB4MDMyLCAweDAyRSwgMHgwNjAsIDB4MEE5LCAweDAwNSwKLQkweDBDRSwgMHgwOUEsIDB4MDQwLCAweDAzOSwgMHgwRDAsIDB4MEU0LCAweDAyMywgMHgwOUQsCi0JMHgwNTIsIDB4MDE3LCAweDA5OSwgMHgwNTQsIDB4MDYxLCAweDA5OSwgMHgwMDEsIDB4MEU2LAotCTB4MDQwLCAweDBBNCwgMHgwNjMsIDB4MDk4LCAweDAwNCwgMHgwQjEsIDB4MDg0LCAweDA5OCwKLQkweDAxOCwgMHgwRUYsIDB4MDJELCAweDAwMywgMHgwMDUsIDB4MDMxLCAweDAzOCwgMHgwMDIsCi0JMHgwRkYsIDB4MEQwLCAweDA2MywgMHgwQzgsIDB4MEI1LCAweDAzNSwgMHgwMEQsIDB4MDQ1LAotCTB4MEI5LCAweDA2OCwgMHgwODgsIDB4MDdDLCAweDBFMCwgMHgwNTAsIDB4MDVGLCAweDA5RCwKLQkweDAwNiwgMHgwNDUsIDB4MENDLCAweDA4MSwgMHgwNDgsIDB4MDJFLCAweDA3MSwgMHgwMzQsCi0JMHgwOEYsIDB4MDQ4LCAweDAwMSwgMHgwNDgsIDB4MDE1LCAweDAyMSwgMHgwMDUsIDB4MDIxLAotCTB4MEU5LCAweDAwQSwgMHgwNTIsIDB4MDAzLCAweDBDRSwgMHgwNUEsIDB4MDQ2LCAweDAzOSwKLQkweDBDRiwgMHgwNDcsIDB4MDhFLCAweDA2MCwgMHgwQUIsIDB4MDFBLCAweDBGMywgMHgwNTMsCi0JMHgwNDMsIDB4MEVCLCAweDAzNSwgMHgwMjQsIDB4MEI4LCAweDAxQiwgMHgwMzAsIDB4MDA3LAotCTB4MDA5LCAweDA4QSwgMHgwNzQsIDB4MDJGLCAweDA3RSwgMHgwNDEsIDB4MDc0LCAweDAxRSwKLQkweDAxRCwgMHgwMEQsIDB4MDg3LCAweDA0NiwgMHgwNDksIDB4MEQ1LCAweDA5NSwgMHgwRDEsCi0JMHgwRDUsIDB4MEQ1LCAweDBCQiwgMHgwQTksIDB4MDRFLCAweDA4MiwgMHgwOUQsIDB4MDA1LAotCTB4MDNBLCAweDAwQSwgMHgwNzQsIDB4MDE0LCAweDBFOCwgMHgwMjksIDB4MEQwLCAweDA0MiwKLQkweDA3NCwgMHgwNUIsIDB4MENFLCAweDA1MCwgMHgwQzQsIDB4MDA3LCAweDA0NSwgMHgwQkMsCi0JMHgwRTIsIDB4MDBDLCAweDA0MCwgMHgwNzQsIDB4MDVCLCAweDBDRSwgMHgwODMsIDB4MDA0LAotCTB4MEY5LCAweDA5NSwgMHgwNEQsIDB4MDEzLCAweDA2MywgMHgwNUUsIDB4MDZGLCAweDAzMSwKLQkweDAzQiwgMHgwQTAsIDB4MDhCLCAweDBBMiwgMHgwQzUsIDB4MDM5LCAweDA4RCwgMHgwNzgsCi0JMHgwM0EsIDB4MDIyLCAweDBBMCwgMHgwMDAsIDB4MDZCLCAweDBDMSwgMHgwRDEsIDB4MDU0LAotCTB4MDYwLCAweDAxNiwgMHgwRDksIDB4MDkxLCAweDBBMiwgMHgwRTcsIDB4MDQzLCAweDA4QywKLQkweDAyNCwgMHgwREMsIDB4MDFDLCAweDBFMCwgMHgwNTEsIDB4MDE3LCAweDAzOSwgMHgwNkIsCi0JMHgwM0IsIDB4MENDLCAweDA0QiwgMHgwNDIsIDB4MDJFLCAweDA2QiwgMHgwNTAsIDB4MEJGLAotCTB4MDM2LCAweDAzNiwgMHgwNjUsIDB4MDRGLCAweDA3QSwgMHgwMTgsIDB4MDU1LCAweDAyNSwKLQkweDA3OCwgMHgwOTgsIDB4MDIzLCAweDBFNywgMHgwNTAsIDB4MDNFLCAweDBGMywgMHgwODEsCi0JMHgwNEMsIDB4MDAyLCAweDA2RCwgMHgwM0UsIDB4MDcxLCAweDA1MywgMHgwQUYsIDB4MDc4LAotCTB4MEE5LCAweDBENCwgMHgwQTYsIDB4MDI5LCAweDBCMSwgMHgwQkMsIDB4MEQ5LCAweDA5OSwKLQkweDBCMiwgMHgwOEUsIDB4MDYyLCAweDA4RiwgMHgwMjIsIDB4MDJFLCAweDA3NSwgMHgwMTYsCi0JMHgwQjAsIDB4MEIyLCAweDBBQiwgMHgwMjMsIDB4MDI4LCAweDAxNiwgMHgwNTQsIDB4MDUyLAotCTB4MDMxLCAweDBCQywgMHgwRDksIDB4MDk5LCAweDBCMiwgMHgwOEUsIDB4MDY2LCAweDAxOSwKLQkweDAwMiwgMHgwMkUsIDB4MDc1LCAweDAxNiwgMHgwNTAsIDB4MDJDLCAweDBBOSwgMHgwQzgsCi0JMHgwQzYsIDB4MEY1LCAweDAyMCwgMHgwRDMsIDB4MEU0LCAweDA3RiwgMHgwNEYsIDB4MDlDLAotCTB4MDBBLCAweDBENiwgMHgwMTYsIDB4MDdGLCAweDA5MCwgMHgwRUUsIDB4MDRDLCAweDBFQiwKLQkweDBDRiwgMHgwRTIsIDB4MDg4LCAweDBCQSwgMHgwMkYsIDB4MDQyLCAweDA4NiwgMHgwQUUsCi0JMHgwQkQsIDB4MEU1LCAweDBBNywgMHgwNTIsIDB4MDlGLCAweDA5MywgMHgwNjMsIDB4MDc5LAotCTB4MEVCLCAweDAzMywgMHgwMDgsIDB4MEY5LCAweDA5NCwgMHgwNTIsIDB4MDQ3LCAweDBDRCwKLQkweDA5OSwgMHgwMjUsIDB4MDZGLCAweDAzQSwgMHgwMEMsIDB4MDEzLCAweDBFNiwgMHgwNTUsCi0JMHgwMzQsIDB4MDRDLCAweDA1QSwgMHgwNEQsIDB4MEI1LCAweDAyMywgMHgwOTUsIDB4MEE1LAotCTB4MDQ4LCAweDAxMSwgMHgwNUEsIDB4MDBBLCAweDA0MywgMHgwOTUsIDB4MEFDLCAweDAyQywKLQkweDBCQSwgMHgwMjQsIDB4MDA1LCAweDA0OSwgMHgwQjEsIDB4MEJDLCAweDBDQSwgMHgwQTcsCi0JMHgwNzIsIDB4MDZDLCAweDA2QiwgMHgwQzUsIDB4MEJELCAweDBFOCwgMHgwMzEsIDB4MDY5LAotCTB4MDUyLCAweDA1RCwgMHgwMDYsIDB4MDEyLCAweDA2NSwgMHgwM0UsIDB4MEIxLCAweDA1MCwKLQkweDA0QywgMHgwN0QsIDB4MDRGLCAweDBBQywgMHgwMEEsIDB4MDMwLCAweDAwQiwgMHgwMzYsCi0JMHgwNjQsIDB4MDExLCAweDA3MywgMHgwOEEsIDB4MDgzLCAweDA4RSwgMHgwNzUsIDB4MDEyLAotCTB4MDlGLCAweDA3QiwgMHgwRDIsIDB4MDk5LCAweDA1OCwgMHgwRUUsIDB4MDgyLCAweDAyRSwKLQkweDA3NywgMHgwQTAsIDB4MEUzLCAweDA5RCwgMHgwNUQsIDB4MDRGLCAweDBCQywgMHgwMkEsCi0JMHgwNTMsIDB4MDI5LCAweDA1MywgMHgwREUsIDB4MDkzLCAweDAyNCwgMHgwQkEsIDB4MEIzLAotCTB4MDM2LCAweDBBQSwgMHgwNEEsIDB4MEM2LCAweDA3OSwgMHgwRDQsIDB4MEI5LCAweDBERSwKLQkweDA2MiwgMHgwNUEsIDB4MDExLCAweDA3MywgMHgwNTAsIDB4MDUwLCAweDBCRiwgMHgwMzcsCi0JMHgwMzYsIDB4MDZGLCAweDAxMywgMHgwMjMsIDB4MEJBLCAweDAwQywgMHgwMjQsIDB4MENFLAotCTB4MEJELCAweDBFMiwgMHgwQTcsIDB4MDUyLCAweDBCMiwgMHgwOEUsIDB4MDZCLCAweDA2MCwKLQkweDA2MiwgMHgwMkUsIDB4MDc1LCAweDAxMywgMHgwMzAsIDB4MEFDLCAweDBBMCwgMHgwNTksCi0JMHgwQ0EsIDB4MDY0LCAweDA2MywgMHgwNzksIDB4MEIzLCAweDAzMywgMHgwNjUsIDB4MDFDLAotCTB4MENDLCAweDAzMiwgMHgwMDQsIDB4MDVDLCAweDBFQSwgMHgwMkMsIDB4MEEwLCAweDA1OSwKLQkweDBERiwgMHgwMjMsIDB4MDFCLCAweDBENCwgMHgwODMsIDB4MDUyLCAweDA0NywgMHgwREQsCi0JMHgwNzksIDB4MDk2LCAweDBENCwgMHgwOUUsIDB4MEIzLCAweDA1MiwgMHgwNEIsIDB4MEEyLAotCTB4MDVBLCAweDAxQSwgMHgwOEQsIDB4MDVELCAweDA3QiwgMHgwODIsIDB4MEE3LCAweDA1MiwKLQkweDBCMiwgMHgwOEUsIDB4MDY2LCAweDAxOSwgMHgwMDIsIDB4MDJFLCAweDA3NSwgMHgwMTYsCi0JMHgwNTAsIDB4MDJDLCAweDA4QywgMHgwMzIsIDB4MDFELCAweDA3QiwgMHgwOEUsIDB4MEE3LAotCTB4MDUyLCAweDBCMSwgMHgwQkMsIDB4MEQ5LCAweDA5OSwgMHgwOTgsIDB4MDA0LCAweDBEQSwKLQkweDA3QywgMHgwRTIsIDB4MEFDLCAweDBGRSwgMHgwNjYsIDB4MDE5LCAweDAwMiwgMHgwMkUsCi0JMHgwNjUsIDB4MDUwLCAweDBCRiwgMHgwMzMsIDB4MDY2LCAweDA2NCwgMHgwRkUsIDB4MDc0LAotCTB4MDE4LCAweDA4NiwgMHgwNEMsIDB4MDE3LCAweDAyNiwgMHgwRDYsIDB4MDE2LCAweDA1MiwKLQkweDAzOSwgMHgwMTgsIDB4MERFLCAweDA3QSwgMHgwQ0MsIDB4MEMyLCAweDAzRSwgMHgwNjUsCi0JMHgwMTQsIDB4MDkxLCAweDBGMywgMHgwNjYsIDB4MDQ5LCAweDAwOCwgMHgwNkUsIDB4MDgzLAotCTB4MDA5LCAweDAzMywgMHgwQUYsIDB4MDMxLCAweDBFRCwgMHgwMEQsIDB4MDlELCAweDAwNiwKLQkweDAxMiwgMHgwNjIsIDB4MDJBLCAweDAzMSwgMHgwOEQsIDB4MDZELCAweDBFNywgMHgwNDEsCi0JMHgwODIsIDB4MDdDLCAweDBDQSwgMHgwQTYsIDB4MDg5LCAweDA4NywgMHgwMDksIDB4MDJFLAotCTB4MDI5LCAweDBCMSwgMHgwQUYsIDB4MDEwLCAweDAzOSwgMHgwRDYsIDB4MDY0LCAweDA5NywKLQkweDAzMCwgMHgwMUQsIDB4MDQyLCAweDA3NSwgMHgwOTMsIDB4MDQ0LCAweDAwMiwgMHgwOEMsCi0JMHgwMjQsIDB4MEQyLCAweDA3QSwgMHgwQjMsIDB4MDUwLCAweDBGNiwgMHgwODksIDB4MDA1LAotCTB4MDQzLCAweDA1RSwgMHgwNjEsIDB4MDk4LCAweDBDMCwgMHgwMkMsIDB4MDkyLCAweDAyNSwKLQkweDAzQywgMHgwOEIsIDB4MDI0LCAweDA4OSwgMHgwNDksIDB4MDA1LCAweDA0OSwgMHgwRTcsCi0JMHgwMEMsIDB4MEI5LCAweDA4NCwgMHgwOTgsIDB4MEI3LCAweDBBRCwgMHgwMzMsIDB4MDQ0LAotCTB4MEFFLCAweDA1QSwgMHgwNTEsIDB4MDg2LCAweDA2MCwgMHgwOUYsIDB4MDM4LCAweDBBOSwKLQkweDBBMiwgMHgwNkMsIDB4MDZCLCAweDBDNCwgMHgwOEUsIDB4MEY0LCAweDA1RSwgMHgwNDksCi0JMHgwNDYsIDB4MDEyLCAweDA2MiwgMHgwREUsIDB4MEI0LCAweDBDRCwgMHgwMjEsIDB4MDVDLAotCTB4MEI0LCAweDBBMywgMHgwMEMsIDB4MEMxLCAweDAzRSwgMHgwNzIsIDB4MDI5LCAweDBBMiwKLQkweDA2QywgMHgwNkIsIDB4MEM2LCAweDAxMiwgMHgwNjIsIDB4MDQ3LCAweDBGMCwgMHgwRTgsCi0JMHgwQzMsIDB4MDMyLCAweDAwNCwgMHgwMzUsIDB4MDQwLCAweDA5MiwgMHgwQTQsIDB4MDgyLAotCTB4MDg4LCAweDAxMCwgMHgwOTIsIDB4MDdDLCAweDBDQiwgMHgwRDQsIDB4MDJGLCAweDBBNCwKLQkweDAwMiwgMHgwMTEsIDB4MDg0LCAweDA5OCwgMHgwQjcsIDB4MEFELCAweDAzMywgMHgwNDQsCi0JMHgwQUUsIDB4MDVBLCAweDA1MSwgMHgwODYsIDB4MDYwLCAweDA5RiwgMHgwMzgsIDB4MEE5LAotCTB4MEEyLCAweDA2QywgMHgwNkIsIDB4MEM0LCAweDA4RSwgMHgwRjQsIDB4MDVFLCAweDA0OSwKLQkweDA0NCwgMHgwMDgsIDB4MDQ5LCAweDAzRSwgMHgwNjUsIDB4MEVBLCAweDAxNywgMHgwRDIsCi0JMHgwMDEsIDB4MDA4LCAweDBDMiwgMHgwNEMsIDB4MDVCLCAweDBENiwgMHgwOTksIDB4MEE0LAotCTB4MDJCLCAweDA5NiwgMHgwOTQsIDB4MDYxLCAweDA5OCwgMHgwMjcsIDB4MENFLCAweDA0NSwKLQkweDAzNCwgMHgwNEQsIDB4MDhELCAweDA3OCwgMHgwODEsIDB4MDA5LCAweDAyNywgMHgwQ0MsCi0JMHgwQkQsIDB4MDEyLCAweDAyOCwgMHgwNkMsIDB4MDU4LCAweDBBRiwgMHgwQjYsIDB4MEYzLAotCTB4MEEwLCAweDBDMSwgMHgwM0UsIDB4MDY1LCAweDA1MywgMHgwNDQsIDB4MEQ4LCAweDBENywKLQkweDA5MiwgMHgwOEUsIDB4MDdELCAweDA0QiwgMHgwQzIsIDB4MEZBLCAweDA2MSwgMHgwMjYsCi0JMHgwMDYsIDB4MDNBLCAweDBCMywgMHgwNkIsIDB4MDAzLCAweDAwNSwgMHgwNDksIDB4MEU3LAotCTB4MDBDLCAweDBCOSwgMHgwNkYsIDB4MDVBLCAweDA2NiwgMHgwOTUsIDB4MDVDLCAweDBCNCwKLQkweDBBMywgMHgwMEMsIDB4MEMxLCAweDAzRSwgMHgwNzAsIDB4MDI5LCAweDBBMiwgMHgwNkUsCi0JMHgwQTQsIDB4MERGLCAweDA5MywgMHgwNzEsIDB4MDEzLCAweDA3NywgMHgwMjYsIDB4MEUxLAotCTB4MDI2LCAweDBGOCwgMHgwMjYsIDB4MEM2LCAweDBCQywgMHgwOTQsIDB4MDczLCAweDBGOSwKLQkweDAyRiwgMHgwMEIsIDB4MEU5LCAweDA4NCwgMHgwOTgsIDB4MDE4LCAweDBFQSwgMHgwQ0MsCi0JMHgwRUMsIDB4MDBDLCAweDAxNSwgMHgwMjcsIDB4MDlDLCAweDAzMiwgMHgwRkYsIDB4MDNELAotCTB4MDU2LCAweDBBRiwgMHgwOTIsIDB4MDhCLCAweDA3QSwgMHgwRDMsIDB4MDM1LCAweDBENSwKLQkweDBDQiwgMHgwNEEsIDB4MDMwLCAweDBDQywgMHgwMTMsIDB4MEU3LCAweDAwMiwgMHgwOUEsCi0JMHgwMjYsIDB4MEM2LCAweDBCQywgMHgwOTQsIDB4MDczLCAweDA0MSwgMHgwOTcsIDB4MDkxLAotCTB4MEY0LCAweDA4MywgMHgwQ0UsIDB4MDA0LCAweDAyMCwgMHgwNjIsIDB4MDhCLCAweDAwNSwKLQkweDAxNiwgMHgwNDksIDB4MDhDLCAweDAyNCwgMHgwQzAsIDB4MEM3LCAweDA1NiwgMHgwOTAsCi0JMHgwQzAsIDB4MEMxLCAweDA1MiwgMHgwNzksIDB4MEMzLCAweDAyRSwgMHgwNUIsIDB4MEQ1LAotCTB4MEE2LCAweDA3MiwgMHgwRDIsIDB4MDk0LCAweDBGQSwgMHgwQUQsIDB4MDU4LCAweDBDOCwKLQkweDBGQSwgMHgwOUYsIDB4MDU0LCAweDBCMywgMHgwMzIsIDB4MDRCLCAweDBCOSwgMHgwNTQsCi0JMHgwQTYsIDB4MDUxLCAweDA4NiwgMHgwNkIsIDB4MDc5LCAweDBEMCwgMHgwNjAsIDB4MDlGLAotCTB4MDMyLCAweDAwNSwgMHgwMzQsIDB4MDRELCAweDA4RCwgMHgwN0EsIDB4MDRELCAweDAxRSwKLQkweDA3QSwgMHgwQjMsIDB4MDUxLCAweDAwMCwgMHgwQTksIDB4MDNELCAweDA1OSwgMHgwQTgsCi0JMHgwN0IsIDB4MDQ0LCAweDA4MiwgMHgwQTEsIDB4MEFGLCAweDA0QSwgMHgwOEQsIDB4MDUyLAotCTB4MEE5LCAweDA1MiwgMHgwNDEsIDB4MDQ5LCAweDA0RiwgMHgwM0EsIDB4MDJFLCAweDA0MCwKLQkweDBBNCwgMHgwOTksIDB4MDUwLCAweDBCRSwgMHgwOTAsIDB4MDA4LCAweDA1MiwgMHgwNzksCi0JMHgwQzMsIDB4MDJFLCAweDA2MSwgMHgwMjYsIDB4MDJELCAweDBFQiwgMHgwNEMsIDB4MEQwLAotCTB4MDE1LCAweDBDQiwgMHgwNEEsIDB4MDMwLCAweDBDQywgMHgwMTMsIDB4MEU3LCAweDAwMiwKLQkweDA5QSwgMHgwMjYsIDB4MEM2LCAweDBCQywgMHgwNDgsIDB4MEZFLCAweDAxRCwgMHgwMjUsCi0JMHgwNDYsIDB4MEE5LCAweDA1NCwgMHgwQTksIDB4MDIwLCAweDBBNCwgMHgwQTcsIDB4MDlELAotCTB4MDE3LCAweDAyMCwgMHgwNTIsIDB4MDRDLCAweDBBOCwgMHgwNUYsIDB4MDQ4LCAweDAwNCwKLQkweDAyMywgMHgwMDksIDB4MDMxLCAweDA2RiwgMHgwNUEsIDB4MDY2LCAweDA4MCwgMHgwQUUsCi0JMHgwNUEsIDB4MDUxLCAweDA4NiwgMHgwNjAsIDB4MDlGLCAweDAzOCwgMHgwMTQsIDB4MEQxLAotCTB4MDM2LCAweDAzNSwgMHgwRTQsIDB4MEE3LCAweDA5RCwgMHgwMTcsIDB4MDIwLCAweDA1MiwKLQkweDA0QywgMHgwQTIsIDB4MDQ1LCAweDAwRCwgMHgwOEIsIDB4MDE1LCAweDBGNCwgMHgwOTEsCi0JMHgwREUsIDB4MDhCLCAweDBDOSwgMHgwMjgsIDB4MEMyLCAweDA0QywgMHgwNUIsIDB4MEQ2LAotCTB4MDk5LCAweDBBOSwgMHgwNUMsIDB4MEI0LCAweDBBMywgMHgwMEMsIDB4MEQ2LCAweDBGMywKLQkweDBBMCwgMHgwQzEsIDB4MDNFLCAweDA2NCwgMHgwMEEsIDB4MDY4LCAweDA5QiwgMHgwMUEsCi0JMHgwRjEsIDB4MDZELCAweDA0QywgMHgwQUEsIDB4MDkyLCAweDBFMCwgMHgwMzYsIDB4MDk0LAotCTB4MDcwLCAweDA5QiwgMHgwMjksIDB4MDc4LCAweDAxMywgMHgwQUUsIDB4MEIzLCAweDBBQSwKLQkweDA4NSwgMHgwRDQsIDB4MDQzLCAweDA3NSwgMHgwMDksIDB4MDNBLCAweDBDOSwgMHgwRUIsCi0JMHgwMzUsIDB4MDI0LCAweDBCOCwgMHgwMUIsIDB4MDMyLCAweDA4RSwgMHgwMTMsIDB4MDQ4LAotCTB4MDdFLCAweDA0RSwgMHgwRkQsIDB4MDQwLCAweDBGRCwgMHgwNDAsIDB4MEZELCAweDA0MCwKLQkweDBGRCwgMHgwNDAsIDB4MEZELCAweDA0MCwgMHgwRkMsIDB4MDEzLCAweDBGNCwgMHgwMjEsCi0JMHgwRjksIDB4MDE3LCAweDA0NSwgMHgwOEEsIDB4MDMwLCAweDAwQiwgMHgwMzMsIDB4MDVGLAotCTB4MDgzLCAweDBBMiwgMHgwMkEsIDB4MDMwLCAweDAwQiwgMHgwMzMsIDB4MDVGLCAweDA4MywKLQkweDBBMiwgMHgwQTgsIDB4MEMwLCAweDAyRCwgMHgwQjMsIDB4MDIwLCAweDA3MCwgMHgwOTIsCi0JMHgwMTMsIDB4MDlBLCAweDBERSwgMHgwNzQsIDB4MDE4LCAweDAyNywgMHgwQ0MsIDB4MEFBLAotCTB4MDY4LCAweDA5QiwgMHgwMUEsIDB4MEY3LCAweDAwNywgMHgwNDUsIDB4MDUxLCAweDA4MCwKLQkweDA1QiwgMHgwNjYsIDB4MDQ3LCAweDAwNywgMHgwMzgsIDB4MEE4LCAweDAyMywgMHgwRTcsCi0JMHgwNTEsIDB4MDExLCAweDAzRiwgMHgwRTAsIDB4MEU4LCAweDA4NSwgMHgwNDYsIDB4MDAxLAotCTB4MDZELCAweDA5OSwgMHgwMDYsIDB4MDEyLCAweDA2NSwgMHgwNEYsIDB4MDdBLCAweDAyMCwKLQkweDAyNCwgMHgwQkEsIDB4MEIzLCAweDAzMiwgMHgwMTUsIDB4MDI1LCAweDA3QiwgMHgwQUQsCi0JMHgwMzMsIDB4MDc4LCAweDBBRSwgMHgwMEUsIDB4MDczLCAweDBEMCwgMHgwNDcsIDB4MENFLAotCTB4MEE3LCAweDAzMCwgMHgwQ0MsIDB4MDQ0LCAweDBGRiwgMHgwODMsIDB4MEEyLCAweDBBOCwKLQkweDBDMCwgMHgwMkMsIDB4MEQ5LCAweDA5MSwgMHgwQzEsIDB4MEQxLCAweDAxNSwgMHgwMTgsCi0JMHgwMDUsIDB4MDlCLCAweDAzMiwgMHgwMDgsIDB4MEJBLCAweDAyQywgMHgwNTEsIDB4MDgwLAotCTB4MDU5LCAweDBCMywgMHgwMjAsIDB4MDcwLCAweDA5MiwgMHgwRTIsIDB4MDk4LCAweDA4OSwKLQkweDBGRCwgMHgwQkMsIDB4MEVFLCAweDAxOCwgMHgwOTAsIDB4MEZDLCAweDA4QiwgMHgwQTIsCi0JMHgwQzUsIDB4MDJCLCAweDAwRCwgMHgwNzgsIDB4MDNBLCAweDAyMiwgMHgwQTUsIDB4MDYxLAotCTB4MEFGLCAweDAwNywgMHgwNDUsIDB4MDUxLCAweDA4MCwgMHgwNUIsIDB4MDY2LCAweDA0NCwKLQkweDA5RSwgMHgwQjMsIDB4MDUyLCAweDA0QiwgMHgwODMsIDB4MEFELCAweDBDNywgMHgwMDksCi0JMHgwQkUsIDB4MDFGLCAweDA5RiwgMHgwNzQsIDB4MDY1LCAweDA1RCwgMHgwMEEsIDB4MDE3LAotCTB4MDdDLCAweDBBQiwgMHgwQTAsIDB4MEMyLCAweDA0QywgMHgwMzgsIDB4MDQ5LCAweDAxMiwKLQkweDAyRSwgMHgwMzgsIDB4MDQ5LCAweDAwNywgMHgwQTMsIDB4MDBDLCAweDBDMSwgMHgwM0UsCi0JMHgwNjUsIDB4MDUzLCAweDA0NCwgMHgwRDgsIDB4MEQ3LCAweDBBRCwgMHgwRTcsIDB4MDAwLAotCTB4MDMyLCAweDA0QiwgMHgwOUIsIDB4MDMzLCAweDAzNCwgMHgwNEEsIDB4MDAzLCAweDAwMCwKLQkweDA5RCwgMHgwMjUsIDB4MENFLCAweDA4MywgMHgwMjQsIDB4MEI4LCAweDAxOSwgMHgwOTksCi0JMHgwOEMsIDB4MDAyLCAweDAxMiwgMHgwNEIsIDB4MEExLCAweDA5OSwgMHgwRDgsIDB4MEMwLAotCTB4MDI3LCAweDA0OSwgMHgwNzMsIDB4MENGLCAweDBGOSwgMHgwM0MsIDB4MEY0LCAweDA3QywKLQkweDBFNywgMHgwOTgsIDB4MDA0LCAweDBFOSwgMHgwMkUsIDB4MDdGLCAweDAzOSwgMHgwRTMsCi0JMHgwNEYsIDB4MDQ2LCAweDA1MywgMHgwQzAsIDB4MDYwLCAweDAxMywgMHgwQTQsIDB4MEI5LAotCTB4MEU1LCAweDAzQywgMHgwMDMsIDB4MERFLCAweDA4RiwgMHgwOUMsIDB4MEYzLCAweDAwMCwKLQkweDA5QywgMHgwNkYsIDB4MENGLCAweDAzRSwgMHgwODUsIDB4MEY5LCAweDBBMywgMHgwMzYsCi0JMHgwMDIsIDB4MDFFLCAweDA2MCwgMHgwMzgsIDB4MDkyLCAweDAzRSwgMHgwNjMsIDB4MDFBLAotCTB4MDEwLCAweDA5RiwgMHgwQ0YsIDB4MDE4LCAweDAxMCwgMHgwOTIsIDB4MEJDLCAweDBEMCwKLQkweDBBNCwgMHgwMEMsIDB4MERDLCAweDBDMCwgMHgwMEYsIDB4MDlDLCAweDA5NywgMHgwMzQsCi0JMHgwNjIsIDB4MEI2LCAweDBFNywgMHgwRjMsIDB4MEYzLCAweDBBNSwgMHgwQ0YsIDB4MDE4LAotCTB4MDQyLCAweDAzNCwgMHgwMUMsIDB4MEMyLCAweDBDQSwgMHgwRkEsIDB4MDhFLCAweDA2OCwKLQkweDA1MiwgMHgwMDYsIDB4MEFGLCAweDAzQywgMHgwQTMsIDB4MDBELCAweDBCRiwgMHgwOUUsCi0JMHgwNTAsIDB4MEUxLCAweDBEMSwgMHgwNzMsIDB4MENBLCAweDBFMCwgMHgwM0EsIDB4MEZDLAotCTB4MEMxLCAweDAwOSwgMHgwMUEsIDB4MDFFLCAweDA2QSwgMHgwNUMsIDB4MDVCLCAweDA4RSwKLQkweDA2MywgMHgwNEUsIDB4MDc3LCAweDA3MywgMHgwQ0MsIDB4MDYxLCAweDA2NywgMHgwREQsCi0JMHgwRTYsIDB4MDZDLCAweDA0OCwgMHgwRDEsIDB4MEYzLCAweDAxQiwgMHgwMjQsIDB4MDY5LAotCTB4MDUxLCAweDAwOCwgMHgwRDQsIDB4MDQyLCAweDAxQiwgMHgwRjQsIDB4MDY3LCAweDBEMSwKLQkweDA4MCwgMHgwNEUsIDB4MDJGLCAweDBEMCwgMHgwOEMsIDB4MEQ4LCAweDAzMCwgMHgwMDksCi0JMHgwQzIsIDB4MDFFLCAweDA4MCwgMHgwMUMsIDB4MDQ2LCAweDAwMSwgMHgwM0EsIDB4MDQ3LAotCTB4MEQwLCAweDAzMSwgMHgwQTEsIDB4MDA2LCAweDAwMSwgMHgwM0EsIDB4MDdGLCAweDA0NiwKLQkweDAzMCwgMHgwMjEsIDB4MDE4LCAweDAwNCwgMHgwRTksIDB4MDVFLCAweDA4NCwgMHgwMjksCi0JMHgwMDAsIDB4MEMwLCAweDAyNywgMHgwQ0QsIDB4MEQwLCAweDAwMCwgMHgwN0MsIDB4MDk4LAotCTB4MDA0LCAweDBGOSwgMHgwMkUsIDB4MDg0LCAweDA2MiwgMHgwOEMsIDB4MDAyLCAweDA3RCwKLQkweDBCQSwgMHgwM0UsIDB4MDdFLCAweDA0QywgMHgwMDIsIDB4MDdELCAweDAyRSwgMHgwOEMsCi0JMHgwNjEsIDB4MDA4LCAweDAzMCwgMHgwMDksIDB4MEY0LCAweDAxRCwgMHgwMDEsIDB4MDY1LAotCTB4MDczLCAweDAwMCwgMHgwOUYsIDB4MDUxLCAweDBEMCwgMHgwODUsIDB4MDIwLCAweDAxOCwKLQkweDAwNCwgMHgwRkEsIDB4MEJELCAweDAxOSwgMHgwNDYsIDB4MDE4LCAweDBDMCwgMHgwMjcsCi0JMHgwREYsIDB4MEQxLCAweDA5NCwgMHgwMzgsIDB4MDRDLCAweDAwMiwgMHgwN0QsIDB4MDE3LAotCTB4MDQ2LCAweDA1NywgMHgwMDEsIDB4MDMwLCAweDAwOSwgMHgwRjUsIDB4MEZBLCAweDAwMSwKLQkweDAwOSwgMHgwMDYsIDB4MDAxLCAweDAzRSwgMHgwODcsIDB4MEExLCAweDA0QiwgMHgwODgsCi0JMHgwQzAsIDB4MDI3LCAweDBEQywgMHgwNzQsIDB4MDBELCAweDAzOSwgMHgwRDMsIDB4MDAwLAotCTB4MDlGLCAweDA3MywgMHgwRDAsIDB4MDMwLCAweDBCMywgMHgwOTgsIDB4MDA0LCAweDBGQiwKLQkweDBCRCwgMHgwMDYsIDB4MEM0LCAweDA4MywgMHgwMDAsIDB4MDlGLCAweDA0NywgMHgwRDAsCi0JMHgwMzYsIDB4MDQ4LCAweDBDQywgMHgwMDIsIDB4MDcxLCAweDBCRiwgMHgwM0YsIDB4MDlBLAotCTB4MDE3LCAweDBFNiwgMHgwM0YsIDB4MDA4LCAweDAyMSwgMHgwRTYsIDB4MDkyLCAweDBBNCwKLQkweDA4RiwgMHgwOUEsIDB4MDEwLCAweDAzMSwgMHgwQTcsIDB4MEYzLCAweDAxMCwgMHgwQjEsCi0JMHgwODQsIDB4MEFGLCAweDAzQSwgMHgwQUMsIDB4MERDLCAweDBGNywgMHgwNzMsIDB4MEYyLAotCTB4MDVDLCAweDBDNiwgMHgwMkEsIDB4MERCLCAweDA5RSwgMHgwN0UsIDB4MDdFLCAweDA5NywKLQkweDAzMSwgMHgwMDgsIDB4MDYzLCAweDBEMCwgMHgwNzMsIDB4MDdCLCAweDA0MywgMHgwQTgsCi0JMHgwRTYsIDB4MDNELCAweDAzNCwgMHgwRUEsIDB4MEYzLCAweDBFMywgMHgwMTUsIDB4MEJGLAotCTB4MDlGLCAweDAxOCwgMHgwNUYsIDB4MDQ1LCAweDBDRiwgMHgwRTgsIDB4MDlGLCAweDA1RiwKLQkweDA5QSwgMHgwNUIsIDB4MDAzLCAweDBEMCwgMHgwRjMsIDB4MEQzLCAweDBDRSwgMHgwMzcsCi0JMHgwMUMsIDB4MEQwLCAweDAwRiwgMHgwQkIsIDB4MDlFLCAweDA2OCwgMHgwNzgsIDB4MDNCLAotCTB4MEJDLCAweDBDQSwgMHgwMzEsIDB4MEU4LCAweDBGOSwgMHgwQTIsIDB4MDAyLCAweDAxMiwKLQkweDBBMiwgMHgwNzMsIDB4MDUxLCAweDAwOCwgMHgwNkYsIDB4MEQxLCAweDBGMywgMHgwNDYsCi0JMHgwMDEsIDB4MDM4LCAweDBCRiwgMHgwNDAsIDB4MEZDLCAweDAyMywgMHgwMDAsIDB4MDlDLAotCTB4MDIxLCAweDBFOCwgMHgwNDksIDB4MDUxLCAweDA4MCwgMHgwNEUsIDB4MDkxLCAweDBGNCwKLQkweDAyMSwgMHgwMDMsIDB4MDE5LCAweDA4MCwgMHgwNEUsIDB4MDlGLCAweDBEMCwgMHgwMjEsCi0JMHgwNjMsIDB4MDA2LCAweDAwMSwgMHgwM0EsIDB4MDU2LCAweDA4QywgMHgwMDIsIDB4MDc0LAotCTB4MEZFLCAweDA3NSwgMHgwNDksIDB4MDVFLCAweDA2MywgMHgwRDMsIDB4MDRBLCAweDA1NCwKLQkweDA0MiwgMHgwMzUsIDB4MDEzLCAweDBBNywgMHgwRDEsIDB4MDgwLCAweDA0RSwgMHgwOTUsCi0JMHgwRTgsIDB4MDFFLCAweDA5QSwgMHgwNEMsIDB4MDAyLCAweDA3QywgMHgwREQsIDB4MDFCLAotCTB4MEI5LCAweDBFNiwgMHgwMDEsIDB4MDNFLCAweDA0QiwgMHgwQTAsIDB4MDYyLCAweDBBMywKLQkweDAwMCwgMHgwOUYsIDB4MDZFLCAweDA4QywgMHgwRkMsIDB4MEYzLCAweDAwMCwgMHgwOUYsCi0JMHgwNEIsIDB4MEEwLCAweDA0MiwgMHgwMTgsIDB4MENDLCAweDAwMiwgMHgwN0QsIDB4MDA3LAotCTB4MDQzLCAweDBEQSwgMHgwMTMsIDB4MDAwLCAweDA5RiwgMHgwNTEsIDB4MEQwLCAweDAzRCwKLQkweDAzNCwgMHgwOTgsIDB4MDA0LCAweDBGQSwgMHgwQkQsIDB4MDFDLCAweDA2MiwgMHgwOEMsCi0JMHgwMDIsIDB4MDdELCAweDBGRCwgMHgwMUMsIDB4MDYxLCAweDA3MywgMHgwMDAsIDB4MDlGLAotCTB4MDQ1LCAweDBEMSwgMHgwRjQsIDB4MDRFLCAweDA2MCwgMHgwMTMsIDB4MEVCLCAweDBGNCwKLQkweDAyNSwgMHgwQjAsIDB4MDMzLCAweDAwMCwgMHgwOUYsIDB4MDQzLCAweDBEMSwgMHgwQTcsCi0JMHgwOUMsIDB4MDE4LCAweDAwNCwgMHgwRkIsIDB4MDhFLCAweDA4NCwgMHgwMDMsIDB4MEU5LAotCTB4MDgwLCAweDA0RiwgMHgwQjksIDB4MEU4LCAweDA0MywgMHgwQzEsIDB4MDMwLCAweDAwOSwKLQkweDBGNywgMHgwN0EsIDB4MDBBLCAweDAzMSwgMHgwOTgsIDB4MDA0LCAweDBGQSwgMHgwM0UsCi0JMHgwODQsIDB4MDQwLCAweDA0MSwgMHgwODAsIDB4MDRFLCAweDA4MiwgMHgwRTcsIDB4MDQxLAotCTB4MDg3LCAweDAwOSwgMHgwMjMsIDB4MDA0LCAweDAyMywgMHgwMDAsIDB4MDlELCAweDAwNSwKLQkweDBDRSwgMHgwOTYsIDB4MDFDLCAweDAyNCwgMHgwOEMsIDB4MDEwLCAweDA4QywgMHgwMDIsCi0JMHgwNzQsIDB4MDE3LCAweDAzQSwgMHgwMDQsIDB4MDM4LCAweDA0OSwgMHgwMTgsIDB4MDIxLAotCTB4MDE4LCAweDAwNCwgMHgwRTgsIDB4MDJFLCAweDA3NCwgMHgwNTAsIDB4MEUxLCAweDAyNCwKLQkweDA2MCwgMHgwODQsIDB4MDYwLCAweDAxMywgMHgwQTAsIDB4MEI5LCAweDBENCwgMHgwMTEsCi0JMHgwQzIsIDB4MDQ4LCAweDBDMSwgMHgwMDgsIDB4MEMwLCAweDAyNywgMHgwNDEsIDB4MDczLAotCTB4MEE4LCAweDAyMywgMHgwODQsIDB4MDkxLCAweDA4MiwgMHgwMTEsIDB4MDgwLCAweDA0RSwKLQkweDA4MiwgMHgwRTcsIDB4MDUyLCAweDA4RSwgMHgwMTIsIDB4MDQ2LCAweDAwOCwgMHgwNDYsCi0JMHgwMDEsIDB4MDNBLCAweDAwQiwgMHgwOUQsIDB4MDQwLCAweDAxQywgMHgwMjQsIDB4MDhDLAotCTB4MDEwLCAweDA4QywgMHgwMDIsIDB4MDc0LCAweDAxNywgMHgwM0EsIDB4MDA5LCAweDAwRSwKLQkweDAxMiwgMHgwNDYsIDB4MDA4LCAweDA0NiwgMHgwMDEsIDB4MDNBLCAweDAwQiwgMHgwOTgsCi0JMHgwNkEsIDB4MDFDLCAweDAyNCwgMHgwQjAsIDB4MEUxLCAweDAxOCwgMHgwMDQsIDB4MEU4LAotCTB4MDJFLCAweDA2QiwgMHgwNTAsIDB4MEUxLCAweDAyNSwgMHgwODcsIDB4MDA4LCAweDBDMCwKLQkweDAyNywgMHgwNDEsIDB4MDczLCAweDAwNSwgMHgwNDMsIDB4MDg0LCAweDA5NiwgMHgwMUMsCi0JMHgwMjMsIDB4MDAwLCAweDA5RCwgMHgwMDUsIDB4MENDLCAweDBBQSwgMHgwMUMsIDB4MDI0LAotCTB4MEIwLCAweDBFMSwgMHgwMTgsIDB4MDA0LCAweDBFOCwgMHgwMkUsIDB4MDcwLCAweDA2OCwKLQkweDA3MCwgMHgwOTIsIDB4MEMzLCAweDA4NCwgMHgwNjAsIDB4MDEzLCAweDBFNSwgMHgwNDQsCi0JMHgwRjksIDB4MDQwLCAweDA5RCwgMHgwMDUsIDB4MENFLCAweDA1QSwgMHgwMUMsIDB4MDI0LAotCTB4MEIwLCAweDBFMSwgMHgwMTgsIDB4MDA0LCAweDBGOSwgMHgwRDEsIDB4MDNFLCAweDA3MCwKLQkweDAyNywgMHgwQ0YsIDB4MDEzLCAweDBFNSwgMHgwNDQsIDB4MDJDLCAweDBBMCwgMHgwNDIsCi0JMHgwQ0IsIDB4MDg5LCAweDBGMiwgMHgwMjEsIDB4MDNBLCAweDAwQiwgMHgwOUMsIDB4MDBBLAotCTB4MDFDLCAweDAyNCwgMHgwQjAsIDB4MEUxLCAweDAxOCwgMHgwMDQsIDB4MEY5LCAweDBEMSwKLQkweDAwQiwgMHgwMzgsIDB4MDEwLCAweDBCMywgMHgwQzQsIDB4MDIxLCAweDAzOSwgMHgwMzYsCi0JMHgwNUMsIDB4MDQyLCAweDBDOCwgMHgwODQsIDB4MDJCLCAweDA3OSwgMHgwRDAsIDB4MDYxLAotCTB4MEMyLCAweDA3NCwgMHgwMTUsIDB4MDI0LCAweDBCQSwgMHgwRDMsIDB4MDMxLCAweDBFNSwKLQkweDA1OSwgMHgwMDgsIDB4MDI5LCAweDAwOCwgMHgwRTAsIDB4MDY2LCAweDA2MywgMHgwNDIsCi0JMHgwOTUsIDB4MDEyLCAweDA4MSwgMHgwMDAsIDB4MDI5LCAweDAwQiwgMHgwQzEsIDB4MDUxLAotCTB4MDI0LCAweDBCOCwgMHgwMTksIDB4MDk5LCAweDA5MCwgMHgwMjIsIDB4MDkwLCAweDBCNCwKLQkweDAxOCwgMHgwQTAsIDB4MDkxLCAweDA0MSwgMHgwMDEsIDB4MDQxLCAweDA0MSwgMHgwNDEsCi0JMHgwNTIsIDB4MDgzLCAweDBDQSwgMHgwNDAsIDB4MDI4LCAweDA2OCwgMHgwMjksIDB4MDA4LAotCTB4MEJBLCAweDAxNiwgMHgwMTAsIDB4MDlDLCAweDA5OSwgMHgwMEIsIDB4MDU2LCAweDA5NCwKLQkweDA5MCwgMHgwNTIsIDB4MDE1LCAweDA3NCwgMHgwQzAsIDB4MDI3LCAweDAxQSwgMHgwMkEsCi0JMHgwRDIsIDB4MDkwLCAweDAyNSwgMHgwRDMsIDB4MDAwLCAweDA5RCwgMHgwMjgsIDB4MEFCLAotCTB4MDRBLCAweDA0MiwgMHgwMTcsIDB4MDRDLCAweDAwMiwgMHgwNzAsIDB4MEQ0LCAweDA4NCwKLQkweDAyRSwgMHgwOTgsIDB4MDA0LCAweDBFMSwgMHgwMkEsIDB4MDQyLCAweDAxNywgMHgwNEMsCi0JMHgwMDIsIDB4MDcwLCAweDA4MiwgMHgwOTAsIDB4MDRCLCAweDBBNiwgMHgwMDEsIDB4MDM4LAotCTB4MDUxLCAweDA0OCwgMHgwNDIsIDB4MEU5LCAweDA4MCwgMHgwNEUsIDB4MDE1LCAweDBBNCwKLQkweDAyMSwgMHgwNzQsIDB4MEMwLCAweDAyNywgMHgwMEYsIDB4MEE0LCAweDAxMiwgMHgwRTksCi0JMHgwODAsIDB4MDRFLCAweDA4MiwgMHgwQUMsIDB4MDgwLCAweDBBQywgMHgwQTAsIDB4MEFDLAotCTB4MEE5LCAweDA1OSwgMHgwRTUsIDB4MDY0LCAweDA0NSwgMHgwNjUsIDB4MENBLCAweDBDOCwKLQkweDA0QSwgMHgwQ0UsIDB4MDBBLCAweDBDRSwgMHgwNEEsIDB4MENFLCAweDA5NSwgMHgwOTEsCi0JMHgwOTUsIDB4MDk0LCAweDA5NSwgMHgwOTMsIDB4MDI5LCAweDAyNSwgMHgwQzAsIDB4MENDLAotCTB4MENDLCAweDA4OCwgMHgwQTQsIDB4MDk3LCAweDA1NiwgMHgwMzYsIDB4MDY0LCAweDA3MiwKLQkweDA5MCwgMHgwNTQsIDB4MDhBLCAweDA5QywgMHgwNDUsIDB4MDA4LCAweDBCOSwgMHgwQjcsCi0JMHgwNjYsIDB4MDEyLCAweDA5MywgMHgwMDksIDB4MEM5LCAweDBCMiwgMHgwNzQsIDB4MDhFLAotCTB4MEJBLCAweDA2MCwgMHgwMTMsIDB4MEU1LCAweDAzNCwgMHgwOEUsIDB4MEJBLCAweDA2MCwKLQkweDAxMywgMHgwRTQsIDB4MDc0LCAweDA4RSwgMHgwQkEsIDB4MDYwLCAweDAxMywgMHgwRTUsCi0JMHgwNjksIDB4MDFELCAweDA3NCwgMHgwQzAsIDB4MDI3LCAweDBDQSwgMHgwMjksIDB4MDFELAotCTB4MDc0LCAweDBDMCwgMHgwMjcsIDB4MENFLCAweDBEMiwgMHgwMjUsIDB4MEQzLCAweDAwMCwKLQkweDA5RiwgMHgwMzgsIDB4MEE0LCAweDA0QiwgMHgwQTYsIDB4MDAxLCAweDAzRSwgMHgwNUUsCi0JMHgwOTEsIDB4MDJFLCAweDA5OCwgMHgwMDQsIDB4MEY5LCAweDAxNSwgMHgwMjIsIDB4MDVELAotCTB4MDMwLCAweDAwOSwgMHgwRjMsIDB4MEU5LCAweDAxMiwgMHgwRTksIDB4MDgwLCAweDA0RiwKLQkweDA5MCwgMHgwNTIsIDB4MDI1LCAweDBEMywgMHgwMDAsIDB4MDlELCAweDBDNSwgMHgwNDgsCi0JMHgwMjUsIDB4MEQzLCAweDAwMCwgMHgwOUMsIDB4MDQ1LCAweDBDRSwgMHgwQ0QsIDB4MDA5LAotCTB4MEM5LCAweDBCMiwgMHgwMUEsIDB4MDQ0LCAweDBCQSwgMHgwNjAsIDB4MDEzLCAweDBFNywKLQkweDAzNCwgMHgwODksIDB4MDc0LCAweDBDMCwgMHgwMjcsIDB4MDFDLCAweDAyNywgMHgwQjcsCi0JMHgwOUMsIDB4MDgwLCAweDBDMiwgMHgwRDcsIDB4MDc2LCAweDA1OSwgMHgwOUIsIDB4MDkzLAotCTB4MDBDLCAweDA2NCwgMHgwQzMsIDB4MDFELCAweDAxQiwgMHgwRjQsIDB4MDQ1LCAweDA0QiwKLQkweDBDNywgMHgwQzYsIDB4MDNBLCAweDAzNywgMHgwRTgsIDB4MDgxLCAweDA0QiwgMHgwQzcsCi0JMHgwQzYsIDB4MDNBLCAweDAzNywgMHgwRTgsIDB4MDkxLCAweDA0QiwgMHgwQzcsIDB4MEM2LAotCTB4MDMyLCAweDA2MSwgMHgwOEUsIDB4MEIzLCAweDBCQywgMHgwQzMsIDB4MDRBLCAweDAyMiwKLQkweDBFNiwgMHgwQjUsIDB4MDI0LCAweDA5NywgMHgwNzEsIDB4MEM5LCAweDA4NywgMHgwQjQsCi0JMHgwMzEsIDB4MEFFLCAweDA3MywgMHgwQTIsIDB4MENGLCAweDAzOSwgMHgwRDIsIDB4MDVELAotCTB4MDA0LCAweDA0NCwgMHgwNDIsIDB4MEMwLCAweDBENiwgMHgwREUsIDB4MDcxLCAweDAwNiwKLQkweDAxNiwgMHgwQkIsIDB4MERCLCAweDBDRSwgMHgwODMsIDB4MDBDLCAweDA2NCwgMHgwQzMsCi0JMHgwMUQsIDB4MDMxLCAweDAxMywgMHgwMDQsIDB4MEY5LCAweDA5NSwgMHgwNEQsIDB4MDEzLAotCTB4MDMyLCAweDA5MywgMHgwNjMsIDB4MDVFLCAweDA2NiwgMHgwMTQsIDB4MENDLCAweDAyOSwKLQkweDAyQSwgMHgwNTMsIDB4MDMwLCAweDBBNiwgMHgwNjEsIDB4MDRDLCAweDBDMiwgMHgwOTksCi0JMHgwODUsIDB4MDNBLCAweDA3MiwgMHgwQ0MsIDB4MEMyLCAweDA5OSwgMHgwODUsIDB4MDA2LAotCTB4MDFCLCAweDBCMywgMHgwMEEsIDB4MDY2LCAweDAxNCwgMHgwMTQsIDB4MDI0LCAweDA5OSwKLQkweDA4NSwgMHgwMzMsIDB4MDBBLCAweDAwOCwgMHgwQjEsIDB4MDg2LCAweDA2MSwgMHgwNEMsCi0JMHgwQzIsIDB4MDg0LCAweDAyMSwgMHgwNjgsIDB4MDczLCAweDAzQiwgMHgwMzAsIDB4MEE2LAotCTB4MDYxLCAweDA0MSwgMHgwNEUsIDB4MEE1LCAweDA5OCwgMHgwNTMsIDB4MDMwLCAweDBBQywKLQkweDA1OSwgMHgwNzYsIDB4MDYxLCAweDA0QywgMHgwQzIsIDB4MEIwLCAweDA4RCwgMHgwRDYsCi0JMHgwNjEsIDB4MDRDLCAweDBDMiwgMHgwQjAsIDB4MDJDLCAweDBGNiwgMHgwNjEsIDB4MDRDLAotCTB4MEMyLCAweDBCMSwgMHgwOEMsIDB4MEE1LCAweDA5OCwgMHgwNTMsIDB4MDMwLCAweDBBQywKLQkweDAwRiwgMHgwMjQsIDB4MENDLCAweDAyOSwgMHgwOTgsIDB4MDU2LCAweDAwRiwgMHgwMjgsCi0JMHgwNjYsIDB4MDE1LCAweDA5MiwgMHgwMUEsIDB4MDE5LCAweDA4NSwgMHgwMzMsIDB4MDBBLAotCTB4MENBLCAweDA4NSwgMHgwMEMsIDB4MEMyLCAweDA5OSwgMHgwODUsIDB4MDY1LCAweDBDMywKLQkweDBEOSwgMHgwODUsIDB4MDMzLCAweDAwQSwgMHgwQ0UsIDB4MDcwLCAweDA4NiwgMHgwNjEsCi0JMHgwNEMsIDB4MEMyLCAweDBCMywgMHgwOTcsIDB4MDcxLCAweDAwQywgMHgwOTksIDB4MDNCLAotCTB4MENDLCAweDA4MywgMHgwNTgsIDB4MDBCLCAweDBFQSwgMHgwNzcsIDB4MDlELCAweDAwNiwKLQkweDA0QSwgMHgwQkUsIDB4MDA0LCAweDA3NCwgMHgwNjAsIDB4MEUwLCAweDBEMSwgMHgwNEUsCi0JMHgwMzgsIDB4MDRDLCAweDAzRSwgMHgwRUUsIDB4MDNFLCAweDBFRSwgMHgwM0UsIDB4MEVFLAotCTB4MDNFLCAweDBFRSwgMHgwMzAsIDB4MEJCLCAweDBDQSwgMHgwRTEsIDB4MDFGLCAweDA3NywKLQkweDAxRiwgMHgwNzcsIDB4MDFGLCAweDA3NywgMHgwMUYsIDB4MDc3LCAweDAyNywgMHgwNzAsCi0JMHgwOEYsIDB4MEJCLCAweDA4MCwgMHgwMEUsIDB4MDExLCAweDBGNywgMHgwNzEsIDB4MEY3LAotCTB4MDdDLCAweDA2RiwgMHgwM0MsIDB4MEIzLCAweDAzNiwgMHgwMDIsIDB4MEZCLCAweDA4RCwKLQkweDBFNiwgMHgwNTUsIDB4MDcwLCAweDA3RiwgMHgwMkQsIDB4MDI0LCAweDA2OSwgMHgwNTUsCi0JMHgwNEYsIDB4MDU4LCAweDBBOSwgMHgwMjMsIDB4MDFGLCAweDA1NCwgMHgwRjcsIDB4MDhBLAotCTB4MDk1LCAweDAyNSwgMHgwMkIsIDB4MDc1LCAweDAwQywgMHgwQ0MsIDB4MEFDLCAweDA1NiwKLQkweDA1MSwgMHgwQ0MsIDB4MDUxLCAweDBFNCwgMHgwNDUsIDB4MENFLCAweDBBMiwgMHgwMTIsCi0JMHgwMzksIDB4MEMwLCAweDBBMCwgMHgwQUYsIDB4MDU2LCAweDA2QSwgMHgwNDksIDB4MDdGLAotCTB4MDAyLCAweDA4QywgMHgwMDksIDB4MEY4LCAweDAwQiwgMHgwRUIsIDB4MEFGLCAweDA1NiwKLQkweDA3NiwgMHgwNjcsIDB4MDUyLCAweDBCMiwgMHgwOEUsIDB4MDY5LCAweDBBNywgMHgwMTEsCi0JMHgwNzMsIDB4MEE4LCAweDBCMSwgMHgwQkMsIDB4MENBLCAweDBBMCwgMHgwQTksIDB4MDM2LAotCTB4MDUwLCAweDAyQywgMHgwOTgsIDB4MEU3LCAweDAwQSwgMHgwRjUsIDB4MDY2LCAweDBBNCwKLQkweDA5NywgMHgwRTIsIDB4MDVBLCAweDAzMCwgMHgwMjcsIDB4MEJBLCAweDBGNywgMHgwODMsCi0JMHgwNEUsIDB4MEE1LCAweDAzMywgMHgwMEEsIDB4MDY2LCAweDAxNSwgMHgwOEQsIDB4MEU2LAotCTB4MDU1LCAweDAzOSwgMHgwRDIsIDB4MEE3LCAweDBBQywgMHgwNTQsIDB4MDYwLCAweDAxNiwKLQkweDA3MCwgMHgwMUIsIDB4MDcyLCAweDA4RSwgMHgwNjIsIDB4MDhGLCAweDAyMiwgMHgwMkUsCi0JMHgwNzUsIDB4MDE2LCAweDAwMiwgMHgwRkIsIDB4MDhELCAweDBFNiwgMHgwMEEsIDB4MDk1LAotCTB4MDNELCAweDA2MiwgMHgwQTMsIDB4MDAwLCAweDBCNywgMHgwMDEsIDB4MEI1LCAweDA1MywKLQkweDBERSwgMHgwMkEsIDB4MDU0LCAweDA5NCwgMHgwQUQsIDB4MEQ0LCAweDAzMywgMHgwMzIsCi0JMHgwQjEsIDB4MDU5LCAweDA0NywgMHgwMzEsIDB4MDQ3LCAweDA5MSwgMHgwMTcsIDB4MDNBLAotCTB4MDg4LCAweDA0OCwgMHgwRTcsIDB4MDAyLCAweDBCMCwgMHgwMTcsIDB4MERDLCAweDA2NywKLQkweDA5RCwgMHgwNEIsIDB4MDhELCAweDBFNywgMHgwNTIsIDB4MEFBLCAweDA3QiwgMHgwRDQsCi0JMHgwQUEsIDB4MDkyLCAweDBCRCwgMHgwRDYsIDB4MDk5LCAweDBCQywgMHgwNTYsIDB4MDAyLAotCTB4MEZCLCAweDA4QywgMHgwRjMsIDB4MDY2LCAweDA2NiwgMHgwQzYsIDB4MEYzLCAweDA2NiwKLQkweDA2NiwgMHgwNjIsIDB4MDk5LCAweDAyQSwgMHgwRjgsIDB4MDE4LCAweDA2OCwgMHgwNzAsCi0JMHgwQjAsIDB4MDhBLCAweDAwRCwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDUyLAotCTB4MDMyLCAweDBFMSwgMHgwNDAsIDB4MDVDLCAweDAzOCwgMHgwMEIsIDB4MEVBLCAweDA5QiwKLQkweDA4NywgMHgwMDEsIDB4MDdELCAweDBDMCwgMHgwNUYsIDB4MDcwLCAweDAxNywgMHgwREMsCi0JMHgwMDUsIDB4MEY1LCAweDBEQywgMHgwOUIsIDB4MDAxLCAweDA3RCwgMHgwNjEsIDB4MDRELAotCTB4MDgwLCAweDBCRSwgMHgwQTcsIDB4MDc5LCAweDA4MiwgMHgwQTIsIDB4MDFGLCAweDA1MCwKLQkweDAxNSwgMHgwMkEsIDB4MDhGLCAweDA4QiwgMHgwMUMsIDB4MEU1LCAweDBBNSwgMHgwMTMsCi0JMHgwODQsIDB4MDU4LCAweDBFNywgMHgwMDIsIDB4MDkxLCAweDA1NCwgMHgwMDUsIDB4MDAyLAotCTB4MDRCLCAweDBCRCwgMHgwMjIsIDB4MDFBLCAweDA5NCwgMHgwN0YsIDB4MDlDLCAweDAxQSwKLQkweDBDMCwgMHgwNUYsIDB4MDQyLCAweDAxQSwgMHgwMjEsIDB4MEQxLCAweDA4MCwgMHgwNTksCi0JMHgwQzAsIDB4MDZELCAweDAxQywgMHgwMkMsIDB4MDBBLCAweDA4MywgMHgwNTUsIDB4MDU1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwKLQkweDA1NSwgMHgwNTQsIDB4MDFDLCAweDBCOCwgMHgwNUMsIDB4MDZFLCAweDAxNywgMHgwOUMsCi0JMHgwMkYsIDB4MDM4LCAweDA1RSwgMHgwNzAsIDB4MEU3LCAweDBCOCwgMHgwNUUsIDB4MDcwLAotCTB4MEJDLCAweDBFMSwgMHgwNzksIDB4MEMyLCAweDBGMywgMHgwODUsIDB4MEU3LCAweDAwQiwKLQkweDBDRSwgMHgwMTcsIDB4MDlDLCAweDAyOSwgMHgwOUMsIDB4MDI5LCAweDA5QywgMHgwMjksCi0JMHgwOUMsIDB4MDIzLCAweDAwRiwgMHgwNTgsIDB4MDE0LCAweDBFRSwgMHgwMzUsIDB4MDc3LAotCTB4MDI2LCAweDAyMSwgMHgwOTMsIDB4MDA1LCAweDBDOSwgMHgwQjAsIDB4MDE3LCAweDBEMiwKLQkweDAxRCwgMHgwMTgsIDB4MDhBLCAweDAyMSwgMHgwOTMsIDB4MDA1LCAweDBDOSwgMHgwQjAsCi0JMHgwMTcsIDB4MEQxLCAweDA4NywgMHgwQUMsIDB4MDBBLCAweDA3NCwgMHgwMEYsIDB4MEFFLAotCTB4MEY1LCAweDA1QSwgMHgwODIsIDB4MEEzLCAweDBFNCwgMHgwM0EsIDB4MDMxLCAweDAxNCwKLQkweDBCQiwgMHgwRDcsIDB4MDU5LCAweDA5OSwgMHgwNzQsIDB4MEEyLCAweDAxOSwgMHgwMzAsCi0JMHgwNUMsIDB4MDlCLCAweDAwMSwgMHgwN0QsIDB4MDE4LCAweDA3QSwgMHgwQzAsIDB4MEE3LAotCTB4MDQwLCAweDBGOCwgMHgwNDMsIDB4MEQ0LCAweDA2MywgMHgwODksIDB4MDI1LCAweDBEMCwKLQkweDAxMCwgMHgwRDYsIDB4MDFDLCAweDA2QSwgMHgwMTAsIDB4MEY1LCAweDA1NSwgMHgwODksCi0JMHgwMjUsIDB4MEQxLCAweDA1MSwgMHgwNjYsIDB4MDFGLCAweDA1MSwgMHgwRjUsIDB4MDkxLAotCTB4MDQ5LCAweDAyRSwgMHgwODksIDB4MDE1LCAweDA5OCwgMHgwNkEsIDB4MEEzLCAweDBFMCwKLQkweDA4QSwgMHgwOTQsIDB4MDY1LCAweDA2NCwgMHgwMEUsIDB4MDEzLCAweDAxNywgMHgwMzgsCi0JMHgwQTgsIDB4MDg2LCAweDA0QywgMHgwMTcsIDB4MDI2LCAweDBDMCwgMHgwNUYsIDB4MDQ2LAotCTB4MDFFLCAweDBCMCwgMHgwMjgsIDB4MDYzLCAweDAxRiwgMHgwMDgsIDB4MDdBLCAweDA4QywKLQkweDA3MSwgMHgwMjQsIDB4MEJBLCAweDAwMiwgMHgwMUEsIDB4MEQwLCAweDAwRCwgMHgwNDIsCi0JMHgwMUUsIDB4MEFBLCAweDBCMSwgMHgwMjQsIDB4MEJBLCAweDAyQSwgMHgwMkQsIDB4MDMxLAotCTB4MEY1LCAweDAxRiwgMHgwNTgsIDB4MDc0LCAweDA5MiwgMHgwRTgsIDB4MDg3LCAweDA1QSwKLQkweDA2MywgMHgwNTIsIDB4MERFLCAweDBGNCwgMHgwNTEsIDB4MDY5LCAweDA0QSwgMHgwM0UsCi0JMHgwMDksIDB4MDY5LCAweDA0NiwgMHgwNTAsIDB4MEYwLCAweDBFMSwgMHgwMzEsIDB4MDczLAotCTB4MDA1LCAweDA0NSwgMHgwQkQsIDB4MDU5LCAweDA4RCwgMHgwOEIsIDB4MDRBLCAweDA3QywKLQkweDBEMywgMHgwRUQsIDB4MDM4LCAweDBFOSwgMHgwRDMsIDB4MDRFLCAweDA3NCwgMHgwRUQsCi0JMHgwNDQsIDB4MDMyLCAweDA2MCwgMHgwQjksIDB4MDM2LCAweDAwMiwgMHgwRkEsIDB4MDVCLAotCTB4MERFLCAweDA4QSwgMHgwMkQsIDB4MDI5LCAweDBEMCwgMHgwRTEsIDB4MDIxLCAweDBGNSwKLQkweDBBMywgMHgwOTIsIDB4MDIxLCAweDBGMiwgMHgwMTksIDB4MDMwLCAweDA1QywgMHgwOUIsCi0JMHgwMDEsIDB4MDdELCAweDAyMSwgMHgwRjUsIDB4MEEwLCAweDBDNiwgMHgwMDEsIDB4MDY3LAotCTB4MDAxLCAweDBCNCwgMHgwNDUsIDB4MENFLCAweDBBNSwgMHgwMTIsIDB4MDM5LCAweDBENCwKLQkweDAxQywgMHgwMDUsIDB4MEY0LCAweDA0MCwgMHgwQTEsIDB4MEMyLCAweDBDMywgMHgwNTAsCi0JMHgwNkEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLAotCTB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MDgxLCAweDBBRiwKLQkweDA4NiwgMHgwOUYsIDB4MDE5LCAweDAxQiwgMHgwRTcsIDB4MDgxLCAweDBGMywgMHgwNjUsCi0JMHgwRjIsIDB4MDgwLCAweDBCRSwgMHgwNzAsIDB4MDE3LCAweDBERiwgMHgwREYsIDB4MDM4LAotCTB4MDBCLCAweDBFQiwgMHgwMEQsIDB4MEMzLCAweDA4MCwgMHgwQkUsIDB4MEE3LCAweDAwRiwKLQkweDA5NSwgMHgwNEYsIDB4MDVBLCAweDA5NCwgMHgwQzAsIDB4MDJDLCAweDBEOCwgMHgwQjEsCi0JMHgwQTcsIDB4MENFLCAweDA1QSwgMHgwMTEsIDB4MDczLCAweDBBOCwgMHgwM0EsIDB4MEMyLAotCTB4MENDLCAweDBCNiwgMHgwMzAsIDB4MDE3LCAweDBEQywgMHgwNkYsIDB4MDM1LCAweDBBOSwKLQkweDA4MCwgMHgwNEQsIDB4MEE3LCAweDBDRSwgMHgwMkEsIDB4MDE4LCAweDA3OSwgMHgwQzUsCi0JMHgwNDksIDB4MERFLCAweDA2MSwgMHgwQTgsIDB4MDIyLCAweDBFNywgMHgwNTAsIDB4MDMzLAotCTB4MEY5LCAweDA5OCwgMHgwNjQsIDB4MDA4LCAweDBCOSwgMHgwOTUsIDB4MDQyLCAweDBGQywKLQkweDBDQywgMHgwRDksIDB4MDk1LCAweDAzRCwgMHgwNjIsIDB4MEEyLCAweDA0OCwgMHgwRDQsCi0JMHgwNDgsIDB4MEU3LCAweDAwMiwgMHgwODgsIDB4MEI5LCAweDBDMSwgMHgwQTAsIDB4MEUzLAotCTB4MDlELCAweDA0RSwgMHgwNjIsIDB4MEU2LCAweDBDQywgMHgwQzYsIDB4MDZCLCAweDBDRSwKLQkweDA4MywgMHgwMTAsIDB4MEM5LCAweDA4MiwgMHgwRTQsIDB4MERBLCAweDBDMiwgMHgwQzgsCi0JMHgwMUUsIDB4MEMzLCAweDBCOSwgMHgwMzYsIDB4MDAyLCAweDBGQSwgMHgwQTksIDB4MEVCLAotCTB4MDRFLCAweDAzMCwgMHgwMzAsIDB4MEZBLCAweDAwRCwgMHgwRjAsIDB4MEE5LCAweDBFQiwKLQkweDA0MCwgMHgwQjksIDB4MDBGLCAweDBBQSwgMHgwN0EsIDB4MEQyLCAweDBDMiwgMHgwQzgsCi0JMHgwRkEsIDB4MEE3LCAweDBBRCwgMHgwNDEsIDB4MDBBLCAweDA0NywgMHgwRDUsIDB4MDNELAotCTB4MDY4LCAweDBBQywgMHgwRjEsIDB4MEY1LCAweDA0RiwgMHgwNUEsIDB4MDk3LCAweDA1NCwKLQkweDA3RCwgMHgwNEYsIDB4MEE4LCAweDBBQSwgMHgwNTUsIDB4MDFGLCAweDAxMSwgMHgwNzMsCi0JMHgwNUEsIDB4MEIwLCAweDAxNywgMHgwREUsIDB4MDVELCAweDA1OSwgMHgwQTksIDB4MDI1LAotCTB4MEQwLCAweDA1NSwgMHgwMkEsIDB4MDQ2LCAweDBCQywgMHgwQjgsIDB4MDIyLCAweDBBRSwKLQkweDA0NSwgMHgwMjksIDB4MDNFLCAweDAxNCwgMHgwRkEsIDB4MEUxLCAweDA5OSwgMHgwOTQsCi0JMHgwQ0EsIDB4MDRBLCAweDBCRSwgMHgwM0QsIDB4MEQ2LCAweDA5OSwgMHgwOTIsIDB4MDVELAotCTB4MDE1LCAweDAxNywgMHgwQzgsIDB4MEQ3LCAweDBEQywgMHgwMTUsIDB4MDE3LCAweDA4QSwKLQkweDA0MCwgMHgwMUYsIDB4MDBBLCAweDA5RSwgMHgwQUMsIDB4MEM5LCAweDA2NSwgMHgwNDksCi0JMHgwNUMsIDB4MDFELCAweDAxMCwgMHgwNjgsIDB4MDRBLCAweDAzRSwgMHgwNUIsIDB4MERFLAotCTB4MDgzLCAweDAxNiwgMHgwOTUsIDB4MDgwLCAweDBCRSwgMHgwOTEsIDB4MDc0LCAweDA1OCwKLQkweDBBNCwgMHgwMDAsIDB4MDdDLCAweDAzOCwgMHgwRTcsIDB4MDU2LCAweDAzMCwgMHgwMTcsCi0JMHgwREYsIDB4MDc1LCAweDBBNiwgMHgwNjQsIDB4MDk3LCAweDA0NSwgMHgwMjAsIDB4MDlELAotCTB4MDAzLCAweDA1RiwgMHgwNzAsIDB4MDU0LCAweDA1RSwgMHgwMjksIDB4MDFELCAweDBGMCwKLQkweDBBOSwgMHgwRUEsIDB4MENDLCAweDA4NiwgMHgwNTQsIDB4MDk1LCAweDBDMSwgMHgwRDEsCi0JMHgwMDYsIDB4MDgzLCAweDAwRiwgMHgwQUEsIDB4MDdCLCAweDBEMCwgMHgwNjUsIDB4MDQ5LAotCTB4MDQ1LCAweDBCRCwgMHgwRTksIDB4MDYyLCAweDBEMiwgMHgwOTEsIDB4MERGLCAweDAwNCwKLQkweDA1RCwgMHgwMTYsIDB4MDI5LCAweDAxQywgMHgwN0QsIDB4MDRGLCAweDBBQywgMHgwMUEsCi0JMHgwNDcsIDB4MDFBLCAweDBBOSwgMHgwRjUsIDB4MDY3LCAweDA2NiwgMHgwNTMsIDB4MDI4LAotCTB4MEI3LCAweDBCRCwgMHgwMkMsIDB4MDVBLCAweDA1MiwgMHgwM0IsIDB4MEUzLCAweDBERCwKLQkweDA1OSwgMHgwQTksIDB4MDI1LCAweDBEMSwgMHgwQTgsIDB4MEFDLCAweDAwOCwgMHgwNkIsCi0JMHgwRUUsIDB4MDA4LCAweDBBQiwgMHgwQzUsIDB4MDIwLCAweDAyRiwgMHgwODUsIDB4MDRGLAotCTB4MDU2LCAweDA2NiwgMHgwNzUsIDB4MDQ5LCAweDA1QywgMHgwMUMsIDB4MDE4LCAweDAxRCwKLQkweDA4MSwgMHgwQzIsIDB4MDY0LCAweDAwNSwgMHgwRjAsIDB4MDgwLCAweDBCRSwgMHgwMzUsCi0JMHgwNUMsIDB4MEQwLCAweDAxNywgMHgwQzIsIDB4MDU1LCAweDBGMCwgMHgwOTUsIDB4MDdDLAotCTB4MDI1LCAweDA1RiwgMHgwMDgsIDB4MDBCLCAweDBFMSwgMHgwMDEsIDB4MDdDLCAweDA3QiwKLQkweDBBQiwgMHgwMzUsIDB4MDI0LCAweDBCQSwgMHgwMTAsIDB4MDU1LCAweDA5MywgMHgwMUEsCi0JMHgwRkIsIDB4MDgyLCAweDAyQSwgMHgwRjEsIDB4MDQ4LCAweDBENywgMHgwQzIsIDB4MEE3LAotCTB4MEFCLCAweDAzMSwgMHgwQjIsIDB4MEE0LCAweDBBQywgMHgwNjMsIDB4MDlELCAweDA0QSwKLQkweDA4RCwgMHgwN0MsIDB4MDdCLCAweDBBQiwgMHgwMzUsIDB4MDI0LCAweDBCQSwgMHgwMTAsCi0JMHgwNTQsIDB4MDMwLCAweDA4RCwgMHgwN0QsIDB4MEMxLCAweDAxNSwgMHgwNzgsIDB4MEFDLAotCTB4MDZGLCAweDA1QSwgMHgwOTQsIDB4MDYwLCAweDAxQSwgMHgwRTMsIDB4MDc5LCAweDBENCwKLQkweDBBQSwgMHgwNEYsIDB4MDg1LCAweDA0RiwgMHgwNTYsIDB4MDY2LCAweDBENSwgMHgwNDksCi0JMHgwNTgsIDB4MEM3LCAweDAzQSwgMHgwOTUsIDB4MDQ5LCAweDBGMCwgMHgwNDUsIDB4MEQxLAotCTB4MDYyLCAweDA5NCwgMHgwODYsIDB4MEJDLCAweDAxRCwgMHgwMTMsIDB4MEQyLCAweDA5MCwKLQkweDBGRiwgMHgwQ0YsIDB4MDdBLCAweDA4MywgMHgwRjIsIDB4MDUwLCAweDAzMSwgMHgwREUsCi0JMHgwMDAsIDB4MDYwLCAweDA2MCwgMHgwQTEsIDB4MDE3LCAweDAzNSwgMHgwQTgsIDB4MDVGLAotCTB4MDlCLCAweDAxQiwgMHgwMzcsIDB4MDA3LCAweDA0NCwgMHgwMUEsIDB4MDMwLCAweDAwQiwKLQkweDAzOCwgMHgwMEQsIDB4MEJDLCAweDAxQywgMHgwRTAsIDB4MEQwLCAweDA0NywgMHgwQ0UsCi0JMHgwQTAsIDB4MEFBLCAweDA3QSwgMHgwQTEsIDB4MDk4LCAweDA2QSwgMHgwOTIsIDB4MDk1LAotCTB4MDNELCAweDA2OCwgMHgwMzEsIDB4MDgwLCAweDA1QiwgMHgwODAsIDB4MERBLCAweDBBOSwKLQkweDBFRiwgMHgwNDEsIDB4MDk1LCAweDAyNSwgMHgwMTYsIDB4MEY3LCAweDBBNSwgMHgwOEIsCi0JMHgwNEEsIDB4MEM2LCAweDA3OSwgMHgwQjMsIDB4MDMzLCAweDA2MCwgMHgwMkYsIDB4MEFBLAotCTB4MDlFLCAweDBCMSwgMHgwNTEsIDB4MDgwLCAweDA1OSwgMHgwOUUsIDB4MENBLCAweDBBNywKLQkweDBBQywgMHgwMEEsIDB4MDMwLCAweDAwQiwgMHgwNjcsIDB4MEIyLCAweDBBRCwgMHgwRDUsCi0JMHgwREEsIDB4MDkyLCAweDA1RCwgMHgwMTcsIDB4MEEzLCAweDAwMCwgMHgwQjMsIDB4MDJELAotCTB4MDk1LCAweDA2RSwgMHgwMDgsIDB4MEE5LCAweDA1OCwgMHgwQTEsIDB4MDE3LCAweDAzQSwKLQkweDA4QiwgMHgwMDEsIDB4MDdELCAweDA1NCwgMHgwRjcsIDB4MDhFLCAweDA5NSwgMHgwMjUsCi0JMHgwMDgsIDB4MDFDLCAweDBFMCwgMHgwNTYsIDB4MDAyLCAweDBGQiwgMHgwQzEsIDB4MEQxLAotCTB4MDE1LCAweDAxOCwgMHgwMDUsIDB4MDkyLCAweDA2QiwgMHgwM0MsIDB4MDFELCAweDAxMiwKLQkweDAyOCwgMHgwQzAsIDB4MDJDLCAweDBBNSwgMHgwNkMsIDB4MDExLCAweDA3MCwgMHgwMTcsCi0JMHgwQjIsIDB4MDM4LCAweDA0RCwgMHgwODAsIDB4MEJFLCAweDBFMCwgMHgwMkYsIDB4MEI0LAotCTB4MEVDLCAweDA0QSwgMHgwRUQsIDB4MEIzLCAweDA5RSwgMHgwMDIsIDB4MEZCLCAweDA4MCwKLQkweDBCRSwgMHgwRTAsIDB4MDJGLCAweDBCMSwgMHgwMzksIDB4MDkzLCAweDAzRSwgMHgwNkQsCi0JMHgwRTcsIDB4MDEwLCAweDA2MCwgMHgwOUYsIDB4MDMyLCAweDBBOSwgMHgwQTIsIDB4MDZDLAotCTB4MDA1LCAweDBGNCwgMHgwNDAsIDB4MEU2LCAweDAwQSwgMHgwOTUsIDB4MDNELCAweDA2QSwKLQkweDAyMywgMHgwMDAsIDB4MEIzLCAweDA4MCwgMHgwREEsIDB4MEE3LCAweDBENiwgMHgwMkEsCi0JMHgwMDMsIDB4MDBELCAweDA3MCwgMHgwMTcsIDB4MEQyLCAweDAyRSwgMHgwNzYsIDB4MDI5LAotCTB4MDRGLCAweDBCQywgMHgwNTQsIDB4MEE2LCAweDA1MSwgMHgwNkYsIDB4MDdBLCAweDA1OCwKLQkweDBCNCwgMHgwQUMsIDB4MDA1LCAweDBGNCwgMHgwOEIsIDB4MEEyLCAweDBGNCwgMHgwMEUsCi0JMHgwMzUsIDB4MDBELCAweDA0OSwgMHgwMkUsIDB4MEI0LCAweDBDQywgMHgwMTgsIDB4MEE1LAotCTB4MEM4LCAweDBGOCwgMHgwNEEsIDB4MDk3LCAweDAyMywgMHgwRTEsIDB4MDA1LCAweDAyRSwKLQkweDA0NywgMHgwQzIsIDB4MDhBLCAweDA1QywgMHgwOEYsIDB4MDg1LCAweDA2OSwgMHgwNzIsCi0JMHgwM0UsIDB4MDFGLCAweDA0QSwgMHgwQzMsIDB4MDU1LCAweDAxRiwgMHgwNTYsIDB4MDQzLAotCTB4MDMyLCAweDA4QywgMHgwQTMsIDB4MDVFLCAweDA2MCwgMHgwQTgsIDB4MDQ1LCAweDBDRSwKLQkweDAwRCwgMHgwNjAsIDB4MDJGLCAweDBBMywgMHgwODQsIDB4MDlELCAweDBEOCwgMHgwRjAsCi0JMHgwMTcsIDB4MEQyLCAweDAyRSwgMHgwMEUsIDB4MDFCLCAweDAyMywgMHgwODQsIDB4MEQ4LAotCTB4MDBCLCAweDBFQiwgMHgwODksIDB4MEYzLCAweDA4MCwgMHgwQkUsIDB4MEUwLCAweDAyRiwKLQkweDBCQiwgMHgwMzksIDB4MDg1LCAweDBERiwgMHgwMjIsIDB4MDAzLCAweDBFNywgMHgwMDEsCi0JMHgwN0QsIDB4MEMwLCAweDA1RiwgMHgwNzAsIDB4MDE3LCAweDBEMSwgMHgwMTcsIDB4MDM4LAotCTB4MDE0LCAweDA1QiwgMHgwRDYsIDB4MEEyLCAweDA3NCwgMHgwMEQsIDB4MDRCLCAweDA3QSwKLQkweDBCMywgMHgwMzEsIDB4MDk2LCAweDA5NCwgMHgwNkIsIDB4MENDLCAweDAzNSwgMHgwMjMsCi0JMHgwRDcsIDB4MDQ5LCAweDA0OCwgMHgwMTUsIDB4MDczLCAweDAyOSwgMHgwMEYsIDB4MDVELAotCTB4MDhBLCAweDBDMCwgMHgwNUYsIDB4MDRELCAweDA3OSwgMHgwODQsIDB4MDM1LCAweDA4MCwKLQkweDBCRSwgMHgwODgsIDB4MDFDLCAweDBDMywgMHgwNTIsIDB4MDlGLCAweDA1OSwgMHgwNjgsCi0JMHgwQzAsIDB4MDJDLCAweDBFMCwgMHgwMzYsIDB4MEFBLCAweDA3QiwgMHgwQ0QsIDB4MDRBLAotCTB4MDkyLCAweDBCRSwgMHgwRjMsIDB4MDgxLCAweDA0QSwgMHgwN0QsIDB4MDVCLCAweDA1OSwKLQkweDA5NCwgMHgwQ0EsIDB4MDFDLCAweDAyNCwgMHgwRUUsIDB4MEM3LCAweDA4MCwgMHgwQkUsCi0JMHgwODgsIDB4MDFDLCAweDBDMywgMHgwNTIsIDB4MDlGLCAweDA1OSwgMHgwNjgsIDB4MEMwLAotCTB4MDJDLCAweDBFMCwgMHgwMzYsIDB4MEFBLCAweDA3QiwgMHgwQ0QsIDB4MDRBLCAweDA5MiwKLQkweDBCRSwgMHgwRjMsIDB4MDgxLCAweDA0MywgMHgwODQsIDB4MDlDLCAweDA3QiwgMHgwMzgsCi0JMHgwMEIsIDB4MEVCLCAweDBBRiwgMHgwNzAsIDB4MEQ0LCAweDBFQSwgMHgwNTMsIDB4MDAwLAotCTB4MDlCLCAweDA0RiwgMHgwOUMsIDB4MDU0LCAweDAzMCwgMHgwRjMsIDB4MDhBLCAweDA5NCwKLQkweDBGQSwgMHgwQjYsIDB4MEIzLCAweDAyOSwgMHgwOTQsIDB4MDIyLCAweDBFNiwgMHgwMUEsCi0JMHgwODUsIDB4MEY5LCAweDBCMCwgMHgwNTksIDB4MDkzLCAweDBGOSwgMHgwRDIsIDB4MEM0LAotCTB4MDMyLCAweDA2MCwgMHgwQjksIDB4MDM2LCAweDBCMCwgMHgwQjMsIDB4MDkwLCAweDBEOSwKLQkweDA3NywgMHgwMjYsIDB4MDFDLCAweDAyNywgMHgwMjIsIDB4MEU4LCAweDA5NiwgMHgwQjQsCi0JMHgwMjMsIDB4MEVBLCAweDA5RSwgMHgwQjUsIDB4MDExLCAweDA4MCwgMHgwNTksIDB4MDY1LAotCTB4MDg2LCAweDAyMCwgMHgwNzMsIDB4MDk2LCAweDA4RCwgMHgwNzksIDB4MEFELCAweDA1OCwKLQkweDAwQiwgMHgwRTksIDB4MDE3LCAweDA0NCwgMHgwOEEsIDB4MDRBLCAweDAwNywgMHgwRDcsCi0JMHgwN0EsIDB4MDgyLCAweDBBMSwgMHgwOTAsIDB4MEZBLCAweDBFRiwgMHgwMDEsIDB4MDU0LAotCTB4MEJBLCAweDA1MCwgMHgwRDQsIDB4MDU5LCAweDAxRSwgMHgwMkMsIDB4MEU5LCAweDBGMywKLQkweDA4QSwgMHgwOTksIDB4MDg1LCAweDA2QiwgMHgwMEIsIDB4MDIzLCAweDAxNSwgMHgwOTcsCi0JMHgwNzIsIDB4MDYxLCAweDAxNywgMHgwMzAsIDB4MEQ0LCAweDAyQywgMHgwNzMsIDB4MDg3LAotCTB4MDQ4LCAweDBBQSwgMHgwMDIsIDB4MDgxLCAweDAyNSwgMHgwREUsIDB4MDkxLCAweDAwRCwKLQkweDA0QSwgMHgwQzAsIDB4MDVGLCAweDA3RSwgMHgwRDIsIDB4MDgwLCAweDBBNSwgMHgwM0UsCi0JMHgwQjIsIDB4MEQwLCAweDBDOCwgMHgwNkIsIDB4MDgwLCAweDBCRSwgMHgwODgsIDB4MDFDLAotCTB4MEVBLCAweDAwOSwgMHgwMTcsIDB4MDQ0LCAweDAxQSwgMHgwMzcsIDB4MDFBLCAweDA5MSwKLQkweDA3NCwgMHgwNTgsIDB4MEEzLCAweDA3MSwgMHgwQUYsIDB4MDA3LCAweDA0NCwgMHgwNTQsCi0JMHgwNkUsIDB4MDM1LCAweDBFMCwgMHgwRTgsIDB4MEFBLCAweDA2NCwgMHgwMEYsIDB4MDkwLAotCTB4MEZBLCAweDBEMCwgMHgwNjMsIDB4MDAwLCAweDBCMywgMHgwODAsIDB4MERBLCAweDAyQywKLQkweDA3MywgMHgwODcsIDB4MDQ4LCAweDBBQSwgMHgwMDIsIDB4MDgxLCAweDAyNSwgMHgwREUsCi0JMHgwOTEsIDB4MDBELCAweDA0QSwgMHgwQzAsIDB4MDVGLCAweDA0OCwgMHgwQkEsIDB4MDI3LAotCTB4MEEzLCAweDAwMCwgMHgwQjcsIDB4MDAxLCAweDBCNywgMHgwNEYsIDB4MDlDLCAweDBCNCwKLQkweDA2QiwgMHgwQ0MsIDB4MDM1LCAweDAxNiwgMHgwRjUsIDB4MDY2LCAweDA2MywgMHgwMkQsCi0JMHgwMjksIDB4MDFFLCAweDBCQSwgMHgwNEEsIDB4MDQwLCAweDBBQiwgMHgwOTksIDB4MDQ4LAotCTB4MDdBLCAweDBFQywgMHgwNTAsIDB4MDhCLCAweDA5QywgMHgwMDgsIDB4MDIyLCAweDBGQywKLQkweDBGOSwgMHgwQjIsIDB4MDU1LCAweDAzRCwgMHgwNjIsIDB4MEE5LCAweDAyMywgMHgwNTEsCi0JMHgwMjMsIDB4MDlDLCAweDAwQSwgMHgwM0MsIDB4MDczLCAweDAwRCwgMHgwNDQsIDB4MDVDLAotCTB4MEUxLCAweDA1MCwgMHgwNzEsIDB4MENFLCAweDBBMSwgMHgwMUYsIDB4MEU3LCAweDAxNSwKLQkweDA2QiwgMHgwMEIsIDB4MDI1LCAweDBFRCwgMHgwMEIsIDB4MDkzLCAweDA2MCwgMHgwMkYsCi0JMHgwQUEsIDB4MDlFLCAweDBBQywgMHgwMzYsIDB4MDY1LCAweDA0OSwgMHgwNUYsIDB4MDdBLAotCTB4MDIwLCAweDA1MCwgMHgwMDgsIDB4MDdGLCAweDBFRiwgMHgwMzksIDB4MDE0LCAweDA0OSwKLQkweDAwMSwgMHgwMTEsIDB4MDgxLCAweDAwNCwgMHgwNjAsIDB4MDQwLCAweDBDQywgMHgwNTksCi0JMHgwQzAsIDB4MEFELCAweDAyMywgMHgwRUIsIDB4MDQxLCAweDBCMCwgMHgwODEsIDB4MEYyLAotCTB4MDNBLCAweDA0MSwgMHgwQUEsIDB4MDUwLCAweDA0MywgMHgwRTQsIDB4MEQ0LCAweDA4NiwKLQkweDA1NCwgMHgwQTAsIDB4MDg3LCAweDBDMSwgMHgwNTIsIDB4MENBLCAweDA5MywgMHgwMDEsCi0JMHgwMzIsIDB4MDU0LCAweDA5RCwgMHgwMjQsIDB4MDAyLCAweDAwMCwgMHgwMDAsIDB4MDUyLAotCTB4MEFGLCAweDAxNiwgMHgwNDYsIDB4MEE3LCAweDA5MSwgMHgwNjcsIDB4MDA4LCAweDBCNCwKLQkweDAwNCwgMHgwNTEsIDB4MEYxLCAweDA2NSwgMHgwMTksIDB4MEI0LCAweDA2RSwgMHgwMkQsCi0JMHgwQzAsIDB4MEFELCAweDA0OSwgMHgwMDAsIDB4MDkyLCAweDA1NywgMHgwMUIsIDB4MDc0LAotCTB4MDQ1LCAweDA1RiwgMHgwMjMsIDB4MDUxLCAweDBCNywgMHgwNDQsIDB4MDBBLCAweDAxMCwKLQkweDAwNiwgMHgwQTMsIDB4MDZFLCAweDA4QiwgMHgwNkIsIDB4MDA4LCAweDAxRiwgMHgwMTksCi0JMHgwRDEsIDB4MEU2LCAweDA4MCwgMHgwODIsIDB4MDgwLCAweDA1NCwgMHgwMDQsIDB4MDJBLAotCTB4MDQ1LCAweDA5MSwgMHgwQTksIDB4MEU0LCAweDA1OSwgMHgwQzIsIDB4MDJELCAweDAwMSwKLQkweDAxNCwgMHgwMDQsIDB4MDUwLCAweDBEMywgMHgwRkMsIDB4MDU1LCAweDA4NCwgMHgwNjEsCi0JMHgwRDksIDB4MDgwLCAweDA1MSwgMHgwMkYsIDB4MEUyLCAweDAxRiwgMHgwNDYsIDB4MDVGLAotCTB4MDQwLCAweDBFMCwgMHgwMjAsIDB4MDE1LCAweDA0QSwgMHgwQkMsIDB4MDU5LCAweDAxQSwKLQkweDA5RSwgMHgwNDUsIDB4MDlDLCAweDAyMiwgMHgwRDAsIDB4MDExLCAweDA0OCwgMHgwQ0IsCi0JMHgwRTgsIDB4MDE0LCAweDAwOCwgMHgwMDEsIDB4MDU0LCAweDAxNSwgMHgwRTIsIDB4MEM4LAotCTB4MEQ0LCAweDBGMiwgMHgwMkMsIDB4MEUxLCAweDAxNiwgMHgwODAsIDB4MDhBLCAweDA0NiwKLQkweDA1RiwgMHgwNTIsIDB4MDdDLCAweDBEOSwgMHgwQTgsIDB4MEY4LCAweDA4OCwgMHgwRDAsCi0JMHgwNUEsIDB4MDNDLCAweDBEMiwgMHgwNUMsIDB4MDVCLCAweDA4MCwgMHgwREEsIDB4MEE3LAotCTB4MEQ2LCAweDA1QSwgMHgwMDgsIDB4MDg2LCAweDBBNCwgMHgwNUQsIDB4MDE3LCAweDBBMCwKLQkweDBDMywgMHgwNTIsIDB4MDJFLCAweDA4OCwgMHgwQTgsIDB4MDIyLCAweDAxRiwgMHgwNTMsCi0JMHgwRUEsIDB4MERBLCAweDBDQywgMHgwQTYsIDB4MDUwLCAweDBFMSwgMHgwMjcsIDB4MDc2LAotCTB4MDNDLCAweDAwNSwgMHgwRjUsIDB4MDRGLCAweDBBQiwgMHgwNkIsIDB4MDMyLCAweDA5OSwKLQkweDA0MywgMHgwODQsIDB4MDlDLCAweDA3QiwgMHgwMzgsIDB4MDBCLCAweDBFOSwgMHgwMjcsCi0JMHgwQUMsIDB4MEQ0LCAweDA5MiwgMHgwRTAsIDB4MDBFLCAweDBEQSwgMHgwMzgsIDB4MDRELAotCTB4MDgwLCAweDBCRSwgMHgwRTYsIDB4MDdELCAweDA1MCwgMHgwQkEsIDB4MDUxLCAweDBBRSwKLQkweDA2NiwgMHgwRUYsIDB4MEJDLCAweDBEQywgMHgwN0IsIDB4MDg3LCAweDAxRSwgMHgwMDIsCi0JMHgwRkEsIDB4MDkzLCAweDBFNiwgMHgwQ0QsIDB4MDQ3LCAweDBDNCwgMHgwNDMsIDB4MENELAotCTB4MDBGLCAweDAzNCwgMHgwOUQsIDB4MEEzLCAweDAwMCwgMHgwQjAsIDB4MDU1LCAweDAwMSwKLQkweDBBRSwgMHgwMDMsIDB4MDg0LCAweDAwNCwgMHgwQ0UsIDB4MDAxLCAweDBEMCwgMHgwRTEsCi0JMHgwNzAsIDB4MDAyLCAweDA4MCwgMHgwMEUsIDB4MDg5LCAweDBFOSwgMHgwMjIsIDB4MDFGLAotCTB4MEUwLCAweDBFOCwgMHgwOTYsIDB4MEIwLCAweDAxMSwgMHgwRjQsIDB4MEMyLCAweDBDRSwKLQkweDAwMywgMHgwNkEsIDB4MDQ0LCAweDAyRCwgMHgwQzAsIDB4MDZELCAweDA0OCwgMHgwMDUsCi0JMHgwQjgsIDB4MDBELCAweDBBMywgMHgwMDAsIDB4MEI3LCAweDA3NiwgMHgwRDUsIDB4MERFLAotCTB4MEIxLCAweDA1MCwgMHgwREMsIDB4MDdELCAweDA3NywgMHgwQkMsIDB4MDU0LCAweDBCQSwKLQkweDA1MiwgMHgwN0YsIDB4MDU4LCAweDAxNCwgMHgwMzQsIDB4MDBGLCAweDA5QSwgMHgwRjMsCi0JMHgwODEsIDB4MDU4LCAweDAwQiwgMHgwRUEsIDB4MEVGLCAweDA1OCwgMHgwMTQsIDB4MDYwLAotCTB4MDE2LCAweDBBNSwgMHgwNkMsIDB4MDJFLCAweDBGNywgMHgwODEsIDB4MDRCLCAweDBBNSwKLQkweDA2RiwgMHgwN0QsIDB4MDVELCAweDBFRSwgMHgwQjUsIDB4MDJFLCAweDA5NSwgMHgwODAsCi0JMHgwQkUsIDB4MEYwLCAweDA3MywgMHgwQkQsIDB4MDA0LCAweDA3QywgMHgwRUEsIDB4MEZFLAotCTB4MEVCLCAweDA0QywgMHgwREUsIDB4MDI5LCAweDA1MywgMHgwREQsIDB4MDZBLCAweDA1NCwKLQkweDA5NCwgMHgwQTksIDB4MEVBLCAweDAwQSwgMHgwOEMsIDB4MDAyLCAweDBENiwgMHgwNEMsCi0JMHgwM0MsIDB4MDA1LCAweDBGNCwgMHgwMDAsIDB4MEVBLCAweDBDRCwgMHgwNTYsIDB4MEFGLAotCTB4MEMwLCAweDA0NywgMHgwRDIsIDB4MDlDLCAweDA4RCwgMHgwMjksIDB4MENBLCAweDBFMCwKLQkweDAyRiwgMHgwQUUsIDB4MEJELCAweDA3NSwgMHgwOTksIDB4MDlELCAweDA0QSwgMHgwRjksCi0JMHgwRUYsIDB4MDUxLCAweDA3QywgMHgwOTQsIDB4MDBDLCAweDA3NywgMHgwODAsIDB4MDE4LAotCTB4MDE4LCAweDAyOSwgMHgwMkEsIDB4MEY4LCAweDBFMCwgMHgwRTgsIDB4MEFBLCAweDAzMCwKLQkweDAwQiwgMHgwMkEsIDB4MDk4LCAweDA3QywgMHgwMUQsIDB4MDExLCAweDA1MSwgMHgwODAsCi0JMHgwNTksIDB4MDU0LCAweDBDMywgMHgwNTEsIDB4MEY1LCAweDAxQiwgMHgwMzMsIDB4MDI0LAotCTB4MEJCLCAweDA4MiwgMHgwQTUsIDB4MDE5LCAweDA1QywgMHgwMUQsIDB4MDEwLCAweDAyOCwKLQkweDBDMCwgMHgwMkMsIDB4MDlBLCAweDBDNywgMHgwQzEsIDB4MEQxLCAweDAyMiwgMHgwOEMsCi0JMHgwMDIsIDB4MEM5LCAweDA5NCwgMHgwNjQsIDB4MDVDLCAweDAwQywgMHgwRDYsIDB4MDhFLAotCTB4MDEzLCAweDA2MCwgMHgwMkYsIDB4MEI4LCAweDAwQiwgMHgwRUEsIDB4MDMwLCAweDBFMywKLQkweDBDMCwgMHgwNUYsIDB4MDQ4LCAweDBEQywgMHgwNzgsIDB4MDBCLCAweDBFOCwgMHgwMDAsCi0JMHgwRTMsIDB4MEMwLCAweDA1RiwgMHgwNkMsIDB4MDM4LCAweDBENSwgMHgwMkUsIDB4MDM1LAotCTB4MDRGLCAweDA1QSwgMHgwOEEsIDB4MDYxLCAweDBBQSwgMHgwOUYsIDB4MDU2LCAweDAxQiwKLQkweDAzMiwgMHgwOTksIDB4MDQ2LCAweDA0MiwgMHgwQzgsIDB4MDAxLCAweDAwQywgMHgwNDUsCi0JMHgwQ0UsIDB4MEE1LCAweDAxNywgMHgwRTYsIDB4MEM2LCAweDBDRSwgMHgwQTksIDB4MEVCLAotCTB4MDE1LCAweDAxNiwgMHgwNDYsIDB4MEEyLCAweDA0NywgMHgwMzgsIDB4MDE0LCAweDA0MywKLQkweDAyNiwgMHgwMjIsIDB4MEU3LCAweDAzRCwgMHgwNjAsIDB4MDJGLCAweDBBQSwgMHgwOUUsCi0JMHgwQjUsIDB4MDEyLCAweDBFMCwgMHgwN0YsIDB4MDAxLCAweDA3RCwgMHgwRTMsIDB4MEU3LAotCTB4MDAyLCAweDA5MywgMHgwRjksIDB4MDk1LCAweDA0NCwgMHgwNUMsIDB4MEU1LCAweDBBMCwKLQkweDBFMywgMHgwOUQsIDB4MDRBLCAweDA3RiwgMHgwOUMsIDB4MDU0LCAweDBBOSwgMHgwRUIsCi0JMHgwNTEsIDB4MDA1LCAweDA0NiwgMHgwQjksIDB4MEZDLCAweDBDMCwgMHgwMUIsIDB4MDIyLAotCTB4MDJFLCAweDA2NCwgMHgwNTQsIDB4MDJGLCAweDBDRCwgMHgwNDYsIDB4MENDLCAweDBBNywKLQkweDBENSwgMHgwODYsIDB4MENDLCAweDBBNiwgMHgwNTAsIDB4MDU1LCAweDBDNiwgMHgwNDUsCi0JMHgwQ0UsIDB4MDVBLCAweDAwRSwgMHgwMzksIDB4MEQ0LCAweDBBNywgMHgwRjksIDB4MEM1LAotCTB4MDRBLCAweDA5RSwgMHgwQjUsIDB4MDExLCAweDA4MCwgMHgwNTksIDB4MEMwLCAweDA2RCwKLQkweDBDRiwgMHgwRTYsIDB4MDAwLCAweDBEOSwgMHgwMTEsIDB4MDczLCAweDAyMiwgMHgwQTEsCi0JMHgwN0UsIDB4MDZBLCAweDAzNiwgMHgwNjUsIDB4MDNFLCAweDBBQywgMHgwMzYsIDB4MDY1LAotCTB4MDMyLCAweDBCMCwgMHgwMTcsIDB4MERELCAweDAzRSwgMHgwNzIsIDB4MEQyLCAweDA3OSwKLQkweDAzMSwgMHgwMEMsIDB4MDk4LCAweDAyRSwgMHgwNEMsIDB4MDIwLCAweDA3MywgMHgwMkEsCi0JMHgwOEYsIDB4MEYzLCAweDA4QSwgMHgwQUQsIDB4MEU3LCAweDA0MSwgMHgwODIsIDB4MDdDLAotCTB4MENBLCAweDBBNiwgMHgwODksIDB4MEI1LCAweDA4NSwgMHgwOUYsIDB4MEIwLCAweDBGMCwKLQkweDAxNywgMHgwRDUsIDB4MDFGLCAweDA1NCwgMHgwNTQsIDB4MDI1LCAweDAxQSwgMHgwQTgsCi0JMHgwRkYsIDB4MDJBLCAweDA5NCwgMHgwNjUsIDB4MDExLCAweDBENywgMHgwNDksIDB4MDQ0LAotCTB4MEQ1LCAweDBDQywgMHgwQTAsIDB4MDU1LCAweDBEOCwgMHgwQUUsIDB4MDBFLCAweDA4OCwKLQkweDAxNCwgMHgwNjAsIDB4MDE2LCAweDA0RCwgMHgwNjMsIDB4MDIyLCAweDBFMCwgMHgwNzIsCi0JMHgwODYsIDB4MDM4LCAweDA0RCwgMHgwODAsIDB4MEJFLCAweDBFMCwgMHgwMkYsIDB4MEI4LAotCTB4MDBCLCAweDBFRSwgMHgwMDIsIDB4MEZCLCAweDA4MSwgMHgwMzgsIDB4MEYwLCAweDAxNywKLQkweDBENywgMHgwRDcsIDB4MDFFLCAweDAwMiwgMHgwRkEsIDB4MEZBLCAweDBFMywgMHgwQzAsCi0JMHgwNUYsIDB4MDRDLCAweDA4NSwgMHgwOTAsIDB4MDAyLCAweDAxOCwgMHgwQzgsIDB4MDVCLAotCTB4MDgwLCAweDBEQSwgMHgwMzAsIDB4MDBCLCAweDA3MCwgMHgwMUIsIDB4MDRDLCAweDAyMiwKLQkweDBEMywgMHgwNEMsIDB4MDMzLCAweDAwMywgMHgwOEMsIDB4MDJFLCAweDA0QywgMHgwNDMsCi0JMHgwMjYsIDB4MEQwLCAweDBGNSwgMHgwNjMsIDB4MDY2LCAweDBEMCwgMHgwOTUsIDB4MEE3LAotCTB4MENFLCAweDA0NSwgMHgwMzMsIDB4MDBBLCAweDBENiwgMHgwMTYsIDB4MDQyLCAweDAzOCwKLQkweDA2RSwgMHgwRTQsIDB4MENFLCAweDBCRCwgMHgwNTksIDB4MDJDLCAweDBEMiwgMHgwQUIsCi0JMHgwQkEsIDB4MDk0LCAweDA5RCwgMHgwRTYsIDB4MDFBLCAweDBCMCwgMHgwMTcsIDB4MEQ1LAotCTB4MDRGLCAweDA1QSwgMHgwOEIsIDB4MDA5LCAweDAxQSwgMHgwODgsIDB4MEI5LCAweDBDNSwKLQkweDA0MiwgMHgwNDcsIDB4MDMwLCAweDBENCwgMHgwMzIsIDB4MDE2LCAweDA3MiwgMHgwODgsCi0JMHgwNjUsIDB4MEJELCAweDA1OSwgMHgwOTksIDB4MDI1LCAweDBBNSwgMHgwNjAsIDB4MDJGLAotCTB4MEI4LCAweDA2MCwgMHgwRjMsIDB4MDA4LCAweDBCNywgMHgwNEEsIDB4MDFBLCAweDA4RiwKLQkweDBBQiwgMHgwMEQsIDB4MDk5LCAweDA0NiwgMHgwNTEsIDB4MEFGLCAweDAzOCwgMHgwQTgsCi0JMHgwOEUsIDB4MDkwLCAweDA2NSwgMHgwMTMsIDB4MDUyLCAweDAxOCwgMHgwQTAsIDB4MDU0LAotCTB4MEIxLCAweDA0MiwgMHgwMkUsIDB4MDYxLCAweDBBOCwgMHgwNDgsIDB4MEU3LCAweDAyRCwKLQkweDAxNiwgMHgwRjcsIDB4MEE4LCAweDAwNSwgMHgwQTUsIDB4MDYwLCAweDAyRiwgMHgwQTQsCi0JMHgwNzUsIDB4MEQyLCAweDA1MSwgMHgwMzUsIDB4MDczLCAweDAyOCwgMHgwMTUsIDB4MDc2LAotCTB4MDJCLCAweDA4MywgMHgwQTIsIDB4MDA1LCAweDAxOCwgMHgwMDUsIDB4MDkzLCAweDA1OCwKLQkweDBDOCwgMHgwQjgsIDB4MDA2LCAweDAyOCwgMHgwNjMsIDB4MDg0LCAweDBEOCwgMHgwMEIsCi0JMHgwRUUsIDB4MDAyLCAweDBGQiwgMHgwODAsIDB4MEJFLCAweDBFMCwgMHgwMkYsIDB4MEEwLAotCTB4MDQzLCAweDBBNywgMHgwMDEsIDB4MDdELCAweDA0QywgMHgwRTMsIDB4MEMwLCAweDA1RiwKLQkweDA3MCwgMHgwMTcsIDB4MERDLCAweDAwNSwgMHgwRjQsIDB4MDY0LCAweDAyRCwgMHgwQzAsCi0JMHgwNkQsIDB4MDE4LCAweDAwNSwgMHgwQjgsIDB4MDBELCAweDBBNSwgMHgwQkQsIDB4MDZBLAotCTB4MDIzLCAweDA4NiwgMHgwQUEsIDB4MDlFLCAweDBCNSwgMHgwMTEsIDB4MEE0LCAweDA2QSwKLQkweDBBMywgMHgwRUEsIDB4MDhBLCAweDA4RCwgMHgwMjMsIDB4MEUxLCAweDAxNywgMHgwMzgsCi0JMHgwMzQsIDB4MDY5LCAweDA3MSwgMHgwOTgsIDB4MDQ1LCAweDBBNiwgMHgwOTgsIDB4MDZBLAotCTB4MDNFLCAweDBBQywgMHgwMzYsIDB4MDY1LCAweDAxOSwgMHgwNDYsIDB4MEJDLCAweDBFMiwKLQkweDBBMiwgMHgwM0EsIDB4MDQxLCAweDA5NCwgMHgwNEQsIDB4MDQ4LCAweDA2MiwgMHgwODEsCi0JMHgwNTIsIDB4MEM1LCAweDAxNiwgMHgwRjcsIDB4MEE4LCAweDA4QiwgMHgwNEEsIDB4MDU0LAotCTB4MEY1LCAweDBBOCwgMHgwOEMsIDB4MDAyLCAweDBEQywgMHgwMDYsIDB4MEQxLCAweDAwMywKLQkweDA5QywgMHgwQjQsIDB4MEE5LCAweDBFRSwgMHgwMEEsIDB4MDk1LCAweDAyNSwgMHgwMkEsCi0JMHgwN0EsIDB4MEFELCAweDA0NiwgMHgwMDEsIDB4MDY3LCAweDAwMSwgMHgwQjUsIDB4MEQ3LAotCTB4MEFDLCAweDAwQSwgMHgwMzAsIDB4MDBCLCAweDA2QywgMHgwNDksIDB4MDM1LCAweDBFNiwKLQkweDBCNSwgMHgwNjcsIDB4MEYzLCAweDAwMCwgMHgwNkMsIDB4MDg4LCAweDBCOSwgMHgwOTEsCi0JMHgwNTAsIDB4MEJGLCAweDAzMSwgMHgwMUIsIDB4MDMyLCAweDBBNywgMHgwQjgsIDB4MDY4LAotCTB4MDk1LCAweDAyNSwgMHgwN0IsIDB4MEFELCAweDAzMywgMHgwNzgsIDB4MEE3LCAweDBDRCwKLQkweDAzRSwgMHgwRDMsIDB4MDhFLCAweDA5RCwgMHgwMzQsIDB4MEU3LCAweDA0RSwgMHgwRDQsCi0JMHgwMjIsIDB4MEU3LCAweDAwNiwgMHgwODQsIDB4MDhFLCAweDA2MCwgMHgwQTgsIDB4MEZGLAotCTB4MDM4LCAweDBBQiwgMHgwODMsIDB4MDlDLCAweDAyQSwgMHgwMDgsIDB4MEY5LCAweDBENCwKLQkweDAyMCwgMHgwNjMsIDB4MEJDLCAweDAxQSwgMHgwMDYsIDB4MDBBLCAweDBDMCwgMHgwNUYsCi0JMHgwNDYsIDB4MDQyLCAweDBEQywgMHgwMDYsIDB4MEQxLCAweDA4MCwgMHgwNUIsIDB4MDgwLAotCTB4MERBLCAweDAyMiwgMHgwRTYsIDB4MDFBLCAweDA4NCwgMHgwOEUsIDB4MDcyLCAweDBEMSwKLQkweDA2RiwgMHgwNUEsIDB4MDgwLCAweDA4NywgMHgwMUEsIDB4MEFBLCAweDA3QSwgMHgwRDQsCi0JMHgwNDgsIDB4MEM4LCAweDBENSwgMHgwNDcsIDB4MEQ1LCAweDAxNSwgMHgwMjMsIDB4MDIzLAotCTB4MEUxLCAweDAxNywgMHgwMzgsIDB4MDM0LCAweDA4QywgMHgwQkEsIDB4MDRCLCAweDA3QiwKLQkweDBENCwgMHgwMDIsIDB4MEQyLCAweDA4QywgMHgwMjIsIDB4MERDLCAweDAwNiwgMHgwRDUsCi0JMHgwMUYsIDB4MDU2LCAweDAxQiwgMHgwMzIsIDB4MDhDLCAweDBBMywgMHgwNUUsIDB4MDcxLAotCTB4MDUxLCAweDAxRCwgMHgwMjAsIDB4MENBLCAweDAyNiwgMHgwQTQsIDB4MDMxLCAweDA0MCwKLQkweDBBOSwgMHgwNjIsIDB4MEIwLCAweDAxNywgMHgwREYsIDB4MDlFLCAweDBGNCwgMHgwQjcsCi0JMHgwQzksIDB4MDQwLCAweDBDNywgMHgwNzgsIDB4MDAxLCAweDA4MSwgMHgwODIsIDB4MEI4LAotCTB4MDM4LCAweDAzOSwgMHgwNDksIDB4MDFDLCAweDAyNiwgMHgwQzAsIDB4MDVGLCAweDA3MCwKLQkweDAxNywgMHgwRDQsIDB4MEFCLCAweDBFMSwgMHgwMkEsIDB4MEY4LCAweDA0QSwgMHgwQkUsCi0JMHgwMTIsIDB4MEFGLCAweDA4RiwgMHgwOTcsIDB4MDRGLCAweDBDQiwgMHgwQTcsIDB4MDAxLAotCTB4MDdELCAweDBEQSwgMHgwODAsIDB4MEFBLCAweDA5MSwgMHgwNjQsIDB4MDdGLCAweDA0QSwKLQkweDA4MSwgMHgwRDUsIDB4MDIyLCAweDBDOCwgMHgwRkUsIDB4MDgyLCAweDA4MCwgMHgwMjUsCi0JMHgwNDgsIDB4MEIyLCAweDAzRSwgMHgwQkIsIDB4MERDLCAweDAzNSwgMHgwMkUsIDB4MDk0LAotCTB4MDA3LCAweDBFOCwgMHgwOEEsIDB4MDlDLCAweDAwMywgMHgwRTIsIDB4MDRCLCAweDBBNSwKLQkweDA3NywgMHgwQUIsIDB4MEIzLCAweDAzMiwgMHgwRTksIDB4MDRCLCAweDBCRCwgMHgwNTksCi0JMHgwODYsIDB4MDg0LCAweDA5NywgMHgwN0EsIDB4MDA0LCAweDBCQSwgMHgwNTMsIDB4MEUxLAotCTB4MDMyLCAweDBFRiwgMHgwNTAsIDB4MEQ0LCAweDBFNiwgMHgwMzUsIDB4MDUzLCAweDBFQiwKLQkweDAwMiwgMHgwOUMsIDB4MEM3LCAweDBENywgMHgwN0EsIDB4MEIzLCAweDAzMCwgMHgwRDIsCi0JMHgwNUQsIDB4MEVBLCAweDAwMiwgMHgwRTksIDB4MDQ0LCAweDA1RCwgMHgwMTYsIDB4MDI4LAotCTB4MEMwLCAweDAyQywgMHgwRTAsIDB4MDM2LCAweDA5MSwgMHgwNzQsIDB4MDQ1LCAweDA1OSwKLQkweDAxOCwgMHgwRDUsIDB4MDRGLCAweDBBQywgMHgwMEEsIDB4MEM0LCAweDAzNSwgMHgwMzAsCi0JMHgwOEIsIDB4MDM4LCAweDA2OSwgMHgwMkIsIDB4MEJELCAweDA1OSwgMHgwOTgsIDB4MDY5LAotCTB4MDJFLCAweDBGNSwgMHgwMTIsIDB4MEU5LCAweDA1OCwgMHgwNjcsIDB4MDRBLCAweDBFRiwKLQkweDA1MCwgMHgwRDUsIDB4MDhFLCAweDAzRSwgMHgwMUMsIDB4MEE0LCAweDBCMCwgMHgwQ0UsCi0JMHgwOTMsIDB4MDIxLCAweDA2RSwgMHgwMUEsIDB4MDQ4LCAweDAxRiwgMHgwQTIsIDB4MDJBLAotCTB4MEMzLCAweDAwRCwgMHgwNTcsIDB4MDdBLCAweDBCMywgMHgwMEQsIDB4MDA5LCAweDAyRSwKLQkweDBGNCwgMHgwNDMsIDB4MDVELCAweDAyOCwgMHgwOEIsIDB4MDgzLCAweDAyMCwgMHgwOTIsCi0JMHgwMzgsIDB4MDRELCAweDA4MCwgMHgwQkUsIDB4MEUwLCAweDAyRiwgMHgwQUMsIDB4MDE3LAotCTB4MDQ5LCAweDBCMywgMHgwQTUsIDB4MDgyLCAweDBFOSwgMHgwM0UsIDB4MEU5LCAweDAzNiwKLQkweDA3NCwgMHgwRTAsIDB4MDJGLCAweDBBNiwgMHgwQ0UsIDB4MDlDLCAweDAwNSwgMHgwRjQsCi0JMHgwQzIsIDB4MDJDLCAweDA4QywgMHgwNTIsIDB4MDU3LCAweDA3QSwgMHgwRDQsIDB4MDhELAotCTB4MDQ4LCAweDBGQSwgMHgwRUYsIDB4MDUwLCAweDBENSwgMHgwQUUsIDB4MDM1LCAweDA1MywKLQkweDBFQiwgMHgwMDIsIDB4MDg2LCAweDAyMSwgMHgwQUEsIDB4MEVGLCAweDA1NiwgMHgwNjYsCi0JMHgwMUEsIDB4MDRCLCAweDBCRCwgMHgwNDQsIDB4MEJBLCAweDA1MCwgMHgwQzQsIDB4MEU5LAotCTB4MDUzLCAweDBFQiwgMHgwMDIsIDB4MDg2LCAweDA4MSwgMHgwRjUsIDB4MERFLCAweDBBMSwKLQkweDBBOCwgMHgwNjIsIDB4MDFGLCAweDA1RCwgMHgwRkUsIDB4MEEyLCAweDA1RCwgMHgwMjksCi0JMHgwNzcsIDB4MEE4LCAweDA2QSwgMHgwNjEsIDB4MDhELCAweDA0MCwgMHgwRkQsIDB4MDExLAotCTB4MDUzLCAweDAwQywgMHgwNkEsIDB4MEE3LCAweDBENiwgMHgwMDUsIDB4MDMwLCAweDBDNywKLQkweDBENywgMHgwN0YsIDB4MEE5LCAweDA1NywgMHgwNEEsIDB4MDVELCAweDBFQiwgMHgwNDgsCi0JMHgwMUIsIDB4MDBDLCAweDA3QywgMHgwOEIsIDB4MDlELCAweDA4QSwgMHgwNTMsIDB4MEVGLAotCTB4MDY2LCAweDA5NCwgMHgwQ0EsIDB4MDU0LCAweDBGNSwgMHgwQTAsIDB4MEM2LCAweDAwMSwKLQkweDA2RSwgMHgwMDMsIDB4MDZBLCAweDA5RiwgMHgwNTYsIDB4MDc2LCAweDA2NSwgMHgwMzIsCi0JMHgwOEIsIDB4MDdCLCAweDBEMiwgMHgwQzUsIDB4MEE1LCAweDA2MCwgMHgwMkYsIDB4MEFBLAotCTB4MDdELCAweDA2NSwgMHgwQTMsIDB4MDAwLCAweDBCNywgMHgwMDEsIDB4MEI0LCAweDBDOCwKLQkweDA1QSwgMHgwMDcsIDB4MDhGLCAweDBFRCwgMHgwMDEsIDB4MEQ1LCAweDAyNywgMHgwOTEsCi0JMHgwNjcsIDB4MDAxLCAweDBCNCwgMHgwOEIsIDB4MDlDLCAweDA1NCwgMHgwMUMsIDB4MDczLAotCTB4MEE4LCAweDA4NCwgMHgwNUMsIDB4MEMxLCAweDA1MCwgMHgwQkYsIDB4MDM2LCAweDA1NiwKLQkweDA2MCwgMHgwQUIsIDB4MDhDLCAweDA4QiwgMHgwOUMsIDB4MDU0LCAweDAxQywgMHgwNzMsCi0JMHgwQTgsIDB4MDg0LCAweDA1QywgMHgwQzEsIDB4MDUwLCAweDBCRiwgMHgwMzYsIDB4MDU2LAotCTB4MDZDLCAweDAwNSwgMHgwRjUsIDB4MDUzLCAweDBENiwgMHgwQTIsIDB4MDMwLCAweDAwQiwKLQkweDAyOSwgMHgwNUIsIDB4MDE5LCAweDBGQywgMHgwRjYsIDB4MDk0LCAweDA0NSwgMHgwQ0YsCi0JMHgwMTUsIDB4MDBCLCAweDBGMywgMHgwM0MsIDB4MEIzLCAweDAyQSwgMHgwN0EsIDB4MEM1LAotCTB4MDQ2LCAweDAwMSwgMHgwNjQsIDB4MDhBLCAweDAzMSwgMHgwMjMsIDB4MDlDLCAweDAwQSwKLQkweDA1RCwgMHgwRUEsIDB4MDM0LCAweDAzMywgMHgwMkUsIDB4MDk1LCAweDBDNywgMHgwQ0UsCi0JMHgwMkEsIDB4MDRGLCAweDBFNiwgMHgwNTAsIDB4MDIwLCAweDBCOSwgMHgwMzEsIDB4MDBDLAotCTB4MDlCLCAweDBFRiwgMHgwMzksIDB4MDE0LCAweDA0NSwgMHgwQ0UsIDB4MDQ1LCAweDAwNywKLQkweDAxQywgMHgwRUEsIDB4MDQ2LCAweDA4NywgMHgwQUIsIDB4MDFCLCAweDAzNiwgMHgwODQsCi0JMHgwQTcsIDB4MDVFLCAweDBBQywgMHgwOTYsIDB4MDY3LCAweDA1MiwgMHgwQjAsIDB4MDE3LAotCTB4MERDLCAweDBGRSwgMHgwN0IsIDB4MDRBLCAweDAyMiwgMHgwRTcsIDB4MDhBLCAweDA4NSwKLQkweDBGOSwgMHgwOUUsIDB4MDU5LCAweDA5NywgMHgwN0EsIDB4MDhELCAweDAwQywgMHgwQ0IsCi0JMHgwQTUsIDB4MDI3LCAweDBGMywgMHgwQTAsIDB4MDQ0LCAweDAzMiwgMHgwNjAsIDB4MEI5LAotCTB4MDM3LCAweDBERSwgMHgwNzIsIDB4MDI4LCAweDA4QiwgMHgwOUMsIDB4MDhBLCAweDAwRSwKLQkweDAzOSwgMHgwRDQsIDB4MDhDLCAweDAwNSwgMHgwRjcsIDB4MEU3LCAweDBCOCwgMHgwMkEsCi0JMHgwRjksIDB4MDI4LCAweDAxOCwgMHgwRUYsIDB4MDAwLCAweDAzMCwgMHgwMzAsIDB4MDU3LAotCTB4MDA3LCAweDA0NCwgMHgwMEEsIDB4MDUwLCAweDA4RiwgMHgwRjAsIDB4MDczLCAweDA5MSwKLQkweDA0MSwgMHgwMUYsIDB4MDNBLCAweDA5MCwgMHgwNDUsIDB4MEMwLCAweDBCQiwgMHgwMTgsCi0JMHgwRTEsIDB4MDM2LCAweDAwMiwgMHgwRkIsIDB4MEZCLCAweDA5RSwgMHgwMDIsIDB4MEZBLAotCTB4MEVFLCAweDBFNywgMHgwRjUsIDB4MENGLCAweDAwMSwgMHgwN0QsIDB4MDEwLCAweDA1QywKLQkweDBGMCwgMHgwMTcsIDB4MEQxLCAweDAwNSwgMHgwQ0YsIDB4MDAxLCAweDA3RCwgMHgwNTMsCi0JMHgwRUIsIDB4MDJELCAweDAxOCwgMHgwMDUsIDB4MEI4LCAweDAwRCwgMHgwQTYsIDB4MDQyLAotCTB4MERDLCAweDAwNiwgMHgwRDMsIDB4MDE3LCAweDAzNSwgMHgwQTgsIDB4MDhCLCAweDA5QywKLQkweDAwQSwgMHgwMEUsIDB4MDM5LCAweDBENCwgMHgwMEMsIDB4MEZFLCAweDA3QiwgMHgwNEEsCi0JMHgwMjIsIDB4MEU2LCAweDA1NSwgMHgwMEIsIDB4MEYzLCAweDAzMSwgMHgwQjMsIDB4MDYwLAotCTB4MDJGLCAweDBCQywgMHgwN0MsIDB4MEUyLCAweDBBNCwgMHgwRkUsIDB4MDY1LCAweDA1MSwKLQkweDAxNywgMHgwMzgsIDB4MDE0LCAweDAxQywgMHgwNzMsIDB4MEE4LCAweDAxOSwgMHgwRkMsCi0JMHgwRjYsIDB4MDk0LCAweDA0NSwgMHgwQ0MsIDB4MEFBLCAweDAxNywgMHgwRTYsIDB4MDYzLAotCTB4MDY2LCAweDAwQSwgMHgwQjgsIDB4MENDLCAweDA4NSwgMHgwQTEsIDB4MDU4LCAweDBGNiwKLQkweDBBMiwgMHgwMzUsIDB4MDQ4LCAweDA0OCwgMHgwN0YsIDB4MDRBLCAweDA4OSwgMHgwOTUsCi0JMHgwMjEsIDB4MDIxLCAweDBGRCwgMHgwMDUsIDB4MDAyLCAweDA1NCwgMHgwOUUsIDB4MDQ1LAotCTB4MDkxLCAweDAwRSwgMHgwM0MsIDB4MDA1LCAweDBGNSwgMHgwMDcsIDB4MDQwLCAweDA1NSwKLQkweDA0OCwgMHgwNTIsIDB4MDNFLCAweDA4NiwgMHgwQTAsIDB4MDc1LCAweDA0OCwgMHgwNTIsCi0JMHgwM0UsIDB4MEI1LCAweDAwMCwgMHgwNEEsIDB4MDlDLCAweDAwMCwgMHgwNkIsIDB4MEM3LAotCTB4MENFLCAweDA0NSwgMHgwMjcsIDB4MEYzLCAweDAyQSwgMHgwODQsIDB4MDM3LCAweDAzNSwKLQkweDBERSwgMHgwQTAsIDB4MEFCLCAweDAyMywgMHgwMUEsIDB4MEFFLCAweDBGNSwgMHgwODMsCi0JMHgwNTksIDB4MDE4LCAweDBENywgMHgwNDMsIDB4MERFLCAweDAyQSwgMHgwRDAsIDB4MDk0LAotCTB4MEVCLCAweDBERSwgMHgwMDUsIDB4MDNBLCAweDA5NSwgMHgwOUYsIDB4MENDLCAweDBDMywKLQkweDAyMCwgMHgwNDUsIDB4MENDLCAweDBBQSwgMHgwMTcsIDB4MEU2LCAweDA2NiwgMHgwQ0MsCi0JMHgwNDMsIDB4MDI2LCAweDA0RiwgMHgwRTcsIDB4MDQxLCAweDAyMiwgMHgwMkUsIDB4MDcwLAotCTB4MDY4LCAweDAzOCwgMHgwRTcsIDB4MDUzLCAweDBFMCwgMHgwMkYsIDB4MEFCLCAweDBCQywKLQkweDAxMiwgMHgwRDIsIDB4MEU5LCAweDA1OCwgMHgwMEIsIDB4MEVBLCAweDBBNywgMHgwQUQsCi0JMHgwNDUsIDB4MEExLCAweDAxRiwgMHgwQzAsIDB4MDVGLCAweDA3OCwgMHgwMzksIDB4MEM4LAotCTB4MEEwLCAweDA4RiwgMHgwOUQsIDB4MDQ4LCAweDAxQywgMHgwMjQsIDB4MEVFLCAweDBDNywKLQkweDA4MCwgMHgwQkUsIDB4MEJBLCAweDBGNSwgMHgwNkQsIDB4MDY2LCAweDA0OSwgMHgwNzcsCi0JMHgwMEQsIDB4MDRFLCAweDBBNSwgMHgwMzAsIDB4MDA5LCAweDBCNCwgMHgwRjksIDB4MEM1LAotCTB4MDQzLCAweDAwRiwgMHgwMzgsIDB4MEE5LCAweDAzRiwgMHgwOUQsIDB4MDAyLCAweDBGQiwKLQkweDBDRSwgMHgwNDUsIDB4MDExLCAweDA3MywgMHgwOTEsIDB4MDQxLCAweDBDNywgMHgwM0EsCi0JMHgwOTEsIDB4MDlGLCAweDBDRiwgMHgwNjksIDB4MDQ0LCAweDA1QywgMHgwRjEsIDB4MDUwLAotCTB4MEJGLCAweDAzMywgMHgwQ0IsIDB4MDMyLCAweDBBNywgMHgwQUMsIDB4MDU0LCAweDA5MCwKLQkweDA4RCwgMHgwNDQsIDB4MDhFLCAweDA3MCwgMHgwMjksIDB4MDc3LCAweDBBOCwgMHgwRDAsCi0JMHgwQ0MsIDB4MEJBLCAweDA1NiwgMHgwQjAsIDB4MEIyLCAweDA5RCwgMHgwOEMsIDB4MDg2LAotCTB4MDRDLCAweDAxNywgMHgwMjYsIDB4MDc3LCAweDAyNiwgMHgwMUMsIDB4MDI3LCAweDAxQywKLQkweDAyNCwgMHgwOUUsIDB4MDIzLCAweDA2MSwgMHgwQkUsIDB4MDhFLCAweDAxMiwgMHgwNEYsCi0JMHgwMTEsIDB4MDg3LCAweDAxQywgMHgwRUEsIDB4MDVDLCAweDAwNSwgMHgwRjUsIDB4MEQ3LAotCTB4MEI4LCAweDA2QSwgMHgwNzUsIDB4MDI5LCAweDA3NywgMHgwQUIsIDB4MDBELCAweDA5OSwKLQkweDA3NCwgMHgwQTUsIDB4MDRGLCAweDA3MiwgMHgwQTAsIDB4MEFBLCAweDA0QSwgMHgwQzYsCi0JMHgwRjMsIDB4MDY2LCAweDA2NiwgMHgwQzYsIDB4MDM5LCAweDA4MiwgMHgwQUYsIDB4MDc1LAotCTB4MEE2LCAweDA2RiwgMHgwMTQsIDB4MDZCLCAweDBDRSwgMHgwMDUsIDB4MDcwLCAweDA3MywKLQkweDA5NiwgMHgwODIsIDB4MDNFLCAweDA3NSwgMHgwMjgsIDB4MEUxLCAweDAzQSwgMHgwQTcsCi0JMHgwQUQsIDB4MDQ0LCAweDA2MCwgMHgwMTYsIDB4MDUyLCAweDBCNiwgMHgwMUQsIDB4MDdBLAotCTB4MEI2LCAweDBCMywgMHgwMjQsIDB4MEJCLCAweDA4NiwgMHgwQTcsIDB4MDUyLCAweDA5OCwKLQkweDAwNCwgMHgwREEsIDB4MDdDLCAweDBFMiwgMHgwQTEsIDB4MDg3LCAweDA5QywgMHgwNTUsCi0JMHgwRjcsIDB4MDlDLCAweDBCNSwgMHgwQUMsIDB4MDJDLCAweDA5NSwgMHgwMzMsIDB4MEI5LAotCTB4MDMxLCAweDAwNSwgMHgwRDksIDB4MDUzLCAweDBENiwgMHgwQTIsIDB4MDMwLCAweDAwQiwKLQkweDAyOSwgMHgwNUIsIDB4MDAyLCAweDAyRSwgMHgwNjEsIDB4MDVBLCAweDAxNywgMHgwRTYsCi0JMHgwOUMsIDB4MEIzLCAweDAyQSwgMHgwN0EsIDB4MEM1LCAweDA0MCwgMHgwMjEsIDB4MEE4LAotCTB4MDkxLCAweDBDRSwgMHgwMDUsIDB4MDI3LCAweDBGMywgMHgwQTUsIDB4MDg4LCAweDA2NCwKLQkweDBDMSwgMHgwNzIsIDB4MDY1LCAweDA0RiwgMHgwNTgsIDB4MDE0LCAweDAwQywgMHgwOEQsCi0JMHgwN0UsIDB4MEYzLCAweDA4MSwgMHgwNDQsIDB4MDVDLCAweDBFRiwgMHgwNDEsIDB4MEM3LAotCTB4MDNBLCAweDBCRSwgMHgwMDIsIDB4MEZBLCAweDBBOSwgMHgwRUEsIDB4MENFLCAweDBDQywKLQkweDBBOSwgMHgwMjksIDB4MDUzLCAweDBENiwgMHgwQTIsIDB4MDQ2LCAweDA0NywgMHgwREQsCi0JMHgwN0EsIDB4MEMwLCAweDBBMywgMHgwMDAsIDB4MDg2LCAweDBFMiwgMHgwOUIsIDB4MDI5LAotCTB4MDc4LCAweDA4QiwgMHgwODEsIDB4MDA5LCAweDA5OCwgMHgwNzAsIDB4MDlCLCAweDAyOSwKLQkweDA3OSwgMHgwNUQsIDB4MEQ5LCAweDA3MiwgMHgwRUQsIDB4MDk0LCAweDBCQywgMHgwQjksCi0JMHgwNzYsIDB4MDEzLCAweDAzQiwgMHgwMkEsIDB4MDVELCAweDBCMiwgMHgwOTcsIDB4MDk1LAotCTB4MDJFLCAweDBEOSwgMHgwNEIsIDB4MENBLCAweDA3RCwgMHgwNUIsIDB4MDU5LCAweDA5NCwKLQkweDBDQSwgMHgwMUMsIDB4MDI0LCAweDBFRSwgMHgwQzcsIDB4MDk0LCAweDBCQywgMHgwQzAsCi0JMHgwMjYsIDB4MEQzLCAweDBFNywgMHgwMTUsIDB4MDBDLCAweDAzQywgMHgwRTIsIDB4MEFDLAotCTB4MEZFLCAweDA3QiwgMHgwNEEsIDB4MDIyLCAweDBFNywgMHgwOEEsIDB4MDg1LCAweDBGOSwKLQkweDA5RSwgMHgwNTksIDB4MDk3LCAweDA3QSwgMHgwOEQsIDB4MDBDLCAweDBDQiwgMHgwQTUsCi0JMHgwMjcsIDB4MEYzLCAweDBBMCwgMHgwNDEsIDB4MDcyLCAweDA2MiwgMHgwMTksIDB4MDM3LAotCTB4MERFLCAweDA3MCwgMHgwMjgsIDB4MDhCLCAweDA5QywgMHgwOEEsIDB4MDBFLCAweDAzOSwKLQkweDBENCwgMHgwOEQsIDB4MDBGLCAweDA1NiwgMHgwMzYsIDB4MDZELCAweDAwOSwgMHgwNEUsCi0JMHgwQkQsIDB4MDU5LCAweDAyQywgMHgwQ0UsIDB4MEE1LCAweDA2QiwgMHgwMEIsIDB4MDIyLAotCTB4MEQ5LCAweDA5RCwgMHgwQzksIDB4MEIyLCAweDA5NywgMHgwQkUsIDB4MEYzLCAweDA4MSwKLQkweDA0QSwgMHgwN0QsIDB4MDY1LCAweDBBMywgMHgwMDAsIDB4MDkzLCAweDA4RiwgMHgwNjcsCi0JMHgwMjksIDB4MDc4LCAweDBDMiwgMHgwNEQsIDB4MEMxLCAweDBEMSwgMHgwMDYsIDB4MDgyLAotCTB4MDMxLCAweDBBRiwgMHgwMDcsIDB4MDM4LCAweDAzNCwgMHgwMTEsIDB4MEYzLCAweDBBOCwKLQkweDAyQSwgMHgwOUUsIDB4MEE4LCAweDA2NiwgMHgwMUEsIDB4MEE0LCAweDBBNSwgMHgwNEYsCi0JMHgwNUEsIDB4MDBDLCAweDAxMSwgMHgwOEYsIDB4MEFBLCAweDA3QiwgMHgwRDAsIDB4MDY1LAotCTB4MDQ5LCAweDA0NSwgMHgwQkQsIDB4MEU5LCAweDA2MiwgMHgwRDIsIDB4MEIxLCAweDA5RSwKLQkweDA2QywgMHgwQ0MsIDB4MEM2LCAweDAxOSwgMHgwODcsIDB4MDA5LCAweDBDMywgMHgwOEUsCi0JMHgwNzUsIDB4MDQxLCAweDAxRiwgMHgwM0EsIDB4MEE1LCAweDAxMywgMHgwRDUsIDB4MDU1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwKLQkweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsCi0JMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwKLQkweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsCi0JMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNUEsIDB4MENDLCAweDA5MAotIH07Ci0KLSNlbmRpZgkvKiBkZWZpbmVkKENPTkZJR19TTUNUUikgfHwgZGVmaW5lZChDT05GSUdfU01DVFJfTU9EVUxFKSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdHVuLmMgYi9kcml2ZXJzL25ldC90dW4uYwppbmRleCA3YWI5NGM4Li5lYmExMjcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC90dW4uYworKysgYi9kcml2ZXJzL25ldC90dW4uYwpAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZjbnRsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtNjAyLDYgKzYwMywxMiBAQAogCXR1bi0+YXR0YWNoZWQgPSAxOwogCWdldF9uZXQoZGV2X25ldCh0dW4tPmRldikpOwogCisJLyogTWFrZSBzdXJlIHBlcnNpc3RlbnQgZGV2aWNlcyBkbyBub3QgZ2V0IHN0dWNrIGluCisJICogeG9mZiBzdGF0ZS4KKwkgKi8KKwlpZiAobmV0aWZfcnVubmluZyh0dW4tPmRldikpCisJCW5ldGlmX3dha2VfcXVldWUodHVuLT5kZXYpOworCiAJc3RyY3B5KGlmci0+aWZyX25hbWUsIHR1bi0+ZGV2LT5uYW1lKTsKIAlyZXR1cm4gMDsKIApAQCAtNzk2LDIyICs4MDMsMjYgQEAKIAogCURCRyhLRVJOX0lORk8gIiVzOiB0dW5fY2hyX2Zhc3luYyAlZFxuIiwgdHVuLT5kZXYtPm5hbWUsIG9uKTsKIAorCWxvY2tfa2VybmVsKCk7CiAJaWYgKChyZXQgPSBmYXN5bmNfaGVscGVyKGZkLCBmaWxlLCBvbiwgJnR1bi0+ZmFzeW5jKSkgPCAwKQotCQlyZXR1cm4gcmV0OworCQlnb3RvIG91dDsKIAogCWlmIChvbikgewogCQlyZXQgPSBfX2Zfc2V0b3duKGZpbGUsIHRhc2tfcGlkKGN1cnJlbnQpLCBQSURUWVBFX1BJRCwgMCk7CiAJCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OworCQkJZ290byBvdXQ7CiAJCXR1bi0+ZmxhZ3MgfD0gVFVOX0ZBU1lOQzsKIAl9IGVsc2UKIAkJdHVuLT5mbGFncyAmPSB+VFVOX0ZBU1lOQzsKLQotCXJldHVybiAwOworCXJldCA9IDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgdHVuX2Nocl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCURCRzEoS0VSTl9JTkZPICJ0dW5YOiB0dW5fY2hyX29wZW5cbiIpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IE5VTEw7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2Iva2F3ZXRoLmMgYi9kcml2ZXJzL25ldC91c2Iva2F3ZXRoLmMKaW5kZXggN2M2NmIwNS4uZDY4MjlkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2thd2V0aC5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9rYXdldGguYwpAQCAtNTcsMTMgKzU3LDEyIEBACiAjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CiAKICN1bmRlZiBERUJVRwogCi0jaW5jbHVkZSAia2F3ZXRoZncuaCIKLQogI2RlZmluZSBLQVdFVEhfTVRVCQkJMTUxNAogI2RlZmluZSBLQVdFVEhfQlVGX1NJWkUJCQkxNjY0CiAjZGVmaW5lIEtBV0VUSF9UWF9USU1FT1VUCQkoNSAqIEhaKQpAQCAtMTA4LDYgKzEwNywxMCBAQAogTU9EVUxFX0FVVEhPUigiTWljaGFlbCBaYXBwZSA8emFwbWFuQGludGVybGFuLm5ldD4sIFN0ZXBoYW5lIEFsbmV0IDxzdGVwaGFuZUB1LXBpY2FyZGllLmZyPiwgQnJhZCBIYXJkcyA8YmhhcmRzQGJpZ3BvbmQubmV0LmF1PiBhbmQgT2xpdmVyIE5ldWt1bSA8b2xpdmVyQG5ldWt1bS5vcmc+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIktMNVVTQjEwMSBVU0IgRXRoZXJuZXQgZHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoImthd2V0aC9uZXdfY29kZS5iaW4iKTsKK01PRFVMRV9GSVJNV0FSRSgia2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4iKTsKK01PRFVMRV9GSVJNV0FSRSgia2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4iKTsKK01PRFVMRV9GSVJNV0FSRSgia2F3ZXRoL3RyaWdnZXJfY29kZV9maXguYmluIik7CiAKIHN0YXRpYyBjb25zdCBjaGFyIGRyaXZlcl9uYW1lW10gPSAia2F3ZXRoIjsKIApAQCAtMzg1LDE3ICszODgsMjggQEAKICAqICAgICBrYXdldGhfZG93bmxvYWRfZmlybXdhcmUKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIGludCBrYXdldGhfZG93bmxvYWRfZmlybXdhcmUoc3RydWN0IGthd2V0aF9kZXZpY2UgKmthd2V0aCwKLQkJCQkgICAgX191OCAqZGF0YSwKLQkJCQkgICAgX191MTYgZGF0YV9sZW4sCisJCQkJICAgIGNvbnN0IGNoYXIgKmZ3bmFtZSwKIAkJCQkgICAgX191OCBpbnRlcnJ1cHQsCiAJCQkJICAgIF9fdTggdHlwZSkKIHsKLQlpZihkYXRhX2xlbiA+IEtBV0VUSF9GSVJNV0FSRV9CVUZfU0laRSkJewotCQllcnIoIkZpcm13YXJlIHRvbyBiaWc6ICVkIiwgZGF0YV9sZW4pOwotCQlyZXR1cm4gLUVOT1NQQzsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCWludCBkYXRhX2xlbjsKKwlpbnQgcmV0OworCisJcmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3bmFtZSwgJmthd2V0aC0+ZGV2LT5kZXYpOworCWlmIChyZXQpIHsKKwkJZXJyKCJGaXJtd2FyZSByZXF1ZXN0IGZhaWxlZFxuIik7CisJCXJldHVybiByZXQ7CiAJfQogCi0JbWVtY3B5KGthd2V0aC0+ZmlybXdhcmVfYnVmLCBkYXRhLCBkYXRhX2xlbik7CisJaWYgKGZ3LT5zaXplID4gS0FXRVRIX0ZJUk1XQVJFX0JVRl9TSVpFKSB7CisJCWVycigiRmlybXdhcmUgdG9vIGJpZzogJXp1IiwgZnctPnNpemUpOworCQlyZXR1cm4gLUVOT1NQQzsKKwl9CisJZGF0YV9sZW4gPSBmdy0+c2l6ZTsKKwltZW1jcHkoa2F3ZXRoLT5maXJtd2FyZV9idWYsIGZ3LT5kYXRhLCBmdy0+c2l6ZSk7CisKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAogCWthd2V0aC0+ZmlybXdhcmVfYnVmWzJdID0gKGRhdGFfbGVuICYgMHhGRikgLSA3OwogCWthd2V0aC0+ZmlybXdhcmVfYnVmWzNdID0gZGF0YV9sZW4gPj4gODsKQEAgLTQwNiw4ICs0MjAsNyBAQAogCQkgICBrYXdldGgtPmZpcm13YXJlX2J1ZlsyXSk7CiAKIAlkYmcoIkRvd25sb2FkaW5nIGZpcm13YXJlIGF0ICVwIHRvIGthd2V0aCBkZXZpY2UgYXQgJXAiLAotCSAgICBkYXRhLAotCSAgICBrYXdldGgpOworCSAgICBmdy0+ZGF0YSwga2F3ZXRoKTsKIAlkYmcoIkZpcm13YXJlIGxlbmd0aDogJWQiLCBkYXRhX2xlbik7CiAKIAlyZXR1cm4ga2F3ZXRoX2NvbnRyb2woa2F3ZXRoLApAQCAtMTAwOSw4ICsxMDIyLDcgQEAKIAkJaW5mbygiRG93bmxvYWRpbmcgZmlybXdhcmUuLi4iKTsKIAkJa2F3ZXRoLT5maXJtd2FyZV9idWYgPSAoX191OCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKIAkJaWYgKChyZXN1bHQgPSBrYXdldGhfZG93bmxvYWRfZmlybXdhcmUoa2F3ZXRoLAotCQkJCQkJICAgICAga2F3ZXRoX25ld19jb2RlLAotCQkJCQkJICAgICAgbGVuX2thd2V0aF9uZXdfY29kZSwKKwkJCQkJCSAgICAgICJrYXdldGgvbmV3X2NvZGUuYmluIiwKIAkJCQkJCSAgICAgIDEwMCwKIAkJCQkJCSAgICAgIDIpKSA8IDApIHsKIAkJCWVycigiRXJyb3IgZG93bmxvYWRpbmcgZmlybXdhcmUgKCVkKSIsIHJlc3VsdCk7CkBAIC0xMDE4LDggKzEwMzAsNyBAQAogCQl9CiAKIAkJaWYgKChyZXN1bHQgPSBrYXdldGhfZG93bmxvYWRfZmlybXdhcmUoa2F3ZXRoLAotCQkJCQkJICAgICAga2F3ZXRoX25ld19jb2RlX2ZpeCwKLQkJCQkJCSAgICAgIGxlbl9rYXdldGhfbmV3X2NvZGVfZml4LAorCQkJCQkJICAgICAgImthd2V0aC9uZXdfY29kZV9maXguYmluIiwKIAkJCQkJCSAgICAgIDEwMCwKIAkJCQkJCSAgICAgIDMpKSA8IDApIHsKIAkJCWVycigiRXJyb3IgZG93bmxvYWRpbmcgZmlybXdhcmUgZml4ICglZCkiLCByZXN1bHQpOwpAQCAtMTAyNyw4ICsxMDM4LDcgQEAKIAkJfQogCiAJCWlmICgocmVzdWx0ID0ga2F3ZXRoX2Rvd25sb2FkX2Zpcm13YXJlKGthd2V0aCwKLQkJCQkJCSAgICAgIGthd2V0aF90cmlnZ2VyX2NvZGUsCi0JCQkJCQkgICAgICBsZW5fa2F3ZXRoX3RyaWdnZXJfY29kZSwKKwkJCQkJCSAgICAgICJrYXdldGgvdHJpZ2dlcl9jb2RlLmJpbiIsCiAJCQkJCQkgICAgICAxMjYsCiAJCQkJCQkgICAgICAyKSkgPCAwKSB7CiAJCQllcnIoIkVycm9yIGRvd25sb2FkaW5nIHRyaWdnZXIgY29kZSAoJWQpIiwgcmVzdWx0KTsKQEAgLTEwMzcsOCArMTA0Nyw3IEBACiAJCX0KIAogCQlpZiAoKHJlc3VsdCA9IGthd2V0aF9kb3dubG9hZF9maXJtd2FyZShrYXdldGgsCi0JCQkJCQkgICAgICBrYXdldGhfdHJpZ2dlcl9jb2RlX2ZpeCwKLQkJCQkJCSAgICAgIGxlbl9rYXdldGhfdHJpZ2dlcl9jb2RlX2ZpeCwKKwkJCQkJCSAgICAgICJrYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4iLAogCQkJCQkJICAgICAgMTI2LAogCQkJCQkJICAgICAgMykpIDwgMCkgewogCQkJZXJyKCJFcnJvciBkb3dubG9hZGluZyB0cmlnZ2VyIGNvZGUgZml4ICglZCkiLCByZXN1bHQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2thd2V0aGZ3LmggYi9kcml2ZXJzL25ldC91c2Iva2F3ZXRoZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Y4NWZjYi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL25ldC91c2Iva2F3ZXRoZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDU1NyArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogTk9URTogQjYvQzMgaXMgZGF0YSBoZWFkZXIgc2lnbmF0dXJlICAgKi8KLS8qICAgICAgIDB4QUEvMHhCQiBpcyBkYXRhIGxlbmd0aCA9IHRvdGFsICovCi0vKiAgICAgICBieXRlcyAtIDcsIDB4Q0MgaXMgdHlwZSwgMHhERCBpcyAqLwotLyogICAgICAgaW50ZXJydXB0IHRvIHVzZS4gICAgICAgICAgICAgICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAgICAga2F3ZXRoX3RyaWdnZXJfY29kZQotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgX191OCBrYXdldGhfdHJpZ2dlcl9jb2RlW10gPSAKLXsKLSAgICAweEI2LCAweEMzLCAweEFBLCAweEJCLCAweENDLCAweERELAotICAgIDB4YzgsIDB4MDcsIDB4YTAsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4NWUsIDB4MDAsCi0gICAgMHgwNiwgMHgwMCwgMHhmMCwgMHgwNywgMHgwYSwgMHgwMCwgMHgwOCwgMHgwMCwKLSAgICAweGYwLCAweDA5LCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweGU3LCAweDA3LAotICAgIDB4MzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHgwNCwgMHgwMCwgMHhlNywgMHgwNywgMHg1MCwgMHhjMywgMHgxMCwgMHhjMCwKLSAgICAweGYwLCAweDA5LCAweDBlLCAweGMwLCAweDAwLCAweDAwLCAweGU3LCAweDg3LAotICAgIDB4MDEsIDB4MDAsIDB4MGUsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksCi0gICAgMHgwMCwgMHhjMCwgMHgxNywgMHgwMiwgMHhjOCwgMHgwNywgMHhhMCwgMHgwMCwKLSAgICAweGU3LCAweDE3LCAweDUwLCAweGMzLCAweDEwLCAweGMwLCAweDMwLCAweGQ4LAotICAgIDB4MDQsIDB4MDAsIDB4MzAsIDB4NWMsIDB4MDgsIDB4MDAsIDB4MDQsIDB4MDAsCi0gICAgMHhiMCwgMHhjMCwgMHgwNiwgMHgwMCwgMHhjOCwgMHgwNSwgMHhlNywgMHgwNSwKLSAgICAweDAwLCAweGMwLCAweGMwLCAweGRmLCAweDk3LCAweGNmLCAweDQ5LCAweGFmLAotICAgIDB4YzAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4NjAsIDB4YWYsIDB4NGEsIDB4YWYsCi0gICAgMHgwMCwgMHgwYywgMHgwYywgMHgwMCwgMHg0MCwgMHhkMiwgMHgwMCwgMHgxYywKLSAgICAweDBjLCAweDAwLCAweDQwLCAweGQyLCAweDMwLCAweDAwLCAweDA4LCAweDAwLAotICAgIDB4ZjAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsIDB4ZjAsIDB4MDcsCi0gICAgMHg4NiwgMHgwMCwgMHgwNiwgMHgwMCwgMHg2NywgMHhjZiwgMHgyNywgMHgwYywKLSAgICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDI3LCAweDBjLCAweDAwLCAweDAwLAotICAgIDB4MGUsIDB4YzAsIDB4NDksIDB4YWYsIDB4NjQsIDB4YWYsIDB4YzAsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHg0YiwgMHhhZiwgMHg0YSwgMHhhZiwgMHg1YSwgMHhjZiwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4OTQsIDB4MDAsIDB4MDUsIDB4MDAsCi0gICAgMHgwMCwgMHgwMAotfTsKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAgICAga2F3ZXRoX3RyaWdnZXJfY29kZV9maXgKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotc3RhdGljIF9fdTgga2F3ZXRoX3RyaWdnZXJfY29kZV9maXhbXSA9IAotewotICAgIDB4QjYsIDB4QzMsIDB4QUEsIDB4QkIsIDB4Q0MsIDB4REQsCi0gICAgMHgwMiwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxOCwgMHgwMCwgMHgzZSwgMHgwMCwKLSAgICAweDgwLCAweDAwLCAweDk4LCAweDAwLCAweGFhLCAweDAwLAotICAgIDB4MDAsIDB4MDAKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAgICAga2F3ZXRoX25ld19jb2RlCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBfX3U4IGthd2V0aF9uZXdfY29kZVtdID0gCi17Ci0gICAgMHhCNiwgMHhDMywgMHhBQSwgMHhCQiwgMHhDQywgMHhERCwKLSAgICAweDlmLCAweGNmLCAweGRlLCAweDA2LCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4YzQsIDB4MDYsIDB4OTcsIDB4YzEsIDB4ZTcsIDB4NjcsIDB4ZmYsIDB4MWYsCi0gICAgMHgyOCwgMHhjMCwgMHhlNywgMHg4NywgMHgwMCwgMHgwNCwgMHgyNCwgMHhjMCwKLSAgICAweGU3LCAweDY3LCAweGZmLCAweGY5LCAweDIyLCAweGMwLCAweDk3LCAweGNmLAotICAgIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsIDB4ZTcsIDB4MDksIDB4YTIsIDB4YzAsCi0gICAgMHhiZSwgMHgwNiwgMHg5ZiwgMHhhZiwgMHgzNiwgMHgwMCwgMHhlNywgMHgwNSwKLSAgICAweDAwLCAweGMwLCAweGE3LCAweGNmLCAweGJjLCAweDA2LCAweDk3LCAweGNmLAotICAgIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4YjgsIDB4MDYsIDB4YTcsIDB4YTEsCi0gICAgMHhiOCwgMHgwNiwgMHg5NywgMHhjZiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweDE0LCAweDA4LCAweDBhLCAweGMwLCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4YTQsIDB4YzAsIDB4YTcsIDB4YzAsIDB4N2EsIDB4MDYsIDB4OWYsIDB4YWYsCi0gICAgMHg5MiwgMHgwNywgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwgMHgxNCwgMHgwOCwKLSAgICAweGU3LCAweDU3LCAweGZmLCAweGZmLCAweGJhLCAweDA2LCAweDlmLCAweGEwLAotICAgIDB4MzgsIDB4MDAsIDB4ZTcsIDB4NTksIDB4YmEsIDB4MDYsIDB4YmUsIDB4MDYsCi0gICAgMHg5ZiwgMHhhMCwgMHgzOCwgMHgwMCwgMHhjOCwgMHgwOSwgMHhjYSwgMHgwNiwKLSAgICAweDA4LCAweDYyLCAweDlmLCAweGExLCAweDM2LCAweDA4LCAweGMwLCAweDA5LAotICAgIDB4NzYsIDB4MDYsIDB4MDAsIDB4NjAsIDB4YTcsIDB4YzAsIDB4N2EsIDB4MDYsCi0gICAgMHg5ZiwgMHhhZiwgMHhjYywgMHgwMiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGI4LCAweDA2LCAweGE3LCAweGMxLCAweDdhLCAweDA2LCAweDlmLCAweGFmLAotICAgIDB4MDQsIDB4MDAsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4OGUsIDB4MDYsCi0gICAgMHgwYSwgMHhjMSwgMHhlNywgMHgwOSwgMHgyMCwgMHhjMCwgMHgxMCwgMHgwOCwKLSAgICAweGU3LCAweGQwLCAweDEwLCAweDA4LCAweGU3LCAweDY3LCAweDQwLCAweDAwLAotICAgIDB4MTAsIDB4MDgsIDB4OWYsIDB4YWYsIDB4OTIsIDB4MGMsIDB4YzAsIDB4MDksCi0gICAgMHhkMCwgMHgwNiwgMHgwMCwgMHg2MCwgMHgwNSwgMHhjNCwgMHhjMCwgMHg1OSwKLSAgICAweGJlLCAweDA2LCAweDAyLCAweGMwLCAweDlmLCAweGFmLCAweGVjLCAweDAwLAotICAgIDB4OWYsIDB4YWYsIDB4MzQsIDB4MDIsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHhhNiwgMHgwNiwgMHg5ZiwgMHhhMCwgMHg3YSwgMHgwMiwgMHhhNywgMHhjZiwKLSAgICAweDdhLCAweDA2LCAweDQ4LCAweDAyLCAweGU3LCAweDA5LCAweGJlLCAweDA2LAotICAgIDB4ZDAsIDB4MDYsIDB4YzgsIDB4MzcsIDB4MDQsIDB4MDAsIDB4OWYsIDB4YWYsCi0gICAgMHgwOCwgMHgwMywgMHg5NywgMHhjZiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGNlLCAweDA2LCAweDk3LCAweGMwLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLAotICAgIDB4YzEsIDB4ZGYsIDB4YzgsIDB4MDksIDB4YzYsIDB4MDYsIDB4MDgsIDB4NjIsCi0gICAgMHgxNCwgMHhjMCwgMHgyNywgMHgwNCwgMHhjNiwgMHgwNiwgMHgxMCwgMHg5NCwKLSAgICAweGYwLCAweDA3LCAweDEwLCAweDA4LCAweDAyLCAweDAwLCAweGMxLCAweDA3LAotICAgIDB4MDEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4MDQsIDB4MDAsIDB4ZjAsIDB4MDcsCi0gICAgMHgzMCwgMHgwMSwgMHgwNiwgMHgwMCwgMHg1MCwgMHhhZiwgMHhlNywgMHgwNywKLSAgICAweGZmLCAweGZmLCAweGQwLCAweDA2LCAweGU3LCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4Y2UsIDB4MDYsIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4OTcsIDB4Y2YsCi0gICAgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwgMHhjMSwgMHhkZiwgMHg0OCwgMHgwMiwKLSAgICAweGQwLCAweDA5LCAweGM2LCAweDA2LCAweDI3LCAweDAyLCAweGM2LCAweDA2LAotICAgIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4NDgsIDB4MDIsCi0gICAgMHhjOCwgMHgzNywgMHgwNCwgMHgwMCwgMHgwMCwgMHgwYywgMHgwYywgMHgwMCwKLSAgICAweDAwLCAweDYwLCAweDIxLCAweGMwLCAweGMwLCAweDM3LCAweDNlLCAweDAwLAotICAgIDB4MjMsIDB4YzksIDB4YzAsIDB4NTcsIDB4YjQsIDB4MDUsIDB4MWIsIDB4YzgsCi0gICAgMHhjMCwgMHgxNywgMHgzZiwgMHgwMCwgMHhjMCwgMHg2NywgMHhjMCwgMHhmZiwKLSAgICAweDMwLCAweDAwLCAweDA4LCAweDAwLCAweGYwLCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDIsIDB4YzAsIDB4MTcsIDB4NGMsIDB4MDAsCi0gICAgMHgzMCwgMHgwMCwgMHgwNiwgMHgwMCwgMHhmMCwgMHgwNywgMHhhMCwgMHgwMSwKLSAgICAweDBhLCAweDAwLCAweDQ4LCAweDAyLCAweGMxLCAweDA3LCAweDAyLCAweDAwLAotICAgIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsIDB4YzEsIDB4ZGYsIDB4NTEsIDB4YWYsCi0gICAgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwgMHg5NywgMHhjZiwgMHg5ZiwgMHhhZiwKLSAgICAweDA4LCAweDAzLCAweDlmLCAweGFmLCAweDdhLCAweDAyLCAweDk3LCAweGNmLAotICAgIDB4OWYsIDB4YWYsIDB4N2EsIDB4MDIsIDB4YzksIDB4MzcsIDB4MDQsIDB4MDAsCi0gICAgMHhjMSwgMHhkZiwgMHhjOCwgMHgwOSwgMHhhMiwgMHgwNiwgMHg1MCwgMHgwMiwKLSAgICAweDY3LCAweDAyLCAweGEyLCAweDA2LCAweGQxLCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4MjcsIDB4ZDgsIDB4YWEsIDB4MDYsIDB4YzAsIDB4ZGYsIDB4OWYsIDB4YWYsCi0gICAgMHhjNCwgMHgwMSwgMHg5NywgMHhjZiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGQyLCAweDA2LCAweDk3LCAweGMxLCAweGU3LCAweDU3LCAweDAxLCAweDAwLAotICAgIDB4YTgsIDB4MDYsIDB4OTcsIDB4YzAsIDB4YzgsIDB4MDksIDB4YTAsIDB4MDYsCi0gICAgMHgwOCwgMHg2MiwgMHg5NywgMHhjMCwgMHgwMCwgMHgwMiwgMHhjMCwgMHgxNywKLSAgICAweDBlLCAweDAwLCAweDI3LCAweDAwLCAweDM0LCAweDAxLCAweDI3LCAweDBjLAotICAgIDB4MGMsIDB4MDAsIDB4MzYsIDB4MDEsIDB4ZTcsIDB4MDcsIDB4NTAsIDB4YzMsCi0gICAgMHgxMiwgMHhjMCwgMHhlNywgMHgwNywgMHhjYywgMHgwYiwgMHgwMiwgMHgwMCwKLSAgICAweGU3LCAweDA3LCAweDAxLCAweDAwLCAweGE4LCAweDA2LCAweGU3LCAweDA3LAotICAgIDB4MDUsIDB4MDAsIDB4OTAsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4YzgsIDB4MDksCi0gICAgMHhhNCwgMHgwNiwgMHgwOCwgMHg2MiwgMHgwMiwgMHhjMCwgMHgxMCwgMHg2NCwKLSAgICAweDA3LCAweGMxLCAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweDllLCAweDA2LAotICAgIDB4ZTcsIDB4MDcsIDB4NzIsIDB4MDQsIDB4MjQsIDB4MDAsIDB4OTcsIDB4Y2YsCi0gICAgMHgyNywgMHgwNCwgMHhhNCwgMHgwNiwgMHhjOCwgMHgxNywgMHgwZSwgMHgwMCwKLSAgICAweDI3LCAweDAyLCAweDllLCAweDA2LCAweGU3LCAweDA3LCAweDgwLCAweDA0LAotICAgIDB4MjQsIDB4MDAsIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsCi0gICAgMHhjMSwgMHhkZiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHg5MCwgMHgwNiwKLSAgICAweDEzLCAweGMxLCAweDlmLCAweGFmLCAweDA2LCAweDAyLCAweGU3LCAweDU3LAotICAgIDB4MDAsIDB4MDAsIDB4OWUsIDB4MDYsIDB4MTMsIDB4YzAsIDB4ZTcsIDB4MDksCi0gICAgMHg5ZSwgMHgwNiwgMHgzMCwgMHgwMSwgMHhlNywgMHgwNywgMHhmMiwgMHgwNSwKLSAgICAweDMyLCAweDAxLCAweGU3LCAweDA3LCAweDEwLCAweDAwLCAweDk2LCAweGMwLAotICAgIDB4ZTcsIDB4MDksIDB4OWUsIDB4MDYsIDB4OTAsIDB4MDYsIDB4MDQsIDB4Y2YsCi0gICAgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHg5ZSwgMHgwNiwgMHgwMiwgMHhjMSwKLSAgICAweDlmLCAweGFmLCAweDA2LCAweDAyLCAweGU3LCAweDA1LCAweDAwLCAweGMwLAotICAgIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsIDB4YzEsIDB4ZGYsCi0gICAgMHgwOCwgMHg5MiwgMHhlNywgMHg1NywgMHgwMiwgMHgwMCwgMHhhYSwgMHgwNiwKLSAgICAweDAyLCAweGMzLCAweGM4LCAweDA5LCAweGE0LCAweDA2LCAweDI3LCAweDAyLAotICAgIDB4YTYsIDB4MDYsIDB4MDgsIDB4NjIsIDB4MDMsIDB4YzEsIDB4ZTcsIDB4MDUsCi0gICAgMHgwMCwgMHhjMCwgMHg5NywgMHhjZiwgMHgyNywgMHgwNCwgMHhhNCwgMHgwNiwKLSAgICAweGU3LCAweDA1LCAweDAwLCAweGMwLCAweGYwLCAweDA3LCAweDQwLCAweDAwLAotICAgIDB4MDgsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsCi0gICAgMHgwMCwgMHgwMiwgMHhjMCwgMHgxNywgMHgwYywgMHgwMCwgMHgzMCwgMHgwMCwKLSAgICAweDA2LCAweDAwLCAweGYwLCAweDA3LCAweDQ2LCAweDAxLCAweDBhLCAweDAwLAotICAgIDB4YzgsIDB4MTcsIDB4MDQsIDB4MDAsIDB4YzEsIDB4MDcsIDB4MDIsIDB4MDAsCi0gICAgMHg1MSwgMHhhZiwgMHg5NywgMHhjZiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweDk2LCAweDA2LCAweDk3LCAweGMwLCAweGMxLCAweGRmLCAweGM4LCAweDA5LAotICAgIDB4OTYsIDB4MDYsIDB4MjcsIDB4MDQsIDB4OTYsIDB4MDYsIDB4MjcsIDB4NTIsCi0gICAgMHg5OCwgMHgwNiwgMHgwMywgMHhjMSwgMHhlNywgMHgwNywgMHg5NiwgMHgwNiwKLSAgICAweDk4LCAweDA2LCAweGMwLCAweGRmLCAweDE3LCAweDAyLCAweGM4LCAweDE3LAotICAgIDB4MGUsIDB4MDAsIDB4OWYsIDB4YWYsIDB4YmEsIDB4MDMsIDB4YzgsIDB4MDUsCi0gICAgMHgwMCwgMHg2MCwgMHgwMywgMHhjMCwgMHg5ZiwgMHhhZiwgMHgyNCwgMHgwMywKLSAgICAweDk3LCAweGNmLCAweDlmLCAweGFmLCAweDA4LCAweDAzLCAweDk3LCAweGNmLAotICAgIDB4NTcsIDB4MDIsIDB4YzksIDB4MDcsIDB4YTQsIDB4MDYsIDB4ZDcsIDB4MDksCi0gICAgMHgwMCwgMHhjMCwgMHhjMSwgMHhkZiwgMHgwOCwgMHg2MiwgMHgxYiwgMHhjMCwKLSAgICAweDUwLCAweDA0LCAweDExLCAweDAyLCAweGU3LCAweDA1LCAweDAwLCAweGMwLAotICAgIDB4YzksIDB4MDUsIDB4OTcsIDB4Y2YsIDB4OTcsIDB4MDIsIDB4Y2EsIDB4MDksCi0gICAgMHhkNiwgMHgwNiwgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHgwNCwgMHgwMCwKLSAgICAweGYyLCAweDI3LCAweDAwLCAweDAwLCAweDA2LCAweDAwLCAweGNhLCAweDE3LAotICAgIDB4MmMsIDB4MDAsIDB4ZjgsIDB4NzcsIDB4MDEsIDB4MDAsIDB4MGUsIDB4MDAsCi0gICAgMHgwNiwgMHhjMCwgMHhjYSwgMHhkOSwgMHhmOCwgMHg1NywgMHhmZiwgMHgwMCwKLSAgICAweDBlLCAweDAwLCAweDAxLCAweGMxLCAweGNhLCAweGQ5LCAweDIyLCAweDFjLAotICAgIDB4MGMsIDB4MDAsIDB4ZTIsIDB4MjcsIDB4MDAsIDB4MDAsIDB4ZTIsIDB4MTcsCi0gICAgMHgwMSwgMHgwMCwgMHhlMiwgMHgyNywgMHgwMCwgMHgwMCwgMHhjYSwgMHgwNSwKLSAgICAweDAwLCAweDBjLCAweDBjLCAweDAwLCAweGMwLCAweDE3LCAweDQxLCAweDAwLAotICAgIDB4YzAsIDB4NjcsIDB4YzAsIDB4ZmYsIDB4MzAsIDB4MDAsIDB4MDgsIDB4MDAsCi0gICAgMHgwMCwgMHgwMiwgMHhjMCwgMHgxNywgMHgwYywgMHgwMCwgMHgzMCwgMHgwMCwKLSAgICAweDA2LCAweDAwLCAweGYwLCAweDA3LCAweGRhLCAweDAwLCAweDBhLCAweDAwLAotICAgIDB4ZjAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGMsCi0gICAgMHgwOCwgMHgwMCwgMHg0MCwgMHhkMSwgMHgwMSwgMHgwMCwgMHhjMCwgMHgxOSwKLSAgICAweGNlLCAweDA2LCAweGMwLCAweDU5LCAweGMyLCAweDA2LCAweDA0LCAweGM5LAotICAgIDB4NDksIDB4YWYsIDB4OWYsIDB4YWYsIDB4ZWMsIDB4MDAsIDB4NGEsIDB4YWYsCi0gICAgMHg2NywgMHgxMCwgMHhjZSwgMHgwNiwgMHhjOCwgMHgxNywgMHgwNCwgMHgwMCwKLSAgICAweGMxLCAweDA3LCAweDAxLCAweDAwLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLAotICAgIDB4YzEsIDB4ZGYsIDB4NTAsIDB4YWYsIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsCi0gICAgMHg5NywgMHhjZiwgMHhjMCwgMHgwNywgMHgwMSwgMHgwMCwgMHhjMSwgMHgwOSwKLSAgICAweGFjLCAweDA2LCAweGMxLCAweDc3LCAweDAxLCAweDAwLCAweDk3LCAweGMxLAotICAgIDB4ZDgsIDB4NzcsIDB4MDEsIDB4MDAsIDB4MTIsIDB4YzAsIDB4YzksIDB4MDcsCi0gICAgMHg2YSwgMHgwNiwgMHg5ZiwgMHhhZiwgMHgwOCwgMHgwNCwgMHgwNCwgMHhjMSwKLSAgICAweGMxLCAweDc3LCAweDA4LCAweDAwLCAweDEzLCAweGMwLCAweDk3LCAweGNmLAotICAgIDB4YzEsIDB4NzcsIDB4MDIsIDB4MDAsIDB4OTcsIDB4YzEsIDB4YzEsIDB4NzcsCi0gICAgMHgxMCwgMHgwMCwgMHgwYywgMHhjMCwgMHg5ZiwgMHhhZiwgMHgyYywgMHgwNCwKLSAgICAweDk3LCAweGNmLCAweGMxLCAweDc3LCAweDA0LCAweDAwLCAweDA2LCAweGMwLAotICAgIDB4YzksIDB4MDcsIDB4NzAsIDB4MDYsIDB4OWYsIDB4YWYsIDB4MDgsIDB4MDQsCi0gICAgMHg5NywgMHhjMCwgMHgwMCwgMHhjZiwgMHgwMCwgMHg5MCwgMHg5NywgMHhjZiwKLSAgICAweDUwLCAweDU0LCAweDk3LCAweGMxLCAweDcwLCAweDVjLCAweDAyLCAweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4OTcsIDB4YzEsIDB4NzAsIDB4NWMsIDB4MDQsIDB4MDAsCi0gICAgMHgwNCwgMHgwMCwgMHg5NywgMHhjZiwgMHg4MCwgMHgwMSwgMHhjMCwgMHgwMCwKLSAgICAweDYwLCAweDAwLCAweDMwLCAweDAwLCAweDE4LCAweDAwLCAweDBjLCAweDAwLAotICAgIDB4MDYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4Y2IsIDB4MDksIDB4YjIsIDB4MDYsCi0gICAgMHhjYywgMHgwOSwgMHhiNCwgMHgwNiwgMHgwYiwgMHg1MywgMHgxMSwgMHhjMCwKLSAgICAweGM5LCAweDAyLCAweGNhLCAweDA3LCAweDFjLCAweDA0LCAweDlmLCAweGFmLAotICAgIDB4MDgsIDB4MDQsIDB4OTcsIDB4YzAsIDB4MGEsIDB4YzgsIDB4ODIsIDB4MDgsCi0gICAgMHgwYSwgMHhjZiwgMHg4MiwgMHgwOCwgMHg5ZiwgMHhhZiwgMHgwOCwgMHgwNCwKLSAgICAweDk3LCAweGMwLCAweDA1LCAweGMyLCAweDg5LCAweDMwLCAweDgyLCAweDYwLAotICAgIDB4NzgsIDB4YzEsIDB4MDAsIDB4OTAsIDB4OTcsIDB4Y2YsIDB4ODksIDB4MTAsCi0gICAgMHgwOSwgMHg1MywgMHg3OSwgMHhjMiwgMHg4OSwgMHgzMCwgMHg4MiwgMHgwOCwKLSAgICAweDdhLCAweGNmLCAweGMwLCAweGRmLCAweDk3LCAweGNmLCAweGMwLCAweGRmLAotICAgIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4MDksIDB4OTYsIDB4YzAsIDB4OTIsIDB4MDYsCi0gICAgMHhlNywgMHgwOSwgMHg5OCwgMHhjMCwgMHg5NCwgMHgwNiwgMHgwZiwgMHhjZiwKLSAgICAweGU3LCAweDA5LCAweDk2LCAweGMwLCAweDkyLCAweDA2LCAweGU3LCAweDA5LAotICAgIDB4OTgsIDB4YzAsIDB4OTQsIDB4MDYsIDB4ZTcsIDB4MDksIDB4OWUsIDB4MDYsCi0gICAgMHgzMCwgMHgwMSwgMHhlNywgMHgwNywgMHhmMiwgMHgwNSwgMHgzMiwgMHgwMSwKLSAgICAweGU3LCAweDA3LCAweDEwLCAweDAwLCAweDk2LCAweGMwLCAweGQ3LCAweDA5LAotICAgIDB4MDAsIDB4YzAsIDB4MTcsIDB4MDIsIDB4YzgsIDB4MDksIDB4OTAsIDB4MDYsCi0gICAgMHhjOCwgMHgzNywgMHgwZSwgMHgwMCwgMHhlNywgMHg3NywgMHgyYSwgMHgwMCwKLSAgICAweDkyLCAweDA2LCAweDMwLCAweGMwLCAweDk3LCAweDAyLCAweGNhLCAweDA5LAotICAgIDB4ZDYsIDB4MDYsIDB4ZTcsIDB4NzcsIDB4MjAsIDB4MDAsIDB4OTIsIDB4MDYsCi0gICAgMHgwZSwgMHhjMCwgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHgxMCwgMHgwMCwKLSAgICAweGYyLCAweDI3LCAweDAwLCAweDAwLCAweDEyLCAweDAwLCAweGU3LCAweDc3LAotICAgIDB4MGEsIDB4MDAsIDB4OTIsIDB4MDYsIDB4Y2EsIDB4MDUsIDB4MWUsIDB4YzAsCi0gICAgMHg5NywgMHgwMiwgMHhjYSwgMHgwOSwgMHhkNiwgMHgwNiwgMHhmMiwgMHgxNywKLSAgICAweDAxLCAweDAwLCAweDBjLCAweDAwLCAweGYyLCAweDI3LCAweDAwLCAweDAwLAotICAgIDB4MGUsIDB4MDAsIDB4ZTcsIDB4NzcsIDB4MDIsIDB4MDAsIDB4OTIsIDB4MDYsCi0gICAgMHgwNywgMHhjMCwgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHg0NCwgMHgwMCwKLSAgICAweGYyLCAweDI3LCAweDAwLCAweDAwLCAweDQ2LCAweDAwLCAweDA2LCAweGNmLAotICAgIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsIDB4NjAsIDB4MDAsIDB4ZjIsIDB4MjcsCi0gICAgMHgwMCwgMHgwMCwgMHg2MiwgMHgwMCwgMHhjYSwgMHgwNSwgMHg5ZiwgMHhhZiwKLSAgICAweDA4LCAweDAzLCAweDBmLCAweGNmLCAweDU3LCAweDAyLCAweDA5LCAweDAyLAotICAgIDB4ZjEsIDB4MDksIDB4OTQsIDB4MDYsIDB4MGMsIDB4MDAsIDB4ZjEsIDB4ZGEsCi0gICAgMHgwYywgMHgwMCwgMHhjOCwgMHgwOSwgMHg5OCwgMHgwNiwgMHg1MCwgMHgwMiwKLSAgICAweDY3LCAweDAyLCAweDk4LCAweDA2LCAweGQxLCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4YzksIDB4MDUsIDB4ZTcsIDB4MDksIDB4OWUsIDB4MDYsIDB4OTAsIDB4MDYsCi0gICAgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHg5MCwgMHgwNiwgMHgwMiwgMHhjMCwKLSAgICAweDlmLCAweGFmLCAweDA2LCAweDAyLCAweGM4LCAweDA1LCAweGU3LCAweDA1LAotICAgIDB4MDAsIDB4YzAsIDB4YzAsIDB4ZGYsIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksCi0gICAgMHgwMCwgMHhjMCwgMHgxNywgMHgwMCwgMHgxNywgMHgwMiwgMHg5NywgMHgwMiwKLSAgICAweGMwLCAweDA5LCAweDkyLCAweGMwLCAweGU3LCAweDA3LCAweDA0LCAweDAwLAotICAgIDB4OTAsIDB4YzAsIDB4Y2EsIDB4MDksIDB4ZDYsIDB4MDYsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHhhOCwgMHgwNiwgMHhlNywgMHgwNywgMHg2YSwgMHgwNCwKLSAgICAweDAyLCAweDAwLCAweGMwLCAweDc3LCAweDAyLCAweDAwLCAweDA4LCAweGMwLAotICAgIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsIDB4NTAsIDB4MDAsIDB4ZjIsIDB4MjcsCi0gICAgMHgwMCwgMHgwMCwgMHg1MiwgMHgwMCwgMHg5ZiwgMHhjZiwgMHgyNCwgMHgwNiwKLSAgICAweGMwLCAweDc3LCAweDEwLCAweDAwLCAweDA2LCAweGMwLCAweGYyLCAweDE3LAotICAgIDB4MDEsIDB4MDAsIDB4NTgsIDB4MDAsIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsCi0gICAgMHg1YSwgMHgwMCwgMHhjMCwgMHg3NywgMHg4MCwgMHgwMCwgMHgwNiwgMHhjMCwKLSAgICAweGYyLCAweDE3LCAweDAxLCAweDAwLCAweDcwLCAweDAwLCAweGYyLCAweDI3LAotICAgIDB4MDAsIDB4MDAsIDB4NzIsIDB4MDAsIDB4YzAsIDB4NzcsIDB4MDgsIDB4MDAsCi0gICAgMHgxZCwgMHhjMSwgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHgwOCwgMHgwMCwKLSAgICAweGYyLCAweDI3LCAweDAwLCAweDAwLCAweDBhLCAweDAwLCAweGMwLCAweDc3LAotICAgIDB4MDAsIDB4MDIsIDB4MDYsIDB4YzAsIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsCi0gICAgMHg2NCwgMHgwMCwgMHhmMiwgMHgyNywgMHgwMCwgMHgwMCwgMHg2NiwgMHgwMCwKLSAgICAweGMwLCAweDc3LCAweDQwLCAweDAwLCAweDA2LCAweGMwLCAweGYyLCAweDE3LAotICAgIDB4MDEsIDB4MDAsIDB4NWMsIDB4MDAsIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsCi0gICAgMHg1ZSwgMHgwMCwgMHhjMCwgMHg3NywgMHgwMSwgMHgwMCwgMHgwMSwgMHhjMCwKLSAgICAweDFiLCAweGNmLCAweDFhLCAweGNmLCAweGYyLCAweDE3LCAweDAxLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsCi0gICAgMHhjOCwgMHgwOSwgMHgzNCwgMHgwMSwgMHhjYSwgMHgxNywgMHgxNCwgMHgwMCwKLSAgICAweGQ4LCAweDc3LCAweDAxLCAweDAwLCAweDA1LCAweGMwLCAweGNhLCAweGQ5LAotICAgIDB4ZDgsIDB4NTcsIDB4ZmYsIDB4MDAsIDB4MDEsIDB4YzAsIDB4Y2EsIDB4ZDksCi0gICAgMHhlMiwgMHgxOSwgMHg5NCwgMHhjMCwgMHhlMiwgMHgyNywgMHgwMCwgMHgwMCwKLSAgICAweGUyLCAweDE3LCAweDAxLCAweDAwLCAweGUyLCAweDI3LCAweDAwLCAweDAwLAotICAgIDB4OWYsIDB4YWYsIDB4NDAsIDB4MDYsIDB4OWYsIDB4YWYsIDB4YzQsIDB4MDEsCi0gICAgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHhkMiwgMHgwNiwgMHg5ZiwgMHhhMSwKLSAgICAweDBlLCAweDBhLCAweGNhLCAweDA1LCAweGM4LCAweDA1LCAweGMwLCAweDA1LAotICAgIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4YzAsIDB4ZGYsIDB4OTcsIDB4Y2YsCi0gICAgMHhjOCwgMHgwOSwgMHhhMCwgMHgwNiwgMHgwOCwgMHg2MiwgMHg5NywgMHhjMCwKLSAgICAweDI3LCAweDA0LCAweGEwLCAweDA2LCAweDI3LCAweDUyLCAweGEyLCAweDA2LAotICAgIDB4MDMsIDB4YzEsIDB4ZTcsIDB4MDcsIDB4YTAsIDB4MDYsIDB4YTIsIDB4MDYsCi0gICAgMHg5ZiwgMHhhZiwgMHgwOCwgMHgwMywgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGFhLCAweDA2LCAweDAyLCAweGMwLCAweDI3LCAweGRhLCAweGFhLCAweDA2LAotICAgIDB4OTcsIDB4Y2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDNmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHhmZiwgMHhmZiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweGZmLCAweGZmLCAweGZiLCAweDEzLCAweGU3LCAweDU3LAotICAgIDB4MDAsIDB4ODAsIDB4YjIsIDB4MDAsIDB4MDYsIDB4YzIsIDB4ZTcsIDB4MDcsCi0gICAgMHhlZSwgMHgwYiwgMHgxMiwgMHgwMCwgMHhlNywgMHgwNywgMHgzNCwgMHgwYywKLSAgICAweGIyLCAweDAwLCAweGU3LCAweDA3LCAweGM2LCAweDA3LCAweGYyLCAweDAyLAotICAgIDB4YzgsIDB4MDksIDB4YjQsIDB4MDAsIDB4ZjgsIDB4MDcsIDB4MDIsIDB4MDAsCi0gICAgMHgwZCwgMHgwMCwgMHhkNywgMHgwOSwgMHgwZSwgMHhjMCwgMHhlNywgMHgwNywKLSAgICAweDAwLCAweDAwLCAweDBlLCAweGMwLCAweGM4LCAweDA5LCAweGRlLCAweDAwLAotICAgIDB4YzgsIDB4MTcsIDB4MDksIDB4MDAsIDB4YzksIDB4MDcsIDB4ZGEsIDB4MDYsCi0gICAgMHhjMCwgMHgwNywgMHgwNCwgMHgwMCwgMHg2OCwgMHgwYSwgMHgwMCwgMHhkYSwKLSAgICAweDdkLCAweGMxLCAweGU3LCAweDA5LCAweGMwLCAweDAwLCAweDdjLCAweDA2LAotICAgIDB4ZTcsIDB4MDksIDB4YmUsIDB4MDAsIDB4NzgsIDB4MDYsIDB4ZTcsIDB4MDksCi0gICAgMHgxMCwgMHgwMCwgMHhiYywgMHgwNiwgMHhjOCwgMHgwNywgMHhkNiwgMHgwNywKLSAgICAweDlmLCAweGFmLCAweGFlLCAweDA3LCAweDlmLCAweGFmLCAweDAwLCAweDBhLAotICAgIDB4YzgsIDB4MDksIDB4ZGUsIDB4MDAsIDB4MDAsIDB4MGUsIDB4MGYsIDB4MDAsCi0gICAgMHg0MSwgMHg5MCwgMHg5ZiwgMHhkZSwgMHgwNiwgMHgwMCwgMHg0NCwgMHhhZiwKLSAgICAweDI3LCAweDAwLCAweGIyLCAweDA2LCAweDI3LCAweDAwLCAweGI0LCAweDA2LAotICAgIDB4MjcsIDB4MDAsIDB4YjYsIDB4MDYsIDB4YzAsIDB4MDcsIDB4NzQsIDB4MDAsCi0gICAgMHg0NCwgMHhhZiwgMHgyNywgMHgwMCwgMHhkNiwgMHgwNiwgMHgwOCwgMHgwMCwKLSAgICAweDAwLCAweDkwLCAweGMxLCAweDA3LCAweDNhLCAweDAwLCAweDIwLCAweDAwLAotICAgIDB4MDEsIDB4ZGEsIDB4N2QsIDB4YzEsIDB4OWYsIDB4YWYsIDB4YmEsIDB4MDksCi0gICAgMHhjMCwgMHgwNywgMHg0NCwgMHgwMCwgMHg0OCwgMHhhZiwgMHgyNywgMHgwMCwKLSAgICAweDdhLCAweDA2LCAweDlmLCAweGFmLCAweDk2LCAweDBhLCAweGU3LCAweDA3LAotICAgIDB4MDEsIDB4MDAsIDB4YzAsIDB4MDYsIDB4ZTcsIDB4MDUsIDB4MGUsIDB4YzAsCi0gICAgMHg5NywgMHhjZiwgMHg0OSwgMHhhZiwgMHhlNywgMHg4NywgMHg0MywgMHgwMCwKLSAgICAweDBlLCAweGMwLCAweGU3LCAweDA3LCAweGZmLCAweGZmLCAweGJlLCAweDA2LAotICAgIDB4OWYsIDB4YWYsIDB4YWUsIDB4MGEsIDB4YzAsIDB4MDcsIDB4MDEsIDB4MDAsCi0gICAgMHg2MCwgMHhhZiwgMHg0YSwgMHhhZiwgMHg5NywgMHhjZiwgMHgwMCwgMHgwOCwKLSAgICAweDA5LCAweDA4LCAweDExLCAweDA4LCAweDAwLCAweGRhLCAweDdjLCAweGMxLAotICAgIDB4OTcsIDB4Y2YsIDB4NjcsIDB4MDQsIDB4Y2MsIDB4MDIsIDB4YzAsIDB4ZGYsCi0gICAgMHg1MSwgMHg5NCwgMHhiMSwgMHhhZiwgMHgwNiwgMHgwMCwgMHhjMSwgMHhkZiwKLSAgICAweGM5LCAweDA5LCAweGNjLCAweDAyLCAweDQ5LCAweDYyLCAweDc1LCAweGMxLAotICAgIDB4YzAsIDB4ZGYsIDB4YTcsIDB4Y2YsIDB4ZDYsIDB4MDIsIDB4MGUsIDB4MDAsCi0gICAgMHgyNCwgMHgwMCwgMHg4MCwgMHgwNCwgMHgyMiwgMHgwMCwgMHg0ZSwgMHgwNSwKLSAgICAweGQwLCAweDAwLCAweDBlLCAweDBhLCAweGFhLCAweDAwLCAweDMwLCAweDA4LAotICAgIDB4YmUsIDB4MDAsIDB4NGEsIDB4MGEsIDB4MTAsIDB4MDAsIDB4MjAsIDB4MDAsCi0gICAgMHgwNCwgMHgwMCwgMHg2ZSwgMHgwNCwgMHgwMiwgMHgwMCwgMHg2YSwgMHgwNCwKLSAgICAweDA2LCAweDAwLCAweDAwLCAweDAwLCAweDI0LCAweGMwLCAweDA0LCAweDA0LAotICAgIDB4MjgsIDB4YzAsIDB4ZmUsIDB4ZmIsIDB4MWUsIDB4YzAsIDB4MDAsIDB4MDQsCi0gICAgMHgyMiwgMHhjMCwgMHhmZiwgMHhmNCwgMHhjMCwgMHgwMCwgMHg5MCwgMHgwOSwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGZmLCAweGZmLCAweDU2LCAweDA4LAotICAgIDB4NjAsIDB4MDgsIDB4ZDAsIDB4MDgsIDB4ZGEsIDB4MDgsIDB4MDAsIDB4MDksCi0gICAgMHgwNCwgMHgwOSwgMHgwOCwgMHgwOSwgMHgzMiwgMHgwOSwgMHg0MiwgMHgwOSwKLSAgICAweDUwLCAweDA5LCAweDUyLCAweDA5LCAweDVhLCAweDA5LCAweDVhLCAweDA5LAotICAgIDB4MjcsIDB4MDIsIDB4Y2EsIDB4MDYsIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHhjYSwgMHgwNiwgMHgwYSwgMHgwZSwgMHgwMSwgMHgwMCwKLSAgICAweGNhLCAweDU3LCAweDBlLCAweDAwLCAweDlmLCAweGMzLCAweDVhLCAweDA5LAotICAgIDB4Y2EsIDB4MzcsIDB4MDAsIDB4MDAsIDB4OWYsIDB4YzIsIDB4NWEsIDB4MDksCi0gICAgMHgwYSwgMHhkMiwgMHhiMiwgMHhjZiwgMHgxNiwgMHgwOCwgMHhjOCwgMHgwOSwKLSAgICAweGRlLCAweDAwLCAweDA3LCAweDA2LCAweDlmLCAweGNmLCAweDZjLCAweDA5LAotICAgIDB4MTcsIDB4MDIsIDB4YzgsIDB4MDksIDB4ZGUsIDB4MDAsIDB4MDAsIDB4MGUsCi0gICAgMHgwZiwgMHgwMCwgMHg0MSwgMHg5MCwgMHg5ZiwgMHhkZSwgMHgwNiwgMHgwMCwKLSAgICAweGM4LCAweDA1LCAweDMwLCAweDUwLCAweDA2LCAweDAwLCAweDlmLCAweGM4LAotICAgIDB4NWEsIDB4MDksIDB4MjcsIDB4MGMsIDB4MDIsIDB4MDAsIDB4YjAsIDB4MDYsCi0gICAgMHhjMCwgMHgwOSwgMHhiMiwgMHgwNiwgMHgyNywgMHgwMCwgMHhiNCwgMHgwNiwKLSAgICAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweGFlLCAweDA2LCAweDI3LCAweDAwLAotICAgIDB4ODAsIDB4MDYsIDB4MDAsIDB4MWMsIDB4MDYsIDB4MDAsIDB4MjcsIDB4MDAsCi0gICAgMHhiNiwgMHgwNiwgMHg0MSwgMHg5MCwgMHg2NywgMHg1MCwgMHhiMCwgMHgwNiwKLSAgICAweDBkLCAweGMwLCAweDY3LCAweDAwLCAweDdlLCAweDA2LCAweDI3LCAweDBjLAotICAgIDB4MDYsIDB4MDAsIDB4ODIsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4YmMsIDB4MDgsCi0gICAgMHg4NCwgMHgwNiwgMHhjOCwgMHgwNywgMHg3ZSwgMHgwNiwgMHg0MSwgMHg5MCwKLSAgICAweDUxLCAweGFmLCAweDk3LCAweGNmLCAweDlmLCAweGFmLCAweDQ4LCAweDBjLAotICAgIDB4ZTcsIDB4MDksIDB4YjYsIDB4MDYsIDB4YjQsIDB4MDYsIDB4ZTcsIDB4MDksCi0gICAgMHhiMCwgMHgwNiwgMHhhZSwgMHgwNiwgMHg1OSwgMHhhZiwgMHg5NywgMHhjZiwKLSAgICAweDI3LCAweDBjLCAweDAyLCAweDAwLCAweGFjLCAweDA2LCAweDU5LCAweGFmLAotICAgIDB4OTcsIDB4Y2YsIDB4MDksIDB4MGMsIDB4MDIsIDB4MDAsIDB4MDksIDB4ZGEsCi0gICAgMHg0OSwgMHhkMiwgMHhjOSwgMHgxOSwgMHhkNiwgMHgwNiwgMHhjOCwgMHgwNywKLSAgICAweDdlLCAweDA2LCAweGUwLCAweDA3LCAweDAwLCAweDAwLCAweDYwLCAweDAyLAotICAgIDB4ZTAsIDB4MDcsIDB4MDQsIDB4MDAsIDB4ZDAsIDB4MDcsIDB4Y2MsIDB4MDgsCi0gICAgMHg0OCwgMHhkYiwgMHg0MSwgMHg5MCwgMHg1MCwgMHhhZiwgMHg5NywgMHhjZiwKLSAgICAweDU5LCAweGFmLCAweDk3LCAweGNmLCAweDU5LCAweGFmLCAweDk3LCAweGNmLAotICAgIDB4ZjAsIDB4NTcsIDB4MDYsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MjUsIDB4YzEsCi0gICAgMHhlNywgMHgwNywgMHg3MCwgMHgwNiwgMHg4MCwgMHgwNiwgMHg0MSwgMHg5MCwKLSAgICAweDY3LCAweDAwLCAweDdlLCAweDA2LCAweDI3LCAweDBjLCAweDA2LCAweDAwLAotICAgIDB4ODIsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4OGMsIDB4MDksIDB4ODQsIDB4MDYsCi0gICAgMHhjOCwgMHgwNywgMHg3ZSwgMHgwNiwgMHg0MSwgMHg5MCwgMHg1MSwgMHhhZiwKLSAgICAweDk3LCAweGNmLCAweDA3LCAweDBjLCAweDA2LCAweDAwLCAweGM3LCAweDU3LAotICAgIDB4MDYsIDB4MDAsIDB4MGYsIDB4YzEsIDB4YzgsIDB4MDcsIDB4NzAsIDB4MDYsCi0gICAgMHgxNSwgMHhjZiwgMHgwMCwgMHgwYywgMHgwMiwgMHgwMCwgMHgwMCwgMHhkYSwKLSAgICAweDQwLCAweGQxLCAweDI3LCAweDAwLCAweGMyLCAweDA2LCAweDFlLCAweGNmLAotICAgIDB4MWQsIDB4Y2YsIDB4MjcsIDB4MGMsIDB4MDIsIDB4MDAsIDB4Y2MsIDB4MDYsCi0gICAgMHgxOSwgMHhjZiwgMHgyNywgMHgwMiwgMHgyMCwgMHgwMSwgMHhlNywgMHgwNywKLSAgICAweDA4LCAweDAwLCAweDIyLCAweDAxLCAweGU3LCAweDA3LCAweDEzLCAweDAwLAotICAgIDB4YjAsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4NDEsIDB4OTAsIDB4NjcsIDB4MDAsCi0gICAgMHg3ZSwgMHgwNiwgMHhlNywgMHgwMSwgMHg4MiwgMHgwNiwgMHgyNywgMHgwMiwKLSAgICAweDgwLCAweDA2LCAweGU3LCAweDA3LCAweDhjLCAweDA5LCAweDg0LCAweDA2LAotICAgIDB4YzgsIDB4MDcsIDB4N2UsIDB4MDYsIDB4YzEsIDB4MDcsIDB4MDAsIDB4ODAsCi0gICAgMHg1MCwgMHhhZiwgMHg5NywgMHhjZiwgMHg1OSwgMHhhZiwgMHg5NywgMHhjZiwKLSAgICAweDAwLCAweDYwLCAweDA1LCAweGMwLCAweGU3LCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4YzQsIDB4MDYsIDB4YTcsIDB4Y2YsIDB4N2MsIDB4MDYsIDB4OWYsIDB4YWYsCi0gICAgMHgwMCwgMHgwYSwgMHhlNywgMHgwNywgMHgwMSwgMHgwMCwgMHhjNCwgMHgwNiwKLSAgICAweDQ5LCAweGFmLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLCAweDA3LCAweGFmLAotICAgIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4NGEsIDB4YWYsIDB4YTcsIDB4Y2YsCi0gICAgMHg3YywgMHgwNiwgMHhjMCwgMHgwNywgMHhmZSwgMHg3ZiwgMHg0NCwgMHhhZiwKLSAgICAweDQwLCAweDAwLCAweGMwLCAweDM3LCAweDAwLCAweDAxLCAweDQxLCAweDkwLAotICAgIDB4YzAsIDB4MzcsIDB4MDgsIDB4MDAsIDB4ZGYsIDB4ZGUsIDB4NTAsIDB4MDYsCi0gICAgMHhjMCwgMHg1NywgMHgxMCwgMHgwMCwgMHgwMiwgMHhjMiwgMHhjMCwgMHgwNywKLSAgICAweDEwLCAweDAwLCAweDI3LCAweDAwLCAweDlhLCAweDA2LCAweDQxLCAweDkwLAotICAgIDB4OWYsIDB4ZGUsIDB4NDAsIDB4MDYsIDB4NDQsIDB4YWYsIDB4MjcsIDB4MDAsCi0gICAgMHg5YywgMHgwNiwgMHhjMCwgMHgwOSwgMHg5YSwgMHgwNiwgMHg0MSwgMHg5MCwKLSAgICAweDAwLCAweGQyLCAweDAwLCAweGQ4LCAweDlmLCAweGRlLCAweDA4LCAweDAwLAotICAgIDB4NDQsIDB4YWYsIDB4MjcsIDB4MDAsIDB4YzgsIDB4MDYsIDB4OTcsIDB4Y2YsCi0gICAgMHhlNywgMHg4NywgMHgwMCwgMHg4NCwgMHgyOCwgMHhjMCwgMHhlNywgMHg2NywKLSAgICAweGZmLCAweGZiLCAweDI0LCAweGMwLCAweDk3LCAweGNmLCAweGU3LCAweDg3LAotICAgIDB4MDEsIDB4MDAsIDB4ZDIsIDB4MDYsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHhhOCwgMHgwNiwgMHg5NywgMHhjMSwgMHg5ZiwgMHhhZiwgMHgwMCwgMHgwYSwKLSAgICAweGU3LCAweDg3LCAweDAwLCAweDA2LCAweDIyLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4OTAsIDB4YzAsIDB4ZTcsIDB4NjcsIDB4ZmUsIDB4ZmYsCi0gICAgMHgzZSwgMHhjMCwgMHhlNywgMHgwNywgMHgyNiwgMHgwMCwgMHgwYSwgMHhjMCwKLSAgICAweGU3LCAweDg3LCAweDAxLCAweDAwLCAweDNlLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4ZmYsIDB4ZmYsIDB4YmUsIDB4MDYsIDB4OWYsIDB4YWYsIDB4MTAsIDB4MGIsCi0gICAgMHg5NywgMHhjZiwgMHgxNywgMHgwMCwgMHhhNywgMHhhZiwgMHg3OCwgMHgwNiwKLSAgICAweGMwLCAweDA1LCAweDI3LCAweDAwLCAweDc2LCAweDA2LCAweGU3LCAweDg3LAotICAgIDB4MDEsIDB4MDAsIDB4ZDIsIDB4MDYsIDB4OWYsIDB4YWYsIDB4MDAsIDB4MGEsCi0gICAgMHhlNywgMHgwNywgMHgwYywgMHgwMCwgMHg0MCwgMHhjMCwgMHg5ZiwgMHhhZiwKLSAgICAweDEwLCAweDBiLCAweDAwLCAweDkwLCAweDI3LCAweDAwLCAweGE2LCAweDA2LAotICAgIDB4MjcsIDB4MDAsIDB4YWEsIDB4MDYsIDB4ZTcsIDB4MDksIDB4YjIsIDB4MDYsCi0gICAgMHhiNCwgMHgwNiwgMHgyNywgMHgwMCwgMHhhZSwgMHgwNiwgMHgyNywgMHgwMCwKLSAgICAweGFjLCAweDA2LCAweDlmLCAweGFmLCAweGFlLCAweDBhLCAweGMwLCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4MjcsIDB4MDAsIDB4YjIsIDB4MDIsIDB4MjcsIDB4MDAsCi0gICAgMHhiNCwgMHgwMiwgMHgyNywgMHgwMCwgMHg4ZSwgMHgwNiwgMHhjMCwgMHgwNywKLSAgICAweDA2LCAweDAwLCAweGM4LCAweDA5LCAweGRlLCAweDAwLCAweGM4LCAweDE3LAotICAgIDB4MDMsIDB4MDAsIDB4YzksIDB4MDcsIDB4NzAsIDB4MDYsIDB4MjksIDB4MGEsCi0gICAgMHgwMCwgMHhkYSwgMHg3ZCwgMHhjMSwgMHg5NywgMHhjZiwgMHhkNywgMHgwOSwKLSAgICAweDAwLCAweGMwLCAweGMxLCAweGRmLCAweDAwLCAweDkwLCAweDI3LCAweDAwLAotICAgIDB4OTYsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4OTYsIDB4MDYsIDB4OTgsIDB4MDYsCi0gICAgMHgyNywgMHgwMCwgMHhhMCwgMHgwNiwgMHhlNywgMHgwNywgMHhhMCwgMHgwNiwKLSAgICAweGEyLCAweDA2LCAweDI3LCAweDAwLCAweGE2LCAweDA2LCAweDI3LCAweDAwLAotICAgIDB4OTAsIDB4MDYsIDB4MjcsIDB4MDAsIDB4OWUsIDB4MDYsIDB4YzgsIDB4MDksCi0gICAgMHg5YywgMHgwNiwgMHhjMSwgMHgwOSwgMHg5YSwgMHgwNiwgMHhjOSwgMHgwNywKLSAgICAweGE0LCAweDA2LCAweDExLCAweDAyLCAweDA5LCAweDAyLCAweGM4LCAweDE3LAotICAgIDB4NDAsIDB4MDYsIDB4MDEsIDB4ZGEsIDB4N2EsIDB4YzEsIDB4NTEsIDB4OTQsCi0gICAgMHhjOCwgMHgwOSwgMHhjOCwgMHgwNiwgMHhjOSwgMHgwNywgMHhjNiwgMHgwNiwKLSAgICAweGMxLCAweDA5LCAweDlhLCAweDA2LCAweDExLCAweDAyLCAweDA5LCAweDAyLAotICAgIDB4YzgsIDB4MTcsIDB4MDgsIDB4MDAsIDB4MDEsIDB4ZGEsIDB4N2EsIDB4YzEsCi0gICAgMHg1MSwgMHg5NCwgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwgMHg5NywgMHhjZiwKLSAgICAweGU3LCAweDU3LCAweDAwLCAweDAwLCAweDc2LCAweDA2LCAweDk3LCAweGMwLAotICAgIDB4OWYsIDB4YWYsIDB4MDQsIDB4MDAsIDB4ZTcsIDB4MDksIDB4YmUsIDB4MDYsCi0gICAgMHhiYSwgMHgwNiwgMHhlNywgMHg1NywgMHhmZiwgMHhmZiwgMHhiYSwgMHgwNiwKLSAgICAweDA0LCAweGMxLCAweGU3LCAweDA3LCAweDEwLCAweDBiLCAweGI4LCAweDA2LAotICAgIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4MTcsIDB4MzIsIDB4MDAsIDB4YmEsIDB4MDYsCi0gICAgMHhlNywgMHg2NywgMHhmZiwgMHgwNywgMHhiYSwgMHgwNiwgMHhlNywgMHgwNywKLSAgICAweDQ2LCAweDBiLCAweGI4LCAweDA2LCAweDk3LCAweGNmLCAweGU3LCAweDU3LAotICAgIDB4MDAsIDB4MDAsIDB4YzAsIDB4MDYsIDB4MjMsIDB4YzAsIDB4ZTcsIDB4MDcsCi0gICAgMHgwNCwgMHgwMCwgMHg5MCwgMHhjMCwgMHhlNywgMHgwNywgMHgwMCwgMHg4MCwKLSAgICAweDgwLCAweGMwLCAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweDgwLCAweGMwLAotICAgIDB4ZTcsIDB4MDcsIDB4MDAsIDB4ODAsIDB4ODAsIDB4YzAsIDB4YzAsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHhjMCwgMHgwNywgMHgwMCwgMHgwMCwgMHhjMCwgMHgwNywKLSAgICAweDAwLCAweDAwLCAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweDgwLCAweGMwLAotICAgIDB4ZTcsIDB4MDcsIDB4MDAsIDB4ODAsIDB4ODAsIDB4YzAsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMCwgMHg4MCwgMHg0MCwgMHhjMCwgMHhjMCwgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweDQwLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4ODAsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4MDQsIDB4MDAsCi0gICAgMHg5MCwgMHhjMCwgMHhlNywgMHgwNywgMHgwMCwgMHgwMiwgMHg0MCwgMHhjMCwKLSAgICAweGU3LCAweDA3LCAweDBjLCAweDAyLCAweDQwLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4YzAsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHhiOCwgMHgwNiwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwgMHhkMiwgMHgwNiwKLSAgICAweGQ3LCAweDA5LCAweDAwLCAweGMwLCAweGMxLCAweGRmLCAweDlmLCAweGFmLAotICAgIDB4MzQsIDB4MDIsIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4OWYsIDB4YWYsCi0gICAgMHhjNCwgMHgwMSwgMHg5NywgMHhjZiwgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwKLSAgICAweDE3LCAweDAwLCAweDE3LCAweDAyLCAweDk3LCAweDAyLCAweGU3LCAweDU3LAotICAgIDB4MDAsIDB4MDAsIDB4YTgsIDB4MDYsIDB4MDYsIDB4YzAsIDB4YzAsIDB4MDksCi0gICAgMHg5MiwgMHhjMCwgMHhjMCwgMHg3NywgMHgwOSwgMHgwMiwgMHg5ZiwgMHhjMSwKLSAgICAweDVjLCAweDA1LCAweDlmLCAweGNmLCAweDMyLCAweDA2LCAweGQ3LCAweDA5LAotICAgIDB4MGUsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MGUsIDB4YzAsCi0gICAgMHg5ZiwgMHhhZiwgMHgwMiwgMHgwYywgMHhlNywgMHgwNSwgMHgwZSwgMHhjMCwKLSAgICAweDk3LCAweGNmLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLCAweDE3LCAweDAyLAotICAgIDB4YzgsIDB4MDksIDB4YjAsIDB4YzAsIDB4ZTcsIDB4NjcsIDB4ZmUsIDB4N2YsCi0gICAgMHhiMCwgMHhjMCwgMHhjOCwgMHg3NywgMHgwMCwgMHgyMCwgMHg5ZiwgMHhjMSwKLSAgICAweDY0LCAweGViLCAweGU3LCAweDU3LCAweDAwLCAweDAwLCAweGM4LCAweDAyLAotICAgIDB4OWYsIDB4YzEsIDB4ODAsIDB4ZWIsIDB4YzgsIDB4OTksIDB4Y2EsIDB4MDIsCi0gICAgMHhjOCwgMHg2NywgMHgwNCwgMHgwMCwgMHg5ZiwgMHhjMSwgMHg5NiwgMHhlYiwKLSAgICAweDlmLCAweGNmLCAweDRjLCAweGViLCAweGU3LCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4YTYsIDB4YzAsIDB4ZTcsIDB4MDksIDB4YjAsIDB4YzAsIDB4YzgsIDB4MDIsCi0gICAgMHhlNywgMHgwNywgMHgwMywgMHgwMCwgMHhiMCwgMHhjMCwgMHg5NywgMHhjZiwKLSAgICAweGMwLCAweDA5LCAweGIwLCAweDA2LCAweGMwLCAweDM3LCAweDAxLCAweDAwLAotICAgIDB4OTcsIDB4YzksIDB4YzksIDB4MDksIDB4YjIsIDB4MDYsIDB4MDIsIDB4MDAsCi0gICAgMHg0MSwgMHg5MCwgMHg0OCwgMHgwMiwgMHhjOSwgMHgxNywgMHgwNiwgMHgwMCwKLSAgICAweDlmLCAweGFmLCAweDA4LCAweDA0LCAweDlmLCAweGEyLCAweDcyLCAweDBjLAotICAgIDB4MDIsIDB4ZGEsIDB4NzcsIDB4YzEsIDB4NDEsIDB4NjAsIDB4NzEsIDB4YzEsCi0gICAgMHg5NywgMHhjZiwgMHgxNywgMHgwMiwgMHg1NywgMHgwMiwgMHg0MywgMHgwNCwKLSAgICAweDIxLCAweDA0LCAweGUwLCAweDAwLCAweDQzLCAweDA0LCAweDIxLCAweDA0LAotICAgIDB4ZTAsIDB4MDAsIDB4NDMsIDB4MDQsIDB4MjEsIDB4MDQsIDB4ZTAsIDB4MDAsCi0gICAgMHhjMSwgMHgwNywgMHgwMSwgMHgwMCwgMHhjOSwgMHgwNSwgMHhjOCwgMHgwNSwKLSAgICAweDk3LCAweGNmLCAweGU3LCAweDA3LCAweDAxLCAweDAwLCAweDhlLCAweDA2LAotICAgIDB4YzgsIDB4MDcsIDB4ODYsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHg4NiwgMHgwNiwgMHhlNywgMHgwNywgMHgxMCwgMHgwOCwgMHg4OCwgMHgwNiwKLSAgICAweGU3LCAweDA3LCAweDA0LCAweDAwLCAweDhhLCAweDA2LCAweGU3LCAweDA3LAotICAgIDB4YmMsIDB4MGMsIDB4OGMsIDB4MDYsIDB4YzEsIDB4MDcsIDB4MDMsIDB4ODAsCi0gICAgMHg1MCwgMHhhZiwgMHg5NywgMHhjZiwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweDhlLCAweDA2LCAweDk3LCAweGNmLAotICAgIDB4MDAsIDB4MDAKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAgICAga2F3ZXRoX25ld19jb2RlX2ZpeAotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgX191OCBrYXdldGhfbmV3X2NvZGVfZml4W10gPSAKLXsKLSAgICAweEI2LCAweEMzLCAweEFBLCAweEJCLCAweENDLCAweERELAotICAgIDB4MDIsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MjgsIDB4MDAsIDB4MmMsIDB4MDAsCi0gICAgMHgzNCwgMHgwMCwgMHgzYywgMHgwMCwgMHg0MCwgMHgwMCwgMHg0OCwgMHgwMCwKLSAgICAweDU0LCAweDAwLCAweDU4LCAweDAwLCAweDVlLCAweDAwLCAweDY0LCAweDAwLAotICAgIDB4NjgsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmMsIDB4MDAsIDB4NzIsIDB4MDAsCi0gICAgMHg3NiwgMHgwMCwgMHg3YywgMHgwMCwgMHg4MCwgMHgwMCwgMHg4NiwgMHgwMCwKLSAgICAweDhhLCAweDAwLCAweDkwLCAweDAwLCAweDk0LCAweDAwLCAweDk4LCAweDAwLAotICAgIDB4OWUsIDB4MDAsIDB4YTYsIDB4MDAsIDB4YWEsIDB4MDAsIDB4YjAsIDB4MDAsCi0gICAgMHhiNCwgMHgwMCwgMHhiOCwgMHgwMCwgMHhjMCwgMHgwMCwgMHhjNiwgMHgwMCwKLSAgICAweGNhLCAweDAwLCAweGQwLCAweDAwLCAweGQ0LCAweDAwLCAweGQ4LCAweDAwLAotICAgIDB4ZTAsIDB4MDAsIDB4ZGUsIDB4MDAsIDB4ZTgsIDB4MDAsIDB4ZjAsIDB4MDAsCi0gICAgMHhmYywgMHgwMCwgMHgwNCwgMHgwMSwgMHgwYSwgMHgwMSwgMHgxOCwgMHgwMSwKLSAgICAweDIyLCAweDAxLCAweDI4LCAweDAxLCAweDNhLCAweDAxLCAweDNlLCAweDAxLAotICAgIDB4N2UsIDB4MDEsIDB4OTgsIDB4MDEsIDB4OWMsIDB4MDEsIDB4YTIsIDB4MDEsCi0gICAgMHhhYywgMHgwMSwgMHhiMiwgMHgwMSwgMHhiYSwgMHgwMSwgMHhjMCwgMHgwMSwKLSAgICAweGM4LCAweDAxLCAweGQwLCAweDAxLCAweGQ2LCAweDAxLCAweGY0LCAweDAxLAotICAgIDB4ZmMsIDB4MDEsIDB4MDgsIDB4MDIsIDB4MTYsIDB4MDIsIDB4MWEsIDB4MDIsCi0gICAgMHgyMiwgMHgwMiwgMHgyYSwgMHgwMiwgMHgyZSwgMHgwMiwgMHgzZSwgMHgwMiwKLSAgICAweDQ0LCAweDAyLCAweDRhLCAweDAyLCAweDUwLCAweDAyLCAweDY0LCAweDAyLAotICAgIDB4NjIsIDB4MDIsIDB4NmMsIDB4MDIsIDB4NzIsIDB4MDIsIDB4ODYsIDB4MDIsCi0gICAgMHg4YywgMHgwMiwgMHg5MCwgMHgwMiwgMHg5ZSwgMHgwMiwgMHhiYywgMHgwMiwKLSAgICAweGQwLCAweDAyLCAweGQ4LCAweDAyLCAweGRjLCAweDAyLCAweGUwLCAweDAyLAotICAgIDB4ZTgsIDB4MDIsIDB4ZTYsIDB4MDIsIDB4ZjQsIDB4MDIsIDB4ZmUsIDB4MDIsCi0gICAgMHgwNCwgMHgwMywgMHgwYywgMHgwMywgMHgyOCwgMHgwMywgMHg3YywgMHgwMywKLSAgICAweDkwLCAweDAzLCAweDk0LCAweDAzLCAweDljLCAweDAzLCAweGEyLCAweDAzLAotICAgIDB4YzAsIDB4MDMsIDB4ZDAsIDB4MDMsIDB4ZDQsIDB4MDMsIDB4ZWUsIDB4MDMsCi0gICAgMHhmYSwgMHgwMywgMHhmZSwgMHgwMywgMHgyZSwgMHgwNCwgMHgzMiwgMHgwNCwKLSAgICAweDNjLCAweDA0LCAweDQwLCAweDA0LCAweDRlLCAweDA0LCAweDc2LCAweDA0LAotICAgIDB4N2MsIDB4MDQsIDB4ODQsIDB4MDQsIDB4OGEsIDB4MDQsIDB4OGUsIDB4MDQsCi0gICAgMHhhNiwgMHgwNCwgMHhiMCwgMHgwNCwgMHhiOCwgMHgwNCwgMHhiZSwgMHgwNCwKLSAgICAweGQyLCAweDA0LCAweGRjLCAweDA0LCAweGVlLCAweDA0LCAweDEwLCAweDA1LAotICAgIDB4MWEsIDB4MDUsIDB4MjQsIDB4MDUsIDB4MmEsIDB4MDUsIDB4MzYsIDB4MDUsCi0gICAgMHgzNCwgMHgwNSwgMHgzYywgMHgwNSwgMHg0MiwgMHgwNSwgMHg2NCwgMHgwNSwKLSAgICAweDZhLCAweDA1LCAweDZlLCAweDA1LCAweDg2LCAweDA1LCAweDIyLCAweDA2LAotICAgIDB4MjYsIDB4MDYsIDB4MmMsIDB4MDYsIDB4MzAsIDB4MDYsIDB4NDIsIDB4MDYsCi0gICAgMHg0YSwgMHgwNiwgMHg0ZSwgMHgwNiwgMHg1NiwgMHgwNiwgMHg1NCwgMHgwNiwKLSAgICAweDVhLCAweDA2LCAweDYwLCAweDA2LCAweDY2LCAweDA2LCAweGU4LCAweDA2LAotICAgIDB4ZWUsIDB4MDYsIDB4ZjQsIDB4MDYsIDB4MTYsIDB4MDcsIDB4MjYsIDB4MDcsCi0gICAgMHgyYywgMHgwNywgMHgzMiwgMHgwNywgMHgzNiwgMHgwNywgMHgzYSwgMHgwNywKLSAgICAweDNlLCAweDA3LCAweDUyLCAweDA3LCAweDU2LCAweDA3LCAweDVhLCAweDA3LAotICAgIDB4NjQsIDB4MDcsIDB4NzYsIDB4MDcsIDB4N2EsIDB4MDcsIDB4ODAsIDB4MDcsCi0gICAgMHg4NCwgMHgwNywgMHg4YSwgMHgwNywgMHg5ZSwgMHgwNywgMHhhMiwgMHgwNywKLSAgICAweGRhLCAweDA3LCAweGRlLCAweDA3LCAweGUyLCAweDA3LCAweGU2LCAweDA3LAotICAgIDB4ZWEsIDB4MDcsIDB4ZWUsIDB4MDcsIDB4ZjIsIDB4MDcsIDB4ZjYsIDB4MDcsCi0gICAgMHgwZSwgMHgwOCwgMHgxNiwgMHgwOCwgMHgxOCwgMHgwOCwgMHgxYSwgMHgwOCwKLSAgICAweDFjLCAweDA4LCAweDFlLCAweDA4LCAweDIwLCAweDA4LCAweDIyLCAweDA4LAotICAgIDB4MjQsIDB4MDgsIDB4MjYsIDB4MDgsIDB4MjgsIDB4MDgsIDB4MmEsIDB4MDgsCi0gICAgMHgyYywgMHgwOCwgMHgyZSwgMHgwOCwgMHgzMiwgMHgwOCwgMHgzYSwgMHgwOCwKLSAgICAweDQ2LCAweDA4LCAweDRlLCAweDA4LCAweDU0LCAweDA4LCAweDVlLCAweDA4LAotICAgIDB4NzgsIDB4MDgsIDB4N2UsIDB4MDgsIDB4ODIsIDB4MDgsIDB4ODYsIDB4MDgsCi0gICAgMHg4YywgMHgwOCwgMHg5MCwgMHgwOCwgMHg5OCwgMHgwOCwgMHg5ZSwgMHgwOCwKLSAgICAweGE0LCAweDA4LCAweGFhLCAweDA4LCAweGIwLCAweDA4LCAweGFlLCAweDA4LAotICAgIDB4YjQsIDB4MDgsIDB4YmUsIDB4MDgsIDB4YzQsIDB4MDgsIDB4YzIsIDB4MDgsCi0gICAgMHhjYSwgMHgwOCwgMHhjOCwgMHgwOCwgMHhkNCwgMHgwOCwgMHhlNCwgMHgwOCwKLSAgICAweGU4LCAweDA4LCAweGY2LCAweDA4LCAweDE0LCAweDA5LCAweDEyLCAweDA5LAotICAgIDB4MWEsIDB4MDksIDB4MjAsIDB4MDksIDB4MjYsIDB4MDksIDB4MjQsIDB4MDksCi0gICAgMHgyYSwgMHgwOSwgMHgzZSwgMHgwOSwgMHg0YywgMHgwOSwgMHg1NiwgMHgwOSwKLSAgICAweDcwLCAweDA5LCAweDc0LCAweDA5LCAweDc4LCAweDA5LCAweDdlLCAweDA5LAotICAgIDB4N2MsIDB4MDksIDB4ODIsIDB4MDksIDB4OTgsIDB4MDksIDB4OWMsIDB4MDksCi0gICAgMHhhMCwgMHgwOSwgMHhhNiwgMHgwOSwgMHhiOCwgMHgwOSwgMHhkYywgMHgwOSwKLSAgICAweGU4LCAweDA5LCAweGVjLCAweDA5LCAweGZjLCAweDA5LCAweDEyLCAweDBhLAotICAgIDB4MTgsIDB4MGEsIDB4MWUsIDB4MGEsIDB4NDIsIDB4MGEsIDB4NDYsIDB4MGEsCi0gICAgMHg0ZSwgMHgwYSwgMHg1NCwgMHgwYSwgMHg1YSwgMHgwYSwgMHg1ZSwgMHgwYSwKLSAgICAweDY4LCAweDBhLCAweDZlLCAweDBhLCAweDcyLCAweDBhLCAweDc4LCAweDBhLAotICAgIDB4NzYsIDB4MGEsIDB4N2MsIDB4MGEsIDB4ODAsIDB4MGEsIDB4ODQsIDB4MGEsCi0gICAgMHg5NCwgMHgwYSwgMHhhNCwgMHgwYSwgMHhiOCwgMHgwYSwgMHhiZSwgMHgwYSwKLSAgICAweGJjLCAweDBhLCAweGMyLCAweDBhLCAweGM4LCAweDBhLCAweGM2LCAweDBhLAotICAgIDB4Y2MsIDB4MGEsIDB4ZDAsIDB4MGEsIDB4ZDQsIDB4MGEsIDB4ZDgsIDB4MGEsCi0gICAgMHhkYywgMHgwYSwgMHhlMCwgMHgwYSwgMHhmMiwgMHgwYSwgMHhmNiwgMHgwYSwKLSAgICAweGZhLCAweDBhLCAweDE0LCAweDBiLCAweDFhLCAweDBiLCAweDIwLCAweDBiLAotICAgIDB4MWUsIDB4MGIsIDB4MjYsIDB4MGIsIDB4MmUsIDB4MGIsIDB4MmMsIDB4MGIsCi0gICAgMHgzNiwgMHgwYiwgMHgzYywgMHgwYiwgMHg0MiwgMHgwYiwgMHg0MCwgMHgwYiwKLSAgICAweDRhLCAweDBiLCAweGFhLCAweDBiLCAweGIwLCAweDBiLCAweGI2LCAweDBiLAotICAgIDB4YzAsIDB4MGIsIDB4YzgsIDB4MGIsIDB4ZGEsIDB4MGIsIDB4ZTgsIDB4MGIsCi0gICAgMHhlYywgMHgwYiwgMHhmYSwgMHgwYiwgMHg0YSwgMHgwYywgMHg1NCwgMHgwYywKLSAgICAweDYyLCAweDBjLCAweDY2LCAweDBjLCAweDk2LCAweDBjLCAweDlhLCAweDBjLAotICAgIDB4YTAsIDB4MGMsIDB4YTYsIDB4MGMsIDB4YTQsIDB4MGMsIDB4YWMsIDB4MGMsCi0gICAgMHhiMiwgMHgwYywgMHhiMCwgMHgwYywgMHhjMCwgMHgwYywKLSAgICAweDAwLCAweDAwCi19OwotCi0KLXN0YXRpYyBjb25zdCBpbnQgbGVuX2thd2V0aF90cmlnZ2VyX2NvZGUgPSBzaXplb2Yoa2F3ZXRoX3RyaWdnZXJfY29kZSk7Ci1zdGF0aWMgY29uc3QgaW50IGxlbl9rYXdldGhfdHJpZ2dlcl9jb2RlX2ZpeCA9IHNpemVvZihrYXdldGhfdHJpZ2dlcl9jb2RlX2ZpeCk7Ci1zdGF0aWMgY29uc3QgaW50IGxlbl9rYXdldGhfbmV3X2NvZGUgPSBzaXplb2Yoa2F3ZXRoX25ld19jb2RlKTsKLXN0YXRpYyBjb25zdCBpbnQgbGVuX2thd2V0aF9uZXdfY29kZV9maXggPSBzaXplb2Yoa2F3ZXRoX25ld19jb2RlX2ZpeCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93YW4vY29zYS5jIGIvZHJpdmVycy9uZXQvd2FuL2Nvc2EuYwppbmRleCBiMGZjZTEzLi41ODI3MzI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93YW4vY29zYS5jCisrKyBiL2RyaXZlcnMvbmV0L3dhbi9jb3NhLmMKQEAgLTkyLDYgKzkyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI3VuZGVmIENPU0FfU0xPV19JTwkvKiBmb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5ICovCiAKQEAgLTk3MCwxNSArOTcxLDIxIEBACiAJc3RydWN0IGNoYW5uZWxfZGF0YSAqY2hhbjsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBuOworCWludCByZXQgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZiAoKG49aW1pbm9yKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpPj5DQVJEX01JTk9SX0JJVFMpCi0JCT49IG5yX2NhcmRzKQotCQlyZXR1cm4gLUVOT0RFVjsKKwkJPj0gbnJfY2FyZHMpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCWNvc2EgPSBjb3NhX2NhcmRzK247CiAKIAlpZiAoKG49aW1pbm9yKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpCi0JCSYgKCgxPDxDQVJEX01JTk9SX0JJVFMpLTEpKSA+PSBjb3NhLT5uY2hhbm5lbHMpCi0JCXJldHVybiAtRU5PREVWOworCQkmICgoMTw8Q0FSRF9NSU5PUl9CSVRTKS0xKSkgPj0gY29zYS0+bmNoYW5uZWxzKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAljaGFuID0gY29zYS0+Y2hhbiArIG47CiAJCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2hhbjsKQEAgLTk4Nyw3ICs5OTQsOCBAQAogCiAJaWYgKGNoYW4tPnVzYWdlIDwgMCkgeyAvKiBpbiBuZXRkZXYgbW9kZSAqLwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb3NhLT5sb2NrLCBmbGFncyk7Ci0JCXJldHVybiAtRUJVU1k7CisJCXJldCA9IC1FQlVTWTsKKwkJZ290byBvdXQ7CiAJfQogCWNvc2EtPnVzYWdlKys7CiAJY2hhbi0+dXNhZ2UrKzsKQEAgLTk5Niw3ICsxMDA0LDkgQEAKIAljaGFuLT5zZXR1cF9yeCA9IGNocmRldl9zZXR1cF9yeDsKIAljaGFuLT5yeF9kb25lID0gY2hyZGV2X3J4X2RvbmU7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29zYS0+bG9jaywgZmxhZ3MpOwotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGNvc2FfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0bWVsLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9hdG1lbC5jCmluZGV4IDQzOGU2M2UuLmQxYWNlZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0bWVsLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRtZWwuYwpAQCAtNTYwLDcgKzU2MCw3IEBACiBzdGF0aWMgdm9pZCBidWlsZF93cGFfbWliKHN0cnVjdCBhdG1lbF9wcml2YXRlICpwcml2KTsKIHN0YXRpYyBpbnQgYXRtZWxfaW9jdGwoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGlmcmVxICpycSwgaW50IGNtZCk7CiBzdGF0aWMgdm9pZCBhdG1lbF9jb3B5X3RvX2NhcmQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IGRlc3QsCi0JCQkgICAgICAgdW5zaWduZWQgY2hhciAqc3JjLCB1MTYgbGVuKTsKKwkJCSAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzcmMsIHUxNiBsZW4pOwogc3RhdGljIHZvaWQgYXRtZWxfY29weV90b19ob3N0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHVuc2lnbmVkIGNoYXIgKmRlc3QsCiAJCQkgICAgICAgdTE2IHNyYywgdTE2IGxlbik7CiBzdGF0aWMgdm9pZCBhdG1lbF9zZXRfZ2NyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBtYXNrKTsKQEAgLTM4NTMsNyArMzg1Myw3IEBACiAJaWYgKHByaXYtPmNhcmRfdHlwZSA9PSBDQVJEX1RZUEVfRUVQUk9NKSB7CiAJCS8qIGNvcHkgaW4gZmlybXdhcmUgaWYgbmVlZGVkICovCiAJCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZndfZW50cnkgPSBOVUxMOwotCQl1bnNpZ25lZCBjaGFyICpmdzsKKwkJY29uc3QgdW5zaWduZWQgY2hhciAqZnc7CiAJCWludCBsZW4gPSBwcml2LT5maXJtd2FyZV9sZW5ndGg7CiAJCWlmICghKGZ3ID0gcHJpdi0+ZmlybXdhcmUpKSB7CiAJCQlpZiAocHJpdi0+ZmlybXdhcmVfdHlwZSA9PSBBVE1FTF9GV19UWVBFX05PTkUpIHsKQEAgLTQxMjAsNyArNDEyMCw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIGF0bWVsX2NvcHlfdG9fY2FyZChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgZGVzdCwKLQkJCSAgICAgICB1bnNpZ25lZCBjaGFyICpzcmMsIHUxNiBsZW4pCisJCQkgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc3JjLCB1MTYgbGVuKQogewogCWludCBpOwogCWF0bWVsX3dyaXRlQVIoZGV2LCBkZXN0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2hvc3RhcC9ob3N0YXBfY3MuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2hvc3RhcC9ob3N0YXBfY3MuYwppbmRleCA4MDAzOWEwLi4zYjRlNTVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ob3N0YXAvaG9zdGFwX2NzLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaG9zdGFwL2hvc3RhcF9jcy5jCkBAIC03NzcsOCArNzc3LDEwIEBACiAJaW50IGRldl9vcGVuID0gMDsKIAlzdHJ1Y3QgaG9zdGFwX2ludGVyZmFjZSAqaWZhY2UgPSBOVUxMOwogCi0JaWYgKGRldikKLQkJaWZhY2UgPSBuZXRkZXZfcHJpdihkZXYpOworCWlmICghZGV2KQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWlmYWNlID0gbmV0ZGV2X3ByaXYoZGV2KTsKIAogCVBERUJVRyhERUJVR19FWFRSQSwgIiVzOiBDU19FVkVOVF9QTV9TVVNQRU5EXG4iLCBkZXZfaW5mbyk7CiAJaWYgKGlmYWNlICYmIGlmYWNlLT5sb2NhbCkKQEAgLTc5OCw4ICs4MDAsMTAgQEAKIAlpbnQgZGV2X29wZW4gPSAwOwogCXN0cnVjdCBob3N0YXBfaW50ZXJmYWNlICppZmFjZSA9IE5VTEw7CiAKLQlpZiAoZGV2KQotCQlpZmFjZSA9IG5ldGRldl9wcml2KGRldik7CisJaWYgKCFkZXYpCisJCXJldHVybiAtRU5PREVWOworCisJaWZhY2UgPSBuZXRkZXZfcHJpdihkZXYpOwogCiAJUERFQlVHKERFQlVHX0VYVFJBLCAiJXM6IENTX0VWRU5UX1BNX1JFU1VNRVxuIiwgZGV2X2luZm8pOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pd2x3aWZpL2l3bC0zOTQ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pd2x3aWZpL2l3bC0zOTQ1LmMKaW5kZXggZjUzODdhNy4uNTVhYzg1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaXdsd2lmaS9pd2wtMzk0NS5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2l3bHdpZmkvaXdsLTM5NDUuYwpAQCAtNDQ5LDcgKzQ0OSw3IEBACiAKIAlpZiAocHJpbnRfc3VtbWFyeSkgewogCQljaGFyICp0aXRsZTsKLQkJdTMyIHJhdGU7CisJCWludCByYXRlOwogCiAJCWlmIChodW5kcmVkKQogCQkJdGl0bGUgPSAiMTAwRnJhbWVzIjsKQEAgLTQ4Nyw3ICs0ODcsNyBAQAogCQkgKiAgICBidXQgeW91IGNhbiBoYWNrIGl0IHRvIHNob3cgbW9yZSwgaWYgeW91J2QgbGlrZSB0by4gKi8KIAkJaWYgKGRhdGFmcmFtZSkKIAkJCUlXTF9ERUJVR19SWCgiJXM6IG1oZD0weCUwNHgsIGRzdD0weCUwMngsICIKLQkJCQkgICAgICJsZW49JXUsIHJzc2k9JWQsIGNobmw9JWQsIHJhdGU9JXUsIFxuIiwKKwkJCQkgICAgICJsZW49JXUsIHJzc2k9JWQsIGNobmw9JWQsIHJhdGU9JWQsIFxuIiwKIAkJCQkgICAgIHRpdGxlLCBmYywgaGVhZGVyLT5hZGRyMVs1XSwKIAkJCQkgICAgIGxlbmd0aCwgcnNzaSwgY2hhbm5lbCwgcmF0ZSk7CiAJCWVsc2UgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfY3MuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX2NzLmMKaW5kZXggNTQyODBlMi4uZDA3NWI0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfY3MuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl9jcy5jCkBAIC0xMjIsNyArMTIyLDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBpZl9jc193cml0ZTE2X3JlcCgKIAlzdHJ1Y3QgaWZfY3NfY2FyZCAqY2FyZCwKIAl1aW50IHJlZywKLQl2b2lkICpidWYsCisJY29uc3Qgdm9pZCAqYnVmLAogCXVuc2lnbmVkIGxvbmcgY291bnQpCiB7CiAJaWYgKGRlYnVnX291dHB1dCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3NkaW8uYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3NkaW8uYwppbmRleCA1MWY2NjRiLi4zZGQ1MzdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl9zZGlvLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfc2Rpby5jCkBAIC0zOTIsNyArMzkyLDcgQEAKIAl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CiAJdTggKmNodW5rX2J1ZmZlcjsKIAl1MzIgY2h1bmtfc2l6ZTsKLQl1OCAqZmlybXdhcmU7CisJY29uc3QgdTggKmZpcm13YXJlOwogCXNpemVfdCBzaXplOwogCiAJbGJzX2RlYl9lbnRlcihMQlNfREVCX1NESU8pOwpAQCAtNTA4LDcgKzUwOCw3IEBACiAJdW5zaWduZWQgbG9uZyB0aW1lb3V0OwogCXU4ICpjaHVua19idWZmZXI7CiAJdTMyIGNodW5rX3NpemU7Ci0JdTggKmZpcm13YXJlOworCWNvbnN0IHU4ICpmaXJtd2FyZTsKIAlzaXplX3Qgc2l6ZSwgcmVxX3NpemU7CiAKIAlsYnNfZGViX2VudGVyKExCU19ERUJfU0RJTyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl91c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3VzYi5jCmluZGV4IDM2Mjg4YjIuLjRkY2Q0MDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3VzYi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3VzYi5jCkBAIC0yOTMsNyArMjkzLDcgQEAKIHN0YXRpYyBpbnQgaWZfdXNiX3NlbmRfZndfcGt0KHN0cnVjdCBpZl91c2JfY2FyZCAqY2FyZHApCiB7CiAJc3RydWN0IGZ3ZGF0YSAqZndkYXRhID0gY2FyZHAtPmVwX291dF9idWY7Ci0JdWludDhfdCAqZmlybXdhcmUgPSBjYXJkcC0+ZnctPmRhdGE7CisJY29uc3QgdWludDhfdCAqZmlybXdhcmUgPSBjYXJkcC0+ZnctPmRhdGE7CiAKIAkvKiBJZiB3ZSBnb3QgYSBDUkMgZmFpbHVyZSBvbiB0aGUgbGFzdCBibG9jaywgYmFjawogCSAgIHVwIGFuZCByZXRyeSBpdCAqLwpAQCAtNzQ2LDcgKzc0Niw3IEBACiAgKiAgICAgICAgIGxlbiAgICAgICAgICAgICAgIGltYWdlIGxlbmd0aAogICogIEByZXR1cm4gICAgIDAgb3IgLTEKICAqLwotc3RhdGljIGludCBjaGVja19md2ZpbGVfZm9ybWF0KHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IHRvdGxlbikKK3N0YXRpYyBpbnQgY2hlY2tfZndmaWxlX2Zvcm1hdChjb25zdCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCB0b3RsZW4pCiB7CiAJdWludDMyX3QgYmluY21kLCBleGl0OwogCXVpbnQzMl90IGJsa3NpemUsIG9mZnNldCwgbGVuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvc2Nhbi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvc2Nhbi5jCmluZGV4IGQ0NDhjOTcwLi4zODdkNDg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9zY2FuLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvc2Nhbi5jCkBAIC01NjcsMTEgKzU2NywxMSBAQAogCXBvcyArPSA4OwogCiAJLyogYmVhY29uIGludGVydmFsIGlzIDIgYnl0ZXMgbG9uZyAqLwotCWJzcy0+YmVhY29ucGVyaW9kID0gbGUxNl90b19jcHVwKCh2b2lkICopIHBvcyk7CisJYnNzLT5iZWFjb25wZXJpb2QgPSBnZXRfdW5hbGlnbmVkX2xlMTYocG9zKTsKIAlwb3MgKz0gMjsKIAogCS8qIGNhcGFiaWxpdHkgaW5mb3JtYXRpb24gaXMgMiBieXRlcyBsb25nICovCi0JYnNzLT5jYXBhYmlsaXR5ID0gbGUxNl90b19jcHVwKCh2b2lkICopIHBvcyk7CisJYnNzLT5jYXBhYmlsaXR5ID0gZ2V0X3VuYWxpZ25lZF9sZTE2KHBvcyk7CiAJbGJzX2RlYl9zY2FuKCJwcm9jZXNzX2JzczogY2FwYWJpbGl0aWVzIDB4JTA0eFxuIiwgYnNzLT5jYXBhYmlsaXR5KTsKIAlwb3MgKz0gMjsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcDU0L3A1NHVzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcDU0L3A1NHVzYi5jCmluZGV4IDE2MTBhNzMuLjgxNWMwOTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3A1NC9wNTR1c2IuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9wNTQvcDU0dXNiLmMKQEAgLTM3Niw3ICszNzYsOCBAQAogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZndfZW50cnkgPSBOVUxMOwogCWludCBlcnIsIGFsZW47CiAJdTggY2FycnkgPSAwOwotCXU4ICpidWYsICp0bXAsICpkYXRhOworCXU4ICpidWYsICp0bXA7CisJY29uc3QgdTggKmRhdGE7CiAJdW5zaWduZWQgaW50IGxlZnQsIHJlbWFpbnMsIGJsb2NrX3NpemU7CiAJc3RydWN0IHgyX2hlYWRlciAqaGRyOwogCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKQEAgLTUyMyw3ICs1MjQsNyBAQAogCXZvaWQgKmJ1ZjsKIAlfX2xlMzIgcmVnOwogCXVuc2lnbmVkIGludCByZW1haW5zLCBvZmZzZXQ7Ci0JdTggKmRhdGE7CisJY29uc3QgdTggKmRhdGE7CiAKIAlidWYgPSBrbWFsbG9jKDUxMiwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFidWYpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI0MDBwY2kuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI0MDBwY2kuYwppbmRleCA1NjBiOWM3Li5iMzZlZDFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNDAwcGNpLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjQwMHBjaS5jCkBAIC03MzEsNiArNzMxLDE3IEBACiAJCQkgICAocnQyeDAwZGV2LT5yeC0+ZGF0YV9zaXplIC8gMTI4KSk7CiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgQ1NSOSwgcmVnKTsKIAorCXJ0MngwMHBjaV9yZWdpc3Rlcl9yZWFkKHJ0MngwMGRldiwgQ1NSMTQsICZyZWcpOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UU0ZfQ09VTlQsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UU0ZfU1lOQywgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RCQ04sIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQ0ZQLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVEFUSU1XLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfQkVBQ09OX0dFTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X0NGUF9DT1VOVF9QUkVMT0FELCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVEJDTV9QUkVMT0FELCAwKTsKKwlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBDU1IxNCwgcmVnKTsKKwogCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIENOVDMsIDB4M2YwODAwMDApOwogCiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBBUkNTUjAsICZyZWcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjUwMHBjaS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjUwMHBjaS5jCmluZGV4IGE1ZWQ1NGIuLmY3NzMxZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI1MDBwY2kuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwcGNpLmMKQEAgLTgyNCw2ICs4MjQsMTcgQEAKIAlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTFfQ1dfU0VMRUNULCAwKTsKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBDU1IxMSwgcmVnKTsKIAorCXJ0MngwMHBjaV9yZWdpc3Rlcl9yZWFkKHJ0MngwMGRldiwgQ1NSMTQsICZyZWcpOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UU0ZfQ09VTlQsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UU0ZfU1lOQywgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RCQ04sIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQ0ZQLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVEFUSU1XLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfQkVBQ09OX0dFTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X0NGUF9DT1VOVF9QUkVMT0FELCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVEJDTV9QUkVMT0FELCAwKTsKKwlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBDU1IxNCwgcmVnKTsKKwogCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIENOVDMsIDApOwogCiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBUWENTUjgsICZyZWcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjUwMHVzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjUwMHVzYi5jCmluZGV4IDYxZTU5YzEuLmQ5MDUxMmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI1MDB1c2IuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwdXNiLmMKQEAgLTgwMSw2ICs4MDEsMTMgQEAKIAlydDJ4MDBfc2V0X2ZpZWxkMTYoJnJlZywgVFhSWF9DU1I4X0JCUF9JRDFfVkFMSUQsIDApOwogCXJ0MjUwMHVzYl9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIFRYUlhfQ1NSOCwgcmVnKTsKIAorCXJ0MjUwMHVzYl9yZWdpc3Rlcl9yZWFkKHJ0MngwMGRldiwgVFhSWF9DU1IxOSwgJnJlZyk7CisJcnQyeDAwX3NldF9maWVsZDE2KCZyZWcsIFRYUlhfQ1NSMTlfVFNGX0NPVU5ULCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMTYoJnJlZywgVFhSWF9DU1IxOV9UU0ZfU1lOQywgMCk7CisJcnQyeDAwX3NldF9maWVsZDE2KCZyZWcsIFRYUlhfQ1NSMTlfVEJDTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDE2KCZyZWcsIFRYUlhfQ1NSMTlfQkVBQ09OX0dFTiwgMCk7CisJcnQyNTAwdXNiX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1IxOSwgcmVnKTsKKwogCXJ0MjUwMHVzYl9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIFRYUlhfQ1NSMjEsIDB4ZTc4Zik7CiAJcnQyNTAwdXNiX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgTUFDX0NTUjksIDB4ZmYxZCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDAuaCBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDAuaAppbmRleCBiNGJmMWUwLi5hNzRlMWE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwLmgKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMC5oCkBAIC01MTEsOCArNTExLDggQEAKIAkgKi8KIAlpbnQgKCpwcm9iZV9odykgKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYpOwogCWNoYXIgKigqZ2V0X2Zpcm13YXJlX25hbWUpIChzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2KTsKLQl1MTYgKCpnZXRfZmlybXdhcmVfY3JjKSAodm9pZCAqZGF0YSwgY29uc3Qgc2l6ZV90IGxlbik7Ci0JaW50ICgqbG9hZF9maXJtd2FyZSkgKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIHZvaWQgKmRhdGEsCisJdTE2ICgqZ2V0X2Zpcm13YXJlX2NyYykgKGNvbnN0IHZvaWQgKmRhdGEsIGNvbnN0IHNpemVfdCBsZW4pOworCWludCAoKmxvYWRfZmlybXdhcmUpIChzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2LCBjb25zdCB2b2lkICpkYXRhLAogCQkJICAgICAgY29uc3Qgc2l6ZV90IGxlbik7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMHBjaS5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMHBjaS5oCmluZGV4IDlkMWNkYjkuLmI0MTk2N2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDBwY2kuaAorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwcGNpLmgKQEAgLTgyLDcgKzgyLDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZAogcnQyeDAwcGNpX3JlZ2lzdGVyX211bHRpd3JpdGUoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldiwKIAkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAotCQkJICAgICAgdm9pZCAqdmFsdWUsIGNvbnN0IHUxNiBsZW5ndGgpCisJCQkgICAgICBjb25zdCB2b2lkICp2YWx1ZSwgY29uc3QgdTE2IGxlbmd0aCkKIHsKIAltZW1jcHlfdG9pbyhydDJ4MDBkZXYtPmNzci5iYXNlICsgb2Zmc2V0LCB2YWx1ZSwgbGVuZ3RoKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDYxcGNpLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQ2MXBjaS5jCmluZGV4IDE0YmM3YjIuLjU4MGY5MGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDYxcGNpLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NjFwY2kuYwpAQCAtOTE1LDcgKzkxNSw3IEBACiAJcmV0dXJuIGZ3X25hbWU7CiB9CiAKLXN0YXRpYyB1MTYgcnQ2MXBjaV9nZXRfZmlybXdhcmVfY3JjKHZvaWQgKmRhdGEsIGNvbnN0IHNpemVfdCBsZW4pCitzdGF0aWMgdTE2IHJ0NjFwY2lfZ2V0X2Zpcm13YXJlX2NyYyhjb25zdCB2b2lkICpkYXRhLCBjb25zdCBzaXplX3QgbGVuKQogewogCXUxNiBjcmM7CiAKQEAgLTkzMiw3ICs5MzIsNyBAQAogCXJldHVybiBjcmM7CiB9CiAKLXN0YXRpYyBpbnQgcnQ2MXBjaV9sb2FkX2Zpcm13YXJlKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIHZvaWQgKmRhdGEsCitzdGF0aWMgaW50IHJ0NjFwY2lfbG9hZF9maXJtd2FyZShzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2LCBjb25zdCB2b2lkICpkYXRhLAogCQkJCSBjb25zdCBzaXplX3QgbGVuKQogewogCWludCBpOwpAQCAtMTIwMSw2ICsxMjAxLDE1IEBACiAJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOF9BQ0tfQ1RTXzU0TUJTLCA0Mik7CiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1I4LCByZWcpOwogCisJcnQyeDAwcGNpX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBUWFJYX0NTUjksICZyZWcpOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfQkVBQ09OX0lOVEVSVkFMLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgVFhSWF9DU1I5X1RTRl9USUNLSU5HLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgVFhSWF9DU1I5X1RTRl9TWU5DLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgVFhSWF9DU1I5X1RCVFRfRU5BQkxFLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgVFhSWF9DU1I5X0JFQUNPTl9HRU4sIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVElNRVNUQU1QX0NPTVBFTlNBVEUsIDApOworCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIFRYUlhfQ1NSOSwgcmVnKTsKKwogCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIFRYUlhfQ1NSMTUsIDB4MDAwMDAwMGYpOwogCiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgTUFDX0NTUjYsIDB4MDAwMDBmZmYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NzN1c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDczdXNiLmMKaW5kZXggODNjYzAxNC4uNmE2MmQ2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NzN1c2IuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQ3M3VzYi5jCkBAIC04NTYsNyArODU2LDcgQEAKIAlyZXR1cm4gRklSTVdBUkVfUlQyNTcxOwogfQogCi1zdGF0aWMgdTE2IHJ0NzN1c2JfZ2V0X2Zpcm13YXJlX2NyYyh2b2lkICpkYXRhLCBjb25zdCBzaXplX3QgbGVuKQorc3RhdGljIHUxNiBydDczdXNiX2dldF9maXJtd2FyZV9jcmMoY29uc3Qgdm9pZCAqZGF0YSwgY29uc3Qgc2l6ZV90IGxlbikKIHsKIAl1MTYgY3JjOwogCkBAIC04NzMsMTMgKzg3MywxMyBAQAogCXJldHVybiBjcmM7CiB9CiAKLXN0YXRpYyBpbnQgcnQ3M3VzYl9sb2FkX2Zpcm13YXJlKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIHZvaWQgKmRhdGEsCitzdGF0aWMgaW50IHJ0NzN1c2JfbG9hZF9maXJtd2FyZShzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2LCBjb25zdCB2b2lkICpkYXRhLAogCQkJCSBjb25zdCBzaXplX3QgbGVuKQogewogCXVuc2lnbmVkIGludCBpOwogCWludCBzdGF0dXM7CiAJdTMyIHJlZzsKLQljaGFyICpwdHIgPSBkYXRhOworCWNvbnN0IGNoYXIgKnB0ciA9IGRhdGE7CiAJY2hhciAqY2FjaGU7CiAJaW50IGJ1ZmxlbjsKIAlpbnQgdGltZW91dDsKQEAgLTEwMDYsNiArMTAwNiwxNSBAQAogCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjhfQUNLX0NUU181NE1CUywgNDIpOwogCXJ0NzN1c2JfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBUWFJYX0NTUjgsIHJlZyk7CiAKKwlydDczdXNiX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBUWFJYX0NTUjksICZyZWcpOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfQkVBQ09OX0lOVEVSVkFMLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgVFhSWF9DU1I5X1RTRl9USUNLSU5HLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgVFhSWF9DU1I5X1RTRl9TWU5DLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgVFhSWF9DU1I5X1RCVFRfRU5BQkxFLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgVFhSWF9DU1I5X0JFQUNPTl9HRU4sIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVElNRVNUQU1QX0NPTVBFTlNBVEUsIDApOworCXJ0NzN1c2JfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBUWFJYX0NTUjksIHJlZyk7CisKIAlydDczdXNiX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1IxNSwgMHgwMDAwMDAwZik7CiAKIAlydDczdXNiX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBNQUNfQ1NSNiwgJnJlZyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy96ZDEyMDEuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIwMS5jCmluZGV4IGQ1YzBjNjYuLjc4YmFhMGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIwMS5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIwMS5jCkBAIC00OSw3ICs0OSw3IEBACiBzdGF0aWMgaW50IHpkMTIwMV9md191cGxvYWQoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFwZncpCiB7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmd19lbnRyeTsKLQljaGFyICpkYXRhOworCWNvbnN0IGNoYXIgKmRhdGE7CiAJdW5zaWduZWQgbG9uZyBsZW47CiAJaW50IGVycjsKIAl1bnNpZ25lZCBjaGFyIHJldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIxMXJ3L3pkX21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfbWFjLmMKaW5kZXggNDE4NjA2YS4uNjk0ZTk1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfbWFjLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfbWFjLmMKQEAgLTc2NSw2ICs3NjUsNyBAQAogewogCXN0cnVjdCB6ZF9tYWMgKm1hYyA9IHpkX2h3X21hYyhodyk7CiAJbWFjLT50eXBlID0gSUVFRTgwMjExX0lGX1RZUEVfSU5WQUxJRDsKKwl6ZF9zZXRfYmVhY29uX2ludGVydmFsKCZtYWMtPmNoaXAsIDApOwogCXpkX3dyaXRlX21hY19hZGRyKCZtYWMtPmNoaXAsIE5VTEwpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy96ZDEyMTFydy96ZF91c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIxMXJ3L3pkX3VzYi5jCmluZGV4IDg5NDFmNWUuLjZjZGFkOTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIxMXJ3L3pkX3VzYi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIxMXJ3L3pkX3VzYi5jCkBAIC02NCw2ICs2NCw3IEBACiAJeyBVU0JfREVWSUNFKDB4MDc5YiwgMHgwMDYyKSwgLmRyaXZlcl9pbmZvID0gREVWSUNFX1pEMTIxMUIgfSwKIAl7IFVTQl9ERVZJQ0UoMHgxNTgyLCAweDYwMDMpLCAuZHJpdmVyX2luZm8gPSBERVZJQ0VfWkQxMjExQiB9LAogCXsgVVNCX0RFVklDRSgweDA1MGQsIDB4NzA1YyksIC5kcml2ZXJfaW5mbyA9IERFVklDRV9aRDEyMTFCIH0sCisJeyBVU0JfREVWSUNFKDB4MDgzYSwgMHhlNTA2KSwgLmRyaXZlcl9pbmZvID0gREVWSUNFX1pEMTIxMUIgfSwKIAl7IFVTQl9ERVZJQ0UoMHgwODNhLCAweDQ1MDUpLCAuZHJpdmVyX2luZm8gPSBERVZJQ0VfWkQxMjExQiB9LAogCXsgVVNCX0RFVklDRSgweDA0NzEsIDB4MTIzNiksIC5kcml2ZXJfaW5mbyA9IERFVklDRV9aRDEyMTFCIH0sCiAJeyBVU0JfREVWSUNFKDB4MTNiMSwgMHgwMDI0KSwgLmRyaXZlcl9pbmZvID0gREVWSUNFX1pEMTIxMUIgfSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jIGIvZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMKaW5kZXggZDI2ZjY5Yi4uZWY2NzFkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMKKysrIGIvZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMKQEAgLTEzMjQsNyArMTMyNCw3IEBACiAJCWdvdG8gZmFpbDsKIAl9CiAKLQl0eHMgPSAoc3RydWN0IHhlbl9uZXRpZl90eF9zcmluZyAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwl0eHMgPSAoc3RydWN0IHhlbl9uZXRpZl90eF9zcmluZyAqKWdldF96ZXJvZWRfcGFnZShHRlBfTk9JTyB8IF9fR0ZQX0hJR0gpOwogCWlmICghdHhzKSB7CiAJCWVyciA9IC1FTk9NRU07CiAJCXhlbmJ1c19kZXZfZmF0YWwoZGV2LCBlcnIsICJhbGxvY2F0aW5nIHR4IHJpbmcgcGFnZSIpOwpAQCAtMTM0MCw3ICsxMzQwLDcgQEAKIAl9CiAKIAlpbmZvLT50eF9yaW5nX3JlZiA9IGVycjsKLQlyeHMgPSAoc3RydWN0IHhlbl9uZXRpZl9yeF9zcmluZyAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwlyeHMgPSAoc3RydWN0IHhlbl9uZXRpZl9yeF9zcmluZyAqKWdldF96ZXJvZWRfcGFnZShHRlBfTk9JTyB8IF9fR0ZQX0hJR0gpOwogCWlmICghcnhzKSB7CiAJCWVyciA9IC1FTk9NRU07CiAJCXhlbmJ1c19kZXZfZmF0YWwoZGV2LCBlcnIsICJhbGxvY2F0aW5nIHJ4IHJpbmcgcGFnZSIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wYXJpc2MvZWlzYV9lZXByb20uYyBiL2RyaXZlcnMvcGFyaXNjL2Vpc2FfZWVwcm9tLmMKaW5kZXggODZlOWM4NC4uNWFjMjA3OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wYXJpc2MvZWlzYV9lZXByb20uYworKysgYi9kcml2ZXJzL3BhcmlzYy9laXNhX2VlcHJvbS5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KQEAgLTgzLDYgKzg0LDggQEAKIAogc3RhdGljIGludCBlaXNhX2VlcHJvbV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CisKIAlpZiAoZmlsZS0+Zl9tb2RlICYgMikKIAkJcmV0dXJuIC1FSU5WQUw7CiAgICAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2ludGVsLWlvbW11LmMgYi9kcml2ZXJzL3BjaS9pbnRlbC1pb21tdS5jCmluZGV4IDY2YzBmZDIuLmJiMDY0MjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2ludGVsLWlvbW11LmMKKysrIGIvZHJpdmVycy9wY2kvaW50ZWwtaW9tbXUuYwpAQCAtMTYzNywxMiArMTYzNyw0MyBAQAogfQogCiAjaWZkZWYgQ09ORklHX0RNQVJfR0ZYX1dBCi1leHRlcm4gaW50IGFyY2hfZ2V0X3JhbV9yYW5nZShpbnQgc2xvdCwgdTY0ICphZGRyLCB1NjQgKnNpemUpOworc3RydWN0IGlvbW11X3ByZXBhcmVfZGF0YSB7CisJc3RydWN0IHBjaV9kZXYgKnBkZXY7CisJaW50IHJldDsKK307CisKK3N0YXRpYyBpbnQgX19pbml0IGlvbW11X3ByZXBhcmVfd29ya19mbih1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgZW5kX3Bmbiwgdm9pZCAqZGF0YXgpCit7CisJc3RydWN0IGlvbW11X3ByZXBhcmVfZGF0YSAqZGF0YTsKKworCWRhdGEgPSAoc3RydWN0IGlvbW11X3ByZXBhcmVfZGF0YSAqKWRhdGF4OworCisJZGF0YS0+cmV0ID0gaW9tbXVfcHJlcGFyZV9pZGVudGl0eV9tYXAoZGF0YS0+cGRldiwKKwkJCQlzdGFydF9wZm48PFBBR0VfU0hJRlQsIGVuZF9wZm48PFBBR0VfU0hJRlQpOworCXJldHVybiBkYXRhLT5yZXQ7CisKK30KKworc3RhdGljIGludCBfX2luaXQgaW9tbXVfcHJlcGFyZV93aXRoX2FjdGl2ZV9yZWdpb25zKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQoreworCWludCBuaWQ7CisJc3RydWN0IGlvbW11X3ByZXBhcmVfZGF0YSBkYXRhOworCisJZGF0YS5wZGV2ID0gcGRldjsKKwlkYXRhLnJldCA9IDA7CisKKwlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKKwkJd29ya193aXRoX2FjdGl2ZV9yZWdpb25zKG5pZCwgaW9tbXVfcHJlcGFyZV93b3JrX2ZuLCAmZGF0YSk7CisJCWlmIChkYXRhLnJldCkKKwkJCXJldHVybiBkYXRhLnJldDsKKwl9CisJcmV0dXJuIGRhdGEucmV0OworfQorCiBzdGF0aWMgdm9pZCBfX2luaXQgaW9tbXVfcHJlcGFyZV9nZnhfbWFwcGluZyh2b2lkKQogewogCXN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gTlVMTDsKLQl1NjQgYmFzZSwgc2l6ZTsKLQlpbnQgc2xvdDsKIAlpbnQgcmV0OwogCiAJZm9yX2VhY2hfcGNpX2RldihwZGV2KSB7CkBAIC0xNjUxLDE3ICsxNjgyLDkgQEAKIAkJCWNvbnRpbnVlOwogCQlwcmludGsoS0VSTl9JTkZPICJJT01NVTogZ2Z4IGRldmljZSAlcyAxLTEgbWFwcGluZ1xuIiwKIAkJCXBjaV9uYW1lKHBkZXYpKTsKLQkJc2xvdCA9IGFyY2hfZ2V0X3JhbV9yYW5nZSgwLCAmYmFzZSwgJnNpemUpOwotCQl3aGlsZSAoc2xvdCA+PSAwKSB7Ci0JCQlyZXQgPSBpb21tdV9wcmVwYXJlX2lkZW50aXR5X21hcChwZGV2LAotCQkJCQliYXNlLCBiYXNlICsgc2l6ZSk7Ci0JCQlpZiAocmV0KQotCQkJCWdvdG8gZXJyb3I7Ci0JCQlzbG90ID0gYXJjaF9nZXRfcmFtX3JhbmdlKHNsb3QsICZiYXNlLCAmc2l6ZSk7Ci0JCX0KLQkJY29udGludWU7Ci1lcnJvcjoKLQkJcHJpbnRrKEtFUk5fRVJSICJJT01NVTogbWFwcGluZyByZXNlcnZlZCByZWdpb24gZmFpbGVkXG4iKTsKKwkJcmV0ID0gaW9tbXVfcHJlcGFyZV93aXRoX2FjdGl2ZV9yZWdpb25zKHBkZXYpOworCQlpZiAocmV0KQorCQkJcHJpbnRrKEtFUk5fRVJSICJJT01NVTogbWFwcGluZyByZXNlcnZlZCByZWdpb24gZmFpbGVkXG4iKTsKIAl9CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL0tjb25maWcgYi9kcml2ZXJzL3BjbWNpYS9LY29uZmlnCmluZGV4IDFiMGViNWEuLmU0NTQwMmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL0tjb25maWcKKysrIGIvZHJpdmVycy9wY21jaWEvS2NvbmZpZwpAQCAtMjYzLDYgKzI2MywxMyBAQAogCSAgU2F5IFkgaGVyZSB0byBzdXBwb3J0IHRoZSBDb21wYWN0Rmxhc2ggY29udHJvbGxlciBvbiBPTUFQLgogCSAgTm90ZSB0aGF0IHRoaXMgZG9lc24ndCBzdXBwb3J0ICJUcnVlIElERSIgbW9kZS4KIAorY29uZmlnIEJGSU5fQ0ZQQ01DSUEKKwl0cmlzdGF0ZSAiQmxhY2tmaW4gQ29tcGFjdEZsYXNoIFBDTUNJQSBEcml2ZXIiCisJZGVwZW5kcyBvbiBQQ01DSUEgJiYgQkxBQ0tGSU4KKwloZWxwCisJICBTYXkgWSBoZXJlIHRvIHN1cHBvcnQgdGhlIENvbXBhY3RGbGFzaCBQQ01DSUEgZHJpdmVyIGZvciBCbGFja2Zpbi4KKworCiBjb25maWcgQVQ5MV9DRgogCXRyaXN0YXRlICJBVDkxIENvbXBhY3RGbGFzaCBDb250cm9sbGVyIgogCWRlcGVuZHMgb24gUENNQ0lBICYmIEFSQ0hfQVQ5MVJNOTIwMApkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvTWFrZWZpbGUgYi9kcml2ZXJzL3BjbWNpYS9NYWtlZmlsZQppbmRleCA2ZjY0NzhiLi44NWM2Y2M5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3BjbWNpYS9NYWtlZmlsZQpAQCAtMzYsNiArMzYsNyBAQAogb2JqLSQoQ09ORklHX1BDTUNJQV9WUkM0MTcxKQkJCSs9IHZyYzQxNzFfY2FyZC5vCiBvYmotJChDT05GSUdfUENNQ0lBX1ZSQzQxNzMpCQkJKz0gdnJjNDE3M19jYXJkdS5vCiBvYmotJChDT05GSUdfT01BUF9DRikJCQkJKz0gb21hcF9jZi5vCitvYmotJChDT05GSUdfQkZJTl9DRlBDTUNJQSkJCQkrPSBiZmluX2NmX3BjbWNpYS5vCiBvYmotJChDT05GSUdfQVQ5MV9DRikJCQkJKz0gYXQ5MV9jZi5vCiBvYmotJChDT05GSUdfRUxFQ1RSQV9DRikJCQkrPSBlbGVjdHJhX2NmLm8KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvYXUxMDAwX2dlbmVyaWMuaCBiL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF9nZW5lcmljLmgKaW5kZXggMWU0NjdiYi4uYTUzZWY1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvYXUxMDAwX2dlbmVyaWMuaAorKysgYi9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfZ2VuZXJpYy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzdHBsLmg+CiAjaW5jbHVkZSAiY3NfaW50ZXJuYWwuaCIKIApAQCAtMzQsOSArMzMsOSBAQAogI2RlZmluZSBBVTEwMDBfUENNQ0lBX0lPX1NQRUVEICAgICAgICgyNTUpCiAjZGVmaW5lIEFVMTAwMF9QQ01DSUFfTUVNX1NQRUVEICAgICAgKDMwMCkKIAotI2RlZmluZSBBVTFYX1NPQ0swX0lPICAgICAgICAweEYwMDAwMDAwMAotI2RlZmluZSBBVTFYX1NPQ0swX1BIWVNfQVRUUiAweEY0MDAwMDAwMAotI2RlZmluZSBBVTFYX1NPQ0swX1BIWVNfTUVNICAweEY4MDAwMDAwMAorI2RlZmluZSBBVTFYX1NPQ0swX0lPICAgICAgICAweEYwMDAwMDAwMFVMTAorI2RlZmluZSBBVTFYX1NPQ0swX1BIWVNfQVRUUiAweEY0MDAwMDAwMFVMTAorI2RlZmluZSBBVTFYX1NPQ0swX1BIWVNfTUVNICAweEY4MDAwMDAwMFVMTAogLyogcHNldWRvIDMyIGJpdCBwaHlzIGFkZHJlc3Nlcywgd2hpY2ggZ2V0IGZpeGVkIHVwIHRvIHRoZQogICogcmVhbCAzNiBiaXQgYWRkcmVzcyBpbiBmaXh1cF9iaWdwaHlzX2FkZHIoKSAqLwogI2RlZmluZSBBVTFYX1NPQ0swX1BTRVVET19QSFlTX0FUVFIgMHhGNDAwMDAwMApAQCAtNDUsMTYgKzQ0LDIwIEBACiAvKiBwY21jaWEgc29ja2V0IDEgbmVlZHMgZXh0ZXJuYWwgZ2x1ZSBsb2dpYyBzbyB0aGUgbWVtb3J5IG1hcAogICogZGlmZmVycyBmcm9tIGJvYXJkIHRvIGJvYXJkLgogICovCi0jaWYgZGVmaW5lZChDT05GSUdfTUlQU19QQjEwMDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfUEIxMTAwKSB8fCBkZWZpbmVkKENPTkZJR19NSVBTX1BCMTUwMCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19QQjE1NTApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfUEIxMjAwKQotI2RlZmluZSBBVTFYX1NPQ0sxX0lPICAgICAgICAweEYwODAwMDAwMAotI2RlZmluZSBBVTFYX1NPQ0sxX1BIWVNfQVRUUiAweEY0ODAwMDAwMAotI2RlZmluZSBBVTFYX1NPQ0sxX1BIWVNfTUVNICAweEY4ODAwMDAwMAorI2lmIGRlZmluZWQoQ09ORklHX01JUFNfUEIxMDAwKSB8fCBkZWZpbmVkKENPTkZJR19NSVBTX1BCMTEwMCkgfHwgXAorICAgIGRlZmluZWQoQ09ORklHX01JUFNfUEIxNTAwKSB8fCBkZWZpbmVkKENPTkZJR19NSVBTX1BCMTU1MCkgfHwgXAorICAgIGRlZmluZWQoQ09ORklHX01JUFNfUEIxMjAwKQorI2RlZmluZSBBVTFYX1NPQ0sxX0lPICAgICAgICAweEYwODAwMDAwMFVMTAorI2RlZmluZSBBVTFYX1NPQ0sxX1BIWVNfQVRUUiAweEY0ODAwMDAwMFVMTAorI2RlZmluZSBBVTFYX1NPQ0sxX1BIWVNfTUVNICAweEY4ODAwMDAwMFVMTAogI2RlZmluZSBBVTFYX1NPQ0sxX1BTRVVET19QSFlTX0FUVFIgMHhGNDgwMDAwMAogI2RlZmluZSBBVTFYX1NPQ0sxX1BTRVVET19QSFlTX01FTSAgMHhGODgwMDAwMAotI2VsaWYgZGVmaW5lZChDT05GSUdfTUlQU19EQjEwMDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfREIxMTAwKSB8fCBkZWZpbmVkKENPTkZJR19NSVBTX0RCMTUwMCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19EQjE1NTApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfREIxMjAwKQotI2RlZmluZSBBVTFYX1NPQ0sxX0lPICAgICAgICAweEYwNDAwMDAwMAotI2RlZmluZSBBVTFYX1NPQ0sxX1BIWVNfQVRUUiAweEY0NDAwMDAwMAotI2RlZmluZSBBVTFYX1NPQ0sxX1BIWVNfTUVNICAweEY4NDAwMDAwMAorI2VsaWYgZGVmaW5lZChDT05GSUdfTUlQU19EQjEwMDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfREIxMTAwKSB8fCBcCisgICAgICBkZWZpbmVkKENPTkZJR19NSVBTX0RCMTUwMCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19EQjE1NTApIHx8IFwKKyAgICAgIGRlZmluZWQoQ09ORklHX01JUFNfREIxMjAwKQorI2RlZmluZSBBVTFYX1NPQ0sxX0lPICAgICAgICAweEYwNDAwMDAwMFVMTAorI2RlZmluZSBBVTFYX1NPQ0sxX1BIWVNfQVRUUiAweEY0NDAwMDAwMFVMTAorI2RlZmluZSBBVTFYX1NPQ0sxX1BIWVNfTUVNICAweEY4NDAwMDAwMFVMTAogI2RlZmluZSBBVTFYX1NPQ0sxX1BTRVVET19QSFlTX0FUVFIgMHhGNDQwMDAwMAogI2RlZmluZSBBVTFYX1NPQ0sxX1BTRVVET19QSFlTX01FTSAgMHhGODQwMDAwMAogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfcGIxeDAwLmMgYi9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfcGIxeDAwLmMKaW5kZXggMTU3ZTQxNC4uYWExY2Q0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvYXUxMDAwX3BiMXgwMC5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF9wYjF4MDAuYwpAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgPHBjbWNpYS9idXNfb3BzLmg+CiAjaW5jbHVkZSAiY3NfaW50ZXJuYWwuaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF94eHMxNTAwLmMgYi9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfeHhzMTUwMC5jCmluZGV4IGM3OGVkNTMuLjhhOWIxOGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF94eHMxNTAwLmMKKysrIGIvZHJpdmVycy9wY21jaWEvYXUxMDAwX3h4czE1MDAuYwpAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgPHBjbWNpYS9idXNfb3BzLmg+CiAjaW5jbHVkZSAiY3NfaW50ZXJuYWwuaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL2JmaW5fY2ZfcGNtY2lhLmMgYi9kcml2ZXJzL3BjbWNpYS9iZmluX2NmX3BjbWNpYS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNzMzODgKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3BjbWNpYS9iZmluX2NmX3BjbWNpYS5jCkBAIC0wLDAgKzEsMzM5IEBACisvKgorICogZmlsZTogZHJpdmVycy9wY21jaWEvYmZpbl9jZi5jCisgKgorICogYmFzZWQgb246IGRyaXZlcnMvcGNtY2lhL29tYXBfY2YuYworICogb21hcF9jZi5jIC0tIE9NQVAgMTZ4eCBDb21wYWN0Rmxhc2ggY29udHJvbGxlciBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgRGF2aWQgQnJvd25lbGwKKyAqIENvcHlyaWdodCAoYykgMjAwNi0yMDA4IE1pY2hhZWwgSGVubmVyaWNoIEFuYWxvZyBEZXZpY2VzIEluYy4KKyAqCisgKiBidWdzOiAgICAgICAgIGVudGVyIGJ1Z3MgYXQgaHR0cDovL2JsYWNrZmluLnVjbGludXgub3JnLworICoKKyAqIHRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIGdudSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIGZyZWUgc29mdHdhcmUgZm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogdGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgd2l0aG91dCBhbnkgd2FycmFudHk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogbWVyY2hhbnRhYmlsaXR5IG9yIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlLiAgc2VlIHRoZQorICogZ251IGdlbmVyYWwgcHVibGljIGxpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBnbnUgZ2VuZXJhbCBwdWJsaWMgbGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBjb3B5aW5nLgorICogaWYgbm90LCB3cml0ZSB0byB0aGUgZnJlZSBzb2Z0d2FyZSBmb3VuZGF0aW9uLAorICogNTkgdGVtcGxlIHBsYWNlIC0gc3VpdGUgMzMwLCBib3N0b24sIG1hIDAyMTExLTEzMDcsIHVzYS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisKKyNpbmNsdWRlIDxwY21jaWEvc3MuaD4KKyNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKworI2RlZmluZQlTWl8xSwkweDAwMDAwNDAwCisjZGVmaW5lCVNaXzhLCTB4MDAwMDIwMDAKKyNkZWZpbmUJU1pfMksJKDIgKiBTWl8xSykKKworI2RlZmluZQlQT0xMX0lOVEVSVkFMCSgyICogSFopCisKKyNkZWZpbmUJQ0ZfQVRBU0VMX0VOQSAJMHgyMDMxMTgwMgkvKiBJbnZlcnRzIFJFU0VUICovCisjZGVmaW5lCUNGX0FUQVNFTF9ESVMgCTB4MjAzMTE4MDAKKworI2RlZmluZSBiZmluX2NmX3ByZXNlbnQocGZ4KSAoZ3Bpb19nZXRfdmFsdWUocGZ4KSkKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBjb25zdCBjaGFyIGRyaXZlcl9uYW1lW10gPSAiYmZpbl9jZl9wY21jaWEiOworCitzdHJ1Y3QgYmZpbl9jZl9zb2NrZXQgeworCXN0cnVjdCBwY21jaWFfc29ja2V0IHNvY2tldDsKKworCXN0cnVjdCB0aW1lcl9saXN0IHRpbWVyOworCXVuc2lnbmVkIHByZXNlbnQ6MTsKKwl1bnNpZ25lZCBhY3RpdmU6MTsKKworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7CisJdW5zaWduZWQgbG9uZyBwaHlzX2NmX2lvOworCXVuc2lnbmVkIGxvbmcgcGh5c19jZl9hdHRyOworCXVfaW50IGlycTsKKwl1X3Nob3J0IGNkX3BmeDsKK307CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIGludCBiZmluX2NmX3Jlc2V0KHZvaWQpCit7CisJb3V0dygwLCBDRl9BVEFTRUxfRU5BKTsKKwltZGVsYXkoMjAwKTsKKwlvdXR3KDAsIENGX0FUQVNFTF9ESVMpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYmZpbl9jZl9zc19pbml0KHN0cnVjdCBwY21jaWFfc29ja2V0ICpzKQoreworCXJldHVybiAwOworfQorCisvKiB0aGUgdGltZXIgaXMgcHJpbWFyaWx5IHRvIGtpY2sgdGhpcyBzb2NrZXQncyBwY2NhcmRkICovCitzdGF0aWMgdm9pZCBiZmluX2NmX3RpbWVyKHVuc2lnbmVkIGxvbmcgX2NmKQoreworCXN0cnVjdCBiZmluX2NmX3NvY2tldCAqY2YgPSAodm9pZCAqKV9jZjsKKwl1bnNpZ25lZCBzaG9ydCBwcmVzZW50ID0gYmZpbl9jZl9wcmVzZW50KGNmLT5jZF9wZngpOworCisJaWYgKHByZXNlbnQgIT0gY2YtPnByZXNlbnQpIHsKKwkJY2YtPnByZXNlbnQgPSBwcmVzZW50OworCQlkZXZfZGJnKCZjZi0+cGRldi0+ZGV2LCAiOiBjYXJkICVzXG4iLAorCQkJIHByZXNlbnQgPyAicHJlc2VudCIgOiAiZ29uZSIpOworCQlwY21jaWFfcGFyc2VfZXZlbnRzKCZjZi0+c29ja2V0LCBTU19ERVRFQ1QpOworCX0KKworCWlmIChjZi0+YWN0aXZlKQorCQltb2RfdGltZXIoJmNmLT50aW1lciwgamlmZmllcyArIFBPTExfSU5URVJWQUwpOworfQorCitzdGF0aWMgaW50IGJmaW5fY2ZfZ2V0X3N0YXR1cyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdV9pbnQgKnNwKQoreworCXN0cnVjdCBiZmluX2NmX3NvY2tldCAqY2Y7CisKKwlpZiAoIXNwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNmID0gY29udGFpbmVyX29mKHMsIHN0cnVjdCBiZmluX2NmX3NvY2tldCwgc29ja2V0KTsKKworCWlmIChiZmluX2NmX3ByZXNlbnQoY2YtPmNkX3BmeCkpIHsKKwkJKnNwID0gU1NfUkVBRFkgfCBTU19ERVRFQ1QgfCBTU19QT1dFUk9OIHwgU1NfM1ZDQVJEOworCQlzLT5pcnEuQXNzaWduZWRJUlEgPSAwOworCQlzLT5wY2lfaXJxID0gY2YtPmlycTsKKworCX0gZWxzZQorCQkqc3AgPSAwOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CitiZmluX2NmX3NldF9zb2NrZXQoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXRfc3RhdGVfdCAqcykKK3sKKworCXN0cnVjdCBiZmluX2NmX3NvY2tldCAqY2Y7CisJY2YgPSBjb250YWluZXJfb2Yoc29jaywgc3RydWN0IGJmaW5fY2Zfc29ja2V0LCBzb2NrZXQpOworCisJc3dpdGNoIChzLT5WY2MpIHsKKwljYXNlIDA6CisJY2FzZSAzMzoKKwkJYnJlYWs7CisJY2FzZSA1MDoKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKHMtPmZsYWdzICYgU1NfUkVTRVQpIHsKKwkJZGlzYWJsZV9pcnEoY2YtPmlycSk7CisJCWJmaW5fY2ZfcmVzZXQoKTsKKwkJZW5hYmxlX2lycShjZi0+aXJxKTsKKwl9CisKKwlkZXZfZGJnKCZjZi0+cGRldi0+ZGV2LCAiOiBWY2MgJWQsIGlvX2lycSAlZCwgZmxhZ3MgJTA0eCBjc2MgJTA0eFxuIiwKKwkJIHMtPlZjYywgcy0+aW9faXJxLCBzLT5mbGFncywgcy0+Y3NjX21hc2spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYmZpbl9jZl9zc19zdXNwZW5kKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzKQoreworCXJldHVybiBiZmluX2NmX3NldF9zb2NrZXQocywgJmRlYWRfc29ja2V0KTsKK30KKworLyogcmVnaW9ucyBhcmUgMksgZWFjaDogIG1lbSwgYXR0cmliLCBpbyAoYW5kIHJlc2VydmVkLWZvci1pZGUpICovCisKK3N0YXRpYyBpbnQgYmZpbl9jZl9zZXRfaW9fbWFwKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCBzdHJ1Y3QgcGNjYXJkX2lvX21hcCAqaW8pCit7CisJc3RydWN0IGJmaW5fY2Zfc29ja2V0ICpjZjsKKworCWNmID0gY29udGFpbmVyX29mKHMsIHN0cnVjdCBiZmluX2NmX3NvY2tldCwgc29ja2V0KTsKKwlpby0+ZmxhZ3MgJj0gTUFQX0FDVElWRSB8IE1BUF9BVFRSSUIgfCBNQVBfMTZCSVQ7CisJaW8tPnN0YXJ0ID0gY2YtPnBoeXNfY2ZfaW87CisJaW8tPnN0b3AgPSBpby0+c3RhcnQgKyBTWl8ySyAtIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2JmaW5fY2Zfc2V0X21lbV9tYXAoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHN0cnVjdCBwY2NhcmRfbWVtX21hcCAqbWFwKQoreworCXN0cnVjdCBiZmluX2NmX3NvY2tldCAqY2Y7CisKKwlpZiAobWFwLT5jYXJkX3N0YXJ0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwljZiA9IGNvbnRhaW5lcl9vZihzLCBzdHJ1Y3QgYmZpbl9jZl9zb2NrZXQsIHNvY2tldCk7CisJbWFwLT5zdGF0aWNfc3RhcnQgPSBjZi0+cGh5c19jZl9pbzsKKwltYXAtPmZsYWdzICY9IE1BUF9BQ1RJVkUgfCBNQVBfQVRUUklCIHwgTUFQXzE2QklUOworCWlmIChtYXAtPmZsYWdzICYgTUFQX0FUVFJJQikKKwkJbWFwLT5zdGF0aWNfc3RhcnQgPSBjZi0+cGh5c19jZl9hdHRyOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGNjYXJkX29wZXJhdGlvbnMgYmZpbl9jZl9vcHMgPSB7CisJLmluaXQgPSBiZmluX2NmX3NzX2luaXQsCisJLnN1c3BlbmQgPSBiZmluX2NmX3NzX3N1c3BlbmQsCisJLmdldF9zdGF0dXMgPSBiZmluX2NmX2dldF9zdGF0dXMsCisJLnNldF9zb2NrZXQgPSBiZmluX2NmX3NldF9zb2NrZXQsCisJLnNldF9pb19tYXAgPSBiZmluX2NmX3NldF9pb19tYXAsCisJLnNldF9tZW1fbWFwID0gYmZpbl9jZl9zZXRfbWVtX21hcCwKK307CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBiZmluX2NmX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGJmaW5fY2Zfc29ja2V0ICpjZjsKKwlzdHJ1Y3QgcmVzb3VyY2UgKmlvX21lbSwgKmF0dHJfbWVtOworCWludCBpcnE7CisJdW5zaWduZWQgc2hvcnQgY2RfcGZ4OworCWludCBzdGF0dXMgPSAwOworCisJZGV2X2luZm8oJnBkZXYtPmRldiwgIkJsYWNrZmluIENvbXBhY3RGbGFzaC9QQ01DSUEgU29ja2V0IERyaXZlclxuIik7CisKKwlpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOworCWlmICghaXJxKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNkX3BmeCA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMSk7CS8qQ2FyZCBEZXRlY3QgR1BJTyBQSU4gKi8KKworCWlmIChncGlvX3JlcXVlc3QoY2RfcGZ4LCAicGNtY2lhOiBDRCIpKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwKKwkJICAgICAgICJGYWlsZWQgcm8gcmVxdWVzdCBDYXJkIERldGVjdCBHUElPXyVkXG4iLAorCQkgICAgICAgY2RfcGZ4KTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CisJZ3Bpb19kaXJlY3Rpb25faW5wdXQoY2RfcGZ4KTsKKworCWNmID0ga3phbGxvYyhzaXplb2YgKmNmLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNmKSB7CisJCWdwaW9fZnJlZShjZF9wZngpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwljZi0+Y2RfcGZ4ID0gY2RfcGZ4OworCisJc2V0dXBfdGltZXIoJmNmLT50aW1lciwgYmZpbl9jZl90aW1lciwgKHVuc2lnbmVkIGxvbmcpY2YpOworCisJY2YtPnBkZXYgPSBwZGV2OworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGNmKTsKKworCWNmLT5pcnEgPSBpcnE7CisJY2YtPnNvY2tldC5wY2lfaXJxID0gaXJxOworCisJc2V0X2lycV90eXBlKGlycSwgSVJRRl9UUklHR0VSX0xPVyk7CisKKwlpb19tZW0gPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWF0dHJfbWVtID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAxKTsKKworCWlmICghaW9fbWVtIHx8ICFhdHRyX21lbSkKKwkJZ290byBmYWlsMDsKKworCWNmLT5waHlzX2NmX2lvID0gaW9fbWVtLT5zdGFydDsKKwljZi0+cGh5c19jZl9hdHRyID0gYXR0cl9tZW0tPnN0YXJ0OworCisJLyogcGNtY2lhIGxheWVyIG9ubHkgcmVtYXBzICJyZWFsIiBtZW1vcnkgKi8KKwljZi0+c29ja2V0LmlvX29mZnNldCA9ICh1bnNpZ25lZCBsb25nKQorCSAgICBpb3JlbWFwKGNmLT5waHlzX2NmX2lvLCBTWl8ySyk7CisKKwlpZiAoIWNmLT5zb2NrZXQuaW9fb2Zmc2V0KQorCQlnb3RvIGZhaWwwOworCisJZGV2X2VycigmcGRldi0+ZGV2LCAiOiBvbiBpcnEgJWRcbiIsIGlycSk7CisKKwlkZXZfZGJnKCZwZGV2LT5kZXYsICI6ICVzXG4iLAorCQkgYmZpbl9jZl9wcmVzZW50KGNmLT5jZF9wZngpID8gInByZXNlbnQiIDogIihub3QgcHJlc2VudCkiKTsKKworCWNmLT5zb2NrZXQub3duZXIgPSBUSElTX01PRFVMRTsKKwljZi0+c29ja2V0LmRldi5wYXJlbnQgPSAmcGRldi0+ZGV2OworCWNmLT5zb2NrZXQub3BzID0gJmJmaW5fY2Zfb3BzOworCWNmLT5zb2NrZXQucmVzb3VyY2Vfb3BzID0gJnBjY2FyZF9zdGF0aWNfb3BzOworCWNmLT5zb2NrZXQuZmVhdHVyZXMgPSBTU19DQVBfUENDQVJEIHwgU1NfQ0FQX1NUQVRJQ19NQVAKKwkgICAgfCBTU19DQVBfTUVNX0FMSUdOOworCWNmLT5zb2NrZXQubWFwX3NpemUgPSBTWl8ySzsKKworCXN0YXR1cyA9IHBjbWNpYV9yZWdpc3Rlcl9zb2NrZXQoJmNmLT5zb2NrZXQpOworCWlmIChzdGF0dXMgPCAwKQorCQlnb3RvIGZhaWwyOworCisJY2YtPmFjdGl2ZSA9IDE7CisJbW9kX3RpbWVyKCZjZi0+dGltZXIsIGppZmZpZXMgKyBQT0xMX0lOVEVSVkFMKTsKKwlyZXR1cm4gMDsKKworZmFpbDI6CisJaW91bm1hcCgodm9pZCBfX2lvbWVtICopY2YtPnNvY2tldC5pb19vZmZzZXQpOworCXJlbGVhc2VfbWVtX3JlZ2lvbihjZi0+cGh5c19jZl9pbywgU1pfOEspOworCitmYWlsMDoKKwlncGlvX2ZyZWUoY2YtPmNkX3BmeCk7CisJa2ZyZWUoY2YpOworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOworCisJcmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIGludCBfX2RldmV4aXQgYmZpbl9jZl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgYmZpbl9jZl9zb2NrZXQgKmNmID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlncGlvX2ZyZWUoY2YtPmNkX3BmeCk7CisJY2YtPmFjdGl2ZSA9IDA7CisJcGNtY2lhX3VucmVnaXN0ZXJfc29ja2V0KCZjZi0+c29ja2V0KTsKKwlkZWxfdGltZXJfc3luYygmY2YtPnRpbWVyKTsKKwlpb3VubWFwKCh2b2lkIF9faW9tZW0gKiljZi0+c29ja2V0LmlvX29mZnNldCk7CisJcmVsZWFzZV9tZW1fcmVnaW9uKGNmLT5waHlzX2NmX2lvLCBTWl84Syk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgTlVMTCk7CisJa2ZyZWUoY2YpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJmaW5fY2Zfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3QgbWVzZykKK3sKKwlyZXR1cm4gcGNtY2lhX3NvY2tldF9kZXZfc3VzcGVuZCgmcGRldi0+ZGV2LCBtZXNnKTsKK30KKworc3RhdGljIGludCBiZmluX2NmX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBwY21jaWFfc29ja2V0X2Rldl9yZXN1bWUoJnBkZXYtPmRldik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGJmaW5fY2ZfZHJpdmVyID0geworCS5kcml2ZXIgPSB7CisJCSAgIC5uYW1lID0gKGNoYXIgKilkcml2ZXJfbmFtZSwKKwkJICAgLm93bmVyID0gVEhJU19NT0RVTEUsCisJCSAgIH0sCisJLnByb2JlID0gYmZpbl9jZl9wcm9iZSwKKwkucmVtb3ZlID0gX19kZXZleGl0X3AoYmZpbl9jZl9yZW1vdmUpLAorCS5zdXNwZW5kID0gYmZpbl9jZl9zdXNwZW5kLAorCS5yZXN1bWUgPSBiZmluX2NmX3Jlc3VtZSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IGJmaW5fY2ZfaW5pdCh2b2lkKQoreworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoJmJmaW5fY2ZfZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGJmaW5fY2ZfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZiZmluX2NmX2RyaXZlcik7Cit9CisKK21vZHVsZV9pbml0KGJmaW5fY2ZfaW5pdCk7Cittb2R1bGVfZXhpdChiZmluX2NmX2V4aXQpOworCitNT0RVTEVfQVVUSE9SKCJNaWNoYWVsIEhlbm5lcmljaCA8aGVubmVyaWNoQGJsYWNrZmluLnVjbGludXgub3JnPiIpCitNT0RVTEVfREVTQ1JJUFRJT04oIkJGSU4gQ0YvUENNQ0lBIERyaXZlciIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvY2FyZGJ1cy5jIGIvZHJpdmVycy9wY21jaWEvY2FyZGJ1cy5jCmluZGV4IGZiMmYzOGQuLjkxMWNhMGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2NhcmRidXMuYworKysgYi9kcml2ZXJzL3BjbWNpYS9jYXJkYnVzLmMKQEAgLTMwLDExICszMCw5IEBACiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCi0jZGVmaW5lIElOX0NBUkRfU0VSVklDRVMKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9jaXN0cGwuYyBiL2RyaXZlcnMvcGNtY2lhL2Npc3RwbC5jCmluZGV4IDM2Mzc5NTMuLjlmY2ZmMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2Npc3RwbC5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL2Npc3RwbC5jCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgImNzX2ludGVybmFsLmgiCkBAIC0xNDM5LDEwICsxNDM4LDExIEBACiAgICAgCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIAotaW50IHBjY2FyZF92YWxpZGF0ZV9jaXMoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHVuc2lnbmVkIGludCBmdW5jdGlvbiwgY2lzaW5mb190ICppbmZvKQoraW50IHBjY2FyZF92YWxpZGF0ZV9jaXMoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHVuc2lnbmVkIGludCBmdW5jdGlvbiwgdW5zaWduZWQgaW50ICppbmZvKQogewogICAgIHR1cGxlX3QgKnR1cGxlOwogICAgIGNpc3BhcnNlX3QgKnA7CisgICAgdW5zaWduZWQgaW50IGNvdW50ID0gMDsKICAgICBpbnQgcmV0LCByZXNlcnZlZCwgZGV2X29rID0gMCwgaWRlbnRfb2sgPSAwOwogCiAgICAgaWYgKCFzKQpAQCAtMTQ1Nyw3ICsxNDU3LDcgQEAKIAlyZXR1cm4gQ1NfT1VUX09GX1JFU09VUkNFOwogICAgIH0KIAotICAgIGluZm8tPkNoYWlucyA9IHJlc2VydmVkID0gMDsKKyAgICBjb3VudCA9IHJlc2VydmVkID0gMDsKICAgICB0dXBsZS0+RGVzaXJlZFR1cGxlID0gUkVUVVJOX0ZJUlNUX1RVUExFOwogICAgIHR1cGxlLT5BdHRyaWJ1dGVzID0gVFVQTEVfUkVUVVJOX0NPTU1PTjsKICAgICByZXQgPSBwY2NhcmRfZ2V0X2ZpcnN0X3R1cGxlKHMsIGZ1bmN0aW9uLCB0dXBsZSk7CkBAIC0xNDgyLDcgKzE0ODIsNyBAQAogICAgIGlmICghZGV2X29rICYmICFpZGVudF9vaykKIAlnb3RvIGRvbmU7CiAKLSAgICBmb3IgKGluZm8tPkNoYWlucyA9IDE7IGluZm8tPkNoYWlucyA8IE1BWF9UVVBMRVM7IGluZm8tPkNoYWlucysrKSB7CisgICAgZm9yIChjb3VudCA9IDE7IGNvdW50IDwgTUFYX1RVUExFUzsgY291bnQrKykgewogCXJldCA9IHBjY2FyZF9nZXRfbmV4dF90dXBsZShzLCBmdW5jdGlvbiwgdHVwbGUpOwogCWlmIChyZXQgIT0gQ1NfU1VDQ0VTUykgYnJlYWs7CiAJaWYgKCgodHVwbGUtPlR1cGxlQ29kZSA+IDB4MjMpICYmICh0dXBsZS0+VHVwbGVDb2RlIDwgMHg0MCkpIHx8CkBAIC0xNDkwLDExICsxNDkwLDEzIEBACiAJICAgICgodHVwbGUtPlR1cGxlQ29kZSA+IDB4OTApICYmICh0dXBsZS0+VHVwbGVDb2RlIDwgMHhmZikpKQogCSAgICByZXNlcnZlZCsrOwogICAgIH0KLSAgICBpZiAoKGluZm8tPkNoYWlucyA9PSBNQVhfVFVQTEVTKSB8fCAocmVzZXJ2ZWQgPiA1KSB8fAotCSgoIWRldl9vayB8fCAhaWRlbnRfb2spICYmIChpbmZvLT5DaGFpbnMgPiAxMCkpKQotCWluZm8tPkNoYWlucyA9IDA7CisgICAgaWYgKChjb3VudCkgfHwgKHJlc2VydmVkID4gNSkgfHwKKwkoKCFkZXZfb2sgfHwgIWlkZW50X29rKSAmJiAoY291bnQgPiAxMCkpKQorCWNvdW50ID0gMDsKIAogZG9uZToKKyAgICBpZiAoaW5mbykKKwkgICAgKmluZm8gPSBjb3VudDsKICAgICBrZnJlZSh0dXBsZSk7CiAgICAga2ZyZWUocCk7CiAgICAgcmV0dXJuIENTX1NVQ0NFU1M7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9jcy5jIGIvZHJpdmVycy9wY21jaWEvY3MuYwppbmRleCAyOTI3NmJkLi5kMTIwNzM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9jcy5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL2NzLmMKQEAgLTMyLDExICszMiw5IEBACiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KIAotI2RlZmluZSBJTl9DQVJEX1NFUlZJQ0VTCiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzdHBsLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3JlZy5oPgogI2luY2x1ZGUgPHBjbWNpYS9kcy5oPgpAQCAtMjM4LDcgKzIzNiw2IEBACiAKIAlpbml0X2NvbXBsZXRpb24oJnNvY2tldC0+c29ja2V0X3JlbGVhc2VkKTsKIAlpbml0X2NvbXBsZXRpb24oJnNvY2tldC0+dGhyZWFkX2RvbmUpOwotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnNvY2tldC0+dGhyZWFkX3dhaXQpOwogCW11dGV4X2luaXQoJnNvY2tldC0+c2t0X211dGV4KTsKIAlzcGluX2xvY2tfaW5pdCgmc29ja2V0LT50aHJlYWRfbG9jayk7CiAKQEAgLTI3OCwxMCArMjc1LDkgQEAKIAogCWNzX2RiZyhzb2NrZXQsIDAsICJwY21jaWFfdW5yZWdpc3Rlcl9zb2NrZXQoMHglcClcbiIsIHNvY2tldC0+b3BzKTsKIAotCWlmIChzb2NrZXQtPnRocmVhZCkgewotCQl3YWtlX3VwKCZzb2NrZXQtPnRocmVhZF93YWl0KTsKKwlpZiAoc29ja2V0LT50aHJlYWQpCiAJCWt0aHJlYWRfc3RvcChzb2NrZXQtPnRocmVhZCk7Ci0JfQorCiAJcmVsZWFzZV9jaXNfbWVtKHNvY2tldCk7CiAKIAkvKiByZW1vdmUgZnJvbSBvdXIgb3duIGxpc3QgKi8KQEAgLTYzNSw3ICs2MzEsNiBAQAogc3RhdGljIGludCBwY2NhcmRkKHZvaWQgKl9fc2t0KQogewogCXN0cnVjdCBwY21jaWFfc29ja2V0ICpza3QgPSBfX3NrdDsKLQlERUNMQVJFX1dBSVRRVUVVRSh3YWl0LCBjdXJyZW50KTsKIAlpbnQgcmV0OwogCiAJc2t0LT50aHJlYWQgPSBjdXJyZW50OwpAQCAtNjU2LDcgKzY1MSw2IEBACiAJaWYgKHJldCkKIAkJZGV2X3dhcm4oJnNrdC0+ZGV2LCAiZXJyICVkIGFkZGluZyBzb2NrZXQgYXR0cmlidXRlc1xuIiwgcmV0KTsKIAotCWFkZF93YWl0X3F1ZXVlKCZza3QtPnRocmVhZF93YWl0LCAmd2FpdCk7CiAJY29tcGxldGUoJnNrdC0+dGhyZWFkX2RvbmUpOwogCiAJc2V0X2ZyZWV6YWJsZSgpOwpAQCAtNjk0LDggKzY4OCw2IEBACiAJLyogbWFrZSBzdXJlIHdlIGFyZSBydW5uaW5nIGJlZm9yZSB3ZSBleGl0ICovCiAJc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19SVU5OSU5HKTsKIAotCXJlbW92ZV93YWl0X3F1ZXVlKCZza3QtPnRocmVhZF93YWl0LCAmd2FpdCk7Ci0KIAkvKiByZW1vdmUgZnJvbSB0aGUgZGV2aWNlIGNvcmUgKi8KIAlwY2NhcmRfc3lzZnNfcmVtb3ZlX3NvY2tldCgmc2t0LT5kZXYpOwogCWRldmljZV91bnJlZ2lzdGVyKCZza3QtPmRldik7CkBAIC03MTYsNyArNzA4LDcgQEAKIAkJcy0+dGhyZWFkX2V2ZW50cyB8PSBldmVudHM7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnMtPnRocmVhZF9sb2NrLCBmbGFncyk7CiAKLQkJd2FrZV91cCgmcy0+dGhyZWFkX3dhaXQpOworCQl3YWtlX3VwX3Byb2Nlc3Mocy0+dGhyZWFkKTsKIAl9CiB9IC8qIHBjbWNpYV9wYXJzZV9ldmVudHMgKi8KIEVYUE9SVF9TWU1CT0wocGNtY2lhX3BhcnNlX2V2ZW50cyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9jc19pbnRlcm5hbC5oIGIvZHJpdmVycy9wY21jaWEvY3NfaW50ZXJuYWwuaAppbmRleCBlN2Q1ZDE0Li42M2RjMWEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9jc19pbnRlcm5hbC5oCisrKyBiL2RyaXZlcnMvcGNtY2lhL2NzX2ludGVybmFsLmgKQEAgLTI2LDE4ICsyNiw2IEBACiAjZGVmaW5lIENMSUVOVF9XSU5fUkVRKGkpCSgweDE8PChpKSkKICNkZWZpbmUgQ0xJRU5UX0NBUkRCVVMJCTB4ODAwMAogCi0jZGVmaW5lIFJFR0lPTl9NQUdJQwkweEUzQzkKLXR5cGVkZWYgc3RydWN0IHJlZ2lvbl90IHsKLSAgICB1X3Nob3J0CQlyZWdpb25fbWFnaWM7Ci0gICAgdV9zaG9ydAkJc3RhdGU7Ci0gICAgZGV2X2luZm9fdAkJZGV2X2luZm87Ci0gICAgc3RydWN0IHBjbWNpYV9kZXZpY2UJKm10ZDsKLSAgICB1X2ludAkJTWVkaWFJRDsKLSAgICByZWdpb25faW5mb190CWluZm87Ci19IHJlZ2lvbl90OwotCi0jZGVmaW5lIFJFR0lPTl9TVEFMRQkweDAxCi0KIC8qIEVhY2ggY2FyZCBmdW5jdGlvbiBnZXRzIG9uZSBvZiB0aGVzZSBndXlzICovCiB0eXBlZGVmIHN0cnVjdCBjb25maWdfdCB7CiAJc3RydWN0IGtyZWYJcmVmOwpAQCAtMTMwLDcgKzExOCw2IEBACiBpbnQgcGNtY2lhX2dldF93aW5kb3coc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHdpbmRvd19oYW5kbGVfdCAqaGFuZGxlLCBpbnQgaWR4LCB3aW5fcmVxX3QgKnJlcSk7CiBpbnQgcGNjYXJkX2dldF9jb25maWd1cmF0aW9uX2luZm8oc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwgY29uZmlnX2luZm9fdCAqY29uZmlnKTsKIGludCBwY2NhcmRfcmVzZXRfY2FyZChzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqc2t0KTsKLWludCBwY2NhcmRfZ2V0X3N0YXR1cyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBjc19zdGF0dXNfdCAqc3RhdHVzKTsKIAogCiBzdHJ1Y3QgcGNtY2lhX2NhbGxiYWNrewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvZHMuYyBiL2RyaXZlcnMvcGNtY2lhL2RzLmMKaW5kZXggZTQwNzc1NC4uNDE3NGQ5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvZHMuYworKysgYi9kcml2ZXJzL3BjbWNpYS9kcy5jCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSA8bGludXgva3JlZi5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAKLSNkZWZpbmUgSU5fQ0FSRF9TRVJWSUNFUwogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KQEAgLTc0MSw5ICs3NDAsOCBAQAogCiBzdGF0aWMgaW50IHBjbWNpYV9jYXJkX2FkZChzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcykKIHsKLQljaXNpbmZvX3QgY2lzaW5mbzsKIAljaXN0cGxfbG9uZ2xpbmtfbWZjX3QgbWZjOwotCXVuc2lnbmVkIGludCBub19mdW5jcywgaTsKKwl1bnNpZ25lZCBpbnQgbm9fZnVuY3MsIGksIG5vX2NoYWluczsKIAlpbnQgcmV0ID0gMDsKIAogCWlmICghKHMtPnJlc291cmNlX3NldHVwX2RvbmUpKSB7CkBAIC03NTcsOCArNzU1LDggQEAKIAkJcmV0dXJuIC1FQUdBSU47IC8qIHRyeSBhZ2FpbiwgYnV0IGxhdGVyLi4uICovCiAJfQogCi0JcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgJmNpc2luZm8pOwotCWlmIChyZXQgfHwgIWNpc2luZm8uQ2hhaW5zKSB7CisJcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgJm5vX2NoYWlucyk7CisJaWYgKHJldCB8fCAhbm9fY2hhaW5zKSB7CiAJCWRzX2RiZygwLCAiaW52YWxpZCBDSVMgb3IgaW52YWxpZCByZXNvdXJjZXNcbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CkBAIC04NTIsNyArODUwLDcgQEAKIHsKIAlzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcyA9IGRldi0+c29ja2V0OwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7Ci0JY2hhciBwYXRoWzIwXTsKKwljaGFyIHBhdGhbRklSTVdBUkVfTkFNRV9NQVhdOwogCWludCByZXQgPSAtRU5PTUVNOwogCWludCBub19mdW5jczsKIAlpbnQgb2xkX2Z1bmNzOwpAQCAtODY0LDcgKzg2Miw3IEBACiAKIAlkc19kYmcoMSwgInRyeWluZyB0byBsb2FkIENJUyBmaWxlICVzXG4iLCBmaWxlbmFtZSk7CiAKLQlpZiAoc3RybGVuKGZpbGVuYW1lKSA+IDE0KSB7CisJaWYgKHN0cmxlbihmaWxlbmFtZSkgPiAoRklSTVdBUkVfTkFNRV9NQVggLSAxKSkgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJwY21jaWE6IENJUyBmaWxlbmFtZSBpcyB0b28gbG9uZyBbJXNdXG4iLAogCQkJZmlsZW5hbWUpOwogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL2hkNjQ0NjVfc3MuYyBiL2RyaXZlcnMvcGNtY2lhL2hkNjQ0NjVfc3MuYwppbmRleCBmMmU4MTBmLi5mYjJiYzFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9oZDY0NDY1X3NzLmMKKysrIGIvZHJpdmVycy9wY21jaWEvaGQ2NDQ2NV9zcy5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAqICRJZDogaGQ2NDQ2NV9zcy5jLHYgMS43IDIwMDMvMDcvMDYgMTQ6NDI6NTAgbGV0aGFsIEV4cCAkCi0gKgogICogRGV2aWNlIGRyaXZlciBmb3IgdGhlIFBDTUNJQSBjb250cm9sbGVyIG1vZHVsZSBvZiB0aGUKICAqIEhpdGFjaGkgSEQ2NDQ2NSBoYW5kaGVsZCBjb21wYW5pb24gY2hpcC4KICAqCkBAIC00OCw3ICs0Niw2IEBACiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgPHBjbWNpYS9kcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSAiY3NfaW50ZXJuYWwuaCIKIAogI2RlZmluZSBNT0ROQU1FICJoZDY0NDY1X3NzIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvaTgyMDkyLmMgYi9kcml2ZXJzL3BjbWNpYS9pODIwOTIuYwppbmRleCBlMTM2MTg2Li40NjU2MWZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9pODIwOTIuYworKysgYi9kcml2ZXJzL3BjbWNpYS9pODIwOTIuYwpAQCAtNSw4ICs1LDYgQEAKICAqCiAgKiBBdXRob3I6IEFyamFuIFZhbiBEZSBWZW4gPGFyamFudkByZWRoYXQuY29tPgogICogTG9vc2x5IGJhc2VkIG9uIGk4MjM2NS5jIGZyb20gdGhlIHBjbWNpYS1jcyBwYWNrYWdlCi0gKgotICogJElkOiBpODIwOTJhYS5jLHYgMS4yIDIwMDEvMTAvMjMgMTQ6NDM6MzQgYXJqYW52IEV4cCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvaTgyMDkyYWEuaCBiL2RyaXZlcnMvcGNtY2lhL2k4MjA5MmFhLmgKaW5kZXggYjBkNDUzMy4uODgzNmQzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvaTgyMDkyYWEuaAorKysgYi9kcml2ZXJzL3BjbWNpYS9pODIwOTJhYS5oCkBAIC0zLDggKzMsNiBAQAogCiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAKLS8qICRJZDogaTgyMDkyYWEuaCx2IDEuMS4xLjEgMjAwMS8wOS8xOSAxNDo1MzoxNSBkd213MiBFeHAgJCAqLwotCiAvKiBEZWJ1Z2luZyBkZWZpbmVzICovCiAjaWZkZWYgTk9UUkFDRQogI2RlZmluZSBlbnRlcih4KSAgIHByaW50aygiRW50ZXI6ICVzLCAlcyBsaW5lICVpXG4iLHgsX19GSUxFX18sX19MSU5FX18pCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9pODIzNjUuYyBiL2RyaXZlcnMvcGNtY2lhL2k4MjM2NS5jCmluZGV4IDMyYTJhYjEuLjY4ZjZiMjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2k4MjM2NS5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL2k4MjM2NS5jCkBAIC0xMjYzLDcgKzEyNjMsNyBAQAogCiAgICAgcmV0ID0gZHJpdmVyX3JlZ2lzdGVyKCZpODIzNjVfZHJpdmVyKTsKICAgICBpZiAocmV0KQotCXJldHVybiByZXQ7CisJZ290byBlcnJfb3V0OwogCiAgICAgaTgyMzY1X2RldmljZSA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygiaTgyMzY1IiwgMCk7CiAgICAgaWYgKGk4MjM2NV9kZXZpY2UpIHsKQEAgLTEyNzMsMTAgKzEyNzMsOCBAQAogICAgIH0gZWxzZQogCSAgICByZXQgPSAtRU5PTUVNOwogCi0gICAgaWYgKHJldCkgewotCWRyaXZlcl91bnJlZ2lzdGVyKCZpODIzNjVfZHJpdmVyKTsKLQlyZXR1cm4gcmV0OwotICAgIH0KKyAgICBpZiAocmV0KQorCWdvdG8gZXJyX2RyaXZlcl91bnJlZ2lzdGVyOwogCiAgICAgcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgSVNBIFBDSUMgcHJvYmU6ICIpOwogICAgIHNvY2tldHMgPSAwOwpAQCAtMTI4NSwxNiArMTI4MywxNyBAQAogCiAgICAgaWYgKHNvY2tldHMgPT0gMCkgewogCXByaW50aygibm90IGZvdW5kLlxuIik7Ci0JcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoaTgyMzY1X2RldmljZSk7Ci0JcmVsZWFzZV9yZWdpb24oaTM2NV9iYXNlLCAyKTsKLQlkcml2ZXJfdW5yZWdpc3RlcigmaTgyMzY1X2RyaXZlcik7Ci0JcmV0dXJuIC1FTk9ERVY7CisJcmV0ID0gLUVOT0RFVjsKKwlnb3RvIGVycl9kZXZfdW5yZWdpc3RlcjsKICAgICB9CiAKICAgICAvKiBTZXQgdXAgaW50ZXJydXB0IGhhbmRsZXIocykgKi8KICAgICBpZiAoZ3JhYl9pcnEgIT0gMCkKLQlyZXF1ZXN0X2lycShjc19pcnEsIHBjaWNfaW50ZXJydXB0LCAwLCAiaTgyMzY1IiwgcGNpY19pbnRlcnJ1cHQpOwotICAgIAorCXJldCA9IHJlcXVlc3RfaXJxKGNzX2lycSwgcGNpY19pbnRlcnJ1cHQsIDAsICJpODIzNjUiLCBwY2ljX2ludGVycnVwdCk7CisKKyAgICBpZiAocmV0KQorCWdvdG8gZXJyX3NvY2tldF9yZWxlYXNlOworCiAgICAgLyogcmVnaXN0ZXIgc29ja2V0cyB3aXRoIHRoZSBwY21jaWEgY29yZSAqLwogICAgIGZvciAoaSA9IDA7IGkgPCBzb2NrZXRzOyBpKyspIHsKIAkgICAgc29ja2V0W2ldLnNvY2tldC5kZXYucGFyZW50ID0gJmk4MjM2NV9kZXZpY2UtPmRldjsKQEAgLTEzMjQsNyArMTMyMywyMyBAQAogICAgIH0KICAgICAKICAgICByZXR1cm4gMDsKLSAgICAKK2Vycl9zb2NrZXRfcmVsZWFzZToKKyAgICBmb3IgKGkgPSAwOyBpIDwgc29ja2V0czsgaSsrKSB7CisJLyogVHVybiBvZmYgYWxsIGludGVycnVwdCBzb3VyY2VzISAqLworCWkzNjVfc2V0KGksIEkzNjVfQ1NDSU5ULCAwKTsKKwlyZWxlYXNlX3JlZ2lvbihzb2NrZXRbaV0uaW9hZGRyLCAyKTsKKyAgICB9CitlcnJfZGV2X3VucmVnaXN0ZXI6CisgICAgcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoaTgyMzY1X2RldmljZSk7CisgICAgcmVsZWFzZV9yZWdpb24oaTM2NV9iYXNlLCAyKTsKKyNpZmRlZiBDT05GSUdfUE5QCisgICAgaWYgKGk4MjM2NV9wbnBkZXYpCisJcG5wX2Rpc2FibGVfZGV2KGk4MjM2NV9wbnBkZXYpOworI2VuZGlmCitlcnJfZHJpdmVyX3VucmVnaXN0ZXI6CisgICAgZHJpdmVyX3VucmVnaXN0ZXIoJmk4MjM2NV9kcml2ZXIpOworZXJyX291dDoKKyAgICByZXR1cm4gcmV0OwogfSAvKiBpbml0X2k4MjM2NSAqLwogCiBzdGF0aWMgdm9pZCBfX2V4aXQgZXhpdF9pODIzNjUodm9pZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL204eHhfcGNtY2lhLmMgYi9kcml2ZXJzL3BjbWNpYS9tOHh4X3BjbWNpYS5jCmluZGV4IGFjNzBkMmMuLjEzYTVmYmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL204eHhfcGNtY2lhLmMKKysrIGIvZHJpdmVycy9wY21jaWEvbTh4eF9wY21jaWEuYwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBtOHh4X3BjbWNpYS5jIC0gTGludXggUENNQ0lBIHNvY2tldCBkcml2ZXIgZm9yIHRoZSBtcGM4eHggc2VyaWVzLgogICoKLSAqIChDKSAxOTk5LTIwMDAgTWFnbnVzIERhbW0gPGRhbW1AYml0c21hcnQuY29tPgorICogKEMpIDE5OTktMjAwMCBNYWdudXMgRGFtbSA8ZGFtbUBvcGVuc291cmNlLnNlPgogICogKEMpIDIwMDEtMjAwMiBNb250YXZpc3RhIFNvZnR3YXJlLCBJbmMuCiAgKiAgICAgPG1sb2NrZUBtdmlzdGEuY29tPgogICoKQEAgLTYwLDcgKzYwLDYgQEAKICNpbmNsdWRlIDxhc20vb2ZfZGV2aWNlLmg+CiAjaW5jbHVkZSA8YXNtL29mX3BsYXRmb3JtLmg+CiAKLSNpbmNsdWRlIDxwY21jaWEvdmVyc2lvbi5oPgogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvb21hcF9jZi5jIGIvZHJpdmVycy9wY21jaWEvb21hcF9jZi5jCmluZGV4IDQ2MzE0YjQuLjU2OWI3NDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL29tYXBfY2YuYworKysgYi9kcml2ZXJzL3BjbWNpYS9vbWFwX2NmLmMKQEAgLTM4LDE5ICszOCwxOSBAQAogI2RlZmluZQlDRl9CQVNFCTB4ZmZmZTI4MDAKIAogLyogc3RhdHVzOyByZWFkIGFmdGVyIElSUSAqLwotI2RlZmluZSBDRl9TVEFUVVNfUkVHCQlfX1JFRzE2KENGX0JBU0UgKyAweDAwKQorI2RlZmluZSBDRl9TVEFUVVMJCQkoQ0ZfQkFTRSArIDB4MDApCiAjCWRlZmluZQlDRl9TVEFUVVNfQkFEX1JFQUQJKDEgPDwgMikKICMJZGVmaW5lCUNGX1NUQVRVU19CQURfV1JJVEUJKDEgPDwgMSkKICMJZGVmaW5lCUNGX1NUQVRVU19DQVJEX0RFVEVDVAkoMSA8PCAwKQogCiAvKiB3aGljaCBjaGlwc2VsZWN0IChDUzAuLkNTMykgaXMgdXNlZCBmb3IgQ0YgKGFjdGl2ZSBsb3cpICovCi0jZGVmaW5lIENGX0NGR19SRUcJCV9fUkVHMTYoQ0ZfQkFTRSArIDB4MDIpCisjZGVmaW5lIENGX0NGRwkJCQkoQ0ZfQkFTRSArIDB4MDIpCiAKIC8qIGNhcmQgcmVzZXQgKi8KLSNkZWZpbmUgQ0ZfQ09OVFJPTF9SRUcJCV9fUkVHMTYoQ0ZfQkFTRSArIDB4MDQpCisjZGVmaW5lIENGX0NPTlRST0wJCQkoQ0ZfQkFTRSArIDB4MDQpCiAjCWRlZmluZQlDRl9DT05UUk9MX1JFU0VUCSgxIDw8IDApCiAKLSNkZWZpbmUgb21hcF9jZl9wcmVzZW50KCkgKCEoQ0ZfU1RBVFVTX1JFRyAmIENGX1NUQVRVU19DQVJEX0RFVEVDVCkpCisjZGVmaW5lIG9tYXBfY2ZfcHJlc2VudCgpICghKG9tYXBfcmVhZHcoQ0ZfU1RBVFVTKSAmIENGX1NUQVRVU19DQVJEX0RFVEVDVCkpCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0xMzksMTEgKzEzOSwxMSBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQljb250cm9sID0gQ0ZfQ09OVFJPTF9SRUc7CisJY29udHJvbCA9IG9tYXBfcmVhZHcoQ0ZfQ09OVFJPTCk7CiAJaWYgKHMtPmZsYWdzICYgU1NfUkVTRVQpCi0JCUNGX0NPTlRST0xfUkVHID0gQ0ZfQ09OVFJPTF9SRVNFVDsKKwkJb21hcF93cml0ZXcoQ0ZfQ09OVFJPTF9SRVNFVCwgQ0ZfQ09OVFJPTCk7CiAJZWxzZQotCQlDRl9DT05UUk9MX1JFRyA9IDA7CisJCW9tYXBfd3JpdGV3KDAsIENGX0NPTlRST0wpOwogCiAJcHJfZGVidWcoIiVzOiBWY2MgJWQsIGlvX2lycSAlZCwgZmxhZ3MgJTA0eCBjc2MgJTA0eFxuIiwKIAkJZHJpdmVyX25hbWUsIHMtPlZjYywgcy0+aW9faXJxLCBzLT5mbGFncywgcy0+Y3NjX21hc2spOwpAQCAtMjcwLDcgKzI3MCw3IEBACiAJb21hcF9jZmdfcmVnKFYxMF8xNjEwX0NGX0lSRVEpOwogCW9tYXBfY2ZnX3JlZyhXMTBfMTYxMF9DRl9SRVNFVCk7CiAKLQlDRl9DRkdfUkVHID0gfigxIDw8IHNlZyk7CisJb21hcF93cml0ZXcofigxIDw8IHNlZyksIENGX0NGRyk7CiAKIAlwcl9pbmZvKCIlczogY3MlZCBvbiBpcnEgJWRcbiIsIGRyaXZlcl9uYW1lLCBzZWcsIGlycSk7CiAKQEAgLTI3OSwxNCArMjc5LDE1IEBACiAJICogQ0YvUENNQ0lBIHZhcmlhbnRzLi4uCiAJICovCiAJcHJfZGVidWcoIiVzOiBjcyVkLCBwcmV2aW91cyBjY3MgJTA4eCBhY3MgJTA4eFxuIiwgZHJpdmVyX25hbWUsCi0JCQlzZWcsIEVNSUZTX0NDUyhzZWcpLCBFTUlGU19BQ1Moc2VnKSk7Ci0JRU1JRlNfQ0NTKHNlZykgPSAweDAwMDRhMWIzOwkvKiBzeW5jaCBtb2RlIDQgZXRjICovCi0JRU1JRlNfQUNTKHNlZykgPSAweDAwMDAwMDAwOwkvKiBPRSBob2xkL3NldHVwICovCisJCXNlZywgb21hcF9yZWFkbChFTUlGU19DQ1Moc2VnKSksIG9tYXBfcmVhZGwoRU1JRlNfQUNTKHNlZykpKTsKKwlvbWFwX3dyaXRlbCgweDAwMDRhMWIzLCBFTUlGU19DQ1Moc2VnKSk7CS8qIHN5bmNoIG1vZGUgNCBldGMgKi8KKwlvbWFwX3dyaXRlbCgweDAwMDAwMDAwLCBFTUlGU19BQ1Moc2VnKSk7CS8qIE9FIGhvbGQvc2V0dXAgKi8KIAogCS8qIENGIHVzZXMgYXJteG9yX2NrLCB3aGljaCBpcyAiYWx3YXlzIiBhdmFpbGFibGUgKi8KIAogCXByX2RlYnVnKCIlczogc3RzICUwNHggY2ZnICUwNHggY29udHJvbCAlMDR4ICVzXG4iLCBkcml2ZXJfbmFtZSwKLQkJQ0ZfU1RBVFVTX1JFRywgQ0ZfQ0ZHX1JFRywgQ0ZfQ09OVFJPTF9SRUcsCisJCW9tYXBfcmVhZHcoQ0ZfU1RBVFVTKSwgb21hcF9yZWFkdyhDRl9DRkcpLAorCQlvbWFwX3JlYWR3KENGX0NPTlRST0wpLAogCQlvbWFwX2NmX3ByZXNlbnQoKSA/ICJwcmVzZW50IiA6ICIobm90IHByZXNlbnQpIik7CiAKIAljZi0+c29ja2V0Lm93bmVyID0gVEhJU19NT0RVTEU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9wY21jaWFfaW9jdGwuYyBiL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9pb2N0bC5jCmluZGV4IDVmMTg2YWIuLjQxOWY5N2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9pb2N0bC5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9pb2N0bC5jCkBAIC0yNywxMiArMjcsMTMgQEAKICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CiAKLSNkZWZpbmUgSU5fQ0FSRF9TRVJWSUNFUwogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KKyNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2RzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+CiAKQEAgLTEzOCw2ICsxMzksMTU0IEBACiB9CiAjZW5kaWYKIAorCisjaWZkZWYgQ09ORklHX1BDTUNJQV9QUk9CRQorCitzdGF0aWMgaW50IGFkanVzdF9pcnEoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIGFkanVzdF90ICphZGopCit7CisJaW50IGlycTsKKwl1MzIgbWFzazsKKworCWlycSA9IGFkai0+cmVzb3VyY2UuaXJxLklSUTsKKwlpZiAoKGlycSA8IDApIHx8IChpcnEgPiAxNSkpCisJCXJldHVybiBDU19CQURfSVJROworCisJaWYgKGFkai0+QWN0aW9uICE9IFJFTU9WRV9NQU5BR0VEX1JFU09VUkNFKQorCQlyZXR1cm4gMDsKKworCW1hc2sgPSAxIDw8IGlycTsKKworCWlmICghKHMtPmlycV9tYXNrICYgbWFzaykpCisJCXJldHVybiAwOworCisJcy0+aXJxX21hc2sgJj0gfm1hc2s7CisKKwlyZXR1cm4gMDsKK30KKworI2Vsc2UKKworc3RhdGljIGlubGluZSBpbnQgYWRqdXN0X2lycShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgYWRqdXN0X3QgKmFkaikgeworCXJldHVybiBDU19TVUNDRVNTOworfQorCisjZW5kaWYKKworc3RhdGljIGludCBwY21jaWFfYWRqdXN0X3Jlc291cmNlX2luZm8oYWRqdXN0X3QgKmFkaikKK3sKKwlzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqczsKKwlpbnQgcmV0ID0gQ1NfVU5TVVBQT1JURURfRlVOQ1RJT047CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWRvd25fcmVhZCgmcGNtY2lhX3NvY2tldF9saXN0X3J3c2VtKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHMsICZwY21jaWFfc29ja2V0X2xpc3QsIHNvY2tldF9saXN0KSB7CisKKwkJaWYgKGFkai0+UmVzb3VyY2UgPT0gUkVTX0lSUSkKKwkJCXJldCA9IGFkanVzdF9pcnEocywgYWRqKTsKKworCQllbHNlIGlmIChzLT5yZXNvdXJjZV9vcHMtPmFkZF9pbykgeworCQkJdW5zaWduZWQgbG9uZyBiZWdpbiwgZW5kOworCisJCQkvKiB5b3UgY2FuJ3QgdXNlIHRoZSBvbGQgaW50ZXJmYWNlIGlmIHRoZSBuZXcKKwkJCSAqIG9uZSB3YXMgdXNlZCBiZWZvcmUgKi8KKwkJCXNwaW5fbG9ja19pcnFzYXZlKCZzLT5sb2NrLCBmbGFncyk7CisJCQlpZiAoKHMtPnJlc291cmNlX3NldHVwX25ldykgJiYKKwkJCSAgICAhKHMtPnJlc291cmNlX3NldHVwX29sZCkpIHsKKwkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCBmbGFncyk7CisJCQkJY29udGludWU7CisJCQl9IGVsc2UgaWYgKCEocy0+cmVzb3VyY2Vfc2V0dXBfb2xkKSkKKwkJCQlzLT5yZXNvdXJjZV9zZXR1cF9vbGQgPSAxOworCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgZmxhZ3MpOworCisJCQlzd2l0Y2ggKGFkai0+UmVzb3VyY2UpIHsKKwkJCWNhc2UgUkVTX01FTU9SWV9SQU5HRToKKwkJCQliZWdpbiA9IGFkai0+cmVzb3VyY2UubWVtb3J5LkJhc2U7CisJCQkJZW5kID0gYWRqLT5yZXNvdXJjZS5tZW1vcnkuQmFzZSArIGFkai0+cmVzb3VyY2UubWVtb3J5LlNpemUgLSAxOworCQkJCWlmIChzLT5yZXNvdXJjZV9vcHMtPmFkZF9tZW0pCisJCQkJCXJldCA9cy0+cmVzb3VyY2Vfb3BzLT5hZGRfbWVtKHMsIGFkai0+QWN0aW9uLCBiZWdpbiwgZW5kKTsKKwkJCWNhc2UgUkVTX0lPX1JBTkdFOgorCQkJCWJlZ2luID0gYWRqLT5yZXNvdXJjZS5pby5CYXNlUG9ydDsKKwkJCQllbmQgPSBhZGotPnJlc291cmNlLmlvLkJhc2VQb3J0ICsgYWRqLT5yZXNvdXJjZS5pby5OdW1Qb3J0cyAtIDE7CisJCQkJaWYgKHMtPnJlc291cmNlX29wcy0+YWRkX2lvKQorCQkJCQlyZXQgPSBzLT5yZXNvdXJjZV9vcHMtPmFkZF9pbyhzLCBhZGotPkFjdGlvbiwgYmVnaW4sIGVuZCk7CisJCQl9CisJCQlpZiAoIXJldCkgeworCQkJCS8qIGFzIHRoZXJlJ3Mgbm8gd2F5IHdlIGtub3cgdGhpcyBpcyB0aGUKKwkJCQkgKiBsYXN0IGNhbGwgdG8gYWRqdXN0X3Jlc291cmNlX2luZm8sIHdlCisJCQkJICogYWx3YXlzIG5lZWQgdG8gYXNzdW1lIHRoaXMgaXMgdGhlIGxhdGVzdAorCQkJCSAqIG9uZS4uLiAqLworCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZzLT5sb2NrLCBmbGFncyk7CisJCQkJcy0+cmVzb3VyY2Vfc2V0dXBfZG9uZSA9IDE7CisJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgZmxhZ3MpOworCQkJfQorCQl9CisJfQorCXVwX3JlYWQoJnBjbWNpYV9zb2NrZXRfbGlzdF9yd3NlbSk7CisKKwlyZXR1cm4gKHJldCk7Cit9CisKKy8qKiBwY2NhcmRfZ2V0X3N0YXR1cworICoKKyAqIEdldCB0aGUgY3VycmVudCBzb2NrZXQgc3RhdGUgYml0cy4gIFdlIGRvbid0IHN1cHBvcnQgdGhlIGxhdGNoZWQKKyAqIFNvY2tldFN0YXRlIHlldDogSSBoYXZlbid0IHNlZW4gYW55IHBvaW50IGZvciBpdC4KKyAqLworCitzdGF0aWMgaW50IHBjY2FyZF9nZXRfc3RhdHVzKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLAorCQkJICAgICBzdHJ1Y3QgcGNtY2lhX2RldmljZSAqcF9kZXYsCisJCQkgICAgIGNzX3N0YXR1c190ICpzdGF0dXMpCit7CisJY29uZmlnX3QgKmM7CisJaW50IHZhbDsKKworCXMtPm9wcy0+Z2V0X3N0YXR1cyhzLCAmdmFsKTsKKwlzdGF0dXMtPkNhcmRTdGF0ZSA9IHN0YXR1cy0+U29ja2V0U3RhdGUgPSAwOworCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19ERVRFQ1QpID8gQ1NfRVZFTlRfQ0FSRF9ERVRFQ1QgOiAwOworCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19DQVJEQlVTKSA/IENTX0VWRU5UX0NCX0RFVEVDVCA6IDA7CisJc3RhdHVzLT5DYXJkU3RhdGUgfD0gKHZhbCAmIFNTXzNWQ0FSRCkgPyBDU19FVkVOVF8zVkNBUkQgOiAwOworCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19YVkNBUkQpID8gQ1NfRVZFTlRfWFZDQVJEIDogMDsKKwlpZiAocy0+c3RhdGUgJiBTT0NLRVRfU1VTUEVORCkKKwkJc3RhdHVzLT5DYXJkU3RhdGUgfD0gQ1NfRVZFTlRfUE1fU1VTUEVORDsKKwlpZiAoIShzLT5zdGF0ZSAmIFNPQ0tFVF9QUkVTRU5UKSkKKwkJcmV0dXJuIENTX05PX0NBUkQ7CisKKwljID0gKHBfZGV2KSA/IHBfZGV2LT5mdW5jdGlvbl9jb25maWcgOiBOVUxMOworCisJaWYgKChjICE9IE5VTEwpICYmIChjLT5zdGF0ZSAmIENPTkZJR19MT0NLRUQpICYmCisJICAgIChjLT5JbnRUeXBlICYgKElOVF9NRU1PUllfQU5EX0lPIHwgSU5UX1pPT01FRF9WSURFTykpKSB7CisJCXVfY2hhciByZWc7CisJCWlmIChjLT5DYXJkVmFsdWVzICYgUFJFU0VOVF9QSU5fUkVQTEFDRSkgeworCQkJcGNtY2lhX3JlYWRfY2lzX21lbShzLCAxLCAoYy0+Q29uZmlnQmFzZStDSVNSRUdfUFJSKT4+MSwgMSwgJnJlZyk7CisJCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQorCQkJCShyZWcgJiBQUlJfV1BfU1RBVFVTKSA/IENTX0VWRU5UX1dSSVRFX1BST1RFQ1QgOiAwOworCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KKwkJCQkocmVnICYgUFJSX1JFQURZX1NUQVRVUykgPyBDU19FVkVOVF9SRUFEWV9DSEFOR0UgOiAwOworCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KKwkJCQkocmVnICYgUFJSX0JWRDJfU1RBVFVTKSA/IENTX0VWRU5UX0JBVFRFUllfTE9XIDogMDsKKwkJCXN0YXR1cy0+Q2FyZFN0YXRlIHw9CisJCQkJKHJlZyAmIFBSUl9CVkQxX1NUQVRVUykgPyBDU19FVkVOVF9CQVRURVJZX0RFQUQgOiAwOworCQl9IGVsc2UgeworCQkJLyogTm8gUFJSPyAgVGhlbiBhc3N1bWUgd2UncmUgYWx3YXlzIHJlYWR5ICovCisJCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PSBDU19FVkVOVF9SRUFEWV9DSEFOR0U7CisJCX0KKwkJaWYgKGMtPkNhcmRWYWx1ZXMgJiBQUkVTRU5UX0VYVF9TVEFUVVMpIHsKKwkJCXBjbWNpYV9yZWFkX2Npc19tZW0ocywgMSwgKGMtPkNvbmZpZ0Jhc2UrQ0lTUkVHX0VTUik+PjEsIDEsICZyZWcpOworCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KKwkJCQkocmVnICYgRVNSX1JFUV9BVFROKSA/IENTX0VWRU5UX1JFUVVFU1RfQVRURU5USU9OIDogMDsKKwkJfQorCQlyZXR1cm4gQ1NfU1VDQ0VTUzsKKwl9CisJc3RhdHVzLT5DYXJkU3RhdGUgfD0KKwkJKHZhbCAmIFNTX1dSUFJPVCkgPyBDU19FVkVOVF9XUklURV9QUk9URUNUIDogMDsKKwlzdGF0dXMtPkNhcmRTdGF0ZSB8PQorCQkodmFsICYgU1NfQkFUREVBRCkgPyBDU19FVkVOVF9CQVRURVJZX0RFQUQgOiAwOworCXN0YXR1cy0+Q2FyZFN0YXRlIHw9CisJCSh2YWwgJiBTU19CQVRXQVJOKSA/IENTX0VWRU5UX0JBVFRFUllfTE9XIDogMDsKKwlzdGF0dXMtPkNhcmRTdGF0ZSB8PQorCQkodmFsICYgU1NfUkVBRFkpID8gQ1NfRVZFTlRfUkVBRFlfQ0hBTkdFIDogMDsKKwlyZXR1cm4gQ1NfU1VDQ0VTUzsKK30gLyogcGNjYXJkX2dldF9zdGF0dXMgKi8KKwogLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKICAgICBUaGVzZSBtYW5hZ2UgYSByaW5nIGJ1ZmZlciBvZiBldmVudHMgcGVuZGluZyBmb3Igb25lIHVzZXIgcHJvY2VzcwpAQCAtMzk3LDIwICs1NDYsMjcgQEAKICAgICBzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqczsKICAgICB1c2VyX2luZm9fdCAqdXNlcjsKICAgICBzdGF0aWMgaW50IHdhcm5pbmdfcHJpbnRlZCA9IDA7CisgICAgaW50IHJldCA9IDA7CiAKICAgICBkc19kYmcoMCwgImRzX29wZW4oc29ja2V0ICVkKVxuIiwgaSk7CiAKKyAgICBsb2NrX2tlcm5lbCgpOwogICAgIHMgPSBwY21jaWFfZ2V0X3NvY2tldF9ieV9ucihpKTsKLSAgICBpZiAoIXMpCi0JICAgIHJldHVybiAtRU5PREVWOworICAgIGlmICghcykgeworCSAgICByZXQgPSAtRU5PREVWOworCSAgICBnb3RvIG91dDsKKyAgICB9CiAgICAgcyA9IHBjbWNpYV9nZXRfc29ja2V0KHMpOwotICAgIGlmICghcykKLQkgICAgcmV0dXJuIC1FTk9ERVY7CisgICAgaWYgKCFzKSB7CisJICAgIHJldCA9IC1FTk9ERVY7CisJICAgIGdvdG8gb3V0OworICAgIH0KIAogICAgIGlmICgoZmlsZS0+Zl9mbGFncyAmIE9fQUNDTU9ERSkgIT0gT19SRE9OTFkpIHsKIAkgICAgaWYgKHMtPnBjbWNpYV9zdGF0ZS5idXN5KSB7CiAJCSAgICBwY21jaWFfcHV0X3NvY2tldChzKTsKLQkJICAgIHJldHVybiAtRUJVU1k7CisJCSAgICByZXQgPSAtRUJVU1k7CisJCSAgICBnb3RvIG91dDsKIAkgICAgfQogCWVsc2UKIAkgICAgcy0+cGNtY2lhX3N0YXRlLmJ1c3kgPSAxOwpAQCAtNDE5LDcgKzU3NSw4IEBACiAgICAgdXNlciA9IGttYWxsb2Moc2l6ZW9mKHVzZXJfaW5mb190KSwgR0ZQX0tFUk5FTCk7CiAgICAgaWYgKCF1c2VyKSB7CiAJICAgIHBjbWNpYV9wdXRfc29ja2V0KHMpOwotCSAgICByZXR1cm4gLUVOT01FTTsKKwkgICAgcmV0ID0gLUVOT01FTTsKKwkgICAgZ290byBvdXQ7CiAgICAgfQogICAgIHVzZXItPmV2ZW50X3RhaWwgPSB1c2VyLT5ldmVudF9oZWFkID0gMDsKICAgICB1c2VyLT5uZXh0ID0gcy0+dXNlcjsKQEAgLTQ0MSw3ICs1OTgsOSBAQAogCiAgICAgaWYgKHMtPnBjbWNpYV9zdGF0ZS5wcmVzZW50KQogCXF1ZXVlX2V2ZW50KHVzZXIsIENTX0VWRU5UX0NBUkRfSU5TRVJUSU9OKTsKLSAgICByZXR1cm4gMDsKK291dDoKKyAgICB1bmxvY2tfa2VybmVsKCk7CisgICAgcmV0dXJuIHJldDsKIH0gLyogZHNfb3BlbiAqLwogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KQEAgLTU0Niw4ICs3MDUsNiBAQAogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIAotZXh0ZXJuIGludCBwY21jaWFfYWRqdXN0X3Jlc291cmNlX2luZm8oYWRqdXN0X3QgKmFkaik7Ci0KIHN0YXRpYyBpbnQgZHNfaW9jdGwoc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSwKIAkJICAgIHVfaW50IGNtZCwgdV9sb25nIGFyZykKIHsKQEAgLTY0OSw3ICs4MDYsNyBAQAogCW11dGV4X2xvY2soJnMtPnNrdF9tdXRleCk7CiAJcGNtY2lhX3ZhbGlkYXRlX21lbShzKTsKIAltdXRleF91bmxvY2soJnMtPnNrdF9tdXRleCk7Ci0JcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgJmJ1Zi0+Y2lzaW5mbyk7CisJcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgJmJ1Zi0+Y2lzaW5mby5DaGFpbnMpOwogCWJyZWFrOwogICAgIGNhc2UgRFNfU1VTUEVORF9DQVJEOgogCXJldCA9IHBjbWNpYV9zdXNwZW5kX2NhcmQocyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9wY21jaWFfcmVzb3VyY2UuYyBiL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9yZXNvdXJjZS5jCmluZGV4IDFkMTI4ZmIuLjQ4ODRhMTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9yZXNvdXJjZS5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9yZXNvdXJjZS5jCkBAIC0yMSwxMSArMjEsOSBAQAogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogCi0jZGVmaW5lIElOX0NBUkRfU0VSVklDRVMKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2RzLmg+CkBAIC0zMTEsNzQgKzMwOSw2IEBACiBFWFBPUlRfU1lNQk9MKHBjbWNpYV9nZXRfd2luZG93KTsKIAogCi0vKiogcGNjYXJkX2dldF9zdGF0dXMKLSAqCi0gKiBHZXQgdGhlIGN1cnJlbnQgc29ja2V0IHN0YXRlIGJpdHMuICBXZSBkb24ndCBzdXBwb3J0IHRoZSBsYXRjaGVkCi0gKiBTb2NrZXRTdGF0ZSB5ZXQ6IEkgaGF2ZW4ndCBzZWVuIGFueSBwb2ludCBmb3IgaXQuCi0gKi8KLQotaW50IHBjY2FyZF9nZXRfc3RhdHVzKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCBzdHJ1Y3QgcGNtY2lhX2RldmljZSAqcF9kZXYsCi0JCSAgICAgIGNzX3N0YXR1c190ICpzdGF0dXMpCi17Ci0JY29uZmlnX3QgKmM7Ci0JaW50IHZhbDsKLQotCXMtPm9wcy0+Z2V0X3N0YXR1cyhzLCAmdmFsKTsKLQlzdGF0dXMtPkNhcmRTdGF0ZSA9IHN0YXR1cy0+U29ja2V0U3RhdGUgPSAwOwotCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19ERVRFQ1QpID8gQ1NfRVZFTlRfQ0FSRF9ERVRFQ1QgOiAwOwotCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19DQVJEQlVTKSA/IENTX0VWRU5UX0NCX0RFVEVDVCA6IDA7Ci0Jc3RhdHVzLT5DYXJkU3RhdGUgfD0gKHZhbCAmIFNTXzNWQ0FSRCkgPyBDU19FVkVOVF8zVkNBUkQgOiAwOwotCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19YVkNBUkQpID8gQ1NfRVZFTlRfWFZDQVJEIDogMDsKLQlpZiAocy0+c3RhdGUgJiBTT0NLRVRfU1VTUEVORCkKLQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0gQ1NfRVZFTlRfUE1fU1VTUEVORDsKLQlpZiAoIShzLT5zdGF0ZSAmIFNPQ0tFVF9QUkVTRU5UKSkKLQkJcmV0dXJuIENTX05PX0NBUkQ7Ci0KLQljID0gKHBfZGV2KSA/IHBfZGV2LT5mdW5jdGlvbl9jb25maWcgOiBOVUxMOwotCi0JaWYgKChjICE9IE5VTEwpICYmIChjLT5zdGF0ZSAmIENPTkZJR19MT0NLRUQpICYmCi0JICAgIChjLT5JbnRUeXBlICYgKElOVF9NRU1PUllfQU5EX0lPIHwgSU5UX1pPT01FRF9WSURFTykpKSB7Ci0JCXVfY2hhciByZWc7Ci0JCWlmIChjLT5DYXJkVmFsdWVzICYgUFJFU0VOVF9QSU5fUkVQTEFDRSkgewotCQkJcGNtY2lhX3JlYWRfY2lzX21lbShzLCAxLCAoYy0+Q29uZmlnQmFzZStDSVNSRUdfUFJSKT4+MSwgMSwgJnJlZyk7Ci0JCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQotCQkJCShyZWcgJiBQUlJfV1BfU1RBVFVTKSA/IENTX0VWRU5UX1dSSVRFX1BST1RFQ1QgOiAwOwotCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KLQkJCQkocmVnICYgUFJSX1JFQURZX1NUQVRVUykgPyBDU19FVkVOVF9SRUFEWV9DSEFOR0UgOiAwOwotCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KLQkJCQkocmVnICYgUFJSX0JWRDJfU1RBVFVTKSA/IENTX0VWRU5UX0JBVFRFUllfTE9XIDogMDsKLQkJCXN0YXR1cy0+Q2FyZFN0YXRlIHw9Ci0JCQkJKHJlZyAmIFBSUl9CVkQxX1NUQVRVUykgPyBDU19FVkVOVF9CQVRURVJZX0RFQUQgOiAwOwotCQl9IGVsc2UgewotCQkJLyogTm8gUFJSPyAgVGhlbiBhc3N1bWUgd2UncmUgYWx3YXlzIHJlYWR5ICovCi0JCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PSBDU19FVkVOVF9SRUFEWV9DSEFOR0U7Ci0JCX0KLQkJaWYgKGMtPkNhcmRWYWx1ZXMgJiBQUkVTRU5UX0VYVF9TVEFUVVMpIHsKLQkJCXBjbWNpYV9yZWFkX2Npc19tZW0ocywgMSwgKGMtPkNvbmZpZ0Jhc2UrQ0lTUkVHX0VTUik+PjEsIDEsICZyZWcpOwotCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KLQkJCQkocmVnICYgRVNSX1JFUV9BVFROKSA/IENTX0VWRU5UX1JFUVVFU1RfQVRURU5USU9OIDogMDsKLQkJfQotCQlyZXR1cm4gQ1NfU1VDQ0VTUzsKLQl9Ci0Jc3RhdHVzLT5DYXJkU3RhdGUgfD0KLQkJKHZhbCAmIFNTX1dSUFJPVCkgPyBDU19FVkVOVF9XUklURV9QUk9URUNUIDogMDsKLQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQotCQkodmFsICYgU1NfQkFUREVBRCkgPyBDU19FVkVOVF9CQVRURVJZX0RFQUQgOiAwOwotCXN0YXR1cy0+Q2FyZFN0YXRlIHw9Ci0JCSh2YWwgJiBTU19CQVRXQVJOKSA/IENTX0VWRU5UX0JBVFRFUllfTE9XIDogMDsKLQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQotCQkodmFsICYgU1NfUkVBRFkpID8gQ1NfRVZFTlRfUkVBRFlfQ0hBTkdFIDogMDsKLQlyZXR1cm4gQ1NfU1VDQ0VTUzsKLX0gLyogcGNjYXJkX2dldF9zdGF0dXMgKi8KLQotaW50IHBjbWNpYV9nZXRfc3RhdHVzKHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwgY3Nfc3RhdHVzX3QgKnN0YXR1cykKLXsKLQlyZXR1cm4gcGNjYXJkX2dldF9zdGF0dXMocF9kZXYtPnNvY2tldCwgcF9kZXYsIHN0YXR1cyk7Ci19Ci1FWFBPUlRfU1lNQk9MKHBjbWNpYV9nZXRfc3RhdHVzKTsKLQotCi0KIC8qKiBwY21jaWFfZ2V0X21lbV9wYWdlCiAgKgogICogQ2hhbmdlIHRoZSBjYXJkIGFkZHJlc3Mgb2YgYW4gYWxyZWFkeSBvcGVuIG1lbW9yeSB3aW5kb3cuCkBAIC04MTIsNiArNzQyLDE1IEBACiAJCXR5cGUgPSBJUlFGX1NIQVJFRDsKIAogI2lmZGVmIENPTkZJR19QQ01DSUFfUFJPQkUKKworI2lmZGVmIElSUV9OT0FVVE9FTgorCS8qIGlmIHRoZSB1bmRlcmx5aW5nIElSUSBpbmZyYXN0cnVjdHVyZSBhbGxvd3MgZm9yIGl0LCBvbmx5IGFsbG9jYXRlCisJICogdGhlIElSUSwgYnV0IGRvIG5vdCBlbmFibGUgaXQKKwkgKi8KKwlpZiAoIShyZXEtPkF0dHJpYnV0ZXMgJiBJUlFfSEFORExFX1BSRVNFTlQpKQorCQl0eXBlIHw9IElSUV9OT0FVVE9FTjsKKyNlbmRpZiAvKiBJUlFfTk9BVVRPRU4gKi8KKwogCWlmIChzLT5pcnEuQXNzaWduZWRJUlEgIT0gMCkgewogCQkvKiBJZiB0aGUgaW50ZXJydXB0IGlzIGFscmVhZHkgYXNzaWduZWQsIGl0IG11c3QgYmUgdGhlIHNhbWUgKi8KIAkJaXJxID0gcy0+aXJxLkFzc2lnbmVkSVJROwpAQCAtOTY2LDcgKzkwNSw3IEBACiAJcGNtY2lhX3JlbGVhc2VfY29uZmlndXJhdGlvbihwX2Rldik7CiAJcGNtY2lhX3JlbGVhc2VfaW8ocF9kZXYsICZwX2Rldi0+aW8pOwogCXBjbWNpYV9yZWxlYXNlX2lycShwX2RldiwgJnBfZGV2LT5pcnEpOwotCWlmICgmcF9kZXYtPndpbikKKwlpZiAocF9kZXYtPndpbikKIAkJcGNtY2lhX3JlbGVhc2Vfd2luZG93KHBfZGV2LT53aW4pOwogfQogRVhQT1JUX1NZTUJPTChwY21jaWFfZGlzYWJsZV9kZXZpY2UpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvcHhhMnh4X2Jhc2UuYyBiL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9iYXNlLmMKaW5kZXggOTQxNDE2My4uY2NmZGYxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvcHhhMnh4X2Jhc2UuYworKysgYi9kcml2ZXJzL3BjbWNpYS9weGEyeHhfYmFzZS5jCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KIAogI2luY2x1ZGUgImNzX2ludGVybmFsLmgiCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfY21feDI3MC5jIGIvZHJpdmVycy9wY21jaWEvcHhhMnh4X2NtX3gyNzAuYwppbmRleCBlN2FiMDYwLi5mMTIzZmNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfY21feDI3MC5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9jbV94MjcwLmMKQEAgLTE4LDYgKzE4LDcgQEAKIAogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CkBAIC0xMzAsNyArMTMxLDcgQEAKIH0KIAogCi1zdGF0aWMgc3RydWN0IHBjbWNpYV9sb3dfbGV2ZWwgY214MjcwX3BjbWNpYV9vcHMgPSB7CitzdGF0aWMgc3RydWN0IHBjbWNpYV9sb3dfbGV2ZWwgY214MjcwX3BjbWNpYV9vcHMgX19pbml0ZGF0YSA9IHsKIAkub3duZXIJCQk9IFRISVNfTU9EVUxFLAogCS5od19pbml0CQk9IGNteDI3MF9wY21jaWFfaHdfaW5pdCwKIAkuaHdfc2h1dGRvd24JCT0gY214MjcwX3BjbWNpYV9zaHV0ZG93biwKQEAgLTE0NywxNSArMTQ4LDIxIEBACiB7CiAJaW50IHJldDsKIAorCWlmICghbWFjaGluZV9pc19hcm1jb3JlKCkpCisJCXJldHVybiAtRU5PREVWOworCiAJY214MjcwX3BjbWNpYV9kZXZpY2UgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInB4YTJ4eC1wY21jaWEiLCAtMSk7CiAKIAlpZiAoIWNteDI3MF9wY21jaWFfZGV2aWNlKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCWNteDI3MF9wY21jaWFfZGV2aWNlLT5kZXYucGxhdGZvcm1fZGF0YSA9ICZjbXgyNzBfcGNtY2lhX29wczsKKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkX2RhdGEoY214MjcwX3BjbWNpYV9kZXZpY2UsICZjbXgyNzBfcGNtY2lhX29wcywKKwkJCQkgICAgICAgc2l6ZW9mKGNteDI3MF9wY21jaWFfb3BzKSk7CiAKLQlwcmludGsoS0VSTl9JTkZPICJSZWdpc3RlcmluZyBjbS14MjcwIFBDTUNJQSBpbnRlcmZhY2UuXG4iKTsKLQlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkKGNteDI3MF9wY21jaWFfZGV2aWNlKTsKKwlpZiAocmV0ID09IDApIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiUmVnaXN0ZXJpbmcgY20teDI3MCBQQ01DSUEgaW50ZXJmYWNlLlxuIik7CisJCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQoY214MjcwX3BjbWNpYV9kZXZpY2UpOworCX0KIAogCWlmIChyZXQpCiAJCXBsYXRmb3JtX2RldmljZV9wdXQoY214MjcwX3BjbWNpYV9kZXZpY2UpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvcHhhMnh4X21haW5zdG9uZS5jIGIvZHJpdmVycy9wY21jaWEvcHhhMnh4X21haW5zdG9uZS5jCmluZGV4IDE0NWI4NWUuLjkyZDFjYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9tYWluc3RvbmUuYworKysgYi9kcml2ZXJzL3BjbWNpYS9weGEyeHhfbWFpbnN0b25lLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KIAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KQEAgLTEzNiw3ICsxMzcsNyBAQAogewogfQogCi1zdGF0aWMgc3RydWN0IHBjbWNpYV9sb3dfbGV2ZWwgbXN0X3BjbWNpYV9vcHMgPSB7CitzdGF0aWMgc3RydWN0IHBjbWNpYV9sb3dfbGV2ZWwgbXN0X3BjbWNpYV9vcHMgX19pbml0ZGF0YSA9IHsKIAkub3duZXIJCQk9IFRISVNfTU9EVUxFLAogCS5od19pbml0CQk9IG1zdF9wY21jaWFfaHdfaW5pdCwKIAkuaHdfc2h1dGRvd24JCT0gbXN0X3BjbWNpYV9od19zaHV0ZG93biwKQEAgLTE1MywxMyArMTU0LDE3IEBACiB7CiAJaW50IHJldDsKIAorCWlmICghbWFjaGluZV9pc19tYWluc3RvbmUoKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKIAltc3RfcGNtY2lhX2RldmljZSA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygicHhhMnh4LXBjbWNpYSIsIC0xKTsKIAlpZiAoIW1zdF9wY21jaWFfZGV2aWNlKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCW1zdF9wY21jaWFfZGV2aWNlLT5kZXYucGxhdGZvcm1fZGF0YSA9ICZtc3RfcGNtY2lhX29wczsKLQotCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQobXN0X3BjbWNpYV9kZXZpY2UpOworCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGRfZGF0YShtc3RfcGNtY2lhX2RldmljZSwgJm1zdF9wY21jaWFfb3BzLAorCQkJCSAgICAgICBzaXplb2YobXN0X3BjbWNpYV9vcHMpKTsKKwlpZiAocmV0ID09IDApCisJCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQobXN0X3BjbWNpYV9kZXZpY2UpOwogCiAJaWYgKHJldCkKIAkJcGxhdGZvcm1fZGV2aWNlX3B1dChtc3RfcGNtY2lhX2RldmljZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfc2hhcnBzbC5jIGIvZHJpdmVycy9wY21jaWEvcHhhMnh4X3NoYXJwc2wuYwppbmRleCBkNWMzM2JkLi5kNzFmOTNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfc2hhcnBzbC5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9zaGFycHNsLmMKQEAgLTIyMiw3ICsyMjIsNyBAQAogCXNoYXJwc2xfcGNtY2lhX2luaXRfcmVzZXQoc2t0KTsKIH0KIAotc3RhdGljIHN0cnVjdCBwY21jaWFfbG93X2xldmVsIHNoYXJwc2xfcGNtY2lhX29wcyA9IHsKK3N0YXRpYyBzdHJ1Y3QgcGNtY2lhX2xvd19sZXZlbCBzaGFycHNsX3BjbWNpYV9vcHMgX19pbml0ZGF0YSA9IHsKIAkub3duZXIgICAgICAgICAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5od19pbml0ICAgICAgICAgICAgICAgID0gc2hhcnBzbF9wY21jaWFfaHdfaW5pdCwKIAkuaHdfc2h1dGRvd24gICAgICAgICAgICA9IHNoYXJwc2xfcGNtY2lhX2h3X3NodXRkb3duLApAQCAtMjYxLDEwICsyNjEsMTIgQEAKIAlpZiAoIXNoYXJwc2xfcGNtY2lhX2RldmljZSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlzaGFycHNsX3BjbWNpYV9kZXZpY2UtPmRldi5wbGF0Zm9ybV9kYXRhID0gJnNoYXJwc2xfcGNtY2lhX29wczsKLQlzaGFycHNsX3BjbWNpYV9kZXZpY2UtPmRldi5wYXJlbnQgPSBwbGF0Zm9ybV9zY29vcF9jb25maWctPmRldnNbMF0uZGV2OwotCi0JcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChzaGFycHNsX3BjbWNpYV9kZXZpY2UpOworCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGRfZGF0YShzaGFycHNsX3BjbWNpYV9kZXZpY2UsCisJCQkmc2hhcnBzbF9wY21jaWFfb3BzLCBzaXplb2Yoc2hhcnBzbF9wY21jaWFfb3BzKSk7CisJaWYgKHJldCA9PSAwKSB7CisJCXNoYXJwc2xfcGNtY2lhX2RldmljZS0+ZGV2LnBhcmVudCA9IHBsYXRmb3JtX3Njb29wX2NvbmZpZy0+ZGV2c1swXS5kZXY7CisJCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQoc2hhcnBzbF9wY21jaWFfZGV2aWNlKTsKKwl9CiAKIAlpZiAocmV0KQogCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KHNoYXJwc2xfcGNtY2lhX2RldmljZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9yc3JjX21nci5jIGIvZHJpdmVycy9wY21jaWEvcnNyY19tZ3IuYwppbmRleCBjZTIyMjYyLi5jMGUyYWZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9yc3JjX21nci5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3JzcmNfbWdyLmMKQEAgLTIxLDg2ICsyMSw2IEBACiAjaW5jbHVkZSAiY3NfaW50ZXJuYWwuaCIKIAogCi0jaWZkZWYgQ09ORklHX1BDTUNJQV9JT0NUTAotCi0jaWZkZWYgQ09ORklHX1BDTUNJQV9QUk9CRQotCi1zdGF0aWMgaW50IGFkanVzdF9pcnEoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIGFkanVzdF90ICphZGopCi17Ci0JaW50IGlycTsKLQl1MzIgbWFzazsKLQotCWlycSA9IGFkai0+cmVzb3VyY2UuaXJxLklSUTsKLQlpZiAoKGlycSA8IDApIHx8IChpcnEgPiAxNSkpCi0JCXJldHVybiBDU19CQURfSVJROwotCi0JaWYgKGFkai0+QWN0aW9uICE9IFJFTU9WRV9NQU5BR0VEX1JFU09VUkNFKQotCQlyZXR1cm4gMDsKLQotCW1hc2sgPSAxIDw8IGlycTsKLQotCWlmICghKHMtPmlycV9tYXNrICYgbWFzaykpCi0JCXJldHVybiAwOwotCi0Jcy0+aXJxX21hc2sgJj0gfm1hc2s7Ci0KLQlyZXR1cm4gMDsKLX0KLQotI2Vsc2UKLQotc3RhdGljIGlubGluZSBpbnQgYWRqdXN0X2lycShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgYWRqdXN0X3QgKmFkaikgewotCXJldHVybiBDU19TVUNDRVNTOwotfQotCi0jZW5kaWYKLQotCi1pbnQgcGNtY2lhX2FkanVzdF9yZXNvdXJjZV9pbmZvKGFkanVzdF90ICphZGopCi17Ci0Jc3RydWN0IHBjbWNpYV9zb2NrZXQgKnM7Ci0JaW50IHJldCA9IENTX1VOU1VQUE9SVEVEX0ZVTkNUSU9OOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlkb3duX3JlYWQoJnBjbWNpYV9zb2NrZXRfbGlzdF9yd3NlbSk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShzLCAmcGNtY2lhX3NvY2tldF9saXN0LCBzb2NrZXRfbGlzdCkgewotCi0JCWlmIChhZGotPlJlc291cmNlID09IFJFU19JUlEpCi0JCQlyZXQgPSBhZGp1c3RfaXJxKHMsIGFkaik7Ci0KLQkJZWxzZSBpZiAocy0+cmVzb3VyY2Vfb3BzLT5hZGp1c3RfcmVzb3VyY2UpIHsKLQotCQkJLyogeW91IGNhbid0IHVzZSB0aGUgb2xkIGludGVyZmFjZSBpZiB0aGUgbmV3Ci0JCQkgKiBvbmUgd2FzIHVzZWQgYmVmb3JlICovCi0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmcy0+bG9jaywgZmxhZ3MpOwotCQkJaWYgKChzLT5yZXNvdXJjZV9zZXR1cF9uZXcpICYmCi0JCQkgICAgIShzLT5yZXNvdXJjZV9zZXR1cF9vbGQpKSB7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgZmxhZ3MpOwotCQkJCWNvbnRpbnVlOwotCQkJfSBlbHNlIGlmICghKHMtPnJlc291cmNlX3NldHVwX29sZCkpCi0JCQkJcy0+cmVzb3VyY2Vfc2V0dXBfb2xkID0gMTsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnMtPmxvY2ssIGZsYWdzKTsKLQotCQkJcmV0ID0gcy0+cmVzb3VyY2Vfb3BzLT5hZGp1c3RfcmVzb3VyY2UocywgYWRqKTsKLQkJCWlmICghcmV0KSB7Ci0JCQkJLyogYXMgdGhlcmUncyBubyB3YXkgd2Uga25vdyB0aGlzIGlzIHRoZQotCQkJCSAqIGxhc3QgY2FsbCB0byBhZGp1c3RfcmVzb3VyY2VfaW5mbywgd2UKLQkJCQkgKiBhbHdheXMgbmVlZCB0byBhc3N1bWUgdGhpcyBpcyB0aGUgbGF0ZXN0Ci0JCQkJICogb25lLi4uICovCi0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnMtPmxvY2ssIGZsYWdzKTsKLQkJCQlzLT5yZXNvdXJjZV9zZXR1cF9kb25lID0gMTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KLQl9Ci0JdXBfcmVhZCgmcGNtY2lhX3NvY2tldF9saXN0X3J3c2VtKTsKLQotCXJldHVybiAocmV0KTsKLX0KLUVYUE9SVF9TWU1CT0wocGNtY2lhX2FkanVzdF9yZXNvdXJjZV9pbmZvKTsKLQotI2VuZGlmCi0KIGludCBwY21jaWFfdmFsaWRhdGVfbWVtKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzKQogewogCWlmIChzLT5yZXNvdXJjZV9vcHMtPnZhbGlkYXRlX21lbSkKQEAgLTE2NCw3ICs4NCw4IEBACiAJLmFkanVzdF9pb19yZWdpb24gPSBOVUxMLAogCS5maW5kX2lvID0gTlVMTCwKIAkuZmluZF9tZW0gPSBOVUxMLAotCS5hZGp1c3RfcmVzb3VyY2UgPSBOVUxMLAorCS5hZGRfaW8gPSBOVUxMLAorCS5hZGRfbWVtID0gTlVMTCwKIAkuaW5pdCA9IHN0YXRpY19pbml0LAogCS5leGl0ID0gTlVMTCwKIH07CkBAIC0yNjQsNyArMTg1LDggQEAKIAkuYWRqdXN0X2lvX3JlZ2lvbiA9IGlvZHluX2FkanVzdF9pb19yZWdpb24sCiAJLmZpbmRfaW8gPSBpb2R5bl9maW5kX2lvX3JlZ2lvbiwKIAkuZmluZF9tZW0gPSBOVUxMLAotCS5hZGp1c3RfcmVzb3VyY2UgPSBOVUxMLAorCS5hZGRfaW8gPSBOVUxMLAorCS5hZGRfbWVtID0gTlVMTCwKIAkuaW5pdCA9IHN0YXRpY19pbml0LAogCS5leGl0ID0gTlVMTCwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9yc3JjX25vbnN0YXRpYy5jIGIvZHJpdmVycy9wY21jaWEvcnNyY19ub25zdGF0aWMuYwppbmRleCAwZmNmNzYzLi5kMGMxZDYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9yc3JjX25vbnN0YXRpYy5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3JzcmNfbm9uc3RhdGljLmMKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgogCkBAIC0yNjEsMjEgKzI2MCwyMiBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAKIC8qIFZhbGlkYXRpb24gZnVuY3Rpb24gZm9yIGNhcmRzIHdpdGggYSB2YWxpZCBDSVMgKi8KLXN0YXRpYyBpbnQgcmVhZGFibGUoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHN0cnVjdCByZXNvdXJjZSAqcmVzLCBjaXNpbmZvX3QgKmluZm8pCitzdGF0aWMgaW50IHJlYWRhYmxlKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcywKKwkJICAgIHVuc2lnbmVkIGludCAqY291bnQpCiB7CiAJaW50IHJldCA9IC0xOwogCiAJcy0+Y2lzX21lbS5yZXMgPSByZXM7CiAJcy0+Y2lzX3ZpcnQgPSBpb3JlbWFwKHJlcy0+c3RhcnQsIHMtPm1hcF9zaXplKTsKIAlpZiAocy0+Y2lzX3ZpcnQpIHsKLQkJcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgaW5mbyk7CisJCXJldCA9IHBjY2FyZF92YWxpZGF0ZV9jaXMocywgQklORF9GTl9BTEwsIGNvdW50KTsKIAkJLyogaW52YWxpZGF0ZSBtYXBwaW5nIGFuZCBDSVMgY2FjaGUgKi8KIAkJaW91bm1hcChzLT5jaXNfdmlydCk7CiAJCXMtPmNpc192aXJ0ID0gTlVMTDsKIAkJZGVzdHJveV9jaXNfY2FjaGUocyk7CiAJfQogCXMtPmNpc19tZW0ucmVzID0gTlVMTDsKLQlpZiAoKHJldCAhPSAwKSB8fCAoaW5mby0+Q2hhaW5zID09IDApKQorCWlmICgocmV0ICE9IDApIHx8IChjb3VudCA9PSAwKSkKIAkJcmV0dXJuIDA7CiAJcmV0dXJuIDE7CiB9CkBAIC0zMTYsNyArMzE2LDcgQEAKIGNpc19yZWFkYWJsZShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25nIHNpemUpCiB7CiAJc3RydWN0IHJlc291cmNlICpyZXMxLCAqcmVzMjsKLQljaXNpbmZvX3QgaW5mbzEsIGluZm8yOworCXVuc2lnbmVkIGludCBpbmZvMSwgaW5mbzI7CiAJaW50IHJldCA9IDA7CiAKIAlyZXMxID0gY2xhaW1fcmVnaW9uKHMsIGJhc2UsIHNpemUvMiwgSU9SRVNPVVJDRV9NRU0sICJjcyBtZW1vcnkgcHJvYmUiKTsKQEAgLTMzMCw3ICszMzAsNyBAQAogCWZyZWVfcmVnaW9uKHJlczIpOwogCWZyZWVfcmVnaW9uKHJlczEpOwogCi0JcmV0dXJuIChyZXQgPT0gMikgJiYgKGluZm8xLkNoYWlucyA9PSBpbmZvMi5DaGFpbnMpOworCXJldHVybiAocmV0ID09IDIpICYmIChpbmZvMSA9PSBpbmZvMik7CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTc2NiwyMSArNzY2LDYgQEAKIH0KIAogCi1zdGF0aWMgaW50IG5vbnN0YXRpY19hZGp1c3RfcmVzb3VyY2VfaW5mbyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgYWRqdXN0X3QgKmFkaikKLXsKLQl1bnNpZ25lZCBsb25nIGVuZDsKLQotCXN3aXRjaCAoYWRqLT5SZXNvdXJjZSkgewotCWNhc2UgUkVTX01FTU9SWV9SQU5HRToKLQkJZW5kID0gYWRqLT5yZXNvdXJjZS5tZW1vcnkuQmFzZSArIGFkai0+cmVzb3VyY2UubWVtb3J5LlNpemUgLSAxOwotCQlyZXR1cm4gYWRqdXN0X21lbW9yeShzLCBhZGotPkFjdGlvbiwgYWRqLT5yZXNvdXJjZS5tZW1vcnkuQmFzZSwgZW5kKTsKLQljYXNlIFJFU19JT19SQU5HRToKLQkJZW5kID0gYWRqLT5yZXNvdXJjZS5pby5CYXNlUG9ydCArIGFkai0+cmVzb3VyY2UuaW8uTnVtUG9ydHMgLSAxOwotCQlyZXR1cm4gYWRqdXN0X2lvKHMsIGFkai0+QWN0aW9uLCBhZGotPnJlc291cmNlLmlvLkJhc2VQb3J0LCBlbmQpOwotCX0KLQlyZXR1cm4gQ1NfVU5TVVBQT1JURURfRlVOQ1RJT047Ci19Ci0KICNpZmRlZiBDT05GSUdfUENJCiBzdGF0aWMgaW50IG5vbnN0YXRpY19hdXRvYWRkX3Jlc291cmNlcyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcykKIHsKQEAgLTg4OSw3ICs4NzQsOCBAQAogCS5hZGp1c3RfaW9fcmVnaW9uID0gbm9uc3RhdGljX2FkanVzdF9pb19yZWdpb24sCiAJLmZpbmRfaW8gPSBub25zdGF0aWNfZmluZF9pb19yZWdpb24sCiAJLmZpbmRfbWVtID0gbm9uc3RhdGljX2ZpbmRfbWVtX3JlZ2lvbiwKLQkuYWRqdXN0X3Jlc291cmNlID0gbm9uc3RhdGljX2FkanVzdF9yZXNvdXJjZV9pbmZvLAorCS5hZGRfaW8gPSBhZGp1c3RfaW8sCisJLmFkZF9tZW0gPSBhZGp1c3RfbWVtb3J5LAogCS5pbml0ID0gbm9uc3RhdGljX2luaXQsCiAJLmV4aXQgPSBub25zdGF0aWNfcmVsZWFzZV9yZXNvdXJjZV9kYiwKIH07CkBAIC0xMDA4LDQxICs5OTQsMzQgQEAKIH0KIHN0YXRpYyBERVZJQ0VfQVRUUihhdmFpbGFibGVfcmVzb3VyY2VzX21lbSwgMDYwMCwgc2hvd19tZW1fZGIsIHN0b3JlX21lbV9kYik7CiAKLXN0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqcGNjYXJkX3JzcmNfYXR0cmlidXRlc1tdID0gewotCSZkZXZfYXR0cl9hdmFpbGFibGVfcmVzb3VyY2VzX2lvLAotCSZkZXZfYXR0cl9hdmFpbGFibGVfcmVzb3VyY2VzX21lbSwKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpwY2NhcmRfcnNyY19hdHRyaWJ1dGVzW10gPSB7CisJJmRldl9hdHRyX2F2YWlsYWJsZV9yZXNvdXJjZXNfaW8uYXR0ciwKKwkmZGV2X2F0dHJfYXZhaWxhYmxlX3Jlc291cmNlc19tZW0uYXR0ciwKIAlOVUxMLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgcnNyY19hdHRyaWJ1dGVzID0geworCS5hdHRycyA9IHBjY2FyZF9yc3JjX2F0dHJpYnV0ZXMsCit9OworCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBwY2NhcmRfc3lzZnNfYWRkX3JzcmMoc3RydWN0IGRldmljZSAqZGV2LAogCQkJCQkgICBzdHJ1Y3QgY2xhc3NfaW50ZXJmYWNlICpjbGFzc19pbnRmKQogewogCXN0cnVjdCBwY21jaWFfc29ja2V0ICpzID0gZGV2X2dldF9kcnZkYXRhKGRldik7Ci0Jc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKiphdHRyOwotCWludCByZXQgPSAwOworCiAJaWYgKHMtPnJlc291cmNlX29wcyAhPSAmcGNjYXJkX25vbnN0YXRpY19vcHMpCiAJCXJldHVybiAwOwotCi0JZm9yIChhdHRyID0gcGNjYXJkX3JzcmNfYXR0cmlidXRlczsgKmF0dHI7IGF0dHIrKykgewotCQlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoZGV2LCAqYXR0cik7Ci0JCWlmIChyZXQpCi0JCQlicmVhazsKLQl9Ci0KLQlyZXR1cm4gcmV0OworCXJldHVybiBzeXNmc19jcmVhdGVfZ3JvdXAoJmRldi0+a29iaiwgJnJzcmNfYXR0cmlidXRlcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fZGV2ZXhpdCBwY2NhcmRfc3lzZnNfcmVtb3ZlX3JzcmMoc3RydWN0IGRldmljZSAqZGV2LAogCQkJCQkgICAgICAgc3RydWN0IGNsYXNzX2ludGVyZmFjZSAqY2xhc3NfaW50ZikKIHsKIAlzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwotCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICoqYXR0cjsKIAogCWlmIChzLT5yZXNvdXJjZV9vcHMgIT0gJnBjY2FyZF9ub25zdGF0aWNfb3BzKQogCQlyZXR1cm47Ci0KLQlmb3IgKGF0dHIgPSBwY2NhcmRfcnNyY19hdHRyaWJ1dGVzOyAqYXR0cjsgYXR0cisrKQotCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoZGV2LCAqYXR0cik7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKCZkZXYtPmtvYmosICZyc3JjX2F0dHJpYnV0ZXMpOwogfQogCiBzdGF0aWMgc3RydWN0IGNsYXNzX2ludGVyZmFjZSBwY2NhcmRfcnNyY19pbnRlcmZhY2UgX19yZWZkYXRhID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvc29jX2NvbW1vbi5oIGIvZHJpdmVycy9wY21jaWEvc29jX2NvbW1vbi5oCmluZGV4IDFlZGMxZGEuLjkxZWY2YTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3NvY19jb21tb24uaAorKysgYi9kcml2ZXJzL3BjbWNpYS9zb2NfY29tbW9uLmgKQEAgLTE0LDcgKzE0LDYgQEAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9zb2NrZXRfc3lzZnMuYyBiL2RyaXZlcnMvcGNtY2lhL3NvY2tldF9zeXNmcy5jCmluZGV4IDU2MjM4NGQuLjAwNmEyOWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3NvY2tldF9zeXNmcy5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3NvY2tldF9zeXNmcy5jCkBAIC0yNywxMSArMjcsOSBAQAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CiAKLSNkZWZpbmUgSU5fQ0FSRF9TRVJWSUNFUwogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXNyZWcuaD4KICNpbmNsdWRlIDxwY21jaWEvZHMuaD4KQEAgLTI5Myw3ICsyOTEsNyBAQAogCQljb3VudCA9IDA7CiAJZWxzZSB7CiAJCXN0cnVjdCBwY21jaWFfc29ja2V0ICpzOwotCQljaXNpbmZvX3QgY2lzaW5mbzsKKwkJdW5zaWduZWQgaW50IGNoYWluczsKIAogCQlpZiAob2ZmICsgY291bnQgPiBzaXplKQogCQkJY291bnQgPSBzaXplIC0gb2ZmOwpAQCAtMzAyLDkgKzMwMCw5IEBACiAKIAkJaWYgKCEocy0+c3RhdGUgJiBTT0NLRVRfUFJFU0VOVCkpCiAJCQlyZXR1cm4gLUVOT0RFVjsKLQkJaWYgKHBjY2FyZF92YWxpZGF0ZV9jaXMocywgQklORF9GTl9BTEwsICZjaXNpbmZvKSkKKwkJaWYgKHBjY2FyZF92YWxpZGF0ZV9jaXMocywgQklORF9GTl9BTEwsICZjaGFpbnMpKQogCQkJcmV0dXJuIC1FSU87Ci0JCWlmICghY2lzaW5mby5DaGFpbnMpCisJCWlmICghY2hhaW5zKQogCQkJcmV0dXJuIC1FTk9EQVRBOwogCiAJCWNvdW50ID0gcGNjYXJkX2V4dHJhY3RfY2lzKHMsIGJ1Ziwgb2ZmLCBjb3VudCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS90aTExM3guaCBiL2RyaXZlcnMvcGNtY2lhL3RpMTEzeC5oCmluZGV4IGQyOTY1N2IuLjEyOWRiN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3RpMTEzeC5oCisrKyBiL2RyaXZlcnMvcGNtY2lhL3RpMTEzeC5oCkBAIC0xNTUsNyArMTU1LDcgQEAKICNkZWZpbmUgRU5FX1RFU1RfQzlfVExURU5BQkxFCQkweDAyCiAjZGVmaW5lIEVORV9URVNUX0M5X1BGRU5BQkxFX0YwCQkweDA0CiAjZGVmaW5lIEVORV9URVNUX0M5X1BGRU5BQkxFX0YxCQkweDA4Ci0jZGVmaW5lIEVORV9URVNUX0M5X1BGRU5BQkxFCQkoRU5FX1RFU1RfQzlfUEZFTkFCTEVfRjAgfCBFTkVfVEVTVF9DOV9QRkVOQUJMRV9GMCkKKyNkZWZpbmUgRU5FX1RFU1RfQzlfUEZFTkFCTEUJCShFTkVfVEVTVF9DOV9QRkVOQUJMRV9GMCB8IEVORV9URVNUX0M5X1BGRU5BQkxFX0YxKQogI2RlZmluZSBFTkVfVEVTVF9DOV9XUERJU0FMQkxFX0YwCTB4NDAKICNkZWZpbmUgRU5FX1RFU1RfQzlfV1BESVNBTEJMRV9GMQkweDgwCiAjZGVmaW5lIEVORV9URVNUX0M5X1dQRElTQUxCTEUJCShFTkVfVEVTVF9DOV9XUERJU0FMQkxFX0YwIHwgRU5FX1RFU1RfQzlfV1BESVNBTEJMRV9GMSkKQEAgLTY5Miw3ICs2OTIsNyBAQAogCQlnb3RvIG91dDsKIAogCS8qIGNoZWNrIHN0YXRlICovCi0JeWVudGFfZ2V0X3N0YXR1cygmc29ja2V0LT5zb2NrZXQsICZzdGF0ZSk7CisJeWVudGFfZ2V0X3N0YXR1cygmc2xvdDItPnNvY2tldCwgJnN0YXRlKTsKIAlpZiAoc3RhdGUgJiBTU19ERVRFQ1QpIHsKIAkJcmV0ID0gMDsKIAkJZ290byBvdXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3JhcGlkaW8vcmlvLWRyaXZlci5jIGIvZHJpdmVycy9yYXBpZGlvL3Jpby1kcml2ZXIuYwppbmRleCAzY2U5ZjNkLi45NTZkM2U3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3JhcGlkaW8vcmlvLWRyaXZlci5jCisrKyBiL2RyaXZlcnMvcmFwaWRpby9yaW8tZHJpdmVyLmMKQEAgLTEwMSw4ICsxMDEsOCBAQAogCQlpZiAoZXJyb3IgPj0gMCkgewogCQkJcmRldi0+ZHJpdmVyID0gcmRydjsKIAkJCWVycm9yID0gMDsKKwkJfSBlbHNlCiAJCQlyaW9fZGV2X3B1dChyZGV2KTsKLQkJfQogCX0KIAlyZXR1cm4gZXJyb3I7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9LY29uZmlnIGIvZHJpdmVycy9ydGMvS2NvbmZpZwppbmRleCA0OTQ5ZGM0Li5mYzg1YmYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9LY29uZmlnCisrKyBiL2RyaXZlcnMvcnRjL0tjb25maWcKQEAgLTQ2OSw2ICs0NjksMTYgQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZQogCSAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIHJ0Yy12cjQxeHguCiAKK2NvbmZpZyBSVENfRFJWX1BMMDMwCisJdHJpc3RhdGUgIkFSTSBBTUJBIFBMMDMwIFJUQyIKKwlkZXBlbmRzIG9uIEFSTV9BTUJBCisJaGVscAorCSAgSWYgeW91IHNheSBZIGhlcmUgeW91IHdpbGwgZ2V0IGFjY2VzcyB0byBBUk0gQU1CQQorCSAgUHJpbWVDZWxsIFBMMDMwIFJUQyBmb3VuZCBvbiBjZXJ0YWluIEFSTSBTT0NzLgorCisJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUKKwkgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBydGMtcGwwMzAuCisKIGNvbmZpZyBSVENfRFJWX1BMMDMxCiAJdHJpc3RhdGUgIkFSTSBBTUJBIFBMMDMxIFJUQyIKIAlkZXBlbmRzIG9uIEFSTV9BTUJBCkBAIC00OTUsMTIgKzUwNSwxMyBAQAogCSAgdGhpcyBpcyBwb3dlcmVkIGJ5IHRoZSBiYWNrdXAgcG93ZXIgc3VwcGx5LgogCiBjb25maWcgUlRDX0RSVl9BVDkxU0FNOQotCXRyaXN0YXRlICJBVDkxU0FNOXgiCisJdHJpc3RhdGUgIkFUOTFTQU05eC9BVDkxQ0FQOSIKIAlkZXBlbmRzIG9uIEFSQ0hfQVQ5MSAmJiAhKEFSQ0hfQVQ5MVJNOTIwMCB8fCBBUkNIX0FUOTFYNDApCiAJaGVscAotCSAgUlRDIGRyaXZlciBmb3IgdGhlIEF0bWVsIEFUOTFTQU05eCBpbnRlcm5hbCBSVFQgKFJlYWwgVGltZSBUaW1lcikuCi0JICBUaGVzZSB0aW1lcnMgYXJlIHBvd2VyZWQgYnkgdGhlIGJhY2t1cCBwb3dlciBzdXBwbHkgKHN1Y2ggYXMgYQotCSAgc21hbGwgY29pbiBjZWxsIGJhdHRlcnkpLCBidXQgZG8gbm90IG5lZWQgdG8gYmUgdXNlZCBhcyBSVENzLgorCSAgUlRDIGRyaXZlciBmb3IgdGhlIEF0bWVsIEFUOTFTQU05eCBhbmQgQVQ5MUNBUDkgaW50ZXJuYWwgUlRUCisJICAoUmVhbCBUaW1lIFRpbWVyKS4gVGhlc2UgdGltZXJzIGFyZSBwb3dlcmVkIGJ5IHRoZSBiYWNrdXAgcG93ZXIKKwkgIHN1cHBseSAoc3VjaCBhcyBhIHNtYWxsIGNvaW4gY2VsbCBiYXR0ZXJ5KSwgYnV0IGRvIG5vdCBuZWVkIHRvCisJICBiZSB1c2VkIGFzIFJUQ3MuCiAKIAkgIChPbiBBVDkxU0FNOXJsIGNoaXBzIHlvdSBwcm9iYWJseSB3YW50IHRvIHVzZSB0aGUgZGVkaWNhdGVkIFJUQwogCSAgbW9kdWxlIGFuZCBsZWF2ZSB0aGUgUlRUIGF2YWlsYWJsZSBmb3Igb3RoZXIgdXNlcy4pCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9NYWtlZmlsZSBiL2RyaXZlcnMvcnRjL01ha2VmaWxlCmluZGV4IGI2ZTE0ZDUuLmI1ZDlkNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcnRjL01ha2VmaWxlCkBAIC00MSw2ICs0MSw3IEBACiBvYmotJChDT05GSUdfUlRDX0RSVl9PTUFQKQkrPSBydGMtb21hcC5vCiBvYmotJChDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzKQkrPSBydGMtcGNmODU2My5vCiBvYmotJChDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzKQkrPSBydGMtcGNmODU4My5vCitvYmotJChDT05GSUdfUlRDX0RSVl9QTDAzMCkJKz0gcnRjLXBsMDMwLm8KIG9iai0kKENPTkZJR19SVENfRFJWX1BMMDMxKQkrPSBydGMtcGwwMzEubwogb2JqLSQoQ09ORklHX1JUQ19EUlZfUFBDKQkrPSBydGMtcHBjLm8KIG9iai0kKENPTkZJR19SVENfRFJWX1I5NzAxKQkrPSBydGMtcjk3MDEubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLWF0MzJhcDcwMHguYyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDMyYXA3MDB4LmMKaW5kZXggMmVmOGNkZi4uOTBiOWE2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLWF0MzJhcDcwMHguYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtYXQzMmFwNzAweC5jCkBAIC0yNjUsNiArMjY1LDcgQEAKIAl9CiAKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBydGMpOworCWRldmljZV9pbml0X3dha2V1cCgmcGRldi0+ZGV2LCAxKTsKIAogCWRldl9pbmZvKCZwZGV2LT5kZXYsICJBdG1lbCBSVEMgZm9yIEFUMzJBUDcwMHggYXQgJTA4bHggaXJxICVsZFxuIiwKIAkJCSh1bnNpZ25lZCBsb25nKXJ0Yy0+cmVncywgcnRjLT5pcnEpOwpAQCAtMjg0LDYgKzI4NSw4IEBACiB7CiAJc3RydWN0IHJ0Y19hdDMyYXA3MDB4ICpydGMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAorCWRldmljZV9pbml0X3dha2V1cCgmcGRldi0+ZGV2LCAwKTsKKwogCWZyZWVfaXJxKHJ0Yy0+aXJxLCBydGMpOwogCWlvdW5tYXAocnRjLT5yZWdzKTsKIAlydGNfZGV2aWNlX3VucmVnaXN0ZXIocnRjLT5ydGMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLWF0OTFybTkyMDAuYyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDkxcm05MjAwLmMKaW5kZXggMzllNjRhYi4uOWMzZGI5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLWF0OTFybTkyMDAuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtYXQ5MXJtOTIwMC5jCkBAIC0yOSwxMCArMjksNiBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3J0Yy5oPgotCi0jaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgotCiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MV9ydGMuaD4KIAogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtYXQ5MXNhbTkuYyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDkxc2FtOS5jCmluZGV4IDM4ZDg3NDIuLmYwMjQ2ZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1hdDkxc2FtOS5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDkxc2FtOS5jCkBAIC0xOSw3ICsxOSw2IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KIAotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFfcnR0Lmg+CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1kZXYuYyBiL2RyaXZlcnMvcnRjL3J0Yy1kZXYuYwppbmRleCA5MGRmYTBkLi4wMTE0YTc4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtZGV2LmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLWRldi5jCkBAIC0xMyw2ICsxMyw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9ydGMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgInJ0Yy1jb3JlLmgiCiAKIHN0YXRpYyBkZXZfdCBydGNfZGV2dDsKQEAgLTI2LDggKzI3LDExIEBACiAJCQkJCXN0cnVjdCBydGNfZGV2aWNlLCBjaGFyX2Rldik7CiAJY29uc3Qgc3RydWN0IHJ0Y19jbGFzc19vcHMgKm9wcyA9IHJ0Yy0+b3BzOwogCi0JaWYgKHRlc3RfYW5kX3NldF9iaXRfbG9jayhSVENfREVWX0JVU1ksICZydGMtPmZsYWdzKSkKLQkJcmV0dXJuIC1FQlVTWTsKKwlsb2NrX2tlcm5lbCgpOworCWlmICh0ZXN0X2FuZF9zZXRfYml0X2xvY2soUlRDX0RFVl9CVVNZLCAmcnRjLT5mbGFncykpIHsKKwkJZXJyID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBydGM7CiAKQEAgLTM3LDExICs0MSwxMyBAQAogCQlydGMtPmlycV9kYXRhID0gMDsKIAkJc3Bpbl91bmxvY2tfaXJxKCZydGMtPmlycV9sb2NrKTsKIAotCQlyZXR1cm4gMDsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyogc29tZXRoaW5nIGhhcyBnb25lIHdyb25nICovCiAJY2xlYXJfYml0X3VubG9jayhSVENfREVWX0JVU1ksICZydGMtPmZsYWdzKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLWZtMzEzMC5jIGIvZHJpdmVycy9ydGMvcnRjLWZtMzEzMC5jCmluZGV4IDExNjQ0YzguLmFiZmRmY2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1mbTMxMzAuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtZm0zMTMwLmMKQEAgLTU1LDcgKzU1LDcgQEAKIAlpbnQJCQlhbGFybTsKIH07CiBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgZm0zMTMwX2lkW10gPSB7Ci0JeyAiZm0zMTMwLXJ0YyIsIDAgfSwKKwl7ICJmbTMxMzAiLCAwIH0sCiAJeyB9CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShpMmMsIGZtMzEzMF9pZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtbTQxdDgwLmMgYi9kcml2ZXJzL3J0Yy9ydGMtbTQxdDgwLmMKaW5kZXggYTNlMDg4MC4uMGExOWMwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLW00MXQ4MC5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1tNDF0ODAuYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9ydGMuaD4KQEAgLTY1NSwxMiArNjU2LDE2IEBACiBzdGF0aWMgaW50IHdkdF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCWlmIChNSU5PUihpbm9kZS0+aV9yZGV2KSA9PSBXQVRDSERPR19NSU5PUikgewotCQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmd2R0X2lzX29wZW4pKQorCQlsb2NrX2tlcm5lbCgpOworCQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmd2R0X2lzX29wZW4pKSB7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gLUVCVVNZOworCQl9CiAJCS8qCiAJCSAqCUFjdGl2YXRlCiAJCSAqLwogCQl3ZHRfaXNfb3BlbiA9IDE7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIDA7CiAJfQogCXJldHVybiAtRU5PREVWOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLW9tYXAuYyBiL2RyaXZlcnMvcnRjL3J0Yy1vbWFwLmMKaW5kZXggNThmODFjNy4uZWIyM2Q4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLW9tYXAuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtb21hcC5jCkBAIC0yMiw3ICsyMiw2IEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CiAKIAogLyogVGhlIE9NQVAxIFJUQyBpcyBhIHllYXIvbW9udGgvZGF5L2hvdXJzL21pbnV0ZXMvc2Vjb25kcyBCQ0QgY2xvY2sKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1wY2Y4NTYzLmMgYi9kcml2ZXJzL3J0Yy9ydGMtcGNmODU2My5jCmluZGV4IDBmYzRjMzYuLjc0OGE1MDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1wY2Y4NTYzLmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLXBjZjg1NjMuYwpAQCAtMzAyLDYgKzMwMiw3IEBACiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBwY2Y4NTYzX2lkW10gPSB7CiAJeyAicGNmODU2MyIsIDAgfSwKKwl7ICJydGM4NTY0IiwgMCB9LAogCXsgfQogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUoaTJjLCBwY2Y4NTYzX2lkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1wbDAzMC5jIGIvZHJpdmVycy9ydGMvcnRjLXBsMDMwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ0OGVlYgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1wbDAzMC5jCkBAIC0wLDAgKzEsMjE3IEBACisvKgorICogIGxpbnV4L2RyaXZlcnMvcnRjL3J0Yy1wbDAzMC5jCisgKgorICogIENvcHlyaWdodCAoQykgMjAwMC0yMDAxIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9ydGMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvYW1iYS9idXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjZGVmaW5lIFJUQ19EUgkJKDApCisjZGVmaW5lIFJUQ19NUgkJKDQpCisjZGVmaW5lIFJUQ19TVEFUCSg4KQorI2RlZmluZSBSVENfRU9JCQkoOCkKKyNkZWZpbmUgUlRDX0xSCQkoMTIpCisjZGVmaW5lIFJUQ19DUgkJKDE2KQorI2RlZmluZSBSVENfQ1JfTUlFCSgxIDw8IDApCisKK3N0cnVjdCBwbDAzMF9ydGMgeworCXN0cnVjdCBydGNfZGV2aWNlCSpydGM7CisJdm9pZCBfX2lvbWVtCQkqYmFzZTsKK307CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBwbDAzMF9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YyA9IGRldl9pZDsKKwl3cml0ZWwoMCwgcnRjLT5iYXNlICsgUlRDX0VPSSk7CisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgaW50IHBsMDMwX29wZW4oc3RydWN0IGRldmljZSAqZGV2KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBwbDAzMF9yZWxlYXNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKK30KKworc3RhdGljIGludCBwbDAzMF9pb2N0bChzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXJldHVybiAtRU5PSU9DVExDTUQ7Cit9CisKK3N0YXRpYyBpbnQgcGwwMzBfcmVhZF9hbGFybShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBydGNfd2thbHJtICphbHJtKQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJcnRjX3RpbWVfdG9fdG0ocmVhZGwocnRjLT5iYXNlICsgUlRDX01SKSwgJmFscm0tPnRpbWUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHBsMDMwX3NldF9hbGFybShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBydGNfd2thbHJtICphbHJtKQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVuc2lnbmVkIGxvbmcgdGltZTsKKwlpbnQgcmV0OworCisJLyoKKwkgKiBBdCB0aGUgbW9tZW50LCB3ZSBjYW4gb25seSBkZWFsIHdpdGggbm9uLXdpbGRjYXJkZWQgYWxhcm0gdGltZXMuCisJICovCisJcmV0ID0gcnRjX3ZhbGlkX3RtKCZhbHJtLT50aW1lKTsKKwlpZiAocmV0ID09IDApCisJCXJldCA9IHJ0Y190bV90b190aW1lKCZhbHJtLT50aW1lLCAmdGltZSk7CisJaWYgKHJldCA9PSAwKQorCQl3cml0ZWwodGltZSwgcnRjLT5iYXNlICsgUlRDX01SKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBsMDMwX3JlYWRfdGltZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBydGNfdGltZSAqdG0pCit7CisJc3RydWN0IHBsMDMwX3J0YyAqcnRjID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwlydGNfdGltZV90b190bShyZWFkbChydGMtPmJhc2UgKyBSVENfRFIpLCB0bSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNldCB0aGUgUlRDIHRpbWUuICBVbmZvcnR1bmF0ZWx5LCB3ZSBjYW4ndCBhY2N1cmF0ZWx5IHNldAorICogdGhlIHBvaW50IGF0IHdoaWNoIHRoZSBjb3VudGVyIHVwZGF0ZXMuCisgKgorICogQWxzbywgc2luY2UgUlRDX0xSIGlzIHRyYW5zZmVycmVkIHRvIFJUQ19DUiBvbiBuZXh0IHJpc2luZworICogZWRnZSBvZiB0aGUgMUh6IGNsb2NrLCB3ZSBtdXN0IHdyaXRlIHRoZSB0aW1lIG9uZSBzZWNvbmQKKyAqIGluIGFkdmFuY2UuCisgKi8KK3N0YXRpYyBpbnQgcGwwMzBfc2V0X3RpbWUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgcnRjX3RpbWUgKnRtKQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVuc2lnbmVkIGxvbmcgdGltZTsKKwlpbnQgcmV0OworCisJcmV0ID0gcnRjX3RtX3RvX3RpbWUodG0sICZ0aW1lKTsKKwlpZiAocmV0ID09IDApCisJCXdyaXRlbCh0aW1lICsgMSwgcnRjLT5iYXNlICsgUlRDX0xSKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcnRjX2NsYXNzX29wcyBwbDAzMF9vcHMgPSB7CisJLm9wZW4JCT0gcGwwMzBfb3BlbiwKKwkucmVsZWFzZQk9IHBsMDMwX3JlbGVhc2UsCisJLmlvY3RsCQk9IHBsMDMwX2lvY3RsLAorCS5yZWFkX3RpbWUJPSBwbDAzMF9yZWFkX3RpbWUsCisJLnNldF90aW1lCT0gcGwwMzBfc2V0X3RpbWUsCisJLnJlYWRfYWxhcm0JPSBwbDAzMF9yZWFkX2FsYXJtLAorCS5zZXRfYWxhcm0JPSBwbDAzMF9zZXRfYWxhcm0sCit9OworCitzdGF0aWMgaW50IHBsMDMwX3Byb2JlKHN0cnVjdCBhbWJhX2RldmljZSAqZGV2LCB2b2lkICppZCkKK3sKKwlzdHJ1Y3QgcGwwMzBfcnRjICpydGM7CisJaW50IHJldDsKKworCXJldCA9IGFtYmFfcmVxdWVzdF9yZWdpb25zKGRldiwgTlVMTCk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfcmVxOworCisJcnRjID0ga21hbGxvYyhzaXplb2YoKnJ0YyksIEdGUF9LRVJORUwpOworCWlmICghcnRjKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX3J0YzsKKwl9CisKKwlydGMtPmJhc2UgPSBpb3JlbWFwKGRldi0+cmVzLnN0YXJ0LCBTWl80Syk7CisJaWYgKCFydGMtPmJhc2UpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnJfbWFwOworCX0KKworCV9fcmF3X3dyaXRlbCgwLCBydGMtPmJhc2UgKyBSVENfQ1IpOworCV9fcmF3X3dyaXRlbCgwLCBydGMtPmJhc2UgKyBSVENfRU9JKTsKKworCWFtYmFfc2V0X2RydmRhdGEoZGV2LCBydGMpOworCisJcmV0ID0gcmVxdWVzdF9pcnEoZGV2LT5pcnFbMF0sIHBsMDMwX2ludGVycnVwdCwgSVJRRl9ESVNBQkxFRCwKKwkJCSAgInJ0Yy1wbDAzMCIsIHJ0Yyk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfaXJxOworCisJcnRjLT5ydGMgPSBydGNfZGV2aWNlX3JlZ2lzdGVyKCJwbDAzMCIsICZkZXYtPmRldiwgJnBsMDMwX29wcywKKwkJCQkgICAgICAgVEhJU19NT0RVTEUpOworCWlmIChJU19FUlIocnRjLT5ydGMpKSB7CisJCXJldCA9IFBUUl9FUlIocnRjLT5ydGMpOworCQlnb3RvIGVycl9yZWc7CisJfQorCisJcmV0dXJuIDA7CisKKyBlcnJfcmVnOgorCWZyZWVfaXJxKGRldi0+aXJxWzBdLCBydGMpOworIGVycl9pcnE6CisJaW91bm1hcChydGMtPmJhc2UpOworIGVycl9tYXA6CisJa2ZyZWUocnRjKTsKKyBlcnJfcnRjOgorCWFtYmFfcmVsZWFzZV9yZWdpb25zKGRldik7CisgZXJyX3JlcToKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBsMDMwX3JlbW92ZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgcGwwMzBfcnRjICpydGMgPSBhbWJhX2dldF9kcnZkYXRhKGRldik7CisKKwlhbWJhX3NldF9kcnZkYXRhKGRldiwgTlVMTCk7CisKKwl3cml0ZWwoMCwgcnRjLT5iYXNlICsgUlRDX0NSKTsKKworCWZyZWVfaXJxKGRldi0+aXJxWzBdLCBydGMpOworCXJ0Y19kZXZpY2VfdW5yZWdpc3RlcihydGMtPnJ0Yyk7CisJaW91bm1hcChydGMtPmJhc2UpOworCWtmcmVlKHJ0Yyk7CisJYW1iYV9yZWxlYXNlX3JlZ2lvbnMoZGV2KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGFtYmFfaWQgcGwwMzBfaWRzW10gPSB7CisJeworCQkuaWQJPSAweDAwMDQxMDMwLAorCQkubWFzawk9IDB4MDAwZmZmZmYsCisJfSwKKwl7IDAsIDAgfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYW1iYV9kcml2ZXIgcGwwMzBfZHJpdmVyID0geworCS5kcnYJCT0geworCQkubmFtZQk9ICJydGMtcGwwMzAiLAorCX0sCisJLnByb2JlCQk9IHBsMDMwX3Byb2JlLAorCS5yZW1vdmUJCT0gcGwwMzBfcmVtb3ZlLAorCS5pZF90YWJsZQk9IHBsMDMwX2lkcywKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHBsMDMwX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gYW1iYV9kcml2ZXJfcmVnaXN0ZXIoJnBsMDMwX2RyaXZlcik7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBwbDAzMF9leGl0KHZvaWQpCit7CisJYW1iYV9kcml2ZXJfdW5yZWdpc3RlcigmcGwwMzBfZHJpdmVyKTsKK30KKworbW9kdWxlX2luaXQocGwwMzBfaW5pdCk7Cittb2R1bGVfZXhpdChwbDAzMF9leGl0KTsKKworTU9EVUxFX0FVVEhPUigiUnVzc2VsbCBLaW5nIDxybWtAYXJtLmxpbnV4Lm9yZy51az4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiQVJNIEFNQkEgUEwwMzAgUlRDIERyaXZlciIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLXBsMDMxLmMgYi9kcml2ZXJzL3J0Yy9ydGMtcGwwMzEuYwppbmRleCAyZmQ0OWVkLi4wOGI0NjEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtcGwwMzEuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtcGwwMzEuYwpAQCAtMTIsMjMgKzEyLDEyIEBACiAgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24KICAqIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKi8KLQotI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3J0Yy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L3BtLmg+Ci0jaW5jbHVkZSA8bGludXgvYml0b3BzLmg+Ci0KICNpbmNsdWRlIDxsaW51eC9hbWJhL2J1cy5oPgotCi0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+Ci0jaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGFzbS9ydGMuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCiAvKgogICogUmVnaXN0ZXIgZGVmaW5pdGlvbnMKQEAgLTE0MiwxMyArMTMxLDEyIEBACiB7CiAJc3RydWN0IHBsMDMxX2xvY2FsICpsZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgmYWRldi0+ZGV2KTsKIAotCWlmIChsZGF0YSkgewotCQlkZXZfc2V0X2RydmRhdGEoJmFkZXYtPmRldiwgTlVMTCk7Ci0JCWZyZWVfaXJxKGFkZXYtPmlycVswXSwgbGRhdGEtPnJ0Yyk7Ci0JCXJ0Y19kZXZpY2VfdW5yZWdpc3RlcihsZGF0YS0+cnRjKTsKLQkJaW91bm1hcChsZGF0YS0+YmFzZSk7Ci0JCWtmcmVlKGxkYXRhKTsKLQl9CisJYW1iYV9zZXRfZHJ2ZGF0YShhZGV2LCBOVUxMKTsKKwlmcmVlX2lycShhZGV2LT5pcnFbMF0sIGxkYXRhLT5ydGMpOworCXJ0Y19kZXZpY2VfdW5yZWdpc3RlcihsZGF0YS0+cnRjKTsKKwlpb3VubWFwKGxkYXRhLT5iYXNlKTsKKwlrZnJlZShsZGF0YSk7CisJYW1iYV9yZWxlYXNlX3JlZ2lvbnMoYWRldik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTE1OCwxMyArMTQ2LDE1IEBACiAJaW50IHJldDsKIAlzdHJ1Y3QgcGwwMzFfbG9jYWwgKmxkYXRhOwogCisJcmV0ID0gYW1iYV9yZXF1ZXN0X3JlZ2lvbnMoYWRldiwgTlVMTCk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfcmVxOwogCiAJbGRhdGEgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgcGwwMzFfbG9jYWwpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWxkYXRhKSB7CiAJCXJldCA9IC1FTk9NRU07CiAJCWdvdG8gb3V0OwogCX0KLQlkZXZfc2V0X2RydmRhdGEoJmFkZXYtPmRldiwgbGRhdGEpOwogCiAJbGRhdGEtPmJhc2UgPSBpb3JlbWFwKGFkZXYtPnJlcy5zdGFydCwKIAkJCSAgICAgIGFkZXYtPnJlcy5lbmQgLSBhZGV2LT5yZXMuc3RhcnQgKyAxKTsKQEAgLTE3Myw2ICsxNjMsOCBAQAogCQlnb3RvIG91dF9ub19yZW1hcDsKIAl9CiAKKwlhbWJhX3NldF9kcnZkYXRhKGFkZXYsIGxkYXRhKTsKKwogCWlmIChyZXF1ZXN0X2lycShhZGV2LT5pcnFbMF0sIHBsMDMxX2ludGVycnVwdCwgSVJRRl9ESVNBQkxFRCwKIAkJCSJydGMtcGwwMzEiLCBsZGF0YS0+cnRjKSkgewogCQlyZXQgPSAtRUlPOwpAQCAtMTkyLDEwICsxODQsMTIgQEAKIAlmcmVlX2lycShhZGV2LT5pcnFbMF0sIGxkYXRhLT5ydGMpOwogb3V0X25vX2lycToKIAlpb3VubWFwKGxkYXRhLT5iYXNlKTsKKwlhbWJhX3NldF9kcnZkYXRhKGFkZXYsIE5VTEwpOwogb3V0X25vX3JlbWFwOgotCWRldl9zZXRfZHJ2ZGF0YSgmYWRldi0+ZGV2LCBOVUxMKTsKIAlrZnJlZShsZGF0YSk7CiBvdXQ6CisJYW1iYV9yZWxlYXNlX3JlZ2lvbnMoYWRldik7CitlcnJfcmVxOgogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1zM2MuYyBiL2RyaXZlcnMvcnRjL3J0Yy1zM2MuYwppbmRleCBmMjZlMGNhLi5mZWQ4NmU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtczNjLmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLXMzYy5jCkBAIC0yNiwxMCArMjYsNiBAQAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGFzbS9ydGMuaD4KLQotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KLQogI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXJ0Yy5oPgogCiAvKiBJIGhhdmUgeWV0IHRvIGZpbmQgYW4gUzNDIGltcGxlbWVudGF0aW9uIHdpdGggbW9yZSB0aGFuIG9uZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLXNhMTEwMC5jIGIvZHJpdmVycy9ydGMvcnRjLXNhMTEwMC5jCmluZGV4IDY3NDIxYjBkLi5mNDcyOTRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtc2ExMTAwLmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLXNhMTEwMC5jCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL3J0Yy5oPgogCiAjaWZkZWYgQ09ORklHX0FSQ0hfUFhBCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KQEAgLTQ3LDYgKzQ2LDQyIEBACiBzdGF0aWMgc3RydWN0IHJ0Y190aW1lIHJ0Y19hbGFybTsKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0soc2ExMTAwX3J0Y19sb2NrKTsKIAorc3RhdGljIGlubGluZSBpbnQgcnRjX3BlcmlvZGljX2FsYXJtKHN0cnVjdCBydGNfdGltZSAqdG0pCit7CisJcmV0dXJuICAodG0tPnRtX3llYXIgPT0gLTEpIHx8CisJCSgodW5zaWduZWQpdG0tPnRtX21vbiA+PSAxMikgfHwKKwkJKCh1bnNpZ25lZCkodG0tPnRtX21kYXkgLSAxKSA+PSAzMSkgfHwKKwkJKCh1bnNpZ25lZCl0bS0+dG1faG91ciA+IDIzKSB8fAorCQkoKHVuc2lnbmVkKXRtLT50bV9taW4gPiA1OSkgfHwKKwkJKCh1bnNpZ25lZCl0bS0+dG1fc2VjID4gNTkpOworfQorCisvKgorICogQ2FsY3VsYXRlIHRoZSBuZXh0IGFsYXJtIHRpbWUgZ2l2ZW4gdGhlIHJlcXVlc3RlZCBhbGFybSB0aW1lIG1hc2sKKyAqIGFuZCB0aGUgY3VycmVudCB0aW1lLgorICovCitzdGF0aWMgdm9pZCBydGNfbmV4dF9hbGFybV90aW1lKHN0cnVjdCBydGNfdGltZSAqbmV4dCwgc3RydWN0IHJ0Y190aW1lICpub3csIHN0cnVjdCBydGNfdGltZSAqYWxybSkKK3sKKwl1bnNpZ25lZCBsb25nIG5leHRfdGltZTsKKwl1bnNpZ25lZCBsb25nIG5vd190aW1lOworCisJbmV4dC0+dG1feWVhciA9IG5vdy0+dG1feWVhcjsKKwluZXh0LT50bV9tb24gPSBub3ctPnRtX21vbjsKKwluZXh0LT50bV9tZGF5ID0gbm93LT50bV9tZGF5OworCW5leHQtPnRtX2hvdXIgPSBhbHJtLT50bV9ob3VyOworCW5leHQtPnRtX21pbiA9IGFscm0tPnRtX21pbjsKKwluZXh0LT50bV9zZWMgPSBhbHJtLT50bV9zZWM7CisKKwlydGNfdG1fdG9fdGltZShub3csICZub3dfdGltZSk7CisJcnRjX3RtX3RvX3RpbWUobmV4dCwgJm5leHRfdGltZSk7CisKKwlpZiAobmV4dF90aW1lIDwgbm93X3RpbWUpIHsKKwkJLyogQWR2YW5jZSBvbmUgZGF5ICovCisJCW5leHRfdGltZSArPSA2MCAqIDYwICogMjQ7CisJCXJ0Y190aW1lX3RvX3RtKG5leHRfdGltZSwgbmV4dCk7CisJfQorfQorCiBzdGF0aWMgaW50IHJ0Y191cGRhdGVfYWxhcm0oc3RydWN0IHJ0Y190aW1lICphbHJtKQogewogCXN0cnVjdCBydGNfdGltZSBhbGFybV90bSwgbm93X3RtOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2QuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkLmMKaW5kZXggMWE0MDI1Ni4uMWI2YzUyZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2QuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZC5jCkBAIC05OTUsMTQgKzk5NSwxNCBAQAogCW5vdyA9IGdldF9jbG9jaygpOwogCiAJREJGX0VWRU5UKERCRl9FUlIsICJJbnRlcnJ1cHQ6IGJ1c19pZCAlcyBDUy9EUyAlMDR4IGlwICUwOHgiLAotCQkgIGNkZXYtPmRldi5idXNfaWQsICgoaXJiLT5zY3N3LmNzdGF0PDw4KXxpcmItPnNjc3cuZHN0YXQpLAotCQkgICh1bnNpZ25lZCBpbnQpIGludHBhcm0pOworCQkgIGNkZXYtPmRldi5idXNfaWQsICgoaXJiLT5zY3N3LmNtZC5jc3RhdCA8PCA4KSB8CisJCSAgaXJiLT5zY3N3LmNtZC5kc3RhdCksICh1bnNpZ25lZCBpbnQpIGludHBhcm0pOwogCiAJLyogY2hlY2sgZm9yIHVuc29saWNpdGVkIGludGVycnVwdHMgKi8KIAljcXIgPSAoc3RydWN0IGRhc2RfY2N3X3JlcSAqKSBpbnRwYXJtOwotCWlmICghY3FyIHx8ICgoaXJiLT5zY3N3LmNjID09IDEpICYmCi0JCSAgICAgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCi0JCSAgICAgKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSApIHsKKwlpZiAoIWNxciB8fCAoKGlyYi0+c2Nzdy5jbWQuY2MgPT0gMSkgJiYKKwkJICAgICAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCisJCSAgICAgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpIHsKIAkJaWYgKGNxciAmJiBjcXItPnN0YXR1cyA9PSBEQVNEX0NRUl9JTl9JTykKIAkJCWNxci0+c3RhdHVzID0gREFTRF9DUVJfUVVFVUVEOwogCQlkZXZpY2UgPSBkYXNkX2RldmljZV9mcm9tX2NkZXZfbG9ja2VkKGNkZXYpOwpAQCAtMTAyNSw3ICsxMDI1LDcgQEAKIAogCS8qIENoZWNrIGZvciBjbGVhciBwZW5kaW5nICovCiAJaWYgKGNxci0+c3RhdHVzID09IERBU0RfQ1FSX0NMRUFSX1BFTkRJTkcgJiYKLQkgICAgaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykgeworCSAgICBpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykgewogCQljcXItPnN0YXR1cyA9IERBU0RfQ1FSX0NMRUFSRUQ7CiAJCWRhc2RfZGV2aWNlX2NsZWFyX3RpbWVyKGRldmljZSk7CiAJCXdha2VfdXAoJmRhc2RfZmx1c2hfd3EpOwpAQCAtMTA0MSwxMSArMTA0MSwxMSBAQAogCQlyZXR1cm47CiAJfQogCURCRl9ERVZfRVZFTlQoREJGX0RFQlVHLCBkZXZpY2UsICJJbnQ6IENTL0RTIDB4JTA0eCBmb3IgY3FyICVwIiwKLQkJICAgICAgKChpcmItPnNjc3cuY3N0YXQgPDwgOCkgfCBpcmItPnNjc3cuZHN0YXQpLCBjcXIpOworCQkgICAgICAoKGlyYi0+c2Nzdy5jbWQuY3N0YXQgPDwgOCkgfCBpcmItPnNjc3cuY21kLmRzdGF0KSwgY3FyKTsKIAluZXh0ID0gTlVMTDsKIAlleHBpcmVzID0gMDsKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ID09IChERVZfU1RBVF9DSE5fRU5EIHwgREVWX1NUQVRfREVWX0VORCkgJiYKLQkgICAgaXJiLT5zY3N3LmNzdGF0ID09IDAgJiYgIWlyYi0+ZXN3LmVzdzAuZXJ3LmNvbnMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAoREVWX1NUQVRfQ0hOX0VORCB8IERFVl9TVEFUX0RFVl9FTkQpICYmCisJICAgIGlyYi0+c2Nzdy5jbWQuY3N0YXQgPT0gMCAmJiAhaXJiLT5lc3cuZXN3MC5lcncuY29ucykgewogCQkvKiByZXF1ZXN0IHdhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5ICovCiAJCWNxci0+c3RhdHVzID0gREFTRF9DUVJfU1VDQ0VTUzsKIAkJY3FyLT5zdG9wY2xrID0gbm93OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfMzk5MF9lcnAuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkXzM5OTBfZXJwLmMKaW5kZXggZTY3MDBkZi4uNWM2ZTZmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfMzk5MF9lcnAuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF8zOTkwX2VycC5jCkBAIC0xNTcyLDcgKzE1NzIsNyBAQAogCiAJLyogZGV0ZXJtaW5lIHRoZSBhZGRyZXNzIG9mIHRoZSBDQ1cgdG8gYmUgcmVzdGFydGVkICovCiAJLyogSW1wcmVjaXNlIGVuZGluZyBpcyBub3Qgc2V0IC0+IGFkZHIgZnJvbSBJUkItU0NTVyAqLwotCWNwYSA9IGRlZmF1bHRfZXJwLT5yZWZlcnMtPmlyYi5zY3N3LmNwYTsKKwljcGEgPSBkZWZhdWx0X2VycC0+cmVmZXJzLT5pcmIuc2Nzdy5jbWQuY3BhOwogCiAJaWYgKGNwYSA9PSAwKSB7CiAKQEAgLTE3MjUsNyArMTcyNSw3IEBACiAKIAkvKiBkZXRlcm1pbmUgdGhlIGFkZHJlc3Mgb2YgdGhlIENDVyB0byBiZSByZXN0YXJ0ZWQgKi8KIAkvKiBJbXByZWNpc2UgZW5kaW5nIGlzIG5vdCBzZXQgLT4gYWRkciBmcm9tIElSQi1TQ1NXICovCi0JY3BhID0gcHJldmlvdXNfZXJwLT5pcmIuc2Nzdy5jcGE7CisJY3BhID0gcHJldmlvdXNfZXJwLT5pcmIuc2Nzdy5jbWQuY3BhOwogCiAJaWYgKGNwYSA9PSAwKSB7CiAKQEAgLTIxNzEsNyArMjE3MSw3IEBACiB7CiAJc3RydWN0IGRhc2RfZGV2aWNlICpkZXZpY2UgPSBlcnAtPnN0YXJ0ZGV2OwogCi0JaWYgKGVycC0+cmVmZXJzLT5pcmIuc2Nzdy5jc3RhdCAmIChTQ0hOX1NUQVRfSU5URl9DVFJMX0NISworCWlmIChlcnAtPnJlZmVycy0+aXJiLnNjc3cuY21kLmNzdGF0ICYgKFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLCiAJCQkJCSAgIHwgU0NITl9TVEFUX0NITl9DVFJMX0NISykpIHsKIAkJREVWX01FU1NBR0UoS0VSTl9ERUJVRywgZGV2aWNlLCAiJXMiLAogCQkJICAgICJjaGFubmVsIG9yIGludGVyZmFjZSBjb250cm9sIGNoZWNrIik7CkBAIC0yMzUyLDkgKzIzNTIsOSBAQAogCiAJaWYgKChjcXIxLT5pcmIuZXN3LmVzdzAuZXJ3LmNvbnMgPT0gMCkgJiYKIAkgICAgKGNxcjItPmlyYi5lc3cuZXN3MC5lcncuY29ucyA9PSAwKSkJewotCQlpZiAoKGNxcjEtPmlyYi5zY3N3LmNzdGF0ICYgKFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKKwkJaWYgKChjcXIxLT5pcmIuc2Nzdy5jbWQuY3N0YXQgJiAoU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsgfAogCQkJCQkgICAgIFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEspKSA9PQotCQkgICAgKGNxcjItPmlyYi5zY3N3LmNzdGF0ICYgKFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKKwkJICAgIChjcXIyLT5pcmIuc2Nzdy5jbWQuY3N0YXQgJiAoU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsgfAogCQkJCQkgICAgIFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEspKSkKIAkJCXJldHVybiAxOyAvKiBtYXRjaCB3aXRoIGlmY2MqLwogCX0KQEAgLTI2MjIsOCArMjYyMiw5IEBACiAJfQogCiAJLyogZG91YmxlLWNoZWNrIGlmIGN1cnJlbnQgZXJwL2NxciB3YXMgc3VjY2Vzc2Z1bGwgKi8KLQlpZiAoKGNxci0+aXJiLnNjc3cuY3N0YXQgPT0gMHgwMCkgJiYKLQkgICAgKGNxci0+aXJiLnNjc3cuZHN0YXQgPT0gKERFVl9TVEFUX0NITl9FTkR8REVWX1NUQVRfREVWX0VORCkpKSB7CisJaWYgKChjcXItPmlyYi5zY3N3LmNtZC5jc3RhdCA9PSAweDAwKSAmJgorCSAgICAoY3FyLT5pcmIuc2Nzdy5jbWQuZHN0YXQgPT0KKwkgICAgIChERVZfU1RBVF9DSE5fRU5EIHwgREVWX1NUQVRfREVWX0VORCkpKSB7CiAKIAkJREVWX01FU1NBR0UoS0VSTl9ERUJVRywgZGV2aWNlLAogCQkJICAgICJFUlAgY2FsbGVkIGZvciBzdWNjZXNzZnVsIHJlcXVlc3QgJXAiCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lY2tkLmMgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lY2tkLmMKaW5kZXggYTBlZGFlMC4uZTBiNzcyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZWNrZC5jCisrKyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Vja2QuYwpAQCAtMTQwNCwxMyArMTQwNCwxNCBAQAogCiAJLyogZmlyc3Qgb2YgYWxsIGNoZWNrIGZvciBzdGF0ZSBjaGFuZ2UgcGVuZGluZyBpbnRlcnJ1cHQgKi8KIAltYXNrID0gREVWX1NUQVRfQVRURU5USU9OIHwgREVWX1NUQVRfREVWX0VORCB8IERFVl9TVEFUX1VOSVRfRVhDRVA7Ci0JaWYgKChpcmItPnNjc3cuZHN0YXQgJiBtYXNrKSA9PSBtYXNrKSB7CisJaWYgKChpcmItPnNjc3cuY21kLmRzdGF0ICYgbWFzaykgPT0gbWFzaykgewogCQlkYXNkX2dlbmVyaWNfaGFuZGxlX3N0YXRlX2NoYW5nZShkZXZpY2UpOwogCQlyZXR1cm47CiAJfQogCiAJLyogc3VtbWFyeSB1bml0IGNoZWNrICovCi0JaWYgKChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJiBpcmItPmVjd1s3XSA9PSAweDBEKSB7CisJaWYgKChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgJiYKKwkgICAgKGlyYi0+ZWN3WzddID09IDB4MEQpKSB7CiAJCWRhc2RfYWxpYXNfaGFuZGxlX3N1bW1hcnlfdW5pdF9jaGVjayhkZXZpY2UsIGlyYik7CiAJCXJldHVybjsKIAl9CkBAIC0yMDY4LDExICsyMDY5LDExIEBACiAJCSAgICAgIGRldmljZS0+Y2Rldi0+ZGV2LmJ1c19pZCk7CiAJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgogCQkgICAgICAgIiBpbiByZXE6ICVwIENTOiAweCUwMlggRFM6IDB4JTAyWFxuIiwgcmVxLAotCQkgICAgICAgaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuZHN0YXQpOworCQkgICAgICAgaXJiLT5zY3N3LmNtZC5jc3RhdCwgaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgogCQkgICAgICAgIiBkZXZpY2UgJXM6IEZhaWxpbmcgQ0NXOiAlcFxuIiwKIAkJICAgICAgIGRldmljZS0+Y2Rldi0+ZGV2LmJ1c19pZCwKLQkJICAgICAgICh2b2lkICopIChhZGRyX3QpIGlyYi0+c2Nzdy5jcGEpOworCQkgICAgICAgKHZvaWQgKikgKGFkZHJfdCkgaXJiLT5zY3N3LmNtZC5jcGEpOwogCWlmIChpcmItPmVzdy5lc3cwLmVydy5jb25zKSB7CiAJCWZvciAoc2wgPSAwOyBzbCA8IDQ7IHNsKyspIHsKIAkJCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIKQEAgLTIxMjIsNyArMjEyMyw4IEBACiAJCS8qIHNjc3ctPmNkYSBpcyBlaXRoZXIgdmFsaWQgb3IgemVybyAgKi8KIAkJbGVuID0gMDsKIAkJZnJvbSA9ICsrdG87Ci0JCWZhaWwgPSAoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY3BhOyAvKiBmYWlsaW5nIENDVyAqLworCQlmYWlsID0gKHN0cnVjdCBjY3cxICopKGFkZHJfdCkKKwkJCQlpcmItPnNjc3cuY21kLmNwYTsgLyogZmFpbGluZyBDQ1cgKi8KIAkJaWYgKGZyb20gPCAgZmFpbCAtIDIpIHsKIAkJCWZyb20gPSBmYWlsIC0gMjsgICAgIC8qIHRoZXJlIGlzIGEgZ2FwIC0gcHJpbnQgaGVhZGVyICovCiAJCQlsZW4gKz0gc3ByaW50ZihwYWdlLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSICIuLi4uLi5cbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZWVyLmMgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lZXIuYwppbmRleCA2ZTUzYWI2Li4yOWRhNDQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lZXIuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lZXIuYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KQEAgLTUyNSw2ICs1MjYsNyBAQAogCWVlcmIgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZWVyYnVmZmVyKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFlZXJiKQogCQlyZXR1cm4gLUVOT01FTTsKKwlsb2NrX2tlcm5lbCgpOwogCWVlcmItPmJ1ZmZlcl9wYWdlX2NvdW50ID0gZWVyX3BhZ2VzOwogCWlmIChlZXJiLT5idWZmZXJfcGFnZV9jb3VudCA8IDEgfHwKIAkgICAgZWVyYi0+YnVmZmVyX3BhZ2VfY291bnQgPiBJTlRfTUFYIC8gUEFHRV9TSVpFKSB7CkBAIC01MzIsNiArNTM0LDcgQEAKIAkJTUVTU0FHRShLRVJOX1dBUk5JTkcsICJjYW4ndCBvcGVuIGRldmljZSBzaW5jZSBtb2R1bGUgIgogCQkJInBhcmFtZXRlciBlZXJfcGFnZXMgaXMgc21hbGxlciB0aGVuIDEgb3IiCiAJCQkiIGJpZ2dlciB0aGVuICVkIiwgKGludCkoSU5UX01BWCAvIFBBR0VfU0laRSkpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAllZXJiLT5idWZmZXJzaXplID0gZWVyYi0+YnVmZmVyX3BhZ2VfY291bnQgKiBQQUdFX1NJWkU7CkBAIC01MzksMTIgKzU0MiwxNCBAQAogCQkJICAgICAgIEdGUF9LRVJORUwpOwogICAgICAgICBpZiAoIWVlcmItPmJ1ZmZlcikgewogCQlrZnJlZShlZXJiKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwogCX0KIAlpZiAoZGFzZF9lZXJfYWxsb2NhdGVfYnVmZmVyX3BhZ2VzKGVlcmItPmJ1ZmZlciwKIAkJCQkJICAgZWVyYi0+YnVmZmVyX3BhZ2VfY291bnQpKSB7CiAJCWtmcmVlKGVlcmItPmJ1ZmZlcik7CiAJCWtmcmVlKGVlcmIpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBlZXJiOwpAQCAtNTUyLDYgKzU1Nyw3IEBACiAJbGlzdF9hZGQoJmVlcmItPmxpc3QsICZidWZmZXJsaXN0KTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZidWZmZXJsb2NrLCBmbGFncyk7CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5wLGZpbHApOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9mYmEuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2ZiYS5jCmluZGV4IDExNjYxMTUuLmFlZTQ2NTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2ZiYS5jCisrKyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2ZiYS5jCkBAIC0yMjIsNyArMjIyLDcgQEAKIAogCS8qIGZpcnN0IG9mIGFsbCBjaGVjayBmb3Igc3RhdGUgY2hhbmdlIHBlbmRpbmcgaW50ZXJydXB0ICovCiAJbWFzayA9IERFVl9TVEFUX0FUVEVOVElPTiB8IERFVl9TVEFUX0RFVl9FTkQgfCBERVZfU1RBVF9VTklUX0VYQ0VQOwotCWlmICgoaXJiLT5zY3N3LmRzdGF0ICYgbWFzaykgPT0gbWFzaykgeworCWlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIG1hc2spID09IG1hc2spIHsKIAkJZGFzZF9nZW5lcmljX2hhbmRsZV9zdGF0ZV9jaGFuZ2UoZGV2aWNlKTsKIAkJcmV0dXJuOwogCX0KQEAgLTQ0OSwxMSArNDQ5LDExIEBACiAJCSAgICAgIGRldmljZS0+Y2Rldi0+ZGV2LmJ1c19pZCk7CiAJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgogCQkgICAgICAgIiBpbiByZXE6ICVwIENTOiAweCUwMlggRFM6IDB4JTAyWFxuIiwgcmVxLAotCQkgICAgICAgaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuZHN0YXQpOworCQkgICAgICAgaXJiLT5zY3N3LmNtZC5jc3RhdCwgaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgogCQkgICAgICAgIiBkZXZpY2UgJXM6IEZhaWxpbmcgQ0NXOiAlcFxuIiwKIAkJICAgICAgIGRldmljZS0+Y2Rldi0+ZGV2LmJ1c19pZCwKLQkJICAgICAgICh2b2lkICopIChhZGRyX3QpIGlyYi0+c2Nzdy5jcGEpOworCQkgICAgICAgKHZvaWQgKikgKGFkZHJfdCkgaXJiLT5zY3N3LmNtZC5jcGEpOwogCWlmIChpcmItPmVzdy5lc3cwLmVydy5jb25zKSB7CiAJCWZvciAoc2wgPSAwOyBzbCA8IDQ7IHNsKyspIHsKIAkJCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIKQEAgLTQ5OCwxMSArNDk4LDExIEBACiAKIAkvKiBwcmludCBmYWlsaW5nIENDVyBhcmVhICovCiAJbGVuID0gMDsKLQlpZiAoYWN0IDwgICgoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY3BhKSAtIDIpIHsKLQkJYWN0ID0gKChzdHJ1Y3QgY2N3MSAqKShhZGRyX3QpIGlyYi0+c2Nzdy5jcGEpIC0gMjsKKwlpZiAoYWN0IDwgICgoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY21kLmNwYSkgLSAyKSB7CisJCWFjdCA9ICgoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY21kLmNwYSkgLSAyOwogCQlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSICIuLi4uLi5cbiIpOwogCX0KLQllbmQgPSBtaW4oKHN0cnVjdCBjY3cxICopKGFkZHJfdCkgaXJiLT5zY3N3LmNwYSArIDIsIGxhc3QpOworCWVuZCA9IG1pbigoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY21kLmNwYSArIDIsIGxhc3QpOwogCXdoaWxlIChhY3QgPD0gZW5kKSB7CiAJCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIKIAkJCSAgICAgICAiIENDVyAlcDogJTA4WCAlMDhYIERBVDoiLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rjc3NibGsuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kY3NzYmxrLmMKaW5kZXggYmI1MmQyZi4uMDFmY2RkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rjc3NibGsuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGNzc2Jsay5jCkBAIC0xNjcsMTAgKzE2Nyw4IEBACiAJc3RydWN0IGRjc3NibGtfZGV2X2luZm8gKmRldl9pbmZvOwogCWludCByYzsKIAotCWlmICgoY291bnQgPiAxKSAmJiAoaW5idWZbMV0gIT0gJ1xuJykgJiYgKGluYnVmWzFdICE9ICdcMCcpKSB7Ci0JCVBSSU5UX1dBUk4oIkludmFsaWQgdmFsdWUsIG11c3QgYmUgMCBvciAxXG4iKTsKKwlpZiAoKGNvdW50ID4gMSkgJiYgKGluYnVmWzFdICE9ICdcbicpICYmIChpbmJ1ZlsxXSAhPSAnXDAnKSkKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JfQogCWRvd25fd3JpdGUoJmRjc3NibGtfZGV2aWNlc19zZW0pOwogCWRldl9pbmZvID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IGRjc3NibGtfZGV2X2luZm8sIGRldik7CiAJaWYgKGF0b21pY19yZWFkKCZkZXZfaW5mby0+dXNlX2NvdW50KSkgewpAQCAtMjE1LDcgKzIxMyw2IEBACiAJCQlzZXRfZGlza19ybyhkZXZfaW5mby0+Z2QsIDApOwogCQl9CiAJfSBlbHNlIHsKLQkJUFJJTlRfV0FSTigiSW52YWxpZCB2YWx1ZSwgbXVzdCBiZSAwIG9yIDFcbiIpOwogCQlyYyA9IC1FSU5WQUw7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTI1OCwxMCArMjU1LDggQEAKIHsKIAlzdHJ1Y3QgZGNzc2Jsa19kZXZfaW5mbyAqZGV2X2luZm87CiAKLQlpZiAoKGNvdW50ID4gMSkgJiYgKGluYnVmWzFdICE9ICdcbicpICYmIChpbmJ1ZlsxXSAhPSAnXDAnKSkgewotCQlQUklOVF9XQVJOKCJJbnZhbGlkIHZhbHVlLCBtdXN0IGJlIDAgb3IgMVxuIik7CisJaWYgKChjb3VudCA+IDEpICYmIChpbmJ1ZlsxXSAhPSAnXG4nKSAmJiAoaW5idWZbMV0gIT0gJ1wwJykpCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAlkZXZfaW5mbyA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBkY3NzYmxrX2Rldl9pbmZvLCBkZXYpOwogCiAJZG93bl93cml0ZSgmZGNzc2Jsa19kZXZpY2VzX3NlbSk7CkBAIC0yODksNyArMjg0LDYgQEAKIAkJfQogCX0gZWxzZSB7CiAJCXVwX3dyaXRlKCZkY3NzYmxrX2RldmljZXNfc2VtKTsKLQkJUFJJTlRfV0FSTigiSW52YWxpZCB2YWx1ZSwgbXVzdCBiZSAwIG9yIDFcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJdXBfd3JpdGUoJmRjc3NibGtfZGV2aWNlc19zZW0pOwpAQCAtNDQxLDcgKzQzNSw2IEBACiAJZ290byBvdXQ7CiAKIHVucmVnaXN0ZXJfZGV2OgotCVBSSU5UX0VSUigiZGV2aWNlX2NyZWF0ZV9maWxlKCkgZmFpbGVkIVxuIik7CiAJbGlzdF9kZWwoJmRldl9pbmZvLT5saCk7CiAJYmxrX2NsZWFudXBfcXVldWUoZGV2X2luZm8tPmRjc3NibGtfcXVldWUpOwogCWRldl9pbmZvLT5nZC0+cXVldWUgPSBOVUxMOwpAQCAtNzAyLDEwICs2OTUsOCBAQAogc3RhdGljIHZvaWQgX19leGl0CiBkY3NzYmxrX2V4aXQodm9pZCkKIHsKLQlQUklOVF9ERUJVRygiRENTU0JMT0NLIEVYSVQuLi5cbiIpOwogCXMzOTBfcm9vdF9kZXZfdW5yZWdpc3RlcihkY3NzYmxrX3Jvb3RfZGV2KTsKIAl1bnJlZ2lzdGVyX2Jsa2RldihkY3NzYmxrX21ham9yLCBEQ1NTQkxLX05BTUUpOwotCVBSSU5UX0RFQlVHKCIuLi5maW5pc2hlZCFcbiIpOwogfQogCiBzdGF0aWMgaW50IF9faW5pdApAQCAtNzEzLDI3ICs3MDQsMjEgQEAKIHsKIAlpbnQgcmM7CiAKLQlQUklOVF9ERUJVRygiRENTU0JMT0NLIElOSVQuLi5cbiIpOwogCWRjc3NibGtfcm9vdF9kZXYgPSBzMzkwX3Jvb3RfZGV2X3JlZ2lzdGVyKCJkY3NzYmxrIik7Ci0JaWYgKElTX0VSUihkY3NzYmxrX3Jvb3RfZGV2KSkgewotCQlQUklOVF9FUlIoImRldmljZV9yZWdpc3RlcigpIGZhaWxlZCFcbiIpOworCWlmIChJU19FUlIoZGNzc2Jsa19yb290X2RldikpCiAJCXJldHVybiBQVFJfRVJSKGRjc3NibGtfcm9vdF9kZXYpOwotCX0KIAlyYyA9IGRldmljZV9jcmVhdGVfZmlsZShkY3NzYmxrX3Jvb3RfZGV2LCAmZGV2X2F0dHJfYWRkKTsKIAlpZiAocmMpIHsKLQkJUFJJTlRfRVJSKCJkZXZpY2VfY3JlYXRlX2ZpbGUoYWRkKSBmYWlsZWQhXG4iKTsKIAkJczM5MF9yb290X2Rldl91bnJlZ2lzdGVyKGRjc3NibGtfcm9vdF9kZXYpOwogCQlyZXR1cm4gcmM7CiAJfQogCXJjID0gZGV2aWNlX2NyZWF0ZV9maWxlKGRjc3NibGtfcm9vdF9kZXYsICZkZXZfYXR0cl9yZW1vdmUpOwogCWlmIChyYykgewotCQlQUklOVF9FUlIoImRldmljZV9jcmVhdGVfZmlsZShyZW1vdmUpIGZhaWxlZCFcbiIpOwogCQlzMzkwX3Jvb3RfZGV2X3VucmVnaXN0ZXIoZGNzc2Jsa19yb290X2Rldik7CiAJCXJldHVybiByYzsKIAl9CiAJcmMgPSByZWdpc3Rlcl9ibGtkZXYoMCwgRENTU0JMS19OQU1FKTsKIAlpZiAocmMgPCAwKSB7Ci0JCVBSSU5UX0VSUigiQ2FuJ3QgZ2V0IGR5bmFtaWMgbWFqb3IhXG4iKTsKIAkJczM5MF9yb290X2Rldl91bnJlZ2lzdGVyKGRjc3NibGtfcm9vdF9kZXYpOwogCQlyZXR1cm4gcmM7CiAJfQpAQCAtNzQyLDcgKzcyNyw2IEBACiAKIAlkY3NzYmxrX2NoZWNrX3BhcmFtcygpOwogCi0JUFJJTlRfREVCVUcoIi4uLmZpbmlzaGVkIVxuIik7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9ibG9jay94cHJhbS5jIGIvZHJpdmVycy9zMzkwL2Jsb2NrL3hwcmFtLmMKaW5kZXggZjIzMWJjMi4uZGQ5Yjk4NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL3hwcmFtLmMKKysrIGIvZHJpdmVycy9zMzkwL2Jsb2NrL3hwcmFtLmMKQEAgLTEwMCwxNSArMTAwLDEwIEBACiAJCTogIitkIiAoY2MpIDogImEiIChfX3BhKHBhZ2VfYWRkcikpLCAiZCIgKHhwYWdlX2luZGV4KSA6ICJjYyIpOwogCWlmIChjYyA9PSAzKQogCQlyZXR1cm4gLUVOWElPOwotCWlmIChjYyA9PSAyKSB7Ci0JCVBSSU5UX0VSUigiZXhwYW5kZWQgc3RvcmFnZSBsb3N0IVxuIik7CisJaWYgKGNjID09IDIpCiAJCXJldHVybiAtRU5YSU87Ci0JfQotCWlmIChjYyA9PSAxKSB7Ci0JCVBSSU5UX0VSUigicGFnZSBpbiBmYWlsZWQgZm9yIHBhZ2UgaW5kZXggJXUuXG4iLAotCQkJICB4cGFnZV9pbmRleCk7CisJaWYgKGNjID09IDEpCiAJCXJldHVybiAtRUlPOwotCX0KIAlyZXR1cm4gMDsKIH0KIApAQCAtMTM1LDE1ICsxMzAsMTAgQEAKIAkJOiAiK2QiIChjYykgOiAiYSIgKF9fcGEocGFnZV9hZGRyKSksICJkIiAoeHBhZ2VfaW5kZXgpIDogImNjIik7CiAJaWYgKGNjID09IDMpCiAJCXJldHVybiAtRU5YSU87Ci0JaWYgKGNjID09IDIpIHsKLQkJUFJJTlRfRVJSKCJleHBhbmRlZCBzdG9yYWdlIGxvc3QhXG4iKTsKKwlpZiAoY2MgPT0gMikKIAkJcmV0dXJuIC1FTlhJTzsKLQl9Ci0JaWYgKGNjID09IDEpIHsKLQkJUFJJTlRfRVJSKCJwYWdlIG91dCBmYWlsZWQgZm9yIHBhZ2UgaW5kZXggJXUuXG4iLAotCQkJICB4cGFnZV9pbmRleCk7CisJaWYgKGNjID09IDEpCiAJCXJldHVybiAtRUlPOwotCX0KIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvY29uMzIxNS5jIGIvZHJpdmVycy9zMzkwL2NoYXIvY29uMzIxNS5jCmluZGV4IDNlNTY1M2MuLmQzZWM5YjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyMTUuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjE1LmMKQEAgLTkzLDkgKzkzLDYgQEAKIAlzdHJ1Y3QgcmF3MzIxNV9yZXEgKnF1ZXVlZF93cml0ZTsvKiBwb2ludGVyIHRvIHF1ZXVlZCB3cml0ZSByZXF1ZXN0cyAqLwogCXdhaXRfcXVldWVfaGVhZF90IGVtcHR5X3dhaXQ7IC8qIHdhaXQgcXVldWUgZm9yIGZsdXNoaW5nICovCiAJc3RydWN0IHRpbWVyX2xpc3QgdGltZXI7ICAgICAgLyogdGltZXIgZm9yIGRlbGF5ZWQgb3V0cHV0ICovCi0JY2hhciAqbWVzc2FnZTsJCSAgICAgIC8qIHBlbmRpbmcgbWVzc2FnZSBmcm9tIHJhdzMyMTVfaXJxICovCi0JaW50IG1zZ19kc3RhdDsJCSAgICAgIC8qIGRzdGF0IGZvciBwZW5kaW5nIG1lc3NhZ2UgKi8KLQlpbnQgbXNnX2NzdGF0OwkJICAgICAgLyogY3N0YXQgZm9yIHBlbmRpbmcgbWVzc2FnZSAqLwogCWludCBsaW5lX3BvczsJCSAgICAgIC8qIHBvc2l0aW9uIG9uIHRoZSBsaW5lIChmb3IgdGFicykgKi8KIAljaGFyIHVidWZmZXJbODBdOwkgICAgICAvKiBjb3B5X2Zyb21fdXNlciBidWZmZXIgKi8KIH07CkBAIC0zNTksMTEgKzM1Niw2IEBACiAJcmF3MzIxNV9ta193cml0ZV9yZXEocmF3KTsKIAlyYXczMjE1X3RyeV9pbyhyYXcpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoZ2V0X2Njd2Rldl9sb2NrKHJhdy0+Y2RldiksIGZsYWdzKTsKLQkvKiBDaGVjayBmb3IgcGVuZGluZyBtZXNzYWdlIGZyb20gcmF3MzIxNV9pcnEgKi8KLQlpZiAocmF3LT5tZXNzYWdlICE9IE5VTEwpIHsKLQkJcHJpbnRrKHJhdy0+bWVzc2FnZSwgcmF3LT5tc2dfZHN0YXQsIHJhdy0+bXNnX2NzdGF0KTsKLQkJcmF3LT5tZXNzYWdlID0gTlVMTDsKLQl9CiAJdHR5ID0gcmF3LT50dHk7CiAJaWYgKHR0eSAhPSBOVUxMICYmCiAJICAgIFJBVzMyMTVfQlVGRkVSX1NJWkUgLSByYXctPmNvdW50ID49IFJBVzMyMTVfTUlOX1NQQUNFKSB7CkBAIC0zODEsMjAgKzM3MywxNCBAQAogCXN0cnVjdCByYXczMjE1X3JlcSAqcmVxOwogCXN0cnVjdCB0dHlfc3RydWN0ICp0dHk7CiAJaW50IGNzdGF0LCBkc3RhdDsKLQlpbnQgY291bnQsIHNsZW47CisJaW50IGNvdW50OwogCiAJcmF3ID0gY2Rldi0+ZGV2LmRyaXZlcl9kYXRhOwogCXJlcSA9IChzdHJ1Y3QgcmF3MzIxNV9yZXEgKikgaW50cGFybTsKLQljc3RhdCA9IGlyYi0+c2Nzdy5jc3RhdDsKLQlkc3RhdCA9IGlyYi0+c2Nzdy5kc3RhdDsKLQlpZiAoY3N0YXQgIT0gMCkgewotCQlyYXctPm1lc3NhZ2UgPSBLRVJOX1dBUk5JTkcKLQkJCSJHb3Qgbm9uemVybyBjaGFubmVsIHN0YXR1cyBpbiByYXczMjE1X2lycSAiCi0JCQkiKGRldiBzdHMgMHglMngsIHNjaCBzdHMgMHglMngpIjsKLQkJcmF3LT5tc2dfZHN0YXQgPSBkc3RhdDsKLQkJcmF3LT5tc2dfY3N0YXQgPSBjc3RhdDsKKwljc3RhdCA9IGlyYi0+c2Nzdy5jbWQuY3N0YXQ7CisJZHN0YXQgPSBpcmItPnNjc3cuY21kLmRzdGF0OworCWlmIChjc3RhdCAhPSAwKQogCQl0YXNrbGV0X3NjaGVkdWxlKCZyYXctPnRhc2tsZXQpOwotCX0KIAlpZiAoZHN0YXQgJiAweDAxKSB7IC8qIHdlIGdvdCBhIHVuaXQgZXhjZXB0aW9uICovCiAJCWRzdGF0ICY9IH4weDAxOwkgLyogd2UgY2FuIGlnbm9yZSBpdCAqLwogCX0KQEAgLTQwNCw4ICszOTAsNiBAQAogCQkJYnJlYWs7CiAJCS8qIEF0dGVudGlvbiBpbnRlcnJ1cHQsIHNvbWVvbmUgaGl0IHRoZSBlbnRlciBrZXkgKi8KIAkJcmF3MzIxNV9ta19yZWFkX3JlcShyYXcpOwotCQlpZiAoTUFDSElORV9JU19QMzkwKQotCQkJbWVtc2V0KHJhdy0+aW5idWYsIDAsIFJBVzMyMTVfSU5CVUZfU0laRSk7CiAJCXRhc2tsZXRfc2NoZWR1bGUoJnJhdy0+dGFza2xldCk7CiAJCWJyZWFrOwogCWNhc2UgMHgwODoKQEAgLTQxNSw3ICszOTksNyBAQAogCQkJcmV0dXJuOwkJICAgICAvKiBUaGF0IHNob3VsZG4ndCBoYXBwZW4gLi4uICovCiAJCWlmIChyZXEtPnR5cGUgPT0gUkFXMzIxNV9SRUFEKSB7CiAJCQkvKiBzdG9yZSByZXNpZHVhbCBjb3VudCwgdGhlbiB3YWl0IGZvciBkZXZpY2UgZW5kICovCi0JCQlyZXEtPnJlc2lkdWFsID0gaXJiLT5zY3N3LmNvdW50OworCQkJcmVxLT5yZXNpZHVhbCA9IGlyYi0+c2Nzdy5jbWQuY291bnQ7CiAJCX0KIAkJaWYgKGRzdGF0ID09IDB4MDgpCiAJCQlicmVhazsKQEAgLTQyOCwxMSArNDEyLDYgQEAKIAogCQkJdHR5ID0gcmF3LT50dHk7CiAJCQljb3VudCA9IDE2MCAtIHJlcS0+cmVzaWR1YWw7Ci0JCQlpZiAoTUFDSElORV9JU19QMzkwKSB7Ci0JCQkJc2xlbiA9IHN0cm5sZW4ocmF3LT5pbmJ1ZiwgUkFXMzIxNV9JTkJVRl9TSVpFKTsKLQkJCQlpZiAoY291bnQgPiBzbGVuKQotCQkJCQljb3VudCA9IHNsZW47Ci0JCQl9IGVsc2UKIAkJCUVCQ0FTQyhyYXctPmluYnVmLCBjb3VudCk7CiAJCQljY2hhciA9IGN0cmxjaGFyX2hhbmRsZShyYXctPmluYnVmLCBjb3VudCwgdHR5KTsKIAkJCXN3aXRjaCAoY2NoYXIgJiBDVFJMQ0hBUl9NQVNLKSB7CkBAIC00ODEsMTEgKzQ2MCw2IEBACiAJCQlyYXctPmZsYWdzICY9IH5SQVczMjE1X1dPUktJTkc7CiAJCQlyYXczMjE1X2ZyZWVfcmVxKHJlcSk7CiAJCX0KLQkJcmF3LT5tZXNzYWdlID0gS0VSTl9XQVJOSU5HCi0JCQkiU3B1cmlvdXMgaW50ZXJydXB0IGluIGluIHJhdzMyMTVfaXJxICIKLQkJCSIoZGV2IHN0cyAweCUyeCwgc2NoIHN0cyAweCUyeCkiOwotCQlyYXctPm1zZ19kc3RhdCA9IGRzdGF0OwotCQlyYXctPm1zZ19jc3RhdCA9IGNzdGF0OwogCQl0YXNrbGV0X3NjaGVkdWxlKCZyYXctPnRhc2tsZXQpOwogCX0KIAlyZXR1cm47CkBAIC04ODMsNyArODU3LDYgQEAKIAkJZnJlZV9ib290bWVtKCh1bnNpZ25lZCBsb25nKSByYXctPmJ1ZmZlciwgUkFXMzIxNV9CVUZGRVJfU0laRSk7CiAJCWZyZWVfYm9vdG1lbSgodW5zaWduZWQgbG9uZykgcmF3LCBzaXplb2Yoc3RydWN0IHJhdzMyMTVfaW5mbykpOwogCQlyYXczMjE1WzBdID0gTlVMTDsKLQkJcHJpbnRrKCJDb3VsZG4ndCBmaW5kIGEgMzIxNSBjb25zb2xlIGRldmljZVxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAlyZWdpc3Rlcl9jb25zb2xlKCZjb24zMjE1KTsKQEAgLTExNTcsNyArMTEzMCw2IEBACiAJdHR5X3NldF9vcGVyYXRpb25zKGRyaXZlciwgJnR0eTMyMTVfb3BzKTsKIAlyZXQgPSB0dHlfcmVnaXN0ZXJfZHJpdmVyKGRyaXZlcik7CiAJaWYgKHJldCkgewotCQlwcmludGsoIkNvdWxkbid0IHJlZ2lzdGVyIHR0eTMyMTUgZHJpdmVyXG4iKTsKIAkJcHV0X3R0eV9kcml2ZXIoZHJpdmVyKTsKIAkJcmV0dXJuIHJldDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjcwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjcwLmMKaW5kZXggMGIwNDA1NS4uM2MwNzk3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvY29uMzI3MC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyNzAuYwpAQCAtNDExLDE1ICs0MTEsMTUgQEAKIGNvbjMyNzBfaXJxKHN0cnVjdCBjb24zMjcwICpjcCwgc3RydWN0IHJhdzMyNzBfcmVxdWVzdCAqcnEsIHN0cnVjdCBpcmIgKmlyYikKIHsKIAkvKiBIYW5kbGUgQVRUTi4gU2NoZWR1bGUgdGFza2xldCB0byByZWFkIGFpZC4gKi8KLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKQorCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKQogCQljb24zMjcwX2lzc3VlX3JlYWQoY3ApOwogCiAJaWYgKHJxKSB7Ci0JCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQorCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAJCQlycS0+cmMgPSAtRUlPOwogCQllbHNlCiAJCQkvKiBOb3JtYWwgZW5kLiBDb3B5IHJlc2lkdWFsIGNvdW50LiAqLwotCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jb3VudDsKKwkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY21kLmNvdW50OwogCX0KIAlyZXR1cm4gUkFXMzI3MF9JT19ET05FOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvZnMzMjcwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9mczMyNzAuYwppbmRleCBlZjM2ZjIxMy4uZDE4ZTZkMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvZnMzMjcwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvZnMzMjcwLmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2Njd2Rldi5oPgogI2luY2x1ZGUgPGFzbS9jaW8uaD4KQEAgLTIxNiwxNyArMjE3LDE3IEBACiBmczMyNzBfaXJxKHN0cnVjdCBmczMyNzAgKmZwLCBzdHJ1Y3QgcmF3MzI3MF9yZXF1ZXN0ICpycSwgc3RydWN0IGlyYiAqaXJiKQogewogCS8qIEhhbmRsZSBBVFROLiBTZXQgaW5kaWNhdGlvbiBhbmQgd2FrZSB3YWl0ZXJzIGZvciBhdHRlbnRpb24uICovCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CiAJCWZwLT5hdHRlbnRpb24gPSAxOwogCQl3YWtlX3VwKCZmcC0+d2FpdCk7CiAJfQogCiAJaWYgKHJxKSB7Ci0JCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQorCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAJCQlycS0+cmMgPSAtRUlPOwogCQllbHNlCiAJCQkvKiBOb3JtYWwgZW5kLiBDb3B5IHJlc2lkdWFsIGNvdW50LiAqLwotCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jb3VudDsKKwkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY21kLmNvdW50OwogCX0KIAlyZXR1cm4gUkFXMzI3MF9JT19ET05FOwogfQpAQCAtNDIxLDYgKzQyMiw3IEBACiAKIAlpZiAoaW1ham9yKGZpbHAtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpICE9IElCTV9GUzMyNzBfTUFKT1IpCiAJCXJldHVybiAtRU5PREVWOworCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBpbWlub3IoZmlscC0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk7CiAJLyogQ2hlY2sgZm9yIG1pbm9yIDAgbXVsdGlwbGV4ZXIuICovCiAJaWYgKG1pbm9yID09IDApIHsKQEAgLTQyOSw3ICs0MzEsOCBAQAogCQl0dHkgPSBnZXRfY3VycmVudF90dHkoKTsKIAkJaWYgKCF0dHkgfHwgdHR5LT5kcml2ZXItPm1ham9yICE9IElCTV9UVFkzMjcwX01BSk9SKSB7CiAJCQltdXRleF91bmxvY2soJnR0eV9tdXRleCk7Ci0JCQlyZXR1cm4gLUVOT0RFVjsKKwkJCXJjID0gLUVOT0RFVjsKKwkJCWdvdG8gb3V0OwogCQl9CiAJCW1pbm9yID0gdHR5LT5pbmRleCArIFJBVzMyNzBfRklSU1RNSU5PUjsKIAkJbXV0ZXhfdW5sb2NrKCZ0dHlfbXV0ZXgpOwpAQCAtNDM4LDE5ICs0NDEsMjIgQEAKIAlmcCA9IChzdHJ1Y3QgZnMzMjcwICopIHJhdzMyNzBfZmluZF92aWV3KCZmczMyNzBfZm4sIG1pbm9yKTsKIAlpZiAoIUlTX0VSUihmcCkpIHsKIAkJcmF3MzI3MF9wdXRfdmlldygmZnAtPnZpZXcpOwotCQlyZXR1cm4gLUVCVVNZOworCQlyYyA9IC1FQlVTWTsKKwkJZ290byBvdXQ7CiAJfQogCS8qIEFsbG9jYXRlIGZ1bGxzY3JlZW4gdmlldyBzdHJ1Y3R1cmUuICovCiAJZnAgPSBmczMyNzBfYWxsb2NfdmlldygpOwotCWlmIChJU19FUlIoZnApKQotCQlyZXR1cm4gUFRSX0VSUihmcCk7CisJaWYgKElTX0VSUihmcCkpIHsKKwkJcmMgPSBQVFJfRVJSKGZwKTsKKwkJZ290byBvdXQ7CisJfQogCiAJaW5pdF93YWl0cXVldWVfaGVhZCgmZnAtPndhaXQpOwogCWZwLT5mc19waWQgPSBnZXRfcGlkKHRhc2tfcGlkKGN1cnJlbnQpKTsKIAlyYyA9IHJhdzMyNzBfYWRkX3ZpZXcoJmZwLT52aWV3LCAmZnMzMjcwX2ZuLCBtaW5vcik7CiAJaWYgKHJjKSB7CiAJCWZzMzI3MF9mcmVlX3ZpZXcoJmZwLT52aWV3KTsKLQkJcmV0dXJuIHJjOworCQlnb3RvIG91dDsKIAl9CiAKIAkvKiBBbGxvY2F0ZSBpZGFsLWJ1ZmZlci4gKi8KQEAgLTQ1OCw3ICs0NjQsOCBAQAogCWlmIChJU19FUlIoaWIpKSB7CiAJCXJhdzMyNzBfcHV0X3ZpZXcoJmZwLT52aWV3KTsKIAkJcmF3MzI3MF9kZWxfdmlldygmZnAtPnZpZXcpOwotCQlyZXR1cm4gUFRSX0VSUihmcCk7CisJCXJjID0gUFRSX0VSUihmcCk7CisJCWdvdG8gb3V0OwogCX0KIAlmcC0+cmRidWYgPSBpYjsKIApAQCAtNDY2LDkgKzQ3MywxMSBAQAogCWlmIChyYykgewogCQlyYXczMjcwX3B1dF92aWV3KCZmcC0+dmlldyk7CiAJCXJhdzMyNzBfZGVsX3ZpZXcoJmZwLT52aWV3KTsKLQkJcmV0dXJuIHJjOworCQlnb3RvIG91dDsKIAl9CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gZnA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCkBAIC01MTIsMTEgKzUyMSw4IEBACiAJaW50IHJjOwogCiAJcmMgPSByZWdpc3Rlcl9jaHJkZXYoSUJNX0ZTMzI3MF9NQUpPUiwgImZzMzI3MCIsICZmczMyNzBfZm9wcyk7Ci0JaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiZnMzMjcwIGNhbid0IGdldCBtYWpvciBudW1iZXIgJWQ6IGVycm5vICVkXG4iLAotCQkgICAgICAgSUJNX0ZTMzI3MF9NQUpPUiwgcmMpOworCWlmIChyYykKIAkJcmV0dXJuIHJjOwotCX0KIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvbW9ucmVhZGVyLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9tb25yZWFkZXIuYwppbmRleCAxZTFmNTA2Li4zNWZkOGRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9tb25yZWFkZXIuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9tb25yZWFkZXIuYwpAQCAtMywxNCArMywxNCBAQAogICoKICAqIENoYXJhY3RlciBkZXZpY2UgZHJpdmVyIGZvciByZWFkaW5nIHovVk0gKk1PTklUT1Igc2VydmljZSByZWNvcmRzLgogICoKLSAqIENvcHlyaWdodCAyMDA0IElCTSBDb3Jwb3JhdGlvbiwgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkguCi0gKgotICogQXV0aG9yOiBHZXJhbGQgU2NoYWVmZXIgPGdlcmFsZHNjQGRlLmlibS5jb20+CisgKiAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwNCwgMjAwOAorICogICBBdXRob3I6IEdlcmFsZCBTY2hhZWZlciA8Z2VyYWxkLnNjaGFlZmVyQGRlLmlibS5jb20+CiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpAQCAtMTgsMTIgKzE4LDExIEBACiAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KKyNpbmNsdWRlIDxuZXQvaXVjdi9pdWN2Lmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vZWJjZGljLmg+CiAjaW5jbHVkZSA8YXNtL2V4dG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KLSNpbmNsdWRlIDxuZXQvaXVjdi9pdWN2Lmg+Ci0KIAogLy8jZGVmaW5lIE1PTl9ERUJVRwkJCS8qIERlYnVnIG1lc3NhZ2VzIG9uL29mZiAqLwogCkBAIC0xNTIsMTAgKzE1MSw3IEBACiAJICAgIChtb25fbWNhX2VuZChtb25tc2cpID4gbW9uX2Rjc3NfZW5kKSB8fAogCSAgICAobW9uX21jYV9zdGFydChtb25tc2cpIDwgbW9uX2Rjc3Nfc3RhcnQpIHx8CiAJICAgICgobW9uX21jYV90eXBlKG1vbm1zZywgMSkgPT0gMCkgJiYgKG1vbl9tY2FfdHlwZShtb25tc2csIDIpID09IDApKSkKLQl7Ci0JCVBfREVCVUcoIlJFQUQsIElHTk9SRUQgSU5WQUxJRCBNQ0FcblxuIik7CiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAlyZXR1cm4gMDsKIH0KIApAQCAtMTY0LDEwICsxNjAsNiBAQAogewogCWludCByYzsKIAotCVBfREVCVUcoInJlYWQsIFJFUExZOiBwYXRoaWQgPSAweCUwNFgsIG1zZ2lkID0gMHglMDhYLCB0cmdjbHMgPSAiCi0JCSIweCUwOFhcblxuIiwKLQkJbW9ucHJpdi0+cGF0aC0+cGF0aGlkLCBtb25tc2ctPm1zZy5pZCwgbW9ubXNnLT5tc2cuY2xhc3MpOwotCiAJcmMgPSBpdWN2X21lc3NhZ2VfcmVwbHkobW9ucHJpdi0+cGF0aCwgJm1vbm1zZy0+bXNnLAogCQkJCUlVQ1ZfSVBSTURBVEEsIE5VTEwsIDApOwogCWF0b21pY19kZWMoJm1vbnByaXYtPm1zZ2xpbV9jb3VudCk7CkBAIC0yMDIsMTUgKzE5NCwxMiBAQAogCXN0cnVjdCBtb25fcHJpdmF0ZSAqbW9ucHJpdjsKIAogCW1vbnByaXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgbW9uX3ByaXZhdGUpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIW1vbnByaXYpIHsKLQkJUF9FUlJPUigibm8gbWVtb3J5IGZvciBtb25wcml2XG4iKTsKKwlpZiAoIW1vbnByaXYpCiAJCXJldHVybiBOVUxMOwotCX0KIAlmb3IgKGkgPSAwOyBpIDwgTU9OX01TR0xJTTsgaSsrKSB7CiAJCW1vbnByaXYtPm1zZ19hcnJheVtpXSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBtb25fbXNnKSwKIAkJCQkJCSAgICBHRlBfS0VSTkVMKTsKIAkJaWYgKCFtb25wcml2LT5tc2dfYXJyYXlbaV0pIHsKLQkJCVBfRVJST1IoIm9wZW4sIG5vIG1lbW9yeSBmb3IgbXNnX2FycmF5XG4iKTsKIAkJCW1vbl9mcmVlX21lbShtb25wcml2KTsKIAkJCXJldHVybiBOVUxMOwogCQl9CkBAIC0yMTgsNDEgKzIwNywxMCBAQAogCXJldHVybiBtb25wcml2OwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgbW9uX3JlYWRfZGVidWcoc3RydWN0IG1vbl9tc2cgKm1vbm1zZywKLQkJCQkgIHN0cnVjdCBtb25fcHJpdmF0ZSAqbW9ucHJpdikKLXsKLSNpZmRlZiBNT05fREVCVUcKLQl1OCBtc2dfdHlwZVsyXSwgbWNhX3R5cGU7Ci0JdW5zaWduZWQgbG9uZyByZWNvcmRzX2xlbjsKLQotCXJlY29yZHNfbGVuID0gbW9uX3JlY19lbmQobW9ubXNnKSAtIG1vbl9yZWNfc3RhcnQobW9ubXNnKSArIDE7Ci0KLQltZW1jcHkobXNnX3R5cGUsICZtb25tc2ctPm1zZy5jbGFzcywgMik7Ci0JRUJDQVNDKG1zZ190eXBlLCAyKTsKLQltY2FfdHlwZSA9IG1vbl9tY2FfdHlwZShtb25tc2csIDApOwotCUVCQ0FTQygmbWNhX3R5cGUsIDEpOwotCi0JUF9ERUJVRygicmVhZCwgbW9uX3JlYWRfaW5kZXggPSAlaSwgbW9uX3dyaXRlX2luZGV4ID0gJWlcbiIsCi0JCW1vbnByaXYtPnJlYWRfaW5kZXgsIG1vbnByaXYtPndyaXRlX2luZGV4KTsKLQlQX0RFQlVHKCJyZWFkLCBwYXRoaWQgPSAweCUwNFgsIG1zZ2lkID0gMHglMDhYLCB0cmdjbHMgPSAweCUwOFhcbiIsCi0JCW1vbnByaXYtPnBhdGgtPnBhdGhpZCwgbW9ubXNnLT5tc2cuaWQsIG1vbm1zZy0+bXNnLmNsYXNzKTsKLQlQX0RFQlVHKCJyZWFkLCBtc2dfdHlwZSA9ICclYyVjJywgbWNhX3R5cGUgPSAnJWMnIC8gMHglWCAvIDB4JVhcbiIsCi0JCW1zZ190eXBlWzBdLCBtc2dfdHlwZVsxXSwgbWNhX3R5cGUgPyBtY2FfdHlwZSA6ICdYJywKLQkJbW9uX21jYV90eXBlKG1vbm1zZywgMSksIG1vbl9tY2FfdHlwZShtb25tc2csIDIpKTsKLQlQX0RFQlVHKCJyZWFkLCBNQ0E6IHN0YXJ0ID0gMHglbFgsIGVuZCA9IDB4JWxYXG4iLAotCQltb25fbWNhX3N0YXJ0KG1vbm1zZyksIG1vbl9tY2FfZW5kKG1vbm1zZykpOwotCVBfREVCVUcoInJlYWQsIFJFQzogc3RhcnQgPSAweCVYLCBlbmQgPSAweCVYLCBsZW4gPSAlbHVcblxuIiwKLQkJbW9uX3JlY19zdGFydChtb25tc2cpLCBtb25fcmVjX2VuZChtb25tc2cpLCByZWNvcmRzX2xlbik7Ci0JaWYgKG1vbl9tY2Ffc2l6ZShtb25tc2cpID4gMTIpCi0JCVBfREVCVUcoIlJFQUQsIE1PUkUgVEhBTiBPTkUgTUNBXG5cbiIpOwotI2VuZGlmCi19Ci0KIHN0YXRpYyBpbmxpbmUgdm9pZCBtb25fbmV4dF9tY2Eoc3RydWN0IG1vbl9tc2cgKm1vbm1zZykKIHsKIAlpZiAobGlrZWx5KChtb25fbWNhX3NpemUobW9ubXNnKSAtIG1vbm1zZy0+bWNhX29mZnNldCkgPT0gMTIpKQogCQlyZXR1cm47Ci0JUF9ERUJVRygiUkVBRCwgTkVYVCBNQ0FcblxuIik7CiAJbW9ubXNnLT5tY2Ffb2Zmc2V0ICs9IDEyOwogCW1vbm1zZy0+cG9zID0gMDsKIH0KQEAgLTI2OSw3ICsyMjcsNiBAQAogCQltb25tc2ctPm1zZ2xpbV9yZWFjaGVkID0gMDsKIAkJbW9ubXNnLT5wb3MgPSAwOwogCQltb25tc2ctPm1jYV9vZmZzZXQgPSAwOwotCQlQX1dBUk5JTkcoInJlYWQsIG1lc3NhZ2UgbGltaXQgcmVhY2hlZFxuIik7CiAJCW1vbnByaXYtPnJlYWRfaW5kZXggPSAobW9ucHJpdi0+cmVhZF9pbmRleCArIDEpICUKIAkJCQkgICAgICBNT05fTVNHTElNOwogCQlhdG9taWNfZGVjKCZtb25wcml2LT5yZWFkX3JlYWR5KTsKQEAgLTI4NiwxMCArMjQzLDYgQEAKIHsKIAlzdHJ1Y3QgbW9uX3ByaXZhdGUgKm1vbnByaXYgPSBwYXRoLT5wcml2YXRlOwogCi0JUF9ERUJVRygiSVVDViBjb25uZWN0aW9uIGNvbXBsZXRlZFxuIik7Ci0JUF9ERUJVRygiSVVDViBBQ0NFUFQgKGZyb20gKk1PTklUT1IpOiBWZXJzaW9uID0gMHglMDJYLCBFdmVudCA9ICIKLQkJIjB4JTAyWCwgU2FtcGxlID0gMHglMDJYXG4iLAotCQlpcHVzZXJbMF0sIGlwdXNlclsxXSwgaXB1c2VyWzJdKTsKIAlhdG9taWNfc2V0KCZtb25wcml2LT5pdWN2X2Nvbm5lY3RlZCwgMSk7CiAJd2FrZV91cCgmbW9uX2Nvbm5fd2FpdF9xdWV1ZSk7CiB9CkBAIC0zMTAsNyArMjYzLDYgQEAKIHsKIAlzdHJ1Y3QgbW9uX3ByaXZhdGUgKm1vbnByaXYgPSBwYXRoLT5wcml2YXRlOwogCi0JUF9ERUJVRygiSVVDViBtZXNzYWdlIHBlbmRpbmdcbiIpOwogCW1lbWNweSgmbW9ucHJpdi0+bXNnX2FycmF5W21vbnByaXYtPndyaXRlX2luZGV4XS0+bXNnLAogCSAgICAgICBtc2csIHNpemVvZigqbXNnKSk7CiAJaWYgKGF0b21pY19pbmNfcmV0dXJuKCZtb25wcml2LT5tc2dsaW1fY291bnQpID09IE1PTl9NU0dMSU0pIHsKQEAgLTM0MCw2ICsyOTIsNyBAQAogCS8qCiAJICogb25seSBvbmUgdXNlciBhbGxvd2VkCiAJICovCisJbG9ja19rZXJuZWwoKTsKIAlyYyA9IC1FQlVTWTsKIAlpZiAodGVzdF9hbmRfc2V0X2JpdChNT05fSU5fVVNFLCAmbW9uX2luX3VzZSkpCiAJCWdvdG8gb3V0OwpAQCAtMzc1LDggKzMyOCw4IEBACiAJCXJjID0gLUVJTzsKIAkJZ290byBvdXRfcGF0aDsKIAl9Ci0JUF9JTkZPKCJvcGVuLCBlc3RhYmxpc2hlZCBjb25uZWN0aW9uIHRvICpNT05JVE9SIHNlcnZpY2VcblxuIik7CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gbW9ucHJpdjsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOwogCiBvdXRfcGF0aDoKQEAgLTM4Niw2ICszMzksNyBAQAogb3V0X3VzZToKIAljbGVhcl9iaXQoTU9OX0lOX1VTRSwgJm1vbl9pbl91c2UpOwogb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTQwMCw4ICszNTQsNiBAQAogCXJjID0gaXVjdl9wYXRoX3NldmVyKG1vbnByaXYtPnBhdGgsIHVzZXJfZGF0YV9zZXZlcik7CiAJaWYgKHJjKQogCQlQX0VSUk9SKCJjbG9zZSwgaXVjdl9zZXZlciBmYWlsZWQgd2l0aCByYyA9ICVpXG4iLCByYyk7Ci0JZWxzZQotCQlQX0lORk8oImNsb3NlLCB0ZXJtaW5hdGVkIGNvbm5lY3Rpb24gdG8gKk1PTklUT1Igc2VydmljZVxuIik7CiAKIAlhdG9taWNfc2V0KCZtb25wcml2LT5pdWN2X3NldmVyZWQsIDApOwogCWF0b21pY19zZXQoJm1vbnByaXYtPml1Y3ZfY29ubmVjdGVkLCAwKTsKQEAgLTQ0MiwxMCArMzk0LDggQEAKIAkJbW9ubXNnID0gbW9ucHJpdi0+bXNnX2FycmF5W21vbnByaXYtPnJlYWRfaW5kZXhdOwogCX0KIAotCWlmICghbW9ubXNnLT5wb3MpIHsKKwlpZiAoIW1vbm1zZy0+cG9zKQogCQltb25tc2ctPnBvcyA9IG1vbl9tY2Ffc3RhcnQobW9ubXNnKSArIG1vbm1zZy0+bWNhX29mZnNldDsKLQkJbW9uX3JlYWRfZGVidWcobW9ubXNnLCBtb25wcml2KTsKLQl9CiAJaWYgKG1vbl9jaGVja19tY2EobW9ubXNnKSkKIAkJZ290byByZXBseTsKIApAQCAtNTMxLDcgKzQ4MSw2IEBACiAJCVBfRVJST1IoImZhaWxlZCB0byByZWdpc3RlciB3aXRoIGl1Y3YgZHJpdmVyXG4iKTsKIAkJcmV0dXJuIHJjOwogCX0KLQlQX0lORk8oIm9wZW4sIHJlZ2lzdGVyZWQgd2l0aCBJVUNWXG4iKTsKIAogCXJjID0gc2VnbWVudF90eXBlKG1vbl9kY3NzX25hbWUpOwogCWlmIChyYyA8IDApIHsKQEAgLTU1NSwxMyArNTA0LDggQEAKIAlkY3NzX21rbmFtZShtb25fZGNzc19uYW1lLCAmdXNlcl9kYXRhX2Nvbm5lY3RbOF0pOwogCiAJcmMgPSBtaXNjX3JlZ2lzdGVyKCZtb25fZGV2KTsKLQlpZiAocmMgPCAwICkgewotCQlQX0VSUk9SKCJtaXNjX3JlZ2lzdGVyIGZhaWxlZCwgcmMgPSAlaVxuIiwgcmMpOworCWlmIChyYyA8IDAgKQogCQlnb3RvIG91dDsKLQl9Ci0JUF9JTkZPKCJMb2FkZWQgc2VnbWVudCAlcyBmcm9tICVwIHRvICVwLCBzaXplID0gJWx1IEJ5dGVcbiIsCi0JCW1vbl9kY3NzX25hbWUsICh2b2lkICopIG1vbl9kY3NzX3N0YXJ0LCAodm9pZCAqKSBtb25fZGNzc19lbmQsCi0JCW1vbl9kY3NzX2VuZCAtIG1vbl9kY3NzX3N0YXJ0ICsgMSk7CiAJcmV0dXJuIDA7CiAKIG91dDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL21vbndyaXRlci5jIGIvZHJpdmVycy9zMzkwL2NoYXIvbW9ud3JpdGVyLmMKaW5kZXggYTg2YzA1My4uNGQ3MWFhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvbW9ud3JpdGVyLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvbW9ud3JpdGVyLmMKQEAgLTEyLDYgKzEyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC0xNzksMTAgKzE4MCwxMiBAQAogCW1vbnByaXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgbW9uX3ByaXZhdGUpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIW1vbnByaXYpCiAJCXJldHVybiAtRU5PTUVNOworCWxvY2tfa2VybmVsKCk7CiAJSU5JVF9MSVNUX0hFQUQoJm1vbnByaXYtPmxpc3QpOwogCW1vbnByaXYtPmhkcl90b19yZWFkID0gc2l6ZW9mKG1vbnByaXYtPmhkcik7CiAJbXV0ZXhfaW5pdCgmbW9ucHJpdi0+dGhyZWFkX211dGV4KTsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBtb25wcml2OworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3JhdzMyNzAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3JhdzMyNzAuYwppbmRleCA4NDhlZjdlLi44MWE5NmUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9yYXczMjcwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvcmF3MzI3MC5jCkBAIC0xNTMsMTkgKzE1MywxMCBAQAogCXN0cnVjdCByYXczMjcwX3JlcXVlc3QgKnJxOwogCiAJcnEgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2Yoc3RydWN0IHJhdzMyNzApKTsKLQlpZiAoIXJxKQotCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKLQltZW1zZXQocnEsIDAsIHNpemVvZihzdHJ1Y3QgcmF3MzI3MF9yZXF1ZXN0KSk7CiAKIAkvKiBhbGxvYyBvdXRwdXQgYnVmZmVyLiAqLwotCWlmIChzaXplID4gMCkgeworCWlmIChzaXplID4gMCkKIAkJcnEtPmJ1ZmZlciA9IGFsbG9jX2Jvb3RtZW1fbG93KHNpemUpOwotCQlpZiAoIXJxLT5idWZmZXIpIHsKLQkJCWZyZWVfYm9vdG1lbSgodW5zaWduZWQgbG9uZykgcnEsCi0JCQkJICAgICBzaXplb2Yoc3RydWN0IHJhdzMyNzApKTsKLQkJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwotCQl9Ci0JfQogCXJxLT5zaXplID0gc2l6ZTsKIAlJTklUX0xJU1RfSEVBRCgmcnEtPmxpc3QpOwogCkBAIC0zNzIsMTcgKzM2MywxNyBAQAogCiAJaWYgKElTX0VSUihpcmIpKQogCQlyYyA9IFJBVzMyNzBfSU9fUkVUUlk7Ci0JZWxzZSBpZiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfSEFMVF9GVU5DKSB7CisJZWxzZSBpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX0hBTFRfRlVOQykgewogCQlycS0+cmMgPSAtRUlPOwogCQlyYyA9IFJBVzMyNzBfSU9fRE9ORTsKLQl9IGVsc2UgaWYgKGlyYi0+c2Nzdy5kc3RhdCA9PSAgKERFVl9TVEFUX0NITl9FTkQgfCBERVZfU1RBVF9ERVZfRU5EIHwKLQkJCQkJREVWX1NUQVRfVU5JVF9FWENFUCkpIHsKKwl9IGVsc2UgaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gKERFVl9TVEFUX0NITl9FTkQgfCBERVZfU1RBVF9ERVZfRU5EIHwKKwkJCQkJICAgREVWX1NUQVRfVU5JVF9FWENFUCkpIHsKIAkJLyogSGFuZGxlIENFLURFLVVFIGFuZCBzdWJzZXF1ZW50IFVERSAqLwogCQlzZXRfYml0KFJBVzMyNzBfRkxBR1NfQlVTWSwgJnJwLT5mbGFncyk7CiAJCXJjID0gUkFXMzI3MF9JT19CVVNZOwogCX0gZWxzZSBpZiAodGVzdF9iaXQoUkFXMzI3MF9GTEFHU19CVVNZLCAmcnAtPmZsYWdzKSkgewogCQkvKiBXYWl0IGZvciBVREUgaWYgYnVzeSBmbGFnIGlzIHNldC4gKi8KLQkJaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHsKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSB7CiAJCQljbGVhcl9iaXQoUkFXMzI3MF9GTEFHU19CVVNZLCAmcnAtPmZsYWdzKTsKIAkJCS8qIEdvdCBpdCwgbm93IHJldHJ5LiAqLwogCQkJcmMgPSBSQVczMjcwX0lPX1JFVFJZOwpAQCAtNDk3LDcgKzQ4OCw3IEBACiAJICogVW5pdC1DaGVjayBQcm9jZXNzaW5nOgogCSAqIEV4cGVjdCBDb21tYW5kIFJlamVjdCBvciBJbnRlcnZlbnRpb24gUmVxdWlyZWQuCiAJICovCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKIAkJLyogUmVxdWVzdCBmaW5pc2hlZCBhYm5vcm1hbGx5LiAqLwogCQlpZiAoaXJiLT5lY3dbMF0gJiBTTlMwX0lOVEVSVkVOVElPTl9SRVEpIHsKIAkJCXNldF9iaXQoUkFXMzI3MF9GTEFHU19CVVNZLCAmdmlldy0+ZGV2LT5mbGFncyk7CkBAIC01MDUsMTYgKzQ5NiwxNiBAQAogCQl9CiAJfQogCWlmIChycSkgewotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgeworCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKIAkJCWlmIChpcmItPmVjd1swXSAmIFNOUzBfQ01EX1JFSkVDVCkKIAkJCQlycS0+cmMgPSAtRU9QTk9UU1VQUDsKIAkJCWVsc2UKIAkJCQlycS0+cmMgPSAtRUlPOwogCQl9IGVsc2UKIAkJCS8qIFJlcXVlc3QgZmluaXNoZWQgbm9ybWFsbHkuIENvcHkgcmVzaWR1YWwgY291bnQuICovCi0JCQlycS0+cmVzY250ID0gaXJiLT5zY3N3LmNvdW50OworCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jbWQuY291bnQ7CiAJfQotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgewogCQlzZXRfYml0KFJBVzMyNzBfRkxBR1NfQVRUTiwgJnZpZXctPmRldi0+ZmxhZ3MpOwogCQl3YWtlX3VwKCZyYXczMjcwX3dhaXRfcXVldWUpOwogCX0KQEAgLTYxOSw3ICs2MTAsNiBAQAogCQlycC0+Y29scyA9IDEzMjsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAidnJkY2NybWQgaXMgMHglLjh4XG4iLCBtb2RlbCk7CiAJCXJjID0gLUVPUE5PVFNVUFA7CiAJCWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHAuYwppbmRleCAyYzdhMWVlLi4zYzhiMjVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscC5jCkBAIC01MDYsNiArNTA2LDggQEAKIAlpZiAoc2NidWYtPnZhbGlkaXR5X3NjbHBfc2VuZF9tYXNrKQogCQlzY2xwX3NlbmRfbWFzayA9IHNjYnVmLT5zY2xwX3NlbmRfbWFzazsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2xwX2xvY2ssIGZsYWdzKTsKKwlpZiAoc2NidWYtPnZhbGlkaXR5X3NjbHBfYWN0aXZlX2ZhY2lsaXR5X21hc2spCisJCXNjbHBfZmFjaWxpdGllcyA9IHNjYnVmLT5zY2xwX2FjdGl2ZV9mYWNpbGl0eV9tYXNrOwogCXNjbHBfZGlzcGF0Y2hfc3RhdGVfY2hhbmdlKCk7CiB9CiAKQEAgLTc4MiwxMSArNzg0LDkgQEAKIAkvKiBJcyB0aGlzIHRoZSBpbnRlcnJ1cHQgd2UgYXJlIHdhaXRpbmcgZm9yPyAqLwogCWlmIChmaW5pc2hlZF9zY2NiID09IDApCiAJCXJldHVybjsKLQlpZiAoZmluaXNoZWRfc2NjYiAhPSAodTMyKSAoYWRkcl90KSBzY2xwX2luaXRfc2NjYikgewotCQlwcmludGsoS0VSTl9XQVJOSU5HIFNDTFBfSEVBREVSICJ1bnNvbGljaXRlZCBpbnRlcnJ1cHQgIgotCQkgICAgICAgImZvciBidWZmZXIgYXQgMHgleFxuIiwgZmluaXNoZWRfc2NjYik7Ci0JCXJldHVybjsKLQl9CisJaWYgKGZpbmlzaGVkX3NjY2IgIT0gKHUzMikgKGFkZHJfdCkgc2NscF9pbml0X3NjY2IpCisJCXBhbmljKCJzY2xwOiB1bnNvbGljaXRlZCBpbnRlcnJ1cHQgZm9yIGJ1ZmZlciBhdCAweCV4XG4iLAorCQkgICAgICBmaW5pc2hlZF9zY2NiKTsKIAlzcGluX2xvY2soJnNjbHBfbG9jayk7CiAJaWYgKHNjbHBfcnVubmluZ19zdGF0ZSA9PSBzY2xwX3J1bm5pbmdfc3RhdGVfcnVubmluZykgewogCQlzY2xwX2luaXRfcmVxLnN0YXR1cyA9IFNDTFBfUkVRX0RPTkU7CkBAIC04ODMsOCArODgzLDYgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCByYzsKIAotCWlmICghTUFDSElORV9IQVNfU0NMUCkKLQkJcmV0dXJuIC1FTk9ERVY7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNjbHBfbG9jaywgZmxhZ3MpOwogCS8qIENoZWNrIGZvciBwcmV2aW91cyBvciBydW5uaW5nIGluaXRpYWxpemF0aW9uICovCiAJaWYgKHNjbHBfaW5pdF9zdGF0ZSAhPSBzY2xwX2luaXRfc3RhdGVfdW5pbml0aWFsaXplZCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jbWQuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY21kLmMKaW5kZXggYjVjMjMzOS4uMGMyYjc3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jbWQuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NtZC5jCkBAIC0xMSw2ICsxMSw5IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9tZW1vcnkuaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KICNpbmNsdWRlIDxhc20vc2NscC5oPgogI2luY2x1ZGUgInNjbHAuaCIKQEAgLTQzLDYgKzQ2LDggQEAKIAogdTY0IHNjbHBfZmFjaWxpdGllczsKIHN0YXRpYyB1OCBzY2xwX2ZhYzg0Oworc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyByem07CitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIHJubWF4OwogCiBzdGF0aWMgaW50IF9faW5pdCBzY2xwX2NtZF9zeW5jX2Vhcmx5KHNjbHBfY21kd190IGNtZCwgdm9pZCAqc2NjYikKIHsKQEAgLTYyLDcgKzY3LDcgQEAKIAlyZXR1cm4gcmM7CiB9CiAKLXZvaWQgX19pbml0IHNjbHBfcmVhZF9pbmZvX2Vhcmx5KHZvaWQpCitzdGF0aWMgdm9pZCBfX2luaXQgc2NscF9yZWFkX2luZm9fZWFybHkodm9pZCkKIHsKIAlpbnQgcmM7CiAJaW50IGk7CkBAIC05MiwzNCArOTcsMzMgQEAKIAogdm9pZCBfX2luaXQgc2NscF9mYWNpbGl0aWVzX2RldGVjdCh2b2lkKQogewotCWlmICghZWFybHlfcmVhZF9pbmZvX3NjY2JfdmFsaWQpCi0JCXJldHVybjsKLQlzY2xwX2ZhY2lsaXRpZXMgPSBlYXJseV9yZWFkX2luZm9fc2NjYi5mYWNpbGl0aWVzOwotCXNjbHBfZmFjODQgPSBlYXJseV9yZWFkX2luZm9fc2NjYi5mYWM4NDsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIF9faW5pdCBzY2xwX21lbW9yeV9kZXRlY3Qodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbWVtc2l6ZTsKIAlzdHJ1Y3QgcmVhZF9pbmZvX3NjY2IgKnNjY2I7CiAKKwlzY2xwX3JlYWRfaW5mb19lYXJseSgpOwogCWlmICghZWFybHlfcmVhZF9pbmZvX3NjY2JfdmFsaWQpCi0JCXJldHVybiAwOworCQlyZXR1cm47CisKIAlzY2NiID0gJmVhcmx5X3JlYWRfaW5mb19zY2NiOwotCWlmIChzY2NiLT5ybnNpemUpCi0JCW1lbXNpemUgPSBzY2NiLT5ybnNpemUgPDwgMjA7Ci0JZWxzZQotCQltZW1zaXplID0gc2NjYi0+cm5zaXplMiA8PCAyMDsKLQlpZiAoc2NjYi0+cm5tYXgpCi0JCW1lbXNpemUgKj0gc2NjYi0+cm5tYXg7Ci0JZWxzZQotCQltZW1zaXplICo9IHNjY2ItPnJubWF4MjsKLQlyZXR1cm4gbWVtc2l6ZTsKKwlzY2xwX2ZhY2lsaXRpZXMgPSBzY2NiLT5mYWNpbGl0aWVzOworCXNjbHBfZmFjODQgPSBzY2NiLT5mYWM4NDsKKwlybm1heCA9IHNjY2ItPnJubWF4ID8gc2NjYi0+cm5tYXggOiBzY2NiLT5ybm1heDI7CisJcnptID0gc2NjYi0+cm5zaXplID8gc2NjYi0+cm5zaXplIDogc2NjYi0+cm5zaXplMjsKKwlyem0gPDw9IDIwOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgc2NscF9nZXRfcm5tYXgodm9pZCkKK3sKKwlyZXR1cm4gcm5tYXg7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9yem0odm9pZCkKK3sKKwlyZXR1cm4gcnptOwogfQogCiAvKgotICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCBhZnRlciBzY2xwX21lbW9yeV9kZXRlY3QoKSwgd2hpY2ggZ2V0cyBjYWxsZWQKLSAqIGVhcmx5IGZyb20gZWFybHkuYyBjb2RlLiBUaGVyZWZvcmUgdGhlIHNjY2Igc2hvdWxkIGhhdmUgdmFsaWQgY29udGVudHMuCisgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGFmdGVyIHNjbHBfZmFjaWxpdGllc19kZXRlY3QoKSwgd2hpY2ggZ2V0cworICogY2FsbGVkIGZyb20gZWFybHkuYyBjb2RlLiBUaGVyZWZvcmUgdGhlIHNjY2Igc2hvdWxkIGhhdmUgdmFsaWQgY29udGVudHMuCiAgKi8KIHZvaWQgX19pbml0IHNjbHBfZ2V0X2lwbF9pbmZvKHN0cnVjdCBzY2xwX2lwbF9pbmZvICppbmZvKQogewpAQCAtMjc4LDYgKzI4MiwzMDUgQEAKIAlyZXR1cm4gZG9fY3B1X2NvbmZpZ3VyZShTQ0xQX0NNRFdfREVDT05GSUdVUkVfQ1BVIHwgY3B1IDw8IDgpOwogfQogCisjaWZkZWYgQ09ORklHX01FTU9SWV9IT1RQTFVHCisKK3N0YXRpYyBERUZJTkVfTVVURVgoc2NscF9tZW1fbXV0ZXgpOworc3RhdGljIExJU1RfSEVBRChzY2xwX21lbV9saXN0KTsKK3N0YXRpYyB1OCBzY2xwX21heF9zdG9yYWdlX2lkOworc3RhdGljIHVuc2lnbmVkIGxvbmcgc2NscF9zdG9yYWdlX2lkc1syNTYgLyBCSVRTX1BFUl9MT05HXTsKKworc3RydWN0IG1lbW9yeV9pbmNyZW1lbnQgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwl1MTYgcm47CisJaW50IHN0YW5kYnk7CisJaW50IHVzZWNvdW50OworfTsKKworc3RydWN0IGFzc2lnbl9zdG9yYWdlX3NjY2IgeworCXN0cnVjdCBzY2NiX2hlYWRlciBoZWFkZXI7CisJdTE2IHJuOworfSBfX3BhY2tlZDsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBybjJhZGRyKHUxNiBybikKK3sKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcgbG9uZykgKHJuIC0gMSkgKiByem07Cit9CisKK3N0YXRpYyBpbnQgZG9fYXNzaWduX3N0b3JhZ2Uoc2NscF9jbWR3X3QgY21kLCB1MTYgcm4pCit7CisJc3RydWN0IGFzc2lnbl9zdG9yYWdlX3NjY2IgKnNjY2I7CisJaW50IHJjOworCisJc2NjYiA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY2NiKQorCQlyZXR1cm4gLUVOT01FTTsKKwlzY2NiLT5oZWFkZXIubGVuZ3RoID0gUEFHRV9TSVpFOworCXNjY2ItPnJuID0gcm47CisJcmMgPSBkb19zeW5jX3JlcXVlc3QoY21kLCBzY2NiKTsKKwlpZiAocmMpCisJCWdvdG8gb3V0OworCXN3aXRjaCAoc2NjYi0+aGVhZGVyLnJlc3BvbnNlX2NvZGUpIHsKKwljYXNlIDB4MDAyMDoKKwljYXNlIDB4MDEyMDoKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmMgPSAtRUlPOworCQlicmVhazsKKwl9CitvdXQ6CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKSBzY2NiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgc2NscF9hc3NpZ25fc3RvcmFnZSh1MTYgcm4pCit7CisJcmV0dXJuIGRvX2Fzc2lnbl9zdG9yYWdlKDB4MDAwZDAwMDEsIHJuKTsKK30KKworc3RhdGljIGludCBzY2xwX3VuYXNzaWduX3N0b3JhZ2UodTE2IHJuKQoreworCXJldHVybiBkb19hc3NpZ25fc3RvcmFnZSgweDAwMGMwMDAxLCBybik7Cit9CisKK3N0cnVjdCBhdHRhY2hfc3RvcmFnZV9zY2NiIHsKKwlzdHJ1Y3Qgc2NjYl9oZWFkZXIgaGVhZGVyOworCXUxNiA6MTY7CisJdTE2IGFzc2lnbmVkOworCXUzMiA6MzI7CisJdTMyIGVudHJpZXNbMF07Cit9IF9fcGFja2VkOworCitzdGF0aWMgaW50IHNjbHBfYXR0YWNoX3N0b3JhZ2UodTggaWQpCit7CisJc3RydWN0IGF0dGFjaF9zdG9yYWdlX3NjY2IgKnNjY2I7CisJaW50IHJjOworCWludCBpOworCisJc2NjYiA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY2NiKQorCQlyZXR1cm4gLUVOT01FTTsKKwlzY2NiLT5oZWFkZXIubGVuZ3RoID0gUEFHRV9TSVpFOworCXJjID0gZG9fc3luY19yZXF1ZXN0KDB4MDAwODAwMDEgfCBpZCA8PCA4LCBzY2NiKTsKKwlpZiAocmMpCisJCWdvdG8gb3V0OworCXN3aXRjaCAoc2NjYi0+aGVhZGVyLnJlc3BvbnNlX2NvZGUpIHsKKwljYXNlIDB4MDAyMDoKKwkJc2V0X2JpdChpZCwgc2NscF9zdG9yYWdlX2lkcyk7CisJCWZvciAoaSA9IDA7IGkgPCBzY2NiLT5hc3NpZ25lZDsgaSsrKQorCQkJc2NscF91bmFzc2lnbl9zdG9yYWdlKHNjY2ItPmVudHJpZXNbaV0gPj4gMTYpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyYyA9IC1FSU87CisJCWJyZWFrOworCX0KK291dDoKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpIHNjY2IpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzY2xwX21lbV9jaGFuZ2Vfc3RhdGUodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCSBpbnQgb25saW5lKQoreworCXN0cnVjdCBtZW1vcnlfaW5jcmVtZW50ICppbmNyOworCXVuc2lnbmVkIGxvbmcgbG9uZyBpc3RhcnQ7CisJaW50IHJjID0gMDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoaW5jciwgJnNjbHBfbWVtX2xpc3QsIGxpc3QpIHsKKwkJaXN0YXJ0ID0gcm4yYWRkcihpbmNyLT5ybik7CisJCWlmIChzdGFydCArIHNpemUgLSAxIDwgaXN0YXJ0KQorCQkJYnJlYWs7CisJCWlmIChzdGFydCA+IGlzdGFydCArIHJ6bSAtIDEpCisJCQljb250aW51ZTsKKwkJaWYgKG9ubGluZSkgeworCQkJaWYgKGluY3ItPnVzZWNvdW50KyspCisJCQkJY29udGludWU7CisJCQkvKgorCQkJICogRG9uJ3QgYnJlYWsgdGhlIGxvb3AgaWYgb25lIGFzc2lnbiBmYWlscy4gTG9vcCBtYXkKKwkJCSAqIGJlIHdhbGtlZCBhZ2FpbiBvbiBDQU5DRUwgYW5kIHdlIGNhbid0IHNhdmUKKwkJCSAqIGluZm9ybWF0aW9uIGlmIHN0YXRlIGNoYW5nZWQgYmVmb3JlIG9yIG5vdC4KKwkJCSAqIFNvIGNvbnRpbnVlIGFuZCBpbmNyZWFzZSB1c2Vjb3VudCBmb3IgYWxsIGluY3JlbWVudHMuCisJCQkgKi8KKwkJCXJjIHw9IHNjbHBfYXNzaWduX3N0b3JhZ2UoaW5jci0+cm4pOworCQl9IGVsc2UgeworCQkJaWYgKC0taW5jci0+dXNlY291bnQpCisJCQkJY29udGludWU7CisJCQlzY2xwX3VuYXNzaWduX3N0b3JhZ2UoaW5jci0+cm4pOworCQl9CisJfQorCXJldHVybiByYyA/IC1FSU8gOiAwOworfQorCitzdGF0aWMgaW50IHNjbHBfbWVtX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsCisJCQkgICAgIHVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgc3RhcnQsIHNpemU7CisJc3RydWN0IG1lbW9yeV9ub3RpZnkgKmFyZzsKKwl1bnNpZ25lZCBjaGFyIGlkOworCWludCByYyA9IDA7CisKKwlhcmcgPSBkYXRhOworCXN0YXJ0ID0gYXJnLT5zdGFydF9wZm4gPDwgUEFHRV9TSElGVDsKKwlzaXplID0gYXJnLT5ucl9wYWdlcyA8PCBQQUdFX1NISUZUOworCW11dGV4X2xvY2soJnNjbHBfbWVtX211dGV4KTsKKwlmb3IgKGlkID0gMDsgaWQgPD0gc2NscF9tYXhfc3RvcmFnZV9pZDsgaWQrKykKKwkJaWYgKCF0ZXN0X2JpdChpZCwgc2NscF9zdG9yYWdlX2lkcykpCisJCQlzY2xwX2F0dGFjaF9zdG9yYWdlKGlkKTsKKwlzd2l0Y2ggKGFjdGlvbikgeworCWNhc2UgTUVNX09OTElORToKKwkJYnJlYWs7CisJY2FzZSBNRU1fR09JTkdfT05MSU5FOgorCQlyYyA9IHNjbHBfbWVtX2NoYW5nZV9zdGF0ZShzdGFydCwgc2l6ZSwgMSk7CisJCWJyZWFrOworCWNhc2UgTUVNX0NBTkNFTF9PTkxJTkU6CisJCXNjbHBfbWVtX2NoYW5nZV9zdGF0ZShzdGFydCwgc2l6ZSwgMCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJjID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQorCW11dGV4X3VubG9jaygmc2NscF9tZW1fbXV0ZXgpOworCXJldHVybiByYyA/IE5PVElGWV9CQUQgOiBOT1RJRllfT0s7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgc2NscF9tZW1fbmIgPSB7CisJLm5vdGlmaWVyX2NhbGwgPSBzY2xwX21lbV9ub3RpZmllciwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBhZGRfbWVtb3J5X21lcmdlZCh1MTYgcm4pCit7CisJc3RhdGljIHUxNiBmaXJzdF9ybiwgbnVtOworCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCwgc2l6ZTsKKworCWlmIChybiAmJiBmaXJzdF9ybiAmJiAoZmlyc3Rfcm4gKyBudW0gPT0gcm4pKSB7CisJCW51bSsrOworCQlyZXR1cm47CisJfQorCWlmICghZmlyc3Rfcm4pCisJCWdvdG8gc2tpcF9hZGQ7CisJc3RhcnQgPSBybjJhZGRyKGZpcnN0X3JuKTsKKwlzaXplID0gKHVuc2lnbmVkIGxvbmcgbG9uZyApIG51bSAqIHJ6bTsKKwlpZiAoc3RhcnQgPj0gVk1FTV9NQVhfUEhZUykKKwkJZ290byBza2lwX2FkZDsKKwlpZiAoc3RhcnQgKyBzaXplID4gVk1FTV9NQVhfUEhZUykKKwkJc2l6ZSA9IFZNRU1fTUFYX1BIWVMgLSBzdGFydDsKKwlhZGRfbWVtb3J5KDAsIHN0YXJ0LCBzaXplKTsKK3NraXBfYWRkOgorCWZpcnN0X3JuID0gcm47CisJbnVtID0gMTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHNjbHBfYWRkX3N0YW5kYnlfbWVtb3J5KHZvaWQpCit7CisJc3RydWN0IG1lbW9yeV9pbmNyZW1lbnQgKmluY3I7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGluY3IsICZzY2xwX21lbV9saXN0LCBsaXN0KQorCQlpZiAoaW5jci0+c3RhbmRieSkKKwkJCWFkZF9tZW1vcnlfbWVyZ2VkKGluY3ItPnJuKTsKKwlhZGRfbWVtb3J5X21lcmdlZCgwKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGluc2VydF9pbmNyZW1lbnQodTE2IHJuLCBpbnQgc3RhbmRieSwgaW50IGFzc2lnbmVkKQoreworCXN0cnVjdCBtZW1vcnlfaW5jcmVtZW50ICppbmNyLCAqbmV3X2luY3I7CisJc3RydWN0IGxpc3RfaGVhZCAqcHJldjsKKwl1MTYgbGFzdF9ybjsKKworCW5ld19pbmNyID0ga3phbGxvYyhzaXplb2YoKm5ld19pbmNyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFuZXdfaW5jcikKKwkJcmV0dXJuOworCW5ld19pbmNyLT5ybiA9IHJuOworCW5ld19pbmNyLT5zdGFuZGJ5ID0gc3RhbmRieTsKKwlsYXN0X3JuID0gMDsKKwlwcmV2ID0gJnNjbHBfbWVtX2xpc3Q7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShpbmNyLCAmc2NscF9tZW1fbGlzdCwgbGlzdCkgeworCQlpZiAoYXNzaWduZWQgJiYgaW5jci0+cm4gPiBybikKKwkJCWJyZWFrOworCQlpZiAoIWFzc2lnbmVkICYmIGluY3ItPnJuIC0gbGFzdF9ybiA+IDEpCisJCQlicmVhazsKKwkJbGFzdF9ybiA9IGluY3ItPnJuOworCQlwcmV2ID0gJmluY3ItPmxpc3Q7CisJfQorCWlmICghYXNzaWduZWQpCisJCW5ld19pbmNyLT5ybiA9IGxhc3Rfcm4gKyAxOworCWlmIChuZXdfaW5jci0+cm4gPiBybm1heCkgeworCQlrZnJlZShuZXdfaW5jcik7CisJCXJldHVybjsKKwl9CisJbGlzdF9hZGQoJm5ld19pbmNyLT5saXN0LCBwcmV2KTsKK30KKworc3RydWN0IHJlYWRfc3RvcmFnZV9zY2NiIHsKKwlzdHJ1Y3Qgc2NjYl9oZWFkZXIgaGVhZGVyOworCXUxNiBtYXhfaWQ7CisJdTE2IGFzc2lnbmVkOworCXUxNiBzdGFuZGJ5OworCXUxNiA6MTY7CisJdTMyIGVudHJpZXNbMF07Cit9IF9fcGFja2VkOworCitzdGF0aWMgaW50IF9faW5pdCBzY2xwX2RldGVjdF9zdGFuZGJ5X21lbW9yeSh2b2lkKQoreworCXN0cnVjdCByZWFkX3N0b3JhZ2Vfc2NjYiAqc2NjYjsKKwlpbnQgaSwgaWQsIGFzc2lnbmVkLCByYzsKKworCWlmICghZWFybHlfcmVhZF9pbmZvX3NjY2JfdmFsaWQpCisJCXJldHVybiAwOworCWlmICgoc2NscF9mYWNpbGl0aWVzICYgMHhlMDAwMDAwMDAwMDBVTEwpICE9IDB4ZTAwMDAwMDAwMDAwVUxMKQorCQlyZXR1cm4gMDsKKwlyYyA9IC1FTk9NRU07CisJc2NjYiA9ICh2b2lkICopIF9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY2NiKQorCQlnb3RvIG91dDsKKwlhc3NpZ25lZCA9IDA7CisJZm9yIChpZCA9IDA7IGlkIDw9IHNjbHBfbWF4X3N0b3JhZ2VfaWQ7IGlkKyspIHsKKwkJbWVtc2V0KHNjY2IsIDAsIFBBR0VfU0laRSk7CisJCXNjY2ItPmhlYWRlci5sZW5ndGggPSBQQUdFX1NJWkU7CisJCXJjID0gZG9fc3luY19yZXF1ZXN0KDB4MDAwNDAwMDEgfCBpZCA8PCA4LCBzY2NiKTsKKwkJaWYgKHJjKQorCQkJZ290byBvdXQ7CisJCXN3aXRjaCAoc2NjYi0+aGVhZGVyLnJlc3BvbnNlX2NvZGUpIHsKKwkJY2FzZSAweDAwMTA6CisJCQlzZXRfYml0KGlkLCBzY2xwX3N0b3JhZ2VfaWRzKTsKKwkJCWZvciAoaSA9IDA7IGkgPCBzY2NiLT5hc3NpZ25lZDsgaSsrKSB7CisJCQkJaWYgKCFzY2NiLT5lbnRyaWVzW2ldKQorCQkJCQljb250aW51ZTsKKwkJCQlhc3NpZ25lZCsrOworCQkJCWluc2VydF9pbmNyZW1lbnQoc2NjYi0+ZW50cmllc1tpXSA+PiAxNiwgMCwgMSk7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSAweDAzMTA6CisJCQlicmVhazsKKwkJY2FzZSAweDA0MTA6CisJCQlmb3IgKGkgPSAwOyBpIDwgc2NjYi0+YXNzaWduZWQ7IGkrKykgeworCQkJCWlmICghc2NjYi0+ZW50cmllc1tpXSkKKwkJCQkJY29udGludWU7CisJCQkJYXNzaWduZWQrKzsKKwkJCQlpbnNlcnRfaW5jcmVtZW50KHNjY2ItPmVudHJpZXNbaV0gPj4gMTYsIDEsIDEpOworCQkJfQorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyYyA9IC1FSU87CisJCQlicmVhazsKKwkJfQorCQlpZiAoIXJjKQorCQkJc2NscF9tYXhfc3RvcmFnZV9pZCA9IHNjY2ItPm1heF9pZDsKKwl9CisJaWYgKHJjIHx8IGxpc3RfZW1wdHkoJnNjbHBfbWVtX2xpc3QpKQorCQlnb3RvIG91dDsKKwlmb3IgKGkgPSAxOyBpIDw9IHJubWF4IC0gYXNzaWduZWQ7IGkrKykKKwkJaW5zZXJ0X2luY3JlbWVudCgwLCAxLCAwKTsKKwlyYyA9IHJlZ2lzdGVyX21lbW9yeV9ub3RpZmllcigmc2NscF9tZW1fbmIpOworCWlmIChyYykKKwkJZ290byBvdXQ7CisJc2NscF9hZGRfc3RhbmRieV9tZW1vcnkoKTsKK291dDoKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpIHNjY2IpOworCXJldHVybiByYzsKK30KK19faW5pdGNhbGwoc2NscF9kZXRlY3Rfc3RhbmRieV9tZW1vcnkpOworCisjZW5kaWYgLyogQ09ORklHX01FTU9SWV9IT1RQTFVHICovCisKIC8qCiAgKiBDaGFubmVsIHBhdGggY29uZmlndXJhdGlvbiByZWxhdGVkIGZ1bmN0aW9ucy4KICAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb24uYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29uLmMKaW5kZXggZWFkMTA0My4uN2U2MTljNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb24uYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2Nvbi5jCkBAIC0xNCwxNCArMTQsMTMgQEAKICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CisjaW5jbHVkZSA8bGludXgvdGVybWlvcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogCiAjaW5jbHVkZSAic2NscC5oIgogI2luY2x1ZGUgInNjbHBfcncuaCIKICNpbmNsdWRlICJzY2xwX3R0eS5oIgogCi0jZGVmaW5lIFNDTFBfQ09OX1BSSU5UX0hFQURFUiAic2NscCBjb25zb2xlIGRyaXZlcjogIgotCiAjZGVmaW5lIHNjbHBfY29uc29sZV9tYWpvciA0CQkvKiBUVFlBVVhfTUFKT1IgKi8KICNkZWZpbmUgc2NscF9jb25zb2xlX21pbm9yIDY0CiAjZGVmaW5lIHNjbHBfY29uc29sZV9uYW1lICAidHR5UyIKQEAgLTIyMiw4ICsyMjEsNiBAQAogCUlOSVRfTElTVF9IRUFEKCZzY2xwX2Nvbl9wYWdlcyk7CiAJZm9yIChpID0gMDsgaSA8IE1BWF9DT05TT0xFX1BBR0VTOyBpKyspIHsKIAkJcGFnZSA9IGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7Ci0JCWlmIChwYWdlID09IE5VTEwpCi0JCQlyZXR1cm4gLUVOT01FTTsKIAkJbGlzdF9hZGRfdGFpbCgoc3RydWN0IGxpc3RfaGVhZCAqKSBwYWdlLCAmc2NscF9jb25fcGFnZXMpOwogCX0KIAlJTklUX0xJU1RfSEVBRCgmc2NscF9jb25fb3V0cXVldWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb25maWcuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29uZmlnLmMKaW5kZXggYWQwNWE4Ny4uZmZmNGZmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb25maWcuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NvbmZpZy5jCkBAIC04LDYgKzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CkBAIC00MCw5ICs0MSwxOSBAQAogCXB1dF9vbmxpbmVfY3B1cygpOwogfQogCi1zdGF0aWMgdm9pZCBfX3JlZiBzY2xwX2NwdV9jaGFuZ2Vfbm90aWZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3N0YXRpYyBpbnQgc2NscF9jcHVfa3RocmVhZCh2b2lkICpkYXRhKQogewogCXNtcF9yZXNjYW5fY3B1cygpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX3JlZiBzY2xwX2NwdV9jaGFuZ2Vfbm90aWZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwkvKiBDYW4ndCBjYWxsIHNtcF9yZXNjYW5fY3B1cygpIGZyb20gIHdvcmtxdWV1ZSBjb250ZXh0IHNpbmNlIGl0IG1heQorCSAqIGRlYWRsb2NrIGluIGNhc2Ugb2YgY3B1IGhvdHBsdWcuIFNvIHdlIGhhdmUgdG8gY3JlYXRlIGEga2VybmVsCisJICogdGhyZWFkIGluIG9yZGVyIHRvIGNhbGwgaXQuCisJICovCisJa3RocmVhZF9ydW4oc2NscF9jcHVfa3RocmVhZCwgTlVMTCwgImNwdV9yZXNjYW4iKTsKIH0KIAogc3RhdGljIHZvaWQgc2NscF9jb25mX3JlY2VpdmVyX2ZuKHN0cnVjdCBldmJ1Zl9oZWFkZXIgKmV2YnVmKQpAQCAtNzQsMTAgKzg1LDggQEAKIAlJTklUX1dPUksoJnNjbHBfY3B1X2NoYW5nZV93b3JrLCBzY2xwX2NwdV9jaGFuZ2Vfbm90aWZ5KTsKIAogCXJjID0gc2NscF9yZWdpc3Rlcigmc2NscF9jb25mX3JlZ2lzdGVyKTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFRBRyAiZmFpbGVkIHRvIHJlZ2lzdGVyICglZCkuXG4iLCByYyk7CisJaWYgKHJjKQogCQlyZXR1cm4gcmM7Ci0JfQogCiAJaWYgKCEoc2NscF9jb25mX3JlZ2lzdGVyLnNjbHBfc2VuZF9tYXNrICYgRVZUWVBfQ09ORk1HTURBVEFfTUFTSykpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyBUQUcgIm5vIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudC5cbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jcGlfc3lzLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NwaV9zeXMuYwppbmRleCA5ZjM3NDU2Li5kODg3YmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NwaV9zeXMuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NwaV9zeXMuYwpAQCAtMjcsNiArMjcsOCBAQAogI2RlZmluZSBDUElfTEVOR1RIX05BTUUgOAogI2RlZmluZSBDUElfTEVOR1RIX0xFVkVMIDE2CiAKK3N0YXRpYyBERUZJTkVfTVVURVgoc2NscF9jcGlfbXV0ZXgpOworCiBzdHJ1Y3QgY3BpX2V2YnVmIHsKIAlzdHJ1Y3QgZXZidWZfaGVhZGVyIGhlYWRlcjsKIAl1OAlpZF9mb3JtYXQ7CkBAIC0xMjQsMjEgKzEyNiwxNSBAQAogCWludCByZXNwb25zZTsKIAogCXJjID0gc2NscF9yZWdpc3Rlcigmc2NscF9jcGlfZXZlbnQpOwotCWlmIChyYykgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJjcGk6IGNvdWxkIG5vdCByZWdpc3RlciAiCi0JCQkidG8gaGFyZHdhcmUgY29uc29sZS5cbiIpOworCWlmIChyYykKIAkJZ290byBvdXQ7Ci0JfQogCWlmICghKHNjbHBfY3BpX2V2ZW50LnNjbHBfcmVjZWl2ZV9tYXNrICYgRVZUWVBfQ1RMUFJPR0lERU5UX01BU0spKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNwaTogbm8gY29udHJvbCBwcm9ncmFtICIKLQkJCSJpZGVudGlmaWNhdGlvbiBzdXBwb3J0XG4iKTsKIAkJcmMgPSAtRU9QTk9UU1VQUDsKIAkJZ290byBvdXRfdW5yZWdpc3RlcjsKIAl9CiAKIAlyZXEgPSBjcGlfcHJlcGFyZV9yZXEoKTsKIAlpZiAoSVNfRVJSKHJlcSkpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY3BpOiBjb3VsZCBub3QgYWxsb2NhdGUgcmVxdWVzdFxuIik7CiAJCXJjID0gUFRSX0VSUihyZXEpOwogCQlnb3RvIG91dF91bnJlZ2lzdGVyOwogCX0KQEAgLTE0OCwxMCArMTQ0LDggQEAKIAogCS8qIEFkZCByZXF1ZXN0IHRvIHNjbHAgcXVldWUgKi8KIAlyYyA9IHNjbHBfYWRkX3JlcXVlc3QocmVxKTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY3BpOiBjb3VsZCBub3Qgc3RhcnQgcmVxdWVzdFxuIik7CisJaWYgKHJjKQogCQlnb3RvIG91dF9mcmVlX3JlcTsKLQl9CiAKIAl3YWl0X2Zvcl9jb21wbGV0aW9uKCZjb21wbGV0aW9uKTsKIApAQCAtMjIzLDcgKzIxNywxMiBAQAogc3RhdGljIHNzaXplX3Qgc3lzdGVtX25hbWVfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKIAkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCiB7Ci0JcmV0dXJuIHNucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiVzXG4iLCBzeXN0ZW1fbmFtZSk7CisJaW50IHJjOworCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOworCXJjID0gc25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXNcbiIsIHN5c3RlbV9uYW1lKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKKwlyZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBzc2l6ZV90IHN5c3RlbV9uYW1lX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLApAQCAtMjM3LDcgKzIzNiw5IEBACiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJc2V0X3N0cmluZyhzeXN0ZW1fbmFtZSwgYnVmKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKIAogCXJldHVybiBsZW47CiB9CkBAIC0yNDgsNyArMjQ5LDEyIEBACiBzdGF0aWMgc3NpemVfdCBzeXNwbGV4X25hbWVfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKIAkJCQkgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQogewotCXJldHVybiBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlc1xuIiwgc3lzcGxleF9uYW1lKTsKKwlpbnQgcmM7CisKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CisJcmMgPSBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlc1xuIiwgc3lzcGxleF9uYW1lKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKKwlyZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBzc2l6ZV90IHN5c3BsZXhfbmFtZV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKQEAgLTI2Miw3ICsyNjgsOSBAQAogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXNldF9zdHJpbmcoc3lzcGxleF9uYW1lLCBidWYpOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCiAJcmV0dXJuIGxlbjsKIH0KQEAgLTI3Myw3ICsyODEsMTIgQEAKIHN0YXRpYyBzc2l6ZV90IHN5c3RlbV90eXBlX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCiAJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQogewotCXJldHVybiBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlc1xuIiwgc3lzdGVtX3R5cGUpOworCWludCByYzsKKworCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKKwlyYyA9IHNucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiVzXG4iLCBzeXN0ZW1fdHlwZSk7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CisJcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgc3NpemVfdCBzeXN0ZW1fdHlwZV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKQEAgLTI4Nyw3ICszMDAsOSBAQAogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXNldF9zdHJpbmcoc3lzdGVtX3R5cGUsIGJ1Zik7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAKIAlyZXR1cm4gbGVuOwogfQpAQCAtMjk4LDggKzMxMywxMSBAQAogc3RhdGljIHNzaXplX3Qgc3lzdGVtX2xldmVsX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCiAJCQkJIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKIHsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbGV2ZWwgPSBzeXN0ZW1fbGV2ZWw7CisJdW5zaWduZWQgbG9uZyBsb25nIGxldmVsOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOworCWxldmVsID0gc3lzdGVtX2xldmVsOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXJldHVybiBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlIzAxOGxseFxuIiwgbGV2ZWwpOwogfQogCkBAIC0zMjAsOCArMzM4LDkgQEAKIAlpZiAoKmVuZHApCiAJCXJldHVybiAtRUlOVkFMOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXN5c3RlbV9sZXZlbCA9IGxldmVsOwotCisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJcmV0dXJuIGxlbjsKIH0KIApAQCAtMzM0LDcgKzM1Myw5IEBACiB7CiAJaW50IHJjOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXJjID0gY3BpX3JlcSgpOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCkBAIC0zNzMsMTIgKzM5NCwxNiBAQAogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXNldF9zdHJpbmcoc3lzdGVtX25hbWUsIHN5c3RlbSk7CiAJc2V0X3N0cmluZyhzeXNwbGV4X25hbWUsIHN5c3BsZXgpOwogCXNldF9zdHJpbmcoc3lzdGVtX3R5cGUsIHR5cGUpOwogCXN5c3RlbV9sZXZlbCA9IGxldmVsOwogCi0JcmV0dXJuIGNwaV9yZXEoKTsKKwlyYyA9IGNwaV9yZXEoKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKKworCXJldHVybiByYzsKIH0KIEVYUE9SVF9TWU1CT0woc2NscF9jcGlfc2V0X2RhdGEpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3F1aWVzY2UuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcXVpZXNjZS5jCmluZGV4IDQ1ZmYyNWUuLjg0YzE5MWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcXVpZXNjZS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcXVpZXNjZS5jCkBAIC01MSwxMyArNTEsNyBAQAogc3RhdGljIGludCBfX2luaXQKIHNjbHBfcXVpZXNjZV9pbml0KHZvaWQpCiB7Ci0JaW50IHJjOwotCi0JcmMgPSBzY2xwX3JlZ2lzdGVyKCZzY2xwX3F1aWVzY2VfZXZlbnQpOwotCWlmIChyYykKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAic2NscDogY291bGQgbm90IHJlZ2lzdGVyIHF1aWVzY2UgaGFuZGxlciAiCi0JCSAgICAgICAiKHJjPSVkKVxuIiwgcmMpOwotCXJldHVybiByYzsKKwlyZXR1cm4gc2NscF9yZWdpc3Rlcigmc2NscF9xdWllc2NlX2V2ZW50KTsKIH0KIAogbW9kdWxlX2luaXQoc2NscF9xdWllc2NlX2luaXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9ydy5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9ydy5jCmluZGV4IGRhMDk3ODEuLjcxMGFmNDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcncuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3J3LmMKQEAgLTE5LDggKzE5LDYgQEAKICNpbmNsdWRlICJzY2xwLmgiCiAjaW5jbHVkZSAic2NscF9ydy5oIgogCi0jZGVmaW5lIFNDTFBfUldfUFJJTlRfSEVBREVSICJzY2xwIGxvdyBsZXZlbCBkcml2ZXI6ICIKLQogLyoKICAqIFRoZSByb29tIGZvciB0aGUgU0NDQiAob25seSBmb3Igd3JpdGluZykgaXMgbm90IGVxdWFsIHRvIGEgcGFnZXMgc2l6ZQogICogKGFzIGl0IGlzIHNwZWNpZmllZCBhcyB0aGUgbWF4aW11bSBzaXplIGluIHRoZSBTQ0xQIGRvY3VtZW50YXRpb24pCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3NkaWFzLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3NkaWFzLmMKaW5kZXggMWMwNjQ5Ny4uOGI4NTQ4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9zZGlhcy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfc2RpYXMuYwpAQCAtMjM5LDEwICsyMzksOCBAQAogCWRlYnVnX3JlZ2lzdGVyX3ZpZXcoc2RpYXNfZGJmLCAmZGVidWdfc3ByaW50Zl92aWV3KTsKIAlkZWJ1Z19zZXRfbGV2ZWwoc2RpYXNfZGJmLCA2KTsKIAlyYyA9IHNjbHBfcmVnaXN0ZXIoJnNjbHBfc2RpYXNfcmVnaXN0ZXIpOwotCWlmIChyYykgewotCQlFUlJPUl9NU0coInNjbHAgcmVnaXN0ZXIgZmFpbGVkXG4iKTsKKwlpZiAocmMpCiAJCXJldHVybiByYzsKLQl9CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmc2RpYXNfd3EpOwogCVRSQUNFKCJpbml0IGRvbmVcbiIpOwogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmMKaW5kZXggNDBiMTE1Mi4uNDM0YmEwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3R0eS5jCkBAIC0xMyw3ICsxMyw2IEBACiAjaW5jbHVkZSA8bGludXgvdHR5Lmg+CiAjaW5jbHVkZSA8bGludXgvdHR5X2RyaXZlci5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eV9mbGlwLmg+Ci0jaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0yNSw4ICsyNCw2IEBACiAjaW5jbHVkZSAic2NscF9ydy5oIgogI2luY2x1ZGUgInNjbHBfdHR5LmgiCiAKLSNkZWZpbmUgU0NMUF9UVFlfUFJJTlRfSEVBREVSICJzY2xwIHR0eSBkcml2ZXI6ICIKLQogLyoKICAqIHNpemUgb2YgYSBidWZmZXIgdGhhdCBjb2xsZWN0cyBzaW5nbGUgY2hhcmFjdGVycyBjb21pbmcgaW4KICAqIHZpYSBzY2xwX3R0eV9wdXRfY2hhcigpCkBAIC01MCw4ICs0Nyw2IEBACiBzdGF0aWMgc3RydWN0IHNjbHBfYnVmZmVyICpzY2xwX3R0eWJ1ZjsKIC8qIFRpbWVyIGZvciBkZWxheWVkIG91dHB1dCBvZiBjb25zb2xlIG1lc3NhZ2VzLiAqLwogc3RhdGljIHN0cnVjdCB0aW1lcl9saXN0IHNjbHBfdHR5X3RpbWVyOwotLyogV2FpdHF1ZXVlIHRvIHdhaXQgZm9yIGJ1ZmZlcnMgdG8gZ2V0IGVtcHR5LiAqLwotc3RhdGljIHdhaXRfcXVldWVfaGVhZF90IHNjbHBfdHR5X3dhaXRxOwogCiBzdGF0aWMgc3RydWN0IHR0eV9zdHJ1Y3QgKnNjbHBfdHR5Owogc3RhdGljIHVuc2lnbmVkIGNoYXIgc2NscF90dHlfY2hhcnNbU0NMUF9UVFlfQlVGX1NJWkVdOwpAQCAtNTksMTkgKzU0LDExIEBACiAKIHN0cnVjdCB0dHlfZHJpdmVyICpzY2xwX3R0eV9kcml2ZXI7CiAKLXN0YXRpYyBzdHJ1Y3Qgc2NscF9pb2N0bHMgc2NscF9pb2N0bHM7Ci1zdGF0aWMgc3RydWN0IHNjbHBfaW9jdGxzIHNjbHBfaW9jdGxzX2luaXQgPQotewotCTgsCQkJLyogMSBob3IuIHRhYi4gPSA4IHNwYWNlcyAqLwotCTAsCQkJLyogbm8gZWNobyBvZiBpbnB1dCBieSB0aGlzIGRyaXZlciAqLwotCTgwLAkJCS8qIDgwIGNoYXJhY3RlcnMvbGluZSAqLwotCTEsCQkJLyogd3JpdGUgYWZ0ZXIgMS8xMCBzIHdpdGhvdXQgZmluYWwgbmV3IGxpbmUgKi8KLQlNQVhfS01FTV9QQUdFUywJCS8qIHF1aWNrIGZpeDogYXZvaWQgX19hbGxvY19wYWdlcyAqLwotCU1BWF9LTUVNX1BBR0VTLAkJLyogdGFrZSAzMi82NCBwYWdlcyBmcm9tIGtlcm5lbCBtZW1vcnksICovCi0JMCwJCQkvKiBkbyBub3QgY29udmVydCB0byBsb3dlciBjYXNlICovCi0JMHg2YwkJCS8qIHRvIHNlcHJhdGUgdXBwZXIgYW5kIGxvd2VyIGNhc2UgKi8KLQkJCQkvKiAoJyUnIGluIEVCQ0RJQykgKi8KLX07CitzdGF0aWMgaW50IHNjbHBfdHR5X3RvbG93ZXI7CitzdGF0aWMgaW50IHNjbHBfdHR5X2NvbHVtbnMgPSA4MDsKKworI2RlZmluZSBTUEFDRVNfUEVSX1RBQiA4CisjZGVmaW5lIENBU0VfREVMSU1JVEVSIDB4NmMgLyogdG8gc2VwYXJhdGUgdXBwZXIgYW5kIGxvd2VyIGNhc2UgKCUgaW4gRUJDRElDKSAqLwogCiAvKiBUaGlzIHJvdXRpbmUgaXMgY2FsbGVkIHdoZW5ldmVyIHdlIHRyeSB0byBvcGVuIGEgU0NMUCB0ZXJtaW5hbC4gKi8KIHN0YXRpYyBpbnQKQEAgLTkyLDEzNiArNzksNiBAQAogCXNjbHBfdHR5ID0gTlVMTDsKIH0KIAotLyogZXhlY3V0ZSBjb21tYW5kcyB0byBjb250cm9sIHRoZSBpL28gYmVoYXZpb3VyIG9mIHRoZSBTQ0xQIHR0eSBhdCBydW50aW1lICovCi1zdGF0aWMgaW50Ci1zY2xwX3R0eV9pb2N0bChzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5LCBzdHJ1Y3QgZmlsZSAqIGZpbGUsCi0JICAgICAgIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgaW50IG9idWY7Ci0JaW50IGNoZWNrOwotCWludCByYzsKLQotCWlmICh0dHktPmZsYWdzICYgKDEgPDwgVFRZX0lPX0VSUk9SKSkKLQkJcmV0dXJuIC1FSU87Ci0JcmMgPSAwOwotCWNoZWNrID0gMDsKLQlzd2l0Y2ggKGNtZCkgewotCWNhc2UgVElPQ1NDTFBTSFRBQjoKLQkJLyogc2V0IHdpZHRoIG9mIGhvcml6b250YWwgdGFiCSovCi0JCWlmIChnZXRfdXNlcihzY2xwX2lvY3Rscy5odGFiLCAodW5zaWduZWQgc2hvcnQgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWVsc2UKLQkJCWNoZWNrID0gMTsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdIVEFCOgotCQkvKiBnZXQgd2lkdGggb2YgaG9yaXpvbnRhbCB0YWIJKi8KLQkJaWYgKHB1dF91c2VyKHNjbHBfaW9jdGxzLmh0YWIsICh1bnNpZ25lZCBzaG9ydCBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUFNFQ0hPOgotCQkvKiBlbmFibGUvZGlzYWJsZSBlY2hvIG9mIGlucHV0ICovCi0JCWlmIChnZXRfdXNlcihzY2xwX2lvY3Rscy5lY2hvLCAodW5zaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdFQ0hPOgotCQkvKiBJcyBlY2hvIG9mIGlucHV0IGVuYWJsZWQgPyAgKi8KLQkJaWYgKHB1dF91c2VyKHNjbHBfaW9jdGxzLmVjaG8sICh1bnNpZ25lZCBjaGFyIF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU0NPTFM6Ci0JCS8qIHNldCBudW1iZXIgb2YgY29sdW1ucyBmb3Igb3V0cHV0ICAqLwotCQlpZiAoZ2V0X3VzZXIoc2NscF9pb2N0bHMuY29sdW1ucywgKHVuc2lnbmVkIHNob3J0IF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQllbHNlCi0JCQljaGVjayA9IDE7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHQ09MUzoKLQkJLyogZ2V0IG51bWJlciBvZiBjb2x1bW5zIGZvciBvdXRwdXQgICovCi0JCWlmIChwdXRfdXNlcihzY2xwX2lvY3Rscy5jb2x1bW5zLCAodW5zaWduZWQgc2hvcnQgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBTTkw6Ci0JCS8qIGVuYWJsZS9kaXNhYmxlIHdyaXRpbmcgd2l0aG91dCBmaW5hbCBuZXcgbGluZSBjaGFyYWN0ZXIgICovCi0JCWlmIChnZXRfdXNlcihzY2xwX2lvY3Rscy5maW5hbF9ubCwgKHNpZ25lZCBjaGFyIF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQR05MOgotCQkvKiBJcyB3cml0aW5nIHdpdGhvdXQgZmluYWwgbmV3IGxpbmUgY2hhcmFjdGVyIGVuYWJsZWQgPyAgKi8KLQkJaWYgKHB1dF91c2VyKHNjbHBfaW9jdGxzLmZpbmFsX25sLCAoc2lnbmVkIGNoYXIgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBTT0JVRjoKLQkJLyoKLQkJICogc2V0IHRoZSBtYXhpbXVtIGJ1ZmZlcnMgc2l6ZSBmb3Igb3V0cHV0LCB3aWxsIGJlIHJvdW5kZWQKLQkJICogdXAgdG8gbmV4dCA0a0IgYm91bmRhcnkgYW5kIHN0b3JlZCBhcyBudW1iZXIgb2YgU0NDQnMKLQkJICogKDRrQiBCdWZmZXJzKSBsaW1pdGF0aW9uOiAyNTYgeCA0a0IKLQkJICovCi0JCWlmIChnZXRfdXNlcihvYnVmLCAodW5zaWduZWQgaW50IF9fdXNlciAqKSBhcmcpID09IDApIHsKLQkJCWlmIChvYnVmICYgMHhGRkYpCi0JCQkJc2NscF9pb2N0bHMubWF4X3NjY2IgPSAob2J1ZiA+PiAxMikgKyAxOwotCQkJZWxzZQotCQkJCXNjbHBfaW9jdGxzLm1heF9zY2NiID0gKG9idWYgPj4gMTIpOwotCQl9IGVsc2UKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdPQlVGOgotCQkvKiBnZXQgdGhlIG1heGltdW0gYnVmZmVycyBzaXplIGZvciBvdXRwdXQgICovCi0JCW9idWYgPSBzY2xwX2lvY3Rscy5tYXhfc2NjYiA8PCAxMjsKLQkJaWYgKHB1dF91c2VyKG9idWYsICh1bnNpZ25lZCBpbnQgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHS0JVRjoKLQkJLyogZ2V0IHRoZSBudW1iZXIgb2YgYnVmZmVycyBnb3QgZnJvbSBrZXJuZWwgYXQgc3RhcnR1cCAqLwotCQlpZiAocHV0X3VzZXIoc2NscF9pb2N0bHMua21lbV9zY2NiLCAodW5zaWduZWQgc2hvcnQgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBTQ0FTRToKLQkJLyogZW5hYmxlL2Rpc2FibGUgY29udmVyc2lvbiBmcm9tIHVwcGVyIHRvIGxvd2VyIGNhc2UgKi8KLQkJaWYgKGdldF91c2VyKHNjbHBfaW9jdGxzLnRvbG93ZXIsICh1bnNpZ25lZCBjaGFyIF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQR0NBU0U6Ci0JCS8qIElzIGNvbnZlcnNpb24gZnJvbSB1cHBlciB0byBsb3dlciBjYXNlIG9mIGlucHV0IGVuYWJsZWQ/ICovCi0JCWlmIChwdXRfdXNlcihzY2xwX2lvY3Rscy50b2xvd2VyLCAodW5zaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUFNERUxJTToKLQkJLyoKLQkJICogc2V0IHNwZWNpYWwgY2hhcmFjdGVyIHVzZWQgZm9yIHNlcGFyYXRpbmcgdXBwZXIgYW5kCi0JCSAqIGxvd2VyIGNhc2UsIDB4MDAgZGlzYWJsZXMgdGhpcyBmZWF0dXJlCi0JCSAqLwotCQlpZiAoZ2V0X3VzZXIoc2NscF9pb2N0bHMuZGVsaW0sICh1bnNpZ25lZCBjaGFyIF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQR0RFTElNOgotCQkvKgotCQkgKiBnZXQgc3BlY2lhbCBjaGFyYWN0ZXIgdXNlZCBmb3Igc2VwYXJhdGluZyB1cHBlciBhbmQKLQkJICogbG93ZXIgY2FzZSwgMHgwMCBkaXNhYmxlcyB0aGlzIGZlYXR1cmUKLQkJICovCi0JCWlmIChwdXRfdXNlcihzY2xwX2lvY3Rscy5kZWxpbSwgKHVuc2lnbmVkIGNoYXIgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBTSU5JVDoKLQkJLyogc2V0IGluaXRpYWwgKGRlZmF1bHQpIHNjbHAgaW9jdGxzICAqLwotCQlzY2xwX2lvY3RscyA9IHNjbHBfaW9jdGxzX2luaXQ7Ci0JCWNoZWNrID0gMTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJcmMgPSAtRU5PSU9DVExDTUQ7Ci0JCWJyZWFrOwotCX0KLQlpZiAoY2hlY2spIHsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKLQkJaWYgKHNjbHBfdHR5YnVmICE9IE5VTEwpIHsKLQkJCXNjbHBfc2V0X2h0YWIoc2NscF90dHlidWYsIHNjbHBfaW9jdGxzLmh0YWIpOwotCQkJc2NscF9zZXRfY29sdW1ucyhzY2xwX3R0eWJ1Ziwgc2NscF9pb2N0bHMuY29sdW1ucyk7Ci0JCX0KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwotCX0KLQlyZXR1cm4gcmM7Ci19Ci0KIC8qCiAgKiBUaGlzIHJvdXRpbmUgcmV0dXJucyB0aGUgbnVtYmVycyBvZiBjaGFyYWN0ZXJzIHRoZSB0dHkgZHJpdmVyCiAgKiB3aWxsIGFjY2VwdCBmb3IgcXVldWluZyB0byBiZSB3cml0dGVuLiAgVGhpcyBudW1iZXIgaXMgc3ViamVjdApAQCAtMjY4LDcgKzEyNSw2IEBACiAJCQkJCSAgICBzdHJ1Y3Qgc2NscF9idWZmZXIsIGxpc3QpOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7CiAJfSB3aGlsZSAoYnVmZmVyICYmIHNjbHBfZW1pdF9idWZmZXIoYnVmZmVyLCBzY2xwX3R0eWJ1Zl9jYWxsYmFjaykpOwotCXdha2VfdXAoJnNjbHBfdHR5X3dhaXRxKTsKIAkvKiBjaGVjayBpZiB0aGUgdHR5IG5lZWRzIGEgd2FrZSB1cCBjYWxsICovCiAJaWYgKHNjbHBfdHR5ICE9IE5VTEwpIHsKIAkJdHR5X3dha2V1cChzY2xwX3R0eSk7CkBAIC0zMTYsMzcgKzE3MiwzNyBAQAogLyoKICAqIFdyaXRlIGEgc3RyaW5nIHRvIHRoZSBzY2xwIHR0eS4KICAqLwotc3RhdGljIHZvaWQKLXNjbHBfdHR5X3dyaXRlX3N0cmluZyhjb25zdCB1bnNpZ25lZCBjaGFyICpzdHIsIGludCBjb3VudCkKK3N0YXRpYyBpbnQgc2NscF90dHlfd3JpdGVfc3RyaW5nKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0ciwgaW50IGNvdW50LCBpbnQgbWF5X2ZhaWwpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl2b2lkICpwYWdlOwogCWludCB3cml0dGVuOworCWludCBvdmVyYWxsX3dyaXR0ZW47CiAJc3RydWN0IHNjbHBfYnVmZmVyICpidWY7CiAKIAlpZiAoY291bnQgPD0gMCkKLQkJcmV0dXJuOworCQlyZXR1cm4gMDsKKwlvdmVyYWxsX3dyaXR0ZW4gPSAwOwogCXNwaW5fbG9ja19pcnFzYXZlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7CiAJZG8gewogCQkvKiBDcmVhdGUgYSBzY2xwIG91dHB1dCBidWZmZXIgaWYgbm9uZSBleGlzdHMgeWV0ICovCiAJCWlmIChzY2xwX3R0eWJ1ZiA9PSBOVUxMKSB7CiAJCQl3aGlsZSAobGlzdF9lbXB0eSgmc2NscF90dHlfcGFnZXMpKSB7CiAJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwotCQkJCWlmIChpbl9pbnRlcnJ1cHQoKSkKLQkJCQkJc2NscF9zeW5jX3dhaXQoKTsKKwkJCQlpZiAobWF5X2ZhaWwpCisJCQkJCWdvdG8gb3V0OwogCQkJCWVsc2UKLQkJCQkJd2FpdF9ldmVudChzY2xwX3R0eV93YWl0cSwKLQkJCQkJCSFsaXN0X2VtcHR5KCZzY2xwX3R0eV9wYWdlcykpOworCQkJCQlzY2xwX3N5bmNfd2FpdCgpOwogCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7CiAJCQl9CiAJCQlwYWdlID0gc2NscF90dHlfcGFnZXMubmV4dDsKIAkJCWxpc3RfZGVsKChzdHJ1Y3QgbGlzdF9oZWFkICopIHBhZ2UpOwotCQkJc2NscF90dHlidWYgPSBzY2xwX21ha2VfYnVmZmVyKHBhZ2UsCi0JCQkJCQkgICAgICAgc2NscF9pb2N0bHMuY29sdW1ucywKLQkJCQkJCSAgICAgICBzY2xwX2lvY3Rscy5odGFiKTsKKwkJCXNjbHBfdHR5YnVmID0gc2NscF9tYWtlX2J1ZmZlcihwYWdlLCBzY2xwX3R0eV9jb2x1bW5zLAorCQkJCQkJICAgICAgIFNQQUNFU19QRVJfVEFCKTsKIAkJfQogCQkvKiB0cnkgdG8gd3JpdGUgdGhlIHN0cmluZyB0byB0aGUgY3VycmVudCBvdXRwdXQgYnVmZmVyICovCiAJCXdyaXR0ZW4gPSBzY2xwX3dyaXRlKHNjbHBfdHR5YnVmLCBzdHIsIGNvdW50KTsKKwkJb3ZlcmFsbF93cml0dGVuICs9IHdyaXR0ZW47CiAJCWlmICh3cml0dGVuID09IGNvdW50KQogCQkJYnJlYWs7CiAJCS8qCkBAIC0zNjMsMjcgKzIxOSwxNyBAQAogCQljb3VudCAtPSB3cml0dGVuOwogCX0gd2hpbGUgKGNvdW50ID4gMCk7CiAJLyogU2V0dXAgdGltZXIgdG8gb3V0cHV0IGN1cnJlbnQgY29uc29sZSBidWZmZXIgYWZ0ZXIgMS8xMCBzZWNvbmQgKi8KLQlpZiAoc2NscF9pb2N0bHMuZmluYWxfbmwpIHsKLQkJaWYgKHNjbHBfdHR5YnVmICE9IE5VTEwgJiYKLQkJICAgIHNjbHBfY2hhcnNfaW5fYnVmZmVyKHNjbHBfdHR5YnVmKSAhPSAwICYmCi0JCSAgICAhdGltZXJfcGVuZGluZygmc2NscF90dHlfdGltZXIpKSB7Ci0JCQlpbml0X3RpbWVyKCZzY2xwX3R0eV90aW1lcik7Ci0JCQlzY2xwX3R0eV90aW1lci5mdW5jdGlvbiA9IHNjbHBfdHR5X3RpbWVvdXQ7Ci0JCQlzY2xwX3R0eV90aW1lci5kYXRhID0gMFVMOwotCQkJc2NscF90dHlfdGltZXIuZXhwaXJlcyA9IGppZmZpZXMgKyBIWi8xMDsKLQkJCWFkZF90aW1lcigmc2NscF90dHlfdGltZXIpOwotCQl9Ci0JfSBlbHNlIHsKLQkJaWYgKHNjbHBfdHR5YnVmICE9IE5VTEwgJiYKLQkJICAgIHNjbHBfY2hhcnNfaW5fYnVmZmVyKHNjbHBfdHR5YnVmKSAhPSAwKSB7Ci0JCQlidWYgPSBzY2xwX3R0eWJ1ZjsKLQkJCXNjbHBfdHR5YnVmID0gTlVMTDsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKLQkJCV9fc2NscF90dHlidWZfZW1pdChidWYpOwotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKLQkJfQorCWlmIChzY2xwX3R0eWJ1ZiAmJiBzY2xwX2NoYXJzX2luX2J1ZmZlcihzY2xwX3R0eWJ1ZikgJiYKKwkgICAgIXRpbWVyX3BlbmRpbmcoJnNjbHBfdHR5X3RpbWVyKSkgeworCQlpbml0X3RpbWVyKCZzY2xwX3R0eV90aW1lcik7CisJCXNjbHBfdHR5X3RpbWVyLmZ1bmN0aW9uID0gc2NscF90dHlfdGltZW91dDsKKwkJc2NscF90dHlfdGltZXIuZGF0YSA9IDBVTDsKKwkJc2NscF90dHlfdGltZXIuZXhwaXJlcyA9IGppZmZpZXMgKyBIWi8xMDsKKwkJYWRkX3RpbWVyKCZzY2xwX3R0eV90aW1lcik7CiAJfQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKK291dDoKKwlyZXR1cm4gb3ZlcmFsbF93cml0dGVuOwogfQogCiAvKgpAQCAtMzk1LDExICsyNDEsMTAgQEAKIHNjbHBfdHR5X3dyaXRlKHN0cnVjdCB0dHlfc3RydWN0ICp0dHksIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGNvdW50KQogewogCWlmIChzY2xwX3R0eV9jaGFyc19jb3VudCA+IDApIHsKLQkJc2NscF90dHlfd3JpdGVfc3RyaW5nKHNjbHBfdHR5X2NoYXJzLCBzY2xwX3R0eV9jaGFyc19jb3VudCk7CisJCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhzY2xwX3R0eV9jaGFycywgc2NscF90dHlfY2hhcnNfY291bnQsIDApOwogCQlzY2xwX3R0eV9jaGFyc19jb3VudCA9IDA7CiAJfQotCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhidWYsIGNvdW50KTsKLQlyZXR1cm4gY291bnQ7CisJcmV0dXJuIHNjbHBfdHR5X3dyaXRlX3N0cmluZyhidWYsIGNvdW50LCAxKTsKIH0KIAogLyoKQEAgLTQxNyw5ICsyNjIsMTAgQEAKIHsKIAlzY2xwX3R0eV9jaGFyc1tzY2xwX3R0eV9jaGFyc19jb3VudCsrXSA9IGNoOwogCWlmIChjaCA9PSAnXG4nIHx8IHNjbHBfdHR5X2NoYXJzX2NvdW50ID49IFNDTFBfVFRZX0JVRl9TSVpFKSB7Ci0JCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhzY2xwX3R0eV9jaGFycywgc2NscF90dHlfY2hhcnNfY291bnQpOworCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50LCAwKTsKIAkJc2NscF90dHlfY2hhcnNfY291bnQgPSAwOwotCX0gcmV0dXJuIDE7CisJfQorCXJldHVybiAxOwogfQogCiAvKgpAQCAtNDMwLDcgKzI3Niw3IEBACiBzY2xwX3R0eV9mbHVzaF9jaGFycyhzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5KQogewogCWlmIChzY2xwX3R0eV9jaGFyc19jb3VudCA+IDApIHsKLQkJc2NscF90dHlfd3JpdGVfc3RyaW5nKHNjbHBfdHR5X2NoYXJzLCBzY2xwX3R0eV9jaGFyc19jb3VudCk7CisJCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhzY2xwX3R0eV9jaGFycywgc2NscF90dHlfY2hhcnNfY291bnQsIDApOwogCQlzY2xwX3R0eV9jaGFyc19jb3VudCA9IDA7CiAJfQogfQpAQCAtNDY5LDcgKzMxNSw3IEBACiBzY2xwX3R0eV9mbHVzaF9idWZmZXIoc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSkKIHsKIAlpZiAoc2NscF90dHlfY2hhcnNfY291bnQgPiAwKSB7Ci0JCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhzY2xwX3R0eV9jaGFycywgc2NscF90dHlfY2hhcnNfY291bnQpOworCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50LCAwKTsKIAkJc2NscF90dHlfY2hhcnNfY291bnQgPSAwOwogCX0KIH0KQEAgLTUxNyw5ICszNjMsNyBAQAogICogbW9kaWZpeSBvcmlnaW5hbCBzdHJpbmcsCiAgKiByZXR1cm5zIGxlbmd0aCBvZiByZXN1bHRpbmcgc3RyaW5nCiAgKi8KLXN0YXRpYyBpbnQKLXNjbHBfc3dpdGNoX2Nhc2VzKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGNvdW50LAotCQkgIHVuc2lnbmVkIGNoYXIgZGVsaW0sIGludCB0b2xvd2VyKQorc3RhdGljIGludCBzY2xwX3N3aXRjaF9jYXNlcyh1bnNpZ25lZCBjaGFyICpidWYsIGludCBjb3VudCkKIHsKIAl1bnNpZ25lZCBjaGFyICppcCwgKm9wOwogCWludCB0b2dnbGU7CkBAIC01MjksOSArMzczLDkgQEAKIAlpcCA9IG9wID0gYnVmOwogCXdoaWxlIChjb3VudC0tID4gMCkgewogCQkvKiBjb21wYXJlIHdpdGggc3BlY2lhbCBjaGFyYWN0ZXIgKi8KLQkJaWYgKCppcCA9PSBkZWxpbSkgeworCQlpZiAoKmlwID09IENBU0VfREVMSU1JVEVSKSB7CiAJCQkvKiBmb2xsb3dlZCBieSBhbm90aGVyIHNwZWNpYWwgY2hhcmFjdGVyPyAqLwotCQkJaWYgKGNvdW50ICYmIGlwWzFdID09IGRlbGltKSB7CisJCQlpZiAoY291bnQgJiYgaXBbMV0gPT0gQ0FTRV9ERUxJTUlURVIpIHsKIAkJCQkvKgogCQkJCSAqIC4uLiB0aGVuIHB1dCBhIHNpbmdsZSBjb3B5IG9mIHRoZSBzcGVjaWFsCiAJCQkJICogY2hhcmFjdGVyIHRvIHRoZSBvdXRwdXQgc3RyaW5nCkBAIC01NTAsNyArMzk0LDcgQEAKIAkJCS8qIG5vdCB0aGUgc3BlY2lhbCBjaGFyYWN0ZXIgKi8KIAkJCWlmICh0b2dnbGUpCiAJCQkJLyogYnV0IGNhc2Ugc3dpdGNoaW5nIGlzIG9uICovCi0JCQkJaWYgKHRvbG93ZXIpCisJCQkJaWYgKHNjbHBfdHR5X3RvbG93ZXIpCiAJCQkJCS8qIHN3aXRjaCB0byB1cHBlcmNhc2UgKi8KIAkJCQkJKm9wKysgPSBfZWJjX3RvdXBwZXJbKGludCkgKmlwKytdOwogCQkJCWVsc2UKQEAgLTU3MCwzMCArNDE0LDEyIEBACiAJaW50IGNvdW50OwogCiAJY291bnQgPSBlbmQgLSBzdGFydDsKLQkvKgotCSAqIGlmIHNldCBpbiBpb2N0bCBjb252ZXJ0IEVCQ0RJQyB0byBsb3dlciBjYXNlCi0JICogKG1vZGlmeSBvcmlnaW5hbCBpbnB1dCBpbiBTQ0NCKQotCSAqLwotCWlmIChzY2xwX2lvY3Rscy50b2xvd2VyKQorCWlmIChzY2xwX3R0eV90b2xvd2VyKQogCQlFQkNfVE9MT1dFUihzdGFydCwgY291bnQpOwotCi0JLyoKLQkgKiBpZiBzZXQgaW4gaW9jdGwgZmluZCBvdXQgY2hhcmFjdGVycyBpbiBsb3dlciBvciB1cHBlciBjYXNlCi0JICogKGRlcGVuZHMgb24gY3VycmVudCBjYXNlKSBzZXBhcmF0ZWQgYnkgYSBzcGVjaWFsIGNoYXJhY3RlciwKLQkgKiB3b3JrcyBvbiBFQkNESUMKLQkgKi8KLQlpZiAoc2NscF9pb2N0bHMuZGVsaW0pCi0JCWNvdW50ID0gc2NscF9zd2l0Y2hfY2FzZXMoc3RhcnQsIGNvdW50LAotCQkJCQkgIHNjbHBfaW9jdGxzLmRlbGltLAotCQkJCQkgIHNjbHBfaW9jdGxzLnRvbG93ZXIpOwotCisJY291bnQgPSBzY2xwX3N3aXRjaF9jYXNlcyhzdGFydCwgY291bnQpOwogCS8qIGNvbnZlcnQgRUJDRElDIHRvIEFTQ0lJIChtb2RpZnkgb3JpZ2luYWwgaW5wdXQgaW4gU0NDQikgKi8KIAlzY2xwX2ViY2FzY19zdHIoc3RhcnQsIGNvdW50KTsKIAotCS8qIGlmIHNldCBpbiBpb2N0bCB3cml0ZSBvcGVyYXRvcnMgaW5wdXQgdG8gY29uc29sZSAgKi8KLQlpZiAoc2NscF9pb2N0bHMuZWNobykKLQkJc2NscF90dHlfd3JpdGUoc2NscF90dHksIHN0YXJ0LCBjb3VudCk7Ci0KIAkvKiB0cmFuc2ZlciBpbnB1dCB0byBoaWdoIGxldmVsIGRyaXZlciAqLwogCXNjbHBfdHR5X2lucHV0KHN0YXJ0LCBjb3VudCk7CiB9CkBAIC03MTcsNyArNTQzLDYgQEAKIAkud3JpdGVfcm9vbSA9IHNjbHBfdHR5X3dyaXRlX3Jvb20sCiAJLmNoYXJzX2luX2J1ZmZlciA9IHNjbHBfdHR5X2NoYXJzX2luX2J1ZmZlciwKIAkuZmx1c2hfYnVmZmVyID0gc2NscF90dHlfZmx1c2hfYnVmZmVyLAotCS5pb2N0bCA9IHNjbHBfdHR5X2lvY3RsLAogfTsKIAogc3RhdGljIGludCBfX2luaXQKQEAgLTczNiw5ICs1NjEsNiBAQAogCiAJcmMgPSBzY2xwX3J3X2luaXQoKTsKIAlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFNDTFBfVFRZX1BSSU5UX0hFQURFUgotCQkgICAgICAgImNvdWxkIG5vdCByZWdpc3RlciB0dHkgLSAiCi0JCSAgICAgICAic2NscF9yd19pbml0IHJldHVybmVkICVkXG4iLCByYyk7CiAJCXB1dF90dHlfZHJpdmVyKGRyaXZlcik7CiAJCXJldHVybiByYzsKIAl9CkBAIC03NTQsNyArNTc2LDYgQEAKIAl9CiAJSU5JVF9MSVNUX0hFQUQoJnNjbHBfdHR5X291dHF1ZXVlKTsKIAlzcGluX2xvY2tfaW5pdCgmc2NscF90dHlfbG9jayk7Ci0JaW5pdF93YWl0cXVldWVfaGVhZCgmc2NscF90dHlfd2FpdHEpOwogCWluaXRfdGltZXIoJnNjbHBfdHR5X3RpbWVyKTsKIAlzY2xwX3R0eWJ1ZiA9IE5VTEw7CiAJc2NscF90dHlfYnVmZmVyX2NvdW50ID0gMDsKQEAgLTc2MywxMSArNTg0LDEwIEBACiAJCSAqIHNhdmUgNCBjaGFyYWN0ZXJzIGZvciB0aGUgQ1BVIG51bWJlcgogCQkgKiB3cml0dGVuIGF0IHN0YXJ0IG9mIGVhY2ggbGluZSBieSBWTS9DUAogCQkgKi8KLQkJc2NscF9pb2N0bHNfaW5pdC5jb2x1bW5zID0gNzY7CisJCXNjbHBfdHR5X2NvbHVtbnMgPSA3NjsKIAkJLyogY2FzZSBpbnB1dCBsaW5lcyB0byBsb3dlcmNhc2UgKi8KLQkJc2NscF9pb2N0bHNfaW5pdC50b2xvd2VyID0gMTsKKwkJc2NscF90dHlfdG9sb3dlciA9IDE7CiAJfQotCXNjbHBfaW9jdGxzID0gc2NscF9pb2N0bHNfaW5pdDsKIAlzY2xwX3R0eV9jaGFyc19jb3VudCA9IDA7CiAJc2NscF90dHkgPSBOVUxMOwogCkBAIC03OTIsOSArNjEyLDYgQEAKIAl0dHlfc2V0X29wZXJhdGlvbnMoZHJpdmVyLCAmc2NscF9vcHMpOwogCXJjID0gdHR5X3JlZ2lzdGVyX2RyaXZlcihkcml2ZXIpOwogCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgU0NMUF9UVFlfUFJJTlRfSEVBREVSCi0JCSAgICAgICAiY291bGQgbm90IHJlZ2lzdGVyIHR0eSAtICIKLQkJICAgICAgICJ0dHlfcmVnaXN0ZXJfZHJpdmVyIHJldHVybmVkICVkXG4iLCByYyk7CiAJCXB1dF90dHlfZHJpdmVyKGRyaXZlcik7CiAJCXJldHVybiByYzsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3R0eS5oIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuaAppbmRleCAwY2UyYzFmLi40Yjk2NWIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3R0eS5oCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmgKQEAgLTExLDYxICsxMSw4IEBACiAjaWZuZGVmIF9fU0NMUF9UVFlfSF9fCiAjZGVmaW5lIF9fU0NMUF9UVFlfSF9fCiAKLSNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgotI2luY2x1ZGUgPGxpbnV4L3Rlcm1pb3MuaD4KICNpbmNsdWRlIDxsaW51eC90dHlfZHJpdmVyLmg+CiAKLS8qIFRoaXMgaXMgdGhlIHR5cGUgb2YgZGF0YSBzdHJ1Y3R1cmVzIHN0b3Jpbmcgc2NscCBpb2N0bCBzZXR0aW5nLiAqLwotc3RydWN0IHNjbHBfaW9jdGxzIHsKLQl1bnNpZ25lZCBzaG9ydCBodGFiOwotCXVuc2lnbmVkIGNoYXIgZWNobzsKLQl1bnNpZ25lZCBzaG9ydCBjb2x1bW5zOwotCXVuc2lnbmVkIGNoYXIgZmluYWxfbmw7Ci0JdW5zaWduZWQgc2hvcnQgbWF4X3NjY2I7Ci0JdW5zaWduZWQgc2hvcnQga21lbV9zY2NiOwkvKiBjYW4ndCBiZSBtb2RpZmllZCBhdCBydW4gdGltZSAqLwotCXVuc2lnbmVkIGNoYXIgdG9sb3dlcjsKLQl1bnNpZ25lZCBjaGFyIGRlbGltOwotfTsKLQotLyogbXVzdCBiZSB1bmlxdWUsIEZJWE1FOiBtdXN0IGJlIGFkZGVkIGluIERvY3VtZW50YXRpb24vaW9jdGxfbnVtYmVyLnR4dCAqLwotI2RlZmluZSBTQ0xQX0lPQ1RMX0xFVFRFUiAnQicKLQotLyogc2V0IHdpZHRoIG9mIGhvcml6b250YWwgdGFidWxhdG9yICovCi0jZGVmaW5lIFRJT0NTQ0xQU0hUQUIJX0lPVyhTQ0xQX0lPQ1RMX0xFVFRFUiwgMCwgdW5zaWduZWQgc2hvcnQpCi0vKiBlbmFibGUvZGlzYWJsZSBlY2hvIG9mIGlucHV0IChpbmRlcGVuZGVudCBmcm9tIGxpbmUgZGlzY2lwbGluZSkgKi8KLSNkZWZpbmUgVElPQ1NDTFBTRUNITwlfSU9XKFNDTFBfSU9DVExfTEVUVEVSLCAxLCB1bnNpZ25lZCBjaGFyKQotLyogc2V0IG51bWJlciBvZiBjb2x1bXMgZm9yIG91dHB1dCAqLwotI2RlZmluZSBUSU9DU0NMUFNDT0xTCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDIsIHVuc2lnbmVkIHNob3J0KQotLyogZW5hYmxlL2Rpc2FibGUgd3JpdGluZyB3aXRob3V0IGZpbmFsIG5ldyBsaW5lIGNoYXJhY3RlciAqLwotI2RlZmluZSBUSU9DU0NMUFNOTAlfSU9XKFNDTFBfSU9DVExfTEVUVEVSLCA0LCBzaWduZWQgY2hhcikKLS8qIHNldCB0aGUgbWF4aW11bSBidWZmZXJzIHNpemUgZm9yIG91dHB1dCwgcm91bmRlZCB1cCB0byBuZXh0IDRrQiBib3VuZGFyeSAqLwotI2RlZmluZSBUSU9DU0NMUFNPQlVGCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDUsIHVuc2lnbmVkIHNob3J0KQotLyogc2V0IGluaXRpYWwgKGRlZmF1bHQpIHNjbHAgaW9jdGxzICovCi0jZGVmaW5lIFRJT0NTQ0xQU0lOSVQJX0lPKFNDTFBfSU9DVExfTEVUVEVSLCA2KQotLyogZW5hYmxlL2Rpc2FibGUgY29udmVyc2lvbiBmcm9tIHVwcGVyIHRvIGxvd2VyIGNhc2Ugb2YgaW5wdXQgKi8KLSNkZWZpbmUgVElPQ1NDTFBTQ0FTRQlfSU9XKFNDTFBfSU9DVExfTEVUVEVSLCA3LCB1bnNpZ25lZCBjaGFyKQotLyogc2V0IHNwZWNpYWwgY2hhcmFjdGVyIHVzZWQgZm9yIHNlcGFyYXRpbmcgdXBwZXIgYW5kIGxvd2VyIGNhc2UsICovCi0vKiAweDAwIGRpc2FibGVzIHRoaXMgZmVhdHVyZSAqLwotI2RlZmluZSBUSU9DU0NMUFNERUxJTQlfSU9XKFNDTFBfSU9DVExfTEVUVEVSLCA5LCB1bnNpZ25lZCBjaGFyKQotCi0vKiBnZXQgd2lkdGggb2YgaG9yaXpvbnRhbCB0YWJ1bGF0b3IgKi8KLSNkZWZpbmUgVElPQ1NDTFBHSFRBQglfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxMCwgdW5zaWduZWQgc2hvcnQpCi0vKiBJcyBlY2hvIG9mIGlucHV0IGVuYWJsZWQgPyAoaW5kZXBlbmRlbnQgZnJvbSBsaW5lIGRpc2NpcGxpbmUpICovCi0jZGVmaW5lIFRJT0NTQ0xQR0VDSE8JX0lPUihTQ0xQX0lPQ1RMX0xFVFRFUiwgMTEsIHVuc2lnbmVkIGNoYXIpCi0vKiBnZXQgbnVtYmVyIG9mIGNvbHVtcyBmb3Igb3V0cHV0ICovCi0jZGVmaW5lIFRJT0NTQ0xQR0NPTFMJX0lPUihTQ0xQX0lPQ1RMX0xFVFRFUiwgMTIsIHVuc2lnbmVkIHNob3J0KQotLyogSXMgd3JpdGluZyB3aXRob3V0IGZpbmFsIG5ldyBsaW5lIGNoYXJhY3RlciBlbmFibGVkID8gKi8KLSNkZWZpbmUgVElPQ1NDTFBHTkwJX0lPUihTQ0xQX0lPQ1RMX0xFVFRFUiwgMTQsIHNpZ25lZCBjaGFyKQotLyogZ2V0IHRoZSBtYXhpbXVtIGJ1ZmZlcnMgc2l6ZSBmb3Igb3V0cHV0ICovCi0jZGVmaW5lIFRJT0NTQ0xQR09CVUYJX0lPUihTQ0xQX0lPQ1RMX0xFVFRFUiwgMTUsIHVuc2lnbmVkIHNob3J0KQotLyogSXMgY29udmVyc2lvbiBmcm9tIHVwcGVyIHRvIGxvd2VyIGNhc2Ugb2YgaW5wdXQgZW5hYmxlZCA/ICovCi0jZGVmaW5lIFRJT0NTQ0xQR0NBU0UJX0lPUihTQ0xQX0lPQ1RMX0xFVFRFUiwgMTcsIHVuc2lnbmVkIGNoYXIpCi0vKiBnZXQgc3BlY2lhbCBjaGFyYWN0ZXIgdXNlZCBmb3Igc2VwYXJhdGluZyB1cHBlciBhbmQgbG93ZXIgY2FzZSwgKi8KLS8qIDB4MDAgZGlzYWJsZXMgdGhpcyBmZWF0dXJlICovCi0jZGVmaW5lIFRJT0NTQ0xQR0RFTElNCV9JT1IoU0NMUF9JT0NUTF9MRVRURVIsIDE5LCB1bnNpZ25lZCBjaGFyKQotLyogZ2V0IHRoZSBudW1iZXIgb2YgYnVmZmVycy9wYWdlcyBnb3QgZnJvbSBrZXJuZWwgYXQgc3RhcnR1cCAqLwotI2RlZmluZSBUSU9DU0NMUEdLQlVGCV9JT1IoU0NMUF9JT0NUTF9MRVRURVIsIDIwLCB1bnNpZ25lZCBzaG9ydCkKLQogZXh0ZXJuIHN0cnVjdCB0dHlfZHJpdmVyICpzY2xwX3R0eV9kcml2ZXI7CiAKICNlbmRpZgkvKiBfX1NDTFBfVFRZX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF92dDIyMC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF92dDIyMC5jCmluZGV4IDNlNTc3ZjYuLmFkNTE3MzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdnQyMjAuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgInNjbHAuaCIKIAotI2RlZmluZSBTQ0xQX1ZUMjIwX1BSSU5UX0hFQURFUiAJInNjbHAgdnQyMjAgdHR5IGRyaXZlcjogIgogI2RlZmluZSBTQ0xQX1ZUMjIwX01BSk9SCQlUVFlfTUFKT1IKICNkZWZpbmUgU0NMUF9WVDIyMF9NSU5PUgkJNjUKICNkZWZpbmUgU0NMUF9WVDIyMF9EUklWRVJfTkFNRQkJInNjbHBfdnQyMjAiCkBAIC04Miw4ICs4MSw4IEBACiAvKiBOdW1iZXIgb2YgY2hhcmFjdGVycyBpbiBjdXJyZW50IHJlcXVlc3QgYnVmZmVyICovCiBzdGF0aWMgaW50IHNjbHBfdnQyMjBfYnVmZmVyZWRfY2hhcnM7CiAKLS8qIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgZHJpdmVyIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQgKi8KLXN0YXRpYyBpbnQgc2NscF92dDIyMF9pbml0aWFsaXplZCA9IDA7CisvKiBDb3VudGVyIGNvbnRyb2xsaW5nIGNvcmUgZHJpdmVyIGluaXRpYWxpemF0aW9uLiAqLworc3RhdGljIGludCBfX2luaXRkYXRhIHNjbHBfdnQyMjBfaW5pdF9jb3VudDsKIAogLyogRmxhZyBpbmRpY2F0aW5nIHRoYXQgc2NscF92dDIyMF9jdXJyZW50X3JlcXVlc3Qgc2hvdWxkIHJlYWxseQogICogaGF2ZSBiZWVuIGFscmVhZHkgcXVldWVkIGJ1dCB3YXNuJ3QgYmVjYXVzZSB0aGUgU0NMUCB3YXMgcHJvY2Vzc2luZwpAQCAtNjA5LDEwICs2MDgsOCBAQAogCXNjbHBfdnQyMjBfZW1pdF9jdXJyZW50KCk7CiB9CiAKLS8qCi0gKiBJbml0aWFsaXplIGFsbCByZWxldmFudCBjb21wb25lbnRzIGFuZCByZWdpc3RlciBkcml2ZXIgd2l0aCBzeXN0ZW0uCi0gKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBfX3NjbHBfdnQyMjBfY2xlYW51cCh2b2lkKQorLyogUmVsZWFzZSBhbGxvY2F0ZWQgcGFnZXMuICovCitzdGF0aWMgdm9pZCBfX2luaXQgX19zY2xwX3Z0MjIwX2ZyZWVfcGFnZXModm9pZCkKIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkICpwYWdlLCAqcDsKIApAQCAtNjIzLDIxICs2MjAsMzAgQEAKIAkJZWxzZQogCQkJZnJlZV9ib290bWVtKCh1bnNpZ25lZCBsb25nKSBwYWdlLCBQQUdFX1NJWkUpOwogCX0KLQlpZiAoIWxpc3RfZW1wdHkoJnNjbHBfdnQyMjBfcmVnaXN0ZXIubGlzdCkpCi0JCXNjbHBfdW5yZWdpc3Rlcigmc2NscF92dDIyMF9yZWdpc3Rlcik7Ci0Jc2NscF92dDIyMF9pbml0aWFsaXplZCA9IDA7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IF9fc2NscF92dDIyMF9pbml0KHZvaWQpCisvKiBSZWxlYXNlIG1lbW9yeSBhbmQgdW5yZWdpc3RlciBmcm9tIHNjbHAgY29yZS4gQ29udHJvbGxlZCBieSBpbml0IGNvdW50aW5nIC0KKyAqIG9ubHkgdGhlIGxhc3QgaW52b2tlciB3aWxsIGFjdHVhbGx5IHBlcmZvcm0gdGhlc2UgYWN0aW9ucy4gKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBfX3NjbHBfdnQyMjBfY2xlYW51cCh2b2lkKQoreworCXNjbHBfdnQyMjBfaW5pdF9jb3VudC0tOworCWlmIChzY2xwX3Z0MjIwX2luaXRfY291bnQgIT0gMCkKKwkJcmV0dXJuOworCXNjbHBfdW5yZWdpc3Rlcigmc2NscF92dDIyMF9yZWdpc3Rlcik7CisJX19zY2xwX3Z0MjIwX2ZyZWVfcGFnZXMoKTsKK30KKworLyogQWxsb2NhdGUgYnVmZmVyIHBhZ2VzIGFuZCByZWdpc3RlciB3aXRoIHNjbHAgY29yZS4gQ29udHJvbGxlZCBieSBpbml0CisgKiBjb3VudGluZyAtIG9ubHkgdGhlIGZpcnN0IGludm9rZXIgd2lsbCBhY3R1YWxseSBwZXJmb3JtIHRoZXNlIGFjdGlvbnMuICovCitzdGF0aWMgaW50IF9faW5pdCBfX3NjbHBfdnQyMjBfaW5pdChpbnQgbnVtX3BhZ2VzKQogewogCXZvaWQgKnBhZ2U7CiAJaW50IGk7Ci0JaW50IG51bV9wYWdlczsKIAlpbnQgcmM7CiAKLQlpZiAoc2NscF92dDIyMF9pbml0aWFsaXplZCkKKwlzY2xwX3Z0MjIwX2luaXRfY291bnQrKzsKKwlpZiAoc2NscF92dDIyMF9pbml0X2NvdW50ICE9IDEpCiAJCXJldHVybiAwOwotCXNjbHBfdnQyMjBfaW5pdGlhbGl6ZWQgPSAxOwogCXNwaW5fbG9ja19pbml0KCZzY2xwX3Z0MjIwX2xvY2spOwogCUlOSVRfTElTVF9IRUFEKCZzY2xwX3Z0MjIwX2VtcHR5KTsKIAlJTklUX0xJU1RfSEVBRCgmc2NscF92dDIyMF9vdXRxdWV1ZSk7CkBAIC02NDksMjQgKzY1NSwyMiBAQAogCXNjbHBfdnQyMjBfZmx1c2hfbGF0ZXIgPSAwOwogCiAJLyogQWxsb2NhdGUgcGFnZXMgZm9yIG91dHB1dCBidWZmZXJpbmcgKi8KLQludW1fcGFnZXMgPSBzbGFiX2lzX2F2YWlsYWJsZSgpID8gTUFYX0tNRU1fUEFHRVMgOiBNQVhfQ09OU09MRV9QQUdFUzsKIAlmb3IgKGkgPSAwOyBpIDwgbnVtX3BhZ2VzOyBpKyspIHsKIAkJaWYgKHNsYWJfaXNfYXZhaWxhYmxlKCkpCiAJCQlwYWdlID0gKHZvaWQgKikgZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKIAkJZWxzZQogCQkJcGFnZSA9IGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7CiAJCWlmICghcGFnZSkgewotCQkJX19zY2xwX3Z0MjIwX2NsZWFudXAoKTsKLQkJCXJldHVybiAtRU5PTUVNOworCQkJcmMgPSAtRU5PTUVNOworCQkJZ290byBvdXQ7CiAJCX0KIAkJbGlzdF9hZGRfdGFpbCgoc3RydWN0IGxpc3RfaGVhZCAqKSBwYWdlLCAmc2NscF92dDIyMF9lbXB0eSk7CiAJfQogCXJjID0gc2NscF9yZWdpc3Rlcigmc2NscF92dDIyMF9yZWdpc3Rlcik7CitvdXQ6CiAJaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBTQ0xQX1ZUMjIwX1BSSU5UX0hFQURFUgotCQkgICAgICAgImNvdWxkIG5vdCByZWdpc3RlciB2dDIyMCAtICIKLQkJICAgICAgICJzY2xwX3JlZ2lzdGVyIHJldHVybmVkICVkXG4iLCByYyk7Ci0JCV9fc2NscF92dDIyMF9jbGVhbnVwKCk7CisJCV9fc2NscF92dDIyMF9mcmVlX3BhZ2VzKCk7CisJCXNjbHBfdnQyMjBfaW5pdF9jb3VudC0tOwogCX0KIAlyZXR1cm4gcmM7CiB9CkBAIC02ODksMTUgKzY5MywxMyBAQAogewogCXN0cnVjdCB0dHlfZHJpdmVyICpkcml2ZXI7CiAJaW50IHJjOwotCWludCBjbGVhbnVwOwogCiAJLyogTm90ZTogd2UncmUgbm90IHRlc3RpbmcgZm9yIENPTlNPTEVfSVNfU0NMUCBoZXJlIHRvIHByZXNlcnZlCiAJICogc3ltbWV0cnkgYmV0d2VlbiBWTSBhbmQgTFBBUiBzeXN0ZW1zIHJlZ2FyZGluZyB0dHlTMS4gKi8KIAlkcml2ZXIgPSBhbGxvY190dHlfZHJpdmVyKDEpOwogCWlmICghZHJpdmVyKQogCQlyZXR1cm4gLUVOT01FTTsKLQljbGVhbnVwID0gIXNjbHBfdnQyMjBfaW5pdGlhbGl6ZWQ7Ci0JcmMgPSBfX3NjbHBfdnQyMjBfaW5pdCgpOworCXJjID0gX19zY2xwX3Z0MjIwX2luaXQoTUFYX0tNRU1fUEFHRVMpOwogCWlmIChyYykKIAkJZ290byBvdXRfZHJpdmVyOwogCkBAIC03MTMsMTggKzcxNSwxMyBAQAogCXR0eV9zZXRfb3BlcmF0aW9ucyhkcml2ZXIsICZzY2xwX3Z0MjIwX29wcyk7CiAKIAlyYyA9IHR0eV9yZWdpc3Rlcl9kcml2ZXIoZHJpdmVyKTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFNDTFBfVlQyMjBfUFJJTlRfSEVBREVSCi0JCSAgICAgICAiY291bGQgbm90IHJlZ2lzdGVyIHR0eSAtICIKLQkJICAgICAgICJ0dHlfcmVnaXN0ZXJfZHJpdmVyIHJldHVybmVkICVkXG4iLCByYyk7CisJaWYgKHJjKQogCQlnb3RvIG91dF9pbml0OwotCX0KIAlzY2xwX3Z0MjIwX2RyaXZlciA9IGRyaXZlcjsKIAlyZXR1cm4gMDsKIAogb3V0X2luaXQ6Ci0JaWYgKGNsZWFudXApCi0JCV9fc2NscF92dDIyMF9jbGVhbnVwKCk7CisJX19zY2xwX3Z0MjIwX2NsZWFudXAoKTsKIG91dF9kcml2ZXI6CiAJcHV0X3R0eV9kcml2ZXIoZHJpdmVyKTsKIAlyZXR1cm4gcmM7CkBAIC03NzMsMTAgKzc3MCw5IEBACiB7CiAJaW50IHJjOwogCi0JSU5JVF9MSVNUX0hFQUQoJnNjbHBfdnQyMjBfcmVnaXN0ZXIubGlzdCk7CiAJaWYgKCFDT05TT0xFX0lTX1NDTFApCiAJCXJldHVybiAwOwotCXJjID0gX19zY2xwX3Z0MjIwX2luaXQoKTsKKwlyYyA9IF9fc2NscF92dDIyMF9pbml0KE1BWF9DT05TT0xFX1BBR0VTKTsKIAlpZiAocmMpCiAJCXJldHVybiByYzsKIAkvKiBBdHRhY2ggbGludXggY29uc29sZSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV8zNHh4LmMgYi9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM0eHguYwppbmRleCA4NzRhZGYzLi4yMmNhMzQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM0eHguYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM0eHguYwpAQCAtMTk2LDcgKzE5Niw3IEBACiBzdGF0aWMgaW50CiB0YXBlXzM0eHhfdW5zb2xpY2l0ZWRfaXJxKHN0cnVjdCB0YXBlX2RldmljZSAqZGV2aWNlLCBzdHJ1Y3QgaXJiICppcmIpCiB7Ci0JaWYgKGlyYi0+c2Nzdy5kc3RhdCA9PSAweDg1IC8qIFJFQURZICovKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gMHg4NSkgeyAvKiBSRUFEWSAqLwogCQkvKiBBIG1lZGl1bSB3YXMgaW5zZXJ0ZWQgaW4gdGhlIGRyaXZlLiAqLwogCQlEQkZfRVZFTlQoNiwgInh1dWQgbWVkXG4iKTsKIAkJdGFwZV8zNHh4X2RlbGV0ZV9zYmlkX2Zyb20oZGV2aWNlLCAwKTsKQEAgLTg0NCwyMiArODQ0LDIyIEBACiAJaWYgKHJlcXVlc3QgPT0gTlVMTCkKIAkJcmV0dXJuIHRhcGVfMzR4eF91bnNvbGljaXRlZF9pcnEoZGV2aWNlLCBpcmIpOwogCi0JaWYgKChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0VYQ0VQKSAmJgotCSAgICAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgJiYKKwlpZiAoKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0VYQ0VQKSAmJgorCSAgICAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpICYmCiAJICAgIChyZXF1ZXN0LT5vcCA9PSBUT19XUkkpKSB7CiAJCS8qIFdyaXRlIGF0IGVuZCBvZiB2b2x1bWUgKi8KIAkJUFJJTlRfSU5GTygiRW5kIG9mIHZvbHVtZVxuIik7IC8qIFhYWCAqLwogCQlyZXR1cm4gdGFwZV8zNHh4X2VycF9mYWlsZWQocmVxdWVzdCwgLUVOT1NQQyk7CiAJfQogCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQogCQlyZXR1cm4gdGFwZV8zNHh4X3VuaXRfY2hlY2soZGV2aWNlLCByZXF1ZXN0LCBpcmIpOwogCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHsKIAkJLyoKIAkJICogQSB1bml0IGV4Y2VwdGlvbiBvY2N1cnMgb24gc2tpcHBpbmcgb3ZlciBhIHRhcGVtYXJrIGJsb2NrLgogCQkgKi8KLQkJaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApIHsKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0VYQ0VQKSB7CiAJCQlpZiAocmVxdWVzdC0+b3AgPT0gVE9fQlNCIHx8IHJlcXVlc3QtPm9wID09IFRPX0ZTQikKIAkJCQlyZXF1ZXN0LT5yZXNjbnQrKzsKIAkJCWVsc2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzU5MC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV8zNTkwLmMKaW5kZXggNDJjZTc5MS4uODM5OTg3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV8zNTkwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV8zNTkwLmMKQEAgLTgzNywxMyArODM3LDEzIEBACiBzdGF0aWMgaW50CiB0YXBlXzM1OTBfdW5zb2xpY2l0ZWRfaXJxKHN0cnVjdCB0YXBlX2RldmljZSAqZGV2aWNlLCBzdHJ1Y3QgaXJiICppcmIpCiB7Ci0JaWYgKGlyYi0+c2Nzdy5kc3RhdCA9PSBERVZfU1RBVF9DSE5fRU5EKQorCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ID09IERFVl9TVEFUX0NITl9FTkQpCiAJCS8qIFByb2JhYmx5IHJlc3VsdCBvZiBoYWx0IHNzY2ggKi8KIAkJcmV0dXJuIFRBUEVfSU9fUEVORElORzsKLQllbHNlIGlmIChpcmItPnNjc3cuZHN0YXQgPT0gMHg4NSkKKwllbHNlIGlmIChpcmItPnNjc3cuY21kLmRzdGF0ID09IDB4ODUpCiAJCS8qIERldmljZSBSZWFkeSAqLwogCQlEQkZfRVZFTlQoMywgInVuc29sLmlycSEgdGFwZSByZWFkeTogJTA4eFxuIiwgZGV2aWNlLT5jZGV2X2lkKTsKLQllbHNlIGlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKKwllbHNlIGlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CiAJCXRhcGVfMzU5MF9zY2hlZHVsZV93b3JrKGRldmljZSwgVE9fUkVBRF9BVFRNU0cpOwogCX0gZWxzZSB7CiAJCURCRl9FVkVOVCgzLCAidW5zb2wuaXJxISBkZXYgZW5kOiAlMDh4XG4iLCBkZXZpY2UtPmNkZXZfaWQpOwpAQCAtMTUxNSwxOCArMTUxNSwxOSBAQAogCWlmIChyZXF1ZXN0ID09IE5VTEwpCiAJCXJldHVybiB0YXBlXzM1OTBfdW5zb2xpY2l0ZWRfaXJxKGRldmljZSwgaXJiKTsKIAotCWlmICgoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9FWENFUCkgJiYKLQkgICAgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpICYmIChyZXF1ZXN0LT5vcCA9PSBUT19XUkkpKSB7CisJaWYgKChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9FWENFUCkgJiYKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSAmJgorCSAgICAocmVxdWVzdC0+b3AgPT0gVE9fV1JJKSkgewogCQkvKiBXcml0ZSBhdCBlbmQgb2Ygdm9sdW1lICovCiAJCURCRl9FVkVOVCgyLCAiRW5kIG9mIHZvbHVtZVxuIik7CiAJCXJldHVybiB0YXBlXzM1OTBfZXJwX2ZhaWxlZChkZXZpY2UsIHJlcXVlc3QsIGlyYiwgLUVOT1NQQyk7CiAJfQogCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQogCQlyZXR1cm4gdGFwZV8zNTkwX3VuaXRfY2hlY2soZGV2aWNlLCByZXF1ZXN0LCBpcmIpOwogCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHsKLQkJaWYgKGlyYi0+c2Nzdy5kc3RhdCA9PSBERVZfU1RBVF9VTklUX0VYQ0VQKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSB7CisJCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ID09IERFVl9TVEFUX1VOSVRfRVhDRVApIHsKIAkJCWlmIChyZXF1ZXN0LT5vcCA9PSBUT19GU0IgfHwgcmVxdWVzdC0+b3AgPT0gVE9fQlNCKQogCQkJCXJlcXVlc3QtPnJlc2NudCsrOwogCQkJZWxzZQpAQCAtMTUzNiwxMiArMTUzNywxMiBAQAogCQlyZXR1cm4gdGFwZV8zNTkwX2RvbmUoZGV2aWNlLCByZXF1ZXN0KTsKIAl9CiAKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQ0hOX0VORCkgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQ0hOX0VORCkgewogCQlEQkZfRVZFTlQoMiwgImNhbm5lbCBlbmRcbiIpOwogCQlyZXR1cm4gVEFQRV9JT19QRU5ESU5HOwogCX0KIAotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgewogCQlEQkZfRVZFTlQoMiwgIlVuaXQgQXR0ZW50aW9uIHdoZW4gYnVzeS4uXG4iKTsKIAkJcmV0dXJuIFRBUEVfSU9fUEVORElORzsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlX2NoYXIuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY2hhci5jCmluZGV4IGViZTg0MDYuLjY4NzcyMGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY2hhci5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY2hhci5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbXRpby5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCkBAIC0yODksMjEgKzI5MCwyNiBAQAogCWlmIChpbWFqb3IoZmlscC0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSkgIT0gdGFwZWNoYXJfbWFqb3IpCiAJCXJldHVybiAtRU5PREVWOwogCisJbG9ja19rZXJuZWwoKTsKIAltaW5vciA9IGltaW5vcihmaWxwLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKIAlkZXZpY2UgPSB0YXBlX2dldF9kZXZpY2UobWlub3IgLyBUQVBFX01JTk9SU19QRVJfREVWKTsKIAlpZiAoSVNfRVJSKGRldmljZSkpIHsKIAkJREJGX0VWRU5UKDMsICJUQ0hBUjpvcGVuOiB0YXBlX2dldF9kZXZpY2UoKSBmYWlsZWRcbiIpOwotCQlyZXR1cm4gUFRSX0VSUihkZXZpY2UpOworCQlyYyA9IFBUUl9FUlIoZGV2aWNlKTsKKwkJZ290byBvdXQ7CiAJfQogCiAKIAlyYyA9IHRhcGVfb3BlbihkZXZpY2UpOwogCWlmIChyYyA9PSAwKSB7CiAJCWZpbHAtPnByaXZhdGVfZGF0YSA9IGRldmljZTsKLQkJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOworCQlyYyA9IG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOwogCX0KLQl0YXBlX3B1dF9kZXZpY2UoZGV2aWNlKTsKKwllbHNlCisJCXRhcGVfcHV0X2RldmljZShkZXZpY2UpOwogCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByYzsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jb3JlLmMgYi9kcml2ZXJzL3MzOTAvY2hhci90YXBlX2NvcmUuYwppbmRleCBjMjBlM2M1Li4xODFhNTQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlX2NvcmUuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci90YXBlX2NvcmUuYwpAQCAtODM5LDcgKzgzOSw3IEBACiAKIAlQUklOVF9JTkZPKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKIAlQUklOVF9JTkZPKCJEU1RBVCA6ICUwMnggIENTVEFUOiAlMDJ4CUNQQTogJTA0eFxuIiwKLQkJICAgaXJiLT5zY3N3LmRzdGF0LCBpcmItPnNjc3cuY3N0YXQsIGlyYi0+c2Nzdy5jcGEpOworCQkgICBpcmItPnNjc3cuY21kLmRzdGF0LCBpcmItPnNjc3cuY21kLmNzdGF0LCBpcmItPnNjc3cuY21kLmNwYSk7CiAJUFJJTlRfSU5GTygiREVWSUNFOiAlc1xuIiwgZGV2aWNlLT5jZGV2LT5kZXYuYnVzX2lkKTsKIAlpZiAocmVxdWVzdCAhPSBOVUxMKQogCQlQUklOVF9JTkZPKCJPUAkgIDogJXNcbiIsIHRhcGVfb3BfdmVyYm9zZVtyZXF1ZXN0LT5vcF0pOwpAQCAtODY3LDcgKzg2Nyw3IEBACiAJZWxzZQogCQlvcCA9ICItLS0iOwogCURCRl9FVkVOVCgzLCAiRFNUQVQgOiAlMDJ4ICAgQ1NUQVQ6ICUwMnhcbiIsCi0JCSAgaXJiLT5zY3N3LmRzdGF0LGlyYi0+c2Nzdy5jc3RhdCk7CisJCSAgaXJiLT5zY3N3LmNtZC5kc3RhdCwgaXJiLT5zY3N3LmNtZC5jc3RhdCk7CiAJREJGX0VWRU5UKDMsICJERVZJQ0U6ICUwOHggT1BcdDogJXNcbiIsIGRldmljZS0+Y2Rldl9pZCwgb3ApOwogCXNwdHIgPSAodW5zaWduZWQgaW50ICopIGlyYi0+ZWN3OwogCURCRl9FVkVOVCgzLCAiJTA4eCAlMDh4XG4iLCBzcHRyWzBdLCBzcHRyWzFdKTsKQEAgLTEwODMsMTAgKzEwODMsMTEgQEAKIAkgKiBlcnJvciBtaWdodCBzdGlsbCBhcHBseS4gU28gd2UganVzdCBzY2hlZHVsZSB0aGUgcmVxdWVzdCB0byBiZQogCSAqIHN0YXJ0ZWQgbGF0ZXIuCiAJICovCi0JaWYgKGlyYi0+c2Nzdy5jYyAhPSAwICYmIChpcmItPnNjc3cuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSAmJgorCWlmIChpcmItPnNjc3cuY21kLmNjICE9IDAgJiYKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSAmJgogCSAgICAocmVxdWVzdC0+c3RhdHVzID09IFRBUEVfUkVRVUVTVF9JTl9JTykpIHsKIAkJREJGX0VWRU5UKDMsIiglMDh4KTogZGVmZXJyZWQgY2M9JWksIGZjdGw9JWkuIHJlc3RhcnRpbmdcbiIsCi0JCQlkZXZpY2UtPmNkZXZfaWQsIGlyYi0+c2Nzdy5jYywgaXJiLT5zY3N3LmZjdGwpOworCQkJZGV2aWNlLT5jZGV2X2lkLCBpcmItPnNjc3cuY21kLmNjLCBpcmItPnNjc3cuY21kLmZjdGwpOwogCQlyZXF1ZXN0LT5zdGF0dXMgPSBUQVBFX1JFUVVFU1RfUVVFVUVEOwogCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmRldmljZS0+dGFwZV9kbnIsIEhaKTsKIAkJcmV0dXJuOwpAQCAtMTA5NCw4ICsxMDk1LDggQEAKIAogCS8qIE1heSBiZSBhbiB1bnNvbGljaXRlZCBpcnEgKi8KIAlpZihyZXF1ZXN0ICE9IE5VTEwpCi0JCXJlcXVlc3QtPnJlc2NudCA9IGlyYi0+c2Nzdy5jb3VudDsKLQllbHNlIGlmICgoaXJiLT5zY3N3LmRzdGF0ID09IDB4ODUgfHwgaXJiLT5zY3N3LmRzdGF0ID09IDB4ODApICYmCisJCXJlcXVlc3QtPnJlc2NudCA9IGlyYi0+c2Nzdy5jbWQuY291bnQ7CisJZWxzZSBpZiAoKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gMHg4NSB8fCBpcmItPnNjc3cuY21kLmRzdGF0ID09IDB4ODApICYmCiAJCSAhbGlzdF9lbXB0eSgmZGV2aWNlLT5yZXFfcXVldWUpKSB7CiAJCS8qIE5vdCBSZWFkeSB0byBSZWFkeSBhZnRlciBsb25nIGJ1c3kgPyAqLwogCQlzdHJ1Y3QgdGFwZV9yZXF1ZXN0ICpyZXE7CkBAIC0xMTExLDcgKzExMTIsNyBAQAogCQkJcmV0dXJuOwogCQl9CiAJfQotCWlmIChpcmItPnNjc3cuZHN0YXQgIT0gMHgwYykgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICE9IDB4MGMpIHsKIAkJLyogU2V0IHRoZSAnT05MSU5FJyBmbGFnIGRlcGVuZGluZyBvbiBzZW5zZSBieXRlIDEgKi8KIAkJaWYoKigoKF9fdTggKikgaXJiLT5lY3cpICsgMSkgJiBTRU5TRV9EUklWRV9PTkxJTkUpCiAJCQlkZXZpY2UtPnRhcGVfZ2VuZXJpY19zdGF0dXMgfD0gR01UX09OTElORSh+MCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci90dHkzMjcwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci90dHkzMjcwLmMKaW5kZXggNTA0MzE1MC4uYTdmZTYzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdHR5MzI3MC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3R0eTMyNzAuYwpAQCAtNjYzLDcgKzY2Myw3IEBACiB0dHkzMjcwX2lycShzdHJ1Y3QgdHR5MzI3MCAqdHAsIHN0cnVjdCByYXczMjcwX3JlcXVlc3QgKnJxLCBzdHJ1Y3QgaXJiICppcmIpCiB7CiAJLyogSGFuZGxlIEFUVE4uIFNjaGVkdWxlIHRhc2tsZXQgdG8gcmVhZCBhaWQuICovCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CiAJCWlmICghdHAtPnRocm90dGxlKQogCQkJdHR5MzI3MF9pc3N1ZV9yZWFkKHRwLCAwKTsKIAkJZWxzZQpAQCAtNjcxLDExICs2NzEsMTEgQEAKIAl9CiAKIAlpZiAocnEpIHsKLQkJaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCisJCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKIAkJCXJxLT5yYyA9IC1FSU87CiAJCWVsc2UKIAkJCS8qIE5vcm1hbCBlbmQuIENvcHkgcmVzaWR1YWwgY291bnQuICovCi0JCQlycS0+cmVzY250ID0gaXJiLT5zY3N3LmNvdW50OworCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jbWQuY291bnQ7CiAJfQogCXJldHVybiBSQVczMjcwX0lPX0RPTkU7CiB9CkBAIC0xNzkyLDE1ICsxNzkyLDEyIEBACiAJdHR5X3NldF9vcGVyYXRpb25zKGRyaXZlciwgJnR0eTMyNzBfb3BzKTsKIAlyZXQgPSB0dHlfcmVnaXN0ZXJfZHJpdmVyKGRyaXZlcik7CiAJaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9FUlIgInR0eTMyNzAgcmVnaXN0cmF0aW9uIGZhaWxlZCB3aXRoICVkXG4iLCByZXQpOwogCQlwdXRfdHR5X2RyaXZlcihkcml2ZXIpOwogCQlyZXR1cm4gcmV0OwogCX0KIAl0dHkzMjcwX2RyaXZlciA9IGRyaXZlcjsKIAlyZXQgPSByYXczMjcwX3JlZ2lzdGVyX25vdGlmaWVyKHR0eTMyNzBfbm90aWZpZXIpOwogCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJ0dHkzMjcwIG5vdGlmaWVyIHJlZ2lzdHJhdGlvbiBmYWlsZWQgIgotCQkgICAgICAgIndpdGggJWRcbiIsIHJldCk7CiAJCXB1dF90dHlfZHJpdmVyKGRyaXZlcik7CiAJCXJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3ZtY3AuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3ZtY3AuYwppbmRleCAyZjQxOWIwLi4wOWU3ZDliIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci92bWNwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdm1jcC5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL2NwY21kLmg+CiAjaW5jbHVkZSA8YXNtL2RlYnVnLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KQEAgLTM5LDExICs0MCwxNCBAQAogCXNlc3Npb24gPSBrbWFsbG9jKHNpemVvZigqc2Vzc2lvbiksIEdGUF9LRVJORUwpOwogCWlmICghc2Vzc2lvbikKIAkJcmV0dXJuIC1FTk9NRU07CisKKwlsb2NrX2tlcm5lbCgpOwogCXNlc3Npb24tPmJ1ZnNpemUgPSBQQUdFX1NJWkU7CiAJc2Vzc2lvbi0+cmVzcG9uc2UgPSBOVUxMOwogCXNlc3Npb24tPnJlc3Bfc2l6ZSA9IDA7CiAJbXV0ZXhfaW5pdCgmc2Vzc2lvbi0+bXV0ZXgpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHNlc3Npb247CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIH0KIApAQCAtNjEsMzAgKzY1LDI0IEBACiBzdGF0aWMgc3NpemVfdAogdm1jcF9yZWFkKHN0cnVjdCBmaWxlICpmaWxlLCBjaGFyIF9fdXNlciAqYnVmZiwgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCiB7Ci0Jc2l6ZV90IHRvY29weTsKKwlzc2l6ZV90IHJldDsKKwlzaXplX3Qgc2l6ZTsKIAlzdHJ1Y3Qgdm1jcF9zZXNzaW9uICpzZXNzaW9uOwogCi0Jc2Vzc2lvbiA9IChzdHJ1Y3Qgdm1jcF9zZXNzaW9uICopZmlsZS0+cHJpdmF0ZV9kYXRhOworCXNlc3Npb24gPSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJaWYgKG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmc2Vzc2lvbi0+bXV0ZXgpKQogCQlyZXR1cm4gLUVSRVNUQVJUU1lTOwogCWlmICghc2Vzc2lvbi0+cmVzcG9uc2UpIHsKIAkJbXV0ZXhfdW5sb2NrKCZzZXNzaW9uLT5tdXRleCk7CiAJCXJldHVybiAwOwogCX0KLQlpZiAoKnBwb3MgPiBzZXNzaW9uLT5yZXNwX3NpemUpIHsKLQkJbXV0ZXhfdW5sb2NrKCZzZXNzaW9uLT5tdXRleCk7Ci0JCXJldHVybiAwOwotCX0KLQl0b2NvcHkgPSBtaW4oc2Vzc2lvbi0+cmVzcF9zaXplIC0gKHNpemVfdCkgKCpwcG9zKSwgY291bnQpOwotCXRvY29weSA9IG1pbih0b2NvcHksIHNlc3Npb24tPmJ1ZnNpemUgLSAoc2l6ZV90KSAoKnBwb3MpKTsKKwlzaXplID0gbWluX3Qoc2l6ZV90LCBzZXNzaW9uLT5yZXNwX3NpemUsIHNlc3Npb24tPmJ1ZnNpemUpOworCXJldCA9IHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKGJ1ZmYsIGNvdW50LCBwcG9zLAorCQkJCQlzZXNzaW9uLT5yZXNwb25zZSwgc2l6ZSk7CiAKLQlpZiAoY29weV90b191c2VyKGJ1ZmYsIHNlc3Npb24tPnJlc3BvbnNlICsgKCpwcG9zKSwgdG9jb3B5KSkgewotCQltdXRleF91bmxvY2soJnNlc3Npb24tPm11dGV4KTsKLQkJcmV0dXJuIC1FRkFVTFQ7Ci0JfQogCW11dGV4X3VubG9jaygmc2Vzc2lvbi0+bXV0ZXgpOwotCSpwcG9zICs9IHRvY29weTsKLQlyZXR1cm4gdG9jb3B5OworCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHNzaXplX3QKQEAgLTE5OCwyNyArMTk2LDIzIEBACiAJCVBSSU5UX1dBUk4oInovVk0gQ1AgaW50ZXJmYWNlIGlzIG9ubHkgYXZhaWxhYmxlIHVuZGVyIHovVk1cbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CisKIAl2bWNwX2RlYnVnID0gZGVidWdfcmVnaXN0ZXIoInZtY3AiLCAxLCAxLCAyNDApOwotCWlmICghdm1jcF9kZWJ1ZykgewotCQlQUklOVF9FUlIoInovVk0gQ1AgaW50ZXJmYWNlIG5vdCBsb2FkZWQuIENvdWxkIG5vdCByZWdpc3RlciAiCi0JCQkgICAiZGVidWcgZmVhdHVyZVxuIik7CisJaWYgKCF2bWNwX2RlYnVnKQogCQlyZXR1cm4gLUVOT01FTTsKLQl9CisKIAlyZXQgPSBkZWJ1Z19yZWdpc3Rlcl92aWV3KHZtY3BfZGVidWcsICZkZWJ1Z19oZXhfYXNjaWlfdmlldyk7CiAJaWYgKHJldCkgewotCQlQUklOVF9FUlIoInovVk0gQ1AgaW50ZXJmYWNlIG5vdCBsb2FkZWQuIENvdWxkIG5vdCByZWdpc3RlciAiCi0JCQkgICJkZWJ1ZyBmZWF0dXJlIHZpZXcuIEVycm9yIGNvZGU6ICVkXG4iLCByZXQpOwogCQlkZWJ1Z191bnJlZ2lzdGVyKHZtY3BfZGVidWcpOwogCQlyZXR1cm4gcmV0OwogCX0KKwogCXJldCA9IG1pc2NfcmVnaXN0ZXIoJnZtY3BfZGV2KTsKIAlpZiAocmV0KSB7Ci0JCVBSSU5UX0VSUigiei9WTSBDUCBpbnRlcmZhY2Ugbm90IGxvYWRlZC4gQ291bGQgbm90IHJlZ2lzdGVyICIKLQkJCSAgICJtaXNjIGRldmljZS4gRXJyb3IgY29kZTogJWRcbiIsIHJldCk7CiAJCWRlYnVnX3VucmVnaXN0ZXIodm1jcF9kZWJ1Zyk7CiAJCXJldHVybiByZXQ7CiAJfQotCVBSSU5UX0lORk8oInovVk0gQ1AgaW50ZXJmYWNlIGxvYWRlZFxuIik7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjI2LDcgKzIyMCw2IEBACiB7CiAJbWlzY19kZXJlZ2lzdGVyKCZ2bWNwX2Rldik7CiAJZGVidWdfdW5yZWdpc3Rlcih2bWNwX2RlYnVnKTsKLQlQUklOVF9JTkZPKCJ6L1ZNIENQIGludGVyZmFjZSB1bmxvYWRlZC5cbiIpOwogfQogCiBtb2R1bGVfaW5pdCh2bWNwX2luaXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdm1sb2dyZHIuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3ZtbG9ncmRyLmMKaW5kZXggMmMyNDI4Yy4uYzMxZmFlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdm1sb2dyZHIuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci92bWxvZ3Jkci5jCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSA8bGludXgva21vZC5oPgogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogCiAKQEAgLTIxNiw5ICsyMTcsNyBAQAogCWNoYXIgKnRhaWw7CiAJaW50IGxlbixpOwogCi0JcHJpbnRrIChLRVJOX0RFQlVHICJ2bWxvZ3JkcjogcXVlcnkgY29tbWFuZDogJXNcbiIsIGNwX2NvbW1hbmQpOwogCWNwY21kKGNwX2NvbW1hbmQsIGNwX3Jlc3BvbnNlLCBzaXplb2YoY3BfcmVzcG9uc2UpLCBOVUxMKTsKLQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiByZXNwb25zZTogJXMiLCBjcF9yZXNwb25zZSk7CiAJbGVuID0gc3RybmxlbihjcF9yZXNwb25zZSxzaXplb2YoY3BfcmVzcG9uc2UpKTsKIAkvLyBub3cgdGhlIHBhcnNpbmcKIAl0YWlsPXN0cm5jaHIoY3BfcmVzcG9uc2UsbGVuLCc9Jyk7CkBAIC0yNjgsMTEgKzI2Nyw3IEBACiAJCQkgbG9ncHRyLT5yZWNvcmRpbmdfbmFtZSwKIAkJCSBxaWRfc3RyaW5nKTsKIAotCQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiByZWNvcmRpbmcgY29tbWFuZDogJXNcbiIsCi0JCQljcF9jb21tYW5kKTsKIAkJY3BjbWQoY3BfY29tbWFuZCwgY3BfcmVzcG9uc2UsIHNpemVvZihjcF9yZXNwb25zZSksIE5VTEwpOwotCQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiByZWNvcmRpbmcgcmVzcG9uc2U6ICVzIiwKLQkJCWNwX3Jlc3BvbnNlKTsKIAl9CiAKIAltZW1zZXQoY3BfY29tbWFuZCwgMHgwMCwgc2l6ZW9mKGNwX2NvbW1hbmQpKTsKQEAgLTI4MiwxMCArMjc3LDcgQEAKIAkJb25vZmYsCiAJCXFpZF9zdHJpbmcpOwogCi0JcHJpbnRrIChLRVJOX0RFQlVHICJ2bWxvZ3JkcjogcmVjb3JkaW5nIGNvbW1hbmQ6ICVzXG4iLCBjcF9jb21tYW5kKTsKIAljcGNtZChjcF9jb21tYW5kLCBjcF9yZXNwb25zZSwgc2l6ZW9mKGNwX3Jlc3BvbnNlKSwgTlVMTCk7Ci0JcHJpbnRrIChLRVJOX0RFQlVHICJ2bWxvZ3JkcjogcmVjb3JkaW5nIHJlc3BvbnNlOiAlcyIsCi0JCWNwX3Jlc3BvbnNlKTsKIAkvKiBUaGUgcmVjb3JkaW5nIGNvbW1hbmQgd2lsbCB1c3VhbGx5IGFuc3dlciB3aXRoICdDb21tYW5kIGNvbXBsZXRlJwogCSAqIG9uIHN1Y2Nlc3MsIGJ1dCB3aGVuIHRoZSBzcGVjaWZpYyBzZXJ2aWNlIHdhcyBuZXZlciBjb25uZWN0ZWQKIAkgKiBiZWZvcmUgdGhlbiB0aGVyZSBtaWdodCBiZSBhbiBhZGRpdGlvbmFsIGluZm9ybWF0aW9uYWwgbWVzc2FnZQpAQCAtMzE5LDkgKzMxMSwxMSBAQAogCQlyZXR1cm4gLUVOT1NZUzsKIAogCS8qIEJlc3VyZSB0aGlzIGRldmljZSBoYXNuJ3QgYWxyZWFkeSBiZWVuIG9wZW5lZCAqLworCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrX2JoKCZsb2dwdHItPnByaXZfbG9jayk7CiAJaWYgKGxvZ3B0ci0+ZGV2X2luX3VzZSkJewogCQlzcGluX3VubG9ja19iaCgmbG9ncHRyLT5wcml2X2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCWxvZ3B0ci0+ZGV2X2luX3VzZSA9IDE7CkBAIC0zNjUsNyArMzU5LDkgQEAKIAkJICAgfHwgKGxvZ3B0ci0+aXVjdl9wYXRoX3NldmVyZWQpKTsKIAlpZiAobG9ncHRyLT5pdWN2X3BhdGhfc2V2ZXJlZCkKIAkJZ290byBvdXRfcmVjb3JkOwotIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CisgCXJldCA9IG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogCiBvdXRfcmVjb3JkOgogCWlmIChsb2dwdHItPmF1dG9yZWNvcmRpbmcpCkBAIC0zNzUsNiArMzcxLDcgQEAKIAlsb2dwdHItPnBhdGggPSBOVUxMOwogb3V0X2RldjoKIAlsb2dwdHItPmRldl9pbl91c2UgPSAwOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gLUVJTzsKIH0KIApAQCAtNTY3LDEwICs1NjQsNyBAQAogCQkJICJSRUNPUkRJTkcgJXMgUFVSR0UgIiwKIAkJCSBwcml2LT5yZWNvcmRpbmdfbmFtZSk7CiAKLQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiByZWNvcmRpbmcgY29tbWFuZDogJXNcbiIsIGNwX2NvbW1hbmQpOwogCWNwY21kKGNwX2NvbW1hbmQsIGNwX3Jlc3BvbnNlLCBzaXplb2YoY3BfcmVzcG9uc2UpLCBOVUxMKTsKLQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiByZWNvcmRpbmcgcmVzcG9uc2U6ICVzIiwKLQkJY3BfcmVzcG9uc2UpOwogCiAJcmV0dXJuIGNvdW50OwogfQpAQCAtNjgyLDI4ICs2NzYsMjAgQEAKIAogCS8qIFJlZ2lzdGVyIHdpdGggaXVjdiBkcml2ZXIgKi8KIAlyZXQgPSBpdWN2X3JlZ2lzdGVyKCZ2bWxvZ3Jkcl9pdWN2X2hhbmRsZXIsIDEpOwotCWlmIChyZXQpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAidm1sb2dyZHI6IGZhaWxlZCB0byByZWdpc3RlciB3aXRoICIKLQkJCSJpdWN2IGRyaXZlclxuIik7CisJaWYgKHJldCkKIAkJZ290byBvdXQ7Ci0JfQogCiAJcmV0ID0gZHJpdmVyX3JlZ2lzdGVyKCZ2bWxvZ3Jkcl9kcml2ZXIpOwotCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJ2bWxvZ3JkcjogZmFpbGVkIHRvIHJlZ2lzdGVyIGRyaXZlci5cbiIpOworCWlmIChyZXQpCiAJCWdvdG8gb3V0X2l1Y3Y7Ci0JfQogCiAJcmV0ID0gZHJpdmVyX2NyZWF0ZV9maWxlKCZ2bWxvZ3Jkcl9kcml2ZXIsCiAJCQkJICZkcml2ZXJfYXR0cl9yZWNvcmRpbmdfc3RhdHVzKTsKLQlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX0VSUiAidm1sb2dyZHI6IGZhaWxlZCB0byBhZGQgZHJpdmVyIGF0dHJpYnV0ZS5cbiIpOworCWlmIChyZXQpCiAJCWdvdG8gb3V0X2RyaXZlcjsKLQl9CiAKIAl2bWxvZ3Jkcl9jbGFzcyA9IGNsYXNzX2NyZWF0ZShUSElTX01PRFVMRSwgInZtbG9ncmRyIik7CiAJaWYgKElTX0VSUih2bWxvZ3Jkcl9jbGFzcykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJ2bWxvZ3JkcjogZmFpbGVkIHRvIGNyZWF0ZSBjbGFzcy5cbiIpOwogCQlyZXQgPSBQVFJfRVJSKHZtbG9ncmRyX2NsYXNzKTsKIAkJdm1sb2dyZHJfY2xhc3MgPSBOVUxMOwogCQlnb3RvIG91dF9hdHRyOwpAQCAtODcxLDEyICs4NTcsMTAgQEAKIAlyYyA9IHZtbG9ncmRyX3JlZ2lzdGVyX2NkZXYoZGV2KTsKIAlpZiAocmMpCiAJCWdvdG8gY2xlYW51cDsKLQlwcmludGsgKEtFUk5fSU5GTyAidm1sb2dyZHI6IGRyaXZlciBsb2FkZWRcbiIpOwogCXJldHVybiAwOwogCiBjbGVhbnVwOgogCXZtbG9ncmRyX2NsZWFudXAoKTsKLQlwcmludGsgKEtFUk5fRVJSICJ2bWxvZ3JkcjogZHJpdmVyIG5vdCBsb2FkZWQuXG4iKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTg4NCw3ICs4NjgsNiBAQAogc3RhdGljIHZvaWQgX19leGl0IHZtbG9ncmRyX2V4aXQodm9pZCkKIHsKIAl2bWxvZ3Jkcl9jbGVhbnVwKCk7Ci0JcHJpbnRrIChLRVJOX0lORk8gInZtbG9ncmRyOiBkcml2ZXIgdW5sb2FkZWRcbiIpOwogCXJldHVybjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdm11ci5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdm11ci5jCmluZGV4IDgzYWU5YTguLjBhOWYxY2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3ZtdXIuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci92bXVyLmMKQEAgLTksNiArOSw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vY2lvLmg+CkBAIC0yNzcsNyArMjc4LDggQEAKIAlzdHJ1Y3QgdXJkZXYgKnVyZDsKIAogCVRSQUNFKCJ1cl9pbnRfaGFuZGxlcjogaW50cGFybT0weCVseCBjc3RhdD0lMDJ4IGRzdGF0PSUwMnggcmVzPSV1XG4iLAotCSAgICAgIGludHBhcm0sIGlyYi0+c2Nzdy5jc3RhdCwgaXJiLT5zY3N3LmRzdGF0LCBpcmItPnNjc3cuY291bnQpOworCSAgICAgIGludHBhcm0sIGlyYi0+c2Nzdy5jbWQuY3N0YXQsIGlyYi0+c2Nzdy5jbWQuZHN0YXQsCisJICAgICAgaXJiLT5zY3N3LmNtZC5jb3VudCk7CiAKIAlpZiAoIWludHBhcm0pIHsKIAkJVFJBQ0UoInVyX2ludF9oYW5kbGVyOiB1bnNvbGljaXRlZCBpbnRlcnJ1cHRcbiIpOwpAQCAtMjg4LDcgKzI5MCw3IEBACiAJLyogT24gc3BlY2lhbCBjb25kaXRpb25zIGlyYiBpcyBhbiBlcnJvciBwb2ludGVyICovCiAJaWYgKElTX0VSUihpcmIpKQogCQl1cmQtPmlvX3JlcXVlc3RfcmMgPSBQVFJfRVJSKGlyYik7Ci0JZWxzZSBpZiAoaXJiLT5zY3N3LmRzdGF0ID09IChERVZfU1RBVF9DSE5fRU5EIHwgREVWX1NUQVRfREVWX0VORCkpCisJZWxzZSBpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAoREVWX1NUQVRfQ0hOX0VORCB8IERFVl9TVEFUX0RFVl9FTkQpKQogCQl1cmQtPmlvX3JlcXVlc3RfcmMgPSAwOwogCWVsc2UKIAkJdXJkLT5pb19yZXF1ZXN0X3JjID0gLUVJTzsKQEAgLTY2OCw3ICs2NzAsNyBAQAogCiAJaWYgKGFjY21vZGUgPT0gT19SRFdSKQogCQlyZXR1cm4gLUVBQ0NFUzsKLQorCWxvY2tfa2VybmVsKCk7CiAJLyoKIAkgKiBXZSB0cmVhdCB0aGUgbWlub3IgbnVtYmVyIGFzIHRoZSBkZXZubyBvZiB0aGUgdXIgZGV2aWNlCiAJICogdG8gZmluZCBpbiB0aGUgZHJpdmVyIHRyZWUuCkBAIC02NzYsOCArNjc4LDEwIEBACiAJZGV2bm8gPSBNSU5PUihmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZS0+aV9yZGV2KTsKIAogCXVyZCA9IHVyZGV2X2dldF9mcm9tX2Rldm5vKGRldm5vKTsKLQlpZiAoIXVyZCkKLQkJcmV0dXJuIC1FTlhJTzsKKwlpZiAoIXVyZCkgeworCQlyYyA9IC1FTlhJTzsKKwkJZ290byBvdXQ7CisJfQogCiAJc3Bpbl9sb2NrKCZ1cmQtPm9wZW5fbG9jayk7CiAJd2hpbGUgKHVyZC0+b3Blbl9mbGFnKSB7CkBAIC03MjAsNiArNzI0LDcgQEAKIAkJZ290byBmYWlsX3VyZmlsZV9mcmVlOwogCXVyZi0+ZmlsZV9yZWNsZW4gPSByYzsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSB1cmY7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBmYWlsX3VyZmlsZV9mcmVlOgpAQCAtNzMwLDYgKzczNSw4IEBACiAJc3Bpbl91bmxvY2soJnVyZC0+b3Blbl9sb2NrKTsKIGZhaWxfcHV0OgogCXVyZGV2X3B1dCh1cmQpOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3Ztd2F0Y2hkb2cuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3Ztd2F0Y2hkb2cuYwppbmRleCAxOWY4Mzg5Li4yMWEyYTgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci92bXdhdGNoZG9nLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdm13YXRjaGRvZy5jCkBAIC0xMyw2ICsxMyw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC93YXRjaGRvZy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vZWJjZGljLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC05MiwyMyArOTMsMTUgQEAKIAogCWZ1bmMgPSB2bXdkdF9jb25jZWFsID8gKHdkdF9pbml0IHwgd2R0X2NvbmNlYWwpIDogd2R0X2luaXQ7CiAJcmV0ID0gX19kaWFnMjg4KGZ1bmMsIHZtd2R0X2ludGVydmFsLCBlYmNfY21kLCBsZW4pOworCVdBUk5fT04ocmV0ICE9IDApOwogCWtmcmVlKGViY19jbWQpOwotCi0JaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICIlczogcHJvYmxlbSBzZXR0aW5nIGludGVydmFsICVkLCAiCi0JCQkiY21kICVzXG4iLCBfX2Z1bmNfXywgdm13ZHRfaW50ZXJ2YWwsCi0JCQl2bXdkdF9jbWQpOwotCX0KIAlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IHZtd2R0X2Rpc2FibGUodm9pZCkKIHsKIAlpbnQgcmV0ID0gX19kaWFnMjg4KHdkdF9jYW5jZWwsIDAsICIiLCAwKTsKLQlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiBwcm9ibGVtIGRpc2FibGluZyB3YXRjaGRvZ1xuIiwKLQkJCV9fZnVuY19fKTsKLQl9CisJV0FSTl9PTihyZXQgIT0gMCk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTIxLDIxICsxMTQsMjMgQEAKIAlzdGF0aWMgY2hhciBfX2luaXRkYXRhIGViY19iZWdpbltdID0gewogCQkxOTQsIDE5NywgMTk5LCAyMDEsIDIxMwogCX07Ci0JaWYgKF9fZGlhZzI4OCh3ZHRfaW5pdCwgMTUsIGViY19iZWdpbiwgc2l6ZW9mKGViY19iZWdpbikpICE9IDApIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiei9WTSB3YXRjaGRvZyBub3QgYXZhaWxhYmxlXG4iKTsKKwlpZiAoX19kaWFnMjg4KHdkdF9pbml0LCAxNSwgZWJjX2JlZ2luLCBzaXplb2YoZWJjX2JlZ2luKSkgIT0gMCkKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JfQogCXJldHVybiB2bXdkdF9kaXNhYmxlKCk7CiB9CiAKIHN0YXRpYyBpbnQgdm13ZHRfb3BlbihzdHJ1Y3QgaW5vZGUgKmksIHN0cnVjdCBmaWxlICpmKQogewogCWludCByZXQ7Ci0JaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJnZtd2R0X2lzX29wZW4pKQorCWxvY2tfa2VybmVsKCk7CisJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJnZtd2R0X2lzX29wZW4pKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKKwl9CiAJcmV0ID0gdm13ZHRfa2VlcGFsaXZlKCk7CiAJaWYgKHJldCkKIAkJY2xlYXJfYml0KDAsICZ2bXdkdF9pc19vcGVuKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldCA/IHJldCA6IG5vbnNlZWthYmxlX29wZW4oaSwgZik7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3pjb3JlLmMgYi9kcml2ZXJzL3MzOTAvY2hhci96Y29yZS5jCmluZGV4IGJiYmQxNGUuLjA0N2RkOTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3pjb3JlLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvemNvcmUuYwpAQCAtMjIzLDEyICsyMjMsMTAgQEAKIAkvKiBnZXQgaW5mbyBmb3IgYm9vdCBjcHUgZnJvbSBsb3djb3JlLCBzdG9yZWQgaW4gdGhlIEhTQSAqLwogCiAJc2EgPSBrbWFsbG9jKHNpemVvZigqc2EpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIXNhKSB7Ci0JCUVSUk9SX01TRygia21hbGxvYyBmYWlsZWQ6ICVzOiAlaVxuIixfX2Z1bmNfXywgX19MSU5FX18pOworCWlmICghc2EpCiAJCXJldHVybiAtRU5PTUVNOwotCX0KIAlpZiAobWVtY3B5X2hzYV9rZXJuZWwoc2EsIHN5c19pbmZvLnNhX2Jhc2UsIHN5c19pbmZvLnNhX3NpemUpIDwgMCkgewotCQlFUlJPUl9NU0coImNvdWxkIG5vdCBjb3B5IGZyb20gSFNBXG4iKTsKKwkJVFJBQ0UoImNvdWxkIG5vdCBjb3B5IGZyb20gSFNBXG4iKTsKIAkJa2ZyZWUoc2EpOwogCQlyZXR1cm4gLUVJTzsKIAl9CkBAIC01MTEsNiArNTA5LDggQEAKICAqLwogc3RhdGljIGludCBfX2luaXQgc3lzX2luZm9faW5pdChlbnVtIGFyY2hfaWQgYXJjaCkKIHsKKwlpbnQgcmM7CisKIAlzd2l0Y2ggKGFyY2gpIHsKIAljYXNlIEFSQ0hfUzM5MFg6CiAJCU1TRygiREVURUNURUQgJ1MzOTBYICg2NCBiaXQpIE9TJ1xuIik7CkBAIC01MjksMTAgKzUyOSw5IEBACiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAlzeXNfaW5mby5hcmNoID0gYXJjaDsKLQlpZiAoaW5pdF9jcHVfaW5mbyhhcmNoKSkgewotCQlFUlJPUl9NU0coImdldCBjcHUgaW5mbyBmYWlsZWRcbiIpOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9CisJcmMgPSBpbml0X2NwdV9pbmZvKGFyY2gpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOwogCXN5c19pbmZvLm1lbV9zaXplID0gcmVhbF9tZW1vcnlfc2l6ZTsKIAogCXJldHVybiAwOwpAQCAtNTQ0LDEyICs1NDMsMTIgQEAKIAogCXJjID0gc2NscF9zZGlhc19ibGtfY291bnQoKTsKIAlpZiAocmMgPCAwKSB7Ci0JCUVSUk9SX01TRygiQ291bGQgbm90IGRldGVybWluZSBIU0Egc2l6ZVxuIik7CisJCVRSQUNFKCJDb3VsZCBub3QgZGV0ZXJtaW5lIEhTQSBzaXplXG4iKTsKIAkJcmV0dXJuIHJjOwogCX0KIAlhY3RfaHNhX3NpemUgPSAocmMgLSAxKSAqIFBBR0VfU0laRTsKIAlpZiAoYWN0X2hzYV9zaXplIDwgWkZDUERVTVBfSFNBX1NJWkUpIHsKLQkJRVJST1JfTVNHKCJIU0Egc2l6ZSB0b28gc21hbGw6ICVpXG4iLCBhY3RfaHNhX3NpemUpOworCQlUUkFDRSgiSFNBIHNpemUgdG9vIHNtYWxsOiAlaVxuIiwgYWN0X2hzYV9zaXplKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCXJldHVybiAwOwpAQCAtNTkwLDE2ICs1ODksMTIgQEAKIAkJZ290byBmYWlsOwogCiAJcmMgPSBjaGVja19zZGlhcygpOwotCWlmIChyYykgewotCQlFUlJPUl9NU0coIkR1bXAgaW5pdGlhbGl6YXRpb24gZmFpbGVkXG4iKTsKKwlpZiAocmMpCiAJCWdvdG8gZmFpbDsKLQl9CiAKIAlyYyA9IG1lbWNweV9oc2Ffa2VybmVsKCZhcmNoLCBfX0xDX0FSX01PREVfSUQsIDEpOwotCWlmIChyYykgewotCQlFUlJPUl9NU0coInNkaWFsIG1lbWNweSBmb3IgYXJjaCBpZCBmYWlsZWRcbiIpOworCWlmIChyYykKIAkJZ290byBmYWlsOwotCX0KIAogI2lmbmRlZiBfX3MzOTB4X18KIAlpZiAoYXJjaCA9PSBBUkNIX1MzOTBYKSB7CkBAIC02MTAsMTAgKzYwNSw4IEBACiAjZW5kaWYKIAogCXJjID0gc3lzX2luZm9faW5pdChhcmNoKTsKLQlpZiAocmMpIHsKLQkJRVJST1JfTVNHKCJhcmNoIGluaXQgZmFpbGVkXG4iKTsKKwlpZiAocmMpCiAJCWdvdG8gZmFpbDsKLQl9CiAKIAl6Y29yZV9oZWFkZXJfaW5pdChhcmNoLCAmemNvcmVfaGVhZGVyKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9NYWtlZmlsZSBiL2RyaXZlcnMvczM5MC9jaW8vTWFrZWZpbGUKaW5kZXggY2ZhZjc3Yi4uOTFlOWUzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3MzOTAvY2lvL01ha2VmaWxlCkBAIC0yLDkgKzIsMTEgQEAKICMgTWFrZWZpbGUgZm9yIHRoZSBTLzM5MCBjb21tb24gaS9vIGRyaXZlcnMKICMKIAotb2JqLXkgKz0gYWlycS5vIGJsYWNrbGlzdC5vIGNoc2MubyBjaW8ubyBjc3MubyBjaHAubyBpZHNldC5vCitvYmoteSArPSBhaXJxLm8gYmxhY2tsaXN0Lm8gY2hzYy5vIGNpby5vIGNzcy5vIGNocC5vIGlkc2V0Lm8gaXNjLm8gc2Nzdy5vIFwKKwlmY3gubyBpdGN3Lm8KIGNjd19kZXZpY2Utb2JqcyArPSBkZXZpY2UubyBkZXZpY2VfZnNtLm8gZGV2aWNlX29wcy5vCiBjY3dfZGV2aWNlLW9ianMgKz0gZGV2aWNlX2lkLm8gZGV2aWNlX3BnaWQubyBkZXZpY2Vfc3RhdHVzLm8KIG9iai15ICs9IGNjd19kZXZpY2UubyBjbWYubworb2JqLSQoQ09ORklHX0NIU0NfU0NIKSArPSBjaHNjX3NjaC5vCiBvYmotJChDT05GSUdfQ0NXR1JPVVApICs9IGNjd2dyb3VwLm8KIG9iai0kKENPTkZJR19RRElPKSArPSBxZGlvLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vYWlycS5jIGIvZHJpdmVycy9zMzkwL2Npby9haXJxLmMKaW5kZXggYjdhMDdhOC4uZmU2Y2VhMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9haXJxLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9haXJxLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgogCiAjaW5jbHVkZSA8YXNtL2FpcnEuaD4KKyNpbmNsdWRlIDxhc20vaXNjLmg+CiAKICNpbmNsdWRlICJjaW8uaCIKICNpbmNsdWRlICJjaW9fZGVidWcuaCIKQEAgLTMzLDE1ICszNCwxNSBAQAogCXZvaWQgKmRydl9kYXRhOwogfTsKIAotc3RhdGljIHVuaW9uIGluZGljYXRvcl90IGluZGljYXRvcnM7Ci1zdGF0aWMgc3RydWN0IGFpcnFfdCAqYWlycXNbTlJfQUlSUVNdOworc3RhdGljIHVuaW9uIGluZGljYXRvcl90IGluZGljYXRvcnNbTUFYX0lTQ107CitzdGF0aWMgc3RydWN0IGFpcnFfdCAqYWlycXNbTUFYX0lTQ11bTlJfQUlSUVNdOwogCi1zdGF0aWMgaW50IHJlZ2lzdGVyX2FpcnEoc3RydWN0IGFpcnFfdCAqYWlycSkKK3N0YXRpYyBpbnQgcmVnaXN0ZXJfYWlycShzdHJ1Y3QgYWlycV90ICphaXJxLCB1OCBpc2MpCiB7CiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgTlJfQUlSUVM7IGkrKykKLQkJaWYgKCFjbXB4Y2hnKCZhaXJxc1tpXSwgTlVMTCwgYWlycSkpCisJCWlmICghY21weGNoZygmYWlycXNbaXNjXVtpXSwgTlVMTCwgYWlycSkpCiAJCQlyZXR1cm4gaTsKIAlyZXR1cm4gLUVOT01FTTsKIH0KQEAgLTUwLDE4ICs1MSwyMSBAQAogICogczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCgpIC0gcmVnaXN0ZXIgYWRhcHRlciBpbnRlcnJ1cHQgaGFuZGxlcgogICogQGhhbmRsZXI6IGFkYXB0ZXIgaGFuZGxlciB0byBiZSByZWdpc3RlcmVkCiAgKiBAZHJ2X2RhdGE6IGRyaXZlciBkYXRhIHBhc3NlZCB3aXRoIGVhY2ggY2FsbCB0byB0aGUgaGFuZGxlcgorICogQGlzYzogaXNjIGZvciB3aGljaCB0aGUgaGFuZGxlciBzaG91bGQgYmUgY2FsbGVkCiAgKgogICogUmV0dXJuczoKICAqICBQb2ludGVyIHRvIHRoZSBpbmRpY2F0b3IgdG8gYmUgdXNlZCBvbiBzdWNjZXNzCiAgKiAgRVJSX1BUUigpIGlmIHJlZ2lzdHJhdGlvbiBmYWlsZWQKICAqLwogdm9pZCAqczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdChhZGFwdGVyX2ludF9oYW5kbGVyX3QgaGFuZGxlciwKLQkJCQkgICAgICB2b2lkICpkcnZfZGF0YSkKKwkJCQkgICAgICB2b2lkICpkcnZfZGF0YSwgdTggaXNjKQogewogCXN0cnVjdCBhaXJxX3QgKmFpcnE7CiAJY2hhciBkYmZfdHh0WzE2XTsKIAlpbnQgcmV0OwogCisJaWYgKGlzYyA+IE1BWF9JU0MpCisJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwogCWFpcnEgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgYWlycV90KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFhaXJxKSB7CiAJCXJldCA9IC1FTk9NRU07CkBAIC02OSwzNCArNzMsMzUgQEAKIAl9CiAJYWlycS0+aGFuZGxlciA9IGhhbmRsZXI7CiAJYWlycS0+ZHJ2X2RhdGEgPSBkcnZfZGF0YTsKLQlyZXQgPSByZWdpc3Rlcl9haXJxKGFpcnEpOwotCWlmIChyZXQgPCAwKQotCQlrZnJlZShhaXJxKTsKKworCXJldCA9IHJlZ2lzdGVyX2FpcnEoYWlycSwgaXNjKTsKIG91dDoKIAlzbnByaW50ZihkYmZfdHh0LCBzaXplb2YoZGJmX3R4dCksICJyYWlycTolZCIsIHJldCk7CiAJQ0lPX1RSQUNFX0VWRU5UKDQsIGRiZl90eHQpOwotCWlmIChyZXQgPCAwKQorCWlmIChyZXQgPCAwKSB7CisJCWtmcmVlKGFpcnEpOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwotCWVsc2UKLQkJcmV0dXJuICZpbmRpY2F0b3JzLmJ5dGVbcmV0XTsKKwl9IGVsc2UKKwkJcmV0dXJuICZpbmRpY2F0b3JzW2lzY10uYnl0ZVtyZXRdOwogfQogRVhQT1JUX1NZTUJPTChzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KTsKIAogLyoqCiAgKiBzMzkwX3VucmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQgLSB1bnJlZ2lzdGVyIGFkYXB0ZXIgaW50ZXJydXB0IGhhbmRsZXIKICAqIEBpbmQ6IGluZGljYXRvciBmb3Igd2hpY2ggdGhlIGhhbmRsZXIgaXMgdG8gYmUgdW5yZWdpc3RlcmVkCisgKiBAaXNjOiBpbnRlcnJ1cHRpb24gc3ViY2xhc3MKICAqLwotdm9pZCBzMzkwX3VucmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQodm9pZCAqaW5kKQordm9pZCBzMzkwX3VucmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQodm9pZCAqaW5kLCB1OCBpc2MpCiB7CiAJc3RydWN0IGFpcnFfdCAqYWlycTsKIAljaGFyIGRiZl90eHRbMTZdOwogCWludCBpOwogCi0JaSA9IChpbnQpICgoYWRkcl90KSBpbmQpIC0gKChhZGRyX3QpICZpbmRpY2F0b3JzLmJ5dGVbMF0pOworCWkgPSAoaW50KSAoKGFkZHJfdCkgaW5kKSAtICgoYWRkcl90KSAmaW5kaWNhdG9yc1tpc2NdLmJ5dGVbMF0pOwogCXNucHJpbnRmKGRiZl90eHQsIHNpemVvZihkYmZfdHh0KSwgInVyYWlycTolZCIsIGkpOwogCUNJT19UUkFDRV9FVkVOVCg0LCBkYmZfdHh0KTsKLQlpbmRpY2F0b3JzLmJ5dGVbaV0gPSAwOwotCWFpcnEgPSB4Y2hnKCZhaXJxc1tpXSwgTlVMTCk7CisJaW5kaWNhdG9yc1tpc2NdLmJ5dGVbaV0gPSAwOworCWFpcnEgPSB4Y2hnKCZhaXJxc1tpc2NdW2ldLCBOVUxMKTsKIAkvKgogCSAqIEFsbG93IGludGVycnVwdHMgdG8gY29tcGxldGUuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCB0aGUgYWlycSBoYW5kbGUKIAkgKiBpcyBubyBsb25nZXIgcmVmZXJlbmNlZCBieSBhbnkgaW50ZXJydXB0IGhhbmRsZXIuCkBAIC0xMDgsNyArMTEzLDcgQEAKIAogI2RlZmluZSBJTkRJQ0FUT1JfTUFTSwkoMHhmZlVMIDw8ICgoTlJfQUlSUVNfUEVSX1dPUkQgLSAxKSAqIDgpKQogCi12b2lkIGRvX2FkYXB0ZXJfSU8odm9pZCkKK3ZvaWQgZG9fYWRhcHRlcl9JTyh1OCBpc2MpCiB7CiAJaW50IHc7CiAJaW50IGk7CkBAIC0xMjAsMjIgKzEyNSwyMiBAQAogCSAqIGZldGNoIG9wZXJhdGlvbnMuCiAJICovCiAJZm9yICh3ID0gMDsgdyA8IE5SX0FJUlFfV09SRFM7IHcrKykgewotCQl3b3JkID0gaW5kaWNhdG9ycy53b3JkW3ddOworCQl3b3JkID0gaW5kaWNhdG9yc1tpc2NdLndvcmRbd107CiAJCWkgPSB3ICogTlJfQUlSUVNfUEVSX1dPUkQ7CiAJCS8qCiAJCSAqIENoZWNrIGJ5dGVzIHdpdGhpbiB3b3JkIGZvciBhY3RpdmUgaW5kaWNhdG9ycy4KIAkJICovCiAJCXdoaWxlICh3b3JkKSB7CiAJCQlpZiAod29yZCAmIElORElDQVRPUl9NQVNLKSB7Ci0JCQkJYWlycSA9IGFpcnFzW2ldOworCQkJCWFpcnEgPSBhaXJxc1tpc2NdW2ldOwogCQkJCWlmIChsaWtlbHkoYWlycSkpCi0JCQkJCWFpcnEtPmhhbmRsZXIoJmluZGljYXRvcnMuYnl0ZVtpXSwKKwkJCQkJYWlycS0+aGFuZGxlcigmaW5kaWNhdG9yc1tpc2NdLmJ5dGVbaV0sCiAJCQkJCQkgICAgICBhaXJxLT5kcnZfZGF0YSk7CiAJCQkJZWxzZQogCQkJCQkvKgogCQkJCQkgKiBSZXNldCBpbGwtYmVoYXZlZCBpbmRpY2F0b3IuCiAJCQkJCSAqLwotCQkJCQlpbmRpY2F0b3JzLmJ5dGVbaV0gPSAwOworCQkJCQlpbmRpY2F0b3JzW2lzY10uYnl0ZVtpXSA9IDA7CiAJCQl9CiAJCQl3b3JkIDw8PSA4OwogCQkJaSsrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9jaHAuYyBiL2RyaXZlcnMvczM5MC9jaW8vY2hwLmMKaW5kZXggMjk3Y2RjZS4uZGIwMGIwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jaHAuYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2NocC5jCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+CiAjaW5jbHVkZSA8YXNtL3NjbHAuaD4KIAorI2luY2x1ZGUgIi4uL3MzOTBtYWNoLmgiCiAjaW5jbHVkZSAiY2lvLmgiCiAjaW5jbHVkZSAiY3NzLmgiCiAjaW5jbHVkZSAiaW9hc20uaCIKQEAgLTk0LDYgKzk1LDcgQEAKIAl9CiAJcmV0dXJuIG9wbTsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKGNocF9nZXRfc2NoX29wbSk7CiAKIC8qKgogICogY2hwX2lzX3JlZ2lzdGVyZWQgLSBjaGVjayBpZiBhIGNoYW5uZWwtcGF0aCBpcyByZWdpc3RlcmVkCkBAIC0xMjEsMTEgKzEyMyw4IEBACiAJQ0lPX1RSQUNFX0VWRU5UKDIsIGRiZl90ZXh0KTsKIAogCXN0YXR1cyA9IGNocF9nZXRfc3RhdHVzKGNocGlkKTsKLQlpZiAoIW9uICYmICFzdGF0dXMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJjaW86IGNocGlkICV4LiUwMnggaXMgYWxyZWFkeSBvZmZsaW5lXG4iLAotCQkgICAgICAgY2hwaWQuY3NzaWQsIGNocGlkLmlkKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQorCWlmICghb24gJiYgIXN0YXR1cykKKwkJcmV0dXJuIDA7CiAKIAlzZXRfY2hwX2xvZ2ljYWxseV9vbmxpbmUoY2hwaWQsIG9uKTsKIAljaHNjX2NocF92YXJ5KGNocGlkLCBvbik7CkBAIC0xNDEsMjEgKzE0MCwxNCBAQAogewogCXN0cnVjdCBjaGFubmVsX3BhdGggKmNocDsKIAlzdHJ1Y3QgZGV2aWNlICpkZXZpY2U7Ci0JdW5zaWduZWQgaW50IHNpemU7CiAKIAlkZXZpY2UgPSBjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGRldmljZSwga29iaik7CiAJY2hwID0gdG9fY2hhbm5lbHBhdGgoZGV2aWNlKTsKIAlpZiAoIWNocC0+Y21nX2NoYXJzKQogCQlyZXR1cm4gMDsKIAotCXNpemUgPSBzaXplb2Yoc3RydWN0IGNtZ19jaGFycyk7Ci0KLQlpZiAob2ZmID4gc2l6ZSkKLQkJcmV0dXJuIDA7Ci0JaWYgKG9mZiArIGNvdW50ID4gc2l6ZSkKLQkJY291bnQgPSBzaXplIC0gb2ZmOwotCW1lbWNweShidWYsIGNocC0+Y21nX2NoYXJzICsgb2ZmLCBjb3VudCk7Ci0JcmV0dXJuIGNvdW50OworCXJldHVybiBtZW1vcnlfcmVhZF9mcm9tX2J1ZmZlcihidWYsIGNvdW50LCAmb2ZmLAorCQkJCWNocC0+Y21nX2NoYXJzLCBzaXplb2Yoc3RydWN0IGNtZ19jaGFycykpOwogfQogCiBzdGF0aWMgc3RydWN0IGJpbl9hdHRyaWJ1dGUgY2hwX21lYXN1cmVtZW50X2NoYXJzX2F0dHIgPSB7CkBAIC00MDUsNyArMzk3LDcgQEAKIAkJIGNocGlkLmlkKTsKIAogCS8qIE9idGFpbiBjaGFubmVsIHBhdGggZGVzY3JpcHRpb24gYW5kIGZpbGwgaXQgaW4uICovCi0JcmV0ID0gY2hzY19kZXRlcm1pbmVfY2hhbm5lbF9wYXRoX2Rlc2NyaXB0aW9uKGNocGlkLCAmY2hwLT5kZXNjKTsKKwlyZXQgPSBjaHNjX2RldGVybWluZV9iYXNlX2NoYW5uZWxfcGF0aF9kZXNjKGNocGlkLCAmY2hwLT5kZXNjKTsKIAlpZiAocmV0KQogCQlnb3RvIG91dF9mcmVlOwogCWlmICgoY2hwLT5kZXNjLmZsYWdzICYgMHg4MCkgPT0gMCkgewpAQCAtNDEzLDggKzQwNSw3IEBACiAJCWdvdG8gb3V0X2ZyZWU7CiAJfQogCS8qIEdldCBjaGFubmVsLW1lYXN1cmVtZW50IGNoYXJhY3RlcmlzdGljcy4gKi8KLQlpZiAoY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbCAmJiBjc3NfY2hzY19jaGFyYWN0ZXJpc3RpY3Muc2NtYwotCSAgICAmJiBjc3NfY2hzY19jaGFyYWN0ZXJpc3RpY3Muc2VjbSkgeworCWlmIChjc3NfY2hzY19jaGFyYWN0ZXJpc3RpY3Muc2NtYyAmJiBjc3NfY2hzY19jaGFyYWN0ZXJpc3RpY3Muc2VjbSkgewogCQlyZXQgPSBjaHNjX2dldF9jaGFubmVsX21lYXN1cmVtZW50X2NoYXJzKGNocCk7CiAJCWlmIChyZXQpCiAJCQlnb3RvIG91dF9mcmVlOwpAQCAtNDc2LDI2ICs0NjcsNzQgQEAKIAogLyoqCiAgKiBjaHBfcHJvY2Vzc19jcncgLSBwcm9jZXNzIGNoYW5uZWwtcGF0aCBzdGF0dXMgY2hhbmdlCi0gKiBAaWQ6IGNoYW5uZWwtcGF0aCBJRCBudW1iZXIKLSAqIEBzdGF0dXM6IG5vbi16ZXJvIGlmIGNoYW5uZWwtcGF0aCBoYXMgYmVjb21lIGF2YWlsYWJsZSwgemVybyBvdGhlcndpc2UKKyAqIEBjcncwOiBjaGFubmVsIHJlcG9ydC13b3JkIHRvIGhhbmRsZXIKKyAqIEBjcncxOiBzZWNvbmQgY2hhbm5lbC1yZXBvcnQgd29yZCAoYWx3YXlzIE5VTEwpCisgKiBAb3ZlcmZsb3c6IGNydyBvdmVyZmxvdyBpbmRpY2F0aW9uCiAgKgogICogSGFuZGxlIGNoYW5uZWwtcmVwb3J0LXdvcmRzIGluZGljYXRpbmcgdGhhdCB0aGUgc3RhdHVzIG9mIGEgY2hhbm5lbC1wYXRoCiAgKiBoYXMgY2hhbmdlZC4KICAqLwotdm9pZCBjaHBfcHJvY2Vzc19jcncoaW50IGlkLCBpbnQgc3RhdHVzKQorc3RhdGljIHZvaWQgY2hwX3Byb2Nlc3NfY3J3KHN0cnVjdCBjcncgKmNydzAsIHN0cnVjdCBjcncgKmNydzEsCisJCQkgICAgaW50IG92ZXJmbG93KQogewogCXN0cnVjdCBjaHBfaWQgY2hwaWQ7CiAKKwlpZiAob3ZlcmZsb3cpIHsKKwkJY3NzX3NjaGVkdWxlX2V2YWxfYWxsKCk7CisJCXJldHVybjsKKwl9CisJQ0lPX0NSV19FVkVOVCgyLCAiQ1JXIHJlcG9ydHMgc2xjdD0lZCwgb2Zsdz0lZCwgIgorCQkgICAgICAiY2huPSVkLCByc2M9JVgsIGFuYz0lZCwgZXJjPSVYLCByc2lkPSVYXG4iLAorCQkgICAgICBjcncwLT5zbGN0LCBjcncwLT5vZmx3LCBjcncwLT5jaG4sIGNydzAtPnJzYywgY3J3MC0+YW5jLAorCQkgICAgICBjcncwLT5lcmMsIGNydzAtPnJzaWQpOworCS8qCisJICogQ2hlY2sgZm9yIHNvbGljaXRlZCBtYWNoaW5lIGNoZWNrcy4gVGhlc2UgYXJlCisJICogY3JlYXRlZCBieSByZXNldCBjaGFubmVsIHBhdGggYW5kIG5lZWQgbm90IGJlCisJICogaGFuZGxlZCBoZXJlLgorCSAqLworCWlmIChjcncwLT5zbGN0KSB7CisJCUNJT19DUldfRVZFTlQoMiwgInNvbGljaXRlZCBtYWNoaW5lIGNoZWNrIGZvciAiCisJCQkgICAgICAiY2hhbm5lbCBwYXRoICUwMlhcbiIsIGNydzAtPnJzaWQpOworCQlyZXR1cm47CisJfQogCWNocF9pZF9pbml0KCZjaHBpZCk7Ci0JY2hwaWQuaWQgPSBpZDsKLQlpZiAoc3RhdHVzKSB7CisJY2hwaWQuaWQgPSBjcncwLT5yc2lkOworCXN3aXRjaCAoY3J3MC0+ZXJjKSB7CisJY2FzZSBDUldfRVJDX0lQQVJNOiAvKiBQYXRoIGhhcyBjb21lLiAqLwogCQlpZiAoIWNocF9pc19yZWdpc3RlcmVkKGNocGlkKSkKIAkJCWNocF9uZXcoY2hwaWQpOwogCQljaHNjX2NocF9vbmxpbmUoY2hwaWQpOwotCX0gZWxzZQorCQlicmVhazsKKwljYXNlIENSV19FUkNfUEVSUkk6IC8qIFBhdGggaGFzIGdvbmUuICovCisJY2FzZSBDUldfRVJDX1BFUlJOOgogCQljaHNjX2NocF9vZmZsaW5lKGNocGlkKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJQ0lPX0NSV19FVkVOVCgyLCAiRG9uJ3Qga25vdyBob3cgdG8gaGFuZGxlIGVyYz0leFxuIiwKKwkJCSAgICAgIGNydzAtPmVyYyk7CisJfQogfQogCitpbnQgY2hwX3NzZF9nZXRfbWFzayhzdHJ1Y3QgY2hzY19zc2RfaW5mbyAqc3NkLCBzdHJ1Y3QgY2hwX2xpbmsgKmxpbmspCit7CisJaW50IGk7CisJaW50IG1hc2s7CisKKwlmb3IgKGkgPSAwOyBpIDwgODsgaSsrKSB7CisJCW1hc2sgPSAweDgwID4+IGk7CisJCWlmICghKHNzZC0+cGF0aF9tYXNrICYgbWFzaykpCisJCQljb250aW51ZTsKKwkJaWYgKCFjaHBfaWRfaXNfZXF1YWwoJnNzZC0+Y2hwaWRbaV0sICZsaW5rLT5jaHBpZCkpCisJCQljb250aW51ZTsKKwkJaWYgKChzc2QtPmZsYV92YWxpZF9tYXNrICYgbWFzaykgJiYKKwkJICAgICgoc3NkLT5mbGFbaV0gJiBsaW5rLT5mbGFfbWFzaykgIT0gbGluay0+ZmxhKSkKKwkJCWNvbnRpbnVlOworCQlyZXR1cm4gbWFzazsKKwl9CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChjaHBfc3NkX2dldF9tYXNrKTsKKwogc3RhdGljIGlubGluZSBpbnQgaW5mb19iaXRfbnVtKHN0cnVjdCBjaHBfaWQgaWQpCiB7CiAJcmV0dXJuIGlkLmlkICsgaWQuY3NzaWQgKiAoX19NQVhfQ0hQSUQgKyAxKTsKQEAgLTU3NSw2ICs2MTQsNyBAQAogewogCXN0cnVjdCBjaHBfaWQgY2hwaWQ7CiAJZW51bSBjZmdfdGFza190IHQ7CisJaW50IHJjOwogCiAJbXV0ZXhfbG9jaygmY2ZnX2xvY2spOwogCXQgPSBjZmdfbm9uZTsKQEAgLTU4OSwxNCArNjI5LDI0IEBACiAKIAlzd2l0Y2ggKHQpIHsKIAljYXNlIGNmZ19jb25maWd1cmU6Ci0JCXNjbHBfY2hwX2NvbmZpZ3VyZShjaHBpZCk7Ci0JCWluZm9fZXhwaXJlKCk7Ci0JCWNoc2NfY2hwX29ubGluZShjaHBpZCk7CisJCXJjID0gc2NscF9jaHBfY29uZmlndXJlKGNocGlkKTsKKwkJaWYgKHJjKQorCQkJQ0lPX01TR19FVkVOVCgyLCAiY2hwOiBzY2xwX2NocF9jb25maWd1cmUoJXguJTAyeCk9IgorCQkJCSAgICAgICIlZFxuIiwgY2hwaWQuY3NzaWQsIGNocGlkLmlkLCByYyk7CisJCWVsc2UgeworCQkJaW5mb19leHBpcmUoKTsKKwkJCWNoc2NfY2hwX29ubGluZShjaHBpZCk7CisJCX0KIAkJYnJlYWs7CiAJY2FzZSBjZmdfZGVjb25maWd1cmU6Ci0JCXNjbHBfY2hwX2RlY29uZmlndXJlKGNocGlkKTsKLQkJaW5mb19leHBpcmUoKTsKLQkJY2hzY19jaHBfb2ZmbGluZShjaHBpZCk7CisJCXJjID0gc2NscF9jaHBfZGVjb25maWd1cmUoY2hwaWQpOworCQlpZiAocmMpCisJCQlDSU9fTVNHX0VWRU5UKDIsICJjaHA6IHNjbHBfY2hwX2RlY29uZmlndXJlKCV4LiUwMngpPSIKKwkJCQkgICAgICAiJWRcbiIsIGNocGlkLmNzc2lkLCBjaHBpZC5pZCwgcmMpOworCQllbHNlIHsKKwkJCWluZm9fZXhwaXJlKCk7CisJCQljaHNjX2NocF9vZmZsaW5lKGNocGlkKTsKKwkJfQogCQlicmVhazsKIAljYXNlIGNmZ19ub25lOgogCQkvKiBHZXQgdXBkYXRlZCBpbmZvcm1hdGlvbiBhZnRlciBsYXN0IGNoYW5nZS4gKi8KQEAgLTY1NCwxMCArNzA0LDE2IEBACiBzdGF0aWMgaW50IF9faW5pdCBjaHBfaW5pdCh2b2lkKQogewogCXN0cnVjdCBjaHBfaWQgY2hwaWQ7CisJaW50IHJldDsKIAorCXJldCA9IHMzOTBfcmVnaXN0ZXJfY3J3X2hhbmRsZXIoQ1JXX1JTQ19DUEFUSCwgY2hwX3Byb2Nlc3NfY3J3KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OwogCWNocF93cSA9IGNyZWF0ZV9zaW5nbGV0aHJlYWRfd29ya3F1ZXVlKCJjaW9fY2hwIik7Ci0JaWYgKCFjaHBfd3EpCisJaWYgKCFjaHBfd3EpIHsKKwkJczM5MF91bnJlZ2lzdGVyX2Nyd19oYW5kbGVyKENSV19SU0NfQ1BBVEgpOwogCQlyZXR1cm4gLUVOT01FTTsKKwl9CiAJSU5JVF9XT1JLKCZjZmdfd29yaywgY2ZnX2Z1bmMpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmNmZ193YWl0X3F1ZXVlKTsKIAlpZiAoaW5mb191cGRhdGUoKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2hwLmggYi9kcml2ZXJzL3MzOTAvY2lvL2NocC5oCmluZGV4IDY1Mjg2NTYuLjI2YzNkMjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2hwLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaHAuaApAQCAtMTIsMTIgKzEyLDI0IEBACiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+CiAjaW5jbHVkZSAiY2hzYy5oIgorI2luY2x1ZGUgImNzcy5oIgogCiAjZGVmaW5lIENIUF9TVEFUVVNfU1RBTkRCWQkJMAogI2RlZmluZSBDSFBfU1RBVFVTX0NPTkZJR1VSRUQJCTEKICNkZWZpbmUgQ0hQX1NUQVRVU19SRVNFUlZFRAkJMgogI2RlZmluZSBDSFBfU1RBVFVTX05PVF9SRUNPR05JWkVECTMKIAorI2RlZmluZSBDSFBfT05MSU5FIDAKKyNkZWZpbmUgQ0hQX09GRkxJTkUgMQorI2RlZmluZSBDSFBfVkFSWV9PTiAyCisjZGVmaW5lIENIUF9WQVJZX09GRiAzCisKK3N0cnVjdCBjaHBfbGluayB7CisJc3RydWN0IGNocF9pZCBjaHBpZDsKKwl1MzIgZmxhX21hc2s7CisJdTE2IGZsYTsKK307CisKIHN0YXRpYyBpbmxpbmUgaW50IGNocF90ZXN0X2JpdCh1OCAqYml0bWFwLCBpbnQgbnVtKQogewogCWludCBieXRlID0gbnVtID4+IDM7CkBAIC00MiwxMiArNTQsMTEgQEAKIHU4IGNocF9nZXRfc2NoX29wbShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKTsKIGludCBjaHBfaXNfcmVnaXN0ZXJlZChzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKIHZvaWQgKmNocF9nZXRfY2hwX2Rlc2Moc3RydWN0IGNocF9pZCBjaHBpZCk7Ci12b2lkIGNocF9wcm9jZXNzX2NydyhpbnQgaWQsIGludCBhdmFpbGFibGUpOwogdm9pZCBjaHBfcmVtb3ZlX2NtZ19hdHRyKHN0cnVjdCBjaGFubmVsX3BhdGggKmNocCk7CiBpbnQgY2hwX2FkZF9jbWdfYXR0cihzdHJ1Y3QgY2hhbm5lbF9wYXRoICpjaHApOwogaW50IGNocF9uZXcoc3RydWN0IGNocF9pZCBjaHBpZCk7CiB2b2lkIGNocF9jZmdfc2NoZWR1bGUoc3RydWN0IGNocF9pZCBjaHBpZCwgaW50IGNvbmZpZ3VyZSk7CiB2b2lkIGNocF9jZmdfY2FuY2VsX2RlY29uZmlndXJlKHN0cnVjdCBjaHBfaWQgY2hwaWQpOwogaW50IGNocF9pbmZvX2dldF9zdGF0dXMoc3RydWN0IGNocF9pZCBjaHBpZCk7Ci0KK2ludCBjaHBfc3NkX2dldF9tYXNrKHN0cnVjdCBjaHNjX3NzZF9pbmZvICosIHN0cnVjdCBjaHBfbGluayAqKTsKICNlbmRpZiAvKiBTMzkwX0NIUF9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Noc2MuYyBiL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5jCmluZGV4IDVkZTg2OTAuLjY1MjY0YTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5jCkBAIC0yLDggKzIsNyBAQAogICogIGRyaXZlcnMvczM5MC9jaW8vY2hzYy5jCiAgKiAgIFMvMzkwIGNvbW1vbiBJL08gcm91dGluZXMgLS0gY2hhbm5lbCBzdWJzeXN0ZW0gY2FsbAogICoKLSAqICAgIENvcHlyaWdodCAoQykgMTk5OS0yMDAyIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILAotICoJCQkgICAgICBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMTk5OSwyMDA4CiAgKiAgICBBdXRob3Iocyk6IEluZ28gQWRsdW5nIChhZGx1bmdAZGUuaWJtLmNvbSkKICAqCQkgQ29ybmVsaWEgSHVjayAoY29ybmVsaWEuaHVja0BkZS5pYm0uY29tKQogICoJCSBBcm5kIEJlcmdtYW5uIChhcm5kYkBkZS5pYm0uY29tKQpAQCAtMTYsNyArMTUsOSBAQAogCiAjaW5jbHVkZSA8YXNtL2Npby5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgorI2luY2x1ZGUgPGFzbS9jaHNjLmg+CiAKKyNpbmNsdWRlICIuLi9zMzkwbWFjaC5oIgogI2luY2x1ZGUgImNzcy5oIgogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNpb19kZWJ1Zy5oIgpAQCAtMTI3LDc3ICsxMjgsMTIgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IGNoZWNrX2Zvcl9pb19vbl9wYXRoKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIGludCBtYXNrKQotewotCWludCBjYzsKLQotCWNjID0gc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpOwotCWlmIChjYykKLQkJcmV0dXJuIDA7Ci0JaWYgKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYmIHNjaC0+c2NoaWIucG1jdy5scHVtID09IG1hc2spCi0JCXJldHVybiAxOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCB0ZXJtaW5hdGVfaW50ZXJuYWxfaW8oc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKLXsKLQlpZiAoY2lvX2NsZWFyKHNjaCkpIHsKLQkJLyogUmVjaGVjayBkZXZpY2UgaW4gY2FzZSBjbGVhciBmYWlsZWQuICovCi0JCXNjaC0+bHBtID0gMDsKLQkJaWYgKGRldmljZV90cmlnZ2VyX3ZlcmlmeShzY2gpICE9IDApCi0JCQljc3Nfc2NoZWR1bGVfZXZhbChzY2gtPnNjaGlkKTsKLQkJcmV0dXJuOwotCX0KLQkvKiBSZXF1ZXN0IHJldHJ5IG9mIGludGVybmFsIG9wZXJhdGlvbi4gKi8KLQlkZXZpY2Vfc2V0X2ludHJldHJ5KHNjaCk7Ci0JLyogQ2FsbCBoYW5kbGVyLiAqLwotCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dGVybWluYXRpb24pCi0JCXNjaC0+ZHJpdmVyLT50ZXJtaW5hdGlvbihzY2gpOwotfQotCiBzdGF0aWMgaW50IHMzOTBfc3ViY2hhbm5lbF9yZW1vdmVfY2hwaWQoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgdm9pZCAqZGF0YSkKIHsKLQlpbnQgajsKLQlpbnQgbWFzazsKLQlzdHJ1Y3QgY2hwX2lkICpjaHBpZCA9IGRhdGE7Ci0Jc3RydWN0IHNjaGliIHNjaGliOwotCi0JZm9yIChqID0gMDsgaiA8IDg7IGorKykgewotCQltYXNrID0gMHg4MCA+PiBqOwotCQlpZiAoKHNjaC0+c2NoaWIucG1jdy5waW0gJiBtYXNrKSAmJgotCQkgICAgKHNjaC0+c2NoaWIucG1jdy5jaHBpZFtqXSA9PSBjaHBpZC0+aWQpKQotCQkJYnJlYWs7Ci0JfQotCWlmIChqID49IDgpCi0JCXJldHVybiAwOwotCiAJc3Bpbl9sb2NrX2lycShzY2gtPmxvY2spOwotCi0Jc3RzY2goc2NoLT5zY2hpZCwgJnNjaGliKTsKLQlpZiAoIWNzc19zY2hfaXNfdmFsaWQoJnNjaGliKSkKLQkJZ290byBvdXRfdW5yZWc7Ci0JbWVtY3B5KCZzY2gtPnNjaGliLCAmc2NoaWIsIHNpemVvZihzdHJ1Y3Qgc2NoaWIpKTsKLQkvKiBDaGVjayBmb3Igc2luZ2xlIHBhdGggZGV2aWNlcy4gKi8KLQlpZiAoc2NoLT5zY2hpYi5wbWN3LnBpbSA9PSAweDgwKQotCQlnb3RvIG91dF91bnJlZzsKLQotCWlmIChjaGVja19mb3JfaW9fb25fcGF0aChzY2gsIG1hc2spKSB7Ci0JCWlmIChkZXZpY2VfaXNfb25saW5lKHNjaCkpCi0JCQlkZXZpY2Vfa2lsbF9pbyhzY2gpOwotCQllbHNlIHsKLQkJCXRlcm1pbmF0ZV9pbnRlcm5hbF9pbyhzY2gpOwotCQkJLyogUmUtc3RhcnQgcGF0aCB2ZXJpZmljYXRpb24uICovCi0JCQlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPnZlcmlmeSkKLQkJCQlzY2gtPmRyaXZlci0+dmVyaWZ5KHNjaCk7Ci0JCX0KLQl9IGVsc2UgewotCQkvKiB0cmlnZ2VyIHBhdGggdmVyaWZpY2F0aW9uLiAqLwotCQlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPnZlcmlmeSkKLQkJCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLQkJZWxzZSBpZiAoc2NoLT5scG0gPT0gbWFzaykKKwlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPmNocF9ldmVudCkKKwkJaWYgKHNjaC0+ZHJpdmVyLT5jaHBfZXZlbnQoc2NoLCBkYXRhLCBDSFBfT0ZGTElORSkgIT0gMCkKIAkJCWdvdG8gb3V0X3VucmVnOwotCX0KLQogCXNwaW5fdW5sb2NrX2lycShzY2gtPmxvY2spOwogCXJldHVybiAwOwogCkBAIC0yMTEsMTUgKzE0NywxOCBAQAogdm9pZCBjaHNjX2NocF9vZmZsaW5lKHN0cnVjdCBjaHBfaWQgY2hwaWQpCiB7CiAJY2hhciBkYmZfdHh0WzE1XTsKKwlzdHJ1Y3QgY2hwX2xpbmsgbGluazsKIAogCXNwcmludGYoZGJmX3R4dCwgImNocHIleC4lMDJ4IiwgY2hwaWQuY3NzaWQsIGNocGlkLmlkKTsKIAlDSU9fVFJBQ0VfRVZFTlQoMiwgZGJmX3R4dCk7CiAKIAlpZiAoY2hwX2dldF9zdGF0dXMoY2hwaWQpIDw9IDApCiAJCXJldHVybjsKKwltZW1zZXQoJmxpbmssIDAsIHNpemVvZihzdHJ1Y3QgY2hwX2xpbmspKTsKKwlsaW5rLmNocGlkID0gY2hwaWQ7CiAJLyogV2FpdCB1bnRpbCBwcmV2aW91cyBhY3Rpb25zIGhhdmUgc2V0dGxlZC4gKi8KIAljc3Nfd2FpdF9mb3Jfc2xvd19wYXRoKCk7Ci0JZm9yX2VhY2hfc3ViY2hhbm5lbF9zdGFnZWQoczM5MF9zdWJjaGFubmVsX3JlbW92ZV9jaHBpZCwgTlVMTCwgJmNocGlkKTsKKwlmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChzMzkwX3N1YmNoYW5uZWxfcmVtb3ZlX2NocGlkLCBOVUxMLCAmbGluayk7CiB9CiAKIHN0YXRpYyBpbnQgczM5MF9wcm9jZXNzX3Jlc19hY2NfbmV3X3NjaChzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCwgdm9pZCAqZGF0YSkKQEAgLTI0Miw2NyArMTgxLDI1IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0cnVjdCByZXNfYWNjX2RhdGEgewotCXN0cnVjdCBjaHBfaWQgY2hwaWQ7Ci0JdTMyIGZsYV9tYXNrOwotCXUxNiBmbGE7Ci19OwotCi1zdGF0aWMgaW50IGdldF9yZXNfY2hwaWRfbWFzayhzdHJ1Y3QgY2hzY19zc2RfaW5mbyAqc3NkLAotCQkJICAgICAgc3RydWN0IHJlc19hY2NfZGF0YSAqZGF0YSkKLXsKLQlpbnQgaTsKLQlpbnQgbWFzazsKLQotCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKLQkJbWFzayA9IDB4ODAgPj4gaTsKLQkJaWYgKCEoc3NkLT5wYXRoX21hc2sgJiBtYXNrKSkKLQkJCWNvbnRpbnVlOwotCQlpZiAoIWNocF9pZF9pc19lcXVhbCgmc3NkLT5jaHBpZFtpXSwgJmRhdGEtPmNocGlkKSkKLQkJCWNvbnRpbnVlOwotCQlpZiAoKHNzZC0+ZmxhX3ZhbGlkX21hc2sgJiBtYXNrKSAmJgotCQkgICAgKChzc2QtPmZsYVtpXSAmIGRhdGEtPmZsYV9tYXNrKSAhPSBkYXRhLT5mbGEpKQotCQkJY29udGludWU7Ci0JCXJldHVybiBtYXNrOwotCX0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIGludCBfX3MzOTBfcHJvY2Vzc19yZXNfYWNjKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHZvaWQgKmRhdGEpCiB7Ci0JaW50IGNocF9tYXNrLCBvbGRfbHBtOwotCXN0cnVjdCByZXNfYWNjX2RhdGEgKnJlc19kYXRhID0gZGF0YTsKLQogCXNwaW5fbG9ja19pcnEoc2NoLT5sb2NrKTsKLQljaHBfbWFzayA9IGdldF9yZXNfY2hwaWRfbWFzaygmc2NoLT5zc2RfaW5mbywgcmVzX2RhdGEpOwotCWlmIChjaHBfbWFzayA9PSAwKQotCQlnb3RvIG91dDsKLQlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpKQotCQlnb3RvIG91dDsKLQlvbGRfbHBtID0gc2NoLT5scG07Ci0Jc2NoLT5scG0gPSAoKHNjaC0+c2NoaWIucG1jdy5waW0gJgotCQkgICAgIHNjaC0+c2NoaWIucG1jdy5wYW0gJgotCQkgICAgIHNjaC0+c2NoaWIucG1jdy5wb20pCi0JCSAgICB8IGNocF9tYXNrKSAmIHNjaC0+b3BtOwotCWlmICghb2xkX2xwbSAmJiBzY2gtPmxwbSkKLQkJZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShzY2gpOwotCWVsc2UgaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT52ZXJpZnkpCi0JCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLW91dDoKKwlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPmNocF9ldmVudCkKKwkJc2NoLT5kcml2ZXItPmNocF9ldmVudChzY2gsIGRhdGEsIENIUF9PTkxJTkUpOwogCXNwaW5fdW5sb2NrX2lycShzY2gtPmxvY2spOwogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHMzOTBfcHJvY2Vzc19yZXNfYWNjIChzdHJ1Y3QgcmVzX2FjY19kYXRhICpyZXNfZGF0YSkKK3N0YXRpYyB2b2lkIHMzOTBfcHJvY2Vzc19yZXNfYWNjKHN0cnVjdCBjaHBfbGluayAqbGluaykKIHsKIAljaGFyIGRiZl90eHRbMTVdOwogCi0Jc3ByaW50ZihkYmZfdHh0LCAiYWNjcHIleC4lMDJ4IiwgcmVzX2RhdGEtPmNocGlkLmNzc2lkLAotCQlyZXNfZGF0YS0+Y2hwaWQuaWQpOworCXNwcmludGYoZGJmX3R4dCwgImFjY3ByJXguJTAyeCIsIGxpbmstPmNocGlkLmNzc2lkLAorCQlsaW5rLT5jaHBpZC5pZCk7CiAJQ0lPX1RSQUNFX0VWRU5UKCAyLCBkYmZfdHh0KTsKLQlpZiAocmVzX2RhdGEtPmZsYSAhPSAwKSB7Ci0JCXNwcmludGYoZGJmX3R4dCwgImZsYSV4IiwgcmVzX2RhdGEtPmZsYSk7CisJaWYgKGxpbmstPmZsYSAhPSAwKSB7CisJCXNwcmludGYoZGJmX3R4dCwgImZsYSV4IiwgbGluay0+ZmxhKTsKIAkJQ0lPX1RSQUNFX0VWRU5UKCAyLCBkYmZfdHh0KTsKIAl9CiAJLyogV2FpdCB1bnRpbCBwcmV2aW91cyBhY3Rpb25zIGhhdmUgc2V0dGxlZC4gKi8KQEAgLTMxNSw3ICsyMTIsNyBAQAogCSAqIHdpbGwgd2UgaGF2ZSB0byBkby4KIAkgKi8KIAlmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChfX3MzOTBfcHJvY2Vzc19yZXNfYWNjLAotCQkJCSAgIHMzOTBfcHJvY2Vzc19yZXNfYWNjX25ld19zY2gsIHJlc19kYXRhKTsKKwkJCQkgICBzMzkwX3Byb2Nlc3NfcmVzX2FjY19uZXdfc2NoLCBsaW5rKTsKIH0KIAogc3RhdGljIGludApAQCAtMzg4LDcgKzI4NSw3IEBACiAKIHN0YXRpYyB2b2lkIGNoc2NfcHJvY2Vzc19zZWlfcmVzX2FjYyhzdHJ1Y3QgY2hzY19zZWlfYXJlYSAqc2VpX2FyZWEpCiB7Ci0Jc3RydWN0IHJlc19hY2NfZGF0YSByZXNfZGF0YTsKKwlzdHJ1Y3QgY2hwX2xpbmsgbGluazsKIAlzdHJ1Y3QgY2hwX2lkIGNocGlkOwogCWludCBzdGF0dXM7CiAKQEAgLTQwNCwxOCArMzAxLDE4IEBACiAJCWNocF9uZXcoY2hwaWQpOwogCWVsc2UgaWYgKCFzdGF0dXMpCiAJCXJldHVybjsKLQltZW1zZXQoJnJlc19kYXRhLCAwLCBzaXplb2Yoc3RydWN0IHJlc19hY2NfZGF0YSkpOwotCXJlc19kYXRhLmNocGlkID0gY2hwaWQ7CisJbWVtc2V0KCZsaW5rLCAwLCBzaXplb2Yoc3RydWN0IGNocF9saW5rKSk7CisJbGluay5jaHBpZCA9IGNocGlkOwogCWlmICgoc2VpX2FyZWEtPnZmICYgMHhjMCkgIT0gMCkgewotCQlyZXNfZGF0YS5mbGEgPSBzZWlfYXJlYS0+ZmxhOworCQlsaW5rLmZsYSA9IHNlaV9hcmVhLT5mbGE7CiAJCWlmICgoc2VpX2FyZWEtPnZmICYgMHhjMCkgPT0gMHhjMCkKIAkJCS8qIGZ1bGwgbGluayBhZGRyZXNzICovCi0JCQlyZXNfZGF0YS5mbGFfbWFzayA9IDB4ZmZmZjsKKwkJCWxpbmsuZmxhX21hc2sgPSAweGZmZmY7CiAJCWVsc2UKIAkJCS8qIGxpbmsgYWRkcmVzcyAqLwotCQkJcmVzX2RhdGEuZmxhX21hc2sgPSAweGZmMDA7CisJCQlsaW5rLmZsYV9tYXNrID0gMHhmZjAwOwogCX0KLQlzMzkwX3Byb2Nlc3NfcmVzX2FjYygmcmVzX2RhdGEpOworCXMzOTBfcHJvY2Vzc19yZXNfYWNjKCZsaW5rKTsKIH0KIAogc3RydWN0IGNocF9jb25maWdfZGF0YSB7CkBAIC00ODAsMTcgKzM3NywyNSBAQAogCX0KIH0KIAotdm9pZCBjaHNjX3Byb2Nlc3NfY3J3KHZvaWQpCitzdGF0aWMgdm9pZCBjaHNjX3Byb2Nlc3NfY3J3KHN0cnVjdCBjcncgKmNydzAsIHN0cnVjdCBjcncgKmNydzEsIGludCBvdmVyZmxvdykKIHsKIAlzdHJ1Y3QgY2hzY19zZWlfYXJlYSAqc2VpX2FyZWE7CiAKKwlpZiAob3ZlcmZsb3cpIHsKKwkJY3NzX3NjaGVkdWxlX2V2YWxfYWxsKCk7CisJCXJldHVybjsKKwl9CisJQ0lPX0NSV19FVkVOVCgyLCAiQ1JXIHJlcG9ydHMgc2xjdD0lZCwgb2Zsdz0lZCwgIgorCQkgICAgICAiY2huPSVkLCByc2M9JVgsIGFuYz0lZCwgZXJjPSVYLCByc2lkPSVYXG4iLAorCQkgICAgICBjcncwLT5zbGN0LCBjcncwLT5vZmx3LCBjcncwLT5jaG4sIGNydzAtPnJzYywgY3J3MC0+YW5jLAorCQkgICAgICBjcncwLT5lcmMsIGNydzAtPnJzaWQpOwogCWlmICghc2VpX3BhZ2UpCiAJCXJldHVybjsKIAkvKiBBY2Nlc3MgdG8gc2VpX3BhZ2UgaXMgc2VyaWFsaXplZCB0aHJvdWdoIG1hY2hpbmUgY2hlY2sgaGFuZGxlcgogCSAqIHRocmVhZCwgc28gbm8gbmVlZCBmb3IgbG9ja2luZy4gKi8KIAlzZWlfYXJlYSA9IHNlaV9wYWdlOwogCi0JQ0lPX1RSQUNFX0VWRU5UKCAyLCAicHJjc3MiKTsKKwlDSU9fVFJBQ0VfRVZFTlQoMiwgInByY3NzIik7CiAJZG8gewogCQltZW1zZXQoc2VpX2FyZWEsIDAsIHNpemVvZigqc2VpX2FyZWEpKTsKIAkJc2VpX2FyZWEtPnJlcXVlc3QubGVuZ3RoID0gMHgwMDEwOwpAQCAtNTA5LDExNCArNDE0LDM2IEBACiAJfSB3aGlsZSAoc2VpX2FyZWEtPmZsYWdzICYgMHg4MCk7CiB9CiAKLXN0YXRpYyBpbnQgX19jaHBfYWRkX25ld19zY2goc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQsIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IHNjaGliIHNjaGliOwotCi0JaWYgKHN0c2NoX2VycihzY2hpZCwgJnNjaGliKSkKLQkJLyogV2UncmUgdGhyb3VnaCAqLwotCQlyZXR1cm4gLUVOWElPOwotCi0JLyogUHV0IGl0IG9uIHRoZSBzbG93IHBhdGguICovCi0JY3NzX3NjaGVkdWxlX2V2YWwoc2NoaWQpOwotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyBpbnQgX19jaHBfYWRkKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHZvaWQgKmRhdGEpCi17Ci0JaW50IGksIG1hc2s7Ci0Jc3RydWN0IGNocF9pZCAqY2hwaWQgPSBkYXRhOwotCi0Jc3Bpbl9sb2NrX2lycShzY2gtPmxvY2spOwotCWZvciAoaT0wOyBpPDg7IGkrKykgewotCQltYXNrID0gMHg4MCA+PiBpOwotCQlpZiAoKHNjaC0+c2NoaWIucG1jdy5waW0gJiBtYXNrKSAmJgotCQkgICAgKHNjaC0+c2NoaWIucG1jdy5jaHBpZFtpXSA9PSBjaHBpZC0+aWQpKQotCQkJYnJlYWs7Ci0JfQotCWlmIChpPT04KSB7Ci0JCXNwaW5fdW5sb2NrX2lycShzY2gtPmxvY2spOwotCQlyZXR1cm4gMDsKLQl9Ci0JaWYgKHN0c2NoKHNjaC0+c2NoaWQsICZzY2gtPnNjaGliKSkgewotCQlzcGluX3VubG9ja19pcnEoc2NoLT5sb2NrKTsKLQkJY3NzX3NjaGVkdWxlX2V2YWwoc2NoLT5zY2hpZCk7Ci0JCXJldHVybiAwOwotCX0KLQlzY2gtPmxwbSA9ICgoc2NoLT5zY2hpYi5wbWN3LnBpbSAmCi0JCSAgICAgc2NoLT5zY2hpYi5wbWN3LnBhbSAmCi0JCSAgICAgc2NoLT5zY2hpYi5wbWN3LnBvbSkKLQkJICAgIHwgbWFzaykgJiBzY2gtPm9wbTsKLQotCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQlzY2gtPmRyaXZlci0+dmVyaWZ5KHNjaCk7Ci0KLQlzcGluX3VubG9ja19pcnEoc2NoLT5sb2NrKTsKLQotCXJldHVybiAwOwotfQotCiB2b2lkIGNoc2NfY2hwX29ubGluZShzdHJ1Y3QgY2hwX2lkIGNocGlkKQogewogCWNoYXIgZGJmX3R4dFsxNV07CisJc3RydWN0IGNocF9saW5rIGxpbms7CiAKIAlzcHJpbnRmKGRiZl90eHQsICJjYWRkJXguJTAyeCIsIGNocGlkLmNzc2lkLCBjaHBpZC5pZCk7CiAJQ0lPX1RSQUNFX0VWRU5UKDIsIGRiZl90eHQpOwogCiAJaWYgKGNocF9nZXRfc3RhdHVzKGNocGlkKSAhPSAwKSB7CisJCW1lbXNldCgmbGluaywgMCwgc2l6ZW9mKHN0cnVjdCBjaHBfbGluaykpOworCQlsaW5rLmNocGlkID0gY2hwaWQ7CiAJCS8qIFdhaXQgdW50aWwgcHJldmlvdXMgYWN0aW9ucyBoYXZlIHNldHRsZWQuICovCiAJCWNzc193YWl0X2Zvcl9zbG93X3BhdGgoKTsKLQkJZm9yX2VhY2hfc3ViY2hhbm5lbF9zdGFnZWQoX19jaHBfYWRkLCBfX2NocF9hZGRfbmV3X3NjaCwKLQkJCQkJICAgJmNocGlkKTsKKwkJZm9yX2VhY2hfc3ViY2hhbm5lbF9zdGFnZWQoX19zMzkwX3Byb2Nlc3NfcmVzX2FjYywgTlVMTCwKKwkJCQkJICAgJmxpbmspOwogCX0KIH0KIAogc3RhdGljIHZvaWQgX19zMzkwX3N1YmNoYW5uZWxfdmFyeV9jaHBpZChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLAogCQkJCQkgc3RydWN0IGNocF9pZCBjaHBpZCwgaW50IG9uKQogewotCWludCBjaHAsIG9sZF9scG07Ci0JaW50IG1hc2s7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgY2hwX2xpbmsgbGluazsKIAorCW1lbXNldCgmbGluaywgMCwgc2l6ZW9mKHN0cnVjdCBjaHBfbGluaykpOworCWxpbmsuY2hwaWQgPSBjaHBpZDsKIAlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKLQlvbGRfbHBtID0gc2NoLT5scG07Ci0JZm9yIChjaHAgPSAwOyBjaHAgPCA4OyBjaHArKykgewotCQltYXNrID0gMHg4MCA+PiBjaHA7Ci0JCWlmICghKHNjaC0+c3NkX2luZm8ucGF0aF9tYXNrICYgbWFzaykpCi0JCQljb250aW51ZTsKLQkJaWYgKCFjaHBfaWRfaXNfZXF1YWwoJnNjaC0+c3NkX2luZm8uY2hwaWRbY2hwXSwgJmNocGlkKSkKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChvbikgewotCQkJc2NoLT5vcG0gfD0gbWFzazsKLQkJCXNjaC0+bHBtIHw9IG1hc2s7Ci0JCQlpZiAoIW9sZF9scG0pCi0JCQkJZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShzY2gpOwotCQkJZWxzZSBpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPnZlcmlmeSkKLQkJCQlzY2gtPmRyaXZlci0+dmVyaWZ5KHNjaCk7Ci0JCQlicmVhazsKLQkJfQotCQlzY2gtPm9wbSAmPSB+bWFzazsKLQkJc2NoLT5scG0gJj0gfm1hc2s7Ci0JCWlmIChjaGVja19mb3JfaW9fb25fcGF0aChzY2gsIG1hc2spKSB7Ci0JCQlpZiAoZGV2aWNlX2lzX29ubGluZShzY2gpKQotCQkJCS8qIFBhdGggdmVyaWZpY2F0aW9uIGlzIGRvbmUgYWZ0ZXIga2lsbGluZy4gKi8KLQkJCQlkZXZpY2Vfa2lsbF9pbyhzY2gpOwotCQkJZWxzZSB7Ci0JCQkJLyogS2lsbCBhbmQgcmV0cnkgaW50ZXJuYWwgSS9PLiAqLwotCQkJCXRlcm1pbmF0ZV9pbnRlcm5hbF9pbyhzY2gpOwotCQkJCS8qIFJlLXN0YXJ0IHBhdGggdmVyaWZpY2F0aW9uLiAqLwotCQkJCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQkJCQlzY2gtPmRyaXZlci0+dmVyaWZ5KHNjaCk7Ci0JCQl9Ci0JCX0gZWxzZSBpZiAoIXNjaC0+bHBtKSB7Ci0JCQlpZiAoZGV2aWNlX3RyaWdnZXJfdmVyaWZ5KHNjaCkgIT0gMCkKLQkJCQljc3Nfc2NoZWR1bGVfZXZhbChzY2gtPnNjaGlkKTsKLQkJfSBlbHNlIGlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQkJc2NoLT5kcml2ZXItPnZlcmlmeShzY2gpOwotCQlicmVhazsKLQl9CisJaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT5jaHBfZXZlbnQpCisJCXNjaC0+ZHJpdmVyLT5jaHBfZXZlbnQoc2NoLCAmbGluaywKKwkJCQkgICAgICAgb24gPyBDSFBfVkFSWV9PTiA6IENIUF9WQVJZX09GRik7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKIH0KIApAQCAtNjU2LDYgKzQ4MywxMCBAQAogICovCiBpbnQgY2hzY19jaHBfdmFyeShzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgb24pCiB7CisJc3RydWN0IGNocF9saW5rIGxpbms7CisKKwltZW1zZXQoJmxpbmssIDAsIHNpemVvZihzdHJ1Y3QgY2hwX2xpbmspKTsKKwlsaW5rLmNocGlkID0gY2hwaWQ7CiAJLyogV2FpdCB1bnRpbCBwcmV2aW91cyBhY3Rpb25zIGhhdmUgc2V0dGxlZC4gKi8KIAljc3Nfd2FpdF9mb3Jfc2xvd19wYXRoKCk7CiAJLyoKQEAgLTY2NCwxMCArNDk1LDEwIEBACiAKIAlpZiAob24pCiAJCWZvcl9lYWNoX3N1YmNoYW5uZWxfc3RhZ2VkKHMzOTBfc3ViY2hhbm5lbF92YXJ5X2NocGlkX29uLAotCQkJCQkgICBfX3MzOTBfdmFyeV9jaHBpZF9vbiwgJmNocGlkKTsKKwkJCQkJICAgX19zMzkwX3ZhcnlfY2hwaWRfb24sICZsaW5rKTsKIAllbHNlCiAJCWZvcl9lYWNoX3N1YmNoYW5uZWxfc3RhZ2VkKHMzOTBfc3ViY2hhbm5lbF92YXJ5X2NocGlkX29mZiwKLQkJCQkJICAgTlVMTCwgJmNocGlkKTsKKwkJCQkJICAgTlVMTCwgJmxpbmspOwogCiAJcmV0dXJuIDA7CiB9CkBAIC03OTcsMjMgKzYyOCwzMyBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzY3JpcHRpb24oc3RydWN0IGNocF9pZCBjaHBpZCwKLQkJCQkJICAgIHN0cnVjdCBjaGFubmVsX3BhdGhfZGVzYyAqZGVzYykKK2ludCBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzYyhzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgZm10LCBpbnQgcmZtdCwKKwkJCQkgICAgIGludCBjLCBpbnQgbSwKKwkJCQkgICAgIHN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCAqcmVzcCkKIHsKIAlpbnQgY2NvZGUsIHJldDsKIAogCXN0cnVjdCB7CiAJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OwotCQl1MzIgOiAyNDsKKwkJdTMyIDogMjsKKwkJdTMyIG0gOiAxOworCQl1MzIgYyA6IDE7CisJCXUzMiBmbXQgOiA0OworCQl1MzIgY3NzaWQgOiA4OworCQl1MzIgOiA0OworCQl1MzIgcmZtdCA6IDQ7CiAJCXUzMiBmaXJzdF9jaHBpZCA6IDg7CiAJCXUzMiA6IDI0OwogCQl1MzIgbGFzdF9jaHBpZCA6IDg7CiAJCXUzMiB6ZXJvZXMxOwogCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7Ci0JCXUzMiB6ZXJvZXMyOwotCQlzdHJ1Y3QgY2hhbm5lbF9wYXRoX2Rlc2MgZGVzYzsKKwkJdTggZGF0YVtQQUdFX1NJWkUgLSAyMF07CiAJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKnNjcGRfYXJlYTsKIAorCWlmICgocmZtdCA9PSAxKSAmJiAhY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmZjcykKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKChyZm10ID09IDIpICYmICFjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MuY2liKQorCQlyZXR1cm4gLUVJTlZBTDsKIAlzY3BkX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CiAJaWYgKCFzY3BkX2FyZWEpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtODIxLDggKzY2MiwxMyBAQAogCXNjcGRfYXJlYS0+cmVxdWVzdC5sZW5ndGggPSAweDAwMTA7CiAJc2NwZF9hcmVhLT5yZXF1ZXN0LmNvZGUgPSAweDAwMDI7CiAKKwlzY3BkX2FyZWEtPmNzc2lkID0gY2hwaWQuY3NzaWQ7CiAJc2NwZF9hcmVhLT5maXJzdF9jaHBpZCA9IGNocGlkLmlkOwogCXNjcGRfYXJlYS0+bGFzdF9jaHBpZCA9IGNocGlkLmlkOworCXNjcGRfYXJlYS0+bSA9IG07CisJc2NwZF9hcmVhLT5jID0gYzsKKwlzY3BkX2FyZWEtPmZtdCA9IGZtdDsKKwlzY3BkX2FyZWEtPnJmbXQgPSByZm10OwogCiAJY2NvZGUgPSBjaHNjKHNjcGRfYXJlYSk7CiAJaWYgKGNjb2RlID4gMCkgewpAQCAtODMzLDggKzY3OSw3IEBACiAJcmV0ID0gY2hzY19lcnJvcl9mcm9tX3Jlc3BvbnNlKHNjcGRfYXJlYS0+cmVzcG9uc2UuY29kZSk7CiAJaWYgKHJldCA9PSAwKQogCQkvKiBTdWNjZXNzLiAqLwotCQltZW1jcHkoZGVzYywgJnNjcGRfYXJlYS0+ZGVzYywKLQkJICAgICAgIHNpemVvZihzdHJ1Y3QgY2hhbm5lbF9wYXRoX2Rlc2MpKTsKKwkJbWVtY3B5KHJlc3AsICZzY3BkX2FyZWEtPnJlc3BvbnNlLCBzY3BkX2FyZWEtPnJlc3BvbnNlLmxlbmd0aCk7CiAJZWxzZQogCQlDSU9fQ1JXX0VWRU5UKDIsICJjaHNjOiBzY3BkIGZhaWxlZCAocmM9JTA0eClcbiIsCiAJCQkgICAgICBzY3BkX2FyZWEtPnJlc3BvbnNlLmNvZGUpOwpAQCAtODQyLDYgKzY4NywyNSBAQAogCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzY3BkX2FyZWEpOwogCXJldHVybiByZXQ7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzYyk7CisKK2ludCBjaHNjX2RldGVybWluZV9iYXNlX2NoYW5uZWxfcGF0aF9kZXNjKHN0cnVjdCBjaHBfaWQgY2hwaWQsCisJCQkJCSAgc3RydWN0IGNoYW5uZWxfcGF0aF9kZXNjICpkZXNjKQoreworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCAqY2hzY19yZXNwOworCWludCByZXQ7CisKKwljaHNjX3Jlc3AgPSBremFsbG9jKHNpemVvZigqY2hzY19yZXNwKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjaHNjX3Jlc3ApCisJCXJldHVybiAtRU5PTUVNOworCXJldCA9IGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjKGNocGlkLCAwLCAwLCAwLCAwLCBjaHNjX3Jlc3ApOworCWlmIChyZXQpCisJCWdvdG8gb3V0X2ZyZWU7CisJbWVtY3B5KGRlc2MsICZjaHNjX3Jlc3AtPmRhdGEsIGNoc2NfcmVzcC0+bGVuZ3RoKTsKK291dF9mcmVlOgorCWtmcmVlKGNoc2NfcmVzcCk7CisJcmV0dXJuIHJldDsKK30KIAogc3RhdGljIHZvaWQKIGNoc2NfaW5pdGlhbGl6ZV9jbWdfY2hhcnMoc3RydWN0IGNoYW5uZWxfcGF0aCAqY2hwLCB1OCBjbWN2LApAQCAtOTM3LDE1ICs4MDEsMjMgQEAKIAogaW50IF9faW5pdCBjaHNjX2FsbG9jX3NlaV9hcmVhKHZvaWQpCiB7CisJaW50IHJldDsKKwogCXNlaV9wYWdlID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOwotCWlmICghc2VpX3BhZ2UpCisJaWYgKCFzZWlfcGFnZSkgewogCQlDSU9fTVNHX0VWRU5UKDAsICJDYW4ndCBhbGxvY2F0ZSBwYWdlIGZvciBwcm9jZXNzaW5nIG9mICIKIAkJCSAgICAgICJjaHNjIG1hY2hpbmUgY2hlY2tzIVxuIik7Ci0JcmV0dXJuIChzZWlfcGFnZSA/IDAgOiAtRU5PTUVNKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCXJldCA9IHMzOTBfcmVnaXN0ZXJfY3J3X2hhbmRsZXIoQ1JXX1JTQ19DU1MsIGNoc2NfcHJvY2Vzc19jcncpOworCWlmIChyZXQpCisJCWtmcmVlKHNlaV9wYWdlKTsKKwlyZXR1cm4gcmV0OwogfQogCiB2b2lkIF9faW5pdCBjaHNjX2ZyZWVfc2VpX2FyZWEodm9pZCkKIHsKKwlzMzkwX3VucmVnaXN0ZXJfY3J3X2hhbmRsZXIoQ1JXX1JTQ19DU1MpOwogCWtmcmVlKHNlaV9wYWdlKTsKIH0KIApAQCAtMTA0MywzICs5MTUsNTIgQEAKIAogRVhQT1JUX1NZTUJPTF9HUEwoY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzKTsKIEVYUE9SVF9TWU1CT0xfR1BMKGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcyk7CisKK2ludCBjaHNjX3NzdHBjKHZvaWQgKnBhZ2UsIHVuc2lnbmVkIGludCBvcCwgdTE2IGN0cmwpCit7CisJc3RydWN0IHsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlcXVlc3Q7CisJCXVuc2lnbmVkIGludCByc3ZkMDsKKwkJdW5zaWduZWQgaW50IG9wIDogODsKKwkJdW5zaWduZWQgaW50IHJzdmQxIDogODsKKwkJdW5zaWduZWQgaW50IGN0cmwgOiAxNjsKKwkJdW5zaWduZWQgaW50IHJzdmQyWzVdOworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7CisJCXVuc2lnbmVkIGludCByc3ZkM1s3XTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqcnI7CisJaW50IHJjOworCisJbWVtc2V0KHBhZ2UsIDAsIFBBR0VfU0laRSk7CisJcnIgPSBwYWdlOworCXJyLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAyMDsKKwlyci0+cmVxdWVzdC5jb2RlID0gMHgwMDMzOworCXJyLT5vcCA9IG9wOworCXJyLT5jdHJsID0gY3RybDsKKwlyYyA9IGNoc2MocnIpOworCWlmIChyYykKKwkJcmV0dXJuIC1FSU87CisJcmMgPSAocnItPnJlc3BvbnNlLmNvZGUgPT0gMHgwMDAxKSA/IDAgOiAtRUlPOworCXJldHVybiByYzsKK30KKworaW50IGNoc2Nfc3N0cGkodm9pZCAqcGFnZSwgdm9pZCAqcmVzdWx0LCBzaXplX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdW5zaWduZWQgaW50IHJzdmQwWzNdOworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7CisJCWNoYXIgZGF0YVtzaXplXTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqcnI7CisJaW50IHJjOworCisJbWVtc2V0KHBhZ2UsIDAsIFBBR0VfU0laRSk7CisJcnIgPSBwYWdlOworCXJyLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAxMDsKKwlyci0+cmVxdWVzdC5jb2RlID0gMHgwMDM4OworCXJjID0gY2hzYyhycik7CisJaWYgKHJjKQorCQlyZXR1cm4gLUVJTzsKKwltZW1jcHkocmVzdWx0LCAmcnItPmRhdGEsIHNpemUpOworCXJldHVybiAocnItPnJlc3BvbnNlLmNvZGUgPT0gMHgwMDAxKSA/IDAgOiAtRUlPOworfQorCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Noc2MuaCBiL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5oCmluZGV4IGQxZjVkYjEuLmZiNmM0ZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5oCkBAIC00LDcgKzQsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+Ci0jaW5jbHVkZSAic2NoaWQuaCIKKyNpbmNsdWRlIDxhc20vY2hzYy5oPgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgogCiAjZGVmaW5lIENIU0NfU0RBX09DX01TUyAgIDB4MgogCkBAIC0zNiwxNCArMzcsMTUgQEAKIAogc3RydWN0IGNoYW5uZWxfcGF0aDsKIAotZXh0ZXJuIHZvaWQgY2hzY19wcm9jZXNzX2Nydyh2b2lkKTsKLQogc3RydWN0IGNzc19nZW5lcmFsX2NoYXIgewotCXU2NCA6IDQxOworCXU2NCA6IDEyOworCXUzMiBkeW5pbyA6IDE7CSAvKiBiaXQgMTIgKi8KKwl1MzIgOiAyODsKIAl1MzIgYWlmIDogMTsgICAgIC8qIGJpdCA0MSAqLwogCXUzMiA6IDM7CiAJdTMyIG1jc3MgOiAxOyAgICAvKiBiaXQgNDUgKi8KLQl1MzIgOiAyOworCXUzMiBmY3MgOiAxOwkgLyogYml0IDQ2ICovCisJdTMyIDogMTsKIAl1MzIgZXh0X21iIDogMTsgIC8qIGJpdCA0OCAqLwogCXUzMiA6IDc7CiAJdTMyIGFpZl90ZGQgOiAxOyAvKiBiaXQgNTYgKi8KQEAgLTUxLDcgKzUzLDExIEBACiAJdTMyIHFlYnNtIDogMTsgICAvKiBiaXQgNTggKi8KIAl1MzIgOiA4OwogCXUzMiBhaWZfb3NhIDogMTsgLyogYml0IDY3ICovCi0JdTMyIDogMjg7CisJdTMyIDogMTQ7CisJdTMyIGNpYiA6IDE7CSAvKiBiaXQgODIgKi8KKwl1MzIgOiA1OworCXUzMiBmY3ggOiAxOwkgLyogYml0IDg4ICovCisJdTMyIDogNzsKIH1fX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAogc3RydWN0IGNzc19jaHNjX2NoYXIgewpAQCAtNzgsNyArODQsNiBAQAogZXh0ZXJuIGludCBjaHNjX2dldF9zc2RfaW5mbyhzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCwKIAkJCSAgICAgc3RydWN0IGNoc2Nfc3NkX2luZm8gKnNzZCk7CiBleHRlcm4gaW50IGNoc2NfZGV0ZXJtaW5lX2Nzc19jaGFyYWN0ZXJpc3RpY3Modm9pZCk7Ci1leHRlcm4gaW50IGNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWw7CiBleHRlcm4gaW50IGNoc2NfYWxsb2Nfc2VpX2FyZWEodm9pZCk7CiBleHRlcm4gdm9pZCBjaHNjX2ZyZWVfc2VpX2FyZWEodm9pZCk7CiAKQEAgLTg3LDggKzkyLDExIEBACiBleHRlcm4gaW50IGNoc2Nfc2VjbShzdHJ1Y3QgY2hhbm5lbF9zdWJzeXN0ZW0gKiwgaW50KTsKIAogaW50IGNoc2NfY2hwX3Zhcnkoc3RydWN0IGNocF9pZCBjaHBpZCwgaW50IG9uKTsKLWludCBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzY3JpcHRpb24oc3RydWN0IGNocF9pZCBjaHBpZCwKLQkJCQkJICAgIHN0cnVjdCBjaGFubmVsX3BhdGhfZGVzYyAqZGVzYyk7CitpbnQgY2hzY19kZXRlcm1pbmVfY2hhbm5lbF9wYXRoX2Rlc2Moc3RydWN0IGNocF9pZCBjaHBpZCwgaW50IGZtdCwgaW50IHJmbXQsCisJCQkJICAgICBpbnQgYywgaW50IG0sCisJCQkJICAgICBzdHJ1Y3QgY2hzY19yZXNwb25zZV9zdHJ1Y3QgKnJlc3ApOworaW50IGNoc2NfZGV0ZXJtaW5lX2Jhc2VfY2hhbm5lbF9wYXRoX2Rlc2Moc3RydWN0IGNocF9pZCBjaHBpZCwKKwkJCQkJICBzdHJ1Y3QgY2hhbm5lbF9wYXRoX2Rlc2MgKmRlc2MpOwogdm9pZCBjaHNjX2NocF9vbmxpbmUoc3RydWN0IGNocF9pZCBjaHBpZCk7CiB2b2lkIGNoc2NfY2hwX29mZmxpbmUoc3RydWN0IGNocF9pZCBjaHBpZCk7CiBpbnQgY2hzY19nZXRfY2hhbm5lbF9tZWFzdXJlbWVudF9jaGFycyhzdHJ1Y3QgY2hhbm5lbF9wYXRoICpjaHApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9jaHNjX3NjaC5jIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjX3NjaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxY2E4N2EKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2Noc2Nfc2NoLmMKQEAgLTAsMCArMSw4MjAgQEAKKy8qCisgKiBEcml2ZXIgZm9yIHMzOTAgY2hzYyBzdWJjaGFubmVscworICoKKyAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogQXV0aG9yKHMpOiBDb3JuZWxpYSBIdWNrIDxjb3JuZWxpYS5odWNrQGRlLmlibS5jb20+CisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL2Npby5oPgorI2luY2x1ZGUgPGFzbS9jaHNjLmg+CisjaW5jbHVkZSA8YXNtL2lzYy5oPgorCisjaW5jbHVkZSAiY2lvLmgiCisjaW5jbHVkZSAiY2lvX2RlYnVnLmgiCisjaW5jbHVkZSAiY3NzLmgiCisjaW5jbHVkZSAiY2hzY19zY2guaCIKKyNpbmNsdWRlICJpb2FzbS5oIgorCitzdGF0aWMgZGVidWdfaW5mb190ICpjaHNjX2RlYnVnX21zZ19pZDsKK3N0YXRpYyBkZWJ1Z19pbmZvX3QgKmNoc2NfZGVidWdfbG9nX2lkOworCisjZGVmaW5lIENIU0NfTVNHKGltcCwgYXJncy4uLikgZG8gewkJCQkJXAorCQlkZWJ1Z19zcHJpbnRmX2V2ZW50KGNoc2NfZGVidWdfbXNnX2lkLCBpbXAgLCAjI2FyZ3MpOwlcCisJfSB3aGlsZSAoMCkKKworI2RlZmluZSBDSFNDX0xPRyhpbXAsIHR4dCkgZG8gewkJCQkJXAorCQlkZWJ1Z190ZXh0X2V2ZW50KGNoc2NfZGVidWdfbG9nX2lkLCBpbXAgLCB0eHQpOwlcCisJfSB3aGlsZSAoMCkKKworc3RhdGljIHZvaWQgQ0hTQ19MT0dfSEVYKGludCBsZXZlbCwgdm9pZCAqZGF0YSwgaW50IGxlbmd0aCkKK3sKKwl3aGlsZSAobGVuZ3RoID4gMCkgeworCQlkZWJ1Z19ldmVudChjaHNjX2RlYnVnX2xvZ19pZCwgbGV2ZWwsIGRhdGEsIGxlbmd0aCk7CisJCWxlbmd0aCAtPSBjaHNjX2RlYnVnX2xvZ19pZC0+YnVmX3NpemU7CisJCWRhdGEgKz0gY2hzY19kZWJ1Z19sb2dfaWQtPmJ1Zl9zaXplOworCX0KK30KKworTU9EVUxFX0FVVEhPUigiSUJNIENvcnBvcmF0aW9uIik7CitNT0RVTEVfREVTQ1JJUFRJT04oImRyaXZlciBmb3IgczM5MCBjaHNjIHN1YmNoYW5uZWxzIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CisKK3N0YXRpYyB2b2lkIGNoc2Nfc3ViY2hhbm5lbF9pcnEoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwlzdHJ1Y3QgY2hzY19wcml2YXRlICpwcml2YXRlID0gc2NoLT5wcml2YXRlOworCXN0cnVjdCBjaHNjX3JlcXVlc3QgKnJlcXVlc3QgPSBwcml2YXRlLT5yZXF1ZXN0OworCXN0cnVjdCBpcmIgKmlyYiA9IChzdHJ1Y3QgaXJiICopX19MQ19JUkI7CisKKwlDSFNDX0xPRyg0LCAiaXJiIik7CisJQ0hTQ19MT0dfSEVYKDQsIGlyYiwgc2l6ZW9mKCppcmIpKTsKKwkvKiBDb3B5IGlyYiB0byBwcm92aWRlZCByZXF1ZXN0IGFuZCBzZXQgZG9uZS4gKi8KKwlpZiAoIXJlcXVlc3QpIHsKKwkJQ0hTQ19NU0coMCwgIkludGVycnVwdCBvbiBzY2ggMC4leC4lMDR4IHdpdGggbm8gcmVxdWVzdFxuIiwKKwkJCSBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vKTsKKwkJcmV0dXJuOworCX0KKwlwcml2YXRlLT5yZXF1ZXN0ID0gTlVMTDsKKwltZW1jcHkoJnJlcXVlc3QtPmlyYiwgaXJiLCBzaXplb2YoKmlyYikpOworCXN0c2NoKHNjaC0+c2NoaWQsICZzY2gtPnNjaGliKTsKKwljb21wbGV0ZSgmcmVxdWVzdC0+Y29tcGxldGlvbik7CisJcHV0X2RldmljZSgmc2NoLT5kZXYpOworfQorCitzdGF0aWMgaW50IGNoc2Nfc3ViY2hhbm5lbF9wcm9iZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCXN0cnVjdCBjaHNjX3ByaXZhdGUgKnByaXZhdGU7CisJaW50IHJldDsKKworCUNIU0NfTVNHKDYsICJEZXRlY3RlZCBjaHNjIHN1YmNoYW5uZWwgMC4leC4lMDR4XG4iLAorCQkgc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGlkLnNjaF9ubyk7CisJc2NoLT5pc2MgPSBDSFNDX1NDSF9JU0M7CisJcHJpdmF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpwcml2YXRlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2YXRlKQorCQlyZXR1cm4gLUVOT01FTTsKKwlyZXQgPSBjaW9fZW5hYmxlX3N1YmNoYW5uZWwoc2NoLCAodTMyKSh1bnNpZ25lZCBsb25nKXNjaCk7CisJaWYgKHJldCkgeworCQlDSFNDX01TRygwLCAiRmFpbGVkIHRvIGVuYWJsZSAwLiV4LiUwNHg6ICVkXG4iLAorCQkJIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIHJldCk7CisJCWtmcmVlKHByaXZhdGUpOworCX0gZWxzZSB7CisJCXNjaC0+cHJpdmF0ZSA9IHByaXZhdGU7CisJCWlmIChzY2gtPmRldi51ZXZlbnRfc3VwcHJlc3MpIHsKKwkJCXNjaC0+ZGV2LnVldmVudF9zdXBwcmVzcyA9IDA7CisJCQlrb2JqZWN0X3VldmVudCgmc2NoLT5kZXYua29iaiwgS09CSl9BREQpOworCQl9CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19zdWJjaGFubmVsX3JlbW92ZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCXN0cnVjdCBjaHNjX3ByaXZhdGUgKnByaXZhdGU7CisKKwljaW9fZGlzYWJsZV9zdWJjaGFubmVsKHNjaCk7CisJcHJpdmF0ZSA9IHNjaC0+cHJpdmF0ZTsKKwlzY2gtPnByaXZhdGUgPSBOVUxMOworCWlmIChwcml2YXRlLT5yZXF1ZXN0KSB7CisJCWNvbXBsZXRlKCZwcml2YXRlLT5yZXF1ZXN0LT5jb21wbGV0aW9uKTsKKwkJcHV0X2RldmljZSgmc2NoLT5kZXYpOworCX0KKwlrZnJlZShwcml2YXRlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2hzY19zdWJjaGFubmVsX3NodXRkb3duKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzY2gpOworfQorCitzdGF0aWMgc3RydWN0IGNzc19kZXZpY2VfaWQgY2hzY19zdWJjaGFubmVsX2lkc1tdID0geworCXsgLm1hdGNoX2ZsYWdzID0gMHgxLCAudHlwZSA9U1VCQ0hBTk5FTF9UWVBFX0NIU0MsIH0sCisJeyAvKiBlbmQgb2YgbGlzdCAqLyB9LAorfTsKK01PRFVMRV9ERVZJQ0VfVEFCTEUoY3NzLCBjaHNjX3N1YmNoYW5uZWxfaWRzKTsKKworc3RhdGljIHN0cnVjdCBjc3NfZHJpdmVyIGNoc2Nfc3ViY2hhbm5lbF9kcml2ZXIgPSB7CisJLm93bmVyID0gVEhJU19NT0RVTEUsCisJLnN1YmNoYW5uZWxfdHlwZSA9IGNoc2Nfc3ViY2hhbm5lbF9pZHMsCisJLmlycSA9IGNoc2Nfc3ViY2hhbm5lbF9pcnEsCisJLnByb2JlID0gY2hzY19zdWJjaGFubmVsX3Byb2JlLAorCS5yZW1vdmUgPSBjaHNjX3N1YmNoYW5uZWxfcmVtb3ZlLAorCS5zaHV0ZG93biA9IGNoc2Nfc3ViY2hhbm5lbF9zaHV0ZG93biwKKwkubmFtZSA9ICJjaHNjX3N1YmNoYW5uZWwiLAorfTsKKworc3RhdGljIGludCBfX2luaXQgY2hzY19pbml0X2RiZnModm9pZCkKK3sKKwljaHNjX2RlYnVnX21zZ19pZCA9IGRlYnVnX3JlZ2lzdGVyKCJjaHNjX21zZyIsIDE2LCAxLAorCQkJCQkgICAxNiAqIHNpemVvZihsb25nKSk7CisJaWYgKCFjaHNjX2RlYnVnX21zZ19pZCkKKwkJZ290byBvdXQ7CisJZGVidWdfcmVnaXN0ZXJfdmlldyhjaHNjX2RlYnVnX21zZ19pZCwgJmRlYnVnX3NwcmludGZfdmlldyk7CisJZGVidWdfc2V0X2xldmVsKGNoc2NfZGVidWdfbXNnX2lkLCAyKTsKKwljaHNjX2RlYnVnX2xvZ19pZCA9IGRlYnVnX3JlZ2lzdGVyKCJjaHNjX2xvZyIsIDE2LCAxLCAxNik7CisJaWYgKCFjaHNjX2RlYnVnX2xvZ19pZCkKKwkJZ290byBvdXQ7CisJZGVidWdfcmVnaXN0ZXJfdmlldyhjaHNjX2RlYnVnX2xvZ19pZCwgJmRlYnVnX2hleF9hc2NpaV92aWV3KTsKKwlkZWJ1Z19zZXRfbGV2ZWwoY2hzY19kZWJ1Z19sb2dfaWQsIDIpOworCXJldHVybiAwOworb3V0OgorCWlmIChjaHNjX2RlYnVnX21zZ19pZCkKKwkJZGVidWdfdW5yZWdpc3RlcihjaHNjX2RlYnVnX21zZ19pZCk7CisJcmV0dXJuIC1FTk9NRU07Cit9CisKK3N0YXRpYyB2b2lkIGNoc2NfcmVtb3ZlX2RiZnModm9pZCkKK3sKKwlkZWJ1Z191bnJlZ2lzdGVyKGNoc2NfZGVidWdfbG9nX2lkKTsKKwlkZWJ1Z191bnJlZ2lzdGVyKGNoc2NfZGVidWdfbXNnX2lkKTsKK30KKworc3RhdGljIGludCBfX2luaXQgY2hzY19pbml0X3NjaF9kcml2ZXIodm9pZCkKK3sKKwlyZXR1cm4gY3NzX2RyaXZlcl9yZWdpc3RlcigmY2hzY19zdWJjaGFubmVsX2RyaXZlcik7Cit9CisKK3N0YXRpYyB2b2lkIGNoc2NfY2xlYW51cF9zY2hfZHJpdmVyKHZvaWQpCit7CisJY3NzX2RyaXZlcl91bnJlZ2lzdGVyKCZjaHNjX3N1YmNoYW5uZWxfZHJpdmVyKTsKK30KKworc3RhdGljIERFRklORV9TUElOTE9DSyhjaHNjX2xvY2spOworCitzdGF0aWMgaW50IGNoc2Nfc3ViY2hhbm5lbF9tYXRjaF9uZXh0X2ZyZWUoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBzdWJjaGFubmVsICpzY2ggPSB0b19zdWJjaGFubmVsKGRldik7CisKKwlyZXR1cm4gc2NoLT5zY2hpYi5wbWN3LmVuYSAmJiAhc2Nzd19mY3RsKCZzY2gtPnNjaGliLnNjc3cpOworfQorCitzdGF0aWMgc3RydWN0IHN1YmNoYW5uZWwgKmNoc2NfZ2V0X25leHRfc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCXN0cnVjdCBkZXZpY2UgKmRldjsKKworCWRldiA9IGRyaXZlcl9maW5kX2RldmljZSgmY2hzY19zdWJjaGFubmVsX2RyaXZlci5kcnYsCisJCQkJIHNjaCA/ICZzY2gtPmRldiA6IE5VTEwsIE5VTEwsCisJCQkJIGNoc2Nfc3ViY2hhbm5lbF9tYXRjaF9uZXh0X2ZyZWUpOworCXJldHVybiBkZXYgPyB0b19zdWJjaGFubmVsKGRldikgOiBOVUxMOworfQorCisvKioKKyAqIGNoc2NfYXN5bmMoKSAtIHRyeSB0byBzdGFydCBhIGNoc2MgcmVxdWVzdCBhc3luY2hyb25vdXNseQorICogQGNoc2NfYXJlYTogcmVxdWVzdCB0byBiZSBzdGFydGVkCisgKiBAcmVxdWVzdDogcmVxdWVzdCBzdHJ1Y3R1cmUgdG8gYXNzb2NpYXRlCisgKgorICogVHJpZXMgdG8gc3RhcnQgYSBjaHNjIHJlcXVlc3Qgb24gb25lIG9mIHRoZSBleGlzdGluZyBjaHNjIHN1YmNoYW5uZWxzLgorICogUmV0dXJuczoKKyAqICAlMCBpZiB0aGUgcmVxdWVzdCB3YXMgcGVyZm9ybWVkIHN5bmNocm9ub3VzbHkKKyAqICAlLUVJTlBST0dSRVNTIGlmIHRoZSByZXF1ZXN0IHdhcyBzdWNjZXNzZnVsbHkgc3RhcnRlZAorICogICUtRUJVU1kgaWYgYWxsIGNoc2Mgc3ViY2hhbm5lbHMgYXJlIGJ1c3kKKyAqICAlLUVOT0RFViBpZiBubyBjaHNjIHN1YmNoYW5uZWxzIGFyZSBhdmFpbGFibGUKKyAqIENvbnRleHQ6CisgKiAgaW50ZXJydXB0cyBkaXNhYmxlZCwgY2hzY19sb2NrIGhlbGQKKyAqLworc3RhdGljIGludCBjaHNjX2FzeW5jKHN0cnVjdCBjaHNjX2FzeW5jX2FyZWEgKmNoc2NfYXJlYSwKKwkJICAgICAgc3RydWN0IGNoc2NfcmVxdWVzdCAqcmVxdWVzdCkKK3sKKwlpbnQgY2M7CisJc3RydWN0IGNoc2NfcHJpdmF0ZSAqcHJpdmF0ZTsKKwlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoID0gTlVMTDsKKwlpbnQgcmV0ID0gLUVOT0RFVjsKKwljaGFyIGRiZlsxMF07CisKKwljaHNjX2FyZWEtPmhlYWRlci5rZXkgPSBQQUdFX0RFRkFVTFRfS0VZOworCXdoaWxlICgoc2NoID0gY2hzY19nZXRfbmV4dF9zdWJjaGFubmVsKHNjaCkpKSB7CisJCXNwaW5fbG9jayhzY2gtPmxvY2spOworCQlwcml2YXRlID0gc2NoLT5wcml2YXRlOworCQlpZiAocHJpdmF0ZS0+cmVxdWVzdCkgeworCQkJc3Bpbl91bmxvY2soc2NoLT5sb2NrKTsKKwkJCXJldCA9IC1FQlVTWTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWNoc2NfYXJlYS0+aGVhZGVyLnNpZCA9IHNjaC0+c2NoaWQ7CisJCUNIU0NfTE9HKDIsICJzY2hpZCIpOworCQlDSFNDX0xPR19IRVgoMiwgJnNjaC0+c2NoaWQsIHNpemVvZihzY2gtPnNjaGlkKSk7CisJCWNjID0gY2hzYyhjaHNjX2FyZWEpOworCQlzcHJpbnRmKGRiZiwgImNjOiVkIiwgY2MpOworCQlDSFNDX0xPRygyLCBkYmYpOworCQlzd2l0Y2ggKGNjKSB7CisJCWNhc2UgMDoKKwkJCXJldCA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAxOgorCQkJc2NoLT5zY2hpYi5zY3N3LmNtZC5mY3RsIHw9IFNDU1dfRkNUTF9TVEFSVF9GVU5DOworCQkJcmV0ID0gLUVJTlBST0dSRVNTOworCQkJcHJpdmF0ZS0+cmVxdWVzdCA9IHJlcXVlc3Q7CisJCQlicmVhazsKKwkJY2FzZSAyOgorCQkJcmV0ID0gLUVCVVNZOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyZXQgPSAtRU5PREVWOworCQl9CisJCXNwaW5fdW5sb2NrKHNjaC0+bG9jayk7CisJCUNIU0NfTVNHKDIsICJjaHNjIG9uIDAuJXguJTA0eCByZXR1cm5lZCBjYz0lZFxuIiwKKwkJCSBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCBjYyk7CisJCWlmIChyZXQgPT0gLUVJTlBST0dSRVNTKQorCQkJcmV0dXJuIC1FSU5QUk9HUkVTUzsKKwkJcHV0X2RldmljZSgmc2NoLT5kZXYpOworCQlpZiAocmV0ID09IDApCisJCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgY2hzY19sb2dfY29tbWFuZChzdHJ1Y3QgY2hzY19hc3luY19hcmVhICpjaHNjX2FyZWEpCit7CisJY2hhciBkYmZbMTBdOworCisJc3ByaW50ZihkYmYsICJDSFNDOiV4IiwgY2hzY19hcmVhLT5oZWFkZXIuY29kZSk7CisJQ0hTQ19MT0coMCwgZGJmKTsKKwlDSFNDX0xPR19IRVgoMCwgY2hzY19hcmVhLCAzMik7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19leGFtaW5lX2lyYihzdHJ1Y3QgY2hzY19yZXF1ZXN0ICpyZXF1ZXN0KQoreworCWludCBiYWNrZWRfdXA7CisKKwlpZiAoIXNjc3dfc3RjdGwoJnJlcXVlc3QtPmlyYi5zY3N3KSAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpCisJCXJldHVybiAtRUlPOworCWJhY2tlZF91cCA9IHNjc3dfY3N0YXQoJnJlcXVlc3QtPmlyYi5zY3N3KSAmIFNDSE5fU1RBVF9DSEFJTl9DSEVDSzsKKwlyZXF1ZXN0LT5pcmIuc2Nzdy5jbWQuY3N0YXQgJj0gflNDSE5fU1RBVF9DSEFJTl9DSEVDSzsKKwlpZiAoc2Nzd19jc3RhdCgmcmVxdWVzdC0+aXJiLnNjc3cpID09IDApCisJCXJldHVybiAwOworCWlmICghYmFja2VkX3VwKQorCQlyZXR1cm4gMDsKKwlpZiAoc2Nzd19jc3RhdCgmcmVxdWVzdC0+aXJiLnNjc3cpICYgU0NITl9TVEFUX1BST0dfQ0hFQ0spCisJCXJldHVybiAtRUlPOworCWlmIChzY3N3X2NzdGF0KCZyZXF1ZXN0LT5pcmIuc2NzdykgJiBTQ0hOX1NUQVRfUFJPVF9DSEVDSykKKwkJcmV0dXJuIC1FUEVSTTsKKwlpZiAoc2Nzd19jc3RhdCgmcmVxdWVzdC0+aXJiLnNjc3cpICYgU0NITl9TVEFUX0NITl9EQVRBX0NISykKKwkJcmV0dXJuIC1FQUdBSU47CisJaWYgKHNjc3dfY3N0YXQoJnJlcXVlc3QtPmlyYi5zY3N3KSAmIFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEspCisJCXJldHVybiAtRUFHQUlOOworCXJldHVybiAtRUlPOworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfc3RhcnQodm9pZCBfX3VzZXIgKnVzZXJfYXJlYSkKK3sKKwlzdHJ1Y3QgY2hzY19yZXF1ZXN0ICpyZXF1ZXN0OworCXN0cnVjdCBjaHNjX2FzeW5jX2FyZWEgKmNoc2NfYXJlYTsKKwlpbnQgcmV0OworCWNoYXIgZGJmWzEwXTsKKworCWlmICghY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmR5bmlvKQorCQkvKiBJdCBtYWtlcyBubyBzZW5zZSB0byB0cnkuICovCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwljaHNjX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfRE1BIHwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjaHNjX2FyZWEpCisJCXJldHVybiAtRU5PTUVNOworCXJlcXVlc3QgPSBremFsbG9jKHNpemVvZigqcmVxdWVzdCksIEdGUF9LRVJORUwpOworCWlmICghcmVxdWVzdCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpbml0X2NvbXBsZXRpb24oJnJlcXVlc3QtPmNvbXBsZXRpb24pOworCWlmIChjb3B5X2Zyb21fdXNlcihjaHNjX2FyZWEsIHVzZXJfYXJlYSwgUEFHRV9TSVpFKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwljaHNjX2xvZ19jb21tYW5kKGNoc2NfYXJlYSk7CisJc3Bpbl9sb2NrX2lycSgmY2hzY19sb2NrKTsKKwlyZXQgPSBjaHNjX2FzeW5jKGNoc2NfYXJlYSwgcmVxdWVzdCk7CisJc3Bpbl91bmxvY2tfaXJxKCZjaHNjX2xvY2spOworCWlmIChyZXQgPT0gLUVJTlBST0dSRVNTKSB7CisJCXdhaXRfZm9yX2NvbXBsZXRpb24oJnJlcXVlc3QtPmNvbXBsZXRpb24pOworCQlyZXQgPSBjaHNjX2V4YW1pbmVfaXJiKHJlcXVlc3QpOworCX0KKwkvKiBjb3B5IGFyZWEgYmFjayB0byB1c2VyICovCisJaWYgKCFyZXQpCisJCWlmIChjb3B5X3RvX3VzZXIodXNlcl9hcmVhLCBjaHNjX2FyZWEsIFBBR0VfU0laRSkpCisJCQlyZXQgPSAtRUZBVUxUOworb3V0X2ZyZWU6CisJc3ByaW50ZihkYmYsICJyZXQ6JWQiLCByZXQpOworCUNIU0NfTE9HKDAsIGRiZik7CisJa2ZyZWUocmVxdWVzdCk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKWNoc2NfYXJlYSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX2lvY3RsX2luZm9fY2hhbm5lbF9wYXRoKHZvaWQgX191c2VyICp1c2VyX2NkKQoreworCXN0cnVjdCBjaHNjX2NocF9jZCAqY2Q7CisJaW50IHJldCwgY2NvZGU7CisJc3RydWN0IHsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlcXVlc3Q7CisJCXUzMiA6IDI7CisJCXUzMiBtIDogMTsKKwkJdTMyIDogMTsKKwkJdTMyIGZtdDEgOiA0OworCQl1MzIgY3NzaWQgOiA4OworCQl1MzIgOiA4OworCQl1MzIgZmlyc3RfY2hwaWQgOiA4OworCQl1MzIgOiAyNDsKKwkJdTMyIGxhc3RfY2hwaWQgOiA4OworCQl1MzIgOiAzMjsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlc3BvbnNlOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDIwXTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc2NwY2RfYXJlYTsKKworCXNjcGNkX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY3BjZF9hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKwljZCA9IGt6YWxsb2Moc2l6ZW9mKCpjZCksIEdGUF9LRVJORUwpOworCWlmICghY2QpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKGNvcHlfZnJvbV91c2VyKGNkLCB1c2VyX2NkLCBzaXplb2YoKmNkKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJc2NwY2RfYXJlYS0+cmVxdWVzdC5sZW5ndGggPSAweDAwMTA7CisJc2NwY2RfYXJlYS0+cmVxdWVzdC5jb2RlID0gMHgwMDI4OworCXNjcGNkX2FyZWEtPm0gPSBjZC0+bTsKKwlzY3BjZF9hcmVhLT5mbXQxID0gY2QtPmZtdDsKKwlzY3BjZF9hcmVhLT5jc3NpZCA9IGNkLT5jaHBpZC5jc3NpZDsKKwlzY3BjZF9hcmVhLT5maXJzdF9jaHBpZCA9IGNkLT5jaHBpZC5pZDsKKwlzY3BjZF9hcmVhLT5sYXN0X2NocGlkID0gY2QtPmNocGlkLmlkOworCisJY2NvZGUgPSBjaHNjKHNjcGNkX2FyZWEpOworCWlmIChjY29kZSAhPSAwKSB7CisJCXJldCA9IC1FSU87CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChzY3BjZF9hcmVhLT5yZXNwb25zZS5jb2RlICE9IDB4MDAwMSkgeworCQlyZXQgPSAtRUlPOworCQlDSFNDX01TRygwLCAic2NwY2Q6IHJlc3BvbnNlIGNvZGU9JXhcbiIsCisJCQkgc2NwY2RfYXJlYS0+cmVzcG9uc2UuY29kZSk7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCW1lbWNweSgmY2QtPmNwY2IsICZzY3BjZF9hcmVhLT5yZXNwb25zZSwgc2NwY2RfYXJlYS0+cmVzcG9uc2UubGVuZ3RoKTsKKwlpZiAoY29weV90b191c2VyKHVzZXJfY2QsIGNkLCBzaXplb2YoKmNkKSkpCisJCXJldCA9IC1FRkFVTFQ7CisJZWxzZQorCQlyZXQgPSAwOworb3V0X2ZyZWU6CisJa2ZyZWUoY2QpOworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzY3BjZF9hcmVhKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfaW5mb19jdSh2b2lkIF9fdXNlciAqdXNlcl9jZCkKK3sKKwlzdHJ1Y3QgY2hzY19jdV9jZCAqY2Q7CisJaW50IHJldCwgY2NvZGU7CisJc3RydWN0IHsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlcXVlc3Q7CisJCXUzMiA6IDI7CisJCXUzMiBtIDogMTsKKwkJdTMyIDogMTsKKwkJdTMyIGZtdDEgOiA0OworCQl1MzIgY3NzaWQgOiA4OworCQl1MzIgOiA4OworCQl1MzIgZmlyc3RfY3VuIDogODsKKwkJdTMyIDogMjQ7CisJCXUzMiBsYXN0X2N1biA6IDg7CisJCXUzMiA6IDMyOworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7CisJCXU4IGRhdGFbUEFHRV9TSVpFIC0gMjBdOworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpzY3VjZF9hcmVhOworCisJc2N1Y2RfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNjdWNkX2FyZWEpCisJCXJldHVybiAtRU5PTUVNOworCWNkID0ga3phbGxvYyhzaXplb2YoKmNkKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjZCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoY29weV9mcm9tX3VzZXIoY2QsIHVzZXJfY2QsIHNpemVvZigqY2QpKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlzY3VjZF9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAxMDsKKwlzY3VjZF9hcmVhLT5yZXF1ZXN0LmNvZGUgPSAweDAwMjg7CisJc2N1Y2RfYXJlYS0+bSA9IGNkLT5tOworCXNjdWNkX2FyZWEtPmZtdDEgPSBjZC0+Zm10OworCXNjdWNkX2FyZWEtPmNzc2lkID0gY2QtPmNzc2lkOworCXNjdWNkX2FyZWEtPmZpcnN0X2N1biA9IGNkLT5jdW47CisJc2N1Y2RfYXJlYS0+bGFzdF9jdW4gPSBjZC0+Y3VuOworCisJY2NvZGUgPSBjaHNjKHNjdWNkX2FyZWEpOworCWlmIChjY29kZSAhPSAwKSB7CisJCXJldCA9IC1FSU87CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChzY3VjZF9hcmVhLT5yZXNwb25zZS5jb2RlICE9IDB4MDAwMSkgeworCQlyZXQgPSAtRUlPOworCQlDSFNDX01TRygwLCAic2N1Y2Q6IHJlc3BvbnNlIGNvZGU9JXhcbiIsCisJCQkgc2N1Y2RfYXJlYS0+cmVzcG9uc2UuY29kZSk7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCW1lbWNweSgmY2QtPmN1Y2IsICZzY3VjZF9hcmVhLT5yZXNwb25zZSwgc2N1Y2RfYXJlYS0+cmVzcG9uc2UubGVuZ3RoKTsKKwlpZiAoY29weV90b191c2VyKHVzZXJfY2QsIGNkLCBzaXplb2YoKmNkKSkpCisJCXJldCA9IC1FRkFVTFQ7CisJZWxzZQorCQlyZXQgPSAwOworb3V0X2ZyZWU6CisJa2ZyZWUoY2QpOworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzY3VjZF9hcmVhKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfaW5mb19zY2hfY3Uodm9pZCBfX3VzZXIgKnVzZXJfY3VkKQoreworCXN0cnVjdCBjaHNjX3NjaF9jdWQgKmN1ZDsKKwlpbnQgcmV0LCBjY29kZTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdTMyIDogMjsKKwkJdTMyIG0gOiAxOworCQl1MzIgOiA1OworCQl1MzIgZm10MSA6IDQ7CisJCXUzMiA6IDI7CisJCXUzMiBzc2lkIDogMjsKKwkJdTMyIGZpcnN0X3NjaCA6IDE2OworCQl1MzIgOiA4OworCQl1MzIgY3NzaWQgOiA4OworCQl1MzIgbGFzdF9zY2ggOiAxNjsKKwkJdTMyIDogMzI7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJdTggZGF0YVtQQUdFX1NJWkUgLSAyMF07CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKnNzY3VkX2FyZWE7CisKKwlzc2N1ZF9hcmVhID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOworCWlmICghc3NjdWRfYXJlYSkKKwkJcmV0dXJuIC1FTk9NRU07CisJY3VkID0ga3phbGxvYyhzaXplb2YoKmN1ZCksIEdGUF9LRVJORUwpOworCWlmICghY3VkKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChjb3B5X2Zyb21fdXNlcihjdWQsIHVzZXJfY3VkLCBzaXplb2YoKmN1ZCkpKSB7CisJCXJldCA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCXNzY3VkX2FyZWEtPnJlcXVlc3QubGVuZ3RoID0gMHgwMDEwOworCXNzY3VkX2FyZWEtPnJlcXVlc3QuY29kZSA9IDB4MDAwNjsKKwlzc2N1ZF9hcmVhLT5tID0gY3VkLT5zY2hpZC5tOworCXNzY3VkX2FyZWEtPmZtdDEgPSBjdWQtPmZtdDsKKwlzc2N1ZF9hcmVhLT5zc2lkID0gY3VkLT5zY2hpZC5zc2lkOworCXNzY3VkX2FyZWEtPmZpcnN0X3NjaCA9IGN1ZC0+c2NoaWQuc2NoX25vOworCXNzY3VkX2FyZWEtPmNzc2lkID0gY3VkLT5zY2hpZC5jc3NpZDsKKwlzc2N1ZF9hcmVhLT5sYXN0X3NjaCA9IGN1ZC0+c2NoaWQuc2NoX25vOworCisJY2NvZGUgPSBjaHNjKHNzY3VkX2FyZWEpOworCWlmIChjY29kZSAhPSAwKSB7CisJCXJldCA9IC1FSU87CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChzc2N1ZF9hcmVhLT5yZXNwb25zZS5jb2RlICE9IDB4MDAwMSkgeworCQlyZXQgPSAtRUlPOworCQlDSFNDX01TRygwLCAic3NjdWQ6IHJlc3BvbnNlIGNvZGU9JXhcbiIsCisJCQkgc3NjdWRfYXJlYS0+cmVzcG9uc2UuY29kZSk7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCW1lbWNweSgmY3VkLT5zY3ViLCAmc3NjdWRfYXJlYS0+cmVzcG9uc2UsIHNzY3VkX2FyZWEtPnJlc3BvbnNlLmxlbmd0aCk7CisJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2N1ZCwgY3VkLCBzaXplb2YoKmN1ZCkpKQorCQlyZXQgPSAtRUZBVUxUOworCWVsc2UKKwkJcmV0ID0gMDsKK291dF9mcmVlOgorCWtmcmVlKGN1ZCk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNzY3VkX2FyZWEpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19pb2N0bF9jb25mX2luZm8odm9pZCBfX3VzZXIgKnVzZXJfY2kpCit7CisJc3RydWN0IGNoc2NfY29uZl9pbmZvICpjaTsKKwlpbnQgcmV0LCBjY29kZTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdTMyIDogMjsKKwkJdTMyIG0gOiAxOworCQl1MzIgOiAxOworCQl1MzIgZm10MSA6IDQ7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiA6IDY7CisJCXUzMiBzc2lkIDogMjsKKwkJdTMyIDogODsKKwkJdTY0IDogNjQ7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJdTggZGF0YVtQQUdFX1NJWkUgLSAyMF07CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKnNjaV9hcmVhOworCisJc2NpX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY2lfYXJlYSkKKwkJcmV0dXJuIC1FTk9NRU07CisJY2kgPSBremFsbG9jKHNpemVvZigqY2kpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNpKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChjb3B5X2Zyb21fdXNlcihjaSwgdXNlcl9jaSwgc2l6ZW9mKCpjaSkpKSB7CisJCXJldCA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCXNjaV9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAxMDsKKwlzY2lfYXJlYS0+cmVxdWVzdC5jb2RlID0gMHgwMDEyOworCXNjaV9hcmVhLT5tID0gY2ktPmlkLm07CisJc2NpX2FyZWEtPmZtdDEgPSBjaS0+Zm10OworCXNjaV9hcmVhLT5jc3NpZCA9IGNpLT5pZC5jc3NpZDsKKwlzY2lfYXJlYS0+c3NpZCA9IGNpLT5pZC5zc2lkOworCisJY2NvZGUgPSBjaHNjKHNjaV9hcmVhKTsKKwlpZiAoY2NvZGUgIT0gMCkgeworCQlyZXQgPSAtRUlPOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoc2NpX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzY2k6IHJlc3BvbnNlIGNvZGU9JXhcbiIsCisJCQkgc2NpX2FyZWEtPnJlc3BvbnNlLmNvZGUpOworCQlnb3RvIG91dF9mcmVlOworCX0KKwltZW1jcHkoJmNpLT5zY2lkLCAmc2NpX2FyZWEtPnJlc3BvbnNlLCBzY2lfYXJlYS0+cmVzcG9uc2UubGVuZ3RoKTsKKwlpZiAoY29weV90b191c2VyKHVzZXJfY2ksIGNpLCBzaXplb2YoKmNpKSkpCisJCXJldCA9IC1FRkFVTFQ7CisJZWxzZQorCQlyZXQgPSAwOworb3V0X2ZyZWU6CisJa2ZyZWUoY2kpOworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzY2lfYXJlYSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX2lvY3RsX2NvbmZfY29tcF9saXN0KHZvaWQgX191c2VyICp1c2VyX2NjbCkKK3sKKwlzdHJ1Y3QgY2hzY19jb21wX2xpc3QgKmNjbDsKKwlpbnQgcmV0LCBjY29kZTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdTMyIGN0eXBlIDogODsKKwkJdTMyIDogNDsKKwkJdTMyIGZtdCA6IDQ7CisJCXUzMiA6IDE2OworCQl1NjQgOiA2NDsKKwkJdTMyIGxpc3RfcGFybVsyXTsKKwkJdTY0IDogNjQ7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJdTggZGF0YVtQQUdFX1NJWkUgLSAzNl07CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKnNjY2xfYXJlYTsKKwlzdHJ1Y3QgeworCQl1MzIgbSA6IDE7CisJCXUzMiA6IDMxOworCQl1MzIgY3NzaWQgOiA4OworCQl1MzIgOiAxNjsKKwkJdTMyIGNocGlkIDogODsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqY2hwaWRfcGFybTsKKwlzdHJ1Y3QgeworCQl1MzIgZl9jc3NpZCA6IDg7CisJCXUzMiBsX2Nzc2lkIDogODsKKwkJdTMyIDogMTY7CisJCXUzMiByZXM7CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKmNzc2lkc19wYXJtOworCisJc2NjbF9hcmVhID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOworCWlmICghc2NjbF9hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKwljY2wgPSBremFsbG9jKHNpemVvZigqY2NsKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjY2wpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKGNvcHlfZnJvbV91c2VyKGNjbCwgdXNlcl9jY2wsIHNpemVvZigqY2NsKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJc2NjbF9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAyMDsKKwlzY2NsX2FyZWEtPnJlcXVlc3QuY29kZSA9IDB4MDAzMDsKKwlzY2NsX2FyZWEtPmZtdCA9IGNjbC0+cmVxLmZtdDsKKwlzY2NsX2FyZWEtPmN0eXBlID0gY2NsLT5yZXEuY3R5cGU7CisJc3dpdGNoIChzY2NsX2FyZWEtPmN0eXBlKSB7CisJY2FzZSBDQ0xfQ1VfT05fQ0hQOgorCWNhc2UgQ0NMX0lPUF9DSFA6CisJCWNocGlkX3Bhcm0gPSAodm9pZCAqKSZzY2NsX2FyZWEtPmxpc3RfcGFybTsKKwkJY2hwaWRfcGFybS0+bSA9IGNjbC0+cmVxLmNocGlkLm07CisJCWNocGlkX3Bhcm0tPmNzc2lkID0gY2NsLT5yZXEuY2hwaWQuY2hwLmNzc2lkOworCQljaHBpZF9wYXJtLT5jaHBpZCA9IGNjbC0+cmVxLmNocGlkLmNocC5pZDsKKwkJYnJlYWs7CisJY2FzZSBDQ0xfQ1NTX0lNRzoKKwljYXNlIENDTF9DU1NfSU1HX0NPTkZfQ0hBUjoKKwkJY3NzaWRzX3Bhcm0gPSAodm9pZCAqKSZzY2NsX2FyZWEtPmxpc3RfcGFybTsKKwkJY3NzaWRzX3Bhcm0tPmZfY3NzaWQgPSBjY2wtPnJlcS5jc3NpZHMuZl9jc3NpZDsKKwkJY3NzaWRzX3Bhcm0tPmxfY3NzaWQgPSBjY2wtPnJlcS5jc3NpZHMubF9jc3NpZDsKKwkJYnJlYWs7CisJfQorCWNjb2RlID0gY2hzYyhzY2NsX2FyZWEpOworCWlmIChjY29kZSAhPSAwKSB7CisJCXJldCA9IC1FSU87CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChzY2NsX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzY2NsOiByZXNwb25zZSBjb2RlPSV4XG4iLAorCQkJIHNjY2xfYXJlYS0+cmVzcG9uc2UuY29kZSk7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCW1lbWNweSgmY2NsLT5zY2NsLCAmc2NjbF9hcmVhLT5yZXNwb25zZSwgc2NjbF9hcmVhLT5yZXNwb25zZS5sZW5ndGgpOworCWlmIChjb3B5X3RvX3VzZXIodXNlcl9jY2wsIGNjbCwgc2l6ZW9mKCpjY2wpKSkKKwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CitvdXRfZnJlZToKKwlrZnJlZShjY2wpOworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzY2NsX2FyZWEpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19pb2N0bF9jaHBkKHZvaWQgX191c2VyICp1c2VyX2NocGQpCit7CisJc3RydWN0IGNoc2NfY3BkX2luZm8gKmNocGQ7CisJaW50IHJldDsKKworCWNocGQgPSBremFsbG9jKHNpemVvZigqY2hwZCksIEdGUF9LRVJORUwpOworCWlmICghY2hwZCkKKwkJcmV0dXJuIC1FTk9NRU07CisJaWYgKGNvcHlfZnJvbV91c2VyKGNocGQsIHVzZXJfY2hwZCwgc2l6ZW9mKCpjaHBkKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJcmV0ID0gY2hzY19kZXRlcm1pbmVfY2hhbm5lbF9wYXRoX2Rlc2MoY2hwZC0+Y2hwaWQsIGNocGQtPmZtdCwKKwkJCQkJICAgICAgIGNocGQtPnJmbXQsIGNocGQtPmMsIGNocGQtPm0sCisJCQkJCSAgICAgICAmY2hwZC0+Y2hwZGIpOworCWlmIChyZXQpCisJCWdvdG8gb3V0X2ZyZWU7CisJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2NocGQsIGNocGQsIHNpemVvZigqY2hwZCkpKQorCQlyZXQgPSAtRUZBVUxUOworb3V0X2ZyZWU6CisJa2ZyZWUoY2hwZCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX2lvY3RsX2RjYWwodm9pZCBfX3VzZXIgKnVzZXJfZGNhbCkKK3sKKwlzdHJ1Y3QgY2hzY19kY2FsICpkY2FsOworCWludCByZXQsIGNjb2RlOworCXN0cnVjdCB7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OworCQl1MzIgYXR5cGUgOiA4OworCQl1MzIgOiA0OworCQl1MzIgZm10IDogNDsKKwkJdTMyIDogMTY7CisJCXUzMiByZXMwWzJdOworCQl1MzIgbGlzdF9wYXJtWzJdOworCQl1MzIgcmVzMVsyXTsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlc3BvbnNlOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDM2XTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc2RjYWxfYXJlYTsKKworCXNkY2FsX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzZGNhbF9hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKwlkY2FsID0ga3phbGxvYyhzaXplb2YoKmRjYWwpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWRjYWwpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKGNvcHlfZnJvbV91c2VyKGRjYWwsIHVzZXJfZGNhbCwgc2l6ZW9mKCpkY2FsKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJc2RjYWxfYXJlYS0+cmVxdWVzdC5sZW5ndGggPSAweDAwMjA7CisJc2RjYWxfYXJlYS0+cmVxdWVzdC5jb2RlID0gMHgwMDM0OworCXNkY2FsX2FyZWEtPmF0eXBlID0gZGNhbC0+cmVxLmF0eXBlOworCXNkY2FsX2FyZWEtPmZtdCA9IGRjYWwtPnJlcS5mbXQ7CisJbWVtY3B5KCZzZGNhbF9hcmVhLT5saXN0X3Bhcm0sICZkY2FsLT5yZXEubGlzdF9wYXJtLAorCSAgICAgICBzaXplb2Yoc2RjYWxfYXJlYS0+bGlzdF9wYXJtKSk7CisKKwljY29kZSA9IGNoc2Moc2RjYWxfYXJlYSk7CisJaWYgKGNjb2RlICE9IDApIHsKKwkJcmV0ID0gLUVJTzsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKHNkY2FsX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzZGNhbDogcmVzcG9uc2UgY29kZT0leFxuIiwKKwkJCSBzZGNhbF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJbWVtY3B5KCZkY2FsLT5zZGNhbCwgJnNkY2FsX2FyZWEtPnJlc3BvbnNlLAorCSAgICAgICBzZGNhbF9hcmVhLT5yZXNwb25zZS5sZW5ndGgpOworCWlmIChjb3B5X3RvX3VzZXIodXNlcl9kY2FsLCBkY2FsLCBzaXplb2YoKmRjYWwpKSkKKwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CitvdXRfZnJlZToKKwlrZnJlZShkY2FsKTsKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpc2RjYWxfYXJlYSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGxvbmcgY2hzY19pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50IGNtZCwKKwkJICAgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQoreworCUNIU0NfTVNHKDIsICJjaHNjX2lvY3RsIGNhbGxlZCwgY21kPSV4XG4iLCBjbWQpOworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBDSFNDX1NUQVJUOgorCQlyZXR1cm4gY2hzY19pb2N0bF9zdGFydCgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX0NIQU5ORUxfUEFUSDoKKwkJcmV0dXJuIGNoc2NfaW9jdGxfaW5mb19jaGFubmVsX3BhdGgoKHZvaWQgX191c2VyICopYXJnKTsKKwljYXNlIENIU0NfSU5GT19DVToKKwkJcmV0dXJuIGNoc2NfaW9jdGxfaW5mb19jdSgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX1NDSF9DVToKKwkJcmV0dXJuIGNoc2NfaW9jdGxfaW5mb19zY2hfY3UoKHZvaWQgX191c2VyICopYXJnKTsKKwljYXNlIENIU0NfSU5GT19DSToKKwkJcmV0dXJuIGNoc2NfaW9jdGxfY29uZl9pbmZvKCh2b2lkIF9fdXNlciAqKWFyZyk7CisJY2FzZSBDSFNDX0lORk9fQ0NMOgorCQlyZXR1cm4gY2hzY19pb2N0bF9jb25mX2NvbXBfbGlzdCgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX0NQRDoKKwkJcmV0dXJuIGNoc2NfaW9jdGxfY2hwZCgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX0RDQUw6CisJCXJldHVybiBjaHNjX2lvY3RsX2RjYWwoKHZvaWQgX191c2VyICopYXJnKTsKKwlkZWZhdWx0OiAvKiB1bmtub3duIGlvY3RsIG51bWJlciAqLworCQlyZXR1cm4gLUVOT0lPQ1RMQ01EOworCX0KK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgY2hzY19mb3BzID0geworCS5vd25lciA9IFRISVNfTU9EVUxFLAorCS51bmxvY2tlZF9pb2N0bCA9IGNoc2NfaW9jdGwsCisJLmNvbXBhdF9pb2N0bCA9IGNoc2NfaW9jdGwsCit9OworCitzdGF0aWMgc3RydWN0IG1pc2NkZXZpY2UgY2hzY19taXNjX2RldmljZSA9IHsKKwkubWlub3IgPSBNSVNDX0RZTkFNSUNfTUlOT1IsCisJLm5hbWUgPSAiY2hzYyIsCisJLmZvcHMgPSAmY2hzY19mb3BzLAorfTsKKworc3RhdGljIGludCBfX2luaXQgY2hzY19taXNjX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gbWlzY19yZWdpc3RlcigmY2hzY19taXNjX2RldmljZSk7Cit9CisKK3N0YXRpYyB2b2lkIGNoc2NfbWlzY19jbGVhbnVwKHZvaWQpCit7CisJbWlzY19kZXJlZ2lzdGVyKCZjaHNjX21pc2NfZGV2aWNlKTsKK30KKworc3RhdGljIGludCBfX2luaXQgY2hzY19zY2hfaW5pdCh2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSBjaHNjX2luaXRfZGJmcygpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJaXNjX3JlZ2lzdGVyKENIU0NfU0NIX0lTQyk7CisJcmV0ID0gY2hzY19pbml0X3NjaF9kcml2ZXIoKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dF9kYmY7CisJcmV0ID0gY2hzY19taXNjX2luaXQoKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dF9kcml2ZXI7CisJcmV0dXJuIHJldDsKK291dF9kcml2ZXI6CisJY2hzY19jbGVhbnVwX3NjaF9kcml2ZXIoKTsKK291dF9kYmY6CisJaXNjX3VucmVnaXN0ZXIoQ0hTQ19TQ0hfSVNDKTsKKwljaHNjX3JlbW92ZV9kYmZzKCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGNoc2Nfc2NoX2V4aXQodm9pZCkKK3sKKwljaHNjX21pc2NfY2xlYW51cCgpOworCWNoc2NfY2xlYW51cF9zY2hfZHJpdmVyKCk7CisJaXNjX3VucmVnaXN0ZXIoQ0hTQ19TQ0hfSVNDKTsKKwljaHNjX3JlbW92ZV9kYmZzKCk7Cit9CisKK21vZHVsZV9pbml0KGNoc2Nfc2NoX2luaXQpOworbW9kdWxlX2V4aXQoY2hzY19zY2hfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Noc2Nfc2NoLmggYi9kcml2ZXJzL3MzOTAvY2lvL2Noc2Nfc2NoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg5ZWJmYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2hzY19zY2guaApAQCAtMCwwICsxLDEzIEBACisjaWZuZGVmIF9DSFNDX1NDSF9ICisjZGVmaW5lIF9DSFNDX1NDSF9ICisKK3N0cnVjdCBjaHNjX3JlcXVlc3QgeworCXN0cnVjdCBjb21wbGV0aW9uIGNvbXBsZXRpb247CisJc3RydWN0IGlyYiBpcmI7Cit9OworCitzdHJ1Y3QgY2hzY19wcml2YXRlIHsKKwlzdHJ1Y3QgY2hzY19yZXF1ZXN0ICpyZXF1ZXN0OworfTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Npby5jIGIvZHJpdmVycy9zMzkwL2Npby9jaW8uYwppbmRleCBiMzJkN2ViLi4zM2JmZjhmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2Npby5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2lvLmMKQEAgLTIsNyArMiw3IEBACiAgKiAgZHJpdmVycy9zMzkwL2Npby9jaW8uYwogICogICBTLzM5MCBjb21tb24gSS9PIHJvdXRpbmVzIC0tIGxvdyBsZXZlbCBpL28gY2FsbHMKICAqCi0gKiAgICBDb3B5cmlnaHQgKEMpIElCTSBDb3JwLiAxOTk5LDIwMDYKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMTk5OSwyMDA4CiAgKiAgICBBdXRob3Iocyk6IEluZ28gQWRsdW5nIChhZGx1bmdAZGUuaWJtLmNvbSkKICAqCQkgQ29ybmVsaWEgSHVjayAoY29ybmVsaWEuaHVja0BkZS5pYm0uY29tKQogICoJCSBBcm5kIEJlcmdtYW5uIChhcm5kYkBkZS5pYm0uY29tKQpAQCAtMjQsNyArMjQsOSBAQAogI2luY2x1ZGUgPGFzbS9pcGwuaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KICNpbmNsdWRlIDxhc20vYWlycS5oPgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KICNpbmNsdWRlIDxhc20vY3B1Lmg+CisjaW5jbHVkZSA8YXNtL2ZjeC5oPgogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNzcy5oIgogI2luY2x1ZGUgImNoc2MuaCIKQEAgLTcyLDcgKzc0LDYgQEAKIAkJZGVidWdfdW5yZWdpc3RlcihjaW9fZGVidWdfdHJhY2VfaWQpOwogCWlmIChjaW9fZGVidWdfY3J3X2lkKQogCQlkZWJ1Z191bnJlZ2lzdGVyKGNpb19kZWJ1Z19jcndfaWQpOwotCXByaW50ayhLRVJOX1dBUk5JTkciY2lvOiBjb3VsZCBub3QgaW5pdGlhbGl6ZSBkZWJ1Z2dpbmdcbiIpOwogCXJldHVybiAtMTsKIH0KIApAQCAtMTI4LDcgKzEyOSw3IEBACiAJbG9jYWxfYmhfZGlzYWJsZSgpOwogCWlycV9lbnRlciAoKTsKIAlzcGluX2xvY2soc2NoLT5sb2NrKTsKLQltZW1jcHkgKCZzY2gtPnNjaGliLnNjc3csICZpcmItPnNjc3csIHNpemVvZiAoc3RydWN0IHNjc3cpKTsKKwltZW1jcHkoJnNjaC0+c2NoaWIuc2NzdywgJmlyYi0+c2Nzdywgc2l6ZW9mKHVuaW9uIHNjc3cpKTsKIAlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPmlycSkKIAkJc2NoLT5kcml2ZXItPmlycShzY2gpOwogCXNwaW5fdW5sb2NrKHNjaC0+bG9jayk7CkBAIC0xNjcsMzAgKzE2OCwzMCBAQAogewogCWNoYXIgZGJmX3R4dFsxNV07CiAJaW50IGNjb2RlOwotCXN0cnVjdCBvcmIgKm9yYjsKKwl1bmlvbiBvcmIgKm9yYjsKIAogCUNJT19UUkFDRV9FVkVOVCg0LCAic3RJTyIpOwogCUNJT19UUkFDRV9FVkVOVCg0LCBzY2gtPmRldi5idXNfaWQpOwogCiAJb3JiID0gJnRvX2lvX3ByaXZhdGUoc2NoKS0+b3JiOwogCS8qIHNjaCBpcyBhbHdheXMgdW5kZXIgMkcuICovCi0Jb3JiLT5pbnRwYXJtID0gKHUzMikoYWRkcl90KXNjaDsKLQlvcmItPmZtdCA9IDE7CisJb3JiLT5jbWQuaW50cGFybSA9ICh1MzIpKGFkZHJfdClzY2g7CisJb3JiLT5jbWQuZm10ID0gMTsKIAotCW9yYi0+cGZjaCA9IHNjaC0+b3B0aW9ucy5wcmVmZXRjaCA9PSAwOwotCW9yYi0+c3BuZCA9IHNjaC0+b3B0aW9ucy5zdXNwZW5kOwotCW9yYi0+c3NpYyA9IHNjaC0+b3B0aW9ucy5zdXNwZW5kICYmIHNjaC0+b3B0aW9ucy5pbnRlcjsKLQlvcmItPmxwbSA9IChscG0gIT0gMCkgPyBscG0gOiBzY2gtPmxwbTsKKwlvcmItPmNtZC5wZmNoID0gc2NoLT5vcHRpb25zLnByZWZldGNoID09IDA7CisJb3JiLT5jbWQuc3BuZCA9IHNjaC0+b3B0aW9ucy5zdXNwZW5kOworCW9yYi0+Y21kLnNzaWMgPSBzY2gtPm9wdGlvbnMuc3VzcGVuZCAmJiBzY2gtPm9wdGlvbnMuaW50ZXI7CisJb3JiLT5jbWQubHBtID0gKGxwbSAhPSAwKSA/IGxwbSA6IHNjaC0+bHBtOwogI2lmZGVmIENPTkZJR182NEJJVAogCS8qCiAJICogZm9yIDY0IGJpdCB3ZSBhbHdheXMgc3VwcG9ydCA2NCBiaXQgSURBV3Mgd2l0aCA0ayBwYWdlIHNpemUgb25seQogCSAqLwotCW9yYi0+YzY0ID0gMTsKLQlvcmItPmkyayA9IDA7CisJb3JiLT5jbWQuYzY0ID0gMTsKKwlvcmItPmNtZC5pMmsgPSAwOwogI2VuZGlmCi0Jb3JiLT5rZXkgPSBrZXkgPj4gNDsKKwlvcmItPmNtZC5rZXkgPSBrZXkgPj4gNDsKIAkvKiBpc3N1ZSAiU3RhcnQgU3ViY2hhbm5lbCIgKi8KLQlvcmItPmNwYSA9IChfX3UzMikgX19wYShjcGEpOworCW9yYi0+Y21kLmNwYSA9IChfX3UzMikgX19wYShjcGEpOwogCWNjb2RlID0gc3NjaChzY2gtPnNjaGlkLCBvcmIpOwogCiAJLyogcHJvY2VzcyBjb25kaXRpb24gY29kZSAqLwpAQCAtMjAyLDcgKzIwMyw3IEBACiAJCS8qCiAJCSAqIGluaXRpYWxpemUgZGV2aWNlIHN0YXR1cyBpbmZvcm1hdGlvbgogCQkgKi8KLQkJc2NoLT5zY2hpYi5zY3N3LmFjdGwgfD0gU0NTV19BQ1RMX1NUQVJUX1BFTkQ7CisJCXNjaC0+c2NoaWIuc2Nzdy5jbWQuYWN0bCB8PSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKIAkJcmV0dXJuIDA7CiAJY2FzZSAxOgkJLyogc3RhdHVzIHBlbmRpbmcgKi8KIAljYXNlIDI6CQkvKiBidXN5ICovCkBAIC0yMzcsNyArMjM4LDcgQEAKIAogCXN3aXRjaCAoY2NvZGUpIHsKIAljYXNlIDA6Ci0JCXNjaC0+c2NoaWIuc2Nzdy5hY3RsIHw9IFNDU1dfQUNUTF9SRVNVTUVfUEVORDsKKwkJc2NoLT5zY2hpYi5zY3N3LmNtZC5hY3RsIHw9IFNDU1dfQUNUTF9SRVNVTUVfUEVORDsKIAkJcmV0dXJuIDA7CiAJY2FzZSAxOgogCQlyZXR1cm4gLUVCVVNZOwpAQCAtMjc3LDcgKzI3OCw3IEBACiAKIAlzd2l0Y2ggKGNjb2RlKSB7CiAJY2FzZSAwOgotCQlzY2gtPnNjaGliLnNjc3cuYWN0bCB8PSBTQ1NXX0FDVExfSEFMVF9QRU5EOworCQlzY2gtPnNjaGliLnNjc3cuY21kLmFjdGwgfD0gU0NTV19BQ1RMX0hBTFRfUEVORDsKIAkJcmV0dXJuIDA7CiAJY2FzZSAxOgkJLyogc3RhdHVzIHBlbmRpbmcgKi8KIAljYXNlIDI6CQkvKiBidXN5ICovCkBAIC0zMTIsNyArMzEzLDcgQEAKIAogCXN3aXRjaCAoY2NvZGUpIHsKIAljYXNlIDA6Ci0JCXNjaC0+c2NoaWIuc2Nzdy5hY3RsIHw9IFNDU1dfQUNUTF9DTEVBUl9QRU5EOworCQlzY2gtPnNjaGliLnNjc3cuY21kLmFjdGwgfD0gU0NTV19BQ1RMX0NMRUFSX1BFTkQ7CiAJCXJldHVybiAwOwogCWRlZmF1bHQ6CQkvKiBkZXZpY2Ugbm90IG9wZXJhdGlvbmFsICovCiAJCXJldHVybiAtRU5PREVWOwpAQCAtMzg3LDggKzM4OCwxMCBAQAogCXJldHVybiByZXQ7CiB9CiAKLS8qCi0gKiBFbmFibGUgc3ViY2hhbm5lbC4KKy8qKgorICogY2lvX2VuYWJsZV9zdWJjaGFubmVsIC0gZW5hYmxlIGEgc3ViY2hhbm5lbC4KKyAqIEBzY2g6IHN1YmNoYW5uZWwgdG8gYmUgZW5hYmxlZAorICogQGludHBhcm06IGludGVycnVwdGlvbiBwYXJhbWV0ZXIgdG8gc2V0CiAgKi8KIGludCBjaW9fZW5hYmxlX3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgdTMyIGludHBhcm0pCiB7CkBAIC00MzQsMTIgKzQzNywxMyBAQAogCUNJT19UUkFDRV9FVkVOVCAoMiwgZGJmX3R4dCk7CiAJcmV0dXJuIHJldDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKGNpb19lbmFibGVfc3ViY2hhbm5lbCk7CiAKLS8qCi0gKiBEaXNhYmxlIHN1YmNoYW5uZWwuCisvKioKKyAqIGNpb19kaXNhYmxlX3N1YmNoYW5uZWwgLSBkaXNhYmxlIGEgc3ViY2hhbm5lbC4KKyAqIEBzY2g6IHN1YmNoYW5uZWwgdG8gZGlzYWJsZQogICovCi1pbnQKLWNpb19kaXNhYmxlX3N1YmNoYW5uZWwgKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCitpbnQgY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQogewogCWNoYXIgZGJmX3R4dFsxNV07CiAJaW50IGNjb2RlOwpAQCAtNDU1LDcgKzQ1OSw3IEBACiAJaWYgKGNjb2RlID09IDMpCQkvKiBOb3Qgb3BlcmF0aW9uYWwuICovCiAJCXJldHVybiAtRU5PREVWOwogCi0JaWYgKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICE9IDApCisJaWYgKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAhPSAwKQogCQkvKgogCQkgKiB0aGUgZGlzYWJsZSBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgd2hpbGUgdGhlcmUgYXJlCiAJCSAqICByZXF1ZXN0cyBwZW5kaW5nIGZvciBjb21wbGV0aW9uICEKQEAgLTQ4NCw2ICs0ODgsNyBAQAogCUNJT19UUkFDRV9FVkVOVCAoMiwgZGJmX3R4dCk7CiAJcmV0dXJuIHJldDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKGNpb19kaXNhYmxlX3N1YmNoYW5uZWwpOwogCiBpbnQgY2lvX2NyZWF0ZV9zY2hfbG9jayhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQogewpAQCAtNDk0LDI3ICs0OTksNjEgQEAKIAlyZXR1cm4gMDsKIH0KIAotLyoKLSAqIGNpb192YWxpZGF0ZV9zdWJjaGFubmVsKCkKK3N0YXRpYyBpbnQgY2lvX2NoZWNrX2Rldm5vX2JsYWNrbGlzdGVkKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJaWYgKGlzX2JsYWNrbGlzdGVkKHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpYi5wbWN3LmRldikpIHsKKwkJLyoKKwkJICogVGhpcyBkZXZpY2UgbXVzdCBub3QgYmUga25vd24gdG8gTGludXguIFNvIHdlIHNpbXBseQorCQkgKiBzYXkgdGhhdCB0aGVyZSBpcyBubyBkZXZpY2UgYW5kIHJldHVybiBFTk9ERVYuCisJCSAqLworCQlDSU9fTVNHX0VWRU5UKDYsICJCbGFja2xpc3RlZCBkZXZpY2UgZGV0ZWN0ZWQgIgorCQkJICAgICAgImF0IGRldm5vICUwNFgsIHN1YmNoYW5uZWwgc2V0ICV4XG4iLAorCQkJICAgICAgc2NoLT5zY2hpYi5wbWN3LmRldiwgc2NoLT5zY2hpZC5zc2lkKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNpb192YWxpZGF0ZV9pb19zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJLyogSW5pdGlhbGl6YXRpb24gZm9yIGlvIHN1YmNoYW5uZWxzLiAqLworCWlmICghY3NzX3NjaF9pc192YWxpZCgmc2NoLT5zY2hpYikpCisJCXJldHVybiAtRU5PREVWOworCisJLyogRGV2bm8gaXMgdmFsaWQuICovCisJcmV0dXJuIGNpb19jaGVja19kZXZub19ibGFja2xpc3RlZChzY2gpOworfQorCitzdGF0aWMgaW50IGNpb192YWxpZGF0ZV9tc2dfc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCS8qIEluaXRpYWxpemF0aW9uIGZvciBtZXNzYWdlIHN1YmNoYW5uZWxzLiAqLworCWlmICghY3NzX3NjaF9pc192YWxpZCgmc2NoLT5zY2hpYikpCisJCXJldHVybiAtRU5PREVWOworCisJLyogRGV2bm8gaXMgdmFsaWQuICovCisJcmV0dXJuIGNpb19jaGVja19kZXZub19ibGFja2xpc3RlZChzY2gpOworfQorCisvKioKKyAqIGNpb192YWxpZGF0ZV9zdWJjaGFubmVsIC0gYmFzaWMgdmFsaWRhdGlvbiBvZiBzdWJjaGFubmVsCisgKiBAc2NoOiBzdWJjaGFubmVsIHN0cnVjdHVyZSB0byBiZSBmaWxsZWQgb3V0CisgKiBAc2NoaWQ6IHN1YmNoYW5uZWwgaWQKICAqCiAgKiBGaW5kIG91dCBzdWJjaGFubmVsIHR5cGUgYW5kIGluaXRpYWxpemUgc3RydWN0IHN1YmNoYW5uZWwuCiAgKiBSZXR1cm4gY29kZXM6Ci0gKiAgIFNVQkNIQU5ORUxfVFlQRV9JTyBmb3IgYSBub3JtYWwgaW8gc3ViY2hhbm5lbAotICogICBTVUJDSEFOTkVMX1RZUEVfQ0hTQyBmb3IgYSBjaHNjIHN1YmNoYW5uZWwKLSAqICAgU1VCQ0hBTk5FTF9UWVBFX01FU1NBR0UgZm9yIGEgbWVzc2FnaW5nIHN1YmNoYW5uZWwKLSAqICAgU1VCQ0hBTk5FTF9UWVBFX0FETSBmb3IgYSBhZG0oPykgc3ViY2hhbm5lbAorICogICAwIG9uIHN1Y2Nlc3MKICAqICAgLUVOWElPIGZvciBub24tZGVmaW5lZCBzdWJjaGFubmVscwotICogICAtRU5PREVWIGZvciBzdWJjaGFubmVscyB3aXRoIGludmFsaWQgZGV2aWNlIG51bWJlciBvciBibGFja2xpc3RlZCBkZXZpY2VzCisgKiAgIC1FTk9ERVYgZm9yIGludmFsaWQgc3ViY2hhbm5lbHMgb3IgYmxhY2tsaXN0ZWQgZGV2aWNlcworICogICAtRUlPIGZvciBzdWJjaGFubmVscyBpbiBhbiBpbnZhbGlkIHN1YmNoYW5uZWwgc2V0CiAgKi8KLWludAotY2lvX3ZhbGlkYXRlX3N1YmNoYW5uZWwgKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkKQoraW50IGNpb192YWxpZGF0ZV9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkKQogewogCWNoYXIgZGJmX3R4dFsxNV07CiAJaW50IGNjb2RlOwogCWludCBlcnI7CiAKLQlzcHJpbnRmIChkYmZfdHh0LCAidmFsc2NoJXgiLCBzY2hpZC5zY2hfbm8pOwotCUNJT19UUkFDRV9FVkVOVCAoNCwgZGJmX3R4dCk7CisJc3ByaW50ZihkYmZfdHh0LCAidmFsc2NoJXgiLCBzY2hpZC5zY2hfbm8pOworCUNJT19UUkFDRV9FVkVOVCg0LCBkYmZfdHh0KTsKIAogCS8qIE51a2UgYWxsIGZpZWxkcy4gKi8KIAltZW1zZXQoc2NoLCAwLCBzaXplb2Yoc3RydWN0IHN1YmNoYW5uZWwpKTsKQEAgLTU0Niw2NyArNTg1LDIxIEBACiAJLyogQ29weSBzdWJjaGFubmVsIHR5cGUgZnJvbSBwYXRoIG1hbmFnZW1lbnQgY29udHJvbCB3b3JkLiAqLwogCXNjaC0+c3QgPSBzY2gtPnNjaGliLnBtY3cuc3Q7CiAKLQkvKgotCSAqIC4uLiBqdXN0IGJlaW5nIGN1cmlvdXMgd2UgY2hlY2sgZm9yIG5vbiBJL08gc3ViY2hhbm5lbHMKLQkgKi8KLQlpZiAoc2NoLT5zdCAhPSAwKSB7Ci0JCUNJT19NU0dfRVZFTlQoNCwgIlN1YmNoYW5uZWwgMC4leC4lMDR4IHJlcG9ydHMgIgotCQkJICAgICAgIm5vbi1JL08gc3ViY2hhbm5lbCB0eXBlICUwNFhcbiIsCi0JCQkgICAgICBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCBzY2gtPnN0KTsKLQkJLyogV2Ugc3RvcCBoZXJlIGZvciBub24taW8gc3ViY2hhbm5lbHMuICovCi0JCWVyciA9IHNjaC0+c3Q7CisJc3dpdGNoIChzY2gtPnN0KSB7CisJY2FzZSBTVUJDSEFOTkVMX1RZUEVfSU86CisJCWVyciA9IGNpb192YWxpZGF0ZV9pb19zdWJjaGFubmVsKHNjaCk7CisJCWJyZWFrOworCWNhc2UgU1VCQ0hBTk5FTF9UWVBFX01TRzoKKwkJZXJyID0gY2lvX3ZhbGlkYXRlX21zZ19zdWJjaGFubmVsKHNjaCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWVyciA9IDA7CisJfQorCWlmIChlcnIpCiAJCWdvdG8gb3V0OwotCX0KIAotCS8qIEluaXRpYWxpemF0aW9uIGZvciBpbyBzdWJjaGFubmVscy4gKi8KLQlpZiAoIWNzc19zY2hfaXNfdmFsaWQoJnNjaC0+c2NoaWIpKSB7Ci0JCWVyciA9IC1FTk9ERVY7Ci0JCWdvdG8gb3V0OwotCX0KLQotCS8qIERldm5vIGlzIHZhbGlkLiAqLwotCWlmIChpc19ibGFja2xpc3RlZCAoc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGliLnBtY3cuZGV2KSkgewotCQkvKgotCQkgKiBUaGlzIGRldmljZSBtdXN0IG5vdCBiZSBrbm93biB0byBMaW51eC4gU28gd2Ugc2ltcGx5Ci0JCSAqIHNheSB0aGF0IHRoZXJlIGlzIG5vIGRldmljZSBhbmQgcmV0dXJuIEVOT0RFVi4KLQkJICovCi0JCUNJT19NU0dfRVZFTlQoNiwgIkJsYWNrbGlzdGVkIGRldmljZSBkZXRlY3RlZCAiCi0JCQkgICAgICAiYXQgZGV2bm8gJTA0WCwgc3ViY2hhbm5lbCBzZXQgJXhcbiIsCi0JCQkgICAgICBzY2gtPnNjaGliLnBtY3cuZGV2LCBzY2gtPnNjaGlkLnNzaWQpOwotCQllcnIgPSAtRU5PREVWOwotCQlnb3RvIG91dDsKLQl9Ci0JaWYgKGNpb19pc19jb25zb2xlKHNjaC0+c2NoaWQpKSB7Ci0JCXNjaC0+b3BtID0gMHhmZjsKLQkJc2NoLT5pc2MgPSAxOwotCX0gZWxzZSB7Ci0JCXNjaC0+b3BtID0gY2hwX2dldF9zY2hfb3BtKHNjaCk7Ci0JCXNjaC0+aXNjID0gMzsKLQl9Ci0Jc2NoLT5scG0gPSBzY2gtPnNjaGliLnBtY3cucGFtICYgc2NoLT5vcG07Ci0KLQlDSU9fTVNHX0VWRU5UKDYsICJEZXRlY3RlZCBkZXZpY2UgJTA0eCBvbiBzdWJjaGFubmVsIDAuJXguJTA0WCAiCi0JCSAgICAgICItIFBJTSA9ICUwMlgsIFBBTSA9ICUwMlgsIFBPTSA9ICUwMlhcbiIsCi0JCSAgICAgIHNjaC0+c2NoaWIucG1jdy5kZXYsIHNjaC0+c2NoaWQuc3NpZCwKLQkJICAgICAgc2NoLT5zY2hpZC5zY2hfbm8sIHNjaC0+c2NoaWIucG1jdy5waW0sCi0JCSAgICAgIHNjaC0+c2NoaWIucG1jdy5wYW0sIHNjaC0+c2NoaWIucG1jdy5wb20pOwotCi0JLyoKLQkgKiBXZSBub3cgaGF2ZSB0byBpbml0aWFsbHkgLi4uCi0JICogIC4uLiBlbmFibGUgImNvbmN1cnJlbnQgc2Vuc2UiCi0JICogIC4uLiBlbmFibGUgIm11bHRpcGF0aCBtb2RlIiBpZiBtb3JlIHRoYW4gb25lCi0JICoJICBDSFBJRCBpcyBhdmFpbGFibGUuIFRoaXMgaXMgZG9uZSByZWdhcmRsZXNzCi0JICoJICB3aGV0aGVyIG11bHRpcGxlIHBhdGhzIGFyZSBhdmFpbGFibGUgZm9yIHVzLgotCSAqLwotCXNjaC0+c2NoaWIucG1jdy5jc2Vuc2UgPSAxOwkvKiBjb25jdXJyZW50IHNlbnNlICovCi0Jc2NoLT5zY2hpYi5wbWN3LmVuYSA9IDA7Ci0JaWYgKChzY2gtPmxwbSAmIChzY2gtPmxwbSAtIDEpKSAhPSAwKQotCQlzY2gtPnNjaGliLnBtY3cubXAgPSAxOwkvKiBtdWx0aXBhdGggbW9kZSAqLwotCS8qIGNsZWFuIHVwIHBvc3NpYmxlIHJlc2lkdWFsIGNtZiBzdHVmZiAqLwotCXNjaC0+c2NoaWIucG1jdy5tbWUgPSAwOwotCXNjaC0+c2NoaWIucG1jdy5tYmZjID0gMDsKLQlzY2gtPnNjaGliLnBtY3cubWJpID0gMDsKLQlzY2gtPnNjaGliLm1iYSA9IDA7CisJQ0lPX01TR19FVkVOVCg0LCAiU3ViY2hhbm5lbCAwLiV4LiUwNHggcmVwb3J0cyBzdWJjaGFubmVsIHR5cGUgJTA0WFxuIiwKKwkJICAgICAgc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGlkLnNjaF9ubywgc2NoLT5zdCk7CiAJcmV0dXJuIDA7CiBvdXQ6CiAJaWYgKCFjaW9faXNfY29uc29sZShzY2hpZCkpCkBAIC02NDcsNyArNjQwLDcgQEAKIAkJICovCiAJCWlmICh0cGlfaW5mby0+YWRhcHRlcl9JTyA9PSAxICYmCiAJCSAgICB0cGlfaW5mby0+aW50X3R5cGUgPT0gSU9fSU5URVJSVVBUX1RZUEUpIHsKLQkJCWRvX2FkYXB0ZXJfSU8oKTsKKwkJCWRvX2FkYXB0ZXJfSU8odHBpX2luZm8tPmlzYyk7CiAJCQljb250aW51ZTsKIAkJfQogCQlzY2ggPSAoc3RydWN0IHN1YmNoYW5uZWwgKikodW5zaWduZWQgbG9uZyl0cGlfaW5mby0+aW50cGFybTsKQEAgLTcwNiw5ICs2OTksOSBAQAogCWlmICghY29uc29sZV9zdWJjaGFubmVsX2luX3VzZSkKIAkJcmV0dXJuOwogCi0JLyogZGlzYWJsZSBhbGwgYnV0IGlzYyAxIChjb25zb2xlIGRldmljZSkgKi8KKwkvKiBkaXNhYmxlIGFsbCBidXQgdGhlIGNvbnNvbGUgaXNjICovCiAJX19jdGxfc3RvcmUgKHNhdmVfY3I2LCA2LCA2KTsKLQljcjYgPSAweDQwMDAwMDAwOworCWNyNiA9IDFVTCA8PCAoMzEgLSBDT05TT0xFX0lTQyk7CiAJX19jdGxfbG9hZCAoY3I2LCA2LCA2KTsKIAogCWRvIHsKQEAgLTcxNiw3ICs3MDksNyBAQAogCQlpZiAoIWNpb190cGkoKSkKIAkJCWNwdV9yZWxheCgpOwogCQlzcGluX2xvY2soY29uc29sZV9zdWJjaGFubmVsLmxvY2spOwotCX0gd2hpbGUgKGNvbnNvbGVfc3ViY2hhbm5lbC5zY2hpYi5zY3N3LmFjdGwgIT0gMCk7CisJfSB3aGlsZSAoY29uc29sZV9zdWJjaGFubmVsLnNjaGliLnNjc3cuY21kLmFjdGwgIT0gMCk7CiAJLyoKIAkgKiByZXN0b3JlIHByZXZpb3VzIGlzYyB2YWx1ZQogCSAqLwpAQCAtNzYxLDcgKzc1NCw2IEBACiAJCS8qIHVubGlrZSBpbiAyLjQsIHdlIGNhbm5vdCBhdXRvcHJvYmUgaGVyZSwgc2luY2UKIAkJICogdGhlIGNoYW5uZWwgc3Vic3lzdGVtIGlzIG5vdCBmdWxseSBpbml0aWFsaXplZC4KIAkJICogV2l0aCBzb21lIGx1Y2ssIHRoZSBIV0MgY29uc29sZSBjYW4gdGFrZSBvdmVyICovCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogTm8gY2N3IGNvbnNvbGUgZm91bmQhXG4iKTsKIAkJcmV0dXJuIC0xOwogCX0KIAlyZXR1cm4gY29uc29sZV9pcnE7CkBAIC03NzgsNiArNzcwLDcgQEAKIAlzY2hfbm8gPSBjaW9fZ2V0X2NvbnNvbGVfc2NoX25vKCk7CiAJaWYgKHNjaF9ubyA9PSAtMSkgewogCQljb25zb2xlX3N1YmNoYW5uZWxfaW5fdXNlID0gMDsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBObyBjY3cgY29uc29sZSBmb3VuZCFcbiIpOwogCQlyZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKIAl9CiAJbWVtc2V0KCZjb25zb2xlX3N1YmNoYW5uZWwsIDAsIHNpemVvZihzdHJ1Y3Qgc3ViY2hhbm5lbCkpOwpAQCAtNzkwLDE1ICs3ODMsMTUgQEAKIAl9CiAKIAkvKgotCSAqIGVuYWJsZSBjb25zb2xlIEkvTy1pbnRlcnJ1cHQgc3ViY2xhc3MgMQorCSAqIGVuYWJsZSBjb25zb2xlIEkvTy1pbnRlcnJ1cHQgc3ViY2xhc3MKIAkgKi8KLQljdGxfc2V0X2JpdCg2LCAzMCk7Ci0JY29uc29sZV9zdWJjaGFubmVsLmlzYyA9IDE7Ci0JY29uc29sZV9zdWJjaGFubmVsLnNjaGliLnBtY3cuaXNjID0gMTsKKwlpc2NfcmVnaXN0ZXIoQ09OU09MRV9JU0MpOworCWNvbnNvbGVfc3ViY2hhbm5lbC5zY2hpYi5wbWN3LmlzYyA9IENPTlNPTEVfSVNDOwogCWNvbnNvbGVfc3ViY2hhbm5lbC5zY2hpYi5wbWN3LmludHBhcm0gPQogCQkodTMyKShhZGRyX3QpJmNvbnNvbGVfc3ViY2hhbm5lbDsKIAlyZXQgPSBjaW9fbW9kaWZ5KCZjb25zb2xlX3N1YmNoYW5uZWwpOwogCWlmIChyZXQpIHsKKwkJaXNjX3VucmVnaXN0ZXIoQ09OU09MRV9JU0MpOwogCQljb25zb2xlX3N1YmNoYW5uZWxfaW5fdXNlID0gMDsKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIAl9CkBAIC04MTAsNyArODAzLDcgQEAKIHsKIAljb25zb2xlX3N1YmNoYW5uZWwuc2NoaWIucG1jdy5pbnRwYXJtID0gMDsKIAljaW9fbW9kaWZ5KCZjb25zb2xlX3N1YmNoYW5uZWwpOwotCWN0bF9jbGVhcl9iaXQoNiwgMjQpOworCWlzY191bnJlZ2lzdGVyKENPTlNPTEVfSVNDKTsKIAljb25zb2xlX3N1YmNoYW5uZWxfaW5fdXNlID0gMDsKIH0KIApAQCAtODY0LDcgKzg1Nyw3IEBACiB9CiAKIHN0YXRpYyBpbnQKLV9fY2xlYXJfc3ViY2hhbm5lbF9lYXN5KHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkKQorX19jbGVhcl9pb19zdWJjaGFubmVsX2Vhc3koc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpCiB7CiAJaW50IHJldHJ5OwogCkBAIC04ODMsNiArODc2LDEyIEBACiAJcmV0dXJuIC1FQlVTWTsKIH0KIAorc3RhdGljIHZvaWQgX19jbGVhcl9jaHNjX3N1YmNoYW5uZWxfZWFzeSh2b2lkKQoreworCS8qIEl0IHNlZW1zIHdlIGNhbiBvbmx5IHdhaXQgZm9yIGEgYml0IGhlcmUgOi8gKi8KKwl1ZGVsYXlfcmVzZXQoMTAwKTsKK30KKwogc3RhdGljIGludCBwZ21fY2hlY2tfb2NjdXJlZDsKIAogc3RhdGljIHZvaWQgY2lvX3Jlc2V0X3BnbV9jaGVja19oYW5kbGVyKHZvaWQpCkBAIC05MjEsMTEgKzkyMCwyMiBAQAogCWNhc2UgLUVOT0RFVjoKIAkJYnJlYWs7CiAJZGVmYXVsdDogLyogLUVCVVNZICovCi0JCWlmIChfX2NsZWFyX3N1YmNoYW5uZWxfZWFzeShzY2hpZCkpCi0JCQlicmVhazsgLyogZ2l2ZSB1cC4uLiAqLworCQlzd2l0Y2ggKHNjaGliLnBtY3cuc3QpIHsKKwkJY2FzZSBTVUJDSEFOTkVMX1RZUEVfSU86CisJCQlpZiAoX19jbGVhcl9pb19zdWJjaGFubmVsX2Vhc3koc2NoaWQpKQorCQkJCWdvdG8gb3V0OyAvKiBnaXZlIHVwLi4uICovCisJCQlicmVhazsKKwkJY2FzZSBTVUJDSEFOTkVMX1RZUEVfQ0hTQzoKKwkJCV9fY2xlYXJfY2hzY19zdWJjaGFubmVsX2Vhc3koKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJLyogTm8gZGVmYXVsdCBjbGVhciBzdHJhdGVneSAqLworCQkJYnJlYWs7CisJCX0KIAkJc3RzY2goc2NoaWQsICZzY2hpYik7CiAJCV9fZGlzYWJsZV9zdWJjaGFubmVsX2Vhc3koc2NoaWQsICZzY2hpYik7CiAJfQorb3V0OgogCXJldHVybiAwOwogfQogCkBAIC0xMDY4LDMgKzEwNzgsNjEgQEAKIAlpcGxpbmZvLT5pc19xZGlvID0gc2NoaWIucG1jdy5xZjsKIAlyZXR1cm4gMDsKIH0KKworLyoqCisgKiBjaW9fdG1fc3RhcnRfa2V5IC0gcGVyZm9ybSBzdGFydCBmdW5jdGlvbgorICogQHNjaDogc3ViY2hhbm5lbCBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBzdGFydCBmdW5jdGlvbgorICogQHRjdzogdHJhbnNwb3J0LWNvbW1hbmQgd29yZCB0byBiZSBzdGFydGVkCisgKiBAbHBtOiBtYXNrIG9mIHBhdGhzIHRvIHVzZQorICogQGtleTogc3RvcmFnZSBrZXkgdG8gdXNlIGZvciBzdG9yYWdlIGFjY2VzcworICoKKyAqIFN0YXJ0IHRoZSB0Y3cgb24gdGhlIGdpdmVuIHN1YmNoYW5uZWwuIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvCisgKiBvdGhlcndpc2UuCisgKi8KK2ludCBjaW9fdG1fc3RhcnRfa2V5KHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHN0cnVjdCB0Y3cgKnRjdywgdTggbHBtLCB1OCBrZXkpCit7CisJaW50IGNjOworCXVuaW9uIG9yYiAqb3JiID0gJnRvX2lvX3ByaXZhdGUoc2NoKS0+b3JiOworCisJbWVtc2V0KG9yYiwgMCwgc2l6ZW9mKHVuaW9uIG9yYikpOworCW9yYi0+dG0uaW50cGFybSA9ICh1MzIpIChhZGRyX3QpIHNjaDsKKwlvcmItPnRtLmtleSA9IGtleSA+PiA0OworCW9yYi0+dG0uYiA9IDE7CisJb3JiLT50bS5scG0gPSBscG0gPyBscG0gOiBzY2gtPmxwbTsKKwlvcmItPnRtLnRjdyA9ICh1MzIpIChhZGRyX3QpIHRjdzsKKwljYyA9IHNzY2goc2NoLT5zY2hpZCwgb3JiKTsKKwlzd2l0Y2ggKGNjKSB7CisJY2FzZSAwOgorCQlyZXR1cm4gMDsKKwljYXNlIDE6CisJY2FzZSAyOgorCQlyZXR1cm4gLUVCVVNZOworCWRlZmF1bHQ6CisJCXJldHVybiBjaW9fc3RhcnRfaGFuZGxlX25vdG9wZXIoc2NoLCBscG0pOworCX0KK30KKworLyoqCisgKiBjaW9fdG1faW50cmcgLSBwZXJmb3JtIGludGVycm9nYXRlIGZ1bmN0aW9uCisgKiBAc2NoIC0gc3ViY2hhbm5lbCBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBpbnRlcnJvZ2F0ZSBmdW5jdGlvbgorICoKKyAqIElmIHRoZSBzcGVjaWZpZWQgc3ViY2hhbm5lbCBpcyBydW5uaW5nIGluIHRyYW5zcG9ydC1tb2RlLCBwZXJmb3JtIHRoZQorICogaW50ZXJyb2dhdGUgZnVuY3Rpb24uIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvIG90aGVyd2llLgorICovCitpbnQgY2lvX3RtX2ludHJnKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJaW50IGNjOworCisJaWYgKCF0b19pb19wcml2YXRlKHNjaCktPm9yYi50bS5iKQorCQlyZXR1cm4gLUVJTlZBTDsKKwljYyA9IHhzY2goc2NoLT5zY2hpZCk7CisJc3dpdGNoIChjYykgeworCWNhc2UgMDoKKwljYXNlIDI6CisJCXJldHVybiAwOworCWNhc2UgMToKKwkJcmV0dXJuIC1FQlVTWTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVOT0RFVjsKKwl9Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Npby5oIGIvZHJpdmVycy9zMzkwL2Npby9jaW8uaAppbmRleCA2ZTkzM2FlLi4zYjIzNmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2Npby5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2lvLmgKQEAgLTMsOSArMywxMiBAQAogCiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KKyNpbmNsdWRlIDxhc20vY2lvLmg+CisjaW5jbHVkZSA8YXNtL2ZjeC5oPgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgogI2luY2x1ZGUgImNoc2MuaCIKLSNpbmNsdWRlICJzY2hpZC5oIgogCiAvKgogICogcGF0aCBtYW5hZ2VtZW50IGNvbnRyb2wgd29yZApAQCAtMTMsNyArMTYsNyBAQAogc3RydWN0IHBtY3cgewogCXUzMiBpbnRwYXJtOwkJLyogaW50ZXJydXB0aW9uIHBhcmFtZXRlciAqLwogCXUzMiBxZgkgOiAxOwkJLyogcWRpbyBmYWNpbGl0eSAqLwotCXUzMiByZXMwIDogMTsJCS8qIHJlc2VydmVkIHplcm9zICovCisJdTMyIHcJIDogMTsKIAl1MzIgaXNjICA6IDM7CQkvKiBpbnRlcnJ1cHRpb24gc3VibGFzcyAqLwogCXUzMiByZXM1IDogMzsJCS8qIHJlc2VydmVkIHplcm9zICovCiAJdTMyIGVuYSAgOiAxOwkJLyogZW5hYmxlZCAqLwpAQCAtNDcsNyArNTAsNyBAQAogICovCiBzdHJ1Y3Qgc2NoaWIgewogCXN0cnVjdCBwbWN3IHBtY3c7CSAvKiBwYXRoIG1hbmFnZW1lbnQgY29udHJvbCB3b3JkICovCi0Jc3RydWN0IHNjc3cgc2NzdzsJIC8qIHN1YmNoYW5uZWwgc3RhdHVzIHdvcmQgKi8KKwl1bmlvbiBzY3N3IHNjc3c7CSAvKiBzdWJjaGFubmVsIHN0YXR1cyB3b3JkICovCiAJX191NjQgbWJhOyAgICAgICAgICAgICAgIC8qIG1lYXN1cmVtZW50IGJsb2NrIGFkZHJlc3MgKi8KIAlfX3U4IG1kYVs0XTsJCSAvKiBtb2RlbCBkZXBlbmRlbnQgYXJlYSAqLwogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLGFsaWduZWQoNCkpKTsKQEAgLTk5LDggKzEwMiwxMSBAQAogZXh0ZXJuIGludCBjaW9fZ2V0X29wdGlvbnMgKHN0cnVjdCBzdWJjaGFubmVsICopOwogZXh0ZXJuIGludCBjaW9fbW9kaWZ5IChzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKIAoraW50IGNpb190bV9zdGFydF9rZXkoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgc3RydWN0IHRjdyAqdGN3LCB1OCBscG0sIHU4IGtleSk7CitpbnQgY2lvX3RtX2ludHJnKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpOworCiBpbnQgY2lvX2NyZWF0ZV9zY2hfbG9jayhzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXZvaWQgZG9fYWRhcHRlcl9JTyh2b2lkKTsKK3ZvaWQgZG9fYWRhcHRlcl9JTyh1OCBpc2MpOwogdm9pZCBkb19JUlEoc3RydWN0IHB0X3JlZ3MgKik7CiAKIC8qIFVzZSB3aXRoIGNhcmUuICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2NtZi5jIGIvZHJpdmVycy9zMzkwL2Npby9jbWYuYwppbmRleCAyODA4YjY4Li5hOTBiMjhjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2NtZi5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY21mLmMKQEAgLTM0MSwxMiArMzQxLDEyIEBACiAJaWYgKHN0c2NoKHNjaC0+c2NoaWQsICZzY2gtPnNjaGliKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKLQlpZiAoc2NoLT5zY2hpYi5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgeworCWlmIChzY3N3X2ZjdGwoJnNjaC0+c2NoaWIuc2NzdykgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgewogCQkvKiBEb24ndCBjb3B5IGlmIGEgc3RhcnQgZnVuY3Rpb24gaXMgaW4gcHJvZ3Jlc3MuICovCi0JCWlmICgoIShzY2gtPnNjaGliLnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKSAmJgotCQkgICAgKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYKKwkJaWYgKCghKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKSAmJgorCQkgICAgKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmCiAJCSAgICAgKFNDU1dfQUNUTF9ERVZBQ1QgfCBTQ1NXX0FDVExfU0NIQUNUKSkgJiYKLQkJICAgICghKHNjaC0+c2NoaWIuc2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykpKQorCQkgICAgKCEoc2Nzd19zdGN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykpKQogCQkJcmV0dXJuIC1FQlVTWTsKIAl9CiAJY21iX2RhdGEgPSBjZGV2LT5wcml2YXRlLT5jbWI7CkBAIC02MTIsOSArNjEyLDYgQEAKIAkJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpbWVtLCBnZXRfb3JkZXIoc2l6ZSkpOwogCQl9IGVsc2UgaWYgKCFtZW0pIHsKIAkJCS8qIG5vIGx1Y2sgKi8KLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogZmFpbGVkIHRvIGFsbG9jYXRlIGFyZWEgIgotCQkJICAgICAgICJmb3IgbWVhc3VyaW5nICVkIHN1YmNoYW5uZWxzXG4iLAotCQkJICAgICAgIGNtYl9hcmVhLm51bV9jaGFubmVscyk7CiAJCQlyZXQgPSAtRU5PTUVNOwogCQkJZ290byBvdXQ7CiAJCX0gZWxzZSB7CkBAIC0xMjMwLDEzICsxMjI3LDkgQEAKIAlzd2l0Y2ggKHZhbCkgewogCWNhc2UgMDoKIAkJcmV0ID0gZGlzYWJsZV9jbWYoY2Rldik7Ci0JCWlmIChyZXQpCi0JCQlkZXZfaW5mbygmY2Rldi0+ZGV2LCAiZGlzYWJsZV9jbWYgZmFpbGVkICglZClcbiIsIHJldCk7CiAJCWJyZWFrOwogCWNhc2UgMToKIAkJcmV0ID0gZW5hYmxlX2NtZihjZGV2KTsKLQkJaWYgKHJldCAmJiByZXQgIT0gLUVCVVNZKQotCQkJZGV2X2luZm8oJmNkZXYtPmRldiwgImVuYWJsZV9jbWYgZmFpbGVkICglZClcbiIsIHJldCk7CiAJCWJyZWFrOwogCX0KIApAQCAtMTM0NCw4ICsxMzM3LDcgQEAKIAkgKiB0byBiYXNpYyBtb2RlLgogCSAqLwogCWlmIChmb3JtYXQgPT0gQ01GX0FVVE9ERVRFQ1QpIHsKLQkJaWYgKCFjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsIHx8Ci0JCSAgICAhY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmV4dF9tYikgeworCQlpZiAoIWNzc19nZW5lcmFsX2NoYXJhY3RlcmlzdGljcy5leHRfbWIpIHsKIAkJCWZvcm1hdCA9IENNRl9CQVNJQzsKIAkJfSBlbHNlIHsKIAkJCWZvcm1hdCA9IENNRl9FWFRFTkRFRDsKQEAgLTEzNjUsOCArMTM1Nyw2IEBACiAJCWNtYm9wcyA9ICZjbWJvcHNfZXh0ZW5kZWQ7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX0VSUiAiY2lvOiBJbnZhbGlkIGZvcm1hdCAlZCBmb3IgY2hhbm5lbCAiCi0JCQkibWVhc3VyZW1lbnQgZmFjaWxpdHlcbiIsIGZvcm1hdCk7CiAJCXJldHVybiAxOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9jc3MuYyBiL2RyaXZlcnMvczM5MC9jaW8vY3NzLmMKaW5kZXggYTc2OTU2NS4uNDZjMDIxZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jc3MuYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2Nzcy5jCkBAIC0yLDggKzIsNyBAQAogICogIGRyaXZlcnMvczM5MC9jaW8vY3NzLmMKICAqICBkcml2ZXIgZm9yIGNoYW5uZWwgc3Vic3lzdGVtCiAgKgotICogICAgQ29weXJpZ2h0IChDKSAyMDAyIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILAotICoJCQkgSUJNIENvcnBvcmF0aW9uCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDIsMjAwOAogICogICAgQXV0aG9yKHMpOiBBcm5kIEJlcmdtYW5uIChhcm5kYkBkZS5pYm0uY29tKQogICoJCSBDb3JuZWxpYSBIdWNrIChjb3JuZWxpYS5odWNrQGRlLmlibS5jb20pCiAgKi8KQEAgLTE0LDcgKzEzLDkgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxhc20vaXNjLmg+CiAKKyNpbmNsdWRlICIuLi9zMzkwbWFjaC5oIgogI2luY2x1ZGUgImNzcy5oIgogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNpb19kZWJ1Zy5oIgpAQCAtMzAsOCArMzEsNiBAQAogCiBzdHJ1Y3QgY2hhbm5lbF9zdWJzeXN0ZW0gKmNoYW5uZWxfc3Vic3lzdGVtc1tfX01BWF9DU1NJRCArIDFdOwogCi1pbnQgY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbCA9IDA7Ci0KIGludAogZm9yX2VhY2hfc3ViY2hhbm5lbChpbnQoKmZuKShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCwgdm9pZCAqKSwgdm9pZCAqZGF0YSkKIHsKQEAgLTEyMSwyNSArMTIwLDYgQEAKIAkJa2ZyZWUoc2NoKTsKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIAl9Ci0KLQlpZiAoc2NoLT5zdCAhPSBTVUJDSEFOTkVMX1RZUEVfSU8pIHsKLQkJLyogRm9yIG5vdyB3ZSBpZ25vcmUgYWxsIG5vbi1pbyBzdWJjaGFubmVscy4gKi8KLQkJa2ZyZWUoc2NoKTsKLQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Ci0JfQotCi0JLyogCi0JICogU2V0IGludHBhcm0gdG8gc3ViY2hhbm5lbCBhZGRyZXNzLgotCSAqIFRoaXMgaXMgZmluZSBldmVuIG9uIDY0Yml0IHNpbmNlIHRoZSBzdWJjaGFubmVsIGlzIGFsd2F5cyBsb2NhdGVkCi0JICogdW5kZXIgMkcuCi0JICovCi0Jc2NoLT5zY2hpYi5wbWN3LmludHBhcm0gPSAodTMyKShhZGRyX3Qpc2NoOwotCXJldCA9IGNpb19tb2RpZnkoc2NoKTsKLQlpZiAocmV0KSB7Ci0JCWtmcmVlKHNjaC0+bG9jayk7Ci0JCWtmcmVlKHNjaCk7Ci0JCXJldHVybiBFUlJfUFRSKHJldCk7Ci0JfQogCXJldHVybiBzY2g7CiB9CiAKQEAgLTE3NywxMiArMTU3LDE4IEBACiAJcmV0dXJuIHJldDsKIH0KIAorLyoqCisgKiBjc3Nfc2NoX2RldmljZV91bnJlZ2lzdGVyIC0gdW5yZWdpc3RlciBhIHN1YmNoYW5uZWwKKyAqIEBzY2g6IHN1YmNoYW5uZWwgdG8gYmUgdW5yZWdpc3RlcmVkCisgKi8KIHZvaWQgY3NzX3NjaF9kZXZpY2VfdW5yZWdpc3RlcihzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQogewogCW11dGV4X2xvY2soJnNjaC0+cmVnX211dGV4KTsKLQlkZXZpY2VfdW5yZWdpc3Rlcigmc2NoLT5kZXYpOworCWlmIChkZXZpY2VfaXNfcmVnaXN0ZXJlZCgmc2NoLT5kZXYpKQorCQlkZXZpY2VfdW5yZWdpc3Rlcigmc2NoLT5kZXYpOwogCW11dGV4X3VubG9jaygmc2NoLT5yZWdfbXV0ZXgpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoY3NzX3NjaF9kZXZpY2VfdW5yZWdpc3Rlcik7CiAKIHN0YXRpYyB2b2lkIHNzZF9mcm9tX3BtY3coc3RydWN0IGNoc2Nfc3NkX2luZm8gKnNzZCwgc3RydWN0IHBtY3cgKnBtY3cpCiB7CkBAIC0yMjksNiArMjE1LDQxIEBACiAJfQogfQogCitzdGF0aWMgc3NpemVfdCB0eXBlX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCSBjaGFyICpidWYpCit7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaCA9IHRvX3N1YmNoYW5uZWwoZGV2KTsKKworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiUwMXhcbiIsIHNjaC0+c3QpOworfQorCitzdGF0aWMgREVWSUNFX0FUVFIodHlwZSwgMDQ0NCwgdHlwZV9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3QgbW9kYWxpYXNfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJICAgICBjaGFyICpidWYpCit7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaCA9IHRvX3N1YmNoYW5uZWwoZGV2KTsKKworCXJldHVybiBzcHJpbnRmKGJ1ZiwgImNzczp0JTAxWFxuIiwgc2NoLT5zdCk7Cit9CisKK3N0YXRpYyBERVZJQ0VfQVRUUihtb2RhbGlhcywgMDQ0NCwgbW9kYWxpYXNfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpzdWJjaF9hdHRyc1tdID0geworCSZkZXZfYXR0cl90eXBlLmF0dHIsCisJJmRldl9hdHRyX21vZGFsaWFzLmF0dHIsCisJTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHN1YmNoX2F0dHJfZ3JvdXAgPSB7CisJLmF0dHJzID0gc3ViY2hfYXR0cnMsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCAqZGVmYXVsdF9zdWJjaF9hdHRyX2dyb3Vwc1tdID0geworCSZzdWJjaF9hdHRyX2dyb3VwLAorCU5VTEwsCit9OworCiBzdGF0aWMgaW50IGNzc19yZWdpc3Rlcl9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCiB7CiAJaW50IHJldDsKQEAgLTIzNywxNiArMjU4LDE3IEBACiAJc2NoLT5kZXYucGFyZW50ID0gJmNoYW5uZWxfc3Vic3lzdGVtc1swXS0+ZGV2aWNlOwogCXNjaC0+ZGV2LmJ1cyA9ICZjc3NfYnVzX3R5cGU7CiAJc2NoLT5kZXYucmVsZWFzZSA9ICZjc3Nfc3ViY2hhbm5lbF9yZWxlYXNlOwotCXNjaC0+ZGV2Lmdyb3VwcyA9IHN1YmNoX2F0dHJfZ3JvdXBzOworCXNjaC0+ZGV2Lmdyb3VwcyA9IGRlZmF1bHRfc3ViY2hfYXR0cl9ncm91cHM7CiAJLyoKIAkgKiBXZSBkb24ndCB3YW50IHRvIGdlbmVyYXRlIHVldmVudHMgZm9yIEkvTyBzdWJjaGFubmVscyB0aGF0IGRvbid0CiAJICogaGF2ZSBhIHdvcmtpbmcgY2N3IGRldmljZSBiZWhpbmQgdGhlbSBzaW5jZSB0aGV5IHdpbGwgYmUKIAkgKiB1bnJlZ2lzdGVyZWQgYmVmb3JlIHRoZXkgY2FuIGJlIHVzZWQgYW55d2F5LCBzbyB3ZSBkZWxheSB0aGUgYWRkCiAJICogdWV2ZW50IHVudGlsIGFmdGVyIGRldmljZSByZWNvZ25pdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KKwkgKiBOb3RlIHRoYXQgd2Ugc3VwcHJlc3MgdGhlIHVldmVudCBmb3IgYWxsIHN1YmNoYW5uZWwgdHlwZXM7CisJICogdGhlIHN1YmNoYW5uZWwgZHJpdmVyIGNhbiBkZWNpZGUgaXRzZWxmIHdoZW4gaXQgd2FudHMgdG8gaW5mb3JtCisJICogdXNlcnNwYWNlIG9mIGl0cyBleGlzdGVuY2UuCiAJICovCi0JaWYgKCFjaW9faXNfY29uc29sZShzY2gtPnNjaGlkKSkKLQkJLyogQ29uc29sZSBpcyBzcGVjaWFsLCBubyBuZWVkIHRvIHN1cHByZXNzLiAqLwotCQlzY2gtPmRldi51ZXZlbnRfc3VwcHJlc3MgPSAxOworCXNjaC0+ZGV2LnVldmVudF9zdXBwcmVzcyA9IDE7CiAJY3NzX3VwZGF0ZV9zc2RfaW5mbyhzY2gpOwogCS8qIG1ha2UgaXQga25vd24gdG8gdGhlIHN5c3RlbSAqLwogCXJldCA9IGNzc19zY2hfZGV2aWNlX3JlZ2lzdGVyKHNjaCk7CkBAIC0yNTUsMTAgKzI3NywxOSBAQAogCQkJICAgICAgc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGlkLnNjaF9ubywgcmV0KTsKIAkJcmV0dXJuIHJldDsKIAl9CisJaWYgKCFzY2gtPmRyaXZlcikgeworCQkvKgorCQkgKiBObyBkcml2ZXIgbWF0Y2hlZC4gR2VuZXJhdGUgdGhlIHVldmVudCBub3cgc28gdGhhdAorCQkgKiBhIGZpdHRpbmcgZHJpdmVyIG1vZHVsZSBtYXkgYmUgbG9hZGVkIGJhc2VkIG9uIHRoZQorCQkgKiBtb2RhbGlhcy4KKwkJICovCisJCXNjaC0+ZGV2LnVldmVudF9zdXBwcmVzcyA9IDA7CisJCWtvYmplY3RfdWV2ZW50KCZzY2gtPmRldi5rb2JqLCBLT0JKX0FERCk7CisJfQogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgY3NzX3Byb2JlX2RldmljZShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCkKK2ludCBjc3NfcHJvYmVfZGV2aWNlKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkKQogewogCWludCByZXQ7CiAJc3RydWN0IHN1YmNoYW5uZWwgKnNjaDsKQEAgLTMwMSwxMTYgKzMzMiwxMiBAQAogewogCWlmICgoc2NoaWItPnBtY3cuc3QgPT0gU1VCQ0hBTk5FTF9UWVBFX0lPKSAmJiAhc2NoaWItPnBtY3cuZG52KQogCQlyZXR1cm4gMDsKKwlpZiAoKHNjaGliLT5wbWN3LnN0ID09IFNVQkNIQU5ORUxfVFlQRV9NU0cpICYmICFzY2hpYi0+cG1jdy53KQorCQlyZXR1cm4gMDsKIAlyZXR1cm4gMTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGNzc19zY2hfaXNfdmFsaWQpOwogCi1zdGF0aWMgaW50IGNzc19nZXRfc3ViY2hhbm5lbF9zdGF0dXMoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKLXsKLQlzdHJ1Y3Qgc2NoaWIgc2NoaWI7Ci0KLQlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaGliKSkKLQkJcmV0dXJuIENJT19HT05FOwotCWlmICghY3NzX3NjaF9pc192YWxpZCgmc2NoaWIpKQotCQlyZXR1cm4gQ0lPX0dPTkU7Ci0JaWYgKHNjaC0+c2NoaWIucG1jdy5kbnYgJiYgKHNjaGliLnBtY3cuZGV2ICE9IHNjaC0+c2NoaWIucG1jdy5kZXYpKQotCQlyZXR1cm4gQ0lPX1JFVkFMSURBVEU7Ci0JaWYgKCFzY2gtPmxwbSkKLQkJcmV0dXJuIENJT19OT19QQVRIOwotCXJldHVybiBDSU9fT1BFUjsKLX0KLQotc3RhdGljIGludCBjc3NfZXZhbHVhdGVfa25vd25fc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLCBpbnQgc2xvdykKLXsKLQlpbnQgZXZlbnQsIHJldCwgZGlzYzsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWVudW0geyBOT05FLCBVTlJFR0lTVEVSLCBVTlJFR0lTVEVSX1BST0JFLCBSRVBST0JFIH0gYWN0aW9uOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoc2NoLT5sb2NrLCBmbGFncyk7Ci0JZGlzYyA9IGRldmljZV9pc19kaXNjb25uZWN0ZWQoc2NoKTsKLQlpZiAoZGlzYyAmJiBzbG93KSB7Ci0JCS8qIERpc2Nvbm5lY3RlZCBkZXZpY2VzIGFyZSBldmFsdWF0ZWQgZGlyZWN0bHkgb25seS4qLwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwotCQlyZXR1cm4gMDsKLQl9Ci0JLyogTm8gaW50ZXJydXB0IGFmdGVyIG1hY2hpbmUgY2hlY2sgLSBraWxsIHBlbmRpbmcgdGltZXJzLiAqLwotCWRldmljZV9raWxsX3BlbmRpbmdfdGltZXIoc2NoKTsKLQlpZiAoIWRpc2MgJiYgIXNsb3cpIHsKLQkJLyogTm9uLWRpc2Nvbm5lY3RlZCBkZXZpY2VzIGFyZSBldmFsdWF0ZWQgb24gdGhlIHNsb3cgcGF0aC4gKi8KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKLQkJcmV0dXJuIC1FQUdBSU47Ci0JfQotCWV2ZW50ID0gY3NzX2dldF9zdWJjaGFubmVsX3N0YXR1cyhzY2gpOwotCUNJT19NU0dfRVZFTlQoNCwgIkV2YWx1YXRpbmcgc2NoaWQgMC4leC4lMDR4LCBldmVudCAlZCwgJXMsICVzIHBhdGguXG4iLAotCQkgICAgICBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCBldmVudCwKLQkJICAgICAgZGlzYyA/ICJkaXNjb25uZWN0ZWQiIDogIm5vcm1hbCIsCi0JCSAgICAgIHNsb3cgPyAic2xvdyIgOiAiZmFzdCIpOwotCS8qIEFuYWx5emUgc3ViY2hhbm5lbCBzdGF0dXMuICovCi0JYWN0aW9uID0gTk9ORTsKLQlzd2l0Y2ggKGV2ZW50KSB7Ci0JY2FzZSBDSU9fTk9fUEFUSDoKLQkJaWYgKGRpc2MpIHsKLQkJCS8qIENoZWNrIGlmIHBhdGhzIGhhdmUgYmVjb21lIGF2YWlsYWJsZS4gKi8KLQkJCWFjdGlvbiA9IFJFUFJPQkU7Ci0JCQlicmVhazsKLQkJfQotCQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIENJT19HT05FOgotCQkvKiBQcmV2ZW50IHVud2FudGVkIGVmZmVjdHMgd2hlbiBvcGVuaW5nIGxvY2suICovCi0JCWNpb19kaXNhYmxlX3N1YmNoYW5uZWwoc2NoKTsKLQkJZGV2aWNlX3NldF9kaXNjb25uZWN0ZWQoc2NoKTsKLQkJLyogQXNrIGRyaXZlciB3aGF0IHRvIGRvIHdpdGggZGV2aWNlLiAqLwotCQlhY3Rpb24gPSBVTlJFR0lTVEVSOwotCQlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPm5vdGlmeSkgewotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKLQkJCXJldCA9IHNjaC0+ZHJpdmVyLT5ub3RpZnkoc2NoLCBldmVudCk7Ci0JCQlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKLQkJCWlmIChyZXQpCi0JCQkJYWN0aW9uID0gTk9ORTsKLQkJfQotCQlicmVhazsKLQljYXNlIENJT19SRVZBTElEQVRFOgotCQkvKiBEZXZpY2Ugd2lsbCBiZSByZW1vdmVkLCBzbyBubyBub3RpZnkgbmVjZXNzYXJ5LiAqLwotCQlpZiAoZGlzYykKLQkJCS8qIFJlcHJvYmUgYmVjYXVzZSBpbW1lZGlhdGUgdW5yZWdpc3RlciBtaWdodCBibG9jay4gKi8KLQkJCWFjdGlvbiA9IFJFUFJPQkU7Ci0JCWVsc2UKLQkJCWFjdGlvbiA9IFVOUkVHSVNURVJfUFJPQkU7Ci0JCWJyZWFrOwotCWNhc2UgQ0lPX09QRVI6Ci0JCWlmIChkaXNjKQotCQkJLyogR2V0IGRldmljZSBvcGVyYXRpb25hbCBhZ2Fpbi4gKi8KLQkJCWFjdGlvbiA9IFJFUFJPQkU7Ci0JCWJyZWFrOwotCX0KLQkvKiBQZXJmb3JtIGFjdGlvbi4gKi8KLQlyZXQgPSAwOwotCXN3aXRjaCAoYWN0aW9uKSB7Ci0JY2FzZSBVTlJFR0lTVEVSOgotCWNhc2UgVU5SRUdJU1RFUl9QUk9CRToKLQkJLyogVW5yZWdpc3RlciBkZXZpY2UgKHdpbGwgdXNlIHN1YmNoYW5uZWwgbG9jaykuICovCi0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7Ci0JCWNzc19zY2hfZGV2aWNlX3VucmVnaXN0ZXIoc2NoKTsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoc2NoLT5sb2NrLCBmbGFncyk7Ci0KLQkJLyogUmVzZXQgaW50cGFybSB0byB6ZXJvZXMuICovCi0JCXNjaC0+c2NoaWIucG1jdy5pbnRwYXJtID0gMDsKLQkJY2lvX21vZGlmeShzY2gpOwotCQlicmVhazsKLQljYXNlIFJFUFJPQkU6Ci0JCWRldmljZV90cmlnZ2VyX3JlcHJvYmUoc2NoKTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJYnJlYWs7Ci0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7Ci0JLyogUHJvYmUgaWYgbmVjZXNzYXJ5LiAqLwotCWlmIChhY3Rpb24gPT0gVU5SRUdJU1RFUl9QUk9CRSkKLQkJcmV0ID0gY3NzX3Byb2JlX2RldmljZShzY2gtPnNjaGlkKTsKLQotCXJldHVybiByZXQ7Ci19Ci0KIHN0YXRpYyBpbnQgY3NzX2V2YWx1YXRlX25ld19zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkLCBpbnQgc2xvdykKIHsKIAlzdHJ1Y3Qgc2NoaWIgc2NoaWI7CkBAIC00MjksNiArMzU2LDIxIEBACiAJcmV0dXJuIGNzc19wcm9iZV9kZXZpY2Uoc2NoaWQpOwogfQogCitzdGF0aWMgaW50IGNzc19ldmFsdWF0ZV9rbm93bl9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIGludCBzbG93KQoreworCWludCByZXQgPSAwOworCisJaWYgKHNjaC0+ZHJpdmVyKSB7CisJCWlmIChzY2gtPmRyaXZlci0+c2NoX2V2ZW50KQorCQkJcmV0ID0gc2NoLT5kcml2ZXItPnNjaF9ldmVudChzY2gsIHNsb3cpOworCQllbHNlCisJCQlkZXZfZGJnKCZzY2gtPmRldiwKKwkJCQkiR290IHN1YmNoYW5uZWwgbWFjaGluZSBjaGVjayBidXQgIgorCQkJCSJubyBzY2hfZXZlbnQgaGFuZGxlciBwcm92aWRlZC5cbiIpOworCX0KKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgdm9pZCBjc3NfZXZhbHVhdGVfc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCwgaW50IHNsb3cpCiB7CiAJc3RydWN0IHN1YmNoYW5uZWwgKnNjaDsKQEAgLTU5NiwxOCArNTM4LDI5IEBACiAvKgogICogQ2FsbGVkIGZyb20gdGhlIG1hY2hpbmUgY2hlY2sgaGFuZGxlciBmb3Igc3ViY2hhbm5lbCByZXBvcnQgd29yZHMuCiAgKi8KLXZvaWQgY3NzX3Byb2Nlc3NfY3J3KGludCByc2lkMSwgaW50IHJzaWQyKQorc3RhdGljIHZvaWQgY3NzX3Byb2Nlc3NfY3J3KHN0cnVjdCBjcncgKmNydzAsIHN0cnVjdCBjcncgKmNydzEsIGludCBvdmVyZmxvdykKIHsKIAlzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBtY2hrX3NjaGlkOwogCi0JQ0lPX0NSV19FVkVOVCgyLCAic291cmNlIGlzIHN1YmNoYW5uZWwgJTA0WCwgc3Vic3lzdGVtIGlkICV4XG4iLAotCQkgICAgICByc2lkMSwgcnNpZDIpOworCWlmIChvdmVyZmxvdykgeworCQljc3Nfc2NoZWR1bGVfZXZhbF9hbGwoKTsKKwkJcmV0dXJuOworCX0KKwlDSU9fQ1JXX0VWRU5UKDIsICJDUlcwIHJlcG9ydHMgc2xjdD0lZCwgb2Zsdz0lZCwgIgorCQkgICAgICAiY2huPSVkLCByc2M9JVgsIGFuYz0lZCwgZXJjPSVYLCByc2lkPSVYXG4iLAorCQkgICAgICBjcncwLT5zbGN0LCBjcncwLT5vZmx3LCBjcncwLT5jaG4sIGNydzAtPnJzYywgY3J3MC0+YW5jLAorCQkgICAgICBjcncwLT5lcmMsIGNydzAtPnJzaWQpOworCWlmIChjcncxKQorCQlDSU9fQ1JXX0VWRU5UKDIsICJDUlcxIHJlcG9ydHMgc2xjdD0lZCwgb2Zsdz0lZCwgIgorCQkJICAgICAgImNobj0lZCwgcnNjPSVYLCBhbmM9JWQsIGVyYz0lWCwgcnNpZD0lWFxuIiwKKwkJCSAgICAgIGNydzEtPnNsY3QsIGNydzEtPm9mbHcsIGNydzEtPmNobiwgY3J3MS0+cnNjLAorCQkJICAgICAgY3J3MS0+YW5jLCBjcncxLT5lcmMsIGNydzEtPnJzaWQpOwogCWluaXRfc3ViY2hhbm5lbF9pZCgmbWNoa19zY2hpZCk7Ci0JbWNoa19zY2hpZC5zY2hfbm8gPSByc2lkMTsKLQlpZiAocnNpZDIgIT0gMCkKLQkJbWNoa19zY2hpZC5zc2lkID0gKHJzaWQyID4+IDgpICYgMzsKKwltY2hrX3NjaGlkLnNjaF9ubyA9IGNydzAtPnJzaWQ7CisJaWYgKGNydzEpCisJCW1jaGtfc2NoaWQuc3NpZCA9IChjcncxLT5yc2lkID4+IDgpICYgMzsKIAotCS8qIAorCS8qCiAJICogU2luY2Ugd2UgYXJlIGFsd2F5cyBwcmVzZW50ZWQgd2l0aCBJUEkgaW4gdGhlIENSVywgd2UgaGF2ZSB0bwogCSAqIHVzZSBzdHNjaCgpIHRvIGZpbmQgb3V0IGlmIHRoZSBzdWJjaGFubmVsIGluIHF1ZXN0aW9uIGhhcyBjb21lCiAJICogb3IgZ29uZS4KQEAgLTY1OCw3ICs2MTEsNyBAQAogc3RhdGljIHZvaWQgX19pbml0CiBjc3NfZ2VuZXJhdGVfcGdpZChzdHJ1Y3QgY2hhbm5lbF9zdWJzeXN0ZW0gKmNzcywgdTMyIHRvZF9oaWdoKQogewotCWlmIChjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsICYmIGNzc19nZW5lcmFsX2NoYXJhY3RlcmlzdGljcy5tY3NzKSB7CisJaWYgKGNzc19nZW5lcmFsX2NoYXJhY3RlcmlzdGljcy5tY3NzKSB7CiAJCWNzcy0+Z2xvYmFsX3BnaWQucGdpZF9oaWdoLmV4dF9jc3NpZC52ZXJzaW9uID0gMHg4MDsKIAkJY3NzLT5nbG9iYWxfcGdpZC5wZ2lkX2hpZ2guZXh0X2Nzc2lkLmNzc2lkID0gY3NzLT5jc3NpZDsKIAl9IGVsc2UgewpAQCAtNzk1LDggKzc0OCw2IEBACiAJcmV0ID0gY2hzY19kZXRlcm1pbmVfY3NzX2NoYXJhY3RlcmlzdGljcygpOwogCWlmIChyZXQgPT0gLUVOT01FTSkKIAkJZ290byBvdXQ7IC8qIE5vIG5lZWQgdG8gY29udGludWUuICovCi0JaWYgKHJldCA9PSAwKQotCQljc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsID0gMTsKIAogCXJldCA9IGNoc2NfYWxsb2Nfc2VpX2FyZWEoKTsKIAlpZiAocmV0KQpAQCAtODA2LDYgKzc1NywxMCBAQAogCWlmIChyZXQpCiAJCWdvdG8gb3V0OwogCisJcmV0ID0gczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX1NDSCwgY3NzX3Byb2Nlc3NfY3J3KTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwogCWlmICgocmV0ID0gYnVzX3JlZ2lzdGVyKCZjc3NfYnVzX3R5cGUpKSkKIAkJZ290byBvdXQ7CiAKQEAgLTgzNiw4ICs3OTEsNyBAQAogCQlyZXQgPSBkZXZpY2VfcmVnaXN0ZXIoJmNzcy0+ZGV2aWNlKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gb3V0X2ZyZWVfYWxsOwotCQlpZiAoY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbCAmJgotCQkgICAgY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzLnNlY20pIHsKKwkJaWYgKGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zZWNtKSB7CiAJCQlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoJmNzcy0+ZGV2aWNlLAogCQkJCQkJICZkZXZfYXR0cl9jbV9lbmFibGUpOwogCQkJaWYgKHJldCkKQEAgLTg1Miw3ICs4MDYsOCBAQAogCQlnb3RvIG91dF9wc2V1ZG87CiAJY3NzX2luaXRfZG9uZSA9IDE7CiAKLQljdGxfc2V0X2JpdCg2LCAyOCk7CisJLyogRW5hYmxlIGRlZmF1bHQgaXNjIGZvciBJL08gc3ViY2hhbm5lbHMuICovCisJaXNjX3JlZ2lzdGVyKElPX1NDSF9JU0MpOwogCiAJZm9yX2VhY2hfc3ViY2hhbm5lbChfX2luaXRfY2hhbm5lbF9zdWJzeXN0ZW0sIE5VTEwpOwogCXJldHVybiAwOwpAQCAtODc1LDcgKzgzMCw3IEBACiAJCWktLTsKIAkJY3NzID0gY2hhbm5lbF9zdWJzeXN0ZW1zW2ldOwogCQlkZXZpY2VfdW5yZWdpc3RlcigmY3NzLT5wc2V1ZG9fc3ViY2hhbm5lbC0+ZGV2KTsKLQkJaWYgKGNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwgJiYgY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzLnNlY20pCisJCWlmIChjc3NfY2hzY19jaGFyYWN0ZXJpc3RpY3Muc2VjbSkKIAkJCWRldmljZV9yZW1vdmVfZmlsZSgmY3NzLT5kZXZpY2UsCiAJCQkJCSAgICZkZXZfYXR0cl9jbV9lbmFibGUpOwogCQlkZXZpY2VfdW5yZWdpc3RlcigmY3NzLT5kZXZpY2UpOwpAQCAtODgzLDYgKzgzOCw3IEBACiBvdXRfYnVzOgogCWJ1c191bnJlZ2lzdGVyKCZjc3NfYnVzX3R5cGUpOwogb3V0OgorCXMzOTBfdW5yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX0NTUyk7CiAJY2hzY19mcmVlX3NlaV9hcmVhKCk7CiAJa2ZyZWUoc2xvd19zdWJjaGFubmVsX3NldCk7CiAJcHJpbnRrKEtFUk5fV0FSTklORyJjaW86IGZhaWxlZCB0byBpbml0aWFsaXplIGNzcyBkcml2ZXIgKCVkKSFcbiIsCkBAIC04OTUsMTkgKzg1MSwxNiBAQAogCXJldHVybiBzY2ggPT0gdG9fY3NzKHNjaC0+ZGV2LnBhcmVudCktPnBzZXVkb19zdWJjaGFubmVsOwogfQogCi0vKgotICogZmluZCBhIGRyaXZlciBmb3IgYSBzdWJjaGFubmVsLiBUaGV5IGlkZW50aWZ5IGJ5IHRoZSBzdWJjaGFubmVsCi0gKiB0eXBlIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZSBjb25zb2xlIHN1YmNoYW5uZWwgZHJpdmVyIGhhcyBpdHMgb3duCi0gKiBzdWJjaGFubmVsIHR5cGUgYWx0aG91Z2ggdGhlIGRldmljZSBpcyBhbiBpL28gc3ViY2hhbm5lbAotICovCi1zdGF0aWMgaW50Ci1jc3NfYnVzX21hdGNoIChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYpCitzdGF0aWMgaW50IGNzc19idXNfbWF0Y2goc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2RyaXZlciAqZHJ2KQogewogCXN0cnVjdCBzdWJjaGFubmVsICpzY2ggPSB0b19zdWJjaGFubmVsKGRldik7CiAJc3RydWN0IGNzc19kcml2ZXIgKmRyaXZlciA9IHRvX2Nzc2RyaXZlcihkcnYpOworCXN0cnVjdCBjc3NfZGV2aWNlX2lkICppZDsKIAotCWlmIChzY2gtPnN0ID09IGRyaXZlci0+c3ViY2hhbm5lbF90eXBlKQotCQlyZXR1cm4gMTsKKwlmb3IgKGlkID0gZHJpdmVyLT5zdWJjaGFubmVsX3R5cGU7IGlkLT5tYXRjaF9mbGFnczsgaWQrKykgeworCQlpZiAoc2NoLT5zdCA9PSBpZC0+dHlwZSkKKwkJCXJldHVybiAxOworCX0KIAogCXJldHVybiAwOwogfQpAQCAtOTQ1LDEyICs4OTgsMjUgQEAKIAkJc2NoLT5kcml2ZXItPnNodXRkb3duKHNjaCk7CiB9CiAKK3N0YXRpYyBpbnQgY3NzX3VldmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBrb2JqX3VldmVudF9lbnYgKmVudikKK3sKKwlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoID0gdG9fc3ViY2hhbm5lbChkZXYpOworCWludCByZXQ7CisKKwlyZXQgPSBhZGRfdWV2ZW50X3ZhcihlbnYsICJTVD0lMDFYIiwgc2NoLT5zdCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwlyZXQgPSBhZGRfdWV2ZW50X3ZhcihlbnYsICJNT0RBTElBUz1jc3M6dCUwMVgiLCBzY2gtPnN0KTsKKwlyZXR1cm4gcmV0OworfQorCiBzdHJ1Y3QgYnVzX3R5cGUgY3NzX2J1c190eXBlID0gewogCS5uYW1lICAgICA9ICJjc3MiLAogCS5tYXRjaCAgICA9IGNzc19idXNfbWF0Y2gsCiAJLnByb2JlICAgID0gY3NzX3Byb2JlLAogCS5yZW1vdmUgICA9IGNzc19yZW1vdmUsCiAJLnNodXRkb3duID0gY3NzX3NodXRkb3duLAorCS51ZXZlbnQgICA9IGNzc191ZXZlbnQsCiB9OwogCiAvKioKQEAgLTk4NSw0ICs5NTEsMyBAQAogCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBFWFBPUlRfU1lNQk9MKGNzc19idXNfdHlwZSk7Ci1FWFBPUlRfU1lNQk9MX0dQTChjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY3NzLmggYi9kcml2ZXJzL3MzOTAvY2lvL2Nzcy5oCmluZGV4IGUxOTEzNTEuLjU3ZWJmMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY3NzLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jc3MuaApAQCAtOSw4ICs5LDcgQEAKIAogI2luY2x1ZGUgPGFzbS9jaW8uaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KLQotI2luY2x1ZGUgInNjaGlkLmgiCisjaW5jbHVkZSA8YXNtL3NjaGlkLmg+CiAKIC8qCiAgKiBwYXRoIGdyb3VwaW5nIHN0dWZmCkBAIC01OCwyMCArNTcsMjggQEAKIAlfX3UzMiB0b2RfaGlnaDsJCS8qIGhpZ2ggd29yZCBUT0QgY2xvY2sgKi8KIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCi0vKgotICogQSBjc3MgZHJpdmVyIGhhbmRsZXMgYWxsIHN1YmNoYW5uZWxzIG9mIG9uZSB0eXBlLgotICogQ3VycmVudGx5LCB3ZSBvbmx5IGNhcmUgYWJvdXQgSS9PIHN1YmNoYW5uZWxzICh0eXBlIDApLCB0aGVzZQotICogaGF2ZSBhIGNjd19kZXZpY2UgY29ubmVjdGVkIHRvIHRoZW0uCi0gKi8KIHN0cnVjdCBzdWJjaGFubmVsOworc3RydWN0IGNocF9saW5rOworLyoqCisgKiBzdHJ1Y3QgY3NzX2RyaXZlciAtIGRldmljZSBkcml2ZXIgZm9yIHN1YmNoYW5uZWxzCisgKiBAb3duZXI6IG93bmluZyBtb2R1bGUKKyAqIEBzdWJjaGFubmVsX3R5cGU6IHN1YmNoYW5uZWwgdHlwZSBzdXBwb3J0ZWQgYnkgdGhpcyBkcml2ZXIKKyAqIEBkcnY6IGVtYmVkZGVkIGRldmljZSBkcml2ZXIgc3RydWN0dXJlCisgKiBAaXJxOiBjYWxsZWQgb24gaW50ZXJydXB0cworICogQGNocF9ldmVudDogY2FsbGVkIGZvciBldmVudHMgYWZmZWN0aW5nIGEgY2hhbm5lbCBwYXRoCisgKiBAc2NoX2V2ZW50OiBjYWxsZWQgZm9yIGV2ZW50cyBhZmZlY3RpbmcgdGhlIHN1YmNoYW5uZWwKKyAqIEBwcm9iZTogZnVuY3Rpb24gY2FsbGVkIG9uIHByb2JlCisgKiBAcmVtb3ZlOiBmdW5jdGlvbiBjYWxsZWQgb24gcmVtb3ZlCisgKiBAc2h1dGRvd246IGNhbGxlZCBhdCBkZXZpY2Ugc2h1dGRvd24KKyAqIEBuYW1lOiBuYW1lIG9mIHRoZSBkZXZpY2UgZHJpdmVyCisgKi8KIHN0cnVjdCBjc3NfZHJpdmVyIHsKIAlzdHJ1Y3QgbW9kdWxlICpvd25lcjsKLQl1bnNpZ25lZCBpbnQgc3ViY2hhbm5lbF90eXBlOworCXN0cnVjdCBjc3NfZGV2aWNlX2lkICpzdWJjaGFubmVsX3R5cGU7CiAJc3RydWN0IGRldmljZV9kcml2ZXIgZHJ2OwogCXZvaWQgKCppcnEpKHN0cnVjdCBzdWJjaGFubmVsICopOwotCWludCAoKm5vdGlmeSkoc3RydWN0IHN1YmNoYW5uZWwgKiwgaW50KTsKLQl2b2lkICgqdmVyaWZ5KShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLQl2b2lkICgqdGVybWluYXRpb24pKHN0cnVjdCBzdWJjaGFubmVsICopOworCWludCAoKmNocF9ldmVudCkoc3RydWN0IHN1YmNoYW5uZWwgKiwgc3RydWN0IGNocF9saW5rICosIGludCk7CisJaW50ICgqc2NoX2V2ZW50KShzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCBpbnQpOwogCWludCAoKnByb2JlKShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKIAlpbnQgKCpyZW1vdmUpKHN0cnVjdCBzdWJjaGFubmVsICopOwogCXZvaWQgKCpzaHV0ZG93bikoc3RydWN0IHN1YmNoYW5uZWwgKik7CkBAIC04OSwxMyArOTYsMTMgQEAKIGV4dGVybiB2b2lkIGNzc19kcml2ZXJfdW5yZWdpc3RlcihzdHJ1Y3QgY3NzX2RyaXZlciAqKTsKIAogZXh0ZXJuIHZvaWQgY3NzX3NjaF9kZXZpY2VfdW5yZWdpc3RlcihzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLWV4dGVybiBzdHJ1Y3Qgc3ViY2hhbm5lbCAqIGdldF9zdWJjaGFubmVsX2J5X3NjaGlkKHN0cnVjdCBzdWJjaGFubmVsX2lkKTsKK2V4dGVybiBpbnQgY3NzX3Byb2JlX2RldmljZShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCk7CitleHRlcm4gc3RydWN0IHN1YmNoYW5uZWwgKmdldF9zdWJjaGFubmVsX2J5X3NjaGlkKHN0cnVjdCBzdWJjaGFubmVsX2lkKTsKIGV4dGVybiBpbnQgY3NzX2luaXRfZG9uZTsKIGludCBmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChpbnQgKCpmbl9rbm93bikoc3RydWN0IHN1YmNoYW5uZWwgKiwgdm9pZCAqKSwKIAkJCSAgICAgICBpbnQgKCpmbl91bmtub3duKShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCwKIAkJCSAgICAgICB2b2lkICopLCB2b2lkICpkYXRhKTsKIGV4dGVybiBpbnQgZm9yX2VhY2hfc3ViY2hhbm5lbChpbnQoKmZuKShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCwgdm9pZCAqKSwgdm9pZCAqKTsKLWV4dGVybiB2b2lkIGNzc19wcm9jZXNzX2NydyhpbnQsIGludCk7CiBleHRlcm4gdm9pZCBjc3NfcmVpdGVyYXRlX3N1YmNoYW5uZWxzKHZvaWQpOwogdm9pZCBjc3NfdXBkYXRlX3NzZF9pbmZvKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpOwogCkBAIC0xMjEsMjAgKzEyOCw2IEBACiBleHRlcm4gc3RydWN0IGJ1c190eXBlIGNzc19idXNfdHlwZTsKIGV4dGVybiBzdHJ1Y3QgY2hhbm5lbF9zdWJzeXN0ZW0gKmNoYW5uZWxfc3Vic3lzdGVtc1tdOwogCi0vKiBTb21lIGhlbHBlciBmdW5jdGlvbnMgZm9yIGRpc2Nvbm5lY3RlZCBzdGF0ZS4gKi8KLWludCBkZXZpY2VfaXNfZGlzY29ubmVjdGVkKHN0cnVjdCBzdWJjaGFubmVsICopOwotdm9pZCBkZXZpY2Vfc2V0X2Rpc2Nvbm5lY3RlZChzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXZvaWQgZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLQotLyogSGVscGVyIGZ1bmN0aW9ucyBmb3IgdmFyeSBvbi9vZmYuICovCi1pbnQgZGV2aWNlX2lzX29ubGluZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXZvaWQgZGV2aWNlX2tpbGxfaW8oc3RydWN0IHN1YmNoYW5uZWwgKik7Ci12b2lkIGRldmljZV9zZXRfaW50cmV0cnkoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCk7Ci1pbnQgZGV2aWNlX3RyaWdnZXJfdmVyaWZ5KHN0cnVjdCBzdWJjaGFubmVsICpzY2gpOwotCi0vKiBNYWNoaW5lIGNoZWNrIGhlbHBlciBmdW5jdGlvbi4gKi8KLXZvaWQgZGV2aWNlX2tpbGxfcGVuZGluZ190aW1lcihzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLQogLyogSGVscGVyIGZ1bmN0aW9ucyB0byBidWlsZCBsaXN0cyBmb3IgdGhlIHNsb3cgcGF0aC4gKi8KIHZvaWQgY3NzX3NjaGVkdWxlX2V2YWwoc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpOwogdm9pZCBjc3Nfc2NoZWR1bGVfZXZhbF9hbGwodm9pZCk7CkBAIC0xNDUsNiArMTM4LDQgQEAKIAogZXh0ZXJuIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpzbG93X3BhdGhfd3E7CiB2b2lkIGNzc193YWl0X2Zvcl9zbG93X3BhdGgodm9pZCk7Ci0KLWV4dGVybiBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICpzdWJjaF9hdHRyX2dyb3Vwc1tdOwogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZS5jIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuYwppbmRleCBlMjI4MTNkLi5lODE4ZDBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmMKQEAgLTIsOCArMiw3IEBACiAgKiAgZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuYwogICogIGJ1cyBkcml2ZXIgZm9yIGNjdyBkZXZpY2VzCiAgKgotICogICAgQ29weXJpZ2h0IChDKSAyMDAyIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILAotICoJCQkgSUJNIENvcnBvcmF0aW9uCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDIsMjAwOAogICogICAgQXV0aG9yKHMpOiBBcm5kIEJlcmdtYW5uIChhcm5kYkBkZS5pYm0uY29tKQogICoJCSBDb3JuZWxpYSBIdWNrIChjb3JuZWxpYS5odWNrQGRlLmlibS5jb20pCiAgKgkJIE1hcnRpbiBTY2h3aWRlZnNreSAoc2Nod2lkZWZza3lAZGUuaWJtLmNvbSkKQEAgLTIzLDcgKzIyLDkgQEAKICNpbmNsdWRlIDxhc20vY2lvLmg+CiAjaW5jbHVkZSA8YXNtL3BhcmFtLmg+CQkvKiBIWiAqLwogI2luY2x1ZGUgPGFzbS9jbWIuaD4KKyNpbmNsdWRlIDxhc20vaXNjLmg+CiAKKyNpbmNsdWRlICJjaHAuaCIKICNpbmNsdWRlICJjaW8uaCIKICNpbmNsdWRlICJjaW9fZGVidWcuaCIKICNpbmNsdWRlICJjc3MuaCIKQEAgLTEyNSwxOSArMTI2LDI0IEBACiBzdGF0aWMgdm9pZCBpb19zdWJjaGFubmVsX2lycShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKIHN0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9wcm9iZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKIHN0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9yZW1vdmUoc3RydWN0IHN1YmNoYW5uZWwgKik7Ci1zdGF0aWMgaW50IGlvX3N1YmNoYW5uZWxfbm90aWZ5KHN0cnVjdCBzdWJjaGFubmVsICosIGludCk7Ci1zdGF0aWMgdm9pZCBpb19zdWJjaGFubmVsX3ZlcmlmeShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXN0YXRpYyB2b2lkIGlvX3N1YmNoYW5uZWxfaW90ZXJtKHN0cnVjdCBzdWJjaGFubmVsICopOwogc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF9zaHV0ZG93bihzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKK3N0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9zY2hfZXZlbnQoc3RydWN0IHN1YmNoYW5uZWwgKiwgaW50KTsKK3N0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9jaHBfZXZlbnQoc3RydWN0IHN1YmNoYW5uZWwgKiwgc3RydWN0IGNocF9saW5rICosCisJCQkJICAgaW50KTsKKworc3RhdGljIHN0cnVjdCBjc3NfZGV2aWNlX2lkIGlvX3N1YmNoYW5uZWxfaWRzW10gPSB7CisJeyAubWF0Y2hfZmxhZ3MgPSAweDEsIC50eXBlID0gU1VCQ0hBTk5FTF9UWVBFX0lPLCB9LAorCXsgLyogZW5kIG9mIGxpc3QgKi8gfSwKK307CitNT0RVTEVfREVWSUNFX1RBQkxFKGNzcywgaW9fc3ViY2hhbm5lbF9pZHMpOwogCiBzdGF0aWMgc3RydWN0IGNzc19kcml2ZXIgaW9fc3ViY2hhbm5lbF9kcml2ZXIgPSB7CiAJLm93bmVyID0gVEhJU19NT0RVTEUsCi0JLnN1YmNoYW5uZWxfdHlwZSA9IFNVQkNIQU5ORUxfVFlQRV9JTywKKwkuc3ViY2hhbm5lbF90eXBlID0gaW9fc3ViY2hhbm5lbF9pZHMsCiAJLm5hbWUgPSAiaW9fc3ViY2hhbm5lbCIsCiAJLmlycSA9IGlvX3N1YmNoYW5uZWxfaXJxLAotCS5ub3RpZnkgPSBpb19zdWJjaGFubmVsX25vdGlmeSwKLQkudmVyaWZ5ID0gaW9fc3ViY2hhbm5lbF92ZXJpZnksCi0JLnRlcm1pbmF0aW9uID0gaW9fc3ViY2hhbm5lbF9pb3Rlcm0sCisJLnNjaF9ldmVudCA9IGlvX3N1YmNoYW5uZWxfc2NoX2V2ZW50LAorCS5jaHBfZXZlbnQgPSBpb19zdWJjaGFubmVsX2NocF9ldmVudCwKIAkucHJvYmUgPSBpb19zdWJjaGFubmVsX3Byb2JlLAogCS5yZW1vdmUgPSBpb19zdWJjaGFubmVsX3JlbW92ZSwKIAkuc2h1dGRvd24gPSBpb19zdWJjaGFubmVsX3NodXRkb3duLApAQCAtNDg3LDI1ICs0OTMsMjIgQEAKIAkJY2N3X2RldmljZV9zZXRfb25saW5lKGNkZXYpOwogCXJldHVybiAwOwogfQotc3RhdGljIHZvaWQgb25saW5lX3N0b3JlX2hhbmRsZV9vbmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIGludCBmb3JjZSkKK3N0YXRpYyBpbnQgb25saW5lX3N0b3JlX2hhbmRsZV9vbmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIGludCBmb3JjZSkKIHsKIAlpbnQgcmV0OwogCiAJcmV0ID0gb25saW5lX3N0b3JlX3JlY29nX2FuZF9vbmxpbmUoY2Rldik7CiAJaWYgKHJldCkKLQkJcmV0dXJuOworCQlyZXR1cm4gcmV0OwogCWlmIChmb3JjZSAmJiBjZGV2LT5wcml2YXRlLT5zdGF0ZSA9PSBERVZfU1RBVEVfQk9YRUQpIHsKIAkJcmV0ID0gY2N3X2RldmljZV9zdGxjayhjZGV2KTsKLQkJaWYgKHJldCkgewotCQkJZGV2X3dhcm4oJmNkZXYtPmRldiwKLQkJCQkgImNjd19kZXZpY2Vfc3RsY2sgcmV0dXJuZWQgJWQhXG4iLCByZXQpOwotCQkJcmV0dXJuOwotCQl9CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OwogCQlpZiAoY2Rldi0+aWQuY3VfdHlwZSA9PSAwKQogCQkJY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPSBERVZfU1RBVEVfTk9UX09QRVI7CiAJCW9ubGluZV9zdG9yZV9yZWNvZ19hbmRfb25saW5lKGNkZXYpOwogCX0KLQorCXJldHVybiAwOwogfQogCiBzdGF0aWMgc3NpemVfdCBvbmxpbmVfc3RvcmUgKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCkBAIC01MzgsOCArNTQxLDkgQEAKIAkJcmV0ID0gY291bnQ7CiAJCWJyZWFrOwogCWNhc2UgMToKLQkJb25saW5lX3N0b3JlX2hhbmRsZV9vbmxpbmUoY2RldiwgZm9yY2UpOwotCQlyZXQgPSBjb3VudDsKKwkJcmV0ID0gb25saW5lX3N0b3JlX2hhbmRsZV9vbmxpbmUoY2RldiwgZm9yY2UpOworCQlpZiAoIXJldCkKKwkJCXJldCA9IGNvdW50OwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlyZXQgPSAtRUlOVkFMOwpAQCAtNTg0LDE5ICs1ODgsMTQgQEAKIHN0YXRpYyBERVZJQ0VfQVRUUihvbmxpbmUsIDA2NDQsIG9ubGluZV9zaG93LCBvbmxpbmVfc3RvcmUpOwogc3RhdGljIERFVklDRV9BVFRSKGF2YWlsYWJpbGl0eSwgMDQ0NCwgYXZhaWxhYmxlX3Nob3csIE5VTEwpOwogCi1zdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqIHN1YmNoX2F0dHJzW10gPSB7CitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaW9fc3ViY2hhbm5lbF9hdHRyc1tdID0gewogCSZkZXZfYXR0cl9jaHBpZHMuYXR0ciwKIAkmZGV2X2F0dHJfcGltcGFtcG9tLmF0dHIsCiAJTlVMTCwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHN1YmNoX2F0dHJfZ3JvdXAgPSB7Ci0JLmF0dHJzID0gc3ViY2hfYXR0cnMsCi19OwotCi1zdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICpzdWJjaF9hdHRyX2dyb3Vwc1tdID0gewotCSZzdWJjaF9hdHRyX2dyb3VwLAotCU5VTEwsCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBpb19zdWJjaGFubmVsX2F0dHJfZ3JvdXAgPSB7CisJLmF0dHJzID0gaW9fc3ViY2hhbm5lbF9hdHRycywKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICogY2N3ZGV2X2F0dHJzW10gPSB7CkBAIC03OTAsNyArNzg5LDcgQEAKIAlzY2hfc2V0X2NkZXYoc2NoLCBjZGV2KTsKIAljZGV2LT5wcml2YXRlLT5zY2hpZCA9IHNjaC0+c2NoaWQ7CiAJY2Rldi0+Y2N3bG9jayA9IHNjaC0+bG9jazsKLQlkZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHNjaCk7CisJY2N3X2RldmljZV90cmlnZ2VyX3JlcHJvYmUoY2Rldik7CiAJc3Bpbl91bmxvY2tfaXJxKHNjaC0+bG9jayk7CiB9CiAKQEAgLTEwMzcsNyArMTAzNiw2IEBACiAJc3RydWN0IGNjd19kZXZpY2VfcHJpdmF0ZSAqcHJpdjsKIAogCXNjaF9zZXRfY2RldihzY2gsIGNkZXYpOwotCXNjaC0+ZHJpdmVyID0gJmlvX3N1YmNoYW5uZWxfZHJpdmVyOwogCWNkZXYtPmNjd2xvY2sgPSBzY2gtPmxvY2s7CiAKIAkvKiBJbml0IHByaXZhdGUgZGF0YS4gKi8KQEAgLTExMjIsOCArMTEyMCwzMyBAQAogCQlkZXZfZnNtX2V2ZW50KGNkZXYsIERFVl9FVkVOVF9JTlRFUlJVUFQpOwogfQogCi1zdGF0aWMgaW50Ci1pb19zdWJjaGFubmVsX3Byb2JlIChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQorc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF9pbml0X2ZpZWxkcyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCWlmIChjaW9faXNfY29uc29sZShzY2gtPnNjaGlkKSkKKwkJc2NoLT5vcG0gPSAweGZmOworCWVsc2UKKwkJc2NoLT5vcG0gPSBjaHBfZ2V0X3NjaF9vcG0oc2NoKTsKKwlzY2gtPmxwbSA9IHNjaC0+c2NoaWIucG1jdy5wYW0gJiBzY2gtPm9wbTsKKwlzY2gtPmlzYyA9IGNpb19pc19jb25zb2xlKHNjaC0+c2NoaWQpID8gQ09OU09MRV9JU0MgOiBJT19TQ0hfSVNDOworCisJQ0lPX01TR19FVkVOVCg2LCAiRGV0ZWN0ZWQgZGV2aWNlICUwNHggb24gc3ViY2hhbm5lbCAwLiV4LiUwNFgiCisJCSAgICAgICIgLSBQSU0gPSAlMDJYLCBQQU0gPSAlMDJYLCBQT00gPSAlMDJYXG4iLAorCQkgICAgICBzY2gtPnNjaGliLnBtY3cuZGV2LCBzY2gtPnNjaGlkLnNzaWQsCisJCSAgICAgIHNjaC0+c2NoaWQuc2NoX25vLCBzY2gtPnNjaGliLnBtY3cucGltLAorCQkgICAgICBzY2gtPnNjaGliLnBtY3cucGFtLCBzY2gtPnNjaGliLnBtY3cucG9tKTsKKwkvKiBJbml0aWFsbHkgc2V0IHVwIHNvbWUgZmllbGRzIGluIHRoZSBwbWN3LiAqLworCXNjaC0+c2NoaWIucG1jdy5lbmEgPSAwOworCXNjaC0+c2NoaWIucG1jdy5jc2Vuc2UgPSAxOwkvKiBjb25jdXJyZW50IHNlbnNlICovCisJaWYgKChzY2gtPmxwbSAmIChzY2gtPmxwbSAtIDEpKSAhPSAwKQorCQlzY2gtPnNjaGliLnBtY3cubXAgPSAxOyAvKiBtdWx0aXBhdGggbW9kZSAqLworCS8qIGNsZWFuIHVwIHBvc3NpYmxlIHJlc2lkdWFsIGNtZiBzdHVmZiAqLworCXNjaC0+c2NoaWIucG1jdy5tbWUgPSAwOworCXNjaC0+c2NoaWIucG1jdy5tYmZjID0gMDsKKwlzY2gtPnNjaGliLnBtY3cubWJpID0gMDsKKwlzY2gtPnNjaGliLm1iYSA9IDA7Cit9CisKK3N0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9wcm9iZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQogewogCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwogCWludCByYzsKQEAgLTExMzIsMTEgKzExNTUsMjEgQEAKIAogCWNkZXYgPSBzY2hfZ2V0X2NkZXYoc2NoKTsKIAlpZiAoY2RldikgeworCQlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmc2NoLT5kZXYua29iaiwKKwkJCQkJJmlvX3N1YmNoYW5uZWxfYXR0cl9ncm91cCk7CisJCWlmIChyYykKKwkJCUNJT19NU0dfRVZFTlQoMCwgIkZhaWxlZCB0byBjcmVhdGUgaW8gc3ViY2hhbm5lbCAiCisJCQkJICAgICAgImF0dHJpYnV0ZXMgZm9yIHN1YmNoYW5uZWwgIgorCQkJCSAgICAgICIwLiV4LiUwNHggKHJjPSVkKVxuIiwKKwkJCQkgICAgICBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCByYyk7CiAJCS8qCiAJCSAqIFRoaXMgc3ViY2hhbm5lbCBhbHJlYWR5IGhhcyBhbiBhc3NvY2lhdGVkIGNjd19kZXZpY2UuCi0JCSAqIFJlZ2lzdGVyIGl0IGFuZCBleGl0LiBUaGlzIGhhcHBlbnMgZm9yIGFsbCBlYXJseQotCQkgKiBkZXZpY2UsIGUuZy4gdGhlIGNvbnNvbGUuCisJCSAqIFRocm93IHRoZSBkZWxheWVkIHVldmVudCBmb3IgdGhlIHN1YmNoYW5uZWwsIHJlZ2lzdGVyCisJCSAqIHRoZSBjY3dfZGV2aWNlIGFuZCBleGl0LiBUaGlzIGhhcHBlbnMgZm9yIGFsbCBlYXJseQorCQkgKiBkZXZpY2VzLCBlLmcuIHRoZSBjb25zb2xlLgogCQkgKi8KKwkJc2NoLT5kZXYudWV2ZW50X3N1cHByZXNzID0gMDsKKwkJa29iamVjdF91ZXZlbnQoJnNjaC0+ZGV2LmtvYmosIEtPQkpfQUREKTsKIAkJY2Rldi0+ZGV2Lmdyb3VwcyA9IGNjd2Rldl9hdHRyX2dyb3VwczsKIAkJZGV2aWNlX2luaXRpYWxpemUoJmNkZXYtPmRldik7CiAJCWNjd19kZXZpY2VfcmVnaXN0ZXIoY2Rldik7CkBAIC0xMTUyLDE3ICsxMTg1LDI0IEBACiAJCQlnZXRfZGV2aWNlKCZjZGV2LT5kZXYpOwogCQlyZXR1cm4gMDsKIAl9CisJaW9fc3ViY2hhbm5lbF9pbml0X2ZpZWxkcyhzY2gpOwogCS8qCiAJICogRmlyc3QgY2hlY2sgaWYgYSBmaXR0aW5nIGRldmljZSBtYXkgYmUgZm91bmQgYW1vbmdzdCB0aGUKIAkgKiBkaXNjb25uZWN0ZWQgZGV2aWNlcyBvciBpbiB0aGUgb3JwaGFuYWdlLgogCSAqLwogCWRldl9pZC5kZXZubyA9IHNjaC0+c2NoaWIucG1jdy5kZXY7CiAJZGV2X2lkLnNzaWQgPSBzY2gtPnNjaGlkLnNzaWQ7CisJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnNjaC0+ZGV2LmtvYmosCisJCQkJJmlvX3N1YmNoYW5uZWxfYXR0cl9ncm91cCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CiAJLyogQWxsb2NhdGUgSS9PIHN1YmNoYW5uZWwgcHJpdmF0ZSBkYXRhLiAqLwogCXNjaC0+cHJpdmF0ZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpb19zdWJjaGFubmVsX3ByaXZhdGUpLAogCQkJICAgICAgIEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKLQlpZiAoIXNjaC0+cHJpdmF0ZSkKLQkJcmV0dXJuIC1FTk9NRU07CisJaWYgKCFzY2gtPnByaXZhdGUpIHsKKwkJcmMgPSAtRU5PTUVNOworCQlnb3RvIG91dF9lcnI7CisJfQogCWNkZXYgPSBnZXRfZGlzY19jY3dkZXZfYnlfZGV2X2lkKCZkZXZfaWQsIE5VTEwpOwogCWlmICghY2RldikKIAkJY2RldiA9IGdldF9vcnBoYW5lZF9jY3dkZXZfYnlfZGV2X2lkKHRvX2NzcyhzY2gtPmRldi5wYXJlbnQpLApAQCAtMTE4MSw4ICsxMjIxLDggQEAKIAl9CiAJY2RldiA9IGlvX3N1YmNoYW5uZWxfY3JlYXRlX2Njd2RldihzY2gpOwogCWlmIChJU19FUlIoY2RldikpIHsKLQkJa2ZyZWUoc2NoLT5wcml2YXRlKTsKLQkJcmV0dXJuIFBUUl9FUlIoY2Rldik7CisJCXJjID0gUFRSX0VSUihjZGV2KTsKKwkJZ290byBvdXRfZXJyOwogCX0KIAlyYyA9IGlvX3N1YmNoYW5uZWxfcmVjb2coY2Rldiwgc2NoKTsKIAlpZiAocmMpIHsKQEAgLTExOTEsOSArMTIzMSwxMiBAQAogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwogCQlpZiAoY2Rldi0+ZGV2LnJlbGVhc2UpCiAJCQljZGV2LT5kZXYucmVsZWFzZSgmY2Rldi0+ZGV2KTsKLQkJa2ZyZWUoc2NoLT5wcml2YXRlKTsKKwkJZ290byBvdXRfZXJyOwogCX0KLQorCXJldHVybiAwOworb3V0X2VycjoKKwlrZnJlZShzY2gtPnByaXZhdGUpOworCXN5c2ZzX3JlbW92ZV9ncm91cCgmc2NoLT5kZXYua29iaiwgJmlvX3N1YmNoYW5uZWxfYXR0cl9ncm91cCk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC0xMjE0LDYgKzEyNTcsNyBAQAogCWNjd19kZXZpY2VfdW5yZWdpc3RlcihjZGV2KTsKIAlwdXRfZGV2aWNlKCZjZGV2LT5kZXYpOwogCWtmcmVlKHNjaC0+cHJpdmF0ZSk7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKCZzY2gtPmRldi5rb2JqLCAmaW9fc3ViY2hhbm5lbF9hdHRyX2dyb3VwKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTIyNCwxMSArMTI2OCw3IEBACiAJY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwogCWlmICghY2RldikKIAkJcmV0dXJuIDA7Ci0JaWYgKCFjZGV2LT5kcnYpCi0JCXJldHVybiAwOwotCWlmICghY2Rldi0+b25saW5lKQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gY2Rldi0+ZHJ2LT5ub3RpZnkgPyBjZGV2LT5kcnYtPm5vdGlmeShjZGV2LCBldmVudCkgOiAwOworCXJldHVybiBjY3dfZGV2aWNlX25vdGlmeShjZGV2LCBldmVudCk7CiB9CiAKIHN0YXRpYyB2b2lkIGlvX3N1YmNoYW5uZWxfdmVyaWZ5KHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCkBAIC0xMjQwLDIwICsxMjgwLDk0IEBACiAJCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7CiB9CiAKLXN0YXRpYyB2b2lkIGlvX3N1YmNoYW5uZWxfaW90ZXJtKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCitzdGF0aWMgaW50IGNoZWNrX2Zvcl9pb19vbl9wYXRoKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIGludCBtYXNrKQoreworCWludCBjYzsKKworCWNjID0gc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpOworCWlmIChjYykKKwkJcmV0dXJuIDA7CisJaWYgKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmJiBzY2gtPnNjaGliLnBtY3cubHB1bSA9PSBtYXNrKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdGVybWluYXRlX2ludGVybmFsX2lvKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsCisJCQkJICBzdHJ1Y3QgY2N3X2RldmljZSAqY2RldikKK3sKKwlpZiAoY2lvX2NsZWFyKHNjaCkpIHsKKwkJLyogUmVjaGVjayBkZXZpY2UgaW4gY2FzZSBjbGVhciBmYWlsZWQuICovCisJCXNjaC0+bHBtID0gMDsKKwkJaWYgKGNkZXYtPm9ubGluZSkKKwkJCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7CisJCWVsc2UKKwkJCWNzc19zY2hlZHVsZV9ldmFsKHNjaC0+c2NoaWQpOworCQlyZXR1cm47CisJfQorCWNkZXYtPnByaXZhdGUtPnN0YXRlID0gREVWX1NUQVRFX0NMRUFSX1ZFUklGWTsKKwkvKiBSZXF1ZXN0IHJldHJ5IG9mIGludGVybmFsIG9wZXJhdGlvbi4gKi8KKwljZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSA9IDE7CisJLyogQ2FsbCBoYW5kbGVyLiAqLworCWlmIChjZGV2LT5oYW5kbGVyKQorCQljZGV2LT5oYW5kbGVyKGNkZXYsIGNkZXYtPnByaXZhdGUtPmludHBhcm0sCisJCQkgICAgICBFUlJfUFRSKC1FSU8pKTsKK30KKworc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF90ZXJtaW5hdGVfcGF0aChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLCB1OCBtYXNrKQogewogCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwogCiAJY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwogCWlmICghY2RldikKIAkJcmV0dXJuOwotCS8qIEludGVybmFsIEkvTyB3aWxsIGJlIHJldHJpZWQgYnkgdGhlIGludGVycnVwdCBoYW5kbGVyLiAqLwotCWlmIChjZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSkKLQkJcmV0dXJuOwotCWNkZXYtPnByaXZhdGUtPnN0YXRlID0gREVWX1NUQVRFX0NMRUFSX1ZFUklGWTsKLQlpZiAoY2Rldi0+aGFuZGxlcikKLQkJY2Rldi0+aGFuZGxlcihjZGV2LCBjZGV2LT5wcml2YXRlLT5pbnRwYXJtLAotCQkJICAgICAgRVJSX1BUUigtRUlPKSk7CisJaWYgKGNoZWNrX2Zvcl9pb19vbl9wYXRoKHNjaCwgbWFzaykpIHsKKwkJaWYgKGNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9PTkxJTkUpCisJCQljY3dfZGV2aWNlX2tpbGxfaW8oY2Rldik7CisJCWVsc2UgeworCQkJdGVybWluYXRlX2ludGVybmFsX2lvKHNjaCwgY2Rldik7CisJCQkvKiBSZS1zdGFydCBwYXRoIHZlcmlmaWNhdGlvbi4gKi8KKwkJCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7CisJCX0KKwl9IGVsc2UKKwkJLyogdHJpZ2dlciBwYXRoIHZlcmlmaWNhdGlvbi4gKi8KKwkJZGV2X2ZzbV9ldmVudChjZGV2LCBERVZfRVZFTlRfVkVSSUZZKTsKKworfQorCitzdGF0aWMgaW50IGlvX3N1YmNoYW5uZWxfY2hwX2V2ZW50KHN0cnVjdCBzdWJjaGFubmVsICpzY2gsCisJCQkJICAgc3RydWN0IGNocF9saW5rICpsaW5rLCBpbnQgZXZlbnQpCit7CisJaW50IG1hc2s7CisKKwltYXNrID0gY2hwX3NzZF9nZXRfbWFzaygmc2NoLT5zc2RfaW5mbywgbGluayk7CisJaWYgKCFtYXNrKQorCQlyZXR1cm4gMDsKKwlzd2l0Y2ggKGV2ZW50KSB7CisJY2FzZSBDSFBfVkFSWV9PRkY6CisJCXNjaC0+b3BtICY9IH5tYXNrOworCQlzY2gtPmxwbSAmPSB+bWFzazsKKwkJaW9fc3ViY2hhbm5lbF90ZXJtaW5hdGVfcGF0aChzY2gsIG1hc2spOworCQlicmVhazsKKwljYXNlIENIUF9WQVJZX09OOgorCQlzY2gtPm9wbSB8PSBtYXNrOworCQlzY2gtPmxwbSB8PSBtYXNrOworCQlpb19zdWJjaGFubmVsX3ZlcmlmeShzY2gpOworCQlicmVhazsKKwljYXNlIENIUF9PRkZMSU5FOgorCQlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpKQorCQkJcmV0dXJuIC1FTlhJTzsKKwkJaWYgKCFjc3Nfc2NoX2lzX3ZhbGlkKCZzY2gtPnNjaGliKSkKKwkJCXJldHVybiAtRU5PREVWOworCQlpb19zdWJjaGFubmVsX3Rlcm1pbmF0ZV9wYXRoKHNjaCwgbWFzayk7CisJCWJyZWFrOworCWNhc2UgQ0hQX09OTElORToKKwkJaWYgKHN0c2NoKHNjaC0+c2NoaWQsICZzY2gtPnNjaGliKSkKKwkJCXJldHVybiAtRU5YSU87CisJCXNjaC0+bHBtIHw9IG1hc2sgJiBzY2gtPm9wbTsKKwkJaW9fc3ViY2hhbm5lbF92ZXJpZnkoc2NoKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMTI4NSw2ICsxMzk5LDE5NSBAQAogCWNpb19kaXNhYmxlX3N1YmNoYW5uZWwoc2NoKTsKIH0KIAorc3RhdGljIGludCBpb19zdWJjaGFubmVsX2dldF9zdGF0dXMoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwlzdHJ1Y3Qgc2NoaWIgc2NoaWI7CisKKwlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaGliKSB8fCAhc2NoaWIucG1jdy5kbnYpCisJCXJldHVybiBDSU9fR09ORTsKKwlpZiAoc2NoLT5zY2hpYi5wbWN3LmRudiAmJiAoc2NoaWIucG1jdy5kZXYgIT0gc2NoLT5zY2hpYi5wbWN3LmRldikpCisJCXJldHVybiBDSU9fUkVWQUxJREFURTsKKwlpZiAoIXNjaC0+bHBtKQorCQlyZXR1cm4gQ0lPX05PX1BBVEg7CisJcmV0dXJuIENJT19PUEVSOworfQorCitzdGF0aWMgaW50IGRldmljZV9pc19kaXNjb25uZWN0ZWQoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpCit7CisJaWYgKCFjZGV2KQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gKGNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9ESVNDT05ORUNURUQgfHwKKwkJY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRF9TRU5TRV9JRCk7Cit9CisKK3N0YXRpYyBpbnQgcmVjb3ZlcnlfY2hlY2soc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2ID0gdG9fY2N3ZGV2KGRldik7CisJaW50ICpyZWRvID0gZGF0YTsKKworCXNwaW5fbG9ja19pcnEoY2Rldi0+Y2N3bG9jayk7CisJc3dpdGNoIChjZGV2LT5wcml2YXRlLT5zdGF0ZSkgeworCWNhc2UgREVWX1NUQVRFX0RJU0NPTk5FQ1RFRDoKKwkJQ0lPX01TR19FVkVOVCgzLCAicmVjb3Zlcnk6IHRyaWdnZXIgMC4leC4lMDR4XG4iLAorCQkJICAgICAgY2Rldi0+cHJpdmF0ZS0+ZGV2X2lkLnNzaWQsCisJCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8pOworCQlkZXZfZnNtX2V2ZW50KGNkZXYsIERFVl9FVkVOVF9WRVJJRlkpOworCQkqcmVkbyA9IDE7CisJCWJyZWFrOworCWNhc2UgREVWX1NUQVRFX0RJU0NPTk5FQ1RFRF9TRU5TRV9JRDoKKwkJKnJlZG8gPSAxOworCQlicmVhazsKKwl9CisJc3Bpbl91bmxvY2tfaXJxKGNkZXYtPmNjd2xvY2spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHJlY292ZXJ5X3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKnVudXNlZCkKK3sKKwlpbnQgcmVkbyA9IDA7CisKKwlidXNfZm9yX2VhY2hfZGV2KCZjY3dfYnVzX3R5cGUsIE5VTEwsICZyZWRvLCByZWNvdmVyeV9jaGVjayk7CisJaWYgKHJlZG8pIHsKKwkJc3Bpbl9sb2NrX2lycSgmcmVjb3ZlcnlfbG9jayk7CisJCWlmICghdGltZXJfcGVuZGluZygmcmVjb3ZlcnlfdGltZXIpKSB7CisJCQlpZiAocmVjb3ZlcnlfcGhhc2UgPCBBUlJBWV9TSVpFKHJlY292ZXJ5X2RlbGF5KSAtIDEpCisJCQkJcmVjb3ZlcnlfcGhhc2UrKzsKKwkJCW1vZF90aW1lcigmcmVjb3ZlcnlfdGltZXIsIGppZmZpZXMgKworCQkJCSAgcmVjb3ZlcnlfZGVsYXlbcmVjb3ZlcnlfcGhhc2VdICogSFopOworCQl9CisJCXNwaW5fdW5sb2NrX2lycSgmcmVjb3ZlcnlfbG9jayk7CisJfSBlbHNlCisJCUNJT19NU0dfRVZFTlQoNCwgInJlY292ZXJ5OiBlbmRcbiIpOworfQorCitzdGF0aWMgREVDTEFSRV9XT1JLKHJlY292ZXJ5X3dvcmssIHJlY292ZXJ5X3dvcmtfZnVuYyk7CisKK3N0YXRpYyB2b2lkIHJlY292ZXJ5X2Z1bmModW5zaWduZWQgbG9uZyBkYXRhKQoreworCS8qCisJICogV2UgY2FuJ3QgZG8gb3VyIHJlY292ZXJ5IGluIHNvZnRpcnEgY29udGV4dCBhbmQgaXQncyBub3QKKwkgKiBwZXJmb3JtYW5jZSBjcml0aWNhbCwgc28gd2Ugc2NoZWR1bGUgaXQuCisJICovCisJc2NoZWR1bGVfd29yaygmcmVjb3Zlcnlfd29yayk7Cit9CisKK3N0YXRpYyB2b2lkIGNjd19kZXZpY2Vfc2NoZWR1bGVfcmVjb3Zlcnkodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJQ0lPX01TR19FVkVOVCg0LCAicmVjb3Zlcnk6IHNjaGVkdWxlXG4iKTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcmVjb3ZlcnlfbG9jaywgZmxhZ3MpOworCWlmICghdGltZXJfcGVuZGluZygmcmVjb3ZlcnlfdGltZXIpIHx8IChyZWNvdmVyeV9waGFzZSAhPSAwKSkgeworCQlyZWNvdmVyeV9waGFzZSA9IDA7CisJCW1vZF90aW1lcigmcmVjb3ZlcnlfdGltZXIsIGppZmZpZXMgKyByZWNvdmVyeV9kZWxheVswXSAqIEhaKTsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmVjb3ZlcnlfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBkZXZpY2Vfc2V0X2Rpc2Nvbm5lY3RlZChzdHJ1Y3QgY2N3X2RldmljZSAqY2RldikKK3sKKwlpZiAoIWNkZXYpCisJCXJldHVybjsKKwljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOworCWNkZXYtPnByaXZhdGUtPmZsYWdzLmZha2VfaXJiID0gMDsKKwljZGV2LT5wcml2YXRlLT5zdGF0ZSA9IERFVl9TVEFURV9ESVNDT05ORUNURUQ7CisJaWYgKGNkZXYtPm9ubGluZSkKKwkJY2N3X2RldmljZV9zY2hlZHVsZV9yZWNvdmVyeSgpOworfQorCitzdGF0aWMgaW50IGlvX3N1YmNoYW5uZWxfc2NoX2V2ZW50KHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIGludCBzbG93KQoreworCWludCBldmVudCwgcmV0LCBkaXNjOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJZW51bSB7IE5PTkUsIFVOUkVHSVNURVIsIFVOUkVHSVNURVJfUFJPQkUsIFJFUFJPQkUgfSBhY3Rpb247CisJc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7CisKKwlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKKwljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7CisJZGlzYyA9IGRldmljZV9pc19kaXNjb25uZWN0ZWQoY2Rldik7CisJaWYgKGRpc2MgJiYgc2xvdykgeworCQkvKiBEaXNjb25uZWN0ZWQgZGV2aWNlcyBhcmUgZXZhbHVhdGVkIGRpcmVjdGx5IG9ubHkuKi8KKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIDA7CisJfQorCS8qIE5vIGludGVycnVwdCBhZnRlciBtYWNoaW5lIGNoZWNrIC0ga2lsbCBwZW5kaW5nIHRpbWVycy4gKi8KKwlpZiAoY2RldikKKwkJY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKKwlpZiAoIWRpc2MgJiYgIXNsb3cpIHsKKwkJLyogTm9uLWRpc2Nvbm5lY3RlZCBkZXZpY2VzIGFyZSBldmFsdWF0ZWQgb24gdGhlIHNsb3cgcGF0aC4gKi8KKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQorCWV2ZW50ID0gaW9fc3ViY2hhbm5lbF9nZXRfc3RhdHVzKHNjaCk7CisJQ0lPX01TR19FVkVOVCg0LCAiRXZhbHVhdGluZyBzY2hpZCAwLiV4LiUwNHgsIGV2ZW50ICVkLCAlcywgJXMgcGF0aC5cbiIsCisJCSAgICAgIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIGV2ZW50LAorCQkgICAgICBkaXNjID8gImRpc2Nvbm5lY3RlZCIgOiAibm9ybWFsIiwKKwkJICAgICAgc2xvdyA/ICJzbG93IiA6ICJmYXN0Iik7CisJLyogQW5hbHl6ZSBzdWJjaGFubmVsIHN0YXR1cy4gKi8KKwlhY3Rpb24gPSBOT05FOworCXN3aXRjaCAoZXZlbnQpIHsKKwljYXNlIENJT19OT19QQVRIOgorCQlpZiAoZGlzYykgeworCQkJLyogQ2hlY2sgaWYgcGF0aHMgaGF2ZSBiZWNvbWUgYXZhaWxhYmxlLiAqLworCQkJYWN0aW9uID0gUkVQUk9CRTsKKwkJCWJyZWFrOworCQl9CisJCS8qIGZhbGwgdGhyb3VnaCAqLworCWNhc2UgQ0lPX0dPTkU6CisJCS8qIFByZXZlbnQgdW53YW50ZWQgZWZmZWN0cyB3aGVuIG9wZW5pbmcgbG9jay4gKi8KKwkJY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzY2gpOworCQlkZXZpY2Vfc2V0X2Rpc2Nvbm5lY3RlZChjZGV2KTsKKwkJLyogQXNrIGRyaXZlciB3aGF0IHRvIGRvIHdpdGggZGV2aWNlLiAqLworCQlhY3Rpb24gPSBVTlJFR0lTVEVSOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOworCQlyZXQgPSBpb19zdWJjaGFubmVsX25vdGlmeShzY2gsIGV2ZW50KTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoc2NoLT5sb2NrLCBmbGFncyk7CisJCWlmIChyZXQpCisJCQlhY3Rpb24gPSBOT05FOworCQlicmVhazsKKwljYXNlIENJT19SRVZBTElEQVRFOgorCQkvKiBEZXZpY2Ugd2lsbCBiZSByZW1vdmVkLCBzbyBubyBub3RpZnkgbmVjZXNzYXJ5LiAqLworCQlpZiAoZGlzYykKKwkJCS8qIFJlcHJvYmUgYmVjYXVzZSBpbW1lZGlhdGUgdW5yZWdpc3RlciBtaWdodCBibG9jay4gKi8KKwkJCWFjdGlvbiA9IFJFUFJPQkU7CisJCWVsc2UKKwkJCWFjdGlvbiA9IFVOUkVHSVNURVJfUFJPQkU7CisJCWJyZWFrOworCWNhc2UgQ0lPX09QRVI6CisJCWlmIChkaXNjKQorCQkJLyogR2V0IGRldmljZSBvcGVyYXRpb25hbCBhZ2Fpbi4gKi8KKwkJCWFjdGlvbiA9IFJFUFJPQkU7CisJCWJyZWFrOworCX0KKwkvKiBQZXJmb3JtIGFjdGlvbi4gKi8KKwlyZXQgPSAwOworCXN3aXRjaCAoYWN0aW9uKSB7CisJY2FzZSBVTlJFR0lTVEVSOgorCWNhc2UgVU5SRUdJU1RFUl9QUk9CRToKKwkJLyogVW5yZWdpc3RlciBkZXZpY2UgKHdpbGwgdXNlIHN1YmNoYW5uZWwgbG9jaykuICovCisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7CisJCWNzc19zY2hfZGV2aWNlX3VucmVnaXN0ZXIoc2NoKTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoc2NoLT5sb2NrLCBmbGFncyk7CisKKwkJLyogUmVzZXQgaW50cGFybSB0byB6ZXJvZXMuICovCisJCXNjaC0+c2NoaWIucG1jdy5pbnRwYXJtID0gMDsKKwkJY2lvX21vZGlmeShzY2gpOworCQlicmVhazsKKwljYXNlIFJFUFJPQkU6CisJCWNjd19kZXZpY2VfdHJpZ2dlcl9yZXByb2JlKGNkZXYpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKKwkvKiBQcm9iZSBpZiBuZWNlc3NhcnkuICovCisJaWYgKGFjdGlvbiA9PSBVTlJFR0lTVEVSX1BST0JFKQorCQlyZXQgPSBjc3NfcHJvYmVfZGV2aWNlKHNjaC0+c2NoaWQpOworCisJcmV0dXJuIHJldDsKK30KKwogI2lmZGVmIENPTkZJR19DQ1dfQ09OU09MRQogc3RhdGljIHN0cnVjdCBjY3dfZGV2aWNlIGNvbnNvbGVfY2RldjsKIHN0YXRpYyBzdHJ1Y3QgY2N3X2RldmljZV9wcml2YXRlIGNvbnNvbGVfcHJpdmF0ZTsKQEAgLTEyOTcsMTQgKzE2MDAsMTYgQEAKIAlyZXR1cm4gJmNjd19jb25zb2xlX2xvY2s7CiB9CiAKLXN0YXRpYyBpbnQKLWNjd19kZXZpY2VfY29uc29sZV9lbmFibGUgKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQorc3RhdGljIGludCBjY3dfZGV2aWNlX2NvbnNvbGVfZW5hYmxlKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LAorCQkJCSAgICAgc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKIHsKIAlpbnQgcmM7CiAKIAkvKiBBdHRhY2ggc3ViY2hhbm5lbCBwcml2YXRlIGRhdGEuICovCiAJc2NoLT5wcml2YXRlID0gY2lvX2dldF9jb25zb2xlX3ByaXYoKTsKIAltZW1zZXQoc2NoLT5wcml2YXRlLCAwLCBzaXplb2Yoc3RydWN0IGlvX3N1YmNoYW5uZWxfcHJpdmF0ZSkpOworCWlvX3N1YmNoYW5uZWxfaW5pdF9maWVsZHMoc2NoKTsKKwlzY2gtPmRyaXZlciA9ICZpb19zdWJjaGFubmVsX2RyaXZlcjsKIAkvKiBJbml0aWFsaXplIHRoZSBjY3dfZGV2aWNlIHN0cnVjdHVyZS4gKi8KIAljZGV2LT5kZXYucGFyZW50PSAmc2NoLT5kZXY7CiAJcmMgPSBpb19zdWJjaGFubmVsX3JlY29nKGNkZXYsIHNjaCk7CkBAIC0xNTE1LDcxICsxODIwLDYgQEAKIAlyZXR1cm4gc2NoLT5zY2hpZDsKIH0KIAotc3RhdGljIGludCByZWNvdmVyeV9jaGVjayhzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXYgPSB0b19jY3dkZXYoZGV2KTsKLQlpbnQgKnJlZG8gPSBkYXRhOwotCi0Jc3Bpbl9sb2NrX2lycShjZGV2LT5jY3dsb2NrKTsKLQlzd2l0Y2ggKGNkZXYtPnByaXZhdGUtPnN0YXRlKSB7Ci0JY2FzZSBERVZfU1RBVEVfRElTQ09OTkVDVEVEOgotCQlDSU9fTVNHX0VWRU5UKDQsICJyZWNvdmVyeTogdHJpZ2dlciAwLiV4LiUwNHhcbiIsCi0JCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuc3NpZCwKLQkJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubyk7Ci0JCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7Ci0JCSpyZWRvID0gMTsKLQkJYnJlYWs7Ci0JY2FzZSBERVZfU1RBVEVfRElTQ09OTkVDVEVEX1NFTlNFX0lEOgotCQkqcmVkbyA9IDE7Ci0JCWJyZWFrOwotCX0KLQlzcGluX3VubG9ja19pcnEoY2Rldi0+Y2N3bG9jayk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgcmVjb3Zlcnlfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqdW51c2VkKQotewotCWludCByZWRvID0gMDsKLQotCWJ1c19mb3JfZWFjaF9kZXYoJmNjd19idXNfdHlwZSwgTlVMTCwgJnJlZG8sIHJlY292ZXJ5X2NoZWNrKTsKLQlpZiAocmVkbykgewotCQlzcGluX2xvY2tfaXJxKCZyZWNvdmVyeV9sb2NrKTsKLQkJaWYgKCF0aW1lcl9wZW5kaW5nKCZyZWNvdmVyeV90aW1lcikpIHsKLQkJCWlmIChyZWNvdmVyeV9waGFzZSA8IEFSUkFZX1NJWkUocmVjb3ZlcnlfZGVsYXkpIC0gMSkKLQkJCQlyZWNvdmVyeV9waGFzZSsrOwotCQkJbW9kX3RpbWVyKCZyZWNvdmVyeV90aW1lciwgamlmZmllcyArCi0JCQkJICByZWNvdmVyeV9kZWxheVtyZWNvdmVyeV9waGFzZV0gKiBIWik7Ci0JCX0KLQkJc3Bpbl91bmxvY2tfaXJxKCZyZWNvdmVyeV9sb2NrKTsKLQl9IGVsc2UKLQkJQ0lPX01TR19FVkVOVCg0LCAicmVjb3Zlcnk6IGVuZFxuIik7Ci19Ci0KLXN0YXRpYyBERUNMQVJFX1dPUksocmVjb3Zlcnlfd29yaywgcmVjb3Zlcnlfd29ya19mdW5jKTsKLQotc3RhdGljIHZvaWQgcmVjb3ZlcnlfZnVuYyh1bnNpZ25lZCBsb25nIGRhdGEpCi17Ci0JLyoKLQkgKiBXZSBjYW4ndCBkbyBvdXIgcmVjb3ZlcnkgaW4gc29mdGlycSBjb250ZXh0IGFuZCBpdCdzIG5vdAotCSAqIHBlcmZvcm1hbmNlIGNyaXRpY2FsLCBzbyB3ZSBzY2hlZHVsZSBpdC4KLQkgKi8KLQlzY2hlZHVsZV93b3JrKCZyZWNvdmVyeV93b3JrKTsKLX0KLQotdm9pZCBjY3dfZGV2aWNlX3NjaGVkdWxlX3JlY292ZXJ5KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCUNJT19NU0dfRVZFTlQoNCwgInJlY292ZXJ5OiBzY2hlZHVsZVxuIik7Ci0Jc3Bpbl9sb2NrX2lycXNhdmUoJnJlY292ZXJ5X2xvY2ssIGZsYWdzKTsKLQlpZiAoIXRpbWVyX3BlbmRpbmcoJnJlY292ZXJ5X3RpbWVyKSB8fCAocmVjb3ZlcnlfcGhhc2UgIT0gMCkpIHsKLQkJcmVjb3ZlcnlfcGhhc2UgPSAwOwotCQltb2RfdGltZXIoJnJlY292ZXJ5X3RpbWVyLCBqaWZmaWVzICsgcmVjb3ZlcnlfZGVsYXlbMF0gKiBIWik7Ci0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJlY292ZXJ5X2xvY2ssIGZsYWdzKTsKLX0KLQogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogRVhQT1JUX1NZTUJPTChjY3dfZGV2aWNlX3NldF9vbmxpbmUpOwogRVhQT1JUX1NZTUJPTChjY3dfZGV2aWNlX3NldF9vZmZsaW5lKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmggYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZS5oCmluZGV4IGNiMDgwOTIuLjk4MDBhODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuaApAQCAtODgsOCArODgsNiBAQAogaW50IGNjd19kZXZpY2Vfb25saW5lKHN0cnVjdCBjY3dfZGV2aWNlICopOwogaW50IGNjd19kZXZpY2Vfb2ZmbGluZShzdHJ1Y3QgY2N3X2RldmljZSAqKTsKIAotdm9pZCBjY3dfZGV2aWNlX3NjaGVkdWxlX3JlY292ZXJ5KHZvaWQpOwotCiAvKiBGdW5jdGlvbiBwcm90b3R5cGVzIGZvciBkZXZpY2Ugc3RhdHVzIGFuZCBiYXNpYyBzZW5zZSBzdHVmZi4gKi8KIHZvaWQgY2N3X2RldmljZV9hY2N1bXVsYXRlX2lyYihzdHJ1Y3QgY2N3X2RldmljZSAqLCBzdHJ1Y3QgaXJiICopOwogdm9pZCBjY3dfZGV2aWNlX2FjY3VtdWxhdGVfYmFzaWNfc2Vuc2Uoc3RydWN0IGNjd19kZXZpY2UgKiwgc3RydWN0IGlyYiAqKTsKQEAgLTExOCw2ICsxMTYsMTEgQEAKIAogaW50IGNjd19kZXZpY2Vfc3RsY2soc3RydWN0IGNjd19kZXZpY2UgKik7CiAKKy8qIEhlbHBlciBmdW5jdGlvbiBmb3IgbWFjaGluZSBjaGVjayBoYW5kbGluZy4gKi8KK3ZvaWQgY2N3X2RldmljZV90cmlnZ2VyX3JlcHJvYmUoc3RydWN0IGNjd19kZXZpY2UgKik7Cit2b2lkIGNjd19kZXZpY2Vfa2lsbF9pbyhzdHJ1Y3QgY2N3X2RldmljZSAqKTsKK2ludCBjY3dfZGV2aWNlX25vdGlmeShzdHJ1Y3QgY2N3X2RldmljZSAqLCBpbnQpOworCiAvKiBxZGlvIG5lZWRzIHRoaXMuICovCiB2b2lkIGNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoc3RydWN0IGNjd19kZXZpY2UgKiwgaW50KTsKIGV4dGVybiBzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBjY3dfZGV2aWNlX2dldF9zdWJjaGFubmVsX2lkKHN0cnVjdCBjY3dfZGV2aWNlICopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfZnNtLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9mc20uYwppbmRleCBlMjY4ZDVhLi44YjVmZTU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9mc20uYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9mc20uYwpAQCAtMiw4ICsyLDcgQEAKICAqIGRyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2ZzbS5jCiAgKiBmaW5pdGUgc3RhdGUgbWFjaGluZSBmb3IgZGV2aWNlIGhhbmRsaW5nCiAgKgotICogICAgQ29weXJpZ2h0IChDKSAyMDAyIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILAotICoJCQkgSUJNIENvcnBvcmF0aW9uCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDIsMjAwOAogICogICAgQXV0aG9yKHMpOiBDb3JuZWxpYSBIdWNrIChjb3JuZWxpYS5odWNrQGRlLmlibS5jb20pCiAgKgkJIE1hcnRpbiBTY2h3aWRlZnNreSAoc2Nod2lkZWZza3lAZGUuaWJtLmNvbSkKICAqLwpAQCAtMjcsNjUgKzI2LDYgQEAKIAogc3RhdGljIGludCB0aW1lb3V0X2xvZ19lbmFibGVkOwogCi1pbnQKLWRldmljZV9pc19vbmxpbmUoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKLXsKLQlzdHJ1Y3QgY2N3X2RldmljZSAqY2RldjsKLQotCWNkZXYgPSBzY2hfZ2V0X2NkZXYoc2NoKTsKLQlpZiAoIWNkZXYpCi0JCXJldHVybiAwOwotCXJldHVybiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX09OTElORSk7Ci19Ci0KLWludAotZGV2aWNlX2lzX2Rpc2Nvbm5lY3RlZChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldikKLQkJcmV0dXJuIDA7Ci0JcmV0dXJuIChjZGV2LT5wcml2YXRlLT5zdGF0ZSA9PSBERVZfU1RBVEVfRElTQ09OTkVDVEVEIHx8Ci0JCWNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9ESVNDT05ORUNURURfU0VOU0VfSUQpOwotfQotCi12b2lkCi1kZXZpY2Vfc2V0X2Rpc2Nvbm5lY3RlZChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldikKLQkJcmV0dXJuOwotCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7Ci0JY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuZmFrZV9pcmIgPSAwOwotCWNkZXYtPnByaXZhdGUtPnN0YXRlID0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRDsKLQlpZiAoY2Rldi0+b25saW5lKQotCQljY3dfZGV2aWNlX3NjaGVkdWxlX3JlY292ZXJ5KCk7Ci19Ci0KLXZvaWQgZGV2aWNlX3NldF9pbnRyZXRyeShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldikKLQkJcmV0dXJuOwotCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMTsKLX0KLQotaW50IGRldmljZV90cmlnZ2VyX3ZlcmlmeShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldiB8fCAhY2Rldi0+b25saW5lKQotCQlyZXR1cm4gLUVJTlZBTDsKLQlkZXZfZnNtX2V2ZW50KGNkZXYsIERFVl9FVkVOVF9WRVJJRlkpOwotCXJldHVybiAwOwotfQotCiBzdGF0aWMgaW50IF9faW5pdCBjY3dfdGltZW91dF9sb2dfc2V0dXAoY2hhciAqdW51c2VkKQogewogCXRpbWVvdXRfbG9nX2VuYWJsZWQgPSAxOwpAQCAtOTksMzEgKzM5LDQzIEBACiAJc3RydWN0IHNjaGliIHNjaGliOwogCXN0cnVjdCBzdWJjaGFubmVsICpzY2g7CiAJc3RydWN0IGlvX3N1YmNoYW5uZWxfcHJpdmF0ZSAqcHJpdmF0ZTsKKwl1bmlvbiBvcmIgKm9yYjsKIAlpbnQgY2M7CiAKIAlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwogCXByaXZhdGUgPSB0b19pb19wcml2YXRlKHNjaCk7CisJb3JiID0gJnByaXZhdGUtPm9yYjsKIAljYyA9IHN0c2NoKHNjaC0+c2NoaWQsICZzY2hpYik7CiAKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IGNjdyBkZXZpY2UgdGltZW91dCBvY2N1cnJlZCBhdCAlbGx4LCAiCiAJICAgICAgICJkZXZpY2UgaW5mb3JtYXRpb246XG4iLCBnZXRfY2xvY2soKSk7CiAJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBvcmI6XG4iKTsKIAlwcmludF9oZXhfZHVtcChLRVJOX1dBUk5JTkcsICJjaW86ICAiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwKLQkJICAgICAgICZwcml2YXRlLT5vcmIsIHNpemVvZihwcml2YXRlLT5vcmIpLCAwKTsKKwkJICAgICAgIG9yYiwgc2l6ZW9mKCpvcmIpLCAwKTsKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IGNjdyBkZXZpY2UgYnVzIGlkOiAlc1xuIiwgY2Rldi0+ZGV2LmJ1c19pZCk7CiAJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBzdWJjaGFubmVsIGJ1cyBpZDogJXNcbiIsIHNjaC0+ZGV2LmJ1c19pZCk7CiAJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBzdWJjaGFubmVsIGxwbTogJTAyeCwgb3BtOiAlMDJ4LCAiCiAJICAgICAgICJ2cG06ICUwMnhcbiIsIHNjaC0+bHBtLCBzY2gtPm9wbSwgc2NoLT52cG0pOwogCi0JaWYgKCh2b2lkICopKGFkZHJfdClwcml2YXRlLT5vcmIuY3BhID09ICZwcml2YXRlLT5zZW5zZV9jY3cgfHwKLQkgICAgKHZvaWQgKikoYWRkcl90KXByaXZhdGUtPm9yYi5jcGEgPT0gY2Rldi0+cHJpdmF0ZS0+aWNjd3MpCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogbGFzdCBjaGFubmVsIHByb2dyYW0gKGludGVybik6XG4iKTsKLQllbHNlCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogbGFzdCBjaGFubmVsIHByb2dyYW06XG4iKTsKKwlpZiAob3JiLT50bS5iKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogb3JiIGluZGljYXRlcyB0cmFuc3BvcnQgbW9kZVxuIik7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogbGFzdCB0Y3c6XG4iKTsKKwkJcHJpbnRfaGV4X2R1bXAoS0VSTl9XQVJOSU5HLCAiY2lvOiAgIiwgRFVNUF9QUkVGSVhfTk9ORSwgMTYsIDEsCisJCQkgICAgICAgKHZvaWQgKikoYWRkcl90KW9yYi0+dG0udGN3LAorCQkJICAgICAgIHNpemVvZihzdHJ1Y3QgdGN3KSwgMCk7CisJfSBlbHNlIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBvcmIgaW5kaWNhdGVzIGNvbW1hbmQgbW9kZVxuIik7CisJCWlmICgodm9pZCAqKShhZGRyX3Qpb3JiLT5jbWQuY3BhID09ICZwcml2YXRlLT5zZW5zZV9jY3cgfHwKKwkJICAgICh2b2lkICopKGFkZHJfdClvcmItPmNtZC5jcGEgPT0gY2Rldi0+cHJpdmF0ZS0+aWNjd3MpCisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IGxhc3QgY2hhbm5lbCBwcm9ncmFtICIKKwkJCSAgICAgICAiKGludGVybik6XG4iKTsKKwkJZWxzZQorCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBsYXN0IGNoYW5uZWwgcHJvZ3JhbTpcbiIpOwogCi0JcHJpbnRfaGV4X2R1bXAoS0VSTl9XQVJOSU5HLCAiY2lvOiAgIiwgRFVNUF9QUkVGSVhfTk9ORSwgMTYsIDEsCi0JCSAgICAgICAodm9pZCAqKShhZGRyX3QpcHJpdmF0ZS0+b3JiLmNwYSwKLQkJICAgICAgIHNpemVvZihzdHJ1Y3QgY2N3MSksIDApOworCQlwcmludF9oZXhfZHVtcChLRVJOX1dBUk5JTkcsICJjaW86ICAiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwKKwkJCSAgICAgICAodm9pZCAqKShhZGRyX3Qpb3JiLT5jbWQuY3BhLAorCQkJICAgICAgIHNpemVvZihzdHJ1Y3QgY2N3MSksIDApOworCX0KIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IGNjdyBkZXZpY2Ugc3RhdGU6ICVkXG4iLAogCSAgICAgICBjZGV2LT5wcml2YXRlLT5zdGF0ZSk7CiAJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBzdG9yZSBzdWJjaGFubmVsIHJldHVybmVkOiBjYz0lZFxuIiwgY2MpOwpAQCAtMTcxLDE4ICsxMjMsNiBAQAogCWFkZF90aW1lcigmY2Rldi0+cHJpdmF0ZS0+dGltZXIpOwogfQogCi0vKiBLaWxsIGFueSBwZW5kaW5nIHRpbWVycyBhZnRlciBtYWNoaW5lIGNoZWNrLiAqLwotdm9pZAotZGV2aWNlX2tpbGxfcGVuZGluZ190aW1lcihzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldikKLQkJcmV0dXJuOwotCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7Ci19Ci0KIC8qCiAgKiBDYW5jZWwgcnVubmluZyBpL28uIFRoaXMgaXMgY2FsbGVkIHJlcGVhdGVkbHkgc2luY2UgaGFsdC9jbGVhciBhcmUKICAqIGFzeW5jaHJvbm91cyBvcGVyYXRpb25zLiBXZSBkbyBvbmUgdHJ5IHdpdGggY2lvX2NhbmNlbCwgdHdvIHRyaWVzCkBAIC0yMDUsMTUgKzE0NSwxOCBAQAogCQkvKiBOb3Qgb3BlcmF0aW9uYWwgLT4gZG9uZS4gKi8KIAkJcmV0dXJuIDA7CiAJLyogU3RhZ2UgMTogY2FuY2VsIGlvLiAqLwotCWlmICghKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYgU0NTV19BQ1RMX0hBTFRfUEVORCkgJiYKLQkgICAgIShzY2gtPnNjaGliLnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9DTEVBUl9QRU5EKSkgewotCQlyZXQgPSBjaW9fY2FuY2VsKHNjaCk7Ci0JCWlmIChyZXQgIT0gLUVJTlZBTCkKLQkJCXJldHVybiByZXQ7Ci0JCS8qIGNhbmNlbCBpbyB1bnN1Y2Nlc3NmdWwuIEZyb20gbm93IG9uIGl0IGlzIGFzeW5jaHJvbm91cy4gKi8KKwlpZiAoIShzY3N3X2FjdGwoJnNjaC0+c2NoaWIuc2NzdykgJiBTQ1NXX0FDVExfSEFMVF9QRU5EKSAmJgorCSAgICAhKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfQUNUTF9DTEVBUl9QRU5EKSkgeworCQlpZiAoIXNjc3dfaXNfdG0oJnNjaC0+c2NoaWIuc2NzdykpIHsKKwkJCXJldCA9IGNpb19jYW5jZWwoc2NoKTsKKwkJCWlmIChyZXQgIT0gLUVJTlZBTCkKKwkJCQlyZXR1cm4gcmV0OworCQl9CisJCS8qIGNhbmNlbCBpbyB1bnN1Y2Nlc3NmdWwgb3Igbm90IGFwcGxpY2FibGUgKHRyYW5zcG9ydCBtb2RlKS4KKwkJICogQ29udGludWUgd2l0aCBhc3luY2hyb25vdXMgaW5zdHJ1Y3Rpb25zLiAqLwogCQljZGV2LT5wcml2YXRlLT5pcmV0cnkgPSAzOwkvKiAzIGhhbHQgcmV0cmllcy4gKi8KIAl9Ci0JaWYgKCEoc2NoLT5zY2hpYi5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfQ0xFQVJfUEVORCkpIHsKKwlpZiAoIShzY3N3X2FjdGwoJnNjaC0+c2NoaWIuc2NzdykgJiBTQ1NXX0FDVExfQ0xFQVJfUEVORCkpIHsKIAkJLyogU3RhZ2UgMjogaGFsdCBpby4gKi8KIAkJaWYgKGNkZXYtPnByaXZhdGUtPmlyZXRyeSkgewogCQkJY2Rldi0+cHJpdmF0ZS0+aXJldHJ5LS07CkBAIC0zODgsMzQgKzMzMSwzMCBAQAogCX0KIH0KIAoraW50IGNjd19kZXZpY2Vfbm90aWZ5KHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBpbnQgZXZlbnQpCit7CisJaWYgKCFjZGV2LT5kcnYpCisJCXJldHVybiAwOworCWlmICghY2Rldi0+b25saW5lKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gY2Rldi0+ZHJ2LT5ub3RpZnkgPyBjZGV2LT5kcnYtPm5vdGlmeShjZGV2LCBldmVudCkgOiAwOworfQorCiBzdGF0aWMgdm9pZAogY2N3X2RldmljZV9vcGVyX25vdGlmeShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7CiAJc3RydWN0IGNjd19kZXZpY2VfcHJpdmF0ZSAqcHJpdjsKIAlzdHJ1Y3QgY2N3X2RldmljZSAqY2RldjsKLQlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoOwogCWludCByZXQ7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCXByaXYgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGNjd19kZXZpY2VfcHJpdmF0ZSwga2lja193b3JrKTsKIAljZGV2ID0gcHJpdi0+Y2RldjsKLQlzcGluX2xvY2tfaXJxc2F2ZShjZGV2LT5jY3dsb2NrLCBmbGFncyk7Ci0Jc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKLQlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPm5vdGlmeSkgewotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGNkZXYtPmNjd2xvY2ssIGZsYWdzKTsKLQkJcmV0ID0gc2NoLT5kcml2ZXItPm5vdGlmeShzY2gsIENJT19PUEVSKTsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoY2Rldi0+Y2N3bG9jaywgZmxhZ3MpOwotCX0gZWxzZQotCQlyZXQgPSAwOworCXJldCA9IGNjd19kZXZpY2Vfbm90aWZ5KGNkZXYsIENJT19PUEVSKTsKIAlpZiAocmV0KSB7CiAJCS8qIFJlZW5hYmxlIGNoYW5uZWwgbWVhc3VyZW1lbnRzLCBpZiBuZWVkZWQuICovCi0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoY2Rldi0+Y2N3bG9jaywgZmxhZ3MpOwogCQljbWZfcmVlbmFibGUoY2Rldik7Ci0JCXNwaW5fbG9ja19pcnFzYXZlKGNkZXYtPmNjd2xvY2ssIGZsYWdzKTsKIAkJd2FrZV91cCgmY2Rldi0+cHJpdmF0ZS0+d2FpdF9xKTsKLQl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShjZGV2LT5jY3dsb2NrLCBmbGFncyk7Ci0JaWYgKCFyZXQpCisJfSBlbHNlCiAJCS8qIERyaXZlciBkb2Vzbid0IHdhbnQgZGV2aWNlIGJhY2suICovCiAJCWNjd19kZXZpY2VfZG9fdW5yZWdfcmVyZWcod29yayk7CiB9CkBAIC02MjEsMTAgKzU2MCwxMSBAQAogCQkvKiBEZWxpdmVyIGZha2UgaXJiIHRvIGRldmljZSBkcml2ZXIsIGlmIG5lZWRlZC4gKi8KIAkJaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmZha2VfaXJiKSB7CiAJCQltZW1zZXQoJmNkZXYtPnByaXZhdGUtPmlyYiwgMCwgc2l6ZW9mKHN0cnVjdCBpcmIpKTsKLQkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNjID0gMTsKLQkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmZjdGwgPSBTQ1NXX0ZDVExfU1RBUlRfRlVOQzsKLQkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmFjdGwgPSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKLQkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LnN0Y3RsID0gU0NTV19TVENUTF9TVEFUVVNfUEVORDsKKwkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5jYyA9IDE7CisJCQljZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuZmN0bCA9IFNDU1dfRkNUTF9TVEFSVF9GVU5DOworCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmFjdGwgPSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKKwkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5zdGN0bCA9CisJCQkJU0NTV19TVENUTF9TVEFUVVNfUEVORDsKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmZha2VfaXJiID0gMDsKIAkJCWlmIChjZGV2LT5oYW5kbGVyKQogCQkJCWNkZXYtPmhhbmRsZXIoY2RldiwgY2Rldi0+cHJpdmF0ZS0+aW50cGFybSwKQEAgLTcxOCwxMyArNjU4LDEwIEBACiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpIHx8ICFzY2gtPnNjaGliLnBtY3cuZG52KQogCQlyZXR1cm4gLUVOT0RFVjsKLQlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSkgewotCQlpZiAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgIT0gMCkKLQkJCXJldHVybiAtRUJVU1k7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQlpZiAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgIT0gMCkKKwlpZiAoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICE9IDApCiAJCXJldHVybiAtRUJVU1k7CisJaWYgKGNkZXYtPnByaXZhdGUtPnN0YXRlICE9IERFVl9TVEFURV9PTkxJTkUpCisJCXJldHVybiAtRUlOVkFMOwogCS8qIEFyZSB3ZSBkb2luZyBwYXRoIGdyb3VwaW5nPyAqLwogCWlmICghY2Rldi0+cHJpdmF0ZS0+b3B0aW9ucy5wZ3JvdXApIHsKIAkJLyogTm8sIHNldCBzdGF0ZSBvZmZsaW5lIGltbWVkaWF0ZWx5LiAqLwpAQCAtNzk5LDkgKzczNiw5IEBACiAJICovCiAJc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpOwogCi0JaWYgKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICE9IDAgfHwKLQkgICAgKHNjaC0+c2NoaWIuc2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIChjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSB7CisJaWYgKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAhPSAwIHx8CisJICAgIChzY3N3X3N0Y3RsKCZzY2gtPnNjaGliLnNjc3cpICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKKwkgICAgKHNjc3dfc3RjdGwoJmNkZXYtPnByaXZhdGUtPmlyYi5zY3N3KSAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSB7CiAJCS8qCiAJCSAqIE5vIGZpbmFsIHN0YXR1cyB5ZXQgb3IgZmluYWwgc3RhdHVzIG5vdCB5ZXQgZGVsaXZlcmVkCiAJCSAqIHRvIHRoZSBkZXZpY2UgZHJpdmVyLiBDYW4ndCBkbyBwYXRoIHZlcmZpY2F0aW9uIG5vdywKQEAgLTgyMywxMyArNzYwLDEzIEBACiBjY3dfZGV2aWNlX2lycShzdHJ1Y3QgY2N3X2RldmljZSAqY2RldiwgZW51bSBkZXZfZXZlbnQgZGV2X2V2ZW50KQogewogCXN0cnVjdCBpcmIgKmlyYjsKKwlpbnQgaXNfY21kOwogCiAJaXJiID0gKHN0cnVjdCBpcmIgKikgX19MQ19JUkI7CisJaXNfY21kID0gIXNjc3dfaXNfdG0oJmlyYi0+c2Nzdyk7CiAJLyogQ2hlY2sgZm9yIHVuc29saWNpdGVkIGludGVycnVwdC4gKi8KLQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAJCShTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKQotCSAgICAmJiAoIWlyYi0+c2Nzdy5jYykpIHsKLQkJaWYgKChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgorCWlmICghc2Nzd19pc19zb2xpY2l0ZWQoJmlyYi0+c2NzdykpIHsKKwkJaWYgKGlzX2NtZCAmJiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spICYmCiAJCSAgICAhaXJiLT5lc3cuZXN3MC5lcncuY29ucykgewogCQkJLyogVW5pdCBjaGVjayBidXQgbm8gc2Vuc2UgZGF0YS4gTmVlZCBiYXNpYyBzZW5zZS4gKi8KIAkJCWlmIChjY3dfZGV2aWNlX2RvX3NlbnNlKGNkZXYsIGlyYikgIT0gMCkKQEAgLTg0OCw3ICs3ODUsNyBAQAogCX0KIAkvKiBBY2N1bXVsYXRlIHN0YXR1cyBhbmQgZmluZCBvdXQgaWYgYSBiYXNpYyBzZW5zZSBpcyBuZWVkZWQuICovCiAJY2N3X2RldmljZV9hY2N1bXVsYXRlX2lyYihjZGV2LCBpcmIpOwotCWlmIChjZGV2LT5wcml2YXRlLT5mbGFncy5kb3NlbnNlKSB7CisJaWYgKGlzX2NtZCAmJiBjZGV2LT5wcml2YXRlLT5mbGFncy5kb3NlbnNlKSB7CiAJCWlmIChjY3dfZGV2aWNlX2RvX3NlbnNlKGNkZXYsIGlyYikgPT0gMCkgewogCQkJY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPSBERVZfU1RBVEVfVzRTRU5TRTsKIAkJfQpAQCAtODkyLDkgKzgyOSw5IEBACiAKIAlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKIAkvKiBDaGVjayBmb3IgdW5zb2xpY2l0ZWQgaW50ZXJydXB0LiAqLwotCWlmIChpcmItPnNjc3cuc3RjdGwgPT0KLQkgICAgCQkoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgewotCQlpZiAoaXJiLT5zY3N3LmNjID09IDEpCisJaWYgKHNjc3dfc3RjdGwoJmlyYi0+c2NzdykgPT0KKwkgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpIHsKKwkJaWYgKHNjc3dfY2MoJmlyYi0+c2NzdykgPT0gMSkKIAkJCS8qIEJhc2ljIHNlbnNlIGhhc24ndCBzdGFydGVkLiBUcnkgYWdhaW4uICovCiAJCQljY3dfZGV2aWNlX2RvX3NlbnNlKGNkZXYsIGlyYik7CiAJCWVsc2UgewpAQCAtOTEyLDcgKzg0OSw4IEBACiAJICogb25seSBkZWxpdmVyIHRoZSBoYWx0L2NsZWFyIGludGVycnVwdCB0byB0aGUgZGV2aWNlIGRyaXZlciBhcyBpZiBpdAogCSAqIGhhZCBraWxsZWQgdGhlIG9yaWdpbmFsIHJlcXVlc3QuCiAJICovCi0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9DTEVBUl9GVU5DIHwgU0NTV19GQ1RMX0hBTFRfRlVOQykpIHsKKwlpZiAoc2Nzd19mY3RsKCZpcmItPnNjc3cpICYKKwkgICAgKFNDU1dfRkNUTF9DTEVBUl9GVU5DIHwgU0NTV19GQ1RMX0hBTFRfRlVOQykpIHsKIAkJLyogUmV0cnkgQmFzaWMgU2Vuc2UgaWYgcmVxdWVzdGVkLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkpIHsKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMDsKQEAgLTk4NiwxMiArOTI0LDEwIEBACiAJCQkgICAgICBFUlJfUFRSKC1FSU8pKTsKIH0KIAotdm9pZCBkZXZpY2Vfa2lsbF9pbyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQordm9pZCBjY3dfZGV2aWNlX2tpbGxfaW8oc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpCiB7CiAJaW50IHJldDsKLQlzdHJ1Y3QgY2N3X2RldmljZSAqY2RldjsKIAotCWNkZXYgPSBzY2hfZ2V0X2NkZXYoc2NoKTsKIAlyZXQgPSBjY3dfZGV2aWNlX2NhbmNlbF9oYWx0X2NsZWFyKGNkZXYpOwogCWlmIChyZXQgPT0gLUVCVVNZKSB7CiAJCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMypIWik7CkBAIC0xMDIxLDkgKzk1Nyw5IEBACiAJY2FzZSBERVZfRVZFTlRfSU5URVJSVVBUOgogCQlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKIAkJLyogQ2hlY2sgZm9yIHVuc29saWNpdGVkIGludGVycnVwdC4gKi8KLQkJaWYgKChpcmItPnNjc3cuc3RjdGwgPT0KKwkJaWYgKChzY3N3X3N0Y3RsKCZpcmItPnNjc3cpID09CiAJCSAgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpICYmCi0JCSAgICAoIWlyYi0+c2Nzdy5jYykpCisJCSAgICAoIXNjc3dfY2MoJmlyYi0+c2NzdykpKQogCQkJLyogRklYTUU6IHdlIHNob3VsZCByZXN0YXJ0IHN0bGNrIGhlcmUsIGJ1dCB0aGlzCiAJCQkgKiBpcyBleHRyZW1lbHkgdW5saWtlbHkgLi4uICovCiAJCQlnb3RvIG91dF93YWtldXA7CkBAIC0xMDU1LDE3ICs5OTEsMTQgQEAKIAljY3dfZGV2aWNlX3NlbnNlX2lkX3N0YXJ0KGNkZXYpOwogfQogCi12b2lkCi1kZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit2b2lkIGNjd19kZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KQogewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OworCXN0cnVjdCBzdWJjaGFubmVsICpzY2g7CiAKLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2KQotCQlyZXR1cm47CiAJaWYgKGNkZXYtPnByaXZhdGUtPnN0YXRlICE9IERFVl9TVEFURV9ESVNDT05ORUNURUQpCiAJCXJldHVybjsKIAorCXNjaCA9IHRvX3N1YmNoYW5uZWwoY2Rldi0+ZGV2LnBhcmVudCk7CiAJLyogVXBkYXRlIHNvbWUgdmFsdWVzLiAqLwogCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYikpCiAJCXJldHVybjsKQEAgLTEwODEsNyArMTAxNCw2IEBACiAJc2NoLT5zY2hpYi5wbWN3LmVuYSA9IDA7CiAJaWYgKChzY2gtPmxwbSAmIChzY2gtPmxwbSAtIDEpKSAhPSAwKQogCQlzY2gtPnNjaGliLnBtY3cubXAgPSAxOwotCXNjaC0+c2NoaWIucG1jdy5pbnRwYXJtID0gKHUzMikoYWRkcl90KXNjaDsKIAkvKiBXZSBzaG91bGQgYWxzbyB1ZGF0ZSBzc2QgaW5mbywgYnV0IHRoaXMgaGFzIHRvIHdhaXQuICovCiAJLyogQ2hlY2sgaWYgdGhpcyBpcyBhbm90aGVyIGRldmljZSB3aGljaCBhcHBlYXJlZCBvbiB0aGUgc2FtZSBzY2guICovCiAJaWYgKHNjaC0+c2NoaWIucG1jdy5kZXYgIT0gY2Rldi0+cHJpdmF0ZS0+ZGV2X2lkLmRldm5vKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9pZC5jIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfaWQuYwppbmRleCBjYmE3MDIwNS4uMWJkYWE2MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfaWQuYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9pZC5jCkBAIC0xOTYsNyArMTk2LDcgQEAKIAlpcmIgPSAmY2Rldi0+cHJpdmF0ZS0+aXJiOwogCiAJLyogQ2hlY2sgdGhlIGVycm9yIGNhc2VzLiAqLwotCWlmIChpcmItPnNjc3cuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CiAJCS8qIFJldHJ5IFNlbnNlIElEIGlmIHJlcXVlc3RlZC4gKi8KIAkJaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5KSB7CiAJCQljZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSA9IDA7CkBAIC0yMzQsMTAgKzIzNCwxMCBAQAogCQkJICAgICAgaXJiLT5lY3dbNl0sIGlyYi0+ZWN3WzddKTsKIAkJcmV0dXJuIC1FQUdBSU47CiAJfQotCWlmIChpcmItPnNjc3cuY2MgPT0gMykgeworCWlmIChpcmItPnNjc3cuY21kLmNjID09IDMpIHsKIAkJdTggbHBtOwogCi0JCWxwbSA9IHRvX2lvX3ByaXZhdGUoc2NoKS0+b3JiLmxwbTsKKwkJbHBtID0gdG9faW9fcHJpdmF0ZShzY2gpLT5vcmIuY21kLmxwbTsKIAkJaWYgKChscG0gJiBzY2gtPnNjaGliLnBtY3cucGltICYgc2NoLT5zY2hpYi5wbWN3LnBhbSkgIT0gMCkKIAkJCUNJT19NU0dfRVZFTlQoNCwgIlNlbnNlSUQgOiBwYXRoICUwMlggZm9yIGRldmljZSAlMDR4ICIKIAkJCQkgICAgICAib24gc3ViY2hhbm5lbCAwLiV4LiUwNHggaXMgIgpAQCAtMjQ4LDkgKzI0OCw5IEBACiAJfQogCiAJLyogRGlkIHdlIGdldCBhIHByb3BlciBhbnN3ZXIgPyAqLwotCWlmIChpcmItPnNjc3cuY2MgPT0gMCAmJiBjZGV2LT5wcml2YXRlLT5zZW5zZWlkLmN1X3R5cGUgIT0gMHhGRkZGICYmCisJaWYgKGlyYi0+c2Nzdy5jbWQuY2MgPT0gMCAmJiBjZGV2LT5wcml2YXRlLT5zZW5zZWlkLmN1X3R5cGUgIT0gMHhGRkZGICYmCiAJICAgIGNkZXYtPnByaXZhdGUtPnNlbnNlaWQucmVzZXJ2ZWQgPT0gMHhGRikgewotCQlpZiAoaXJiLT5zY3N3LmNvdW50IDwgc2l6ZW9mKHN0cnVjdCBzZW5zZWlkKSAtIDgpCisJCWlmIChpcmItPnNjc3cuY21kLmNvdW50IDwgc2l6ZW9mKHN0cnVjdCBzZW5zZWlkKSAtIDgpCiAJCQljZGV2LT5wcml2YXRlLT5mbGFncy5lc2lkID0gMTsKIAkJcmV0dXJuIDA7IC8qIFN1Y2Nlc3MgKi8KIAl9CkBAIC0yNjAsNyArMjYwLDcgQEAKIAkJICAgICAgInN1YmNoYW5uZWwgMC4leC4lMDR4IHJldHVybnMgc3RhdHVzICUwMlglMDJYXG4iLAogCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8sIHNjaC0+c2NoaWQuc3NpZCwKIAkJICAgICAgc2NoLT5zY2hpZC5zY2hfbm8sCi0JCSAgICAgIGlyYi0+c2Nzdy5kc3RhdCwgaXJiLT5zY3N3LmNzdGF0KTsKKwkJICAgICAgaXJiLT5zY3N3LmNtZC5kc3RhdCwgaXJiLT5zY3N3LmNtZC5jc3RhdCk7CiAJcmV0dXJuIC1FQUdBSU47CiB9CiAKQEAgLTI3Nyw5ICsyNzcsOSBAQAogCXNjaCA9IHRvX3N1YmNoYW5uZWwoY2Rldi0+ZGV2LnBhcmVudCk7CiAJaXJiID0gKHN0cnVjdCBpcmIgKikgX19MQ19JUkI7CiAJLyogUmV0cnkgc2Vuc2UgaWQsIGlmIG5lZWRlZC4gKi8KLQlpZiAoaXJiLT5zY3N3LnN0Y3RsID09CisJaWYgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KIAkgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpIHsKLQkJaWYgKChpcmItPnNjc3cuY2MgPT0gMSkgfHwgIWlyYi0+c2Nzdy5hY3RsKSB7CisJCWlmICgoaXJiLT5zY3N3LmNtZC5jYyA9PSAxKSB8fCAhaXJiLT5zY3N3LmNtZC5hY3RsKSB7CiAJCQlyZXQgPSBfX2Njd19kZXZpY2Vfc2Vuc2VfaWRfc3RhcnQoY2Rldik7CiAJCQlpZiAocmV0ICYmIHJldCAhPSAtRUJVU1kpCiAJCQkJY2N3X2RldmljZV9zZW5zZV9pZF9kb25lKGNkZXYsIHJldCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9vcHMuYyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX29wcy5jCmluZGV4IGYzMDhhZDUuLmVlMWEyODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX29wcy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX29wcy5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8YXNtL2Njd2Rldi5oPgogI2luY2x1ZGUgPGFzbS9pZGFscy5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KIAogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNpb19kZWJ1Zy5oIgpAQCAtMTc5LDggKzE4MCw4IEBACiAJCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSB8fAotCSAgICAoKHNjaC0+c2NoaWIuc2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpICYmCi0JICAgICAhKHNjaC0+c2NoaWIuc2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykpIHx8CisJICAgICgoc2NoLT5zY2hpYi5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpICYmCisJICAgICAhKHNjaC0+c2NoaWIuc2Nzdy5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpKSB8fAogCSAgICBjZGV2LT5wcml2YXRlLT5mbGFncy5kb3ZlcmlmeSkKIAkJcmV0dXJuIC1FQlVTWTsKIAlyZXQgPSBjaW9fc2V0X29wdGlvbnMgKHNjaCwgZmxhZ3MpOwpAQCAtMzc5LDcgKzM4MCw3IEBACiAJaWYgKGNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9OT1RfT1BFUikKIAkJcmV0dXJuIC1FTk9ERVY7CiAJaWYgKGNkZXYtPnByaXZhdGUtPnN0YXRlICE9IERFVl9TVEFURV9PTkxJTkUgfHwKLQkgICAgIShzY2gtPnNjaGliLnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKQorCSAgICAhKHNjaC0+c2NoaWIuc2Nzdy5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKQogCQlyZXR1cm4gLUVJTlZBTDsKIAlyZXR1cm4gY2lvX3Jlc3VtZShzY2gpOwogfQpAQCAtNDA0LDcgKzQwNSw3IEBACiAJICogIC0gZmFzdCBub3RpZmljYXRpb24gd2FzIHJlcXVlc3RlZCAocHJpbWFyeSBzdGF0dXMpCiAJICogIC0gdW5zb2xpY2l0ZWQgaW50ZXJydXB0cwogCSAqLwotCXN0Y3RsID0gY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuc3RjdGw7CisJc3RjdGwgPSBzY3N3X3N0Y3RsKCZjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdyk7CiAJZW5kaW5nX3N0YXR1cyA9IChzdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKIAkJKHN0Y3RsID09IChTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSB8fAogCQkoc3RjdGwgPT0gU0NTV19TVENUTF9TVEFUVVNfUEVORCk7CkBAIC01MjgsMTQgKzUyOSwxNSBAQAogCQljaW9fZGlzYWJsZV9zdWJjaGFubmVsKHNjaCk7IC8vRklYTUU6IHJldHVybiBjb2RlPwogCQlnb3RvIG91dF91bmxvY2s7CiAJfQotCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmFjdGwgfD0gU0NTV19BQ1RMX1NUQVJUX1BFTkQ7CisJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmFjdGwgfD0gU0NTV19BQ1RMX1NUQVJUX1BFTkQ7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKLQl3YWl0X2V2ZW50KGNkZXYtPnByaXZhdGUtPndhaXRfcSwgY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuYWN0bCA9PSAwKTsKKwl3YWl0X2V2ZW50KGNkZXYtPnByaXZhdGUtPndhaXRfcSwKKwkJICAgY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmFjdGwgPT0gMCk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoc2NoLT5sb2NrLCBmbGFncyk7CiAJY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzY2gpOyAvL0ZJWE1FOiByZXR1cm4gY29kZT8KLQlpZiAoKGNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmRzdGF0ICE9CisJaWYgKChjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuZHN0YXQgIT0KIAkgICAgIChERVZfU1RBVF9DSE5fRU5EfERFVl9TVEFUX0RFVl9FTkQpKSB8fAotCSAgICAoY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY3N0YXQgIT0gMCkpCisJICAgIChjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuY3N0YXQgIT0gMCkpCiAJCXJldCA9IC1FSU87CiAJLyogQ2xlYXIgaXJiLiAqLwogCW1lbXNldCgmY2Rldi0+cHJpdmF0ZS0+aXJiLCAwLCBzaXplb2Yoc3RydWN0IGlyYikpOwpAQCAtNTY4LDYgKzU3MCwxMjIgQEAKIH0KIEVYUE9SVF9TWU1CT0woY2N3X2RldmljZV9nZXRfaWQpOwogCisvKioKKyAqIGNjd19kZXZpY2VfdG1fc3RhcnRfa2V5IC0gcGVyZm9ybSBzdGFydCBmdW5jdGlvbgorICogQGNkZXY6IGNjdyBkZXZpY2Ugb24gd2hpY2ggdG8gcGVyZm9ybSB0aGUgc3RhcnQgZnVuY3Rpb24KKyAqIEB0Y3c6IHRyYW5zcG9ydC1jb21tYW5kIHdvcmQgdG8gYmUgc3RhcnRlZAorICogQGludHBhcm06IHVzZXIgZGVmaW5lZCBwYXJhbWV0ZXIgdG8gYmUgcGFzc2VkIHRvIHRoZSBpbnRlcnJ1cHQgaGFuZGxlcgorICogQGxwbTogbWFzayBvZiBwYXRocyB0byB1c2UKKyAqIEBrZXk6IHN0b3JhZ2Uga2V5IHRvIHVzZSBmb3Igc3RvcmFnZSBhY2Nlc3MKKyAqCisgKiBTdGFydCB0aGUgdGN3IG9uIHRoZSBnaXZlbiBjY3cgZGV2aWNlLiBSZXR1cm4gemVybyBvbiBzdWNjZXNzLCBub24temVybworICogb3RoZXJ3aXNlLgorICovCitpbnQgY2N3X2RldmljZV90bV9zdGFydF9rZXkoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCB0Y3cgKnRjdywKKwkJCSAgICB1bnNpZ25lZCBsb25nIGludHBhcm0sIHU4IGxwbSwgdTgga2V5KQoreworCXN0cnVjdCBzdWJjaGFubmVsICpzY2g7CisJaW50IHJjOworCisJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKKwlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSkKKwkJcmV0dXJuIC1FSU87CisJLyogQWRqdXN0IHJlcXVlc3RlZCBwYXRoIG1hc2sgdG8gZXhjbHVkZWQgdmFyaWVkIG9mZiBwYXRocy4gKi8KKwlpZiAobHBtKSB7CisJCWxwbSAmPSBzY2gtPm9wbTsKKwkJaWYgKGxwbSA9PSAwKQorCQkJcmV0dXJuIC1FQUNDRVM7CisJfQorCXJjID0gY2lvX3RtX3N0YXJ0X2tleShzY2gsIHRjdywgbHBtLCBrZXkpOworCWlmIChyYyA9PSAwKQorCQljZGV2LT5wcml2YXRlLT5pbnRwYXJtID0gaW50cGFybTsKKwlyZXR1cm4gcmM7Cit9CitFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2VfdG1fc3RhcnRfa2V5KTsKKworLyoqCisgKiBjY3dfZGV2aWNlX3RtX3N0YXJ0X3RpbWVvdXRfa2V5IC0gcGVyZm9ybSBzdGFydCBmdW5jdGlvbgorICogQGNkZXY6IGNjdyBkZXZpY2Ugb24gd2hpY2ggdG8gcGVyZm9ybSB0aGUgc3RhcnQgZnVuY3Rpb24KKyAqIEB0Y3c6IHRyYW5zcG9ydC1jb21tYW5kIHdvcmQgdG8gYmUgc3RhcnRlZAorICogQGludHBhcm06IHVzZXIgZGVmaW5lZCBwYXJhbWV0ZXIgdG8gYmUgcGFzc2VkIHRvIHRoZSBpbnRlcnJ1cHQgaGFuZGxlcgorICogQGxwbTogbWFzayBvZiBwYXRocyB0byB1c2UKKyAqIEBrZXk6IHN0b3JhZ2Uga2V5IHRvIHVzZSBmb3Igc3RvcmFnZSBhY2Nlc3MKKyAqIEBleHBpcmVzOiB0aW1lIHNwYW4gaW4gamlmZmllcyBhZnRlciB3aGljaCB0byBhYm9ydCByZXF1ZXN0CisgKgorICogU3RhcnQgdGhlIHRjdyBvbiB0aGUgZ2l2ZW4gY2N3IGRldmljZS4gUmV0dXJuIHplcm8gb24gc3VjY2Vzcywgbm9uLXplcm8KKyAqIG90aGVyd2lzZS4KKyAqLworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCB0Y3cgKnRjdywKKwkJCQkgICAgdW5zaWduZWQgbG9uZyBpbnRwYXJtLCB1OCBscG0sIHU4IGtleSwKKwkJCQkgICAgaW50IGV4cGlyZXMpCit7CisJaW50IHJldDsKKworCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgZXhwaXJlcyk7CisJcmV0ID0gY2N3X2RldmljZV90bV9zdGFydF9rZXkoY2RldiwgdGN3LCBpbnRwYXJtLCBscG0sIGtleSk7CisJaWYgKHJldCAhPSAwKQorCQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkpOworCisvKioKKyAqIGNjd19kZXZpY2VfdG1fc3RhcnQgLSBwZXJmb3JtIHN0YXJ0IGZ1bmN0aW9uCisgKiBAY2RldjogY2N3IGRldmljZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBzdGFydCBmdW5jdGlvbgorICogQHRjdzogdHJhbnNwb3J0LWNvbW1hbmQgd29yZCB0byBiZSBzdGFydGVkCisgKiBAaW50cGFybTogdXNlciBkZWZpbmVkIHBhcmFtZXRlciB0byBiZSBwYXNzZWQgdG8gdGhlIGludGVycnVwdCBoYW5kbGVyCisgKiBAbHBtOiBtYXNrIG9mIHBhdGhzIHRvIHVzZQorICoKKyAqIFN0YXJ0IHRoZSB0Y3cgb24gdGhlIGdpdmVuIGNjdyBkZXZpY2UuIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvCisgKiBvdGhlcndpc2UuCisgKi8KK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0KHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3QgdGN3ICp0Y3csCisJCQl1bnNpZ25lZCBsb25nIGludHBhcm0sIHU4IGxwbSkKK3sKKwlyZXR1cm4gY2N3X2RldmljZV90bV9zdGFydF9rZXkoY2RldiwgdGN3LCBpbnRwYXJtLCBscG0sCisJCQkJICAgICAgIFBBR0VfREVGQVVMVF9LRVkpOworfQorRVhQT1JUX1NZTUJPTChjY3dfZGV2aWNlX3RtX3N0YXJ0KTsKKworLyoqCisgKiBjY3dfZGV2aWNlX3RtX3N0YXJ0X3RpbWVvdXQgLSBwZXJmb3JtIHN0YXJ0IGZ1bmN0aW9uCisgKiBAY2RldjogY2N3IGRldmljZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBzdGFydCBmdW5jdGlvbgorICogQHRjdzogdHJhbnNwb3J0LWNvbW1hbmQgd29yZCB0byBiZSBzdGFydGVkCisgKiBAaW50cGFybTogdXNlciBkZWZpbmVkIHBhcmFtZXRlciB0byBiZSBwYXNzZWQgdG8gdGhlIGludGVycnVwdCBoYW5kbGVyCisgKiBAbHBtOiBtYXNrIG9mIHBhdGhzIHRvIHVzZQorICogQGV4cGlyZXM6IHRpbWUgc3BhbiBpbiBqaWZmaWVzIGFmdGVyIHdoaWNoIHRvIGFib3J0IHJlcXVlc3QKKyAqCisgKiBTdGFydCB0aGUgdGN3IG9uIHRoZSBnaXZlbiBjY3cgZGV2aWNlLiBSZXR1cm4gemVybyBvbiBzdWNjZXNzLCBub24temVybworICogb3RoZXJ3aXNlLgorICovCitpbnQgY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0KHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3QgdGN3ICp0Y3csCisJCQkgICAgICAgdW5zaWduZWQgbG9uZyBpbnRwYXJtLCB1OCBscG0sIGludCBleHBpcmVzKQoreworCXJldHVybiBjY3dfZGV2aWNlX3RtX3N0YXJ0X3RpbWVvdXRfa2V5KGNkZXYsIHRjdywgaW50cGFybSwgbHBtLAorCQkJCQkgICAgICAgUEFHRV9ERUZBVUxUX0tFWSwgZXhwaXJlcyk7Cit9CitFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dCk7CisKKy8qKgorICogY2N3X2RldmljZV90bV9pbnRyZyAtIHBlcmZvcm0gaW50ZXJyb2dhdGUgZnVuY3Rpb24KKyAqIEBjZGV2OiBjY3cgZGV2aWNlIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIGludGVycm9nYXRlIGZ1bmN0aW9uCisgKgorICogUGVyZm9ybSBhbiBpbnRlcnJvZ2F0ZSBmdW5jdGlvbiBvbiB0aGUgZ2l2ZW4gY2N3IGRldmljZS4gUmV0dXJuIHplcm8gb24KKyAqIHN1Y2Nlc3MsIG5vbi16ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IGNjd19kZXZpY2VfdG1faW50cmcoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpCit7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaCA9IHRvX3N1YmNoYW5uZWwoY2Rldi0+ZGV2LnBhcmVudCk7CisKKwlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSkKKwkJcmV0dXJuIC1FSU87CisJaWYgKCFzY3N3X2lzX3RtKCZzY2gtPnNjaGliLnNjc3cpIHx8CisJICAgICEoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpIHwgU0NTV19BQ1RMX1NUQVJUX1BFTkQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlyZXR1cm4gY2lvX3RtX2ludHJnKHNjaCk7Cit9CitFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2VfdG1faW50cmcpOworCiAvLyBGSVhNRTogdGhlc2UgaGF2ZSB0byBnbzoKIAogaW50CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9wZ2lkLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9wZ2lkLmMKaW5kZXggNWNmN2JlMC4uODZiYzk0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfcGdpZC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3BnaWQuYwpAQCAtMjgsMTMgKzI4LDEzIEBACiAgKiBIZWxwZXIgZnVuY3Rpb24gY2FsbGVkIGZyb20gaW50ZXJydXB0IGNvbnRleHQgdG8gZGVjaWRlIHdoZXRoZXIgYW4KICAqIG9wZXJhdGlvbiBzaG91bGQgYmUgdHJpZWQgYWdhaW4uCiAgKi8KLXN0YXRpYyBpbnQgX19jY3dfZGV2aWNlX3Nob3VsZF9yZXRyeShzdHJ1Y3Qgc2NzdyAqc2NzdykKK3N0YXRpYyBpbnQgX19jY3dfZGV2aWNlX3Nob3VsZF9yZXRyeSh1bmlvbiBzY3N3ICpzY3N3KQogewogCS8qIENDIGlzIG9ubHkgdmFsaWQgaWYgc3RhcnQgZnVuY3Rpb24gYml0IGlzIHNldC4gKi8KLQlpZiAoKHNjc3ctPmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYgc2Nzdy0+Y2MgPT0gMSkKKwlpZiAoKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmIHNjc3ctPmNtZC5jYyA9PSAxKQogCQlyZXR1cm4gMTsKIAkvKiBObyBtb3JlIGFjdGl2aXR5LiBGb3Igc2Vuc2UgYW5kIHNldCBQR0lEIHdlIHN0dWJib3JubHkgdHJ5IGFnYWluLiAqLwotCWlmICghc2Nzdy0+YWN0bCkKKwlpZiAoIXNjc3ctPmNtZC5hY3RsKQogCQlyZXR1cm4gMTsKIAlyZXR1cm4gMDsKIH0KQEAgLTEyNSw3ICsxMjUsNyBAQAogCiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAlpcmIgPSAmY2Rldi0+cHJpdmF0ZS0+aXJiOwotCWlmIChpcmItPnNjc3cuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CiAJCS8qIFJldHJ5IFNlbnNlIFBHSUQgaWYgcmVxdWVzdGVkLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkpIHsKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMDsKQEAgLTE1NSwxMCArMTU1LDEwIEBACiAJCQkgICAgICBpcmItPmVjd1s2XSwgaXJiLT5lY3dbN10pOwogCQlyZXR1cm4gLUVBR0FJTjsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5jYyA9PSAzKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuY2MgPT0gMykgewogCQl1OCBscG07CiAKLQkJbHBtID0gdG9faW9fcHJpdmF0ZShzY2gpLT5vcmIubHBtOworCQlscG0gPSB0b19pb19wcml2YXRlKHNjaCktPm9yYi5jbWQubHBtOwogCQlDSU9fTVNHX0VWRU5UKDMsICJTTklEIC0gRGV2aWNlICUwNHggb24gU3ViY2hhbm5lbCAwLiV4LiUwNHgsIgogCQkJICAgICAgIiBscG0gJTAyWCwgYmVjYW1lICdub3Qgb3BlcmF0aW9uYWwnXG4iLAogCQkJICAgICAgY2Rldi0+cHJpdmF0ZS0+ZGV2X2lkLmRldm5vLCBzY2gtPnNjaGlkLnNzaWQsCkBAIC0xODgsNyArMTg4LDcgQEAKIAogCWlyYiA9IChzdHJ1Y3QgaXJiICopIF9fTENfSVJCOwogCi0JaWYgKGlyYi0+c2Nzdy5zdGN0bCA9PQorCWlmIChpcmItPnNjc3cuY21kLnN0Y3RsID09CiAJICAgIChTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKSB7CiAJCWlmIChfX2Njd19kZXZpY2Vfc2hvdWxkX3JldHJ5KCZpcmItPnNjc3cpKSB7CiAJCQlyZXQgPSBfX2Njd19kZXZpY2Vfc2Vuc2VfcGdpZF9zdGFydChjZGV2KTsKQEAgLTMzMSw3ICszMzEsNyBAQAogCiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAlpcmIgPSAmY2Rldi0+cHJpdmF0ZS0+aXJiOwotCWlmIChpcmItPnNjc3cuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CiAJCS8qIFJldHJ5IFNldCBQR0lEIGlmIHJlcXVlc3RlZC4gKi8KIAkJaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5KSB7CiAJCQljZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSA9IDA7CkBAIC0zNTUsNyArMzU1LDcgQEAKIAkJCSAgICAgIGlyYi0+ZWN3WzZdLCBpcmItPmVjd1s3XSk7CiAJCXJldHVybiAtRUFHQUlOOwogCX0KLQlpZiAoaXJiLT5zY3N3LmNjID09IDMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5jYyA9PSAzKSB7CiAJCUNJT19NU0dfRVZFTlQoMywgIlNQSUQgLSBEZXZpY2UgJTA0eCBvbiBTdWJjaGFubmVsIDAuJXguJTA0eCwiCiAJCQkgICAgICAiIGxwbSAlMDJYLCBiZWNhbWUgJ25vdCBvcGVyYXRpb25hbCdcbiIsCiAJCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8sIHNjaC0+c2NoaWQuc3NpZCwKQEAgLTM3Niw3ICszNzYsNyBAQAogCiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAlpcmIgPSAmY2Rldi0+cHJpdmF0ZS0+aXJiOwotCWlmIChpcmItPnNjc3cuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CiAJCS8qIFJldHJ5IE5PUCBpZiByZXF1ZXN0ZWQuICovCiAJCWlmIChjZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSkgewogCQkJY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkgPSAwOwpAQCAtMzg0LDcgKzM4NCw3IEBACiAJCX0KIAkJcmV0dXJuIC1FVElNRTsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5jYyA9PSAzKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuY2MgPT0gMykgewogCQlDSU9fTVNHX0VWRU5UKDMsICJOT1AgLSBEZXZpY2UgJTA0eCBvbiBTdWJjaGFubmVsIDAuJXguJTA0eCwiCiAJCQkgICAgICAiIGxwbSAlMDJYLCBiZWNhbWUgJ25vdCBvcGVyYXRpb25hbCdcbiIsCiAJCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8sIHNjaC0+c2NoaWQuc3NpZCwKQEAgLTQzOCw3ICs0MzgsNyBAQAogCiAJaXJiID0gKHN0cnVjdCBpcmIgKikgX19MQ19JUkI7CiAKLQlpZiAoaXJiLT5zY3N3LnN0Y3RsID09CisJaWYgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KIAkgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpIHsKIAkJaWYgKF9fY2N3X2RldmljZV9zaG91bGRfcmV0cnkoJmlyYi0+c2NzdykpCiAJCQlfX2Njd19kZXZpY2VfdmVyaWZ5X3N0YXJ0KGNkZXYpOwpAQCAtNTQ0LDcgKzU0NCw3IEBACiAKIAlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKIAotCWlmIChpcmItPnNjc3cuc3RjdGwgPT0KKwlpZiAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQogCSAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgewogCQlpZiAoX19jY3dfZGV2aWNlX3Nob3VsZF9yZXRyeSgmaXJiLT5zY3N3KSkKIAkJCV9fY2N3X2RldmljZV9kaXNiYW5kX3N0YXJ0KGNkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2Vfc3RhdHVzLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9zdGF0dXMuYwppbmRleCA0YTM4OTkzLi4xYjAzYzU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9zdGF0dXMuYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9zdGF0dXMuYwpAQCAtMjksOSArMjksMTEgQEAKIHN0YXRpYyB2b2lkCiBjY3dfZGV2aWNlX21zZ19jb250cm9sX2NoZWNrKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3QgaXJiICppcmIpCiB7Ci0JaWYgKCEoaXJiLT5zY3N3LmNzdGF0ICYgKFNDSE5fU1RBVF9DSE5fREFUQV9DSEsgfAotCQkJCSBTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLIHwKLQkJCQkgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEspKSkKKwljaGFyIGRiZl90ZXh0WzE1XTsKKworCWlmICghc2Nzd19pc192YWxpZF9jc3RhdCgmaXJiLT5zY3N3KSB8fAorCSAgICAhKHNjc3dfY3N0YXQoJmlyYi0+c2NzdykgJiAoU0NITl9TVEFUX0NITl9EQVRBX0NISyB8CisJICAgICAgU0NITl9TVEFUX0NITl9DVFJMX0NISyB8IFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLKSkpCiAJCXJldHVybjsKIAlDSU9fTVNHX0VWRU5UKDAsICJDaGFubmVsLUNoZWNrIG9yIEludGVyZmFjZS1Db250cm9sLUNoZWNrICIKIAkJICAgICAgInJlY2VpdmVkIgpAQCAtMzksMTUgKzQxLDEwIEBACiAJCSAgICAgICI6ICUwMlggc2NoX3N0YXQgOiAlMDJYXG4iLAogCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8sIGNkZXYtPnByaXZhdGUtPnNjaGlkLnNzaWQsCiAJCSAgICAgIGNkZXYtPnByaXZhdGUtPnNjaGlkLnNjaF9ubywKLQkJICAgICAgaXJiLT5zY3N3LmRzdGF0LCBpcmItPnNjc3cuY3N0YXQpOwotCi0JaWYgKGlyYi0+c2Nzdy5jYyAhPSAzKSB7Ci0JCWNoYXIgZGJmX3RleHRbMTVdOwotCi0JCXNwcmludGYoZGJmX3RleHQsICJjaGsleCIsIGNkZXYtPnByaXZhdGUtPnNjaGlkLnNjaF9ubyk7Ci0JCUNJT19UUkFDRV9FVkVOVCgwLCBkYmZfdGV4dCk7Ci0JCUNJT19IRVhfRVZFTlQoMCwgaXJiLCBzaXplb2YgKHN0cnVjdCBpcmIpKTsKLQl9CisJCSAgICAgIHNjc3dfZHN0YXQoJmlyYi0+c2NzdyksIHNjc3dfY3N0YXQoJmlyYi0+c2NzdykpOworCXNwcmludGYoZGJmX3RleHQsICJjaGsleCIsIGNkZXYtPnByaXZhdGUtPnNjaGlkLnNjaF9ubyk7CisJQ0lPX1RSQUNFX0VWRU5UKDAsIGRiZl90ZXh0KTsKKwlDSU9fSEVYX0VWRU5UKDAsIGlyYiwgc2l6ZW9mKHN0cnVjdCBpcmIpKTsKIH0KIAogLyoKQEAgLTgxLDEyICs3OCwxMiBAQAogCSAqIGFyZSBjb25kaXRpb24gdGhhdCBoYXZlIHRvIGJlIG1ldCBmb3IgdGhlIGV4dGVuZGVkIGNvbnRyb2wKIAkgKiBiaXQgdG8gaGF2ZSBtZWFuaW5nLiBTaWNrLgogCSAqLwotCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmVjdGwgPSAwOwotCWlmICgoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpICYmCi0JICAgICEoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpKQotCQljZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5lY3RsID0gaXJiLT5zY3N3LmVjdGw7CisJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmVjdGwgPSAwOworCWlmICgoaXJiLT5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSAmJgorCSAgICAhKGlyYi0+c2Nzdy5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykpCisJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5lY3RsID0gaXJiLT5zY3N3LmNtZC5lY3RsOwogCS8qIENoZWNrIGlmIGV4dGVuZGVkIGNvbnRyb2wgd29yZCBpcyB2YWxpZC4gKi8KLQlpZiAoIWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmVjdGwpCisJaWYgKCFjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuZWN0bCkKIAkJcmV0dXJuOwogCS8qIENvcHkgY29uY3VycmVudCBzZW5zZSAvIG1vZGVsIGRlcGVuZGVudCBpbmZvcm1hdGlvbi4gKi8KIAltZW1jcHkgKCZjZGV2LT5wcml2YXRlLT5pcmIuZWN3LCBpcmItPmVjdywgc2l6ZW9mIChpcmItPmVjdykpOwpAQCAtOTgsMTEgKzk1LDEyIEBACiBzdGF0aWMgaW50CiBjY3dfZGV2aWNlX2FjY3VtdWxhdGVfZXN3X3ZhbGlkKHN0cnVjdCBpcmIgKmlyYikKIHsKLQlpZiAoIWlyYi0+c2Nzdy5lc3dmICYmIGlyYi0+c2Nzdy5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKQorCWlmICghaXJiLT5zY3N3LmNtZC5lc3dmICYmCisJICAgIChpcmItPnNjc3cuY21kLnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKQogCQlyZXR1cm4gMDsKLQlpZiAoaXJiLT5zY3N3LnN0Y3RsID09IAotCSAgICAJCShTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVU3xTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgotCSAgICAhKGlyYi0+c2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCisJaWYgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCShTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVU3xTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAhKGlyYi0+c2Nzdy5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKQogCQlyZXR1cm4gMDsKIAlyZXR1cm4gMTsKIH0KQEAgLTEyNSw3ICsxMjMsNyBAQAogCWNkZXZfaXJiLT5lc3cuZXN3MS5scHVtID0gaXJiLT5lc3cuZXN3MS5scHVtOwogCiAJLyogQ29weSBzdWJjaGFubmVsIGxvZ291dCBpbmZvcm1hdGlvbiBpZiBlc3cgaXMgb2YgZm9ybWF0IDAuICovCi0JaWYgKGlyYi0+c2Nzdy5lc3dmKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZXN3ZikgewogCQljZGV2X3N1YmxvZyA9ICZjZGV2X2lyYi0+ZXN3LmVzdzAuc3VibG9nOwogCQlzdWJsb2cgPSAmaXJiLT5lc3cuZXN3MC5zdWJsb2c7CiAJCS8qIENvcHkgZXh0ZW5kZWQgc3RhdHVzIGZsYWdzLiAqLwpAQCAtMTM0LDcgKzEzMiw3IEBACiAJCSAqIENvcHkgZmllbGRzIHRoYXQgaGF2ZSBhIG1lYW5pbmcgZm9yIGNoYW5uZWwgZGF0YSBjaGVjawogCQkgKiBjaGFubmVsIGNvbnRyb2wgY2hlY2sgYW5kIGludGVyZmFjZSBjb250cm9sIGNoZWNrLgogCQkgKi8KLQkJaWYgKGlyYi0+c2Nzdy5jc3RhdCAmIChTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLIHwKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuY3N0YXQgJiAoU0NITl9TVEFUX0NITl9EQVRBX0NISyB8CiAJCQkJICAgICAgIFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEsgfAogCQkJCSAgICAgICBTQ0hOX1NUQVRfSU5URl9DVFJMX0NISykpIHsKIAkJCS8qIENvcHkgYW5jaWxsYXJ5IHJlcG9ydCBiaXQuICovCkBAIC0xNTUsNyArMTUzLDcgQEAKIAkJLyogQ29weSBpL28tZXJyb3IgYWxlcnQuICovCiAJCWNkZXZfc3VibG9nLT5pb2VyciA9IHN1YmxvZy0+aW9lcnI7CiAJCS8qIENvcHkgY2hhbm5lbCBwYXRoIHRpbWVvdXQgYml0LiAqLwotCQlpZiAoaXJiLT5zY3N3LmNzdGF0ICYgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEspCisJCWlmIChpcmItPnNjc3cuY21kLmNzdGF0ICYgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEspCiAJCQljZGV2X2lyYi0+ZXN3LmVzdzAuZXJ3LmNwdCA9IGlyYi0+ZXN3LmVzdzAuZXJ3LmNwdDsKIAkJLyogQ29weSBmYWlsaW5nIHN0b3JhZ2UgYWRkcmVzcyB2YWxpZGl0eSBmbGFnLiAqLwogCQljZGV2X2lyYi0+ZXN3LmVzdzAuZXJ3LmZzYXZmID0gaXJiLT5lc3cuZXN3MC5lcncuZnNhdmY7CkBAIC0yMDAsMjQgKzE5OCwyNCBAQAogCSAqIElmIG5vdCwgdGhlIHJlbWFpbmluZyBiaXQgaGF2ZSBubyBtZWFuaW5nIGFuZCB3ZSBtdXN0IGlnbm9yZSB0aGVtLgogCSAqIFRoZSBlc3cgaXMgbm90IG1lYW5pbmdmdWwgYXMgd2VsbC4uLgogCSAqLwotCWlmICghKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKQorCWlmICghKHNjc3dfc3RjdGwoJmlyYi0+c2NzdykgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkKIAkJcmV0dXJuOwogCiAJLyogQ2hlY2sgZm9yIGNoYW5uZWwgY2hlY2tzIGFuZCBpbnRlcmZhY2UgY29udHJvbCBjaGVja3MuICovCiAJY2N3X2RldmljZV9tc2dfY29udHJvbF9jaGVjayhjZGV2LCBpcmIpOwogCiAJLyogQ2hlY2sgZm9yIHBhdGggbm90IG9wZXJhdGlvbmFsLiAqLwotCWlmIChpcmItPnNjc3cucG5vICYmIGlyYi0+c2Nzdy5mY3RsICE9IDAgJiYKLQkgICAgKCEoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpIHx8Ci0JICAgICAoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSkpCisJaWYgKHNjc3dfaXNfdmFsaWRfcG5vKCZpcmItPnNjc3cpICYmIHNjc3dfcG5vKCZpcmItPnNjc3cpKQogCQljY3dfZGV2aWNlX3BhdGhfbm90b3BlcihjZGV2KTsKLQorCS8qIE5vIGlyYiBhY2N1bXVsYXRpb24gZm9yIHRyYW5zcG9ydCBtb2RlIGlyYnMuICovCisJaWYgKHNjc3dfaXNfdG0oJmlyYi0+c2NzdykpIHsKKwkJbWVtY3B5KCZjZGV2LT5wcml2YXRlLT5pcmIsIGlyYiwgc2l6ZW9mKHN0cnVjdCBpcmIpKTsKKwkJcmV0dXJuOworCX0KIAkvKgogCSAqIERvbid0IGFjY3VtdWxhdGUgdW5zb2xpY2l0ZWQgaW50ZXJydXB0cy4KIAkgKi8KLQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpICYmCi0JICAgICghaXJiLT5zY3N3LmNjKSkKKwlpZiAoIXNjc3dfaXNfc29saWNpdGVkKCZpcmItPnNjc3cpKQogCQlyZXR1cm47CiAKIAljZGV2X2lyYiA9ICZjZGV2LT5wcml2YXRlLT5pcmI7CkBAIC0yMjcsNjIgKzIyNSw2MyBAQAogCSAqIHN0YXR1cyBhdCB0aGUgc3ViY2hhbm5lbCBoYXMgYmVlbiBjbGVhcmVkIGFuZCB3ZSBtdXN0IG5vdCBwYXNzCiAJICogaW50ZXJtZWRpYXRlIGFjY3VtdWxhdGVkIHN0YXR1cyB0byB0aGUgZGV2aWNlIGRyaXZlci4KIAkgKi8KLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpCiAJCW1lbXNldCgmY2Rldi0+cHJpdmF0ZS0+aXJiLCAwLCBzaXplb2Yoc3RydWN0IGlyYikpOwogCiAJLyogQ29weSBiaXRzIHdoaWNoIGFyZSB2YWxpZCBvbmx5IGZvciB0aGUgc3RhcnQgZnVuY3Rpb24uICovCi0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpIHsKIAkJLyogQ29weSBrZXkuICovCi0JCWNkZXZfaXJiLT5zY3N3LmtleSA9IGlyYi0+c2Nzdy5rZXk7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5rZXkgPSBpcmItPnNjc3cuY21kLmtleTsKIAkJLyogQ29weSBzdXNwZW5kIGNvbnRyb2wgYml0LiAqLwotCQljZGV2X2lyYi0+c2Nzdy5zY3RsID0gaXJiLT5zY3N3LnNjdGw7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5zY3RsID0gaXJiLT5zY3N3LmNtZC5zY3RsOwogCQkvKiBBY2N1bXVsYXRlIGRlZmVycmVkIGNvbmRpdGlvbiBjb2RlLiAqLwotCQljZGV2X2lyYi0+c2Nzdy5jYyB8PSBpcmItPnNjc3cuY2M7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5jYyB8PSBpcmItPnNjc3cuY21kLmNjOwogCQkvKiBDb3B5IGNjdyBmb3JtYXQgYml0LiAqLwotCQljZGV2X2lyYi0+c2Nzdy5mbXQgPSBpcmItPnNjc3cuZm10OworCQljZGV2X2lyYi0+c2Nzdy5jbWQuZm10ID0gaXJiLT5zY3N3LmNtZC5mbXQ7CiAJCS8qIENvcHkgcHJlZmV0Y2ggYml0LiAqLwotCQljZGV2X2lyYi0+c2Nzdy5wZmNoID0gaXJiLT5zY3N3LnBmY2g7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5wZmNoID0gaXJiLT5zY3N3LmNtZC5wZmNoOwogCQkvKiBDb3B5IGluaXRpYWwtc3RhdHVzLWludGVycnVwdGlvbi1jb250cm9sLiAqLwotCQljZGV2X2lyYi0+c2Nzdy5pc2ljID0gaXJiLT5zY3N3LmlzaWM7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5pc2ljID0gaXJiLT5zY3N3LmNtZC5pc2ljOwogCQkvKiBDb3B5IGFkZHJlc3MgbGltaXQgY2hlY2tpbmcgY29udHJvbC4gKi8KLQkJY2Rldl9pcmItPnNjc3cuYWxjYyA9IGlyYi0+c2Nzdy5hbGNjOworCQljZGV2X2lyYi0+c2Nzdy5jbWQuYWxjYyA9IGlyYi0+c2Nzdy5jbWQuYWxjYzsKIAkJLyogQ29weSBzdXBwcmVzcyBzdXNwZW5kIGJpdC4gKi8KLQkJY2Rldl9pcmItPnNjc3cuc3NpID0gaXJiLT5zY3N3LnNzaTsKKwkJY2Rldl9pcmItPnNjc3cuY21kLnNzaSA9IGlyYi0+c2Nzdy5jbWQuc3NpOwogCX0KIAogCS8qIFRha2UgY2FyZSBvZiB0aGUgZXh0ZW5kZWQgY29udHJvbCBiaXQgYW5kIGV4dGVuZGVkIGNvbnRyb2wgd29yZC4gKi8KIAljY3dfZGV2aWNlX2FjY3VtdWxhdGVfZWN3KGNkZXYsIGlyYik7CiAJICAgIAogCS8qIEFjY3VtdWxhdGUgZnVuY3Rpb24gY29udHJvbC4gKi8KLQljZGV2X2lyYi0+c2Nzdy5mY3RsIHw9IGlyYi0+c2Nzdy5mY3RsOworCWNkZXZfaXJiLT5zY3N3LmNtZC5mY3RsIHw9IGlyYi0+c2Nzdy5jbWQuZmN0bDsKIAkvKiBDb3B5IGFjdGl2aXR5IGNvbnRyb2wuICovCi0JY2Rldl9pcmItPnNjc3cuYWN0bD0gaXJiLT5zY3N3LmFjdGw7CisJY2Rldl9pcmItPnNjc3cuY21kLmFjdGwgPSBpcmItPnNjc3cuY21kLmFjdGw7CiAJLyogQWNjdW11bGF0ZSBzdGF0dXMgY29udHJvbC4gKi8KLQljZGV2X2lyYi0+c2Nzdy5zdGN0bCB8PSBpcmItPnNjc3cuc3RjdGw7CisJY2Rldl9pcmItPnNjc3cuY21kLnN0Y3RsIHw9IGlyYi0+c2Nzdy5jbWQuc3RjdGw7CiAJLyoKIAkgKiBDb3B5IGNjdyBhZGRyZXNzIGlmIGl0IGlzIHZhbGlkLiBUaGlzIGlzIGEgYml0IHNpbXBsaWZpZWQKIAkgKiBidXQgc2hvdWxkIGJlIGNsb3NlIGVub3VnaCBmb3IgYWxsIHByYWN0aWNhbCBwdXJwb3Nlcy4KIAkgKi8KLQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpIHx8Ci0JICAgICgoaXJiLT5zY3N3LnN0Y3RsID09IAorCWlmICgoaXJiLT5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpIHx8CisJICAgICgoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQogCSAgICAgIChTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVU3xTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkgJiYKLQkgICAgIChpcmItPnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9ERVZBQ1QpICYmCi0JICAgICAoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU0NIQUNUKSkgfHwKLQkgICAgKGlyYi0+c2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCi0JCWNkZXZfaXJiLT5zY3N3LmNwYSA9IGlyYi0+c2Nzdy5jcGE7CisJICAgICAoaXJiLT5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX0RFVkFDVCkgJiYKKwkgICAgIChpcmItPnNjc3cuY21kLmFjdGwgJiBTQ1NXX0FDVExfU0NIQUNUKSkgfHwKKwkgICAgKGlyYi0+c2Nzdy5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKQorCQljZGV2X2lyYi0+c2Nzdy5jbWQuY3BhID0gaXJiLT5zY3N3LmNtZC5jcGE7CiAJLyogQWNjdW11bGF0ZSBkZXZpY2Ugc3RhdHVzLCBidXQgbm90IHRoZSBkZXZpY2UgYnVzeSBmbGFnLiAqLwotCWNkZXZfaXJiLT5zY3N3LmRzdGF0ICY9IH5ERVZfU1RBVF9CVVNZOworCWNkZXZfaXJiLT5zY3N3LmNtZC5kc3RhdCAmPSB+REVWX1NUQVRfQlVTWTsKIAkvKiBkc3RhdCBpcyBub3QgYWx3YXlzIHZhbGlkLiAqLwotCWlmIChpcmItPnNjc3cuc3RjdGwgJgorCWlmIChpcmItPnNjc3cuY21kLnN0Y3RsICYKIAkgICAgKFNDU1dfU1RDVExfUFJJTV9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMKIAkgICAgIHwgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpCi0JCWNkZXZfaXJiLT5zY3N3LmRzdGF0IHw9IGlyYi0+c2Nzdy5kc3RhdDsKKwkJY2Rldl9pcmItPnNjc3cuY21kLmRzdGF0IHw9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAJLyogQWNjdW11bGF0ZSBzdWJjaGFubmVsIHN0YXR1cy4gKi8KLQljZGV2X2lyYi0+c2Nzdy5jc3RhdCB8PSBpcmItPnNjc3cuY3N0YXQ7CisJY2Rldl9pcmItPnNjc3cuY21kLmNzdGF0IHw9IGlyYi0+c2Nzdy5jbWQuY3N0YXQ7CiAJLyogQ29weSByZXNpZHVhbCBjb3VudCBpZiBpdCBpcyB2YWxpZC4gKi8KLQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpICYmCi0JICAgIChpcmItPnNjc3cuY3N0YXQgJiB+KFNDSE5fU1RBVF9QQ0kgfCBTQ0hOX1NUQVRfSU5DT1JSX0xFTikpID09IDApCi0JCWNkZXZfaXJiLT5zY3N3LmNvdW50ID0gaXJiLT5zY3N3LmNvdW50OworCWlmICgoaXJiLT5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpICYmCisJICAgIChpcmItPnNjc3cuY21kLmNzdGF0ICYgfihTQ0hOX1NUQVRfUENJIHwgU0NITl9TVEFUX0lOQ09SUl9MRU4pKQorCSAgICAgPT0gMCkKKwkJY2Rldl9pcmItPnNjc3cuY21kLmNvdW50ID0gaXJiLT5zY3N3LmNtZC5jb3VudDsKIAogCS8qIFRha2UgY2FyZSBvZiBiaXRzIGluIHRoZSBleHRlbmRlZCBzdGF0dXMgd29yZC4gKi8KIAljY3dfZGV2aWNlX2FjY3VtdWxhdGVfZXN3KGNkZXYsIGlyYik7CkBAIC0yOTksNyArMjk4LDcgQEAKIAkgKgkgc2Vuc2UgZmFjaWxpdHkgYXZhaWxhYmxlL3N1cHBvcnRlZCB3aGVuIGVuYWJsaW5nIHRoZQogCSAqCSBjb25jdXJyZW50IHNlbnNlIGZhY2lsaXR5LgogCSAqLwotCWlmICgoY2Rldl9pcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgorCWlmICgoY2Rldl9pcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgJiYKIAkgICAgIShjZGV2X2lyYi0+ZXN3LmVzdzAuZXJ3LmNvbnMpKQogCQljZGV2LT5wcml2YXRlLT5mbGFncy5kb3NlbnNlID0gMTsKIH0KQEAgLTMxNyw3ICszMTYsNyBAQAogCXNjaCA9IHRvX3N1YmNoYW5uZWwoY2Rldi0+ZGV2LnBhcmVudCk7CiAKIAkvKiBBIHNlbnNlIGlzIHJlcXVpcmVkLCBjYW4gd2UgZG8gaXQgbm93ID8gKi8KLQlpZiAoKGlyYi0+c2Nzdy5hY3RsICAmIChTQ1NXX0FDVExfREVWQUNUIHwgU0NTV19BQ1RMX1NDSEFDVCkpICE9IDApCisJaWYgKHNjc3dfYWN0bCgmaXJiLT5zY3N3KSAmIChTQ1NXX0FDVExfREVWQUNUIHwgU0NTV19BQ1RMX1NDSEFDVCkpCiAJCS8qCiAJCSAqIHdlIHJlY2VpdmVkIGFuIFVuaXQgQ2hlY2sgYnV0IHdlIGhhdmUgbm8gZmluYWwKIAkJICogIHN0YXR1cyB5ZXQsIHRoZXJlZm9yZSB3ZSBtdXN0IGRlbGF5IHRoZSBTRU5TRQpAQCAtMzU1LDIwICszNTQsMTggQEAKIAkgKiBJZiBub3QsIHRoZSByZW1haW5pbmcgYml0IGhhdmUgbm8gbWVhbmluZyBhbmQgd2UgbXVzdCBpZ25vcmUgdGhlbS4KIAkgKiBUaGUgZXN3IGlzIG5vdCBtZWFuaW5nZnVsIGFzIHdlbGwuLi4KIAkgKi8KLQlpZiAoIShpcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkKKwlpZiAoIShzY3N3X3N0Y3RsKCZpcmItPnNjc3cpICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpCiAJCXJldHVybjsKIAogCS8qIENoZWNrIGZvciBjaGFubmVsIGNoZWNrcyBhbmQgaW50ZXJmYWNlIGNvbnRyb2wgY2hlY2tzLiAqLwogCWNjd19kZXZpY2VfbXNnX2NvbnRyb2xfY2hlY2soY2RldiwgaXJiKTsKIAogCS8qIENoZWNrIGZvciBwYXRoIG5vdCBvcGVyYXRpb25hbC4gKi8KLQlpZiAoaXJiLT5zY3N3LnBubyAmJiBpcmItPnNjc3cuZmN0bCAhPSAwICYmCi0JICAgICghKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKSB8fAotCSAgICAgKGlyYi0+c2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpKQorCWlmIChzY3N3X2lzX3ZhbGlkX3BubygmaXJiLT5zY3N3KSAmJiBzY3N3X3BubygmaXJiLT5zY3N3KSkKIAkJY2N3X2RldmljZV9wYXRoX25vdG9wZXIoY2Rldik7CiAKLQlpZiAoIShpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgotCSAgICAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQ0hOX0VORCkpIHsKKwlpZiAoIShpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgJiYKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSkgewogCQljZGV2LT5wcml2YXRlLT5pcmIuZXN3LmVzdzAuZXJ3LmNvbnMgPSAxOwogCQljZGV2LT5wcml2YXRlLT5mbGFncy5kb3NlbnNlID0gMDsKIAl9CkBAIC0zODYsMTEgKzM4MywxMSBAQAogY2N3X2RldmljZV9hY2N1bXVsYXRlX2FuZF9zZW5zZShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldiwgc3RydWN0IGlyYiAqaXJiKQogewogCWNjd19kZXZpY2VfYWNjdW11bGF0ZV9pcmIoY2RldiwgaXJiKTsKLQlpZiAoKGlyYi0+c2Nzdy5hY3RsICAmIChTQ1NXX0FDVExfREVWQUNUIHwgU0NTV19BQ1RMX1NDSEFDVCkpICE9IDApCisJaWYgKChpcmItPnNjc3cuY21kLmFjdGwgICYgKFNDU1dfQUNUTF9ERVZBQ1QgfCBTQ1NXX0FDVExfU0NIQUNUKSkgIT0gMCkKIAkJcmV0dXJuIC1FQlVTWTsKIAkvKiBDaGVjayBmb3IgYmFzaWMgc2Vuc2UuICovCiAJaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UgJiYKLQkgICAgIShpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSkgeworCSAgICAhKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSkgewogCQljZGV2LT5wcml2YXRlLT5pcmIuZXN3LmVzdzAuZXJ3LmNvbnMgPSAxOwogCQljZGV2LT5wcml2YXRlLT5mbGFncy5kb3NlbnNlID0gMDsKIAkJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2ZjeC5jIGIvZHJpdmVycy9zMzkwL2Npby9mY3guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTY3N2RmCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zMzkwL2Npby9mY3guYwpAQCAtMCwwICsxLDM1MCBAQAorLyoKKyAqICBGdW5jdGlvbnMgZm9yIGFzc2VtYmxpbmcgZmN4IGVuYWJsZWQgSS9PIGNvbnRyb2wgYmxvY2tzLgorICoKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogICAgQXV0aG9yKHMpOiBQZXRlciBPYmVycGFybGVpdGVyIDxwZXRlci5vYmVycGFybGVpdGVyQGRlLmlibS5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxhc20vZmN4Lmg+CisjaW5jbHVkZSAiY2lvLmgiCisKKy8qKgorICogdGN3X2dldF9pbnRyZyAtIHJldHVybiBwb2ludGVyIHRvIGFzc29jaWF0ZWQgaW50ZXJyb2dhdGUgdGN3CisgKiBAdGN3OiBwb2ludGVyIHRvIHRoZSBvcmlnaW5hbCB0Y3cKKyAqCisgKiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBpbnRlcnJvZ2F0ZSB0Y3cgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgdGN3CisgKiBvciAlTlVMTCBpZiB0aGVyZSBpcyBubyBhc3NvY2lhdGVkIGludGVycm9nYXRlIHRjdy4KKyAqLworc3RydWN0IHRjdyAqdGN3X2dldF9pbnRyZyhzdHJ1Y3QgdGN3ICp0Y3cpCit7CisJcmV0dXJuIChzdHJ1Y3QgdGN3ICopICgoYWRkcl90KSB0Y3ctPmludHJnKTsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2dldF9pbnRyZyk7CisKKy8qKgorICogdGN3X2dldF9kYXRhIC0gcmV0dXJuIHBvaW50ZXIgdG8gaW5wdXQvb3V0cHV0IGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRjdworICogQHRjdzogcG9pbnRlciB0byB0aGUgdGN3CisgKgorICogUmV0dXJuIHRoZSBpbnB1dCBvciBvdXRwdXQgZGF0YSBhZGRyZXNzIHNwZWNpZmllZCBpbiB0aGUgdGN3IGRlcGVuZGluZworICogb24gd2hldGhlciB0aGUgci1iaXQgb3IgdGhlIHctYml0IGlzIHNldC4gSWYgbmVpdGhlciBiaXQgaXMgc2V0LCByZXR1cm4KKyAqICVOVUxMLgorICovCit2b2lkICp0Y3dfZ2V0X2RhdGEoc3RydWN0IHRjdyAqdGN3KQoreworCWlmICh0Y3ctPnIpCisJCXJldHVybiAodm9pZCAqKSAoKGFkZHJfdCkgdGN3LT5pbnB1dCk7CisJaWYgKHRjdy0+dykKKwkJcmV0dXJuICh2b2lkICopICgoYWRkcl90KSB0Y3ctPm91dHB1dCk7CisJcmV0dXJuIE5VTEw7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19nZXRfZGF0YSk7CisKKy8qKgorICogdGN3X2dldF90Y2NiIC0gcmV0dXJuIHBvaW50ZXIgdG8gdGNjYiBhc3NvY2lhdGVkIHdpdGggdGN3CisgKiBAdGN3OiBwb2ludGVyIHRvIHRoZSB0Y3cKKyAqCisgKiBSZXR1cm4gcG9pbnRlciB0byB0aGUgdGNjYiBhc3NvY2lhdGVkIHdpdGggdGhpcyB0Y3cuCisgKi8KK3N0cnVjdCB0Y2NiICp0Y3dfZ2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3KQoreworCXJldHVybiAoc3RydWN0IHRjY2IgKikgKChhZGRyX3QpIHRjdy0+dGNjYik7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19nZXRfdGNjYik7CisKKy8qKgorICogdGN3X2dldF90c2IgLSByZXR1cm4gcG9pbnRlciB0byB0c2IgYXNzb2NpYXRlZCB3aXRoIHRjdworICogQHRjdzogcG9pbnRlciB0byB0aGUgdGN3CisgKgorICogUmV0dXJuIHBvaW50ZXIgdG8gdGhlIHRzYiBhc3NvY2lhdGVkIHdpdGggdGhpcyB0Y3cuCisgKi8KK3N0cnVjdCB0c2IgKnRjd19nZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdykKK3sKKwlyZXR1cm4gKHN0cnVjdCB0c2IgKikgKChhZGRyX3QpIHRjdy0+dHNiKTsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2dldF90c2IpOworCisvKioKKyAqIHRjd19pbml0IC0gaW5pdGlhbGl6ZSB0Y3cgZGF0YSBzdHJ1Y3R1cmUKKyAqIEB0Y3c6IHBvaW50ZXIgdG8gdGhlIHRjdyB0byBiZSBpbml0aWFsaXplZAorICogQHI6IGluaXRpYWwgdmFsdWUgb2YgdGhlIHItYml0CisgKiBAdzogaW5pdGlhbCB2YWx1ZSBvZiB0aGUgdy1iaXQKKyAqCisgKiBJbml0aWFsaXplIGFsbCBmaWVsZHMgb2YgdGhlIHNwZWNpZmllZCB0Y3cgZGF0YSBzdHJ1Y3R1cmUgd2l0aCB6ZXJvIGFuZAorICogZmlsbCBpbiB0aGUgZm9ybWF0LCBmbGFncywgciBhbmQgdyBmaWVsZHMuCisgKi8KK3ZvaWQgdGN3X2luaXQoc3RydWN0IHRjdyAqdGN3LCBpbnQgciwgaW50IHcpCit7CisJbWVtc2V0KHRjdywgMCwgc2l6ZW9mKHN0cnVjdCB0Y3cpKTsKKwl0Y3ctPmZvcm1hdCA9IFRDV19GT1JNQVRfREVGQVVMVDsKKwl0Y3ctPmZsYWdzID0gVENXX0ZMQUdTX1RJREFXX0ZPUk1BVChUQ1dfVElEQVdfRk9STUFUX0RFRkFVTFQpOworCWlmIChyKQorCQl0Y3ctPnIgPSAxOworCWlmICh3KQorCQl0Y3ctPncgPSAxOworfQorRVhQT1JUX1NZTUJPTCh0Y3dfaW5pdCk7CisKK3N0YXRpYyBpbmxpbmUgc2l6ZV90IHRjYV9zaXplKHN0cnVjdCB0Y2NiICp0Y2NiKQoreworCXJldHVybiB0Y2NiLT50Y2FoLnRjYWwgLSAxMjsKK30KKworc3RhdGljIHUzMiBjYWxjX2Rjd19jb3VudChzdHJ1Y3QgdGNjYiAqdGNjYikKK3sKKwlpbnQgb2Zmc2V0OworCXN0cnVjdCBkY3cgKmRjdzsKKwl1MzIgY291bnQgPSAwOworCXNpemVfdCBzaXplOworCisJc2l6ZSA9IHRjYV9zaXplKHRjY2IpOworCWZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwgc2l6ZTspIHsKKwkJZGN3ID0gKHN0cnVjdCBkY3cgKikgJnRjY2ItPnRjYVtvZmZzZXRdOworCQljb3VudCArPSBkY3ctPmNvdW50OworCQlpZiAoIShkY3ctPmZsYWdzICYgRENXX0ZMQUdTX0NDKSkKKwkJCWJyZWFrOworCQlvZmZzZXQgKz0gc2l6ZW9mKHN0cnVjdCBkY3cpICsgQUxJR04oKGludCkgZGN3LT5jZF9jb3VudCwgNCk7CisJfQorCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIHUzMiBjYWxjX2NiY19zaXplKHN0cnVjdCB0aWRhdyAqdGlkYXcsIGludCBudW0pCit7CisJaW50IGk7CisJdTMyIGNiY19kYXRhOworCXUzMiBjYmNfY291bnQgPSAwOworCXU2NCBkYXRhX2NvdW50ID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgeworCQlpZiAodGlkYXdbaV0uZmxhZ3MgJiBUSURBV19GTEFHU19MQVNUKQorCQkJYnJlYWs7CisJCS8qIFRPRE86IGZpbmQgb3V0IGlmIHBhZGRpbmcgYXBwbGllcyB0byB0b3RhbCBvZiBkYXRhCisJCSAqIHRyYW5zZmVycmVkIG9yIGRhdGEgdHJhbnNmZXJyZWQgYnkgdGhpcyB0aWRhdy4gQXNzdW1wdGlvbjoKKwkJICogYXBwbGllcyB0byB0b3RhbC4gKi8KKwkJZGF0YV9jb3VudCArPSB0aWRhd1tpXS5jb3VudDsKKwkJaWYgKHRpZGF3W2ldLmZsYWdzICYgVElEQVdfRkxBR1NfSU5TRVJUX0NCQykgeworCQkJY2JjX2RhdGEgPSA0ICsgQUxJR04oZGF0YV9jb3VudCwgNCkgLSBkYXRhX2NvdW50OworCQkJY2JjX2NvdW50ICs9IGNiY19kYXRhOworCQkJZGF0YV9jb3VudCArPSBjYmNfZGF0YTsKKwkJfQorCX0KKwlyZXR1cm4gY2JjX2NvdW50OworfQorCisvKioKKyAqIHRjd19maW5hbGl6ZSAtIGZpbmFsaXplIHRjdyBsZW5ndGggZmllbGRzIGFuZCB0aWRhdyBsaXN0CisgKiBAdGN3OiBwb2ludGVyIHRvIHRoZSB0Y3cKKyAqIEBudW1fdGlkYXdzOiB0aGUgbnVtYmVyIG9mIHRpZGF3cyB1c2VkIHRvIGFkZHJlc3MgaW5wdXQvb3V0cHV0IGRhdGEgb3IgemVybworICogaWYgbm8gdGlkYSBpcyB1c2VkCisgKgorICogQ2FsY3VsYXRlIHRoZSBpbnB1dC0vb3V0cHV0LWNvdW50IGFuZCB0Y2NibCBmaWVsZCBpbiB0aGUgdGN3LCBhZGQgYQorICogdGNhdCB0aGUgdGNjYiBhbmQgdGVybWluYXRlIHRoZSBkYXRhIHRpZGF3IGxpc3QgaWYgdXNlZC4KKyAqCisgKiBOb3RlOiBpbiBjYXNlIGlucHV0LSBvciBvdXRwdXQtdGlkYSBpcyB1c2VkLCB0aGUgdGlkYXctbGlzdCBtdXN0IGJlIHN0b3JlZAorICogaW4gY29udGlndW91cyBzdG9yYWdlIChubyB0dGljKS4gVGhlIHRjYWwgZmllbGQgaW4gdGhlIHRjY2IgbXVzdCBiZQorICogdXAtdG8tZGF0ZS4KKyAqLwordm9pZCB0Y3dfZmluYWxpemUoc3RydWN0IHRjdyAqdGN3LCBpbnQgbnVtX3RpZGF3cykKK3sKKwlzdHJ1Y3QgdGlkYXcgKnRpZGF3OworCXN0cnVjdCB0Y2NiICp0Y2NiOworCXN0cnVjdCB0Y2NiX3RjYXQgKnRjYXQ7CisJdTMyIGNvdW50OworCisJLyogVGVybWluYXRlIHRpZGF3IGxpc3QuICovCisJdGlkYXcgPSB0Y3dfZ2V0X2RhdGEodGN3KTsKKwlpZiAobnVtX3RpZGF3cyA+IDApCisJCXRpZGF3W251bV90aWRhd3MgLSAxXS5mbGFncyB8PSBUSURBV19GTEFHU19MQVNUOworCS8qIEFkZCB0Y2F0IHRvIHRjY2IuICovCisJdGNjYiA9IHRjd19nZXRfdGNjYih0Y3cpOworCXRjYXQgPSAoc3RydWN0IHRjY2JfdGNhdCAqKSAmdGNjYi0+dGNhW3RjYV9zaXplKHRjY2IpXTsKKwltZW1zZXQodGNhdCwgMCwgc2l6ZW9mKHRjYXQpKTsKKwkvKiBDYWxjdWxhdGUgdGN3IGlucHV0L291dHB1dCBjb3VudCBhbmQgdGNhdCB0cmFuc3BvcnQgY291bnQuICovCisJY291bnQgPSBjYWxjX2Rjd19jb3VudCh0Y2NiKTsKKwlpZiAodGN3LT53ICYmICh0Y3ctPmZsYWdzICYgVENXX0ZMQUdTX09VVFBVVF9USURBKSkKKwkJY291bnQgKz0gY2FsY19jYmNfc2l6ZSh0aWRhdywgbnVtX3RpZGF3cyk7CisJaWYgKHRjdy0+cikKKwkJdGN3LT5pbnB1dF9jb3VudCA9IGNvdW50OworCWVsc2UgaWYgKHRjdy0+dykKKwkJdGN3LT5vdXRwdXRfY291bnQgPSBjb3VudDsKKwl0Y2F0LT5jb3VudCA9IEFMSUdOKGNvdW50LCA0KSArIDQ7CisJLyogQ2FsY3VsYXRlIHRjY2JsLiAqLworCXRjdy0+dGNjYmwgPSAoc2l6ZW9mKHN0cnVjdCB0Y2NiKSArIHRjYV9zaXplKHRjY2IpICsKKwkJICAgICAgc2l6ZW9mKHN0cnVjdCB0Y2NiX3RjYXQpIC0gMjApID4+IDI7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19maW5hbGl6ZSk7CisKKy8qKgorICogdGN3X3NldF9pbnRyZyAtIHNldCB0aGUgaW50ZXJyb2dhdGUgdGN3IGFkZHJlc3Mgb2YgYSB0Y3cKKyAqIEB0Y3c6IHRoZSB0Y3cgYWRkcmVzcworICogQGludHJnX3RjdzogdGhlIGFkZHJlc3Mgb2YgdGhlIGludGVycm9nYXRlIHRjdworICoKKyAqIFNldCB0aGUgYWRkcmVzcyBvZiB0aGUgaW50ZXJyb2dhdGUgdGN3IGluIHRoZSBzcGVjaWZpZWQgdGN3LgorICovCit2b2lkIHRjd19zZXRfaW50cmcoc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdGN3ICppbnRyZ190Y3cpCit7CisJdGN3LT5pbnRyZyA9ICh1MzIpICgoYWRkcl90KSBpbnRyZ190Y3cpOworfQorRVhQT1JUX1NZTUJPTCh0Y3dfc2V0X2ludHJnKTsKKworLyoqCisgKiB0Y3dfc2V0X2RhdGEgLSBzZXQgZGF0YSBhZGRyZXNzIGFuZCB0aWRhIGZsYWcgb2YgYSB0Y3cKKyAqIEB0Y3c6IHRoZSB0Y3cgYWRkcmVzcworICogQGRhdGE6IHRoZSBkYXRhIGFkZHJlc3MKKyAqIEB1c2VfdGlkYWw6IHplcm8gb2YgdGhlIGRhdGEgYWRkcmVzcyBzcGVjaWZpZXMgYSBjb250aWd1b3VzIGJsb2NrIG9mIGRhdGEsCisgKiBub24temVybyBpZiBpdCBzcGVjaWZpZXMgYSBsaXN0IGlmIHRpZGF3cy4KKyAqCisgKiBTZXQgdGhlIGlucHV0L291dHB1dCBkYXRhIGFkZHJlc3Mgb2YgYSB0Y3cgKGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlCisgKiByLWZsYWcgYW5kIHctZmxhZykuIElmIEB1c2VfdGlkYWwgaXMgbm9uLXplcm8sIHRoZSBjb3JyZXNwb25kaW5nIHRpZGEgZmxhZworICogaXMgc2V0IGFzIHdlbGwuCisgKi8KK3ZvaWQgdGN3X3NldF9kYXRhKHN0cnVjdCB0Y3cgKnRjdywgdm9pZCAqZGF0YSwgaW50IHVzZV90aWRhbCkKK3sKKwlpZiAodGN3LT5yKSB7CisJCXRjdy0+aW5wdXQgPSAodTY0KSAoKGFkZHJfdCkgZGF0YSk7CisJCWlmICh1c2VfdGlkYWwpCisJCQl0Y3ctPmZsYWdzIHw9IFRDV19GTEFHU19JTlBVVF9USURBOworCX0gZWxzZSBpZiAodGN3LT53KSB7CisJCXRjdy0+b3V0cHV0ID0gKHU2NCkgKChhZGRyX3QpIGRhdGEpOworCQlpZiAodXNlX3RpZGFsKQorCQkJdGN3LT5mbGFncyB8PSBUQ1dfRkxBR1NfT1VUUFVUX1RJREE7CisJfQorfQorRVhQT1JUX1NZTUJPTCh0Y3dfc2V0X2RhdGEpOworCisvKioKKyAqIHRjd19zZXRfdGNjYiAtIHNldCB0Y2NiIGFkZHJlc3Mgb2YgYSB0Y3cKKyAqIEB0Y3c6IHRoZSB0Y3cgYWRkcmVzcworICogQHRjY2I6IHRoZSB0Y2NiIGFkZHJlc3MKKyAqCisgKiBTZXQgdGhlIGFkZHJlc3Mgb2YgdGhlIHRjY2IgaW4gdGhlIHNwZWNpZmllZCB0Y3cuCisgKi8KK3ZvaWQgdGN3X3NldF90Y2NiKHN0cnVjdCB0Y3cgKnRjdywgc3RydWN0IHRjY2IgKnRjY2IpCit7CisJdGN3LT50Y2NiID0gKHU2NCkgKChhZGRyX3QpIHRjY2IpOworfQorRVhQT1JUX1NZTUJPTCh0Y3dfc2V0X3RjY2IpOworCisvKioKKyAqIHRjd19zZXRfdHNiIC0gc2V0IHRzYiBhZGRyZXNzIG9mIGEgdGN3CisgKiBAdGN3OiB0aGUgdGN3IGFkZHJlc3MKKyAqIEB0c2I6IHRoZSB0c2IgYWRkcmVzcworICoKKyAqIFNldCB0aGUgYWRkcmVzcyBvZiB0aGUgdHNiIGluIHRoZSBzcGVjaWZpZWQgdGN3LgorICovCit2b2lkIHRjd19zZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdywgc3RydWN0IHRzYiAqdHNiKQoreworCXRjdy0+dHNiID0gKHU2NCkgKChhZGRyX3QpIHRzYik7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19zZXRfdHNiKTsKKworLyoqCisgKiB0Y2NiX2luaXQgLSBpbml0aWFsaXplIHRjY2IKKyAqIEB0Y2NiOiB0aGUgdGNjYiBhZGRyZXNzCisgKiBAc2l6ZTogdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgdGNjYgorICogQHNhYzogdGhlIHNlcnZpY2UtYWN0aW9uLWNvZGUgdG8gYmUgdXNlcgorICoKKyAqIEluaXRpYWxpemUgdGhlIGhlYWRlciBvZiB0aGUgc3BlY2lmaWVkIHRjY2IgYnkgcmVzZXR0aW5nIGFsbCB2YWx1ZXMgdG8gemVybworICogYW5kIGZpbGxpbmcgaW4gZGVmYXVsdHMgZm9yIGZvcm1hdCwgc2FjIGFuZCBpbml0aWFsIHRjYWwgZmllbGRzLgorICovCit2b2lkIHRjY2JfaW5pdChzdHJ1Y3QgdGNjYiAqdGNjYiwgc2l6ZV90IHNpemUsIHUzMiBzYWMpCit7CisJbWVtc2V0KHRjY2IsIDAsIHNpemUpOworCXRjY2ItPnRjYWguZm9ybWF0ID0gVENDQl9GT1JNQVRfREVGQVVMVDsKKwl0Y2NiLT50Y2FoLnNhYyA9IHNhYzsKKwl0Y2NiLT50Y2FoLnRjYWwgPSAxMjsKK30KK0VYUE9SVF9TWU1CT0wodGNjYl9pbml0KTsKKworLyoqCisgKiB0c2JfaW5pdCAtIGluaXRpYWxpemUgdHNiCisgKiBAdHNiOiB0aGUgdHNiIGFkZHJlc3MKKyAqCisgKiBJbml0aWFsaXplIHRoZSBzcGVjaWZpZWQgdHNiIGJ5IHJlc2V0dGluZyBhbGwgdmFsdWVzIHRvIHplcm8uCisgKi8KK3ZvaWQgdHNiX2luaXQoc3RydWN0IHRzYiAqdHNiKQoreworCW1lbXNldCh0c2IsIDAsIHNpemVvZih0c2IpKTsKK30KK0VYUE9SVF9TWU1CT0wodHNiX2luaXQpOworCisvKioKKyAqIHRjY2JfYWRkX2RjdyAtIGFkZCBhIGRjdyB0byB0aGUgdGNjYgorICogQHRjY2I6IHRoZSB0Y2NiIGFkZHJlc3MKKyAqIEB0Y2NiX3NpemU6IHRoZSBtYXhpbXVtIHRjY2Igc2l6ZQorICogQGNtZDogdGhlIGRjdyBjb21tYW5kCisgKiBAZmxhZ3M6IGZsYWdzIGZvciB0aGUgZGN3CisgKiBAY2Q6IHBvaW50ZXIgdG8gY29udHJvbCBkYXRhIGZvciB0aGlzIGRjdyBvciBOVUxMIGlmIG5vbmUgaXMgcmVxdWlyZWQKKyAqIEBjZF9jb3VudDogbnVtYmVyIG9mIGNvbnRyb2wgZGF0YSBieXRlcyBmb3IgdGhpcyBkY3cKKyAqIEBjb3VudDogbnVtYmVyIG9mIGRhdGEgYnl0ZXMgZm9yIHRoaXMgZGN3CisgKgorICogQWRkIGEgbmV3IGRjdyB0byB0aGUgc3BlY2lmaWVkIHRjY2IgYnkgd3JpdGluZyB0aGUgZGN3IGluZm9ybWF0aW9uIHNwZWNpZmllZAorICogYnkgQGNtZCwgQGZsYWdzLCBAY2QsIEBjZF9jb3VudCBhbmQgQGNvdW50IHRvIHRoZSB0Y2Egb2YgdGhlIHRjY2IuIFJldHVybgorICogYSBwb2ludGVyIHRvIHRoZSBuZXdseSBhZGRlZCBkY3cgb24gc3VjY2VzcyBvciAtJUVOT1NQQyBpZiB0aGUgbmV3IGRjdworICogd291bGQgZXhjZWVkIHRoZSBhdmFpbGFibGUgc3BhY2UgYXMgZGVmaW5lZCBieSBAdGNjYl9zaXplLgorICoKKyAqIE5vdGU6IHRoZSB0Y2FsIGZpZWxkIG9mIHRoZSB0Y2NiIGhlYWRlciB3aWxsIGJlIHVwZGF0ZXMgdG8gcmVmbGVjdCBhZGRlZAorICogY29udGVudC4KKyAqLworc3RydWN0IGRjdyAqdGNjYl9hZGRfZGN3KHN0cnVjdCB0Y2NiICp0Y2NiLCBzaXplX3QgdGNjYl9zaXplLCB1OCBjbWQsIHU4IGZsYWdzLAorCQkJIHZvaWQgKmNkLCB1OCBjZF9jb3VudCwgdTMyIGNvdW50KQoreworCXN0cnVjdCBkY3cgKmRjdzsKKwlpbnQgc2l6ZTsKKwlpbnQgdGNhX29mZnNldDsKKworCS8qIENoZWNrIGZvciBzcGFjZS4gKi8KKwl0Y2Ffb2Zmc2V0ID0gdGNhX3NpemUodGNjYik7CisJc2l6ZSA9IEFMSUdOKHNpemVvZihzdHJ1Y3QgZGN3KSArIGNkX2NvdW50LCA0KTsKKwlpZiAoc2l6ZW9mKHN0cnVjdCB0Y2NiX3RjYWgpICsgdGNhX29mZnNldCArIHNpemUgKworCSAgICBzaXplb2Yoc3RydWN0IHRjY2JfdGNhdCkgPiB0Y2NiX3NpemUpCisJCXJldHVybiBFUlJfUFRSKC1FTk9TUEMpOworCS8qIEFkZCBkY3cgdG8gdGNhLiAqLworCWRjdyA9IChzdHJ1Y3QgZGN3ICopICZ0Y2NiLT50Y2FbdGNhX29mZnNldF07CisJbWVtc2V0KGRjdywgMCwgc2l6ZSk7CisJZGN3LT5jbWQgPSBjbWQ7CisJZGN3LT5mbGFncyA9IGZsYWdzOworCWRjdy0+Y291bnQgPSBjb3VudDsKKwlkY3ctPmNkX2NvdW50ID0gY2RfY291bnQ7CisJaWYgKGNkKQorCQltZW1jcHkoJmRjdy0+Y2RbMF0sIGNkLCBjZF9jb3VudCk7CisJdGNjYi0+dGNhaC50Y2FsICs9IHNpemU7CisJcmV0dXJuIGRjdzsKK30KK0VYUE9SVF9TWU1CT0wodGNjYl9hZGRfZGN3KTsKKworLyoqCisgKiB0Y3dfYWRkX3RpZGF3IC0gYWRkIGEgdGlkYXcgdG8gYSB0Y3cKKyAqIEB0Y3c6IHRoZSB0Y3cgYWRkcmVzcworICogQG51bV90aWRhd3M6IHRoZSBjdXJyZW50IG51bWJlciBvZiB0aWRhd3MKKyAqIEBmbGFnczogZmxhZ3MgZm9yIHRoZSBuZXcgdGlkYXcKKyAqIEBhZGRyOiBhZGRyZXNzIHZhbHVlIGZvciB0aGUgbmV3IHRpZGF3CisgKiBAY291bnQ6IGNvdW50IHZhbHVlIGZvciB0aGUgbmV3IHRpZGF3CisgKgorICogQWRkIGEgbmV3IHRpZGF3IHRvIHRoZSBpbnB1dC9vdXRwdXQgZGF0YSB0aWRhdy1saXN0IG9mIHRoZSBzcGVjaWZpZWQgdGN3CisgKiAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUgci1mbGFnIGFuZCB3LWZsYWcpIGFuZCByZXR1cm4gYSBwb2ludGVyIHRvCisgKiB0aGUgbmV3IHRpZGF3LgorICoKKyAqIE5vdGU6IHRoZSB0aWRhdy1saXN0IGlzIGFzc3VtZWQgdG8gYmUgY29udGlndW91cyB3aXRoIG5vIHR0aWNzLiBUaGUgY2FsbGVyCisgKiBtdXN0IGVuc3VyZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBzcGFjZSBmb3IgdGhlIG5ldyB0aWRhdy4gVGhlIGxhc3QtdGlkYXcKKyAqIGZsYWcgZm9yIHRoZSBsYXN0IHRpZGF3IGluIHRoZSBsaXN0IHdpbGwgYmUgc2V0IGJ5IHRjd19maW5hbGl6ZS4KKyAqLworc3RydWN0IHRpZGF3ICp0Y3dfYWRkX3RpZGF3KHN0cnVjdCB0Y3cgKnRjdywgaW50IG51bV90aWRhd3MsIHU4IGZsYWdzLAorCQkJICAgIHZvaWQgKmFkZHIsIHUzMiBjb3VudCkKK3sKKwlzdHJ1Y3QgdGlkYXcgKnRpZGF3OworCisJLyogQWRkIHRpZGF3IHRvIHRpZGF3LWxpc3QuICovCisJdGlkYXcgPSAoKHN0cnVjdCB0aWRhdyAqKSB0Y3dfZ2V0X2RhdGEodGN3KSkgKyBudW1fdGlkYXdzOworCW1lbXNldCh0aWRhdywgMCwgc2l6ZW9mKHN0cnVjdCB0aWRhdykpOworCXRpZGF3LT5mbGFncyA9IGZsYWdzOworCXRpZGF3LT5jb3VudCA9IGNvdW50OworCXRpZGF3LT5hZGRyID0gKHU2NCkgKChhZGRyX3QpIGFkZHIpOworCXJldHVybiB0aWRhdzsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2FkZF90aWRhdyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2lkc2V0LmggYi9kcml2ZXJzL3MzOTAvY2lvL2lkc2V0LmgKaW5kZXggMTQ0NDY2YS4uNTI4MDY1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9pZHNldC5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vaWRzZXQuaApAQCAtOCw3ICs4LDcgQEAKICNpZm5kZWYgUzM5MF9JRFNFVF9ICiAjZGVmaW5lIFMzOTBfSURTRVRfSCBTMzkwX0lEU0VUX0gKIAotI2luY2x1ZGUgInNjaGlkLmgiCisjaW5jbHVkZSA8YXNtL3NjaGlkLmg+CiAKIHN0cnVjdCBpZHNldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9pb19zY2guaCBiL2RyaXZlcnMvczM5MC9jaW8vaW9fc2NoLmgKaW5kZXggOGM2MTMxNi4uM2Y4ZjFjZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9pb19zY2guaAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2lvX3NjaC5oCkBAIC0xLDEyICsxLDEyIEBACiAjaWZuZGVmIFMzOTBfSU9fU0NIX0gKICNkZWZpbmUgUzM5MF9JT19TQ0hfSAogCi0jaW5jbHVkZSAic2NoaWQuaCIKKyNpbmNsdWRlIDxhc20vc2NoaWQuaD4KIAogLyoKLSAqIG9wZXJhdGlvbiByZXF1ZXN0IGJsb2NrCisgKiBjb21tYW5kLW1vZGUgb3BlcmF0aW9uIHJlcXVlc3QgYmxvY2sKICAqLwotc3RydWN0IG9yYiB7CitzdHJ1Y3QgY21kX29yYiB7CiAJdTMyIGludHBhcm07CS8qIGludGVycnVwdGlvbiBwYXJhbWV0ZXIgKi8KIAl1MzIga2V5ICA6IDQ7CS8qIGZsYWdzLCBsaWtlIGtleSwgc3VzcGVuZCBjb250cm9sLCBldGMuICovCiAJdTMyIHNwbmQgOiAxOwkvKiBzdXNwZW5kIGNvbnRyb2wgKi8KQEAgLTI4LDggKzI4LDM2IEBACiAJdTMyIGNwYTsJLyogY2hhbm5lbCBwcm9ncmFtIGFkZHJlc3MgKi8KIH0gIF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIAorLyoKKyAqIHRyYW5zcG9ydC1tb2RlIG9wZXJhdGlvbiByZXF1ZXN0IGJsb2NrCisgKi8KK3N0cnVjdCB0bV9vcmIgeworCXUzMiBpbnRwYXJtOworCXUzMiBrZXk6NDsKKwl1MzIgOjk7CisJdTMyIGI6MTsKKwl1MzIgOjI7CisJdTMyIGxwbTo4OworCXUzMiA6NzsKKwl1MzIgeDoxOworCXUzMiB0Y3c7CisJdTMyIHByaW86ODsKKwl1MzIgOjg7CisJdTMyIHJzdnBnbTo4OworCXUzMiA6ODsKKwl1MzIgOjMyOworCXUzMiA6MzI7CisJdTMyIDozMjsKKwl1MzIgOjMyOworfSAgX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg0KSkpOworCit1bmlvbiBvcmIgeworCXN0cnVjdCBjbWRfb3JiIGNtZDsKKwlzdHJ1Y3QgdG1fb3JiIHRtOworfSAgX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg0KSkpOworCiBzdHJ1Y3QgaW9fc3ViY2hhbm5lbF9wcml2YXRlIHsKLQlzdHJ1Y3Qgb3JiIG9yYjsJCS8qIG9wZXJhdGlvbiByZXF1ZXN0IGJsb2NrICovCisJdW5pb24gb3JiIG9yYjsJCS8qIG9wZXJhdGlvbiByZXF1ZXN0IGJsb2NrICovCiAJc3RydWN0IGNjdzEgc2Vuc2VfY2N3OwkvKiBzdGF0aWMgY2N3IGZvciBzZW5zZSBjb21tYW5kICovCiB9IF9fYXR0cmlidXRlX18gKChhbGlnbmVkKDgpKSk7CiAKQEAgLTk1LDE2ICsxMjMsMTggQEAKIAl2b2lkICpjbWJfd2FpdDsJCQkvKiBkZWZlcnJlZCBjbWIgZW5hYmxlL2Rpc2FibGUgKi8KIH07CiAKLXN0YXRpYyBpbmxpbmUgaW50IHNzY2goc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQsIHZvbGF0aWxlIHN0cnVjdCBvcmIgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCBzc2NoKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkLCB2b2xhdGlsZSB1bmlvbiBvcmIgKmFkZHIpCiB7CiAJcmVnaXN0ZXIgc3RydWN0IHN1YmNoYW5uZWxfaWQgcmVnMSBhc20oIjEiKSA9IHNjaGlkOwotCWludCBjY29kZTsKKwlpbnQgY2NvZGUgPSAtRUlPOwogCiAJYXNtIHZvbGF0aWxlKAogCQkiCXNzY2gJMCglMilcbiIKLQkJIglpcG0JJTBcbiIKLQkJIglzcmwJJTAsMjgiCi0JCTogIj1kIiAoY2NvZGUpIDogImQiIChyZWcxKSwgImEiIChhZGRyKSwgIm0iICgqYWRkcikgOiAiY2MiKTsKKwkJIjA6CWlwbQklMFxuIgorCQkiCXNybAklMCwyOFxuIgorCQkiMTpcbiIKKwkJRVhfVEFCTEUoMGIsIDFiKQorCQk6ICIrZCIgKGNjb2RlKSA6ICJkIiAocmVnMSksICJhIiAoYWRkciksICJtIiAoKmFkZHIpIDogImNjIik7CiAJcmV0dXJuIGNjb2RlOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2lvYXNtLmggYi9kcml2ZXJzL3MzOTAvY2lvL2lvYXNtLmgKaW5kZXggNjUyZWEzNi4uOWZhMmFjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9pb2FzbS5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vaW9hc20uaApAQCAtMiw3ICsyLDcgQEAKICNkZWZpbmUgUzM5MF9DSU9fSU9BU01fSAogCiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+Ci0jaW5jbHVkZSAic2NoaWQuaCIKKyNpbmNsdWRlIDxhc20vc2NoaWQuaD4KIAogLyoKICAqIFRQSSBpbmZvIHN0cnVjdHVyZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9pc2MuYyBiL2RyaXZlcnMvczM5MC9jaW8vaXNjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU5MjA4NwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vaXNjLmMKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIEZ1bmN0aW9ucyBmb3IgcmVnaXN0cmF0aW9uIG9mIEkvTyBpbnRlcnJ1cHRpb24gc3ViY2xhc3NlcyBvbiBzMzkwLgorICoKKyAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogQXV0aG9yczogU2ViYXN0aWFuIE90dCA8c2Vib3R0QGxpbnV4LnZuZXQuaWJtLmNvbT4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxhc20vaXNjLmg+CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgaXNjX3JlZnNbTUFYX0lTQyArIDFdOworc3RhdGljIERFRklORV9TUElOTE9DSyhpc2NfcmVmX2xvY2spOworCisKKy8qKgorICogaXNjX3JlZ2lzdGVyIC0gcmVnaXN0ZXIgYW4gSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcy4KKyAqIEBpc2M6IEkvTyBpbnRlcnJ1cHRpb24gc3ViY2xhc3MgdG8gcmVnaXN0ZXIKKyAqCisgKiBUaGUgbnVtYmVyIG9mIHVzZXJzIGZvciBAaXNjIGlzIGluY3JlYXNlZC4gSWYgdGhpcyBpcyB0aGUgZmlyc3QgdXNlciB0bworICogcmVnaXN0ZXIgQGlzYywgdGhlIGNvcnJlc3BvbmRpbmcgSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcyBtYXNrIGlzIGVuYWJsZWQuCisgKgorICogQ29udGV4dDoKKyAqICAgVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgaW4gaW50ZXJydXB0IGNvbnRleHQuCisgKi8KK3ZvaWQgaXNjX3JlZ2lzdGVyKHVuc2lnbmVkIGludCBpc2MpCit7CisJaWYgKGlzYyA+IE1BWF9JU0MpIHsKKwkJV0FSTl9PTigxKTsKKwkJcmV0dXJuOworCX0KKworCXNwaW5fbG9jaygmaXNjX3JlZl9sb2NrKTsKKwlpZiAoaXNjX3JlZnNbaXNjXSA9PSAwKQorCQljdGxfc2V0X2JpdCg2LCAzMSAtIGlzYyk7CisJaXNjX3JlZnNbaXNjXSsrOworCXNwaW5fdW5sb2NrKCZpc2NfcmVmX2xvY2spOworfQorRVhQT1JUX1NZTUJPTF9HUEwoaXNjX3JlZ2lzdGVyKTsKKworLyoqCisgKiBpc2NfdW5yZWdpc3RlciAtIHVucmVnaXN0ZXIgYW4gSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcy4KKyAqIEBpc2M6IEkvTyBpbnRlcnJ1cHRpb24gc3ViY2xhc3MgdG8gdW5yZWdpc3RlcgorICoKKyAqIFRoZSBudW1iZXIgb2YgdXNlcnMgZm9yIEBpc2MgaXMgZGVjcmVhc2VkLiBJZiB0aGlzIGlzIHRoZSBsYXN0IHVzZXIgdG8KKyAqIHVucmVnaXN0ZXIgQGlzYywgdGhlIGNvcnJlc3BvbmRpbmcgSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcyBtYXNrIGlzCisgKiBkaXNhYmxlZC4KKyAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gbXVzdCBub3QgYmUgY2FsbGVkIGlmIGlzY19yZWdpc3RlcigpIGhhc24ndCBiZWVuIGNhbGxlZAorICogYmVmb3JlIGJ5IHRoZSBkcml2ZXIgZm9yIEBpc2MuCisgKgorICogQ29udGV4dDoKKyAqICAgVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgaW4gaW50ZXJydXB0IGNvbnRleHQuCisgKi8KK3ZvaWQgaXNjX3VucmVnaXN0ZXIodW5zaWduZWQgaW50IGlzYykKK3sKKwlzcGluX2xvY2soJmlzY19yZWZfbG9jayk7CisJLyogY2hlY2sgZm9yIG1pc3VzZSAqLworCWlmIChpc2MgPiBNQVhfSVNDIHx8IGlzY19yZWZzW2lzY10gPT0gMCkgeworCQlXQVJOX09OKDEpOworCQlnb3RvIG91dF91bmxvY2s7CisJfQorCWlmIChpc2NfcmVmc1tpc2NdID09IDEpCisJCWN0bF9jbGVhcl9iaXQoNiwgMzEgLSBpc2MpOworCWlzY19yZWZzW2lzY10tLTsKK291dF91bmxvY2s6CisJc3Bpbl91bmxvY2soJmlzY19yZWZfbG9jayk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChpc2NfdW5yZWdpc3Rlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2l0Y3cuYyBiL2RyaXZlcnMvczM5MC9jaW8vaXRjdy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZGE5YWIKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2l0Y3cuYwpAQCAtMCwwICsxLDMyNyBAQAorLyoKKyAqICBGdW5jdGlvbnMgZm9yIGluY3JlbWVudGFsIGNvbnN0cnVjdGlvbiBvZiBmY3ggZW5hYmxlZCBJL08gY29udHJvbCBibG9ja3MuCisgKgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiAgICBBdXRob3Iocyk6IFBldGVyIE9iZXJwYXJsZWl0ZXIgPHBldGVyLm9iZXJwYXJsZWl0ZXJAZGUuaWJtLmNvbT4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KKyNpbmNsdWRlIDxhc20vaXRjdy5oPgorCisvKioKKyAqIHN0cnVjdCBpdGN3IC0gaW5jcmVtZW50YWwgdGN3IGhlbHBlciBkYXRhIHR5cGUKKyAqCisgKiBUaGlzIHN0cnVjdHVyZSBzZXJ2ZXMgYXMgYSBoYW5kbGUgZm9yIHRoZSBpbmNyZW1lbnRhbCBjb25zdHJ1Y3Rpb24gb2YgYQorICogdGN3IGFuZCBhc3NvY2lhdGVkIHRjY2IsIHRzYiwgZGF0YSB0aWRhdy1saXN0IHBsdXMgYW4gb3B0aW9uYWwgaW50ZXJyb2dhdGUKKyAqIHRjdyBhbmQgYXNzb2NpYXRlZCBkYXRhLiBUaGUgZGF0YSBzdHJ1Y3R1cmVzIGFyZSBjb250YWluZWQgaW5zaWRlIGEgc2luZ2xlCisgKiBjb250aWd1b3VzIGJ1ZmZlciBwcm92aWRlZCBieSB0aGUgdXNlci4KKyAqCisgKiBUaGUgaXRjdyBjb25zdHJ1Y3Rpb24gZnVuY3Rpb25zIHRha2UgY2FyZSBvZiBvdmVyYWxsIGRhdGEgaW50ZWdyaXR5OgorICogLSByZXNldCB1bnVzZWQgZmllbGRzIHRvIHplcm8KKyAqIC0gZmlsbCBpbiByZXF1aXJlZCBwb2ludGVycworICogLSBlbnN1cmUgcmVxdWlyZWQgYWxpZ25tZW50IGZvciBkYXRhIHN0cnVjdHVyZXMKKyAqIC0gcHJldmVudCBkYXRhIHN0cnVjdHVyZXMgdG8gY3Jvc3MgNGstYnl0ZSBib3VuZGFyeSB3aGVyZSByZXF1aXJlZAorICogLSBjYWxjdWxhdGUgdGNjYi1yZWxhdGVkIGxlbmd0aCBmaWVsZHMKKyAqIC0gb3B0aW9uYWxseSBwcm92aWRlIHJlYWR5LW1hZGUgaW50ZXJyb2dhdGUgdGN3IGFuZCBhc3NvY2lhdGVkIHN0cnVjdHVyZXMKKyAqCisgKiBSZXN0cmljdGlvbnMgYXBwbHkgdG8gdGhlIGl0Y3dzIGNyZWF0ZWQgd2l0aCB0aGVzZSBjb25zdHJ1Y3Rpb24gZnVuY3Rpb25zOgorICogLSB0aWRhIG9ubHkgc3VwcG9ydGVkIGZvciBkYXRhIGFkZHJlc3MsIG5vdCBmb3IgdGNjYgorICogLSBvbmx5IGNvbnRpZ3VvdXMgdGlkYXctbGlzdHMgKG5vIHR0aWMpCisgKiAtIHRvdGFsIG51bWJlciBvZiBieXRlcyByZXF1aXJlZCBwZXIgaXRjdyBtYXkgbm90IGV4Y2VlZCA0ayBieXRlcworICogLSBlaXRoZXIgcmVhZCBvciB3cml0ZSBvcGVyYXRpb24gKG1heSBub3Qgd29yayB3aXRoIHI9MCBhbmQgdz0wKQorICoKKyAqIEV4YW1wbGU6CisgKiBzdHJ1Y3QgaXRjdyAqaXRjdzsKKyAqIHZvaWQgKmJ1ZmZlcjsKKyAqIHNpemVfdCBzaXplOworICoKKyAqIHNpemUgPSBpdGN3X2NhbGNfc2l6ZSgxLCAyLCAwKTsKKyAqIGJ1ZmZlciA9IGttYWxsb2Moc2l6ZSwgR0ZQX0RNQSk7CisgKiBpZiAoIWJ1ZmZlcikKKyAqCXJldHVybiAtRU5PTUVNOworICogaXRjdyA9IGl0Y3dfaW5pdChidWZmZXIsIHNpemUsIElUQ1dfT1BfUkVBRCwgMSwgMiwgMCk7CisgKiBpZiAoSVNfRVJSKGl0Y3cpKQorICoJcmV0dXJuIFBUUl9FUihpdGN3KTsKKyAqIGl0Y3dfYWRkX2RjdyhpdGN3LCAweDIsIDAsIE5VTEwsIDAsIDcyKTsKKyAqIGl0Y3dfYWRkX3RpZGF3KGl0Y3csIDAsIDB4MzAwMDAsIDIwKTsKKyAqIGl0Y3dfYWRkX3RpZGF3KGl0Y3csIDAsIDB4NDAwMDAsIDUyKTsKKyAqIGl0Y3dfZmluYWxpemUoaXRjdyk7CisgKgorICovCitzdHJ1Y3QgaXRjdyB7CisJc3RydWN0IHRjdyAqdGN3OworCXN0cnVjdCB0Y3cgKmludHJnX3RjdzsKKwlpbnQgbnVtX3RpZGF3czsKKwlpbnQgbWF4X3RpZGF3czsKKwlpbnQgaW50cmdfbnVtX3RpZGF3czsKKwlpbnQgaW50cmdfbWF4X3RpZGF3czsKK307CisKKy8qKgorICogaXRjd19nZXRfdGN3IC0gcmV0dXJuIHBvaW50ZXIgdG8gdGN3IGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRjdworICogQGl0Y3c6IGFkZHJlc3Mgb2YgdGhlIGl0Y3cKKyAqCisgKiBSZXR1cm4gcG9pbnRlciB0byB0aGUgdGN3IGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRjdy4KKyAqLworc3RydWN0IHRjdyAqaXRjd19nZXRfdGN3KHN0cnVjdCBpdGN3ICppdGN3KQoreworCXJldHVybiBpdGN3LT50Y3c7Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfZ2V0X3Rjdyk7CisKKy8qKgorICogaXRjd19jYWxjX3NpemUgLSByZXR1cm4gdGhlIHNpemUgb2YgYW4gaXRjdyB3aXRoIHRoZSBnaXZlbiBwYXJhbWV0ZXJzCisgKiBAaW50cmc6IGlmIG5vbi16ZXJvLCBhZGQgYW4gaW50ZXJyb2dhdGUgdGN3CisgKiBAbWF4X3RpZGF3czogbWF4aW11bSBudW1iZXIgb2YgdGlkYXdzIHRvIGJlIHVzZWQgZm9yIGRhdGEgYWRkcmVzc2luZyBvciB6ZXJvCisgKiBpZiBubyB0aWRhIGlzIHRvIGJlIHVzZWQuCisgKiBAaW50cmdfbWF4X3RpZGF3czogbWF4aW11bSBudW1iZXIgb2YgdGlkYXdzIHRvIGJlIHVzZWQgZm9yIGRhdGEgYWRkcmVzc2luZworICogYnkgdGhlIGludGVycm9nYXRlIHRjdywgaWYgc3BlY2lmaWVkCisgKgorICogQ2FsY3VsYXRlIGFuZCByZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcyByZXF1aXJlZCB0byBob2xkIGFuIGl0Y3cgd2l0aCB0aGUKKyAqIGdpdmVuIHBhcmFtZXRlcnMgYW5kIGFzc3VtaW5nIHRjY2JzIHdpdGggbWF4aW11bSBzaXplLgorICoKKyAqIE5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIHNpemUgYWxzbyBjb250YWlucyBieXRlcyBuZWVkZWQgZm9yIGFsaWdubWVudAorICogcGFkZGluZyBhcyB3ZWxsIGFzIHBhZGRpbmcgdG8gZW5zdXJlIHRoYXQgZGF0YSBzdHJ1Y3R1cmVzIGRvbid0IGNyb3NzIGEKKyAqIDRrLWJvdW5kYXJ5IHdoZXJlIHJlcXVpcmVkLgorICovCitzaXplX3QgaXRjd19jYWxjX3NpemUoaW50IGludHJnLCBpbnQgbWF4X3RpZGF3cywgaW50IGludHJnX21heF90aWRhd3MpCit7CisJc2l6ZV90IGxlbjsKKworCS8qIE1haW4gZGF0YS4gKi8KKwlsZW4gPSBzaXplb2Yoc3RydWN0IGl0Y3cpOworCWxlbiArPSAvKiBUQ1cgKi8gc2l6ZW9mKHN0cnVjdCB0Y3cpICsgLyogVENDQiAqLyBUQ0NCX01BWF9TSVpFICsKKwkgICAgICAgLyogVFNCICovIHNpemVvZihzdHJ1Y3QgdHNiKSArCisJICAgICAgIC8qIFRJREFMICovIG1heF90aWRhd3MgKiBzaXplb2Yoc3RydWN0IHRpZGF3KTsKKwkvKiBJbnRlcnJvZ2F0ZSBkYXRhLiAqLworCWlmIChpbnRyZykgeworCQlsZW4gKz0gLyogVENXICovIHNpemVvZihzdHJ1Y3QgdGN3KSArIC8qIFRDQ0IgKi8gVENDQl9NQVhfU0laRSArCisJCSAgICAgICAvKiBUU0IgKi8gc2l6ZW9mKHN0cnVjdCB0c2IpICsKKwkJICAgICAgIC8qIFRJREFMICovIGludHJnX21heF90aWRhd3MgKiBzaXplb2Yoc3RydWN0IHRpZGF3KTsKKwl9CisJLyogTWF4aW11bSByZXF1aXJlZCBhbGlnbm1lbnQgcGFkZGluZy4gKi8KKwlsZW4gKz0gLyogSW5pdGlhbCBUQ1cgKi8gNjMgKyAvKiBJbnRlcnJvZ2F0ZSBUQ0NCICovIDc7CisJLyogTWF4aW11bSBwYWRkaW5nIGZvciBzdHJ1Y3R1cmVzIHRoYXQgbWF5IG5vdCBjcm9zcyA0ayBib3VuZGFyeS4gKi8KKwlpZiAoKG1heF90aWRhd3MgPiAwKSB8fCAoaW50cmdfbWF4X3RpZGF3cyA+IDApKQorCQlsZW4gKz0gbWF4KG1heF90aWRhd3MsIGludHJnX21heF90aWRhd3MpICoKKwkJICAgICAgIHNpemVvZihzdHJ1Y3QgdGlkYXcpIC0gMTsKKwlyZXR1cm4gbGVuOworfQorRVhQT1JUX1NZTUJPTChpdGN3X2NhbGNfc2l6ZSk7CisKKyNkZWZpbmUgQ1JPU1M0Syh4LCBsKQkoKCh4KSAmIH40MDk1KSAhPSAoKHggKyBsKSAmIH40MDk1KSkKKworc3RhdGljIGlubGluZSB2b2lkICpmaXRfY2h1bmsoYWRkcl90ICpzdGFydCwgYWRkcl90IGVuZCwgc2l6ZV90IGxlbiwKKwkJCSAgICAgIGludCBhbGlnbiwgaW50IGNoZWNrXzRrKQoreworCWFkZHJfdCBhZGRyOworCisJYWRkciA9IEFMSUdOKCpzdGFydCwgYWxpZ24pOworCWlmIChjaGVja180ayAmJiBDUk9TUzRLKGFkZHIsIGxlbikpIHsKKwkJYWRkciA9IEFMSUdOKGFkZHIsIDQwOTYpOworCQlhZGRyID0gQUxJR04oYWRkciwgYWxpZ24pOworCX0KKwlpZiAoYWRkciArIGxlbiA+IGVuZCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT1NQQyk7CisJKnN0YXJ0ID0gYWRkciArIGxlbjsKKwlyZXR1cm4gKHZvaWQgKikgYWRkcjsKK30KKworLyoqCisgKiBpdGN3X2luaXQgLSBpbml0aWFsaXplIGluY3JlbWVudGFsIHRjdyBkYXRhIHN0cnVjdHVyZQorICogQGJ1ZmZlcjogYWRkcmVzcyBvZiBidWZmZXIgdG8gdXNlIGZvciBkYXRhIHN0cnVjdHVyZXMKKyAqIEBzaXplOiBudW1iZXIgb2YgYnl0ZXMgaW4gYnVmZmVyCisgKiBAb3A6ICVJVENXX09QX1JFQUQgZm9yIGEgcmVhZCBvcGVyYXRpb24gdGN3LCAlSVRDV19PUF9XUklURSBmb3IgYSB3cml0ZQorICogb3BlcmF0aW9uIHRjdworICogQGludHJnOiBpZiBub24temVybywgYWRkIGFuZCBpbml0aWFsaXplIGFuIGludGVycm9nYXRlIHRjdworICogQG1heF90aWRhd3M6IG1heGltdW0gbnVtYmVyIG9mIHRpZGF3cyB0byBiZSB1c2VkIGZvciBkYXRhIGFkZHJlc3Npbmcgb3IgemVybworICogaWYgbm8gdGlkYSBpcyB0byBiZSB1c2VkLgorICogQGludHJnX21heF90aWRhd3M6IG1heGltdW0gbnVtYmVyIG9mIHRpZGF3cyB0byBiZSB1c2VkIGZvciBkYXRhIGFkZHJlc3NpbmcKKyAqIGJ5IHRoZSBpbnRlcnJvZ2F0ZSB0Y3csIGlmIHNwZWNpZmllZAorICoKKyAqIFByZXBhcmUgdGhlIHNwZWNpZmllZCBidWZmZXIgdG8gYmUgdXNlZCBhcyBhbiBpbmNyZW1lbnRhbCB0Y3csIGkuZS4gYQorICogaGVscGVyIGRhdGEgc3RydWN0dXJlIHRoYXQgY2FuIGJlIHVzZWQgdG8gY29uc3RydWN0IGEgdmFsaWQgdGN3IGJ5CisgKiBzdWNjZXNzaXZlIGNhbGxzIHRvIG90aGVyIGhlbHBlciBmdW5jdGlvbnMuIE5vdGU6IHRoZSBidWZmZXIgbmVlZHMgdG8gYmUKKyAqIGxvY2F0ZWQgYmVsb3cgdGhlIDJHIGFkZHJlc3MgbGltaXQuIFRoZSByZXN1bHRpbmcgdGN3IGhhcyB0aGUgZm9sbG93aW5nCisgKiByZXN0cmljdGlvbnM6CisgKiAgLSBubyB0Y2NiIHRpZGFsCisgKiAgLSBpbnB1dC9vdXRwdXQgdGlkYWwgaXMgY29udGlndW91cyAobm8gdHRpYykKKyAqICAtIHRvdGFsIGRhdGEgc2hvdWxkIG5vdCBleGNlZWQgNGsKKyAqICAtIHRjdyBzcGVjaWZpZXMgZWl0aGVyIHJlYWQgb3Igd3JpdGUgb3BlcmF0aW9uCisgKgorICogT24gc3VjY2VzcywgcmV0dXJuIHBvaW50ZXIgdG8gdGhlIHJlc3VsdGluZyBpbmNyZW1lbnRhbCB0Y3cgZGF0YSBzdHJ1Y3R1cmUsCisgKiBFUlJfUFRSIG90aGVyd2lzZS4KKyAqLworc3RydWN0IGl0Y3cgKml0Y3dfaW5pdCh2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLCBpbnQgb3AsIGludCBpbnRyZywKKwkJICAgICAgIGludCBtYXhfdGlkYXdzLCBpbnQgaW50cmdfbWF4X3RpZGF3cykKK3sKKwlzdHJ1Y3QgaXRjdyAqaXRjdzsKKwl2b2lkICpjaHVuazsKKwlhZGRyX3Qgc3RhcnQ7CisJYWRkcl90IGVuZDsKKworCS8qIENoZWNrIGZvciAyRyBsaW1pdC4gKi8KKwlzdGFydCA9IChhZGRyX3QpIGJ1ZmZlcjsKKwllbmQgPSBzdGFydCArIHNpemU7CisJaWYgKGVuZCA+ICgxIDw8IDMxKSkKKwkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CisJbWVtc2V0KGJ1ZmZlciwgMCwgc2l6ZSk7CisJLyogSVRDVy4gKi8KKwljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgc2l6ZW9mKHN0cnVjdCBpdGN3KSwgMSwgMCk7CisJaWYgKElTX0VSUihjaHVuaykpCisJCXJldHVybiBjaHVuazsKKwlpdGN3ID0gY2h1bms7CisJaXRjdy0+bWF4X3RpZGF3cyA9IG1heF90aWRhd3M7CisJaXRjdy0+aW50cmdfbWF4X3RpZGF3cyA9IGludHJnX21heF90aWRhd3M7CisJLyogTWFpbiBUQ1cuICovCisJY2h1bmsgPSBmaXRfY2h1bmsoJnN0YXJ0LCBlbmQsIHNpemVvZihzdHJ1Y3QgdGN3KSwgNjQsIDApOworCWlmIChJU19FUlIoY2h1bmspKQorCQlyZXR1cm4gY2h1bms7CisJaXRjdy0+dGN3ID0gY2h1bms7CisJdGN3X2luaXQoaXRjdy0+dGN3LCAob3AgPT0gSVRDV19PUF9SRUFEKSA/IDEgOiAwLAorCQkgKG9wID09IElUQ1dfT1BfV1JJVEUpID8gMSA6IDApOworCS8qIEludGVycm9nYXRlIFRDVy4gKi8KKwlpZiAoaW50cmcpIHsKKwkJY2h1bmsgPSBmaXRfY2h1bmsoJnN0YXJ0LCBlbmQsIHNpemVvZihzdHJ1Y3QgdGN3KSwgNjQsIDApOworCQlpZiAoSVNfRVJSKGNodW5rKSkKKwkJCXJldHVybiBjaHVuazsKKwkJaXRjdy0+aW50cmdfdGN3ID0gY2h1bms7CisJCXRjd19pbml0KGl0Y3ctPmludHJnX3RjdywgMSwgMCk7CisJCXRjd19zZXRfaW50cmcoaXRjdy0+dGN3LCBpdGN3LT5pbnRyZ190Y3cpOworCX0KKwkvKiBEYXRhIFRJREFMLiAqLworCWlmIChtYXhfdGlkYXdzID4gMCkgeworCQljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgc2l6ZW9mKHN0cnVjdCB0aWRhdykgKgorCQkJCSAgbWF4X3RpZGF3cywgMTYsIDEpOworCQlpZiAoSVNfRVJSKGNodW5rKSkKKwkJCXJldHVybiBjaHVuazsKKwkJdGN3X3NldF9kYXRhKGl0Y3ctPnRjdywgY2h1bmssIDEpOworCX0KKwkvKiBJbnRlcnJvZ2F0ZSBkYXRhIFRJREFMLiAqLworCWlmIChpbnRyZyAmJiAoaW50cmdfbWF4X3RpZGF3cyA+IDApKSB7CisJCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBzaXplb2Yoc3RydWN0IHRpZGF3KSAqCisJCQkJICBpbnRyZ19tYXhfdGlkYXdzLCAxNiwgMSk7CisJCWlmIChJU19FUlIoY2h1bmspKQorCQkJcmV0dXJuIGNodW5rOworCQl0Y3dfc2V0X2RhdGEoaXRjdy0+aW50cmdfdGN3LCBjaHVuaywgMSk7CisJfQorCS8qIFRTQi4gKi8KKwljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgc2l6ZW9mKHN0cnVjdCB0c2IpLCA4LCAwKTsKKwlpZiAoSVNfRVJSKGNodW5rKSkKKwkJcmV0dXJuIGNodW5rOworCXRzYl9pbml0KGNodW5rKTsKKwl0Y3dfc2V0X3RzYihpdGN3LT50Y3csIGNodW5rKTsKKwkvKiBJbnRlcnJvZ2F0ZSBUU0IuICovCisJaWYgKGludHJnKSB7CisJCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBzaXplb2Yoc3RydWN0IHRzYiksIDgsIDApOworCQlpZiAoSVNfRVJSKGNodW5rKSkKKwkJCXJldHVybiBjaHVuazsKKwkJdHNiX2luaXQoY2h1bmspOworCQl0Y3dfc2V0X3RzYihpdGN3LT5pbnRyZ190Y3csIGNodW5rKTsKKwl9CisJLyogVENDQi4gKi8KKwljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgVENDQl9NQVhfU0laRSwgOCwgMCk7CisJaWYgKElTX0VSUihjaHVuaykpCisJCXJldHVybiBjaHVuazsKKwl0Y2NiX2luaXQoY2h1bmssIFRDQ0JfTUFYX1NJWkUsIFRDQ0JfU0FDX0RFRkFVTFQpOworCXRjd19zZXRfdGNjYihpdGN3LT50Y3csIGNodW5rKTsKKwkvKiBJbnRlcnJvZ2F0ZSBUQ0NCLiAqLworCWlmIChpbnRyZykgeworCQljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgVENDQl9NQVhfU0laRSwgOCwgMCk7CisJCWlmIChJU19FUlIoY2h1bmspKQorCQkJcmV0dXJuIGNodW5rOworCQl0Y2NiX2luaXQoY2h1bmssIFRDQ0JfTUFYX1NJWkUsIFRDQ0JfU0FDX0lOVFJHKTsKKwkJdGN3X3NldF90Y2NiKGl0Y3ctPmludHJnX3RjdywgY2h1bmspOworCQl0Y2NiX2FkZF9kY3coY2h1bmssIFRDQ0JfTUFYX1NJWkUsIERDV19DTURfSU5UUkcsIDAsIE5VTEwsCisJCQkgICAgIHNpemVvZihzdHJ1Y3QgZGN3X2ludHJnX2RhdGEpLCAwKTsKKwkJdGN3X2ZpbmFsaXplKGl0Y3ctPmludHJnX3RjdywgMCk7CisJfQorCXJldHVybiBpdGN3OworfQorRVhQT1JUX1NZTUJPTChpdGN3X2luaXQpOworCisvKioKKyAqIGl0Y3dfYWRkX2RjdyAtIGFkZCBhIGRjdyB0byB0aGUgaXRjdworICogQGl0Y3c6IGFkZHJlc3Mgb2YgdGhlIGl0Y3cKKyAqIEBjbWQ6IHRoZSBkY3cgY29tbWFuZAorICogQGZsYWdzOiBmbGFncyBmb3IgdGhlIGRjdworICogQGNkOiBhZGRyZXNzIG9mIGNvbnRyb2wgZGF0YSBmb3IgdGhpcyBkY3cgb3IgTlVMTCBpZiBub25lIGlzIHJlcXVpcmVkCisgKiBAY2RfY291bnQ6IG51bWJlciBvZiBjb250cm9sIGRhdGEgYnl0ZXMgZm9yIHRoaXMgZGN3CisgKiBAY291bnQ6IG51bWJlciBvZiBkYXRhIGJ5dGVzIGZvciB0aGlzIGRjdworICoKKyAqIEFkZCBhIG5ldyBkY3cgdG8gdGhlIHNwZWNpZmllZCBpdGN3IGJ5IHdyaXRpbmcgdGhlIGRjdyBpbmZvcm1hdGlvbiBzcGVjaWZpZWQKKyAqIGJ5IEBjbWQsIEBmbGFncywgQGNkLCBAY2RfY291bnQgYW5kIEBjb3VudCB0byB0aGUgdGNhIG9mIHRoZSB0Y2NiLiBSZXR1cm4KKyAqIGEgcG9pbnRlciB0byB0aGUgbmV3bHkgYWRkZWQgZGN3IG9uIHN1Y2Nlc3Mgb3IgLSVFTk9TUEMgaWYgdGhlIG5ldyBkY3cKKyAqIHdvdWxkIGV4Y2VlZCB0aGUgYXZhaWxhYmxlIHNwYWNlLgorICoKKyAqIE5vdGU6IHRoZSB0Y2FsIGZpZWxkIG9mIHRoZSB0Y2NiIGhlYWRlciB3aWxsIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCBhZGRlZAorICogY29udGVudC4KKyAqLworc3RydWN0IGRjdyAqaXRjd19hZGRfZGN3KHN0cnVjdCBpdGN3ICppdGN3LCB1OCBjbWQsIHU4IGZsYWdzLCB2b2lkICpjZCwKKwkJCSB1OCBjZF9jb3VudCwgdTMyIGNvdW50KQoreworCXJldHVybiB0Y2NiX2FkZF9kY3codGN3X2dldF90Y2NiKGl0Y3ctPnRjdyksIFRDQ0JfTUFYX1NJWkUsIGNtZCwKKwkJCSAgICBmbGFncywgY2QsIGNkX2NvdW50LCBjb3VudCk7Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfYWRkX2Rjdyk7CisKKy8qKgorICogaXRjd19hZGRfdGlkYXcgLSBhZGQgYSB0aWRhdyB0byB0aGUgaXRjdworICogQGl0Y3c6IGFkZHJlc3Mgb2YgdGhlIGl0Y3cKKyAqIEBmbGFnczogZmxhZ3MgZm9yIHRoZSBuZXcgdGlkYXcKKyAqIEBhZGRyOiBhZGRyZXNzIHZhbHVlIGZvciB0aGUgbmV3IHRpZGF3CisgKiBAY291bnQ6IGNvdW50IHZhbHVlIGZvciB0aGUgbmV3IHRpZGF3CisgKgorICogQWRkIGEgbmV3IHRpZGF3IHRvIHRoZSBpbnB1dC9vdXRwdXQgZGF0YSB0aWRhdy1saXN0IG9mIHRoZSBzcGVjaWZpZWQgaXRjdworICogKGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlIHItZmxhZyBhbmQgdy1mbGFnKS4gUmV0dXJuIGEgcG9pbnRlciB0bworICogdGhlIG5ldyB0aWRhdyBvbiBzdWNjZXNzIG9yIC0lRU5PU1BDIGlmIHRoZSBuZXcgdGlkYXcgd291bGQgZXhjZWVkIHRoZQorICogYXZhaWxhYmxlIHNwYWNlLgorICoKKyAqIE5vdGU6IHRoZSB0aWRhdy1saXN0IGlzIGFzc3VtZWQgdG8gYmUgY29udGlndW91cyB3aXRoIG5vIHR0aWNzLiBUaGUKKyAqIGxhc3QtdGlkYXcgZmxhZyBmb3IgdGhlIGxhc3QgdGlkYXcgaW4gdGhlIGxpc3Qgd2lsbCBiZSBzZXQgYnkgaXRjd19maW5hbGl6ZS4KKyAqLworc3RydWN0IHRpZGF3ICppdGN3X2FkZF90aWRhdyhzdHJ1Y3QgaXRjdyAqaXRjdywgdTggZmxhZ3MsIHZvaWQgKmFkZHIsIHUzMiBjb3VudCkKK3sKKwlpZiAoaXRjdy0+bnVtX3RpZGF3cyA+PSBpdGN3LT5tYXhfdGlkYXdzKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PU1BDKTsKKwlyZXR1cm4gdGN3X2FkZF90aWRhdyhpdGN3LT50Y3csIGl0Y3ctPm51bV90aWRhd3MrKywgZmxhZ3MsIGFkZHIsIGNvdW50KTsKK30KK0VYUE9SVF9TWU1CT0woaXRjd19hZGRfdGlkYXcpOworCisvKioKKyAqIGl0Y3dfc2V0X2RhdGEgLSBzZXQgZGF0YSBhZGRyZXNzIGFuZCB0aWRhIGZsYWcgb2YgdGhlIGl0Y3cKKyAqIEBpdGN3OiBhZGRyZXNzIG9mIHRoZSBpdGN3CisgKiBAYWRkcjogdGhlIGRhdGEgYWRkcmVzcworICogQHVzZV90aWRhbDogemVybyBvZiB0aGUgZGF0YSBhZGRyZXNzIHNwZWNpZmllcyBhIGNvbnRpZ3VvdXMgYmxvY2sgb2YgZGF0YSwKKyAqIG5vbi16ZXJvIGlmIGl0IHNwZWNpZmllcyBhIGxpc3QgaWYgdGlkYXdzLgorICoKKyAqIFNldCB0aGUgaW5wdXQvb3V0cHV0IGRhdGEgYWRkcmVzcyBvZiB0aGUgaXRjdyAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUKKyAqIHItZmxhZyBhbmQgdy1mbGFnKS4gSWYgQHVzZV90aWRhbCBpcyBub24temVybywgdGhlIGNvcnJlc3BvbmRpbmcgdGlkYSBmbGFnCisgKiBpcyBzZXQgYXMgd2VsbC4KKyAqLwordm9pZCBpdGN3X3NldF9kYXRhKHN0cnVjdCBpdGN3ICppdGN3LCB2b2lkICphZGRyLCBpbnQgdXNlX3RpZGFsKQoreworCXRjd19zZXRfZGF0YShpdGN3LT50Y3csIGFkZHIsIHVzZV90aWRhbCk7Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfc2V0X2RhdGEpOworCisvKioKKyAqIGl0Y3dfZmluYWxpemUgLSBjYWxjdWxhdGUgbGVuZ3RoIGFuZCBjb3VudCBmaWVsZHMgb2YgdGhlIGl0Y3cKKyAqIEBpdGN3OiBhZGRyZXNzIG9mIHRoZSBpdGN3CisgKgorICogQ2FsY3VsYXRlIHRjdyBpbnB1dC0vb3V0cHV0LWNvdW50IGFuZCB0Y2NibCBmaWVsZHMgYW5kIGFkZCBhIHRjYXQgdGhlIHRjY2IuCisgKiBJbiBjYXNlIGlucHV0LSBvciBvdXRwdXQtdGlkYSBpcyB1c2VkLCB0aGUgdGlkYXctbGlzdCBtdXN0IGJlIHN0b3JlZCBpbgorICogY29udGludW91cyBzdG9yYWdlIChubyB0dGljKS4gVGhlIHRjYWwgZmllbGQgaW4gdGhlIHRjY2IgbXVzdCBiZQorICogdXAtdG8tZGF0ZS4KKyAqLwordm9pZCBpdGN3X2ZpbmFsaXplKHN0cnVjdCBpdGN3ICppdGN3KQoreworCXRjd19maW5hbGl6ZShpdGN3LT50Y3csIGl0Y3ctPm51bV90aWRhd3MpOworfQorRVhQT1JUX1NZTUJPTChpdGN3X2ZpbmFsaXplKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vcWRpby5jIGIvZHJpdmVycy9zMzkwL2Npby9xZGlvLmMKaW5kZXggNDQ1Y2YzNi4uMmJmMzZlMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9xZGlvLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9xZGlvLmMKQEAgLTIwODIsNyArMjA4Miw2IEBACiAJZGVmYXVsdDoKIAkJQlVHKCk7CiAJfQotCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CiAJd2FrZV91cCgmY2Rldi0+cHJpdmF0ZS0+d2FpdF9xKTsKIH0KIApAQCAtMjEyMSw2ICsyMTIwLDggQEAKIAkJY2FzZSAtRUlPOgogCQkJUURJT19QUklOVF9FUlIoImkvbyBlcnJvciBvbiBkZXZpY2UgJXNcbiIsCiAJCQkJICAgICAgIGNkZXYtPmRldi5idXNfaWQpOworCQkJcWRpb19zZXRfc3RhdGUoaXJxX3B0ciwgUURJT19JUlFfU1RBVEVfRVJSKTsKKwkJCXdha2VfdXAoJmNkZXYtPnByaXZhdGUtPndhaXRfcSk7CiAJCQlyZXR1cm47CiAJCWNhc2UgLUVUSU1FRE9VVDoKIAkJCXFkaW9fdGltZW91dF9oYW5kbGVyKGNkZXYpOwpAQCAtMjEzOSw4ICsyMTQwLDggQEAKIAlRRElPX0RCRl9URVhUNCgwLCB0cmFjZSwgZGJmX3RleHQpOwogI2VuZGlmIC8qIENPTkZJR19RRElPX0RFQlVHICovCiAKLSAgICAgICAgY3N0YXQgPSBpcmItPnNjc3cuY3N0YXQ7Ci0gICAgICAgIGRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAKIAlzd2l0Y2ggKGlycV9wdHItPnN0YXRlKSB7CiAJY2FzZSBRRElPX0lSUV9TVEFURV9JTkFDVElWRToKQEAgLTIzNTMsOSArMjM1NCw2IEBACiB7CiAJY2hhciBkYmZfdGV4dFsxNV07CiAKLQlpZiAoIWNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwpCi0JCXJldHVybiAtRUlPOwotCiAJLyogQ2hlY2sgZm9yIGJpdCA0MS4gKi8KIAlpZiAoIWNzc19nZW5lcmFsX2NoYXJhY3RlcmlzdGljcy5haWYpIHsKIAkJUURJT19QUklOVF9XQVJOKCJBZGFwdGVyIGludGVycnVwdGlvbiBmYWNpbGl0eSBub3QgIiBcCkBAIC0yNjY3LDEyICsyNjY1LDEyIEBACiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoZ2V0X2Njd2Rldl9sb2NrKGNkZXYpLCBmbGFncyk7CiAJfSBlbHNlIGlmIChyYyA9PSAwKSB7CiAJCXFkaW9fc2V0X3N0YXRlKGlycV9wdHIsIFFESU9fSVJRX1NUQVRFX0NMRUFOVVApOwotCQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIHRpbWVvdXQpOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGdldF9jY3dkZXZfbG9jayhjZGV2KSxmbGFncyk7CiAKLQkJd2FpdF9ldmVudChjZGV2LT5wcml2YXRlLT53YWl0X3EsCi0JCQkgICBpcnFfcHRyLT5zdGF0ZSA9PSBRRElPX0lSUV9TVEFURV9JTkFDVElWRSB8fAotCQkJICAgaXJxX3B0ci0+c3RhdGUgPT0gUURJT19JUlFfU1RBVEVfRVJSKTsKKwkJd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoY2Rldi0+cHJpdmF0ZS0+d2FpdF9xLAorCQkJaXJxX3B0ci0+c3RhdGUgPT0gUURJT19JUlFfU1RBVEVfSU5BQ1RJVkUgfHwKKwkJCWlycV9wdHItPnN0YXRlID09IFFESU9fSVJRX1NUQVRFX0VSUiwKKwkJCXRpbWVvdXQpOwogCX0gZWxzZSB7CiAJCVFESU9fUFJJTlRfSU5GTygiY2N3X2RldmljZV97aGFsdCxjbGVhcn0gcmV0dXJuZWQgJWQgZm9yICIKIAkJCQkiZGV2aWNlICVzXG4iLCByZXN1bHQsIGNkZXYtPmRldi5idXNfaWQpOwpAQCAtMjY5Miw3ICsyNjkwLDYgQEAKIAogCS8qIElnbm9yZSBlcnJvcnMuICovCiAJcWRpb19zZXRfc3RhdGUoaXJxX3B0ciwgUURJT19JUlFfU1RBVEVfSU5BQ1RJVkUpOwotCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CiBvdXQ6CiAJdXAoJmlycV9wdHItPnNldHRpbmdfdXBfc2VtYSk7CiAJcmV0dXJuIHJlc3VsdDsKQEAgLTI5MDcsMTMgKzI5MDQsMTAgQEAKIAlRRElPX0RCRl9URVhUMCgwLHNldHVwLGRiZl90ZXh0KTsKIAlRRElPX0RCRl9URVhUMCgwLHRyYWNlLGRiZl90ZXh0KTsKIAotCWlmIChxZGlvX2VzdGFibGlzaF9pcnFfY2hlY2tfZm9yX2Vycm9ycyhjZGV2LCBjc3RhdCwgZHN0YXQpKSB7Ci0JCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CisJaWYgKHFkaW9fZXN0YWJsaXNoX2lycV9jaGVja19mb3JfZXJyb3JzKGNkZXYsIGNzdGF0LCBkc3RhdCkpCiAJCXJldHVybjsKLQl9CiAKIAlxZGlvX3NldF9zdGF0ZShpcnFfcHRyLFFESU9fSVJRX1NUQVRFX0VTVEFCTElTSEVEKTsKLQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOwogfQogCiBpbnQKQEAgLTMxOTYsOCArMzE5MCw2IEBACiAJCQkJaXJxX3B0ci0+c2NoaWQuc3NpZCwgaXJxX3B0ci0+c2NoaWQuc2NoX25vLAogCQkJCXJlc3VsdCwgcmVzdWx0Mik7CiAJCXJlc3VsdD1yZXN1bHQyOwotCQlpZiAocmVzdWx0KQotCQkJY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKIAl9CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKGdldF9jY3dkZXZfbG9jayhjZGV2KSxzYXZlZmxhZ3MpOwpAQCAtMzI3OSw3ICszMjcxLDYgQEAKIAogCXNwaW5fbG9ja19pcnFzYXZlKGdldF9jY3dkZXZfbG9jayhjZGV2KSxzYXZlZmxhZ3MpOwogCi0JY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKIAljY3dfZGV2aWNlX3NldF9vcHRpb25zKGNkZXYsIENDV0RFVl9SRVBPUlRfQUxMKTsKIAlyZXN1bHQ9Y2N3X2RldmljZV9zdGFydChjZGV2LCZpcnFfcHRyLT5jY3csUURJT19ET0lOR19BQ1RJVkFURSwKIAkJCQkwLCBET0lPX0RFTllfUFJFRkVUQ0gpOwpAQCAtMzcyMiw3ICszNzEzLDggQEAKIAljaGFyIGRiZl90ZXh0WzIwXTsKIAogCXRpcWRpb19pbmQgPQotCQlzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KCZ0aXFkaW9fdGhpbmludF9oYW5kbGVyLCBOVUxMKTsKKwkJczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCgmdGlxZGlvX3RoaW5pbnRfaGFuZGxlciwgTlVMTCwKKwkJCQkJCVRJUURJT19USElOSU5UX0lTQyk7CiAJaWYgKElTX0VSUih0aXFkaW9faW5kKSkgewogCQlzcHJpbnRmKGRiZl90ZXh0LCAicmVndGhuJWx4IiwgUFRSX0VSUih0aXFkaW9faW5kKSk7CiAJCVFESU9fREJGX1RFWFQwKDAsc2V0dXAsZGJmX3RleHQpOwpAQCAtMzczOCw3ICszNzMwLDggQEAKIHRpcWRpb191bnJlZ2lzdGVyX3RoaW5pbnRzKHZvaWQpCiB7CiAJaWYgKHRpcWRpb19pbmQpCi0JCXMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh0aXFkaW9faW5kKTsKKwkJczM5MF91bnJlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KHRpcWRpb19pbmQsCisJCQkJCQkgIFRJUURJT19USElOSU5UX0lTQyk7CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTM4OTksNiArMzg5Miw3IEBACiAJCQkJCSAgICBxZGlvX21lbXBvb2xfYWxsb2MsCiAJCQkJCSAgICBxZGlvX21lbXBvb2xfZnJlZSwgTlVMTCk7CiAKKwlpc2NfcmVnaXN0ZXIoUURJT19BSVJRX0lTQyk7CiAJaWYgKHRpcWRpb19jaGVja19jaHNjX2F2YWlsYWJpbGl0eSgpKQogCQlRRElPX1BSSU5UX0VSUigiTm90IGFsbCBDSFNDcyBzdXBwb3J0ZWQuIENvbnRpbnVpbmcuXG4iKTsKIApAQCAtMzkxMSw2ICszOTA1LDcgQEAKIGNsZWFudXBfUURJTyh2b2lkKQogewogCXRpcWRpb191bnJlZ2lzdGVyX3RoaW5pbnRzKCk7CisJaXNjX3VucmVnaXN0ZXIoUURJT19BSVJRX0lTQyk7CiAJcWRpb19yZW1vdmVfcHJvY2ZzX2VudHJ5KCk7CiAJcWRpb19yZWxlYXNlX3FkaW9fbWVtb3J5KCk7CiAJcWRpb191bnJlZ2lzdGVyX2RiZl92aWV3cygpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9xZGlvLmggYi9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uaAppbmRleCBjM2RmNmIyLi43NjU2MDgxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uaAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uaApAQCAtMiw4ICsyLDggQEAKICNkZWZpbmUgX0NJT19RRElPX0gKIAogI2luY2x1ZGUgPGFzbS9wYWdlLmg+Ci0KLSNpbmNsdWRlICJzY2hpZC5oIgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KKyNpbmNsdWRlIDxhc20vc2NoaWQuaD4KIAogI2lmZGVmIENPTkZJR19RRElPX0RFQlVHCiAjZGVmaW5lIFFESU9fVkVSQk9TRV9MRVZFTCA5CkBAIC0yNiw3ICsyNiw3IEBACiAgKi8KICNkZWZpbmUgSVFESU9fRklMTF9MRVZFTF9UT19QT0xMIDQKIAotI2RlZmluZSBUSVFESU9fVEhJTklOVF9JU0MgMworI2RlZmluZSBUSVFESU9fVEhJTklOVF9JU0MgUURJT19BSVJRX0lTQwogI2RlZmluZSBUSVFESU9fREVMQVlfVEFSR0VUIDAKICNkZWZpbmUgUURJT19CVVNZX0JJVF9QQVRJRU5DRSAxMDAgLyogaW4gbWljcm9zZWNzICovCiAjZGVmaW5lIFFESU9fQlVTWV9CSVRfR0lWRV9VUCAxMDAwMDAwMCAvKiAxMCBzZWNvbmRzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL3Njc3cuYyBiL2RyaXZlcnMvczM5MC9jaW8vc2Nzdy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4ZGEyNWEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL3Njc3cuYwpAQCAtMCwwICsxLDg0MyBAQAorLyoKKyAqICBIZWxwZXIgZnVuY3Rpb25zIGZvciBzY3N3IGFjY2Vzcy4KKyAqCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDgKKyAqICAgIEF1dGhvcihzKTogUGV0ZXIgT2JlcnBhcmxlaXRlciA8cGV0ZXIub2JlcnBhcmxlaXRlckBkZS5pYm0uY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9jaW8uaD4KKyNpbmNsdWRlICJjc3MuaCIKKyNpbmNsdWRlICJjaHNjLmgiCisKKy8qKgorICogc2Nzd19pc190bSAtIGNoZWNrIGZvciB0cmFuc3BvcnQgbW9kZSBzY3N3CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyBhIHRyYW5zcG9ydCBtb2RlIHNjc3csIHplcm8KKyAqIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfaXNfdG0odW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmZjeCAmJiAoc2Nzdy0+dG0ueCA9PSAxKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc190bSk7CisKKy8qKgorICogc2Nzd19rZXkgLSByZXR1cm4gc2NzdyBrZXkgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBrZXkgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3LCByZWdhcmRsZXNzIG9mCisgKiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKi8KK3UzMiBzY3N3X2tleSh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0ua2V5OworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5rZXk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfa2V5KTsKKworLyoqCisgKiBzY3N3X2Vzd2YgLSByZXR1cm4gc2NzdyBlc3dmIGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgZXN3ZiBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uZXN3ZjsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuZXN3ZjsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19lc3dmKTsKKworLyoqCisgKiBzY3N3X2NjIC0gcmV0dXJuIHNjc3cgY2MgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBjYyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfY2ModW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3ctPnRtLmNjOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5jYzsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jYyk7CisKKy8qKgorICogc2Nzd19lY3RsIC0gcmV0dXJuIHNjc3cgZWN0bCBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGVjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3LCByZWdhcmRsZXNzIG9mCisgKiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKi8KK3UzMiBzY3N3X2VjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3ctPnRtLmVjdGw7CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLmVjdGw7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfZWN0bCk7CisKKy8qKgorICogc2Nzd19wbm8gLSByZXR1cm4gc2NzdyBwbm8gZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBwbm8gZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3LCByZWdhcmRsZXNzIG9mCisgKiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKi8KK3UzMiBzY3N3X3Bubyh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0ucG5vOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5wbm87Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfcG5vKTsKKworLyoqCisgKiBzY3N3X2ZjdGwgLSByZXR1cm4gc2NzdyBmY3RsIGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgZmN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uZmN0bDsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuZmN0bDsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19mY3RsKTsKKworLyoqCisgKiBzY3N3X2FjdGwgLSByZXR1cm4gc2NzdyBhY3RsIGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgYWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfYWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uYWN0bDsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuYWN0bDsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19hY3RsKTsKKworLyoqCisgKiBzY3N3X3N0Y3RsIC0gcmV0dXJuIHNjc3cgc3RjdGwgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBzdGN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfc3RjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3ctPnRtLnN0Y3RsOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5zdGN0bDsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19zdGN0bCk7CisKKy8qKgorICogc2Nzd19kc3RhdCAtIHJldHVybiBzY3N3IGRzdGF0IGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgZHN0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3LCByZWdhcmRsZXNzIG9mCisgKiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKi8KK3UzMiBzY3N3X2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5kc3RhdDsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuZHN0YXQ7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfZHN0YXQpOworCisvKioKKyAqIHNjc3dfY3N0YXQgLSByZXR1cm4gc2NzdyBjc3RhdCBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGNzdGF0IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19jc3RhdCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uY3N0YXQ7CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLmNzdGF0OworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NzdGF0KTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9rZXkgLSBjaGVjayBrZXkgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGtleSBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9rZXkodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9rZXkpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX3NjdGwgLSBjaGVjayBmY3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBmY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3NjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9zY3RsKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9lc3dmIC0gY2hlY2sgZXN3ZiBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZXN3ZiBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9lc3dmKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfZXN3Zik7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfY2MgLSBjaGVjayBjYyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY2MgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfY2ModW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCisJICAgICAgIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfY2MpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2ZtdCAtIGNoZWNrIGZtdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZm10IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2ZtdCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2ZtdCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfcGZjaCAtIGNoZWNrIHBmY2ggZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHBmY2ggZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfcGZjaCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX3BmY2gpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2lzaWMgLSBjaGVjayBpc2ljIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBpc2ljIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2lzaWModW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9pc2ljKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9hbGNjIC0gY2hlY2sgYWxjYyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgYWxjYyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9hbGNjKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfYWxjYyk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfc3NpIC0gY2hlY2sgc3NpIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBzc2kgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfc3NpKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfc3NpKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF96Y2MgLSBjaGVjayB6Y2MgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHpjYyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF96Y2ModW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCisJICAgICAgIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX3pjYyk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfZWN0bCAtIGNoZWNrIGVjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGVjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgIShzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykgJiYKKwkgICAgICAgKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfZWN0bCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfcG5vIC0gY2hlY2sgcG5vIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBwbm8gZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfcG5vKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuZmN0bCAhPSAwKSAmJgorCSAgICAgICAoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgKCEoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpIHx8CisJCSAoKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKSAmJgorCQkgIChzY3N3LT5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKSk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX3Bubyk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfZmN0bCAtIGNoZWNrIGZjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGZjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2ZjdGwpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2FjdGwgLSBjaGVjayBhY3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBhY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2FjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwkvKiBPbmx5IHZhbGlkIGlmIHBtY3cuZG52ID09IDEqLworCXJldHVybiAxOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9hY3RsKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9zdGN0bCAtIGNoZWNrIHN0Y3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBzdGN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX3N0Y3RsKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9kc3RhdCAtIGNoZWNrIGRzdGF0IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBkc3RhdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgKHNjc3ctPmNtZC5jYyAhPSAzKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfZHN0YXQpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0IC0gY2hlY2sgY3N0YXQgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGNzdGF0IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAoc2Nzdy0+Y21kLmNjICE9IDMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9jc3RhdCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9rZXkgLSBjaGVjayBrZXkgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGtleSBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfa2V5KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX2tleSk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9lc3dmIC0gY2hlY2sgZXN3ZiBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZXN3ZiBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9lc3dmKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2NjIC0gY2hlY2sgY2MgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGNjIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+dG0uZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSAmJgorCSAgICAgICAoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9jYyk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9mbXQgLSBjaGVjayBmbXQgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGZtdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfZm10KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfZm10KTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX3ggLSBjaGVjayB4IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSB4IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF94KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfeCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9xIC0gY2hlY2sgcSBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgcSBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfcSh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAxOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX3EpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfZWN0bCAtIGNoZWNrIGVjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGVjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2VjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgIShzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKSAmJgorCSAgICAgICAoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfZWN0bCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9wbm8gLSBjaGVjayBwbm8gZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHBubyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfcG5vKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5mY3RsICE9IDApICYmCisJICAgICAgIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCisJICAgICAgICghKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpIHx8CisJCSAoKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpICYmCisJCSAgKHNjc3ctPnRtLmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSkpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX3Bubyk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9mY3RsIC0gY2hlY2sgZmN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZmN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfZmN0bCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9hY3RsIC0gY2hlY2sgYWN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgYWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfYWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfYWN0bCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9zdGN0bCAtIGNoZWNrIHN0Y3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBzdGN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwkvKiBPbmx5IHZhbGlkIGlmIHBtY3cuZG52ID09IDEqLworCXJldHVybiAxOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX3N0Y3RsKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2RzdGF0IC0gY2hlY2sgZHN0YXQgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGRzdGF0IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAoc2Nzdy0+dG0uY2MgIT0gMyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfZHN0YXQpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfY3N0YXQgLSBjaGVjayBjc3RhdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY3N0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCisJICAgICAgIChzY3N3LT50bS5jYyAhPSAzKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9jc3RhdCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9mY3hzIC0gY2hlY2sgZmN4cyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZmN4cyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfZmN4cyh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAxOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX2ZjeHMpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfc2NoeHMgLSBjaGVjayBzY2h4cyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgc2NoeHMgZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3NjaHhzKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5jc3RhdCAmIChTQ0hOX1NUQVRfUFJPR19DSEVDSyB8CisJCQkJICBTQ0hOX1NUQVRfSU5URl9DVFJMX0NISyB8CisJCQkJICBTQ0hOX1NUQVRfUFJPVF9DSEVDSyB8CisJCQkJICBTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLKSk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfc2NoeHMpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfYWN0bCAtIGNoZWNrIGFjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGFjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2FjdGwoc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfYWN0bChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9hY3RsKTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX2NjIC0gY2hlY2sgY2MgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGNjIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfY2ModW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfY2Moc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfY2Moc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfY2MpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfY3N0YXQgLSBjaGVjayBjc3RhdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY3N0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9jc3RhdCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzd190bV9pc192YWxpZF9jc3RhdChzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9jc3RhdChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9jc3RhdCk7CisKKy8qKgorICogc2Nzd19pc192YWxpZF9kc3RhdCAtIGNoZWNrIGRzdGF0IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBkc3RhdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3cgaXMgdmFsaWQsCisgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqIFJldHVybiB6ZXJvIGlmIHRoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdmFsdWUuCisgKi8KK2ludCBzY3N3X2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2RzdGF0KHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX2RzdGF0KHNjc3cpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3ZhbGlkX2RzdGF0KTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX2VjdGwgLSBjaGVjayBlY3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBlY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzd190bV9pc192YWxpZF9lY3RsKHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX2VjdGwoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfZWN0bCk7CisKKy8qKgorICogc2Nzd19pc192YWxpZF9lc3dmIC0gY2hlY2sgZXN3ZiBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZXN3ZiBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3cgaXMgdmFsaWQsCisgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqIFJldHVybiB6ZXJvIGlmIHRoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdmFsdWUuCisgKi8KK2ludCBzY3N3X2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfZXN3ZihzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9lc3dmKHNjc3cpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3ZhbGlkX2Vzd2YpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfZmN0bCAtIGNoZWNrIGZjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGZjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9mY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2ZjdGwoc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfZmN0bChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9mY3RsKTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX2tleSAtIGNoZWNrIGtleSBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUga2V5IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfa2V5KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2tleShzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9rZXkoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfa2V5KTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX3BubyAtIGNoZWNrIHBubyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgcG5vIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfcG5vKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX3BubyhzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9wbm8oc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfcG5vKTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX3N0Y3RsIC0gY2hlY2sgc3RjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHN0Y3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfc3RjdGwoc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfc3RjdGwoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfc3RjdGwpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3NvbGljaXRlZCAtIGNoZWNrIGZvciBzb2xpY2l0ZWQgc2NzdworICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY29tbWFuZCBtb2RlIHNjc3cgaW5kaWNhdGVzIHRoYXQgdGhlIGFzc29jaWF0ZWQKKyAqIHN0YXR1cyBjb25kaXRpb24gaXMgc29saWNpdGVkLCB6ZXJvIGlmIGl0IGlzIHVuc29saWNpdGVkLgorICovCitpbnQgc2Nzd19jbWRfaXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuY2MgIT0gMCkgfHwgKHNjc3ctPmNtZC5zdGN0bCAhPQorCQkoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3NvbGljaXRlZCk7CisKKy8qKgorICogc2Nzd190bV9pc19zb2xpY2l0ZWQgLSBjaGVjayBmb3Igc29saWNpdGVkIHNjc3cKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHRyYW5zcG9ydCBtb2RlIHNjc3cgaW5kaWNhdGVzIHRoYXQgdGhlIGFzc29jaWF0ZWQKKyAqIHN0YXR1cyBjb25kaXRpb24gaXMgc29saWNpdGVkLCB6ZXJvIGlmIGl0IGlzIHVuc29saWNpdGVkLgorICovCitpbnQgc2Nzd190bV9pc19zb2xpY2l0ZWQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLmNjICE9IDApIHx8IChzY3N3LT50bS5zdGN0bCAhPQorCQkoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfc29saWNpdGVkKTsKKworLyoqCisgKiBzY3N3X2lzX3NvbGljaXRlZCAtIGNoZWNrIGZvciBzb2xpY2l0ZWQgc2NzdworICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgdHJhbnNwb3J0IG9yIGNvbW1hbmQgbW9kZSBzY3N3IGluZGljYXRlcyB0aGF0IHRoZQorICogYXNzb2NpYXRlZCBzdGF0dXMgY29uZGl0aW9uIGlzIHNvbGljaXRlZCwgemVybyBpZiBpdCBpcyB1bnNvbGljaXRlZC4KKyAqLworaW50IHNjc3dfaXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3NvbGljaXRlZChzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc19zb2xpY2l0ZWQoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfc29saWNpdGVkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmMgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL2FwX2J1cy5jCmluZGV4IGExYWIzZTMuLjYyYjZiNTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmMKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuYwpAQCAtMzQsMTMgKzM0LDE1IEBACiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxhc20vczM5MF9yZGV2Lmg+CiAjaW5jbHVkZSA8YXNtL3Jlc2V0Lmg+CisjaW5jbHVkZSA8bGludXgvaHJ0aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2t0aW1lLmg+CiAKICNpbmNsdWRlICJhcF9idXMuaCIKIAogLyogU29tZSBwcm90b3R5cGVzLiAqLwogc3RhdGljIHZvaWQgYXBfc2Nhbl9idXMoc3RydWN0IHdvcmtfc3RydWN0ICopOwogc3RhdGljIHZvaWQgYXBfcG9sbF9hbGwodW5zaWduZWQgbG9uZyk7Ci1zdGF0aWMgdm9pZCBhcF9wb2xsX3RpbWVvdXQodW5zaWduZWQgbG9uZyk7CitzdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgYXBfcG9sbF90aW1lb3V0KHN0cnVjdCBocnRpbWVyICopOwogc3RhdGljIGludCBhcF9wb2xsX3RocmVhZF9zdGFydCh2b2lkKTsKIHN0YXRpYyB2b2lkIGFwX3BvbGxfdGhyZWFkX3N0b3Aodm9pZCk7CiBzdGF0aWMgdm9pZCBhcF9yZXF1ZXN0X3RpbWVvdXQodW5zaWduZWQgbG9uZyk7CkBAIC04MCwxMiArODIsMTUgQEAKIC8qCiAgKiBUYXNrbGV0ICYgdGltZXIgZm9yIEFQIHJlcXVlc3QgcG9sbGluZy4KICAqLwotc3RhdGljIHN0cnVjdCB0aW1lcl9saXN0IGFwX3BvbGxfdGltZXIgPSBUSU1FUl9JTklUSUFMSVpFUihhcF9wb2xsX3RpbWVvdXQsMCwwKTsKIHN0YXRpYyBERUNMQVJFX1RBU0tMRVQoYXBfdGFza2xldCwgYXBfcG9sbF9hbGwsIDApOwogc3RhdGljIGF0b21pY190IGFwX3BvbGxfcmVxdWVzdHMgPSBBVE9NSUNfSU5JVCgwKTsKIHN0YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRChhcF9wb2xsX3dhaXQpOwogc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqYXBfcG9sbF9rdGhyZWFkID0gTlVMTDsKIHN0YXRpYyBERUZJTkVfTVVURVgoYXBfcG9sbF90aHJlYWRfbXV0ZXgpOworc3RhdGljIHN0cnVjdCBocnRpbWVyIGFwX3BvbGxfdGltZXI7CisvKiBJbiBMUEFSIHBvbGwgd2l0aCA0a0h6IGZyZXF1ZW5jeS4gUG9sbCBldmVyeSAyNTAwMDAgbmFub3NlY29uZHMuCisgKiBJZiB6L1ZNIGNoYW5nZSB0byAxNTAwMDAwIG5hbm9zZWNvbmRzIHRvIGFkanVzdCB0byB6L1ZNIHBvbGxpbmcuKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgcG9sbF90aW1lb3V0ID0gMjUwMDAwOwogCiAvKioKICAqIGFwX2ludHJ1Y3Rpb25zX2F2YWlsYWJsZSgpIC0gVGVzdCBpZiBBUCBpbnN0cnVjdGlvbnMgYXJlIGF2YWlsYWJsZS4KQEAgLTYzNiwxMSArNjQxLDM5IEBACiAKIHN0YXRpYyBCVVNfQVRUUihwb2xsX3RocmVhZCwgMDY0NCwgYXBfcG9sbF90aHJlYWRfc2hvdywgYXBfcG9sbF90aHJlYWRfc3RvcmUpOwogCitzdGF0aWMgc3NpemVfdCBwb2xsX3RpbWVvdXRfc2hvdyhzdHJ1Y3QgYnVzX3R5cGUgKmJ1cywgY2hhciAqYnVmKQoreworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVsbHVcbiIsIHBvbGxfdGltZW91dCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHBvbGxfdGltZW91dF9zdG9yZShzdHJ1Y3QgYnVzX3R5cGUgKmJ1cywgY29uc3QgY2hhciAqYnVmLAorCQkJCSAgc2l6ZV90IGNvdW50KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyB0aW1lOworCWt0aW1lX3QgaHJfdGltZTsKKworCS8qIDEyMCBzZWNvbmRzID0gbWF4aW11bSBwb2xsIGludGVydmFsICovCisJaWYgKHNzY2FuZihidWYsICIlbGx1XG4iLCAmdGltZSkgIT0gMSB8fCB0aW1lIDwgMSB8fCB0aW1lID4gMTIwMDAwMDAwMDAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlwb2xsX3RpbWVvdXQgPSB0aW1lOworCWhyX3RpbWUgPSBrdGltZV9zZXQoMCwgcG9sbF90aW1lb3V0KTsKKworCWlmICghaHJ0aW1lcl9pc19xdWV1ZWQoJmFwX3BvbGxfdGltZXIpIHx8CisJICAgICFocnRpbWVyX2ZvcndhcmQoJmFwX3BvbGxfdGltZXIsIGFwX3BvbGxfdGltZXIuZXhwaXJlcywgaHJfdGltZSkpIHsKKwkJYXBfcG9sbF90aW1lci5leHBpcmVzID0gaHJfdGltZTsKKwkJaHJ0aW1lcl9zdGFydCgmYXBfcG9sbF90aW1lciwgaHJfdGltZSwgSFJUSU1FUl9NT0RFX0FCUyk7CisJfQorCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIEJVU19BVFRSKHBvbGxfdGltZW91dCwgMDY0NCwgcG9sbF90aW1lb3V0X3Nob3csIHBvbGxfdGltZW91dF9zdG9yZSk7CisKIHN0YXRpYyBzdHJ1Y3QgYnVzX2F0dHJpYnV0ZSAqY29uc3QgYXBfYnVzX2F0dHJzW10gPSB7CiAJJmJ1c19hdHRyX2FwX2RvbWFpbiwKIAkmYnVzX2F0dHJfY29uZmlnX3RpbWUsCiAJJmJ1c19hdHRyX3BvbGxfdGhyZWFkLAotCU5VTEwKKwkmYnVzX2F0dHJfcG9sbF90aW1lb3V0LAorCU5VTEwsCiB9OwogCiAvKioKQEAgLTg5NSw5ICs5MjgsMTAgQEAKICAqLwogc3RhdGljIGlubGluZSB2b2lkIGFwX3NjaGVkdWxlX3BvbGxfdGltZXIodm9pZCkKIHsKLQlpZiAodGltZXJfcGVuZGluZygmYXBfcG9sbF90aW1lcikpCisJaWYgKGhydGltZXJfaXNfcXVldWVkKCZhcF9wb2xsX3RpbWVyKSkKIAkJcmV0dXJuOwotCW1vZF90aW1lcigmYXBfcG9sbF90aW1lciwgamlmZmllcyArIEFQX1BPTExfVElNRSk7CisJaHJ0aW1lcl9zdGFydCgmYXBfcG9sbF90aW1lciwga3RpbWVfc2V0KDAsIHBvbGxfdGltZW91dCksCisJCSAgICAgIEhSVElNRVJfTU9ERV9BQlMpOwogfQogCiAvKioKQEAgLTExMTUsMTMgKzExNDksMTQgQEAKIAogLyoqCiAgKiBhcF9wb2xsX3RpbWVvdXQoKTogQVAgcmVjZWl2ZSBwb2xsaW5nIGZvciBmaW5pc2hlZCBBUCByZXF1ZXN0cy4KLSAqIEB1bnVzZWQ6IFVudXNlZCB2YXJpYWJsZS4KKyAqIEB1bnVzZWQ6IFVudXNlZCBwb2ludGVyLgogICoKLSAqIFNjaGVkdWxlcyB0aGUgQVAgdGFza2xldC4KKyAqIFNjaGVkdWxlcyB0aGUgQVAgdGFza2xldCB1c2luZyBhIGhpZ2ggcmVzb2x1dGlvbiB0aW1lci4KICAqLwotc3RhdGljIHZvaWQgYXBfcG9sbF90aW1lb3V0KHVuc2lnbmVkIGxvbmcgdW51c2VkKQorc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0IGFwX3BvbGxfdGltZW91dChzdHJ1Y3QgaHJ0aW1lciAqdW51c2VkKQogewogCXRhc2tsZXRfc2NoZWR1bGUoJmFwX3Rhc2tsZXQpOworCXJldHVybiBIUlRJTUVSX05PUkVTVEFSVDsKIH0KIAogLyoqCkBAIC0xMzQ0LDYgKzEzNzksMTQgQEAKIAlhcF9jb25maWdfdGltZXIuZXhwaXJlcyA9IGppZmZpZXMgKyBhcF9jb25maWdfdGltZSAqIEhaOwogCWFkZF90aW1lcigmYXBfY29uZmlnX3RpbWVyKTsKIAorCS8qIFNldHVwIHRoZSBoaWdoIHJlc3VsdGlvbiBwb2xsIHRpbWVyLgorCSAqIElmIHdlIGFyZSBydW5uaW5nIHVuZGVyIHovVk0gYWRqdXN0IHBvbGxpbmcgdG8gei9WTSBwb2xsaW5nIHJhdGUuCisJICovCisJaWYgKE1BQ0hJTkVfSVNfVk0pCisJCXBvbGxfdGltZW91dCA9IDE1MDAwMDA7CisJaHJ0aW1lcl9pbml0KCZhcF9wb2xsX3RpbWVyLCBDTE9DS19NT05PVE9OSUMsIEhSVElNRVJfTU9ERV9BQlMpOworCWFwX3BvbGxfdGltZXIuZnVuY3Rpb24gPSBhcF9wb2xsX3RpbWVvdXQ7CisKIAkvKiBTdGFydCB0aGUgbG93IHByaW9yaXR5IEFQIGJ1cyBwb2xsIHRocmVhZC4gKi8KIAlpZiAoYXBfdGhyZWFkX2ZsYWcpIHsKIAkJcmMgPSBhcF9wb2xsX3RocmVhZF9zdGFydCgpOwpAQCAtMTM1NSw3ICsxMzk4LDcgQEAKIAogb3V0X3dvcms6CiAJZGVsX3RpbWVyX3N5bmMoJmFwX2NvbmZpZ190aW1lcik7Ci0JZGVsX3RpbWVyX3N5bmMoJmFwX3BvbGxfdGltZXIpOworCWhydGltZXJfY2FuY2VsKCZhcF9wb2xsX3RpbWVyKTsKIAlkZXN0cm95X3dvcmtxdWV1ZShhcF93b3JrX3F1ZXVlKTsKIG91dF9yb290OgogCXMzOTBfcm9vdF9kZXZfdW5yZWdpc3RlcihhcF9yb290X2RldmljZSk7CkBAIC0xMzg2LDcgKzE0MjksNyBAQAogCWFwX3Jlc2V0X2RvbWFpbigpOwogCWFwX3BvbGxfdGhyZWFkX3N0b3AoKTsKIAlkZWxfdGltZXJfc3luYygmYXBfY29uZmlnX3RpbWVyKTsKLQlkZWxfdGltZXJfc3luYygmYXBfcG9sbF90aW1lcik7CisJaHJ0aW1lcl9jYW5jZWwoJmFwX3BvbGxfdGltZXIpOwogCWRlc3Ryb3lfd29ya3F1ZXVlKGFwX3dvcmtfcXVldWUpOwogCXRhc2tsZXRfa2lsbCgmYXBfdGFza2xldCk7CiAJczM5MF9yb290X2Rldl91bnJlZ2lzdGVyKGFwX3Jvb3RfZGV2aWNlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmggYi9kcml2ZXJzL3MzOTAvY3J5cHRvL2FwX2J1cy5oCmluZGV4IGMxZTEyMDAuLjQ0NjM3OGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmgKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuaApAQCAtOTIsNiArOTIsOCBAQAogI2RlZmluZSBBUF9ERVZJQ0VfVFlQRV9QQ0lYQ0MJNQogI2RlZmluZSBBUF9ERVZJQ0VfVFlQRV9DRVgyQQk2CiAjZGVmaW5lIEFQX0RFVklDRV9UWVBFX0NFWDJDCTcKKyNkZWZpbmUgQVBfREVWSUNFX1RZUEVfQ0VYMkEyCTgKKyNkZWZpbmUgQVBfREVWSUNFX1RZUEVfQ0VYMkMyCTkKIAogLyoKICAqIEFQIHJlc2V0IGZsYWcgc3RhdGVzCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9hcGkuYyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5jCmluZGV4IDRkMzZlODAuLmNiMjJiOTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5jCisrKyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGF0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC9od19yYW5kb20uaD4KQEAgLTMwMCw3ICszMDEsOSBAQAogICovCiBzdGF0aWMgaW50IHpjcnlwdF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogeworCWxvY2tfa2VybmVsKCk7CiAJYXRvbWljX2luYygmemNyeXB0X29wZW5fY291bnQpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTA2OCwxMCArMTA3MSw4IEBACiAKICNkZWZpbmUgTEJVRlNJWkUgMTIwMFVMCiAJbGJ1ZiA9IGttYWxsb2MoTEJVRlNJWkUsIEdGUF9LRVJORUwpOwotCWlmICghbGJ1ZikgewotCQlQUklOVEsoImttYWxsb2MgZmFpbGVkIVxuIik7CisJaWYgKCFsYnVmKQogCQlyZXR1cm4gMDsKLQl9CiAKIAlsb2NhbF9jb3VudCA9IG1pbihMQlVGU0laRSAtIDEsIGNvdW50KTsKIAlpZiAoY29weV9mcm9tX3VzZXIobGJ1ZiwgYnVmZmVyLCBsb2NhbF9jb3VudCkgIT0gMCkgewpAQCAtMTA4MSwyMyArMTA4MiwxNSBAQAogCWxidWZbbG9jYWxfY291bnRdID0gJ1wwJzsKIAogCXB0ciA9IHN0cnN0cihsYnVmLCAiT25saW5lIGRldmljZXMiKTsKLQlpZiAoIXB0cikgewotCQlQUklOVEsoIlVuYWJsZSB0byBwYXJzZSBkYXRhIChtaXNzaW5nIFwiT25saW5lIGRldmljZXNcIilcbiIpOworCWlmICghcHRyKQogCQlnb3RvIG91dDsKLQl9CiAJcHRyID0gc3Ryc3RyKHB0ciwgIlxuIik7Ci0JaWYgKCFwdHIpIHsKLQkJUFJJTlRLKCJVbmFibGUgdG8gcGFyc2UgZGF0YSAobWlzc2luZyBuZXdsaW5lICIKLQkJICAgICAgICJhZnRlciBcIk9ubGluZSBkZXZpY2VzXCIpXG4iKTsKKwlpZiAoIXB0cikKIAkJZ290byBvdXQ7Ci0JfQogCXB0cisrOwogCi0JaWYgKHN0cnN0cihwdHIsICJXYWl0aW5nIHdvcmsgZWxlbWVudCBjb3VudHMiKSA9PSBOVUxMKSB7Ci0JCVBSSU5USygiVW5hYmxlIHRvIHBhcnNlIGRhdGEgKG1pc3NpbmcgIgotCQkgICAgICAgIlwiV2FpdGluZyB3b3JrIGVsZW1lbnQgY291bnRzXCIpXG4iKTsKKwlpZiAoc3Ryc3RyKHB0ciwgIldhaXRpbmcgd29yayBlbGVtZW50IGNvdW50cyIpID09IE5VTEwpCiAJCWdvdG8gb3V0OwotCX0KIAogCWZvciAoaiA9IDA7IGogPCA2NCAmJiAqcHRyOyBwdHIrKykgewogCQkvKgpAQCAtMTE5NywxNiArMTE5MCwxMiBAQAogCiAJLyogUmVnaXN0ZXIgdGhlIHJlcXVlc3Qgc3ByYXllci4gKi8KIAlyYyA9IG1pc2NfcmVnaXN0ZXIoJnpjcnlwdF9taXNjX2RldmljZSk7Ci0JaWYgKHJjIDwgMCkgewotCQlQUklOVEtXKEtFUk5fRVJSICJtaXNjX3JlZ2lzdGVyIChtaW5vciAlZCkgZmFpbGVkIHdpdGggJWRcbiIsCi0JCQl6Y3J5cHRfbWlzY19kZXZpY2UubWlub3IsIHJjKTsKKwlpZiAocmMgPCAwKQogCQlnb3RvIG91dDsKLQl9CiAKIAkvKiBTZXQgdXAgdGhlIHByb2MgZmlsZSBzeXN0ZW0gKi8KIAl6Y3J5cHRfZW50cnkgPSBjcmVhdGVfcHJvY19lbnRyeSgiZHJpdmVyL3o5MGNyeXB0IiwgMDY0NCwgTlVMTCk7CiAJaWYgKCF6Y3J5cHRfZW50cnkpIHsKLQkJUFJJTlRLKCJDb3VsZG4ndCBjcmVhdGUgejkwY3J5cHQgcHJvYyBlbnRyeVxuIik7CiAJCXJjID0gLUVOT01FTTsKIAkJZ290byBvdXRfbWlzYzsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9hcGkuaCBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5oCmluZGV4IDVjNmUyMjIuLjFkMWVjNzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5oCisrKyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5oCkBAIC0zMCwzNCArMzAsNiBAQAogI2lmbmRlZiBfWkNSWVBUX0FQSV9IXwogI2RlZmluZSBfWkNSWVBUX0FQSV9IXwogCi0vKioKLSAqIE1hY3JvIGRlZmluaXRpb25zCi0gKgotICogUERFQlVHIGRlYnVncyBpbiB0aGUgZm9ybSAiemNyeXB0OiBmdW5jdGlvbl9uYW1lIC0+IG1lc3NhZ2UiCi0gKgotICogUFJJTlRLIGlzIGxpa2UgUERFQlVHLCBleGNlcHQgdGhhdCBpdCBpcyBhbHdheXMgZW5hYmxlZAotICogUFJJTlRLTiBpcyBsaWtlIFBSSU5USywgZXhjZXB0IHRoYXQgaXQgZG9lcyBub3QgaW5jbHVkZSB0aGUgZnVuY3Rpb24gbmFtZQotICogUFJJTlRLVyBpcyBsaWtlIFBSSU5USywgZXhjZXB0IHRoYXQgaXQgdXNlcyBLRVJOX1dBUk5JTkcKLSAqIFBSSU5US0MgaXMgbGlrZSBQUklOVEssIGV4Y2VwdCB0aGF0IGl0IHVzZXMgS0VSTl9DUklUCi0gKi8KLSNkZWZpbmUgREVWX05BTUUJInpjcnlwdCIKLQotI2RlZmluZSBQUklOVEsoZm10LCBhcmdzLi4uKSBcCi0JcHJpbnRrKEtFUk5fREVCVUcgREVWX05BTUUgIjogJXMgLT4gIiBmbXQsIF9fZnVuY19fICwgIyMgYXJncykKLSNkZWZpbmUgUFJJTlRLTihmbXQsIGFyZ3MuLi4pIFwKLQlwcmludGsoS0VSTl9ERUJVRyBERVZfTkFNRSAiOiAiIGZtdCwgIyMgYXJncykKLSNkZWZpbmUgUFJJTlRLVyhmbXQsIGFyZ3MuLi4pIFwKLQlwcmludGsoS0VSTl9XQVJOSU5HIERFVl9OQU1FICI6ICVzIC0+ICIgZm10LCBfX2Z1bmNfXyAsICMjIGFyZ3MpCi0jZGVmaW5lIFBSSU5US0MoZm10LCBhcmdzLi4uKSBcCi0JcHJpbnRrKEtFUk5fQ1JJVCBERVZfTkFNRSAiOiAlcyAtPiAiIGZtdCwgX19mdW5jX18gLCAjIyBhcmdzKQotCi0jaWZkZWYgWkNSWVBUX0RFQlVHCi0jZGVmaW5lIFBERUJVRyhmbXQsIGFyZ3MuLi4pIFwKLQlwcmludGsoS0VSTl9ERUJVRyBERVZfTkFNRSAiOiAlcyAtPiAiIGZtdCwgX19mdW5jX18gLCAjIyBhcmdzKQotI2Vsc2UKLSNkZWZpbmUgUERFQlVHKGZtdCwgYXJncy4uLikgZG8ge30gd2hpbGUgKDApCi0jZW5kaWYKLQogI2luY2x1ZGUgImFwX2J1cy5oIgogI2luY2x1ZGUgPGFzbS96Y3J5cHQuaD4KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfY2V4MmEuYyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2NleDJhLmMKaW5kZXggMDg2NTdmNi4uNTRmNGNiYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfY2V4MmEuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9jZXgyYS5jCkBAIC00OSw2ICs0OSw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgYXBfZGV2aWNlX2lkIHpjcnlwdF9jZXgyYV9pZHNbXSA9IHsKIAl7IEFQX0RFVklDRShBUF9ERVZJQ0VfVFlQRV9DRVgyQSkgfSwKKwl7IEFQX0RFVklDRShBUF9ERVZJQ0VfVFlQRV9DRVgyQTIpIH0sCiAJeyAvKiBlbmQgb2YgbGlzdCAqLyB9LAogfTsKIApAQCAtMjQyLDkgKzI0Myw2IEBACiAJCXJldHVybiBjb252ZXJ0X3R5cGU4MCh6ZGV2LCByZXBseSwKIAkJCQkgICAgICBvdXRwdXRkYXRhLCBvdXRwdXRkYXRhbGVuZ3RoKTsKIAlkZWZhdWx0OiAvKiBVbmtub3duIHJlc3BvbnNlIHR5cGUsIHRoaXMgc2hvdWxkIE5FVkVSIEVWRVIgaGFwcGVuICovCi0JCVBSSU5USygiVW5yZWNvZ25pemVkIE1lc3NhZ2UgSGVhZGVyOiAlMDh4JTA4eFxuIiwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIHJlcGx5LT5tZXNzYWdlLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgKHJlcGx5LT5tZXNzYWdlKzQpKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfZXJyb3IuaCBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2Vycm9yLmgKaW5kZXggM2UyN2ZlNy4uMDNiYTI3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfZXJyb3IuaAorKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9lcnJvci5oCkBAIC05MiwxMCArOTIsNiBAQAogewogCXN0cnVjdCBlcnJvcl9oZHIgKmVoZHIgPSByZXBseS0+bWVzc2FnZTsKIAotCVBSSU5USygiSGFyZHdhcmUgZXJyb3IgOiBUeXBlICUwMnggTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCSAgICAgICBlaGRyLT50eXBlLCAqKHVuc2lnbmVkIGludCAqKSByZXBseS0+bWVzc2FnZSwKLQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgKHJlcGx5LT5tZXNzYWdlICsgNCkpOwotCiAJc3dpdGNoIChlaGRyLT5yZXBseV9jb2RlKSB7CiAJY2FzZSBSRVA4Ml9FUlJPUl9PUEVSQU5EX0lOVkFMSUQ6CiAJY2FzZSBSRVA4Ml9FUlJPUl9PUEVSQU5EX1NJWkU6CkBAIC0xMjMsOCArMTE5LDYgQEAKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CiAJZGVmYXVsdDoKLQkJUFJJTlRLVygidW5rbm93biB0eXBlICUwMnggcmVwbHkgY29kZSA9ICVkXG4iLAotCQkJZWhkci0+dHlwZSwgZWhkci0+cmVwbHlfY29kZSk7CiAJCXpkZXYtPm9ubGluZSA9IDA7CiAJCXJldHVybiAtRUFHQUlOOwkvKiByZXBlYXQgdGhlIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgZGV2aWNlLiAqLwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaWNhLmMgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2ljYS5jCmluZGV4IDZlOTNiNDcuLjEyZGE0ODEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaWNhLmMKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2EuYwpAQCAtMjI2LDkgKzIyNiw2IEBACiAJCXJldHVybiBjb252ZXJ0X3R5cGU4NCh6ZGV2LCByZXBseSwKIAkJCQkgICAgICBvdXRwdXRkYXRhLCBvdXRwdXRkYXRhbGVuZ3RoKTsKIAlkZWZhdWx0OiAvKiBVbmtub3duIHJlc3BvbnNlIHR5cGUsIHRoaXMgc2hvdWxkIE5FVkVSIEVWRVIgaGFwcGVuICovCi0JCVBSSU5USygiVW5yZWNvZ25pemVkIE1lc3NhZ2UgSGVhZGVyOiAlMDh4JTA4eFxuIiwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIHJlcGx5LT5tZXNzYWdlLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgKHJlcGx5LT5tZXNzYWdlKzQpKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2MuYyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaWNjLmMKaW5kZXggMTdlYTU2Yy4uNzc5OTUyYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2MuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2ljYy5jCkBAIC0zNjEsMjYgKzM2MSwxOCBAQAogCXNlcnZpY2VfcmMgPSBsZTE2X3RvX2NwdShtc2ctPmNwcmIuY2NwX3J0Y29kZSk7CiAJaWYgKHVubGlrZWx5KHNlcnZpY2VfcmMgIT0gMCkpIHsKIAkJc2VydmljZV9ycyA9IGxlMTZfdG9fY3B1KG1zZy0+Y3ByYi5jY3BfcnNjb2RlKTsKLQkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDY2KSB7Ci0JCQlQREVCVUcoIkJhZCBibG9jayBmb3JtYXQgb24gUENJQ0NcbiIpOworCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjYpCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjUpIHsKLQkJCVBERUJVRygiUHJvYmFibHkgYW4gZXZlbiBtb2R1bHVzIG9uIFBDSUNDXG4iKTsKKwkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDY1KQogCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KIAkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDc3MCkgewotCQkJUERFQlVHKCJJbnZhbGlkIGtleSBsZW5ndGggb24gUENJQ0NcbiIpOwogCQkJemRldi0+bWF4X21vZF9zaXplID0gUENJQ0NfTUFYX01PRF9TSVpFX09MRDsKIAkJCXJldHVybiAtRUFHQUlOOwogCQl9CiAJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA3ODMpIHsKLQkJCVBERUJVRygiRXh0ZW5kZWQgYml0bGVuZ3RocyBub3QgZW5hYmxlZCBvbiBQQ0lDQ1xuIik7CiAJCQl6ZGV2LT5tYXhfbW9kX3NpemUgPSBQQ0lDQ19NQVhfTU9EX1NJWkVfT0xEOwogCQkJcmV0dXJuIC1FQUdBSU47CiAJCX0KLQkJUFJJTlRLKCJVbmtub3duIHNlcnZpY2UgcmMvcnMgKFBDSUNDKTogJWQvJWRcbiIsCi0JCSAgICAgICBzZXJ2aWNlX3JjLCBzZXJ2aWNlX3JzKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpAQCAtNDM0LDkgKzQyNiw2IEBACiAJCQkJCSAgICAgIG91dHB1dGRhdGEsIG91dHB1dGRhdGFsZW5ndGgpOwogCQkvKiBubyBicmVhaywgaW5jb3JyZWN0IGNwcmIgdmVyc2lvbiBpcyBhbiB1bmtub3duIHJlc3BvbnNlICovCiAJZGVmYXVsdDogLyogVW5rbm93biByZXNwb25zZSB0eXBlLCB0aGlzIHNob3VsZCBORVZFUiBFVkVSIGhhcHBlbiAqLwotCQlQUklOVEsoIlVucmVjb2duaXplZCBNZXNzYWdlIEhlYWRlcjogJTA4eCUwOHhcbiIsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSByZXBseS0+bWVzc2FnZSwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIChyZXBseS0+bWVzc2FnZSs0KSk7CiAJCXpkZXYtPm9ubGluZSA9IDA7CiAJCXJldHVybiAtRUFHQUlOOwkvKiByZXBlYXQgdGhlIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgZGV2aWNlLiAqLwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaXhjYy5jIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpeGNjLmMKaW5kZXggMGJjOWIzMS4uZDhhZDM2ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpeGNjLmMKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpeGNjLmMKQEAgLTcyLDYgKzcyLDcgQEAKIHN0YXRpYyBzdHJ1Y3QgYXBfZGV2aWNlX2lkIHpjcnlwdF9wY2l4Y2NfaWRzW10gPSB7CiAJeyBBUF9ERVZJQ0UoQVBfREVWSUNFX1RZUEVfUENJWENDKSB9LAogCXsgQVBfREVWSUNFKEFQX0RFVklDRV9UWVBFX0NFWDJDKSB9LAorCXsgQVBfREVWSUNFKEFQX0RFVklDRV9UWVBFX0NFWDJDMikgfSwKIAl7IC8qIGVuZCBvZiBsaXN0ICovIH0sCiB9OwogCkBAIC0yODksMzggKzI5MCwxOSBAQAogCWFwX21zZy0+bGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCB0eXBlNl9oZHIpICsKIAkJQ0VJTDQoeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgpICsKIAkJeGNSQi0+cmVxdWVzdF9kYXRhX2xlbmd0aDsKLQlpZiAoYXBfbXNnLT5sZW5ndGggPiBQQ0lYQ0NfTUFYX1hDUkJfTUVTU0FHRV9TSVpFKSB7Ci0JCVBSSU5USygiQ29tYmluZWQgbWVzc2FnZSBpcyB0b28gbGFyZ2UgKCVsZC8lZC8lZCkuXG4iLAotCQkgICAgc2l6ZW9mKHN0cnVjdCB0eXBlNl9oZHIpLAotCQkgICAgeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgsCi0JCSAgICB4Y1JCLT5yZXF1ZXN0X2RhdGFfbGVuZ3RoKTsKKwlpZiAoYXBfbXNnLT5sZW5ndGggPiBQQ0lYQ0NfTUFYX1hDUkJfTUVTU0FHRV9TSVpFKQogCQlyZXR1cm4gLUVGQVVMVDsKLQl9Ci0JaWYgKENFSUw0KHhjUkItPnJlcGx5X2NvbnRyb2xfYmxrX2xlbmd0aCkgPgotCSAgICBQQ0lYQ0NfTUFYX1hDUkJfUkVQTFlfU0laRSkgewotCQlQREVCVUcoIlJlcGx5IENQUkIgbGVuZ3RoIGlzIHRvbyBsYXJnZSAoJWQpLlxuIiwKLQkJICAgIHhjUkItPnJlcXVlc3RfY29udHJvbF9ibGtfbGVuZ3RoKTsKKwlpZiAoQ0VJTDQoeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoKSA+IFBDSVhDQ19NQVhfWENSQl9SRVBMWV9TSVpFKQogCQlyZXR1cm4gLUVGQVVMVDsKLQl9Ci0JaWYgKENFSUw0KHhjUkItPnJlcGx5X2RhdGFfbGVuZ3RoKSA+IFBDSVhDQ19NQVhfWENSQl9EQVRBX1NJWkUpIHsKLQkJUERFQlVHKCJSZXBseSBkYXRhIGJsb2NrIGxlbmd0aCBpcyB0b28gbGFyZ2UgKCVkKS5cbiIsCi0JCSAgICB4Y1JCLT5yZXBseV9kYXRhX2xlbmd0aCk7CisJaWYgKENFSUw0KHhjUkItPnJlcGx5X2RhdGFfbGVuZ3RoKSA+IFBDSVhDQ19NQVhfWENSQl9EQVRBX1NJWkUpCiAJCXJldHVybiAtRUZBVUxUOwotCX0KIAlyZXBseWxlbiA9IENFSUw0KHhjUkItPnJlcGx5X2NvbnRyb2xfYmxrX2xlbmd0aCkgKwogCQlDRUlMNCh4Y1JCLT5yZXBseV9kYXRhX2xlbmd0aCkgKwogCQlzaXplb2Yoc3RydWN0IHR5cGU4Nl9mbXQyX21zZyk7CiAJaWYgKHJlcGx5bGVuID4gUENJWENDX01BWF9YQ1JCX1JFU1BPTlNFX1NJWkUpIHsKLQkJUERFQlVHKCJSZXBseSBDUFJCICsgZGF0YSBibG9jayA+IFBDSVhDQ19NQVhfWENSQl9SRVNQT05TRV9TSVpFIgotCQkgICAgICAgIiAoJWQvJWQvJWQpLlxuIiwKLQkJICAgICAgIHNpemVvZihzdHJ1Y3QgdHlwZTg2X2ZtdDJfbXNnKSwKLQkJICAgICAgIHhjUkItPnJlcGx5X2NvbnRyb2xfYmxrX2xlbmd0aCwKLQkJICAgICAgIHhjUkItPnJlcGx5X2RhdGFfbGVuZ3RoKTsKIAkJeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoID0gUENJWENDX01BWF9YQ1JCX1JFU1BPTlNFX1NJWkUgLQogCQkJKHNpemVvZihzdHJ1Y3QgdHlwZTg2X2ZtdDJfbXNnKSArCiAJCQkgICAgQ0VJTDQoeGNSQi0+cmVwbHlfZGF0YV9sZW5ndGgpKTsKLQkJUERFQlVHKCJDYXBwaW5nIFJlcGx5IENQUkIgbGVuZ3RoIGF0ICVkXG4iLAotCQkgICAgICAgeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoKTsKIAl9CiAKIAkvKiBwcmVwYXJlIHR5cGU2IGhlYWRlciAqLwpAQCAtMzM5LDExICszMjEsOCBAQAogCQkgICAgeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgpKQogCQlyZXR1cm4gLUVGQVVMVDsKIAlpZiAobXNnLT5jcHJieC5jcHJiX2xlbiArIHNpemVvZihtc2ctPmhkci5mdW5jdGlvbl9jb2RlKSA+Ci0JICAgIHhjUkItPnJlcXVlc3RfY29udHJvbF9ibGtfbGVuZ3RoKSB7Ci0JCVBERUJVRygiY3ByYl9sZW4gdG9vIGxhcmdlICglZC8lZClcbiIsIG1zZy0+Y3ByYnguY3ByYl9sZW4sCi0JCSAgICB4Y1JCLT5yZXF1ZXN0X2NvbnRyb2xfYmxrX2xlbmd0aCk7CisJICAgIHhjUkItPnJlcXVlc3RfY29udHJvbF9ibGtfbGVuZ3RoKQogCQlyZXR1cm4gLUVGQVVMVDsKLQl9CiAJZnVuY3Rpb25fY29kZSA9ICgodW5zaWduZWQgY2hhciAqKSZtc2ctPmNwcmJ4KSArIG1zZy0+Y3ByYnguY3ByYl9sZW47CiAJbWVtY3B5KG1zZy0+aGRyLmZ1bmN0aW9uX2NvZGUsIGZ1bmN0aW9uX2NvZGUsIHNpemVvZihtc2ctPmhkci5mdW5jdGlvbl9jb2RlKSk7CiAKQEAgLTQ3MSwyOSArNDUwLDE4IEBACiAJc2VydmljZV9yYyA9IG1zZy0+Y3ByYnguY2NwX3J0Y29kZTsKIAlpZiAodW5saWtlbHkoc2VydmljZV9yYyAhPSAwKSkgewogCQlzZXJ2aWNlX3JzID0gbXNnLT5jcHJieC5jY3BfcnNjb2RlOwotCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjYpIHsKLQkJCVBERUJVRygiQmFkIGJsb2NrIGZvcm1hdCBvbiBQQ0lYQ0MvQ0VYMkNcbiIpOworCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjYpCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjUpIHsKLQkJCVBERUJVRygiUHJvYmFibHkgYW4gZXZlbiBtb2R1bHVzIG9uIFBDSVhDQy9DRVgyQ1xuIik7CisJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NSkKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA3NzApIHsKLQkJCVBERUJVRygiSW52YWxpZCBrZXkgbGVuZ3RoIG9uIFBDSVhDQy9DRVgyQ1xuIik7CisJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA3NzApCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQogCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNzgzKSB7Ci0JCQlQREVCVUcoIkV4dGVuZGVkIGJpdGxlbmd0aHMgbm90IGVuYWJsZWQgb24gUENJWENDL0NFWDJDXG4iKTsKIAkJCXpkZXYtPm1pbl9tb2Rfc2l6ZSA9IFBDSVhDQ19NSU5fTU9EX1NJWkVfT0xEOwogCQkJcmV0dXJuIC1FQUdBSU47CiAJCX0KLQkJaWYgKHNlcnZpY2VfcmMgPT0gMTIgJiYgc2VydmljZV9ycyA9PSA3NjkpIHsKLQkJCVBERUJVRygiSW52YWxpZCBrZXkgb24gUENJWENDL0NFWDJDXG4iKTsKKwkJaWYgKHNlcnZpY2VfcmMgPT0gMTIgJiYgc2VydmljZV9ycyA9PSA3NjkpCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCQlQUklOVEsoIlVua25vd24gc2VydmljZSByYy9ycyAoUENJWENDL0NFWDJDKTogJWQvJWRcbiIsCi0JCSAgICAgICBzZXJ2aWNlX3JjLCBzZXJ2aWNlX3JzKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpAQCAtNTY5LDExICs1MzcsOCBAQAogCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgKm1zZyA9IHJlcGx5LT5tZXNzYWdlOwogCWNoYXIgKmRhdGEgPSByZXBseS0+bWVzc2FnZTsKIAotCWlmIChtc2ctPmNwcmJ4LmNjcF9ydGNvZGUgIT0gMCB8fCBtc2ctPmNwcmJ4LmNjcF9yc2NvZGUgIT0gMCkgewotCQlQREVCVUcoIlJORyByZXNwb25zZSBlcnJvciBvbiBQQ0lYQ0MvQ0VYMkMgcmM9JWh1L3JzPSVodVxuIiwKLQkJICAgICAgIHJjLCBycyk7CisJaWYgKG1zZy0+Y3ByYnguY2NwX3J0Y29kZSAhPSAwIHx8IG1zZy0+Y3ByYnguY2NwX3JzY29kZSAhPSAwKQogCQlyZXR1cm4gLUVJTlZBTDsKLQl9CiAJbWVtY3B5KGJ1ZmZlciwgZGF0YSArIG1zZy0+Zm10Mi5vZmZzZXQyLCBtc2ctPmZtdDIuY291bnQyKTsKIAlyZXR1cm4gbXNnLT5mbXQyLmNvdW50MjsKIH0KQEAgLTU5OCw5ICs1NjMsNiBAQAogCQkJCQkJICBvdXRwdXRkYXRhLCBvdXRwdXRkYXRhbGVuZ3RoKTsKIAkJLyogbm8gYnJlYWssIGluY29ycmVjdCBjcHJiIHZlcnNpb24gaXMgYW4gdW5rbm93biByZXNwb25zZSAqLwogCWRlZmF1bHQ6IC8qIFVua25vd24gcmVzcG9uc2UgdHlwZSwgdGhpcyBzaG91bGQgTkVWRVIgRVZFUiBoYXBwZW4gKi8KLQkJUFJJTlRLKCJVbnJlY29nbml6ZWQgTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgcmVwbHktPm1lc3NhZ2UsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UrNCkpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CkBAIC02MjcsOSArNTg5LDYgQEAKIAkJCXJldHVybiBjb252ZXJ0X3R5cGU4Nl94Y3JiKHpkZXYsIHJlcGx5LCB4Y1JCKTsKIAkJLyogbm8gYnJlYWssIGluY29ycmVjdCBjcHJiIHZlcnNpb24gaXMgYW4gdW5rbm93biByZXNwb25zZSAqLwogCWRlZmF1bHQ6IC8qIFVua25vd24gcmVzcG9uc2UgdHlwZSwgdGhpcyBzaG91bGQgTkVWRVIgRVZFUiBoYXBwZW4gKi8KLQkJUFJJTlRLKCJVbnJlY29nbml6ZWQgTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgcmVwbHktPm1lc3NhZ2UsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UrNCkpOwogCQl4Y1JCLT5zdGF0dXMgPSAweDAwMDgwNDRETDsgLyogSEREX0ludmFsaWRQYXJtICovCiAJCXpkZXYtPm9ubGluZSA9IDA7CiAJCXJldHVybiAtRUFHQUlOOwkvKiByZXBlYXQgdGhlIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgZGV2aWNlLiAqLwpAQCAtNjUzLDkgKzYxMiw2IEBACiAJCQlyZXR1cm4gY29udmVydF90eXBlODZfcm5nKHpkZXYsIHJlcGx5LCBkYXRhKTsKIAkJLyogbm8gYnJlYWssIGluY29ycmVjdCBjcHJiIHZlcnNpb24gaXMgYW4gdW5rbm93biByZXNwb25zZSAqLwogCWRlZmF1bHQ6IC8qIFVua25vd24gcmVzcG9uc2UgdHlwZSwgdGhpcyBzaG91bGQgTkVWRVIgRVZFUiBoYXBwZW4gKi8KLQkJUFJJTlRLKCJVbnJlY29nbml6ZWQgTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgcmVwbHktPm1lc3NhZ2UsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UrNCkpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CkBAIC03MDAsMTAgKzY1Niw3IEBACiAJCQltZW1jcHkobXNnLT5tZXNzYWdlLCByZXBseS0+bWVzc2FnZSwgbGVuZ3RoKTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgotCQkJUFJJTlRLKCJJbnZhbGlkIGludGVybmFsIHJlc3BvbnNlIHR5cGU6ICVpXG4iLAotCQkJICAgIHJlc3BfdHlwZS0+dHlwZSk7Ci0JCQltZW1jcHkobXNnLT5tZXNzYWdlLCAmZXJyb3JfcmVwbHksCi0JCQkgICAgc2l6ZW9mIGVycm9yX3JlcGx5KTsKKwkJCW1lbWNweShtc2ctPm1lc3NhZ2UsICZlcnJvcl9yZXBseSwgc2l6ZW9mIGVycm9yX3JlcGx5KTsKIAkJfQogCX0gZWxzZQogCQltZW1jcHkobXNnLT5tZXNzYWdlLCByZXBseS0+bWVzc2FnZSwgc2l6ZW9mIGVycm9yX3JlcGx5KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvY2xhdy5jIGIvZHJpdmVycy9zMzkwL25ldC9jbGF3LmMKaW5kZXggMDRhMWQ3Yi4uYzY0NDY2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9jbGF3LmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9jbGF3LmMKQEAgLTcwMyw3ICs3MDMsOCBAQAogCWlmICghY2Rldi0+ZGV2LmRyaXZlcl9kYXRhKSB7CiAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fV0FSTklORyAiY2xhdzogdW5zb2xpY2l0ZWQgaW50ZXJydXB0IGZvciBkZXZpY2U6IgogCQkgCSIlcyByZWNlaXZlZCBjLSUwMnggZC0lMDJ4XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgY2Rldi0+ZGV2LmJ1c19pZCxpcmItPnNjc3cuY3N0YXQsIGlyYi0+c2Nzdy5kc3RhdCk7CisJCSAgICAgICBjZGV2LT5kZXYuYnVzX2lkLCBpcmItPnNjc3cuY21kLmNzdGF0LAorCQkgICAgICAgaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAjaWZkZWYgRlVOQ1RSQUNFCiAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiY2xhdzogJXMoKSAiCiAJCQkiZXhpdCBvbiBsaW5lICVkXG4iLF9fZnVuY19fLF9fTElORV9fKTsKQEAgLTczMiwyMiArNzMzLDIzIEBACiAjaWZkZWYgSU9UUkFDRQogICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczogaW50ZXJydXB0IGZvciBkZXZpY2U6ICUwNHggIgogCQkicmVjZWl2ZWQgYy0lMDJ4IGQtJTAyeCBzdGF0ZS0lMDJ4XG4iLAotICAgICAgICAgICAgICAgIGRldi0+bmFtZSwgcF9jaC0+ZGV2bm8sIGlyYi0+c2Nzdy5jc3RhdCwKLQkJaXJiLT5zY3N3LmRzdGF0LCBwX2NoLT5jbGF3X3N0YXRlKTsKKwkgICAgICAgZGV2LT5uYW1lLCBwX2NoLT5kZXZubywgaXJiLT5zY3N3LmNtZC5jc3RhdCwKKwkgICAgICAgaXJiLT5zY3N3LmNtZC5kc3RhdCwgcF9jaC0+Y2xhd19zdGF0ZSk7CiAjZW5kaWYKIAogCS8qIENvcHkgaW50ZXJydXB0aW9uIHJlc3BvbnNlIGJsb2NrLiAqLwogCW1lbWNweShwX2NoLT5pcmIsIGlyYiwgc2l6ZW9mKHN0cnVjdCBpcmIpKTsKIAogICAgICAgICAvKiBDaGVjayBmb3IgZ29vZCBzdWJjaGFubmVsIHJldHVybiBjb2RlLCBvdGhlcndpc2UgZXJyb3IgbWVzc2FnZSAqLwotICAgICAgICBpZiAoaXJiLT5zY3N3LmNzdGF0ICAmJiAgIShpcmItPnNjc3cuY3N0YXQgJiBTQ0hOX1NUQVRfUENJKSkgeworCWlmIChpcmItPnNjc3cuY21kLmNzdGF0ICYmICEoaXJiLT5zY3N3LmNtZC5jc3RhdCAmIFNDSE5fU1RBVF9QQ0kpKSB7CiAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6IHN1YmNoYW5uZWwgY2hlY2sgZm9yIGRldmljZTogJTA0eCAtIgogCQkJIiBTY2ggU3RhdCAlMDJ4ICBEZXYgU3RhdCAlMDJ4IENQQSAtICUwNHhcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICBkZXYtPm5hbWUsIHBfY2gtPmRldm5vLAotCQkJaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuZHN0YXQsaXJiLT5zY3N3LmNwYSk7CisJCQlpcmItPnNjc3cuY21kLmNzdGF0LCBpcmItPnNjc3cuY21kLmRzdGF0LAorCQkJaXJiLT5zY3N3LmNtZC5jcGEpOwogI2lmZGVmIElPVFJBQ0UKIAkJZHVtcGl0KChjaGFyICopaXJiLHNpemVvZihzdHJ1Y3QgaXJiKSk7Ci0JCWR1bXBpdCgoY2hhciAqKSh1bnNpZ25lZCBsb25nKWlyYi0+c2Nzdy5jcGEsCisJCWR1bXBpdCgoY2hhciAqKSh1bnNpZ25lZCBsb25nKWlyYi0+c2Nzdy5jbWQuY3BhLAogCQkJc2l6ZW9mKHN0cnVjdCBjY3cxKSk7CiAjZW5kaWYKICNpZmRlZiBGVU5DVFJBQ0UKQEAgLTc1OSwyMiArNzYxLDI0IEBACiAgICAgICAgIH0KIAogICAgICAgICAvKiBDaGVjayB0aGUgcmVhc29uLWNvZGUgb2YgYSB1bml0IGNoZWNrICovCi0gICAgICAgIGlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQogICAgICAgICAgICAgICAgIGNjd19jaGVja191bml0X2NoZWNrKHBfY2gsIGlyYi0+ZWN3WzBdKTsKLSAgICAgICAgfQogCiAgICAgICAgIC8qIFN0YXRlIG1hY2hpbmUgdG8gYnJpbmcgdGhlIGNvbm5lY3Rpb24gdXAsIGRvd24gYW5kIHRvIHJlc3RhcnQgKi8KLSAgICAgICAgcF9jaC0+bGFzdF9kc3RhdCA9IGlyYi0+c2Nzdy5kc3RhdDsKKwlwX2NoLT5sYXN0X2RzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAogICAgICAgICBzd2l0Y2ggKHBfY2gtPmNsYXdfc3RhdGUpIHsKICAgICAgICAgICAgICAgICBjYXNlIENMQVdfU1RPUDovKiBIQUxUX0lPIGJ5IGNsYXdfcmVsZWFzZSAoaGFsdCBzZXF1ZW5jZSkgKi8KICNpZmRlZiBERUJVR01TRwogICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6IENMQVdfU1RPUCBlbnRlclxuIiwgZGV2LT5uYW1lKTsKICNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKLQkgICAgCQkocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIAkJKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAgCQkoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CisJCQlpZiAoISgocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCAmCisJCQkgICAgICAgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAorCQkJICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkJU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKKwkJCSAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJCShTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8CisJCQkJIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkpIHsKICNpZmRlZiBGVU5DVFJBQ0UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6JXMgRXhpdCBvbiBsaW5lICVkXG4iLAogCQkJCQlkZXYtPm5hbWUsX19mdW5jX18sX19MSU5FX18pOwpAQCAtNzk4LDEwICs4MDIsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0lORk8gIiVzOiBwcm9jZXNzIENMQVdfU1RBVF9IQUxUX0lPXG4iLAogCQkJCWRldi0+bmFtZSk7CiAjZW5kaWYKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKChwX2NoLT5pcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpIHx8Ci0JICAgIAkJKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAotCSAgICAJCShwX2NoLT5pcmItPnNjc3cuc3RjdGwgPT0KLQkgICAgIAkJKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSkgeworCQkJaWYgKCEoKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgJgorCQkJICAgICAgIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKKwkJCSAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJICAgICBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAorCQkJICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkgICAgIChTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8CisJCQkgICAgICBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CiAjaWZkZWYgRlVOQ1RSQUNFCiAJCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXM6JXMgRXhpdCBvbiBsaW5lICVkXG4iLAogCQkJCQlkZXYtPm5hbWUsX19mdW5jX18sX19MSU5FX18pOwpAQCAtODI4LDggKzgzNSw4IEBACiAJCQkJCSJpbnRlcnJ1cHQgZm9yIGRldmljZToiCiAJCQkJIAkiJXMgcmVjZWl2ZWQgYy0lMDJ4IGQtJTAyeFxuIiwKICAgICAgICAgICAgICAgICAJCSAgICAgICAgY2Rldi0+ZGV2LmJ1c19pZCwKLQkJCQkJaXJiLT5zY3N3LmNzdGF0LAotCQkJCQlpcmItPnNjc3cuZHN0YXQpOworCQkJCQlpcmItPnNjc3cuY21kLmNzdGF0LAorCQkJCQlpcmItPnNjc3cuY21kLmRzdGF0KTsKIAkJCQlyZXR1cm47CiAJCQkJfQogI2lmZGVmIERFQlVHTVNHCkBAIC04NDQsNyArODUxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICBjYXNlIENMQVdfU1RBUlRfUkVBRDoKIAkJCUNMQVdfREJGX1RFWFQoNCx0cmFjZSwiUmVhZElSUSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBfY2gtPmlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwkJCWlmIChwX2NoLT5pcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhcl9iaXQoMCwgKHZvaWQgKikmcF9jaC0+SU9fYWN0aXZlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChwX2NoLT5pcmItPmVjd1swXSAmIDB4NDEpID09IDB4NDEgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwX2NoLT5pcmItPmVjd1swXSAmIDB4NDApID09IDB4NDAgfHwKQEAgLTg2Myw4ICs4NzAsOCBAQAogCQkJCQlDTEFXX0RCRl9URVhUKDQsdHJhY2UsIm5vdHJkeSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICgocF9jaC0+aXJiLT5zY3N3LmNzdGF0ICYgU0NITl9TVEFUX1BDSSkgJiYKLQkJCSAgICAocF9jaC0+aXJiLT5zY3N3LmRzdGF0PT0wKSkgeworCQkJaWYgKChwX2NoLT5pcmItPnNjc3cuY21kLmNzdGF0ICYgU0NITl9TVEFUX1BDSSkgJiYKKwkJCSAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAwKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdF9hbmRfc2V0X2JpdChDTEFXX0JIX0FDVElWRSwKIAkJCQkJKHZvaWQgKikmcF9jaC0+ZmxhZ19hKSA9PSAwKSB7CiAJCQkJCXRhc2tsZXRfc2NoZWR1bGUoJnBfY2gtPnRhc2tsZXQpOwpAQCAtODc5LDEwICs4ODYsMTMgQEAKIAkJCQlDTEFXX0RCRl9URVhUKDQsdHJhY2UsIlBDSV9yZWFkIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmKCEoKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKLQkgICAgCQkgKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAotCSAgICAJCSAocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09Ci0JICAgICAJCSAoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CisJCQlpZiAoISgocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCAmCisJCQkgICAgICAgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAorCQkJICAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJICAgICAgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKKwkJCSAgICAgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCSAgICAgIChTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8CisJCQkgICAgICAgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSkgewogI2lmZGVmIEZVTkNUUkFDRQogCQkJCXByaW50ayhLRVJOX0lORk8gIiVzOiVzIEV4aXQgb24gbGluZSAlZFxuIiwKIAkJCQkJZGV2LT5uYW1lLF9fZnVuY19fLF9fTElORV9fKTsKQEAgLTkxMSw3ICs5MjEsNyBAQAogCQkJQ0xBV19EQkZfVEVYVCg0LHRyYWNlLCJSZElSUVhpdCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIGNhc2UgQ0xBV19TVEFSVF9XUklURToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwX2NoLT5pcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CisJCQlpZiAocF9jaC0+aXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6IFVuaXQgQ2hlY2sgT2NjdXJlZCBpbiAiCiAJCQkJCSJ3cml0ZSBjaGFubmVsXG4iLGRldi0+bmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyX2JpdCgwLCAodm9pZCAqKSZwX2NoLT5JT19hY3RpdmUpOwpAQCAtOTM0LDE2ICs5NDQsMTkgQEAKIAkJCQlDTEFXX0RCRl9URVhUKDQsdHJhY2UsInJzdHJ0d3J0Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwX2NoLT5pcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0VYQ0VQKSB7CisJCQlpZiAocF9jaC0+aXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhcl9iaXQoMCwgKHZvaWQgKikmcF9jaC0+SU9fYWN0aXZlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczogVW5pdCBFeGNlcHRpb24gIgogCQkJCQkJIk9jY3VyZWQgaW4gd3JpdGUgY2hhbm5lbFxuIiwKIAkJCQkJCWRldi0+bmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZighKChwX2NoLT5pcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpIHx8Ci0JICAgIAkJKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAotCSAgICAJCShwX2NoLT5pcmItPnNjc3cuc3RjdGwgPT0KLQkgICAgIAkJKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSkgeworCQkJaWYgKCEoKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgJgorCQkJICAgICAgIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKKwkJCSAgICAgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCSAgICAgIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8CisJCQkgICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkgICAgICAoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfAorCQkJICAgICAgIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkpIHsKICNpZmRlZiBGVU5DVFJBQ0UKIAkJCQlwcmludGsoS0VSTl9JTkZPICIlczolcyBFeGl0IG9uIGxpbmUgJWRcbiIsCiAJCQkJCWRldi0+bmFtZSxfX2Z1bmNfXyxfX0xJTkVfXyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fZnNtcy5jIGIvZHJpdmVycy9zMzkwL25ldC9jdGNtX2ZzbXMuYwppbmRleCAyYTEwNmYzLi43ZTZiZDM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fZnNtcy5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9mc21zLmMKQEAgLTI1Nyw5ICsyNTcsOSBAQAogCWlmIChkdXJhdGlvbiA+IGNoLT5wcm9mLnR4X3RpbWUpCiAJCWNoLT5wcm9mLnR4X3RpbWUgPSBkdXJhdGlvbjsKIAotCWlmIChjaC0+aXJiLT5zY3N3LmNvdW50ICE9IDApCisJaWYgKGNoLT5pcmItPnNjc3cuY21kLmNvdW50ICE9IDApCiAJCWN0Y21fcHJfZGVidWcoIiVzOiBUWCBub3QgY29tcGxldGUsIHJlbWFpbmluZyAlZCBieXRlc1xuIiwKLQkJCSAgICAgZGV2LT5uYW1lLCBjaC0+aXJiLT5zY3N3LmNvdW50KTsKKwkJCSAgICAgZGV2LT5uYW1lLCBjaC0+aXJiLT5zY3N3LmNtZC5jb3VudCk7CiAJZnNtX2RlbHRpbWVyKCZjaC0+dGltZXIpOwogCXdoaWxlICgoc2tiID0gc2tiX2RlcXVldWUoJmNoLT5pb19xdWV1ZSkpKSB7CiAJCXByaXYtPnN0YXRzLnR4X3BhY2tldHMrKzsKQEAgLTM1Myw3ICszNTMsNyBAQAogCXN0cnVjdCBjaGFubmVsICpjaCA9IGFyZzsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gY2gtPm5ldGRldjsKIAlzdHJ1Y3QgY3RjbV9wcml2ICpwcml2ID0gZGV2LT5wcml2OwotCWludCBsZW4gPSBjaC0+bWF4X2J1ZnNpemUgLSBjaC0+aXJiLT5zY3N3LmNvdW50OworCWludCBsZW4gPSBjaC0+bWF4X2J1ZnNpemUgLSBjaC0+aXJiLT5zY3N3LmNtZC5jb3VudDsKIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiID0gY2gtPnRyYW5zX3NrYjsKIAlfX3UxNiBibG9ja19sZW4gPSAqKChfX3UxNiAqKXNrYi0+ZGF0YSk7CiAJaW50IGNoZWNrX2xlbjsKQEAgLTEyMzQsOSArMTIzNCw5IEBACiAJaWYgKGR1cmF0aW9uID4gY2gtPnByb2YudHhfdGltZSkKIAkJY2gtPnByb2YudHhfdGltZSA9IGR1cmF0aW9uOwogCi0JaWYgKGNoLT5pcmItPnNjc3cuY291bnQgIT0gMCkKKwlpZiAoY2gtPmlyYi0+c2Nzdy5jbWQuY291bnQgIT0gMCkKIAkJY3RjbV9wcl9kZWJ1ZygiJXM6IFRYIG5vdCBjb21wbGV0ZSwgcmVtYWluaW5nICVkIGJ5dGVzXG4iLAotCQkJCWRldi0+bmFtZSwgY2gtPmlyYi0+c2Nzdy5jb3VudCk7CisJCQkJZGV2LT5uYW1lLCBjaC0+aXJiLT5zY3N3LmNtZC5jb3VudCk7CiAJZnNtX2RlbHRpbWVyKCZjaC0+dGltZXIpOwogCXdoaWxlICgoc2tiID0gc2tiX2RlcXVldWUoJmNoLT5pb19xdWV1ZSkpKSB7CiAJCXByaXYtPnN0YXRzLnR4X3BhY2tldHMrKzsKQEAgLTEzOTQsNyArMTM5NCw3IEBACiAJc3RydWN0IHNrX2J1ZmYJCSpza2IgPSBjaC0+dHJhbnNfc2tiOwogCXN0cnVjdCBza19idWZmCQkqbmV3X3NrYjsKIAl1bnNpZ25lZCBsb25nCXNhdmVmbGFncyA9IDA7CS8qIGF2b2lkcyBjb21waWxlciB3YXJuaW5nICovCi0JaW50IGxlbgk9IGNoLT5tYXhfYnVmc2l6ZSAtIGNoLT5pcmItPnNjc3cuY291bnQ7CisJaW50IGxlbgk9IGNoLT5tYXhfYnVmc2l6ZSAtIGNoLT5pcmItPnNjc3cuY21kLmNvdW50OwogCiAJaWYgKGRvX2RlYnVnX2RhdGEpIHsKIAkJQ1RDTV9EQkZfVEVYVF8oVFJBQ0UsIENUQ19EQkZfREVCVUcsICJtcGNfY2hfcnggJXMgY3A6JWkgJXNcbiIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fbWFpbi5jIGIvZHJpdmVycy9zMzkwL25ldC9jdGNtX21haW4uYwppbmRleCBkNTI4NDNkLi42YjEzYzFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fbWFpbi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9tYWluLmMKQEAgLTEyMzYsOCArMTIzNiw4IEBACiAJLyogQ2hlY2sgZm9yIHVuc29saWNpdGVkIGludGVycnVwdHMuICovCiAJaWYgKGNnZGV2ID09IE5VTEwpIHsKIAkJY3RjbV9wcl93YXJuKCJjdGNtOiBHb3QgdW5zb2xpY2l0ZWQgaXJxOiAlcyBjLSUwMnggZC0lMDJ4XG4iLAotCQkJICAgIGNkZXYtPmRldi5idXNfaWQsIGlyYi0+c2Nzdy5jc3RhdCwKLQkJCSAgICBpcmItPnNjc3cuZHN0YXQpOworCQkJICAgIGNkZXYtPmRldi5idXNfaWQsIGlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCQkgICAgaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTEyNjYsNDAgKzEyNjYsNDAgQEAKIAkJCQkicmVjZWl2ZWQgYy0lMDJ4IGQtJTAyeFxuIiwKIAkJCQlkZXYtPm5hbWUsCiAJCQkJY2gtPmlkLAotCQkJCWlyYi0+c2Nzdy5jc3RhdCwKLQkJCQlpcmItPnNjc3cuZHN0YXQpOworCQkJCWlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCQkJaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAKIAkvKiBDb3B5IGludGVycnVwdGlvbiByZXNwb25zZSBibG9jay4gKi8KIAltZW1jcHkoY2gtPmlyYiwgaXJiLCBzaXplb2Yoc3RydWN0IGlyYikpOwogCiAJLyogQ2hlY2sgZm9yIGdvb2Qgc3ViY2hhbm5lbCByZXR1cm4gY29kZSwgb3RoZXJ3aXNlIGVycm9yIG1lc3NhZ2UgKi8KLQlpZiAoaXJiLT5zY3N3LmNzdGF0KSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuY3N0YXQpIHsKIAkJZnNtX2V2ZW50KGNoLT5mc20sIENUQ19FVkVOVF9TQ19VTktOT1dOLCBjaCk7CiAJCWN0Y21fcHJfd2FybigiJXM6IHN1YmNoYW5uZWwgY2hlY2sgZm9yIGRldjogJXMgLSAlMDJ4ICUwMnhcbiIsCi0JCQkgICAgZGV2LT5uYW1lLCBjaC0+aWQsIGlyYi0+c2Nzdy5jc3RhdCwKLQkJCSAgICBpcmItPnNjc3cuZHN0YXQpOworCQkJICAgIGRldi0+bmFtZSwgY2gtPmlkLCBpcmItPnNjc3cuY21kLmNzdGF0LAorCQkJICAgIGlyYi0+c2Nzdy5jbWQuZHN0YXQpOwogCQlyZXR1cm47CiAJfQogCiAJLyogQ2hlY2sgdGhlIHJlYXNvbi1jb2RlIG9mIGEgdW5pdCBjaGVjayAqLwotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CiAJCWNjd191bml0X2NoZWNrKGNoLCBpcmItPmVjd1swXSk7CiAJCXJldHVybjsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0JVU1kpIHsKLQkJaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0JVU1kpIHsKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pCiAJCQlmc21fZXZlbnQoY2gtPmZzbSwgQ1RDX0VWRU5UX0FUVE5CVVNZLCBjaCk7CiAJCWVsc2UKIAkJCWZzbV9ldmVudChjaC0+ZnNtLCBDVENfRVZFTlRfQlVTWSwgY2gpOwogCQlyZXR1cm47CiAJfQotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgewogCQlmc21fZXZlbnQoY2gtPmZzbSwgQ1RDX0VWRU5UX0FUVE4sIGNoKTsKIAkJcmV0dXJuOwogCX0KLQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKLQkgICAgKGlyYi0+c2Nzdy5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAotCSAgICAoaXJiLT5zY3N3LnN0Y3RsID09CisJaWYgKChpcmItPnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAorCSAgICAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAorCSAgICAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQogCSAgICAgKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKQogCQlmc21fZXZlbnQoY2gtPmZzbSwgQ1RDX0VWRU5UX0ZJTlNUQVQsIGNoKTsKIAllbHNlCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5jIGIvZHJpdmVycy9zMzkwL25ldC9jdTMwODguYwppbmRleCA4ZTc2OTczLi5mNGEzMjM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvY3UzMDg4LmMKQEAgLTM2LDcgKzM2LDYgQEAKIAkiQ1RDL0EiLAogCSJFU0NPTiBjaGFubmVsIiwKIAkiRklDT04gY2hhbm5lbCIsCi0JIlAzOTAgTENTIGNhcmQiLAogCSJPU0EgTENTIGNhcmQiLAogCSJDTEFXIGNoYW5uZWwgZGV2aWNlIiwKIAkidW5rbm93biBjaGFubmVsIHR5cGUiLApAQCAtNDksNyArNDgsNiBAQAogCXsgQ0NXX0RFVklDRSgweDMwODgsIDB4MDgpLCAuZHJpdmVyX2luZm8gPSBjaGFubmVsX3R5cGVfcGFyYWxsZWwgfSwKIAl7IENDV19ERVZJQ0UoMHgzMDg4LCAweDFmKSwgLmRyaXZlcl9pbmZvID0gY2hhbm5lbF90eXBlX2VzY29uIH0sCiAJeyBDQ1dfREVWSUNFKDB4MzA4OCwgMHgxZSksIC5kcml2ZXJfaW5mbyA9IGNoYW5uZWxfdHlwZV9maWNvbiB9LAotCXsgQ0NXX0RFVklDRSgweDMwODgsIDB4MDEpLCAuZHJpdmVyX2luZm8gPSBjaGFubmVsX3R5cGVfcDM5MCB9LAogCXsgQ0NXX0RFVklDRSgweDMwODgsIDB4NjApLCAuZHJpdmVyX2luZm8gPSBjaGFubmVsX3R5cGVfb3NhMiB9LAogCXsgQ0NXX0RFVklDRSgweDMwODgsIDB4NjEpLCAuZHJpdmVyX2luZm8gPSBjaGFubmVsX3R5cGVfY2xhdyB9LAogCXsgLyogZW5kIG9mIGxpc3QgKi8gfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL25ldC9jdTMwODguaCBiL2RyaXZlcnMvczM5MC9uZXQvY3UzMDg4LmgKaW5kZXggMTc1MzY2MS4uZDg1NThhNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9jdTMwODguaAorKysgYi9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5oCkBAIC0xNyw5ICsxNyw2IEBACiAJLyogRGV2aWNlIGlzIGEgRklDT04gY2hhbm5lbCAqLwogCWNoYW5uZWxfdHlwZV9maWNvbiwKIAotCS8qIERldmljZSBpcyBhIFAzOTAgTENTIGNhcmQgKi8KLQljaGFubmVsX3R5cGVfcDM5MCwKLQogCS8qIERldmljZSBpcyBhIE9TQTIgY2FyZCAqLwogCWNoYW5uZWxfdHlwZV9vc2EyLAogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2xjcy5jIGIvZHJpdmVycy9zMzkwL25ldC9sY3MuYwppbmRleCBkZDIyZjRiLi42ZGUyODM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2xjcy5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvbGNzLmMKQEAgLTEzMjcsOCArMTMyNyw4IEBACiAJY2hhciAqc2Vuc2U7CiAKIAlzZW5zZSA9IChjaGFyICopIGlyYi0+ZWN3OwotCWNzdGF0ID0gaXJiLT5zY3N3LmNzdGF0OwotCWRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAKIAlpZiAoY3N0YXQgJiAoU0NITl9TVEFUX0NITl9DVFJMX0NISyB8IFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKIAkJICAgICBTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLIHwgU0NITl9TVEFUX0NIQUlOX0NIRUNLIHwKQEAgLTEzODgsMTEgKzEzODgsMTMgQEAKIAllbHNlCiAJCWNoYW5uZWwgPSAmY2FyZC0+d3JpdGU7CiAKLQljc3RhdCA9IGlyYi0+c2Nzdy5jc3RhdDsKLQlkc3RhdCA9IGlyYi0+c2Nzdy5kc3RhdDsKKwljc3RhdCA9IGlyYi0+c2Nzdy5jbWQuY3N0YXQ7CisJZHN0YXQgPSBpcmItPnNjc3cuY21kLmRzdGF0OwogCUxDU19EQkZfVEVYVF8oNSwgdHJhY2UsICJSaW50JXMiLGNkZXYtPmRldi5idXNfaWQpOwotCUxDU19EQkZfVEVYVF8oNSwgdHJhY2UsICIlNHglNHgiLGlyYi0+c2Nzdy5jc3RhdCwgaXJiLT5zY3N3LmRzdGF0KTsKLQlMQ1NfREJGX1RFWFRfKDUsIHRyYWNlLCAiJTR4JTR4IixpcmItPnNjc3cuZmN0bCwgaXJiLT5zY3N3LmFjdGwpOworCUxDU19EQkZfVEVYVF8oNSwgdHJhY2UsICIlNHglNHgiLCBpcmItPnNjc3cuY21kLmNzdGF0LAorCQkgICAgICBpcmItPnNjc3cuY21kLmRzdGF0KTsKKwlMQ1NfREJGX1RFWFRfKDUsIHRyYWNlLCAiJTR4JTR4IiwgaXJiLT5zY3N3LmNtZC5mY3RsLAorCQkgICAgICBpcmItPnNjc3cuY21kLmFjdGwpOwogCiAJLyogQ2hlY2sgZm9yIGNoYW5uZWwgYW5kIGRldmljZSBlcnJvcnMgcHJlc2VudGVkICovCiAJcmMgPSBsY3NfZ2V0X3Byb2JsZW0oY2RldiwgaXJiKTsKQEAgLTE0MTAsMTEgKzE0MTIsMTEgQEAKIAl9CiAJLyogSG93IGZhciBpbiB0aGUgY2N3IGNoYWluIGhhdmUgd2UgcHJvY2Vzc2VkPyAqLwogCWlmICgoY2hhbm5lbC0+c3RhdGUgIT0gTENTX0NIX1NUQVRFX0lOSVQpICYmCi0JICAgIChpcmItPnNjc3cuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSkgewotCQlpbmRleCA9IChzdHJ1Y3QgY2N3MSAqKSBfX3ZhKChhZGRyX3QpIGlyYi0+c2Nzdy5jcGEpCisJICAgIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykpIHsKKwkJaW5kZXggPSAoc3RydWN0IGNjdzEgKikgX192YSgoYWRkcl90KSBpcmItPnNjc3cuY21kLmNwYSkKIAkJCS0gY2hhbm5lbC0+Y2N3czsKLQkJaWYgKChpcmItPnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpIHx8Ci0JCSAgICAoaXJiLT5zY3N3LmNzdGF0ICYgU0NITl9TVEFUX1BDSSkpCisJCWlmICgoaXJiLT5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkgfHwKKwkJICAgIChpcmItPnNjc3cuY21kLmNzdGF0ICYgU0NITl9TVEFUX1BDSSkpCiAJCQkvKiBCbG9vZHkgaW8gc3Vic3lzdGVtIHRlbGxzIHVzIGxpZXMgYWJvdXQgY3BhLi4uICovCiAJCQlpbmRleCA9IChpbmRleCAtIDEpICYgKExDU19OVU1fQlVGRlMgLSAxKTsKIAkJd2hpbGUgKGNoYW5uZWwtPmlvX2lkeCAhPSBpbmRleCkgewpAQCAtMTQyNSwyNSArMTQyNywyNCBAQAogCQl9CiAJfQogCi0JaWYgKChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSB8fAotCSAgICAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQ0hOX0VORCkgfHwKLQkgICAgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spKQorCWlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHx8CisJICAgIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQ0hOX0VORCkgfHwKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSkKIAkJLyogTWFyayBjaGFubmVsIGFzIHN0b3BwZWQuICovCiAJCWNoYW5uZWwtPnN0YXRlID0gTENTX0NIX1NUQVRFX1NUT1BQRUQ7Ci0JZWxzZSBpZiAoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKQorCWVsc2UgaWYgKGlyYi0+c2Nzdy5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpCiAJCS8qIENDVyBleGVjdXRpb24gc3RvcHBlZCBvbiBhIHN1c3BlbmQgYml0LiAqLwogCQljaGFubmVsLT5zdGF0ZSA9IExDU19DSF9TVEFURV9TVVNQRU5ERUQ7Ci0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX0hBTFRfRlVOQykgewotCQlpZiAoaXJiLT5zY3N3LmNjICE9IDApIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX0hBTFRfRlVOQykgeworCQlpZiAoaXJiLT5zY3N3LmNtZC5jYyAhPSAwKSB7CiAJCQljY3dfZGV2aWNlX2hhbHQoY2hhbm5lbC0+Y2N3ZGV2LCAoYWRkcl90KSBjaGFubmVsKTsKIAkJCXJldHVybjsKIAkJfQogCQkvKiBUaGUgY2hhbm5lbCBoYXMgYmVlbiBzdG9wcGVkIGJ5IGhhbHRfSU8uICovCiAJCWNoYW5uZWwtPnN0YXRlID0gTENTX0NIX1NUQVRFX0hBTFRFRDsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpCiAJCWNoYW5uZWwtPnN0YXRlID0gTENTX0NIX1NUQVRFX0NMRUFSRUQ7Ci0JfQogCS8qIERvIHRoZSByZXN0IGluIHRoZSB0YXNrbGV0LiAqLwogCXRhc2tsZXRfc2NoZWR1bGUoJmNoYW5uZWwtPmlycV90YXNrbGV0KTsKIH0KQEAgLTE3NjEsNyArMTc2Miw3IEBACiAJCQkJbmV0aWZfY2Fycmllcl9vZmYoY2FyZC0+ZGV2KTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgotCQkJUFJJTlRfSU5GTygiVU5SRUNPR05JWkVEIExHVyBDT01NQU5EXG4iKTsKKwkJCUxDU19EQkZfVEVYVCg1LCB0cmFjZSwgIm5vTEdXY21kIik7CiAJCQlicmVhazsKIAkJfQogCX0gZWxzZQpAQCAtMjA0MiwxMyArMjA0MywxMiBAQAogCUxDU19EQkZfVEVYVCgyLCBzZXR1cCwgImFkZF9kZXYiKTsKICAgICAgICAgY2FyZCA9IGxjc19hbGxvY19jYXJkKCk7CiAgICAgICAgIGlmICghY2FyZCkgewotICAgICAgICAgICAgICAgIFBSSU5UX0VSUigiQWxsb2NhdGlvbiBvZiBsY3MgY2FyZCBmYWlsZWRcbiIpOworCQlMQ1NfREJGX1RFWFRfKDIsIHNldHVwLCAiICByYyVkIiwgLUVOT01FTSk7CiAJCXB1dF9kZXZpY2UoJmNjd2dkZXYtPmRldik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgICAgIH0KIAlyZXQgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmNjd2dkZXYtPmRldi5rb2JqLCAmbGNzX2F0dHJfZ3JvdXApOwogCWlmIChyZXQpIHsKLSAgICAgICAgICAgICAgICBQUklOVF9FUlIoIkNyZWF0aW5nIGF0dHJpYnV0ZXMgZmFpbGVkIik7CiAJCWxjc19mcmVlX2NhcmQoY2FyZCk7CiAJCXB1dF9kZXZpY2UoJmNjd2dkZXYtPmRldik7CiAJCXJldHVybiByZXQ7CkBAIC0yMTQwLDcgKzIxNDAsNiBAQAogCWRlZmF1bHQ6CiAJCUxDU19EQkZfVEVYVCgzLCBzZXR1cCwgImVycmluaXQiKTsKIAkJUFJJTlRfRVJSKCJMQ1M6IEluaXRpYWxpemF0aW9uIGZhaWxlZFxuIik7Ci0JCVBSSU5UX0VSUigiTENTOiBObyBkZXZpY2UgZm91bmQhXG4iKTsKIAkJZ290byBvdXQ7CiAJfQogCWlmICghZGV2KQpAQCAtMjI2OSw3ICsyMjY4LDYgQEAKIAlpZiAoIWNhcmQpCiAJCXJldHVybjsKIAotCVBSSU5UX0lORk8oIlJlbW92aW5nIGxjcyBncm91cCBkZXZpY2UgLi4uLlxuIik7CiAJTENTX0RCRl9URVhUKDMsIHNldHVwLCAicmVtZGV2Iik7CiAJTENTX0RCRl9IRVgoMywgc2V0dXAsICZjYXJkLCBzaXplb2Yodm9pZCopKTsKIAlpZiAoY2N3Z2Rldi0+c3RhdGUgPT0gQ0NXR1JPVVBfT05MSU5FKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L25ldGl1Y3YuYyBiL2RyaXZlcnMvczM5MC9uZXQvbmV0aXVjdi5jCmluZGV4IGU0YmE2YTAuLjkyNDJiNWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvbmV0aXVjdi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvbmV0aXVjdi5jCkBAIC02MjUsOSArNjI1LDYgQEAKIAkJb2Zmc2V0ICs9IGhlYWRlci0+bmV4dDsKIAkJaGVhZGVyLT5uZXh0IC09IE5FVElVQ1ZfSERSTEVOOwogCQlpZiAoc2tiX3RhaWxyb29tKHBza2IpIDwgaGVhZGVyLT5uZXh0KSB7Ci0JCQlQUklOVF9XQVJOKCIlczogSWxsZWdhbCBuZXh0IGZpZWxkIGluIGl1Y3YgaGVhZGVyOiAiCi0JCQkgICAgICAgIiVkID4gJWRcbiIsCi0JCQkgICAgICAgZGV2LT5uYW1lLCBoZWFkZXItPm5leHQsIHNrYl90YWlscm9vbShwc2tiKSk7CiAJCQlJVUNWX0RCRl9URVhUXyhkYXRhLCAyLCAiSWxsZWdhbCBuZXh0IGZpZWxkOiAlZCA+ICVkXG4iLAogCQkJCWhlYWRlci0+bmV4dCwgc2tiX3RhaWxyb29tKHBza2IpKTsKIAkJCXJldHVybjsKQEAgLTYzNiw4ICs2MzMsNiBAQAogCQlza2JfcmVzZXRfbWFjX2hlYWRlcihwc2tiKTsKIAkJc2tiID0gZGV2X2FsbG9jX3NrYihwc2tiLT5sZW4pOwogCQlpZiAoIXNrYikgewotCQkJUFJJTlRfV0FSTigiJXMgT3V0IG9mIG1lbW9yeSBpbiBuZXRpdWN2X3VucGFja19za2JcbiIsCi0JCQkgICAgICAgZGV2LT5uYW1lKTsKIAkJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwKIAkJCQkiT3V0IG9mIG1lbW9yeSBpbiBuZXRpdWN2X3VucGFja19za2JcbiIpOwogCQkJcHJpdnB0ci0+c3RhdHMucnhfZHJvcHBlZCsrOwpAQCAtNjc0LDcgKzY2OSw2IEBACiAKIAlpZiAoIWNvbm4tPm5ldGRldikgewogCQlpdWN2X21lc3NhZ2VfcmVqZWN0KGNvbm4tPnBhdGgsIG1zZyk7Ci0JCVBSSU5UX1dBUk4oIlJlY2VpdmVkIGRhdGEgZm9yIHVubGlua2VkIGNvbm5lY3Rpb25cbiIpOwogCQlJVUNWX0RCRl9URVhUKGRhdGEsIDIsCiAJCQkgICAgICAiUmVjZWl2ZWQgZGF0YSBmb3IgdW5saW5rZWQgY29ubmVjdGlvblxuIik7CiAJCXJldHVybjsKQEAgLTY4Miw4ICs2NzYsNiBAQAogCWlmIChtc2ctPmxlbmd0aCA+IGNvbm4tPm1heF9idWZmc2l6ZSkgewogCQlpdWN2X21lc3NhZ2VfcmVqZWN0KGNvbm4tPnBhdGgsIG1zZyk7CiAJCXByaXZwdHItPnN0YXRzLnJ4X2Ryb3BwZWQrKzsKLQkJUFJJTlRfV0FSTigibXNnbGVuICVkID4gbWF4X2J1ZmZzaXplICVkXG4iLAotCQkJICAgbXNnLT5sZW5ndGgsIGNvbm4tPm1heF9idWZmc2l6ZSk7CiAJCUlVQ1ZfREJGX1RFWFRfKGRhdGEsIDIsICJtc2dsZW4gJWQgPiBtYXhfYnVmZnNpemUgJWRcbiIsCiAJCQkgICAgICAgbXNnLT5sZW5ndGgsIGNvbm4tPm1heF9idWZmc2l6ZSk7CiAJCXJldHVybjsKQEAgLTY5NSw3ICs2ODcsNiBAQAogCQkJCSAgbXNnLT5sZW5ndGgsIE5VTEwpOwogCWlmIChyYyB8fCBtc2ctPmxlbmd0aCA8IDUpIHsKIAkJcHJpdnB0ci0+c3RhdHMucnhfZXJyb3JzKys7Ci0JCVBSSU5UX1dBUk4oIml1Y3ZfcmVjZWl2ZSByZXR1cm5lZCAlMDh4XG4iLCByYyk7CiAJCUlVQ1ZfREJGX1RFWFRfKGRhdGEsIDIsICJyYyAlZCBmcm9tIGl1Y3ZfcmVjZWl2ZVxuIiwgcmMpOwogCQlyZXR1cm47CiAJfQpAQCAtNzc4LDcgKzc2OSw2IEBACiAJCWZzbV9uZXdzdGF0ZShmaSwgQ09OTl9TVEFURV9JRExFKTsKIAkJaWYgKHByaXZwdHIpCiAJCQlwcml2cHRyLT5zdGF0cy50eF9lcnJvcnMgKz0gdHhwYWNrZXRzOwotCQlQUklOVF9XQVJOKCJpdWN2X3NlbmQgcmV0dXJuZWQgJTA4eFxuIiwJcmMpOwogCQlJVUNWX0RCRl9URVhUXyhkYXRhLCAyLCAicmMgJWQgZnJvbSBpdWN2X3NlbmRcbiIsIHJjKTsKIAl9IGVsc2UgewogCQlpZiAocHJpdnB0cikgewpAQCAtODA2LDggKzc5Niw2IEBACiAJcGF0aC0+ZmxhZ3MgPSAwOwogCXJjID0gaXVjdl9wYXRoX2FjY2VwdChwYXRoLCAmbmV0aXVjdl9oYW5kbGVyLCBOVUxMLCBjb25uKTsKIAlpZiAocmMpIHsKLQkJUFJJTlRfV0FSTigiJXM6IElVQ1YgYWNjZXB0IGZhaWxlZCB3aXRoIGVycm9yICVkXG4iLAotCQkgICAgICAgbmV0ZGV2LT5uYW1lLCByYyk7CiAJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLCAicmMgJWQgZnJvbSBpdWN2X2FjY2VwdCIsIHJjKTsKIAkJcmV0dXJuOwogCX0KQEAgLTg3Myw3ICs4NjEsNyBAQAogCUlVQ1ZfREJGX1RFWFQodHJhY2UsIDMsIF9fZnVuY19fKTsKIAogCWZzbV9uZXdzdGF0ZShmaSwgQ09OTl9TVEFURV9TVEFSVFdBSVQpOwotCVBSSU5UX0RFQlVHKCIlcygnJXMnKTogY29ubmVjdGluZyAuLi5cbiIsCisJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsICIlcygnJXMnKTogY29ubmVjdGluZyAuLi5cbiIsCiAJCSAgICBjb25uLT5uZXRkZXYtPm5hbWUsIGNvbm4tPnVzZXJpZCk7CiAKIAkvKgpAQCAtOTY4LDggKzk1Niw4IEBACiAJc3RydWN0IGl1Y3ZfY29ubmVjdGlvbiAqY29ubiA9IGFyZzsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2ID0gY29ubi0+bmV0ZGV2OwogCi0JUFJJTlRfV0FSTigiJXM6IENhbm5vdCBjb25uZWN0IHdpdGhvdXQgdXNlcm5hbWVcbiIsIG5ldGRldi0+bmFtZSk7Ci0JSVVDVl9EQkZfVEVYVChkYXRhLCAyLCAiY29ubl9hY3Rpb25faW52YWwgY2FsbGVkXG4iKTsKKwlJVUNWX0RCRl9URVhUXyhkYXRhLCAyLCAiJXMoJyVzJyk6IGNvbm5fYWN0aW9uX2ludmFsIGNhbGxlZFxuIiwKKwkJbmV0ZGV2LT5uYW1lLCBjb25uLT51c2VyaWQpOwogfQogCiBzdGF0aWMgY29uc3QgZnNtX25vZGUgY29ubl9mc21bXSA9IHsKQEAgLTEwNzcsOSArMTA2NSw2IEBACiAJCQkJImNvbm5lY3Rpb24gaXMgdXAgYW5kIHJ1bm5pbmdcbiIpOwogCQkJYnJlYWs7CiAJCWNhc2UgREVWX1NUQVRFX1NUT1BXQUlUOgotCQkJUFJJTlRfSU5GTygKLQkJCSAgICAgICAiJXM6IGdvdCBjb25uZWN0aW9uIFVQIGV2ZW50IGR1cmluZyBzaHV0ZG93biFcbiIsCi0JCQkgICAgICAgZGV2LT5uYW1lKTsKIAkJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwKIAkJCQkiZGV2X2FjdGlvbl9jb25udXA6IGluIERFVl9TVEFURV9TVE9QV0FJVFxuIik7CiAJCQlicmVhazsKQEAgLTExNzQsOCArMTE1OSw2IEBACiAJCQluc2tiID0gYWxsb2Nfc2tiKHNrYi0+bGVuICsgTkVUSVVDVl9IRFJMRU4gKwogCQkJCQkgTkVUSVVDVl9IRFJMRU4sIEdGUF9BVE9NSUMgfCBHRlBfRE1BKTsKIAkJCWlmICghbnNrYikgewotCQkJCVBSSU5UX1dBUk4oIiVzOiBDb3VsZCBub3QgYWxsb2NhdGUgdHhfc2tiXG4iLAotCQkJCSAgICAgICBjb25uLT5uZXRkZXYtPm5hbWUpOwogCQkJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwgImFsbG9jX3NrYiBmYWlsZWRcbiIpOwogCQkJCXJjID0gLUVOT01FTTsKIAkJCQlyZXR1cm4gcmM7CkBAIC0xMjIzLDcgKzEyMDYsNiBAQAogCQkJCXNrYl9wdWxsKHNrYiwgTkVUSVVDVl9IRFJMRU4pOwogCQkJCXNrYl90cmltKHNrYiwgc2tiLT5sZW4gLSBORVRJVUNWX0hEUkxFTik7CiAJCQl9Ci0JCQlQUklOVF9XQVJOKCJpdWN2X3NlbmQgcmV0dXJuZWQgJTA4eFxuIiwJcmMpOwogCQkJSVVDVl9EQkZfVEVYVF8oZGF0YSwgMiwgInJjICVkIGZyb20gaXVjdl9zZW5kXG4iLCByYyk7CiAJCX0gZWxzZSB7CiAJCQlpZiAoY29waWVkKQpAQCAtMTI5MywxNCArMTI3NSwxMSBAQAogCSAqIFNvbWUgc2FuaXR5IGNoZWNrcyAuLi4KIAkgKi8KIAlpZiAoc2tiID09IE5VTEwpIHsKLQkJUFJJTlRfV0FSTigiJXM6IE5VTEwgc2tfYnVmZiBwYXNzZWRcbiIsIGRldi0+bmFtZSk7CiAJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwgIm5ldGl1Y3ZfdHg6IHNrYiBpcyBOVUxMXG4iKTsKIAkJcHJpdnB0ci0+c3RhdHMudHhfZHJvcHBlZCsrOwogCQlyZXR1cm4gMDsKIAl9CiAJaWYgKHNrYl9oZWFkcm9vbShza2IpIDwgTkVUSVVDVl9IRFJMRU4pIHsKLQkJUFJJTlRfV0FSTigiJXM6IEdvdCBza19idWZmIHdpdGggaGVhZCByb29tIDwgJWxkIGJ5dGVzXG4iLAotCQkgICAgICAgZGV2LT5uYW1lLCBORVRJVUNWX0hEUkxFTik7CiAJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwKIAkJCSJuZXRpdWN2X3R4OiBza2JfaGVhZHJvb20gPCBORVRJVUNWX0hEUkxFTlxuIik7CiAJCWRldl9rZnJlZV9za2Ioc2tiKTsKQEAgLTEzOTMsNyArMTM3Miw2IEBACiAKIAlJVUNWX0RCRl9URVhUKHRyYWNlLCAzLCBfX2Z1bmNfXyk7CiAJaWYgKGNvdW50ID4gOSkgewotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiB1c2VybmFtZSB0b28gbG9uZyAoJWQpIVxuIiwgKGludCkgY291bnQpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwKIAkJCSAgICAgICAiJWQgaXMgbGVuZ3RoIG9mIHVzZXJuYW1lXG4iLCAoaW50KSBjb3VudCk7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTQwOSw3ICsxMzg3LDYgQEAKIAkJCS8qIHRyYWlsaW5nIGxmLCBncnIgKi8KIAkJCWJyZWFrOwogCQl9Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IEludmFsaWQgY2hhciAlYyBpbiB1c2VybmFtZSFcbiIsICpwKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsCiAJCQkgICAgICAgInVzZXJuYW1lOiBpbnZhbGlkIGNoYXJhY3RlciAlY1xuIiwgKnApOwogCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTE0MjEsMTggKzEzOTgsMTUgQEAKIAlpZiAobWVtY21wKHVzZXJuYW1lLCBwcml2LT5jb25uLT51c2VyaWQsIDkpICYmCiAJICAgIChuZGV2LT5mbGFncyAmIChJRkZfVVAgfCBJRkZfUlVOTklORykpKSB7CiAJCS8qIHVzZXJuYW1lIGNoYW5nZWQgd2hpbGUgdGhlIGludGVyZmFjZSBpcyBhY3RpdmUuICovCi0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IGRldmljZSAlcyBhY3RpdmUsIGNvbm5lY3RlZCB0byAlc1xuIiwKLQkJCSAgIGRldi0+YnVzX2lkLCBwcml2LT5jb25uLT51c2VyaWQpOwotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiB1c2VyIGNhbm5vdCBiZSB1cGRhdGVkXG4iKTsKIAkJSVVDVl9EQkZfVEVYVChzZXR1cCwgMiwgInVzZXJfd3JpdGU6IGRldmljZSBhY3RpdmVcbiIpOwotCQlyZXR1cm4gLUVCVVNZOworCQlyZXR1cm4gLUVQRVJNOwogCX0KIAlyZWFkX2xvY2tfYmgoJml1Y3ZfY29ubmVjdGlvbl9yd2xvY2spOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoY3AsICZpdWN2X2Nvbm5lY3Rpb25fbGlzdCwgbGlzdCkgewogCQlpZiAoIXN0cm5jbXAodXNlcm5hbWUsIGNwLT51c2VyaWQsIDkpICYmIGNwLT5uZXRkZXYgIT0gbmRldikgewogCQkJcmVhZF91bmxvY2tfYmgoJml1Y3ZfY29ubmVjdGlvbl9yd2xvY2spOwotCQkJUFJJTlRfV0FSTigibmV0aXVjdjogQ29ubmVjdGlvbiB0byAlcyBhbHJlYWR5ICIKLQkJCQkgICAiZXhpc3RzXG4iLCB1c2VybmFtZSk7CisJCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwgInVzZXJfd3JpdGU6IENvbm5lY3Rpb24gIgorCQkJCSJ0byAlcyBhbHJlYWR5IGV4aXN0c1xuIiwgdXNlcm5hbWUpOwogCQkJcmV0dXJuIC1FRVhJU1Q7CiAJCX0KIAl9CkBAIC0xNDY2LDEzICsxNDQwLDEwIEBACiAJYnMxID0gc2ltcGxlX3N0cnRvdWwoYnVmLCAmZSwgMCk7CiAKIAlpZiAoZSAmJiAoIWlzc3BhY2UoKmUpKSkgewotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBJbnZhbGlkIGNoYXJhY3RlciBpbiBidWZmZXIhXG4iKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsICJidWZmZXJfd3JpdGU6IGludmFsaWQgY2hhciAlY1xuIiwgKmUpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJaWYgKGJzMSA+IE5FVElVQ1ZfQlVGU0laRV9NQVgpIHsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogR2l2ZW4gYnVmZmVyIHNpemUgJWQgdG9vIGxhcmdlLlxuIiwKLQkJCWJzMSk7CiAJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLAogCQkJImJ1ZmZlcl93cml0ZTogYnVmZmVyIHNpemUgJWQgdG9vIGxhcmdlXG4iLAogCQkJYnMxKTsKQEAgLTE0ODAsMTYgKzE0NTEsMTIgQEAKIAl9CiAJaWYgKChuZGV2LT5mbGFncyAmIElGRl9SVU5OSU5HKSAmJgogCSAgICAoYnMxIDwgKG5kZXYtPm10dSArIE5FVElVQ1ZfSERSTEVOICsgMikpKSB7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IEdpdmVuIGJ1ZmZlciBzaXplICVkIHRvbyBzbWFsbC5cbiIsCi0JCQliczEpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwKIAkJCSJidWZmZXJfd3JpdGU6IGJ1ZmZlciBzaXplICVkIHRvbyBzbWFsbFxuIiwKIAkJCWJzMSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAlpZiAoYnMxIDwgKDU3NiArIE5FVElVQ1ZfSERSTEVOICsgTkVUSVVDVl9IRFJMRU4pKSB7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IEdpdmVuIGJ1ZmZlciBzaXplICVkIHRvbyBzbWFsbC5cbiIsCi0JCQliczEpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwKIAkJCSJidWZmZXJfd3JpdGU6IGJ1ZmZlciBzaXplICVkIHRvbyBzbWFsbFxuIiwKIAkJCWJzMSk7CkBAIC0xOTYzLDcgKzE5MzAsNiBAQAogCiAJSVVDVl9EQkZfVEVYVCh0cmFjZSwgMywgX19mdW5jX18pOwogCWlmIChjb3VudD45KSB7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IHVzZXJuYW1lIHRvbyBsb25nICglZCkhXG4iLCAoaW50KWNvdW50KTsKIAkJSVVDVl9EQkZfVEVYVChzZXR1cCwgMiwgImNvbm5fd3JpdGU6IHRvbyBsb25nXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTk3Niw3ICsxOTQyLDYgQEAKIAkJaWYgKCpwID09ICdcbicpCiAJCQkvKiB0cmFpbGluZyBsZiwgZ3JyICovCiAJCQlicmVhazsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogSW52YWxpZCBjaGFyYWN0ZXIgaW4gdXNlcm5hbWUhXG4iKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsCiAJCQkgICAgICAgImNvbm5fd3JpdGU6IGludmFsaWQgY2hhcmFjdGVyICVjXG4iLCAqcCk7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTk4OSw4ICsxOTU0LDggQEAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNwLCAmaXVjdl9jb25uZWN0aW9uX2xpc3QsIGxpc3QpIHsKIAkJaWYgKCFzdHJuY21wKHVzZXJuYW1lLCBjcC0+dXNlcmlkLCA5KSkgewogCQkJcmVhZF91bmxvY2tfYmgoJml1Y3ZfY29ubmVjdGlvbl9yd2xvY2spOwotCQkJUFJJTlRfV0FSTigibmV0aXVjdjogQ29ubmVjdGlvbiB0byAlcyBhbHJlYWR5ICIKLQkJCQkgICAiZXhpc3RzXG4iLCB1c2VybmFtZSk7CisJCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwgImNvbm5fd3JpdGU6IENvbm5lY3Rpb24gIgorCQkJCSJ0byAlcyBhbHJlYWR5IGV4aXN0c1xuIiwgdXNlcm5hbWUpOwogCQkJcmV0dXJuIC1FRVhJU1Q7CiAJCX0KIAl9CkBAIC0xOTk4LDkgKzE5NjMsNiBAQAogCiAJZGV2ID0gbmV0aXVjdl9pbml0X25ldGRldmljZSh1c2VybmFtZSk7CiAJaWYgKCFkZXYpIHsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogQ291bGQgbm90IGFsbG9jYXRlIG5ldHdvcmsgZGV2aWNlICIKLQkJCSAgICJzdHJ1Y3R1cmUgZm9yIHVzZXIgJyVzJ1xuIiwKLQkJCSAgIG5ldGl1Y3ZfcHJpbnRuYW1lKHVzZXJuYW1lKSk7CiAJCUlVQ1ZfREJGX1RFWFQoc2V0dXAsIDIsICJOVUxMIGZyb20gbmV0aXVjdl9pbml0X25ldGRldmljZVxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KQEAgLTIwMjAsMTUgKzE5ODIsMTIgQEAKIAlpZiAocmMpCiAJCWdvdG8gb3V0X3VucmVnOwogCi0JUFJJTlRfSU5GTygiJXM6ICclcydcbiIsIGRldi0+bmFtZSwgbmV0aXVjdl9wcmludG5hbWUodXNlcm5hbWUpKTsKIAogCXJldHVybiBjb3VudDsKIAogb3V0X3VucmVnOgogCW5ldGl1Y3ZfdW5yZWdpc3Rlcl9kZXZpY2UocHJpdi0+ZGV2KTsKIG91dF9mcmVlX25kZXY6Ci0JUFJJTlRfV0FSTigibmV0aXVjdjogQ291bGQgbm90IHJlZ2lzdGVyICclcydcbiIsIGRldi0+bmFtZSk7Ci0JSVVDVl9EQkZfVEVYVChzZXR1cCwgMiwgImNvbm5fd3JpdGU6IGNvdWxkIG5vdCByZWdpc3RlclxuIik7CiAJbmV0aXVjdl9mcmVlX25ldGRldmljZShkZXYpOwogCXJldHVybiByYzsKIH0KQEAgLTIwNzMsMTQgKzIwMzIsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFBSSU5UX1dBUk4oIm5ldGl1Y3Y6ICVzIGNhbm5vdCBiZSByZW1vdmVkXG4iLAogCQkJCSAgIG5kZXYtPm5hbWUpOwogCQkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLCAicmVtb3ZlX3dyaXRlOiBzdGlsbCBhY3RpdmVcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKKwkJCXJldHVybiAtRVBFUk07CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHVucmVnaXN0ZXJfbmV0ZGV2KG5kZXYpOwogICAgICAgICAgICAgICAgIG5ldGl1Y3ZfdW5yZWdpc3Rlcl9kZXZpY2UoZGV2KTsKICAgICAgICAgICAgICAgICByZXR1cm4gY291bnQ7CiAgICAgICAgIH0KIAlyZWFkX3VubG9ja19iaCgmaXVjdl9jb25uZWN0aW9uX3J3bG9jayk7Ci0gICAgICAgIFBSSU5UX1dBUk4oIm5ldGl1Y3Y6IG5ldCBkZXZpY2UgJXMgdW5rbm93blxuIiwgbmFtZSk7CiAJSVVDVl9EQkZfVEVYVChkYXRhLCAyLCAicmVtb3ZlX3dyaXRlOiB1bmtub3duIGRldmljZVxuIik7CiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogfQpAQCAtMjE0OCw3ICsyMTA2LDYgQEAKIAluZXRpdWN2X2RyaXZlci5ncm91cHMgPSBuZXRpdWN2X2Rydl9hdHRyX2dyb3VwczsKIAlyYyA9IGRyaXZlcl9yZWdpc3RlcigmbmV0aXVjdl9kcml2ZXIpOwogCWlmIChyYykgewotCQlQUklOVF9FUlIoIk5FVElVQ1Y6IGZhaWxlZCB0byByZWdpc3RlciBkcml2ZXIuXG4iKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsICJyZXQgJWQgZnJvbSBkcml2ZXJfcmVnaXN0ZXJcbiIsIHJjKTsKIAkJZ290byBvdXRfaXVjdjsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L3FldGhfY29yZV9tYWluLmMgYi9kcml2ZXJzL3MzOTAvbmV0L3FldGhfY29yZV9tYWluLmMKaW5kZXggOWE3MWRhZS4uMGFjNTRkYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9xZXRoX2NvcmVfbWFpbi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvcWV0aF9jb3JlX21haW4uYwpAQCAtNDIwLDcgKzQyMCw3IEBACiAJCQkJUUVUSF9EQkZfVEVYVChUUkFDRSwgMywgInVybGEiKTsKIAkJCQlicmVhazsKIAkJCWRlZmF1bHQ6Ci0JCQkJUFJJTlRfV0FSTigiUmVjZWl2ZWQgZGF0YSBpcyBJUEEgIgorCQkJCVFFVEhfREJGX01FU1NBR0UoMiwgIlJlY2VpdmVkIGRhdGEgaXMgSVBBICIKIAkJCQkJICAgImJ1dCBub3QgYSByZXBseSFcbiIpOwogCQkJCWJyZWFrOwogCQkJfQpAQCAtNzM1LDggKzczNSw4IEBACiAJY2hhciAqc2Vuc2U7CiAKIAlzZW5zZSA9IChjaGFyICopIGlyYi0+ZWN3OwotCWNzdGF0ID0gaXJiLT5zY3N3LmNzdGF0OwotCWRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAKIAlpZiAoY3N0YXQgJiAoU0NITl9TVEFUX0NITl9DVFJMX0NISyB8IFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKIAkJICAgICBTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLIHwgU0NITl9TVEFUX0NIQUlOX0NIRUNLIHwKQEAgLTgyMyw4ICs4MjMsOCBAQAogCiAJaWYgKF9fcWV0aF9jaGVja19pcmJfZXJyb3IoY2RldiwgaW50cGFybSwgaXJiKSkKIAkJcmV0dXJuOwotCWNzdGF0ID0gaXJiLT5zY3N3LmNzdGF0OwotCWRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAKIAljYXJkID0gQ0FSRF9GUk9NX0NERVYoY2Rldik7CiAJaWYgKCFjYXJkKQpAQCAtODQyLDEwICs4NDIsMTAgQEAKIAl9CiAJYXRvbWljX3NldCgmY2hhbm5lbC0+aXJxX3BlbmRpbmcsIDApOwogCi0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9DTEVBUl9GVU5DKSkKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgKFNDU1dfRkNUTF9DTEVBUl9GVU5DKSkKIAkJY2hhbm5lbC0+c3RhdGUgPSBDSF9TVEFURV9TVE9QUEVEOwogCi0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMpKQorCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiAoU0NTV19GQ1RMX0hBTFRfRlVOQykpCiAJCWNoYW5uZWwtPnN0YXRlID0gQ0hfU1RBVEVfSEFMVEVEOwogCiAJLypsZXQncyB3YWtlIHVwIGltbWVkaWF0ZWx5IG9uIGRhdGEgY2hhbm5lbCovCkBAIC00MDkyLDcgKzQwOTIsNiBAQAogCiAJcmMgPSBxZXRoX2RldGVybWluZV9jYXJkX3R5cGUoY2FyZCk7CiAJaWYgKHJjKSB7Ci0JCVBSSU5UX1dBUk4oIiVzOiBub3QgYSB2YWxpZCBjYXJkIHR5cGVcbiIsIF9fZnVuY19fKTsKIAkJUUVUSF9EQkZfVEVYVF8oU0VUVVAsIDIsICIzZXJyJWQiLCByYyk7CiAJCWdvdG8gZXJyX2NhcmQ7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL25ldC9xZXRoX2wzX21haW4uYyBiL2RyaXZlcnMvczM5MC9uZXQvcWV0aF9sM19tYWluLmMKaW5kZXggOTk5NTUyYy4uMDZkZWFlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9xZXRoX2wzX21haW4uYworKysgYi9kcml2ZXJzL3MzOTAvbmV0L3FldGhfbDNfbWFpbi5jCkBAIC05NDQsMTUgKzk0NCw4IEBACiAJZWxzZQogCQlyYyA9IHFldGhfbDNfc2VuZF9zZXRkZWxpcChjYXJkLCBhZGRyLCBJUEFfQ01EX0RFTElQLAogCQkJCQlhZGRyLT5kZWxfZmxhZ3MpOwotCWlmIChyYykgeworCWlmIChyYykKIAkJUUVUSF9EQkZfVEVYVChUUkFDRSwgMiwgImZhaWxlZCIpOwotCQkvKiBUT0RPOiByZS1hY3RpdmF0ZSB0aGlzIHdhcm5pbmcgYXMgc29vbiBhcyB3ZSBoYXZlIGEKLQkJICogY2xlYW4gbWlyY28gY29kZQotCQlxZXRoX2lwYWRkcl90b19zdHJpbmcoYWRkci0+cHJvdG8sICh1OCAqKSZhZGRyLT51LCBidWYpOwotCQlQUklOVF9XQVJOKCJDb3VsZCBub3QgZGVyZWdpc3RlciBJUCBhZGRyZXNzICVzIChyYz0leClcbiIsCi0JCQkgICBidWYsIHJjKTsKLQkJKi8KLQl9CiAKIAlyZXR1cm4gcmM7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L3Ntc2dpdWN2LmMgYi9kcml2ZXJzL3MzOTAvbmV0L3Ntc2dpdWN2LmMKaW5kZXggODczNWE0MS4uMTY0ZTA5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9zbXNnaXVjdi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvc21zZ2l1Y3YuYwpAQCAtMTU2LDExICsxNTYsOCBAQAogCWlmIChyYyAhPSAwKQogCQlnb3RvIG91dDsKIAlyYyA9IGl1Y3ZfcmVnaXN0ZXIoJnNtc2dfaGFuZGxlciwgMSk7Ci0JaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiU01TR0lVQ1Y6IGZhaWxlZCB0byByZWdpc3RlciB0byBpdWN2Iik7Ci0JCXJjID0gLUVJTzsJLyogYmV0dGVyIGVycm5vID8gKi8KKwlpZiAocmMpCiAJCWdvdG8gb3V0X2RyaXZlcjsKLQl9CiAJc21zZ19wYXRoID0gaXVjdl9wYXRoX2FsbG9jKDI1NSwgMCwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzbXNnX3BhdGgpIHsKIAkJcmMgPSAtRU5PTUVNOwpAQCAtMTY4LDExICsxNjUsOCBAQAogCX0KIAlyYyA9IGl1Y3ZfcGF0aF9jb25uZWN0KHNtc2dfcGF0aCwgJnNtc2dfaGFuZGxlciwgIipNU0cgICAgIiwKIAkJCSAgICAgICBOVUxMLCBOVUxMLCBOVUxMKTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJTTVNHSVVDVjogZmFpbGVkIHRvIGNvbm5lY3QgdG8gKk1TRyIpOwotCQlyYyA9IC1FSU87CS8qIGJldHRlciBlcnJubyA/ICovCisJaWYgKHJjKQogCQlnb3RvIG91dF9mcmVlOwotCX0KIAljcGNtZCgiU0VUIFNNU0cgSVVDViIsIE5VTEwsIDAsIE5VTEwpOwogCXJldHVybiAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvczM5MG1hY2guYyBiL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5jCmluZGV4IDViZmJlNzYuLjgzNGU5ZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5jCisrKyBiL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5jCkBAIC0yLDEwICsyLDEwIEBACiAgKiAgZHJpdmVycy9zMzkwL3MzOTBtYWNoLmMKICAqICAgUy8zOTAgbWFjaGluZSBjaGVjayBoYW5kbGVyCiAgKgotICogIFMzOTAgdmVyc2lvbgotICogICAgQ29weXJpZ2h0IChDKSAyMDAwIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILCBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMCwyMDA4CiAgKiAgICBBdXRob3Iocyk6IEluZ28gQWRsdW5nIChhZGx1bmdAZGUuaWJtLmNvbSkKICAqCQkgTWFydGluIFNjaHdpZGVmc2t5IChzY2h3aWRlZnNreUBkZS5pYm0uY29tKQorICoJCSBDb3JuZWxpYSBIdWNrIDxjb3JuZWxpYS5odWNrQGRlLmlibS5jb20+CiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTE4LDEwICsxOCw2IEBACiAjaW5jbHVkZSA8YXNtL2V0ci5oPgogI2luY2x1ZGUgPGFzbS9sb3djb3JlLmg+CiAjaW5jbHVkZSA8YXNtL2Npby5oPgotI2luY2x1ZGUgImNpby9jaW8uaCIKLSNpbmNsdWRlICJjaW8vY2hzYy5oIgotI2luY2x1ZGUgImNpby9jc3MuaCIKLSNpbmNsdWRlICJjaW8vY2hwLmgiCiAjaW5jbHVkZSAiczM5MG1hY2guaCIKIAogc3RhdGljIHN0cnVjdCBzZW1hcGhvcmUgbV9zZW07CkBAIC0zNiwxMyArMzIsNDAgQEAKIAlmb3IoOzspOwogfQogCitzdGF0aWMgY3J3X2hhbmRsZXJfdCBjcndfaGFuZGxlcnNbTlJfUlNDU107CisKKy8qKgorICogczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcigpIC0gcmVnaXN0ZXIgYSBjaGFubmVsIHJlcG9ydCB3b3JkIGhhbmRsZXIKKyAqIEByc2M6IHJlcG9ydGluZyBzb3VyY2UgY29kZSB0byBoYW5kbGUKKyAqIEBoYW5kbGVyOiBoYW5kbGVyIHRvIGJlIHJlZ2lzdGVyZWQKKyAqCisgKiBSZXR1cm5zICUwIG9uIHN1Y2Nlc3MgYW5kIGEgbmVnYXRpdmUgZXJyb3IgdmFsdWUgb3RoZXJ3aXNlLgorICovCitpbnQgczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcihpbnQgcnNjLCBjcndfaGFuZGxlcl90IGhhbmRsZXIpCit7CisJaWYgKChyc2MgPCAwKSB8fCAocnNjID49IE5SX1JTQ1MpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWNtcHhjaGcoJmNyd19oYW5kbGVyc1tyc2NdLCBOVUxMLCBoYW5kbGVyKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIC1FQlVTWTsKK30KKworLyoqCisgKiBzMzkwX3VucmVnaXN0ZXJfY3J3X2hhbmRsZXIoKSAtIHVucmVnaXN0ZXIgYSBjaGFubmVsIHJlcG9ydCB3b3JkIGhhbmRsZXIKKyAqIEByc2M6IHJlcG9ydGluZyBzb3VyY2UgY29kZSB0byBoYW5kbGUKKyAqLwordm9pZCBzMzkwX3VucmVnaXN0ZXJfY3J3X2hhbmRsZXIoaW50IHJzYykKK3sKKwlpZiAoKHJzYyA8IDApIHx8IChyc2MgPj0gTlJfUlNDUykpCisJCXJldHVybjsKKwl4Y2hnKCZjcndfaGFuZGxlcnNbcnNjXSwgTlVMTCk7CisJc3luY2hyb25pemVfc2NoZWQoKTsKK30KKwogLyoKICAqIFJldHJpZXZlIENSV3MgYW5kIGNhbGwgZnVuY3Rpb24gdG8gaGFuZGxlIGV2ZW50LgotICoKLSAqIE5vdGUgOiB3ZSBjdXJyZW50bHkgcHJvY2VzcyBDUldzIGZvciBpbyBhbmQgY2hzYyBzdWJjaGFubmVscyBvbmx5CiAgKi8KLXN0YXRpYyBpbnQKLXMzOTBfY29sbGVjdF9jcndfaW5mbyh2b2lkICpwYXJhbSkKK3N0YXRpYyBpbnQgczM5MF9jb2xsZWN0X2Nyd19pbmZvKHZvaWQgKnBhcmFtKQogewogCXN0cnVjdCBjcncgY3J3WzJdOwogCWludCBjY29kZTsKQEAgLTg0LDU3ICsxMDcsMjQgQEAKIAkJICAgICAgIGNyd1tjaGFpbl0ucnNpZCk7CiAJCS8qIENoZWNrIGZvciBvdmVyZmxvd3MuICovCiAJCWlmIChjcndbY2hhaW5dLm9mbHcpIHsKKwkJCWludCBpOworCiAJCQlwcl9kZWJ1ZygiJXM6IGNydyBvdmVyZmxvdyBkZXRlY3RlZCFcbiIsIF9fZnVuY19fKTsKLQkJCWNzc19zY2hlZHVsZV9ldmFsX2FsbCgpOworCQkJZm9yIChpID0gMDsgaSA8IE5SX1JTQ1M7IGkrKykgeworCQkJCWlmIChjcndfaGFuZGxlcnNbaV0pCisJCQkJCWNyd19oYW5kbGVyc1tpXShOVUxMLCBOVUxMLCAxKTsKKwkJCX0KIAkJCWNoYWluID0gMDsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXN3aXRjaCAoY3J3W2NoYWluXS5yc2MpIHsKLQkJY2FzZSBDUldfUlNDX1NDSDoKLQkJCWlmIChjcndbMF0uY2huICYmICFjaGFpbikKLQkJCQlicmVhazsKLQkJCXByX2RlYnVnKCJzb3VyY2UgaXMgc3ViY2hhbm5lbCAlMDRYXG4iLCBjcndbMF0ucnNpZCk7Ci0JCQljc3NfcHJvY2Vzc19jcncoY3J3WzBdLnJzaWQsIGNoYWluID8gY3J3WzFdLnJzaWQgOiAwKTsKLQkJCWJyZWFrOwotCQljYXNlIENSV19SU0NfTU9OSVRPUjoKLQkJCXByX2RlYnVnKCJzb3VyY2UgaXMgbW9uaXRvcmluZyBmYWNpbGl0eVxuIik7Ci0JCQlicmVhazsKLQkJY2FzZSBDUldfUlNDX0NQQVRIOgotCQkJcHJfZGVidWcoInNvdXJjZSBpcyBjaGFubmVsIHBhdGggJTAyWFxuIiwgY3J3WzBdLnJzaWQpOwotCQkJLyoKLQkJCSAqIENoZWNrIGZvciBzb2xpY2l0ZWQgbWFjaGluZSBjaGVja3MuIFRoZXNlIGFyZQotCQkJICogY3JlYXRlZCBieSByZXNldCBjaGFubmVsIHBhdGggYW5kIG5lZWQgbm90IGJlCi0JCQkgKiByZXBvcnRlZCB0byB0aGUgY29tbW9uIEkvTyBsYXllci4KLQkJCSAqLwotCQkJaWYgKGNyd1tjaGFpbl0uc2xjdCkgewotCQkJCXByX2RlYnVnKCJzb2xpY2l0ZWQgbWFjaGluZSBjaGVjayBmb3IgIgotCQkJCQkgImNoYW5uZWwgcGF0aCAlMDJYXG4iLCBjcndbMF0ucnNpZCk7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0JCQlzd2l0Y2ggKGNyd1swXS5lcmMpIHsKLQkJCWNhc2UgQ1JXX0VSQ19JUEFSTTogLyogUGF0aCBoYXMgY29tZS4gKi8KLQkJCQljaHBfcHJvY2Vzc19jcncoY3J3WzBdLnJzaWQsIDEpOwotCQkJCWJyZWFrOwotCQkJY2FzZSBDUldfRVJDX1BFUlJJOiAvKiBQYXRoIGhhcyBnb25lLiAqLwotCQkJY2FzZSBDUldfRVJDX1BFUlJOOgotCQkJCWNocF9wcm9jZXNzX2NydyhjcndbMF0ucnNpZCwgMCk7Ci0JCQkJYnJlYWs7Ci0JCQlkZWZhdWx0OgotCQkJCXByX2RlYnVnKCJEb24ndCBrbm93IGhvdyB0byBoYW5kbGUgZXJjPSV4XG4iLAotCQkJCQkgY3J3WzBdLmVyYyk7Ci0JCQl9Ci0JCQlicmVhazsKLQkJY2FzZSBDUldfUlNDX0NPTkZJRzoKLQkJCXByX2RlYnVnKCJzb3VyY2UgaXMgY29uZmlndXJhdGlvbi1hbGVydCBmYWNpbGl0eVxuIik7Ci0JCQlicmVhazsKLQkJY2FzZSBDUldfUlNDX0NTUzoKLQkJCXByX2RlYnVnKCJzb3VyY2UgaXMgY2hhbm5lbCBzdWJzeXN0ZW1cbiIpOwotCQkJY2hzY19wcm9jZXNzX2NydygpOwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCQlwcl9kZWJ1ZygidW5rbm93biBzb3VyY2VcbiIpOwotCQkJYnJlYWs7CisJCWlmIChjcndbMF0uY2huICYmICFjaGFpbikgeworCQkJY2hhaW4rKzsKKwkJCWNvbnRpbnVlOwogCQl9CisJCWlmIChjcndfaGFuZGxlcnNbY3J3W2NoYWluXS5yc2NdKQorCQkJY3J3X2hhbmRsZXJzW2Nyd1tjaGFpbl0ucnNjXSgmY3J3WzBdLAorCQkJCQkJICAgICBjaGFpbiA/ICZjcndbMV0gOiBOVUxMLAorCQkJCQkJICAgICAwKTsKIAkJLyogY2hhaW4gaXMgYWx3YXlzIDAgb3IgMSBoZXJlLiAqLwogCQljaGFpbiA9IGNyd1tjaGFpbl0uY2huID8gY2hhaW4gKyAxIDogMDsKIAl9CkBAIC00NjgsNiArNDU4LDEwIEBACiAJCQlldHJfc3luY19jaGVjaygpOwogCQlpZiAoUzM5MF9sb3djb3JlLmV4dGVybmFsX2RhbWFnZV9jb2RlICYgKDFVIDw8IEVEX0VUUl9TV0lUQ0gpKQogCQkJZXRyX3N3aXRjaF90b19sb2NhbCgpOworCQlpZiAoUzM5MF9sb3djb3JlLmV4dGVybmFsX2RhbWFnZV9jb2RlICYgKDFVIDw8IEVEX1NUUF9TWU5DKSkKKwkJCXN0cF9zeW5jX2NoZWNrKCk7CisJCWlmIChTMzkwX2xvd2NvcmUuZXh0ZXJuYWxfZGFtYWdlX2NvZGUgJiAoMVUgPDwgRURfU1RQX0lTTEFORCkpCisJCQlzdHBfaXNsYW5kX2NoZWNrKCk7CiAJfQogCiAJaWYgKG1jaS0+c2UpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvczM5MG1hY2guaCBiL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5oCmluZGV4IGNhNjgxZjkuLmQzOWY4YjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5oCisrKyBiL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5oCkBAIC03Miw2ICs3MiwxMyBAQAogCV9fdTMyIHJzaWQgICAgOiAxNjsgICAvKiByZXBvcnRpbmctc291cmNlIElEICovCiB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKIAordHlwZWRlZiB2b2lkICgqY3J3X2hhbmRsZXJfdCkoc3RydWN0IGNydyAqLCBzdHJ1Y3QgY3J3ICosIGludCk7CisKK2V4dGVybiBpbnQgczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcihpbnQgcnNjLCBjcndfaGFuZGxlcl90IGhhbmRsZXIpOworZXh0ZXJuIHZvaWQgczM5MF91bnJlZ2lzdGVyX2Nyd19oYW5kbGVyKGludCByc2MpOworCisjZGVmaW5lIE5SX1JTQ1MgMTYKKwogI2RlZmluZSBDUldfUlNDX01PTklUT1IgIDB4MiAgLyogbW9uaXRvcmluZyBmYWNpbGl0eSAqLwogI2RlZmluZSBDUldfUlNDX1NDSCAgICAgIDB4MyAgLyogc3ViY2hhbm5lbCAqLwogI2RlZmluZSBDUldfUlNDX0NQQVRIICAgIDB4NCAgLyogY2hhbm5lbCBwYXRoICovCkBAIC0xMDUsNiArMTEyLDkgQEAKICNkZWZpbmUgRURfRVRSX1NZTkMJMTIJLyogRXh0ZXJuYWwgZGFtYWdlIEVUUiBzeW5jIGNoZWNrICovCiAjZGVmaW5lIEVEX0VUUl9TV0lUQ0gJMTMJLyogRXh0ZXJuYWwgZGFtYWdlIEVUUiBzd2l0Y2ggdG8gbG9jYWwgKi8KIAorI2RlZmluZSBFRF9TVFBfU1lOQwk3CS8qIEV4dGVybmFsIGRhbWFnZSBTVFAgc3luYyBjaGVjayAqLworI2RlZmluZSBFRF9TVFBfSVNMQU5ECTYJLyogRXh0ZXJuYWwgZGFtYWdlIFNUUCBpc2xhbmQgY2hlY2sgKi8KKwogc3RydWN0IHB0X3JlZ3M7CiAKIHZvaWQgczM5MF9oYW5kbGVfbWNjayh2b2lkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL2JwcC5jIGIvZHJpdmVycy9zYnVzL2NoYXIvYnBwLmMKaW5kZXggMDNjOTY2MC4uYmJhMjFlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvYnBwLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvYnBwLmMKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC00MjksNiArNDMwLDcgQEAKICAgICAgIHVuc2lnbmVkIG1pbm9yID0gaW1pbm9yKGlub2RlKTsKICAgICAgIGludCByZXQ7CiAKKyAgICAgIGxvY2tfa2VybmVsKCk7CiAgICAgICBzcGluX2xvY2soJmJwcF9vcGVuX2xvY2spOwogICAgICAgcmV0ID0gMDsKICAgICAgIGlmIChtaW5vciA+PSBCUFBfTk8pIHsKQEAgLTQ0NCw2ICs0NDYsNyBAQAogCSAgICAgIH0KICAgICAgIH0KICAgICAgIHNwaW5fdW5sb2NrKCZicHBfb3Blbl9sb2NrKTsKKyAgICAgIHVubG9ja19rZXJuZWwoKTsKIAogICAgICAgcmV0dXJuIHJldDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL2Nwd2F0Y2hkb2cuYyBiL2RyaXZlcnMvc2J1cy9jaGFyL2Nwd2F0Y2hkb2cuYwppbmRleCAyMzU3MDM0Li4yM2FiZmRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9jcHdhdGNoZG9nLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvY3B3YXRjaGRvZy5jCkBAIC0yNzksNiArMjc5LDcgQEAKIAogc3RhdGljIGludCB3ZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmKQogeworCWxvY2tfa2VybmVsKCk7CiAJc3dpdGNoKGltaW5vcihpbm9kZSkpCiAJewogCQljYXNlIFdEMF9NSU5PUjoKQEAgLTI5MSw2ICsyOTIsNyBAQAogCQkJZi0+cHJpdmF0ZV9kYXRhID0gJndkX2Rldi53YXRjaGRvZ1tXRDJfSURdOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4oLUVOT0RFVik7CiAJfQogCkBAIC0zMDQsMTEgKzMwNiwxMyBAQAogCQkJCQkJKHZvaWQgKil3ZF9kZXYucmVncykpIHsKIAkJCXByaW50aygiJXM6IENhbm5vdCByZWdpc3RlciBJUlEgJWRcbiIsIAogCQkJCVdEX09CUE5BTUUsIHdkX2Rldi5pcnEpOworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuKC1FQlVTWSk7CiAJCX0KIAkJd2RfZGV2LmluaXRpYWxpemVkID0gMTsKIAl9CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuKG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGYpKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvZGlzcGxheTdzZWcuYyBiL2RyaXZlcnMvc2J1cy9jaGFyL2Rpc3BsYXk3c2VnLmMKaW5kZXggMzI3OWExYi4uZDhmNWMwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvZGlzcGxheTdzZWcuYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9kaXNwbGF5N3NlZy5jCkBAIC05NCw2ICs5NCw3IEBACiB7CiAJaWYgKEQ3U19NSU5PUiAhPSBpbWlub3IoaW5vZGUpKQogCQlyZXR1cm4gLUVOT0RFVjsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWF0b21pY19pbmMoJmQ3c191c2Vycyk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9lbnZjdHJsLmMgYi9kcml2ZXJzL3NidXMvY2hhci9lbnZjdHJsLmMKaW5kZXggZGFkYWJlZi4uYTQwODQwMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvZW52Y3RybC5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL2VudmN0cmwuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9rbW9kLmg+CiAjaW5jbHVkZSA8bGludXgvcmVib290Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9lYnVzLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KQEAgLTY5NCw2ICs2OTUsNyBAQAogc3RhdGljIGludAogZW52Y3RybF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gTlVMTDsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL2ZsYXNoLmMgYi9kcml2ZXJzL3NidXMvY2hhci9mbGFzaC5jCmluZGV4IDQ0ZTAzOTguLjdkOTVlMTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL2ZsYXNoLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvZmxhc2guYwpAQCAtMTI3LDkgKzEyNywxMyBAQAogc3RhdGljIGludAogZmxhc2hfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAodm9pZCAqKSZmbGFzaC5idXN5KSAhPSAwKQorCWxvY2tfa2VybmVsKCk7CisJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgKHZvaWQgKikmZmxhc2guYnVzeSkgIT0gMCkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9qc2ZsYXNoLmMgYi9kcml2ZXJzL3NidXMvY2hhci9qc2ZsYXNoLmMKaW5kZXggNGI3MDc5Zi4uMmJlYzljYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvanNmbGFzaC5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL2pzZmxhc2guYwpAQCAtMjcsNiArMjcsNyBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC00MTcsMTEgKzQxOCwxNyBAQAogCiBzdGF0aWMgaW50IGpzZl9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApCiB7Ci0KLQlpZiAoanNmMC5iYXNlID09IDApIHJldHVybiAtRU5YSU87Ci0JaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgKHZvaWQgKikmanNmMC5idXN5KSAhPSAwKQorCWxvY2tfa2VybmVsKCk7CisJaWYgKGpzZjAuYmFzZSA9PSAwKSB7CisJCXVubG9ja19rZXJuZWwoKTsKKwkJcmV0dXJuIC1FTlhJTzsKKwl9CisJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgKHZvaWQgKikmanNmMC5idXN5KSAhPSAwKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKKwl9CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CS8qIFhYWCBXaGF0IHNlY3VyaXR5PyAqLwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9vcGVucHJvbS5jIGIvZHJpdmVycy9zYnVzL2NoYXIvb3BlbnByb20uYwppbmRleCBmYmZlYjg5Li4yOWRjNzM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9vcGVucHJvbS5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL29wZW5wcm9tLmMKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC02ODksOSArNjkwLDExIEBACiAJaWYgKCFkYXRhKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJZGF0YS0+Y3VycmVudF9ub2RlID0gb2ZfZmluZF9ub2RlX2J5X3BhdGgoIi8iKTsKIAlkYXRhLT5sYXN0bm9kZSA9IGRhdGEtPmN1cnJlbnRfbm9kZTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSAodm9pZCAqKSBkYXRhOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvcmlvd2F0Y2hkb2cuYyBiL2RyaXZlcnMvc2J1cy9jaGFyL3Jpb3dhdGNoZG9nLmMKaW5kZXggYTJmYzZiOC4uODhjMGZjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvcmlvd2F0Y2hkb2cuYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9yaW93YXRjaGRvZy5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vZWJ1cy5oPgpAQCAtMTE2LDYgKzExNyw3IEBACiAKIHN0YXRpYyBpbnQgcmlvd2Rfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCW5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvcnRjLmMgYi9kcml2ZXJzL3NidXMvY2hhci9ydGMuYwppbmRleCAxOGQxOGYxLi5iMDQyOTkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9ydGMuYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9ydGMuYwpAQCAtMTIsNiArMTIsNyBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC0yMTMsNiArMjE0LDcgQEAKIHsKIAlpbnQgcmV0OwogCisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfaXJxKCZtb3N0ZWtfbG9jayk7CiAJaWYgKHJ0Y19idXN5KSB7CiAJCXJldCA9IC1FQlVTWTsKQEAgLTIyMSw2ICsyMjMsNyBAQAogCQlyZXQgPSAwOwogCX0KIAlzcGluX3VubG9ja19pcnEoJm1vc3Rla19sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvdWN0cmwuYyBiL2RyaXZlcnMvc2J1cy9jaGFyL3VjdHJsLmMKaW5kZXggMzgzZjMyYy4uNTEzYmE2MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvdWN0cmwuYworKysgYi9kcml2ZXJzL3NidXMvY2hhci91Y3RybC5jCkBAIC05LDYgKzksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KQEAgLTIxMSw4ICsyMTIsMTAgQEAKIHN0YXRpYyBpbnQKIHVjdHJsX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAl1Y3RybF9nZXRfZXZlbnRfc3RhdHVzKCk7CiAJdWN0cmxfZ2V0X2V4dGVybmFsX3N0YXR1cygpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvdmZjX2Rldi5jIGIvZHJpdmVycy9zYnVzL2NoYXIvdmZjX2Rldi5jCmluZGV4IGQ0ZjhmY2QuLjFmNmNiOGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL3ZmY19kZXYuYworKysgYi9kcml2ZXJzL3NidXMvY2hhci92ZmNfZGV2LmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL29wZW5wcm9tLmg+CiAjaW5jbHVkZSA8YXNtL29wbGliLmg+CkBAIC0xNzgsMTQgKzE3OSwxNyBAQAogewogCXN0cnVjdCB2ZmNfZGV2ICpkZXY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmdmZjX2Rldl9sb2NrKTsKIAlkZXYgPSB2ZmNfZ2V0X2Rldl9wdHIoaW1pbm9yKGlub2RlKSk7CiAJaWYgKGRldiA9PSBOVUxMKSB7CiAJCXNwaW5fdW5sb2NrKCZ2ZmNfZGV2X2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAlpZiAoZGV2LT5idXN5KSB7CiAJCXNwaW5fdW5sb2NrKCZ2ZmNfZGV2X2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCkBAIC0yMDIsNiArMjA2LDcgQEAKIAl2ZmNfY2FwdHN0YXRfcmVzZXQoZGV2KTsKIAkKIAl2ZmNfdW5sb2NrX2RldmljZShkZXYpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpLzN3LTl4eHguYyBiL2RyaXZlcnMvc2NzaS8zdy05eHh4LmMKaW5kZXggODY3ZjZmZC4uNzA0NTUxMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpLzN3LTl4eHguYworKysgYi9kcml2ZXJzL3Njc2kvM3ctOXh4eC5jCkBAIC04NCw2ICs4NCw3IEBACiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KQEAgLTg2MiwxMSArODYzLDEzIEBACiB9IC8qIEVuZCB0d2FfY2hyZGV2X2lvY3RsKCkgKi8KIAogLyogVGhpcyBmdW5jdGlvbiBoYW5kbGVzIG9wZW4gZm9yIHRoZSBjaGFyYWN0ZXIgZGV2aWNlICovCisvKiBOT1RFIHRoYXQgdGhpcyBmdW5jdGlvbiB3aWxsIHJhY2Ugd2l0aCByZW1vdmUuICovCiBzdGF0aWMgaW50IHR3YV9jaHJkZXZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAl1bnNpZ25lZCBpbnQgbWlub3JfbnVtYmVyOwogCWludCByZXR2YWwgPSBUV19JT0NUTF9FUlJPUl9PU19FTk9ERVY7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCW1pbm9yX251bWJlciA9IGltaW5vcihpbm9kZSk7CiAJaWYgKG1pbm9yX251bWJlciA+PSB0d2FfZGV2aWNlX2V4dGVuc2lvbl9jb3VudCkKIAkJZ290byBvdXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvM3cteHh4eC5jIGIvZHJpdmVycy9zY3NpLzN3LXh4eHguYwppbmRleCA4YzIyMzI5Li5hMDUzN2YwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvM3cteHh4eC5jCisrKyBiL2RyaXZlcnMvc2NzaS8zdy14eHh4LmMKQEAgLTE5OCw2ICsxOTgsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcmVib290Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CkBAIC0xMDI3LDEwICsxMDI4LDEyIEBACiB9IC8qIEVuZCB0d19jaHJkZXZfaW9jdGwoKSAqLwogCiAvKiBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgb3BlbiBmb3IgdGhlIGNoYXJhY3RlciBkZXZpY2UgKi8KKy8qIE5PVEUgdGhhdCB0aGlzIGZ1bmN0aW9uIHJhY2VzIHdpdGggcmVtb3ZlLiAqLwogc3RhdGljIGludCB0d19jaHJkZXZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAl1bnNpZ25lZCBpbnQgbWlub3JfbnVtYmVyOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlkcHJpbnRrKEtFUk5fV0FSTklORyAiM3cteHh4eDogdHdfaW9jdGxfb3BlbigpXG4iKTsKIAogCW1pbm9yX251bWJlciA9IGltaW5vcihpbm9kZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYTEwMHUydy5jIGIvZHJpdmVycy9zY3NpL2ExMDB1MncuYwppbmRleCBjZWQzZWViLi44NGJiNjE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYTEwMHUydy5jCisrKyBiL2RyaXZlcnMvc2NzaS9hMTAwdTJ3LmMKQEAgLTM4OSw3ICszODksNyBAQAogCiAJb3V0YihQUkdNUlNUIHwgRE9XTkxPQUQsIGhvc3QtPmJhc2UgKyBPUkNfUklTQ0NUTCk7CS8qIEVuYWJsZSBTUkFNIHByb2dyYW1taW5nICovCiAJZGF0YTMyX3B0ciA9ICh1OCAqKSAmIGRhdGEzMjsKLQlkYXRhMzIgPSAwOwkJLyogSW5pdGlhbCBGVyBhZGRyZXNzIHRvIDAgKi8KKwlkYXRhMzIgPSBjcHVfdG9fbGUzMigwKTsJCS8qIEluaXRpYWwgRlcgYWRkcmVzcyB0byAwICovCiAJb3V0dygweDAwMTAsIGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NBRFIwKTsKIAkqZGF0YTMyX3B0ciA9IGluYihob3N0LT5iYXNlICsgT1JDX0VCSU9TREFUQSk7CQkvKiBSZWFkIGZyb20gQklPUyAqLwogCW91dHcoMHgwMDExLCBob3N0LT5iYXNlICsgT1JDX0VCSU9TQURSMCk7CkBAIC0zOTcsMTggKzM5NywxOSBAQAogCW91dHcoMHgwMDEyLCBob3N0LT5iYXNlICsgT1JDX0VCSU9TQURSMCk7CiAJKihkYXRhMzJfcHRyICsgMikgPSBpbmIoaG9zdC0+YmFzZSArIE9SQ19FQklPU0RBVEEpOwkvKiBSZWFkIGZyb20gQklPUyAqLwogCW91dHcoKihkYXRhMzJfcHRyICsgMiksIGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NBRFIyKTsKLQlvdXRsKGRhdGEzMiwgaG9zdC0+YmFzZSArIE9SQ19GV0JBU0VBRFIpOwkJLyogV3JpdGUgRlcgYWRkcmVzcyAqLworCW91dGwobGUzMl90b19jcHUoZGF0YTMyKSwgaG9zdC0+YmFzZSArIE9SQ19GV0JBU0VBRFIpOwkJLyogV3JpdGUgRlcgYWRkcmVzcyAqLwogCiAJLyogQ29weSB0aGUgY29kZSBmcm9tIHRoZSBCSU9TIHRvIHRoZSBTUkFNICovCiAKLQliaW9zX2FkZHIgPSAodTE2KSBkYXRhMzI7CS8qIEZXIGNvZGUgbG9jYXRlIGF0IEJJT1MgYWRkcmVzcyArID8gKi8KKwl1ZGVsYXkoNTAwKTsJLyogUmVxdWlyZWQgb24gU3VuIFVsdHJhIDUgLi4uIDM1MCAtPiBmYWlsdXJlcyAqLworCWJpb3NfYWRkciA9ICh1MTYpIGxlMzJfdG9fY3B1KGRhdGEzMik7CS8qIEZXIGNvZGUgbG9jYXRlIGF0IEJJT1MgYWRkcmVzcyArID8gKi8KIAlmb3IgKGkgPSAwLCBkYXRhMzJfcHRyID0gKHU4ICopICYgZGF0YTMyOwkvKiBEb3dubG9hZCB0aGUgY29kZSAgICAqLwogCSAgICAgaSA8IDB4MTAwMDsJLyogRmlybXdhcmUgY29kZSBzaXplID0gNEsgICAgICAqLwogCSAgICAgaSsrLCBiaW9zX2FkZHIrKykgewogCQlvdXR3KGJpb3NfYWRkciwgaG9zdC0+YmFzZSArIE9SQ19FQklPU0FEUjApOwogCQkqZGF0YTMyX3B0cisrID0gaW5iKGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NEQVRBKTsJLyogUmVhZCBmcm9tIEJJT1MgKi8KIAkJaWYgKChpICUgNCkgPT0gMykgewotCQkJb3V0bChkYXRhMzIsIGhvc3QtPmJhc2UgKyBPUkNfUklTQ1JBTSk7CS8qIFdyaXRlIGV2ZXJ5IDQgYnl0ZXMgKi8KKwkJCW91dGwobGUzMl90b19jcHUoZGF0YTMyKSwgaG9zdC0+YmFzZSArIE9SQ19SSVNDUkFNKTsJLyogV3JpdGUgZXZlcnkgNCBieXRlcyAqLwogCQkJZGF0YTMyX3B0ciA9ICh1OCAqKSAmIGRhdGEzMjsKIAkJfQogCX0KQEAgLTQyMyw3ICs0MjQsNyBAQAogCQlvdXR3KGJpb3NfYWRkciwgaG9zdC0+YmFzZSArIE9SQ19FQklPU0FEUjApOwogCQkqZGF0YTMyX3B0cisrID0gaW5iKGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NEQVRBKTsJLyogUmVhZCBmcm9tIEJJT1MgKi8KIAkJaWYgKChpICUgNCkgPT0gMykgewotCQkJaWYgKGlubChob3N0LT5iYXNlICsgT1JDX1JJU0NSQU0pICE9IGRhdGEzMikgeworCQkJaWYgKGlubChob3N0LT5iYXNlICsgT1JDX1JJU0NSQU0pICE9IGxlMzJfdG9fY3B1KGRhdGEzMikpIHsKIAkJCQlvdXRiKFBSR01SU1QsIGhvc3QtPmJhc2UgKyBPUkNfUklTQ0NUTCk7CS8qIFJlc2V0IHByb2dyYW0gdG8gMCAqLwogCQkJCW91dGIoZGF0YSwgaG9zdC0+YmFzZSArIE9SQ19HQ0ZHKTsJLypEaXNhYmxlIEVFUFJPTSBwcm9ncmFtbWluZyAqLwogCQkJCXJldHVybiAwOwpAQCAtNDU5LDggKzQ2MCw4IEBACiAKIAlmb3IgKGkgPSAwOyBpIDwgT1JDX01BWFFVRVVFOyBpKyspIHsKIAkJZXNjYl9waHlzID0gKGhvc3QtPmVzY2JfcGh5cyArIChzaXplb2Yoc3RydWN0IG9yY19leHRlbmRlZF9zY2IpICogaSkpOwotCQlzY2ItPnNnX2FkZHIgPSAodTMyKSBlc2NiX3BoeXM7Ci0JCXNjYi0+c2Vuc2VfYWRkciA9ICh1MzIpIGVzY2JfcGh5czsKKwkJc2NiLT5zZ19hZGRyID0gY3B1X3RvX2xlMzIoKHUzMikgZXNjYl9waHlzKTsKKwkJc2NiLT5zZW5zZV9hZGRyID0gY3B1X3RvX2xlMzIoKHUzMikgZXNjYl9waHlzKTsKIAkJc2NiLT5lc2NiID0gZXNjYjsKIAkJc2NiLT5zY2JpZHggPSBpOwogCQlzY2IrKzsKQEAgLTY0Miw4ICs2NDMsOCBAQAogCXNjYi0+bGluayA9IDB4RkY7CiAJc2NiLT5yZXNlcnZlZDAgPSAwOwogCXNjYi0+cmVzZXJ2ZWQxID0gMDsKLQlzY2ItPnhmZXJsZW4gPSAwOwotCXNjYi0+c2dfbGVuID0gMDsKKwlzY2ItPnhmZXJsZW4gPSBjcHVfdG9fbGUzMigwKTsKKwlzY2ItPnNnX2xlbiA9IGNwdV90b19sZTMyKDApOwogCiAJZXNjYi0+c3JiID0gTlVMTDsKIAllc2NiLT5zcmIgPSBjbWQ7CkBAIC04MzksNyArODQwLDcgQEAKICAqCUJ1aWxkIGEgaG9zdCBhZGFwdGVyIGNvbnRyb2wgYmxvY2sgZnJvbSB0aGUgU0NTSSBtaWQgbGF5ZXIgY29tbWFuZAogICovCiAKLXN0YXRpYyB2b2lkIGluaWExMDBfYnVpbGRfc2NiKHN0cnVjdCBvcmNfaG9zdCAqIGhvc3QsIHN0cnVjdCBvcmNfc2NiICogc2NiLCBzdHJ1Y3Qgc2NzaV9jbW5kICogY21kKQorc3RhdGljIGludCBpbmlhMTAwX2J1aWxkX3NjYihzdHJ1Y3Qgb3JjX2hvc3QgKiBob3N0LCBzdHJ1Y3Qgb3JjX3NjYiAqIHNjYiwgc3RydWN0IHNjc2lfY21uZCAqIGNtZCkKIHsJCQkJLyogQ3JlYXRlIGNvcnJlc3BvbmRpbmcgU0NCICAgICAqLwogCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CiAJc3RydWN0IG9yY19zZ2VudCAqc2dlbnQ7CQkvKiBQb2ludGVyIHRvIFNHIGxpc3QgICAgICAgICAgICovCkBAIC04NTgsMjggKzg1OSwzMCBAQAogCXNjYi0+bHVuID0gY21kLT5kZXZpY2UtPmx1bjsKIAlzY2ItPnJlc2VydmVkMCA9IDA7CiAJc2NiLT5yZXNlcnZlZDEgPSAwOwotCXNjYi0+c2dfbGVuID0gMDsKKwlzY2ItPnNnX2xlbiA9IGNwdV90b19sZTMyKDApOwogCi0Jc2NiLT54ZmVybGVuID0gKHUzMikgc2NzaV9idWZmbGVuKGNtZCk7CisJc2NiLT54ZmVybGVuID0gY3B1X3RvX2xlMzIoKHUzMikgc2NzaV9idWZmbGVuKGNtZCkpOwogCXNnZW50ID0gKHN0cnVjdCBvcmNfc2dlbnQgKikgJiBlc2NiLT5zZ2xpc3RbMF07CiAKIAljb3VudF9zZyA9IHNjc2lfZG1hX21hcChjbWQpOwotCUJVR19PTihjb3VudF9zZyA8IDApOworCWlmIChjb3VudF9zZyA8IDApCisJCXJldHVybiBjb3VudF9zZzsKKwlCVUdfT04oY291bnRfc2cgPiBUT1RBTF9TR19FTlRSWSk7CiAKIAkvKiBCdWlsZCB0aGUgc2NhdHRlciBnYXRoZXIgbGlzdHMgKi8KIAlpZiAoY291bnRfc2cpIHsKLQkJc2NiLT5zZ19sZW4gPSAodTMyKSAoY291bnRfc2cgKiA4KTsKKwkJc2NiLT5zZ19sZW4gPSBjcHVfdG9fbGUzMigodTMyKSAoY291bnRfc2cgKiA4KSk7CiAJCXNjc2lfZm9yX2VhY2hfc2coY21kLCBzZywgY291bnRfc2csIGkpIHsKLQkJCXNnZW50LT5iYXNlID0gKHUzMikgc2dfZG1hX2FkZHJlc3Moc2cpOwotCQkJc2dlbnQtPmxlbmd0aCA9ICh1MzIpIHNnX2RtYV9sZW4oc2cpOworCQkJc2dlbnQtPmJhc2UgPSBjcHVfdG9fbGUzMigodTMyKSBzZ19kbWFfYWRkcmVzcyhzZykpOworCQkJc2dlbnQtPmxlbmd0aCA9IGNwdV90b19sZTMyKCh1MzIpIHNnX2RtYV9sZW4oc2cpKTsKIAkJCXNnZW50Kys7CiAJCX0KIAl9IGVsc2UgewotCQlzY2ItPnNnX2xlbiA9IDA7Ci0JCXNnZW50LT5iYXNlID0gMDsKLQkJc2dlbnQtPmxlbmd0aCA9IDA7CisJCXNjYi0+c2dfbGVuID0gY3B1X3RvX2xlMzIoMCk7CisJCXNnZW50LT5iYXNlID0gY3B1X3RvX2xlMzIoMCk7CisJCXNnZW50LT5sZW5ndGggPSBjcHVfdG9fbGUzMigwKTsKIAl9Ci0Jc2NiLT5zZ19hZGRyID0gKHUzMikgc2NiLT5zZW5zZV9hZGRyOworCXNjYi0+c2dfYWRkciA9ICh1MzIpIHNjYi0+c2Vuc2VfYWRkcjsJLyogc2Vuc2VfYWRkciBpcyBhbHJlYWR5IGxpdHRsZSBlbmRpYW4gKi8KIAlzY2ItPmhhc3RhdCA9IDA7CiAJc2NiLT50YXN0YXQgPSAwOwogCXNjYi0+bGluayA9IDB4RkY7CkBAIC04OTYsNiArODk5LDcgQEAKIAkJc2NiLT50YWdfbXNnID0gMDsJLyogTm8gdGFnIHN1cHBvcnQgICAgICAgICAgICAgICAqLwogCX0KIAltZW1jcHkoc2NiLT5jZGIsIGNtZC0+Y21uZCwgc2NiLT5jZGJfbGVuKTsKKwlyZXR1cm4gMDsKIH0KIAogLyoqCkBAIC05MTksNyArOTIzLDEwIEBACiAJaWYgKChzY2IgPSBvcmNfYWxsb2Nfc2NiKGhvc3QpKSA9PSBOVUxMKQogCQlyZXR1cm4gU0NTSV9NTFFVRVVFX0hPU1RfQlVTWTsKIAotCWluaWExMDBfYnVpbGRfc2NiKGhvc3QsIHNjYiwgY21kKTsKKwlpZiAoaW5pYTEwMF9idWlsZF9zY2IoaG9zdCwgc2NiLCBjbWQpKSB7CisJCW9yY19yZWxlYXNlX3NjYihob3N0LCBzY2IpOworCQlyZXR1cm4gU0NTSV9NTFFVRVVFX0hPU1RfQlVTWTsKKwl9CiAJb3JjX2V4ZWNfc2NiKGhvc3QsIHNjYik7CS8qIFN0YXJ0IGV4ZWN1dGUgU0NCICAgICAgICAgICAgKi8KIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hYWNyYWlkL2xpbml0LmMgYi9kcml2ZXJzL3Njc2kvYWFjcmFpZC9saW5pdC5jCmluZGV4IDFmN2M4MzYuLjY4YzE0MGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hYWNyYWlkL2xpbml0LmMKKysrIGIvZHJpdmVycy9zY3NpL2FhY3JhaWQvbGluaXQuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjYWxscy5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CkBAIC02NjcsNiArNjY4LDcgQEAKIAl1bnNpZ25lZCBtaW5vcl9udW1iZXIgPSBpbWlub3IoaW5vZGUpOwogCWludCBlcnIgPSAtRU5PREVWOwogCisJbG9ja19rZXJuZWwoKTsgIC8qIEJLTCBwdXNoZG93bjogbm90aGluZyBlbHNlIHByb3RlY3RzIHRoaXMgbGlzdCAqLwogCWxpc3RfZm9yX2VhY2hfZW50cnkoYWFjLCAmYWFjX2RldmljZXMsIGVudHJ5KSB7CiAJCWlmIChhYWMtPmlkID09IG1pbm9yX251bWJlcikgewogCQkJZmlsZS0+cHJpdmF0ZV9kYXRhID0gYWFjOwpAQCAtNjc0LDYgKzY3Niw3IEBACiAJCQlicmVhazsKIAkJfQogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuYyBiL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmMKaW5kZXggNDQ0NmUzZC4uODYzMGE3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuYworKysgYi9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5jCkBAIC0xMDkzLDkgKzEwOTMsOSBAQAogICogQGJ5dGVzX3RvX3ZlcmlmeTogdG90YWwgYnl0ZXMgdG8gdmVyaWZ5CiAgKi8KIGludCBhc2RfdmVyaWZ5X2ZsYXNoX3NlZyhzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhLAotCQl2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3ZlcmlmeSkKKwkJCSBjb25zdCB2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3ZlcmlmeSkKIHsKLQl1OCAqc3JjX2J1ZjsKKwljb25zdCB1OCAqc3JjX2J1ZjsKIAl1OCBmbGFzaF9jaGFyOwogCWludCBlcnI7CiAJdTMyIG52X29mZnNldCwgcmVnLCBpOwpAQCAtMTEwNSw3ICsxMTA1LDcgQEAKIAogCWVyciA9IEZMQVNIX09LOwogCW52X29mZnNldCA9IGRlc3Rfb2Zmc2V0OwotCXNyY19idWYgPSAodTggKilzcmM7CisJc3JjX2J1ZiA9IChjb25zdCB1OCAqKXNyYzsKIAlmb3IgKGkgPSAwOyBpIDwgYnl0ZXNfdG9fdmVyaWZ5OyBpKyspIHsKIAkJZmxhc2hfY2hhciA9IGFzZF9yZWFkX3JlZ19ieXRlKGFzZF9oYSwgcmVnICsgbnZfb2Zmc2V0ICsgaSk7CiAJCWlmIChmbGFzaF9jaGFyICE9IHNyY19idWZbaV0pIHsKQEAgLTExMjQsOSArMTEyNCw5IEBACiAgKiBAYnl0ZXNfdG9fd3JpdGU6IHRvdGFsIGJ5dGVzIHRvIHdyaXRlCiAgKi8KIGludCBhc2Rfd3JpdGVfZmxhc2hfc2VnKHN0cnVjdCBhc2RfaGFfc3RydWN0ICphc2RfaGEsCi0JCXZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fd3JpdGUpCisJCQljb25zdCB2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3dyaXRlKQogewotCXU4ICpzcmNfYnVmOworCWNvbnN0IHU4ICpzcmNfYnVmOwogCXUzMiBudl9vZmZzZXQsIHJlZywgaTsKIAlpbnQgZXJyOwogCkBAIC0xMTUzLDcgKzExNTMsNyBAQAogCQlyZXR1cm4gZXJyOwogCX0KIAotCXNyY19idWYgPSAodTggKilzcmM7CisJc3JjX2J1ZiA9IChjb25zdCB1OCAqKXNyYzsKIAlmb3IgKGkgPSAwOyBpIDwgYnl0ZXNfdG9fd3JpdGU7IGkrKykgewogCQkvKiBTZXR1cCBwcm9ncmFtIGNvbW1hbmQgc2VxdWVuY2UgKi8KIAkJc3dpdGNoIChhc2RfaGEtPmh3X3Byb2YuZmxhc2gubWV0aG9kKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5oIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuaAppbmRleCBiYjk3OTVhLi5hMDZkYzAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5oCisrKyBiL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmgKQEAgLTExMCw5ICsxMTAsOSBAQAogfTsKIAogaW50IGFzZF92ZXJpZnlfZmxhc2hfc2VnKHN0cnVjdCBhc2RfaGFfc3RydWN0ICphc2RfaGEsCi0JCXZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fdmVyaWZ5KTsKKwkJY29uc3Qgdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b192ZXJpZnkpOwogaW50IGFzZF93cml0ZV9mbGFzaF9zZWcoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKLQkJdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b193cml0ZSk7CisJCWNvbnN0IHZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fd3JpdGUpOwogaW50IGFzZF9jaGtfd3JpdGVfc3RhdHVzKHN0cnVjdCBhc2RfaGFfc3RydWN0ICphc2RfaGEsCiAJCXUzMiBzZWN0b3JfYWRkciwgdTggZXJhc2VfZmxhZyk7CiBpbnQgYXNkX2NoZWNrX2ZsYXNoX3R5cGUoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3NlcS5jIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZXEuYwppbmRleCBmNDI3MmFjLi44Zjk4ZTMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3NlcS5jCisrKyBiL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2VxLmMKQEAgLTQ2LDcgKzQ2LDcgQEAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKnNlcXVlbmNlcl9mdzsKIHN0YXRpYyB1MTYgY3NlcV92ZWNzW0NTRVFfTlVNX1ZFQ1NdLCBsc2VxX3ZlY3NbTFNFUV9OVU1fVkVDU10sIG1vZGUyX3Rhc2ssCiAJY3NlcV9pZGxlX2xvb3AsIGxzZXFfaWRsZV9sb29wOwotc3RhdGljIHU4ICpjc2VxX2NvZGUsICpsc2VxX2NvZGU7CitzdGF0aWMgY29uc3QgdTggKmNzZXFfY29kZSwgKmxzZXFfY29kZTsKIHN0YXRpYyB1MzIgY3NlcV9jb2RlX3NpemUsIGxzZXFfY29kZV9zaXplOwogCiBzdGF0aWMgdTE2IGZpcnN0X3NjYl9zaXRlX25vID0gMHhGRkZGOwpAQCAtMTIzNSw3ICsxMjM1LDggQEAKIHN0YXRpYyBpbnQgYXNkX3JlcXVlc3RfZmlybXdhcmUoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSkKIHsKIAlpbnQgZXJyLCBpOwotCXN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgaGVhZGVyLCAqaGRyX3B0cjsKKwlzdHJ1Y3Qgc2VxdWVuY2VyX2ZpbGVfaGVhZGVyIGhlYWRlcjsKKwljb25zdCBzdHJ1Y3Qgc2VxdWVuY2VyX2ZpbGVfaGVhZGVyICpoZHJfcHRyOwogCXUzMiBjc3VtID0gMDsKIAl1MTYgKnB0cl9jc2VxX3ZlY3MsICpwdHJfbHNlcV92ZWNzOwogCkBAIC0xMjQ5LDcgKzEyNTAsNyBAQAogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CiAKLQloZHJfcHRyID0gKHN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgKilzZXF1ZW5jZXJfZnctPmRhdGE7CisJaGRyX3B0ciA9IChjb25zdCBzdHJ1Y3Qgc2VxdWVuY2VyX2ZpbGVfaGVhZGVyICopc2VxdWVuY2VyX2Z3LT5kYXRhOwogCiAJaGVhZGVyLmNzdW0gPSBsZTMyX3RvX2NwdShoZHJfcHRyLT5jc3VtKTsKIAloZWFkZXIubWFqb3IgPSBsZTMyX3RvX2NwdShoZHJfcHRyLT5tYWpvcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYXJtL0tjb25maWcgYi9kcml2ZXJzL3Njc2kvYXJtL0tjb25maWcKaW5kZXggNzIzNjE0My4uYTg1ODdmMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FybS9LY29uZmlnCisrKyBiL2RyaXZlcnMvc2NzaS9hcm0vS2NvbmZpZwpAQCAtMyw3ICszLDcgQEAKICMKIGNvbmZpZyBTQ1NJX0FDT1JOU0NTSV8zCiAJdHJpc3RhdGUgIkFjb3JuIFNDU0kgY2FyZCAoYWthMzApIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBBUkNIX0FDT1JOICYmIFNDU0kgJiYgQlJPS0VOCisJZGVwZW5kcyBvbiBBUkNIX0FDT1JOICYmIFNDU0kKIAlzZWxlY3QgU0NTSV9TUElfQVRUUlMKIAloZWxwCiAJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIEFjb3JuIFNDU0kgY2FyZCAoYWthMzApLiBJZiB5b3UgaGF2ZSBhbgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2ktaW8uUyBiL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLWlvLlMKaW5kZXggOTM0NjdlNi4uNWNlYmUzMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2ktaW8uUworKysgYi9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS1pby5TCkBAIC0xMCwxNyArMTAsMTAgQEAKICNpbmNsdWRlIDxhc20vYXNzZW1ibGVyLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKLSNpZiAoSU9fQkFTRSA9PSAoUENJT19CQVNFICYgMHhmZjAwMDAwMCkpCi0jZGVmaW5lIEFERFIob2ZmLHJlZykJCQkJCQlcCi0JCXRzdAlvZmYsICQweDgwMDAwMDAwCQkJO1wKLQkJbW92CXJlZywgJElPX0JBU0UJCQkJO1wKLQkJb3JyZXEJcmVnLCByZWcsICQoUENJT19CQVNFICYgMHgwMGZmMDAwMCkKLSNlbHNlCi0jZGVmaW5lIEFERFIob2ZmLHJlZykJCQkJCQlcCi0JCXRzdAlvZmYsICQweDgwMDAwMDAwCQkJO1wKLQkJbW92bmUJcmVnLCAkSU9fQkFTRQkJCQk7XAotCQltb3ZlcQlyZWcsICQoUENJT19CQVNFICYgMHhmZjAwMDAwMCkJCTtcCi0JCW9ycmVxCXJlZywgcmVnLCAkKFBDSU9fQkFTRSAmIDB4MDBmZjAwMDApCisjaWYgZGVmaW5lZChfX0FQQ1NfMzJfXykKKyNkZWZpbmUgTE9BRFJFR1ModCxyLGwuLi4pCWxkbSMjdAlyLCBsCisjZWxpZiBkZWZpbmVkKF9fQVBDU18yNl9fKQorI2RlZmluZSBMT0FEUkVHUyh0LHIsbC4uLikJbGRtIyN0CXIsIGwjI14KICNlbmRpZgogCiBAIFB1cnBvc2U6IHRyYW5zZmVyIGEgYmxvY2sgb2YgZGF0YSBmcm9tIHRoZSBhY29ybiBzY3NpIGNhcmQgdG8gbWVtb3J5CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5jIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuYwppbmRleCA4ZTUzZjAyLi45MThjY2Y4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5jCisrKyBiL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmMKQEAgLTEyMywxMiArMTIzLDYgQEAKICNkZWZpbmUgREJHKGNtZCx4eHguLi4pIHh4eAogI2VuZGlmCiAKLSNpZm5kZWYgU1RSSU5HSUZZCi0jZGVmaW5lIFNUUklOR0lGWSh4KSAjeAotI2VuZGlmCi0jZGVmaW5lIFNUUngoeCkgU1RSSU5HSUZZKHgpCi0jZGVmaW5lIE5PX1dSSVRFX1NUUiBTVFJ4KE5PX1dSSVRFKQotCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CkBAIC0xNDEsOSArMTM1LDEwIEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZ2lmeS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAKICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2VjYXJkLmg+CiAKICNpbmNsdWRlICIuLi9zY3NpLmgiCkBAIC0yMDMsNDQgKzE5OCw0NiBAQAogICogTWlzY2VsbGFuZW91cwogICovCiAKLXN0YXRpYyBpbmxpbmUgdm9pZAotc2JpY19hcm1fd3JpdGUodW5zaWduZWQgaW50IGlvX3BvcnQsIGludCByZWcsIGludCB2YWx1ZSkKKy8qIE9mZnNldHMgZnJvbSBNRU1DIGJhc2UgKi8KKyNkZWZpbmUgU0JJQ19SRUdJRFgJMHgyMDAwCisjZGVmaW5lIFNCSUNfUkVHVkFMCTB4MjAwNAorI2RlZmluZSBETUFDX09GRlNFVAkweDMwMDAKKworLyogT2Zmc2V0cyBmcm9tIEZBU1QgSU9DIGJhc2UgKi8KKyNkZWZpbmUgSU5UX1JFRwkJMHgyMDAwCisjZGVmaW5lIFBBR0VfUkVHCTB4MzAwMAorCitzdGF0aWMgaW5saW5lIHZvaWQgc2JpY19hcm1fd3JpdGUoQVNfSG9zdCAqaG9zdCwgdW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgaW50IHZhbHVlKQogewotICAgIF9fcmF3X3dyaXRlYihyZWcsIGlvX3BvcnQpOwotICAgIF9fcmF3X3dyaXRlYih2YWx1ZSwgaW9fcG9ydCArIDQpOworICAgIHdyaXRlYihyZWcsIGhvc3QtPmJhc2UgKyBTQklDX1JFR0lEWCk7CisgICAgd3JpdGViKHZhbHVlLCBob3N0LT5iYXNlICsgU0JJQ19SRUdWQUwpOwogfQogCi0jZGVmaW5lIHNiaWNfYXJtX3dyaXRlbmV4dChpbyx2YWwpIFwKLQlfX3Jhd193cml0ZWIoKHZhbCksIChpbykgKyA0KQotCi1zdGF0aWMgaW5saW5lCi1pbnQgc2JpY19hcm1fcmVhZCh1bnNpZ25lZCBpbnQgaW9fcG9ydCwgaW50IHJlZykKK3N0YXRpYyBpbmxpbmUgaW50IHNiaWNfYXJtX3JlYWQoQVNfSG9zdCAqaG9zdCwgdW5zaWduZWQgaW50IHJlZykKIHsKICAgICBpZihyZWcgPT0gU0JJQ19BU1IpCi0JICAgcmV0dXJuIF9fcmF3X3JlYWRsKGlvX3BvcnQpICYgMjU1OwotICAgIF9fcmF3X3dyaXRlYihyZWcsIGlvX3BvcnQpOwotICAgIHJldHVybiBfX3Jhd19yZWFkbChpb19wb3J0ICsgNCkgJiAyNTU7CisJICAgcmV0dXJuIHJlYWRsKGhvc3QtPmJhc2UgKyBTQklDX1JFR0lEWCkgJiAyNTU7CisgICAgd3JpdGViKHJlZywgaG9zdC0+YmFzZSArIFNCSUNfUkVHSURYKTsKKyAgICByZXR1cm4gcmVhZGwoaG9zdC0+YmFzZSArIFNCSUNfUkVHVkFMKSAmIDI1NTsKIH0KIAotI2RlZmluZSBzYmljX2FybV9yZWFkbmV4dChpbykgXAotCV9fcmF3X3JlYWRiKChpbykgKyA0KQorI2RlZmluZSBzYmljX2FybV93cml0ZW5leHQoaG9zdCwgdmFsKQl3cml0ZWIoKHZhbCksIChob3N0KS0+YmFzZSArIFNCSUNfUkVHVkFMKQorI2RlZmluZSBzYmljX2FybV9yZWFkbmV4dChob3N0KSAJcmVhZGIoKGhvc3QpLT5iYXNlICsgU0JJQ19SRUdWQUwpCiAKICNpZmRlZiBVU0VfRE1BQwotI2RlZmluZSBkbWFjX3JlYWQoaW9fcG9ydCxyZWcpIFwKLQlpbmIoKGlvX3BvcnQpICsgKHJlZykpCisjZGVmaW5lIGRtYWNfcmVhZChob3N0LHJlZykgXAorCXJlYWRiKChob3N0KS0+YmFzZSArIERNQUNfT0ZGU0VUICsgKChyZWcpIDw8IDIpKQogCi0jZGVmaW5lIGRtYWNfd3JpdGUoaW9fcG9ydCxyZWcsdmFsdWUpIFwKLQkoeyBvdXRiKCh2YWx1ZSksIChpb19wb3J0KSArIChyZWcpKTsgfSkKKyNkZWZpbmUgZG1hY193cml0ZShob3N0LHJlZyx2YWx1ZSkgXAorCSh7IHdyaXRlYigodmFsdWUpLCAoaG9zdCktPmJhc2UgKyBETUFDX09GRlNFVCArICgocmVnKSA8PCAyKSk7IH0pCiAKLSNkZWZpbmUgZG1hY19jbGVhcmludHIoaW9fcG9ydCkgXAotCSh7IG91dGIoMCwgKGlvX3BvcnQpKTsgfSkKKyNkZWZpbmUgZG1hY19jbGVhcmludHIoaG9zdCkgCXdyaXRlYigwLCAoaG9zdCktPmZhc3QgKyBJTlRfUkVHKQogCi1zdGF0aWMgaW5saW5lCi11bnNpZ25lZCBpbnQgZG1hY19hZGRyZXNzKHVuc2lnbmVkIGludCBpb19wb3J0KQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZG1hY19hZGRyZXNzKEFTX0hvc3QgKmhvc3QpCiB7Ci0gICAgcmV0dXJuIGRtYWNfcmVhZChpb19wb3J0LCBETUFDX1RYQURSSEkpIDw8IDE2IHwKLQkgICBkbWFjX3JlYWQoaW9fcG9ydCwgRE1BQ19UWEFEUk1EKSA8PCA4IHwKLQkgICBkbWFjX3JlYWQoaW9fcG9ydCwgRE1BQ19UWEFEUkxPKTsKKyAgICByZXR1cm4gZG1hY19yZWFkKGhvc3QsIERNQUNfVFhBRFJISSkgPDwgMTYgfAorCSAgIGRtYWNfcmVhZChob3N0LCBETUFDX1RYQURSTUQpIDw8IDggfAorCSAgIGRtYWNfcmVhZChob3N0LCBETUFDX1RYQURSTE8pOwogfQogCiBzdGF0aWMKQEAgLTI0OCwxNSArMjQ1LDE1IEBACiB7CiAJdW5zaWduZWQgaW50IG1vZGUsIGFkZHIsIGxlbjsKIAotCW1vZGUgPSBkbWFjX3JlYWQoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfTU9ERUNPTik7Ci0JYWRkciA9IGRtYWNfYWRkcmVzcyhob3N0LT5kbWEuaW9fcG9ydCk7Ci0JbGVuICA9IGRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVEhJKSA8PCA4IHwKLQkgICAgICAgZG1hY19yZWFkKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQ05UTE8pOworCW1vZGUgPSBkbWFjX3JlYWQoaG9zdCwgRE1BQ19NT0RFQ09OKTsKKwlhZGRyID0gZG1hY19hZGRyZXNzKGhvc3QpOworCWxlbiAgPSBkbWFjX3JlYWQoaG9zdCwgRE1BQ19UWENOVEhJKSA8PCA4IHwKKwkgICAgICAgZG1hY19yZWFkKGhvc3QsIERNQUNfVFhDTlRMTyk7CiAKIAlwcmludGsoInNjc2klZDogJXM6IERNQUMgJTAyeCBAJTA2eCslMDR4IG1zayAlMDJ4LCAiLAogCQlob3N0LT5ob3N0LT5ob3N0X25vLCB3aGVyZSwKIAkJbW9kZSwgYWRkciwgKGxlbiArIDEpICYgMHhmZmZmLAotCQlkbWFjX3JlYWQoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfTUFTS1JFRykpOworCQlkbWFjX3JlYWQoaG9zdCwgRE1BQ19NQVNLUkVHKSk7CiAKIAlwcmludGsoIkRNQSBAJTA2eCwgIiwgaG9zdC0+ZG1hLnN0YXJ0X2FkZHIpOwogCXByaW50aygiQkggQCVwICslMDR4LCAiLCBob3N0LT5zY3NpLlNDcC5wdHIsCkBAIC0yNzIsOSArMjY5LDkgQEAKIHsKICAgICB1bnNpZ25lZCBsb25nIGxlbmd0aDsKIAotICAgIGxlbmd0aCA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1RSQU5TQ05USCkgPDwgMTY7Ci0gICAgbGVuZ3RoIHw9IHNiaWNfYXJtX3JlYWRuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCkgPDwgODsKLSAgICBsZW5ndGggfD0gc2JpY19hcm1fcmVhZG5leHQoaG9zdC0+c2NzaS5pb19wb3J0KTsKKyAgICBsZW5ndGggPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfVFJBTlNDTlRIKSA8PCAxNjsKKyAgICBsZW5ndGggfD0gc2JpY19hcm1fcmVhZG5leHQoaG9zdCkgPDwgODsKKyAgICBsZW5ndGggfD0gc2JpY19hcm1fcmVhZG5leHQoaG9zdCk7CiAKICAgICByZXR1cm4gbGVuZ3RoOwogfQpAQCAtMjg1LDcgKzI4Miw3IEBACiAJaW50IGFzcjsKIAogCWRvIHsKLQkJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKTsKKwkJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CiAKIAkJaWYgKChhc3IgJiBzdGF0X21hc2spID09IHN0YXQpCiAJCQlyZXR1cm4gMDsKQEAgLTMwNCw3ICszMDEsNyBAQAogICAgIGlmIChhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9DSVAsIDAsIDEwMDAsICJpc3N1aW5nIGNvbW1hbmQiKSkKIAlyZXR1cm4gLTE7CiAKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ01ORCwgY29tbWFuZCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19DTU5ELCBjb21tYW5kKTsKIAogICAgIHJldHVybiAwOwogfQpAQCAtMzMxLDIwICszMjgsMjAgQEAKIAogICAgIC8qIGFzc2VydCByZXNldCBsaW5lICovCiAgICAgaG9zdC0+Y2FyZC5wYWdlX3JlZyA9IDB4ODA7Ci0gICAgb3V0Yihob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworICAgIHdyaXRlYihob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogCiAgICAgLyogd2FpdCAzIGNzLiAgU0NTSSBzdGFuZGFyZCBzYXlzIDI1bXMuICovCiAgICAgYWNvcm5zY3NpX2NzZGVsYXkoMyk7CiAKICAgICBob3N0LT5jYXJkLnBhZ2VfcmVnID0gMDsKLSAgICBvdXRiKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAKICAgICAvKgogICAgICAqIFNob3VsZCBnZXQgYSByZXNldCBmcm9tIHRoZSBjYXJkCiAgICAgICovCiAgICAgdGltZW91dCA9IDEwMDA7CiAgICAgZG8gewotCWlmIChpbmIoaG9zdC0+Y2FyZC5pb19pbnRyKSAmIDgpCisJaWYgKHJlYWRiKGhvc3QtPmZhc3QgKyBJTlRfUkVHKSAmIDgpCiAJICAgIGJyZWFrOwogCXVkZWxheSgxKTsKICAgICB9IHdoaWxlICgtLXRpbWVvdXQpOwpAQCAtMzUzLDE5ICszNTAsMTkgQEAKIAlwcmludGsoInNjc2klZDogdGltZW91dCB3aGlsZSByZXNldHRpbmcgY2FyZFxuIiwKIAkJaG9zdC0+aG9zdC0+aG9zdF9ubyk7CiAKLSAgICBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOwotICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisgICAgc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CisgICAgc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKICAgICAvKiBzZXR1cCBzYmljIC0gV0QzM0M5M0EgKi8KLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfT1dOSUQsIE9XTklEX0VBRiB8IGhvc3QtPmhvc3QtPnRoaXNfaWQpOwotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19DTU5ELCBDTU5EX1JFU0VUKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX09XTklELCBPV05JRF9FQUYgfCBob3N0LT5ob3N0LT50aGlzX2lkKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIENNTkRfUkVTRVQpOwogCiAgICAgLyoKICAgICAgKiBDb21tYW5kIHNob3VsZCBjYXVzZSBhIHJlc2V0IGludGVycnVwdAogICAgICAqLwogICAgIHRpbWVvdXQgPSAxMDAwOwogICAgIGRvIHsKLQlpZiAoaW5iKGhvc3QtPmNhcmQuaW9faW50cikgJiA4KQorCWlmIChyZWFkYihob3N0LT5mYXN0ICsgSU5UX1JFRykgJiA4KQogCSAgICBicmVhazsKIAl1ZGVsYXkoMSk7CiAgICAgfSB3aGlsZSAoLS10aW1lb3V0KTsKQEAgLTM3NCwyNiArMzcxLDI2IEBACiAJcHJpbnRrKCJzY3NpJWQ6IHRpbWVvdXQgd2hpbGUgcmVzZXR0aW5nIGNhcmRcbiIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8pOwogCi0gICAgc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKTsKLSAgICBpZiAoc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKSAhPSAweDAxKQorICAgIHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOworICAgIGlmIChzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU1NSKSAhPSAweDAxKQogCXByaW50ayhLRVJOX0NSSVQgInNjc2klZDogV0QzM0M5M0EgZGlkbid0IGdpdmUgZW5oYW5jZWQgcmVzZXQgaW50ZXJydXB0XG4iLAogCQlob3N0LT5ob3N0LT5ob3N0X25vKTsKIAotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19DVFJMLCBJTklUX1NCSUNETUEgfCBDVFJMX0lESSk7Ci0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1RJTUVPVVQsIFRJTUVPVVRfVElNRSk7Ci0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIFNZTkNIVFJBTlNGRVJfMkRCQSk7Ci0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NPVVJDRUlELCBTT1VSQ0VJRF9FUiB8IFNPVVJDRUlEX0RTUCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19DVFJMLCBJTklUX1NCSUNETUEgfCBDVFJMX0lESSk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19USU1FT1VULCBUSU1FT1VUX1RJTUUpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgU1lOQ0hUUkFOU0ZFUl8yREJBKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX1NPVVJDRUlELCBTT1VSQ0VJRF9FUiB8IFNPVVJDRUlEX0RTUCk7CiAKICAgICBob3N0LT5jYXJkLnBhZ2VfcmVnID0gMHg0MDsKLSAgICBvdXRiKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAKICAgICAvKiBzZXR1cCBkbWFjIC0gdVBDNzEwNzEgKi8KLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX0lOSVQsIDApOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19JTklULCAwKTsKICNpZmRlZiBVU0VfRE1BQwotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfSU5JVCwgSU5JVF84QklUKTsKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX0NIQU5ORUwsIENIQU5ORUxfMCk7Ci0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19ERVZDT04wLCBJTklUX0RFVkNPTjApOwotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfREVWQ09OMSwgSU5JVF9ERVZDT04xKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfSU5JVCwgSU5JVF84QklUKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfQ0hBTk5FTCwgQ0hBTk5FTF8wKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfREVWQ09OMCwgSU5JVF9ERVZDT04wKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfREVWQ09OMSwgSU5JVF9ERVZDT04xKTsKICNlbmRpZgogCiAgICAgaG9zdC0+U0NwbnQgPSBOVUxMOwpAQCAtNzQxLDkgKzczOCw5IEBACiAgICAgICogSWYgd2UgaGF2ZSBhbiBpbnRlcnJ1cHQgcGVuZGluZywgdGhlbiB3ZSBtYXkgaGF2ZSBiZWVuIHJlc2VsZWN0ZWQuCiAgICAgICogSW4gdGhpcyBjYXNlLCB3ZSBkb24ndCB3YW50IHRvIHdyaXRlIHRvIHRoZSByZWdpc3RlcnMKICAgICAgKi8KLSAgICBpZiAoIShzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpICYgKEFTUl9JTlR8QVNSX0JTWXxBU1JfQ0lQKSkpIHsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREVTVElELCBTQ3BudC0+ZGV2aWNlLT5pZCk7Ci0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfU0VMV0lUSEFUTik7CisgICAgaWYgKCEoc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUikgJiAoQVNSX0lOVHxBU1JfQlNZfEFTUl9DSVApKSkgeworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfREVTVElELCBTQ3BudC0+ZGV2aWNlLT5pZCk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19DTU5ELCBDTU5EX1NFTFdJVEhBVE4pOwogICAgIH0KIAogICAgIC8qCkBAIC04MDcsNyArODA0LDcgQEAKIAlzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3BudCA9ICpTQ3BudHA7CiAKICAgICAvKiBjbGVhbiB1cCAqLwotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TT1VSQ0VJRCwgU09VUkNFSURfRVIgfCBTT1VSQ0VJRF9EU1ApOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKIAogICAgIGhvc3QtPnN0YXRzLmZpbnMgKz0gMTsKIApAQCAtOTE4LDEzICs5MTUsMTMgQEAKIHZvaWQgYWNvcm5zY3NpX2RhdGFfcmVhZChBU19Ib3N0ICpob3N0LCBjaGFyICpwdHIsCiAJCQkJIHVuc2lnbmVkIGludCBzdGFydF9hZGRyLCB1bnNpZ25lZCBpbnQgbGVuZ3RoKQogewotICAgIGV4dGVybiB2b2lkIF9fYWNvcm5zY3NpX2luKGludCBwb3J0LCBjaGFyICpidWYsIGludCBsZW4pOworICAgIGV4dGVybiB2b2lkIF9fYWNvcm5zY3NpX2luKHZvaWQgX19pb21lbSAqLCBjaGFyICpidWYsIGludCBsZW4pOwogICAgIHVuc2lnbmVkIGludCBwYWdlLCBvZmZzZXQsIGxlbiA9IGxlbmd0aDsKIAogICAgIHBhZ2UgPSAoc3RhcnRfYWRkciA+PiAxMik7CiAgICAgb2Zmc2V0ID0gc3RhcnRfYWRkciAmICgoMSA8PCAxMikgLSAxKTsKIAotICAgIG91dGIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogCiAgICAgd2hpbGUgKGxlbiA+IDApIHsKIAl1bnNpZ25lZCBpbnQgdGhpc19sZW47CkBAIC05MzQsNyArOTMxLDcgQEAKIAllbHNlCiAJICAgIHRoaXNfbGVuID0gbGVuOwogCi0JX19hY29ybnNjc2lfaW4oaG9zdC0+Y2FyZC5pb19yYW0gKyAob2Zmc2V0IDw8IDEpLCBwdHIsIHRoaXNfbGVuKTsKKwlfX2Fjb3Juc2NzaV9pbihob3N0LT5iYXNlICsgKG9mZnNldCA8PCAxKSwgcHRyLCB0aGlzX2xlbik7CiAKIAlvZmZzZXQgKz0gdGhpc19sZW47CiAJcHRyICs9IHRoaXNfbGVuOwpAQCAtOTQzLDEwICs5NDAsMTAgQEAKIAlpZiAob2Zmc2V0ID09ICgxIDw8IDEyKSkgewogCSAgICBvZmZzZXQgPSAwOwogCSAgICBwYWdlICsrOwotCSAgICBvdXRiKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworCSAgICB3cml0ZWIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAJfQogICAgIH0KLSAgICBvdXRiKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiB9CiAKIC8qCkBAIC05NjMsMTMgKzk2MCwxMyBAQAogdm9pZCBhY29ybnNjc2lfZGF0YV93cml0ZShBU19Ib3N0ICpob3N0LCBjaGFyICpwdHIsCiAJCQkJIHVuc2lnbmVkIGludCBzdGFydF9hZGRyLCB1bnNpZ25lZCBpbnQgbGVuZ3RoKQogewotICAgIGV4dGVybiB2b2lkIF9fYWNvcm5zY3NpX291dChpbnQgcG9ydCwgY2hhciAqYnVmLCBpbnQgbGVuKTsKKyAgICBleHRlcm4gdm9pZCBfX2Fjb3Juc2NzaV9vdXQodm9pZCBfX2lvbWVtICosIGNoYXIgKmJ1ZiwgaW50IGxlbik7CiAgICAgdW5zaWduZWQgaW50IHBhZ2UsIG9mZnNldCwgbGVuID0gbGVuZ3RoOwogCiAgICAgcGFnZSA9IChzdGFydF9hZGRyID4+IDEyKTsKICAgICBvZmZzZXQgPSBzdGFydF9hZGRyICYgKCgxIDw8IDEyKSAtIDEpOwogCi0gICAgb3V0YigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAKICAgICB3aGlsZSAobGVuID4gMCkgewogCXVuc2lnbmVkIGludCB0aGlzX2xlbjsKQEAgLTk3OSw3ICs5NzYsNyBAQAogCWVsc2UKIAkgICAgdGhpc19sZW4gPSBsZW47CiAKLQlfX2Fjb3Juc2NzaV9vdXQoaG9zdC0+Y2FyZC5pb19yYW0gKyAob2Zmc2V0IDw8IDEpLCBwdHIsIHRoaXNfbGVuKTsKKwlfX2Fjb3Juc2NzaV9vdXQoaG9zdC0+YmFzZSArIChvZmZzZXQgPDwgMSksIHB0ciwgdGhpc19sZW4pOwogCiAJb2Zmc2V0ICs9IHRoaXNfbGVuOwogCXB0ciArPSB0aGlzX2xlbjsKQEAgLTk4OCwxMCArOTg1LDEwIEBACiAJaWYgKG9mZnNldCA9PSAoMSA8PCAxMikpIHsKIAkgICAgb2Zmc2V0ID0gMDsKIAkgICAgcGFnZSArKzsKLQkgICAgb3V0YigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKwkgICAgd3JpdGViKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogCX0KICAgICB9Ci0gICAgb3V0Yihob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworICAgIHdyaXRlYihob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogfQogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTAwOCw4ICsxMDA1LDggQEAKIHN0YXRpYyBpbmxpbmUKIHZvaWQgYWNvcm5zY3NpX2RtYV9zdG9wKEFTX0hvc3QgKmhvc3QpCiB7Ci0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKLSAgICBkbWFjX2NsZWFyaW50cihob3N0LT5kbWEuaW9faW50cl9jbGVhcik7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOworICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QpOwogCiAjaWYgKERFQlVHICYgREVCVUdfRE1BKQogICAgIERCRyhob3N0LT5TQ3BudCwgYWNvcm5zY3NpX2R1bXBkbWEoaG9zdCwgInN0b3AiKSk7CkBAIC0xMDMxLDcgKzEwMjgsNyBAQAogCiAgICAgaG9zdC0+ZG1hLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjsKIAotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOwogCiAgICAgaWYgKGRpcmVjdGlvbiA9PSBETUFfT1VUKSB7CiAjaWYgKERFQlVHICYgREVCVUdfTk9fV1JJVEUpCkBAIC0xMDYyLDEzICsxMDU5LDEzIEBACiAJCQkJbGVuZ3RoKTsKIAogCWxlbmd0aCAtPSAxOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRMTywgbGVuZ3RoKTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQ05USEksIGxlbmd0aCA+PiA4KTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSTE8sIGFkZHJlc3MpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJNRCwgYWRkcmVzcyA+PiA4KTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSSEksIDApOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfTU9ERUNPTiwgbW9kZSk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05UTE8sIGxlbmd0aCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05USEksIGxlbmd0aCA+PiA4KTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJMTywgYWRkcmVzcyk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTUQsIGFkZHJlc3MgPj4gOCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSSEksIDApOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NT0RFQ09OLCBtb2RlKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PRkYpOwogCiAjaWYgKERFQlVHICYgREVCVUdfRE1BKQogCURCRyhob3N0LT5TQ3BudCwgYWNvcm5zY3NpX2R1bXBkbWEoaG9zdCwgInN0cnQiKSk7CkBAIC0xMDg4LDggKzEwODUsOCBAQAogc3RhdGljCiB2b2lkIGFjb3Juc2NzaV9kbWFfY2xlYW51cChBU19Ib3N0ICpob3N0KQogewotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfTUFTS1JFRywgTUFTS19PTik7Ci0gICAgZG1hY19jbGVhcmludHIoaG9zdC0+ZG1hLmlvX2ludHJfY2xlYXIpOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKKyAgICBkbWFjX2NsZWFyaW50cihob3N0KTsKIAogICAgIC8qCiAgICAgICogQ2hlY2sgZm9yIGEgcGVuZGluZyB0cmFuc2ZlcgpAQCAtMTExNiw3ICsxMTEzLDcgQEAKIAkvKgogCSAqIENhbGN1bGF0ZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgZnJvbSBETUEuCiAJICovCi0JdHJhbnNmZXJyZWQgPSBkbWFjX2FkZHJlc3MoaG9zdC0+ZG1hLmlvX3BvcnQpIC0gaG9zdC0+ZG1hLnN0YXJ0X2FkZHI7CisJdHJhbnNmZXJyZWQgPSBkbWFjX2FkZHJlc3MoaG9zdCkgLSBob3N0LT5kbWEuc3RhcnRfYWRkcjsKIAlob3N0LT5kbWEudHJhbnNmZXJyZWQgKz0gdHJhbnNmZXJyZWQ7CiAKIAlpZiAoaG9zdC0+ZG1hLmRpcmVjdGlvbiA9PSBETUFfSU4pCkBAIC0xMTUyLDEzICsxMTQ5LDEzIEBACiAgICAgREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAiaW50aSIpKTsKICNlbmRpZgogCi0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKLSAgICBkbWFjX2NsZWFyaW50cihob3N0LT5kbWEuaW9faW50cl9jbGVhcik7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOworICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QpOwogCiAgICAgLyoKICAgICAgKiBDYWxjdWxhdGUgYW1vdW50IHRyYW5zZmVycmVkIHZpYSBETUEKICAgICAgKi8KLSAgICB0cmFuc2ZlcnJlZCA9IGRtYWNfYWRkcmVzcyhob3N0LT5kbWEuaW9fcG9ydCkgLSBob3N0LT5kbWEuc3RhcnRfYWRkcjsKKyAgICB0cmFuc2ZlcnJlZCA9IGRtYWNfYWRkcmVzcyhob3N0KSAtIGhvc3QtPmRtYS5zdGFydF9hZGRyOwogICAgIGhvc3QtPmRtYS50cmFuc2ZlcnJlZCArPSB0cmFuc2ZlcnJlZDsKIAogICAgIC8qCkBAIC0xMTkwLDEyICsxMTg3LDEyIEBACiAJCQkJbGVuZ3RoKTsKIAogCWxlbmd0aCAtPSAxOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRMTywgbGVuZ3RoKTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQ05USEksIGxlbmd0aCA+PiA4KTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSTE8sIGFkZHJlc3MpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJNRCwgYWRkcmVzcyA+PiA4KTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSSEksIDApOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfTUFTS1JFRywgTUFTS19PRkYpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWENOVExPLCBsZW5ndGgpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWENOVEhJLCBsZW5ndGggPj4gOCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTE8sIGFkZHJlc3MpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUk1ELCBhZGRyZXNzID4+IDgpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUkhJLCAwKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PRkYpOwogCiAjaWYgKERFQlVHICYgREVCVUdfRE1BKQogCURCRyhob3N0LT5TQ3BudCwgYWNvcm5zY3NpX2R1bXBkbWEoaG9zdCwgImludG8iKSk7CkBAIC0xMjA5LDE1ICsxMjA2LDE1IEBACiAJICogYXR0ZW50aW9uIGNvbmRpdGlvbi4gIFdlIGNvbnRpbnVlIGdpdmluZyBvbmUgYnl0ZSB1bnRpbAogCSAqIHRoZSBkZXZpY2UgcmVjb2duaXNlcyB0aGUgYXR0ZW50aW9uLgogCSAqLwotCWlmIChkbWFjX3JlYWQoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfU1RBVFVTKSAmIFNUQVRVU19SUTApIHsKKwlpZiAoZG1hY19yZWFkKGhvc3QsIERNQUNfU1RBVFVTKSAmIFNUQVRVU19SUTApIHsKIAkgICAgYWNvcm5zY3NpX2Fib3J0Y21kKGhvc3QsIGhvc3QtPlNDcG50LT50YWcpOwogCi0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRMTywgMCk7Ci0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRISSwgMCk7Ci0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJMTywgMCk7Ci0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJNRCwgMCk7Ci0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJISSwgMCk7Ci0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfTUFTS1JFRywgTUFTS19PRkYpOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhDTlRMTywgMCk7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWENOVEhJLCAwKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTE8sIDApOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJNRCwgMCk7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUkhJLCAwKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX01BU0tSRUcsIE1BU0tfT0ZGKTsKIAl9CiAjZW5kaWYKICAgICB9CkBAIC0xMjcxLDkgKzEyNjgsOSBAQAogCSAgICBob3N0LT5kbWEueGZlcl9zZXR1cCA9IDA7CiAJZWxzZSB7CiAJICAgIHRyYW5zZmVycmVkICs9IGhvc3QtPmRtYS5zdGFydF9hZGRyOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSTE8sIHRyYW5zZmVycmVkKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUk1ELCB0cmFuc2ZlcnJlZCA+PiA4KTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkhJLCB0cmFuc2ZlcnJlZCA+PiAxNik7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUkxPLCB0cmFuc2ZlcnJlZCk7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUk1ELCB0cmFuc2ZlcnJlZCA+PiA4KTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSSEksIHRyYW5zZmVycmVkID4+IDE2KTsKICNpZiAoREVCVUcgJiAoREVCVUdfRE1BfERFQlVHX1dSSVRFKSkKIAkgICAgREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAiYWRqbyIpKTsKICNlbmRpZgpAQCAtMTI5MiwxMiArMTI4OSwxMiBAQAogCWludCBteV9wdHIgPSAqcHRyOwogCiAJd2hpbGUgKG15X3B0ciA8IGxlbikgewotCQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOworCQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKIAogCQlpZiAoYXNyICYgQVNSX0RCUikgewogCQkJdGltZW91dCA9IG1heF90aW1lb3V0OwogCi0JCQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREFUQSwgYnl0ZXNbbXlfcHRyKytdKTsKKwkJCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfREFUQSwgYnl0ZXNbbXlfcHRyKytdKTsKIAkJfSBlbHNlIGlmIChhc3IgJiBBU1JfSU5UKQogCQkJYnJlYWs7CiAJCWVsc2UgaWYgKC0tdGltZW91dCA9PSAwKQpAQCAtMTMyMCw5ICsxMzE3LDkgQEAKIHsKIAlzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3BudCA9IGhvc3QtPlNDcG50OwogCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1RSQU5TQ05USCwgMCk7Ci0gICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgMCk7Ci0gICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgU0NwbnQtPmNtZF9sZW4gLSBob3N0LT5zY3NpLlNDcC5zZW50X2NvbW1hbmQpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfVFJBTlNDTlRILCAwKTsKKyAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdCwgMCk7CisgICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIFNDcG50LT5jbWRfbGVuIC0gaG9zdC0+c2NzaS5TQ3Auc2VudF9jb21tYW5kKTsKIAogICAgIGFjb3Juc2NzaV9zYmljX2lzc3VlY21kKGhvc3QsIENNTkRfWEZFUklORk8pOwogCkBAIC0xMzUxLDcgKzEzNDgsNyBAQAogCiAJYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfREJSLCBBU1JfREJSLCAxMDAwLCAic2VuZGluZyBtZXNzYWdlIDEiKTsKIAotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBLCBOT1ApOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfREFUQSwgTk9QKTsKIAogCWhvc3QtPnNjc2kubGFzdF9tZXNzYWdlID0gTk9QOwogI2lmIChERUJVRyAmIERFQlVHX01FU1NBR0VTKQpAQCAtMTM2NSw3ICsxMzYyLDcgQEAKIAogCWFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0RCUiwgQVNSX0RCUiwgMTAwMCwgInNlbmRpbmcgbWVzc2FnZSAyIik7CiAKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREFUQSwgbXNnLT5tc2dbMF0pOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfREFUQSwgbXNnLT5tc2dbMF0pOwogCiAJaG9zdC0+c2NzaS5sYXN0X21lc3NhZ2UgPSBtc2ctPm1zZ1swXTsKICNpZiAoREVCVUcgJiBERUJVR19NRVNTQUdFUykKQEAgLTEzODIsOSArMTM3OSw5IEBACiAJICogIGluaXRpYXRvci4gIFRoaXMgcHJvdmlkZXMgYW4gaW50ZXJsb2NrIHNvIHRoYXQgdGhlCiAJICogIGluaXRpYXRvciBjYW4gZGV0ZXJtaW5lIHdoaWNoIG1lc3NhZ2UgYnl0ZSBpcyByZWplY3RlZC4KIAkgKi8KLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVFJBTlNDTlRILCAwKTsKLQlzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCAwKTsKLQlzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCBtZXNzYWdlX2xlbmd0aCk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19UUkFOU0NOVEgsIDApOworCXNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCAwKTsKKwlzYmljX2FybV93cml0ZW5leHQoaG9zdCwgbWVzc2FnZV9sZW5ndGgpOwogCWFjb3Juc2NzaV9zYmljX2lzc3VlY21kKGhvc3QsIENNTkRfWEZFUklORk8pOwogCiAJbXNnbnIgPSAwOwpAQCAtMTQyMSw3ICsxNDE4LDcgQEAKIHsKICAgICBhY29ybnNjc2lfc2JpY19pc3N1ZWNtZChob3N0LCBDTU5EX1hGRVJJTkZPfENNTkRfU0JUKTsKICAgICBhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9EQlIsIEFTUl9EQlIsIDEwMDAsICJyZWFkaW5nIHN0YXR1cyBieXRlIik7Ci0gICAgaG9zdC0+c2NzaS5TQ3AuU3RhdHVzID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREFUQSk7CisgICAgaG9zdC0+c2NzaS5TQ3AuU3RhdHVzID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0RBVEEpOwogfQogCiAvKgpAQCAtMTQzOCwxMiArMTQzNSwxMiBAQAogCiAgICAgYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfREJSLCBBU1JfREJSLCAxMDAwLCAiZm9yIG1lc3NhZ2UgYnl0ZSIpOwogCi0gICAgbWVzc2FnZSA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0RBVEEpOworICAgIG1lc3NhZ2UgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfREFUQSk7CiAKICAgICAvKiB3YWl0IGZvciBNU0dJTi1YRkVSLVBBVVNFRCAqLwogICAgIGFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0lOVCwgQVNSX0lOVCwgMTAwMCwgImZvciBpbnRlcnJ1cHQgYWZ0ZXIgbWVzc2FnZSBieXRlIik7CiAKLSAgICBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TU1IpOworICAgIHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCiAgICAgcmV0dXJuIG1lc3NhZ2U7CiB9CkBAIC0xNDgwLDcgKzE0NzcsNyBAQAogCiAJICAgIC8qIHdhaXQgZm9yIG5leHQgbXNnLWluICovCiAJICAgIGFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0lOVCwgQVNSX0lOVCwgMTAwMCwgImZvciBpbnRlcnJ1cHQgYWZ0ZXIgbmVnYXRlIGFjayIpOwotCSAgICBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TU1IpOworCSAgICBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU1NSKTsKIAl9CiAgICAgfSB3aGlsZSAobXNnaWR4IDwgbXNnbGVuKTsKIApAQCAtMTYwMiw3ICsxNTk5LDcgQEAKIAkJICAgIGhvc3QtPmhvc3QtPmhvc3Rfbm8sIGFjb3Juc2NzaV90YXJnZXQoaG9zdCkpOwogCSAgICBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlciA9IFNZTkNIVFJBTlNGRVJfMkRCQTsKIAkgICAgaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3N0YXRlID0gU1lOQ19BU1lOQ0hST05PVVM7Ci0JICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlcik7CisJICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3hmZXIpOwogCSAgICBicmVhazsKIAogCWRlZmF1bHQ6CkBAIC0xNjUyLDcgKzE2NDksNyBAQAogCQlob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlciA9CiAJCQljYWxjX3N5bmNfeGZlcihwZXJpb2QgKiA0LCBsZW5ndGgpOwogCSAgICB9Ci0JICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlcik7CisJICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3hmZXIpOwogCSAgICBicmVhazsKICNlbHNlCiAJICAgIC8qIFdlIGRvIG5vdCBhY2NlcHQgc3luY2hyb25vdXMgdHJhbnNmZXJzLiAgUmVzcG9uZCB3aXRoIGEKQEAgLTE3OTIsMTAgKzE3ODksMTAgQEAKIAogICAgIHJlc2lkdWFsID0gc2NzaV9idWZmbGVuKGhvc3QtPlNDcG50KSAtIGhvc3QtPnNjc2kuU0NwLnNjc2lfeGZlcnJlZDsKIAotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlcik7Ci0gICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgcmVzaWR1YWwgPj4gMTYpOwotICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIHJlc2lkdWFsID4+IDgpOwotICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIHJlc2lkdWFsKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKKyAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdCwgcmVzaWR1YWwgPj4gMTYpOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCByZXNpZHVhbCA+PiA4KTsKKyAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdCwgcmVzaWR1YWwpOwogICAgIGFjb3Juc2NzaV9zYmljX2lzc3VlY21kKGhvc3QsIENNTkRfWEZFUklORk8pOwogICAgIHJldHVybiAxOwogfQpAQCAtMTgxNiw3ICsxODEzLDcgQEAKIHsKICAgICB1bnNpZ25lZCBpbnQgdGFyZ2V0LCBsdW4sIG9rID0gMDsKIAotICAgIHRhcmdldCA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NPVVJDRUlEKTsKKyAgICB0YXJnZXQgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU09VUkNFSUQpOwogCiAgICAgaWYgKCEodGFyZ2V0ICYgOCkpCiAJcHJpbnRrKEtFUk5fRVJSICJzY3NpJWQ6IGludmFsaWQgc291cmNlIGlkIGFmdGVyIHJlc2VsZWN0aW9uICIKQEAgLTE4MzIsNyArMTgyOSw3IEBACiAJaG9zdC0+U0NwbnQgPSBOVUxMOwogICAgIH0KIAotICAgIGx1biA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0RBVEEpICYgNzsKKyAgICBsdW4gPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfREFUQSkgJiA3OwogCiAgICAgaG9zdC0+c2NzaS5yZWNvbm5lY3RlZC50YXJnZXQgPSB0YXJnZXQ7CiAgICAgaG9zdC0+c2NzaS5yZWNvbm5lY3RlZC5sdW4gPSBsdW47CkBAIC0xOTUyLDcgKzE5NDksNyBAQAogdm9pZCBhY29ybnNjc2lfYWJvcnRjbWQoQVNfSG9zdCAqaG9zdCwgdW5zaWduZWQgY2hhciB0YWcpCiB7CiAgICAgaG9zdC0+c2NzaS5waGFzZSA9IFBIQVNFX0FCT1JURUQ7Ci0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfQVNTRVJUQVROKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIENNTkRfQVNTRVJUQVROKTsKIAogICAgIG1zZ3F1ZXVlX2ZsdXNoKCZob3N0LT5zY3NpLm1zZ3MpOwogI2lmZGVmIENPTkZJR19TQ1NJX0FDT1JOU0NTSV9UQUdHRURfUVVFVUUKQEAgLTE5NzksMTEgKzE5NzYsMTEgQEAKIHsKICAgICB1bnNpZ25lZCBpbnQgYXNyLCBzc3I7CiAKLSAgICBhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOworICAgIGFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOwogICAgIGlmICghKGFzciAmIEFTUl9JTlQpKQogCXJldHVybiBJTlRSX0lETEU7CiAKLSAgICBzc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TU1IpOworICAgIHNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCiAjaWYgKERFQlVHICYgREVCVUdfUEhBU0VTKQogICAgIHByaW50X3NiaWNfc3RhdHVzKGFzciwgc3NyLCBob3N0LT5zY3NpLnBoYXNlKTsKQEAgLTE5OTksMTUgKzE5OTYsMTUgQEAKIAlwcmludGsoS0VSTl9FUlIgInNjc2klZDogcmVzZXQgaW4gc3RhbmRhcmQgbW9kZSBidXQgd2FudGVkIGFkdmFuY2VkIG1vZGUuXG4iLAogCQlob3N0LT5ob3N0LT5ob3N0X25vKTsKIAkvKiBzZXR1cCBzYmljIC0gV0QzM0M5M0EgKi8KLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfT1dOSUQsIE9XTklEX0VBRiB8IGhvc3QtPmhvc3QtPnRoaXNfaWQpOwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19DTU5ELCBDTU5EX1JFU0VUKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX09XTklELCBPV05JRF9FQUYgfCBob3N0LT5ob3N0LT50aGlzX2lkKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIENNTkRfUkVTRVQpOwogCXJldHVybiBJTlRSX0lETEU7CiAKICAgICBjYXNlIDB4MDE6CQkJCS8qIHJlc2V0IHN0YXRlIC0gYWR2YW5jZWQJCQkqLwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19DVFJMLCBJTklUX1NCSUNETUEgfCBDVFJMX0lESSk7Ci0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1RJTUVPVVQsIFRJTUVPVVRfVElNRSk7Ci0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIFNZTkNIVFJBTlNGRVJfMkRCQSk7Ci0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NPVVJDRUlELCBTT1VSQ0VJRF9FUiB8IFNPVVJDRUlEX0RTUCk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19DVFJMLCBJTklUX1NCSUNETUEgfCBDVFJMX0lESSk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19USU1FT1VULCBUSU1FT1VUX1RJTUUpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgU1lOQ0hUUkFOU0ZFUl8yREJBKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX1NPVVJDRUlELCBTT1VSQ0VJRF9FUiB8IFNPVVJDRUlEX0RTUCk7CiAJbXNncXVldWVfZmx1c2goJmhvc3QtPnNjc2kubXNncyk7CiAJcmV0dXJuIElOVFJfSURMRTsKIApAQCAtMjAyNSwxMCArMjAyMiwxMCBAQAogCSAgICBtc2dxdWV1ZV9mbHVzaCgmaG9zdC0+c2NzaS5tc2dzKTsKIAkgICAgaG9zdC0+ZG1hLnRyYW5zZmVycmVkID0gaG9zdC0+c2NzaS5TQ3Auc2NzaV94ZmVycmVkOwogCSAgICAvKiAzM0M5MyBnaXZlcyBuZXh0IGludGVycnVwdCBpbmRpY2F0aW5nIGJ1cyBwaGFzZSAqLwotCSAgICBhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOworCSAgICBhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKIAkgICAgaWYgKCEoYXNyICYgQVNSX0lOVCkpCiAJCWJyZWFrOwotCSAgICBzc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TU1IpOworCSAgICBzc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU1NSKTsKIAkgICAgQUREX1NUQVRVUyg4LCBzc3IsIGhvc3QtPnNjc2kucGhhc2UsIDEpOwogCSAgICBBRERfU1RBVFVTKGhvc3QtPlNDcG50LT5kZXZpY2UtPmlkLCBzc3IsIGhvc3QtPnNjc2kucGhhc2UsIDEpOwogCSAgICBnb3RvIGNvbm5lY3RlZDsKQEAgLTI0NzYsMTEgKzI0NzMsMTEgQEAKICAgICBkbyB7CiAJcmV0ID0gSU5UUl9JRExFOwogCi0JaW9zdGF0dXMgPSBpbmIoaG9zdC0+Y2FyZC5pb19pbnRyKTsKKwlpb3N0YXR1cyA9IHJlYWRiKGhvc3QtPmZhc3QgKyBJTlRfUkVHKTsKIAogCWlmIChpb3N0YXR1cyAmIDIpIHsKIAkgICAgYWNvcm5zY3NpX2RtYV9pbnRyKGhvc3QpOwotCSAgICBpb3N0YXR1cyA9IGluYihob3N0LT5jYXJkLmlvX2ludHIpOworCSAgICBpb3N0YXR1cyA9IHJlYWRiKGhvc3QtPmZhc3QgKyBJTlRfUkVHKTsKIAl9CiAKIAlpZiAoaW9zdGF0dXMgJiA4KQpAQCAtMjY1NSw3ICsyNjUyLDcgQEAKIAkJICogYnVzeWx1biBiaXQuCiAJCSAqLwogCQljYXNlIFBIQVNFX0NPTk5FQ1RFRDoKLQkJCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19DTU5ELCBDTU5EX0RJU0NPTk5FQ1QpOworCQkJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19DTU5ELCBDTU5EX0RJU0NPTk5FQ1QpOwogCQkJaG9zdC0+U0NwbnQgPSBOVUxMOwogCQkJcmVzID0gcmVzX3N1Y2Nlc3NfY2xlYXI7CiAJCQlicmVhazsKQEAgLTI2OTksOCArMjY5Niw4IEBACiAjaWYgKERFQlVHICYgREVCVUdfQUJPUlQpCiAJewogCQlpbnQgYXNyLCBzc3I7Ci0JCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7Ci0JCXNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisJCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOworCQlzc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU1NSKTsKIAogCQlwcmludGsoS0VSTl9XQVJOSU5HICJhY29ybnNjc2lfYWJvcnQ6ICIpOwogCQlwcmludF9zYmljX3N0YXR1cyhhc3IsIHNzciwgaG9zdC0+c2NzaS5waGFzZSk7CkBAIC0yNzMxLDkgKzI3MjgsNyBAQAogLy8jaWYgKERFQlVHICYgREVCVUdfQUJPUlQpCiAJCXByaW50aygic3VjY2Vzc1xuIik7CiAvLyNlbmRpZgotCQlTQ3BudC0+cmVzdWx0ID0gRElEX0FCT1JUIDw8IDE2OwotCQlTQ3BudC0+c2NzaV9kb25lKFNDcG50KTsKLQkJcmVzdWx0ID0gU0NTSV9BQk9SVF9TVUNDRVNTOworCQlyZXN1bHQgPSBTVUNDRVNTOwogCQlicmVhazsKIAogCS8qCkBAIC0yNzQ1LDcgKzI3NDAsNyBAQAogLy8jaWYgKERFQlVHICYgREVCVUdfQUJPUlQpCiAJCXByaW50aygic25vb3plXG4iKTsKIC8vI2VuZGlmCi0JCXJlc3VsdCA9IFNDU0lfQUJPUlRfU05PT1pFOworCQlyZXN1bHQgPSBGQUlMRUQ7CiAJCWJyZWFrOwogCiAJLyoKQEAgLTI3NTUsMTEgKzI3NTAsNyBAQAogCWRlZmF1bHQ6CiAJY2FzZSByZXNfbm90X3J1bm5pbmc6CiAJCWFjb3Juc2NzaV9kdW1wbG9nKGhvc3QsIFNDcG50LT5kZXZpY2UtPmlkKTsKLSNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKLQkJcmVzdWx0ID0gU0NTSV9BQk9SVF9TTk9PWkU7Ci0jZWxzZQotCQlyZXN1bHQgPSBTQ1NJX0FCT1JUX05PVF9SVU5OSU5HOwotI2VuZGlmCisJCXJlc3VsdCA9IEZBSUxFRDsKIC8vI2lmIChERUJVRyAmIERFQlVHX0FCT1JUKQogCQlwcmludGsoIm5vdCBydW5uaW5nXG4iKTsKIC8vI2VuZGlmCkBAIC0yNzcwLDEzICsyNzYxLDEyIEBACiB9CiAKIC8qCi0gKiBQcm90b3R5cGU6IGludCBhY29ybnNjc2lfcmVzZXQoc3RydWN0IHNjc2lfY21uZCAqU0NwbnQsIHVuc2lnbmVkIGludCByZXNldF9mbGFncykKKyAqIFByb3RvdHlwZTogaW50IGFjb3Juc2NzaV9yZXNldChzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3BudCkKICAqIFB1cnBvc2UgIDogcmVzZXQgYSBjb21tYW5kIG9uIHRoaXMgaG9zdC9yZXNldCB0aGlzIGhvc3QKICAqIFBhcmFtcyAgIDogU0NwbnQgIC0gY29tbWFuZCBjYXVzaW5nIHJlc2V0Ci0gKgkgICAgICByZXN1bHQgLSB3aGF0IHR5cGUgb2YgcmVzZXQgdG8gcGVyZm9ybQogICogUmV0dXJucyAgOiBvbmUgb2YgU0NTSV9SRVNFVF8gbWFjcm9zCiAgKi8KLWludCBhY29ybnNjc2lfcmVzZXQoc3RydWN0IHNjc2lfY21uZCAqU0NwbnQsIHVuc2lnbmVkIGludCByZXNldF9mbGFncykKK2ludCBhY29ybnNjc2lfYnVzX3Jlc2V0KHN0cnVjdCBzY3NpX2NtbmQgKlNDcG50KQogewogCUFTX0hvc3QgKmhvc3QgPSAoQVNfSG9zdCAqKVNDcG50LT5kZXZpY2UtPmhvc3QtPmhvc3RkYXRhOwogCXN0cnVjdCBzY3NpX2NtbmQgKlNDcHRyOwpAQCAtMjc4Nyw4ICsyNzc3LDggQEAKICAgICB7CiAJaW50IGFzciwgc3NyOwogCi0JYXNyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKTsKLQlzc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TU1IpOworCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOworCXNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCiAJcHJpbnRrKEtFUk5fV0FSTklORyAiYWNvcm5zY3NpX3Jlc2V0OiAiKTsKIAlwcmludF9zYmljX3N0YXR1cyhhc3IsIHNzciwgaG9zdC0+c2NzaS5waGFzZSk7CkBAIC0yNzk4LDI4ICsyNzg4LDE2IEBACiAKICAgICBhY29ybnNjc2lfZG1hX3N0b3AoaG9zdCk7CiAKLSAgICBTQ3B0ciA9IGhvc3QtPlNDcG50OwotCiAgICAgLyoKICAgICAgKiBkbyBoYXJkIHJlc2V0LiAgVGhpcyByZXNldHMgYWxsIGRldmljZXMgb24gdGhpcyBob3N0LCBhbmQgc28gd2UKICAgICAgKiBtdXN0IHNldCB0aGUgcmVzZXQgc3RhdHVzIG9uIGFsbCBjb21tYW5kcy4KICAgICAgKi8KICAgICBhY29ybnNjc2lfcmVzZXRjYXJkKGhvc3QpOwogCi0gICAgLyoKLSAgICAgKiByZXBvcnQgcmVzZXQgb24gY29tbWFuZHMgY3VycmVudCBjb25uZWN0ZWQvZGlzY29ubmVjdGVkCi0gICAgICovCi0gICAgYWNvcm5zY3NpX3JlcG9ydHN0YXR1cygmaG9zdC0+U0NwbnQsICZTQ3B0ciwgRElEX1JFU0VUKTsKLQogICAgIHdoaWxlICgoU0NwdHIgPSBxdWV1ZV9yZW1vdmUoJmhvc3QtPnF1ZXVlcy5kaXNjb25uZWN0ZWQpKSAhPSBOVUxMKQotCWFjb3Juc2NzaV9yZXBvcnRzdGF0dXMoJlNDcHRyLCAmU0NwbnQsIERJRF9SRVNFVCk7CisJOwogCi0gICAgaWYgKFNDcG50KSB7Ci0JU0NwbnQtPnJlc3VsdCA9IERJRF9SRVNFVCA8PCAxNjsKLQlTQ3BudC0+c2NzaV9kb25lKFNDcG50KTsKLSAgICB9Ci0KLSAgICByZXR1cm4gU0NTSV9SRVNFVF9CVVNfUkVTRVQgfCBTQ1NJX1JFU0VUX0hPU1RfUkVTRVQgfCBTQ1NJX1JFU0VUX1NVQ0NFU1M7CisgICAgcmV0dXJuIFNVQ0NFU1M7CiB9CiAKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMjg1MCw3ICsyODI4LDcgQEAKICAgICAiIExJTksiCiAjZW5kaWYKICNpZiAoREVCVUcgJiBERUJVR19OT19XUklURSkKLSAgICAiIE5PV1JJVEUgKCJOT19XUklURV9TVFIiKSIKKyAgICAiIE5PV1JJVEUgKCIgX19zdHJpbmdpZnkoTk9fV1JJVEUpICIpIgogI2VuZGlmCiAJCSwgaG9zdC0+aG9zdHQtPm5hbWUsIGhvc3QtPmlvX3BvcnQsIGhvc3QtPmlycSwKIAkJVkVSX01BSk9SLCBWRVJfTUlOT1IsIFZFUl9QQVRDSCk7CkBAIC0yODgxLDE1ICsyODU5LDE1IEBACiAgICAgIiBMSU5LIgogI2VuZGlmCiAjaWYgKERFQlVHICYgREVCVUdfTk9fV1JJVEUpCi0gICAgIiBOT1dSSVRFICgiTk9fV1JJVEVfU1RSIikiCisgICAgIiBOT1dSSVRFICgiIF9fc3RyaW5naWZ5KE5PX1dSSVRFKSAiKSIKICNlbmRpZgogCQkiXG5cbiIsIFZFUl9NQUpPUiwgVkVSX01JTk9SLCBWRVJfUEFUQ0gpOwogCi0gICAgcCArPSBzcHJpbnRmKHAsCSJTQklDOiBXRDMzQzkzQSAgQWRkcmVzczogJTA4WCAgSVJRIDogJWRcbiIsCi0JCQlob3N0LT5zY3NpLmlvX3BvcnQsIGhvc3QtPnNjc2kuaXJxKTsKKyAgICBwICs9IHNwcmludGYocCwJIlNCSUM6IFdEMzNDOTNBICBBZGRyZXNzOiAlcCAgICBJUlEgOiAlZFxuIiwKKwkJCWhvc3QtPmJhc2UgKyBTQklDX1JFR0lEWCwgaG9zdC0+c2NzaS5pcnEpOwogI2lmZGVmIFVTRV9ETUFDCi0gICAgcCArPSBzcHJpbnRmKHAsCSJETUFDOiB1UEM3MTA3MSAgQWRkcmVzczogJTA4WCAgSVJRIDogJWRcblxuIiwKLQkJCWhvc3QtPmRtYS5pb19wb3J0LCBob3N0LT5zY3NpLmlycSk7CisgICAgcCArPSBzcHJpbnRmKHAsCSJETUFDOiB1UEM3MTA3MSAgQWRkcmVzczogJXAgIElSUSA6ICVkXG5cbiIsCisJCQlob3N0LT5iYXNlICsgRE1BQ19PRkZTRVQsIGhvc3QtPnNjc2kuaXJxKTsKICNlbmRpZgogCiAgICAgcCArPSBzcHJpbnRmKHAsCSJTdGF0aXN0aWNzOlxuIgpAQCAtMjk3Niw5ICsyOTU0LDggQEAKIAkubmFtZQkJCT0gIkFjb3JuU0NTSSIsCiAJLmluZm8JCQk9IGFjb3Juc2NzaV9pbmZvLAogCS5xdWV1ZWNvbW1hbmQJCT0gYWNvcm5zY3NpX3F1ZXVlY21kLAotI3dhcm5pbmcgZml4bWUKLQkuYWJvcnQJCQk9IGFjb3Juc2NzaV9hYm9ydCwKLQkucmVzZXQJCQk9IGFjb3Juc2NzaV9yZXNldCwKKwkuZWhfYWJvcnRfaGFuZGxlcgk9IGFjb3Juc2NzaV9hYm9ydCwKKwkuZWhfYnVzX3Jlc2V0X2hhbmRsZXIJPSBhY29ybnNjc2lfYnVzX3Jlc2V0LAogCS5jYW5fcXVldWUJCT0gMTYsCiAJLnRoaXNfaWQJCT0gNywKIAkuc2dfdGFibGVzaXplCQk9IFNHX0FMTCwKQEAgLTI5OTIsNDggKzI5NjksMzcgQEAKIHsKIAlzdHJ1Y3QgU2NzaV9Ib3N0ICpob3N0OwogCUFTX0hvc3QgKmFzaG9zdDsKLQlpbnQgcmV0ID0gLUVOT01FTTsKKwlpbnQgcmV0OworCisJcmV0ID0gZWNhcmRfcmVxdWVzdF9yZXNvdXJjZXMoZWMpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OwogCiAJaG9zdCA9IHNjc2lfaG9zdF9hbGxvYygmYWNvcm5zY3NpX3RlbXBsYXRlLCBzaXplb2YoQVNfSG9zdCkpOwotCWlmICghaG9zdCkKLQkJZ290byBvdXQ7CisJaWYgKCFob3N0KSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X3JlbGVhc2U7CisJfQogCiAJYXNob3N0ID0gKEFTX0hvc3QgKilob3N0LT5ob3N0ZGF0YTsKIAotCWhvc3QtPmlvX3BvcnQgPSBlY2FyZF9hZGRyZXNzKGVjLCBFQ0FSRF9NRU1DLCAwKTsKKwlhc2hvc3QtPmJhc2UgPSBlY2FyZG1faW9tYXAoZWMsIEVDQVJEX1JFU19NRU1DLCAwLCAwKTsKKwlhc2hvc3QtPmZhc3QgPSBlY2FyZG1faW9tYXAoZWMsIEVDQVJEX1JFU19JT0NGQVNULCAwLCAwKTsKKwlpZiAoIWFzaG9zdC0+YmFzZSB8fCAhYXNob3N0LT5mYXN0KQorCQlnb3RvIG91dF9wdXQ7CisKIAlob3N0LT5pcnEgPSBlYy0+aXJxOworCWFzaG9zdC0+aG9zdCA9IGhvc3Q7CisJYXNob3N0LT5zY3NpLmlycSA9IGhvc3QtPmlycTsKIAotCWFzaG9zdC0+aG9zdAkJPSBob3N0OwotCWFzaG9zdC0+c2NzaS5pb19wb3J0CT0gaW9hZGRyKGhvc3QtPmlvX3BvcnQgKyAweDgwMCk7Ci0JYXNob3N0LT5zY3NpLmlycQk9IGhvc3QtPmlycTsKLQlhc2hvc3QtPmNhcmQuaW9faW50cgk9IFBPRF9TUEFDRShob3N0LT5pb19wb3J0KSArIDB4ODAwOwotCWFzaG9zdC0+Y2FyZC5pb19wYWdlCT0gUE9EX1NQQUNFKGhvc3QtPmlvX3BvcnQpICsgMHhjMDA7Ci0JYXNob3N0LT5jYXJkLmlvX3JhbQk9IGlvYWRkcihob3N0LT5pb19wb3J0KTsKLQlhc2hvc3QtPmRtYS5pb19wb3J0CT0gaG9zdC0+aW9fcG9ydCArIDB4YzAwOwotCWFzaG9zdC0+ZG1hLmlvX2ludHJfY2xlYXIgPSBQT0RfU1BBQ0UoaG9zdC0+aW9fcG9ydCkgKyAweDgwMDsKLQotCWVjLT5pcnFhZGRyCT0gKGNoYXIgKilpb2FkZHIoYXNob3N0LT5jYXJkLmlvX2ludHIpOworCWVjLT5pcnFhZGRyCT0gYXNob3N0LT5mYXN0ICsgSU5UX1JFRzsKIAllYy0+aXJxbWFzawk9IDB4MGE7CiAKLQlyZXQgPSAtRUJVU1k7Ci0JaWYgKCFyZXF1ZXN0X3JlZ2lvbihob3N0LT5pb19wb3J0ICsgMHg4MDAsIDIsICJhY29ybnNjc2koc2JpYykiKSkKLQkJZ290byBlcnJfMTsKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGFzaG9zdC0+Y2FyZC5pb19pbnRyLCAxLCAiYWNvcm5zY3NpKGludHIpIikpCi0JCWdvdG8gZXJyXzI7Ci0JaWYgKCFyZXF1ZXN0X3JlZ2lvbihhc2hvc3QtPmNhcmQuaW9fcGFnZSwgMSwgImFjb3Juc2NzaShwYWdlKSIpKQotCQlnb3RvIGVycl8zOwotI2lmZGVmIFVTRV9ETUFDCi0JaWYgKCFyZXF1ZXN0X3JlZ2lvbihhc2hvc3QtPmRtYS5pb19wb3J0LCAyNTYsICJhY29ybnNjc2koZG1hYykiKSkKLQkJZ290byBlcnJfNDsKLSNlbmRpZgotCWlmICghcmVxdWVzdF9yZWdpb24oaG9zdC0+aW9fcG9ydCwgMjA0OCwgImFjb3Juc2NzaShyYW0pIikpCi0JCWdvdG8gZXJyXzU7Ci0KIAlyZXQgPSByZXF1ZXN0X2lycShob3N0LT5pcnEsIGFjb3Juc2NzaV9pbnRyLCBJUlFGX0RJU0FCTEVELCAiYWNvcm5zY3NpIiwgYXNob3N0KTsKIAlpZiAocmV0KSB7CiAJCXByaW50ayhLRVJOX0NSSVQgInNjc2klZDogSVJRJWQgbm90IGZyZWU6ICVkXG4iLAogCQkJaG9zdC0+aG9zdF9ubywgYXNob3N0LT5zY3NpLmlycSwgcmV0KTsKLQkJZ290byBlcnJfNjsKKwkJZ290byBvdXRfcHV0OwogCX0KIAogCW1lbXNldCgmYXNob3N0LT5zdGF0cywgMCwgc2l6ZW9mIChhc2hvc3QtPnN0YXRzKSk7CkBAIC0zMDQ1LDI3ICszMDExLDIyIEBACiAKIAlyZXQgPSBzY3NpX2FkZF9ob3N0KGhvc3QsICZlYy0+ZGV2KTsKIAlpZiAocmV0KQotCQlnb3RvIGVycl83OworCQlnb3RvIG91dF9pcnE7CiAKIAlzY3NpX3NjYW5faG9zdChob3N0KTsKIAlnb3RvIG91dDsKIAotIGVycl83OgorIG91dF9pcnE6CiAJZnJlZV9pcnEoaG9zdC0+aXJxLCBhc2hvc3QpOwotIGVycl82OgotCXJlbGVhc2VfcmVnaW9uKGhvc3QtPmlvX3BvcnQsIDIwNDgpOwotIGVycl81OgotI2lmZGVmIFVTRV9ETUFDCi0JcmVsZWFzZV9yZWdpb24oYXNob3N0LT5kbWEuaW9fcG9ydCwgMjU2KTsKLSNlbmRpZgotIGVycl80OgotCXJlbGVhc2VfcmVnaW9uKGFzaG9zdC0+Y2FyZC5pb19wYWdlLCAxKTsKLSBlcnJfMzoKLQlyZWxlYXNlX3JlZ2lvbihhc2hvc3QtPmNhcmQuaW9faW50ciwgMSk7ICAgIAotIGVycl8yOgotCXJlbGVhc2VfcmVnaW9uKGhvc3QtPmlvX3BvcnQgKyAweDgwMCwgMik7Ci0gZXJyXzE6CisJbXNncXVldWVfZnJlZSgmYXNob3N0LT5zY3NpLm1zZ3MpOworCXF1ZXVlX2ZyZWUoJmFzaG9zdC0+cXVldWVzLmRpc2Nvbm5lY3RlZCk7CisJcXVldWVfZnJlZSgmYXNob3N0LT5xdWV1ZXMuaXNzdWUpOworIG91dF9wdXQ6CisJZWNhcmRtX2lvdW5tYXAoZWMsIGFzaG9zdC0+ZmFzdCk7CisJZWNhcmRtX2lvdW5tYXAoZWMsIGFzaG9zdC0+YmFzZSk7CiAJc2NzaV9ob3N0X3B1dChob3N0KTsKKyBvdXRfcmVsZWFzZToKKwllY2FyZF9yZWxlYXNlX3Jlc291cmNlcyhlYyk7CiAgb3V0OgogCXJldHVybiByZXQ7CiB9CkBAIC0zMDgxLDIwICszMDQyLDE3IEBACiAJLyoKIAkgKiBQdXQgY2FyZCBpbnRvIFJFU0VUIHN0YXRlCiAJICovCi0Jb3V0YigweDgwLCBhc2hvc3QtPmNhcmQuaW9fcGFnZSk7CisJd3JpdGViKDB4ODAsIGFzaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogCWZyZWVfaXJxKGhvc3QtPmlycSwgYXNob3N0KTsKIAotCXJlbGVhc2VfcmVnaW9uKGhvc3QtPmlvX3BvcnQgKyAweDgwMCwgMik7Ci0JcmVsZWFzZV9yZWdpb24oYXNob3N0LT5jYXJkLmlvX2ludHIsIDEpOwotCXJlbGVhc2VfcmVnaW9uKGFzaG9zdC0+Y2FyZC5pb19wYWdlLCAxKTsKLQlyZWxlYXNlX3JlZ2lvbihhc2hvc3QtPmRtYS5pb19wb3J0LCAyNTYpOwotCXJlbGVhc2VfcmVnaW9uKGhvc3QtPmlvX3BvcnQsIDIwNDgpOwotCiAJbXNncXVldWVfZnJlZSgmYXNob3N0LT5zY3NpLm1zZ3MpOwogCXF1ZXVlX2ZyZWUoJmFzaG9zdC0+cXVldWVzLmRpc2Nvbm5lY3RlZCk7CiAJcXVldWVfZnJlZSgmYXNob3N0LT5xdWV1ZXMuaXNzdWUpOworCWVjYXJkbV9pb3VubWFwKGVjLCBhc2hvc3QtPmZhc3QpOworCWVjYXJkbV9pb3VubWFwKGVjLCBhc2hvc3QtPmJhc2UpOwogCXNjc2lfaG9zdF9wdXQoaG9zdCk7CisJZWNhcmRfcmVsZWFzZV9yZXNvdXJjZXMoZWMpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGVjYXJkX2lkIGFjb3Juc2NzaV9jaWRzW10gPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5oIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuaAppbmRleCBkMTE0MjRiLi44ZDIxNzJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5oCisrKyBiL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmgKQEAgLTE3OSw3ICsxNzksNiBAQAogCiAvKiBtaXNjZWxsYW5lb3VzIGludGVybmFsIHZhcmlhYmxlcyAqLwogCi0jZGVmaW5lIFBPRF9TUEFDRSh4KQkoKHgpICsgMHhkMDAwMCkKICNkZWZpbmUgTUFTS19PTgkJKE1BU0tSRUdfTTN8TUFTS1JFR19NMnxNQVNLUkVHX00xfE1BU0tSRUdfTTApCiAjZGVmaW5lIE1BU0tfT0ZGCShNQVNLUkVHX00zfE1BU0tSRUdfTTJ8TUFTS1JFR19NMSkKIApAQCAtMjc5LDEwICsyNzgsMTEgQEAKICAgICBzdHJ1Y3QgU2NzaV9Ib3N0CSpob3N0OwkJCS8qIGhvc3QJCQkJCSovCiAgICAgc3RydWN0IHNjc2lfY21uZAkqU0NwbnQ7CQkJLyogY3VycmVudGx5IHByb2Nlc3NpbmcgY29tbWFuZAkJKi8KICAgICBzdHJ1Y3Qgc2NzaV9jbW5kCSpvcmlnU0NwbnQ7CQkvKiBvcmlnaW5hbCBjb25uZWN0aW5nIGNvbW1hbmQJCSovCisgICAgdm9pZCBfX2lvbWVtCSpiYXNlOwkJCS8qIG1lbWMgYmFzZSBhZGRyZXNzIAkJCSovCisgICAgdm9pZCBfX2lvbWVtCSpmYXN0OwkJCS8qIGZhc3QgaW9jIGJhc2UgYWRkcmVzcwkJKi8KIAogICAgIC8qIGRyaXZlciBpbmZvcm1hdGlvbiAqLwogICAgIHN0cnVjdCB7Ci0JdW5zaWduZWQgaW50CWlvX3BvcnQ7CQkvKiBiYXNlIGFkZHJlc3Mgb2YgV0QzM0M5MwkJKi8KIAl1bnNpZ25lZCBpbnQJaXJxOwkJCS8qIGludGVycnVwdAkJCQkqLwogCXBoYXNlX3QJCXBoYXNlOwkJCS8qIGN1cnJlbnQgcGhhc2UJCQkqLwogCkBAIC0zMjksOCArMzI5LDYgQEAKIAogICAgIC8qIERNQSBpbmZvICovCiAgICAgc3RydWN0IHsKLQl1bnNpZ25lZCBpbnQJaW9fcG9ydDsJCS8qIGJhc2UgYWRkcmVzcyBvZiBETUEgY29udHJvbGxlcgkqLwotCXVuc2lnbmVkIGludAlpb19pbnRyX2NsZWFyOwkJLyogYWRkcmVzcyBvZiBETUEgaW50ZXJydXB0IGNsZWFyCSovCiAJdW5zaWduZWQgaW50CWZyZWVfYWRkcjsJCS8qIG5leHQgZnJlZSBhZGRyZXNzCQkJKi8KIAl1bnNpZ25lZCBpbnQJc3RhcnRfYWRkcjsJCS8qIHN0YXJ0IGFkZHJlc3Mgb2YgY3VycmVudCB0cmFuc2ZlcgkqLwogCWRtYWRpcl90CWRpcmVjdGlvbjsJCS8qIGRtYSBkaXJlY3Rpb24JCQkqLwpAQCAtMzQ1LDkgKzM0Myw2IEBACiAKICAgICAvKiBjYXJkIGluZm8gKi8KICAgICBzdHJ1Y3QgewotCXVuc2lnbmVkIGludAlpb19pbnRyOwkJLyogYmFzZSBhZGRyZXNzIG9mIGludGVycnVwdCBpZCByZWcJKi8KLQl1bnNpZ25lZCBpbnQJaW9fcGFnZTsJCS8qIGJhc2UgYWRkcmVzcyBvZiBwYWdlIHJlZwkJKi8KLQl1bnNpZ25lZCBpbnQJaW9fcmFtOwkJCS8qIGJhc2UgYWRkcmVzcyBvZiBSQU0gYWNjZXNzCQkqLwogCXVuc2lnbmVkIGNoYXIJcGFnZV9yZWc7CQkvKiBjdXJyZW50IHNldHRpbmcgb2YgcGFnZSByZWcJCSovCiAgICAgfSBjYXJkOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvY2guYyBiL2RyaXZlcnMvc2NzaS9jaC5jCmluZGV4IGM0YjkzOGIuLmFhMjAxMWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9jaC5jCisrKyBiL2RyaXZlcnMvc2NzaS9jaC5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8bGludXgvY2hpby5oPgkJCS8qIGhlcmUgYXJlIGFsbCB0aGUgaW9jdGxzICovCiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9pZHIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8c2NzaS9zY3NpLmg+CiAjaW5jbHVkZSA8c2NzaS9zY3NpX2NtbmQuaD4KQEAgLTU3MSwxNiArNTcyLDE5IEBACiAJc2NzaV9jaGFuZ2VyICpjaDsKIAlpbnQgbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJmNoX2luZGV4X2xvY2spOwogCWNoID0gaWRyX2ZpbmQoJmNoX2luZGV4X2lkciwgbWlub3IpOwogCiAJaWYgKE5VTEwgPT0gY2ggfHwgc2NzaV9kZXZpY2VfZ2V0KGNoLT5kZXZpY2UpKSB7CiAJCXNwaW5fdW5sb2NrKCZjaF9pbmRleF9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOWElPOwogCX0KIAlzcGluX3VubG9jaygmY2hfaW5kZXhfbG9jayk7CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBjaDsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9kcHRfaTJvLmMgYi9kcml2ZXJzL3Njc2kvZHB0X2kyby5jCmluZGV4IDg1MDg4MTYuLjJiYzMwZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9kcHRfaTJvLmMKKysrIGIvZHJpdmVycy9zY3NpL2RwdF9pMm8uYwpAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgkvKiBmb3IgcHJpbnRrICovCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KIApAQCAtMTcyNywxMCArMTcyOCwxMiBAQAogCWludCBtaW5vcjsKIAlhZHB0X2hiYSogcEhiYTsKIAorCWxvY2tfa2VybmVsKCk7CiAJLy9UT0RPIGNoZWNrIGZvciByb290IGFjY2VzcwogCS8vCiAJbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCWlmIChtaW5vciA+PSBoYmFfY291bnQpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOWElPOwogCX0KIAltdXRleF9sb2NrKCZhZHB0X2NvbmZpZ3VyYXRpb25fbG9jayk7CkBAIC0xNzQxLDYgKzE3NDQsNyBAQAogCX0KIAlpZiAocEhiYSA9PSBOVUxMKSB7CiAJCW11dGV4X3VubG9jaygmYWRwdF9jb25maWd1cmF0aW9uX2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87CiAJfQogCkBAIC0xNzUxLDYgKzE3NTUsNyBAQAogCiAJcEhiYS0+aW5fdXNlID0gMTsKIAltdXRleF91bmxvY2soJmFkcHRfY29uZmlndXJhdGlvbl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9nZHRoLmMgYi9kcml2ZXJzL3Njc2kvZ2R0aC5jCmluZGV4IDQ2NzcxZDQuLjgyMmQ1MjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9nZHRoLmMKKysrIGIvZHJpdmVycy9zY3NpL2dkdGguYwpAQCAtMTIwLDYgKzEyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaWZkZWYgR0RUSF9SVEMKICNpbmNsdWRlIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPgpAQCAtNDAxOSwxMCArNDAyMCwxMiBAQAogewogICAgIGdkdGhfaGFfc3RyICpoYTsKIAorICAgIGxvY2tfa2VybmVsKCk7CiAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShoYSwgJmdkdGhfaW5zdGFuY2VzLCBsaXN0KSB7CiAgICAgICAgIGlmICghaGEtPnNkZXYpCiAgICAgICAgICAgICBoYS0+c2RldiA9IHNjc2lfZ2V0X2hvc3RfZGV2KGhhLT5zaG9zdCk7CiAgICAgfQorICAgIHVubG9ja19rZXJuZWwoKTsKIAogICAgIFRSQUNFKCgiZ2R0aF9vcGVuKClcbiIpKTsKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9pZGUtc2NzaS5jIGIvZHJpdmVycy9zY3NpL2lkZS1zY3NpLmMKaW5kZXggNDRkOGQ1MS4uNjgzYmNlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2lkZS1zY3NpLmMKKysrIGIvZHJpdmVycy9zY3NpL2lkZS1zY3NpLmMKQEAgLTYwLDYgKzYwLDEzIEBACiAKICNkZWZpbmUgSURFU0NTSV9ERUJVR19MT0cJCTAKIAorI2lmIElERVNDU0lfREVCVUdfTE9HCisjZGVmaW5lIGRlYnVnX2xvZyhmbXQsIGFyZ3MuLi4pIFwKKwlwcmludGsoS0VSTl9JTkZPICJpZGUtc2NzaTogIiBmbXQsICMjIGFyZ3MpCisjZWxzZQorI2RlZmluZSBkZWJ1Z19sb2coZm10LCBhcmdzLi4uKSBkbyB7fSB3aGlsZSAoMCkKKyNlbmRpZgorCiAvKgogICoJU0NTSSBjb21tYW5kIHRyYW5zZm9ybWF0aW9uIGxheWVyCiAgKi8KQEAgLTEyOSwxNCArMTM2LDE1IEBACiAjZGVmaW5lIElERVNDU0lfUENfUlEJCQk5MAogCiAvKgotICoJUElPIGRhdGEgdHJhbnNmZXIgcm91dGluZXMgdXNpbmcgdGhlIHNjYXR0ZXIgZ2F0aGVyIHRhYmxlLgorICoJUElPIGRhdGEgdHJhbnNmZXIgcm91dGluZSB1c2luZyB0aGUgc2NhdHRlciBnYXRoZXIgdGFibGUuCiAgKi8KLXN0YXRpYyB2b2lkIGlkZXNjc2lfaW5wdXRfYnVmZmVycyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAotCQl1bnNpZ25lZCBpbnQgYmNvdW50KQorc3RhdGljIHZvaWQgaWRlX3Njc2lfaW9fYnVmZmVycyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAorCQkJCXVuc2lnbmVkIGludCBiY291bnQsIGludCB3cml0ZSkKIHsKIAlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7Ci0JaW50IGNvdW50OworCXhmZXJfZnVuY190ICp4ZiA9IHdyaXRlID8gaHdpZi0+b3V0cHV0X2RhdGEgOiBod2lmLT5pbnB1dF9kYXRhOwogCWNoYXIgKmJ1ZjsKKwlpbnQgY291bnQ7CiAKIAl3aGlsZSAoYmNvdW50KSB7CiAJCWNvdW50ID0gbWluKHBjLT5zZy0+bGVuZ3RoIC0gcGMtPmJfY291bnQsIGJjb3VudCk7CkBAIC0xNDUsMTMgKzE1MywxMyBAQAogCiAJCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJCQlidWYgPSBrbWFwX2F0b21pYyhzZ19wYWdlKHBjLT5zZyksIEtNX0lSUTApICsKLQkJCQkJcGMtPnNnLT5vZmZzZXQ7Ci0JCQlod2lmLT5pbnB1dF9kYXRhKGRyaXZlLCBOVUxMLCBidWYgKyBwYy0+Yl9jb3VudCwgY291bnQpOworCQkJCQkgIHBjLT5zZy0+b2Zmc2V0OworCQkJeGYoZHJpdmUsIE5VTEwsIGJ1ZiArIHBjLT5iX2NvdW50LCBjb3VudCk7CiAJCQlrdW5tYXBfYXRvbWljKGJ1ZiAtIHBjLT5zZy0+b2Zmc2V0LCBLTV9JUlEwKTsKIAkJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIAkJfSBlbHNlIHsKIAkJCWJ1ZiA9IHNnX3ZpcnQocGMtPnNnKTsKLQkJCWh3aWYtPmlucHV0X2RhdGEoZHJpdmUsIE5VTEwsIGJ1ZiArIHBjLT5iX2NvdW50LCBjb3VudCk7CisJCQl4Zihkcml2ZSwgTlVMTCwgYnVmICsgcGMtPmJfY291bnQsIGNvdW50KTsKIAkJfQogCQliY291bnQgLT0gY291bnQ7IHBjLT5iX2NvdW50ICs9IGNvdW50OwogCQlpZiAocGMtPmJfY291bnQgPT0gcGMtPnNnLT5sZW5ndGgpIHsKQEAgLTE2Myw0NSArMTcxLDEwIEBACiAJfQogCiAJaWYgKGJjb3VudCkgewotCQlwcmludGsgKEtFUk5fRVJSICJpZGUtc2NzaTogc2NhdHRlciBnYXRoZXIgdGFibGUgdG9vIHNtYWxsLCBkaXNjYXJkaW5nIGRhdGFcbiIpOwotCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCAwLCBiY291bnQpOwotCX0KLX0KLQotc3RhdGljIHZvaWQgaWRlc2NzaV9vdXRwdXRfYnVmZmVycyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAotCQl1bnNpZ25lZCBpbnQgYmNvdW50KQotewotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlpbnQgY291bnQ7Ci0JY2hhciAqYnVmOwotCi0Jd2hpbGUgKGJjb3VudCkgewotCQljb3VudCA9IG1pbihwYy0+c2ctPmxlbmd0aCAtIHBjLT5iX2NvdW50LCBiY291bnQpOwotCQlpZiAoUGFnZUhpZ2hNZW0oc2dfcGFnZShwYy0+c2cpKSkgewotCQkJdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCQkJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCQkJYnVmID0ga21hcF9hdG9taWMoc2dfcGFnZShwYy0+c2cpLCBLTV9JUlEwKSArCi0JCQkJCQlwYy0+c2ctPm9mZnNldDsKLQkJCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBidWYgKyBwYy0+Yl9jb3VudCwgY291bnQpOwotCQkJa3VubWFwX2F0b21pYyhidWYgLSBwYy0+c2ctPm9mZnNldCwgS01fSVJRMCk7Ci0JCQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci0JCX0gZWxzZSB7Ci0JCQlidWYgPSBzZ192aXJ0KHBjLT5zZyk7Ci0JCQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgYnVmICsgcGMtPmJfY291bnQsIGNvdW50KTsKLQkJfQotCQliY291bnQgLT0gY291bnQ7IHBjLT5iX2NvdW50ICs9IGNvdW50OwotCQlpZiAocGMtPmJfY291bnQgPT0gcGMtPnNnLT5sZW5ndGgpIHsKLQkJCWlmICghLS1wYy0+c2dfY250KQotCQkJCWJyZWFrOwotCQkJcGMtPnNnID0gc2dfbmV4dChwYy0+c2cpOwotCQkJcGMtPmJfY291bnQgPSAwOwotCQl9Ci0JfQotCi0JaWYgKGJjb3VudCkgewotCQlwcmludGsgKEtFUk5fRVJSICJpZGUtc2NzaTogc2NhdHRlciBnYXRoZXIgdGFibGUgdG9vIHNtYWxsLCBwYWRkaW5nIHdpdGggemVyb3NcbiIpOwotCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCAxLCBiY291bnQpOworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBzY2F0dGVyIGdhdGhlciB0YWJsZSB0b28gc21hbGwsICVzXG4iLAorCQkJCWRyaXZlLT5uYW1lLCB3cml0ZSA/ICJwYWRkaW5nIHdpdGggemVyb3MiCisJCQkJCQkgICA6ICJkaXNjYXJkaW5nIGRhdGEiKTsKKwkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgd3JpdGUsIGJjb3VudCk7CiAJfQogfQogCkBAIC0yMTAsNiArMTgzLDI0IEBACiAJcHJpbnRfaGV4X2R1bXAoS0VSTl9DT05ULCAiIiwgRFVNUF9QUkVGSVhfTk9ORSwgMTYsIDEsIGRhdGEsIGxlbiwgMCk7CiB9CiAKK3N0YXRpYyBpbnQgaWRlc2NzaV9lbmRfcmVxdWVzdChpZGVfZHJpdmVfdCAqLCBpbnQsIGludCk7CisKK3N0YXRpYyB2b2lkIGlkZV9zY3NpX2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKK3sKKwlpZGVzY3NpX3Njc2lfdCAqc2NzaSA9IGRyaXZlX3RvX2lkZXNjc2koZHJpdmUpOworCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gc2NzaS0+cGM7CisKKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19USU1FRE9VVCkKKwkJZGVidWdfbG9nKCIlczogZ290IHRpbWVkIG91dCBwYWNrZXQgJWx1IGF0ICVsdVxuIiwgX19mdW5jX18sCisJCQkgIHBjLT5zY3NpX2NtZC0+c2VyaWFsX251bWJlciwgamlmZmllcyk7CisJCS8qIGVuZCB0aGlzIHJlcXVlc3Qgbm93IC0gc2NzaSBzaG91bGQgcmV0cnkgaXQqLworCWVsc2UgaWYgKHRlc3RfYml0KElERVNDU0lfTE9HX0NNRCwgJnNjc2ktPmxvZykpCisJCXByaW50ayhLRVJOX0lORk8gIlBhY2tldCBjb21tYW5kIGNvbXBsZXRlZCwgJWQgYnl0ZXMiCisJCQkJICIgdHJhbnNmZXJyZWRcbiIsIHBjLT54ZmVycmVkKTsKKworCWlkZXNjc2lfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOworfQorCiBzdGF0aWMgaW50IGlkZXNjc2lfY2hlY2tfY29uZGl0aW9uKGlkZV9kcml2ZV90ICpkcml2ZSwKIAkJc3RydWN0IHJlcXVlc3QgKmZhaWxlZF9jbWQpCiB7CkBAIC0yMjgsMTQgKzIxOSwxNiBAQAogCQlrZnJlZShwYyk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KLQlpZGVfaW5pdF9kcml2ZV9jbWQocnEpOworCWJsa19ycV9pbml0KE5VTEwsIHJxKTsKIAlycS0+c3BlY2lhbCA9IChjaGFyICopIHBjOwogCXBjLT5ycSA9IHJxOwogCXBjLT5idWYgPSBidWY7CiAJcGMtPmNbMF0gPSBSRVFVRVNUX1NFTlNFOwogCXBjLT5jWzRdID0gcGMtPnJlcV94ZmVyID0gcGMtPmJ1Zl9zaXplID0gU0NTSV9TRU5TRV9CVUZGRVJTSVpFOwogCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NFTlNFOworCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX1BSRUVNUFQ7CiAJcGMtPnRpbWVvdXQgPSBqaWZmaWVzICsgV0FJVF9SRUFEWTsKKwlwYy0+Y2FsbGJhY2sgPSBpZGVfc2NzaV9jYWxsYmFjazsKIAkvKiBOT1RFISBTYXZlIHRoZSBmYWlsZWQgcGFja2V0IGNvbW1hbmQgaW4gInJxLT5idWZmZXIiICovCiAJcnEtPmJ1ZmZlciA9ICh2b2lkICopIGZhaWxlZF9jbWQtPnNwZWNpYWw7CiAJcGMtPnNjc2lfY21kID0gKChzdHJ1Y3QgaWRlX2F0YXBpX3BjICopIGZhaWxlZF9jbWQtPnNwZWNpYWwpLT5zY3NpX2NtZDsKQEAgLTI0NCwxMSArMjM3LDEwIEBACiAJCWlkZV9zY3NpX2hleF9kdW1wKHBjLT5jLCA2KTsKIAl9CiAJcnEtPnJxX2Rpc2sgPSBzY3NpLT5kaXNrOwotCXJldHVybiBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSwgaWRlX3ByZWVtcHQpOworCWlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxKTsKKwlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBpZGVzY3NpX2VuZF9yZXF1ZXN0KGlkZV9kcml2ZV90ICosIGludCwgaW50KTsKLQogc3RhdGljIGlkZV9zdGFydHN0b3BfdAogaWRlc2NzaV9hdGFwaV9lcnJvcihpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSwgdTggc3RhdCwgdTggZXJyKQogewpAQCAtMjU2LDcgKzI0OCw3IEBACiAKIAlpZiAoaWRlX3JlYWRfc3RhdHVzKGRyaXZlKSAmIChCVVNZX1NUQVQgfCBEUlFfU1RBVCkpCiAJCS8qIGZvcmNlIGFuIGFib3J0ICovCi0JCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fSURMRUlNTUVESUFURSwKKwkJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX0lETEVJTU1FRElBVEUsCiAJCQkgICAgICAgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAogCXJxLT5lcnJvcnMrKzsKQEAgLTI2OSwxMCArMjYxLDkgQEAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QKIGlkZXNjc2lfYXRhcGlfYWJvcnQoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCiB7Ci0jaWYgSURFU0NTSV9ERUJVR19MT0cKLQlwcmludGsoS0VSTl9XQVJOSU5HICJpZGVzY3NpX2F0YXBpX2Fib3J0IGNhbGxlZCBmb3IgJWx1XG4iLAorCWRlYnVnX2xvZygiJXMgY2FsbGVkIGZvciAlbHVcbiIsIF9fZnVuY19fLAogCQkoKHN0cnVjdCBpZGVfYXRhcGlfcGMgKikgcnEtPnNwZWNpYWwpLT5zY3NpX2NtZC0+c2VyaWFsX251bWJlcik7Ci0jZW5kaWYKKwogCXJxLT5lcnJvcnMgfD0gRVJST1JfTUFYOwogCiAJaWRlc2NzaV9lbmRfcmVxdWVzdChkcml2ZSwgMCwgMCk7CkBAIC0zNTEsOSArMzQyLDkgQEAKIAlpZGVzY3NpX3Njc2lfdCAqc2NzaSA9IGRyaXZlX3RvX2lkZXNjc2koZHJpdmUpOwogCXN0cnVjdCBpZGVfYXRhcGlfcGMgICAqcGMgICA9IHNjc2ktPnBjOwogCi0jaWYgSURFU0NTSV9ERUJVR19MT0cKLQlwcmludGsoS0VSTl9XQVJOSU5HICJpZGVzY3NpX2V4cGlyeSBjYWxsZWQgZm9yICVsdSBhdCAlbHVcbiIsIHBjLT5zY3NpX2NtZC0+c2VyaWFsX251bWJlciwgamlmZmllcyk7Ci0jZW5kaWYKKwlkZWJ1Z19sb2coIiVzIGNhbGxlZCBmb3IgJWx1IGF0ICVsdVxuIiwgX19mdW5jX18sCisJCSAgcGMtPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyLCBqaWZmaWVzKTsKKwogCXBjLT5mbGFncyB8PSBQQ19GTEFHX1RJTUVET1VUOwogCiAJcmV0dXJuIDA7CQkJCQkvKiB3ZSBkbyBub3Qgd2FudCB0aGUgaWRlIHN1YnN5c3RlbSB0byByZXRyeSAqLwpAQCAtMzY1LDE0MSArMzU2LDE5IEBACiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXNjc2lfcGNfaW50ciAoaWRlX2RyaXZlX3QgKmRyaXZlKQogewogCWlkZXNjc2lfc2NzaV90ICpzY3NpID0gZHJpdmVfdG9faWRlc2NzaShkcml2ZSk7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gc2NzaS0+cGM7Ci0Jc3RydWN0IHJlcXVlc3QgKnJxID0gcGMtPnJxOwotCXVuc2lnbmVkIGludCB0ZW1wOwotCXUxNiBiY291bnQ7Ci0JdTggc3RhdCwgaXJlYXNvbjsKIAotI2lmIElERVNDU0lfREVCVUdfTE9HCi0JcHJpbnRrIChLRVJOX0lORk8gImlkZS1zY3NpOiBSZWFjaGVkIGlkZXNjc2lfcGNfaW50ciBpbnRlcnJ1cHQgaGFuZGxlclxuIik7Ci0jZW5kaWYgLyogSURFU0NTSV9ERUJVR19MT0cgKi8KLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1RJTUVET1VUKSB7Ci0jaWYgSURFU0NTSV9ERUJVR19MT0cKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiaWRlc2NzaV9wY19pbnRyOiBnb3QgdGltZWQgb3V0IHBhY2tldCAgJWx1IGF0ICVsdVxuIiwKLQkJCQlwYy0+c2NzaV9jbWQtPnNlcmlhbF9udW1iZXIsIGppZmZpZXMpOwotI2VuZGlmCi0JCS8qIGVuZCB0aGlzIHJlcXVlc3Qgbm93IC0gc2NzaSBzaG91bGQgcmV0cnkgaXQqLwotCQlpZGVzY3NpX2VuZF9yZXF1ZXN0IChkcml2ZSwgMSwgMCk7Ci0JCXJldHVybiBpZGVfc3RvcHBlZDsKLQl9Ci0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0jaWYgSURFU0NTSV9ERUJVR19MT0cKLQkJcHJpbnRrICgiaWRlLXNjc2k6ICVzOiBETUEgY29tcGxldGVcbiIsIGRyaXZlLT5uYW1lKTsKLSNlbmRpZiAvKiBJREVTQ1NJX0RFQlVHX0xPRyAqLwotCQlwYy0+eGZlcnJlZCA9IHBjLT5yZXFfeGZlcjsKLQkJKHZvaWQpaHdpZi0+ZG1hX29wcy0+ZG1hX2VuZChkcml2ZSk7Ci0JfQotCi0JLyogQ2xlYXIgdGhlIGludGVycnVwdCAqLwotCXN0YXQgPSBpZGVfcmVhZF9zdGF0dXMoZHJpdmUpOwotCi0JaWYgKChzdGF0ICYgRFJRX1NUQVQpID09IDApIHsKLQkJLyogTm8gbW9yZSBpbnRlcnJ1cHRzICovCi0JCWlmICh0ZXN0X2JpdChJREVTQ1NJX0xPR19DTUQsICZzY3NpLT5sb2cpKQotCQkJcHJpbnRrKEtFUk5fSU5GTyAiUGFja2V0IGNvbW1hbmQgY29tcGxldGVkLCAlZCBieXRlcyIKLQkJCQkJIiB0cmFuc2ZlcnJlZFxuIiwgcGMtPnhmZXJyZWQpOwotCQlsb2NhbF9pcnFfZW5hYmxlX2luX2hhcmRpcnEoKTsKLQkJaWYgKHN0YXQgJiBFUlJfU1RBVCkKLQkJCXJxLT5lcnJvcnMrKzsKLQkJaWRlc2NzaV9lbmRfcmVxdWVzdCAoZHJpdmUsIDEsIDApOwotCQlyZXR1cm4gaWRlX3N0b3BwZWQ7Ci0JfQotCWJjb3VudCA9IChod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhaF9hZGRyKSA8PCA4KSB8Ci0JCSAgaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYW1fYWRkcik7Ci0JaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQotCWlmIChpcmVhc29uICYgQ0QpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtc2NzaTogQ29EICE9IDAgaW4gaWRlc2NzaV9wY19pbnRyXG4iKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldCAoZHJpdmUpOwotCX0KLQlpZiAoaXJlYXNvbiAmIElPKSB7Ci0JCXRlbXAgPSBwYy0+eGZlcnJlZCArIGJjb3VudDsKLQkJaWYgKHRlbXAgPiBwYy0+cmVxX3hmZXIpIHsKLQkJCWlmICh0ZW1wID4gcGMtPmJ1Zl9zaXplKSB7Ci0JCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtc2NzaTogVGhlIHNjc2kgd2FudHMgdG8gIgotCQkJCQkic2VuZCB1cyBtb3JlIGRhdGEgdGhhbiBleHBlY3RlZCAiCi0JCQkJCSItIGRpc2NhcmRpbmcgZGF0YVxuIik7Ci0JCQkJdGVtcCA9IHBjLT5idWZfc2l6ZSAtIHBjLT54ZmVycmVkOwotCQkJCWlmICh0ZW1wKSB7Ci0JCQkJCXBjLT5mbGFncyAmPSB+UENfRkxBR19XUklUSU5HOwotCQkJCQlpZiAocGMtPnNnKQotCQkJCQkJaWRlc2NzaV9pbnB1dF9idWZmZXJzKGRyaXZlLCBwYywKLQkJCQkJCQkJCXRlbXApOwotCQkJCQllbHNlCi0JCQkJCQlod2lmLT5pbnB1dF9kYXRhKGRyaXZlLCBOVUxMLAotCQkJCQkJCXBjLT5jdXJfcG9zLCB0ZW1wKTsKLQkJCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtc2NzaTogdHJhbnNmZXJyZWQiCi0JCQkJCQkJIiAlZCBvZiAlZCBieXRlc1xuIiwKLQkJCQkJCQl0ZW1wLCBiY291bnQpOwotCQkJCX0KLQkJCQlwYy0+eGZlcnJlZCArPSB0ZW1wOwotCQkJCXBjLT5jdXJfcG9zICs9IHRlbXA7Ci0JCQkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgMCwgYmNvdW50IC0gdGVtcCk7Ci0JCQkJaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRlc2NzaV9wY19pbnRyLCBnZXRfdGltZW91dChwYyksIGlkZXNjc2lfZXhwaXJ5KTsKLQkJCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JCQl9Ci0jaWYgSURFU0NTSV9ERUJVR19MT0cKLQkJCXByaW50ayAoS0VSTl9OT1RJQ0UgImlkZS1zY3NpOiBUaGUgc2NzaSB3YW50cyB0byBzZW5kIHVzIG1vcmUgZGF0YSB0aGFuIGV4cGVjdGVkIC0gYWxsb3dpbmcgdHJhbnNmZXJcbiIpOwotI2VuZGlmIC8qIElERVNDU0lfREVCVUdfTE9HICovCi0JCX0KLQl9Ci0JaWYgKGlyZWFzb24gJiBJTykgewotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfV1JJVElORzsKLQkJaWYgKHBjLT5zZykKLQkJCWlkZXNjc2lfaW5wdXRfYnVmZmVycyhkcml2ZSwgcGMsIGJjb3VudCk7Ci0JCWVsc2UKLQkJCWh3aWYtPmlucHV0X2RhdGEoZHJpdmUsIE5VTEwsIHBjLT5jdXJfcG9zLCBiY291bnQpOwotCX0gZWxzZSB7Ci0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dSSVRJTkc7Ci0JCWlmIChwYy0+c2cpCi0JCQlpZGVzY3NpX291dHB1dF9idWZmZXJzKGRyaXZlLCBwYywgYmNvdW50KTsKLQkJZWxzZQotCQkJaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIHBjLT5jdXJfcG9zLCBiY291bnQpOwotCX0KLQkvKiBVcGRhdGUgdGhlIGN1cnJlbnQgcG9zaXRpb24gKi8KLQlwYy0+eGZlcnJlZCArPSBiY291bnQ7Ci0JcGMtPmN1cl9wb3MgKz0gYmNvdW50OwotCi0JLyogQW5kIHNldCB0aGUgaW50ZXJydXB0IGhhbmRsZXIgYWdhaW4gKi8KLQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGVzY3NpX3BjX2ludHIsIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3BjX2ludHIoZHJpdmUsIHBjLCBpZGVzY3NpX3BjX2ludHIsIGdldF90aW1lb3V0KHBjKSwKKwkJCSAgIGlkZXNjc2lfZXhwaXJ5LCBOVUxMLCBOVUxMLCBOVUxMLAorCQkJICAgaWRlX3Njc2lfaW9fYnVmZmVycyk7CiB9CiAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRlc2NzaV90cmFuc2Zlcl9wYyhpZGVfZHJpdmVfdCAqZHJpdmUpCiB7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCWlkZXNjc2lfc2NzaV90ICpzY3NpID0gZHJpdmVfdG9faWRlc2NzaShkcml2ZSk7Ci0Jc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBzY3NpLT5wYzsKLQlpZGVfc3RhcnRzdG9wX3Qgc3RhcnRzdG9wOwotCXU4IGlyZWFzb247CiAKLQlpZiAoaWRlX3dhaXRfc3RhdCgmc3RhcnRzdG9wLGRyaXZlLERSUV9TVEFULEJVU1lfU1RBVCxXQUlUX1JFQURZKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiBTdHJhbmdlLCBwYWNrZXQgY29tbWFuZCAiCi0JCQkiaW5pdGlhdGVkIHlldCBEUlEgaXNuJ3QgYXNzZXJ0ZWRcbiIpOwotCQlyZXR1cm4gc3RhcnRzdG9wOwotCX0KLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCWlmICgoaXJlYXNvbiAmIENEKSA9PSAwIHx8IChpcmVhc29uICYgSU8pKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXNjc2k6IChJTyxDb0QpICE9ICgwLDEpIHdoaWxlICIKLQkJCQkiaXNzdWluZyBhIHBhY2tldCBjb21tYW5kXG4iKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldCAoZHJpdmUpOwotCX0KLQlCVUdfT04oSFdHUk9VUChkcml2ZSktPmhhbmRsZXIgIT0gTlVMTCk7Ci0JLyogU2V0IHRoZSBpbnRlcnJ1cHQgcm91dGluZSAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXNjc2lfcGNfaW50ciwgZ2V0X3RpbWVvdXQocGMpLCBpZGVzY3NpX2V4cGlyeSk7Ci0KLQkvKiBTZW5kIHRoZSBhY3R1YWwgcGFja2V0ICovCi0JaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIHNjc2ktPnBjLT5jLCAxMik7Ci0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfT0spIHsKLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotCQlod2lmLT5kbWFfb3BzLT5kbWFfc3RhcnQoZHJpdmUpOwotCX0KLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJcmV0dXJuIGlkZV90cmFuc2Zlcl9wYyhkcml2ZSwgc2NzaS0+cGMsIGlkZXNjc2lfcGNfaW50ciwKKwkJCSAgICAgICBnZXRfdGltZW91dChzY3NpLT5wYyksIGlkZXNjc2lfZXhwaXJ5KTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgaWRlc2NzaV9zZXRfZGlyZWN0aW9uKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQpAQCAtNTQ1LDM4ICs0MTQsMTIgQEAKIAkJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7CiAJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7Ci0JdTE2IGJjb3VudDsKLQl1OCBkbWEgPSAwOwogCiAJLyogU2V0IHRoZSBjdXJyZW50IHBhY2tldCBjb21tYW5kICovCiAJc2NzaS0+cGMgPSBwYzsKLQkvKiBXZSBoYXZlbid0IHRyYW5zZmVycmVkIGFueSBkYXRhIHlldCAqLwotCXBjLT54ZmVycmVkID0gMDsKLQlwYy0+Y3VyX3BvcyA9IHBjLT5idWY7Ci0JLyogUmVxdWVzdCB0byB0cmFuc2ZlciB0aGUgZW50aXJlIGJ1ZmZlciBhdCBvbmNlICovCi0JYmNvdW50ID0gbWluKHBjLT5yZXFfeGZlciwgNjMgKiAxMDI0KTsKIAotCWlmIChkcml2ZS0+dXNpbmdfZG1hICYmICFpZGVzY3NpX21hcF9zZyhkcml2ZSwgcGMpKSB7Ci0JCWh3aWYtPnNnX21hcHBlZCA9IDE7Ci0JCWRtYSA9ICFod2lmLT5kbWFfb3BzLT5kbWFfc2V0dXAoZHJpdmUpOwotCQlod2lmLT5zZ19tYXBwZWQgPSAwOwotCX0KLQotCWlkZV9wa3RjbWRfdGZfbG9hZChkcml2ZSwgSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLLCBiY291bnQsIGRtYSk7Ci0KLQlpZiAoZG1hKQotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfT0s7Ci0KLQlpZiAodGVzdF9iaXQoSURFU0NTSV9EUlFfSU5URVJSVVBULCAmc2NzaS0+ZmxhZ3MpKSB7Ci0JCWlkZV9leGVjdXRlX2NvbW1hbmQoZHJpdmUsIFdJTl9QQUNLRVRDTUQsICZpZGVzY3NpX3RyYW5zZmVyX3BjLAotCQkJCSAgICBnZXRfdGltZW91dChwYyksIGlkZXNjc2lfZXhwaXJ5KTsKLQkJcmV0dXJuIGlkZV9zdGFydGVkOwotCX0gZWxzZSB7Ci0JCS8qIElzc3VlIHRoZSBwYWNrZXQgY29tbWFuZCAqLwotCQlpZGVfZXhlY3V0ZV9wa3RfY21kKGRyaXZlKTsKLQkJcmV0dXJuIGlkZXNjc2lfdHJhbnNmZXJfcGMoZHJpdmUpOwotCX0KKwlyZXR1cm4gaWRlX2lzc3VlX3BjKGRyaXZlLCBwYywgaWRlc2NzaV90cmFuc2Zlcl9wYywKKwkJCSAgICBnZXRfdGltZW91dChwYyksIGlkZXNjc2lfZXhwaXJ5KTsKIH0KIAogLyoKQEAgLTU4NCwxNCArNDI3LDIyIEBACiAgKi8KIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRlc2NzaV9kb19yZXF1ZXN0IChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSwgc2VjdG9yX3QgYmxvY2spCiB7Ci0jaWYgSURFU0NTSV9ERUJVR19MT0cKLQlwcmludGsgKEtFUk5fSU5GTyAiZGV2OiAlcywgY21kOiAleCwgZXJyb3JzOiAlZFxuIiwgcnEtPnJxX2Rpc2stPmRpc2tfbmFtZSxycS0+Y21kWzBdLHJxLT5lcnJvcnMpOwotCXByaW50ayAoS0VSTl9JTkZPICJzZWN0b3I6ICVsZCwgbnJfc2VjdG9yczogJWxkLCBjdXJyZW50X25yX3NlY3RvcnM6ICVkXG4iLHJxLT5zZWN0b3IscnEtPm5yX3NlY3RvcnMscnEtPmN1cnJlbnRfbnJfc2VjdG9ycyk7Ci0jZW5kaWYgLyogSURFU0NTSV9ERUJVR19MT0cgKi8KKwlkZWJ1Z19sb2coImRldjogJXMsIGNtZDogJXgsIGVycm9yczogJWRcbiIsIHJxLT5ycV9kaXNrLT5kaXNrX25hbWUsCisJCSAgcnEtPmNtZFswXSwgcnEtPmVycm9ycyk7CisJZGVidWdfbG9nKCJzZWN0b3I6ICVsZCwgbnJfc2VjdG9yczogJWxkLCBjdXJyZW50X25yX3NlY3RvcnM6ICVkXG4iLAorCQkgIHJxLT5zZWN0b3IsIHJxLT5ucl9zZWN0b3JzLCBycS0+Y3VycmVudF9ucl9zZWN0b3JzKTsKIAogCWlmIChibGtfc2Vuc2VfcmVxdWVzdChycSkgfHwgYmxrX3NwZWNpYWxfcmVxdWVzdChycSkpIHsKLQkJcmV0dXJuIGlkZXNjc2lfaXNzdWVfcGMoZHJpdmUsCi0JCQkJKHN0cnVjdCBpZGVfYXRhcGlfcGMgKikgcnEtPnNwZWNpYWwpOworCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IChzdHJ1Y3QgaWRlX2F0YXBpX3BjICopcnEtPnNwZWNpYWw7CisJCWlkZXNjc2lfc2NzaV90ICpzY3NpID0gZHJpdmVfdG9faWRlc2NzaShkcml2ZSk7CisKKwkJaWYgKHRlc3RfYml0KElERVNDU0lfRFJRX0lOVEVSUlVQVCwgJnNjc2ktPmZsYWdzKSkKKwkJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RSUV9JTlRFUlJVUFQ7CisKKwkJaWYgKGRyaXZlLT51c2luZ19kbWEgJiYgIWlkZXNjc2lfbWFwX3NnKGRyaXZlLCBwYykpCisJCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfT0s7CisKKwkJcmV0dXJuIGlkZXNjc2lfaXNzdWVfcGMoZHJpdmUsIHBjKTsKIAl9CiAJYmxrX2R1bXBfcnFfZmxhZ3MocnEsICJpZGUtc2NzaTogdW5zdXAgY29tbWFuZCIpOwogCWlkZXNjc2lfZW5kX3JlcXVlc3QgKGRyaXZlLCAwLCAwKTsKQEAgLTY0Niw2ICs0OTcsOCBAQAogCXB1dF9kaXNrKGcpOwogCiAJaWRlX3Njc2lfcHV0KHNjc2kpOworCisJZHJpdmUtPnNjc2kgPSAwOwogfQogCiBzdGF0aWMgaW50IGlkZV9zY3NpX3Byb2JlKGlkZV9kcml2ZV90ICopOwpAQCAtNzY1LDYgKzYxOCw4IEBACiAKIAltZW1zZXQgKHBjLT5jLCAwLCAxMik7CiAJcGMtPmZsYWdzID0gMDsKKwlpZiAoY21kLT5zY19kYXRhX2RpcmVjdGlvbiA9PSBETUFfVE9fREVWSUNFKQorCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XUklUSU5HOwogCXBjLT5ycSA9IHJxOwogCW1lbWNweSAocGMtPmMsIGNtZC0+Y21uZCwgY21kLT5jbWRfbGVuKTsKIAlwYy0+YnVmID0gTlVMTDsKQEAgLTc3NSw2ICs2MzAsNyBAQAogCXBjLT5zY3NpX2NtZCA9IGNtZDsKIAlwYy0+ZG9uZSA9IGRvbmU7CiAJcGMtPnRpbWVvdXQgPSBqaWZmaWVzICsgY21kLT50aW1lb3V0X3Blcl9jb21tYW5kOworCXBjLT5jYWxsYmFjayA9IGlkZV9zY3NpX2NhbGxiYWNrOwogCiAJaWYgKHRlc3RfYml0KElERVNDU0lfTE9HX0NNRCwgJnNjc2ktPmxvZykpIHsKIAkJcHJpbnRrICgiaWRlLXNjc2k6ICVzOiBxdWUgJWx1LCBjbWQgPSAiLCBkcml2ZS0+bmFtZSwgY21kLT5zZXJpYWxfbnVtYmVyKTsKQEAgLTc4NSwxMiArNjQxLDExIEBACiAJCX0KIAl9CiAKLQlpZGVfaW5pdF9kcml2ZV9jbWQgKHJxKTsKKwlibGtfcnFfaW5pdChOVUxMLCBycSk7CiAJcnEtPnNwZWNpYWwgPSAoY2hhciAqKSBwYzsKIAlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOwogCXNwaW5fdW5sb2NrX2lycShob3N0LT5ob3N0X2xvY2spOwotCXJxLT5ycV9kaXNrID0gc2NzaS0+ZGlzazsKLQkodm9pZCkgaWRlX2RvX2RyaXZlX2NtZCAoZHJpdmUsIHJxLCBpZGVfZW5kKTsKKwlibGtfZXhlY3V0ZV9ycV9ub3dhaXQoZHJpdmUtPnF1ZXVlLCBzY3NpLT5kaXNrLCBycSwgMCwgTlVMTCk7CiAJc3Bpbl9sb2NrX2lycShob3N0LT5ob3N0X2xvY2spOwogCXJldHVybiAwOwogYWJvcnQ6CkBAIC05ODUsNiArODQwLDggQEAKIAkgICAgIShob3N0ID0gc2NzaV9ob3N0X2FsbG9jKCZpZGVzY3NpX3RlbXBsYXRlLHNpemVvZihpZGVzY3NpX3Njc2lfdCkpKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlkcml2ZS0+c2NzaSA9IDE7CisKIAlnID0gYWxsb2NfZGlzaygxIDw8IFBBUlROX0JJVFMpOwogCWlmICghZykKIAkJZ290byBvdXRfaG9zdF9wdXQ7CkBAIC05OTMsMTAgKzg1MCwxMCBAQAogCiAJaG9zdC0+bWF4X2lkID0gMTsKIAotI2lmIElERVNDU0lfREVCVUdfTE9HCiAJaWYgKGRyaXZlLT5pZC0+bGFzdF9sdW4pCi0JCXByaW50ayhLRVJOX05PVElDRSAiJXM6IGlkLT5sYXN0X2x1bj0ldVxuIiwgZHJpdmUtPm5hbWUsIGRyaXZlLT5pZC0+bGFzdF9sdW4pOwotI2VuZGlmCisJCWRlYnVnX2xvZygiJXM6IGlkLT5sYXN0X2x1bj0ldVxuIiwgZHJpdmUtPm5hbWUsCisJCQkgIGRyaXZlLT5pZC0+bGFzdF9sdW4pOworCiAJaWYgKChkcml2ZS0+aWQtPmxhc3RfbHVuICYgMHg3KSAhPSA3KQogCQlob3N0LT5tYXhfbHVuID0gKGRyaXZlLT5pZC0+bGFzdF9sdW4gJiAweDcpICsgMTsKIAllbHNlCkBAIC0xMDI1LDYgKzg4Miw3IEBACiAKIAlwdXRfZGlzayhnKTsKIG91dF9ob3N0X3B1dDoKKwlkcml2ZS0+c2NzaSA9IDA7CiAJc2NzaV9ob3N0X3B1dChob3N0KTsKIAlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2lwci5jIGIvZHJpdmVycy9zY3NpL2lwci5jCmluZGV4IDk5OWU5MWUuLmU3YTNhNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9pcHIuYworKysgYi9kcml2ZXJzL3Njc2kvaXByLmMKQEAgLTcxLDYgKzcxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2xpYmF0YS5oPgorI2luY2x1ZGUgPGxpbnV4L2hkcmVnLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KQEAgLTQ5MTMsOCArNDkxNCwxMSBAQAogCXN0cnVjdCBpcHJfcmVzb3VyY2VfZW50cnkgKnJlczsKIAogCXJlcyA9IChzdHJ1Y3QgaXByX3Jlc291cmNlX2VudHJ5ICopc2Rldi0+aG9zdGRhdGE7Ci0JaWYgKHJlcyAmJiBpcHJfaXNfZ2F0YShyZXMpKQorCWlmIChyZXMgJiYgaXByX2lzX2dhdGEocmVzKSkgeworCQlpZiAoY21kID09IEhESU9fR0VUX0lERU5USVRZKQorCQkJcmV0dXJuIC1FTk9UVFk7CiAJCXJldHVybiBhdGFfc2NzaV9pb2N0bChzZGV2LCBjbWQsIGFyZyk7CisJfQogCiAJcmV0dXJuIC1FSU5WQUw7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvbWVnYXJhaWQuYyBiL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC5jCmluZGV4IDE4NTUxYWEuLjI4YzlkYTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC5jCisrKyBiL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC5jCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxzY3NpL3Njc2ljYW0uaD4KIAogI2luY2x1ZGUgInNjc2kuaCIKQEAgLTMyNzIsMTIgKzMyNzMsMTIgQEAKICAqIEBmaWxlcCAtIHVudXNlZAogICoKICAqIFJvdXRpbmVzIGZvciB0aGUgY2hhcmFjdGVyL2lvY3RsIGludGVyZmFjZSB0byB0aGUgZHJpdmVyLiBGaW5kIG91dCBpZiB0aGlzCi0gKiBpcyBhIHZhbGlkIG9wZW4uIElmIHllcywgaW5jcmVtZW50IHRoZSBtb2R1bGUgdXNlIGNvdW50IHNvIHRoYXQgaXQgY2Fubm90Ci0gKiBiZSB1bmxvYWRlZC4KKyAqIGlzIGEgdmFsaWQgb3Blbi4gCiAgKi8KIHN0YXRpYyBpbnQKIG1lZ2FkZXZfb3BlbiAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGVwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJLyoKIAkgKiBPbmx5IGFsbG93IHN1cGVydXNlciB0byBhY2Nlc3MgcHJpdmF0ZSBpb2N0bCBpbnRlcmZhY2UKIAkgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9tbS5jIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX21tLmMKaW5kZXggMGFkMjE1ZS4uYWMzYjI4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX21tLmMKKysrIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX21tLmMKQEAgLTE1LDYgKzE1LDcgQEAKICAqIENvbW1vbiBtYW5hZ2VtZW50IG1vZHVsZQogICovCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgIm1lZ2FyYWlkX21tLmgiCiAKIApAQCAtOTYsNiArOTcsNyBAQAogCSAqLwogCWlmICghY2FwYWJsZShDQVBfU1lTX0FETUlOKSkgcmV0dXJuICgtRUFDQ0VTKTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9zYXMuYyBiL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9zYXMuYwppbmRleCA3ZDg0YzhiLi5mYzdhYzE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfc2FzLmMKKysrIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX3Nhcy5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgpAQCAtMjg2Myw2ICsyODY0LDcgQEAKICAqLwogc3RhdGljIGludCBtZWdhc2FzX21nbXRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZXApCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAkvKgogCSAqIEFsbG93IG9ubHkgdGhvc2UgdXNlcnMgd2l0aCBhZG1pbiByaWdodHMKIAkgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9vc3N0LmMgYi9kcml2ZXJzL3Njc2kvb3NzdC5jCmluZGV4IDI0M2Q4YmUuLjFjNzlmOTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9vc3N0LmMKKysrIGIvZHJpdmVycy9zY3NpL29zc3QuYwpAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CkBAIC00MzU5LDcgKzQzNjAsNyBAQAogCiAKIC8qIE9wZW4gdGhlIGRldmljZSAqLwotc3RhdGljIGludCBvc19zY3NpX3RhcGVfb3BlbihzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxwKQorc3RhdGljIGludCBfX29zX3Njc2lfdGFwZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApCiB7CiAJdW5zaWduZWQgc2hvcnQJICAgICAgZmxhZ3M7CiAJaW50CQkgICAgICBpLCBiX3NpemUsIG5ld19zZXNzaW9uID0gMCwgcmV0dmFsID0gMDsKQEAgLTQ3MjUsNiArNDcyNiwxOCBAQAogCXJldHVybiByZXR2YWw7CiB9CiAKKy8qIEJLTCBwdXNoZG93bjogc3BhZ2hldHRpIGF2b2lkYW5jZSB3cmFwcGVyICovCitzdGF0aWMgaW50IG9zX3Njc2lfdGFwZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApCit7CisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gX19vc19zY3NpX3RhcGVfb3Blbihpbm9kZSwgZmlscCk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CisKKwogCiAvKiBGbHVzaCB0aGUgdGFwZSBidWZmZXIgYmVmb3JlIGNsb3NlICovCiBzdGF0aWMgaW50IG9zX3Njc2lfdGFwZV9mbHVzaChzdHJ1Y3QgZmlsZSAqIGZpbHAsIGZsX293bmVyX3QgaWQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc2NzaV9saWIuYyBiL2RyaXZlcnMvc2NzaS9zY3NpX2xpYi5jCmluZGV4IGE4MmQyZmUuLmNiZjU1ZDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zY3NpX2xpYi5jCisrKyBiL2RyaXZlcnMvc2NzaS9zY3NpX2xpYi5jCkBAIC0yMDcsNiArMjA3LDE1IEBACiAJICovCiAJYmxrX2V4ZWN1dGVfcnEocmVxLT5xLCBOVUxMLCByZXEsIDEpOwogCisJLyoKKwkgKiBTb21lIGRldmljZXMgKFVTQiBtYXNzLXN0b3JhZ2UgaW4gcGFydGljdWxhcikgbWF5IHRyYW5zZmVyCisJICogZ2FyYmFnZSBkYXRhIHRvZ2V0aGVyIHdpdGggYSByZXNpZHVlIGluZGljYXRpbmcgdGhhdCB0aGUgZGF0YQorCSAqIGlzIGludmFsaWQuICBQcmV2ZW50IHRoZSBnYXJiYWdlIGZyb20gYmVpbmcgbWlzaW50ZXJwcmV0ZWQKKwkgKiBhbmQgcHJldmVudCBzZWN1cml0eSBsZWFrcyBieSB6ZXJvaW5nIG91dCB0aGUgZXhjZXNzIGRhdGEuCisJICovCisJaWYgKHVubGlrZWx5KHJlcS0+ZGF0YV9sZW4gPiAwICYmIHJlcS0+ZGF0YV9sZW4gPD0gYnVmZmxlbikpCisJCW1lbXNldChidWZmZXIgKyAoYnVmZmxlbiAtIHJlcS0+ZGF0YV9sZW4pLCAwLCByZXEtPmRhdGFfbGVuKTsKKwogCXJldCA9IHJlcS0+ZXJyb3JzOwogIG91dDoKIAlibGtfcHV0X3JlcXVlc3QocmVxKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9zY3NpX3RndF9pZi5jIGIvZHJpdmVycy9zY3NpL3Njc2lfdGd0X2lmLmMKaW5kZXggZDI1NTdkYi4uMGU5NTMzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL3Njc2lfdGd0X2lmLmMKKysrIGIvZHJpdmVycy9zY3NpL3Njc2lfdGd0X2lmLmMKQEAgLTIxLDYgKzIxLDcgQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxuZXQvdGNwLmg+CiAjaW5jbHVkZSA8c2NzaS9zY3NpLmg+CiAjaW5jbHVkZSA8c2NzaS9zY3NpX2NtbmQuaD4KQEAgLTMyMSw2ICszMjIsNyBAQAogewogCXR4X3JpbmcudHJfaWR4ID0gcnhfcmluZy50cl9pZHggPSAwOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL3NkLmMgYi9kcml2ZXJzL3Njc2kvc2QuYwppbmRleCAwMWNlZmJiLi5kNTMzMTJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvc2QuYworKysgYi9kcml2ZXJzL3Njc2kvc2QuYwpAQCAtMTEyNCw2ICsxMTI0LDggQEAKIAkJCQljbWRbMV0gPSAxOwkvKiBSZXR1cm4gaW1tZWRpYXRlbHkgKi8KIAkJCQltZW1zZXQoKHZvaWQgKikgJmNtZFsyXSwgMCwgOCk7CiAJCQkJY21kWzRdID0gMTsJLyogU3RhcnQgc3BpbiBjeWNsZSAqLworCQkJCWlmIChzZGtwLT5kZXZpY2UtPnN0YXJ0X3N0b3BfcHdyX2NvbmQpCisJCQkJCWNtZFs0XSB8PSAxIDw8IDQ7CiAJCQkJc2NzaV9leGVjdXRlX3JlcShzZGtwLT5kZXZpY2UsIGNtZCwgRE1BX05PTkUsCiAJCQkJCQkgTlVMTCwgMCwgJnNzaGRyLAogCQkJCQkJIFNEX1RJTUVPVVQsIFNEX01BWF9SRVRSSUVTKTsKQEAgLTE3OTAsNiArMTc5Miw5IEBACiAJaWYgKHN0YXJ0KQogCQljbWRbNF0gfD0gMTsJLyogU1RBUlQgKi8KIAorCWlmIChzZHAtPnN0YXJ0X3N0b3BfcHdyX2NvbmQpCisJCWNtZFs0XSB8PSBzdGFydCA/IDEgPDwgNCA6IDMgPDwgNDsJLyogQWN0aXZlIG9yIFN0YW5kYnkgKi8KKwogCWlmICghc2NzaV9kZXZpY2Vfb25saW5lKHNkcCkpCiAJCXJldHVybiAtRU5PREVWOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc2cuYyBiL2RyaXZlcnMvc2NzaS9zZy5jCmluZGV4IGVhMGVkZDEuLmZjY2QyZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zZy5jCisrKyBiL2RyaXZlcnMvc2NzaS9zZy5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Jsa3RyYWNlX2FwaS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlICJzY3NpLmgiCiAjaW5jbHVkZSA8c2NzaS9zY3NpX2RiZy5oPgpAQCAtMTgyLDggKzE4Myw5IEBACiAJCQkgaW50IHRhYmxlc2l6ZSk7CiBzdGF0aWMgc3NpemVfdCBzZ19uZXdfcmVhZChTZ19mZCAqIHNmcCwgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LAogCQkJICAgU2dfcmVxdWVzdCAqIHNycCk7Ci1zdGF0aWMgc3NpemVfdCBzZ19uZXdfd3JpdGUoU2dfZmQgKiBzZnAsIGNvbnN0IGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjb3VudCwKLQkJCSAgICBpbnQgYmxvY2tpbmcsIGludCByZWFkX29ubHksIFNnX3JlcXVlc3QgKiogb19zcnApOworc3RhdGljIHNzaXplX3Qgc2dfbmV3X3dyaXRlKFNnX2ZkICpzZnAsIHN0cnVjdCBmaWxlICpmaWxlLAorCQkJY29uc3QgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LCBpbnQgYmxvY2tpbmcsCisJCQlpbnQgcmVhZF9vbmx5LCBTZ19yZXF1ZXN0ICoqb19zcnApOwogc3RhdGljIGludCBzZ19jb21tb25fd3JpdGUoU2dfZmQgKiBzZnAsIFNnX3JlcXVlc3QgKiBzcnAsCiAJCQkgICB1bnNpZ25lZCBjaGFyICpjbW5kLCBpbnQgdGltZW91dCwgaW50IGJsb2NraW5nKTsKIHN0YXRpYyBpbnQgc2dfdV9pb3ZlYyhzZ19pb19oZHJfdCAqIGhwLCBpbnQgc2dfbnVtLCBpbnQgaW5kLApAQCAtMjA0LDcgKzIwNiw2IEBACiBzdGF0aWMgU2dfcmVxdWVzdCAqc2dfYWRkX3JlcXVlc3QoU2dfZmQgKiBzZnApOwogc3RhdGljIGludCBzZ19yZW1vdmVfcmVxdWVzdChTZ19mZCAqIHNmcCwgU2dfcmVxdWVzdCAqIHNycCk7CiBzdGF0aWMgaW50IHNnX3Jlc19pbl91c2UoU2dfZmQgKiBzZnApOwotc3RhdGljIGludCBzZ19hbGxvd19hY2Nlc3ModW5zaWduZWQgY2hhciBvcGNvZGUsIGNoYXIgZGV2X3R5cGUpOwogc3RhdGljIGludCBzZ19idWlsZF9kaXJlY3QoU2dfcmVxdWVzdCAqIHNycCwgU2dfZmQgKiBzZnAsIGludCBkeGZlcl9sZW4pOwogc3RhdGljIFNnX2RldmljZSAqc2dfZ2V0X2RldihpbnQgZGV2KTsKICNpZmRlZiBDT05GSUdfU0NTSV9QUk9DX0ZTCkBAIC0yMjcsMTkgKzIyOCwyNiBAQAogCWludCByZXM7CiAJaW50IHJldHZhbDsKIAorCWxvY2tfa2VybmVsKCk7CiAJbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CiAJU0NTSV9MT0dfVElNRU9VVCgzLCBwcmludGsoInNnX29wZW46IGRldj0lZCwgZmxhZ3M9MHgleFxuIiwgZGV2LCBmbGFncykpOwogCXNkcCA9IHNnX2dldF9kZXYoZGV2KTsKLQlpZiAoKCFzZHApIHx8ICghc2RwLT5kZXZpY2UpKQorCWlmICgoIXNkcCkgfHwgKCFzZHAtPmRldmljZSkpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOWElPOwotCWlmIChzZHAtPmRldGFjaGVkKQorCX0KKwlpZiAoc2RwLT5kZXRhY2hlZCkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PREVWOworCX0KIAogCS8qIFRoaXMgZHJpdmVyJ3MgbW9kdWxlIGNvdW50IGJ1bXBlZCBieSBmb3BzX2dldCBpbiA8bGludXgvZnMuaD4gKi8KIAkvKiBQcmV2ZW50IHRoZSBkZXZpY2UgZHJpdmVyIGZyb20gdmFuaXNoaW5nIHdoaWxlIHdlIHNsZWVwICovCiAJcmV0dmFsID0gc2NzaV9kZXZpY2VfZ2V0KHNkcC0+ZGV2aWNlKTsKLQlpZiAocmV0dmFsKQorCWlmIChyZXR2YWwpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gcmV0dmFsOworCX0KIAogCWlmICghKChmbGFncyAmIE9fTk9OQkxPQ0spIHx8CiAJICAgICAgc2NzaV9ibG9ja193aGVuX3Byb2Nlc3NpbmdfZXJyb3JzKHNkcC0+ZGV2aWNlKSkpIHsKQEAgLTI5NSwxMCArMzAzLDEyIEBACiAJCXJldHZhbCA9IC1FTk9NRU07CiAJCWdvdG8gZXJyb3Jfb3V0OwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKICAgICAgIGVycm9yX291dDoKIAlzY3NpX2RldmljZV9wdXQoc2RwLT5kZXZpY2UpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0dmFsOwogfQogCkBAIC01NDQsNyArNTU0LDcgQEAKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJYmxvY2tpbmcgPSAhKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKTsKIAlpZiAob2xkX2hkci5yZXBseV9sZW4gPCAwKQotCQlyZXR1cm4gc2dfbmV3X3dyaXRlKHNmcCwgYnVmLCBjb3VudCwgYmxvY2tpbmcsIDAsIE5VTEwpOworCQlyZXR1cm4gc2dfbmV3X3dyaXRlKHNmcCwgZmlscCwgYnVmLCBjb3VudCwgYmxvY2tpbmcsIDAsIE5VTEwpOwogCWlmIChjb3VudCA8IChTWl9TR19IRUFERVIgKyA2KSkKIAkJcmV0dXJuIC1FSU87CS8qIFRoZSBtaW5pbXVtIHNjc2kgY29tbWFuZCBsZW5ndGggaXMgNiBieXRlcy4gKi8KIApAQCAtNjIxLDggKzYzMSw5IEBACiB9CiAKIHN0YXRpYyBzc2l6ZV90Ci1zZ19uZXdfd3JpdGUoU2dfZmQgKiBzZnAsIGNvbnN0IGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjb3VudCwKLQkgICAgIGludCBibG9ja2luZywgaW50IHJlYWRfb25seSwgU2dfcmVxdWVzdCAqKiBvX3NycCkKK3NnX25ld193cml0ZShTZ19mZCAqc2ZwLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKmJ1ZiwKKwkJIHNpemVfdCBjb3VudCwgaW50IGJsb2NraW5nLCBpbnQgcmVhZF9vbmx5LAorCQkgU2dfcmVxdWVzdCAqKm9fc3JwKQogewogCWludCBrOwogCVNnX3JlcXVlc3QgKnNycDsKQEAgLTY3OCw4ICs2ODksNyBAQAogCQlzZ19yZW1vdmVfcmVxdWVzdChzZnAsIHNycCk7CiAJCXJldHVybiAtRUZBVUxUOwogCX0KLQlpZiAocmVhZF9vbmx5ICYmCi0JICAgICghc2dfYWxsb3dfYWNjZXNzKGNtbmRbMF0sIHNmcC0+cGFyZW50ZHAtPmRldmljZS0+dHlwZSkpKSB7CisJaWYgKHJlYWRfb25seSAmJiAhYmxrX3ZlcmlmeV9jb21tYW5kKGZpbGUsIGNtbmQpKSB7CiAJCXNnX3JlbW92ZV9yZXF1ZXN0KHNmcCwgc3JwKTsKIAkJcmV0dXJuIC1FUEVSTTsKIAl9CkBAIC03OTksNyArODA5LDcgQEAKIAkJCWlmICghYWNjZXNzX29rKFZFUklGWV9XUklURSwgcCwgU1pfU0dfSU9fSERSKSkKIAkJCQlyZXR1cm4gLUVGQVVMVDsKIAkJCXJlc3VsdCA9Ci0JCQkgICAgc2dfbmV3X3dyaXRlKHNmcCwgcCwgU1pfU0dfSU9fSERSLAorCQkJICAgIHNnX25ld193cml0ZShzZnAsIGZpbHAsIHAsIFNaX1NHX0lPX0hEUiwKIAkJCQkJIGJsb2NraW5nLCByZWFkX29ubHksICZzcnApOwogCQkJaWYgKHJlc3VsdCA8IDApCiAJCQkJcmV0dXJuIHJlc3VsdDsKQEAgLTEwNDgsNyArMTA1OCw3IEBACiAKIAkJCWlmIChjb3B5X2Zyb21fdXNlcigmb3Bjb2RlLCBzaW9jcC0+ZGF0YSwgMSkpCiAJCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCQlpZiAoIXNnX2FsbG93X2FjY2VzcyhvcGNvZGUsIHNkcC0+ZGV2aWNlLT50eXBlKSkKKwkJCWlmICghYmxrX3ZlcmlmeV9jb21tYW5kKGZpbHAsICZvcGNvZGUpKQogCQkJCXJldHVybiAtRVBFUk07CiAJCX0KIAkJcmV0dXJuIHNnX3Njc2lfaW9jdGwoZmlscCwgc2RwLT5kZXZpY2UtPnJlcXVlc3RfcXVldWUsIE5VTEwsIHApOwpAQCAtMjUwMiwzMCArMjUxMiw2IEBACiAJX19mcmVlX3BhZ2VzKHBhZ2UsIG9yZGVyKTsKIH0KIAotI2lmbmRlZiBNQUlOVEVOQU5DRV9JTl9DTUQKLSNkZWZpbmUgTUFJTlRFTkFOQ0VfSU5fQ01EIDB4YTMKLSNlbmRpZgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBhbGxvd19vcHNbXSA9IHsgVEVTVF9VTklUX1JFQURZLCBSRVFVRVNUX1NFTlNFLAotCUlOUVVJUlksIFJFQURfQ0FQQUNJVFksIFJFQURfQlVGRkVSLCBSRUFEXzYsIFJFQURfMTAsIFJFQURfMTIsCi0JUkVBRF8xNiwgTU9ERV9TRU5TRSwgTU9ERV9TRU5TRV8xMCwgTE9HX1NFTlNFLCBSRVBPUlRfTFVOUywKLQlTRVJWSUNFX0FDVElPTl9JTiwgUkVDRUlWRV9ESUFHTk9TVElDLCBSRUFEX0xPTkcsIE1BSU5URU5BTkNFX0lOX0NNRAotfTsKLQotc3RhdGljIGludAotc2dfYWxsb3dfYWNjZXNzKHVuc2lnbmVkIGNoYXIgb3Bjb2RlLCBjaGFyIGRldl90eXBlKQotewotCWludCBrOwotCi0JaWYgKFRZUEVfU0NBTk5FUiA9PSBkZXZfdHlwZSkJLyogVFlQRV9ST00gbWF5YmUgYnVybmVyICovCi0JCXJldHVybiAxOwotCWZvciAoayA9IDA7IGsgPCBzaXplb2YgKGFsbG93X29wcyk7ICsraykgewotCQlpZiAob3Bjb2RlID09IGFsbG93X29wc1trXSkKLQkJCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLQogI2lmZGVmIENPTkZJR19TQ1NJX1BST0NfRlMKIHN0YXRpYyBpbnQKIHNnX2lkcl9tYXhfaWQoaW50IGlkLCB2b2lkICpwLCB2b2lkICpkYXRhKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL3NyLmMgYi9kcml2ZXJzL3Njc2kvc3IuYwppbmRleCBjODJkZjhiLi4yN2Y1YmZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvc3IuYworKysgYi9kcml2ZXJzL3Njc2kvc3IuYwpAQCAtNjczLDI0ICs2NzMsMjAgQEAKIHN0YXRpYyB2b2lkIGdldF9zZWN0b3JzaXplKHN0cnVjdCBzY3NpX2NkICpjZCkKIHsKIAl1bnNpZ25lZCBjaGFyIGNtZFsxMF07Ci0JdW5zaWduZWQgY2hhciAqYnVmZmVyOworCXVuc2lnbmVkIGNoYXIgYnVmZmVyWzhdOwogCWludCB0aGVfcmVzdWx0LCByZXRyaWVzID0gMzsKIAlpbnQgc2VjdG9yX3NpemU7CiAJc3RydWN0IHJlcXVlc3RfcXVldWUgKnF1ZXVlOwogCi0JYnVmZmVyID0ga21hbGxvYyg1MTIsIEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKLQlpZiAoIWJ1ZmZlcikKLQkJZ290byBFbm9tZW07Ci0KIAlkbyB7CiAJCWNtZFswXSA9IFJFQURfQ0FQQUNJVFk7CiAJCW1lbXNldCgodm9pZCAqKSAmY21kWzFdLCAwLCA5KTsKLQkJbWVtc2V0KGJ1ZmZlciwgMCwgOCk7CisJCW1lbXNldChidWZmZXIsIDAsIHNpemVvZihidWZmZXIpKTsKIAogCQkvKiBEbyB0aGUgY29tbWFuZCBhbmQgd2FpdC4uICovCiAJCXRoZV9yZXN1bHQgPSBzY3NpX2V4ZWN1dGVfcmVxKGNkLT5kZXZpY2UsIGNtZCwgRE1BX0ZST01fREVWSUNFLAotCQkJCQkgICAgICBidWZmZXIsIDgsIE5VTEwsIFNSX1RJTUVPVVQsCi0JCQkJCSAgICAgIE1BWF9SRVRSSUVTKTsKKwkJCQkJICAgICAgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgTlVMTCwKKwkJCQkJICAgICAgU1JfVElNRU9VVCwgTUFYX1JFVFJJRVMpOwogCiAJCXJldHJpZXMtLTsKIApAQCAtNzQ1LDE0ICs3NDEsOCBAQAogCiAJcXVldWUgPSBjZC0+ZGV2aWNlLT5yZXF1ZXN0X3F1ZXVlOwogCWJsa19xdWV1ZV9oYXJkc2VjdF9zaXplKHF1ZXVlLCBzZWN0b3Jfc2l6ZSk7Ci1vdXQ6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm47CiAKLUVub21lbToKLQljZC0+Y2FwYWNpdHkgPSAweDFmZmZmZjsKLQljZC0+ZGV2aWNlLT5zZWN0b3Jfc2l6ZSA9IDIwNDg7CS8qIEEgZ3Vlc3MsIGp1c3QgaW4gY2FzZSAqLwotCWdvdG8gb3V0OworCXJldHVybjsKIH0KIAogc3RhdGljIHZvaWQgZ2V0X2NhcGFiaWxpdGllcyhzdHJ1Y3Qgc2NzaV9jZCAqY2QpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc3QuYyBiL2RyaXZlcnMvc2NzaS9zdC5jCmluZGV4IDZlNWE1YmIuLjQ2ODRjYzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zdC5jCisrKyBiL2RyaXZlcnMvc2NzaS9zdC5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vZG1hLmg+CkBAIC0xMTEzLDcgKzExMTQsNyBAQAogfQogCiAKLQwvKiBPcGVuIHRoZSBkZXZpY2UuIE5lZWRzIHRvIGJlIGNhbGxlZCB3aXRoIEJLTCBvbmx5IGJlY2F1c2Ugb2YgaW5jcmVtZW50aW5nIHRoZSBTQ1NJIGhvc3QKKwwvKiBPcGVuIHRoZSBkZXZpY2UuIE5lZWRzIHRvIHRha2UgdGhlIEJLTCBvbmx5IGJlY2F1c2Ugb2YgaW5jcmVtZW50aW5nIHRoZSBTQ1NJIGhvc3QKICAgIG1vZHVsZSBjb3VudC4gKi8KIHN0YXRpYyBpbnQgc3Rfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKQEAgLTExMjMsNiArMTEyNCw3IEBACiAJaW50IGRldiA9IFRBUEVfTlIoaW5vZGUpOwogCWNoYXIgKm5hbWU7CiAKKwlsb2NrX2tlcm5lbCgpOwogCS8qCiAJICogV2UgcmVhbGx5IHdhbnQgdG8gZG8gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7IGhlcmUsIGJ1dCBzb21lCiAJICogdmVyc2lvbnMgb2YgdGFyIGluY29ycmVjdGx5IGNhbGwgbHNlZWsgb24gdGFwZXMgYW5kIGJhaWwgb3V0IGlmIHRoYXQKQEAgLTExMzAsOCArMTEzMiwxMCBAQAogCSAqLwogCWZpbHAtPmZfbW9kZSAmPSB+KEZNT0RFX1BSRUFEIHwgRk1PREVfUFdSSVRFKTsKIAotCWlmICghKFNUcCA9IHNjc2lfdGFwZV9nZXQoZGV2KSkpCisJaWYgKCEoU1RwID0gc2NzaV90YXBlX2dldChkZXYpKSkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87CisJfQogCiAJd3JpdGVfbG9jaygmc3RfZGV2X2Fycl9sb2NrKTsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBTVHA7CkBAIC0xMTQwLDYgKzExNDQsNyBAQAogCWlmIChTVHAtPmluX3VzZSkgewogCQl3cml0ZV91bmxvY2soJnN0X2Rldl9hcnJfbG9jayk7CiAJCXNjc2lfdGFwZV9wdXQoU1RwKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlERUIoIHByaW50ayhTVF9ERUJfTVNHICIlczogRGV2aWNlIGFscmVhZHkgaW4gdXNlLlxuIiwgbmFtZSk7ICkKIAkJcmV0dXJuICgtRUJVU1kpOwogCX0KQEAgLTExODgsMTIgKzExOTMsMTQgQEAKIAkJCXJldHZhbCA9ICgtRUlPKTsKIAkJZ290byBlcnJfb3V0OwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKICBlcnJfb3V0OgogCW5vcm1hbGl6ZV9idWZmZXIoU1RwLT5idWZmZXIpOwogCVNUcC0+aW5fdXNlID0gMDsKIAlzY3NpX3RhcGVfcHV0KFNUcCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXR2YWw7CiAKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsLzgyNTAuYyBiL2RyaXZlcnMvc2VyaWFsLzgyNTAuYwppbmRleCAxYmMwMGI3Li5iZTk1ZTU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NlcmlhbC84MjUwLmMKKysrIGIvZHJpdmVycy9zZXJpYWwvODI1MC5jCkBAIC0yNjIzLDYgKzI2MjMsOSBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBzZXJpYWw4MjUwX2NvbnNvbGVfaW5pdCh2b2lkKQogeworCWlmIChucl91YXJ0cyA+IFVBUlRfTlIpCisJCW5yX3VhcnRzID0gVUFSVF9OUjsKKwogCXNlcmlhbDgyNTBfaXNhX2luaXRfcG9ydHMoKTsKIAlyZWdpc3Rlcl9jb25zb2xlKCZzZXJpYWw4MjUwX2NvbnNvbGUpOwogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvS2NvbmZpZyBiL2RyaXZlcnMvc2VyaWFsL0tjb25maWcKaW5kZXggOWJjNDI3Ni4uMThjYTkwNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvS2NvbmZpZworKysgYi9kcml2ZXJzL3NlcmlhbC9LY29uZmlnCkBAIC00NDgsMjIgKzQ0OCwyNyBAQAogCSAgeW91ciBib290IGxvYWRlciAobGlsbyBvciBsb2FkbGluKSBhYm91dCBob3cgdG8gcGFzcyBvcHRpb25zIHRvIHRoZQogCSAga2VybmVsIGF0IGJvb3QgdGltZS4pCiAKLWNvbmZpZyBTRVJJQUxfUzNDMjQxMAotCXRyaXN0YXRlICJTYW1zdW5nIFMzQzI0MTAvUzNDMjQ0MC9TM0MyNDQyL1MzQzI0MTIgU2VyaWFsIHBvcnQgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFSTSAmJiBBUkNIX1MzQzI0MTAKLQlzZWxlY3QgU0VSSUFMX0NPUkUKK2NvbmZpZyBTRVJJQUxfU0FNU1VORworCXRyaXN0YXRlICJTYW1zdW5nIFNvQyBzZXJpYWwgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEFSTSAmJiBQTEFUX1MzQzI0WFgKIAloZWxwCiAJICBTdXBwb3J0IGZvciB0aGUgb24tY2hpcCBVQVJUcyBvbiB0aGUgU2Ftc3VuZyBTM0MyNFhYIHNlcmllcyBDUFVzLAogCSAgcHJvdmlkaW5nIC9kZXYvdHR5U0FDMCwgMSBhbmQgMiAobm90ZSwgc29tZSBtYWNoaW5lcyBtYXkgbm90CiAJICBwcm92aWRlIGFsbCBvZiB0aGVzZSBwb3J0cywgZGVwZW5kaW5nIG9uIGhvdyB0aGUgc2VyaWFsIHBvcnQKIAkgIHBpbnMgYXJlIGNvbmZpZ3VyZWQuCiAKLQkgIEN1cnJlbnRseSB0aGlzIGRyaXZlciBzdXBwb3J0cyB0aGUgVUFSVFMgb24gdGhlIFMzQzI0MTAsIFMzQzI0NDAsCi0JICBTM0MyNDQyLCBTM0MyNDEyIGFuZCBTM0MyNDEzIENQVXMuCitjb25maWcgU0VSSUFMX1NBTVNVTkdfREVCVUcKKwlib29sICJTYW1zdW5nIFNvQyBzZXJpYWwgZGVidWciCisJZGVwZW5kcyBvbiBTRVJJQUxfU0FNU1VORworCWhlbHAKKwkgIEFkZCBzdXBwb3J0IGZvciBkZWJ1Z2dpbmcgdGhlIHNlcmlhbCBkcml2ZXIuIFNpbmNlIHRoaXMgaXMKKwkgIGdlbmVyYWxseSBiZWluZyB1c2VkIGFzIGEgY29uc29sZSwgd2UgdXNlIG91ciBvd24gb3V0cHV0CisJICByb3V0aW5lcyB0aGF0IGdvIHZpYSB0aGUgbG93LWxldmVsIGRlYnVnIHByaW50YXNjaWkoKQorCSAgZnVuY3Rpb24uCiAKLWNvbmZpZyBTRVJJQUxfUzNDMjQxMF9DT05TT0xFCi0JYm9vbCAiU3VwcG9ydCBmb3IgY29uc29sZSBvbiBTM0MyNDEwIHNlcmlhbCBwb3J0IgotCWRlcGVuZHMgb24gU0VSSUFMX1MzQzI0MTA9eQorY29uZmlnIFNFUklBTF9TQU1TVU5HX0NPTlNPTEUKKwlib29sICJTdXBwb3J0IGZvciBjb25zb2xlIG9uIFNhbXN1bmcgU29DIHNlcmlhbCBwb3J0IgorCWRlcGVuZHMgb24gU0VSSUFMX1NBTVNVTkc9eQogCXNlbGVjdCBTRVJJQUxfQ09SRV9DT05TT0xFCiAJaGVscAogCSAgQWxsb3cgc2VsZWN0aW9uIG9mIHRoZSBTM0MyNFhYIG9uLWJvYXJkIHNlcmlhbCBwb3J0cyBmb3IgdXNlIGFzCkBAIC00NzYsNiArNDgxLDM3IEBACiAJICB5b3VyIGJvb3QgbG9hZGVyIGFib3V0IGhvdyB0byBwYXNzIG9wdGlvbnMgdG8gdGhlIGtlcm5lbCBhdAogCSAgYm9vdCB0aW1lLikKIAorY29uZmlnIFNFUklBTF9TM0MyNDAwCisJdHJpc3RhdGUgIlNhbXN1bmcgUzNDMjQxMCBTZXJpYWwgcG9ydCBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJNICYmIFNFUklBTF9TQU1TVU5HICYmIENQVV9TM0MyNDAwCisJZGVmYXVsdCB5IGlmIENQVV9TM0MyNDAwCisJaGVscAorCSAgU2VyaWFsIHBvcnQgc3VwcG9ydCBmb3IgdGhlIFNhbXN1bmcgUzNDMjQwMCBTb0MKKworY29uZmlnIFNFUklBTF9TM0MyNDEwCisJdHJpc3RhdGUgIlNhbXN1bmcgUzNDMjQxMCBTZXJpYWwgcG9ydCBzdXBwb3J0IgorCWRlcGVuZHMgb24gU0VSSUFMX1NBTVNVTkcgJiYgQ1BVX1MzQzI0MTAKKwlkZWZhdWx0IHkgaWYgQ1BVX1MzQzI0MTAKKwloZWxwCisJICBTZXJpYWwgcG9ydCBzdXBwb3J0IGZvciB0aGUgU2Ftc3VuZyBTM0MyNDEwIFNvQworCitjb25maWcgU0VSSUFMX1MzQzI0MTIKKwl0cmlzdGF0ZSAiU2Ftc3VuZyBTM0MyNDEyL1MzQzI0MTMgU2VyaWFsIHBvcnQgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIFNFUklBTF9TQU1TVU5HICYmIENQVV9TM0MyNDEyCisJZGVmYXVsdCB5IGlmIENQVV9TM0MyNDEyCisJaGVscAorCSAgU2VyaWFsIHBvcnQgc3VwcG9ydCBmb3IgdGhlIFNhbXN1bmcgUzNDMjQxMiBhbmQgUzNDMjQxMyBTb0MKKworY29uZmlnIFNFUklBTF9TM0MyNDQwCisJdHJpc3RhdGUgIlNhbXN1bmcgUzNDMjQ0MC9TM0MyNDQyIFNlcmlhbCBwb3J0IHN1cHBvcnQiCisJZGVwZW5kcyBvbiBTRVJJQUxfU0FNU1VORyAmJiAoQ1BVX1MzQzI0NDAgfHwgQ1BVX1MzQzI0NDIpCisJZGVmYXVsdCB5IGlmIENQVV9TM0MyNDQwCisJZGVmYXVsdCB5IGlmIENQVV9TM0MyNDQyCisJaGVscAorCSAgU2VyaWFsIHBvcnQgc3VwcG9ydCBmb3IgdGhlIFNhbXN1bmcgUzNDMjQ0MCBhbmQgUzNDMjQ0MiBTb0MKKworCisKIGNvbmZpZyBTRVJJQUxfRFoKIAlib29sICJERUNzdGF0aW9uIERaIHNlcmlhbCBkcml2ZXIiCiAJZGVwZW5kcyBvbiBNQUNIX0RFQ1NUQVRJT04gJiYgMzJCSVQKQEAgLTc1Myw3ICs3ODksNyBAQAogCiBjb25maWcgU0VSSUFMX0lNWAogCWJvb2wgIklNWCBzZXJpYWwgcG9ydCBzdXBwb3J0IgotCWRlcGVuZHMgb24gQVJNICYmIEFSQ0hfSU1YCisJZGVwZW5kcyBvbiBBUk0gJiYgKEFSQ0hfSU1YIHx8IEFSQ0hfTVhDKQogCXNlbGVjdCBTRVJJQUxfQ09SRQogCWhlbHAKIAkgIElmIHlvdSBoYXZlIGEgbWFjaGluZSBiYXNlZCBvbiBhIE1vdG9yb2xhIElNWCBDUFUgeW91CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9NYWtlZmlsZSBiL2RyaXZlcnMvc2VyaWFsL01ha2VmaWxlCmluZGV4IDBkOWMwOWIuLjdkODVjMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2VyaWFsL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvc2VyaWFsL01ha2VmaWxlCkBAIC0yOCw3ICsyOCwxMSBAQAogb2JqLSQoQ09ORklHX1NFUklBTF9TQTExMDApICs9IHNhMTEwMC5vCiBvYmotJChDT05GSUdfU0VSSUFMX0JGSU4pICs9IGJmaW5fNXh4Lm8KIG9iai0kKENPTkZJR19TRVJJQUxfQkZJTl9TUE9SVCkgKz0gYmZpbl9zcG9ydF91YXJ0Lm8KK29iai0kKENPTkZJR19TRVJJQUxfU0FNU1VORykgKz0gc2Ftc3VuZy5vCitvYmotJChDT05GSUdfU0VSSUFMX1MzQzI0MDApICs9IHMzYzI0MDAubwogb2JqLSQoQ09ORklHX1NFUklBTF9TM0MyNDEwKSArPSBzM2MyNDEwLm8KK29iai0kKENPTkZJR19TRVJJQUxfUzNDMjQxMikgKz0gczNjMjQxMi5vCitvYmotJChDT05GSUdfU0VSSUFMX1MzQzI0NDApICs9IHMzYzI0NDAubwogb2JqLSQoQ09ORklHX1NFUklBTF9TVU5DT1JFKSArPSBzdW5jb3JlLm8KIG9iai0kKENPTkZJR19TRVJJQUxfU1VOSFYpICs9IHN1bmh2Lm8KIG9iai0kKENPTkZJR19TRVJJQUxfU1VOWklMT0cpICs9IHN1bnppbG9nLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL2F0bWVsX3NlcmlhbC5jIGIvZHJpdmVycy9zZXJpYWwvYXRtZWxfc2VyaWFsLmMKaW5kZXggNDJiZThiMC4uNmFlZWYyMmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2VyaWFsL2F0bWVsX3NlcmlhbC5jCisrKyBiL2RyaXZlcnMvc2VyaWFsL2F0bWVsX3NlcmlhbC5jCkBAIC0xNDM5LDE0ICsxNDM5LDI5IEBACiB9OwogCiAjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgYm9vbCBhdG1lbF9zZXJpYWxfY2xrX3dpbGxfc3RvcCh2b2lkKQoreworI2lmZGVmIENPTkZJR19BUkNIX0FUOTEKKwlyZXR1cm4gYXQ5MV9zdXNwZW5kX2VudGVyaW5nX3Nsb3dfY2xvY2soKTsKKyNlbHNlCisJcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIHN0YXRpYyBpbnQgYXRtZWxfc2VyaWFsX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAkJCQlwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7CiAJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCXN0cnVjdCBhdG1lbF91YXJ0X3BvcnQgKmF0bWVsX3BvcnQgPSB0b19hdG1lbF91YXJ0X3BvcnQocG9ydCk7CiAKKwlpZiAoYXRtZWxfaXNfY29uc29sZV9wb3J0KHBvcnQpICYmIGNvbnNvbGVfc3VzcGVuZF9lbmFibGVkKSB7CisJCS8qIERyYWluIHRoZSBUWCBzaGlmdGVyICovCisJCXdoaWxlICghKFVBUlRfR0VUX0NTUihwb3J0KSAmIEFUTUVMX1VTX1RYRU1QVFkpKQorCQkJY3B1X3JlbGF4KCk7CisJfQorCiAJaWYgKGRldmljZV9tYXlfd2FrZXVwKCZwZGV2LT5kZXYpCi0JICAgICYmICFhdDkxX3N1c3BlbmRfZW50ZXJpbmdfc2xvd19jbG9jaygpKQorCSAgICAmJiAhYXRtZWxfc2VyaWFsX2Nsa193aWxsX3N0b3AoKSkKIAkJZW5hYmxlX2lycV93YWtlKHBvcnQtPmlycSk7CiAJZWxzZSB7CiAJCXVhcnRfc3VzcGVuZF9wb3J0KCZhdG1lbF91YXJ0LCBwb3J0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL2lteC5jIGIvZHJpdmVycy9zZXJpYWwvaW14LmMKaW5kZXggNWEzNzViZi4uNjRhY2IzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvaW14LmMKKysrIGIvZHJpdmVycy9zZXJpYWwvaW14LmMKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlIDxsaW51eC90dHlfZmxpcC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CkBAIC02MSw2ICs2MiwxMSBAQAogI2RlZmluZSBVQklSICAweGE0IC8qIEJSTSBJbmNyZW1lbnRhbCBSZWdpc3RlciAqLwogI2RlZmluZSBVQk1SICAweGE4IC8qIEJSTSBNb2R1bGF0b3IgUmVnaXN0ZXIgKi8KICNkZWZpbmUgVUJSQyAgMHhhYyAvKiBCYXVkIFJhdGUgQ291bnQgUmVnaXN0ZXIgKi8KKyNpZiBkZWZpbmVkIENPTkZJR19BUkNIX01YMyB8fCBkZWZpbmVkIENPTkZJR19BUkNIX01YMgorI2RlZmluZSBPTkVNUyAweGIwIC8qIE9uZSBNaWxsaXNlY29uZCByZWdpc3RlciAqLworI2RlZmluZSBVVFMgICAweGI0IC8qIFVBUlQgVGVzdCBSZWdpc3RlciAqLworI2VuZGlmCisjaWZkZWYgQ09ORklHX0FSQ0hfSU1YCiAjZGVmaW5lIEJJUFIxIDB4YjAgLyogSW5jcmVtZW50YWwgUHJlc2V0IFJlZ2lzdGVyIDEgKi8KICNkZWZpbmUgQklQUjIgMHhiNCAvKiBJbmNyZW1lbnRhbCBQcmVzZXQgUmVnaXN0ZXIgMiAqLwogI2RlZmluZSBCSVBSMyAweGI4IC8qIEluY3JlbWVudGFsIFByZXNldCBSZWdpc3RlciAzICovCkBAIC03MCw2ICs3Niw3IEBACiAjZGVmaW5lIEJNUFIzIDB4YzggLyogQlJNIE1vZHVsYXRvciBSZWdpc3RlciAzICovCiAjZGVmaW5lIEJNUFI0IDB4Y2MgLyogQlJNIE1vZHVsYXRvciBSZWdpc3RlciA0ICovCiAjZGVmaW5lIFVUUyAgIDB4ZDAgLyogVUFSVCBUZXN0IFJlZ2lzdGVyICovCisjZW5kaWYKIAogLyogVUFSVCBDb250cm9sIFJlZ2lzdGVyIEJpdCBGaWVsZHMuKi8KICNkZWZpbmUgIFVSWERfQ0hBUlJEWSAgICAoMTw8MTUpCkBAIC04OSw3ICs5NiwxMiBAQAogI2RlZmluZSAgVUNSMV9SVFNERU4gICAgICgxPDw1KQkgLyogUlRTIGRlbHRhIGludGVycnVwdCBlbmFibGUgKi8KICNkZWZpbmUgIFVDUjFfU05EQlJLICAgICAoMTw8NCkJIC8qIFNlbmQgYnJlYWsgKi8KICNkZWZpbmUgIFVDUjFfVERNQUVOICAgICAoMTw8MykJIC8qIFRyYW5zbWl0dGVyIHJlYWR5IERNQSBlbmFibGUgKi8KKyNpZmRlZiBDT05GSUdfQVJDSF9JTVgKICNkZWZpbmUgIFVDUjFfVUFSVENMS0VOICAoMTw8MikJIC8qIFVBUlQgY2xvY2sgZW5hYmxlZCAqLworI2VuZGlmCisjaWYgZGVmaW5lZCBDT05GSUdfQVJDSF9NWDMgfHwgZGVmaW5lZCBDT05GSUdfQVJDSF9NWDIKKyNkZWZpbmUgIFVDUjFfVUFSVENMS0VOICAoMCkJIC8qIG5vdCBwcmVzZW50IG9uIG14Mi9teDMgKi8KKyNlbmRpZgogI2RlZmluZSAgVUNSMV9ET1pFICAgICAgICgxPDwxKQkgLyogRG96ZSAqLwogI2RlZmluZSAgVUNSMV9VQVJURU4gICAgICgxPDwwKQkgLyogVUFSVCBlbmFibGVkICovCiAjZGVmaW5lICBVQ1IyX0VTQ0kgICAgIAkgKDE8PDE1KSAvKiBFc2NhcGUgc2VxIGludGVycnVwdCBlbmFibGUgKi8KQEAgLTE2Myw4ICsxNzUsMTkgQEAKICNkZWZpbmUgIFVUU19TT0ZUUlNUCSAoMTw8MCkJIC8qIFNvZnR3YXJlIHJlc2V0ICovCiAKIC8qIFdlJ3ZlIGJlZW4gYXNzaWduZWQgYSByYW5nZSBvbiB0aGUgIkxvdy1kZW5zaXR5IHNlcmlhbCBwb3J0cyIgbWFqb3IgKi8KKyNpZmRlZiBDT05GSUdfQVJDSF9JTVgKICNkZWZpbmUgU0VSSUFMX0lNWF9NQUpPUgkyMDQKICNkZWZpbmUgTUlOT1JfU1RBUlQJCTQxCisjZGVmaW5lIERFVl9OQU1FCQkidHR5U01YIgorI2RlZmluZSBNQVhfSU5URVJOQUxfSVJRCUlNWF9JUlFTCisjZW5kaWYKKworI2lmIGRlZmluZWQgQ09ORklHX0FSQ0hfTVgzIHx8IGRlZmluZWQgQ09ORklHX0FSQ0hfTVgyCisjZGVmaW5lIFNFUklBTF9JTVhfTUFKT1IgICAgICAgIDIwNworI2RlZmluZSBNSU5PUl9TVEFSVAkgICAgICAgIDE2CisjZGVmaW5lIERFVl9OQU1FCQkidHR5bXhjIgorI2RlZmluZSBNQVhfSU5URVJOQUxfSVJRCU1YQ19NQVhfSU5UX0xJTkVTCisjZW5kaWYKIAogLyoKICAqIFRoaXMgZGV0ZXJtaW5lcyBob3cgb2Z0ZW4gd2UgY2hlY2sgdGhlIG1vZGVtIHN0YXR1cyBzaWduYWxzCkBAIC0xNzYsMTIgKzE5OSwxNSBAQAogCiAjZGVmaW5lIERSSVZFUl9OQU1FICJJTVgtdWFydCIKIAorI2RlZmluZSBVQVJUX05SIDgKKwogc3RydWN0IGlteF9wb3J0IHsKIAlzdHJ1Y3QgdWFydF9wb3J0CXBvcnQ7CiAJc3RydWN0IHRpbWVyX2xpc3QJdGltZXI7CiAJdW5zaWduZWQgaW50CQlvbGRfc3RhdHVzOwogCWludAkJCXR4aXJxLHJ4aXJxLHJ0c2lycTsKIAlpbnQJCQloYXZlX3J0c2N0czoxOworCXN0cnVjdCBjbGsJCSpjbGs7CiB9OwogCiAvKgpAQCAtNDA1LDYgKzQzMSwyNiBAQAogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAorc3RhdGljIGlycXJldHVybl90IGlteF9pbnQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBpbXhfcG9ydCAqc3BvcnQgPSBkZXZfaWQ7CisJdW5zaWduZWQgaW50IHN0czsKKworCXN0cyA9IHJlYWRsKHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVU1IxKTsKKworCWlmIChzdHMgJiBVU1IxX1JSRFkpCisJCWlteF9yeGludChpcnEsIGRldl9pZCk7CisKKwlpZiAoc3RzICYgVVNSMV9UUkRZICYmCisJCQlyZWFkbChzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUNSMSkgJiBVQ1IxX1RYTVBUWUVOKQorCQlpbXhfdHhpbnQoaXJxLCBkZXZfaWQpOworCisJaWYgKHN0cyAmIFVTUjFfUlRTUykKKwkJaW14X3J0c2ludChpcnEsIGRldl9pZCk7CisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKIC8qCiAgKiBSZXR1cm4gVElPQ1NFUl9URU1UIHdoZW4gdHJhbnNtaXR0ZXIgaXMgbm90IGJ1c3kuCiAgKi8KQEAgLTQ3Nyw3ICs1MjMsOCBAQAogCSAqIFJGRElWIGlzIHNldCBzdWNoIHdheSB0byBzYXRpc2Z5IHJlcXVlc3RlZCB1YXJ0Y2xrIHZhbHVlCiAJICovCiAJdmFsID0gVFhUTCA8PCAxMCB8IFJYVEw7Ci0JdWZjcl9yZmRpdiA9IChpbXhfZ2V0X3BlcmNsazEoKSArIHNwb3J0LT5wb3J0LnVhcnRjbGsgLyAyKSAvIHNwb3J0LT5wb3J0LnVhcnRjbGs7CisJdWZjcl9yZmRpdiA9IChjbGtfZ2V0X3JhdGUoc3BvcnQtPmNsaykgKyBzcG9ydC0+cG9ydC51YXJ0Y2xrIC8gMikKKwkJCS8gc3BvcnQtPnBvcnQudWFydGNsazsKIAogCWlmKCF1ZmNyX3JmZGl2KQogCQl1ZmNyX3JmZGl2ID0gMTsKQEAgLTUwOSwyMSArNTU2LDM0IEBACiAJd3JpdGVsKHRlbXAgJiB+VUNSNF9EUkVOLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUNSNCk7CiAKIAkvKgotCSAqIEFsbG9jYXRlIHRoZSBJUlEKKwkgKiBBbGxvY2F0ZSB0aGUgSVJRKHMpIGkuTVgxIGhhcyB0aHJlZSBpbnRlcnJ1cHRzIHdoZXJlYXMgbGF0ZXIKKwkgKiBjaGlwcyBvbmx5IGhhdmUgb25lIGludGVycnVwdC4KIAkgKi8KLQlyZXR2YWwgPSByZXF1ZXN0X2lycShzcG9ydC0+cnhpcnEsIGlteF9yeGludCwgMCwKLQkJCSAgICAgRFJJVkVSX05BTUUsIHNwb3J0KTsKLQlpZiAocmV0dmFsKSBnb3RvIGVycm9yX291dDE7CisJaWYgKHNwb3J0LT50eGlycSA+IDApIHsKKwkJcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnJ4aXJxLCBpbXhfcnhpbnQsIDAsCisJCQkJRFJJVkVSX05BTUUsIHNwb3J0KTsKKwkJaWYgKHJldHZhbCkKKwkJCWdvdG8gZXJyb3Jfb3V0MTsKIAotCXJldHZhbCA9IHJlcXVlc3RfaXJxKHNwb3J0LT50eGlycSwgaW14X3R4aW50LCAwLAotCQkJICAgICBEUklWRVJfTkFNRSwgc3BvcnQpOwotCWlmIChyZXR2YWwpIGdvdG8gZXJyb3Jfb3V0MjsKKwkJcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnR4aXJxLCBpbXhfdHhpbnQsIDAsCisJCQkJRFJJVkVSX05BTUUsIHNwb3J0KTsKKwkJaWYgKHJldHZhbCkKKwkJCWdvdG8gZXJyb3Jfb3V0MjsKIAotCXJldHZhbCA9IHJlcXVlc3RfaXJxKHNwb3J0LT5ydHNpcnEsIGlteF9ydHNpbnQsCi0JCQkgICAgIChzcG9ydC0+cnRzaXJxIDwgSU1YX0lSUVMpID8gMCA6CisJCXJldHZhbCA9IHJlcXVlc3RfaXJxKHNwb3J0LT5ydHNpcnEsIGlteF9ydHNpbnQsCisJCQkgICAgIChzcG9ydC0+cnRzaXJxIDwgTUFYX0lOVEVSTkFMX0lSUSkgPyAwIDoKIAkJCSAgICAgICBJUlFGX1RSSUdHRVJfRkFMTElORyB8IElSUUZfVFJJR0dFUl9SSVNJTkcsCi0JCQkgICAgIERSSVZFUl9OQU1FLCBzcG9ydCk7Ci0JaWYgKHJldHZhbCkgZ290byBlcnJvcl9vdXQzOworCQkJCURSSVZFUl9OQU1FLCBzcG9ydCk7CisJCWlmIChyZXR2YWwpCisJCQlnb3RvIGVycm9yX291dDM7CisJfSBlbHNlIHsKKwkJcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnBvcnQuaXJxLCBpbXhfaW50LCAwLAorCQkJCURSSVZFUl9OQU1FLCBzcG9ydCk7CisJCWlmIChyZXR2YWwpIHsKKwkJCWZyZWVfaXJxKHNwb3J0LT5wb3J0LmlycSwgc3BvcnQpOworCQkJZ290byBlcnJvcl9vdXQxOworCQl9CisJfQogCiAJLyoKIAkgKiBGaW5hbGx5LCBjbGVhciBhbmQgZW5hYmxlIGludGVycnVwdHMKQEAgLTU0OCw5ICs2MDgsMTEgQEAKIAlyZXR1cm4gMDsKIAogZXJyb3Jfb3V0MzoKLQlmcmVlX2lycShzcG9ydC0+dHhpcnEsIHNwb3J0KTsKKwlpZiAoc3BvcnQtPnR4aXJxKQorCQlmcmVlX2lycShzcG9ydC0+dHhpcnEsIHNwb3J0KTsKIGVycm9yX291dDI6Ci0JZnJlZV9pcnEoc3BvcnQtPnJ4aXJxLCBzcG9ydCk7CisJaWYgKHNwb3J0LT5yeGlycSkKKwkJZnJlZV9pcnEoc3BvcnQtPnJ4aXJxLCBzcG9ydCk7CiBlcnJvcl9vdXQxOgogCXJldHVybiByZXR2YWw7CiB9CkBAIC01NjgsOSArNjMwLDEyIEBACiAJLyoKIAkgKiBGcmVlIHRoZSBpbnRlcnJ1cHRzCiAJICovCi0JZnJlZV9pcnEoc3BvcnQtPnJ0c2lycSwgc3BvcnQpOwotCWZyZWVfaXJxKHNwb3J0LT50eGlycSwgc3BvcnQpOwotCWZyZWVfaXJxKHNwb3J0LT5yeGlycSwgc3BvcnQpOworCWlmIChzcG9ydC0+dHhpcnEgPiAwKSB7CisJCWZyZWVfaXJxKHNwb3J0LT5ydHNpcnEsIHNwb3J0KTsKKwkJZnJlZV9pcnEoc3BvcnQtPnR4aXJxLCBzcG9ydCk7CisJCWZyZWVfaXJxKHNwb3J0LT5yeGlycSwgc3BvcnQpOworCX0gZWxzZQorCQlmcmVlX2lycShzcG9ydC0+cG9ydC5pcnEsIHNwb3J0KTsKIAogCS8qCiAJICogRGlzYWJsZSBhbGwgaW50ZXJydXB0cywgcG9ydCBhbmQgYnJlYWsgY29uZGl0aW9uLgpAQCAtNTg5LDYgKzY1NCw3IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1bnNpZ25lZCBpbnQgdWNyMiwgb2xkX3VjcjEsIG9sZF90eHJ4ZW4sIGJhdWQsIHF1b3Q7CiAJdW5zaWduZWQgaW50IG9sZF9jc2l6ZSA9IG9sZCA/IG9sZC0+Y19jZmxhZyAmIENTSVpFIDogQ1M4OworCXVuc2lnbmVkIGludCBkaXYsIG51bSwgZGVub20sIHVmY3I7CiAKIAkvKgogCSAqIElmIHdlIGRvbid0IHN1cHBvcnQgbW9kZW0gY29udHJvbCBsaW5lcywgZG9uJ3QgYWxsb3cKQEAgLTYzNCw3ICs3MDAsNyBAQAogCS8qCiAJICogQXNrIHRoZSBjb3JlIHRvIGNhbGN1bGF0ZSB0aGUgZGl2aXNvciBmb3IgdXMuCiAJICovCi0JYmF1ZCA9IHVhcnRfZ2V0X2JhdWRfcmF0ZShwb3J0LCB0ZXJtaW9zLCBvbGQsIDAsIHBvcnQtPnVhcnRjbGsvMTYpOworCWJhdWQgPSB1YXJ0X2dldF9iYXVkX3JhdGUocG9ydCwgdGVybWlvcywgb2xkLCA1MCwgcG9ydC0+dWFydGNsayAvIDE2KTsKIAlxdW90ID0gdWFydF9nZXRfZGl2aXNvcihwb3J0LCBiYXVkKTsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZzcG9ydC0+cG9ydC5sb2NrLCBmbGFncyk7CkBAIC02ODQsMTQgKzc1MCw0MSBAQAogCQkJc3BvcnQtPnBvcnQubWVtYmFzZSArIFVDUjIpOwogCW9sZF90eHJ4ZW4gJj0gKFVDUjJfVFhFTiB8IFVDUjJfUlhFTik7CiAKLQkvKiBzZXQgdGhlIGJhdWQgcmF0ZS4gV2UgYXNzdW1lIHVhcnRjbGsgPSAxNiBNSHoKLQkgKgotCSAqIGJhdWQgKiAxNiAgIFVCSVIgLSAxCi0JICogLS0tLS0tLS0tID0gLS0tLS0tLS0KLQkgKiAgdWFydGNsayAgICBVQk1SIC0gMQotCSAqLwotCXdyaXRlbCgoYmF1ZCAvIDEwMCkgLSAxLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUJJUik7Ci0Jd3JpdGVsKDEwMDAwIC0gMSwgc3BvcnQtPnBvcnQubWVtYmFzZSArIFVCTVIpOworCWRpdiA9IHNwb3J0LT5wb3J0LnVhcnRjbGsgLyAoYmF1ZCAqIDE2KTsKKwlpZiAoZGl2ID4gNykKKwkJZGl2ID0gNzsKKwlpZiAoIWRpdikKKwkJZGl2ID0gMTsKKworCW51bSA9IGJhdWQ7CisJZGVub20gPSBwb3J0LT51YXJ0Y2xrIC8gZGl2IC8gMTY7CisKKwkvKiBzaGlmdCBudW0gYW5kIGRlbm9tIHJpZ2h0IHVudGlsIHRoZXkgZml0IGludG8gMTYgYml0cyAqLworCXdoaWxlIChudW0gPiAweDEwMDAwIHx8IGRlbm9tID4gMHgxMDAwMCkgeworCQludW0gPj49IDE7CisJCWRlbm9tID4+PSAxOworCX0KKwlpZiAobnVtID4gMCkKKwkJbnVtIC09IDE7CisJaWYgKGRlbm9tID4gMCkKKwkJZGVub20gLT0gMTsKKworCXdyaXRlbChudW0sIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQklSKTsKKwl3cml0ZWwoZGVub20sIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQk1SKTsKKworCWlmIChkaXYgPT0gNykKKwkJZGl2ID0gNjsgLyogNiBpbiBSRkRJViBtZWFucyBkaXZpZGUgYnkgNyAqLworCWVsc2UKKwkJZGl2ID0gNiAtIGRpdjsKKworCXVmY3IgPSByZWFkbChzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUZDUik7CisJdWZjciA9ICh1ZmNyICYgKH5VRkNSX1JGRElWKSkgfAorCSAgICAoZGl2IDw8IDcpOworCXdyaXRlbCh1ZmNyLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUZDUik7CisKKyNpZmRlZiBPTkVNUworCXdyaXRlbChzcG9ydC0+cG9ydC51YXJ0Y2xrIC8gZGl2IC8gMTAwMCwgc3BvcnQtPnBvcnQubWVtYmFzZSArIE9ORU1TKTsKKyNlbmRpZgogCiAJd3JpdGVsKG9sZF91Y3IxLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUNSMSk7CiAKQEAgLTgwMSw2NSArODk0LDcgQEAKIAkudmVyaWZ5X3BvcnQJPSBpbXhfdmVyaWZ5X3BvcnQsCiB9OwogCi1zdGF0aWMgc3RydWN0IGlteF9wb3J0IGlteF9wb3J0c1tdID0gewotCXsKLQkudHhpcnEgID0gVUFSVDFfTUlOVF9UWCwKLQkucnhpcnEgID0gVUFSVDFfTUlOVF9SWCwKLQkucnRzaXJxID0gVUFSVDFfTUlOVF9SVFMsCi0JLnBvcnQJPSB7Ci0JCS50eXBlCQk9IFBPUlRfSU1YLAotCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkubWVtYmFzZQk9ICh2b2lkICopSU1YX1VBUlQxX0JBU0UsCi0JCS5tYXBiYXNlCT0gMHgwMDIwNjAwMCwKLQkJLmlycQkJPSBVQVJUMV9NSU5UX1JYLAotCQkudWFydGNsawk9IDE2MDAwMDAwLAotCQkuZmlmb3NpemUJPSAzMiwKLQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAotCQkub3BzCQk9ICZpbXhfcG9wcywKLQkJLmxpbmUJCT0gMCwKLQl9LAotCX0sIHsKLQkudHhpcnEgID0gVUFSVDJfTUlOVF9UWCwKLQkucnhpcnEgID0gVUFSVDJfTUlOVF9SWCwKLQkucnRzaXJxID0gVUFSVDJfTUlOVF9SVFMsCi0JLnBvcnQJPSB7Ci0JCS50eXBlCQk9IFBPUlRfSU1YLAotCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkubWVtYmFzZQk9ICh2b2lkICopSU1YX1VBUlQyX0JBU0UsCi0JCS5tYXBiYXNlCT0gMHgwMDIwNzAwMCwKLQkJLmlycQkJPSBVQVJUMl9NSU5UX1JYLAotCQkudWFydGNsawk9IDE2MDAwMDAwLAotCQkuZmlmb3NpemUJPSAzMiwKLQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAotCQkub3BzCQk9ICZpbXhfcG9wcywKLQkJLmxpbmUJCT0gMSwKLQl9LAotCX0KLX07Ci0KLS8qCi0gKiBTZXR1cCB0aGUgSU1YIHNlcmlhbCBwb3J0cy4KLSAqIE5vdGUgYWxzbyB0aGF0IHdlIHN1cHBvcnQgImNvbnNvbGU9dHR5U01YeCIgd2hlcmUgIngiIGlzIGVpdGhlciAwIG9yIDEuCi0gKiBXaGljaCBzZXJpYWwgcG9ydCB0aGlzIGVuZHMgdXAgYmVpbmcgZGVwZW5kcyBvbiB0aGUgbWFjaGluZSB5b3UncmUKLSAqIHJ1bm5pbmcgdGhpcyBrZXJuZWwgb24uICBJJ20gbm90IGNvbnZpbmNlZCB0aGF0IHRoaXMgaXMgYSBnb29kIGlkZWEsCi0gKiBidXQgdGhhdCdzIHRoZSB3YXkgaXQgdHJhZGl0aW9uYWxseSB3b3Jrcy4KLSAqCi0gKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBpbXhfaW5pdF9wb3J0cyh2b2lkKQotewotCXN0YXRpYyBpbnQgZmlyc3QgPSAxOwotCWludCBpOwotCi0JaWYgKCFmaXJzdCkKLQkJcmV0dXJuOwotCWZpcnN0ID0gMDsKLQotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGlteF9wb3J0cyk7IGkrKykgewotCQlpbml0X3RpbWVyKCZpbXhfcG9ydHNbaV0udGltZXIpOwotCQlpbXhfcG9ydHNbaV0udGltZXIuZnVuY3Rpb24gPSBpbXhfdGltZW91dDsKLQkJaW14X3BvcnRzW2ldLnRpbWVyLmRhdGEgICAgID0gKHVuc2lnbmVkIGxvbmcpJmlteF9wb3J0c1tpXTsKLQl9Ci19CitzdGF0aWMgc3RydWN0IGlteF9wb3J0ICppbXhfcG9ydHNbVUFSVF9OUl07CiAKICNpZmRlZiBDT05GSUdfU0VSSUFMX0lNWF9DT05TT0xFCiBzdGF0aWMgdm9pZCBpbXhfY29uc29sZV9wdXRjaGFyKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCBjaCkKQEAgLTg3OCw3ICs5MTMsNyBAQAogc3RhdGljIHZvaWQKIGlteF9jb25zb2xlX3dyaXRlKHN0cnVjdCBjb25zb2xlICpjbywgY29uc3QgY2hhciAqcywgdW5zaWduZWQgaW50IGNvdW50KQogewotCXN0cnVjdCBpbXhfcG9ydCAqc3BvcnQgPSAmaW14X3BvcnRzW2NvLT5pbmRleF07CisJc3RydWN0IGlteF9wb3J0ICpzcG9ydCA9IGlteF9wb3J0c1tjby0+aW5kZXhdOwogCXVuc2lnbmVkIGludCBvbGRfdWNyMSwgb2xkX3VjcjI7CiAKIAkvKgpAQCAtOTQ0LDcgKzk3OSw3IEBACiAJCWVsc2UKIAkJCXVjZnJfcmZkaXYgPSA2IC0gdWNmcl9yZmRpdjsKIAotCQl1YXJ0Y2xrID0gaW14X2dldF9wZXJjbGsxKCk7CisJCXVhcnRjbGsgPSBjbGtfZ2V0X3JhdGUoc3BvcnQtPmNsayk7CiAJCXVhcnRjbGsgLz0gdWNmcl9yZmRpdjsKIAogCQl7CS8qCkBAIC05ODQsNyArMTAxOSw3IEBACiAJICovCiAJaWYgKGNvLT5pbmRleCA9PSAtMSB8fCBjby0+aW5kZXggPj0gQVJSQVlfU0laRShpbXhfcG9ydHMpKQogCQljby0+aW5kZXggPSAwOwotCXNwb3J0ID0gJmlteF9wb3J0c1tjby0+aW5kZXhdOworCXNwb3J0ID0gaW14X3BvcnRzW2NvLT5pbmRleF07CiAKIAlpZiAob3B0aW9ucykKIAkJdWFydF9wYXJzZV9vcHRpb25zKG9wdGlvbnMsICZiYXVkLCAmcGFyaXR5LCAmYml0cywgJmZsb3cpOwpAQCAtOTk4LDcgKzEwMzMsNyBAQAogCiBzdGF0aWMgc3RydWN0IHVhcnRfZHJpdmVyIGlteF9yZWc7CiBzdGF0aWMgc3RydWN0IGNvbnNvbGUgaW14X2NvbnNvbGUgPSB7Ci0JLm5hbWUJCT0gInR0eVNNWCIsCisJLm5hbWUJCT0gREVWX05BTUUsCiAJLndyaXRlCQk9IGlteF9jb25zb2xlX3dyaXRlLAogCS5kZXZpY2UJCT0gdWFydF9jb25zb2xlX2RldmljZSwKIAkuc2V0dXAJCT0gaW14X2NvbnNvbGVfc2V0dXAsCkBAIC0xMDA3LDE0ICsxMDQyLDYgQEAKIAkuZGF0YQkJPSAmaW14X3JlZywKIH07CiAKLXN0YXRpYyBpbnQgX19pbml0IGlteF9yc19jb25zb2xlX2luaXQodm9pZCkKLXsKLQlpbXhfaW5pdF9wb3J0cygpOwotCXJlZ2lzdGVyX2NvbnNvbGUoJmlteF9jb25zb2xlKTsKLQlyZXR1cm4gMDsKLX0KLWNvbnNvbGVfaW5pdGNhbGwoaW14X3JzX2NvbnNvbGVfaW5pdCk7Ci0KICNkZWZpbmUgSU1YX0NPTlNPTEUJJmlteF9jb25zb2xlCiAjZWxzZQogI2RlZmluZSBJTVhfQ09OU09MRQlOVUxMCkBAIC0xMDIzLDcgKzEwNTAsNyBAQAogc3RhdGljIHN0cnVjdCB1YXJ0X2RyaXZlciBpbXhfcmVnID0gewogCS5vd25lciAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5kcml2ZXJfbmFtZSAgICA9IERSSVZFUl9OQU1FLAotCS5kZXZfbmFtZSAgICAgICA9ICJ0dHlTTVgiLAorCS5kZXZfbmFtZSAgICAgICA9IERFVl9OQU1FLAogCS5tYWpvciAgICAgICAgICA9IFNFUklBTF9JTVhfTUFKT1IsCiAJLm1pbm9yICAgICAgICAgID0gTUlOT1JfU1RBUlQsCiAJLm5yICAgICAgICAgICAgID0gQVJSQVlfU0laRShpbXhfcG9ydHMpLApAQCAtMTA1MCwyOSArMTA3Nyw5OCBAQAogICAgICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzZXJpYWxfaW14X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3N0YXRpYyBpbnQgc2VyaWFsX2lteF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogeworCXN0cnVjdCBpbXhfcG9ydCAqc3BvcnQ7CiAJc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSAqcGRhdGE7CisJdm9pZCBfX2lvbWVtICpiYXNlOworCWludCByZXQgPSAwOworCXN0cnVjdCByZXNvdXJjZSAqcmVzOwogCi0JaW14X3BvcnRzW2Rldi0+aWRdLnBvcnQuZGV2ID0gJmRldi0+ZGV2OworCXNwb3J0ID0ga3phbGxvYyhzaXplb2YoKnNwb3J0KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFzcG9ydCkKKwkJcmV0dXJuIC1FTk9NRU07CiAKLQlwZGF0YSA9IChzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhICopZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsKKwlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWlmICghcmVzKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gZnJlZTsKKwl9CisKKwliYXNlID0gaW9yZW1hcChyZXMtPnN0YXJ0LCBQQUdFX1NJWkUpOworCWlmICghYmFzZSkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGZyZWU7CisJfQorCisJc3BvcnQtPnBvcnQuZGV2ID0gJnBkZXYtPmRldjsKKwlzcG9ydC0+cG9ydC5tYXBiYXNlID0gcmVzLT5zdGFydDsKKwlzcG9ydC0+cG9ydC5tZW1iYXNlID0gYmFzZTsKKwlzcG9ydC0+cG9ydC50eXBlID0gUE9SVF9JTVgsCisJc3BvcnQtPnBvcnQuaW90eXBlID0gVVBJT19NRU07CisJc3BvcnQtPnBvcnQuaXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAwKTsKKwlzcG9ydC0+cnhpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOworCXNwb3J0LT50eGlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMSk7CisJc3BvcnQtPnJ0c2lycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMik7CisJc3BvcnQtPnBvcnQuZmlmb3NpemUgPSAzMjsKKwlzcG9ydC0+cG9ydC5vcHMgPSAmaW14X3BvcHM7CisJc3BvcnQtPnBvcnQuZmxhZ3MgPSBVUEZfQk9PVF9BVVRPQ09ORjsKKwlzcG9ydC0+cG9ydC5saW5lID0gcGRldi0+aWQ7CisJaW5pdF90aW1lcigmc3BvcnQtPnRpbWVyKTsKKwlzcG9ydC0+dGltZXIuZnVuY3Rpb24gPSBpbXhfdGltZW91dDsKKwlzcG9ydC0+dGltZXIuZGF0YSAgICAgPSAodW5zaWduZWQgbG9uZylzcG9ydDsKKworCXNwb3J0LT5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJ1YXJ0X2NsayIpOworCWlmIChJU19FUlIoc3BvcnQtPmNsaykpIHsKKwkJcmV0ID0gUFRSX0VSUihzcG9ydC0+Y2xrKTsKKwkJZ290byB1bm1hcDsKKwl9CisJY2xrX2VuYWJsZShzcG9ydC0+Y2xrKTsKKworCXNwb3J0LT5wb3J0LnVhcnRjbGsgPSBjbGtfZ2V0X3JhdGUoc3BvcnQtPmNsayk7CisKKwlpbXhfcG9ydHNbcGRldi0+aWRdID0gc3BvcnQ7CisKKwlwZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOwogCWlmKHBkYXRhICYmIChwZGF0YS0+ZmxhZ3MgJiBJTVhVQVJUX0hBVkVfUlRTQ1RTKSkKLQkJaW14X3BvcnRzW2Rldi0+aWRdLmhhdmVfcnRzY3RzID0gMTsKKwkJc3BvcnQtPmhhdmVfcnRzY3RzID0gMTsKIAotCXVhcnRfYWRkX29uZV9wb3J0KCZpbXhfcmVnLCAmaW14X3BvcnRzW2Rldi0+aWRdLnBvcnQpOwotCXBsYXRmb3JtX3NldF9kcnZkYXRhKGRldiwgJmlteF9wb3J0c1tkZXYtPmlkXSk7CisJaWYgKHBkYXRhLT5pbml0KQorCQlwZGF0YS0+aW5pdChwZGV2KTsKKworCXVhcnRfYWRkX29uZV9wb3J0KCZpbXhfcmVnLCAmc3BvcnQtPnBvcnQpOworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsICZzcG9ydC0+cG9ydCk7CisKIAlyZXR1cm4gMDsKK3VubWFwOgorCWlvdW5tYXAoc3BvcnQtPnBvcnQubWVtYmFzZSk7CitmcmVlOgorCWtmcmVlKHNwb3J0KTsKKworCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgc2VyaWFsX2lteF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQorc3RhdGljIGludCBzZXJpYWxfaW14X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewotCXN0cnVjdCBpbXhfcG9ydCAqc3BvcnQgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgKnBkYXRhOworCXN0cnVjdCBpbXhfcG9ydCAqc3BvcnQgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAotCXBsYXRmb3JtX3NldF9kcnZkYXRhKGRldiwgTlVMTCk7CisJcGRhdGEgPSBwZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsKIAotCWlmIChzcG9ydCkKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKKworCWlmIChzcG9ydCkgewogCQl1YXJ0X3JlbW92ZV9vbmVfcG9ydCgmaW14X3JlZywgJnNwb3J0LT5wb3J0KTsKKwkJY2xrX3B1dChzcG9ydC0+Y2xrKTsKKwl9CisKKwljbGtfZGlzYWJsZShzcG9ydC0+Y2xrKTsKKworCWlmIChwZGF0YS0+ZXhpdCkKKwkJcGRhdGEtPmV4aXQocGRldik7CisKKwlpb3VubWFwKHNwb3J0LT5wb3J0Lm1lbWJhc2UpOworCWtmcmVlKHNwb3J0KTsKIAogCXJldHVybiAwOwogfQpAQCAtMTA5NSw4ICsxMTkxLDYgQEAKIAogCXByaW50ayhLRVJOX0lORk8gIlNlcmlhbDogSU1YIGRyaXZlclxuIik7CiAKLQlpbXhfaW5pdF9wb3J0cygpOwotCiAJcmV0ID0gdWFydF9yZWdpc3Rlcl9kcml2ZXIoJmlteF9yZWcpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9zM2MyNDAwLmMgYi9kcml2ZXJzL3NlcmlhbC9zM2MyNDAwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTExMDIwNQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0MDAuYwpAQCAtMCwwICsxLDEwNiBAQAorLyogbGludXgvZHJpdmVycy9zZXJpYWwvczNjMjQwLmMKKyAqCisgKiBEcml2ZXIgZm9yIFNhbXN1bmcgU29DIG9uYm9hcmQgVUFSVHMuCisgKgorICogQmVuIERvb2tzLCBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKworI2luY2x1ZGUgInNhbXN1bmcuaCIKKworc3RhdGljIGludCBzM2MyNDAwX3NlcmlhbF9nZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKKwkJCQkgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKK3sKKwljbGstPmRpdmlzb3IgPSAxOworCWNsay0+bmFtZSA9ICJwY2xrIjsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX3Jlc2V0cG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcpCit7CisJZGJnKCJzM2MyNDAwX3NlcmlhbF9yZXNldHBvcnQ6IHBvcnQ9JXAgKCUwOGx4KSwgY2ZnPSVwXG4iLAorCSAgICBwb3J0LCBwb3J0LT5tYXBiYXNlLCBjZmcpOworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sICBjZmctPnVjb24pOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTiwgY2ZnLT51bGNvbik7CisKKwkvKiByZXNldCBib3RoIGZpZm9zICovCisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24gfCBTM0MyNDEwX1VGQ09OX1JFU0VUQk9USCk7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvIHMzYzI0MDBfdWFydF9pbmYgPSB7CisJLm5hbWUJCT0gIlNhbXN1bmcgUzNDMjQwMCBVQVJUIiwKKwkudHlwZQkJPSBQT1JUX1MzQzI0MDAsCisJLmZpZm9zaXplCT0gMTYsCisJLnJ4X2ZpZm9tYXNrCT0gUzNDMjQxMF9VRlNUQVRfUlhNQVNLLAorCS5yeF9maWZvc2hpZnQJPSBTM0MyNDEwX1VGU1RBVF9SWFNISUZULAorCS5yeF9maWZvZnVsbAk9IFMzQzI0MTBfVUZTVEFUX1JYRlVMTCwKKwkudHhfZmlmb2Z1bGwJPSBTM0MyNDEwX1VGU1RBVF9UWEZVTEwsCisJLnR4X2ZpZm9tYXNrCT0gUzNDMjQxMF9VRlNUQVRfVFhNQVNLLAorCS50eF9maWZvc2hpZnQJPSBTM0MyNDEwX1VGU1RBVF9UWFNISUZULAorCS5nZXRfY2xrc3JjCT0gczNjMjQwMF9zZXJpYWxfZ2V0c291cmNlLAorCS5zZXRfY2xrc3JjCT0gczNjMjQwMF9zZXJpYWxfc2V0c291cmNlLAorCS5yZXNldF9wb3J0CT0gczNjMjQwMF9zZXJpYWxfcmVzZXRwb3J0LAorfTsKKworc3RhdGljIGludCBzM2MyNDAwX3NlcmlhbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCit7CisJcmV0dXJuIHMzYzI0eHhfc2VyaWFsX3Byb2JlKGRldiwgJnMzYzI0MDBfdWFydF9pbmYpOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBzM2MyNDAwX3NlcmlhbF9kcnYgPSB7CisJLnByb2JlCQk9IHMzYzI0MDBfc2VyaWFsX3Byb2JlLAorCS5yZW1vdmUJCT0gczNjMjR4eF9zZXJpYWxfcmVtb3ZlLAorCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJzM2MyNDAwLXVhcnQiLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9LAorfTsKKworczNjMjR4eF9jb25zb2xlX2luaXQoJnMzYzI0MDBfc2VyaWFsX2RydiwgJnMzYzI0MDBfdWFydF9pbmYpOworCitzdGF0aWMgaW5saW5lIGludCBzM2MyNDAwX3NlcmlhbF9pbml0KHZvaWQpCit7CisJcmV0dXJuIHMzYzI0eHhfc2VyaWFsX2luaXQoJnMzYzI0MDBfc2VyaWFsX2RydiwgJnMzYzI0MDBfdWFydF9pbmYpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgczNjMjQwMF9zZXJpYWxfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDAwX3NlcmlhbF9kcnYpOworfQorCittb2R1bGVfaW5pdChzM2MyNDAwX3NlcmlhbF9pbml0KTsKK21vZHVsZV9leGl0KHMzYzI0MDBfc2VyaWFsX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CitNT0RVTEVfQVVUSE9SKCJCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlNhbXN1bmcgUzNDMjQwMCBTb0MgU2VyaWFsIHBvcnQgZHJpdmVyIik7CitNT0RVTEVfQUxJQVMoInBsYXRmb3JtOnMzYzI0MDAtdWFydCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jIGIvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jCmluZGV4IDJiNmEwMTMuLmM1ZjAzZjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2VyaWFsL3MzYzI0MTAuYworKysgYi9kcml2ZXJzL3NlcmlhbC9zM2MyNDEwLmMKQEAgLTEsMTI3MCArMSwzMCBAQAotLyoKLSAqIGxpbnV4L2RyaXZlcnMvc2VyaWFsL3MzYzI0MTAuYworLyogbGludXgvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jCiAgKgotICogRHJpdmVyIGZvciBvbmJvYXJkIFVBUlRzIG9uIHRoZSBTYW1zdW5nIFMzQzI0WFgKKyAqIERyaXZlciBmb3IgU2Ftc3VuZyBTM0MyNDEwIFNvQyBvbmJvYXJkIFVBUlRzLgogICoKLSAqIEJhc2VkIG9uIGRyaXZlcnMvY2hhci9zZXJpYWwuYyBhbmQgZHJpdmVycy9jaGFyLzIxMjg1LmMKKyAqIEJlbiBEb29rcywgQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUsMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCiAgKgotICogQmVuIERvb2tzLCAoYykgMjAwMy0yMDA1IFNpbXRlYyBFbGVjdHJvbmljcwotICoJaHR0cDovL3d3dy5zaW10ZWMuY28udWsvcHJvZHVjdHMvU1dMSU5VWC8KLSAqCi0gKiBDaGFuZ2Vsb2c6Ci0gKgotICogMjItSnVsLTIwMDQgIEJKRCAgRmluaXNoZWQgb2ZmIGRldmljZSByZXdyaXRlCi0gKgotICogMjEtSnVsLTIwMDQgIEJKRCAgVGhhbmtzIHRvIDxoZXJiZXRAMTN0aGZsb29yLmF0PiBmb3IgcG9pbnRpbmcgb3V0Ci0gKiAgICAgICAgICAgICAgICAgICBwcm9ibGVtcyB3aXRoIGJhdWQgcmF0ZSBhbmQgbG9zcyBvZiBJUiBzZXR0aW5ncy4gVXBkYXRlCi0gKiAgICAgICAgICAgICAgICAgICB0byBhZGQgY29uZmlndXJhdGlvbiB2aWEgcGxhdGZvcm1fZGV2aWNlIHN0cnVjdHVyZQotICoKLSAqIDI4LVNlcC0yMDA0ICBCSkQgIFJlLXdyaXRlIGZvciB0aGUgZm9sbG93aW5nIGl0ZW1zCi0gKgkJICAgICAtIFMzQzI0MTAgYW5kIFMzQzI0NDAgc2VyaWFsIHN1cHBvcnQKLSAqCQkgICAgIC0gUG93ZXIgTWFuYWdlbWVudCBzdXBwb3J0Ci0gKgkJICAgICAtIEZpeCBjb25zb2xlIHZpYSBJckRBIGRldmljZXMKLSAqCQkgICAgIC0gU3lzUmVxIChIZXJiZXJ0IFDDtnR6bCkKLSAqCQkgICAgIC0gQnJlYWsgY2hhcmFjdGVyIGhhbmRsaW5nIChIZXJiZXJ0IFDDtnR6bCkKLSAqCQkgICAgIC0gc3Bpbi1sb2NrIGluaXRpYWxpc2F0aW9uIChEaW1pdHJ5IEFuZHJpYykKLSAqCQkgICAgIC0gYWRkZWQgY2xvY2sgY29udHJvbAotICoJCSAgICAgLSB1cGRhdGVkIGluaXQgY29kZSB0byB1c2UgcGxhdGZvcm1fZGV2aWNlIGluZm8KLSAqCi0gKiAwNi1NYXItMjAwNSAgQkpEICBBZGQgczNjMjQ0MCBmY2xrIGNsb2NrIHNvdXJjZQotICoKLSAqIDA5LU1hci0yMDA1ICBCSkQgIEFkZCBzM2MyNDAwIHN1cHBvcnQKLSAqCi0gKiAxMC1NYXItMjAwNSAgTENWUiBDaGFuZ2VkIFMzQzI0MTBfVkFfVUFSVCB0byBTM0MyNFhYX1ZBX1VBUlQKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCiAqLwogCi0vKiBOb3RlIG9uIDI0NDAgZmNsayBjbG9jayBzb3VyY2UgaGFuZGxpbmcKLSAqCi0gKiBXaGlsc3QgaXQgaXMgcG9zc2libGUgdG8gdXNlIHRoZSBmY2xrIGFzIGNsb2NrIHNvdXJjZSwgdGhlIG1ldGhvZAotICogb2YgcHJvcGVybHkgc3dpdGNoaW5nIHRvby9mcm9tIHRoaXMgaXMgY3VycmVudGx5IHVuLWltcGxlbWVudGVkLCBzbwotICogd2hpY2hldmVyIHdheSBpcyBjb25maWd1cmVkIGF0IHN0YXJ0dXAgaXMgdGhlIG9uZSB0aGF0IHdpbGwgYmUgdXNlZC4KLSovCi0KLS8qIEhvdGUgb24gMjQxMCBlcnJvciBoYW5kbGluZwotICoKLSAqIFRoZSBzM2MyNDEwIG1hbnVhbCBoYXMgYSBsb3ZlL2hhdGUgYWZmYWlyIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZQotICogVUVSU1RBVCByZWdpc3RlciBpbiB0aGUgVUFSVCBibG9ja3MsIGFuZCBrZWVwcyBtYXJraW5nIHNvbWUgb2YgdGhlCi0gKiBlcnJvciBiaXRzIGFzIHJlc2VydmVkLiBIYXZpbmcgY2hlY2tlZCB3aXRoIHRoZSBzM2MyNDEweDAxLAotICogaXQgY29wZXMgd2l0aCBCUkVBS3MgcHJvcGVybHksIHNvIEkgYW0gaGFwcHkgdG8gaWdub3JlIHRoZSBSRVNFUlZFRAotICogZmVhdHVyZSBmcm9tIHRoZSBsYXR0ZXIgdmVyc2lvbnMgb2YgdGhlIG1hbnVhbC4KLSAqCi0gKiBJZiBpdCBiZWNvbWVzIGFwYXJyZW50IHRoYXQgbGF0dGVyIHZlcnNpb25zIG9mIHRoZSAyNDEwIHJlbW92ZSB0aGVzZQotICogYml0cywgdGhlbiBhY3Rpb24gd2lsbCBoYXZlIHRvIGJlIHRha2VuIHRvIGRpZmZlcmVudGlhdGUgdGhlIHZlcnNpb25zCi0gKiBhbmQgY2hhbmdlIHRoZSBwb2xpY3kgb24gQlJFQUsKLSAqCi0gKiBCSkQsIDA0LU5vdi0yMDA0Ci0qLwotCi0KLSNpZiBkZWZpbmVkKENPTkZJR19TRVJJQUxfUzNDMjQxMF9DT05TT0xFKSAmJiBkZWZpbmVkKENPTkZJR19NQUdJQ19TWVNSUSkKLSNkZWZpbmUgU1VQUE9SVF9TWVNSUQotI2VuZGlmCi0KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9zeXNycS5oPgotI2luY2x1ZGUgPGxpbnV4L2NvbnNvbGUuaD4KLSNpbmNsdWRlIDxsaW51eC90dHkuaD4KLSNpbmNsdWRlIDxsaW51eC90dHlfZmxpcC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRlIDxsaW51eC9jbGsuaD4KIAotI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KLQogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3Mtc2VyaWFsLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1ncGlvLmg+CiAKLS8qIHN0cnVjdHVyZXMgKi8KLQotc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvIHsKLQljaGFyCQkJKm5hbWU7Ci0JdW5zaWduZWQgaW50CQl0eXBlOwotCXVuc2lnbmVkIGludAkJZmlmb3NpemU7Ci0JdW5zaWduZWQgbG9uZwkJcnhfZmlmb21hc2s7Ci0JdW5zaWduZWQgbG9uZwkJcnhfZmlmb3NoaWZ0OwotCXVuc2lnbmVkIGxvbmcJCXJ4X2ZpZm9mdWxsOwotCXVuc2lnbmVkIGxvbmcJCXR4X2ZpZm9tYXNrOwotCXVuc2lnbmVkIGxvbmcJCXR4X2ZpZm9zaGlmdDsKLQl1bnNpZ25lZCBsb25nCQl0eF9maWZvZnVsbDsKLQotCS8qIGNsb2NrIHNvdXJjZSBjb250cm9sICovCi0KLQlpbnQgKCpnZXRfY2xrc3JjKShzdHJ1Y3QgdWFydF9wb3J0ICosIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspOwotCWludCAoKnNldF9jbGtzcmMpKHN0cnVjdCB1YXJ0X3BvcnQgKiwgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsayk7Ci0KLQkvKiB1YXJ0IGNvbnRyb2xzICovCi0JaW50ICgqcmVzZXRfcG9ydCkoc3RydWN0IHVhcnRfcG9ydCAqLCBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICopOwotfTsKLQotc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0IHsKLQl1bnNpZ25lZCBjaGFyCQkJcnhfY2xhaW1lZDsKLQl1bnNpZ25lZCBjaGFyCQkJdHhfY2xhaW1lZDsKLQotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbwkqaW5mbzsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYwkqY2xrc3JjOwotCXN0cnVjdCBjbGsJCQkqY2xrOwotCXN0cnVjdCBjbGsJCQkqYmF1ZGNsazsKLQlzdHJ1Y3QgdWFydF9wb3J0CQlwb3J0OwotfTsKLQotCi0vKiBjb25maWd1cmF0aW9uIGRlZmluZXMgKi8KLQotI2lmIDAKLSNpZiAxCi0vKiBzZW5kIGRlYnVnIHRvIHRoZSBsb3ctbGV2ZWwgb3V0cHV0IHJvdXRpbmVzICovCi0KLWV4dGVybiB2b2lkIHByaW50YXNjaWkoY29uc3QgY2hhciAqKTsKLQotc3RhdGljIHZvaWQKLXMzYzI0eHhfc2VyaWFsX2RiZyhjb25zdCBjaGFyICpmbXQsIC4uLikKLXsKLQl2YV9saXN0IHZhOwotCWNoYXIgYnVmZlsyNTZdOwotCi0JdmFfc3RhcnQodmEsIGZtdCk7Ci0JdnNwcmludGYoYnVmZiwgZm10LCB2YSk7Ci0JdmFfZW5kKHZhKTsKLQotCXByaW50YXNjaWkoYnVmZik7Ci19Ci0KLSNkZWZpbmUgZGJnKHguLi4pIHMzYzI0eHhfc2VyaWFsX2RiZyh4KQotCi0jZWxzZQotI2RlZmluZSBkYmcoeC4uLikgcHJpbnRrKEtFUk5fREVCVUcgInMzYzI0eHg6ICIpOwotI2VuZGlmCi0jZWxzZSAvKiBubyBkZWJ1ZyAqLwotI2RlZmluZSBkYmcoeC4uLikgZG8ge30gd2hpbGUoMCkKLSNlbmRpZgotCi0vKiBVQVJUIG5hbWUgYW5kIGRldmljZSBkZWZpbml0aW9ucyAqLwotCi0jZGVmaW5lIFMzQzI0WFhfU0VSSUFMX05BTUUJInR0eVNBQyIKLSNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfTUFKT1IJMjA0Ci0jZGVmaW5lIFMzQzI0WFhfU0VSSUFMX01JTk9SCTY0Ci0KLQotLyogY29udmVyc2lvbiBmdW5jdGlvbnMgKi8KLQotI2RlZmluZSBzM2MyNHh4X2Rldl90b19wb3J0KF9fZGV2KSAoc3RydWN0IHVhcnRfcG9ydCAqKWRldl9nZXRfZHJ2ZGF0YShfX2RldikKLSNkZWZpbmUgczNjMjR4eF9kZXZfdG9fY2ZnKF9fZGV2KSAoc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqKSgoX19kZXYpLT5wbGF0Zm9ybV9kYXRhKQotCi0vKiB3ZSBjYW4gc3VwcG9ydCAzIHVhcnRzLCBidXQgbm90IGFsd2F5cyB1c2UgdGhlbSAqLwotCi0jaWZkZWYgQ09ORklHX0NQVV9TM0MyNDAwCi0jZGVmaW5lIE5SX1BPUlRTICgyKQotI2Vsc2UKLSNkZWZpbmUgTlJfUE9SVFMgKDMpCi0jZW5kaWYKLQotLyogcG9ydCBpcnEgbnVtYmVycyAqLwotCi0jZGVmaW5lIFRYX0lSUShwb3J0KSAoKHBvcnQpLT5pcnEgKyAxKQotI2RlZmluZSBSWF9JUlEocG9ydCkgKChwb3J0KS0+aXJxKQotCi0vKiByZWdpc3RlciBhY2Nlc3MgY29udHJvbHMgKi8KLQotI2RlZmluZSBwb3J0YWRkcihwb3J0LCByZWcpICgocG9ydCktPm1lbWJhc2UgKyAocmVnKSkKLQotI2RlZmluZSByZF9yZWdiKHBvcnQsIHJlZykgKF9fcmF3X3JlYWRiKHBvcnRhZGRyKHBvcnQsIHJlZykpKQotI2RlZmluZSByZF9yZWdsKHBvcnQsIHJlZykgKF9fcmF3X3JlYWRsKHBvcnRhZGRyKHBvcnQsIHJlZykpKQotCi0jZGVmaW5lIHdyX3JlZ2IocG9ydCwgcmVnLCB2YWwpIFwKLSAgZG8geyBfX3Jhd193cml0ZWIodmFsLCBwb3J0YWRkcihwb3J0LCByZWcpKTsgfSB3aGlsZSgwKQotCi0jZGVmaW5lIHdyX3JlZ2wocG9ydCwgcmVnLCB2YWwpIFwKLSAgZG8geyBfX3Jhd193cml0ZWwodmFsLCBwb3J0YWRkcihwb3J0LCByZWcpKTsgfSB3aGlsZSgwKQotCi0vKiBtYWNyb3MgdG8gY2hhbmdlIG9uZSB0aGluZyB0byBhbm90aGVyICovCi0KLSNkZWZpbmUgdHhfZW5hYmxlZChwb3J0KSAoKHBvcnQpLT51bnVzZWRbMF0pCi0jZGVmaW5lIHJ4X2VuYWJsZWQocG9ydCkgKChwb3J0KS0+dW51c2VkWzFdKQotCi0vKiBmbGFnIHRvIGlnbm9yZSBhbGwgY2hhcmFjdGVycyBjb21taW5nIGluICovCi0jZGVmaW5lIFJYU1RBVF9EVU1NWV9SRUFEICgweDEwMDAwMDAwKQotCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqdG9fb3VycG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXJldHVybiBjb250YWluZXJfb2YocG9ydCwgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0LCBwb3J0KTsKLX0KLQotLyogdHJhbnNsYXRlIGEgcG9ydCB0byB0aGUgZGV2aWNlIG5hbWUgKi8KLQotc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXJldHVybiB0b19wbGF0Zm9ybV9kZXZpY2UocG9ydC0+ZGV2KS0+bmFtZTsKLX0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXJldHVybiAocmRfcmVnbChwb3J0LCBTM0MyNDEwX1VUUlNUQVQpICYgUzNDMjQxMF9VVFJTVEFUX1RYRSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3J4X2VuYWJsZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgaW50IHVjb24sIHVmY29uOwotCWludCBjb3VudCA9IDEwMDAwOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKLQotCXdoaWxlICgtLWNvdW50ICYmICFzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhwb3J0KSkKLQkJdWRlbGF5KDEwMCk7Ci0KLQl1ZmNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTik7Ci0JdWZjb24gfD0gUzNDMjQxMF9VRkNPTl9SRVNFVFJYOwotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgdWZjb24pOwotCi0JdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQl1Y29uIHw9IFMzQzI0MTBfVUNPTl9SWElSUU1PREU7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOwotCi0JcnhfZW5hYmxlZChwb3J0KSA9IDE7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9yeF9kaXNhYmxlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBpbnQgdWNvbjsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci0KLQl1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCXVjb24gJj0gflMzQzI0MTBfVUNPTl9SWElSUU1PREU7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOwotCi0JcnhfZW5hYmxlZChwb3J0KSA9IDA7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JaWYgKHR4X2VuYWJsZWQocG9ydCkpIHsKLQkJZGlzYWJsZV9pcnEoVFhfSVJRKHBvcnQpKTsKLQkJdHhfZW5hYmxlZChwb3J0KSA9IDA7Ci0JCWlmIChwb3J0LT5mbGFncyAmIFVQRl9DT05TX0ZMT1cpCi0JCQlzM2MyNHh4X3NlcmlhbF9yeF9lbmFibGUocG9ydCk7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdGFydF90eChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCWlmICghdHhfZW5hYmxlZChwb3J0KSkgewotCQlpZiAocG9ydC0+ZmxhZ3MgJiBVUEZfQ09OU19GTE9XKQotCQkJczNjMjR4eF9zZXJpYWxfcnhfZGlzYWJsZShwb3J0KTsKLQotCQllbmFibGVfaXJxKFRYX0lSUShwb3J0KSk7Ci0JCXR4X2VuYWJsZWQocG9ydCkgPSAxOwotCX0KLX0KLQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdG9wX3J4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JaWYgKHJ4X2VuYWJsZWQocG9ydCkpIHsKLQkJZGJnKCJzM2MyNHh4X3NlcmlhbF9zdG9wX3J4OiBwb3J0PSVwXG4iLCBwb3J0KTsKLQkJZGlzYWJsZV9pcnEoUlhfSVJRKHBvcnQpKTsKLQkJcnhfZW5hYmxlZChwb3J0KSA9IDA7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9lbmFibGVfbXMoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLX0KLQotc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKnMzYzI0eHhfcG9ydF90b19pbmZvKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JcmV0dXJuIHRvX291cnBvcnQocG9ydCktPmluZm87Ci19Ci0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqczNjMjR4eF9wb3J0X3RvX2NmZyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCWlmIChwb3J0LT5kZXYgPT0gTlVMTCkKLQkJcmV0dXJuIE5VTEw7Ci0KLQlyZXR1cm4gKHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKilwb3J0LT5kZXYtPnBsYXRmb3JtX2RhdGE7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcnhfZmlmb2NudChzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQsCi0JCQkJICAgICB1bnNpZ25lZCBsb25nIHVmc3RhdCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBvdXJwb3J0LT5pbmZvOwotCi0JaWYgKHVmc3RhdCAmIGluZm8tPnJ4X2ZpZm9mdWxsKQotCQlyZXR1cm4gaW5mby0+Zmlmb3NpemU7Ci0KLQlyZXR1cm4gKHVmc3RhdCAmIGluZm8tPnJ4X2ZpZm9tYXNrKSA+PiBpbmZvLT5yeF9maWZvc2hpZnQ7Ci19Ci0KLQotLyogPyAtIHdoZXJlIGhhcyBwYXJpdHkgZ29uZT8/ICovCi0jZGVmaW5lIFMzQzI0MTBfVUVSU1RBVF9QQVJJVFkgKDB4MTAwMCkKLQotc3RhdGljIGlycXJldHVybl90Ci1zM2MyNHh4X3NlcmlhbF9yeF9jaGFycyhpbnQgaXJxLCB2b2lkICpkZXZfaWQpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gZGV2X2lkOwotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSAmb3VycG9ydC0+cG9ydDsKLQlzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5ID0gcG9ydC0+aW5mby0+dHR5OwotCXVuc2lnbmVkIGludCB1ZmNvbiwgY2gsIGZsYWcsIHVmc3RhdCwgdWVyc3RhdDsKLQlpbnQgbWF4X2NvdW50ID0gNjQ7Ci0KLQl3aGlsZSAobWF4X2NvdW50LS0gPiAwKSB7Ci0JCXVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKLQkJdWZzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGU1RBVCk7Ci0KLQkJaWYgKHMzYzI0eHhfc2VyaWFsX3J4X2ZpZm9jbnQob3VycG9ydCwgdWZzdGF0KSA9PSAwKQotCQkJYnJlYWs7Ci0KLQkJdWVyc3RhdCA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRVJTVEFUKTsKLQkJY2ggPSByZF9yZWdiKHBvcnQsIFMzQzI0MTBfVVJYSCk7Ci0KLQkJaWYgKHBvcnQtPmZsYWdzICYgVVBGX0NPTlNfRkxPVykgewotCQkJaW50IHR4ZSA9IHMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHBvcnQpOwotCi0JCQlpZiAocnhfZW5hYmxlZChwb3J0KSkgewotCQkJCWlmICghdHhlKSB7Ci0JCQkJCXJ4X2VuYWJsZWQocG9ydCkgPSAwOwotCQkJCQljb250aW51ZTsKLQkJCQl9Ci0JCQl9IGVsc2UgewotCQkJCWlmICh0eGUpIHsKLQkJCQkJdWZjb24gfD0gUzNDMjQxMF9VRkNPTl9SRVNFVFJYOwotCQkJCQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIHVmY29uKTsKLQkJCQkJcnhfZW5hYmxlZChwb3J0KSA9IDE7Ci0JCQkJCWdvdG8gb3V0OwotCQkJCX0KLQkJCQljb250aW51ZTsKLQkJCX0KLQkJfQotCi0JCS8qIGluc2VydCB0aGUgY2hhcmFjdGVyIGludG8gdGhlIGJ1ZmZlciAqLwotCi0JCWZsYWcgPSBUVFlfTk9STUFMOwotCQlwb3J0LT5pY291bnQucngrKzsKLQotCQlpZiAodW5saWtlbHkodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9BTlkpKSB7Ci0JCQlkYmcoInJ4ZXJyOiBwb3J0IGNoPTB4JTAyeCwgcnhzPTB4JTA4eFxuIiwKLQkJCSAgICBjaCwgdWVyc3RhdCk7Ci0KLQkJCS8qIGNoZWNrIGZvciBicmVhayAqLwotCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfQlJFQUspIHsKLQkJCQlkYmcoImJyZWFrIVxuIik7Ci0JCQkJcG9ydC0+aWNvdW50LmJyaysrOwotCQkJCWlmICh1YXJ0X2hhbmRsZV9icmVhayhwb3J0KSkKLQkJCQkgICAgZ290byBpZ25vcmVfY2hhcjsKLQkJCX0KLQotCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfRlJBTUUpCi0JCQkJcG9ydC0+aWNvdW50LmZyYW1lKys7Ci0JCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9PVkVSUlVOKQotCQkJCXBvcnQtPmljb3VudC5vdmVycnVuKys7Ci0KLQkJCXVlcnN0YXQgJj0gcG9ydC0+cmVhZF9zdGF0dXNfbWFzazsKLQotCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfQlJFQUspCi0JCQkJZmxhZyA9IFRUWV9CUkVBSzsKLQkJCWVsc2UgaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfUEFSSVRZKQotCQkJCWZsYWcgPSBUVFlfUEFSSVRZOwotCQkJZWxzZSBpZiAodWVyc3RhdCAmICggUzNDMjQxMF9VRVJTVEFUX0ZSQU1FIHwgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4pKQotCQkJCWZsYWcgPSBUVFlfRlJBTUU7Ci0JCX0KLQotCQlpZiAodWFydF9oYW5kbGVfc3lzcnFfY2hhcihwb3J0LCBjaCkpCi0JCQlnb3RvIGlnbm9yZV9jaGFyOwotCi0JCXVhcnRfaW5zZXJ0X2NoYXIocG9ydCwgdWVyc3RhdCwgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4sIGNoLCBmbGFnKTsKLQotCWlnbm9yZV9jaGFyOgotCQljb250aW51ZTsKLQl9Ci0JdHR5X2ZsaXBfYnVmZmVyX3B1c2godHR5KTsKLQotIG91dDoKLQlyZXR1cm4gSVJRX0hBTkRMRUQ7Ci19Ci0KLXN0YXRpYyBpcnFyZXR1cm5fdCBzM2MyNHh4X3NlcmlhbF90eF9jaGFycyhpbnQgaXJxLCB2b2lkICppZCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSBpZDsKLQlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gJm91cnBvcnQtPnBvcnQ7Ci0Jc3RydWN0IGNpcmNfYnVmICp4bWl0ID0gJnBvcnQtPmluZm8tPnhtaXQ7Ci0JaW50IGNvdW50ID0gMjU2OwotCi0JaWYgKHBvcnQtPnhfY2hhcikgewotCQl3cl9yZWdiKHBvcnQsIFMzQzI0MTBfVVRYSCwgcG9ydC0+eF9jaGFyKTsKLQkJcG9ydC0+aWNvdW50LnR4Kys7Ci0JCXBvcnQtPnhfY2hhciA9IDA7Ci0JCWdvdG8gb3V0OwotCX0KLQotCS8qIGlmIHRoZXJlIGlzbnQgYW55dGhpbmcgbW9yZSB0byB0cmFuc21pdCwgb3IgdGhlIHVhcnQgaXMgbm93Ci0JICogc3RvcHBlZCwgZGlzYWJsZSB0aGUgdWFydCBhbmQgZXhpdAotCSovCi0KLQlpZiAodWFydF9jaXJjX2VtcHR5KHhtaXQpIHx8IHVhcnRfdHhfc3RvcHBlZChwb3J0KSkgewotCQlzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHBvcnQpOwotCQlnb3RvIG91dDsKLQl9Ci0KLQkvKiB0cnkgYW5kIGRyYWluIHRoZSBidWZmZXIuLi4gKi8KLQotCXdoaWxlICghdWFydF9jaXJjX2VtcHR5KHhtaXQpICYmIGNvdW50LS0gPiAwKSB7Ci0JCWlmIChyZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKSAmIG91cnBvcnQtPmluZm8tPnR4X2ZpZm9mdWxsKQotCQkJYnJlYWs7Ci0KLQkJd3JfcmVnYihwb3J0LCBTM0MyNDEwX1VUWEgsIHhtaXQtPmJ1Zlt4bWl0LT50YWlsXSk7Ci0JCXhtaXQtPnRhaWwgPSAoeG1pdC0+dGFpbCArIDEpICYgKFVBUlRfWE1JVF9TSVpFIC0gMSk7Ci0JCXBvcnQtPmljb3VudC50eCsrOwotCX0KLQotCWlmICh1YXJ0X2NpcmNfY2hhcnNfcGVuZGluZyh4bWl0KSA8IFdBS0VVUF9DSEFSUykKLQkJdWFydF93cml0ZV93YWtldXAocG9ydCk7Ci0KLQlpZiAodWFydF9jaXJjX2VtcHR5KHhtaXQpKQotCQlzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHBvcnQpOwotCi0gb3V0OgotCXJldHVybiBJUlFfSEFORExFRDsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCBzM2MyNHh4X3NlcmlhbF90eF9lbXB0eShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCXVuc2lnbmVkIGxvbmcgdWZzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGU1RBVCk7Ci0JdW5zaWduZWQgbG9uZyB1ZmNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTik7Ci0KLQlpZiAodWZjb24gJiBTM0MyNDEwX1VGQ09OX0ZJRk9NT0RFKSB7Ci0JCWlmICgodWZzdGF0ICYgaW5mby0+dHhfZmlmb21hc2spICE9IDAgfHwKLQkJICAgICh1ZnN0YXQgJiBpbmZvLT50eF9maWZvZnVsbCkpCi0JCQlyZXR1cm4gMDsKLQotCQlyZXR1cm4gMTsKLQl9Ci0KLQlyZXR1cm4gczNjMjR4eF9zZXJpYWxfdHhlbXB0eV9ub2ZpZm8ocG9ydCk7Ci19Ci0KLS8qIG5vIG1vZGVtIGNvbnRyb2wgbGluZXMgKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgczNjMjR4eF9zZXJpYWxfZ2V0X21jdHJsKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JdW5zaWduZWQgaW50IHVtc3RhdCA9IHJkX3JlZ2IocG9ydCxTM0MyNDEwX1VNU1RBVCk7Ci0KLQlpZiAodW1zdGF0ICYgUzNDMjQxMF9VTVNUQVRfQ1RTKQotCQlyZXR1cm4gVElPQ01fQ0FSIHwgVElPQ01fRFNSIHwgVElPQ01fQ1RTOwotCWVsc2UKLQkJcmV0dXJuIFRJT0NNX0NBUiB8IFRJT0NNX0RTUjsKLX0KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfc2V0X21jdHJsKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHVuc2lnbmVkIGludCBtY3RybCkKLXsKLQkvKiB0b2RvIC0gcG9zc2libHkgcmVtb3ZlIEFGQyBhbmQgZG8gbWFudWFsIENUUyAqLwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9icmVha19jdGwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGJyZWFrX3N0YXRlKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgaW50IHVjb247Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotCi0JdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQotCWlmIChicmVha19zdGF0ZSkKLQkJdWNvbiB8PSBTM0MyNDEwX1VDT05fU0JSRUFLOwotCWVsc2UKLQkJdWNvbiAmPSB+UzNDMjQxMF9VQ09OX1NCUkVBSzsKLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCB1Y29uKTsKLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKLX0KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfc2h1dGRvd24oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOwotCi0JaWYgKG91cnBvcnQtPnR4X2NsYWltZWQpIHsKLQkJZnJlZV9pcnEoVFhfSVJRKHBvcnQpLCBvdXJwb3J0KTsKLQkJdHhfZW5hYmxlZChwb3J0KSA9IDA7Ci0JCW91cnBvcnQtPnR4X2NsYWltZWQgPSAwOwotCX0KLQotCWlmIChvdXJwb3J0LT5yeF9jbGFpbWVkKSB7Ci0JCWZyZWVfaXJxKFJYX0lSUShwb3J0KSwgb3VycG9ydCk7Ci0JCW91cnBvcnQtPnJ4X2NsYWltZWQgPSAwOwotCQlyeF9lbmFibGVkKHBvcnQpID0gMDsKLQl9Ci19Ci0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9zdGFydHVwKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKLQlpbnQgcmV0OwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9zdGFydHVwOiBwb3J0PSVwICglMDhseCwlcClcbiIsCi0JICAgIHBvcnQtPm1hcGJhc2UsIHBvcnQtPm1lbWJhc2UpOwotCi0JcnhfZW5hYmxlZChwb3J0KSA9IDE7Ci0KLQlyZXQgPSByZXF1ZXN0X2lycShSWF9JUlEocG9ydCksCi0JCQkgIHMzYzI0eHhfc2VyaWFsX3J4X2NoYXJzLCAwLAotCQkJICBzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShwb3J0KSwgb3VycG9ydCk7Ci0KLQlpZiAocmV0ICE9IDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJjYW5ub3QgZ2V0IGlycSAlZFxuIiwgUlhfSVJRKHBvcnQpKTsKLQkJcmV0dXJuIHJldDsKLQl9Ci0KLQlvdXJwb3J0LT5yeF9jbGFpbWVkID0gMTsKLQotCWRiZygicmVxdWVzdGluZyB0eCBpcnEuLi5cbiIpOwotCi0JdHhfZW5hYmxlZChwb3J0KSA9IDE7Ci0KLQlyZXQgPSByZXF1ZXN0X2lycShUWF9JUlEocG9ydCksCi0JCQkgIHMzYzI0eHhfc2VyaWFsX3R4X2NoYXJzLCAwLAotCQkJICBzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShwb3J0KSwgb3VycG9ydCk7Ci0KLQlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiY2Fubm90IGdldCBpcnEgJWRcbiIsIFRYX0lSUShwb3J0KSk7Ci0JCWdvdG8gZXJyOwotCX0KLQotCW91cnBvcnQtPnR4X2NsYWltZWQgPSAxOwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9zdGFydHVwIG9rXG4iKTsKLQotCS8qIHRoZSBwb3J0IHJlc2V0IGNvZGUgc2hvdWxkIGhhdmUgZG9uZSB0aGUgY29ycmVjdAotCSAqIHJlZ2lzdGVyIHNldHVwIGZvciB0aGUgcG9ydCBjb250cm9scyAqLwotCi0JcmV0dXJuIHJldDsKLQotIGVycjoKLQlzM2MyNHh4X3NlcmlhbF9zaHV0ZG93bihwb3J0KTsKLQlyZXR1cm4gcmV0OwotfQotCi0vKiBwb3dlciBwb3dlciBtYW5hZ2VtZW50IGNvbnRyb2wgKi8KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfcG0oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgdW5zaWduZWQgaW50IGxldmVsLAotCQkJICAgICAgdW5zaWduZWQgaW50IG9sZCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOwotCi0Jc3dpdGNoIChsZXZlbCkgewotCWNhc2UgMzoKLQkJaWYgKCFJU19FUlIob3VycG9ydC0+YmF1ZGNsaykgJiYgb3VycG9ydC0+YmF1ZGNsayAhPSBOVUxMKQotCQkJY2xrX2Rpc2FibGUob3VycG9ydC0+YmF1ZGNsayk7Ci0KLQkJY2xrX2Rpc2FibGUob3VycG9ydC0+Y2xrKTsKLQkJYnJlYWs7Ci0KLQljYXNlIDA6Ci0JCWNsa19lbmFibGUob3VycG9ydC0+Y2xrKTsKLQotCQlpZiAoIUlTX0VSUihvdXJwb3J0LT5iYXVkY2xrKSAmJiBvdXJwb3J0LT5iYXVkY2xrICE9IE5VTEwpCi0JCQljbGtfZW5hYmxlKG91cnBvcnQtPmJhdWRjbGspOwotCi0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX0VSUiAiczNjMjR4eF9zZXJpYWw6IHVua25vd24gcG0gJWRcbiIsIGxldmVsKTsKLQl9Ci19Ci0KLS8qIGJhdWQgcmF0ZSBjYWxjdWxhdGlvbgotICoKLSAqIFRoZSBVQVJUcyBvbiB0aGUgUzNDMjQxMC9TM0MyNDQwIGNhbiB0YWtlIHRoZWlyIGNsb2NrcyBmcm9tIGEgbnVtYmVyCi0gKiBvZiBkaWZmZXJlbnQgc291cmNlcywgaW5jbHVkaW5nIHRoZSBwZXJpcGhlcmFsIGNsb2NrICgicGNsayIpIGFuZCBhbgotICogZXh0ZXJuYWwgY2xvY2sgKCJ1Y2xrIikuIFRoZSBTM0MyNDQwIGFsc28gYWRkcyB0aGUgY29yZSBjbG9jayAoImZjbGsiKQotICogd2l0aCBhIHByb2dyYW1tYWJsZSBleHRyYSBkaXZpc29yLgotICoKLSAqIFRoZSBmb2xsb3dpbmcgY29kZSBnb2VzIHRocm91Z2ggdGhlIGNsb2NrIHNvdXJjZXMsIGFuZCBjYWxjdWxhdGVzIHRoZQotICogYmF1ZCBjbG9ja3MgKGFuZCB0aGUgcmVzdWx0YW50IGFjdHVhbCBiYXVkIHJhdGVzKSBhbmQgdGhlbiB0cmllcyB0bwotICogcGljayB0aGUgY2xvc2VzdCBvbmUgYW5kIHNlbGVjdCB0aGF0LgotICoKLSovCi0KLQotI2RlZmluZSBNQVhfQ0xLUyAoOCkKLQotc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjIHRtcF9jbGtzcmMgPSB7Ci0JLm5hbWUJCT0gInBjbGsiLAotCS5taW5fYmF1ZAk9IDAsCi0JLm1heF9iYXVkCT0gMCwKLQkuZGl2aXNvcgk9IDEsCi19OwotCi1zdGF0aWMgaW5saW5lIGludAotczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCi0JcmV0dXJuIChpbmZvLT5nZXRfY2xrc3JjKShwb3J0LCBjKTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQKLXMzYzI0eHhfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqYykKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKLQotCXJldHVybiAoaW5mby0+c2V0X2Nsa3NyYykocG9ydCwgYyk7Ci19Ci0KLXN0cnVjdCBiYXVkX2NhbGMgewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjCSpjbGtzcmM7Ci0JdW5zaWduZWQgaW50CQkJIGNhbGM7Ci0JdW5zaWduZWQgaW50CQkJIHF1b3Q7Ci0Jc3RydWN0IGNsawkJCSpzcmM7Ci19OwotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2NhbGNiYXVkKHN0cnVjdCBiYXVkX2NhbGMgKmNhbGMsCi0JCQkJICAgc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrc3JjLAotCQkJCSAgIHVuc2lnbmVkIGludCBiYXVkKQotewotCXVuc2lnbmVkIGxvbmcgcmF0ZTsKLQotCWNhbGMtPnNyYyA9IGNsa19nZXQocG9ydC0+ZGV2LCBjbGtzcmMtPm5hbWUpOwotCWlmIChjYWxjLT5zcmMgPT0gTlVMTCB8fCBJU19FUlIoY2FsYy0+c3JjKSkKLQkJcmV0dXJuIDA7Ci0KLQlyYXRlID0gY2xrX2dldF9yYXRlKGNhbGMtPnNyYyk7Ci0JcmF0ZSAvPSBjbGtzcmMtPmRpdmlzb3I7Ci0KLQljYWxjLT5jbGtzcmMgPSBjbGtzcmM7Ci0JY2FsYy0+cXVvdCA9IChyYXRlICsgKDggKiBiYXVkKSkgLyAoMTYgKiBiYXVkKTsKLQljYWxjLT5jYWxjID0gKHJhdGUgLyAoY2FsYy0+cXVvdCAqIDE2KSk7Ci0KLQljYWxjLT5xdW90LS07Ci0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgczNjMjR4eF9zZXJpYWxfZ2V0Y2xrKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJCSAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKipjbGtzcmMsCi0JCQkJCSAgc3RydWN0IGNsayAqKmNsaywKLQkJCQkJICB1bnNpZ25lZCBpbnQgYmF1ZCkKLXsKLQlzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcgPSBzM2MyNHh4X3BvcnRfdG9fY2ZnKHBvcnQpOwotCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGtwOwotCXN0cnVjdCBiYXVkX2NhbGMgcmVzW01BWF9DTEtTXTsKLQlzdHJ1Y3QgYmF1ZF9jYWxjICpyZXNwdHIsICpiZXN0LCAqc3B0cjsKLQlpbnQgaTsKLQotCWNsa3AgPSBjZmctPmNsb2NrczsKLQliZXN0ID0gTlVMTDsKLQotCWlmIChjZmctPmNsb2Nrc19zaXplIDwgMikgewotCQlpZiAoY2ZnLT5jbG9ja3Nfc2l6ZSA9PSAwKQotCQkJY2xrcCA9ICZ0bXBfY2xrc3JjOwotCi0JCS8qIGNoZWNrIHRvIHNlZSBpZiB3ZSdyZSBzb3VyY2luZyBmY2xrLCBhbmQgaWYgc28gd2UncmUKLQkJICogZ29pbmcgdG8gaGF2ZSB0byB1cGRhdGUgdGhlIGNsb2NrIHNvdXJjZQotCQkgKi8KLQotCQlpZiAoc3RyY21wKGNsa3AtPm5hbWUsICJmY2xrIikgPT0gMCkgewotCQkJc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgc3JjOwotCi0JCQlzM2MyNHh4X3NlcmlhbF9nZXRzb3VyY2UocG9ydCwgJnNyYyk7Ci0KLQkJCS8qIGNoZWNrIHRoYXQgdGhlIHBvcnQgYWxyZWFkeSB1c2luZyBmY2xrLCBhbmQgaWYKLQkJCSAqIG5vdCwgdGhlbiByZS1zZWxlY3QgZmNsawotCQkJICovCi0KLQkJCWlmIChzdHJjbXAoc3JjLm5hbWUsIGNsa3AtPm5hbWUpID09IDApIHsKLQkJCQlzM2MyNHh4X3NlcmlhbF9zZXRzb3VyY2UocG9ydCwgY2xrcCk7Ci0JCQkJczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHBvcnQsICZzcmMpOwotCQkJfQotCi0JCQljbGtwLT5kaXZpc29yID0gc3JjLmRpdmlzb3I7Ci0JCX0KLQotCQlzM2MyNHh4X3NlcmlhbF9jYWxjYmF1ZChyZXMsIHBvcnQsIGNsa3AsIGJhdWQpOwotCQliZXN0ID0gcmVzOwotCQlyZXNwdHIgPSBiZXN0ICsgMTsKLQl9IGVsc2UgewotCQlyZXNwdHIgPSByZXM7Ci0KLQkJZm9yIChpID0gMDsgaSA8IGNmZy0+Y2xvY2tzX3NpemU7IGkrKywgY2xrcCsrKSB7Ci0JCQlpZiAoczNjMjR4eF9zZXJpYWxfY2FsY2JhdWQocmVzcHRyLCBwb3J0LCBjbGtwLCBiYXVkKSkKLQkJCQlyZXNwdHIrKzsKLQkJfQotCX0KLQotCS8qIG9rLCB3ZSBub3cgbmVlZCB0byBzZWxlY3QgdGhlIGJlc3QgY2xvY2sgd2UgZm91bmQgKi8KLQotCWlmICghYmVzdCkgewotCQl1bnNpZ25lZCBpbnQgZGV2aWF0aW9uID0gKDE8PDMwKXwoKDE8PDMwKS0xKTsKLQkJaW50IGNhbGNfZGV2aWF0aW9uOwotCi0JCWZvciAoc3B0ciA9IHJlczsgc3B0ciA8IHJlc3B0cjsgc3B0cisrKSB7Ci0JCQlwcmludGsoS0VSTl9ERUJVRwotCQkJICAgICAgICJmb3VuZCBjbGsgJXAgKCVzKSBxdW90ICVkLCBjYWxjICVkXG4iLAotCQkJICAgICAgIHNwdHItPmNsa3NyYywgc3B0ci0+Y2xrc3JjLT5uYW1lLAotCQkJICAgICAgIHNwdHItPnF1b3QsIHNwdHItPmNhbGMpOwotCi0JCQljYWxjX2RldmlhdGlvbiA9IGJhdWQgLSBzcHRyLT5jYWxjOwotCQkJaWYgKGNhbGNfZGV2aWF0aW9uIDwgMCkKLQkJCQljYWxjX2RldmlhdGlvbiA9IC1jYWxjX2RldmlhdGlvbjsKLQotCQkJaWYgKGNhbGNfZGV2aWF0aW9uIDwgZGV2aWF0aW9uKSB7Ci0JCQkJYmVzdCA9IHNwdHI7Ci0JCQkJZGV2aWF0aW9uID0gY2FsY19kZXZpYXRpb247Ci0JCQl9Ci0JCX0KLQotCQlwcmludGsoS0VSTl9ERUJVRyAiYmVzdCAlcCAoZGV2aWF0aW9uICVkKVxuIiwgYmVzdCwgZGV2aWF0aW9uKTsKLQl9Ci0KLQlwcmludGsoS0VSTl9ERUJVRyAic2VsZWN0ZWQgY2xvY2sgJXAgKCVzKSBxdW90ICVkLCBjYWxjICVkXG4iLAotCSAgICAgICBiZXN0LT5jbGtzcmMsIGJlc3QtPmNsa3NyYy0+bmFtZSwgYmVzdC0+cXVvdCwgYmVzdC0+Y2FsYyk7Ci0KLQkvKiBzdG9yZSByZXN1bHRzIHRvIHBhc3MgYmFjayAqLwotCi0JKmNsa3NyYyA9IGJlc3QtPmNsa3NyYzsKLQkqY2xrICAgID0gYmVzdC0+c3JjOwotCi0JcmV0dXJuIGJlc3QtPnF1b3Q7Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3NldF90ZXJtaW9zKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgICAgIHN0cnVjdCBrdGVybWlvcyAqdGVybWlvcywKLQkJCQkgICAgICAgc3RydWN0IGt0ZXJtaW9zICpvbGQpCi17Ci0Jc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnID0gczNjMjR4eF9wb3J0X3RvX2NmZyhwb3J0KTsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOwotCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGtzcmMgPSBOVUxMOwotCXN0cnVjdCBjbGsgKmNsayA9IE5VTEw7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBpbnQgYmF1ZCwgcXVvdDsKLQl1bnNpZ25lZCBpbnQgdWxjb247Ci0JdW5zaWduZWQgaW50IHVtY29uOwotCi0JLyoKLQkgKiBXZSBkb24ndCBzdXBwb3J0IG1vZGVtIGNvbnRyb2wgbGluZXMuCi0JICovCi0JdGVybWlvcy0+Y19jZmxhZyAmPSB+KEhVUENMIHwgQ01TUEFSKTsKLQl0ZXJtaW9zLT5jX2NmbGFnIHw9IENMT0NBTDsKLQotCS8qCi0JICogQXNrIHRoZSBjb3JlIHRvIGNhbGN1bGF0ZSB0aGUgZGl2aXNvciBmb3IgdXMuCi0JICovCi0KLQliYXVkID0gdWFydF9nZXRfYmF1ZF9yYXRlKHBvcnQsIHRlcm1pb3MsIG9sZCwgMCwgMTE1MjAwKjgpOwotCi0JaWYgKGJhdWQgPT0gMzg0MDAgJiYgKHBvcnQtPmZsYWdzICYgVVBGX1NQRF9NQVNLKSA9PSBVUEZfU1BEX0NVU1QpCi0JCXF1b3QgPSBwb3J0LT5jdXN0b21fZGl2aXNvcjsKLQllbHNlCi0JCXF1b3QgPSBzM2MyNHh4X3NlcmlhbF9nZXRjbGsocG9ydCwgJmNsa3NyYywgJmNsaywgYmF1ZCk7Ci0KLQkvKiBjaGVjayB0byBzZWUgaWYgd2UgbmVlZCAgdG8gY2hhbmdlIGNsb2NrIHNvdXJjZSAqLwotCi0JaWYgKG91cnBvcnQtPmNsa3NyYyAhPSBjbGtzcmMgfHwgb3VycG9ydC0+YmF1ZGNsayAhPSBjbGspIHsKLQkJczNjMjR4eF9zZXJpYWxfc2V0c291cmNlKHBvcnQsIGNsa3NyYyk7Ci0KLQkJaWYgKG91cnBvcnQtPmJhdWRjbGsgIT0gTlVMTCAmJiAhSVNfRVJSKG91cnBvcnQtPmJhdWRjbGspKSB7Ci0JCQljbGtfZGlzYWJsZShvdXJwb3J0LT5iYXVkY2xrKTsKLQkJCW91cnBvcnQtPmJhdWRjbGsgID0gTlVMTDsKLQkJfQotCi0JCWNsa19lbmFibGUoY2xrKTsKLQotCQlvdXJwb3J0LT5jbGtzcmMgPSBjbGtzcmM7Ci0JCW91cnBvcnQtPmJhdWRjbGsgPSBjbGs7Ci0JfQotCi0Jc3dpdGNoICh0ZXJtaW9zLT5jX2NmbGFnICYgQ1NJWkUpIHsKLQljYXNlIENTNToKLQkJZGJnKCJjb25maWc6IDViaXRzL2NoYXJcbiIpOwotCQl1bGNvbiA9IFMzQzI0MTBfTENPTl9DUzU7Ci0JCWJyZWFrOwotCWNhc2UgQ1M2OgotCQlkYmcoImNvbmZpZzogNmJpdHMvY2hhclxuIik7Ci0JCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTNjsKLQkJYnJlYWs7Ci0JY2FzZSBDUzc6Ci0JCWRiZygiY29uZmlnOiA3Yml0cy9jaGFyXG4iKTsKLQkJdWxjb24gPSBTM0MyNDEwX0xDT05fQ1M3OwotCQlicmVhazsKLQljYXNlIENTODoKLQlkZWZhdWx0OgotCQlkYmcoImNvbmZpZzogOGJpdHMvY2hhclxuIik7Ci0JCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTODsKLQkJYnJlYWs7Ci0JfQotCi0JLyogcHJlc2VydmUgb3JpZ2luYWwgbGNvbiBJUiBzZXR0aW5ncyAqLwotCXVsY29uIHw9IChjZmctPnVsY29uICYgUzNDMjQxMF9MQ09OX0lSTSk7Ci0KLQlpZiAodGVybWlvcy0+Y19jZmxhZyAmIENTVE9QQikKLQkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1NUT1BCOwotCi0JdW1jb24gPSAodGVybWlvcy0+Y19jZmxhZyAmIENSVFNDVFMpID8gUzNDMjQxMF9VTUNPTV9BRkMgOiAwOwotCi0JaWYgKHRlcm1pb3MtPmNfY2ZsYWcgJiBQQVJFTkIpIHsKLQkJaWYgKHRlcm1pb3MtPmNfY2ZsYWcgJiBQQVJPREQpCi0JCQl1bGNvbiB8PSBTM0MyNDEwX0xDT05fUE9ERDsKLQkJZWxzZQotCQkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1BFVkVOOwotCX0gZWxzZSB7Ci0JCXVsY29uIHw9IFMzQzI0MTBfTENPTl9QTk9ORTsKLQl9Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotCi0JZGJnKCJzZXR0aW5nIHVsY29uIHRvICUwOHgsIGJyZGRpdiB0byAlZFxuIiwgdWxjb24sIHF1b3QpOwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCB1bGNvbik7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VCUkRJViwgcXVvdCk7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VNQ09OLCB1bWNvbik7Ci0KLQlkYmcoInVhcnQ6IHVsY29uID0gMHglMDh4LCB1Y29uID0gMHglMDh4LCB1ZmNvbiA9IDB4JTA4eFxuIiwKLQkgICAgcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OKSwKLQkgICAgcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pLAotCSAgICByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04pKTsKLQotCS8qCi0JICogVXBkYXRlIHRoZSBwZXItcG9ydCB0aW1lb3V0LgotCSAqLwotCXVhcnRfdXBkYXRlX3RpbWVvdXQocG9ydCwgdGVybWlvcy0+Y19jZmxhZywgYmF1ZCk7Ci0KLQkvKgotCSAqIFdoaWNoIGNoYXJhY3RlciBzdGF0dXMgZmxhZ3MgYXJlIHdlIGludGVyZXN0ZWQgaW4/Ci0JICovCi0JcG9ydC0+cmVhZF9zdGF0dXNfbWFzayA9IFMzQzI0MTBfVUVSU1RBVF9PVkVSUlVOOwotCWlmICh0ZXJtaW9zLT5jX2lmbGFnICYgSU5QQ0spCi0JCXBvcnQtPnJlYWRfc3RhdHVzX21hc2sgfD0gUzNDMjQxMF9VRVJTVEFUX0ZSQU1FIHwgUzNDMjQxMF9VRVJTVEFUX1BBUklUWTsKLQotCS8qCi0JICogV2hpY2ggY2hhcmFjdGVyIHN0YXR1cyBmbGFncyBzaG91bGQgd2UgaWdub3JlPwotCSAqLwotCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayA9IDA7Ci0JaWYgKHRlcm1pb3MtPmNfaWZsYWcgJiBJR05QQVIpCi0JCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayB8PSBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTjsKLQlpZiAodGVybWlvcy0+Y19pZmxhZyAmIElHTkJSSyAmJiB0ZXJtaW9zLT5jX2lmbGFnICYgSUdOUEFSKQotCQlwb3J0LT5pZ25vcmVfc3RhdHVzX21hc2sgfD0gUzNDMjQxMF9VRVJTVEFUX0ZSQU1FOwotCi0JLyoKLQkgKiBJZ25vcmUgYWxsIGNoYXJhY3RlcnMgaWYgQ1JFQUQgaXMgbm90IHNldC4KLQkgKi8KLQlpZiAoKHRlcm1pb3MtPmNfY2ZsYWcgJiBDUkVBRCkgPT0gMCkKLQkJcG9ydC0+aWdub3JlX3N0YXR1c19tYXNrIHw9IFJYU1RBVF9EVU1NWV9SRUFEOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgY29uc3QgY2hhciAqczNjMjR4eF9zZXJpYWxfdHlwZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXN3aXRjaCAocG9ydC0+dHlwZSkgewotCWNhc2UgUE9SVF9TM0MyNDEwOgotCQlyZXR1cm4gIlMzQzI0MTAiOwotCWNhc2UgUE9SVF9TM0MyNDQwOgotCQlyZXR1cm4gIlMzQzI0NDAiOwotCWNhc2UgUE9SVF9TM0MyNDEyOgotCQlyZXR1cm4gIlMzQzI0MTIiOwotCWRlZmF1bHQ6Ci0JCXJldHVybiBOVUxMOwotCX0KLX0KLQotI2RlZmluZSBNQVBfU0laRSAoMHgxMDApCi0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3JlbGVhc2VfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXJlbGVhc2VfbWVtX3JlZ2lvbihwb3J0LT5tYXBiYXNlLCBNQVBfU0laRSk7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcmVxdWVzdF9wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JY29uc3QgY2hhciAqbmFtZSA9IHMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHBvcnQpOwotCXJldHVybiByZXF1ZXN0X21lbV9yZWdpb24ocG9ydC0+bWFwYmFzZSwgTUFQX1NJWkUsIG5hbWUpID8gMCA6IC1FQlVTWTsKLX0KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfY29uZmlnX3BvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGZsYWdzKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCi0JaWYgKGZsYWdzICYgVUFSVF9DT05GSUdfVFlQRSAmJgotCSAgICBzM2MyNHh4X3NlcmlhbF9yZXF1ZXN0X3BvcnQocG9ydCkgPT0gMCkKLQkJcG9ydC0+dHlwZSA9IGluZm8tPnR5cGU7Ci19Ci0KLS8qCi0gKiB2ZXJpZnkgdGhlIG5ldyBzZXJpYWxfc3RydWN0IChmb3IgVElPQ1NTRVJJQUwpLgotICovCi1zdGF0aWMgaW50Ci1zM2MyNHh4X3NlcmlhbF92ZXJpZnlfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBzdHJ1Y3Qgc2VyaWFsX3N0cnVjdCAqc2VyKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCi0JaWYgKHNlci0+dHlwZSAhPSBQT1JUX1VOS05PV04gJiYgc2VyLT50eXBlICE9IGluZm8tPnR5cGUpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JcmV0dXJuIDA7Ci19Ci0KLQotI2lmZGVmIENPTkZJR19TRVJJQUxfUzNDMjQxMF9DT05TT0xFCi0KLXN0YXRpYyBzdHJ1Y3QgY29uc29sZSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlOwotCi0jZGVmaW5lIFMzQzI0WFhfU0VSSUFMX0NPTlNPTEUgJnMzYzI0eHhfc2VyaWFsX2NvbnNvbGUKLSNlbHNlCi0jZGVmaW5lIFMzQzI0WFhfU0VSSUFMX0NPTlNPTEUgTlVMTAotI2VuZGlmCi0KLXN0YXRpYyBzdHJ1Y3QgdWFydF9vcHMgczNjMjR4eF9zZXJpYWxfb3BzID0gewotCS5wbQkJPSBzM2MyNHh4X3NlcmlhbF9wbSwKLQkudHhfZW1wdHkJPSBzM2MyNHh4X3NlcmlhbF90eF9lbXB0eSwKLQkuZ2V0X21jdHJsCT0gczNjMjR4eF9zZXJpYWxfZ2V0X21jdHJsLAotCS5zZXRfbWN0cmwJPSBzM2MyNHh4X3NlcmlhbF9zZXRfbWN0cmwsCi0JLnN0b3BfdHgJPSBzM2MyNHh4X3NlcmlhbF9zdG9wX3R4LAotCS5zdGFydF90eAk9IHMzYzI0eHhfc2VyaWFsX3N0YXJ0X3R4LAotCS5zdG9wX3J4CT0gczNjMjR4eF9zZXJpYWxfc3RvcF9yeCwKLQkuZW5hYmxlX21zCT0gczNjMjR4eF9zZXJpYWxfZW5hYmxlX21zLAotCS5icmVha19jdGwJPSBzM2MyNHh4X3NlcmlhbF9icmVha19jdGwsCi0JLnN0YXJ0dXAJPSBzM2MyNHh4X3NlcmlhbF9zdGFydHVwLAotCS5zaHV0ZG93bgk9IHMzYzI0eHhfc2VyaWFsX3NodXRkb3duLAotCS5zZXRfdGVybWlvcwk9IHMzYzI0eHhfc2VyaWFsX3NldF90ZXJtaW9zLAotCS50eXBlCQk9IHMzYzI0eHhfc2VyaWFsX3R5cGUsCi0JLnJlbGVhc2VfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX3JlbGVhc2VfcG9ydCwKLQkucmVxdWVzdF9wb3J0CT0gczNjMjR4eF9zZXJpYWxfcmVxdWVzdF9wb3J0LAotCS5jb25maWdfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX2NvbmZpZ19wb3J0LAotCS52ZXJpZnlfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX3ZlcmlmeV9wb3J0LAotfTsKLQotCi1zdGF0aWMgc3RydWN0IHVhcnRfZHJpdmVyIHMzYzI0eHhfdWFydF9kcnYgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5kZXZfbmFtZQk9ICJzM2MyNDEwX3NlcmlhbCIsCi0JLm5yCQk9IDMsCi0JLmNvbnMJCT0gUzNDMjRYWF9TRVJJQUxfQ09OU09MRSwKLQkuZHJpdmVyX25hbWUJPSBTM0MyNFhYX1NFUklBTF9OQU1FLAotCS5tYWpvcgkJPSBTM0MyNFhYX1NFUklBTF9NQUpPUiwKLQkubWlub3IJCT0gUzNDMjRYWF9TRVJJQUxfTUlOT1IsCi19OwotCi1zdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0IHMzYzI0eHhfc2VyaWFsX3BvcnRzW05SX1BPUlRTXSA9IHsKLQlbMF0gPSB7Ci0JCS5wb3J0ID0gewotCQkJLmxvY2sJCT0gX19TUElOX0xPQ0tfVU5MT0NLRUQoczNjMjR4eF9zZXJpYWxfcG9ydHNbMF0ucG9ydC5sb2NrKSwKLQkJCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCQkuaXJxCQk9IElSUV9TM0NVQVJUX1JYMCwKLQkJCS51YXJ0Y2xrCT0gMCwKLQkJCS5maWZvc2l6ZQk9IDE2LAotCQkJLm9wcwkJPSAmczNjMjR4eF9zZXJpYWxfb3BzLAotCQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAotCQkJLmxpbmUJCT0gMCwKLQkJfQotCX0sCi0JWzFdID0gewotCQkucG9ydCA9IHsKLQkJCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHMzYzI0eHhfc2VyaWFsX3BvcnRzWzFdLnBvcnQubG9jayksCi0JCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkJLmlycQkJPSBJUlFfUzNDVUFSVF9SWDEsCi0JCQkudWFydGNsawk9IDAsCi0JCQkuZmlmb3NpemUJPSAxNiwKLQkJCS5vcHMJCT0gJnMzYzI0eHhfc2VyaWFsX29wcywKLQkJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiwKLQkJCS5saW5lCQk9IDEsCi0JCX0KLQl9LAotI2lmIE5SX1BPUlRTID4gMgotCi0JWzJdID0gewotCQkucG9ydCA9IHsKLQkJCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHMzYzI0eHhfc2VyaWFsX3BvcnRzWzJdLnBvcnQubG9jayksCi0JCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkJLmlycQkJPSBJUlFfUzNDVUFSVF9SWDIsCi0JCQkudWFydGNsawk9IDAsCi0JCQkuZmlmb3NpemUJPSAxNiwKLQkJCS5vcHMJCT0gJnMzYzI0eHhfc2VyaWFsX29wcywKLQkJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiwKLQkJCS5saW5lCQk9IDIsCi0JCX0KLQl9Ci0jZW5kaWYKLX07Ci0KLS8qIHMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydAotICoKLSAqIHdyYXBwZXIgdG8gY2FsbCB0aGUgc3BlY2lmaWMgcmVzZXQgZm9yIHRoaXMgcG9ydCAocmVzZXQgdGhlIGZpZm9zCi0gKiBhbmQgdGhlIHNldHRpbmdzKQotKi8KLQotc3RhdGljIGlubGluZSBpbnQgczNjMjR4eF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKiBwb3J0LAotCQkJCQkgICBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7Ci0KLQlyZXR1cm4gKGluZm8tPnJlc2V0X3BvcnQpKHBvcnQsIGNmZyk7Ci19Ci0KLS8qIHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydAotICoKLSAqIGluaXRpYWxpc2UgYSBzaW5nbGUgc2VyaWFsIHBvcnQgZnJvbSB0aGUgcGxhdGZvcm0gZGV2aWNlIGdpdmVuCi0gKi8KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQoc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0LAotCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8sCi0JCQkJICAgIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRkZXYpCi17Ci0Jc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9ICZvdXJwb3J0LT5wb3J0OwotCXN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZzsKLQlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKLQlpbnQgcmV0OwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6IHBvcnQ9JXAsIHBsYXRkZXY9JXBcbiIsIHBvcnQsIHBsYXRkZXYpOwotCi0JaWYgKHBsYXRkZXYgPT0gTlVMTCkKLQkJcmV0dXJuIC1FTk9ERVY7Ci0KLQljZmcgPSBzM2MyNHh4X2Rldl90b19jZmcoJnBsYXRkZXYtPmRldik7Ci0KLQlpZiAocG9ydC0+bWFwYmFzZSAhPSAwKQotCQlyZXR1cm4gMDsKLQotCWlmIChjZmctPmh3cG9ydCA+IDMpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JLyogc2V0dXAgaW5mbyBmb3IgcG9ydCAqLwotCXBvcnQtPmRldgk9ICZwbGF0ZGV2LT5kZXY7Ci0Jb3VycG9ydC0+aW5mbwk9IGluZm87Ci0KLQkvKiBjb3B5IHRoZSBpbmZvIGluIGZyb20gcHJvdmlkZWQgc3RydWN0dXJlICovCi0Jb3VycG9ydC0+cG9ydC5maWZvc2l6ZSA9IGluZm8tPmZpZm9zaXplOwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6ICVwIChodyAlZCkuLi5cbiIsIHBvcnQsIGNmZy0+aHdwb3J0KTsKLQotCXBvcnQtPnVhcnRjbGsgPSAxOwotCi0JaWYgKGNmZy0+dWFydF9mbGFncyAmIFVQRl9DT05TX0ZMT1cpIHsKLQkJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6IGVuYWJsaW5nIGZsb3cgY29udHJvbFxuIik7Ci0JCXBvcnQtPmZsYWdzIHw9IFVQRl9DT05TX0ZMT1c7Ci0JfQotCi0JLyogc29ydCBvdXIgdGhlIHBoeXNpY2FsIGFuZCB2aXJ0dWFsIGFkZHJlc3NlcyBmb3IgZWFjaCBVQVJUICovCi0KLQlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGxhdGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOwotCWlmIChyZXMgPT0gTlVMTCkgewotCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBmaW5kIG1lbW9yeSByZXNvdXJjZSBmb3IgdWFydFxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCWRiZygicmVzb3VyY2UgJXAgKCVseC4uJWx4KVxuIiwgcmVzLCByZXMtPnN0YXJ0LCByZXMtPmVuZCk7Ci0KLQlwb3J0LT5tYXBiYXNlCT0gcmVzLT5zdGFydDsKLQlwb3J0LT5tZW1iYXNlCT0gUzNDMjRYWF9WQV9VQVJUICsgKHJlcy0+c3RhcnQgLSBTM0MyNFhYX1BBX1VBUlQpOwotCXJldCA9IHBsYXRmb3JtX2dldF9pcnEocGxhdGRldiwgMCk7Ci0JaWYgKHJldCA8IDApCi0JCXBvcnQtPmlycSA9IDA7Ci0JZWxzZQotCQlwb3J0LT5pcnEgPSByZXQ7Ci0KLQlvdXJwb3J0LT5jbGsJPSBjbGtfZ2V0KCZwbGF0ZGV2LT5kZXYsICJ1YXJ0Iik7Ci0KLQlkYmcoInBvcnQ6IG1hcD0lMDh4LCBtZW09JTA4eCwgaXJxPSVkLCBjbG9jaz0lbGRcbiIsCi0JICAgIHBvcnQtPm1hcGJhc2UsIHBvcnQtPm1lbWJhc2UsIHBvcnQtPmlycSwgcG9ydC0+dWFydGNsayk7Ci0KLQkvKiByZXNldCB0aGUgZmlmb3MgKGFuZCBzZXR1cCB0aGUgdWFydCkgKi8KLQlzM2MyNHh4X3NlcmlhbF9yZXNldHBvcnQocG9ydCwgY2ZnKTsKLQlyZXR1cm4gMDsKLX0KLQotLyogRGV2aWNlIGRyaXZlciBzZXJpYWwgcG9ydCBwcm9iZSAqLwotCi1zdGF0aWMgaW50IHByb2JlX2luZGV4ID0gMDsKLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsCi0JCQkJc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydDsKLQlpbnQgcmV0OwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9wcm9iZSglcCwgJXApICVkXG4iLCBkZXYsIGluZm8sIHByb2JlX2luZGV4KTsKLQotCW91cnBvcnQgPSAmczNjMjR4eF9zZXJpYWxfcG9ydHNbcHJvYmVfaW5kZXhdOwotCXByb2JlX2luZGV4Kys7Ci0KLQlkYmcoIiVzOiBpbml0aWFsaXNpbmcgcG9ydCAlcC4uLlxuIiwgX19mdW5jX18sIG91cnBvcnQpOwotCi0JcmV0ID0gczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0KG91cnBvcnQsIGluZm8sIGRldik7Ci0JaWYgKHJldCA8IDApCi0JCWdvdG8gcHJvYmVfZXJyOwotCi0JZGJnKCIlczogYWRkaW5nIHBvcnRcbiIsIF9fZnVuY19fKTsKLQl1YXJ0X2FkZF9vbmVfcG9ydCgmczNjMjR4eF91YXJ0X2RydiwgJm91cnBvcnQtPnBvcnQpOwotCXBsYXRmb3JtX3NldF9kcnZkYXRhKGRldiwgJm91cnBvcnQtPnBvcnQpOwotCi0JcmV0dXJuIDA7Ci0KLSBwcm9iZV9lcnI6Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KCZkZXYtPmRldik7Ci0KLQlpZiAocG9ydCkKLQkJdWFydF9yZW1vdmVfb25lX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsIHBvcnQpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qIFVBUlQgcG93ZXIgbWFuYWdlbWVudCBjb2RlICovCi0KLSNpZmRlZiBDT05GSUdfUE0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQotewotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KCZkZXYtPmRldik7Ci0KLQlpZiAocG9ydCkKLQkJdWFydF9zdXNwZW5kX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsIHBvcnQpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKLXsKLQlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gczNjMjR4eF9kZXZfdG9fcG9ydCgmZGV2LT5kZXYpOwotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7Ci0KLQlpZiAocG9ydCkgewotCQljbGtfZW5hYmxlKG91cnBvcnQtPmNsayk7Ci0JCXMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydChwb3J0LCBzM2MyNHh4X3BvcnRfdG9fY2ZnKHBvcnQpKTsKLQkJY2xrX2Rpc2FibGUob3VycG9ydC0+Y2xrKTsKLQotCQl1YXJ0X3Jlc3VtZV9wb3J0KCZzM2MyNHh4X3VhcnRfZHJ2LCBwb3J0KTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotI2Vsc2UKLSNkZWZpbmUgczNjMjR4eF9zZXJpYWxfc3VzcGVuZCBOVUxMCi0jZGVmaW5lIHMzYzI0eHhfc2VyaWFsX3Jlc3VtZSAgTlVMTAotI2VuZGlmCi0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICpkcnYsCi0JCQkgICAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvKQotewotCWRiZygiczNjMjR4eF9zZXJpYWxfaW5pdCglcCwlcClcbiIsIGRydiwgaW5mbyk7Ci0JcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcihkcnYpOwotfQotCi0KLS8qIG5vdyBjb21lcyB0aGUgY29kZSB0byBpbml0aWFsaXNlIGVpdGhlciB0aGUgczNjMjQxMCBvciBzM2MyNDQwIHNlcmlhbAotICogcG9ydCBpbmZvcm1hdGlvbgotKi8KLQotLyogY3B1IHNwZWNpZmljIHZhcmlhdGlvbnMgb24gdGhlIHNlcmlhbCBwb3J0IHN1cHBvcnQgKi8KLQotI2lmZGVmIENPTkZJR19DUFVfUzNDMjQwMAotCi1zdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX2dldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQotewotCWNsay0+ZGl2aXNvciA9IDE7Ci0JY2xrLT5uYW1lID0gInBjbGsiOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKLXsKLQlkYmcoInMzYzI0MDBfc2VyaWFsX3Jlc2V0cG9ydDogcG9ydD0lcCAoJTA4bHgpLCBjZmc9JXBcbiIsCi0JICAgIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7Ci0KLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgIGNmZy0+dWNvbik7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCBjZmctPnVsY29uKTsKLQotCS8qIHJlc2V0IGJvdGggZmlmb3MgKi8KLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbiB8IFMzQzI0MTBfVUZDT05fUkVTRVRCT1RIKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24pOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gczNjMjQwMF91YXJ0X2luZiA9IHsKLQkubmFtZQkJPSAiU2Ftc3VuZyBTM0MyNDAwIFVBUlQiLAotCS50eXBlCQk9IFBPUlRfUzNDMjQwMCwKLQkuZmlmb3NpemUJPSAxNiwKLQkucnhfZmlmb21hc2sJPSBTM0MyNDEwX1VGU1RBVF9SWE1BU0ssCi0JLnJ4X2ZpZm9zaGlmdAk9IFMzQzI0MTBfVUZTVEFUX1JYU0hJRlQsCi0JLnJ4X2ZpZm9mdWxsCT0gUzNDMjQxMF9VRlNUQVRfUlhGVUxMLAotCS50eF9maWZvZnVsbAk9IFMzQzI0MTBfVUZTVEFUX1RYRlVMTCwKLQkudHhfZmlmb21hc2sJPSBTM0MyNDEwX1VGU1RBVF9UWE1BU0ssCi0JLnR4X2ZpZm9zaGlmdAk9IFMzQzI0MTBfVUZTVEFUX1RYU0hJRlQsCi0JLmdldF9jbGtzcmMJPSBzM2MyNDAwX3NlcmlhbF9nZXRzb3VyY2UsCi0JLnNldF9jbGtzcmMJPSBzM2MyNDAwX3NlcmlhbF9zZXRzb3VyY2UsCi0JLnJlc2V0X3BvcnQJPSBzM2MyNDAwX3NlcmlhbF9yZXNldHBvcnQsCi19OwotCi1zdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKLXsKLQlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQwMF91YXJ0X2luZik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0MDBfc2VyaWFsX2RydiA9IHsKLQkucHJvYmUJCT0gczNjMjQwMF9zZXJpYWxfcHJvYmUsCi0JLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCi0JLnN1c3BlbmQJPSBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kLAotCS5yZXN1bWUJCT0gczNjMjR4eF9zZXJpYWxfcmVzdW1lLAotCS5kcml2ZXIJCT0gewotCQkubmFtZQk9ICJzM2MyNDAwLXVhcnQiLAotCQkub3duZXIJPSBUSElTX01PRFVMRSwKLQl9LAotfTsKLQotc3RhdGljIGlubGluZSBpbnQgczNjMjQwMF9zZXJpYWxfaW5pdCh2b2lkKQotewotCXJldHVybiBzM2MyNHh4X3NlcmlhbF9pbml0KCZzM2MyNDAwX3NlcmlhbF9kcnYsICZzM2MyNDAwX3VhcnRfaW5mKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MDBfc2VyaWFsX2V4aXQodm9pZCkKLXsKLQlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmczNjMjQwMF9zZXJpYWxfZHJ2KTsKLX0KLQotI2RlZmluZSBzM2MyNDAwX3VhcnRfaW5mX2F0ICZzM2MyNDAwX3VhcnRfaW5mCi0jZWxzZQotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDAwX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDAwX3NlcmlhbF9leGl0KHZvaWQpCi17Ci19Ci0KLSNkZWZpbmUgczNjMjQwMF91YXJ0X2luZl9hdCBOVUxMCi0KLSNlbmRpZiAvKiBDT05GSUdfQ1BVX1MzQzI0MDAgKi8KLQotLyogUzNDMjQxMCBzdXBwb3J0ICovCi0KLSNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0MTAKKyNpbmNsdWRlICJzYW1zdW5nLmgiCiAKIHN0YXRpYyBpbnQgczNjMjQxMF9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCiAJCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCkBAIC0xMzIzLDggKzgzLDYgQEAKIAkucmVzZXRfcG9ydAk9IHMzYzI0MTBfc2VyaWFsX3Jlc2V0cG9ydCwKIH07CiAKLS8qIGRldmljZSBtYW5hZ2VtZW50ICovCi0KIHN0YXRpYyBpbnQgczNjMjQxMF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQogewogCXJldHVybiBzM2MyNHh4X3NlcmlhbF9wcm9iZShkZXYsICZzM2MyNDEwX3VhcnRfaW5mKTsKQEAgLTEzMzMsNjEyICs5MSwyOCBAQAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjMjQxMF9zZXJpYWxfZHJ2ID0gewogCS5wcm9iZQkJPSBzM2MyNDEwX3NlcmlhbF9wcm9iZSwKIAkucmVtb3ZlCQk9IHMzYzI0eHhfc2VyaWFsX3JlbW92ZSwKLQkuc3VzcGVuZAk9IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQsCi0JLnJlc3VtZQkJPSBzM2MyNHh4X3NlcmlhbF9yZXN1bWUsCiAJLmRyaXZlcgkJPSB7CiAJCS5uYW1lCT0gInMzYzI0MTAtdWFydCIsCiAJCS5vd25lcgk9IFRISVNfTU9EVUxFLAogCX0sCiB9OwogCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDEwX3NlcmlhbF9pbml0KHZvaWQpCitzM2MyNHh4X2NvbnNvbGVfaW5pdCgmczNjMjQxMF9zZXJpYWxfZHJ2LCAmczNjMjQxMF91YXJ0X2luZik7CisKK3N0YXRpYyBpbnQgX19pbml0IHMzYzI0MTBfc2VyaWFsX2luaXQodm9pZCkKIHsKIAlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdCgmczNjMjQxMF9zZXJpYWxfZHJ2LCAmczNjMjQxMF91YXJ0X2luZik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDEwX3NlcmlhbF9leGl0KHZvaWQpCitzdGF0aWMgdm9pZCBfX2V4aXQgczNjMjQxMF9zZXJpYWxfZXhpdCh2b2lkKQogewogCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDEwX3NlcmlhbF9kcnYpOwogfQogCi0jZGVmaW5lIHMzYzI0MTBfdWFydF9pbmZfYXQgJnMzYzI0MTBfdWFydF9pbmYKLSNlbHNlCittb2R1bGVfaW5pdChzM2MyNDEwX3NlcmlhbF9pbml0KTsKK21vZHVsZV9leGl0KHMzYzI0MTBfc2VyaWFsX2V4aXQpOwogCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDEwX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDEwX3NlcmlhbF9leGl0KHZvaWQpCi17Ci19Ci0KLSNkZWZpbmUgczNjMjQxMF91YXJ0X2luZl9hdCBOVUxMCi0KLSNlbmRpZiAvKiBDT05GSUdfQ1BVX1MzQzI0MTAgKi8KLQotI2lmIGRlZmluZWQoQ09ORklHX0NQVV9TM0MyNDQwKSB8fCBkZWZpbmVkKENPTkZJR19DUFVfUzNDMjQ0MikKLQotc3RhdGljIGludCBzM2MyNDQwX3NlcmlhbF9zZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCi17Ci0JdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCi0JLy8gdG9kbyAtIHByb3BlciBmY2xrPD5ub25mY2xrIHN3aXRjaCAvLwotCi0JdWNvbiAmPSB+UzNDMjQ0MF9VQ09OX0NMS01BU0s7Ci0KLQlpZiAoc3RyY21wKGNsay0+bmFtZSwgInVjbGsiKSA9PSAwKQotCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9VQ0xLOwotCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJwY2xrIikgPT0gMCkKLQkJdWNvbiB8PSBTM0MyNDQwX1VDT05fUENMSzsKLQllbHNlIGlmIChzdHJjbXAoY2xrLT5uYW1lLCAiZmNsayIpID09IDApCi0JCXVjb24gfD0gUzNDMjQ0MF9VQ09OX0ZDTEs7Ci0JZWxzZSB7Ci0JCXByaW50ayhLRVJOX0VSUiAidW5rbm93biBjbG9jayBzb3VyY2UgJXNcbiIsIGNsay0+bmFtZSk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCB1Y29uKTsKLQlyZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX2dldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQotewotCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQl1bnNpZ25lZCBsb25nIHVjb24wLCB1Y29uMSwgdWNvbjI7Ci0KLQlzd2l0Y2ggKHVjb24gJiBTM0MyNDQwX1VDT05fQ0xLTUFTSykgewotCWNhc2UgUzNDMjQ0MF9VQ09OX1VDTEs6Ci0JCWNsay0+ZGl2aXNvciA9IDE7Ci0JCWNsay0+bmFtZSA9ICJ1Y2xrIjsKLQkJYnJlYWs7Ci0KLQljYXNlIFMzQzI0NDBfVUNPTl9QQ0xLOgotCWNhc2UgUzNDMjQ0MF9VQ09OX1BDTEsyOgotCQljbGstPmRpdmlzb3IgPSAxOwotCQljbGstPm5hbWUgPSAicGNsayI7Ci0JCWJyZWFrOwotCi0JY2FzZSBTM0MyNDQwX1VDT05fRkNMSzoKLQkJLyogdGhlIGZ1biBvZiBjYWxjdWxhdGluZyB0aGUgdWFydCBkaXZpc29ycyBvbgotCQkgKiB0aGUgczNjMjQ0MCAqLwotCi0JCXVjb24wID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMCArIFMzQzI0MTBfVUNPTik7Ci0JCXVjb24xID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMSArIFMzQzI0MTBfVUNPTik7Ci0JCXVjb24yID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMiArIFMzQzI0MTBfVUNPTik7Ci0KLQkJcHJpbnRrKCJ1Y29uczogJTA4bHgsICUwOGx4LCAlMDhseFxuIiwgdWNvbjAsIHVjb24xLCB1Y29uMik7Ci0KLQkJdWNvbjAgJj0gUzNDMjQ0MF9VQ09OMF9ESVZNQVNLOwotCQl1Y29uMSAmPSBTM0MyNDQwX1VDT04xX0RJVk1BU0s7Ci0JCXVjb24yICY9IFMzQzI0NDBfVUNPTjJfRElWTUFTSzsKLQotCQlpZiAodWNvbjAgIT0gMCkgewotCQkJY2xrLT5kaXZpc29yID0gdWNvbjAgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOwotCQkJY2xrLT5kaXZpc29yICs9IDY7Ci0JCX0gZWxzZSBpZiAodWNvbjEgIT0gMCkgewotCQkJY2xrLT5kaXZpc29yID0gdWNvbjEgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOwotCQkJY2xrLT5kaXZpc29yICs9IDIxOwotCQl9IGVsc2UgaWYgKHVjb24yICE9IDApIHsKLQkJCWNsay0+ZGl2aXNvciA9IHVjb24yID4+IFMzQzI0NDBfVUNPTl9ESVZTSElGVDsKLQkJCWNsay0+ZGl2aXNvciArPSAzNjsKLQkJfSBlbHNlIHsKLQkJCS8qIG1hbnVhbCBjYWxpbXMgNDQsIHNlZW1zIHRvIGJlIDkgKi8KLQkJCWNsay0+ZGl2aXNvciA9IDk7Ci0JCX0KLQotCQljbGstPm5hbWUgPSAiZmNsayI7Ci0JCWJyZWFrOwotCX0KLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgICBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcpCi17Ci0JdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCi0JZGJnKCJzM2MyNDQwX3NlcmlhbF9yZXNldHBvcnQ6IHBvcnQ9JXAgKCUwOGx4KSwgY2ZnPSVwXG4iLAotCSAgICBwb3J0LCBwb3J0LT5tYXBiYXNlLCBjZmcpOwotCi0JLyogZW5zdXJlIHdlIGRvbid0IGNoYW5nZSB0aGUgY2xvY2sgc2V0dGluZ3MuLi4gKi8KLQotCXVjb24gJj0gKFMzQzI0NDBfVUNPTjBfRElWTUFTSyB8ICgzPDwxMCkpOwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sICB1Y29uIHwgY2ZnLT51Y29uKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIGNmZy0+dWxjb24pOwotCi0JLyogcmVzZXQgYm90aCBmaWZvcyAqLwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uIHwgUzNDMjQxMF9VRkNPTl9SRVNFVEJPVEgpOwotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyBzM2MyNDQwX3VhcnRfaW5mID0gewotCS5uYW1lCQk9ICJTYW1zdW5nIFMzQzI0NDAgVUFSVCIsCi0JLnR5cGUJCT0gUE9SVF9TM0MyNDQwLAotCS5maWZvc2l6ZQk9IDY0LAotCS5yeF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1JYTUFTSywKLQkucnhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfUlhTSElGVCwKLQkucnhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9SWEZVTEwsCi0JLnR4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfVFhGVUxMLAotCS50eF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1RYTUFTSywKLQkudHhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfVFhTSElGVCwKLQkuZ2V0X2Nsa3NyYwk9IHMzYzI0NDBfc2VyaWFsX2dldHNvdXJjZSwKLQkuc2V0X2Nsa3NyYwk9IHMzYzI0NDBfc2VyaWFsX3NldHNvdXJjZSwKLQkucmVzZXRfcG9ydAk9IHMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydCwKLX07Ci0KLS8qIGRldmljZSBtYW5hZ2VtZW50ICovCi0KLXN0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCWRiZygiczNjMjQ0MF9zZXJpYWxfcHJvYmU6IGRldj0lcFxuIiwgZGV2KTsKLQlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQ0MF91YXJ0X2luZik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0NDBfc2VyaWFsX2RydiA9IHsKLQkucHJvYmUJCT0gczNjMjQ0MF9zZXJpYWxfcHJvYmUsCi0JLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCi0JLnN1c3BlbmQJPSBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kLAotCS5yZXN1bWUJCT0gczNjMjR4eF9zZXJpYWxfcmVzdW1lLAotCS5kcml2ZXIJCT0gewotCQkubmFtZQk9ICJzM2MyNDQwLXVhcnQiLAotCQkub3duZXIJPSBUSElTX01PRFVMRSwKLQl9LAotfTsKLQotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDQwX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHMzYzI0eHhfc2VyaWFsX2luaXQoJnMzYzI0NDBfc2VyaWFsX2RydiwgJnMzYzI0NDBfdWFydF9pbmYpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgczNjMjQ0MF9zZXJpYWxfZXhpdCh2b2lkKQotewotCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDQwX3NlcmlhbF9kcnYpOwotfQotCi0jZGVmaW5lIHMzYzI0NDBfdWFydF9pbmZfYXQgJnMzYzI0NDBfdWFydF9pbmYKLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0NDBfc2VyaWFsX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0NDBfc2VyaWFsX2V4aXQodm9pZCkKLXsKLX0KLQotI2RlZmluZSBzM2MyNDQwX3VhcnRfaW5mX2F0IE5VTEwKLSNlbmRpZiAvKiBDT05GSUdfQ1BVX1MzQzI0NDAgKi8KLQotI2lmIGRlZmluZWQoQ09ORklHX0NQVV9TM0MyNDEyKQotCi1zdGF0aWMgaW50IHMzYzI0MTJfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKLXsKLQl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0KLQl1Y29uICY9IH5TM0MyNDEyX1VDT05fQ0xLTUFTSzsKLQotCWlmIChzdHJjbXAoY2xrLT5uYW1lLCAidWNsayIpID09IDApCi0JCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1VDTEs7Ci0JZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInBjbGsiKSA9PSAwKQotCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9QQ0xLOwotCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJ1c3lzY2xrIikgPT0gMCkKLQkJdWNvbiB8PSBTM0MyNDEyX1VDT05fVVNZU0NMSzsKLQllbHNlIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJ1bmtub3duIGNsb2NrIHNvdXJjZSAlc1xuIiwgY2xrLT5uYW1lKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOwotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCi17Ci0JdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCi0Jc3dpdGNoICh1Y29uICYgUzNDMjQxMl9VQ09OX0NMS01BU0spIHsKLQljYXNlIFMzQzI0MTJfVUNPTl9VQ0xLOgotCQljbGstPmRpdmlzb3IgPSAxOwotCQljbGstPm5hbWUgPSAidWNsayI7Ci0JCWJyZWFrOwotCi0JY2FzZSBTM0MyNDEyX1VDT05fUENMSzoKLQljYXNlIFMzQzI0MTJfVUNPTl9QQ0xLMjoKLQkJY2xrLT5kaXZpc29yID0gMTsKLQkJY2xrLT5uYW1lID0gInBjbGsiOwotCQlicmVhazsKLQotCWNhc2UgUzNDMjQxMl9VQ09OX1VTWVNDTEs6Ci0JCWNsay0+ZGl2aXNvciA9IDE7Ci0JCWNsay0+bmFtZSA9ICJ1c3lzY2xrIjsKLQkJYnJlYWs7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKLXsKLQl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0KLQlkYmcoIiVzOiBwb3J0PSVwICglMDhseCksIGNmZz0lcFxuIiwKLQkgICAgX19mdW5jX18sIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7Ci0KLQkvKiBlbnN1cmUgd2UgZG9uJ3QgY2hhbmdlIHRoZSBjbG9jayBzZXR0aW5ncy4uLiAqLwotCi0JdWNvbiAmPSBTM0MyNDEyX1VDT05fQ0xLTUFTSzsKLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCAgdWNvbiB8IGNmZy0+dWNvbik7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCBjZmctPnVsY29uKTsKLQotCS8qIHJlc2V0IGJvdGggZmlmb3MgKi8KLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbiB8IFMzQzI0MTBfVUZDT05fUkVTRVRCT1RIKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24pOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gczNjMjQxMl91YXJ0X2luZiA9IHsKLQkubmFtZQkJPSAiU2Ftc3VuZyBTM0MyNDEyIFVBUlQiLAotCS50eXBlCQk9IFBPUlRfUzNDMjQxMiwKLQkuZmlmb3NpemUJPSA2NCwKLQkucnhfZmlmb21hc2sJPSBTM0MyNDQwX1VGU1RBVF9SWE1BU0ssCi0JLnJ4X2ZpZm9zaGlmdAk9IFMzQzI0NDBfVUZTVEFUX1JYU0hJRlQsCi0JLnJ4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfUlhGVUxMLAotCS50eF9maWZvZnVsbAk9IFMzQzI0NDBfVUZTVEFUX1RYRlVMTCwKLQkudHhfZmlmb21hc2sJPSBTM0MyNDQwX1VGU1RBVF9UWE1BU0ssCi0JLnR4X2ZpZm9zaGlmdAk9IFMzQzI0NDBfVUZTVEFUX1RYU0hJRlQsCi0JLmdldF9jbGtzcmMJPSBzM2MyNDEyX3NlcmlhbF9nZXRzb3VyY2UsCi0JLnNldF9jbGtzcmMJPSBzM2MyNDEyX3NlcmlhbF9zZXRzb3VyY2UsCi0JLnJlc2V0X3BvcnQJPSBzM2MyNDEyX3NlcmlhbF9yZXNldHBvcnQsCi19OwotCi0vKiBkZXZpY2UgbWFuYWdlbWVudCAqLwotCi1zdGF0aWMgaW50IHMzYzI0MTJfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKLXsKLQlkYmcoInMzYzI0NDBfc2VyaWFsX3Byb2JlOiBkZXY9JXBcbiIsIGRldik7Ci0JcmV0dXJuIHMzYzI0eHhfc2VyaWFsX3Byb2JlKGRldiwgJnMzYzI0MTJfdWFydF9pbmYpOwotfQotCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBzM2MyNDEyX3NlcmlhbF9kcnYgPSB7Ci0JLnByb2JlCQk9IHMzYzI0MTJfc2VyaWFsX3Byb2JlLAotCS5yZW1vdmUJCT0gczNjMjR4eF9zZXJpYWxfcmVtb3ZlLAotCS5zdXNwZW5kCT0gczNjMjR4eF9zZXJpYWxfc3VzcGVuZCwKLQkucmVzdW1lCQk9IHMzYzI0eHhfc2VyaWFsX3Jlc3VtZSwKLQkuZHJpdmVyCQk9IHsKLQkJLm5hbWUJPSAiczNjMjQxMi11YXJ0IiwKLQkJLm93bmVyCT0gVEhJU19NT0RVTEUsCi0JfSwKLX07Ci0KLQotc3RhdGljIGlubGluZSBpbnQgczNjMjQxMl9zZXJpYWxfaW5pdCh2b2lkKQotewotCXJldHVybiBzM2MyNHh4X3NlcmlhbF9pbml0KCZzM2MyNDEyX3NlcmlhbF9kcnYsICZzM2MyNDEyX3VhcnRfaW5mKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MTJfc2VyaWFsX2V4aXQodm9pZCkKLXsKLQlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmczNjMjQxMl9zZXJpYWxfZHJ2KTsKLX0KLQotI2RlZmluZSBzM2MyNDEyX3VhcnRfaW5mX2F0ICZzM2MyNDEyX3VhcnRfaW5mCi0jZWxzZQotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDEyX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDEyX3NlcmlhbF9leGl0KHZvaWQpCi17Ci19Ci0KLSNkZWZpbmUgczNjMjQxMl91YXJ0X2luZl9hdCBOVUxMCi0jZW5kaWYgLyogQ09ORklHX0NQVV9TM0MyNDQwICovCi0KLQotLyogbW9kdWxlIGluaXRpYWxpc2F0aW9uIGNvZGUgKi8KLQotc3RhdGljIGludCBfX2luaXQgczNjMjR4eF9zZXJpYWxfbW9kaW5pdCh2b2lkKQotewotCWludCByZXQ7Ci0KLQlyZXQgPSB1YXJ0X3JlZ2lzdGVyX2RyaXZlcigmczNjMjR4eF91YXJ0X2Rydik7Ci0JaWYgKHJldCA8IDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgVUFSVCBkcml2ZXJcbiIpOwotCQlyZXR1cm4gLTE7Ci0JfQotCi0JczNjMjQwMF9zZXJpYWxfaW5pdCgpOwotCXMzYzI0MTBfc2VyaWFsX2luaXQoKTsKLQlzM2MyNDEyX3NlcmlhbF9pbml0KCk7Ci0JczNjMjQ0MF9zZXJpYWxfaW5pdCgpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBzM2MyNHh4X3NlcmlhbF9tb2RleGl0KHZvaWQpCi17Ci0JczNjMjQwMF9zZXJpYWxfZXhpdCgpOwotCXMzYzI0MTBfc2VyaWFsX2V4aXQoKTsKLQlzM2MyNDEyX3NlcmlhbF9leGl0KCk7Ci0JczNjMjQ0MF9zZXJpYWxfZXhpdCgpOwotCi0JdWFydF91bnJlZ2lzdGVyX2RyaXZlcigmczNjMjR4eF91YXJ0X2Rydik7Ci19Ci0KLQotbW9kdWxlX2luaXQoczNjMjR4eF9zZXJpYWxfbW9kaW5pdCk7Ci1tb2R1bGVfZXhpdChzM2MyNHh4X3NlcmlhbF9tb2RleGl0KTsKLQotLyogQ29uc29sZSBjb2RlICovCi0KLSNpZmRlZiBDT05GSUdfU0VSSUFMX1MzQzI0MTBfQ09OU09MRQotCi1zdGF0aWMgc3RydWN0IHVhcnRfcG9ydCAqY29uc191YXJ0OwotCi1zdGF0aWMgaW50Ci1zM2MyNHh4X3NlcmlhbF9jb25zb2xlX3R4cmR5KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHVuc2lnbmVkIGludCB1ZmNvbikKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKLQl1bnNpZ25lZCBsb25nIHVmc3RhdCwgdXRyc3RhdDsKLQotCWlmICh1ZmNvbiAmIFMzQzI0MTBfVUZDT05fRklGT01PREUpIHsKLQkJLyogZmlmbyBtb2RlIC0gY2hlY2sgYW1tb3VudCBvZiBkYXRhIGluIGZpZm8gcmVnaXN0ZXJzLi4uICovCi0KLQkJdWZzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGU1RBVCk7Ci0JCXJldHVybiAodWZzdGF0ICYgaW5mby0+dHhfZmlmb2Z1bGwpID8gMCA6IDE7Ci0JfQotCi0JLyogaW4gbm9uLWZpZm8gbW9kZSwgd2UgZ28gYW5kIHVzZSB0aGUgdHggYnVmZmVyIGVtcHR5ICovCi0KLQl1dHJzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VUUlNUQVQpOwotCXJldHVybiAodXRyc3RhdCAmIFMzQzI0MTBfVVRSU1RBVF9UWEUpID8gMSA6IDA7Ci19Ci0KLXN0YXRpYyB2b2lkCi1zM2MyNHh4X3NlcmlhbF9jb25zb2xlX3B1dGNoYXIoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGNoKQotewotCXVuc2lnbmVkIGludCB1ZmNvbiA9IHJkX3JlZ2woY29uc191YXJ0LCBTM0MyNDEwX1VGQ09OKTsKLQl3aGlsZSAoIXMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfdHhyZHkocG9ydCwgdWZjb24pKQotCQliYXJyaWVyKCk7Ci0Jd3JfcmVnYihjb25zX3VhcnQsIFMzQzI0MTBfVVRYSCwgY2gpOwotfQotCi1zdGF0aWMgdm9pZAotczNjMjR4eF9zZXJpYWxfY29uc29sZV93cml0ZShzdHJ1Y3QgY29uc29sZSAqY28sIGNvbnN0IGNoYXIgKnMsCi0JCQkgICAgIHVuc2lnbmVkIGludCBjb3VudCkKLXsKLQl1YXJ0X2NvbnNvbGVfd3JpdGUoY29uc191YXJ0LCBzLCBjb3VudCwgczNjMjR4eF9zZXJpYWxfY29uc29sZV9wdXRjaGFyKTsKLX0KLQotc3RhdGljIHZvaWQgX19pbml0Ci1zM2MyNHh4X3NlcmlhbF9nZXRfb3B0aW9ucyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBpbnQgKmJhdWQsCi0JCQkgICBpbnQgKnBhcml0eSwgaW50ICpiaXRzKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjIGNsa3NyYzsKLQlzdHJ1Y3QgY2xrICpjbGs7Ci0JdW5zaWduZWQgaW50IHVsY29uOwotCXVuc2lnbmVkIGludCB1Y29uOwotCXVuc2lnbmVkIGludCB1YnJkaXY7Ci0JdW5zaWduZWQgbG9uZyByYXRlOwotCi0JdWxjb24gID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OKTsKLQl1Y29uICAgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0JdWJyZGl2ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VCUkRJVik7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2dldF9vcHRpb25zOiBwb3J0PSVwXG4iCi0JICAgICJyZWdpc3RlcnM6IHVsY29uPSUwOHgsIHVjb249JTA4eCwgdWJkcml2PSUwOHhcbiIsCi0JICAgIHBvcnQsIHVsY29uLCB1Y29uLCB1YnJkaXYpOwotCi0JaWYgKCh1Y29uICYgMHhmKSAhPSAwKSB7Ci0JCS8qIGNvbnNpZGVyIHRoZSBzZXJpYWwgcG9ydCBjb25maWd1cmVkIGlmIHRoZSB0eC9yeCBtb2RlIHNldCAqLwotCi0JCXN3aXRjaCAodWxjb24gJiBTM0MyNDEwX0xDT05fQ1NNQVNLKSB7Ci0JCWNhc2UgUzNDMjQxMF9MQ09OX0NTNToKLQkJCSpiaXRzID0gNTsKLQkJCWJyZWFrOwotCQljYXNlIFMzQzI0MTBfTENPTl9DUzY6Ci0JCQkqYml0cyA9IDY7Ci0JCQlicmVhazsKLQkJY2FzZSBTM0MyNDEwX0xDT05fQ1M3OgotCQkJKmJpdHMgPSA3OwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCWNhc2UgUzNDMjQxMF9MQ09OX0NTODoKLQkJCSpiaXRzID0gODsKLQkJCWJyZWFrOwotCQl9Ci0KLQkJc3dpdGNoICh1bGNvbiAmIFMzQzI0MTBfTENPTl9QTUFTSykgewotCQljYXNlIFMzQzI0MTBfTENPTl9QRVZFTjoKLQkJCSpwYXJpdHkgPSAnZSc7Ci0JCQlicmVhazsKLQotCQljYXNlIFMzQzI0MTBfTENPTl9QT0REOgotCQkJKnBhcml0eSA9ICdvJzsKLQkJCWJyZWFrOwotCi0JCWNhc2UgUzNDMjQxMF9MQ09OX1BOT05FOgotCQlkZWZhdWx0OgotCQkJKnBhcml0eSA9ICduJzsKLQkJfQotCi0JCS8qIG5vdyBjYWxjdWxhdGUgdGhlIGJhdWQgcmF0ZSAqLwotCi0JCXMzYzI0eHhfc2VyaWFsX2dldHNvdXJjZShwb3J0LCAmY2xrc3JjKTsKLQotCQljbGsgPSBjbGtfZ2V0KHBvcnQtPmRldiwgY2xrc3JjLm5hbWUpOwotCQlpZiAoIUlTX0VSUihjbGspICYmIGNsayAhPSBOVUxMKQotCQkJcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGspIC8gY2xrc3JjLmRpdmlzb3I7Ci0JCWVsc2UKLQkJCXJhdGUgPSAxOwotCi0KLQkJKmJhdWQgPSByYXRlIC8gKCAxNiAqICh1YnJkaXYgKyAxKSk7Ci0JCWRiZygiY2FsY3VsYXRlZCBiYXVkICVkXG4iLCAqYmF1ZCk7Ci0JfQotCi19Ci0KLS8qIHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHMKLSAqCi0gKiBpbml0aWFsaXNlIHRoZSBzZXJpYWwgcG9ydHMgZnJvbSB0aGUgbWFjaGluZSBwcm92aWRlZCBpbml0aWFsaXNhdGlvbgotICogZGF0YS4KLSovCi0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0cyhzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpwdHIgPSBzM2MyNHh4X3NlcmlhbF9wb3J0czsKLQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICoqcGxhdGRldl9wdHI7Ci0JaW50IGk7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHM6IGluaXRpYWxpc2luZyBwb3J0cy4uLlxuIik7Ci0KLQlwbGF0ZGV2X3B0ciA9IHMzYzI0eHhfdWFydF9kZXZzOwotCi0JZm9yIChpID0gMDsgaSA8IE5SX1BPUlRTOyBpKyssIHB0cisrLCBwbGF0ZGV2X3B0cisrKSB7Ci0JCXMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydChwdHIsIGluZm8sICpwbGF0ZGV2X3B0cik7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0Ci1zM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwKHN0cnVjdCBjb25zb2xlICpjbywgY2hhciAqb3B0aW9ucykKLXsKLQlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0OwotCWludCBiYXVkID0gOTYwMDsKLQlpbnQgYml0cyA9IDg7Ci0JaW50IHBhcml0eSA9ICduJzsKLQlpbnQgZmxvdyA9ICduJzsKLQotCWRiZygiczNjMjR4eF9zZXJpYWxfY29uc29sZV9zZXR1cDogY289JXAgKCVkKSwgJXNcbiIsCi0JICAgIGNvLCBjby0+aW5kZXgsIG9wdGlvbnMpOwotCi0JLyogaXMgdGhpcyBhIHZhbGlkIHBvcnQgKi8KLQotCWlmIChjby0+aW5kZXggPT0gLTEgfHwgY28tPmluZGV4ID49IE5SX1BPUlRTKQotCQljby0+aW5kZXggPSAwOwotCi0JcG9ydCA9ICZzM2MyNHh4X3NlcmlhbF9wb3J0c1tjby0+aW5kZXhdLnBvcnQ7Ci0KLQkvKiBpcyB0aGUgcG9ydCBjb25maWd1cmVkPyAqLwotCi0JaWYgKHBvcnQtPm1hcGJhc2UgPT0gMHgwKSB7Ci0JCWNvLT5pbmRleCA9IDA7Ci0JCXBvcnQgPSAmczNjMjR4eF9zZXJpYWxfcG9ydHNbY28tPmluZGV4XS5wb3J0OwotCX0KLQotCWNvbnNfdWFydCA9IHBvcnQ7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXA6IHBvcnQ9JXAgKCVkKVxuIiwgcG9ydCwgY28tPmluZGV4KTsKLQotCS8qCi0JICogQ2hlY2sgd2hldGhlciBhbiBpbnZhbGlkIHVhcnQgbnVtYmVyIGhhcyBiZWVuIHNwZWNpZmllZCwgYW5kCi0JICogaWYgc28sIHNlYXJjaCBmb3IgdGhlIGZpcnN0IGF2YWlsYWJsZSBwb3J0IHRoYXQgZG9lcyBoYXZlCi0JICogY29uc29sZSBzdXBwb3J0LgotCSAqLwotCWlmIChvcHRpb25zKQotCQl1YXJ0X3BhcnNlX29wdGlvbnMob3B0aW9ucywgJmJhdWQsICZwYXJpdHksICZiaXRzLCAmZmxvdyk7Ci0JZWxzZQotCQlzM2MyNHh4X3NlcmlhbF9nZXRfb3B0aW9ucyhwb3J0LCAmYmF1ZCwgJnBhcml0eSwgJmJpdHMpOwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwOiBiYXVkICVkXG4iLCBiYXVkKTsKLQotCXJldHVybiB1YXJ0X3NldF9vcHRpb25zKHBvcnQsIGNvLCBiYXVkLCBwYXJpdHksIGJpdHMsIGZsb3cpOwotfQotCi0vKiBzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZQotICoKLSAqIGluaXRpYWxpc2UgdGhlIGNvbnNvbGUgZnJvbSBvbmUgb2YgdGhlIHVhcnQgZHJpdmVycwotKi8KLQotc3RhdGljIHN0cnVjdCBjb25zb2xlIHMzYzI0eHhfc2VyaWFsX2NvbnNvbGUgPQotewotCS5uYW1lCQk9IFMzQzI0WFhfU0VSSUFMX05BTUUsCi0JLmRldmljZQkJPSB1YXJ0X2NvbnNvbGVfZGV2aWNlLAotCS5mbGFncwkJPSBDT05fUFJJTlRCVUZGRVIsCi0JLmluZGV4CQk9IC0xLAotCS53cml0ZQkJPSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3dyaXRlLAotCS5zZXR1cAkJPSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwCi19OwotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2luaXRjb25zb2xlKHZvaWQpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvOwotCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiA9IHMzYzI0eHhfdWFydF9kZXZzWzBdOwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZVxuIik7Ci0KLQkvKiBzZWxlY3QgZHJpdmVyIGJhc2VkIG9uIHRoZSBjcHUgKi8KLQotCWlmIChkZXYgPT0gTlVMTCkgewotCQlwcmludGsoS0VSTl9FUlIgInMzYzI0eHg6IG5vIGRldmljZXMgZm9yIGNvbnNvbGUgaW5pdFxuIik7Ci0JCXJldHVybiAwOwotCX0KLQotCWlmIChzdHJjbXAoZGV2LT5uYW1lLCAiczNjMjQwMC11YXJ0IikgPT0gMCkgewotCQlpbmZvID0gczNjMjQwMF91YXJ0X2luZl9hdDsKLQl9IGVsc2UgaWYgKHN0cmNtcChkZXYtPm5hbWUsICJzM2MyNDEwLXVhcnQiKSA9PSAwKSB7Ci0JCWluZm8gPSBzM2MyNDEwX3VhcnRfaW5mX2F0OwotCX0gZWxzZSBpZiAoc3RyY21wKGRldi0+bmFtZSwgInMzYzI0NDAtdWFydCIpID09IDApIHsKLQkJaW5mbyA9IHMzYzI0NDBfdWFydF9pbmZfYXQ7Ci0JfSBlbHNlIGlmIChzdHJjbXAoZGV2LT5uYW1lLCAiczNjMjQxMi11YXJ0IikgPT0gMCkgewotCQlpbmZvID0gczNjMjQxMl91YXJ0X2luZl9hdDsKLQl9IGVsc2UgewotCQlwcmludGsoS0VSTl9FUlIgInMzYzI0eHg6IG5vIGRyaXZlciBmb3IgJXNcbiIsIGRldi0+bmFtZSk7Ci0JCXJldHVybiAwOwotCX0KLQotCWlmIChpbmZvID09IE5VTEwpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJzM2MyNHh4OiBubyBkcml2ZXIgZm9yIGNvbnNvbGVcbiIpOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlzM2MyNHh4X3NlcmlhbF9jb25zb2xlLmRhdGEgPSAmczNjMjR4eF91YXJ0X2RydjsKLQlzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnRzKGluZm8pOwotCi0JcmVnaXN0ZXJfY29uc29sZSgmczNjMjR4eF9zZXJpYWxfY29uc29sZSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLWNvbnNvbGVfaW5pdGNhbGwoczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUpOwotCi0jZW5kaWYgLyogQ09ORklHX1NFUklBTF9TM0MyNDEwX0NPTlNPTEUgKi8KLQotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwogTU9EVUxFX0FVVEhPUigiQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPiIpOwotTU9EVUxFX0RFU0NSSVBUSU9OKCJTYW1zdW5nIFMzQzI0MTAvUzNDMjQ0MC9TM0MyNDEyIFNlcmlhbCBwb3J0IGRyaXZlciIpOwotTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpzM2MyNDAwLXVhcnQiKTsKK01PRFVMRV9ERVNDUklQVElPTigiU2Ftc3VuZyBTM0MyNDEwIFNvQyBTZXJpYWwgcG9ydCBkcml2ZXIiKTsKIE1PRFVMRV9BTElBUygicGxhdGZvcm06czNjMjQxMC11YXJ0Iik7Ci1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnMzYzI0MTItdWFydCIpOwotTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpzM2MyNDQwLXVhcnQiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3MzYzI0MTIuYyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0MTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTBjMjIwCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zZXJpYWwvczNjMjQxMi5jCkBAIC0wLDAgKzEsMTUxIEBACisvKiBsaW51eC9kcml2ZXJzL3NlcmlhbC9zM2MyNDEyLmMKKyAqCisgKiBEcml2ZXIgZm9yIFNhbXN1bmcgUzNDMjQxMiBhbmQgUzNDMjQxMyBTb0Mgb25ib2FyZCBVQVJUcy4KKyAqCisgKiBCZW4gRG9va3MsIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKworI2luY2x1ZGUgPGFzbS9pcnEuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCisjaW5jbHVkZSAic2Ftc3VuZy5oIgorCitzdGF0aWMgaW50IHMzYzI0MTJfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwl1Y29uICY9IH5TM0MyNDEyX1VDT05fQ0xLTUFTSzsKKworCWlmIChzdHJjbXAoY2xrLT5uYW1lLCAidWNsayIpID09IDApCisJCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1VDTEs7CisJZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInBjbGsiKSA9PSAwKQorCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9QQ0xLOworCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJ1c3lzY2xrIikgPT0gMCkKKwkJdWNvbiB8PSBTM0MyNDEyX1VDT05fVVNZU0NMSzsKKwllbHNlIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ1bmtub3duIGNsb2NrIHNvdXJjZSAlc1xuIiwgY2xrLT5uYW1lKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCit7CisJdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCisJc3dpdGNoICh1Y29uICYgUzNDMjQxMl9VQ09OX0NMS01BU0spIHsKKwljYXNlIFMzQzI0MTJfVUNPTl9VQ0xLOgorCQljbGstPmRpdmlzb3IgPSAxOworCQljbGstPm5hbWUgPSAidWNsayI7CisJCWJyZWFrOworCisJY2FzZSBTM0MyNDEyX1VDT05fUENMSzoKKwljYXNlIFMzQzI0MTJfVUNPTl9QQ0xLMjoKKwkJY2xrLT5kaXZpc29yID0gMTsKKwkJY2xrLT5uYW1lID0gInBjbGsiOworCQlicmVhazsKKworCWNhc2UgUzNDMjQxMl9VQ09OX1VTWVNDTEs6CisJCWNsay0+ZGl2aXNvciA9IDE7CisJCWNsay0+bmFtZSA9ICJ1c3lzY2xrIjsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKK3sKKwl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwlkYmcoIiVzOiBwb3J0PSVwICglMDhseCksIGNmZz0lcFxuIiwKKwkgICAgX19mdW5jX18sIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7CisKKwkvKiBlbnN1cmUgd2UgZG9uJ3QgY2hhbmdlIHRoZSBjbG9jayBzZXR0aW5ncy4uLiAqLworCisJdWNvbiAmPSBTM0MyNDEyX1VDT05fQ0xLTUFTSzsKKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCAgdWNvbiB8IGNmZy0+dWNvbik7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCBjZmctPnVsY29uKTsKKworCS8qIHJlc2V0IGJvdGggZmlmb3MgKi8KKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbiB8IFMzQzI0MTBfVUZDT05fUkVTRVRCT1RIKTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24pOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gczNjMjQxMl91YXJ0X2luZiA9IHsKKwkubmFtZQkJPSAiU2Ftc3VuZyBTM0MyNDEyIFVBUlQiLAorCS50eXBlCQk9IFBPUlRfUzNDMjQxMiwKKwkuZmlmb3NpemUJPSA2NCwKKwkucnhfZmlmb21hc2sJPSBTM0MyNDQwX1VGU1RBVF9SWE1BU0ssCisJLnJ4X2ZpZm9zaGlmdAk9IFMzQzI0NDBfVUZTVEFUX1JYU0hJRlQsCisJLnJ4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfUlhGVUxMLAorCS50eF9maWZvZnVsbAk9IFMzQzI0NDBfVUZTVEFUX1RYRlVMTCwKKwkudHhfZmlmb21hc2sJPSBTM0MyNDQwX1VGU1RBVF9UWE1BU0ssCisJLnR4X2ZpZm9zaGlmdAk9IFMzQzI0NDBfVUZTVEFUX1RYU0hJRlQsCisJLmdldF9jbGtzcmMJPSBzM2MyNDEyX3NlcmlhbF9nZXRzb3VyY2UsCisJLnNldF9jbGtzcmMJPSBzM2MyNDEyX3NlcmlhbF9zZXRzb3VyY2UsCisJLnJlc2V0X3BvcnQJPSBzM2MyNDEyX3NlcmlhbF9yZXNldHBvcnQsCit9OworCisvKiBkZXZpY2UgbWFuYWdlbWVudCAqLworCitzdGF0aWMgaW50IHMzYzI0MTJfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3sKKwlkYmcoInMzYzI0NDBfc2VyaWFsX3Byb2JlOiBkZXY9JXBcbiIsIGRldik7CisJcmV0dXJuIHMzYzI0eHhfc2VyaWFsX3Byb2JlKGRldiwgJnMzYzI0MTJfdWFydF9pbmYpOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBzM2MyNDEyX3NlcmlhbF9kcnYgPSB7CisJLnByb2JlCQk9IHMzYzI0MTJfc2VyaWFsX3Byb2JlLAorCS5yZW1vdmUJCT0gczNjMjR4eF9zZXJpYWxfcmVtb3ZlLAorCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJzM2MyNDEyLXVhcnQiLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9LAorfTsKKworczNjMjR4eF9jb25zb2xlX2luaXQoJnMzYzI0MTJfc2VyaWFsX2RydiwgJnMzYzI0MTJfdWFydF9pbmYpOworCitzdGF0aWMgaW5saW5lIGludCBzM2MyNDEyX3NlcmlhbF9pbml0KHZvaWQpCit7CisJcmV0dXJuIHMzYzI0eHhfc2VyaWFsX2luaXQoJnMzYzI0MTJfc2VyaWFsX2RydiwgJnMzYzI0MTJfdWFydF9pbmYpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgczNjMjQxMl9zZXJpYWxfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDEyX3NlcmlhbF9kcnYpOworfQorCittb2R1bGVfaW5pdChzM2MyNDEyX3NlcmlhbF9pbml0KTsKK21vZHVsZV9leGl0KHMzYzI0MTJfc2VyaWFsX2V4aXQpOworCitNT0RVTEVfREVTQ1JJUFRJT04oIlNhbXN1bmcgUzNDMjQxMixTM0MyNDEzIFNvQyBTZXJpYWwgcG9ydCBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIkJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4iKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06czNjMjQxMi11YXJ0Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9zM2MyNDQwLmMgYi9kcml2ZXJzL3NlcmlhbC9zM2MyNDQwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhmOTU0YgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0NDAuYwpAQCAtMCwwICsxLDE4MSBAQAorLyogbGludXgvZHJpdmVycy9zZXJpYWwvczNjMjQ0MC5jCisgKgorICogRHJpdmVyIGZvciBTYW1zdW5nIFMzQzI0NDAgYW5kIFMzQzI0NDIgU29DIG9uYm9hcmQgVUFSVHMuCisgKgorICogQmVuIERvb2tzLCBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CisKKyNpbmNsdWRlIDxhc20vaXJxLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKworI2luY2x1ZGUgInNhbXN1bmcuaCIKKworCitzdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwkvKiB0b2RvIC0gcHJvcGVyIGZjbGs8Pm5vbmZjbGsgc3dpdGNoLiAqLworCisJdWNvbiAmPSB+UzNDMjQ0MF9VQ09OX0NMS01BU0s7CisKKwlpZiAoc3RyY21wKGNsay0+bmFtZSwgInVjbGsiKSA9PSAwKQorCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9VQ0xLOworCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJwY2xrIikgPT0gMCkKKwkJdWNvbiB8PSBTM0MyNDQwX1VDT05fUENMSzsKKwllbHNlIGlmIChzdHJjbXAoY2xrLT5uYW1lLCAiZmNsayIpID09IDApCisJCXVjb24gfD0gUzNDMjQ0MF9VQ09OX0ZDTEs7CisJZWxzZSB7CisJCXByaW50ayhLRVJOX0VSUiAidW5rbm93biBjbG9jayBzb3VyY2UgJXNcbiIsIGNsay0+bmFtZSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCB1Y29uKTsKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX2dldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKwl1bnNpZ25lZCBsb25nIHVjb24wLCB1Y29uMSwgdWNvbjI7CisKKwlzd2l0Y2ggKHVjb24gJiBTM0MyNDQwX1VDT05fQ0xLTUFTSykgeworCWNhc2UgUzNDMjQ0MF9VQ09OX1VDTEs6CisJCWNsay0+ZGl2aXNvciA9IDE7CisJCWNsay0+bmFtZSA9ICJ1Y2xrIjsKKwkJYnJlYWs7CisKKwljYXNlIFMzQzI0NDBfVUNPTl9QQ0xLOgorCWNhc2UgUzNDMjQ0MF9VQ09OX1BDTEsyOgorCQljbGstPmRpdmlzb3IgPSAxOworCQljbGstPm5hbWUgPSAicGNsayI7CisJCWJyZWFrOworCisJY2FzZSBTM0MyNDQwX1VDT05fRkNMSzoKKwkJLyogdGhlIGZ1biBvZiBjYWxjdWxhdGluZyB0aGUgdWFydCBkaXZpc29ycyBvbgorCQkgKiB0aGUgczNjMjQ0MCAqLworCisJCXVjb24wID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMCArIFMzQzI0MTBfVUNPTik7CisJCXVjb24xID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMSArIFMzQzI0MTBfVUNPTik7CisJCXVjb24yID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMiArIFMzQzI0MTBfVUNPTik7CisKKwkJcHJpbnRrKCJ1Y29uczogJTA4bHgsICUwOGx4LCAlMDhseFxuIiwgdWNvbjAsIHVjb24xLCB1Y29uMik7CisKKwkJdWNvbjAgJj0gUzNDMjQ0MF9VQ09OMF9ESVZNQVNLOworCQl1Y29uMSAmPSBTM0MyNDQwX1VDT04xX0RJVk1BU0s7CisJCXVjb24yICY9IFMzQzI0NDBfVUNPTjJfRElWTUFTSzsKKworCQlpZiAodWNvbjAgIT0gMCkgeworCQkJY2xrLT5kaXZpc29yID0gdWNvbjAgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOworCQkJY2xrLT5kaXZpc29yICs9IDY7CisJCX0gZWxzZSBpZiAodWNvbjEgIT0gMCkgeworCQkJY2xrLT5kaXZpc29yID0gdWNvbjEgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOworCQkJY2xrLT5kaXZpc29yICs9IDIxOworCQl9IGVsc2UgaWYgKHVjb24yICE9IDApIHsKKwkJCWNsay0+ZGl2aXNvciA9IHVjb24yID4+IFMzQzI0NDBfVUNPTl9ESVZTSElGVDsKKwkJCWNsay0+ZGl2aXNvciArPSAzNjsKKwkJfSBlbHNlIHsKKwkJCS8qIG1hbnVhbCBjYWxpbXMgNDQsIHNlZW1zIHRvIGJlIDkgKi8KKwkJCWNsay0+ZGl2aXNvciA9IDk7CisJCX0KKworCQljbGstPm5hbWUgPSAiZmNsayI7CisJCWJyZWFrOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcpCit7CisJdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCisJZGJnKCJzM2MyNDQwX3NlcmlhbF9yZXNldHBvcnQ6IHBvcnQ9JXAgKCUwOGx4KSwgY2ZnPSVwXG4iLAorCSAgICBwb3J0LCBwb3J0LT5tYXBiYXNlLCBjZmcpOworCisJLyogZW5zdXJlIHdlIGRvbid0IGNoYW5nZSB0aGUgY2xvY2sgc2V0dGluZ3MuLi4gKi8KKworCXVjb24gJj0gKFMzQzI0NDBfVUNPTjBfRElWTUFTSyB8ICgzPDwxMCkpOworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sICB1Y29uIHwgY2ZnLT51Y29uKTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIGNmZy0+dWxjb24pOworCisJLyogcmVzZXQgYm90aCBmaWZvcyAqLworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uIHwgUzNDMjQxMF9VRkNPTl9SRVNFVEJPVEgpOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyBzM2MyNDQwX3VhcnRfaW5mID0geworCS5uYW1lCQk9ICJTYW1zdW5nIFMzQzI0NDAgVUFSVCIsCisJLnR5cGUJCT0gUE9SVF9TM0MyNDQwLAorCS5maWZvc2l6ZQk9IDY0LAorCS5yeF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1JYTUFTSywKKwkucnhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfUlhTSElGVCwKKwkucnhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9SWEZVTEwsCisJLnR4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfVFhGVUxMLAorCS50eF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1RYTUFTSywKKwkudHhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfVFhTSElGVCwKKwkuZ2V0X2Nsa3NyYwk9IHMzYzI0NDBfc2VyaWFsX2dldHNvdXJjZSwKKwkuc2V0X2Nsa3NyYwk9IHMzYzI0NDBfc2VyaWFsX3NldHNvdXJjZSwKKwkucmVzZXRfcG9ydAk9IHMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydCwKK307CisKKy8qIGRldmljZSBtYW5hZ2VtZW50ICovCisKK3N0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQoreworCWRiZygiczNjMjQ0MF9zZXJpYWxfcHJvYmU6IGRldj0lcFxuIiwgZGV2KTsKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQ0MF91YXJ0X2luZik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0NDBfc2VyaWFsX2RydiA9IHsKKwkucHJvYmUJCT0gczNjMjQ0MF9zZXJpYWxfcHJvYmUsCisJLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInMzYzI0NDAtdWFydCIsCisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCX0sCit9OworCitzM2MyNHh4X2NvbnNvbGVfaW5pdCgmczNjMjQ0MF9zZXJpYWxfZHJ2LCAmczNjMjQ0MF91YXJ0X2luZik7CisKK3N0YXRpYyBpbnQgX19pbml0IHMzYzI0NDBfc2VyaWFsX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdCgmczNjMjQ0MF9zZXJpYWxfZHJ2LCAmczNjMjQ0MF91YXJ0X2luZik7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBzM2MyNDQwX3NlcmlhbF9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnMzYzI0NDBfc2VyaWFsX2Rydik7Cit9CisKK21vZHVsZV9pbml0KHMzYzI0NDBfc2VyaWFsX2luaXQpOworbW9kdWxlX2V4aXQoczNjMjQ0MF9zZXJpYWxfZXhpdCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiU2Ftc3VuZyBTM0MyNDQwLFMzQzI0NDIgU29DIFNlcmlhbCBwb3J0IGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPiIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTGkgdjIiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06czNjMjQ0MC11YXJ0Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9zYW1zdW5nLmMgYi9kcml2ZXJzL3NlcmlhbC9zYW1zdW5nLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGEzZWNhYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuYwpAQCAtMCwwICsxLDEzMTcgQEAKKy8qIGxpbnV4L2RyaXZlcnMvc2VyaWFsL3NhbXN1aW5nLmMKKyAqCisgKiBEcml2ZXIgY29yZSBmb3IgU2Ftc3VuZyBTb0Mgb25ib2FyZCBVQVJUcy4KKyAqCisgKiBCZW4gRG9va3MsIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisvKiBIb3RlIG9uIDI0MTAgZXJyb3IgaGFuZGxpbmcKKyAqCisgKiBUaGUgczNjMjQxMCBtYW51YWwgaGFzIGEgbG92ZS9oYXRlIGFmZmFpciB3aXRoIHRoZSBjb250ZW50cyBvZiB0aGUKKyAqIFVFUlNUQVQgcmVnaXN0ZXIgaW4gdGhlIFVBUlQgYmxvY2tzLCBhbmQga2VlcHMgbWFya2luZyBzb21lIG9mIHRoZQorICogZXJyb3IgYml0cyBhcyByZXNlcnZlZC4gSGF2aW5nIGNoZWNrZWQgd2l0aCB0aGUgczNjMjQxMHgwMSwKKyAqIGl0IGNvcGVzIHdpdGggQlJFQUtzIHByb3Blcmx5LCBzbyBJIGFtIGhhcHB5IHRvIGlnbm9yZSB0aGUgUkVTRVJWRUQKKyAqIGZlYXR1cmUgZnJvbSB0aGUgbGF0dGVyIHZlcnNpb25zIG9mIHRoZSBtYW51YWwuCisgKgorICogSWYgaXQgYmVjb21lcyBhcGFycmVudCB0aGF0IGxhdHRlciB2ZXJzaW9ucyBvZiB0aGUgMjQxMCByZW1vdmUgdGhlc2UKKyAqIGJpdHMsIHRoZW4gYWN0aW9uIHdpbGwgaGF2ZSB0byBiZSB0YWtlbiB0byBkaWZmZXJlbnRpYXRlIHRoZSB2ZXJzaW9ucworICogYW5kIGNoYW5nZSB0aGUgcG9saWN5IG9uIEJSRUFLCisgKgorICogQkpELCAwNC1Ob3YtMjAwNAorKi8KKworI2lmIGRlZmluZWQoQ09ORklHX1NFUklBTF9TQU1TVU5HX0NPTlNPTEUpICYmIGRlZmluZWQoQ09ORklHX01BR0lDX1NZU1JRKQorI2RlZmluZSBTVVBQT1JUX1NZU1JRCisjZW5kaWYKKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c3JxLmg+CisjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgorI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgorI2luY2x1ZGUgPGxpbnV4L3R0eV9mbGlwLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorCisjaW5jbHVkZSA8YXNtL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKworI2luY2x1ZGUgInNhbXN1bmcuaCIKKworLyogVUFSVCBuYW1lIGFuZCBkZXZpY2UgZGVmaW5pdGlvbnMgKi8KKworI2RlZmluZSBTM0MyNFhYX1NFUklBTF9OQU1FCSJ0dHlTQUMiCisjZGVmaW5lIFMzQzI0WFhfU0VSSUFMX01BSk9SCTIwNAorI2RlZmluZSBTM0MyNFhYX1NFUklBTF9NSU5PUgk2NAorCisvKiB3ZSBjYW4gc3VwcG9ydCAzIHVhcnRzLCBidXQgbm90IGFsd2F5cyB1c2UgdGhlbSAqLworCisjaWZkZWYgQ09ORklHX0NQVV9TM0MyNDAwCisjZGVmaW5lIE5SX1BPUlRTICgyKQorI2Vsc2UKKyNkZWZpbmUgTlJfUE9SVFMgKDMpCisjZW5kaWYKKworLyogcG9ydCBpcnEgbnVtYmVycyAqLworCisjZGVmaW5lIFRYX0lSUShwb3J0KSAoKHBvcnQpLT5pcnEgKyAxKQorI2RlZmluZSBSWF9JUlEocG9ydCkgKChwb3J0KS0+aXJxKQorCisvKiBtYWNyb3MgdG8gY2hhbmdlIG9uZSB0aGluZyB0byBhbm90aGVyICovCisKKyNkZWZpbmUgdHhfZW5hYmxlZChwb3J0KSAoKHBvcnQpLT51bnVzZWRbMF0pCisjZGVmaW5lIHJ4X2VuYWJsZWQocG9ydCkgKChwb3J0KS0+dW51c2VkWzFdKQorCisvKiBmbGFnIHRvIGlnbm9yZSBhbGwgY2hhcmFjdGVycyBjb21taW5nIGluICovCisjZGVmaW5lIFJYU1RBVF9EVU1NWV9SRUFEICgweDEwMDAwMDAwKQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqdG9fb3VycG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXJldHVybiBjb250YWluZXJfb2YocG9ydCwgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0LCBwb3J0KTsKK30KKworLyogdHJhbnNsYXRlIGEgcG9ydCB0byB0aGUgZGV2aWNlIG5hbWUgKi8KKworc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXJldHVybiB0b19wbGF0Zm9ybV9kZXZpY2UocG9ydC0+ZGV2KS0+bmFtZTsKK30KKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXJldHVybiAocmRfcmVnbChwb3J0LCBTM0MyNDEwX1VUUlNUQVQpICYgUzNDMjQxMF9VVFJTVEFUX1RYRSk7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3J4X2VuYWJsZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgaW50IHVjb24sIHVmY29uOworCWludCBjb3VudCA9IDEwMDAwOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKKworCXdoaWxlICgtLWNvdW50ICYmICFzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhwb3J0KSkKKwkJdWRlbGF5KDEwMCk7CisKKwl1ZmNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTik7CisJdWZjb24gfD0gUzNDMjQxMF9VRkNPTl9SRVNFVFJYOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgdWZjb24pOworCisJdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKwl1Y29uIHw9IFMzQzI0MTBfVUNPTl9SWElSUU1PREU7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOworCisJcnhfZW5hYmxlZChwb3J0KSA9IDE7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9yeF9kaXNhYmxlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBpbnQgdWNvbjsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwb3J0LT5sb2NrLCBmbGFncyk7CisKKwl1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCXVjb24gJj0gflMzQzI0MTBfVUNPTl9SWElSUU1PREU7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOworCisJcnhfZW5hYmxlZChwb3J0KSA9IDA7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJaWYgKHR4X2VuYWJsZWQocG9ydCkpIHsKKwkJZGlzYWJsZV9pcnEoVFhfSVJRKHBvcnQpKTsKKwkJdHhfZW5hYmxlZChwb3J0KSA9IDA7CisJCWlmIChwb3J0LT5mbGFncyAmIFVQRl9DT05TX0ZMT1cpCisJCQlzM2MyNHh4X3NlcmlhbF9yeF9lbmFibGUocG9ydCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdGFydF90eChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCWlmICghdHhfZW5hYmxlZChwb3J0KSkgeworCQlpZiAocG9ydC0+ZmxhZ3MgJiBVUEZfQ09OU19GTE9XKQorCQkJczNjMjR4eF9zZXJpYWxfcnhfZGlzYWJsZShwb3J0KTsKKworCQllbmFibGVfaXJxKFRYX0lSUShwb3J0KSk7CisJCXR4X2VuYWJsZWQocG9ydCkgPSAxOworCX0KK30KKworCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdG9wX3J4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJaWYgKHJ4X2VuYWJsZWQocG9ydCkpIHsKKwkJZGJnKCJzM2MyNHh4X3NlcmlhbF9zdG9wX3J4OiBwb3J0PSVwXG4iLCBwb3J0KTsKKwkJZGlzYWJsZV9pcnEoUlhfSVJRKHBvcnQpKTsKKwkJcnhfZW5hYmxlZChwb3J0KSA9IDA7CisJfQorfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9lbmFibGVfbXMoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKnMzYzI0eHhfcG9ydF90b19pbmZvKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJcmV0dXJuIHRvX291cnBvcnQocG9ydCktPmluZm87Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqczNjMjR4eF9wb3J0X3RvX2NmZyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCWlmIChwb3J0LT5kZXYgPT0gTlVMTCkKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXR1cm4gKHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKilwb3J0LT5kZXYtPnBsYXRmb3JtX2RhdGE7Cit9CisKK3N0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcnhfZmlmb2NudChzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQsCisJCQkJICAgICB1bnNpZ25lZCBsb25nIHVmc3RhdCkKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBvdXJwb3J0LT5pbmZvOworCisJaWYgKHVmc3RhdCAmIGluZm8tPnJ4X2ZpZm9mdWxsKQorCQlyZXR1cm4gaW5mby0+Zmlmb3NpemU7CisKKwlyZXR1cm4gKHVmc3RhdCAmIGluZm8tPnJ4X2ZpZm9tYXNrKSA+PiBpbmZvLT5yeF9maWZvc2hpZnQ7Cit9CisKKworLyogPyAtIHdoZXJlIGhhcyBwYXJpdHkgZ29uZT8/ICovCisjZGVmaW5lIFMzQzI0MTBfVUVSU1RBVF9QQVJJVFkgKDB4MTAwMCkKKworc3RhdGljIGlycXJldHVybl90CitzM2MyNHh4X3NlcmlhbF9yeF9jaGFycyhpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gZGV2X2lkOworCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSAmb3VycG9ydC0+cG9ydDsKKwlzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5ID0gcG9ydC0+aW5mby0+dHR5OworCXVuc2lnbmVkIGludCB1ZmNvbiwgY2gsIGZsYWcsIHVmc3RhdCwgdWVyc3RhdDsKKwlpbnQgbWF4X2NvdW50ID0gNjQ7CisKKwl3aGlsZSAobWF4X2NvdW50LS0gPiAwKSB7CisJCXVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKKwkJdWZzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGU1RBVCk7CisKKwkJaWYgKHMzYzI0eHhfc2VyaWFsX3J4X2ZpZm9jbnQob3VycG9ydCwgdWZzdGF0KSA9PSAwKQorCQkJYnJlYWs7CisKKwkJdWVyc3RhdCA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRVJTVEFUKTsKKwkJY2ggPSByZF9yZWdiKHBvcnQsIFMzQzI0MTBfVVJYSCk7CisKKwkJaWYgKHBvcnQtPmZsYWdzICYgVVBGX0NPTlNfRkxPVykgeworCQkJaW50IHR4ZSA9IHMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHBvcnQpOworCisJCQlpZiAocnhfZW5hYmxlZChwb3J0KSkgeworCQkJCWlmICghdHhlKSB7CisJCQkJCXJ4X2VuYWJsZWQocG9ydCkgPSAwOworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQl9IGVsc2UgeworCQkJCWlmICh0eGUpIHsKKwkJCQkJdWZjb24gfD0gUzNDMjQxMF9VRkNPTl9SRVNFVFJYOworCQkJCQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIHVmY29uKTsKKwkJCQkJcnhfZW5hYmxlZChwb3J0KSA9IDE7CisJCQkJCWdvdG8gb3V0OworCQkJCX0KKwkJCQljb250aW51ZTsKKwkJCX0KKwkJfQorCisJCS8qIGluc2VydCB0aGUgY2hhcmFjdGVyIGludG8gdGhlIGJ1ZmZlciAqLworCisJCWZsYWcgPSBUVFlfTk9STUFMOworCQlwb3J0LT5pY291bnQucngrKzsKKworCQlpZiAodW5saWtlbHkodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9BTlkpKSB7CisJCQlkYmcoInJ4ZXJyOiBwb3J0IGNoPTB4JTAyeCwgcnhzPTB4JTA4eFxuIiwKKwkJCSAgICBjaCwgdWVyc3RhdCk7CisKKwkJCS8qIGNoZWNrIGZvciBicmVhayAqLworCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfQlJFQUspIHsKKwkJCQlkYmcoImJyZWFrIVxuIik7CisJCQkJcG9ydC0+aWNvdW50LmJyaysrOworCQkJCWlmICh1YXJ0X2hhbmRsZV9icmVhayhwb3J0KSkKKwkJCQkgICAgZ290byBpZ25vcmVfY2hhcjsKKwkJCX0KKworCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfRlJBTUUpCisJCQkJcG9ydC0+aWNvdW50LmZyYW1lKys7CisJCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9PVkVSUlVOKQorCQkJCXBvcnQtPmljb3VudC5vdmVycnVuKys7CisKKwkJCXVlcnN0YXQgJj0gcG9ydC0+cmVhZF9zdGF0dXNfbWFzazsKKworCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfQlJFQUspCisJCQkJZmxhZyA9IFRUWV9CUkVBSzsKKwkJCWVsc2UgaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfUEFSSVRZKQorCQkJCWZsYWcgPSBUVFlfUEFSSVRZOworCQkJZWxzZSBpZiAodWVyc3RhdCAmIChTM0MyNDEwX1VFUlNUQVRfRlJBTUUgfAorCQkJCQkgICAgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4pKQorCQkJCWZsYWcgPSBUVFlfRlJBTUU7CisJCX0KKworCQlpZiAodWFydF9oYW5kbGVfc3lzcnFfY2hhcihwb3J0LCBjaCkpCisJCQlnb3RvIGlnbm9yZV9jaGFyOworCisJCXVhcnRfaW5zZXJ0X2NoYXIocG9ydCwgdWVyc3RhdCwgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4sCisJCQkJIGNoLCBmbGFnKTsKKworIGlnbm9yZV9jaGFyOgorCQljb250aW51ZTsKKwl9CisJdHR5X2ZsaXBfYnVmZmVyX3B1c2godHR5KTsKKworIG91dDoKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBzM2MyNHh4X3NlcmlhbF90eF9jaGFycyhpbnQgaXJxLCB2b2lkICppZCkKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSBpZDsKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gJm91cnBvcnQtPnBvcnQ7CisJc3RydWN0IGNpcmNfYnVmICp4bWl0ID0gJnBvcnQtPmluZm8tPnhtaXQ7CisJaW50IGNvdW50ID0gMjU2OworCisJaWYgKHBvcnQtPnhfY2hhcikgeworCQl3cl9yZWdiKHBvcnQsIFMzQzI0MTBfVVRYSCwgcG9ydC0+eF9jaGFyKTsKKwkJcG9ydC0+aWNvdW50LnR4Kys7CisJCXBvcnQtPnhfY2hhciA9IDA7CisJCWdvdG8gb3V0OworCX0KKworCS8qIGlmIHRoZXJlIGlzbnQgYW55dGhpbmcgbW9yZSB0byB0cmFuc21pdCwgb3IgdGhlIHVhcnQgaXMgbm93CisJICogc3RvcHBlZCwgZGlzYWJsZSB0aGUgdWFydCBhbmQgZXhpdAorCSovCisKKwlpZiAodWFydF9jaXJjX2VtcHR5KHhtaXQpIHx8IHVhcnRfdHhfc3RvcHBlZChwb3J0KSkgeworCQlzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHBvcnQpOworCQlnb3RvIG91dDsKKwl9CisKKwkvKiB0cnkgYW5kIGRyYWluIHRoZSBidWZmZXIuLi4gKi8KKworCXdoaWxlICghdWFydF9jaXJjX2VtcHR5KHhtaXQpICYmIGNvdW50LS0gPiAwKSB7CisJCWlmIChyZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKSAmIG91cnBvcnQtPmluZm8tPnR4X2ZpZm9mdWxsKQorCQkJYnJlYWs7CisKKwkJd3JfcmVnYihwb3J0LCBTM0MyNDEwX1VUWEgsIHhtaXQtPmJ1Zlt4bWl0LT50YWlsXSk7CisJCXhtaXQtPnRhaWwgPSAoeG1pdC0+dGFpbCArIDEpICYgKFVBUlRfWE1JVF9TSVpFIC0gMSk7CisJCXBvcnQtPmljb3VudC50eCsrOworCX0KKworCWlmICh1YXJ0X2NpcmNfY2hhcnNfcGVuZGluZyh4bWl0KSA8IFdBS0VVUF9DSEFSUykKKwkJdWFydF93cml0ZV93YWtldXAocG9ydCk7CisKKwlpZiAodWFydF9jaXJjX2VtcHR5KHhtaXQpKQorCQlzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHBvcnQpOworCisgb3V0OgorCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBzM2MyNHh4X3NlcmlhbF90eF9lbXB0eShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOworCXVuc2lnbmVkIGxvbmcgdWZzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGU1RBVCk7CisJdW5zaWduZWQgbG9uZyB1ZmNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTik7CisKKwlpZiAodWZjb24gJiBTM0MyNDEwX1VGQ09OX0ZJRk9NT0RFKSB7CisJCWlmICgodWZzdGF0ICYgaW5mby0+dHhfZmlmb21hc2spICE9IDAgfHwKKwkJICAgICh1ZnN0YXQgJiBpbmZvLT50eF9maWZvZnVsbCkpCisJCQlyZXR1cm4gMDsKKworCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfdHhlbXB0eV9ub2ZpZm8ocG9ydCk7Cit9CisKKy8qIG5vIG1vZGVtIGNvbnRyb2wgbGluZXMgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgczNjMjR4eF9zZXJpYWxfZ2V0X21jdHJsKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJdW5zaWduZWQgaW50IHVtc3RhdCA9IHJkX3JlZ2IocG9ydCwgUzNDMjQxMF9VTVNUQVQpOworCisJaWYgKHVtc3RhdCAmIFMzQzI0MTBfVU1TVEFUX0NUUykKKwkJcmV0dXJuIFRJT0NNX0NBUiB8IFRJT0NNX0RTUiB8IFRJT0NNX0NUUzsKKwllbHNlCisJCXJldHVybiBUSU9DTV9DQVIgfCBUSU9DTV9EU1I7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3NldF9tY3RybChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCB1bnNpZ25lZCBpbnQgbWN0cmwpCit7CisJLyogdG9kbyAtIHBvc3NpYmx5IHJlbW92ZSBBRkMgYW5kIGRvIG1hbnVhbCBDVFMgKi8KK30KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfYnJlYWtfY3RsKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCBicmVha19zdGF0ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGludCB1Y29uOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKKworCXVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwlpZiAoYnJlYWtfc3RhdGUpCisJCXVjb24gfD0gUzNDMjQxMF9VQ09OX1NCUkVBSzsKKwllbHNlCisJCXVjb24gJj0gflMzQzI0MTBfVUNPTl9TQlJFQUs7CisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3NodXRkb3duKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKworCWlmIChvdXJwb3J0LT50eF9jbGFpbWVkKSB7CisJCWZyZWVfaXJxKFRYX0lSUShwb3J0KSwgb3VycG9ydCk7CisJCXR4X2VuYWJsZWQocG9ydCkgPSAwOworCQlvdXJwb3J0LT50eF9jbGFpbWVkID0gMDsKKwl9CisKKwlpZiAob3VycG9ydC0+cnhfY2xhaW1lZCkgeworCQlmcmVlX2lycShSWF9JUlEocG9ydCksIG91cnBvcnQpOworCQlvdXJwb3J0LT5yeF9jbGFpbWVkID0gMDsKKwkJcnhfZW5hYmxlZChwb3J0KSA9IDA7CisJfQorfQorCisKK3N0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfc3RhcnR1cChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7CisJaW50IHJldDsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfc3RhcnR1cDogcG9ydD0lcCAoJTA4bHgsJXApXG4iLAorCSAgICBwb3J0LT5tYXBiYXNlLCBwb3J0LT5tZW1iYXNlKTsKKworCXJ4X2VuYWJsZWQocG9ydCkgPSAxOworCisJcmV0ID0gcmVxdWVzdF9pcnEoUlhfSVJRKHBvcnQpLAorCQkJICBzM2MyNHh4X3NlcmlhbF9yeF9jaGFycywgMCwKKwkJCSAgczNjMjR4eF9zZXJpYWxfcG9ydG5hbWUocG9ydCksIG91cnBvcnQpOworCisJaWYgKHJldCAhPSAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiY2Fubm90IGdldCBpcnEgJWRcbiIsIFJYX0lSUShwb3J0KSk7CisJCXJldHVybiByZXQ7CisJfQorCisJb3VycG9ydC0+cnhfY2xhaW1lZCA9IDE7CisKKwlkYmcoInJlcXVlc3RpbmcgdHggaXJxLi4uXG4iKTsKKworCXR4X2VuYWJsZWQocG9ydCkgPSAxOworCisJcmV0ID0gcmVxdWVzdF9pcnEoVFhfSVJRKHBvcnQpLAorCQkJICBzM2MyNHh4X3NlcmlhbF90eF9jaGFycywgMCwKKwkJCSAgczNjMjR4eF9zZXJpYWxfcG9ydG5hbWUocG9ydCksIG91cnBvcnQpOworCisJaWYgKHJldCkgeworCQlwcmludGsoS0VSTl9FUlIgImNhbm5vdCBnZXQgaXJxICVkXG4iLCBUWF9JUlEocG9ydCkpOworCQlnb3RvIGVycjsKKwl9CisKKwlvdXJwb3J0LT50eF9jbGFpbWVkID0gMTsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfc3RhcnR1cCBva1xuIik7CisKKwkvKiB0aGUgcG9ydCByZXNldCBjb2RlIHNob3VsZCBoYXZlIGRvbmUgdGhlIGNvcnJlY3QKKwkgKiByZWdpc3RlciBzZXR1cCBmb3IgdGhlIHBvcnQgY29udHJvbHMgKi8KKworCXJldHVybiByZXQ7CisKKyBlcnI6CisJczNjMjR4eF9zZXJpYWxfc2h1dGRvd24ocG9ydCk7CisJcmV0dXJuIHJldDsKK30KKworLyogcG93ZXIgcG93ZXIgbWFuYWdlbWVudCBjb250cm9sICovCisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3BtKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHVuc2lnbmVkIGludCBsZXZlbCwKKwkJCSAgICAgIHVuc2lnbmVkIGludCBvbGQpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIDM6CisJCWlmICghSVNfRVJSKG91cnBvcnQtPmJhdWRjbGspICYmIG91cnBvcnQtPmJhdWRjbGsgIT0gTlVMTCkKKwkJCWNsa19kaXNhYmxlKG91cnBvcnQtPmJhdWRjbGspOworCisJCWNsa19kaXNhYmxlKG91cnBvcnQtPmNsayk7CisJCWJyZWFrOworCisJY2FzZSAwOgorCQljbGtfZW5hYmxlKG91cnBvcnQtPmNsayk7CisKKwkJaWYgKCFJU19FUlIob3VycG9ydC0+YmF1ZGNsaykgJiYgb3VycG9ydC0+YmF1ZGNsayAhPSBOVUxMKQorCQkJY2xrX2VuYWJsZShvdXJwb3J0LT5iYXVkY2xrKTsKKworCQlicmVhazsKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgInMzYzI0eHhfc2VyaWFsOiB1bmtub3duIHBtICVkXG4iLCBsZXZlbCk7CisJfQorfQorCisvKiBiYXVkIHJhdGUgY2FsY3VsYXRpb24KKyAqCisgKiBUaGUgVUFSVHMgb24gdGhlIFMzQzI0MTAvUzNDMjQ0MCBjYW4gdGFrZSB0aGVpciBjbG9ja3MgZnJvbSBhIG51bWJlcgorICogb2YgZGlmZmVyZW50IHNvdXJjZXMsIGluY2x1ZGluZyB0aGUgcGVyaXBoZXJhbCBjbG9jayAoInBjbGsiKSBhbmQgYW4KKyAqIGV4dGVybmFsIGNsb2NrICgidWNsayIpLiBUaGUgUzNDMjQ0MCBhbHNvIGFkZHMgdGhlIGNvcmUgY2xvY2sgKCJmY2xrIikKKyAqIHdpdGggYSBwcm9ncmFtbWFibGUgZXh0cmEgZGl2aXNvci4KKyAqCisgKiBUaGUgZm9sbG93aW5nIGNvZGUgZ29lcyB0aHJvdWdoIHRoZSBjbG9jayBzb3VyY2VzLCBhbmQgY2FsY3VsYXRlcyB0aGUKKyAqIGJhdWQgY2xvY2tzIChhbmQgdGhlIHJlc3VsdGFudCBhY3R1YWwgYmF1ZCByYXRlcykgYW5kIHRoZW4gdHJpZXMgdG8KKyAqIHBpY2sgdGhlIGNsb3Nlc3Qgb25lIGFuZCBzZWxlY3QgdGhhdC4KKyAqCisqLworCisKKyNkZWZpbmUgTUFYX0NMS1MgKDgpCisKK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyB0bXBfY2xrc3JjID0geworCS5uYW1lCQk9ICJwY2xrIiwKKwkubWluX2JhdWQJPSAwLAorCS5tYXhfYmF1ZAk9IDAsCisJLmRpdmlzb3IJPSAxLAorfTsKKworc3RhdGljIGlubGluZSBpbnQKK3MzYzI0eHhfc2VyaWFsX2dldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqYykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKKworCXJldHVybiAoaW5mby0+Z2V0X2Nsa3NyYykocG9ydCwgYyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50CitzM2MyNHh4X3NlcmlhbF9zZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmMpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7CisKKwlyZXR1cm4gKGluZm8tPnNldF9jbGtzcmMpKHBvcnQsIGMpOworfQorCitzdHJ1Y3QgYmF1ZF9jYWxjIHsKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYwkqY2xrc3JjOworCXVuc2lnbmVkIGludAkJCSBjYWxjOworCXVuc2lnbmVkIGludAkJCSBxdW90OworCXN0cnVjdCBjbGsJCQkqc3JjOworfTsKKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9jYWxjYmF1ZChzdHJ1Y3QgYmF1ZF9jYWxjICpjYWxjLAorCQkJCSAgIHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsa3NyYywKKwkJCQkgICB1bnNpZ25lZCBpbnQgYmF1ZCkKK3sKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisKKwljYWxjLT5zcmMgPSBjbGtfZ2V0KHBvcnQtPmRldiwgY2xrc3JjLT5uYW1lKTsKKwlpZiAoY2FsYy0+c3JjID09IE5VTEwgfHwgSVNfRVJSKGNhbGMtPnNyYykpCisJCXJldHVybiAwOworCisJcmF0ZSA9IGNsa19nZXRfcmF0ZShjYWxjLT5zcmMpOworCXJhdGUgLz0gY2xrc3JjLT5kaXZpc29yOworCisJY2FsYy0+Y2xrc3JjID0gY2xrc3JjOworCWNhbGMtPnF1b3QgPSAocmF0ZSArICg4ICogYmF1ZCkpIC8gKDE2ICogYmF1ZCk7CisJY2FsYy0+Y2FsYyA9IChyYXRlIC8gKGNhbGMtPnF1b3QgKiAxNikpOworCisJY2FsYy0+cXVvdC0tOworCXJldHVybiAxOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IHMzYzI0eHhfc2VyaWFsX2dldGNsayhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCQkgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICoqY2xrc3JjLAorCQkJCQkgIHN0cnVjdCBjbGsgKipjbGssCisJCQkJCSAgdW5zaWduZWQgaW50IGJhdWQpCit7CisJc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnID0gczNjMjR4eF9wb3J0X3RvX2NmZyhwb3J0KTsKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrcDsKKwlzdHJ1Y3QgYmF1ZF9jYWxjIHJlc1tNQVhfQ0xLU107CisJc3RydWN0IGJhdWRfY2FsYyAqcmVzcHRyLCAqYmVzdCwgKnNwdHI7CisJaW50IGk7CisKKwljbGtwID0gY2ZnLT5jbG9ja3M7CisJYmVzdCA9IE5VTEw7CisKKwlpZiAoY2ZnLT5jbG9ja3Nfc2l6ZSA8IDIpIHsKKwkJaWYgKGNmZy0+Y2xvY2tzX3NpemUgPT0gMCkKKwkJCWNsa3AgPSAmdG1wX2Nsa3NyYzsKKworCQkvKiBjaGVjayB0byBzZWUgaWYgd2UncmUgc291cmNpbmcgZmNsaywgYW5kIGlmIHNvIHdlJ3JlCisJCSAqIGdvaW5nIHRvIGhhdmUgdG8gdXBkYXRlIHRoZSBjbG9jayBzb3VyY2UKKwkJICovCisKKwkJaWYgKHN0cmNtcChjbGtwLT5uYW1lLCAiZmNsayIpID09IDApIHsKKwkJCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjIHNyYzsKKworCQkJczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHBvcnQsICZzcmMpOworCisJCQkvKiBjaGVjayB0aGF0IHRoZSBwb3J0IGFscmVhZHkgdXNpbmcgZmNsaywgYW5kIGlmCisJCQkgKiBub3QsIHRoZW4gcmUtc2VsZWN0IGZjbGsKKwkJCSAqLworCisJCQlpZiAoc3RyY21wKHNyYy5uYW1lLCBjbGtwLT5uYW1lKSA9PSAwKSB7CisJCQkJczNjMjR4eF9zZXJpYWxfc2V0c291cmNlKHBvcnQsIGNsa3ApOworCQkJCXMzYzI0eHhfc2VyaWFsX2dldHNvdXJjZShwb3J0LCAmc3JjKTsKKwkJCX0KKworCQkJY2xrcC0+ZGl2aXNvciA9IHNyYy5kaXZpc29yOworCQl9CisKKwkJczNjMjR4eF9zZXJpYWxfY2FsY2JhdWQocmVzLCBwb3J0LCBjbGtwLCBiYXVkKTsKKwkJYmVzdCA9IHJlczsKKwkJcmVzcHRyID0gYmVzdCArIDE7CisJfSBlbHNlIHsKKwkJcmVzcHRyID0gcmVzOworCisJCWZvciAoaSA9IDA7IGkgPCBjZmctPmNsb2Nrc19zaXplOyBpKyssIGNsa3ArKykgeworCQkJaWYgKHMzYzI0eHhfc2VyaWFsX2NhbGNiYXVkKHJlc3B0ciwgcG9ydCwgY2xrcCwgYmF1ZCkpCisJCQkJcmVzcHRyKys7CisJCX0KKwl9CisKKwkvKiBvaywgd2Ugbm93IG5lZWQgdG8gc2VsZWN0IHRoZSBiZXN0IGNsb2NrIHdlIGZvdW5kICovCisKKwlpZiAoIWJlc3QpIHsKKwkJdW5zaWduZWQgaW50IGRldmlhdGlvbiA9ICgxPDwzMCl8KCgxPDwzMCktMSk7CisJCWludCBjYWxjX2RldmlhdGlvbjsKKworCQlmb3IgKHNwdHIgPSByZXM7IHNwdHIgPCByZXNwdHI7IHNwdHIrKykgeworCQkJY2FsY19kZXZpYXRpb24gPSBiYXVkIC0gc3B0ci0+Y2FsYzsKKwkJCWlmIChjYWxjX2RldmlhdGlvbiA8IDApCisJCQkJY2FsY19kZXZpYXRpb24gPSAtY2FsY19kZXZpYXRpb247CisKKwkJCWlmIChjYWxjX2RldmlhdGlvbiA8IGRldmlhdGlvbikgeworCQkJCWJlc3QgPSBzcHRyOworCQkJCWRldmlhdGlvbiA9IGNhbGNfZGV2aWF0aW9uOworCQkJfQorCQl9CisJfQorCisJLyogc3RvcmUgcmVzdWx0cyB0byBwYXNzIGJhY2sgKi8KKworCSpjbGtzcmMgPSBiZXN0LT5jbGtzcmM7CisJKmNsayAgICA9IGJlc3QtPnNyYzsKKworCXJldHVybiBiZXN0LT5xdW90OworfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zZXRfdGVybWlvcyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICAgICBzdHJ1Y3Qga3Rlcm1pb3MgKnRlcm1pb3MsCisJCQkJICAgICAgIHN0cnVjdCBrdGVybWlvcyAqb2xkKQoreworCXN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZyA9IHMzYzI0eHhfcG9ydF90b19jZmcocG9ydCk7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrc3JjID0gTlVMTDsKKwlzdHJ1Y3QgY2xrICpjbGsgPSBOVUxMOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgaW50IGJhdWQsIHF1b3Q7CisJdW5zaWduZWQgaW50IHVsY29uOworCXVuc2lnbmVkIGludCB1bWNvbjsKKworCS8qCisJICogV2UgZG9uJ3Qgc3VwcG9ydCBtb2RlbSBjb250cm9sIGxpbmVzLgorCSAqLworCXRlcm1pb3MtPmNfY2ZsYWcgJj0gfihIVVBDTCB8IENNU1BBUik7CisJdGVybWlvcy0+Y19jZmxhZyB8PSBDTE9DQUw7CisKKwkvKgorCSAqIEFzayB0aGUgY29yZSB0byBjYWxjdWxhdGUgdGhlIGRpdmlzb3IgZm9yIHVzLgorCSAqLworCisJYmF1ZCA9IHVhcnRfZ2V0X2JhdWRfcmF0ZShwb3J0LCB0ZXJtaW9zLCBvbGQsIDAsIDExNTIwMCo4KTsKKworCWlmIChiYXVkID09IDM4NDAwICYmIChwb3J0LT5mbGFncyAmIFVQRl9TUERfTUFTSykgPT0gVVBGX1NQRF9DVVNUKQorCQlxdW90ID0gcG9ydC0+Y3VzdG9tX2Rpdmlzb3I7CisJZWxzZQorCQlxdW90ID0gczNjMjR4eF9zZXJpYWxfZ2V0Y2xrKHBvcnQsICZjbGtzcmMsICZjbGssIGJhdWQpOworCisJLyogY2hlY2sgdG8gc2VlIGlmIHdlIG5lZWQgIHRvIGNoYW5nZSBjbG9jayBzb3VyY2UgKi8KKworCWlmIChvdXJwb3J0LT5jbGtzcmMgIT0gY2xrc3JjIHx8IG91cnBvcnQtPmJhdWRjbGsgIT0gY2xrKSB7CisJCXMzYzI0eHhfc2VyaWFsX3NldHNvdXJjZShwb3J0LCBjbGtzcmMpOworCisJCWlmIChvdXJwb3J0LT5iYXVkY2xrICE9IE5VTEwgJiYgIUlTX0VSUihvdXJwb3J0LT5iYXVkY2xrKSkgeworCQkJY2xrX2Rpc2FibGUob3VycG9ydC0+YmF1ZGNsayk7CisJCQlvdXJwb3J0LT5iYXVkY2xrICA9IE5VTEw7CisJCX0KKworCQljbGtfZW5hYmxlKGNsayk7CisKKwkJb3VycG9ydC0+Y2xrc3JjID0gY2xrc3JjOworCQlvdXJwb3J0LT5iYXVkY2xrID0gY2xrOworCX0KKworCXN3aXRjaCAodGVybWlvcy0+Y19jZmxhZyAmIENTSVpFKSB7CisJY2FzZSBDUzU6CisJCWRiZygiY29uZmlnOiA1Yml0cy9jaGFyXG4iKTsKKwkJdWxjb24gPSBTM0MyNDEwX0xDT05fQ1M1OworCQlicmVhazsKKwljYXNlIENTNjoKKwkJZGJnKCJjb25maWc6IDZiaXRzL2NoYXJcbiIpOworCQl1bGNvbiA9IFMzQzI0MTBfTENPTl9DUzY7CisJCWJyZWFrOworCWNhc2UgQ1M3OgorCQlkYmcoImNvbmZpZzogN2JpdHMvY2hhclxuIik7CisJCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTNzsKKwkJYnJlYWs7CisJY2FzZSBDUzg6CisJZGVmYXVsdDoKKwkJZGJnKCJjb25maWc6IDhiaXRzL2NoYXJcbiIpOworCQl1bGNvbiA9IFMzQzI0MTBfTENPTl9DUzg7CisJCWJyZWFrOworCX0KKworCS8qIHByZXNlcnZlIG9yaWdpbmFsIGxjb24gSVIgc2V0dGluZ3MgKi8KKwl1bGNvbiB8PSAoY2ZnLT51bGNvbiAmIFMzQzI0MTBfTENPTl9JUk0pOworCisJaWYgKHRlcm1pb3MtPmNfY2ZsYWcgJiBDU1RPUEIpCisJCXVsY29uIHw9IFMzQzI0MTBfTENPTl9TVE9QQjsKKworCXVtY29uID0gKHRlcm1pb3MtPmNfY2ZsYWcgJiBDUlRTQ1RTKSA/IFMzQzI0MTBfVU1DT01fQUZDIDogMDsKKworCWlmICh0ZXJtaW9zLT5jX2NmbGFnICYgUEFSRU5CKSB7CisJCWlmICh0ZXJtaW9zLT5jX2NmbGFnICYgUEFST0REKQorCQkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1BPREQ7CisJCWVsc2UKKwkJCXVsY29uIHw9IFMzQzI0MTBfTENPTl9QRVZFTjsKKwl9IGVsc2UgeworCQl1bGNvbiB8PSBTM0MyNDEwX0xDT05fUE5PTkU7CisJfQorCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKKworCWRiZygic2V0dGluZyB1bGNvbiB0byAlMDh4LCBicmRkaXYgdG8gJWRcbiIsIHVsY29uLCBxdW90KTsKKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTiwgdWxjb24pOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQlJESVYsIHF1b3QpOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VTUNPTiwgdW1jb24pOworCisJZGJnKCJ1YXJ0OiB1bGNvbiA9IDB4JTA4eCwgdWNvbiA9IDB4JTA4eCwgdWZjb24gPSAweCUwOHhcbiIsCisJICAgIHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTiksCisJICAgIHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKSwKKwkgICAgcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKSk7CisKKwkvKgorCSAqIFVwZGF0ZSB0aGUgcGVyLXBvcnQgdGltZW91dC4KKwkgKi8KKwl1YXJ0X3VwZGF0ZV90aW1lb3V0KHBvcnQsIHRlcm1pb3MtPmNfY2ZsYWcsIGJhdWQpOworCisJLyoKKwkgKiBXaGljaCBjaGFyYWN0ZXIgc3RhdHVzIGZsYWdzIGFyZSB3ZSBpbnRlcmVzdGVkIGluPworCSAqLworCXBvcnQtPnJlYWRfc3RhdHVzX21hc2sgPSBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTjsKKwlpZiAodGVybWlvcy0+Y19pZmxhZyAmIElOUENLKQorCQlwb3J0LT5yZWFkX3N0YXR1c19tYXNrIHw9IFMzQzI0MTBfVUVSU1RBVF9GUkFNRSB8IFMzQzI0MTBfVUVSU1RBVF9QQVJJVFk7CisKKwkvKgorCSAqIFdoaWNoIGNoYXJhY3RlciBzdGF0dXMgZmxhZ3Mgc2hvdWxkIHdlIGlnbm9yZT8KKwkgKi8KKwlwb3J0LT5pZ25vcmVfc3RhdHVzX21hc2sgPSAwOworCWlmICh0ZXJtaW9zLT5jX2lmbGFnICYgSUdOUEFSKQorCQlwb3J0LT5pZ25vcmVfc3RhdHVzX21hc2sgfD0gUzNDMjQxMF9VRVJTVEFUX09WRVJSVU47CisJaWYgKHRlcm1pb3MtPmNfaWZsYWcgJiBJR05CUksgJiYgdGVybWlvcy0+Y19pZmxhZyAmIElHTlBBUikKKwkJcG9ydC0+aWdub3JlX3N0YXR1c19tYXNrIHw9IFMzQzI0MTBfVUVSU1RBVF9GUkFNRTsKKworCS8qCisJICogSWdub3JlIGFsbCBjaGFyYWN0ZXJzIGlmIENSRUFEIGlzIG5vdCBzZXQuCisJICovCisJaWYgKCh0ZXJtaW9zLT5jX2NmbGFnICYgQ1JFQUQpID09IDApCisJCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayB8PSBSWFNUQVRfRFVNTVlfUkVBRDsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKnMzYzI0eHhfc2VyaWFsX3R5cGUoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlzd2l0Y2ggKHBvcnQtPnR5cGUpIHsKKwljYXNlIFBPUlRfUzNDMjQxMDoKKwkJcmV0dXJuICJTM0MyNDEwIjsKKwljYXNlIFBPUlRfUzNDMjQ0MDoKKwkJcmV0dXJuICJTM0MyNDQwIjsKKwljYXNlIFBPUlRfUzNDMjQxMjoKKwkJcmV0dXJuICJTM0MyNDEyIjsKKwlkZWZhdWx0OgorCQlyZXR1cm4gTlVMTDsKKwl9Cit9CisKKyNkZWZpbmUgTUFQX1NJWkUgKDB4MTAwKQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9yZWxlYXNlX3BvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlyZWxlYXNlX21lbV9yZWdpb24ocG9ydC0+bWFwYmFzZSwgTUFQX1NJWkUpOworfQorCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3JlcXVlc3RfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCWNvbnN0IGNoYXIgKm5hbWUgPSBzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShwb3J0KTsKKwlyZXR1cm4gcmVxdWVzdF9tZW1fcmVnaW9uKHBvcnQtPm1hcGJhc2UsIE1BUF9TSVpFLCBuYW1lKSA/IDAgOiAtRUJVU1k7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX2NvbmZpZ19wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCBmbGFncykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKKworCWlmIChmbGFncyAmIFVBUlRfQ09ORklHX1RZUEUgJiYKKwkgICAgczNjMjR4eF9zZXJpYWxfcmVxdWVzdF9wb3J0KHBvcnQpID09IDApCisJCXBvcnQtPnR5cGUgPSBpbmZvLT50eXBlOworfQorCisvKgorICogdmVyaWZ5IHRoZSBuZXcgc2VyaWFsX3N0cnVjdCAoZm9yIFRJT0NTU0VSSUFMKS4KKyAqLworc3RhdGljIGludAorczNjMjR4eF9zZXJpYWxfdmVyaWZ5X3BvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgc3RydWN0IHNlcmlhbF9zdHJ1Y3QgKnNlcikKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKKworCWlmIChzZXItPnR5cGUgIT0gUE9SVF9VTktOT1dOICYmIHNlci0+dHlwZSAhPSBpbmZvLT50eXBlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldHVybiAwOworfQorCisKKyNpZmRlZiBDT05GSUdfU0VSSUFMX1NBTVNVTkdfQ09OU09MRQorCitzdGF0aWMgc3RydWN0IGNvbnNvbGUgczNjMjR4eF9zZXJpYWxfY29uc29sZTsKKworI2RlZmluZSBTM0MyNFhYX1NFUklBTF9DT05TT0xFICZzM2MyNHh4X3NlcmlhbF9jb25zb2xlCisjZWxzZQorI2RlZmluZSBTM0MyNFhYX1NFUklBTF9DT05TT0xFIE5VTEwKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IHVhcnRfb3BzIHMzYzI0eHhfc2VyaWFsX29wcyA9IHsKKwkucG0JCT0gczNjMjR4eF9zZXJpYWxfcG0sCisJLnR4X2VtcHR5CT0gczNjMjR4eF9zZXJpYWxfdHhfZW1wdHksCisJLmdldF9tY3RybAk9IHMzYzI0eHhfc2VyaWFsX2dldF9tY3RybCwKKwkuc2V0X21jdHJsCT0gczNjMjR4eF9zZXJpYWxfc2V0X21jdHJsLAorCS5zdG9wX3R4CT0gczNjMjR4eF9zZXJpYWxfc3RvcF90eCwKKwkuc3RhcnRfdHgJPSBzM2MyNHh4X3NlcmlhbF9zdGFydF90eCwKKwkuc3RvcF9yeAk9IHMzYzI0eHhfc2VyaWFsX3N0b3BfcngsCisJLmVuYWJsZV9tcwk9IHMzYzI0eHhfc2VyaWFsX2VuYWJsZV9tcywKKwkuYnJlYWtfY3RsCT0gczNjMjR4eF9zZXJpYWxfYnJlYWtfY3RsLAorCS5zdGFydHVwCT0gczNjMjR4eF9zZXJpYWxfc3RhcnR1cCwKKwkuc2h1dGRvd24JPSBzM2MyNHh4X3NlcmlhbF9zaHV0ZG93biwKKwkuc2V0X3Rlcm1pb3MJPSBzM2MyNHh4X3NlcmlhbF9zZXRfdGVybWlvcywKKwkudHlwZQkJPSBzM2MyNHh4X3NlcmlhbF90eXBlLAorCS5yZWxlYXNlX3BvcnQJPSBzM2MyNHh4X3NlcmlhbF9yZWxlYXNlX3BvcnQsCisJLnJlcXVlc3RfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX3JlcXVlc3RfcG9ydCwKKwkuY29uZmlnX3BvcnQJPSBzM2MyNHh4X3NlcmlhbF9jb25maWdfcG9ydCwKKwkudmVyaWZ5X3BvcnQJPSBzM2MyNHh4X3NlcmlhbF92ZXJpZnlfcG9ydCwKK307CisKKworc3RhdGljIHN0cnVjdCB1YXJ0X2RyaXZlciBzM2MyNHh4X3VhcnRfZHJ2ID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkuZGV2X25hbWUJPSAiczNjMjQxMF9zZXJpYWwiLAorCS5ucgkJPSAzLAorCS5jb25zCQk9IFMzQzI0WFhfU0VSSUFMX0NPTlNPTEUsCisJLmRyaXZlcl9uYW1lCT0gUzNDMjRYWF9TRVJJQUxfTkFNRSwKKwkubWFqb3IJCT0gUzNDMjRYWF9TRVJJQUxfTUFKT1IsCisJLm1pbm9yCQk9IFMzQzI0WFhfU0VSSUFMX01JTk9SLAorfTsKKworc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCBzM2MyNHh4X3NlcmlhbF9wb3J0c1tOUl9QT1JUU10gPSB7CisJWzBdID0geworCQkucG9ydCA9IHsKKwkJCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHMzYzI0eHhfc2VyaWFsX3BvcnRzWzBdLnBvcnQubG9jayksCisJCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkJLmlycQkJPSBJUlFfUzNDVUFSVF9SWDAsCisJCQkudWFydGNsawk9IDAsCisJCQkuZmlmb3NpemUJPSAxNiwKKwkJCS5vcHMJCT0gJnMzYzI0eHhfc2VyaWFsX29wcywKKwkJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJCS5saW5lCQk9IDAsCisJCX0KKwl9LAorCVsxXSA9IHsKKwkJLnBvcnQgPSB7CisJCQkubG9jawkJPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzM2MyNHh4X3NlcmlhbF9wb3J0c1sxXS5wb3J0LmxvY2spLAorCQkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJCS5pcnEJCT0gSVJRX1MzQ1VBUlRfUlgxLAorCQkJLnVhcnRjbGsJPSAwLAorCQkJLmZpZm9zaXplCT0gMTYsCisJCQkub3BzCQk9ICZzM2MyNHh4X3NlcmlhbF9vcHMsCisJCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYsCisJCQkubGluZQkJPSAxLAorCQl9CisJfSwKKyNpZiBOUl9QT1JUUyA+IDIKKworCVsyXSA9IHsKKwkJLnBvcnQgPSB7CisJCQkubG9jawkJPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzM2MyNHh4X3NlcmlhbF9wb3J0c1syXS5wb3J0LmxvY2spLAorCQkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJCS5pcnEJCT0gSVJRX1MzQ1VBUlRfUlgyLAorCQkJLnVhcnRjbGsJPSAwLAorCQkJLmZpZm9zaXplCT0gMTYsCisJCQkub3BzCQk9ICZzM2MyNHh4X3NlcmlhbF9vcHMsCisJCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYsCisJCQkubGluZQkJPSAyLAorCQl9CisJfQorI2VuZGlmCit9OworCisvKiBzM2MyNHh4X3NlcmlhbF9yZXNldHBvcnQKKyAqCisgKiB3cmFwcGVyIHRvIGNhbGwgdGhlIHNwZWNpZmljIHJlc2V0IGZvciB0aGlzIHBvcnQgKHJlc2V0IHRoZSBmaWZvcworICogYW5kIHRoZSBzZXR0aW5ncykKKyovCisKK3N0YXRpYyBpbmxpbmUgaW50IHMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCQkgICBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7CisKKwlyZXR1cm4gKGluZm8tPnJlc2V0X3BvcnQpKHBvcnQsIGNmZyk7Cit9CisKKy8qIHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydAorICoKKyAqIGluaXRpYWxpc2UgYSBzaW5nbGUgc2VyaWFsIHBvcnQgZnJvbSB0aGUgcGxhdGZvcm0gZGV2aWNlIGdpdmVuCisgKi8KKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQoc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8sCisJCQkJICAgIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRkZXYpCit7CisJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9ICZvdXJwb3J0LT5wb3J0OworCXN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZzsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKKwlpbnQgcmV0OworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6IHBvcnQ9JXAsIHBsYXRkZXY9JXBcbiIsIHBvcnQsIHBsYXRkZXYpOworCisJaWYgKHBsYXRkZXYgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwljZmcgPSBzM2MyNHh4X2Rldl90b19jZmcoJnBsYXRkZXYtPmRldik7CisKKwlpZiAocG9ydC0+bWFwYmFzZSAhPSAwKQorCQlyZXR1cm4gMDsKKworCWlmIChjZmctPmh3cG9ydCA+IDMpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogc2V0dXAgaW5mbyBmb3IgcG9ydCAqLworCXBvcnQtPmRldgk9ICZwbGF0ZGV2LT5kZXY7CisJb3VycG9ydC0+aW5mbwk9IGluZm87CisKKwkvKiBjb3B5IHRoZSBpbmZvIGluIGZyb20gcHJvdmlkZWQgc3RydWN0dXJlICovCisJb3VycG9ydC0+cG9ydC5maWZvc2l6ZSA9IGluZm8tPmZpZm9zaXplOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6ICVwIChodyAlZCkuLi5cbiIsIHBvcnQsIGNmZy0+aHdwb3J0KTsKKworCXBvcnQtPnVhcnRjbGsgPSAxOworCisJaWYgKGNmZy0+dWFydF9mbGFncyAmIFVQRl9DT05TX0ZMT1cpIHsKKwkJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6IGVuYWJsaW5nIGZsb3cgY29udHJvbFxuIik7CisJCXBvcnQtPmZsYWdzIHw9IFVQRl9DT05TX0ZMT1c7CisJfQorCisJLyogc29ydCBvdXIgdGhlIHBoeXNpY2FsIGFuZCB2aXJ0dWFsIGFkZHJlc3NlcyBmb3IgZWFjaCBVQVJUICovCisKKwlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGxhdGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWlmIChyZXMgPT0gTlVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBmaW5kIG1lbW9yeSByZXNvdXJjZSBmb3IgdWFydFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWRiZygicmVzb3VyY2UgJXAgKCVseC4uJWx4KVxuIiwgcmVzLCByZXMtPnN0YXJ0LCByZXMtPmVuZCk7CisKKwlwb3J0LT5tYXBiYXNlCT0gcmVzLT5zdGFydDsKKwlwb3J0LT5tZW1iYXNlCT0gUzNDMjRYWF9WQV9VQVJUICsgKHJlcy0+c3RhcnQgLSBTM0MyNFhYX1BBX1VBUlQpOworCXJldCA9IHBsYXRmb3JtX2dldF9pcnEocGxhdGRldiwgMCk7CisJaWYgKHJldCA8IDApCisJCXBvcnQtPmlycSA9IDA7CisJZWxzZQorCQlwb3J0LT5pcnEgPSByZXQ7CisKKwlvdXJwb3J0LT5jbGsJPSBjbGtfZ2V0KCZwbGF0ZGV2LT5kZXYsICJ1YXJ0Iik7CisKKwlkYmcoInBvcnQ6IG1hcD0lMDh4LCBtZW09JTA4eCwgaXJxPSVkLCBjbG9jaz0lbGRcbiIsCisJICAgIHBvcnQtPm1hcGJhc2UsIHBvcnQtPm1lbWJhc2UsIHBvcnQtPmlycSwgcG9ydC0+dWFydGNsayk7CisKKwkvKiByZXNldCB0aGUgZmlmb3MgKGFuZCBzZXR1cCB0aGUgdWFydCkgKi8KKwlzM2MyNHh4X3NlcmlhbF9yZXNldHBvcnQocG9ydCwgY2ZnKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNzaXplX3QgczNjMjR4eF9zZXJpYWxfc2hvd19jbGtzcmMoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJCQkgIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gczNjMjR4eF9kZXZfdG9fcG9ydChkZXYpOworCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7CisKKwlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIqICVzXG4iLCBvdXJwb3J0LT5jbGtzcmMtPm5hbWUpOworfQorCitzdGF0aWMgREVWSUNFX0FUVFIoY2xvY2tfc291cmNlLCBTX0lSVUdPLCBzM2MyNHh4X3NlcmlhbF9zaG93X2Nsa3NyYywgTlVMTCk7CisKKy8qIERldmljZSBkcml2ZXIgc2VyaWFsIHBvcnQgcHJvYmUgKi8KKworc3RhdGljIGludCBwcm9iZV9pbmRleDsKKworaW50IHMzYzI0eHhfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwKKwkJCSBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0OworCWludCByZXQ7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX3Byb2JlKCVwLCAlcCkgJWRcbiIsIGRldiwgaW5mbywgcHJvYmVfaW5kZXgpOworCisJb3VycG9ydCA9ICZzM2MyNHh4X3NlcmlhbF9wb3J0c1twcm9iZV9pbmRleF07CisJcHJvYmVfaW5kZXgrKzsKKworCWRiZygiJXM6IGluaXRpYWxpc2luZyBwb3J0ICVwLi4uXG4iLCBfX2Z1bmNfXywgb3VycG9ydCk7CisKKwlyZXQgPSBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQob3VycG9ydCwgaW5mbywgZGV2KTsKKwlpZiAocmV0IDwgMCkKKwkJZ290byBwcm9iZV9lcnI7CisKKwlkYmcoIiVzOiBhZGRpbmcgcG9ydFxuIiwgX19mdW5jX18pOworCXVhcnRfYWRkX29uZV9wb3J0KCZzM2MyNHh4X3VhcnRfZHJ2LCAmb3VycG9ydC0+cG9ydCk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEoZGV2LCAmb3VycG9ydC0+cG9ydCk7CisKKwlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoJmRldi0+ZGV2LCAmZGV2X2F0dHJfY2xvY2tfc291cmNlKTsKKwlpZiAocmV0IDwgMCkKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogZmFpbGVkIHRvIGFkZCBjbGtzcmMgYXR0ci5cbiIsIF9fZnVuY19fKTsKKworCXJldHVybiAwOworCisgcHJvYmVfZXJyOgorCXJldHVybiByZXQ7Cit9CisKK0VYUE9SVF9TWU1CT0xfR1BMKHMzYzI0eHhfc2VyaWFsX3Byb2JlKTsKKworaW50IHMzYzI0eHhfc2VyaWFsX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9IHMzYzI0eHhfZGV2X3RvX3BvcnQoJmRldi0+ZGV2KTsKKworCWlmIChwb3J0KSB7CisJCWRldmljZV9yZW1vdmVfZmlsZSgmZGV2LT5kZXYsICZkZXZfYXR0cl9jbG9ja19zb3VyY2UpOworCQl1YXJ0X3JlbW92ZV9vbmVfcG9ydCgmczNjMjR4eF91YXJ0X2RydiwgcG9ydCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK0VYUE9SVF9TWU1CT0xfR1BMKHMzYzI0eHhfc2VyaWFsX3JlbW92ZSk7CisKKy8qIFVBUlQgcG93ZXIgbWFuYWdlbWVudCBjb2RlICovCisKKyNpZmRlZiBDT05GSUdfUE0KKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KCZkZXYtPmRldik7CisKKwlpZiAocG9ydCkKKwkJdWFydF9zdXNwZW5kX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsIHBvcnQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gczNjMjR4eF9kZXZfdG9fcG9ydCgmZGV2LT5kZXYpOworCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7CisKKwlpZiAocG9ydCkgeworCQljbGtfZW5hYmxlKG91cnBvcnQtPmNsayk7CisJCXMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydChwb3J0LCBzM2MyNHh4X3BvcnRfdG9fY2ZnKHBvcnQpKTsKKwkJY2xrX2Rpc2FibGUob3VycG9ydC0+Y2xrKTsKKworCQl1YXJ0X3Jlc3VtZV9wb3J0KCZzM2MyNHh4X3VhcnRfZHJ2LCBwb3J0KTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitpbnQgczNjMjR4eF9zZXJpYWxfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICpkcnYsCisJCQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCit7CisJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0KCVwLCVwKVxuIiwgZHJ2LCBpbmZvKTsKKworI2lmZGVmIENPTkZJR19QTQorCWRydi0+c3VzcGVuZCA9IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQ7CisJZHJ2LT5yZXN1bWUgPSBzM2MyNHh4X3NlcmlhbF9yZXN1bWU7CisjZW5kaWYKKworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoZHJ2KTsKK30KKworRVhQT1JUX1NZTUJPTF9HUEwoczNjMjR4eF9zZXJpYWxfaW5pdCk7CisKKy8qIG1vZHVsZSBpbml0aWFsaXNhdGlvbiBjb2RlICovCisKK3N0YXRpYyBpbnQgX19pbml0IHMzYzI0eHhfc2VyaWFsX21vZGluaXQodm9pZCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gdWFydF9yZWdpc3Rlcl9kcml2ZXIoJnMzYzI0eHhfdWFydF9kcnYpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIHJlZ2lzdGVyIFVBUlQgZHJpdmVyXG4iKTsKKwkJcmV0dXJuIC0xOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgczNjMjR4eF9zZXJpYWxfbW9kZXhpdCh2b2lkKQoreworCXVhcnRfdW5yZWdpc3Rlcl9kcml2ZXIoJnMzYzI0eHhfdWFydF9kcnYpOworfQorCittb2R1bGVfaW5pdChzM2MyNHh4X3NlcmlhbF9tb2Rpbml0KTsKK21vZHVsZV9leGl0KHMzYzI0eHhfc2VyaWFsX21vZGV4aXQpOworCisvKiBDb25zb2xlIGNvZGUgKi8KKworI2lmZGVmIENPTkZJR19TRVJJQUxfU0FNU1VOR19DT05TT0xFCisKK3N0YXRpYyBzdHJ1Y3QgdWFydF9wb3J0ICpjb25zX3VhcnQ7CisKK3N0YXRpYyBpbnQKK3MzYzI0eHhfc2VyaWFsX2NvbnNvbGVfdHhyZHkoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgdW5zaWduZWQgaW50IHVmY29uKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOworCXVuc2lnbmVkIGxvbmcgdWZzdGF0LCB1dHJzdGF0OworCisJaWYgKHVmY29uICYgUzNDMjQxMF9VRkNPTl9GSUZPTU9ERSkgeworCQkvKiBmaWZvIG1vZGUgLSBjaGVjayBhbW1vdW50IG9mIGRhdGEgaW4gZmlmbyByZWdpc3RlcnMuLi4gKi8KKworCQl1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKKwkJcmV0dXJuICh1ZnN0YXQgJiBpbmZvLT50eF9maWZvZnVsbCkgPyAwIDogMTsKKwl9CisKKwkvKiBpbiBub24tZmlmbyBtb2RlLCB3ZSBnbyBhbmQgdXNlIHRoZSB0eCBidWZmZXIgZW1wdHkgKi8KKworCXV0cnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVVRSU1RBVCk7CisJcmV0dXJuICh1dHJzdGF0ICYgUzNDMjQxMF9VVFJTVEFUX1RYRSkgPyAxIDogMDsKK30KKworc3RhdGljIHZvaWQKK3MzYzI0eHhfc2VyaWFsX2NvbnNvbGVfcHV0Y2hhcihzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBpbnQgY2gpCit7CisJdW5zaWduZWQgaW50IHVmY29uID0gcmRfcmVnbChjb25zX3VhcnQsIFMzQzI0MTBfVUZDT04pOworCXdoaWxlICghczNjMjR4eF9zZXJpYWxfY29uc29sZV90eHJkeShwb3J0LCB1ZmNvbikpCisJCWJhcnJpZXIoKTsKKwl3cl9yZWdiKGNvbnNfdWFydCwgUzNDMjQxMF9VVFhILCBjaCk7Cit9CisKK3N0YXRpYyB2b2lkCitzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3dyaXRlKHN0cnVjdCBjb25zb2xlICpjbywgY29uc3QgY2hhciAqcywKKwkJCSAgICAgdW5zaWduZWQgaW50IGNvdW50KQoreworCXVhcnRfY29uc29sZV93cml0ZShjb25zX3VhcnQsIHMsIGNvdW50LCBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3B1dGNoYXIpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQKK3MzYzI0eHhfc2VyaWFsX2dldF9vcHRpb25zKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCAqYmF1ZCwKKwkJCSAgIGludCAqcGFyaXR5LCBpbnQgKmJpdHMpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgY2xrc3JjOworCXN0cnVjdCBjbGsgKmNsazsKKwl1bnNpZ25lZCBpbnQgdWxjb247CisJdW5zaWduZWQgaW50IHVjb247CisJdW5zaWduZWQgaW50IHVicmRpdjsKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisKKwl1bGNvbiAgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04pOworCXVjb24gICA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKwl1YnJkaXYgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUJSRElWKTsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfZ2V0X29wdGlvbnM6IHBvcnQ9JXBcbiIKKwkgICAgInJlZ2lzdGVyczogdWxjb249JTA4eCwgdWNvbj0lMDh4LCB1YmRyaXY9JTA4eFxuIiwKKwkgICAgcG9ydCwgdWxjb24sIHVjb24sIHVicmRpdik7CisKKwlpZiAoKHVjb24gJiAweGYpICE9IDApIHsKKwkJLyogY29uc2lkZXIgdGhlIHNlcmlhbCBwb3J0IGNvbmZpZ3VyZWQgaWYgdGhlIHR4L3J4IG1vZGUgc2V0ICovCisKKwkJc3dpdGNoICh1bGNvbiAmIFMzQzI0MTBfTENPTl9DU01BU0spIHsKKwkJY2FzZSBTM0MyNDEwX0xDT05fQ1M1OgorCQkJKmJpdHMgPSA1OworCQkJYnJlYWs7CisJCWNhc2UgUzNDMjQxMF9MQ09OX0NTNjoKKwkJCSpiaXRzID0gNjsKKwkJCWJyZWFrOworCQljYXNlIFMzQzI0MTBfTENPTl9DUzc6CisJCQkqYml0cyA9IDc7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJY2FzZSBTM0MyNDEwX0xDT05fQ1M4OgorCQkJKmJpdHMgPSA4OworCQkJYnJlYWs7CisJCX0KKworCQlzd2l0Y2ggKHVsY29uICYgUzNDMjQxMF9MQ09OX1BNQVNLKSB7CisJCWNhc2UgUzNDMjQxMF9MQ09OX1BFVkVOOgorCQkJKnBhcml0eSA9ICdlJzsKKwkJCWJyZWFrOworCisJCWNhc2UgUzNDMjQxMF9MQ09OX1BPREQ6CisJCQkqcGFyaXR5ID0gJ28nOworCQkJYnJlYWs7CisKKwkJY2FzZSBTM0MyNDEwX0xDT05fUE5PTkU6CisJCWRlZmF1bHQ6CisJCQkqcGFyaXR5ID0gJ24nOworCQl9CisKKwkJLyogbm93IGNhbGN1bGF0ZSB0aGUgYmF1ZCByYXRlICovCisKKwkJczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHBvcnQsICZjbGtzcmMpOworCisJCWNsayA9IGNsa19nZXQocG9ydC0+ZGV2LCBjbGtzcmMubmFtZSk7CisJCWlmICghSVNfRVJSKGNsaykgJiYgY2xrICE9IE5VTEwpCisJCQlyYXRlID0gY2xrX2dldF9yYXRlKGNsaykgLyBjbGtzcmMuZGl2aXNvcjsKKwkJZWxzZQorCQkJcmF0ZSA9IDE7CisKKworCQkqYmF1ZCA9IHJhdGUgLyAoMTYgKiAodWJyZGl2ICsgMSkpOworCQlkYmcoImNhbGN1bGF0ZWQgYmF1ZCAlZFxuIiwgKmJhdWQpOworCX0KKworfQorCisvKiBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnRzCisgKgorICogaW5pdGlhbGlzZSB0aGUgc2VyaWFsIHBvcnRzIGZyb20gdGhlIG1hY2hpbmUgcHJvdmlkZWQgaW5pdGlhbGlzYXRpb24KKyAqIGRhdGEuCisqLworCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHMoc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqcHRyID0gczNjMjR4eF9zZXJpYWxfcG9ydHM7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqKnBsYXRkZXZfcHRyOworCWludCBpOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnRzOiBpbml0aWFsaXNpbmcgcG9ydHMuLi5cbiIpOworCisJcGxhdGRldl9wdHIgPSBzM2MyNHh4X3VhcnRfZGV2czsKKworCWZvciAoaSA9IDA7IGkgPCBOUl9QT1JUUzsgaSsrLCBwdHIrKywgcGxhdGRldl9wdHIrKykgeworCQlzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQocHRyLCBpbmZvLCAqcGxhdGRldl9wdHIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdAorczNjMjR4eF9zZXJpYWxfY29uc29sZV9zZXR1cChzdHJ1Y3QgY29uc29sZSAqY28sIGNoYXIgKm9wdGlvbnMpCit7CisJc3RydWN0IHVhcnRfcG9ydCAqcG9ydDsKKwlpbnQgYmF1ZCA9IDk2MDA7CisJaW50IGJpdHMgPSA4OworCWludCBwYXJpdHkgPSAnbic7CisJaW50IGZsb3cgPSAnbic7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXA6IGNvPSVwICglZCksICVzXG4iLAorCSAgICBjbywgY28tPmluZGV4LCBvcHRpb25zKTsKKworCS8qIGlzIHRoaXMgYSB2YWxpZCBwb3J0ICovCisKKwlpZiAoY28tPmluZGV4ID09IC0xIHx8IGNvLT5pbmRleCA+PSBOUl9QT1JUUykKKwkJY28tPmluZGV4ID0gMDsKKworCXBvcnQgPSAmczNjMjR4eF9zZXJpYWxfcG9ydHNbY28tPmluZGV4XS5wb3J0OworCisJLyogaXMgdGhlIHBvcnQgY29uZmlndXJlZD8gKi8KKworCWlmIChwb3J0LT5tYXBiYXNlID09IDB4MCkgeworCQljby0+aW5kZXggPSAwOworCQlwb3J0ID0gJnMzYzI0eHhfc2VyaWFsX3BvcnRzW2NvLT5pbmRleF0ucG9ydDsKKwl9CisKKwljb25zX3VhcnQgPSBwb3J0OworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwOiBwb3J0PSVwICglZClcbiIsIHBvcnQsIGNvLT5pbmRleCk7CisKKwkvKgorCSAqIENoZWNrIHdoZXRoZXIgYW4gaW52YWxpZCB1YXJ0IG51bWJlciBoYXMgYmVlbiBzcGVjaWZpZWQsIGFuZAorCSAqIGlmIHNvLCBzZWFyY2ggZm9yIHRoZSBmaXJzdCBhdmFpbGFibGUgcG9ydCB0aGF0IGRvZXMgaGF2ZQorCSAqIGNvbnNvbGUgc3VwcG9ydC4KKwkgKi8KKwlpZiAob3B0aW9ucykKKwkJdWFydF9wYXJzZV9vcHRpb25zKG9wdGlvbnMsICZiYXVkLCAmcGFyaXR5LCAmYml0cywgJmZsb3cpOworCWVsc2UKKwkJczNjMjR4eF9zZXJpYWxfZ2V0X29wdGlvbnMocG9ydCwgJmJhdWQsICZwYXJpdHksICZiaXRzKTsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfY29uc29sZV9zZXR1cDogYmF1ZCAlZFxuIiwgYmF1ZCk7CisKKwlyZXR1cm4gdWFydF9zZXRfb3B0aW9ucyhwb3J0LCBjbywgYmF1ZCwgcGFyaXR5LCBiaXRzLCBmbG93KTsKK30KKworLyogczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUKKyAqCisgKiBpbml0aWFsaXNlIHRoZSBjb25zb2xlIGZyb20gb25lIG9mIHRoZSB1YXJ0IGRyaXZlcnMKKyovCisKK3N0YXRpYyBzdHJ1Y3QgY29uc29sZSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlID0geworCS5uYW1lCQk9IFMzQzI0WFhfU0VSSUFMX05BTUUsCisJLmRldmljZQkJPSB1YXJ0X2NvbnNvbGVfZGV2aWNlLAorCS5mbGFncwkJPSBDT05fUFJJTlRCVUZGRVIsCisJLmluZGV4CQk9IC0xLAorCS53cml0ZQkJPSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3dyaXRlLAorCS5zZXR1cAkJPSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwCit9OworCitpbnQgczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqZHJ2LAorCQkJICAgICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbykKKworeworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiA9IHMzYzI0eHhfdWFydF9kZXZzWzBdOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZVxuIik7CisKKwkvKiBzZWxlY3QgZHJpdmVyIGJhc2VkIG9uIHRoZSBjcHUgKi8KKworCWlmIChkZXYgPT0gTlVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgInMzYzI0eHg6IG5vIGRldmljZXMgZm9yIGNvbnNvbGUgaW5pdFxuIik7CisJCXJldHVybiAwOworCX0KKworCWlmIChzdHJjbXAoZGV2LT5uYW1lLCBkcnYtPmRyaXZlci5uYW1lKSAhPSAwKQorCQlyZXR1cm4gMDsKKworCXMzYzI0eHhfc2VyaWFsX2NvbnNvbGUuZGF0YSA9ICZzM2MyNHh4X3VhcnRfZHJ2OworCXMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHMoaW5mbyk7CisKKwlyZWdpc3Rlcl9jb25zb2xlKCZzM2MyNHh4X3NlcmlhbF9jb25zb2xlKTsKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIENPTkZJR19TRVJJQUxfU0FNU1VOR19DT05TT0xFICovCisKK01PRFVMRV9ERVNDUklQVElPTigiU2Ftc3VuZyBTb0MgU2VyaWFsIHBvcnQgZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+Iik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9zYW1zdW5nLmggYi9kcml2ZXJzL3NlcmlhbC9zYW1zdW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM5MmViYgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuaApAQCAtMCwwICsxLDEwMiBAQAorLyogbGludXgvZHJpdmVycy9zZXJpYWwvc2Ftc3VuZy5oCisgKgorICogRHJpdmVyIGZvciBTYW1zdW5nIFNvQyBvbmJvYXJkIFVBUlRzLgorICoKKyAqIEJlbiBEb29rcywgQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUsMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKK3N0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyB7CisJY2hhcgkJCSpuYW1lOworCXVuc2lnbmVkIGludAkJdHlwZTsKKwl1bnNpZ25lZCBpbnQJCWZpZm9zaXplOworCXVuc2lnbmVkIGxvbmcJCXJ4X2ZpZm9tYXNrOworCXVuc2lnbmVkIGxvbmcJCXJ4X2ZpZm9zaGlmdDsKKwl1bnNpZ25lZCBsb25nCQlyeF9maWZvZnVsbDsKKwl1bnNpZ25lZCBsb25nCQl0eF9maWZvbWFzazsKKwl1bnNpZ25lZCBsb25nCQl0eF9maWZvc2hpZnQ7CisJdW5zaWduZWQgbG9uZwkJdHhfZmlmb2Z1bGw7CisKKwkvKiBjbG9jayBzb3VyY2UgY29udHJvbCAqLworCisJaW50ICgqZ2V0X2Nsa3NyYykoc3RydWN0IHVhcnRfcG9ydCAqLCBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKTsKKwlpbnQgKCpzZXRfY2xrc3JjKShzdHJ1Y3QgdWFydF9wb3J0ICosIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspOworCisJLyogdWFydCBjb250cm9scyAqLworCWludCAoKnJlc2V0X3BvcnQpKHN0cnVjdCB1YXJ0X3BvcnQgKiwgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqKTsKK307CisKK3N0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCB7CisJdW5zaWduZWQgY2hhcgkJCXJ4X2NsYWltZWQ7CisJdW5zaWduZWQgY2hhcgkJCXR4X2NsYWltZWQ7CisKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8JKmluZm87CisJc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMJKmNsa3NyYzsKKwlzdHJ1Y3QgY2xrCQkJKmNsazsKKwlzdHJ1Y3QgY2xrCQkJKmJhdWRjbGs7CisJc3RydWN0IHVhcnRfcG9ydAkJcG9ydDsKK307CisKKy8qIGNvbnZlcnNpb24gZnVuY3Rpb25zICovCisKKyNkZWZpbmUgczNjMjR4eF9kZXZfdG9fcG9ydChfX2RldikgKHN0cnVjdCB1YXJ0X3BvcnQgKilkZXZfZ2V0X2RydmRhdGEoX19kZXYpCisjZGVmaW5lIHMzYzI0eHhfZGV2X3RvX2NmZyhfX2RldikgKHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKikoKF9fZGV2KS0+cGxhdGZvcm1fZGF0YSkKKworLyogcmVnaXN0ZXIgYWNjZXNzIGNvbnRyb2xzICovCisKKyNkZWZpbmUgcG9ydGFkZHIocG9ydCwgcmVnKSAoKHBvcnQpLT5tZW1iYXNlICsgKHJlZykpCisKKyNkZWZpbmUgcmRfcmVnYihwb3J0LCByZWcpIChfX3Jhd19yZWFkYihwb3J0YWRkcihwb3J0LCByZWcpKSkKKyNkZWZpbmUgcmRfcmVnbChwb3J0LCByZWcpIChfX3Jhd19yZWFkbChwb3J0YWRkcihwb3J0LCByZWcpKSkKKworI2RlZmluZSB3cl9yZWdiKHBvcnQsIHJlZywgdmFsKSBfX3Jhd193cml0ZWIodmFsLCBwb3J0YWRkcihwb3J0LCByZWcpKQorI2RlZmluZSB3cl9yZWdsKHBvcnQsIHJlZywgdmFsKSBfX3Jhd193cml0ZWwodmFsLCBwb3J0YWRkcihwb3J0LCByZWcpKQorCitleHRlcm4gaW50IHMzYzI0eHhfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwKKwkJCQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKnVhcnQpOworCitleHRlcm4gaW50IHMzYzI0eHhfc2VyaWFsX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpOworCitleHRlcm4gaW50IHMzYzI0eHhfc2VyaWFsX2luaXRjb25zb2xlKHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKmRydiwKKwkJCQkgICAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKnVhcnQpOworCitleHRlcm4gaW50IHMzYzI0eHhfc2VyaWFsX2luaXQoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqZHJ2LAorCQkJICAgICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyk7CisKKyNpZmRlZiBDT05GSUdfU0VSSUFMX1NBTVNVTkdfQ09OU09MRQorCisjZGVmaW5lIHMzYzI0eHhfY29uc29sZV9pbml0KF9fZHJ2LCBfX2luZikJCQlcCitzdGF0aWMgaW50IF9faW5pdCBzM2Nfc2VyaWFsX2NvbnNvbGVfaW5pdCh2b2lkKQkJCVwKK3sJCQkJCQkJCVwKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUoX19kcnYsIF9faW5mKTsJXAorfQkJCQkJCQkJXAorCQkJCQkJCQlcCitjb25zb2xlX2luaXRjYWxsKHMzY19zZXJpYWxfY29uc29sZV9pbml0KQorCisjZWxzZQorI2RlZmluZSBzM2MyNHh4X2NvbnNvbGVfaW5pdChkcnYsIGluZikgZXh0ZXJuIHZvaWQgbm9fY29uc29sZSh2b2lkKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfU0VSSUFMX1NBTVNVTkdfREVCVUcKKworZXh0ZXJuIHZvaWQgcHJpbnRhc2NpaShjb25zdCBjaGFyICopOworCitzdGF0aWMgdm9pZCBkYmcoY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCB2YTsKKwljaGFyIGJ1ZmZbMjU2XTsKKworCXZhX3N0YXJ0KHZhLCBmbXQpOworCXZzcHJpbnRmKGJ1ZmYsIGZtdCwgdmEpOworCXZhX2VuZCh2YSk7CisKKwlwcmludGFzY2lpKGJ1ZmYpOworfQorCisjZWxzZQorI2RlZmluZSBkYmcoeC4uLikgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NwaS9zcGlfaW14LmMgYi9kcml2ZXJzL3NwaS9zcGlfaW14LmMKaW5kZXggYzczMGQwNS4uNTRhYzdiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zcGkvc3BpX2lteC5jCisrKyBiL2RyaXZlcnMvc3BpL3NwaV9pbXguYwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgpAQCAtMjUwLDYgKzI1MSw4IEBACiAJaW50IHR4X2RtYV9uZWVkc191bm1hcDsKIAlzaXplX3QgdHhfbWFwX2xlbjsKIAl1MzIgZHVtbXlfZG1hX2J1ZiBfX19fY2FjaGVsaW5lX2FsaWduZWQ7CisKKwlzdHJ1Y3QgY2xrICpjbGs7CiB9OwogCiAvKiBSdW50aW1lIHN0YXRlICovCkBAIC04NTUsMTUgKzg1OCwxNSBAQAogCXJldHVybiBkcnZfZGF0YS0+dHJhbnNmZXJfaGFuZGxlcihkcnZfZGF0YSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdTMyIHNwaV9zcGVlZF9oeih1MzIgZGF0YV9yYXRlKQorc3RhdGljIGlubGluZSB1MzIgc3BpX3NwZWVkX2h6KHN0cnVjdCBkcml2ZXJfZGF0YSAqZHJ2X2RhdGEsIHUzMiBkYXRhX3JhdGUpCiB7Ci0JcmV0dXJuIGlteF9nZXRfcGVyY2xrMigpIC8gKDQgPDwgKChkYXRhX3JhdGUpID4+IDEzKSk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShkcnZfZGF0YS0+Y2xrKSAvICg0IDw8ICgoZGF0YV9yYXRlKSA+PiAxMykpOwogfQogCi1zdGF0aWMgdTMyIHNwaV9kYXRhX3JhdGUodTMyIHNwZWVkX2h6KQorc3RhdGljIHUzMiBzcGlfZGF0YV9yYXRlKHN0cnVjdCBkcml2ZXJfZGF0YSAqZHJ2X2RhdGEsIHUzMiBzcGVlZF9oeikKIHsKIAl1MzIgZGl2OwotCXUzMiBxdWFudGl6ZWRfaHogPSBpbXhfZ2V0X3BlcmNsazIoKSA+PiAyOworCXUzMiBxdWFudGl6ZWRfaHogPSBjbGtfZ2V0X3JhdGUoZHJ2X2RhdGEtPmNsaykgPj4gMjsKIAogCWZvciAoZGl2ID0gU1BJX1BFUkNMSzJfRElWX01JTjsKIAkJZGl2IDw9IFNQSV9QRVJDTEsyX0RJVl9NQVg7CkBAIC05NDcsNyArOTUwLDcgQEAKIAl0bXAgPSB0cmFuc2Zlci0+c3BlZWRfaHo7CiAJaWYgKHRtcCA9PSAwKQogCQl0bXAgPSBjaGlwLT5tYXhfc3BlZWRfaHo7Ci0JdG1wID0gc3BpX2RhdGFfcmF0ZSh0bXApOworCXRtcCA9IHNwaV9kYXRhX3JhdGUoZHJ2X2RhdGEsIHRtcCk7CiAJdTMyX0VESVQoY29udHJvbCwgU1BJX0NPTlRST0xfREFUQVJBVEUsIHRtcCk7CiAKIAl3cml0ZWwoY29udHJvbCwgcmVncyArIFNQSV9DT05UUk9MKTsKQEAgLTExMDksNyArMTExMiw3IEBACiAJbXNnLT5hY3R1YWxfbGVuZ3RoID0gMDsKIAogCS8qIFBlciB0cmFuc2ZlciBzZXR1cCBjaGVjayAqLwotCW1pbl9zcGVlZF9oeiA9IHNwaV9zcGVlZF9oeihTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pOworCW1pbl9zcGVlZF9oeiA9IHNwaV9zcGVlZF9oeihkcnZfZGF0YSwgU1BJX0NPTlRST0xfREFUQVJBVEVfTUlOKTsKIAltYXhfc3BlZWRfaHogPSBzcGktPm1heF9zcGVlZF9oejsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRyYW5zLCAmbXNnLT50cmFuc2ZlcnMsIHRyYW5zZmVyX2xpc3QpIHsKIAkJdG1wID0gdHJhbnMtPmJpdHNfcGVyX3dvcmQ7CkBAIC0xMTc2LDYgKzExNzksNyBAQAogICAgYXBwbGllZCBhbmQgbm90aWZpZWQgdG8gdGhlIGNhbGxpbmcgZHJpdmVyLiAqLwogc3RhdGljIGludCBzZXR1cChzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQogeworCXN0cnVjdCBkcml2ZXJfZGF0YSAqZHJ2X2RhdGEgPSBzcGlfbWFzdGVyX2dldF9kZXZkYXRhKHNwaS0+bWFzdGVyKTsKIAlzdHJ1Y3Qgc3BpX2lteF9jaGlwICpjaGlwX2luZm87CiAJc3RydWN0IGNoaXBfZGF0YSAqY2hpcDsKIAlpbnQgZmlyc3Rfc2V0dXAgPSAwOwpAQCAtMTMwNCwxNCArMTMwOCwxNCBAQAogCWNoaXAtPm5fYnl0ZXMgPSAodG1wIDw9IDgpID8gMSA6IDI7CiAKIAkvKiBTUEkgZGF0YXJhdGUgKi8KLQl0bXAgPSBzcGlfZGF0YV9yYXRlKHNwaS0+bWF4X3NwZWVkX2h6KTsKKwl0bXAgPSBzcGlfZGF0YV9yYXRlKGRydl9kYXRhLCBzcGktPm1heF9zcGVlZF9oeik7CiAJaWYgKHRtcCA9PSBTUElfQ09OVFJPTF9EQVRBUkFURV9CQUQpIHsKIAkJc3RhdHVzID0gLUVJTlZBTDsKIAkJZGV2X2Vycigmc3BpLT5kZXYsCiAJCQkic2V0dXAgLSAiCiAJCQkiSFcgbWluIHNwZWVkICglZCBIeikgZXhjZWVkcyByZXF1aXJlZCAiCiAJCQkibWF4IHNwZWVkICglZCBIeilcbiIsCi0JCQlzcGlfc3BlZWRfaHooU1BJX0NPTlRST0xfREFUQVJBVEVfTUlOKSwKKwkJCXNwaV9zcGVlZF9oeihkcnZfZGF0YSwgU1BJX0NPTlRST0xfREFUQVJBVEVfTUlOKSwKIAkJCXNwaS0+bWF4X3NwZWVkX2h6KTsKIAkJaWYgKGZpcnN0X3NldHVwKQogCQkJZ290byBlcnJfZmlyc3Rfc2V0dXA7CkBAIC0xMzIxLDcgKzEzMjUsNyBAQAogCX0gZWxzZSB7CiAJCXUzMl9FRElUKGNoaXAtPmNvbnRyb2wsIFNQSV9DT05UUk9MX0RBVEFSQVRFLCB0bXApOwogCQkvKiBBY3R1YWwgcm91bmRlZCBtYXhfc3BlZWRfaHogKi8KLQkJdG1wID0gc3BpX3NwZWVkX2h6KHRtcCk7CisJCXRtcCA9IHNwaV9zcGVlZF9oeihkcnZfZGF0YSwgdG1wKTsKIAkJc3BpLT5tYXhfc3BlZWRfaHogPSB0bXA7CiAJCWNoaXAtPm1heF9zcGVlZF9oeiA9IHRtcDsKIAl9CkBAIC0xMzUyLDcgKzEzNTYsNyBAQAogCQljaGlwLT5wZXJpb2QgJiBTUElfUEVSSU9EX1dBSVQsCiAJCXNwaS0+bW9kZSwKIAkJc3BpLT5iaXRzX3Blcl93b3JkLAotCQlzcGlfc3BlZWRfaHooU1BJX0NPTlRST0xfREFUQVJBVEVfTUlOKSwKKwkJc3BpX3NwZWVkX2h6KGRydl9kYXRhLCBTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pLAogCQlzcGktPm1heF9zcGVlZF9oeik7CiAJcmV0dXJuIHN0YXR1czsKIApAQCAtMTQ2NSw2ICsxNDY5LDE0IEBACiAJCWdvdG8gZXJyX25vX3BkYXRhOwogCX0KIAorCWRydl9kYXRhLT5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJwZXJjbGsyIik7CisJaWYgKElTX0VSUihkcnZfZGF0YS0+Y2xrKSkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJwcm9iZSAtIGNhbm5vdCBnZXQgZ2V0XG4iKTsKKwkJc3RhdHVzID0gUFRSX0VSUihkcnZfZGF0YS0+Y2xrKTsKKwkJZ290byBlcnJfbm9fY2xrOworCX0KKwljbGtfZW5hYmxlKGRydl9kYXRhLT5jbGspOworCiAJLyogQWxsb2NhdGUgbWFzdGVyIHdpdGggc3BhY2UgZm9yIGRydl9kYXRhICovCiAJbWFzdGVyID0gc3BpX2FsbG9jX21hc3RlcihkZXYsIHNpemVvZihzdHJ1Y3QgZHJpdmVyX2RhdGEpKTsKIAlpZiAoIW1hc3RlcikgewpAQCAtMTUyNiwyNCArMTUzOCwyNCBAQAogCWRydl9kYXRhLT5yeF9jaGFubmVsID0gLTE7CiAJaWYgKHBsYXRmb3JtX2luZm8tPmVuYWJsZV9kbWEpIHsKIAkJLyogR2V0IHJ4IERNQSBjaGFubmVsICovCi0JCXN0YXR1cyA9IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKCZkcnZfZGF0YS0+cnhfY2hhbm5lbCwKLQkJCSJzcGlfaW14X3J4IiwgRE1BX1BSSU9fSElHSCk7Ci0JCWlmIChzdGF0dXMgPCAwKSB7CisJCWRydl9kYXRhLT5yeF9jaGFubmVsID0gaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oInNwaV9pbXhfcngiLAorCQkJCQkJCSAgICAgICBETUFfUFJJT19ISUdIKTsKKwkJaWYgKGRydl9kYXRhLT5yeF9jaGFubmVsIDwgMCkgewogCQkJZGV2X2VycihkZXYsCiAJCQkJInByb2JlIC0gcHJvYmxlbSAoJWQpIHJlcXVlc3RpbmcgcnggY2hhbm5lbFxuIiwKLQkJCQlzdGF0dXMpOworCQkJCWRydl9kYXRhLT5yeF9jaGFubmVsKTsKIAkJCWdvdG8gZXJyX25vX3J4ZG1hOwogCQl9IGVsc2UKIAkJCWlteF9kbWFfc2V0dXBfaGFuZGxlcnMoZHJ2X2RhdGEtPnJ4X2NoYW5uZWwsIE5VTEwsCiAJCQkJCQlkbWFfZXJyX2hhbmRsZXIsIGRydl9kYXRhKTsKIAogCQkvKiBHZXQgdHggRE1BIGNoYW5uZWwgKi8KLQkJc3RhdHVzID0gaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oJmRydl9kYXRhLT50eF9jaGFubmVsLAotCQkJCQkJInNwaV9pbXhfdHgiLCBETUFfUFJJT19NRURJVU0pOwotCQlpZiAoc3RhdHVzIDwgMCkgeworCQlkcnZfZGF0YS0+dHhfY2hhbm5lbCA9IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKCJzcGlfaW14X3R4IiwKKwkJCQkJCQkgICAgICAgRE1BX1BSSU9fTUVESVVNKTsKKwkJaWYgKGRydl9kYXRhLT50eF9jaGFubmVsIDwgMCkgewogCQkJZGV2X2VycihkZXYsCiAJCQkJInByb2JlIC0gcHJvYmxlbSAoJWQpIHJlcXVlc3RpbmcgdHggY2hhbm5lbFxuIiwKLQkJCQlzdGF0dXMpOworCQkJCWRydl9kYXRhLT50eF9jaGFubmVsKTsKIAkJCWlteF9kbWFfZnJlZShkcnZfZGF0YS0+cnhfY2hhbm5lbCk7CiAJCQlnb3RvIGVycl9ub190eGRtYTsKIAkJfSBlbHNlCkBAIC0xNjIzLDYgKzE2MzUsOSBAQAogCXNwaV9tYXN0ZXJfcHV0KG1hc3Rlcik7CiAKIGVycl9ub19wZGF0YToKKwljbGtfZGlzYWJsZShkcnZfZGF0YS0+Y2xrKTsKKwljbGtfcHV0KGRydl9kYXRhLT5jbGspOworZXJyX25vX2NsazoKIGVycl9ub19tZW06CiAJcmV0dXJuIHN0YXR1czsKIH0KQEAgLTE2NjIsNiArMTY3Nyw5IEBACiAJaWYgKGlycSA+PSAwKQogCQlmcmVlX2lycShpcnEsIGRydl9kYXRhKTsKIAorCWNsa19kaXNhYmxlKGRydl9kYXRhLT5jbGspOworCWNsa19wdXQoZHJ2X2RhdGEtPmNsayk7CisKIAkvKiBSZWxlYXNlIG1hcCByZXNvdXJjZXMgKi8KIAlpb3VubWFwKGRydl9kYXRhLT5yZWdzKTsKIAlyZWxlYXNlX3Jlc291cmNlKGRydl9kYXRhLT5pb2FyZWEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zcGkvc3BpZGV2LmMgYi9kcml2ZXJzL3NwaS9zcGlkZXYuYwppbmRleCBmNWI2MGM3Li5kZGJlMWE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NwaS9zcGlkZXYuYworKysgYi9kcml2ZXJzL3NwaS9zcGlkZXYuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KICNpbmNsdWRlIDxsaW51eC9zcGkvc3BpZGV2Lmg+CkBAIC00NjQsNiArNDY1LDcgQEAKIAlzdHJ1Y3Qgc3BpZGV2X2RhdGEJKnNwaWRldjsKIAlpbnQJCQlzdGF0dXMgPSAtRU5YSU87CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJmRldmljZV9saXN0X2xvY2spOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShzcGlkZXYsICZkZXZpY2VfbGlzdCwgZGV2aWNlX2VudHJ5KSB7CkBAIC00ODksNiArNDkxLDcgQEAKIAkJcHJfZGVidWcoInNwaWRldjogbm90aGluZyBmb3IgbWlub3IgJWRcbiIsIGltaW5vcihpbm9kZSkpOwogCiAJbXV0ZXhfdW5sb2NrKCZkZXZpY2VfbGlzdF9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHN0YXR1czsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zc2IvZHJpdmVyX3BjaWNvcmUuYyBiL2RyaXZlcnMvc3NiL2RyaXZlcl9wY2ljb3JlLmMKaW5kZXggZDI4YzUzOC4uNTM4YzU3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zc2IvZHJpdmVyX3BjaWNvcmUuYworKysgYi9kcml2ZXJzL3NzYi9kcml2ZXJfcGNpY29yZS5jCkBAIC01MzcsNiArNTM3LDEzIEBACiAJaW50IGVyciA9IDA7CiAJdTMyIHRtcDsKIAorCWlmIChkZXYtPmJ1cy0+YnVzdHlwZSAhPSBTU0JfQlVTVFlQRV9QQ0kpIHsKKwkJLyogVGhpcyBTU0IgZGV2aWNlIGlzIG5vdCBvbiBhIFBDSSBob3N0LWJ1cy4gU28gdGhlIElSUXMgYXJlCisJCSAqIG5vdCByb3V0ZWQgdGhyb3VnaCB0aGUgUENJIGNvcmUuCisJCSAqIFNvIHdlIG11c3Qgbm90IGVuYWJsZSByb3V0aW5nIHRocm91Z2ggdGhlIFBDSSBjb3JlLiAqLworCQlnb3RvIG91dDsKKwl9CisKIAlpZiAoIXBkZXYpCiAJCWdvdG8gb3V0OwogCWJ1cyA9IHBkZXYtPmJ1czsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGVsZXBob255L3Bob25lZGV2LmMgYi9kcml2ZXJzL3RlbGVwaG9ueS9waG9uZWRldi5jCmluZGV4IGJjZWE4ZDkuLjRkNzRiYTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdGVsZXBob255L3Bob25lZGV2LmMKKysrIGIvZHJpdmVycy90ZWxlcGhvbnkvcGhvbmVkZXYuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvcGhvbmVkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KIApAQCAtNTMsNiArNTQsNyBAQAogCWlmIChtaW5vciA+PSBQSE9ORV9OVU1fREVWSUNFUykKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJnBob25lX2xvY2spOwogCXAgPSBwaG9uZV9kZXZpY2VbbWlub3JdOwogCWlmIChwKQpAQCAtNzksNiArODEsNyBAQAogCWZvcHNfcHV0KG9sZF9mb3BzKTsKIGVuZDoKIAltdXRleF91bmxvY2soJnBob25lX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Vpby91aW8uYyBiL2RyaXZlcnMvdWlvL3Vpby5jCmluZGV4IDBhMTJlOTAuLjVhN2NhMmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdWlvL3Vpby5jCisrKyBiL2RyaXZlcnMvdWlvL3Vpby5jCkBAIC0yOTcsMTIgKzI5NywxNyBAQAogCXN0cnVjdCB1aW9fbGlzdGVuZXIgKmxpc3RlbmVyOwogCWludCByZXQgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZGV2ID0gaWRyX2ZpbmQoJnVpb19pZHIsIGltaW5vcihpbm9kZSkpOwotCWlmICghaWRldikKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKCFpZGV2KSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAotCWlmICghdHJ5X21vZHVsZV9nZXQoaWRldi0+b3duZXIpKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAoIXRyeV9tb2R1bGVfZ2V0KGlkZXYtPm93bmVyKSkgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKIAlsaXN0ZW5lciA9IGttYWxsb2Moc2l6ZW9mKCpsaXN0ZW5lciksIEdGUF9LRVJORUwpOwogCWlmICghbGlzdGVuZXIpIHsKQEAgLTMxOSw3ICszMjQsNyBAQAogCQlpZiAocmV0KQogCQkJZ290byBlcnJfaW5mb29wZW47CiAJfQotCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBlcnJfaW5mb29wZW46CkBAIC0zMjksNiArMzM0LDggQEAKIAogCW1vZHVsZV9wdXQoaWRldi0+b3duZXIpOwogCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2F0bS9jeGFjcnUuYyBiL2RyaXZlcnMvdXNiL2F0bS9jeGFjcnUuYwppbmRleCA1ZWEzMDkzLi45MDU4M2Q2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9hdG0vY3hhY3J1LmMKKysrIGIvZHJpdmVycy91c2IvYXRtL2N4YWNydS5jCkBAIC04MjAsNyArODIwLDcgQEAKIH0KIAogc3RhdGljIGludCBjeGFjcnVfZncoc3RydWN0IHVzYl9kZXZpY2UgKnVzYl9kZXYsIGVudW0gY3hhY3J1X2Z3X3JlcXVlc3QgZncsCi0JCSAgICAgdTggY29kZTEsIHU4IGNvZGUyLCB1MzIgYWRkciwgdTggKmRhdGEsIGludCBzaXplKQorCQkgICAgIHU4IGNvZGUxLCB1OCBjb2RlMiwgdTMyIGFkZHIsIGNvbnN0IHU4ICpkYXRhLCBpbnQgc2l6ZSkKIHsKIAlpbnQgcmV0OwogCXU4ICpidWY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9hdG0vdWVhZ2xlLWF0bS5jIGIvZHJpdmVycy91c2IvYXRtL3VlYWdsZS1hdG0uYwppbmRleCA1ZjcxZmYzLi5jYjAxYjUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9hdG0vdWVhZ2xlLWF0bS5jCisrKyBiL2RyaXZlcnMvdXNiL2F0bS91ZWFnbGUtYXRtLmMKQEAgLTU3OSw3ICs1NzksNyBAQAogICogdWVhX3NlbmRfbW9kZW1fY21kIC0gU2VuZCBhIGNvbW1hbmQgZm9yIHByZS1maXJtd2FyZSBkZXZpY2VzLgogICovCiBzdGF0aWMgaW50IHVlYV9zZW5kX21vZGVtX2NtZChzdHJ1Y3QgdXNiX2RldmljZSAqdXNiLAotCQl1MTYgYWRkciwgdTE2IHNpemUsIHU4ICogYnVmZikKKwkJCSAgICAgIHUxNiBhZGRyLCB1MTYgc2l6ZSwgY29uc3QgdTggKmJ1ZmYpCiB7CiAJaW50IHJldCA9IC1FTk9NRU07CiAJdTggKnhmZXJfYnVmZjsKQEAgLTYwNCw3ICs2MDQsOCBAQAogc3RhdGljIHZvaWQgdWVhX3VwbG9hZF9wcmVfZmlybXdhcmUoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmd19lbnRyeSwgdm9pZCAqY29udGV4dCkKIHsKIAlzdHJ1Y3QgdXNiX2RldmljZSAqdXNiID0gY29udGV4dDsKLQl1OCAqcGZ3LCB2YWx1ZTsKKwljb25zdCB1OCAqcGZ3OworCXU4IHZhbHVlOwogCXUzMiBjcmMgPSAwOwogCWludCByZXQsIHNpemU7CiAKQEAgLTcyMCw3ICs3MjEsNyBAQAogLyoKICAqIE1ha2Ugc3VyZSB0aGF0IHRoZSBEU1AgY29kZSBwcm92aWRlZCBpcyBzYWZlIHRvIHVzZS4KICAqLwotc3RhdGljIGludCBjaGVja19kc3BfZTEodTggKmRzcCwgdW5zaWduZWQgaW50IGxlbikKK3N0YXRpYyBpbnQgY2hlY2tfZHNwX2UxKGNvbnN0IHU4ICpkc3AsIHVuc2lnbmVkIGludCBsZW4pCiB7CiAJdTggcGFnZWNvdW50LCBibG9ja2NvdW50OwogCXUxNiBibG9ja3NpemU7CkBAIC03NzEsNyArNzcyLDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBjaGVja19kc3BfZTQodTggKmRzcCwgaW50IGxlbikKK3N0YXRpYyBpbnQgY2hlY2tfZHNwX2U0KGNvbnN0IHU4ICpkc3AsIGludCBsZW4pCiB7CiAJaW50IGk7CiAJc3RydWN0IGwxX2NvZGUgKnAgPSAoc3RydWN0IGwxX2NvZGUgKikgZHNwOwpAQCAtODE5LDcgKzgyMCw3IEBACiAvKgogICogc2VuZCBkYXRhIHRvIHRoZSBpZG1hIHBpcGUKICAqICovCi1zdGF0aWMgaW50IHVlYV9pZG1hX3dyaXRlKHN0cnVjdCB1ZWFfc29mdGMgKnNjLCB2b2lkICpkYXRhLCB1MzIgc2l6ZSkKK3N0YXRpYyBpbnQgdWVhX2lkbWFfd3JpdGUoc3RydWN0IHVlYV9zb2Z0YyAqc2MsIGNvbnN0IHZvaWQgKmRhdGEsIHUzMiBzaXplKQogewogCWludCByZXQgPSAtRU5PTUVNOwogCXU4ICp4ZmVyX2J1ZmY7CkBAIC05MDMsNyArOTA0LDcgQEAKIAl1MTYgb3ZsID0gc2MtPm92bDsKIAlzdHJ1Y3QgYmxvY2tfaW5mb19lMSBiaTsKIAotCXU4ICpwOworCWNvbnN0IHU4ICpwOwogCXU4IHBhZ2Vjb3VudCwgYmxvY2tjb3VudDsKIAl1MTYgYmxvY2thZGRyLCBibG9ja3NpemU7CiAJdTMyIHBhZ2VvZmZzZXQ7CkBAIC05ODYsNyArOTg3LDcgQEAKIAliaS53UmVzZXJ2ZWQgPSBjcHVfdG9fYmUxNihVRUFfUkVTRVJWRUQpOwogCiAJZG8gewotCQl1OCAqYmxvY2tvZmZzZXQ7CisJCWNvbnN0IHU4ICpibG9ja29mZnNldDsKIAkJdW5zaWduZWQgaW50IGJsb2Nrc2l6ZTsKIAogCQlibG9ja2lkeCA9ICZwLT5wYWdlX2hlYWRlcltibG9ja25vXTsKQEAgLTEwOTUsNyArMTA5Niw3IEBACiAjZGVmaW5lIFVDRENfU0VORF9FTkNBUFNVTEFURURfQ09NTUFORCAweDAwCiAKIHN0YXRpYyBpbnQgdWVhX3JlcXVlc3Qoc3RydWN0IHVlYV9zb2Z0YyAqc2MsCi0JCXUxNiB2YWx1ZSwgdTE2IGluZGV4LCB1MTYgc2l6ZSwgdm9pZCAqZGF0YSkKKwkJdTE2IHZhbHVlLCB1MTYgaW5kZXgsIHUxNiBzaXplLCBjb25zdCB2b2lkICpkYXRhKQogewogCXU4ICp4ZmVyX2J1ZmY7CiAJaW50IHJldCA9IC1FTk9NRU07CkBAIC0xODkxLDcgKzE4OTIsOCBAQAogewogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZndfZW50cnk7CiAJaW50IHJldCwgc2l6ZSwgdSwgbG47Ci0JdTggKnBmdywgdmFsdWU7CisJY29uc3QgdTggKnBmdzsKKwl1OCB2YWx1ZTsKIAljaGFyICpmd19uYW1lID0gRldfRElSICI5MzAtZnBnYS5iaW4iOwogCiAJdWVhX2VudGVycyhJTlNfVE9fVVNCREVWKHNjKSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb3JlL2RldmlvLmMgYi9kcml2ZXJzL3VzYi9jb3JlL2RldmlvLmMKaW5kZXggZGUxNzczOC4uOTIxOGNjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvY29yZS9kZXZpby5jCisrKyBiL2RyaXZlcnMvdXNiL2NvcmUvZGV2aW8uYwpAQCAtNTY1LDYgKzU2NSw3IEBACiAJc3RydWN0IGRldl9zdGF0ZSAqcHM7CiAJaW50IHJldDsKIAorCWxvY2tfa2VybmVsKCk7CiAJLyogUHJvdGVjdCBhZ2FpbnN0IHNpbXVsdGFuZW91cyByZW1vdmFsIG9yIHJlbGVhc2UgKi8KIAltdXRleF9sb2NrKCZ1c2Jmc19tdXRleCk7CiAKQEAgLTYxMSw2ICs2MTIsNyBAQAogCWlmIChyZXQpCiAJCWtmcmVlKHBzKTsKIAltdXRleF91bmxvY2soJnVzYmZzX211dGV4KTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9maWxlLmMgYi9kcml2ZXJzL3VzYi9jb3JlL2ZpbGUuYwppbmRleCA4MTMzYzk5Li5jNmE5NTM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9jb3JlL2ZpbGUuYworKysgYi9kcml2ZXJzL3VzYi9jb3JlL2ZpbGUuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvcndzZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogCiAjaW5jbHVkZSAidXNiLmgiCkBAIC0zMyw2ICszNCw3IEBACiAJaW50IGVyciA9IC1FTk9ERVY7CiAJY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyAqb2xkX2ZvcHMsICpuZXdfZm9wcyA9IE5VTEw7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWRvd25fcmVhZCgmbWlub3JfcndzZW0pOwogCWMgPSB1c2JfbWlub3JzW21pbm9yXTsKIApAQCAtNTEsNiArNTMsNyBAQAogCWZvcHNfcHV0KG9sZF9mb3BzKTsKICBkb25lOgogCXVwX3JlYWQoJm1pbm9yX3J3c2VtKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L0tjb25maWcgYi9kcml2ZXJzL3VzYi9nYWRnZXQvS2NvbmZpZwppbmRleCA2ZTc4NGQyLi5kNmJhYjBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvS2NvbmZpZworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvS2NvbmZpZwpAQCAtMTE4LDEwICsxMTgsMTAgQEAKIGNvbmZpZyBVU0JfR0FER0VUX0FUTUVMX1VTQkEKIAlib29sZWFuICJBdG1lbCBVU0JBIgogCXNlbGVjdCBVU0JfR0FER0VUX0RVQUxTUEVFRAotCWRlcGVuZHMgb24gQVZSMzIgfHwgQVJDSF9BVDkxQ0FQOQorCWRlcGVuZHMgb24gQVZSMzIgfHwgQVJDSF9BVDkxQ0FQOSB8fCBBUkNIX0FUOTFTQU05UkwKIAloZWxwCiAJICBVU0JBIGlzIHRoZSBpbnRlZ3JhdGVkIGhpZ2gtc3BlZWQgVVNCIERldmljZSBjb250cm9sbGVyIG9uCi0JICB0aGUgQVQzMkFQNzAweCBhbmQgQVQ5MUNBUDkgcHJvY2Vzc29ycyBmcm9tIEF0bWVsLgorCSAgdGhlIEFUMzJBUDcwMHgsIHNvbWUgQVQ5MVNBTTkgYW5kIEFUOTFDQVA5IHByb2Nlc3NvcnMgZnJvbSBBdG1lbC4KIAogY29uZmlnIFVTQl9BVE1FTF9VU0JBCiAJdHJpc3RhdGUKQEAgLTE3Miw3ICsxNzIsNyBAQAogCWRlZmF1bHQgVVNCX0dBREdFVAogCXNlbGVjdCBVU0JfR0FER0VUX1NFTEVDVEVECiAKLWNvbmZpZyBVU0JfR0FER0VUX1BYQTJYWAorY29uZmlnIFVTQl9HQURHRVRfUFhBMjVYCiAJYm9vbGVhbiAiUFhBIDI1eCBvciBJWFAgNHh4IgogCWRlcGVuZHMgb24gKEFSQ0hfUFhBICYmIFBYQTI1eCkgfHwgQVJDSF9JWFA0WFgKIAloZWxwCkBAIC0xODQsMTkgKzE4NCwxOSBAQAogCSAgIHplcm8gKGZvciBjb250cm9sIHRyYW5zZmVycykuCiAKIAkgICBTYXkgInkiIHRvIGxpbmsgdGhlIGRyaXZlciBzdGF0aWNhbGx5LCBvciAibSIgdG8gYnVpbGQgYQotCSAgIGR5bmFtaWNhbGx5IGxpbmtlZCBtb2R1bGUgY2FsbGVkICJweGEyeHhfdWRjIiBhbmQgZm9yY2UgYWxsCisJICAgZHluYW1pY2FsbHkgbGlua2VkIG1vZHVsZSBjYWxsZWQgInB4YTI1eF91ZGMiIGFuZCBmb3JjZSBhbGwKIAkgICBnYWRnZXQgZHJpdmVycyB0byBhbHNvIGJlIGR5bmFtaWNhbGx5IGxpbmtlZC4KIAotY29uZmlnIFVTQl9QWEEyWFgKK2NvbmZpZyBVU0JfUFhBMjVYCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFVTQl9HQURHRVRfUFhBMlhYCisJZGVwZW5kcyBvbiBVU0JfR0FER0VUX1BYQTI1WAogCWRlZmF1bHQgVVNCX0dBREdFVAogCXNlbGVjdCBVU0JfR0FER0VUX1NFTEVDVEVECiAKICMgaWYgdGhlcmUncyBvbmx5IG9uZSBnYWRnZXQgZHJpdmVyLCB1c2luZyBvbmx5IHR3byBidWxrIGVuZHBvaW50cywKICMgZG9uJ3Qgd2FzdGUgbWVtb3J5IGZvciB0aGUgb3RoZXIgZW5kcG9pbnRzCi1jb25maWcgVVNCX1BYQTJYWF9TTUFMTAotCWRlcGVuZHMgb24gVVNCX0dBREdFVF9QWEEyWFgKK2NvbmZpZyBVU0JfUFhBMjVYX1NNQUxMCisJZGVwZW5kcyBvbiBVU0JfR0FER0VUX1BYQTI1WAogCWJvb2wKIAlkZWZhdWx0IG4gaWYgVVNCX0VUSF9STkRJUwogCWRlZmF1bHQgeSBpZiBVU0JfWkVSTwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L01ha2VmaWxlIGIvZHJpdmVycy91c2IvZ2FkZ2V0L01ha2VmaWxlCmluZGV4IDEyMzU3MjUuLmUyNThhZmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvTWFrZWZpbGUKQEAgLTgsNyArOCw3IEBACiBvYmotJChDT05GSUdfVVNCX0RVTU1ZX0hDRCkJKz0gZHVtbXlfaGNkLm8KIG9iai0kKENPTkZJR19VU0JfTkVUMjI4MCkJKz0gbmV0MjI4MC5vCiBvYmotJChDT05GSUdfVVNCX0FNRDU1MzZVREMpCSs9IGFtZDU1MzZ1ZGMubwotb2JqLSQoQ09ORklHX1VTQl9QWEEyWFgpCSs9IHB4YTJ4eF91ZGMubworb2JqLSQoQ09ORklHX1VTQl9QWEEyNVgpCSs9IHB4YTI1eF91ZGMubwogb2JqLSQoQ09ORklHX1VTQl9QWEEyN1gpCSs9IHB4YTI3eF91ZGMubwogb2JqLSQoQ09ORklHX1VTQl9HT0tVKQkJKz0gZ29rdV91ZGMubwogb2JqLSQoQ09ORklHX1VTQl9PTUFQKQkJKz0gb21hcF91ZGMubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2F0OTFfdWRjLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvYXQ5MV91ZGMuYwppbmRleCAyNzRjNjBhLi5iNmIyYTBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvYXQ5MV91ZGMuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvYXQ5MV91ZGMuYwpAQCAtODg4LDcgKzg4OCw3IEBACiAJCWF0OTFfdWRwX3dyaXRlKHVkYywgQVQ5MV9VRFBfVFhWQywgMCk7CiAJCWlmIChjcHVfaXNfYXQ5MXJtOTIwMCgpKQogCQkJZ3Bpb19zZXRfdmFsdWUodWRjLT5ib2FyZC5wdWxsdXBfcGluLCBhY3RpdmUpOwotCQllbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSkgeworCQllbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSB8fCBjcHVfaXNfYXQ5MXNhbTlnMjAoKSkgewogCQkJdTMyCXR4dmMgPSBhdDkxX3VkcF9yZWFkKHVkYywgQVQ5MV9VRFBfVFhWQyk7CiAKIAkJCXR4dmMgfD0gQVQ5MV9VRFBfVFhWQ19QVU9OOwpAQCAtOTA2LDcgKzkwNiw3IEBACiAJCWF0OTFfdWRwX3dyaXRlKHVkYywgQVQ5MV9VRFBfVFhWQywgQVQ5MV9VRFBfVFhWQ19UWFZESVMpOwogCQlpZiAoY3B1X2lzX2F0OTFybTkyMDAoKSkKIAkJCWdwaW9fc2V0X3ZhbHVlKHVkYy0+Ym9hcmQucHVsbHVwX3BpbiwgIWFjdGl2ZSk7Ci0JCWVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpKSB7CisJCWVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpIHx8IGNwdV9pc19hdDkxc2FtOWcyMCgpKSB7CiAJCQl1MzIJdHh2YyA9IGF0OTFfdWRwX3JlYWQodWRjLCBBVDkxX1VEUF9UWFZDKTsKIAogCQkJdHh2YyAmPSB+QVQ5MV9VRFBfVFhWQ19QVU9OOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2V0aGVyLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvZXRoZXIuYwppbmRleCA4ZDYxZWE2Li40Y2UzOTUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvZXRoZXIuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvZXRoZXIuYwpAQCAtMjYyLDcgKzI2Miw3IEBACiAvKiBGb3IgQ0RDLWluY2FwYWJsZSBoYXJkd2FyZSwgY2hvb3NlIHRoZSBzaW1wbGUgY2RjIHN1YnNldC4KICAqIEFueXRoaW5nIHRoYXQgdGFsa3MgYnVsayAod2l0aG91dCBub3RhYmxlIGJ1Z3MpIGNhbiBkbyB0aGlzLgogICovCi0jaWZkZWYgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYCisjaWZkZWYgQ09ORklHX1VTQl9HQURHRVRfUFhBMjVYCiAjZGVmaW5lCURFVl9DT05GSUdfU1VCU0VUCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2dhZGdldF9jaGlwcy5oIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2dhZGdldF9jaGlwcy5oCmluZGV4IGY3ZjE1OWMuLmNhNTE0OWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9nYWRnZXRfY2hpcHMuaAorKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvZ2FkZ2V0X2NoaXBzLmgKQEAgLTI5LDggKzI5LDggQEAKICNkZWZpbmUJZ2FkZ2V0X2lzX2R1bW15KGcpCTAKICNlbmRpZgogCi0jaWZkZWYgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYCi0jZGVmaW5lCWdhZGdldF9pc19weGEoZykJIXN0cmNtcCgicHhhMnh4X3VkYyIsIChnKS0+bmFtZSkKKyNpZmRlZiBDT05GSUdfVVNCX0dBREdFVF9QWEEyNVgKKyNkZWZpbmUJZ2FkZ2V0X2lzX3B4YShnKQkhc3RyY21wKCJweGEyNXhfdWRjIiwgKGcpLT5uYW1lKQogI2Vsc2UKICNkZWZpbmUJZ2FkZ2V0X2lzX3B4YShnKQkwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9pbm9kZS5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2lub2RlLmMKaW5kZXggNjliMGEyNy4uZjEzMmE5MiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L2lub2RlLmMKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2lub2RlLmMKQEAgLTE1MDEsNyArMTUwMSw3IEBACiAJCX0KIAkJYnJlYWs7CiAKLSNpZm5kZWYJQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYCisjaWZuZGVmCUNPTkZJR19VU0JfR0FER0VUX1BYQTI1WAogCS8qIFBYQSBhdXRvbWFnaWNhbGx5IGhhbmRsZXMgdGhpcyByZXF1ZXN0IHRvbyAqLwogCWNhc2UgVVNCX1JFUV9HRVRfQ09ORklHVVJBVElPTjoKIAkJaWYgKGN0cmwtPmJSZXF1ZXN0VHlwZSAhPSAweDgwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuYwppbmRleCA4ODFkNzRjLi4wM2E3ZjQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuYwpAQCAtMTM1LDEzICsxMzUsMTcgQEAKIAogCWlmIChlcC0+YkVuZHBvaW50QWRkcmVzcyAmIFVTQl9ESVJfSU4pCiAJCW51bSB8PSBVRENfRVBfRElSOwotCVVEQ19FUF9OVU1fUkVHID0gbnVtIHwgc2VsZWN0OworCW9tYXBfd3JpdGV3KG51bSB8IHNlbGVjdCwgVURDX0VQX05VTSk7CiAJLyogd2hlbiBzZWxlY3QsIE1VU1QgZGVzZWxlY3QgbGF0ZXIgISEgKi8KIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGRlc2VsZWN0X2VwKHZvaWQpCiB7Ci0JVURDX0VQX05VTV9SRUcgJj0gflVEQ19FUF9TRUw7CisJdTE2IHc7CisKKwl3ID0gb21hcF9yZWFkdyhVRENfRVBfTlVNKTsKKwl3ICY9IH5VRENfRVBfU0VMOworCW9tYXBfd3JpdGV3KHcsIFVEQ19FUF9OVU0pOwogCS8qIDYgd2FpdCBzdGF0ZXMgYmVmb3JlIFRYIHdpbGwgaGFwcGVuICovCiB9CiAKQEAgLTIxNiw3ICsyMjAsNyBAQAogCWVwLT5oYXNfZG1hID0gMDsKIAllcC0+bGNoID0gLTE7CiAJdXNlX2VwKGVwLCBVRENfRVBfU0VMKTsKLQlVRENfQ1RSTF9SRUcgPSB1ZGMtPmNscl9oYWx0OworCW9tYXBfd3JpdGV3KHVkYy0+Y2xyX2hhbHQsIFVEQ19DVFJMKTsKIAllcC0+YWNrd2FpdCA9IDA7CiAJZGVzZWxlY3RfZXAoKTsKIApAQCAtMjMyLDcgKzIzNiw3IEBACiAJaWYgKGRlc2MtPmJtQXR0cmlidXRlcyAhPSBVU0JfRU5EUE9JTlRfWEZFUl9JU09DCiAJCQkmJiAhZXAtPmhhc19kbWEKIAkJCSYmICEoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOKSkgewotCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAl9CiAKQEAgLTI1OSw3ICsyNjMsNyBAQAogCW51a2UgKGVwLCAtRVNIVVRET1dOKTsKIAllcC0+ZXAubWF4cGFja2V0ID0gZXAtPm1heHBhY2tldDsKIAllcC0+aGFzX2RtYSA9IDA7Ci0JVURDX0NUUkxfUkVHID0gVURDX1NFVF9IQUxUOworCW9tYXBfd3JpdGV3KFVEQ19TRVRfSEFMVCwgVURDX0NUUkwpOwogCWxpc3RfZGVsX2luaXQoJmVwLT5pc28pOwogCWRlbF90aW1lcigmZXAtPnRpbWVyKTsKIApAQCAtMzYwLDEzICszNjQsMTMgQEAKIAlpZiAobGlrZWx5KCgoKGludClidWYpICYgMSkgPT0gMCkpIHsKIAkJd3AgPSAodTE2ICopYnVmOwogCQl3aGlsZSAobWF4ID49IDIpIHsKLQkJCVVEQ19EQVRBX1JFRyA9ICp3cCsrOworCQkJb21hcF93cml0ZXcoKndwKyssIFVEQ19EQVRBKTsKIAkJCW1heCAtPSAyOwogCQl9CiAJCWJ1ZiA9ICh1OCAqKXdwOwogCX0KIAl3aGlsZSAobWF4LS0pCi0JCSoodm9sYXRpbGUgdTggKikmVURDX0RBVEFfUkVHID0gKmJ1ZisrOworCQlvbWFwX3dyaXRlYigqYnVmKyssIFVEQ19EQVRBKTsKIAlyZXR1cm4gbGVuOwogfQogCkBAIC0zODUsMTMgKzM4OSwxMyBAQAogCXByZWZldGNoKGJ1Zik7CiAKIAkvKiBQSU8tSU4gaXNuJ3QgZG91YmxlIGJ1ZmZlcmVkIGV4Y2VwdCBmb3IgaXNvICovCi0JZXBfc3RhdCA9IFVEQ19TVEFUX0ZMR19SRUc7CisJZXBfc3RhdCA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAlpZiAoZXBfc3RhdCAmIFVEQ19GSUZPX1VOV1JJVEFCTEUpCiAJCXJldHVybiAwOwogCiAJY291bnQgPSBlcC0+ZXAubWF4cGFja2V0OwogCWNvdW50ID0gd3JpdGVfcGFja2V0KGJ1ZiwgcmVxLCBjb3VudCk7Ci0JVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCWVwLT5hY2t3YWl0ID0gMTsKIAogCS8qIGxhc3QgcGFja2V0IGlzIG9mdGVuIHNob3J0IChzb21ldGltZXMgYSB6bHApICovCkBAIC00MjUsMTMgKzQyOSwxMyBAQAogCWlmIChsaWtlbHkoKCgoaW50KWJ1ZikgJiAxKSA9PSAwKSkgewogCQl3cCA9ICh1MTYgKilidWY7CiAJCXdoaWxlIChhdmFpbCA+PSAyKSB7Ci0JCQkqd3ArKyA9IFVEQ19EQVRBX1JFRzsKKwkJCSp3cCsrID0gb21hcF9yZWFkdyhVRENfREFUQSk7CiAJCQlhdmFpbCAtPSAyOwogCQl9CiAJCWJ1ZiA9ICh1OCAqKXdwOwogCX0KIAl3aGlsZSAoYXZhaWwtLSkKLQkJKmJ1ZisrID0gKih2b2xhdGlsZSB1OCAqKSZVRENfREFUQV9SRUc7CisJCSpidWYrKyA9IG9tYXBfcmVhZGIoVURDX0RBVEEpOwogCXJldHVybiBsZW47CiB9CiAKQEAgLTQ0Niw3ICs0NTAsNyBAQAogCXByZWZldGNodyhidWYpOwogCiAJZm9yICg7OykgewotCQl1MTYJZXBfc3RhdCA9IFVEQ19TVEFUX0ZMR19SRUc7CisJCXUxNgllcF9zdGF0ID0gb21hcF9yZWFkdyhVRENfU1RBVF9GTEcpOwogCiAJCWlzX2xhc3QgPSAwOwogCQlpZiAoZXBfc3RhdCAmIEZJRk9fRU1QVFkpIHsKQEAgLTQ2MCw3ICs0NjQsNyBAQAogCQlpZiAoZXBfc3RhdCAmIFVEQ19GSUZPX0ZVTEwpCiAJCQlhdmFpbCA9IGVwLT5lcC5tYXhwYWNrZXQ7CiAJCWVsc2UgIHsKLQkJCWF2YWlsID0gVURDX1JYRlNUQVRfUkVHOworCQkJYXZhaWwgPSBvbWFwX3JlYWR3KFVEQ19SWEZTVEFUKTsKIAkJCWVwLT5mbmYgPSBlcC0+ZG91YmxlX2J1ZjsKIAkJfQogCQljb3VudCA9IHJlYWRfcGFja2V0KGJ1ZiwgcmVxLCBhdmFpbCk7CkBAIC00NzMsNyArNDc3LDcgQEAKIAkJCQlyZXEtPnJlcS5zdGF0dXMgPSAtRU9WRVJGTE9XOwogCQkJCWF2YWlsIC09IGNvdW50OwogCQkJCXdoaWxlIChhdmFpbC0tKQotCQkJCQkodm9pZCkgKih2b2xhdGlsZSB1OCAqKSZVRENfREFUQV9SRUc7CisJCQkJCW9tYXBfcmVhZHcoVURDX0RBVEEpOwogCQkJfQogCQl9IGVsc2UgaWYgKHJlcS0+cmVxLmxlbmd0aCA9PSByZXEtPnJlcS5hY3R1YWwpCiAJCQlpc19sYXN0ID0gMTsKQEAgLTQ5MSwzMiArNDk1LDYgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotc3RhdGljIGlubGluZSBkbWFfYWRkcl90IGRtYV9jc2FjKHVuc2lnbmVkIGxjaCkKLXsKLQlkbWFfYWRkcl90CWNzYWM7Ci0KLQkvKiBvbWFwIDMuMi8zLjMgZXJyYXR1bTogc29tZXRpbWVzIDAgaXMgcmV0dXJuZWQgaWYgQ1NBQy9DREFDIGlzCi0JICogcmVhZCBiZWZvcmUgdGhlIERNQSBjb250cm9sbGVyIGZpbmlzaGVkIGRpc2FibGluZyB0aGUgY2hhbm5lbC4KLQkgKi8KLQljc2FjID0gT01BUF9ETUFfQ1NBQ19SRUcobGNoKTsKLQlpZiAoY3NhYyA9PSAwKQotCQljc2FjID0gT01BUF9ETUFfQ1NBQ19SRUcobGNoKTsKLQlyZXR1cm4gY3NhYzsKLX0KLQotc3RhdGljIGlubGluZSBkbWFfYWRkcl90IGRtYV9jZGFjKHVuc2lnbmVkIGxjaCkKLXsKLQlkbWFfYWRkcl90CWNkYWM7Ci0KLQkvKiBvbWFwIDMuMi8zLjMgZXJyYXR1bTogc29tZXRpbWVzIDAgaXMgcmV0dXJuZWQgaWYgQ1NBQy9DREFDIGlzCi0JICogcmVhZCBiZWZvcmUgdGhlIERNQSBjb250cm9sbGVyIGZpbmlzaGVkIGRpc2FibGluZyB0aGUgY2hhbm5lbC4KLQkgKi8KLQljZGFjID0gT01BUF9ETUFfQ0RBQ19SRUcobGNoKTsKLQlpZiAoY2RhYyA9PSAwKQotCQljZGFjID0gT01BUF9ETUFfQ0RBQ19SRUcobGNoKTsKLQlyZXR1cm4gY2RhYzsKLX0KLQogc3RhdGljIHUxNiBkbWFfc3JjX2xlbihzdHJ1Y3Qgb21hcF9lcCAqZXAsIGRtYV9hZGRyX3Qgc3RhcnQpCiB7CiAJZG1hX2FkZHJfdAllbmQ7CkBAIC01MjcsNyArNTA1LDcgQEAKIAlpZiAoY3B1X2lzX29tYXAxNXh4KCkpCiAJCXJldHVybiAwOwogCi0JZW5kID0gZG1hX2NzYWMoZXAtPmxjaCk7CisJZW5kID0gb21hcF9nZXRfZG1hX3NyY19wb3MoZXAtPmxjaCk7CiAJaWYgKGVuZCA9PSBlcC0+ZG1hX2NvdW50ZXIpCiAJCXJldHVybiAwOwogCkBAIC01MzcsMTUgKzUxNSwxMSBAQAogCXJldHVybiBlbmQgLSBzdGFydDsKIH0KIAotI2RlZmluZSBETUFfREVTVF9MQVNUKHgpIChjcHVfaXNfb21hcDE1eHgoKSBcCi0JCT8gT01BUF9ETUFfQ1NBQ19SRUcoeCkgLyogcmVhbGx5OiBDUEMgKi8gXAotCQk6IGRtYV9jZGFjKHgpKQotCiBzdGF0aWMgdTE2IGRtYV9kZXN0X2xlbihzdHJ1Y3Qgb21hcF9lcCAqZXAsIGRtYV9hZGRyX3Qgc3RhcnQpCiB7CiAJZG1hX2FkZHJfdAllbmQ7CiAKLQllbmQgPSBETUFfREVTVF9MQVNUKGVwLT5sY2gpOworCWVuZCA9IG9tYXBfZ2V0X2RtYV9kc3RfcG9zKGVwLT5sY2gpOwogCWlmIChlbmQgPT0gZXAtPmRtYV9jb3VudGVyKQogCQlyZXR1cm4gMDsKIApAQCAtNTY1LDcgKzUzOSw3IEBACiAKIHN0YXRpYyB2b2lkIG5leHRfaW5fZG1hKHN0cnVjdCBvbWFwX2VwICplcCwgc3RydWN0IG9tYXBfcmVxICpyZXEpCiB7Ci0JdTE2CQl0eGRtYV9jdHJsOworCXUxNgkJdHhkbWFfY3RybCwgdzsKIAl1bnNpZ25lZAlsZW5ndGggPSByZXEtPnJlcS5sZW5ndGggLSByZXEtPnJlcS5hY3R1YWw7CiAJY29uc3QgaW50CXN5bmNfbW9kZSA9IGNwdV9pc19vbWFwMTV4eCgpCiAJCQkJPyBPTUFQX0RNQV9TWU5DX0ZSQU1FCkBAIC01OTYsMTQgKzU3MCwxOCBAQAogCQkwLCAwKTsKIAogCW9tYXBfc3RhcnRfZG1hKGVwLT5sY2gpOwotCWVwLT5kbWFfY291bnRlciA9IGRtYV9jc2FjKGVwLT5sY2gpOwotCVVEQ19ETUFfSVJRX0VOX1JFRyB8PSBVRENfVFhfRE9ORV9JRShlcC0+ZG1hX2NoYW5uZWwpOwotCVVEQ19UWERNQV9SRUcoZXAtPmRtYV9jaGFubmVsKSA9IFVEQ19UWE5fU1RBUlQgfCB0eGRtYV9jdHJsOworCWVwLT5kbWFfY291bnRlciA9IG9tYXBfZ2V0X2RtYV9zcmNfcG9zKGVwLT5sY2gpOworCXcgPSBvbWFwX3JlYWR3KFVEQ19ETUFfSVJRX0VOKTsKKwl3IHw9IFVEQ19UWF9ET05FX0lFKGVwLT5kbWFfY2hhbm5lbCk7CisJb21hcF93cml0ZXcodywgVURDX0RNQV9JUlFfRU4pOworCW9tYXBfd3JpdGV3KFVEQ19UWE5fU1RBUlQgfCB0eGRtYV9jdHJsLCBVRENfVFhETUEoZXAtPmRtYV9jaGFubmVsKSk7CiAJcmVxLT5kbWFfYnl0ZXMgPSBsZW5ndGg7CiB9CiAKIHN0YXRpYyB2b2lkIGZpbmlzaF9pbl9kbWEoc3RydWN0IG9tYXBfZXAgKmVwLCBzdHJ1Y3Qgb21hcF9yZXEgKnJlcSwgaW50IHN0YXR1cykKIHsKKwl1MTYgdzsKKwogCWlmIChzdGF0dXMgPT0gMCkgewogCQlyZXEtPnJlcS5hY3R1YWwgKz0gcmVxLT5kbWFfYnl0ZXM7CiAKQEAgLTYyMCw3ICs1OTgsOSBAQAogCiAJLyogdHggY29tcGxldGlvbiAqLwogCW9tYXBfc3RvcF9kbWEoZXAtPmxjaCk7Ci0JVURDX0RNQV9JUlFfRU5fUkVHICY9IH5VRENfVFhfRE9ORV9JRShlcC0+ZG1hX2NoYW5uZWwpOworCXcgPSBvbWFwX3JlYWR3KFVEQ19ETUFfSVJRX0VOKTsKKwl3ICY9IH5VRENfVFhfRE9ORV9JRShlcC0+ZG1hX2NoYW5uZWwpOworCW9tYXBfd3JpdGV3KHcsIFVEQ19ETUFfSVJRX0VOKTsKIAlkb25lKGVwLCByZXEsIHN0YXR1cyk7CiB9CiAKQEAgLTYyOCw2ICs2MDgsNyBAQAogewogCXVuc2lnbmVkIHBhY2tldHMgPSByZXEtPnJlcS5sZW5ndGggLSByZXEtPnJlcS5hY3R1YWw7CiAJaW50IGRtYV90cmlnZ2VyID0gMDsKKwl1MTYgdzsKIAogCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKIAkJZG1hX3RyaWdnZXIgPSBPTUFQMjRYWF9ETUEoVVNCX1cyRkNfUlgwLCBlcC0+ZG1hX2NoYW5uZWwpOwpAQCAtNjU0LDEyICs2MzUsMTQgQEAKIAlvbWFwX3NldF9kbWFfZGVzdF9wYXJhbXMoZXAtPmxjaCwgT01BUF9ETUFfUE9SVF9FTUlGRiwKIAkJT01BUF9ETUFfQU1PREVfUE9TVF9JTkMsIHJlcS0+cmVxLmRtYSArIHJlcS0+cmVxLmFjdHVhbCwKIAkJMCwgMCk7Ci0JZXAtPmRtYV9jb3VudGVyID0gRE1BX0RFU1RfTEFTVChlcC0+bGNoKTsKKwllcC0+ZG1hX2NvdW50ZXIgPSBvbWFwX2dldF9kbWFfZHN0X3BvcyhlcC0+bGNoKTsKIAotCVVEQ19SWERNQV9SRUcoZXAtPmRtYV9jaGFubmVsKSA9IFVEQ19SWE5fU1RPUCB8IChwYWNrZXRzIC0gMSk7Ci0JVURDX0RNQV9JUlFfRU5fUkVHIHw9IFVEQ19SWF9FT1RfSUUoZXAtPmRtYV9jaGFubmVsKTsKLQlVRENfRVBfTlVNX1JFRyA9IChlcC0+YkVuZHBvaW50QWRkcmVzcyAmIDB4Zik7Ci0JVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCW9tYXBfd3JpdGV3KFVEQ19SWE5fU1RPUCB8IChwYWNrZXRzIC0gMSksIFVEQ19SWERNQShlcC0+ZG1hX2NoYW5uZWwpKTsKKwl3ID0gb21hcF9yZWFkdyhVRENfRE1BX0lSUV9FTik7CisJdyB8PSBVRENfUlhfRU9UX0lFKGVwLT5kbWFfY2hhbm5lbCk7CisJb21hcF93cml0ZXcodywgVURDX0RNQV9JUlFfRU4pOworCW9tYXBfd3JpdGV3KGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgMHhmLCBVRENfRVBfTlVNKTsKKwlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAogCW9tYXBfc3RhcnRfZG1hKGVwLT5sY2gpOwogfQpAQCAtNjY3LDcgKzY1MCw3IEBACiBzdGF0aWMgdm9pZAogZmluaXNoX291dF9kbWEoc3RydWN0IG9tYXBfZXAgKmVwLCBzdHJ1Y3Qgb21hcF9yZXEgKnJlcSwgaW50IHN0YXR1cywgaW50IG9uZSkKIHsKLQl1MTYJY291bnQ7CisJdTE2CWNvdW50LCB3OwogCiAJaWYgKHN0YXR1cyA9PSAwKQogCQllcC0+ZG1hX2NvdW50ZXIgPSAodTE2KSAocmVxLT5yZXEuZG1hICsgcmVxLT5yZXEuYWN0dWFsKTsKQEAgLTY4NiwxMyArNjY5LDE1IEBACiAJCXJldHVybjsKIAogCS8qIHJ4IGNvbXBsZXRpb24gKi8KLQlVRENfRE1BX0lSUV9FTl9SRUcgJj0gflVEQ19SWF9FT1RfSUUoZXAtPmRtYV9jaGFubmVsKTsKKwl3ID0gb21hcF9yZWFkdyhVRENfRE1BX0lSUV9FTik7CisJdyAmPSB+VURDX1JYX0VPVF9JRShlcC0+ZG1hX2NoYW5uZWwpOworCW9tYXBfd3JpdGV3KHcsIFVEQ19ETUFfSVJRX0VOKTsKIAlkb25lKGVwLCByZXEsIHN0YXR1cyk7CiB9CiAKIHN0YXRpYyB2b2lkIGRtYV9pcnEoc3RydWN0IG9tYXBfdWRjICp1ZGMsIHUxNiBpcnFfc3JjKQogewotCXUxNgkJZG1hbl9zdGF0ID0gVURDX0RNQU5fU1RBVF9SRUc7CisJdTE2CQlkbWFuX3N0YXQgPSBvbWFwX3JlYWR3KFVEQ19ETUFOX1NUQVQpOwogCXN0cnVjdCBvbWFwX2VwCSplcDsKIAlzdHJ1Y3Qgb21hcF9yZXEJKnJlcTsKIApAQCAtNzA2LDcgKzY5MSw3IEBACiAJCQkJCQlzdHJ1Y3Qgb21hcF9yZXEsIHF1ZXVlKTsKIAkJCWZpbmlzaF9pbl9kbWEoZXAsIHJlcSwgMCk7CiAJCX0KLQkJVURDX0lSUV9TUkNfUkVHID0gVURDX1RYTl9ET05FOworCQlvbWFwX3dyaXRldyhVRENfVFhOX0RPTkUsIFVEQ19JUlFfU1JDKTsKIAogCQlpZiAoIWxpc3RfZW1wdHkgKCZlcC0+cXVldWUpKSB7CiAJCQlyZXEgPSBjb250YWluZXJfb2YoZXAtPnF1ZXVlLm5leHQsCkBAIC03MjUsNyArNzEwLDcgQEAKIAkJCQkJc3RydWN0IG9tYXBfcmVxLCBxdWV1ZSk7CiAJCQlmaW5pc2hfb3V0X2RtYShlcCwgcmVxLCAwLCBkbWFuX3N0YXQgJiBVRENfRE1BX1JYX1NCKTsKIAkJfQotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfUlhOX0VPVDsKKwkJb21hcF93cml0ZXcoVURDX1JYTl9FT1QsIFVEQ19JUlFfU1JDKTsKIAogCQlpZiAoIWxpc3RfZW1wdHkgKCZlcC0+cXVldWUpKSB7CiAJCQlyZXEgPSBjb250YWluZXJfb2YoZXAtPnF1ZXVlLm5leHQsCkBAIC03MzksNyArNzI0LDcgQEAKIAkJZXAtPmlycXMrKzsKIAkJLyogb21hcDE1eHggZG9lcyB0aGlzIHVuYXNrZWQuLi4gKi8KIAkJVkRCRygiJXMsIFJYX0NOVCBpcnE/XG4iLCBlcC0+ZXAubmFtZSk7Ci0JCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19SWE5fQ05UOworCQlvbWFwX3dyaXRldyhVRENfUlhOX0NOVCwgVURDX0lSUV9TUkMpOwogCX0KIH0KIApAQCAtNzYyLDkgKzc0Nyw5IEBACiAKIAlpc19pbiA9IGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTjsKIAlpZiAoaXNfaW4pCi0JCXJlZyA9IFVEQ19UWERNQV9DRkdfUkVHOworCQlyZWcgPSBvbWFwX3JlYWR3KFVEQ19UWERNQV9DRkcpOwogCWVsc2UKLQkJcmVnID0gVURDX1JYRE1BX0NGR19SRUc7CisJCXJlZyA9IG9tYXBfcmVhZHcoVURDX1JYRE1BX0NGRyk7CiAJcmVnIHw9IFVEQ19ETUFfUkVROwkJLyogInB1bHNlIiBhY3RpdmF0ZWQgKi8KIAogCWVwLT5kbWFfY2hhbm5lbCA9IDA7CkBAIC03OTIsNyArNzc3LDcgQEAKIAkJc3RhdHVzID0gb21hcF9yZXF1ZXN0X2RtYShkbWFfY2hhbm5lbCwKIAkJCWVwLT5lcC5uYW1lLCBkbWFfZXJyb3IsIGVwLCAmZXAtPmxjaCk7CiAJCWlmIChzdGF0dXMgPT0gMCkgewotCQkJVURDX1RYRE1BX0NGR19SRUcgPSByZWc7CisJCQlvbWFwX3dyaXRldyhyZWcsIFVEQ19UWERNQV9DRkcpOwogCQkJLyogRU1JRkYgb3IgU0RSQyAqLwogCQkJb21hcF9zZXRfZG1hX3NyY19idXJzdF9tb2RlKGVwLT5sY2gsCiAJCQkJCQlPTUFQX0RNQV9EQVRBX0JVUlNUXzQpOwpAQCAtODAxLDcgKzc4Niw3IEBACiAJCQlvbWFwX3NldF9kbWFfZGVzdF9wYXJhbXMoZXAtPmxjaCwKIAkJCQlPTUFQX0RNQV9QT1JUX1RJUEIsCiAJCQkJT01BUF9ETUFfQU1PREVfQ09OU1RBTlQsCi0JCQkJKHVuc2lnbmVkIGxvbmcpIGlvX3YycCgodTMyKSZVRENfREFUQV9ETUFfUkVHKSwKKwkJCQkodW5zaWduZWQgbG9uZykgaW9fdjJwKFVEQ19EQVRBX0RNQSksCiAJCQkJMCwgMCk7CiAJCX0KIAl9IGVsc2UgewpAQCAtODEzLDEyICs3OTgsMTIgQEAKIAkJc3RhdHVzID0gb21hcF9yZXF1ZXN0X2RtYShkbWFfY2hhbm5lbCwKIAkJCWVwLT5lcC5uYW1lLCBkbWFfZXJyb3IsIGVwLCAmZXAtPmxjaCk7CiAJCWlmIChzdGF0dXMgPT0gMCkgewotCQkJVURDX1JYRE1BX0NGR19SRUcgPSByZWc7CisJCQlvbWFwX3dyaXRldyhyZWcsIFVEQ19SWERNQV9DRkcpOwogCQkJLyogVElQQiAqLwogCQkJb21hcF9zZXRfZG1hX3NyY19wYXJhbXMoZXAtPmxjaCwKIAkJCQlPTUFQX0RNQV9QT1JUX1RJUEIsCiAJCQkJT01BUF9ETUFfQU1PREVfQ09OU1RBTlQsCi0JCQkJKHVuc2lnbmVkIGxvbmcpIGlvX3YycCgodTMyKSZVRENfREFUQV9ETUFfUkVHKSwKKwkJCQkodW5zaWduZWQgbG9uZykgaW9fdjJwKFVEQ19EQVRBX0RNQSksCiAJCQkJMCwgMCk7CiAJCQkvKiBFTUlGRiBvciBTRFJDICovCiAJCQlvbWFwX3NldF9kbWFfZGVzdF9idXJzdF9tb2RlKGVwLT5sY2gsCkBAIC04MzQsNyArODE5LDcgQEAKIAogCQkvKiBjaGFubmVsIHR5cGUgUDogaHcgc3luY2ggKGZpZm8pICovCiAJCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkpCi0JCQlPTUFQMV9ETUFfTENIX0NUUkxfUkVHKGVwLT5sY2gpID0gMjsKKwkJCW9tYXBfc2V0X2RtYV9jaGFubmVsX21vZGUoZXAtPmxjaCwgT01BUF9ETUFfTENIX1ApOwogCX0KIAoganVzdF9yZXN0YXJ0OgpAQCAtODYwLDcgKzg0NSw3IEBACiAJCQkoaXNfaW4gPyB3cml0ZV9maWZvIDogcmVhZF9maWZvKShlcCwgcmVxKTsKIAkJCWRlc2VsZWN0X2VwKCk7CiAJCQlpZiAoIWlzX2luKSB7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJCWVwLT5hY2t3YWl0ID0gMSArIGVwLT5kb3VibGVfYnVmOwogCQkJfQogCQkJLyogSU46IDYgd2FpdCBzdGF0ZXMgYmVmb3JlIGl0J2xsIHR4ICovCkBAIC04ODEsNyArODY2LDcgQEAKIAllbHNlCiAJCXJlcSA9IE5VTEw7CiAKLQlhY3RpdmUgPSAoKDEgPDwgNykgJiBPTUFQX0RNQV9DQ1JfUkVHKGVwLT5sY2gpKSAhPSAwOworCWFjdGl2ZSA9IG9tYXBfZ2V0X2RtYV9hY3RpdmVfc3RhdHVzKGVwLT5sY2gpOwogCiAJREJHKCIlcyByZWxlYXNlICVzICVjeGRtYSVkICVwXG4iLCBlcC0+ZXAubmFtZSwKIAkJCWFjdGl2ZSA/ICJhY3RpdmUiIDogImlkbGUiLApAQCAtODk0LDIzICs4NzksMjUgQEAKIAogCS8qIHdhaXQgdGlsbCBjdXJyZW50IHBhY2tldCBETUEgZmluaXNoZXMsIGFuZCBmaWZvIGVtcHRpZXMgKi8KIAlpZiAoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOKSB7Ci0JCVVEQ19UWERNQV9DRkdfUkVHID0gKFVEQ19UWERNQV9DRkdfUkVHICYgfm1hc2spIHwgVURDX0RNQV9SRVE7CisJCW9tYXBfd3JpdGV3KChvbWFwX3JlYWR3KFVEQ19UWERNQV9DRkcpICYgfm1hc2spIHwgVURDX0RNQV9SRVEsCisJCQkJCVVEQ19UWERNQV9DRkcpOwogCiAJCWlmIChyZXEpIHsKIAkJCWZpbmlzaF9pbl9kbWEoZXAsIHJlcSwgLUVDT05OUkVTRVQpOwogCiAJCQkvKiBjbGVhciBGSUZPOyBob3N0cyBwcm9iYWJseSB3b24ndCBlbXB0eSBpdCAqLwogCQkJdXNlX2VwKGVwLCBVRENfRVBfU0VMKTsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7CisJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0VQLCBVRENfQ1RSTCk7CiAJCQlkZXNlbGVjdF9lcCgpOwogCQl9Ci0JCXdoaWxlIChVRENfVFhETUFfQ0ZHX1JFRyAmIG1hc2spCisJCXdoaWxlIChvbWFwX3JlYWR3KFVEQ19UWERNQV9DRkcpICYgbWFzaykKIAkJCXVkZWxheSgxMCk7CiAJfSBlbHNlIHsKLQkJVURDX1JYRE1BX0NGR19SRUcgPSAoVURDX1JYRE1BX0NGR19SRUcgJiB+bWFzaykgfCBVRENfRE1BX1JFUTsKKwkJb21hcF93cml0ZXcoKG9tYXBfcmVhZHcoVURDX1JYRE1BX0NGRykgJiB+bWFzaykgfCBVRENfRE1BX1JFUSwKKwkJCQkJVURDX1JYRE1BX0NGRyk7CiAKIAkJLyogZG1hIGVtcHRpZXMgdGhlIGZpZm8gKi8KLQkJd2hpbGUgKFVEQ19SWERNQV9DRkdfUkVHICYgbWFzaykKKwkJd2hpbGUgKG9tYXBfcmVhZHcoVURDX1JYRE1BX0NGRykgJiBtYXNrKQogCQkJdWRlbGF5KDEwKTsKIAkJaWYgKHJlcSkKIAkJCWZpbmlzaF9vdXRfZG1hKGVwLCByZXEsIC1FQ09OTlJFU0VULCAwKTsKQEAgLTk5Nyw5ICs5ODQsMTMgQEAKIAlyZXEtPnJlcS5hY3R1YWwgPSAwOwogCiAJLyogbWF5YmUga2lja3N0YXJ0IG5vbi1pc28gaS9vIHF1ZXVlcyAqLwotCWlmIChpc19pc28pCi0JCVVEQ19JUlFfRU5fUkVHIHw9IFVEQ19TT0ZfSUU7Ci0JZWxzZSBpZiAobGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSAmJiAhZXAtPnN0b3BwZWQgJiYgIWVwLT5hY2t3YWl0KSB7CisJaWYgKGlzX2lzbykgeworCQl1MTYgdzsKKworCQl3ID0gb21hcF9yZWFkdyhVRENfSVJRX0VOKTsKKwkJdyB8PSBVRENfU09GX0lFOworCQlvbWFwX3dyaXRldyh3LCBVRENfSVJRX0VOKTsKKwl9IGVsc2UgaWYgKGxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkgJiYgIWVwLT5zdG9wcGVkICYmICFlcC0+YWNrd2FpdCkgewogCQlpbnQJaXNfaW47CiAKIAkJaWYgKGVwLT5iRW5kcG9pbnRBZGRyZXNzID09IDApIHsKQEAgLTEwMTcsMjMgKzEwMDgsMjMgQEAKIAkJCQkgKiByZXF1ZXN0cyB0byBub24tY29udHJvbCBlbmRwb2ludHMKIAkJCQkgKi8KIAkJCQlpZiAodWRjLT5lcDBfc2V0X2NvbmZpZykgewotCQkJCQl1MTYJaXJxX2VuID0gVURDX0lSUV9FTl9SRUc7CisJCQkJCXUxNglpcnFfZW4gPSBvbWFwX3JlYWR3KFVEQ19JUlFfRU4pOwogCiAJCQkJCWlycV9lbiB8PSBVRENfRFNfQ0hHX0lFIHwgVURDX0VQMF9JRTsKIAkJCQkJaWYgKCF1ZGMtPmVwMF9yZXNldF9jb25maWcpCiAJCQkJCQlpcnFfZW4gfD0gVURDX0VQTl9SWF9JRQogCQkJCQkJCXwgVURDX0VQTl9UWF9JRTsKLQkJCQkJVURDX0lSUV9FTl9SRUcgPSBpcnFfZW47CisJCQkJCW9tYXBfd3JpdGV3KGlycV9lbiwgVURDX0lSUV9FTik7CiAJCQkJfQogCiAJCQkJLyogU1RBVFVTIGZvciB6ZXJvIGxlbmd0aCBEQVRBIHN0YWdlcyBpcwogCQkJCSAqIGFsd2F5cyBhbiBJTiAuLi4gZXZlbiBmb3IgSU4gdHJhbnNmZXJzLAogCQkJCSAqIGEgd2VpcmQgY2FzZSB3aGljaCBzZWVtIHRvIHN0YWxsIE9NQVAuCiAJCQkJICovCi0JCQkJVURDX0VQX05VTV9SRUcgPSAoVURDX0VQX1NFTHxVRENfRVBfRElSKTsKLQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0VQOwotCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQkJb21hcF93cml0ZXcoVURDX0VQX1NFTCB8IFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOworCQkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfRVAsIFVEQ19DVFJMKTsKKwkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKKwkJCQlvbWFwX3dyaXRldyhVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAogCQkJCS8qIGNsZWFudXAgKi8KIAkJCQl1ZGMtPmVwMF9wZW5kaW5nID0gMDsKQEAgLTEwNDIsMTEgKzEwMzMsMTEgQEAKIAogCQkJLyogbm9uLWVtcHR5IERBVEEgc3RhZ2UgKi8KIAkJCX0gZWxzZSBpZiAoaXNfaW4pIHsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUx8VURDX0VQX0RJUjsKKwkJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMIHwgVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCQl9IGVsc2UgewogCQkJCWlmICh1ZGMtPmVwMF9zZXR1cCkKIAkJCQkJZ290byBpcnFfd2FpdDsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUw7CisJCQkJb21hcF93cml0ZXcoVURDX0VQX1NFTCwgVURDX0VQX05VTSk7CiAJCQl9CiAJCX0gZWxzZSB7CiAJCQlpc19pbiA9IGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTjsKQEAgLTEwNjIsNyArMTA1Myw3IEBACiAJCQkJcmVxID0gTlVMTDsKIAkJCWRlc2VsZWN0X2VwKCk7CiAJCQlpZiAoIWlzX2luKSB7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJCWVwLT5hY2t3YWl0ID0gMSArIGVwLT5kb3VibGVfYnVmOwogCQkJfQogCQkJLyogSU46IDYgd2FpdCBzdGF0ZXMgYmVmb3JlIGl0J2xsIHR4ICovCkBAIC0xMTMwLDkgKzExMjEsOSBAQAogCQllbHNlIGlmICh2YWx1ZSkgewogCQkJaWYgKGVwLT51ZGMtPmVwMF9zZXRfY29uZmlnKSB7CiAJCQkJV0FSTigiZXJyb3IgY2hhbmdpbmcgY29uZmlnP1xuIik7Ci0JCQkJVURDX1NZU0NPTjJfUkVHID0gVURDX0NMUl9DRkc7CisJCQkJb21hcF93cml0ZXcoVURDX0NMUl9DRkcsIFVEQ19TWVNDT04yKTsKIAkJCX0KLQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19TVEFMTF9DTUQ7CisJCQlvbWFwX3dyaXRldyhVRENfU1RBTExfQ01ELCBVRENfU1lTQ09OMik7CiAJCQllcC0+dWRjLT5lcDBfcGVuZGluZyA9IDA7CiAJCQlzdGF0dXMgPSAwOwogCQl9IGVsc2UgLyogTk9QICovCkBAIC0xMTU5LDggKzExNTAsOCBAQAogCQkJCWNoYW5uZWwgPSAwOwogCiAJCQl1c2VfZXAoZXAsIFVEQ19FUF9TRUwpOwotCQkJaWYgKFVEQ19TVEFUX0ZMR19SRUcgJiBVRENfTk9OX0lTT19GSUZPX0VNUFRZKSB7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9IQUxUOworCQkJaWYgKG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKSAmIFVEQ19OT05fSVNPX0ZJRk9fRU1QVFkpIHsKKwkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0hBTFQsIFVEQ19DVFJMKTsKIAkJCQlzdGF0dXMgPSAwOwogCQkJfSBlbHNlCiAJCQkJc3RhdHVzID0gLUVBR0FJTjsKQEAgLTExNzAsMTAgKzExNjEsMTAgQEAKIAkJCQlkbWFfY2hhbm5lbF9jbGFpbShlcCwgY2hhbm5lbCk7CiAJCX0gZWxzZSB7CiAJCQl1c2VfZXAoZXAsIDApOwotCQkJVURDX0NUUkxfUkVHID0gZXAtPnVkYy0+Y2xyX2hhbHQ7CisJCQlvbWFwX3dyaXRldyhlcC0+dWRjLT5jbHJfaGFsdCwgVURDX0NUUkwpOwogCQkJZXAtPmFja3dhaXQgPSAwOwogCQkJaWYgKCEoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOKSkgewotCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAkJCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAkJCX0KIAkJfQpAQCAtMTIwNSw3ICsxMTk2LDcgQEAKIAogc3RhdGljIGludCBvbWFwX2dldF9mcmFtZShzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0KQogewotCXUxNglzb2YgPSBVRENfU09GX1JFRzsKKwl1MTYJc29mID0gb21hcF9yZWFkdyhVRENfU09GKTsKIAlyZXR1cm4gKHNvZiAmIFVEQ19UU19PSykgPyAoc29mICYgVURDX1RTKSA6IC1FTDJOU1lOQzsKIH0KIApAQCAtMTIyNCw3ICsxMjE1LDcgQEAKIAkJICovCiAJCWlmICh1ZGMtPmRldnN0YXQgJiAoVURDX0JfSE5QX0VOQUJMRXxVRENfUl9XS19PSykpIHsKIAkJCURCRygicmVtb3RlIHdha2V1cC4uLlxuIik7Ci0JCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfUk1UX1dLUDsKKwkJCW9tYXBfd3JpdGV3KFVEQ19STVRfV0tQLCBVRENfU1lTQ09OMik7CiAJCQlyZXR2YWwgPSAwOwogCQl9CiAKQEAgLTEyNDcsMTIgKzEyMzgsMTIgQEAKIAogCXVkYyA9IGNvbnRhaW5lcl9vZihnYWRnZXQsIHN0cnVjdCBvbWFwX3VkYywgZ2FkZ2V0KTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmdWRjLT5sb2NrLCBmbGFncyk7Ci0Jc3lzY29uMSA9IFVEQ19TWVNDT04xX1JFRzsKKwlzeXNjb24xID0gb21hcF9yZWFkdyhVRENfU1lTQ09OMSk7CiAJaWYgKGlzX3NlbGZwb3dlcmVkKQogCQlzeXNjb24xIHw9IFVEQ19TRUxGX1BXUjsKIAllbHNlCiAJCXN5c2NvbjEgJj0gflVEQ19TRUxGX1BXUjsKLQlVRENfU1lTQ09OMV9SRUcgPSBzeXNjb24xOworCW9tYXBfd3JpdGV3KHN5c2NvbjEsIFVEQ19TWVNDT04xKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKIAogCXJldHVybiAwOwpAQCAtMTI2NSwxOCArMTI1NiwzNiBAQAogCiBzdGF0aWMgdm9pZCBwdWxsdXBfZW5hYmxlKHN0cnVjdCBvbWFwX3VkYyAqdWRjKQogewotCVVEQ19TWVNDT04xX1JFRyB8PSBVRENfUFVMTFVQX0VOOwotCWlmICghZ2FkZ2V0X2lzX290ZygmdWRjLT5nYWRnZXQpICYmICFjcHVfaXNfb21hcDE1eHgoKSkKLQkJT1RHX0NUUkxfUkVHIHw9IE9UR19CU0VTU1ZMRDsKLQlVRENfSVJRX0VOX1JFRyA9IFVEQ19EU19DSEdfSUU7CisJdTE2IHc7CisKKwl3ID0gb21hcF9yZWFkdyhVRENfU1lTQ09OMSk7CisJdyB8PSBVRENfUFVMTFVQX0VOOworCW9tYXBfd3JpdGV3KHcsIFVEQ19TWVNDT04xKTsKKwlpZiAoIWdhZGdldF9pc19vdGcoJnVkYy0+Z2FkZ2V0KSAmJiAhY3B1X2lzX29tYXAxNXh4KCkpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCQlsIHw9IE9UR19CU0VTU1ZMRDsKKwkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCX0KKwlvbWFwX3dyaXRldyhVRENfRFNfQ0hHX0lFLCBVRENfSVJRX0VOKTsKIH0KIAogc3RhdGljIHZvaWQgcHVsbHVwX2Rpc2FibGUoc3RydWN0IG9tYXBfdWRjICp1ZGMpCiB7Ci0JaWYgKCFnYWRnZXRfaXNfb3RnKCZ1ZGMtPmdhZGdldCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKQotCQlPVEdfQ1RSTF9SRUcgJj0gfk9UR19CU0VTU1ZMRDsKLQlVRENfSVJRX0VOX1JFRyA9IFVEQ19EU19DSEdfSUU7Ci0JVURDX1NZU0NPTjFfUkVHICY9IH5VRENfUFVMTFVQX0VOOworCXUxNiB3OworCisJaWYgKCFnYWRnZXRfaXNfb3RnKCZ1ZGMtPmdhZGdldCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCXUzMiBsOworCisJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKKwkJbCAmPSB+T1RHX0JTRVNTVkxEOworCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisJfQorCW9tYXBfd3JpdGV3KFVEQ19EU19DSEdfSUUsIFVEQ19JUlFfRU4pOworCXcgPSBvbWFwX3JlYWR3KFVEQ19TWVNDT04xKTsKKwl3ICY9IH5VRENfUFVMTFVQX0VOOworCW9tYXBfd3JpdGV3KHcsIFVEQ19TWVNDT04xKTsKIH0KIAogc3RhdGljIHN0cnVjdCBvbWFwX3VkYyAqdWRjOwpAQCAtMTMwNCw2ICsxMzEzLDcgQEAKIHsKIAlzdHJ1Y3Qgb21hcF91ZGMJKnVkYzsKIAl1bnNpZ25lZCBsb25nCWZsYWdzOworCXUzMiBsOwogCiAJdWRjID0gY29udGFpbmVyX29mKGdhZGdldCwgc3RydWN0IG9tYXBfdWRjLCBnYWRnZXQpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKQEAgLTEzMTEsMTAgKzEzMjEsMTIgQEAKIAl1ZGMtPnZidXNfYWN0aXZlID0gKGlzX2FjdGl2ZSAhPSAwKTsKIAlpZiAoY3B1X2lzX29tYXAxNXh4KCkpIHsKIAkJLyogInNvZnR3YXJlIiBkZXRlY3QsIGlnbm9yZWQgaWYgIVZCVVNfTU9ERV8xNTEwICovCisJCWwgPSBvbWFwX3JlYWRsKEZVTkNfTVVYX0NUUkxfMCk7CiAJCWlmIChpc19hY3RpdmUpCi0JCQlGVU5DX01VWF9DVFJMXzBfUkVHIHw9IFZCVVNfQ1RSTF8xNTEwOworCQkJbCB8PSBWQlVTX0NUUkxfMTUxMDsKIAkJZWxzZQotCQkJRlVOQ19NVVhfQ1RSTF8wX1JFRyAmPSB+VkJVU19DVFJMXzE1MTA7CisJCQlsICY9IH5WQlVTX0NUUkxfMTUxMDsKKwkJb21hcF93cml0ZWwobCwgRlVOQ19NVVhfQ1RSTF8wKTsKIAl9CiAJaWYgKHVkYy0+ZGNfY2xrICE9IE5VTEwgJiYgaXNfYWN0aXZlKSB7CiAJCWlmICghdWRjLT5jbGtfcmVxdWVzdGVkKSB7CkBAIC0xMzg0LDkgKzEzOTYsOSBAQAogCQlkbWFfY2hhbm5lbF9yZWxlYXNlKGVwKTsKIAogCXVzZV9lcChlcCwgMCk7Ci0JVURDX0NUUkxfUkVHID0gVURDX0NMUl9FUDsKKwlvbWFwX3dyaXRldyhVRENfQ0xSX0VQLCBVRENfQ1RSTCk7CiAJaWYgKGVwLT5iRW5kcG9pbnRBZGRyZXNzICYmIGVwLT5ibUF0dHJpYnV0ZXMgIT0gVVNCX0VORFBPSU5UX1hGRVJfSVNPQykKLQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9IQUxUOworCQlvbWFwX3dyaXRldyhVRENfU0VUX0hBTFQsIFVEQ19DVFJMKTsKIAogCXdoaWxlICghbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSkgewogCQlyZXEgPSBsaXN0X2VudHJ5KGVwLT5xdWV1ZS5uZXh0LCBzdHJ1Y3Qgb21hcF9yZXEsIHF1ZXVlKTsKQEAgLTE0MTQsOCArMTQyNiw4IEBACiAJaWYgKCFnYWRnZXRfaXNfb3RnKCZ1ZGMtPmdhZGdldCkpCiAJCXJldHVybjsKIAotCWlmIChPVEdfQ1RSTF9SRUcgJiBPVEdfSUQpCi0JCWRldnN0YXQgPSBVRENfREVWU1RBVF9SRUc7CisJaWYgKG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX0lEKQorCQlkZXZzdGF0ID0gb21hcF9yZWFkdyhVRENfREVWU1RBVCk7CiAJZWxzZQogCQlkZXZzdGF0ID0gMDsKIApAQCAtMTQyNiw5ICsxNDM4LDE0IEBACiAJLyogRW5hYmxlIEhOUCBlYXJseSwgYXZvaWRpbmcgcmFjZXMgb24gc3VzcGVuZCBpcnEgcGF0aC4KIAkgKiBBU1NVTUVTIE9URyBzdGF0ZSBtYWNoaW5lIEJfQlVTX1JFUSBpbnB1dCBpcyB0cnVlLgogCSAqLwotCWlmICh1ZGMtPmdhZGdldC5iX2hucF9lbmFibGUpCi0JCU9UR19DVFJMX1JFRyA9IChPVEdfQ1RSTF9SRUcgfCBPVEdfQl9ITlBFTiB8IE9UR19CX0JVU1JFUSkKLQkJCQkmIH5PVEdfUFVMTFVQOworCWlmICh1ZGMtPmdhZGdldC5iX2hucF9lbmFibGUpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCQlsIHw9IE9UR19CX0hOUEVOIHwgT1RHX0JfQlVTUkVROworCQlsICY9IH5PVEdfUFVMTFVQOworCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBlcDBfaXJxKHN0cnVjdCBvbWFwX3VkYyAqdWRjLCB1MTYgaXJxX3NyYykKQEAgLTE0NDYsNyArMTQ2Myw3IEBACiAKIAkJbnVrZShlcDAsIDApOwogCQlpZiAoYWNrKSB7Ci0JCQlVRENfSVJRX1NSQ19SRUcgPSBhY2s7CisJCQlvbWFwX3dyaXRldyhhY2ssIFVEQ19JUlFfU1JDKTsKIAkJCWlycV9zcmMgPSBVRENfU0VUVVA7CiAJCX0KIAl9CkBAIC0xNDY2LDkgKzE0ODMsOSBAQAogCWlmIChpcnFfc3JjICYgVURDX0VQMF9UWCkgewogCQlpbnQJc3RhdDsKIAotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfRVAwX1RYOwotCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUx8VURDX0VQX0RJUjsKLQkJc3RhdCA9IFVEQ19TVEFUX0ZMR19SRUc7CisJCW9tYXBfd3JpdGV3KFVEQ19FUDBfVFgsIFVEQ19JUlFfU1JDKTsKKwkJb21hcF93cml0ZXcoVURDX0VQX1NFTHxVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKKwkJc3RhdCA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAkJaWYgKHN0YXQgJiBVRENfQUNLKSB7CiAJCQlpZiAodWRjLT5lcDBfaW4pIHsKIAkJCQkvKiB3cml0ZSBuZXh0IElOIHBhY2tldCBmcm9tIHJlc3BvbnNlLApAQCAtMTQ3NiwyNiArMTQ5MywyNiBAQAogCQkJCSAqLwogCQkJCWlmIChyZXEpCiAJCQkJCXN0YXQgPSB3cml0ZV9maWZvKGVwMCwgcmVxKTsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCQkJaWYgKCFyZXEgJiYgdWRjLT5lcDBfcGVuZGluZykgewotCQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUw7Ci0JCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7Ci0JCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKLQkJCQkJVURDX0VQX05VTV9SRUcgPSAwOworCQkJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMLCBVRENfRVBfTlVNKTsKKwkJCQkJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOworCQkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKKwkJCQkJb21hcF93cml0ZXcoMCwgVURDX0VQX05VTSk7CiAJCQkJCXVkYy0+ZXAwX3BlbmRpbmcgPSAwOwogCQkJCX0gLyogZWxzZTogIDYgd2FpdCBzdGF0ZXMgYmVmb3JlIGl0J2xsIHR4ICovCiAJCQl9IGVsc2UgewogCQkJCS8qIGFjayBzdGF0dXMgc3RhZ2Ugb2YgT1VUIHRyYW5zZmVyICovCi0JCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJCW9tYXBfd3JpdGV3KFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQkJCWlmIChyZXEpCiAJCQkJCWRvbmUoZXAwLCByZXEsIDApOwogCQkJfQogCQkJcmVxID0gTlVMTDsKIAkJfSBlbHNlIGlmIChzdGF0ICYgVURDX1NUQUxMKSB7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0hBTFQ7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0hBTFQsIFVEQ19DVFJMKTsKKwkJCW9tYXBfd3JpdGV3KFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQl9IGVsc2UgewotCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCX0KIAl9CiAKQEAgLTE1MDMsOSArMTUyMCw5IEBACiAJaWYgKGlycV9zcmMgJiBVRENfRVAwX1JYKSB7CiAJCWludAlzdGF0OwogCi0JCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19FUDBfUlg7Ci0JCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX1NFTDsKLQkJc3RhdCA9IFVEQ19TVEFUX0ZMR19SRUc7CisJCW9tYXBfd3JpdGV3KFVEQ19FUDBfUlgsIFVEQ19JUlFfU1JDKTsKKwkJb21hcF93cml0ZXcoVURDX0VQX1NFTCwgVURDX0VQX05VTSk7CisJCXN0YXQgPSBvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRyk7CiAJCWlmIChzdGF0ICYgVURDX0FDSykgewogCQkJaWYgKCF1ZGMtPmVwMF9pbikgewogCQkJCXN0YXQgPSAwOwpAQCAtMTUxMywzNCArMTUzMCwzNSBAQAogCQkJCSAqIHJlYWN0aXZpdGluZyB0aGUgZmlmbzsgc3RhbGwgb24gZXJyb3JzLgogCQkJCSAqLwogCQkJCWlmICghcmVxIHx8IChzdGF0ID0gcmVhZF9maWZvKGVwMCwgcmVxKSkgPCAwKSB7Ci0JCQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19TVEFMTF9DTUQ7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19TVEFMTF9DTUQsIFVEQ19TWVNDT04yKTsKIAkJCQkJdWRjLT5lcDBfcGVuZGluZyA9IDA7CiAJCQkJCXN0YXQgPSAwOwogCQkJCX0gZWxzZSBpZiAoc3RhdCA9PSAwKQotCQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47Ci0JCQkJVURDX0VQX05VTV9SRUcgPSAwOworCQkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKKwkJCQlvbWFwX3dyaXRldygwLCBVRENfRVBfTlVNKTsKIAogCQkJCS8qIGFjdGl2YXRlIHN0YXR1cyBzdGFnZSAqLwogCQkJCWlmIChzdGF0ID09IDEpIHsKIAkJCQkJZG9uZShlcDAsIHJlcSwgMCk7CiAJCQkJCS8qIHRoYXQgbWF5IGhhdmUgU1RBTExlZCBlcDAuLi4gKi8KLQkJCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfU0VMfFVEQ19FUF9ESVI7Ci0JCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7Ci0JCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKLQkJCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMIHwgVURDX0VQX0RJUiwKKwkJCQkJCQlVRENfRVBfTlVNKTsKKwkJCQkJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOworCQkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKKwkJCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCQkJCXVkYy0+ZXAwX3BlbmRpbmcgPSAwOwogCQkJCX0KIAkJCX0gZWxzZSB7CiAJCQkJLyogYWNrIHN0YXR1cyBzdGFnZSBvZiBJTiB0cmFuc2ZlciAqLwotCQkJCVVEQ19FUF9OVU1fUkVHID0gMDsKKwkJCQlvbWFwX3dyaXRldygwLCBVRENfRVBfTlVNKTsKIAkJCQlpZiAocmVxKQogCQkJCQlkb25lKGVwMCwgcmVxLCAwKTsKIAkJCX0KIAkJfSBlbHNlIGlmIChzdGF0ICYgVURDX1NUQUxMKSB7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0hBTFQ7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IDA7CisJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0hBTFQsIFVEQ19DVFJMKTsKKwkJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9OVU0pOwogCQl9IGVsc2UgewotCQkJVURDX0VQX05VTV9SRUcgPSAwOworCQkJb21hcF93cml0ZXcoMCwgVURDX0VQX05VTSk7CiAJCX0KIAl9CiAKQEAgLTE1NTUsMTQgKzE1NzMsMTQgQEAKIAogCQkvKiByZWFkIHRoZSAobGF0ZXN0KSBTRVRVUCBtZXNzYWdlICovCiAJCWRvIHsKLQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX1NFVFVQX1NFTDsKKwkJCW9tYXBfd3JpdGV3KFVEQ19TRVRVUF9TRUwsIFVEQ19FUF9OVU0pOwogCQkJLyogdHdvIGJ5dGVzIGF0IGEgdGltZSAqLwotCQkJdS53b3JkWzBdID0gVURDX0RBVEFfUkVHOwotCQkJdS53b3JkWzFdID0gVURDX0RBVEFfUkVHOwotCQkJdS53b3JkWzJdID0gVURDX0RBVEFfUkVHOwotCQkJdS53b3JkWzNdID0gVURDX0RBVEFfUkVHOwotCQkJVURDX0VQX05VTV9SRUcgPSAwOwotCQl9IHdoaWxlIChVRENfSVJRX1NSQ19SRUcgJiBVRENfU0VUVVApOworCQkJdS53b3JkWzBdID0gb21hcF9yZWFkdyhVRENfREFUQSk7CisJCQl1LndvcmRbMV0gPSBvbWFwX3JlYWR3KFVEQ19EQVRBKTsKKwkJCXUud29yZFsyXSA9IG9tYXBfcmVhZHcoVURDX0RBVEEpOworCQkJdS53b3JkWzNdID0gb21hcF9yZWFkdyhVRENfREFUQSk7CisJCQlvbWFwX3dyaXRldygwLCBVRENfRVBfTlVNKTsKKwkJfSB3aGlsZSAob21hcF9yZWFkdyhVRENfSVJRX1NSQykgJiBVRENfU0VUVVApOwogCiAjZGVmaW5lCXdfdmFsdWUJCWxlMTZfdG9fY3B1KHUuci53VmFsdWUpCiAjZGVmaW5lCXdfaW5kZXgJCWxlMTZfdG9fY3B1KHUuci53SW5kZXgpCkBAIC0xNTkzLDkgKzE2MTEsOSBAQAogCQkJICogbGF0ZXIgaWYgaXQgZmFpbHMgdGhlIHJlcXVlc3QuCiAJCQkgKi8KIAkJCWlmICh1ZGMtPmVwMF9yZXNldF9jb25maWcpCi0JCQkJVURDX1NZU0NPTjJfUkVHID0gVURDX0NMUl9DRkc7CisJCQkJb21hcF93cml0ZXcoVURDX0NMUl9DRkcsIFVEQ19TWVNDT04yKTsKIAkJCWVsc2UKLQkJCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfREVWX0NGRzsKKwkJCQlvbWFwX3dyaXRldyhVRENfREVWX0NGRywgVURDX1NZU0NPTjIpOwogCQkJdXBkYXRlX290Zyh1ZGMpOwogCQkJZ290byBkZWxlZ2F0ZTsKIAkJY2FzZSBVU0JfUkVRX0NMRUFSX0ZFQVRVUkU6CkBAIC0xNjEzLDEwICsxNjMxLDEwIEBACiAJCQkJCQl8fCAhZXAtPmRlc2MpCiAJCQkJCWdvdG8gZG9fc3RhbGw7CiAJCQkJdXNlX2VwKGVwLCAwKTsKLQkJCQlVRENfQ1RSTF9SRUcgPSB1ZGMtPmNscl9oYWx0OworCQkJCW9tYXBfd3JpdGV3KHVkYy0+Y2xyX2hhbHQsIFVEQ19DVFJMKTsKIAkJCQllcC0+YWNrd2FpdCA9IDA7CiAJCQkJaWYgKCEoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOKSkgewotCQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAkJCQl9CiAJCQkJLyogTk9URTogIGFzc3VtZXMgdGhlIGhvc3QgYmVoYXZlcyBzYW5lbHksCkBAIC0xNjQ5LDE1ICsxNjY3LDE1IEBACiAJCQl9CiAJCQl1c2VfZXAoZXAsIDApOwogCQkJLyogY2FuJ3QgaGFsdCBpZiBmaWZvIGlzbid0IGVtcHR5Li4uICovCi0JCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0VQOwotCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9IQUxUOworCQkJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOworCQkJb21hcF93cml0ZXcoVURDX1NFVF9IQUxULCBVRENfQ1RSTCk7CiAJCQlWREJHKCIlcyBoYWx0ZWQgYnkgaG9zdFxuIiwgZXAtPm5hbWUpOwogZXAwb3V0X3N0YXR1c19zdGFnZToKIAkJCXN0YXR1cyA9IDA7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUx8VURDX0VQX0RJUjsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47Ci0JCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMfFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOworCQkJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOworCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CisJCQlvbWFwX3dyaXRldyhVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAkJCXVkYy0+ZXAwX3BlbmRpbmcgPSAwOwogCQkJYnJlYWs7CiAJCWNhc2UgVVNCX1JFUV9HRVRfU1RBVFVTOgpAQCAtMTY5NCwxMCArMTcxMiwxMCBAQAogCiB6ZXJvX3N0YXR1czoKIAkJCS8qIHJldHVybiB0d28gemVybyBieXRlcyAqLwotCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfU0VMfFVEQ19FUF9ESVI7Ci0JCQlVRENfREFUQV9SRUcgPSAwOwotCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOwotCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJb21hcF93cml0ZXcoVURDX0VQX1NFTHxVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKKwkJCW9tYXBfd3JpdGV3KDAsIFVEQ19EQVRBKTsKKwkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOworCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCQlzdGF0dXMgPSAwOwogCQkJVkRCRygiR0VUX1NUQVRVUywgaW50ZXJmYWNlICVkXG4iLCB3X2luZGV4KTsKIAkJCS8qIG5leHQsIHN0YXR1cyBzdGFnZSAqLwpAQCAtMTcwNiw4ICsxNzI0LDggQEAKIGRlbGVnYXRlOgogCQkJLyogYWN0aXZhdGUgdGhlIGVwMG91dCBmaWZvIHJpZ2h0IGF3YXkgKi8KIAkJCWlmICghdWRjLT5lcDBfaW4gJiYgd19sZW5ndGgpIHsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IDA7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9OVU0pOworCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJfQogCiAJCQkvKiBnYWRnZXQgZHJpdmVycyBzZWUgY2xhc3MvdmVuZG9yIHNwZWNpZmljIHJlcXVlc3RzLApAQCAtMTc0OCw5ICsxNzY2LDkgQEAKIAkJCQlpZiAodWRjLT5lcDBfcmVzZXRfY29uZmlnKQogCQkJCQlXQVJOKCJlcnJvciByZXNldHRpbmcgY29uZmlnP1xuIik7CiAJCQkJZWxzZQotCQkJCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfQ0xSX0NGRzsKKwkJCQkJb21hcF93cml0ZXcoVURDX0NMUl9DRkcsIFVEQ19TWVNDT04yKTsKIAkJCX0KLQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19TVEFMTF9DTUQ7CisJCQlvbWFwX3dyaXRldyhVRENfU1RBTExfQ01ELCBVRENfU1lTQ09OMik7CiAJCQl1ZGMtPmVwMF9wZW5kaW5nID0gMDsKIAkJfQogCX0KQEAgLTE3NjQsNyArMTc4Miw3IEBACiB7CiAJdTE2CWRldnN0YXQsIGNoYW5nZTsKIAotCWRldnN0YXQgPSBVRENfREVWU1RBVF9SRUc7CisJZGV2c3RhdCA9IG9tYXBfcmVhZHcoVURDX0RFVlNUQVQpOwogCWNoYW5nZSA9IGRldnN0YXQgXiB1ZGMtPmRldnN0YXQ7CiAJdWRjLT5kZXZzdGF0ID0gZGV2c3RhdDsKIApAQCAtMTgwNCw3ICsxODIyLDggQEAKIAkJCQlJTkZPKCJVU0IgcmVzZXQgZG9uZSwgZ2FkZ2V0ICVzXG4iLAogCQkJCQl1ZGMtPmRyaXZlci0+ZHJpdmVyLm5hbWUpOwogCQkJCS8qIGVwMCB0cmFmZmljIGlzIGxlZ2FsIGZyb20gbm93IG9uICovCi0JCQkJVURDX0lSUV9FTl9SRUcgPSBVRENfRFNfQ0hHX0lFIHwgVURDX0VQMF9JRTsKKwkJCQlvbWFwX3dyaXRldyhVRENfRFNfQ0hHX0lFIHwgVURDX0VQMF9JRSwKKwkJCQkJCVVEQ19JUlFfRU4pOwogCQkJfQogCQkJY2hhbmdlICY9IH5VRENfVVNCX1JFU0VUOwogCQl9CkBAIC0xODQ4LDcgKzE4NjcsNyBAQAogCQlWREJHKCJkZXZzdGF0ICUwM3gsIGlnbm9yZSBjaGFuZ2UgJTAzeFxuIiwKIAkJCWRldnN0YXQsICBjaGFuZ2UpOwogCi0JVURDX0lSUV9TUkNfUkVHID0gVURDX0RTX0NIRzsKKwlvbWFwX3dyaXRldyhVRENfRFNfQ0hHLCBVRENfSVJRX1NSQyk7CiB9CiAKIHN0YXRpYyBpcnFyZXR1cm5fdCBvbWFwX3VkY19pcnEoaW50IGlycSwgdm9pZCAqX3VkYykKQEAgLTE4NTksNyArMTg3OCw3IEBACiAJdW5zaWduZWQgbG9uZwlmbGFnczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKLQlpcnFfc3JjID0gVURDX0lSUV9TUkNfUkVHOworCWlycV9zcmMgPSBvbWFwX3JlYWR3KFVEQ19JUlFfU1JDKTsKIAogCS8qIERldmljZSBzdGF0ZSBjaGFuZ2UgKHVzYiBjaDkgc3R1ZmYpICovCiAJaWYgKGlycV9zcmMgJiBVRENfRFNfQ0hHKSB7CkBAIC0xODgyLDcgKzE5MDEsNyBAQAogCQlpcnFfc3JjICY9IH4oVURDX1RYTl9ET05FfFVEQ19SWE5fQ05UfFVEQ19SWE5fRU9UKTsKIAl9CiAKLQlpcnFfc3JjICY9IH4oVURDX1NPRnxVRENfRVBOX1RYfFVEQ19FUE5fUlgpOworCWlycV9zcmMgJj0gfihVRENfSVJRX1NPRiB8IFVEQ19FUE5fVFh8VURDX0VQTl9SWCk7CiAJaWYgKGlycV9zcmMpCiAJCURCRygidWRjX2lycSwgdW5oYW5kbGVkICUwM3hcbiIsIGlycV9zcmMpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnVkYy0+bG9jaywgZmxhZ3MpOwpAQCAtMTkwMyw3ICsxOTIyLDcgQEAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZXAtPnVkYy0+bG9jaywgZmxhZ3MpOwogCWlmICghbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSAmJiBlcC0+YWNrd2FpdCkgewogCQl1c2VfZXAoZXAsIFVEQ19FUF9TRUwpOwotCQlzdGF0X2ZsZyA9IFVEQ19TVEFUX0ZMR19SRUc7CisJCXN0YXRfZmxnID0gb21hcF9yZWFkdyhVRENfU1RBVF9GTEcpOwogCiAJCWlmICgoc3RhdF9mbGcgJiBVRENfQUNLKSAmJiAoIShzdGF0X2ZsZyAmIFVEQ19GSUZPX0VOKQogCQkJCXx8IChlcC0+ZG91YmxlX2J1ZiAmJiBIQUxGX0ZVTEwoc3RhdF9mbGcpKSkpIHsKQEAgLTE5MTMsOCArMTkzMiw4IEBACiAJCQlyZXEgPSBjb250YWluZXJfb2YoZXAtPnF1ZXVlLm5leHQsCiAJCQkJCXN0cnVjdCBvbWFwX3JlcSwgcXVldWUpOwogCQkJKHZvaWQpIHJlYWRfZmlmbyhlcCwgcmVxKTsKLQkJCVVEQ19FUF9OVU1fUkVHID0gZXAtPmJFbmRwb2ludEFkZHJlc3M7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCQlvbWFwX3dyaXRldyhlcC0+YkVuZHBvaW50QWRkcmVzcywgVURDX0VQX05VTSk7CisJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAkJCWVwLT5hY2t3YWl0ID0gMSArIGVwLT5kb3VibGVfYnVmOwogCQl9IGVsc2UKIAkJCWRlc2VsZWN0X2VwKCk7CkBAIC0xOTM0LDIwICsxOTUzLDIwIEBACiAJdW5zaWduZWQgbG9uZwlmbGFnczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKLQllcG5fc3RhdCA9IFVEQ19FUE5fU1RBVF9SRUc7Ci0JaXJxX3NyYyA9IFVEQ19JUlFfU1JDX1JFRzsKKwllcG5fc3RhdCA9IG9tYXBfcmVhZHcoVURDX0VQTl9TVEFUKTsKKwlpcnFfc3JjID0gb21hcF9yZWFkdyhVRENfSVJRX1NSQyk7CiAKIAkvKiBoYW5kbGUgT1VUIGZpcnN0LCB0byBhdm9pZCBzb21lIHdhc3RlZnVsIE5BS3MgKi8KIAlpZiAoaXJxX3NyYyAmIFVEQ19FUE5fUlgpIHsKIAkJZXBudW0gPSAoZXBuX3N0YXQgPj4gOCkgJiAweDBmOwotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfRVBOX1JYOworCQlvbWFwX3dyaXRldyhVRENfRVBOX1JYLCBVRENfSVJRX1NSQyk7CiAJCXN0YXR1cyA9IElSUV9IQU5ETEVEOwogCQllcCA9ICZ1ZGMtPmVwW2VwbnVtXTsKIAkJZXAtPmlycXMrKzsKIAotCQlVRENfRVBfTlVNX1JFRyA9IGVwbnVtIHwgVURDX0VQX1NFTDsKKwkJb21hcF93cml0ZXcoZXBudW0gfCBVRENfRVBfU0VMLCBVRENfRVBfTlVNKTsKIAkJZXAtPmZuZiA9IDA7Ci0JCWlmICgoVURDX1NUQVRfRkxHX1JFRyAmIFVEQ19BQ0spKSB7CisJCWlmIChvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRykgJiBVRENfQUNLKSB7CiAJCQllcC0+YWNrd2FpdC0tOwogCQkJaWYgKCFsaXN0X2VtcHR5KCZlcC0+cXVldWUpKSB7CiAJCQkJaW50IHN0YXQ7CkBAIC0xOTU5LDE1ICsxOTc4LDE1IEBACiAJCQl9CiAJCX0KIAkJLyogbWluIDYgY2xvY2sgZGVsYXkgYmVmb3JlIGNsZWFyaW5nIEVQX1NFTCAuLi4gKi8KLQkJZXBuX3N0YXQgPSBVRENfRVBOX1NUQVRfUkVHOwotCQllcG5fc3RhdCA9IFVEQ19FUE5fU1RBVF9SRUc7Ci0JCVVEQ19FUF9OVU1fUkVHID0gZXBudW07CisJCWVwbl9zdGF0ID0gb21hcF9yZWFkdyhVRENfRVBOX1NUQVQpOworCQllcG5fc3RhdCA9IG9tYXBfcmVhZHcoVURDX0VQTl9TVEFUKTsKKwkJb21hcF93cml0ZXcoZXBudW0sIFVEQ19FUF9OVU0pOwogCiAJCS8qIGVuYWJsaW5nIGZpZm8gX2FmdGVyXyBjbGVhcmluZyBBQ0ssIGNvbnRyYXJ5IHRvIGRvY3MsCiAJCSAqIHJlZHVjZXMgbG9zc2FnZTsgdGltZXIgc3RpbGwgbmVlZGVkIHRob3VnaCAoc2lnaCkuCiAJCSAqLwogCQlpZiAoZXAtPmZuZikgewotCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAJCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAkJfQogCQltb2RfdGltZXIoJmVwLT50aW1lciwgUElPX09VVF9USU1FT1VUKTsKQEAgLTE5NzYsMTMgKzE5OTUsMTMgQEAKIAkvKiB0aGVuIElOIHRyYW5zZmVycyAqLwogCWVsc2UgaWYgKGlycV9zcmMgJiBVRENfRVBOX1RYKSB7CiAJCWVwbnVtID0gZXBuX3N0YXQgJiAweDBmOwotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfRVBOX1RYOworCQlvbWFwX3dyaXRldyhVRENfRVBOX1RYLCBVRENfSVJRX1NSQyk7CiAJCXN0YXR1cyA9IElSUV9IQU5ETEVEOwogCQllcCA9ICZ1ZGMtPmVwWzE2ICsgZXBudW1dOwogCQllcC0+aXJxcysrOwogCi0JCVVEQ19FUF9OVU1fUkVHID0gZXBudW0gfCBVRENfRVBfRElSIHwgVURDX0VQX1NFTDsKLQkJaWYgKChVRENfU1RBVF9GTEdfUkVHICYgVURDX0FDSykpIHsKKwkJb21hcF93cml0ZXcoZXBudW0gfCBVRENfRVBfRElSIHwgVURDX0VQX1NFTCwgVURDX0VQX05VTSk7CisJCWlmIChvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRykgJiBVRENfQUNLKSB7CiAJCQllcC0+YWNrd2FpdCA9IDA7CiAJCQlpZiAoIWxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpIHsKIAkJCQlyZXEgPSBjb250YWluZXJfb2YoZXAtPnF1ZXVlLm5leHQsCkBAIC0xOTkxLDkgKzIwMTAsOSBAQAogCQkJfQogCQl9CiAJCS8qIG1pbiA2IGNsb2NrIGRlbGF5IGJlZm9yZSBjbGVhcmluZyBFUF9TRUwgLi4uICovCi0JCWVwbl9zdGF0ID0gVURDX0VQTl9TVEFUX1JFRzsKLQkJZXBuX3N0YXQgPSBVRENfRVBOX1NUQVRfUkVHOwotCQlVRENfRVBfTlVNX1JFRyA9IGVwbnVtIHwgVURDX0VQX0RJUjsKKwkJZXBuX3N0YXQgPSBvbWFwX3JlYWR3KFVEQ19FUE5fU1RBVCk7CisJCWVwbl9zdGF0ID0gb21hcF9yZWFkdyhVRENfRVBOX1NUQVQpOworCQlvbWFwX3dyaXRldyhlcG51bSB8IFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQkvKiB0aGVuIDYgY2xvY2tzIGJlZm9yZSBpdCdkIHR4ICovCiAJfQogCkBAIC0yMDIxLDcgKzIwNDAsNyBAQAogCQlyZXEgPSBsaXN0X2VudHJ5KGVwLT5xdWV1ZS5uZXh0LCBzdHJ1Y3Qgb21hcF9yZXEsIHF1ZXVlKTsKIAogCQl1c2VfZXAoZXAsIFVEQ19FUF9TRUwpOwotCQlzdGF0ID0gVURDX1NUQVRfRkxHX1JFRzsKKwkJc3RhdCA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAogCQkvKiBOT1RFOiBsaWtlIHRoZSBvdGhlciBjb250cm9sbGVyIGRyaXZlcnMsIHRoaXMgaXNuJ3QKIAkJICogY3VycmVudGx5IHJlcG9ydGluZyBsb3N0IG9yIGRhbWFnZWQgZnJhbWVzLgpAQCAtMjA1Myw5ICsyMDcyLDE0IEBACiAJCWlmICghbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSkKIAkJCXBlbmRpbmcgPSAxOwogCX0KLQlpZiAoIXBlbmRpbmcpCi0JCVVEQ19JUlFfRU5fUkVHICY9IH5VRENfU09GX0lFOwotCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19TT0Y7CisJaWYgKCFwZW5kaW5nKSB7CisJCXUxNiB3OworCisJCXcgPSBvbWFwX3JlYWR3KFVEQ19JUlFfRU4pOworCQl3ICY9IH5VRENfU09GX0lFOworCQlvbWFwX3dyaXRldyh3LCBVRENfSVJRX0VOKTsKKwl9CisJb21hcF93cml0ZXcoVURDX0lSUV9TT0YsIFVEQ19JUlFfU1JDKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnVkYy0+bG9jaywgZmxhZ3MpOwogCXJldHVybiBJUlFfSEFORExFRDsKQEAgLTIxMDQsNyArMjEyOCw3IEBACiAJCWlmIChlcC0+Ym1BdHRyaWJ1dGVzID09IFVTQl9FTkRQT0lOVF9YRkVSX0lTT0MpCiAJCQljb250aW51ZTsKIAkJdXNlX2VwKGVwLCAwKTsKLQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9IQUxUOworCQlvbWFwX3dyaXRldyhVRENfU0VUX0hBTFQsIFVEQ19DVFJMKTsKIAl9CiAJdWRjLT5lcDBfcGVuZGluZyA9IDA7CiAJdWRjLT5lcFswXS5pcnFzID0gMDsKQEAgLTIxMjgsNyArMjE1Miw3IEBACiAJfQogCURCRygiYm91bmQgdG8gZHJpdmVyICVzXG4iLCBkcml2ZXItPmRyaXZlci5uYW1lKTsKIAotCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19JUlFfU1JDX01BU0s7CisJb21hcF93cml0ZXcoVURDX0lSUV9TUkNfTUFTSywgVURDX0lSUV9TUkMpOwogCiAJLyogY29ubmVjdCB0byBidXMgdGhyb3VnaCB0cmFuc2NlaXZlciAqLwogCWlmICh1ZGMtPnRyYW5zY2VpdmVyKSB7CkBAIC0yMjI1LDcgKzIyNDksNyBAQAogCWVsc2UKIAkJYnVmWzBdID0gMDsKIAotCXN0YXRfZmxnID0gVURDX1NUQVRfRkxHX1JFRzsKKwlzdGF0X2ZsZyA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAlzZXFfcHJpbnRmKHMsCiAJCSJcbiVzICVzJXMlc2lycXMgJWxkIHN0YXQgJTA0eCAiIEVJR0hUQklUUyBGT1VSQklUUyAiJXNcbiIsCiAJCWVwLT5uYW1lLCBidWYsCkBAIC0yMjkyLDExICsyMzE2LDExIEBACiAJCXRyYW5zID0gQ09OVFJPTF9ERVZDT05GX1JFRzsKIAl9IGVsc2UgewogCQljdHJsX25hbWUgPSAidHJhbmNlaXZlcl9jdHJsIjsKLQkJdHJhbnMgPSBVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUc7CisJCXRyYW5zID0gb21hcF9yZWFkdyhVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CiAJfQogCXNlcV9wcmludGYocywgIlxuT1RHIHJldiAlZC4lZCwgJXMgJTA1eFxuIiwKIAkJdG1wID4+IDQsIHRtcCAmIDB4ZiwgY3RybF9uYW1lLCB0cmFucyk7Ci0JdG1wID0gT1RHX1NZU0NPTl8xX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KE9UR19TWVNDT05fMSk7CiAJc2VxX3ByaW50ZihzLCAib3RnX3N5c2NvbjEgJTA4eCB1c2IyICVzLCB1c2IxICVzLCB1c2IwICVzLCIKIAkJCUZPVVJCSVRTICJcbiIsIHRtcCwKIAkJdHJ4X21vZGUoVVNCMl9UUlhfTU9ERSh0bXApLCB0cmFucyAmIENPTkZfVVNCMl9VTklfUiksCkBAIC0yMzA4LDcgKzIzMzIsNyBAQAogCQkodG1wICYgSFNUX0lETEVfRU4pID8gIiAhaG9zdCIgOiAiIiwKIAkJKHRtcCAmIERFVl9JRExFX0VOKSA/ICIgIWRldiIgOiAiIiwKIAkJKHRtcCAmIE9UR19SRVNFVF9ET05FKSA/ICIgcmVzZXRfZG9uZSIgOiAiIHJlc2V0X2FjdGl2ZSIpOwotCXRtcCA9IE9UR19TWVNDT05fMl9SRUc7CisJdG1wID0gb21hcF9yZWFkbChPVEdfU1lTQ09OXzIpOwogCXNlcV9wcmludGYocywgIm90Z19zeXNjb24yICUwOHglcyIgRUlHSFRCSVRTCiAJCQkiIGJfYXNlX2Jyc3Q9JWQgaG1jPSVkXG4iLCB0bXAsCiAJCSh0bXAgJiBPVEdfRU4pID8gIiBvdGdfZW4iIDogIiIsCkBAIC0yMzIzLDcgKzIzNDcsNyBAQAogCQkodG1wICYgSE1DX1RMTEFUVEFDSCkgPyAiIHRsbGF0dGFjaCIgOiAiIiwKIAkJQl9BU0VfQlJTVCh0bXApLAogCQlPVEdfSE1DKHRtcCkpOwotCXRtcCA9IE9UR19DVFJMX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAlzZXFfcHJpbnRmKHMsICJvdGdfY3RybCAgICAlMDZ4IiBFSUdIVEJJVFMgRUlHSFRCSVRTICIlc1xuIiwgdG1wLAogCQkodG1wICYgT1RHX0FTRVNTVkxEKSA/ICIgYXNlc3MiIDogIiIsCiAJCSh0bXAgJiBPVEdfQlNFU1NFTkQpID8gIiBic2Vzc19lbmQiIDogIiIsCkBAIC0yMzQzLDEzICsyMzY3LDEzIEBACiAJCSh0bXAgJiBPVEdfUFVfVkJVUykgPyAiIHB1X3ZiIiA6ICIiLAogCQkodG1wICYgT1RHX1BVX0lEKSA/ICIgcHVfaWQiIDogIiIKIAkJKTsKLQl0bXAgPSBPVEdfSVJRX0VOX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KE9UR19JUlFfRU4pOwogCXNlcV9wcmludGYocywgIm90Z19pcnFfZW4gICUwNHgiICJcbiIsIHRtcCk7Ci0JdG1wID0gT1RHX0lSUV9TUkNfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoT1RHX0lSUV9TUkMpOwogCXNlcV9wcmludGYocywgIm90Z19pcnFfc3JjICUwNHgiICJcbiIsIHRtcCk7Ci0JdG1wID0gT1RHX09VVENUUkxfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoT1RHX09VVENUUkwpOwogCXNlcV9wcmludGYocywgIm90Z19vdXRjdHJsICUwNHgiICJcbiIsIHRtcCk7Ci0JdG1wID0gT1RHX1RFU1RfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoT1RHX1RFU1QpOwogCXNlcV9wcmludGYocywgIm90Z190ZXN0ICAgICUwNHgiICJcbiIsIHRtcCk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yMzcwLDcgKzIzOTQsNyBAQAogCQlkcml2ZXJfZGVzYywKIAkJdXNlX2RtYSA/ICAiIChkbWEpIiA6ICIiKTsKIAotCXRtcCA9IFVEQ19SRVZfUkVHICYgMHhmZjsKKwl0bXAgPSBvbWFwX3JlYWR3KFVEQ19SRVYpICYgMHhmZjsKIAlzZXFfcHJpbnRmKHMsCiAJCSJVREMgcmV2ICVkLiVkLCBmaWZvIG1vZGUgJWQsIGdhZGdldCAlc1xuIgogCQkiaG1jICVkLCB0cmFuc2NlaXZlciAlc1xuIiwKQEAgLTIzODQsMTYgKzI0MDgsMTYgQEAKIAkJCQk/ICJleHRlcm5hbCIgOiAiKG5vbmUpIikpOwogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewogCQlzZXFfcHJpbnRmKHMsICJVTFBEIGNvbnRyb2wgJTA0eCByZXEgJTA0eCBzdGF0dXMgJTA0eFxuIiwKLQkJCV9fUkVHMTYoVUxQRF9DTE9DS19DVFJMKSwKLQkJCV9fUkVHMTYoVUxQRF9TT0ZUX1JFUSksCi0JCQlfX1JFRzE2KFVMUERfU1RBVFVTX1JFUSkpOworCQkJb21hcF9yZWFkdyhVTFBEX0NMT0NLX0NUUkwpLAorCQkJb21hcF9yZWFkdyhVTFBEX1NPRlRfUkVRKSwKKwkJCW9tYXBfcmVhZHcoVUxQRF9TVEFUVVNfUkVRKSk7CiAJfQogCiAJLyogT1RHIGNvbnRyb2xsZXIgcmVnaXN0ZXJzICovCiAJaWYgKCFjcHVfaXNfb21hcDE1eHgoKSkKIAkJcHJvY19vdGdfc2hvdyhzKTsKIAotCXRtcCA9IFVEQ19TWVNDT04xX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KFVEQ19TWVNDT04xKTsKIAlzZXFfcHJpbnRmKHMsICJcbnN5c2NvbjEgICAgICUwNHgiIEVJR0hUQklUUyAiXG4iLCB0bXAsCiAJCSh0bXAgJiBVRENfQ0ZHX0xPQ0spID8gIiBjZmdfbG9jayIgOiAiIiwKIAkJKHRtcCAmIFVEQ19EQVRBX0VORElBTikgPyAiIGRhdGFfZW5kaWFuIiA6ICIiLApAQCAtMjQxMiw3ICsyNDM2LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JdG1wID0gVURDX0RFVlNUQVRfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoVURDX0RFVlNUQVQpOwogCXNlcV9wcmludGYocywgImRldnN0YXQgICAgICUwNHgiIEVJR0hUQklUUyAiJXMlc1xuIiwgdG1wLAogCQkodG1wICYgVURDX0JfSE5QX0VOQUJMRSkgPyAiIGJfaG5wIiA6ICIiLAogCQkodG1wICYgVURDX0FfSE5QX1NVUFBPUlQpID8gIiBhX2hucCIgOiAiIiwKQEAgLTI0MjQsMjAgKzI0NDgsMjAgQEAKIAkJKHRtcCAmIFVEQ19BREQpID8gIiBBREQiIDogIiIsCiAJCSh0bXAgJiBVRENfREVGKSA/ICIgREVGIiA6ICIiLAogCQkodG1wICYgVURDX0FUVCkgPyAiIEFUVCIgOiAiIik7Ci0Jc2VxX3ByaW50ZihzLCAic29mICAgICAgICAgJTA0eFxuIiwgVURDX1NPRl9SRUcpOwotCXRtcCA9IFVEQ19JUlFfRU5fUkVHOworCXNlcV9wcmludGYocywgInNvZiAgICAgICAgICUwNHhcbiIsIG9tYXBfcmVhZHcoVURDX1NPRikpOworCXRtcCA9IG9tYXBfcmVhZHcoVURDX0lSUV9FTik7CiAJc2VxX3ByaW50ZihzLCAiaXJxX2VuICAgICAgJTA0eCIgRk9VUkJJVFMgIiVzXG4iLCB0bXAsCiAJCSh0bXAgJiBVRENfU09GX0lFKSA/ICIgc29mIiA6ICIiLAogCQkodG1wICYgVURDX0VQTl9SWF9JRSkgPyAiIGVwbl9yeCIgOiAiIiwKIAkJKHRtcCAmIFVEQ19FUE5fVFhfSUUpID8gIiBlcG5fdHgiIDogIiIsCiAJCSh0bXAgJiBVRENfRFNfQ0hHX0lFKSA/ICIgZHNfY2hnIiA6ICIiLAogCQkodG1wICYgVURDX0VQMF9JRSkgPyAiIGVwMCIgOiAiIik7Ci0JdG1wID0gVURDX0lSUV9TUkNfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoVURDX0lSUV9TUkMpOwogCXNlcV9wcmludGYocywgImlycV9zcmMgICAgICUwNHgiIEVJR0hUQklUUyAiJXMlc1xuIiwgdG1wLAogCQkodG1wICYgVURDX1RYTl9ET05FKSA/ICIgdHhuX2RvbmUiIDogIiIsCiAJCSh0bXAgJiBVRENfUlhOX0NOVCkgPyAiIHJ4bl9jbnQiIDogIiIsCiAJCSh0bXAgJiBVRENfUlhOX0VPVCkgPyAiIHJ4bl9lb3QiIDogIiIsCi0JCSh0bXAgJiBVRENfU09GKSA/ICIgc29mIiA6ICIiLAorCQkodG1wICYgVURDX0lSUV9TT0YpID8gIiBzb2YiIDogIiIsCiAJCSh0bXAgJiBVRENfRVBOX1JYKSA/ICIgZXBuX3J4IiA6ICIiLAogCQkodG1wICYgVURDX0VQTl9UWCkgPyAiIGVwbl90eCIgOiAiIiwKIAkJKHRtcCAmIFVEQ19EU19DSEcpID8gIiBkc19jaGciIDogIiIsCkBAIC0yNDQ3LDcgKzI0NzEsNyBAQAogCWlmICh1c2VfZG1hKSB7CiAJCXVuc2lnbmVkIGk7CiAKLQkJdG1wID0gVURDX0RNQV9JUlFfRU5fUkVHOworCQl0bXAgPSBvbWFwX3JlYWR3KFVEQ19ETUFfSVJRX0VOKTsKIAkJc2VxX3ByaW50ZihzLCAiZG1hX2lycV9lbiAgJTA0eCVzIiBFSUdIVEJJVFMgIlxuIiwgdG1wLAogCQkJKHRtcCAmIFVEQ19UWF9ET05FX0lFKDMpKSA/ICIgdHgyX2RvbmUiIDogIiIsCiAJCQkodG1wICYgVURDX1JYX0NOVF9JRSgzKSkgPyAiIHJ4Ml9jbnQiIDogIiIsCkBAIC0yNDYxLDI5ICsyNDg1LDI5IEBACiAJCQkodG1wICYgVURDX1JYX0NOVF9JRSgxKSkgPyAiIHJ4MF9jbnQiIDogIiIsCiAJCQkodG1wICYgVURDX1JYX0VPVF9JRSgxKSkgPyAiIHJ4MF9lb3QiIDogIiIpOwogCi0JCXRtcCA9IFVEQ19SWERNQV9DRkdfUkVHOworCQl0bXAgPSBvbWFwX3JlYWR3KFVEQ19SWERNQV9DRkcpOwogCQlzZXFfcHJpbnRmKHMsICJyeGRtYV9jZmcgICAlMDR4XG4iLCB0bXApOwogCQlpZiAodG1wKSB7CiAJCQlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7CiAJCQkJaWYgKCh0bXAgJiAoMHgwZiA8PCAoaSAqIDQpKSkgPT0gMCkKIAkJCQkJY29udGludWU7CiAJCQkJc2VxX3ByaW50ZihzLCAicnhkbWFbJWRdICAgICUwNHhcbiIsIGksCi0JCQkJCQlVRENfUlhETUFfUkVHKGkgKyAxKSk7CisJCQkJCQlvbWFwX3JlYWR3KFVEQ19SWERNQShpICsgMSkpKTsKIAkJCX0KIAkJfQotCQl0bXAgPSBVRENfVFhETUFfQ0ZHX1JFRzsKKwkJdG1wID0gb21hcF9yZWFkdyhVRENfVFhETUFfQ0ZHKTsKIAkJc2VxX3ByaW50ZihzLCAidHhkbWFfY2ZnICAgJTA0eFxuIiwgdG1wKTsKIAkJaWYgKHRtcCkgewogCQkJZm9yIChpID0gMDsgaSA8IDM7IGkrKykgewogCQkJCWlmICghKHRtcCAmICgweDBmIDw8IChpICogNCkpKSkKIAkJCQkJY29udGludWU7CiAJCQkJc2VxX3ByaW50ZihzLCAidHhkbWFbJWRdICAgICUwNHhcbiIsIGksCi0JCQkJCQlVRENfVFhETUFfUkVHKGkgKyAxKSk7CisJCQkJCQlvbWFwX3JlYWR3KFVEQ19UWERNQShpICsgMSkpKTsKIAkJCX0KIAkJfQogCX0KIAotCXRtcCA9IFVEQ19ERVZTVEFUX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KFVEQ19ERVZTVEFUKTsKIAlpZiAodG1wICYgVURDX0FUVCkgewogCQlwcm9jX2VwX3Nob3cocywgJnVkYy0+ZXBbMF0pOwogCQlpZiAodG1wICYgVURDX0FERCkgewpAQCAtMjUzNSw3ICsyNTU5LDcgQEAKICAqIGJ1ZmZlciBzcGFjZSBhbW9uZyB0aGUgZW5kcG9pbnRzIHdlJ2xsIGJlIG9wZXJhdGluZy4KICAqCiAgKiBOT1RFOiBhcyBvZiBPTUFQIDE3MTAgRVMyLjAsIHdyaXRpbmcgYSBuZXcgZW5kcG9pbnQgY29uZmlnIHdoZW4KLSAqIFVEQ19TWVNDT05fMV9SRUcuQ0ZHX0xPQ0sgaXMgc2V0IGNhbiBub3cgd29yay4gIFdlIHdvbid0IHVzZSB0aGF0CisgKiBVRENfU1lTQ09OXzEuQ0ZHX0xPQ0sgaXMgc2V0IGNhbiBub3cgd29yay4gIFdlIHdvbid0IHVzZSB0aGF0CiAgKiBjYXBhYmlsaXR5IHlldCB0aG91Z2guCiAgKi8KIHN0YXRpYyB1bnNpZ25lZCBfX2luaXQKQEAgLTI1OTcsOSArMjYyMSw5IEBACiAJCW5hbWUsIGFkZHIsIGVwbl9yeHR4LCBtYXhwLCBkYnVmID8gIngyIiA6ICIiLCBidWYpOwogCiAJaWYgKGFkZHIgJiBVU0JfRElSX0lOKQotCQlVRENfRVBfVFhfUkVHKGFkZHIgJiAweGYpID0gZXBuX3J4dHg7CisJCW9tYXBfd3JpdGV3KGVwbl9yeHR4LCBVRENfRVBfVFgoYWRkciAmIDB4ZikpOwogCWVsc2UKLQkJVURDX0VQX1JYX1JFRyhhZGRyKSA9IGVwbl9yeHR4OworCQlvbWFwX3dyaXRldyhlcG5fcnh0eCwgVURDX0VQX1JYKGFkZHIpKTsKIAogCS8qIG5leHQgZW5kcG9pbnQncyBidWZmZXIgc3RhcnRzIGFmdGVyIHRoaXMgb25lJ3MgKi8KIAlidWYgKz0gbWF4cDsKQEAgLTI2MzgsMTUgKzI2NjIsMTUgQEAKIAl1bnNpZ25lZAl0bXAsIGJ1ZjsKIAogCS8qIGFib2xpc2ggYW55IHByZXZpb3VzIGhhcmR3YXJlIHN0YXRlICovCi0JVURDX1NZU0NPTjFfUkVHID0gMDsKLQlVRENfSVJRX0VOX1JFRyA9IDA7Ci0JVURDX0lSUV9TUkNfUkVHID0gVURDX0lSUV9TUkNfTUFTSzsKLQlVRENfRE1BX0lSUV9FTl9SRUcgPSAwOwotCVVEQ19SWERNQV9DRkdfUkVHID0gMDsKLQlVRENfVFhETUFfQ0ZHX1JFRyA9IDA7CisJb21hcF93cml0ZXcoMCwgVURDX1NZU0NPTjEpOworCW9tYXBfd3JpdGV3KDAsIFVEQ19JUlFfRU4pOworCW9tYXBfd3JpdGV3KFVEQ19JUlFfU1JDX01BU0ssIFVEQ19JUlFfU1JDKTsKKwlvbWFwX3dyaXRldygwLCBVRENfRE1BX0lSUV9FTik7CisJb21hcF93cml0ZXcoMCwgVURDX1JYRE1BX0NGRyk7CisJb21hcF93cml0ZXcoMCwgVURDX1RYRE1BX0NGRyk7CiAKIAkvKiBVRENfUFVMTFVQX0VOIGdhdGVzIHRoZSBjaGlwIGNsb2NrICovCi0JLy8gT1RHX1NZU0NPTl8xX1JFRyB8PSBERVZfSURMRV9FTjsKKwkvLyBPVEdfU1lTQ09OXzEgfD0gREVWX0lETEVfRU47CiAKIAl1ZGMgPSBremFsbG9jKHNpemVvZigqdWRjKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCF1ZGMpCkBAIC0yNjc3LDggKzI3MDEsOCBAQAogCiAJLyogaW5pdGlhbGx5IGRpc2FibGUgYWxsIG5vbi1lcDAgZW5kcG9pbnRzICovCiAJZm9yICh0bXAgPSAxOyB0bXAgPCAxNTsgdG1wKyspIHsKLQkJVURDX0VQX1JYX1JFRyh0bXApID0gMDsKLQkJVURDX0VQX1RYX1JFRyh0bXApID0gMDsKKwkJb21hcF93cml0ZXcoMCwgVURDX0VQX1JYKHRtcCkpOworCQlvbWFwX3dyaXRldygwLCBVRENfRVBfVFgodG1wKSk7CiAJfQogCiAjZGVmaW5lIE9NQVBfQlVMS19FUChuYW1lLGFkZHIpIFwKQEAgLTI3NjMsNyArMjc4Nyw3IEBACiAJCUVSUigidW5zdXBwb3J0ZWQgZmlmb19tb2RlICMlZFxuIiwgZmlmb19tb2RlKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQotCVVEQ19TWVNDT04xX1JFRyA9IFVEQ19DRkdfTE9DS3xVRENfU0VMRl9QV1I7CisJb21hcF93cml0ZXcoVURDX0NGR19MT0NLfFVEQ19TRUxGX1BXUiwgVURDX1NZU0NPTjEpOwogCUlORk8oImZpZm8gbW9kZSAlZCwgJWQgYnl0ZXMgbm90IHVzZWRcbiIsIGZpZm9fbW9kZSwgMjA0OCAtIGJ1Zik7CiAJcmV0dXJuIDA7CiB9CkBAIC0yODA3LDcgKzI4MzEsNyBAQAogCX0KIAogCUlORk8oIk9NQVAgVURDIHJldiAlZC4lZCVzXG4iLAotCQlVRENfUkVWX1JFRyA+PiA0LCBVRENfUkVWX1JFRyAmIDB4ZiwKKwkJb21hcF9yZWFkdyhVRENfUkVWKSA+PiA0LCBvbWFwX3JlYWR3KFVEQ19SRVYpICYgMHhmLAogCQljb25maWctPm90ZyA/ICIsIE1pbmktQUIiIDogIiIpOwogCiAJLyogdXNlIHRoZSBtb2RlIGdpdmVuIHRvIHVzIGJ5IGJvYXJkIGluaXQgY29kZSAqLwpAQCAtMjgyMiwxMiArMjg0NiwxMiBAQAogCQkJICoga25vdyB3aGVuIHRvIHR1cm4gUFVMTFVQX0VOIG9uL29mZjsgYW5kIHRoYXQKIAkJCSAqIG1lYW5zIHdlIGFsd2F5cyAibmVlZCIgdGhlIDQ4TUh6IGNsb2NrLgogCQkJICovCi0JCQl1MzIgdG1wID0gRlVOQ19NVVhfQ1RSTF8wX1JFRzsKLQotCQkJRlVOQ19NVVhfQ1RSTF8wX1JFRyAmPSB+VkJVU19DVFJMXzE1MTA7CisJCQl1MzIgdG1wID0gb21hcF9yZWFkbChGVU5DX01VWF9DVFJMXzApOworCQkJdG1wICY9IH5WQlVTX0NUUkxfMTUxMDsKKwkJCW9tYXBfd3JpdGVsKHRtcCwgRlVOQ19NVVhfQ1RSTF8wKTsKIAkJCXRtcCB8PSBWQlVTX01PREVfMTUxMDsKIAkJCXRtcCAmPSB+VkJVU19DVFJMXzE1MTA7Ci0JCQlGVU5DX01VWF9DVFJMXzBfUkVHID0gdG1wOworCQkJb21hcF93cml0ZWwodG1wLCBGVU5DX01VWF9DVFJMXzApOwogCQl9CiAJfSBlbHNlIHsKIAkJLyogVGhlIHRyYW5zY2VpdmVyIG1heSBwYWNrYWdlIHNvbWUgR1BJTyBsb2dpYyBvciBoYW5kbGUKQEAgLTI5MDcsNyArMjkzMSw3IEBACiAjZW5kaWYKIAogCS8qIHN0YXJ0aW5nIHdpdGggb21hcDE3MTAgZXMyLjAsIGNsZWFyIHRvZ2dsZSBpcyBhIHNlcGFyYXRlIGJpdCAqLwotCWlmIChVRENfUkVWX1JFRyA+PSAweDYxKQorCWlmIChvbWFwX3JlYWR3KFVEQ19SRVYpID49IDB4NjEpCiAJCXVkYy0+Y2xyX2hhbHQgPSBVRENfUkVTRVRfRVAgfCBVRENfQ0xSREFUQV9UT0dHTEU7CiAJZWxzZQogCQl1ZGMtPmNscl9oYWx0ID0gVURDX1JFU0VUX0VQOwpAQCAtMzAwNSw3ICszMDI5LDcgQEAKIAkJcHV0X2RldmljZSh1ZGMtPnRyYW5zY2VpdmVyLT5kZXYpOwogCQl1ZGMtPnRyYW5zY2VpdmVyID0gTlVMTDsKIAl9Ci0JVURDX1NZU0NPTjFfUkVHID0gMDsKKwlvbWFwX3dyaXRldygwLCBVRENfU1lTQ09OMSk7CiAKIAlyZW1vdmVfcHJvY19maWxlKCk7CiAKQEAgLTMwMzYsNyArMzA2MCw3IEBACiAgKgogICogUkVWSVNJVCB3ZSBzaG91bGQgcHJvYmFibHkgcmVqZWN0IHN1c3BlbmQgcmVxdWVzdHMgd2hlbiB0aGVyZSdzIGEgaG9zdAogICogc2Vzc2lvbiBhY3RpdmUsIHJhdGhlciB0aGFuIGRpc2Nvbm5lY3RpbmcsIGF0IGxlYXN0IG9uIGJvYXJkcyB0aGF0IGNhbgotICogcmVwb3J0IFZCVVMgaXJxcyAoVURDX0RFVlNUQVRfUkVHLlVEQ19BVFQpLiAgQW5kIGluIGFueSBjYXNlLCB3ZSBuZWVkIHRvCisgKiByZXBvcnQgVkJVUyBpcnFzIChVRENfREVWU1RBVC5VRENfQVRUKS4gIEFuZCBpbiBhbnkgY2FzZSwgd2UgbmVlZCB0bwogICogbWFrZSBob3N0IHJlc3VtZXMgYW5kIFZCVVMgZGV0ZWN0aW9uIHRyaWdnZXIgT01BUCB3YWtldXAgZXZlbnRzOyB0aGF0CiAgKiBtYXkgaW52b2x2ZSB0YWxraW5nIHRvIGFuIGV4dGVybmFsIHRyYW5zY2VpdmVyIChlLmcuIGlzcDEzMDEpLgogICovCkBAIC0zMDQ1LDcgKzMwNjksNyBAQAogewogCXUzMglkZXZzdGF0OwogCi0JZGV2c3RhdCA9IFVEQ19ERVZTVEFUX1JFRzsKKwlkZXZzdGF0ID0gb21hcF9yZWFkdyhVRENfREVWU1RBVCk7CiAKIAkvKiB3ZSdyZSByZXF1ZXN0aW5nIDQ4IE1IeiBjbG9jayBpZiB0aGUgcHVsbHVwIGlzIGVuYWJsZWQKIAkgKiAoPT0gd2UncmUgYXR0YWNoZWQgdG8gdGhlIGhvc3QpIGFuZCB3ZSdyZSBub3Qgc3VzcGVuZGVkLApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmggYi9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuaAppbmRleCBjNmI5Y2JjLi44NTIyYmJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuaAorKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuaApAQCAtOCwyMyArOCwyMiBAQAogLyoKICAqIFVTQiBkZXZpY2UvZW5kcG9pbnQgbWFuYWdlbWVudCByZWdpc3RlcnMKICAqLwotI2RlZmluZSBVRENfUkVHKG9mZnNldCkgICAgICAgICAgICAgIF9fUkVHMTYoVURDX0JBU0UgKyAob2Zmc2V0KSkKIAotI2RlZmluZQlVRENfUkVWX1JFRwkJCVVEQ19SRUcoMHgwKQkvKiBSZXZpc2lvbiAqLwotI2RlZmluZQlVRENfRVBfTlVNX1JFRwkJCVVEQ19SRUcoMHg0KQkvKiBXaGljaCBlbmRwb2ludCAqLworI2RlZmluZQlVRENfUkVWCQkJCShVRENfQkFTRSArIDB4MCkJLyogUmV2aXNpb24gKi8KKyNkZWZpbmUJVURDX0VQX05VTQkJCShVRENfQkFTRSArIDB4NCkJLyogV2hpY2ggZW5kcG9pbnQgKi8KICMJZGVmaW5lCVVEQ19TRVRVUF9TRUwJCSgxIDw8IDYpCiAjCWRlZmluZQlVRENfRVBfU0VMCQkoMSA8PCA1KQogIwlkZWZpbmUJVURDX0VQX0RJUgkJKDEgPDwgNCkKIAkvKiBsb3cgNCBiaXRzIGZvciBlbmRwb2ludCBudW1iZXIgKi8KLSNkZWZpbmUJVURDX0RBVEFfUkVHCQkJVURDX1JFRygweDA4KQkvKiBFbmRwb2ludCBGSUZPICovCi0jZGVmaW5lCVVEQ19DVFJMX1JFRwkJCVVEQ19SRUcoMHgwQykJLyogRW5kcG9pbnQgY29udHJvbCAqLworI2RlZmluZQlVRENfREFUQQkJCShVRENfQkFTRSArIDB4MDgpCS8qIEVuZHBvaW50IEZJRk8gKi8KKyNkZWZpbmUJVURDX0NUUkwJCQkoVURDX0JBU0UgKyAweDBDKQkvKiBFbmRwb2ludCBjb250cm9sICovCiAjCWRlZmluZQlVRENfQ0xSX0hBTFQJCSgxIDw8IDcpCiAjCWRlZmluZQlVRENfU0VUX0hBTFQJCSgxIDw8IDYpCiAjCWRlZmluZQlVRENfQ0xSREFUQV9UT0dHTEUJKDEgPDwgMykKICMJZGVmaW5lCVVEQ19TRVRfRklGT19FTgkJKDEgPDwgMikKICMJZGVmaW5lCVVEQ19DTFJfRVAJCSgxIDw8IDEpCiAjCWRlZmluZQlVRENfUkVTRVRfRVAJCSgxIDw8IDApCi0jZGVmaW5lCVVEQ19TVEFUX0ZMR19SRUcJCVVEQ19SRUcoMHgxMCkJLyogRW5kcG9pbnQgc3RhdHVzICovCisjZGVmaW5lCVVEQ19TVEFUX0ZMRwkJCShVRENfQkFTRSArIDB4MTApCS8qIEVuZHBvaW50IHN0YXR1cyAqLwogIwlkZWZpbmUJVURDX05PX1JYUEFDS0VUCQkoMSA8PCAxNSkKICMJZGVmaW5lCVVEQ19NSVNTX0lOCQkoMSA8PCAxNCkKICMJZGVmaW5lCVVEQ19EQVRBX0ZMVVNICQkoMSA8PCAxMykKQEAgLTM4LDggKzM3LDggQEAKICMJZGVmaW5lCVVEQ19GSUZPX0VOCQkoMSA8PCAyKQogIwlkZWZpbmUJVURDX05PTl9JU09fRklGT19FTVBUWQkoMSA8PCAxKQogIwlkZWZpbmUJVURDX05PTl9JU09fRklGT19GVUxMCSgxIDw8IDApCi0jZGVmaW5lCVVEQ19SWEZTVEFUX1JFRwkJCVVEQ19SRUcoMHgxNCkJLyogT1VUIGJ5dGVjb3VudCAqLwotI2RlZmluZQlVRENfU1lTQ09OMV9SRUcJCQlVRENfUkVHKDB4MTgpCS8qIFN5c3RlbSBjb25maWcgMSAqLworI2RlZmluZQlVRENfUlhGU1RBVAkJCShVRENfQkFTRSArIDB4MTQpCS8qIE9VVCBieXRlY291bnQgKi8KKyNkZWZpbmUJVURDX1NZU0NPTjEJCQkoVURDX0JBU0UgKyAweDE4KQkvKiBTeXN0ZW0gY29uZmlnIDEgKi8KICMJZGVmaW5lCVVEQ19DRkdfTE9DSwkJKDEgPDwgOCkKICMJZGVmaW5lCVVEQ19EQVRBX0VORElBTgkJKDEgPDwgNykKICMJZGVmaW5lCVVEQ19ETUFfRU5ESUFOCQkoMSA8PCA2KQpAQCAtNDgsMTIgKzQ3LDEyIEBACiAjCWRlZmluZQlVRENfU0VMRl9QV1IJCSgxIDw8IDIpCiAjCWRlZmluZQlVRENfU09GRl9ESVMJCSgxIDw8IDEpCiAjCWRlZmluZQlVRENfUFVMTFVQX0VOCQkoMSA8PCAwKQotI2RlZmluZQlVRENfU1lTQ09OMl9SRUcJCQlVRENfUkVHKDB4MUMpCS8qIFN5c3RlbSBjb25maWcgMiAqLworI2RlZmluZQlVRENfU1lTQ09OMgkJCShVRENfQkFTRSArIDB4MUMpCS8qIFN5c3RlbSBjb25maWcgMiAqLwogIwlkZWZpbmUJVURDX1JNVF9XS1AJCSgxIDw8IDYpCiAjCWRlZmluZQlVRENfU1RBTExfQ01ECQkoMSA8PCA1KQogIwlkZWZpbmUJVURDX0RFVl9DRkcJCSgxIDw8IDMpCiAjCWRlZmluZQlVRENfQ0xSX0NGRwkJKDEgPDwgMikKLSNkZWZpbmUJVURDX0RFVlNUQVRfUkVHCQkJVURDX1JFRygweDIwKQkvKiBEZXZpY2Ugc3RhdHVzICovCisjZGVmaW5lCVVEQ19ERVZTVEFUCQkJKFVEQ19CQVNFICsgMHgyMCkJLyogRGV2aWNlIHN0YXR1cyAqLwogIwlkZWZpbmUJVURDX0JfSE5QX0VOQUJMRQkoMSA8PCA5KQogIwlkZWZpbmUJVURDX0FfSE5QX1NVUFBPUlQJKDEgPDwgOCkKICMJZGVmaW5lCVVEQ19BX0FMVF9ITlBfU1VQUE9SVAkoMSA8PCA3KQpAQCAtNjQsMjYgKzYzLDI2IEBACiAjCWRlZmluZQlVRENfQURECQkJKDEgPDwgMikKICMJZGVmaW5lCVVEQ19ERUYJCQkoMSA8PCAxKQogIwlkZWZpbmUJVURDX0FUVAkJCSgxIDw8IDApCi0jZGVmaW5lCVVEQ19TT0ZfUkVHCQkJVURDX1JFRygweDI0KQkvKiBTdGFydCBvZiBmcmFtZSAqLworI2RlZmluZQlVRENfU09GCQkJCShVRENfQkFTRSArIDB4MjQpCS8qIFN0YXJ0IG9mIGZyYW1lICovCiAjCWRlZmluZQlVRENfRlRfTE9DSwkJKDEgPDwgMTIpCiAjCWRlZmluZQlVRENfVFNfT0sJCSgxIDw8IDExKQogIwlkZWZpbmUJVURDX1RTCQkJMHgwM2ZmCi0jZGVmaW5lCVVEQ19JUlFfRU5fUkVHCQkJVURDX1JFRygweDI4KQkvKiBJbnRlcnJ1cHQgZW5hYmxlICovCisjZGVmaW5lCVVEQ19JUlFfRU4JCQkoVURDX0JBU0UgKyAweDI4KQkvKiBJbnRlcnJ1cHQgZW5hYmxlICovCiAjCWRlZmluZQlVRENfU09GX0lFCQkoMSA8PCA3KQogIwlkZWZpbmUJVURDX0VQTl9SWF9JRQkJKDEgPDwgNSkKICMJZGVmaW5lCVVEQ19FUE5fVFhfSUUJCSgxIDw8IDQpCiAjCWRlZmluZQlVRENfRFNfQ0hHX0lFCQkoMSA8PCAzKQogIwlkZWZpbmUJVURDX0VQMF9JRQkJKDEgPDwgMCkKLSNkZWZpbmUJVURDX0RNQV9JUlFfRU5fUkVHCQlVRENfUkVHKDB4MkMpCS8qIERNQSBpcnEgZW5hYmxlICovCisjZGVmaW5lCVVEQ19ETUFfSVJRX0VOCQkJKFVEQ19CQVNFICsgMHgyQykJLyogRE1BIGlycSBlbmFibGUgKi8KIAkvKiByeC90eCBkbWEgY2hhbm5lbHMgbnVtYmVyZWQgMS0zIG5vdCAwLTIgKi8KICMJZGVmaW5lCVVEQ19UWF9ET05FX0lFKG4pCSgxIDw8ICg0ICogKG4pIC0gMikpCiAjCWRlZmluZQlVRENfUlhfQ05UX0lFKG4pCSgxIDw8ICg0ICogKG4pIC0gMykpCiAjCWRlZmluZQlVRENfUlhfRU9UX0lFKG4pCSgxIDw8ICg0ICogKG4pIC0gNCkpCi0jZGVmaW5lCVVEQ19JUlFfU1JDX1JFRwkJCVVEQ19SRUcoMHgzMCkJLyogSW50ZXJydXB0IHNvdXJjZSAqLworI2RlZmluZQlVRENfSVJRX1NSQwkJCShVRENfQkFTRSArIDB4MzApCS8qIEludGVycnVwdCBzb3VyY2UgKi8KICMJZGVmaW5lCVVEQ19UWE5fRE9ORQkJKDEgPDwgMTApCiAjCWRlZmluZQlVRENfUlhOX0NOVAkJKDEgPDwgOSkKICMJZGVmaW5lCVVEQ19SWE5fRU9UCQkoMSA8PCA4KQotIwlkZWZpbmUJVURDX1NPRgkJCSgxIDw8IDcpCisjCWRlZmluZQlVRENfSVJRX1NPRgkJKDEgPDwgNykKICMJZGVmaW5lCVVEQ19FUE5fUlgJCSgxIDw8IDUpCiAjCWRlZmluZQlVRENfRVBOX1RYCQkoMSA8PCA0KQogIwlkZWZpbmUJVURDX0RTX0NIRwkJKDEgPDwgMykKQEAgLTkxLDQxICs5MCw0MSBAQAogIwlkZWZpbmUJVURDX0VQMF9SWAkJKDEgPDwgMSkKICMJZGVmaW5lCVVEQ19FUDBfVFgJCSgxIDw8IDApCiAjCWRlZmluZQlVRENfSVJRX1NSQ19NQVNLCTB4N2JmCi0jZGVmaW5lCVVEQ19FUE5fU1RBVF9SRUcJCVVEQ19SRUcoMHgzNCkJLyogRVAgaXJxIHN0YXR1cyAqLwotI2RlZmluZQlVRENfRE1BTl9TVEFUX1JFRwkJVURDX1JFRygweDM4KQkvKiBETUEgaXJxIHN0YXR1cyAqLworI2RlZmluZQlVRENfRVBOX1NUQVQJCQkoVURDX0JBU0UgKyAweDM0KQkvKiBFUCBpcnEgc3RhdHVzICovCisjZGVmaW5lCVVEQ19ETUFOX1NUQVQJCQkoVURDX0JBU0UgKyAweDM4KQkvKiBETUEgaXJxIHN0YXR1cyAqLwogIwlkZWZpbmUJVURDX0RNQV9SWF9TQgkJKDEgPDwgMTIpCiAjCWRlZmluZQlVRENfRE1BX1JYX1NSQyh4KQkoKCh4KT4+OCkgJiAweGYpCiAjCWRlZmluZQlVRENfRE1BX1RYX1NSQyh4KQkoKCh4KT4+MCkgJiAweGYpCiAKIAogLyogRE1BIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzOiAgdXAgdG8gdGhyZWUgY2hhbm5lbHMgaW4gZWFjaCBkaXJlY3Rpb24uICAqLwotI2RlZmluZQlVRENfUlhETUFfQ0ZHX1JFRwkJVURDX1JFRygweDQwKQkvKiAzIGVwcyBmb3IgUlggRE1BICovCisjZGVmaW5lCVVEQ19SWERNQV9DRkcJCQkoVURDX0JBU0UgKyAweDQwKQkvKiAzIGVwcyBmb3IgUlggRE1BICovCiAjCWRlZmluZQlVRENfRE1BX1JFUQkJKDEgPDwgMTIpCi0jZGVmaW5lCVVEQ19UWERNQV9DRkdfUkVHCQlVRENfUkVHKDB4NDQpCS8qIDMgZXBzIGZvciBUWCBETUEgKi8KLSNkZWZpbmUJVURDX0RBVEFfRE1BX1JFRwkJVURDX1JFRygweDQ4KQkvKiByeC90eCBmaWZvIGFkZHIgKi8KKyNkZWZpbmUJVURDX1RYRE1BX0NGRwkJCShVRENfQkFTRSArIDB4NDQpCS8qIDMgZXBzIGZvciBUWCBETUEgKi8KKyNkZWZpbmUJVURDX0RBVEFfRE1BCQkJKFVEQ19CQVNFICsgMHg0OCkJLyogcngvdHggZmlmbyBhZGRyICovCiAKIC8qIHJ4L3R4IGRtYSBjb250cm9sLCBudW1iZXJpbmcgY2hhbm5lbHMgMS0zIG5vdCAwLTIgKi8KLSNkZWZpbmUJVURDX1RYRE1BX1JFRyhjaGFuKQkJVURDX1JFRygweDUwIC0gNCArIDQgKiAoY2hhbikpCisjZGVmaW5lCVVEQ19UWERNQShjaGFuKQkJCShVRENfQkFTRSArIDB4NTAgLSA0ICsgNCAqIChjaGFuKSkKICMJZGVmaW5lIFVEQ19UWE5fRU9UCQkoMSA8PCAxNSkJLyogYnl0ZXMgdnMgcGFja2V0cyAqLwogIwlkZWZpbmUgVURDX1RYTl9TVEFSVAkJKDEgPDwgMTQpCS8qIHN0YXJ0IHRyYW5zZmVyICovCiAjCWRlZmluZSBVRENfVFhOX1RTQwkJMHgwM2ZmCQkvKiB1bml0cyBpbiB4ZmVyICovCi0jZGVmaW5lCVVEQ19SWERNQV9SRUcoY2hhbikJCVVEQ19SRUcoMHg2MCAtIDQgKyA0ICogKGNoYW4pKQorI2RlZmluZQlVRENfUlhETUEoY2hhbikJCQkoVURDX0JBU0UgKyAweDYwIC0gNCArIDQgKiAoY2hhbikpCiAjCWRlZmluZSBVRENfUlhOX1NUT1AJCSgxIDw8IDE1KQkvKiBlbmFibGUgRU9UIGlycSAqLwogIwlkZWZpbmUgVURDX1JYTl9UQwkJMHgwMGZmCQkvKiBwYWNrZXRzIGluIHhmZXIgKi8KIAogCiAvKgogICogRW5kcG9pbnQgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgKHVzZWQgYmVmb3JlIENGR19MT0NLIGlzIHNldCkKLSAqIFVEQ19FUF9UWF9SRUcoMCkgaXMgdW51c2VkCisgKiBVRENfRVBfVFgoMCkgaXMgdW51c2VkCiAgKi8KLSNkZWZpbmUJVURDX0VQX1JYX1JFRyhlbmRwb2ludCkJCVVEQ19SRUcoMHg4MCArIChlbmRwb2ludCkqNCkKKyNkZWZpbmUJVURDX0VQX1JYKGVuZHBvaW50KQkJKFVEQ19CQVNFICsgMHg4MCArIChlbmRwb2ludCkqNCkKICMJZGVmaW5lCVVEQ19FUE5fUlhfVkFMSUQJKDEgPDwgMTUpCiAjCWRlZmluZQlVRENfRVBOX1JYX0RCCQkoMSA8PCAxNCkKIAkvKiBidWZmZXIgc2l6ZSBpbiBiaXRzIDEzLCAxMiAqLwogIwlkZWZpbmUJVURDX0VQTl9SWF9JU08JCSgxIDw8IDExKQogCS8qIGJ1ZmZlciBwb2ludGVyIGluIGxvdyAxMSBiaXRzICovCi0jZGVmaW5lCVVEQ19FUF9UWF9SRUcoZW5kcG9pbnQpCQlVRENfUkVHKDB4YzAgKyAoZW5kcG9pbnQpKjQpCi0JLyogc2FtZSBiaXRmaWVsZHMgYXMgaW4gUlhfUkVHICovCisjZGVmaW5lCVVEQ19FUF9UWChlbmRwb2ludCkJCShVRENfQkFTRSArIDB4YzAgKyAoZW5kcG9pbnQpKjQpCisJLyogc2FtZSBiaXRmaWVsZHMgYXMgaW4gUlggKi8KIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIApAQCAtMTk1LDE0ICsxOTQsMTQgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotI2RlZmluZQlNT0RfQ09ORl9DVFJMXzBfUkVHCV9fUkVHMzIoTU9EX0NPTkZfQ1RSTF8wKQotI2RlZmluZQlWQlVTX1cyRkNfMTUxMAkJKDEgPDwgMTcpCS8qIDAgZ3BpbzAsIDEgZHZkZDIgcGluICovCisvKiBNT0RfQ09ORl9DVFJMXzAgKi8KKyNkZWZpbmUgVkJVU19XMkZDXzE1MTAJCSgxIDw8IDE3KQkvKiAwIGdwaW8wLCAxIGR2ZGQyIHBpbiAqLwogCi0jZGVmaW5lCUZVTkNfTVVYX0NUUkxfMF9SRUcJX19SRUczMihGVU5DX01VWF9DVFJMXzApCisvKiBGVU5DX01VWF9DVFJMXzAgKi8KICNkZWZpbmUJVkJVU19DVFJMXzE1MTAJCSgxIDw8IDE5KQkvKiAxIGNvbm5lY3RlZCAoc29mdHdhcmUpICovCiAjZGVmaW5lCVZCVVNfTU9ERV8xNTEwCQkoMSA8PCAxOCkJLyogMCBoYXJkd2FyZSwgMSBzb2Z0d2FyZSAqLwogCi0jZGVmaW5lCUhNQ18xNTEwCSgoTU9EX0NPTkZfQ1RSTF8wX1JFRyA+PiAxKSAmIDB4M2YpCi0jZGVmaW5lCUhNQ18xNjEwCShPVEdfU1lTQ09OXzJfUkVHICYgMHgzZikKKyNkZWZpbmUJSE1DXzE1MTAJKChvbWFwX3JlYWRsKE1PRF9DT05GX0NUUkxfMCkgPj4gMSkgJiAweDNmKQorI2RlZmluZQlITUNfMTYxMAkob21hcF9yZWFkbChPVEdfU1lTQ09OXzIpICYgMHgzZikKICNkZWZpbmUJSE1DCQkoY3B1X2lzX29tYXAxNXh4KCkgPyBITUNfMTUxMCA6IEhNQ18xNjEwKQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHJpbnRlci5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3ByaW50ZXIuYwppbmRleCA3NmJlNzVlLi5lYzhmMmViIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHJpbnRlci5jCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9wcmludGVyLmMKQEAgLTQ2Miw2ICs0NjIsNyBAQAogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwogCWludAkJCXJldCA9IC1FQlVTWTsKIAorCWxvY2tfa2VybmVsKCk7CiAJZGV2ID0gY29udGFpbmVyX29mKGlub2RlLT5pX2NkZXYsIHN0cnVjdCBwcmludGVyX2RldiwgcHJpbnRlcl9jZGV2KTsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPmxvY2ssIGZsYWdzKTsKQEAgLTQ3Nyw3ICs0NzgsNyBAQAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldi0+bG9jaywgZmxhZ3MpOwogCiAJREJHKGRldiwgInByaW50ZXJfb3BlbiByZXR1cm5lZCAleFxuIiwgcmV0KTsKLQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI1eF91ZGMuYwpzaW1pbGFyaXR5IGluZGV4IDg5JQpyZW5hbWUgZnJvbSBkcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5jCnJlbmFtZSB0byBkcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjV4X3VkYy5jCmluZGV4IDA4ZjY5OWIuLjAzMWRjZWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyeHhfdWRjLmMKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI1eF91ZGMuYwpAQCAtMSw1ICsxLDQgQEAKIC8qCi0gKiBsaW51eC9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5jCiAgKiBJbnRlbCBQWEEyNXggYW5kIElYUDR4eCBvbi1jaGlwIGZ1bGwgc3BlZWQgVVNCIGRldmljZSBjb250cm9sbGVycwogICoKICAqIENvcHlyaWdodCAoQykgMjAwMiBJbnRyaW5zeWMsIEluYy4gKEZyYW5rIEJlY2tlcikKQEAgLTQ2LDE5ICs0NSwyNSBAQAogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAKICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CiAjaW5jbHVkZSA8YXNtL2RtYS5oPgogI2luY2x1ZGUgPGFzbS9ncGlvLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL3VuYWxpZ25lZC5oPgotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCiAjaW5jbHVkZSA8bGludXgvdXNiL2NoOS5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9nYWRnZXQuaD4KIAorLyoKKyAqIFRoaXMgZHJpdmVyIGlzIFBYQTI1eCBvbmx5LiAgR3JhYiB0aGUgcmlnaHQgcmVnaXN0ZXIgZGVmaW5pdGlvbnMuCisgKi8KKyNpZmRlZiBDT05GSUdfQVJDSF9QWEEKKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyNXgtdWRjLmg+CisjZW5kaWYKKwogI2luY2x1ZGUgPGFzbS9tYWNoL3VkY19weGEyeHguaD4KIAogCkBAIC05MSw3ICs5Niw3IEBACiAjZGVmaW5lCURSSVZFUl9ERVNDCSJQWEEgMjV4IFVTQiBEZXZpY2UgQ29udHJvbGxlciBkcml2ZXIiCiAKIAotc3RhdGljIGNvbnN0IGNoYXIgZHJpdmVyX25hbWUgW10gPSAicHhhMnh4X3VkYyI7CitzdGF0aWMgY29uc3QgY2hhciBkcml2ZXJfbmFtZSBbXSA9ICJweGEyNXhfdWRjIjsKIAogc3RhdGljIGNvbnN0IGNoYXIgZXAwbmFtZSBbXSA9ICJlcDAiOwogCkBAIC0xMTEsMTAgKzExNiwxMCBAQAogCiAjZW5kaWYKIAotI2luY2x1ZGUgInB4YTJ4eF91ZGMuaCIKKyNpbmNsdWRlICJweGEyNXhfdWRjLmgiCiAKIAotI2lmZGVmCUNPTkZJR19VU0JfUFhBMlhYX1NNQUxMCisjaWZkZWYJQ09ORklHX1VTQl9QWEEyNVhfU01BTEwKICNkZWZpbmUgU0laRV9TVFIJIiAoc21hbGwpIgogI2Vsc2UKICNkZWZpbmUgU0laRV9TVFIJIiIKQEAgLTEyNiw4ICsxMzEsOCBAQAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KIAotc3RhdGljIHZvaWQgcHhhMnh4X2VwX2ZpZm9fZmx1c2ggKHN0cnVjdCB1c2JfZXAgKmVwKTsKLXN0YXRpYyB2b2lkIG51a2UgKHN0cnVjdCBweGEyeHhfZXAgKiwgaW50IHN0YXR1cyk7CitzdGF0aWMgdm9pZCBweGEyNXhfZXBfZmlmb19mbHVzaCAoc3RydWN0IHVzYl9lcCAqZXApOworc3RhdGljIHZvaWQgbnVrZSAoc3RydWN0IHB4YTI1eF9lcCAqLCBpbnQgc3RhdHVzKTsKIAogLyogb25lIEdQSU8gc2hvdWxkIGJlIHVzZWQgdG8gZGV0ZWN0IFZCVVMgZnJvbSB0aGUgaG9zdCAqLwogc3RhdGljIGludCBpc192YnVzX3ByZXNlbnQodm9pZCkKQEAgLTIxMiwyNCArMjE3LDI0IEBACiAvKgogICogZW5kcG9pbnQgZW5hYmxlL2Rpc2FibGUKICAqCi0gKiB3ZSBuZWVkIHRvIHZlcmlmeSB0aGUgZGVzY3JpcHRvcnMgdXNlZCB0byBlbmFibGUgZW5kcG9pbnRzLiAgc2luY2UgcHhhMnh4CisgKiB3ZSBuZWVkIHRvIHZlcmlmeSB0aGUgZGVzY3JpcHRvcnMgdXNlZCB0byBlbmFibGUgZW5kcG9pbnRzLiAgc2luY2UgcHhhMjV4CiAgKiBlbmRwb2ludCBjb25maWd1cmF0aW9ucyBhcmUgZml4ZWQsIGFuZCBhcmUgcHJldHR5IG11Y2ggYWx3YXlzIGVuYWJsZWQsCiAgKiB0aGVyZSdzIG5vdCBhIGxvdCB0byBtYW5hZ2UgaGVyZS4KICAqCi0gKiBiZWNhdXNlIHB4YTJ4eCBjYW4ndCBzZWxlY3RpdmVseSBpbml0aWFsaXplIGJ1bGsgKG9yIGludGVycnVwdCkgZW5kcG9pbnRzLAorICogYmVjYXVzZSBweGEyNXggY2FuJ3Qgc2VsZWN0aXZlbHkgaW5pdGlhbGl6ZSBidWxrIChvciBpbnRlcnJ1cHQpIGVuZHBvaW50cywKICAqIChyZXNldHRpbmcgZW5kcG9pbnQgaGFsdCBhbmQgdG9nZ2xlKSwgU0VUX0lOVEVSRkFDRSBpcyB1bnVzYWJsZSBleGNlcHQKICAqIGZvciBhIHNpbmdsZSBpbnRlcmZhY2UgKHdpdGggb25seSB0aGUgZGVmYXVsdCBhbHRzZXR0aW5nKSBhbmQgZm9yIGdhZGdldAogICogZHJpdmVycyB0aGF0IGRvbid0IGhhbHQgZW5kcG9pbnRzIChub3QgcmVzZXQgYnkgc2V0X2ludGVyZmFjZSkuICB0aGF0IGFsc28KICAqIG1lYW5zIHRoYXQgaWYgeW91IHVzZSBJU08sIHlvdSBtdXN0IHZpb2xhdGUgdGhlIFVTQiBzcGVjIHJ1bGUgdGhhdCBhbGwKICAqIGlzbyBlbmRwb2ludHMgbXVzdCBiZSBpbiBub24tZGVmYXVsdCBhbHRzZXR0aW5ncy4KICAqLwotc3RhdGljIGludCBweGEyeHhfZXBfZW5hYmxlIChzdHJ1Y3QgdXNiX2VwICpfZXAsCitzdGF0aWMgaW50IHB4YTI1eF9lcF9lbmFibGUgKHN0cnVjdCB1c2JfZXAgKl9lcCwKIAkJY29uc3Qgc3RydWN0IHVzYl9lbmRwb2ludF9kZXNjcmlwdG9yICpkZXNjKQogewotCXN0cnVjdCBweGEyeHhfZXAgICAgICAgICplcDsKLQlzdHJ1Y3QgcHhhMnh4X3VkYyAgICAgICAqZGV2OworCXN0cnVjdCBweGEyNXhfZXAgICAgICAgICplcDsKKwlzdHJ1Y3QgcHhhMjV4X3VkYyAgICAgICAqZGV2OwogCi0JZXAgPSBjb250YWluZXJfb2YgKF9lcCwgc3RydWN0IHB4YTJ4eF9lcCwgZXApOworCWVwID0gY29udGFpbmVyX29mIChfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAoIV9lcCB8fCAhZGVzYyB8fCBlcC0+ZGVzYyB8fCBfZXAtPm5hbWUgPT0gZXAwbmFtZQogCQkJfHwgZGVzYy0+YkRlc2NyaXB0b3JUeXBlICE9IFVTQl9EVF9FTkRQT0lOVAogCQkJfHwgZXAtPmJFbmRwb2ludEFkZHJlc3MgIT0gZGVzYy0+YkVuZHBvaW50QWRkcmVzcwpAQCAtMjY4LDcgKzI3Myw3IEBACiAJZXAtPmVwLm1heHBhY2tldCA9IGxlMTZfdG9fY3B1IChkZXNjLT53TWF4UGFja2V0U2l6ZSk7CiAKIAkvKiBmbHVzaCBmaWZvIChtb3N0bHkgZm9yIE9VVCBidWZmZXJzKSAqLwotCXB4YTJ4eF9lcF9maWZvX2ZsdXNoIChfZXApOworCXB4YTI1eF9lcF9maWZvX2ZsdXNoIChfZXApOwogCiAJLyogLi4uIHJlc2V0IGhhbHQgc3RhdGUgdG9vLCBpZiB3ZSBjb3VsZCAuLi4gKi8KIApAQCAtMjc2LDEyICsyODEsMTIgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBweGEyeHhfZXBfZGlzYWJsZSAoc3RydWN0IHVzYl9lcCAqX2VwKQorc3RhdGljIGludCBweGEyNXhfZXBfZGlzYWJsZSAoc3RydWN0IHVzYl9lcCAqX2VwKQogewotCXN0cnVjdCBweGEyeHhfZXAJKmVwOworCXN0cnVjdCBweGEyNXhfZXAJKmVwOwogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwogCi0JZXAgPSBjb250YWluZXJfb2YgKF9lcCwgc3RydWN0IHB4YTJ4eF9lcCwgZXApOworCWVwID0gY29udGFpbmVyX29mIChfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAoIV9lcCB8fCAhZXAtPmRlc2MpIHsKIAkJRE1TRygiJXMsICVzIG5vdCBlbmFibGVkXG4iLCBfX2Z1bmNfXywKIAkJCV9lcCA/IGVwLT5lcC5uYW1lIDogTlVMTCk7CkBAIC0yOTIsNyArMjk3LDcgQEAKIAludWtlIChlcCwgLUVTSFVURE9XTik7CiAKIAkvKiBmbHVzaCBmaWZvIChtb3N0bHkgZm9yIElOIGJ1ZmZlcnMpICovCi0JcHhhMnh4X2VwX2ZpZm9fZmx1c2ggKF9lcCk7CisJcHhhMjV4X2VwX2ZpZm9fZmx1c2ggKF9lcCk7CiAKIAllcC0+ZGVzYyA9IE5VTEw7CiAJZXAtPnN0b3BwZWQgPSAxOwpAQCAtMzA0LDE4ICszMDksMTggQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotLyogZm9yIHRoZSBweGEyeHgsIHRoZXNlIGNhbiBqdXN0IHdyYXAga21hbGxvYy9rZnJlZS4gIGdhZGdldCBkcml2ZXJzCisvKiBmb3IgdGhlIHB4YTI1eCwgdGhlc2UgY2FuIGp1c3Qgd3JhcCBrbWFsbG9jL2tmcmVlLiAgZ2FkZ2V0IGRyaXZlcnMKICAqIG11c3Qgc3RpbGwgcGFzcyBjb3JyZWN0bHkgaW5pdGlhbGl6ZWQgZW5kcG9pbnRzLCBzaW5jZSBvdGhlciBjb250cm9sbGVyCiAgKiBkcml2ZXJzIG1heSBjYXJlIGFib3V0IGhvdyBpdCdzIGN1cnJlbnRseSBzZXQgdXAgKGRtYSBpc3N1ZXMgZXRjKS4KICAqLwogCiAvKgotICoJcHhhMnh4X2VwX2FsbG9jX3JlcXVlc3QgLSBhbGxvY2F0ZSBhIHJlcXVlc3QgZGF0YSBzdHJ1Y3R1cmUKKyAqCXB4YTI1eF9lcF9hbGxvY19yZXF1ZXN0IC0gYWxsb2NhdGUgYSByZXF1ZXN0IGRhdGEgc3RydWN0dXJlCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgdXNiX3JlcXVlc3QgKgotcHhhMnh4X2VwX2FsbG9jX3JlcXVlc3QgKHN0cnVjdCB1c2JfZXAgKl9lcCwgZ2ZwX3QgZ2ZwX2ZsYWdzKQorcHhhMjV4X2VwX2FsbG9jX3JlcXVlc3QgKHN0cnVjdCB1c2JfZXAgKl9lcCwgZ2ZwX3QgZ2ZwX2ZsYWdzKQogewotCXN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxOworCXN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxOwogCiAJcmVxID0ga3phbGxvYyhzaXplb2YoKnJlcSksIGdmcF9mbGFncyk7CiAJaWYgKCFyZXEpCkBAIC0zMjcsMTQgKzMzMiwxNCBAQAogCiAKIC8qCi0gKglweGEyeHhfZXBfZnJlZV9yZXF1ZXN0IC0gZGVhbGxvY2F0ZSBhIHJlcXVlc3QgZGF0YSBzdHJ1Y3R1cmUKKyAqCXB4YTI1eF9lcF9mcmVlX3JlcXVlc3QgLSBkZWFsbG9jYXRlIGEgcmVxdWVzdCBkYXRhIHN0cnVjdHVyZQogICovCiBzdGF0aWMgdm9pZAotcHhhMnh4X2VwX2ZyZWVfcmVxdWVzdCAoc3RydWN0IHVzYl9lcCAqX2VwLCBzdHJ1Y3QgdXNiX3JlcXVlc3QgKl9yZXEpCitweGEyNXhfZXBfZnJlZV9yZXF1ZXN0IChzdHJ1Y3QgdXNiX2VwICpfZXAsIHN0cnVjdCB1c2JfcmVxdWVzdCAqX3JlcSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QJKnJlcTsKKwlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QJKnJlcTsKIAotCXJlcSA9IGNvbnRhaW5lcl9vZiAoX3JlcSwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0LCByZXEpOworCXJlcSA9IGNvbnRhaW5lcl9vZiAoX3JlcSwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0LCByZXEpOwogCVdBUk5fT04gKCFsaXN0X2VtcHR5ICgmcmVxLT5xdWV1ZSkpOwogCWtmcmVlKHJlcSk7CiB9CkBAIC0zNDQsNyArMzQ5LDcgQEAKIC8qCiAgKglkb25lIC0gcmV0aXJlIGEgcmVxdWVzdDsgY2FsbGVyIGJsb2NrZWQgaXJxcwogICovCi1zdGF0aWMgdm9pZCBkb25lKHN0cnVjdCBweGEyeHhfZXAgKmVwLCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QgKnJlcSwgaW50IHN0YXR1cykKK3N0YXRpYyB2b2lkIGRvbmUoc3RydWN0IHB4YTI1eF9lcCAqZXAsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxLCBpbnQgc3RhdHVzKQogewogCXVuc2lnbmVkCQlzdG9wcGVkID0gZXAtPnN0b3BwZWQ7CiAKQEAgLTM2NywxMyArMzcyLDEzIEBACiB9CiAKIAotc3RhdGljIGlubGluZSB2b2lkIGVwMF9pZGxlIChzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorc3RhdGljIGlubGluZSB2b2lkIGVwMF9pZGxlIChzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2KQogewogCWRldi0+ZXAwc3RhdGUgPSBFUDBfSURMRTsKIH0KIAogc3RhdGljIGludAotd3JpdGVfcGFja2V0KHZvbGF0aWxlIHUzMiAqdWRkciwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0ICpyZXEsIHVuc2lnbmVkIG1heCkKK3dyaXRlX3BhY2tldCh2b2xhdGlsZSB1MzIgKnVkZHIsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxLCB1bnNpZ25lZCBtYXgpCiB7CiAJdTgJCSpidWY7CiAJdW5zaWduZWQJbGVuZ3RoLCBjb3VudDsKQEAgLTM5OCw3ICs0MDMsNyBAQAogICogY2FsbGVyIGd1YXJhbnRlZXMgYXQgbGVhc3Qgb25lIHBhY2tldCBidWZmZXIgaXMgcmVhZHkgKG9yIGEgemxwKS4KICAqLwogc3RhdGljIGludAotd3JpdGVfZmlmbyAoc3RydWN0IHB4YTJ4eF9lcCAqZXAsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxKQord3JpdGVfZmlmbyAoc3RydWN0IHB4YTI1eF9lcCAqZXAsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxKQogewogCXVuc2lnbmVkCQltYXg7CiAKQEAgLTQ1NSw3ICs0NjAsNyBAQAogICogZXAwIGRhdGEgc3RhZ2UuICB0aGVzZSBjaGlwcyB3YW50IHZlcnkgc2ltcGxlIHN0YXRlIHRyYW5zaXRpb25zLgogICovCiBzdGF0aWMgaW5saW5lCi12b2lkIGVwMHN0YXJ0KHN0cnVjdCBweGEyeHhfdWRjICpkZXYsIHUzMiBmbGFncywgY29uc3QgY2hhciAqdGFnKQordm9pZCBlcDBzdGFydChzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2LCB1MzIgZmxhZ3MsIGNvbnN0IGNoYXIgKnRhZykKIHsKIAlVRENDUzAgPSBmbGFnc3xVRENDUzBfU0F8VURDQ1MwX09QUjsKIAlVU0lSMCA9IFVTSVIwX0lSMDsKQEAgLTQ2NSw3ICs0NzAsNyBAQAogfQogCiBzdGF0aWMgaW50Ci13cml0ZV9lcDBfZmlmbyAoc3RydWN0IHB4YTJ4eF9lcCAqZXAsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxKQord3JpdGVfZXAwX2ZpZm8gKHN0cnVjdCBweGEyNXhfZXAgKmVwLCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QgKnJlcSkKIHsKIAl1bnNpZ25lZAljb3VudDsKIAlpbnQJCWlzX3Nob3J0OwpAQCAtNTI1LDcgKzUzMCw3IEBACiAgKiByZXF1ZXN0IGJ1ZmZlciBoYXZpbmcgZmlsbGVkIChhbmQgbWF5YmUgb3ZlcnJhbiB0aWxsIGVuZC1vZi1wYWNrZXQpLgogICovCiBzdGF0aWMgaW50Ci1yZWFkX2ZpZm8gKHN0cnVjdCBweGEyeHhfZXAgKmVwLCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QgKnJlcSkKK3JlYWRfZmlmbyAoc3RydWN0IHB4YTI1eF9lcCAqZXAsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxKQogewogCWZvciAoOzspIHsKIAkJdTMyCQl1ZGNjczsKQEAgLTYwMiw3ICs2MDcsNyBAQAogICogcHJvdG9jb2xzIGRvIHVzZSB0aGVtLgogICovCiBzdGF0aWMgaW50Ci1yZWFkX2VwMF9maWZvIChzdHJ1Y3QgcHhhMnh4X2VwICplcCwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0ICpyZXEpCityZWFkX2VwMF9maWZvIChzdHJ1Y3QgcHhhMjV4X2VwICplcCwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0ICpyZXEpCiB7CiAJdTgJCSpidWYsIGJ5dGU7CiAJdW5zaWduZWQJYnVmZmVyc3BhY2U7CkBAIC02NDEsMjEgKzY0NiwyMSBAQAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogc3RhdGljIGludAotcHhhMnh4X2VwX3F1ZXVlKHN0cnVjdCB1c2JfZXAgKl9lcCwgc3RydWN0IHVzYl9yZXF1ZXN0ICpfcmVxLCBnZnBfdCBnZnBfZmxhZ3MpCitweGEyNXhfZXBfcXVldWUoc3RydWN0IHVzYl9lcCAqX2VwLCBzdHJ1Y3QgdXNiX3JlcXVlc3QgKl9yZXEsIGdmcF90IGdmcF9mbGFncykKIHsKLQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QJKnJlcTsKLQlzdHJ1Y3QgcHhhMnh4X2VwCSplcDsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2OworCXN0cnVjdCBweGEyNXhfcmVxdWVzdAkqcmVxOworCXN0cnVjdCBweGEyNXhfZXAJKmVwOworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXY7CiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CiAKLQlyZXEgPSBjb250YWluZXJfb2YoX3JlcSwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0LCByZXEpOworCXJlcSA9IGNvbnRhaW5lcl9vZihfcmVxLCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QsIHJlcSk7CiAJaWYgKHVubGlrZWx5ICghX3JlcSB8fCAhX3JlcS0+Y29tcGxldGUgfHwgIV9yZXEtPmJ1ZgogCQkJfHwgIWxpc3RfZW1wdHkoJnJlcS0+cXVldWUpKSkgewogCQlETVNHKCIlcywgYmFkIHBhcmFtc1xuIiwgX19mdW5jX18pOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAodW5saWtlbHkgKCFfZXAgfHwgKCFlcC0+ZGVzYyAmJiBlcC0+ZXAubmFtZSAhPSBlcDBuYW1lKSkpIHsKIAkJRE1TRygiJXMsIGJhZCBlcFxuIiwgX19mdW5jX18pOwogCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTc1MSwxNCArNzU2LDE0IEBACiAvKgogICoJbnVrZSAtIGRlcXVldWUgQUxMIHJlcXVlc3RzCiAgKi8KLXN0YXRpYyB2b2lkIG51a2Uoc3RydWN0IHB4YTJ4eF9lcCAqZXAsIGludCBzdGF0dXMpCitzdGF0aWMgdm9pZCBudWtlKHN0cnVjdCBweGEyNXhfZXAgKmVwLCBpbnQgc3RhdHVzKQogewotCXN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxOworCXN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxOwogCiAJLyogY2FsbGVkIHdpdGggaXJxcyBibG9ja2VkICovCiAJd2hpbGUgKCFsaXN0X2VtcHR5KCZlcC0+cXVldWUpKSB7CiAJCXJlcSA9IGxpc3RfZW50cnkoZXAtPnF1ZXVlLm5leHQsCi0JCQkJc3RydWN0IHB4YTJ4eF9yZXF1ZXN0LAorCQkJCXN0cnVjdCBweGEyNXhfcmVxdWVzdCwKIAkJCQlxdWV1ZSk7CiAJCWRvbmUoZXAsIHJlcSwgc3RhdHVzKTsKIAl9CkBAIC03NjgsMTMgKzc3MywxMyBAQAogCiAKIC8qIGRlcXVldWUgSlVTVCBPTkUgcmVxdWVzdCAqLwotc3RhdGljIGludCBweGEyeHhfZXBfZGVxdWV1ZShzdHJ1Y3QgdXNiX2VwICpfZXAsIHN0cnVjdCB1c2JfcmVxdWVzdCAqX3JlcSkKK3N0YXRpYyBpbnQgcHhhMjV4X2VwX2RlcXVldWUoc3RydWN0IHVzYl9lcCAqX2VwLCBzdHJ1Y3QgdXNiX3JlcXVlc3QgKl9yZXEpCiB7Ci0Jc3RydWN0IHB4YTJ4eF9lcAkqZXA7Ci0Jc3RydWN0IHB4YTJ4eF9yZXF1ZXN0CSpyZXE7CisJc3RydWN0IHB4YTI1eF9lcAkqZXA7CisJc3RydWN0IHB4YTI1eF9yZXF1ZXN0CSpyZXE7CiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CiAKLQllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAoIV9lcCB8fCBlcC0+ZXAubmFtZSA9PSBlcDBuYW1lKQogCQlyZXR1cm4gLUVJTlZBTDsKIApAQCAtNzk4LDEyICs4MDMsMTIgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotc3RhdGljIGludCBweGEyeHhfZXBfc2V0X2hhbHQoc3RydWN0IHVzYl9lcCAqX2VwLCBpbnQgdmFsdWUpCitzdGF0aWMgaW50IHB4YTI1eF9lcF9zZXRfaGFsdChzdHJ1Y3QgdXNiX2VwICpfZXAsIGludCB2YWx1ZSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X2VwCSplcDsKKwlzdHJ1Y3QgcHhhMjV4X2VwCSplcDsKIAl1bnNpZ25lZCBsb25nCQlmbGFnczsKIAotCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTJ4eF9lcCwgZXApOworCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTI1eF9lcCwgZXApOwogCWlmICh1bmxpa2VseSAoIV9lcAogCQkJfHwgKCFlcC0+ZGVzYyAmJiBlcC0+ZXAubmFtZSAhPSBlcDBuYW1lKSkKIAkJCXx8IGVwLT5ibUF0dHJpYnV0ZXMgPT0gVVNCX0VORFBPSU5UX1hGRVJfSVNPQykgewpAQCAtODUzLDExICs4NTgsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBweGEyeHhfZXBfZmlmb19zdGF0dXMoc3RydWN0IHVzYl9lcCAqX2VwKQorc3RhdGljIGludCBweGEyNXhfZXBfZmlmb19zdGF0dXMoc3RydWN0IHVzYl9lcCAqX2VwKQogewotCXN0cnVjdCBweGEyeHhfZXAgICAgICAgICplcDsKKwlzdHJ1Y3QgcHhhMjV4X2VwICAgICAgICAqZXA7CiAKLQllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAoIV9lcCkgewogCQlETVNHKCIlcywgYmFkIGVwXG4iLCBfX2Z1bmNfXyk7CiAJCXJldHVybiAtRU5PREVWOwpAQCAtODcyLDExICs4NzcsMTEgQEAKIAkJcmV0dXJuICgqZXAtPnJlZ191YmNyICYgMHhmZmYpICsgMTsKIH0KIAotc3RhdGljIHZvaWQgcHhhMnh4X2VwX2ZpZm9fZmx1c2goc3RydWN0IHVzYl9lcCAqX2VwKQorc3RhdGljIHZvaWQgcHhhMjV4X2VwX2ZpZm9fZmx1c2goc3RydWN0IHVzYl9lcCAqX2VwKQogewotCXN0cnVjdCBweGEyeHhfZXAgICAgICAgICplcDsKKwlzdHJ1Y3QgcHhhMjV4X2VwICAgICAgICAqZXA7CiAKLQllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAoIV9lcCB8fCBlcC0+ZXAubmFtZSA9PSBlcDBuYW1lIHx8ICFsaXN0X2VtcHR5KCZlcC0+cXVldWUpKSB7CiAJCURNU0coIiVzLCBiYWQgZXBcbiIsIF9fZnVuY19fKTsKIAkJcmV0dXJuOwpAQCAtODk4LDE5ICs5MDMsMTkgQEAKIH0KIAogCi1zdGF0aWMgc3RydWN0IHVzYl9lcF9vcHMgcHhhMnh4X2VwX29wcyA9IHsKLQkuZW5hYmxlCQk9IHB4YTJ4eF9lcF9lbmFibGUsCi0JLmRpc2FibGUJPSBweGEyeHhfZXBfZGlzYWJsZSwKK3N0YXRpYyBzdHJ1Y3QgdXNiX2VwX29wcyBweGEyNXhfZXBfb3BzID0geworCS5lbmFibGUJCT0gcHhhMjV4X2VwX2VuYWJsZSwKKwkuZGlzYWJsZQk9IHB4YTI1eF9lcF9kaXNhYmxlLAogCi0JLmFsbG9jX3JlcXVlc3QJPSBweGEyeHhfZXBfYWxsb2NfcmVxdWVzdCwKLQkuZnJlZV9yZXF1ZXN0CT0gcHhhMnh4X2VwX2ZyZWVfcmVxdWVzdCwKKwkuYWxsb2NfcmVxdWVzdAk9IHB4YTI1eF9lcF9hbGxvY19yZXF1ZXN0LAorCS5mcmVlX3JlcXVlc3QJPSBweGEyNXhfZXBfZnJlZV9yZXF1ZXN0LAogCi0JLnF1ZXVlCQk9IHB4YTJ4eF9lcF9xdWV1ZSwKLQkuZGVxdWV1ZQk9IHB4YTJ4eF9lcF9kZXF1ZXVlLAorCS5xdWV1ZQkJPSBweGEyNXhfZXBfcXVldWUsCisJLmRlcXVldWUJPSBweGEyNXhfZXBfZGVxdWV1ZSwKIAotCS5zZXRfaGFsdAk9IHB4YTJ4eF9lcF9zZXRfaGFsdCwKLQkuZmlmb19zdGF0dXMJPSBweGEyeHhfZXBfZmlmb19zdGF0dXMsCi0JLmZpZm9fZmx1c2gJPSBweGEyeHhfZXBfZmlmb19mbHVzaCwKKwkuc2V0X2hhbHQJPSBweGEyNXhfZXBfc2V0X2hhbHQsCisJLmZpZm9fc3RhdHVzCT0gcHhhMjV4X2VwX2ZpZm9fc3RhdHVzLAorCS5maWZvX2ZsdXNoCT0gcHhhMjV4X2VwX2ZpZm9fZmx1c2gsCiB9OwogCiAKQEAgLTkxOSwxMiArOTI0LDEyIEBACiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCi1zdGF0aWMgaW50IHB4YTJ4eF91ZGNfZ2V0X2ZyYW1lKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0KQorc3RhdGljIGludCBweGEyNXhfdWRjX2dldF9mcmFtZShzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCkKIHsKIAlyZXR1cm4gKChVRk5SSCAmIDB4MDcpIDw8IDgpIHwgKFVGTlJMICYgMHhmZik7CiB9CiAKLXN0YXRpYyBpbnQgcHhhMnh4X3VkY193YWtldXAoc3RydWN0IHVzYl9nYWRnZXQgKl9nYWRnZXQpCitzdGF0aWMgaW50IHB4YTI1eF91ZGNfd2FrZXVwKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0KQogewogCS8qIGhvc3QgbWF5IG5vdCBoYXZlIGVuYWJsZWQgcmVtb3RlIHdha2V1cCAqLwogCWlmICgoVURDQ1MwICYgVURDQ1MwX0RSV0YpID09IDApCkBAIC05MzMsMTQgKzkzOCwxNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBzdG9wX2FjdGl2aXR5KHN0cnVjdCBweGEyeHhfdWRjICosIHN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlciAqKTsKLXN0YXRpYyB2b2lkIHVkY19lbmFibGUgKHN0cnVjdCBweGEyeHhfdWRjICopOwotc3RhdGljIHZvaWQgdWRjX2Rpc2FibGUoc3RydWN0IHB4YTJ4eF91ZGMgKik7CitzdGF0aWMgdm9pZCBzdG9wX2FjdGl2aXR5KHN0cnVjdCBweGEyNXhfdWRjICosIHN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlciAqKTsKK3N0YXRpYyB2b2lkIHVkY19lbmFibGUgKHN0cnVjdCBweGEyNXhfdWRjICopOworc3RhdGljIHZvaWQgdWRjX2Rpc2FibGUoc3RydWN0IHB4YTI1eF91ZGMgKik7CiAKIC8qIFdlIGRpc2FibGUgdGhlIFVEQyAtLSBhbmQgaXRzIDQ4IE1IeiBjbG9jayAtLSB3aGVuZXZlciBpdCdzIG5vdAogICogaW4gYWN0aXZlIHVzZS4KICAqLwotc3RhdGljIGludCBwdWxsdXAoc3RydWN0IHB4YTJ4eF91ZGMgKnVkYykKK3N0YXRpYyBpbnQgcHVsbHVwKHN0cnVjdCBweGEyNXhfdWRjICp1ZGMpCiB7CiAJaW50IGlzX2FjdGl2ZSA9IHVkYy0+dmJ1cyAmJiB1ZGMtPnB1bGx1cCAmJiAhdWRjLT5zdXNwZW5kZWQ7CiAJRE1TRygiJXNcbiIsIGlzX2FjdGl2ZSA/ICJhY3RpdmUiIDogImluYWN0aXZlIik7CkBAIC05NzAsMTEgKzk3NSwxMSBAQAogfQogCiAvKiBWQlVTIHJlcG9ydGluZyBsb2dpY2FsbHkgY29tZXMgZnJvbSBhIHRyYW5zY2VpdmVyICovCi1zdGF0aWMgaW50IHB4YTJ4eF91ZGNfdmJ1c19zZXNzaW9uKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0LCBpbnQgaXNfYWN0aXZlKQorc3RhdGljIGludCBweGEyNXhfdWRjX3ZidXNfc2Vzc2lvbihzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCwgaW50IGlzX2FjdGl2ZSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqdWRjOworCXN0cnVjdCBweGEyNXhfdWRjCSp1ZGM7CiAKLQl1ZGMgPSBjb250YWluZXJfb2YoX2dhZGdldCwgc3RydWN0IHB4YTJ4eF91ZGMsIGdhZGdldCk7CisJdWRjID0gY29udGFpbmVyX29mKF9nYWRnZXQsIHN0cnVjdCBweGEyNXhfdWRjLCBnYWRnZXQpOwogCXVkYy0+dmJ1cyA9IChpc19hY3RpdmUgIT0gMCk7CiAJRE1TRygidmJ1cyAlc1xuIiwgaXNfYWN0aXZlID8gInN1cHBsaWVkIiA6ICJpbmFjdGl2ZSIpOwogCXB1bGx1cCh1ZGMpOwpAQCAtOTgyLDExICs5ODcsMTEgQEAKIH0KIAogLyogZHJpdmVycyBtYXkgaGF2ZSBzb2Z0d2FyZSBjb250cm9sIG92ZXIgRCsgcHVsbHVwICovCi1zdGF0aWMgaW50IHB4YTJ4eF91ZGNfcHVsbHVwKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0LCBpbnQgaXNfYWN0aXZlKQorc3RhdGljIGludCBweGEyNXhfdWRjX3B1bGx1cChzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCwgaW50IGlzX2FjdGl2ZSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqdWRjOworCXN0cnVjdCBweGEyNXhfdWRjCSp1ZGM7CiAKLQl1ZGMgPSBjb250YWluZXJfb2YoX2dhZGdldCwgc3RydWN0IHB4YTJ4eF91ZGMsIGdhZGdldCk7CisJdWRjID0gY29udGFpbmVyX29mKF9nYWRnZXQsIHN0cnVjdCBweGEyNXhfdWRjLCBnYWRnZXQpOwogCiAJLyogbm90IGFsbCBib2FyZHMgc3VwcG9ydCBwdWxsdXAgY29udHJvbCAqLwogCWlmICghdWRjLT5tYWNoLT5ncGlvX3B1bGx1cCAmJiAhdWRjLT5tYWNoLT51ZGNfY29tbWFuZCkKQEAgLTk5NywxMSArMTAwMiwxMSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9nYWRnZXRfb3BzIHB4YTJ4eF91ZGNfb3BzID0gewotCS5nZXRfZnJhbWUJPSBweGEyeHhfdWRjX2dldF9mcmFtZSwKLQkud2FrZXVwCQk9IHB4YTJ4eF91ZGNfd2FrZXVwLAotCS52YnVzX3Nlc3Npb24JPSBweGEyeHhfdWRjX3ZidXNfc2Vzc2lvbiwKLQkucHVsbHVwCQk9IHB4YTJ4eF91ZGNfcHVsbHVwLAorc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZ2FkZ2V0X29wcyBweGEyNXhfdWRjX29wcyA9IHsKKwkuZ2V0X2ZyYW1lCT0gcHhhMjV4X3VkY19nZXRfZnJhbWUsCisJLndha2V1cAkJPSBweGEyNXhfdWRjX3dha2V1cCwKKwkudmJ1c19zZXNzaW9uCT0gcHhhMjV4X3VkY192YnVzX3Nlc3Npb24sCisJLnB1bGx1cAkJPSBweGEyNXhfdWRjX3B1bGx1cCwKIAogCS8vIC52YnVzX2RyYXcgLi4uIGJvYXJkcyBtYXkgY29uc3VtZSBjdXJyZW50IGZyb20gVkJVUywgdXAgdG8KIAkvLyAxMDAtNTAwbUEgYmFzZWQgb24gY29uZmlnLiAgdGhlIDUwMHVBIHN1c3BlbmQgY2VpbGluZyBtZWFucwpAQCAtMTAxNSw3ICsxMDIwLDcgQEAKIHN0YXRpYyBpbnQKIHVkY19zZXFfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKl9kKQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSBtLT5wcml2YXRlOworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXYgPSBtLT5wcml2YXRlOwogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwogCWludAkJCWk7CiAJdTMyCQkJdG1wOwpAQCAtMTA3Niw4ICsxMDgxLDggQEAKIAogCS8qIGR1bXAgZW5kcG9pbnQgcXVldWVzICovCiAJZm9yIChpID0gMDsgaSA8IFBYQV9VRENfTlVNX0VORFBPSU5UUzsgaSsrKSB7Ci0JCXN0cnVjdCBweGEyeHhfZXAJKmVwID0gJmRldi0+ZXAgW2ldOwotCQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QJKnJlcTsKKwkJc3RydWN0IHB4YTI1eF9lcAkqZXAgPSAmZGV2LT5lcCBbaV07CisJCXN0cnVjdCBweGEyNXhfcmVxdWVzdAkqcmVxOwogCiAJCWlmIChpICE9IDApIHsKIAkJCWNvbnN0IHN0cnVjdCB1c2JfZW5kcG9pbnRfZGVzY3JpcHRvcgkqZGVzYzsKQEAgLTExNTAsNyArMTE1NSw3IEBACiAvKgogICoJdWRjX2Rpc2FibGUgLSBkaXNhYmxlIFVTQiBkZXZpY2UgY29udHJvbGxlcgogICovCi1zdGF0aWMgdm9pZCB1ZGNfZGlzYWJsZShzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorc3RhdGljIHZvaWQgdWRjX2Rpc2FibGUoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAkvKiBibG9jayBhbGwgaXJxcyAqLwogCXVkY19zZXRfbWFza19VRENDUihVRENDUl9TUk18VURDQ1JfUkVNKTsKQEAgLTExNzAsNyArMTE3NSw3IEBACiAvKgogICoJdWRjX3JlaW5pdCAtIGluaXRpYWxpemUgc29mdHdhcmUgc3RhdGUKICAqLwotc3RhdGljIHZvaWQgdWRjX3JlaW5pdChzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorc3RhdGljIHZvaWQgdWRjX3JlaW5pdChzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2KQogewogCXUzMglpOwogCkBAIC0xMTgxLDcgKzExODYsNyBAQAogCiAJLyogYmFzaWMgZW5kcG9pbnQgcmVjb3JkcyBpbml0ICovCiAJZm9yIChpID0gMDsgaSA8IFBYQV9VRENfTlVNX0VORFBPSU5UUzsgaSsrKSB7Ci0JCXN0cnVjdCBweGEyeHhfZXAgKmVwID0gJmRldi0+ZXBbaV07CisJCXN0cnVjdCBweGEyNXhfZXAgKmVwID0gJmRldi0+ZXBbaV07CiAKIAkJaWYgKGkgIT0gMCkKIAkJCWxpc3RfYWRkX3RhaWwgKCZlcC0+ZXAuZXBfbGlzdCwgJmRldi0+Z2FkZ2V0LmVwX2xpc3QpOwpAQCAtMTE5OCw3ICsxMjAzLDcgQEAKIC8qIHVudGlsIGl0J3MgZW5hYmxlZCwgdGhpcyBVREMgc2hvdWxkIGJlIGNvbXBsZXRlbHkgaW52aXNpYmxlCiAgKiB0byBhbnkgVVNCIGhvc3QuCiAgKi8KLXN0YXRpYyB2b2lkIHVkY19lbmFibGUgKHN0cnVjdCBweGEyeHhfdWRjICpkZXYpCitzdGF0aWMgdm9pZCB1ZGNfZW5hYmxlIChzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2KQogewogCXVkY19jbGVhcl9tYXNrX1VEQ0NSKFVEQ0NSX1VERSk7CiAKQEAgLTEyNTQsNyArMTI1OSw3IEBACiAgKi8KIGludCB1c2JfZ2FkZ2V0X3JlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIgKmRyaXZlcikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2ID0gdGhlX2NvbnRyb2xsZXI7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldiA9IHRoZV9jb250cm9sbGVyOwogCWludAkJCXJldHZhbDsKIAogCWlmICghZHJpdmVyCkBAIC0xMjk5LDcgKzEzMDQsNyBAQAogRVhQT1JUX1NZTUJPTCh1c2JfZ2FkZ2V0X3JlZ2lzdGVyX2RyaXZlcik7CiAKIHN0YXRpYyB2b2lkCi1zdG9wX2FjdGl2aXR5KHN0cnVjdCBweGEyeHhfdWRjICpkZXYsIHN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlciAqZHJpdmVyKQorc3RvcF9hY3Rpdml0eShzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2LCBzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIgKmRyaXZlcikKIHsKIAlpbnQgaTsKIApAQCAtMTMxMCw3ICsxMzE1LDcgQEAKIAogCS8qIHByZXZlbnQgbmV3IHJlcXVlc3Qgc3VibWlzc2lvbnMsIGtpbGwgYW55IG91dHN0YW5kaW5nIHJlcXVlc3RzICAqLwogCWZvciAoaSA9IDA7IGkgPCBQWEFfVURDX05VTV9FTkRQT0lOVFM7IGkrKykgewotCQlzdHJ1Y3QgcHhhMnh4X2VwICplcCA9ICZkZXYtPmVwW2ldOworCQlzdHJ1Y3QgcHhhMjV4X2VwICplcCA9ICZkZXYtPmVwW2ldOwogCiAJCWVwLT5zdG9wcGVkID0gMTsKIAkJbnVrZShlcCwgLUVTSFVURE9XTik7CkBAIC0xMzI3LDcgKzEzMzIsNyBAQAogCiBpbnQgdXNiX2dhZGdldF91bnJlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIgKmRyaXZlcikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2ID0gdGhlX2NvbnRyb2xsZXI7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldiA9IHRoZV9jb250cm9sbGVyOwogCiAJaWYgKCFkZXYpCiAJCXJldHVybiAtRU5PREVWOwpAQCAtMTM2NCw3ICsxMzY5LDcgQEAKIHN0YXRpYyBpcnFyZXR1cm5fdAogbHViYm9ja192YnVzX2lycShpbnQgaXJxLCB2b2lkICpfZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSBfZGV2OworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXYgPSBfZGV2OwogCWludAkJCXZidXM7CiAKIAlkZXYtPnN0YXRzLmlycXMrKzsKQEAgLTEzODMsNyArMTM4OCw3IEBACiAJCXJldHVybiBJUlFfTk9ORTsKIAl9CiAKLQlweGEyeHhfdWRjX3ZidXNfc2Vzc2lvbigmZGV2LT5nYWRnZXQsIHZidXMpOworCXB4YTI1eF91ZGNfdmJ1c19zZXNzaW9uKCZkZXYtPmdhZGdldCwgdmJ1cyk7CiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCkBAIC0xMzkxLDIwICsxMzk2LDIwIEBACiAKIHN0YXRpYyBpcnFyZXR1cm5fdCB1ZGNfdmJ1c19pcnEoaW50IGlycSwgdm9pZCAqX2RldikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2ID0gX2RldjsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqZGV2ID0gX2RldjsKIAlpbnQJCQl2YnVzID0gZ3Bpb19nZXRfdmFsdWUoZGV2LT5tYWNoLT5ncGlvX3ZidXMpOwogCiAJaWYgKGRldi0+bWFjaC0+Z3Bpb192YnVzX2ludmVydGVkKQogCQl2YnVzID0gIXZidXM7CiAKLQlweGEyeHhfdWRjX3ZidXNfc2Vzc2lvbigmZGV2LT5nYWRnZXQsIHZidXMpOworCXB4YTI1eF91ZGNfdmJ1c19zZXNzaW9uKCZkZXYtPmdhZGdldCwgdmJ1cyk7CiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9lcF9zdGF0ZSAoc3RydWN0IHB4YTJ4eF91ZGMgKmRldikKK3N0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9lcF9zdGF0ZSAoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAl1bnNpZ25lZCBpOwogCkBAIC0xNDE3LDcgKzE0MjIsNyBAQAogCiBzdGF0aWMgdm9pZCB1ZGNfd2F0Y2hkb2codW5zaWduZWQgbG9uZyBfZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSAodm9pZCAqKV9kZXY7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldiA9ICh2b2lkICopX2RldjsKIAogCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAJaWYgKGRldi0+ZXAwc3RhdGUgPT0gRVAwX1NUQUxMCkBAIC0xNDMwLDExICsxNDM1LDExIEBACiAJbG9jYWxfaXJxX2VuYWJsZSgpOwogfQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfZXAwIChzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorc3RhdGljIHZvaWQgaGFuZGxlX2VwMCAoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAl1MzIJCQl1ZGNjczAgPSBVRENDUzA7Ci0Jc3RydWN0IHB4YTJ4eF9lcAkqZXAgPSAmZGV2LT5lcCBbMF07Ci0Jc3RydWN0IHB4YTJ4eF9yZXF1ZXN0CSpyZXE7CisJc3RydWN0IHB4YTI1eF9lcAkqZXAgPSAmZGV2LT5lcCBbMF07CisJc3RydWN0IHB4YTI1eF9yZXF1ZXN0CSpyZXE7CiAJdW5pb24gewogCQlzdHJ1Y3QgdXNiX2N0cmxyZXF1ZXN0CXI7CiAJCXU4CQkJcmF3IFs4XTsKQEAgLTE0NDQsNyArMTQ0OSw3IEBACiAJaWYgKGxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpCiAJCXJlcSA9IE5VTEw7CiAJZWxzZQotCQlyZXEgPSBsaXN0X2VudHJ5KGVwLT5xdWV1ZS5uZXh0LCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QsIHF1ZXVlKTsKKwkJcmVxID0gbGlzdF9lbnRyeShlcC0+cXVldWUubmV4dCwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0LCBxdWV1ZSk7CiAKIAkvKiBjbGVhciBzdGFsbCBzdGF0dXMgKi8KIAlpZiAodWRjY3MwICYgVURDQ1MwX1NTVCkgewpAQCAtMTY1NCw5ICsxNjU5LDkgQEAKIAlVU0lSMCA9IFVTSVIwX0lSMDsKIH0KIAotc3RhdGljIHZvaWQgaGFuZGxlX2VwKHN0cnVjdCBweGEyeHhfZXAgKmVwKQorc3RhdGljIHZvaWQgaGFuZGxlX2VwKHN0cnVjdCBweGEyNXhfZXAgKmVwKQogewotCXN0cnVjdCBweGEyeHhfcmVxdWVzdAkqcmVxOworCXN0cnVjdCBweGEyNXhfcmVxdWVzdAkqcmVxOwogCWludAkJCWlzX2luID0gZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOOwogCWludAkJCWNvbXBsZXRlZDsKIAl1MzIJCQl1ZGNjcywgdG1wOwpAQCAtMTY2NSw3ICsxNjcwLDcgQEAKIAkJY29tcGxldGVkID0gMDsKIAkJaWYgKGxpa2VseSAoIWxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpKQogCQkJcmVxID0gbGlzdF9lbnRyeShlcC0+cXVldWUubmV4dCwKLQkJCQkJc3RydWN0IHB4YTJ4eF9yZXF1ZXN0LCBxdWV1ZSk7CisJCQkJCXN0cnVjdCBweGEyNXhfcmVxdWVzdCwgcXVldWUpOwogCQllbHNlCiAJCQlyZXEgPSBOVUxMOwogCkBAIC0xNzAyLDE2ICsxNzA3LDE2IEBACiB9CiAKIC8qCi0gKglweGEyeHhfdWRjX2lycSAtIGludGVycnVwdCBoYW5kbGVyCisgKglweGEyNXhfdWRjX2lycSAtIGludGVycnVwdCBoYW5kbGVyCiAgKgogICogYXZvaWQgZGVsYXlzIGluIGVwMCBwcm9jZXNzaW5nLiB0aGUgY29udHJvbCBoYW5kc2hha2luZyBpc24ndCBhbHdheXMKICAqIHVuZGVyIHNvZnR3YXJlIGNvbnRyb2wgKHB4YTI1MGMwIGFuZCB0aGUgcHhhMjU1IGFyZSBiZXR0ZXIpLCBhbmQgZGVsYXlzCiAgKiBjb3VsZCBjYXVzZSB1c2IgcHJvdG9jb2wgZXJyb3JzLgogICovCiBzdGF0aWMgaXJxcmV0dXJuX3QKLXB4YTJ4eF91ZGNfaXJxKGludCBpcnEsIHZvaWQgKl9kZXYpCitweGEyNXhfdWRjX2lycShpbnQgaXJxLCB2b2lkICpfZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSBfZGV2OworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXYgPSBfZGV2OwogCWludAkJCWhhbmRsZWQ7CiAKIAlkZXYtPnN0YXRzLmlycXMrKzsKQEAgLTE4MjAsOSArMTgyNSw5IEBACiAgKiBkb2luZyBpdCBhdCBydW4tdGltZSkgdG8gc2F2ZSBjb2RlLCBlbGltaW5hdGUgZmF1bHQgcGF0aHMsIGFuZAogICogYmUgbW9yZSBvYnZpb3VzbHkgY29ycmVjdC4KICAqLwotc3RhdGljIHN0cnVjdCBweGEyeHhfdWRjIG1lbW9yeSA9IHsKK3N0YXRpYyBzdHJ1Y3QgcHhhMjV4X3VkYyBtZW1vcnkgPSB7CiAJLmdhZGdldCA9IHsKLQkJLm9wcwkJPSAmcHhhMnh4X3VkY19vcHMsCisJCS5vcHMJCT0gJnB4YTI1eF91ZGNfb3BzLAogCQkuZXAwCQk9ICZtZW1vcnkuZXBbMF0uZXAsCiAJCS5uYW1lCQk9IGRyaXZlcl9uYW1lLAogCQkuZGV2ID0gewpAQCAtMTgzNSw3ICsxODQwLDcgQEAKIAkuZXBbMF0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9IGVwMG5hbWUsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBFUDBfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xODQ3LDcgKzE4NTIsNyBAQAogCS5lcFsxXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMWluLWJ1bGsiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gQlVMS19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE4NjAsNyArMTg2NSw3IEBACiAJLmVwWzJdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAyb3V0LWJ1bGsiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gQlVMS19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE4NzEsMTEgKzE4NzYsMTEgQEAKIAkJLnJlZ191YmNyCT0gJlVCQ1IyLAogCQkucmVnX3VkZHIJPSAmVUREUjIsCiAJfSwKLSNpZm5kZWYgQ09ORklHX1VTQl9QWEEyWFhfU01BTEwKKyNpZm5kZWYgQ09ORklHX1VTQl9QWEEyNVhfU01BTEwKIAkuZXBbM10gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDNpbi1pc28iLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSVNPX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTg4OCw3ICsxODkzLDcgQEAKIAkuZXBbNF0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDRvdXQtaXNvIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElTT19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5MDIsNyArMTkwNyw3IEBACiAJLmVwWzVdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXA1aW4taW50IiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElOVF9GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5MTcsNyArMTkyMiw3IEBACiAJLmVwWzZdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXA2aW4tYnVsayIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBCVUxLX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTkzMCw3ICsxOTM1LDcgQEAKIAkuZXBbN10gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDdvdXQtYnVsayIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBCVUxLX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTk0NCw3ICsxOTQ5LDcgQEAKIAkuZXBbOF0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDhpbi1pc28iLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSVNPX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTk1Nyw3ICsxOTYyLDcgQEAKIAkuZXBbOV0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDlvdXQtaXNvIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElTT19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5NzEsNyArMTk3Niw3IEBACiAJLmVwWzEwXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMTBpbi1pbnQiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSU5UX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTk4Niw3ICsxOTkxLDcgQEAKIAkuZXBbMTFdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAxMWluLWJ1bGsiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gQlVMS19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5OTksNyArMjAwNCw3IEBACiAJLmVwWzEyXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMTJvdXQtYnVsayIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBCVUxLX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMjAxMyw3ICsyMDE4LDcgQEAKIAkuZXBbMTNdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAxM2luLWlzbyIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJU09fRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0yMDI2LDcgKzIwMzEsNyBAQAogCS5lcFsxNF0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDE0b3V0LWlzbyIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJU09fRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0yMDQwLDcgKzIwNDUsNyBAQAogCS5lcFsxNV0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDE1aW4taW50IiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElOVF9GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTIwNTAsNyArMjA1NSw3IEBACiAJCS5yZWdfdWRjY3MJPSAmVURDQ1MxNSwKIAkJLnJlZ191ZGRyCT0gJlVERFIxNSwKIAl9LAotI2VuZGlmIC8qICFDT05GSUdfVVNCX1BYQTJYWF9TTUFMTCAqLworI2VuZGlmIC8qICFDT05GSUdfVVNCX1BYQTI1WF9TTUFMTCAqLwogfTsKIAogI2RlZmluZSBDUDE1UjBfVkVORE9SX01BU0sJMHhmZmZmZTAwMApAQCAtMjA5MCw5ICsyMDk1LDkgQEAKIC8qCiAgKglwcm9iZSAtIGJpbmRzIHRvIHRoZSBwbGF0Zm9ybSBkZXZpY2UKICAqLwotc3RhdGljIGludCBfX2luaXQgcHhhMnh4X3VkY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIGludCBfX2luaXQgcHhhMjV4X3VkY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjICpkZXYgPSAmbWVtb3J5OworCXN0cnVjdCBweGEyNXhfdWRjICpkZXYgPSAmbWVtb3J5OwogCWludCByZXR2YWwsIHZidXNfaXJxLCBpcnE7CiAJdTMyIGNoaXByZXY7CiAKQEAgLTIxNTUsNyArMjE2MCw3IEBACiAKIAlpZiAoZGV2LT5tYWNoLT5ncGlvX3ZidXMpIHsKIAkJaWYgKChyZXR2YWwgPSBncGlvX3JlcXVlc3QoZGV2LT5tYWNoLT5ncGlvX3ZidXMsCi0JCQkJInB4YTJ4eF91ZGMgR1BJTyBWQlVTIikpKSB7CisJCQkJInB4YTI1eF91ZGMgR1BJTyBWQlVTIikpKSB7CiAJCQlkZXZfZGJnKCZwZGV2LT5kZXYsCiAJCQkJImNhbid0IGdldCB2YnVzIGdwaW8gJWQsIGVycjogJWRcbiIsCiAJCQkJZGV2LT5tYWNoLT5ncGlvX3ZidXMsIHJldHZhbCk7CkBAIC0yMTY4LDcgKzIxNzMsNyBAQAogCiAJaWYgKGRldi0+bWFjaC0+Z3Bpb19wdWxsdXApIHsKIAkJaWYgKChyZXR2YWwgPSBncGlvX3JlcXVlc3QoZGV2LT5tYWNoLT5ncGlvX3B1bGx1cCwKLQkJCQkicGNhMnh4X3VkYyBHUElPIFBVTExVUCIpKSkgeworCQkJCSJwY2EyNXhfdWRjIEdQSU8gUFVMTFVQIikpKSB7CiAJCQlkZXZfZGJnKCZwZGV2LT5kZXYsCiAJCQkJImNhbid0IGdldCBwdWxsdXAgZ3BpbyAlZCwgZXJyOiAlZFxuIiwKIAkJCQlkZXYtPm1hY2gtPmdwaW9fcHVsbHVwLCByZXR2YWwpOwpAQCAtMjE5NCw3ICsyMTk5LDcgQEAKIAlkZXYtPnZidXMgPSBpc192YnVzX3ByZXNlbnQoKTsKIAogCS8qIGlycSBzZXR1cCBhZnRlciBvbGQgaGFyZHdhcmUgc3RhdGUgaXMgY2xlYW5lZCB1cCAqLwotCXJldHZhbCA9IHJlcXVlc3RfaXJxKGlycSwgcHhhMnh4X3VkY19pcnEsCisJcmV0dmFsID0gcmVxdWVzdF9pcnEoaXJxLCBweGEyNXhfdWRjX2lycSwKIAkJCUlSUUZfRElTQUJMRUQsIGRyaXZlcl9uYW1lLCBkZXYpOwogCWlmIChyZXR2YWwgIT0gMCkgewogCQlwcl9lcnIoIiVzOiBjYW4ndCBnZXQgaXJxICVkLCBlcnIgJWRcbiIsCkBAIC0yMjYwLDE0ICsyMjY1LDE0IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAotc3RhdGljIHZvaWQgcHhhMnh4X3VkY19zaHV0ZG93bihzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpfZGV2KQorc3RhdGljIHZvaWQgcHhhMjV4X3VkY19zaHV0ZG93bihzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpfZGV2KQogewogCXB1bGx1cF9vZmYoKTsKIH0KIAotc3RhdGljIGludCBfX2V4aXQgcHhhMnh4X3VkY19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgX19leGl0IHB4YTI1eF91ZGNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMgKmRldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBweGEyNXhfdWRjICpkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAogCWlmIChkZXYtPmRyaXZlcikKIAkJcmV0dXJuIC1FQlVTWTsKQEAgLTIzMTcsOSArMjMyMiw5IEBACiAgKiBWQlVTIElSUXMgc2hvdWxkIHByb2JhYmx5IGJlIGlnbm9yZWQgc28gdGhhdCB0aGUgUFhBIGRldmljZSBqdXN0IGFjdHMKICAqICJkZWFkIiB0byBVU0IgaG9zdHMgdW50aWwgc3lzdGVtIHJlc3VtZS4KICAqLwotc3RhdGljIGludCBweGEyeHhfdWRjX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCitzdGF0aWMgaW50IHB4YTI1eF91ZGNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqdWRjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqdWRjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJaWYgKCF1ZGMtPm1hY2gtPmdwaW9fcHVsbHVwICYmICF1ZGMtPm1hY2gtPnVkY19jb21tYW5kKQpAQCAtMjMzMyw5ICsyMzM4LDkgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBweGEyeHhfdWRjX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCitzdGF0aWMgaW50IHB4YTI1eF91ZGNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqdWRjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqdWRjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJdWRjLT5zdXNwZW5kZWQgPSAwOwpAQCAtMjM0NywyNyArMjM1MiwyNyBAQAogfQogCiAjZWxzZQotI2RlZmluZQlweGEyeHhfdWRjX3N1c3BlbmQJTlVMTAotI2RlZmluZQlweGEyeHhfdWRjX3Jlc3VtZQlOVUxMCisjZGVmaW5lCXB4YTI1eF91ZGNfc3VzcGVuZAlOVUxMCisjZGVmaW5lCXB4YTI1eF91ZGNfcmVzdW1lCU5VTEwKICNlbmRpZgogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciB1ZGNfZHJpdmVyID0gewotCS5zaHV0ZG93bgk9IHB4YTJ4eF91ZGNfc2h1dGRvd24sCi0JLnJlbW92ZQkJPSBfX2V4aXRfcChweGEyeHhfdWRjX3JlbW92ZSksCi0JLnN1c3BlbmQJPSBweGEyeHhfdWRjX3N1c3BlbmQsCi0JLnJlc3VtZQkJPSBweGEyeHhfdWRjX3Jlc3VtZSwKKwkuc2h1dGRvd24JPSBweGEyNXhfdWRjX3NodXRkb3duLAorCS5yZW1vdmUJCT0gX19leGl0X3AocHhhMjV4X3VkY19yZW1vdmUpLAorCS5zdXNwZW5kCT0gcHhhMjV4X3VkY19zdXNwZW5kLAorCS5yZXN1bWUJCT0gcHhhMjV4X3VkY19yZXN1bWUsCiAJLmRyaXZlcgkJPSB7CiAJCS5vd25lcgk9IFRISVNfTU9EVUxFLAotCQkubmFtZQk9ICJweGEyeHgtdWRjIiwKKwkJLm5hbWUJPSAicHhhMjV4LXVkYyIsCiAJfSwKIH07CiAKIHN0YXRpYyBpbnQgX19pbml0IHVkY19pbml0KHZvaWQpCiB7CiAJcHJfaW5mbygiJXM6IHZlcnNpb24gJXNcbiIsIGRyaXZlcl9uYW1lLCBEUklWRVJfVkVSU0lPTik7Ci0JcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9wcm9iZSgmdWRjX2RyaXZlciwgcHhhMnh4X3VkY19wcm9iZSk7CisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9wcm9iZSgmdWRjX2RyaXZlciwgcHhhMjV4X3VkY19wcm9iZSk7CiB9CiBtb2R1bGVfaW5pdCh1ZGNfaW5pdCk7CiAKQEAgLTIzODAsNCArMjM4NSw0IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oRFJJVkVSX0RFU0MpOwogTU9EVUxFX0FVVEhPUigiRnJhbmsgQmVja2VyLCBSb2JlcnQgU2Nod2ViZWwsIERhdmlkIEJyb3duZWxsIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7Ci1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnB4YTJ4eC11ZGMiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06cHhhMjV4LXVkYyIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuaCBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyNXhfdWRjLmgKc2ltaWxhcml0eSBpbmRleCA5MiUKcmVuYW1lIGZyb20gZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuaApyZW5hbWUgdG8gZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI1eF91ZGMuaAppbmRleCBlMmMxOWU4Li40ZDExZWNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5oCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyNXhfdWRjLmgKQEAgLTEsNiArMSw1IEBACiAvKgotICogbGludXgvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuaAotICogSW50ZWwgUFhBMnh4IG9uLWNoaXAgZnVsbCBzcGVlZCBVU0IgZGV2aWNlIGNvbnRyb2xsZXIKKyAqIEludGVsIFBYQTI1eCBvbi1jaGlwIGZ1bGwgc3BlZWQgVVNCIGRldmljZSBjb250cm9sbGVyCiAgKgogICogQ29weXJpZ2h0IChDKSAyMDAzIFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMgRGF2aWQgQnJvd25lbGwKQEAgLTIxLDE0ICsyMCwxNCBAQAogICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogICovCiAKLSNpZm5kZWYgX19MSU5VWF9VU0JfR0FER0VUX1BYQTJYWF9ICi0jZGVmaW5lIF9fTElOVVhfVVNCX0dBREdFVF9QWEEyWFhfSAorI2lmbmRlZiBfX0xJTlVYX1VTQl9HQURHRVRfUFhBMjVYX0gKKyNkZWZpbmUgX19MSU5VWF9VU0JfR0FER0VUX1BYQTI1WF9ICiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCi0vKiBweGEyeHggaGFzIHRoaXMgKG1vdmUgdG8gaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YS1yZWdzLmgpICovCisvKiBweGEyNXggaGFzIHRoaXMgKG1vdmUgdG8gaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YS1yZWdzLmgpICovCiAjZGVmaW5lIFVGTlJIX1NJUgkoMSA8PCA3KQkvKiBTT0YgaW50ZXJydXB0IHJlcXVlc3QgKi8KICNkZWZpbmUgVUZOUkhfU0lNCSgxIDw8IDYpCS8qIFNPRiBpbnRlcnJ1cHQgbWFzayAqLwogI2RlZmluZSBVRk5SSF9JUEUxNAkoMSA8PCA1KQkvKiBJU08gcGFja2V0IGVycm9yLCBlcDE0ICovCkBAIC00NSwxMSArNDQsMTEgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotc3RydWN0IHB4YTJ4eF91ZGM7CitzdHJ1Y3QgcHhhMjV4X3VkYzsKIAotc3RydWN0IHB4YTJ4eF9lcCB7CitzdHJ1Y3QgcHhhMjV4X2VwIHsKIAlzdHJ1Y3QgdXNiX2VwCQkJCWVwOwotCXN0cnVjdCBweGEyeHhfdWRjCQkJKmRldjsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkJCSpkZXY7CiAKIAljb25zdCBzdHJ1Y3QgdXNiX2VuZHBvaW50X2Rlc2NyaXB0b3IJKmRlc2M7CiAJc3RydWN0IGxpc3RfaGVhZAkJCXF1ZXVlOwpAQCAtNzIsNyArNzEsNyBAQAogCXZvbGF0aWxlIHUzMgkJCQkqcmVnX3VkZHI7CiB9OwogCi1zdHJ1Y3QgcHhhMnh4X3JlcXVlc3Qgeworc3RydWN0IHB4YTI1eF9yZXF1ZXN0IHsKIAlzdHJ1Y3QgdXNiX3JlcXVlc3QJCQlyZXE7CiAJc3RydWN0IGxpc3RfaGVhZAkJCXF1ZXVlOwogfTsKQEAgLTk4LDcgKzk3LDcgQEAKIAl1bnNpZ25lZCBsb25nCQkJaXJxczsKIH07CiAKLSNpZmRlZiBDT05GSUdfVVNCX1BYQTJYWF9TTUFMTAorI2lmZGVmIENPTkZJR19VU0JfUFhBMjVYX1NNQUxMCiAvKiB3aGVuIG1lbW9yeSdzIHRpZ2h0LCBTTUFMTCBjb25maWcgc2F2ZXMgY29kZStkYXRhLiAgKi8KICNkZWZpbmUJUFhBX1VEQ19OVU1fRU5EUE9JTlRTCTMKICNlbmRpZgpAQCAtMTA3LDcgKzEwNiw3IEBACiAjZGVmaW5lCVBYQV9VRENfTlVNX0VORFBPSU5UUwkxNgogI2VuZGlmCiAKLXN0cnVjdCBweGEyeHhfdWRjIHsKK3N0cnVjdCBweGEyNXhfdWRjIHsKIAlzdHJ1Y3QgdXNiX2dhZGdldAkJCWdhZGdldDsKIAlzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIJCSpkcml2ZXI7CiAKQEAgLTEzMCw3ICsxMjksNyBAQAogCXN0cnVjdCBjbGsJCQkJKmNsazsKIAlzdHJ1Y3QgcHhhMnh4X3VkY19tYWNoX2luZm8JCSptYWNoOwogCXU2NAkJCQkJZG1hX21hc2s7Ci0Jc3RydWN0IHB4YTJ4eF9lcAkJCWVwIFtQWEFfVURDX05VTV9FTkRQT0lOVFNdOworCXN0cnVjdCBweGEyNXhfZXAJCQllcCBbUFhBX1VEQ19OVU1fRU5EUE9JTlRTXTsKIAogI2lmZGVmIENPTkZJR19VU0JfR0FER0VUX0RFQlVHX0ZTCiAJc3RydWN0IGRlbnRyeQkJCQkqZGVidWdmc191ZGM7CkBAIC0xNDQsNyArMTQzLDcgQEAKIC8qIGx1YmJvY2sgY2FuIGFsc28gcmVwb3J0IHVzYiBjb25uZWN0L2Rpc2Nvbm5lY3QgaXJxcyAqLwogI2VuZGlmCiAKLXN0YXRpYyBzdHJ1Y3QgcHhhMnh4X3VkYyAqdGhlX2NvbnRyb2xsZXI7CitzdGF0aWMgc3RydWN0IHB4YTI1eF91ZGMgKnRoZV9jb250cm9sbGVyOwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0yMDksNyArMjA4LDcgQEAKIH0KIAogc3RhdGljIHZvaWQgX19tYXliZV91bnVzZWQKLWR1bXBfc3RhdGUoc3RydWN0IHB4YTJ4eF91ZGMgKmRldikKK2R1bXBfc3RhdGUoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAl1MzIJCXRtcDsKIAl1bnNpZ25lZAlpOwpAQCAtMjY0LDQgKzI2Myw0IEBACiAjZGVmaW5lIElORk8oc3R1ZmYuLi4pCQlwcl9pbmZvKCJ1ZGM6ICIgc3R1ZmYpCiAKIAotI2VuZGlmIC8qIF9fTElOVVhfVVNCX0dBREdFVF9QWEEyWFhfSCAqLworI2VuZGlmIC8qIF9fTElOVVhfVVNCX0dBREdFVF9QWEEyNVhfSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmMKaW5kZXggZTAyYmZkNC4uOWMwZTgyZSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5jCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL2NoOS5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9nYWRnZXQuaD4KLQorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+IC8qIEZJWE1FOiBmb3IgUFNTUiAqLwogI2luY2x1ZGUgPGFzbS9hcmNoL3VkYy5oPgogCiAjaW5jbHVkZSAicHhhMjd4X3VkYy5oIgpAQCAtMjM2MCwxOCArMjM2MCwxOSBAQAogCSAqIFNvZnR3YXJlIG11c3QgY29uZmlndXJlIHRoZSBVU0IgT1RHIHBhZCwgVURDLCBhbmQgVUhDCiAJICogdG8gdGhlIHN0YXRlIHRoZXkgd2VyZSBpbiBiZWZvcmUgZW50ZXJpbmcgc2xlZXAgbW9kZS4KIAkgKi8KLQlQU1NSIHw9IFBTU1JfT1RHUEg7CisJaWYgKGNwdV9pc19weGEyN3goKSkKKwkJUFNTUiB8PSBQU1NSX09UR1BIOwogCiAJcmV0dXJuIDA7CiB9CiAjZW5kaWYKIAogLyogd29yayB3aXRoIGhvdHBsdWcgYW5kIGNvbGRwbHVnICovCi1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnB4YTJ4eC11ZGMiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06cHhhMjd4LXVkYyIpOwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciB1ZGNfZHJpdmVyID0gewogCS5kcml2ZXIJCT0gewotCQkubmFtZQk9ICJweGEyeHgtdWRjIiwKKwkJLm5hbWUJPSAicHhhMjd4LXVkYyIsCiAJCS5vd25lcgk9IFRISVNfTU9EVUxFLAogCX0sCiAJLnJlbW92ZQkJPSBfX2V4aXRfcChweGFfdWRjX3JlbW92ZSksCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5oIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuaAppbmRleCA5NzQ1M2RiLi4xZDFiNzkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5oCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmgKQEAgLTQ4NCwxMiArNDg0LDQgQEAKICNkZWZpbmUgZXBfd2FybihlcCwgZm10LCBhcmcuLi4pIFwKIAlkZXZfd2FybihlcC0+ZGV2LT5kZXYsICIlczolczoiIGZtdCwgRVBOQU1FKGVwKSwgX19mdW5jX18sICMjIGFyZykKIAotLyoKLSAqIENhbm5vdCBpbmNsdWRlIHB4YS1yZWdzLmgsIGFzIHJlZ2lzdGVyIG5hbWVzIGFyZSBzaW1pbGFyLgotICogU28gUFNTUiBpcyByZWRlZmluZWQgaGVyZS4gVGhpcyBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIFVEQyByZWdpc3RlcnMgd2lsbAotICogYmUgZ29uZSBmcm9tIHB4YS1yZWdzLmguCi0gKi8KLSNkZWZpbmUgUFNTUgkJX19SRUcoMHg0MEYwMDAwNCkJLyogUG93ZXIgTWFuYWdlciBTbGVlcCBTdGF0dXMgKi8KLSNkZWZpbmUgUFNTUl9PVEdQSAkoMSA8PCA2KQkJLyogT1RHIFBlcmlwaGVyYWwgSG9sZCAqLwotCiAjZW5kaWYgLyogX19MSU5VWF9VU0JfR0FER0VUX1BYQTI3WF9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktYXUxeHh4LmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktYXUxeHh4LmMKaW5kZXggZjkwZmUwYy4uNjhjMTdmNSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLWF1MXh4eC5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1hdTF4eHguYwpAQCAtOCw3ICs4LDcgQEAKICAqIEJ1cyBHbHVlIGZvciBBTUQgQWxjaGVteSBBdTF4eHgKICAqCiAgKiBXcml0dGVuIGJ5IENocmlzdG9waGVyIEhvb3ZlciA8Y2hAaHBsLmhwLmNvbT4KLSAqIEJhc2VkIG9uIGZyYWdtZW50cyBvZiBwcmV2aW91cyBkcml2ZXIgYnkgUnVzZWxsIEtpbmcgZXQgYWwuCisgKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c3NlbGwgS2luZyBldCBhbC4KICAqCiAgKiBNb2RpZmllZCBmb3IgTEg3QTQwNCBmcm9tIG9oY2ktc2ExMTExLmMKICAqICBieSBEdXJnZXNoIFBhdHRhbWF0dGEgPHBhdHRhbWF0dGFkQHNoYXJwc2VjLmNvbT4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1saDdhNDA0LmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktbGg3YTQwNC5jCmluZGV4IDEzYzEyZWQuLjFlZjVkNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1saDdhNDA0LmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLWxoN2E0MDQuYwpAQCAtOCw3ICs4LDcgQEAKICAqIEJ1cyBHbHVlIGZvciBTaGFycCBMSDdBNDA0CiAgKgogICogV3JpdHRlbiBieSBDaHJpc3RvcGhlciBIb292ZXIgPGNoQGhwbC5ocC5jb20+Ci0gKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c2VsbCBLaW5nIGV0IGFsLgorICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNzZWxsIEtpbmcgZXQgYWwuCiAgKgogICogTW9kaWZpZWQgZm9yIExIN0E0MDQgZnJvbSBvaGNpLXNhMTExMS5jCiAgKiAgYnkgRHVyZ2VzaCBQYXR0YW1hdHRhIDxwYXR0YW1hdHRhZEBzaGFycHNlYy5jb20+CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktb21hcC5jIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLW9tYXAuYwppbmRleCAzYTdjMjRjLi5hMTlhNGY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktb21hcC5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1vbWFwLmMKQEAgLTE2OSwxMyArMTY5LDE2IEBACiB7CiAJY29uc3QgdW5zaWduZWQJcG9ydCA9IG9oY2lfdG9faGNkKG9oY2kpLT5zZWxmLm90Z19wb3J0IC0gMTsKIAl1bnNpZ25lZCBsb25nCWZsYWdzOworCXUzMiBsOwogCiAJb3RnX3N0YXJ0X2hucChvaGNpLT50cmFuc2NlaXZlcik7CiAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJb2hjaS0+dHJhbnNjZWl2ZXItPnN0YXRlID0gT1RHX1NUQVRFX0FfU1VTUEVORDsKIAl3cml0ZWwgKFJIX1BTX1BTUywgJm9oY2ktPnJlZ3MtPnJvb3RodWIucG9ydHN0YXR1cyBbcG9ydF0pOwotCU9UR19DVFJMX1JFRyAmPSB+T1RHX0FfQlVTUkVROworCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKKwlsICY9IH5PVEdfQV9CVVNSRVE7CisJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOwogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLXB4YTI3eC5jIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLXB4YTI3eC5jCmluZGV4IGQ0ZWUyN2QuLjEyN2IxNTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1weGEyN3guYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktcHhhMjd4LmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4gLyogRklYTUU6IGZvciBQU1NSICovCiAjaW5jbHVkZSA8YXNtL2FyY2gvb2hjaS5oPgogCiAjZGVmaW5lIFBYQV9VSENfTUFYX1BPUlROVU0gICAgMwpAQCAtMTA0LDcgKzEwNSw3IEBACiAJVUhDSElFID0gKFVIQ0hJRV9VUFJJRSB8IFVIQ0hJRV9SV0lFKTsKIAogCS8qIENsZWFyIGFueSBPVEcgUGluIEhvbGQgKi8KLQlpZiAoUFNTUiAmIFBTU1JfT1RHUEgpCisJaWYgKGNwdV9pc19weGEyN3goKSAmJiAoUFNTUiAmIFBTU1JfT1RHUEgpKQogCQlQU1NSIHw9IFBTU1JfT1RHUEg7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zM2MyNDEwLmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktczNjMjQxMC5jCmluZGV4IGVhZDQ3NzIuLjNjN2E3NDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zM2MyNDEwLmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLXMzYzI0MTAuYwpAQCAtOCw3ICs4LDcgQEAKICAqIFVTQiBCdXMgR2x1ZSBmb3IgU2Ftc3VuZyBTM0MyNDEwCiAgKgogICogV3JpdHRlbiBieSBDaHJpc3RvcGhlciBIb292ZXIgPGNoQGhwbC5ocC5jb20+Ci0gKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c2VsbCBLaW5nIGV0IGFsLgorICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNzZWxsIEtpbmcgZXQgYWwuCiAgKgogICogTW9kaWZpZWQgZm9yIFMzQzI0MTAgZnJvbSBvaGNpLXNhMTExMS5jLCBvaGNpLW9tYXAuYyBhbmQgb2hjaS1saDdhNDAuYwogICoJYnkgQmVuIERvb2tzLCA8YmVuQHNpbXRlYy5jby51az4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zYTExMTEuYyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zYTExMTEuYwppbmRleCAwZjQ4ZjJkLi4yZTlkY2ViIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktc2ExMTExLmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLXNhMTExMS5jCkBAIC04LDcgKzgsNyBAQAogICogU0ExMTExIEJ1cyBHbHVlCiAgKgogICogV3JpdHRlbiBieSBDaHJpc3RvcGhlciBIb292ZXIgPGNoQGhwbC5ocC5jb20+Ci0gKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c2VsbCBLaW5nIGV0IGFsLgorICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNzZWxsIEtpbmcgZXQgYWwuCiAgKgogICogVGhpcyBmaWxlIGlzIGxpY2VuY2VkIHVuZGVyIHRoZSBHUEwuCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvZW1pMjYuYyBiL2RyaXZlcnMvdXNiL21pc2MvZW1pMjYuYwppbmRleCA0YjlkYzgxLi40Yjk5NGEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9taXNjL2VtaTI2LmMKKysrIGIvZHJpdmVycy91c2IvbWlzYy9lbWkyNi5jCkBAIC0xNiwxOCArMTYsOCBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotCi0jZGVmaW5lIE1BWF9JTlRFTF9IRVhfUkVDT1JEX0xFTkdUSCAxNgotdHlwZWRlZiBzdHJ1Y3QgX0lOVEVMX0hFWF9SRUNPUkQKLXsKLQlfX3UzMglsZW5ndGg7Ci0JX191MzIJYWRkcmVzczsKLQlfX3UzMgl0eXBlOwotCV9fdTgJZGF0YVtNQVhfSU5URUxfSEVYX1JFQ09SRF9MRU5HVEhdOwotfSBJTlRFTF9IRVhfUkVDT1JELCAqUElOVEVMX0hFWF9SRUNPUkQ7Ci0KLS8qIGluY2x1ZGUgZmlybXdhcmUgKHZhcmlhYmxlcykgKi8KLSNpbmNsdWRlICJlbWkyNl9mdy5oIgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogCiAjZGVmaW5lIEVNSTI2X1ZFTkRPUl9JRCAJCTB4MDg2YSAgLyogRW1hZ2ljIFNvZnQtdW5kIEhhcmR3YXJlIEdtQkggKi8KICNkZWZpbmUgRU1JMjZfUFJPRFVDVF9JRAkJMHgwMTAwCS8qIEVNSSAyfDYgd2l0aG91dCBmaXJtd2FyZSAqLwpAQCAtNDAsNyArMzAsOSBAQAogI2RlZmluZSBDUFVDU19SRUcJCTB4N0Y5MiAgLyogRVotVVNCIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3Rlci4gIEJpdCAwIGNvbnRyb2xzIDgwNTEgcmVzZXQgKi8gCiAjZGVmaW5lIElOVEVSTkFMX1JBTShhZGRyZXNzKSAgIChhZGRyZXNzIDw9IE1BWF9JTlRFUk5BTF9BRERSRVNTKQogCi1zdGF0aWMgaW50IGVtaTI2X3dyaXRlbWVtb3J5KCBzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwgX191OCBiUmVxdWVzdCk7CitzdGF0aWMgaW50IGVtaTI2X3dyaXRlbWVtb3J5KCBzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywKKwkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsCisJCQkgICAgICBfX3U4IGJSZXF1ZXN0KTsKIHN0YXRpYyBpbnQgZW1pMjZfc2V0X3Jlc2V0KHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIHVuc2lnbmVkIGNoYXIgcmVzZXRfYml0KTsKIHN0YXRpYyBpbnQgZW1pMjZfbG9hZF9maXJtd2FyZSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldik7CiBzdGF0aWMgaW50IGVtaTI2X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpOwpAQCAtNTAsNyArNDIsOSBAQAogCiAKIC8qIHRoYW5rcyB0byBkcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuYyBjb2RlICovCi1zdGF0aWMgaW50IGVtaTI2X3dyaXRlbWVtb3J5IChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwgX191OCByZXF1ZXN0KQorc3RhdGljIGludCBlbWkyNl93cml0ZW1lbW9yeSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsCisJCQkgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLAorCQkJICAgICAgX191OCByZXF1ZXN0KQogewogCWludCByZXN1bHQ7CiAJdW5zaWduZWQgY2hhciAqYnVmZmVyID0gIGttZW1kdXAoZGF0YSwgbGVuZ3RoLCBHRlBfS0VSTkVMKTsKQEAgLTgzLDkgKzc3LDEyIEBACiAKIHN0YXRpYyBpbnQgZW1pMjZfbG9hZF9maXJtd2FyZSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldikKIHsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmxvYWRlcl9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpiaXRzdHJlYW1fZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmVfZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOwogCWludCBlcnI7CiAJaW50IGk7Ci0JaW50IHBvcyA9IDA7CS8qIFBvc2l0aW9uIGluIGhleCByZWNvcmQgKi8KIAlfX3UzMiBhZGRyOwkvKiBBZGRyZXNzIHRvIHdyaXRlICovCiAJX191OCAqYnVmOwogCkBAIC05Niw2ICs5MywyMyBAQAogCQlnb3RvIHdyYXBlcnI7CiAJfQogCisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZsb2FkZXJfZncsICJlbWkyNi9sb2FkZXIuZnciLCAmZGV2LT5kZXYpOworCWlmIChlcnIpCisJCWdvdG8gbm9mdzsKKworCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmYml0c3RyZWFtX2Z3LCAiZW1pMjYvYml0c3RyZWFtLmZ3IiwKKwkJCQkgICAgJmRldi0+ZGV2KTsKKwlpZiAoZXJyKQorCQlnb3RvIG5vZnc7CisKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZpcm13YXJlX2Z3LCAiZW1pMjYvZmlybXdhcmUuZnciLAorCQkJCSAgICAmZGV2LT5kZXYpOworCWlmIChlcnIpIHsKKwlub2Z3OgorCQllcnIoICIlcyAtIHJlcXVlc3RfZmlybXdhcmUoKSBmYWlsZWQiLCBfX2Z1bmNfXyk7CisJCWdvdG8gd3JhcGVycjsKKwl9CisKIAkvKiBBc3NlcnQgcmVzZXQgKHN0b3AgdGhlIENQVSBpbiB0aGUgRU1JKSAqLwogCWVyciA9IGVtaTI2X3NldF9yZXNldChkZXYsMSk7CiAJaWYgKGVyciA8IDApIHsKQEAgLTEwMywxMyArMTE3LDE3IEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopbG9hZGVyX2Z3LT5kYXRhOwogCS8qIDEuIFdlIG5lZWQgdG8gcHV0IHRoZSBsb2FkZXIgZm9yIHRoZSBGUEdBIGludG8gdGhlIEVaLVVTQiAqLwotCWZvciAoaT0wOyBnX0xvYWRlcltpXS50eXBlID09IDA7IGkrKykgewotCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGdfTG9hZGVyW2ldLmFkZHJlc3MsIGdfTG9hZGVyW2ldLmRhdGEsIGdfTG9hZGVyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfSU5URVJOQUwpOworCXdoaWxlIChyZWMpIHsKKwkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJQU5DSE9SX0xPQURfSU5URVJOQUwpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCWdvdG8gd3JhcGVycjsKIAkJfQorCQlyZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7CiAJfQogCiAJLyogRGUtYXNzZXJ0IHJlc2V0IChsZXQgdGhlIENQVSBydW4pICovCkBAIC0xMjMsMTUgKzE0MSwxNiBAQAogCS8qIDIuIFdlIHVwbG9hZCB0aGUgRlBHQSBmaXJtd2FyZSBpbnRvIHRoZSBFTUkKIAkgKiBOb3RlOiBjb2xsZWN0IHVwIHRvIDEwMjMgKHllcyEpIGJ5dGVzIGFuZCBzZW5kIHRoZW0gd2l0aAogCSAqIGEgc2luZ2xlIHJlcXVlc3QuIFRoaXMgaXMgX211Y2hfIGZhc3RlciEgKi8KKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopYml0c3RyZWFtX2Z3LT5kYXRhOwogCWRvIHsKIAkJaSA9IDA7Ci0JCWFkZHIgPSBnX2JpdHN0cmVhbVtwb3NdLmFkZHJlc3M7CisJCWFkZHIgPSBiZTMyX3RvX2NwdShyZWMtPmFkZHIpOwogCiAJCS8qIGludGVsIGhleCByZWNvcmRzIGFyZSB0ZXJtaW5hdGVkIHdpdGggdHlwZSAwIGVsZW1lbnQgKi8KLQkJd2hpbGUgKChnX2JpdHN0cmVhbVtwb3NdLnR5cGUgPT0gMCkgJiYgKGkgKyBnX2JpdHN0cmVhbVtwb3NdLmxlbmd0aCA8IEZXX0xPQURfU0laRSkpIHsKLQkJCW1lbWNweShidWYgKyBpLCBnX2JpdHN0cmVhbVtwb3NdLmRhdGEsIGdfYml0c3RyZWFtW3Bvc10ubGVuZ3RoKTsKLQkJCWkgKz0gZ19iaXRzdHJlYW1bcG9zXS5sZW5ndGg7Ci0JCQlwb3MrKzsKKwkJd2hpbGUgKHJlYyAmJiAoaSArIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSA8IEZXX0xPQURfU0laRSkpIHsKKwkJCW1lbWNweShidWYgKyBpLCByZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CisJCQlpICs9IGJlMTZfdG9fY3B1KHJlYy0+bGVuKTsKKwkJCXJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsKIAkJfQogCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGFkZHIsIGJ1ZiwgaSwgQU5DSE9SX0xPQURfRlBHQSk7CiAJCWlmIChlcnIgPCAwKSB7CkBAIC0xNDgsOCArMTY3LDExIEBACiAJfQogCiAJLyogMy4gV2UgbmVlZCB0byBwdXQgdGhlIGxvYWRlciBmb3IgdGhlIGZpcm13YXJlIGludG8gdGhlIEVaLVVTQiAoYWdhaW4uLi4pICovCi0JZm9yIChpPTA7IGdfTG9hZGVyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgZ19Mb2FkZXJbaV0uYWRkcmVzcywgZ19Mb2FkZXJbaV0uZGF0YSwgZ19Mb2FkZXJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopbG9hZGVyX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJQU5DSE9SX0xPQURfSU5URVJOQUwpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCWdvdG8gd3JhcGVycjsKQEAgLTE2NSw5ICsxODcsMTMgQEAKIAl9CiAKIAkvKiA0LiBXZSBwdXQgdGhlIHBhcnQgb2YgdGhlIGZpcm13YXJlIHRoYXQgbGllcyBpbiB0aGUgZXh0ZXJuYWwgUkFNIGludG8gdGhlIEVaLVVTQiAqLwotCWZvciAoaT0wOyBnX0Zpcm13YXJlW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmICghSU5URVJOQUxfUkFNKGdfRmlybXdhcmVbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgZ19GaXJtd2FyZVtpXS5hZGRyZXNzLCBnX0Zpcm13YXJlW2ldLmRhdGEsIGdfRmlybXdhcmVbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9FWFRFUk5BTCk7CisKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwkgICAgIHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWlmICghSU5URVJOQUxfUkFNKGJlMzJfdG9fY3B1KHJlYy0+YWRkcikpKSB7CisJCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJCUFOQ0hPUl9MT0FEX0VYVEVSTkFMKTsKIAkJCWlmIChlcnIgPCAwKSB7CiAJCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCQlnb3RvIHdyYXBlcnI7CkBAIC0xODIsOSArMjA4LDEyIEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKLQlmb3IgKGk9MDsgZ19GaXJtd2FyZVtpXS50eXBlID09IDA7IGkrKykgewotCQlpZiAoSU5URVJOQUxfUkFNKGdfRmlybXdhcmVbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgZ19GaXJtd2FyZVtpXS5hZGRyZXNzLCBnX0Zpcm13YXJlW2ldLmRhdGEsIGdfRmlybXdhcmVbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZmlybXdhcmVfZnctPmRhdGE7CisJICAgICByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQlpZiAoSU5URVJOQUxfUkFNKGJlMzJfdG9fY3B1KHJlYy0+YWRkcikpKSB7CisJCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJCUFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKIAkJCWlmIChlcnIgPCAwKSB7CiAJCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCQlnb3RvIHdyYXBlcnI7CkBAIC0yMDUsNiArMjM0LDEwIEBACiAJZXJyID0gMTsKIAogd3JhcGVycjoKKwlyZWxlYXNlX2Zpcm13YXJlKGxvYWRlcl9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShiaXRzdHJlYW1fZncpOworCXJlbGVhc2VfZmlybXdhcmUoZmlybXdhcmVfZncpOworCiAJa2ZyZWUoYnVmKTsKIAlyZXR1cm4gZXJyOwogfQpAQCAtMjU3LDUgKzI5MCw4IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oIkVtYWdpYyBFTUkgMnw2IGZpcm13YXJlIGxvYWRlci4iKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAorTU9EVUxFX0ZJUk1XQVJFKCJlbWkyNi9sb2FkZXIuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZW1pMjYvYml0c3RyZWFtLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImVtaTI2L2Zpcm13YXJlLmZ3Iik7CiAvKiB2aTphaTpzeW50YXg9Yzpzdz04OnRzPTg6dHc9ODAKICAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9lbWkyNl9mdy5oIGIvZHJpdmVycy91c2IvbWlzYy9lbWkyNl9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDdmZjEwLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL21pc2MvZW1pMjZfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDU3NzkgKzAsMCBAQAotLyoKLSAqIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgZnJvbSB0aHJlZSBkaWZmZXJlbnQgZmlsZXMsIHByb3ZpZGVkIGJ5IEVtYWdpYy4KLSAqLwotLyogZ2VuZXJhdGVkIEZyaSBNYXIgOCAxNToxMTozNSBFRVQgMjAwMiAqLwotCi0vKgotICogVGhpcyBmaXJtd2FyZSBpcyBmb3IgdGhlIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZQotICoKLSAqIFRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIEVtYWdpYwotICogYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkCi0gKiBvciBwdWJsaWMgYWNjZXNzIHRvIHRoaXMgZmlybXdhcmUgd2hpY2ggaXMgYSB0cmFkZSBzZWNyZXQgb2YgRW1hZ2ljLAotICogYW5kIHdoaWNoIG1heSBub3QgYmUgcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0bwotICogYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgRW1hZ2ljJ3Mgd3JpdHRlbiBjb25zZW50LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLSAqIGltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLSAqIGluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotICoKLSAqIFRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIHRoZQotICogRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlLiBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZgotICogYW55IGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiBwYXJ0LAotICogcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4KLSAqLwotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19iaXRzdHJlYW1bXT17Ci17ICAxNiwgMHg4MDEwLCAwLCB7MHhmZiwweGZmLDB4ZmYsMHhmZiwweGFhLDB4OTksMHg1NSwweDY2LDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwNyB9IH0sCi17ICAxNiwgMHg4MDIwLCAwLCB7MHgzMCwweDAxLDB4NjAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDBiLDB4MzAsMHgwMSwweDIwLDB4MDEsMHgwMCwweDgwLDB4M2YsMHgyZCB9IH0sCi17ICAxNiwgMHg4MDMwLCAwLCB7MHgzMCwweDAwLDB4YzAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSB9IH0sCi17ICAxNiwgMHg4MDQwLCAwLCB7MHgzMCwweDAwLDB4MjAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMSB9IH0sCi17ICAxNiwgMHg4MDUwLCAwLCB7MHgzMCwweDAwLDB4NDAsMHgwMCwweDUwLDB4MDAsMHgzZSwweDA0LDB4MDgsMHgxMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MDgwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg4NCB9IH0sCi17ICAxNiwgMHg4MGIwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGUwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTEwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MTQwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTcwLCAwLCB7MHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NCB9IH0sCi17ICAxNiwgMHg4MWEwLCAwLCB7MHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZjcsMHgxMCwweDAxLDB4MTQsMHgwMCwweDI1LDB4MDAsMHgwNSB9IH0sCi17ICAxNiwgMHg4MWIwLCAwLCB7MHg0MCwweDAxLDB4NTAsMHgwMCwweDk0LDB4MDAsMHgxNSwweDAwLDB4MDcsMHg0MCwweDAxLDB4ZDAsMHgwMCwweDk0LDB4MDAsMHgyNSB9IH0sCi17ICAxNiwgMHg4MWMwLCAwLCB7MHg4MCwweDAxLDB4NjAsMHgwMiwweGQ4LDB4MDAsMHhmNiwweDAwLDB4MmYsMHg4MCwweDAyLDB4ZTAsMHgwNCwweGQ4LDB4MzcsMHg0NCB9IH0sCi17ICAxNiwgMHg4MWQwLCAwLCB7MHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYyLDB4MDAsMHhjYywweDkwLDB4MzksMHgyMCB9IH0sCi17ICAxNiwgMHg4MWUwLCAwLCB7MHgwZCwweDk4LDB4MDMsMHhkMiwweDAwLDB4ZTcsMHg4MCwweDM3LDB4MDQsMHgwZSwweGYxLDB4ODMsMHg3ZSwweDAwLDB4ZGYsMHg5MCB9IH0sCi17ICAxNiwgMHg4MWYwLCAwLCB7MHgzMSwweGU0LDB4OGYsMHg3OSwweDAzLDB4N2MsMHgyMCwweGRmLDB4MjIsMHgzMywweGMwLDB4MGMsMHhmMCwweDIyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDYyLDB4MDAsMHg4MCwweDI0LDB4MjIsMHgyMCB9IH0sCi17ICAxNiwgMHg4MjEwLCAwLCB7MHgwOCwweDk4LDB4MTIsMHhlMiwweDAwLDB4OGIsMHg4MSwweDIwLDB4OTQsMHgwOCwweDc0LDB4MDIsMHgyZSwweDAwLDB4OGEsMHgwMSB9IH0sCi17ICAxNiwgMHg4MjIwLCAwLCB7MHgyMiwweGM4LDB4MDgsMHg5MiwweDAyLDB4M2QsMHg4MCwweDhiLDB4NjAsMHgyMiwweDgwLDB4MDgsMHhiMCwweDAyLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM4LDB4MDAsMHhhMCwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjQwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhjMCwweDAwLDB4YTEsMHgwMCwweDI0LDB4MDksMHg0YSwweDMyLDB4MDIsMHg0OCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjUwLCAwLCB7MHg2MiwweGMwLDB4MDksMHhhMCwweDQ2LDB4Y2MsMHgyNCwweDkzLDB4NDksMHgyYSwweDgwLDB4NDgsMHgzMCwweDIyLDB4NjIsMHgwMSB9IH0sCi17ICAxNiwgMHg4MjYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE4LDB4MTIsMHhhOCwweDAwLDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjcwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHhlMCwweDAwLDB4ODksMHg4MCwweDIyLDB4NDQsMHgwOCwweGIwLDB4MTIsMHhhOCwweDAwLDB4YTksMHg0MCB9IH0sCi17ICAxNiwgMHg4MjgwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHg5MCwweDgyLDB4YWMsMHgwMCwweDliLDB4MDQsMHgyYSwweGM0LDB4MDgsMHhiMCwweDAyLDB4NzAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNCwweDg0LDB4MDAsMHhlOSwweDgwLDB4YjIsMHg2NCB9IH0sCi17ICAxNiwgMHg4MmEwLCAwLCB7MHg0ZCwweGEwLDB4MDMsMHhlYSwweDIwLDB4ZTksMHhjMCwweDM2LDB4NDAsMHgwZSwweGIwLDB4MDMsMHg0NCwweDAwLDB4ZmIsMHg5MCB9IH0sCi17ICAxNiwgMHg4MmIwLCAwLCB7MHhiMiwweDg4LDB4MGQsMHhiYywweDAzLDB4ZWMsMHgwOCwweDViLDB4MDAsMHgzOCwweDYwLDB4MmMsMHhiMCwweDYzLDB4NDAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI0LDB4MjYsMHhkZCwweDkwLDB4MzcsMHg0MCB9IH0sCi17ICAxNiwgMHg4MmQwLCAwLCB7MHg0ZiwweGUwLDB4MTMsMHhmMiwweDgwLDB4ZmQsMHgwMCwweDNkLDB4YTAsMHgwZCwweDcwLDB4MDMsMHg3NSwweDAwLDB4NWUsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmUwLCAwLCB7MHgzZiwweGE0LDB4MGQsMHhmOSwweDAzLDB4NWMsMHgxMCwweGViLDB4MDAsMHgzNywweDIwLDB4MGYsMHgzMCwweDAzLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhlOSwweDgwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHg4MzAwLCAwLCB7MHgwYywweGExLDB4ODMsMHhlOCwweDAwLDB4ZTksMHgwMCwweDMyLDB4NDIsMHgwZSwweGIwLDB4MDMsMHhhYywweDQ4LDB4ZTksMHgwMCB9IH0sCi17ICAxNiwgMHg4MzEwLCAwLCB7MHgzYSwweDgwLDB4MGUsMHhhNCwweDAzLDB4ZWMsMHgwMCwweGViLDB4MDAsMHhiMiwweDAzLDB4MGUsMHhiMCwweDBiLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MzIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJlLDB4ODAsMHg4OSwweGQxLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg4MzMwLCAwLCB7MHgwOCwweGEwLDB4MDIsMHhjMCwweDAwLDB4ODEsMHg4MCwweDIyLDB4NTgsMHgwOCwweGY1LDB4MDIsMHgyZiwweDQwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzQwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgzMCwweDQzLDB4N2MsMHgwMCwweDg3LDB4MDAsMHgyMiwweDQwLDB4MDgsMHhmMCwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQyLDB4MDEsMHg5YSwweDQ0LDB4MjgsMHhhMiB9IH0sCi17ICAxNiwgMHg4MzYwLCAwLCB7MHgwOCwweDE4LDB4MDIsMHhjMCwweDgwLDB4YTEsMHg4MCwweGEwLDB4MDAsMHgwOCwweDMwLDB4MDIsMHg4ZSwweDAwLDB4YWIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzcwLCAwLCB7MHgyYywweDQwLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyMCwweDQ0LDB4MGEsMHgzMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMSwweDMyLDB4MDAsMHg5NiwweDgyLDB4MmIsMHhhMiB9IH0sCi17ICAxNiwgMHg4MzkwLCAwLCB7MHg4OCwweDVhLDB4MDIsMHhmMiwweDAwLDB4MDUsMHg4MCwweDI5LDB4YTAsMHgwOCwweDc4LDB4NDIsMHhiZSwweDAwLDB4OGUsMHg4NCB9IH0sCi17ICAxNiwgMHg4M2EwLCAwLCB7MHgyZiwweDYxLDB4MGEsMHhkOCwweDAyLDB4NGUsMHgxMCwweGE3LDB4ODAsMHgyMCwweDI4LDB4MDgsMHg3OCwweDAyLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2IwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDAsMHhmMiwweDI0LDB4MzgsMHg4MCB9IH0sCi17ICAxNiwgMHg4M2MwLCAwLCB7MHgyYywweDFhLDB4MDMsMHhjNCwweDAwLDB4ZTAsMHg1OCwweGEwLDB4ODAsMHgyZSwweDMwLDB4MDMsMHg4OCwweDQxLDB4ZTMsMHgwMiB9IH0sCi17ICAxNiwgMHg4M2QwLCAwLCB7MHgzYywweDQwLDB4MDYsMHgyMCwweDAzLDB4OGMsMHgwMCwweGUzLDB4MDAsMHgxMCwweDAwLDB4MGUsMHgzMSwweDQzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHg4M2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweDk4LDB4MDAsMHhlZSwweDAxLDB4MzcsMHg4NCB9IH0sCi17ICAxNiwgMHg4M2YwLCAwLCB7MHg5ZiwweGQ5LDB4MDMsMHhmMCwweDQ4LDB4ZmQsMHgxMCwweDM3LDB4YzAsMHgwNywweGIwLDB4MDMsMHg1YywweDAwLDB4ZjYsMHgxMCB9IH0sCi17ICAxNiwgMHg4NDAwLCAwLCB7MHgzMywweGMwLDB4MGQsMHhlMSwweDAzLDB4ZWQsMHgyMCwweGRmLDB4MTAsMHgzZiwweDQ4LDB4MGYsMHhmMCwweDIzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg4NDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDIsMHhjYiwweDgwLDB4MzAsMHhjMCB9IH0sCi17ICAxNiwgMHg4NDIwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlMiwweDAyLDB4YzksMHgwMCwweDNhLDB4NDAsMHgwZCwweGI2LDB4MDMsMHg2NCwweDAwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDMwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZWQsMHgwMCwweGZiLDB4MDEsMHgzZSwweGUwLDB4MGMsMHhiMCwweDAyLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDk0LDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg4NDUwLCAwLCB7MHgyOCwweDYwLDB4MDIsMHhkMCwweDAwLDB4ODUsMHgwMCwweDJkLDB4ODAsMHg0OCwweGYwLDB4ODIsMHgxYywweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDYwLCAwLCB7MHgyZCwweDAwLDB4MGIsMHg1MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4YTAsMHgyZiwweDgwLDB4MjgsMHg3YSwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg4NDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzEsMHgwMCwweGJlLDB4MDAsMHg4NywweDgwLDB4MjEsMHhlMCB9IH0sCi17ICAxNiwgMHg4NDgwLCAwLCB7MHgyOCwweDY4LDB4MDIsMHhkNywweDAwLDB4ODQsMHg4MCwweDJkLDB4ZTAsMHg0OSwweDc5LDB4MDYsMHg1MywweDA5LDB4YjUsMHg4MCB9IH0sCi17ICAxNiwgMHg4NDkwLCAwLCB7MHgyZCwweGUyLDB4MGIsMHg3OCwweDAyLDB4ZGUsMHg4MCwweGI3LDB4OTAsMHgyZCwweGIwLDB4MDgsMHg3OSwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MTAsMHg4MywweDAxLDB4MjgsMHhjOCB9IH0sCi17ICAxNiwgMHg4NGIwLCAwLCB7MHgwOCwweDIwLDB4MDIsMHhjMiwweDA2LDB4ODEsMHgwMCwweDJjLDB4YzgsMHg4OCwweDMwLDB4NjIsMHgwZSwweDIxLDB4YjMsMHhhMCB9IH0sCi17ICAxNiwgMHg4NGMwLCAwLCB7MHgyYywweGMxLDB4MGIsMHhiNiwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGUwLDB4MDgsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg4NGQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhjYSwweDQwLDB4YjAsMHg4MCB9IH0sCi17ICAxNiwgMHg4NGUwLCAwLCB7MHgwYywweDJjLDB4MDIsMHhmOCwweDAwLDB4YzYsMHgyMCwweDNmLDB4OTAsMHgwZCwweGEwLDB4MDMsMHg3YiwweDAxLDB4ZWUsMHhlMCB9IH0sCi17ICAxNiwgMHg4NGYwLCAwLCB7MHgzZiwweGI0LDB4MGYsMHhlYywweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzZiwweGEwLDB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHg4NTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUzLDB4MDAsMHhmOCwweDA5LDB4MjYsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTEwLCAwLCB7MHgwZiwweGMxLDB4ODMsMHhlMCwweDEwLDB4ZjgsMHg0MCwweDNjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAxLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTIwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwNCwweGY4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4NTQwLCAwLCB7MHg0ZiwweDkwLDB4NjMsMHgyNiwweDg0LDB4MzksMHgwMiwweGIyLDB4NDAsMHgwYywweDkxLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg4NTUwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGYxLDB4MDAsMHgzYSwweDQ0LDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHg4NTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDQ1LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHg4NTcwLCAwLCB7MHgwOCwweDkyLDB4MGEsMHgyNCwweDAwLDB4YjksMHgzMSwweDIyLDB4NjAsMHg4OCwweDk0LDB4OGEsMHgyNCwweDIwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg4NTgwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDY4LDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4YTAsMHg4ZCwweDg0LDB4MmYsMHg0MCB9IH0sCi17ICAxNiwgMHg4NWEwLCAwLCB7MHgwYiwweGQxLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NGEsMHgwOCwweDEwLDB4MDIsMHgyYywweDQwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg4NWIwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDE0LDB4MDAsMHg4NSwweDgwLDB4MmQsMHg0MCB9IH0sCi17ICAxNiwgMHg4NWQwLCAwLCB7MHgwOCwweDUwLDB4MDIsMHgwNCwweDBjLDB4YjksMHgwMCwweGEwLDB4NTAsMHgwOCwweDE0LDB4MjIsMHgwNCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWUwLCAwLCB7MHgyYywweDQwLDB4MGIsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4MjgsMHgyMCwweDRhLDB4MGIsMHgxMywweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg4NWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjMCwweDUwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHg4NjAwLCAwLCB7MHgwZiwweGMwLDB4NDMsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDMwLDB4MDAsMHgyYywweDgwLDB4MjMsMHgyMCwweDAwLDB4ZjgsMHg1MSB9IH0sCi17ICAxNiwgMHg4NjEwLCAwLCB7MHgzZSwweDE0LDB4OGYsMHg4NSwweDBiLDB4MjEsMHg0MCwweGY4LDB4NzAsMHgzYSwweDA4LDB4MGYsMHg4NCwweDgzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHg4NjIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGM0LDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4NjMwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHhkNCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NTAsMHgwZiwweDk0LDB4MDMsMHhmNCwweDA0LDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjQwLCAwLCB7MHgzZiwweDQxLDB4OGYsMHhkMCwweDQzLDB4ZTUsMHgwYywweGY5LDB4MDIsMHgzZiwweDRhLDB4MGYsMHg5MiwweDAzLDB4ZTYsMHgwMiB9IH0sCi17ICAxNiwgMHg4NjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGQ0LDB4MDEsMHhmZCwweDAwLDB4M2QsMHg0MCB9IH0sCi17ICAxNiwgMHg4NjYwLCAwLCB7MHgwYywweGQwLDB4MTMsMHhmNCwweDAwLDB4ZDUsMHgwMCwweDMzLDB4NmEsMHgxYywweGRjLDB4ODMsMHgzNCwweDAwLDB4ZDEsMHgwNCB9IH0sCi17ICAxNiwgMHg4NjcwLCAwLCB7MHgzZSwweDUwLDB4MGMsMHg5MSwweDAzLDB4ZTYsMHhjMCwweGRkLDB4YjAsMHgzMywweDZhLDB4MmMsMHg5YywweDgzLDB4ZTYsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDksMHhmOCwweDgwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjkwLCAwLCB7MHg4OCwweDgwLDB4MDAsMHhlOCwweDAwLDB4YmEsMHgwMCwweDIyLDB4YjAsMHgwOCwweDhlLDB4MDIsMHgyOCwweDAwLDB4ODgsMHhhOCB9IH0sCi17ICAxNiwgMHg4NmEwLCAwLCB7MHgyNiwweDI4LDB4MDgsMHg4YSwweDIyLDB4ZTIsMHgwMCwweDg4LDB4ZTQsMHgyMiwweDMwLDB4MDgsMHg4YywweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHg4NmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDI4LDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHg4NmMwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4OTksMHgwMCwweDIwLDB4NDIsMHg0OCwweDEwLDB4MDIsMHg2NCwweDAxLDB4OTEsMHg4MCB9IH0sCi17ICAxNiwgMHg4NmQwLCAwLCB7MHgyYywweDQ4LDB4MDgsMHgxMCwweDAyLDB4YzQsMHhjMCwweDgxLDB4NDAsMHgyMCwweDRhLDB4MDgsMHgxMiwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg4NmUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4OTQsMHhhOSwweDAyLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHg4NmYwLCAwLCB7MHgwYSwweDkwLDB4MDIsMHg2NCwweDAwLDB4YjksMHgwMCwweDgyLDB4NjAsMHgwOCwweDkwLDB4MDIsMHg2NiwweDAwLDB4ODksMHgxMCB9IH0sCi17ICAxNiwgMHg4NzAwLCAwLCB7MHgyNCwweDYyLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDIsMHgyMiwweDQwLDB4MTgsMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHg4NzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU2LDB4MDAsMHhiOSwweDA0LDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4NzIwLCAwLCB7MHgwYywweDkwLDB4MTMsMHhlNCwweDAwLDB4ZDEsMHhjMCwweDEyLDB4NTAsMHgyOCwweDkwLDB4MDMsMHg0NCwweDAwLDB4ZDksMHgwMCB9IH0sCi17ICAxNiwgMHg4NzMwLCAwLCB7MHgzZSwweDQwLDB4MjgsMHg5MiwweDAzLDB4ZTQsMHgwMiwweGQ5LDB4MDAsMHgzMiwweDQyLDB4OGMsMHg5MCwweDEyLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHg4NzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE2LDB4MjAsMHhmOSwweDAwLDB4M2UsMHg0MSB9IH0sCi17ICAxNiwgMHg4NzUwLCAwLCB7MHgyZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgyMCwweDNlLDB4NDAsMHg0ZiwweDkwLDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg4NzYwLCAwLCB7MHgzNiwweDQwLDB4OGYsMHg5MiwweDA3LDB4ZTQsMHgwMCwweGYxLDB4MDAsMHhiZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgyMCB9IH0sCi17ICAxNiwgMHg4NzgwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhlMCwweDQwLDB4ZjgsMHgwMCwweDM2LDB4MTIsMHgyYywweDAwLDB4MDMsMHhlMCwweGMwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzkwLCAwLCB7MHgzMiwweDEwLDB4MGQsMHg4NCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDIsMHgzZSwweDA4LDB4MGYsMHg4MCwweDAwLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg4N2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDNhLDB4OTAsMHg4ZSwweDAwLDB4MmQsMHhhMCB9IH0sCi17ICAxNiwgMHg4N2IwLCAwLCB7MHg4MCwweGU4LDB4MDIsMHhmYSwweDAwLDB4YmUsMHg0MCwweDIzLDB4ODAsMHgwOCwweGU4LDB4MDIsMHhmYSwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2MwLCAwLCB7MHgzNiwweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGJhLDB4MDAsMHgyZiwweDgwLDB4MGIsMHhhMCwweDAzLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQ2LDB4MDIsMHg4MywweDAwLDB4MmMsMHg4MCB9IH0sCi17ICAxNiwgMHg4N2UwLCAwLCB7MHgwOCwweDIyLDB4NDIsMHhjNiwweDgwLDB4YjEsMHg2MCwweDJlLDB4ZjQsMHgwOCwweDM4LDB4MjIsMHhjZSwweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2YwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YWMsMHgwMCwweGIxLDB4MDAsMHgyZSwweDQwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFlLDB4MDIsMHg4NSwweDAxLDB4MmQsMHhjMiB9IH0sCi17ICAxNiwgMHg4ODEwLCAwLCB7MHhhOCwweDQ0LDB4MDIsMHhkNCwweDAwLDB4YmQsMHgwMSwweDI5LDB4NDAsMHgxOCwweDY4LDB4ZDIsMHhkYywweDAwLDB4OGYsMHg4MCB9IH0sCi17ICAxNiwgMHg4ODIwLCAwLCB7MHgyNSwweGNjLDB4MjgsMHg3MywweDQyLDB4ZGMsMHg4MCwweGI1LDB4MzAsMHgyZCwweGMwLDB4MWIsMHg3MiwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDQsMHhjNiwweDgyLDB4M2QsMHhlMCB9IH0sCi17ICAxNiwgMHg4ODQwLCAwLCB7MHgwYywweDQ4LDB4MTIsMHhkNiwweDEwLDB4ZjUsMHg4MCwweDNjLDB4YTAsMHgwYywweDcwLDB4MDMsMHhkZSwweDAwLDB4ZTcsMHg5MCB9IH0sCi17ICAxNiwgMHg4ODUwLCAwLCB7MHgyMywweGVhLDB4MDQsMHg3YSwweDAzLDB4OWUsMHgwMCwweGY1LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3YSwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg4ODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwZCwweGFjLDB4MDAsMHg5YywweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHg4ODcwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlNCwweDEwLDB4ZjksMHgwMCwweDM2LDB4MDEsMHgwZiwweGEwLDB4MDMsMHhjMCwweDAwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODgwLCAwLCB7MHgzZSwweGQ4LDB4NGUsMHhiMCwweDgzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiNCwweDQzLDB4ODIsMHgwNiB9IH0sCi17ICAxNiwgMHg4ODkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGRlLDB4MDAsMHhjZiwweDg0LDB4MzEsMHhlMCB9IH0sCi17ICAxNiwgMHg4OGEwLCAwLCB7MHgwZSwweGM4LDB4NDMsMHhkNiwweDAwLDB4Y2QsMHg4MCwweDMzLDB4ZTAsMHhjZCwweGQ5LDB4MDMsMHgzYSwweDAwLDB4ZmYsMHg4OCB9IH0sCi17ICAxNiwgMHg4OGIwLCAwLCB7MHgzMywweGUwLDB4MGYsMHhmOSwweDEzLDB4ZmUsMHgyNCwweGZkLDB4ODAsMHgzZiwweDIwLDB4MGMsMHhmNiwweDgzLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHg4NSwweDAwLDB4MjEsMHhjNCB9IH0sCi17ICAxNiwgMHg4OGQwLCAwLCB7MHgyOCwweDQwLDB4ODIsMHhkMCwweDAwLDB4ZDUsMHgwMCwweDIzLDB4ODAsMHg0OCwweGM5LDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGUwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MSwweDAyLDB4ZGUsMHg4MCwweGI1LDB4MTAsMHgyZCwweGMwLDB4MjgsMHhmMCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHg4OGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDljLDB4MDAsMHg5NiwweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg4OTAwLCAwLCB7MHgwYSwweDQxLDB4MDIsMHhmNSwweDQwLDB4OGQsMHgwMCwweDIxLDB4NDAsMHgwOSwweDUyLDB4MDIsMHg5OCwweDIwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTEwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MCwweDA2LDB4ZGMsMHg4MCwweGI1LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDQsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgxNCwweGNjLDB4MTAsMHg5OCwweDAwLDB4MDAsMHhjMCB9IH0sCi17ICAxNiwgMHg4OTMwLCAwLCB7MHg4OCwweDA0LDB4ODIsMHhjMCwweDAwLDB4OTEsMHgwNCwweDIwLDB4MDMsMHgwOSwweDAwLDB4MDIsMHg4YSwweDAwLDB4YjMsMHgwYSB9IH0sCi17ICAxNiwgMHg4OTQwLCAwLCB7MHgyMCwweGM0LDB4OGIsMHgzNCwweDAyLDB4Y2MsMHgwMCwweGI5LDB4MDAsMHgyYywweGMwLDB4MDAsMHgzMCwweDAyLDB4MTgsMHgwNCB9IH0sCi17ICAxNiwgMHg4OTUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZjgsMHgxNSwweGFjLDB4MDAsMHhkYiwweDAwLDB4YjAsMHhjMCB9IH0sCi17ICAxNiwgMHg4OTYwLCAwLCB7MHgwZSwweDljLDB4MDIsMHhjNSwweDAwLDB4YzEsMHgxMCwweGIyLDB4YzAsMHgwZCwweGIwLDB4MGIsMHhhNywweDA4LDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTcwLCAwLCB7MHhiMywweGMwLDB4MGYsMHhmYSwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZSwweGQ0LDB4MGMsMHhmMCwweDBiLDB4MmUsMHgwNCB9IH0sCi17ICAxNiwgMHg4OTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDQsMHhlZCwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4OTkwLCAwLCB7MHgwZiwweDg0LDB4MDMsMHhlNSwweDQwLDB4ZjksMHg0MCwweDNlLDB4NjAsMHhjZSwweGI0LDB4NDMsMHg2NCwweDAwLDB4ZmIsMHg4MCB9IH0sCi17ICAxNiwgMHg4OWEwLCAwLCB7MHgzZSwweGMyLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGY5LDB4MDIsMHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4ZTEsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgxMCwweGZmLDB4MDAsMHhjZSwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHg4OWMwLCAwLCB7MHgwZSwweGMwLDB4MDcsMHg3NCwweDA0LDB4ZWMsMHgwMCwweDExLDB4ODAsMHgwYywweGNhLDB4MDMsMHhmZSwweDYwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWQwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDgzLDB4M2MsMHgwMCwweGRkLDB4MDAsMHhiMywweDUwLDB4MmMsMHhmMCwweDAzLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHg4OWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDRjLDB4MDQsMHg4YiwweDBiLDB4MjIsMHg3MCB9IH0sCi17ICAxNiwgMHg4OWYwLCAwLCB7MHgwOCwweDA4LDB4MDMsMHg2NywweDIwLDB4OGEsMHg4OCwweGEyLDB4MDAsMHgyOCwweDg0LDB4MDIsMHhlNywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTAwLCAwLCB7MHgzZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4MDAsMHgyMiwweDYxLDB4MDgsMHhiMCwweDAzLDB4NjAsMHg0MCB9IH0sCi17ICAxNiwgMHg4YTEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDIwLDB4MjIsMHhlMiB9IH0sCi17ICAxNiwgMHg4YTIwLCAwLCB7MHgwYSwweDhjLDB4MDIsMHgyNiwweDAwLDB4YTksMHg4MCwweDJhLDB4YzAsMHgwOCwweGI0LDB4NDIsMHhlZCwweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTMwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHgzMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4MDAsMHgyMCwweDgwLDB4MDgsMHgzMCwweDAyLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBlLDB4MDEsMHg4MSwweDAwLDB4YTAsMHhjMCB9IH0sCi17ICAxNiwgMHg4YTUwLCAwLCB7MHgwOCwweDgxLDB4MDIsMHg0NCwweDAwLDB4ODEsMHgwMCwweDI4LDB4ODEsMHgwOCwweDMyLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTYwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHg4MCwweGIxLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDEyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHg4YTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwZCwweDZjLDB4MDAsMHhjMiwweDAxLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHg4YTgwLCAwLCB7MHgyZSwweDgwLDB4MTYsMHgyYywweDA4LDB4ZTksMHgwMCwweDNhLDB4NDAsMHgwYywweDgwLDB4MDMsMHhlYywweDAwLDB4ZjcsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTkwLCAwLCB7MHgyZiwweGMwLDB4MGYsMHhmMCwweDBiLDB4MmMsMHgwMCwweGQ5LDB4MDAsMHgzMCwweDQwLDB4MGMsMHhmMCwweDAzLDB4NjAsMHgwMyB9IH0sCi17ICAxNiwgMHg4YWEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwZCwweGY4LDB4MDgsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHg4YWIwLCAwLCB7MHgwZiwweGMyLDB4MTcsMHhmYywweDAwLDB4ZjcsMHgwMCwweDM3LDB4MDAsMHgwZiwweDg0LDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWMwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWQsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHg4YWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhjZiwweDMwLDB4MTcsMHg0OCB9IH0sCi17ICAxNiwgMHg4YWUwLCAwLCB7MHgwYywweDU5LDB4MDMsMHhiOSwweDAwLDB4ZGYsMHgyOCwweDM1LDB4MjQsMHgwZCwweDgyLDB4YTMsMHg3YywweDgwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWYwLCAwLCB7MHgzZiwweGM4LDB4MGYsMHhmMiwweDAzLDB4ZTQsMHhhMCwweGVmLDB4ODAsMHgzZiwweGUxLDB4OGMsMHhkOCwweDQzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVkLDB4NDgsMHg4OSwweDM0LDB4YTMsMHg3MCB9IH0sCi17ICAxNiwgMHg4YjEwLCAwLCB7MHgyOCwweGIwLDB4MjMsMHg2MCwweDAwLDB4OGIsMHhjMCwweDIyLDB4NDAsMHgwOCwweGI0LDB4ODIsMHgyZiwweDQwLDB4YmYsMHhkMSB9IH0sCi17ICAxNiwgMHg4YjIwLCAwLCB7MHg2ZiwweGY0LDB4OGUsMHhiZCwweDAyLDB4ZTcsMHgwMCwweGJiLDB4ODAsMHgzYSwweGUwLDB4MDgsMHg5OCwweDBhLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHg4YjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4YjAsMHg5MSwweDAwLDB4YTgsMHg1MCB9IH0sCi17ICAxNiwgMHg4YjQwLCAwLCB7MHgwOCwweGIyLDB4MDIsMHhjOCwweDg0LDB4OTMsMHgwMCwweDI0LDB4NDksMHgwYiwweDAyLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwNCB9IH0sCi17ICAxNiwgMHg4YjUwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDQyLDB4ODQsMHgwMCwweGIzLDB4MDAsMHgyZSwweDAwLDB4MGEsMHhiMCwweDEyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHg4YjYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGFjLDB4MDIsMHg5OSwweDE4LDB4MmEsMHg0NCB9IH0sCi17ICAxNiwgMHg4YjcwLCAwLCB7MHgwOCwweGI4LDB4ODIsMHhhMiwweDAxLDB4YmIsMHgwMCwweDI4LDB4NjAsMHgwYSwweGEwLDB4MTIsMHg2YywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjgwLCAwLCB7MHg2ZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZTQsMHgwMCwweGJiLDB4MDAsMHgyYSwweDAwLDB4MmEsMHhiMCwweDAyLDB4MzgsMHgwNCB9IH0sCi17ICAxNiwgMHg4YjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGU0LDB4MDgsMHhkYSwweGMwLDB4M2EsMHg2MCB9IH0sCi17ICAxNiwgMHg4YmEwLCAwLCB7MHgwYywweDE4LDB4MGEsMHhlYiwweDA0LDB4ZGIsMHgwMCwweDM2LDB4ZTAsMHgwNywweDg1LDB4ODMsMHg2YywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmIwLCAwLCB7MHgyZSwweGMwLDB4MGYsMHhiMCwweDQzLDB4ZTQsMHgwMCwweGViLDB4MDAsMHgzZSwweDg4LDB4MGUsMHgxOCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHg4YmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHg0MSwweDljLDB4MTAsMHhlOSwweDAwLDB4MzcsMHg2MCB9IH0sCi17ICAxNiwgMHg4YmQwLCAwLCB7MHg4NywweGYwLDB4MTcsMHg3MCwweDAwLDB4Y2YsMHgwMSwweDM3LDB4YzAsMHg0YywweDk4LDB4MDMsMHhiYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmUwLCAwLCB7MHgzZiwweGMyLDB4MGYsMHhmMCwweDAzLDB4ZTQsMHgwMCwweGZmLDB4NDAsMHgzZiwweGU0LDB4MGQsMHhkOSwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE0LDB4MDAsMHhmNCwweDAwLDB4MzAsMHg0MCB9IH0sCi17ICAxNiwgMHg4YzAwLCAwLCB7MHgwZiwweGI0LDB4MDMsMHg5OSwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZCwweDA0LDB4MjMsMHgyYywweDA4LDB4ZmIsMHg4OCB9IH0sCi17ICAxNiwgMHg4YzEwLCAwLCB7MHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTYsMHgwMCwweGRiLDB4MTAsMHgzZSwweDAyLDB4MGYsMHhiMCwweDgzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg4YzIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHhiOSwweDUwLDB4YTIsMHg0OCB9IH0sCi17ICAxNiwgMHg4YzMwLCAwLCB7MHg4YiwweGIwLDB4MDMsMHgyMCwweDAwLDB4ZDcsMHg4MCwweDJlLDB4ZDgsMHgwMCwweDgwLDB4MDIsMHgzYywweDAwLDB4YmYsMHg4MCB9IH0sCi17ICAxNiwgMHg4YzQwLCAwLCB7MHgyMywweGU4LDB4OGIsMHhmMCwweDAyLDB4ZjQsMHg0MCwweDhiLDB4NDAsMHgwYywweDQyLDB4MDMsMHhiNiwweDAyLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMiwweDQ0LDB4MDAsMHhjOCB9IH0sCi17ICAxNiwgMHg4YzYwLCAwLCB7MHgwYiwweDMwLDB4MTIsMHg4YywweDAwLDB4YTMsMHg4MCwweDI0LDB4YzgsMHgwYiwweDAwLDB4MGEsMHhjYywweDAwLDB4YjMsMHg0NCB9IH0sCi17ICAxNiwgMHg4YzcwLCAwLCB7MHgwNCwweGMwLDB4MWIsMHgzNiwweDAyLDB4YzUsMHgwMSwweDgzLDB4MGMsMHgyYywweGEwLDB4MGIsMHgzMCwweDAyLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDgsMHhiNywweDkwLDB4MjEsMHg2NCB9IH0sCi17ICAxNiwgMHg4YzkwLCAwLCB7MHgwYiwweGY4LDB4MDIsMHg0YSwweDA0LDB4OTcsMHg4MSwweDJmLDB4ZTQsMHgwYSwweDc4LDB4MDIsMHg5ZSwweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHg4Y2EwLCAwLCB7MHgyMSwweGUwLDB4OGIsMHg3OCwweDgyLDB4ZDYsMHg4NiwweDg3LDB4ODQsMHgyZCwweGEwLDB4MGIsMHg3OCwweDAyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2IwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA0LDB4MDAsMHhmMiwweDAwLDB4MzAsMHhjMCB9IH0sCi17ICAxNiwgMHg4Y2MwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHg4YywweDAwLDB4ZTMsMHgwYSwweDNjLDB4YzAsMHgwZiwweDE4LDB4MDMsMHg4YywweDAwLDB4ZjMsMHgwMiB9IH0sCi17ICAxNiwgMHg4Y2QwLCAwLCB7MHgzMCwweGMwLDB4MWYsMHgzMCwweDAxLDB4YzYsMHg4MCwweGMzLDB4MDAsMHgzYywweGMwLDB4MGYsMHgxMiwweDAzLDB4ZGEsMHgwMiB9IH0sCi17ICAxNiwgMHg4Y2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0MSB9IH0sCi17ICAxNiwgMHg4Y2YwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhiOCwweDA4LDB4ZmYsMHgwOCwweDNmLDB4YzAsMHgwZCwweGYwLDB4MDMsMHgzYywweDIwLDB4ZmYsMHgwOCB9IH0sCi17ICAxNiwgMHg4ZDAwLCAwLCB7MHgzYiwweGQyLDB4MGYsMHhmMCwweDAzLDB4ZjQsMHg0MCwweGVmLDB4MDAsMHgzZiwweGM0LDB4MGYsMHhkMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg4ZDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhmZSwweDAwLDB4MzIsMHhjMiB9IH0sCi17ICAxNiwgMHg4ZDIwLCAwLCB7MHgwYywweDMwLDB4MGIsMHgyNiwweDAwLDB4ZmIsMHg4MCwweDM2LDB4YzAsMHgwZCwweGEwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHhlMCB9IH0sCi17ICAxNiwgMHg4ZDMwLCAwLCB7MHgzMiwweGQwLDB4MGYsMHhiOCwweDQzLDB4NjQsMHg0NCwweGRiLDB4MDQsMHgzZSwweDgwLDB4MGYsMHhiMCwweDAzLDB4ZTIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDAwLDB4YTEsMHhjMCB9IH0sCi17ICAxNiwgMHg4ZDUwLCAwLCB7MHg4OCwweDcwLDB4MDMsMHgxMCwweDAwLDB4YjcsMHgyMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDgwLDB4YjMsMHgzMCB9IH0sCi17ICAxNiwgMHg4ZDYwLCAwLCB7MHgzMSwweGM4LDB4MGIsMHg3NCwweDAyLDB4MTQsMHgwMCwweDg3LDB4NDAsMHgyZCwweGMwLDB4NGIsMHg3MCwweDAyLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDk2LDB4MjAsMHhiNiwweDgwLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHg4ZDgwLCAwLCB7MHgyOCwweGY4LDB4MDIsMHg5NCwweDEwLDB4YjcsMHg4MSwweDI3LDB4ZTIsMHgwOSwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcsMHhhMCB9IH0sCi17ICAxNiwgMHg4ZDkwLCAwLCB7MHhhOSwweGU4LDB4MGIsMHgzOCwweDAyLDB4NzYsMHgwMCwweDg3LDB4ODAsMHgyZCwweGEwLDB4MGIsMHg1OCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNlLDB4MTAsMHhiMywweDAwLDB4MjAsMHhjNCB9IH0sCi17ICAxNiwgMHg4ZGIwLCAwLCB7MHgwOCwweDIwLDB4MDIsMHg4MCwweDEwLDB4YjMsMHgwMCwweDIyLDB4YzgsMHgwOCwweGIwLDB4MDIsMHhjYywweDExLDB4YjMsMHgwMiB9IH0sCi17ICAxNiwgMHg4ZGMwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDQsMHgwMCwweDkzLDB4ODAsMHgyYywweGQyLDB4MGIsMHgxMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZGQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmZSwweDQwLDB4MzIsMHhhMCB9IH0sCi17ICAxNiwgMHg4ZGUwLCAwLCB7MHgwYywweGU0LDB4MDMsMHg5OCwweDgwLDB4ZmEsMHgwMCwweDM3LDB4YTAsMHgwZCwweGUwLDB4ODMsMHhlOCwweDAwLDB4ZmUsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGYwLCAwLCB7MHgzYSwweDgwLDB4MGIsMHhhMCwweDAzLDB4NjgsMHgwMCwweGQ4LDB4YTAsMHgzZiwweDkwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDgsMHhmOCwweDA4LDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTEwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZTIwLCAwLCB7MHgzMCwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMiwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmMSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZTQwLCAwLCB7MHgwZSwweDkwLDB4ODMsMHhhNCwweDAwLDB4YzksMHg4MCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTUwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGM4LDB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDQwLDB4YTAsMHg2MiB9IH0sCi17ICAxNiwgMHg4ZTcwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgyNCwweDEwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTgwLCAwLCB7MHgyZSwweDUyLDB4MDgsMHg5NCwweDAyLDB4YzQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwLDB4MGIsMHgxMCwweDAzLDB4NjAsMHgxMCB9IH0sCi17ICAxNiwgMHg4ZTkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDE4LDB4MjIsMHg0NCB9IH0sCi17ICAxNiwgMHg4ZWEwLCAwLCB7MHgwYSwweDkwLDB4MDIsMHhhYywweDAwLDB4ODksMHgxMCwweDJlLDB4YzAsMHgwYSwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjksMHg4MCB9IH0sCi17ICAxNiwgMHg4ZWIwLCAwLCB7MHgyZSwweDYwLDB4MDgsMHg5OCwweDAyLDB4ZTYsMHgwMiwweDg5LDB4MDgsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDIwLDB4YTAsMHg0OCB9IH0sCi17ICAxNiwgMHg4ZWQwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDA4LDB4ODEsMHgyMywweDJjLDB4NTAsMHgwOCwweDEwLDB4MDIsMHgwNCwweDgwLDB4YjEsMHgyMCB9IH0sCi17ICAxNiwgMHg4ZWUwLCAwLCB7MHgyYywweDQ4LDB4MjgsMHgxMiwweDAyLDB4ZTQsMHg4MCwweDgxLDB4MjAsMHgyYywweDQwLDB4MGIsMHg5OCwweDAyLDB4NDIsMHgwNSB9IH0sCi17ICAxNiwgMHg4ZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjAwLCAwLCB7MHgwZSwweDg1LDB4MDMsMHhhMSwweGUwLDB4Y2EsMHgwMCwweDNlLDB4MDAsMHgwZSwweDg1LDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjEwLCAwLCB7MHgyZSwweDAwLDB4OWMsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MjgsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MmUsMHgwMSB9IH0sCi17ICAxNiwgMHg4ZjIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4NDAsMHhmNSwweDEwLDB4M2YsMHg0NCB9IH0sCi17ICAxNiwgMHg4ZjMwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZjEsMHgxMCwweDNkLDB4NDAsMHg4ZiwweGQ0LDB4MDMsMHhlNCwweDUwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHg4ZjQwLCAwLCB7MHgzZSwweDQ1LDB4MGYsMHg5MSwweDAzLDB4ZDQsMHg0MCwweGZjLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhkMCwweDIzLDB4ZTYsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4MjAsMHhjZCwweGE4LDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZjYwLCAwLCB7MHg4ZCwweGQwLDB4MDMsMHgyNiwweDgwLDB4Y2QsMHgwMCwweDNkLDB4NTAsMHgwYywweDlhLDB4MDMsMHg2NCwweDAwLDB4ZjksMHhhMCB9IH0sCi17ICAxNiwgMHg4ZjcwLCAwLCB7MHg3YSwweDZhLDB4MGYsMHg5YSwweDYzLDB4ZTYsMHg4MCwweGM5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4MDAsMHg4OCwweGUwLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjkwLCAwLCB7MHgwOCwweDgwLDB4MGEsMHgyMSwweDQyLDB4YzgsMHgwMCwweDJlLDB4MjksMHgwYywweGE0LDB4NDIsMHgyMCwweDAwLDB4YjgsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZmEwLCAwLCB7MHgyZSwweDAwLDB4MGIsMHg4MSwweDAyLDB4ZTEsMHgwMCwweDg4LDB4MDIsMHgzYSwweDAxLDB4MGIsMHhjMCwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDIsMHg4MSwweDA4LDB4MjQsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZmMwLCAwLCB7MHgwOSwweDEwLDB4MDIsMHgwNCwweDAwLDB4OTEsMHgwMCwweDJjLDB4NDAsMHg0YiwweDE0LDB4MDIsMHg0NCwweDAwLDB4YjUsMHgxMCB9IH0sCi17ICAxNiwgMHg4ZmQwLCAwLCB7MHgyOSwweDQwLDB4MGIsMHg1MCwweDAyLDB4ZjUsMHgwMCwweGI1LDB4MDAsMHgyZCwweDQwLDB4MGIsMHhkMCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHg4ZmUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE2LDB4MDEsMHg4OSwweDAwLDB4MjYsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZmYwLCAwLCB7MHgwOCwweDk0LDB4MDIsMHgyNCwweDAxLDB4ODksMHgwMCwweDJlLDB4NDAsMHgxYSwweDkwLDB4MDIsMHg2YywweDAwLDB4YmYsMHgwMiB9IH0sCi17ICAxNiwgMHg5MDAwLCAwLCB7MHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4ZjQsMHgwMiwweGJkLDB4ODAsMHgyYiwweDQwLDB4OGIsMHhkOCwweDNhLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHg5MDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhjOSwweDA1LDB4MzYsMHg0MSB9IH0sCi17ICAxNiwgMHg5MDIwLCAwLCB7MHgwZCwweDFjLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDIsMHgyZiwweDk0LDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5MDMwLCAwLCB7MHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDcwLDB4MGYsMHgxMCwweDAzLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHg5MDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDg0LDB4MDgsMHhmOSwweDI0LDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg5MDUwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDEsMHgwZCwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5MDYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDgsMHhjOCwweDgwLDB4MzIsMHgwMiB9IH0sCi17ICAxNiwgMHg5MDgwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHgwMCwweDAwLDB4YzgsMHgwOCwweDNhLDB4MTAsMHhjZSwweDg0LDB4MDMsMHhlMCwweDAwLDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDkwLCAwLCB7MHgzZiwweDAwLDB4OGYsMHhjMCwweDAzLDB4ZjAsMHg4MCwweGZjLDB4MDAsMHgzZiwweDE4LDB4MGYsMHhjMCwweDQzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg5MGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDAwLDB4YTEsMHg4MCB9IH0sCi17ICAxNiwgMHg5MGIwLCAwLCB7MHgwYiwweGUwLDB4MDIsMHgyOCwweDAwLDB4ZGUsMHhjMiwweDIzLDB4OTAsMHgwMCwweGEwLDB4MDIsMHhlOCwweDAwLDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGMwLCAwLCB7MHgyZSwweDgwLDB4MGIsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgyZSwweDgwLDB4MGIsMHhhMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5OSwweDgxLDB4NjAsMHhjMCB9IH0sCi17ICAxNiwgMHg5MGUwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgwYywweDAwLDB4OTAsMHgxMCwweDJhLDB4ZmMsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGYwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4ODIsMHg5NSwweDQwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg5MTEwLCAwLCB7MHgwYiwweDUwLDB4MDIsMHgxYywweDgwLDB4OTAsMHg4MCwweDIzLDB4MDEsMHgwOSwweDcyLDB4MTIsMHhkYywweDAwLDB4YjYsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTIwLCAwLCB7MHgyZCwweDAwLDB4MGIsMHg0MCwweDAyLDB4ZDAsMHgwMCwweGI0LDB4MDksMHgyZCwweDAwLDB4NGIsMHg0MCwweDgyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4ODAsMHhkZCwweDgwLDB4YjEsMHhlMCB9IH0sCi17ICAxNiwgMHg5MTQwLCAwLCB7MHgwZiwweGRhLDB4MDMsMHgwZiwweDgwLDB4ZDQsMHg4MCwweDM5LDB4ZTAsMHgwYiwweDdhLDB4MDMsMHhkZSwweDAwLDB4ZjUsMHg4MCB9IH0sCi17ICAxNiwgMHg5MTUwLCAwLCB7MHgzZCwweDIwLDB4MGYsMHg0OCwweDAzLDB4ZDYsMHgxMCwweGY2LDB4ODEsMHgzZCwweGUwLDB4OGYsMHg2OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg5MTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhlZCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTcwLCAwLCB7MHgwZiwweDkxLDB4MGIsMHhlYywweDEwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTgwLCAwLCB7MHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4ZTgsMHgwMCwweGU5LDB4MDEsMHgzZSwweDAwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHg5MTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MjAsMHhiZiwweDgxLDB4MzMsMHhhNCB9IH0sCi17ICAxNiwgMHg5MWEwLCAwLCB7MHg4YywweDE5LDB4MDMsMHgzZSwweDAwLDB4Y2QsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4ODMsMHgzZSwweDAwLDB4ZWYsMHg4MCB9IH0sCi17ICAxNiwgMHg5MWIwLCAwLCB7MHgzZiwweGUwLDB4MGYsMHhmOSwweDEzLDB4ZmEsMHgxMCwweGZkLDB4ODAsMHgzZiwweGE0LDB4MGYsMHhkOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhiZiwweDIwLDB4MzEsMHhjMiB9IH0sCi17ICAxNiwgMHg5MWQwLCAwLCB7MHgwOCwweDVhLDB4MDIsMHgzYywweDAyLDB4ODcsMHgwMCwweDJkLDB4OTQsMHgwYiwweDcwLDB4MGEsMHgxYywweDQwLDB4ODYsMHgxMCB9IH0sCi17ICAxNiwgMHg5MWUwLCAwLCB7MHgyZCwweDAwLDB4MGIsMHg0MCwweDAyLDB4ZDQsMHgwMCwweGY2LDB4MDAsMHgyZCwweDQwLDB4NGIsMHg2MCwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5MWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDAxLDB4MjMsMHg4MCB9IH0sCi17ICAxNiwgMHg5MjAwLCAwLCB7MHgyOCwweDUwLDB4MDIsMHgxYywweDAwLDB4ODQsMHgwMCwweDJkLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgxYywweDAwLDB4YjUsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjEwLCAwLCB7MHgyZCwweDAwLDB4MGIsMHg0MCwweDA2LDB4ZDAsMHg0MCwweGI0LDB4MDgsMHgyZCwweDgwLDB4MGIsMHg0OCwweDAyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMywweDA4LDB4YTAsMHgyMCB9IH0sCi17ICAxNiwgMHg5MjMwLCAwLCB7MHgwOCwweDExLDB4OGEsMHgwZSwweDAwLDB4ODAsMHgwMCwweDJjLDB4OTAsMHgwYiwweDM3LDB4MDIsMHgwYywweDAwLDB4OTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjQwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDQyLDB4Y2MsMHgwNCwweGEzLDB4ODAsMHgyYywweDUwLDB4MGIsMHgzMCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHg5MjUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhmOSwweDgwLDB4MzIsMHg2MCB9IH0sCi17ICAxNiwgMHg5MjYwLCAwLCB7MHgwYywweGQ0LDB4MDMsMHgzYywweDgwLDB4ODgsMHgwMCwweDNlLDB4ZDAsMHgwZiwweGY4LDB4MDMsMHgyOCwweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjcwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMCwweDA3LDB4ZWMsMHgwMSwweGJiLDB4ODAsMHgzZSwweDU0LDB4MGYsMHhiMCwweDA2LDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5MjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVlLDB4MDgsMHhmOSwweDgwLDB4M2EsMHhjMCB9IH0sCi17ICAxNiwgMHg5MjkwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlYywweDAwLDB4ZjgsMHg0MCwweDNlLDB4NTgsMHgwZiwweGIwLDB4NDMsMHhlOSwweDAwLDB4ZWIsMHg0NCB9IH0sCi17ICAxNiwgMHg5MmEwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwZCwweGY4LDB4MDAsMHgzZSwweDgwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjZiwweDAwLDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHg5MmMwLCAwLCB7MHgwYywweGQwLDB4MDMsMHgzYywweDMwLDB4Y2MsMHgwMCwweDNiLDB4YzAsMHgyZCwweGYwLDB4MDMsMHhkOCwweDAyLDB4Y2MsMHgwMCB9IH0sCi17ICAxNiwgMHg5MmQwLCAwLCB7MHgzZCwweDAwLDB4MGMsMHhjMCwweDAzLDB4ZjQsMHgwMCwweGVlLDB4MDIsMHgzNywweDQwLDB4MGMsMHhlMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHg5MmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MTgsMHg4MywweDg0LDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MmYwLCAwLCB7MHg0YSwweDEwLDB4MDIsMHgwYywweDAwLDB4YTgsMHg0OCwweDJlLDB4NjAsMHgwOCwweGIwLDB4MDIsMHhlOSwweDAwLDB4ODksMHg0MCB9IH0sCi17ICAxNiwgMHg5MzAwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTgsMHgxMCwweGIxLDB4MDEsMHgyMCwweDgwLDB4MGEsMHg5MCwweDAzLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHg5MzEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDgyLDB4MjIsMHgwOCB9IH0sCi17ICAxNiwgMHg5MzIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyYywweDE0LDB4ODgsMHgwNCwweDJjLDB4MDgsMHgwOCwweGIwLDB4MTIsMHhlOCwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzMwLCAwLCB7MHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZTgsMHgwMSwweGI5LDB4MDAsMHgyNiwweDA0LDB4MDgsMHg5MCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDgwLDB4YTIsMHhjMCB9IH0sCi17ICAxNiwgMHg5MzUwLCAwLCB7MHgwYSwweDkyLDB4MDIsMHgyYywweDAwLDB4YTIsMHgwMCwweDJjLDB4MDAsMHgwOCwweDM0LDB4MDIsMHhjOCwweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzYwLCAwLCB7MHgyYywweDAwLDB4MjgsMHgwMCwweDAyLDB4YzQsMHgwMSwweGJhLDB4MDAsMHgyMiwweGMwLDB4MDIsMHgyMCwweDA2LDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5MzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjYSwweDAwLDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzgwLCAwLCB7MHgwYywweDkyLDB4MGIsMHgyYywweDA0LDB4YzgsMHgwNCwweDNhLDB4MDAsMHgwYywweGI0LDB4MDMsMHhlOCwweDAwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzkwLCAwLCB7MHgyZSwweDAwLDB4MGMsMHg4MCwweDMzLDB4ZTEsMHg0MCwweGU4LDB4MDAsMHgzNiwweDAwLDB4MGMsMHg4MCwweDAzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHg5M2EwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2QsMHgwMCB9IH0sCi17ICAxNiwgMHg5M2IwLCAwLCB7MHgwZiwweGQxLDB4MGIsMHhmYywweDAxLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhkOCwweDAwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHg5M2MwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHg4MCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDA3LDB4YTgsMHgwNiB9IH0sCi17ICAxNiwgMHg5M2QwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGYzLDB4MDAsMHhjZiwweDgwLDB4MzUsMHg2MCB9IH0sCi17ICAxNiwgMHg5M2UwLCAwLCB7MHg0ZSwweDY4LDB4NDMsMHg1YywweDAwLDB4ZTcsMHg4MCwweDM5LDB4YzAsMHgwYywweGMxLDB4MDMsMHg3ZSwweDAwLDB4Y2YsMHgzNCB9IH0sCi17ICAxNiwgMHg5M2YwLCAwLCB7MHgzNSwweGUxLDB4NGQsMHhmMiwweDAzLDB4N2MsMHgwMCwweGRmLDB4MzgsMHgzZiwweGM4LDB4MGYsMHhmOCwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5NDAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxOCwweGM4LDB4MDAsMHhkYiwweDg0LDB4MjIsMHg2MCB9IH0sCi17ICAxNiwgMHg5NDEwLCAwLCB7MHgwOCwweGFjLDB4MGEsMHgyYywweDAwLDB4OGIsMHg4MCwweDIyLDB4MzAsMHgwOCwweDkxLDB4MjIsMHgyYywweDkwLDB4MjcsMHg2MSB9IH0sCi17ICAxNiwgMHg5NDIwLCAwLCB7MHgyMiwweGNhLDB4ODgsMHhmYywweDIyLDB4YmYsMHgwMCwweDhiLDB4NjIsMHgyZiwweGQwLDB4MDksMHhiOCwweDAzLDB4YjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5NDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweGUyLDB4ODAsMHhhOSwweDAyLDB4MjQsMHg0MCB9IH0sCi17ICAxNiwgMHg5NDQwLCAwLCB7MHg4MiwweDM0LDB4NDIsMHgwNCwweDAwLDB4YTksMHgwMCwweDI4LDB4YzUsMHg0OCwweDMyLDB4MDIsMHg0YywweDIwLDB4ODMsMHgzMCB9IH0sCi17ICAxNiwgMHg5NDUwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgzMSwweDAyLDB4MGQsMHgwMCwweGIzLDB4MjAsMHgyYywweGM0LDB4MGIsMHgzMCwweDAyLDB4ZjIsMHgwMSB9IH0sCi17ICAxNiwgMHg5NDYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGFhLDB4MDIsMHhiOSwweDA0LDB4MjIsMHg2MCB9IH0sCi17ICAxNiwgMHg5NDcwLCAwLCB7MHgyOCwweGIyLDB4MDIsMHgyNiwweDAwLDB4ODksMHg4OCwweDAyLDB4YzAsMHgwOCwweDMxLDB4MTIsMHhlYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NDgwLCAwLCB7MHgyYSwweGQwLDB4MDgsMHhiMCwweDAyLDB4YWMsMHgwMCwweDJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4YjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5NDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGUyLDB4MDAsMHhlMywweDAwLDB4MzYsMHgyMCB9IH0sCi17ICAxNiwgMHg5NGEwLCAwLCB7MHgwZSwweGE0LDB4NjMsMHg2ZSwweDAwLDB4ZTEsMHhjMCwweDFhLDB4YzEsMHgwYywweDgwLDB4MDMsMHg2OCwweDcwLDB4Y2IsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGIwLCAwLCB7MHgzNiwweDgwLDB4MGQsMHhiMCwweDAzLDB4NGMsMHgwMCwweGZiLDB4MDQsMHgzZSwweGMxLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg5NGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI4LDB4MDQsMHhkZiwweDAwLDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGQwLCAwLCB7MHgwZiwweGU4LDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4MDAsMHgyYiwweDk4LDB4MDMsMHgzYSwweDAwLDB4NzcsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGUwLCAwLCB7MHgyNywweGU0LDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZSwweGMwLDB4MGQsMHhmMCwweDQzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwMCwweGE0LDB4NjgsMHhjYiwweDIwLDB4M2EsMHg5MCB9IH0sCi17ICAxNiwgMHg5NTAwLCAwLCB7MHgwZiwweDI0LDB4YTMsMHhhYywweDAwLDB4ZTksMHg1MCwweDNhLDB4YzAsMHgwZSwweGI0LDB4ODMsMHgyYywweDA4LDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTEwLCAwLCB7MHgzYSwweDkwLDB4MGUsMHhiMCwweDhiLDB4ZWMsMHg4MCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4OTAsMHgwNCB9IH0sCi17ICAxNiwgMHg5NTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwMSwweDBhLDB4MDAsMHg4YiwweGEwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHg5NTMwLCAwLCB7MHgwZCwweGE4LDB4MDIsMHgyYywweDA0LDB4ODksMHg0MCwweDI4LDB4ZTgsMHgwOCwweGIyLDB4MDIsMHgyYywweDAwLDB4YWYsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTQwLCAwLCB7MHgwMiwweDgwLDB4MDgsMHg3YywweDAzLDB4M2QsMHg4MCwweDNmLDB4MDAsMHgyZiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ5LDB4MDAsMHgwMywweDQwLDB4MjgsMHhjMCB9IH0sCi17ICAxNiwgMHg5NTYwLCAwLCB7MHgyYiwweDI4LDB4NGEsMHgyOCwweDAwLDB4YTEsMHgwMCwweDY4LDB4ZDIsMHgwYSwweDIwLDB4NDIsMHhhNCwweDAxLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTcwLCAwLCB7MHgwMiwweDQwLDB4MGEsMHgzNCwweDAyLDB4MGQsMHgwMCwweDMzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzMCwweDAwLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwMSwweDFhLDB4MDAsMHg4NywweDkwLDB4MjEsMHhlNCB9IH0sCi17ICAxNiwgMHg5NTkwLCAwLCB7MHgyYiwweGM4LDB4MTIsMHgzYSwweDAwLDB4ODUsMHhjMCwweDJiLDB4MjEsMHgyOCwweDY4LDB4MDIsMHhiNiwweDAwLDB4YTcsMHg4NCB9IH0sCi17ICAxNiwgMHg5NWEwLCAwLCB7MHgyMywweDYwLDB4MDgsMHgzOCwweDgwLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyZCwweGUwLDB4MDgsMHg3OCwweDAyLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHg5NWIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDAsMHhjMSwweDAwLDB4MzgsMHg1NCB9IH0sCi17ICAxNiwgMHg5NWMwLCAwLCB7MHgwZiwweDI2LDB4ODMsMHg4MCwweDAwLDB4ZTAsMHgzNCwweDI4LDB4YzgsMHgwZSwweDJjLDB4MGIsMHg4YywweDAwLDB4ZTMsMHgwMCB9IH0sCi17ICAxNiwgMHg5NWQwLCAwLCB7MHg3OCwweDQ1LDB4MGUsMHgzMCwweDAzLDB4OGUsMHg4MCwweGYzLDB4MDAsMHgzYywweGM4LDB4MGUsMHgzMCwweDAzLDB4OTIsMHgwMiB9IH0sCi17ICAxNiwgMHg5NWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGI4LDB4MDAsMHhmNSwweDAyLDB4M2YsMHg0NCB9IH0sCi17ICAxNiwgMHg5NWYwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHhmOCwweDAwLDB4YmQsMHgxNCwweDFmLDB4YzAsMHgwZiwweGUxLDB4MjMsMHg1YywweDQ0LDB4OWYsMHg0MiB9IH0sCi17ICAxNiwgMHg5NjAwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmNCwweDgyLDB4N2QsMHg0MCwweGZmLDB4MTAsMHgzZiwweGMwLDB4NGYsMHg3MCwweDA3LDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg5NjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU4LDB4MDIsMHhjYiwweDAwLDB4MzgsMHhjMCB9IH0sCi17ICAxNiwgMHg5NjIwLCAwLCB7MHgzYywweGEwLDB4MDMsMHhlYywweDAwLDB4ZTksMHgwMCwweDNlLDB4YzAsMHgwYywweGIwLDB4MDMsMHgyMCwweDA0LDB4ZmIsMHgyMSB9IH0sCi17ICAxNiwgMHg5NjMwLCAwLCB7MHgzZSwweDgwLDB4NGYsMHhiNCwweDAzLDB4Y2YsMHgwMCwweGNiLDB4MDAsMHgzZSwweGNjLDB4NGYsMHhiMCwweDQzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHg5MSwweDk4LDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg5NjUwLCAwLCB7MHgwOCwweDQwLDB4MDIsMHhkYywweDA0LDB4YjUsMHgwMCwweDJkLDB4MDAsMHgyZCwweDcwLDB4MDIsMHgxYywweDFjLDB4YjcsMHgwMiB9IH0sCi17ICAxNiwgMHg5NjYwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZGMsMHgwMCwweDg3LDB4NDAsMHgyZCwweGNhLDB4OGIsMHg3MCwweDAyLDB4ZjIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGJhLDB4MDAsMHg4NywweDg4LDB4MmIsMHhlMCB9IH0sCi17ICAxNiwgMHg5NjgwLCAwLCB7MHgxOCwweDc4LDB4MjIsMHhkNiwweDExLDB4YTQsMHg4MiwweDJmLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgxMiwweDAwLDB4YjcsMHg5NCB9IH0sCi17ICAxNiwgMHg5NjkwLCAwLCB7MHg2ZCwweDYwLDB4NGIsMHg3YSwweDAyLDB4ZGUsMHg0MCwweGI3LDB4YTAsMHgyZCwweGUwLDB4MGIsMHg3OCwweDA2LDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5NmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGM5LDB4MTIsMHg4MywweDgyLDB4MjgsMHhkNCB9IH0sCi17ICAxNiwgMHg5NmIwLCAwLCB7MHg5OCwweDAwLDB4MDYsMHhlZiwweDA1LDB4YjEsMHg5MCwweDJjLDB4YzEsMHgwOSwweGI0LDB4MDIsMHgwYywweDA0LDB4YjMsMHgwMSB9IH0sCi17ICAxNiwgMHg5NmMwLCAwLCB7MHg2YywweGYwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NmQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4NDAsMHhjYSwweDgwLDB4M2IsMHhhMCB9IH0sCi17ICAxNiwgMHg5NmUwLCAwLCB7MHg0YywweGU1LDB4MDIsMHhmOCwweDgwLDB4ZWUsMHgwMCwweDNkLDB4ODAsMHgyYywweGUwLDB4MGYsMHgzOCwweDgwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NmYwLCAwLCB7MHgzZiwweGE5LDB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGJhLDB4MDIsMHgzZSwweDgwLDB4OGIsMHhhMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHg5NzAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MTAsMHhmOCwweDAwLDB4MjYsMHgwMiB9IH0sCi17ICAxNiwgMHg5NzEwLCAwLCB7MHgwZiwweDg0LDB4MDMsMHhlMCwweDI0LDB4ZjgsMHgwMCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4YTMsMHhlMCwweDMwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5NzIwLCAwLCB7MHgzNiwweDAyLDB4MGYsMHg4MCwweDIzLDB4ZTAsMHgwNCwweDA4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NzMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAwLDB4YjYsMHg0MSB9IH0sCi17ICAxNiwgMHg5NzQwLCAwLCB7MHg0ZSwweDk5LDB4MGIsMHhhNCwweDAwLDB4NjksMHgxMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhhNCwweDEwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHg5NzUwLCAwLCB7MHgzZSwweDQwLDB4MGQsMHg5MiwweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGUsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NzYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg0MiB9IH0sCi17ICAxNiwgMHg5NzcwLCAwLCB7MHgwOCwweDE0LDB4OWEsMHgyNCwweDAwLDB4ODksMHgwMCwweDZlLDB4NTAsMHgwMCwweDkwLDB4MDIsMHgyNCwweDEwLDB4ZDksMHgwMiB9IH0sCi17ICAxNiwgMHg5NzgwLCAwLCB7MHg2ZSwweDQwLDB4MGIsMHg5NCwweDAzLDB4YTcsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5NzkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA2LDB4MDAsMHg5OSwweDAwLDB4YTYsMHg0MSB9IH0sCi17ICAxNiwgMHg5N2EwLCAwLCB7MHgwYSwweDkwLDB4MDYsMHgyYywweDAwLDB4YTksMHgwOSwweDZlLDB4NTAsMHgwOCwweDkxLDB4MDIsMHg4NCwweDA0LDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHg5N2IwLCAwLCB7MHgwZSwweDQwLDB4MGIsMHg5NCwweDAyLDB4ZTUsMHg0OSwweGI5LDB4MDAsMHgwYSwweDQwLDB4MGEsMHg5MCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5N2MwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA2LDB4MDAsMHg4MSwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHg5N2QwLCAwLCB7MHgwOCwweDEyLDB4MjIsMHgwNCwweDgxLDB4YTEsMHgwMCwweDJjLDB4NDAsMHgwOCwweDE2LDB4MDIsMHgwNCwweDAwLDB4OTEsMHgyMCB9IH0sCi17ICAxNiwgMHg5N2UwLCAwLCB7MHgyYywweDQwLDB4MGIsMHgxMiwweDQyLDB4ODQsMHg4OSwweGIxLDB4MjAsMHgyMCwweDQ4LDB4MDgsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5N2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDAwLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODAwLCAwLCB7MHgwYSwweDgwLDB4MDMsMHhhMSwweDQwLDB4ZTgsMHgwMCwweDJlLDB4MDAsMHgwYywweDAwLDB4MjMsMHhhMSwweDQwLDB4YzgsMHg1MCB9IH0sCi17ICAxNiwgMHg5ODEwLCAwLCB7MHgyZSwweDE0LDB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4NTAsMHgzYSwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHg5ODIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgxZCwweGQ0LDB4MDAsMHhmNSwweDAwLDB4YmYsMHg0MCB9IH0sCi17ICAxNiwgMHg5ODMwLCAwLCB7MHgwZiwweGQxLDB4MDMsMHhmNCwweDQ0LDB4ZGQsMHgwMiwweDNkLDB4NTAsMHgyYiwweGQxLDB4MjMsMHhmNCwweDAwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHg5ODQwLCAwLCB7MHgzZiwweDQwLDB4MGQsMHg5MSwweDAzLDB4YTQsMHg0OCwweGY5LDB4MTIsMHgzZSwweDRlLDB4MWYsMHg5MCwweDAzLDB4YTYsMHgwMiB9IH0sCi17ICAxNiwgMHg5ODUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGY0LDB4MDAsMHhjNSwweDA0LDB4M2IsMHg0MCB9IH0sCi17ICAxNiwgMHg5ODYwLCAwLCB7MHgwZiwweGQ4LDB4MDMsMHhhNywweDgwLDB4ZmQsMHgwMCwweGIzLDB4NjgsMHgwZCwweGQ4LDB4NDMsMHhhNSwweDEwLDB4YzksMHhhMCB9IH0sCi17ICAxNiwgMHg5ODcwLCAwLCB7MHgzMiwweDUxLDB4NGYsMHg1YSwweDQzLDB4MzYsMHgwMCwweGM5LDB4YTAsMHg3YSwweDY4LDB4MGIsMHhkMCwweDAzLDB4YzYsMHgwMSB9IH0sCi17ICAxNiwgMHg5ODgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NzgsMHgxOCwweGNhLDB4ODgsMHg4OCwweDAyLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODkwLCAwLCB7MHg4ZCwweDg0LDB4MjIsMHgyMywweDQyLDB4ZjgsMHgwMCwweDIyLDB4MDQsMHgyOCwweDhhLDB4YTIsMHhhYSwweDk0LDB4ODgsMHhlOSB9IH0sCi17ICAxNiwgMHg5OGEwLCAwLCB7MHgyMCwweGE4LDB4MGEsMHg4MCwweDBhLDB4MjEsMHg0MCwweDgwLDB4ZTIsMHgyZSwweDI4LDB4MGIsMHg4MCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHg5OGIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4MjAsMHhhMSwweDA0LDB4YTgsMHhjMCB9IH0sCi17ICAxNiwgMHg5OGMwLCAwLCB7MHgwYiwweDFjLDB4MmEsMHgyNCwweDAwLDB4MzksMHgwNCwweDIwLDB4NDAsMHgyYSwweDFlLDB4MDIsMHhlNCwweDgwLDB4YjEsMHgxMCB9IH0sCi17ICAxNiwgMHg5OGQwLCAwLCB7MHgyYSwweDQ4LDB4MDksMHgxNCwweDQ2LDB4MDQsMHgwMCwweDgxLDB4MzgsMHgyYywweDViLDB4MGIsMHgxMCwweDAyLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg5OGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGE0LDB4MTIsMHhhOSwweDI0LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHg5OGYwLCAwLCB7MHgyOSwweDkwLDB4MDIsMHgyNCwweDAwLDB4MzksMHgwMCwweDAyLDB4NTgsMHgwOCwweDE4LDB4MTAsMHhlNiwweDAxLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg5OTAwLCAwLCB7MHhhYSwweDQ0LDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgwZSwweDQxLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHg5OTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU0LDB4MDAsMHhlMSwweDAxLDB4MmEsMHg2NCB9IH0sCi17ICAxNiwgMHg5OTIwLCAwLCB7MHgyZiwweDk0LDB4MTMsMHgyNCwweDAyLDB4NzEsMHg2MCwweDEyLDB4NjAsMHg0ZCwweDkwLDB4MDAsMHhjNSwweDAyLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5OTMwLCAwLCB7MHgzYSwweDQwLDB4MGYsMHg5MCwweDIzLDB4MjQsMHgwMiwweGM5LDB4MDIsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAyLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHg5OTQwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwMSwweGE0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg2MCB9IH0sCi17ICAxNiwgMHg5OTUwLCAwLCB7MHhhZiwweDkwLDB4ODMsMHg2NCwweDg4LDB4ZjksMHgyMCwweDNlLDB4NjIsMHgwMywweDkwLDB4ODMsMHhhNCwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHg5OTYwLCAwLCB7MHgzNiwweDYwLDB4MGYsMHgxMCwweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHg3ZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGExLDB4MDAsMHhjOCwweDgyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTgwLCAwLCB7MHg2ZiwweDAwLDB4MDMsMHhhMCwweDAwLDB4ZDgsMHg0MCwweDMwLDB4MDAsMHgwZSwweDgwLDB4MDMsMHg2MCwweDA0LDB4ZjgsMHgwMSB9IH0sCi17ICAxNiwgMHg5OTkwLCAwLCB7MHgzZSwweDEwLDB4NGYsMHg4MCwweDhiLDB4MjIsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAxLDB4MGUsMHg4MCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg5OWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDM4LDB4MDAsMHgwZSwweDAwLDB4YTksMHg5MCB9IH0sCi17ICAxNiwgMHg5OWIwLCAwLCB7MHgyZiwweGU2LDB4MjAsMHg4OCwweDAwLDB4OWUsMHg4MCwweDIzLDB4ODAsMHgwYSwweGU4LDB4MDMsMHgyOCwweDAwLDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5OWMwLCAwLCB7MHgxOCwweDgwLDB4MGQsMHhlYywweDAyLDB4MzgsMHg4MCwweGJhLDB4MDAsMHhhMiwweDgwLDB4MDgsMHhhMCwweDAzLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg5OWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZjLDB4MDIsMHg4MywweDgwLDB4MjAsMHhjOCB9IH0sCi17ICAxNiwgMHg5OWUwLCAwLCB7MHgwYiwweDIwLDB4MDIsMHgwYywweDAxLDB4OTIsMHgxMCwweDY4LDB4YzAsMHgzYSwweDNjLDB4MDIsMHhjYywweDEwLDB4M2IsMHgwMiB9IH0sCi17ICAxNiwgMHg5OWYwLCAwLCB7MHgwYywweGMwLDB4MjgsMHgzYywweDAyLDB4NGUsMHgwMCwweGIzLDB4MDAsMHgyOCwweGMwLDB4MjgsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5YTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDE0LDB4MDAsMHg4NywweDQyLDB4MmIsMHhjMCB9IH0sCi17ICAxNiwgMHg5YTEwLCAwLCB7MHgyOSwweDcwLDB4MjIsMHg5YywweDAwLDB4YjYsMHgwMCwweDJiLDB4YzIsMHgwYSwweDYwLDB4ODYsMHgxYywweDAwLDB4YjcsMHgyMSB9IH0sCi17ICAxNiwgMHg5YTIwLCAwLCB7MHgyOSwweGMwLDB4MDAsMHg3NCwweDAyLDB4NWMsMHgwMCwweDM3LDB4OTEsMHgwMSwweGUwLDB4MDgsMHg3NCwweDAyLDB4YTgsMHgwMCB9IH0sCi17ICAxNiwgMHg5YTMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhjNywweDgwLDB4MjEsMHhlMCB9IH0sCi17ICAxNiwgMHg5YTQwLCAwLCB7MHgyZiwweDc4LDB4MDIsMHg5ZSwweDAwLDB4OTYsMHg4MCwweDM5LDB4ZTAsMHgyZSwweGY4LDB4MDMsMHhkZSwweDMwLDB4ZjcsMHhkMCB9IH0sCi17ICAxNiwgMHg5YTUwLCAwLCB7MHgyZCwweGYyLDB4MDAsMHg3OCwweDAzLDB4NTIsMHgwMCwweGY3LDB4YTIsMHgzYiwweGUwLDB4MGUsMHg3OCwweDA3LDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg5YTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGI0LDB4MDAsMHhmYiwweDAwLDB4MGMsMHhjMCB9IH0sCi17ICAxNiwgMHg5YTcwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHhlYywweDEwLDB4ZDMsMHgwMCwweGI0LDB4YzAsMHgyZiwweDgwLDB4MDMsMHg2YywweDQ4LDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YTgwLCAwLCB7MHgzZSwweGM4LDB4NGQsMHg5MCwweDAzLDB4YTQsMHgwMCwweGZiLDB4MjAsMHgxZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHg5YTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhjYywweDgwLDB4MmIsMHgyYyB9IH0sCi17ICAxNiwgMHg5YWEwLCAwLCB7MHgyZiwweGY4LDB4MDMsMHg3ZSwweDAwLDB4NmUsMHg4MCwweDNiLDB4YTEsMHgwZCwweGQ4LDB4NDMsMHgzZSwweDAwLDB4ZmYsMHg5MCB9IH0sCi17ICAxNiwgMHg5YWIwLCAwLCB7MHgzMywweGUwLDB4MGYsMHhlOSwweDMzLDB4ZmUsMHgwMCwweGNmLDB4YzAsMHgzZiwweGUyLDB4MGYsMHhkOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGI0LDB4NDAsMHg4NywweDAwLDB4MjEsMHgwNCB9IH0sCi17ICAxNiwgMHg5YWQwLCAwLCB7MHgwOCwweDc4LDB4MDIsMHgxYywweDAwLDB4ODYsMHgwMCwweDIxLDB4YzAsMHgyOCwweDkwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgxMCB9IH0sCi17ICAxNiwgMHg5YWUwLCAwLCB7MHgyMSwweGMwLDB4MGYsMHg3MywweDAyLDB4Y2MsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg1MCwweDAyLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHg5YWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDlkLDB4MDAsMHhhNCwweDAwLDB4MjksMHg0OCB9IH0sCi17ICAxNiwgMHg5YjAwLCAwLCB7MHg2YSwweGYwLDB4ODIsMHg0YywweDAwLDB4YWUsMHgwMCwweGExLDB4YzQsMHgyOSwweDc0LDB4MDIsMHg1YywweDQwLDB4YTMsMHgxMCB9IH0sCi17ICAxNiwgMHg5YjEwLCAwLCB7MHg2MSwweGMyLDB4MGIsMHg2MCwweDA2LDB4YzgsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg1MCwweDAyLDB4YzAsMHgwNCB9IH0sCi17ICAxNiwgMHg5YjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGU2LDB4MDEsMHhhMywweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5YjMwLCAwLCB7MHgyOCwweDNjLDB4MDIsMHgwYywweDAwLDB4ODMsMHg0MiwweDIwLDB4YzgsMHgwOCwweDEwLDB4MDIsMHhjZCwweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg5YjQwLCAwLCB7MHgyOCwweGYwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMSwweDgzLDB4MDQsMHgyYywweGMwLDB4ODMsMHgxMCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHg5YjUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFhLDB4ODAsMHhlYiwweDAwLDB4MzgsMHhjMCB9IH0sCi17ICAxNiwgMHg5YjYwLCAwLCB7MHgwYSwweDkwLDB4MDMsMHg3YywweDIyLDB4YTIsMHg0MCwweDMyLDB4NDgsMHgwZCwweGIwLDB4MGIsMHgzZSwweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5YjcwLCAwLCB7MHgzMywweGY0LDB4MGYsMHg5MCwweDAzLDB4ZWMsMHgwMCwweDhmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5YjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGUwLDB4MDAsMHhkOSwweDAyLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHg5YjkwLCAwLCB7MHgwZSwweGI2LDB4MDMsMHhlYywweDAwLDB4ZmEsMHgyMCwweDNlLDB4YzAsMHg0ZiwweDI0LDB4MjMsMHhhYywweDYwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YmEwLCAwLCB7MHhhNiwweGMwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHgzYywweGMxLDB4MGYsMHg5MCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY4LDB4MDIsMHhjZiwweDAwLDB4MzMsMHhlMCB9IH0sCi17ICAxNiwgMHg5YmMwLCAwLCB7MHgyYywweGYwLDB4MTMsMHhiYywweDAwLDB4MmUsMHgxMCwweGIxLDB4NjQsMHgyZSwweGYwLDB4MDIsMHgzYywweDAwLDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHg5YmQwLCAwLCB7MHgzZiwweGMxLDB4NGQsMHhlYywweDYzLDB4ZmUsMHgwMCwweGI3LDB4MDAsMHgzYiwweGMwLDB4MGMsMHhkOCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHg5YmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDZjLDB4MjgsMHg4MSwweDgxLDB4MjIsMHhlMCB9IH0sCi17ICAxNiwgMHg5YmYwLCAwLCB7MHgwYSwweDM4LDB4MDIsMHgzYywweDA0LDB4YmEsMHhjOSwweDMyLDB4ZTAsMHgyMCwweDg0LDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzAwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHg5YywweDAyLDB4ZTcsMHg4MSwweGJiLDB4MDQsMHgyMiwweGMwLDB4MGEsMHg5OSwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI4LDB4NDAsMHg4OCwweDgwLDB4MjIsMHg4OCB9IH0sCi17ICAxNiwgMHg5YzIwLCAwLCB7MHgyOCwweGJjLDB4NDIsMHhhYywweDAwLDB4YmEsMHgwMCwweDJhLDB4ODAsMHgwOCwweDg0LDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzMwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhiMCwweDgyLDB4ZTgsMHg5MCwweGFiLDB4MDAsMHg2MiwweGMwLDB4MDgsMHhiMCwweDEyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDAwLDB4MDAsMHg4OSwweDAwLDB4MmEsMHg4MCB9IH0sCi17ICAxNiwgMHg5YzUwLCAwLCB7MHgyOCwweGIyLDB4MDIsMHgwYywweDAwLDB4YmEsMHgwMCwweDIwLDB4YzAsMHgwOCwweDAwLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzYwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDIwLDB4NGMsMHgxNCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5YzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY4LDB4MDAsMHhjOCwweDAwLDB4YjIsMHhjMCB9IH0sCi17ICAxNiwgMHg5YzgwLCAwLCB7MHgyYywweGIyLDB4MDMsMHhhYywweDAwLDB4ZmEsMHgwMCwweDNhLDB4YzAsMHg0ZSwweGE1LDB4MDMsMHhiYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzkwLCAwLCB7MHgzZiwweGMwLDB4MDksMHhhMCwweDAzLDB4ZTksMHgwNCwweGVmLDB4MDAsMHhiYSwweGMwLDB4MGMsMHhiMCwweDAxLDB4YzAsMHgwMSB9IH0sCi17ICAxNiwgMHg5Y2EwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGZjLDB4MDAsMHhmNSwweDAwLDB4MzUsMHhjMCB9IH0sCi17ICAxNiwgMHg5Y2IwLCAwLCB7MHhhZiwweDM0LDB4MDMsMHhmYywweDAwLDB4ZjQsMHgwMCwweDM5LDB4YzAsMHgwZiwweGMyLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHg5Y2MwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHhhMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNSB9IH0sCi17ICAxNiwgMHg5Y2QwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhmZiwweDI5LDB4M2QsMHgyMCB9IH0sCi17ICAxNiwgMHg5Y2UwLCAwLCB7MHg4ZSwweGMxLDB4MDMsMHgzMiwweDQ4LDB4ZGMsMHg4MCwweDIzLDB4MjUsMHgwZSwweGYyLDB4MDMsMHgzYywweGMwLDB4ZGYsMHg4NCB9IH0sCi17ICAxNiwgMHg5Y2YwLCAwLCB7MHgzMywweGM5LDB4MGYsMHhmMiwweDAzLDB4ZmMsMHgwMCwweGNmLDB4ODAsMHgzMywweDQwLDB4MGMsMHhmMiwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZDAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVjLDB4YzAsMHhiYiwweDYwLDB4MmUsMHgwOCB9IH0sCi17ICAxNiwgMHg5ZDEwLCAwLCB7MHgwOCwweDgxLDB4MDIsMHgyMCwweDA0LDB4ODgsMHgyMCwweDIwLDB4NDgsMHgwOCwweGYxLDB4ODIsMHgyZCwweGMwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZDIwLCAwLCB7MHgyMiwweGQ0LDB4MDksMHhmNSwweDAyLDB4ZmMsMHgwOCwweDhiLDB4MDEsMHgyMiwweDQwLDB4MjgsMHhiNCwweDAyLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MjAsMHhiMywweDA5LDB4MmMsMHg4MiB9IH0sCi17ICAxNiwgMHg5ZDQwLCAwLCB7MHgwOCwweDEwLDB4MTYsMHhhMCwweDEwLDB4OTAsMHgwOCwweDI4LDB4NDgsMHgwYSwweDMyLDB4MDIsMHgwYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZDUwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMiwweDkzLDB4MDEsMHgyMCwweDAwLDB4OGEsMHgzMSwweDIyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHg5ZDYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDQsMHhiYiwweDAwLDB4MmMsMHg4MCB9IH0sCi17ICAxNiwgMHg5ZDcwLCAwLCB7MHgwOCwweDg2LDB4MDIsMHhhMCwweDIwLDB4YTAsMHgwMCwweDJhLDB4NjAsMHgwYSwweGIwLDB4MTAsMHgyYywweDAwLDB4YWIsMHgwYyB9IH0sCi17ICAxNiwgMHg5ZDgwLCAwLCB7MHg2ZSwweGMwLDB4MDksMHhiMCwweDAyLDB4Y2MsMHgwMCwweDliLDB4MDAsMHgyMiwweDYwLDB4MGEsMHhiMCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGVjLDB4MDAsMHhiYiwweDAwLDB4M2UsMHgzNCB9IH0sCi17ICAxNiwgMHg5ZGEwLCAwLCB7MHgwOCwweGEwLDB4MGIsMHg4MywweDAwLDB4ZDksMHgwMiwweDNhLDB4ZTAsMHgyZSwweGIwLDB4MGIsMHgyYywweDAwLDB4ZjgsMHg4MCB9IH0sCi17ICAxNiwgMHg5ZGIwLCAwLCB7MHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGNhLDB4NDAsMHhiMiwweDcyLDB4MGUsMHhiMCwweDBiLDB4YzAsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJjLDB4MTAsMHhmYiwweDAwLDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZGQwLCAwLCB7MHgwZCwweGY4LDB4MTMsMHg3MCwweDQ4LDB4ZGQsMHg0MCwweDM3LDB4YzIsMHg4ZCwweGYwLDB4MDMsMHhkYywweDAwLDB4ZGQsMHhjOCB9IH0sCi17ICAxNiwgMHg5ZGUwLCAwLCB7MHgxMywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGVlLDB4NDAsMHg3ZiwweDQwLDB4MGQsMHg3MCwweDAzLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDAxLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHg5ZTAwLCAwLCB7MHgwNCwweDEwLDB4MDMsMHgyMCwweDQwLDB4ZTgsMHgxMCwweDNhLDB4YzAsMHgwZCwweGIwLDB4MDMsMHhhYywweDA4LDB4ZjgsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZTEwLCAwLCB7MHhiMiwweGMwLDB4MmMsMHhiMCwweDMzLDB4YTQsMHg4MiwweGRhLDB4NDAsMHhiYSwweDQwLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDNjLDB4MDgsMHhiZiwweDgwLDB4MjIsMHhjOCB9IH0sCi17ICAxNiwgMHg5ZTMwLCAwLCB7MHgwOCwweGI3LDB4MDAsMHgyMywweDQ0LDB4ODgsMHhkMCwweDIyLDB4ZDAsMHgwOCwweDcwLDB4ODIsMHhmYywweDAwLDB4YjIsMHhlMCB9IH0sCi17ICAxNiwgMHg5ZTQwLCAwLCB7MHgwMywweGY0LDB4MDgsMHhmNSwweDAyLDB4MzcsMHgwNCwweDhiLDB4ZDEsMHgyMiwweDYwLDB4NGIsMHhmZCwweDAyLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMywweDEwLDB4YTQsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZTYwLCAwLCB7MHgwOCwweDAwLDB4MDIsMHg0OCwweDAwLDB4YTAsMHg0MiwweDJhLDB4ZDAsMHgwMSwweDMwLDB4MDIsMHg4YywweDAwLDB4YjMsMHg4MCB9IH0sCi17ICAxNiwgMHg5ZTcwLCAwLCB7MHgyYywweGMwLDB4MDksMHgzMSwweDAyLDB4Y2MsMHgwMCwweDg5LDB4MDAsMHgyMiwweGU4LDB4MDMsMHgzOCwweDAyLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4MjcsMHg2NCB9IH0sCi17ICAxNiwgMHg5ZTkwLCAwLCB7MHg2OCwweDRhLDB4MDIsMHg1MiwweDAwLDB4OGMsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHg5ZWEwLCAwLCB7MHgyZCwweGUyLDB4MTksMHgzOSwweDAyLDB4NWUsMHgzMCwweDg1LDB4OTgsMHgyMSwweGU0LDB4MGIsMHg3OSwweDAyLDB4ZDgsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZWIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmMywweDIwLDB4MzQsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZWMwLCAwLCB7MHgwYywweGI4LDB4MDMsMHg0OCwweDgwLDB4ZTIsMHgyMiwweDM4LDB4YzAsMHgwZCwweDMwLDB4MDMsMHg4YywweDAwLDB4ZjMsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZWQwLCAwLCB7MHgzZSwweGMwLDB4MGQsMHgzMSwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzOCwweDA2LDB4MGYsMHgzMCwweDgzLDB4ZDIsMHgwMiB9IH0sCi17ICAxNiwgMHg5ZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2IsMHgwMSB9IH0sCi17ICAxNiwgMHg5ZWYwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHg5MCwweDAwLDB4ZjYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGY0LDB4MDEsMHhmYywweDAwLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHg5ZjAwLCAwLCB7MHgzMywweGMyLDB4MGUsMHhmNSwweDEzLDB4YmMsMHgwMCwweGVkLDB4MDAsMHgzZiwweGM0LDB4MGYsMHhmMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg5ZjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCB9IH0sCi17ICAxNiwgMHg5ZjIwLCAwLCB7MHgwZSwweGEwLDB4MDEsMHg2NCwweDAxLDB4ZDgsMHgwMCwweDMyLDB4ZTAsMHgyYywweGI1LDB4MDMsMHgyYywweDAwLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZjMwLCAwLCB7MHg3YSwweGMwLDB4MGQsMHhiNCwweDAzLDB4MmQsMHg4MCwweGM5LDB4MDIsMHgzMiwweGMwLDB4MGMsMHhiMCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4ODAsMHhiNywweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHg5ZjUwLCAwLCB7MHgwZCwweDYwLDB4MDIsMHhkMCwweDAxLDB4ODQsMHgwMCwweDIxLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgxZCwweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZjYwLCAwLCB7MHgyMSwweGM4LDB4MGIsMHhmNCwweDAzLDB4MWUsMHhjMCwweDg2LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg3YywweDAzLDB4NTIsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4YzAsMHhiNywweDkwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHg5ZjgwLCAwLCB7MHgwOCwweDc4LDB4MDYsMHhkNiwweDAxLDB4YjQsMHg4MiwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MGEsMHgxZSwweDAwLDB4YjUsMHhjMCB9IH0sCi17ICAxNiwgMHg5ZjkwLCAwLCB7MHgyOSwweGU4LDB4MDksMHg3OCwweDAyLDB4MzYsMHhjMSwweDk3LDB4ODAsMHgyOCwweGIwLDB4MGEsMHg3YSwweDAyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHhiYiwweDAwLDB4MmMsMHhlMCB9IH0sCi17ICAxNiwgMHg5ZmIwLCAwLCB7MHgwOSwweDM1LDB4ODIsMHhjMCwweGMxLDB4YTAsMHg1MSwweDIwLDB4ZTQsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4YmIsMHhjNCB9IH0sCi17ICAxNiwgMHg5ZmMwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDYsMHgwMCwweDkzLDB4MTgsMHhhYSwweGIwLDB4MmEsMHgzMCwweDBhLDB4NTIsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZmQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmYSwweDAxLDB4M2QsMHhhYyB9IH0sCi17ICAxNiwgMHg5ZmUwLCAwLCB7MHg0YywweGVjLDB4MTMsMHg3OCwweDEwLDB4ZjYsMHg4MCwweGIzLDB4OTAsMHgwYywweGEwLDB4MDMsMHgyOCwweDAwLDB4ZmUsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZmYwLCAwLCB7MHgzYSwweDgxLDB4MGQsMHhhMCwweDBmLDB4MmEsMHg4MCwweGRlLDB4MDQsMHgzYiwweGEwLDB4MGUsMHhhMCwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhhMDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhhMDEwLCAwLCB7MHgwZCwweDgwLDB4MDIsMHhlMSwweDAwLDB4ZDgsMHg0OCwweDNlLDB4MTIsMHgwZiwweDgwLDB4MTMsMHg2MCwweDAwLDB4ZjgsMHg2MCB9IH0sCi17ICAxNiwgMHhhMDIwLCAwLCB7MHgzZSwweDAwLDB4MDcsMHg4MCwweDAzLDB4YTAsMHgwMiwweGU4LDB4MDQsMHgyNiwweDA4LDB4MDUsMHg4MCwweDAzLDB4OTIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDA0LDB4M2EsMHg0MCB9IH0sCi17ICAxNiwgMHhhMDQwLCAwLCB7MHgwYywweDEyLDB4MDMsMHgyNCwweDgyLDB4YzksMHgwMCwweDM2LDB4NDQsMHgwZiwweDEwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMDUwLCAwLCB7MHgzNiwweDQwLDB4MDQsMHg5MCwweDAzLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgxMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhhMDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDgxLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhhMDcwLCAwLCB7MHgwOCwweDkwLDB4MWEsMHgyNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NjgsMHgwYiwweDk5LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMDgwLCAwLCB7MHgyMiwweDQwLDB4NjgsMHg5MCwweDBhLDB4MjQsMHgwMCwweDg5LDB4MDAsMHhhMiwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhMDkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDEwLDB4MjIsMHhlMCB9IH0sCi17ICAxNiwgMHhhMGEwLCAwLCB7MHgwOCwweDk0LDB4MDAsMHgwNCwweDA0LDB4OGIsMHgwOCwweDI2LDB4YzAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDA0LDB4YjksMHgwYyB9IH0sCi17ICAxNiwgMHhhMGIwLCAwLCB7MHgyNCwweDQwLDB4MGEsMHgxMCwweDAyLDB4MjQsMHgwMCwweDIzLDB4MDIsMHgyYSwweDQwLDB4YTgsMHgxMCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhhMGMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4OTAsMHhiMSwweDIwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhhMGQwLCAwLCB7MHgwOCwweDEyLDB4MDIsMHgwYywweDEwLDB4ODEsMHgwMiwweGEwLDB4NTAsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4YjEsMHgwNSB9IH0sCi17ICAxNiwgMHhhMGUwLCAwLCB7MHgwMCwweDQ4LDB4MGEsMHgxMCwweDAyLDB4MDQsMHhhMCwweGExLDB4MDAsMHgyOCwweDRhLDB4MDgsMHgxMiwweDAwLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmOCwweDUwLDB4YmEsMHgxNCB9IH0sCi17ICAxNiwgMHhhMTAwLCAwLCB7MHgwYywweDg1LDB4MDMsMHgwMSwweDQyLDB4YzgsMHg1MCwweDM0LDB4MDAsMHgwZiwweDg1LDB4MDMsMHgyMSwweDQwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTEwLCAwLCB7MHgzNiwweDAwLDB4MGUsMHg4MCwweDEzLDB4MjAsMHg4MCwweGUwLDB4MDAsMHgxYSwweDA4LDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhhMTIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGU0LDB4NDQsMHhmOSwweDEwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhhMTMwLCAwLCB7MHgyZiwweGQxLDB4MTMsMHhmNCwweDA0LDB4ZjUsMHgwMCwweDNmLDB4NDAsMHgwZiwweDkxLDB4MGIsMHhlNCwweDQwLDB4ZmYsMHgyOCB9IH0sCi17ICAxNiwgMHhhMTQwLCAwLCB7MHhiZSwweDRlLDB4MGQsMHg5NiwweDgzLDB4ZDQsMHhhMiwweGRkLDB4MjgsMHgzNywweDRhLDB4MGYsMHg5MywweDgzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhhMTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgwNSwweGU0LDB4MTAsMHhjZCwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhhMTYwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHgzNSwweDAyLDB4NWQsMHgwMSwweDMxLDB4NDQsMHgwZiwweGQwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMTcwLCAwLCB7MHgzMiwweDYwLDB4MGMsMHg5OCwweDgzLDB4ZTYsMHg0MCwweGQ5LDB4MDAsMHgzNiwweDZhLDB4MGMsMHg5ZSwweDgzLDB4MjYsMHgwMSB9IH0sCi17ICAxNiwgMHhhMTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDAsMHg4OCwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTkwLCAwLCB7MHgwYiwweDgwLDB4NDIsMHgwMiwweDgwLDB4OGEsMHgwMCwweDIyLDB4MjAsMHg4OCwweDgwLDB4MDMsMHgyMCwweDA4LDB4YjgsMHg4MiB9IH0sCi17ICAxNiwgMHhhMWEwLCAwLCB7MHgyMiwweDIxLDB4MDgsMHg4OCwweDgyLDB4ZTIsMHg0MiwweDg4LDB4YTgsMHgyMiwweDIwLDB4MDgsMHhjZSwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhhMWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDIsMHg4MSwweDAwLDB4NjgsMHg0MCB9IH0sCi17ICAxNiwgMHhhMWMwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHg4NCwweDAxLDB4YjksMHgwMCwweDIwLDB4NDAsMHg0OSwweDEwLDB4MGEsMHgwNCwweDAwLDB4YjUsMHgwOCB9IH0sCi17ICAxNiwgMHhhMWQwLCAwLCB7MHgyMSwweDQ2LDB4MDgsMHg1MCwweDAyLDB4ZDQsMHgwMCwweDhkLDB4MjAsMHgyNSwweDRhLDB4MGIsMHg1MCwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhMWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE0LDB4MDAsMHg4OSwweDA0LDB4NmUsMHg1NCB9IH0sCi17ICAxNiwgMHhhMWYwLCAwLCB7MHgwYiwweDEwLDB4MTIsMHhhNCwweDAxLDB4YTksMHgwMCwweGEyLDB4NDAsMHgxOCwweDkwLDB4MTYsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMjAwLCAwLCB7MHgyMywweDQwLDB4MTgsMHhkMCwweDAyLDB4ZjQsMHgwMCwweDhkLDB4NDAsMHgyMSwweDRhLDB4MGIsMHhkMCwweDAyLDB4NDYsMHgwNCB9IH0sCi17ICAxNiwgMHhhMjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhjOSwweDAwLDB4M2EsMHg1MCB9IH0sCi17ICAxNiwgMHhhMjIwLCAwLCB7MHg4ZiwweDk2LDB4MGIsMHg4NCwweDAyLDB4ZjEsMHgwMSwweDMwLDB4NDgsMHg4ZCwweDkwLDB4MDMsMHgyNCwweDEwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMjMwLCAwLCB7MHhiMiwweDQwLDB4MmMsMHg5MCwweDAzLDB4ZTYsMHg0MCwweGQxLDB4YzAsMHgzNiwweDUwLDB4MmYsMHg5MCwweDBiLDB4NjgsMHgwNCB9IH0sCi17ICAxNiwgMHhhMjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2MCB9IH0sCi17ICAxNiwgMHhhMjUwLCAwLCB7MHgwZiwweDk5LDB4YzMsMHg2NCwweDAwLDB4ZDksMHgyOCwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHg0MCB9IH0sCi17ICAxNiwgMHhhMjYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgyMCwweGY5LDB4NDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDAxLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjgwLCAwLCB7MHg4ZiwweDgwLDB4MDMsMHhlMCwweDAyLDB4ZjgsMHgwNCwweDMyLDB4MDAsMHgwZCwweDgwLDB4NDMsMHgyMCwweDAyLDB4Y2MsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjkwLCAwLCB7MHgzZiwweDAwLDB4MGYsMHhjMCwweDEzLDB4OTAsMHgwMiwweGRjLDB4NDAsMHgzZiwweDEwLDB4NGMsMHhjMCwweDIzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhhMmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhhMmIwLCAwLCB7MHgwYiwweGU4LDB4MjAsMHhmOCwweDAwLDB4NGUsMHhjMCwweDIzLDB4YTAsMHgwOCwweGEwLDB4MDMsMHg2OCwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMmMwLCAwLCB7MHgyZSwweDgwLDB4MWYsMHhhMCwweDAyLDB4MmEsMHgwNiwweDhhLDB4MDAsMHgyZSwweGEwLDB4MDIsMHg2MCwweDAzLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhhMmUwLCAwLCB7MHgwYiwweDNkLDB4MDIsMHhjMCwweDAzLDB4MjMsMHgwMCwweDIwLDB4ZTAsMHgwMSwweGIwLDB4MDYsMHg0YywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMmYwLCAwLCB7MHgyZSwweGMwLDB4NGIsMHgzMCwweDAyLDB4OGUsMHgwOCwweDgzLDB4ODAsMHgyYywweGM0LDB4MDAsMHgzNCwweDhlLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4ODAsMHhiNSwweDgwLDB4NjEsMHhjMCB9IH0sCi17ICAxNiwgMHhhMzEwLCAwLCB7MHgwYiwweDQwLDB4MDIsMHhkNCwweDAwLDB4ODQsMHgwOCwweDIzLDB4YzIsMHgwOCwweDUwLDB4MDIsMHg1ZSwweGMwLDB4ODQsMHgwMSB9IH0sCi17ICAxNiwgMHhhMzIwLCAwLCB7MHgyZCwweDAwLDB4OGEsMHgwOCwweDAyLDB4MTAsMHgyNCwweDg0LDB4MDgsMHg2ZCwweDAwLDB4MGEsMHgwMywweDEyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhmNSwweDgyLDB4MjEsMHg2MCB9IH0sCi17ICAxNiwgMHhhMzQwLCAwLCB7MHgwZiwweDc4LDB4MDMsMHhkNiwweDA0LDB4YWUsMHg4MCwweDMxLDB4ZTAsMHgwZCwweDU4LDB4MjMsMHg3ZSwweDAwLDB4YzYsMHg4MCB9IH0sCi17ICAxNiwgMHhhMzUwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHg3OCwweDAzLDB4OGUsMHgwMCwweGQ3LDB4ODIsMHgzZCwweGYwLDB4MGMsMHg3YSwweDAzLDB4NmEsMHgwMiB9IH0sCi17ICAxNiwgMHhhMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmMSwweDAwLDB4YmEsMHhkOCB9IH0sCi17ICAxNiwgMHhhMzcwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlNCwweDEyLDB4ZjgsMHgwMCwweGJlLDB4ODAsMHgwZSwweDEwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMzgwLCAwLCB7MHgzZSwweDAwLDB4NWYsMHg4MCwweDAzLDB4ZTAsMHgwOCwweGY4LDB4MDQsMHgzYywweDAwLDB4MGYsMHg4MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhhMzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MjAsMHhmZiwweDgwLDB4M2YsMHhmMCB9IH0sCi17ICAxNiwgMHhhM2EwLCAwLCB7MHgwZiwweGY4LDB4MDMsMHhkMiwweDAwLDB4ZWYsMHg4NCwweGIzLDB4NjEsMHgwYywweGI5LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCB9IH0sCi17ICAxNiwgMHhhM2IwLCAwLCB7MHgzMywweGUwLDB4MGMsMHhmOCwweDEzLDB4MjIsMHgxMSwweGNkLDB4OTAsMHgzZiwweDYwLDB4MGMsMHhlOCwweDAzLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhhM2MwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhmNSwweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhhM2QwLCAwLCB7MHgwYiwweDAwLDB4MDIsMHhkNCwweDA0LDB4ODQsMHgyMCwweDIzLDB4NDAsMHgwOCwweDVhLDB4MDIsMHhkYywweDAwLDB4YjQsMHgwMCB9IH0sCi17ICAxNiwgMHhhM2UwLCAwLCB7MHgyMSwweDAwLDB4MjgsMHhjMiwweDAyLDB4MWUsMHgwNCwweDg2LDB4MDQsMHgyZCwweDg4LDB4MDgsMHhkMCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhhM2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDljLDB4MDAsMHhiNSwweDAwLDB4MmQsMHg0MCB9IH0sCi17ICAxNiwgMHhhNDAwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHhmNCwweDIwLDB4YTcsMHgwNCwweDIxLDB4YzAsMHgwYSwweDUwLDB4MDIsMHhkYywweDAwLDB4YmUsMHgwMCB9IH0sCi17ICAxNiwgMHhhNDEwLCAwLCB7MHgyMSwweGMwLDB4MDgsMHg3MCwweDEyLDB4MDAsMHgwMCwweDg1LDB4MDAsMHgyZCwweDQwLDB4ODgsMHg2OCwweDBhLDB4MDQsMHgwMCB9IH0sCi17ICAxNiwgMHhhNDIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgxNCwweGNjLDB4MDAsMHhhMSwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhhNDMwLCAwLCB7MHgxYiwweDA4LDB4MDYsMHhjNCwweDIwLDB4ODAsMHgwMCwweDIwLDB4OTgsMHgxYSwweDEwLDB4MDIsMHhjYywweDAwLDB4YjEsMHgwOCB9IH0sCi17ICAxNiwgMHhhNDQwLCAwLCB7MHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MGMsMHgwMSwweDgyLDB4YzAsMHgyYywweGFjLDB4MjgsMHg5MCwweDIyLDB4MTgsMHgwNCB9IH0sCi17ICAxNiwgMHhhNDUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhiMywweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhhNDYwLCAwLCB7MHgwZiwweGJhLDB4MDMsMHhlNSwweDAyLDB4ZTksMHgwNCwweDMyLDB4OTAsMHhhZSwweGIwLDB4MDMsMHhmYywweDEwLDB4ZmIsMHg0MCB9IH0sCi17ICAxNiwgMHhhNDcwLCAwLCB7MHhiMiwweDAwLDB4MGMsMHg4MCwweDBiLDB4MmMsMHgwMiwweDgyLDB4MTgsMHgzZiwweGEwLDB4MGMsMHhkMCwweDAzLDB4MmUsMHgwNCB9IH0sCi17ICAxNiwgMHhhNDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweGVjLDB4MDQsMHhmYiwweDAxLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhhNDkwLCAwLCB7MHgwZiwweGI2LDB4NDMsMHhlNCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4ODAsMHgwMSwweDkwLDB4MDMsMHhlYywweDAwLDB4ZjgsMHg4MSB9IH0sCi17ICAxNiwgMHhhNGEwLCAwLCB7MHgzZSwweGQwLDB4MGQsMHhiNCwweDUzLDB4ZTAsMHgwMCwweGY5LDB4NDAsMHgzZSwweDQwLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNGIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGRjLDB4MDIsMHhjZCwweDgwLDB4MzMsMHg2MCB9IH0sCi17ICAxNiwgMHhhNGMwLCAwLCB7MHgyYywweGRhLDB4MDMsMHhmYywweDAwLDB4ZWMsMHgwMCwweDMzLDB4NDAsMHgwZiwweGYyLDB4MDMsMHg3YywweDA0LDB4ZmUsMHgwMCB9IH0sCi17ICAxNiwgMHhhNGQwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHhjOCwweDAzLDB4M2MsMHgwMCwweGNlLDB4MDAsMHgzMSwweDgwLDB4MGMsMHhkMSwweDAzLDB4MjQsMHgwNCB9IH0sCi17ICAxNiwgMHhhNGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTEsMHgwNCwweDZjLDB4MDAsMHgwOSwweDAwLDB4MmEsMHg2NCB9IH0sCi17ICAxNiwgMHhhNGYwLCAwLCB7MHgwOCwweDhlLDB4MDIsMHhjMiwweDEwLDB4YTAsMHgxMCwweDNlLDB4MTAsMHgwYiwweDk4LDB4MDIsMHhlYywweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhhNTAwLCAwLCB7MHgwMiwweGQ4LDB4MDgsMHhiZSwweDIyLDB4MjAsMHgwMCwweDg5LDB4MDAsMHgyMiwweDUwLDB4MDgsMHhhMCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhhNTEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHgwYiwweDIwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhhNTIwLCAwLCB7MHgwOCwweGEwLDB4MDIsMHhlNSwweDQyLDB4YWIsMHgwNCwweDIyLDB4MTgsMHgwYiwweGIwLDB4MDIsMHg2YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTMwLCAwLCB7MHgyMCwweDA0LDB4MDgsMHgwMSwweDAyLDB4MDAsMHgwNCwweGE4LDB4NDAsMHgyMiwweDEwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDgsMHg4MywweDAwLDB4MjgsMHg0MCB9IH0sCi17ICAxNiwgMHhhNTUwLCAwLCB7MHgwOCwweDA0LDB4MDIsMHhjNCwweDAyLDB4YTgsMHgwMCwweDJjLDB4MDAsMHgwYiwweDEyLDB4MDIsMHhjYywweDAwLDB4YjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTYwLCAwLCB7MHgyMCwweGMwLDB4NDAsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAsMHhhOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MDIsMHgxMSB9IH0sCi17ICAxNiwgMHhhNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwZCwweDZjLDB4MDAsMHhjOSwweDAwLDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHhhNTgwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhlYywweDAyLDB4ZWIsMHgwMCwweDMyLDB4NDAsMHgwZiwweGIwLDB4MDMsMHg2YywweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTkwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHg4MCwweGM4LDB4MDAsMHgzMCwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMyB9IH0sCi17ICAxNiwgMHhhNWEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhhNWIwLCAwLCB7MHgwZiwweGMyLDB4MTMsMHhmMCwweDAwLDB4ZjQsMHgwMCwweDNmLDB4MDAsMHg0ZiwweGQ0LDB4MDMsMHhmYywweDAwLDB4ZjUsMHgwMCB9IH0sCi17ICAxNiwgMHhhNWMwLCAwLCB7MHgzZiwweGMwLDB4OGYsMHhmMCwweDAzLDB4ZmMsMHg0MCwweGZmLDB4MDAsMHgzNywweGMwLDB4MmYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhhNWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4MDAsMHhjYywweDAwLDB4MzMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNWUwLCAwLCB7MHgwZSwweGQwLDB4MGIsMHgzMywweDAwLDB4Y2MsMHgwMCwweDMzLDB4ZTAsMHgwZiwweGMwLDB4ODMsMHg3YywweDAwLDB4Y2YsMHgyMCB9IH0sCi17ICAxNiwgMHhhNWYwLCAwLCB7MHg3YiwweDA5LDB4OGMsMHhmOCwweDAzLDB4ZmUsMHg1MCwweGNmLDB4MzgsMHgzZiwweGUxLDB4MGQsMHhjMiwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNjAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGUyLDB4MDAsMHg5OCwweDA4LDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhhNjEwLCAwLCB7MHgwOCwweDk4LDB4MDIsMHgyMCwweDAwLDB4ODgsMHhkMCwweDIyLDB4ZTAsMHgwZSwweGI0LDB4MjIsMHg3ZCwweDE5LDB4OWYsMHg2OSB9IH0sCi17ICAxNiwgMHhhNjIwLCAwLCB7MHgyZSwweDkwLDB4MDgsMHgzMCwweDkyLDB4MjgsMHg4MSwweGRiLDB4NjQsMHgyZSwweGUxLDB4ODgsMHgxNiwweGEyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM4LDB4MDAsMHg5MCwweDI0LDB4MjAsMHgwMSB9IH0sCi17ICAxNiwgMHhhNjQwLCAwLCB7MHgwOCwweDEwLDB4MTYsMHgwMCwweDgyLDB4ODMsMHgwMSwweDI4LDB4YzEsMHgwYiwweDAyLDB4ODIsMHgwYywweGUwLDB4YTMsMHgxMCB9IH0sCi17ICAxNiwgMHhhNjUwLCAwLCB7MHgyOCwweDBlLDB4MWIsMHg5MiwweDAyLDB4ODQsMHg4NCwweDkzLDB4MjAsMHgyZSwweGMwLDB4MDgsMHgzMSwweDAyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHhhNjYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE4LDB4MTAsMHg5OCwweDAwLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhhNjcwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgwMCwweDYwLDB4OGEsMHgxMCwweDJhLDB4YzAsMHgwYSwweDIwLDB4MDIsMHg2YywweDE4LDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNjgwLCAwLCB7MHg2ZSwweDYwLDB4MmIsMHg5MCwweDAyLDB4NDYsMHgyMCwweDhiLDB4MDAsMHgyZSwweGMyLDB4MDgsMHhiMSwweDgyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGU0LDB4MDIsMHhjYiwweDAwLDB4YjIsMHg0MCB9IH0sCi17ICAxNiwgMHhhNmEwLCAwLCB7MHgyYywweDkyLDB4MDMsMHgyNywweDAwLDB4ODgsMHgwMCwweGJhLDB4YzAsMHgwZiwweDg4LDB4MDMsMHgyYywweDAwLDB4ZWIsMHgwNCB9IH0sCi17ICAxNiwgMHhhNmIwLCAwLCB7MHgzYSwweGEwLDB4Y2YsMHgyYywweGEzLDB4ZWQsMHgwMCwweDliLDB4MDAsMHgzYywweGYwLDB4MmQsMHg4YywweDMzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI0LDB4MDQsMHhlZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhNmQwLCAwLCB7MHgwZCwweDUxLDB4MDMsMHhmMCwweDAwLDB4ZjEsMHg4MSwweDM3LDB4YzAsMHgwZSwweGY0LDB4MDMsMHg5YywweDEwLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhhNmUwLCAwLCB7MHgzZCwweDgwLDB4MGMsMHhlYywweDA3LDB4YjgsMHgwOCwweGZmLDB4MDIsMHgxZiwweGM0LDB4MGYsMHhjOCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDllLDB4MDAsMHhjMywweDAwLDB4MzgsMHg0MCB9IH0sCi17ICAxNiwgMHhhNzAwLCAwLCB7MHgwYywweDkyLDB4MDMsMHhhNCwweDgwLDB4ZmIsMHgyMCwweDNhLDB4YzAsMHgwZCwweDk0LDB4MDMsMHgyYywweDQwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzEwLCAwLCB7MHgzZSwweDAxLDB4MGYsMHg4MCwweDAzLDB4ZTUsMHgwMCwweGViLDB4MDAsMHgzYSwweGMwLDB4MGQsMHg4NCwweDBiLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNzIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDgsMHg4YiwweDAyLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhhNzMwLCAwLCB7MHgwOCwweDkyLDB4MDMsMHgyMSwweDAwLDB4OGIsMHg0OCwweDIyLDB4YzAsMHgwYiwweGI3LDB4MDIsMHgzZCwweDQwLDB4M2YsMHgwMSB9IH0sCi17ICAxNiwgMHhhNzQwLCAwLCB7MHgyMiwweDc0LDB4MGIsMHg5MCwweDAyLDB4MjgsMHgwNCwweGJmLDB4MDAsMHhiMiwweGMwLDB4MGIsMHg4NSwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQwLDB4MDEsMHg4MCwweDAwLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzYwLCAwLCB7MHgwOCwweDJjLDB4MTIsMHg4OCwweDQwLDB4YjAsMHg0MCwweDA4LDB4YzAsMHgwYiwweDE4LDB4MDIsMHgwZSwweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzcwLCAwLCB7MHgyOCwweDIwLDB4MTEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweDAwLDB4MDksMHgwMCwweDA2LDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDEyLDB4MDAsMHg4NCwweDgwLDB4MjEsMHhhMCB9IH0sCi17ICAxNiwgMHhhNzkwLCAwLCB7MHgyOCwweDY4LDB4MTIsMHgzYSwweDAwLDB4ODQsMHg4MCwweDI1LDB4ZTAsMHg4YiwweDU4LDB4MDIsMHgxZSwweDQwLDB4YjcsMHg4MiB9IH0sCi17ICAxNiwgMHhhN2EwLCAwLCB7MHgyMSwweGE2LDB4MGIsMHg3OCwweDAyLDB4MWEsMHgwMCwweGI3LDB4ODAsMHgyMSwweDIwLDB4MGIsMHg1OCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhhN2IwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDAsMHhjOCwweDIxLDB4MzgsMHgwOSB9IH0sCi17ICAxNiwgMHhhN2MwLCAwLCB7MHgwYywweDI4LDB4MDMsMHg4MCwweDAxLDB4ZjEsMHgwMCwweDM4LDB4YzAsMHgwZCwweDg1LDB4MDIsMHgwYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhN2QwLCAwLCB7MHgzOCwweDg1LDB4MGYsMHgxMCwweDAzLDB4OGMsMHgwMCwweGViLDB4MTAsMHgzYywweGM4LDB4MGQsMHgzMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhhN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweDk4LDB4MDAsMHhmYywweDAxLDB4M2YsMHg4MCB9IH0sCi17ICAxNiwgMHhhN2YwLCAwLCB7MHgwZiwweDY4LDB4MDMsMHhkMCwweDQwLDB4ZmMsMHgwMCwweDNiLDB4YzAsMHgwZCwweGMwLDB4MDMsMHhmYywweDIwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhODAwLCAwLCB7MHgzYiwweGM1LDB4MGYsMHhmMCwweDBiLDB4YjQsMHg0MCwweGZmLDB4MTgsMHgzZiwweDAwLDB4MGYsMHhmMSwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhhODEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhlYiwweDAwLDB4YjAsMHg0MSB9IH0sCi17ICAxNiwgMHhhODIwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlMCwweDA0LDB4Y2EsMHgwNCwweGIwLDB4ZTAsMHgwZSwweGIwLDB4MDMsMHhlYywweDgwLDB4Y2IsMHgyMCB9IH0sCi17ICAxNiwgMHhhODMwLCAwLCB7MHgzMiwweDgxLDB4MGMsMHhhMCwweDAzLDB4ZWUsMHgwMCwweGRiLDB4MDAsMHgzZSwweDAwLDB4MGUsMHhiMCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhhODQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDk0LDB4MDQsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhhODUwLCAwLCB7MHg0OCwweDYwLDB4MDIsMHhmMCwweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhmYywweGEwLDB4ODMsMHgyOCB9IH0sCi17ICAxNiwgMHhhODYwLCAwLCB7MHhhMywweDgwLDB4MDgsMHg2MCwweDAyLDB4ZGMsMHgwMCwweDg3LDB4MjAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhODcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDljLDB4MDIsMHhhMywweDgwLDB4MjEsMHg2MCB9IH0sCi17ICAxNiwgMHhhODgwLCAwLCB7MHgwOCwweDY4LDB4MDIsMHhkMiwweDAwLDB4ODcsMHg4MCwweDIxLDB4ZTAsMHgyOSwweDc4LDB4MDIsMHhkZSwweDgwLDB4ODcsMHg5MCB9IH0sCi17ICAxNiwgMHhhODkwLCAwLCB7MHgyMSwweGEwLDB4MTksMHg0OCwweDAyLDB4ZmUsMHgwMCwweDk3LDB4ODAsMHgyZCwweGUwLDB4MGEsMHgzOCwweDgyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhOGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDEsMHg4MywweDgwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhhOGIwLCAwLCB7MHgwOCwweDIwLDB4NDIsMHhjMCwweDMwLDB4ODMsMHg3MCwweGEwLDB4YzAsMHg4OSwweDM0LDB4MDIsMHhjYywweDAyLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhhOGMwLCAwLCB7MHg2MCwweGMwLDB4MjksMHgwMCwweDAyLDB4Y2UsMHgwMCwweDgzLDB4MDAsMHgyYywweGM4LDB4MGIsMHhiYywweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhOGQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE5LDB4MDAsMHhlYSwweGUyLDB4MzIsMHg5MCB9IH0sCi17ICAxNiwgMHhhOGUwLCAwLCB7MHgyYywweGUwLDB4MDMsMHhmYiwweDAyLDB4Y2UsMHhjMCwweDMyLDB4ODAsMHgwZiwweGU0LDB4MDMsMHhlOCwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhOGYwLCAwLCB7MHgzMywweDg4LDB4MGQsMHg2NCwweGMzLDB4ZmEsMHgwMCwweGRhLDB4MDAsMHgzZCwweDkwLDB4MGUsMHhlMCwweDBiLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhhOTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGMwLDB4MjQsMHhmOCwweDA4LDB4M2UsMHgxMiB9IH0sCi17ICAxNiwgMHhhOTEwLCAwLCB7MHgwZiwweGMwLDB4MDMsMHhlMCwweDQ4LDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4OTMsMHhjMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhOTIwLCAwLCB7MHg3ZSwweDAxLDB4MGUsMHg4MCwweGMyLDB4ZTAsMHg0MCwweGY4LDB4MDAsMHg3ZSwweDAwLDB4OGYsMHg4NCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhhOTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU1LDB4MDAsMHhjMSwweDAxLDB4MzIsMHg0OCB9IH0sCi17ICAxNiwgMHhhOTQwLCAwLCB7MHgwYywweDk4LDB4MDMsMHhlNiwweDQwLDB4YzksMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2NiwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhhOTUwLCAwLCB7MHgxOCwweDYxLDB4MGMsMHg5MCwweDAzLDB4NjQsMHgyMCwweGY5LDB4MDUsMHgzZSwweDQwLDB4MGMsMHg5MCwweDgzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhhOTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY2LDB4MjAsMHg4OSwweDAwLDB4MjAsMHg1MiB9IH0sCi17ICAxNiwgMHhhOTcwLCAwLCB7MHgyOCwweDEwLDB4YzIsMHgyNiwweDAyLDB4YTksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MGEsMHgyNywweDAwLDB4YTksMHgwMCB9IH0sCi17ICAxNiwgMHhhOTgwLCAwLCB7MHgyMiwweDcwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGEsMHg5MCwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhOTkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDIsMHg4ZCwweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHhhOWEwLCAwLCB7MHgwOCwweGQxLDB4MDIsMHg4NCwweDIwLDB4ODksMHgwMCwweDIyLDB4NjAsMHgwYiwweDExLDB4ZjIsMHgyNCwweGIwLDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhhOWIwLCAwLCB7MHgyYSwweDQ2LDB4MDgsMHg5MCwweDQyLDB4NjQsMHgwOCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MiwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhhOWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDE0LDB4ODAsMHg4NSwweDIwLDB4MjMsMHg0OCB9IH0sCi17ICAxNiwgMHhhOWQwLCAwLCB7MHgwOCwweDUyLDB4MDIsMHg4NCwweDA4LDB4ODEsMHgwMCwweDIwLDB4NDAsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4YTEsMHgyMCB9IH0sCi17ICAxNiwgMHhhOWUwLCAwLCB7MHgyOCwweDQ5LDB4MjgsMHg5MCwweDAyLDB4MDQsMHgwMCwweDMxLDB4MjAsMHgyZSwweDQwLDB4MDgsMHgzMiwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjOCwweDUwLDB4YjIsMHgxNCB9IH0sCi17ICAxNiwgMHhhYTAwLCAwLCB7MHgwYywweGMwLDB4MDMsMHhhMSwweDQwLDB4YzgsMHgwMCwweGIyLDB4MDAsMHgwNywweDg1LDB4MDMsMHgyMSwweDQwLDB4YzgsMHg1MCB9IH0sCi17ICAxNiwgMHhhYTEwLCAwLCB7MHgzYSwweDE1LDB4MGMsMHg4NSwweDAzLDB4NjEsMHg0MCwweGY4LDB4NTEsMHgzZSwweDAwLDB4MmMsMHg4NSwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhhYTIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGM0LDB4NDgsMHhmOSwweDEwLDB4M2UsMHg0NCB9IH0sCi17ICAxNiwgMHhhYTMwLCAwLCB7MHg0ZiwweDkxLDB4MDMsMHg3NCwweDAwLDB4ZjUsMHg0NCwweDNlLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhhYTQwLCAwLCB7MHgzNywweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZDQsMHgwMCwweGY5LDB4MTAsMHgzZiwweGMwLDB4MGYsMHhkMSwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhhYTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGY2LDB4YTAsMHhkZCwweDhjLDB4MzMsMHg3OCB9IH0sCi17ICAxNiwgMHhhYTYwLCAwLCB7MHgwZSwweGRhLDB4MDMsMHgzNSwweDAwLDB4Y2QsMHhhMCwweDMzLDB4NDAsMHgwZCwweGY4LDB4MGIsMHgzNiwweDgxLDB4ZTksMHg4MCB9IH0sCi17ICAxNiwgMHhhYTcwLCAwLCB7MHgzMywweDcwLDB4MGMsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4YzAsMHgzZSwweGMwLDB4MGYsMHhkYywweDAzLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhhYTgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4MDQsMHhiOCwweDQwLDB4MjAsMHgzYyB9IH0sCi17ICAxNiwgMHhhYTkwLCAwLCB7MHgwYywweDg1LDB4MDIsMHgwMiwweDg0LDB4OGEsMHg0MCwweDIyLDB4MDAsMHgwOCwweDhmLDB4ODIsMHgyMywweDAwLDB4YjgsMHhlOCB9IH0sCi17ICAxNiwgMHhhYWEwLCAwLCB7MHgyMiwweDIwLDB4MDgsMHg4OCwweDAyLDB4ZTIsMHgwMCwweGI4LDB4ZDAsMHgyZSwweDAwLDB4MGIsMHg4YywweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhhYWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHg5MSwweDAwLDB4NjAsMHg0OCB9IH0sCi17ICAxNiwgMHhhYWMwLCAwLCB7MHg0YiwweDEwLDB4MDIsMHgwNCwweDhhLDB4ODEsMHg0MCwweDYwLDB4NDAsMHg0OSwweDEwLDB4MDIsMHg4ZCwweGEwLDB4YTEsMHg0MSB9IH0sCi17ICAxNiwgMHhhYWQwLCAwLCB7MHgyMCwweDUwLDB4MDksMHgxMiwweDIyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHgyYywweDQwLDB4NGIsMHgzZSwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhhYWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDgsMHhiOSwweDA0LDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHhhYWYwLCAwLCB7MHg0OCwweGIwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDgyLDB4NDAsMHgwOCwweDkwLDB4YTYsMHhhNCwweDAwLDB4YjksMHgwNCB9IH0sCi17ICAxNiwgMHhhYjAwLCAwLCB7MHgyMiwweDU0LDB4MjksMHg5NSwweDAyLDB4ZTUsMHg0MCwweGI5LDB4MDAsMHg2ZSwweDQwLDB4MGIsMHg5MiwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU0LDB4MDAsMHg5MSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhhYjIwLCAwLCB7MHgwZiwweDkwLDB4MDksMHgyNCwweDAwLDB4ODksMHg5MCwweDMyLDB4NDAsMHgwZCwweDk0LDB4MDMsMHhhNCwweDAwLDB4ZTksMHgwMiB9IH0sCi17ICAxNiwgMHhhYjMwLCAwLCB7MHg3MiwweDYwLDB4MGQsMHg5NCwweDAzLDB4ZTQsMHgwMSwweGY5LDB4MDEsMHgzZSwweDYwLDB4MGYsMHg5MCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4NDAsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhhYjUwLCAwLCB7MHg0ZiwweDkwLDB4MDMsMHhlNywweDEwLDB4ZjksMHg4MCwweDNlLDB4NDAsMHgwZiwweDEwLDB4MTMsMHg2NCwweDAwLDB4ZjEsMHgwMCB9IH0sCi17ICAxNiwgMHhhYjYwLCAwLCB7MHhiZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTYsMHgwOCwweGY5LDB4MDEsMHgzZSwweDY0LDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhhYjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwOCB9IH0sCi17ICAxNiwgMHhhYjgwLCAwLCB7MHgwYywweDAxLDB4MGIsMHgyMCwweDQwLDB4YzgsMHg0MCwweDMyLDB4MDAsMHgwZSwweDg0LDB4ODMsMHgyMCwweDAwLDB4ZjgsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjkwLCAwLCB7MHgzZSwweDA0LDB4MGYsMHg4MCwweDAzLDB4MjEsMHgwMCwweGU4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHg4OCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHhhYmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDM4LDB4MDAsMHgzZSwweDA0LDB4MjMsMHg4MCB9IH0sCi17ICAxNiwgMHhhYmIwLCAwLCB7MHgwOCwweGVjLDB4MTIsMHgzOSwweDQ0LDB4YTYsMHgwMCwweDI4LDB4ODEsMHgwOCwweGUwLDB4MDAsMHgzOCwweDA4LDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHhhYmMwLCAwLCB7MHgzZiwweDgwLDB4MGIsMHhhMCwweDAyLDB4YTgsMHgwMCwweDhhLDB4MDIsMHgyZSwweDgwLDB4MGIsMHhlMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhhYmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQ4LDB4MDAsMHgzMSwweDAwLDB4MjQsMHhkMCB9IH0sCi17ICAxNiwgMHhhYmUwLCAwLCB7MHgwOCwweDNlLDB4MTIsMHhhZSwweDA4LDB4ODEsMHhhMCwweDJjLDB4YzAsMHgwYSwweDM4LDB4MDAsMHg0YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhYmYwLCAwLCB7MHg2ZSwweGMwLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHg2YywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDE4LDB4MDAsMHhiNSwweDEwLDB4MjUsMHhjMCB9IH0sCi17ICAxNiwgMHhhYzEwLCAwLCB7MHgyOCwweDYwLDB4MTIsMHg5MCwweDEwLDB4YTUsMHgwOCwweDJkLDB4YzIsMHgwOCwweDY0LDB4MjIsMHg1OCwweDE4LDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzIwLCAwLCB7MHgyZCwweDgwLDB4MGIsMHg3OSwweDAyLDB4YmUsMHhjMCwweDg3LDB4MDEsMHg2ZCwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhmNSwweDg0LDB4MzUsMHgyMCB9IH0sCi17ICAxNiwgMHhhYzQwLCAwLCB7MHg4YywweDE4LDB4MDIsMHg5MiwweDEwLDB4YzUsMHg4MCwweDNkLDB4NjAsMHgwZSwweGM4LDB4MGIsMHg1YSwweDA4LDB4NzcsMHhmMyB9IH0sCi17ICAxNiwgMHhhYzUwLCAwLCB7MHgzZCwweGEwLDB4MGYsMHhmOCwweDAzLDB4MWUsMHhiMCwweGU3LDB4ODUsMHgzZCwweGUwLDB4MGYsMHg3OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhhYzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmMSwweDA0LDB4YmEsMHgwMSB9IH0sCi17ICAxNiwgMHhhYzcwLCAwLCB7MHgwZiwweGEwLDB4NDMsMHg2MCwweDA5LDB4ZTEsMHgwMCwweDM4LDB4NDAsMHgwZSwweGEwLDB4MDMsMHhhOCwweDE0LDB4ZmIsMHgyMCB9IH0sCi17ICAxNiwgMHhhYzgwLCAwLCB7MHgzYSwweDgwLDB4MGYsMHhiNCwweDFiLDB4NGMsMHg4MCwweGZiLDB4MjksMHgzZSwweGMwLDB4MGYsMHhiMCwweDIzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhhYzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZhLDB4MDAsMHhjZCwweDgwLDB4M2IsMHhlMCB9IH0sCi17ICAxNiwgMHhhY2EwLCAwLCB7MHg0ZSwweGY4LDB4MDMsMHhmMiwweDAyLDB4ZDQsMHg4MSwweDNiLDB4ZTAsMHg4ZSwweDk4LDB4MDcsMHgzZSwweDQ0LDB4ZWYsMHg5MSB9IH0sCi17ICAxNiwgMHhhY2IwLCAwLCB7MHgzZiwweGUwLDB4NGYsMHhmYywweDA3LDB4ZWUsMHhkMCwweGNmLDB4OTgsMHgzMywweGU0LDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhY2MwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwMSwweDk4LDB4MDAsMHg4NSwweDEwLDB4MmQsMHhjNCB9IH0sCi17ICAxNiwgMHhhY2QwLCAwLCB7MHgwZCwweDExLDB4MDIsMHhmMCwweDAwLDB4ODUsMHgyMCwweDMxLDB4YzQsMHgwYiwweDdiLDB4MDAsMHgzOCwweDQwLDB4ZDcsMHgxMCB9IH0sCi17ICAxNiwgMHhhY2UwLCAwLCB7MHgyZCwweDgwLDB4MGIsMHg3MCwweDYyLDB4ZmUsMHhlMSwweDg3LDB4MTQsMHgzOSwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhY2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGJjLDB4NDAsMHhhNSwweDAwLDB4MjksMHg0MCB9IH0sCi17ICAxNiwgMHhhZDAwLCAwLCB7MHgwYiwweDUwLDB4ODIsMHhkYywweDQwLDB4ODQsMHgwNCwweDJkLDB4YzAsMHgwYiwweDEwLDB4MDYsMHg1OCwweDQ0LDB4YTcsMHgxMCB9IH0sCi17ICAxNiwgMHhhZDEwLCAwLCB7MHgyZCwweDgwLDB4MGIsMHg3MSwweDAyLDB4ZGMsMHgwMCwweDg3LDB4MDQsMHgyMSwweGMyLDB4MGIsMHg1MCwweDAyLDB4YzAsMHgxMCB9IH0sCi17ICAxNiwgMHhhZDIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MGEsMHhhMSwweDAxLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhhZDMwLCAwLCB7MHg4OSwweDE4LDB4MDIsMHhjMSwweDAwLDB4YTEsMHgwOCwweDIwLDB4YzAsMHgwYiwweDM0LDB4MDYsMHg0MCwweDAwLDB4OTMsMHgwNSB9IH0sCi17ICAxNiwgMHhhZDQwLCAwLCB7MHgyYywweDE0LDB4MGIsMHgzYywweDg2LDB4Y2UsMHgxMCwweDgzLDB4MDEsMHgyOCwweGYxLDB4MGIsMHgxNCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHhhZDUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGEwLDB4MDAsMHhlZCwweDAwLDB4M2EsMHhjMCB9IH0sCi17ICAxNiwgMHhhZDYwLCAwLCB7MHgwNywweGJjLDB4NjMsMHhlZCwweDAwLDB4ODEsMHg0MCwweDNlLDB4YzAsMHgwZSwweDg4LDB4MDMsMHg2NCwweDAwLDB4ZWYsMHgwMCB9IH0sCi17ICAxNiwgMHhhZDcwLCAwLCB7MHg3ZSwweDUwLDB4MGYsMHhmMCwweDAyLDB4ZmQsMHg0MiwweGNmLDB4MDAsMHg3MiwweGMwLDB4MWYsMHhiNCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhZDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGU4LDB4MDAsMHg5OSwweDAwLDB4M2UsMHhlMCB9IH0sCi17ICAxNiwgMHhhZDkwLCAwLCB7MHg0ZiwweGI0LDB4ODMsMHhlZCwweDkwLDB4MDksMHg0MCwweDNlLDB4YzAsMHgwZiwweGExLDB4ODMsMHhhOCwweDAxLDB4ZWIsMHgwMSB9IH0sCi17ICAxNiwgMHhhZGEwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHhiMSwweDEzLDB4ZWMsMHgwYywweGZiLDB4MDAsMHgzYSwweGMwLDB4NWYsMHgyMCwweDIzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhhZGIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY4LDB4MDAsMHhmZCwweDA0LDB4M2YsMHhiMCB9IH0sCi17ICAxNiwgMHhhZGMwLCAwLCB7MHgwZCwweDYwLDB4MDMsMHgzZSwweDAwLDB4Y2QsMHgwMCwweDMzLDB4ZjAsMHgwZiwweGYyLDB4MDEsMHhmMCwweDAwLDB4ZmYsMHgwMyB9IH0sCi17ICAxNiwgMHhhZGQwLCAwLCB7MHgzZiwweDAzLDB4MGYsMHhmMCwweDAxLDB4ZmMsMHgwMCwweGZiLDB4MDIsMHgzMywweGMyLDB4MGYsMHhmMCwweGUzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhhZGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZhLDB4MDAsMHhiOSwweDAyLDB4MmUsMHhhMCB9IH0sCi17ICAxNiwgMHhhZGYwLCAwLCB7MHg0YSwweGFjLDB4MDIsMHgwZSwweDgwLDB4ZjksMHhjMCwweDM2LDB4ZTEsMHgwYiwweGEwLDB4MDIsMHgyYSwweDA4LDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTAwLCAwLCB7MHgyZSwweDIwLDB4MGUsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGViLDB4MDAsMHgyMiwweGMwLDB4OGIsMHhiMCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhhZTEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDIzLDB4MDAsMHhhOSwweDAwLDB4MjgsMHhjMCB9IH0sCi17ICAxNiwgMHhhZTIwLCAwLCB7MHgwOSwweGIyLDB4MjIsMHg2YywweDQwLDB4ODksMHg4OSwweDJhLDB4YzAsMHgwYiwweDE0LDB4MDYsMHgyNiwweDAwLDB4YWIsMHgwMiB9IH0sCi17ICAxNiwgMHhhZTMwLCAwLCB7MHg2ZSwweGUwLDB4MDksMHhiMCwweDA2LDB4NmMsMHgwMCwweGIzLDB4MDIsMHgyMiwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA4LDB4MDAsMHhiMSwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhhZTUwLCAwLCB7MHgwYSwweDMwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDY0LDB4YzAsMHgwYiwweDMyLDB4MGEsMHgwOCwweDAwLDB4MzMsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTYwLCAwLCB7MHg2YywweDgwLDB4MDIsMHgzMCwweDQ2LDB4Y2MsMHgxOCwweGEzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgyOCwweDAyLDB4MDIsMHgxMSB9IH0sCi17ICAxNiwgMHhhZTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDY4LDB4MDAsMHhlOSwweDAwLDB4MzgsMHhjMSB9IH0sCi17ICAxNiwgMHhhZTgwLCAwLCB7MHgwZCwweGIxLDB4MGIsMHgyYywweDAwLDB4ODksMHgwMCwweDNhLDB4YzAsMHgwYiwweDkwLDB4MDMsMHg2MCwweDAwLDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHhhZTkwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHg4MCwweGZmLDB4MDAsMHgzMiwweGMwLDB4OGYsMHg4MCwweDBiLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhhZWEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGQ4LDB4MDAsMHhmZCwweDA0LDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhZWIwLCAwLCB7MHgyZiwweGYyLDB4MDMsMHhmYywweDExLDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGY0LDB4NDMsMHg3MCwweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhZWMwLCAwLCB7MHgzZiwweDAwLDB4NDYsMHhmMCwweDAzLDB4ZmQsMHgwMCwweGVmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhhZWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhmZiwweDgwLDB4M2QsMHhlMCB9IH0sCi17ICAxNiwgMHhhZWUwLCAwLCB7MHgwYywweGY5LDB4MTMsMHhkZSwweDAwLDB4N2YsMHg4MCwweGIzLDB4ZTAsMHgwZiwweGZjLDB4MDMsMHhiZSwweDQwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhhZWYwLCAwLCB7MHgzMywweGYwLDB4MGYsMHhmOCwweDAzLDB4N2MsMHgwNCwweGNjLDB4ODAsMHgzMywweGEwLDB4MGMsMHhmMCwweDBiLDB4MzAsMHgwMSB9IH0sCi17ICAxNiwgMHhhZjAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGUwLDB4MjAsMHg4OCwweDAwLDB4MmUsMHgyMCB9IH0sCi17ICAxNiwgMHhhZjEwLCAwLCB7MHgwOCwweDgyLDB4MTIsMHhlMCwweDgwLDB4YTgsMHg4MSwweDIyLDB4MDIsMHgwYiwweDgwLDB4MDIsMHgyMCwweDgwLDB4YTgsMHg4MCB9IH0sCi17ICAxNiwgMHhhZjIwLCAwLCB7MHgyMiwweDA4LDB4MGIsMHg4MCwweDAyLDB4MmMsMHgwMiwweDg4LDB4MDQsMHhhYSwweDIwLDB4MDgsMHhiMCwweDAyLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGVjLDB4MDAsMHhhMywweDA4LDB4MmMsMHg4MCB9IH0sCi17ICAxNiwgMHhhZjQwLCAwLCB7MHgwOCwweDMyLDB4MDIsMHhjNCwweDIwLDB4YTMsMHgwMCwweDI4LDB4NDAsMHgwYiwweDkyLDB4MDIsMHg4NCwweDAwLDB4YTksMHgwMSB9IH0sCi17ICAxNiwgMHhhZjUwLCAwLCB7MHgyOCwweGM4LDB4MWIsMHgxMiwweDgyLDB4Y2MsMHg0MCwweGE4LDB4MDAsMHgyNCwweGUwLDB4MGEsMHgzMCwweDQyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhhZjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGE4LDB4ODAsMHhhOCwweDAyLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhhZjcwLCAwLCB7MHg2OCwweDgwLDB4MTAsMHhjOCwweDAwLDB4YjgsMHg0MCwweDJhLDB4OTAsMHgwYiwweGEwLDB4MDAsMHgyOCwweDAwLDB4YWEsMHgwOCB9IH0sCi17ICAxNiwgMHhhZjgwLCAwLCB7MHgyYSwweDAyLDB4MDMsMHgyMCwweDAyLDB4OGMsMHgwMCwweGE4LDB4ODgsMHgyZSwweDIwLDB4MGEsMHhiMCwweDAyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGU4LDB4MDQsMHhmYSwweDAwLDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHhhZmEwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlOCwweDAwLDB4ZWIsMHgwMCwweDNhLDB4YzAsMHgwZiwweDIwLDB4NTMsMHhhOCwweDAwLDB4ZTMsMHg0MCB9IH0sCi17ICAxNiwgMHhhZmIwLCAwLCB7MHgyYSwweDQwLDB4MGYsMHhhMCwweDAzLDB4NmMsMHgwMCwweGE4LDB4ODAsMHgzNCwweDIwLDB4MWUsMHhiMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI0LDB4MDAsMHg5ZCwweDkxLDB4M2YsMHg4MCB9IH0sCi17ICAxNiwgMHhhZmQwLCAwLCB7MHgwZiwweGRhLDB4MjMsMHhmNCwweDAwLDB4Y2MsMHgyMCwweDM3LDB4MDAsMHgwNywweGQwLDB4MTMsMHg3NCwweDAwLDB4YmMsMHgwMCB9IH0sCi17ICAxNiwgMHhhZmUwLCAwLCB7MHhiNywweDgwLDB4MGIsMHhkMCwweDQzLDB4N2MsMHgwMCwweGRjLDB4MDQsMHgzYiwweDAwLDB4NmQsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhZmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE4LDB4MDAsMHhmYSwweDgwLDB4M2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDAwLCAwLCB7MHgyYywweGEwLDB4MGIsMHgyMCwweDAyLDB4Y2IsMHg2MiwweDNlLDB4NTAsMHgwZSwweDg4LDB4MDMsMHgyMCwweDAwLDB4ZDksMHgxMCB9IH0sCi17ICAxNiwgMHhiMDEwLCAwLCB7MHgzZSwweDcwLDB4OGMsMHg4MCwweDMzLDB4ZWMsMHg4MCwweGQ4LDB4NDAsMHgzYSwweDAyLDB4MGQsMHhiMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhiMDIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwMSwweDBjLDB4MDAsMHgzOSwweDgwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhiMDMwLCAwLCB7MHgwYywweDlkLDB4ODIsMHgyYywweDEwLDB4ZDAsMHg0MCwweDJlLDB4YTAsMHgwOCwweGI4LDB4MDMsMHg0ZSwweDAyLDB4OGEsMHg0MCB9IH0sCi17ICAxNiwgMHhiMDQwLCAwLCB7MHgwZSwweGEwLDB4MGQsMHhiMCwweDAzLDB4M2QsMHgwMCwweGQwLDB4OTAsMHgzNiwweDEwLDB4MGIsMHhmMCwweDAyLDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMSwweDAwLDB4NjAsMHhjMCB9IH0sCi17ICAxNiwgMHhiMDYwLCAwLCB7MHg4YSwweDE4LDB4MDIsMHg4YywweDA4LDB4ODAsMHg0MCwweDBjLDB4YTAsMHgwMiwweDMwLDB4MDIsMHhjZSwweDAwLDB4ODIsMHg0OCB9IH0sCi17ICAxNiwgMHhiMDcwLCAwLCB7MHgyYywweDgwLDB4MmIsMHgzMCwweDA2LDB4OGMsMHgwMCwweDgxLDB4MDIsMHgyMCwweDkwLDB4MDksMHhiMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDEyLDB4MDAsMHhiNiwweDkwLDB4YTMsMHgzMCB9IH0sCi17ICAxNiwgMHhiMDkwLCAwLCB7MHgwOCwweGU4LDB4MjIsMHhiMiwweDE0LDB4ODcsMHg4MCwweDJkLDB4NjAsMHgwOCwweDQ5LDB4MTIsMHgxMiwweDYxLDB4OTUsMHg5MCB9IH0sCi17ICAxNiwgMHhiMGEwLCAwLCB7MHgyZCwweDYxLDB4MGEsMHg0OCwweDE2LDB4MWUsMHg4MCwweDk1LDB4ODAsMHgyNSwweDIwLDB4MGIsMHg3OCwweDAyLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMGIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmMSwweDAwLDB4MjgsMHg4YyB9IH0sCi17ICAxNiwgMHhiMGMwLCAwLCB7MHg4ZSwweDEwLDB4MDMsMHg4NCwweDgwLDB4ODAsMHgwMCwweDJjLDB4MDIsMHgwYSwweDlhLDB4MDIsMHhlNCwweDAwLDB4ZDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiMGQwLCAwLCB7MHgzZSwweDgwLDB4MGIsMHg5MSwweDAzLDB4OGUsMHg4MCwweGMyLDB4MDgsMHgzOCwweDgwLDB4MGQsMHhiMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhiMGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGIwLDB4MDAsMHhmNiwweDAwLDB4M2YsMHg0NCB9IH0sCi17ICAxNiwgMHhiMGYwLCAwLCB7MHgwZiwweDIxLDB4MTMsMHg3OCwweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgwZiwweGUwLDB4MDMsMHg3OCwweDAwLDB4ZWYsMHgwNCB9IH0sCi17ICAxNiwgMHhiMTAwLCAwLCB7MHgzZiwweDQwLDB4OGQsMHhlOCwweDAzLDB4ZGMsMHgwNCwweGY2LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhmMCwweDgzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhiMTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU4LDB4MDAsMHhlOCwweDgwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhiMTIwLCAwLCB7MHgwZiwweDg4LDB4MGIsMHgyOCwweDAwLDB4NzgsMHgwMiwweDNlLDB4ODAsMHgwZSwweDI4LDB4MDMsMHgyOCwweDAwLDB4Y2EsMHg4MCB9IH0sCi17ICAxNiwgMHhiMTMwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHhhMCwweDAzLDB4ZWMsMHgwMCwweGM5LDB4ODAsMHgzMiwweDgwLDB4MGYsMHhiMCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiMTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDhjLDB4MDAsMHg4ZiwweDAwLDB4YTEsMHg4MCB9IH0sCi17ICAxNiwgMHhiMTUwLCAwLCB7MHgwYiwweDcwLDB4NDIsMHgxNCwweDAwLDB4YjcsMHgwMCwweDJkLDB4NDEsMHgwYiwweDUwLDB4NDIsMHgxNCwweDAwLDB4YTUsMHgwMCB9IH0sCi17ICAxNiwgMHhiMTYwLCAwLCB7MHhhMSwweGMwLDB4MGIsMHg1MCwweDAyLDB4ZmMsMHg4MCwweGE1LDB4MDAsMHgyMSwweDAwLDB4MGIsMHhmMiwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhiMTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweGJhLDB4MDAsMHhhNCwweDgwLDB4MjksMHgzMCB9IH0sCi17ICAxNiwgMHhiMTgwLCAwLCB7MHg0YiwweDQ4LDB4MDYsMHg1MiwweDA4LDB4YjQsMHg4MCwweDJkLDB4MjAsMHgwYiwweDQ4LDB4NDIsMHgzMiwweDAwLDB4ODQsMHg4MCB9IH0sCi17ICAxNiwgMHhiMTkwLCAwLCB7MHgyMSwweDIwLDB4MGIsMHg0OCwweDEyLDB4ZGUsMHg0MCwweDg2LDB4ODEsMHgyOSwweGEwLDB4MGIsMHg3OCwweDBhLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhiMWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDA1LDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHhiMWIwLCAwLCB7MHgwYiwweDM0LDB4MDIsMHg2YywweDEwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDM2LDB4NGEsMHgwZCwweDBkLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhiMWMwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzNCwweDgyLDB4Y2MsMHgwMiwweGEyLDB4MDAsMHgyOCwweDAwLDB4MGIsMHgzMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhiMWQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE5LDB4MjAsMHhlYSwweDQwLDB4MzAsMHhhMCB9IH0sCi17ICAxNiwgMHhiMWUwLCAwLCB7MHgwNywweGEwLDB4NDMsMHg2OSwweDQwLDB4ZmEsMHgwMCwweDNjLDB4ODAsMHgwZiwweGEwLDB4MDMsMHgwOCwweDQwLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiMWYwLCAwLCB7MHgzMCwweGEwLDB4MGYsMHhhNCwweDAzLDB4ZTgsMHgwMCwweGNlLDB4MDAsMHgzYiwweDk4LDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhiMjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGQyLDB4MDAsMHhmYywweDA4LDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHhiMjEwLCAwLCB7MHgwYiwweGMyLDB4MDMsMHhiMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDAwLDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHhiMjIwLCAwLCB7MHgzZiwweDA0LDB4MGYsMHhjMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHhiNiwweDAyLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhiMjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg2OCB9IH0sCi17ICAxNiwgMHhiMjQwLCAwLCB7MHg0YywweDkxLDB4MDEsMHhlNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NDAsMHgyYywweDkyLDB4MDMsMHhlNCwweDAyLDB4YzksMHhhMCB9IH0sCi17ICAxNiwgMHhiMjUwLCAwLCB7MHgzZSwweDcwLDB4MGUsMHg5MCwweDAzLDB4YzYsMHg0MiwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxMCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiMjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDg2LDB4MGUsMHg2MCB9IH0sCi17ICAxNiwgMHhiMjcwLCAwLCB7MHgwOCwweDk4LDB4MDIsMHhlNCwweDA4LDB4ODksMHgxMCwweDJlLDB4NjAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwYyB9IH0sCi17ICAxNiwgMHhiMjgwLCAwLCB7MHgyZSwweDYwLDB4MDgsMHg5MCwweDAyLDB4ZTYsMHg4OCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiMjkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg5ZCwweDEwLDB4MmYsMHg0MCB9IH0sCi17ICAxNiwgMHhiMmEwLCAwLCB7MHgyOCwweGQwLDB4MDYsMHhmNCwweDAyLDB4YWQsMHgwMCwweDJmLDB4NjAsMHgwOCwweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmIwLCAwLCB7MHgyZiwweDQwLDB4MGEsMHhkMCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDYwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDM0LDB4MDAsMHg4NSwweDAwLDB4MmQsMHg0MCB9IH0sCi17ICAxNiwgMHhiMmQwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHhkNCwweDAwLDB4YTUsMHgwMiwweDJkLDB4NDAsMHgwOCwweDUwLDB4MDAsMHhkNCwweDAwLDB4ODUsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmUwLCAwLCB7MHgyZCwweDQwLDB4MDgsMHg1NCwweDAyLDB4YzQsMHg4MCwweDgxLDB4MDAsMHgyYywweDYwLDB4MGIsMHgxNCwweDAyLDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHhiMmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUyLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzAwLCAwLCB7MHgwYywweDA1LDB4MDMsMHhlMSwweDQwLDB4ZTgsMHgwNCwweDNlLDB4MTQsMHgwYywweDg1LDB4MDMsMHhlMSwweDQwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzEwLCAwLCB7MHgzZSwweDE0LDB4MGUsMHhjMCwweDAzLDB4ZTAsMHgwMCwweGMwLDB4MDIsMHgzZSwweDAwLDB4NGYsMHg4MCwweDIzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhiMzIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4MDAsMHhmOSwweDAxLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhiMzMwLCAwLCB7MHg0ZiwweDkwLDB4MTMsMHhlNCwweDAwLDB4ZDksMHgwMCwweDFlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDEwLDB4ZjEsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzQwLCAwLCB7MHgxZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHhlMCwweGZkLDB4MjgsMHgzZiwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhiMzUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGE0LDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhiMzYwLCAwLCB7MHg0ZCwweDUwLDB4MDIsMHhlNCwweDAwLDB4OTUsMHgwNCwweDMzLDB4NDAsMHgyOCwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzcwLCAwLCB7MHgzMywweDQwLDB4MGYsMHg5MSwweDAzLDB4MzQsMHgwMCwweGNkLDB4NDAsMHgzMywweDQwLDB4MGYsMHg5OCwweDgxLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MTAsMHhiOCwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzkwLCAwLCB7MHgwYiwweDgwLDB4MDIsMHhlMCwweDEwLDB4YjgsMHgwMCwweDIyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiM2EwLCAwLCB7MHgyMiwweDAwLDB4MGIsMHg4OCwweDAzLDB4YzIsMHg4MCwweDg4LDB4ODAsMHgyMiwweDAwLDB4MGIsMHg4YywweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhiM2IwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhiM2MwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhjNCwweDAwLDB4YmIsMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjNCwweDAxLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhiM2QwLCAwLCB7MHgyMCwweDQwLDB4MWIsMHg5MCwweDAyLDB4MDQsMHgyMiwweDg5LDB4MDAsMHgyMCwweDYwLDB4MGIsMHgxMiwweDgyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiM2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4NDQsMHhiOSwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhiM2YwLCAwLCB7MHg0YiwweDkwLDB4MDIsMHhlNCwweDEwLDB4YjksMHgwMiwweDAyLDB4NDAsMHgwOCwweDkxLDB4NDIsMHhlNCwweDAwLDB4YjksMHg4MCB9IH0sCi17ICAxNiwgMHhiNDAwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MiwweDAyLDB4YzQsMHgwMCwweDk5LDB4NDAsMHgyMiwweDQwLDB4NGIsMHg5MCwweDEyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhiNDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU2LDB4MDAsMHhiOSwweDAxLDB4M2UsMHg1OCB9IH0sCi17ICAxNiwgMHhiNDIwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZDEsMHgwMCwweDMyLDB4NjAsMHgwYywweDk4LDB4MDIsMHhlNiwweDQwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhiNDMwLCAwLCB7MHhiMiwweDQwLDB4MGYsMHgxOCwweDAzLDB4MjQsMHgwMCwweGM5LDB4ODAsMHgzMiwweDUwLDB4MGYsMHg5MCwweDIzLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhiNDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MiB9IH0sCi17ICAxNiwgMHhiNDUwLCAwLCB7MHgwYiwweDkwLDB4MDMsMHhlNywweDA4LDB4ZjksMHgwMCwweGJlLDB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhiNDYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5OCwweDAzLDB4YTQsMHgwMCwweGU5LDB4YTAsMHhiZSwweDQwLDB4MGYsMHgxMCwweDBiLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDAxLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDgwLCAwLCB7MHgwZiwweDgwLDB4OGIsMHgyMCwweDAwLDB4ZjgsMHgyMCwweDNlLDB4MDEsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwOCB9IH0sCi17ICAxNiwgMHhiNDkwLCAwLCB7MHgzYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGQ4LDB4NDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDEzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhiNGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDgwLDB4MmYsMHg5MSB9IH0sCi17ICAxNiwgMHhiNGIwLCAwLCB7MHgwYiwweGVlLDB4MDIsMHgyOCwweDAxLDB4YmUsMHgwMCwweDIwLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhlYSwweDgwLDB4YjYsMHg0OCB9IH0sCi17ICAxNiwgMHhiNGMwLCAwLCB7MHgyMiwweDgwLDB4MGQsMHhhMCwweDAyLDB4ZmEsMHgwMiwweDg2LDB4NDEsMHhhMywweGE2LDB4MGIsMHhhMCwweDAzLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweDgwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhiNGUwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgwYywweDEwLDB4YjMsMHgwMCwweDI4LDB4YzAsMHgwYiwweDM4LDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiNGYwLCAwLCB7MHgyOCwweGMwLDB4MDksMHgzMCwweDAyLDB4YzYsMHgwMSwweDgzLDB4NjAsMHgyMCwweDcwLDB4MGIsMHgzMCwweDBhLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDJlLDB4ODgsMHg4NSwweDA4LDB4MmQsMHg4MCB9IH0sCi17ICAxNiwgMHhiNTEwLCAwLCB7MHg0YiwweGY4LDB4MDYsMHgxYywweDgwLDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhkNCwweDAwLDB4YjYsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTIwLCAwLCB7MHgyOSwweDYwLDB4MDksMHg3MCwweDAyLDB4ZDAsMHhhMCwweDhkLDB4MDAsMHgyMSwweDQwLDB4MGIsMHgzMiwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhkNSwweDgwLDB4M2QsMHhlMCB9IH0sCi17ICAxNiwgMHhiNTQwLCAwLCB7MHg4ZiwweDc4LDB4MDMsMHgxZSwweDg0LDB4YjcsMHg4MiwweDNkLDB4NjAsMHgwZiwweDU5LDB4MDMsMHhkZSwweDAwLDB4ZjcsMHg4MCB9IH0sCi17ICAxNiwgMHhiNTUwLCAwLCB7MHgyOSwweDYwLDB4MTUsMHg3OCwweDAzLDB4ZGUsMHgwMCwweGM3LDB4ODAsMHgzMSwweDYwLDB4MGYsMHg3YywweDAzLDB4NmEsMHgwMiB9IH0sCi17ICAxNiwgMHhiNTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4NDAsMHhlOSwweDAwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhiNTcwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhlZCwweDMwLDB4ZmIsMHgwMCwweDM2LDB4YzEsMHgwZiwweDk2LDB4MDMsMHhlNCwweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTgwLCAwLCB7MHgzNCwweDQwLDB4MGYsMHhiNywweDgzLDB4ZWMsMHg0MCwweDIxLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhiNTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweDgxLDB4MzMsMHhlMCB9IH0sCi17ICAxNiwgMHhiNWEwLCAwLCB7MHgwZiwweGY5LDB4MDMsMHhkZSwweDIwLDB4Y2YsMHg4MSwweDNmLDB4ZTAsMHgwNywweDc4LDB4MDMsMHgzZSwweDAwLDB4ZmYsMHg4MCB9IH0sCi17ICAxNiwgMHhiNWIwLCAwLCB7MHgzZiwweGUwLDB4MDQsMHhmOCwweDEzLDB4ZmUsMHgwMiwweGRlLDB4ODAsMHgzMywweDYwLDB4MGYsMHhmOCwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhiNywweDAwLDB4MjEsMHhjNCB9IH0sCi17ICAxNiwgMHhiNWQwLCAwLCB7MHgwYiwweDVhLDB4MDIsMHhkYywweDQ4LDB4ODYsMHg1MCwweDJkLDB4YzAsMHgwYiwweDMxLDB4MDIsMHg5NCwweDYwLDB4YjQsMHgxOCB9IH0sCi17ICAxNiwgMHhiNWUwLCAwLCB7MHgyZCwweDQwLDB4NDgsMHg3MCwweDAyLDB4ZTgsMHgwMCwweGE1LDB4MTAsMHgyMSwweDQwLDB4MGIsMHg3MSwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiNWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiZCwweDAwLDB4MjEsMHg0MiB9IH0sCi17ICAxNiwgMHhiNjAwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHhmYywweDAyLDB4ODUsMHgwMCwweDI1LDB4NDAsMHgwYiwweDUwLDB4MDIsMHg5YywweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHhiNjEwLCAwLCB7MHgyZiwweDQwLDB4MjgsMHg3MSwweDAyLDB4ZGMsMHgwMCwweGE2LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweDZkLDB4ODAsMHhiMSwweDIwLDB4YTAsMHg1MCB9IH0sCi17ICAxNiwgMHhiNjMwLCAwLCB7MHgwYiwweGIyLDB4MDYsMHhjZSwweDAwLDB4YTAsMHgzNCwweDJlLDB4ZjAsMHgwYiwweDE4LDB4MDIsMHg4NSwweDIwLDB4YjMsMHg0YSB9IH0sCi17ICAxNiwgMHhiNjQwLCAwLCB7MHgyYywweDU0LDB4ODgsMHgzOCwweDAyLDB4Y2MsMHgxMCwweGExLDB4MDAsMHgyMCwweGIwLDB4MGIsMHgzMCwweDAyLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhiNjUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJlLDB4ODAsMHhmMywweDA4LDB4MTAsMHg1NCB9IH0sCi17ICAxNiwgMHhiNjYwLCAwLCB7MHgwYiwweDg4LDB4MTMsMHhmZiwweDAwLDB4YzAsMHg4MCwweDNlLDB4NjQsMHgwZiwweGI0LDB4ODMsMHgwNywweDAwLDB4ZjksMHhjMCB9IH0sCi17ICAxNiwgMHhiNjcwLCAwLCB7MHgzZSwweGYwLDB4MGMsMHhmYywweDEzLDB4ZjQsMHgwMCwweGVhLDB4MDAsMHgzMiwweDcwLDB4MGYsMHhmMCwweDBiLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiNjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHgxMCB9IH0sCi17ICAxNiwgMHhiNjkwLCAwLCB7MHgwNywweDkxLDB4MDMsMHhlYywweGMwLDB4NTgsMHgwMCwweDNlLDB4NDQsMHgwZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhiNmEwLCAwLCB7MHgzZSwweGMwLDB4OGYsMHhiMywweDAzLDB4ZTAsMHgwMCwweGJiLDB4MDAsMHhiZSwweDQ0LDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDIsMHhjZCwweDA0LDB4MzMsMHhlMCB9IH0sCi17ICAxNiwgMHhiNmMwLCAwLCB7MHgwYywweGMwLDB4MDMsMHgzYywweDA4LDB4ZmUsMHgwMCwweDMzLDB4NjAsMHgyYywweGQwLDB4MDIsMHhiNCwweDgwLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhiNmQwLCAwLCB7MHgzZiwweDUyLDB4MDcsMHhmMCwweDEzLDB4ZmMsMHgwMCwweGNlLDB4MTAsMHgzMywweDQyLDB4MGMsMHhiMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHhiNmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MDAsMHg4OSwweDAwLDB4MmEsMHhiMCB9IH0sCi17ICAxNiwgMHhiNmYwLCAwLCB7MHgwOCwweDg4LDB4MDIsMHgyYywweDAwLDB4YmEsMHgwMCwweDM2LDB4NDQsMHgwOCwweDkwLDB4MDAsMHgyNiwweDAwLDB4ZGIsMHhjMCB9IH0sCi17ICAxNiwgMHhiNzAwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweDgzLDB4YzAsMHgyOCwweDQwLDB4MGEsMHhiMCwweDAyLDB4ZTAsMHg0MCB9IH0sCi17ICAxNiwgMHhiNzEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHgwOCB9IH0sCi17ICAxNiwgMHhiNzIwLCAwLCB7MHgxYSwweGEyLDB4MDIsMHgyYywweDEwLDB4YjksMHgyMCwweDIyLDB4NDAsMHgwOCwweDMwLDB4MDIsMHgyYywweDA0LDB4YWEsMHg1NCB9IH0sCi17ICAxNiwgMHhiNzMwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhiMCwweDEyLDB4Y2MsMHgwMCwweDhiLDB4MDgsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDA0LDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzUwLCAwLCB7MHgwYSwweDA4LDB4ODIsMHgwYywweDAwLDB4YjgsMHgwMCwweDY0LDB4NDAsMHgwOCwweDMwLDB4MDIsMHhhNCwweDAwLDB4YjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzYwLCAwLCB7MHgyYywweGMwLDB4OGIsMHgzMCwweDEwLDB4YzgsMHgwMiwweDhiLDB4MDAsMHgyYSwweDQwLDB4MGEsMHgzMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhiNzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjOSwweDAwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzgwLCAwLCB7MHgxYSwweDgyLDB4MDMsMHgzYywweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwYywweGQxLDB4MDMsMHhhYywweDAwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzkwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZWQsMHgwMCwweGMzLDB4MDAsMHgzMiwweGMwLDB4OGMsMHhiMCwweDAzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHhiN2EwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGZjLDB4MDAsMHhmNSwweDAwLDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHhiN2IwLCAwLCB7MHgwZCwweDgwLDB4NGIsMHhmYywweDAwLDB4N2MsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQyLDB4MGIsMHg3NCwweDAwLDB4ZGYsMHgwMCB9IH0sCi17ICAxNiwgMHhiN2MwLCAwLCB7MHgxZCwweDQwLDB4OGYsMHhmMCwweDAzLDB4ZmMsMHhhMCwweGZmLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhiN2QwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhkZiwweDg0LDB4M2IsMHhlMCB9IH0sCi17ICAxNiwgMHhiN2UwLCAwLCB7MHgwZiwweGY4LDB4MGIsMHgzZSwweDAwLDB4ZWMsMHg4MCwweDMzLDB4ZTEsMHgwYywweDMwLDB4MDMsMHgzYywweDgwLDB4Y2YsMHg0OCB9IH0sCi17ICAxNiwgMHhiN2YwLCAwLCB7MHgzNywweGMwLDB4MGUsMHg0MCwweDAzLDB4ZTAsMHhjMCwweGM3LDB4OTEsMHhiMywweDA0LDB4MGMsMHhmMCwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhiODAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVmLDB4MDQsMHg4YiwweDgwLDB4MjIsMHg0MSB9IH0sCi17ICAxNiwgMHhiODEwLCAwLCB7MHgwYiwweGIwLDB4ODIsMHgyZSwweDAwLDB4ODgsMHg4MCwweGEyLDB4ZTAsMHgwYSwweGEyLDB4OTIsMHhhZCwweDgwLDB4ODcsMHg0MiB9IH0sCi17ICAxNiwgMHhiODIwLCAwLCB7MHgyMywweGQ4LDB4OGEsMHhhZCwweDAyLDB4ZTAsMHhjMCwweDhiLDB4MDAsMHgyMCwweDRjLDB4NDgsMHhhNCwweDAyLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhiODMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NTgsMHhiYiwweDAwLDB4MjgsMHg4MCB9IH0sCi17ICAxNiwgMHhiODQwLCAwLCB7MHgwYiwweGIyLDB4NDIsMHgyNCwweDAwLDB4YTgsMHgwMCwweDJhLDB4YzAsMHgwYSwweDEwLDB4MDIsMHgwNCwweDYwLDB4YTMsMHgyMCB9IH0sCi17ICAxNiwgMHhiODUwLCAwLCB7MHgyNCwweGQyLDB4MDgsMHgwMCwweDQyLDB4OGMsMHg4MywweDliLDB4MDEsMHgyMCwweDQ5LDB4MDgsMHgzMywweGMyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhiODYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDAsMHhhYiwweDg4LDB4MjIsMHhhMCB9IH0sCi17ICAxNiwgMHhiODcwLCAwLCB7MHgwYiwweGI4LDB4MDIsMHgyNiwweDBjLDB4YTgsMHgwMCwweDJhLDB4YzAsMHgwYSwweDkyLDB4MDIsMHhhNCwweDAwLDB4YWIsMHgwNiB9IH0sCi17ICAxNiwgMHhiODgwLCAwLCB7MHgyMiwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZTgsMHgwMCwweDliLDB4MDAsMHgwMiwweDQwLDB4MDgsMHhhMCwweDQyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhiODkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhkMywweDgwLDB4M2EsMHhlMCB9IH0sCi17ICAxNiwgMHhiOGEwLCAwLCB7MHgwZiwweDE4LDB4MDEsMHgwNiwweDAwLDB4ZTgsMHgzMCwweDM4LDB4NjYsMHgwZSwweGI4LDB4MDMsMHgyYSwweDQwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHhiOGIwLCAwLCB7MHgzNiwweGMxLDB4MGUsMHg5NiwweDAzLDB4ZTIsMHg4MCwweGRhLDB4MDgsMHgzMiwweDgwLDB4MmMsMHhiYiwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhiOGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDljLDB4MDAsMHhkZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhiOGQwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZGMsMHg4MCwweDM3LDB4NjAsMHgwZiwweGU4LDB4MDMsMHhmYSwweDAwLDB4ZGYsMHgwMSB9IH0sCi17ICAxNiwgMHhiOGUwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhjMCwweDQzLDB4ZTYsMHg0YywweGVmLDB4YTAsMHgzZiwweDQ0LDB4MGYsMHhhMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiOGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4NDAsMHhkYiwweDAwLDB4MzYsMHg4MCB9IH0sCi17ICAxNiwgMHhiOTAwLCAwLCB7MHgwYywweDk4LDB4MDMsMHgyNiwweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwZSwweDE4LDB4MDMsMHg4NCwweDAyLDB4ZTMsMHgwMSB9IH0sCi17ICAxNiwgMHhiOTEwLCAwLCB7MHgzOCwweGMxLDB4MGUsMHhiNCwweDAzLDB4YWMsMHg4MCwweGNhLDB4MTgsMHgzYSwweGQwLDB4MmMsMHgzMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhiOTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDNmLDB4NDAsMHhiOSwweDg4LDB4MmUsMHg4MCB9IH0sCi17ICAxNiwgMHhiOTMwLCAwLCB7MHgwOCwweGJjLDB4MDIsMHhhMywweDAwLDB4YjAsMHgwMCwweDBlLDB4YzAsMHgwOCwweGIwLDB4MDYsMHgyMCwweDAwLDB4OGYsMHgwNCB9IH0sCi17ICAxNiwgMHhiOTQwLCAwLCB7MHgyMywweGMxLDB4MDgsMHhiOSwweDEyLDB4MmYsMHgwMCwweDgzLDB4ODAsMHgzNiwweDQwLDB4MDgsMHhhZCwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhiOTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMiwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhiOTYwLCAwLCB7MHgwOSwweDMyLDB4MDIsMHg4NCwweDAwLDB4MzMsMHgwMCwweDJjLDB4YjIsMHgwYSwweDM2LDB4MTIsMHg4YywweDA4LDB4OTMsMHgwNSB9IH0sCi17ICAxNiwgMHhiOTcwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgxOCwweDAyLDB4ZWQsMHgwMCwweDkxLDB4ODAsMHg2YSwweDAwLDB4MDgsMHgxMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhiOTgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHhiOTkwLCAwLCB7MHgwOSwweDc4LDB4MDIsMHg5NywweDQwLDB4YjQsMHg4MCwweDJmLDB4YTAsMHgwOCwweGU4LDB4MDIsMHgwZSwweDQwLDB4OTcsMHg4MiB9IH0sCi17ICAxNiwgMHhiOWEwLCAwLCB7MHgyMSwweGUwLDB4OTgsMHg2OCwweDgyLDB4MWEsMHgxOCwweDlkLDB4OTAsMHgyZCwweGExLDB4MTgsMHg1OCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhiOWIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4YzAsMHhmMywweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhiOWMwLCAwLCB7MHgwZCwweGIwLDB4NDMsMHg4NCwweDQwLDB4ZjAsMHgwMCwweDNjLDB4ODIsMHgwZSwweDM4LDB4MTIsMHg4YywweDQ0LDB4ZjMsMHgzMCB9IH0sCi17ICAxNiwgMHhiOWQwLCAwLCB7MHhiYSwweGMxLDB4MWUsMHgxMCwweDQ3LDB4OGUsMHgyMiwweGQxLDB4MTAsMHgzOCwweDE4LDB4MGMsMHgzMCwweDgzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhiOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4NDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhiOWYwLCAwLCB7MHgwZSwweGUwLDB4MDMsMHhmNCwweDQwLDB4ZmMsMHgwMCwweDNkLDB4YzQsMHgwZiwweGQwLDB4MDEsMHhmNCwweDQxLDB4ZWYsMHgxOCB9IH0sCi17ICAxNiwgMHhiYTAwLCAwLCB7MHgzZiwweGM0LDB4MWYsMHhmMCwweDAzLDB4ZjgsMHg0OCwweGVmLDB4MTQsMHgzMywweDgwLDB4MGYsMHhjMSwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhiYTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGZjLDB4NDAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhiYTIwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHgyNCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhhOCwweDAwLDB4ZGIsMHgyOCB9IH0sCi17ICAxNiwgMHhiYTMwLCAwLCB7MHgzZSwweGM0LDB4MWYsMHg5MCwweDIzLDB4ZWMsMHgwMCwweGNhLDB4MDAsMHgzMiwweGUwLDB4MGMsMHg5MCwweDAzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHhiYTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4ODAsMHhiNywweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhiYTUwLCAwLCB7MHg0YiwweDUwLDB4NTIsMHgxNCwweDAwLDB4ZDQsMHgwMSwweDJkLDB4ODAsMHgwYiwweDYwLDB4MDIsMHhkOCwweDAwLDB4YTcsMHgyMCB9IH0sCi17ICAxNiwgMHhiYTYwLCAwLCB7MHgyZCwweGM1LDB4MGIsMHg0MCwweDE2LDB4ZGMsMHgwMCwweDg0LDB4MDAsMHgyMywweGMwLDB4MDgsMHg0MCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiYTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ODAsMHhiNywweDgwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHhiYTgwLCAwLCB7MHgwYiwweDc4LDB4MGEsMHg5NiwweDAwLDB4OTQsMHg4MCwweDJkLDB4NjAsMHgxYiwweDc4LDB4MDYsMHhkMiwweDAwLDB4YTcsMHg4MCB9IH0sCi17ICAxNiwgMHhiYTkwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHg3OCwweDIyLDB4ZGUsMHgwMCwweDg3LDB4ODIsMHgyMSwweGUwLDB4MDgsMHg1OCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiYWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweGU0LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhiYWIwLCAwLCB7MHgxYiwweDIxLDB4MDIsMHg4MSwweDAwLDB4OTAsMHgwMCwweDJjLDB4YzgsMHgwYiwweDM5LDB4MDIsMHhjZSwweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhiYWMwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHgwMCwweDhiLDB4MjAsMHgyMCwweGYwLDB4MDgsMHhiMiwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiYWQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmZSwweGEwLDB4M2YsMHg4MiB9IH0sCi17ICAxNiwgMHhiYWUwLCAwLCB7MHgwZiwweGU4LDB4MDMsMHg5OCwweDMwLDB4ZDYsMHgwMCwweDNmLDB4YTAsMHgwZiwweGUwLDB4MDMsMHhiYSwweGMwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiYWYwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhlYywweDMzLDB4ZjgsMHgwMiwweGNlLDB4MDAsMHhiMywweGI4LDB4MmMsMHhlYywweDgzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiYjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MTgsMHhmOCwweDQwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhiYjEwLCAwLCB7MHgwZiwweDgwLDB4MDIsMHg2MCwweDg0LDB4ZjgsMHgwNSwweDJlLDB4MDQsMHg4ZiwweDgwLDB4NDEsMHhlMCwweDAwLDB4NzgsMHgwMiB9IH0sCi17ICAxNiwgMHhiYjIwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MSwweDgzLDB4ZTAsMHgyMCwweGY4LDB4MDAsMHhiZSwweDAyLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhiYjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU2LDB4MTgsMHhmOSwweDIwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhiYjQwLCAwLCB7MHgwZiwweDljLDB4MDMsMHhlNCwweDQwLDB4YzksMHgwMCwweDMyLDB4NjEsMHgwYywweDkwLDB4MTMsMHhjNCwweDA4LDB4YzksMHgwMSB9IH0sCi17ICAxNiwgMHhiYjUwLCAwLCB7MHgzZSwweDQxLDB4MGYsMHgxOCwweDAzLDB4MjQsMHgwMCwweGM5LDB4YTAsMHgzMiwweDQwLDB4MGYsMHg5OCwweDQzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiYjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY1LDB4MDAsMHhiMSwweGMwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhiYjcwLCAwLCB7MHgwYiwweDljLDB4MDIsMHhlNywweDEwLDB4ODksMHgwMCwweDI4LDB4NDQsMHgwOCwweDk0LDB4MjIsMHhlNCwweDEwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHhiYjgwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5ZiwweDIyLDB4MjYsMHg2MCwweDg5LDB4ODAsMHgyMiwweDQwLDB4MGIsMHg5MSwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiYjkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4ODAsMHhiOSwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhiYmEwLCAwLCB7MHg0YiwweGI0LDB4MDIsMHhlNCwweDIwLDB4ODksMHgyMCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlYywweDAwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHhiYmIwLCAwLCB7MHgyZSwweDQxLDB4MGIsMHg5MCwweDAyLDB4MDQsMHgwMCwweDg5LDB4NDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiYmMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMSwweDA0LDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhiYmQwLCAwLCB7MHg4YiwweDEwLDB4MDIsMHhlNCwweDA1LDB4ODEsMHgwMCwweDI4LDB4NDAsMHgyOCwweDEyLDB4MTIsMHhjNCwweDgyLDB4ODEsMHgyMCB9IH0sCi17ICAxNiwgMHhiYmUwLCAwLCB7MHgyYywweDQ4LDB4MGIsMHgxMiwweDBhLDB4MDQsMHg4MiwweDgxLDB4MDAsMHgyMCwweDQ4LDB4MGIsMHgxMiwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiYmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDY4LDB4YTAsMHhmYSwweDAyLDB4M2UsMHgxNCB9IH0sCi17ICAxNiwgMHhiYzAwLCAwLCB7MHgwZiwweDg1LDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwYywweDg1LDB4MDMsMHhjMSwweDQwLDB4YzgsMHg1MyB9IH0sCi17ICAxNiwgMHhiYzEwLCAwLCB7MHgzZSwweDE0LDB4MGYsMHg4MCwweDAzLDB4MDEsMHg0OCwweGMwLDB4NTAsMHhiMiwweDE0LDB4MGYsMHg4NSwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhiYzIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGU0LDB4MDAsMHhmZCwweDAwLDB4YmYsMHg0MCB9IH0sCi17ICAxNiwgMHhiYzMwLCAwLCB7MHgwZiwweDUwLDB4MTMsMHhkNCwweDAyLDB4ZmQsMHgwMCwweDJmLDB4YzAsMHgwZiwweGQxLDB4MDMsMHhmNCwweDQwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhiYzQwLCAwLCB7MHgzZSwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZjQsMHg0MCwweGZmLDB4MDAsMHhiZiwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhiYzUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4YTAsMHhmZCwweDAxLDB4M2UsMHg0NCB9IH0sCi17ICAxNiwgMHhiYzYwLCAwLCB7MHgwZiwweGQxLDB4MDMsMHhkNCwweDAwLDB4YzUsMHgwMCwweDMzLDB4NDEsMHgwZiwweGRiLDB4MDMsMHgyNywweDIwLDB4ZDksMHhlMCB9IH0sCi17ICAxNiwgMHhiYzcwLCAwLCB7MHhiMiwweDcwLDB4MGQsMHhkYSwweDgzLDB4ZjYsMHg0MCwweGNmLDB4MTAsMHgzMiwweDc4LDB4MmQsMHhkYSwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiYzgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgyOCB9IH0sCi17ICAxNiwgMHhiYzkwLCAwLCB7MHgwYiwweDg4LDB4NDIsMHhlMCwweDEwLDB4ZDgsMHgwMCwweDIyLDB4MDAsMHgwYiwweDhjLDB4MGEsMHgyMywweDAwLDB4ODgsMHhjMCB9IH0sCi17ICAxNiwgMHhiY2EwLCAwLCB7MHgyMiwweDI4LDB4MDgsMHg4NCwweDAyLDB4YzIsMHg4MCwweDgwLDB4YTAsMHgyMiwweDMwLDB4NDgsMHhhYSwweDgyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhiY2IwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhiY2MwLCAwLCB7MHg4YiwweDEyLDB4MDIsMHhjNCwweDAwLDB4OTksMHgwMiwweDI4LDB4NDAsMHg4YiwweDE2LDB4MDIsMHg4NCwweDgxLDB4OTEsMHgzMCB9IH0sCi17ICAxNiwgMHhiY2QwLCAwLCB7MHgyMCwweDU4LDB4MDksMHgxMCwweDAyLDB4YzUsMHgwMCwweDgxLDB4MDAsMHg2NCwweDRkLDB4MDgsMHgzNCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiY2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGFjLDB4MGMsMHhiOSwweDA0LDB4MmUsMHg0OCB9IH0sCi17ICAxNiwgMHhiY2YwLCAwLCB7MHgwYiwweDk0LDB4MDYsMHhlNCwweDAwLDB4OTksMHg0MCwweGFhLDB4NDAsMHgwYiwweDkyLDB4MjIsMHhhNCwweDAwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHhiZDAwLCAwLCB7MHg2MCwweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4ODAsMHhhNiwweDUwLDB4MDgsMHg5MiwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhiZDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDk4LDB4M2UsMHg0OCB9IH0sCi17ICAxNiwgMHhiZDIwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHhlNSwweDIwLDB4ZDksMHgwMCwweDNhLDB4NjQsMHgwZiwweDk0LDB4ODMsMHhhNCwweGMwLDB4ZDksMHgwMiB9IH0sCi17ICAxNiwgMHhiZDMwLCAwLCB7MHg3MiwweDQwLDB4NGQsMHg5MCwweDQyLDB4ZTQsMHg4MiwweGM5LDB4NDAsMHgzNiwweDQwLDB4MGMsMHg5MCwweDBiLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhiZDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGFjLDB4MjgsMHhmOSwweDg4LDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhiZDUwLCAwLCB7MHgwZiwweDk5LDB4MTMsMHhlNywweDAwLDB4ZjksMHhjMCwweDM2LDB4NjAsMHgwZiwweDkwLDB4MDMsMHg2NiwweDAwLDB4ZjEsMHgwMCB9IH0sCi17ICAxNiwgMHhiZDYwLCAwLCB7MHg3ZSwweDQwLDB4MGYsMHg5OSwweDA3LDB4ZTQsMHg2MCwweGY5LDB4MDAsMHgzOCwweDQwLDB4MGYsMHg5OCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiZDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDEwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhiZDgwLCAwLCB7MHgwZiwweDgyLDB4MGIsMHgyMSwweDAwLDB4ZTgsMHgwMCwweDM2LDB4MDQsMHgwYywweDg2LDB4MDMsMHhlMSwweDAwLDB4ZDgsMHgwMCB9IH0sCi17ICAxNiwgMHhiZDkwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4NjEsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHgwMCwweDAzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhiZGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MjAsMHhiZSwweDAwLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhiZGIwLCAwLCB7MHgyOCwweGVjLDB4MDIsMHgxOSwweDA0LDB4ODIsMHgwMCwweDAzLDB4ODAsMHgwZCwweGU0LDB4ODIsMHhlOCwweDAwLDB4OGEsMHgwMSB9IH0sCi17ICAxNiwgMHhiZGMwLCAwLCB7MHhhYSwweDgwLDB4OGIsMHhlZCwweDgyLDB4M2IsMHg4MCwweDhlLDB4OTAsMHgzNiwweDgwLDB4MGIsMHhlMCwweDAzLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiZGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQyLDB4MDAsMHhiMywweDgwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhiZGUwLCAwLCB7MHg2YiwweDM0LDB4MTYsMHg0MCwweGMwLDB4ODMsMHgxMCwweDI0LDB4NzIsMHg4OCwweGIwLDB4MDIsMHhlYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhiZGYwLCAwLCB7MHgyNCwweGMwLDB4MGIsMHgwNCwweDAyLDB4NmYsMHgwOSwweDliLDB4MDAsMHgyNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDE0LDB4MDAsMHhiNywweDgwLDB4MjMsMHhlNCB9IH0sCi17ICAxNiwgMHhiZTEwLCAwLCB7MHgyOCwweDc4LDB4ODIsMHg3NCwweDE0LDB4OGYsMHgwMCwweDYxLDB4ZTAsMHgwOSwweDUwLDB4MTIsMHhkYywweDA0LDB4ODcsMHgyMiB9IH0sCi17ICAxNiwgMHhiZTIwLCAwLCB7MHgyNSwweGM4LDB4MWIsMHg3OCwweDAyLDB4MTQsMHgwMCwweDk0LDB4NDAsMHhhNSwweGMwLDB4MGIsMHg2MCwweDIyLDB4NjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDEyLDB4MjAsMHhiNywweDgwLDB4YjEsMHhlMCB9IH0sCi17ICAxNiwgMHhiZTQwLCAwLCB7MHg4ZiwweGY4LDB4MDMsMHgxMiwweDAyLDB4ZTcsMHg4MCwweDM1LDB4ZTAsMHgwYywweDY4LDB4MDYsMHhjZiwweGMyLDB4Y2YsMHhiMCB9IH0sCi17ICAxNiwgMHhiZTUwLCAwLCB7MHgyNSwweGY0LDB4MGYsMHg1OCwweDAzLDB4NWEsMHgwMiwweGQ1LDB4ODAsMHg3NSwweGZhLDB4NGYsMHhmOCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhiZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGE1LDB4OTAsMHhmMywweDAwLDB4M2QsMHhjMCB9IH0sCi17ICAxNiwgMHhiZTcwLCAwLCB7MHg0ZiwweGIwLDB4MTMsMHhhOCwweDA0LDB4ZmIsMHgwMCwweDNjLDB4YzAsMHgwZiwweDgwLDB4NDMsMHhlYywweDgwLDB4ZWIsMHg2MCB9IH0sCi17ICAxNiwgMHhiZTgwLCAwLCB7MHgzYSwweGM5LDB4MGYsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGU5LDB4MDAsMHgzZSwweGM4LDB4MGYsMHhhMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhiZTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhlZSwweDgwLDB4M2YsMHhlMCB9IH0sCi17ICAxNiwgMHhiZWEwLCAwLCB7MHgwZCwweDg5LDB4MDMsMHhkMiwweDQwLDB4ZTUsMHg4MSwweDM5LDB4ZTAsMHgzYywweGY5LDB4MDcsMHhmZSwweDAwLDB4Y2YsMHg4OCB9IH0sCi17ICAxNiwgMHhiZWIwLCAwLCB7MHgzZiwweGUwLDB4MGYsMHhlOCwweDAzLDB4ZjIsMHgwOCwweGNlLDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDk0LDB4NDQsMHhjNiwweDAwLDB4MmYsMHhjMCB9IH0sCi17ICAxNiwgMHhiZWQwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHhkMCwweGM0LDB4ODUsMHgyNCwweDIxLDB4OTAsMHgwOCwweDU0LDB4MTIsMHhkYywweDgyLDB4MDcsMHgwMCB9IH0sCi17ICAxNiwgMHhiZWUwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MCwweDA2LDB4ZDQsMHgwMCwweDhlLDB4NDgsMHgyMSwweGMwLDB4MGEsMHg2MCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiZWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhNywweDQwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhiZjAwLCAwLCB7MHgwOCwweDQyLDB4MDIsMHhkMCwweDAwLDB4YWQsMHgwMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MjIsMHhkYywweDI4LDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhiZjEwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg0MCwweDAyLDB4OTgsMHgwMCwweDk3LDB4MDAsMHhhMCwweGM0LDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDgsMHg5MywweDAwLDB4MmMsMHhlMCB9IH0sCi17ICAxNiwgMHhiZjMwLCAwLCB7MHgwOCwweDNjLDB4MjIsMHhjMSwweDAwLDB4ODEsMHgwMCwweDIwLDB4ODAsMHg4OCwweDE1LDB4MDIsMHhjZSwweDMwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhiZjQwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzYywweDAyLDB4Y2MsMHgwNCwweDkzLDB4YzAsMHgyMCwweGY0LDB4NGEsMHgwYywweDgyLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhiZjUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGEwLDB4MDAsMHhlMywweGMwLDB4MWYsMHhlMCB9IH0sCi17ICAxNiwgMHhiZjYwLCAwLCB7MHg2YywweDEwLDB4ODMsMHhlMCwweDA0LDB4ZWIsMHgwMCwweDNhLDB4NTIsMHg0YywweGI0LDB4MDMsMHhmZSwweDAyLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhiZjcwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHg4NCwweDQzLDB4ZTEsMHgwMiwweGQ4LDB4YzIsMHgzMywweGMwLDB4MGMsMHg4NCwweDBiLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiZjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGU5LDB4MDAsMHhlYiwweDEwLDB4M2UsMHhjNCB9IH0sCi17ICAxNiwgMHhiZjkwLCAwLCB7MHgwZSwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZmIsMHgxOCwweDNlLDB4YzIsMHgwZiwweGI2LDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMSB9IH0sCi17ICAxNiwgMHhiZmEwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHgzNSwweDAzLDB4YzQsMHgyOCwweGVhLDB4NDIsMHgzZSwweGMwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4NDAsMHhmZiwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhiZmMwLCAwLCB7MHgwYywweGMwLDB4YTMsMHgzMCwweDI4LDB4Y2QsMHhhMCwweDMzLDB4YzAsMHgwYywweGU4LDB4MDMsMHgwYywweDAwLDB4ZWYsMHgwNSB9IH0sCi17ICAxNiwgMHhiZmQwLCAwLCB7MHgzZCwweGMwLDB4MGMsMHhjYSwweDgzLDB4M2MsMHgwMCwweGNkLDB4MDgsMHgzZiwweGMyLDB4MGMsMHhhMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHhiZmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDY3LDB4MDAsMHhiYiwweDgwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhiZmYwLCAwLCB7MHgwOCwweGFhLDB4MDIsMHgwOCwweDAwLDB4YTEsMHgwMSwweDM0LDB4ZDEsMHgwOCwweGE0LDB4MTIsMHgyYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDAwLCAwLCB7MHg2ZSwweGMwLDB4ODgsMHhiMiwweDAyLDB4MmMsMHgwOCwweDg5LDB4ODAsMHgyZSwweGMwLDB4MGEsMHhhOCwweDAzLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHhjMDEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiYSwweDgwLDB4YTIsMHhjMCB9IH0sCi17ICAxNiwgMHhjMDIwLCAwLCB7MHgwOCwweGE4LDB4MGEsMHhhMCwweDAwLDB4OGIsMHgwMCwweGEyLDB4YzAsMHg0OCwweDExLDB4MDIsMHhhYywweDA0LDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDMwLCAwLCB7MHgyZSwweGMwLDB4MDAsMHg4MCwweDEyLDB4MmEsMHgwOCwweDhiLDB4MTQsMHgyYywweGMwLDB4MDgsMHg4OCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMiwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhjMDUwLCAwLCB7MHgwOCwweGIyLDB4MTIsMHg4MCwweDAwLDB4YWIsMHgwMSwweDI0LDB4YzAsMHgwOCwweDAwLDB4MDIsMHgwYywweDA0LDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDYwLCAwLCB7MHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4MDcsMHgwMCwweDgyLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgwOCwweDAyLDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHhjMDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhmYiwweDAwLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHhjMDgwLCAwLCB7MHgwYywweGEyLDB4MDMsMHhhMCwweDAwLDB4YzksMHgwMCwweDMyLDB4YzAsMHgyNCwweDk0LDB4MDMsMHgzYywweDAyLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDkwLCAwLCB7MHgyZiwweGMwLDB4MDQsMHg4MCwweDBiLDB4MDksMHgwMiwweGNiLDB4MDEsMHgzZiwweGMwLDB4MmMsMHhhMCwweDAzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHhjMGEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGRjLDB4MDAsMHhmZCwweDAyLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhjMGIwLCAwLCB7MHg0ZiwweGU0LDB4MTMsMHg3MCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMyLDB4ODMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhjMGMwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4YTgsMHgwNiB9IH0sCi17ICAxNiwgMHhjMGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MjAsMHhlZiwweDMwLDB4M2YsMHgwNCB9IH0sCi17ICAxNiwgMHhjMGUwLCAwLCB7MHg2YywweDg4LDB4MDMsMHgzYSwweDQyLDB4ZTQsMHg5MSwweDNmLDB4MGQsMHgwZCwweDQ4LDB4MDMsMHgzYywweGMwLDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHhjMGYwLCAwLCB7MHgzMywweDQ0LDB4MGMsMHhmNCwweDAzLDB4ZmMsMHg4MiwweGRmLDB4MzAsMHgzMywweDYwLDB4MGQsMHhmMSwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMTAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMCwweGVkLDB4MDAsMHg4YiwweDcwLDB4MmUsMHgxOCB9IH0sCi17ICAxNiwgMHhjMTEwLCAwLCB7MHg4OCwweDIyLDB4NGEsMHgyYywweDgyLDB4ZWEsMHgyNiwweDJlLDB4MGMsMHgwYiwweGI4LDB4NDIsMHgzZCwweDgwLDB4YmYsMHg5MCB9IH0sCi17ICAxNiwgMHhjMTIwLCAwLCB7MHgyYSwweDU0LDB4MjgsMHhiNCwweDAyLDB4Y2QsMHgwMCwweGRiLDB4NDAsMHgyYSwweDRhLDB4NDgsMHgzMCwweDAyLDB4YTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjMTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4YjAsMHhhMywweDAwLDB4NmMsMHgxMCB9IH0sCi17ICAxNiwgMHhjMTQwLCAwLCB7MHgwOSwweDAwLDB4ODIsMHgyMCwweDgyLDB4YTAsMHgyMCwweDJjLDB4ODgsMHg0YiwweDgwLDB4MDAsMHgwYywweDQwLDB4YjMsMHgwMSB9IH0sCi17ICAxNiwgMHhjMTUwLCAwLCB7MHgyMCwweDQ4LDB4MGIsMHgzNiwweDAyLDB4OGMsMHhlMCwweDgzLDB4NjQsMHgyNCwweDQwLDB4MjgsMHgzMiwweDAyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhjMTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgxMSwweGFjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhjMTcwLCAwLCB7MHgwOSwweDgwLDB4ODAsMHhhNiwweDAwLDB4YmEsMHgxMSwweDJlLDB4ODgsMHgwYiwweGIwLDB4MDAsMHgyYywweDAwLDB4YmIsMHgwMiB9IH0sCi17ICAxNiwgMHhjMTgwLCAwLCB7MHgwMiwweDQwLDB4MDksMHhiMCwweDAyLDB4ZWMsMHgwMCwweDhiLDB4MDAsMHgyYywweGM4LDB4MDgsMHhiOCwweDgyLDB4YjAsMHgwNCB9IH0sCi17ICAxNiwgMHhjMTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHg5MiB9IH0sCi17ICAxNiwgMHhjMWEwLCAwLCB7MHgwZCwweDgwLDB4MDMsMHgwYSwweDIwLDB4ZTksMHgwMCwweDNlLDB4NTAsMHg0NSwweDgwLDB4MDEsMHgyYywweDA0LDB4ZjMsMHgwMCB9IH0sCi17ICAxNiwgMHhjMWIwLCAwLCB7MHg5MCwweDYwLDB4MDksMHhiMCwweDAzLDB4ZWMsMHgwMCwweDhiLDB4MDIsMHgyNiwweDUwLDB4OGQsMHhiYywweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjMWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAyLDB4M2YsMHg4MCB9IH0sCi17ICAxNiwgMHhjMWQwLCAwLCB7MHgwZSwweGY5LDB4MDIsMHg3YywweDIyLDB4YWYsMHgwMCwweDNmLDB4NjAsMHgwMywweGMwLDB4MGIsMHhmYywweDEwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhjMWUwLCAwLCB7MHgzZiwweDRhLDB4NGUsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGY3LDB4MDAsMHgyYiwweDYwLDB4MGYsMHg3MCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjMWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDAwLDB4YjAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMjAwLCAwLCB7MHgwZiwweDgyLDB4MGIsMHhhOSwweDAwLDB4YzksMHgwMCwweDMyLDB4ZDIsMHgwZiwweGEwLDB4ODMsMHhhYywweDAwLDB4Y2IsMHgxMCB9IH0sCi17ICAxNiwgMHhjMjEwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGRiLDB4MDAsMHgzMiwweDUwLDB4MmMsMHg5NSwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjMjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDNjLDB4MDQsMHhiZiwweDAyLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhjMjMwLCAwLCB7MHgwYiwweDk4LDB4MDAsMHgyOSwweDAwLDB4Y2IsMHg0MCwweDIyLDB4YzAsMHgwYiwweDI0LDB4MDIsMHgzYywweDA4LDB4OGYsMHg1MCB9IH0sCi17ICAxNiwgMHhjMjQwLCAwLCB7MHgyZSwweDUwLDB4MGQsMHhmMCwweDAyLDB4ZmQsMHg0MiwweDhmLDB4NTgsMHgyMiwweGUwLDB4NDgsMHhiNSwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMjUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDZjLDB4MDAsMHhiMywweDAwLDB4MjQsMHg0MCB9IH0sCi17ICAxNiwgMHhjMjYwLCAwLCB7MHg0YiwweDk0LDB4MDAsMHg0OSwweDAwLDB4OTAsMHg4MCwweDA0LDB4MzAsMHgwOSwweDAwLDB4MGUsMHg0YywweDAwLDB4ODMsMHg4MCB9IH0sCi17ICAxNiwgMHhjMjcwLCAwLCB7MHgyYywweGMwLDB4MDksMHgzMCwweDIyLDB4NmUsMHg0MiwweDgzLDB4ODAsMHgyMCwweDQ4LDB4MDgsMHgzOCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhjMjgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4NjUsMHgyMCB9IH0sCi17ICAxNiwgMHhjMjkwLCAwLCB7MHgwYiwweDc4LDB4ODIsMHg3YSwweDA4LDB4OGMsMHhjMCwweDI1LDB4YTMsMHg0YiwweDc4LDB4MDIsMHg1ZSwweDA0LDB4ODcsMHg4NCB9IH0sCi17ICAxNiwgMHhjMmEwLCAwLCB7MHgyZCwweDYxLDB4ODksMHg3OCwweDAyLDB4ZGUsMHgwNCwweDg3LDB4ODAsMHhlOSwweDYyLDB4MDgsMHg3OCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhjMmIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmYiwweDAwLDB4MzQsMHg0OCB9IH0sCi17ICAxNiwgMHhjMmMwLCAwLCB7MHgwZiwweDNiLDB4MDMsMHg0OCwweDAwLDB4OTMsMHg0OCwweDM0LDB4NTAsMHgwZCwweDAwLDB4MDMsMHg2YywweDAwLDB4YzMsMHgxMCB9IH0sCi17ICAxNiwgMHhjMmQwLCAwLCB7MHgxYywweGMyLDB4MDUsMHgzMCwweDAzLDB4Y2MsMHg0MCwweGNiLDB4MDAsMHgzMiwweDQwLDB4MGMsMHgyMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhjMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MjAsMHhmZiwweDAxLDB4MDMsMHg0MCB9IH0sCi17ICAxNiwgMHhjMmYwLCAwLCB7MHgwZiwweGYwLDB4MjMsMHgxYywweDAwLDB4ZmYsMHgwMCwweDNiLDB4ODAsMHgwZiwweGIwLDB4MjMsMHgzYywweDAyLDB4ZmYsMHg1MCB9IH0sCi17ICAxNiwgMHhjMzAwLCAwLCB7MHgzZCwweGM0LDB4MGYsMHhmMSwweDAzLDB4ZWMsMHgwMCwweGVmLDB4MDAsMHhiNywweGMwLDB4MGYsMHhlMSwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhjMzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2UsMHhlMCB9IH0sCi17ICAxNiwgMHhjMzIwLCAwLCB7MHgwYywweDgwLDB4MDMsMHg0OCwweDAyLDB4YzgsMHg4MSwweDMyLDB4MDAsMHgwZiwweDkwLDB4NDIsMHhlYywweGEwLDB4ZmIsMHgxMCB9IH0sCi17ICAxNiwgMHhjMzMwLCAwLCB7MHgzZSwweGUwLDB4MGMsMHhiMSwweDAzLDB4ZWMsMHg0MCwweGZiLDB4MTAsMHgzMiwweDQwLDB4MWYsMHhmMCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjMzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDI0LDB4MmQsMHg4MCB9IH0sCi17ICAxNiwgMHhjMzUwLCAwLCB7MHgwOCwweDcwLDB4NDIsMHhkOCwweDEwLDB4OGMsMHgwMiwweDIxLDB4NDAsMHgwYiwweDUwLDB4MDIsMHhkZCwweDAwLDB4ZTcsMHgyMCB9IH0sCi17ICAxNiwgMHhjMzYwLCAwLCB7MHgyZiwweDQwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwNSwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHhmMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjMzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweDkwLDB4MmYsMHg0MCB9IH0sCi17ICAxNiwgMHhjMzgwLCAwLCB7MHgwYSwweDY4LDB4MDIsMHg3YSwweDAwLDB4OTcsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHhjMzkwLCAwLCB7MHgyZCwweGUwLDB4MDgsMHg3OCwweDA2LDB4ZGUsMHgwMCwweGI3LDB4YTAsMHgyMSwweDYwLDB4MGIsMHg3OCwweDQyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjM2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhjM2IwLCAwLCB7MHgwYSwweDM0LDB4MDIsMHhjOCwweDAwLDB4ODMsMHg0YSwweDIwLDB4ZjgsMHgwYiwweDMxLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhjM2MwLCAwLCB7MHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweGIyLDB4MGIsMHgyMCwweDQyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjM2QwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhiYSwweDAwLDB4M2YsMHg4OCB9IH0sCi17ICAxNiwgMHhjM2UwLCAwLCB7MHgyZSwweGUwLDB4NDMsMHg1OSwweDg4LDB4ZGUsMHgwMCwweDMzLDB4YjAsMHgwZiwweDZjLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjM2YwLCAwLCB7MHgzZSwweDgwLDB4MmMsMHhhMCwweDAzLDB4ZTgsMHgwNCwweGZhLDB4MDAsMHgyMywweGI4LDB4MGYsMHhlMCwweDhiLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhjNDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDQsMHhmOCwweDAxLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDEwLCAwLCB7MHgwOSwweDgyLDB4MjEsMHhlMCwweDAwLDB4ZjgsMHg0MCwweGJlLDB4MTQsMHgwZiwweDg0LDB4ODEsMHhlMCwweDAwLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDIwLCAwLCB7MHgzZSwweDAwLDB4MWYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHhiZSwweDAwLDB4MGYsMHg4OCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhlMSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhjNDQwLCAwLCB7MHgwYywweDkwLDB4NDMsMHhlNCwweDIwLDB4ZDksMHgwMCwweDNjLDB4NDQsMHgwOCwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMSB9IH0sCi17ICAxNiwgMHhjNDUwLCAwLCB7MHgzZSwweDQ4LDB4MGYsMHgxMCwweDQzLDB4MjUsMHgwMCwweGM5LDB4MDAsMHhiMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhjNDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDAwLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHhjNDcwLCAwLCB7MHgwOCwweDk4LDB4MDIsMHhlNiwweDA4LDB4YTksMHg2MCwweDJlLDB4NDksMHgwOCwweDk0LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhjNDgwLCAwLCB7MHgyZSwweDcwLDB4MGIsMHg5MCwweDAyLDB4MjYsMHgwMiwweDg5LDB4MDAsMHhhMCwweDQwLDB4MGEsMHg5MCwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhjNGEwLCAwLCB7MHgwOCwweDk4LDB4MDQsMHhlNiwweDAwLDB4OTksMHg4MCwweDJlLDB4NDAsMHgwYSwweGIxLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhjNGIwLCAwLCB7MHgwZSwweDQwLDB4MGIsMHg5MCwweDBhLDB4MDQsMHgwMCwweDgxLDB4MDEsMHgyMiwweGMwLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhjNGMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDIwLDB4MjIsMHg0OCB9IH0sCi17ICAxNiwgMHhjNGQwLCAwLCB7MHgwOCwweDE4LDB4MDYsMHhjNCwweDAwLDB4YTEsMHgwMCwweDJjLDB4NDgsMHgyYSwweDMwLDB4MDIsMHgwNCwweDgwLDB4YjEsMHgyMiB9IH0sCi17ICAxNiwgMHhjNGUwLCAwLCB7MHgyYywweDQ4LDB4MGIsMHgxMiwweDAyLDB4MDUsMHg4MCwweDgxLDB4NjAsMHgyMiwweDUwLDB4MGEsMHgxNCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhjNGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgxNCB9IH0sCi17ICAxNiwgMHhjNTAwLCAwLCB7MHgwYywweDg1LDB4MDMsMHhlMSwweDQwLDB4ZDgsMHg1MCwweDNlLDB4MTQsMHgwZSwweDgwLDB4MGIsMHgyMSwweDQwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTEwLCAwLCB7MHgzZSwweDk0LDB4MGYsMHg4NSwweDAzLDB4MjAsMHgwMCwweGMwLDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhjNTIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGU0LDB4NDEsMHhmOSwweDEwLDB4M2QsMHg0NSB9IH0sCi17ICAxNiwgMHhjNTMwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDUsMHgwZCwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhjNTQwLCAwLCB7MHgzZiwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MiwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHhkNCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhjNTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhjNTYwLCAwLCB7MHgwYywweGQwLDB4MDMsMHhmNCwweDA4LDB4OGQsMHgwMiwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDAwLDB4Y2QsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTcwLCAwLCB7MHgzMywweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4NGMsMHg5OCwweDIzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDAsMHhlOCwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTkwLCAwLCB7MHg0OCwweDgwLDB4MDIsMHhlOCwweDAwLDB4ZDAsMHgwMCwweDJlLDB4ODAsMHgwYiwweDgwLDB4MTIsMHhlMCwweDAyLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhjNWEwLCAwLCB7MHhhMiwweDAwLDB4MGEsMHg4MCwweDEyLDB4MjIsMHgwMCwweGI4LDB4ODEsMHgyMiwweDI4LDB4MDgsMHhjZiwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhjNWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhjNWMwLCAwLCB7MHgyOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDEwLDB4MDIsMHhjNCwweDAwLDB4OTEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNWQwLCAwLCB7MHgyNiwweDQwLDB4MDksMHgxMCwweDAyLDB4NTQsMHhhMCwweGI1LDB4MmMsMHhhNSwweDQyLDB4MDgsMHg1MCwweDgyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhjNWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg1MCB9IH0sCi17ICAxNiwgMHhjNWYwLCAwLCB7MHg1OCwweDkwLDB4MDIsMHhlNCwweDgwLDB4OWIsMHgwMCwweDJlLDB4NDUsMHg4YiwweDkyLDB4MDIsMHhlNCwweDAwLDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhjNjAwLCAwLCB7MHgyNiwweDQ0LDB4MGIsMHg5MCwweDAyLDB4NjQsMHgwOCwweGI1LDB4MDAsMHgyNSwweDRhLDB4MDgsMHg1MSwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhjNjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1NCB9IH0sCi17ICAxNiwgMHhjNjIwLCAwLCB7MHgwYywweDkwLDB4NDMsMHhjNCwweDAwLDB4YzksMHg5MCwweDNlLDB4NzAsMHgwZiwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZDksMHgwMCB9IH0sCi17ICAxNiwgMHhjNjMwLCAwLCB7MHgzNCwweDYwLDB4NGQsMHg5MCwweDBhLDB4NjQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MmMsMHg5ZSwweDAzLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhjNjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHhjNjUwLCAwLCB7MHgwZiwweDljLDB4MDMsMHhlNiwweDMwLDB4ZjksMHgwMCwweDNlLDB4NjIsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCB9IH0sCi17ICAxNiwgMHhjNjYwLCAwLCB7MHgzYSwweDQwLDB4NGUsMHg5MCwweDAzLDB4YTQsMHgwMCwweDc5LDB4MGMsMHgzYSwweDQwLDB4MGYsMHg5MCwweDFiLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjgwLCAwLCB7MHgwYywweDgxLDB4MTMsMHhlMSwweDA4LDB4YzgsMHg0OCwweDMyLDB4MDAsMHgzYywweDgwLDB4MDMsMHhjMCwweDAwLDB4ZjAsMHgxMCB9IH0sCi17ICAxNiwgMHhjNjkwLCAwLCB7MHgzZSwweDA2LDB4MGMsMHg4MCwweDAzLDB4ZjAsMHgwOCwweGNjLDB4MDAsMHgzMywweDA0LDB4MGMsMHhjMCwweDAzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhjNmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MmUsMHg4MCB9IH0sCi17ICAxNiwgMHhjNmIwLCAwLCB7MHgwOCwweGVjLDB4NDIsMHhmYSwweDIwLDB4OGUsMHgwMCwweDIzLDB4YTAsMHgwOCwweGU4LDB4NDIsMHhlOCwweDAwLDB4YmUsMHg4MCB9IH0sCi17ICAxNiwgMHhjNmMwLCAwLCB7MHgyZiwweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGRhLDB4MDAsMHgyMiwweDgwLDB4NDgsMHhlMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhjNmUwLCAwLCB7MHgwOSwweDM0LDB4ODIsMHhjOSwweDAwLDB4ODMsMHg4MCwweDIwLDB4ZjAsMHgwOCwweDMwLDB4ODIsMHhjYywweDAwLDB4YjMsMHg4MCB9IH0sCi17ICAxNiwgMHhjNmYwLCAwLCB7MHgyYywweGYwLDB4MDgsMHhiMCwweDAyLDB4YzEsMHgyMCwweDgwLDB4MDAsMHhhMCwweDMyLDB4MDgsMHgwMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4YzAsMHhiNywweDAxLDB4MmYsMHhjOCB9IH0sCi17ICAxNiwgMHhjNzEwLCAwLCB7MHg4OSwweDUwLDB4MDIsMHhkOCwweDAyLDB4ODcsMHhjNCwweDIxLDB4ZTIsMHg0OCwweDcwLDB4ODIsMHhkYywweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzIwLCAwLCB7MHgyYywweDQwLDB4MDgsMHg3MiwweDAyLDB4Y2UsMHgwMCwweDk3LDB4MDgsMHgyMywweGMwLDB4MDgsMHg3MCwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhmNywweGUxLDB4M2QsMHhlOCB9IH0sCi17ICAxNiwgMHhjNzQwLCAwLCB7MHgyZCwweDY4LDB4MDMsMHhmMiwweDAwLDB4YzcsMHg4MCwweGIwLDB4ZTAsMHgwOCwweDY4LDB4MDMsMHhkZiwweDgwLDB4ZjYsMHg4MCB9IH0sCi17ICAxNiwgMHhjNzUwLCAwLCB7MHgzZCwweGUwLDB4OGMsMHg3ZSwweDAzLDB4ZGEsMHgwMCwweGNjLDB4ODAsMHgzMSwweDIwLDB4MGMsMHhjOCwweDBiLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhjNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDgsMHhmYiwweDAwLDB4M2MsMHhjMCB9IH0sCi17ICAxNiwgMHhjNzcwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHhlMCwweDA4LDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDIsMHhlYywweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzgwLCAwLCB7MHgzZSwweDQwLDB4MmYsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwLDB4MmYsMHhiMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhjNzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweDkyLDB4N2YsMHhlYSB9IH0sCi17ICAxNiwgMHhjN2EwLCAwLCB7MHgwYywweGY4LDB4MDMsMHhmZSwweDAwLDB4Y2MsMHhhMCwweDNmLDB4MjAsMHgwZCwweGY5LDB4MDMsMHgzZSwweDAwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhjN2IwLCAwLCB7MHgzMywweDYwLDB4MGYsMHhmOCwweDAzLDB4ZjYsMHgwMCwweGVmLDB4ODQsMHgzMywweGUwLDB4MmMsMHhjOCwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhjN2MwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhiNywweDAwLDB4MmYsMHhjOCB9IH0sCi17ICAxNiwgMHhjN2QwLCAwLCB7MHgwOCwweDU0LDB4MDIsMHhkOCwweDAwLDB4ZDYsMHgwNCwweDJkLDB4MDEsMHgwOCwweDY5LDB4MDIsMHgxYywweDAwLDB4ODUsMHgwMCB9IH0sCi17ICAxNiwgMHhjN2UwLCAwLCB7MHgyMSwweDQzLDB4MGIsMHg3MCwweDAzLDB4OWEsMHhjMCwweDhjLDB4MDAsMHhhMywweDAyLDB4MDgsMHhmMSwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhjN2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDAxLDB4MmQsMHhjYyB9IH0sCi17ICAxNiwgMHhjODAwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHhkNCwweDAwLDB4OTQsMHgyOCwweDJkLDB4YzIsMHgwOCwweGMyLDB4MDIsMHg1YywweDAwLDB4ODYsMHgwMCB9IH0sCi17ICAxNiwgMHhjODEwLCAwLCB7MHgyMSwweDgwLDB4MGIsMHg3MSwweDAyLDB4ZGMsMHgwMCwweGE3LDB4MTAsMHgyMSwweGMwLDB4MDgsMHg0OCwweDAyLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhjODIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDgsMHhiMywweDAwLDB4MmMsMHhmMCB9IH0sCi17ICAxNiwgMHhjODMwLCAwLCB7MHgwOCwweDA1LDB4MDIsMHhjMCwweDIwLDB4OTAsMHg4MCwweDJlLDB4MDAsMHgwOCwweDAwLDB4ODIsMHg0YywweDAyLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhjODQwLCAwLCB7MHhhMCwweDYxLDB4MGIsMHgzMCwweDAyLDB4YTAsMHgwMCwweDgwLDB4MDAsMHhhMCwweDMwLDB4ODgsMHhiMSwweDBhLDB4NDgsMHgwNCB9IH0sCi17ICAxNiwgMHhjODUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhmZiwweDAwLDB4MmQsMHhjOCB9IH0sCi17ICAxNiwgMHhjODYwLCAwLCB7MHgwYywweDNkLDB4MDMsMHhlNCwweDAwLDB4ZGIsMHgwMiwweDNlLDB4ZjAsMHgyYywweDkwLDB4NGIsMHg3YywweDAwLDB4YzEsMHgwMCB9IH0sCi17ICAxNiwgMHhjODcwLCAwLCB7MHgzMiwweDIwLDB4NGYsMHhmMCwweDEzLDB4ZTAsMHgwMCwweGU4LDB4MDEsMHgzMiwweDAwLDB4OGMsMHhhYywweDAzLDB4NmEsMHgwNCB9IH0sCi17ICAxNiwgMHhjODgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHhjMiB9IH0sCi17ICAxNiwgMHhjODkwLCAwLCB7MHg0ZiwweGIwLDB4MDMsMHhlMCwweDA0LDB4ZmEsMHg0MCwweDNlLDB4YzIsMHg0ZSwweDk4LDB4MjMsMHhhYywweDEwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjOGEwLCAwLCB7MHgzZSwweDUwLDB4MDcsMHhiMCwweDEzLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMyLDB4MGYsMHg5MiwweDAzLDB4YTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjOGIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhjOGMwLCAwLCB7MHgwYywweGM4LDB4MjMsMHgzNiwweDgyLDB4Y2YsMHg4MCwweDNmLDB4ODAsMHgwYywweGUwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgyMCB9IH0sCi17ICAxNiwgMHhjOGQwLCAwLCB7MHgzMywweGMwLDB4MGUsMHhmMCwweDAzLDB4ZjgsMHgxMCwweGRjLDB4MDAsMHgzMywweDAwLDB4NGMsMHhlOCwweDIxLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhjOGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MDAsMHhhYiwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhjOGYwLCAwLCB7MHg0YSwweDhkLDB4NDIsMHgyMSwweDAwLDB4OGIsMHg0MiwweDJlLDB4ZDIsMHgwOCwweGIwLDB4MDMsMHhlYywweDAwLDB4YjgsMHg4OCB9IH0sCi17ICAxNiwgMHhjOTAwLCAwLCB7MHgzNCwweDYyLDB4MGQsMHhiMCwweDAyLDB4ZTQsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5MCwweDBhLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhjOTEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhjOTIwLCAwLCB7MHgwOCwweGEwLDB4MDIsMHgwZCwweDAwLDB4ODksMHgxMCwweDJlLDB4MDgsMHgyOCwweDkyLDB4MDIsMHhlYywweDA0LDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTMwLCAwLCB7MHgyMiwweGEwLDB4MDgsMHhiMCwweDAyLDB4NjQsMHgwMiwweGIzLDB4MDIsMHgyMCwweGMwLDB4MDgsMHhhMiwweDAyLDB4YTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHhhMywweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhjOTUwLCAwLCB7MHgwYSwweDkwLDB4MjIsMHgwYywweDEwLDB4ODAsMHgwMCwweDJjLDB4MDAsMHgxOCwweDAyLDB4ODIsMHhjYywweDAwLDB4YjAsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTYwLCAwLCB7MHgyNiwweDQwLDB4MDksMHgzMCwweDAyLDB4YzgsMHgyMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgxMCwweDA2LDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHhjOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjYiwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhjOTgwLCAwLCB7MHgwYywweGExLDB4MDIsMHgyNCwweDAwLDB4ODgsMHgwMCwweDNjLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTkwLCAwLCB7MHgzMiwweDgwLDB4MGUsMHhiMCwweDAzLDB4Y2MsMHg4MCwweGRiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHhhMCwweDAzLDB4ODAsMHgwMyB9IH0sCi17ICAxNiwgMHhjOWEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhjOWIwLCAwLCB7MHg0ZiwweGMyLDB4MTMsMHhkNCwweDEwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhiYywweDAwLDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHhjOWMwLCAwLCB7MHgzZiwweDQwLDB4MGYsMHhmMCwweDIzLDB4ZTAsMHgxMiwweGZjLDB4MDEsMHhiZiwweDAwLDB4MGYsMHhkMCwweDAzLDB4NjgsMHgwMiB9IH0sCi17ICAxNiwgMHhjOWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhjNywweDgwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhjOWUwLCAwLCB7MHg4YiwweGI0LDB4MDMsMHhiMCwweGMwLDB4Y2YsMHgyZSwweDFmLDB4MGMsMHg0ZiwweGMzLDB4MDMsMHgzMCwweDgwLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHhjOWYwLCAwLCB7MHgzZiwweDA4LDB4MGYsMHhmMCwweDAwLDB4N2MsMHgwMCwweGZmLDB4MjEsMHgzMywweGU0LDB4MGMsMHhlMCwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjYTAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVlLDB4MDAsMHg4YiwweDgyLDB4MjMsMHhmMCB9IH0sCi17ICAxNiwgMHhjYTEwLCAwLCB7MHgwYiwweGI1LDB4MTIsMHgwZCwweDg4LDB4ODgsMHhjMCwweDBlLDB4OTgsMHgwYiwweDg2LDB4MDIsMHgyMSwweDAwLDB4YmIsMHhjMCB9IH0sCi17ICAxNiwgMHhjYTIwLCAwLCB7MHgyZSwweGU0LDB4NGIsMHhmNywweDgzLDB4MmYsMHg0NCwweGJmLDB4OTAsMHgyMiwweGM4LDB4NDgsMHhhNiwweDgyLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhjYTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDksMHg4YSwweDAwLDB4MjAsMHg1MCB9IH0sCi17ICAxNiwgMHhjYTQwLCAwLCB7MHg0YiwweGIyLDB4MGEsMHg4MCwweGNjLDB4ODMsMHgwMSwweDBjLDB4OGMsMHgwYiwweDIzLDB4MGEsMHgwNCwweDYwLDB4YjMsMHgxNCB9IH0sCi17ICAxNiwgMHhjYTUwLCAwLCB7MHgyNCwweDQwLDB4NGIsMHgzMCwweDAyLDB4Y2MsMHgxMCwweGIzLDB4MDAsMHgyMCwweGM4LDB4ZTksMHgxMSwweDA2LDB4NjIsMHgwMSB9IH0sCi17ICAxNiwgMHhjYTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDEsMHg4YSwweDgwLDB4YTIsMHg0NCB9IH0sCi17ICAxNiwgMHhjYTcwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHhhMSwweDA0LDB4ODgsMHg0MCwweDJlLDB4YTAsMHgwYiwweDIwLDB4MDIsMHgyOCwweDIwLDB4YmIsMHg0MCB9IH0sCi17ICAxNiwgMHhjYTgwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwOCwweGJiLDB4MDAsMHgyMiwweGMwLDB4MDksMHhiMCwweDAyLDB4NzAsMHgwNCB9IH0sCi17ICAxNiwgMHhjYTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhjMywweDgzLDB4MzIsMHhlMCB9IH0sCi17ICAxNiwgMHhjYWEwLCAwLCB7MHg4ZiwweDAwLDB4MDMsMHhhMCwweDAyLDB4Y2IsMHhjNCwweDNlLDB4MjgsMHgwNywweDhiLDB4MDMsMHgyMSwweDAwLDB4ZjksMHhjMCB9IH0sCi17ICAxNiwgMHhjYWIwLCAwLCB7MHgzZSwweDEwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweDdiLDB4MDAsMHgzMiwweGMwLDB4MGQsMHhhMCwweDAzLDB4NTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjYWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDljLDB4MDIsMHhmZiwweDAwLDB4M2YsMHhlMCB9IH0sCi17ICAxNiwgMHhjYWQwLCAwLCB7MHgwZiwweGY0LDB4NDMsMHg1ZSwweDgwLDB4ZmMsMHg5NCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MmIsMHhmMiwweDUwLDB4ZmQsMHgyMSB9IH0sCi17ICAxNiwgMHhjYWUwLCAwLCB7MHg3ZSwweDg0LDB4OGYsMHhmMCwweDAzLDB4NmMsMHgwYywweGZmLDB4MDAsMHgzZiwweGMwLDB4MGUsMHg2MiwweDAzLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjYWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhlYiwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhjYjAwLCAwLCB7MHgyYywweDgwLDB4MDMsMHg2OSwweDAwLDB4Y2IsMHgzMCwweGIyLDB4MDAsMHg0ZiwweGIzLDB4NDMsMHhlNSwweDAwLDB4Y2IsMHg0MCB9IH0sCi17ICAxNiwgMHhjYjEwLCAwLCB7MHg3MiwweDE4LDB4MmMsMHhiMCwweDAzLDB4ZWMsMHgyOCwweGMzLDB4MjEsMHgzYSwweGMxLDB4MGYsMHg5NCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjYjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDNjLDB4MDAsMHg4YiwweDIwLDB4MjIsMHg1MCB9IH0sCi17ICAxNiwgMHhjYjMwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHgyOCwweDAwLDB4ODgsMHhjMCwweDJhLDB4MDAsMHg4YiwweGI0LDB4MDIsMHhlOCwweDAwLDB4ZGIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjQwLCAwLCB7MHg2MiwweDMwLDB4MDgsMHhmMCwweDAyLDB4ZmMsMHgwMCwweDhmLDB4ODAsMHgyMiwweGMwLDB4MGIsMHg5NSwweDQ3LDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMSwweDAwLDB4MjAsMHhjMiB9IH0sCi17ICAxNiwgMHhjYjYwLCAwLCB7MHg0OCwweDMwLDB4MDIsMHg0OSwweDgwLDB4ODMsMHg0MiwweDYwLDB4MTIsMHgwYiwweDMwLDB4MDIsMHhjOCwweDAwLDB4ODIsMHgwMiB9IH0sCi17ICAxNiwgMHhjYjcwLCAwLCB7MHgyYywweDMwLDB4MDksMHhiMCwweDAyLDB4Y2YsMHgwMSwweDgzLDB4NTAsMHgyYSwweGMwLDB4MGIsMHgyMCwweDAyLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDAsMHg5ZCwweDgwLDB4YTAsMHhlMCB9IH0sCi17ICAxNiwgMHhjYjkwLCAwLCB7MHgwOCwweDc5LDB4MjIsMHg1ZSwweDYwLDB4ODcsMHg5MCwweDI5LDB4YTAsMHgwYiwweDc4LDB4MDIsMHhjNiwweDAwLDB4OTIsMHg4MSB9IH0sCi17ICAxNiwgMHhjYmEwLCAwLCB7MHgwNSwweGUwLDB4MDksMHg3OCwweDAyLDB4ZGUsMHg0MCwweDg3LDB4ODAsMHgyMSwweGUwLDB4MGIsMHgyOSwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhjYmIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4NDAsMHhmMiwweDAwLDB4MzAsMHhjMCB9IH0sCi17ICAxNiwgMHhjYmMwLCAwLCB7MHgwOCwweDNhLDB4MDMsMHg0NCwweDA0LDB4YzMsMHgxNCwweDMwLDB4YzAsMHgwZiwweDIyLDB4MDMsMHhjYywweDgwLDB4YzIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYmQwLCAwLCB7MHhhNCwweGQyLDB4MGQsMHgzMCwweDEzLDB4Y2MsMHgyMCwweGMzLDB4MDAsMHgzOCwweGM0LDB4NGYsMHgwNCwweDQzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhjYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweDljLDB4MDAsMHhlZSwweDAwLDB4M2YsMHhlMCB9IH0sCi17ICAxNiwgMHhjYmYwLCAwLCB7MHgwZiwweDcwLDB4MDMsMHhiNCwweDAyLDB4ZjQsMHgxMCwweDNmLDB4YzAsMHg4ZiwweGEwLDB4MDMsMHhmYywweDAwLDB4N2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjYzAwLCAwLCB7MHgzYiwweGMwLDB4MGUsMHhmMCwweDgzLDB4ZWMsMHgwMCwweGY3LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhjYzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGZjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhjYzIwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhhYSwweDEyLDB4Y2IsMHgwMSwweDMyLDB4ODAsMHgwZiwweGIwLDB4MTMsMHgyOCwweDE0LDB4ZjksMHg4MCB9IH0sCi17ICAxNiwgMHhjYzMwLCAwLCB7MHgzYSwweDQwLDB4MDMsMHhiNCwweDAzLDB4ZWMsMHg0MiwweGNiLDB4MTgsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjYzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDlkLDB4MDAsMHhiNSwweDAwLDB4MmQsMHhjNCB9IH0sCi17ICAxNiwgMHhjYzUwLCAwLCB7MHgwYiwweDcwLDB4NGIsMHg3YywweDAwLDB4ODQsMHgwMCwweDIxLDB4ODAsMHgwYiwweDcwLDB4MDIsMHg5NCwweDEwLDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYzYwLCAwLCB7MHgyOSwweGMwLDB4MGIsMHg3MiwweDgyLDB4ZGMsMHgwMCwweDg3LDB4MjAsMHgyZCwweGMxLDB4MGUsMHg3MCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjYzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHhjYzgwLCAwLCB7MHgwYiwweDY4LDB4MDIsMHg5ZSwweDAwLDB4ODMsMHg4MCwweDIxLDB4ZTAsMHg1YiwweDM4LDB4MDIsMHgxZSwweDAwLDB4YjQsMHhjMCB9IH0sCi17ICAxNiwgMHhjYzkwLCAwLCB7MHgyNSwweGUwLDB4MDksMHg3OCwweDMyLDB4Y2UsMHgwMCwweDk3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg1YywweDRlLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjY2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDQ0LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhjY2IwLCAwLCB7MHgwYiwweDNjLDB4MDIsMHhjYywweDQwLDB4OTMsMHgwOCwweDIwLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHg4YywweDEwLDB4YjMsMHhjMCB9IH0sCi17ICAxNiwgMHhjY2MwLCAwLCB7MHgyOCwweGQ4LDB4MWIsMHgzMCwweDAyLDB4Y2MsMHgwOCwweDkzLDB4MDEsMHg2YywweGMwLDB4MGEsMHhiOCwweDgyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjY2QwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmNiwweDEwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhjY2UwLCAwLCB7MHg0YiwweGVkLDB4ODMsMHhiOCwweDAwLDB4Y2UsMHhlNCwweGIzLDB4YTMsMHgwZiwweGUwLDB4MDMsMHgzOCwweDAwLDB4ZmUsMHgwMCB9IH0sCi17ICAxNiwgMHhjY2YwLCAwLCB7MHgzYiwweDgwLDB4MGQsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGRhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhlOCwweDAyLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhjZDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MTAsMHhmOCwweDQwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjZDEwLCAwLCB7MHgwZiwweDgwLDB4MTMsMHg2MCwweDAwLDB4ZTAsMHgwMCwweDNlLDB4MDAsMHg0MywweDA4LDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwOCB9IH0sCi17ICAxNiwgMHhjZDIwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4NDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDIzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhjZDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDAsMHhkOSwweGMwLDB4YmUsMHg0MCB9IH0sCi17ICAxNiwgMHhjZDQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwMSwweDlhLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhjZDUwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHg0MCwweDA5LDB4MTAsMHgwZSwweDQwLDB4MGYsMHg5YSwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhjZDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDQsMHg4OSwweDA0LDB4YTIsMHg2MCB9IH0sCi17ICAxNiwgMHhjZDcwLCAwLCB7MHg4YiwweDlkLDB4ODAsMHhhNiwweDAwLDB4YjksMHg4MCwweDIyLDB4NDAsMHg0OCwweDk4LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhjZDgwLCAwLCB7MHgyZSwweDQwLDB4OGIsMHg5MCwweDAyLDB4ZTQsMHg5NCwweDg5LDB4NjAsMHgyZSwweDQwLDB4MGIsMHg5NCwweDBiLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhjZDkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg5OSwweDA4LDB4YWUsMHg0OCB9IH0sCi17ICAxNiwgMHhjZGEwLCAwLCB7MHg0YiwweDEwLDB4MDIsMHhlNSwweDgxLDB4YjksMHgxMCwweDIwLDB4NDQsMHgxYiwweDk0LDB4MDIsMHgyNCwweDEwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhjZGIwLCAwLCB7MHg2ZSwweDYwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5NCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhjZGMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODAsMHg4OSwweDAwLDB4YTAsMHg2OCB9IH0sCi17ICAxNiwgMHhjZGQwLCAwLCB7MHgwYiwweDEyLDB4MDIsMHg4NCwweDg5LDB4YjEsMHgyMCwweDIwLDB4NDgsMHgxYSwweDEyLDB4MTIsMHgwNCwweDgwLDB4YjEsMHgyMiB9IH0sCi17ICAxNiwgMHhjZGUwLCAwLCB7MHgwYywweDQ4LDB4MGIsMHgxMiwweDAyLDB4YzQsMHg4MSwweGExLDB4MjAsMHgyYywweDQwLDB4MGIsMHgxMiwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhjZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhkOCwweDAwLDB4YmUsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTAwLCAwLCB7MHgwZiwweDA1LDB4MGIsMHhlMSwweDQwLDB4ZjgsMHgwMCwweDMyLDB4MTQsMHgwZiwweDg1LDB4MDMsMHgyMSwweDQwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTEwLCAwLCB7MHgyZSwweDgwLDB4MGYsMHg4NSwweDEzLDB4ZTAsMHgwMiwweGM4LDB4MDAsMHgzZSwweDE0LDB4MGYsMHgwNSwweDAxLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhjZTIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGU0LDB4NDAsMHhmZCwweDAwLDB4YmYsMHg0NCB9IH0sCi17ICAxNiwgMHhjZTMwLCAwLCB7MHgwZiwweGQxLDB4MDMsMHhmNCwweDQwLDB4N2QsMHgxMCwweGJmLDB4NDQsMHg0NSwweGYxLDB4MmIsMHhmNCwweDQwLDB4ZmQsMHgxMCB9IH0sCi17ICAxNiwgMHhjZTQwLCAwLCB7MHgzZiwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGQ5LDB4MTAsMHgzZSwweDQwLDB4MGYsMHhkMSwweDAzLDB4YTYsMHgwNiB9IH0sCi17ICAxNiwgMHhjZTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MDAsMHhmZCwweDAwLDB4MWYsMHg2MiB9IH0sCi17ICAxNiwgMHhjZTYwLCAwLCB7MHgwZiwweGQ4LDB4ODIsMHgzNiwweDAwLDB4YmQsMHhhMCwweDNiLDB4NjgsMHgwYywweGRjLDB4ODMsMHgyNiwweGM4LDB4ZDksMHhhMCB9IH0sCi17ICAxNiwgMHhjZTcwLCAwLCB7MHgzMywweDYwLDB4MGQsMHg5OSwweDgzLDB4NTYsMHgyMCwweGQ1LDB4YTgsMHgyZSwweDQ0LDB4MGMsMHhkOCwweDgzLDB4ODYsMHgwNCB9IH0sCi17ICAxNiwgMHhjZTgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4NDgsMHhiOCwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTkwLCAwLCB7MHgwYiwweDBhLDB4ODIsMHgyMiwweDIwLDB4YjgsMHg1MCwweDIyLDB4YmEsMHgwOCwweDhhLDB4MjIsMHgyMiwweDgwLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZWEwLCAwLCB7MHgyMiwweDAxLDB4MDgsMHgwYywweDAyLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyZSwweDI4LDB4ODgsMHg4OCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhjZWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhjZWMwLCAwLCB7MHgxYiwweDEwLDB4MGEsMHg4NCwweDQwLDB4YjEsMHgwMCwweDI4LDB4NTgsMHgwYSwweDMyLDB4MDIsMHgwNSwweDAwLDB4OTksMHg0MCB9IH0sCi17ICAxNiwgMHhjZWQwLCAwLCB7MHgyMCwweDY1LDB4MDksMHgxMCwweDQyLDB4YzQsMHgwMCwweDkxLDB4MDAsMHgyYywweDQwLDB4MGEsMHgzMCwweDgyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhjZWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhjZWYwLCAwLCB7MHgxYiwweDkwLDB4MDIsMHhhNSwweDgwLDB4YjksMHgxMCwweDIyLDB4NDgsMHgwOCwweDEwLDB4NDIsMHgwNCwweDEwLDB4MDksMHgwMCB9IH0sCi17ICAxNiwgMHhjZjAwLCAwLCB7MHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDliLDB4MDAsMHgyYywweDQwLDB4MGEsMHg5NCwweDIyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhjZjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhjZjIwLCAwLCB7MHgwZiwweDkwLDB4MTMsMHhhNywweDEwLDB4ZjksMHg2MCwweGJhLDB4NTAsMHgyZSwweDljLDB4MGEsMHgyNSwweDg0LDB4ZDEsMHhmMCB9IH0sCi17ICAxNiwgMHhjZjMwLCAwLCB7MHhiMiwweDYwLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4YTgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MGMsMHhmOSwweDkwLDB4M2UsMHg2YSB9IH0sCi17ICAxNiwgMHhjZjUwLCAwLCB7MHg4ZiwweDkwLDB4MjMsMHg2NiwweDAwLDB4ZjEsMHgwOCwweDNjLDB4NDAsMHgwZiwweDljLDB4NDMsMHhlNCwweDQwLDB4ZjksMHg4MCB9IH0sCi17ICAxNiwgMHhjZjYwLCAwLCB7MHgzYSwweDQ0LDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwNCwweGU5LDB4MDIsMHgzZSwweDQwLDB4MmQsMHg5MSwweDEzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjZjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhlOCwweDIwLDB4M2UsMHgwMSB9IH0sCi17ICAxNiwgMHhjZjgwLCAwLCB7MHgwYywweDAwLDB4MDMsMHhhMSwweDIwLDB4ZTgsMHg1MCwweDMyLDB4MTAsMHgyYywweDhjLDB4MDMsMHgyMSwweDAwLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZjkwLCAwLCB7MHgzMiwweDAyLDB4MGYsMHgwMCwweDEzLDB4MjAsMHg4OCwweGM4LDB4MDgsMHgzMiwweDAwLDB4MGYsMHg4YywweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjZmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MjAsMHg4ZSwweGUzLDB4MmYsMHg5MCB9IH0sCi17ICAxNiwgMHhjZmIwLCAwLCB7MHgwYSwweGUwLDB4MDYsMHgzYiwweDAwLDB4ZWUsMHgwNCwweDIzLDB4OTAsMHgwOCwweGUwLDB4MDIsMHgyOCwweDA4LDB4OGEsMHgwMiB9IH0sCi17ICAxNiwgMHhjZmMwLCAwLCB7MHg3NSwweDkwLDB4OGIsMHhhMCwweDQxLDB4NTgsMHg5MCwweDhlLDB4ODAsMHgyYSwweDgxLDB4MGIsMHhlMCwweDAzLDB4OGEsMHgxMCB9IH0sCi17ICAxNiwgMHhjZmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRlLDB4MDAsMHhhMywweDAwLDB4NmMsMHg2MCB9IH0sCi17ICAxNiwgMHhjZmUwLCAwLCB7MHgwOCwweDM4LDB4MWEsMHg4ZSwweDQwLDB4YTAsMHg4MCwweDIwLDB4Y2MsMHgwOSwweDMwLDB4MDIsMHgwYywweDA1LDB4YTMsMHgwNCB9IH0sCi17ICAxNiwgMHhjZmYwLCAwLCB7MHgyOCwweGM0LDB4MGIsMHgzMCwweDAyLDB4MGQsMHgwMSwweDgzLDB4YzAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFlLDB4MDgsMHg4NywweDAwLDB4MmQsMHg2MiB9IH0sCi17ICAxNiwgMHhkMDEwLCAwLCB7MHgwYiwweDcwLDB4OTIsMHgxYywweDA4LDB4YTAsMHgwMCwweDYxLDB4YzAsMHgwOSwweDYwLDB4MDYsMHgxYywweDgwLDB4YTcsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDIwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4NTgsMHgwMSwweDg3LDB4ODgsMHgyOSwweGMwLDB4MGIsMHg2MCwweDEyLDB4YTgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhlNiwweDgwLDB4M2QsMHg2MCB9IH0sCi17ICAxNiwgMHhkMDQwLCAwLCB7MHgwYywweDc4LDB4NDIsMHg5NiwweDAwLDB4ZTQsMHg4MCwweGEzLDB4NjAsMHgwZCwweDc4LDB4MDMsMHgzZiwweDAwLDB4ZTMsMHg4MCB9IH0sCi17ICAxNiwgMHhkMDUwLCAwLCB7MHgyMSwweGUwLDB4MGYsMHg3YiwweDAzLDB4MTYsMHgwOCwweGM3LDB4ODAsMHgzMSwweGUyLDB4NGYsMHg3OCwweDQzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhkMDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweDhjLDB4MDEsMHhmOCwweDAwLDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHhkMDcwLCAwLCB7MHgwZSwweGIwLDB4MDIsMHhlYywweDAwLDB4ZjgsMHgwMSwweDNlLDB4NDAsMHg0ZSwweDMwLDB4MzMsMHhlZCwweDIwLDB4ZGIsMHgwMSB9IH0sCi17ICAxNiwgMHhkMDgwLCAwLCB7MHhiZSwweGMwLDB4MGYsMHhiNCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGQ4LDB4MGYsMHhhMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhkMDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhjNywweDg0LDB4MjMsMHg2MCB9IH0sCi17ICAxNiwgMHhkMGEwLCAwLCB7MHgwYywweDc4LDB4MGIsMHhiZSwweDAwLDB4ZmQsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGViLDB4MDMsMHgzZSwweDAwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhkMGIwLCAwLCB7MHgzYiwweDI1LDB4MGMsMHhmOCwweDgzLDB4N2UsMHg0MCwweGNkLDB4ODAsMHgzMywweGUyLDB4MGIsMHhmOSwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDIsMHg4NywweDAwLDB4MTUsMHg0OCB9IH0sCi17ICAxNiwgMHhkMGQwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHgxNCwweDIwLDB4YjYsMHgwMCwweDM1LDB4OWEsMHg0OSwweGM4LDB4MDMsMHg5YywweDg0LDB4YTcsMHgwMCB9IH0sCi17ICAxNiwgMHhkMGUwLCAwLCB7MHgzOSwweGQwLDB4MGEsMHg3MCwweDAyLDB4MWEsMHgwOCwweGE0LDB4MDAsMHgyMSwweGMwLDB4MDksMHg2MSwweDQyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhkMGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHg0MCB9IH0sCi17ICAxNiwgMHhkMTAwLCAwLCB7MHgwOCwweDcxLDB4MDIsMHg5NCwweDAwLDB4YjUsMHgwMCwweDJkLDB4NDAsMHgwYiwweGYxLDB4MjIsMHg1YywweDAyLDB4MDcsMHgwOCB9IH0sCi17ICAxNiwgMHhkMTEwLCAwLCB7MHgyYywweDUwLDB4MDgsMHg3MCwweDAyLDB4NTAsMHgwMCwweDg3LDB4MDAsMHgyZCwweGM0LDB4MGIsMHg1MCwweDQyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDAsMHg4MywweDAyLDB4MjQsMHg0MCB9IH0sCi17ICAxNiwgMHhkMTMwLCAwLCB7MHgxOCwweDNkLDB4MGEsMHgwMSwweDAwLDB4YjAsMHg1OCwweDI0LDB4MjAsMHgwOSwweDMwLDB4MDIsMHg4ZiwweDQwLDB4ODMsMHhlMCB9IH0sCi17ICAxNiwgMHhkMTQwLCAwLCB7MHgyYywweGMxLDB4MGEsMHgzMCwweDQyLDB4MDgsMHgwMCwweGIzLDB4MDEsMHg2YywweGMwLDB4MDksMHgwOCwweDE2LDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhkMTUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweDhjLDB4MDAsMHg4YiwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhkMTYwLCAwLCB7MHgwYywweDI1LDB4MDMsMHhhOCwweDQ4LDB4ZjgsMHg4MSwweDNlLDB4ODAsMHgwZiwweDgwLDB4NjMsMHg3YywweDAwLDB4Y2IsMHg4MCB9IH0sCi17ICAxNiwgMHhkMTcwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHhmMCwweDAzLDB4NmMsMHgwMCwweGNhLDB4MDIsMHhiZiwweGMwLDB4MGYsMHg5OCwweDhiLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhkMTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1MCB9IH0sCi17ICAxNiwgMHhkMTkwLCAwLCB7MHgyZiwweGE0LDB4MGIsMHhjOCwweDAwLDB4ZjAsMHg0MCwweDNlLDB4ZDAsMHgwZiwweGEwLDB4MzMsMHhlYywweDIwLDB4ZmIsMHgwNCB9IH0sCi17ICAxNiwgMHhkMWEwLCAwLCB7MHg3YSwweGUwLDB4MGYsMHhiMCwweDAzLDB4ZWQsMHgwOCwweGU5LDB4MDMsMHgzMiwweGMwLDB4MGQsMHg5MCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGVjLDB4NDAsMHhlZSwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhkMWMwLCAwLCB7MHgwYywweGRhLDB4MDMsMHg3MCwweDA0LDB4Y2MsMHgwMiwweGIxLDB4YTAsMHgwZSwweGYwLDB4MjMsMHhlYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhkMWQwLCAwLCB7MHgzNywweDIwLDB4Y2QsMHhiMCwweDczLDB4ZWMsMHg4OCwweGZiLDB4ODAsMHgzZiwweGMwLDB4MGYsMHgzMCwweDAzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhkMWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZlLDB4MDAsMHg4OCwweDgwLDB4MmMsMHhlMSB9IH0sCi17ICAxNiwgMHhkMWYwLCAwLCB7MHgwOCwweDk0LDB4MGEsMHhhOSwweDAyLDB4ODgsMHg0MCwweDIyLDB4ZDAsMHgwOCwweGI5LDB4NDIsMHhlYywweDA0LDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjAwLCAwLCB7MHgyYywweGQ0LDB4MGQsMHhiMCwweDAyLDB4ZWQsMHgyMCwweGJiLDB4ZDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHhkMjEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI0LDB4MDAsMHhhYiwweDgwLDB4MmUsMHhmMCB9IH0sCi17ICAxNiwgMHhkMjIwLCAwLCB7MHgyOSwweGEwLDB4ODIsMHg2ZCwweDAwLDB4ODgsMHgwOCwweDIyLDB4MDQsMHgwOCwweDkwLDB4NDIsMHhlYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjMwLCAwLCB7MHgyYSwweDgxLDB4MDgsMHhiMCwweDAyLDB4ZTQsMHgwOSwweGJhLDB4MDQsMHgyZSwweGMxLDB4NGIsMHg5OCwweDgyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkMjUwLCAwLCB7MHgwYSwweDIxLDB4MDIsMHg4NCwweDEwLDB4ODIsMHgwMCwweGUwLDB4MDAsMHgxOCwweDBhLDB4MTIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjYwLCAwLCB7MHgwYywweGMwLDB4MDksMHgzMCwweDAyLDB4Y2MsMHg5MCwweGIwLDB4MDAsMHgyYywweGMwLDB4MGIsMHgxMCwweDAyLDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHhkMjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY0LDB4MDAsMHhlYiwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjgwLCAwLCB7MHgyYywweGI0LDB4MDMsMHg2NCwweDA4LDB4ODgsMHgwMCwweGIyLDB4MDAsMHgwYywweGIyLDB4NDMsMHhmYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjkwLCAwLCB7MHg1NiwweDAwLDB4MGMsMHhmMCwweDAxLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg4MCwweDBiLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhkMmEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhkMmIwLCAwLCB7MHgyZCwweGYwLDB4NjEsMHhmMCwweDAwLDB4ZjQsMHgwMCwweDI3LDB4MDEsMHgwZCwweGIxLDB4MTEsMHhmYywweDAwLDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHhkMmMwLCAwLCB7MHgwNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHg0MCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4NjgsMHgwNiB9IH0sCi17ICAxNiwgMHhkMmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY2LDB4MDAsMHhlZiwweDkwLDB4M2QsMHg0YyB9IH0sCi17ICAxNiwgMHhkMmUwLCAwLCB7MHgyYywweGMwLDB4MTMsMHhmNCwweDA4LDB4ZmQsMHgyMCwweDM3LDB4NGMsMHg4ZSwweDgyLDB4ODMsMHg3NCwweDg0LDB4ZGMsMHhjMiB9IH0sCi17ICAxNiwgMHhkMmYwLCAwLCB7MHgzZiwweGQ4LDB4MGQsMHhmMiwweDAzLDB4ZWMsMHhjMCwweGZmLDB4ODEsMHgzZiwweDAwLDB4MGMsMHhmOCwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMzAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGU2LDB4MDAsMHg4YiwweDI0LDB4MmUsMHg1YyB9IH0sCi17ICAxNiwgMHhkMzEwLCAwLCB7MHgwOCwweDhkLDB4MDIsMHhmZiwweDQ4LDB4YjksMHg5MCwweDJmLDB4NTQsMHgwYiwweDg0LDB4ODIsMHgzZSwweDQwLDB4YTAsMHg4MCB9IH0sCi17ICAxNiwgMHhkMzIwLCAwLCB7MHgyZSwweGM0LDB4MGEsMHhmYywweDQyLDB4ZWQsMHg4MCwweGI5LDB4ODAsMHgyZSwweDYwLDB4MGEsMHg5OCwweDEyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMzMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGU0LDB4MDEsMHhhMywweDAwLDB4MjgsMHg0OCB9IH0sCi17ICAxNiwgMHhkMzQwLCAwLCB7MHgwYSwweDAwLDB4NDIsMHhjNCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDksMHgwYiwweDBhLDB4NDIsMHgwNCwweGEyLDB4OTEsMHgyMSB9IH0sCi17ICAxNiwgMHhkMzUwLCAwLCB7MHgyYywweGM5LDB4MDgsMHgzMSwweDAyLDB4OGMsMHhjMSwweGEzLDB4MDAsMHgyYywweDQwLDB4MDgsMHgxOCwweDAyLDB4YTIsMHgwMSB9IH0sCi17ICAxNiwgMHhkMzYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGEwLDB4MjAsMHg4YiwweDgyLDB4MmUsMHg0NCB9IH0sCi17ICAxNiwgMHhkMzcwLCAwLCB7MHg1OCwweDgwLDB4MDIsMHhlNCwweDAwLDB4YmIsMHgxMCwweDJlLDB4NDAsMHgwYiwweGExLDB4MTIsMHgwYywweDAxLDB4ODksMHgxMCB9IH0sCi17ICAxNiwgMHhkMzgwLCAwLCB7MHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZWMsMHgwMSwweGI4LDB4ODAsMHgyZSwweGUyLDB4MGEsMHhhMSwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGViLDB4NDAsMHhlYiwweDQwLDB4M2UsMHg2MCB9IH0sCi17ICAxNiwgMHhkM2EwLCAwLCB7MHgwZSwweDg3LDB4MzMsMHhlNCwweDAwLDB4YjksMHhhMSwweDM2LDB4YzAsMHgwZSwweGE4LDB4MGIsMHgyNiwweDAwLDB4ZGEsMHhjMCB9IH0sCi17ICAxNiwgMHhkM2IwLCAwLCB7MHgzZSwweGMwLDB4OGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4ODUsMHgzZSwweGUxLDB4MDgsMHhiOCwweDAzLDB4OTAsMHgwNSB9IH0sCi17ICAxNiwgMHhkM2MwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI4LDB4MDAsMHhmZiwweDAyLDB4MmYsMHg2MCB9IH0sCi17ICAxNiwgMHhkM2QwLCAwLCB7MHgwMywweGU4LDB4ODMsMHhmYywweDEwLDB4ZmQsMHg4MCwweDFmLDB4NDAsMHgxZiwweGQwLDB4MTMsMHhiZSwweDQwLDB4ZWUsMHgwNCB9IH0sCi17ICAxNiwgMHhkM2UwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4ZmMsMHgwOCwweGZkLDB4MDAsMHgzYywweGMwLDB4MGYsMHhkMCwweDExLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkM2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE0LDB4MDAsMHhkYiwweDAwLDB4YjIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNDAwLCAwLCB7MHgwZSwweDk0LDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCwweGJhLDB4YzAsMHgwYywweDIwLDB4MDMsMHhlNCwweDkwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNDEwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMSwweGZhLDB4MDAsMHgzZSwweGQwLDB4MmMsMHg5OCwweDAzLDB4OTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkNDIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDAzLDB4MDAsMHg4YiwweDAwLDB4MjIsMHg0OCB9IH0sCi17ICAxNiwgMHhkNDMwLCAwLCB7MHgwOCwweDg0LDB4MjIsMHgyYywweDAwLDB4YjksMHgwMCwweDIyLDB4YzAsMHgwOCwweGEwLDB4MDIsMHhlZCwweDAwLDB4OGIsMHhhMCB9IH0sCi17ICAxNiwgMHhkNDQwLCAwLCB7MHgyMSwweGMwLDB4MDgsMHhmMCwweDAyLDB4ZmMsMHgwMCwweGI5LDB4ODAsMHgyZSwweGMwLDB4MDgsMHhhMCwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNDUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ1LDB4MjAsMHg5MywweDAwLDB4MjIsMHhmOCB9IH0sCi17ICAxNiwgMHhkNDYwLCAwLCB7MHgwYiwweDMwLDB4MGEsMHg4NCwweDQwLDB4YjIsMHgwMCwweDIwLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4ODAsMHg4MCB9IH0sCi17ICAxNiwgMHhkNDcwLCAwLCB7MHgyOCwweGMwLDB4MjgsMHgzOSwweDAyLDB4NGMsMHgwMCwweGIxLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkNDgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDM2LDB4MDAsMHg5ZiwweDgwLDB4MjEsMHg2MCB9IH0sCi17ICAxNiwgMHhkNDkwLCAwLCB7MHgwOSwweDM4LDB4MDIsMHg5ZSwweDAwLDB4YjIsMHhjMCwweDIwLDB4NjAsMHg0OCwweDQ4LDB4MTIsMHhkNiwweGM2LDB4ODYsMHhkMCB9IH0sCi17ICAxNiwgMHhkNGEwLCAwLCB7MHgyMSwweGUwLDB4MDgsMHg3OCwweDAwLDB4ZGUsMHg4MCwweGI3LDB4ODIsMHgyZCwweGUwLDB4MDgsMHhmOCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhkNGIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MjAsMHhkMywweDEwLDB4MzAsMHhjOCB9IH0sCi17ICAxNiwgMHhkNGMwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHg4NCwweDAwLDB4ZjEsMHgwMCwweDMwLDB4NDAsMHgyNCwweDE5LDB4MDMsMHhlNCwweGMwLDB4ZTAsMHg0MCB9IH0sCi17ICAxNiwgMHhkNGQwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHgzMiwweDAzLDB4Y2UsMHg4MCwweGIxLDB4MjgsMHgzYywweGMwLDB4MGMsMHgzMCwweDEzLDB4OTIsMHgwMiB9IH0sCi17ICAxNiwgMHhkNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweDljLDB4MDAsMHhlNiwweDAwLDB4N2YsMHhjMCB9IH0sCi17ICAxNiwgMHhkNGYwLCAwLCB7MHgwZSwweGYwLDB4MjMsMHg3NCwweDQwLDB4ZmYsMHgxMCwweDNmLDB4NDAsMHg0ZiwweGQwLDB4MDMsMHhmYywweGQyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhkNTAwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmNCwweDAzLDB4ZmMsMHgwMCwweGZlLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MSwweDAzLDB4ZDAsMHgxMiB9IH0sCi17ICAxNiwgMHhkNTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVlLDB4MDAsMHhjYiwweDAwLDB4MTYsMHhjMCB9IH0sCi17ICAxNiwgMHhkNTIwLCAwLCB7MHgwZCwweDgwLDB4MDMsMHgyNywweDIwLDB4Y2IsMHgwMCwweDNlLDB4YzIsMHgwYSwweGIwLDB4NTMsMHhlNCwweDI4LDB4YzEsMHg4MSB9IH0sCi17ICAxNiwgMHhkNTMwLCAwLCB7MHgzMiwweGMxLDB4MGUsMHhiOSwweDAzLDB4MmMsMHgwMCwweGYxLDB4ODAsMHgzNSwweGUwLDB4MGMsMHhiOCwweDAzLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhkNTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDIsMHg4NywweDEwLDB4MmQsMHg0MCB9IH0sCi17ICAxNiwgMHhkNTUwLCAwLCB7MHgwOCwweDcwLDB4MDMsMHg1YywweDAwLDB4YTcsMHgwMCwweDJkLDB4NDAsMHgyOCwweDcwLDB4MDIsMHhkNCwweDA0LDB4ODcsMHgwNCB9IH0sCi17ICAxNiwgMHhkNTYwLCAwLCB7MHhhMSwweGQwLDB4MGIsMHg3MiwweDAyLDB4MWQsMHgwMCwweGY3LDB4MDAsMHgyMSwweGMwLDB4MGQsMHg1MCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhkNTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHg4NSwweDgwLDB4MjUsMHhlMCB9IH0sCi17ICAxNiwgMHhkNTgwLCAwLCB7MHgwOSwweDc4LDB4MDIsMHgzNywweDAzLDB4ODcsMHg4MCwweDJmLDB4ZTAsMHgwOCwweDc4LDB4MTIsMHhjNiwweDEwLDB4OGQsMHg4MCB9IH0sCi17ICAxNiwgMHhkNTkwLCAwLCB7MHgyNSwweGU4LDB4MGIsMHgzOCwweDAyLDB4MWUsMHg4MCwweGJjLDB4ODQsMHgyNSwweGUwLDB4MDgsMHg1OCwweDAyLDB4NzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkNWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNkLDB4ODAsMHg4MywweDg4LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkNWIwLCAwLCB7MHgwOCwweDNjLDB4MDIsMHg0ZSwweDAxLDB4YTMsMHhkMiwweDJlLDB4YzQsMHgwOCwweGIxLDB4MDIsMHhjYywweDAwLDB4ODMsMHg4MCB9IH0sCi17ICAxNiwgMHhkNWMwLCAwLCB7MHgyNCwweGMxLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4NDAsMHhhMCwweGQyLDB4MDksMHgzMCwweDEyLDB4NTIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNWQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJhLDB4MDAsMHhjYSwweGMwLDB4MzYsMHg4MCB9IH0sCi17ICAxNiwgMHhkNWUwLCAwLCB7MHgwZCwweDY3LDB4MTMsMHgyOCwweDAwLDB4Y2UsMHgwMCwweDNlLDB4YTAsMHgwYywweGVkLDB4MDMsMHhlOCwweDAwLDB4Y2UsMHhlMCB9IH0sCi17ICAxNiwgMHhkNWYwLCAwLCB7MHgzNiwweDgwLDB4MWUsMHhhMCwweDBiLDB4MjgsMHgwNCwweGZlLDB4MDAsMHhiNywweGIyLDB4MGMsMHhlMCwweDBiLDB4N2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkNjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4NDAsMHhmOCwweDEwLDB4MmUsMHgxMCB9IH0sCi17ICAxNiwgMHhkNjEwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlMCwweDAxLDB4ZDgsMHgwYSwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhjMCwweDAyLDB4ZjgsMHgwOCB9IH0sCi17ICAxNiwgMHhkNjIwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgxMCwweGU4LDB4MjAsMHhiZSwweDAwLDB4MGYsMHg4MCwweDEzLDB4OTIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU1LDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjQwLCAwLCB7MHgwYywweDkxLDB4MDMsMHgyNiwweDAwLDB4NjEsMHg4MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhkNjUwLCAwLCB7MHgxZSwweDQwLDB4MGMsMHg5YywweDAzLDB4ZTQsMHgwMSwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY3LDB4MDAsMHhiOSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjcwLCAwLCB7MHgwMCwweDljLDB4MDIsMHhhNiwweDAwLDB4NzksMHgwMCwweDIyLDB4NDAsMHgyOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHhkNjgwLCAwLCB7MHgyYywweDQ0LDB4MDgsMHg5OCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4ODAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMSB9IH0sCi17ICAxNiwgMHhkNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhiYiwweDAwLDB4MjYsMHg1MCB9IH0sCi17ICAxNiwgMHhkNmEwLCAwLCB7MHgyOCwweDkwLDB4ODIsMHgyNCwweDg0LDB4OTksMHgyMCwweDIyLDB4NDAsMHg0OSwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHhkNmIwLCAwLCB7MHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4NjAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhkNmMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA2LDB4MDAsMHhiMSwweDAwLDB4MmUsMHg0OCB9IH0sCi17ICAxNiwgMHhkNmQwLCAwLCB7MHgwOCwweDEyLDB4MDIsMHg4NCwweDgwLDB4YjEsMHgyMCwweGEwLDB4NDgsMHgwOSwweDEyLDB4MGEsMHgwNCwweDgwLDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhkNmUwLCAwLCB7MHgyYywweDQ4LDB4MjgsMHgxMiwweDQyLDB4YzQsMHg4OCwweDMxLDB4MDAsMHgyYywweDQwLDB4MGIsMHgxOCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhkNmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhmOCwweDUwLDB4MzYsMHgxNCB9IH0sCi17ICAxNiwgMHhkNzAwLCAwLCB7MHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZTgsMHgwMCwweDMyLDB4MTQsMHgwYywweDg1LDB4MDMsMHgyMSwweDQwLDB4YzgsMHg1MCB9IH0sCi17ICAxNiwgMHhkNzEwLCAwLCB7MHgzZSwweDE0LDB4MGMsMHg4MCwweDAzLDB4ZTEsMHg0MCwweDM4LDB4MDAsMHgzZSwweDAwLDB4OGYsMHg4MCwweDAzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHhkNzIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGQ0LDB4MDAsMHhmYiwweDA0LDB4M2QsMHg0NCB9IH0sCi17ICAxNiwgMHhkNzMwLCAwLCB7MHgwZiwweDUxLDB4MjMsMHhkNCwweDQ4LDB4ZWQsMHgxMCwweDNkLDB4NDQsMHg0ZSwweGQxLDB4MjMsMHhmNCwweDQyLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzQwLCAwLCB7MHgzZSwweDQ0LDB4OGYsMHg5MSwweDAzLDB4ZTQsMHg1OCwweGZkLDB4MDAsMHgzZiwweDUwLDB4MGYsMHg1MCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhkNzUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY0LDB4MDAsMHhmOSwweDAwLDB4M2QsMHg0MCB9IH0sCi17ICAxNiwgMHhkNzYwLCAwLCB7MHgwYywweGQwLDB4MDMsMHhmNCwweDAwLDB4ZGQsMHgwMiwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDQwLDB4YzksMHgxMCB9IH0sCi17ICAxNiwgMHhkNzcwLCAwLCB7MHgzNywweDQwLDB4MDcsMHhkMCwweDA3LDB4MjQsMHgwMCwweGU1LDB4MDAsMHgyZiwweDZhLDB4MGYsMHg3MCwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDAsMHhiOCwweDAwLDB4M2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzkwLCAwLCB7MHg4MCwweDgwLDB4MDIsMHhlMCwweDAwLDB4ODgsMHgwMCwweDJlLDB4MDAsMHgwYSwweDgwLDB4NTMsMHhhMiwweDgwLDB4MmMsMHhhMCB9IH0sCi17ICAxNiwgMHhkN2EwLCAwLCB7MHgyMiwweDAwLDB4MGIsMHg4MCwweDBhLDB4MjAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDEwLDB4MDksMHg4MCwweDAzLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhkN2IwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4NmMsMHg0MCB9IH0sCi17ICAxNiwgMHhkN2MwLCAwLCB7MHgyYSwweDEwLDB4MDIsMHg4NCwweDAxLDB4ODEsMHg4MCwweDJlLDB4NDAsMHgwOSwweDEwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwNCB9IH0sCi17ICAxNiwgMHhkN2QwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHgxMCwweDAyLDB4ODQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4MGIsMHg5OCwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkN2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE0LDB4MjAsMHhiOSwweDAwLDB4MmEsMHg0MCB9IH0sCi17ICAxNiwgMHhkN2YwLCAwLCB7MHg4OCwweGI0LDB4MDIsMHhlNiwweDAxLDB4YTksMHgyMCwweDJlLDB4NDgsMHgwYSwweDkwLDB4MDAsMHhhNCwweDQwLDB4YWQsMHg0MCB9IH0sCi17ICAxNiwgMHhkODAwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MCwweDEyLDB4YTQsMHgwNCwweGI5LDB4MDEsMHgyZSwweDQxLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhkODEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweGMwLDB4M2UsMHg2MCB9IH0sCi17ICAxNiwgMHhkODIwLCAwLCB7MHgwYywweDk0LDB4MTMsMHhhNiwweDAyLDB4ZDksMHg0MiwweDFjLDB4NjAsMHgwYywweDllLDB4MDEsMHhjNiwweDA0LDB4YzEsMHgwMCB9IH0sCi17ICAxNiwgMHhkODMwLCAwLCB7MHhiMiwweDQwLDB4MWYsMHg5MCwweDAyLDB4YTQsMHgwMCwweGU5LDB4MDgsMHgzZSwweDY4LDB4NGYsMHg5OCwweDBiLDB4NjgsMHgwNCB9IH0sCi17ICAxNiwgMHhkODQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE2LDB4NDAsMHhmOSwweDIwLDB4MzgsMHg3MCB9IH0sCi17ICAxNiwgMHhkODUwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhlNCwweDAwLDB4ZDksMHg4MCwweDNlLDB4NDAsMHgwZiwweDljLDB4MTMsMHhhNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhkODYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHgxMCwweDAzLDB4NjQsMHgxMCwweGY5LDB4MGEsMHgzZSwweDUwLDB4MGQsMHg5YSwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkODcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhkOCwweDA0LDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhkODgwLCAwLCB7MHgwYywweDgxLDB4MTMsMHhjMCwweDAyLDB4ZDgsMHgyMCwweDNlLDB4MDAsMHgyZCwweDg0LDB4MDMsMHhlMCwweDAwLDB4Y2MsMHgwOCB9IH0sCi17ICAxNiwgMHhkODkwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDQzLDB4ZTAsMHgwMCwweGY4LDB4NDEsMHgzMiwweDAwLDB4MDcsMHg4MSwweDhiLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhkOGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDNhLDB4NjAsMHg4YSwweDAwLDB4MmYsMHhhOCB9IH0sCi17ICAxNiwgMHhkOGIwLCAwLCB7MHgwYSwweGUwLDB4MjIsMHhlOCwweDAyLDB4N2UsMHg0OCwweDJlLDB4ODAsMHgwOCwweGEwLDB4NDIsMHhlOCwweDA0LDB4OGUsMHgwMCB9IH0sCi17ICAxNiwgMHhkOGMwLCAwLCB7MHgyMywweGE4LDB4MGIsMHhhOCwweDgyLDB4ZTgsMHgwMCwweGVlLDB4MDAsMHhhMiwweDgwLDB4NGIsMHg2MCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhkOGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweDAwLDB4NmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkOGUwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4MTMsMHg4MSwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjZSwweDQwLDB4ODIsMHg0MCB9IH0sCi17ICAxNiwgMHhkOGYwLCAwLCB7MHgyOCwweGUwLDB4MGIsMHgzOCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MTAsMHgyNCwweGMwLDB4OGIsMHgzOCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFlLDB4MDAsMHg4NywweDIwLDB4MmYsMHhjMCB9IH0sCi17ICAxNiwgMHhkOTEwLCAwLCB7MHgwYSwweDcwLDB4MDIsMHhkYywweDBhLDB4YjYsMHgwMCwweDJjLDB4YzgsMHg4OCwweDcyLDB4MDYsMHhkOCwweDAwLDB4ODYsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTIwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZGMsMHg4NCwweGFmLDB4ODAsMHhhNSwweGMwLDB4MGIsMHhkMCwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhkNywweDgwLDB4M2QsMHhhMCB9IH0sCi17ICAxNiwgMHhkOTQwLCAwLCB7MHgxYywweDc4LDB4MTMsMHhkNiwweDAyLDB4ZDcsMHg4MCwweDNkLDB4ZWMsMHgwOCwweDdlLDB4MjMsMHhmZSwweDAwLDB4Y2UsMHg4MCB9IH0sCi17ICAxNiwgMHhkOTUwLCAwLCB7MHgzOSwweDYwLDB4MGYsMHg3OCwweDAzLDB4ZGYsMHgwMCwweGY2LDB4ODAsMHg3NSwweGUwLDB4MGYsMHg3OCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhkOTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweDhjLDB4MDAsMHhmYiwweDEwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhkOTcwLCAwLCB7MHgxZiwweGEwLDB4MjEsMHhjYywweDAwLDB4ZmEsMHgwMCwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhlOCwweDAyLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTgwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGVhLDB4MDEsMHgzYSwweGMwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhkOTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZjLDB4MDAsMHhmZiwweDgwLDB4M2YsMHg2MCB9IH0sCi17ICAxNiwgMHhkOWEwLCAwLCB7MHgwOCwweDk5LDB4MDcsMHg3ZSwweDAwLDB4ZGQsMHg4MCwweDNmLDB4ZTIsMHgwYywweGY4LDB4MDMsMHhmNiwweDAyLDB4ZGYsMHg4MCB9IH0sCi17ICAxNiwgMHhkOWIwLCAwLCB7MHhiMywweGUwLDB4MGMsMHhmOCwweDAzLDB4M2UsMHg0MSwweGNjLDB4ODAsMHgzMywweGU0LDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkOWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4NDAsMHhiNywweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhkOWQwLCAwLCB7MHgwZCwweDVhLDB4MjIsMHhkYywweDgwLDB4NzUsMHgwMCwweDJkLDB4YzAsMHgwOCwweDcxLDB4MDIsMHhmMCwweDIwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhkOWUwLCAwLCB7MHgyMSwweGMwLDB4MGEsMHg3MCwweDAyLDB4MWMsMHgwMCwweGQ0LDB4MjgsMHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhkOWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4NDAsMHhiNywweDAwLDB4MmQsMHgwMCB9IH0sCi17ICAxNiwgMHhkYTAwLCAwLCB7MHgwOCwweDcyLDB4MjIsMHhmNCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzIsMHgwOCwweDcwLDB4MDIsMHhkNCwweDAwLDB4ODcsMHg4MCB9IH0sCi17ICAxNiwgMHhkYTEwLCAwLCB7MHgyNSwweDQwLDB4MDksMHgzMCwweDAyLDB4NWMsMHgwMSwweGFkLDB4MDAsMHgyOSwweGQwLDB4NGIsMHg3MCwweDAyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDAsMHhiYiwweGM4LDB4MmMsMHhhMCB9IH0sCi17ICAxNiwgMHhkYTMwLCAwLCB7MHgwOSwweDIwLDB4MDIsMHhjZSwweDAwLDB4YTMsMHgwMCwweDJjLDB4ZTAsMHhhOCwweDNkLDB4NDIsMHhjMiwweDAwLDB4OGIsMHg4MCB9IH0sCi17ICAxNiwgMHhkYTQwLCAwLCB7MHgyNCwweDQwLDB4MGIsMHgzMCwweDBhLDB4NmMsMHgwOCwweGEzLDB4NDAsMHhhOCwweGUwLDB4MGIsMHgzNCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHhkYTUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFkLDB4MDAsMHhmZiwweDQ4LDB4M2MsMHgyOCB9IH0sCi17ICAxNiwgMHhkYTYwLCAwLCB7MHgwYywweGE5LDB4MjMsMHg2YywweDgwLDB4OGIsMHgwMCwweDNmLDB4YzAsMHgwYywweGZjLDB4MDMsMHhlYywweDAwLDB4ZDgsMHg4MCB9IH0sCi17ICAxNiwgMHhkYTcwLCAwLCB7MHgzNCwweDQwLDB4MGQsMHgzMCwweDAzLDB4N2MsMHgwMiwweGEzLDB4NDAsMHgzOCwweDY4LDB4MGYsMHgyNCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhkYTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVkLDB4ODgsMHhmYiwweDAwLDB4M2UsMHg1MCB9IH0sCi17ICAxNiwgMHhkYTkwLCAwLCB7MHgwZiwweGExLDB4MDMsMHhlYywweDA0LDB4M2EsMHhjMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4ODMsMHhlOCwweDAyLDB4ZjgsMHgxMCB9IH0sCi17ICAxNiwgMHhkYWEwLCAwLCB7MHgzYSwweDQxLDB4MGUsMHg5MCwweDAzLDB4YWMsMHgwMCwweDliLDB4MDgsMHhiNiwweDQwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDAwLDB4YjMsMHgyMCB9IH0sCi17ICAxNiwgMHhkYWMwLCAwLCB7MHgwYywweDUwLDB4MTMsMHgxYywweDA5LDB4Y2QsMHg4MywweDMzLDB4YzAsMHg4MywweDcwLDB4MDAsMHgzYywweDAwLDB4ZGMsMHgxMCB9IH0sCi17ICAxNiwgMHhkYWQwLCAwLCB7MHgzMiwweDYwLDB4MGUsMHhmMSwweDQzLDB4MmMsMHgwMCwweGNlLDB4MDQsMHgzYiwweDcwLDB4MGMsMHhmMCwweDgzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhkYWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDY3LDB4ODAsMHhiYiwweDAxLDB4NjIsMHgyMSB9IH0sCi17ICAxNiwgMHhkYWYwLCAwLCB7MHg4YSwweDg5LDB4MjAsMHgyYywweDAwLDB4ODAsMHhlMCwweDIyLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhkOCwweDEwLDB4OGMsMHgwNCB9IH0sCi17ICAxNiwgMHhkYjAwLCAwLCB7MHgyMiwweDQwLDB4MDUsMHg5MCwweDAyLDB4YWMsMHgwMCwweGQ4LDB4ODAsMHgzNiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhkYjEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI2LDB4MDAsMHhiYiwweDAwLDB4MjIsMHgwNiB9IH0sCi17ICAxNiwgMHhkYjIwLCAwLCB7MHgwOCwweDgwLDB4MDIsMHgyZSwweDAwLDB4ODgsMHgyMCwweDIyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhhNCwweDAwLDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhkYjMwLCAwLCB7MHg2MiwweGM0LDB4MDgsMHhiMCwweDA2LDB4MmMsMHgwMCwweDg4LDB4ODAsMHgyMiwweDQxLDB4MDgsMHhhMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDAwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhkYjUwLCAwLCB7MHgwYSwweDAwLDB4ODIsMHgwYywweDAwLDB4ODAsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MjIsMHhhMCwweDAwLDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhkYjYwLCAwLCB7MHhhMCwweGMwLDB4MDksMHgzMCwweDAyLDB4OGMsMHgwMCwweDkwLDB4MDAsMHgyNCwweDQwLDB4MGEsMHgyOCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkYjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhmYiwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYjgwLCAwLCB7MHgyYywweDkyLDB4MDMsMHgyYywweDAyLDB4ODgsMHgwMCwweDMxLDB4YzAsMHgwYiwweGI1LDB4MDIsMHhhNCwweDAwLDB4ZDEsMHgwNCB9IH0sCi17ICAxNiwgMHhkYjkwLCAwLCB7MHgzMiwweDQwLDB4MGUsMHg5MCwweDAzLDB4MmMsMHg0MCwweGM5LDB4MDAsMHgzYSwweDQwLDB4OGMsMHhhMCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhkYmEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGY0LDB4MDAsMHhmZiwweDAwLDB4MmYsMHgwMCB9IH0sCi17ICAxNiwgMHhkYmIwLCAwLCB7MHgwZiwweGMwLDB4MDMsMHhkYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4YzEsMHgwZiwweGYwLDB4NDMsMHhmMCwweDAwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhkYmMwLCAwLCB7MHgzZiwweDQwLDB4NGYsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGY1LDB4MDAsMHgzZiwweDQwLDB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhkYmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQ4LDB4ODAsMHhjYywweDAwLDB4YjcsMHgwNCB9IH0sCi17ICAxNiwgMHhkYmUwLCAwLCB7MHg0ZSwweGUxLDB4MDMsMHgzYywweDIwLDB4ZGYsMHgxMCwweDMxLDB4ODAsMHgwNiwweGYwLDB4MDMsMHg3ZiwweDAwLDB4ZmYsMHhjMCB9IH0sCi17ICAxNiwgMHhkYmYwLCAwLCB7MHgzYiwweGMwLDB4MGUsMHhmMiwweDAzLDB4NWUsMHgwMCwweGVmLDB4MTAsMHgzMywweGQwLDB4MmMsMHhmMiwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMCwweGU5LDB4MDAsMHg4OCwweGM2LDB4MjAsMHg1YyB9IH0sCi17ICAxNiwgMHhkYzEwLCAwLCB7MHgwOCwweGE0LDB4NTcsMHg2NSwweDAwLDB4OGYsMHg1MiwweDJhLDB4ZjAsMHgwOSwweGZjLDB4MDIsMHgwNCwweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzIwLCAwLCB7MHgyZCwweGQ5LDB4MDksMHg3NCwweDgzLDB4NjQsMHgyOCwweDgzLDB4NDQsMHgyMiwweDg0LDB4ODgsMHgwNiwweDgyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhkYzMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweGM5LDB4MDAsMHg4MCwweDEwLDB4MjAsMHgwOCB9IH0sCi17ICAxNiwgMHhkYzQwLCAwLCB7MHgwOCwweDMxLDB4MTIsMHgwNCwweGIyLDB4YTMsMHgwMCwweDIwLDB4ODQsMHgxYiwweDM0LDB4MDIsMHgwYywweDgwLDB4YjMsMHgyMCB9IH0sCi17ICAxNiwgMHhkYzUwLCAwLCB7MHgyYywweGM3LDB4MDksMHgzNiwweDAyLDB4OGMsMHg4MCwweDkzLDB4NDAsMHhhYywweGM4LDB4MDgsMHgzMSwweDI4LDB4MzIsMHgwMSB9IH0sCi17ICAxNiwgMHhkYzYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE5LDB4MDAsMHg4OCwweDAwLDB4YTIsMHg1MCB9IH0sCi17ICAxNiwgMHhkYzcwLCAwLCB7MHgwOCwweDM1LDB4MDIsMHgyNCwweDAwLDB4OGIsMHgwNCwweDJlLDB4YzEsMHgwOSwweGIwLDB4MDIsMHgyNCwweDk0LDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzgwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4Y2MsMHg2MCwweDhiLDB4MDAsMHgyZSwweDgwLDB4MDgsMHg4MCwweDAwLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhkYzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGU3LDB4MDIsMHhjYiwweDE4LDB4YjIsMHg4MCB9IH0sCi17ICAxNiwgMHhkY2EwLCAwLCB7MHgyYywweGFjLDB4MGEsMHgyZSwweDA4LDB4ZWIsMHgwMCwweDMyLDB4MTIsMHg0ZSwweGIwLDB4MDMsMHgyYiwweDgwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkY2IwLCAwLCB7MHgzYSwweGMwLDB4MGEsMHhiMCwweDAzLDB4YWIsMHgwOCwweGViLDB4MDQsMHgyZSwweDQ4LDB4MGMsMHhiOCwweDgzLDB4MDAsMHgwNCB9IH0sCi17ICAxNiwgMHhkY2MwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI2LDB4ODAsMHhmZiwweDgwLDB4MzksMHhjYSB9IH0sCi17ICAxNiwgMHhkY2QwLCAwLCB7MHgwZCwweGU4LDB4MDMsMHhkNiwweDQwLDB4ZTcsMHgwNCwweDNiLDB4NjYsMHg0ZSwweDcwLDB4MDMsMHhiOCwweDAwLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHhkY2UwLCAwLCB7MHgzZiwweGMwLDB4NmMsMHhmMCwweDAzLDB4NzAsMHgwNiwweGU3LDB4MDAsMHgzMSwweDA0LDB4MGYsMHhjMSwweDQzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkY2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDg1LDB4MDAsMHhjYiwweDQwLDB4MzIsMHg5MCB9IH0sCi17ICAxNiwgMHhkZDAwLCAwLCB7MHgyZiwweGIwLDB4MGIsMHg2NCwweDgwLDB4ZmIsMHgwOCwweGJhLDB4MTAsMHgwZCwweGIwLDB4YTcsMHgyZCwweDAwLDB4ZmIsMHgwNCB9IH0sCi17ICAxNiwgMHhkZDEwLCAwLCB7MHgzZSwweGMwLDB4OGUsMHhiMCwweDAzLDB4NmQsMHgwMCwweGRiLDB4MDEsMHgzMiwweDQwLDB4OGMsMHgzMywweDAzLDB4OTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkZDIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweDI0LDB4MDAsMHg4MywweGUwLDB4YTIsMHhkMCB9IH0sCi17ICAxNiwgMHhkZDMwLCAwLCB7MHg0MCwweGIwLDB4MDIsMHgyNSwweDA0LDB4YmYsMHg4MCwweGEwLDB4NTAsMHgwOCwweGY4LDB4MDIsMHgyMCwweDAwLDB4OGIsMHgwMiB9IH0sCi17ICAxNiwgMHhkZDQwLCAwLCB7MHgyZiwweGQwLDB4MDgsMHhmMCwweDAyLDB4MjQsMHgwMCwweDhmLDB4ODAsMHgzNiwweDAxLDB4MDgsMHg4NCwweDQyLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHhkZDUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweDQ0LDB4MDAsMHg4MywweDQ4LDB4MjAsMHhjNCB9IH0sCi17ICAxNiwgMHhkZDYwLCAwLCB7MHgwOSwweDAwLDB4MDIsMHg0NiwweDAwLDB4YjMsMHgwMSwweGE4LDB4OTAsMHgxOSwweDMwLDB4MTIsMHg4YywweDAwLDB4YTMsMHgwNCB9IH0sCi17ICAxNiwgMHhkZDcwLCAwLCB7MHgyZSwweGUyLDB4MGEsMHhiMCwweDAyLDB4MGMsMHgwMCwweDgzLDB4NDksMHgyOCwweGMwLDB4MDksMHgzYywweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhkZDgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZjAsMHgwMSwweDM2LDB4MDQsMHg4MywweDgwLDB4MjEsMHhlMSB9IH0sCi17ICAxNiwgMHhkZDkwLCAwLCB7MHgwOCwweDM4LDB4MTIsMHgxZSwweDI4LDB4YjMsMHg5OCwweDIxLDB4YTAsMHgxOSwweDM4LDB4ODIsMHg5NiwweDAwLDB4ODcsMHg4MyB9IH0sCi17ICAxNiwgMHhkZGEwLCAwLCB7MHgyZCwweGUyLDB4MDgsMHg3OCwweDIyLDB4MzYsMHg4YywweDg3LDB4ODAsMHgyZCwweGUwLDB4MDksMHg3OSwweDAyLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhkZGIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA0LDB4MDAsMHhjMywweDMwLDB4MzAsMHhjOCB9IH0sCi17ICAxNiwgMHhkZGMwLCAwLCB7MHg0ZCwweDAwLDB4MGIsMHg0YywweDgwLDB4ZjMsMHgxMiwweDM4LDB4YzAsMHgwZCwweDNhLDB4MDIsMHg4YywweDgwLDB4ZjMsMHgwMCB9IH0sCi17ICAxNiwgMHhkZGQwLCAwLCB7MHgzYywweGMwLDB4MGUsMHgzMCwweDBiLDB4MGUsMHgwMCwweGMzLDB4MGMsMHgzYSwweGMwLDB4MGQsMHgzMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhkZGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGI0LDB4MDYsMHhmZiwweDEwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhkZGYwLCAwLCB7MHgwZiwweGIwLDB4MTMsMHhiYywweDAwLDB4ZmYsMHgxMCwweDdmLDB4YzAsMHgwZSwweGYxLDB4YTMsMHg3YywweDAwLDB4ZmYsMHgxMiB9IH0sCi17ICAxNiwgMHhkZTAwLCAwLCB7MHgzZiwweGMyLDB4MGYsMHhmNSwweDIzLDB4YmMsMHg0MSwweGVmLDB4MTgsMHgzNywweDgwLDB4YWUsMHhjMCwweDAzLDB4NTAsMHgwNiB9IH0sCi17ICAxNiwgMHhkZTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhkYiwweDAwLDB4M2UsMHhkYSB9IH0sCi17ICAxNiwgMHhkZTIwLCAwLCB7MHgwYywweDgwLDB4MDMsMHg2NiwweDEwLDB4OGIsMHgwMCwweDMyLDB4ODAsMHg4YywweGI2LDB4MDMsMHg0YSwweDAwLDB4NGIsMHg4MCB9IH0sCi17ICAxNiwgMHhkZTMwLCAwLCB7MHgzMiwweGM4LDB4MGMsMHhiNCwweDAzLDB4MGEsMHgxMCwweGRiLDB4MDAsMHgzZSwweGMxLDB4MGMsMHhiMCwweDQzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhkZTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgxMSwweGI0LDB4MDAsMHg4NywweDA0LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkZTUwLCAwLCB7MHgwZCwweDcwLDB4MDMsMHgxYywweDA4LDB4ODcsMHg0OCwweDIwLDB4ODEsMHgwZCwweDcyLDB4ODIsMHg1YywweDAwLDB4ZDcsMHgwMCB9IH0sCi17ICAxNiwgMHhkZTYwLCAwLCB7MHgyMSwweGNjLDB4MjgsMHhmMCwweDAyLDB4MWMsMHgxMCwweDg3LDB4MjAsMHgyYywweDAwLDB4MDgsMHg0MCwweDBhLDB4MzIsMHgwNCB9IH0sCi17ICAxNiwgMHhkZTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDk2LDB4MDAsMHhiNywweDgxLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHhkZTgwLCAwLCB7MHgwOCwweDQ4LDB4MDIsMHgwZSwweDA0LDB4ODcsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzZSwweDAxLDB4ODcsMHg4MCB9IH0sCi17ICAxNiwgMHhkZTkwLCAwLCB7MHgyMSwweGUwLDB4MTgsMHg3OSwweDAyLDB4M2EsMHgwMSwweDk3LDB4YTAsMHgyZCwweDYwLDB4MDgsMHgzOCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkZWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGM2LDB4MDAsMHhhMywweGM2LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkZWIwLCAwLCB7MHgwOSwweDMwLDB4MDIsMHgwYywweDAxLDB4ODMsMHgwMCwweDIwLDB4ZTAsMHgwOSwweDMwLDB4MDIsMHg0ZSwweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHhkZWMwLCAwLCB7MHgyMCwweGMwLDB4NDksMHgzMCwweDIyLDB4MGYsMHg2NCwweDgzLDB4MDIsMHg2YywweGQ0LDB4MjgsMHgzMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhkZWQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxMSwweGFiLDB4ODAsMHhmYSwweGUwLDB4M2MsMHg4OCB9IH0sCi17ICAxNiwgMHhkZWUwLCAwLCB7MHgwYywweGUwLDB4MDIsMHgyOCwweDAyLDB4Y2EsMHgwMCwweGIzLDB4YTksMHgwYywweGEwLDB4MDMsMHgzYiwweDEwLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkZWYwLCAwLCB7MHhhMiwweDgwLDB4MGMsMHhhMCwweDBiLDB4MzgsMHgwMCwweGRhLDB4MDAsMHgzZiwweGIwLDB4MGMsMHhlNiwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhkZjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGMwLDB4MjAsMHg5OCwweDA4LDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjEwLCAwLCB7MHgwZiwweDgwLDB4MGIsMHhlMSwweDAwLDB4ZjgsMHgwMSwweDNjLDB4MTAsMHg0ZiwweDAwLDB4MDMsMHhhMCwweDQwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjIwLCAwLCB7MHgzZSwweDEwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzYywweDAyLDB4MmYsMHgwNCwweDkzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhjMSwweGMxLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhkZjQwLCAwLCB7MHgwYywweDk4LDB4MDMsMHgyNiwweDQwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwYywweDk4LDB4MDMsMHgyNCwweDI0LDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhkZjUwLCAwLCB7MHgzYywweDYwLDB4MGMsMHgxMCwweDAzLDB4YTQsMHgwMCwweGY5LDB4ODIsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhkZjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg1MCB9IH0sCi17ICAxNiwgMHhkZjcwLCAwLCB7MHgwZCwweDk4LDB4MDIsMHgyNSwweDgwLDB4YjksMHgwMCwweDIyLDB4NTIsMHgwZCwweDljLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhkZjgwLCAwLCB7MHgyZSwweDYwLDB4MDgsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5LDB4NDAsMHgzNiwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4ZCwweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHhkZmEwLCAwLCB7MHgwOCwweDEyLDB4MDIsMHgyNCwweDAwLDB4YTEsMHgxMCwweGEyLDB4NjAsMHgwOCwweDkyLDB4OGEsMHgyNCwweDAwLDB4YjksMHgwMSB9IH0sCi17ICAxNiwgMHhkZmIwLCAwLCB7MHgyZSwweDQ2LDB4MDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweGIxLDB4NTAsMHgyMiwweDQwLDB4MjgsMHg5MCwweDgyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhkZmMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODQsMHg4NSwweDIwLDB4YTEsMHhkOCB9IH0sCi17ICAxNiwgMHhkZmQwLCAwLCB7MHgwOSwweDEwLDB4MDIsMHgwNCwweDgwLDB4YjMsMHgyMCwweDIwLDB4NDAsMHgyOSwweDEyLDB4MDYsMHgwNCwweDAwLDB4YjEsMHgwMSB9IH0sCi17ICAxNiwgMHhkZmUwLCAwLCB7MHgyYywweDQ4LDB4MjgsMHgxMiwweDAyLDB4MDQsMHgwMCwweGIxLDB4MjAsMHgyNCwweDQ4LDB4MDgsMHgxMiwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkZmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDIsMHg4YSwweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhlMDAwLCAwLCB7MHgwYywweDA1LDB4MDMsMHgyMSwweDQwLDB4ZTAsMHg1MCwweGIyLDB4MDAsMHgyYywweDgwLDB4MDIsMHgyMSwweDQwLDB4ZjAsMHg1MCB9IH0sCi17ICAxNiwgMHhlMDEwLCAwLCB7MHgzYywweDE0LDB4MGMsMHg4NSwweDEzLDB4YTEsMHg1MCwweGY4LDB4NTAsMHgzMiwweDE0LDB4MGMsMHg4NSwweDIzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhlMDIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCB9IH0sCi17ICAxNiwgMHhlMDMwLCAwLCB7MHgwZiwweGQ0LDB4MGIsMHhmNCwweDQ0LDB4ZjksMHgxMCwweDNmLDB4NTAsMHg0ZiwweDExLDB4MDMsMHhmNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlMDQwLCAwLCB7MHgzZSwweDQ0LDB4MGYsMHg5MSwweDUzLDB4ZjQsMHgxNCwweGY5LDB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTYsMHgwMiB9IH0sCi17ICAxNiwgMHhlMDUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgwNSwweGU2LDB4YTAsMHhkZCwweDg4LDB4YjMsMHg2NiB9IH0sCi17ICAxNiwgMHhlMDYwLCAwLCB7MHgwYywweGRjLDB4ODMsMHgzNiwweDg4LDB4YmQsMHhhMCwweDM3LDB4NmEsMHgwYywweGRhLDB4MGIsMHgyNSwweDAyLDB4YzksMHg0MCB9IH0sCi17ICAxNiwgMHhlMDcwLCAwLCB7MHgzZiwweDc4LDB4NGYsMHg5OCwweGIzLDB4ZTUsMHgwNCwweGNkLDB4YTAsMHg3MiwweDc4LDB4MGMsMHhkOCwweDhiLDB4MjYsMHgxNCB9IH0sCi17ICAxNiwgMHhlMDgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUzLDB4MDAsMHg4OCwweDQyLDB4MjIsMHgzMSB9IH0sCi17ICAxNiwgMHhlMDkwLCAwLCB7MHgwOCwweDBhLDB4MDIsMHgyMiwweGEwLDB4YjgsMHhmOSwweDIyLDB4MTAsMHgwZCwweDg0LDB4MTIsMHg2YSwweDgwLDB4ODgsMHg4MCB9IH0sCi17ICAxNiwgMHhlMGEwLCAwLCB7MHgyZSwweDIwLDB4MGIsMHgwOCwweDAyLDB4ZTIsMHg4MCwweGE4LDB4YTgsMHhhMiwweDM4LDB4NDgsMHhhOCwweDAyLDB4MGUsMHgwMCB9IH0sCi17ICAxNiwgMHhlMGIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4YTIsMHg4MSwweDAwLDB4MjAsMHg0OCB9IH0sCi17ICAxNiwgMHhlMGMwLCAwLCB7MHgwOCwweDEyLDB4NDIsMHg0NSwweDAwLDB4YjEsMHgwMCwweDI0LDB4NDAsMHgwOSwweDE0LDB4MDIsMHgyNCwweDAwLDB4ODEsMHgyMCB9IH0sCi17ICAxNiwgMHhlMGQwLCAwLCB7MHgyYywweDU4LDB4MGIsMHgxMCwweDgyLDB4YzQsMHgwNCwweDkxLDB4NDAsMHg2NCwweDZjLDB4MDgsMHgzMCwweDgyLDB4MTIsMHgwNSB9IH0sCi17ICAxNiwgMHhlMGUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MSB9IH0sCi17ICAxNiwgMHhlMGYwLCAwLCB7MHgwOCwweDkwLDB4OGEsMHg2NCwweDgwLDB4YjksMHgwMCwweDIyLDB4NTAsMHgwOSwweDkwLDB4MDYsMHg2NCwweDA4LDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhlMTAwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDA2LDB4YzQsMHgwMSwweGI5LDB4MDIsMHgyNiwweDYxLDB4ODgsMHg5MCwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhlMTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhjOSwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhlMTIwLCAwLCB7MHgyYywweDk0LDB4MjMsMHg2NCwweDAwLDB4YjksMHgwMCwweDM2LDB4NDAsMHgwOSwweDkwLDB4MTMsMHgwNSwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhlMTMwLCAwLCB7MHgzZSwweDQwLDB4NGYsMHg5MCwweDEzLDB4ZTUsMHhjMCwweGQ5LDB4MDAsMHgyNiwweDQwLDB4MmMsMHg5NCwweDAzLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwMSwweGE0LDB4MDIsMHhlOSwweDA4LDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHhlMTUwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHhhNCwweDAwLDB4ZjEsMHgwMCwweDNlLDB4NDEsMHgwZiwweDkwLDB4NDMsMHhhNCwweDg4LDB4ZTksMHgwNCB9IH0sCi17ICAxNiwgMHhlMTYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGUxLDB4MDAsMHgzYSwweDQwLDB4OWYsMHg5MiwweDYzLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweDgwLDB4MTAsMHhlMCwweDAxLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTgwLCAwLCB7MHg4ZiwweDgwLDB4MDMsMHgyMCwweDAwLDB4ZDgsMHgwOCwweDMwLDB4MDEsMHg4YywweDAwLDB4MDMsMHhlMSwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHhlMTkwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4MCwweDBiLDB4MjEsMHgwMCwweGM4LDB4MDAsMHg3OCwweDAwLDB4MGYsMHg4NiwweDAzLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDQwLDB4MmIsMHg4MiB9IH0sCi17ICAxNiwgMHhlMWIwLCAwLCB7MHgwYiwweGEwLDB4MDIsMHgzYSwweDAwLDB4OGUsMHg4MCwweDIzLDB4ODIsMHgwOCwweGUyLDB4MDIsMHgyOCwweDEwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWMwLCAwLCB7MHgyZiwweDk4LDB4MjgsMHhhMCwweDEyLDB4MjgsMHgwMCwweDhlLDB4MjAsMHgyZSwweDgwLDB4NGIsMHhlNCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDIsMHhhMiwweDQwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlMWUwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHg0ZSwweDQwLDB4OTMsMHhjMCwweGEwLDB4MjAsMHgwOCwweDM2LDB4MDIsMHg4YywweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWYwLCAwLCB7MHgyYywweGUyLDB4MDgsMHgzMCwweDA2LDB4NGMsMHgxMiwweDkzLDB4MDgsMHgyOCwweGMwLDB4MGIsMHhiMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4MDgsMHg4MiwweDQwLDB4MjksMHg0MCB9IH0sCi17ICAxNiwgMHhlMjEwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHg1ZSwweDA4LDB4ODQsMHgwOCwweDIzLDB4NDAsMHgwOCwweDcwLDB4MDYsMHgxYywweDgwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjIwLCAwLCB7MHgyZCwweDIwLDB4MDgsMHg3OSwweDEyLDB4NWMsMHgwMCwweDk0LDB4MDAsMHgyZCwweGMwLDB4MGIsMHgzMCwweDQyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4MDAsMHhlNCwweDgwLDB4MzEsMHhhMSB9IH0sCi17ICAxNiwgMHhlMjQwLCAwLCB7MHgwZiwweDU4LDB4MTMsMHg3NiwweDAwLDB4ZDAsMHg4MCwweDMxLDB4YzAsMHgwYywweDM4LDB4MDMsMHhiZSwweDgwLDB4ZDcsMHg4MSB9IH0sCi17ICAxNiwgMHhlMjUwLCAwLCB7MHgzZiwweDIwLDB4OGMsMHg3OSwweDAzLDB4N2YsMHgwMSwweGQ2LDB4ODAsMHgzOSwweGU4LDB4NGYsMHg2OCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGJlLDB4MDAsMHhmYSwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjcwLCAwLCB7MHg4ZiwweDk2LDB4MGIsMHhhNCwweDAwLDB4ZWEsMHgwMCwweDNjLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhhYywweDIwLDB4ZmIsMHg0MCB9IH0sCi17ICAxNiwgMHhlMjgwLCAwLCB7MHgyZSwweDAwLDB4MGYsMHhiMiwweDAzLDB4YWQsMHhhMCwweGVhLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhhMCwweDFiLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhlMjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDgsMHhkZSwweDgxLDB4MzMsMHhhNCB9IH0sCi17ICAxNiwgMHhlMmEwLCAwLCB7MHgwZSwweGZjLDB4MTMsMHgzZSwweDAwLDB4ZmMsMHg4MCwweDEzLDB4MjAsMHgwYywweDY4LDB4MDMsMHgzZSwweDIwLDB4ZmYsMHhjOCB9IH0sCi17ICAxNiwgMHhlMmIwLCAwLCB7MHgzZiwweDYwLDB4MWQsMHhmOCwweDAzLDB4N2UsMHgwMCwweGM3LDB4ODAsMHgzMywweGUyLDB4MGMsMHhkOCwweDAzLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHg4NiwweDQxLDB4MzEsMHhjNCB9IH0sCi17ICAxNiwgMHhlMmQwLCAwLCB7MHgwOCwweDc5LDB4NDIsMHg5YywweDAwLDB4YmMsMHgxMCwweDIxLDB4NDAsMHg4NSwweDM1LDB4MDMsMHg1YywweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmUwLCAwLCB7MHgyZCwweGMwLDB4MDgsMHg3MiwweDAyLDB4MmMsMHgwMCwweGE3LDB4MDEsMHgzNywweGMwLDB4MDgsMHg1MSwweDQyLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDhjLDB4NDAsMHg4MiwweDAwLDB4MjQsMHg4MSB9IH0sCi17ICAxNiwgMHhlMzAwLCAwLCB7MHgwOCwweGQ4LDB4MDIsMHgxNCwweDIwLDB4YjUsMHgwMCwweDIwLDB4NDAsMHgwOSwweDYwLDB4MDIsMHgxYywweDQwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzEwLCAwLCB7MHgyYywweDQwLDB4MGIsMHgzMCwweDIyLDB4ZGMsMHgwMCwweDk3LDB4MDAsMHgyMSwweGM0LDB4MDgsMHg0MCwweDAyLDB4NDQsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgxNCwweGVjLDB4MDAsMHg5MiwweDA2LDB4MjAsMHg5MCB9IH0sCi17ICAxNiwgMHhlMzMwLCAwLCB7MHgzOCwweDE1LDB4MDIsMHg4NiwweDAwLDB4YjgsMHgwMCwweDYwLDB4NTAsMHgwOSwweDMwLDB4MDIsMHg0ZSwweDAxLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzQwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHgzMCwweDAyLDB4Y2UsMHgyMCwweGIzLDB4MDAsMHgyNCwweGYwLDB4NDgsMHgwMiwweDBhLDB4NTgsMHgwNCB9IH0sCi17ICAxNiwgMHhlMzUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhjYSwweDAwLDB4YTYsMHg5NCB9IH0sCi17ICAxNiwgMHhlMzYwLCAwLCB7MHgyYywweDkwLDB4MDMsMHgyZSwweDAwLDB4ZmIsMHgwNSwweGIyLDB4ODUsMHgwZCwweDkwLDB4MDMsMHgzZiwweDkwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzcwLCAwLCB7MHg3ZSwweDgwLDB4MWYsMHhmMCwweDQzLDB4ZmMsMHgyMSwweDlhLDB4MDAsMHgzMywweGM4LDB4M2MsMHhiMiwweDAzLDB4NmEsMHgwNCB9IH0sCi17ICAxNiwgMHhlMzgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweGVjLDB4MDIsMHhlYSwweDQwLDB4M2QsMHg4MCB9IH0sCi17ICAxNiwgMHhlMzkwLCAwLCB7MHgwZiwweDEwLDB4OTMsMHhlZCwweDAwLDB4ZmIsMHg0MCwweDNlLDB4OTAsMHg4ZiwweDMwLDB4MDMsMHhlYywweDgwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhlM2EwLCAwLCB7MHgzZSwweDkxLDB4MWMsMHhiMCwweDAzLDB4MmMsMHgxMCwweGU4LDB4MDAsMHgzZSwweGM4LDB4MWYsMHg5MCwweDAzLDB4YTUsMHgxMCB9IH0sCi17ICAxNiwgMHhlM2IwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGZjLDB4MDIsMHhlNCwweDAwLDB4NzMsMHhhMCB9IH0sCi17ICAxNiwgMHhlM2MwLCAwLCB7MHgwYywweGZjLDB4MDMsMHg3YywweDAyLDB4ZmYsMHgxMCwweDEzLDB4YzQsMHgxYywweGMwLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhlM2QwLCAwLCB7MHgzNywweGUwLDB4MGQsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGVkLDB4ODAsMHgzMSwweGMwLDB4MGMsMHgzMiwweDYzLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhlM2UwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODQsMHgwMCwweDZjLDB4MDAsMHg4YSwweGMwLDB4MjIsMHhiMSB9IH0sCi17ICAxNiwgMHhlM2YwLCAwLCB7MHg4YSwweGI4LDB4NDMsMHg0YSwweDEwLDB4ZGIsMHgyMCwweDIwLDB4ZjAsMHgwYSwweDk0LDB4MDMsMHg2YywweDAwLDB4YmIsMHgwNyB9IH0sCi17ICAxNiwgMHhlNDAwLCAwLCB7MHgyMiwweGI4LDB4MDgsMHhiMCwweDAyLDB4ZWMsMHgxMSwweGU4LDB4YzAsMHhiMiwweGMwLDB4MmEsMHg5MiwweDFhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDJjLDB4MDAsMHhhYSwweDgwLDB4MjIsMHg5OCB9IH0sCi17ICAxNiwgMHhlNDIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyZiwweDAzLDB4YmIsMHgwMSwweDJhLDB4ODMsMHgwOCwweGIyLDB4NGUsMHgyYywweDA0LDB4YWIsMHgwMiB9IH0sCi17ICAxNiwgMHhlNDMwLCAwLCB7MHgyMiwweGM0LDB4MjgsMHhiMCwweDIyLDB4ZWMsMHgwOSwweGIzLDB4NTAsMHg2MiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDEsMHg4MywweDAwLDB4NjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlNDUwLCAwLCB7MHgwOCwweDEyLDB4MGEsMHg0NCwweDAwLDB4OTMsMHgwMCwweDJhLDB4ODAsMHg0YSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDYwLCAwLCB7MHg2MCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDIsMHg2MCwweGMwLDB4MDgsMHgwMCwweDQ2LDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhlNDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwZCwweDZjLDB4MDAsMHhlOCwweDAyLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhlNDgwLCAwLCB7MHgyYywweGYyLDB4NDMsMHgyYywweDAwLDB4ZmIsMHgwMCwweGJhLDB4YzAsMHgwOCwweGE1LDB4MDIsMHgzYywweDAwLDB4ZWYsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDkwLCAwLCB7MHgzNiwweGMwLDB4NGQsMHhmMCwweDEzLDB4ZmQsMHg1MSwweGZiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHhiMCwweDAzLDB4MjAsMHgwMSB9IH0sCi17ICAxNiwgMHhlNGEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHg3ZSwweDA0LDB4M2YsMHg4MCB9IH0sCi17ICAxNiwgMHhlNGIwLCAwLCB7MHgwZiwweDMxLDB4NDMsMHhmMCwweDAyLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDA4LDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGMwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGVmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTgsMHgxNiB9IH0sCi17ICAxNiwgMHhlNGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYyLDB4NDAsMHhmYywweDgwLDB4M2YsMHgyNCB9IH0sCi17ICAxNiwgMHhlNGUwLCAwLCB7MHgwZCwweGQ4LDB4NTMsMHhkNiwweDA0LDB4ZGYsMHgzMiwweDNmLDB4Y2MsMHg0YywweGMwLDB4NDMsMHhmYywweDAwLDB4ZGYsMHg2MCB9IH0sCi17ICAxNiwgMHhlNGYwLCAwLCB7MHgzNywweGMwLDB4MGYsMHhjNCwweDAzLDB4N2MsMHhkMCwweGRmLDB4MjAsMHgzMywweGQ4LDB4MGQsMHhmOCwweDQzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxOCwweGU4LDB4ODAsMHhiMCwweDAxLDB4MmUsMHgwOCB9IH0sCi17ICAxNiwgMHhlNTEwLCAwLCB7MHg4OCwweDkwLDB4MDIsMHhlYywweDIwLDB4OGIsMHg3MCwweDJmLDB4Y2MsMHgwOCwweGIzLDB4ODIsMHhmZCwweGUwLDB4YmYsMHg0MCB9IH0sCi17ICAxNiwgMHhlNTIwLCAwLCB7MHgyMiwweGQ4LDB4MGIsMHg5MywweDAyLDB4ZmQsMHhjMCwweGFmLDB4MTAsMHgyOCwweGYwLDB4MDgsMHhiYywweDEyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhlNTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4MDAsMHhiMCwweDAwLDB4MmUsMHgwMSB9IH0sCi17ICAxNiwgMHhlNTQwLCAwLCB7MHgwYSwweDEyLDB4ODIsMHhlYywweDgwLDB4YjMsMHgwMCwweDJjLDB4YzgsMHgwYSwweDAwLDB4MzIsMHg4YywweDAwLDB4YTMsMHgzMCB9IH0sCi17ICAxNiwgMHhlNTUwLCAwLCB7MHgyMCwweGQyLDB4MDksMHgwMCwweDAyLDB4OGMsMHg4MCwweDgzLDB4MDAsMHgyOCwweGQ4LDB4MGIsMHgzNCwweDEyLDB4ZjIsMHgwMSB9IH0sCi17ICAxNiwgMHhlNTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGFjLDB4MDEsMHhiOCwweDAyLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTcwLCAwLCB7MHgwYSwweDkwLDB4MTIsMHhlYywweDEwLDB4OGIsMHgwMCwweDJlLDB4YzAsMHgwYSwweGIwLDB4MDAsMHhlYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTgwLCAwLCB7MHgyMiwweGMxLDB4MGIsMHg5MiwweDAyLDB4Y2MsMHgwMSwweGFiLDB4MDAsMHgyYSwweGMwLDB4MDIsMHhiMCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhlNTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUwLDB4MDAsMHhmYSwweDBjLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhlNWEwLCAwLCB7MHgwZiwweGEwLDB4MTMsMHhlZSwweDIwLDB4ZGIsMHgwMCwweDNlLDB4YzAsMHgyZSwweDg4LDB4NTMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWIwLCAwLCB7MHhiMiwweGMwLDB4OGYsMHhhYywweDgzLDB4YWMsMHgwOCwweGRiLDB4MDAsMHgxYSwweGMwLDB4NGYsMHhiMCwweDAzLDB4YzAsMHgwNCB9IH0sCi17ICAxNiwgMHhlNWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI4LDB4MDAsMHhmZSwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhlNWQwLCAwLCB7MHgyZCwweGUwLDB4MDMsMHhmZSwweDgwLDB4N2YsMHgwMCwweDNmLDB4YzAsMHgwZCwweGQyLDB4MDMsMHhmYywweDAwLDB4YmYsMHgwMSB9IH0sCi17ICAxNiwgMHhlNWUwLCAwLCB7MHgzZSwweGMwLDB4MGQsMHhjOCwweDAzLDB4ZmMsMHgwYywweGZmLDB4MDAsMHgzZiwweGMwLDB4MDksMHhmMCwweDIzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE0LDB4MDAsMHhmYSwweDQwLDB4MzIsMHhjMSB9IH0sCi17ICAxNiwgMHhlNjAwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHgyOSwweDA4LDB4ZGIsMHgwMCwweDNlLDB4YzAsMHgwZSwweDg1LDB4MDMsMHhlYywweDIwLDB4Y2IsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjEwLCAwLCB7MHgzYSwweGMwLDB4MGUsMHhhNCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzYSwweGMyLDB4MGUsMHhiMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhlNjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHhiYSwweDYwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhlNjMwLCAwLCB7MHgwYiwweGEwLDB4MDIsMHgwOCwweDAwLDB4YWYsMHgwMCwweDJmLDB4ZDAsMHgwYiwweGI1LDB4MDIsMHhmZSwweDAyLDB4OGYsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjQwLCAwLCB7MHgyZiwweGMwLDB4MGQsMHg4MCwweDBhLDB4M2MsMHgwMCwweGI3LDB4MDAsMHgyMywweGMyLDB4MDUsMHhmMCwweDIyLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNCwweDQwLDB4MDAsMHhiMSwweDg4LDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjYwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDJlLDB4YzgsMHgwYiwweDA4LDB4MDYsMHg0ZCwweDQwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjcwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgzMCwweDA2LDB4MGMsMHgwOCwweDkzLDB4MjAsMHgwYSwweGUwLDB4NGEsMHgzMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxMCwweDVhLDB4MDAsMHhiNSwweDkwLDB4MjEsMHgyMCB9IH0sCi17ICAxNiwgMHhlNjkwLCAwLCB7MHgwYiwweDU4LDB4NDIsMHgzZSwweDAwLDB4YTcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDY5LDB4MDIsMHhkZSwweDQwLDB4ODcsMHg5MiB9IH0sCi17ICAxNiwgMHhlNmEwLCAwLCB7MHgyZCwweGUwLDB4MDksMHgxOCwweDAyLDB4OWUsMHgwMSwweGI3LDB4ODAsMHgyOSwweGUwLDB4MDMsMHg3MCwweDAyLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDQ0LDB4MDAsMHhmMSwweDAxLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmMwLCAwLCB7MHg1ZiwweDE4LDB4MDMsMHgwYywweDEwLDB4ODMsMHgwMCwweDNjLDB4YzQsMHgwZSwweDA0LDB4MDMsMHhlYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmQwLCAwLCB7MHgzMCwweGM0LDB4MGMsMHgzMSwweDAzLDB4OGMsMHgwMCwweGYzLDB4MDAsMHgzOCwweGM4LDB4MGUsMHgzMSwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhlNmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGJjLDB4MDAsMHhmZCwweDA0LDB4YmYsMHgwNCB9IH0sCi17ICAxNiwgMHhlNmYwLCAwLCB7MHg0ZiwweDU4LDB4MDMsMHhmOCwweDA4LDB4ZWYsMHgwOCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDEsMHhmYywweDAwLDB4ZmYsMHg0YyB9IH0sCi17ICAxNiwgMHhlNzAwLCAwLCB7MHgzZiwweGMxLDB4MGYsMHhkMCwweDAzLDB4M2MsMHgwMCwweGY3LDB4MDAsMHgzNywweGMyLDB4MGQsMHg3MiwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhlNzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGUyLDB4MDAsMHhkYiwweDAwLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHhlNzIwLCAwLCB7MHg0ZCwweGE4LDB4MDMsMHgyYywweDA4LDB4ZmIsMHgwMCwweDdlLDB4YzgsMHg4ZiwweGIwLDB4MGIsMHg2ZiwweDQ1LDB4ZWIsMHhjMiB9IH0sCi17ICAxNiwgMHhlNzMwLCAwLCB7MHgzNiwweGMwLDB4MDcsMHhhMCwweDAzLDB4ZWYsMHgyMCwweGNiLDB4NTAsMHhiMiwweGMwLDB4MGMsMHg3OSwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhlNzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxOSwweDk4LDB4MDAsMHg4ZiwweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhlNzUwLCAwLCB7MHgwYiwweDYwLDB4MDMsMHg1YywweDAwLDB4MzcsMHgwMCwweDJkLDB4ZDIsMHgwYiwweDMwLDB4MDIsMHgwYywweGE4LDB4ODcsMHgyNCB9IH0sCi17ICAxNiwgMHhlNzYwLCAwLCB7MHgyMSwweGQwLDB4MDksMHg3MCwweDAyLDB4ZGQsMHg4OCwweDg3LDB4MmEsMHgyMywweGU4LDB4MDgsMHg3MCwweDAyLDB4MzIsMHgwNCB9IH0sCi17ICAxNiwgMHhlNzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweGI2LDB4MDAsMHg5NywweDgwLDB4MjEsMHhlMCB9IH0sCi17ICAxNiwgMHhlNzgwLCAwLCB7MHgwYiwweDY4LDB4MDIsMHgxZSwweDAwLDB4YjcsMHg4MCwweDJkLDB4ZTgsMHg4YiwweDQ4LDB4ODIsMHgxZSwweDgwLDB4YTMsMHg4NCB9IH0sCi17ICAxNiwgMHhlNzkwLCAwLCB7MHgyNSwweGU4LDB4MGIsMHg2OCwweDAyLDB4Y2UsMHgwMiwweDg3LDB4ODAsMHgyMSwweGUwLDB4MDgsMHg3YSwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlN2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwNCwweGNjLDB4MDgsMHg4MywweDgyLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHhlN2IwLCAwLCB7MHg4YiwweDJhLDB4MDIsMHg0OCwweDQwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4ODIsMHgwYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhlN2MwLCAwLCB7MHgwMCwweGMxLDB4MDksMHgzMSwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDBhLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhlN2QwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGU4LDB4MDAsMHhkYSwweGEwLDB4MzIsMHhhOCB9IH0sCi17ICAxNiwgMHhlN2UwLCAwLCB7MHg4ZCwweGE4LDB4MDMsMHgzYiwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGU0LDB4MDMsMHg2OCwweDAwLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhlN2YwLCAwLCB7MHgzNiwweDgwLDB4MGYsMHhlNCwweDAzLDB4ZTgsMHgwMCwweGNhLDB4MDAsMHgzMiwweDgwLDB4MmMsMHhhMCwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhlODAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMSwweGEwLDB4MTAsMHhmOCwweDAwLDB4YmUsMHgyMCB9IH0sCi17ICAxNiwgMHhlODEwLCAwLCB7MHg4ZiwweGMxLDB4MDMsMHhlMCwweDI0LDB4ZjgsMHgwMCwweDNlLDB4MTAsMHgwZiwweDg0LDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMSB9IH0sCi17ICAxNiwgMHhlODIwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDEsMHhiZSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlODMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGE0LDB4MDAsMHhmOSwweDQwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhlODQwLCAwLCB7MHhjZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCwweDBlLDB4NTAsMHgwZiwweDFhLDB4MDMsMHgyNiwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlODUwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDgxLDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhlODYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDQsMHhiMSwweDA0LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhlODcwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NTMsMHgwYiwweDkyLDB4MGEsMHgyNiwweDQ4LDB4YjksMHgwNCB9IH0sCi17ICAxNiwgMHhlODgwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4ODAsMHgwMiwweDUwLDB4MDgsMHg5MCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhlODkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgwNSwweDI0LDB4MDAsMHhiZCwweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHhlOGEwLCAwLCB7MHgwYiwweGQwLDB4MTIsMHhjNCwweDAwLDB4ODksMHgwMiwweDJlLDB4NDAsMHgwYiwweDkwLDB4MjIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhlOGIwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGIxLDB4MjAsMHgyMCwweDQwLDB4NjgsMHg5MCwweDIyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhlOGMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxNCwweDE0LDB4MDAsMHhiZiwweDEyLDB4YTEsMHg0MCB9IH0sCi17ICAxNiwgMHhlOGQwLCAwLCB7MHgwYiwweDUwLDB4MDIsMHhjNCwweDAwLDB4YTEsMHgyMCwweDJjLDB4NDgsMHgwYiwweDEyLDB4MDIsMHgwNCwweDEwLDB4YjEsMHgxMSB9IH0sCi17ICAxNiwgMHhlOGUwLCAwLCB7MHgyYywweDQ4LDB4MGIsMHgxMywweDIyLDB4YzQsMHgwMCwweGIxLDB4NDAsMHgyMCwweDVhLDB4MDgsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhlOGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmOCwweDQwLDB4MzIsMHgxNCB9IH0sCi17ICAxNiwgMHhlOTAwLCAwLCB7MHgwZiwweDQ1LDB4MDMsMHhlMSwweDQwLDB4YzgsMHg1MCwweDNlLDB4MTUsMHg4ZiwweDg1LDB4MDMsMHgyMSwweGU4LDB4ZjgsMHg2OCB9IH0sCi17ICAxNiwgMHhlOTEwLCAwLCB7MHgzZSwweDE0LDB4MGYsMHg4NCwweDAzLDB4ZTEsMHhlMCwweGYwLDB4MjgsMHgzMiwweGE4LDB4Y2MsMHg4MCwweDIzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHhlOTIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxNSwweGM0LDB4MTAsMHhmOSwweDIwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhlOTMwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhmNCwweDAwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgyMCB9IH0sCi17ICAxNiwgMHhlOTQwLCAwLCB7MHgzZSwweDQ0LDB4MGYsMHhkMywweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiZSwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhlOTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGU0LDB4MDAsMHhmZCwweDEwLDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHhlOTYwLCAwLCB7MHgwYywweGQwLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNmLDB4NDAsMHg0YywweGQwLDB4MDMsMHhmNiwweDAwLDB4ZmQsMHg5MCB9IH0sCi17ICAxNiwgMHhlOTcwLCAwLCB7MHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTYsMHhhMCwweGZkLDB4YTgsMHgzNywweDY4LDB4MGMsMHhkOCwweDgzLDB4MjYsMHgwMCB9IH0sCi17ICAxNiwgMHhlOTgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDgsMHhjOCwweGEwLDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHhlOTkwLCAwLCB7MHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDJlLDB4MDAsMHgwYywweDgwLDB4MTIsMHhlMCwweDAwLDB4YjgsMHg4MCB9IH0sCi17ICAxNiwgMHhlOWEwLCAwLCB7MHgyMiwweDAwLDB4MGQsMHgwYSwweDAyLDB4ZTMsMHg4MCwweGIwLDB4YzAsMHgyMCwweDM0LDB4MDgsMHg4NCwweDAzLDB4NGUsMHgwNCB9IH0sCi17ICAxNiwgMHhlOWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDg0LDB4MDksMHhhMSwweDAwLDB4MjAsMHg0MSB9IH0sCi17ICAxNiwgMHhlOWMwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4OTEsMHgwMCwweDJjLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjNSwweDAwLDB4YjEsMHg2MCB9IH0sCi17ICAxNiwgMHhlOWQwLCAwLCB7MHgyMCwweDQwLDB4MDgsMHgxMCwweGEyLDB4YzQsMHgyMCwweGIxLDB4MjgsMHgyNCwweDRhLDB4MDgsMHgxMCwweDAyLDB4NTIsMHgwMSB9IH0sCi17ICAxNiwgMHhlOWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNCwweGE0LDB4MDEsMHg4MSwweDAwLDB4YTIsMHg0MCB9IH0sCi17ICAxNiwgMHhlOWYwLCAwLCB7MHhhOCwweDkwLDB4MDAsMHgyNSwweDQwLDB4ODksMHgwMSwweDJjLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhlYTAwLCAwLCB7MHgyYSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDQsMHgyMiwweDQxLDB4NDgsMHg5MCwweDAyLDB4NDYsMHgwNCB9IH0sCi17ICAxNiwgMHhlYTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNCwweGE1LDB4MjAsMHhlOSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhlYTIwLCAwLCB7MHg0YywweDEwLDB4MGIsMHgyNiwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgyYywweDk4LDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlYTMwLCAwLCB7MHhiMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MmMsMHg5MCwweDAzLDB4NjgsMHgwNCB9IH0sCi17ICAxNiwgMHhlYTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMSwweGE0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhlYTUwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZSwweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlYTYwLCAwLCB7MHgzNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGExLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhlYTgwLCAwLCB7MHgwZiwweDgwLDB4MTMsMHhhMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDQsMHg4YywweDgwLDB4MDMsMHhhMCwweGMwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlYTkwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjAsMHgwMCwweGMwLDB4MDksMHgzMiwweDAwLDB4NGMsMHg4MCwweDAxLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhlYWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHhiZSwweDAwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlYWIwLCAwLCB7MHgwYiwweGUwLDB4MDIsMHg4OCwweDAwLDB4YWEsMHgwMCwweDAzLDB4YTAsMHgwYSwweGU2LDB4MDIsMHhmYSwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWMwLCAwLCB7MHgzMiwweDgwLDB4MGIsMHhhMCwweDAyLDB4MjgsMHgwMCwweDhlLDB4ODAsMHhhMywweDgwLDB4MjgsMHgyMCwweDAyLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZjLDB4MDAsMHhiMywweDQ4LDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhlYWUwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDM0LDB4ODIsMHg4ZSwweDA0LDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhlYWYwLCAwLCB7MHgwYSwweGMwLDB4MWIsMHgzMCwweDAyLDB4MGMsMHgwMiwweDkwLDB4NTAsMHgyMCwweDYwLDB4MDgsMHgzMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMSwweDFjLDB4ODAsMHhiZCwweDBhLDB4MjEsMHg0OCB9IH0sCi17ICAxNiwgMHhlYjEwLCAwLCB7MHgwYiwweDUyLDB4MDIsMHg5YywweDQwLDB4YTMsMHhhMCwweDIwLDB4ODAsMHgwYSwweDYwLDB4MDIsMHhjZSwweDAwLDB4ODUsMHgyMCB9IH0sCi17ICAxNiwgMHhlYjIwLCAwLCB7MHgyMSwweGM0LDB4MGIsMHg3YSwweDA2LDB4MWUsMHg4MCwweDk1LDB4MjAsMHgyMSwweDkwLDB4MDgsMHg3MCwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwOCwweDFlLDB4ODAsMHhmNywweDgwLDB4YjEsMHg3OSB9IH0sCi17ICAxNiwgMHhlYjQwLCAwLCB7MHgwZiwweGRiLDB4MDIsMHgzZSwweDIwLDB4YzcsMHhhMCwweGIxLDB4NjAsMHhjYywweDc4LDB4MTMsMHg5NiwweDAwLDB4ZjEsMHhmMCB9IH0sCi17ICAxNiwgMHhlYjUwLCAwLCB7MHgzOSwweGUyLDB4MGYsMHg3YiwweDEzLDB4MGYsMHgwMCwweGQ0LDB4YTAsMHgzMSwweDYwLDB4MmMsMHg3MCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhlYjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxNSwweGFjLDB4MDAsMHhmNywweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhlYjcwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlZCwweDgwLDB4ZmIsMHgxMCwweDNlLDB4NDAsMHgwYiwweGIwLDB4MjMsMHhlYywweDAwLDB4ZjksMHgyMCB9IH0sCi17ICAxNiwgMHhlYjgwLCAwLCB7MHgzYSwweGQ4LDB4MGYsMHhiMCwweDBiLDB4ZWQsMHg4MSwweGVkLDB4MTAsMHgzZSwweDgwLDB4MGYsMHgzMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhlYjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweGJlLDB4MjAsMHhlZSwweDgwLDB4MzMsMHg2MCB9IH0sCi17ICAxNiwgMHhlYmEwLCAwLCB7MHgwYywweGQ4LDB4ODMsMHgxZSwweDAwLDB4NmYsMHg4MCwweDMzLDB4ZTAsMHgwZiwweGI4LDB4MTEsMHgzMiwweDA0LDB4ZjUsMHg4MCB9IH0sCi17ICAxNiwgMHhlYmIwLCAwLCB7MHgzMywweGUwLDB4MGYsMHhmOCwweDgzLDB4MmYsMHg0MCwweGZlLDB4ODAsMHhiMywweGUwLDB4MGMsMHhmOCwweDAzLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxOCwweDljLDB4MDAsMHhiYywweDAwLDB4YTEsMHg0NCB9IH0sCi17ICAxNiwgMHhlYmQwLCAwLCB7MHgwOCwweDEwLDB4MDMsMHg1YywweDAwLDB4OGYsMHgwMCwweDIxLDB4ODAsMHgwYiwweGVhLDB4MjIsMHgxYywweDgwLDB4YjUsMHgwMSB9IH0sCi17ICAxNiwgMHhlYmUwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHhmMCwweDAyLDB4MWUsMHg4MCwweGJlLDB4MDAsMHgyMywweDgwLDB4MmEsMHg3MCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhlYmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MjAsMHhhNywweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHhlYzAwLCAwLCB7MHgwYiwweDUwLDB4MGEsMHgzYywweDAwLDB4YTcsMHgwMCwweDI1LDB4YzAsMHgwYSwweDQzLDB4MDIsMHgxMCwweDAwLDB4YjUsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzEwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MCwweDgyLDB4MWMsMHg4MCwweGI0LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDQsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwNCwweDhlLDB4MDQsMHhiMywweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhlYzMwLCAwLCB7MHgwOSwweDE0LDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDI0LDB4ODIsMHgwNCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzQwLCAwLCB7MHgyMCwweGMwLDB4OGIsMHgzYSwweDAyLDB4MmMsMHgwMSwweGIwLDB4MDAsMHgyMCwweDgwLDB4MGEsMHgzMCwweDAyLDB4MWEsMHgwNCB9IH0sCi17ICAxNiwgMHhlYzUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweDllLDB4MDAsMHhlYiwweDA0LDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHhlYzYwLCAwLCB7MHgyZCwweGRjLDB4MDMsMHgxZCwweDYwLDB4ZWYsMHgwMCwweDMyLDB4MDAsMHhjZiwweDlhLDB4MDMsMHgyOCwweDAwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzcwLCAwLCB7MHgzMywweGMxLDB4OGIsMHhmYywweDBiLDB4M2MsMHgwMCwweGZjLDB4MDAsMHgzMiwweDgwLDB4MGMsMHg5MCwweDAzLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhlYzgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGFjLDB4MTAsMHhmOCwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhlYzkwLCAwLCB7MHgwZSwweDk4LDB4MjMsMHhhYywweDA0LDB4ZmIsMHgwMCwweDNjLDB4MDAsMHgwZiwweDg0LDB4MjAsMHhlZCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlY2EwLCAwLCB7MHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZkLDB4MDAsMHgzZSwweDgwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCB9IH0sCi17ICAxNiwgMHhlY2IwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjEsMHgxMCwweGZjLDB4MDAsMHhjZiwweDgwLDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHhlY2MwLCAwLCB7MHgwYywweGQwLDB4ODMsMHhmYywweDAwLDB4ZWYsMHgwMCwweDNmLDB4NDAsMHgwYywweGYxLDB4NDEsMHgzMCwweDEwLDB4Y2QsMHgwMCB9IH0sCi17ICAxNiwgMHhlY2QwLCAwLCB7MHgzZiwweGMwLDB4MDAsMHg3MCwweDEzLDB4M2MsMHgwMCwweGU0LDB4MDAsMHhiMSwweGQwLDB4MGMsMHgxMCwweDAzLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhlY2UwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTEsMHgwNCwweDJjLDB4MDAsMHg4YSwweGU0LDB4MmEsMHg0MCB9IH0sCi17ICAxNiwgMHhlY2YwLCAwLCB7MHgyOCwweDkwLDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMCwweDNlLDB4MDIsMHgwYSwweDgwLDB4MDIsMHgyYywweDgyLDB4ODksMHgwNCB9IH0sCi17ICAxNiwgMHhlZDAwLCAwLCB7MHgyZSwweGMxLDB4MGEsMHhiMCwweDBhLDB4MmMsMHgwMCwweDg5LDB4MDIsMHgyMiwweGYyLDB4MmEsMHg5OCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDIsMHg4MCwweDE0LDB4MmEsMHg0MCB9IH0sCi17ICAxNiwgMHhlZDIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHhlYywweDA4LDB4YWIsMHgwNCwweDJlLDB4ODQsMHgwOCwweDEwLDB4ODIsMHg4MCwweDEwLDB4ODksMHgwMyB9IH0sCi17ICAxNiwgMHhlZDMwLCAwLCB7MHgyYywweGMwLDB4NGEsMHhiMCwweDIyLDB4MmMsMHgwMCwweGFhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHg5MSwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxNCwweDJjLDB4MDAsMHg4MCwweDAwLDB4MjgsMHg0MCB9IH0sCi17ICAxNiwgMHhlZDUwLCAwLCB7MHgwOCwweDExLDB4MDIsMHhlYywweDAwLDB4ODMsMHgwMCwweDJjLDB4ODEsMHgwYSwweDAwLDB4NWEsMHg4OCwweDAwLDB4MDEsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDYwLCAwLCB7MHgyYywweGMwLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MGEsMHgxMCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhlZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjOSwweDAwLDB4M2EsMHg0MCB9IH0sCi17ICAxNiwgMHhlZDgwLCAwLCB7MHgwYywweGQ0LDB4MDMsMHhmYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4NDAsMHgwYywweDkyLDB4MDMsMHhhMCwweDAwLDB4NGQsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDkwLCAwLCB7MHgzZiwweGMwLDB4MGUsMHhmMCwweDMzLDB4M2MsMHg4MCwweGU4LDB4MDAsMHgzMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4MjAsMHgwMyB9IH0sCi17ICAxNiwgMHhlZGEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGZjLDB4MDAsMHhmYywweDAwLDB4M2QsMHg0MCB9IH0sCi17ICAxNiwgMHhlZGIwLCAwLCB7MHgwZiwweDUwLDB4MDMsMHhmYywweDAyLDB4M2YsMHgwNCwweDNiLDB4MDEsMHg0ZiwweGM0LDB4MTMsMHg3MCwweDAwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhlZGMwLCAwLCB7MHgzZiwweGMwLDB4MWYsMHhmMCwweDAxLDB4ZmMsMHg0MCwweGZjLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhkMCwweDEzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhlZGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY4LDB4ZTAsMHhmZiwweDgwLDB4M2QsMHhjMCB9IH0sCi17ICAxNiwgMHhlZGUwLCAwLCB7MHgwZCwweGYzLDB4ODIsMHhmMCwweDgwLDB4ZmYsMHg0MCwweDMxLDB4Y2IsMHgwYywweGYzLDB4MDMsMHhmZCwweDA0LDB4ZWYsMHhjMSB9IH0sCi17ICAxNiwgMHhlZGYwLCAwLCB7MHgzMywweGUwLDB4MGYsMHg3OSwweDAzLDB4ZmUsMHgwMCwweGNmLDB4NDIsMHgzMywweGYwLDB4NGMsMHhmOCwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgxMCwweGU5LDB4MDgsMHhiOSwweDgxLDB4MmYsMHhmMCB9IH0sCi17ICAxNiwgMHhlZTEwLCAwLCB7MHgwOCwweGY0LDB4NTIsMHhlOSwweDIwLDB4YmYsMHg0MCwweDIzLDB4ZjAsMHgwYSwweGYzLDB4MDIsMHhmZCwweDA4LDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTIwLCAwLCB7MHgzNiwweGUwLDB4MGIsMHg4MCwweDIyLDB4ZTgsMHg4MCwweDhmLDB4NDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDgyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhlZTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweGNjLDB4MDAsMHhiMSwweDgwLDB4MmMsMHhjNSB9IH0sCi17ICAxNiwgMHhlZTQwLCAwLCB7MHgwOSwweDMyLDB4NDIsMHhjOCwweGMwLDB4YjMsMHgzMSwweDIwLDB4YzEsMHgwOCwweDMyLDB4MDIsMHhjYywweGQ0LDB4YmIsMHgyMCB9IH0sCi17ICAxNiwgMHhlZTUwLCAwLCB7MHg2OCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgyMCwweDkzLDB4NjAsMHgyMCwweDg4LDB4MDgsMHgzMiwweDAyLDB4MzIsMHgwMSB9IH0sCi17ICAxNiwgMHhlZTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgxNSwweGEwLDB4MDAsMHhiYiwweDgwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhlZTcwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHhlYSwweDAwLDB4YmIsMHgwMCwweDYyLDB4YzEsMHgwYSwweGIwLDB4MDIsMHhjYywweDAwLDB4YWIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTgwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhhMCwweDAwLDB4ZTgsMHgwMCwweDgzLDB4MDAsMHgyMiwweGMxLDB4MDgsMHgzMCwweDAyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhlZTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGU4LDB4OTAsMHhmYiwweDgwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhlZWEwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlMiwweDEwLDB4ZmIsMHgwMCwweDMyLDB4YzAsMHg0YywweGIwLDB4MTMsMHhlYywweDAwLDB4ZTksMHg1NCB9IH0sCi17ICAxNiwgMHhlZWIwLCAwLCB7MHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTYsMHgwMCwweGNiLDB4MDAsMHhiMiwweDQwLDB4MGMsMHhiMCwweDAzLDB4MDQsMHgwNCB9IH0sCi17ICAxNiwgMHhlZWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI4LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhlZWQwLCAwLCB7MHg4ZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZjcsMHgwMiwweGJmLDB4YzEsMHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZGYsMHgwNiB9IH0sCi17ICAxNiwgMHhlZWUwLCAwLCB7MHgzNywweGMwLDB4OGYsMHhjOSwweDA3LDB4ZmEsMHg5MiwweGZmLDB4MDQsMHgzZiwweDUwLDB4MmYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlZWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgxMCwweGFjLDB4MDAsMHhjOSwweDAwLDB4M2UsMHhjMiB9IH0sCi17ICAxNiwgMHhlZjAwLCAwLCB7MHgwZSwweGIwLDB4MjMsMHhlNCwweDAwLDB4ZWIsMHgwMCwweDNhLDB4YzgsMHgwZSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlZjEwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiNCwweDAzLDB4YTQsMHgwMCwweGZiLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhiMCwweDgzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHhlZjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDI4LDB4MDAsMHg4YiwweDc0LDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhlZjMwLCAwLCB7MHgwOCwweGYwLDB4MDIsMHhlNCwweDAwLDB4OGYsMHgwMCwweDIxLDB4ZjAsMHgwOCwweGYwLDB4MDIsMHhmYywweDEwLDB4ZDMsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjQwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHg5MCwweDEyLDB4MmMsMHgwMCwweGVmLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiNiwweDAyLDB4ZjYsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweDQ4LDB4MDAsMHhhMywweDAwLDB4MmMsMHhjNCB9IH0sCi17ICAxNiwgMHhlZjYwLCAwLCB7MHgwYSwweDMwLDB4MDIsMHhjMCwweDAwLDB4YTMsMHgwMCwweDY4LDB4ZjAsMHgwYSwweDMwLDB4MTIsMHhjYywweDA0LDB4YTIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjcwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4ZWMsMHgwMCwweGIzLDB4MDEsMHgyZSwweGMwLDB4MGIsMHgzNCwweDAyLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjAsMHgwMSwweDBjLDB4MDAsMHg4NywweDgwLDB4MmQsMHhlOCB9IH0sCi17ICAxNiwgMHhlZjkwLCAwLCB7MHgwOCwweDc4LDB4NDIsMHhkYSwweDAwLDB4ODcsMHg4MCwweDI1LDB4ZTAsMHgwOCwweDc5LDB4MDIsMHhjZSwweDAwLDB4OTYsMHg4MCB9IH0sCi17ICAxNiwgMHhlZmEwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHhkOSwweDAyLDB4ZGUsMHgwMCwweGE3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg3OCwweDAyLDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHhlZmIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4NDAsMHhlMywweDEwLDB4M2MsMHhjMCB9IH0sCi17ICAxNiwgMHhlZmMwLCAwLCB7MHgwYSwweDM4LDB4MDMsMHhlOCwweDAwLDB4ZWIsMHgwMCwweDM4LDB4YzIsMHgwYSwweDMwLDB4MDMsMHhjYywweDAwLDB4ZTMsMHg0MCB9IH0sCi17ICAxNiwgMHhlZmQwLCAwLCB7MHgzYywweGMwLDB4MGYsMHgzNCwweDAzLDB4Y2QsMHgwMCwweGYzLDB4MjAsMHgzYywweDg4LDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiB9IH0sCi17ICAxNiwgMHhlZmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGI0LDB4ODAsMHhmZiwweDA0LDB4M2YsMHhjOCB9IH0sCi17ICAxNiwgMHhlZmYwLCAwLCB7MHgwZiwweGYwLDB4ODMsMHhmOCwweDQwLDB4ZmYsMHgxOCwweDNiLDB4YzAsMHgwZiwweGY0LDB4ODMsMHhmYywweDAwLDB4ZWUsMHgwMiB9IH0sCi17ICAxNiwgMHhmMDAwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwMCwweGVmLDB4MDgsMHgzZiwweDgwLDB4MGYsMHhmMCwweDEzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhmMDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGU4LDB4MDAsMHhjYiwweDAwLDB4M2UsMHhmMiB9IH0sCi17ICAxNiwgMHhmMDIwLCAwLCB7MHg0ZCwweGIyLDB4MTMsMHhlOCwweDA0LDB4Y2IsMHgwMSwweDMyLDB4ZjgsMHg0ZCwweGIyLDB4MTMsMHg2ZCwweDIwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDMwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHgzMCwweDAzLDB4MjQsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4OGYsMHhiOCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgxMSwweDhjLDB4MDAsMHg4NiwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhmMDUwLCAwLCB7MHgwOCwweDczLDB4MDIsMHhkOCwweDEyLDB4ODcsMHgzMCwweDIwLDB4Y2IsMHgwOCwweGYyLDB4MDIsMHgxZCwweDA1LDB4YjUsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDYwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg2MCwweDAzLDB4NTAsMHgxMCwweGI3LDB4MDksMHgyZCwweGMwLDB4MGIsMHhmMCwweDAyLDB4MzIsMHgwNCB9IH0sCi17ICAxNiwgMHhmMDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MDAsMHg4NywweDgwLDB4MmQsMHhlNCB9IH0sCi17ICAxNiwgMHhmMDgwLCAwLCB7MHgwOSwweDdhLDB4MDIsMHhjZSwweDAxLDB4ODcsMHg4MCwweDIxLDB4ZWMsMHgwOSwweDc4LDB4MDIsMHg1ZSwweDgwLDB4YjcsMHhjMCB9IH0sCi17ICAxNiwgMHhmMDkwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHhmOCwweDAyLDB4MWUsMHgwMCwweGI3LDB4YTAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGVlLDB4MDAsMHg4MiwweDgwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhmMGIwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhlYywweDAwLDB4ODMsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHg4MCB9IH0sCi17ICAxNiwgMHhmMGMwLCAwLCB7MHgyYywweGMxLDB4MGIsMHgzMCwweDAyLDB4NGUsMHgwMCwweGIzLDB4MDAsMHgyYywweGYxLDB4MGIsMHgzMCwweDBhLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhmMGQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJhLDB4ODAsMHhjNiwweDAwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhmMGUwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhmOCwweDQwLDB4Y2EsMHgwMCwweDMyLDB4ODAsMHgwZCwweGEwLDB4MTMsMHg2OCwweDAwLDB4ZmUsMHgwMiB9IH0sCi17ICAxNiwgMHhmMGYwLCAwLCB7MHg3ZSwweDgwLDB4MGYsMHhlZCwweDgzLDB4MzksMHgxMCwweGZhLDB4MDAsMHgzZiwweDhjLDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhmMTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MTIsMHhmOCwweDkwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTEwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwNSwweDNlLDB4MDAsMHgwZSwweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHg4MCB9IH0sCi17ICAxNiwgMHhmMTIwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHg2MCwweGY4LDB4MDAsMHg3ZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhjOSwweDgwLDB4MzIsMHg2NCB9IH0sCi17ICAxNiwgMHhmMTQwLCAwLCB7MHgwZiwweDkwLDB4NDMsMHhlNCwweDA2LDB4YzEsMHgwNCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCB9IH0sCi17ICAxNiwgMHhmMTUwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGMxLDB4MDEsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhmMTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweGMwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhmMTcwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NTAsMHgxYiwweDkwLDB4MjIsMHgyNCwweDAwLDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTgwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MCwweDIyLDB4MjQsMHgwOCwweGM5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg5OSwweDIwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhmMWEwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NTgsMHgwYiwweDkwLDB4MDIsMHg4NCwweDAwLDB4YTksMHgwMCB9IH0sCi17ICAxNiwgMHhmMWIwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHgxMCwweDBhLDB4MDQsMHgwMCwweDk5LDB4MDIsMHgyMiwweGMxLDB4MDgsMHg5MCwweDgyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhmMWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHg5MSwweDAyLDB4YTAsMHhjOCB9IH0sCi17ICAxNiwgMHhmMWQwLCAwLCB7MHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMiwweDIwLDB4NDgsMHg5YiwweDEyLDB4MDIsMHgwNCwweDkwLDB4ODksMHgwMSB9IH0sCi17ICAxNiwgMHhmMWUwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDQsMHgwMiwweDgxLDB4MjIsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhmMWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDIsMHhkYSwweDAxLDB4MzIsMHgwMSB9IH0sCi17ICAxNiwgMHhmMjAwLCAwLCB7MHgwZiwweDg1LDB4MDMsMHhhMSwweDQwLDB4YzAsMHg1MCwweDNhLDB4MDEsMHg4YiwweDg1LDB4MjMsMHhhMSwweDQ0LDB4ZTgsMHg1MCB9IH0sCi17ICAxNiwgMHhmMjEwLCAwLCB7MHhiMiwweDAwLDB4MGYsMHg4NSwweDAzLDB4MjEsMHg0OCwweGQ4LDB4NTEsMHgzMiwweDE0LDB4MmMsMHg4NSwweDAzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHhmMjIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY1LDB4MDAsMHhlZCwweDAyLDB4M2UsMHg0NCB9IH0sCi17ICAxNiwgMHhmMjMwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhmNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjQwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGU5LDB4MTAsMHhiZiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjYsMHgwNiB9IH0sCi17ICAxNiwgMHhmMjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4MjEsMHhjNSwweDAwLDB4MzMsMHg2OCB9IH0sCi17ICAxNiwgMHhmMjYwLCAwLCB7MHgwZiwweDlhLDB4MDMsMHg2ZiwweDg4LDB4YzksMHhjMCwweDMzLDB4NjgsMHgwYywweDllLDB4MDMsMHgyNywweDgwLDB4ZDksMHg0MCB9IH0sCi17ICAxNiwgMHhmMjcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzUsMHgxMCwweGQ5LDB4ZTgsMHgzNiwweDUwLDB4MGMsMHhkMCwweDAzLDB4ZTYsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4MDgsMHg4OCwweDAwLDB4ODIsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjkwLCAwLCB7MHgwYiwweDhlLDB4ODIsMHhlYiwweGM4LDB4ODgsMHhlMCwweDIyLDB4MDAsMHgyOCwweDg4LDB4NDIsMHhhMiwweDgwLDB4OGEsMHg4MCB9IH0sCi17ICAxNiwgMHhmMmEwLCAwLCB7MHgyMiwweDAwLDB4MGIsMHhhYSwweDAyLDB4ZTIsMHgwMCwweDg4LDB4YzAsMHgyMiwweGE5LDB4MDgsMHg4YSwweDAzLDB4OGUsMHgwNCB9IH0sCi17ICAxNiwgMHhmMmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDAwLDB4MjAsMHhkMCB9IH0sCi17ICAxNiwgMHhmMmMwLCAwLCB7MHgwYiwweDExLDB4MzIsMHg4NCwweDg0LDB4ODEsMHg2MCwweDYwLDB4NTAsMHgwOCwweDE2LDB4MDYsMHgwNSwweDAwLDB4OTEsMHgyMCB9IH0sCi17ICAxNiwgMHhmMmQwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHgxMCwweDgyLDB4ZTQsMHgwOSwweDkxLDB4MjAsMHgyNCwweDQwLDB4MDgsMHgxMCwweGMyLDB4ZDIsMHgwMSB9IH0sCi17ICAxNiwgMHhmMmUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDQsMHg4OSwweDA0LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhmMmYwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHhjNCwweDAwLDB4YTksMHgwMCwweDIyLDB4NDEsMHgwMCwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzAwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MiwweDIyLDB4ZTUsMHg4MCwweDk5LDB4MDEsMHgyMiwweDYxLDB4MDgsMHg5MCwweDAyLDB4ODYsMHgwNCB9IH0sCi17ICAxNiwgMHhmMzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNCwweGE1LDB4ODIsMHg4MSwweDkwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhmMzIwLCAwLCB7MHgwZiwweDkwLDB4MTMsMHg2NywweDAyLDB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MjMsMHgyNCwweDA0LDB4ZDksMHhjMCB9IH0sCi17ICAxNiwgMHhmMzMwLCAwLCB7MHhiMiwweDQwLDB4MGYsMHg5YywweDAzLDB4ZTYsMHgwMCwweGQ5LDB4MDAsMHgzNiwweDUwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHhmMzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwMCwweGE2LDB4ODAsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhmMzUwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNywweDAwLDB4ZDksMHgwMCwweGJjLDB4NDIsMHgwZiwweDkwLDB4NTMsMHhlNCwweDA0LDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhmMzYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5OCwweDAzLDB4ZTYsMHgwNCwweGUxLDB4MDAsMHgzZSwweDQwLDB4MmYsMHg5MCwweDAzLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweDgxLDB4MTAsMHg0OCwweDEwLDB4MzIsMHgwOCB9IH0sCi17ICAxNiwgMHhmMzgwLCAwLCB7MHgwYywweDgwLDB4MGYsMHgyMSwweDAyLDB4YzgsMHgwMCwweDNhLDB4MDQsMHgwZiwweDgwLDB4MDcsMHg2MCwweDAwLDB4ZjgsMHg0MCB9IH0sCi17ICAxNiwgMHhmMzkwLCAwLCB7MHhiMiwweDAwLDB4MGYsMHg4NCwweDBiLDB4MjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDEwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHhmM2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNCwweDI4LDB4MDQsMHg4ZSwweDgwLDB4MjMsMHg4MCB9IH0sCi17ICAxNiwgMHhmM2IwLCAwLCB7MHgwOCwweGEwLDB4NDIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIzLDB4YTAsMHg0YiwweGEwLDB4MDIsMHhlOCwweDAwLDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHhmM2MwLCAwLCB7MHg3NiwweDgwLDB4MGIsMHhhMCwweDAyLDB4MDgsMHgwMCwweDhhLDB4MDAsMHgzMiwweDgwLDB4MDgsMHhlMCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhmM2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MiwweDAwLDB4MjAsMHhkMCB9IH0sCi17ICAxNiwgMHhmM2UwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHgwYywweDAwLDB4OWIsMHgwMCwweDI4LDB4YzAsMHgxYSwweGIwLDB4MDIsMHg2YywweDAwLDB4YjMsMHgwMiB9IH0sCi17ICAxNiwgMHhmM2YwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyMiwweGMwLDB4MjgsMHgzNCwweDgyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFjLDB4MDAsMHg4NywweDAwLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHhmNDEwLCAwLCB7MHgwOCwweDc4LDB4MDIsMHgwYywweDAwLDB4OTcsMHgyMCwweDI1LDB4YzAsMHgwYiwweDcxLDB4MDIsMHhkYywweDgxLDB4YjcsMHgyMCB9IH0sCi17ICAxNiwgMHhmNDIwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3YSwweDQyLDB4M2MsMHg4MCwweDg3LDB4MjAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwOCwweDBlLDB4ODIsMHhjNywweDgwLDB4YjEsMHhlMCB9IH0sCi17ICAxNiwgMHhmNDQwLCAwLCB7MHgyYywweGZhLDB4MDYsMHgxZSwweDA4LDB4ZDMsMHhiMSwweDM5LDB4NjAsMHg0ZSwweDc4LDB4MTIsMHg1ZSwweGEwLDB4ZmYsMHhmMCB9IH0sCi17ICAxNiwgMHhmNDUwLCAwLCB7MHgyMSwweGUwLDB4MGYsMHhmOCwweDAzLDB4MWYsMHgwOCwweGUzLDB4YTAsMHgzMywweGUwLDB4MGMsMHg2OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhmNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4NDAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhmNDcwLCAwLCB7MHgwZiwweGIyLDB4MDMsMHhlZCwweGE4LDB4ZWIsMHgxMCwweDNhLDB4ODAsMHgwZiwweGIwLDB4YzMsMHhlYywweDQwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDgwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMCwweDgzLDB4ZWMsMHg4MCwweGViLDB4NzAsMHhiZSwweGM0LDB4MGYsMHhiMCwweDAzLDB4ODIsMHgwNiB9IH0sCi17ICAxNiwgMHhmNDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhjZSwweDgwLDB4YjMsMHg2MCB9IH0sCi17ICAxNiwgMHhmNGEwLCAwLCB7MHgwZiwweGZjLDB4ODMsMHg3ZSwweDIwLDB4ZWYsMHhiMCwweDNiLDB4ZTAsMHgwZiwweGI4LDB4MDMsMHgzZSwweDAwLDB4Y2YsMHg4MSB9IH0sCi17ICAxNiwgMHhmNGIwLCAwLCB7MHgzZiwweGUwLDB4OGYsMHhmOCwweDgzLDB4ZWYsMHg0MCwweGZmLDB4YzIsMHgzMywweGUxLDB4MGMsMHhmOCwweDAzLDB4ZDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4ODIsMHg4NywweDE4LDB4MjEsMHg4MCB9IH0sCi17ICAxNiwgMHhmNGQwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgxYywweDYwLDB4ZDcsMHgxMCwweDIxLDB4ZDAsMHgwYiwweDdiLDB4MDIsMHgzYywweDAwLDB4ZDcsMHgwMCB9IH0sCi17ICAxNiwgMHhmNGUwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZGUsMHgwMCwweGJmLDB4MDAsMHhhMywweGM0LDB4MDgsMHg3MCwweDAzLDB4YWEsMHgwNCB9IH0sCi17ICAxNiwgMHhmNGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGJjLDB4MTEsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhmNTAwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgxYywweDAwLDB4OTMsMHgyMCwweDY5LDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhmNTEwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MSwweDAyLDB4ZGMsMHgyMCwweGI3LDB4MTAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4ODQsMHgwMCB9IH0sCi17ICAxNiwgMHhmNTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgxNCwweGNkLDB4MDAsMHg4MywweDQwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhmNTMwLCAwLCB7MHg0YiwweDMwLDB4MDIsMHgwYywweDAxLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAwLDB4OTMsMHg4MCB9IH0sCi17ICAxNiwgMHhmNTQwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMSwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDIyLDB4OTgsMHgwNCB9IH0sCi17ICAxNiwgMHhmNTUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJmLDB4MjAsMHhjYSwweGMwLDB4MzIsMHg4MCB9IH0sCi17ICAxNiwgMHhmNTYwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHgzZSwweDAwLDB4OWYsMHgwMCwweDNhLDB4ODAsMHgwZiwweGYwLDB4MGIsMHgzYywweDAwLDB4Y2YsMHg5OCB9IH0sCi17ICAxNiwgMHhmNTcwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhmNiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHgzMSwweGUwLDB4MmMsMHhiMCwweDAzLDB4YWUsMHgwNCB9IH0sCi17ICAxNiwgMHhmNTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGNjLDB4ODAsMHhmYiwweDAwLDB4M2UsMHg1MCB9IH0sCi17ICAxNiwgMHhmNTkwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhhYywweDAyLDB4ZmIsMHgwMCwweDdlLDB4NTAsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNWEwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMiwweDAzLDB4ZWMsMHgyMCwweGYzLDB4MDAsMHgzZSwweGM2LDB4MGYsMHg5MCwweDAzLDB4YTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDIsMHhjZiwweDk4LDB4NzMsMHhjOCB9IH0sCi17ICAxNiwgMHhmNWMwLCAwLCB7MHgwZiwweDcwLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMCwweDMzLDB4MjgsMHgwZiwweGIwLDB4MDIsMHgxYywweDAwLDB4NGYsMHgwMCB9IH0sCi17ICAxNiwgMHhmNWQwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDEsMHgzMywweGMwLDB4MGMsMHhlNCwweDAzLDB4ZTQsMHgwNCB9IH0sCi17ICAxNiwgMHhmNWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDZjLDB4MDAsMHg4MywweDgwLDB4YTIsMHhmOCB9IH0sCi17ICAxNiwgMHhmNWYwLCAwLCB7MHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDMyLDB4MTAsMHgwZiwweGIwLDB4MDMsMHg2YywweDA0LDB4YWIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjAwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhiMCwweDEyLDB4ZWMsMHgwNCwweGViLDB4MDAsMHgyMiwweGMwLDB4NGEsMHg5NCwweDgyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDZjLDB4MDAsMHg4YSwweDAwLDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjIwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4YjMsMHgwMCwweGEyLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhhYywweDAwLDB4YWIsMHgwNCB9IH0sCi17ICAxNiwgMHhmNjMwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4ZWMsMHgwMCwweGJiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDIyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDBjLDB4MDAsMHg4YiwweDAxLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjUwLCAwLCB7MHgwYiwweDMwLDB4MDYsMHgwYywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYSwweDMyLDB4MGEsMHhjYywweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjYwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MDAsMHgyMiwweGMwLDB4NGEsMHgwMCwweDEyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhmNjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDZjLDB4MDAsMHg4YiwweDA0LDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhmNjgwLCAwLCB7MHgwZiwweGYxLDB4MDMsMHgxYywweDAwLDB4ZmYsMHgwNCwweDMyLDB4YzAsMHgwYiwweGYyLDB4MDMsMHhiYywweDAwLDB4ZWYsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjkwLCAwLCB7MHgzZSwweGMwLDB4MDcsMHhmMCwweDAzLDB4ZmMsMHg4MCwweGZmLDB4MDAsMHhiMiwweGMwLDB4MGMsMHhhMCwweDAzLDB4ZTAsMHgwMyB9IH0sCi17ICAxNiwgMHhmNmEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGRjLDB4MDAsMHhmNSwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhmNmIwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhmYywweDAxLDB4ZmYsMHgwMiwweDNiLDB4YzAsMHgwZiwweGYxLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhmNmMwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDEzLDB4ZmMsMHg0MCwweGVmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhmNmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGYyLDB4NDAsMHhjYywweDgwLDB4MzcsMHgyMCB9IH0sCi17ICAxNiwgMHhmNmUwLCAwLCB7MHgwYywweGQ4LDB4MDMsMHhiMCwweDQ0LDB4ZmMsMHgwOCwweDNmLDB4MGUsMHgwZiwweGMxLDB4MDMsMHhmYywweDAwLDB4Y2MsMHg5NCB9IH0sCi17ICAxNiwgMHhmNmYwLCAwLCB7MHgzZiwweDBhLDB4MmUsMHhjNCwweDAzLDB4N2QsMHg4MCwweGNmLDB4MTAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDgzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwOCwweGUwLDB4OTAsMHg4OCwweDAyLDB4MjIsMHg4MSB9IH0sCi17ICAxNiwgMHhmNzEwLCAwLCB7MHgwOCwweDkyLDB4MTMsMHhhNCwweDQwLDB4M2IsMHg2MCwweDIyLDB4MTgsMHgwYiwweDgxLDB4MDIsMHhmYywweGQ0LDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzIwLCAwLCB7MHgzYSwweGIwLDB4MGEsMHg5NCwweDAyLDB4M2QsMHg0MCwweGFmLDB4NjMsMHgyZiwweGRmLDB4MGIsMHg5OCwweDAwLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhmNzMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGUwLDB4MDAsMHg4OCwweDAwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhmNzQwLCAwLCB7MHg4OCwweDMwLDB4ODIsMHhjMCwweDAwLDB4YjAsMHgwOCwweDI4LDB4ODAsMHgwYSwweDEwLDB4MDIsMHhjYywweDIwLDB4ODAsMHgwMSB9IH0sCi17ICAxNiwgMHhmNzUwLCAwLCB7MHgyYywweDQwLDB4MWIsMHgwNiwweDAyLDB4OGMsMHg5MCwweDkzLDB4NjAsMHg2OCwweGMwLDB4NGEsMHgwMCwweDQyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhmNzYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGEwLDB4MDIsMHg4OCwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhmNzcwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHhlNCwweDIwLDB4YmIsMHg4OCwweDI2LDB4OTgsMHgwYiwweDgwLDB4NDIsMHhjYywweDE4LDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzgwLCAwLCB7MHgyZSwweGMyLDB4MWIsMHg5OCwweDAyLDB4YWMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHg5OCwweDgyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhmNzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweGUzLDB4YzAsMHhjYiwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2EwLCAwLCB7MHgyYywweDgwLDB4MDMsMHhhZSwweDA4LDB4YjksMHgwMCwweDNlLDB4NzAsMHgwZiwweGI5LDB4MDMsMHhlYywweDAyLDB4NDgsMHg0OCB9IH0sCi17ICAxNiwgMHhmN2IwLCAwLCB7MHgzYywweGMwLDB4MGYsMHg4YywweDkzLDB4ZWMsMHgwMCwweGRiLDB4MDAsMHgxYSwweGMwLDB4MGUsMHhhYywweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhmN2MwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGIyLDB4MDAsMHhmZiwweDAwLDB4YmIsMHg4MCB9IH0sCi17ICAxNiwgMHhmN2QwLCAwLCB7MHgwZiwweGMwLDB4NDMsMHhiNiwweDQwLDB4YmQsMHgwMCwweDNiLDB4NjAsMHgwZiwweGU4LDB4MDMsMHhmYywweDAwLDB4ZmYsMHg5NCB9IH0sCi17ICAxNiwgMHhmN2UwLCAwLCB7MHgzYiwweGU0LDB4MGUsMHg2MCwweDBmLDB4NmMsMHgwOCwweGVmLDB4MDEsMHgzZiwweGMwLDB4MGYsMHg2MCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGExLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg2MCB9IH0sCi17ICAxNiwgMHhmODAwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhlZCwweDAwLDB4ZjksMHg0MCwweDNhLDB4MDAsMHgwZiwweDkwLDB4MDMsMHhlYywweDAyLDB4YzksMHgwNCB9IH0sCi17ICAxNiwgMHhmODEwLCAwLCB7MHgzMiwweGQwLDB4MGYsMHg5MCwweDAzLDB4MmMsMHgwOCwweGRiLDB4MDAsMHhiNiwweGMwLDB4MGQsMHhiNCwweDAzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHhmODIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDAwLDB4MDAsMHhiMywweDg5LDB4MmUsMHhlMCB9IH0sCi17ICAxNiwgMHhmODMwLCAwLCB7MHgwYiwweGE0LDB4MDMsMHhhNCwweDAxLDB4YjksMHgwMCwweDJlLDB4MDEsMHgwYiwweDkwLDB4NDIsMHhmYywweDEwLDB4ODksMHg1MCB9IH0sCi17ICAxNiwgMHhmODQwLCAwLCB7MHhhMiwweGMwLDB4OGQsMHhiNCwweDAyLDB4M2MsMHg0NCwweDhmLDB4MDAsMHgyMywweGMwLDB4MDgsMHhiMCwweDAyLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHhmODUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNCwweDBjLDB4MDAsMHhiMCwweDgwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhmODYwLCAwLCB7MHgwYiwweDEyLDB4MDIsMHhjOCwweDAwLDB4YmEsMHgwMCwweDJjLDB4YzAsMHgwYiwweDIwLDB4MDIsMHhjYywweDAwLDB4YTIsMHgwMCB9IH0sCi17ICAxNiwgMHhmODcwLCAwLCB7MHgyMCwweDAwLDB4MmIsMHgyZCwweDlhLDB4MmUsMHg0MiwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgyMCwweDAyLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhmODgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDFlLDB4MDQsMHhiNCwweDgwLDB4MmQsMHhhMCB9IH0sCi17ICAxNiwgMHhmODkwLCAwLCB7MHgwYiwweDU4LDB4MDIsMHg5MiwweDAwLDB4YjYsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDY4LDB4MDIsMHhkZSwweDQwLDB4YTYsMHg4MCB9IH0sCi17ICAxNiwgMHhmOGEwLCAwLCB7MHgyMSwweDI0LDB4MjksMHg0OCwweDAyLDB4MWUsMHg4MCwweDg3LDB4ODAsMHg2OSwweGUwLDB4MDgsMHg2MSwweDAyLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxOCwweDBjLDB4MDAsMHhmMCwweDMwLDB4M2MsMHg0YyB9IH0sCi17ICAxNiwgMHhmOGMwLCAwLCB7MHgwZiwweDMyLDB4MDMsMHhjOCwweDgwLDB4YjIsMHgwMCwweDM4LDB4ODAsMHgwZiwweDFiLDB4MDMsMHhlYywweDAwLDB4ZTAsMHgzMCB9IH0sCi17ICAxNiwgMHhmOGQwLCAwLCB7MHgzMCwweDA0LDB4MGYsMHhiMSwweDAzLDB4MGUsMHg4NSwweGNiLDB4MDAsMHgzYSwweGMwLDB4MGMsMHgzMSwweDAzLDB4ZDIsMHgwMiB9IH0sCi17ICAxNiwgMHhmOGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxYywweGJjLDB4MDAsMHhmYywweDExLDB4M2YsMHhjNCB9IH0sCi17ICAxNiwgMHhmOGYwLCAwLCB7MHgwZiwweGI4LDB4MTMsMHhiMCwweDA0LDB4ZmUsMHgwMiwweDNmLDB4ODAsMHgwZiwweGMwLDB4MDMsMHhmZCwweDAwLDB4ZGYsMHgxMiB9IH0sCi17ICAxNiwgMHhmOTAwLCAwLCB7MHgxZCwweDA0LDB4MGYsMHhkMCwweDQzLDB4YmMsMHgwMSwweGVmLDB4MTAsMHgzMywweGM0LDB4MGUsMHhmMywweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhmOTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGVlLDB4MDAsMHhjYiwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTIwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHgyOCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4NDAsMHgzZCwweGIwLDB4MDMsMHhlZiwweDA4LDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhmOTMwLCAwLCB7MHgzYSwweDAwLDB4MGMsMHhhMCwweDAzLDB4ZWMsMHg5OCwweGZiLDB4MjAsMHgzMiwweGQyLDB4MGMsMHhhOCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhmOTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAxLDB4MmQsMHg4MCB9IH0sCi17ICAxNiwgMHhmOTUwLCAwLCB7MHgwYiwweDQwLDB4NDIsMHgxYywweDA0LDB4MzcsMHgwMCwweGExLDB4NDAsMHgwOCwweDYwLDB4MDIsMHhjYywweDgwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTYwLCAwLCB7MHgyZCwweDgwLDB4MmUsMHg3MCwweDAyLDB4ZGMsMHhhOSwweGI3LDB4MjgsMHgyMSwweGQwLDB4MDgsMHg3MCwweDAyLDB4MTIsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweGJlLDB4MDIsMHg4NywweDgwLDB4MmQsMHg2MCB9IH0sCi17ICAxNiwgMHhmOTgwLCAwLCB7MHg0YiwweGU4LDB4MDIsMHg1YSwweDAxLDB4YjQsMHg4OCwweDI4LDB4ZTAsMHg4OCwweDc4LDB4YzIsMHhkZSwweDUyLDB4ODYsMHhjMCB9IH0sCi17ICAxNiwgMHhmOTkwLCAwLCB7MHgyOSwweDYwLDB4MDgsMHg2OCwweDAyLDB4ZGUsMHg0MCwweGIzLDB4OTIsMHhlMSwweGU4LDB4MjgsMHgyOCwweDAyLDB4NzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgxNCwweGNjLDB4MDAsMHg4YiwweDgwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhmOWIwLCAwLCB7MHgwYiwweDIwLDB4MDIsMHg0ZCwweDgwLDB4OWIsMHgyMCwweDIwLDB4ZTAsMHgwOCwweDM4LDB4MDIsMHhjYywweDAwLDB4ODMsMHg4MCB9IH0sCi17ICAxNiwgMHhmOWMwLCAwLCB7MHgyYywweGMwLDB4MGEsMHhiMCwweDAyLDB4Y2MsMHgwOCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMSwweDAyLDB4NTIsMHgwNCB9IH0sCi17ICAxNiwgMHhmOWQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweGE4LDB4MDAsMHhjYSwweGUwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhmOWUwLCAwLCB7MHgxZiwweGE0LDB4MGIsMHg3OSwweDAwLDB4ZmUsMHgwMCwweDNmLDB4ODIsMHgxZCwweGUwLDB4MDMsMHhlOCwweDAwLDB4Y2UsMHg0MCB9IH0sCi17ICAxNiwgMHhmOWYwLCAwLCB7MHgzYiwweDg4LDB4MmMsMHhlNCwweDAzLDB4ZTgsMHgwMSwweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhlOCwweDAzLDB4N2EsMHgwNCB9IH0sCi17ICAxNiwgMHhmYTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweGEwLDB4MDAsMHhmOCwweDA5LDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTEwLCAwLCB7MHg4ZiwweGMwLDB4ODMsMHhhMCwweDE4LDB4ZjgsMHgwMCwweDNjLDB4MjAsMHgwZiwweDg4LDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwOCB9IH0sCi17ICAxNiwgMHhmYTIwLCAwLCB7MHgzZSwweDIwLDB4MGUsMHg4MCwweDgzLDB4ZTEsMHgwMSwweGYwLDB4MDAsMHgzYywweDAwLDB4MGYsMHg4MCwweDBiLDB4OTIsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGE0LDB4MDAsMHhmOSwweDQyLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhmYTQwLCAwLCB7MHg0YywweDk4LDB4MDMsMHgwNCwweDAwLDB4YzksMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MjMsMHgyNCwweDAwLDB4YjksMHg4MSB9IH0sCi17ICAxNiwgMHhmYTUwLCAwLCB7MHgzYywweDQwLDB4MGMsMHg5MiwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDUsMHgzMiwweDQwLDB4NmMsMHg5MCwweGMzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhmYTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDI0LDB4MTQsMHhiOSwweDAwLDB4YTIsMHg1NCB9IH0sCi17ICAxNiwgMHhmYTcwLCAwLCB7MHgwOCwweDliLDB4MWEsMHgyNCwweDAyLDB4ODksMHgwMCwweDIyLDB4NDAsMHgyOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjksMHg5MCB9IH0sCi17ICAxNiwgMHhmYTgwLCAwLCB7MHgyZSwweDQwLDB4MjgsMHg5YywweDgyLDB4MjUsMHgwNCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5OCwweDEyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhhZCwweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHhmYWEwLCAwLCB7MHgwOCwweDUwLDB4MDIsMHg2NCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwOCwweDEwLDB4MDIsMHg2NCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhmYWIwLCAwLCB7MHg2ZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjUsMHgwMCwweGE5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MSwweDA2LDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDE0LDB4MDAsMHhiNSwweDEwLDB4YTEsMHg0NCB9IH0sCi17ICAxNiwgMHhmYWQwLCAwLCB7MHgyOCwweDUwLDB4MDIsMHg0NCwweDgwLDB4ODEsMHgzMCwweDIwLDB4NDgsMHgwOCwweDEyLDB4MDIsMHg4NCwweDQwLDB4YjEsMHg4MCB9IH0sCi17ICAxNiwgMHhmYWUwLCAwLCB7MHg2YywweGM4LDB4MDgsMHgxMiwweDAyLDB4MDQsMHg4MCwweGIxLDB4MzQsMHgyMCwweDQ4LDB4MDgsMHgxMiwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhmYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhlOCwweDQwLDB4MzIsMHg5MCB9IH0sCi17ICAxNiwgMHhmYjAwLCAwLCB7MHgwYywweGM1LDB4MDMsMHg2MSwweDQwLDB4YzAsMHg0MCwweDNhLDB4MTQsMHgwZiwweDg1LDB4MDMsMHgyMSwweGIwLDB4ZjgsMHg1MCB9IH0sCi17ICAxNiwgMHhmYjEwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4NSwweDAzLDB4MjEsMHg0MCwweGY4LDB4NDAsMHhiMCwweDE0LDB4MGMsMHg4MCwweDAzLDB4ZWUsMHgwMSB9IH0sCi17ICAxNiwgMHhmYjIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgxZCwweGM0LDB4MDQsMHhmOSwweDIyLDB4MGUsMHg0OCB9IH0sCi17ICAxNiwgMHhmYjMwLCAwLCB7MHgwZiwweDEwLDB4MTMsMHhiNCwweDQwLDB4ZmQsMHgzMCwweDNmLDB4NDQsMHg0ZiwweGQxLDB4MDAsMHhlNCwweDg0LDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHhmYjQwLCAwLCB7MHgzZCwweDQ0LDB4MGYsMHhkMSwweDBiLDB4ZTQsMHg0MCwweGY5LDB4MzAsMHgzZSwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTYsMHgwNCB9IH0sCi17ICAxNiwgMHhmYjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgwNSwweGU0LDB4MDAsMHhkZCwweDQwLDB4M2YsMHg1MCB9IH0sCi17ICAxNiwgMHhmYjYwLCAwLCB7MHgwYywweGQwLDB4MDMsMHgyYywweDAwLDB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweDkwLDB4MTMsMHgyNywweDA0LDB4ZjUsMHgwMSB9IH0sCi17ICAxNiwgMHhmYjcwLCAwLCB7MHgzNywweDQwLDB4MGMsMHhmMCwweDAzLDB4ZjYsMHgyMCwweGY5LDB4YTgsMHgzMiwweDY4LDB4MGMsMHhkMCwweDAzLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMCwweGUwLDB4MDAsMHg4OCwweGEwLDB4MmUsMHgyOCB9IH0sCi17ICAxNiwgMHhmYjkwLCAwLCB7MHgyOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODgsMHhhMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4MGEsMHg2MiwweDgwLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmEwLCAwLCB7MHgyMiwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTEsMHgwMCwweGI4LDB4ZTAsMHgyMiwweDNhLDB4MDgsMHhhMCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhmYmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDg0LDB4MDIsMHg4MSwweDAwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhmYmMwLCAwLCB7MHgwOCwweDEwLDB4MGEsMHg0NCwweDAyLDB4ODEsMHgwOCwweDI0LDB4NDAsMHgwYSwweDEwLDB4MDIsMHg0NSwweDgwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhmYmQwLCAwLCB7MHgyNCwweDQwLDB4MjksMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MDgsMHgyNCwweDQ0LDB4MDgsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhmYmUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNCwweGE0LDB4MDQsMHg4OSwweDAxLDB4MmUsMHg1MCB9IH0sCi17ICAxNiwgMHhmYmYwLCAwLCB7MHg0OCwweGIyLDB4MDIsMHg2NCwweDAwLDB4OTEsMHgwMCwweDIyLDB4NDYsMHgwYiwweDkwLDB4MDIsMHg2NCwweDAwLDB4YjksMHgwMSB9IH0sCi17ICAxNiwgMHhmYzAwLCAwLCB7MHgyNiwweGMwLDB4MDksMHhiMCwweDEyLDB4ZTQsMHgwMCwweGIxLDB4MDAsMHgyNiwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhmYzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNCwweGU0LDB4MDAsMHhjOSwweDAwLDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHhmYzIwLCAwLCB7MHgwYywweDkwLDB4MDMsMHg2NCwweDAwLDB4YzksMHgwMiwweDM2LDB4NTAsMHgwZSwweDkzLDB4MDMsMHgyNCwweDAwLDB4ZjksMHg5MCB9IH0sCi17ICAxNiwgMHhmYzMwLCAwLCB7MHgzNiwweDQ4LDB4MGQsMHg5NCwweDgzLDB4ZTQsMHgwOCwweGY5LDB4MDAsMHhiNiwweDQwLDB4MGMsMHg5NCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHhmYzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgxMCwweGE0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhmYzUwLCAwLCB7MHgwZiwweDkwLDB4MTMsMHhhNCwweDAwLDB4ZTksMHgwMiwweDJlLDB4NjEsMHgwNSwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhmYzYwLCAwLCB7MHgzYSwweDQwLDB4MGUsMHg5MCwweDQzLDB4ZTQsMHgxMCwweGY5LDB4MDAsMHgzOCwweDQwLDB4MmYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDAxLDB4MzIsMHgwNCB9IH0sCi17ICAxNiwgMHhmYzgwLCAwLCB7MHgwZiwweDgwLDB4NDMsMHhjMCwweDAxLDB4YzgsMHgwMCwweGIyLDB4MDEsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4YzgsMHg0MCB9IH0sCi17ICAxNiwgMHhmYzkwLCAwLCB7MHgzMCwweDAwLDB4OGMsMHg4NCwweDgzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4NmMsMHg4NCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHhmY2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjMsMHg4MCB9IH0sCi17ICAxNiwgMHhmY2IwLCAwLCB7MHgwYiwweGVhLDB4MDIsMHhlOCwweDAwLDB4YWEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ODYsMHgyMCB9IH0sCi17ICAxNiwgMHhmY2MwLCAwLCB7MHgzNywweGEwLDB4OGQsMHhlNCwweDAyLDB4ZjgsMHgwMCwweGRhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDZjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhmY2UwLCAwLCB7MHgwYiwweGI4LDB4MDIsMHg0YywweDA0LDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgwYywweDAyLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2YwLCAwLCB7MHgyMCwweDQwLDB4MjgsMHgzNCwweDAyLDB4Y2UsMHg5MCwweDgzLDB4MDAsMHhhMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFjLDB4YzAsMHhiNSwweDg4LDB4MjEsMHg0MCB9IH0sCi17ICAxNiwgMHhmZDEwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHhkYywweDgwLDB4YTMsMHgyMCwweDIxLDB4ZTAsMHg0OCwweDMyLDB4NDIsMHgwZSwweDkwLDB4OGUsMHgwMSB9IH0sCi17ICAxNiwgMHhmZDIwLCAwLCB7MHg2NSwweDUwLDB4MDksMHg3MCwweDAyLDB4ZGUsMHgyMCwweDkzLDB4MjEsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxOCwweDFlLDB4MDAsMHhmZiwweDgwLDB4YjEsMHhhMCB9IH0sCi17ICAxNiwgMHhmZDQwLCAwLCB7MHgwZiwweDQ4LDB4MDIsMHg3ZSwweDAwLDB4ODcsMHhhMCwweDMzLDB4ZTAsMHgyOCwweDdhLDB4MGIsMHgxZiwweDAwLDB4YzQsMHg4MCB9IH0sCi17ICAxNiwgMHhmZDUwLCAwLCB7MHgzMSwweDYwLDB4OGMsMHg1OCwweDAzLDB4ZmUsMHgwMCwweGM3LDB4YzgsMHgzMywweGU4LDB4MGMsMHg1OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhmZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDcwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHhlYywweGEwLDB4ZmIsMHg0MCwweDNlLDB4YzAsMHg4ZiwweGI1LDB4MDMsMHhlZCwweDgwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDgwLCAwLCB7MHgzYywweDQwLDB4MGYsMHhiMCwweDAzLDB4ZTgsMHgwMCwweGZiLDB4MDIsMHgzZSwweGQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhmZDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwNCwweGJlLDB4MDAsMHhmZiwweDgwLDB4M2YsMHhlMCB9IH0sCi17ICAxNiwgMHhmZGEwLCAwLCB7MHgwZiwweGQ5LDB4MDMsMHhmZSwweDIwLDB4Y2YsMHhjOCwweDMzLDB4ZWEsMHg4ZiwweGZjLDB4MDMsMHgzZiwweDAwLDB4ZmQsMHg4MCB9IH0sCi17ICAxNiwgMHhmZGIwLCAwLCB7MHgzZiwweDYwLDB4MGUsMHhlOCwweDAzLDB4ZjIsMHgwMCwweGNmLDB4ODAsMHgyZiwweGZlLDB4MGMsMHg3OCwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwMCwweDljLDB4MDAsMHhiNSwweDAyLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhmZGQwLCAwLCB7MHgwYiwweDU4LDB4NDIsMHhkYywweDgwLDB4Y2YsMHgwMCwweDIxLDB4YzEsMHgwYiwweDMwLDB4MTIsMHgxYywweDQwLDB4YjQsMHgwMiB9IH0sCi17ICAxNiwgMHhmZGUwLCAwLCB7MHgyZCwweDQ2LDB4MDgsMHg3MSwweDEyLDB4YzgsMHgwMCwweGU3LDB4MDAsMHgyZCwweGM0LDB4MDgsMHg3MCwweDAzLDB4NmEsMHgwNCB9IH0sCi17ICAxNiwgMHhmZGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDAwLDB4MmQsMHgwMiB9IH0sCi17ICAxNiwgMHhmZTAwLCAwLCB7MHgwYiwweDQ2LDB4MDIsMHhkYywweDA4LDB4OTcsMHgwMCwweDIxLDB4YzksMHgwYSwweDMwLDB4MjIsMHgxYywweDAwLDB4YjQsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTEwLCAwLCB7MHgyZCwweDQwLDB4MGEsMHg1MCwweDgyLDB4YzQsMHgwMCwweGI3LDB4MDAsMHgyYywweGM4LDB4MjgsMHg1MCwweDAyLDB4NDAsMHgxMCB9IH0sCi17ICAxNiwgMHhmZTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNCwweDhjLDB4MTgsMHhiMywweDAwLDB4MmUsMHgyMCB9IH0sCi17ICAxNiwgMHhmZTMwLCAwLCB7MHgwYiwweDE4LDB4MDIsMHhjZiwweDRhLDB4ODMsMHhjMiwweDIwLDB4YzEsMHgwYiwweDM0LDB4MjIsMHgwYywweDA0LDB4YjgsMHg1OCB9IH0sCi17ICAxNiwgMHhmZTQwLCAwLCB7MHgyYywweDQwLDB4MGIsMHgyOCwweDAyLDB4YzgsMHgwMCwweGEzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgxNCwweDAyLDB4NDgsMHgwNCB9IH0sCi17ICAxNiwgMHhmZTUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGJjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhmZTYwLCAwLCB7MHgwZiwweGEwLDB4MDIsMHhmYywweDAwLDB4ZGYsMHhhMCwweGIzLDB4YzAsMHgwZSwweGYwLDB4MGIsMHgzYywweDAwLDB4ZmIsMHhjMCB9IH0sCi17ICAxNiwgMHhmZTcwLCAwLCB7MHgzYywweGEwLDB4MGUsMHhiZCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGMsMHgzMCwweDAzLDB4NmEsMHgwNCB9IH0sCi17ICAxNiwgMHhmZTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMCwweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHgwMSB9IH0sCi17ICAxNiwgMHhmZTkwLCAwLCB7MHg4ZiwweGIxLDB4NDMsMHhlYywweDAwLDB4ZjMsMHgwMCwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWEwLCAwLCB7MHgzZSwweDgwLDB4MGMsMHg4NCwweDAzLDB4ZTEsMHgwMCwweDczLDB4MDAsMHgzZSwweGMxLDB4MGYsMHhiMiwweDQzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg1MCwweGZjLDB4MTAsMHhmZiwweDgwLDB4MzcsMHhjMCB9IH0sCi17ICAxNiwgMHhmZWMwLCAwLCB7MHgwYywweGUwLDB4MDMsMHhmYywweDIwLDB4ZmYsMHgwOCwweDMzLDB4YzAsMHgwZiwweGYwLDB4ODMsMHhiYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWQwLCAwLCB7MHgzMywweGMwLDB4MmUsMHg0MCwweDAzLDB4MWMsMHgwMSwweGNmLDB4MDAsMHgxMSwweGMwLDB4NGMsMHhkMCwweDAzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhmZWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MDQsMHhiMywweDAyLDB4MjIsMHg3MiB9IH0sCi17ICAxNiwgMHhmZWYwLCAwLCB7MHgwOCwweGExLDB4MTYsMHhlYywweDAwLDB4YmIsMHgwNCwweDIyLDB4YzAsMHgwYiwweGIwLDB4NDIsMHhlYywweDAwLDB4YmEsMHgxOSB9IH0sCi17ICAxNiwgMHhmZjAwLCAwLCB7MHhiNiwweGQwLDB4MDgsMHg5YywweDRhLDB4MjYsMHg4MCwweGRiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5MCwweDAzLDB4NjAsMHg0MCB9IH0sCi17ICAxNiwgMHhmZjEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiOSwweDEwLDB4NjIsMHgyMCB9IH0sCi17ICAxNiwgMHhmZjIwLCAwLCB7MHg0OCwweGEwLDB4MDIsMHhlYywweDAwLDB4YmIsMHgwMCwweDIyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlYywweDEwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjMwLCAwLCB7MHg2NiwweDA4LDB4MGEsMHhhOCwweDEyLDB4MjYsMHgxMCwweDliLDB4MDAsMHgyYSwweGMwLDB4MjgsMHhiMCwweDI2LDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDBjLDB4MDAsMHhiOSwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjUwLCAwLCB7MHgwOCwweDMyLDB4MDIsMHhjYywweDA0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHg0YiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjYwLCAwLCB7MHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDEsMHgwMCwweDkzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDA2LDB4NDIsMHgxMSB9IH0sCi17ICAxNiwgMHhmZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxYywweDZjLDB4MDAsMHhmOSwweDAwLDB4YjIsMHg0MCB9IH0sCi17ICAxNiwgMHhmZjgwLCAwLCB7MHgwYywweDgyLDB4MDIsMHhkYywweDAxLDB4ZmYsMHgwMCwweGIyLDB4YzAsMHgwYiwweGYxLDB4MDMsMHhiYywweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhmZjkwLCAwLCB7MHgyNiwweDQwLDB4MmUsMHg4MCwweDAzLDB4MjEsMHgwNCwweGNmLDB4MDAsMHhiYiwweGMwLDB4MGMsMHg5MCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhmZmEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhmZmIwLCAwLCB7MHgwZiwweDgxLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmMwLCAwLCB7MHgyZCwweDQwLDB4MmYsMHhjMCwweDAzLDB4ZjAsMHg4OCwweGZmLDB4MDAsMHgzNywweGMwLDB4OGYsMHhkMCwweDAzLDB4ZTgsMHgwMiB9IH0sCi17ICAxNiwgMHhmZmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4NDAsMHhmZiwweDgwLDB4MzMsMHhjMiB9IH0sCi17ICAxNiwgMHhmZmUwLCAwLCB7MHgwYywweGY4LDB4MDMsMHg3YywweGEwLDB4ZmYsMHg5MCwweDNmLDB4YzQsMHgyYywweGI0LDB4MDMsMHhiYywweDgwLDB4Y2YsMHg0MCB9IH0sCi17ICAxNiwgMHhmZmYwLCAwLCB7MHgzNywweGUwLDB4MGYsMHhmMSwweDkzLDB4NmUsMHg0NCwweGJmLDB4MzAsMHgzZiwweDIwLDB4MmMsMHhmOCwweDYzLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MDEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVjLDB4MDAsMHhlYiwweDIwLDB4MjMsMHhmMCB9IH0sCi17ICAxNiwgMHg4MDIwLCAwLCB7MHgwOCwweGI4LDB4NTIsMHgzZCwweDAwLDB4YjMsMHgwMCwweDJlLDB4ZGMsMHgwOCwweGY0LDB4NDIsMHgxYywweDQyLDB4OGIsMHg0MCB9IH0sCi17ICAxNiwgMHg4MDMwLCAwLCB7MHgyMiwweGM4LDB4MGIsMHhmNiwweDAzLDB4NmMsMHg4OCwweGJiLDB4MzAsMHgyZSwweDAwLDB4MDgsMHhiMiwweDAyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MDQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiYiwweDA4LDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHg4MDUwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHg0YywweGEwLDB4YjMsMHgyMCwweDI2LDB4ODAsMHg4OCwweDM2LDB4MDIsMHhjYywweGEwLDB4OTMsMHg2MCB9IH0sCi17ICAxNiwgMHg4MDYwLCAwLCB7MHhhNCwweGMyLDB4MGEsMHgzMiwweDQyLDB4NGMsMHg5MCwweGIzLDB4MjAsMHgyYywweDBiLDB4ODgsMHgzMCwweDgyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHg4MDcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDgsMHhiYiwweDIyLDB4YTIsMHhjMCB9IH0sCi17ICAxNiwgMHg4MDgwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4OTAsMHgwOCwweGIwLDB4MDIsMHhlYywweDAwLDB4OWIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDkwLCAwLCB7MHgyMiwweGMwLDB4MGIsMHhiMCwweDAyLDB4NmMsMHgwMCwweGJiLDB4MDIsMHgyZSwweDIwLDB4MDgsMHhiMCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhiMSwweDgzLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHg4MGIwLCAwLCB7MHgwYywweDFhLDB4MDMsMHg2YywweDEwLDB4ZmIsMHgwMCwweDM0LDB4YzAsMHgwYywweGIwLDB4MDMsMHhlYywweDA4LDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGMwLCAwLCB7MHgzNiwweGMwLDB4MGUsMHhiMCwweDBiLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDI4LDB4MGMsMHhiMCwweDAyLDB4ZDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJjLDB4MDAsMHhlZCwweDgwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHg4MGUwLCAwLCB7MHgwZiwweGQ0LDB4MDMsMHhlYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzgsMHgwZiwweGIwLDB4MDMsMHgzYywweDAwLDB4ZWUsMHg0MCB9IH0sCi17ICAxNiwgMHg4MGYwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDIwLDB4YjAsMHhjMCB9IH0sCi17ICAxNiwgMHg4MTEwLCAwLCB7MHgwZiwweGI0LDB4MDMsMHhhYywweDAyLDB4Y2IsMHgwMCwweDMyLDB4OTAsMHgwZSwweGIwLDB4MDMsMHg2YywweDAwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTIwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDkxLDB4MGYsMHhiMCwweDAzLDB4OTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHhiYiwweDgwLDB4MjMsMHhkNyB9IH0sCi17ICAxNiwgMHg4MTQwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHgzYywweDE0LDB4OGIsMHgwMCwweDZhLDB4MDgsMHgyOCwweGYwLDB4MDAsMHhiYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTUwLCAwLCB7MHhiZSwweGMwLDB4ODgsMHhmMCwweDEzLDB4MmMsMHgwMCwweGVmLDB4MDAsMHgyZSwweDgwLDB4MGIsMHhiMCwweDA3LDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMywweDQwLDB4MjAsMHhkMCB9IH0sCi17ICAxNiwgMHg4MTcwLCAwLCB7MHgwYiwweDI4LDB4MDIsMHg4YywweDAwLDB4ODMsMHgwMSwweDIwLDB4YzAsMHgxYSwweGI4LDB4MDAsMHg2YywweDEwLDB4YTEsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTgwLCAwLCB7MHg2OCwweGMwLDB4MmEsMHgzMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDIsMHgyZSwweDAwLDB4NGIsMHgzMCwweDAyLDB4ZjgsMHgwNCB9IH0sCi17ICAxNiwgMHg4MTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweGEwLDB4MjEsMHhlMCB9IH0sCi17ICAxNiwgMHg4MWEwLCAwLCB7MHgwYiwweGVjLDB4YzIsMHgxZSwweDA0LDB4ODcsMHg4MCwweDI5LDB4ZTQsMHgwOCwweDc5LDB4ODIsMHg5ZSwweDQwLDB4YWYsMHg5MCB9IH0sCi17ICAxNiwgMHg4MWIwLCAwLCB7MHgyOSwweGUwLDB4MGEsMHgzOCwweDAwLDB4MWUsMHgwMCwweGE3LDB4OTAsMHgyZCwweDI0LDB4MGIsMHg3OCwweDAyLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4NTAsMHhmYiwweDA5LDB4MzAsMHhjMCB9IH0sCi17ICAxNiwgMHg4MWQwLCAwLCB7MHgwZiwweDIwLDB4MDIsMHg4YywweDQwLDB4YzMsMHgwMCwweDIwLDB4YzAsMHgwYSwweDM4LDB4MDMsMHg0YywweDQ0LDB4ZTEsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWUwLCAwLCB7MHhhYSwweGMwLDB4MGUsMHgzMSwweDQzLDB4OGUsMHgwMCwweGYzLDB4MDAsMHgzYywweDAwLDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiB9IH0sCi17ICAxNiwgMHg4MWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0ZCwweGJjLDB4MDAsMHhmZiwweDIwLDB4M2YsMHhkMCB9IH0sCi17ICAxNiwgMHg4MjAwLCAwLCB7MHg0ZiwweDcwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgwZiwweGYzLDB4NDMsMHhmYywweDQwLDB4ZDcsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjEwLCAwLCB7MHhiZiwweGMwLDB4MGQsMHhmNCwweGMzLDB4ZmMsMHg0MCwweGZmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg4MjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDAwLDB4MzIsMHhkMCB9IH0sCi17ICAxNiwgMHg4MjMwLCAwLCB7MHgwZCwweDkwLDB4MDEsMHhlZCwweGMwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgxZiwweGJhLDB4MDMsMHhhYywweGMwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjQwLCAwLCB7MHgzMiwweGUwLDB4OGQsMHhiNCwweDQzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzNiwweGEwLDB4MGMsMHhiMCwweDAzLDB4NmEsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDAwLDB4MjEsMHhjOCB9IH0sCi17ICAxNiwgMHg4MjYwLCAwLCB7MHgwOCwweDYwLDB4MDIsMHhkYywweDIwLDB4YjcsMHgwMCwweDJkLDB4YzAsMHgwZiwweDc0LDB4YTIsMHgxYywweDI4LDB4ZDYsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjcwLCAwLCB7MHgzNSwweGMwLDB4MDgsMHg3MiwweDAyLDB4NWMsMHgwOCwweGI3LDB4NDQsMHhhMSwweDgwLDB4NDgsMHg3MCwweDAyLDB4MTIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweDgwLDB4MjAsMHhlNCB9IH0sCi17ICAxNiwgMHg4MjkwLCAwLCB7MHgwOSwweDc4LDB4MjYsMHhkZSwweDAwLDB4YjcsMHg4MCwweDJkLDB4ZTIsMHgwYSwweDcwLDB4MTIsMHg4YywweDg4LDB4ODEsMHg4MCB9IH0sCi17ICAxNiwgMHg4MmEwLCAwLCB7MHgyMSwweGUwLDB4MDksMHg3OCwweDAyLDB4ZGUsMHgwMCwweGIzLDB4YTAsMHgyNSwweGEwLDB4MjgsMHg3OCwweDAyLDB4NzAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDEsMHhiYiwweDgwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHg4MmMwLCAwLCB7MHgwOCwweDMwLDB4NDIsMHhlYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDMwLDB4MjIsMHgwYywweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmQwLCAwLCB7MHgyNCwweGMxLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweGUwLDB4MDgsMHhiMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHg4MmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmYSwweDA4LDB4YjIsMHg4MCB9IH0sCi17ICAxNiwgMHg4MmYwLCAwLCB7MHgwZCwweGUyLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDNmLDB4ODAsMHgwYSwweGEwLDB4MDMsMHhhOCwweDAwLDB4Y2UsMHg1MCB9IH0sCi17ICAxNiwgMHg4MzAwLCAwLCB7MHgzMiwweDgwLDB4MDUsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzNywweGE4LDB4MGMsMHhhMCwweDAzLDB4N2EsMHgwNCB9IH0sCi17ICAxNiwgMHg4MzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDYwLDB4MDgsMHhmOCwweDAwLDB4M2MsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzIwLCAwLCB7MHgwZiwweDg4LDB4MDEsMHhlMCwweDAwLDB4ZjgsMHgwNCwweDNjLDB4MDAsMHg0ZiwweDAwLDB4MTMsMHhjMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzMwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4NjAsMHgwMCwweGY4LDB4MDIsMHgzZSwweDAxLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDkwLDB4MTIsMHg0MCB9IH0sCi17ICAxNiwgMHg4MzUwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NzAsMHgwZSwweDk0LDB4MzMsMHgyNCwweDA4LDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHg4MzYwLCAwLCB7MHgyYSwweDQwLDB4MGIsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHg4MzcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDQyLDB4MjIsMHg2MCB9IH0sCi17ICAxNiwgMHg4MzgwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMywweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAxLDB4ODEsMHgwNCB9IH0sCi17ICAxNiwgMHg4MzkwLCAwLCB7MHgzZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDIsMHgyMiwweDQwLDB4MGUsMHg5MCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2EwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDQwLDB4MmEsMHg0YSB9IH0sCi17ICAxNiwgMHg4M2IwLCAwLCB7MHgwOCwweDkxLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgxYSwweDkwLDB4MGEsMHgyNCwweDA0LDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHg4M2MwLCAwLCB7MHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGIxLDB4MDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMSwweDAxLDB4YTgsMHg0OCB9IH0sCi17ICAxNiwgMHg4M2UwLCAwLCB7MHg4OCwweDkwLDB4MDIsMHgwNCwweDgwLDB4ODEsMHg0MCwweDJjLDB4NTAsMHgxOCwweDE0LDB4MGEsMHg4NCwweDEwLDB4ODksMHg0MCB9IH0sCi17ICAxNiwgMHg4M2YwLCAwLCB7MHgyYywweDQwLDB4MGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweDMxLDB4MjAsMHgyMCwweDQwLDB4MGEsMHgxMCwweDBhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHg4NDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmMCwweDUwLDB4M2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDEwLCAwLCB7MHgyYywweGEwLDB4MDIsMHhhMSwweDQyLDB4YzgsMHgwMCwweDNlLDB4MDAsMHhkZSwweDAwLDB4MjMsMHgyMSwweDQyLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDIwLCAwLCB7MHgzOCwweDE0LDB4MGYsMHg4NSwweDAzLDB4ZTEsMHg0MCwweGY4LDB4NTAsMHgzOCwweDE0LDB4MGYsMHgwNSwweDAzLDB4MmUsMHgwMSB9IH0sCi17ICAxNiwgMHg4NDMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGU0LDB4MDgsMHhmZCwweDAwLDB4MzYsMHg0NCB9IH0sCi17ICAxNiwgMHg4NDQwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHg2NCwweDQwLDB4ZjksMHgwMCwweDNkLDB4NTAsMHgwZiwweDk0LDB4MDMsMHhlNSwweDAwLDB4N2QsMHg0MCB9IH0sCi17ICAxNiwgMHg4NDUwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTYsMHgwNCB9IH0sCi17ICAxNiwgMHg4NDYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU0LDB4MDAsMHhmZCwweDQwLDB4MzMsMHg2OCB9IH0sCi17ICAxNiwgMHg4NDcwLCAwLCB7MHgwYywweGQwLDB4MDMsMHhlNywweDgxLDB4ZjksMHgwMCwweDMzLDB4NzgsMHgwZCwweGQ4LDB4MTMsMHgyNiwweGEwLDB4Y2QsMHhhMCB9IH0sCi17ICAxNiwgMHg4NDgwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHg5YiwweDAzLDB4MjQsMHgwMCwweGY5LDB4YTAsMHgzYywweDQ0LDB4MmMsMHg5MCwweDA3LDB4ODYsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDAsMHhiOCwweGEwLDB4YTIsMHgxMCB9IH0sCi17ICAxNiwgMHg4NGEwLCAwLCB7MHgxOCwweDgwLDB4MDMsMHg4MiwweDg0LDB4YjgsMHg4MCwweDM2LDB4MmMsMHgyZSwweDBmLDB4MDIsMHhhMywweGEwLDB4ZDgsMHhlMCB9IH0sCi17ICAxNiwgMHg4NGIwLCAwLCB7MHgzNiwweDIyLDB4OGIsMHgwOCwweDAzLDB4NDIsMHhhMCwweGY4LDB4ZTAsMHgyZSwweDI4LDB4MDgsMHg4OCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHg4NGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4YTAsMHg1MCB9IH0sCi17ICAxNiwgMHg4NGQwLCAwLCB7MHgyOCwweDMwLDB4MDIsMHhjNSwweDgwLDB4YjEsMHgwOCwweDIwLDB4NDAsMHgwOSwweDEwLDB4YTIsMHg0NCwweDA4LDB4ODEsMHg0OCB9IH0sCi17ICAxNiwgMHg4NGUwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHgxNCwweDAyLDB4MDQsMHg4MCwweGIxLDB4MzgsMHgyYywweDQ4LDB4MDgsMHgxMiwweDgyLDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHg4NGYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE0LDB4MDAsMHhiMSwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHg4NTAwLCAwLCB7MHgwOCwweDkyLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMiwweDI2LDB4NTgsMHg0YSwweDkwLDB4MDIsMHhlNCwweDA4LDB4OTksMHg0MCB9IH0sCi17ICAxNiwgMHg4NTEwLCAwLCB7MHgyNiwweDQwLDB4MGIsMHg5MCwweDAyLDB4NjQsMHgwOCwweGI5LDB4MDEsMHgyYywweDQ4LDB4MDgsMHg5MCwweDEyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHg4NTIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDgwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHg4NTMwLCAwLCB7MHgwOCwweDk4LDB4ODMsMHhlNCwweDA0LDB4YjksMHgwMSwweDMwLDB4NDAsMHgwZCwweDkwLDB4MGIsMHg2NCwweDAyLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHg4NTQwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgxZSwweDU4LDB4MGMsMHg5MCwweDAzLDB4YTgsMHgwNCB9IH0sCi17ICAxNiwgMHg4NTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDIwLDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHg4NTYwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHhhNCwweDAwLDB4YjksMHgwMCwweDNlLDB4NDIsMHg4ZSwweDEwLDB4NGIsMHg4NCwweDA0LDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg4NTcwLCAwLCB7MHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDAwLDB4MzIsMHgwOCB9IH0sCi17ICAxNiwgMHg4NTkwLCAwLCB7MHgwZiwweDg0LDB4ODMsMHhhMCwweDA0LDB4YzgsMHgwNCwweDNlLDB4MDAsMHg4MywweDgwLDB4MDEsMHgyMCwweDAwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWEwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHgwMCwweDAzLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDEwLDB4NGUsMHg4MCwweDEzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg4NWIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDkwLDB4YTMsMHg4MCB9IH0sCi17ICAxNiwgMHg4NWMwLCAwLCB7MHgwYiwweGU0LDB4MDIsMHgyOCwweDAwLDB4Y2EsMHgwMCwweDJmLDB4ODAsMHg0YSwweGEwLDB4MTMsMHhhOCwweDAwLDB4YWEsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWQwLCAwLCB7MHgzNiwweDgxLDB4MGIsMHhhMCwweDAyLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAzLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweGMwLDB4MjAsMHhkMCB9IH0sCi17ICAxNiwgMHg4NWYwLCAwLCB7MHgwYiwweDM0LDB4MDIsMHg4YywweDAwLDB4OGIsMHgwMCwweDJjLDB4ZjAsMHg4YiwweDE4LDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjAwLCAwLCB7MHg2MCwweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwMiwweDgzLDB4MDAsMHgyOCwweGMxLDB4MGEsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFlLDB4MDAsMHhiNCwweDBiLDB4NjksMHhjMCB9IH0sCi17ICAxNiwgMHg4NjIwLCAwLCB7MHgwOSwweDU4LDB4MDYsMHgxZSwweDgwLDB4OTcsMHgxMCwweDJmLDB4YzIsMHg0OCwweDcwLDB4ODIsMHg5YywweDgwLDB4YTcsMHgwOCB9IH0sCi17ICAxNiwgMHg4NjMwLCAwLCB7MHgyNSwweGNjLDB4MGIsMHg3MCwweDAyLDB4MWUsMHg4MSwweDg3LDB4YTIsMHhhYiwweGM0LDB4MDgsMHg3MywweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4MTAsMHhkYywweDg0LDB4MjEsMHhlMCB9IH0sCi17ICAxNiwgMHg4NjUwLCAwLCB7MHgwZiwweDc4LDB4NDIsMHg5ZiwweDAyLDB4YzcsMHg4OCwweDNkLDB4ZTAsMHgyZiwweDcxLDB4MDMsMHg0ZSwweDAwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHg4NjYwLCAwLCB7MHgyMSwweGUyLDB4MGYsMHg3OCwweDgzLDB4OWUsMHg0OSwweGNmLDB4ZDAsMHgzOSwweGU4LDB4MGUsMHg3OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg4NjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0ZCwweGFjLDB4NDAsMHhjYSwweDAwLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjgwLCAwLCB7MHg4ZiwweDMwLDB4MjMsMHhlYywweGE4LDB4ZWIsMHg0MCwweDNjLDB4YzAsMHgwZiwweDk2LDB4NDMsMHhlZCwweDgwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjkwLCAwLCB7MHgzZSwweGQ4LDB4OGYsMHhiMSwweDQzLDB4ZWQsMHg4MCwweGZiLDB4MjAsMHgzNiwweGNhLDB4MGYsMHhiMCwweGEzLDB4ODIsMHgwNiB9IH0sCi17ICAxNiwgMHg4NmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4ODAsMHhmYywweDgwLDB4MzEsMHhlMCB9IH0sCi17ICAxNiwgMHg4NmIwLCAwLCB7MHgwNSwweGFhLDB4MTAsMHhmZSwweDQ0LDB4ZmYsMHg5MCwweDNmLDB4ZTEsMHhjZiwweGY5LDB4MTcsMHgzZiwweDIwLDB4ZDcsMHg4MCB9IH0sCi17ICAxNiwgMHg4NmMwLCAwLCB7MHg4YiwweGU0LDB4MGYsMHhmOCwweDAzLDB4M2UsMHgzMCwweGZmLDB4ODAsMHgzNywweGUwLDB4MGYsMHhmOCwweDAwLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhiZCwweDEwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg4NmUwLCAwLCB7MHgwOCwweDRhLDB4MDIsMHhkYywweGMwLDB4YjcsMHgwMCwweDJkLDB4YzIsMHgwYywweGQzLDB4MDIsMHgxYywweDgwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmYwLCAwLCB7MHgyOSwweGMwLDB4NGIsMHg3MiwweDAyLDB4MWMsMHgwMCwweGI3LDB4MDEsMHgyMSwweGMwLDB4MGIsMHhmMCwweDEyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHg4NzAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4OTAsMHgzNCwweDAwLDB4MjEsMHg4MCB9IH0sCi17ICAxNiwgMHg4NzEwLCAwLCB7MHgwOSwweDcwLDB4MDAsMHg1YywweDBjLDB4YjcsMHgwMCwweDJkLDB4YzQsMHgwOCwweDUwLDB4MWEsMHgwYywweDAwLDB4OTcsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzIwLCAwLCB7MHgyMSwweGMwLDB4NGIsMHgzMCwweDAyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyNSwweGMwLDB4MGIsMHg3MCwweDAyLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMCwweDAwLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzQwLCAwLCB7MHgwOCwweDNlLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDBjLDB4ZTAsMHgyYiwweGIwLDB4MDIsMHgwYywweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzUwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgxMCwweGIzLDB4MDAsMHgyMCwweGQ2LDB4MDMsMHgzMCwweDAyLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHg4NzYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhmYiwweDAwLDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzcwLCAwLCB7MHgwNSwweGJlLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MjAsMHgwYywweGIwLDB4MDMsMHgzYywweDAwLDB4ZDksMHg4MCB9IH0sCi17ICAxNiwgMHg4NzgwLCAwLCB7MHgzMywweGMwLDB4OGIsMHhmMCwweDAzLDB4M2MsMHgwMCwweGZmLDB4MDAsMHgzNywweGUwLDB4MGYsMHhmMCwweDAzLDB4NmEsMHgwNCB9IH0sCi17ICAxNiwgMHg4NzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2EwLCAwLCB7MHgwZiwweGE0LDB4MjMsMHhjYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4ODEsMHgwOCwweDkwLDB4MDMsMHhlYywweDAwLDB4ZTksMHgxNCB9IH0sCi17ICAxNiwgMHg4N2IwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2MwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDAwLDB4MzcsMHg4MCB9IH0sCi17ICAxNiwgMHg4N2QwLCAwLCB7MHgwZiwweGZhLDB4MDMsMHhmYywweDAwLDB4Y2YsMHgwMCwweDNmLDB4OTAsMHgwNiwweGRjLDB4MjMsMHgzYywweDAwLDB4ZmQsMHgxMCB9IH0sCi17ICAxNiwgMHg4N2UwLCAwLCB7MHgzMywweGMwLDB4MGYsMHhmMCwweDBiLDB4M2MsMHgwMCwweDQzLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHg4N2YwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDZjLDB4MDksMHhiYiwweDE5LDB4MjIsMHgzMiB9IH0sCi17ICAxNiwgMHg4ODAwLCAwLCB7MHgwYiwweGJlLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwMCwweDJjLDB4OTAsMHgwZCwweGI4LDB4MDIsMHhhYywweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODEwLCAwLCB7MHhmMiwweGMwLDB4MGIsMHhiMCwweDEyLDB4YWMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MGIsMHhiMCwweDAzLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHg4ODIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MTAsMHhiMywweDAwLDB4MjYsMHgyMCB9IH0sCi17ICAxNiwgMHg4ODMwLCAwLCB7MHgwYiwweDkwLDB4MTIsMHhlYywweDAxLDB4OGIsMHgwMCwweDJhLDB4YzIsMHgwYSwweDkwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODQwLCAwLCB7MHhhMiwweGMwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDEsMHhiMywweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODYwLCAwLCB7MHgwYiwweDAwLDB4MDIsMHg4YywweDAwLDB4ODMsMHgwMCwweDJlLDB4YzAsMHgwYiwweDM0LDB4MDIsMHg4YywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODcwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGQsMHgwMCwweGEzLDB4MDAsMHhhMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHg4ODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhiYiwweDA0LDB4MzYsMHg4MCB9IH0sCi17ICAxNiwgMHg4ODkwLCAwLCB7MHgwZiwweGIyLDB4MDIsMHhmYywweDAyLDB4Y2YsMHgwMiwweDM4LDB4YzAsMHgwZSwweGYwLDB4MDMsMHgzYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGEwLCAwLCB7MHgyMywweGMwLDB4MGYsMHhmMCwweDAzLDB4M2QsMHgwMiwweGVmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDQzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHg4OGIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGMwLCAwLCB7MHgwZiwweGY0LDB4MjMsMHg3YywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZCwweGQwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGQwLCAwLCB7MHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHg4OCwweGRmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YTgsMHgwNiB9IH0sCi17ICAxNiwgMHg4OGUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4NTAsMHhjZSwweDEyLDB4MzMsMHhkMCB9IH0sCi17ICAxNiwgMHg4OGYwLCAwLCB7MHg0YywweDg2LDB4ODMsMHgzMCwweDgwLDB4NWYsMHg2OCwweDMzLDB4YzQsMHgwZiwweGYzLDB4ODMsMHgzYywweGMwLDB4Y2MsMHgzOCB9IH0sCi17ICAxNiwgMHg4OTAwLCAwLCB7MHhiMywweDA4LDB4MGMsMHhjNiwweDAzLDB4ZjEsMHhhMCwweGZmLDB4MDAsMHgzMywweDI0LDB4MGMsMHhjMiwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVjLDB4ODAsMHhkMiwweDIwLDB4MjMsMHhkOCB9IH0sCi17ICAxNiwgMHg4OTIwLCAwLCB7MHgwZCwweDk2LDB4MDIsMHg4OCwweDYwLDB4YWYsMHg0MCwweDIzLDB4ZGMsMHgwYiwweGY2LDB4MDIsMHgzYywweGMyLDB4ODgsMHg2MCB9IH0sCi17ICAxNiwgMHg4OTMwLCAwLCB7MHgyMiwweDUyLDB4MDgsMHg5MSwweDIyLDB4ZTEsMHgwMCwweGI3LDB4MjQsMHhhMiwweDQ4LDB4OGEsMHg4NCwweDgyLDB4NjAsMHgwNCB9IH0sCi17ICAxNiwgMHg4OTQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDAwLDB4ZTAsMHhjNCB9IH0sCi17ICAxNiwgMHg4OTUwLCAwLCB7MHgwYSwweDAwLDB4MDIsMHgwNCwweDgwLDB4YTMsMHgyMCwweGE4LDB4YzAsMHgxYiwweDMwLDB4MGEsMHgwYywweDAwLDB4YTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTYwLCAwLCB7MHgyOCwweDBjLDB4MDksMHgwMiwweDAyLDB4YzQsMHg4MCwweGIzLDB4MWMsMHgyMiwweDA4LDB4MTksMHgwMywweDAyLDB4ZTIsMHgxMSB9IH0sCi17ICAxNiwgMHg4OTcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE0LDB4MDAsMHg5OSwweDgwLDB4NjIsMHhjMCB9IH0sCi17ICAxNiwgMHg4OTgwLCAwLCB7MHgwYiwweGEwLDB4MzIsMHhhNCwweDUxLDB4YWIsMHgwMCwweDJhLDB4YzAsMHg4YiwweGIwLDB4MDAsMHgwYywweDAwLDB4YTksMHhjMCB9IH0sCi17ICAxNiwgMHg4OTkwLCAwLCB7MHgyYSwweDIxLDB4MDgsMHhiOCwweDIyLDB4ZTIsMHgwMCwweGJiLDB4MDAsMHgyMiwweDg0LDB4MWIsMHhhOCwweDQyLDB4NzAsMHgwNCB9IH0sCi17ICAxNiwgMHg4OWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUyLDB4MDAsMHhjYiwweGM5LDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHg4OWIwLCAwLCB7MHgwZSwweDhiLDB4MTMsMHgyMiwweDEwLDB4ZGIsMHgwMSwweDMyLDB4YzAsMHgwZiwweGIwLDB4MGIsMHgyYywweDAwLDB4NjgsMHg4MSB9IH0sCi17ICAxNiwgMHg4OWMwLCAwLCB7MHgzYSwweDIyLDB4MmMsMHg4OCwweDIzLDB4ZTMsMHgwMCwweGZiLDB4MDAsMHgzMCwweDMwLDB4OGQsMHg5YywweDgzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg4OWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJhLDB4NDAsMHhmNywweDA0LDB4M2UsMHhjMiB9IH0sCi17ICAxNiwgMHg4OWUwLCAwLCB7MHgwZCwweGQ4LDB4MjMsMHhkOCwweDAwLDB4N2IsMHgwMCwweDM3LDB4YzAsMHgwZiwweDcwLDB4MzMsMHhmYywweDEwLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWYwLCAwLCB7MHgzNSwweGMwLDB4OGYsMHhjMCwweDAzLDB4ZjQsMHgwMCwweGY3LDB4MDIsMHgzZiwweGUwLDB4MGUsMHg4MCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDgxLDB4MjAsMHhjOCwweDA4LDB4MzAsMHhjMCB9IH0sCi17ICAxNiwgMHg4YTEwLCAwLCB7MHgwYywweDAwLDB4ODMsMHgyNCwweDQwLDB4YzMsMHg4OSwweDNhLDB4YzAsMHgwZSwweGIwLDB4MGIsMHgyYywweDA4LDB4YzksMHg0OCB9IH0sCi17ICAxNiwgMHg4YTIwLCAwLCB7MHg3MiwweDU0LDB4MGYsMHg5MSwweDAzLDB4ZWQsMHgwMiwweGViLDB4OGEsMHgzYSwweDYyLDB4OGMsMHg4MCwweDBiLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHg4YTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJiLDB4MDQsMHg4OCwweDQwLDB4YTMsMHhjMiB9IH0sCi17ICAxNiwgMHg4YTQwLCAwLCB7MHgwMiwweGFlLDB4MTIsMHgyNywweDQyLDB4OGYsMHg0NCwweDIzLDB4YzIsMHgwYiwweGY0LDB4MDIsMHgzZCwweDAwLDB4MGEsMHg0MCB9IH0sCi17ICAxNiwgMHg4YTUwLCAwLCB7MHgyMiwweGUwLDB4MGIsMHhiNSwweDAyLDB4ZWMsMHgyMCwweDhmLDB4NDQsMHhhMiwweDQwLDB4OGQsMHhiZCwweDIzLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ5LDB4NDAsMHg4MywweDgxLDB4MjQsMHhjMSB9IH0sCi17ICAxNiwgMHg4YTcwLCAwLCB7MHgwOCwweDI4LDB4MDIsMHgwMSwweDAwLDB4OTMsMHgwMCwweGEwLDB4ZTgsMHgwYSwweDMwLDB4ODIsMHg4ZiwweDYwLDB4YjMsMHg5MCB9IH0sCi17ICAxNiwgMHg4YTgwLCAwLCB7MHg2MCwweGI4LDB4MGIsMHgyOCwweDEyLDB4NGEsMHgwMCwweDkzLDB4MDAsMHgyMCwweDkwLDB4MDksMHgyMCwweDAyLDB4NzgsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDIsMHg4NywweGE4LDB4MjUsMHhlMCB9IH0sCi17ICAxNiwgMHg4YWEwLCAwLCB7MHgwYSwweDdiLDB4MDIsMHgxYSwweDA0LDB4ODcsMHg4MCwweDIxLDB4ZTQsMHgwYiwweDc4LDB4ODIsMHg4ZSwweDAyLDB4OTYsMHg5MSB9IH0sCi17ICAxNiwgMHg4YWIwLCAwLCB7MHgyMSwweDIxLDB4MGIsMHg2OSwweDQwLDB4ZGIsMHg0MCwweDk3LDB4OTIsMHgyMywweGEwLDB4ODksMHg1OCwweDgyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDI1LDB4ODIsMHhjMywweDAwLDB4MzQsMHhjMCB9IH0sCi17ICAxNiwgMHg4YWQwLCAwLCB7MHgwYywweDliLDB4NDMsMHgwOCwweGQwLDB4ZDMsMHgyMCwweDM4LDB4YzAsMHgwZSwweGIwLDB4MDMsMHg4YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWUwLCAwLCB7MHgyMCwweDgwLDB4MDcsMHgxMCwweDAzLDB4ZTAsMHgwMCwweGQzLDB4MTAsMHgzOCwweDE4LDB4MGQsMHgzMCwweDAzLDB4NTIsMHgwMiB9IH0sCi17ICAxNiwgMHg4YWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGI0LDB4MDAsMHg3ZiwweDIwLDB4MWIsMHhkMCB9IH0sCi17ICAxNiwgMHg4YjAwLCAwLCB7MHgwZiwweGYxLDB4MDMsMHhmOCwweDQwLDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGI0LDB4MDMsMHg3YywweDIwLDB4Y2YsMHgwNCB9IH0sCi17ICAxNiwgMHg4YjEwLCAwLCB7MHhiZiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZTQsMHgxMCwweGVmLDB4MTgsMHgzZCwweGMwLDB4MGYsMHhlMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg4YjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU4LDB4MDAsMHhlMywweDAwLDB4YjIsMHhjNCB9IH0sCi17ICAxNiwgMHg4YjMwLCAwLCB7MHgwYywweGEwLDB4MDMsMHgyNCwweDAwLDB4ZGIsMHg2OCwweDMyLDB4YzgsMHgwYywweGI0LDB4MDMsMHhlYywweDgwLDB4YzgsMHg4MCB9IH0sCi17ICAxNiwgMHg4YjQwLCAwLCB7MHhiNiwweGUwLDB4MGMsMHhhMCwweDAzLDB4MmUsMHgwMCwweGNiLDB4ZTAsMHhiMiwweDYwLDB4MGMsMHhiOCwweDBiLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDIsMHg4NywweDAwLDB4YTEsMHhjOCB9IH0sCi17ICAxNiwgMHg4YjYwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHgxYywweDA4LDB4OTcsMHgwMiwweDIxLDB4ZDQsMHgwOCwweDc0LDB4MDIsMHhkYywweGMwLDB4MDcsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjcwLCAwLCB7MHgyMSwweGMwLDB4ODgsMHg3MCwweDAyLDB4MTgsMHgwMCwweDgzLDB4MDgsMHgyMSwweGMwLDB4MDgsMHg1MCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHg4YjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MjAsMHhhZCwweDgwLDB4MjksMHhlMCB9IH0sCi17ICAxNiwgMHg4YjkwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHgxZSwweDAwLDB4OTcsMHhiMCwweDIxLDB4ZTgsMHgwOCwweDc4LDB4MDIsMHhkZSwweDEwLDB4MTUsMHg4MCB9IH0sCi17ICAxNiwgMHg4YmEwLCAwLCB7MHgyMSwweGExLDB4MDgsMHg0OCwweDAyLDB4NWUsMHgwMCwweDg3LDB4YTQsMHg2NSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNmLDB4MTAsMHg4MSwweDcwLDB4YTgsMHhjMCB9IH0sCi17ICAxNiwgMHg4YmMwLCAwLCB7MHgzOCwweDMwLDB4MGEsMHgwZCwweDAwLDB4OTMsMHgwMCwweGEwLDB4YzEsMHgyOCwweDMwLDB4MDIsMHhjYywweDAyLDB4ODMsMHg4OCB9IH0sCi17ICAxNiwgMHg4YmQwLCAwLCB7MHgyMCwweGUwLDB4MzgsMHgzNCwweDBhLDB4NGQsMHg3MiwweDgzLDB4MDAsMHgyNCwweGU4LDB4MjgsMHgzNCwweDgyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHg4YmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJhLDB4NDAsMHhlZSwweGMwLDB4YmEsMHg4MCB9IH0sCi17ICAxNiwgMHg4YmYwLCAwLCB7MHgwYywweGUwLDB4MDMsMHgzOSwweDEwLDB4ZGEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MDMsMHhlOCwweDAwLDB4ZGUsMHhjOCB9IH0sCi17ICAxNiwgMHg4YzAwLCAwLCB7MHgzMywweGEwLDB4MGMsMHhlMCwweDAzLDB4N2IsMHgwMCwweGNhLDB4MDAsMHgzNywweGIxLDB4MGMsMHhlNCwweDIzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHg4YzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGMxLDB4MDAsMHhmOCwweDAwLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzIwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhjMCwweDIwLDB4MzgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMiB9IH0sCi17ICAxNiwgMHg4YzMwLCAwLCB7MHgzYSwweDI0LDB4MGYsMHg4MCwweDgzLDB4YTAsMHgwMSwweGY4LDB4MDQsMHgzYSwweDA0LDB4MGQsMHg4MCwweDEzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4NDQsMHhjMSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHg4YzUwLCAwLCB7MHgwYywweDkwLDB4MzIsMHgyNCwweDBjLDB4YzEsMHgwNiwweDM4LDB4NDAsMHgwZCwweDkwLDB4MDksMHgwNCwweDAwLDB4ZDksMHgwMCB9IH0sCi17ICAxNiwgMHg4YzYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHgxOCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDEsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHg4YzcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDYsMHg4OSwweDAwLDB4MmEsMHg1MCB9IH0sCi17ICAxNiwgMHg4YzgwLCAwLCB7MHgwOCwweDk0LDB4MGEsMHgyNCwweDAwLDB4ODksMHg0MiwweDIyLDB4NTAsMHgwYSwweDkwLDB4MTIsMHgyNSwweDAwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHg4YzkwLCAwLCB7MHgyZSwweDUwLDB4MGIsMHg5YywweDBhLDB4MjUsMHgxMCwweGI5LDB4MDAsMHgyZSwweDUwLDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2EwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MjAsMHg4OSwweDAwLDB4MjAsMHg0MiB9IH0sCi17ICAxNiwgMHg4Y2IwLCAwLCB7MHgwOCwweDEwLDB4YzIsMHhhYywweDEwLDB4ODksMHgwOCwweDJhLDB4NDIsMHgwOSwweDkwLDB4MDIsMHgyNCwweDIwLDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2MwLCAwLCB7MHgyZSwweDQyLDB4MGEsMHhiMSwweDgyLDB4MmMsMHgyMCwweGI5LDB4MDAsMHg2ZSwweDQyLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHg4MywweDAwLDB4MjgsMHg0OCB9IH0sCi17ICAxNiwgMHg4Y2UwLCAwLCB7MHgwOCwweDEyLDB4NjIsMHg4YywweDgwLDB4ODEsMHgwMCwweDIwLDB4NDAsMHgwMiwweDEwLDB4MDIsMHg4NCwweDgwLDB4ODEsMHgyMCB9IH0sCi17ICAxNiwgMHg4Y2YwLCAwLCB7MHgyYywweDQ5LDB4MGIsMHgxMiwweDA2LDB4MDQsMHg4NCwweGIzLDB4MDIsMHg2YywweDQwLDB4MGIsMHgxMiwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg4ZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDQxLDB4ZTAsMHhjOCwweDc4LDB4MzAsMHgxNCB9IH0sCi17ICAxNiwgMHg4ZDEwLCAwLCB7MHg0YywweDA1LDB4MTMsMHhhMSwweDQyLDB4YzAsMHg3OCwweDM4LDB4MWUsMHgwZCwweDg3LDB4ODMsMHgwMSwweDQwLDB4ZDAsMHg1MCB9IH0sCi17ICAxNiwgMHg4ZDIwLCAwLCB7MHgzYywweDE0LDB4MGUsMHgwNSwweDAzLDB4MDEsMHg0MCwweGY4LDB4NzgsMHgzYywweDE0LDB4MGYsMHgwNSwweDAzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHg4ZDMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4MGUsMHg0NCB9IH0sCi17ICAxNiwgMHg4ZDQwLCAwLCB7MHgyZiwweGYxLDB4MDMsMHg3NCwweDQwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NCwweDQwLDB4ZmQsMHgxMCB9IH0sCi17ICAxNiwgMHg4ZDUwLCAwLCB7MHgzZiwweDQ0LDB4MGYsMHhkMSwweDAxLDB4ZjQsMHg0MCwweGY5LDB4MDEsMHgzZiwweGMwLDB4MGYsMHhkMSwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHg4ZDYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4MjIsMHhlOSwweDg4LDB4YjIsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZDcwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyNCwweDE2LDB4YzksMHg4YywweDM2LDB4N2IsMHg4ZiwweDljLDB4ODMsMHhhNywweDkwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDgwLCAwLCB7MHgzZSwweDUwLDB4MDQsMHg5NCwweDEzLDB4MjQsMHg1MCwweGM5LDB4ZTAsMHgzZSwweDUwLDB4MGYsMHg5MCwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUyLDB4ODAsMHg4OCwweGEwLDB4MjIsMHgyOCB9IH0sCi17ICAxNiwgMHg4ZGEwLCAwLCB7MHgwYiwweDhhLDB4MDIsMHgyYSwweDgwLDB4ODgsMHhhNCwweDIyLDB4MzAsMHgwOCwweDhlLDB4MGEsMHgyMiwweDAyLDB4ODgsMHhhMCB9IH0sCi17ICAxNiwgMHg4ZGIwLCAwLCB7MHgyZSwweDI4LDB4ODgsMHhhYSwweDEyLDB4MjIsMHg5MCwweDg4LDB4ZjQsMHgyZSwweDIwLDB4MGIsMHhjOCwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGQ0LDB4MjAsMHhhNSwweDA4LDB4MjEsMHg0MiB9IH0sCi17ICAxNiwgMHg4ZGQwLCAwLCB7MHgwYiwweDUwLDB4ODIsMHgxNCwweDMxLDB4ODUsMHgwOCwweDI1LDB4NDAsMHgwYSwweDUwLDB4MjIsMHg5NCwweDQwLDB4ODUsMHgwOCB9IH0sCi17ICAxNiwgMHg4ZGUwLCAwLCB7MHg2ZCwweDQwLDB4MDgsMHg1MCwweDAyLDB4NTQsMHgwMiwweDk1LDB4MDAsMHgyZCwweDQ4LDB4MGIsMHg1MCwweDgyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHg4ZGYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweDg0LDB4MDAsMHg4ZCwweDEwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZTAwLCAwLCB7MHgwYiwweGQwLDB4MDAsMHgzNCwweDAxLDB4OGQsMHgwMCwweDIzLDB4NDEsMHg1OCwweGQwLDB4MDIsMHgzNCwweDAwLDB4OGQsMHgwOCB9IH0sCi17ICAxNiwgMHg4ZTEwLCAwLCB7MHgyZiwweDUwLDB4MDgsMHhkMiwweDAyLDB4NzQsMHg4MCwweDlkLDB4MDAsMHgyZiwweDQ4LDB4MGIsMHhkYywweDAyLDB4NDYsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZTIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU3LDB4NDAsMHhlOSwweGMwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZTMwLCAwLCB7MHgwZiwweDkwLDB4MDksMHgyNiwweDAwLDB4YzksMHgwNCwweDM2LDB4NDAsMHgxZiwweDkwLDB4MjMsMHhhNCwweDA4LDB4YzksMHg0MCB9IH0sCi17ICAxNiwgMHg4ZTQwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5NCwweDBiLDB4NjQsMHgyMCwweGQ5LDB4MDIsMHgzZSwweDQxLDB4MGYsMHg5NCwweDAzLDB4NjgsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZTYwLCAwLCB7MHgwZiwweDE0LDB4MDMsMHhjNSwweDA4LDB4ZjksMHgwMCwweDNlLDB4NDAsMHgxZiwweDkwLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTcwLCAwLCB7MHgzYywweDQwLDB4YWYsMHg5OCwweDAzLDB4ODYsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxMCwweDBiLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGIwLDB4MDAsMHhkYywweDQwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTkwLCAwLCB7MHgwZiwweGMwLDB4MDMsMHgzMSwweDAyLDB4YzQsMHgwNCwweGIxLDB4MDAsMHgzYywweDQwLDB4MDMsMHgxMCwweDAwLDB4ZmMsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZWEwLCAwLCB7MHgzMywweDAwLDB4MGMsMHhjNCwweDAzLDB4YjEsMHgwMCwweGNjLDB4MDAsMHhiMywweDAwLDB4MGMsMHhjNCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZWIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDgwLDB4MjIsMHhhMCB9IH0sCi17ICAxNiwgMHg4ZWMwLCAwLCB7MHgwYiwweGEwLDB4MDIsMHgyYSwweDAwLDB4OGEsMHg4NCwweDIyLDB4YTEsMHgwOCwweGEwLDB4MDIsMHgyOCwweDA4LDB4YmEsMHgwMSB9IH0sCi17ICAxNiwgMHg4ZWQwLCAwLCB7MHgyMiwweDgwLDB4MDgsMHhhMCwweDJiLDB4MjgsMHgwMCwweDhhLDB4ODAsMHgyYSwweDgwLDB4MDgsMHhlMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDIsMHg5YiwweDgxLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHg4ZWYwLCAwLCB7MHg4YiwweDM4LDB4MDYsMHhjZSwweDAwLDB4OTMsMHg4MCwweDIwLDB4YzAsMHgwOCwweDM4LDB4MDIsMHgwYywweDAwLDB4YjMsMHg4MCB9IH0sCi17ICAxNiwgMHg4ZjAwLCAwLCB7MHg2YywweGUwLDB4MGEsMHhiMCwweDAyLDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyMCwweGUwLDB4MDgsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDEwLDB4MDQsMHg4MCwweDA4LDB4MjEsMHgwMiB9IH0sCi17ICAxNiwgMHg4ZjIwLCAwLCB7MHg0YiwweDQ0LDB4MDYsMHhkMCwweDIwLDB4OTAsMHgwOCwweDIxLDB4MDIsMHg4MCwweDQ0LDB4MDIsMHgxMCwweDAwLDB4YjQsMHhjMCB9IH0sCi17ICAxNiwgMHg4ZjMwLCAwLCB7MHgyZCwweDEwLDB4NDgsMHg0MCwweDAyLDB4MDAsMHgwMCwweDk0LDB4ODksMHgyOSwweDMwLDB4MDgsMHg0MCwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDMyLDB4MDAsMHhkNiwweDgwLDB4MzEsMHhhMCB9IH0sCi17ICAxNiwgMHg4ZjUwLCAwLCB7MHgwZiwweGU4LDB4MGIsMHhjYSwweDAwLDB4ZDYsMHg4MCwweDIzLDB4YTAsMHgwNCwweGY4LDB4MGIsMHgxYSwweDAwLDB4ZmYsMHg4MCB9IH0sCi17ICAxNiwgMHg4ZjYwLCAwLCB7MHhiZiwweGEwLDB4MmUsMHhjOCwweDEzLDB4ZGEsMHgwMiwweDVlLDB4ODAsMHg3MywweGEwLDB4MmMsMHg3OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg4ZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZjgwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZSwweDgwLDB4MDMsMHhlNCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjkwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgwMSwweGU5LDB4MDQsMHgzNiwweDQwLDB4MGYsMHg4MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHg4ZmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhjZCwweDgwLDB4MzMsMHg2MCB9IH0sCi17ICAxNiwgMHg4ZmIwLCAwLCB7MHgwYywweGQ4LDB4NDMsMHgzNiwweDAwLDB4Y2QsMHg4MCwweDMzLDB4NjAsMHgwYywweGQ5LDB4MjMsMHhiZSwweDAwLDB4NGQsMHg4MCB9IH0sCi17ICAxNiwgMHg4ZmMwLCAwLCB7MHgzMywweDYwLDB4MDgsMHhmOCwweDBiLDB4M2UsMHgwMCwweGZkLDB4ODQsMHgzZiwweDYwLDB4MGYsMHhmOSwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDkwLDB4MDQsMHhkZSwweDAwLDB4MjMsMHg4MCB9IH0sCi17ICAxNiwgMHg4ZmUwLCAwLCB7MHgwOCwweDYwLDB4MDIsMHhiOCwweDIwLDB4OGUsMHgwNCwweDIzLDB4ODAsMHgwOCwweDY4LDB4MDIsMHgxMCwweDAwLDB4OGUsMHgyMCB9IH0sCi17ICAxNiwgMHg4ZmYwLCAwLCB7MHgyMywweDgyLDB4MDgsMHg0MCwweDAyLDB4MTIsMHgwMCwweGY2LDB4MDAsMHgyZCwweDgwLDB4MGIsMHg0MSwweGEwLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5MDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHg4NCwweDAwLDB4MjEsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDEwLCAwLCB7MHgwOCwweDQxLDB4MDIsMHg1MCwweDQwLDB4OTQsMHgwMCwweDIxLDB4MDAsMHgwYSwweDUyLDB4MDIsMHhkOCwweDAwLDB4ODUsMHgwMiB9IH0sCi17ICAxNiwgMHg5MDIwLCAwLCB7MHgyNSwweDA0LDB4MDgsMHg0MCwweDIyLDB4MTgsMHgwOCwweGI0LDB4MDAsMHgyZCwweDEwLDB4MGIsMHg3OCwweDQwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGVlLDB4MjIsMHg5MywweDAwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHg5MDQwLCAwLCB7MHgwOCwweDM4LDB4MDIsMHhlYywweDAwLDB4OTMsMHgwMCwweDIwLDB4YzEsMHgyYSwweDIwLDB4MDIsMHg2NCwweDAyLDB4ODIsMHgxMCB9IH0sCi17ICAxNiwgMHg5MDUwLCAwLCB7MHgyNCwweGYwLDB4MGEsMHgzYywweDQyLDB4MjQsMHgyOCwweGIzLDB4MDAsMHgyYywweGUwLDB4MGIsMHg4OCwweDgyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHg5MDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFkLDB4MDAsMHhjYiwweDAwLDB4YjIsMHhjMCB9IH0sCi17ICAxNiwgMHg5MDcwLCAwLCB7MHhhYywweGJlLDB4MDMsMHg2ZSwweDAyLDB4ZGIsMHgwMCwweGIyLDB4YzAsMHgxZSwweGEwLDB4MDMsMHhlNCwweDAwLDB4Y2EsMHgxMSB9IH0sCi17ICAxNiwgMHg5MDgwLCAwLCB7MHhiNiwweGQwLDB4YWMsMHhiYywweDAzLDB4MjQsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4Y2YsMHg4NCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5MDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGUwLDB4NDAsMHhmOCwweDAwLDB4M2MsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGEwLCAwLCB7MHgyZiwweDgyLDB4MDMsMHhhMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgxZCwweDkwLDB4MTMsMHhhOCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5MGIwLCAwLCB7MHgzYSwweDAwLDB4ODEsMHg4MywweDQzLDB4ZTgsMHgwMCwweGU4LDB4MDMsMHgzZSwweDA0LDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGUwLDB4MDAsMHhkNiwweDAwLDB4MzcsMHg4MCB9IH0sCi17ICAxNiwgMHg5MGQwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhmOCwweDAwLDB4Y2UsMHgwMCwweDMzLDB4ODAsMHgwZCwweGEwLDB4MTMsMHgyMCwweDA4LDB4Y2UsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGUwLCAwLCB7MHgzMywweDgyLDB4MGMsMHg0MCwweDczLDB4MzAsMHgxOCwweGNlLDB4MDAsMHgxZiwweDgwLDB4NGYsMHhjMSwweDQzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHg5MGYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDdjLDB4MDAsMHg4ZCwweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHg5MTAwLCAwLCB7MHgwYSwweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwMCwweDIzLDB4NDAsMHgwOCwweGQ0LDB4ODAsMHgzZSwweDQyLDB4OGQsMHg0MCB9IH0sCi17ICAxNiwgMHg5MTEwLCAwLCB7MHgyMywweDQwLDB4MDgsMHhmMCwweDAyLDB4M2UsMHg0MCwweDhkLDB4MDAsMHgwZiwweDQwLDB4MGIsMHhmNCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5MTIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5OSwweDAwLDB4YTYsMHg0MCB9IH0sCi17ICAxNiwgMHg5MTMwLCAwLCB7MHgwOCwweDkwLDB4MDYsMHhlNCwweDAwLDB4OTEsMHgwMCwweDIwLDB4NDAsMHg4OCwweDAwLDB4MDIsMHgyNCwweDA4LDB4ODAsMHg0MCB9IH0sCi17ICAxNiwgMHg5MTQwLCAwLCB7MHgyMCwweDQwLDB4MGEsMHhiMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgwZSwweDQwLDB4MGIsMHg4NCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHg5MTYwLCAwLCB7MHgwYSwweDIxLDB4MDYsMHhjOCwweDAxLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDMyLDB4ODIsMHgwOCwweDA4LDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTcwLCAwLCB7MHg2MCwweDgwLDB4MGEsMHgwMCwweDEyLDB4MDgsMHg4MCwweDgyLDB4MDAsMHgyYywweDgwLDB4MGIsMHgzMCwweDBhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHg5MTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTkwLCAwLCB7MHgwYywweDg0LDB4MjMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZCwweDgyLDB4MGIsMHgyMCwweDAyLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MWEwLCAwLCB7MHgzMiwweDAwLDB4MGUsMHgwMCwweDAzLDB4MjAsMHgwMiwweGM4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHg5MWIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhiZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHg5MWMwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweGJmLDB4YzAsMHg4ZiwweGIwLDB4MDMsMHhmYywweDA4LDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHg5MWQwLCAwLCB7MHgzZiwweGMwLDB4MGQsMHhmMCwweDAzLDB4ZWQsMHgwMCwweGZmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHg5MWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGYwLDB4OGMsMHhmZiwweDAwLDB4M2QsMHg2MCB9IH0sCi17ICAxNiwgMHg5MWYwLCAwLCB7MHgyYywweGIyLDB4ODMsMHg3YywweDkwLDB4ZGYsMHgzOCwweDMxLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHgzYywweDAwLDB4ZmYsMHgyMCB9IH0sCi17ICAxNiwgMHg5MjAwLCAwLCB7MHgzZiwweGM0LDB4MGUsMHhmNCwweDAzLDB4N2MsMHgwMCwweGY0LDB4ODAsMHgzMywweDAwLDB4MGQsMHhmOCwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGUxLDB4MjAsMHhiYiwweDYyLDB4MmUsMHg0MiB9IH0sCi17ICAxNiwgMHg5MjIwLCAwLCB7MHgyOCwweGY0LDB4NDIsMHgzZSwweDQwLDB4OGYsMHg0NCwweDIyLDB4ZTAsMHgwYiwweGIwLDB4ODMsMHg3ZiwweDQ0LDB4YmYsMHhjMSB9IH0sCi17ICAxNiwgMHg5MjMwLCAwLCB7MHgyZCwweGRjLDB4MmEsMHhmNiwweDAyLDB4M2YsMHg0NSwweGI4LDB4ODAsMHgyMiwweDYxLDB4ODgsMHhiOCwweDAyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHg5MjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM1LDB4ODAsMHhiMiwweDE4LDB4MmUsMHhjOCB9IH0sCi17ICAxNiwgMHg5MjUwLCAwLCB7MHgyOSwweDMwLDB4MzIsMHgwYywweDA4LDB4YjMsMHgyMCwweDIwLDB4YzAsMHg0YiwweDkyLDB4MDIsMHgwYywweDAwLDB4YjMsMHg0MCB9IH0sCi17ICAxNiwgMHg5MjYwLCAwLCB7MHgyYywweGMwLDB4ODksMHgzNCwweDEyLDB4NGMsMHgwMCwweGIwLDB4MDAsMHgyNCwweGMxLDB4NDksMHgzMCwweDAyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHg5MjcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGE0LDB4MDAsMHhiYSwweDBjLDB4MmUsMHhlMCB9IH0sCi17ICAxNiwgMHg5MjgwLCAwLCB7MHhhOSwweGIwLDB4MDYsMHgyYywweDAwLDB4OGIsMHgwMCwweGEyLDB4YzAsMHgwYiwweDkwLDB4MDAsMHg2YywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjkwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHgzMCwweDAyLDB4NmMsMHgwMCwweGJhLDB4ODAsMHgyNiwweGYwLDB4MDgsMHhiMCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5MmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGVlLDB4MDAsMHhmYiwweGM0LDB4M2UsMHg3OCB9IH0sCi17ICAxNiwgMHg5MmIwLCAwLCB7MHgyZCwweGIwLDB4MDMsMHg2YywweDA4LDB4ZmIsMHgwMCwweDMyLDB4YzAsMHg4YiwweDI0LDB4ODMsMHgyYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5MmMwLCAwLCB7MHgzZSwweGMwLDB4OGYsMHhiMCwweDBiLDB4NmMsMHgwOCwweGIyLDB4ZTAsMHgxNiwweDYwLDB4OGQsMHhiMCwweDIzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg5MmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJlLDB4OTgsMHhmZiwweDQwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHg5MmUwLCAwLCB7MHgwZSwweDcwLDB4MDMsMHhkYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGUwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5MmYwLCAwLCB7MHgzZiwweGMwLDB4MGUsMHhmMCwweDAzLDB4YWMsMHgwMCwweGZlLDB4MDAsMHhiOSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFkLDB4MDAsMHhmYSwweDQwLDB4M2UsMHhkMCB9IH0sCi17ICAxNiwgMHg5MzEwLCAwLCB7MHgwZSwweGIyLDB4MDMsMHhlYywweDAwLDB4YzMsMHgwMCwweDNlLDB4YzAsMHgwYywweGEwLDB4MDMsMHgyYywweDAxLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzIwLCAwLCB7MHgzYywweGMwLDB4MGUsMHhiOCwweDAzLDB4ZWMsMHgwMCwweGRhLDB4MDAsMHgzYSwweGQwLDB4NGYsMHhiMCwweDIzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg5MzMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHhiYSwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHg5MzQwLCAwLCB7MHgwOCwweGY0LDB4MDcsMHhiYywweDE0LDB4ZGYsMHgwMCwweDNlLDB4YzAsMHgxYSwweGEwLDB4NTIsMHhiYywweDAwLDB4YmYsMHgwNCB9IH0sCi17ICAxNiwgMHg5MzUwLCAwLCB7MHgzZiwweGMwLDB4OGEsMHhmMCwweDAzLDB4YmMsMHgwMCwweGZhLDB4MDAsMHgyMiwweGM4LDB4MGYsMHhiMCwweDAzLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ4LDB4MDEsMHhiMSwweDAwLDB4NmMsMHhjMiB9IH0sCi17ICAxNiwgMHg5MzcwLCAwLCB7MHgwYSwweDMwLDB4NDIsMHhjYywweDAwLDB4ODMsMHgwNSwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAxLDB4YjMsMHgwNCB9IH0sCi17ICAxNiwgMHg5MzgwLCAwLCB7MHgyYywweGMwLDB4MGEsMHgzMCwweDIyLDB4OGMsMHgwMCwweDgwLDB4ODAsMHgyOCwweGMwLDB4MGIsMHgzMCwweDIyLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDgsMHhiNywweDgwLDB4NmYsMHhlMCB9IH0sCi17ICAxNiwgMHg5M2EwLCAwLCB7MHgxOCwweDc4LDB4MDIsMHg4ZSwweDQwLDB4YjcsMHg4MCwweDJkLDB4ZTAsMHgwYSwweDc4LDB4MDIsMHg5ZSwweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHg5M2IwLCAwLCB7MHgyOSwweGUxLDB4MGEsMHg3OCwweDAyLDB4OWUsMHgwMSwweGJjLDB4ODAsMHgyOSwweGU0LDB4MGIsMHg3OCwweDAyLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5M2MwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA5LDB4NDAsMHhmMSwweDIwLDB4M2MsMHhjNCB9IH0sCi17ICAxNiwgMHg5M2QwLCAwLCB7MHgwZSwweDM5LDB4MDIsMHhjYywweDAwLDB4YzMsMHgwMCwweDJjLDB4YzQsMHgwOCwweDkyLDB4MDMsMHg4YywweDg4LDB4YjMsMHgxMCB9IH0sCi17ICAxNiwgMHg5M2UwLCAwLCB7MHgyYywweGM0LDB4MGUsMHhiMCwweDA3LDB4OGMsMHgwMCwweGMyLDB4MDgsMHgzOCwweGMwLDB4MGYsMHgzMCwweDQzLDB4ZDIsMHgwMiB9IH0sCi17ICAxNiwgMHg5M2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MTAsMHhmYywweDAwLDB4N2YsMHhjMCB9IH0sCi17ICAxNiwgMHg5NDAwLCAwLCB7MHgwZiwweGYwLDB4ODMsMHhmYywweDIxLDB4ZGYsMHgwOCwweDNiLDB4YzAsMHg4ZiwweDkwLDB4MDEsMHhmYywweDIxLDB4ZmYsMHgwYyB9IH0sCi17ICAxNiwgMHg5NDEwLCAwLCB7MHgzZiwweGMyLDB4MGYsMHhmMSwweDAzLDB4ZWMsMHgwMCwweGVmLDB4MDAsMHg3NywweGMwLDB4MWUsMHhmMCwweDAzLDB4OTAsMHgwNiB9IH0sCi17ICAxNiwgMHg5NDIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU4LDB4MDEsMHhmOSwweDAwLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHg5NDMwLCAwLCB7MHgwZiwweGIyLDB4MDMsMHhlZSwweDkwLDB4ZGIsMHhlMSwweDNhLDB4YzAsMHg0ZCwweDM4LDB4MTMsMHgyZCwweDMwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NDQwLCAwLCB7MHgzZSwweGUwLDB4NGYsMHhiYSwweDQzLDB4MmMsMHg0MCwweGZhLDB4MDAsMHgzZiwweGMwLDB4OGMsMHhiMCwweDAzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NDUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHhiMSwweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg5NDYwLCAwLCB7MHgwYiwweDcxLDB4MDIsMHhjYywweDIwLDB4YTcsMHgyOCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MTMsMHg1YywweDA4LDB4YjcsMHgxMCB9IH0sCi17ICAxNiwgMHg5NDcwLCAwLCB7MHgyZCwweGM0LDB4NGIsMHgzNCwweDgzLDB4MWMsMHhjMSwweGI3LDB4MDIsMHgyZCwweGMwLDB4MWEsMHg3MCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MjAsMHhiNCwweGM0LDB4MjUsMHhhMiB9IH0sCi17ICAxNiwgMHg5NDkwLCAwLCB7MHgwYiwweDc4LDB4MDYsMHhkZSwweDAwLDB4ODMsMHg4MCwweDI5LDB4ZTAsMHgxYiwweGY4LDB4MDIsMHg1ZSwweDgwLDB4YTcsMHhhMCB9IH0sCi17ICAxNiwgMHg5NGEwLCAwLCB7MHgyZCwweGM4LDB4MGEsMHg3MiwweDAyLDB4MWUsMHgwMCwweGE2LDB4ODAsMHgyOCwweGUwLDB4MDgsMHg3OCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGVkLDB4MDAsMHhiMywweDQwLDB4MjQsMHhjMyB9IH0sCi17ICAxNiwgMHg5NGMwLCAwLCB7MHgwYiwweDMwLDB4NDIsMHhjYywweDAwLDB4YTMsMHgwMCwweDIwLDB4YzAsMHgxYiwweDM0LDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGQwLCAwLCB7MHgyYywweGMwLDB4NGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4ODgsMHgyYywweGQ0LDB4MGEsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4MDAsMHhmZSwweDQwLDB4YjcsMHhhMCB9IH0sCi17ICAxNiwgMHg5NGYwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDNhLDB4ODAsMHgwZiwweGUyLDB4MDMsMHg2OCwweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTAwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDBiLDB4MjgsMHgwMCwweGVlLDB4ZTAsMHgzZiwweGIwLDB4MDQsMHhhMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHg5NTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDQsMHhmMCwweDA4LDB4M2EsMHgxMCB9IH0sCi17ICAxNiwgMHg5NTIwLCAwLCB7MHgwZiwweDg0LDB4MDMsMHhlMCwweDEwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTMwLCAwLCB7MHgzYywweDAwLDB4MGYsMHg4MCwweDAzLDB4ODAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDA5LDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MjAsMHhlOSwweDAwLDB4MzIsMHg0NCB9IH0sCi17ICAxNiwgMHg5NTUwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg5NTYwLCAwLCB7MHgxZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4MjQsMHgwMCwweGM5LDB4YTAsMHgzYywweDY0LDB4MGMsMHg5MCwweDAzLDB4ODIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NTcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg2OCB9IH0sCi17ICAxNiwgMHg5NTgwLCAwLCB7MHgwOCwweDEzLDB4MDIsMHgyNCwweDA4LDB4ZjksMHgwMCwweDJlLDB4NDgsMHgxYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg5NTkwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5MCwweDAyLDB4MjQsMHgwOCwweGY5LDB4NDAsMHgyZSwweDYwLDB4MGEsMHg5MCwweDA2LDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5NWEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhhOSwweDAwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5NWIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMSwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg5NWMwLCAwLCB7MHgyZSwweDQwLDB4MDgsMHg5MiwweDIyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5NWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIxLDB4ZTAsMHg1MCB9IH0sCi17ICAxNiwgMHg5NWUwLCAwLCB7MHgyOCwweDE2LDB4MGEsMHgwNCwweDgwLDB4YTEsMHg0MCwweDJjLDB4NDAsMHg0YiwweDE0LDB4MjIsMHhjNCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NWYwLCAwLCB7MHgyYywweDUwLDB4MDksMHgxNCwweDAyLDB4MDQsMHgwNCwweGIxLDB4MDAsMHgyYywweDQwLDB4MGEsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5NjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhlOCwweDUwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NjEwLCAwLCB7MHg4YywweDgwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHgwMCwweDNlLDB4MDAsMHgwYiwweDgwLDB4MzMsMHhlMCwweDEwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5NjIwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwOCwweGNhLDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4YWUsMHgwMyB9IH0sCi17ICAxNiwgMHg5NjMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGZjLDB4NDAsMHhmZCwweDEwLDB4MmYsMHg0MSB9IH0sCi17ICAxNiwgMHg5NjQwLCAwLCB7MHg0ZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHg0MCwweDNlLDB4NDAsMHg0ZiwweGQwLDB4NjMsMHhlNSwweDAwLDB4ZjksMHg0MCB9IH0sCi17ICAxNiwgMHg5NjUwLCAwLCB7MHgzYSwweDUwLDB4MmUsMHg5NCwweDAzLDB4NjUsMHgwMCwweGVkLDB4MDAsMHgzZiwweDUwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHg5NjYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGU2LDB4MDAsMHhmOSwweGUwLDB4MzMsMHg1MCB9IH0sCi17ICAxNiwgMHg5NjcwLCAwLCB7MHgwYywweGRhLDB4MDMsMHhhNiwweDAwLDB4ZDksMHg4MCwweDNmLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhhNiwweDAwLDB4ZjksMHg4OCB9IH0sCi17ICAxNiwgMHg5NjgwLCAwLCB7MHgzZSwweDY4LDB4MGMsMHhkZSwweDAzLDB4NjYsMHgwMCwweGVkLDB4MDAsMHgzYiwweDY5LDB4MGMsMHg5MCwweDAzLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5NjkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4MDgsMHhiOCwweGUwLDB4MjAsMHgyMCB9IH0sCi17ICAxNiwgMHg5NmEwLCAwLCB7MHgxOCwweDhlLDB4MjYsMHhlMSwweDAwLDB4ODAsMHhhMCwweDJlLDB4MDAsMHg0YiwweDg4LDB4NDIsMHhlMSwweDUwLDB4YjgsMHg0MCB9IH0sCi17ICAxNiwgMHg5NmIwLCAwLCB7MHgyZSwweDJhLDB4MGQsMHgwYSwweDAyLDB4MjAsMHgwOCwweGI4LDB4MDAsMHgyZSwweDE0LDB4MGQsMHg4MCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHg5NmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDYwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5NmQwLCAwLCB7MHgwOCwweDMxLDB4YTIsMHhjNSwweDAwLDB4OTEsMHg0OCwweDJjLDB4NDAsMHgxYiwweDEyLDB4MDIsMHg4NCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NmUwLCAwLCB7MHgyYywweDUwLDB4MDksMHgxNiwweDAyLDB4MDUsMHgwMCwweGEzLDB4MDQsMHgyOCwweDQwLDB4MDgsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5NmYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGE0LDB4MDAsMHhiOSwweDA4LDB4MjAsMHg3MCB9IH0sCi17ICAxNiwgMHg5NzAwLCAwLCB7MHgyOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDA4LDB4YjksMHgwMyB9IH0sCi17ICAxNiwgMHg5NzEwLCAwLCB7MHgyYywweDQwLDB4MjksMHg5MCwweDAyLDB4NjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDYyLDB4MDksMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHg5NzIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU1LDB4MDAsMHhmOSwweGQwLDB4YjIsMHg3MCB9IH0sCi17ICAxNiwgMHg5NzMwLCAwLCB7MHgwOCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDksMHgwNCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDEwLDB4ZjksMHgwMiB9IH0sCi17ICAxNiwgMHg5NzQwLCAwLCB7MHgzZSwweDQwLDB4MGQsMHg5MCwweDJiLDB4NjQsMHgwMCwweGU5LDB4OGQsMHgzYSwweDYwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHg5NzUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg0MiB9IH0sCi17ICAxNiwgMHg5NzYwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5NzcwLCAwLCB7MHgzZSwweDQwLDB4MmYsMHgxMCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MjIsMHgzYywweDQwLDB4NGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5NzgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4MDAsMHhmMCwweDQwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NzkwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhjMCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MjAsMHgxZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5N2EwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDAyLDB4MjAsMHgwMCwweGM4LDB4YzAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg5N2IwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxNSwweDI4LDB4MTAsMHhiYSwweDAwLDB4MjMsMHhhMCB9IH0sCi17ICAxNiwgMHg5N2MwLCAwLCB7MHgwYSwweGU0LDB4MDIsMHhlOCwweDAwLDB4YmEsMHgwMCwweDJiLDB4YTEsMHgwYiwweGEwLDB4MDIsMHhlOCwweDAwLDB4YWEsMHgwMCB9IH0sCi17ICAxNiwgMHg5N2QwLCAwLCB7MHgyYSwweDgxLDB4MGEsMHhhMCwweDAzLDB4ZTgsMHgwOCwweGRlLDB4MDAsMHgyZSwweDgwLDB4MGEsMHhhMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5N2UwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDA0LDB4YTAsMHhiMSB9IH0sCi17ICAxNiwgMHg5N2YwLCAwLCB7MHgwOCwweDM2LDB4MjIsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZTQsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODAwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgxOCwweDAyLDB4MGMsMHgwMCwweDkxLDB4MDEsMHgyYywweGMwLDB4MDgsMHgzMCwweDA2LDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4YzgsMHhiMywweDIxLDB4MjEsMHhjMiB9IH0sCi17ICAxNiwgMHg5ODIwLCAwLCB7MHgyYSwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHhhMCwweDI5LDB4YzAsMHgwYiwweDcyLDB4MDIsMHhjZSwweDAwLDB4YTcsMHg4MSB9IH0sCi17ICAxNiwgMHg5ODMwLCAwLCB7MHgyOSwweGMwLDB4NGEsMHg3NCwweDAyLDB4ZmUsMHgwMCwweDk3LDB4MDEsMHgyYywweGMwLDB4MGEsMHg3MCwweDEyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4ODAsMHhmNywweGMwLDB4MzEsMHhlMCB9IH0sCi17ICAxNiwgMHg5ODUwLCAwLCB7MHgwYywweDQ4LDB4MDMsMHhkZSwweDExLDB4ZjcsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDdhLDB4MDMsMHhkZSwweDAwLDB4YzMsMHg4MCB9IH0sCi17ICAxNiwgMHg5ODYwLCAwLCB7MHgzMywweGQ4LDB4NmMsMHg3OCwweDAzLDB4M2UsMHgwMCwweGQ2LDB4ODAsMHgzZCwweGUwLDB4MGMsMHg3OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg5ODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwZCwweGFjLDB4MDgsMHhmYiwweDgwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHg5ODgwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHhlYywweDA0LDB4ZmIsMHgzYywweDNlLDB4YzAsMHgwZiwweGI2LDB4MDcsMHg2YywweDAxLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODkwLCAwLCB7MHgzZSwweGQwLDB4MGYsMHg5NCwweDA3LDB4ZWMsMHgwMSwweGVhLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHg5OGEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweGZlLDB4MDAsMHhjZiwweGE0LDB4M2IsMHg2MCB9IH0sCi17ICAxNiwgMHg5OGIwLCAwLCB7MHgwOCwweGQ5LDB4MDMsMHg3ZSwweDAwLDB4Y2YsMHg4MCwweDNmLDB4MjUsMHg0ZiwweGZjLDB4ODcsMHhiZSwweDAwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHg5OGMwLCAwLCB7MHg3ZiwweGZjLDB4MGMsMHhmYywweDAzLDB4N2MsMHgwMCwweGY2LDB4OTAsMHgzMywweGUwLDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5OGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDgsMHg4ZiwweDI4LDB4MjEsMHg0MCB9IH0sCi17ICAxNiwgMHg5OGUwLCAwLCB7MHgwOCwweGQwLDB4MDIsMHgxYywweDQwLDB4YTcsMHgyMCwweDMxLDB4MDQsMHgxYiwweDc4LDB4MDIsMHhkYywweDgwLDB4ZDcsMHgwMCB9IH0sCi17ICAxNiwgMHg5OGYwLCAwLCB7MHgyZiwweGM0LDB4MWEsMHhkMCwweDAyLDB4MWUsMHg0OCwweGI2LDB4MDAsMHg2MSwweGMwLDB4MGIsMHg3MCwweDA2LDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5OTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDhjLDB4MDAsMHg4NywweDMwLDB4NjksMHg0NCB9IH0sCi17ICAxNiwgMHg5OTEwLCAwLCB7MHgwOCwweDUwLDB4MjIsMHgwYywweDAwLDB4ODcsMHgwMSwweDJkLDB4NDQsMHg4YiwweDcwLDB4MDYsMHg4YywweDEwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTIwLCAwLCB7MHgyOSwweGM5LDB4MDgsMHg1MCwweDAyLDB4MWMsMHg0NCwweGE2LDB4MDAsMHg2MSwweGMwLDB4MGIsMHg3MCwweDAyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNkLDB4MDAsMHg4MywweDg4LDB4NjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5OTQwLCAwLCB7MHgwMCwweDEwLDB4MDIsMHg0YywweDAwLDB4MmIsMHgwMCwweDJjLDB4NDEsMHgxYiwweDMwLDB4MDIsMHhjYywweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTUwLCAwLCB7MHgyYywweGMwLDB4MGEsMHgzMCwweDQyLDB4MGMsMHgwMCwweGIyLDB4NDAsMHgyMCwweGYxLDB4MGIsMHgzMCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHg5OTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJkLDB4NDEsMHhjZiwweGMwLDB4YmEsMHhmMCB9IH0sCi17ICAxNiwgMHg5OTcwLCAwLCB7MHgyOCwweDkwLDB4MWIsMHg2YywweDA4LDB4Y2YsMHgwMCwweDJjLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhhYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTgwLCAwLCB7MHgzZiwweGMwLDB4NmMsMHhiMCwweDRiLDB4MmMsMHgwMSwweGZiLDB4NDAsMHgyMiwweGM4LDB4MGYsMHhiMCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5OTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDQsMHhmYiwweDA0LDB4M2YsMHhkNCB9IH0sCi17ICAxNiwgMHg5OWEwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCwweDMyLDB4YzAsMHg1ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwNCB9IH0sCi17ICAxNiwgMHg5OWIwLCAwLCB7MHgzZSwweGMwLDB4NGYsMHgxMCwweDEzLDB4ZWMsMHgwMCwweGZiLDB4ODgsMHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5OWMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjNywweDAwLDB4MzMsMHg2MiB9IH0sCi17ICAxNiwgMHg5OWQwLCAwLCB7MHgwYywweGMwLDB4MGIsMHgzYywweDAwLDB4ZWYsMHgwMCwweDMzLDB4ZTAsMHgxYywweGYwLDB4MTMsMHgzYywweDA4LDB4ZjcsMHgwMCB9IH0sCi17ICAxNiwgMHg5OWUwLCAwLCB7MHgzMSwweGMwLDB4MGUsMHhkOCwweDAzLDB4YmMsMHgwMCwweGZlLDB4MDAsMHgzZCwweGM2LDB4MGMsMHhmMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHg5OWYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MDAsMHhjYiwweDAzLDB4MjIsMHg0NyB9IH0sCi17ICAxNiwgMHg5YTAwLCAwLCB7MHgwOCwweDk4LDB4NDIsMHgyYywweDAwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgwYSwweGIwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwNCB9IH0sCi17ICAxNiwgMHg5YTEwLCAwLCB7MHgyYSwweGMwLDB4MGEsMHhiMCwweDAyLDB4YWMsMHgwOCwweGZhLDB4MDAsMHgyZSwweDYwLDB4MDgsMHhiMCwweDAyLDB4ZTAsMHg0MCB9IH0sCi17ICAxNiwgMHg5YTIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5YiwweDAwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5YTMwLCAwLCB7MHgwOCwweDk4LDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDIyLDB4ODgsMHgwOCwweDMwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YTQwLCAwLCB7MHgyMiwweGMwLDB4OGEsMHg5MiwweDAyLDB4YWMsMHgwMCwweGFhLDB4ODAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDA2LDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDAwLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHg5YTYwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI4LDB4ODAsMHgwYSwweDMyLDB4MTIsMHgwYywweDAwLDB4YjMsMHgwNCB9IH0sCi17ICAxNiwgMHg5YTcwLCAwLCB7MHgyOCwweGMwLDB4MGEsMHgzMCwweDIyLDB4OGMsMHgyMCwweGIyLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5YTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDIsMHhjYiwweDAwLDB4MzAsMHg0MCB9IH0sCi17ICAxNiwgMHg5YTkwLCAwLCB7MHgxYywweDk0LDB4MDMsMHgyYywweDAwLDB4ZWYsMHgwMCwweDMyLDB4YzAsMHg4OCwweGYwLDB4OGIsMHgyYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YWEwLCAwLCB7MHgzMywweGMwLDB4YWUsMHhmMCwweDAzLDB4YWMsMHg4MCwweGVhLDB4MDEsMHgzZSwweGMwLDB4MmMsMHhiMCwweDAzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHg5YWIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4MmYsMHg0MCB9IH0sCi17ICAxNiwgMHg5YWMwLCAwLCB7MHgwNywweGQyLDB4ODMsMHhmYywweDAwLDB4ZGYsMHgwNCwweDNmLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5YWQwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhkMCwweDBiLDB4ZWMsMHgwMCwweGVlLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHg5YWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY1LDB4MDAsMHhjZiwweDA4LDB4M2YsMHg0OCB9IH0sCi17ICAxNiwgMHg5YWYwLCAwLCB7MHgwZiwweGMzLDB4OTMsMHg3MCwweGQwLDB4ZGMsMHgzMCwweDNmLDB4ZDgsMHgwYywweGIyLDB4MDMsMHgzYywweGMwLDB4ZmYsMHg0MCB9IH0sCi17ICAxNiwgMHg5YjAwLCAwLCB7MHgzMywweGM0LDB4MmMsMHhmMSwweDAzLDB4NjIsMHg1MCwweGZjLDB4MzQsMHgzMywweDAwLDB4MGYsMHg1YywweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YjEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGM0LDB4ODAsMHg4YiwweDAwLDB4MmYsMHg1YSB9IH0sCi17ICAxNiwgMHg5YjIwLCAwLCB7MHgwYiwweGE2LDB4MTIsMHgyMSwweGMwLDB4ODksMHg3MCwweDJmLDB4ZGMsMHgwOCwweGYyLDB4YzIsMHgzZCwweGQwLDB4YmYsMHg0MCB9IH0sCi17ICAxNiwgMHg5YjMwLCAwLCB7MHgzNywweGRjLDB4ODgsMHhmNSwweDBhLDB4MjAsMHg4MCwweGU4LDB4MTAsMHgyYSwweDE2LDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHg5YjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGMwLDB4MDAsMHg4MywweDA4LDB4MmMsMHg0NCB9IH0sCi17ICAxNiwgMHg5YjUwLCAwLCB7MHgwYiwweDAyLDB4MDIsMHgwYywweDAwLDB4ODAsMHgwMCwweDJjLDB4YzgsMHgwOCwweDMzLDB4NDIsMHg4YywweDkwLDB4YjMsMHgzMCB9IH0sCi17ICAxNiwgMHg5YjYwLCAwLCB7MHgyOCwweGM4LDB4NGEsMHgzMiwweDEyLDB4ODAsMHgwYywweGIwLDB4YTAsMHgyOCwweDI4LDB4MGIsMHgxMiwweDAyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHg5YjcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGEyLDB4MDAsMHg4YiwweDAwLDB4MmUsMHg0OCB9IH0sCi17ICAxNiwgMHg5YjgwLCAwLCB7MHgwYiwweGEwLDB4MjIsMHgyMCwweDIwLDB4ODgsMHg4MCwweDJlLDB4YzAsMHgyOCwweGIwLDB4MGEsMHhhYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YjkwLCAwLCB7MHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4YTAsMHgwMCwweGFiLDB4ODIsMHgyYSwweGEwLDB4MGIsMHhiMiwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5YmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGU3LDB4MDAsMHhjYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHg5YmIwLCAwLCB7MHhjZiwweDljLDB4MGIsMHgyMSwweDAwLDB4ZDgsMHg4OCwweDNlLDB4YzAsMHgwYywweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YmMwLCAwLCB7MHgzYSwweGMwLDB4MGUsMHhiMCwweDQzLDB4ZTgsMHg0MCwweGY4LDB4ODAsMHgzYSwweDYwLDB4MGYsMHg5OCwweDAzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg5YmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI0LDB4MDAsMHhmZiwweDAwLDB4MGYsMHhlMCB9IH0sCi17ICAxNiwgMHg5YmUwLCAwLCB7MHgwNywweGExLDB4MDMsMHhlOCwweDAyLDB4ZmIsMHgwMCwweDNmLDB4YzAsMHgwZiwweDcwLDB4MjMsMHg3YywweDAwLDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHg5YmYwLCAwLCB7MHgzNSwweGMwLDB4NGQsMHhiMCwweDAzLDB4NzQsMHgyMCwweGZjLDB4MDEsMHgzZiwweDAwLDB4MGYsMHhmOCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE1LDB4MDAsMHhjYiwweDAwLDB4YmEsMHg0MCB9IH0sCi17ICAxNiwgMHg5YzEwLCAwLCB7MHgwYywweDE0LDB4MGIsMHgyZiwweDIyLDB4YzksMHg0MCwweDMyLDB4YzAsMHg4ZSwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzIwLCAwLCB7MHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDAwLDB4MmMsMHg5MCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHg5YzMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwMSwweDI0LDB4MDAsMHg4ZiwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHg5YzQwLCAwLCB7MHgyYywweGE1LDB4NDIsMHgyOSwweDAwLDB4OGIsMHgwNCwweGEzLDB4YzEsMHgwZCwweGYwLDB4MGEsMHgzYywweDAwLDB4YmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzUwLCAwLCB7MHgzZiwweGMwLDB4MDgsMHhmMCwweDAxLDB4NjksMHgwMCwweGRhLDB4MDUsMHgyMiwweGQwLDB4MDgsMHg5NCwweDAzLDB4NzIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDYwLDB4NDAsMHg4MywweDAxLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHg5YzcwLCAwLCB7MHgwOSwweDAwLDB4MDIsMHgyMCwweDAwLDB4ODIsMHg2MCwweDIyLDB4YzAsMHgwOCwweDMwLDB4NDIsMHg0YywweDEwLDB4YmIsMHgwMiB9IH0sCi17ICAxNiwgMHg5YzgwLCAwLCB7MHgyYywweGMwLDB4MDgsMHhiMCwweDEyLDB4MDUsMHgwMCwweDliLDB4MDAsMHgyMCwweDgyLDB4MDksMHgzMiwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDE2LDB4OTAsMHg4NywweDgwLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHg5Y2EwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHgxNiwweDE0LDB4ODQsMHg4MSwweDIxLDB4ZTAsMHgyOSwweDM5LDB4MDIsMHg1ZSwweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHg5Y2IwLCAwLCB7MHgyOCwweGUwLDB4MDgsMHg3OCwweDAyLDB4N2EsMHg4MCwweDk2LDB4ODEsMHgyMSwweGUwLDB4MDksMHhmOCwweDAyLDB4NDgsMHgwMCB9IH0sCi17ICAxNiwgMHg5Y2MwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDksMHg4YiwweDEwLDB4MzgsMHg0NCB9IH0sCi17ICAxNiwgMHg5Y2QwLCAwLCB7MHg0ZCwweDI1LDB4MTIsMHgwYywweDAwLDB4YzIsMHgxMCwweDIyLDB4YzgsMHgwYSwweDM4LDB4MDMsMHhjYywweDAwLDB4ZjMsMHgxMCB9IH0sCi17ICAxNiwgMHg5Y2UwLCAwLCB7MHgyYywweGMwLDB4MGMsMHgzMCwweDAzLDB4OGEsMHhjMCwweGQ5LDB4MTAsMHgzMiwweDQwLDB4MmQsMHgxMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHg5Y2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4ODAsMHhmZiwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZDAwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhmNCwweDQwLDB4ZWQsMHgwMCwweDNmLDB4YzAsMHgwZSwweGYzLDB4MDMsMHhiYywweDA0LDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZDEwLCAwLCB7MHgzZiwweGMyLDB4MGYsMHhmMCwweDBiLDB4ZDQsMHgwMCwweGZmLDB4MTAsMHhiZiwweDgwLDB4MGUsMHhmMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg5ZDIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGZhLDB4MDAsMHhjYiwweDAyLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHg5ZDMwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhhMCwweDAwLDB4Y2IsMHgwMCwweDNhLDB4Y2EsMHgwYywweGIzLDB4MTMsMHhhZiwweDI0LDB4Y2IsMHg0OCB9IH0sCi17ICAxNiwgMHg5ZDQwLCAwLCB7MHgxZSwweGM4LDB4MGYsMHhiNiwweDAzLDB4MmMsMHgwMCwweGZhLDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZDUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDgsMHg4NywweDIwLDB4MmQsMHhjNCB9IH0sCi17ICAxNiwgMHg5ZDYwLCAwLCB7MHgwYiwweDUwLDB4MTIsMHhkYywweDA0LDB4ODcsMHgwMCwweDJjLDB4YzAsMHgwOCwweDcwLDB4YTIsMHgxZCwweDAwLDB4YTcsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZDcwLCAwLCB7MHgyNSwweGNiLDB4OGIsMHg3NCwweDgyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyZCwweGMxLDB4MGIsMHg3MCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MDEsMHg4NywweDkwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHg5ZDkwLCAwLCB7MHgwYiwweDc4LDB4MDIsMHhjZSwweDAwLDB4ODYsMHg4MCwweDJkLDB4ZTQsMHgyOSwweDdhLDB4MDIsMHg5ZSwweDgwLDB4ODcsMHhhMCB9IH0sCi17ICAxNiwgMHg5ZGEwLCAwLCB7MHg2ZCwweGU4LDB4MGIsMHg3OCwweDAyLDB4MWUsMHgwMCwweGI1LDB4ODAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNkLDB4MDAsMHg4MywweDAyLDB4MmMsMHhlMCB9IH0sCi17ICAxNiwgMHg5ZGMwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4ODMsMHhlMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZGQwLCAwLCB7MHgyNCwweGMwLDB4MGIsMHhiMCwweDAyLDB4MGUsMHgyMCwweGIzLDB4MDgsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4ODIsMHhjYSwweDAwLDB4M2UsMHhhOCB9IH0sCi17ICAxNiwgMHg5ZGYwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHhmOCwweDAyLDB4OGUsMHg4MCwweDNlLDB4ODAsMHgwZCwweGEwLDB4NWIsMHhhOCwweDAwLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTAwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4M2IsMHg4MCwweGZlLDB4NDIsMHgyZiwweDgwLDB4MGYsMHhhOCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MjAsMHhmOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTIwLCAwLCB7MHgwZiwweDA2LDB4MDMsMHhjMCwweDAwLDB4ZjgsMHgxMSwweDNlLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTMwLCAwLCB7MHgzNiwweDAwLDB4MGYsMHg4MCwweDBiLDB4ZTAsMHgwMCwweGY4LDB4MDQsMHgzZSwweDIwLDB4MGYsMHg4MSwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZTUwLCAwLCB7MHgwYywweDlhLDB4MDMsMHgyNCwweDQwLDB4YzksMHhjMCwweDNlLDB4NDAsMHg0YywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTYwLCAwLCB7MHgzNiwweDQwLDB4MDcsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4MDQsMHgzMiwweDYwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZTcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDAyLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZTgwLCAwLCB7MHgwYSwweDkyLDB4MDIsMHgyNSwweDAyLDB4ODksMHhlMCwweDJlLDB4NDAsMHg5OCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTkwLCAwLCB7MHgyMiwweDQwLDB4MDksMHg5MCwweDAyLDB4MDQsMHgwMCwweGQ5LDB4MDAsMHgyMiwweDQ0LDB4MGIsMHg5YywweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZWEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDJjLDB4MDAsMHhiOSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZWIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDI4LDB4ODksMHgwMCwweDJjLDB4NDAsMHg2OCwweDkwLDB4NDIsMHgyNCwweDBjLDB4YjEsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZWMwLCAwLCB7MHgyNiwweDQwLDB4MGIsMHg5MCwweDBhLDB4MmMsMHg4MCwweDgxLDB4MDAsMHgyMiwweDQwLDB4Y2IsMHg5MiwweDgyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMSwweDIwLDB4MmMsMHg0OCB9IH0sCi17ICAxNiwgMHg5ZWUwLCAwLCB7MHgwYSwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMSwweDJjLDB4NGMsMHgwOCwweDExLDB4MDIsMHgwNCwweDA4LDB4YjEsMHgxMCB9IH0sCi17ICAxNiwgMHg5ZWYwLCAwLCB7MHgyMCwweDRjLDB4MDksMHgxMiwweDAyLDB4MjQsMHgwMSwweDkxLDB4MjAsMHhhMCwweDQ4LDB4MGIsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5ZjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDQxLDB4ZTAsMHhmOCwweDUwLDB4M2UsMHgxNCB9IH0sCi17ICAxNiwgMHg5ZjEwLCAwLCB7MHgwYywweDg1LDB4MDMsMHgyMSwweDQwLDB4YzgsMHg1MCwweDNlLDB4MTAsMHgwOCwweDA2LDB4ODMsMHgwMSwweGYwLDB4ZjgsMHg2OCB9IH0sCi17ICAxNiwgMHg5ZjIwLCAwLCB7MHgzNiwweDEwLDB4MGYsMHgwNSwweDAzLDB4MjksMHg0MCwweGM4LDB4NTAsMHgzMiwweDk0LDB4MGYsMHg4NSwweDAzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHg5ZjMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4MDAsMHhmOSwweDEwLDB4M2YsMHg0NCB9IH0sCi17ICAxNiwgMHg5ZjQwLCAwLCB7MHgwZiwweGQxLDB4MGIsMHhmNCwweDQwLDB4ZmQsMHgxMiwweDJlLDB4NGMsMHgwMywweDkyLDB4MGIsMHhlNCwweDAwLDB4ZjksMHgyMCB9IH0sCi17ICAxNiwgMHg5ZjUwLCAwLCB7MHgzZSwweDRjLDB4MGYsMHg5MSwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHg5ZjYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MjAsMHhjOSwweDAxLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZjcwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHgzYywweDAwLDB4YmQsMHgwMCwweDMyLDB4NjMsMHgwYywweDllLDB4NDMsMHgyNywweDAwLDB4ZTksMHhjMCB9IH0sCi17ICAxNiwgMHg5ZjgwLCAwLCB7MHgzZSwweDY4LDB4MGMsMHg5OCwweDAzLDB4MzQsMHgwMCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZjkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGMyLDB4MjAsMHhkOCwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZmEwLCAwLCB7MHgwYiwweDgwLDB4NTIsMHgyOCwweDA0LDB4YjgsMHgwMCwweDIyLDB4MzgsMHgwOCwweDg4LDB4MDMsMHg2MiwweDAwLDB4ODgsMHhmMCB9IH0sCi17ICAxNiwgMHg5ZmIwLCAwLCB7MHgyZSwweDNhLDB4NDgsMHg4ZiwweDBhLDB4MjAsMHgwMCwweGIwLDB4ODAsMHgyZSwweDAwLDB4MGIsMHg4MCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZmQwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwMCwweDIwLDB4NDIsMHg0OCwweDE0LDB4NDIsMHgwNSwweDgwLDB4YTEsMHgyMCB9IH0sCi17ICAxNiwgMHg5ZmUwLCAwLCB7MHgyYywweDQ0LDB4MDgsMHgxMCwweDgyLDB4MDQsMHgwMCwweGIxLDB4MjAsMHgyYywweDQwLDB4MGIsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5ZmYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE1LDB4MDEsMHg5OSwweDAwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhhMDAwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHgyNCwweDQwLDB4YmIsMHgwMSwweDIyLDB4NDEsMHgwOCwweDkwLDB4MTIsMHgyNCwweDAwLDB4YTksMHgwMCB9IH0sCi17ICAxNiwgMHhhMDEwLCAwLCB7MHgyYywweDQwLDB4MDgsMHgxMCwweDQwLDB4MjQsMHgwOCwweGI5LDB4NDAsMHg2ZSwweDUwLDB4MGIsMHg5MiwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhhMDIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU3LDB4MTQsMHhjOSwweDA1LDB4M2UsMHg0MSB9IH0sCi17ICAxNiwgMHhhMDMwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHgyNCwweDA0LDB4ZjksMHgwOCwweGIyLDB4NDAsMHgyYywweDkwLDB4MGEsMHgyNCwweDAwLDB4ZTksMHgwMCB9IH0sCi17ICAxNiwgMHhhMDQwLCAwLCB7MHgzZSwweDQwLDB4MmMsMHg5MCwweDAzLDB4MjcsMHgwMCwweGY5LDB4ODAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHhhMDUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDg0LDB4ODgsMHhmOSwweDAwLDB4M2UsMHg0OCB9IH0sCi17ICAxNiwgMHhhMDYwLCAwLCB7MHgwZiwweDk5LDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMiwweDNjLDB4NDAsMHhhZiwweDEwLDB4MDMsMHhlNCwweDEyLDB4ZDksMHgwNCB9IH0sCi17ICAxNiwgMHhhMDcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTUsMHgwMCwweGY5LDB4YzAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDgzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhhMDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhhMDkwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHgyMSwweDAwLDB4YzgsMHg0MCwweGIyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDEwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhhMGEwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHg4MCwweGY4LDB4MDQsMHgzMiwweDAwLDB4MmMsMHg4MCwweDBiLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhhMGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHhjYSwweDAwLDB4MmUsMHg4MCB9IH0sCi17ICAxNiwgMHhhMGMwLCAwLCB7MHgwYiwweGU4LDB4MGEsMHgzOCwweDEwLDB4OGUsMHhjMCwweDIyLDB4ODAsMHgwZCwweGEwLDB4MDIsMHgyOCwweDAwLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhhMGQwLCAwLCB7MHgwMiwweDgwLDB4MjgsMHhhMCwweDAyLDB4ZmIsMHgwMCwweGJhLDB4MDAsMHgzNywweGIwLDB4NDgsMHhlYSwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMGUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweDAxLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhhMGYwLCAwLCB7MHg4YiwweGIwLDB4NDIsMHgwYywweDkwLDB4OWIsMHgyMCwweDIwLDB4YzAsMHg0OCwweDMwLDB4NDIsMHgyYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTAwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2QsMHg0MCwweGIzLDB4MDAsMHgyNCwweGM4LDB4MDgsMHgzOCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDE0LDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhhMTIwLCAwLCB7MHgwYiwweDI0LDB4MDYsMHgxNiwweDAwLDB4OTMsMHgwOCwweDIxLDB4YzgsMHgwOSwweDMxLDB4MDIsMHgwYywweDgwLDB4ODcsMHhhMCB9IH0sCi17ICAxNiwgMHhhMTMwLCAwLCB7MHgyMSwweGMwLDB4MTgsMHg3MiwweDAyLDB4ZGMsMHgwMCwweGI3LDB4YjQsMHgyNCwweGUzLDB4MDgsMHg3OCwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDIsMHg5NywweGEwLDB4M2QsMHhmMCB9IH0sCi17ICAxNiwgMHhhMTUwLCAwLCB7MHgwZiwweDQ4LDB4MDMsMHgzZSwweDAwLDB4ZDYsMHg4MCwweDMwLDB4ZTAsMHgyYywweDdhLDB4MDIsMHgxZSwweDgyLDB4YzMsMHhmMCB9IH0sCi17ICAxNiwgMHhhMTYwLCAwLCB7MHgzMywweGVjLDB4MGMsMHg3YywweDAzLDB4ZDYsMHgwMCwweGY3LDB4ODAsMHgzNSwweGUwLDB4MGMsMHhkOCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhhMTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxOSwweGE1LDB4YTAsMHhmYiwweDAwLDB4M2UsMHhjYSB9IH0sCi17ICAxNiwgMHhhMTgwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlYywweDAyLDB4ZWEsMHgwMCwweDNlLDB4YzYsMHgwZiwweGI0LDB4MGIsMHhlZCwweDQwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTkwLCAwLCB7MHhiZSwweGMwLDB4MGYsMHhiNiwweDQzLDB4ZTAsMHgwMCwweGZiLDB4MDIsMHgzZSwweDgwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhhMWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDIsMHhjZiwweDg4LDB4M2YsMHhlMCB9IH0sCi17ICAxNiwgMHhhMWIwLCAwLCB7MHgwYywweGI5LDB4MDMsMHhmZSwweDAwLDB4ZGQsMHg4MSwweDMzLDB4ZTAsMHg4YywweGZjLDB4MDMsMHgzZiwweDA0LDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhhMWMwLCAwLCB7MHgzMywweGUyLDB4NGYsMHhmYywweDAzLDB4M2UsMHgwMCwweGNmLDB4YzAsMHgzMywweDY0LDB4MGMsMHhmOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhMWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDk0LDB4NDAsMHg4NywweDAwLDB4MmYsMHhjMSB9IH0sCi17ICAxNiwgMHhhMWUwLCAwLCB7MHgwZCwweDY5LDB4YTIsMHhkMCwweDQwLDB4YmMsMHgwMCwweDIzLDB4YzAsMHgwOCwweGYwLDB4MDIsMHg5YywweDAwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhhMWYwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MCwweDBhLDB4M2MsMHgwNCwweDg3LDB4MTAsMHgyMSwweDRjLDB4MDgsMHg2MCwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhMjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDllLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhhMjEwLCAwLCB7MHgwOSwweDYyLDB4MDIsMHhkOCwweDAwLDB4OTcsMHgwMCwweDIxLDB4YzQsMHgwOCwweDcwLDB4MDIsMHgwYywweDQwLDB4OTcsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjIwLCAwLCB7MHgyMSwweGM0LDB4MGIsMHgzMCwweDAyLDB4NTgsMHgwMCwweGE3LDB4MDgsMHgyMSwweDgwLDB4MDgsMHg2MCwweDgyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGU0LDB4MjUsMHg4MywweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhhMjQwLCAwLCB7MHgwOSwweDIyLDB4MDIsMHhjYywweDIwLDB4YjIsMHgwMCwweDIwLDB4YzAsMHgyOCwweGIwLDB4MDIsMHg4YywweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjUwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzMCwweDQyLDB4NmMsMHgyMCwweDgzLDB4MDgsMHgyMCwweGUyLDB4MDgsMHhiOCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHhhMjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGE0LDB4MDAsMHhjZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhMjcwLCAwLCB7MHgwZCwweDljLDB4MDMsMHhlOCwweDAwLDB4ZGIsMHg4MCwweDMzLDB4YzAsMHgwYywweGYwLDB4MGIsMHgzYywweDA2LDB4ZGYsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjgwLCAwLCB7MHhiMywweGMwLDB4MGIsMHhmMCwweDA3LDB4NjgsMHgwMCwweGVmLDB4NDAsMHgzMiwweGE4LDB4MGMsMHhhOCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhMjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhhMmEwLCAwLCB7MHgwZiwweDk0LDB4MDMsMHhjNSwweDQwLDB4ZmEsMHgzMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg2YywweDAwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMmIwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHgzMCwweDEzLDB4YWQsMHg0MCwweGZiLDB4MDIsMHgzZSwweGQwLDB4MGYsMHhiNCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhhMmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGU0LDB4MDAsMHhjNywweDAwLDB4MzEsMHhjMSB9IH0sCi17ICAxNiwgMHhhMmQwLCAwLCB7MHg4YywweGQwLDB4MDMsMHgzNCwweDAwLDB4Y2QsMHgwMCwweDNkLDB4YzAsMHgwYywweGYwLDB4MDEsMHg3YywweDAwLDB4ZGIsMHgwMSB9IH0sCi17ICAxNiwgMHhhMmUwLCAwLCB7MHgzZCwweGMwLDB4NGMsMHhmMCwweDBiLDB4MzAsMHgwMiwweGMzLDB4MDAsMHgzMiwweDAwLDB4MGYsMHhkMCwweDAzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhhMmYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZlLDB4NDAsMHg4YiwweDAwLDB4MmEsMHhjMCB9IH0sCi17ICAxNiwgMHhhMzAwLCAwLCB7MHgyOCwweDg0LDB4NDIsMHgyMiwweDgwLDB4ODgsMHg4MCwweDNhLDB4YzAsMHgwZCwweGIwLDB4MDIsMHhhYywweDA4LDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzEwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4MjMsMHgyMCwweDhiLDB4MDAsMHgyMiwweDMwLDB4OGIsMHg4YywweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhhMzIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI0LDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhhMzMwLCAwLCB7MHgwOCwweDM4LDB4ODYsMHgyYSwweDAwLDB4ODksMHg4MCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhjYywweDAwLDB4OWIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzQwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHhiMCwweDQyLDB4MjYsMHgwMCwweDhiLDB4MDAsMHgyMiwweDcxLDB4MGIsMHg4YywweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDAwLDB4MjgsMHhjMCB9IH0sCi17ICAxNiwgMHhhMzYwLCAwLCB7MHgwOCwweDMyLDB4NDIsMHgwMCwweDAwLDB4ODEsMHgwMCwweDI4LDB4YzAsMHgwOSwweDMwLDB4NTIsMHg4YywweDA4LDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzcwLCAwLCB7MHgyYywweGMwLDB4MTgsMHgzMCwweDA2LDB4MDAsMHgwMCwweDgzLDB4MDAsMHhhMCwweDAwLDB4MGIsMHgwMCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhMzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDc0LDB4MDIsMHg4YiwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhhMzkwLCAwLCB7MHgwYywweDkyLDB4MGIsMHgyMCwweDAyLDB4YzgsMHgwMCwweDNiLDB4YzAsMHgwYywweGY1LDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMSB9IH0sCi17ICAxNiwgMHhhM2EwLCAwLCB7MHgzZiwweGMxLDB4MDQsMHhmMCwweDMzLDB4MjEsMHg0MCwweGNmLDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDBiLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhhM2IwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhM2MwLCAwLCB7MHgwZiwweGM0LDB4MDMsMHhmMCwweDAwLDB4OWMsMHgwMCwweDNiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhM2QwLCAwLCB7MHgyZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHg4MCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhhM2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4YzAsMHhmZiwweGEwLDB4MzEsMHgyNCB9IH0sCi17ICAxNiwgMHhhM2YwLCAwLCB7MHgwZSwweGYwLDB4NjMsMHgxMCwweDA0LDB4ZWYsMHg2NCwweDNmLDB4YzAsMHg0YywweGYzLDB4MDMsMHgxYywweDgwLDB4ZGYsMHgwOCB9IH0sCi17ICAxNiwgMHhhNDAwLCAwLCB7MHgzNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHhhMCwweGZjLDB4MDAsMHgzMSwweDA4LDB4MmMsMHhkMiwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNDEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGUxLDB4MDAsMHhiYiwweGMxLDB4MjIsMHg0OCB9IH0sCi17ICAxNiwgMHhhNDIwLCAwLCB7MHgwOCwweGZkLDB4MDIsMHgyZSwweDAwLDB4OTcsMHgwMCwweDJmLDB4YzIsMHg0OCwweDcxLDB4MjMsMHg3ZSwweDQwLDB4YmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhNDMwLCAwLCB7MHgyMSwweGM1LDB4NGIsMHhmNSwweDAyLDB4ZWYsMHgwMCwweGJiLDB4NDAsMHgzNiwweGUwLDB4MDgsMHhhOCwweDAyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNDQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM1LDB4ODQsMHhiMywweDExLDB4YTIsMHhjOSB9IH0sCi17ICAxNiwgMHhhNDUwLCAwLCB7MHgwYSwweDMwLDB4MDIsMHgwMCwweDAxLDB4YjMsMHgzMCwweDI4LDB4YzQsMHgwOCwweDMyLDB4NDIsMHgwYywweDAwLDB4YTMsMHgwOCB9IH0sCi17ICAxNiwgMHhhNDYwLCAwLCB7MHhhMCwweGNhLDB4MGEsMHgzMiwweDgyLDB4ODAsMHgxMCwweGIwLDB4NDEsMHgyNCwweDExLDB4MDgsMHgzMSwweDAyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHhhNDcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE1LDB4MDAsMHhiYiwweDAwLDB4MjIsMHhlMSB9IH0sCi17ICAxNiwgMHhhNDgwLCAwLCB7MHgyOCwweGIwLDB4MDIsMHgyYywweDgwLDB4OWIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHg2YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNDkwLCAwLCB7MHgyMiwweGMwLDB4MGIsMHhiMCwweDAwLDB4ZWMsMHgyMCwweGJiLDB4MDAsMHgyNiwweGMwLDB4MDgsMHg4MCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNGEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUzLDB4NDAsMHhmNywweDA0LDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHhhNGIwLCAwLCB7MHg0ZSwweGIwLDB4MjMsMHgyZSwweDIwLDB4ZWIsMHgwMCwweDFlLDB4YzAsMHgwYywweGIwLDB4MDEsMHgyYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNGMwLCAwLCB7MHgzNiwweGMwLDB4MWYsMHhiMCwweDAzLDB4ZTEsMHg0MCwweGZiLDB4MDAsMHgzNiwweDk4LDB4MGMsMHg5MCwweDAzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI2LDB4MDQsMHhmZiwweDAyLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhNGUwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhmZSwweDAwLDB4ZWYsMHgwMiwweDNkLDB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhNGYwLCAwLCB7MHgzZiwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGY0LDB4MDAsMHgzYiwweDQwLDB4MGYsMHhhMCwweDEzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFhLDB4MjAsMHhlYiwweDEwLDB4MzYsMHhjMCB9IH0sCi17ICAxNiwgMHhhNTEwLCAwLCB7MHgwZCwweGIwLDB4MDcsMHhlYywweDIwLDB4ZGIsMHgwMCwweDMyLDB4YzAsMHgwYywweGIwLDB4MDIsMHg2YywweDIwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTIwLCAwLCB7MHgzZSwweGMxLDB4MGQsMHhiMCwweDAzLDB4ZTAsMHgyMCwweGRiLDB4YTAsMHgzMiwweDkwLDB4NGMsMHhiMCwweDBiLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJkLDB4MDAsMHg4ZiwweDgwLDB4MjAsMHhjMSB9IH0sCi17ICAxNiwgMHhhNTQwLCAwLCB7MHgwOCwweDcwLDB4MTIsMHhjZiwweDAwLDB4OGYsMHgwMCwweGEzLDB4YzAsMHgwZCwweGYwLDB4MDIsMHgzYywweDAwLDB4OGYsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTUwLCAwLCB7MHgzNywweGMwLDB4ODgsMHhmMCwweDAyLDB4ZWMsMHgwMCwweDg4LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg4MCwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhhMywweDgwLDB4MjQsMHg4MSB9IH0sCi17ICAxNiwgMHhhNTcwLCAwLCB7MHgwOSwweDMwLDB4MDYsMHhjYywweDQwLDB4OTMsMHgwMCwweDI4LDB4YzEsMHgwOCwweGIwLDB4MDIsMHhjZiwweDQwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTgwLCAwLCB7MHgyYywweGMwLDB4MDksMHgzMCwweDAyLDB4Y2QsMHgwMCwweDkwLDB4NDAsMHg2MCwweDQwLDB4MjgsMHgxMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDBlLDB4MDAsMHg4NywweDgwLDB4MjMsMHhlMCB9IH0sCi17ICAxNiwgMHhhNWEwLCAwLCB7MHg0OCwweDc5LDB4MDIsMHhkZSwweDQxLDB4OTcsMHg4MCwweDI5LDB4ZTAsMHgxOSwweDc4LDB4MDYsMHg5ZSwweDAwLDB4ODcsMHg4MCB9IH0sCi17ICAxNiwgMHhhNWIwLCAwLCB7MHgyNSwweGUwLDB4MDgsMHg3OCwweDAyLDB4ZDIsMHgwMywweDgzLDB4ODAsMHgyMSwweGEwLDB4MDgsMHg2OCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhhMywweDAwLDB4MzQsMHhjMCB9IH0sCi17ICAxNiwgMHhhNWQwLCAwLCB7MHgwZCwweDMwLDB4NDIsMHhjYywweDAxLDB4ZDMsMHgxMCwweDNhLDB4YzUsMHgwYywweDM5LDB4MDMsMHhjYywweDAwLDB4ZTMsMHgwNCB9IH0sCi17ICAxNiwgMHhhNWUwLCAwLCB7MHgzYywweGM0LDB4MGQsMHgzMCwweDAzLDB4Y2UsMHgwMCwweGQwLDB4MDAsMHgzMCwweDQwLDB4MGMsMHgzMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhhNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MDAsMHhmNywweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhNjAwLCAwLCB7MHgxZiwweGYwLDB4NTMsMHhmYywweDAwLDB4ZWYsMHgwOCwweDM3LDB4ZDEsMHgwZiwweGYwLDB4ODMsMHg3YywweDAwLDB4ZjcsMHg0MCB9IH0sCi17ICAxNiwgMHhhNjEwLCAwLCB7MHgzZiwweGMxLDB4MGYsMHhmMSwweDAzLDB4ZDAsMHgwMCwweGZmLDB4MDAsMHhiZiwweDg0LDB4MGYsMHhjOCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhhNjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGUwLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhlMCB9IH0sCi17ICAxNiwgMHhhNjMwLCAwLCB7MHgyYywweGJlLDB4ODMsMHhlYywweDAwLDB4ZWIsMHg0MCwweDNlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhlZCwweDIwLDB4ZmIsMHgxMCB9IH0sCi17ICAxNiwgMHhhNjQwLCAwLCB7MHhiNiwweGQyLDB4MGYsMHhiNCwweDgzLDB4ZWMsMHgwMCwweGRiLDB4ODAsMHgzNiwweGMxLDB4MGMsMHg5MCwweDIxLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhhNjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDk0LDB4MDAsMHhiNywweDAwLDB4MmYsMHhjMCB9IH0sCi17ICAxNiwgMHhhNjYwLCAwLCB7MHgwOCwweDM2LDB4MDIsMHgwYywweDA4LDB4ODcsMHgzMCwweDJkLDB4ZDksMHg4YiwweDcyLDB4ODYsMHhkZCwweDAwLDB4YjMsMHgyMCB9IH0sCi17ICAxNiwgMHhhNjcwLCAwLCB7MHgyMSwweGM4LDB4MGIsMHg3NCwweDAyLDB4ZDAsMHgwMiwweDg0LDB4MDAsMHhhMCwweDAwLDB4MjgsMHgyMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhNjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHhhNjkwLCAwLCB7MHgwOCwweDdhLDB4MDIsMHg5ZCwweDAwLDB4YTcsMHhhMCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHg5ZSwweDgwLDB4YTcsMHg4MCB9IH0sCi17ICAxNiwgMHhhNmEwLCAwLCB7MHgyMSwweGU0LDB4MDgsMHg3YSwweDI2LDB4OWUsMHgxOCwweDgzLDB4MDQsMHgyMSwweGUwLDB4MDgsMHg3OCwweDBhLDB4NzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhlMCB9IH0sCi17ICAxNiwgMHhhNmMwLCAwLCB7MHg1OCwweDMwLDB4MTIsMHgwZSwweDgyLDB4ODMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAxLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNmQwLCAwLCB7MHgyMCwweGMxLDB4MGIsMHgzMCwweDAyLDB4YzAsMHgwOCwweDg4LDB4ZDIsMHgyMCwweDIwLDB4MDgsMHgwMCwweDAyLDB4NTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhNmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4NjAsMHhmYSwweDAwLDB4M2YsMHg4MiB9IH0sCi17ICAxNiwgMHhhNmYwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhmYSwweDAwLDB4YWEsMHgwMCwweDFlLDB4ODAsMHg4ZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzAwLCAwLCB7MHgzMiwweDgwLDB4MWYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGRhLDB4MDAsMHgzNiwweDg4LDB4YWMsMHhlMCwweDAzLDB4N2EsMHgwNCB9IH0sCi17ICAxNiwgMHhhNzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUxLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgyMCB9IH0sCi17ICAxNiwgMHhhNzIwLCAwLCB7MHg0ZiwweDgwLDB4MDMsMHhlMSwweDAwLDB4ZjAsMHgwMCwweDNjLDB4MDAsMHgwYiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMiB9IH0sCi17ICAxNiwgMHhhNzMwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDQzLDB4ZjEsMHgwMCwweGZjLDB4MGEsMHgzZCwweDAwLDB4MGYsMHhjMCwweDAzLDB4OTIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU2LDB4MDAsMHhjOSwweDkwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhhNzUwLCAwLCB7MHgwZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZDksMHgwMCwweDMyLDB4NDAsMHgwNCwweDkwLDB4MDcsMHhlNywweDAwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhhNzYwLCAwLCB7MHgzMCwweDQwLDB4MGMsMHg5MCwweDQzLDB4ZTQsMHgwOSwweGQ5LDB4ODAsMHgyMiwweDQwLDB4MmMsMHgxMCwweDBiLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhhNzcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4NjAsMHg4OSwweGMwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhhNzgwLCAwLCB7MHgwYiwweDk4LDB4MjYsMHhjNSwweDgwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgyOCwweDkwLDB4MTIsMHhlNywweDEwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhhNzkwLCAwLCB7MHgzNiwweDQwLDB4MjgsMHg5MCwweDEyLDB4YzUsMHg4MywweGM5LDB4ODAsMHhiNiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhN2EwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MSB9IH0sCi17ICAxNiwgMHhhN2IwLCAwLCB7MHg0YiwweDkwLDB4MDIsMHhlNCwweDAwLDB4OTksMHgwMCwweGEyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHhlNSwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhhN2MwLCAwLCB7MHhlMiwweDQxLDB4MDgsMHg5MCwweDQyLDB4ZTQsMHgwMCwweDlkLDB4NTAsMHhhYiwweDRhLDB4MDgsMHhkMCwweDI2LDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhhN2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODIsMHg4MSwweDIwLDB4MmMsMHg1MCB9IH0sCi17ICAxNiwgMHhhN2UwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhlNCwweDAwLDB4ODEsMHg0MCwweDIwLDB4NTAsMHg0YSwweDE0LDB4MzIsMHhjNCwweDAwLDB4YjEsMHg0MCB9IH0sCi17ICAxNiwgMHhhN2YwLCAwLCB7MHgyNCwweDUxLDB4MTgsMHgxNCwweDEyLDB4ZDQsMHgwMCwweDg1LDB4NDAsMHgyZCwweDQwLDB4MDgsMHg1MCwweDA2LDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhODAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhjOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhhODEwLCAwLCB7MHgwZiwweDgwLDB4MDIsMHhlMCwweDAwLDB4ZDgsMHgwMCwweDMyLDB4MDAsMHgwYSwweDgwLDB4MDIsMHhlMCwweDEwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhODIwLCAwLCB7MHgzMiwweDAwLDB4MDQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGQ4LDB4MDAsMHgzYSwweDAwLDB4MGMsMHhjMCwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhhODMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg0MSB9IH0sCi17ICAxNiwgMHhhODQwLCAwLCB7MHgwZiwweDk0LDB4MDMsMHhmNSwweDAwLDB4ZjksMHg0MCwweDNlLDB4NTAsMHgwZCwweDk0LDB4MDMsMHhlNSwweDEwLDB4ZjksMHg0MCB9IH0sCi17ICAxNiwgMHhhODUwLCAwLCB7MHgzZSwweDUwLDB4NGYsMHg5NCwweDAzLDB4YzUsMHgwMCwweGU5LDB4NDEsMHgzNiwweDUwLDB4MGYsMHg5NCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhhODYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MDAsMHhmZCwweGE4LDB4M2EsMHg0MCB9IH0sCi17ICAxNiwgMHhhODcwLCAwLCB7MHgwYywweGQ4LDB4MjMsMHgzNiwweDAwLDB4ZTksMHhhMCwweDNlLDB4NzgsMHgwZiwweDllLDB4MDMsMHhiNiwweDgwLDB4Y2QsMHhlMiB9IH0sCi17ICAxNiwgMHhhODgwLCAwLCB7MHgzMiwweDY4LDB4MGMsMHg5YiwweDAzLDB4MzYsMHg4MiwweDRkLDB4YTAsMHgzNywweDY4LDB4OGMsMHg5OCwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhhODkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGViLDB4YTAsMHhiOCwweDQwLDB4MjAsMHgyMCB9IH0sCi17ICAxNiwgMHhhOGEwLCAwLCB7MHgwOCwweDg1LDB4MDIsMHgyMSwweDUxLDB4ODgsMHhjMCwweDJlLDB4MjksMHgwYiwweDhlLDB4MDIsMHhlMSwweDAwLDB4ZDgsMHhlMCB9IH0sCi17ICAxNiwgMHhhOGIwLCAwLCB7MHgyMiwweDMyLDB4MGQsMHg4ZCwweDIzLDB4NjEsMHg0OCwweDk4LDB4ZDQsMHhhMiwweDEwLDB4MjgsMHg4NCwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhhOGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMywweDAwLDB4MmEsMHg0YSB9IH0sCi17ICAxNiwgMHhhOGQwLCAwLCB7MHgyOCwweDEwLDB4NGUsMHhhNCwweDA4LDB4YTEsMHg2OCwweDI4LDB4NDQsMHgwYiwweDE0LDB4MDIsMHhjNSwweDAwLDB4ODEsMHg0MCB9IH0sCi17ICAxNiwgMHhhOGUwLCAwLCB7MHhhMCwweDUwLDB4MDgsMHgxMCwweDAyLDB4MDQsMHgwMiwweDkxLDB4MmEsMHgyMCwweDQ0LDB4MjgsMHgxNCwweDRhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhOGYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGFjLDB4ODAsMHhiOSwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhhOTAwLCAwLCB7MHg0OCwweDkwLDB4MDYsMHhhNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MjIsMHhlNCwweDAwLDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhhOTEwLCAwLCB7MHgyMiwweDQwLDB4MDksMHgxMCwweDAyLDB4NjQsMHgwMiwweDk5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhhOTIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDAwLDB4MzgsMHg1OCB9IH0sCi17ICAxNiwgMHhhOTMwLCAwLCB7MHgwYywweDkwLDB4NTMsMHg4NCwweDE0LDB4YTksMHgwNCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhhOTQwLCAwLCB7MHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwNCwweGQ5LDB4MDAsMHhiNiwweDQwLDB4NGMsMHg5MCwweDBiLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhhOTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAyLDB4M2UsMHg0OSB9IH0sCi17ICAxNiwgMHhhOTYwLCAwLCB7MHgwZiwweDEwLDB4NDMsMHg2NCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZjEsMHgwMiB9IH0sCi17ICAxNiwgMHhhOTcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMiwweGU5LDB4MDQsMHgzYywweDQwLDB4MGYsMHgxYywweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhhOTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4ODAsMHhjOCwweDIwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhhOTkwLCAwLCB7MHg4YywweDgwLDB4MGIsMHgyMCwweDAwLDB4ZTgsMHgwMiwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhhMCwweDgyLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhhOWEwLCAwLCB7MHg2YywweDAwLDB4MGYsMHg4MCwweDAzLDB4MjAsMHgxMCwweGM4LDB4MDAsMHgzMiwweDAyLDB4MGMsMHg4MCwweDAzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhhOWIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDM4LDB4MDAsMHg4NiwweDAwLDB4MmUsMHg4MCB9IH0sCi17ICAxNiwgMHhhOWMwLCAwLCB7MHg2OCwweGE4LDB4ODAsMHgzYSwweDAwLDB4OGEsMHgwMCwweDJlLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhmOCwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhOWQwLCAwLCB7MHgyZSwweDgwLDB4MGIsMHhhMCwweDBhLDB4M2EsMHgwMCwweDhlLDB4MTAsMHgyMywweDgwLDB4MDgsMHhhMCwweDAzLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhOWUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRkLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhhOWYwLCAwLCB7MHgwOCwweDM4LDB4MDAsMHgwYywweDYwLDB4MjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDQwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhhYTAwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMiwweDhhLDB4ODAsMHhhMCwweGUwLDB4MjgsMHgzMCwweDBhLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhYTEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDE2LDB4MjAsMHg4NywweDAyLDB4MmQsMHhjMSB9IH0sCi17ICAxNiwgMHhhYTIwLCAwLCB7MHg0OCwweDcwLDB4MTIsMHg3YywweDAwLDB4YTcsMHgyMCwweDJkLDB4YzksMHgwYiwweDcyLDB4MDAsMHhkYywweDAwLDB4ODcsMHgwOCB9IH0sCi17ICAxNiwgMHhhYTMwLCAwLCB7MHgyZCwweGM0LDB4MWIsMHgzMiwweDAyLDB4MWQsMHgwMSwweDg3LDB4NDIsMHgyMSwweGMyLDB4MDgsMHg3MCwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhYTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4MDIsMHhjNywweDgwLDB4M2QsMHhlYyB9IH0sCi17ICAxNiwgMHhhYTUwLCAwLCB7MHgwYywweDU4LDB4MDMsMHgxZSwweDAwLDB4ZTcsMHg4MCwweDNkLDB4ZWMsMHgwZiwweDdmLDB4MDMsMHg5NiwweDAwLDB4YzcsMHg4MCB9IH0sCi17ICAxNiwgMHhhYTYwLCAwLCB7MHgyZCwweGUyLDB4MDcsMHg3OSwweDAzLDB4MGEsMHgwNiwweGMzLDB4ODAsMHgzMCwweDIwLDB4OGMsMHgzOCwweDAzLDB4NmEsMHgwMiB9IH0sCi17ICAxNiwgMHhhYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhhYTgwLCAwLCB7MHgwZiwweDEwLDB4NDMsMHg4YywweDAwLDB4ZGIsMHgzOCwweDNlLDB4ZDgsMHgwZiwweGIwLDB4MDMsMHhjYywweDA0LDB4ZmIsMHg0NCB9IH0sCi17ICAxNiwgMHhhYTkwLCAwLCB7MHgzZSwweGMwLDB4OGYsMHhiNiwweDEzLDB4ZWMsMHgwMiwweGZmLDB4MDIsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhhYWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZhLDB4MDAsMHhmZiwweDgwLDB4MzEsMHhlMyB9IH0sCi17ICAxNiwgMHhhYWIwLCAwLCB7MHgwZSwweGY4LDB4MjMsMHhmZSwweDAyLDB4ZGYsMHg4MCwweGI3LDB4ZTIsMHgwZSwweGY4LDB4MDMsMHg3ZSwweDAwLDB4NmQsMHhkMCB9IH0sCi17ICAxNiwgMHhhYWMwLCAwLCB7MHgzMywweGUwLDB4MGMsMHhmOCwweDliLDB4NzYsMHhjMCwweGRmLDB4ODQsMHhiMywweGUwLDB4MDQsMHhmOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhYWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDkwLDB4NDAsMHhiNywweDAyLDB4MjEsMHhjNCB9IH0sCi17ICAxNiwgMHhhYWUwLCAwLCB7MHgwOCwweDdiLDB4NDIsMHhkYywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzQsMHgwYiwweDMwLDB4MDAsMHgxMCwweDgwLDB4OGQsMHgwMCB9IH0sCi17ICAxNiwgMHhhYWYwLCAwLCB7MHgyMywweGMwLDB4MGQsMHhmMiwweDAyLDB4MDQsMHg0MiwweDhmLDB4MDAsMHgyOSwweGM4LDB4MjgsMHg3MCwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk0LDB4MDAsMHhiNiwweDAwLDB4MjMsMHhjMCB9IH0sCi17ICAxNiwgMHhhYjEwLCAwLCB7MHgwYSwweDcyLDB4MDIsMHg4YywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgwYSwweDMwLDB4MDIsMHgwNCwweDAxLDB4YTcsMHgwMiB9IH0sCi17ICAxNiwgMHhhYjIwLCAwLCB7MHgyMSwweGMwLDB4MDgsMHg3MCwweDQyLDB4MDAsMHg4YSwweDg3LDB4MDAsMHgyMSwweGMwLDB4MjgsMHg3MCwweDAyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhYjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGM1LDB4MDAsMHhiMCwweDAwLDB4YTAsMHhkMCB9IH0sCi17ICAxNiwgMHhhYjQwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHhjOSwweDQyLDB4OGIsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MjIsMHgwNCwweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhhYjUwLCAwLCB7MHhhMCwweGMwLDB4NDksMHgzMCwweDAyLDB4NDUsMHg0MCwweDkzLDB4YzAsMHhhOCwweGQ0LDB4MDAsMHgzNSwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhiYiwweDAwLDB4MzEsMHhjMCB9IH0sCi17ICAxNiwgMHhhYjcwLCAwLCB7MHgwZSwweGIwLDB4MjMsMHhjZCwweDAwLDB4ZGYsMHgwMCwweDM3LDB4YzAsMHgwZSwweGYwLDB4MDEsMHg2OCwweDAwLDB4ZTMsMHgwMCB9IH0sCi17ICAxNiwgMHhhYjgwLCAwLCB7MHgzMywweGMwLDB4MWMsMHhmMCwweDAzLDB4NDUsMHgwMCwweGRhLDB4YzgsMHg5MiwweGQ0LDB4MmMsMHhiNCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGU1LDB4MjAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhhYmEwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhhZCwweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhYmIwLCAwLCB7MHg3ZSwweGMwLDB4MWYsMHgzMCwweDAzLDB4YTQsMHg4MCwweGU5LDB4MjAsMHgzYywweGMwLDB4MGYsMHgzMiwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhhYmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjNywweDAwLDB4MzMsMHhjMiB9IH0sCi17ICAxNiwgMHhhYmQwLCAwLCB7MHgyYywweGYwLDB4MDMsMHgzZSwweDIwLDB4ZGIsMHgwMCwweDEzLDB4YzAsMHgwYywweDcwLDB4MDMsMHgzYywweDgwLDB4ZWYsMHgwNCB9IH0sCi17ICAxNiwgMHhhYmUwLCAwLCB7MHg3MywweGMxLDB4MGYsMHhmMCwweDIyLDB4MzAsMHgwMCwweGM2LDB4MDAsMHhiMiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhhYmYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDY5LDB4MDAsMHg4YiwweDQ0LDB4YTIsMHhjMSB9IH0sCi17ICAxNiwgMHhhYzAwLCAwLCB7MHg4OCwweGIwLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgyOCwweGIwLDB4MGEsMHgyZCwweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzEwLCAwLCB7MHg2MiwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjYsMHgwMiwweDhiLDB4ODAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAzLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhhYzIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI4LDB4MDEsMHg4YSwweDA4LDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhhYzMwLCAwLCB7MHgwOCwweGIyLDB4MDIsMHg2YywweDQwLDB4OWIsMHgwMCwweDI4LDB4YzAsMHg0OCwweGIwLDB4MTYsMHgyOSwweDA0LDB4YjksMHgwMSB9IH0sCi17ICAxNiwgMHhhYzQwLCAwLCB7MHgyMiwweGMwLDB4NDksMHhiMCwweDA2LDB4YWUsMHgwOSwweDhiLDB4ODAsMHgyMiwweGUwLDB4NDgsMHhiMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDAwLDB4MDIsMHg4MiwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhhYzYwLCAwLCB7MHg4OCwweGIwLDB4MDIsMHg0NCwweDAwLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwOCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzcwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzLDB4ODAsMHgyMCwweGUwLDB4MDgsMHgzMCwweDBhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY0LDB4MDAsMHhjYSwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhhYzkwLCAwLCB7MHgwYywweGIyLDB4MDMsMHgyYywweDAwLDB4ZGYsMHgwMCwweDNiLDB4YzAsMHg0YywweGY1LDB4MTMsMHgyYywweDA0LDB4ZWYsMHgwMCB9IH0sCi17ICAxNiwgMHhhY2EwLCAwLCB7MHhhMywweGMwLDB4MGQsMHhmMCwweDAzLDB4YTgsMHg0MCwweGNiLDB4MDAsMHhiMiwweDAwLDB4MmMsMHhiMCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhhY2IwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGYwLDB4MDAsMHhmNCwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhY2MwLCAwLCB7MHgwZiwweGIxLDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhY2QwLCAwLCB7MHgzZiwweGMwLDB4MDcsMHhmMCwweDBiLDB4N2MsMHgwOCwweGZmLDB4MDEsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4YTgsMHgwNiB9IH0sCi17ICAxNiwgMHhhY2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4YzUsMHhlZCwweDMzLDB4M2IsMHhjYyB9IH0sCi17ICAxNiwgMHhhY2YwLCAwLCB7MHgwYywweGYwLDB4MDMsMHgzMCwweDQwLDB4ZmYsMHgyNSwweDNmLDB4Y2MsMHgwYywweGYzLDB4ODMsMHgzYywweGQwLDB4ZGYsMHg0OCB9IH0sCi17ICAxNiwgMHhhZDAwLCAwLCB7MHgzNywweDMwLDB4NGMsMHhmMywweDAzLDB4ZmQsMHg4MCwweGNmLDB4MjgsMHgzMywweGQ4LDB4MGMsMHhmMSwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhZDEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVjLDB4ZDAsMHhiYiwweDMxLDB4MjAsMHhjYyB9IH0sCi17ICAxNiwgMHhhZDIwLCAwLCB7MHg4OCwweGYzLDB4NDIsMHgyMCwweDUwLDB4YmYsMHg5MCwweDJmLDB4YzQsMHgwYSwweGY2LDB4MDIsMHg3ZCwweGMwLDB4OGYsMHg0MCB9IH0sCi17ICAxNiwgMHhhZDMwLCAwLCB7MHgyNiwweDQwLDB4OGYsMHhmNiwweDAyLDB4ZmQsMHgwMCwweGZmLDB4MDgsMHgzOSwweGM4LDB4MDgsMHhmNiwweDAyLDB4YTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZDQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4ODAsMHhhMSwweDIwLDB4MjgsMHhjOSB9IH0sCi17ICAxNiwgMHhhZDUwLCAwLCB7MHgwOCwweDMwLDB4OWEsMHgwMCwweDA5LDB4YjMsMHgwMCwweDJjLDB4YzAsMHgyMCwweDMwLDB4MDIsMHg0YywweDkwLDB4ODMsMHgyMCB9IH0sCi17ICAxNiwgMHhhZDYwLCAwLCB7MHgwMiwweDA4LDB4MGIsMHgzMywweDEyLDB4Y2QsMHg4MCwweDkzLDB4MjAsMHgyNCwweGQ4LDB4MDgsMHgzNCwweDIyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhhZDcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGFlLDB4MDAsMHhiYiwweDEwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhhZDgwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHgyNiwweDAxLDB4M2IsMHgwMSwweDZlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHg0YywweDA4LDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhhZDkwLCAwLCB7MHhhMiwweDg5LDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHg2YSwweGMxLDB4MjgsMHhiMCwweDAyLDB4YjAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZGEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweDZlLDB4MDAsMHhlOCwweGMxLDB4M2EsMHhjMCB9IH0sCi17ICAxNiwgMHhhZGIwLCAwLCB7MHgyYywweGIwLDB4NDMsMHgyNiwweDAwLDB4ZmIsMHgwNiwweDNlLDB4YzEsMHgwYywweGIwLDB4MGIsMHgyYywweDAyLDB4Y2IsMHgwMCB9IH0sCi17ICAxNiwgMHhhZGMwLCAwLCB7MHgzNCwweDIyLDB4OWYsMHhiMCwweDQzLDB4ZWMsMHgwMCwweDliLDB4MDIsMHgzNiwweGMxLDB4OGMsMHhiMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYywweDgwLDB4M2QsMHhkMCB9IH0sCi17ICAxNiwgMHhhZGUwLCAwLCB7MHgyZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmIsMHgwMCwweDNkLDB4YzAsMHgwNywweDMwLDB4MDMsMHhiYywweDAwLDB4ZWYsMHgwNCB9IH0sCi17ICAxNiwgMHhhZGYwLCAwLCB7MHgzZiwweGUwLDB4NWUsMHhiMCwweDAxLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgxYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhjYiwweDAxLDB4M2UsMHhjOSB9IH0sCi17ICAxNiwgMHhhZTEwLCAwLCB7MHgwYywweGIwLDB4MTcsMHgyMCwweDg0LDB4ZWIsMHgwMCwweGIyLDB4YzEsMHgwZCwweGIwLDB4MDMsMHg2YywweDAwLDB4YzMsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTIwLCAwLCB7MHgzMiwweDUwLDB4MGYsMHhiMCwweDAzLDB4MGMsMHg0MCwweGMzLDB4MDAsMHg3ZSwweGMwLDB4MGMsMHgzMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHg4YSwweDU4LDB4MmUsMHhlMCB9IH0sCi17ICAxNiwgMHhhZTQwLCAwLCB7MHg0OCwweGYwLDB4MDIsMHgyZCwweDAwLDB4ZWYsMHgwMSwweDIzLDB4YzAsMHgwOCwweGYwLDB4MjIsMHgzYywweDA0LDB4OGYsMHg2MCB9IH0sCi17ICAxNiwgMHhhZTUwLCAwLCB7MHgzNiwweDU0LDB4MGIsMHhmMCwweDBhLDB4M2QsMHg0MCwweDhmLDB4MDAsMHgyZiwweGMwLDB4MDgsMHhmMCwweDAzLDB4NzIsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQwLDB4MDAsMHg4OSwweDgwLDB4MmMsMHgxMCB9IH0sCi17ICAxNiwgMHhhZTcwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHg0OSwweDAwLDB4YTMsMHhhMCwweDI0LDB4YzAsMHgwOSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHhjOSB9IH0sCi17ICAxNiwgMHhhZTgwLCAwLCB7MHgyMCwweDkwLDB4NDIsMHgzMCwweDEyLDB4NGQsMHgwMCwweDgzLDB4MDAsMHg2YSwweGMwLDB4MDksMHgzMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDE2LDB4MDAsMHg4NSwweDgwLDB4NmQsMHg2MiB9IH0sCi17ICAxNiwgMHhhZWEwLCAwLCB7MHgwOCwweDdlLDB4MDIsMHg1NiwweDQwLDB4MjcsMHg4MCwweDI1LDB4ZTAsMHgxOSwweDc4LDB4MDYsMHgwZSwweDAwLDB4ODMsMHg4MCB9IH0sCi17ICAxNiwgMHhhZWIwLCAwLCB7MHg2MSwweGEwLDB4MGIsMHg3OCwweDAyLDB4NGUsMHgwMCwweDg3LDB4ODIsMHg2ZCwweGUwLDB4MDksMHg3OSwweDAyLDB4NDgsMHgwMCB9IH0sCi17ICAxNiwgMHhhZWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDJjLDB4MDIsMHhjMywweDYxLDB4M2MsMHg4OCB9IH0sCi17ICAxNiwgMHhhZWQwLCAwLCB7MHgyYywweGJhLDB4MTIsMHg0OSwweDEwLDB4ZTMsMHgyYywweDM2LDB4YzAsMHgwZCwweDMwLDB4NTMsMHg0YywweDQ0LDB4YzMsMHgwMCB9IH0sCi17ICAxNiwgMHhhZWUwLCAwLCB7MHgyMCwweDAxLDB4MGYsMHgzMSwweDAzLDB4NGMsMHgwMCwweGMzLDB4MDEsMHgzYywweGMwLDB4MmQsMHhiMSwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhhZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHhhZjAwLCAwLCB7MHg0ZiwweGYxLDB4MDksMHhiMCwweDAwLDB4ZmYsMHgwMCwweDNiLDB4YzAsMHgwZSwweGY0LDB4MDEsMHhmZCwweDI0LDB4ZmYsMHg0MCB9IH0sCi17ICAxNiwgMHhhZjEwLCAwLCB7MHhiZiwweGMwLDB4MDcsMHhmMCwweDAzLDB4YmMsMHgwMCwweDZmLDB4MTAsMHgzZiwweGM0LDB4MWUsMHhmMSwweDgzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhhZjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGM0LDB4MDAsMHhlOCwweDA0LDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhhZjMwLCAwLCB7MHgwYywweGI2LDB4MDMsMHhlOCwweDAyLDB4Y2IsMHgwMCwweDM2LDB4Y2EsMHgwZiwweGI1LDB4MDMsMHhhZCwweDAwLDB4ZmIsMHgyMCB9IH0sCi17ICAxNiwgMHhhZjQwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHhiMywweDAzLDB4ZWMsMHg4MCwweGZiLDB4YTgsMHgzMiwweGM2LDB4OGMsMHhiNiwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhhZjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDk0LDB4MDIsMHhlNiwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhZjYwLCAwLCB7MHgwOCwweDczLDB4MDIsMHhkYywweDAwLDB4ODcsMHg3MCwweDJkLDB4ZDAsMHgwYiwweGYwLDB4MDIsMHgxYywweDg0LDB4YjcsMHgyMCB9IH0sCi17ICAxNiwgMHhhZjcwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MCwweDgyLDB4ZGQsMHgyNCwweGI3LDB4NDAsMHgzNCwweGM5LDB4MjgsMHg3MiwweDgyLDB4OTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhZjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweGJlLDB4MDIsMHhhYywweDgwLDB4YTEsMHgyMCB9IH0sCi17ICAxNiwgMHhhZjkwLCAwLCB7MHgwOCwweDc5LDB4MDAsMHhjZSwweDA0LDB4ODcsMHg4MCwweDY1LDB4ZTAsMHgwYiwweDdhLDB4MDIsMHg5ZSwweDAwLDB4YjcsMHg5MCB9IH0sCi17ICAxNiwgMHhhZmEwLCAwLCB7MHg2ZCwweGEwLDB4MGIsMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI3LDB4ODAsMHgyMSwweGUwLDB4MDgsMHg3OCwweDAyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhZmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGVkLDB4ODIsMHhhYiwweGUwLDB4MjAsMHhlNCB9IH0sCi17ICAxNiwgMHhhZmMwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhlZSwweDA0LDB4ODMsMHgwMCwweDJjLDB4YzEsMHgxYiwweDMwLDB4MDIsMHgwYywweDA4LDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhZmQwLCAwLCB7MHg2NCwweGY2LDB4MGIsMHhiMCwweDAyLDB4Y2MsMHgwNCwweGIzLDB4MDAsMHgyNiwweGMwLDB4MDgsMHgzMCwweDAyLDB4OTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhZmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJiLDB4ODAsMHhlZSwweDQ5LDB4MzEsMHhhMCB9IH0sCi17ICAxNiwgMHhhZmYwLCAwLCB7MHgyYywweGEwLDB4MDMsMHhmYSwweDAwLDB4Y2EsMHgwMiwweDM2LDB4ODAsMHgwZiwweGEwLDB4MDMsMHhhOCwweDAwLDB4ZmEsMHgwMiB9IH0sCi17ICAxNiwgMHhiMDAwLCAwLCB7MHgzZiwweDkwLDB4MGYsMHhhMCwweDYzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhhMCwweDIzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhiMDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MGEsMHhlOCwweDAwLDB4M2UsMHgwOCB9IH0sCi17ICAxNiwgMHhiMDIwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlMywweDUwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDMwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMSwweGY4LDB4MDEsMHg3ZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4NDAsMHhjOSwweGExLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhiMDUwLCAwLCB7MHgyMCwweDExLDB4MDEsMHhhNiwweDQwLDB4YzksMHg4NCwweDM2LDB4NDAsMHgwZCwweDkwLDB4MDMsMHg0NCwweDAwLDB4NDEsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDYwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHg5MCwweDBiLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4NGMsMHgxMCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiMDcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDgyLDB4YTIsMHg0MCB9IH0sCi17ICAxNiwgMHhiMDgwLCAwLCB7MHgwOCwweDljLDB4MDIsMHgyNSwweDAwLDB4ODksMHhjOCwweDIyLDB4NDAsMHgwOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4ODksMHgyMCB9IH0sCi17ICAxNiwgMHhiMDkwLCAwLCB7MHgyMiwweDYwLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgxMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAzLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiMGEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDA0LDB4MjIsMHhjYSB9IH0sCi17ICAxNiwgMHhiMGIwLCAwLCB7MHgwYSwweDkwLDB4MGEsMHgyNSwweDAyLDB4ODksMHgyMCwweDIwLDB4NDAsMHgyOCwweDEwLDB4MDIsMHg2NCwweDAxLDB4YTksMHgwMCB9IH0sCi17ICAxNiwgMHhiMGMwLCAwLCB7MHgyMiwweDRiLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwMSwweGI5LDB4MDAsMHgyZSwweDQxLDB4MjgsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiMGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4OTAsMHg4MSwweGEwLDB4MjAsMHg0OCB9IH0sCi17ICAxNiwgMHhiMGUwLCAwLCB7MHgwYSwweDMyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgwMCwweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwNCwweGQwLDB4YTEsMHgyMCB9IH0sCi17ICAxNiwgMHhiMGYwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHgxMSwweDAyLDB4MDYsMHgwMCwweGIxLDB4MzEsMHgyYywweDQ4LDB4MDgsMHgxNCwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiMTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDIsMHhjOCwweDU0LDB4MzIsMHgxNCB9IH0sCi17ICAxNiwgMHhiMTEwLCAwLCB7MHgwZSwweDg1LDB4MDMsMHgyMSwweDQ0LDB4YzgsMHgyOCwweGIyLDB4MWEsMHg0YywweDg2LDB4OTMsMHg2MSwweDE0LDB4ZTgsMHg1MCB9IH0sCi17ICAxNiwgMHhiMTIwLCAwLCB7MHgyMiwweDE0LDB4MGYsMHg4NiwweDgzLDB4MjEsMHg0MCwweGYwLDB4NDAsMHgxZSwweDE0LDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhiMTMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweDc0LDB4NDQsMHhmNSwweDEwLDB4M2YsMHg0NCB9IH0sCi17ICAxNiwgMHhiMTQwLCAwLCB7MHgwZCwweDkxLDB4MDMsMHg3NCwweDQwLDB4ZjksMHgwMCwweDNlLDB4NDgsMHgwYiwweDkyLDB4MDMsMHhlNCwweGMyLDB4ZDksMHgxMCB9IH0sCi17ICAxNiwgMHhiMTUwLCAwLCB7MHhiZiwweDQwLDB4MGYsMHg5MiwweDAzLDB4ZTUsMHgwNCwweGY5LDB4MzAsMHgzZSwweDQ0LDB4MGYsMHg5NCwweDQzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhiMTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MjIsMHhjZCwweGExLDB4MzMsMHg2MSB9IH0sCi17ICAxNiwgMHhiMTcwLCAwLCB7MHgwYywweGQ4LDB4ZDMsMHgzNCwweDEwLDB4Y2QsMHhhOCwweDNlLDB4NjAsMHg4ZSwweDljLDB4OTMsMHhhNywweDA4LDB4Y2QsMHg4MCB9IH0sCi17ICAxNiwgMHhiMTgwLCAwLCB7MHgzMywweDQwLDB4MGUsMHg5YSwweGQzLDB4MzYsMHhhMCwweGM5LDB4ODAsMHgzMiwweDYwLDB4MGMsMHg5OSwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiMTkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUzLDB4ODgsMHg4YSwweGEwLDB4MjAsMHgyOCB9IH0sCi17ICAxNiwgMHhiMWEwLCAwLCB7MHgwOCwweDgwLDB4MjIsMHgyMCwweDEyLDB4ODgsMHg0MCwweDJjLDB4MjgsMHgwOCwweDhhLDB4MDIsMHgyMiwweDAwLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMWIwLCAwLCB7MHgyMiwweDAwLDB4MGIsMHg4YywweDAzLDB4MjEsMHgwMCwweDg4LDB4ZDAsMHhhMiwweDNlLDB4MjgsMHg4ZCwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhiMWMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGNlLDB4MjAsMHhhMSwweDQ4LDB4MjAsMHg1MiB9IH0sCi17ICAxNiwgMHhiMWQwLCAwLCB7MHgyOSwweDEwLDB4MDIsMHgyNCwweDAzLDB4ODEsMHgwMCwweDJjLDB4NTIsMHgwYSwweDEwLDB4MTIsMHg4NSwweDEwLDB4OTEsMHg0MCB9IH0sCi17ICAxNiwgMHhiMWUwLCAwLCB7MHhhNCwweDQwLDB4MGEsMHgxMiwweDgyLDB4NDQsMHgwMCwweDkxLDB4MjgsMHgyNCwweDQwLDB4MjgsMHgxMiwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiMWYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDAsMHhhOSwweDE0LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhiMjAwLCAwLCB7MHgwOSwweDkwLDB4MDIsMHhhNCwweDAxLDB4ODksMHgwNCwweDJjLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhiMjEwLCAwLCB7MHgyMiwweDQ0LDB4NGIsMHgxMCwweDQyLDB4MjQsMHgxNCwweDk5LDB4MDAsMHgyNiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhiMjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4NDAsMHhlOSwweDQwLDB4YjIsMHg3OCB9IH0sCi17ICAxNiwgMHhiMjMwLCAwLCB7MHgwZCwweDkwLDB4MGIsMHgyNCwweDIyLDB4YzksMHgwMywweDNlLDB4NDEsMHgwZSwweDkwLDB4MDMsMHhhNCwweDAyLDB4ZDksMHgwMCB9IH0sCi17ICAxNiwgMHhiMjQwLCAwLCB7MHgxNiwweDU4LDB4MDYsMHg5MCwweDBiLDB4NjQsMHgwMiwweGQ5LDB4MDAsMHgzNiwweDQwLDB4MGMsMHg5MCwweDBiLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhiMjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDg0LDB4MDAsMHhkOSwweDgwLDB4M2UsMHg0YSB9IH0sCi17ICAxNiwgMHhiMjYwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHg2NCwweDIwLDB4ZjksMHgwOCwweDNlLDB4NDEsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTEsMHgwOCB9IH0sCi17ICAxNiwgMHhiMjcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGUxLDB4MDAsMHgzOCwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiMjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDksMHhmMCwweDQwLDB4YjAsMHgxMCB9IH0sCi17ICAxNiwgMHhiMjkwLCAwLCB7MHg0YywweDAwLDB4MGIsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MDAsMHgxYywweDAwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmEwLCAwLCB7MHgzNiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhiMmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHgzZSwweDg4LDB4MjMsMHhhMiB9IH0sCi17ICAxNiwgMHhiMmMwLCAwLCB7MHg0OCwweGUwLDB4MDAsMHgxOSwweDgwLDB4YmUsMHg4OCwweDJlLDB4ODAsMHgwZCwweGEwLDB4NDIsMHhlOCwweDAwLDB4OGUsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmQwLCAwLCB7MHgyMywweDkwLDB4MDgsMHhhMCwweDBhLDB4M2EsMHgwMCwweGRhLDB4MDAsMHgzNiwweDgwLDB4MGIsMHhhMCwweDBhLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDgwLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHhiMmYwLCAwLCB7MHgyOCwweDMwLDB4YzIsMHgwZiwweDEwLDB4YjMsMHg0MCwweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHhlYywweDExLDB4ODMsMHg0MCB9IH0sCi17ICAxNiwgMHhiMzAwLCAwLCB7MHgyOCwweGQyLDB4MGEsMHgzMCwweDAyLDB4MGMsMHhjMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNiwweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhiMzIwLCAwLCB7MHgwOCwweDIwLDB4YzIsMHgxYywweDEwLDB4YjUsMHgwMCwweDJkLDB4YzgsMHgwYSwweDcyLDB4MDIsMHhkYywweDQwLDB4ODUsMHgwOCB9IH0sCi17ICAxNiwgMHhiMzMwLCAwLCB7MHgyOSwweGEyLDB4MWEsMHg3MiwweDIyLDB4MGMsMHgwMCwweDkzLDB4MzAsMHgwNSwweGM0LDB4MGIsMHgzMiwweDIyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDE2LDB4MDAsMHhiMiwweDgwLDB4MzEsMHgyMCB9IH0sCi17ICAxNiwgMHhiMzUwLCAwLCB7MHgwYywweDU4LDB4MDMsMHgxZSwweDAwLDB4ZjcsMHg4MCwweDM5LDB4ZjgsMHgwYiwweDdjLDB4MjIsMHhjZSwweDQwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhiMzYwLCAwLCB7MHg5YiwweDYwLDB4MmUsMHgzYiwweDAzLDB4MWEsMHgwMCwweGM3LDB4YTgsMHgxMSwweGUwLDB4MGYsMHg3OCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhiMzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGE0LDB4MDAsMHhmYSwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhiMzgwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHhlOCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4ZDAsMHgyZCwweGI2LDB4MDMsMHhlZCwweDAyLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhiMzkwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHhiMCwweDA3LDB4ZWMsMHgwMCwweGZiLDB4NjAsMHgzZSwweGM4LDB4MGYsMHhiNSwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhiM2EwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweDgwLDB4MzMsMHhhMCB9IH0sCi17ICAxNiwgMHhiM2IwLCAwLCB7MHgwYywweGY4LDB4MGIsMHgzMiwweDQwLDB4Y2UsMHg4MSwweDM3LDB4ZjAsMHgwYywweGJjLDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4NCB9IH0sCi17ICAxNiwgMHhiM2MwLCAwLCB7MHgzMywweGUwLDB4MmMsMHhmOCwweDgzLDB4ZTYsMHgwMiwweGNmLDB4ODUsMHgzMywweGYwLDB4MGMsMHhmYywweDAzLDB4MDAsMHgxNCB9IH0sCi17ICAxNiwgMHhiM2QwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhiZSwweDAwLDB4MzUsMHhjNiB9IH0sCi17ICAxNiwgMHhiM2UwLCAwLCB7MHgyOCwweDMwLDB4MDIsMHgzMCwweDQwLDB4ODcsMHgwMCwweDIzLDB4YzAsMHgwOCwweDdhLDB4MDIsMHhkYywweDAwLDB4YmUsMHgwMCB9IH0sCi17ICAxNiwgMHhiM2YwLCAwLCB7MHgyMywweGMwLDB4MDgsMHg3MCwweDEyLDB4ZmUsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwLDB4MDgsMHhmMCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiNDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk1LDB4MjAsMHhiNiwweDAwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhiNDEwLCAwLCB7MHgwOCwweDMxLDB4MDIsMHg1YywweDAxLDB4ODcsMHgwMCwweDI1LDB4YzAsMHgwOCwweDcyLDB4MDIsMHhkYywweDAwLDB4YjYsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDIwLCAwLCB7MHgyMSwweGQwLDB4MDksMHg3MCwweDAyLDB4ZDQsMHgwOCwweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGM0LDB4MDAsMHhiMCwweGUwLDB4MjQsMHg2MCB9IH0sCi17ICAxNiwgMHhiNDQwLCAwLCB7MHgwOCwweDIwLDB4MDYsMHg0OCwweDAxLDB4ODAsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDA0LDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDUwLCAwLCB7MHgyMCwweDg0LDB4MGIsMHgzMCwweDAyLDB4ZTgsMHgwMCwweDliLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhiNDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhiOSwweGUwLDB4MzIsMHg4MCB9IH0sCi17ICAxNiwgMHhiNDcwLCAwLCB7MHg2YywweGIwLDB4MjMsMHg2ZiwweDAwLDB4YzMsMHgwMCwweDM3LDB4YzEsMHgzYywweGYwLDB4MDMsMHhmYywweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDgwLCAwLCB7MHhiMCwweGMwLDB4MDksMHhmMCwweDAzLDB4ZWMsMHgxMCwweGRmLDB4MDAsMHg3MywweGMwLDB4MGMsMHhmMCwweDBiLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MTAsMHhmOCwweDAwLDB4M2UsMHg0MiB9IH0sCi17ICAxNiwgMHhiNGEwLCAwLCB7MHgwZiwweDI0LDB4MDMsMHhhOCwweDYwLDB4ZjgsMHgwMCwweDNjLDB4YzEsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHg0MCB9IH0sCi17ICAxNiwgMHhiNGIwLCAwLCB7MHgzZSwweDgwLDB4MDQsMHhiMCwweDIzLDB4ZTEsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY0LDB4MDAsMHhlZSwweDAwLDB4M2QsMHgzMCB9IH0sCi17ICAxNiwgMHhiNGQwLCAwLCB7MHgwYywweGMwLDB4MDMsMHgxNCwweDAwLDB4Y2MsMHhhMCwweGIzLDB4YzAsMHg0YywweDcwLDB4MDMsMHg1YywweDEwLDB4ZGYsMHgwMCB9IH0sCi17ICAxNiwgMHhiNGUwLCAwLCB7MHgzZiwweDAwLDB4MGMsMHhmMCwweDAzLDB4ZjgsMHgwMCwweGNmLDB4MDAsMHgyMywweGMwLDB4MGMsMHhmMCwweDAzLDB4MDAsMHg0MCB9IH0sCi17ICAxNiwgMHhiNGYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDY0LDB4MDAsMHhiYSwweDgxLDB4MmUsMHg1OCB9IH0sCi17ICAxNiwgMHhiNTAwLCAwLCB7MHgwOCwweDg4LDB4MDIsMHgyNywweDgwLDB4ODksMHgyMCwweDIyLDB4YzAsMHgyOCwweGIwLDB4MDIsMHgyYywweDAwLDB4ODgsMHg4MyB9IH0sCi17ICAxNiwgMHhiNTEwLCAwLCB7MHgyZSwweDIwLDB4MDUsMHhiMCwweDYyLDB4ZTMsMHgwMCwweDhiLDB4MDAsMHgyYSwweGMwLDB4MDgsMHhiMCwweDAzLDB4NjAsMHg0MCB9IH0sCi17ICAxNiwgMHhiNTIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI2LDB4MDAsMHhiOSwweDgxLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhiNTMwLCAwLCB7MHgwOCwweDhjLDB4MDYsMHgyNiwweDAwLDB4ODgsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MTYsMHg2YywweDAwLDB4OTgsMHg4OCB9IH0sCi17ICAxNiwgMHhiNTQwLCAwLCB7MHgyZSwweDIwLDB4MDgsMHhiMCwweDA0LDB4ZTMsMHgwMSwweDBiLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMCwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhiNTYwLCAwLCB7MHgyOCwweDAwLDB4MGUsMHgwMCwweDEwLDB4ODAsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMyLDB4MDIsMHgwYywweDAwLDB4ODAsMHgwNCB9IH0sCi17ICAxNiwgMHhiNTcwLCAwLCB7MHgyZSwweDIwLDB4MDksMHgzMCwweDAyLDB4YzQsMHgxMiwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhmYSwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTkwLCAwLCB7MHgyYywweDkxLDB4MDMsMHgyMCwweDAwLDB4OGEsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4MDMsMHg3YywweDAwLDB4ZDgsMHgwMCB9IH0sCi17ICAxNiwgMHhiNWEwLCAwLCB7MHgyZSwweDQwLDB4MGMsMHhmMCwweDAzLDB4ZTAsMHg4MCwweGNmLDB4MDAsMHgzYiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhiNWIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmYywweDAxLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhiNWMwLCAwLCB7MHgwZiwweGMwLDB4MTMsMHhmMCwweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzEsMHgwZiwweGY0LDB4MjMsMHhmYywweDA4LDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHhiNWQwLCAwLCB7MHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHg0MCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhiNWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MjAsMHhjZCwweDEwLDB4MzksMHhjOCB9IH0sCi17ICAxNiwgMHhiNWYwLCAwLCB7MHgwZCwweGMxLDB4MDMsMHgzYywweDgwLDB4ZWYsMHg5MCwweDIzLDB4ZDgsMHgwZiwweGY4LDB4MDAsMHhmZSwweDAwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhiNjAwLCAwLCB7MHgxZiwweGQwLDB4MGYsMHhmOSwweDAzLDB4ZmYsMHgwMCwweGU3LDB4YzAsMHgzMywweGM0LDB4MGYsMHhmMCwweDAzLDB4YjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNjEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMCwweGZlLDB4MDIsMHg4OSwweDQwLDB4MjMsMHhmMCB9IH0sCi17ICAxNiwgMHhiNjIwLCAwLCB7MHgwOCwweDg1LDB4MTAsMHgzYywweDAwLDB4OGIsMHgwMCwweGEzLDB4ZGMsMHg0YiwweGIyLDB4ODIsMHhlYywweDIwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhiNjMwLCAwLCB7MHgyNiwweGMwLDB4NGIsMHhiMCwweDAyLDB4ZWMsMHgxMCwweGI5LDB4MDQsMHgyYSwweGM5LDB4MGIsMHhiNSwweDgwLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhiNjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweGNjLDB4MDAsMHg4MSwweDY0LDB4MjgsMHhjNCB9IH0sCi17ICAxNiwgMHhiNjUwLCAwLCB7MHgwOSwweGIyLDB4MGEsMHgwYywweGYwLDB4YTMsMHgyMCwweDIwLDB4YzgsMHgwYiwweDMyLDB4MDIsMHhlYywweDAyLDB4ODMsMHgwOCB9IH0sCi17ICAxNiwgMHhiNjYwLCAwLCB7MHgyYywweGM4LDB4MDksMHgzMiwweDAyLDB4Y2MsMHg4MCwweGFiLDB4YTAsMHgyMCwweGM4LDB4MGIsMHgzMiwweDAwLDB4YjIsMHgwMSB9IH0sCi17ICAxNiwgMHhiNjcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MTAsMHg4OSwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhiNjgwLCAwLCB7MHgwOCwweGIyLDB4MTIsMHgyYywweDAyLDB4MGIsMHgwMCwweDIyLDB4YzAsMHgwYiwweGI4LDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhiNjkwLCAwLCB7MHgyNiwweGMwLDB4NGIsMHhiMCwweDQ2LDB4ZWMsMHgwMCwweGI5LDB4MDAsMHgwYSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhiNmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZDAsMHgxNSwweGVjLDB4MTAsMHhjOSwweGUwLDB4M2EsMHhjMCB9IH0sCi17ICAxNiwgMHhiNmIwLCAwLCB7MHgwZCwweDI4LDB4MDMsMHgyYywweDAwLDB4ZWIsMHgxMCwweDMyLDB4YzAsMHgwZiwweDgyLDB4MDMsMHhjNCwweDAwLDB4Y2IsMHgwMCB9IH0sCi17ICAxNiwgMHhiNmMwLCAwLCB7MHgzZSwweGMxLDB4MGYsMHhiMCwweDA2LDB4ZWMsMHgwOCwweGU5LDB4MDAsMHhiMiwweGMwLDB4MGYsMHhiMCwweDEzLDB4OTAsMHgwNCB9IH0sCi17ICAxNiwgMHhiNmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDljLDB4MDAsMHhmNSwweGEwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhiNmUwLCAwLCB7MHgwZiwweGU4LDB4MDMsMHhmYywweDA4LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhiNmYwLCAwLCB7MHgzNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDQsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgxMCwweGFjLDB4MDAsMHhmOSwweDQwLDB4MzQsMHhjMCB9IH0sCi17ICAxNiwgMHhiNzEwLCAwLCB7MHgwZCwweGI0LDB4MDMsMHgyYywweDAwLDB4ZGIsMHg0MCwweDNlLDB4YzAsMHgyYywweDgwLDB4MDMsMHg2NCwweDA4LDB4ZmIsMHgxMCB9IH0sCi17ICAxNiwgMHhiNzIwLCAwLCB7MHgzZSwweGM2LDB4OGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4ODAsMHgzMiwweGMwLDB4MGMsMHhiMCwweDBiLDB4MTQsMHgwNCB9IH0sCi17ICAxNiwgMHhiNzMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDNlLDB4MjAsMHhlOSwweGM4LDB4MzcsMHhkNCB9IH0sCi17ICAxNiwgMHhiNzQwLCAwLCB7MHg0OCwweGFhLDB4MjIsMHgxYywweDAwLDB4OGIsMHgwMCwweDZmLDB4ZTAsMHgwOCwweDg1LDB4ODIsMHhlZCwweDQwLDB4YmIsMHg4NCB9IH0sCi17ICAxNiwgMHhiNzUwLCAwLCB7MHgyZiwweGMwLDB4NGIsMHhiOCwweDAzLDB4YWQsMHg0MCwweGIzLDB4MDAsMHgyMywweGQ0LDB4MDgsMHhmNywweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDRjLDB4MDAsMHhiMSwweDY0LDB4YTQsMHhjMCB9IH0sCi17ICAxNiwgMHhiNzcwLCAwLCB7MHgwOSwweDIwLDB4MGEsMHgwYywweDA0LDB4YjgsMHgwMCwweDZjLDB4YzAsMHgwOCwweDM4LDB4MDIsMHhjOCwweDQwLDB4YjMsMHg4MCB9IH0sCi17ICAxNiwgMHhiNzgwLCAwLCB7MHgyYywweGQxLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4M2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjAsMHgwMSwweDFlLDB4MDAsMHhhNSwweDgwLDB4MjUsMHhlMCB9IH0sCi17ICAxNiwgMHhiN2EwLCAwLCB7MHg4OCwweDNhLDB4MTIsMHgxZSwweDAwLDB4YTYsMHg5MCwweDJkLDB4ZTIsMHgwOCwweDc5LDB4MDIsMHhkYSwweDAwLDB4YjcsMHg4MiB9IH0sCi17ICAxNiwgMHhiN2IwLCAwLCB7MHgyZCwweGUwLDB4MDMsMHg3OCwweDgyLDB4OWUsMHgwMCwweGJjLDB4YzEsMHgyOSwweGUwLDB4MDgsMHg3OCwweDAyLDB4MmMsMHgxMCB9IH0sCi17ICAxNiwgMHhiN2MwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDksMHgwOCwweDBjLDB4MDAsMHhmMywweDAwLDB4MzQsMHhjMCB9IH0sCi17ICAxNiwgMHhiN2QwLCAwLCB7MHgwZCwweDNlLDB4MDMsMHgwYywweDAwLDB4ZjAsMHg0MCwweDJlLDB4YzAsMHgwYywweDMwLDB4NDMsMHhjOCwweDAwLDB4ZjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiN2UwLCAwLCB7MHgzYywweGMwLDB4MDcsMHgzMCwweDAzLDB4Y2MsMHg4MCwweGYyLDB4MDAsMHgzOCwweGMwLDB4MGMsMHgzMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhiN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxOSwweGJkLDB4MjAsMHhmNywweDAwLDB4M2YsMHhjMiB9IH0sCi17ICAxNiwgMHhiODAwLCAwLCB7MHgwZiwweGYxLDB4MGIsMHhkYywweDIwLDB4ZGUsMHgwNCwweDNmLDB4ZDIsMHgwNywweGYwLDB4MTMsMHhmOCwweDQwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhiODEwLCAwLCB7MHgzZiwweGMwLDB4MDcsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzNywweGMwLDB4MGYsMHg3MCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhiODIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YWEsMHgwNSwweGNmLDB4MDAsMHhkYywweDAwLDB4M2UsMHhjYSB9IH0sCi17ICAxNiwgMHhiODMwLCAwLCB7MHgwZiwweGEwLDB4MDAsMHhhYywweDkyLDB4YzksMHgwMCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MTEsMHhhNCwweDA4LDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhiODQwLCAwLCB7MHgyZSwweGMwLDB4NGYsMHhiMCwweDIzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGM0LDB4MGYsMHhiMCwweDAzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHhiODUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHg5MSwweDljLDB4MDAsMHg4NCwweDAwLDB4MDEsMHhjMCB9IH0sCi17ICAxNiwgMHhiODYwLCAwLCB7MHg0YiwweDcwLDB4MjIsMHgxYywweGMwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHg0YiwweDcwLDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMSB9IH0sCi17ICAxNiwgMHhiODcwLCAwLCB7MHgyNSwweGQ4LDB4MGIsMHg3MCwweDIyLDB4ZGMsMHgwMCwweGI2LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MiwweDIyLDB4ZjIsMHgwNCB9IH0sCi17ICAxNiwgMHhiODgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4ODAsMHg5NywweDgwLDB4YTksMHhlMCB9IH0sCi17ICAxNiwgMHhiODkwLCAwLCB7MHgwYiwweGY4LDB4MDIsMHhjZSwweDA4LDB4ODUsMHg4MCwweDI5LDB4ZTgsMHgwYiwweGZjLDB4MDIsMHgxNywweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHhiOGEwLCAwLCB7MHgyZCwweGUwLDB4OGIsMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI0LDB4YzAsMHgyZCwweGU4LDB4MGIsMHg3OSwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiOGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDA4LDB4YTAsMHhjMCB9IH0sCi17ICAxNiwgMHhiOGMwLCAwLCB7MHg4YiwweDNjLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweGEwLDB4YzAsMHgxYiwweDNjLDB4MGEsMHgwZiwweDI5LDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiOGQwLCAwLCB7MHgyNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4ODAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiOGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhkZSwweDAwLDB4M2EsMHg4MCB9IH0sCi17ICAxNiwgMHhiOGYwLCAwLCB7MHgwZiwweGVhLDB4MDIsMHhlOCwweDAwLDB4Y2UsMHgwMCwweDNhLDB4ODAsMHgwZiwweGUwLDB4MDMsMHgzOCwweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiOTAwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGZlLDB4MDAsMHgzZSwweDgwLDB4MGIsMHhhMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiOTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDA0LDB4YmEsMHgwMSB9IH0sCi17ICAxNiwgMHhiOTIwLCAwLCB7MHgwZiwweDgyLDB4MGIsMHg4MCwweDA0LDB4ZjgsMHg4MCwweDNlLDB4MDAsMHgwZiwweDg2LDB4MDMsMHg2MCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiOTMwLCAwLCB7MHgzNiwweDAwLDB4MGYsMHg4MCwweDIzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhiOTQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDEsMHhmOSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhiOTUwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4NDksMHgwMCwweDMyLDB4NDAsMHgwYiwweDkwLDB4MDMsMHgyNCwweDAwLDB4NDksMHgwMCB9IH0sCi17ICAxNiwgMHhiOTYwLCAwLCB7MHgzYywweDQwLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwOCwweGM5LDB4MDAsMHgzZSwweDYwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiOTcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDQwLDB4YTIsMHg2NCB9IH0sCi17ICAxNiwgMHhiOTgwLCAwLCB7MHgwYiwweDE4LDB4MDIsMHgyNSwweDAwLDB4ZDEsMHg1MCwweDM2LDB4NTAsMHg0ZSwweDkwLDB4MGEsMHgyNCwweDAyLDB4ODksMHg0MCB9IH0sCi17ICAxNiwgMHhiOTkwLCAwLCB7MHgzYSwweDUxLDB4MDgsMHg5NCwweDAyLDB4ZTUsMHgyMiwweDg5LDB4NDQsMHgyZSwweDYwLDB4MjgsMHg5MCwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiOWEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhiMSwweDA4LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhiOWIwLCAwLCB7MHg0YiwweDkyLDB4ODIsMHhhNSwweDAwLDB4YTksMHgwOCwweDIyLDB4NTAsMHgwYSwweDEwLDB4MDIsMHgwYywweDAwLDB4YTksMHg0MCB9IH0sCi17ICAxNiwgMHhiOWMwLCAwLCB7MHg2ZSwweDUwLDB4MGIsMHg5NCwweDAyLDB4YzQsMHgwNCwweDg5LDB4NDQsMHg2YywweDQ4LDB4ODgsMHgxMCwweDAyLDB4NDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiOWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDA0LDB4MDAsMHhiMSwweDQwLDB4ZTAsMHg0MCB9IH0sCi17ICAxNiwgMHhiOWUwLCAwLCB7MHgxYiwweDE0LDB4MGEsMHgwNCwweDAwLDB4YjksMHgwMCwweDI0LDB4NDAsMHgxYSwweDEwLDB4MjIsMHgwNCwweDAwLDB4YTEsMHgwMCB9IH0sCi17ICAxNiwgMHhiOWYwLCAwLCB7MHgyOCwweDQwLDB4MGEsMHgxMCwweDEyLDB4YzQsMHgwMCwweDgxLDB4MDIsMHg2YywweDQwLDB4MDgsMHgxMiwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiYTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDgsMHhiMCwweDAwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhiYTEwLCAwLCB7MHg0ZiwweDgwLDB4MDIsMHhhMSwweDUwLDB4ZTAsMHg1MCwweDMyLDB4MTQsMHgwZSwweGE1LDB4MjMsMHgyMSwweDQwLDB4ZTgsMHg1MCB9IH0sCi17ICAxNiwgMHhiYTIwLCAwLCB7MHgzZSwweDE0LDB4MGYsMHg4NSwweDAzLDB4ZTEsMHg0MCwweGM4LDB4NTAsMHgxZSwweDE0LDB4MGMsMHg4NSwweDQzLDB4NmUsMHgwMyB9IH0sCi17ICAxNiwgMHhiYTMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZDgsMHgxOSwweGU1LDB4MDAsMHhmZCwweDQwLDB4M2UsMHg1MCB9IH0sCi17ICAxNiwgMHhiYTQwLCAwLCB7MHgwZiwweDc0LDB4MDMsMHhhNSwweDAwLDB4NWQsMHgwMCwweDNlLDB4NTAsMHgwYSwweDUwLDB4MTMsMHhmNCwweDAwLDB4ZDksMHgwMCB9IH0sCi17ICAxNiwgMHhiYTUwLCAwLCB7MHgzYSwweDUwLDB4MGQsMHg5MCwweDEzLDB4ZTQsMHgwMCwweGZmLDB4MDAsMHgzZSwweDUwLDB4MGYsMHg5MSwweDAzLDB4YTYsMHgwNiB9IH0sCi17ICAxNiwgMHhiYTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4OTAsMHhiZCwweGU4LDB4MjMsMHg2YiB9IH0sCi17ICAxNiwgMHhiYTcwLCAwLCB7MHgwYiwweGRhLDB4MGIsMHgzNiwweDgwLDB4YzksMHgwMCwweDMyLDB4NjgsMHg0NiwweDkwLDB4NDMsMHhlNCwweDAwLDB4NDksMHgwMCB9IH0sCi17ICAxNiwgMHhiYTgwLCAwLCB7MHgzMiwweDY4LDB4MGMsMHg5MCwweDAzLDB4MjQsMHg0MCwweGY5LDB4MDAsMHgzMiwweDYwLDB4MGMsMHg5YywweDAzLDB4YzYsMHgwMSB9IH0sCi17ICAxNiwgMHhiYTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweGUwLDB4YTIsMHgxMSB9IH0sCi17ICAxNiwgMHhiYWEwLCAwLCB7MHgwYiwweDhlLDB4MGEsMHgyMywweDIyLDB4ODgsMHg4MCwweDJhLDB4MzEsMHgyOCwweDg4LDB4MDIsMHg2MiwweDAwLDB4ODgsMHg4MCB9IH0sCi17ICAxNiwgMHhiYWIwLCAwLCB7MHhhMiwweDMwLDB4MjgsMHg4OCwweDhhLDB4MjIsMHgwMCwweGI4LDB4YTgsMHhhMiwweDM5LDB4MDgsMHhjYSwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhiYWMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM1LDB4MDgsMHgyMSwweDAwLDB4MDAsMHg0MCB9IH0sCi17ICAxNiwgMHhiYWQwLCAwLCB7MHgwMywweDE0LDB4ODIsMHg4NSwweDgwLDB4YWQsMHgwOCwweDIxLDB4NTIsMHg5OCwweDUwLDB4ODIsMHgzNCwweDIzLDB4ODUsMHgwOCB9IH0sCi17ICAxNiwgMHhiYWUwLCAwLCB7MHgyMSwweDUyLDB4MDgsMHg1MCwweDA2LDB4NTQsMHgwMCwweGI1LDB4MjAsMHgyMSwweDVhLDB4MDksMHg1NCwweDAyLDB4ZDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiYWYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE0LDB4MDAsMHhiOSwweDYxLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhiYjAwLCAwLCB7MHgwYiwweDkwLDB4MDYsMHgwNCwweDAwLDB4YWQsMHgwMCwweDY5LDB4NDAsMHgwOCwweGQwLDB4MDIsMHg3NCwweDAwLDB4ODUsMHgwMCB9IH0sCi17ICAxNiwgMHhiYjEwLCAwLCB7MHgwMSwweDQwLDB4MDAsMHg3MCwweDA2LDB4NzQsMHgwNCwweGI1LDB4MDAsMHgyMywweDQwLDB4MDksMHhkMCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhiYjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNCwweGE0LDB4MDAsMHhlOSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhiYjMwLCAwLCB7MHg0ZiwweDk1LDB4MGIsMHhhNCwweDAwLDB4ZTksMHgwMCwweDMyLDB4NDAsMHg4YywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhiYjQwLCAwLCB7MHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4NjQsMHgwOCwweGY5LDB4MDAsMHgzMiwweDQwLDB4M2QsMHg5MCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHhiYjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwMSwweGE0LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhiYjYwLCAwLCB7MHg0ZiwweDkwLDB4OGIsMHhlNCwweDA0LDB4ZDksMHgwMSwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZDksMHgwMSB9IH0sCi17ICAxNiwgMHhiYjcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGUsMHg5MCwweDAzLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiYjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDQwLDB4MzYsMHgyMCB9IH0sCi17ICAxNiwgMHhiYjkwLCAwLCB7MHgxNywweDg0LDB4MDMsMHgyMCwweDIxLDB4YzgsMHgwMCwweDdlLDB4MDIsMHgyYywweDgwLDB4NDMsMHgyMCwweDAwLDB4ZTgsMHgwMiB9IH0sCi17ICAxNiwgMHhiYmEwLCAwLCB7MHgzZSwweDAxLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4NDAsMHgxZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHhiYmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDJhLDB4ODgsMHhiNiwweDAyLDB4MjMsMHhhMCB9IH0sCi17ICAxNiwgMHhiYmMwLCAwLCB7MHgwYiwweGVjLDB4NDIsMHgyYiwweDAwLDB4ZDIsMHg4MCwweDZlLDB4YjEsMHgwOCwweGEwLDB4MjIsMHgwOCwweDAwLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhiYmQwLCAwLCB7MHgzYSwweDgwLDB4OWYsMHhhMCwweDAzLDB4YTgsMHgwMCwweDhhLDB4MDQsMHgyZSwweDgwLDB4MGIsMHhhOCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiYmUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMiwweDAwLDB4YTQsMHhlMSB9IH0sCi17ICAxNiwgMHhiYmYwLCAwLCB7MHg4YiwweGI0LDB4MzIsMHg0NywweDQ1LDB4ODMsMHg5MCwweDJjLDB4ZjQsMHg0YiwweDM4LDB4MTIsMHgwZSwweDQ0LDB4YTMsMHgwMSB9IH0sCi17ICAxNiwgMHhiYzAwLCAwLCB7MHgyYywweGMwLDB4NGIsMHgzMCwweDAyLDB4Y2UsMHgwMCwweDkzLDB4MDAsMHg2YywweGMwLDB4MGIsMHgzOCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiYzEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNywweDQ0LDB4MjEsMHhjMiB9IH0sCi17ICAxNiwgMHhiYzIwLCAwLCB7MHgwYiwweDU0LDB4MDIsMHg1NCwweDA1LDB4ODcsMHgwMCwweDJjLDB4NDAsMHg5YiwweDZjLDB4MDIsMHgxOCwweDEwLDB4YTcsMHgwNCB9IH0sCi17ICAxNiwgMHhiYzMwLCAwLCB7MHgyOSwweGMwLDB4MGEsMHg3MCwweDAyLDB4OWIsMHgwMCwweDk3LDB4MDQsMHgwZCwweDgwLDB4MGIsMHg2MCwweDgyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhiYzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhmMywweDgwLDB4MzUsMHhlMCB9IH0sCi17ICAxNiwgMHhiYzUwLCAwLCB7MHgwYiwweDM4LDB4MDIsMHg1MiwweDEwLDB4ODQsMHg4MCwweDJkLDB4YTAsMHgwZiwweGY4LDB4MGIsMHgxZSwweDAwLDB4ZTYsMHg4MCB9IH0sCi17ICAxNiwgMHhiYzYwLCAwLCB7MHgxZCwweGEwLDB4MGIsMHg2OCwweDAzLDB4ZmUsMHgwMiwweGQ2LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhiYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGEsMHgxZCwweGFjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMSB9IH0sCi17ICAxNiwgMHhiYzgwLCAwLCB7MHg4YiwweDkwLDB4MGIsMHg4MCwweDBhLDB4YjgsMHgwMSwweDJlLDB4MDAsMHgwYywweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiYzkwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhhMCwweDQzLDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhNiwweDIzLDB4YzIsMHgwMiB9IH0sCi17ICAxNiwgMHhiY2EwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmZSwweDgwLDB4MzMsMHgyMCB9IH0sCi17ICAxNiwgMHhiY2IwLCAwLCB7MHg0ZSwweGM5LDB4MTIsMHhmNiwweDUwLDB4ZWYsMHg5MCwweDNmLDB4ZTAsMHgwYywweDE5LDB4MDAsMHhiNiwweDQyLDB4Y2YsMHgyMSB9IH0sCi17ICAxNiwgMHhiY2MwLCAwLCB7MHgzZiwweGUwLDB4MGUsMHhmOSwweDAyLDB4ZTYsMHhjMCwweGZmLDB4ODAsMHgzZiwweGUwLDB4NGMsMHhkYywweDAzLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiY2QwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YWEsMHgxMSwweDk0LDB4MDAsMHhiNywweDAwLDB4ODEsMHg0MCB9IH0sCi17ICAxNiwgMHhiY2UwLCAwLCB7MHgwOCwweDAzLDB4MDIsMHgxNCwweGM0LDB4ODcsMHgwMSwweDJkLDB4YzgsMHgwOCwweDZhLDB4MTIsMHgzOCwweDQwLDB4ODcsMHgwMiB9IH0sCi17ICAxNiwgMHhiY2YwLCAwLCB7MHgyZCwweGMwLDB4MDgsMHg3MSwweDEyLDB4ZDIsMHg4MCwweGI3LDB4MDAsMHgyZCwweDgwLDB4MDgsMHg2MCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiZDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDEwLDB4MjEsMHg4MCB9IH0sCi17ICAxNiwgMHhiZDEwLCAwLCB7MHgwOCwweGY0LDB4MTIsMHg5NCwweDA0LDB4YTYsMHgwMCwweDJjLDB4YzAsMHgxOCwweGQyLDB4MDIsMHgxNCwweDQ4LDB4ODYsMHgxMCB9IH0sCi17ICAxNiwgMHhiZDIwLCAwLCB7MHgyZCwweDgwLDB4MGEsMHg2MSwweDMyLDB4ZDQsMHgwMCwweGI2LDB4MTgsMHgyZCwweGM0LDB4MDgsMHg1OCwweDAyLDB4MDAsMHgxMCB9IH0sCi17ICAxNiwgMHhiZDMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGM0LDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhiZDQwLCAwLCB7MHg0MCwweGIwLDB4MjIsMHgwNCwweDAwLDB4ODIsMHg4MSwweDBjLDB4YzAsMHgwOCwweDMwLDB4MGEsMHgwYSwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiZDUwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHhhMCwweDAyLDB4YzQsMHgwMCwweGJiLDB4MDAsMHgyZSwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhiZDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhmYiwweDAwLDB4YTAsMHhjMCB9IH0sCi17ICAxNiwgMHhiZDcwLCAwLCB7MHgyNCwweDk0LDB4MjMsMHhhYywweDEwLDB4ZWIsMHhhMCwweDBlLDB4YzAsMHgwYywweGIwLDB4MDIsMHgyZSwweDIwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhiZDgwLCAwLCB7MHgyZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4ODAsMHgzZSwweDQwLDB4NmMsMHhhMCwweDBiLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiZDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGNjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhiZGEwLCAwLCB7MHg4OSwweDkwLDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMiwweDNlLDB4NDAsMHg0ZiwweGEwLDB4MDMsMHg2ZCwweDAxLDB4ZmIsMHg0MSB9IH0sCi17ICAxNiwgMHhiZGIwLCAwLCB7MHgzZSwweGMwLDB4OGYsMHhiNCwweDAzLDB4ZTgsMHgwMCwweGZiLDB4MjAsMHgzZSwweDUwLDB4MGYsMHhhNCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhjMywweDIwLDB4YjIsMHhjMCB9IH0sCi17ICAxNiwgMHhiZGQwLCAwLCB7MHgwZCwweGQwLDB4MDMsMHgzOCwweDAwLDB4Y2QsMHgwMCwweDNmLDB4ODAsMHgwZCwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMiB9IH0sCi17ICAxNiwgMHhiZGUwLCAwLCB7MHgzNiwweDAwLDB4MGMsMHhkMCwweDAzLDB4M2YsMHgwOCwweGZjLDB4MDQsMHgxMiwweGMwLDB4MGMsMHhhMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHhiZGYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDZjLDB4MDIsMHg4YiwweGM4LDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhiZTAwLCAwLCB7MHgwOCwweDk4LDB4MGEsMHgyYSwweDQwLDB4ODksMHgyMCwweDJlLDB4MDEsMHg4ZSwweGIwLDB4MTIsMHhlYywweDgwLDB4YmIsMHhmMCB9IH0sCi17ICAxNiwgMHhiZTEwLCAwLCB7MHgyMiwweGU1LDB4MDgsMHhiZCwweDAyLDB4MmUsMHgwMCwweGJiLDB4OTAsMHgyMiwweGVkLDB4MDgsMHhhMiwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAxLDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTMwLCAwLCB7MHg0OSwweGE4LDB4MWUsMHgwNCwweDAwLDB4OGIsMHgwMSwweDJlLDB4YzAsMHg0OSwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhiZTQwLCAwLCB7MHgyMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MmMsMHgwMCwweGI5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg4MCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhiZTYwLCAwLCB7MHgwOCwweDIwLDB4MDIsMHgwNCwweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDIwLDB4NDIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTcwLCAwLCB7MHgyMCwweGMwLDB4MDIsMHgzMCwweDAyLDB4MDgsMHg4NCwweGIzLDB4MDQsMHgwOCwweDQwLDB4MDgsMHgyMCwweDAyLDB4YzIsMHgxMSB9IH0sCi17ICAxNiwgMHhiZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHg4YiwweDAwLDB4YjIsMHg4MCB9IH0sCi17ICAxNiwgMHhiZTkwLCAwLCB7MHgwZCwweGIxLDB4MDMsMHgyNCwweDAyLDB4Y2IsMHgwMSwweDNlLDB4YzAsMHg0ZCwweDkwLDB4NDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhiZWEwLCAwLCB7MHhiMiwweDAwLDB4MmUsMHg5MCwweDBiLDB4MmMsMHg4MCwweGY4LDB4MDAsMHhiYSwweGMwLDB4MmMsMHg4MCwweDAzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHhiZWIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGY0LDB4MDAsMHg3ZCwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhiZWMwLCAwLCB7MHgwZiwweDcyLDB4MDMsMHhkNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZSwweGYxLDB4NDcsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhiZWQwLCAwLCB7MHgzYiwweGMwLDB4MGQsMHhmMCwweDEzLDB4ZmMsMHg1MCwweGZmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhiZWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4YzQsMHhjYywweDMzLDB4M2YsMHgwNCB9IH0sCi17ICAxNiwgMHhiZWYwLCAwLCB7MHgyYywweGY2LDB4MDMsMHgzOCwweDYwLDB4Y2MsMHg5MCwweGIzLDB4MjAsMHgwZiwweGYxLDB4MjMsMHhmMCwweDYwLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHhiZjAwLCAwLCB7MHgyMywweGM4LDB4MGMsMHhmMiwweDhhLDB4M2MsMHg4MSwweGRmLDB4MzAsMHgzZiwweDY0LDB4MGMsMHhkOCwweDAzLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhiZjEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGUwLDB4YzIsMHg4YSwweDMwLDB4MmUsMHgxOCB9IH0sCi17ICAxNiwgMHhiZjIwLCAwLCB7MHgwOCwweGY1LDB4MzAsMHhhNSwweDk0LDB4NTgsMHgyMiwweDIyLDB4MjEsMHg0YiwweGYzLDB4MDIsMHhlMSwweDAwLDB4OWYsMHg3MCB9IH0sCi17ICAxNiwgMHhiZjMwLCAwLCB7MHgyYiwweGU0LDB4MGEsMHhmNCwweDEyLDB4MWQsMHg0MCwweGFmLDB4NzIsMHgyYywweDQ5LDB4MmYsMHgzMCwweDgyLDB4YTAsMHgwNiB9IH0sCi17ICAxNiwgMHhiZjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4ODAsMHg4MCwweGEwLDB4MmMsMHg5OCB9IH0sCi17ICAxNiwgMHhiZjUwLCAwLCB7MHgwOCwweDMyLDB4MjIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDI4LDB4MDAsMHgwMywweDMyLDB4MDIsMHhjMCwweDg0LDB4YjMsMHgwYyB9IH0sCi17ICAxNiwgMHhiZjYwLCAwLCB7MHgyMCwweGMwLDB4NTgsMHgzMiwweDkyLDB4OGMsMHgzMCwweGEzLDB4MjAsMHgyZSwweGMwLDB4NDgsMHgxMiwweDQyLDB4NjIsMHgwMSB9IH0sCi17ICAxNiwgMHhiZjcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE4LDB4MDAsMHg4YiwweDAwLDB4MmUsMHgyMCB9IH0sCi17ICAxNiwgMHhiZjgwLCAwLCB7MHgwOCwweGIwLDB4MGEsMHgyMCwweDAxLDB4OTgsMHgwMCwweDJhLDB4MjIsMHgwYiwweGIwLDB4MDIsMHhlNiwweDAwLDB4OWIsMHgwMCB9IH0sCi17ICAxNiwgMHhiZjkwLCAwLCB7MHgyMiwweGMwLDB4MGEsMHhiMCwweDEyLDB4YWMsMHgwNCwweGFiLDB4MDAsMHgyZSwweGMwLDB4MDMsMHhiMCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGU1LDB4MDAsMHhjOCwweDAwLDB4M2UsMHhiMCB9IH0sCi17ICAxNiwgMHhiZmIwLCAwLCB7MHgwYywweGIwLDB4MDMsMHgyOSwweDAwLDB4YzgsMHgwMCwweDNhLDB4MjAsMHg0ZiwweGIwLDB4MDMsMHhlMiwweDIwLDB4ZmIsMHgwMSB9IH0sCi17ICAxNiwgMHhiZmMwLCAwLCB7MHhiMCwweGMwLDB4MGMsMHhiMCwweDAzLDB4MmMsMHgwMCwweGZiLDB4MDIsMHgzYywweDQxLDB4MGMsMHg5MCwweDQzLDB4NDgsMHgwNCB9IH0sCi17ICAxNiwgMHhiZmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGEyLDB4ODAsMHhmZSwweDQwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhiZmUwLCAwLCB7MHgwZiwweGYwLDB4NjMsMHhlYywweDAwLDB4YmYsMHhjNCwweDE3LDB4NDIsMHgwZiwweGYwLDB4MDMsMHhlYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhiZmYwLCAwLCB7MHgxZiwweGMxLDB4MGYsMHhiMCwweDAzLDB4NWMsMHgwMCwweGZiLDB4MDAsMHgzZiwweDQwLDB4NGYsMHhmMCwweDAwLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE1LDB4MDIsMHhjOCwweDAwLDB4M2UsMHg5MCB9IH0sCi17ICAxNiwgMHhjMDEwLCAwLCB7MHgyYywweGIwLDB4MGIsMHgwMSwweDA2LDB4Y2IsMHgwMSwweDNlLDB4NTAsMHg1ZiwweGIwLDB4MTMsMHgyMSwweDEwLDB4Y2IsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDIwLCAwLCB7MHg3ZSwweGMwLDB4MGMsMHhiMCwweDBiLDB4MmMsMHgwMCwweGNiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjMDMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDI4LDB4MDEsMHg4YiwweGQwLDB4MmMsMHgzNCB9IH0sCi17ICAxNiwgMHhjMDQwLCAwLCB7MHg0OCwweGZmLDB4MDIsMHgzMCwweDAwLDB4YWEsMHgwNCwweDJlLDB4NjksMHgwZiwweGYwLDB4MDMsMHg2OCwweDEwLDB4ZGYsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDUwLCAwLCB7MHgyZiwweGQ0LDB4MGQsMHhmMCwweDAyLDB4M2UsMHgwMCwweDVmLDB4MDQsMHhiNiwweGMwLDB4MDgsMHhiMCwweDAzLDB4NzIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDY5LDB4OTAsMHg4MSwweDgwLDB4MmMsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDcwLCAwLCB7MHg0OCwweGI4LDB4MDIsMHgwOCwweDA5LDB4OTksMHgwMCwweDRjLDB4YjAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDgwLCAwLCB7MHgyYywweGMwLDB4MDksMHhiMCwweDQwLDB4MGMsMHg0MCwweDgzLDB4MDAsMHgwMCwweDQwLDB4MGEsMHg5MCwweDAyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDE2LDB4MDAsMHg4NCwweDg4LDB4MmQsMHhlNCB9IH0sCi17ICAxNiwgMHhjMGEwLCAwLCB7MHg0OCwweDM5LDB4MDIsMHgxNiwweDAwLDB4YjQsMHg4MCwweDJkLDB4ZTAsMHgwYSwweDdiLDB4MDYsMHg1ZSwweDAwLDB4OTcsMHg4MCB9IH0sCi17ICAxNiwgMHhjMGIwLCAwLCB7MHgyZCwweGUyLDB4MDksMHg3OCwweDAyLDB4MWUsMHg5MCwweDk3LDB4ODAsMHgyNSwweDY0LDB4OGEsMHg3OCwweDAyLDB4NDgsMHgwMCB9IH0sCi17ICAxNiwgMHhjMGMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBkLDB4MDAsMHg4MSwweDEwLDB4MmMsMHg5NiB9IH0sCi17ICAxNiwgMHhjMGQwLCAwLCB7MHgwOCwweDMxLDB4MjMsMHgwYywweDAwLDB4OTAsMHgyMCwweDNjLDB4YzQsMHgxYiwweGI4LDB4MDIsMHgwOCwweDQwLDB4YzMsMHgwMCB9IH0sCi17ICAxNiwgMHhjMGUwLCAwLCB7MHgyYywweGM0LDB4MGQsMHgzMCwweDAzLDB4MGUsMHg0MCwweGMzLDB4MTAsMHgzMCwweGMwLDB4NGUsMHgxMCwweDA3LDB4MWEsMHgxMiB9IH0sCi17ICAxNiwgMHhjMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MDAsMHg3ZCwweDA1LDB4M2YsMHhjNSB9IH0sCi17ICAxNiwgMHhjMTAwLCAwLCB7MHgwZiwweGIxLDB4MGIsMHhmNCwweDAwLDB4ZWYsMHgwMCwweDFmLDB4NDUsMHgwZiwweGYwLDB4NDMsMHhmYywweDAxLDB4ZmYsMHg0MCB9IH0sCi17ICAxNiwgMHhjMTEwLCAwLCB7MHgzZCwweGM0LDB4MWYsMHhmMCwweDA2LDB4ZmMsMHgxMCwweGZmLDB4MDAsMHgzYiwweGMxLDB4MmQsMHhmMSwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhjMTIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDQsMHhjYiwweDA0LDB4M2UsMHhhMCB9IH0sCi17ICAxNiwgMHhjMTMwLCAwLCB7MHg0NCwweGI2LDB4MDMsMHgyOCwweDA0LDB4Y2IsMHg4MCwweDMyLDB4ODAsMHgwZiwweGIzLDB4OTMsMHg2MCwweDA4LDB4ZmIsMHgyMCB9IH0sCi17ICAxNiwgMHhjMTQwLCAwLCB7MHgzZSwweGQyLDB4MWYsMHhiMywweDAzLDB4MmQsMHg4MCwweGZiLDB4NjEsMHg3ZSwweDQwLDB4OGMsMHg5OCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjMTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDg0LDB4MGMsMHg4NiwweDA1LDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhjMTYwLCAwLCB7MHgwOCwweGY0LDB4ODIsMHg4YywweDkwLDB4ODUsMHgwMCwweGExLDB4YzAsMHgwYiwweGYwLDB4MDIsMHg1YywweDAwLDB4MzcsMHgwMCB9IH0sCi17ICAxNiwgMHhjMTcwLCAwLCB7MHgyZCwweGQwLDB4MGIsMHg3MSwweDAyLDB4MWMsMHhjOCwweGI3LDB4NDgsMHgyZCwweDQwLDB4MGEsMHg3MCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjMTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHg4NywweDgwLDB4MmQsMHhhMSB9IH0sCi17ICAxNiwgMHhjMTkwLCAwLCB7MHg2MCwweDc4LDB4NGEsMHgxNiwweGQwLDB4YTcsMHg4MCwweDI5LDB4ZTAsMHgwYiwweDc4LDB4NTIsMHg5NiwweDAxLDB4YjcsMHg5MCB9IH0sCi17ICAxNiwgMHhjMWEwLCAwLCB7MHgyZCwweGU4LDB4MGIsMHg3YSwweDIyLDB4NWUsMHg0MCwweGI3LDB4YTAsMHgyZiwweGUxLDB4NDgsMHg1MCwweDIyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMWIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MTAsMHg4MywweDg0LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhjMWMwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhhNCwweDEwLDB4ODMsMHhjYiwweDI4LDB4ZTAsMHgwYiwweDMwLDB4MmEsMHg0ZiwweDQwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHhjMWQwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4NGMsMHgxMCwweGIzLDB4MDIsMHgyYywweGMwLDB4YWEsMHgzMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjMWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4MDAsMHhjZSwweGEwLDB4M2YsMHg4MCB9IH0sCi17ICAxNiwgMHhjMWYwLCAwLCB7MHg0YywweGEwLDB4MmIsMHgzYSwweDAwLDB4Y2UsMHg0MCwweDNiLDB4YjgsMHgwZiwweGEwLDB4MDMsMHhiOSwweDAwLDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjMjAwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4NjgsMHgwMCwweGZhLDB4MDAsMHg3ZSwweDgwLDB4MWMsMHhhMCwweDBiLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhjMjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDIsMHhmOCwweDAwLDB4M2UsMHgwNCB9IH0sCi17ICAxNiwgMHhjMjIwLCAwLCB7MHg4ZiwweDAwLDB4MDMsMHhlMCwweDRhLDB4ZjgsMHgxMCwweDI2LDB4MTgsMHgwZiwweDgwLDB4MDMsMHhhMCwweDgwLDB4ZjgsMHgwMiB9IH0sCi17ICAxNiwgMHhjMjMwLCAwLCB7MHgzZSwweDAwLDB4OGYsMHgwMCwweDBiLDB4YTAsMHgwMCwweGY4LDB4MDIsMHgzZSwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MjAsMHhjOSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhjMjUwLCAwLCB7MHg0ZCwweDk5LDB4MDMsMHgyNCwweDAwLDB4YzksMHgwMiwweDNlLDB4NjgsMHgwZiwweDkwLDB4MDIsMHgyNCwweDAwLDB4ZTksMHgwMCB9IH0sCi17ICAxNiwgMHhjMjYwLCAwLCB7MHgzMCwweDQwLDB4OGMsMHg5MCwweDAzLDB4MDQsMHg0MCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhjMjcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MjAsMHg4OSwweDA2LDB4MjIsMHg1MCB9IH0sCi17ICAxNiwgMHhjMjgwLCAwLCB7MHg4YiwweDljLDB4YzIsMHgyNCwweDAwLDB4ZDksMHgwMSwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDIsMHgyNCwweDA4LDB4YjksMHgwMSB9IH0sCi17ICAxNiwgMHhjMjkwLCAwLCB7MHgyMiwweDQ2LDB4MGQsMHg5MCwweDBhLDB4MjYsMHgwMiwweDg5LDB4MDAsMHgyYywweDQwLDB4MGEsMHgxMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMmEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDA2LDB4MDAsMHg5MSwweDQwLDB4NDIsMHg3MCB9IH0sCi17ICAxNiwgMHhjMmIwLCAwLCB7MHgwYiwweDkwLDB4MTIsMHgyYywweDAyLDB4OGIsMHgwMCwweDJlLDB4NDAsMHgwYiwweDEwLDB4MjIsMHhlNCwweDEwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHhjMmMwLCAwLCB7MHhhMiwweDQwLDB4NDgsMHg5MCwweDEyLDB4MjQsMHgwOCwweDk5LDB4MDIsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhjMmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4OTIsMHg5MSwweDIwLDB4ZTAsMHg0OCB9IH0sCi17ICAxNiwgMHhjMmUwLCAwLCB7MHgwYiwweDEyLDB4MDIsMHgwNCwweDAyLDB4OTEsMHgxMCwweDJjLDB4YzAsMHgwYiwweDEwLDB4MDYsMHg4NCwweGMwLDB4YjEsMHgxMCB9IH0sCi17ICAxNiwgMHhjMmYwLCAwLCB7MHgyMCwweDQ4LDB4ODksMHgxMSwweDAyLDB4MDUsMHg4MCwweDkxLDB4NDAsMHgyZSwweDQ0LDB4MmEsMHg5NCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhjMzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUwLDB4MzAsMHgxNCB9IH0sCi17ICAxNiwgMHhjMzEwLCAwLCB7MHgwZiwweDg1LDB4MGIsMHgyMSwweGUwLDB4ODAsMHg0MCwweDNlLDB4MDAsMHgwZiwweDg3LDB4OGIsMHhlMSwweDBjLDB4ZjgsMHg2YyB9IH0sCi17ICAxNiwgMHhjMzIwLCAwLCB7MHgzMiwweDAwLDB4ODQsMHgwNiwweDgzLDB4MjAsMHgwNCwweGQ4LDB4MjgsMHgzZSwweDEwLDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhjMzMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4NDAsMHhhZCwweDEwLDB4M2YsMHg0NSB9IH0sCi17ICAxNiwgMHhjMzQwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhmYywweDE4LDB4N2QsMHgyMCwweDFmLDB4NDEsMHgwZiwweDkwLDB4MDMsMHg3NCwweGMwLDB4ZjksMHgyMSB9IH0sCi17ICAxNiwgMHhjMzUwLCAwLCB7MHgzZSwweDQ0LDB4MGYsMHg5MiwweDAxLDB4ZTQsMHg0MCwweGU5LDB4MDAsMHgzZCwweDQ4LDB4NGYsMHhkMCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhjMzYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY3LDB4ODAsMHhmZCwweGUwLDB4MzMsMHg3MCB9IH0sCi17ICAxNiwgMHhjMzcwLCAwLCB7MHgwYywweGRhLDB4MDMsMHgyNiwweDIwLDB4YzksMHg0MCwweDMxLDB4NDAsMHgwZSwweDlhLDB4MDMsMHgyNCwweDAwLDB4ZjksMHg4MCB9IH0sCi17ICAxNiwgMHhjMzgwLCAwLCB7MHgzYiwweDYwLDB4MGYsMHg5YywweDgzLDB4MzYsMHhhMCwweGY5LDB4YTEsMHhiMCwweDQwLDB4MGYsMHg5MSwweDAzLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhjMzkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUyLDB4OTAsMHhiOCwweGEwLDB4MjIsMHgyOCB9IH0sCi17ICAxNiwgMHhjM2EwLCAwLCB7MHgyOCwweDg4LDB4MGEsMHgyMiwweDAyLDB4ODgsMHhhMCwweDIyLDB4MDAsMHgwOCwweDg4LDB4MDIsMHhjMiwweDgwLDB4YjgsMHg4OCB9IH0sCi17ICAxNiwgMHhjM2IwLCAwLCB7MHgyMiwweDA0LDB4MGIsMHg4ZSwweDAzLDB4MjIsMHg4MCwweGI4LDB4ZDAsMHgyYSwweDIwLDB4MGIsMHg4OCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhjM2MwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4ODAsMHhiMSwweDYxLDB4MDAsMHg1OCB9IH0sCi17ICAxNiwgMHhjM2QwLCAwLCB7MHg0OCwweDE2LDB4OGEsMHgwNCwweGEwLDB4ODksMHgwMSwweDIyLDB4NDAsMHgxYSwweDE0LDB4ODgsMHgwNCwweDIwLDB4YjEsMHg0MCB9IH0sCi17ICAxNiwgMHhjM2UwLCAwLCB7MHgyOCwweDQwLDB4MGIsMHgxMCwweDBhLDB4MDQsMHgyMCwweGIxLDB4MmMsMHgyMCwweDRhLDB4MGIsMHgxMiwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhjM2YwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE1LDB4OTAsMHhiYiwweDQwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhjNDAwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDQwLDB4ODksMHg0MiwweDYyLDB4NTgsMHgwOCwweDEwLDB4MDIsMHhlNSwweDAwLDB4YjksMHgwMyB9IH0sCi17ICAxNiwgMHhjNDEwLCAwLCB7MHgyMiwweGMwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgxNCwweDMxLDB4MDAsMHgyYSwweDQ0LDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhjNDIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMCwweGE1LDB4MDAsMHhmOSwweDAxLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhjNDMwLCAwLCB7MHg4YywweDkwLDB4MDMsMHgyNywweDAwLDB4YzEsMHg5NCwweDMwLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhjNDQwLCAwLCB7MHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDYwLDB4MDcsMHg5MCwweDI3LDB4ZTgsMHgwNSB9IH0sCi17ICAxNiwgMHhjNDUwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGE0LDB4MTgsMHhmOSwweDAwLDB4YmUsMHg0NCB9IH0sCi17ICAxNiwgMHhjNDYwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweGJlLDB4NjEsMHg4ZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDcwLCAwLCB7MHgxZSwweDQwLDB4MGYsMHgxMCwweDAzLDB4MjQsMHgwOCwweGY5LDB4MDAsMHg3ZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDgwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4ODEsMHhmOCwweDAwLDB4MzIsMHgwNCB9IH0sCi17ICAxNiwgMHhjNDkwLCAwLCB7MHgwYywweDAwLDB4ZDMsMHgyMSwweDAwLDB4ZDgsMHgwNCwweDNhLDB4MTQsMHg5YywweDgwLDB4MDMsMHgyMSwweDAxLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhjNGEwLCAwLCB7MHgzNiwweDAwLDB4MGMsMHg4MCwweDEzLDB4MjAsMHgxMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MmMsMHg4MCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHhjNGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNCwweDNhLDB4MDAsMHhiZSwweDg0LDB4MjMsMHg4NSB9IH0sCi17ICAxNiwgMHhjNGMwLCAwLCB7MHgwOCwweGVjLDB4ODMsMHg2OCwweDA0LDB4OGEsMHgwMCwweDJmLDB4OTAsMHg0ZCwweGEwLDB4MDIsMHgyOCwweDAxLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNGQwLCAwLCB7MHgyMywweGIwLDB4MGEsMHhhMCwweDAyLDB4MmEsMHgwOCwweGRhLDB4MDEsMHgyMiwweDgwLDB4MGYsMHhhMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiYiwweGYwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhjNGYwLCAwLCB7MHgwOCwweDNjLDB4MGEsMHgwYywweDAwLDB4OTMsMHgwMSwweDI4LDB4YzgsMHg4OSwweDMwLDB4MDYsMHg0YywweDAwLDB4ODMsMHgwMiB9IH0sCi17ICAxNiwgMHhjNTAwLCAwLCB7MHgyYywweGY2LDB4MDgsMHgzMCwweDAyLDB4MDQsMHgwMCwweGEzLDB4MDAsMHgyMCwweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFkLDB4MTEsMHhiMywweDAwLDB4YTAsMHhjMCB9IH0sCi17ICAxNiwgMHhjNTIwLCAwLCB7MHgwOCwweDUwLDB4MDIsMHg1YywweDEwLDB4ODcsMHgwMSwweDZkLDB4ODEsMHg0OSwweDMyLDB4NTIsMHgxZSwweGMzLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTMwLCAwLCB7MHgyOCwweGUwLDB4MGEsMHgzMiwweDI2LDB4MWYsMHgwMCwweDM3LDB4MDAsMHgyMywweGUwLDB4MGIsMHg3MiwweDAyLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwOCwweDEyLDB4MDAsMHhiNywweDgyLDB4MzEsMHgyMCB9IH0sCi17ICAxNiwgMHhjNTUwLCAwLCB7MHgwOCwweDA4LDB4MzcsMHgwZiwweDA4LDB4ZDcsMHhlMCwweDM5LDB4NjAsMHgxOSwweDdhLDB4MGIsMHg1ZSwweDBjLDB4ODMsMHhiMiB9IH0sCi17ICAxNiwgMHhjNTYwLCAwLCB7MHg3ZCwweGUwLDB4MGMsMHg3YSwweDBiLDB4M2UsMHgwMiwweGFmLDB4YTAsMHhiMSwweGUwLDB4MGUsMHg3YSwweDAzLDB4Y2EsMHgwMiB9IH0sCi17ICAxNiwgMHhjNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGEwLDB4MTAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhjNTgwLCAwLCB7MHg2ZiwweGIwLDB4NDMsMHhlYywweDExLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweGI1LDB4MDMsMHhlYywweDIwLDB4ZmIsMHg1MCB9IH0sCi17ICAxNiwgMHhjNTkwLCAwLCB7MHgzNiwweDAwLDB4MGYsMHhiNSwweDQzLDB4ZTUsMHhhMSwweGRiLDB4NzgsMHgzZSwweGMwLDB4MGYsMHhiNCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhjNWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweGEwLDB4M2YsMHhhMCB9IH0sCi17ICAxNiwgMHhjNWIwLCAwLCB7MHgwZCwweGM5LDB4MTMsMHgzZSwweDAwLDB4Y2YsMHhkMCwweDNkLDB4ZTgsMHgwMiwweGZmLDB4MTMsMHgzZSwweDAwLDB4Y2YsMHg4MiB9IH0sCi17ICAxNiwgMHhjNWMwLCAwLCB7MHgzZiwweDYwLDB4MGMsMHhmYywweDIzLDB4M2UsMHgxMCwweGVmLDB4ODAsMHgzMywweGYyLDB4MGMsMHhmYywweDgzLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjNWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4NDAsMHhiNSwweDAxLDB4MmQsMHhkMCB9IH0sCi17ICAxNiwgMHhjNWUwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHgxYywweDQwLDB4NTcsMHgxMCwweDJkLDB4NWEsMHgyOCwweDMxLDB4MDIsMHhiYywweDAxLDB4OTcsMHgxMCB9IH0sCi17ICAxNiwgMHhjNWYwLCAwLCB7MHgyZCwweDAwLDB4MGEsMHg3MCwweDAyLDB4ODQsMHgwNCwweGNmLDB4MDAsMHgyOSwweGMwLDB4MGEsMHhmMCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhjNjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHhiNywweDJhLDB4MmQsMHg4MiB9IH0sCi17ICAxNiwgMHhjNjEwLCAwLCB7MHgwOCwweDQyLDB4MjIsMHgzYywweDAwLDB4ODcsMHgxMSwweDBkLDB4Y2MsMHg4OCwweDMyLDB4MDIsMHgxZCwweDAwLDB4OTcsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjIwLCAwLCB7MHgyYywweGM0LDB4MDgsMHgzMCwweDAyLDB4MTQsMHgwMCwweGE3LDB4MDAsMHgyMywweGMwLDB4MDksMHg3MCwweDgyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgxNCwweGMwLDB4MjAsMHhiMCwweDIwLDB4MmMsMHg1MCB9IH0sCi17ICAxNiwgMHhjNjQwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgyZCwweGMwLDB4OTMsMHhlMiwweDJjLDB4MjEsMHgwOCwweDMwLDB4MDIsMHgwZSwweDA4LDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjUwLCAwLCB7MHgyYywweDQwLDB4MGEsMHgzMCwweDAyLDB4OGMsMHgwMCwweDkzLDB4MDAsMHgyYSwweGMwLDB4MGIsMHgzMCwweDAyLDB4MTgsMHgwNCB9IH0sCi17ICAxNiwgMHhjNjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhmOCwweGMwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhjNjcwLCAwLCB7MHgyYywweGEwLDB4MGIsMHgzZiwweDAwLDB4YzcsMHg2MCwweDNlLDB4ZDAsMHgwYywweGYwLDB4MGIsMHgzYywweDAwLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjgwLCAwLCB7MHgzZSwweDgwLDB4MGMsMHhmMCwweDBiLDB4MmMsMHgwMCwweGVmLDB4MDAsMHgzMywweGMxLDB4MGQsMHhmMCwweDBiLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhjNjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4NDAsMHhmMywweDQwLDB4M2UsMHg1MCB9IH0sCi17ICAxNiwgMHhjNmEwLCAwLCB7MHg4ZSwweGI0LDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4MDksMHgwZiwweGIwLDB4MTMsMHhlYywweDQyLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHhjNmIwLCAwLCB7MHgzYywweDAwLDB4OGYsMHhiMCwweDEzLDB4YzQsMHgxMSwweGUzLDB4MDAsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjNmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmYywweDgwLDB4MzEsMHgyMiB9IH0sCi17ICAxNiwgMHhjNmQwLCAwLCB7MHgwYywweGE4LDB4MDMsMHgzYywweDAwLDB4Y2YsMHgwMCwweDMzLDB4YTAsMHgwZSwweGYwLDB4MDMsMHhkYywweDAwLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhjNmUwLCAwLCB7MHgxZiwweGYwLDB4MGMsMHhmMCwweDAzLDB4ZjQsMHgwMCwweGNmLDB4MDIsMHgzMywweGMwLDB4MGMsMHhmMCwweDAyLDB4MDAsMHg1NCB9IH0sCi17ICAxNiwgMHhjNmYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZmLDB4MDAsMHhiYiwweGMwLDB4MjIsMHg3MCB9IH0sCi17ICAxNiwgMHhjNzAwLCAwLCB7MHgwYSwweGI5LDB4NDIsMHgyYywweDEwLDB4OGIsMHgwMCwweDc2LDB4MTEsMHg4MywweGIwLDB4MDIsMHhlYywweDEwLDB4YWIsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzEwLCAwLCB7MHgyZSwweGIwLDB4MGEsMHhiMCwweDAzLDB4ZWMsMHgwNCwweDhiLDB4MDAsMHhhMiwweGMwLDB4MjgsMHhiMCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhjNzIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDY1LDB4NDAsMHhiOCwweDIwLDB4MjIsMHg0NCB9IH0sCi17ICAxNiwgMHhjNzMwLCAwLCB7MHg1OCwweDM0LDB4MGEsMHgyYywweDAwLDB4OGIsMHgwMCwweDIyLDB4ODQsMHg0YiwweGIwLDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzQwLCAwLCB7MHg2ZSwweGMwLDB4MDgsMHhiMCwweDQyLDB4ZTYsMHgwNCwweDhiLDB4MDAsMHgwMiwweGMwLDB4MDgsMHgzMCwweDAyLDB4YTAsMHgwMSB9IH0sCi17ICAxNiwgMHhjNzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMCwweDAwLDB4MDAsMHhiMSwweDAwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhjNzYwLCAwLCB7MHgwYSwweDMwLDB4MGEsMHgwYywweDAwLDB4OGIsMHgwMywweDI0LDB4ODAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzcwLCAwLCB7MHg2YywweDAwLDB4MGEsMHgzMCwweDAyLDB4OGQsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MTgsMHgzMCwweDAyLDB4ODIsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDY0LDB4MDAsMHhmOCwweDAwLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzkwLCAwLCB7MHg0YywweGEwLDB4MGIsMHgyYywweDAyLDB4Y2YsMHgwMCwweDIyLDB4NDAsMHgwZSwweGY1LDB4MDMsMHhmYywweDAwLDB4Y2YsMHgwMSB9IH0sCi17ICAxNiwgMHhjN2EwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHhmMCwweDEyLDB4ZGQsMHgwMiwweGNmLDB4MDIsMHgzMywweGMwLDB4NGMsMHhmMCwweDBiLDB4ODAsMHgwMyB9IH0sCi17ICAxNiwgMHhjN2IwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTQsMHgxOSwweGYwLDB4MDAsMHhmYywweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhjN2MwLCAwLCB7MHgwZiwweGIxLDB4MDMsMHhkYywweDAwLDB4YmYsMHgwMSwweDNmLDB4MDAsMHgwZiwweGYyLDB4MjMsMHhmYywweDEwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhjN2QwLCAwLCB7MHgzZiwweDAwLDB4MGYsMHhmMCwweDAxLDB4ZjQsMHg4NCwweGZmLDB4MDAsMHgzZCwweGMwLDB4NGYsMHhmMCwweDEzLDB4NjgsMHgwNiB9IH0sCi17ICAxNiwgMHhjN2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4NDAsMHhkZiwweDgwLDB4MzMsMHhjOCB9IH0sCi17ICAxNiwgMHhjN2YwLCAwLCB7MHgwYywweGY4LDB4MDMsMHgzYywweDBhLDB4OWYsMHhjMCwweDNmLDB4ZjAsMHgwOCwweGI4LDB4MDIsMHgzZSwweDAwLDB4ZmYsMHg4MCB9IH0sCi17ICAxNiwgMHhjODAwLCAwLCB7MHgzZiwweGQ4LDB4MGMsMHhmOSwweDYxLDB4MmUsMHg0MCwweDZmLDB4OTAsMHgzZiwweGU0LDB4OGYsMHhmMSwweDgzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjODEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVjLDB4MDQsMHg4YiwweDgwLDB4MjMsMHhmMCB9IH0sCi17ICAxNiwgMHhjODIwLCAwLCB7MHgwOCwweGI4LDB4MDIsMHgzZCwweDQwLDB4YWIsMHgwMCwweDBlLDB4MDgsMHg0OCwweDIyLDB4ODIsMHg2YywweDIwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjODMwLCAwLCB7MHgyZiwweGQwLDB4NDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMxLDB4MGIsMHhiMCwweDAyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhjODQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDIsMHg4MywweDAxLDB4YTAsMHhjNSB9IH0sCi17ICAxNiwgMHhjODUwLCAwLCB7MHgwOCwweGIwLDB4NGEsMHg0YywweGEwLDB4ODAsMHgyNCwweDI4LDB4YzgsMHgwOSwweDMyLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwOCB9IH0sCi17ICAxNiwgMHhjODYwLCAwLCB7MHgyZSwweGQxLDB4MjksMHhiMiwweDNhLDB4MGMsMHg4NCwweGEzLDB4MjEsMHgyYywweGM4LDB4NGIsMHhiMiwweDBhLDB4MzIsMHgwMSB9IH0sCi17ICAxNiwgMHhjODcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDgsMHg4YiwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhjODgwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHg0YywweDAwLDB4ODgsMHgyMSwweDI0LDB4MjEsMHgwOSwweGIwLDB4NDYsMHg2YywweDAwLDB4YmIsMHgwNiB9IH0sCi17ICAxNiwgMHhjODkwLCAwLCB7MHgyZSwweGMwLDB4MDksMHhiMCwweDAyLDB4MmMsMHgxMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhjOGEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhjYiwweDAwLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHhjOGIwLCAwLCB7MHgwYywweGI5LDB4MDIsMHg2YywweDAwLDB4Y2IsMHhjOCwweDNhLDB4YzAsMHgyZCwweDkwLDB4MGIsMHgyYywweDA4LDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjOGMwLCAwLCB7MHgzZSwweGMwLDB4MGQsMHgzMCwweDQyLDB4MmMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDEzLDB4MDAsMHgwNCB9IH0sCi17ICAxNiwgMHhjOGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJjLDB4MDAsMHhlZiwweDAwLDB4M2QsMHhjMCB9IH0sCi17ICAxNiwgMHhjOGUwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhiYywweDA2LDB4ZWYsMHg4MiwweDNmLDB4NDAsMHg0ZSwweGM5LDB4ODMsMHhiYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhjOGYwLCAwLCB7MHg3ZiwweGMwLDB4MWMsMHhmMCwweDEzLDB4N2MsMHgwMCwweGZmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDAyLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhjOTEwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHhhYywweDIwLDB4ZDgsMHg0MCwweDNlLDB4YzAsMHg4YywweDkwLDB4MGIsMHgyYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTIwLCAwLCB7MHgzZSwweGM5LDB4MGQsMHhiMCwweDMzLDB4ZWMsMHgwOCwweGZiLDB4MDIsMHgzZSwweGMwLDB4MGYsMHhiMCwweDBiLDB4NTQsMHgwNCB9IH0sCi17ICAxNiwgMHhjOTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHhiMywweDAwLDB4MmYsMHhjMCB9IH0sCi17ICAxNiwgMHhjOTQwLCAwLCB7MHgwYiwweDMwLDB4MTIsMHhmYywweDAwLDB4ODgsMHhhMCwweDJlLDB4NDAsMHgyOCwweDk0LDB4MDIsMHgyYywweDEwLDB4YmIsMHgwNCB9IH0sCi17ICAxNiwgMHhjOTUwLCAwLCB7MHgyZCwweGMwLDB4MjgsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHg3MiwweDA2LDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDZjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhlMCB9IH0sCi17ICAxNiwgMHhjOTcwLCAwLCB7MHgwYSwweDEwLDB4MDIsMHhjZCwweDAwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwOCwweGIwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTgwLCAwLCB7MHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4M2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4NDAsMHhiNywweDgwLDB4MmQsMHhlMiB9IH0sCi17ICAxNiwgMHhjOWEwLCAwLCB7MHgwYiwweDU4LDB4MDIsMHhkZSwweDAyLDB4OTcsMHg4MSwweDJmLDB4YTAsMHgwOCwweDY4LDB4MDIsMHg1ZSwweDAwLDB4YjcsMHg4MSB9IH0sCi17ICAxNiwgMHhjOWIwLCAwLCB7MHgyZiwweGUwLDB4MDgsMHg3OSwweDAyLDB4ZGUsMHgwMCwweGI3LDB4ODEsMHgyZCwweGUwLDB4MGIsMHg3OCwweDAyLDB4M2MsMHgwMCB9IH0sCi17ICAxNiwgMHhjOWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmMywweDAwLDB4M2MsMHhjMCB9IH0sCi17ICAxNiwgMHhjOWQwLCAwLCB7MHgwZSwweDMyLDB4MDMsMHhjYywweDgwLDB4ZDMsMHgwMCwweDNjLDB4YzQsMHgwYywweDM5LDB4MDMsMHg0YywweDA4LDB4ZjMsMHgxYSB9IH0sCi17ICAxNiwgMHhjOWUwLCAwLCB7MHgzYywweGM2LDB4MGQsMHgzMCwweDAzLDB4Y2UsMHgyMCwweGYzLDB4MDgsMHgzYywweGMwLDB4MGYsMHgzMCwweDAzLDB4NTIsMHgwMiB9IH0sCi17ICAxNiwgMHhjOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGFjLDB4MDAsMHhmYiwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhjYTAwLCAwLCB7MHgwYiwweGIwLDB4MDMsMHhjYywweDIwLDB4ZWIsMHgwMCwweDNjLDB4ODAsMHgwZiwweGIwLDB4NDEsMHhhYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYTEwLCAwLCB7MHgzYywweGMyLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHg0MCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhjYTIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVlLDB4MDIsMHhjMywweDgwLDB4MzAsMHhjZSB9IH0sCi17ICAxNiwgMHhjYTMwLCAwLCB7MHgwZCwweDk4LDB4MDMsMHhhYywweGEwLDB4YzMsMHg4MCwweGIyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYTQwLCAwLCB7MHgzZSwweGQyLDB4NGYsMHhiMCwweDA5LDB4MmUsMHgwOCwweDRiLDB4MDEsMHgzZSwweGMwLDB4MjQsMHhiMCwweDAzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHhjYTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAxLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhjYTYwLCAwLCB7MHg0OCwweDUwLDB4MTIsMHg0YywweDAwLDB4ODcsMHgwMCwweDM1LDB4YzAsMHg0YiwweDYwLDB4MDIsMHhkYywweDA0LDB4YjcsMHgwMSB9IH0sCi17ICAxNiwgMHhjYTcwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMxLDB4MGMsMHg3MiwweDAyLDB4ZjIsMHgwNCB9IH0sCi17ICAxNiwgMHhjYTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHg4NywweDgwLDB4MjMsMHhlMCB9IH0sCi17ICAxNiwgMHhjYTkwLCAwLCB7MHgwOCwweGY4LDB4MDIsMHhkZSwweDgwLDB4OGYsMHg4MSwweDIxLDB4ZTAsMHg0YiwweDc4LDB4MTIsMHhkZSwweDA0LDB4MzcsMHg4MCB9IH0sCi17ICAxNiwgMHhjYWEwLCAwLCB7MHgyZCwweGU4LDB4MGIsMHhmOCwweDAyLDB4M2UsMHgxOCwweDg3LDB4ODAsMHgyZiwweGUwLDB4MDksMHg3OSwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjYWIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDAwLDB4YTAsMHhjMCB9IH0sCi17ICAxNiwgMHhjYWMwLCAwLCB7MHgyOCwweDMwLDB4NDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDI0LDB4YzAsMHgwYiwweDM4LDB4MDYsMHhjYywweDA0LDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhjYWQwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMiwweDgzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHhjYWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhjYSwweDAwLDB4MzEsMHg4MCB9IH0sCi17ICAxNiwgMHhjYWYwLCAwLCB7MHgwOCwweGUwLDB4MDIsMHg5OCwweDAyLDB4Y2UsMHgwMCwweDMzLDB4ODQsMHgwYiwweGVhLDB4MDMsMHhlOCwweDAwLDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjAwLCAwLCB7MHgzZiwweDgxLDB4MGYsMHhhMCwweDAzLDB4MjgsMHgwMCwweGNhLDB4MDAsMHgzZSwweDgwLDB4MGQsMHhlMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHhjYjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjIwLCAwLCB7MHgwZSwweDg0LDB4MjMsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjMwLCAwLCB7MHgzZSwweDEwLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDEsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhjYjUwLCAwLCB7MHgwYywweDlhLDB4MTMsMHhlNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDk4LDB4MjMsMHhlNCwweDgwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhjYjYwLCAwLCB7MHgzZSwweDQwLDB4MmMsMHg5OCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhjYjcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDQsMHhiOSwweDAwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhjYjgwLCAwLCB7MHg2OCwweDljLDB4MjIsMHhlNCwweDAyLDB4ODksMHgwMSwweDdjLDB4NTAsMHg4ZCwweDk4LDB4MjIsMHhlNCwweDgwLDB4YjksMHgyMCB9IH0sCi17ICAxNiwgMHhjYjkwLCAwLCB7MHgyZSwweDUwLDB4NDgsMHgxMCwweDBiLDB4MjUsMHgwMCwweGI5LDB4NDQsMHgyYywweDQwLDB4MjgsMHg5MCwweDAwLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjYmEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg1MCB9IH0sCi17ICAxNiwgMHhjYmIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHhlNCwweDA0LDB4ODksMHgwMCwweDJlLDB4NTAsMHgwYSwweDkyLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhjYmMwLCAwLCB7MHgyYywweDQwLDB4MDgsMHg5MSwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhjYmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA1LDB4MDAsMHhiMSwweDAxLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhjYmUwLCAwLCB7MHg0OCwweDMwLDB4MDIsMHhlNCwweDAwLDB4ODEsMHgwMCwweDJhLDB4NDAsMHg0YiwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHhjYmYwLCAwLCB7MHgwYywweGMwLDB4MDgsMHg5MCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyZSwweDQwLDB4NDgsMHgxMiwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhjYzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhiOCwweDAxLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjYzEwLCAwLCB7MHgxYywweDgwLDB4MDcsMHhlMSwweDUwLDB4YzgsMHg1MCwweDJlLDB4MTQsMHgxZSwweDg1LDB4MDMsMHhlMSwweDQxLDB4ZjgsMHg1MCB9IH0sCi17ICAxNiwgMHhjYzIwLCAwLCB7MHgzZSwweDE0LDB4MGMsMHg4NSwweDEzLDB4MjEsMHg0OCwweGY4LDB4NTAsMHgzZSwweDE0LDB4MGMsMHg4NSwweDQzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHhjYzMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxOSwweGM0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1MSB9IH0sCi17ICAxNiwgMHhjYzQwLCAwLCB7MHgwZiwweDUwLDB4MDMsMHhlNSwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgxZCwweGQwLDB4MDMsMHhmNCwweDEwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhjYzUwLCAwLCB7MHgzZSwweDUwLDB4MGYsMHg1MCwweDAwLDB4OTQsMHgwMCwweGY5LDB4MDAsMHgzZCwweDQwLDB4MGYsMHg5MSwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhjYzYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGU0LDB4NTAsMHhjZCwweDAwLDB4MzEsMHg2MCB9IH0sCi17ICAxNiwgMHhjYzcwLCAwLCB7MHgwNCwweGQwLDB4MDMsMHgzNiwweDgwLDB4YzEsMHg0MiwweDJlLDB4NTAsMHgxZiwweDk0LDB4MDMsMHhlNSwweDAwLDB4ZTksMHgwMiB9IH0sCi17ICAxNiwgMHhjYzgwLCAwLCB7MHgyZSwweDcyLDB4MGEsMHg5MCwweDIyLDB4MDUsMHgwOCwweGU5LDB4NDAsMHgzZSwweDUwLDB4NDAsMHg5YywweDAzLDB4MjYsMHgwMCB9IH0sCi17ICAxNiwgMHhjYzkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGMyLDB4ODIsMHg4OCwweDAwLDB4MjIsMHgxNSB9IH0sCi17ICAxNiwgMHhjY2EwLCAwLCB7MHgwOCwweDgwLDB4MDIsMHgyMywweDU4LDB4ODgsMHhhMCwweDJlLDB4MjgsMHgwYiwweGFhLDB4NDIsMHhlMiwweDgyLDB4ODgsMHg4MCB9IH0sCi17ICAxNiwgMHhjY2IwLCAwLCB7MHgyZSwweDM4LDB4MjgsMHg4OCwweDAyLDB4MjIsMHg4MCwweGI4LDB4YTAsMHgzYSwweDI4LDB4MDgsMHhjZCwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhjY2MwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDAwLDB4YTYsMHg0MCB9IH0sCi17ICAxNiwgMHhjY2QwLCAwLCB7MHgyOCwweDEwLDB4MGEsMHgyNCwweDI2LDB4OTUsMHgwMCwweDBkLDB4NDAsMHgwYiwweDUwLDB4MDIsMHg3NCwweDAwLDB4ODUsMHgwOCB9IH0sCi17ICAxNiwgMHhjY2UwLCAwLCB7MHgyZiwweDQwLDB4NzksMHhkMiwweGFhLDB4MTQsMHgwMCwweGE1LDB4MDEsMHgyZiwweDQwLDB4MzgsMHg1MCwweDAyLDB4MTIsMHgwMSB9IH0sCi17ICAxNiwgMHhjY2YwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDQsMHg4OSwweDAwLDB4MjYsMHg0MCB9IH0sCi17ICAxNiwgMHhjZDAwLCAwLCB7MHgwOCwweDkxLDB4MDIsMHgyNCwweDEwLDB4OWQsMHgwOCwweDJmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwMiB9IH0sCi17ICAxNiwgMHhjZDEwLCAwLCB7MHgyZiwweDQwLDB4MDksMHhkMCwweDAwLDB4MzQsMHgwMCwweGJkLDB4MDAsMHgwYiwweDQwLDB4MTgsMHg3MCwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhjZDIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGM0LDB4MDAsMHhjOSwweDA1LDB4MzYsMHg0MSB9IH0sCi17ICAxNiwgMHhjZDMwLCAwLCB7MHg0YywweDkwLDB4NjMsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwYiwweDkwLDB4MDMsMHg0NCwweDA4LDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhjZDQwLCAwLCB7MHgzZSwweDQwLDB4MTUsMHgxMCwweDAzLDB4MjQsMHgwMCwweGU5LDB4MDAsMHgzYywweDQwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhjZDUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDQsMHhmOSwweDAwLDB4M2EsMHg0MCB9IH0sCi17ICAxNiwgMHhjZDYwLCAwLCB7MHg0ZiwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZTksMHg5OSwweDNlLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlNCwweDIwLDB4ZjksMHgwYSB9IH0sCi17ICAxNiwgMHhjZDcwLCAwLCB7MHgzZSwweDQwLDB4MGUsMHg5MCwweDQzLDB4NjQsMHgyNCwweGY5LDB4MDgsMHgzYSwweDQyLDB4MGYsMHg5MCwweDhiLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjZDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDAwLDB4MTIsMHgwMCB9IH0sCi17ICAxNiwgMHhjZDkwLCAwLCB7MHgwYywweDgwLDB4NDMsMHhlMCwweDAwLDB4YzgsMHg0MCwweDMyLDB4MDAsMHgwZiwweDg0LDB4NTMsMHhlMCwweDEwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZGEwLCAwLCB7MHgzZSwweDAwLDB4MGQsMHg4MCwweDIzLDB4MjAsMHgwMCwweGQ4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhjZGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDM4LDB4MDIsMHg4MiwweDAwLDB4YTEsMHg4OCB9IH0sCi17ICAxNiwgMHhjZGMwLCAwLCB7MHgwOCwweDYwLDB4MjIsMHhjOCwweDAwLDB4OGEsMHg0MCwweDM2LDB4YTEsMHgwYiwweGEwLDB4MDIsMHhlOSwweDEwLDB4YmEsMHg0NCB9IH0sCi17ICAxNiwgMHhjZGQwLCAwLCB7MHgyYywweDgwLDB4MGMsMHhhNCwweDEyLDB4MjksMHgwMiwweDhhLDB4NDQsMHgyZSwweDk4LDB4MGIsMHhhNCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjZGUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MTAsMHg4MywweDAwLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHhjZGYwLCAwLCB7MHgxOCwweDMwLDB4OTIsMHhjNCwweDA4LDB4OTMsMHg0MCwweDIwLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHhjZCwweDAwLDB4YjMsMHg0MCB9IH0sCi17ICAxNiwgMHhjZTAwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzYSwweDQyLDB4Y2QsMHgwMCwweDgzLDB4NDAsMHgyYywweGQwLDB4MGIsMHgzOCwweDAyLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHg0MSwweDFjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhjZTIwLCAwLCB7MHgyOCwweDcwLDB4MDIsMHhkMSwweDAwLDB4OWQsMHg4MCwweDI1LDB4YzIsMHg0YiwweDYwLDB4MDIsMHhkYywweDA4LDB4YjcsMHgwMiB9IH0sCi17ICAxNiwgMHhjZTMwLCAwLCB7MHgyYywweGMwLDB4MGEsMHg3NCwweDAyLDB4ZmUsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHgzNCwweDAyLDB4NjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhjNywweDg0LDB4MzEsMHhlMCB9IH0sCi17ICAxNiwgMHhjZTUwLCAwLCB7MHgwYywweDY4LDB4MDMsMHhkNiwweDAwLDB4OTcsMHg4MCwweDMxLDB4YTAsMHgwZiwweDU4LDB4MTMsMHhkZSwweDA4LDB4ZjcsMHg4MiB9IH0sCi17ICAxNiwgMHhjZTYwLCAwLCB7MHgzZCwweGEwLDB4MGYsMHhmOCwweDBiLDB4ZGUsMHgwMCwweGM3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3OCwweDhiLDB4NmEsMHgwMiB9IH0sCi17ICAxNiwgMHhjZTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFkLDB4ODAsMHhmMywweDAwLDB4M2UsMHhjMSB9IH0sCi17ICAxNiwgMHhjZTgwLCAwLCB7MHgwZiwweGEwLDB4MjMsMHhjMCwweDAyLDB4ZTksMHgwMCwweDNlLDB4ODEsMHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTkwLCAwLCB7MHgzZSwweGMwLDB4MGQsMHhiMCwweDEzLDB4MmMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ODIsMHgwMiB9IH0sCi17ICAxNiwgMHhjZWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MzIsMHhjNywweDgwLDB4MzMsMHg2MCB9IH0sCi17ICAxNiwgMHhjZWIwLCAwLCB7MHgwZiwweDc4LDB4MDMsMHgzZSwweGM4LDB4NGUsMHg4MCwweDIzLDB4NjQsMHgwYywweGY4LDB4MDMsMHgzYSwweDAwLDB4Y2UsMHg4MCB9IH0sCi17ICAxNiwgMHhjZWMwLCAwLCB7MHgxMywweGVjLDB4MDYsMHhkOCwweDAzLDB4M2EsMHgwMCwweGRlLDB4ODAsMHgzMywweGE0LDB4MGMsMHhjOCwweDAzLDB4ZDAsMHgwMCB9IH0sCi17ICAxNiwgMHhjZWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHg4NywweDEwLDB4MDEsMHhjMCB9IH0sCi17ICAxNiwgMHhjZWUwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHgxOCwweDUwLDB4ODQsMHgwMCwweDJiLDB4NDQsMHgwOCwweDYwLDB4MTIsMHg5OCwweDAwLDB4ODYsMHgxMyB9IH0sCi17ICAxNiwgMHhjZWYwLCAwLCB7MHgyMSwweGM0LDB4ODgsMHg1MCwweDAyLDB4MTgsMHg4MCwweDg2LDB4MDAsMHgyMSwweDgwLDB4MDgsMHg2MSwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhjZjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHg0MCB9IH0sCi17ICAxNiwgMHhjZjEwLCAwLCB7MHgwYiwweGYxLDB4MDIsMHg1YywweDgwLDB4MDYsMHgwMCwweDIxLDB4MDAsMHg4OCwweGQwLDB4MDIsMHg1YywweDAwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhjZjIwLCAwLCB7MHgyMCwweDg5LDB4OGEsMHhmMSwweDAyLDB4MWMsMHgwOCwweDg3LDB4MTAsMHgyMSwweDgxLDB4ODgsMHg0OCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhjZjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MTAsMHg4MywweDA0LDB4YTAsMHhjMSB9IH0sCi17ICAxNiwgMHhjZjQwLCAwLCB7MHgwYiwweDMwLDB4MGEsMHg0OCwweDBjLDB4ODgsMHgwNiwweDYwLDB4MzgsMHgwOCwweDA0LDB4NDIsMHhlYywweDAxLDB4OGIsMHgwNCB9IH0sCi17ICAxNiwgMHhjZjUwLCAwLCB7MHgyMiwweGMxLDB4MDgsMHgzMCwweDBhLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweDgwLDB4MDAsMHgyMCwweDAyLDB4ZDgsMHgwNCB9IH0sCi17ICAxNiwgMHhjZjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhjMywweDAwLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhjZjcwLCAwLCB7MHg4ZiwweDkwLDB4MDMsMHg2NCwweDBhLDB4Y2IsMHgwMiwweGIyLDB4ZjIsMHgyMCwweDM1LDB4MTIsMHg2NCwweDBhLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhjZjgwLCAwLCB7MHhiMiwweDQwLDB4MGUsMHhhMCwweDAzLDB4MjQsMHgwYSwweGM5LDB4MDAsMHhhMiwweDQwLDB4MmMsMHhhMCwweDAzLDB4ZWUsMHgwNCB9IH0sCi17ICAxNiwgMHhjZjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHg4MCB9IH0sCi17ICAxNiwgMHhjZmEwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhhNSwweDAwLDB4ZGIsMHg0MCwweDNlLDB4ZDAsMHg0ZCwweGI0LDB4MTMsMHhhNCwweDA4LDB4ZmIsMHgwMSB9IH0sCi17ICAxNiwgMHhjZmIwLCAwLCB7MHgzZSwweGMwLDB4MWMsMHhhMCwweDAzLDB4NmMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDUwLDB4NGYsMHhhNCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjZmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhjZmQwLCAwLCB7MHgwYywweGU4LDB4NDMsMHgyNiwweDAwLDB4ZGYsMHg4MCwweGIzLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHg3YywweDAwLDB4Y2QsMHgwMCB9IH0sCi17ICAxNiwgMHhjZmUwLCAwLCB7MHgzMywweDA0LDB4MGMsMHhlMCwweDIzLDB4MzQsMHg0MCwweGNkLDB4MDAsMHgyMywweDQwLDB4MGMsMHhlMCwweDAzLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjZmYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MTAsMHhiYiwweDAwLDB4YTIsMHhkMiB9IH0sCi17ICAxNiwgMHhkMDAwLCAwLCB7MHgwOCwweDI4LDB4MDIsMHgwNCwweDYwLDB4OGIsMHgxOSwweDIyLDB4YzYsMHgwZSwweGIxLDB4OGEsMHgyZSwweDQwLDB4OGIsMHg5MCB9IH0sCi17ICAxNiwgMHhkMDEwLCAwLCB7MHgyMiwweGMxLDB4MDgsMHhhNCwweDgyLDB4MmMsMHgwMCwweDhiLDB4OTAsMHgyMiwweDY0LDB4NDgsMHhhNCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDMwLCAwLCB7MHgwOCwweDkxLDB4MmUsMHgyNCwweDAwLDB4OWIsMHgwMCwweDIyLDB4YzAsMHg4YiwweGIwLDB4MTIsMHgyMCwweDA0LDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDQwLCAwLCB7MHgyMiwweDQwLDB4MDgsMHgxMCwweDIyLDB4MjAsMHgwMCwweDg4LDB4MDEsMHgyYSwweGQwLDB4MDgsMHg4MCwweDQyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDA0LDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhkMDYwLCAwLCB7MHgwOCwweDEwLDB4MDYsMHgwNCwweDEwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHg4YiwweGIwLDB4MTIsMHgwMCwweDAwLDB4ODIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDcwLCAwLCB7MHgyMCwweGMwLDB4MjgsMHgxMCwweDQyLDB4MDksMHgwNiwweDgyLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgyMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhkMDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDAsMHhiYiwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhkMDkwLCAwLCB7MHgyYywweGIwLDB4MDMsMHgyNCwweDAwLDB4ZDMsMHgwMCwweDMyLDB4YzAsMHg1ZiwweGI1LDB4MDMsMHgwYywweDAyLDB4YzEsMHgwMCB9IH0sCi17ICAxNiwgMHhkMGEwLCAwLCB7MHhiMiwweDAwLDB4MGMsMHhiMCwweDBiLDB4MDUsMHgwMCwweGMxLDB4MDAsMHhiOCwweGMwLDB4MmMsMHg4MCwweDEzLDB4ZTAsMHgwMyB9IH0sCi17ICAxNiwgMHhkMGIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGRjLDB4MDAsMHhmZiwweDAwLDB4MWYsMHhjMCB9IH0sCi17ICAxNiwgMHhkMGMwLCAwLCB7MHg4NywweGYwLDB4MDEsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZSwweDcwLDB4NDMsMHhmYywweDEwLDB4N2YsMHgwMCB9IH0sCi17ICAxNiwgMHhkMGQwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhkMGUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYxLDB4ODQsMHhmZSwweDYxLDB4MzEsMHhkOCB9IH0sCi17ICAxNiwgMHhkMGYwLCAwLCB7MHgwYywweGIyLDB4YzMsMHhmYywweGUwLDB4Y2MsMHg4MCwweDdiLDB4YzAsMHgwZSwweGYxLDB4MDMsMHg3YywweGUwLDB4Y2MsMHg4MyB9IH0sCi17ICAxNiwgMHhkMTAwLCAwLCB7MHgzZiwweDIwLDB4MGYsMHhmMCwweGNiLDB4MzIsMHg0NCwweGRjLDB4ODQsMHgzZiwweDI1LDB4NGMsMHhmMiwweDQzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMTEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGU0LDB4NDgsMHhiMCwweDEwLDB4MjIsMHhkYyB9IH0sCi17ICAxNiwgMHhkMTIwLCAwLCB7MHgwOCwweGI2LDB4MDIsMHhmZCwweDkyLDB4ODgsMHg4NSwweDIzLDB4ZjQsMHg0MCwweGYxLDB4MDIsMHhlZCwweDAwLDB4ODgsMHgyZCB9IH0sCi17ICAxNiwgMHhkMTMwLCAwLCB7MHgwZSwweDYwLDB4MGIsMHhiYywweDEyLDB4MmMsMHgxMCwweGE4LDB4ODIsMHgyZSwweDAwLDB4MGEsMHhmYywweDIyLDB4YTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMTQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGMwLDB4ODAsMHhiMywweDIyLDB4MjgsMHhjMCB9IH0sCi17ICAxNiwgMHhkMTUwLCAwLCB7MHgwOCwweDMwLDB4ODIsMHhjYywweDAxLDB4ODgsMHgwMCwweDJjLDB4YzAsMHg0YSwweDMyLDB4MDIsMHhjYywweDAwLDB4MDEsMHgwMSB9IH0sCi17ICAxNiwgMHhkMTYwLCAwLCB7MHgyOCwweDAwLDB4NGIsMHhiMCwweDAyLDB4YTAsMHgwMCwweDgwLDB4MDAsMHgyYywweDA5LDB4MDgsMHgzNCwweDAyLDB4NjIsMHgwMSB9IH0sCi17ICAxNiwgMHhkMTcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDQsMHhiMiwweDEwLDB4MmEsMHhjMSB9IH0sCi17ICAxNiwgMHhkMTgwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHhlYywweDEwLDB4ODksMHg4MCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlYywweDA4LDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMTkwLCAwLCB7MHgyZSwweDQwLDB4ODMsMHhiMCwweDAyLDB4YTAsMHg0MCwweGI5LDB4ODAsMHgyYywweDIxLDB4MGEsMHhiMCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhmYSwweDAwLDB4YmEsMHhjMCB9IH0sCi17ICAxNiwgMHhkMWIwLCAwLCB7MHgyYywweGIwLDB4NDMsMHhlYywweDAwLDB4YzAsMHg4MCwweDNlLDB4YzAsMHg4ZSwweGIwLDB4MDMsMHg0YywweDBjLDB4YzgsMHgxMCB9IH0sCi17ICAxNiwgMHhkMWMwLCAwLCB7MHgzZSwweDgwLDB4OGYsMHhiMCwweDAzLDB4ODIsMHgxMCwweGQ4LDB4ODIsMHgzZSwweDI4LDB4MGMsMHhiMCwweDBiLDB4NTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI2LDB4ODAsMHhmZCwweDAyLDB4MzcsMHhjMSB9IH0sCi17ICAxNiwgMHhkMWUwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4NTMsMHhmYywweDAyLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHhkMWYwLCAwLCB7MHgyZiwweGE0LDB4OGIsMHhmMCwweDgzLDB4N2MsMHgwMCwweGFkLDB4MDIsMHgyZiwweDQwLDB4MDMsMHg3MCwweDAzLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDA0LDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHhkMjEwLCAwLCB7MHg0YywweGIwLDB4MjMsMHgyYywweDAwLDB4ZjgsMHg0MCwweDNlLDB4YzIsMHgwYywweGIwLDB4MDMsMHgyYywweDAwLDB4ZmIsMHg0MSB9IH0sCi17ICAxNiwgMHhkMjIwLCAwLCB7MHgzMiwweGMyLDB4MGYsMHhiMCwweDQzLDB4MmQsMHgwMCwweGM4LDB4NTAsMHgzZSwweDQwLDB4MGMsMHhiMCwweDBiLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJmLDB4OTAsMHhiOSwweDUwLDB4MDMsMHhjMCB9IH0sCi17ICAxNiwgMHhkMjQwLCAwLCB7MHgxOCwweGYwLDB4MWEsMHgzYywweDAwLDB4YjksMHgzMiwweDJkLDB4ZTAsMHgzOCwweGYwLDB4NjAsMHgzYywweDA0LDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhkMjUwLCAwLCB7MHgzZSwweGYwLDB4MGIsMHg3YywweDgwLDB4MmMsMHgwMCwweGQ5LDB4YzAsMHgyZSwweDQwLDB4MGQsMHhmMCwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRiLDB4MjQsMHhiMiwweDEwLDB4MDIsMHhjMSB9IH0sCi17ICAxNiwgMHhkMjcwLCAwLCB7MHgyOCwweDMwLDB4MDIsMHg2YywweDA0LDB4YjIsMHhjMSwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDAsMHgwYywweDAwLDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjgwLCAwLCB7MHgyOCwweDI0LDB4MDMsMHgzYywweDBhLDB4MDAsMHgwMCwweDgyLDB4YzgsMHgyYywweGEwLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDE2LDB4MDAsMHhiNCwweDgwLDB4MjEsMHhlNCB9IH0sCi17ICAxNiwgMHhkMmEwLCAwLCB7MHg0OCwweDdiLDB4MDIsMHg1ZSwweDAwLDB4YjYsMHg4MCwweDZkLDB4ZTIsMHg0OCwweDc5LDB4MjIsMHgxZSwweDQwLDB4YWMsMHg4NCB9IH0sCi17ICAxNiwgMHhkMmIwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHhmYSwweDAwLDB4NTIsMHg0MCwweDk2LDB4ODAsMHgyZCwweGU4LDB4MTksMHgzOCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMmMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4NDAsMHhmMywweDEwLDB4YjAsMHhjNCB9IH0sCi17ICAxNiwgMHhkMmQwLCAwLCB7MHgwOCwweDNhLDB4MDIsMHg0YywweDkwLDB4ZjMsMHgxMCwweDNjLDB4Y2MsMHgwOCwweDMxLDB4MDMsMHgwYywweDQ5LDB4YjAsMHg0MCB9IH0sCi17ICAxNiwgMHhkMmUwLCAwLCB7MHgzMCwweDA1LDB4MGYsMHgzMCwweDA3LDB4MjEsMHg0MCwweDQzLDB4MDEsMHgzZSwweGMyLDB4MWMsMHgzMCwweDQzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhkMmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwZCwweGJjLDB4MTAsMHhmYywweDEwLDB4M2YsMHhjNSB9IH0sCi17ICAxNiwgMHhkMzAwLCAwLCB7MHgwZiwweGYxLDB4MDEsMHhiYywweDA0LDB4ZmYsMHgwNCwweDNmLDB4YzQsMHgwZiwweGIxLDB4NGIsMHhmYywweDY0LDB4ZjcsMHgwMCB9IH0sCi17ICAxNiwgMHhkMzEwLCAwLCB7MHgzNywweGMwLDB4MGYsMHg3MiwweDUzLDB4YWMsMHg0NCwweGZmLDB4MDEsMHgzZiwweGM5LDB4MGYsMHhmNCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhkMzIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDgsMHhmYSwweDAwLDB4M2UsMHhlMCB9IH0sCi17ICAxNiwgMHhkMzMwLCAwLCB7MHgwYywweGIwLDB4MDMsMHgyYywweDAwLDB4Y2IsMHgwMiwweDNlLDB4Y2EsMHgwZiwweGIyLDB4MDcsMHgyZSwweDAwLDB4ZGIsMHgwMiB9IH0sCi17ICAxNiwgMHhkMzQwLCAwLCB7MHgzMiwweDA4LDB4MGYsMHgzMSwweDAzLDB4MmMsMHgwMCwweGNiLDB4MDQsMHgzZSwweDgwLDB4MGMsMHgzNSwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhkMzUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDk0LDB4MDAsMHhiNSwweDAwLDB4MmQsMHhjOCB9IH0sCi17ICAxNiwgMHhkMzYwLCAwLCB7MHgwOCwweDcwLDB4MGEsMHgxYywweDIyLDB4ODcsMHgwMCwweDJkLDB4YzksMHgwYiwweGYyLDB4ODIsMHg5YywweDgwLDB4YTYsMHgwMCB9IH0sCi17ICAxNiwgMHhkMzcwLCAwLCB7MHgwOSwweDhiLDB4MGIsMHg3MCwweDBhLDB4MWMsMHgwMiwweDg1LDB4MDAsMHgyZCwweDQwLDB4MDgsMHg3MCwweDAyLDB4OTIsMHgwNCB9IH0sCi17ICAxNiwgMHhkMzgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweDgwLDB4MmMsMHhlYyB9IH0sCi17ICAxNiwgMHhkMzkwLCAwLCB7MHgwOCwweDdiLDB4MDIsMHg1ZSwweDQwLDB4ODUsMHg4OSwweDJkLDB4ZWMsMHg4YiwweDdiLDB4MDIsMHg0ZSwweDg0LDB4OGYsMHg4MCB9IH0sCi17ICAxNiwgMHhkM2EwLCAwLCB7MHgyNSwweDY0LDB4MGIsMHhmYSwweDAyLDB4MTIsMHgwOCwweDk3LDB4ODAsMHg2ZiwweGUxLDB4MDgsMHg3YSwweDAyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkM2IwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MjAsMHhiMywweDY0LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkM2MwLCAwLCB7MHgwOCwweDMwLDB4MDYsMHgwYywweDEwLDB4ODMsMHg4YSwweDZjLDB4YzAsMHg1YiwweDMwLDB4NDIsMHhjYywweDAwLDB4YWIsMHgxMCB9IH0sCi17ICAxNiwgMHhkM2QwLCAwLCB7MHgyYywweGYyLDB4MGIsMHgzMCwweDAyLDB4MGQsMHgwMCwweDkzLDB4MDQsMHgyYywweGQ1LDB4MDgsMHgzMCwweDBhLDB4OTIsMHgwNCB9IH0sCi17ICAxNiwgMHhkM2UwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJiLDB4MDAsMHhmZSwweGMwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhkM2YwLCAwLCB7MHgyYywweGEwLDB4MDMsMHg2OCwweDAwLDB4YzYsMHg0MCwweDNmLDB4ODAsMHgwZiwweGEwLDB4MDIsMHg2OCwweDAwLDB4Y2UsMHg0NCB9IH0sCi17ICAxNiwgMHhkNDAwLCAwLCB7MHgzNiwweDkwLDB4NGYsMHg2MCwweDAzLDB4MWIsMHg3MCwweGRlLDB4ZDgsMHgzZiwweGEwLDB4MGMsMHgyMCwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhkNDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4NDAsMHhmOCwweDEwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhkNDIwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhMCwweDEwLDB4ZjgsMHg0MiwweDNlLDB4MTAsMHgxZiwweDgwLDB4MDMsMHhhMCwweDAwLDB4ZTgsMHgwYyB9IH0sCi17ICAxNiwgMHhkNDMwLCAwLCB7MHgzYSwweDA0LDB4MWYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4NDUsMHg3ZSwweDAyLDB4MmYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNDQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweDY0LDB4MDAsMHhlOSwweDgwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNDUwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHgwNCwweDA4LDB4ZDksMHg4MCwweDM2LDB4NDAsMHgwZiwweDEwLDB4MTMsMHgyNCwweDA4LDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhkNDYwLCAwLCB7MHg3MiwweDcwLDB4MGYsMHg5MSwweDEzLDB4MjQsMHgxMCwweGM5LDB4MTAsMHgzZSwweDY5LDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhkNDcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDgsMHhiOSwweDgwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNDgwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgyNCwweDAwLDB4ODksMHhjNCwweDIyLDB4NTIsMHgwYiwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhkNDkwLCAwLCB7MHgyMiwweGUwLDB4MGIsMHg5MCwweDEyLDB4MjQsMHgwNCwweGQ5LDB4NGEsMHgyZSwweDYwLDB4MDgsMHg5MCwweDAzLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkNGEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiMSwweDE4LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNGIwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHgyNCwweDAwLDB4OGIsMHgyMCwweDI2LDB4NDksMHgwYiwweDkwLDB4MDIsMHg2NCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhkNGMwLCAwLCB7MHhhMiwweDQwLDB4MGIsMHg5MCwweDhhLDB4MjQsMHgwMCwweDhiLDB4MDAsMHgyYywweDQwLDB4YTgsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhkNGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODQsMHhiMSwweDIwLDB4YTAsMHg0OCB9IH0sCi17ICAxNiwgMHhkNGUwLCAwLCB7MHgwYiwweDExLDB4MDYsMHgwNCwweDAwLDB4ODMsMHgwMCwweDAwLDB4NDAsMHg0YiwweDExLDB4MDIsMHgwNCwweDQ5LDB4YjEsMHgxMCB9IH0sCi17ICAxNiwgMHhkNGYwLCAwLCB7MHgyOCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MjQsMHg0MSwweDkxLDB4MDAsMHgyYywweDUwLDB4MDgsMHgxMCwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkNTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDY5LDB4NDAsMHhlOCwweDUwLDB4MzIsMHgxNCB9IH0sCi17ICAxNiwgMHhkNTEwLCAwLCB7MHgwZiwweDg2LDB4OTMsMHgyMSwweGUyLDB4YzgsMHgwMCwweDM2LDB4MGEsMHgwYiwweDg2LDB4OGIsMHg2MSwweGE4LDB4ZjgsMHg0MCB9IH0sCi17ICAxNiwgMHhkNTIwLCAwLCB7MHgyMiwweDgwLDB4MGYsMHg4MiwweGEzLDB4MjEsMHgwOCwweGM4LDB4MDIsMHgzZSwweDAwLDB4MGMsMHg4MCwweDQzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhkNTMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4NDgsMHhmZCwweDEyLDB4M2UsMHg0NCB9IH0sCi17ICAxNiwgMHhkNTQwLCAwLCB7MHgwZiwweDEyLDB4MDMsMHhjNCwweDAwLDB4N2QsMHgwMSwweDFlLDB4NDAsMHgwYiwweDkyLDB4MDMsMHhlNCwweDgwLDB4ZjUsMHgyMCB9IH0sCi17ICAxNiwgMHhkNTUwLCAwLCB7MHgzNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZDQsMHg5MCwweDdkLDB4MDAsMHgzZCwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhkNTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGY2LDB4YzEsMHhkZCwweDg4LDB4MzIsMHg3MiB9IH0sCi17ICAxNiwgMHhkNTcwLCAwLCB7MHgwYywweDk4LDB4MDMsMHgyNiwweDIyLDB4ZGQsMHgwMCwweDNmLDB4NjIsMHgyYywweDk5LDB4ODMsMHg0NiwweGEwLDB4YzksMHg0MCB9IH0sCi17ICAxNiwgMHhkNTgwLCAwLCB7MHhiMiwweDQwLDB4MGYsMHhkOCwweDAzLDB4MjQsMHgwMCwweGZkLDB4MDAsMHgzMywweDUxLDB4MmMsMHhkOCwweDgzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhkNTkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUzLDB4YzIsMHg4OCwweGMwLDB4MjIsMHgzMCB9IH0sCi17ICAxNiwgMHhkNWEwLCAwLCB7MHgwOCwweDhjLDB4NDIsMHgyMiwweDExLDB4OGEsMHgwMSwweDJlLDB4MDAsMHgwOCwweDg4LDB4NTIsMHgyMywweDAwLDB4ODAsMHhhMyB9IH0sCi17ICAxNiwgMHhkNWIwLCAwLCB7MHgyYSwweDAwLDB4NGIsMHg4MCwweDQyLDB4MjIsMHhhMCwweGI4LDB4MDAsMHgyMiwweDI4LDB4MDgsMHg4NCwweDAyLDB4OGUsMHgwNCB9IH0sCi17ICAxNiwgMHhkNWMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDJkLDB4MjAsMHg0OCB9IH0sCi17ICAxNiwgMHhkNWQwLCAwLCB7MHg2OCwweDE0LDB4ODAsMHgwNCwweDIwLDB4ODEsMHgwMCwweDJlLDB4NDAsMHgwYiwweDEyLDB4MTIsMHgwNCwweDI0LDB4ODEsMHgyMCB9IH0sCi17ICAxNiwgMHhkNWUwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHg5NCwweDMyLDB4MDQsMHg5MCwweGI5LDB4MDAsMHgyMCwweDQwLDB4NDgsMHgxMCwweDRhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkNWYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDIwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjAwLCAwLCB7MHgwOCwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA4LDB4ODksMHg0MCB9IH0sCi17ICAxNiwgMHhkNjEwLCAwLCB7MHgyMiwweDUwLDB4MGIsMHhiMCwweDAyLDB4MjQsMHgyMCwweGI5LDB4MDksMHhhMiwweDQ0LDB4MDgsMHg5MCwweDAyLDB4ODYsMHgwNCB9IH0sCi17ICAxNiwgMHhkNjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhkOSwweDA4LDB4YjIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjMwLCAwLCB7MHg0YywweDEwLDB4MjMsMHgwNCwweDA0LDB4ZDksMHhjMSwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MGIsMHgwNCwweDA4LDB4YzEsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjQwLCAwLCB7MHgxMiwweDQwLDB4MGYsMHg5MCwweDQzLDB4MjQsMHgwNCwweGYxLDB4NDEsMHgzMCwweDc4LDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhkNjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDg2LDB4NjQsMHhmOSwweDgwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjYwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHhlNCwweDAwLDB4ZjksMHg5OCwweDNlLDB4NDAsMHgyZiwweDEwLDB4MDMsMHhhNCwweDAyLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhkNjcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4ZTYsMHg0MCwweGY5LDB4OTAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkNjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDQxLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNjkwLCAwLCB7MHgwYywweDgwLDB4MDcsMHgyMCwweDEwLDB4YzgsMHgxMCwweDNlLDB4MGMsMHgwZSwweDgwLDB4MDMsMHhlMCwweDA0LDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhkNmEwLCAwLCB7MHhiYSwweDAwLDB4MGYsMHg4MSwweDQzLDB4MjAsMHgwMCwweGY4LDB4NzAsMHgzZSwweDAwLDB4MGYsMHgwMCwweDBiLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhkNmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDM5LDB4MDIsMHg4ZSwweDIwLDB4YTMsMHg4MCB9IH0sCi17ICAxNiwgMHhkNmMwLCAwLCB7MHgyOCwweGUwLDB4MGEsMHgzOCwweDEwLDB4YWUsMHgwNCwweDNkLDB4YTEsMHg4ZSwweGUwLDB4MDIsMHhmOCwweDAwLDB4OGUsMHgwMCB9IH0sCi17ICAxNiwgMHhkNmQwLCAwLCB7MHg3NiwweDgwLDB4MGIsMHg2MCwweDAzLDB4NzgsMHgwMCwweGJlLDB4NDAsMHgyZiwweDgyLDB4MGIsMHhhMCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkNmUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRkLDB4MDAsMHg4YiwweDg4LDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhkNmYwLCAwLCB7MHgxOCwweDMwLDB4MDIsMHgwYywweDAwLDB4ODMsMHg0NCwweDJjLDB4ZDAsMHgxYiwweDMwLDB4MTIsMHhjYywweDA2LDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzAwLCAwLCB7MHgyMCwweGMxLDB4MGIsMHgzMCwweDgyLDB4MGMsMHgwMSwweGIzLDB4MDAsMHgyYywweDQwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4MDAsMHg4NSwweDAwLDB4MjAsMHhjYyB9IH0sCi17ICAxNiwgMHhkNzIwLCAwLCB7MHgwOCwweDcwLDB4MDYsMHgxYywweDg0LDB4YTcsMHgwMSwweDI5LDB4YzAsMHgwYiwweDcyLDB4MjIsMHhkYywweDgwLDB4ODcsMHgzNCB9IH0sCi17ICAxNiwgMHhkNzMwLCAwLCB7MHg2MSwweDgwLDB4MGIsMHgxMCwweDAyLDB4NWMsMHgwMCwweGI3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDBlLDB4MDAsMHg4YywweDgwLDB4MzEsMHhlMCB9IH0sCi17ICAxNiwgMHhkNzUwLCAwLCB7MHgwYywweGZlLDB4MDIsMHgzZiwweDAwLDB4YzUsMHg4MCwweDJkLDB4ZTAsMHgwZSwweDc4LDB4MDMsMHhkZiwweGEwLDB4YzcsMHhhMCB9IH0sCi17ICAxNiwgMHhkNzYwLCAwLCB7MHgyMSwweDYwLDB4MGYsMHg3OCwweDAzLDB4MWUsMHg4MCwweGY3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3OCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhkNzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhkNzgwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmEsMHgwMCwweDNlLDB4YzAsMHgwNiwweGIwLDB4MDMsMHhlYywweDgwLDB4ZmIsMHgyOCB9IH0sCi17ICAxNiwgMHhkNzkwLCAwLCB7MHgzNiwweGQ4LDB4NGYsMHhhMCwweDAzLDB4ZWMsMHgxMCwweGZhLDB4MDAsMHgzZSwweDUwLDB4MGYsMHgzMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhkN2EwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZhLDB4MDAsMHhjYywweDgwLDB4YjMsMHhlMCB9IH0sCi17ICAxNiwgMHhkN2IwLCAwLCB7MHgwZiwweGY4LDB4MDMsMHgzZSwweDAwLDB4Y2YsMHg5MCwweDNmLDB4NjAsMHg0ZiwweGY4LDB4YzMsMHgzZSwweDAwLDB4ZWYsMHg4MCB9IH0sCi17ICAxNiwgMHhkN2MwLCAwLCB7MHgzMywweGYwLDB4MGMsMHg3YSwweDAzLDB4M2UsMHg3MCwweGM1LDB4OTAsMHgzMywweGYxLDB4MGMsMHg3OCwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhkN2QwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGI4LDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhkN2UwLCAwLCB7MHgwYiwweDcwLDB4NGEsMHgxYywweDAwLDB4ODcsMHgxMCwweDJkLDB4YzAsMHg0YiwweDcxLDB4MGEsMHgzYywweDQ0LDB4OGYsMHgxMiB9IH0sCi17ICAxNiwgMHhkN2YwLCAwLCB7MHgyMSwweDg2LDB4MGQsMHg3MiwweDAyLDB4MWUsMHgwMCwweDg3LDB4MDAsMHgyMywweDQwLDB4MDgsMHg3MCwweDBhLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhkODAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NCwweDAwLDB4MjUsMHhjMCB9IH0sCi17ICAxNiwgMHhkODEwLCAwLCB7MHgwYiwweDcxLDB4MGEsMHgwYywweDAwLDB4YTcsMHgxMiwweDJkLDB4ODQsMHgwYiwweDcwLDB4MGEsMHgxYywweDAwLDB4YjcsMHgwOCB9IH0sCi17ICAxNiwgMHhkODIwLCAwLCB7MHgyMywweDQwLDB4MDksMHhmMywweDFhLDB4NWMsMHg4NiwweDk3LDB4MDgsMHgyNSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhkODMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MjAsMHg4MSwweDIwLDB4MjYsMHhjMCB9IH0sCi17ICAxNiwgMHhkODQwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgyYywweDAwLDB4ODIsMHg0MiwweDJjLDB4ODAsMHgwYiwweDMwLDB4MjIsMHgwYywweDA4LDB4OWIsMHg4MCB9IH0sCi17ICAxNiwgMHhkODUwLCAwLCB7MHgyMCwweGUwLDB4MDksMHgyMCwweDAyLDB4NGQsMHgwOCwweDkyLDB4MDAsMHgyNCwweGU1LDB4MDgsMHgzMCwweDBhLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhkODYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFlLDB4ODIsMHhjYSwweGUwLDB4YjcsMHhjMCB9IH0sCi17ICAxNiwgMHhkODcwLCAwLCB7MHgwZiwweGYwLDB4MTMsMHgzYywweDBhLDB4YzksMHhjOCwweDNlLDB4NDAsMHgwZiwweGYwLDB4MDMsMHgzYywweDA0LDB4ZmYsMHg4NCB9IH0sCi17ICAxNiwgMHhkODgwLCAwLCB7MHgzMiwweGMwLDB4MGQsMHg5MCwweDEzLDB4N2MsMHgwMCwweGQ5LDB4MDAsMHhmNiwweGMwLDB4MmMsMHgxMCwweDAzLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhkODkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGU0LDB4MDAsMHhmMywweDAwLDB4M2EsMHhjMSB9IH0sCi17ICAxNiwgMHhkOGEwLCAwLCB7MHg0ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwOCwweDNjLDB4MDAsMHgwZiwweDMwLDB4MTMsMHhlYywweDAwLDB4ZWIsMHgwNCB9IH0sCi17ICAxNiwgMHhkOGIwLCAwLCB7MHhiZSwweDE4LDB4MGYsMHg5MCwweDIzLDB4YWMsMHg2MCwweGU5LDB4MDIsMHgzYSwweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkOGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhjYSwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhkOGQwLCAwLCB7MHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4Y2QsMHgwMiwweDdmLDB4NDAsMHgwYywweGYwLDB4NDIsMHgzYywweDAwLDB4Y2YsMHgwOCB9IH0sCi17ICAxNiwgMHhkOGUwLCAwLCB7MHgzNywweDEwLDB4MGYsMHhkMCwweDAzLDB4ZmMsMHgxMCwweGNkLDB4MDgsMHgzZiwweDY2LDB4MmMsMHhkOSwweDAzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhkOGYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDYzLDB4ODAsMHg4YiwweGUwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhkOTAwLCAwLCB7MHgwOCwweGIwLDB4MjIsMHhlYywweDAwLDB4ZDgsMHg4MCwweDZlLDB4MjAsMHg2OCwweGIwLDB4MWEsMHgyYywweDAxLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTEwLCAwLCB7MHgyMiwweDE4LDB4MGIsMHg4OCwweDQzLDB4NGMsMHgwMCwweDg4LDB4YTAsMHgyYywweGMwLDB4MWQsMHg5MCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhkOTIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDA4LDB4ODAsMHg4YiwweDIwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhkOTMwLCAwLCB7MHgwOCwweGIwLDB4MjIsMHhlYywweDAwLDB4ODgsMHg4OCwweDJlLDB4NjIsMHg0OCwweGIwLDB4MWEsMHhjYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTQwLCAwLCB7MHgyNiwweGMwLDB4NGEsMHg4OCwweDAyLDB4ZWMsMHgwMCwweDA4LDB4ODQsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MywweDAwLDB4NjAsMHhjMCB9IH0sCi17ICAxNiwgMHhkOTYwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4OTAsMHgwNiwweDZjLDB4MDAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4YTMsMHgwNCB9IH0sCi17ICAxNiwgMHhkOTcwLCAwLCB7MHgyMCwweDAwLDB4OGIsMHgwMCwweDA2LDB4NGMsMHgyMSwweDgwLDB4MDAsMHg2YywweGMwLDB4NDksMHgxMCwweDBhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjYSwweDAwLDB4YjIsMHhjMSB9IH0sCi17ICAxNiwgMHhkOTkwLCAwLCB7MHg4OCwweGI0LDB4MDMsMHhlYywweDEwLDB4YzgsMHgwMCwweDJlLDB4MDAsMHgwYywweGIwLDB4MGIsMHhiYywweDA4LDB4OGYsMHgwMCB9IH0sCi17ICAxNiwgMHhkOWEwLCAwLCB7MHgzNiwweDAwLDB4MDYsMHg4MCwweDAzLDB4ZWMsMHg4MCwweGM4LDB4MDIsMHgzZiwweGMxLDB4MGMsMHg5MCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhkOWIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGYwLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhkOWMwLCAwLCB7MHgwZiwweDcyLDB4ODMsMHhmYywweDE4LDB4ZmMsMHgwMywweDNmLDB4MDAsMHg4ZiwweDcwLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhkOWQwLCAwLCB7MHgzZCwweDAwLDB4MGYsMHhjMCwweDIzLDB4OGMsMHgwNiwweGZjLDB4MDAsMHgzZiwweDQwLDB4MGUsMHhkMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhkOWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQxLDB4MDMsMHg3MCwweDQwLDB4ZGMsMHgxMCB9IH0sCi17ICAxNiwgMHhkOWYwLCAwLCB7MHgzNywweDA0LDB4MGQsMHhjMSwweDAzLDB4NzAsMHg0MCwweGRjLDB4MTAsMHgzNywweDA0LDB4MGQsMHhjMSwweDAxLDB4NzAsMHg0MCB9IH0sCi17ICAxNiwgMHhkYTAwLCAwLCB7MHg5YywweDEwLDB4MTcsMHgxNCwweDA1LDB4YzEsMHgwMywweDcwLDB4NDAsMHhkYywweDEwLDB4MTcsMHgwNCwweDBkLDB4YzAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCB9IH0sCi17ICAxNiwgMHhkYTIwLCAwLCB7MHg1NywweDEwLDB4MTUsMHhjNCwweDA1LDB4MjEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDAxLDB4NzEsMHgwMSB9IH0sCi17ICAxNiwgMHhkYTMwLCAwLCB7MHg1YywweDQwLDB4MTcsMHgxMCwweDA1LDB4YzQsMHgwNSwweDcxLDB4MDUsMHg1YywweDQxLDB4NTcsMHgxMCwweDE1LDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhkYTQwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9IH0sCi17ICAxNiwgMHhkYTUwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhkYTYwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgyMCB9IH0sCi17ICAxNiwgMHhkYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHg2MCwweDAwLDB4NTgsMHgwMCB9IH0sCi17ICAxNiwgMHhkYTgwLCAwLCB7MHgxNiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHgxNiwweDAwLDB4MDUsMHg4MCwweDA1LDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYTkwLCAwLCB7MHg1OCwweDAwLDB4MTYsMHgxOCwweDAxLDB4ODAsMHgwMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4NTYsMHgwMCwweDA1LDB4ODAsMHgyMCB9IH0sCi17ICAxNiwgMHhkYWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ4LDB4MDUsMHgyMiwweDAxLDB4MWMsMHg4MCB9IH0sCi17ICAxNiwgMHhkYWIwLCAwLCB7MHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHg0MSB9IH0sCi17ICAxNiwgMHhkYWMwLCAwLCB7MHg1YywweDgwLDB4NTcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4NDcsMHgyMCwweDE1LDB4YzAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYWQwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHhkYWUwLCAwLCB7MHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYWYwLCAwLCB7MHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCB9IH0sCi17ICAxNiwgMHhkYjEwLCAwLCB7MHg0MiwweDIwLDB4MTAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4ODAsMHg0MiwweDIwLDB4MTAsMHg4MCwweDA0LDB4MjMsMHgwMSB9IH0sCi17ICAxNiwgMHhkYjIwLCAwLCB7MHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4ODgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgyMCwweDEwLDB4ODAsMHgyMSB9IH0sCi17ICAxNiwgMHhkYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDRhLDB4MDUsMHg0MiwweDgxLDB4NTAsMHhhMCB9IH0sCi17ICAxNiwgMHhkYjQwLCAwLCB7MHg0NCwweDJjLDB4MTEsMHgwYiwweDA0LDB4NDIsMHg4MSwweDEwLDB4ZTAsMHg1NCwweDI4LDB4MTEsMHgwMiwweDAwLDB4NDIsMHg4MSB9IH0sCi17ICAxNiwgMHhkYjUwLCAwLCB7MHgxMCwweGEwLDB4NDQsMHgzOCwweDExLDB4MGIsMHgwNSwweDQyLDB4ODEsMHgxMCwweDIxLDB4MTQsMHgyOCwweDE1LDB4MDAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYjYwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBjLDB4MDEsMHg1NywweDAwLDB4NTQsMHhjMCB9IH0sCi17ICAxNiwgMHhkYjcwLCAwLCB7MHgxNSwweDMwLDB4MDQsMHg0YywweDAxLDB4MTMsMHgwMCwweDU0LDB4YzAsMHgxNSwweDcwLDB4MDUsMHg0YywweDAxLDB4NTMsMHgwMCB9IH0sCi17ICAxNiwgMHhkYjgwLCAwLCB7MHg1NCwweGMwLDB4MTUsMHgzMCwweDg1LDB4NGMsMHgwMSwweDEzLDB4MDAsMHg1NCwweGMwLDB4MTUsMHgzMCwweDA1LDB4NDAsMHgyMSB9IH0sCi17ICAxNiwgMHhkYjkwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYmEwLCAwLCB7MHgwNCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDEwLDB4NjIsMHgwNCwweDAwLDB4MDEsMHgwOCwweDA0LDB4NDEsMHgwMCB9IH0sCi17ICAxNiwgMHhkYmIwLCAwLCB7MHgxMCwweDAwLDB4NDQsMHgxOCwweDExLDB4MDAsMHgwMCwweDEwLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgwMCwweDAxLDB4MDEsMHgyMCB9IH0sCi17ICAxNiwgMHhkYmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDYwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCB9IH0sCi17ICAxNiwgMHhkYmQwLCAwLCB7MHgyMCwweDgwLDB4MDgsMHg2MCwweDAyLDB4MTgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAwLDB4MDgsMHgyMCB9IH0sCi17ICAxNiwgMHhkYmUwLCAwLCB7MHg4MiwweDAwLDB4MDAsMHg4MCwweDgwLDB4MjAsMHgwMiwweDE4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MDEsMHgzMSB9IH0sCi17ICAxNiwgMHhkYmYwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDUsMHg2NCwweDAxLDB4NTgsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzAwLCAwLCB7MHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg1NiwweDQwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSB9IH0sCi17ICAxNiwgMHhkYzEwLCAwLCB7MHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NzYsMHgwMCwweDE1LDB4ODAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzMwLCAwLCB7MHgzNiwweDAwLDB4MGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweDk4LDB4MDAsMHgzNiwweDAwLDB4MWQsMHg4OCwweDA1LDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzQwLCAwLCB7MHhkOCwweDAwLDB4MTYsMHgwMCwweDBkLDB4ODAsMHgwMywweDYwLDB4MDAsMHhkOCwweDgwLDB4NDYsMHgwMCwweDBkLDB4ODAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCB9IH0sCi17ICAxNiwgMHhkYzYwLCAwLCB7MHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjIsMHg0MSwweDA4LDB4MTgsMHhjMiwweDA0LDB4MzAsMHg4OSB9IH0sCi17ICAxNiwgMHhkYzcwLCAwLCB7MHgwYywweDIwLDB4MDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzAsMHgxMCB9IH0sCi17ICAxNiwgMHhkYzgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzkwLCAwLCB7MHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkY2EwLCAwLCB7MHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMSB9IH0sCi17ICAxNiwgMHhkY2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCB9IH0sCi17ICAxNiwgMHhkY2MwLCAwLCB7MHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMywweDAxLDB4MzAsMHg4MCB9IH0sCi17ICAxNiwgMHhkY2QwLCAwLCB7MHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwLDB4ODAsMHg0YywweDMwLDB4MTMsMHgwOCwweDA0LDB4YzAsMHgyMSB9IH0sCi17ICAxNiwgMHhkY2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDUsMHg2MCwweDgxLDB4NTgsMHgyMCB9IH0sCi17ICAxNiwgMHhkY2YwLCAwLCB7MHg1NiwweDA4LDB4MTEsMHg4MiwweDA1LDB4NjAsMHg4MSwweDU4LDB4MjAsMHg1NiwweDA4LDB4MTEsMHg4MywweDAwLDB4NjAsMHg4MSB9IH0sCi17ICAxNiwgMHhkZDAwLCAwLCB7MHg1OCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDMwLDB4NTYsMHgwOCwweDE1LDB4ODAsMHgzMCB9IH0sCi17ICAxNiwgMHhkZDEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCB9IH0sCi17ICAxNiwgMHhkZDIwLCAwLCB7MHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MzAsMHg4MCB9IH0sCi17ICAxNiwgMHhkZDMwLCAwLCB7MHgwOCwweDIwLDB4MDIsMHgwMCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDMsMHgwOCwweDAwLDB4ODAsMHgzMSB9IH0sCi17ICAxNiwgMHhkZDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9IH0sCi17ICAxNiwgMHhkZDUwLCAwLCB7MHg0NiwweDQ4LDB4MTEsMHg5MiwweDA0LDB4NjAsMHg4MSwweDE5LDB4MjAsMHg0NiwweDI4LDB4MTEsMHg4MiwweDAwLDB4MzQsMHg4MSB9IH0sCi17ICAxNiwgMHhkZDYwLCAwLCB7MHgxOCwweDIwLDB4NDYsMHg0OCwweDExLDB4OTIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwLDB4NDMsMHgwOCwweDExLDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDYwLDB4MDQsMHg1OCwweDAxLDB4NTYsMHgwMCB9IH0sCi17ICAxNiwgMHhkZDgwLCAwLCB7MHg1NSwweDgwLDB4MTUsMHg2MCwweDA0LDB4NTgsMHgwMSwweDE2LDB4MDAsMHg1NSwweDgwLDB4MDEsMHg2MCwweDA0LDB4MTgsMHgwMSB9IH0sCi17ICAxNiwgMHhkZDkwLCAwLCB7MHg1NiwweDAwLDB4NDUsMHg4MCwweDExLDB4NjAsMHgwNCwweDU4LDB4MDEsMHgxNiwweDAwLDB4NDEsMHg4MCwweDExLDB4NDAsMHgzMSB9IH0sCi17ICAxNiwgMHhkZGEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA2LDB4MDEsMHg0MSwweDgwLDB4NTAsMHg2MCB9IH0sCi17ICAxNiwgMHhkZGIwLCAwLCB7MHgxNCwweDE4LDB4MDUsMHgwNiwweDAxLDB4NDEsMHg4MCwweDUwLDB4NjAsMHgwNCwweDE4LDB4MDUsMHgwNiwweDAwLDB4NDEsMHg4MCB9IH0sCi17ICAxNiwgMHhkZGMwLCAwLCB7MHgxMCwweDYwLDB4MTQsMHgxOCwweDA1LDB4MDYsMHgwMSwweDQxLDB4ODAsMHg1MCwweDYwLDB4MTQsMHgxOCwweDA1LDB4MDAsMHgyMCB9IH0sCi17ICAxNiwgMHhkZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMCB9IH0sCi17ICAxNiwgMHhkZGUwLCAwLCB7MHgxMCwweDQ4LDB4MDQsMHgxMiwweDAxLDB4MDAsMHg4MCwweDQxLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDQsMHg4MCB9IH0sCi17ICAxNiwgMHhkZGYwLCAwLCB7MHg0MCwweDIwLDB4NTAsMHg0OCwweDA0LDB4MTIsMHgwMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDAsMHgyMCB9IH0sCi17ICAxNiwgMHhkZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCB9IH0sCi17ICAxNiwgMHhkZTEwLCAwLCB7MHgzMCwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ1LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4MDUsMHg4MCB9IH0sCi17ICAxNiwgMHhkZTIwLCAwLCB7MHhkNCwweDYwLDB4MTUsMHgxOCwweDBkLDB4NDYsMHgwMywweDExLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgzMSB9IH0sCi17ICAxNiwgMHhkZTMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ2LDB4MDUsMHg3MSwweDgwLDB4NWMsMHg2MCB9IH0sCi17ICAxNiwgMHhkZTQwLCAwLCB7MHg5NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MSwweDVjLDB4MjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDAzLDB4NzAsMHg4MSB9IH0sCi17ICAxNiwgMHhkZTUwLCAwLCB7MHg1YywweDYwLDB4NTcsMHgxOCwweDExLDB4YzYsMHgwNSwweDMxLDB4ODEsMHg1YywweDYwLDB4NzcsMHgxOCwweDE1LDB4YzAsMHgzMSB9IH0sCi17ICAxNiwgMHhkZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQ2LDB4MDMsMHg3MSwweDgwLDB4ZGMsMHg2MCB9IH0sCi17ICAxNiwgMHhkZTcwLCAwLCB7MHgzNywweDE4LDB4MGQsMHhjNiwweDAzLDB4NzEsMHg4MCwweGRkLDB4NjAsMHgzNywweDE4LDB4MDUsMHhjNiwweDAxLDB4NzUsMHg4MSB9IH0sCi17ICAxNiwgMHhkZTgwLCAwLCB7MHhkYywweDYwLDB4MzcsMHgxOCwweDBkLDB4YzYsMHgwMywweDcxLDB4ODQsMHg1YywweDYwLDB4MTcsMHgxOCwweDE5LDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQ2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCB9IH0sCi17ICAxNiwgMHhkZWEwLCAwLCB7MHg1NywweDE4LDB4MTQsMHg4NiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MDUsMHhjNiwweDA0LDB4MzEsMHg4MSB9IH0sCi17ICAxNiwgMHhkZWIwLCAwLCB7MHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODAsMHg1YywweDYwLDB4NDMsMHgxOCwweDE1LDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZWMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9IH0sCi17ICAxNiwgMHhkZWQwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4NzAsMHg4MCB9IH0sCi17ICAxNiwgMHhkZWUwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTcsMHgwOCwweDA0LDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhkZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA2LDB4MDEsMHg2MSwweDgwLDB4NTgsMHg2MCB9IH0sCi17ICAxNiwgMHhkZjAwLCAwLCB7MHgxNiwweDE4LDB4NDEsMHg4NiwweDAxLDB4NjEsMHg4MCwweDE4LDB4NjAsMHgwNiwweDNjLDB4MDUsMHg4NiwweDA0LDB4NjEsMHg4MCB9IH0sCi17ICAxNiwgMHhkZjEwLCAwLCB7MHgxOCwweDYwLDB4MTYsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODAsMHg1OCwweDYwLDB4NTYsMHgxOCwweDE1LDB4ODAsMHgxMCB9IH0sCi17ICAxNiwgMHhkZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQwLDB4MDUsMHg3MCwweDAxLDB4NWMsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjMwLCAwLCB7MHg1NywweDAwLDB4MTUsMHhjMCwweDA0LDB4NzAsMHgwMSwweDVjLDB4MDAsMHg1NywweDAwLDB4MTAsMHhjMCwweDA0LDB4NzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjQwLCAwLCB7MHgxYywweDAwLDB4NDcsMHgwMCwweDExLDB4YzAsMHgwNCwweDcwLDB4MDEsMHg1YywweDAwLDB4NDcsMHgwMCwweDAxLDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZjUwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCB9IH0sCi17ICAxNiwgMHhkZjYwLCAwLCB7MHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDAsMHg4MiwweDAwLDB4NjAsMHg4MCB9IH0sCi17ICAxNiwgMHhkZjcwLCAwLCB7MHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZjgwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDQyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCB9IH0sCi17ICAxNiwgMHhkZjkwLCAwLCB7MHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0LDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhkZmEwLCAwLCB7MHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDAwLDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQyLDB4MDUsMHg0MCwweDgxLDB4NTAsMHgyMCB9IH0sCi17ICAxNiwgMHhkZmMwLCAwLCB7MHg1NCwweDA4LDB4MTUsMHgwMiwweDA1LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg1NCwweDBjLDB4MTUsMHg0MiwweDAwLDB4NDAsMHg4MSB9IH0sCi17ICAxNiwgMHhkZmQwLCAwLCB7MHg1MCwweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwNSwweDQwLDB4ODEsMHgxMCwweDIwLDB4MTQsMHgwOCwweDA1LDB4MDAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZmUwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAzLDB4MDEsMHg1MCwweGMwLDB4NTQsMHgzMCB9IH0sCi17ICAxNiwgMHhkZmYwLCAwLCB7MHgxNSwweDA4LDB4MDUsMHg0MiwweDAxLDB4NTAsMHhjMCwweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDAxLDB4NTAsMHhjMCB9IH0sCi17ICAxNiwgMHhlMDAwLCAwLCB7MHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDIsMHgwMSwweDUwLDB4YzAsMHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDAsMHgxMCB9IH0sCi17ICAxNiwgMHhlMDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCB9IH0sCi17ICAxNiwgMHhlMDIwLCAwLCB7MHgwNCwweDIwLDB4MDEsMHg4OCwweDAwLDB4NjIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDAwLDB4MTEsMHgwOCwweDAwLDB4NDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlMDMwLCAwLCB7MHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDEsMHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCB9IH0sCi17ICAxNiwgMHhlMDUwLCAwLCB7MHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MjAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDI4LDB4MDAsMHgwMiwweDAyLDB4MDAsMHg4MCB9IH0sCi17ICAxNiwgMHhlMDYwLCAwLCB7MHg4MCwweDIwLDB4MjAsMHgwYSwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHgwMCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlMDcwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlMDgwLCAwLCB7MHg1NiwweDAwLDB4MDUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDgsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA3LDB4NjAsMHgwMiB9IH0sCi17ICAxNiwgMHhlMDkwLCAwLCB7MHg1OCwweDAwLDB4NTYsMHg0MCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDMsMHgxOCwweDAwLDB4NzYsMHgwMCwweDE1LDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhlMGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCB9IH0sCi17ICAxNiwgMHhlMGIwLCAwLCB7MHgzNiwweDAwLDB4MGQsMHg4MCwweDAxLDB4NjAsMHgwMCwweGQ4LDB4MGEsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA1LDB4NzAsMHgwOSB9IH0sCi17ICAxNiwgMHhlMGMwLCAwLCB7MHhkOCwweDAxLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwLDB4NTcsMHgwMCwweDBkLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHgzMCwweDAxLDB4MGMsMHgwMCB9IH0sCi17ICAxNiwgMHhlMGUwLCAwLCB7MHg0MywweDAwLDB4MTAsMHhjMCwweDAwLDB4MzAsMHgwMSwweDBjLDB4MDAsMHg0MywweDIwLDB4MTAsMHhjMCwweDA0LDB4NjAsMHgwMSB9IH0sCi17ICAxNiwgMHhlMGYwLCAwLCB7MHgwYywweDAwLDB4NDMsMHg0MCwweDUwLDB4YzEsMHgwNCwweDMwLDB4MDEsMHgwYywweDAwLDB4NDYsMHgwMCwweDEwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhkMCwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTIwLCAwLCB7MHgwYywweDAwLDB4MDMsMHg0MCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwZCwweDAwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg1MCB9IH0sCi17ICAxNiwgMHhlMTQwLCAwLCB7MHgxMywweDEwLDB4MDQsMHhjNCwweDAxLDB4MzEsMHg0MCwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDExLDB4MzEsMHg0MSB9IH0sCi17ICAxNiwgMHhlMTUwLCAwLCB7MHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxLDB4NDAsMHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MDUsMHg2OCwweGMxLDB4NWEsMHgzMCB9IH0sCi17ICAxNiwgMHhlMTcwLCAwLCB7MHg1NiwweDhjLDB4MTEsMHhhMywweDA0LDB4NjgsMHhjMSwweDFhLDB4MzAsMHg1NiwweDhjLDB4MTEsMHhhMywweDA1LDB4NjgsMHhjMCB9IH0sCi17ICAxNiwgMHhlMTgwLCAwLCB7MHg1YSwweDMwLDB4NDYsMHg4YywweDExLDB4YTMsMHgwNCwweDY4LDB4YzEsMHg1YSwweDMwLDB4MTYsMHg4YywweDE1LDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWEwLCAwLCB7MHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDIwLDB4MDAsMHg5MCwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWIwLCAwLCB7MHgwOCwweDAwLDB4MDIsMHg0MCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOSwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NDQsMHg2MiwweDAxLDB4MTgsMHg4NCB9IH0sCi17ICAxNiwgMHhlMWQwLCAwLCB7MHg0NiwweDIxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQsMHg0NiwweDAxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMCB9IH0sCi17ICAxNiwgMHhlMWUwLCAwLCB7MHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0LDB4MDYsMHgyMSwweDExLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg1MCwweDExLDB4NTQsMHgwNCB9IH0sCi17ICAxNiwgMHhlMjAwLCAwLCB7MHg1NSwweDAxLDB4MTEsMHg0MCwweDQ1LDB4NTAsMHgxMSwweDE0LDB4MDAsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQ0LDB4NTAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjEwLCAwLCB7MHgxNCwweDA0LDB4NDUsMHgwMCwweDE1LDB4NDAsMHg0NCwweDUwLDB4MTEsMHgxNCwweDA0LDB4NTUsMHgwMSwweDExLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiB9IH0sCi17ICAxNiwgMHhlMjMwLCAwLCB7MHgxNCwweDIwLDB4ODUsMHgwOCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIsMHgwNCwweDIwLDB4ODUsMHgwOCwweDIxLDB4NDIsMHgwOCB9IH0sCi17ICAxNiwgMHhlMjQwLCAwLCB7MHg1MCwweDgyLDB4MTQsMHgyMCwweDA1LDB4MDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyLDB4MTQsMHgyMCwweDg1LDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCB9IH0sCi17ICAxNiwgMHhlMjYwLCAwLCB7MHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4NDAsMHgwYSwweDAxLDB4MDIsMHg4MCB9IH0sCi17ICAxNiwgMHhlMjcwLCAwLCB7MHg0MCwweGEwLDB4MTAsMHgyOCwweDQ0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCB9IH0sCi17ICAxNiwgMHhlMjkwLCAwLCB7MHgzNSwweDMwLDB4MGQsMHg0YywweDAxLDB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDEwLDB4MGMsMHg0YywweDAzLDB4NTMsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmEwLCAwLCB7MHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHg3MiwweDAxLDB4NWMsMHg4MCB9IH0sCi17ICAxNiwgMHhlMmMwLCAwLCB7MHgxNywweDIwLDB4MDUsMHhjOCwweDA2LDB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDAyLDB4NzIsMHgwMSB9IH0sCi17ICAxNiwgMHhlMmQwLCAwLCB7MHg1YywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzgsMHgwNSwweDcyLDB4MDEsMHg1YywweDgwLDB4MzcsMHgyMCwweDExLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MTgsMHg0MCwweGM2LDB4MTIsMHgzMSB9IH0sCi17ICAxNiwgMHhlMmYwLCAwLCB7MHg4NCwweDhjLDB4MjEsMHgyMywweDA4LDB4NDgsMHhjNiwweDEyLDB4MzAsMHg4NCwweDBjLDB4NjEsMHgyMywweDEwLDB4NDgsMHhjMiB9IH0sCi17ICAxNiwgMHhlMzAwLCAwLCB7MHgxMiwweDMxLDB4ODQsMHg4YywweDAxLDB4MjMsMHgwOCwweDQ4LDB4YzYsMHgxMiwweDMxLDB4MDQsMHg4YywweDYxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiB9IH0sCi17ICAxNiwgMHhlMzIwLCAwLCB7MHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiB9IH0sCi17ICAxNiwgMHhlMzMwLCAwLCB7MHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJjLDB4ZGIsMHgwZiwweGI2LDB4YzIsMHhjZCB9IH0sCi17ICAxNiwgMHhlMzgwLCAwLCB7MHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4ZGYsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHg3ZSB9IH0sCi17ICAxNiwgMHhlMzkwLCAwLCB7MHhjMiwweGNkLDB4YjAsMHhiNywweGZkLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlM2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4M2MsMHg0ZiwweGNmLDB4MTMsMHgzMyB9IH0sCi17ICAxNiwgMHhlM2IwLCAwLCB7MHhjNCwweGNjLDB4ZjEsMHgzMywweDNjLDB4NGMsMHhjZiwweDEzLDB4M2YsMHhjNCwweGNjLDB4ZjEsMHgzMywweDNjLDB4NGMsMHhmZiB9IH0sCi17ICAxNiwgMHhlM2MwLCAwLCB7MHgxMywweDMzLDB4YzQsMHhjZiwweGZkLDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMywweDMzLDB4YzQsMHhjYywweGYxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlM2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiNyB9IH0sCi17ICAxNiwgMHhlM2UwLCAwLCB7MHhlNCwweGVjLDB4NzksMHgzYiwweDFlLDB4NGUsMHhkZiwweDkzLDB4YmYsMHhlNCwweDhkLDB4ZjksMHgzYiwweDc4LDB4NGUsMHhmZiB9IH0sCi17ICAxNiwgMHhlM2YwLCAwLCB7MHg5MywweGI3LDB4ZTQsMHhlZCwweGZkLDB4M2IsMHgxZSwweDRlLDB4ZGYsMHg5MywweGI3LDB4ODQsMHhlZCwweGY5LDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDIsMHg3MCwweDQwLDB4OWMsMHgxMCB9IH0sCi17ICAxNiwgMHhlNDEwLCAwLCB7MHgyNywweDFjLDB4MDksMHhjMSwweDAxLDB4MzAsMHg0MCwweDFjLDB4MTAsMHg2NywweDA0LDB4MDksMHhjMSwweDAyLDB4NzAsMHg0MSB9IH0sCi17ICAxNiwgMHhlNDIwLCAwLCB7MHg5YywweDExLDB4MDcsMHgxNCwweDAxLDB4YzEsMHgwMiwweDcwLDB4NDAsMHg5YywweDUwLDB4MDcsMHgxYywweDAxLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCB9IH0sCi17ICAxNiwgMHhlNDQwLCAwLCB7MHg1NywweDEwLDB4NTUsMHhjNCwweDAxLDB4MzEsMHgwMCwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA1LDB4NzEsMHgwMSB9IH0sCi17ICAxNiwgMHhlNDUwLCAwLCB7MHhkYywweDQwLDB4MTcsMHgxOCwweDFkLDB4YzQsMHgwNSwweDcxLDB4MDUsMHg1YywweDQwLDB4NTcsMHgxMCwweDFkLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9IH0sCi17ICAxNiwgMHhlNDcwLCAwLCB7MHgxMiwweDAwLDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlNDgwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDYwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGEwLCAwLCB7MHgwNiwweDAwLDB4NDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHg0NiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGIwLCAwLCB7MHgxMCwweDAwLDB4MDYsMHgxMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDIwLDB4NDYsMHgxMCwweDAxLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCB9IH0sCi17ICAxNiwgMHhlNGQwLCAwLCB7MHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHgwNywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGUwLCAwLCB7MHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4Y2MsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTAwLCAwLCB7MHgwNiwweDAwLDB4MDEsMHg4NCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHg0MCB9IH0sCi17ICAxNiwgMHhlNTEwLCAwLCB7MHgxOCwweDAwLDB4MDYsMHgwNCwweDAxLDB4ODEsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgxNCwweDAxLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCB9IH0sCi17ICAxNiwgMHhlNTMwLCAwLCB7MHg0MiwweDcwLDB4MTAsMHg4YywweDA0LDB4MjIsMHgwMSwweDA4LDB4YzAsMHgwMiwweDIwLDB4MTAsMHg4OCwweDA0LDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTQwLCAwLCB7MHgwOCwweDgwLDB4NDIsMHg1MCwweDEwLDB4MDgsMHgwNCwweDIyLDB4MDEsMHgwOSwweDAwLDB4NDIsMHg0MCwweDEwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJlLDB4MDQsMHg0YSwweDgxLDB4MTIsMHhhMCB9IH0sCi17ICAxNiwgMHhlNTYwLCAwLCB7MHg0NCwweGE4LDB4MTEsMHgyYSwweDA0LDB4NGEsMHg4MSwweDEyLDB4YTAsMHgwNCwweGE4LDB4MTEsMHgyYSwweDA0LDB4NGIsMHg4MCB9IH0sCi17ICAxNiwgMHhlNTcwLCAwLCB7MHgxMiwweGEwLDB4NDQsMHg4OCwweDAxLDB4MmUsMHgwNCwweDRhLDB4ODEsMHgxMiwweDIwLDB4MDQsMHg5OCwweDAxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDBlLDB4MDAsMHg1MywweDAwLDB4MTQsMHhjMCB9IH0sCi17ICAxNiwgMHhlNTkwLCAwLCB7MHgwNSwweDMwLDB4MDEsMHg0YywweDAwLDB4NTMsMHgwMCwweDE0LDB4ZTAsMHgwNSwweDMwLDB4MDEsMHg0YywweDAwLDB4NTMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWEwLCAwLCB7MHgwNCwweGMwLDB4MDUsMHgzMCwweDAwLDB4NGMsMHgwMCwweDAzLDB4MDAsMHgxNCwweGMwLDB4MDUsMHgzMCwweDAwLDB4NDAsMHgxMCB9IH0sCi17ICAxNiwgMHhlNWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDA0LDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWMwLCAwLCB7MHgwNCwweDU4LDB4MDEsMHgwNCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDEsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWQwLCAwLCB7MHgwNCwweDAwLDB4NDQsMHg1OCwweDEwLDB4NDQsMHgwMCwweDAwLDB4MDAsMHgxMSwweDgwLDB4MDQsMHg1MCwweDEwLDB4NDAsMHgzMCB9IH0sCi17ICAxNiwgMHhlNWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDQwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWYwLCAwLCB7MHgyMCwweDAwLDB4MDgsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjAwLCAwLCB7MHg4NCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4NDAsMHgzMCB9IH0sCi17ICAxNiwgMHhlNjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDQwLDB4MDAsMHg2MCwweDAxLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjIwLCAwLCB7MHg0NiwweDAwLDB4MDEsMHg4MCwweDA2LDB4NjAsMHgwMSwweDk4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSB9IH0sCi17ICAxNiwgMHhlNjMwLCAwLCB7MHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgzMCB9IH0sCi17ICAxNiwgMHhlNjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMSwweDQwLDB4MDAsMHg2MCwweDAwLDB4OTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjUwLCAwLCB7MHgyNiwweDAwLDB4MDksMHg4MCwweDAyLDB4NjAsMHgwMSwweDk4LDB4MDAsMHgwNiwweDAwLDB4MGMsMHg4MCwweDAyLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjYwLCAwLCB7MHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDgwLDB4MDYsMHgwMCwweDAxLDB4ODIsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDAsMHgzMCwweDgxLDB4MGMsMHgyMCB9IH0sCi17ICAxNiwgMHhlNjgwLCAwLCB7MHg0MywweDA4LDB4MTAsMHhjMiwweDI0LDB4MzAsMHg4MSwweDhjLDB4MjAsMHgwMywweDA4LDB4MTAsMHhjMiwweDA0LDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlNjkwLCAwLCB7MHgwYywweDIwLDB4MDMsMHgwOCwweDE4LDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDE4LDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhlNmEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmIwLCAwLCB7MHgwMywweDAwLDB4MDAsMHhjMCwweDQwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHg4MCwweDAwLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmMwLCAwLCB7MHgwYywweDAwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDAyLDB4MTAsMHgzMCwweDgwLDB4MGMsMHgyMCB9IH0sCi17ICAxNiwgMHhlNmUwLCAwLCB7MHgwMywweDA4LDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MjAsMHgwMywweDA4LDB4MDAsMHhjMiwweDAxLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlNmYwLCAwLCB7MHgwYywweDIwLDB4MDMsMHgyYywweDAwLDB4YzIsMHgwMCwweDMwLDB4ODAsMHgwYywweDMwLDB4NDMsMHgyYywweDAwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNzAwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9IH0sCi17ICAxNiwgMHhlNzEwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MSB9IH0sCi17ICAxNiwgMHhlNzIwLCAwLCB7MHgxOCwweDIwLDB4NDYsMHgwYywweDExLDB4YzIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDMwLDB4NDYsMHgwYywweDExLDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhlNzMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCB9IH0sCi17ICAxNiwgMHhlNzQwLCAwLCB7MHgwMiwweDI4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlNzUwLCAwLCB7MHgwOCwweDIwLDB4MDIsMHgwOCwweDAxLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDMsMHgwOCwweDAxLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwMSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9IH0sCi17ICAxNiwgMHhlNzcwLCAwLCB7MHg0NiwweDI4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MSB9IH0sCi17ICAxNiwgMHhlNzgwLCAwLCB7MHgxOCwweDIwLDB4NDYsMHgwOCwweDEwLDB4ODIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwLDB4NDMsMHgwOCwweDEwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwMCB9IH0sCi17ICAxNiwgMHhlN2EwLCAwLCB7MHg0NSwweDAwLDB4MTEsMHg0MCwweDI1LDB4MDAsMHgwMCwweDE0LDB4MDAsMHg0NSwweDAwLDB4MTEsMHg0MCwweDA0LDB4NTAsMHgwMSB9IH0sCi17ICAxNiwgMHhlN2IwLCAwLCB7MHgxNCwweDAwLDB4NDUsMHgwMCwweDAwLDB4NDAsMHgwNCwweDUwLDB4MDEsMHg0MCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDIsMHgxMSB9IH0sCi17ICAxNiwgMHhlN2MwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCB9IH0sCi17ICAxNiwgMHhlN2QwLCAwLCB7MHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCB9IH0sCi17ICAxNiwgMHhlN2UwLCAwLCB7MHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDAyLDB4MDUsMHgwMCwweDgwLDB4NDAsMHgyMSB9IH0sCi17ICAxNiwgMHhlODAwLCAwLCB7MHgxMCwweDA4LDB4MDQsMHgwMCwweDAxLDB4MDAsMHg4MCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4MCB9IH0sCi17ICAxNiwgMHhlODEwLCAwLCB7MHg0MCwweDIwLDB4NTAsMHgwOCwweDE0LDB4MDIsMHgxMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDE0LDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQ2LDB4MDEsMHg1MSwweDgwLDB4ZDQsMHg2MCB9IH0sCi17ICAxNiwgMHhlODMwLCAwLCB7MHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAsMHgxNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCB9IH0sCi17ICAxNiwgMHhlODQwLCAwLCB7MHg1NCwweDYwLDB4MTUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlODUwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDQ2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCB9IH0sCi17ICAxNiwgMHhlODYwLCAwLCB7MHg0NSwweDE4LDB4MTEsMHhkNiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAsMHg2NywweDE4LDB4MTEsMHhjNiwweDA0LDB4NzEsMHg4MSB9IH0sCi17ICAxNiwgMHhlODcwLCAwLCB7MHg5YywweDYwLDB4NDcsMHgxOCwweDExLDB4YzYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwLDB4NjcsMHgxOCwweDExLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweDQ2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCB9IH0sCi17ICAxNiwgMHhlODkwLCAwLCB7MHgyNywweDE4LDB4MDksMHhjNiwweDAwLDB4NzEsMHg4MCwweDljLDB4NjAsMHg2NywweDE4LDB4MDksMHhjNiwweDAyLDB4NzEsMHg4MCB9IH0sCi17ICAxNiwgMHhlOGEwLCAwLCB7MHg5YywweDYxLDB4MjcsMHgxOCwweDAxLDB4YzYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwLDB4MDcsMHgxOCwweDAxLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHg0NSwweDQ2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCB9IH0sCi17ICAxNiwgMHhlOGMwLCAwLCB7MHg1NywweDE4LDB4NTUsMHhkNiwweDAxLDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MSB9IH0sCi17ICAxNiwgMHhlOGQwLCAwLCB7MHg1YywweDYwLDB4NTcsMHgxOCwweDE4LDB4YzYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NDMsMHgxOCwweDE4LDB4ODIsMHgxMSB9IH0sCi17ICAxNiwgMHhlOGUwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCwweDUyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9IH0sCi17ICAxNiwgMHhlOGYwLCAwLCB7MHgxMiwweDQ4LDB4MDQsMHg5MCwweDAxLDB4MjAsMHg4MCwweDQ5LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjQsMHg4MCB9IH0sCi17ICAxNiwgMHhlOTAwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHg0OCwweDAwLDB4OTIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTcsMHg0OCwweDA0LDB4ODAsMHgwMSB9IH0sCi17ICAxNiwgMHhlOTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDA2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCB9IH0sCi17ICAxNiwgMHhlOTIwLCAwLCB7MHgwNiwweDNjLDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHg0NiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCB9IH0sCi17ICAxNiwgMHhlOTMwLCAwLCB7MHgxOCwweDYwLDB4MDYsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwLDB4NDYsMHgxOCwweDAxLDB4ODAsMHgwMSB9IH0sCi17ICAxNiwgMHhlOTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MSwweDYwLDB4MDQsMHg3OCwweDAxLDB4MWUsMHgwMCB9IH0sCi17ICAxNiwgMHhlOTUwLCAwLCB7MHg0NywweDgwLDB4MTEsMHhlMCwweDI0LDB4NzgsMHgwMSwweDFlLDB4MDAsMHgwNywweDgwLDB4MTEsMHhlMCwweDA0LDB4NzgsMHgwMSB9IH0sCi17ICAxNiwgMHhlOTYwLCAwLCB7MHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhlOTcwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDEyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCB9IH0sCi17ICAxNiwgMHhlOTgwLCAwLCB7MHgwNiwweDQ4LDB4MDEsMHg5MiwweDAwLDB4NjAsMHg4MCwweDE5LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjQsMHg4MCB9IH0sCi17ICAxNiwgMHhlOTkwLCAwLCB7MHgxOCwweDIwLDB4MDYsMHg0OCwweDAxLDB4OTMsMHgwMCwweDIwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHg0OCwweDAxLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCB9IH0sCi17ICAxNiwgMHhlOWIwLCAwLCB7MHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHgwMiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSB9IH0sCi17ICAxNiwgMHhlOWMwLCAwLCB7MHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4OGEsMHgwNCwweDYwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlOWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCB9IH0sCi17ICAxNiwgMHhlOWUwLCAwLCB7MHg0NCwweDA4LDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHgwNCwweDA4LDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MSB9IH0sCi17ICAxNiwgMHhlOWYwLCAwLCB7MHgxMCwweDIxLDB4NDQsMHgwOCwweDAxLDB4MDIsMHgwNCwweDUwLDB4ODEsMHgxMCwweDIwLDB4MDQsMHgwOCwweDAxLDB4MDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDAzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCB9IH0sCi17ICAxNiwgMHhlYTEwLCAwLCB7MHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHg4MCB9IH0sCi17ICAxNiwgMHhlYTIwLCAwLCB7MHgxNCwweDMwLDB4MDUsMHgwOCwweDAxLDB4NGEsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwOCwweDAxLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCB9IH0sCi17ICAxNiwgMHhlYTQwLCAwLCB7MHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlYTUwLCAwLCB7MHgxMCwweDgwLDB4MDQsMHgyMCwweDExLDB4MDAsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDExLDB4MDAsMHgxMCB9IH0sCi17ICAxNiwgMHhlYTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCB9IH0sCi17ICAxNiwgMHhlYTcwLCAwLCB7MHgyMCwweDA4LDB4MDgsMHgwMiwweDAwLDB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCB9IH0sCi17ICAxNiwgMHhlYTgwLCAwLCB7MHg4MCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQwLDB4MDAsMHg2MCwweDAxLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWEwLCAwLCB7MHg0NiwweDAwLDB4MTEsMHg4MCwweDA2LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSB9IH0sCi17ICAxNiwgMHhlYWIwLCAwLCB7MHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgxMCB9IH0sCi17ICAxNiwgMHhlYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQwLDB4MDIsMHg2NCwweDAwLDB4OTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWQwLCAwLCB7MHgyNiwweDAwLDB4MDksMHg5MCwweDA2LDB4NjAsMHgwMSwweDk4LDB4MDAsMHgyNiwweDQwLDB4MDksMHg4MCwweDAyLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWUwLCAwLCB7MHg5OCwweDAwLDB4MjYsMHgwMCwweDAwLDB4OTAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDAwLDB4MDcsMHgwMCwweDAxLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDYwLDB4MDQsMHgzOCwweDA1LDB4MGUsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjAwLCAwLCB7MHg0MywweDgwLDB4MTAsMHhlMCwweDQ0LDB4MzgsMHgwMSwweDBlLDB4MDAsMHg0MywweDgwLDB4MTAsMHhlMCwweDA0LDB4MzgsMHgwMSB9IH0sCi17ICAxNiwgMHhlYjEwLCAwLCB7MHgwZSwweDAwLDB4NDMsMHg4MCwweDE4LDB4YTAsMHgwNCwweDM4LDB4MDEsMHgwZSwweDAwLDB4NDYsMHg4MCwweDE4LDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYjIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwMCwweDAxLDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCB9IH0sCi17ICAxNiwgMHhlYjMwLCAwLCB7MHgwMywweDA0LDB4MDAsMHhjNSwweDAwLDB4MzAsMHg0MCwweDBjLDB4MTAsMHgwMywweDE0LDB4MDAsMHhjMSwweDAwLDB4MzAsMHg0MCB9IH0sCi17ICAxNiwgMHhlYjQwLCAwLCB7MHgwYywweDEwLDB4MDMsMHgwNCwweDAwLDB4ODcsMHg0MCwweDMwLDB4NDAsMHgwYywweDEwLDB4MDIsMHgwNCwweDAwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCwweDA1LDB4MDAsMHgzNSwweDQwLDB4MGMsMHg1MCB9IH0sCi17ICAxNiwgMHhlYjYwLCAwLCB7MHgwMywweDE0LDB4MDAsMHhkNSwweDA0LDB4MzEsMHg0MSwweDBjLDB4NTAsMHgwMywweDVjLDB4MDAsMHhjNSwweDAwLDB4MzEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjcwLCAwLCB7MHgwYywweDUwLDB4MDMsMHgxMCwweDAwLDB4OTQsMHgwMCwweDMxLDB4NDAsMHgwYywweDUwLDB4NDMsMHgxMCwweDAwLDB4YzIsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQzLDB4MDUsMHgyMCwweGMxLDB4MTgsMHgzMCB9IH0sCi17ICAxNiwgMHhlYjkwLCAwLCB7MHg0NiwweDBjLDB4MTEsMHg5NywweDAwLDB4NjAsMHhjMCwweDE4LDB4MzAsMHg0NiwweDFjLDB4MTEsMHg4MywweDA0LDB4NjAsMHhjMSB9IH0sCi17ICAxNiwgMHhlYmEwLCAwLCB7MHgxOCwweDMwLDB4NTIsMHgwYywweDExLDB4ODcsMHgwNCwweDYwLDB4YzEsMHgxOCwweDMwLDB4NDYsMHgwYywweDExLDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYmIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDAwLDB4MDAsMHgyMSwweDQwLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhlYmMwLCAwLCB7MHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYmQwLCAwLCB7MHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQ4LDB4NDQsMHgyMiwweDAxLDB4MTgsMHg4NCB9IH0sCi17ICAxNiwgMHhlYmYwLCAwLCB7MHg0NiwweDIxLDB4MTEsMHg5OCwweDAwLDB4NjIsMHgxMCwweDE4LDB4ODQsMHg0NCwweDIwLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMSB9IH0sCi17ICAxNiwgMHhlYzAwLCAwLCB7MHgxOCwweDg0LDB4NDIsMHgyMSwweDExLDB4ODAsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDExLDB4MTQsMHgwNCB9IH0sCi17ICAxNiwgMHhlYzIwLCAwLCB7MHg0NSwweDAwLDB4MTEsMHg0MSwweDAwLDB4NTAsMHgxMCwweDE0LDB4MDAsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQ0LDB4NTAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYzMwLCAwLCB7MHgxNCwweDA0LDB4NDUsMHgwMSwweDAxLDB4NDAsMHg0NCwweDUwLDB4MTEsMHgxNCwweDA0LDB4MDUsMHgwMSwweDAxLDB4NDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYzQwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiB9IH0sCi17ICAxNiwgMHhlYzUwLCAwLCB7MHgwNCwweDIwLDB4MDEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCB9IH0sCi17ICAxNiwgMHhlYzYwLCAwLCB7MHgxMCwweDgyLDB4MDQsMHgyMiwweDgxLDB4MDgsMHgyMCwweDUyLDB4MDgsMHgxMCwweDhhLDB4MDQsMHgyMiwweDgxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDBhLDB4MDEsMHgwMiwweDg0LDB4NDAsMHhhMSB9IH0sCi17ICAxNiwgMHhlYzgwLCAwLCB7MHgxMCwweDI4LDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCB9IH0sCi17ICAxNiwgMHhlYzkwLCAwLCB7MHg0MCwweGEwLDB4MTAsMHgyYywweDE0LDB4MGEsMHgwMCwweDAyLDB4ODAsMHg0MCwweGIwLDB4MTAsMHgyYywweDE0LDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlY2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkMCB9IH0sCi17ICAxNiwgMHhlY2IwLCAwLCB7MHgzNSwweDMwLDB4MGMsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDAsMHgzNSwweDM0LDB4MGQsMHg0ZCwweDAzLDB4NTMsMHg0MCB9IH0sCi17ICAxNiwgMHhlY2MwLCAwLCB7MHhkNCwweGQwLDB4MzUsMHgzNCwweDBkLDB4NGQsMHgwMiwweDEzLDB4NDAsMHhkNCwweGQwLDB4MzUsMHgzNCwweDBkLDB4NDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlY2QwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDA4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCB9IH0sCi17ICAxNiwgMHhlY2UwLCAwLCB7MHg0NywweDIwLDB4MTUsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgxMSB9IH0sCi17ICAxNiwgMHhlY2YwLCAwLCB7MHgxYywweDgwLDB4NDcsMHgyNiwweDExLDB4YzgsMHg0NCwweDcyLDB4MDEsMHgxYywweDkwLDB4NjcsMHgyNiwweDExLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MDgsMHg0MCwweGM2LDB4MTIsMHgzMSB9IH0sCi17ICAxNiwgMHhlZDEwLCAwLCB7MHg4NCwweDhjLDB4MDEsMHgwMywweDA4LDB4NDgsMHhjNiwweDEyLDB4MzAsMHg4NCwweDBjLDB4NjEsMHgyMywweDE4LDB4NDgsMHhjMiB9IH0sCi17ICAxNiwgMHhlZDIwLCAwLCB7MHgxMiwweDMxLDB4ODQsMHg4YywweDAxLDB4MDMsMHgwOCwweDQ4LDB4YzYsMHgxMiwweDMxLDB4MDQsMHg4YywweDAxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiB9IH0sCi17ICAxNiwgMHhlZDQwLCAwLCB7MHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiB9IH0sCi17ICAxNiwgMHhlZDUwLCAwLCB7MHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJkLDB4ZmIsMHgwZiwweGI2LDB4YzIsMHhjZCB9IH0sCi17ICAxNiwgMHhlZGEwLCAwLCB7MHhiMCwweGI3LDB4ZmQsMHgzZiwweGZiLDB4MGIsMHgzNiwweGMyLDB4ZGYsMHhiMCwweGZiLDB4NmMsMHgyYywweGRiLDB4MGIsMHg3ZSB9IH0sCi17ICAxNiwgMHhlZGIwLCAwLCB7MHhjMiwweGNkLDB4YjAsMHhiNywweGZkLDB4M2YsMHhmYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4ZjQsMHhiNywweGZkLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4ZmMsMHg0ZiwweGNmLDB4MTMsMHgzMyB9IH0sCi17ICAxNiwgMHhlZGQwLCAwLCB7MHhjNCwweGNmLDB4ZmQsMHgzZiwweGZjLDB4NGMsMHhjZiwweDEzLDB4M2YsMHhjNCwweGZjLDB4ZjEsMHgzMywweDNjLDB4NGMsMHhmZiB9IH0sCi17ICAxNiwgMHhlZGUwLCAwLCB7MHgxMywweDMzLDB4YzQsMHhjZiwweGZkLDB4M2YsMHhmYywweDRjLDB4Y2YsMHgxMywweDMzLDB4ZjQsMHhjZiwweGZkLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiNyB9IH0sCi17ICAxNiwgMHhlZTAwLCAwLCB7MHhlNCwweGVkLDB4ZjksMHgzZiwweGZlLDB4NGUsMHhkZiwweDkzLDB4YjcsMHhlNCwweGVkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhjNyB9IH0sCi17ICAxNiwgMHhlZTEwLCAwLCB7MHg5MywweGI3LDB4ZTQsMHhlYywweDYxLDB4MjMsMHgxZSwweDRlLDB4ZGYsMHg5MywweGI3LDB4ODQsMHhlYywweDYxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHgyNCwweGExLDB4NGEsMHgyNCB9IH0sCi17ICAxNiwgMHhlZTMwLCAwLCB7MHg2MywweDAxLDB4MTQsMHgwMiwweDQ0LDB4MDAsMHg4MSwweDBiLDB4MjgsMHg3MSwweDAyLDB4MTAsMHg4MiwweDQwLDB4MzgsMHgxMSB9IH0sCi17ICAxNiwgMHhlZTQwLCAwLCB7MHg0MSwweDA0LDB4NTAsMHgwOCwweDE4LDB4ODIsMHg4NywweDM4LDB4MzEsMHhjMywweDJjLDB4NTIsMHgwYSwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NDUsMHgxMiwweDgxLDB4NDQsMHg4MCB9IH0sCi17ICAxNiwgMHhlZTYwLCAwLCB7MHg3MSwweDIxLDB4MWMsMHgwYSwweDA3LDB4MWEsMHg4MSwweDAyLDB4YTAsMHg1MiwweDIwLDB4MTQsMHg0OCwweDA3LDB4MTIsMHg4MSB9IH0sCi17ICAxNiwgMHhlZTcwLCAwLCB7MHhjNiwweDgwLDB4NjAsMHgyMCwweDA4LDB4ODgsMHg0NywweDAyLDB4MDEsMHg0YSwweDgwLDB4NzAsMHgyMCwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4YzUsMHgyYywweDAxLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTkwLCAwLCB7MHg1MiwweDA5LDB4MWMsMHg4MCwweDA3LDB4MjQsMHgyMSwweDA4LDB4MDgsMHg3MSwweDAyLDB4MTAsMHg4MCwweDQ1LDB4MjAsMHhhMSB9IH0sCi17ICAxNiwgMHhlZWEwLCAwLCB7MHg0OSwweDI4LDB4NTIsMHgwMSwweDE0LDB4YzAsMHg0NSwweDAwLDB4OTEsMHhjNCwweDAwLDB4NzIsMHgwMiwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDcsMHgyMCwweDAxLDB4YzEsMHgwMCB9IH0sCi17ICAxNiwgMHhlZWMwLCAwLCB7MHg3MSwweDA5LDB4MTAsMHg4MCwweDA3LDB4MDAsMHgwMSwweDAxLDB4MDAsMHg3MCwweDA4LDB4MTgsMHg4MCwweDA3LDB4MDAsMHgwMSB9IH0sCi17ICAxNiwgMHhlZWQwLCAwLCB7MHg4OSwweDIwLDB4NTIsMHgwMSwweDBjLDB4ODAsMHg0NiwweDMwLDB4ODEsMHg0NSwweDA0LDB4NjAsMHgwMCwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzIsMHgwMiwweDIwLDB4MDAsMHg4OCB9IH0sCi17ICAxNiwgMHhlZWYwLCAwLCB7MHgyMCwweDIyLDB4MDAsMHgwOCwweGMyLDB4MjIsMHg4MCwweDQwLDB4ODgsMHgwMiwweDIyLDB4MDAsMHgwOCwweDgyLDB4MGEsMHhhMCB9IH0sCi17ICAxNiwgMHhlZjAwLCAwLCB7MHgwYywweGE4LDB4MDIsMHgyMiwweDAwLDB4MDgsMHg4MCwweDBhLDB4MDAsMHg4MCwweDhjLDB4MDIsMHgyMiwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4NDMsMHgwMCwweDAwLDB4NDAsMHgyMCB9IH0sCi17ICAxNiwgMHhlZjIwLCAwLCB7MHgzMCwweDA4LDB4MDQsMHg0MCwweDQxLDB4MzAsMHgxMCwweGM4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAzLDB4MDAsMHgxMCB9IH0sCi17ICAxNiwgMHhlZjMwLCAwLCB7MHhjMCwweDAwLDB4MTEsMHgwOCwweDAwLDB4YzIsMHg0MywweDEwLDB4ODAsMHhjMCwweDIwLDB4MDEsMHgwOCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4YzMsMHgwYSwweDIwLDB4YzEsMHg4YyB9IH0sCi17ICAxNiwgMHhlZjUwLCAwLCB7MHgxMiwweDIyLDB4MDQsMHg4OCwweDAxLDB4MzYsMHgyMCwweGMzLDB4MDgsMHgxMiwweDI4LDB4MDQsMHgwOCwweDAxLDB4MDQsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjYwLCAwLCB7MHg0YSwweGE4LDB4MjIsMHgwMSwweDA0LDB4YzgsMHg0MSwweDI2LDB4MzAsMHhjMCwweDg4LDB4MDIsMHgyMSwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDAsMHgwYSwweDEwLDB4YzEsMHg4MCB9IH0sCi17ICAxNiwgMHhlZjgwLCAwLCB7MHgzMiwweDIxLDB4MGMsMHg4OCwweDQzLDB4MDIsMHg4MCwweDQ0LDB4ODAsMHgxMiwweDI5LDB4MDQsMHgwOCwweDQyLDB4MGEsMHg5MCB9IH0sCi17ICAxNiwgMHhlZjkwLCAwLCB7MHg4YSwweDgwLDB4MDAsMHgyMCwweDA0LDB4NDgsMHgwMywweDBhLDB4MTAsMHg4MiwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBhLDB4ODcsMHgwMiwweGExLDB4ODAsMHhhYyB9IH0sCi17ICAxNiwgMHhlZmIwLCAwLCB7MHg0MywweDI5LDB4MTQsMHg4YSwweDg0LDB4MDIsMHhhMSwweDAwLDB4YWMsMHg0MSwweDIwLDB4MTAsMHgwOCwweDA2LDB4MjYsMHgzMSB9IH0sCi17ICAxNiwgMHhlZmMwLCAwLCB7MHg4MCwweGE0LDB4NjAsMHgyMCwweDE0LDB4NGEsMHg0NCwweDMyLDB4ODEsMHg4MSwweGFjLDB4NjAsMHgyYSwweDE4LDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDcsMHgyMiwweDAxLDB4YzUsMHg4MCB9IH0sCi17ICAxNiwgMHhlZmUwLCAwLCB7MHg3MywweDIxLDB4MWMsMHhjOCwweDA3LDB4MmEsMHgwMSwweDBjLDB4ODAsMHg3MiwweDIwLDB4MTAsMHg0OCwweDQ3LDB4MjYsMHgxMSB9IH0sCi17ICAxNiwgMHhlZmYwLCAwLCB7MHhjNSwweDgwLDB4NzMsMHgyMCwweDFjLDB4ODgsMHgwNywweDJhLDB4MTEsMHg0OSwweDgwLDB4NzAsMHgyMCwweDE0LDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4NDUsMHgxMCwweDMxLDB4YzksMHgwYyB9IH0sCi17ICAxNiwgMHhmMDEwLCAwLCB7MHg3MywweDAyLDB4MWMsMHhjMCwweDQ3LDB4MDQsMHgwMSwweDBhLDB4MGMsMHg1MSwweDBhLDB4MTAsMHg4MiwweDQ3LDB4MjAsMHgzMSB9IH0sCi17ICAxNiwgMHhmMDIwLCAwLCB7MHhjOCwweDAwLDB4NzIsMHgwMiwweDFjLDB4NDAsMHgwNSwweDMwLDB4MTEsMHhjNCwweDAwLDB4NzIsMHgwMSwweDE4LDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweDEwLDB4MDYsMHgyNCwweDAxLDB4NDUsMHgwNCB9IH0sCi17ICAxNiwgMHhmMDQwLCAwLCB7MHg1MSwweDgxLDB4MTgsMHg5MCwweDQ3LDB4MTQsMHgwMSwweDA0LDB4MDQsMHg3MSwweDg4LDB4MTAsMHgxMiwweDA1LDB4MzQsMHgwMSB9IH0sCi17ICAxNiwgMHhmMDUwLCAwLCB7MHg0NCwweDA0LDB4NTEsMHg0MCwweDE4LDB4ZDAsMHgwNywweDM4LDB4MDEsMHhjNCwweDA0LDB4NTIsMHgwMSwweDE0LDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhmMDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODcsMHgwMCwweDIxLDB4ODksMHgwYyB9IH0sCi17ICAxNiwgMHhmMDcwLCAwLCB7MHg2MCwweDAxLDB4MWMsMHhkMCwweDQ1LDB4MjQsMHgwMSwweGMxLDB4MGMsMHg0MiwweDAxLDB4MDAsMHgwMCwweGM1LDB4MjAsMHgzMSB9IH0sCi17ICAxNiwgMHhmMDgwLCAwLCB7MHg0MSwweDA4LDB4NDAsMHgwMCwweDE4LDB4ODAsMHg0NSwweDAwLDB4MjEsMHg0MSwweDBjLDB4NzAsMHg0MiwweDFjLDB4YzIsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgxYywweDgwLDB4YzQsMHgyMCB9IH0sCi17ICAxNiwgMHhmMGEwLCAwLCB7MHgzMSwweDA4LDB4MTAsMHg0MiwweDQyLDB4MDgsMHg4MCwweGM2LDB4MjAsMHgzMSwweDA5LDB4MDAsMHgyMCwweDAzLDB4MWMsMHg5MCB9IH0sCi17ICAxNiwgMHhmMGIwLCAwLCB7MHhjNCwweDIwLDB4MDEsMHg0OSwweDBjLDB4NDIsMHg0MywweDEwLDB4ODAsMHg0NCwweDIwLDB4MzEsMHgwOCwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4ODMsMHgyMCwweDMwLDB4NDgsMHgwYyB9IH0sCi17ICAxNiwgMHhmMGQwLCAwLCB7MHgzMiwweDQwLDB4MTAsMHg5MCwweDgxLDB4MjQsMHgyMCwweGM4LDB4MDQsMHgzMiwweDQwLDB4MTAsMHgyMCwweGMzLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhmMGUwLCAwLCB7MHhjOCwweDAwLDB4MDIsMHg0YSwweDBjLDB4YTAsMHgwMSwweDI0LDB4MTAsMHhjOCwweDA4LDB4MzIsMHg0MSwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4MDMsMHgwMCwweDAwLDB4YzksMHgwNCB9IH0sCi17ICAxNiwgMHhmMTAwLCAwLCB7MHgzMCwweDQwLDB4MDAsMHg5MCwweDAwLDB4MjAsMHgwMCwweDgwLDB4MDAsMHgxMCwweDQwLDB4MTAsMHgwMCwweDQwLDB4MjAsMHgxMCB9IH0sCi17ICAxNiwgMHhmMTEwLCAwLCB7MHhjMiwweDAwLDB4MDAsMHg4MCwweDA4LDB4MjAsMHg0MywweDA4LDB4MTAsMHg4MSwweDAwLDB4MzIsMHg0MCwweDBjLDB4YzAsMHgwNCB9IH0sCi17ICAxNiwgMHhmMTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTMwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHhmMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHhmMCwweDEwLDB4ODAsMHg0MCB9IH0sCi17ICAxNiwgMHhmMTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4ZjAsMHgxMCwweDkwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2MsMHgzYywweDEwLDB4ODAsMHg5MCwweDQwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTYwLCAwLCB7MHgwMCwweDgwLDB4MTAsMHg5MCwweGEwLDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGYsMHgwZiB9IH0sCi17ICAxNiwgMHhmMTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI0LDB4YzYsMHhiYSwweDA2LDB4YzAsMHgxYyB9IH0sCi17ICAxNiwgMHhmMTkwLCAwLCB7MHg0OSwweDI4LDB4NjEsMHgxNCwweDJiLDB4MWMsMHgwZSwweDQwLDB4M2YsMHhkOSwweGJmLDB4ZDksMHhhYSwweGJjLDB4MWEsMHg1ZiB9IH0sCi17ICAxNiwgMHhmMWEwLCAwLCB7MHgwMCwweDEwLDB4YTYsMHg1MCwweDNiLDB4NjEsMHhiMywweDI1LDB4YmMsMHg0MCwweDE5LDB4YmYsMHhmZiwweGU5LDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTIsMHgxNCwweDk0LDB4ODAsMHgwYyB9IH0sCi17ICAxNiwgMHhmMWMwLCAwLCB7MHgwNywweDNmLDB4MmIsMHg5NCwweDg2LDB4MTQsMHg4NCwweDgwLDB4MjgsMHgwMCwweDAwLDB4NDksMHgxNCwweDA0LDB4ODYsMHgxMiB9IH0sCi17ICAxNiwgMHhmMWQwLCAwLCB7MHg4MCwweDAwLDB4NDEsMHgyNywweDM0LDB4ZDAsMHg5MCwweDg0LDB4OTIsMHgwMCwweDJkLDB4OGEsMHgyMSwweDFlLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhhMiB9IH0sCi17ICAxNiwgMHhmMWYwLCAwLCB7MHhiMSwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODQsMHhiMSwweDc4LDB4MjgsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjAwLCAwLCB7MHgwOCwweGIxLDB4MzIsMHgxNCwweDE0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGE4LDB4MjMsMHg1NCwweDIxLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgyZiwweGZmLDB4ZmUsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGQ3LDB4ZmUsMHhlZiB9IH0sCi17ICAxNiwgMHhmMjMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweDdmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwZiwweGVmLDB4NzcsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZSwweGZmLDB4ZmUsMHhlZiB9IH0sCi17ICAxNiwgMHhmMjYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGJmLDB4ZmYsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9IH0sCi17ICAxNiwgMHhmMjkwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHg3ZiwweDJmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4ZmYsMHhlZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGVmLDB4ZWYsMHhlZiB9IH0sCi17ICAxNiwgMHhmMmMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZWYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGFmLDB4ZGYsMHhmZiB9IH0sCi17ICAxNiwgMHhmMmYwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhlZiwweGZmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGRmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9IH0sCi17ICAxNiwgMHhmMzIwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4YzQsMHgyNCwweGExLDB4MDAsMHgyYyB9IH0sCi17ICAxNiwgMHhmMzQwLCAwLCB7MHg1MiwweDBiLDB4MTgsMHhjMiwweDg2LDB4MmMsMHhhMSwweDgwLDB4MzgsMHg2MiwweDBhLDB4MDgsMHg0MCwweGM0LDB4MmMsMHhhMSB9IH0sCi17ICAxNiwgMHhmMzUwLCAwLCB7MHgwOCwweDI4LDB4NDIsMHgwYiwweDE0LDB4MDAsMHg4NSwweDE0LDB4YTEsMHgwOCwweDI4LDB4NDMsMHgwYSwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgxMiwweDAxLDB4MDMsMHg4MCB9IH0sCi17ICAxNiwgMHhmMzcwLCAwLCB7MHg2MSwweDIwLDB4MTAsMHgwOCwweDA3LDB4MTIsMHg0MSwweDQyLDB4ODAsMHg3MCwweDIwLDB4MWMsMHgwOCwweDA0LDB4MWEsMHgwMSB9IH0sCi17ICAxNiwgMHhmMzgwLCAwLCB7MHg4NCwweDgxLDB4NDAsMHgyMCwweDE4LDB4MDgsMHg0NiwweDM2LDB4ODEsMHgwNSwweDgwLDB4NjMsMHgyMCwweDEwLDB4MDAsMHgwMSB9IH0sCi17ICAxNiwgMHhmMzkwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODQsMHgyNCwweDIxLDB4MDAsMHgwYyB9IH0sCi17ICAxNiwgMHhmM2EwLCAwLCB7MHg1MiwweDAyLDB4MTQsMHgwMCwweDg3LDB4MjgsMHgyMSwweDgxLDB4MDgsMHg3MiwweDA2LDB4MWMsMHg4MiwweDg0LDB4MjAsMHgyMSB9IH0sCi17ICAxNiwgMHhmM2IwLCAwLCB7MHg0OCwweDE4LDB4NDIsMHgwMywweDU0LDB4ODAsMHg0NSwweDMwLDB4MjUsMHg0YSwweDE4LDB4NTMsMHgwMiwweDEwLDB4MDAsMHgwMSB9IH0sCi17ICAxNiwgMHhmM2MwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgyMiwweDAxLDB4MDEsMHg4MCB9IH0sCi17ICAxNiwgMHhmM2QwLCAwLCB7MHg0MiwweDIwLDB4MTgsMHhjOCwweDQ0LDB4MjIsMHgwMSwweDgwLDB4ODQsMHg0MiwweDIwLDB4MWMsMHg4OCwweDA0LDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhmM2UwLCAwLCB7MHgwMCwweDgwLDB4NDAsMHgyMCwweDEwLDB4ODgsMHg0NCwweDM2LDB4MDEsMHg0MCwweDgwLDB4NDEsMHgwMCwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmM2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwOCwweDIwLDB4MDAsMHgwYyB9IH0sCi17ICAxNiwgMHhmNDAwLCAwLCB7MHgyMiwweDAzLDB4MDQsMHg0MCwweDgxLDB4MDAsMHgyMCwweDg0LDB4MDgsMHgwMywweDAwLDB4MDAsMHg4MCwweGMyLDB4MDAsMHgyMCB9IH0sCi17ICAxNiwgMHhmNDEwLCAwLCB7MHhjNCwweDA4LDB4MDAsMHgwMywweDA4LDB4ODgsMHg4MiwweDE2LDB4YTAsMHg0MCwweDg4LDB4MzIsMHgyMiwweDgwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDEsMHgwMCwweDgwLDB4MDQsMHgyMCB9IH0sCi17ICAxNiwgMHhmNDMwLCAwLCB7MHgxMCwweDA4LDB4MGMsMHhjMiwweDEyLDB4MTAsMHg4NCwweGM4LDB4MjIsMHgxMiwweDA4LDB4MDQsMHgwMiwweDAzLDB4MDAsMHg4OCB9IH0sCi17ICAxNiwgMHhmNDQwLCAwLCB7MHgwMCwweDIxLDB4MDAsMHgwYywweDBjLDB4NDAsMHg0MSwweDMwLDB4MDAsMHg4NCwweDIwLDB4MTAsMHgwOCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4ODIsMHgwNiwweDIwLDB4MDgsMHg4YyB9IH0sCi17ICAxNiwgMHhmNDYwLCAwLCB7MHgzMiwweDIyLDB4MGMsMHg4OCwweDgxLDB4MjYsMHgyMCwweDRkLDB4ODgsMHgyMywweDIyLDB4ODAsMHg4OCwweDgzLDB4MDYsMHgyMCB9IH0sCi17ICAxNiwgMHhmNDcwLCAwLCB7MHgwOCwweDg4LDB4MDAsMHgyMywweDA0LDB4OGEsMHg4MSwweDM2LDB4MjAsMHg0YiwweDg4LDB4MzIsMHgyMiwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDIsMHgwMiwweDAwLDB4MDksMHg4MCB9IH0sCi17ICAxNiwgMHhmNDkwLCAwLCB7MHgzMiwweDIwLDB4MDQsMHg4OCwweDYwLDB4MjIsMHgwMCwweDg5LDB4ODQsMHgwMCwweDIwLDB4MDgsMHg5OCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNGEwLCAwLCB7MHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMiwweDNhLDB4ODAsMHg0OCwweDgwLDB4MzAsMHgyMCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDBhLDB4YzQsMHgxYSwweGExLDB4ODAsMHhhOCB9IH0sCi17ICAxNiwgMHhmNGMwLCAwLCB7MHg0MSwweDJhLDB4MTAsMHhjYSwweGM3LDB4MWEsMHhhMSwweDA0LDB4YWQsMHg3MSwweDJhLDB4MTgsMHg0YSwweGQ0LDB4MDYsMHhiMSB9IH0sCi17ICAxNiwgMHhmNGQwLCAwLCB7MHgwMCwweGE4LDB4NzEsMHgyYSwweDEwLDB4MDgsMHg4NCwweDI2LDB4MjksMHgwNiwweGFjLDB4NTIsMHgyYSwweDEwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDQsMHgyYSwweDAxLDB4NDEsMHg4MCB9IH0sCi17ICAxNiwgMHhmNGYwLCAwLCB7MHg0MiwweDIwLDB4MWMsMHgwMCwweDA0LDB4MGEsMHgwMSwweDA5LDB4ODQsMHg1MSwweDIwLDB4MWMsMHg4OCwweDQ0LDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhmNTAwLCAwLCB7MHgwOCwweDgwLDB4NDAsMHgyMCwweDEwLDB4NGEsMHg0NywweDAyLDB4MDEsMHg0OCwweDgwLDB4NjMsMHgyMCwweDEwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNTEwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4YzQsMHgxMCwweDIxLDB4ODEsMHgwYyB9IH0sCi17ICAxNiwgMHhmNTIwLCAwLCB7MHg0MSwweDAyLDB4MGMsMHgwMCwweGMwLDB4MjAsMHg2MSwweDBkLDB4MGUsMHg3MiwweDAyLDB4MWMsMHg0MCwweGM0LDB4MDgsMHgzMSB9IH0sCi17ICAxNiwgMHhmNTMwLCAwLCB7MHgwNCwweDE4LDB4NDIsMHgwMiwweDEwLDB4ODAsMHg4NywweDIwLDB4YjEsMHhjNCwweDBjLDB4NTMsMHgwMiwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweDIwLDB4MDcsMHgyNCwweDAxLDB4Y2MsMHgwMCB9IH0sCi17ICAxNiwgMHhmNTUwLCAwLCB7MHg3MiwweDQwLDB4MTQsMHgwMCwweDA0LDB4MjQsMHgwMSwweDA4LDB4MDAsMHg3MywweDQxLDB4MTAsMHhjMCwweDA3LDB4MzAsMHgxMSB9IH0sCi17ICAxNiwgMHhmNTYwLCAwLCB7MHhjYywweDAwLDB4NzEsMHgwMSwweDEwLDB4MDIsMHgwNCwweDIwLDB4ODEsMHg0NiwweDEwLDB4NDIsMHg0MCwweDEwLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhmNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4YzUsMHgxMCwweDIxLDB4MDAsMHgwOCB9IH0sCi17ICAxNiwgMHhmNTgwLCAwLCB7MHg2MiwweDAyLDB4MWMsMHg5MCwweGM1LDB4MjQsMHgyMSwweDAwLDB4MGMsMHg3MCwweDgyLDB4MWMsMHgxMCwweGM0LDB4MjAsMHgzMSB9IH0sCi17ICAxNiwgMHhmNTkwLCAwLCB7MHg4OCwweDAyLDB4NDAsMHgwNiwweDFjLDB4MDAsMHg4NSwweDAwLDB4YTEsMHgwMCwweDBjLDB4NDAsMHg0MiwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIyLDB4MDUsMHgxNCwweDgwLDB4MDEsMHgyMCB9IH0sCi17ICAxNiwgMHhmNWIwLCAwLCB7MHgzMCwweDA4LDB4MGMsMHg0MiwweDA2LDB4MDAsMHg4MCwweDAxLDB4MjQsMHg1MSwweDA4LDB4MGMsMHgwMiwweDQxLDB4MDAsMHg4MCB9IH0sCi17ICAxNiwgMHhmNWMwLCAwLCB7MHg0YywweDIwLDB4MDAsMHgwOCwweDBjLDB4MzAsMHg0MiwweDA0LDB4MDAsMHgwNCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4YzYsMHgyNCwweDIwLDB4MDAsMHgwYyB9IH0sCi17ICAxNiwgMHhmNWUwLCAwLCB7MHgzMiwweGMyLDB4MDQsMHg4MCwweGM3LDB4MzAsMHgyMCwweDAwLDB4MGMsMHg1MywweGMyLDB4MDQsMHgxMCwweGMyLDB4MjgsMHg3MCB9IH0sCi17ICAxNiwgMHhmNWYwLCAwLCB7MHgwYywweDA5LDB4MDIsMHgwMiwweDRjLDB4ODAsMHg4MSwweDA0LDB4MzAsMHgwOSwweDBjLDB4MDIsMHg0MiwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDgwLDB4MDEsMHgzOCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjEwLCAwLCB7MHgxMiwweDQwLDB4MGMsMHgyMCwweDA3LDB4MzQsMHgwNCwweDAyLDB4MDAsMHg2MywweDAxLDB4MDgsMHgxMCwweDAwLDB4MjQsMHgxMCB9IH0sCi17ICAxNiwgMHhmNjIwLCAwLCB7MHgwNCwweDAwLDB4MDIsMHgwMSwweDA0LDB4ODIsMHgwMSwweDA4LDB4ODAsMHgwOSwweDEwLDB4MDIsMHg0MCwweDEwLDB4MDAsMHgwNCB9IH0sCi17ICAxNiwgMHhmNjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MjAsMHgxMCwweDgwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjQwLCAwLCB7MHgyMCwweDgwLDB4MDAsMHhmMCwweDIwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgyMCwweDgwLDB4MDAsMHhkMCwweDgwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgxMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4Y2MsMHg0MCB9IH0sCi17ICAxNiwgMHhmNjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2MsMHgzYywweDEwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjcwLCAwLCB7MHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4MDAsMHg5MCB9IH0sCi17ICAxNiwgMHhmNjgwLCAwLCB7MHg4MCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MTAsMHhhMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDEwLDB4OGMsMHgwOCB9IH0sCi17ICAxNiwgMHhmNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM0LDB4MWEsMHhiZSwweDE3LDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNmEwLCAwLCB7MHgzZSwweDQwLDB4MjYsMHg2ZiwweGJhLDB4ZTMsMHgyNCwweDgwLDB4MDAsMHgxNiwweDU5LDB4YmQsMHg4MiwweDgxLDB4ODIsMHhkOCB9IH0sCi17ICAxNiwgMHhmNmIwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgxOSwweDk5LDB4ODYsMHg4MCwweDY0LDB4ODAsMHhjMCwweDNmLDB4ZDksMHg5OSwweDgwLDB4MDAsMHgwMSB9IH0sCi17ICAxNiwgMHhmNmMwLCAwLCB7MHhmMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA2LDB4MTYsMHgwMiwweDk0LDB4MDAsMHgxNiB9IH0sCi17ICAxNiwgMHhmNmQwLCAwLCB7MHhjMCwweDE2LDB4OTQsMHg4MiwweDkwLDB4MTYsMHgxMCwweDgwLDB4MjEsMHgxOCwweDI4LDB4MjgsMHgwMiwweDBhLDB4MDIsMHgwOCB9IH0sCi17ICAxNiwgMHhmNmUwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHg4MiwweDgwLDB4MTQsMHgwMCwweDAxLDB4MTQsMHgxMSwweGEwLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4NCB9IH0sCi17ICAxNiwgMHhmNzAwLCAwLCB7MHgwMiwweDg0LDB4YTgsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4OTEsMHgyMiwweDg0LDB4NDEsMHhhMiwweDA4LDB4MjQsMHgwMSB9IH0sCi17ICAxNiwgMHhmNzEwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDg0LDB4MDEsMHg0NCwweDAxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZSwweGY3LDB4ZmYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGU3LDB4YjcsMHhmZiB9IH0sCi17ICAxNiwgMHhmNzQwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmZSwweDdmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzNiwweGJmLDB4ZmUsMHhkZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweGY3LDB4ZGYsMHhmZiB9IH0sCi17ICAxNiwgMHhmNzcwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2QsMHhiNywweGI3LDB4ZWYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgxZiwweGRmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweGRmLDB4ZGYsMHhmZiB9IH0sCi17ICAxNiwgMHhmN2EwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhlZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGJmLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4N2YsMHhmNyB9IH0sCi17ICAxNiwgMHhmN2QwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhkZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweDdlLDB4ZmYsMHhmZiwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZlLDB4ZmYsMHhmZiB9IH0sCi17ICAxNiwgMHhmODAwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzNywweGZmLDB4NmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9IH0sCi17ICAxNiwgMHhmODMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODgwLCAwLCB7MHgzMCwweDAwLDB4NDMsMHgwYywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCB9IH0sCi17ICAxNiwgMHhmOTAwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgzMCB9IH0sCi17ICAxNiwgMHhmOWMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiB9IH0sCi17ICAxNiwgMHhmYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiB9IH0sCi17ICAxNiwgMHhmYTgwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgwZiB9IH0sCi17ICAxNiwgMHhmYWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMywweDZiLDB4MDAsMHhjMCwweDAwLDB4Y2YsMHgyYyB9IH0sCi17ICAxNiwgMHhmYjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgzMCB9IH0sCi17ICAxNiwgMHhmYzAwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhjMCwweDNmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4M2YsMHhjMCwweDNmLDB4YzAsMHgzMCB9IH0sCi17ICAxNiwgMHhmY2MwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgwZiB9IH0sCi17ICAxNiwgMHhmZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgzZiB9IH0sCi17ICAxNiwgMHhmZDgwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4M2YsMHhjMCwweDNmLDB4YzAsMHgwZiB9IH0sCi17ICAxNiwgMHhmZGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgzMywweDVkLDB4ODAsMHhjMCwweDAwLDB4ZmQsMHhhYyB9IH0sCi17ICAxNiwgMHhmZTQwLCAwLCB7MHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCB9IH0sCi17ICAxNiwgMHhmZjAwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgzMCB9IH0sCi17ICAxNiwgMHhmZmMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiB9IH0sCi17ICAxNiwgMHg4MDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiB9IH0sCi17ICAxNiwgMHg4MDkwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgwZiB9IH0sCi17ICAxNiwgMHg4MGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMywweDc0LDB4YzAsMHhjMCwweDAwLDB4ZjAsMHhlYyB9IH0sCi17ICAxNiwgMHg4MTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgzMCB9IH0sCi17ICAxNiwgMHg4MjEwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhjMCwweDNmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOSwweDg2LDB4MTAsMHg4MCwweDMwLDB4ODIsMHgzZCB9IH0sCi17ICAxNiwgMHg4MmQwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgwZiB9IH0sCi17ICAxNiwgMHg4MzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgzZiB9IH0sCi17ICAxNiwgMHg4MzkwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4M2YsMHhjMCwweDNmLDB4YzAsMHgwZiB9IH0sCi17ICAxNiwgMHg4M2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzcsMHg2NSwweDI1LDB4ZTQsMHg4MCwweDAwLDB4YjAsMHg4OCB9IH0sCi17ICAxNiwgMHg4NDUwLCAwLCB7MHhhYiwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgyMCwweDAxLDB4MDIsMHgwMiwweDAwLDB4MDAsMHgzMCwweDAwLDB4NDMsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0NCwweDcyLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHg5MGUwLCAwLCB7MHgzMCwweDAwLDB4NDAsMHgwYywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgzMCwweDAwLDB4YTAsMHgwMSB9IH0sCi17ICAxNiwgMHg5MTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMCwweGUxLDB4NWEsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxMiwgMHg5MTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMCAsIDB4MDAwMCwgMSwgezAgfX0KLX07Ci0vLyBWRVJTSU9OPTEuMS4xLjEzMQotLy8gREFURT0yMDAxZGVjMDYKLS8vIFBST0RVQ1Q9RU1JIDJ8NgotLyoKLSAqIFRoaXMgZmlybXdhcmUgaXMgZm9yIHRoZSBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UKLSAqCi0gKiBUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcyBDb3B5cmlnaHQgKGMpIDE5OTktMjAwMiBFbWFnaWMKLSAqIGFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZAotICogb3IgcHVibGljIGFjY2VzcyB0byB0aGlzIGZpcm13YXJlIHdoaWNoIGlzIGEgdHJhZGUgc2VjcmV0IG9mIEVtYWdpYywKLSAqIGFuZCB3aGljaCBtYXkgbm90IGJlIHJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8KLSAqIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IEVtYWdpYydzIHdyaXR0ZW4gY29uc2VudC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCB0aGUKLSAqIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZS4gRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YKLSAqIGFueSBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gcGFydCwKLSAqIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuCi0gKi8KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfRmlybXdhcmVbXSA9IHsKLXsgICAzLDB4MDAwMCwwLHsweDAyLDB4NDMsMHg1Nn0gfSwKLXsgICAzLDB4MDAwMywwLHsweDAyLDB4NGIsMHhjZH0gfSwKLXsgICAzLDB4MDAwYiwwLHsweDAyLDB4NGIsMHhkMn0gfSwKLXsgICAzLDB4MDAxMywwLHsweDAyLDB4NGIsMHg5Mn0gfSwKLXsgICAzLDB4MDAxYiwwLHsweDAyLDB4NGIsMHhkNX0gfSwKLXsgICAzLDB4MDAyMywwLHsweDAyLDB4MWIsMHgzOX0gfSwKLXsgICAzLDB4MDAyYiwwLHsweDAyLDB4NDMsMHhlMn0gfSwKLXsgICAzLDB4MDAzMywwLHsweDAyLDB4M2YsMHhmM30gfSwKLXsgICAzLDB4MDAzYiwwLHsweDAyLDB4NGIsMHhjMH0gfSwKLXsgICAzLDB4MDA0MywwLHsweDAyLDB4NDcsMHgwMH0gfSwKLXsgICAzLDB4MDA0YiwwLHsweDAyLDB4M2YsMHhmY30gfSwKLXsgICAzLDB4MDA1MywwLHsweDAyLDB4MzcsMHhmYX0gfSwKLXsgICAzLDB4MDA1YiwwLHsweDAyLDB4NGIsMHhjN30gfSwKLXsgICAzLDB4MDA2MywwLHsweDAyLDB4NDYsMHhmY30gfSwKLXsgIDE2LDB4MDUwMCwwLHsweDEyLDB4MDEsMHgxMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg2YSwweDA4LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMSwweDAyfSB9LAoteyAgMTYsMHgwNTEwLDAsezB4MDAsMHgwMSwweDA5LDB4MDIsMHhiOCwweDAxLDB4MDMsMHgwMSwweDAwLDB4ODAsMHhhMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDA1MjAsMCx7MHgwMSwweDAxLDB4MDAsMHgwMCwweDBhLDB4MjQsMHgwMSwweDAwLDB4MDEsMHg1NiwweDAwLDB4MDIsMHgwMSwweDAyLDB4MGMsMHgyNH0gfSwKLXsgIDE2LDB4MDUzMCwwLHsweDAyLDB4MDEsMHgwMSwweDAxLDB4MDAsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHgyNCwweDA2LDB4MDUsMHgwMSwweDAyfSB9LAoteyAgMTYsMHgwNTQwLDAsezB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDl9IH0sCi17ICAxNiwweDA1NTAsMCx7MHgyNCwweDAzLDB4MDIsMHgwNCwweDAzLDB4MDAsMHgwNSwweDAwLDB4MGMsMHgyNCwweDAyLDB4MDMsMHgwMSwweDAyLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MDU2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgyNCwweDA2LDB4MDYsMHgwMywweDAyLDB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgwNTcwLDAsezB4MDAsMHgwOSwweDI0LDB4MDMsMHgwNCwweDAxLDB4MDEsMHgwMCwweDA2LDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMCwweDAwLDB4MDF9IH0sCi17ICAxNiwweDA1ODAsMCx7MHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMSwweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMX0gfSwKLXsgIDE2LDB4MDU5MCwwLHsweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxLDB4MDIsMHgwMiwweDEwLDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJifSB9LAoteyAgMTYsMHgwNWEwLDAsezB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4MGEsMHgwNSwweDg0LDB4MDEsMHgwMSwweDAwLDB4OGYsMHgwNywweDI1LDB4MDF9IH0sCi17ICAxNiwweDA1YjAsMCx7MHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDUsMHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMX0gfSwKLXsgIDE2LDB4MDVjMCwwLHsweDAyLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAwLDB4MGUsMHgyNCwweDAyfSB9LAoteyAgMTYsMHgwNWQwLDAsezB4MDEsMHgwNiwweDAyLDB4MTAsMHgwMiwweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDA5LDB4MDUsMHgwYSwweDA1LDB4NGN9IH0sCi17ICAxNiwweDA1ZTAsMCx7MHgwMiwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwM30gfSwKLXsgIDE2LDB4MDVmMCwwLHsweDAwLDB4MDEsMHgwNiwweDAwLDB4MDksMHgwNCwweDAxLDB4MDMsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxfSB9LAoteyAgMTYsMHgwNjAwLDAsezB4MDEsMHgwMCwweDAxLDB4MDAsMHgwZSwweDI0LDB4MDIsMHgwMSwweDA2LDB4MDMsMHgxOCwweDAyLDB4NDQsMHhhYywweDAwLDB4ODB9IH0sCi17ICAxNiwweDA2MTAsMCx7MHhiYiwweDAwLDB4MDksMHgwNSwweDBhLDB4MDUsMHg3MiwweDAzLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMH0gfSwKLXsgIDE2LDB4MDYyMCwwLHsweDAwLDB4MDAsMHgwOSwweDA1LDB4OGYsMHgwMSwweDAzLDB4MDAsMHgwMSwweDA2LDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwNCwweDAyfSB9LAoteyAgMTYsMHgwNjMwLDAsezB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMCwweDBiLDB4MjQsMHgwMiwweDAxLDB4MDJ9IH0sCi17ICAxNiwweDA2NDAsMCx7MHgwMywweDE4LDB4MDEsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4MGEsMHgwNSwweDQ2LDB4MDIsMHgwMSwweDAwLDB4OGYsMHgwN30gfSwKLXsgIDE2LDB4MDY1MCwwLHsweDI1LDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDUsMHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDYsMHgwMCwweDA5fSB9LAoteyAgMTYsMHgwNjYwLDAsezB4MDQsMHgwMiwweDAwLDB4MDAsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDB9IH0sCi17ICAxNiwweDA2NzAsMCx7MHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyLDB4MDEsMHgwMiwweDAyLDB4MTAsMHgwM30gfSwKLXsgIDE2LDB4MDY4MCwwLHsweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHg4YywweDA1LDB4ODQsMHgwMSwweDAxfSB9LAoteyAgMTYsMHgwNjkwLDAsezB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyLDB4MDIsMHgwMSwweDAxLDB4MDJ9IH0sCi17ICAxNiwweDA2YTAsMCx7MHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDMsMHgxOH0gfSwKLXsgIDE2LDB4MDZiMCwwLHsweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDhjLDB4MDUsMHg0NiwweDAyfSB9LAoteyAgMTYsMHgwNmMwLDAsezB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNSwweDBjLDB4MDksMHgwMSwweGExLDB4MDF9IH0sCi17ICAxNiwweDA2ZDAsMCx7MHgwNSwweDBjLDB4MDksMHhlOSwweDA1LDB4MGMsMHgwOSwweGVhLDB4MTUsMHgwMCwweDI1LDB4MDEsMHg5NSwweDAyLDB4NzUsMHgwMX0gfSwKLXsgIDE2LDB4MDZlMCwwLHsweDgxLDB4NDIsMHg5NSwweDAxLDB4NzUsMHgwNiwweDgxLDB4MDEsMHgwNSwweDBjLDB4MDksMHgwMCwweDA1LDB4MGMsMHgwOSwweDAwfSB9LAoteyAgMTYsMHgwNmYwLDAsezB4MTUsMHgwMCwweDI1LDB4MDEsMHg5NSwweDAyLDB4NzUsMHgwMSwweDkxLDB4MDYsMHg5NSwweDAxLDB4NzUsMHgwNiwweDkxLDB4MDN9IH0sCi17ICAxNiwweDA3MDAsMCx7MHhjMCwweDA0LDB4MDMsMHgwOSwweDA0LDB4MTgsMHgwMywweDQ1LDB4MDAsMHg0ZCwweDAwLDB4NDEsMHgwMCwweDQ3LDB4MDAsMHg0OX0gfSwKLXsgIDE2LDB4MDcxMCwwLHsweDAwLDB4NDMsMHgwMCwweDIwLDB4MDAsMHg0NywweDAwLDB4NmQsMHgwMCwweDYyLDB4MDAsMHg0OCwweDAwLDB4MWUsMHgwMywweDQ1fSB9LAoteyAgMTYsMHgwNzIwLDAsezB4MDAsMHg2ZCwweDAwLDB4NjEsMHgwMCwweDY3LDB4MDAsMHg2OSwweDAwLDB4NjMsMHgwMCwweDIwLDB4MDAsMHg0NSwweDAwLDB4NGR9IH0sCi17ICAxNiwweDA3MzAsMCx7MHgwMCwweDQ5LDB4MDAsMHgyMCwweDAwLDB4MzIsMHgwMCwweDdjLDB4MDAsMHgzNiwweDAwLDB4MmEsMHgwMywweDQzLDB4MDAsMHg2Zn0gfSwKLXsgIDE2LDB4MDc0MCwwLHsweDAwLDB4NmUsMHgwMCwweDY2LDB4MDAsMHg2OSwweDAwLDB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDc0fSB9LAoteyAgMTYsMHgwNzUwLDAsezB4MDAsMHg2OSwweDAwLDB4NmYsMHgwMCwweDZlLDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4Njl9IH0sCi17ICAxNiwweDA3NjAsMCx7MHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MjIsMHgwMywweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDAsMHg3Mn0gfSwKLXsgIDE2LDB4MDc3MCwwLHsweDAwLDB4NjYsMHgwMCwweDYxLDB4MDAsMHg2MywweDAwLDB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyfSB9LAoteyAgIDksMHgwNzgwLDAsezB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgwNzg5LDAsezB4NzQsMHgwMCwweGY1LDB4ODYsMHg5MCwweGZkLDB4YTUsMHg3YywweDA1LDB4YTMsMHhlNSwweDgyLDB4NDUsMHg4MywweDcwLDB4Zjl9IH0sCi17ICAgMSwweDA3OTksMCx7MHgyMn0gfSwKLXsgIDE2LDB4MDc5YSwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4NDQsMHg4MCwweGYwLDB4NDMsMHg4NywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIyfSB9LAoteyAgMTYsMHgwN2FhLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4OGQsMHhlMCwweGMwLDB4ZTB9IH0sCi17ICAxNiwweDA3YmEsMCx7MHg4YywweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4ZTUsMHgxOH0gfSwKLXsgIDE2LDB4MDdjYSwwLHsweGI0LDB4MDIsMHgwMywweDAyLDB4MDcsMHhkOSwweGI0LDB4MDEsMHgwMywweDAyLDB4MDcsMHhkZSwweDAyLDB4MDcsMHhmYSwweDdkfSB9LAoteyAgMTYsMHgwN2RhLDAsezB4MDEsMHgwMiwweDA4LDB4MTYsMHhlNSwweDE5LDB4MTQsMHhmNSwweDE5LDB4YzMsMHhiNSwweDEzLDB4MDMsMHgwMiwweDA3LDB4ZjV9IH0sCi17ICAxNiwweDA3ZWEsMCx7MHg1MCwweDA5LDB4YjQsMHgwMCwweGVhLDB4NzUsMHgxOSwweDBhLDB4MDIsMHgwNywweGQ5LDB4N2QsMHgwMCwweDAyLDB4MDgsMHgxNn0gfSwKLXsgIDE2LDB4MDdmYSwwLHsweGU1LDB4MTksMHgxNCwweGY1LDB4MTksMHhjMywweGI1LDB4MTQsMHgwMywweDAyLDB4MDgsMHgxMSwweDUwLDB4MDksMHhiNCwweDAwfSB9LAoteyAgMTYsMHgwODBhLDAsezB4Y2UsMHg3NSwweDE5LDB4MGEsMHgwMiwweDA3LDB4ZDksMHg3ZCwweDAyLDB4MDIsMHgwOCwweDE2LDB4N2MsMHgwNSwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDA4MWEsMCx7MHg5OSwweGUwLDB4NTQsMHg0MCwweGRjLDB4MDMsMHgwMiwweDA4LDB4NDMsMHhiNCwweDAwLDB4MWQsMHg5MCwweDdmLDB4ZTMsMHg3NH0gfSwKLXsgIDE2LDB4MDgyYSwwLHsweDdiLDB4ZjAsMHhhMywweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4NDAsMHhmMCwweDkwLDB4N2YsMHhlNSwweGYwfSB9LAoteyAgMTYsMHgwODNhLDAsezB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4MDIsMHgwOCwweDE4LDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODB9IH0sCi17ICAxNiwweDA4NGEsMCx7MHhmMCwweDkwLDB4NzksMHg2NSwweGUwLDB4YjQsMHgwMSwweDAzLDB4MDIsMHgwOCwweDllLDB4YjQsMHgwMiwweDAzLDB4MDIsMHgwOH0gfSwKLXsgIDE2LDB4MDg1YSwwLHsweDk2LDB4YjQsMHgwMywweDAzLDB4MDIsMHgwOCwweDhlLDB4YjQsMHgwNCwweDAzLDB4MDIsMHgwOCwweDg2LDB4YjQsMHgwNSwweDAzfSB9LAoteyAgMTYsMHgwODZhLDAsezB4MDIsMHgwOCwweDdlLDB4YjQsMHgwNiwweDAzLDB4MDIsMHgwOCwweDc2LDB4MDIsMHgwOCwweGY0LDB4MDUsMHg4NiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDA4N2EsMCx7MHg2YywweDAyLDB4MDgsMHhlOSwweDA1LDB4ODYsMHg5MCwweDdmLDB4NmMsMHgwMiwweDA4LDB4ZGQsMHgwNSwweDg2LDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDg4YSwwLHsweDZjLDB4MDIsMHgwOCwweGNmLDB4MDUsMHg4NiwweDkwLDB4N2YsMHg2YywweDAyLDB4MDgsMHhjMCwweDA1LDB4ODYsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwODlhLDAsezB4NmMsMHgwMiwweDA4LDB4YjIsMHgwNSwweDg2LDB4OTAsMHg3ZiwweDZjLDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhmMCwweDAwLDB4ZjB9IH0sCi17ICAxNiwweDA4YWEsMCx7MHgwZCwweGVkLDB4YjQsMHgyZCwweGY0LDB4MDIsMHgwOCwweGY0LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4MGQsMHhlZH0gfSwKLXsgIDE2LDB4MDhiYSwwLHsweGI0LDB4MmQsMHhmNSwweDAyLDB4MDgsMHhmNCwweGYwLDB4MDAsMHhmMCwweDAwLDB4ZjAsMHgwMCwweGYwLDB4MGQsMHhlZCwweGI0fSB9LAoteyAgMTYsMHgwOGNhLDAsezB4MzEsMHhmNCwweDAyLDB4MDgsMHhmNCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDBkLDB4ZWQsMHhiNCwweDMxLDB4ZjV9IH0sCi17ICAxNiwweDA4ZGEsMCx7MHgwMiwweDA4LDB4ZjQsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDBkLDB4ZWQsMHhiNCwweDYxLDB4ZjcsMHgwMiwweDA4LDB4ZjQsMHhmMH0gfSwKLXsgIDE2LDB4MDhlYSwwLHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHgwZCwweGVkLDB4YjQsMHg2MSwweGY1LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwfSB9LAoteyAgMTYsMHgwOGZhLDAsezB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2LDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmR9IH0sCi17ICAgNSwweDA5MGEsMCx7MHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwfSB9LAoteyAgIDYsMHgwOTBmLDAsezB4ZmYsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwOTE1LDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDkwLDB4N2YsMHg2ZiwweGU1LDB4MGMsMHhmMCwweGU1LDB4MGR9IH0sCi17ICAxMywweDA5MjUsMCx7MHhmMCwweGU1LDB4MGUsMHhmMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MDkzMiwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzfSB9LAoteyAgMTYsMHgwOTQyLDAsezB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4OTAsMHg3OSwweDcwLDB4ZTAsMHhmZiwweGJmLDB4MDAsMHgwMywweDAyLDB4MGF9IH0sCi17ICAxNiwweDA5NTIsMCx7MHhiOCwweDkwLDB4N2YsMHg5NiwweGUwLDB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDk2MiwwLHsweDYyLDB4ZTAsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweDdmfSB9LAoteyAgMTYsMHgwOTcyLDAsezB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDc5LDB4ODgsMHhlMCwweGI0LDB4MDEsMHgwMywweDAyLDB4MDl9IH0sCi17ICAxNiwweDA5ODIsMCx7MHhiZSwweGI0LDB4MDIsMHgwMywweDAyLDB4MDksMHhjMywweGI0LDB4MDMsMHgwMywweDAyLDB4MDksMHhhYywweGI0LDB4MDQsMHgwM30gfSwKLXsgIDE2LDB4MDk5MiwwLHsweDAyLDB4MDksMHg5YSwweDA1LDB4ODYsMHgwMiwweDBhLDB4YjIsMHhlZiwweDU0LDB4MDMsMHhmZSwweGVmLDB4MDMsMHgwMywweDU0fSB9LAoteyAgMTYsMHgwOWEyLDAsezB4M2YsMHhmZiwweDkwLDB4N2YsMHg2MywweDA1LDB4ODYsMHgwMiwweDA5LDB4YzksMHhlZiwweDU0LDB4MDMsMHhmZSwweGVmLDB4MDN9IH0sCi17ICAxNiwweDA5YjIsMCx7MHgwMywweDU0LDB4M2YsMHhmZiwweDkwLDB4N2YsMHg2MywweDA1LDB4ODYsMHgwMiwweDBhLDB4MzYsMHgwNSwweDg2LDB4MDIsMHgwYX0gfSwKLXsgIDE2LDB4MDljMiwwLHsweGE1LDB4MDUsMHg4NiwweDAyLDB4MGEsMHg4ZSwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwOWQyLDAsezB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODZ9IH0sCi17ICAxNiwweDA5ZTIsMCx7MHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MDlmMiwwLHsweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZGYsMHhjYSwweGVlLDB4YjQsMHgwMCwweDAzfSB9LAoteyAgMTYsMHgwYTAyLDAsezB4MDIsMHgwYSwweGIyLDB4YjQsMHgwMSwweDAzLDB4MDIsMHgwYSwweDI1LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDV9IH0sCi17ICAxNiwweDBhMTIsMCx7MHg4NiwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MGEyMiwwLHsweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2fSB9LAoteyAgMTYsMHgwYTMyLDAsezB4MDIsMHgwYSwweGIyLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTB9IH0sCi17ICAxMywweDBhNDIsMCx7MHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4Nn0gfSwKLXsgIDE2LDB4MGE0ZiwwLHsweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhkZiwweGQ2fSB9LAoteyAgMTYsMHgwYTVmLDAsezB4ZWUsMHhiNCwweDAwLDB4MDMsMHgwMiwweDBhLDB4YjIsMHhiNCwweDAxLDB4MDMsMHgwMiwweDBhLDB4ODAsMHhlMCwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDBhNmYsMCx7MHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHgwNX0gfSwKLXsgIDE2LDB4MGE3ZiwwLHsweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweDA1LDB4ODYsMHgwMiwweDBhLDB4YjIsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwYThmLDAsezB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDBhOWYsMCx7MHhkZiwweGVjLDB4MDIsMHgwYSwweGIyLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MGFhZiwwLHsweGUwLDB4ZGYsMHhmMiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweGQwLDB4ODUsMHhkMCwweDg0LDB4MDUsMHg4NiwweGQwfSB9LAoteyAgMTQsMHgwYWJmLDAsezB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MGFjZCwwLHsweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweGU4LDB4YzAsMHhlMCwweDc4LDB4ZDEsMHhlOCwweDE0LDB4ZjgsMHg3MCwweGZifSB9LAoteyAgMTAsMHgwYWRkLDAsezB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhlMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MjJ9IH0sCi17ICAxNiwweDBhZTcsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHg4ZCwweGUwLDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4MGFmNywwLHsweDhjLDB4ZTAsMHhjMCwweGUwLDB4NzUsMHg4NiwweDAwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHgwNSwweDg2LDB4YzAsMHg4NCwweGMwfSB9LAoteyAgMTYsMHgwYjA3LDAsezB4ODUsMHg3ZSwweDAwLDB4OTAsMHg3OSwweDhlLDB4ZTAsMHhiNCwweDAwLDB4MTYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDA2LDB4Y2F9IH0sCi17ICAxNiwweDBiMTcsMCx7MHhhMywweGEzLDB4YTMsMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4ZmYsMHg5MCwweDc5LDB4OGQsMHhmMCwweDAyLDB4MGIsMHgzOX0gfSwKLXsgIDE2LDB4MGIyNywwLHsweDkwLDB4NzksMHg4ZCwweGUwLDB4ZmYsMHg5MCwweDc5LDB4OGYsMHhlMCwweGZkLDB4OTAsMHg3OSwweDkwLDB4ZTAsMHhmYywweDAyfSB9LAoteyAgMTYsMHgwYjM3LDAsezB4MGIsMHg0NiwweDkwLDB4MDYsMHhjYSwweDA1LDB4ODYsMHg5MCwweDdmLDB4MDAsMHgwNSwweDg2LDB4MDIsMHgwYiwweDUxLDB4OGR9IH0sCi17ICAxNiwweDBiNDcsMCx7MHg4NCwweDhjLDB4ODUsMHgwNSwweDg2LDB4OTAsMHg3ZiwweDAwLDB4MDUsMHg4NiwweGUwLDB4YTMsMHgwNSwweDg2LDB4ZjAsMHhhM30gfSwKLXsgIDE2LDB4MGI1NywwLHsweDBlLDB4ZWUsMHhiNCwweDQwLDB4MDMsMHgwMiwweDBiLDB4NmMsMHgwNSwweDg2LDB4ZGYsMHhlZSwweDkwLDB4NzksMHg4ZSwweDc0fSB9LAoteyAgMTYsMHgwYjY3LDAsezB4MDAsMHhmMCwweDAyLDB4MGIsMHg4MiwweDA1LDB4ODYsMHhhZCwweDg0LDB4YWMsMHg4NSwweDkwLDB4NzksMHg4ZiwweGVkLDB4ZjB9IH0sCi17ICAxNiwweDBiNzcsMCx7MHg5MCwweDc5LDB4OTAsMHhlYywweGYwLDB4OTAsMHg3OSwweDhkLDB4MWYsMHhlZiwweGYwLDB4OTAsMHg3ZiwweGI1LDB4ZWUsMHhmMH0gfSwKLXsgIDE2LDB4MGI4NywwLHsweGQwLDB4ODUsMHhkMCwweDg0LDB4MDUsMHg4NiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZkfSB9LAoteyAgMTEsMHgwYjk3LDAsezB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MGJhMiwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHg5MCwweDdmLDB4YWUsMHhlMCwweDU0LDB4ZTAsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgwYmIyLDAsezB4N2YsMHg5NiwweGUwLDB4NDQsMHgwOCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHhiZiwweGYwLDB4OTB9IH0sCi17ICAxNiwweDBiYzIsMCx7MHg3ZiwweGUzLDB4NzQsMHg3YiwweGYwLDB4OTAsMHg3ZiwweGU0LDB4NzQsMHg0MCwweGYwLDB4OTAsMHg3OSwweDc4LDB4ZTAsMHg5MH0gfSwKLXsgIDE2LDB4MGJkMiwwLHsweDdiLDB4NDAsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4NDgsMHhmMCwweDkwLDB4N2YsMHhlNSwweGUwLDB4OTAsMHg3ZiwweGUyfSB9LAoteyAgMTYsMHgwYmUyLDAsezB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweGY3LDB4NDQsMHgwNCwweGYwLDB4OTAsMHg3ZiwweGUzLDB4NzR9IH0sCi17ICAxNiwweDBiZjIsMCx7MHg3YiwweGYwLDB4OTAsMHg3ZiwweGU0LDB4NzQsMHg0MCwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg5MCwweDdiLDB4NDAsMHhmMH0gfSwKLXsgIDE2LDB4MGMwMiwwLHsweDkwLDB4N2YsMHhlMiwweDc0LDB4NDgsMHhmMCwweDkwLDB4N2YsMHhlNSwweGUwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwfSB9LAoteyAgMTYsMHgwYzEyLDAsezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweGYzLDB4ZjAsMHg5MCwweDdmLDB4YWUsMHhlMCwweDQ0LDB4MWYsMHhmMCwweGQwLDB4ODN9IH0sCi17ICAgNywweDBjMjIsMCx7MHhkMCwweDgyLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MGMyOSwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg5MCwweDc5LDB4MmYsMHhlMCwweDY0LDB4ZmYsMHhjMywweDI0fSB9LAoteyAgMTEsMHgwYzM5LDAsezB4MDEsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MGM0NCwwLHsweGJiLDB4MDEsMHgwNiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTAsMHgyMiwweDUwLDB4MDIsMHhlNywweDIyLDB4YmIsMHhmZSwweDAyfSB9LAoteyAgIDksMHgwYzU0LDAsezB4ZTMsMHgyMiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTQsMHg5MywweDIyfSB9LAoteyAgMTYsMHgwYzVkLDAsezB4YmIsMHgwMSwweDBjLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlMCwweDIyLDB4NTB9IH0sCi17ICAxNiwweDBjNmQsMCx7MHgwNiwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTYsMHgyMiwweGJiLDB4ZmUsMHgwNiwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTIsMHgyMn0gfSwKLXsgIDEzLDB4MGM3ZCwwLHsweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTQsMHg5MywweDIyfSB9LAoteyAgMTYsMHgwYzhhLDAsezB4YmIsMHgwMSwweDA2LDB4ODksMHg4MiwweDhhLDB4ODMsMHhmMCwweDIyLDB4NTAsMHgwMiwweGY3LDB4MjIsMHhiYiwweGZlLDB4MDF9IH0sCi17ICAgMiwweDBjOWEsMCx7MHhmMywweDIyfSB9LAoteyAgMTYsMHgwYzljLDAsezB4ZjgsMHhiYiwweDAxLDB4MGQsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGU4LDB4ZjB9IH0sCi17ICAxNiwweDBjYWMsMCx7MHgyMiwweDUwLDB4MDYsMHhlOSwweDI1LDB4ODIsMHhjOCwweGY2LDB4MjIsMHhiYiwweGZlLDB4MDUsMHhlOSwweDI1LDB4ODIsMHhjOH0gfSwKLXsgICAyLDB4MGNiYywwLHsweGYyLDB4MjJ9IH0sCi17ICAxNiwweDBjYmUsMCx7MHhjMiwweGQ1LDB4ZWMsMHgzMCwweGU3LDB4MDksMHhiMiwweGQ1LDB4ZTQsMHhjMywweDlkLDB4ZmQsMHhlNCwweDljLDB4ZmMsMHhlZX0gfSwKLXsgIDE2LDB4MGNjZSwwLHsweDMwLDB4ZTcsMHgxNSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWYsMHhmZiwweGU0LDB4OWUsMHhmZSwweDEyLDB4MGUsMHg0MCwweGMzfSB9LAoteyAgMTYsMHgwY2RlLDAsezB4ZTQsMHg5ZCwweGZkLDB4ZTQsMHg5YywweGZjLDB4ODAsMHgwMywweDEyLDB4MGUsMHg0MCwweDMwLDB4ZDUsMHgwNywweGMzLDB4ZTR9IH0sCi17ICAgNiwweDBjZWUsMCx7MHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MjJ9IH0sCi17ICAxNiwweDBjZjQsMCx7MHhjNSwweGYwLDB4ZjgsMHhhMywweGUwLDB4MjgsMHhmMCwweGM1LDB4ZjAsMHhmOCwweGU1LDB4ODIsMHgxNSwweDgyLDB4NzAsMHgwMn0gfSwKLXsgICA2LDB4MGQwNCwwLHsweDE1LDB4ODMsMHhlMCwweDM4LDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MGQwYSwwLHsweGJiLDB4MDEsMHgxMCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHhmNSwweGYwfSB9LAoteyAgMTYsMHgwZDFhLDAsezB4YTMsMHhlMCwweDIyLDB4NTAsMHgwOSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ODYsMHhmMCwweDA4LDB4ZTYsMHgyMiwweGJiLDB4ZmV9IH0sCi17ICAxNiwweDBkMmEsMCx7MHgwYSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTIsMHhmNSwweGYwLDB4MDgsMHhlMiwweDIyLDB4ZTUsMHg4MywweDJhLDB4ZjUsMHg4M30gfSwKLXsgICA4LDB4MGQzYSwwLHsweGU5LDB4OTMsMHhmNSwweGYwLDB4YTMsMHhlOSwweDkzLDB4MjJ9IH0sCi17ICAxNiwweDBkNDIsMCx7MHhlOCwweDhmLDB4ZjAsMHhhNCwweGNjLDB4OGIsMHhmMCwweGE0LDB4MmMsMHhmYywweGU5LDB4OGUsMHhmMCwweGE0LDB4MmMsMHhmY30gfSwKLXsgIDE2LDB4MGQ1MiwwLHsweDhhLDB4ZjAsMHhlZCwweGE0LDB4MmMsMHhmYywweGVhLDB4OGUsMHhmMCwweGE0LDB4Y2QsMHhhOCwweGYwLDB4OGIsMHhmMCwweGE0fSB9LAoteyAgMTYsMHgwZDYyLDAsezB4MmQsMHhjYywweDM4LDB4MjUsMHhmMCwweGZkLDB4ZTksMHg4ZiwweGYwLDB4YTQsMHgyYywweGNkLDB4MzUsMHhmMCwweGZjLDB4ZWJ9IH0sCi17ICAxNiwweDBkNzIsMCx7MHg4ZSwweGYwLDB4YTQsMHhmZSwweGE5LDB4ZjAsMHhlYiwweDhmLDB4ZjAsMHhhNCwweGNmLDB4YzUsMHhmMCwweDJlLDB4Y2QsMHgzOX0gfSwKLXsgIDE1LDB4MGQ4MiwwLHsweGZlLDB4ZTQsMHgzYywweGZjLDB4ZWEsMHhhNCwweDJkLDB4Y2UsMHgzNSwweGYwLDB4ZmQsMHhlNCwweDNjLDB4ZmMsMHgyMn0gfSwKLXsgIDE2LDB4MGQ5MSwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfSB9LAoteyAgIDEsMHgwZGExLDAsezB4MjJ9IH0sCi17ICAxNiwweDBkYTIsMCx7MHhiYiwweDAxLDB4MGQsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweDAyLDB4MGUsMHhhMX0gfSwKLXsgIDE2LDB4MGRiMiwwLHsweDUwLDB4MDcsMHhlOSwweDI1LDB4ODIsMHhmOCwweDAyLDB4MGUsMHg5NSwweGJiLDB4ZmUsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4fSB9LAoteyAgMTYsMHgwZGMyLDAsezB4MDIsMHgwZSwweGFkLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHgwMiwweDBlLDB4Yjl9IH0sCi17ICAxNiwweDBkZDIsMCx7MHhiYiwweDAxLDB4MGQsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweDAyLDB4MGUsMHhkNX0gfSwKLXsgIDE2LDB4MGRlMiwwLHsweDUwLDB4MDcsMHhlOSwweDI1LDB4ODIsMHhmOCwweDAyLDB4MGUsMHhjOSwweGJiLDB4ZmUsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4fSB9LAoteyAgIDQsMHgwZGYyLDAsezB4MDIsMHgwZSwweGUxLDB4MjJ9IH0sCi17ICAxNiwweDBkZjYsMCx7MHhiYiwweDAxLDB4MGQsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweDAyLDB4MGYsMHgwNn0gfSwKLXsgIDE2LDB4MGUwNiwwLHsweDUwLDB4MDcsMHhlOSwweDI1LDB4ODIsMHhmOCwweDAyLDB4MGUsMHhlZCwweGJiLDB4ZmUsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4fSB9LAoteyAgIDQsMHgwZTE2LDAsezB4MDIsMHgwZiwweDM3LDB4MjJ9IH0sCi17ICAxNiwweDBlMWEsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGY4LDB4ZTQsMHg5MywweDcwLDB4MTIsMHg3NCwweDAxLDB4OTMsMHg3MCwweDBkLDB4YTMsMHhhM30gfSwKLXsgIDE2LDB4MGUyYSwwLHsweDkzLDB4ZjgsMHg3NCwweDAxLDB4OTMsMHhmNSwweDgyLDB4ODgsMHg4MywweGU0LDB4NzMsMHg3NCwweDAyLDB4OTMsMHg2OCwweDYwfSB9LAoteyAgIDYsMHgwZTNhLDAsezB4ZWYsMHhhMywweGEzLDB4YTMsMHg4MCwweGRmfSB9LAoteyAgMTYsMHgwZTQwLDAsezB4YmMsMHgwMCwweDBiLDB4YmUsMHgwMCwweDI5LDB4ZWYsMHg4ZCwweGYwLDB4ODQsMHhmZiwweGFkLDB4ZjAsMHgyMiwweGU0LDB4Y2N9IH0sCi17ICAxNiwweDBlNTAsMCx7MHhmOCwweDc1LDB4ZjAsMHgwOCwweGVmLDB4MmYsMHhmZiwweGVlLDB4MzMsMHhmZSwweGVjLDB4MzMsMHhmYywweGVlLDB4OWQsMHhlY30gfSwKLXsgIDE2LDB4MGU2MCwwLHsweDk4LDB4NDAsMHgwNSwweGZjLDB4ZWUsMHg5ZCwweGZlLDB4MGYsMHhkNSwweGYwLDB4ZTksMHhlNCwweGNlLDB4ZmQsMHgyMiwweGVkfSB9LAoteyAgMTYsMHgwZTcwLDAsezB4ZjgsMHhmNSwweGYwLDB4ZWUsMHg4NCwweDIwLDB4ZDIsMHgxYywweGZlLDB4YWQsMHhmMCwweDc1LDB4ZjAsMHgwOCwweGVmLDB4MmZ9IH0sCi17ICAxNiwweDBlODAsMCx7MHhmZiwweGVkLDB4MzMsMHhmZCwweDQwLDB4MDcsMHg5OCwweDUwLDB4MDYsMHhkNSwweGYwLDB4ZjIsMHgyMiwweGMzLDB4OTgsMHhmZH0gfSwKLXsgICA1LDB4MGU5MCwwLHsweDBmLDB4ZDUsMHhmMCwweGVhLDB4MjJ9IH0sCi17ICAxMiwweDBlOTUsMCx7MHhlNiwweGZjLDB4MDgsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZlLDB4MDgsMHhlNiwweGZmLDB4MjJ9IH0sCi17ICAxMiwweDBlYTEsMCx7MHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4MjJ9IH0sCi17ICAxMiwweDBlYWQsMCx7MHhlMiwweGZjLDB4MDgsMHhlMiwweGZkLDB4MDgsMHhlMiwweGZlLDB4MDgsMHhlMiwweGZmLDB4MjJ9IH0sCi17ICAxNiwweDBlYjksMCx7MHhlNCwweDkzLDB4ZmMsMHhhMywweGU0LDB4OTMsMHhmZCwweGEzLDB4ZTQsMHg5MywweGZlLDB4YTMsMHhlNCwweDkzLDB4ZmYsMHgyMn0gfSwKLXsgIDEyLDB4MGVjOSwwLHsweGVjLDB4ZjYsMHgwOCwweGVkLDB4ZjYsMHgwOCwweGVlLDB4ZjYsMHgwOCwweGVmLDB4ZjYsMHgyMn0gfSwKLXsgIDEyLDB4MGVkNSwwLHsweGVjLDB4ZjAsMHhhMywweGVkLDB4ZjAsMHhhMywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHgyMn0gfSwKLXsgIDEyLDB4MGVlMSwwLHsweGVjLDB4ZjIsMHgwOCwweGVkLDB4ZjIsMHgwOCwweGVlLDB4ZjIsMHgwOCwweGVmLDB4ZjIsMHgyMn0gfSwKLXsgIDE2LDB4MGVlZCwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZTQsMHg5MywweGY2LDB4MDgsMHg3NCwweDAxLDB4OTMsMHhmNiwweDA4LDB4NzQsMHgwMiwweDkzfSB9LAoteyAgIDksMHgwZWZkLDAsezB4ZjYsMHgwOCwweDc0LDB4MDMsMHg5MywweGY2LDB4NzQsMHgwNCwweDczfSB9LAoteyAgMTYsMHgwZjA2LDAsezB4YTgsMHg4MiwweDg1LDB4ODMsMHhmMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MTIsMHgwZiwweDFkLDB4MTIsMHgwZiwweDFkLDB4MTJ9IH0sCi17ICAxNiwweDBmMTYsMCx7MHgwZiwweDFkLDB4MTIsMHgwZiwweDFkLDB4ZTQsMHg3MywweGU0LDB4OTMsMHhhMywweGM1LDB4ODMsMHhjNSwweGYwLDB4YzUsMHg4M30gfSwKLXsgIDE2LDB4MGYyNiwwLHsweGM4LDB4YzUsMHg4MiwweGM4LDB4ZjAsMHhhMywweGM1LDB4ODMsMHhjNSwweGYwLDB4YzUsMHg4MywweGM4LDB4YzUsMHg4MiwweGM4fSB9LAoteyAgIDEsMHgwZjM2LDAsezB4MjJ9IH0sCi17ICAxNiwweDBmMzcsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGU0LDB4OTMsMHhmMiwweDA4LDB4NzQsMHgwMSwweDkzLDB4ZjIsMHgwOCwweDc0LDB4MDIsMHg5M30gfSwKLXsgICA5LDB4MGY0NywwLHsweGYyLDB4MDgsMHg3NCwweDAzLDB4OTMsMHhmMiwweDc0LDB4MDQsMHg3M30gfSwKLXsgIDE2LDB4MGY1MCwwLHsweGMyLDB4YWYsMHhkMiwweDJjLDB4OTAsMHg3ZiwweDkzLDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHhiZiwweGYwfSB9LAoteyAgMTYsMHgwZjYwLDAsezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OTQsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OWR9IH0sCi17ICAxNiwweDBmNzAsMCx7MHg3NCwweGNmLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4OTUsMHg3NCwweGNjLDB4ZjAsMHhlNH0gfSwKLXsgIDE2LDB4MGY4MCwwLHsweDkwLDB4N2YsMHg5ZSwweGYwLDB4YzIsMHgyZCwweGMyLDB4MmEsMHhjMiwweDJiLDB4YzIsMHgyZSwweDkwLDB4NzksMHg3NCwweDA0fSB9LAoteyAgMTYsMHgwZjkwLDAsezB4ZjAsMHgxMiwweDJlLDB4OTQsMHgxMiwweDQ5LDB4ZTIsMHgxMiwweDRiLDB4ZTYsMHgxMiwweDMyLDB4MGQsMHgxMiwweDNiLDB4MGR9IH0sCi17ICAxNiwweDBmYTAsMCx7MHgxMiwweDQxLDB4ZmQsMHgxMiwweDNlLDB4OTksMHhlNSwweDFmLDB4NzAsMHgxOCwweDc1LDB4MWYsMHgwMSwweDEyLDB4MTcsMHhmZn0gfSwKLXsgIDE2LDB4MGZiMCwwLHsweDEyLDB4MmYsMHhmZiwweDEyLDB4NDksMHhjOCwweDEyLDB4NGIsMHhkOCwweDEyLDB4NGIsMHhkYSwweDEyLDB4NDksMHg2ZiwweDEyfSB9LAoteyAgMTYsMHgwZmMwLDAsezB4MWIsMHg0MCwweDEyLDB4MzksMHg4ZCwweDkwLDB4N2YsMHhhZiwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTB9IH0sCi17ICAxNiwweDBmZDAsMCx7MHg0NCwweDFmLDB4ZjAsMHg5MCwweDdmLDB4YWMsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmLDB4YWQsMHhmMCwweDkwLDB4N2YsMHhkZX0gfSwKLXsgIDE2LDB4MGZlMCwwLHsweGYwLDB4OTAsMHg3ZiwweGRmLDB4ZjAsMHg5MCwweDdmLDB4YWIsMHhmMCwweDkwLDB4N2YsMHhhOSwweGYwLDB4OTAsMHg3ZiwweGFhfSB9LAoteyAgMTYsMHgwZmYwLDAsezB4ZjAsMHg1MywweDkxLDB4ZWYsMHg0MywweGQ4LDB4MjAsMHhkMiwweGU4LDB4NDMsMHhkOCwweDIwLDB4NDMsMHhhOCwweDgwLDB4MjJ9IH0sCi17ICAxNiwweDEwMDAsMCx7MHg5MCwweDc5LDB4NjMsMHhlMCwweDE0LDB4NjAsMHg0NCwweDE0LDB4NzAsMHgwMiwweDIxLDB4ZDAsMHgxNCwweDcwLDB4MDIsMHg0MX0gfSwKLXsgIDE2LDB4MTAxMCwwLHsweGQ5LDB4MTQsMHg3MCwweDAyLDB4NjEsMHhkNywweDI0LDB4MDQsMHg2MCwweDAyLDB4ODEsMHg1NiwweGU0LDB4OTAsMHg3OSwweDc4fSB9LAoteyAgMTYsMHgxMDIwLDAsezB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NDQsMHgwMSwweGYwLDB4NTQsMHhmZCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDEwMzAsMCx7MHg3OSwweDdiLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg4OCwweGYwLDB4YTIsMHhhZiwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMn0gfSwKLXsgIDE2LDB4MTA0MCwwLHsweDBiLDB4YTIsMHhlNSwweDEyLDB4NzAsMHgwMiwweDgxLDB4NTYsMHhkMiwweGFmLDB4MjIsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0fSB9LAoteyAgMTYsMHgxMDUwLDAsezB4MDEsMHg3MCwweDc5LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4ZmZ9IH0sCi17ICAxNiwweDEwNjAsMCx7MHg3NCwweGZjLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMH0gfSwKLXsgIDE2LDB4MTA3MCwwLHsweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyfSB9LAoteyAgMTYsMHgxMDgwLDAsezB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTB9IH0sCi17ICAxNiwweDEwOTAsMCx7MHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZX0gfSwKLXsgIDE2LDB4MTBhMCwwLHsweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZkfSB9LAoteyAgMTYsMHgxMGIwLDAsezB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0LDB4MDR9IH0sCi17ICAxNiwweDEwYzAsMCx7MHhmMCwweDkwLDB4NzksMHg4OCwweDE0LDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHg5MCwweDc5LDB4MmQsMHhlMH0gfSwKLXsgIDE2LDB4MTBkMCwwLHsweDY0LDB4MDIsMHg3MCwweDc5LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDM0LDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgxMGUwLDAsezB4ZmYsMHg3NCwweGZjLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDEwZjAsMCx7MHhmMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNX0gfSwKLXsgIDE2LDB4MTEwMCwwLHsweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwfSB9LAoteyAgMTYsMHgxMTEwLDAsezB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTR9IH0sCi17ICAxNiwweDExMjAsMCx7MHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NH0gfSwKLXsgIDE2LDB4MTEzMCwwLHsweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0fSB9LAoteyAgMTYsMHgxMTQwLDAsezB4MDQsMHhmMCwweDkwLDB4NzksMHg4OCwweDE0LDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHg5MCwweDc5LDB4MmR9IH0sCi17ICAxNiwweDExNTAsMCx7MHhlMCwweDY0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHg1NiwweDkwLDB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg2NH0gfSwKLXsgIDE2LDB4MTE2MCwwLHsweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3YiwweGUwfSB9LAoteyAgMTYsMHgxMTcwLDAsezB4OTAsMHg3OSwweDc5LDB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEyLDB4YWZ9IH0sCi17ICAxNiwweDExODAsMCx7MHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTE5MCwwLHsweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5fSB9LAoteyAgMTYsMHgxMWEwLDAsezB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDExYjAsMCx7MHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NH0gfSwKLXsgIDE2LDB4MTFjMCwwLHsweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODgsMHgxNCwweGYwLDB4ZTUsMHgxMiwweDcwLDB4MDIsMHg4MSwweDU2LDB4ZDIsMHhhZiwweDIyfSB9LAoteyAgMTYsMHgxMWQwLDAsezB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAxLDB4NzAsMHg3YSwweDkwLDB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzR9IH0sCi17ICAxNiwweDExZTAsMCx7MHg4OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3Yn0gfSwKLXsgIDE2LDB4MTFmMCwwLHsweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg1NCwweGZkLDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEyfSB9LAoteyAgMTYsMHgxMjAwLDAsezB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjB9IH0sCi17ICAxNiwweDEyMTAsMCx7MHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MH0gfSwKLXsgIDE2LDB4MTIyMCwwLHsweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgxMjMwLDAsezB4NzksMHg3OSwweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTJ9IH0sCi17ICAxNiwweDEyNDAsMCx7MHg5MCwweDc5LDB4ODIsMHg3NCwweDBjLDB4ZjAsMHg5MCwweDc5LDB4ODgsMHg3NCwweDAxLDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMn0gfSwKLXsgIDE2LDB4MTI1MCwwLHsweGQyLDB4YWYsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDIsMHg2MCwweDAyLDB4ODEsMHg1NiwweDkwLDB4N2YsMHhmMiwweGYwfSB9LAoteyAgMTYsMHgxMjYwLDAsezB4OTAsMHg3ZiwweGYzLDB4NzQsMHg5NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4ZTQsMHg5MCwweDc5LDB4Nzh9IH0sCi17ICAxNiwweDEyNzAsMCx7MHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg1NCwweGZkLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTI4MCwwLHsweDc5LDB4N2IsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgxMjkwLDAsezB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTB9IH0sCi17ICAxNiwweDEyYTAsMCx7MHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMH0gfSwKLXsgIDE2LDB4MTJiMCwwLHsweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDg0fSB9LAoteyAgMTYsMHgxMmMwLDAsezB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NCwweDBjLDB4ZjAsMHg5MCwweDc5LDB4ODgsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDEyZDAsMCx7MHhlNSwweDEyLDB4NzAsMHgwMiwweDgxLDB4NTYsMHhkMiwweGFmLDB4MjIsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDEsMHg3MH0gfSwKLXsgIDE2LDB4MTJlMCwwLHsweDc3LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweGNjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjfSB9LAoteyAgMTYsMHgxMmYwLDAsezB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDU0LDB4ZmN9IH0sCi17ICAxNiwweDEzMDAsMCx7MHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMn0gfSwKLXsgIDE2LDB4MTMxMCwwLHsweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgxMzIwLDAsezB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4Nzl9IH0sCi17ICAxNiwweDEzMzAsMCx7MHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTM0MCwwLHsweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0LDB4MTIsMHhmMCwweDkwLDB4NzksMHg4OCwweDc0fSB9LAoteyAgMTYsMHgxMzUwLDAsezB4MDIsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMiwweDcwLDB4Nzd9IH0sCi17ICAxNiwweDEzNjAsMCx7MHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4ZTAsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMH0gfSwKLXsgIDE2LDB4MTM3MCwwLHsweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NTQsMHhmYywweGYwfSB9LAoteyAgMTYsMHgxMzgwLDAsezB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTB9IH0sCi17ICAxNiwweDEzOTAsMCx7MHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3Zn0gfSwKLXsgIDE2LDB4MTNhMCwwLHsweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgxM2IwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDEzYzAsMCx7MHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzQsMHgxMiwweGYwLDB4OTAsMHg3OSwweDg4LDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4MTNkMCwwLHsweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAzLDB4NzAsMHg3NywweDkwfSB9LAoteyAgMTYsMHgxM2UwLDAsezB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg5NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4ZTR9IH0sCi17ICAxNiwweDEzZjAsMCx7MHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg1NCwweGZlLDB4ZjAsMHg0NH0gfSwKLXsgIDE2LDB4MTQwMCwwLHsweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBifSB9LAoteyAgMTYsMHgxNDEwLDAsezB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTB9IH0sCi17ICAxNiwweDE0MjAsMCx7MHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MH0gfSwKLXsgIDE2LDB4MTQzMCwwLHsweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4OTAsMHg3OSwweDg0fSB9LAoteyAgMTYsMHgxNDQwLDAsezB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc5LDB4ODgsMHg3NCwweDA0LDB4ZjB9IH0sCi17ICAgNywweDE0NTAsMCx7MHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHgyMn0gfSwKLXsgIDE2LDB4MTQ1NywwLHsweGMyLDB4MjgsMHhjMiwweDI5LDB4OTAsMHg3ZiwweGU4LDB4ZTAsMHgxMiwweDBlLDB4MWEsMHgxNCwweDg0LDB4MDAsMHgxNCwweGUwfSB9LAoteyAgMTYsMHgxNDY3LDAsezB4MDEsMHgxNCwweGY2LDB4MDIsMHgxNiwweDdjLDB4MjEsMHgxNiwweGJlLDB4MjIsMHgxNSwweDkxLDB4ODAsMHgxNSwweGQxLDB4ODF9IH0sCi17ICAxNiwweDE0NzcsMCx7MHgxNiwweDJlLDB4ODIsMHgxNiwweGNmLDB4YTEsMHgxNywweDA1LDB4YTIsMHgwMCwweDAwLDB4MTcsMHgwYSwweDkwLDB4N2YsMHhlOX0gfSwKLXsgIDE2LDB4MTQ4NywwLHsweGUwLDB4MTQsMHg2MCwweDExLDB4MjQsMHhmZSwweDYwLDB4MjgsMHgyNCwweGZlLDB4NjAsMHgzYiwweDI0LDB4ZmMsMHg3MCwweDQwfSB9LAoteyAgMTYsMHgxNDk3LDAsezB4MTIsMHg0YSwweDJhLDB4ZTEsMHgxNiwweDEyLDB4NGIsMHhlMCwweDQwLDB4MDIsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGVhLDB4ZTB9IH0sCi17ICAxNiwweDE0YTcsMCx7MHhiNCwweDAxLDB4MDQsMHhjMiwweDJhLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNn0gfSwKLXsgIDE2LDB4MTRiNywwLHsweDEyLDB4NGIsMHhlMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4YjQsMHgwMSwweDA0LDB4ZDIsMHgyYSwweGUxLDB4MTYsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgxNGM3LDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTZ9IH0sCi17ICAxNiwweDE0ZDcsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZjUsMHg3MH0gfSwKLXsgIDE2LDB4MTRlNywwLHsweDA1LDB4MTIsMHg0NywweDljLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwfSB9LAoteyAgMTYsMHgxNGY3LDAsezB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZCwweDYwLDB4NTQsMHgyNCwweDAyLDB4NjAsMHgwMiwweGExLDB4ODgsMHgxMiwweDRiLDB4ZTB9IH0sCi17ICAxNiwweDE1MDcsMCx7MHg0MCwweDAyLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgzOCwweDkwLDB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NH0gfSwKLXsgIDE2LDB4MTUxNywwLHsweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjQsMHhmNSwweDgyfSB9LAoteyAgMTYsMHgxNTI3LDAsezB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDU0LDB4ODAsMHhmZiwweDEzLDB4MTN9IH0sCi17ICAxNiwweDE1MzcsMCx7MHgxMywweDU0LDB4MWYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4OTAsMHg3ZiwweGQ3LDB4ZjAsMHhlMCwweDQ0LDB4MjAsMHhmMH0gfSwKLXsgIDE2LDB4MTU0NywwLHsweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHgxMiwweDRiLDB4ZTIsMHg0MCwweDAyfSB9LAoteyAgMTYsMHgxNTU3LDAsezB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgyMCwweDkwLDB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NCwweDgwLDB4ZmZ9IH0sCi17ICAxNiwweDE1NjcsMCx7MHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjQsMHhmNSwweDgyLDB4ZTQsMHgzNH0gfSwKLXsgIDE2LDB4MTU3NywwLHsweDdmLDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxfSB9LAoteyAgMTYsMHgxNTg3LDAsezB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4ZTksMHhlMCwweDYwLDB4MTJ9IH0sCi17ICAxNiwweDE1OTcsMCx7MHgyNCwweGY4LDB4NjAsMHgwOSwweDI0LDB4MDIsMHg3MCwweDI5LDB4MTIsMHgxNywweDFlLDB4ZTEsMHgxNiwweDEyLDB4NGIsMHhhMH0gfSwKLXsgIDE2LDB4MTVhNywwLHsweGUxLDB4MTYsMHgxMiwweDRiLDB4ZGUsMHhhMiwweDJhLDB4ZTQsMHgzMywweGZmLDB4MjUsMHhlMCwweGZmLDB4YTIsMHgyYiwweGU0fSB9LAoteyAgMTYsMHgxNWI3LDAsezB4MzMsMHg0ZiwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4ZTF9IH0sCi17ICAxNiwweDE1YzcsMCx7MHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlOSwweGUwLDB4NjAsMHgzN30gfSwKLXsgIDE2LDB4MTVkNywwLHsweDI0LDB4ZjYsMHg2MCwweDJlLDB4MjQsMHgwNCwweDcwLDB4NDEsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZGUsMHg2MCwweDBlfSB9LAoteyAgMTYsMHgxNWU3LDAsezB4MDQsMHg3MCwweDE2LDB4ZDIsMHgyOSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweGQyLDB4Mjl9IH0sCi17ICAxNiwweDE1ZjcsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MTYwNywwLHsweGUxLDB4MTYsMHgxMiwweDQ0LDB4NjMsMHhlMSwweDE2LDB4MTIsMHg0YiwweGRlLDB4ZTQsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzfSB9LAoteyAgMTYsMHgxNjE3LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHhlMSwweDE2LDB4MjAsMHgyOSwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTB9IH0sCi17ICAxNiwweDE2MjcsMCx7MHg0NCwweDAxLDB4ZjAsMHhjMiwweDI5LDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmNCwweDYwLDB4MzQsMHgyNH0gfSwKLXsgIDE2LDB4MTYzNywwLHsweDBjLDB4NzAsMHgzOSwweDEyLDB4NGIsMHhkZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NCwweDgwLDB4ZmYsMHhjNCwweDU0fSB9LAoteyAgMTYsMHgxNjQ3LDAsezB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjV9IH0sCi17ICAxNiwweDE2NTcsMCx7MHg4MywweGUwLDB4NTQsMHhmZCwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4MTY2NywwLHsweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwfSB9LAoteyAgMTYsMHgxNjc3LDAsezB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmNiwweDYwLDB4MTIsMHgxNCwweDYwLDB4MWF9IH0sCi17ICAxNiwweDE2ODcsMCx7MHgyNCwweDAyLDB4NzAsMHgxZCwweGQyLDB4MjgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTIsMHhkMn0gfSwKLXsgIDE2LDB4MTY5NywwLHsweDI4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSB9LAoteyAgMTYsMHgxNmE3LDAsezB4ZjAsMHgyMCwweDI4LDB4MGYsMHg5MCwweDc5LDB4ODUsMHg3NCwweDAxLDB4ZjAsMHgxMiwweDQ5LDB4NmYsMHg5MCwweDdmLDB4YzV9IH0sCi17ICAxNiwweDE2YjcsMCx7MHg3NCwweDAyLDB4ZjAsMHhjMiwweDI4LDB4ODAsMHg1OCwweDkwLDB4NzksMHg4NiwweDc0LDB4MDEsMHhmMCwweDEyLDB4NDksMHg2Zn0gfSwKLXsgIDE2LDB4MTZjNywwLHsweDkwLDB4N2YsMHhjNSwweDc0LDB4MDIsMHhmMCwweDgwLDB4NDcsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg2MCwweDEyfSB9LAoteyAgMTYsMHgxNmQ3LDAsezB4MTQsMHg2MCwweDFhLDB4MjQsMHgwMiwweDcwLDB4MWQsMHhkMiwweDI4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDE2ZTcsMCx7MHg4MCwweDEyLDB4ZDIsMHgyOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDE2LDB4MTZmNywwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjAsMHgyOCwweDAzLDB4MTIsMHgxYSwweDdiLDB4YzIsMHgyOCwweDgwLDB4MTEsMHgxMiwweDJjfSB9LAoteyAgMTYsMHgxNzA3LDAsezB4MmIsMHg4MCwweDBjLDB4MTIsMHg0YiwweGU0LDB4NTAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTB9IH0sCi17ICAgNywweDE3MTcsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MTcxZSwwLHsweDEyLDB4NGIsMHhkYywweDQwLDB4MDIsMHhlMSwweGUzLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgyNCwweGZlLDB4NjAsMHgxZSwweDE0fSB9LAoteyAgMTYsMHgxNzJlLDAsezB4NjAsMHg0NiwweDE0LDB4NjAsMHg2ZSwweDE0LDB4NzAsMHgwMiwweGUxLDB4ZDQsMHgyNCwweDA0LDB4NjAsMHgwMiwweGUxLDB4ZGN9IH0sCi17ICAxNiwweDE3M2UsMCx7MHg3NCwweDA1LDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHg3NCwweDAwLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYX0gfSwKLXsgIDE2LDB4MTc0ZSwwLHsweGUwLDB4ZmYsMHgxMiwweDNmLDB4YTIsMHg4YiwweDMzLDB4OGEsMHgzNCwweDg5LDB4MzUsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlfSB9LAoteyAgMTYsMHgxNzVlLDAsezB4ZWEsMHhjZSwweGVlLDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDE3NmUsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZiwweDEyLDB4NDgsMHgwMH0gfSwKLXsgIDE2LDB4MTc3ZSwwLHsweDhiLDB4MzMsMHg4YSwweDM0LDB4ODksMHgzNSwweGVhLDB4NDksMHg2MCwweDExLDB4Y2UsMHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgxNzhlLDAsezB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9IH0sCi17ICAxNiwweDE3OWUsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYn0gfSwKLXsgIDE2LDB4MTdhZSwwLHsweDEyLDB4NDQsMHhkMiwweDhiLDB4MzMsMHg4YSwweDM0LDB4ODksMHgzNSwweGVhLDB4NDksMHg2MCwweDExLDB4Y2UsMHhlYSwweGNlfSB9LAoteyAgMTYsMHgxN2JlLDAsezB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDE3Y2UsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn0gfSwKLXsgICA1LDB4MTdkZSwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDE3ZTMsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MTdlNCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDkwLDB4N2YsMHhjNCwweGU0LDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmfSB9LAoteyAgMTEsMHgxN2Y0LDAsezB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgICAxLDB4MTdmZiwwLHsweDIyfSB9LAoteyAgMTYsMHgxODAwLDAsezB4ZTQsMHg5MCwweDc4LDB4MTUsMHhmMCwweDdiLDB4MDEsMHg5MCwweDc4LDB4MTIsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjB9IH0sCi17ICAxNiwweDE4MTAsMCx7MHhhMywweDc0LDB4NTgsMHhmMCwweDkwLDB4NzgsMHgxMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MH0gfSwKLXsgIDE2LDB4MTgyMCwwLHsweDAwLDB4MDEsMHgxMiwweDBjLDB4NWQsMHhmZiwweDkwLDB4NzksMHg5YSwweGUwLDB4NmYsMHg2MCwweDE4LDB4OTAsMHg3OCwweDE1fSB9LAoteyAgMTYsMHgxODMwLDAsezB4ZTAsMHhjMywweDk0LDB4MDYsMHg1MCwweDBmLDB4ZTAsMHgwNCwweGYwLDB4OTAsMHg3OCwweDEzLDB4ZTQsMHg3NSwweGYwLDB4MGZ9IH0sCi17ICAxNiwweDE4NDAsMCx7MHgxMiwweDBjLDB4ZjQsMHg4MCwweGNmLDB4OTAsMHg3OCwweDE1LDB4ZTAsMHhiNCwweDA2LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMH0gfSwKLXsgIDE2LDB4MTg1MCwwLHsweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OCwweDEyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDEyfSB9LAoteyAgMTYsMHgxODYwLDAsezB4MGMsMHg0NCwweGZmLDB4MjQsMHhiZiwweDcwLDB4MDIsMHg0MSwweDdhLDB4MjQsMHhlMCwweDcwLDB4MDIsMHg0MSwweDRjLDB4MjR9IH0sCi17ICAxNiwweDE4NzAsMCx7MHgyMSwweDYwLDB4MDIsMHg0MSwweDczLDB4OTAsMHg3OSwweDk3LDB4ZTAsMHgyNCwweGZlLDB4NzAsMHgwMiwweDIxLDB4OWEsMHgxNH0gfSwKLXsgIDE2LDB4MTg4MCwwLHsweDcwLDB4MDIsMHgyMSwweGVmLDB4MjQsMHgwMiwweDYwLDB4MDIsMHg0MSwweDQ0LDB4OTAsMHg3OSwweDJkLDB4ZTAsMHhhMywweGYwfSB9LAoteyAgMTYsMHgxODkwLDAsezB4OTAsMHg3OSwweDIzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmIsMHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MGR9IH0sCi17ICAxNiwweDE4YTAsMCx7MHg0MiwweGM4LDB4ZWMsMHhjOCwweGM5LDB4ZWQsMHhjOSwweGNhLDB4ZWUsMHhjYSwweGNiLDB4ZWYsMHhjYiwweDkwLDB4NzksMHgyMn0gfSwKLXsgIDE2LDB4MThiMCwwLHsweGUwLDB4ZmUsMHhlNCwweGZjLDB4ZmQsMHgyYiwweGZiLDB4ZWEsMHgzZSwweGZhLDB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4fSB9LAoteyAgMTYsMHgxOGMwLDAsezB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmYsMHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmR9IH0sCi17ICAxNiwweDE4ZDAsMCx7MHhlYywweDM4LDB4ZmMsMHg5MCwweDc4LDB4MTIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4MThlMCwwLHsweDAyLDB4MTIsMHgwZCwweGQyLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGEyLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OSwweDAwfSB9LAoteyAgMTYsMHgxOGYwLDAsezB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgwNSwweDkwLDB4NzksMHgyZCwweDA0LDB4ZjAsMHg5MCwweDc4LDB4MTJ9IH0sCi17ICAxNiwweDE5MDAsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGEyLDB4N2IsMHg4MH0gfSwKLXsgIDE2LDB4MTkxMCwwLHsweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgwNiwweDkwLDB4NzksMHgyZCwweDc0fSB9LAoteyAgMTYsMHgxOTIwLDAsezB4MDIsMHhmMCwweDkwLDB4NzgsMHgxMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDE5MzAsMCx7MHgxMiwweDBkLDB4YTIsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MH0gfSwKLXsgIDE2LDB4MTk0MCwwLHsweDA2LDB4OTAsMHg3OSwweDJkLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwOSwweDc1fSB9LAoteyAgMTYsMHgxOTUwLDAsezB4MGMsMHg2NywweDc1LDB4MGQsMHgwNiwweDc1LDB4MGUsMHgwYiwweGVmLDB4YjQsMHgwMiwweDA4LDB4ZTQsMHhmNSwweDBjLDB4ZjV9IH0sCi17ICAxNiwweDE5NjAsMCx7MHgwZCwweDc1LDB4MGUsMHgwYywweGVmLDB4YjQsMHgwMywweDA4LDB4ZTQsMHhmNSwweDBjLDB4ZjUsMHgwZCwweDc1LDB4MGUsMHgxOH0gfSwKLXsgIDE2LDB4MTk3MCwwLHsweGVmLDB4YjQsMHgwMywweDBkLDB4OTAsMHg3OSwweDJlLDB4ZTAsMHg2NCwweDAzLDB4NjAsMHgwNSwweGQyLDB4MmYsMHgxMiwweDNkfSB9LAoteyAgMTYsMHgxOTgwLDAsezB4NzksMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDMsMHg2MCwweDBhLDB4YTMsMHhlMCwweGI0LDB4MDMsMHgwNSwweGMyLDB4MmZ9IH0sCi17ICAxNiwweDE5OTAsMCx7MHgxMiwweDNkLDB4NzksMHgxMiwweDEwLDB4MDAsMHgxMiwweDI4LDB4MDEsMHgyMiwweDkwLDB4NzksMHgyMywweGUwLDB4ZmYsMHhlNH0gfSwKLXsgIDE2LDB4MTlhMCwwLHsweGZjLDB4ZmQsMHhmZSwweGZiLDB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDBkLDB4NDIsMHhjOCwweGVjLDB4YzgsMHhjOSwweGVkfSB9LAoteyAgMTYsMHgxOWIwLDAsezB4YzksMHhjYSwweGVlLDB4Y2EsMHhjYiwweGVmLDB4Y2IsMHg5MCwweDc5LDB4MjIsMHhlMCwweGZlLDB4ZTQsMHhmYywweGZkLDB4MmJ9IH0sCi17ICAxNiwweDE5YzAsMCx7MHhmYiwweGVhLDB4M2UsMHhmYSwweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwLDB4NzksMHgyMSwweGUwLDB4ZmYsMHhlNH0gfSwKLXsgIDE2LDB4MTlkMCwwLHsweGZlLDB4ZWIsMHgyZiwweGZmLDB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkLDB4ZWMsMHgzOCwweGZjLDB4OTAsMHg3OCwweDEyfSB9LAoteyAgMTYsMHgxOWUwLDAsezB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGQsMHhkMiwweDIyLDB4OTB9IH0sCi17ICAxNiwweDE5ZjAsMCx7MHg3OSwweDIzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmIsMHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MGQsMHg0Mn0gfSwKLXsgIDE2LDB4MWEwMCwwLHsweGM4LDB4ZWMsMHhjOCwweGM5LDB4ZWQsMHhjOSwweGNhLDB4ZWUsMHhjYSwweGNiLDB4ZWYsMHhjYiwweDkwLDB4NzksMHgyMiwweGUwfSB9LAoteyAgMTYsMHgxYTEwLDAsezB4ZmUsMHhlNCwweGZjLDB4ZmQsMHgyYiwweGZiLDB4ZWEsMHgzZSwweGZhLDB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4LDB4OTB9IH0sCi17ICAxNiwweDFhMjAsMCx7MHg3OSwweDIxLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmYsMHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmQsMHhlY30gfSwKLXsgIDE2LDB4MWEzMCwwLHsweDM4LDB4ZmMsMHg5MCwweDc4LDB4MTIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDBhfSB9LAoteyAgMTYsMHgxYTQwLDAsezB4MTIsMHgwZCwweGQyLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OSwweDk3LDB4ZTB9IH0sCi17ICAxNiwweDFhNTAsMCx7MHgxNCwweDcwLDB4MTgsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZmLDB4OTAsMHg3OCwweDEyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MWE2MCwwLHsweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwZSwweGVmLDB4MTIsMHgwYywweDljLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSB9LAoteyAgMTAsMHgxYTcwLDAsezB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDFhN2EsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MWE3YiwwLHsweGU0LDB4ZmYsMHhmZSwweDdiLDB4MDEsMHg5MCwweDc4LDB4MGYsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0fSB9LAoteyAgMTYsMHgxYThiLDAsezB4MmIsMHhmMCwweDkwLDB4NzgsMHgwZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDFhOWIsMCx7MHgxMiwweDBjLDB4NWQsMHhmZCwweDkwLDB4N2YsMHhlYywweGUwLDB4NmQsMHg2MCwweDEzLDB4ZWYsMHhjMywweDk0LDB4MDUsMHg1MH0gfSwKLXsgIDE2LDB4MWFhYiwwLHsweDBkLDB4MGYsMHg5MCwweDc4LDB4MTAsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDgwLDB4ZDQsMHg4ZCwweDMzfSB9LAoteyAgMTYsMHgxYWJiLDAsezB4OTAsMHg3OCwweDBmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDEyLDB4MGN9IH0sCi17ICAxNiwweDFhY2IsMCx7MHg1ZCwweGZkLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHg2ZCwweDYwLDB4MTMsMHhlZSwweGMzLDB4OTQsMHgwYiwweDUwLDB4MGQsMHgwZX0gfSwKLXsgIDE2LDB4MWFkYiwwLHsweDkwLDB4NzgsMHgxMCwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4ODAsMHhkNCwweDkwLDB4N2YsMHhlZCwweGUwfSB9LAoteyAgMTYsMHgxYWViLDAsezB4ZjUsMHgzNCwweGVmLDB4NjQsMHgwNSwweDYwLDB4MDMsMHhiZSwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9IH0sCi17ICAxNiwweDFhZmIsMCx7MHhmMCwweDIyLDB4OTAsMHg3OCwweDBmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NH0gfSwKLXsgIDE2LDB4MWIwYiwwLHsweGZmLDB4MjQsMHhmMCwweDYwLDB4MDgsMHgyNCwweDBmLDB4NzAsMHgwZSwweDEyLDB4NDksMHgyYSwweDIyLDB4MTIsMHg0YiwweDgzfSB9LAoteyAgMTQsMHgxYjFiLDAsezB4OTAsMHg3OSwweDIwLDB4ZTUsMHgzNCwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MWIyOSwwLHsweDIyfSB9LAoteyAgMTUsMHgxYjJhLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhiNCwweGZmLDB4MDQsMHgxMiwweDM0LDB4MTYsMHgyMiwweDEyLDB4MzgsMHgwMCwweDIyfSB9LAoteyAgIDcsMHgxYjM5LDAsezB4NTMsMHg5OCwweGZlLDB4NTMsMHg5OCwweGZkLDB4MzJ9IH0sCi17ICAxNiwweDFiNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWI1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWI4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWJiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWJlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWMxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWM0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWM3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWNhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxY2IwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWNkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxY2UwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQ2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQ5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZGEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWRjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZGQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWRmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWUyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWU1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWU4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE0LDB4MWViMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlYmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWVjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZWRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWVmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmMWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWYyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgIDIsMHgxZjNlLDAsezB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWY0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWY3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWZhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWZkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjAwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjAzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjA2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjA5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMGEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjBjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMGQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjBmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjEyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjE1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjE4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjFiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMWMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjFlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMWYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjIxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjI0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjI3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjJhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjJkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjMwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjMzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjM2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTQsMHgyMzcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjM3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzOWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjNhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyM2JlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzY2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjNkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyM2VlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQ2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQ5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNGFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjRjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNGRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjRmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjUyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjU1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjU4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNWNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNWZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjY0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjY3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjZhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNmJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjZkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTQsMHgyNmVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjZmYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzBjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3MWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjcyYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzNjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3NGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4Mjc1YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3N2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4Mjc4YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzljLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3YWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjdiYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyN2NjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3ZGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjdlYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgIDUsMHgyN2ZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMn0gfSwKLXsgIDE2LDB4MjgwMSwwLHsweDkwLDB4NzksMHg2NCwweGUwLDB4MTQsMHg2MCwweDQ2LDB4MTQsMHg3MCwweDAyLDB4NDEsMHgzYywweDI0LDB4MDIsMHg2MCwweDAyfSB9LAoteyAgMTYsMHgyODExLDAsezB4ODEsMHgyYSwweDkwLDB4N2YsMHhmYywweDc0LDB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDI4MjEsMCx7MHg3OCwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg1NCwweGZkLDB4ZjAsMHg0NH0gfSwKLXsgIDE2LDB4MjgzMSwwLHsweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBifSB9LAoteyAgMTYsMHgyODQxLDAsezB4YTIsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHhlNCwweDkwLDB4NzksMHg3YSwweGYwLDB4MjIsMHg5MCwweDc5LDB4MmR9IH0sCi17ICAxNiwweDI4NTEsMCx7MHhlMCwweDY0LDB4MDEsMHg2MCwweDAyLDB4MDEsMHhmMSwweDkwLDB4N2YsMHhmYywweDc0LDB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZn0gfSwKLXsgIDE2LDB4Mjg2MSwwLHsweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGUwLDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgyODcxLDAsezB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2UsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDI4ODEsMCx7MHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4Mjg5MSwwLHsweDc5LDB4ZTAsMHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBifSB9LAoteyAgMTYsMHgyOGExLDAsezB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTB9IH0sCi17ICAxNiwweDI4YjEsMCx7MHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MH0gfSwKLXsgIDE2LDB4MjhjMSwwLHsweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwfSB9LAoteyAgMTYsMHgyOGQxLDAsezB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4N2EsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjV9IH0sCi17ICAxNiwweDI4ZTEsMCx7MHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweGU0LDB4OTAsMHg3OSwweDhjLDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMH0gfSwKLXsgIDE2LDB4MjhmMSwwLHsweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMiwweDYwLDB4MDIsMHgyMSwweDk2LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhjOCwweGYwfSB9LAoteyAgMTYsMHgyOTAxLDAsezB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTB9IH0sCi17ICAxNiwweDI5MTEsMCx7MHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMX0gfSwKLXsgIDE2LDB4MjkyMSwwLHsweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZifSB9LAoteyAgMTYsMHgyOTMxLDAsezB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzJ9IH0sCi17ICAxNiwweDI5NDEsMCx7MHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4Mjk1MSwwLHsweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwfSB9LAoteyAgMTYsMHgyOTYxLDAsezB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAyLDB4ZjB9IH0sCi17ICAxNiwweDI5NzEsMCx7MHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3YSwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4Mjk4MSwwLHsweDkwLDB4NzksMHg2NSwweDc0LDB4MDMsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweGU0LDB4OTAsMHg3OSwweDhjfSB9LAoteyAgMTYsMHgyOTkxLDAsezB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMCwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDJhLDB4OTB9IH0sCi17ICAxNiwweDI5YTEsMCx7MHg3ZiwweGZjLDB4NzQsMHg5OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMX0gfSwKLXsgIDE2LDB4MjliMSwwLHsweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyOWMxLDAsezB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTB9IH0sCi17ICAxNiwweDI5ZDEsMCx7MHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZn0gfSwKLXsgIDE2LDB4MjllMSwwLHsweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyOWYxLDAsezB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJhMDEsMCx7MHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmExMSwwLHsweDc5LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg0NCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwfSB9LAoteyAgMTYsMHgyYTIxLDAsezB4NzksMHg3YSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2NSwweDc0LDB4MDUsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDJ9IH0sCi17ICAxNiwweDJhMzEsMCx7MHhhZiwweGU0LDB4OTAsMHg3OSwweDhjLDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMCwweDIyLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NH0gfSwKLXsgIDE2LDB4MmE0MSwwLHsweDAxLDB4NjAsMHgwMiwweDQxLDB4ZTAsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGI0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjfSB9LAoteyAgMTYsMHgyYTUxLDAsezB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NTR9IH0sCi17ICAxNiwweDJhNjEsMCx7MHhmZSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMH0gfSwKLXsgIDE2LDB4MmE3MSwwLHsweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwfSB9LAoteyAgMTYsMHgyYTgxLDAsezB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTB9IH0sCi17ICAxNiwweDJhOTEsMCx7MHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3Zn0gfSwKLXsgIDE2LDB4MmFhMSwwLHsweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgyYWIxLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJhYzEsMCx7MHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDdhLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY1LDB4MDQsMHhmMH0gfSwKLXsgIDE2LDB4MmFkMSwwLHsweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweGU0LDB4OTAsMHg3OSwweDhjLDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyYWUxLDAsezB4NzksMHgyZCwweGUwLDB4NjQsMHgwMiwweDYwLDB4MDIsMHg2MSwweDg1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhiMCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDJhZjEsMCx7MHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MH0gfSwKLXsgIDE2LDB4MmIwMSwwLHsweDc5LDB4NzksMHhmMCwweDU0LDB4ZmUsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5fSB9LAoteyAgMTYsMHgyYjExLDAsezB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjB9IH0sCi17ICAxNiwweDJiMjEsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZn0gfSwKLXsgIDE2LDB4MmIzMSwwLHsweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgyYjQxLDAsezB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODB9IH0sCi17ICAxNiwweDJiNTEsMCx7MHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NH0gfSwKLXsgIDE2LDB4MmI2MSwwLHsweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3YSwweDc0LDB4MDEsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyYjcxLDAsezB4NzksMHg2NSwweDc0LDB4MDQsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweGU0LDB4OTAsMHg3OSwweDhjLDB4ZjB9IH0sCi17ICAxNiwweDJiODEsMCx7MHg5MCwweDc5LDB4OGIsMHhmMCwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDJhLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MmI5MSwwLHsweGZjLDB4NzQsMHg2OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgyYmExLDAsezB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDU0LDB4ZmUsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJiYjEsMCx7MHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmJjMSwwLHsweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0fSB9LAoteyAgMTYsMHgyYmQxLDAsezB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJiZTEsMCx7MHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OX0gfSwKLXsgIDE2LDB4MmJmMSwwLHsweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgyYzAxLDAsezB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg0NCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJjMTEsMCx7MHg3YSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2NSwweDc0LDB4MDYsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZn0gfSwKLXsgIDEwLDB4MmMyMSwwLHsweGU0LDB4OTAsMHg3OSwweDhjLDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgyYzJiLDAsezB4ZTQsMHhmZiwweDdiLDB4MDEsMHg5MCwweDc4LDB4MTYsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4NTh9IH0sCi17ICAxNiwweDJjM2IsMCx7MHhmMCwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHgxMn0gfSwKLXsgIDE2LDB4MmM0YiwwLHsweDBjLDB4NWQsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4NmUsMHg2MCwweDEzLDB4ZWYsMHhjMywweDk0LDB4MDYsMHg1MCwweDBkfSB9LAoteyAgMTYsMHgyYzViLDAsezB4MGYsMHg5MCwweDc4LDB4MTcsMHhlNCwweDc1LDB4ZjAsMHgwZiwweDEyLDB4MGMsMHhmNCwweDgwLDB4ZDQsMHhiZiwweDA2LDB4MDh9IH0sCi17ICAxNiwweDJjNmIsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MmM3YiwwLHsweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NCwweGZmLDB4MjQsMHg5ZiwweDcwLDB4MDIsMHhjMSwweDY2LDB4MjQsMHgyMSwweDYwfSB9LAoteyAgMTYsMHgyYzhiLDAsezB4MDIsMHhjMSwweDhjLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdlLDB4NzAsMHgwMiwweGExLDB4MzAsMHgxNCwweDcwLDB4MDJ9IH0sCi17ICAxNiwweDJjOWIsMCx7MHhhMSwweGM4LDB4MjQsMHgwMiwweDYwLDB4MDIsMHhjMSwweDVlLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGEyLDB4N2IsMHg0NH0gfSwKLXsgIDE2LDB4MmNhYiwwLHsweDdhLDB4YWMsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0fSB9LAoteyAgMTYsMHgyY2JiLDAsezB4NDQsMHhmMCwweGEzLDB4NzQsMHhhYywweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTB9IH0sCi17ICAxNiwweDJjY2IsMCx7MHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MGQsMHhhMn0gfSwKLXsgIDE2LDB4MmNkYiwwLHsweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4MTMsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgyY2ViLDAsezB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDN9IH0sCi17ICAxNiwweDJjZmIsMCx7MHhmMCwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDIsMHgxMn0gfSwKLXsgIDE2LDB4MmQwYiwwLHsweDBkLDB4YTIsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg2MCwweDAyfSB9LAoteyAgMTYsMHgyZDFiLDAsezB4YzEsMHg5MywweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDJkMmIsMCx7MHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOX0gfSwKLXsgIDE2LDB4MmQzYiwwLHsweDkwLDB4MDAsMHgwNiwweDEyLDB4MGQsMHhhMiwweDdiLDB4NDQsMHg3YSwweGFjLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyfSB9LAoteyAgMTYsMHgyZDRiLDAsezB4MGQsMHg5MSwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWMsMHhmMCwweGU0LDB4YTN9IH0sCi17ICAxNiwweDJkNWIsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhM30gfSwKLXsgIDE2LDB4MmQ2YiwwLHsweGUwLDB4ZjksMHg5MCwweDAwLDB4MDYsMHgxMiwweDBkLDB4YTIsMHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwfSB9LAoteyAgMTYsMHgyZDdiLDAsezB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjB9IH0sCi17ICAxNiwweDJkOGIsMCx7MHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MmQ5YiwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwZCwweGEyLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxfSB9LAoteyAgMTYsMHgyZGFiLDAsezB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NjAsMHgwMiwweGMxLDB4OTMsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzR9IH0sCi17ICAxNiwweDJkYmIsMCx7MHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgxNn0gfSwKLXsgIDE2LDB4MmRjYiwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MGEsMHgxMiwweDBkLDB4YTIsMHg3YiwweDQ0fSB9LAoteyAgMTYsMHgyZGRiLDAsezB4N2EsMHhhYywweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzR9IH0sCi17ICAxNiwweDJkZWIsMCx7MHg0NCwweGYwLDB4YTMsMHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MmRmYiwwLHsweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDBhLDB4MTIsMHgwZCwweGEyfSB9LAoteyAgMTYsMHgyZTBiLDAsezB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgxMywweDkwLDB4N2Z9IH0sCi17ICAxNiwweDJlMWIsMCx7MHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwM30gfSwKLXsgIDE2LDB4MmUyYiwwLHsweGYwLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwYSwweDEyfSB9LAoteyAgMTYsMHgyZTNiLDAsezB4MGQsMHhhMiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4NDh9IH0sCi17ICAxNiwweDJlNGIsMCx7MHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NH0gfSwKLXsgIDE2LDB4MmU1YiwwLHsweDAzLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0fSB9LAoteyAgMTYsMHgyZTZiLDAsezB4N2YsMHg3MCwweDE2LDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDB9IH0sCi17ICAxNiwweDJlN2IsMCx7MHgwZSwweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMCwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICA4LDB4MmU4YiwwLHsweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDJlOTMsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MmU5NCwwLHsweDc1LDB4MzYsMHgyNSwweDc1LDB4MzcsMHgyNCwweDkwLDB4NzksMHg3NCwweGUwLDB4NjQsMHgwMSwweDcwLDB4NTQsMHhmMCwweGY1fSB9LAoteyAgMTYsMHgyZWE0LDAsezB4MzUsMHg3NSwweDIyLDB4MDEsMHhlNSwweDIyLDB4NjQsMHgwMSwweDcwLDB4NDgsMHg5MCwweDdmLDB4YTUsMHhlMCwweDQ0LDB4ODB9IH0sCi17ICAxNiwweDJlYjQsMCx7MHhmMCwweDkwLDB4N2YsMHhhNiwweGU1LDB4MzYsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0LDB4NGYsMHgyNSwweDM1LDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4MmVjNCwwLHsweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0NiwweGMwLDB4NzQsMHgzNSwweDI1fSB9LAoteyAgMTYsMHgyZWQ0LDAsezB4MzUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMiwweDQ2LDB4YzB9IH0sCi17ICAxNiwweDJlZTQsMCx7MHg5MCwweDdmLDB4YTUsMHg3NCwweDQwLDB4ZjAsMHgxMiwweDBhLDB4Y2QsMHgwNSwweDM1LDB4ZTUsMHgzNSwweGMzLDB4OTQsMHgwZH0gfSwKLXsgIDE2LDB4MmVmNCwwLHsweDQwLDB4YjIsMHg5MCwweDc5LDB4NzUsMHhlMCwweDY0LDB4MDEsMHg2MCwweDAyLDB4ZTEsMHhkZSwweGYwLDB4OTAsMHg3OSwweDIwfSB9LAoteyAgMTYsMHgyZjA0LDAsezB4ZTAsMHg2NCwweDA1LDB4NjAsMHgwMiwweGUxLDB4OGQsMHg3YiwweDAxLDB4OTAsMHg3OSwweDVjLDB4MDQsMHhmMCwweGEzLDB4NzR9IH0sCi17ICAxNiwweDJmMTQsMCx7MHg3OCwweGYwLDB4YTMsMHg3NCwweGIyLDB4ZjAsMHg3NSwweDMzLDB4MDcsMHg5MCwweDc5LDB4NWMsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MmYyNCwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4NzAsMHgwZiwweDkwLDB4MDAsMHgwNCwweDEyfSB9LAoteyAgMTYsMHgyZjM0LDAsezB4MGMsMHg1ZCwweDkwLDB4NzksMHgyZiwweGYwLDB4MTIsMHgwYywweDI5LDB4ODAsMHgwNiwweDkwLDB4NzksMHgyZiwweDc0LDB4ZmZ9IH0sCi17ICAxNiwweDJmNDQsMCx7MHhmMCwweGU0LDB4ZjUsMHgzNSwweDc1LDB4MjIsMHgwMSwweDc1LDB4MzQsMHgwMiwweGU1LDB4MjIsMHg2NCwweDAxLDB4NzAsMHgzOX0gfSwKLXsgIDE2LDB4MmY1NCwwLHsweDkwLDB4N2YsMHhhNSwweGUwLDB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGE2LDB4ZTUsMHgzNiwweGYwLDB4MTIsMHg0NiwweGMwfSB9LAoteyAgMTYsMHgyZjY0LDAsezB4YWYsMHgzNCwweDA1LDB4MzQsMHg5MCwweDdmLDB4YTYsMHhlZiwweGYwLDB4MTIsMHg0NiwweGMwLDB4OTAsMHg3OSwweDJmLDB4ZTB9IH0sCi17ICAxNiwweDJmNzQsMCx7MHg5MCwweDdmLDB4YTYsMHhmMCwweDEyLDB4NDYsMHhjMCwweDkwLDB4N2YsMHhhNSwweDc0LDB4NDAsMHhmMCwweDEyLDB4MGEsMHhjZH0gfSwKLXsgIDE2LDB4MmY4NCwwLHsweDA1LDB4MzUsMHhlNSwweDM1LDB4YzMsMHg5NCwweDA2LDB4NDAsMHhjMSwweDkwLDB4NzksMHgyMCwweGUwLDB4NjQsMHgwNiwweDcwfSB9LAoteyAgMTYsMHgyZjk0LDAsezB4NDksMHg3YiwweDAxLDB4OTAsMHg3OSwweDVmLDB4MDQsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGZmLDB4ZjB9IH0sCi17ICAxNiwweDJmYTQsMCx7MHg3NSwweDMzLDB4MDMsMHg5MCwweDc5LDB4NWYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4MmZiNCwwLHsweDAxLDB4MTIsMHgwYywweDVkLDB4NzAsMHgxYywweDkwLDB4MDAsMHgwNCwweDEyLDB4MGMsMHg1ZCwweDkwLDB4NzksMHgzMywweGYwfSB9LAoteyAgMTYsMHgyZmM0LDAsezB4NzAsMHgwMywweDc0LDB4ZmYsMHhmMCwweDkwLDB4NzksMHgzMywweGUwLDB4NTQsMHg3ZiwweGZmLDB4ZjAsMHgyNSwweGUwLDB4ZjB9IH0sCi17ICAxMCwweDJmZDQsMCx7MHg4MCwweDA1LDB4ZTQsMHg5MCwweDc5LDB4MzMsMHhmMCwweDEyLDB4NDcsMHhkZn0gfSwKLXsgICAxLDB4MmZkZSwwLHsweDIyfSB9LAoteyAgMTYsMHgyZmRmLDAsezB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3OSwweDgzLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweGEyLDB4YWZ9IH0sCi17ICAxNiwweDJmZWYsMCx7MHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHgyMn0gfSwKLXsgICAxLDB4MmZmZiwwLHsweDIyfSB9LAoteyAgMTYsMHgzMDAwLDAsezB4ZTQsMHhmZSwweDkwLDB4NzksMHgyMCwweGUwLDB4ZmQsMHhiNCwweDA1LDB4MTEsMHg5MCwweDc4LDB4MjUsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDMwMTAsMCx7MHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhiMiwweGYwLDB4NzUsMHgzNSwweDA3LDB4ZWQsMHhiNCwweDA2LDB4MTEsMHg5MH0gfSwKLXsgIDE2LDB4MzAyMCwwLHsweDc4LDB4MjUsMHg3NCwweDAxLDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhmZiwweGYwLDB4NzUsMHgzNSwweDAzfSB9LAoteyAgMTYsMHgzMDMwLDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDYwLDB4MTEsMHgxNCwweDYwLDB4NWIsMHgyNCwweDAyLDB4NjAsMHgwMiwweDQxLDB4MDV9IH0sCi17ICAxNiwweDMwNDAsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgzZH0gfSwKLXsgIDE2LDB4MzA1MCwwLHsweGU0LDB4ZmYsMHhlZiwweGMzLDB4OTUsMHgzNSwweDUwLDB4MmYsMHg5MCwweDc4LDB4MjUsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgzMDYwLDAsezB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDB9IH0sCi17ICAxNiwweDMwNzAsMCx7MHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4NzgsMHgyNiwweGU0LDB4NzUsMHhmMH0gfSwKLXsgIDE2LDB4MzA4MCwwLHsweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGNiLDB4OTAsMHg3ZiwweGI1LDB4ZWUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTYsMHgzMDkwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZSwweDYwLDB4NjQsMHgxNCwweDcwLDB4MDJ9IH0sCi17ICAxNiwweDMwYTAsMCx7MHgyMSwweDU1LDB4MTQsMHg3MCwweDAyLDB4MjEsMHhhOSwweDI0LDB4MDMsMHg2MCwweDAyLDB4MjEsMHhmZCwweGU0LDB4ZmYsMHhlZn0gfSwKLXsgIDE2LDB4MzBiMCwwLHsweGMzLDB4OTUsMHgzNSwweDUwLDB4NDYsMHg5MCwweDc4LDB4MjUsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgMTYsMHgzMGMwLDAsezB4OTAsMHgwMCwweDAzLDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODJ9IH0sCi17ICAxNiwweDMwZDAsMCx7MHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MGMsMHg1ZCwweGZkLDB4Y2MsMHhlZX0gfSwKLXsgIDE2LDB4MzBlMCwwLHsweGNjLDB4MGUsMHg3NCwweDAwLDB4MmMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzMGYwLDAsezB4MjYsMHhlNCwweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNCwweDkwLDB4N2YsMHhiNSwweGVlLDB4ZjB9IH0sCi17ICAxNiwweDMxMDAsMCx7MHgyMiwweGU0LDB4ZmYsMHhlZiwweGMzLDB4OTUsMHgzNSwweDUwLDB4NDYsMHg5MCwweDc4LDB4MjUsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MzExMCwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0fSB9LAoteyAgMTYsMHgzMTIwLDAsezB4MDAsMHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGN9IH0sCi17ICAxNiwweDMxMzAsMCx7MHg1ZCwweGZkLDB4Y2MsMHhlZSwweGNjLDB4MGUsMHg3NCwweDAwLDB4MmMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4M30gfSwKLXsgIDE2LDB4MzE0MCwwLHsweGVkLDB4ZjAsMHg5MCwweDc4LDB4MjYsMHhlNCwweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNCwweDkwfSB9LAoteyAgMTYsMHgzMTUwLDAsezB4N2YsMHhiNSwweGVlLDB4ZjAsMHgyMiwweGU0LDB4ZmYsMHhlZiwweGMzLDB4OTUsMHgzNSwweDUwLDB4NDYsMHg5MCwweDc4LDB4MjV9IH0sCi17ICAxNiwweDMxNjAsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA3LDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjY30gfSwKLXsgIDE2LDB4MzE3MCwwLHsweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgzMTgwLDAsezB4MDAsMHgwOCwweDEyLDB4MGMsMHg1ZCwweGZkLDB4Y2MsMHhlZSwweGNjLDB4MGUsMHg3NCwweDAwLDB4MmMsMHhmNSwweDgyLDB4ZTR9IH0sCi17ICAxNiwweDMxOTAsMCx7MHgzNCwweDdmLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHg5MCwweDc4LDB4MjYsMHhlNCwweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNH0gfSwKLXsgIDE2LDB4MzFhMCwwLHsweDBmLDB4ODAsMHhiNCwweDkwLDB4N2YsMHhiNSwweGVlLDB4ZjAsMHgyMiwweGU0LDB4ZmYsMHhlZiwweGMzLDB4OTUsMHgzNSwweDUwfSB9LAoteyAgMTYsMHgzMWIwLDAsezB4NDYsMHg5MCwweDc4LDB4MjUsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA5LDB4MTJ9IH0sCi17ICAxNiwweDMxYzAsMCx7MHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNX0gfSwKLXsgIDE2LDB4MzFkMCwwLHsweDgzLDB4ZWQsMHhmMCwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGMsMHg1ZCwweGZkLDB4Y2MsMHhlZSwweGNjLDB4MGUsMHg3NCwweDAwfSB9LAoteyAgMTYsMHgzMWUwLDAsezB4MmMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHg5MCwweDc4LDB4MjYsMHhlNCwweDc1LDB4ZjB9IH0sCi17ICAxNiwweDMxZjAsMCx7MHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNCwweDkwLDB4N2YsMHhiNSwweGVlLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDEyLDB4MzIwMCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MzIwYywwLHsweDIyfSB9LAoteyAgMTYsMHgzMjBkLDAsezB4N2IsMHgwMSwweDdhLDB4NzgsMHg3OSwweDJiLDB4OTAsMHg3OCwweDAwLDB4ZWIsMHhmMCwweGEzLDB4ZWEsMHhmMCwweGEzLDB4ZTl9IH0sCi17ICAxNiwweDMyMWQsMCx7MHhmMCwweDc0LDB4MDEsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MzIyZCwwLHsweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweGU0LDB4MTIsMHgwYywweDljfSB9LAoteyAgMTYsMHgzMjNkLDAsezB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDMyNGQsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgxMCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4MzI1ZCwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDA1LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyfSB9LAoteyAgMTYsMHgzMjZkLDAsezB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDMyN2QsMCx7MHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDAyLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzI4ZCwwLHsweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDIsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzMjlkLDAsezB4OWMsMHg5MCwweDAwLDB4MDIsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTJ9IH0sCi17ICAxNiwweDMyYWQsMCx7MHgwYywweGY0LDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDEsMHgxMn0gfSwKLXsgIDE2LDB4MzJiZCwwLHsweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxfSB9LAoteyAgMTYsMHgzMmNkLDAsezB4NzQsMHgwMywweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDAxLDB4ZTR9IH0sCi17ICAxNiwweDMyZGQsMCx7MHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MzJlZCwwLHsweGY5LDB4NzQsMHgxMCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzMmZkLDAsezB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDA2LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4ZTQsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAxNiwweDMzMGQsMCx7MHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4MzMxZCwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDAyLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzMzJkLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDMzM2QsMCx7MHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzM0ZCwwLHsweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzMzVkLDAsezB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwNCwweDEyLDB4MGN9IH0sCi17ICAxNiwweDMzNmQsMCx7MHg5YywweDkwLDB4MDAsMHgwMiwweDc0LDB4MDQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwM30gfSwKLXsgIDE2LDB4MzM3ZCwwLHsweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDAyfSB9LAoteyAgMTYsMHgzMzhkLDAsezB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDB9IH0sCi17ICAxNiwweDMzOWQsMCx7MHgwMSwweDc0LDB4MDMsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHg3NCwweDA0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzNhZCwwLHsweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgzM2JkLDAsezB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMiwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDMzY2QsMCx7MHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDAyLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4NzQsMHgwNH0gfSwKLXsgIDE2LDB4MzNkZCwwLHsweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAwfSB9LAoteyAgMTYsMHgzM2VkLDAsezB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDB9IH0sCi17ICAxNiwweDMzZmQsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg5Y30gfSwKLXsgICA4LDB4MzQwZCwwLHsweDkwLDB4MDAsMHgwMiwweDc0LDB4MDQsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAgMSwweDM0MTUsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MzQxNiwwLHsweGU0LDB4ZmUsMHg5MCwweDc5LDB4MjAsMHhlMCwweGZkLDB4YjQsMHgwNSwweDExLDB4OTAsMHg3OCwweDFmLDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgzNDI2LDAsezB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweDc1LDB4MzUsMHgwNywweGVkLDB4YjQsMHgwNiwweDExLDB4OTB9IH0sCi17ICAxNiwweDM0MzYsMCx7MHg3OCwweDFmLDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4ZmYsMHhmMCwweDc1LDB4MzUsMHgwM30gfSwKLXsgIDE2LDB4MzQ0NiwwLHsweDkwLDB4NzksMHg5OSwweGUwLDB4MTQsMHg2MCwweDExLDB4MTQsMHg2MCwweDViLDB4MjQsMHgwMiwweDYwLDB4MDIsMHhjMSwweDA2fSB9LAoteyAgMTYsMHgzNDU2LDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzksMHg5NywweGUwLDB4MTQsMHg3MCwweDNlLDB4ZTR9IH0sCi17ICAxNiwweDM0NjYsMCx7MHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NTAsMHgyZiwweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMSwweDJkLDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4MzQ3NiwwLHsweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweGZkLDB4OTAsMHg3OCwweDFmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzfSB9LAoteyAgMTYsMHgzNDg2LDAsezB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweGVkLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDIwLDB4ZTQsMHg3NSwweGYwLDB4MGJ9IH0sCi17ICAxNiwweDM0OTYsMCx7MHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4Y2IsMHg5MCwweDc5LDB4NzUsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDE2LDB4MzRhNiwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5LDB4OTcsMHhlMCwweDI0LDB4ZmUsMHg2MCwweDYzLDB4MTQsMHg3MCwweDAyfSB9LAoteyAgMTYsMHgzNGI2LDAsezB4YTEsMHg2NCwweDE0LDB4NzAsMHgwMiwweGExLDB4YjIsMHgyNCwweDAzLDB4NjAsMHgwMiwweGExLDB4ZmUsMHhlNCwweGZmLDB4ZWZ9IH0sCi17ICAxNiwweDM0YzYsMCx7MHhjMywweDk1LDB4MzUsMHg1MCwweDQ0LDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNH0gfSwKLXsgIDE2LDB4MzRkNiwwLHsweDc5LDB4ZjUsMHg4MywweGUwLDB4ZmQsMHg5MCwweDc4LDB4MWYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgMTYsMHgzNGU2LDAsezB4OTAsMHgwMCwweDAzLDB4ZWQsMHgxMiwweDBjLDB4OWMsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjEsMHgyZCwweGY1LDB4ODJ9IH0sCi17ICAxNiwweDM0ZjYsMCx7MHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MjAsMHhlNH0gfSwKLXsgIDE2LDB4MzUwNiwwLHsweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNiwweDkwLDB4NzksMHg3NSwweDc0LDB4MDEsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgzNTE2LDAsezB4ZTQsMHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NDAsMHgwMiwweGMxLDB4MGQsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjF9IH0sCi17ICAxNiwweDM1MjYsMCx7MHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgxZiwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4MzUzNiwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDUsMHhlZCwweDEyLDB4MGMsMHg5YywweGNkLDB4ZWUsMHhjZCwweDBlfSB9LAoteyAgMTYsMHgzNTQ2LDAsezB4NzQsMHgyMSwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGN9IH0sCi17ICAxNiwweDM1NTYsMCx7MHg5YywweDkwLDB4NzgsMHgyMCwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI0LDB4ZTQsMHhmZn0gfSwKLXsgIDE2LDB4MzU2NiwwLHsweGVmLDB4YzMsMHg5NSwweDM1LDB4NDAsMHgwMiwweGMxLDB4MGQsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjEsMHgyZCwweGY1fSB9LAoteyAgMTYsMHgzNTc2LDAsezB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgxZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDM1ODYsMCx7MHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDcsMHhlZCwweDEyLDB4MGMsMHg5YywweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMX0gfSwKLXsgIDE2LDB4MzU5NiwwLHsweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4MDAsMHgwOCwweDEyLDB4MGMsMHg5YywweDkwfSB9LAoteyAgMTYsMHgzNWE2LDAsezB4NzgsMHgyMCwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI0LDB4ZTQsMHhmZiwweGVmLDB4YzN9IH0sCi17ICAxNiwweDM1YjYsMCx7MHg5NSwweDM1LDB4NTAsMHg1MywweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMSwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OX0gfSwKLXsgIDE2LDB4MzVjNiwwLHsweGY1LDB4ODMsMHhlMCwweGZkLDB4OTAsMHg3OCwweDFmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwfSB9LAoteyAgMTYsMHgzNWQ2LDAsezB4MDAsMHgwOSwweGVkLDB4MTIsMHgwYywweDljLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxLDB4MmQsMHhmNSwweDgyLDB4ZTR9IH0sCi17ICAxNiwweDM1ZTYsMCx7MHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHgwMCwweDBhLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDIwLDB4ZTQsMHg3NX0gfSwKLXsgIDE2LDB4MzVmNiwwLHsweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4YjYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyfSB9LAoteyAgIDcsMHgzNjA2LDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDM2MGQsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MzYwZSwwLHsweGU0LDB4ZmUsMHg5MCwweDc5LDB4MjAsMHhlMCwweGZkLDB4YjQsMHgwNSwweDEwLDB4OTAsMHg3OCwweDI4LDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgzNjFlLDAsezB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweDdmLDB4MDcsMHhlZCwweGI0LDB4MDYsMHgxMCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDM2MmUsMCx7MHgyOCwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGZmLDB4ZjAsMHg3ZiwweDAzLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzYzZSwwLHsweDI4LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NCwweGZkLDB4OTAsMHg3ZiwweGVhfSB9LAoteyAgMTYsMHgzNjRlLDAsezB4ZTAsMHg2ZCwweDYwLDB4MTIsMHhlZSwweGMzLDB4OWYsMHg1MCwweDBkLDB4OTAsMHg3OCwweDI5LDB4ZTQsMHg3NSwweGYwLDB4MGJ9IH0sCi17ICAxNiwweDM2NWUsMCx7MHgxMiwweDBjLDB4ZjQsMHgwZSwweDgwLDB4ZDgsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NjAsMHgxMSwweDE0LDB4NjAsMHg0Nn0gfSwKLXsgIDE2LDB4MzY2ZSwwLHsweDI0LDB4MDIsMHg2MCwweDAyLDB4ZTEsMHg5YSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgzNjdlLDAsezB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDI4LDB4ZWUsMHg2ZiwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9IH0sCi17ICAxNiwweDM2OGUsMCx7MHhmMCwweDIyLDB4OTAsMHg3OCwweDI4LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMX0gfSwKLXsgIDE2LDB4MzY5ZSwwLHsweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgzNmFlLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdlLDB4NjAsMHg0MCwweDE0LDB4NjB9IH0sCi17ICAxNiwweDM2YmUsMCx7MHg2ZiwweDE0LDB4NzAsMHgwMiwweGUxLDB4NjAsMHgyNCwweDAzLDB4NjAsMHgwMiwweGUxLDB4OTIsMHhlZSwweDZmLDB4NzAsMHgwOH0gfSwKLXsgIDE2LDB4MzZjZSwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MjgsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgzNmRlLDAsezB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAzLDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDAwLDB4MDR9IH0sCi17ICAxNiwweDM2ZWUsMCx7MHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyLDB4ZWUsMHg2Zn0gfSwKLXsgIDE2LDB4MzZmZSwwLHsweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OCwweDI4LDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzNzBlLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNSwweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDM3MWUsMCx7MHgwMCwweDA2LDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MzcyZSwwLHsweGVlLDB4NmYsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgyOCwweGUwfSB9LAoteyAgMTYsMHgzNzNlLDAsezB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDcsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDB9IH0sCi17ICAxNiwweDM3NGUsMCx7MHhmMCwweDkwLDB4MDAsMHgwOCwweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4Mzc1ZSwwLHsweGYwLDB4MjIsMHhlZSwweDZmLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzNzZlLDAsezB4MjgsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA5LDB4MTIsMHgwYywweDVkLDB4OTB9IH0sCi17ICAxNiwweDM3N2UsMCx7MHg3ZiwweDAwLDB4ZjAsMHg5MCwweDAwLDB4MGEsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNX0gfSwKLXsgIDE2LDB4Mzc4ZSwwLHsweDc0LDB4MDIsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwfSB9LAoteyAgIDMsMHgzNzllLDAsezB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgzN2ExLDAsezB4MjJ9IH0sCi17ICAxNiwweDM3YTIsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4MzdiMiwwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfSB9LAoteyAgMTYsMHgzN2MyLDAsezB4YzAsMHhlMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MTAsMHhmMCwweDkwLDB4NzksMHg4MywweGUwLDB4NTR9IH0sCi17ICAxNiwweDM3ZDIsMCx7MHhmZCwweGYwLDB4MTIsMHgyZiwweGRmLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMH0gfSwKLXsgIDE2LDB4MzdlMiwwLHsweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDAsMHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwfSB9LAoteyAgIDgsMHgzN2YyLDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgICA2LDB4MzdmYSwwLHsweDUzLDB4OTEsMHhiZiwweGQyLDB4MjYsMHgzMn0gfSwKLXsgIDE2LDB4MzgwMCwwLHsweGU0LDB4ZmUsMHg5MCwweDc5LDB4MjAsMHhlMCwweGZkLDB4YjQsMHgwNSwweDEwLDB4OTAsMHg3OCwweDIyLDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgzODEwLDAsezB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweDdmLDB4MDcsMHhlZCwweGI0LDB4MDYsMHgxMCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDM4MjAsMCx7MHgyMiwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGZmLDB4ZjAsMHg3ZiwweDAzLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzgzMCwwLHsweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NCwweGZkLDB4OTAsMHg3OSwweDk4fSB9LAoteyAgMTYsMHgzODQwLDAsezB4ZTAsMHg2ZCwweDYwLDB4MTIsMHhlZSwweGMzLDB4OWYsMHg1MCwweDBkLDB4OTAsMHg3OCwweDIzLDB4ZTQsMHg3NSwweGYwLDB4MGJ9IH0sCi17ICAxNiwweDM4NTAsMCx7MHgxMiwweDBjLDB4ZjQsMHgwZSwweDgwLDB4ZDgsMHg5MCwweDc5LDB4OTksMHhlMCwweDE0LDB4NjAsMHgxMSwweDE0LDB4NjAsMHg0OH0gfSwKLXsgIDE2LDB4Mzg2MCwwLHsweDI0LDB4MDIsMHg2MCwweDAyLDB4MjEsMHg4NSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgzODcwLDAsezB4OTcsMHhlMCwweDE0LDB4NzAsMHgyYiwweGVlLDB4NmYsMHg3MCwweDA5LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDM4ODAsMCx7MHg4MCwweDE3LDB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhM30gfSwKLXsgIDE2LDB4Mzg5MCwwLHsweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHhlZCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzksMHg3NSwweDc0LDB4MDEsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgzOGEwLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzksMHg5NywweGUwLDB4MjQsMHhmZSwweDYwLDB4NDN9IH0sCi17ICAxNiwweDM4YjAsMCx7MHgxNCwweDYwLDB4NmUsMHgxNCwweDcwLDB4MDIsMHgyMSwweDRmLDB4MjQsMHgwMywweDYwLDB4MDIsMHgyMSwweDdkLDB4ZWUsMHg2Zn0gfSwKLXsgIDE2LDB4MzhjMCwwLHsweDcwLDB4MDksMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MjEsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZkfSB9LAoteyAgMTYsMHgzOGQwLDAsezB4OTAsMHg3OCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMywweGVkLDB4MTJ9IH0sCi17ICAxNiwweDM4ZTAsMCx7MHgwYywweDljLDB4OTAsMHg3OSwweDIyLDB4ZTAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc5LDB4NzUsMHg3NH0gfSwKLXsgIDE2LDB4MzhmMCwwLHsweDAxLDB4ZjAsMHgyMiwweGVlLDB4NmYsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfSB9LAoteyAgMTYsMHgzOTAwLDAsezB4NzksMHgyMSwweGUwLDB4ZmQsMHg5MCwweDc4LDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTB9IH0sCi17ICAxNiwweDM5MTAsMCx7MHgwMCwweDA1LDB4ZWQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc5LDB4MjIsMHhlMCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGMsMHg5Y30gfSwKLXsgIDE2LDB4MzkyMCwwLHsweDIyLDB4ZWUsMHg2ZiwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OSwweDIxfSB9LAoteyAgMTYsMHgzOTMwLDAsezB4ZTAsMHhmZCwweDkwLDB4NzgsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDd9IH0sCi17ICAxNiwweDM5NDAsMCx7MHhlZCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzksMHgyMiwweGUwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwYywweDljLDB4MjIsMHhlZX0gfSwKLXsgIDE2LDB4Mzk1MCwwLHsweDZmLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZlfSB9LAoteyAgMTYsMHgzOTYwLDAsezB4OTAsMHg3OCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwOSwweGVlLDB4MTJ9IH0sCi17ICAxNiwweDM5NzAsMCx7MHgwYywweDljLDB4OTAsMHg3OSwweDIyLDB4ZTAsMHg5MCwweDAwLDB4MGEsMHgxMiwweDBjLDB4OWMsMHgyMiwweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDEyLDB4Mzk4MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4Mzk4YywwLHsweDIyfSB9LAoteyAgMTYsMHgzOThkLDAsezB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4ZTQsMHg5MCwweDc5LDB4ODMsMHhmMCwweDEyLDB4MmYsMHhkZiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDM5OWQsMCx7MHhlMCwweDc0LDB4OTAsMHhmMCwweDkwLDB4N2YsMHhlMSwweDc0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3ZiwweGRkLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MzlhZCwwLHsweDdmLDB4YTEsMHhmMCwweDUzLDB4OGUsMHhmOCwweDc1LDB4ODgsMHgwNSwweDc1LDB4YjgsMHgyMCwweDc1LDB4ZjgsMHgwMSwweDQzfSB9LAoteyAgMTYsMHgzOWJkLDAsezB4OGUsMHgzMCwweGY1LDB4YzgsMHg3NSwweGNhLDB4N2YsMHg3NSwweGNiLDB4ZjgsMHg0MywweGE4LDB4MjAsMHg5MCwweDc5LDB4NzR9IH0sCi17ICAxNiwweDM5Y2QsMCx7MHgwNCwweGYwLDB4YzIsMHgyMiwweGU0LDB4ZjUsMHgwZiwweDkwLDB4NzksMHg3OCwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzksMHg2Mn0gfSwKLXsgIDE2LDB4MzlkZCwwLHsweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDc5LDB4NjYsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEzfSB9LAoteyAgMTYsMHgzOWVkLDAsezB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDkwLDB4NzksMHg3ZCwweGYwLDB4OTAsMHg3OSwweDc1LDB4ZjAsMHhhMywweGYwLDB4YTN9IH0sCi17ICAxNiwweDM5ZmQsMCx7MHhmMCwweGMyLDB4MjMsMHhjMiwweDI0LDB4YzIsMHgyNSwweGMyLDB4MjYsMHhjMiwweDIwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmNX0gfSwKLXsgIDE2LDB4M2EwZCwwLHsweDBhLDB4NTQsMHgyMCwweGY1LDB4MGEsMHg3MCwweDA2LDB4OTAsMHg3OSwweDdlLDB4ZjAsMHg4MCwweDA2LDB4OTAsMHg3OSwweDdlfSB9LAoteyAgMTYsMHgzYTFkLDAsezB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmNSwweDBhLDB4NTQsMHgwMiwweGY1LDB4MGEsMHg3MCwweDA2LDB4OTB9IH0sCi17ICAxNiwweDNhMmQsMCx7MHg3OSwweDdmLDB4ZjAsMHg4MCwweDA2LDB4OTAsMHg3OSwweDdmLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4M2EzZCwwLHsweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5fSB9LAoteyAgMTYsMHgzYTRkLDAsezB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDNhNWQsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMX0gfSwKLXsgIDE2LDB4M2E2ZCwwLHsweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5fSB9LAoteyAgMTYsMHgzYTdkLDAsezB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjB9IH0sCi17ICAxNiwweDNhOGQsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4MTIsMHgwYiwweGEyLDB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMH0gfSwKLXsgIDE2LDB4M2E5ZCwwLHsweGEzLDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3OSwweDg4LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGRkfSB9LAoteyAgMTYsMHgzYWFkLDAsezB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHhhMywweGYwLDB4MTJ9IH0sCi17ICAxNiwweDNhYmQsMCx7MHgwYiwweGEyLDB4ZTQsMHg5MCwweDc5LDB4N2EsMHhmMCwweDkwLDB4NzksMHg4MywweDA0LDB4ZjAsMHgxMiwweDJmLDB4ZGYsMHhlNH0gfSwKLXsgIDE2LDB4M2FjZCwwLHsweDkwLDB4NzksMHgzMCwweGYwLDB4OTAsMHg3OSwweDg1LDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweDEyLDB4MmUsMHg5NCwweDkwfSB9LAoteyAgMTYsMHgzYWRkLDAsezB4NzksMHgyZCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4OCwweDE0LDB4ZjAsMHhjMiwweDJmLDB4ZTQsMHg5MCwweDc5LDB4Njh9IH0sCi17ICAxNiwweDNhZWQsMCx7MHhmMCwweDkwLDB4NzksMHg4YSwweGYwLDB4OTAsMHg3OSwweDZhLDB4ZjAsMHhhMywweGYwLDB4NzUsMHgxMywweDA4LDB4NzUsMHgxNH0gfSwKLXsgIDE2LDB4M2FmZCwwLHsweDA4LDB4ZjUsMHgxNiwweGY1LDB4MTUsMHhmNSwweDE3LDB4OTAsMHg3OSwweDhjLDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgzYjBkLDAsezB4N2IsMHgwMSwweDdhLDB4NzgsMHg3OSwweDU4LDB4OTAsMHg3OCwweDAzLDB4ZWIsMHhmMCwweGEzLDB4ZWEsMHhmMCwweGEzLDB4ZTl9IH0sCi17ICAxNiwweDNiMWQsMCx7MHhmMCwweDc0LDB4NDAsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4M2IyZCwwLHsweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwYSwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDEyLDB4MGQsMHhmNiwweDAwfSB9LAoteyAgMTYsMHgzYjNkLDAsezB4MDAsMHhiYiwweDgwLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwZCwweGY2LDB4MDAsMHgwMCwweGFjLDB4NDQsMHg5MCwweDAwLDB4MGF9IH0sCi17ICAxNiwweDNiNGQsMCx7MHgxMiwweDBkLDB4ZjYsMHgwMCwweDAxLDB4NzcsMHgwMCwweDkwLDB4NzgsMHgwNCwweGU0LDB4NzUsMHhmMCwweDBmLDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4M2I1ZCwwLHsweGY0LDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4NDAsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzYjZkLDAsezB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzR9IH0sCi17ICAxNiwweDNiN2QsMCx7MHg4YywweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDEyLDB4MGQsMHhmNiwweDAwLDB4MDAsMHhiYiwweDgwLDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4M2I4ZCwwLHsweDA2LDB4MTIsMHgwZCwweGY2LDB4MDAsMHgwMCwweGFjLDB4NDQsMHg5MCwweDAwLDB4MGEsMHgxMiwweDBkLDB4ZjYsMHgwMCwweDAxfSB9LAoteyAgMTYsMHgzYjlkLDAsezB4NzcsMHgwMCwweDkwLDB4NzgsMHgwNCwweGU0LDB4NzUsMHhmMCwweDBmLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAzLDB4ZTB9IH0sCi17ICAxNiwweDNiYWQsMCx7MHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4NDAsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMH0gfSwKLXsgIDE2LDB4M2JiZCwwLHsweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHg4ZiwweDEyLDB4MGMsMHg5YywweDkwfSB9LAoteyAgMTYsMHgzYmNkLDAsezB4NzgsMHgwNCwweGU0LDB4NzUsMHhmMCwweDBmLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDNiZGQsMCx7MHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4NDEsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4M2JlZCwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHg4NCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwNCwweGU0fSB9LAoteyAgMTYsMHgzYmZkLDAsezB4NzUsMHhmMCwweDBmLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDNjMGQsMCx7MHhmOSwweDc0LDB4NjEsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4M2MxZCwwLHsweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHg4MSwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwNCwweGU0LDB4NzUsMHhmMCwweDBmfSB9LAoteyAgMTYsMHgzYzJkLDAsezB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4NjF9IH0sCi17ICAxNiwweDNjM2QsMCx7MHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMH0gfSwKLXsgICA2LDB4M2M0ZCwwLHsweDAxLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg5Y30gfSwKLXsgICAxLDB4M2M1MywwLHsweDIyfSB9LAoteyAgMTYsMHgzYzU0LDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9IH0sCi17ICAxNiwweDNjNjQsMCx7MHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZn0gfSwKLXsgICAyLDB4M2M3NCwwLHsweGMwLDB4ZTB9IH0sCi17ICAxNiwweDNjNzYsMCx7MHg5MCwweDdmLDB4YTIsMHhlMCwweGY1LDB4MGIsMHg5MCwweDdmLDB4NzQsMHhlMCwweDkwLDB4NzksMHg3MCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4M2M4NiwwLHsweDc1LDB4ZTAsMHg5MCwweDc5LDB4NzEsMHhmMCwweDkwLDB4NzksMHg4MywweGUwLDB4ZmYsMHhmZSwweDU0LDB4MDIsMHhmZSwweDcwfSB9LAoteyAgMTYsMHgzYzk2LDAsezB4MGQsMHhlZiwweDQ0LDB4MDIsMHhmMCwweDEyLDB4MmYsMHhkZiwweDkwLDB4NzksMHg3NCwweDc0LDB4MDEsMHhmMCwweGU1LDB4MGJ9IH0sCi17ICAxNiwweDNjYTYsMCx7MHgyMCwweGUyLDB4MjgsMHg5MCwweDc5LDB4NzAsMHhlMCwweGZlLDB4YTMsMHhlMCwweDdjLDB4MDAsMHgyNCwweDAwLDB4ZjUsMHgxMX0gfSwKLXsgIDE2LDB4M2NiNiwwLHsweGVjLDB4M2UsMHhmNSwweDEwLDB4OTAsMHg3OSwweDgyLDB4ZTAsMHhmZCwweGFlLDB4MTAsMHhhZiwweDExLDB4MTIsMHgwYywweGJlfSB9LAoteyAgMTYsMHgzY2M2LDAsezB4OTAsMHg3OSwweDcwLDB4ZWYsMHhmMCwweDkwLDB4NzksMHg4OSwweDc0LDB4MDEsMHhmMCwweDEyLDB4NDgsMHg0MywweDEyLDB4NDh9IH0sCi17ICAxNiwweDNjZDYsMCx7MHg3NiwweDkwLDB4NzksMHg4OSwweGUwLDB4NjQsMHgwMSwweDcwLDB4MzIsMHgxMiwweDQxLDB4MDgsMHg5MCwweDc5LDB4ODksMHhlNH0gfSwKLXsgIDE2LDB4M2NlNiwwLHsweGYwLDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg0NCwweDQwLDB4ZjAsMHg5MCwweDdmLDB4OWUsMHhlMCwweDQ0LDB4NDAsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgzY2Y2LDAsezB4N2YsMHg5NSwweDc0LDB4ODAsMHhmMCwweDc1LDB4ZTgsMHgwMSwweDEyLDB4MDksMHgzMiwweDc1LDB4ZTgsMHgwZCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDNkMDYsMCx7MHg5NSwweDc0LDB4YzAsMHhmMCwweDc1LDB4ZTgsMHgwZCwweGQyLDB4MjAsMHg4MCwweDA1LDB4NzUsMHhlOCwweDAxLDB4YzIsMHgyMH0gfSwKLXsgIDE2LDB4M2QxNiwwLHsweDIwLDB4MjAsMHgyYiwweDkwLDB4NzksMHgyZCwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MDksMHg3NSwweDBjLDB4NjcsMHg3NSwweDBkfSB9LAoteyAgMTYsMHgzZDI2LDAsezB4MDYsMHg3NSwweDBlLDB4MGIsMHhlZiwweGI0LDB4MDIsMHgwOSwweDc1LDB4MGMsMHgwMCwweDc1LDB4MGQsMHgwMCwweDc1LDB4MGV9IH0sCi17ICAxNiwweDNkMzYsMCx7MHgwYywweGVmLDB4YjQsMHgwMywweDA5LDB4NzUsMHgwYywweDAwLDB4NzUsMHgwZCwweDAwLDB4NzUsMHgwZSwweDE4LDB4NzUsMHhjYX0gfSwKLXsgIDE2LDB4M2Q0NiwwLHsweDZmLDB4NzUsMHhjYiwweGZlLDB4ZDIsMHhjYSwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGYwfSB9LAoteyAgMTYsMHgzZDU2LDAsezB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDB9IH0sCi17ICAxNiwweDNkNjYsMCx7MHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMH0gfSwKLXsgICAzLDB4M2Q3NiwwLHsweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4M2Q3OSwwLHsweDc1LDB4MzMsMHgyNSwweDc1LDB4MzQsMHgyNCwweDkwLDB4NzksMHg1YywweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwfSB9LAoteyAgMTYsMHgzZDg5LDAsezB4YTMsMHg3NCwweGIyLDB4ZjAsMHgyMCwweDJmLDB4MDIsMHhjMSwweDE3LDB4ZTQsMHhmNSwweDM1LDB4NzUsMHgyMiwweDAxLDB4OTB9IH0sCi17ICAxNiwweDNkOTksMCx7MHg3OSwweDVjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNCwweDEyLDB4MGMsMHg1ZH0gfSwKLXsgIDE2LDB4M2RhOSwwLHsweGY1LDB4MzYsMHg3NSwweDM1LDB4MDYsMHg3NCwweDQyLDB4MjUsMHgzNSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzfSB9LAoteyAgMTYsMHgzZGI5LDAsezB4ZTUsMHgzNiwweGYwLDB4MDUsMHgzNSwweGU1LDB4MzUsMHhiNCwweDBjLDB4ZWIsMHhlNSwweDM1LDB4YzMsMHg5NCwweDBkLDB4NDB9IH0sCi17ICAxNiwweDNkYzksMCx7MHgwMiwweGMxLDB4OTgsMHhlNSwweDIyLDB4NjQsMHgwMSwweDYwLDB4MDIsMHhjMSwweDk4LDB4OTAsMHg3ZiwweGE1LDB4ZTAsMHg0NH0gfSwKLXsgIDE2LDB4M2RkOSwwLHsweDgwLDB4ZjAsMHg5MCwweDdmLDB4YTYsMHhlNSwweDMzLDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg3NCwweDRmLDB4MjUsMHgzNSwweGY1fSB9LAoteyAgMTYsMHgzZGU5LDAsezB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4YTYsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0LDB4NDJ9IH0sCi17ICAxNiwweDNkZjksMCx7MHgyNSwweDM1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0Nn0gfSwKLXsgIDE2LDB4M2UwOSwwLHsweGMwLDB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MCwweGYwLDB4MTIsMHgwYSwweGNkLDB4MDUsMHgzNSwweDgwLDB4YWMsMHhlNCwweGY1fSB9LAoteyAgMTYsMHgzZTE5LDAsezB4MzUsMHg3NSwweDIyLDB4MDEsMHg5MCwweDc5LDB4NWMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTB9IH0sCi17ICAxNiwweDNlMjksMCx7MHgwMCwweDA0LDB4MTIsMHgwYywweDVkLDB4ZjUsMHgzNiwweDc1LDB4MzUsMHgwNiwweDc0LDB4MzUsMHgyNSwweDM1LDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4M2UzOSwwLHsweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlNSwweDM2LDB4ZjAsMHgwNSwweDM1LDB4ZTUsMHgzNSwweGI0LDB4MGMsMHhlYiwweGU1fSB9LAoteyAgMTYsMHgzZTQ5LDAsezB4MzUsMHhjMywweDk0LDB4MGQsMHg1MCwweDQ5LDB4ZTUsMHgyMiwweDY0LDB4MDEsMHg3MCwweDQzLDB4OTAsMHg3ZiwweGE1LDB4ZTB9IH0sCi17ICAxNiwweDNlNTksMCx7MHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4YTYsMHhlNSwweDMzLDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg3NCwweDRmLDB4MjUsMHgzNX0gfSwKLXsgIDE2LDB4M2U2OSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4YTYsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0fSB9LAoteyAgMTYsMHgzZTc5LDAsezB4MzUsMHgyNSwweDM1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTJ9IH0sCi17ICAxNSwweDNlODksMCx7MHg0NiwweGMwLDB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MCwweGYwLDB4MTIsMHgwYSwweGNkLDB4MDUsMHgzNSwweDgwLDB4YjB9IH0sCi17ICAgMSwweDNlOTgsMCx7MHgyMn0gfSwKLXsgIDE2LDB4M2U5OSwwLHsweDkwLDB4NzgsMHgwOSwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGIyLDB4ZjAsMHhlNCwweGZmfSB9LAoteyAgMTYsMHgzZWE5LDAsezB4ZmUsMHg5MCwweDc4LDB4MDksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4ZWYsMHgxMiwweDBjLDB4OGF9IH0sCi17ICAxNiwweDNlYjksMCx7MHg5MCwweDc4LDB4MDksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4ZTQsMHgxMn0gfSwKLXsgIDE2LDB4M2VjOSwwLHsweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHg3NCwweDE1LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAzLDB4ZTQsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzZWQ5LDAsezB4OWMsMHg5MCwweDAwLDB4MDQsMHg3NCwweGZmLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA1LDB4ZTQsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAxNiwweDNlZTksMCx7MHg5MCwweDAwLDB4MDYsMHg3NCwweGMzLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA3LDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MH0gfSwKLXsgIDE2LDB4M2VmOSwwLHsweDAwLDB4MDgsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwOSwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDBhfSB9LAoteyAgMTYsMHgzZjA5LDAsezB4NzQsMHgwMSwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwYSwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGZ9IH0sCi17ICAxNiwweDNmMTksMCx7MHgwZSwweGJlLDB4MDcsMHg4ZCwweDkwLDB4NzgsMHgwOSwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NH0gfSwKLXsgIDE2LDB4M2YyOSwwLHsweGZmLDB4ZjAsMHhlNCwweGZmLDB4ZmUsMHg5MCwweDc4LDB4MDksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgMTYsMHgzZjM5LDAsezB4ZWYsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTB9IH0sCi17ICAxNiwweDNmNDksMCx7MHgwMCwweDAxLDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHg3NCwweDE1LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4M2Y1OSwwLHsweDAzLDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDQsMHg3NCwweDgwLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA1fSB9LAoteyAgMTYsMHgzZjY5LDAsezB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDYsMHg3NCwweGMzLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA3LDB4ZTR9IH0sCi17ICAxNiwweDNmNzksMCx7MHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDgsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwOSwweGU0LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4M2Y4OSwwLHsweDljLDB4OTAsMHgwMCwweDBhLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwYSwweGU0LDB4NzUsMHhmMCwweDBifSB9LAoteyAgIDgsMHgzZjk5LDAsezB4MTIsMHgwYywweGY0LDB4MGYsMHgwZSwweGJlLDB4MDMsMHg4ZH0gfSwKLXsgICAxLDB4M2ZhMSwwLHsweDIyfSB9LAoteyAgMTYsMHgzZmEyLDAsezB4ZTQsMHhmZSwweDc1LDB4M2QsMHhmZiwweDc1LDB4M2UsMHgwNSwweDc1LDB4M2YsMHgxMiwweGFiLDB4M2QsMHhhYSwweDNlLDB4YTl9IH0sCi17ICAxNiwweDNmYjIsMCx7MHgzZiwweDkwLDB4MDAsMHgwMSwweDEyLDB4MGMsMHg1ZCwweDY0LDB4MDIsMHg3MCwweDJmLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHhlZH0gfSwKLXsgIDE2LDB4M2ZjMiwwLHsweDZmLDB4NzAsMHgwMSwweDIyLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweDBhLDB4ODUsMHhmMCwweDNiLDB4ZjUsMHgzYywweDYyfSB9LAoteyAgMTYsMHgzZmQyLDAsezB4M2IsMHhlNSwweDNiLDB4NjIsMHgzYywweGU1LDB4M2MsMHg2MiwweDNiLDB4MjksMHhmZCwweGU1LDB4M2IsMHgzYSwweGM5LDB4ZWR9IH0sCi17ICAxNiwweDNmZTIsMCx7MHhjOSwweDc1LDB4M2QsMHhmZiwweGY1LDB4M2UsMHg4OSwweDNmLDB4ODAsMHhjMSwweDdiLDB4MDAsMHg3YSwweDAwLDB4NzksMHgwMH0gfSwKLXsgICAxLDB4M2ZmMiwwLHsweDIyfSB9LAoteyAgIDksMHgzZmYzLDAsezB4NTMsMHhkOCwweGVmLDB4NDMsMHhkOCwweDIwLDB4YzIsMHgyZCwweDMyfSB9LAoteyAgIDQsMHgzZmZjLDAsezB4NTMsMHg5MSwweGRmLDB4MzJ9IH0sCi17ICAxNiwweDQwMDAsMCx7MHg5MCwweDc5LDB4ODcsMHhlMCwweGI0LDB4MDEsMHgxZCwweDkwLDB4NzksMHg4NSwweGUwLDB4YjQsMHgwMSwweDAzLDB4MTIsMHg0Mn0gfSwKLXsgIDE2LDB4NDAxMCwwLHsweGFhLDB4OTAsMHg3OSwweDg2LDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgxMiwweDE4LDB4MDAsMHhlNCwweDkwLDB4NzksMHg4NSwweGYwfSB9LAoteyAgMTYsMHg0MDIwLDAsezB4YTMsMHhmMCwweGEzLDB4ZjAsMHgxMiwweDJlLDB4OTQsMHg5MCwweDdmLDB4OWIsMHhlMCwweGY1LDB4MGEsMHg1NCwweDAyLDB4ZjV9IH0sCi17ICAxNiwweDQwMzAsMCx7MHgwYSwweDcwLDB4MDQsMHg5MCwweDc5LDB4N2YsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZjUsMHgwYSwweDU0LDB4MDIsMHhmZn0gfSwKLXsgIDE2LDB4NDA0MCwwLHsweGY1LDB4MGEsMHhiZiwweDAyLDB4MDYsMHg5MCwweDc5LDB4N2YsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweGY1fSB9LAoteyAgMTYsMHg0MDUwLDAsezB4MGEsMHg1NCwweDIwLDB4ZjUsMHgwYSwweDcwLDB4MDQsMHg5MCwweDc5LDB4N2UsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZjV9IH0sCi17ICAxNiwweDQwNjAsMCx7MHgwYSwweDU0LDB4MjAsMHhmZiwweGY1LDB4MGEsMHhiZiwweDIwLDB4MDYsMHg5MCwweDc5LDB4N2UsMHg3NCwweDAxLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4NDA3MCwwLHsweDc5LDB4N2YsMHhlMCwweGZmLDB4OTAsMHg3OSwweDgxLDB4ZTAsMHg2ZiwweDYwLDB4MzgsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyfSB9LAoteyAgMTYsMHg0MDgwLDAsezB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4ZWYsMHhiNCwweDAxLDB4MDYsMHhlMCwweDU0LDB4ZmV9IH0sCi17ICAxNiwweDQwOTAsMCx7MHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4NDBhMCwwLHsweDg0LDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4ZTUsMHgxMiwweDYwfSB9LAoteyAgMTYsMHg0MGIwLDAsezB4MDIsMHhkMiwweGFmLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhmZiwweDkwLDB4NzksMHg4MCwweGUwLDB4NmYsMHg2MCwweDM4LDB4OTB9IH0sCi17ICAxNiwweDQwYzAsMCx7MHg3OSwweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweGVmLDB4YjQsMHgwMX0gfSwKLXsgIDE2LDB4NDBkMCwwLHsweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHg0MGUwLDAsezB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGJ9IH0sCi17ICAxNiwweDQwZjAsMCx7MHhhMiwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDkwLDB4NzksMHg3ZiwweGUwLDB4OTAsMHg3OSwweDgxLDB4ZjAsMHg5MH0gfSwKLXsgICA4LDB4NDEwMCwwLHsweDc5LDB4N2UsMHhlMCwweDkwLDB4NzksMHg4MCwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQxMDgsMCx7MHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDEsMHg3MCwweDM1LDB4OTAsMHg3OSwweDcwLDB4ZTAsMHhmZiwweGQzLDB4OTQsMHgyZH0gfSwKLXsgIDE2LDB4NDExOCwwLHsweDQwLDB4MmIsMHg5MCwweDc5LDB4NjksMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjgsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzfSB9LAoteyAgMTYsMHg0MTI4LDAsezB4OTQsMHgwZiwweDQwLDB4MTksMHhlNCwweGYwLDB4ZWYsMHhkMywweDk0LDB4MzEsMHg0MCwweDA4LDB4OTAsMHg3OSwweDJkLDB4NzR9IH0sCi17ICAxNiwweDQxMzgsMCx7MHgwMywweGYwLDB4ODAsMHgwNiwweDkwLDB4NzksMHgyZCwweDc0LDB4MDIsMHhmMCwweDEyLDB4MTAsMHgwMCwweDkwLDB4NzksMHgyZH0gfSwKLXsgIDE2LDB4NDE0OCwwLHsweGUwLDB4YjQsMHgwMiwweDJjLDB4OTAsMHg3OSwweDcwLDB4ZTAsMHhmZiwweGMzLDB4OTQsMHgyZiwweDUwLDB4MjIsMHhlZiwweGQzfSB9LAoteyAgMTYsMHg0MTU4LDAsezB4OTQsMHgyYSwweDQwLDB4MWMsMHg5MCwweDc5LDB4NjksMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjgsMHhlMCwweDA0LDB4ZjB9IH0sCi17ICAxNiwweDQxNjgsMCx7MHhlMCwweGQzLDB4OTQsMHgwZiwweDQwLDB4MGEsMHhlNCwweGYwLDB4OTAsMHg3OSwweDJkLDB4MDQsMHhmMCwweDEyLDB4MTAsMHgwMH0gfSwKLXsgIDE2LDB4NDE3OCwwLHsweDkwLDB4NzksMHgyZCwweGUwLDB4YjQsMHgwMiwweDI2LDB4OTAsMHg3OSwweDcwLDB4ZTAsMHhkMywweDk0LDB4MzEsMHg0MCwweDFkfSB9LAoteyAgMTYsMHg0MTg4LDAsezB4OTAsMHg3OSwweDY5LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY4LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkMywweDk0LDB4MGZ9IH0sCi17ICAxNiwweDQxOTgsMCx7MHg0MCwweDBiLDB4ZTQsMHhmMCwweDkwLDB4NzksMHgyZCwweDc0LDB4MDMsMHhmMCwweDEyLDB4MTAsMHgwMCwweDkwLDB4NzksMHgyZH0gfSwKLXsgIDE2LDB4NDFhOCwwLHsweGUwLDB4NjQsMHgwMywweDcwLDB4M2YsMHg5MCwweDc5LDB4NzAsMHhlMCwweGZmLDB4YzMsMHg5NCwweDVmLDB4NTAsMHgzNSwweDkwfSB9LAoteyAgMTYsMHg0MWI4LDAsezB4NzksMHg2OSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2OCwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDB9IH0sCi17ICAxNiwweDQxYzgsMCx7MHgyMywweGU0LDB4ZjAsMHhlZiwweGMzLDB4OTQsMHgyZiwweDUwLDB4MGMsMHhlZiwweGQzLDB4OTQsMHgyYSwweDQwLDB4MDYsMHg5MH0gfSwKLXsgIDE2LDB4NDFkOCwwLHsweDc5LDB4MmQsMHg3NCwweDAxLDB4ZjAsMHhlZiwweGQzLDB4OTQsMHgyZiwweDQwLDB4MDYsMHg5MCwweDc5LDB4MmQsMHg3NCwweDAyfSB9LAoteyAgMTYsMHg0MWU4LDAsezB4ZjAsMHgxMiwweDEwLDB4MDAsMHg5MCwweDc5LDB4NjksMHhlMCwweDcwLDB4MDUsMHg5MCwweDc5LDB4NjgsMHhmMCwweDIyLDB4ZTR9IH0sCi17ICAgNSwweDQxZjgsMCx7MHg5MCwweDc5LDB4NjksMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0MWZkLDAsezB4N2IsMHgwMSwweDdhLDB4NzgsMHg3OSwweDRjLDB4OTAsMHg3OCwweDA2LDB4ZWIsMHhmMCwweGEzLDB4ZWEsMHhmMCwweGEzLDB4ZTl9IH0sCi17ICAxNiwweDQyMGQsMCx7MHhmMCwweGU0LDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDA2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOX0gfSwKLXsgIDE2LDB4NDIxZCwwLHsweDkwLDB4MDAsMHgwMSwweDc0LDB4MDEsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDcsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyfSB9LAoteyAgMTYsMHg0MjJkLDAsezB4MGMsMHhmNCwweDkwLDB4NzgsMHgwNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHhlNCwweDEyLDB4MGN9IH0sCi17ICAxNiwweDQyM2QsMCx7MHg4YSwweDkwLDB4NzgsMHgwNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NH0gfSwKLXsgIDE2LDB4NDI0ZCwwLHsweDAyLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDA3LDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4fSB9LAoteyAgMTYsMHg0MjVkLDAsezB4MDYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4ZTQsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDZ9IH0sCi17ICAxNiwweDQyNmQsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMywweDEyLDB4MGMsMHg5Y30gfSwKLXsgIDE2LDB4NDI3ZCwwLHsweDkwLDB4NzgsMHgwNywweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDA2LDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHg0MjhkLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweGU0LDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDA2LDB4ZTAsMHhmYiwweGEzLDB4ZTB9IH0sCi17ICAxMiwweDQyOWQsMCx7MHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDQsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAgMSwweDQyYTksMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDJhYSwwLHsweGU0LDB4ZmYsMHhmZSwweDdiLDB4MDEsMHg5MCwweDc4LDB4MGMsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0fSB9LAoteyAgMTYsMHg0MmJhLDAsezB4MmIsMHhmMCwweDkwLDB4NzgsMHgwYywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDQyY2EsMCx7MHgxMiwweDBjLDB4NWQsMHhmZCwweDkwLDB4NzksMHg5YSwweGUwLDB4NmQsMHg2MCwweDEzLDB4ZWYsMHhjMywweDk0LDB4MDUsMHg1MH0gfSwKLXsgIDE2LDB4NDJkYSwwLHsweDBkLDB4MGYsMHg5MCwweDc4LDB4MGQsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDgwLDB4ZDQsMHg4ZCwweDMzfSB9LAoteyAgMTYsMHg0MmVhLDAsezB4OTAsMHg3OCwweDBjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDEyLDB4MGN9IH0sCi17ICAxNiwweDQyZmEsMCx7MHg1ZCwweGZkLDB4OTAsMHg3OSwweDliLDB4ZTAsMHhmYywweDZkLDB4NjAsMHgxMywweGVlLDB4YzMsMHg5NCwweDBiLDB4NTAsMHgwZH0gfSwKLXsgIDE2LDB4NDMwYSwwLHsweDBlLDB4OTAsMHg3OCwweDBkLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg4MCwweGQzLDB4OGMsMHgzNCwweGVmfSB9LAoteyAgMTYsMHg0MzFhLDAsezB4NjQsMHgwNSwweDYwLDB4MDMsMHhiZSwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9IH0sCi17ICAxNiwweDQzMmEsMCx7MHg3OCwweDBjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NCwweGZmLDB4MjQsMHhmMH0gfSwKLXsgIDE2LDB4NDMzYSwwLHsweDYwLDB4MDgsMHgyNCwweDBlLDB4NzAsMHgwZSwweDEyLDB4NDksMHg0ZCwweDIyLDB4OTAsMHg3OSwweDIwLDB4ZTUsMHgzNCwweGYwfSB9LAoteyAgMTEsMHg0MzRhLDAsezB4MTIsMHgxYiwweDJhLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4NDM1NSwwLHsweDIyfSB9LAoteyAgMTIsMHg0MzU2LDAsezB4NzgsMHg3ZiwweGU0LDB4ZjYsMHhkOCwweGZkLDB4NzUsMHg4MSwweDNmLDB4MDIsMHg0MywweDlkfSB9LAoteyAgMTYsMHg0MzYyLDAsezB4MDIsMHg0OCwweGE5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHg0MCwweDAzLDB4ZjYsMHg4MCwweDAxLDB4ZjJ9IH0sCi17ICAxNiwweDQzNzIsMCx7MHgwOCwweGRmLDB4ZjQsMHg4MCwweDI5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHg1NCwweDA3LDB4MjQsMHgwYywweGM4LDB4YzMsMHgzM30gfSwKLXsgIDE2LDB4NDM4MiwwLHsweGM0LDB4NTQsMHgwZiwweDQ0LDB4MjAsMHhjOCwweDgzLDB4NDAsMHgwNCwweGY0LDB4NTYsMHg4MCwweDAxLDB4NDYsMHhmNiwweGRmfSB9LAoteyAgMTYsMHg0MzkyLDAsezB4ZTQsMHg4MCwweDBiLDB4MDEsMHgwMiwweDA0LDB4MDgsMHgxMCwweDIwLDB4NDAsMHg4MCwweDkwLDB4NDYsMHg2MSwweGU0LDB4N2V9IH0sCi17ICAxNiwweDQzYTIsMCx7MHgwMSwweDkzLDB4NjAsMHhiYywweGEzLDB4ZmYsMHg1NCwweDNmLDB4MzAsMHhlNSwweDA5LDB4NTQsMHgxZiwweGZlLDB4ZTQsMHg5M30gfSwKLXsgIDE2LDB4NDNiMiwwLHsweGEzLDB4NjAsMHgwMSwweDBlLDB4Y2YsMHg1NCwweGMwLDB4MjUsMHhlMCwweDYwLDB4YTgsMHg0MCwweGI4LDB4ZTQsMHg5MywweGEzfSB9LAoteyAgMTYsMHg0M2MyLDAsezB4ZmEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2F9IH0sCi17ICAxNiwweDQzZDIsMCx7MHhmMCwweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYSwweGRmLDB4ZTksMHhkZSwweGU3LDB4ODAsMHhiZX0gfSwKLXsgIDE2LDB4NDNlMiwwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfSB9LAoteyAgMTYsMHg0M2YyLDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9IH0sCi17ICAxNiwweDQ0MDIsMCx7MHhjMCwweGUwLDB4YzIsMHhjYSwweGMyLDB4Y2YsMHg5MCwweDc5LDB4N2EsMHhlMCwweGI0LDB4MDEsMHgxZiwweDEyLDB4NGIsMHhhZX0gfSwKLXsgIDE2LDB4NDQxMiwwLHsweDEyLDB4NDcsMHg1OCwweDUzLDB4YTgsMHhhMCwweDkwLDB4N2YsMHhhZSwweGU0LDB4ZjAsMHgxMiwweDA3LDB4YWEsMHgxMiwweDRifSB9LAoteyAgMTYsMHg0NDIyLDAsezB4YjcsMHg5MCwweDdmLDB4YWUsMHg3NCwweDFmLDB4ZjAsMHg0MywweGE4LDB4MDUsMHg4MCwweDAzLDB4NTMsMHhhOCwweGEwLDB4NTN9IH0sCi17ICAxNiwweDQ0MzIsMCx7MHhhOCwweGZhLDB4NzUsMHhlOCwweDAxLDB4MTIsMHgwOSwweDE1LDB4NzUsMHhlOCwweDBkLDB4NDMsMHhhOCwweDA1LDB4ZDAsMHhlMH0gfSwKLXsgIDE2LDB4NDQ0MiwwLHsweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDAsMHhlMCwweGZhfSB9LAoteyAgMTYsMHg0NDUyLDAsezB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMCwweGQwLDB4ZTB9IH0sCi17ICAgMSwweDQ0NjIsMCx7MHgzMn0gfSwKLXsgIDE2LDB4NDQ2MywwLHsweDkwLDB4N2YsMHhlYywweGUwLDB4ZjUsMHgwOSwweDE0LDB4NjAsMHgxZCwweDE0LDB4NjAsMHgyYSwweDE0LDB4NjAsMHgzNywweDE0fSB9LAoteyAgMTYsMHg0NDczLDAsezB4NjAsMHg0NCwweDI0LDB4MDQsMHg3MCwweDUwLDB4OTAsMHg3OSwweDYyLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDQ0ODMsMCx7MHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4NDcsMHg5MCwweDc5LDB4NjMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4NDQ5MywwLHsweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgzNywweDkwLDB4NzksMHg2NCwweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHg0NGEzLDAsezB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDI3LDB4OTAsMHg3OSwweDY2LDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDQ0YjMsMCx7MHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MTcsMHg5MCwweDc5LDB4NjcsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE1LDB4NDRjMywwLHsweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZDMsMHgyMn0gfSwKLXsgICA0LDB4NDRkMiwwLHsweDhkLDB4MzYsMHg4YiwweDM3fSB9LAoteyAgMTYsMHg0NGQ2LDAsezB4MTIsMHgzZiwweGEyLDB4ZWEsMHg0OSwweDYwLDB4NTcsMHgxMiwweDBjLDB4NDQsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2F9IH0sCi17ICAxNiwweDQ0ZTYsMCx7MHhjOSwweGVmLDB4YzksMHg3NSwweDM4LDB4ZmYsMHhmNSwweDM5LDB4ODksMHgzYSwweGFiLDB4MzgsMHhhYSwweDM5LDB4YTksMHgzYX0gfSwKLXsgIDE2LDB4NDRmNiwwLHsweDkwLDB4MDAsMHgwMSwweDEyLDB4MGMsMHg1ZCwweGZmLDB4NjQsMHgwNCwweDYwLDB4MDUsMHhlZiwweDY0LDB4MDUsMHg3MCwweDJlfSB9LAoteyAgMTYsMHg0NTA2LDAsezB4ZWYsMHhiNCwweDA0LDB4MTUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDBjLDB4NWQsMHg2NSwweDM2LDB4NzAsMHgwYiwweDkwLDB4MDB9IH0sCi17ICAxNiwweDQ1MTYsMCx7MHgwMywweDEyLDB4MGMsMHg1ZCwweDY1LDB4MzcsMHg3MCwweDAxLDB4MjIsMHgxMiwweDBjLDB4NDQsMHg3ZSwweDAwLDB4MjksMHhmZn0gfSwKLXsgIDE2LDB4NDUyNiwwLHsweGVlLDB4M2EsMHhjOSwweGVmLDB4YzksMHg3NSwweDM4LDB4ZmYsMHhmNSwweDM5LDB4ODksMHgzYSwweDgwLDB4YmMsMHg3YiwweDAwfSB9LAoteyAgIDQsMHg0NTM2LDAsezB4N2EsMHgwMCwweDc5LDB4MDB9IH0sCi17ICAgMSwweDQ1M2EsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDUzYiwwLHsweGU0LDB4ZmYsMHg3YiwweDAxLDB4OTAsMHg3OCwweDFjLDB4MDQsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweDRjfSB9LAoteyAgMTYsMHg0NTRiLDAsezB4ZjAsMHg5MCwweDc4LDB4MWMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyLDB4MTJ9IH0sCi17ICAxNiwweDQ1NWIsMCx7MHgwYywweDVkLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDZlLDB4NjAsMHgxMywweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwZH0gfSwKLXsgIDE2LDB4NDU2YiwwLHsweDkwLDB4NzgsMHgxZCwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGQ0LDB4YmYsMHgwNCwweDA5fSB9LAoteyAgMTYsMHg0NTdiLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDE0LDB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZiwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDQ1OGIsMCx7MHgxYywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHhlZiwweDEyLDB4MGMsMHg4YSwweDkwLDB4N2YsMHhjNX0gfSwKLXsgICAzLDB4NDU5YiwwLHsweDc0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4NDU5ZSwwLHsweDIyfSB9LAoteyAgMTQsMHg0NTlmLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGVlLDB4YzAsMHhlMCwweGVmLDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4NDVhZCwwLHsweDkwLDB4NzksMHg4NSwweGUwLDB4NjQsMHgwMSwweDYwLDB4MDUsMHhhMywweGUwLDB4YjQsMHgwMSwweDJkLDB4OTAsMHg3OSwweDg3fSB9LAoteyAgMTYsMHg0NWJkLDAsezB4NzQsMHgwMSwweGYwLDB4ZTQsMHhmZiwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDFiLDB4NzR9IH0sCi17ICAxNiwweDQ1Y2QsMCx7MHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgyMSwweDJmLDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4NDVkZCwwLHsweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlZSwweGYwLDB4MGYsMHg4MCwweGRiLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhfSB9LAoteyAgIDQsMHg0NWVkLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAxNSwweDQ1ZjEsMCx7MHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGQwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDQ2MDAsMCx7MHhlNCwweGZmLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgxOSwweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHg0Y30gfSwKLXsgIDE2LDB4NDYxMCwwLHsweGYwLDB4OTAsMHg3OCwweDE5LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMiwweDEyfSB9LAoteyAgMTYsMHg0NjIwLDAsezB4MGMsMHg1ZCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg2ZSwweDYwLDB4MTMsMHhlZiwweGMzLDB4OTQsMHgwNCwweDUwLDB4MGR9IH0sCi17ICAxNiwweDQ2MzAsMCx7MHg5MCwweDc4LDB4MWEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhkNCwweGJmLDB4MDQsMHgwOH0gfSwKLXsgIDE2LDB4NDY0MCwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MTksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHg0NjUwLDAsezB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0LDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDQ2NjAsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDY2MSwwLHsweDAxLDB4MTgsMHgwMiwweDAxLDB4MTksMHgwYSwweDAxLDB4MWMsMHgwMCwweGMxLDB4MjgsMHhjMSwweDI5LDB4MDEsMHgxZiwweDAxfSB9LAoteyAgMTUsMHg0NjcxLDAsezB4NDQsMHg3OSwweDlmLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MSwweDc5LDB4YTMsMHgwMCwweDQxLDB4NzksMHhhNCwweDAwfSB9LAoteyAgIDQsMHg0NjgwLDAsezB4NDEsMHg3OSwweDg5LDB4MDB9IH0sCi17ICAxNiwweDQ2ODQsMCx7MHgwMSwweDIyLDB4MDEsMHg0MSwweDc5LDB4MzEsMHhmZiwweDQxLDB4NzksMHgzNCwweDAwLDB4NGQsMHg3OSwweDM1LDB4M2YsMHgzZn0gfSwKLXsgIDE2LDB4NDY5NCwwLHsweDAwLDB4MDgsMHgwMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHg0ZCwweDc5LDB4NDIsMHgzZiwweDNmfSB9LAoteyAgMTYsMHg0NmE0LDAsezB4MDYsMHgwOCwweDA0LDB4MDcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweDRkLDB4NzksMHg0ZiwweDBhLDB4MGF9IH0sCi17ICAxMSwweDQ2YjQsMCx7MHgwOSwweDAwLDB4MDEsMHgwOSwweDAyLDB4MDMsMHgwNCwweDA1LDB4MDYsMHgwNywweDA4fSB9LAoteyAgIDEsMHg0NmJmLDAsezB4MDB9IH0sCi17ICAxNiwweDQ2YzAsMCx7MHgxMiwweDBhLDB4Y2QsMHg5MCwweDdmLDB4YTUsMHhlMCwweGY1LDB4MjEsMHhlNSwweDIxLDB4NTQsMHgwMSwweGY1LDB4MjEsMHg2NH0gfSwKLXsgIDE2LDB4NDZkMCwwLHsweDAxLDB4NjAsMHgyOCwweGU1LDB4MjIsMHg2NCwweDAxLDB4NzAsMHgyMiwweDkwLDB4N2YsMHhhNSwweGUwLDB4ZjUsMHgyMSwweDU0fSB9LAoteyAgMTYsMHg0NmUwLDAsezB4MDIsMHhmNSwweDIxLDB4NzAsMHgwMywweDc1LDB4MjIsMHgwMSwweDkwLDB4N2YsMHhhNSwweGUwLDB4ZjUsMHgyMSwweDU0LDB4MDR9IH0sCi17ICAxMiwweDQ2ZjAsMCx7MHhmZiwweGY1LDB4MjEsMHhiZiwweDA0LDB4ZDMsMHg3NSwweDIyLDB4MDEsMHg4MCwweGNlLDB4MjJ9IH0sCi17ICAgNCwweDQ2ZmMsMCx7MHg1MywweGQ4LDB4ZjcsMHgzMn0gfSwKLXsgIDE2LDB4NDcwMCwwLHsweDAyLDB4NDksMHhmYSwweDAwLDB4MDIsMHgzYywweDU0LDB4MDAsMHgwMiwweDE3LDB4ZTQsMHgwMCwweDAyLDB4NGEsMHgxMiwweDAwfSB9LAoteyAgMTYsMHg0NzEwLDAsezB4MDIsMHgzNywweGEyLDB4MDAsMHgwMiwweDQ3LDB4ZmYsMHgwMCwweDAyLDB4NGEsMHg0MSwweDAwLDB4MDIsMHg0NSwweDlmLDB4MDB9IH0sCi17ICAxNiwweDQ3MjAsMCx7MHgwMiwweDQ5LDB4OGUsMHgwMCwweDAyLDB4NDksMHhhYiwweDAwLDB4MDIsMHg0YSwweDU4LDB4MDAsMHgwMiwweDRhLDB4NmYsMHgwMH0gfSwKLXsgIDE2LDB4NDczMCwwLHsweDAyLDB4NGEsMHg4NiwweDAwLDB4MDIsMHg0YSwweDlkLDB4MDAsMHgwMiwweDRhLDB4YjQsMHgwMCwweDAyLDB4NGEsMHhjYiwweDAwfSB9LAoteyAgMTYsMHg0NzQwLDAsezB4MDIsMHg0YSwweGUyLDB4MDAsMHgwMiwweDRhLDB4ZjksMHgwMCwweDAyLDB4NGIsMHgxMCwweDAwLDB4MDIsMHg0YiwweDI3LDB4MDB9IH0sCi17ICAgOCwweDQ3NTAsMCx7MHgwMiwweDRiLDB4M2UsMHgwMCwweDAyLDB4NGIsMHg1NSwweDAwfSB9LAoteyAgMTYsMHg0NzU4LDAsezB4ZTUsMHgxOCwweDcwLDB4MTQsMHg5MCwweDc5LDB4OGMsMHhlMCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhlMCwweGMzLDB4OTR9IH0sCi17ICAxNiwweDQ3NjgsMCx7MHgwMCwweDQwLDB4MTUsMHhlMCwweDE0LDB4ZjAsMHg4MCwweDEwLDB4OTAsMHg3OSwweDhiLDB4ZTAsMHgwNCwweGYwLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4NDc3OCwwLHsweGMzLDB4OTQsMHgwMCwweDQwLDB4MDMsMHhlMCwweDE0LDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhlMCwweGQzLDB4OTQsMHgxNCwweDQwfSB9LAoteyAgMTYsMHg0Nzg4LDAsezB4MDQsMHhlNCwweGY1LDB4MTgsMHhmMCwweDkwLDB4NzksMHg4YywweGUwLDB4ZDMsMHg5NCwweDE0LDB4NDAsMHgwNSwweDc1LDB4MTh9IH0sCi17ICAgNCwweDQ3OTgsMCx7MHgwMSwweGU0LDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDc5YywwLHsweDkwLDB4N2YsMHhkNywweGUwLDB4ZjUsMHgzMywweDkwLDB4N2YsMHhlYywweGUwLDB4ZjUsMHgwOSwweDE0LDB4NjAsMHgxMSwweDE0fSB9LAoteyAgMTYsMHg0N2FjLDAsezB4NjAsMHgxYiwweDI0LDB4MDIsMHg3MCwweDI0LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc5LDB4NjIsMHhmMCwweDgwLDB4MjF9IH0sCi17ICAxNiwweDQ3YmMsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzksMHg2MywweGYwLDB4MTIsMHgxMCwweDAwLDB4ODAsMHgxNCwweDkwLDB4N2YsMHhlYX0gfSwKLXsgIDE2LDB4NDdjYywwLHsweGUwLDB4OTAsMHg3OSwweDY0LDB4ZjAsMHgxMiwweDI4LDB4MDEsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSB9LAoteyAgIDIsMHg0N2RjLDAsezB4ZjAsMHhkM30gfSwKLXsgICAxLDB4NDdkZSwwLHsweDIyfSB9LAoteyAgMTYsMHg0N2RmLDAsezB4OTAsMHg3OSwweDc4LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3OSwweDMzLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweGEyLDB4YWZ9IH0sCi17ICAxNiwweDQ3ZWYsMCx7MHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHgyMn0gfSwKLXsgICAxLDB4NDdmZiwwLHsweDMyfSB9LAoteyAgIDIsMHg0ODAwLDAsezB4OGYsMHgzNn0gfSwKLXsgIDE2LDB4NDgwMiwwLHsweGU0LDB4ZjUsMHgzNywweDc1LDB4MzgsMHhmZiwweDc1LDB4MzksMHgwNywweDc1LDB4M2EsMHgwMSwweGFiLDB4MzgsMHhhYSwweDM5fSB9LAoteyAgMTYsMHg0ODEyLDAsezB4YTksMHgzYSwweDkwLDB4MDAsMHgwMSwweDEyLDB4MGMsMHg1ZCwweGI0LDB4MDMsMHgxZiwweGFmLDB4MzcsMHgwNSwweDM3LDB4ZWZ9IH0sCi17ICAxNiwweDQ4MjIsMCx7MHg2NSwweDM2LDB4NzAsMHgwMSwweDIyLDB4MTIsMHgwYywweDQ0LDB4N2UsMHgwMCwweDI5LDB4ZmYsMHhlZSwweDNhLDB4YzksMHhlZn0gfSwKLXsgIDE2LDB4NDgzMiwwLHsweGM5LDB4NzUsMHgzOCwweGZmLDB4ZjUsMHgzOSwweDg5LDB4M2EsMHg4MCwweGQyLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfSB9LAoteyAgIDEsMHg0ODQyLDAsezB4MjJ9IH0sCi17ICAxNiwweDQ4NDMsMCx7MHgzMCwweDI2LDB4MmYsMHhjMiwweDI2LDB4OTAsMHg3OSwweDJkLDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwOSwweGU0LDB4ZjUsMHgwY30gfSwKLXsgIDE2LDB4NDg1MywwLHsweDc1LDB4MGQsMHhmOCwweDc1LDB4MGUsMHgwYSwweGVmLDB4YjQsMHgwMiwweDA5LDB4ZTQsMHhmNSwweDBjLDB4NzUsMHgwZCwweGYwfSB9LAoteyAgMTYsMHg0ODYzLDAsezB4NzUsMHgwZSwweDBiLDB4ZWYsMHhiNCwweDAzLDB4MDksMHhlNCwweGY1LDB4MGMsMHg3NSwweDBkLDB4ZjgsMHg3NSwweDBlLDB4MTd9IH0sCi17ICAgMywweDQ4NzMsMCx7MHhkMiwweDIyLDB4MjJ9IH0sCi17ICAxNiwweDQ4NzYsMCx7MHgzMCwweDI1LDB4MmYsMHhjMiwweDI1LDB4OTAsMHg3OSwweDJkLDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwOSwweDc1LDB4MGMsMHhjMH0gfSwKLXsgIDE2LDB4NDg4NiwwLHsweDc1LDB4MGQsMHgxNCwweDc1LDB4MGUsMHgwYiwweGVmLDB4YjQsMHgwMiwweDA5LDB4ZTQsMHhmNSwweDBjLDB4NzUsMHgwZCwweDEwfSB9LAoteyAgMTYsMHg0ODk2LDAsezB4NzUsMHgwZSwweDBjLDB4ZWYsMHhiNCwweDAzLDB4MDksMHhlNCwweGY1LDB4MGMsMHg3NSwweDBkLDB4MTgsMHg3NSwweDBlLDB4MTh9IH0sCi17ICAgMywweDQ4YTYsMCx7MHhkMiwweDIyLDB4MjJ9IH0sCi17ICAxNiwweDQ4YTksMCx7MHhlNCwweGY1LDB4MzIsMHgxMiwweDBmLDB4NTAsMHgyMCwweDJlLDB4MTAsMHhlNSwweDMyLDB4YzMsMHg5NCwweDAyLDB4NTAsMHgwOX0gfSwKLXsgIDE2LDB4NDhiOSwwLHsweDA1LDB4MzIsMHhkMiwweDMwLDB4MTIsMHg0OSwweDA1LDB4ODAsMHhlZCwweDMwLDB4MmUsMHgwNSwweDEyLDB4MTQsMHg1NywweGMyfSB9LAoteyAgMTUsMHg0OGM5LDAsezB4MmUsMHgzMCwweDJkLDB4MDYsMHgxMiwweDA3LDB4OWEsMHgxMiwweDQ4LDB4ZDksMHgxMiwweDQwLDB4MDAsMHg4MCwweGVhfSB9LAoteyAgIDEsMHg0OGQ4LDAsezB4MjJ9IH0sCi17ICAxNiwweDQ4ZDksMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweGY1LDB4MWQsMHg1NCwweDgwLDB4ZjUsMHgxZCwweDY0LDB4ODAsMHg3MCwweDFkLDB4YzIsMHhhZn0gfSwKLXsgIDE2LDB4NDhlOSwwLHsweGUwLDB4NDQsMHg4MCwweGYwLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3ZiwweDBjLDB4N2UsMHgwMCwweDEyLDB4NGIsMHg2YywweDkwfSB9LAoteyAgMTIsMHg0OGY5LDAsezB4N2YsMHhkNiwweGUwLDB4NTQsMHhmZSwweGYwLDB4NTMsMHg4NywweGZlLDB4ZDIsMHhhZiwweDIyfSB9LAoteyAgMTYsMHg0OTA1LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDMwLDB4MzAsMHgwNCwweGUwLDB4NDR9IH0sCi17ICAxNiwweDQ5MTUsMCx7MHgwMiwweGYwLDB4N2YsMHhkYywweDdlLDB4MDUsMHgxMiwweDRiLDB4NmMsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZjcsMHhmMH0gfSwKLXsgICA1LDB4NDkyNSwwLHsweGUwLDB4NDQsMHgwNCwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQ5MmEsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NzAsMHgxNCwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4MDQsMHgxMn0gfSwKLXsgIDE2LDB4NDkzYSwwLHsweDQ2LDB4MDAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSB9LAoteyAgIDMsMHg0OTRhLDAsezB4MDEsMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0OTRkLDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDcwLDB4MTMsMHg5MCwweDdmLDB4ZTksMHhlMCwweDE0LDB4NzAsMHgwNCwweDEyLDB4NDV9IH0sCi17ICAxNiwweDQ5NWQsMCx7MHgzYiwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0gfSwKLXsgICAyLDB4NDk2ZCwwLHsweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQ5NmYsMCx7MHhlNCwweGZmLDB4NzQsMHhlOCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHg5Nn0gfSwKLXsgIDE0LDB4NDk3ZiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlZSwweGYwLDB4MGYsMHhiZiwweDA4LDB4ZTR9IH0sCi17ICAgMSwweDQ5OGQsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDk4ZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwMiwweGYwfSB9LAoteyAgMTMsMHg0OTllLDAsezB4OTAsMHg3ZiwweGI3LDB4NzQsMHgwMywweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDQ5YWIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDIsMHhmMH0gfSwKLXsgIDEzLDB4NDliYiwwLHsweDkwLDB4N2YsMHhjNywweDc0LDB4MDMsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0OWM4LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHgzMCwweGU3LDB4MTIsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDdmLDB4MTQsMHg3ZSwweDAwLDB4MTJ9IH0sCi17ICAxMCwweDQ5ZDgsMCx7MHg0YiwweDZjLDB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDllMiwwLHsweGU0LDB4ZjUsMHgxYSwweDc1LDB4MWIsMHgwMSwweDkwLDB4NzksMHg5MSwweDA0LDB4ZjAsMHhhMywweGYwLDB4ZTQsMHhhMywweGYwfSB9LAoteyAgIDgsMHg0OWYyLDAsezB4YTMsMHg3NCwweDBhLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDlmYSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MmUsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAxfSB9LAoteyAgIDgsMHg0YTBhLDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGExMiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MmQsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA4fSB9LAoteyAgIDgsMHg0YTIyLDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGEyYSwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjUsMHgwOCwweGU0LDB4OTAsMHg3OSwweDYyLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweDkwfSB9LAoteyAgIDcsMHg0YTNhLDAsezB4NzksMHg2NiwweGYwLDB4YTMsMHhmMCwweGQzLDB4MjJ9IH0sCi17ICAxNiwweDRhNDEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICA3LDB4NGE1MSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTU4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDA0LDB4ZjB9IH0sCi17ICAgNywweDRhNjgsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGE2ZiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwNCwweGYwfSB9LAoteyAgIDcsMHg0YTdmLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhODYsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDgsMHhmMH0gfSwKLXsgICA3LDB4NGE5NiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTlkLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA4LDB4ZjB9IH0sCi17ICAgNywweDRhYWQsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGFiNCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgxMCwweGYwfSB9LAoteyAgIDcsMHg0YWM0LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhY2IsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MTAsMHhmMH0gfSwKLXsgICA3LDB4NGFkYiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YWUyLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDIwLDB4ZjB9IH0sCi17ICAgNywweDRhZjIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGFmOSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgyMCwweGYwfSB9LAoteyAgIDcsMHg0YjA5LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRiMTAsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4NDAsMHhmMH0gfSwKLXsgICA3LDB4NGIyMCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YjI3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDQwLDB4ZjB9IH0sCi17ICAgNywweDRiMzcsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGIzZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHg4MCwweGYwfSB9LAoteyAgIDcsMHg0YjRlLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRiNTUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4ODAsMHhmMH0gfSwKLXsgICA3LDB4NGI2NSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YjZjLDAsezB4OGUsMHgzMywweDhmLDB4MzQsMHhlNSwweDM0LDB4MTUsMHgzNCwweGFlLDB4MzMsMHg3MCwweDAyLDB4MTUsMHgzMywweDRlLDB4NjB9IH0sCi17ICAgNywweDRiN2MsMCx7MHgwNSwweDEyLDB4MDcsMHg4OSwweDgwLDB4ZWUsMHgyMn0gfSwKLXsgIDE1LDB4NGI4MywwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4YjQsMHhmZiwweDA0LDB4MTIsMHgzMCwweDAwLDB4MjIsMHgxMiwweDM2LDB4MGUsMHgyMn0gfSwKLXsgIDE0LDB4NGI5MiwwLHsweGMwLDB4ZTAsMHhjMiwweDhiLDB4ZDIsMHgyNCwweDMwLDB4MjMsMHgwMiwweGMyLDB4MjMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNCwweDRiYTAsMCx7MHg5MCwweDdmLDB4MDAsMHhlNSwweDA4LDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHhkMywweDIyfSB9LAoteyAgIDksMHg0YmFlLDAsezB4MzAsMHgyNCwweDA1LDB4YzIsMHgyNCwweDc1LDB4MTgsMHgwMSwweDIyfSB9LAoteyAgIDksMHg0YmI3LDAsezB4MzAsMHgyMywweDA1LDB4YzIsMHgyMywweGU0LDB4ZjUsMHgxOCwweDIyfSB9LAoteyAgIDcsMHg0YmMwLDAsezB4NTMsMHhjMCwweGZlLDB4NTMsMHhjMCwweGZkLDB4MzJ9IH0sCi17ICAgNiwweDRiYzcsMCx7MHg1MywweDkxLDB4N2YsMHhkMiwweDI1LDB4MzJ9IH0sCi17ICAgNSwweDRiY2QsMCx7MHhjMiwweDg5LDB4ZDIsMHgyMywweDMyfSB9LAoteyAgIDMsMHg0YmQyLDAsezB4YzIsMHg4ZCwweDMyfSB9LAoteyAgIDMsMHg0YmQ1LDAsezB4YzIsMHg4ZiwweDMyfSB9LAoteyAgIDIsMHg0YmQ4LDAsezB4ZDMsMHgyMn0gfSwKLXsgICAyLDB4NGJkYSwwLHsweGQzLDB4MjJ9IH0sCi17ICAgMiwweDRiZGMsMCx7MHhkMywweDIyfSB9LAoteyAgIDIsMHg0YmRlLDAsezB4ZDMsMHgyMn0gfSwKLXsgICAyLDB4NGJlMCwwLHsweGQzLDB4MjJ9IH0sCi17ICAgMiwweDRiZTIsMCx7MHhkMywweDIyfSB9LAoteyAgIDIsMHg0YmU0LDAsezB4YzMsMHgyMn0gfSwKLXsgICAxLDB4NGJlNiwwLHsweDIyfSB9LAoteyAgIDAsMHgwMDAwLDEsezAgfX0KLX07Ci0vKgotVkVSU0lPTj0xLjAuMi45MTYKLURBVEU9MTIuMDIuMjAwMgotKi8KLS8qCi0gKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCi0gKgotICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCi0gKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKLSAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCi0gKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCi0gKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCi0gKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCi0gKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCi0gKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgotICovCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX0xvYWRlcltdID0gewoteyAgIDMsMHgwMDAwLDAsezB4MDIsMHgwMywweDFjfSB9LAoteyAgIDMsMHgwMDQzLDAsezB4MDIsMHgwNCwweDAwfSB9LAoteyAgMTYsMHgwMTAwLDAsezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDViLDB4NjAsMHg2MCwweDI0LDB4MDIsMHg2MCwweDAzLDB4MDIsMHgwMSwweGJlLDB4OTB9IH0sCi17ICAxNiwweDAxMTAsMCx7MHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNSwweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MH0gfSwKLXsgIDE2LDB4MDEyMCwwLHsweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1LDB4MTYsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgxNSwweGU1fSB9LAoteyAgMTYsMHgwMTMwLDAsezB4MTYsMHg0NSwweDE1LDB4NzAsMHgwMywweDAyLDB4MDEsMHhiZSwweGU0LDB4OTAsMHg3ZiwweGM1LDB4ZjAsMHg5MCwweDdmLDB4YjR9IH0sCi17ICAxNiwweDAxNDAsMCx7MHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwYywweDEyLDB4MDIsMHg3NywweGFmLDB4MGMsMHg3ZX0gfSwKLXsgIDE2LDB4MDE1MCwwLHsweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1LDB4MGEsMHhjMywweGU1LDB4MTYsMHg5ZiwweGY1fSB9LAoteyAgMTYsMHgwMTYwLDAsezB4MTYsMHhlNSwweDE1LDB4OWUsMHhmNSwweDE1LDB4ODAsMHhjNywweDkwLDB4N2YsMHhlYSwweGUwLDB4NzUsMHgwYSwweDAwLDB4ZjV9IH0sCi17ICAxNiwweDAxNzAsMCx7MHgwYiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDBhLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHg3NSwweDE1LDB4MDAsMHhmNX0gfSwKLXsgIDE2LDB4MDE4MCwwLHsweDE2LDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MTUsMHhlNSwweDE2LDB4NDUsMHgxNSwweDYwLDB4MzAsMHhlNCwweDkwfSB9LAoteyAgMTYsMHgwMTkwLDAsezB4N2YsMHhjNSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHgyMCwweGUzLDB4ZjksMHg5MCwweDdmLDB4YzUsMHhlMCwweGY1LDB4MGN9IH0sCi17ICAxNiwweDAxYTAsMCx7MHgxMiwweDAyLDB4OGYsMHhhZiwweDBjLDB4N2UsMHgwMCwweGVmLDB4MjUsMHgwYiwweGY1LDB4MGIsMHhlZSwweDM1LDB4MGEsMHhmNX0gfSwKLXsgIDE1LDB4MDFiMCwwLHsweDBhLDB4YzMsMHhlNSwweDE2LDB4OWYsMHhmNSwweDE2LDB4ZTUsMHgxNSwweDllLDB4ZjUsMHgxNSwweDgwLDB4Y2EsMHhjM30gfSwKLXsgICAxLDB4MDFiZiwwLHsweDIyfSB9LAoteyAgMTYsMHgwMWMwLDAsezB4YzIsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4LDB4MjAsMHg5MCwweDdmLDB4YWIsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmLDB4YTl9IH0sCi17ICAxNiwweDAxZDAsMCx7MHhmMCwweDkwLDB4N2YsMHhhYSwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweDk1LDB4ZTAsMHg0NCwweGMwLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MDFlMCwwLHsweDdmLDB4OTgsMHhlMCwweDQ0LDB4YzAsMHhmMCwweDkwLDB4N2YsMHg5ZSwweGUwLDB4NDQsMHhjMCwweGYwLDB4ZTQsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwMWYwLDAsezB4OTQsMHhmMCwweDkwLDB4N2YsMHg5ZCwweGUwLDB4NDQsMHgwZiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweGYwLDB4ZjB9IH0sCi17ICAxNiwweDAyMDAsMCx7MHg5MCwweDdmLDB4YWYsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgwZCwweGYwLDB4ZDIsMHhhZn0gfSwKLXsgIDE2LDB4MDIxMCwwLHsweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHhmMCwweGYwLDB4MjAsMHgyMCwweDQyLDB4NzUsMHgxNCwweDAwLDB4NzUsMHgxMywweDAwfSB9LAoteyAgMTYsMHgwMjIwLDAsezB4NzUsMHgxMiwweDAwLDB4NzUsMHgxMSwweDAwLDB4N2YsMHg0OCwweDdlLDB4OTIsMHg3ZCwweDAwLDB4N2MsMHgwMCwweGFiLDB4MTR9IH0sCi17ICAxNiwweDAyMzAsMCx7MHhhYSwweDEzLDB4YTksMHgxMiwweGE4LDB4MTEsMHhjMywweDEyLDB4MDQsMHg5YSwweDUwLDB4ZGIsMHgyMCwweDIwLDB4ZDgsMHg3YX0gfSwKLXsgIDE2LDB4MDI0MCwwLHsweDAwLDB4NzksMHgwMCwweDc4LDB4MDAsMHhlNSwweDE0LDB4MjQsMHgwMSwweGY1LDB4MTQsMHhlYSwweDM1LDB4MTMsMHhmNSwweDEzfSB9LAoteyAgMTYsMHgwMjUwLDAsezB4ZTksMHgzNSwweDEyLDB4ZjUsMHgxMiwweGU4LDB4MzUsMHgxMSwweGY1LDB4MTEsMHg4MCwweGNhLDB4MzAsMHgyMCwweGZkLDB4MTJ9IH0sCi17ICAxNiwweDAyNjAsMCx7MHgwMSwweDAwLDB4NTAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0gfSwKLXsgICA2LDB4MDI3MCwwLHsweDAyLDB4ZjAsMHhjMiwweDIwLDB4ODAsMHhlNn0gfSwKLXsgICAxLDB4MDI3NiwwLHsweDIyfSB9LAoteyAgMTYsMHgwMjc3LDAsezB4ZTUsMHgwYywweGZmLDB4ZTUsMHgwYiwweGY1LDB4ODIsMHhlNSwweDBhLDB4ZjUsMHg4MywweDc1LDB4OTIsMHg3ZSwweDc0LDB4YzB9IH0sCi17ICAgOCwweDAyODcsMCx7MHhmOCwweGUyLDB4MDgsMHhmMCwweGEzLDB4ZGYsMHhmYSwweDIyfSB9LAoteyAgMTYsMHgwMjhmLDAsezB4OTAsMHg3ZiwweDk2LDB4ODUsMHg4MywweDkyLDB4YTgsMHg4MiwweDc5LDB4MDIsMHg5MCwweDAwLDB4MDAsMHhlMCwweGI0LDB4MDB9IH0sCi17ICAxNiwweDAyOWYsMCx7MHgzNywweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5MywweGUwLDB4NTQsMHhmYywweGYwLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NH0gfSwKLXsgIDE2LDB4MDJhZiwwLHsweGZjLDB4ZjAsMHg5MCwweDdmLDB4OWMsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHg5NCwweGUwLDB4NTQsMHg3ZiwweGYwfSB9LAoteyAgMTYsMHgwMmJmLDAsezB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4OWQsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDAyY2YsMCx7MHg5NywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NDQsMHg4MCwweGYwLDB4ZTUsMHgwYywweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmNX0gfSwKLXsgIDE2LDB4MDJkZiwwLHsweDI4LDB4ZTQsMHhhMiwweDQ3LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDYsMHgzMywweGYyLDB4NjksMHhmMiwweGU0fSB9LAoteyAgMTYsMHgwMmVmLDAsezB4YTIsMHg0NSwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ0LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDN9IH0sCi17ICAxNiwweDAyZmYsMCx7MHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MiwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQxLDB4MzMsMHhmMn0gfSwKLXsgIDEzLDB4MDMwZiwwLHsweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDAsMHgzMywweGYyLDB4NjksMHhmMiwweGEzLDB4ZGYsMHhjMiwweDIyfSB9LAoteyAgMTIsMHgwMzFjLDAsezB4NzgsMHg3ZiwweGU0LDB4ZjYsMHhkOCwweGZkLDB4NzUsMHg4MSwweDI5LDB4MDIsMHgwMywweDYzfSB9LAoteyAgMTYsMHgwMzI4LDAsezB4MDIsMHgwMSwweGMwLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHg0MCwweDAzLDB4ZjYsMHg4MCwweDAxLDB4ZjJ9IH0sCi17ICAxNiwweDAzMzgsMCx7MHgwOCwweGRmLDB4ZjQsMHg4MCwweDI5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHg1NCwweDA3LDB4MjQsMHgwYywweGM4LDB4YzMsMHgzM30gfSwKLXsgIDE2LDB4MDM0OCwwLHsweGM0LDB4NTQsMHgwZiwweDQ0LDB4MjAsMHhjOCwweDgzLDB4NDAsMHgwNCwweGY0LDB4NTYsMHg4MCwweDAxLDB4NDYsMHhmNiwweGRmfSB9LAoteyAgMTYsMHgwMzU4LDAsezB4ZTQsMHg4MCwweDBiLDB4MDEsMHgwMiwweDA0LDB4MDgsMHgxMCwweDIwLDB4NDAsMHg4MCwweDkwLDB4MDQsMHg4NCwweGU0LDB4N2V9IH0sCi17ICAxNiwweDAzNjgsMCx7MHgwMSwweDkzLDB4NjAsMHhiYywweGEzLDB4ZmYsMHg1NCwweDNmLDB4MzAsMHhlNSwweDA5LDB4NTQsMHgxZiwweGZlLDB4ZTQsMHg5M30gfSwKLXsgIDE2LDB4MDM3OCwwLHsweGEzLDB4NjAsMHgwMSwweDBlLDB4Y2YsMHg1NCwweGMwLDB4MjUsMHhlMCwweDYwLDB4YTgsMHg0MCwweGI4LDB4ZTQsMHg5MywweGEzfSB9LAoteyAgMTYsMHgwMzg4LDAsezB4ZmEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2F9IH0sCi17ICAxNiwweDAzOTgsMCx7MHhmMCwweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYSwweGRmLDB4ZTksMHhkZSwweGU3LDB4ODAsMHhiZX0gfSwKLXsgIDE2LDB4MDNhOCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDkwLDB4N2YsMHhjNCwweGU0LDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmfSB9LAoteyAgMTEsMHgwM2I4LDAsezB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4MDNjMywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAxfSB9LAoteyAgIDgsMHgwM2QzLDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4MDNkYiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGQwfSB9LAoteyAgIDYsMHgwM2ViLDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgIDEsMHgwM2YxLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjIsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmMywwLHsweDMyfSB9LAoteyAgIDEsMHgwM2Y0LDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjUsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmNiwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2Y3LDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjgsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmOSwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2ZhLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZmIsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmYywwLHsweDMyfSB9LAoteyAgIDEsMHgwM2ZkLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZmUsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmZiwwLHsweDMyfSB9LAoteyAgMTYsMHgwNDAwLDAsezB4MDIsMHgwMywweGMzLDB4MDAsMHgwMiwweDAzLDB4ZGIsMHgwMCwweDAyLDB4MDMsMHhhOCwweDAwLDB4MDIsMHgwNCwweDZlLDB4MDB9IH0sCi17ICAxNiwweDA0MTAsMCx7MHgwMiwweDA0LDB4NTgsMHgwMCwweDAyLDB4MDMsMHhmMSwweDAwLDB4MDIsMHgwMywweGYyLDB4MDAsMHgwMiwweDAzLDB4ZjMsMHgwMH0gfSwKLXsgIDE2LDB4MDQyMCwwLHsweDAyLDB4MDMsMHhmNCwweDAwLDB4MDIsMHgwMywweGY1LDB4MDAsMHgwMiwweDAzLDB4ZjYsMHgwMCwweDAyLDB4MDMsMHhmNywweDAwfSB9LAoteyAgMTYsMHgwNDMwLDAsezB4MDIsMHgwMywweGY4LDB4MDAsMHgwMiwweDAzLDB4ZjksMHgwMCwweDAyLDB4MDMsMHhmYSwweDAwLDB4MDIsMHgwMywweGZiLDB4MDB9IH0sCi17ICAxNiwweDA0NDAsMCx7MHgwMiwweDAzLDB4ZmMsMHgwMCwweDAyLDB4MDMsMHhmZCwweDAwLDB4MDIsMHgwMywweGZlLDB4MDAsMHgwMiwweDAzLDB4ZmYsMHgwMH0gfSwKLXsgICA4LDB4MDQ1MCwwLHsweDAyLDB4MDQsMHhhYiwweDAwLDB4MDIsMHgwNCwweGFjLDB4MDB9IH0sCi17ICAxNiwweDA0NTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDEwLDB4ZjAsMHhkMH0gfSwKLXsgICA2LDB4MDQ2OCwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4MDQ2ZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDgsMHhmMCwweGQwfSB9LAoteyAgIDYsMHgwNDdlLDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHgwNDg0LDAsezB4MDIsMHgwYSwweDAwLDB4MGYsMHgwMSwweDBjLDB4MTEsMHgwNCwweDBkLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MSwweDAwLDB4MDB9IH0sCi17ICAgMSwweDA0OTQsMCx7MHgwMH0gfSwKLXsgICA0LDB4MDQ5NSwwLHsweDAyLDB4MTcsMHgwMCwweDAwfSB9LAoteyAgIDEsMHgwNDk5LDAsezB4MDB9IH0sCi17ICAxNiwweDA0OWEsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlOCwweDljLDB4NDUsMHhmMH0gfSwKLXsgICAxLDB4MDRhYSwwLHsweDIyfSB9LAoteyAgIDEsMHgwNGFiLDAsezB4MzJ9IH0sCi17ICAgMSwweDA0YWMsMCx7MHgzMn0gfSwKLXsgIDE2LDB4MTEwMCwwLHsweDEyLDB4MDEsMHgxMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg2YSwweDA4LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMSwweDAyfSB9LAoteyAgMTYsMHgxMTEwLDAsezB4MDAsMHgwMSwweDA5LDB4MDIsMHgyMCwweDAwLDB4MDEsMHgwMSwweDAzLDB4YTAsMHgwMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDExMjAsMCx7MHhmZiwweDAwLDB4MDAsMHgwNCwweDA3LDB4MDUsMHg4MiwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDAyLDB4MDIsMHg0MH0gfSwKLXsgIDE2LDB4MTEzMCwwLHsweDAwLDB4MDAsMHgwNCwweDAzLDB4MDksMHgwNCwweDI2LDB4MDMsMHg0MSwweDAwLDB4NmUsMHgwMCwweDYzLDB4MDAsMHg2OCwweDAwfSB9LAoteyAgMTYsMHgxMTQwLDAsezB4NmYsMHgwMCwweDcyLDB4MDAsMHgyMCwweDAwLDB4NDMsMHgwMCwweDY4LDB4MDAsMHg2OSwweDAwLDB4NzAsMHgwMCwweDczLDB4MDB9IH0sCi17ICAxNiwweDExNTAsMCx7MHgyYywweDAwLDB4MjAsMHgwMCwweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NjMsMHgwMCwweDJlLDB4MDAsMHgyOCwweDAzLDB4NDYsMHgwMH0gfSwKLXsgIDE2LDB4MTE2MCwwLHsweDY5LDB4MDAsMHg3MiwweDAwLDB4NmQsMHgwMCwweDc3LDB4MDAsMHg2MSwweDAwLDB4NzIsMHgwMCwweDY1LDB4MDAsMHgyMCwweDAwfSB9LAoteyAgMTYsMHgxMTcwLDAsezB4NDYsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NmQsMHgwMCwweDY1LDB4MDAsMHg1NywweDAwLDB4NmYsMHgwMCwweDcyLDB4MDB9IH0sCi17ICAxNiwweDExODAsMCx7MHg2YiwweDAwLDB4NzMsMHgwMCwweDJhLDB4MDMsMHg0MywweDAwLDB4NmYsMHgwMCwweDZlLDB4MDAsMHg2NiwweDAwLDB4NjksMHgwMH0gfSwKLXsgIDE2LDB4MTE5MCwwLHsweDY3LDB4MDAsMHg3NSwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg3NCwweDAwLDB4NjksMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwfSB9LAoteyAgMTYsMHgxMWEwLDAsezB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDIyLDB4MDN9IH0sCi17ICAxNiwweDExYjAsMCx7MHg0OSwweDAwLDB4NmUsMHgwMCwweDc0LDB4MDAsMHg2NSwweDAwLDB4NzIsMHgwMCwweDY2LDB4MDAsMHg2MSwweDAwLDB4NjMsMHgwMH0gfSwKLXsgIDE2LDB4MTFjMCwwLHsweDY1LDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwfSB9LAoteyAgIDIsMHgxMWQwLDAsezB4MDAsMHgwMH0gfSwKLXsgICAwLDB4MDAwMCwxLHswIH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9lbWk2Mi5jIGIvZHJpdmVycy91c2IvbWlzYy9lbWk2Mi5jCmluZGV4IDFhMmI3OWEuLjIwODg2YzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjIuYworKysgYi9kcml2ZXJzL3VzYi9taXNjL2VtaTYyLmMKQEAgLTE2LDE1ICsxNiw4IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLQotI2RlZmluZSBNQVhfSU5URUxfSEVYX1JFQ09SRF9MRU5HVEggMTYKLXR5cGVkZWYgc3RydWN0IF9JTlRFTF9IRVhfUkVDT1JECi17Ci0JX191MzIJbGVuZ3RoOwotCV9fdTMyCWFkZHJlc3M7Ci0JX191MzIJdHlwZTsKLQlfX3U4CWRhdGFbTUFYX0lOVEVMX0hFWF9SRUNPUkRfTEVOR1RIXTsKLX0gSU5URUxfSEVYX1JFQ09SRCwgKlBJTlRFTF9IRVhfUkVDT1JEOworI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogCiAvKiBpbmNsdWRlIGZpcm13YXJlICh2YXJpYWJsZXMpKi8KIApAQCAtMzMsOSArMjYsOSBAQAogLy8jdW5kZWYgU1BESUYJLyogaWYgeW91IHdhbnQgTUlESSB1bmNvbW1lbnQgdGhpcyBsaW5lICovIAogCiAjaWZkZWYgU1BESUYKLSMgIGluY2x1ZGUgImVtaTYyX2Z3X3MuaCIgLyogc3BkaWYgZncgKi8KKyNkZWZpbmUgRklSTVdBUkVfRlcgImVtaTYyL3NwZGlmLmZ3IgogI2Vsc2UKLSMgIGluY2x1ZGUgImVtaTYyX2Z3X20uaCIgLyogbWlkaSBmdyAqLworI2RlZmluZSBGSVJNV0FSRV9GVyAiZW1pNjIvbWlkaS5mdyIKICNlbmRpZgogCiAjZGVmaW5lIEVNSTYyX1ZFTkRPUl9JRCAJCTB4MDg2YSAgLyogRW1hZ2ljIFNvZnQtdW5kIEhhcmR3YXJlIEdtQkggKi8KQEAgLTQ4LDcgKzQxLDkgQEAKICNkZWZpbmUgQ1BVQ1NfUkVHCQkweDdGOTIgIC8qIEVaLVVTQiBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIuICBCaXQgMCBjb250cm9scyA4MDUxIHJlc2V0ICovIAogI2RlZmluZSBJTlRFUk5BTF9SQU0oYWRkcmVzcykgICAoYWRkcmVzcyA8PSBNQVhfSU5URVJOQUxfQUREUkVTUykKIAotc3RhdGljIGludCBlbWk2Ml93cml0ZW1lbW9yeSggc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsIHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsIF9fdTggYlJlcXVlc3QpOworc3RhdGljIGludCBlbWk2Ml93cml0ZW1lbW9yeShzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywKKwkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwKKwkJCSAgICAgX191OCBiUmVxdWVzdCk7CiBzdGF0aWMgaW50IGVtaTYyX3NldF9yZXNldChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCB1bnNpZ25lZCBjaGFyIHJlc2V0X2JpdCk7CiBzdGF0aWMgaW50IGVtaTYyX2xvYWRfZmlybXdhcmUgKHN0cnVjdCB1c2JfZGV2aWNlICpkZXYpOwogc3RhdGljIGludCBlbWk2Ml9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKTsKQEAgLTU4LDcgKzUzLDkgQEAKIAogCiAvKiB0aGFua3MgdG8gZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLmMgY29kZSAqLwotc3RhdGljIGludCBlbWk2Ml93cml0ZW1lbW9yeSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsIHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsIF9fdTggcmVxdWVzdCkKK3N0YXRpYyBpbnQgZW1pNjJfd3JpdGVtZW1vcnkoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsCisJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsCisJCQkgICAgIF9fdTggcmVxdWVzdCkKIHsKIAlpbnQgcmVzdWx0OwogCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlciA9ICBrbWVtZHVwKGRhdGEsIGxlbmd0aCwgR0ZQX0tFUk5FTCk7CkBAIC05MSw5ICs4OCwxMiBAQAogCiBzdGF0aWMgaW50IGVtaTYyX2xvYWRfZmlybXdhcmUgKHN0cnVjdCB1c2JfZGV2aWNlICpkZXYpCiB7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpsb2FkZXJfZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqYml0c3RyZWFtX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZpcm13YXJlX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKIAlpbnQgZXJyOwogCWludCBpOwotCWludCBwb3MgPSAwOwkvKiBQb3NpdGlvbiBpbiBoZXggcmVjb3JkICovCiAJX191MzIgYWRkcjsJLyogQWRkcmVzcyB0byB3cml0ZSAqLwogCV9fdTggKmJ1ZjsKIApAQCAtMTA1LDYgKzEwNSwyMiBAQAogCQlnb3RvIHdyYXBlcnI7CiAJfQogCisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZsb2FkZXJfZncsICJlbWk2Mi9sb2FkZXIuZnciLCAmZGV2LT5kZXYpOworCWlmIChlcnIpCisJCWdvdG8gbm9mdzsKKworCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmYml0c3RyZWFtX2Z3LCAiZW1pNjIvYml0c3RyZWFtLmZ3IiwKKwkJCQkgICAgJmRldi0+ZGV2KTsKKwlpZiAoZXJyKQorCQlnb3RvIG5vZnc7CisKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZpcm13YXJlX2Z3LCBGSVJNV0FSRV9GVywgJmRldi0+ZGV2KTsKKwlpZiAoZXJyKSB7CisJbm9mdzoKKwkJZXJyKCAiJXMgLSByZXF1ZXN0X2Zpcm13YXJlKCkgZmFpbGVkIiwgX19mdW5jX18pOworCQlnb3RvIHdyYXBlcnI7CisJfQorCiAJLyogQXNzZXJ0IHJlc2V0IChzdG9wIHRoZSBDUFUgaW4gdGhlIEVNSSkgKi8KIAllcnIgPSBlbWk2Ml9zZXRfcmVzZXQoZGV2LDEpOwogCWlmIChlcnIgPCAwKSB7CkBAIC0xMTIsMTMgKzEyOCwxOCBAQAogCQlnb3RvIHdyYXBlcnI7CiAJfQogCisJcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWxvYWRlcl9mdy0+ZGF0YTsKKwogCS8qIDEuIFdlIG5lZWQgdG8gcHV0IHRoZSBsb2FkZXIgZm9yIHRoZSBGUEdBIGludG8gdGhlIEVaLVVTQiAqLwotCWZvciAoaT0wOyBnX2VtaTYyX2xvYWRlcltpXS50eXBlID09IDA7IGkrKykgewotCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGdfZW1pNjJfbG9hZGVyW2ldLmFkZHJlc3MsIGdfZW1pNjJfbG9hZGVyW2ldLmRhdGEsIGdfZW1pNjJfbG9hZGVyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfSU5URVJOQUwpOworCXdoaWxlIChyZWMpIHsKKwkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJQU5DSE9SX0xPQURfSU5URVJOQUwpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCWdvdG8gd3JhcGVycjsKIAkJfQorCQlyZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7CiAJfQogCiAJLyogRGUtYXNzZXJ0IHJlc2V0IChsZXQgdGhlIENQVSBydW4pICovCkBAIC0xMzIsMTUgKzE1MywxNiBAQAogCS8qIDIuIFdlIHVwbG9hZCB0aGUgRlBHQSBmaXJtd2FyZSBpbnRvIHRoZSBFTUkKIAkgKiBOb3RlOiBjb2xsZWN0IHVwIHRvIDEwMjMgKHllcyEpIGJ5dGVzIGFuZCBzZW5kIHRoZW0gd2l0aAogCSAqIGEgc2luZ2xlIHJlcXVlc3QuIFRoaXMgaXMgX211Y2hfIGZhc3RlciEgKi8KKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopYml0c3RyZWFtX2Z3LT5kYXRhOwogCWRvIHsKIAkJaSA9IDA7Ci0JCWFkZHIgPSBnX2VtaTYyYnNbcG9zXS5hZGRyZXNzOworCQlhZGRyID0gYmUzMl90b19jcHUocmVjLT5hZGRyKTsKIAogCQkvKiBpbnRlbCBoZXggcmVjb3JkcyBhcmUgdGVybWluYXRlZCB3aXRoIHR5cGUgMCBlbGVtZW50ICovCi0JCXdoaWxlICgoZ19lbWk2MmJzW3Bvc10udHlwZSA9PSAwKSAmJiAoaSArIGdfZW1pNjJic1twb3NdLmxlbmd0aCA8IEZXX0xPQURfU0laRSkpIHsKLQkJCW1lbWNweShidWYgKyBpLCBnX2VtaTYyYnNbcG9zXS5kYXRhLCBnX2VtaTYyYnNbcG9zXS5sZW5ndGgpOwotCQkJaSArPSBnX2VtaTYyYnNbcG9zXS5sZW5ndGg7Ci0JCQlwb3MrKzsKKwkJd2hpbGUgKHJlYyAmJiAoaSArIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSA8IEZXX0xPQURfU0laRSkpIHsKKwkJCW1lbWNweShidWYgKyBpLCByZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CisJCQlpICs9IGJlMTZfdG9fY3B1KHJlYy0+bGVuKTsKKwkJCXJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsKIAkJfQogCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGFkZHIsIGJ1ZiwgaSwgQU5DSE9SX0xPQURfRlBHQSk7CiAJCWlmIChlcnIgPCAwKSB7CkBAIC0xNTcsOCArMTc5LDExIEBACiAJfQogCiAJLyogMy4gV2UgbmVlZCB0byBwdXQgdGhlIGxvYWRlciBmb3IgdGhlIGZpcm13YXJlIGludG8gdGhlIEVaLVVTQiAoYWdhaW4uLi4pICovCi0JZm9yIChpPTA7IGdfZW1pNjJfbG9hZGVyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19lbWk2Ml9sb2FkZXJbaV0uYWRkcmVzcywgZ19lbWk2Ml9sb2FkZXJbaV0uZGF0YSwgZ19lbWk2Ml9sb2FkZXJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopbG9hZGVyX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJQU5DSE9SX0xPQURfSU5URVJOQUwpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCWdvdG8gd3JhcGVycjsKQEAgLTE3NSwyOSArMjAwLDE5IEBACiAKIAkvKiA0LiBXZSBwdXQgdGhlIHBhcnQgb2YgdGhlIGZpcm13YXJlIHRoYXQgbGllcyBpbiB0aGUgZXh0ZXJuYWwgUkFNIGludG8gdGhlIEVaLVVTQiAqLwogCi0vKiBGSVhNRTogcXVpY2sgYW5kIGRpcnR5IGlmZGVmcyAqLwotI2lmZGVmIFNQRElGCi0JZm9yIChpPTA7IGdfSGV4U3BkaWZGdzYyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmICghSU5URVJOQUxfUkFNKGdfSGV4U3BkaWZGdzYyW2ldLmFkZHJlc3MpKSB7Ci0JCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGdfSGV4U3BkaWZGdzYyW2ldLmFkZHJlc3MsIGdfSGV4U3BkaWZGdzYyW2ldLmRhdGEsIGdfSGV4U3BkaWZGdzYyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfRVhURVJOQUwpOworCWZvciAocmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZpcm13YXJlX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJaWYgKCFJTlRFUk5BTF9SQU0oYmUzMl90b19jcHUocmVjLT5hZGRyKSkpIHsKKwkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQkJQU5DSE9SX0xPQURfRVhURVJOQUwpOwogCQkJaWYgKGVyciA8IDApIHsKIAkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJCWdvdG8gd3JhcGVycjsKIAkJCX0KIAkJfQogCX0KLSNlbHNlIC8qIE1JREkgKi8KLQlmb3IgKGk9MDsgZ19IZXhNaWRpRnc2MltpXS50eXBlID09IDA7IGkrKykgewotCQlpZiAoIUlOVEVSTkFMX1JBTShnX0hleE1pZGlGdzYyW2ldLmFkZHJlc3MpKSB7Ci0JCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGdfSGV4TWlkaUZ3NjJbaV0uYWRkcmVzcywgZ19IZXhNaWRpRnc2MltpXS5kYXRhLCBnX0hleE1pZGlGdzYyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfRVhURVJOQUwpOwotCQkJaWYgKGVyciA8IDApIHsKLQkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZFxuIiwgX19mdW5jX18sIGVycik7Ci0JCQkJZ290byB3cmFwZXJyOwotCQkJCXJldHVybiBlcnI7Ci0JCQl9Ci0JCX0KLQl9Ci0jZW5kaWYJCisKIAkvKiBBc3NlcnQgcmVzZXQgKHN0b3AgdGhlIENQVSBpbiB0aGUgRU1JKSAqLwogCWVyciA9IGVtaTYyX3NldF9yZXNldChkZXYsMSk7CiAJaWYgKGVyciA8IDApIHsKQEAgLTIwNSwyOSArMjIwLDE5IEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKLS8qIEZJWE1FOiBxdWljayBhbmQgZGlydHkgaWZkZWZzICovCi0jaWZkZWYgU1BESUYKLQlmb3IgKGk9MDsgZ19IZXhTcGRpZkZ3NjJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJaWYgKElOVEVSTkFMX1JBTShnX0hleFNwZGlmRnc2MltpXS5hZGRyZXNzKSkgewotCQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBnX0hleFNwZGlmRnc2MltpXS5hZGRyZXNzLCBnX0hleFNwZGlmRnc2MltpXS5kYXRhLCBnX0hleFNwZGlmRnc2MltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwkgICAgIHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWlmIChJTlRFUk5BTF9SQU0oYmUzMl90b19jcHUocmVjLT5hZGRyKSkpIHsKKwkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQkJQU5DSE9SX0xPQURfRVhURVJOQUwpOwogCQkJaWYgKGVyciA8IDApIHsKIAkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJCWdvdG8gd3JhcGVycjsKIAkJCX0KIAkJfQogCX0KLSNlbHNlIC8qIE1JREkgKi8KLQlmb3IgKGk9MDsgZ19IZXhNaWRpRnc2MltpXS50eXBlID09IDA7IGkrKykgewotCQlpZiAoSU5URVJOQUxfUkFNKGdfSGV4TWlkaUZ3NjJbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19IZXhNaWRpRnc2MltpXS5hZGRyZXNzLCBnX0hleE1pZGlGdzYyW2ldLmRhdGEsIGdfSGV4TWlkaUZ3NjJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7Ci0JCQlpZiAoZXJyIDwgMCkgewotCQkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkXG4iLCBfX2Z1bmNfXywgZXJyKTsKLQkJCQlnb3RvIHdyYXBlcnI7Ci0JCQl9Ci0JCX0KLQl9Ci0jZW5kaWYKLQkKKwogCS8qIERlLWFzc2VydCByZXNldCAobGV0IHRoZSBDUFUgcnVuKSAqLwogCWVyciA9IGVtaTYyX3NldF9yZXNldChkZXYsMCk7CiAJaWYgKGVyciA8IDApIHsKQEAgLTIzNiw2ICsyNDEsMTAgQEAKIAl9CiAJbXNsZWVwKDI1MCk7CS8qIGxldCBkZXZpY2Ugc2V0dGxlICovCiAKKwlyZWxlYXNlX2Zpcm13YXJlKGxvYWRlcl9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShiaXRzdHJlYW1fZncpOworCXJlbGVhc2VfZmlybXdhcmUoZmlybXdhcmVfZncpOworCiAJa2ZyZWUoYnVmKTsKIAogCS8qIHJldHVybiAxIHRvIGZhaWwgdGhlIGRyaXZlciBpbmlhbGl6YXRpb24KQEAgLTI0Myw2ICsyNTIsMTAgQEAKIAlyZXR1cm4gMTsKIAogd3JhcGVycjoKKwlyZWxlYXNlX2Zpcm13YXJlKGxvYWRlcl9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShiaXRzdHJlYW1fZncpOworCXJlbGVhc2VfZmlybXdhcmUoZmlybXdhcmVfZncpOworCiAJa2ZyZWUoYnVmKTsKIAlkZXZfZXJyKCZkZXYtPmRldiwgIkVycm9yXG4iKTsKIAlyZXR1cm4gZXJyOwpAQCAtMzAwLDUgKzMxMyw4IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oIkVtYWdpYyBFTUkgNnwybSBmaXJtd2FyZSBsb2FkZXIuIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKK01PRFVMRV9GSVJNV0FSRSgiZW1pNjIvbG9hZGVyLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImVtaTYyL2JpdHN0cmVhbS5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKEZJUk1XQVJFX0ZXKTsKIC8qIHZpOmFpOnN5bnRheD1jOnN3PTg6dHM9ODp0dz04MAogICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyX2Z3X20uaCBiL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfbS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNTY3YzkwLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfbS5oCisrKyAvZGV2L251bGwKQEAgLTEsODg1MyArMCwwIEBACi0vKgotICogVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHRocmVlIGRpZmZlcmVudCBmaWxlcywgcHJvdmlkZWQgYnkgRW1hZ2ljLgotICovCi0vKiBnZW5lcmF0ZWQgVHVlIEp1biAzIDIxOjM2OjExIEVFU1QgMjAwMyAqLwotCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX2VtaTYyYnNbXT17Ci0gIDE2LCAweDgwMTAsIDAsIHsweGZmLDB4ZmYsMHhmZiwweGZmLDB4YWEsMHg5OSwweDU1LDB4NjYsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA3IH0sCi0gIDE2LCAweDgwMjAsIDAsIHsweDMwLDB4MDEsMHg2MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgzMCwweDAxLDB4MjAsMHgwMSwweDAwLDB4ODAsMHgzZiwweDJkIH0sCi0gIDE2LCAweDgwMzAsIDAsIHsweDMwLDB4MDAsMHhjMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5IH0sCi0gIDE2LCAweDgwNDAsIDAsIHsweDMwLDB4MDAsMHgyMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAxIH0sCi0gIDE2LCAweDgwNTAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDAwLDB4NTAsMHgwMCwweDU4LDB4MWEsMHg4MCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NDAsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwOTAsIDAsIHsweDAwLDB4MTIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDQ4IH0sCi0gIDE2LCAweDgwYzAsIDAsIHsweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxMDAsIDAsIHsweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxMzAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxNzAsIDAsIHsweDgwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxYTAsIDAsIHsweDAwLDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxZTAsIDAsIHsweDdmLDB4MTAsMHgwMCwweDM0LDB4MDAsMHgwZCwweDAwLDB4MDMsMHg0MCwweDAwLDB4ZDAsMHgwMCwweDM0LDB4MDAsMHgwNSwweDAwIH0sCi0gIDE2LCAweDgxZjAsIDAsIHsweDA3LDB4NDAsMHgwMSwweGQwLDB4MDAsMHg3NCwweDAwLDB4MWQsMHgwMCwweDA3LDB4NDAsMHgwMSwweGQwLDB4MDAsMHg3NCwweDAwIH0sCi0gIDE2LCAweDgyMDAsIDAsIHsweDFkLDB4ODAsMHgwNywweGUwLDB4MDEsMHhiOCwweDAwLDB4NmUsMHgwMCwweDFiLDB4ODAsMHgwNiwweGUwLDB4MDEsMHgzOCwweDM3IH0sCi0gIDE2LCAweDgyMTAsIDAsIHsweGM0LDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg4MCwweGZiLDB4MzAsMHgzNiwweGM4IH0sCi0gIDE2LCAweDgyMjAsIDAsIHsweDRlLDB4MDksMHgwMywweGZjLDB4ODQsMHhmZiwweDEwLDB4M2IsMHhjMCwweDBlLDB4YzgsMHgwNywweDIyLDB4ODAsMHhmZiwweDIyIH0sCi0gIDE2LCAweDgyMzAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGM4LDB4MzMsMHg2ZSwweDAwLDB4ZmIsMHg4MCwweDNmLDB4MjAsMHgwZCwweGMyLDB4NTMsMHhkNCwweDgwIH0sCi0gIDE2LCAweDgyNDAsIDAsIHsweGNjLDB4M2EsMHgzZiwweDAwLDB4MGMsMHhmMSwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyNTAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDYwLDB4YmYsMHg2MCwweDIzLDB4ZjAsMHgwZCwweDgyLDB4MTIsMHgzYywweDYwLDB4OGYsMHg3MCwweDIzIH0sCi0gIDE2LCAweDgyNjAsIDAsIHsweGYwLDB4MDgsMHg4OCwweDAyLDB4YTUsMHg0MCwweGJmLDB4ZDAsMHg2MywweGQ2LDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwYywweGJiIH0sCi0gIDE2LCAweDgyNzAsIDAsIHsweDgwLDB4MmUsMHgyMCwweDg4LDB4OGQsMHgwMiwweGU2LDB4NDAsMHg4MCwweDYwLDB4MmUsMHgzMCwweDBhLDB4YjEsMHgxMiwweDIwIH0sCi0gIDE2LCAweDgyODAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg4MCwweGEzLDB4NDAsMHgyYywweGM0IH0sCi0gIDE2LCAweDgyOTAsIDAsIHsweDRhLDB4MDAsMHgxMiwweDhjLDB4ODgsMHhhMywweDIyLDB4MjAsMHhjNCwweDBhLDB4OTAsMHg0MiwweDA0LDB4YTksMHhhMywweDAwIH0sCi0gIDE2LCAweDgyYTAsIDAsIHsweDI0LDB4YzgsMHg4YiwweDgwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDJlLDB4MDEsMHgwOSwweDA4LDB4MDIsMHg4NCwweDAwIH0sCi0gIDE2LCAweDgyYjAsIDAsIHsweDgwLDB4MjAsMHgyYywweDEwLDB4MGEsMHgzMiwweDQyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyYzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA0LDB4YjMsMHgwMCwweDJhLDB4YzAsMHgwOCwweDA4LDB4YTIsMHg4YywweDAwLDB4OGIsMHgwMCwweGEyIH0sCi0gIDE2LCAweDgyZDAsIDAsIHsweGMxLDB4MTAsMHg5OCwweDQyLDB4YTcsMHgwMCwweGJiLDB4MDEsMHg2NiwweGMxLDB4MGIsMHg4MCwweDAyLDB4YWMsMHgwNCwweGJiIH0sCi0gIDE2LCAweDgyZTAsIDAsIHsweDAwLDB4MmUsMHgwMCwweDBiLDB4YjgsMHgxMiwweGU0LDB4MDIsMHg4OSwweDA4LDB4MGUsMHg0MCwweDBhLDB4YjAsMHgwMiwweDMwIH0sCi0gIDE2LCAweDgyZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4YWMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweDgzMDAsIDAsIHsweDRhLDB4YjgsMHgyMywweGVjLDB4MTgsMHhlYiwweDAwLDB4MzIsMHhjMCwweDBlLDB4MmMsMHgxMiwweDIyLDB4MTAsMHhlYiwweDAwIH0sCi0gIDE2LCAweDgzMTAsIDAsIHsweDI2LDB4YzAsMHg0ZiwweDAwLDB4NDMsMHhlZCwweDAwLDB4ZmIsMHgwMCwweDJlLDB4MjQsMHgwZCwweDgwLDB4MTMsMHhlNCwweDAwIH0sCi0gIDE2LCAweDgzMjAsIDAsIHsweGM4LDB4ZDAsMHg3YywweDEyLDB4MGUsMHhiMCwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzMzAsIDAsIHsweGUxLDB4MDAsMHhiYywweDAwLDB4ZmYsMHgwMCwweDM1LDB4YzAsMHg0ZiwweGUwLDB4MDMsMHg3YywweDA4LDB4ZmYsMHgwMSwweDE3IH0sCi0gIDE2LCAweDgzNDAsIDAsIHsweGMyLDB4NGQsMHhjMCwweDAzLDB4ZjQsMHgwOCwweGY3LDB4MDAsMHgzYiwweGMwLDB4MDcsMHhjMCwweDAzLDB4N2MsMHg4MCwweGZmIH0sCi0gIDE2LCAweDgzNTAsIDAsIHsweDI0LDB4M2YsMHg0MCwweDBjLDB4ZjAsMHgwMSwweGY0LDB4MDQsMHhiYywweDA4LDB4M2YsMHgyOCwweDBmLDB4ZjAsMHgwMywweDc4IH0sCi0gIDE2LCAweDgzNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwOCwweGZiLDB4MDQsMHgzYSwweGM4IH0sCi0gIDE2LCAweDgzNzAsIDAsIHsweDBmLDB4OTQsMHgwMywweGVjLDB4MTAsMHhmMywweDAwLDB4MzQsMHhjMCwweDBlLDB4YjAsMHgwMywweDYxLDB4MDQsMHhmYiwweDAwIH0sCi0gIDE2LCAweDgzODAsIDAsIHsweDM2LDB4YzAsMHgwZSwweGEzLDB4MDMsMHgyYywweDgwLDB4ZmIsMHg3MiwweDNlLDB4MDIsMHgwZiwweDhhLDB4MDMsMHhlNCwweDAyIH0sCi0gIDE2LCAweDgzOTAsIDAsIHsweGM5LDB4ODAsMHgyYSwweDUwLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzYTAsIDAsIHsweGNhLDB4NDQsMHgzYywweDAwLDB4YmYsMHgwMCwweDAzLDB4YzAsMHgwOCwweDgwLDB4MDMsMHg3YywweDAwLDB4YmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweDgzYjAsIDAsIHsweGUyLDB4MDgsMHg5MCwweDQzLDB4NjAsMHgwMCwweGJmLDB4MDAsMHgzNywweGMwLDB4MDgsMHg5MCwweDAxLDB4NmQsMHgwMCwweGJiIH0sCi0gIDE2LCAweDgzYzAsIDAsIHsweDQwLDB4MmMsMHgxMCwweDBiLDB4YjAsMHg0MiwweGQ3LDB4YzAsMHg4OSwweDAwLDB4MmEsMHg3YywweDBiLDB4ZjAsMHgwMiwweGYyIH0sCi0gIDE2LCAweDgzZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMiwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGQ1IH0sCi0gIDE2LCAweDgzZTAsIDAsIHsweDRhLDB4MDAsMHgwMCwweDBjLDB4MDQsMHg5MywweDAwLDB4MGMsMHhmMCwweDBiLDB4MDksMHgwMiwweDA4LDB4MDEsMHhiMywweDIwIH0sCi0gIDE2LCAweDgzZjAsIDAsIHsweDI4LDB4YzAsMHgwYSwweDBjLDB4MGEsMHgwZSwweDAwLDB4YjMsMHgwMCwweDI0LDB4MzAsMHgwOSwweDAwLDB4MDIsMHhjNiwweDEwIH0sCi0gIDE2LCAweDg0MDAsIDAsIHsweDgwLDB4NDIsMHgyMCwweDAwLDB4OGIsMHhiMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0MTAsIDAsIHsweDIyLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg5NCwweDIxLDB4ZTQsMHg0OCwweGQ5LDB4MTIsMHg1ZSwweDQwLDB4YjcsMHg5MCwweDI5IH0sCi0gIDE2LCAweDg0MjAsIDAsIHsweGUwLDB4OGIsMHg2OSwweDEyLDB4ZDYsMHg4MCwweDM3LDB4ODIsMHgyYywweGU4LDB4MDgsMHg0YSwweDAyLDB4NWUsMHgwMCwweGI3IH0sCi0gIDE2LCAweDg0MzAsIDAsIHsweGE0LDB4MmQsMHgyMCwweDBiLDB4NzksMHgwMiwweGQ2LDB4MDgsMHg4NiwweDkwLDB4MjksMHhhMCwweDBiLDB4NzksMHgwMiwweGQ4IH0sCi0gIDE2LCAweDg0NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHgwMCwweGZiLDB4YTAsMHgyOCwweGU4IH0sCi0gIDE2LCAweDg0NTAsIDAsIHsweDBlLDB4MmEsMHgwMiwweDhjLDB4MDAsMHhkMywweDAwLDB4NjQsMHhjMCwweDBmLDB4MDAsMHg0MywweDBlLDB4YzQsMHhmMywweDAwIH0sCi0gIDE2LCAweDg0NjAsIDAsIHsweDc4LDB4ZWMsMHgwZSwweDBhLDB4NDMsMHgwZSwweDIwLDB4NzMsMHhlMCwweDNjLDB4MDIsMHg0ZiwweDAwLDB4MDMsMHhjNCwweDQwIH0sCi0gIDE2LCAweDg0NzAsIDAsIHsweGMzLDB4MDAsMHgzOCwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0ODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMCwweGJjLDB4Y2MsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZmIsMHgwMCwweDNjIH0sCi0gIDE2LCAweDg0OTAsIDAsIHsweGMyLDB4MGMsMHgyMCwweDAzLDB4NmMsMHg1MCwweGYzLDB4MDAsMHgzNiwweGM0LDB4MGYsMHg0MCwweDAzLDB4ZmMsMHgwOCwweGZmIH0sCi0gIDE2LCAweDg0YTAsIDAsIHsweDFhLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMSwweGU0LDB4MzAsMHhmZiwweDAyLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg2MywweGQwIH0sCi0gIDE2LCAweDg0YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHg0MCwweGZiLDB4MDAsMHhiMiwweGQ4IH0sCi0gIDE2LCAweDg0YzAsIDAsIHsweDBjLDB4YjAsMHgwMSwweDJkLDB4MjAsMHhkYiwweDAxLDB4M2EsMHhjOCwweDhjLDB4MzgsMHgwMywweGE4LDB4MDAsMHhmYiwweDQ4IH0sCi0gIDE2LCAweDg0ZDAsIDAsIHsweDNlLDB4YzksMHgwZiwweDgwLDB4MDMsMHhlYywweDQwLDB4ZmIsMHgwMSwweDNlLDB4MDAsMHgwZiwweDA4LDB4MDMsMHhhNCwweDA4IH0sCi0gIDE2LCAweDg0ZTAsIDAsIHsweGZhLDB4ODAsMHhiMiwweDgwLDB4MGYsMHhiMSwweDAyLDB4NmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0ZjAsIDAsIHsweDQ4LDB4MTksMHgxYywweDgwLDB4YmYsMHgzMCwweDIxLDB4Y2EsMHgwOCwweGYwLDB4MGEsMHgwYywweDgwLDB4OGYsMHg1MCwweDIxIH0sCi0gIDE2LCAweDg1MDAsIDAsIHsweGMyLDB4MDgsMHg3MCwweDUwLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgzOSwweGM0LDB4MGIsMHg0MCwweDAyLDB4OWMsMHgwNCwweGI3IH0sCi0gIDE2LCAweDg1MTAsIDAsIHsweDIwLDB4MjUsMHg0MCwweDBiLDB4NzAsMHgwMiwweDE0LDB4ODAsMHhiNiwweDAwLDB4MjEsMHg4MCwweDBiLDB4ZjgsMHgwMiwweDEyIH0sCi0gIDE2LCAweDg1MjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4YjAsMHgyMSwweGVjIH0sCi0gIDE2LCAweDg1MzAsIDAsIHsweDBiLDB4NzgsMHgxMiwweGRlLDB4ODQsMHg5NywweDgwLDB4MGQsMHhlMCwweDI4LDB4ZjgsMHgwMiwweGRlLDB4MDAsMHhiNywweDkwIH0sCi0gIDE2LCAweDg1NDAsIDAsIHsweDJkLDB4ZTQsMHgwYiwweDY4LDB4ODIsMHg1ZSwweDgwLDB4YjcsMHhhMCwweDI5LDB4MjAsMHgwYiwweDQ4LDB4MDIsMHg5NiwweDAwIH0sCi0gIDE2LCAweDg1NTAsIDAsIHsweGI3LDB4ODAsMHgyMSwweGUxLDB4MGIsMHg3YSwweDAyLDB4NzAsMHg0MCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1NjAsIDAsIHsweDQ4LDB4MDQsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDM4LDB4MDIsMHg4YywweDA0LDB4ODMsMHgwMCwweDI4IH0sCi0gIDE2LCAweDg1NzAsIDAsIHsweGMwLDB4ODgsMHgzOSwweDAyLDB4NGMsMHg0MCwweGIzLDB4MDQsMHgyOCwweGMwLDB4MWIsMHgxMCwweDAyLDB4OGMsMHgwMSwweGIzIH0sCi0gIDE2LCAweDg1ODAsIDAsIHsweDA0LDB4MjQsMHg4OCwweDRiLDB4MzEsMHgwMiwweDA0LDB4MDAsMHhiMywweDgwLDB4MjAsMHhmMiwweDBiLDB4MzAsMHgwMiwweDAyIH0sCi0gIDE2LCAweDg1OTAsIDAsIHsweDI0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwIH0sCi0gIDE2LCAweDg1YTAsIDAsIHsweDBmLDB4ZTgsMHgwMywweGU4LDB4MDAsMHhkYSwweDAxLDB4M2EsMHg4MCwweDhjLDB4ZWQsMHgwMywweGZiLDB4MDQsMHhmYSwweDAwIH0sCi0gIDE2LCAweDg1YjAsIDAsIHsweDNlLDB4ODAsMHgwZiwweDZjLDB4MDMsMHhmYiwweGM4LDB4YmUsMHhjMiwweDFmLDB4ODAsMHgwZiwweGU1LDB4MDMsMHhhOCwweDAwIH0sCi0gIDE2LCAweDg1YzAsIDAsIHsweGZlLDB4NDgsMHgzMywweDgwLDB4NGYsMHhhMCwweDAzLDB4N2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1ZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNjLDB4MDAsMHgwYywweDgxLDB4OTMsMHg2MCwweDAwLDB4ZjgsMHgwMSwweDM2IH0sCi0gIDE2LCAweDg1ZTAsIDAsIHsweDEwLDB4MGYsMHg4MCwweDAzLDB4YTAsMHgyMCwweGY4LDB4MDAsMHgyYSwweDAxLDB4OGYsMHg4NCwweDEzLDB4ZTEsMHgwMCwweGY4IH0sCi0gIDE2LCAweDg1ZjAsIDAsIHsweDE4LDB4MzYsMHgwMCwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDIwLDB4M2UsMHgxNCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDg2MDAsIDAsIHsweDgwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHhhYSwweDQwIH0sCi0gIDE2LCAweDg2MTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhlMSwweDAwLDB4MzgsMHg0MCwweDFjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweGEwIH0sCi0gIDE2LCAweDg2MjAsIDAsIHsweDNhLDB4NDAsMHg0NywweDlhLDB4OTMsMHhhMiwweDgwLDB4ZjgsMHgxMCwweDNlLDB4NDAsMHgwYiwweDk0LDB4MDMsMHhlNiwweDQwIH0sCi0gIDE2LCAweDg2MzAsIDAsIHsweGY5LDB4YzAsMHgzZSwweDY4LDB4MGIsMHgxMCwweDAzLDB4MDIsMHg4NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2NDAsIDAsIHsweDgwLDB4MDQsMHhlNCwweDA0LDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA0LDB4ODksMHgwMCwweDM2IH0sCi0gIDE2LCAweDg2NTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwNCwweGI5LDB4ODAsMHgyZSwweDQwLDB4NGYsMHg5NCwweDAzLDB4NjEsMHgxMCwweGU4IH0sCi0gIDE2LCAweDg2NjAsIDAsIHsweDQwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0MiwweGU2LDB4MDQsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweDg2NzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA0LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwIH0sCi0gIDE2LCAweDg2ODAsIDAsIHsweDBhLDB4MTAsMHg1MiwweDA0LDB4MDQsMHhhOSwweDA0LDB4MmEsMHg0MCwweDA4LDB4YjAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAwIH0sCi0gIDE2LCAweDg2OTAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhOCwweDBkLDB4YjgsMHg0MCwweDJlLDB4NDAsMHgwOSwweDk0LDB4MDIsMHhlNSwweDAwIH0sCi0gIDE2LCAweDg2YTAsIDAsIHsweGI5LDB4MDQsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2YjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjEsMHgyMCwweDIwLDB4YzgsMHgwYSwweDEwLDB4NDIsMHgwNCwweDkwLDB4ODEsMHgyMCwweDA0IH0sCi0gIDE2LCAweDg2YzAsIDAsIHsweGM4LDB4MDgsMHgzMCwweDI2LDB4YzQsMHgwMCwweGIxLDB4MjAsMHgyYywweDQ4LDB4MGIsMHg5MCwweDAyLDB4NDUsMHgwMSwweGIxIH0sCi0gIDE2LCAweDg2ZDAsIDAsIHsweDQwLDB4MmMsMHg0MCwweDBiLDB4MTIsMHg4MiwweGM0LDB4MDAsMHhiMSwweDJiLDB4MmMsMHg0YSwweDBiLDB4MTIsMHg4MiwweDAyIH0sCi0gIDE2LCAweDg2ZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDA4LDB4MjEsMHg0OCwweGY4LDB4NTAsMHgzMiwweDAwIH0sCi0gIDE2LCAweDg2ZjAsIDAsIHsweDRlLDB4ODUsMHgwYiwweDIxLDB4NDAsMHhhOCwweDUyLDB4MmEsMHgwMCwweDA4LDB4ODAsMHgyMywweGUxLDB4NDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweDg3MDAsIDAsIHsweDNhLDB4MTQsMHgwZiwweGEwLDB4NDMsMHhhOCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgyLDB4MDMsMHhlMCwweDAwIH0sCi0gIDE2LCAweDg3MTAsIDAsIHsweGYwLDB4MjAsMHgzZSwweDg4LDB4NGYsMHg4MiwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3MjAsIDAsIHsweDk4LDB4MTksMHhlNCwweDQwLDB4ZjksMHgxMSwweDM0LDB4NDQsMHgyZCwweGQwLDB4MDMsMHhlNCwweDUwLDB4NzksMHgxMCwweDM4IH0sCi0gIDE2LCAweDg3MzAsIDAsIHsweDQ0LDB4MmYsMHhkMCwweDAzLDB4ZjUsMHgxMCwweGY5LDB4MTAsMHgzZSwweDQ1LDB4MDYsMHg1MCwweDAzLDB4ZTUsMHgwMCwweGU5IH0sCi0gIDE2LCAweDg3NDAsIDAsIHsweDQwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHg0MywweGY1LDB4MDAsMHhmZCwweDI4LDB4M2YsMHg0MCwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweDg3NTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAxLDB4ZTYsMHgwMCwweGQ5LDB4OTAsMHgzNywweDY5IH0sCi0gIDE2LCAweDg3NjAsIDAsIHsweDRkLDB4OTAsMHgyMywweDY3LDB4ODAsMHhkOSwweGUwLDB4MzcsMHg2OCwweDBlLDB4ZDAsMHgwNywweGE0LDB4MDAsMHgwNSwweDg2IH0sCi0gIDE2LCAweDg3NzAsIDAsIHsweDNlLDB4NjYsMHgwZCwweDUwLDB4MjMsMHgyNiwweDAwLDB4YzksMHg4MiwweDNkLDB4NDAsMHgwZCwweGQ4LDB4MDcsMHgzNiwweDAyIH0sCi0gIDE2LCAweDg3ODAsIDAsIHsweGNkLDB4YzAsMHgzMywweDYwLDB4MGMsMHg5YywweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3OTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDgwLDB4ODgsMHhhMiwweDIyLDB4MTAsMHgyOCwweDhhLDB4ODIsMHgyMywweDg0LDB4ODgsMHhhMCwweDIyIH0sCi0gIDE2LCAweDg3YTAsIDAsIHsweDE0LDB4NDgsMHg4MCwweDQyLDB4ODIsMHgwMCwweDg4LDB4NDAsMHgyZSwweDMwLDB4MDgsMHg4MCwweDAyLDB4YTIsMHgwMCwweGQ4IH0sCi0gIDE2LCAweDg3YjAsIDAsIHsweDkwLDB4MjYsMHgwMCwweDA4LDB4ODQsMHgwYSwweDIxLDB4MDAsMHhjOCwweGEwLDB4YTIsMHgxNCwweDI4LDB4OGMsMHgwMiwweDBlIH0sCi0gIDE2LCAweDg3YzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgyMCwweDkxLDB4NDAsMHgyYywweDQ0IH0sCi0gIDE2LCAweDg3ZDAsIDAsIHsweDE4LDB4MTAsMHgwMiwweDg1LDB4MDQsMHhiMSwweDQwLDB4MGMsMHg0MCwweDBhLDB4MTAsMHgwNiwweDg0LDB4MzAsMHg4MSwweDQwIH0sCi0gIDE2LCAweDg3ZTAsIDAsIHsweDJjLDB4NDgsMHg1OSwweDEwLDB4MWEsMHgwNCwweDYwLDB4ODEsMHgwOSwweDJlLDB4NDAsMHgxYiwweDE0LDB4MDIsMHgyNSwweDAwIH0sCi0gIDE2LCAweDg3ZjAsIDAsIHsweDkxLDB4ZTAsMHgyMCwweDYwLDB4MDgsMHgxNiwweDAyLDB4MDAsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4MDAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODEsMHgwMCwweDJhLDB4NDEsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YTEsMHgwMCwweDJhIH0sCi0gIDE2LCAweDg4MTAsIDAsIHsweDQxLDB4MDgsMHhiMCwweDgyLDB4MjQsMHgxMSwweDhiLDB4MDAsMHgyZSwweDQwLDB4MTgsMHg5MSwweDAyLDB4YTAsMHgwNCwweDk4IH0sCi0gIDE2LCAweDg4MjAsIDAsIHsweDIwLDB4MmUsMHg1NCwweDFiLDB4OTAsMHg4MiwweDJjLDB4MDAsMHg4OSwweDEwLDB4MjIsMHg0NCwweDg4LDB4OTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweDg4MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweDg4NDAsIDAsIHsweDRjLDB4OTAsMHgwMywweGE0LDB4MTAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDhlLDB4MTAsMHgwMiwweGE0LDB4YzIsMHhjOSwweDAwIH0sCi0gIDE2LCAweDg4NTAsIDAsIHsweDNlLDB4NDAsMHgwZCwweDE2LDB4MTMsMHgwMSwweDg0LDB4YzgsMHgyMCwweDNjLDB4NjAsMHgwZiwweDkwLDB4MTIsMHgwNCwweDAwIH0sCi0gIDE2LCAweDg4NjAsIDAsIHsweGQ5LDB4NDAsMHgzMiwweDUwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHg4NCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4NzAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHg0ZiwweDk5LDB4NGEsMHg0NCwweDAwLDB4OTksMHgwMCwweGI0IH0sCi0gIDE2LCAweDg4ODAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDEzLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTMsMHgwMCwweGY4IH0sCi0gIDE2LCAweDg4OTAsIDAsIHsweDAxLDB4MzYsMHg0MCwweDBjLDB4OTksMHgwMywweGU0LDB4MDIsMHhmOSwweDgwLDB4M2UsMHg2MCwweDRmLDB4OTAsMHgwYiwweGNhIH0sCi0gIDE2LCAweDg4YTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDAsMHgzYywweDAwIH0sCi0gIDE2LCAweDg4YjAsIDAsIHsweDFkLDB4ODAsMHgwMywweDIwLDB4MDAsMHhlOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODQsMHg4MywweGUwLDB4MTAsMHhlOCwweDIwIH0sCi0gIDE2LCAweDg4YzAsIDAsIHsweDMyLDB4MDAsMHg4ZSwweDg0LDB4MDMsMHgyMSwweDgwLDB4YzgsMHgwMCwweDNhLDB4MTksMHgwZiwweDA0LDB4MDMsMHhlMCwweDI0IH0sCi0gIDE2LCAweDg4ZDAsIDAsIHsweGYwLDB4MDIsMHgzYywweDAwLDB4MGYsMHg4MCwweDEzLDB4OGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4ZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAyLDB4OGEsMHgwMSwweDBmLDB4YTIsMHg2OCwweGEwLDB4MDAsMHgyOCwweDAwLDB4OGEsMHgwMCwweDc3IH0sCi0gIDE2LCAweDg4ZjAsIDAsIHsweDgwLDB4NjgsMHhlMCwweDEyLDB4ZTgsMHgwMCwweGRlLDB4MDAsMHgzNiwweDgxLDB4MDgsMHhlMCwweDAzLDB4N2EsMHgwOCwweGFlIH0sCi0gIDE2LCAweDg5MDAsIDAsIHsweGM0LDB4MmYsMHg4MCwweDA4LDB4ZWQsMHgwMiwweGZhLDB4MDAsMHhiZSwweGEwLDB4M2IsMHg4MCwweDBiLDB4YTAsMHg0MiwweDBhIH0sCi0gIDE2LCAweDg5MTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDg1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyYywweGMwIH0sCi0gIDE2LCAweDg5MjAsIDAsIHsweDg4LDB4YjAsMHgwMiwweDBjLDB4MTQsMHhhMywweDA0LDB4MjAsMHhjNCwweDE4LDB4MzgsMHgwMiwweGVjLDB4MTAsMHg5MywweDU0IH0sCi0gIDE2LCAweDg5MzAsIDAsIHsweDI4LDB4YzAsMHgwYSwweDAwLDB4MDIsMHg0ZSwweDAwLDB4ODMsMHg0OSwweDY4LDB4YzAsMHgwMiwweDM5LDB4NDIsMHhjZSwweDQwIH0sCi0gIDE2LCAweDg5NDAsIDAsIHsweGIzLDB4MDAsMHgyYywweGU2LDB4MGIsMHhiMCwweDAyLDB4OGIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5NTAsIDAsIHsweDIwLDB4MDEsMHgxYywweDA4LDB4ODcsMHgyMCwweDJjLDB4ODAsMHgxOCwweGYyLDB4MjIsMHgxYywweDAwLDB4ODcsMHgxMCwweDIxIH0sCi0gIDE2LCAweDg5NjAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDgyLDB4ZGMsMHg4MCwweDk2LDB4ODAsMHgyZCwweGMwLDB4MGEsMHg0MCwweDAyLDB4N2QsMHg0MCwweDI3IH0sCi0gIDE2LCAweDg5NzAsIDAsIHsweDY0LDB4NmQsMHhkMCwweDQ4LDB4NjAsMHg0MiwweGQ4LDB4MDUsMHhiNiwweDA0LDB4MjksMHhjMCwweDRiLDB4NzIsMHgwMiwweDI4IH0sCi0gIDE2LCAweDg5ODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4M2UsMHg4OCwweGQ3LDB4ZTAsMHgzZCwweGUwIH0sCi0gIDE2LCAweDg5OTAsIDAsIHsweDA4LDB4N2MsMHg0MiwweDNlLDB4MDAsMHhlMywweDgyLDB4MjAsMHhlMCwweDBjLDB4NjgsMHgwMywweGRmLDB4MDQsMHhkNywweDgwIH0sCi0gIDE2LCAweDg5YTAsIDAsIHsweDNiLDB4ZTAsMHg0ZSwweDQ4LDB4MGEsMHg1ZSwweDgwLDB4YzcsMHhjMiwweDE5LDB4ZTAsMHgwZSwweDc4LDB4MDMsMHhkNiwweDA4IH0sCi0gIDE2LCAweDg5YjAsIDAsIHsweGY3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHhmOCwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5YzAsIDAsIHsweDA4LDB4MWQsMHhhYywweDQwLDB4ZmIsMHg0MCwweDdlLDB4ODAsMHgwZSwweDM2LDB4ODMsMHhlZCwweDQwLDB4ZGIsMHg2MCwweDNlIH0sCi0gIDE2LCAweDg5ZDAsIDAsIHsweDgwLDB4MGYsMHhhMCwweDAzLDB4ZWQsMHgyOCwweGRhLDB4MDAsMHgzMiwweGM0LDB4MGMsMHhiMCwweDBiLDB4Y2MsMHgwMCwweGZiIH0sCi0gIDE2LCAweDg5ZTAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBlLDB4ODAsMHgxMywweGUwLDB4MTAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjEsMHg1MywweGMyIH0sCi0gIDE2LCAweDg5ZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4YzAsMHgzMywweGUwIH0sCi0gIDE2LCAweDhhMDAsIDAsIHsweDBjLDB4ZjksMHgwMywweDdmLDB4MDQsMHhjZiwweGQwLDB4M2YsMHhlNCwweDBmLDB4YjgsMHgwMywweGZlLDB4MDAsMHhmZiwweDk0IH0sCi0gIDE2LCAweDhhMTAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGM4LDB4MDMsMHg3ZSwweDEwLDB4ZjMsMHg4MCwweDNiLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhmZSwweDQ4IH0sCi0gIDE2LCAweDhhMjAsIDAsIHsweGVkLDB4ODAsMHgzMywweDI0LDB4MDQsMHhmOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhMzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDgwLDB4YmYsMHgwNCwweDIxLDB4MjgsMHgwOCwweGY4LDB4MDIsMHgxZSwweGMwLDB4Y2YsMHg5MCwweDIxIH0sCi0gIDE2LCAweDhhNDAsIDAsIHsweDRjLDB4MGIsMHg1YSwweDQyLDB4ZGUsMHgwMCwweGI3LDB4ODAsMHgyYywweGU4LDB4MGIsMHgwNCwweDAyLDB4MWMsMHgwMCwweGI3IH0sCi0gIDE2LCAweDhhNTAsIDAsIHsweGEwLDB4MzUsMHgxMCwweDhmLDB4NzEsMHgxMywweGRlLDB4YzAsMHg4NCwweDEwLDB4MjEsMHg4MCwweDBkLDB4NzEsMHgwMiwweDJhIH0sCi0gIDE2LCAweDhhNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDQwLDB4OWMsMHgwOCwweGI3LDB4MDAsMHgyNSwweGM4IH0sCi0gIDE2LCAweDhhNzAsIDAsIHsweDA4LDB4NzEsMHgwMiwweGNjLDB4ODAsMHg5NywweDAwLDB4MjksMHhjMCwweDhiLDB4NzIsMHgwNiwweGRjLDB4MDgsMHhiNSwweDAwIH0sCi0gIDE2LCAweDhhODAsIDAsIHsweDJkLDB4YzgsMHgwYiwweDQwLDB4MDIsMHgxYywweDQwLDB4YmYsMHgxMCwweDIxLDB4YzAsMHgwYiwweDc0LDB4MDIsMHhkNCwweDgwIH0sCi0gIDE2LCAweDhhOTAsIDAsIHsweGE3LDB4NDAsMHgyMSwweDQxLDB4MDgsMHg3MCwweDAyLDB4MDQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhYTAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDI0LDB4MDAsMHgwOCwweDM0LDB4ODIsMHhhYywweDExLDB4ODMsMHgwMCwweDIwIH0sCi0gIDE2LCAweDhhYjAsIDAsIHsweDAwLDB4NGIsMHgxOCwweDI2LDB4Y2YsMHgyMCwweGIxLDB4MDYsMHgyYywweGMxLDB4MGIsMHgzMiwweDAyLDB4MGUsMHgwOCwweGIzIH0sCi0gIDE2LCAweDhhYzAsIDAsIHsweDg4LDB4MjQsMHgzMiwweDBhLDB4MzAsMHgxMiwweDg0LDB4MDgsMHg4MCwweDAwLDB4YTAsMHgzNCwweDI4LDB4MzAsMHgwMiwweDE4IH0sCi0gIDE2LCAweDhhZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMCwweGZmLDB4MDAsMHhiNiwweDQwIH0sCi0gIDE2LCAweDhhZTAsIDAsIHsweDJjLDB4ZjQsMHg0MywweGZjLDB4MDEsMHhkZiwweDAwLDB4M2EsMHgwMCwweDAzLDB4OTIsMHgwMywweGZmLDB4ODgsMHhmOSwweDAwIH0sCi0gIDE2LCAweDhhZjAsIDAsIHsweDJmLDB4YzAsMHgxYiwweDBlLDB4NGIsMHgyZSwweDkwLDB4ZmIsMHhlMCwweDMwLDB4MzIsMHgwYiwweDk4LDB4MDIsMHhlYywweDA4IH0sCi0gIDE2LCAweDhiMDAsIDAsIHsweDZiLDB4YzAsMHgzMiwweGMwLDB4MDgsMHhmMCwweDA5LDB4M2UsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiMTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjMsMHgwMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDEsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNhIH0sCi0gIDE2LCAweDhiMjAsIDAsIHsweDEwLDB4MGYsMHhiNCwweDAzLDB4ZWMsMHgwMCwweGYwLDB4MDAsMHgzYywweGMwLDB4MGYsMHg4MCwweDBiLDB4YWQsMHgyMCwweGZiIH0sCi0gIDE2LCAweDhiMzAsIDAsIHsweDQwLDB4M2UsMHgxMCwweDA3LDB4YTgsMHg2MywweGUwLDB4MDAsMHhmYiwweDgwLDB4M2UsMHhkOCwweDBmLDB4YjAsMHgwMywweGUwIH0sCi0gIDE2LCAweDhiNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHg3MiwweDAwIH0sCi0gIDE2LCAweDhiNTAsIDAsIHsweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4YzAsMHgwMywweGRjLDB4MDAsMHg4ZiwweDAwIH0sCi0gIDE2LCAweDhiNjAsIDAsIHsweDMzLDB4YzEsMHgwYywweGMwLDB4MDMsMHhiZSwweDAwLDB4ZmYsMHg5MCwweDNiLDB4MjgsMHgwZSwweDU5LDB4MDMsMHgyZSwweDAwIH0sCi0gIDE2LCAweDhiNzAsIDAsIHsweDdiLDB4MDAsMHgzMiwweGM0LDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiODAsIDAsIHsweGMxLDB4MDQsMHg2YywweDAwLDB4YmIsMHgwMCwweDYyLDB4YTAsMHgwZiwweGIwLDB4MDIsMHhlYywweDA5LDB4OGIsMHgwMCwweDJlIH0sCi0gIDE2LCAweDhiOTAsIDAsIHsweDMwLDB4MGIsMHhhOCwweDAzLDB4YWMsMHgwMCwweGZhLDB4YzEsMHgyMiwweGMxLDB4MDgsMHg4YywweDAyLDB4MmMsMHgwMCwweGIzIH0sCi0gIDE2LCAweDhiYTAsIDAsIHsweDgxLDB4MmEsMHgwMCwweDBkLDB4ODgsMHhiMiwweDIyLDB4MDAsMHhiMywweGMwLDB4MjIsMHhjOCwweDBiLDB4YjAsMHg0MiwweDYxIH0sCi0gIDE2LCAweDhiYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4NmMsMHgwMCwweGJiLDB4MDEsMHgyMiwweDYyIH0sCi0gIDE2LCAweDhiYzAsIDAsIHsweDBiLDB4YjAsMHgwMiwweGVjLDB4MDQsMHg4YiwweDAwLDB4MmUsMHhhMiwweDQ5LDB4ODgsMHgyNiwweGVjLDB4MDAsMHhhOCwweDgwIH0sCi0gIDE2LCAweDhiZDAsIDAsIHsweDIyLDB4YzAsMHgyOCwweDgyLDB4MGEsMHhhYywweGEwLDB4YmIsMHgwOCwweDIyLDB4YzAsMHgwOCwweDgwLDB4MGEsMHgyOCwweDg0IH0sCi0gIDE2LCAweDhiZTAsIDAsIHsweGI5LDB4YzAsMHhhMiwweDAwLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgxMCwweDIwLDB4NDgsMHgwYSwweDMyLDB4MDIsMHhjYywweDgwLDB4ODMsMHgwMSwweDI0IH0sCi0gIDE2LCAweDhjMDAsIDAsIHsweDAwLDB4MGIsMHgwMiwweDA2LDB4OGMsMHg2MCwweGEwLDB4MjAsMHgyMCwweGM4LDB4MDgsMHgwMSwweDAyLDB4MGMsMHgwMCwweGIzIH0sCi0gIDE2LCAweDhjMTAsIDAsIHsweDAwLDB4MjgsMHgwMCwweDA5LDB4MjAsMHgwMiwweDA4LDB4ODAsMHhiMSwweDAwLDB4YTAsMHg4MCwweDBiLDB4MzAsMHgwMiwweDQyIH0sCi0gIDE2LCAweDhjMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4NmMsMHgwMCwweGZmLDB4MDAsMHhhMiwweDBlIH0sCi0gIDE2LCAweDhjMzAsIDAsIHsweDBiLDB4ZjEsMHgwMywweGZjLDB4MDgsMHhjZiwweDIwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGZjLDB4ODQsMHhhOCwweDIwIH0sCi0gIDE2LCAweDhjNDAsIDAsIHsweGIyLDB4YzgsMHg4YywweDgwLDB4MDMsMHhhYywweDQ0LDB4ZmIsMHg3MCwweDNhLDB4YzAsMHgwZSwweDkwLDB4MDMsMHgyYywweGE0IH0sCi0gIDE2LCAweDhjNTAsIDAsIHsweGZiLDB4MDAsMHhiMiwweDQwLDB4MGYsMHhiMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjNjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgyNiwweDNlLDB4MDAsMHgwZiwweGI2LDB4MTMsMHhlZCwweDAwLDB4ZmIsMHgxMCwweDNmIH0sCi0gIDE2LCAweDhjNzAsIDAsIHsweDAwLDB4MGYsMHhjMSwweDEzLDB4YWMsMHg4MCwweGY4LDB4MTIsMHgzZSwweGM2LDB4NGYsMHg0MiwweDQzLDB4ZmMsMHgwNCwweGZmIH0sCi0gIDE2LCAweDhjODAsIDAsIHsweDMxLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4YmYsMHhjMCwweDhmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweDhjOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg0MCwweGZjLDB4ODAsMHgzNiwweGM4IH0sCi0gIDE2LCAweDhjYTAsIDAsIHsweDBmLDB4MDksMHgwMywweGMyLDB4MDAsMHhmOCwweGMwLDB4MzMsMHhjYywweDJjLDB4NGMsMHgwMywweDYzLDB4OTAsMHhlMCwweDkwIH0sCi0gIDE2LCAweDhjYjAsIDAsIHsweDNhLDB4YzAsMHgwZCwweDUwLDB4MGIsMHgzYywweDA0LDB4ZGYsMHg2NCwweDNmLDB4YzgsMHg4ZCwweGYxLDB4NDMsMHgyYywweDAwIH0sCi0gIDE2LCAweDhjYzAsIDAsIHsweGQ1LDB4MDAsMHgzMywweGMwLDB4NDUsMHhmMiwweDIzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjZDAsIDAsIHsweDgwLDB4MTAsMHhlZCwweDgwLDB4YmEsMHgwMiwweDIxLDB4ZGUsMHg4YiwweDgyLDB4MjIsMHhlMCwweDIwLDB4YjAsMHgwMCwweDJiIH0sCi0gIDE2LCAweDhjZTAsIDAsIHsweGVjLDB4MDksMHg4MCwweDAyLDB4ZTMsMHg0MCwweGJhLDB4MjAsMHgyZiwweGRjLDB4MDgsMHg5OCwweDEyLDB4MmMsMHgwMCwweDhiIH0sCi0gIDE2LCAweDhjZjAsIDAsIHsweDUxLDB4MmEsMHhkMCwweDA4LDB4NzIsMHgyMiwweDJlLDB4MDAsMHg4ZCwweDgwLDB4MjEsMHhkMCwweDA4LDB4YjYsMHg4MiwweDIwIH0sCi0gIDE2LCAweDhkMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg0MCwweGI5LDB4MjgsMHgyNCwweGMwIH0sCi0gIDE2LCAweDhkMTAsIDAsIHsweDRhLDB4MTIsMHgxMiwweDg4LDB4ODUsMHhhOCwweDIwLDB4MjAsMHhjMCwweDBiLDB4MjIsMHgwMiwweGMwLDB4OTEsMHhhMSwweDAwIH0sCi0gIDE2LCAweDhkMjAsIDAsIHsweDI4LDB4YzIsMHgwYiwweDAwLDB4MTIsMHg4YywweDQwLDB4YTMsMHgyMCwweDIwLDB4YzQsMHgwYiwweDMwLDB4MGEsMHgwYywweDExIH0sCi0gIDE2LCAweDhkMzAsIDAsIHsweDk5LDB4MDAsMHgyMCwweGM1LDB4MDksMHgwMSwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkNDAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4YjgsMHg4MCwweDIyLDB4YzAsMHgwYiwweDg4LDB4MDIsMHhlZSwweDAxLDB4YjgsMHhjMSwweDJhIH0sCi0gIDE2LCAweDhkNTAsIDAsIHsweGMwLDB4MWIsMHhhOCwweDA2LDB4ZTIsMHgwMCwweGJiLDB4ODAsMHgyZSwweGMwLDB4OGEsMHg4MCwweDAyLDB4YWMsMHgwMCwweGFiIH0sCi0gIDE2LCAweDhkNjAsIDAsIHsweDAwLDB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg5OSwweDAwLDB4MjQsMHhjMCwweDA4LDB4ODAsMHgwMiwweDMwIH0sCi0gIDE2LCAweDhkNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGIwLDB4ODAsMHgzNiwweGMwIH0sCi0gIDE2LCAweDhkODAsIDAsIHsweDBlLDB4YTgsMHgxMywweGUyLDB4ODUsMHhmMywweGMwLDB4MzIsMHhjMCwweDBlLDB4OWMsMHgyMywweGU3LDB4MjQsMHhlOCwweDgyIH0sCi0gIDE2LCAweDhkOTAsIDAsIHsweDNhLDB4YzEsMHgwZiwweDk0LDB4MDMsMHhhYywweDAyLDB4ZWIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgyZSwweDEwIH0sCi0gIDE2LCAweDhkYTAsIDAsIHsweDUxLDB4MDAsMHhiMiwweGMwLDB4MGQsMHhiMCwweDAzLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkYjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGQwLDB4MDMsMHhmMCwweDA0LDB4ZmQsMHgwNCwweDNmIH0sCi0gIDE2LCAweDhkYzAsIDAsIHsweGMwLDB4NGMsMHhjMCwweDAzLDB4ZjAsMHgxMCwweGZjLDB4MDAsMHgxZiwweGMwLDB4MGQsMHhkMSwweDIzLDB4MWMsMHgwMCwweGM3IH0sCi0gIDE2LCAweDhkZDAsIDAsIHsweDAwLDB4MzksMHhjMCwweDBkLDB4ZjAsMHg4MywweGZlLDB4NDQsMHhlZCwweDAwLDB4M2IsMHhjMCwweDBmLDB4NzQsMHgwMywweGY4IH0sCi0gIDE2LCAweDhkZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY5LDB4MDEsMHhiYSwweGMxIH0sCi0gIDE2LCAweDhkZjAsIDAsIHsweDBjLDB4YjAsMHgwMywweGExLDB4MDgsMHhmYSwweDAwLDB4MzAsMHhjOCwweDhmLDB4OTQsMHgwMywweDI1LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweDhlMDAsIDAsIHsweDNjLDB4YzAsMHgwZiwweDA0LDB4ODMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4ZTAsMHgwZiwweDcxLDB4MGIsMHgyYywweDQwIH0sCi0gIDE2LCAweDhlMTAsIDAsIHsweGZkLDB4MDgsMHgzNywweGMwLDB4NGUsMHg5MSwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlMjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4YjksMHgwMCwweDIzLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YzgsMHgwMCwweDM3IH0sCi0gIDE2LCAweDhlMzAsIDAsIHsweGYwLDB4MGIsMHg4MCwweDAxLDB4NjQsMHgwMCwweDQ5LDB4MDIsMHgzMywweGMwLDB4ODQsMHg5YywweDAzLDB4M2MsMHgwMCwweGJmIH0sCi0gIDE2LCAweDhlNDAsIDAsIHsweDAyLDB4MGYsMHhkMCwweDA4LDB4ZjQsMHgwMiwweDBlLDB4MTAsMHhiZCwweDgwLDB4MzMsMHhlMCwweDA4LDB4OTAsMHgwYSwweDMyIH0sCi0gIDE2LCAweDhlNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIwLDB4MDYsMHgyMCwweGMwIH0sCi0gIDE2LCAweDhlNjAsIDAsIHsweDA4LDB4MDAsMHg0MiwweDg0LDB4MDAsMHhhMCwweDAwLDB4MjAsMHhmMCwweDBiLDB4MDAsMHgyMiwweGNjLDB4MDAsMHg5MCwweDAwIH0sCi0gIDE2LCAweDhlNzAsIDAsIHsweDI4LDB4YzAsMHgwMiwweDNkLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzIsMHg5YSwweDM4LDB4MDIsMHgwNiwweDA0IH0sCi0gIDE2LCAweDhlODAsIDAsIHsweGIxLDB4MTIsMHgyMCwweGUwLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjYsMHg4MCwweDIxLDB4ZTAsMHgyOCwweGVhLDB4MDIsMHgzNiwweDgwLDB4ODYsMHg5MCwweDY1IH0sCi0gIDE2LCAweDhlYTAsIDAsIHsweGUwLDB4MWIsMHhkYSwweDA2LDB4NWUsMHgwMSwweDllLDB4ODQsMHgyNSwweGVjLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweGI3IH0sCi0gIDE2LCAweDhlYjAsIDAsIHsweDgwLDB4MmQsMHhlMCwweDA4LDB4NzksMHg0YSwweDE2LDB4NDAsMHhiZCwweDgwLDB4MjUsMHhlMCwweDA4LDB4MzgsMHgwMiwweDA4IH0sCi0gIDE2LCAweDhlYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGZiLDB4MDAsMHgyOCwweGUwIH0sCi0gIDE2LCAweDhlZDAsIDAsIHsweDA4LDB4MTgsMHgwMiwweDhhLDB4ODgsMHhhMSwweGEwLDB4MjAsMHhjMiwweDFmLDB4MmEsMHgyMywweGU2LDB4YzgsMHhmMCwweGMwIH0sCi0gIDE2LCAweDhlZTAsIDAsIHsweDNhLDB4ZWQsMHg0ZSwweDM0LDB4MDIsMHg4YywweDA4LDB4ZjMsMHg4MSwweDFlLDB4YzAsMHgwZSwweDMwLDB4MDMsMHgwZSwweGMwIH0sCi0gIDE2LCAweDhlZjAsIDAsIHsweGYxLDB4MDAsMHhiMCwweGNhLDB4MGUsMHgyMSwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmMDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDA4LDB4ZmUsMHgxMCwweDNmLDB4ZDIsMHgwZiwweGUwLDB4MDMsMHhlYywweDA0LDB4ZmYsMHgxNCwweDdlIH0sCi0gIDE2LCAweDhmMTAsIDAsIHsweGMwLDB4MGYsMHhiMSwweDIzLDB4ZmMsMHgwMSwweGVlLDB4MDAsMHgzYSwweGM0LDB4MGQsMHhiMCwweDEzLDB4YmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweDhmMjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBlLDB4ZjAsMHg4MywweGZjLDB4MGMsMHhmZCwweDEwLDB4M2IsMHhjMCwweDJmLDB4ZTEsMHgwMywweGQwIH0sCi0gIDE2LCAweDhmMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGYwLDB4ODAsMHgzMiwweGQwIH0sCi0gIDE2LCAweDhmNDAsIDAsIHsweDBjLDB4YTAsMHgwMywweDZjLDB4MDAsMHhmMywweDgwLDB4MzIsMHhkYSwweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH0sCi0gIDE2LCAweDhmNTAsIDAsIHsweDNlLDB4Y2MsMHg0YywweDk4LDB4MTMsMHgyYywweDEwLDB4ZmIsMHgwNCwweDNlLDB4YzQsMHgwYywweGYyLDB4ODMsMHhhNiwweDEwIH0sCi0gIDE2LCAweDhmNjAsIDAsIHsweGRkLDB4MjAsMHgzZiwweGQxLDB4MGMsMHhiMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmNzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDgwLDB4YjcsMHgwMCwweDIxLDB4YzgsMHgwYywweDcwLDB4MDIsMHhkYywweDA4LDB4YjcsMHgwMCwweDIxIH0sCi0gIDE2LCAweDhmODAsIDAsIHsweGM4LDB4MGUsMHg3MCwweDIyLDB4ZDgsMHgwMCwweGI3LDB4MDAsMHgyYywweGMyLDB4MGEsMHg3MCwweDBhLDB4MWYsMHgwOCwweGI3IH0sCi0gIDE2LCAweDhmOTAsIDAsIHsweDAwLDB4MzksMHhjOCwweDBhLDB4NzAsMHgwMiwweDE0LDB4MDAsMHhjNSwweDY5LDB4MmMsMHhjYSwweDJhLDB4NzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweDhmYTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGJmLDB4ODEsMHg2NCwweGUxIH0sCi0gIDE2LCAweDhmYjAsIDAsIHsweDA4LDB4NzgsMHgwMiwweDVhLDB4MDEsMHhiZiwweDgwLDB4MjEsMHhlYywweDRiLDB4NzgsMHg0NiwweDlmLDB4MDgsMHgzNywweDgwIH0sCi0gIDE2LCAweDhmYzAsIDAsIHsweDJkLDB4ZTgsMHg4OCwweDE4LDB4MDIsMHgxZSwweDgxLDB4YjcsMHhiMCwweDJkLDB4ZTAsMHgwOSwweDdhLDB4MDIsMHg4ZSwweDAwIH0sCi0gIDE2LCAweDhmZDAsIDAsIHsweDk1LDB4YTAsMHgyZCwweGU0LDB4MDgsMHg3OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmZTAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4YjMsMHg2MCwweDIwLDB4YzAsMHgwOCwweGI2LDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMSwweDIwIH0sCi0gIDE2LCAweDhmZjAsIDAsIHsweGMwLDB4OGEsMHhiMCwweDg2LDB4Y2YsMHgwMCwweGJiLDB4MTAsMHg2YywweGMxLDB4MGEsMHgzOCwweDAyLDB4MGMsMHgwMSwweGIzIH0sCi0gIDE2LCAweDkwMDAsIDAsIHsweDAyLDB4MjgsMHhjMCwweDBiLDB4YjAsMHgwYSwweDBjLDB4MDAsMHg4MSwweDAwLDB4MmUsMHhjMCwweDBhLDB4YjQsMHg4MiwweGQyIH0sCi0gIDE2LCAweDkwMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4NDAsMHhiNiwweDgwIH0sCi0gIDE2LCAweDkwMjAsIDAsIHsweDBjLDB4ZTQsMHgwMywweDc4LDB4ODAsMHhmZSwweDc0LDB4MzIsMHg4MCwweDBiLDB4ZTYsMHgwMywweGY5LDB4MDAsMHhmZSwweDAwIH0sCi0gIDE2LCAweDkwMzAsIDAsIHsweDNlLDB4ODAsMHgwYywweGUwLDB4MDMsMHgyOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHg0ZCwweGEwLDB4MDMsMHhhOCwweDAwIH0sCi0gIDE2LCAweDkwNDAsIDAsIHsweGRhLDB4MDQsMHgzZSwweDgwLDB4MGMsMHhlNCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgyZSwweDgwLDB4MjMsMHhlMCwweDAwLDB4ZjgsMHgwMSwweDNjIH0sCi0gIDE2LCAweDkwNjAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY4LDB4MjAsMHgzZSwweDAxLDB4OGYsMHg4OSwweDAzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweDkwNzAsIDAsIHsweDAwLDB4M2EsMHgxMCwweDBlLDB4ODAsMHgwMSwweGUwLDB4MDAsMHhlOCwweDQwLDB4N2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDkwODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDEsMHg3ZSwweDQwIH0sCi0gIDE2LCAweDkwOTAsIDAsIHsweDJjLDB4OTAsMHgwYiwweDI0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2OCwweDA1LDB4OTAsMHgxMywweGE0LDB4MDQsMHhkOSwweDAwIH0sCi0gIDE2LCAweDkwYTAsIDAsIHsweDMyLDB4NDEsMHgwZSwweDkxLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjAsMHgwZSwweDkwLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweDkwYjAsIDAsIHsweGYxLDB4MDAsMHgzMiwweDQwLDB4NjgsMHg5MCwweDQzLDB4ODIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwYzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDAsMHgwOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlIH0sCi0gIDE2LCAweDkwZDAsIDAsIHsweDcwLDB4ODgsMHg5MCwweDAzLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5OCwweDEyLDB4ZTQsMHgwMCwweGI5IH0sCi0gIDE2LCAweDkwZTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBhLDB4OTAsMHgwYSwweDI2LDB4MDAsMHhiOSwweDgwLDB4YTIsMHg0MCwweDA4LDB4OTAsMHgxMiwweDIwIH0sCi0gIDE2LCAweDkwZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4MDQsMHgyYywweDQwIH0sCi0gIDE2LCAweDkxMDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MDEsMHhiOSwweDAwLDB4MmEsMHg0MCwweDBiLDB4YjAsMHgwMiwweGE0LDB4MDEsMHhiOSwweDAwIH0sCi0gIDE2LCAweDkxMTAsIDAsIHsweGUwLDB4NDAsMHgwYSwweDkwLDB4ODIsMHhhNCwweDAwLDB4YjksMHgwMCwweDJjLDB4NDgsMHgwYSwweDk4LDB4MDIsMHgyNCwweDgwIH0sCi0gIDE2LCAweDkxMjAsIDAsIHsweDM5LDB4MjAsMHgyMiwweDQwLDB4MmEsMHg5MCwweDAyLDB4ODYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwMCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MTIsMHgwNCwweDEwLDB4YjEsMHgwNCwweDJjIH0sCi0gIDE2LCAweDkxNDAsIDAsIHsweGQ4LDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHgyMCwweDQ4LDB4MDgsMHgxMCwweDAyLDB4YzQsMHg4MCwweGIxIH0sCi0gIDE2LCAweDkxNTAsIDAsIHsweDIyLDB4MmMsMHg1MCwweDhhLDB4MzIsMHg4MiwweDA1LDB4YTAsMHhiMSwweDJhLDB4MjAsMHg0YSwweDBhLDB4MTIsMHg4MiwweDAyIH0sCi0gIDE2LCAweDkxNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg1MCwweGM4LDB4NTIsMHgyZSwweDE0IH0sCi0gIDE2LCAweDkxNzAsIDAsIHsweDBjLDB4ODUsMHgwMywweDIxLDB4NDAsMHhmOCwweDUwLDB4M2EsMHgwMCwweDFmLDB4ODUsMHgwMywweGExLDB4NDAsMHhmOCwweDUwIH0sCi0gIDE2LCAweDkxODAsIDAsIHsweDMyLDB4MTQsMHgwZSwweDgwLDB4MDMsMHhhMSwweDQwLDB4ZjgsMHg1MCwweDNjLDB4ODAsMHgwZSwweDAyLDB4MDMsMHgyMCwweDgwIH0sCi0gIDE2LCAweDkxOTAsIDAsIHsweGZhLDB4MjAsMHgzMiwweDA4LDB4MGUsMHg4MiwweDEzLDB4YWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDUwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNlIH0sCi0gIDE2LCAweDkxYjAsIDAsIHsweDQ0LDB4OGQsMHhkMCwweDAxLDB4YmQsMHgwMCwweGZkLDB4MDIsMHgzZSwweDQ0LDB4MGYsMHhkNCwweDAwLDB4ZTQsMHg0OCwweDc5IH0sCi0gIDE2LCAweDkxYzAsIDAsIHsweDE0LDB4M2UsMHg1MCwweDBmLDB4OTIsMHhhMiwweGY0LDB4MDgsMHhmZCwweDAwLDB4M2UsMHg0YSwweDBkLDB4ZDIsMHg4MywweGU2IH0sCi0gIDE2LCAweDkxZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTcsMHgwMCwweGY5LDB4MTAsMHgzYSwweDZlIH0sCi0gIDE2LCAweDkxZTAsIDAsIHsweDBjLDB4YjEsMHgwMywweGU0LDB4NDAsMHhmOSwweDQ0LDB4M2IsMHg2MSwweDhlLDB4OTQsMHgwMywweGU0LDB4MDAsMHhlOSwweDQwIH0sCi0gIDE2LCAweDkxZjAsIDAsIHsweDMyLDB4NjYsMHgwZiwweGRhLDB4MGIsMHhhNywweDI4LDB4YzksMHhlMCwweDNmLDB4NjgsMHgwYywweGRhLDB4ODMsMHhiMywweDIwIH0sCi0gIDE2LCAweDkyMDAsIDAsIHsweGVkLDB4YTAsMHgzMywweDc5LDB4MDgsMHhkOCwweDAzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyMTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDAwLDB4YjgsMHhhMCwweDJlLDB4MzgsMHgwOCwweDhhLDB4MDIsMHhlMiwweDg4LDB4ZTgsMHg4MSwweDJlIH0sCi0gIDE2LCAweDkyMjAsIDAsIHsweDE0LDB4MDksMHgwYSwweDAzLDB4ZTIsMHg4MCwweGI4LDB4ODAsMHgzMiwweDMwLDB4MGIsMHg4NSwweDAyLDB4MjEsMHgwMSwweGE4IH0sCi0gIDE2LCAweDkyMzAsIDAsIHsweGY0LDB4MzgsMHgyYSwweDA4LDB4MGUsMHhjYSwweDIzLDB4OTAsMHhjOCwweDU0LDB4MzQsMHgzOCwweDA4LDB4OGEsMHg5MiwweDBlIH0sCi0gIDE2LCAweDkyNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4MDAsMHgyOCwweDQwIH0sCi0gIDE2LCAweDkyNTAsIDAsIHsweDE5LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDIwLDB4MjgsMHg0MCwweDBiLDB4MTAsMHgwNiwweGM0LDB4MjAsMHhhMSwweGEyIH0sCi0gIDE2LCAweDkyNjAsIDAsIHsweDZjLDB4NDgsMHgwYiwweDEwLDB4MDIsMHg4NCwweDA4LDB4ODEsMHgyMCwweDJjLDB4NTAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDA0IH0sCi0gIDE2LCAweDkyNzAsIDAsIHsweGIxLDB4MDAsMHgyNCwweDU4LDB4MDgsMHgzYywweDAyLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4YjksMHgyMCwweDJjLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDEwLDB4YTksMHg0MCwweDJlIH0sCi0gIDE2LCAweDkyOTAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweGIxLDB4MDEsMHgyYSwweDQwLDB4MGIsMHg5NCwweDAyLDB4MjQsMHgwMCwweGE5IH0sCi0gIDE2LCAweDkyYTAsIDAsIHsweDAwLDB4MmEsMHg0MCwweDAxLDB4MTAsMHg1MiwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjYsMHg0MCwweDAwLDB4OTgsMHgwMiwweDQ2IH0sCi0gIDE2LCAweDkyYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4NjEsMHgzYSwweDQwIH0sCi0gIDE2LCAweDkyYzAsIDAsIHsweDBkLDB4OTAsMHg4MywweGU1LDB4MjAsMHhmOSwweDAxLDB4M2EsMHg0MCwweDJlLDB4OTAsMHgwMiwweGU0LDB4NDAsMHhlOSwweDAxIH0sCi0gIDE2LCAweDkyZDAsIDAsIHsweDllLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhhNCwweDAwLDB4ODksMHgwMCwweDNlLDB4NDAsMHgyZCwweDkwLDB4MDIsMHhlNiwweDA4IH0sCi0gIDE2LCAweDkyZTAsIDAsIHsweGI5LDB4MDEsMHgzNiwweDQwLDB4MmMsMHg5MCwweDAxLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyZjAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgyZSwweDkwLDB4MDMsMHhlNCwweDgwLDB4ZjksMHgwMCwweDNjIH0sCi0gIDE2LCAweDkzMDAsIDAsIHsweDQwLDB4MGMsMHg5YywweDIzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHgxMCwweDQzLDB4ODQsMHgwMCwweGY5IH0sCi0gIDE2LCAweDkzMTAsIDAsIHsweDAyLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweDgwLDB4ODAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDJmLDB4OTAsMHgwMywweDhhIH0sCi0gIDE2LCAweDkzMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4NDAsMHgzNiwweDAxIH0sCi0gIDE2LCAweDkzMzAsIDAsIHsweDBkLDB4ODQsMHgwMywweGUxLDB4MDAsMHhlOCwweDQwLDB4M2UsMHgwOCwweDBjLDB4ODAsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweDkzNDAsIDAsIHsweDMyLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHhhMCwweDEwLDB4ZjgsMHgwMCwweDMyLDB4MDQsMHgwZSwweDgwLDB4ODMsMHg2MCwweDAwIH0sCi0gIDE2LCAweDkzNTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHgwMCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHgwMSwweDIyLDB4ODAsMHgwOCwweGEwLDB4MjQsMHhlOCwweDAwLDB4MGEsMHgwMCwweDJmIH0sCi0gIDE2LCAweDkzNzAsIDAsIHsweDgwLDB4MWEsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4MDAsMHgxNiwweDgwLDB4MGIsMHhlMCwweDAzLDB4MjgsMHgwOCwweGVhIH0sCi0gIDE2LCAweDkzODAsIDAsIHsweDAwLDB4MzMsMHg5MCwweDA4LDB4ZWMsMHgxYiwweDIyLDB4ODAsMHhjNiwweDE0LDB4MmYsMHg5MSwweDA4LDB4YTAsMHg0MywweDRhIH0sCi0gIDE2LCAweDkzOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyNCwweGMwIH0sCi0gIDE2LCAweDkzYTAsIDAsIHsweDA5LDB4MzAsMHgxMiwweGNjLDB4MDQsMHhhMywweDA0LDB4NmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweDkzYjAsIDAsIHsweDJjLDB4YzAsMHgxMywweDMwLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCwweGU2LDB4YjgsMHgwYSwweDM4LDB4MDIsMHg0NCwweDA4IH0sCi0gIDE2LCAweDkzYzAsIDAsIHsweDgyLDB4NTAsMHgyYywweGQyLDB4M2EsMHgzMCwweDAyLDB4OGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzZDAsIDAsIHsweGEwLDB4MDEsMHgwZSwweDgwLDB4OTcsMHhiNCwweDIxLDB4YzQsMHg0OSwweDcxLDB4MDIsMHhkZSwweDgxLDB4ODcsMHgyMSwweDJkIH0sCi0gIDE2LCAweDkzZTAsIDAsIHsweGQwLDB4MGIsMHg3YiwweDAyLDB4MWMsMHgwMSwweGJmLDB4MjAsMHgyOSwweGM0LDB4MGIsMHgzMCwweDAyLDB4NWMsMHgwMCwweGE3IH0sCi0gIDE2LCAweDkzZjAsIDAsIHsweGExLDB4MjEsMHhjMCwweDRhLDB4NzAsMHg4YSwweDBjLDB4ODEsMHg4NCwweDAwLDB4MmQsMHhkMCwweDBhLDB4NTAsMHgwMiwweGU4IH0sCi0gIDE2LCAweDk0MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHg4MiwweGRmLDB4YTAsMHgzNCwweGVjIH0sCi0gIDE2LCAweDk0MTAsIDAsIHsweDBkLDB4NzksMHgwMiwweGZlLDB4ODAsMHhlNywweGU4LDB4MmYsMHhhMCwweDA5LDB4N2EsMHgwMiwweDllLDB4MDAsMHhmNywweGEyIH0sCi0gIDE2LCAweDk0MjAsIDAsIHsweDI1LDB4ZWEsMHgwYiwweDQ4LDB4MDMsMHg5ZSwweDA0LDB4ZmYsMHhjMCwweDY1LDB4ZTQsMHgwZSwweDY4LDB4MDMsMHg1ZiwweDAwIH0sCi0gIDE2LCAweDk0MzAsIDAsIHsweGU0LDB4ODAsMHgzZCwweGUwLDB4MGUsMHhmOCwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0NDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDQ4LDB4ZWIsMHgwNSwweDNlLDB4ZDksMHgwZSwweGIyLDB4MDMsMHhlYywweDAwLDB4ZmIsMHg2MCwweDNlIH0sCi0gIDE2LCAweDk0NTAsIDAsIHsweGMwLDB4MGUsMHhiMiwweDgzLDB4YWMsMHgwMCwweGYzLDB4NTAsMHhhNiwweGMwLDB4NGYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiIH0sCi0gIDE2LCAweDk0NjAsIDAsIHsweDgwLDB4M2YsMHhkOCwweDBkLDB4YTAsMHgwMywweGVjLDB4MGEsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBkLDB4OTAsMHgwMywweDQyIH0sCi0gIDE2LCAweDk0NzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGJiLDB4OTAsMHgzZSwweGUwIH0sCi0gIDE2LCAweDk0ODAsIDAsIHsweDA4LDB4MzksMHgwMywweDllLDB4MjAsMHhjZiwweDgyLDB4NzcsMHhlMCwweDFmLDB4ZjgsMHgwMywweGVlLDB4MDAsMHhmZiwweGMwIH0sCi0gIDE2LCAweDk0OTAsIDAsIHsweDNmLDB4ZTUsMHgwZCwweGY5LDB4MDMsMHhlZSwweDAwLDB4ZmIsMHg5MCwweDM3LDB4YTAsMHgwOCwweGY4LDB4MGYsMHgxZSwweDAwIH0sCi0gIDE2LCAweDk0YTAsIDAsIHsweGNjLDB4OTQsMHgzMywweDYwLDB4MGQsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0YjAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4YjcsMHg5MCwweDJmLDB4ZTQsMHgwOCwweDdhLDB4MDIsMHgxZSwweDAwLDB4OGYsMHgxMiwweDI1IH0sCi0gIDE2LCAweDk0YzAsIDAsIHsweGQ4LDB4MGIsMHhiYiwweDAyLDB4MWUsMHgwMCwweGI3LDB4MDAsMHgyZCwweGU4LDB4MDgsMHg3ZCwweDgyLDB4ZGUsMHg0MCwweGJiIH0sCi0gIDE2LCAweDk0ZDAsIDAsIHsweGEwLDB4MjcsMHg5MCwweDBhLDB4NzYsMHgwMiwweDVjLDB4ODAsMHg4NSwweDAwLDB4MzcsMHhjNCwweDRkLDB4NzEsMHgwMywweGVhIH0sCi0gIDE2LCAweDk0ZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MjAsMHgyZCwweGMwIH0sCi0gIDE2LCAweDk0ZjAsIDAsIHsweDI5LDB4ZjIsMHgyMiwweGJjLDB4ODAsMHg5NywweDAwLDB4MjUsMHg0MSwweDBiLDB4NzAsMHgxMiwweDljLDB4MDAsMHhiNywweDA4IH0sCi0gIDE2LCAweDk1MDAsIDAsIHsweDI5LDB4YzAsMHgwOCwweDQyLDB4MTIsMHhkYywweDQwLDB4YjcsMHgwMCwweDI5LDB4YzAsMHgwOSwweDYwLDB4MjIsMHhkYywweDEwIH0sCi0gIDE2LCAweDk1MTAsIDAsIHsweDgwLDB4MDAsMHgyMSwweDQwLDB4MDksMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1MjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4YjMsMHhjMCwweDJlLDB4YzAsMHgwOCwweDM0LDB4ODIsMHgyZCwweDAwLDB4OTMsMHgwMCwweDI0IH0sCi0gIDE2LCAweDk1MzAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDAyLDB4MGYsMHg4MCwweDEzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzNCwweGEyLDB4ZWMsMHgwMCwweGIzIH0sCi0gIDE2LCAweDk1NDAsIDAsIHsweDAwLDB4MjgsMHhjMCwweDBiLDB4MDAsMHgwMiwweGNjLDB4MDAsMHg4MSwweDAwLDB4MjAsMHhjMCwweDA5LDB4MzAsMHgwMiwweDg5IH0sCi0gIDE2LCAweDk1NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMCwweGZmLDB4ZTAsMHgzZiwweGMwIH0sCi0gIDE2LCAweDk1NjAsIDAsIHsweDBjLDB4ZjQsMHg4MywweGJkLDB4MDAsMHhkZiwweDA4LDB4MzYsMHg0MCwweDBiLDB4NzUsMHg0MiwweGZjLDB4MjAsMHhmZiwweDgwIH0sCi0gIDE2LCAweDk1NzAsIDAsIHsweDNiLDB4YzAsMHgyYywweDNjLDB4MDMsMHhmYywweDAwLDB4YmYsMHgwMCwweGJlLDB4YzAsMHg4ZCwweDkwLDB4MGIsMHhhYywweDAyIH0sCi0gIDE2LCAweDk1ODAsIDAsIHsweGNhLDB4MDAsMHgyMiwweDgwLDB4MGQsMHhiMCwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1OTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwOCwweDFlLDB4YzAsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNhIH0sCi0gIDE2LCAweDk1YTAsIDAsIHsweDEwLDB4MGYsMHhiMCwweDIzLDB4YWMsMHgwMSwweGZiLDB4MDAsMHgzZSwweGMwLDB4M2MsMHg4NCwweDAzLDB4ZWMsMHgwMCwweGZiIH0sCi0gIDE2LCAweDk1YjAsIDAsIHsweDAwLDB4MjYsMHg0MCwweDBlLDB4OTQsMHgwYiwweDJjLDB4MDAsMHhmOSwweDQwLDB4M2UsMHg5MCwweDBlLDB4OTAsMHgxMywweGUwIH0sCi0gIDE2LCAweDk1YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMiwweGNmLDB4MDAsMHgzZiwweGMwIH0sCi0gIDE2LCAweDk1ZDAsIDAsIHsweDBkLDB4ZjAsMHgwYiwweDNjLDB4MjAsMHhjZiwweDAwLDB4M2QsMHgwMCwweDBlLDB4ZjAsMHgwNywweDljLDB4MDEsMHhjZiwweDAyIH0sCi0gIDE2LCAweDk1ZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGM0LDB4MDMsMHgzYywweDAwLDB4Y2YsMHgwMCwweDBmLDB4YzAsMHgwZSwweDQ0LDB4MDMsMHgxZiwweDAyIH0sCi0gIDE2LCAweDk1ZjAsIDAsIHsweGNjLDB4MDAsMHgzZiwweDgwLDB4MmMsMHg3MCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2MDAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHgwMiwweDJlLDB4YzAsMHgwZCwweGIwLDB4MDIsMHgyYywweDAwLDB4YWIsMHgwMCwweDA2IH0sCi0gIDE2LCAweDk2MTAsIDAsIHsweDIwLDB4MDgsMHhiMCwweDAzLDB4ZmMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwLDB4MGYsMHg4MCwweDA2LDB4YmMsMHgwMCwweGFiIH0sCi0gIDE2LCAweDk2MjAsIDAsIHsweDA0LDB4M2EsMHhmMCwweDBjLDB4ODgsMHgwMiwweDJjLDB4MDAsMHhjOSwweDgwLDB4M2EsMHg5MiwweDA4LDB4OTAsMHgwYSwweGEwIH0sCi0gIDE2LCAweDk2MzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwIH0sCi0gIDE2LCAweDk2NDAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHg2MCwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDAsMHg4YiwweDAwIH0sCi0gIDE2LCAweDk2NTAsIDAsIHsweDZlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4OWIsMHgwMCwweDRjLDB4ZTAsMHgwYSwweDkwLDB4MjIsMHgyYywweDAwIH0sCi0gIDE2LCAweDk2NjAsIDAsIHsweDhhLDB4YzIsMHgyYywweDQwLDB4MDgsMHhiMCwweDQyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2NzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4ODMsMHgwZCwweDJjLDB4YzYsMHgwOSwweDMxLDB4MDIsMHgwZCwweDgxLDB4YTMsMHgxMSwweDI0IH0sCi0gIDE2LCAweDk2ODAsIDAsIHsweDAwLDB4OGEsMHhiMSwweGUyLDB4NGMsMHg4MCwweGEzLDB4MDAsMHgyYywweGNjLDB4MGIsMHgwMiwweDAyLDB4OGMsMHg4MCwweGEzIH0sCi0gIDE2LCAweDk2OTAsIDAsIHsweDQ4LDB4MDgsMHhjMCwweDA4LDB4MDAsMHgwYSwweDBkLDB4MDAsMHg4MSwweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDgyIH0sCi0gIDE2LCAweDk2YTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGNiLDB4MjAsMHgyZiwweGM4IH0sCi0gIDE2LCAweDk2YjAsIDAsIHsweDhkLDB4ZjYsMHgxMywweDJkLDB4YjAsMHg4ZiwweDAwLDB4MzYsMHg0MCwweDBmLDB4ZjAsMHgwMiwweGFkLDB4YTgsMHg4ZiwweDEwIH0sCi0gIDE2LCAweDk2YzAsIDAsIHsweDNmLDB4Y2EsMHgwYiwweDgwLDB4OTIsMHgyYywweDEwLDB4ZGIsMHg0MCwweDNmLDB4YzAsMHgwZSwweDAwLDB4MDMsMHgyZCwweDA0IH0sCi0gIDE2LCAweDk2ZDAsIDAsIHsweGM4LDB4MDIsMHgzZSwweDQwLDB4MGMsMHhiMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2ZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzgsMHgwZSwweGYxLDB4MDMsMHhlYywweDg0LDB4ZmYsMHgyMCwweDM3IH0sCi0gIDE2LCAweDk2ZjAsIDAsIHsweDAwLDB4MGQsMHhiMiwweDAzLDB4YmMsMHhhMCwweGZmLDB4MDAsMHgzZSwweGM5LDB4MGUsMHg4MCwweDAzLDB4ZmQsMHgxMSwweGZmIH0sCi0gIDE2LCAweDk3MDAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDBlLDB4YzAsMHgwMywweGZjLDB4ODAsMHhlZCwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHg0MywweDY4IH0sCi0gIDE2LCAweDk3MTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg5MCwweGNjLDB4OTIsMHgzYiwweGM4IH0sCi0gIDE2LCAweDk3MjAsIDAsIHsweDBkLDB4ZjAsMHg4MywweDczLDB4MTAsMHhmZiwweDI4LDB4MzcsMHhjYSwweDRmLDB4YjIsMHgwMywweGZjLDB4MDAsMHhkZiwweDIwIH0sCi0gIDE2LCAweDk3MzAsIDAsIHsweGIzLDB4YzQsMHgwZCwweDY4LDB4NDMsMHhmZSwweDE0LDB4Y2IsMHg4NCwweDMzLDB4ZTAsMHgwZCwweDc4LDB4MDMsMHhiZSwweDAwIH0sCi0gIDE2LCAweDk3NDAsIDAsIHsweGZmLDB4ODAsMHgzNywweGEwLDB4MGMsMHhmMywweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3NTAsIDAsIHsweDgwLDB4MDAsMHhmYywweDQ4LDB4ODIsMHgyMSwweDAzLDB4ZjQsMHgwZiwweGY2LDB4NDIsMHgyMCwweDA0LDB4OGEsMHg2MCwweDJiIH0sCi0gIDE2LCAweDk3NjAsIDAsIHsweGRhLDB4MGIsMHhmOSwweDAyLDB4M2YsMHgwNCwweDhmLDB4NTIsMHgyMywweGQ1LDB4NGQsMHg4OCwweDAyLDB4YWUsMHgwMCwweGRiIH0sCi0gIDE2LCAweDk3NzAsIDAsIHsweDgwLDB4MzYsMHhjMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDQsMHhiOCwweDAwLDB4MjIsMHg2MCwweDBkLDB4NzQsMHgwMywweGUwIH0sCi0gIDE2LCAweDk3ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHhhMCwweDgwLDB4MDEsMHgwOCwweGMwIH0sCi0gIDE2LCAweDk3OTAsIDAsIHsweDRiLDB4MzAsMHg4MiwweDQyLDB4OTAsMHhhMywweDA4LDB4MmMsMHhjOCwweDFhLDB4MzAsMHgyMiwweDhkLDB4MDAsMHg5MywweDAwIH0sCi0gIDE2LCAweDk3YTAsIDAsIHsweDI0LDB4YzgsMHgwOSwweGEwLDB4MTIsMHgwYywweDA0LDB4YWIsMHgwMCwweDYyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweDk3YjAsIDAsIHsweGIzLDB4MDAsMHgyOCwweDgwLDB4MDgsMHgzNiwweDA2LDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3YzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4ODgsMHgwOCwweDIyLDB4YzAsMHgwYSwweDMwLDB4MWEsMHgwMCwweDExLDB4ODIsMHgwMCwweDBhIH0sCi0gIDE2LCAweDk3ZDAsIDAsIHsweGMwLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4MDksMHg5MSwweDAyLDB4ZWMsMHgyMCwweGJiIH0sCi0gIDE2LCAweDk3ZTAsIDAsIHsweDI4LDB4NjYsMHhjMCwweDA4LDB4ODAsMHgwMiwweDYwLDB4MDAsMHhiOCwweDAwLDB4MmEsMHg0MCwweDgxLDB4YjAsMHgwNiwweGY4IH0sCi0gIDE2LCAweDk3ZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZWMsMHgwMiwweGM4LDB4MDQsMHgzYSwweGMwIH0sCi0gIDE2LCAweDk4MDAsIDAsIHsweDg5LDB4YjAsMHgwMywweDY4LDB4MDAsMHhlOSwweGMxLDB4MWUsMHhjMSwweDBlLDB4MzAsMHgwMywweGVjLDB4MDAsMHhkYiwweDAwIH0sCi0gIDE2LCAweDk4MTAsIDAsIHsweDM2LDB4YzEsMHgwZCwweDAwLDB4MjMsMHgwZSwweDAwLDB4ZWIsMHg4MCwweDMyLDB4YzgsMHhjZCwweDMwLDB4MzIsMHhlYywweDA4IH0sCi0gIDE2LCAweDk4MjAsIDAsIHsweGYzLDB4MDAsMHgzYywweDgwLDB4MGMsMHhiMCwweDA2LDB4ODAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4MzAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4N2MsMHgwMCwweDNmLDB4YzAsMHgwYiwweGIwLDB4NDMsMHhmZCwweDAwLDB4YmUsMHhjNCwweDM3IH0sCi0gIDE2LCAweDk4NDAsIDAsIHsweGMwLDB4MWYsMHhmMCwweDAzLDB4NWMsMHgwMCwweGZmLDB4MDEsMHgzYiwweGMwLDB4MGUsMHhjOCwweDAzLDB4YmYsMHgyMCwweGRmIH0sCi0gIDE2LCAweDk4NTAsIDAsIHsweDAwLDB4M2YsMHhkMCwweDBmLDB4YzAsMHgxMywweGIwLDB4MDAsMHg3YywweDAwLDB4YjcsMHg0MCwweDBmLDB4ZjAsMHgxYiwweGIwIH0sCi0gIDE2LCAweDk4NjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwYywweGQ4LDB4NDEsMHgzMiwweGMwIH0sCi0gIDE2LCAweDk4NzAsIDAsIHsweDBlLDB4YjAsMHgwNywweGE4LDB4MDEsMHg2OSwweDQwLDB4YjIsMHhjMCwweDhkLDB4YjAsMHhhMywweGVjLDB4MDgsMHhmMywweDAwIH0sCi0gIDE2LCAweDk4ODAsIDAsIHsweDMyLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlZCwweDAwLDB4ZmIsMHg0OCwweDNhLDB4YzAsMHgwZCwweGIwLDB4ODMsMHgyYywweDAwIH0sCi0gIDE2LCAweDk4OTAsIDAsIHsweGZiLDB4MjAsMHgzZSwweDgwLDB4MGYsMHg3MCwweDIzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4YTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4ODgsMHgwMCwweDIzLDB4YzAsMHgwOCwweGYwLDB4MDYsMHgyYywweDEwLDB4ODgsMHg1MSwweDM3IH0sCi0gIDE2LCAweDk4YjAsIDAsIHsweGMwLDB4MDgsMHhmMCwweDA3LDB4N2QsMHg2MCwweDhmLDB4MDIsMHgzNywweGMwLDB4MGIsMHg4YywweDAwLDB4MmQsMHgwMCwweGIzIH0sCi0gIDE2LCAweDk4YzAsIDAsIHsweDAwLDB4MzgsMHhjMCwweDA4LDB4ODAsMHg4MiwweDIwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHg1MCwweDBiLDB4ZjAsMHgwMCwweDMyIH0sCi0gIDE2LCAweDk4ZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDk4LDB4MDAsMHgyOCwweGMwIH0sCi0gIDE2LCAweDk4ZTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDg0LDB4MDQsMHhhMywweDAwLDB4MDAsMHhjMCwweDY4LDB4MzksMHgwNiwweDBjLDB4MTAsMHg5MywweDIwIH0sCi0gIDE2LCAweDk4ZjAsIDAsIHsweDIyLDB4YzAsMHg5YiwweDAxLDB4YTAsMHg4ZiwweDE0LDB4MzMsMHgxNCwweDI4LDB4YzAsMHgwOSwweDNjLDB4MDIsMHgwYywweDAxIH0sCi0gIDE2LCAweDk5MDAsIDAsIHsweDkzLDB4NDAsMHgyYywweDg4LDB4MGIsMHgzMCwweDAyLDB4YjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5MTAsIDAsIHsweDYwLDB4MDEsMHgxZSwweDEwLDB4ODcsMHg4MCwweDI5LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzZSwweDAwLDB4ODMsMHg5MCwweDI0IH0sCi0gIDE2LCAweDk5MjAsIDAsIHsweGUwLDB4MDgsMHg3OCwweDEwLDB4Y2UsMHgwNCwweDA3LDB4OTEsMHgyNSwweGUwLDB4ODMsMHhjOSwweDAyLDB4MWUsMHgwNCwweGI3IH0sCi0gIDE2LCAweDk5MzAsIDAsIHsweDg0LDB4MmIsMHhhNCwweDA4LDB4NDgsMHg0MiwweDEyLDB4Y2MsMHhiNCwweDgwLDB4MmQsMHg2NCwweDBiLDB4NzgsMHgwMiwweDE5IH0sCi0gIDE2LCAweDk5NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MmMsMHgwMCwweGQwLDB4MTAsMHgyOCwweGM4IH0sCi0gIDE2LCAweDk5NTAsIDAsIHsweDBlLDB4M2IsMHgwMiwweDg0LDB4MDAsMHhlMywweDQwLDB4MzAsMHhjOCwweDBjLDB4MzgsMHg2MiwweDhjLDB4MDAsMHg1MywweDAwIH0sCi0gIDE2LCAweDk5NjAsIDAsIHsweDMwLDB4YzQsMHgxZiwweDAwLDB4MjMsMHg4YywweDNjLDB4ZjMsMHg4MCwweDE4LDB4YzAsMHgwZCwweDMwLDB4MDMsMHgwZSwweDgwIH0sCi0gIDE2LCAweDk5NzAsIDAsIHsweGQzLDB4MTAsMHgzYywweDgwLDB4MGYsMHgzMCwweDAzLDB4OTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5ODAsIDAsIHsweDQwLDB4MWQsMHhiZCwweDAwLDB4ZjksMHgxMiwweGI0LDB4YzAsMHgwNywweGIwLDB4MDMsMHhjYywweDAwLDB4NGEsMHgwMCwweDc3IH0sCi0gIDE2LCAweDk5OTAsIDAsIHsweGMwLDB4MGUsMHg3MSwweDQzLDB4NmMsMHgwMCwweGYzLDB4MDAsMHgzZiwweGQwLDB4MWYsMHhkMCwweDUzLDB4YWMsMHg2OCwweGZiIH0sCi0gIDE2LCAweDk5YTAsIDAsIHsweDE4LDB4M2QsMHhjMCwweDBmLDB4YzAsMHgxMywweGYwLDB4NTAsMHhmYywweDA0LDB4M2YsMHg0MCwweDBmLDB4ZjQsMHgwMywweDkwIH0sCi0gIDE2LCAweDk5YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHg0MCwweGY4LDB4MDQsMHgzZSwweGQyIH0sCi0gIDE2LCAweDk5YzAsIDAsIHsweDBmLDB4YjMsMHgxMywweGUwLDB4MTAsMHhmOSwweDAwLDB4YjIsMHhjYywweDBlLDB4YmEsMHgwMywweDZkLDB4ODAsMHhkYiwweDAyIH0sCi0gIDE2LCAweDk5ZDAsIDAsIHsweDMyLDB4ZGMsMHg0ZiwweDAwLDB4MDMsMHg2YywweDA0LDB4ZjMsMHgwMiwweDM2LDB4NDAsMHgwZSwweGIwLDB4MDMsMHhjYywweDAwIH0sCi0gIDE2LCAweDk5ZTAsIDAsIHsweDRiLDB4MDAsMHgzYywweDgwLDB4MGMsMHhmMSwweDAzLDB4NjIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5ZjAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjQsMHgwMCwweDJkLDB4YzksMHgwYiwweDcwLDB4ODIsMHhkYywweDAwLDB4YmMsMHgwNCwweDIxIH0sCi0gIDE2LCAweDlhMDAsIDAsIHsweGM0LDB4NGIsMHgzNywweDAyLDB4MGMsMHhhMCwweDhmLDB4NzQsMHgyMSwweGMwLDB4MGIsMHg0MCwweDAyLDB4MWMsMHg4MSwweGI3IH0sCi0gIDE2LCAweDlhMTAsIDAsIHsweDIwLDB4MmIsMHhjMCwweDA4LDB4NDAsMHgwMiwweGQwLDB4MDIsMHg4NCwweDAwLDB4MmQsMHg0MCwweDBhLDB4ZjIsMHgwMiwweDEyIH0sCi0gIDE2LCAweDlhMjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg4MCwweGI0LDB4YzAsMHgyZCwweGU0IH0sCi0gIDE2LCAweDlhMzAsIDAsIHsweDBiLDB4N2EsMHgwMiwweGQyLDB4MDAsMHhiNSwweDg4LDB4MjEsMHhlOCwweDBhLDB4NzgsMHgwMiwweGRlLDB4NDAsMHg5NywweDAwIH0sCi0gIDE2LCAweDlhNDAsIDAsIHsweDIxLDB4ZTgsMHgwYiwweGNjLDB4NDYsMHg1ZSwweDI4LDB4YjcsMHhjNCwweDIxLDB4ZjAsMHgwYSwweDc4LDB4MDIsMHhmZSwweDA4IH0sCi0gIDE2LCAweDlhNTAsIDAsIHsweDk3LDB4ODQsMHgyZCwweGEwLDB4MDgsMHg3OCwweDAyLDB4NzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhNjAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAwLDB4YjAsMHhjMCwweDJjLDB4YzAsMHg5YiwweGIwLDB4MDIsMHhjYywweDIwLDB4YjMsMHg2MCwweDIyIH0sCi0gIDE2LCAweDlhNzAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzLDB4MDEsMHgyMCwweGMwLDB4MWIsMHgwNiwweDE2LDB4NGYsMHgwMCwweGIzIH0sCi0gIDE2LCAweDlhODAsIDAsIHsweGEwLDB4MmEsMHhmMCwweDA4LDB4MDAsMHgwMiwweGUwLDB4MDAsMHg5MCwweDAwLDB4MmMsMHg0MCwweDBhLDB4MzAsMHgwMiwweDAyIH0sCi0gIDE2LCAweDlhOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgxMCwweGZlLDB4YzAsMHgzZSwweDgwIH0sCi0gIDE2LCAweDlhYTAsIDAsIHsweDBmLDB4YTAsMHgwMywweGY5LDB4MDgsMHhmZSwweDQwLDB4MjIsMHg4MCwweDBlLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkMiwweDAwIH0sCi0gIDE2LCAweDlhYjAsIDAsIHsweDMyLDB4ODAsMHg4ZiwweGUwLDB4MDMsMHg1OCwweDAwLDB4ZjYsMHgwMCwweDMzLDB4YjAsMHgwZSwweDIwLDB4MDIsMHhlOCwweDBjIH0sCi0gIDE2LCAweDlhYzAsIDAsIHsweGQyLDB4MDIsMHgzYywweDgwLDB4MGMsMHhhMCwweDAzLDB4N2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgyMCwweDNlLDB4MDEsMHgwYiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjAsMHg0MCwweDNlIH0sCi0gIDE2LCAweDlhZTAsIDAsIHsweDAwLDB4NTcsMHg4MCwweDIzLDB4MDAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDAzLDB4YTAsMHgzMCwweDM4IH0sCi0gIDE2LCAweDlhZjAsIDAsIHsweDAwLDB4M2EsMHgwOCwweDBmLDB4YzQsMHgwMywweGYwLDB4MDAsMHhlYywweDAwLDB4M2YsMHgxMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDliMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDEsMHgzYywweDQ4IH0sCi0gIDE2LCAweDliMTAsIDAsIHsweDRjLDB4OTAsMHgwYiwweDI0LDB4MDEsMHhjOSwweGMwLDB4MzIsMHg0MCwweGFjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhkOSwweDQwIH0sCi0gIDE2LCAweDliMjAsIDAsIHsweDMwLDB4NDAsMHgwZCwweDlhLDB4MDMsMHgyMiwweDg0LDB4YzgsMHgxNCwweDMyLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweDliMzAsIDAsIHsweGM5LDB4MDAsMHg4MiwweDY4LDB4MmMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliNDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MjIsMHgyNCwweDAwLDB4ODksMHgwMiwweDgyIH0sCi0gIDE2LCAweDliNTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTcsMHg0MCwweDg5LDB4ODAsMHgzNiwweDQxLDB4OGQsMHgxOCwweDAyLDB4YTAsMHgyNCwweGE4IH0sCi0gIDE2LCAweDliNjAsIDAsIHsweDA0LDB4NjIsMHg0MCwweDA4LDB4OTQsMHg4MywweDI0LDB4MDAsMHg4OSwweDAxLDB4MjIsMHg3MiwweDA4LDB4OTAsMHgwYiwweDIwIH0sCi0gIDE2LCAweDliNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDk5LDB4MDAsMHgyYSwweDQwIH0sCi0gIDE2LCAweDliODAsIDAsIHsweDI4LDB4OTAsMHgxMiwweDA0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4MjAsMHg5OSwweDAwIH0sCi0gIDE2LCAweDliOTAsIDAsIHsweDIyLDB4NDAsMHgxOCwweDkwLDB4MDYsMHgyMCwweDAxLDB4ODgsMHgwOCwweDYyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgzNCwweDEwIH0sCi0gIDE2LCAweDliYTAsIDAsIHsweDhkLDB4ODEsMHgyMywweDQxLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwNCwweDJjLDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAyLDB4ODMsMHgyMCwweDIwIH0sCi0gIDE2LCAweDliYzAsIDAsIHsweDQ4LDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MCwweDgzLDB4NjAsMHgyNCwweDQ4LDB4MTksMHgzNCwweDYyLDB4YTUsMHgwNCwweGExIH0sCi0gIDE2LCAweDliZDAsIDAsIHsweDAyLDB4NjAsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDU0LDB4MDAsMHg4ZCwweDAwLDB4MjksMHg0MCwweDA4LDB4MTIsMHg4MiwweDAyIH0sCi0gIDE2LCAweDliZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzYSwweDgwIH0sCi0gIDE2LCAweDliZjAsIDAsIHsweDBjLDB4ODUsMHgwMiwweDIxLDB4NDQsMHg4OCwweDUwLDB4MzIsMHgxNCwweDRjLDB4ODAsMHg0MywweGUwLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweDljMDAsIDAsIHsweDIyLDB4MTQsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMCwweGEyLDB4MDAsMHgwZSwweDgwLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweDljMTAsIDAsIHsweGM4LDB4MDAsMHgzMywweDAwLDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQ0LDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDEwLDB4ZmYsMHgxMCwweDNlIH0sCi0gIDE2LCAweDljMzAsIDAsIHsweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGIsMHhmMCwweDEzLDB4ZTUsMHgxMCwweGY5IH0sCi0gIDE2LCAweDljNDAsIDAsIHsweDQwLDB4M2YsMHg0YSwweDJmLDB4OTIsMHg4YSwweGE0LDB4YTIsMHhmOSwweDI4LDB4MzYsMHg0MCwweDBmLDB4OTIsMHg4MywweGE2IH0sCi0gIDE2LCAweDljNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4ZTYsMHhjMCwweGMxLDB4MDAsMHgzZiwweDY5IH0sCi0gIDE2LCAweDljNjAsIDAsIHsweDBjLDB4OWEsMHg0MywweDZjLDB4MDAsMHhmZCwweGEwLDB4M2UsMHg3OCwweDJjLDB4ZDgsMHgwNywweGQ2LDB4MDIsMHhkNSwweDk2IH0sCi0gIDE2LCAweDljNzAsIDAsIHsweDMyLDB4NzgsMHgwZCwweDkwLDB4MDMsMHgyNywweDAwLDB4ZmQsMHhhMCwweDM1LDB4NTAsMHgwNiwweGQ0LDB4MDMsMHhlNSwweDAwIH0sCi0gIDE2LCAweDljODAsIDAsIHsweGZkLDB4NDAsMHhiMywweDQwLDB4MGYsMHg5OCwweGEzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljOTAsIDAsIHsweDM4LDB4MTAsMHhlMywweGMyLDB4ODgsMHg4OCwweDJlLDB4MTQsMHhhOCwweDhhLDB4YzIsMHgyMiwweGEwLDB4YjgsMHhjMCwweDJjIH0sCi0gIDE2LCAweDljYTAsIDAsIHsweDI0LDB4NDgsMHg4NCwweDAyLDB4ZTEsMHgwMCwweDk4LDB4YzQsMHgyMCwweDNjLDB4MDgsMHg4YSwweDgyLDB4MjMsMHg4MCwweGI4IH0sCi0gIDE2LCAweDljYjAsIDAsIHsweDA0LDB4MjIsMHgyMCwweDA4LDB4ODgsMHgwMywweGEyLDB4MDAsMHhiOCwweGEwLDB4MjIsMHgwMCwweDBiLDB4ODgsMHgwMiwweDBlIH0sCi0gIDE2LCAweDljYzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweGExLDB4MjAsMHg2YywweDQwIH0sCi0gIDE2LCAweDljZDAsIDAsIHsweDBhLDB4MTQsMHgwMiwweDQ0LDB4MDQsMHhhMSwweDY4LDB4MmMsMHg0OCwweDA4LDB4MTQsMHgwMiwweGM1LDB4MDAsMHg4MSwweDYwIH0sCi0gIDE2LCAweDljZTAsIDAsIHsweDIwLDB4NDgsMHgxOSwweDkwLDB4MDIsMHg4NSwweDgxLDB4YjEsMHg0MCwweDI0LDB4NjgsMHgwYSwweDEyLDB4NDIsMHhjNCwweDgwIH0sCi0gIDE2LCAweDljZjAsIDAsIHsweGI5LDB4MjAsMHgyMCwweDQwLDB4OGIsMHgxMCwweDgyLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkMDAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDEwLDB4YTksMHgwMCwweDZlLDB4YzAsMHgwYSwweDEwLDB4MDIsMHgyNCwweDE0LDB4YjksMHgwMCwweDJlIH0sCi0gIDE2LCAweDlkMTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDEyLDB4ZTQsMHgwMCwweDk5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg4MCwweDA2LDB4YTAsMHg2MCwweGI5IH0sCi0gIDE2LCAweDlkMjAsIDAsIHsweDA5LDB4MjIsMHg2MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiOSwweDAwLDB4MDIsMHg0MCwweDBiLDB4MTAsMHgwNiwweDA2IH0sCi0gIDE2LCAweDlkMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweGU5LDB4ODAsMHgzZSwweDQxIH0sCi0gIDE2LCAweDlkNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDY0LDB4MDAsMHhlOSwweGMwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhjOSwweDAwIH0sCi0gIDE2LCAweDlkNTAsIDAsIHsweDIyLDB4NDEsMHgwZCwweDgwLDB4MDIsMHhhMywweDA0LDB4ZjEsMHg0MCwweDM2LDB4NDAsMHgwZSwweDkwLDB4MDIsMHhlNCwweDAwIH0sCi0gIDE2LCAweDlkNjAsIDAsIHsweGYxLDB4MDAsMHgxMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZDksMHgyMiwweDNlLDB4NDIsMHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4YjksMHhjNCwweDNjIH0sCi0gIDE2LCAweDlkODAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDIsMHhhZSwweDQwLDB4MGYsMHg4MCwweDRiLDB4NjIsMHgxMCwweGY5IH0sCi0gIDE2LCAweDlkOTAsIDAsIHsweDIwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAyLDB4N2UsMHg0MSwweDBmLDB4OTAsMHgxMywweGNhIH0sCi0gIDE2LCAweDlkYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4ODAsMHgwMCwweGM4LDB4MDAsMHgzOCwweDAwIH0sCi0gIDE2LCAweDlkYjAsIDAsIHsweDBmLDB4ODAsMHgyMCwweGUwLDB4MDAsMHhhOCwweDIwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwNywweGUwLDB4ODAsMHhjOCwweDAwIH0sCi0gIDE2LCAweDlkYzAsIDAsIHsweDM4LDB4MDAsMHgwZCwweDgwLDB4ODMsMHgyMSwweDEwLDB4ZjgsMHg2MCwweDMyLDB4MDAsMHg4ZSwweDgwLDB4YjMsMHgyMCwweDA4IH0sCi0gIDE2LCAweDlkZDAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDA0LDB4OGEsMHgwMCwweDMzLDB4OTAsMHg0MywweGEwLDB4MjIsMHgyOCwweDAwLDB4OGUsMHg4MCwweDc2IH0sCi0gIDE2LCAweDlkZjAsIDAsIHsweDgwLDB4MDgsMHhlMSwweDAzLDB4MTksMHgwMCwweDg2LDB4ODAsMHgyMiwweDgwLDB4MGQsMHg2MCwweDAxLDB4NzgsMHgwMCwweGJlIH0sCi0gIDE2LCAweDllMDAsIDAsIHsweDAwLDB4MzYsMHg4MCwweDBjLDB4ZTQsMHgwMiwweGE4LDB4MTAsMHhiZSwweGEwLDB4MmYsMHg4MCwweDBkLDB4YTAsMHgwMiwweDBhIH0sCi0gIDE2LCAweDllMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDExLDB4NGMsMHgwNCwweDAzLDB4MDQsMHgyYywweGQ0IH0sCi0gIDE2LCAweDllMjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDRjLDB4MDEsMHhhMywweGM0LDB4MjAsMHhjMCwweDI4LDB4MzUsMHgwMiwweDg2LDB4MDAsMHg4MywweDgwIH0sCi0gIDE2LCAweDllMzAsIDAsIHsweDI4LDB4YzAsMHgwOCwweDM4LDB4MDYsMHgwZSwweDk0LDB4MzAsMHhjMCwweGEyLDB4YzAsMHgwYiwweDNjLDB4MDIsMHgwYywweDAwIH0sCi0gIDE2LCAweDllNDAsIDAsIHsweGIzLDB4ODAsMHgyYywweDQ4LDB4MDgsMHgzMCwweDAyLDB4OGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllNTAsIDAsIHsweGEwLDB4MDEsMHgwYywweDA0LDB4OGYsMHg4MCwweDIxLDB4YzEsMHgxYiwweDcyLDB4NDIsMHgxZSwweGMwLDB4ODMsMHg4OCwweDIxIH0sCi0gIDE2LCAweDllNjAsIDAsIHsweGMwLDB4MTgsMHgyOCwweDA2LDB4MTAsMHgyMSwweDg2LDB4MzgsMHgyMSwweGMwLDB4MTksMHhmNywweDAyLDB4NWQsMHhjMCwweGI0IH0sCi0gIDE2LCAweDllNzAsIDAsIHsweDQxLDB4MjcsMHhkMCwweDA4LDB4NzgsMHhjNiwweDljLDB4MDAsMHhiNywweDAwLDB4MmYsMHg2MCwweDA5LDB4NzIsMHgwMiwweDI4IH0sCi0gIDE2LCAweDllODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMiwweGM3LDB4ODAsMHgyZCwweGEwIH0sCi0gIDE2LCAweDllOTAsIDAsIHsweDBmLDB4M2UsMHgwMywweGZlLDB4ODAsMHhhNywweDgwLDB4YTEsMHhlMCwweDBjLDB4NzgsMHgwMiwweDk0LDB4MDAsMHg4NSwweGEwIH0sCi0gIDE2LCAweDllYTAsIDAsIHsweDM5LDB4ZTQsMHgwYywweDc4LDB4MTMsMHgxZSwweDkwLDB4YjUsMHg4NCwweDMxLDB4ZTAsMHgwZiwweGY4LDB4ODcsMHgxZSwweDA0IH0sCi0gIDE2LCAweDllYjAsIDAsIHsweGY3LDB4ODAsMHgzZCwweDYwLDB4MGMsMHgzYiwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllYzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweGU0LDB4ZmIsMHg1NCwweDNlLDB4ODAsMHgwZiwweGI0LDB4MjMsMHhlYywweDMyLDB4ZmIsMHgwMCwweDNlIH0sCi0gIDE2LCAweDllZDAsIDAsIHsweGQ4LDB4NGYsMHhhMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHgzMCwweDMzLDB4ZWMsMHgwNCwweGYyIH0sCi0gIDE2LCAweDllZTAsIDAsIHsweDAxLDB4M2UsMHhjMCwweDBmLDB4YjIsMHgwMywweGZlLDB4MTAsMHhmYiwweDY4LDB4M2MsMHg0MSwweDBmLDB4ZjAsMHg0MywweDgyIH0sCi0gIDE2LCAweDllZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGNmLDB4ZTQsMHgzZiwweGU0IH0sCi0gIDE2LCAweDlmMDAsIDAsIHsweDBjLDB4ZmMsMHgwMywweDdlLDB4ODAsMHhjZiwweDgxLDB4MzMsMHhmYSwweDBmLDB4ZjgsMHgwMywweGY2LDB4MDAsMHhmZiwweDgwIH0sCi0gIDE2LCAweDlmMTAsIDAsIHsweDNmLDB4ZTIsMHgwZiwweDc5LDB4MDMsMHgzZSwweDQwLDB4ZjQsMHg4MCwweDMzLDB4NjAsMHgwYywweGU4LDB4MDMsMHgzZSwweDAwIH0sCi0gIDE2LCAweDlmMjAsIDAsIHsweGZmLDB4ODAsMHgzMywweDYwLDB4MGMsMHhmOCwweDgzLDB4NTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmMzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ZDcsMHhhMCwweDJkLDB4YzQsMHgwOCwweGJhLDB4MDIsMHgzYywweGEwLDB4ODcsMHgyMCwweDIxIH0sCi0gIDE2LCAweDlmNDAsIDAsIHsweGMwLDB4MGYsMHg1MiwweDAzLDB4ZDQsMHgwMCwweGI2LDB4MTAsMHgyZCwweGMwLDB4OGIsMHg3MywweDAzLDB4NWMsMHg0MCwweGI0IH0sCi0gIDE2LCAweDlmNTAsIDAsIHsweGIwLDB4MmIsMHg0OCwweDI4LDB4NDEsMHgwMiwweDBjLDB4MDAsMHhiZiwweDE4LDB4MzUsMHg0NiwweDI4LDB4NzIsMHg0MiwweDJhIH0sCi0gIDE2LCAweDlmNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAwLDB4OWMsMHgwMCwweDg3LDB4NDEsMHgyZCwweDQ0IH0sCi0gIDE2LCAweDlmNzAsIDAsIHsweDBhLDB4NzMsMHgwMiwweDljLDB4YzQsMHg4MSwweDAwLDB4NmQsMHhjOCwweDhiLDB4NzAsMHgwMiwweGQ0LDB4MDAsMHhiNywweDAwIH0sCi0gIDE2LCAweDlmODAsIDAsIHsweDJkLDB4YzAsMHgwYiwweGYwLDB4NDYsMHg5YywweDU1LDB4YjQsMHgyMCwweDI1LDB4NDAsMHgxOCwweDYwLDB4ODIsMHgxYywweDAwIH0sCi0gIDE2LCAweDlmOTAsIDAsIHsweGI3LDB4MDAsMHgyMywweDQwLDB4MDgsMHg3MCwweDQ2LDB4NDQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmYTAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4OTMsMHgwMCwweDJjLDB4NDAsMHgwYiwweGIwLDB4MDIsMHgwYywweDgyLDB4ODAsMHhjMCwweDIwIH0sCi0gIDE2LCAweDlmYjAsIDAsIHsweGMwLDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MWIsMHgzMCwweDAwLDB4Y2QsMHgwMSwweGIwIH0sCi0gIDE2LCAweDlmYzAsIDAsIHsweDQwLDB4YWMsMHg3OCwweDg4LDB4OGMsMHgwNiwweDBkLDB4NjAsMHhiMywweDRjLDB4MjQsMHgxMiwweDA4LDB4MzAsMHgwYSwweDE4IH0sCi0gIDE2LCAweDlmZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDE1LDB4YmMsMHgwMCwweGM3LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweDlmZTAsIDAsIHsweDBlLDB4ZjAsMHgyYSwweGJmLDB4MDAsMHhjOCwweGM4LDB4YmYsMHhjMCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDQsMHhiZiwweDAwIH0sCi0gIDE2LCAweDlmZjAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGIyLDB4MGEsMHhhYywweDAwLDB4ZjgsMHg4MCwweDM0LDB4NDksMHgwYywweGI5LDB4MGIsMHgzZiwweDAwIH0sCi0gIDE2LCAweGEwMDAsIDAsIHsweGZiLDB4YzAsMHgzMCwweGYwLDB4MGMsMHhmMCwweDAzLDB4NmUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwMTAsIDAsIHsweDgwLDB4MDAsMHhjYywweDAwLDB4ZmIsMHg4MCwweDNlLDB4NDEsMHgyYywweGIwLDB4MTMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlIH0sCi0gIDE2LCAweGEwMjAsIDAsIHsweGMxLDB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDBiLDB4NmQsMHg0MCwweGY4IH0sCi0gIDE2LCAweGEwMzAsIDAsIHsweDEwLDB4M2EsMHg0MCwweDBmLDB4YjAsMHgwMywweGVjLDB4MTAsMHhmZSwweDQwLDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweGUxIH0sCi0gIDE2LCAweGEwNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZWMsMHgwYywweGRmLDB4MDAsMHgzYiwweDgwIH0sCi0gIDE2LCAweGEwNTAsIDAsIHsweDBmLDB4ZjAsMHgwYiwweDNjLDB4MDgsMHhlNywweDA4LDB4MzMsMHhjMCwweDBiLDB4ZDAsMHgyMywweDc0LDB4MDAsMHg1NCwweDAwIH0sCi0gIDE2LCAweGEwNjAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGYwLDB4ODMsMHhiZSwweDIwLDB4ZmQsMHgwYywweDNiLDB4NjAsMHgyYywweGUwLDB4MDMsMHgzYywweDAwIH0sCi0gIDE2LCAweGEwNzAsIDAsIHsweGNmLDB4MTIsMHgzMywweDUwLDB4MGMsMHgzMCwweDAzLDB4ODAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwODAsIDAsIHsweDgxLDB4MDQsMHg2YywweDA0LDB4YWIsMHgwMCwweDIyLDB4YTAsMHgwYiwweGIwLDB4MDYsMHgwYywweDAwLDB4YWIsMHg0MCwweDM2IH0sCi0gIDE2LCAweGEwOTAsIDAsIHsweGMwLDB4MGIsMHhhOCwweDAyLDB4NjYsMHgwMCwweGI4LDB4MDAsMHgzNiwweGMxLDB4MGIsMHgzNCwweDQzLDB4ZWUsMHgwMCwweGIyIH0sCi0gIDE2LCAweGEwYTAsIDAsIHsweDAwLDB4MjIsMHg2MCwweDA4LDB4YjQsMHg4MiwweDhjLDB4MDQsMHg4YSwweDIxLDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGEwYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDliLDB4MDAsMHgyYSwweDIwIH0sCi0gIDE2LCAweGEwYzAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4OCwweGM1LDB4MjIsMHhjMCwweDBiLDB4ODgsMHg4MiwweGU2LDB4MDEsMHhiYiwweDA4IH0sCi0gIDE2LCAweGEwZDAsIDAsIHsweDIyLDB4YzAsMHgwYSwweGIyLDB4ODIsMHhhYywweDYwLDB4YjgsMHgwMiwweDRhLDB4YzQsMHgwOCwweGIxLDB4MDIsMHgyYywweDAwIH0sCi0gIDE2LCAweGEwZTAsIDAsIHsweDgzLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YWIsMHgyMCwweDIwLDB4MDEsMHgwYiwweDMyLDB4MDYsMHgyYywweDAwLDB4YTAsMHgwMCwweDIwIH0sCi0gIDE2LCAweGExMDAsIDAsIHsweGMwLDB4MDksMHgwNCwweDIyLDB4YzQsMHgwMCwweGIyLDB4MDAsMHgyNCwweGMxLDB4OGIsMHhiMCwweDAyLDB4NGMsMHgwMCwweGIwIH0sCi0gIDE2LCAweGExMTAsIDAsIHsweDAwLDB4NjIsMHhjMCwweDQ4LDB4MzAsMHgwMiwweGFjLDB4MTAsMHg4MiwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGExMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwOCwweGRmLDB4MmEsMHgzYSwweDAwIH0sCi0gIDE2LCAweGExMzAsIDAsIHsweDBmLDB4ZjUsMHgxMiwweDNjLDB4MTAsMHhjOSwweDAwLDB4YTMsMHhjMCwweDBmLDB4ODAsMHg1MywweGVjLDB4MDEsMHhkYSwweDAwIH0sCi0gIDE2LCAweGExNDAsIDAsIHsweDMzLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhhYywweDA0LDB4ZjgsMHg3MCwweDNhLDB4YzAsMHgwYywweDYwLDB4NDMsMHgyYywweDQyIH0sCi0gIDE2LCAweGExNTAsIDAsIHsweGNkLDB4MDAsMHhiMiwweDQwLDB4MmMsMHhmMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExNjAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmIsMHgwMSwweDNkLDB4MDAsMHgwZiwweGI0LDB4MTcsMHhmYywweDAwLDB4M2MsMHgwMCwweDNmIH0sCi0gIDE2LCAweGExNzAsIDAsIHsweGMwLDB4NGYsMHhjMCwweDAzLDB4NzQsMHgwOCwweGZlLDB4MDAsMHgzZiwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwOCwweGY4IH0sCi0gIDE2LCAweGExODAsIDAsIHsweDMwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDQsMHhmYywweDAwLDB4M2QsMHgwMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGExOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjQsMHg5MCwweGVmLDB4MDAsMHgzZiwweGQ4IH0sCi0gIDE2LCAweGExYTAsIDAsIHsweDBlLDB4ZjMsMHgwMywweDJjLDB4MDEsMHhkNCwweDgwLDB4MzcsMHhjYywweDBkLDB4ODksMHg0MywweDEyLDB4NTAsMHhlYywweDJjIH0sCi0gIDE2LCAweGExYjAsIDAsIHsweDMyLDB4MDUsMHgwZCwweGIwLDB4NTMsMHgzYywweGQ0LDB4YzUsMHg5NCwweDdmLDB4YTAsMHg4ZiwweGYwLDB4NDMsMHgzMCwweDAwIH0sCi0gIDE2LCAweGExYzAsIDAsIHsweGRjLDB4MDAsMHgzMywweDAwLDB4MGMsMHg0OCwweDA3LDB4ZjAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExZDAsIDAsIHsweDgwLDB4MTAsMHhlNiwweDQwLDB4OGIsMHg3MCwweDJmLDB4ZGMsMHgwOCwweGY3LDB4MDIsMHgwYywweDgwLDB4OGEsMHgyMCwweDAwIH0sCi0gIDE2LCAweGExZTAsIDAsIHsweGM4LDB4NGEsMHgyMiwweDAyLDB4YTAsMHgwMCwweDhhLDB4NDgsMHgyMiwweDU4LDB4ODgsMHhmZCwweDAyLDB4YWQsMHgwMiwweGE5IH0sCi0gIDE2LCAweGExZjAsIDAsIHsweDIwLDB4MWUsMHhhMCwweDAzLDB4ODAsMHgwMiwweDJjLDB4MDQsMHg4YiwweDAwLDB4MjIsMHhjMCwweDRjLDB4ODgsMHgwNywweDYwIH0sCi0gIDE2LCAweGEyMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzAsMHgwMCwweDIzLDB4MmMsMHgyYywweGM5IH0sCi0gIDE2LCAweGEyMTAsIDAsIHsweDAyLDB4MzAsMHgwMiwweDBjLDB4NjgsMHhhMCwweDI4LDB4MmMsMHhkMCwweDA5LDB4MTIsMHgwMiwweDg0LDB4MDAsMHhhMCwweDIxIH0sCi0gIDE2LCAweGEyMjAsIDAsIHsweDIwLDB4MTgsMHgxOSwweDMwLDB4MjIsMHg4MCwweGQwLDB4ODMsMHgwNiwweDBjLDB4YTAsMHgwYiwweGIwLDB4MDYsMHgwMCwweDEyIH0sCi0gIDE2LCAweGEyMzAsIDAsIHsweGEwLDB4MDAsMHgyMCwweDAwLDB4MjksMHgwMCwweDBlLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyNDAsIDAsIHsweGMwLDB4MTEsMHhhOCwweDMwLDB4OGIsMHgwMCwweDJlLDB4YzAsMHg0YSwweDMwLDB4MGEsMHgyYywweDE0LDB4YTAsMHg4MCwweDBhIH0sCi0gIDE2LCAweGEyNTAsIDAsIHsweGMxLDB4MDgsMHg4OCwweDg2LDB4ODcsMHgwMCwweDgzLDB4MDAsMHgyMiwweDQ5LDB4MDgsMHhiMCwweDA2LDB4YTAsMHg0MCwweGFiIH0sCi0gIDE2LCAweGEyNjAsIDAsIHsweDIwLDB4MjIsMHgyMCwweDBiLDB4ODAsMHgwYSwweDBjLDB4MDQsMHhhYiwweDAyLDB4MjIsMHhjMCwweDg4LDB4ODAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGEyNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWYsMHg0MCwweGViLDB4MDYsMHgzZSwweGMwIH0sCi0gIDE2LCAweGEyODAsIDAsIHsweDBlLDB4YjAsMHgwMywweDJjLDB4MDIsMHhmOSwweGEwLDB4M2UsMHhjMCwweDBkLDB4OGMsMHgwMywweGFhLDB4MTAsMHhlOSwweDQwIH0sCi0gIDE2LCAweGEyOTAsIDAsIHsweGIyLDB4NDgsMHgwZCwweGIwLDB4NDMsMHhhZCwweDAwLDB4Y2IsMHg4NiwweDJlLDB4MjAsMHgwZiwweDMwLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGEyYTAsIDAsIHsweGY5LDB4ODAsMHgzMiwweGMwLDB4MGQsMHgwYywweGMyLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyYjAsIDAsIHsweGUwLDB4MDEsMHg5NCwweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwLDB4ZGYsMHgwMCwweDM3IH0sCi0gIDE2LCAweGEyYzAsIDAsIHsweGMwLDB4MGYsMHhlMCwweDAzLDB4ZjAsMHgwMCwweGZlLDB4MjAsMHgzZiwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZmUsMHgwMCwweGZmIH0sCi0gIDE2LCAweGEyZDAsIDAsIHsweDgyLDB4N2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGY5LDB4MDQsMHhkZSwweDIwLDB4YmQsMHgwMCwweDBmLDB4ZDksMHgwYiwweDdjIH0sCi0gIDE2LCAweGEyZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGNiLDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGEyZjAsIDAsIHsweDJjLDB4YjAsMHgwYiwweDJjLDB4MDAsMHhlOCwweDQwLDB4M2UsMHhjMCwweDBmLDB4OTQsMHgwNywweDI5LDB4MDAsMHhjOSwweDQwIH0sCi0gIDE2LCAweGEzMDAsIDAsIHsweGIyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwMSwweDAyLDB4Y2IsMHgwMCwweDMyLDB4MDQsMHg0ZiwweGYwLDB4NDMsMHgzNCwweGMwIH0sCi0gIDE2LCAweGEzMTAsIDAsIHsweGI1LDB4MWEsMHgzZiwweGMxLDB4MGYsMHg4MCwweDkzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzMjAsIDAsIHsweGM4LDB4MDUsMHgyOCwweDAwLDB4OGYsMHgwMCwweDJmLDB4YzAsMHgwOCwweGYwLDB4MDIsMHgzYywweDA0LDB4ZDgsMHgwMCwweDJiIH0sCi0gIDE2LCAweGEzMzAsIDAsIHsweGMwLDB4MGMsMHg4MCwweDQ1LDB4NjAsMHgwMCwweDdiLDB4NTgsMHgyMiwweGM4LDB4MGIsMHhmYSwweDAxLDB4NjEsMHg0MCwweDhiIH0sCi0gIDE2LCAweGEzNDAsIDAsIHsweDAwLDB4MzIsMHgwNCwweDRiLDB4Y2UsMHgwMiwweDI4LDB4MDAsMHgzYSwweDQwLDB4MmUsMHgwNywweDBiLDB4OTAsMHgwMiwweDI2IH0sCi0gIDE2LCAweGEzNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MDEsMHg0YywweGMwIH0sCi0gIDE2LCAweGEzNjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweGVjLDB4MTAsMHg5MCwweDAwLDB4MmEsMHhjMCwweDBhLDB4ODAsMHgwNiwweGMwLDB4MDQsMHg4MywweDA0IH0sCi0gIDE2LCAweGEzNzAsIDAsIHsweGEyLDB4ODksMHgxOSwweDMwLDB4MDYsMHhjYywweDAwLDB4ODMsMHgwMCwweDIwLDB4OTAsMHgwYiwweDMwLDB4YzIsMHg0OCwweDAwIH0sCi0gIDE2LCAweGEzODAsIDAsIHsweGIyLDB4NDAsMHgyNCwweDIwLDB4MGIsMHgwOSwweDAwLDB4YjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzOTAsIDAsIHsweDIwLDB4MDEsMHgwNiwweDA0LDB4ODcsMHhhNCwweDJkLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHhkZSwweDAwLDB4OWUsMHg4MSwweDI5IH0sCi0gIDE2LCAweGEzYTAsIDAsIHsweGUwLDB4MDgsMHg3OCwweDUyLDB4ZmEsMHhjMCwweDk2LDB4ODAsMHgwMSwweGEwLDB4OGIsMHgzYSwweDIyLDB4Y2UsMHg0MCwweDhmIH0sCi0gIDE2LCAweGEzYjAsIDAsIHsweGIwLDB4MjUsMHhhMCwweDBiLDB4MDgsMHgwMiwweDU2LDB4MDgsMHhiNSwweDkwLDB4MmQsMHhlNCwweDRiLDB4ZDgsMHgyMiwweDBjIH0sCi0gIDE2LCAweGEzYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMiwweDgzLDB4ODAsMHgyZSwweGU4IH0sCi0gIDE2LCAweGEzZDAsIDAsIHsweDBiLDB4MzgsMHgxMywweGNlLDB4NDEsMHhkMywweDEwLDB4MjgsMHhjMCwweDBlLDB4M2EsMHgwMiwweGM2LDB4MDgsMHg0YiwweDQwIH0sCi0gIDE2LCAweGEzZTAsIDAsIHsweDMwLDB4NjAsMHgwZCwweDNiLDB4MjcsMHhjZiwweGM0LDB4YzMsMHhhMCwweDMwLDB4MDAsMHgwZiwweDMwLDB4NDMsMHg0OCwweDQwIH0sCi0gIDE2LCAweGEzZjAsIDAsIHsweGYyLDB4MDAsMHgzYywweDA0LDB4MGYsMHgwMiwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0MDAsIDAsIHsweDQwLDB4MWQsMHhiOCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzQsMHgwZSwweGYxLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMSwweDMzIH0sCi0gIDE2LCAweGE0MTAsIDAsIHsweGMwLDB4NGQsMHhiMSwweDA3LDB4N2MsMHg5MCwweGZmLDB4MDAsMHgzZiwweDQwLDB4MDMsMHhmMSwweDAzLDB4NzAsMHgwMCwweGZiIH0sCi0gIDE2LCAweGE0MjAsIDAsIHsweDEwLDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwYiwweGI0LDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjNCwweDBmLDB4ZDAsMHgwMywweDkwIH0sCi0gIDE2LCAweGE0MzAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwNCwweGZiLDB4ODQsMHgzYSwweGMyIH0sCi0gIDE2LCAweGE0NDAsIDAsIHsweDRjLDB4YjQsMHg5MywweDJjLDB4MDQsMHhlOSwweDAwLDB4M2EsMHhjNCwweDhkLDB4MDgsMHgwMywweDJlLDB4MDAsMHhjYiwweDAxIH0sCi0gIDE2LCAweGE0NTAsIDAsIHsweDMyLDB4ODAsMHg4ZiwweGIyLDB4ODMsMHhlYywweDAwLDB4Y2IsMHg4MCwweDMyLDB4MDAsMHgwZiwweGY5LDB4MDMsMHgzYywweDEwIH0sCi0gIDE2LCAweGE0NjAsIDAsIHsweGRmLDB4ODEsMHhiMywweGUwLDB4OGMsMHhhMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0NzAsIDAsIHsweDQ4LDB4MTEsMHg5NCwweDA4LDB4YjcsMHgwNCwweDI0LDB4YzgsMHgxYSwweDMwLDB4NGEsMHgxZCwweDAwLDB4YjcsMHgwMSwweDJkIH0sCi0gIDE2LCAweGE0ODAsIDAsIHsweGMwLDB4ODgsMHg3MCwweDA2LDB4MWMsMHgwMCwweDgyLDB4MDAsMHgyMSwweDgwLDB4NGIsMHg3NiwweDEyLDB4ZGMsMHgwMCwweDg3IH0sCi0gIDE2LCAweGE0OTAsIDAsIHsweDAwLDB4MjksMHg0MCwweDhiLDB4NDAsMHgwMiwweDEwLDB4MDAsMHhiYywweDAwLDB4MjAsMHgwMSwweDI4LDB4NzAsMHgwMywweGIyIH0sCi0gIDE2LCAweGE0YTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgwMCwweGIzLDB4OTAsMHgyZCwweGU0IH0sCi0gIDE2LCAweGE0YjAsIDAsIHsweDA5LDB4NzksMHgwMiwweDFlLDB4ODAsMHhhNywweDgwLDB4MmMsMHhlOCwweDE5LDB4ZjgsMHgxMiwweDVlLDB4MDEsMHg4NywweDgwIH0sCi0gIDE2LCAweGE0YzAsIDAsIHsweDI1LDB4ZTAsMHg0YiwweDc4LDB4MDYsMHhkMiwweDAwLDB4OTcsMHg4MCwweDIxLDB4NjIsMHgwYiwweDNhLDB4MDIsMHgxZSwweDAwIH0sCi0gIDE2LCAweGE0ZDAsIDAsIHsweGI3LDB4ODYsMHgyOSwweGYwLDB4MDgsMHg2OCwweDA2LDB4ZTAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0ZTAsIDAsIHsweDQ4LDB4MTQsMHhjZiwweGMwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHg4YSwweDMwLDB4MzIsMHgwYywweDAwLDB4YjMsMHgwOCwweDJjIH0sCi0gIDE2LCAweGE0ZjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDEyLDB4MGUsMHgyMCwweDgzLDB4MDAsMHgyNCwweGYxLDB4MGIsMHgzMCwweDA2LDB4Y2UsMHgwMCwweDgzIH0sCi0gIDE2LCAweGE1MDAsIDAsIHsweDkwLDB4MjgsMHg2MCwweDBiLDB4MDAsMHgyYSwweDIxLDB4ODAsMHhiMCwweDA4LDB4MjgsMHgwMCwweDA4LDB4MzcsMHgwMiwweDkyIH0sCi0gIDE2LCAweGE1MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwIH0sCi0gIDE2LCAweGE1MjAsIDAsIHsweDRkLDB4YTAsMHgwMywweDI4LDB4MDAsMHhlZSwweDQxLDB4M2UsMHg4MCwweDBkLDB4ZTAsMHgwMywweDc4LDB4MDAsMHg4ZSwweDQwIH0sCi0gIDE2LCAweGE1MzAsIDAsIHsweDI3LDB4YTgsMHgwYiwweGEwLDB4MDMsMHhmYiwweDAyLDB4Y2EsMHg4MiwweDMzLDB4YTAsMHgwZiwweGEwLDB4MTMsMHgyOSwweDAwIH0sCi0gIDE2LCAweGE1NDAsIDAsIHsweGZhLDB4NDAsMHgzYSwweDgwLDB4MGMsMHg2YywweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1NTAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDA4LDB4ZjgsMHgwMCwweDNlIH0sCi0gIDE2LCAweGE1NjAsIDAsIHsweDAwLDB4OGYsMHg4MCwweDIzLDB4YTAsMHg0MiwweGY4LDB4MDksMHhiYSwweDEwLDB4NGYsMHg4MCwweDAzLDB4ZTAsMHg2MCwweGY4IH0sCi0gIDE2LCAweGE1NzAsIDAsIHsweDAwLDB4M2UsMHgyMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmYywweDAwLDB4MjcsMHgwMCwweDhmLDB4ODAsMHgwMywweDkyIH0sCi0gIDE2LCAweGE1ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTUsMHgwMCwweDg5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGE1OTAsIDAsIHsweDZlLDB4OTAsMHgwMywweGE0LDB4MDgsMHhjOSwweDAwLDB4M2MsMHg0MCwweDBkLDB4OTAsMHgwMywweDI0LDB4MTAsMHhmOSwweGEwIH0sCi0gIDE2LCAweGE1YTAsIDAsIHsweDMyLDB4NDIsMHgwYywweDkwLDB4MTMsMHhjNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDQwIH0sCi0gIDE2LCAweGE1YjAsIDAsIHsweGM5LDB4MjAsMHgzZSwweDUyLDB4Y2YsMHg5MCwweDA5LDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1YzAsIDAsIHsweDgwLDB4MDQsMHg2NiwweDAwLDB4ODksMHgwNCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNhIH0sCi0gIDE2LCAweGE1ZDAsIDAsIHsweDQxLDB4MDgsMHg5MCwweDA1LDB4YTQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDQwLDB4MGQsMHg5MCwweDAyLDB4ZTUsMHg0NiwweDg5IH0sCi0gIDE2LCAweGE1ZTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgxMiwweGU1LDB4MDAsMHhhOSwweGM4LDB4MmUsMHg2MSwweDhiLDB4OTQsMHg0MiwweDIwIH0sCi0gIDE2LCAweGE1ZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGE5LDB4MDAsMHg2YywweDQwIH0sCi0gIDE2LCAweGE2MDAsIDAsIHsweDQ4LDB4MTAsMHgyMiwweDg0LDB4MDMsMHhhOSwweDAwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDQsMHhiMSwweDA4IH0sCi0gIDE2LCAweGE2MTAsIDAsIHsweDI4LDB4NDAsMHgxOCwweDk4LDB4MDIsMHhlNSwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhmNCwweDIwIH0sCi0gIDE2LCAweGE2MjAsIDAsIHsweDhkLDB4MDAsMHgyZiwweDQwLDB4MGIsMHg5NCwweDQyLDB4ODYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2MzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YTEsMHgyNCwweDJjLDB4NDgsMHgxOCwweDEyLDB4MDIsMHgwNCwweDgwLDB4YTEsMHgwMCwweDI4IH0sCi0gIDE2LCAweGE2NDAsIDAsIHsweDQ4LDB4MDgsMHgxMCwweDAyLDB4ODQsMHgwMCwweDkxLDB4MjAsMHgyMCwweDQ4LDB4MDksMHgxMiwweDAyLDB4YzQsMHg5NCwweDgxIH0sCi0gIDE2LCAweGE2NTAsIDAsIHsweDAwLDB4MmMsMHg2MSwweDBiLDB4NWEsMHg4MiwweGQ0LDB4YTAsMHhhNSwweDI4LDB4MmQsMHg0YSwweDBiLDB4OTAsMHgwMiwweDgyIH0sCi0gIDE2LCAweGE2NjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMiwweGU4LDB4NTAsMHgyZSwweDE0IH0sCi0gIDE2LCAweGE2NzAsIDAsIHsweDBlLDB4ODUsMHgwMywweGExLDB4NDAsMHhhOCwweDUwLDB4M2UsMHgxNCwweDBkLDB4ODUsMHgwMSwweDgxLDB4NDAsMHhmOCwweDUyIH0sCi0gIDE2LCAweGE2ODAsIDAsIHsweDMyLDB4OTQsMHgwYywweDgwLDB4MTMsMHhjMSwweDQyLDB4YzAsMHg1MSwweDNlLDB4MDAsMHg4ZiwweDgyLDB4MDMsMHhlMCwweDgwIH0sCi0gIDE2LCAweGE2OTAsIDAsIHsweGM4LDB4MjAsMHgzZiwweDA4LDB4MGYsMHg4MCwweDAzLDB4YWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2YTAsIDAsIHsweDk4LDB4MTksMHhmNCwweDUwLDB4ZDksMHgxMSwweDNlLDB4NDQsMHg4ZiwweDkxLDB4NDMsMHhlNCwweDQwLDB4ZGQsMHgwMCwweDNhIH0sCi0gIDE2LCAweGE2YjAsIDAsIHsweDQ0LDB4NGYsMHhkMCwweDI3LDB4YjQsMHgwMCwweGZkLDB4MTIsMHgzZiwweDQ0LDB4NGYsMHg5MSwweDQzLDB4ZjQsMHg0MCwweGZkIH0sCi0gIDE2LCAweGE2YzAsIDAsIHsweDAwLDB4M2YsMHg0MSwweDBmLDB4OTIsMHg4MywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4ZDAsMHgwMywweDY2IH0sCi0gIDE2LCAweGE2ZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4ZjYsMHg4MCwweGU5LDB4YzAsMHgzZSwweDc4IH0sCi0gIDE2LCAweGE2ZTAsIDAsIHsweDhmLDB4OWIsMHgwMywweGE3LDB4ODAsMHhjOSwweDQwLDB4MzYsMHg3OCwweDBmLDB4MTAsMHgyMywweGU1LDB4MDQsMHhkZCwweGE0IH0sCi0gIDE2LCAweGE2ZjAsIDAsIHsweDMzLDB4NjIsMHgwZiwweGRhLDB4MDMsMHhmNiwweDYwLDB4YzksMHgxMCwweDMzLDB4NDAsMHgwZSwweDk4LDB4OTMsMHhlNiwweDMwIH0sCi0gIDE2LCAweGE3MDAsIDAsIHsweGM5LDB4YzksMHgzMiwweDc4LDB4OGMsMHhkMCwweDBiLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3MTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAwLDB4ODgsMHhlMiwweDJlLDB4MzAsMHgwYiwweDg4LDB4NDIsMHgyMywweDQwLDB4YTAsMHhhMSwweDIyIH0sCi0gIDE2LCAweGE3MjAsIDAsIHsweDM4LDB4MGIsMHg4YSwweDAyLDB4ZTIsMHg4MCwweGFhLDB4ZTAsMHgyMiwweDMwLDB4MGIsMHg4MCwweDIzLDB4YWIsMHgwMiwweDg4IH0sCi0gIDE2LCAweGE3MzAsIDAsIHsweGEwLDB4MmEsMHgwMCwweDBiLDB4OGMsMHgwMiwweGUzLDB4MDAsMHg4OCwweGUwLDB4MjMsMHgzOCwweDA4LDB4ODAsMHgwMiwweDBlIH0sCi0gIDE2LCAweGE3NDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGExLDB4NDQsMHgyOCwweDU4IH0sCi0gIDE2LCAweGE3NTAsIDAsIHsweDQzLDB4MTYsMHgyMiwweDg0LDB4ODEsMHg4MSwweDIwLDB4MmMsMHg1OCwweDQ5LDB4MTAsMHg4MCwweGM0LDB4ODEsMHg5MSwweDQ4IH0sCi0gIDE2LCAweGE3NjAsIDAsIHsweDZjLDB4NGEsMHgwYiwweDE0LDB4MDIsMHg0NCwweDg0LDB4ODEsMHgwMSwweDYwLDB4NDAsMHgwYSwweDUyLDB4ODYsMHhkNCwweGEwIH0sCi0gIDE2LCAweGE3NzAsIDAsIHsweDg1LDB4MDAsMHhhMSwweDUwLDB4NjgsMHg5MCwweDA2LDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3ODAsIDAsIHsweDE4LDB4MDUsMHhhNiwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNCwweDAwLDB4YTksMHg2MCwweDIyIH0sCi0gIDE2LCAweGE3OTAsIDAsIHsweDQwLDB4MGIsMHg5NSwweDAyLDB4ZTQsMHgxMCwweGIxLDB4MDAsMHg0ZSwweDQwLDB4MGIsMHg5MCwweDY2LDB4YWMsMHg4MCwweDg5IH0sCi0gIDE2LCAweGE3YTAsIDAsIHsweDAwLDB4MmEsMHg2MCwweDBiLDB4OTAsMHg1MiwweGY0LDB4MDAsMHg4NSwweDAwLDB4MjEsMHg0MCwweDA4LDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweGE3YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTYsMHgyMCwweGU5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGE3YzAsIDAsIHsweDBmLDB4OTAsMHgwMywweGE0LDB4MTAsMHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4OTQsMHgwMSwweGU1LDB4MjAsMHhkOSwweDQwIH0sCi0gIDE2LCAweGE3ZDAsIDAsIHsweGJhLDB4NjgsMHg4ZiwweDkwLDB4MDcsMHhlNiwweDAwLDB4YzksMHgxMCwweDMyLDB4NjIsMHgwZSwweDkwLDB4MDIsMHhlNCwweDE4IH0sCi0gIDE2LCAweGE3ZTAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3ZjAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwNCwweDNlLDB4NDAsMHgwYiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGE4MDAsIDAsIHsweDQwLDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDIsMHg3MiwweDY4LDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGY5IH0sCi0gIDE2LCAweGE4MTAsIDAsIHsweDAxLDB4M2UsMHg0MiwweDBmLDB4OTAsMHgwMywweGM0LDB4MDIsMHhmOSwweDA0LDB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMywweDFhIH0sCi0gIDE2LCAweGE4MjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4ODAsMHgwMiwweGM4LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGE4MzAsIDAsIHsweDBjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhjOCwweDQwLDB4MzYsMHgwMCwweDBmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhkOCwweDUwIH0sCi0gIDE2LCAweGE4NDAsIDAsIHsweGIyLDB4MTAsMHg4YywweDgxLDB4MDMsMHhjMSwweDIwLDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGMwLDB4MTMsMHhmMCwweDA0IH0sCi0gIDE2LCAweGE4NTAsIDAsIHsweDRjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4NjAsIDAsIHsweDI4LDB4MTUsMHgyYSwweDAwLDB4OGEsMHgwNCwweDIyLDB4ODEsMHgyOCwweGEwLDB4MTIsMHgyOCwweDAwLDB4OGEsMHgwMSwweDM2IH0sCi0gIDE2LCAweGE4NzAsIDAsIHsweDgwLDB4MGIsMHhhMCwweDEwLDB4MjgsMHgxMCwweGNlLDB4MDEsMHgyMywweDgxLDB4MGMsMHhhOCwweDEyLDB4ZmIsMHgwMCwweDhhIH0sCi0gIDE2LCAweGE4ODAsIDAsIHsweDAxLDB4M2IsMHg4MCwweDgzLDB4YTAsMHg0MiwweGU4LDB4MTAsMHg4YSwweDAwLDB4MmYsMHg4MCwweDBiLDB4NjAsMHg0MiwweDBhIH0sCi0gIDE2LCAweGE4OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MDAsMHhhMCwweGMwIH0sCi0gIDE2LCAweGE4YTAsIDAsIHsweDE4LDB4YjAsMHgwMCwweGNjLDB4MDAsMHg5YiwweDAwLDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwNiwweDZjLDB4MDAsMHhhMywweDA4IH0sCi0gIDE2LCAweGE4YjAsIDAsIHsweDI4LDB4YzgsMHgwOSwweDMwLDB4MDIsMHhjYywweDQzLDB4OGIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAyIH0sCi0gIDE2LCAweGE4YzAsIDAsIHsweDgzLDB4MDEsMHgyYywweGMwLDB4NGIsMHgzMCwweDAwLDB4NGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4ZDAsIDAsIHsweGEwLDB4MDEsMHgwYywweDI0LDB4ODcsMHg5NCwweDIxLDB4ZTQsMHgxOCwweDMxLDB4MDIsMHhkYywweDgwLDB4OTcsMHgxMCwweDI1IH0sCi0gIDE2LCAweGE4ZTAsIDAsIHsweGNkLDB4MGIsMHhmMiwweDAyLDB4N2MsMHgwMCwweGEwLDB4MDAsMHgyOCwweGUwLDB4MTgsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3IH0sCi0gIDE2LCAweGE4ZjAsIDAsIHsweDM0LDB4MjksMHg0MCwweDA5LDB4NDAsMHgwMiwweGQwLDB4MDQsMHg4NCwweDA0LDB4MmQsMHgwMCwweDRiLDB4ZDAsMHgyMiwweDY4IH0sCi0gIDE2LCAweGE5MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTYsMHgwMCwweGNmLDB4YTAsMHg3MCwweGU5IH0sCi0gIDE2LCAweGE5MTAsIDAsIHsweDE4LDB4N2IsMHgwMywweGZmLDB4NDAsMHg5NywweGEwLDB4MzUsMHhlOCwweDBmLDB4NzQsMHgwMiwweDVlLDB4MjAsMHhlNCwweDgwIH0sCi0gIDE2LCAweGE5MjAsIDAsIHsweDM5LDB4YTAsMHgyZCwweDc4LDB4MDMsMHhmZSwweDAwLDB4YzcsMHg4MCwweDNkLDB4ZTAsMHg1ZiwweDY4LDB4NDMsMHhjMiwweDAwIH0sCi0gIDE2LCAweGE5MzAsIDAsIHsweGM0LDB4ODQsMHgxZCwweDYwLDB4MGYsMHg3OCwweDAzLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5NDAsIDAsIHsweDA4LDB4MGQsMHhhNCwweDAwLDB4M2IsMHgwMCwweDJlLDB4ZDgsMHgwZiwweGI0LDB4MDMsMHgyZCwweDhhLDB4ZWIsMHg2MiwweDNhIH0sCi0gIDE2LCAweGE5NTAsIDAsIHsweGQwLDB4MGYsMHhiMiwweDg3LDB4MGMsMHhkMCwweGQ4LDB4MDAsMHgzMiwweGMwLDB4NGYsMHg5MCwweDQzLDB4ZWMsMHgwMCwweGZiIH0sCi0gIDE2LCAweGE5NjAsIDAsIHsweDA4LDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA0LDB4M2YsMHg4MCwweDBmLDB4MDAsMHgyYiwweDgyIH0sCi0gIDE2LCAweGE5NzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGZmLDB4YTAsMHgzZSwweGY0IH0sCi0gIDE2LCAweGE5ODAsIDAsIHsweDBlLDB4YjgsMHgwMywweGVlLDB4MDgsMHg0YiwweGYwLDB4N2YsMHhmNCwweDBjLDB4ZjksMHgyMywweGVlLDB4NDgsMHg3OCwweDkwIH0sCi0gIDE2LCAweGE5OTAsIDAsIHsweDMyLDB4ZTQsMHgwYywweGY5LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDNmLDB4ZTQsMHgxYywweDc5LDB4MDMsMHgyZSwweDQwIH0sCi0gIDE2LCAweGE5YTAsIDAsIHsweGZmLDB4ODAsMHgzMywweGUwLDB4MmMsMHg3OCwweDA3LDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5YjAsIDAsIHsweGE4LDB4MTEsMHg5NCwweDAwLDB4YjMsMHgwMCwweDBjLDB4ZTUsMHgwYiwweDM4LDB4MDIsMHhmZSwweDgwLDB4OGYsMHg4MCwweDYxIH0sCi0gIDE2LCAweGE5YzAsIDAsIHsweGM0LDB4MjgsMHg3OCwweDAwLDB4NGUsMHgwMCwweGY0LDB4ODQsMHgyNSwweGE4LDB4MGMsMHg3MCwweDAyLDB4Y2MsMHgwNCwweGIzIH0sCi0gIDE2LCAweGE5ZDAsIDAsIHsweDkwLDB4MjUsMHg0MCwweDBjLDB4NDEsMHg4MywweDUyLDB4NDAsMHhiNCwweDEwLDB4YTMsMHgwMCwweDBjLDB4NTIsMHgwMywweDZhIH0sCi0gIDE2LCAweGE5ZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTQsMHgwMCwweGI3LDB4MjEsMHg2ZCwweGM4IH0sCi0gIDE2LCAweGE5ZjAsIDAsIHsweDRiLDB4NzAsMHgwMiwweGRjLDB4NDIsMHhhNywweDMxLDB4MjksMHhjNCwweDA4LDB4NzIsMHgwMiwweGRjLDB4MDAsMHhiNywweDI4IH0sCi0gIDE2LCAweGFhMDAsIDAsIHsweDI0LDB4ODAsMHgwOCwweDcwLDB4MDYsMHhkNCwweDIwLDB4YjcsMHgwMSwweDJkLDB4YzEsMHgwOCwweDYwLDB4MDIsMHg1MCwweDgwIH0sCi0gIDE2LCAweGFhMTAsIDAsIHsweGI0LDB4MDgsMHgyMSwweDYyLDB4MDksMHg3NCwweDA2LDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhMjAsIDAsIHsweDIwLDB4MTQsMHhjNywweDA0LDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMiwweDYwIH0sCi0gIDE2LCAweGFhMzAsIDAsIHsweGMwLDB4MDgsMHgzOCwweDAyLDB4NGUsMHg0NCwweGEwLDB4YzAsMHgyNCwweDkxLDB4MDgsMHgzMCwweDAyLDB4YzAsMHgwMCwweGIzIH0sCi0gIDE2LCAweGFhNDAsIDAsIHsweDAwLDB4MjQsMHg2MCwweDA4LDB4MWMsMHgwMiwweDRjLDB4ODgsMHhiMywweGMwLDB4MjAsMHhhMCwweDA4LDB4MDAsMHgwYSwweDg4IH0sCi0gIDE2LCAweGFhNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGZmLDB4MDAsMHgyZiwweGMwIH0sCi0gIDE2LCAweGFhNjAsIDAsIHsweDRmLDB4ZjAsMHgxMywweGZjLDB4MDgsMHhlNywweDhhLDB4M2YsMHhjMCwweDBjLDB4ZjUsMHhjMiwweGZlLDB4MTAsMHhiYiwweGMwIH0sCi0gIDE2LCAweGFhNzAsIDAsIHsweDMyLDB4ZDQsMHgwYywweDMwLDB4MTMsMHhlMywweDA0LDB4YmYsMHgwMCwweDJlLDB4NjIsMHgwOCwweGI5LDB4MDIsMHg2ZSwweDAwIH0sCi0gIDE2LCAweGFhODAsIDAsIHsweGZiLDB4MDEsMHgzMiwweGE0LDB4NGQsMHg5NCwweDAyLDB4YWIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDYwLDB4ZmIsMHgwMCwweDFlLDB4YzAsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4NWIsMHgwMCwweDNhIH0sCi0gIDE2LCAweGFhYTAsIDAsIHsweGMwLDB4MGYsMHhiMCwweDQxLDB4ZWMsMHgwMCwweDdiLDB4NDUsMHhiYSwweDQwLDB4MmUsMHhiMCwweDE1LDB4ZTAsMHgwMSwweGZiIH0sCi0gIDE2LCAweGFhYjAsIDAsIHsweDAwLDB4M2UsMHg1MCwweDBlLDB4YzAsMHgwMywweGYwLDB4NDAsMHhmYywweDIwLDB4M2YsMHg1MCwweDhmLDB4OTAsMHgwMSwweDYwIH0sCi0gIDE2LCAweGFhYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH0sCi0gIDE2LCAweGFhZDAsIDAsIHsweDhmLDB4ZjAsMHgwMywweDFjLDB4MDIsMHhjZiwweDAwLDB4MzYsMHhjMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4MDAsMHg3ZiwweDJhIH0sCi0gIDE2LCAweGFhZTAsIDAsIHsweDNmLDB4ODAsMHgwZiwweGY4LDB4MTMsMHg5MCwweDIxLDB4Y2YsMHgwMCwweDNmLDB4NjIsMHgwYywweGUwLDB4MDMsMHgzMCwweDAwIH0sCi0gIDE2LCAweGFhZjAsIDAsIHsweGY4LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDAzLDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiMDAsIDAsIHsweDgxLDB4MDQsMHg2NCwweDExLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4ZGIsMHgwNCwweDMyIH0sCi0gIDE2LCAweGFiMTAsIDAsIHsweGMwLDB4MGUsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4ODQsMHgyZSwweDQwLDB4MGIsMHhiOSwweDQyLDB4MjIsMHg0MiwweDhiIH0sCi0gIDE2LCAweGFiMjAsIDAsIHsweDAxLDB4MmMsMHg3MiwweDBhLDB4OTAsMHg0MiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMiwweDhmLDB4ODgsMHgwNiwweGUwIH0sCi0gIDE2LCAweGFiMzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MjQsMHgwMCwweGJiLDB4MDAsMHg2ZSwweGMwIH0sCi0gIDE2LCAweGFiNDAsIDAsIHsweDQ4LDB4YjAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHhjMCwweDBhLDB4YjAsMHgxMiwweGVjLDB4MDAsMHhiYiwweDQwIH0sCi0gIDE2LCAweGFiNTAsIDAsIHsweDJlLDB4YzgsMHgwYiwweGIwLDB4MTIsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4NDgsMHgwYSwweDMwLDB4MDIsMHg2YywweDAwIH0sCi0gIDE2LCAweGFiNjAsIDAsIHsweGJiLDB4MDAsMHgyZSwweDgwLDB4NGIsMHg5OCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiNzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDAwLDB4YjMsMHgwMCwweDZjLDB4YzIsMHg0YiwweDMxLDB4MDIsMHgwYywweDUwLDB4OWIsMHgyMCwweDIwIH0sCi0gIDE2LCAweGFiODAsIDAsIHsweGMwLDB4MGEsMHgzMiwweDEyLDB4Y2MsMHg4MCwweGIzLDB4MDAsMHg2YywweDBjLDB4MGIsMHgzMSwweDAyLDB4MGMsMHg0MiwweDgzIH0sCi0gIDE2LCAweGFiOTAsIDAsIHsweDA4LDB4MmUsMHg0MCwweDBhLDB4MDAsMHgwMiwweDAwLDB4ODAsMHhiMCwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTAsMHgwMiwweDQyIH0sCi0gIDE2LCAweGFiYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGJiLDB4NDAsMHgzZiwweGNjIH0sCi0gIDE2LCAweGFiYjAsIDAsIHsweDBlLDB4ZjAsMHg4MywweDNkLDB4YTAsMHhjZiwweDIwLDB4MzcsMHhjMCwweDBjLDB4ZjcsMHhjMywweGZkLDB4NDgsMHhmMywweDAwIH0sCi0gIDE2LCAweGFiYzAsIDAsIHsweDNlLDB4ODgsMHgwZiwweGI0LDB4MTMsMHhhNSwweDAwLDB4OGYsMHgzMCwweDNlLDB4NDAsMHgwYywweGEwLDB4MDMsMHg2MCwweDgwIH0sCi0gIDE2LCAweGFiZDAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg5MCwweDIzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiZTAsIDAsIHsweGEwLDB4MTksMHhmNCwweDAwLDB4ZmYsMHgyOSwweDNmLDB4YzksMHgwZiwweGYwLDB4MTMsMHhmYywweDk0LDB4ZWYsMHgxMiwweDNiIH0sCi0gIDE2LCAweGFiZjAsIDAsIHsweGMwLDB4OGUsMHhiMiwweDA3LDB4ZmQsMHgwNCwweGZmLDB4MTAsMHgzZiwweDBjLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgwMCwweGZiIH0sCi0gIDE2LCAweGFjMDAsIDAsIHsweDIwLDB4M2QsMHg0MCwweDBmLDB4ZDAsMHg0MywweGZjLDB4NDAsMHhmZiwweDA0LDB4M2YsMHhjMCwweDBlLDB4YzAsMHg0MywweGU4IH0sCi0gIDE2LCAweGFjMTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhhMiwweGM3LDB4MjAsMHgzZiwweDI0IH0sCi0gIDE2LCAweGFjMjAsIDAsIHsweDBjLDB4ZjAsMHgwMywweDNjLDB4ODAsMHhjYywweDA5LDB4MzMsMHhkMSwweDBjLDB4ZjEsMHgyMywweGZjLDB4MjAsMHhkZiwweDM2IH0sCi0gIDE2LCAweGFjMzAsIDAsIHsweDNmLDB4YzAsMHgwZSwweDQ4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDM3LDB4ZTQsMHgwZCwweDc4LDB4MDMsMHgxMSwweGEwIH0sCi0gIDE2LCAweGFjNDAsIDAsIHsweGNmLDB4MDAsMHgzNywweGM4LDB4MGMsMHhmMCwweDAzLDB4MzAsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjNTAsIDAsIHsweDgwLDB4MTAsMHhmZiwweDAwLDB4OGYsMHhkMSwweDJlLDB4MDgsMHgwZCwweGI2LDB4MTIsMHgzZCwweDQ1LDB4ZjksMHg2NCwweDI3IH0sCi0gIDE2LCAweGFjNjAsIDAsIHsweGQwLDB4ODgsMHhiYSwweDE0LDB4Y2MsMHgwNCwweDhmLDB4NDAsMHgyMywweGYwLDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwNCwweGJiIH0sCi0gIDE2LCAweGFjNzAsIDAsIHsweDgwLDB4YWUsMHhjMCwweDA4LDB4YjgsMHgwYSwweDIxLDB4MDAsMHg4OCwweGQwLDB4MjIsMHgyMCwweDI4LDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGFjODAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDkzLDB4MDAsMHgyZSwweDAwIH0sCi0gIDE2LCAweGFjOTAsIDAsIHsweDBhLDB4MzQsMHg4MiwweDhjLDB4YTAsMHhhMCwweDA4LDB4MjQsMHhkOCwweDA5LDB4MzEsMHgwMiwweGNjLDB4MjAsMHhiMywweDMyIH0sCi0gIDE2LCAweGFjYTAsIDAsIHsweDI4LDB4ZDAsMHg0YSwweDgwLDB4MDIsMHhjYywweDBjLDB4YmIsMHgwMCwweDIyLDB4NDAsMHg4OSwweGIwLDB4MDIsMHg2MCwweDgwIH0sCi0gIDE2LCAweGFjYjAsIDAsIHsweDkzLDB4MDAsMHgyNCwweGQwLDB4MGIsMHgzMCwweDAyLDB4YTIsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjYzAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4OWIsMHgwMCwweDJlLDB4MjAsMHgwOSwweGIwLDB4NGEsMHgyYywweDAyLDB4YTAsMHgwMCwweDA2IH0sCi0gIDE2LCAweGFjZDAsIDAsIHsweGMwLDB4MDksMHhiMCwweDAwLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MGIsMHg4OCwweDAyLDB4NmMsMHgwMCwweGJiIH0sCi0gIDE2LCAweGFjZTAsIDAsIHsweDIwLDB4MmEsMHhlMiwweDQxLDB4YjgsMHgyYSwweDYwLDB4MGEsMHg5OCwweDAwLDB4MjYsMHgwMCwweDBiLDB4YjAsMHgwMiwweGI4IH0sCi0gIDE2LCAweGFjZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwOCwweGRiLDB4MDIsMHgzZSwweDIwIH0sCi0gIDE2LCAweGFkMDAsIDAsIHsweDRjLDB4YjAsMHgwMywweDJjLDB4MDIsMHg4YiwweDIwLDB4MTIsMHhjMCwweDI5LDB4YjAsMHgxMiwweGVjLDB4MDAsMHhmYiwweDAwIH0sCi0gIDE2LCAweGFkMTAsIDAsIHsweDNhLDB4YzAsMHgwZSwweDg4LDB4MDMsMHhlZCwweDIwLDB4ZmIsMHhjOCwweDM0LDB4ZjAsMHgwZCwweGJhLDB4MDMsMHg0NywweDYwIH0sCi0gIDE2LCAweGFkMjAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHhiMCwweDBiLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkMzAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4ZWYsMHgwMCwweDBmLDB4MDAsMHgwZiwweDMwLDB4MDAsMHhmYywweDAwLDB4ZGYsMHg5MCwweGJiIH0sCi0gIDE2LCAweGFkNDAsIDAsIHsweGMwLDB4Y2UsMHhmMCwweDAzLDB4ZmMsMHgwNCwweGNiLDB4MDAsMHgxNywweGMwLDB4MGYsMHhjMCwweDAzLDB4YmMsMHg4NCwweGZmIH0sCi0gIDE2LCAweGFkNTAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBlLDB4ZDAsMHg2MywweGI4LDB4MDAsMHhlYSwweDAwLDB4M2EsMHg4MCwweDBjLDB4MzAsMHgwMywweDcwIH0sCi0gIDE2LCAweGFkNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDIsMHgzMiwweDAwIH0sCi0gIDE2LCAweGFkNzAsIDAsIHsweDBmLDB4YjAsMHg1MywweDJjLDB4MDAsMHhmYSwweDAwLDB4MzIsMHhjMCwweDhmLDB4YjAsMHgwNywweDJjLDB4MDAsMHhmYiwweDAwIH0sCi0gIDE2LCAweGFkODAsIDAsIHsweGIyLDB4YzAsMHgwZiwweDgwLDB4MDcsMHhhYywweDgwLDB4ZGIsMHgyNCwweDdlLDB4ZDAsMHgwZSwweGIwLDB4MjMsMHg3NCwweDA0IH0sCi0gIDE2LCAweGFkOTAsIDAsIHsweGRkLDB4MDgsMHhiNSwweDQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkYTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4YmYsMHhjMCwweGEwLDB4MDAsMHgxYiwweGYwLDB4MDIsMHgzZiwweDYwLDB4ZWEsMHg1MCwweDIzIH0sCi0gIDE2LCAweGFkYjAsIDAsIHsweGMwLDB4MDgsMHhmYSwweDA3LDB4ZmMsMHgwMCwweGRmLDB4MDAsMHg2MywweGMwLDB4NDgsMHgxOCwweDAyLDB4MmQsMHgwMCwweGIzIH0sCi0gIDE2LCAweGFkYzAsIDAsIHsweDAwLDB4NmUsMHhjMCwweDBkLDB4M2EsMHgwMywweDI0LDB4MDAsMHg4MiwweDgwLDB4MzIsMHg4MCwweDBkLDB4ZjAsMHgwMywweDMyIH0sCi0gIDE2LCAweGFkZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgxNCwweGIzLDB4NTksMHgyMCwweDgwIH0sCi0gIDE2LCAweGFkZTAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDJlLDB4MDUsMHhiMCwweDQ0LDB4MmUsMHhjMCwweDA5LDB4MzQsMHg4MiwweGVjLDB4MDAsMHhhYiwweDA0IH0sCi0gIDE2LCAweGFkZjAsIDAsIHsweDIwLDB4YzAsMHgwOSwweDIxLDB4YjIsMHg4ZSwweDA0LDB4OTMsMHhjMCwweDI0LDB4YzAsMHgwYSwweDE4LDB4MDYsMHg0YywweDAwIH0sCi0gIDE2LCAweGFlMDAsIDAsIHsweDkyLDB4NTAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NzAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDYxLDB4ZTAsMHgwYiwweDc4LDB4MGEsMHg1ZSwweDAxLDB4YjEsMHhhMCwweDJkIH0sCi0gIDE2LCAweGFlMjAsIDAsIHsweGUwLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweDA3LDB4OTAsMHgyMSwweGUwLDB4MTgsMHhjOCwweDAyLDB4MWUsMHgwMCwweGI3IH0sCi0gIDE2LCAweGFlMzAsIDAsIHsweDgwLDB4MmQsMHhlMCwweDhhLDB4ZDgsMHgwMiwweDNlLDB4YzAsMHg4NSwweDgwLDB4MjEsMHgyMCwweDE5LDB4NzgsMHgyMiwweDAwIH0sCi0gIDE2LCAweGFlNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGYzLDB4OTQsMHgyMCwweDEwIH0sCi0gIDE2LCAweGFlNTAsIDAsIHsweDRiLDB4MzAsMHgwNywweDBjLDB4MDAsMHhmMywweDAwLDB4M2UsMHhjOCwweDBmLDB4MzAsMHgwMywweGNjLDB4MDAsMHgyMywweDEwIH0sCi0gIDE2LCAweGFlNjAsIDAsIHsweDAwLDB4Y2IsMHgwNSwweDIwLDB4MDIsMHg4YywweDYwLDB4OTMsMHgwYSwweDJlLDB4YzQsMHgwYSwweDAxLDB4MDcsMHg0YywweDgwIH0sCi0gIDE2LCAweGFlNzAsIDAsIHsweGQyLDB4MDEsMHgzMCwweGMwLDB4MmMsMHgzMCwweDBiLDB4NWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMSwweDBmLDB4NDAsMHgwZiwweGYwLDB4MTMsMHhiYywweDAwLDB4ZWYsMHgyNiwweDczIH0sCi0gIDE2LCAweGFlOTAsIDAsIHsweGMyLDB4MGMsMHhiMCwweDgzLDB4YmMsMHg0MCwweGZmLDB4MTgsMHgzZCwweGMwLDB4NGEsMHhjMSwweDAzLDB4ZmMsMHgwMCwweGZiIH0sCi0gIDE2LCAweGFlYTAsIDAsIHsweDEyLDB4M2YsMHhjNCwweDRkLDB4YzEsMHgwYiwweGZjLDB4ODEsMHhmZCwweDAwLDB4M2YsMHgyMCwweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGFlYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgyMCwweGNiLDB4NDgsMHgzZSwweDAwIH0sCi0gIDE2LCAweGFlYzAsIDAsIHsweDBjLDB4YjAsMHgwMywweDJkLDB4MjAsMHhlOSwweDgwLDB4ZmEsMHhjOCwweDBkLDB4YjAsMHgwMywweGVlLDB4MDAsMHhkYiwweDI0IH0sCi0gIDE2LCAweGFlZDAsIDAsIHsweDc2LDB4ZjMsMHg4ZSwweDgwLDB4MzMsMHhlYywweDQ0LDB4ZWIsMHgxMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhlOCwweDA0IH0sCi0gIDE2LCAweGFlZTAsIDAsIHsweGRjLDB4MDAsMHhiMywweDYxLDB4MGMsMHhiMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlZjAsIDAsIHsweDQ4LDB4MTEsMHg4ZCwweDAwLDB4ODcsMHgyMCwweDJmLDB4MDEsMHgyOCwweDcwLDB4MDIsMHgwYywweDg0LDB4OGQsMHgwNCwweDMxIH0sCi0gIDE2LCAweGFmMDAsIDAsIHsweGNjLDB4YzksMHg3MiwweDAyLDB4ZGQsMHgwMCwweDM3LDB4MzMsMHgyMSwweGQ4LDB4MDgsMHg0MCwweDAyLDB4ZGMsMHgwMCwweGI3IH0sCi0gIDE2LCAweGFmMTAsIDAsIHsweDIwLDB4M2QsMHhjMCwweDA5LDB4NTAsMHgyMiwweGYwLDB4MDAsMHg5NywweDAwLDB4MjEsMHg4MCwweDBhLDB4ZmMsMHgwMiwweDkyIH0sCi0gIDE2LCAweGFmMjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MWUsMHg4MiwweDg3LDB4YjAsMHgyZCwweDIwIH0sCi0gIDE2LCAweGFmMzAsIDAsIHsweDA4LDB4MzksMHgwMiwweDFlLDB4NDEsMHhhNywweDgwLDB4MjQsMHhlMCwweDA5LDB4N2EsMHgzMiwweDhlLDB4ODIsMHgwNywweGEwIH0sCi0gIDE2LCAweGFmNDAsIDAsIHsweDI1LDB4ZTAsMHg4YiwweDQ4LDB4MDIsMHgxZSwweDAwLDB4YTcsMHhlMSwweDJkLDB4ZTAsMHg0YiwweDU4LDB4MDAsMHhkYSwweDAwIH0sCi0gIDE2LCAweGFmNTAsIDAsIHsweGEwLDB4ODAsMHgyNCwweDYwLDB4MDgsMHg3YSwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmNjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgwMCwweDJjLDB4MDAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4OTMsMHgwMCwweDIyIH0sCi0gIDE2LCAweGFmNzAsIDAsIHsweGMxLDB4MDksMHgzMCwweDQyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgxYSwweDAyLDB4Y2UsMHgwNCwweGIzIH0sCi0gIDE2LCAweGFmODAsIDAsIHsweGUwLDB4MjgsMHhhMCwweDA5LDB4MWMsMHg4MiwweDRiLDB4MDgsMHhhMywweDgwLDB4MjQsMHhhMCwweDJhLDB4MzAsMHgwMiwweDlhIH0sCi0gIDE2LCAweGFmOTAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGNhLDB4MDAsMHgyZiwweDg4IH0sCi0gIDE2LCAweGFmYTAsIDAsIHsweDBjLDB4YTAsMHgxMywweDI4LDB4MDAsMHhlZSwweDAwLDB4MmUsMHg4MCwweDJkLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkYSwweDAwIH0sCi0gIDE2LCAweGFmYjAsIDAsIHsweDc2LDB4ODAsMHgwZSwweGU4LDB4MDMsMHhiYiwweDgwLDB4ZWUsMHg0MCwweDJmLDB4YTIsMHg4ZiwweGU2LDB4MDMsMHhlYiwweDg2IH0sCi0gIDE2LCAweGFmYzAsIDAsIHsweGZhLDB4ODAsMHgzNywweDgyLDB4MGMsMHgyMCwweDA3LDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDFlLDB4MDAsMHgwZiwweDgwLDB4MGIsMHg2MSwweDAwLDB4ZTgsMHhjMCwweDNhIH0sCi0gIDE2LCAweGFmZTAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMSwweGY4LDB4MDAsMHg3ZSwweDEwLDB4MWUsMHg4MSwweDAzLDB4ZTAsMHgwOCwweGY4IH0sCi0gIDE2LCAweGFmZjAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweGMwLDB4MjgsMHhkYywweDUwLDB4M2IsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGIwMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQyIH0sCi0gIDE2LCAweGIwMTAsIDAsIHsweDBmLDB4MTAsMHgwMywweGE2LDB4MDAsMHhjOSwweDAxLDB4M2EsMHg0MCwweDBlLDB4OTQsMHgwMSwweGU0LDB4MTAsMHhmMSwweDA0IH0sCi0gIDE2LCAweGIwMjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDlhLDB4MjMsMHgyMCwweDYwLDB4ZjgsMHgwNCwweDBhLDB4NDIsMHgwZSwweDkwLDB4MTMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGIwMzAsIDAsIHsweGMxLDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwNDAsIDAsIHsweDgwLDB4MDQsMHg2NywweDA4LDB4YTksMHgwMCwweDZlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNywweDgyLDB4ODksMHgwMCwweDI2IH0sCi0gIDE2LCAweGIwNTAsIDAsIHsweDQwLDB4MDgsMHg5YywweDAzLDB4YTQsMHgxMCwweGI5LDB4MDAsMHgzNiwweDQwLDB4OWIsMHgxYywweDFhLDB4MjMsMHgwNCwweGI4IH0sCi0gIDE2LCAweGIwNjAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDBlLDB4MTAsMHgwMiwweDI0LDB4MDIsMHhjOSwweGEwLDB4YTIsMHg0MCwweDBiLDB4OTAsMHgwYSwweDIwIH0sCi0gIDE2LCAweGIwNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjUsMHg4MCwweDg5LDB4MDQsMHgyYywweDQwIH0sCi0gIDE2LCAweGIwODAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDg0LDB4ODEsMHg5OSwweDQwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwNiwweGU0LDB4MDEsMHhiOSwweDAwIH0sCi0gIDE2LCAweGIwOTAsIDAsIHsweGE2LDB4NDEsMHgxYiwweDkwLDB4ODIsMHgyMSwweDAwLDB4YjgsMHgxMCwweDJlLDB4NDAsMHgwYSwweDkyLDB4MGEsMHhhNCwweDAxIH0sCi0gIDE2LCAweGIwYTAsIDAsIHsweDhmLDB4MjIsMHgyMywweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YTMsMHgyMCwweDJjLDB4NDEsMHgwOSwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMCwweDI0IH0sCi0gIDE2LCAweGIwYzAsIDAsIHsweDQ4LDB4MGEsMHgzNiwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHgwNCwweGM4LDB4NGIsMHgxNCwweDAyLDB4MDUsMHgwMCwweGIxIH0sCi0gIDE2LCAweGIwZDAsIDAsIHsweDA1LDB4MjgsMHg1MCwweDBhLDB4OTAsMHgwMiwweDA1LDB4MDIsMHg4NSwweDAwLDB4MjEsMHg0MCwweDBiLDB4MTIsMHgwMiwweDAyIH0sCi0gIDE2LCAweGIwZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDAsMHg2ZSwweDE0IH0sCi0gIDE2LCAweGIwZjAsIDAsIHsweDJjLDB4ODUsMHgwMiwweGExLDB4NDAsMHhjOCwweDUwLDB4M2EsMHgxNCwweDBlLDB4ODAsMHgwMiwweGUxLDB4NDAsMHhiMCwweDUwIH0sCi0gIDE2LCAweGIxMDAsIDAsIHsweDMyLDB4MDAsMHgwYiwweDgwLDB4MDMsMHgyMCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhhMCwweDAyIH0sCi0gIDE2LCAweGIxMTAsIDAsIHsweGM4LDB4MDAsMHgxMywweDAwLDB4MGYsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQ4LDB4ZjksMHgxNCwweDNmLDB4NDAsMHgwYywweDkxLDB4MDMsMHhlNCwweDQyLDB4ZmQsMHgxMCwweDM2IH0sCi0gIDE2LCAweGIxMzAsIDAsIHsweDQ0LDB4MGQsMHg5MSwweDIzLDB4YTQsMHg0OCwweGY5LDB4MTEsMHgzOCwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTUsMHgxNCwweDM5IH0sCi0gIDE2LCAweGIxNDAsIDAsIHsweDQyLDB4N2IsMHg0MCwweDhlLDB4ZDAsMHgwMSwweGY1LDB4MDAsMHhhOSwweDQwLDB4M2UsMHg1MCwweDA3LDB4OTYsMHg4MywweGU2IH0sCi0gIDE2LCAweGIxNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZjYsMHg4MCwweGRkLDB4YWUsMHgzYSwweDUwIH0sCi0gIDE2LCAweGIxNjAsIDAsIHsweDBkLDB4OWEsMHgwYiwweDc2LDB4ODAsMHhjZiwweDg4LDB4MzIsMHg3MCwweDJkLDB4ZGEsMHgwMywweGE3LDB4MDEsMHhlOSwweDkyIH0sCi0gIDE2LCAweGIxNzAsIDAsIHsweDM3LDB4NjgsMHgwZCwweDk0LDB4MDMsMHhlNywweDAwLDB4ZWQsMHhhMCwweDNhLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNywweDAyIH0sCi0gIDE2LCAweGIxODAsIDAsIHsweGNkLDB4ODAsMHgzMywweDY4LDB4MGMsMHhkOCwweDgzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxOTAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDAwLDB4ODgsMHg0MCwweDIwLDB4MjAsMHgwYywweDhjLDB4MDIsMHgyMywweDAwLDB4ODgsMHhlMCwweDIyIH0sCi0gIDE2LCAweGIxYTAsIDAsIHsweDMwLDB4MDgsMHg4NCwweDAyLDB4ZTMsMHgwMCwweGI4LDB4ZTAsMHgyMiwweDE0LDB4OGQsMHg4OCwweDAyLDB4ZTMsMHgwMCwweGI4IH0sCi0gIDE2LCAweGIxYjAsIDAsIHsweDUwLDB4MmUsMHhhOCwweDhiLDB4ODAsMHgyMiwweGUzLDB4NDgsMHg4OCwweDUwLDB4MjIsMHgwMCwweDA4LDB4OGMsMHgwMiwweDBlIH0sCi0gIDE2LCAweGIxYzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg0MCwweDkxLDB4MDAsMHgyYSwweDQ4IH0sCi0gIDE2LCAweGIxZDAsIDAsIHsweDA5LDB4MTQsMHg4MiwweDA1LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg1OCwweDA5LDB4MTEsMHgwMiwweDg1LDB4ODgsMHhiMSwweDQwIH0sCi0gIDE2LCAweGIxZTAsIDAsIHsweGEwLDB4NDAsMHgwOCwweDEyLDB4MDIsMHhjNSwweDgwLDB4YTEsMHgwMCwweDI4LDB4NDAsMHgwYiwweDE4LDB4MDIsMHhjNCwweDg0IH0sCi0gIDE2LCAweGIxZjAsIDAsIHsweGExLDB4MDAsMHgyNCwweDUwLDB4MDgsMHgxMCwweDkyLDB4MDMsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyMDAsIDAsIHsweDE4LDB4MTUsMHhhYywweDEwLDB4OWIsMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDA2LDB4ODksMHgwNCwweDIwIH0sCi0gIDE2LCAweGIyMTAsIDAsIHsweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDIsMHgyMiwweDQxLDB4ODksMHhhMCwweDgyLDB4ZTAsMHhhMCwweGI5IH0sCi0gIDE2LCAweGIyMjAsIDAsIHsweDI4LDB4MmUsMHg0NCwweDBiLDB4YjAsMHgwMiwweGU0LDB4MDIsMHhiOSwweDAwLDB4MjYsMHg0MCwweDI4LDB4MTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweGIyMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzOCwweDQwIH0sCi0gIDE2LCAweGIyNDAsIDAsIHsweDBkLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweGEwLDB4YTIsMHg0MCwweDhkLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGIyNTAsIDAsIHsweDM2LDB4NDAsMHgwYywweDg0LDB4MTMsMHhlMiwweDAwLDB4ZTksMHgwMCwweDNhLDB4NTAsMHgwZiwweDljLDB4MDIsMHhlNiwweDg0IH0sCi0gIDE2LCAweGIyNjAsIDAsIHsweGU5LDB4MDAsMHhiNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZTEsMHgwMCwweDNlLDB4NjgsMHgwZSwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjEsMHgyOCwweDNhIH0sCi0gIDE2LCAweGIyODAsIDAsIHsweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQyLDB4MGYsMHg4MCwweDIzLDB4ZTIsMHgwMCwweGY5IH0sCi0gIDE2LCAweGIyOTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4OTEsMHgyMywweGU0LDB4NDAsMHhjMSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwYiwweGNhIH0sCi0gIDE2LCAweGIyYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGIyYjAsIDAsIHsweDBjLDB4ODAsMHgwMywweGEwLDB4MjAsMHhjOCwweDQwLDB4M2UsMHgwMCwweDBlLDB4ODEsMHg2MywweDYwLDB4MDAsMHhmMCwweDA0IH0sCi0gIDE2LCAweGIyYzAsIDAsIHsweDNjLDB4MDEsMHgwYywweDg0LDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhjMSwweDAwIH0sCi0gIDE2LCAweGIyZDAsIDAsIHsweGQ4LDB4MTAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDIzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyZTAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDYwLDB4OGUsMHgwMCwweDIyLDB4ODAsMHgwYSwweGEwLDB4MDIsMHgzOCwweDgwLDB4YmUsMHgwMCwweDNhIH0sCi0gIDE2LCAweGIyZjAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMywweDk4LDB4MTgsMHhlYywweDAyLDB4ZjgsMHgyMCwweGFlIH0sCi0gIDE2LCAweGIzMDAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDBiLDB4ZTQsMHg4MiwweGU4LDB4MDIsMHhjZSwweDQ0LDB4MjgsMHg4MCwweDBkLDB4YTAsMHgwYSwweDBhIH0sCi0gIDE2LCAweGIzMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDAsMHgwMCwweDgyLDB4MDQsMHhhMCwweGMwIH0sCi0gIDE2LCAweGIzMjAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDhlLDB4MDQsMHg4MywweDUwLDB4NmMsMHhjMCwweDBhLDB4MzAsMHg4NiwweDBjLDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGIzMzAsIDAsIHsweDI4LDB4MzAsMHgwYSwweDM2LDB4MTIsMHhjYywweDgwLDB4ODEsMHgwMCwweDI0LDB4YzAsMHgwYiwweDMyLDB4MDYsMHhjYywweDAwIH0sCi0gIDE2LCAweGIzNDAsIDAsIHsweDgwLDB4ODgsMHg2NCwweDYwLDB4MjgsMHgxMCwweDAyLDB4MDIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzNTAsIDAsIHsweGEwLDB4MDEsMHgxMCwweDEyLDB4ODQsMHg0MCwweDIxLDB4YzgsMHgwYSwweDcyLDB4MDIsMHgxMCwweDAwLDB4YjcsMHgwMCwweDJkIH0sCi0gIDE2LCAweGIzNjAsIDAsIHsweGNjLDB4MDgsMHgzOCwweDEyLDB4MWMsMHgwMCwweGIzLDB4MzAsMHgyMCwweDAwLDB4MDgsMHg3MSwweDgyLDB4ZmUsMHgwMCwweGE0IH0sCi0gIDE2LCAweGIzNzAsIDAsIHsweDgwLDB4MjEsMHhjOCwweDBiLDB4NzAsMHgwMiwweGRjLDB4MDEsMHg4NywweDAwLDB4MmMsMHg0MiwweDA5LDB4NTEsMHgwMiwweDIwIH0sCi0gIDE2LCAweGIzODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGMyLDB4ODAsMHgzMSwweGY4IH0sCi0gIDE2LCAweGIzOTAsIDAsIHsweDRjLDB4ZmMsMHgxMywweDkyLDB4MDksMHhjNywweDgwLDB4M2MsMHhlZCwweDFlLDB4NzgsMHgyNywweDFlLDB4MDAsMHhmNywweDhjIH0sCi0gIDE2LCAweGIzYTAsIDAsIHsweDc5LDB4MjAsMHgwOCwweDdhLDB4MDMsMHhkZSwweDgxLDB4ODQsMHg4MCwweDNkLDB4ZTAsMHgwZSwweDc4LDB4MDMsMHhmZSwweDIwIH0sCi0gIDE2LCAweGIzYjAsIDAsIHsweGM1LDB4ODEsMHgzNSwweDYwLDB4MmMsMHg1OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzYzAsIDAsIHsweDA4LDB4MWQsMHg4MCwweDAwLDB4ZjgsMHgwNCwweDNlLDB4ZDAsMHgwZiwweGIwLDB4MTMsMHhlMCwweDAwLDB4ZmIsMHgwMiwweDNhIH0sCi0gIDE2LCAweGIzZDAsIDAsIHsweGQwLDB4MGYsMHhhMCwweDBiLDB4YWMsMHg0MCwweGZiLDB4MDAsMHgzYSwweDAwLDB4MmYsMHhiMCwweDAzLDB4Y2MsMHgwMCwweGYwIH0sCi0gIDE2LCAweGIzZTAsIDAsIHsweDAwLDB4M2EsMHhjNCwweDBmLDB4YjAsMHgwMywweGZjLDB4NDEsMHhmMywweDAwLDB4M2EsMHg0MCwweDBmLDB4NTAsMHg5MywweGMyIH0sCi0gIDE2LCAweGIzZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNjLDB4ODEsMHgzZiwweGZjIH0sCi0gIDE2LCAweGI0MDAsIDAsIHsweDFjLDB4ZjgsMHgwMywweDc2LDB4NDAsMHhlZiwweDkyLDB4M2YsMHhlNCwweDhjLDB4ZjgsMHgwMywweGJmLDB4MTAsMHhmZiwweDgwIH0sCi0gIDE2LCAweGI0MTAsIDAsIHsweGIzLDB4MjAsMHgwZSwweGY5LDB4MTMsMHhmZSwweDI0LDB4ZmQsMHg5NCwweDM3LDB4ZTAsMHgxYywweGY5LDB4MDMsMHhlZSwweDAwIH0sCi0gIDE2LCAweGI0MjAsIDAsIHsweGNkLDB4ODAsMHhiMywweGUwLDB4MGMsMHg1OCwweDAyLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0MzAsIDAsIHsweGE4LDB4MTEsMHg5NCwweDQwLDB4ODAsMHgwMCwweDJmLDB4YzQsMHgwOCwweDcyLDB4MDIsMHhkZCwweDA4LDB4ZDcsMHgwMCwweDJkIH0sCi0gIDE2LCAweGI0NDAsIDAsIHsweGNjLDB4MDgsMHhkZSwweDAzLDB4NWMsMHgwMCwweGI3LDB4MDQsMHgyMSwweDgwLDB4YzgsMHg3MCwweDgzLDB4ZGMsMHgwMCwweGI0IH0sCi0gIDE2LCAweGI0NTAsIDAsIHsweGEwLDB4MmYsMHhjMCwweDBjLDB4NzAsMHgwMiwweGRlLDB4ODAsMHg4NywweDAwLDB4MjEsMHhjMiwweDBhLDB4NTEsMHg0MiwweDJhIH0sCi0gIDE2LCAweGI0NjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweDg0LDB4MDAsMHgyZCwweGM4IH0sCi0gIDE2LCAweGI0NzAsIDAsIHsweDQ4LDB4NzAsMHgwMiwweDU0LDB4MGMsMHhhNywweDAwLDB4MmMsMHhjMCwweDg5LDB4NzIsMHgwMiwweDVjLDB4MDAsMHhiMywweDEwIH0sCi0gIDE2LCAweGI0ODAsIDAsIHsweDIwLDB4MDAsMHgwYSwweDcwLDB4MDYsMHhkYywweDAwLDB4YjQsMHgyMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDgwIH0sCi0gIDE2LCAweGI0OTAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHg1MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0YTAsIDAsIHsweDIwLDB4MTQsMHhjMCwweDAwLDB4ODAsMHgwMCwweDJlLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjNCwweDA4LDB4YTIsMHg0MiwweDJjIH0sCi0gIDE2LCAweGI0YjAsIDAsIHsweGMxLDB4MDksMHgyMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgzYywweDIyLDB4OGMsMHgyMCwweGIwIH0sCi0gIDE2LCAweGI0YzAsIDAsIHsweDA4LDB4MmUsMHhlMCwweDA4LDB4MzgsMHgxMCwweGNmLDB4MGEsMHg5MywweDQwLDB4YTAsMHhmMCwweDBhLDB4MTAsMHgwMiwweDA4IH0sCi0gIDE2LCAweGI0ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTgsMHgwMCwweGMxLDB4MDAsMHgzZiwweGMwIH0sCi0gIDE2LCAweGI0ZTAsIDAsIHsweDJjLDB4ZjAsMHgwMywweDY4LDB4MDAsMHhhYSwweDAwLDB4M2YsMHhjMCwweDJkLDB4ODAsMHgwMywweDdjLDB4MDAsMHhmZiwweDAwIH0sCi0gIDE2LCAweGI0ZjAsIDAsIHsweDMyLDB4MDAsMHgwZSwweGIwLDB4MTIsMHhlZCwweDI0LDB4ZmEsMHgwOCwweDI3LDB4YzgsMHgxMCwweGI4LDB4YTIsMHhmZiwweDYwIH0sCi0gIDE2LCAweGI1MDAsIDAsIHsweDk4LDB4YTAsMHhhMiwweGUwLDB4MGMsMHg1MCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1MTAsIDAsIHsweDgwLDB4MDAsMHhjOSwweDA2LDB4ZjgsMHg0MSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlOSwweDEwLDB4NWEsMHgyMCwweDNlIH0sCi0gIDE2LCAweGI1MjAsIDAsIHsweGMwLDB4MGUsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGYzLDB4MDAsMHg3ZSwweDAxLDB4MGYsMHhiMCwweDkzLDB4ZWQsMHgwMCwweGY4IH0sCi0gIDE2LCAweGI1MzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGZjLDB4MDAsMHhlMywweDA4LDB4M2MsMHhjMiwweDBmLDB4ZDAsMHgxMywweGUwIH0sCi0gIDE2LCAweGI1NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjMsMHgwMiwweGNjLDB4MDAsMHgzYiwweGMyIH0sCi0gIDE2LCAweGI1NTAsIDAsIHsweDBjLDB4ZjAsMHgyMywweGFlLDB4NDAsMHhkZiwweDgxLDB4MzksMHhjMCwweDA2LDB4ZDAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA0IH0sCi0gIDE2LCAweGI1NjAsIDAsIHsweDMxLDB4NDEsMHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4Y2MsMHhhMCwweDM3LDB4YzIsMHgwYywweGYwLDB4MDMsMHg3YywweDA0IH0sCi0gIDE2LCAweGI1NzAsIDAsIHsweGNkLDB4MDAsMHgzMywweGYwLDB4MGMsMHhkMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1ODAsIDAsIHsweDgxLDB4MDQsMHg2MCwweDAwLDB4ODgsMHg4MCwweDIyLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlOSwweDAwLDB4YWIsMHg0NCwweDJlIH0sCi0gIDE2LCAweGI1OTAsIDAsIHsweGMwLDB4MDgsMHg4OCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAsMHhhMiwweDcwLDB4MGEsMHhiNCwweDAyLDB4Y2MsMHgwMCwweGEwIH0sCi0gIDE2LCAweGI1YTAsIDAsIHsweDIwLDB4MjIsMHhjMCwweDBmLDB4YmMsMHgwMiwweGNjLDB4MGEsMHg4YiwweDgwLDB4YTIsMHhjMCwweDBkLDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGI1YjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjAsMHgwMCwweDg5LDB4ODAsMHgyYSwweGMwIH0sCi0gIDE2LCAweGI1YzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGNjLDB4MDYsMHg4OCwweDYwLDB4MmUsMHhjMCwweDBhLDB4OTgsMHgwNiwweGVjLDB4MDEsMHhiYiwweDAwIH0sCi0gIDE2LCAweGI1ZDAsIDAsIHsweDIyLDB4MzEsMHgwMiwweGIyLDB4MDIsMHhlYywweGEwLDB4OGEsMHgwMCwweDI2LDB4YzAsMHg0OCwweGE4LDB4MDIsMHhlYywweDA0IH0sCi0gIDE2LCAweGI1ZTAsIDAsIHsweGE5LDB4ODAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1ZjAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4YzAsMHgwYSwweDMwLDB4NDIsMHhjYywweDAwLDB4ODAsMHgwMSwweDJjIH0sCi0gIDE2LCAweGI2MDAsIDAsIHsweGMwLDB4MWEsMHgxMiwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweDAwLDB4NGEsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEwIH0sCi0gIDE2LCAweGI2MTAsIDAsIHsweDAwLDB4MDgsMHhjMCwweDBiLDB4MjAsMHgwNiwweGVjLDB4YTAsMHhhMywweDAwLDB4YTAsMHg0MCwweDI5LDB4MTAsMHgwMCwweDAyIH0sCi0gIDE2LCAweGI2MjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGM4LDB4NTAsMHgzYiwweGMwIH0sCi0gIDE2LCAweGI2MzAsIDAsIHsweDBjLDB4YjAsMHgwMywweGFjLDB4MDAsMHhjOSwweDAwLDB4M2IsMHhjMCwweDBlLDB4OTIsMHg4MywweGZjLDB4MDAsMHhiZiwweDAwIH0sCi0gIDE2LCAweGI2NDAsIDAsIHsweDEyLDB4MDAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ODgsMHgyNiwweDE2LDB4YzAsMHgwYywweDgwLDB4MTcsMHg1YywweDgwIH0sCi0gIDE2LCAweGI2NTAsIDAsIHsweGU5LDB4MDEsMHgzMiwweDQwLDB4MmMsMHhkMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2NjAsIDAsIHsweGEwLDB4MWQsMHhkMCwweDAwLDB4ZmMsMHgyMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmIH0sCi0gIDE2LCAweGI2NzAsIDAsIHsweGMwLDB4MGQsMHg4MCwweDAzLDB4ZmMsMHgwOCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgxMCwweGY4IH0sCi0gIDE2LCAweGI2ODAsIDAsIHsweDQwLDB4MzcsMHhjMCwweDBlLDB4ZTAsMHgyMSwweGZjLDB4MDgsMHhkZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGUwIH0sCi0gIDE2LCAweGI2OTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhjMCwweGZmLDB4MjEsMHg3MSwweDI0IH0sCi0gIDE2LCAweGI2YTAsIDAsIHsweDBmLDB4ZjEsMHg4MywweGYyLDB4NDAsMHhmZiwweDAwLDB4MzcsMHhjNCwweDlmLDB4ZjIsMHg0NywweDNkLDB4MDQsMHhjNywweDIwIH0sCi0gIDE2LCAweGI2YjAsIDAsIHsweDMzLDB4YzAsMHgwYywweDc4LDB4MjMsMHhmZSwweDQwLDB4ZTgsMHgxMCwweDI3LDB4YzQsMHgwZiwweGYyLDB4MTMsMHgzYywweDg0IH0sCi0gIDE2LCAweGI2YzAsIDAsIHsweGM0LDB4ODEsMHgzMywweDIwLDB4NGMsMHhmMCwweDIzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2ZDAsIDAsIHsweDgwLDB4MTAsMHhlZCwweDQwLDB4YmYsMHg1NCwweDYyLDB4YzgsMHgwYiwweGY2LDB4MDIsMHhlMCwweDAwLDB4YmIsMHhkMCwweDIyIH0sCi0gIDE2LCAweGI2ZTAsIDAsIHsweGYwLDB4MWYsMHhmOSwweDEyLDB4M2QsMHg4MCwweDlmLDB4ODEsMHgyYiwweGUwLDB4MGEsMHhiOCwweDEyLDB4ZTgsMHgwMCwweDhmIH0sCi0gIDE2LCAweGI2ZjAsIDAsIHsweDA0LDB4MjIsMHhkMCwweDA4LDB4YjMsMHg4YSwweGJmLDB4NDIsMHg4YiwweDgyLDB4MjIsMHhlMCwweDI4LDB4OGMsMHgwMiwweDIwIH0sCi0gIDE2LCAweGI3MDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGIzLDB4MjgsMHgyOCwweDA4IH0sCi0gIDE2LCAweGI3MTAsIDAsIHsweDBiLDB4MzAsMHgwNiwweDgwLDB4ODAsMHhiMywweDAyLDB4MjQsMHhkMSwweDBiLDB4MzAsMHgwMiwweDhkLDB4ODAsMHg5MywweDEwIH0sCi0gIDE2LCAweGI3MjAsIDAsIHsweDIwLDB4Y2UsMHg4YiwweDMwLDB4MDIsMHhjYywweDg0LDB4YTEsMHgyMSwweDJjLDB4Y2MsMHgwYSwweDMwLDB4MGEsMHg0YywweDAwIH0sCi0gIDE2LCAweGI3MzAsIDAsIHsweDkzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzYywweDAyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3NDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4YmIsMHgwMiwweDZhLDB4ZTAsMHgwYiwweGIwLDB4MDIsMHhlMSwweDA4LDB4YmIsMHgwNCwweDJhIH0sCi0gIDE2LCAweGI3NTAsIDAsIHsweGMwLDB4MGEsMHhiMCwweDEyLDB4OGMsMHgwMCwweDliLDB4MDAsMHgyYSwweGMwLDB4MGIsMHhiMSwweDA2LDB4YzgsMHg4MCwweDhiIH0sCi0gIDE2LCAweGI3NjAsIDAsIHsweDgyLDB4NmEsMHhjMSwweDBhLDB4MzAsMHgwMiwweGFjLDB4MTgsMHg4OCwweDEwLDB4MmEsMHg0OCwweDA4LDB4ODAsMHgwMiwweDMwIH0sCi0gIDE2LCAweGI3NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHhhYSwweDMwIH0sCi0gIDE2LCAweGI3ODAsIDAsIHsweDBmLDB4YjAsMHgwMywweGE4LDB4MDAsMHhmMywweDAxLDB4YjYsMHhjMSwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDgsMHg0YiwweDAwIH0sCi0gIDE2LCAweGI3OTAsIDAsIHsweGIyLDB4YzAsMHgwZiwweGI4LDB4MDIsMHhlYywweDEwLDB4YTksMHg4MSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwYywweDAwIH0sCi0gIDE2LCAweGI3YTAsIDAsIHsweGNiLDB4YTAsMHgxOCwweGQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3YjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDA4LDB4ZjcsMHgwMCwweDM3LDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmZCwweDAwLDB4ZmYsMHgwMCwweDM3IH0sCi0gIDE2LCAweGI3YzAsIDAsIHsweGMwLDB4MGYsMHhiMCwweDA3LDB4N2MsMHgwMCwweGU3LDB4MDAsMHgzZSwweGMwLDB4MGEsMHhmMCwweDAzLDB4ZmUsMHgwMCwweGY3IH0sCi0gIDE2LCAweGI3ZDAsIDAsIHsweDAwLDB4MzYsMHhjMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDgwLDB4MzcsMHhlMCwweDBmLDB4YTAsMHgwMywweGI4IH0sCi0gIDE2LCAweGI3ZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDAwIH0sCi0gIDE2LCAweGI3ZjAsIDAsIHsweDBlLDB4YjAsMHgwMywweDY5LDB4MDAsMHhkYiwweDA5LDB4M2EsMHhjMCwweDFmLDB4MzAsMHgyMywweGVjLDB4MDgsMHhjYiwweDIwIH0sCi0gIDE2LCAweGI4MDAsIDAsIHsweDM0LDB4YzAsMHgyZiwweGIwLDB4MDMsMHhlYywweDQwLDB4ZWIsMHg0OCwweDNlLDB4YzQsMHg0ZCwweGIwLDB4OGIsMHg2YywweDAwIH0sCi0gIDE2LCAweGI4MTAsIDAsIHsweGNiLDB4MDAsMHgzMiwweDkwLDB4MGYsMHgzMCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4MjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4OGYsMHgwMCwweDIyLDB4MDAsMHg0OCwweGYwLDB4MjIsMHgyYywweDAwLDB4OGYsMHgwMCwweDIzIH0sCi0gIDE2LCAweGI4MzAsIDAsIHsweGUwLDB4OGIsMHhmNSwweDEwLDB4M2MsMHgwMCwweDhmLDB4ODAsMHgyMywweGYwLDB4ODAsMHg5OCwweDAzLDB4MmQsMHg0NCwweGRiIH0sCi0gIDE2LCAweGI4NDAsIDAsIHsweDAwLDB4MjMsMHhkNCwweDA4LDB4ZjgsMHgwMiwweDNjLDB4MDAsMHg4MywweDAwLDB4MjIsMHhjMCwweDBiLDB4YTQsMHg4MiwweDMyIH0sCi0gIDE2LCAweGI4NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyNCwweDAwIH0sCi0gIDE2LCAweGI4NjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDg0LDB4MDAsMHhiMywweDAxLDB4MjgsMHhmNiwweDA5LDB4MzQsMHgzMiwweDhjLDB4MDEsMHhiMywweGQwIH0sCi0gIDE2LCAweGI4NzAsIDAsIHsweDI0LDB4ZTgsMHgwYSwweDMxLDB4MGEsMHg4NiwweDAwLDB4ODMsMHgwMCwweDJhLDB4ZTAsMHgwMCwweDMwLDB4MDIsMHg4YywweDAwIH0sCi0gIDE2LCAweGI4ODAsIDAsIHsweDgzLDB4MDAsMHgyOCwweGMwLDB4ODksMHgzOCwweGEyLDB4NzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4OTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4OTcsMHg5NCwweDIzLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHgzMiwweDAwLDB4OTcsMHhhMSwweDIxIH0sCi0gIDE2LCAweGI4YTAsIDAsIHsweGU0LDB4MGIsMHg3OCwweDAyLDB4MWUsMHg0MCwweGI3LDB4YTAsMHgyNSwweGVjLDB4MDgsMHhmYywweDAyLDB4M2EsMHgwMCwweDkzIH0sCi0gIDE2LCAweGI4YjAsIDAsIHsweGI4LDB4MjEsMHhlMCwweDA4LDB4NzgsMHg4MiwweDllLDB4NDAsMHg4NywweGMwLDB4MjksMHhhMCwweDBiLDB4NTgsMHgwMiwweDQ4IH0sCi0gIDE2LCAweGI4YzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MmMsMHgwMCwweGRiLDB4MDAsMHgzNCwweDIwIH0sCi0gIDE2LCAweGI4ZDAsIDAsIHsweDBmLDB4M2EsMHgwMywweDhlLDB4MDAsMHhmMywweGIwLDB4MjgsMHhjNCwweDBiLDB4M2EsMHgwMywweGFlLDB4NDAsMHhmMywweGEwIH0sCi0gIDE2LCAweGI4ZTAsIDAsIHsweDM0LDB4ZWUsMHgwZiwweDMwLDB4MjMsMHg4NCwweDAwLDB4ZTMsMHhmMCwweDM4LDB4YzAsMHgwYywweGIwLDB4MGIsMHg4ZSwweDQyIH0sCi0gIDE2LCAweGI4ZjAsIDAsIHsweGMzLDB4MDAsMHgzOCwweGMwLDB4MGYsMHgzMCwweDYzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5MDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZWIsMHg0MiwweDNhLDB4YzQsMHgxZSwweGIxLDB4MDcsMHg4OCwweGQxLDB4ZTMsMHgwMCwweDNmIH0sCi0gIDE2LCAweGI5MTAsIDAsIHsweGM1LDB4OGYsMHhmMSwweDYzLDB4YWMsMHgxMCwweGNiLDB4NTAsMHgzYiwweGMzLDB4MGYsMHhkMSwweDAzLDB4YzgsMHgwMCwweGJiIH0sCi0gIDE2LCAweGI5MjAsIDAsIHsweDIwLDB4M2IsMHhjMCwweDJlLDB4ZjEsMHgwMywweDFjLDB4MDAsMHhmZiwweDAwLDB4MzcsMHhjMCwweDRmLDB4ZDEsMHgwMywweDkwIH0sCi0gIDE2LCAweGI5MzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGZiLDB4NDQsMHhiMiwweGMwIH0sCi0gIDE2LCAweGI5NDAsIDAsIHsweDRmLDB4YjMsMHg0MywweDI0LDB4MDAsMHhkYiwweDEwLDB4MzYsMHhjMCwweDRjLDB4YmUsMHgyMiwweDZkLDB4MjAsMHhjYiwweDUwIH0sCi0gIDE2LCAweGI5NTAsIDAsIHsweDNlLDB4YzksMHg0YywweGIwLDB4MTMsMHgyNCwweDAwLDB4Y2YsMHgyMCwweDMzLDB4YzAsMHgzZCwweGYwLDB4MjMsMHgyYywweGMwIH0sCi0gIDE2LCAweGI5NjAsIDAsIHsweGQ4LDB4MDAsMHgzZSwweDQwLDB4OGYsMHgzMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5NzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDA0LDB4YjcsMHg2MCwweDIxLDB4YzEsMHg4YiwweGYwLDB4YTIsMHgxNCwweDEwLDB4ODcsMHgwMCwweDBmIH0sCi0gIDE2LCAweGI5ODAsIDAsIHsweGM4LDB4MGQsMHg3MSwweDBhLDB4MWQsMHgwMCwweDg3LDB4MDAsMHgyYywweGNjLDB4NDgsMHg3MCwweDJhLDB4OWMsMHgwMCwweDg3IH0sCi0gIDE2LCAweGI5OTAsIDAsIHsweDBjLDB4MjEsMHhjMCwweDBjLDB4NzIsMHgwMiwweDBjLDB4YTIsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGI5YTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGIzLDB4ODAsMHgyMSwweGUwIH0sCi0gIDE2LCAweGI5YjAsIDAsIHsweDBiLDB4N2EsMHgwMiwweGRlLDB4MDAsMHhiNywweDgxLDB4MDUsMHhlNCwweDA4LDB4NzksMHgwMiwweDVjLDB4ODAsMHg4NywweGEwIH0sCi0gIDE2LCAweGI5YzAsIDAsIHsweDJkLDB4ZTAsMHgwOCwweGY4LDB4MDYsMHhiNiwweDAwLDB4ODcsMHg4MCwweDIwLDB4ZTQsMHgwYSwweDdiLDB4MTIsMHgxZSwweDkwIH0sCi0gIDE2LCAweGI5ZDAsIDAsIHsweDk3LDB4ODgsMHgyZCwweGUwLDB4MGIsMHg3OCwweDBlLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5ZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDAsMHgwYiwweGIwLDB4MDIsMHg2ZSwweDM0LDB4YTMsMHgwMCwweDJjIH0sCi0gIDE2LCAweGI5ZjAsIDAsIHsweGMxLDB4MDksMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwLDB4NDgsMHgxMCwweDAyLDB4OGQsMHg4MCwweDgzIH0sCi0gIDE2LCAweGJhMDAsIDAsIHsweGMwLDB4MDAsMHhjMCwweDhhLDB4MzAsMHgxMiwweDBjLDB4MDAsMHg4MCwweDAwLDB4MmMsMHgxNiwweDBiLDB4MzgsMHgwMiwweDEyIH0sCi0gIDE2LCAweGJhMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzMywweDg4IH0sCi0gIDE2LCAweGJhMjAsIDAsIHsweDBmLDB4YTAsMHgwMywweDc5LDB4OTAsMHhmYSwweDAxLDB4MzYsMHg4MCwweDFjLDB4YTAsMHgwMywweDY4LDB4MDAsMHhjYSwweDAwIH0sCi0gIDE2LCAweGJhMzAsIDAsIHsweDNlLDB4ODEsMHgyYywweGEwLDB4MGIsMHhiOSwweDBjLDB4Y2UsMHhlMiwweGIyLDB4ODAsMHg4ZSwweGEwLDB4MGIsMHgyOCwweDAwIH0sCi0gIDE2LCAweGJhNDAsIDAsIHsweGRhLDB4ODAsMHgzYywweGIwLDB4MGYsMHhlMCwweDgzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhhMCwweDAwLDB4YzgsMHgwMCwweDJlIH0sCi0gIDE2LCAweGJhNjAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDIzLDB4YTAsMHgwMCwweGYwLDB4NDAsMHgzZSwweDEwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMiwweGY4IH0sCi0gIDE2LCAweGJhNzAsIDAsIHsweDQ4LDB4M2UsMHgxMCwweDBjLDB4ODAsMHgwMywweGMwLDB4MTAsMHhmOCwweDgwLDB4M2UsMHgwMCwweDBmLDB4MDAsMHgwMywweGQyIH0sCi0gIDE2LCAweGJhODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzNiwweDQyIH0sCi0gIDE2LCAweGJhOTAsIDAsIHsweDBmLDB4OTAsMHgwMywweDI0LDB4MTgsMHhmOSwweDEwLDB4M2MsMHg0OCwweDY4LDB4OTIsMHgxMywweGU0LDB4MDAsMHhhOSwweDExIH0sCi0gIDE2LCAweGJhYTAsIDAsIHsweGIyLDB4NjAsMHgwZSwweDkxLDB4MDMsMHgyNiwweDAwLDB4YzksMHgwMCwweDMyLDB4NjAsMHgwYywweDEwLDB4MDMsMHgyNCwweDA4IH0sCi0gIDE2LCAweGJhYjAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDIzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhYzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA4LDB4ODksMHgwMCwweDJlIH0sCi0gIDE2LCAweGJhZDAsIDAsIHsweDQyLDB4NDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4ODAsMHgyMiwweDcwLDB4MDgsMHgxNCwweDIyLDB4YTQsMHgwMiwweDg5IH0sCi0gIDE2LCAweGJhZTAsIDAsIHsweDQyLDB4MmEsMHg3MCwweDI4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgwMiwweGEwIH0sCi0gIDE2LCAweGJhZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDk5LDB4MDAsMHgyNiwweGMwIH0sCi0gIDE2LCAweGJiMDAsIDAsIHsweDAzLDB4OTAsMHgwMiwweDI0LDB4MDEsMHhhOSwweDAwLDB4MGUsMHg0MCwweDBhLDB4OTAsMHg0NiwweGM0LDB4MGEsMHg4OSwweDAwIH0sCi0gIDE2LCAweGJiMTAsIDAsIHsweDIwLDB4NDgsMHgwYSwweDkwLDB4MDIsMHgwNSwweDgwLDB4ODEsMHg0MSwweGEwLDB4NTgsMHg4OCwweDkwLDB4MDIsMHgyNCwweDA4IH0sCi0gIDE2LCAweGJiMjAsIDAsIHsweDhkLDB4ODAsMHgyZiwweGMwLDB4MDgsMHg5OCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDAsMHgwYiwweDEyLDB4MDIsMHg4NCwweDAwLDB4ODEsMHgyNCwweDJjIH0sCi0gIDE2LCAweGJiNDAsIDAsIHsweDU4LDB4MGEsMHgzMiwweDIyLDB4YzUsMHg4NCwweGExLDB4MDAsMHgyMCwweDUwLDB4MDgsMHhiMCwweDAyLDB4ODUsMHgwOCwweDgxIH0sCi0gIDE2LCAweGJiNTAsIDAsIHsweDQwLDB4MjAsMHg1YSwweDA4LDB4MTYsMHg4MiwweDA0LDB4MDAsMHhhNSwweDAwLDB4MmQsMHg0MCwweDA4LDB4MTIsMHg4MiwweDgyIH0sCi0gIDE2LCAweGJiNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzNiwweDE0IH0sCi0gIDE2LCAweGJiNzAsIDAsIHsweDBmLDB4ODUsMHgyMywweDAxLDB4NDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHg0MywweGMwLDB4MDgsMHhjYSwweDAwIH0sCi0gIDE2LCAweGJiODAsIDAsIHsweDMyLDB4ODAsMHgwZSwweDgwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwMCwweDMyLDB4MDgsMHgyYywweDAyLDB4MDMsMHgyMCwweDA4IH0sCi0gIDE2LCAweGJiOTAsIDAsIHsweGM4LDB4MDAsMHgzZiwweDAwLDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweDkxLDB4NDMsMHhmNCwweDA0LDB4ZjksMHgxMCwweDNlIH0sCi0gIDE2LCAweGJiYjAsIDAsIHsweDQ0LDB4MGQsMHgxMSwweDAzLDB4ZTQsMHg0NCwweDU5LDB4NDAsMHgzZSwweDUwLDB4NGYsMHg1MCwweDQzLDB4ZDQsMHgwMiwweGZkIH0sCi0gIDE2LCAweGJiYzAsIDAsIHsweDQwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwYiwweGU1LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4ZDAsMHgwMywweGU2IH0sCi0gIDE2LCAweGJiZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4NjYsMHg2MCwweGM5LDB4ZTAsMHgzMiwweDQ0IH0sCi0gIDE2LCAweGJiZTAsIDAsIHsweDBmLDB4OWMsMHgwMywweGU0LDB4MDAsMHhkZCwweDg0LDB4M2YsMHg2OCwweDhmLDB4ZDgsMHg0MiwweGU2LDB4YTAsMHhkZCwweGE0IH0sCi0gIDE2LCAweGJiZjAsIDAsIHsweDMzLDB4NjgsMHgwZCwweDcwLDB4MDMsMHgyNSwweDAwLDB4YzksMHhlMCwweGIyLDB4NjgsMHgwYywweDlhLDB4YzMsMHgyNiwweDAwIH0sCi0gIDE2LCAweGJjMDAsIDAsIHsweDk5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjMTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDAwLDB4ODgsMHg4MCwweGFhLDB4MjAsMHg4YiwweDg4LDB4MDIsMHhlMiwweDg4LDB4YjgsMHgwMSwweDJlIH0sCi0gIDE2LCAweGJjMjAsIDAsIHsweDAwLDB4MGIsMHg4NCwweDAyLDB4ZTIsMHhiMCwweDg4LDB4NTAsMHgyMiwweDE0LDB4MDgsMHg4MCwweDAyLDB4ODIsMHg4MCwweDg4IH0sCi0gIDE2LCAweGJjMzAsIDAsIHsweGUwLDB4YjYsMHgzYSwweDA4LDB4Y2UsMHhhMiwweDIxLDB4MDgsMHg4OCwweDAwLDB4MmUsMHgwMCwweDBiLDB4YzQsMHgwMiwweDBlIH0sCi0gIDE2LCAweGJjNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweDgxLDB4NjAsMHg2OCwweDQ4IH0sCi0gIDE2LCAweGJjNTAsIDAsIHsweDViLDB4MTYsMHgwMiwweGM0LDB4MjAsMHhhMSwweDQwLDB4NmMsMHg1MCwweDBiLDB4MTQsMHgwMiwweGM0LDB4MDAsMHhhMSwweDAwIH0sCi0gIDE2LCAweGJjNjAsIDAsIHsweDI0LDB4NDAsMHgwYiwweDkwLDB4MjIsMHgxNCwweDkwLDB4ODUsMHg0MiwweDIxLDB4NTAsMHg1YiwweDUwLDB4MWEsMHgxNSwweDAwIH0sCi0gIDE2LCAweGJjNzAsIDAsIHsweDk1LDB4MDAsMHgyZCwweDQwLDB4MGIsMHg1MSwweDBhLDB4ODIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwYiwweDkwLDB4NDYsMHhlNCwweDAwLDB4YjksMHgwMSwweDJlIH0sCi0gIDE2LCAweGJjOTAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDIwLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyNiwweDQwLDB4MTgsMHhiOCwweDAyLDB4YTQsMHgwMiwweDhkIH0sCi0gIDE2LCAweGJjYTAsIDAsIHsweDA4LDB4MmYsMHg0MCwweDhiLDB4ZDAsMHgwMiwweDI0LDB4MDAsMHg4ZCwweDIwLDB4MmYsMHg0OCwweDBiLDB4ZDAsMHgwMiwweDg2IH0sCi0gIDE2LCAweGJjYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDQwIH0sCi0gIDE2LCAweGJjYzAsIDAsIHsweDBmLDB4OTAsMHgwMiwweGU0LDB4MTAsMHg0OSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhlOSwweDAxIH0sCi0gIDE2LCAweGJjZDAsIDAsIHsweDM2LDB4NDAsMHgwZiwweDE4LDB4MTMsMHgyNCwweDEwLDB4YzksMHg4MiwweDMyLDB4NDAsMHg3ZiwweDkwLDB4MjMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGJjZTAsIDAsIHsweGQ5LDB4MjAsMHgzZSwweDcyLDB4MGYsMHg5MCwweDAzLDB4YTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjZjAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAyLDB4ZjEsMHgwMSwweDE2LDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlNSwweDEwLDB4ZjksMHgwOCwweDJlIH0sCi0gIDE2LCAweGJkMDAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDEzLDB4ZTQsMHgwMCwweGM5LDB4MDEsMHgzYSwweDQwLDB4MWYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGJkMTAsIDAsIHsweDIwLDB4MzQsMHg0MCwweDhjLDB4OTAsMHgwMywweGM0LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBmLDB4MTAsMHgwMywweDRhIH0sCi0gIDE2LCAweGJkMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOCwweGY4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGJkMzAsIDAsIHsweDBjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMiwweDRmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhkMCwweDAwIH0sCi0gIDE2LCAweGJkNDAsIDAsIHsweDNlLDB4MDAsMHgwZSwweDgxLDB4MDMsMHgzMCwweDAwLDB4Y2MsMHg0MCwweDMzLDB4MDAsMHgwYywweGMwLDB4MGIsMHgyMCwweDIwIH0sCi0gIDE2LCAweGJkNTAsIDAsIHsweGU4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHhjMCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDA0LDB4YmEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmUsMHhjOCwweDZmIH0sCi0gIDE2LCAweGJkNzAsIDAsIHsweDgwLDB4MGIsMHhlMSwweDIyLDB4YTgsMHgwMCwweDhlLDB4MjAsMHgyZiwweDgwLDB4MGIsMHhlMCwweDIzLDB4NjgsMHgwMCwweDhhIH0sCi0gIDE2LCAweGJkODAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDI5LDB4MDAsMHg4YSwweDAwLDB4MmUsMHhhOCwweDBiLDB4YTAsMHgwMCwweGNhIH0sCi0gIDE2LCAweGJkOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwIH0sCi0gIDE2LCAweGJkYTAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweGMxLDB4MmMsMHhlMCwweDBiLDB4MzgsMHg1NiwweDJjLDB4MTAsMHgxMywweDAwIH0sCi0gIDE2LCAweGJkYjAsIDAsIHsweDJlLDB4YzAsMHgwYSwweDM4LDB4NmEsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIwLDB4MDAsMHgwOSwweDgwLDB4MjIsMHg0YywweDQyIH0sCi0gIDE2LCAweGJkYzAsIDAsIHsweGEzLDB4MDAsMHgyYywweGUwLDB4MGIsMHgyNCwweDgwLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDA4LDB4YjcsMHgyNCwweDJmLDB4ZTAsMHgwOSwweDM5LDB4MDIsMHgxYywweDAxLDB4YjYsMHgwMCwweDJkIH0sCi0gIDE2LCAweGJkZTAsIDAsIHsweDkwLDB4MGIsMHg2MCwweDkyLDB4OGUsMHgwMCwweDg2LDB4ODIsMHgyZCwweGMyLDB4MGIsMHhmMCwweDAyLDB4NWMsMHgwNiwweDg3IH0sCi0gIDE2LCAweGJkZjAsIDAsIHsweDAwLDB4NjAsMHhjMCwweDI5LDB4NzAsMHgwMiwweDVjLDB4MDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwMiwweGU4IH0sCi0gIDE2LCAweGJlMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHg0MCwweGYzLDB4ZTQsMHgzZCwweGU4IH0sCi0gIDE2LCAweGJlMTAsIDAsIHsweDBkLDB4NzksMHgwYiwweDFlLDB4YzAsMHg2NywweDgwLDB4MmQsMHhlMCwweDBmLDB4NzAsMHg0MywweDFkLDB4ODAsMHhkNSwweDAwIH0sCi0gIDE2LCAweGJlMjAsIDAsIHsweDNkLDB4NjAsMHgwZSwweDc4LDB4MDMsMHgxZSwweDAwLDB4Y2QsMHg4MCwweDMxLDB4ZTAsMHgwZCwweGM4LDB4MDMsMHg0ZSwweDAwIH0sCi0gIDE2LCAweGJlMzAsIDAsIHsweGU1LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg0OCwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlNDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDgwLDB4ZmIsMHgwMCwweDcwLDB4YzAsMHg2ZSwweGI2LDB4MTMsMHhhZCwweDQwLDB4ZmEsMHgwMCwweDNlIH0sCi0gIDE2LCAweGJlNTAsIDAsIHsweGMwLDB4MGYsMHgyMCwweDQzLDB4MmQsMHgxOCwweDU5LDB4MDAsMHgzZSwweDAwLDB4MDMsMHhiMCwweDBiLDB4ZTAsMHgwMCwweGZhIH0sCi0gIDE2LCAweGJlNjAsIDAsIHsweDAwLDB4YmUsMHgwMCwweDBlLDB4YjAsMHgxMywweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGMyIH0sCi0gIDE2LCAweGJlNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg0MCwweGZmLDB4ODAsMHgzZiwweGU2IH0sCi0gIDE2LCAweGJlODAsIDAsIHsweDBmLDB4ZjgsMHgyMywweDJlLDB4MDQsMHhmZiwweDkwLDB4M2YsMHhlNCwweDBkLDB4YmEsMHgwMywweGZmLDB4NDAsMHhjZiwweDgwIH0sCi0gIDE2LCAweGJlOTAsIDAsIHsweDIyLDB4ZTEsMHgwYywweDM5LDB4NDMsMHgzMiwweDEwLDB4ZWMsMHg5MCwweDMzLDB4MjAsMHg4ZSwweGM4LDB4MDMsMHhmMiwweDAwIH0sCi0gIDE2LCAweGJlYTAsIDAsIHsweGRmLDB4ODAsMHgzZiwweDYwLDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlYjAsIDAsIHsweGE4LDB4MTEsMHg5YywweDQwLDB4YjcsMHg5MCwweDNjLDB4ZTAsMHgwYiwweDNhLDB4MDMsMHg0ZSwweDgwLDB4ZjMsMHhiMSwweDJkIH0sCi0gIDE2LCAweGJlYzAsIDAsIHsweDA0LDB4NGMsMHgzOCwweDIzLDB4YWUsMHgwMCwweDgwLDB4ODAsMHgzNCwweGU4LDB4NGQsMHg3OCwweDAyLDB4M2UsMHg4MCwweDg3IH0sCi0gIDE2LCAweGJlZDAsIDAsIHsweGEwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGMwLDB4ODAsMHg4NiwweDAyLDB4MmQsMHg0MSwweDBiLDB4NzAsMHgwMiwweGVhIH0sCi0gIDE2LCAweGJlZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHg0OCwweDM3LDB4MDEsMHgyZCwweGM5IH0sCi0gIDE2LCAweGJlZjAsIDAsIHsweDBiLDB4NzIsMHgyMiwweDFjLDB4ODQsMHhiNSwweDE2LDB4MGQsMHhjNCwweDE5LDB4NDAsMHg0MiwweGRjLDB4ODAsMHg4NywweDAwIH0sCi0gIDE2LCAweGJmMDAsIDAsIHsweDIwLDB4YzgsMHg4OCwweDczLDB4MGEsMHg5YywweDgwLDB4YjUsMHgwMCwweDI5LDB4YzAsMHgwYSwweDQ4LDB4MDIsMHhjMCwweDAyIH0sCi0gIDE2LCAweGJmMTAsIDAsIHsweDk1LDB4MDAsMHgyZCwweDQyLDB4MGIsMHg1OCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmMjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDJhLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHg0YywweDIwLDB4YTEsMHgwMSwweDI0IH0sCi0gIDE2LCAweGJmMzAsIDAsIHsweGMxLDB4MDgsMHgwMCwweDAyLDB4OGMsMHgwMCwweDgxLDB4MDAsMHgyNCwweDgwLDB4MDksMHgzOCwweDBhLDB4NjAsMHg4MCwweDkyIH0sCi0gIDE2LCAweGJmNDAsIDAsIHsweDQwLDB4MmEsMHgwMCwweDBhLDB4MzAsMHgwMiwweGMwLDB4MDAsMHg4MCwweGM4LDB4MmMsMHg3MiwweDBiLDB4MTQsMHgwMiwweGM4IH0sCi0gIDE2LCAweGJmNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZmLDB4MDAsMHgyZiwweGY0IH0sCi0gIDE2LCAweGJmNjAsIDAsIHsweDhmLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhiOSwweDAwLDB4M2UsMHg0MCwweDA5LDB4OTAsMHgwMywweGZjLDB4MDIsMHhjMywweDAxIH0sCi0gIDE2LCAweGJmNzAsIDAsIHsweDMyLDB4YzAsMHg0OCwweGI4LDB4MTMsMHhhMSwweDAwLDB4YmEsMHgwMCwweDJhLDB4MDAsMHgwYSwweGEwLDB4MDcsMHhlYywweDAwIH0sCi0gIDE2LCAweGJmODAsIDAsIHsweGRiLDB4YzgsMHgzZSwweDkwLDB4MGYsMHhhMiwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNlLDB4YzQsMHgwZiwweGIwLDB4NjMsMHhlYywweDAxLDB4ZjgsMHg0MCwweDNlIH0sCi0gIDE2LCAweGJmYTAsIDAsIHsweDQwLDB4MGIsMHg4MCwweDAzLDB4Y2MsMHgwMCwweGZhLDB4NDIsMHgzZSwweGMwLDB4MGYsMHhiNSwweDAwLDB4YWMsMHg1OCwweGU5IH0sCi0gIDE2LCAweGJmYjAsIDAsIHsweDgyLDB4M2UsMHhjMCwweDFkLDB4OTAsMHgwMywweGVjLDB4MDQsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweGUwIH0sCi0gIDE2LCAweGJmYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwYywweGRmLDB4MDAsMHg3ZiwweGMwIH0sCi0gIDE2LCAweGJmZDAsIDAsIHsweDJjLDB4ZjAsMHgwMywweDdjLDB4MDEsMHhjNywweDAwLDB4MzMsMHg0MCwweDhmLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweGJmZTAsIDAsIHsweDE1LDB4NDQsMHgwYywweGUwLDB4MWIsMHgzYywweDAwLDB4Y2IsMHgwZSwweDMzLDB4YzAsMHg1YywweDYyLDB4MDIsMHgxYywweDAyIH0sCi0gIDE2LCAweGJmZjAsIDAsIHsweGM1LDB4MDAsMHgyYiwweDgwLDB4MGYsMHhjMCwweDg3LDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwMDAsIDAsIHsweDgxLDB4NDQsMHg2YywweDEwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIwLDB4NTIsMHgwYywweDAxLDB4ZmEsMHhjNCwweDIyIH0sCi0gIDE2LCAweGMwMTAsIDAsIHsweDYxLDB4MGIsMHg4OCwweDAzLDB4NmMsMHgwMCwweDg4LDB4NDcsMHgyYSwweDAwLDB4MGUsMHgxYywweDAyLDB4MjAsMHgwMiwweDg4IH0sCi0gIDE2LCAweGMwMjAsIDAsIHsweDAwLDB4YWEsMHgwMCwweDI4LDB4OTAsMHgwYSwweDJjLDB4MDQsMHhhOCwweDAwLDB4MjIsMHg5MCwweDBiLDB4ODAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGMwMzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMxIH0sCi0gIDE2LCAweGMwNDAsIDAsIHsweDA4LDB4MzAsMHgxMiwweDZjLDB4MDAsMHg4OCwweDg4LDB4MmEsMHgzMCwweDBiLDB4YjgsMHgwMiwweGVjLDB4MDAsMHg5YiwweDA4IH0sCi0gIDE2LCAweGMwNTAsIDAsIHsweDJhLDB4NDAsMHgwOCwweGI4LDB4MDIsMHgyMCwweDAwLDB4ODIsMHgxMCwweDIyLDB4MDAsMHgwOCwweGEwLDB4MjIsMHhhMCwweDAwIH0sCi0gIDE2LCAweGMwNjAsIDAsIHsweDhiLDB4MDAsMHgyYSwweDAyLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwNzAsIDAsIHsweDA4LDB4MDAsMHgwYywweDAwLDB4YjMsMHgyMCwweDJjLDB4YzIsMHgwOCwweDM2LDB4MDIsMHgyYywweGMwLDB4YTAsMHgwOCwweDIwIH0sCi0gIDE2LCAweGMwODAsIDAsIHsweDAwLDB4MGIsMHgzMywweDQ2LDB4Y2QsMHgyOCwweDgwLDB4MjAsMHgyOCwweGMwLDB4MGIsMHgzMiwweDAyLDB4MGMsMHgyMCwweDgxIH0sCi0gIDE2LCAweGMwOTAsIDAsIHsweDMwLDB4MjgsMHhjMCwweDA4LDB4MTAsMHgwMiwweDgxLDB4MDAsMHhhYSwweDAwLDB4MjgsMHgwMCwweDAzLDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGMwYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4N2MsMHgwMCwweGZiLDB4MjgsMHgyZSwweGNjIH0sCi0gIDE2LCAweGMwYjAsIDAsIHsweDBjLDB4NzAsMHg1MywweDdkLDB4MDksMHg4OCwweDAwLDB4YmEsMHgwMCwweDBmLDB4ODAsMHgwMywweGZkLDB4ODAsMHhkYSwweDYwIH0sCi0gIDE2LCAweGMwYzAsIDAsIHsweDNhLDB4NTAsMHg4YywweGEyLDB4ODMsMHgyYywweDgwLDB4NGIsMHgyMCwweDMwLDB4YzAsMHgyOCwweGEwLDB4MDMsMHhhMSwweDAwIH0sCi0gIDE2LCAweGMwZDAsIDAsIHsweGM5LDB4MDAsMHgzYSwweDAwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmIsMHgwMCwweDdlLDB4YzksMHgwYiwweGI2LDB4MDMsMHhmYywweGMwLDB4ZjgsMHgwYywweDNmIH0sCi0gIDE2LCAweGMwZjAsIDAsIHsweDAwLDB4NGYsMHhjMywweDQzLDB4MmMsMHgwMCwweGI4LDB4MzgsMHgzZiwweDhlLDB4NWUsMHhmMCwweDQzLDB4ZTAsMHgxMCwweGY4IH0sCi0gIDE2LCAweGMxMDAsIDAsIHsweDMwLDB4M2YsMHgwMSwweDBmLDB4ZDAsMHgwMywweDcwLDB4MDAsMHhmYywweDAwLDB4MzcsMHgwMCwweDBkLDB4ZDAsMHgwNywweGU5IH0sCi0gIDE2LCAweGMxMTAsIDAsIHsweDAzLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhlMCwweGNjLDB4ODAsMHgzMywweGMwIH0sCi0gIDE2LCAweGMxMjAsIDAsIHsweDBkLDB4ZjAsMHg4MywweGZjLDB4ODAsMHhkYywweDk0LDB4MzMsMHhjMCwweDFjLDB4ZjEsMHgwMywweDdkLDB4OGMsMHhmZiwweDMwIH0sCi0gIDE2LCAweGMxMzAsIDAsIHsweDNmLDB4MzAsMHg4ZiwweGM4LDB4MDMsMHg3ZSwweDEwLDB4Y2YsMHg5MCwweDM5LDB4YTAsMHg4ZCwweGY4LDB4MDMsMHhhZSwweDAwIH0sCi0gIDE2LCAweGMxNDAsIDAsIHsweGQ1LDB4ODAsMHgxMywweGUwLDB4MGMsMHg1OCwweDAzLDB4ZjAsMHgwMSwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxNTAsIDAsIHsweDgwLDB4MTAsMHhkZCwweDA4LDB4ODgsMHgwMCwweDIzLDB4YzQsMHgwOCwweGZjLDB4MDIsMHhlYywweGE4LDB4Y2IsMHgyMCwweDIxIH0sCi0gIDE2LCAweGMxNjAsIDAsIHsweGMyLDB4MGQsMHhmNywweDEyLDB4MWMsMHg0MCwweGRmLDB4MzAsMHgyMiwweGEwLDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwNCwweGRiIH0sCi0gIDE2LCAweGMxNzAsIDAsIHsweDIxLDB4MjIsMHhjMCwweDA4LDB4YjgsMHgyMiwweDJlLDB4MDAsMHhiOSwweDgwLDB4MmEsMHg2MCwweDBhLDB4ODgsMHgwMiwweGUwIH0sCi0gIDE2LCAweGMxODAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDQ1LDB4Y2MsMHgxMCwweDgwLDB4MmMsMHgyOCwweGNhIH0sCi0gIDE2LCAweGMxOTAsIDAsIHsweDY4LDB4MzAsMHgwMiwweDhkLDB4MDAsMHg5YiwweDIwLDB4MjgsMHhjNCwweDA4LDB4MzIsMHgwMiwweGNjLDB4MTAsMHhiMywweDAwIH0sCi0gIDE2LCAweGMxYTAsIDAsIHsweDI0LDB4MDgsMHgwYiwweDgwLDB4NDIsMHg2YywweDAwLDB4ODMsMHgwMCwweDJhLDB4Y2EsMHgzYSwweGIwLDB4MDIsMHg4YywweDA0IH0sCi0gIDE2LCAweGMxYjAsIDAsIHsweGIwLDB4MDQsMHgyOCwweGMwLDB4MDgsMHgxMCwweDAyLDB4ZTMsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxYzAsIDAsIHsweGMwLDB4MTUsMHg4YywweDAyLDB4ODAsMHg0MCwweGFhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlYywweDAwLDB4OWIsMHgyMCwweDJhIH0sCi0gIDE2LCAweGMxZDAsIDAsIHsweGMwLDB4ODgsMHhiMCwweDAyLDB4YWMsMHgwMCwweDliLDB4MDAsMHgyNiwweGUwLDB4MDMsMHg4MCwweDgyLDB4MmMsMHgyOCwweDliIH0sCi0gIDE2LCAweGMxZTAsIDAsIHsweDIwLDB4MjIsMHhlMSwweDBiLDB4YjIsMHgwMiwweGFjLDB4ODAsMHhiOCwweDgwLDB4MmEsMHhjMSwweDBhLDB4OTgsMHgwMiwweGYwIH0sCi0gIDE2LCAweGMxZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGM4LDB4NTAsMHgzYSwweGMwIH0sCi0gIDE2LCAweGMyMDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhkYiwweDg4LDB4YmEsMHhjMCwweDA4LDB4YjAsMHgwMywweDZjLDB4MDgsMHhmYiwweDAwIH0sCi0gIDE2LCAweGMyMTAsIDAsIHsweDM2LDB4NjAsMHgwZiwweDhjLDB4NjMsMHg2YywweDAwLDB4Y2IsMHhjMCwweDNhLDB4ODAsMHgwZSwweGJlLDB4MDMsMHhhZiwweDg0IH0sCi0gIDE2LCAweGMyMjAsIDAsIHsweDc5LDB4ODAsMHgzYSwweDg4LDB4MDQsMHg5OCwweDAxLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyMzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmMsMHg4MCwweDM1LDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhkYywweDAwLDB4ZWYsMHgwMCwweDM3IH0sCi0gIDE2LCAweGMyNDAsIDAsIHsweGMwLDB4YWYsMHhmMCwweDAzLDB4MWMsMHgwMSwweDZmLDB4MDAsMHgxMywweDAwLDB4MGYsMHhjMSwweDIzLDB4ZmMsMHhiOCwweGZmIH0sCi0gIDE2LCAweGMyNTAsIDAsIHsweDA0LDB4MzcsMHhjMCwweDBjLDB4ZjgsMHg0MywweDdlLDB4MDQsMHhmZCwweDAwLDB4M2YsMHgwNCwweDBmLDB4ZDAsMHgwMywweGY4IH0sCi0gIDE2LCAweGMyNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGM4LDB4NDAsMHgzYSwweGMwIH0sCi0gIDE2LCAweGMyNzAsIDAsIHsweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDQwLDB4MzgsMHhjMSwweDBlLDB4YjAsMHg0MywweDJjLDB4MDgsMHhjMywweDAwIH0sCi0gIDE2LCAweGMyODAsIDAsIHsweDNlLDB4NDAsMHgwZSwweDgyLDB4MDMsMHg2ZCwweDAwLDB4ZGIsMHg0MCwweDMyLDB4YzEsMHg1ZiwweGI0LDB4YTMsMHhlZCwweDIwIH0sCi0gIDE2LCAweGMyOTAsIDAsIHsweGM5LDB4NDAsMHgzMiwweGUwLDB4OGYsMHg5OCwweDQzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyYTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4ODgsMHgwMCwweDIzLDB4YzAsMHgyOCwweGY1LDB4YzIsMHhmYywweDAwLDB4YjMsMHgwNCwweDIzIH0sCi0gIDE2LCAweGMyYjAsIDAsIHsweGMxLDB4NDgsMHhmMCwweDIyLDB4YmMsMHgwNiwweGFmLDB4MDAsMHgwZSwweDQwLDB4MDgsMHgwMCwweDAyLDB4Y2QsMHgwMCwweGJiIH0sCi0gIDE2LCAweGMyYzAsIDAsIHsweDAxLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGVlLDB4MDAsMHg4MSwweGUwLDB4MzQsMHhhMCwweDBiLDB4OTAsMHgwMiwweDMyIH0sCi0gIDE2LCAweGMyZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMiwweDgwLDB4MDAsMHgyOCwweGMwIH0sCi0gIDE2LCAweGMyZTAsIDAsIHsweDA5LDB4M2MsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBhLDB4YjAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAxIH0sCi0gIDE2LCAweGMyZjAsIDAsIHsweDJjLDB4MDAsMHgwYSwweDA1LDB4MDIsMHhjZCwweDU4LDB4YmIsMHgwMCwweDIwLDB4MDAsMHgwYSwweDNkLDB4MDIsMHhjZiwweDQwIH0sCi0gIDE2LCAweGMzMDAsIDAsIHsweDIxLDB4MjAsMHg2MCwweGMwLDB4MDksMHgxMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4ODQsMHg4MCwweDI4LDB4ZTQsMHg4OCwweDc4LDB4NDIsMHhkZSwweDAwLDB4YjcsMHg5MCwweDY1IH0sCi0gIDE2LCAweGMzMjAsIDAsIHsweGU0LDB4ODgsMHg3YSwweDQyLDB4OWUsMHg0MCwweGE3LDB4OTAsMHgyZCwweGEwLDB4MGEsMHg0OCwweDIyLDB4ZGUsMHgwNCwweGI3IH0sCi0gIDE2LCAweGMzMzAsIDAsIHsweDgwLDB4MjMsMHg2MCwweDQ4LDB4NzgsMHg0MiwweGZlLDB4ODAsMHhhZiwweDkwLDB4NjUsMHhlMCwweDBiLDB4ZTgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGMzNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGM4LDB4MDAsMHgzOCwweGMwIH0sCi0gIDE2LCAweGMzNTAsIDAsIHsweDBjLDB4MzAsMHgwMywweGNjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCwweDBlLDB4YmEsMHgwMywweDBjLDB4MDAsMHhjMywweDAwIH0sCi0gIDE2LCAweGMzNjAsIDAsIHsweDNlLDB4MDAsMHg0ZSwweDIyLDB4MDIsMHhjYywweGMwLDB4ZmIsMHg0MCwweDMwLDB4YzAsMHgwYSwweDMwLDB4MDMsMHhjZSwweDgwIH0sCi0gIDE2LCAweGMzNzAsIDAsIHsweGUxLDB4NDEsMHgzMCwweGM5LDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDIwLDB4ZmMsMHgwMCwweDM3LDB4YzIsMHgwZSwweGYxLDB4MjMsMHhlYywweDQwLDB4ZmYsMHgwNCwweDNhIH0sCi0gIDE2LCAweGMzOTAsIDAsIHsweGMwLDB4MGYsMHhiMCwweDIzLDB4ZmMsMHgwMCwweGZmLDB4MDQsMHgzZSwweGMwLDB4MGQsMHhhMCwweDAzLDB4ZmMsMHg1OCwweGZmIH0sCi0gIDE2LCAweGMzYTAsIDAsIHsweDAwLDB4YmYsMHhjMCwweDA2LDB4ZjAsMHg4MywweGRjLDB4NjIsMHhkZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDEwIH0sCi0gIDE2LCAweGMzYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHg4MCwweGM5LDB4MDEsMHgzZSwweGMwIH0sCi0gIDE2LCAweGMzYzAsIDAsIHsweDhjLDB4YjIsMHgwNywweGFlLDB4MDQsMHhjYiwweDgwLDB4M2EsMHhjOCwweDRjLDB4YjIsMHgwMywweDJjLDB4ODQsMHhjYiwweDMwIH0sCi0gIDE2LCAweGMzZDAsIDAsIHsweGIwLDB4ZTAsMHgwZCwweDg4LDB4MGIsMHgyYywweDAwLDB4ZWIsMHgwMCwweDMwLDB4MDAsMHgwYywweGJjLDB4ODMsMHgyZCwweDgwIH0sCi0gIDE2LCAweGMzZTAsIDAsIHsweGZiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4ZWEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzZjAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDQwLDB4ODcsMHgwMCwweDJjLDB4Y2MsMHgwOCwweDc2LDB4ODIsMHgzYywweDgyLDB4ODcsMHgwMCwweDIxIH0sCi0gIDE2LCAweGM0MDAsIDAsIHsweGMyLDB4OGQsMHgzMiwweDgyLDB4MGQsMHg0YywweGE3LDB4MjgsMHgyMSwweDgwLDB4MDgsMHg0MCwweDAyLDB4MWQsMHg4MCwweGJmIH0sCi0gIDE2LCAweGM0MTAsIDAsIHsweDIwLDB4MzUsMHg0MCwweDA5LDB4NzIsMHg0MywweDVjLDB4YTAsMHhiNywweDAwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGM0MjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDg0LDB4ODAsMHgyZCwweGUwIH0sCi0gIDE2LCAweGM0MzAsIDAsIHsweDA4LDB4NzgsMHgwMiwweGRlLDB4YzAsMHg4ZiwweDgwLDB4MjgsMHhlYywweDI4LDB4N2IsMHgwYSwweDllLDB4OTQsMHg4MywweDg0IH0sCi0gIDE2LCAweGM0NDAsIDAsIHsweDIzLDB4ZTAsMHgwOSwweDU4LDB4NTAsMHg5ZSwweDEwLDB4YTcsMHhiMCwweDIzLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHgxZSwweDIwIH0sCi0gIDE2LCAweGM0NTAsIDAsIHsweGI3LDB4ODAsMHgyMSwweGUwLDB4MDksMHg3OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0NjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAyLDB4ODIsMHgxYywweDJjLDB4YzAsMHgyOCwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHhjMCwweDIwIH0sCi0gIDE2LCAweGM0NzAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHg2MCwweGQyLDB4MDgsMHgxZCwweDAyLDB4MGYsMHgyMCwweGJiIH0sCi0gIDE2LCAweGM0ODAsIDAsIHsweDI0LDB4MjQsMHhjMCwweDBiLDB4M2MsMHgwMiwweDRmLDB4MDAsMHhiMywweDgwLDB4MjgsMHhkOCwweDA5LDB4MzIsMHgwMiwweGQyIH0sCi0gIDE2LCAweGM0OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDExLDB4YTgsMHgwMCwweGNlLDB4ODQsMHgzZSwweDgwIH0sCi0gIDE2LCAweGM0YTAsIDAsIHsweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhjZSwweGMwLDB4M2EsMHg4MCwweDA4LDB4YTAsMHgwMywweGE4LDB4MDAsMHhjYSwweDAwIH0sCi0gIDE2LCAweGM0YjAsIDAsIHsweDMzLDB4ODAsMHgwZCwweGVjLDB4MDMsMHgzYiwweDgwLDB4ZWUsMHg4MiwweDMzLDB4ODAsMHgwYSwweGMwLDB4ODcsMHgxMCwweDQwIH0sCi0gIDE2LCAweGM0YzAsIDAsIHsweGY2LDB4YzAsMHgzMywweDkwLDB4YWQsMHg2NCwweDAzLDB4ZmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0ZDAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAyLDB4ZjgsMHgwMCwweDNjLDB4MDAsMHgxZiwweDA0LDB4MDMsMHhhMCwweDA0LDB4ZjgsMHgzMCwweDNlIH0sCi0gIDE2LCAweGM0ZTAsIDAsIHsweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDA0LDB4MGYsMHg4MCwweDkzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweGM0ZjAsIDAsIHsweDEwLDB4M2UsMHgwMCwweDJjLDB4ODQsMHgwMywweGUwLDB4MDAsMHhmOCwweDE4LDB4M2UsMHgxMCwweDBlLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGM1MDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGM1MTAsIDAsIHsweDBlLDB4OTAsMHgwMywweGE0LDB4MTAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDA0LDB4OTAsMHgwMywweDI0LDB4MDAsMHg0MSwweDAwIH0sCi0gIDE2LCAweGM1MjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkxLDB4MTMsMHhlMSwweDA4LDB4ZjgsMHgwMCwweDMyLDB4NDAsMHgwOCwweDg5LDB4ODMsMHhhMiwweDAwIH0sCi0gIDE2LCAweGM1MzAsIDAsIHsweGM5LDB4ODAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDBiLDB4MDIsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1NDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAyLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwZCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlIH0sCi0gIDE2LCAweGM1NTAsIDAsIHsweDQwLDB4NDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4OGIsMHg5NCwweDQyLDB4ZTIsMHgyMCwweGI4IH0sCi0gIDE2LCAweGM1NjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDA4LDB4OTQsMHgwMiwweGU1LDB4MDQsMHhhOSwweDkwLDB4MzQsMHg2MCwweDA4LDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGM1NzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgxMCwweDk5LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweGM1ODAsIDAsIHsweDBhLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjQsMHg0MCwweDBhLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhhOSwweDAwIH0sCi0gIDE2LCAweGM1OTAsIDAsIHsweDJhLDB4NDAsMHgwYiwweDkwLDB4ODIsMHhlMCwweDAxLDB4YjgsMHgwMCwweDIwLDB4NDAsMHgzYSwweDkwLDB4MDIsMHhhNCwweDQ0IH0sCi0gIDE2LCAweGM1YTAsIDAsIHsweDg5LDB4MDQsMHgyMiwweDYyLDB4MDgsMHg5OCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1YjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDhhLDB4ODEsMHgwMCwweDJjLDB4NDgsMHgwOSwweDMyLDB4MDYsMHg0NCwweDgwLDB4YjEsMHgwMCwweDJjIH0sCi0gIDE2LCAweGM1YzAsIDAsIHsweDQ4LDB4MGEsMHgxMiwweDAyLDB4ODQsMHg4MCwweGExLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDAyLDB4YzUsMHgwMCwweGIxIH0sCi0gIDE2LCAweGM1ZDAsIDAsIHsweDQwLDB4MjAsMHg1MCwweDBhLDB4MjQsMHgwMiwweGM5LDB4MDAsMHhhMywweDAwLDB4MjQsMHg0MCwweDA4LDB4MTEsMHgwMiwweDAyIH0sCi0gIDE2LCAweGM1ZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzZSwweDE0IH0sCi0gIDE2LCAweGM1ZjAsIDAsIHsweDBlLDB4ODAsMHgwMywweGUxLDB4NDAsMHhmOCwweDUxLDB4MzYsMHgxNCwweDJlLDB4ODUsMHg0MywweDIxLDB4NDIsMHhlOCwweDUwIH0sCi0gIDE2LCAweGM2MDAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4MTIsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgxZSwweDgwLDB4NDMsMHhhMCwweDAwIH0sCi0gIDE2LCAweGM2MTAsIDAsIHsweGM4LDB4MDEsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2MjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHg0ZSwweDExLDB4MDMsMHhhNCwweDQwLDB4YjUsMHgwMCwweDNlIH0sCi0gIDE2LCAweGM2MzAsIDAsIHsweDQ0LDB4MGQsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGQ5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHg1MCwweDAzLDB4ZTUsMHgwMCwweGY5IH0sCi0gIDE2LCAweGM2NDAsIDAsIHsweDQwLDB4M2YsMHg0MCwweDBkLDB4NDQsMHgwMywweGYxLDB4MDAsMHhmNSwweDAyLDB4M2QsMHhjMCwweDJmLDB4ZDIsMHgwMywweGU2IH0sCi0gIDE2LCAweGM2NTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTcsMHgwMCwweGU5LDB4MDAsMHgzNiwweDYwIH0sCi0gIDE2LCAweGM2NjAsIDAsIHsweDBkLDB4ZGEsMHgwMywweGU2LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg2OCwweDBjLDB4OWEsMHgwMywweDY2LDB4MjAsMHg4OSwweGEwIH0sCi0gIDE2LCAweGM2NzAsIDAsIHsweDMzLDB4NDAsMHgwZSwweDkwLDB4MDcsMHhhNiwweDAwLDB4ZjksMHg4MCwweDNlLDB4NTAsMHgwYywweGNhLDB4MDMsMHhmMywweDgwIH0sCi0gIDE2LCAweGM2ODAsIDAsIHsweGM1LDB4MDIsMHgzMywweDQwLDB4MGMsMHhjMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2OTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDA0LDB4ODgsMHhhMiwweDIwLDB4MzgsMHgwOCwweDgwLDB4MDIsMHhlMywweDQwLDB4YjAsMHg4MCwweDJlIH0sCi0gIDE2LCAweGM2YTAsIDAsIHsweDI4LDB4MDgsMHg4YSwweDgyLDB4MjMsMHg4MCwweDg4LDB4ODAsMHgyMiwweDAwLDB4ZGIsMHg4OCwweDAyLDB4NjIsMHgwNCwweGI4IH0sCi0gIDE2LCAweGM2YjAsIDAsIHsweGIwLDB4MmUsMHhhOCwweDg4LDB4OGUsMHhhMiwweGVhLDB4ODAsMHg4OCwweDAwLDB4MmEsMHgwMCwweDI4LDB4ODgsMHgwMywweDhlIH0sCi0gIDE2LCAweGM2YzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHg4MiwweGE5LDB4MDgsMHgyYywweDUyIH0sCi0gIDE2LCAweGM2ZDAsIDAsIHsweDBiLDB4MTQsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIxLDB4MGMsMHg1MiwweDg4LDB4MTQsMHgwMiwweDQ0LDB4MjAsMHg5MSwweDY5IH0sCi0gIDE2LCAweGM2ZTAsIDAsIHsweDIwLDB4NDAsMHgwYSwweDEwLDB4ODIsMHhjNiwweGUwLDB4YjEsMHgwYywweDJjLDB4NDgsMHgwOCwweDAxLDB4MDIsMHhlMSwweDkzIH0sCi0gIDE2LCAweGM2ZjAsIDAsIHsweGExLDB4MDEsMHgyNCwweDQxLDB4MGEsMHgxMCwweDAyLDB4YzIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3MDAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDAsMHhlNCwweDAwLDB4MzksMHgwMiwweDBlIH0sCi0gIDE2LCAweGM3MTAsIDAsIHsweDQwLDB4MDgsMHgxMCwweDYyLDB4MjQsMHgwMCwweDkxLDB4MDAsMHg2MiwweDQwLDB4OGIsMHg4MCwweDAyLDB4ZTAsMHg1NCwweGI5IH0sCi0gIDE2LCAweGM3MjAsIDAsIHsweDBjLDB4MmUsMHg0MCwweDA5LDB4YjYsMHg1MiwweGVjLDB4MDAsMHhhOSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTIsMHg4MCwweDg2IH0sCi0gIDE2LCAweGM3MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGUxLDB4NjAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGM3NDAsIDAsIHsweDBkLDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDMwLDB4M2UsMHg0MCwweDJjLDB4OTAsMHg0MywweDY0LDB4MDYsMHhjOSwweDAwIH0sCi0gIDE2LCAweGM3NTAsIDAsIHsweDMyLDB4NDksMHgwZSwweDhkLDB4OTMsMHhlMCwweDAwLDB4ZjksMHgwMCwweDJlLDB4NDAsMHgyYywweDk0LDB4MDMsMHhjNywweDQwIH0sCi0gIDE2LCAweGM3NjAsIDAsIHsweGU5LDB4MjAsMHgzMCwweDU1LDB4MGUsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3NzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDFlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg4MCwweDNjIH0sCi0gIDE2LCAweGM3ODAsIDAsIHsweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDQsMHhiZSwweDQwLDB4MGYsMHg4OCwweDMzLDB4NjIsMHgwMCwweGY5IH0sCi0gIDE2LCAweGM3OTAsIDAsIHsweGMyLDB4M2UsMHg0OCwweDJlLDB4ODgsMHgzMywweGUyLDB4MDAsMHhkOSwweDAwLDB4M2UsMHg2MCwweDBkLDB4ODAsMHgwMywweGNhIH0sCi0gIDE2LCAweGM3YTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGM3YjAsIDAsIHsweDBkLDB4ODAsMHgwMywweGEwLDB4MDQsMHhlOCwweDQwLDB4YmEsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDQsMHhjOCwweDAwIH0sCi0gIDE2LCAweGM3YzAsIDAsIHsweDNhLDB4MDAsMHgwZSwweDhjLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMiwweDMyLDB4MDAsMHgwZSwweDgwLDB4MDMsMHg2MSwweDIwIH0sCi0gIDE2LCAweGM3ZDAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDE2LDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3ZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHgwMCwweDJlLDB4ODAsMHgwOCwweGUyLDB4MDMsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIyIH0sCi0gIDE2LCAweGM3ZjAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwNCwweDhhLDB4MDAsMHgyZSwweGEyLDB4MDksMHhlOCwweDAyLDB4ZmEsMHgwNCwweGJlIH0sCi0gIDE2LCAweGM4MDAsIDAsIHsweDAwLDB4YTIsMHg4MCwweDA4LDB4Y2QsMHg4MiwweDMzLDB4MjAsMHhiNiwweGMwLDB4MzcsMHhhMCwweDRiLDB4YzgsMHg4MiwweGNhIH0sCi0gIDE2LCAweGM4MTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyNiwweGMwIH0sCi0gIDE2LCAweGM4MjAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweGVjLDB4MDAsMHg4MywweDAwIH0sCi0gIDE2LCAweGM4MzAsIDAsIHsweDI4LDB4ZTAsMHgwYiwweDMwLDB4MDIsMHhjZSwweDgxLDB4YjMsMHgwMCwweDYyLDB4YzAsMHgwOCwweDNjLDB4MDIsMHg0ZiwweDAwIH0sCi0gIDE2LCAweGM4NDAsIDAsIHsweGIzLDB4YTAsMHgyMCwweGIwLDB4MDMsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4NTAsIDAsIHsweGEwLDB4MDEsMHgwYywweDQxLDB4ODcsMHgzNCwweDJkLDB4YzAsMHgwOCwweDYwLDB4MDIsMHg5ZSwweDQwLDB4YjcsMHhhMCwweDJkIH0sCi0gIDE2LCAweGM4NjAsIDAsIHsweGMwLDB4MDgsMHg3MywweDAyLDB4ZGMsMHgwMCwweDg3LDB4MjAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDgyLDB4ZGQsMHg4NSwweGJmIH0sCi0gIDE2LCAweGM4NzAsIDAsIHsweDgxLDB4NjMsMHhjOCwweDg4LDB4N2IsMHgwMiwweDFjLDB4MDAsMHhiNywweDQwLDB4NjUsMHgwMCwweDFiLDB4NzIsMHgwMiwweGU4IH0sCi0gIDE2LCAweGM4ODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODEsMHgzZCwweGUwIH0sCi0gIDE2LCAweGM4OTAsIDAsIHsweGRkLDB4NzAsMHgwMywweGZlLDB4ODAsMHhmNywweDkwLDB4M2YsMHhlMCwweDJjLDB4NzksMHgwMywweGZlLDB4ODAsMHhjNywweGEwIH0sCi0gIDE2LCAweGM4YTAsIDAsIHsweDM5LDB4ZTAsMHgwZiwweDdhLDB4MDIsMHhkZSwweDg0LDB4ZjcsMHhjMiwweDMxLDB4ZjIsMHgwYywweDc5LDB4MDMsMHg1ZSwweDA0IH0sCi0gIDE2LCAweGM4YjAsIDAsIHsweGY3LDB4ODQsMHgzMSwweDYwLDB4MGYsMHg3ZSwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4YzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDBhLDB4ZmIsMHg2MCwweDdlLDB4ZDQsMHgwZiwweDMwLDB4MDMsMHg2YywweDAwLDB4Y2IsMHgwMCwweDMyIH0sCi0gIDE2LCAweGM4ZDAsIDAsIHsweGRlLDB4MmYsMHhiMiwweDAzLDB4ZWQsMHg0MiwweDFiLDB4NjAsMHgzZSwweGMxLDB4MGQsMHhiMSwweDAzLDB4ZWMsMHg1MCwweGY3IH0sCi0gIDE2LCAweGM4ZTAsIDAsIHsweDgwLDB4M2QsMHhkOCwweDJlLDB4MzIsMHgwMywweGVjLDB4MzAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGM4ZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgwMCwweGNiLDB4ZDAsMHgzZiwweGYwIH0sCi0gIDE2LCAweGM5MDAsIDAsIHsweDRjLDB4ZjgsMHgxMywweGZlLDB4MDAsMHhjZiwweDg4LDB4M2YsMHhlMCwweDBjLDB4ZjgsMHg0MywweDNmLDB4MDAsMHhjZiwweGM4IH0sCi0gIDE2LCAweGM5MTAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDNmLDB4ZTAsMHgyYywweGY4LDB4MDMsMHhiZSwweDIwIH0sCi0gIDE2LCAweGM5MjAsIDAsIHsweGM3LDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOCwweDAxLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5MzAsIDAsIHsweGE4LDB4MDEsMHhiYywweDQwLDB4ODcsMHg5MCwweDNkLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkYywweDgwLDB4ZDcsMHgwMCwweDJkIH0sCi0gIDE2LCAweGM5NDAsIDAsIHsweGMwLDB4MGMsMHgzMCwweDAzLDB4N2MsMHgwMCwweDg3LDB4MTAsMHgyMSwweGM0LDB4MWUsMHg3MCwweDIwLDB4ZGMsMHg0NCwweGI3IH0sCi0gIDE2LCAweGM5NTAsIDAsIHsweDAwLDB4MzksMHhjMCwweDBjLDB4NzEsMHgwMiwweDFjLDB4NDAsMHhkNywweDAyLDB4MjksMHg0MCwweDA4LDB4NzAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGM5NjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg3LDB4MzIsMHgyZCwweGMwIH0sCi0gIDE2LCAweGM5NzAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGRjLDB4MDEsMHg4NywweDAwLDB4MmMsMHhjMCwweDJiLDB4NzAsMHgwYSwweDVjLDB4MDAsMHg4MywweDAwIH0sCi0gIDE2LCAweGM5ODAsIDAsIHsweDIzLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkZCwweDAwLDB4YjcsMHgwMCwweDJkLDB4YzQsMHgwYiwweGYwLDB4MDIsMHg5YywweDIwIH0sCi0gIDE2LCAweGM5OTAsIDAsIHsweDg3LDB4MTgsMHgyOSwweDQwLDB4MDgsMHg3MCwweDgyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5YTAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4ODMsMHgwMiwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHhjYywweDA4LDB4ODMsMHg0MCwweDJlIH0sCi0gIDE2LCAweGM5YjAsIDAsIHsweGMwLDB4MmEsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMCwweGYyLDB4MGEsMHgzMCwweDAyLDB4Y2UsMHgwMCwweGIzIH0sCi0gIDE2LCAweGM5YzAsIDAsIHsweDg4LDB4MmEsMHhkMCwweDBhLDB4MzAsMHgwNiwweDBjLDB4MDAsMHg5MiwweDAwLDB4MjgsMHg3OCwweDA4LDB4M2MsMHg0MiwweDA4IH0sCi0gIDE2LCAweGM5ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMiwweGM3LDB4MDAsMHgyZiwweGMwIH0sCi0gIDE2LCAweGM5ZTAsIDAsIHsweDJjLDB4OTAsMHgwMiwweGZjLDB4MDIsMHg4ZiwweGQ4LDB4M2YsMHhjMCwweDRiLDB4ZjAsMHgwMiwweDdjLDB4MDIsMHhjZiwweDAwIH0sCi0gIDE2LCAweGM5ZjAsIDAsIHsweDIwLDB4ZjIsMHgwOCwweGIwLDB4MTMsMHhlZSwweDgwLDB4ZmYsMHgwMCwweDNmLDB4ZDQsMHgyZSwweGJkLDB4ODMsMHhhYywweDAwIH0sCi0gIDE2LCAweGNhMDAsIDAsIHsweGNiLDB4ODAsMHgzYSwweGEwLDB4YWMsMHhiOCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhMTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgxMCwweDNlLDB4YzAsMHgwZiwweDg0LDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlIH0sCi0gIDE2LCAweGNhMjAsIDAsIHsweGMwLDB4MDEsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHhiZSwweGMwLDB4MGUsMHhiMCwweDIzLDB4ZWMsMHgwOCwweGZiIH0sCi0gIDE2LCAweGNhMzAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBkLDB4YjQsMHgwMywweGVkLDB4MDQsMHhmOSwweDAwLDB4MWUsMHgxNCwweGNmLDB4YjAsMHg4MywweGUwIH0sCi0gIDE2LCAweGNhNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGNmLDB4MDAsMHgzMCwweGMwIH0sCi0gIDE2LCAweGNhNTAsIDAsIHsweDBjLDB4NDAsMHgwMywweGFjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDJjLDB4YjAsMHgwMywweGJjLDB4MDAsMHhmZiwweDAwIH0sCi0gIDE2LCAweGNhNjAsIDAsIHsweGIzLDB4ZTAsMHgwZCwweGZhLDB4MDMsMHg3ZSwweDgwLDB4Y2YsMHgwMCwweDMzLDB4YzAsMHgwYywweGZjLDB4NDMsMHhmZiwweDIwIH0sCi0gIDE2LCAweGNhNzAsIDAsIHsweGZmLDB4MDAsMHgzZiwweDQwLDB4MDgsMHhmOCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhODAsIDAsIHsweDgxLDB4MDQsMHg2YywweDEwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwYSwweDhlLDB4NDIsMHgyYywweDA0LDB4YmIsMHgwMCwweDJlIH0sCi0gIDE2LCAweGNhOTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4NmMsMHgwMCwweGJiLDB4MDAsMHgzYSwweGMwLDB4MGUsMHgzMCwweDAyLDB4MGQsMHgwOCwweDgzIH0sCi0gIDE2LCAweGNhYTAsIDAsIHsweDAyLDB4MjIsMHhjMCwweDBhLDB4YmMsMHgwMiwweGVmLDB4MDAsMHhiYiwweGMwLDB4MmMsMHg2OCwweDBhLDB4YjksMHgwMiwweGUwIH0sCi0gIDE2LCAweGNhYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwIH0sCi0gIDE2LCAweGNhYzAsIDAsIHsweDA4LDB4YjgsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAyLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiYiwweDAwIH0sCi0gIDE2LCAweGNhZDAsIDAsIHsweDI2LDB4NDgsMHgxOSwweGIwLDB4MDIsMHg2ZCwweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlYywweDA0IH0sCi0gIDE2LCAweGNhZTAsIDAsIHsweGJiLDB4MWMsMHgyZSwweDIwLDB4MGEsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhZjAsIDAsIHsweDA4LDB4MTQsMHgwYywweDAwLDB4YWIsMHgyMCwweDI4LDB4YzAsMHgwYSwweDAwLDB4MDIsMHgwYywweDAwLDB4OTMsMHgwNCwweDJjIH0sCi0gIDE2LCAweGNiMDAsIDAsIHsweGMxLDB4MDgsMHgzMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweDQxLDB4MDksMHhiOCwweDAyLDB4MGMsMHgwMiwweDgzIH0sCi0gIDE2LCAweGNiMTAsIDAsIHsweDAxLDB4YTAsMHhjMCwweDBhLDB4MzAsMHgwMiwweGNjLDB4MTAsMHg5MywweDAwLDB4MmMsMHgwMCwweDBhLDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGNiMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4N2MsMHgwMCwweGNmLDB4MjgsMHgzMywweGMwIH0sCi0gIDE2LCAweGNiMzAsIDAsIHsweDBjLDB4YTAsMHg0NiwweGFjLDB4MTEsMHhiZiwweDAwLDB4M2YsMHhjMCwweDVjLDB4ZjAsMHg0MywweGZjLDB4MDAsMHhmZiwweDA0IH0sCi0gIDE2LCAweGNiNDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweGIwLDB4MDMsMHg2YywweDA4LDB4Y2IsMHgwNCwweDMxLDB4YzAsMHgwYywweGIwLDB4MzMsMHhlZCwweDQwIH0sCi0gIDE2LCAweGNiNTAsIDAsIHsweGZiLDB4MDQsMHgzZSwweDQwLDB4MGUsMHhiMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiNjAsIDAsIHsweGEwLDB4MTUsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MjMsMHhmYywweDAxLDB4ZmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweGNiNzAsIDAsIHsweGMwLDB4NGYsMHhmMCwweDg3LDB4N2MsMHgwMCwweGZmLDB4MDAsMHgzOSwweDQwLDB4MGUsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGNiODAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4NzAsMHgwMywweGRjLDB4ODAsMHhmZiwweDAwLDB4M2QsMHg0MCwweDBmLDB4NzAsMHgwMywweGU4IH0sCi0gIDE2LCAweGNiOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg0MCwweGViLDB4NDgsMHgzZSwweGMyIH0sCi0gIDE2LCAweGNiYTAsIDAsIHsweDBlLDB4MDksMHgwMywweGJjLDB4NjAsMHhjMCwweDIwLDB4MzUsMHgyNCwweDBlLDB4ZDIsMHgxMywweDJjLDB4NjAsMHhmYiwweDZhIH0sCi0gIDE2LCAweGNiYjAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGNhLDB4MDMsMHgyMiwweDIwLDB4YzAsMHg4MCwweDM3LDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwIH0sCi0gIDE2LCAweGNiYzAsIDAsIHsweGVmLDB4MDAsMHgzMywweDI0LDB4MGYsMHhjOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiZDAsIDAsIHsweDgwLDB4MTAsMHhkZCwweDAwLDB4OGYsMHg2MCwweDJmLDB4ZDgsMHgwOCwweGEyLDB4MDIsMHhmZCwweDgwLDB4YzgsMHg3MCwweDIyIH0sCi0gIDE2LCAweGNiZTAsIDAsIHsweDAwLDB4MmMsMHhmZCwweDA3LDB4ZGMsMHg4NCwweGJmLDB4NjAsMHgyMywweGQyLDB4MGIsMHhiZCwweDAyLDB4MjMsMHgwMCwweDg4IH0sCi0gIDE2LCAweGNiZjAsIDAsIHsweDgwLDB4YTIsMHgyMCwweDg4LDB4YjAsMHgyMiwweDM0LDB4MDAsMHhiYiwweDUwLDB4MjIsMHhjOCwweDBiLDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGNjMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg0MCwweGEzLDB4MDMsMHgyYywweGMyIH0sCi0gIDE2LCAweGNjMTAsIDAsIHsweDBhLDB4MDAsMHg0MiwweDhjLDB4ODIsMHhhMywweDBhLDB4MjQsMHg4MCwweDBiLDB4MzAsMHgwMiwweGNjLDB4OTAsMHhiMywweDAwIH0sCi0gIDE2LCAweGNjMjAsIDAsIHsweDI4LDB4ZDgsMHgwYiwweDEwLDB4MDIsMHg4YywweDAyLDB4OTAsMHgwMCwweDIwLDB4YzAsMHgwYiwweDEwLDB4NDIsMHg0YywweDAwIH0sCi0gIDE2LCAweGNjMzAsIDAsIHsweGIzLDB4MDQsMHgyNCwweGMwLDB4MGIsMHgzMCwweDBlLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjNDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4OWIsMHgwNCwweDJjLDB4YzAsMHhmOCwweDk4LDB4MDYsMHhlYywweDAwLDB4YWIsMHg4MCwweDI2IH0sCi0gIDE2LCAweGNjNTAsIDAsIHsweDIwLDB4MDgsMHg5MCwweDJhLDB4YWMsMHgxMCwweGJiLDB4MDAsMHgwYSwweGMwLDB4MWIsMHhiMCwweDIyLDB4YWQsMHgwMCwweDk4IH0sCi0gIDE2LCAweGNjNjAsIDAsIHsweDQwLDB4MmEsMHg3MCwweDRiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiMywweDAwLDB4YTYsMHg4NiwweDFiLDB4YjAsMHg4MiwweGIwIH0sCi0gIDE2LCAweGNjNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGNjODAsIDAsIHsweDhlLDB4OTgsMHgwMywweGFjLDB4MDgsMHhlOCwweGMwLDB4MzYsMHgzMCwweDRmLDB4YjAsMHg0MiwweGVjLDB4MDAsMHhmOSwweDgwIH0sCi0gIDE2LCAweGNjOTAsIDAsIHsweDNhLDB4YzAsMHg4ZiwweDg4LDB4NDIsMHgyMCwweDEwLDB4YzgsMHgxMCwweDMwLDB4ZjAsMHgwZiwweDMwLDB4MTMsMHg2YywweDEwIH0sCi0gIDE2LCAweGNjYTAsIDAsIHsweGViLDB4MDAsMHgzNiwweGYwLDB4MGYsMHhiZCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjYjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZWYsMHgwNCwweDdmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHhkYywweDAwLDB4YzQsMHgwMCwweDNiIH0sCi0gIDE2LCAweGNjYzAsIDAsIHsweDQwLDB4OGIsMHhkYywweDAzLDB4N2MsMHgxMCwweGY5LDB4OTAsMHgzNiwweGMyLDB4NGYsMHhmOSwweDIzLDB4NjIsMHg0MSwweGFjIH0sCi0gIDE2LCAweGNjZDAsIDAsIHsweDAxLDB4MTMsMHg0MCwweDA0LDB4YjAsMHgwMywweGU0LDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4YzAsMHgwMywweDc4IH0sCi0gIDE2LCAweGNjZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgxMiwweGNiLDB4MDAsMHhmMiwweGMwIH0sCi0gIDE2LCAweGNjZjAsIDAsIHsweDBmLDB4ODAsMHgwMywweGFjLDB4MDgsMHhkOSwweDAwLDB4M2EsMHg4MCwweDBmLDB4MTIsMHgwMywweGFjLDB4MDAsMHhlMSwweDAwIH0sCi0gIDE2LCAweGNkMDAsIDAsIHsweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhlZCwweDAyLDB4YzgsMHg0MCwweDNlLDB4ZDAsMHgwZiwweDkwLDB4MTMsMHgyYywweDAyIH0sCi0gIDE2LCAweGNkMTAsIDAsIHsweGRiLDB4MDAsMHgzZSwweDUwLDB4MGMsMHhiNCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkMjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4OGYsMHgwMCwweDE3LDB4YzAsMHgwOCwweDkwLDB4MDIsMHgzYywweDA4LDB4OGQsMHgwMCwweDIyIH0sCi0gIDE2LCAweGNkMzAsIDAsIHsweDU0LDB4MDgsMHhiNCwweDAzLDB4M2MsMHgwMCwweDg5LDB4MDAsMHgyMywweGMwLDB4NDAsMHgzNSwweDAyLDB4Y2MsMHgyNCwweDgwIH0sCi0gIDE2LCAweGNkNDAsIDAsIHsweDAwLDB4MjIsMHg3NCwweDRjLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4ZiwweDAwLDB4MmUsMHhkNCwweDBhLDB4YjAsMHgwYSwweDMyIH0sCi0gIDE2LCAweGNkNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4NGMsMHgwMiwweDgzLDB4MDAsMHgyNCwweGMwIH0sCi0gIDE2LCAweGNkNjAsIDAsIHsweDA5LDB4MDAsMHgwMiwweDhjLDB4MDEsMHg5MCwweDAwLDB4NmEsMHg0MSwweDBhLDB4MzAsMHgyMCwweDRlLDB4MTAsMHgzMSwweDAyIH0sCi0gIDE2LCAweGNkNzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDIwLDB4MDYsMHhjZSwweDAwLDB4ODAsMHgwMCwweDYwLDB4ZTAsMHgwYSwweDMwLDB4ODIsMHgwYywweDA4IH0sCi0gIDE2LCAweGNkODAsIDAsIHsweDgzLDB4MDgsMHgyYywweGQwLDB4MDksMHhiMCwweDAyLDB4NzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4ODcsMHhiMCwweDIwLDB4ZWMsMHgwOSwweGU5LDB4MDIsMHg4ZSwweDU4LDB4OWQsMHhiMCwweDJiIH0sCi0gIDE2LCAweGNkYTAsIDAsIHsweGE1LDB4NDAsMHg1YiwweDA2LDB4ZGUsMHg0MCwweDk1LDB4OTQsMHgyZCwweGU0LDB4MTksMHg3YiwweDA2LDB4ZGUsMHgwMCwweDg0IH0sCi0gIDE2LCAweGNkYjAsIDAsIHsweDgwLDB4NjAsMHhlMCwweDBhLDB4NzgsMHgwYSwweDE2LDB4MTAsMHg4NywweDgwLDB4MmQsMHg2OCwweDBiLDB4NzksMHgwMiwweDQ4IH0sCi0gIDE2LCAweGNkYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGNiLDB4YTAsMHgyNCwweGUwIH0sCi0gIDE2LCAweGNkZDAsIDAsIHsweDBmLDB4MmEsMHgwMywweDhlLDB4MDAsMHhkMiwweGQwLDB4MzgsMHhmYSwweDBmLDB4MTgsMHhjMywweGNlLDB4MjQsMHgzMSwweGIwIH0sCi0gIDE2LCAweGNkZTAsIDAsIHsweDNjLDB4ZTUsMHgwYywweDNiLDB4MTcsMHhjZSwweDA0LDB4YzAsMHg4MiwweDM4LDB4YzIsMHg5ZSwweDEwLDB4MDMsMHgwYywweDAwIH0sCi0gIDE2LCAweGNkZjAsIDAsIHsweGMzLDB4MDEsMHgzZSwweGMwLDB4MGQsMHg4MSwweDAzLDB4NTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlMDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZWYsMHgxMCwweDNlLDB4YzIsMHgwZSwweGIxLDB4MjMsMHgyYywweGMxLDB4YWIsMHgwMSwweDM2IH0sCi0gIDE2LCAweGNlMTAsIDAsIHsweDgwLDB4MGYsMHhiMCwweDIzLDB4MmQsMHg5MCwweGU5LDB4ODQsMHg3MiwweGM4LDB4NjIsMHhmMSwweDE3LDB4ZmMsMHgwMCwweGZjIH0sCi0gIDE2LCAweGNlMjAsIDAsIHsweDAwLDB4M2IsMHhjNCwweDFkLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhlZiwweDA4LDB4M2YsMHhjOCwweDBlLDB4ZjEsMHgwMywweDkwIH0sCi0gIDE2LCAweGNlMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg4MCwweGZiLDB4YTQsMHgzYSwweGM4IH0sCi0gIDE2LCAweGNlNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDJjLDB4MDQsMHhjYSwweDAwLDB4MzAsMHg2MCwweDJkLDB4MWEsMHgyNywweDZjLDB4ODQsMHhjYiwweDYwIH0sCi0gIDE2LCAweGNlNTAsIDAsIHsweDMyLDB4ZDIsMHgwYywweGEwLDB4MTMsMHgyZCwweDg0LDB4Y2IsMHgwMiwweDNlLDB4YzAsMHgwZCwweGI4LDB4MDMsMHhhYywweDgwIH0sCi0gIDE2LCAweGNlNjAsIDAsIHsweGNiLDB4ODEsMHgzMiwweDgwLDB4MGMsMHhiMCwweDAzLDB4YWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlNzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweGE0LDB4YjcsMHgyOCwweDczLDB4YzIsMHgwOCwweGYwLDB4MDIsMHgzYywweGMwLDB4OGYsMHgwMCwweDMxIH0sCi0gIDE2LCAweGNlODAsIDAsIHsweGMwLDB4MDksMHg3MCwweDgyLDB4OWMsMHg4MCwweDg3LDB4MGMsMHgyMCwweGQ4LDB4MDksMHg3MCwweDIyLDB4MWMsMHgzMCwweDg0IH0sCi0gIDE2LCAweGNlOTAsIDAsIHsweDAwLDB4M2QsMHhjMCwweDA4LDB4NzAsMHgwMiwweDE0LDB4MjQsMHg4NywweGEwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgxMiwweDEyIH0sCi0gIDE2LCAweGNlYTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg0MCwweGIzLDB4OTUsMHgyOSwweGU5IH0sCi0gIDE2LCAweGNlYjAsIDAsIHsweDBhLDB4NjgsMHgwMiwweDllLDB4ZDAsMHg4NiwweGYwLDB4YTMsMHhlMCwweDA4LDB4NzgsMHgxMiwweDllLDB4NDQsMHhhMywweDgyIH0sCi0gIDE2LCAweGNlYzAsIDAsIHsweDIxLDB4ZTgsMHgwYiwweDM4LDB4MDIsMHgwZSwweDEwLDB4ODcsMHg4MCwweDJmLDB4ZTAsMHgwYiwweDE4LDB4MDIsMHg4ZSwweDAyIH0sCi0gIDE2LCAweGNlZDAsIDAsIHsweDg3LDB4MDAsMHgyMSwweGUwLDB4MDgsMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHg0OCwweDMwLDB4MDIsMHgwYywweDA0LDB4ODMsMHg4MCwweDIwIH0sCi0gIDE2LCAweGNlZjAsIDAsIHsweGQwLDB4MDksMHgxMCwweDAyLDB4OGMsMHgwNiwweGEzLDB4ODAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMiwweDgwIH0sCi0gIDE2LCAweGNmMDAsIDAsIHsweDQwLDB4MjgsMHhkMiwweDBhLDB4MzAsMHgwMiwweDBjLDB4MDEsMHg4MywweDAwLDB4MjIsMHgzYywweDA4LDB4ODcsMHgwMiwweDEyIH0sCi0gIDE2LCAweGNmMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgxOCwweGZhLDB4MDAsMHgzYSwweDgwIH0sCi0gIDE2LCAweGNmMjAsIDAsIHsweDhlLDB4ZTQsMHg0MiwweDI4LDB4MDIsMHhjZSwweDgwLDB4MzMsMHg4MCwweDRkLDB4YTAsMHg4MywweGU4LDB4MDAsMHhlYSwweGEwIH0sCi0gIDE2LCAweGNmMzAsIDAsIHsweGIyLDB4ODAsMHgwYSwweGEwLDB4MGEsMHgyOCwweDAwLDB4Y2UsMHgxOCwweDJmLDB4ODAsMHgwZiwweGEwLDB4MTMsMHhhOCwweDAwIH0sCi0gIDE2LCAweGNmNDAsIDAsIHsweGNhLDB4MDAsMHgzMiwweDkwLDB4MmMsMHhhYywweDBiLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwNCwweDNhLDB4MDAsMHgwZiwweDgwLDB4ODMsMHhjMCwweDA4LDB4ZTgsMHgwMywweDNhIH0sCi0gIDE2LCAweGNmNjAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDIyLDB4YzAsMHgwMCwweGQwLDB4MDAsMHg3ZSwweDEwLDB4YTQsMHg4MCwweDAzLDB4YzAsMHgwMCwweGY4IH0sCi0gIDE2LCAweGNmNzAsIDAsIHsweDAwLDB4M2UsMHgxMCwweDBkLDB4ODQsMHgwMywweGMwLDB4MDAsMHhmOCwweDAwLDB4YmUsMHgwMCwweDBmLDB4ODAsMHgwMSwweDUyIH0sCi0gIDE2LCAweGNmODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMiwweGM5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGNmOTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDY0LDB4MDIsMHg4OSwweDA0LDB4MzIsMHg0MiwweDBkLDB4OTIsMHgwMywweGU2LDB4NDIsMHhjOSwweDAwIH0sCi0gIDE2LCAweGNmYTAsIDAsIHsweDMyLDB4NzAsMHgwZSwweDEyLDB4MGIsMHgyNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NDUsMHgwZSwweDk5LDB4MDMsMHhlNCwweDAyIH0sCi0gIDE2LCAweGNmYjAsIDAsIHsweGMxLDB4MDAsMHgzMiwweDUwLDB4MDQsMHg5NCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmYzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDIyIH0sCi0gIDE2LCAweGNmZDAsIDAsIHsweDU0LDB4MGIsMHg5MCwweDAzLDB4ZTYsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGNmZTAsIDAsIHsweDAwLDB4MzgsMHg0OCwweDA4LDB4OTAsMHg4MiwweGU0LDB4MDQsMHhkOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGNmZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4MDEsMHgyYywweDQwIH0sCi0gIDE2LCAweGQwMDAsIDAsIHsweDI4LDB4MTAsMHg0MiwweDY0LDB4MDAsMHhhMSwweDA0LDB4MjIsMHg1MCwweDAxLDB4OTAsMHg0MiwweGU0LDB4MDAsMHg4OSwweDA0IH0sCi0gIDE2LCAweGQwMTAsIDAsIHsweDIwLDB4NDIsMHgwYSwweDkwLDB4NDIsMHgzNCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDAsMHgwYSwweDkwLDB4MDAsMHhlNCwweDAwIH0sCi0gIDE2LCAweGQwMjAsIDAsIHsweDg5LDB4MDAsMHgyMywweDQwLDB4MGEsMHhkMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyNCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MDIsMHgwNCwweDgwLDB4YTEsMHgyMCwweDI4IH0sCi0gIDE2LCAweGQwNDAsIDAsIHsweDQwLDB4MGIsMHgxMCwweDAyLDB4ODUsMHg4MCwweDgxLDB4MjAsMHgyMCwweDQ4LDB4MDgsMHg1MCwweDYyLDB4MTQsMHgwMiwweDgxIH0sCi0gIDE2LCAweGQwNTAsIDAsIHsweDAzLDB4MmUsMHg0MCwweDg4LDB4MTYsMHg4MiwweGM0LDB4YTAsMHg5MSwweDI4LDB4MjEsMHg0MCwweDJhLDB4NTAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGQwNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGM4LDB4NTAsMHgyZSwweDE0IH0sCi0gIDE2LCAweGQwNzAsIDAsIHsweDBjLDB4ODUsMHgwMywweDYxLDB4NDAsMHhlOCwweDUwLDB4YjIsMHgxNSwweDRkLDB4ODAsMHgwMiwweGMwLDB4MDAsMHg0OCwweDUwIH0sCi0gIDE2LCAweGQwODAsIDAsIHsweGIyLDB4MTUsMHgxYSwweDgwLDB4MTMsMHgzMCwweDA4LDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgyLDB4MDMsMHhlMCwweDgwIH0sCi0gIDE2LCAweGQwOTAsIDAsIHsweGMwLDB4MjAsMHgzMCwweDAwLDB4MGUsMHg0MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQ4LDB4ZGQsMHgxMCwweDM3IH0sCi0gIDE2LCAweGQwYjAsIDAsIHsweDQwLDB4MGYsMHhkNCwweDA3LDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzZSwweDQ1LDB4MGYsMHg5NCwweDAzLDB4ZTUsMHgwOCwweGZkIH0sCi0gIDE2LCAweGQwYzAsIDAsIHsweDAyLDB4MzksMHhkMCwweDBmLDB4ZDAsMHg0MywweGY0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YiwweDBkLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweGQwZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg4MCwweGM5LDB4YTYsMHgzMiwweDY4IH0sCi0gIDE2LCAweGQwZTAsIDAsIHsweDBjLDB4OTAsMHgwMywweGE2LDB4ODEsMHhlOSwweGU5LDB4M2IsMHg0MCwweDBlLDB4NTgsMHgwMywweDM2LDB4MjAsMHhjOSwweGEwIH0sCi0gIDE2LCAweGQwZjAsIDAsIHsweDM3LDB4NzgsMHgwZCwweGRhLDB4MDMsMHgzNiwweDI2LDB4YzUsMHgwMCwweDM3LDB4NjksMHgwZSwweGRlLDB4MDMsMHhhNiwweDgyIH0sCi0gIDE2LCAweGQxMDAsIDAsIHsweGNkLDB4YzAsMHgzMywweDUwLDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxMTAsIDAsIHsweDM4LDB4MTAsMHhlMywweGE0LDB4ODgsMHhhOSwweDIyLDB4M2EsMHgwOCwweDA4LDB4MDAsMHgyMiwweGEwLDB4YjgsMHhlNSwweDMwIH0sCi0gIDE2LCAweGQxMjAsIDAsIHsweDIwLDB4MjgsMHg4MCwweDIyLDB4NDMsMHhhMCwweDA4LDB4ZTgsMHgyYSwweDNkLDB4MDgsMHhhNCwweDYyLDB4MjAsMHgwMCwweDg4IH0sCi0gIDE2LCAweGQxMzAsIDAsIHsweDAwLDB4MmUsMHgxMCwweDA4LDB4OGUsMHgwMywweDIzLDB4YTAsMHg4OCwweGEwLDB4MjAsMHgyOCwweDBiLDB4OGEsMHg4MiwweDBlIH0sCi0gIDE2LCAweGQxNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg0MCwweDkxLDB4NDAsMHgyMCwweDQ0IH0sCi0gIDE2LCAweGQxNTAsIDAsIHsweDA4LDB4OTAsMHhhMiwweDg1LDB4MTAsMHhhMSwweDIwLDB4MmMsMHg0MiwweDBiLDB4MTQsMHgxMiwweDhjLDB4MDEsMHg5MSwweDEwIH0sCi0gIDE2LCAweGQxNjAsIDAsIHsweDJjLDB4NDgsMHgwOSwweDExLDB4MGEsMHhjNCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NTAsMHgwYiwweDExLDB4MTIsMHhjNSwweDAxIH0sCi0gIDE2LCAweGQxNzAsIDAsIHsweGIxLDB4NDAsMHgyNCwweDQ4LDB4MGIsMHgxOCwweDBlLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4OTEsMHgwMCwweDIyLDB4NDEsMHgwOCwweDk0LDB4NDIsMHgyNCwweDAwLDB4YjEsMHg0MCwweDIwIH0sCi0gIDE2LCAweGQxOTAsIDAsIHsweDQwLDB4NDksMHhiMiwweDYyLDB4MjQsMHgwMCwweDk5LDB4MDAsMHgwYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTUsMHg4MCwweDg5IH0sCi0gIDE2LCAweGQxYTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDA5LDB4YjAsMHgwMiwweDI0LDB4ODAsMHhiOSwweDAwLDB4MjYsMHg1MCwweDRiLDB4OTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweGQxYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMiwweGQ5LDB4MDAsMHhiMiwweDQwIH0sCi0gIDE2LCAweGQxYzAsIDAsIHsweDJjLDB4OTUsMHgxMywweGE0LDB4MTAsMHhlOSwweDAwLDB4YmUsMHg2MCwweDhmLDB4OTAsMHgwYiwweGE0LDB4MTAsMHg1OSwweDAwIH0sCi0gIDE2LCAweGQxZDAsIDAsIHsweDFlLDB4NDAsMHg5ZCwweDk0LDB4MjMsMHhlNCwweDAyLDB4ODksMHgwMCwweDM0LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDA4IH0sCi0gIDE2LCAweGQxZTAsIDAsIHsweDc5LDB4MDAsMHhiNiwweDQwLDB4MDcsMHg5OCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxZjAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAwLDB4ZTksMHgwMiwweDNjLDB4NDAsMHgyZiwweDk4LDB4MDIsMHhlNCwweDAwLDB4ZjksMHg0MiwweDNhIH0sCi0gIDE2LCAweGQyMDAsIDAsIHsweDY4LDB4MGEsMHgxMCwweDAzLDB4ZTQsMHgxMCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDBmLDB4MjYsMHgwMCwweGY5IH0sCi0gIDE2LCAweGQyMTAsIDAsIHsweDA0LDB4M2UsMHg0MCwweDBlLDB4MWMsMHgwMywweGU2LDB4MDAsMHhjMSwweDAwLDB4M2EsMHg1MCwweDBmLDB4OTksMHg4MywweGNhIH0sCi0gIDE2LCAweGQyMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGU4LDB4MDAsMHgzYSwweDAwIH0sCi0gIDE2LCAweGQyMzAsIDAsIHsweDBjLDB4ODQsMHgwMywweDIwLDB4MDAsMHhkOCwweDQyLDB4MzIsMHgwNCwweDBjLDB4ODgsMHgxMywweGUwLDB4MDAsMHhjOCwweDAwIH0sCi0gIDE2LCAweGQyNDAsIDAsIHsweDMwLDB4MDAsMHgwYywweDA0LDB4MGIsMHgwMCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgwZSwweDgwLDB4MjMsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyNTAsIDAsIHsweGM4LDB4ODAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAxLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDEwLDB4OGEsMHgwMCwweDJlLDB4ODAsMHgyOCwweDIwLDB4MjIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIzIH0sCi0gIDE2LCAweGQyNzAsIDAsIHsweGIwLDB4ODgsMHhlMCwweDAyLDB4MjgsMHgxMCwweGRhLDB4MDAsMHhhMywweGI0LDB4MDgsMHhlOCwweDEwLDB4MjgsMHgwMCwweDhlIH0sCi0gIDE2LCAweGQyODAsIDAsIHsweDIwLDB4MjMsMHhhMCwweDQ4LDB4ZWQsMHgxYSwweDI4LDB4MDAsMHhkZSwweDAwLDB4MjMsMHg5MCwweDBhLDB4ZTAsMHgwMiwweDBhIH0sCi0gIDE2LCAweGQyOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGEzLDB4MDAsMHgyOCwweGMwIH0sCi0gIDE2LCAweGQyYTAsIDAsIHsweDA4LDB4MzAsMHgwYSwweDBjLDB4MDAsMHg5MywweDAwLDB4MjAsMHhjMiwweDJhLDB4MzAsMHgyMiwweGE0LDB4MDAsMHhiYiwweDAwIH0sCi0gIDE2LCAweGQyYjAsIDAsIHsweDA4LDB4ZTAsMHgxOCwweDA5LDB4MGEsMHg0YywweDAwLDB4OTMsMHgwMiwweDI0LDB4ZTgsMHgwMiwweDA4LDB4MDYsMHg0YywweDAwIH0sCi0gIDE2LCAweGQyYzAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGQ4LDB4MGEsMHg5MCwweDAyLDB4NGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDgwLDB4ODcsMHgwNCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwZSwweDAwLDB4ODcsMHgxMCwweDI1IH0sCi0gIDE2LCAweGQyZTAsIDAsIHsweDAwLDB4MGEsMHg2MCwweDAyLDB4NWUsMHgwMCwweDk3LDB4MDAsMHgyOSwweDgyLDB4MDgsMHg1MCwweDEyLDB4NTQsMHgwMCwweDhmIH0sCi0gIDE2LCAweGQyZjAsIDAsIHsweDgwLDB4NjEsMHhkMCwweDA4LDB4MDQsMHgwMiwweDVjLDB4MDEsMHhiNywweDA4LDB4YTksMHhhMCwweDBhLDB4NTAsMHg4MiwweDY4IH0sCi0gIDE2LCAweGQzMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHg4MCwweGU3LDB4ODAsMHgzOCwweGU0IH0sCi0gIDE2LCAweGQzMTAsIDAsIHsweDA4LDB4N2UsMHgwMywweDFmLDB4MDAsMHhkZiwweDgwLDB4YjEsMHgyMSwweDFlLDB4NzgsMHgwMywweGRjLDB4MDQsMHhmMywweDgwIH0sCi0gIDE2LCAweGQzMjAsIDAsIHsweDViLDB4ZTEsMHgwOCwweDI4LDB4MDMsMHg1ZSwweDAwLDB4ZDcsMHg4MCwweDM1LDB4NjAsMHgwZSwweDY4LDB4MDMsMHg0ZSwweDAwIH0sCi0gIDE2LCAweGQzMzAsIDAsIHsweGRmLDB4ODAsMHgzMSwweGUwLDB4MGUsMHhmOCwweDBiLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzNDAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDAyLDB4ZmIsMHg3NCwweDNlLDB4ZDAsMHg0ZiwweGIyLDB4ODMsMHhlZCwweDAwLDB4N2IsMHg2OCwweDNhIH0sCi0gIDE2LCAweGQzNTAsIDAsIHsweDAwLDB4OGQsMHg4MCwweDAzLDB4YTQsMHgyMCwweGRiLDB4MDEsMHgzNiwweDgwLDB4NmYsMHhiMCwweDQxLDB4ODQsMHgwMCwweGViIH0sCi0gIDE2LCAweGQzNjAsIDAsIHsweDAwLDB4M2MsMHhjMCwweDBmLDB4ZTYsMHg4MywweGJjLDB4NDAsMHhkYiwweDAwLDB4YjYsMHg4MCwweDBmLDB4YjAsMHgwMywweDgyIH0sCi0gIDE2LCAweGQzNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgyMCwweGRmLDB4YzAsMHgzYiwweGU2IH0sCi0gIDE2LCAweGQzODAsIDAsIHsweDBlLDB4ZjgsMHgxMywweGZmLDB4NDQsMHhjNywweDgyLDB4M2IsMHhlMCwweDBmLDB4ZjksMHgwMywweGJlLDB4MTAsMHhjZiwweGM4IH0sCi0gIDE2LCAweGQzOTAsIDAsIHsweDMzLDB4NjAsMHg4ZCwweGViLDB4MDMsMHgzZSwweDAwLDB4ZGIsMHg4MiwweDNmLDB4ZTAsMHgwYywweGQ4LDB4MDMsMHgzZSwweDQwIH0sCi0gIDE2LCAweGQzYTAsIDAsIHsweGNlLDB4ODAsMHgzMywweGU0LDB4MGYsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzYjAsIDAsIHsweGE4LDB4MTEsMHhiYywweDQwLDB4ODcsMHgwMCwweDIxLDB4ZTQsMHgwYiwweDc4LDB4YTIsMHhjZSwweDkwLDB4YzcsMHhiMCwweDIwIH0sCi0gIDE2LCAweGQzYzAsIDAsIHsweGU4LDB4MGIsMHgyOCwweDkyLDB4YjYsMHg4OCwweDg3LDB4YTAsMHgyMCwweDY0LDB4MGIsMHgzNSwweDAzLDB4MTQsMHgwMCwweDg3IH0sCi0gIDE2LCAweGQzZDAsIDAsIHsweGIyLDB4MzksMHhjMCwweDJjLDB4YzAsMHgwMywweDVlLDB4MDIsMHhjZiwweDAwLDB4MzEsMHhjZSwweDBiLDB4NzYsMHgxMiwweDJhIH0sCi0gIDE2LCAweGQzZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGEzLDB4MTAsMHgyOSwweGM4IH0sCi0gIDE2LCAweGQzZjAsIDAsIHsweDBiLDB4NzQsMHgwMiwweGRjLDB4ODAsMHg4ZiwweDAwLDB4MjksMHhjYywweDBhLDB4MzAsMHgwNiwweDE0LDB4ODAsMHg4NywweDEwIH0sCi0gIDE2LCAweGQ0MDAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDY2LDB4MDIsMHg1YywweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUxLDB4MDIsMHgxYywweDgwIH0sCi0gIDE2LCAweGQ0MTAsIDAsIHsweDk2LDB4MDAsMHgyMSwweGMwLDB4NWIsMHg3NCwweDgyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0MjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDA4LDB4YTMsMHgwMCwweDIwLDB4YzAsMHgwYiwweGI4LDB4MDIsMHhjYywweDAwLDB4OGIsMHg0MCwweGE4IH0sCi0gIDE2LCAweGQ0MzAsIDAsIHsweGMwLDB4OGIsMHgwOCwweDIyLDB4OGMsMHgwMiwweDgzLDB4MDAsMHg2MCwweGMwLDB4MGIsMHgzMCwweDQyLDB4MDQsMHgwMCwweDgzIH0sCi0gIDE2LCAweGQ0NDAsIDAsIHsweDQwLDB4MjgsMHhmYywweDhhLDB4MDAsMHgwMiwweDZlLDB4MDAsMHg4MywweDAwLDB4YTAsMHhkMCwweDhiLDB4MzgsMHgwMiwweDA4IH0sCi0gIDE2LCAweGQ0NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMiwweGVmLDB4MDAsMHgzYiwweGMwIH0sCi0gIDE2LCAweGQ0NjAsIDAsIHsweDRmLDB4ZjgsMHgwMiwweGZjLDB4MDIsMHhjZiwweDAwLDB4MzgsMHgxMiwweDBlLDB4OTgsMHgwMiwweDJjLDB4MDAsMHhjZiwweDAwIH0sCi0gIDE2LCAweGQ0NzAsIDAsIHsweDMyLDB4YzAsMHgwOSwweDkwLDB4MDMsMHg2NCwweDAyLDB4ODEsMHhjMCwweDNlLDB4ZDAsMHgwZiwweDkwLDB4MDcsMHgzYywweDAzIH0sCi0gIDE2LCAweGQ0ODAsIDAsIHsweGQ5LDB4MDAsMHgzMiwweDYwLDB4MGYsMHg4OCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0OTAsIDAsIHsweDgwLDB4MDAsMHhjYywweDAwLDB4ZGIsMHgwMCwweDNlLDB4YzAsMHg4ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMiwweDM2IH0sCi0gIDE2LCAweGQ0YTAsIDAsIHsweGMwLDB4NGYsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHhiZSwweDkwLDB4MGYsMHg5YywweDEzLDB4ZWMsMHgwMCwweGU5IH0sCi0gIDE2LCAweGQ0YjAsIDAsIHsweDE4LDB4M2EsMHhkMCwweDA0LDB4ZDUsMHgwMywweGVjLDB4NDAsMHhlOSwweDAwLDB4M2EsMHgwMCwweDhmLDB4ODAsMHgwMywweGUwIH0sCi0gIDE2LCAweGQ0YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGNmLDB4MDAsMHgzZCwweGMxIH0sCi0gIDE2LCAweGQ0ZDAsIDAsIHsweDhjLDB4ZjAsMHgwMywweDJjLDB4MDAsMHhlZiwweDBhLDB4YjMsMHgxMiwweDJjLDB4NzAsMHgyMywweDE0LDB4MGEsMHg0ZiwweDAwIH0sCi0gIDE2LCAweGQ0ZTAsIDAsIHsweDM1LDB4NjAsMHgwZCwweGIwLDB4MDMsMHgwNCwweDAwLDB4Y2QsMHg4MCwweDA3LDB4ZTgsMHgwYywweGM0LDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGQ0ZjAsIDAsIHsweGNkLDB4MDAsMHgzMSwweGUyLDB4MmMsMHhlMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1MDAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAyLDB4YWIsMHgwMiwweDJlLDB4YzAsMHgwZSwweGIwLDB4MDIsMHgyYywweDAwLDB4OGIsMHgwMCwweDMyIH0sCi0gIDE2LCAweGQ1MTAsIDAsIHsweDMwLDB4MDAsMHg5YywweDAzLDB4NmMsMHgwMCwweDhiLDB4MDQsMHgyMiwweDM2LDB4MDgsMHgzNCwweDRhLDB4MmMsMHgwOCwweDg5IH0sCi0gIDE2LCAweGQ1MjAsIDAsIHsweDkwLDB4MjAsMHhiOCwweDBmLDB4ODQsMHgwMCwweGFjLDB4MDIsMHg4OSwweDAwLDB4MzYsMHhhMCwweDA4LDB4YTQsMHgwMiwweDIwIH0sCi0gIDE2LCAweGQ1MzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweGMwIH0sCi0gIDE2LCAweGQ1NDAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhkMSwweDA4LDB4ODgsMHgxMiwweDI2LDB4MDAsMHhhMywweDAwIH0sCi0gIDE2LCAweGQ1NTAsIDAsIHsweDI2LDB4NDAsMHgwYiwweGIwLDB4MDIsMHgyNiwweDAwLDB4OGIsMHgwMCwweDI2LDB4YzAsMHg1OCwweDEwLDB4MTIsMHgyYywweDA0IH0sCi0gIDE2LCAweGQ1NjAsIDAsIHsweDgyLDB4ODAsMHgyYSwweDQ5LDB4MDgsMHgzMCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1NzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YTMsMHgxNCwweDJjLDB4YzgsMHgxYSwweDM0LDB4OGEsMHgwYywweDg0LDB4ODMsMHg0MCwweDIyIH0sCi0gIDE2LCAweGQ1ODAsIDAsIHsweGM4LDB4MDgsMHgwMywweDYyLDB4NGMsMHhjMCwweGEzLDB4NjAsMHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiIH0sCi0gIDE2LCAweGQ1OTAsIDAsIHsweDQ1LDB4MDgsMHhjMCwweDBiLDB4MTAsMHgwMiwweDhjLDB4YTAsMHg4MywweDAwLDB4MjYsMHg0MCwweDA4LDB4MzAsMHgwYSwweDAyIH0sCi0gIDE2LCAweGQ1YTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGNmLDB4NDAsMHgyZiwweGQyIH0sCi0gIDE2LCAweGQ1YjAsIDAsIHsweDhjLDB4ZjYsMHgwMywweDNjLDB4MjIsMHhjZiwweDQwLDB4MzIsMHhkNiwweDRjLDB4YTYsMHhjMSwweDNkLDB4YTAsMHg4NywweDQ4IH0sCi0gIDE2LCAweGQ1YzAsIDAsIHsweDM2LDB4MGQsMHgwZiwweGIxLDB4MDIsMHgyNCwweDQyLDB4Y2IsMHg2MCwweDE2LDB4YzAsMHgwYywweGQwLDB4MDMsMHgyYywweDgwIH0sCi0gIDE2LCAweGQ1ZDAsIDAsIHsweGNhLDB4MDAsMHgzMiwweGMwLDB4MGMsMHgzMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1ZTAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmYsMHgyMCwweDNlLDB4Y2EsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZGIsMHgzNCwweDNhIH0sCi0gIDE2LCAweGQ1ZjAsIDAsIHsweGM4LDB4MGYsMHg4MCwweDAzLDB4ZTQsMHgxMCwweGRiLDB4MjEsMHgzZSwweDE4LDB4MGQsMHhmMiwweDAzLDB4ZmMsMHg4MCwweGZmIH0sCi0gIDE2LCAweGQ2MDAsIDAsIHsweDMwLDB4MzUsMHhjMCwweDBmLDB4YzAsMHgxMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGQ2MTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4ZmMsMHgwMCwweGZiLDB4MGIsMHgyZiwweGNhIH0sCi0gIDE2LCAweGQ2MjAsIDAsIHsweDhkLDB4ZjIsMHgwMywweGZhLDB4MDAsMHg5NiwweDgwLDB4M2IsMHhjNCwweDBkLDB4ZjEsMHgwMywweDdjLDB4ODAsMHhlYywweDgwIH0sCi0gIDE2LCAweGQ2MzAsIDAsIHsweDNiLDB4MDgsMHgwYywweGMyLDB4MDMsMHg3NCwweDAyLDB4Y2MsMHg4MCwweDNmLDB4NDgsMHgwZSwweGYwLDB4MDMsMHgzMCwweGEwIH0sCi0gIDE2LCAweGQ2NDAsIDAsIHsweGQ1LDB4ODAsMHgzZiwweDQwLDB4MGMsMHhmOCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2NTAsIDAsIHsweDgwLDB4MDgsMHhlZSwweDQwLDB4YmYsMHg4MCwweDJmLDB4ZjAsMHgwYiwweGY3LDB4MjIsMHhlZSwweDIwLDB4OGEsMHg4MCwweDIzIH0sCi0gIDE2LCAweGQ2NjAsIDAsIHsweGZjLDB4ODgsMHg3NSwweDEyLDB4M2QsMHgwMCwweDg4LDB4MDAsMHgyMiwweDAwLDB4MjgsMHg4MCwweDAyLDB4MjQsMHgwOCwweDg4IH0sCi0gIDE2LCAweGQ2NzAsIDAsIHsweDAwLDB4NmYsMHg1MCwweDAwLDB4ZjUsMHgwMiwweDI5LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg1NCwweDBkLDB4OTAsMHgxMSwweGEwIH0sCi0gIDE2LCAweGQ2ODAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMxIH0sCi0gIDE2LCAweGQ2OTAsIDAsIHsweDA5LDB4MzAsMHg4MiwweGNjLDB4ODIsMHhiYiwweDAwLDB4MjgsMHhjMCwweDQ5LDB4MzIsMHgwMiwweGNkLDB4MDAsMHhiOCwweDAwIH0sCi0gIDE2LCAweGQ2YTAsIDAsIHsweDJjLDB4NTAsMHgwOSwweDAxLDB4MDIsMHgwYywweDQwLDB4ODAsMHgwMCwweDZjLDB4NDQsMHgwOSwweDMwLDB4MDIsMHgyMCwweDAwIH0sCi0gIDE2LCAweGQ2YjAsIDAsIHsweGIwLDB4MDAsMHgyYywweDQwLDB4MTgsMHgzMCwweDA2LDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2YzAsIDAsIHsweGMwLDB4MDEsMHhhYywweDAwLDB4YmIsMHgwMSwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlZSwweDAwLDB4YWEsMHgwMCwweDRhIH0sCi0gIDE2LCAweGQ2ZDAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDUyLDB4ZWMsMHgwMCwweDk4LDB4MDIsMHgyNiwweDQwLDB4MDksMHg4MCwweDAyLDB4NmMsMHgwMSwweGFhIH0sCi0gIDE2LCAweGQ2ZTAsIDAsIHsweDA0LDB4MmUsMHg0MCwweDA5LDB4YjAsMHgwMiwweDIyLDB4MDAsMHhhOSwweDgwLDB4MmUsMHg0MSwweDA5LDB4OTAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGQ2ZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGQ3MDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGNlLDB4ODQsMHhmYSwweDAwLDB4MWEsMHhjMCwweDhkLDB4YjAsMHg0MywweGVjLDB4MDAsMHhmMCwweDAyIH0sCi0gIDE2LCAweGQ3MTAsIDAsIHsweDNmLDB4MDAsMHgwZCwweGQxLDB4MDMsMHgzNSwweDAwLDB4Y2IsMHg0OCwweDJlLDB4NDAsMHgyZiwweGIwLDB4MDksMHgyMiwweDgwIH0sCi0gIDE2LCAweGQ3MjAsIDAsIHsweGY5LDB4YzgsMHgxZSwweGUwLDB4MDgsMHhiMSwweGUyLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3MzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4N2IsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZGUsMHgwMCwweDI0IH0sCi0gIDE2LCAweGQ3NDAsIDAsIHsweGMwLDB4NGYsMHhmMCwweDAzLDB4MmMsMHgwMCwweGVjLDB4MjAsMHgzYiwweDAwLDB4MGUsMHg5OCwweDAzLDB4OTQsMHgwMiwweGRkIH0sCi0gIDE2LCAweGQ3NTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDRlLDB4ZjAsMHgwMSwweGY4LDB4MDAsMHhkZCwweDAwLDB4M2MsMHhlNCwweDBmLDB4ZDgsMHgwMywweGI4IH0sCi0gIDE2LCAweGQ3NjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4YWMsMHhjMCwweGZiLDB4MjAsMHgzMiwweGM4IH0sCi0gIDE2LCAweGQ3NzAsIDAsIHsweDhkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOSwweDAwLDB4M2EsMHhjMiwweDJjLDB4MzAsMHgwMywweDZjLDB4MDQsMHhkOCwweDAyIH0sCi0gIDE2LCAweGQ3ODAsIDAsIHsweDNjLDB4NDQsMHg4ZCwweDEwLDB4MDMsMHhhZCwweDAzLDB4ZWEsMHgwMCwweDNjLDB4NDAsMHgwYywweDcwLDB4MjMsMHhlNCwweDAwIH0sCi0gIDE2LCAweGQ3OTAsIDAsIHsweGM4LDB4NDAsMHgzYSwweGMwLDB4MGQsMHhiYywweDAzLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3YTAsIDAsIHsweGM4LDB4MDEsMHgzZCwweDAwLDB4YmYsMHg0MiwweDIzLDB4ZjAsMHgwZCwweGYwLDB4MDIsMHhlNSwweDAwLDB4ZTIsMHgwMSwweDM3IH0sCi0gIDE2LCAweGQ3YjAsIDAsIHsweGYxLDB4MDgsMHhmMCwweDBlLDB4M2QsMHhjMCwweGE4LDB4MDAsMHgyZSwweDU0LDB4MjgsMHg5MCwweDAyLDB4MmMsMHgwMCwweDhhIH0sCi0gIDE2LCAweGQ3YzAsIDAsIHsweDA1LDB4M2IsMHg0MSwweDQ4LDB4ZjUsMHgwMywweDhjLDB4MDAsMHg4OSwweDAwLDB4MjIsMHhkNCwweDBlLDB4OTUsMHgwMiwweGYyIH0sCi0gIDE2LCAweGQ3ZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDQsMHgyMCwweGMwIH0sCi0gIDE2LCAweGQ3ZTAsIDAsIHsweDg5LDB4MzAsMHgwMiwweGNjLDB4NDAsMHhiMiwweDAwLDB4MmMsMHhjNCwweDQ4LDB4MzAsMHgwMiwweDJjLDB4MDIsMHhhMiwweDAwIH0sCi0gIDE2LCAweGQ3ZjAsIDAsIHsweDJjLDB4MjAsMHgxOSwweDIwLDB4MWEsMHg4MCwweDA4LDB4YjAsMHgwMCwweDZjLDB4NDAsMHgwOCwweDMwLDB4MDIsMHhjNCwweDAwIH0sCi0gIDE2LCAweGQ4MDAsIDAsIHsweDgxLDB4MDAsMHgyYywweDQwLDB4MDgsMHgzMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4MTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHhhMCwweGUxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhkZiwweDA0LDB4YWUsMHg4MCwweDJkIH0sCi0gIDE2LCAweGQ4MjAsIDAsIHsweGUwLDB4MDgsMHg3OSwweDAyLDB4MWUsMHgxMCwweDg3LDB4OTAsMHgyYywweDI4LDB4MjksMHg2OCwweDAyLDB4ODIsMHg4MSwweGI0IH0sCi0gIDE2LCAweGQ4MzAsIDAsIHsweDgwLDB4MmQsMHg2MCwweDA4LDB4NzgsMHgxMCwweGJjLDB4MDAsMHg4ZiwweDgwLDB4MmQsMHg2MCwweDBiLDB4NjgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGQ4NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHgwNSwweGYzLDB4OTIsMHgzMCwweGNhIH0sCi0gIDE2LCAweGQ4NTAsIDAsIHsweDBkLDB4MzAsMHgwMywweGNjLDB4MDAsMHhmMywweDAwLDB4M2MsMHhjMCwweDBjLDB4MzAsMHgwMiwweDBjLDB4ODAsMHg3MCwweDAwIH0sCi0gIDE2LCAweGQ4NjAsIDAsIHsweDJjLDB4NDAsMHgwZCwweDIwLDB4MDMsMHg4OSwweDAwLDB4YjEsMHgwMCwweDNlLDB4NDAsMHgyYywweDMwLDB4MDMsMHhlYywweDUwIH0sCi0gIDE2LCAweGQ4NzAsIDAsIHsweGMzLDB4MjAsMHgzYywweDQwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4ODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNjLDB4YzAsMHgwZSwweGIwLDB4ODMsMHhlYywweDQwLDB4ZWEsMHgwMCwweDM2IH0sCi0gIDE2LCAweGQ4OTAsIDAsIHsweGMyLDB4MGYsMHhiMCwweDgzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSwweDQ4LDB4MGUsMHhlMCwweDBiLDB4N2EsMHg4MCwweGNmIH0sCi0gIDE2LCAweGQ4YTAsIDAsIHsweDAwLDB4M2IsMHg0NCwweDBmLDB4ZjAsMHgwMywweGVjLDB4YzAsMHhmZiwweDAwLDB4MDMsMHg0NCwweDBlLDB4ZTAsMHgwMywweGQwIH0sCi0gIDE2LCAweGQ4YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MjMsMHgzZSwweGM4IH0sCi0gIDE2LCAweGQ4YzAsIDAsIHsweDFkLDB4YjAsMHgwMywweGVlLDB4MDAsMHhjYSwweDAwLDB4M2UsMHhjOCwweDBjLDB4YjIsMHgwMywweDJkLDB4OTAsMHhjOCwweDg0IH0sCi0gIDE2LCAweGQ4ZDAsIDAsIHsweDM2LDB4MDAsMHgyZCwweGIwLDB4MDMsMHg2MCwweDE4LDB4OWIsMHg4MCwweDMzLDB4NTAsMHgwYywweGYyLDB4MDMsMHhlMiwweDAwIH0sCi0gIDE2LCAweGQ4ZTAsIDAsIHsweGM5LDB4ODAsMHgzMiwweDQwLDB4MGMsMHhiOCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4ZjAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjcsMHgyOCwweDBjLDB4ZDIsMHgyOCwweDczLDB4MDIsMHhmYywweDAwLDB4ODYsMHgwNCwweDJjIH0sCi0gIDE2LCAweGQ5MDAsIDAsIHsweGNjLDB4MjgsMHg3MCwweDgzLDB4MGMsMHgyMCwweDk1LDB4MDEsMHgyMCwweDAwLDB4MDksMHgzMCwweDEyLDB4MTAsMHgwNCwweDg1IH0sCi0gIDE2LCAweGQ5MTAsIDAsIHsweDAwLDB4MjEsMHg1MiwweDA4LDB4NzUsMHgwMiwweGQ4LDB4MDAsMHg4NywweDAwLDB4MjEsMHg0MCwweDA4LDB4NjAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGQ5MjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHhkNCwweGI3LDB4YjEsMHgwOSwweGUxIH0sCi0gIDE2LCAweGQ5MzAsIDAsIHsweDA4LDB4NzgsMHgyMiwweGRlLDB4MDAsMHg5NSwweDgwLDB4MmQsMHhlMCwweDA4LDB4NzgsMHgwYSwweDVlLDB4NDIsMHg5NCwweGMwIH0sCi0gIDE2LCAweGQ5NDAsIDAsIHsweDIxLDB4NjAsMHgwOCwweDc4LDB4MDIsMHg1YSwweDAwLDB4ODcsMHg4MCwweDJkLDB4NjgsMHgwOCwweDdhLDB4MDIsMHhkNywweDAwIH0sCi0gIDE2LCAweGQ5NTAsIDAsIHsweDk3LDB4ODAsMHgyMCwweDYwLDB4MDksMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5NjAsIDAsIHsweDQ4LDB4MTAsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhjZCwweDgwLDB4OTIsMHgwMCwweDJjIH0sCi0gIDE2LCAweGQ5NzAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4Y2MsMHgwMCwweDkwLDB4ODAsMHhhMCwweDQwLDB4MDksMHgzNiwweDAyLDB4NDgsMHgwMiwweDgzIH0sCi0gIDE2LCAweGQ5ODAsIDAsIHsweGEwLDB4YWMsMHg0MCwweDJhLDB4MzAsMHgwNiwweGNlLDB4MDIsMHg5MywweDA0LDB4YTAsMHg0MCwweDA5LDB4MjAsMHgwYSwweDEyIH0sCi0gIDE2LCAweGQ5OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzYSwweDgwIH0sCi0gIDE2LCAweGQ5YTAsIDAsIHsweDBkLDB4YTAsMHgwMywweGZiLDB4MDIsMHhkZSwweDgwLDB4M2UsMHg4MCwweDBjLDB4YTAsMHgwMywweDI4LDB4MDAsMHhjZSwweDgwIH0sCi0gIDE2LCAweGQ5YjAsIDAsIHsweDMyLDB4ODAsMHgwYywweGE0LDB4MDMsMHg3OCwweDAwLDB4Y2UsMHhhNCwweDNmLDB4ODAsMHgwYywweGEwLDB4MDcsMHhmOSwweDAwIH0sCi0gIDE2LCAweGQ5YzAsIDAsIHsweGRlLDB4MDAsMHgzMiwweDgwLDB4MmQsMHhlMCwweDAyLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5ZDAsIDAsIHsweDQ4LDB4MDAsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDdjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDQwLDB4ZTgsMHgxMCwweDNjIH0sCi0gIDE2LCAweGQ5ZTAsIDAsIHsweDAxLDB4Y2YsMHg4MCwweDBmLDB4MjAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHgwNCwweDAzLDB4OTAsMHgwMCwweGU4IH0sCi0gIDE2LCAweGQ5ZjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDBkLDB4ODAsMHgwNywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwNCwweDBlLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGRhMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHg3ZSwweDQxIH0sCi0gIDE2LCAweGRhMTAsIDAsIHsweDBlLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg2OCwweDBlLDB4OTAsMHgwZiwweGE0LDB4MDgsMHhjOSwweDAwIH0sCi0gIDE2LCAweGRhMjAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MGIsMHgyNCwweDEyLDB4ZTksMHgwMCwweDNlLDB4NDQsMHgyYywweDkwLDB4MDMsMHg2NCwweDI0IH0sCi0gIDE2LCAweGRhMzAsIDAsIHsweGY5LDB4MDIsMHgyZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhNDAsIDAsIHsweDgwLDB4MDQsMHg2NSwweDEwLDB4YjksMHg4MCwweDNlLDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyNiwweDAwLDB4YjEsMHgxMCwweDJhIH0sCi0gIDE2LCAweGRhNTAsIDAsIHsweDcyLDB4MDgsMHg5MCwweDA3LDB4NjQsMHgwMiwweDg5LDB4NDAsMHgyZSwweDQwLDB4MjgsMHg5MCwweDEyLDB4MjUsMHgwMCwweDg5IH0sCi0gIDE2LCAweGRhNjAsIDAsIHsweDQ1LDB4M2UsMHg1MCwweDBkLDB4OTAsMHgwYSwweDI1LDB4MDAsMHhiOSwweDQwLDB4MmUsMHg0MCwweDI4LDB4OTQsMHgwMywweGUwIH0sCi0gIDE2LCAweGRhNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweGRhODAsIDAsIHsweDQ4LDB4OTAsMHg0MiwweDI2LDB4MDEsMHhiOSwweDQwLDB4MjYsMHg0MCwweDBhLDB4OTAsMHg0MiwweDg0LDB4MDEsMHg4YiwweDA4IH0sCi0gIDE2LCAweGRhOTAsIDAsIHsweDJjLDB4NDAsMHgwOSwweGQwLDB4ODIsMHgzNCwweDMyLDB4YTksMHgwOCwweDZlLDB4NDIsMHgwOCwweDEwLDB4MDIsMHgyNCwweDIwIH0sCi0gIDE2LCAweGRhYTAsIDAsIHsweGI5LDB4MDgsMHgyYywweDQwLDB4MTgsMHg5MCwweDgyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjMsMHgyMCwweDI4LDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAxLDB4YjEsMHgwMCwweDI4IH0sCi0gIDE2LCAweGRhYzAsIDAsIHsweDU4LDB4MDgsMHgxMiwweDAyLDB4MDUsMHg4OSwweDgxLDB4NDAsMHgyYywweDU4LDB4MDgsMHg1NiwweDA2LDB4MTUsMHg4MCwweDgxIH0sCi0gIDE2LCAweGRhZDAsIDAsIHsweDQwLDB4MjgsMHg1MCwweDA5LDB4MTQsMHgwMiwweDA1LDB4ODAsMHhiMSwweDQwLDB4MmMsMHg1YSwweDA4LDB4MTQsMHgwMiwweGMyIH0sCi0gIDE2LCAweGRhZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjgsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwIH0sCi0gIDE2LCAweGRhZjAsIDAsIHsweDJlLDB4ODUsMHgwMywweDIxLDB4NDgsMHhmOCwweDAwLDB4MzYsMHgwMCwweDhlLDB4MDUsMHgwMiwweGEwLDB4MDgsMHg4MCwweDAwIH0sCi0gIDE2LCAweGRiMDAsIDAsIHsweDNlLDB4MDAsMHgwZCwweDgwLDB4MGIsMHgxMCwweDA0LDB4ZTAsMHgwMCwweDJjLDB4MDAsMHg0YywweDgwLDB4MDMsMHg0MCwweDAwIH0sCi0gIDE2LCAweGRiMTAsIDAsIHsweGYwLDB4MDAsMHgzZSwweDA4LDB4MGMsMHgwMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNlIH0sCi0gIDE2LCAweGRiMzAsIDAsIHsweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MDMsMHgzZiwweDQ0LDB4MWYsMHg5MSwweDFiLDB4ZTQsMHg0MCwweGZkIH0sCi0gIDE2LCAweGRiNDAsIDAsIHsweDAxLDB4M2YsMHg1MCwweDBlLDB4OTQsMHgwMywweGY0LDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGE2IH0sCi0gIDE2LCAweGRiNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjQsMHgwMCwweGNkLDB4YTAsMHg3MSwweDY4IH0sCi0gIDE2LCAweGRiNjAsIDAsIHsweDhkLDB4OTgsMHgwMywweGQ0LDB4MDAsMHhjZCwweDAwLDB4MzMsMHg2MCwweDBjLDB4OTgsMHg4ZiwweDI3LDB4MjAsMHhjOSwweDQwIH0sCi0gIDE2LCAweGRiNzAsIDAsIHsweDNlLDB4NzgsMHgwYywweDllLDB4OGIsMHgyNywweDIwLDB4ZDEsMHgxMSwweDMwLDB4NjAsMHg4YywweDljLDB4MDMsMHgyNSwweDAwIH0sCi0gIDE2LCAweGRiODAsIDAsIHsweGY5LDB4NDAsMHgzZSwweDc4LDB4MGYsMHg5MCwweDAzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiOTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDEwLDB4ODgsMHgwMSwweDIyLDB4MDEsMHgwOCwweDhjLDB4MjIsMHhlOCwweDAwLDB4ODgsMHgwMiwweDJhIH0sCi0gIDE2LCAweGRiYTAsIDAsIHsweDE0LDB4MDgsMHg4YywweDBiLDB4MjMsMHg5MCwweDg4LDB4YTAsMHgyZSwweGIwLDB4MDgsMHg4YywweDQyLDB4MjMsMHgwMCwweDg4IH0sCi0gIDE2LCAweGRiYjAsIDAsIHsweGEwLDB4MzYsMHgyYSwweDE4LDB4OGEsMHgwMiwweDIyLDB4MDAsMHhiOCwweGEwLDB4MmUsMHgzNCwweDBiLDB4Y2EsMHg4MiwweDBlIH0sCi0gIDE2LCAweGRiYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweDgxLDB4NDAsMHgyNCwweDUwIH0sCi0gIDE2LCAweGRiZDAsIDAsIHsweDA5LDB4MTYsMHg4MiwweGM0LDB4MDAsMHhhOSwweDAwLDB4MjAsMHg0MCwweDA4LDB4MTIsMHg5MiwweDU0LDB4MDgsMHg4NSwweDAwIH0sCi0gIDE2LCAweGRiZTAsIDAsIHsweDJmLDB4NGMsMHgwOSwweDUyLDB4MTIsMHgxNCwweDgwLDB4OWQsMHgwMCwweDIxLDB4NTAsMHgwOCwweDU0LDB4MjIsMHgxNCwweDgwIH0sCi0gIDE2LCAweGRiZjAsIDAsIHsweGI1LDB4MDAsMHgyZCwweDQ4LDB4MGIsMHhkMCwweDAyLDB4NDIsMHgwNSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjMDAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDAyLDB4ODksMHgwMSwweGEyLDB4NDAsMHg0OCwweDkwLDB4MDIsMHhlNCwweDAyLDB4YTksMHgwMCwweDJhIH0sCi0gIDE2LCAweGRjMTAsIDAsIHsweDQwLDB4NjgsMHg5MCwweDAyLDB4NjQsMHgxMCwweGFkLDB4MDAsMHgyZiwweDQxLDB4MjgsMHg1MCwweDAyLDB4MzQsMHgwMCwweDhkIH0sCi0gIDE2LCAweGRjMjAsIDAsIHsweDQ0LDB4MjcsMHg0MCwweDM5LDB4ZDAsMHgwMiwweDM1LDB4MDAsMHhiZCwweDE0LDB4MmYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGRjMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGRjNDAsIDAsIHsweDJkLDB4OTAsMHgwMywweGU3LDB4MDAsMHhlMSwweGUwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwYiwweDY0LDB4MDIsMHhjOSwweDA4IH0sCi0gIDE2LCAweGRjNTAsIDAsIHsweDNjLDB4NTAsMHgwYywweDkwLDB4MDIsMHgyNiwweDAyLDB4ZDksMHhjMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MTMsMHgyNywweDAwIH0sCi0gIDE2LCAweGRjNjAsIDAsIHsweGY5LDB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAyLDB4ZjksMHgwMCwweDM4LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDgwLDB4ZDksMHhhMCwweDNjIH0sCi0gIDE2LCAweGRjODAsIDAsIHsweDQwLDB4MGYsMHgxMCwweDAzLDB4YTQsMHgwMCwweGQ5LDB4MTAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHg5MiwweGY5IH0sCi0gIDE2LCAweGRjOTAsIDAsIHsweDIxLDB4M2MsMHg0MCwweDJlLDB4OTAsMHgwZiwweGU2LDB4ODAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH0sCi0gIDE2LCAweGRjYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHg0MCwweGU4LDB4MTAsMHgzZSwweDA0IH0sCi0gIDE2LCAweGRjYjAsIDAsIHsweDRlLDB4ODAsMHgwMywweDIwLDB4ODAsMHhkOCwweDYwLDB4M2EsMHgwMiwweDBjLDB4ODAsMHgxMywweDIwLDB4MDAsMHhmOCwweDQwIH0sCi0gIDE2LCAweGRjYzAsIDAsIHsweDM2LDB4MTAsMHgyZCwweDgwLDB4MDMsMHhhMCwweDA4LDB4ZTgsMHg0MCwweDMyLDB4MDAsMHgwZCwweDAwLDB4MDMsMHgyMSwweDAyIH0sCi0gIDE2LCAweGRjZDAsIDAsIHsweGM4LDB4NDAsMHhiMiwweDAwLDB4MGYsMHhjMCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjZTAsIDAsIHsweDI4LDB4MTEsMHgzYiwweDEwLDB4ODYsMHgwMSwweDJmLDB4YTAsMHgwZCwweGEwLDB4MDIsMHgzOCwweDAwLDB4OGUsMHhlMCwweDIzIH0sCi0gIDE2LCAweGRjZjAsIDAsIHsweGEyLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4ODAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDgyIH0sCi0gIDE2LCAweGRkMDAsIDAsIHsweDAwLDB4MmEsMHg4MCwweDI4LDB4YTAsMHgwMiwweDJhLDB4MDQsMHg4YSwweDgwLDB4MjIsMHhhMCwweDBiLDB4NjAsMHgwMiwweGNhIH0sCi0gIDE2LCAweGRkMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDMsMHg4MCwweGEyLDB4MDAsMHgyYywweGEwIH0sCi0gIDE2LCAweGRkMjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDJlLDB4MDAsMHg5MiwweDAwLDB4MjgsMHhjMCwweDI4LDB4MzAsMHgwMiwweDJjLDB4MDAsMHhiMywweDgwIH0sCi0gIDE2LCAweGRkMzAsIDAsIHsweDI0LDB4YzAsMHgwOSwweDMwLDB4MGEsMHg4YywweDAwLDB4YTMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDMwLDB4MGEsMHg0YywweDAwIH0sCi0gIDE2LCAweGRkNDAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGUwLDB4MGIsMHgyMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkNTAsIDAsIHsweGEwLDB4MDEsMHgxMCwweDAwLDB4ODYsMHgwMCwweDJkLDB4YzAsMHgwOSwweDNhLDB4MDIsMHgzNSwweDAwLDB4ODYsMHgwMCwweDIxIH0sCi0gIDE2LCAweGRkNjAsIDAsIHsweGMwLDB4MDgsMHg3MywweDAyLDB4MTAsMHgwMCwweGJmLDB4ODgsMHgyMSwweDAwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwOCwweDhmIH0sCi0gIDE2LCAweGRkNzAsIDAsIHsweDAwLDB4MmIsMHhjMCwweDA4LDB4MjAsMHgxMiwweDVlLDB4MjAsMHg4NywweDg4LDB4MjEsMHg4MywweDBiLDB4NjAsMHgwMiwweGU4IH0sCi0gIDE2LCAweGRkODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGU1LDB4ODEsMHgzZCwweGEwIH0sCi0gIDE2LCAweGRkOTAsIDAsIHsweDJjLDB4N2EsMHgwYiwweDFlLDB4MDAsMHhkNCwweDgwLDB4MzgsMHhlMCwweDBjLDB4ZmEsMHgwYiwweDFlLDB4MDAsMHhmNiwweDgwIH0sCi0gIDE2LCAweGRkYTAsIDAsIHsweDM0LDB4ZTAsMHgwZCwweDI4LDB4MDMsMHg4YSwweDAwLDB4ZTYsMHg4MCwweDMxLDB4MjAsMHgwYywweDc4LDB4MDMsMHg3YSwweDA0IH0sCi0gIDE2LCAweGRkYjAsIDAsIHsweGNlLDB4ODQsMHgzMSwweGUwLDB4NGYsMHg3OCwweDQzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkYzAsIDAsIHsweDA4LDB4MGQsMHg4MCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwZiwweGI1LDB4MjMsMHhlNCwweDAwLDB4ZjAsMHgwNCwweDM2IH0sCi0gIDE2LCAweGRkZDAsIDAsIHsweDQwLDB4MGYsMHhiNiwweDg3LDB4ZTAsMHgwMCwweGYyLDB4MDAsMHgzZSwweDAwLDB4MWYsMHhhMCwweDBiLDB4ZTgsMHgwMCwweGZhIH0sCi0gIDE2LCAweGRkZTAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBlLDB4YTAsMHgwMywweGE4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGRkZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNjLDB4ODAsMHgzMywweGEwIH0sCi0gIDE2LCAweGRlMDAsIDAsIHsweDBjLDB4ZmMsMHgwMywweDNlLDB4MDAsMHhmYywweDgwLDB4MzcsMHhlMCwweDBmLDB4YjksMHgyMSwweDNlLDB4MDAsMHhmZCwweDgyIH0sCi0gIDE2LCAweGRlMTAsIDAsIHsweDMzLDB4ZTAsMHgyYywweGY4LDB4MDMsMHg3ZSwweDEwLDB4ZGYsMHg4NCwweDNkLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmNiwweDAwIH0sCi0gIDE2LCAweGRlMjAsIDAsIHsweGZkLDB4ODAsMHgzZiwweDYwLDB4MGMsMHhlOCwweDIzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlMzAsIDAsIHsweGE4LDB4MTEsMHg5OCwweDQwLDB4ODQsMHgxMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxMCwweDgwLDB4YjQsMHgwMCwweDIxIH0sCi0gIDE2LCAweGRlNDAsIDAsIHsweGM4LDB4MGIsMHg3YSwweDAyLDB4MTAsMHgwMCwweGZkLDB4MDAsMHgyMSwweDA0LDB4MDgsMHg3MCwweDAyLDB4MWMsMHg0MiwweDg3IH0sCi0gIDE2LCAweGRlNTAsIDAsIHsweDAwLDB4MmQsMHhjNCwweDQ4LDB4NjEsMHgwMiwweGQ2LDB4ODAsMHhiNSwweDAwLDB4MmYsMHgwNCwweDA4LDB4NjEsMHg4MiwweDJhIH0sCi0gIDE2LCAweGRlNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweDgxLDB4MDAsMHgyMSwweDgwIH0sCi0gIDE2LCAweGRlNzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDFjLDB4MTAsMHhiYywweDA4LDB4MjUsMHg4MCwweDRiLDB4MzAsMHgwZSwweDFjLDB4MDAsMHhiNCwweDAwIH0sCi0gIDE2LCAweGRlODAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDIwLDB4MDIsMHg1OCwweDAwLDB4OTYsMHgwMCwweDJmLDB4MDAsMHgwYSwweDcwLDB4MDIsMHhkMCwweDgwIH0sCi0gIDE2LCAweGRlOTAsIDAsIHsweGI0LDB4MTgsMHgyZCwweDQwLDB4MDksMHhmOCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlYTAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAyLDB4ODAsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MjIsMHgwYiwweGMwLDB4YjAsMHhjMCwweDIyIH0sCi0gIDE2LCAweGRlYjAsIDAsIHsweDgwLDB4MGIsMHgzMCwweDAyLDB4MDAsMHgwMCwweGEwLDB4MDQsMHgyMiwweDAwLDB4MjgsMHhhMCwweDAyLDB4MmIsMHgwMCwweDhhIH0sCi0gIDE2LCAweGRlYzAsIDAsIHsweDAwLDB4MmMsMHgwMCwweDA4LDB4YTAsMHgwNiwweGMwLDB4MDAsMHhiMCwweGMyLDB4MmMsMHgwMCwweDA5LDB4YmMsMHgxYSwweDA4IH0sCi0gIDE2LCAweGRlZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweGMwIH0sCi0gIDE2LCAweGRlZTAsIDAsIHsweDBjLDB4ZjAsMHgwYiwweDI2LDB4MDAsMHhmOSwweGMwLDB4MzYsMHgwMCwweDBmLDB4ZjAsMHgxMywweDJjLDB4MTAsMHhiYiwweDQwIH0sCi0gIDE2LCAweGRlZjAsIDAsIHsweGYyLDB4YzAsMHgwOCwweDkwLDB4MDMsMHg2NywweDAwLDB4ZDksMHg4MCwweDNlLDB4YzAsMHgwOCwweDkwLDB4MDIsMHhlYywweDAwIH0sCi0gIDE2LCAweGRmMDAsIDAsIHsweGZiLDB4ZDAsMHgzZSwweGMwLDB4MjksMHg4YywweDAwLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmMTAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0NCwweDNjLDB4ZDAsMHgyZiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgyMCwweDNlIH0sCi0gIDE2LCAweGRmMjAsIDAsIHsweDQwLDB4MGYsMHgzMCwweDAzLDB4ZTAsMHgwMCwweGZiLDB4MDgsMHgzZSwweDAwLDB4MGYsMHg5MCwweDEzLDB4ZTQsMHg0MiwweGY5IH0sCi0gIDE2LCAweGRmMzAsIDAsIHsweDEwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGVlLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg4MCwweDBlLDB4ODIsMHgwMywweGUwIH0sCi0gIDE2LCAweGRmNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZTAsMHgwOCwweGZjLDB4ODAsMHgzMiwweGU0IH0sCi0gIDE2LCAweGRmNTAsIDAsIHsweDBlLDB4ZjAsMHgwMywweDc0LDB4MDAsMHhmYywweDAwLDB4M2YsMHg0MCwweDBjLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHhmZSwweDAwIH0sCi0gIDE2LCAweGRmNjAsIDAsIHsweDNmLDB4YzAsMHgwZCwweGMxLDB4MDMsMHgyMCwweDIwLDB4Y2MsMHgxMCwweDMzLDB4MDAsMHgwYywweGQxLDB4MDMsMHg1OCwweDAwIH0sCi0gIDE2LCAweGRmNzAsIDAsIHsweGNlLDB4MDAsMHgyZiwweGMwLDB4MGYsMHhkMSwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmODAsIDAsIHsweDgxLDB4NDQsMHg2MiwweDAwLDB4YjAsMHg0MCwweDJhLDB4ZjEsMHgwOCwweGIwLDB4MTIsMHgyNiwweDA4LDB4YjgsMHhjOCwweDJlIH0sCi0gIDE2LCAweGRmOTAsIDAsIHsweDcwLDB4MGEsMHhiMCwweDAyLDB4MjAsMHgwMCwweGJhLDB4MDAsMHgyZSwweDAwLDB4MjgsMHg4MCwweDAzLDB4MjIsMHg0MCwweDg4IH0sCi0gIDE2LCAweGRmYTAsIDAsIHsweDAxLDB4MjAsMHgwMCwweDBhLDB4ODAsMHgwMiwweDI4LDB4MDAsMHg4YSwweDAxLDB4MmUsMHg4MCwweDhiLDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGRmYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjYsMHgwMCwweGI4LDB4MjgsMHgyMiwweDQyIH0sCi0gIDE2LCAweGRmYzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDY2LDB4MDAsMHhiOCwweDgwLDB4MmUsMHgzMCwweDg4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiOSwweDAxIH0sCi0gIDE2LCAweGRmZDAsIDAsIHsweDJlLDB4YzAsMHg4OCwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDBjIH0sCi0gIDE2LCAweGRmZTAsIDAsIHsweDg5LDB4MDEsMHgyZSwweDQwLDB4MWIsMHg4MCwweDAyLDB4NjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmZjAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4YjAsMHgwMCwweDI4LDB4YzAsMHgyOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjAsMHgwMCwweDJjIH0sCi0gIDE2LCAweGUwMDAsIDAsIHsweDQwLDB4MGEsMHgzMCwweDAyLDB4MDAsMHgwMCwweGIxLDB4MDAsMHgyYywweDAwLDB4MDgsMHgxMCwweDBhLDB4MDQsMHgwMCwweDgxIH0sCi0gIDE2LCAweGUwMTAsIDAsIHsweDAxLDB4YTIsMHhjMCwweDA4LDB4MDAsMHgwYSwweDA0LDB4ODAsMHg4MSwweDAwLDB4MmMsMHgwMCwweDFiLDB4MDAsMHgwYSwweDAyIH0sCi0gIDE2LCAweGUwMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDQwIH0sCi0gIDE2LCAweGUwMzAsIDAsIHsweDBlLDB4ZjAsMHgyMywweDY0LDB4MDgsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4ZjAsMHgwMywweDJjLDB4MDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweGUwNDAsIDAsIHsweDNlLDB4YzAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAyLDB4YzgsMHgwNCwweDMyLDB4MDAsMHgxYywweDkwLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweGUwNTAsIDAsIHsweGM4LDB4MDEsMHgzZSwweDQxLDB4OWYsMHg5MCwweDQzLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwNjAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgwYywweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDEwLDB4ZjQsMHgwMCwweDNmIH0sCi0gIDE2LCAweGUwNzAsIDAsIHsweDAwLDB4MGYsMHhmNCwweDIzLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MGUsMHhjMCwweDAzLDB4YjAsMHgwMCwweGZjIH0sCi0gIDE2LCAweGUwODAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGUxLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMSwweDFmLDB4NTAsMHgwMywweGU4IH0sCi0gIDE2LCAweGUwOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDBkLDB4ZjAsMHhkMCwweGZmLDB4MjAsMHgzZSwweGQwIH0sCi0gIDE2LCAweGUwYTAsIDAsIHsweDhlLDB4YjAsMHgwMywweGVjLDB4YTAsMHhkYiwweDI4LDB4M2UsMHhjYywweDBjLDB4YjMsMHgwMywweGFkLDB4MDgsMHhmOCwweDNjIH0sCi0gIDE2LCAweGUwYjAsIDAsIHsweDMyLDB4MjMsMHgwZSwweDQ4LDB4MjMsMHg3YSwweDAwLDB4ZmQsMHg5NCwweDNmLDB4ZTAsMHgwZiwweDc4LDB4MzMsMHhlZSwweDA4IH0sCi0gIDE2LCAweGUwYzAsIDAsIHsweGJmLDB4ODAsMHgzZiwweGU0LDB4MGYsMHhmOSwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwZDAsIDAsIHsweGEwLDB4MDAsMHhlYywweGM4LDB4YmYsMHhkMSwweDBmLDB4YzgsMHgwYywweDI2LDB4ODIsMHhmZCwweDI0LDB4OGYsMHgwMCwweDJlIH0sCi0gIDE2LCAweGUwZTAsIDAsIHsweDk5LDB4MGEsMHhmMiwweDYyLDB4MWQsMHhkMCwweDk5LDB4NjEsMHgyMiwweDcxLDB4ODgsMHg4OCwweDAyLDB4YWMsMHgwMCwweGI4IH0sCi0gIDE2LCAweGUwZjAsIDAsIHsweDIyLDB4MmUsMHgyMCwweDRiLDB4ODgsMHgwMywweGEwLDB4MDAsMHg4MCwweDAwLDB4MmUsMHgwOCwweDBiLDB4ODAsMHgyMywweDYwIH0sCi0gIDE2LCAweGUxMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwNCwweGIzLDB4MDMsMHgwYywweGNjIH0sCi0gIDE2LCAweGUxMTAsIDAsIHsweDBhLDB4MTMsMHgxMiwweGNjLDB4MTQsMHhhMywweDBlLDB4MGMsMHg1OCwweDBhLDB4MzMsMHgwMiwweDhjLDB4MTAsMHhhMywweDIwIH0sCi0gIDE2LCAweGUxMjAsIDAsIHsweGEwLDB4MGEsMHgxOCwweDkwLDB4MDIsMHg0OCwweGEwLDB4YjAsMHgyMCwweDI0LDB4ODAsMHgwYSwweDIwLDB4MDIsMHhjYywweDA5IH0sCi0gIDE2LCAweGUxMzAsIDAsIHsweGExLDB4MDAsMHgyYywweDgwLDB4MGIsMHgzMiwweDQyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxNDAsIDAsIHsweGUwLDB4MTEsMHhhYywweDIwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHg0YiwweDgwLDB4YTIsMHhlYywweDAwLDB4YWIsMHgwMCwweDRlIH0sCi0gIDE2LCAweGUxNTAsIDAsIHsweDQ2LDB4MmEsMHhiMCwweDAyLDB4MmMsMHgwNCwweDliLDB4ODAsMHgyYSwweDYwLDB4OGEsMHg5YywweDAyLDB4YWMsMHgwMCwweGI5IH0sCi0gIDE2LCAweGUxNjAsIDAsIHsweDgxLDB4MmUsMHg0MCwweDBiLDB4OTgsMHgwMiwweGEzLDB4MDAsMHg4YSwweDAwLDB4MmUsMHg0MCwweDBiLDB4ODAsMHgwNCwweGYwIH0sCi0gIDE2LCAweGUxNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTEsMHgwMCwweGZiLDB4MDQsMHgzZSwweGMwIH0sCi0gIDE2LCAweGUxODAsIDAsIHsweDBlLDB4YjQsMHgwMywweGVjLDB4MGEsMHhkYiwweDAyLDB4MmUsMHhkMSwweDBlLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDgyIH0sCi0gIDE2LCAweGUxOTAsIDAsIHsweDMyLDB4MjgsMHgxZSwweDBjLDB4MDMsMHg2OCwweDAwLDB4YjksMHgwMCwweDNlLDB4NDAsMHg0ZiwweGIwLDB4NDMsMHhlZCwweDAwIH0sCi0gIDE2LCAweGUxYTAsIDAsIHsweGVhLDB4MDAsMHgzZSwweDQwLDB4MGYsMHg4MCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxYjAsIDAsIHsweGMwLDB4MDEsMHhiOCwweDE4LDB4ZmYsMHgwMiwweDFmLDB4YzAsMHgwYywweGUyLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMywweDJmIH0sCi0gIDE2LCAweGUxYzAsIDAsIHsweGExLDB4MGYsMHg3MCwweDAzLDB4ZmMsMHgwNCwweGFiLDB4MDQsMHgzNywweDQyLDB4MmQsMHhkMCwweDAyLDB4N2MsMHgwMCwweGZjIH0sCi0gIDE2LCAweGUxZDAsIDAsIHsweDAwLDB4M2YsMHg4MCwweDBmLDB4YzAsMHgwMywweGIwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMywweDc4IH0sCi0gIDE2LCAweGUxZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTksMHgwMCwweGRiLDB4MDAsMHgzYywweGMwIH0sCi0gIDE2LCAweGUxZjAsIDAsIHsweDJlLDB4OTQsMHgwMSwweDZjLDB4MTEsMHhjYiwweDAwLDB4YjgsMHhjMCwweDBjLDB4YjAsMHgwMywweDZjLDB4MDAsMHhlYiwweDAxIH0sCi0gIDE2LCAweGUyMDAsIDAsIHsweDMyLDB4MTAsMHgwNywweDkyLDB4MDMsMHhhOCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MGMsMHgwNywweGEyLDB4MDMsMHhhZCwweDAwIH0sCi0gIDE2LCAweGUyMTAsIDAsIHsweGQ4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyMjAsIDAsIHsweGM4LDB4MDUsMHgyOCwweDA4LDB4YmYsMHgwMCwweDJmLDB4YzAsMHg4OCwweDgwLDB4MDIsMHgzYywweDA4LDB4ZWYsMHgwMywweDIyIH0sCi0gIDE2LCAweGUyMzAsIDAsIHsweDAwLDB4MGQsMHhmNSwweDAwLDB4M2MsMHgwMCwweDhiLDB4ODIsMHgyMiwweDYwLDB4MDMsMHg5YywweDAyLDB4MmMsMHgxMCwweGI5IH0sCi0gIDE2LCAweGUyNDAsIDAsIHsweGIwLDB4MjIsMHhmMCwweDBiLDB4OTAsMHgwMiwweDIwLDB4MDAsMHhiYiwweDAwLDB4MjIsMHhlMiwweDBkLDB4YjAsMHgwMiwweGYyIH0sCi0gIDE2LCAweGUyNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDAsMHgwMCwweGIzLDB4MDIsMHgyYywweGMwIH0sCi0gIDE2LCAweGUyNjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDZjLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMCwweDA5LDB4MzQsMHgwNCwweGVjLDB4MDAsMHhhOCwweDAwIH0sCi0gIDE2LCAweGUyNzAsIDAsIHsweDIyLDB4ZjAsMHgwYiwweDAwLDB4MDIsMHg4OCwweDAwLDB4YjMsMHgwMCwweDI4LDB4ZTAsMHgwYiwweDE0LDB4MDIsMHhhMCwweDAwIH0sCi0gIDE2LCAweGUyODAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4YjcsMHg4MCwweDJkLDB4ZTgsMHgwOCwweDc4LDB4MDIsMHgwZSwweGM4LDB4YTcsMHg5MCwweDIxIH0sCi0gIDE2LCAweGUyYTAsIDAsIHsweGE4LDB4MTksMHgzOCwweDUyLDB4OWUsMHhjMSwweDg3LDB4ODAsMHgyMSwweGUyLDB4MGIsMHhkOSwweDgyLDB4OWUsMHgwMCwweGI2IH0sCi0gIDE2LCAweGUyYjAsIDAsIHsweGEwLDB4MmQsMHgyMCwweDBiLDB4NjgsMHgwMiwweDFlLDB4MDAsMHhiNCwweGMxLDB4MjEsMHgyMCwweDA5LDB4NDgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGUyYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHg4MCwweGIzLDB4MTAsMHgzZSwweGUwIH0sCi0gIDE2LCAweGUyZDAsIDAsIHsweDBlLDB4M2EsMHgwNywweDRlLDB4MDAsMHhjYiwweDkwLDB4M2EsMHg2MSwweDBkLDB4MzgsMHgwMywweGNlLDB4ZDEsMHhlMSwweDk4IH0sCi0gIDE2LCAweGUyZTAsIDAsIHsweDMwLDB4YTQsMHg4ZiwweDEwLDB4MDMsMHg4OCwweDAwLDB4YmEsMHhhMSwweDNjLDB4ODQsMHgwNywweDAwLDB4MDMsMHg4MiwweGQ0IH0sCi0gIDE2LCAweGUyZjAsIDAsIHsweGQxLDB4MDAsMHg3MiwweDgwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzMDAsIDAsIHsweDQwLDB4MTUsMHhiYywweDA0LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMyLDB4MjMsMHhlYywweGIwLDB4ZmYsMHgwMCwweDMyIH0sCi0gIDE2LCAweGUzMTAsIDAsIHsweDA0LDB4MDYsMHhiNCwweDIzLDB4N2MsMHgxMCwweGJmLDB4MDAsMHgzZSwweDg0LDB4MGYsMHhiMCwweDAzLDB4N2MsMHg0MCwweGZmIH0sCi0gIDE2LCAweGUzMjAsIDAsIHsweDAwLDB4MzMsMHg0MCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZSwweDAwLDB4YmYsMHg0MCwweDBmLDB4YzgsMHgwMywweGQwIH0sCi0gIDE2LCAweGUzMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTQsMHgwMCwweGNiLDB4MzMsMHgzZSwweGM4IH0sCi0gIDE2LCAweGUzNDAsIDAsIHsweDRjLDB4YjAsMHgwMywweGFjLDB4OTAsMHhkYiwweGEwLDB4MzYsMHhjMCwweDBlLDB4YmEsMHg0MywweDZjLDB4MDAsMHhjOSwweDAwIH0sCi0gIDE2LCAweGUzNTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDAwLDB4MGYsMHgyOCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweDE4LDB4NDMsMHg2MCwweDAwIH0sCi0gIDE2LCAweGUzNjAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDQwLDB4NGYsMHgwOCwweDBiLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDEwLDB4MDcsMHgwOCwweDJjLDB4Y2EsMHgwOCwweDIwLDB4MDIsMHgxYywweDIwLDB4ODcsMHgyOCwweDNmIH0sCi0gIDE2LCAweGUzODAsIDAsIHsweDgwLDB4OGEsMHhmMCwweDAyLDB4MWQsMHg0MCwweDg3LDB4MDQsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweGI2IH0sCi0gIDE2LCAweGUzOTAsIDAsIHsweDAwLDB4MmQsMHg4MCwweDBiLDB4NjAsMHgwMywweDFjLDB4MDAsMHhiNSwweDAwLDB4MmQsMHg4MCwweDBiLDB4NzAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGUzYTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDg3LDB4YTAsMHgyZCwweGU0IH0sCi0gIDE2LCAweGUzYjAsIDAsIHsweDBhLDB4NTgsMHgwMiwweDFlLDB4MDEsMHg4MywweDkwLDB4MjEsMHg3MCwweDBiLDB4NzksMHgwMiwweDllLDB4MDEsMHg4NSwweGMwIH0sCi0gIDE2LCAweGUzYzAsIDAsIHsweDJkLDB4ZTAsMHg0YiwweDU4LDB4MTIsMHgxYSwweDAwLDB4YjYsMHg4MCwweDJkLDB4MjAsMHgwYiwweDQ4LDB4MDIsMHg1MiwweDAwIH0sCi0gIDE2LCAweGUzZDAsIDAsIHsweGI0LDB4ODAsMHgyZCwweDIwLDB4MGIsMHg0OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzZTAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHg4OCwweDM2LDB4MDIsMHgwYywweDAyLDB4ODMsMHgwMCwweDZjIH0sCi0gIDE2LCAweGUzZjAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDBhLDB4YWMsMHgwMCwweDliLDB4ZTAsMHg2YywweGM4LDB4MGIsMHgzMiwweDAyLDB4MGMsMHgwMSwweGIzIH0sCi0gIDE2LCAweGU0MDAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MTAsMHhiMywweDQwLDB4MmMsMHhjMCwweDBiLDB4M2MsMHg4MiwweDEyIH0sCi0gIDE2LCAweGU0MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMiwweGNhLDB4MDAsMHgzZSwweDgwIH0sCi0gIDE2LCAweGU0MjAsIDAsIHsweDBlLDB4ZTQsMHg4YiwweDI4LDB4MDAsMHhjYSwweDAwLDB4MzMsMHg5NSwweDBmLDB4YTAsMHgwNywweGE4LDB4MDIsMHhjZSwweDQwIH0sCi0gIDE2LCAweGU0MzAsIDAsIHsweDNmLDB4YjAsMHgwZiwweGU0LDB4ODIsMHgyOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MjMsMHg2OCwweDAwIH0sCi0gIDE2LCAweGU0NDAsIDAsIHsweGZhLDB4NDAsMHgzZSwweDgxLDB4NGYsMHhhNCwweGUzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0NTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDgwLDB4ZjAsMHgwMCwweDNjLDB4MDAsMHgyZiwweDAwLDB4MDIsMHg2MCwweDAwLDB4ZTgsMHgwMCwweDNjIH0sCi0gIDE2LCAweGU0NjAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDAxLDB4MjAsMHgwMCwweGU4LDB4MDQsMHg1ZSwweDA0LDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGZjIH0sCi0gIDE2LCAweGU0NzAsIDAsIHsweDAxLDB4M2YsMHgxMCwweDBmLDB4YzQsMHgwMywweGIwLDB4MDAsMHhmYywweDA5LDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGQyIH0sCi0gIDE2LCAweGU0ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGE5LDB4MjAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGU0OTAsIDAsIHsweDBlLDB4OTAsMHgwMywweDQ0LDB4MDQsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweGU0LDB4MDQsMHhjOSwweDAwIH0sCi0gIDE2LCAweGU0YTAsIDAsIHsweDMyLDB4NDAsMHg4ZiwweDkwLDB4MGIsMHhlNCwweDA4LDB4ZjksMHgwMCwweDNlLDB4NDQsMHgwZSwweDk4LDB4MDMsMHhlNiwweDAwIH0sCi0gIDE2LCAweGU0YjAsIDAsIHsweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0YzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgxOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDJlIH0sCi0gIDE2LCAweGU0ZDAsIDAsIHsweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGQ5LDB4MDQsMHgyMiwweDQwLDB4MGIsMHgxYywweDBiLDB4NjQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGU0ZTAsIDAsIHsweDk0LDB4MmMsMHg1MCwweDA4LDB4OWMsMHgwMiwweGU0LDB4MTQsMHhiOSwweDkwLDB4MGUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGU0ZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMiwweDg5LDB4MDAsMHgyNiwweDQwIH0sCi0gIDE2LCAweGU1MDAsIDAsIHsweDRhLDB4OTAsMHgwMiwweDY0LDB4MDAsMHg5OSwweDA0LDB4MmUsMHg0MCwweDA4LDB4OTgsMHg4MiwweGU0LDB4MDAsMHg4OSwweDAwIH0sCi0gIDE2LCAweGU1MTAsIDAsIHsweDZhLDB4NDAsMHgwYSwweDkyLDB4ODIsMHhlNCwweDAwLDB4YmQsMHgwMSwweDJmLDB4NTAsMHgxMiwweGQ2LDB4MDIsMHhmNCwweDQwIH0sCi0gIDE2LCAweGU1MjAsIDAsIHsweGJkLDB4MDAsMHgwZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMiwweDJjIH0sCi0gIDE2LCAweGU1NDAsIDAsIHsweDQ4LDB4YTgsMHgxMiwweDA2LDB4YzQsMHg5MCwweDkxLDB4MjAsMHgyOCwweDUwLDB4MGIsMHg5MCwweDAyLDB4NDUsMHgwMCwweGI1IH0sCi0gIDE2LCAweGU1NTAsIDAsIHsweDQwLDB4NmQsMHg0MCwweDA4LDB4NTAsMHgxMiwweGQ0LDB4MDQsMHhiNSwweDAyLDB4MmQsMHg0MCwweDBiLDB4NTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGU1NjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGM4LDB4MDAsMHgzNiwweDE0IH0sCi0gIDE2LCAweGU1NzAsIDAsIHsweDBhLDB4ODUsMHgwMywweDQxLDB4NDAsMHhkOCwweDUwLDB4MmUsMHgxNCwweDBjLDB4ODUsMHgwMywweGMxLDB4NDAsMHhjOCwweDUwIH0sCi0gIDE2LCAweGU1ODAsIDAsIHsweGJhLDB4MDAsMHgwZSwweDgwLDB4MjMsMHhlMCwweDAwLDB4NzgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDA0IH0sCi0gIDE2LCAweGU1OTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1YTAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQwLDB4ZDksMHgxMCwweDNlLDB4NDQsMHgwNywweGYxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmIH0sCi0gIDE2LCAweGU1YjAsIDAsIHsweDQ0LDB4YWYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzNywweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGU1YzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweGU1ZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHhkNCwweGZkLDB4YTIsMHgzYSwweDcwIH0sCi0gIDE2LCAweGU1ZTAsIDAsIHsweDhjLDB4OWUsMHgwMywweDI2LDB4ODAsMHhjOSwweGEwLDB4MzIsMHg2OCwweDBjLDB4ZGIsMHg0MywweDI3LDB4ODAsMHg5ZCwweGEyIH0sCi0gIDE2LCAweGU1ZjAsIDAsIHsweGI3LDB4NDAsMHgwZiwweDUwLDB4MDMsMHg2NSwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzEsMHgwNywweGQwLDB4MDMsMHhmNSwweDA0IH0sCi0gIDE2LCAweGU2MDAsIDAsIHsweGZkLDB4NDAsMHgyZiwweGMwLDB4MGMsMHhkMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2MTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDg4LDB4YjgsMHg1MCwweDIyLDB4MzgsMHgwOCwweDhlLDB4MDAsMHhhMiwweGEwLDB4ODgsMHhlOCwweDIyIH0sCi0gIDE2LCAweGU2MjAsIDAsIHsweDM4LDB4NDgsMHg4OCwweDAzLDB4NjIsMHgxMCwweGE4LDB4ZTgsMHgzYywweDAwLDB4MGIsMHg4MCwweDAzLDB4NjIsMHg4MCwweGI4IH0sCi0gIDE2LCAweGU2MzAsIDAsIHsweDAxLDB4MmUsMHg4MCwweDBiLDB4ODAsMHgyMSwweGEyLDB4MDAsMHhiMCwweDg0LDB4MmUsMHgyYSwweDI4LDB4OGEsMHg4MiwweGNlIH0sCi0gIDE2LCAweGU2NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg0MCwweGIxLDB4MDAsMHgyOCwweDU4IH0sCi0gIDE2LCAweGU2NTAsIDAsIHsweDgwLDB4MTMsMHg0MCwweDA1LDB4MDAsMHg4MSwweDQwLDB4MjAsMHg1MiwweDI4LDB4MTYsMHgwMiwweDg1LDB4ODAsMHg5YiwweGMyIH0sCi0gIDE2LCAweGU2NjAsIDAsIHsweDY0LDB4NDEsMHg4YiwweDk4LDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwOSwweDJjLDB4NDAsMHgxYiwweDEwLDB4MjAsMHhjNCwweDAwIH0sCi0gIDE2LCAweGU2NzAsIDAsIHsweGIxLDB4MDAsMHgyYywweDQwLDB4NDgsMHgxMCwweDAyLDB4YzIsMHgwNSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ODAsIDAsIHsweDE4LDB4MTUsMHhhNSwweDg0LDB4YjksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4MDEsMHgwMCwweDIwIH0sCi0gIDE2LCAweGU2OTAsIDAsIHsweDUwLDB4MDgsMHg5MCwweDQyLDB4NjQsMHgwMCwweGE5LDB4MTAsMHhhZSwweDU4LDB4MDMsMHg5OCwweDAyLDB4NjQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGU2YTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0NiwweGE0LDB4MTAsMHhiOSwweDAwLDB4MmUsMHg0MSwweDA4LDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweGU2YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTcsMHgwMCwweGY5LDB4MDAsMHgyYSwweDQwIH0sCi0gIDE2LCAweGU2YzAsIDAsIHsweDJjLDB4OTQsMHgwYiwweDI0LDB4MDIsMHhjOSwweDAwLDB4YjIsMHg0NCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDQsMHhkOSwweDgwIH0sCi0gIDE2LCAweGU2ZDAsIDAsIHsweGI2LDB4NDEsMHg4ZiwweDE4LDB4MDMsMHgyNCwweDAwLDB4ZjksMHg2MCwweDNlLDB4NDAsMHgwZiwweDk2LDB4MDMsMHhlNCwweDAwIH0sCi0gIDE2LCAweGU2ZTAsIDAsIHsweGY5LDB4ODAsMHgzZSwweDQyLDB4OGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ZjAsIDAsIHsweDI4LDB4MDEsMHhhNiwweDAwLDB4ZjEsMHgwMCwweDNlLDB4NDAsMHgwZiwweDFjLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGU3MDAsIDAsIHsweDQwLDB4OGYsMHg5MCwweDIzLDB4YzQsMHgxMCwweGY5LDB4MDAsMHhiZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGU3MTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDA3LDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGU3MjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGY4LDB4MDAsMHhiZSwweDAwIH0sCi0gIDE2LCAweGU3MzAsIDAsIHsweDBlLDB4ODQsMHgwMywweDIwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4MDAsMHg4MywweDIwLDB4MDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweGU3NDAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDM2LDB4MTAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDA4IH0sCi0gIDE2LCAweGU3NTAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3NjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIyLDB4ODAsMHg0OCwweGEwLDB4MDMsMHg2OCwweDAwLDB4YWEsMHgwMCwweDJhIH0sCi0gIDE2LCAweGU3NzAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAzLDB4NjgsMHgwMCwweDgyLDB4MDAsMHgyZiwweDgwLDB4MDgsMHhlNiwweDAyLDB4MjgsMHgwNCwweGJlIH0sCi0gIDE2LCAweGU3ODAsIDAsIHsweDQwLDB4MjMsMHg4MCwweDBiLDB4ZTgsMHgwMiwweGVhLDB4MDAsMHhiZSwweDAxLDB4MjIsMHg4MCwweDBiLDB4ZTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweGU3OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMSwweDkzLDB4MDEsMHgyMCwweGMxIH0sCi0gIDE2LCAweGU3YTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwLDB4MjAsMHhjMCwweDg4LDB4MzgsMHg0MiwweDBjLDB4MDAsMHhhMywweDAwIH0sCi0gIDE2LCAweGU3YjAsIDAsIHsweDI0LDB4YzAsMHgwYSwweDNlLDB4NDIsMHg4YywweDAwLDB4YjIsMHg0YywweDI0LDB4ZTAsMHg0YiwweDM4LDB4MDIsMHhjNCwweDQxIH0sCi0gIDE2LCAweGU3YzAsIDAsIHsweGIzLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgxMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3ZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjcsMHgwMCwweDIwLDB4YzksMHg0OCwweDcwLDB4MDIsMHhkYywweDQwLDB4YTcsMHgxNCwweDJjIH0sCi0gIDE2LCAweGU3ZTAsIDAsIHsweGM4LDB4MjgsMHgzMCwweDgyLDB4NWMsMHhjMSwweDg1LDB4MDAsMHgyZCwweGUwLDB4MmEsMHhmMCwweDEyLDB4MWMsMHg4MCwweGI3IH0sCi0gIDE2LCAweGU3ZjAsIDAsIHsweGEwLDB4MjEsMHg4MiwweDBiLDB4NzAsMHg4MiwweGQ0LDB4MTEsMHhiNiwweDgwLDB4MjEsMHg0MCwweDRiLDB4NTAsMHgwMiwweGU4IH0sCi0gIDE2LCAweGU4MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHg4MCwweGQ1LDB4ODAsMHgyOSwweGVhIH0sCi0gIDE2LCAweGU4MTAsIDAsIHsweDRlLDB4M2EsMHgwNywweDBlLDB4ODAsMHhlMywweGIwLDB4MzEsMHhmYywweDBjLDB4NDgsMHgwMywweDBlLDB4NDEsMHhlNywweDgwIH0sCi0gIDE2LCAweGU4MjAsIDAsIHsweDNkLDB4ZTAsMHgwZSwweDc4LDB4MDMsMHg5ZSwweDgwLDB4ZjQsMHhjNCwweDM1LDB4ZTAsMHgwZiwweDc4LDB4MjcsMHhkZSwweDAwIH0sCi0gIDE2LCAweGU4MzAsIDAsIHsweGY1LDB4ODAsMHhiMSwweGUwLDB4MGYsMHg1OCwweDAzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4NDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4MzEsMHgwNCwweDNhLDB4YzQsMHgwZiwweGI1LDB4OTMsMHg2ZCwweDA4LDB4ZmIsMHg0MCwweDNhIH0sCi0gIDE2LCAweGU4NTAsIDAsIHsweGM4LDB4NjMsMHg4MCwweDIzLDB4ZWMsMHg5OCwweGU5LDB4MDAsMHgzZSwweGMwLDB4MGQsMHhiMCwweDQzLDB4ZWMsMHgwMCwweGYzIH0sCi0gIDE2LCAweGU4NjAsIDAsIHsweDgwLDB4M2UsMHg0MCwweDRmLDB4YTAsMHgwMywweGVjLDB4MDAsMHhmOCwweDY4LDB4M2UsMHg0MCwweDhmLDB4OTgsMHgwMywweGMyIH0sCi0gIDE2LCAweGU4NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg2MCwweGViLDB4OTAsMHgzZSwweGU0IH0sCi0gIDE2LCAweGU4ODAsIDAsIHsweDBmLDB4YjgsMHgwMCwweDNmLDB4NDAsMHhjYiwweDgwLDB4N2YsMHhlMCwweDBlLDB4ZmIsMHgwMywweDJlLDB4NDAsMHhjYiwweDgwIH0sCi0gIDE2LCAweGU4OTAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweDc5LDB4NDMsMHgyZSwweDYwLDB4Y2EsMHg4MSwweDMzLDB4NjQsMHg4ZiwweGQ5LDB4MDMsMHhmZSwweDAwIH0sCi0gIDE2LCAweGU4YTAsIDAsIHsweGZmLDB4ODEsMHgzMywweGUwLDB4MGYsMHhkOSwweDhiLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4YjAsIDAsIHsweGE4LDB4MDEsMHg5YywweDAwLDB4ODcsMHg4MSwweDE5LDB4ZTQsMHgwYiwweGZhLDB4MTMsMHg1ZSwweDgwLDB4ODcsMHhiMiwweDJkIH0sCi0gIDE2LCAweGU4YzAsIDAsIHsweGVjLDB4MGQsMHg3OSwweDAxLDB4OWUsMHgwMCwweGQ1LDB4OTAsMHgyZCwweGY4LDB4MGIsMHg3OCwweDAzLDB4N2UsMHgwOCwweGFiIH0sCi0gIDE2LCAweGU4ZDAsIDAsIHsweDkxLDB4MjksMHg4NSwweDBiLDB4NTEsMHgwMiwweGRjLDB4NDgsMHhiNiwweDQwLDB4MjEsMHg0MCwweDBiLDB4NTAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGU4ZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OGMsMHgxNCwweGI1LDB4MjAsMHg2ZCwweGM4IH0sCi0gIDE2LCAweGU4ZjAsIDAsIHsweDBiLDB4NzIsMHgwMiwweDVjLDB4ODAsMHg4NywweDIwLDB4NjksMHhjMCwweDg4LDB4NTMsMHgwMiwweGNjLDB4ODEsMHg5NywweDUwIH0sCi0gIDE2LCAweGU5MDAsIDAsIHsweDJkLDB4YzgsMHgwYiwweGY3LDB4MGEsMHhkYywweGMwLDB4ODQsMHgwMSwweDIxLDB4NDQsMHgxYiwweDcwLDB4MjIsMHhkYywweDAwIH0sCi0gIDE2LCAweGU5MTAsIDAsIHsweGI1LDB4MDAsMHgyMSwweGM0LDB4MGIsMHg1MCwweDg2LDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5MjAsIDAsIHsweDIwLDB4MTQsMHhjZiwweDMwLDB4OTEsMHgwMCwweDJjLDB4YzAsMHgwYiwweDM0LDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjIH0sCi0gIDE2LCAweGU5MzAsIDAsIHsweGYyLDB4MGIsMHgxMCwweDIyLDB4MGMsMHgwMCwweDkxLDB4MDAsMHgyYywweGM4LDB4MGIsMHgxOCwweDBhLDB4Y2QsMHgwMSwweGEzIH0sCi0gIDE2LCAweGU5NDAsIDAsIHsweDAwLDB4MjgsMHg2MCwweDBiLDB4MjEsMHgwMiwweGNlLDB4MjAsMHhiOCwweDQwLDB4YTAsMHg1NCwweDBiLDB4MTgsMHgwMiwweDA4IH0sCi0gIDE2LCAweGU5NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmQsMHgwMCwweGY5LDB4MDAsMHgyZiwweGMwIH0sCi0gIDE2LCAweGU5NjAsIDAsIHsweDBmLDB4ZjQsMHgwMiwweDdjLDB4MTIsMHhjZiwweDAzLDB4M2YsMHhjMiwweDBlLDB4YjAsMHgwMywweGZjLDB4MDQsMHg5YiwweDAyIH0sCi0gIDE2LCAweGU5NzAsIDAsIHsweDJlLDB4ZjIsMHgwZiwweGE0LDB4MGIsMHhkYywweDAwLDB4Y2UsMHgwMCwweGIwLDB4YzgsMHg4ZiwweGE0LDB4MDMsMHhlZiwweDAwIH0sCi0gIDE2LCAweGU5ODAsIDAsIHsweGY4LDB4ODAsMHgzMiwweGY1LDB4MWYsMHhkZCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5OTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDQwLDB4ZTksMHgwMCwweDNhLDB4YzAsMHgwZiwweGIxLDB4MDMsMHhjYywweDAwLDB4ZjMsMHgwMCwweDNlIH0sCi0gIDE2LCAweGU5YTAsIDAsIHsweGMwLDB4MGQsMHhiNCwweDA5LDB4ZWMsMHgxOCwweGY5LDB4MTAsMHgzZSwweDEwLDB4NGYsMHhiMSwweDBhLDB4NmMsMHg4MCwweGY5IH0sCi0gIDE2LCAweGU5YjAsIDAsIHsweDg5LDB4MzYsMHg4MiwweDBiLDB4YTYsMHgwMywweGVjLDB4NTAsMHhmOSwweDUwLDB4M2UsMHhjMCwweDFmLDB4OTAsMHgwMywweDYwIH0sCi0gIDE2LCAweGU5YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZkLDB4YTAsMHgzZCwweGMwIH0sCi0gIDE2LCAweGU5ZDAsIDAsIHsweDBjLDB4NzAsMHg4MywweDJjLDB4MDAsMHhlZiwweDAyLDB4MzUsMHhjMCwweDBkLDB4ZTIsMHgwMywweGZjLDB4MDQsMHhmZiwweDAyIH0sCi0gIDE2LCAweGU5ZTAsIDAsIHsweDJkLDB4ZTAsMHg4ZSwweGYwLDB4MDMsMHgzYywweDEwLDB4ZGMsMHgwMCwweDNmLDB4ODAsMHgwYywweGQ4LDB4MDMsMHhmYywweDAwIH0sCi0gIDE2LCAweGU5ZjAsIDAsIHsweGRlLDB4MTgsMHgzMywweGYwLDB4NGYsMHhkMCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhMDAsIDAsIHsweDgxLDB4MDAsMHg2YywweDAwLDB4YjksMHgwMCwweDJlLDB4YzAsMHg0YywweGIwLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwMiwweDM2IH0sCi0gIDE2LCAweGVhMTAsIDAsIHsweGMwLDB4MGQsMHhhYywweDEyLDB4ZWMsMHgwMCwweDc5LDB4MDAsMHgyZSwweDMwLDB4MGQsMHgzZCwweDQyLDB4YWMsMHgwMCwweDg5IH0sCi0gIDE2LCAweGVhMjAsIDAsIHsweDg4LDB4MWEsMHgxMCwweDBkLDB4ODYsMHgwMiwweGVlLDB4MDQsMHhiYiwweDQwLDB4MjIsMHhlMCwweDBiLDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGVhMzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMSwweGI5LDB4MDAsMHgyZSwweGMwIH0sCi0gIDE2LCAweGVhNDAsIDAsIHsweDA4LDB4YjAsMHg0MiwweGFjLDB4MDAsMHgwYiwweDA1LDB4MjYsMHhjMCwweDA5LDB4OTQsMHgyMCwweGVjLDB4MDAsMHhiOSwweDgwIH0sCi0gIDE2LCAweGVhNTAsIDAsIHsweDZlLDB4YzQsMHg4OCwweGIwLDB4ODIsMHgyYywweDAwLDB4OWIsMHg4MiwweDJlLDB4NDIsMHgwOCwweDgxLDB4MDIsMHhlNCwweDgwIH0sCi0gIDE2LCAweGVhNjAsIDAsIHsweGI4LDB4MDAsMHgyMiwweGMxLDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4YjEsMHgyNSwweDJjLDB4Y2EsMHgwOCwweDM0LDB4NDYsMHhjYywweDA4LDB4ODMsMHgwMCwweDI0IH0sCi0gIDE2LCAweGVhODAsIDAsIHsweGMyLDB4MGIsMHgwMiwweDUyLDB4Y2MsMHg4MSwweDgzLDB4MDAsMHgyYywweDAwLDB4MTksMHhiMiwweDQyLDB4YWMsMHg4MCwweDgxIH0sCi0gIDE2LCAweGVhOTAsIDAsIHsweDA4LDB4MjgsMHg4MCwweDA5LDB4MDAsMHgwMiwweGM0LDB4NDAsMHhiMSwweDAwLDB4MjAsMHhjMCwweDBiLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGVhYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NmMsMHgwMCwweGI5LDB4MDAsMHgzZiwweGQwIH0sCi0gIDE2LCAweGVhYjAsIDAsIHsweDA4LDB4ZjYsMHgwNywweGJjLDB4YzIsMHhhZiwweDMwLDB4NzUsMHhkYywweDBkLDB4MTYsMHgwMiwweGZjLDB4ZTAsMHhiOSwweDUwIH0sCi0gIDE2LCAweGVhYzAsIDAsIHsweDNlLDB4Y2MsMHgwYywweGIwLDB4MjMsMHgyYywweDEwLDB4ZDksMHgwMCwweDNlLDB4MDAsMHgwYywweDkwLDB4MDMsMHhlYywweDAwIH0sCi0gIDE2LCAweGVhZDAsIDAsIHsweGRlLDB4MDEsMHgzMiwweGMwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhZTAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmQsMHgxMCwweDNmLDB4Y2EsMHgyZSwweGY2LDB4MDMsMHg2ZCwweDk0LDB4OWYsMHgzMCwweDNhIH0sCi0gIDE2LCAweGVhZjAsIDAsIHsweGM5LDB4MGMsMHg4MywweDkzLDB4ZmMsMHg4MCwweGZmLDB4MTEsMHg3ZSwweDE5LDB4MGIsMHhiMSwweDAzLDB4ZmMsMHg0MCwweGZkIH0sCi0gIDE2LCAweGViMDAsIDAsIHsweDA4LDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwMywweGZjLDB4ODAsMHg3NywweDAwLDB4YmYsMHhjMCwweDBmLDB4NTAsMHgwMywweGU4IH0sCi0gIDE2LCAweGViMTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHgwMCwweGY0LDB4OTQsMHgzNywweGM4IH0sCi0gIDE2LCAweGViMjAsIDAsIHsweDBkLDB4NjksMHg2MywweDdjLDB4MTAsMHhmZiwweDYyLDB4MzcsMHhjMCwweDBkLDB4YjQsMHgwMywweDdjLDB4NjAsMHhkNCwweDgwIH0sCi0gIDE2LCAweGViMzAsIDAsIHsweDNmLDB4NDAsMHgwZiwweDQ4LDB4MjMsMHgzMiwweDAwLDB4Y2UsMHgwMCwweGJmLDB4NDAsMHg4ZiwweGQxLDB4MDMsMHgzMCwweGUwIH0sCi0gIDE2LCAweGViNDAsIDAsIHsweGZmLDB4MzAsMHgzYiwweDYwLDB4MGYsMHhkOCwweDAzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViNTAsIDAsIHsweDgwLDB4MTAsMHhlZCwweDIwLDB4YjgsMHgyNCwweDIzLDB4ZjQsMHg0OSwweGEyLDB4MDIsMHgzZiwweDQwLDB4OGYsMHg1MSwweDIzIH0sCi0gIDE2LCAweGViNjAsIDAsIHsweGRhLDB4MDgsMHhmNiwweDEyLDB4M2QsMHg4MCwweDliLDB4ODAsMHgyZSwweDQ5LDB4NGIsMHg4MCwweDAzLDB4NDAsMHgwMCwweGQ5IH0sCi0gIDE2LCAweGViNzAsIDAsIHsweDAxLDB4MjIsMHg3NCwweDBiLDB4ZDUsMHgwMiwweDIxLDB4MDAsMHhiZiwweDQyLDB4MmUsMHg0OSwweDBiLDB4OWMsMHgwMiwweGUwIH0sCi0gIDE2LCAweGViODAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2QsMHg4MCwweGI4LDB4MjAsMHgyOCwweGMxIH0sCi0gIDE2LCAweGViOTAsIDAsIHsweDFiLDB4YTAsMHgwMiwweDRjLDB4MDAsMHg5MywweDIwLDB4MmMsMHhkOCwweDBiLDB4MzQsMHgwMiwweGNjLDB4MDAsMHg5MCwweDAxIH0sCi0gIDE2LCAweGViYTAsIDAsIHsweDJjLDB4YzYsMHgxYSwweGEwLDB4MDIsMHg2OCwweDA4LDB4ODMsMHgwMCwweGE0LDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViYjAsIDAsIHsweGIzLDB4MTAsMHgyOCwweDQyLDB4MGIsMHgxNCwweDAyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViYzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4YjgsMHg2MCwweDJhLDB4YzAsMHgxYiwweGEwLDB4OGUsMHhhYywweDAxLDB4OWIsMHgwNSwweDI2IH0sCi0gIDE2LCAweGViZDAsIDAsIHsweGMwLDB4MDMsMHhiMCwweDQyLDB4NmMsMHgwMCwweDliLDB4ODAsMHgyZSwweGMwLDB4MDMsMHhhMCwweDA2LDB4NjksMHgwMCwweDk5IH0sCi0gIDE2LCAweGViZTAsIDAsIHsweDgwLDB4YWEsMHhjMCwweDBiLDB4OTAsMHgwMiwweDYzLDB4MDAsMHgzYiwweDAwLDB4MmUsMHg1OCwweDRiLDB4OTAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGViZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZWMsMHgwNCwweGY4LDB4ODAsMHhiYSwweGMwIH0sCi0gIDE2LCAweGVjMDAsIDAsIHsweDBmLDB4MzAsMHgwMywweDZjLDB4MTAsMHhkYiwweDAzLDB4MzYsMHhjMCwweDhmLDB4YjAsMHgwMywweGVjLDB4MDgsMHhkOCwweDgwIH0sCi0gIDE2LCAweGVjMTAsIDAsIHsweDdlLDB4ZTAsMHgwNiwweDg4LDB4MDMsMHg0MSwweDA4LDB4Y2IsMHhhMCwweDNlLDB4NjQsMHgwZiwweDkwLDB4MGIsMHgyYSwweDAwIH0sCi0gIDE2LCAweGVjMjAsIDAsIHsweDdiLDB4MDAsMHgzYSwweDAxLDB4MGYsMHg5MCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmMsMHg4NCwweDMyLDB4YzAsMHgwYywweGY5LDB4MDMsMHg1YywweDEwLDB4ZWYsMHgwMCwweDNiIH0sCi0gIDE2LCAweGVjNDAsIDAsIHsweGMwLDB4MGMsMHg3MCwweDAzLDB4OWMsMHgwMCwweGVjLDB4MDEsMHgzZiwweGU0LDB4NGYsMHhkMSwweDAzLDB4ZjEsMHgwMCwweGYzIH0sCi0gIDE2LCAweGVjNTAsIDAsIHsweDA1LDB4MzMsMHg2MCwweDBmLDB4ZDAsMHgwMywweGJjLDB4MDQsMHhmZiwweDAwLDB4M2YsMHgyMSwweDBmLDB4ZDAsMHgwMywweGY4IH0sCi0gIDE2LCAweGVjNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGM4LDB4NDAsMHgzYSwweGM2IH0sCi0gIDE2LCAweGVjNzAsIDAsIHsweDBkLDB4YjQsMHgwMywweDZjLDB4MDAsMHhmMywweDAwLDB4MzQsMHhjMCwweDBlLDB4YjAsMHgwMywweDZjLDB4MDAsMHhlOSwweDEwIH0sCi0gIDE2LCAweGVjODAsIDAsIHsweDNhLDB4YzAsMHgwZiwweDg0LDB4MDMsMHgyYywweDYwLDB4Y2IsMHgwMCwweDMyLDB4NjAsMHgwYywweDUwLDB4MDMsMHg2MSwweDAwIH0sCi0gIDE2LCAweGVjOTAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDkwLDB4MGUsMHg5MCwweGEzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjYTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAyLDB4ODgsMHgwMSwweDAxLDB4ZjAsMHgyMCwweGIwLDB4MDEsMHgzZSwweDAwLDB4M2YsMHgwMCwweDMzIH0sCi0gIDE2LCAweGVjYjAsIDAsIHsweGMwLDB4MGIsMHhmMCwweDMyLDB4M2MsMHgwOCwweDg5LDB4ODAsMHgyMiwweGMwLDB4MDEsMHgxNSwweDEyLDB4YWMsMHgwMCwweDhiIH0sCi0gIDE2LCAweGVjYzAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDQ4LDB4ZGIsMHgwMiwweDJmLDB4NDAsMHg4ZiwweDAwLDB4MmUsMHgwMSwweDA4LDB4ZDQsMHg4MCwweDMyIH0sCi0gIDE2LCAweGVjZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDA4LDB4MDAsMHgwOCwweGYwIH0sCi0gIDE2LCAweGVjZTAsIDAsIHsweDA4LDB4MDAsMHgxMiwweDRjLDB4MDAsMHgzMywweDAxLDB4MjQsMHhjMCwweDRhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhhMCwweDIwIH0sCi0gIDE2LCAweGVjZjAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg0NiwweDA0LDB4ODMsMHgwNCwweDIwLDB4YzAsMHgyOSwweDE4LDB4MDIsMHgwNCwweDQwIH0sCi0gIDE2LCAweGVkMDAsIDAsIHsweGIzLDB4MDAsMHgyYywweDQwLDB4MGEsMHgxYywweDQyLDB4YjEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAxLDB4OGQsMHg4MCwweDIxLDB4ZTAsMHgxOCwweGM4LDB4MDIsMHgxZSwweDAwLDB4YjMsMHhhMCwweDIxIH0sCi0gIDE2LCAweGVkMjAsIDAsIHsweGUwLDB4MWIsMHgzOCwweDAyLDB4MGUsMHgwMSwweGE3LDB4ODAsMHgyMSwweGUwLDB4MDksMHhkOCwweDQwLDB4ZDYsMHg0MCwweDg3IH0sCi0gIDE2LCAweGVkMzAsIDAsIHsweDgwLDB4MDEsMHhlMCwweDA5LDB4NTksMHgwMiwweDE2LDB4MDAsMHg5NywweDg0LDB4MmQsMHg2MCwweDA4LDB4NTgsMHg0MCwweDAwIH0sCi0gIDE2LCAweGVkNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MmMsMHg0MCwweGMwLDB4MDAsMHgzOCwweGM0IH0sCi0gIDE2LCAweGVkNTAsIDAsIHsweDBjLDB4MzAsMHgyNywweDRjLDB4MjAsMHhmMywweDAxLDB4MzQsMHhjMSwweDBlLDB4M2EsMHgwMywweDRjLDB4YzQsMHhlMCwweDAwIH0sCi0gIDE2LCAweGVkNjAsIDAsIHsweDE4LDB4YzgsMHgwZiwweDM0LDB4MDMsMHg0NCwweDQwLDB4YzMsMHgwMCwweDMwLDB4YzAsMHgwZCwweDkwLDB4MDMsMHgyZSwweDAwIH0sCi0gIDE2LCAweGVkNzAsIDAsIHsweGYzLDB4MDAsMHgzZSwweDQwLDB4MGUsMHgxMCwweDAxLDB4OWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZjksMHgwMCwweDBlLDB4ZDQsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZmIsMHgyMCwweDNmIH0sCi0gIDE2LCAweGVkOTAsIDAsIHsweGM0LDB4MGYsMHhmMSwweDAzLDB4ZWMsMHg2MCwweGRiLDB4MTAsMHgzZiwweGMwLDB4NGYsMHhmMCwweDAzLDB4YTQsMHg0NiwweGZiIH0sCi0gIDE2LCAweGVkYTAsIDAsIHsweDAwLDB4YmQsMHhjMCwweDBlLDB4ZDAsMHgwYiwweGI0LDB4MDAsMHhlZiwweDQ4LDB4M2YsMHg0MCwweDBmLDB4NTAsMHgwMywweGQwIH0sCi0gIDE2LCAweGVkYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGY4LDB4MDAsMHgzMiwweGQ0IH0sCi0gIDE2LCAweGVkYzAsIDAsIHsweDBmLDB4ODAsMHgwMywweGFkLDB4MDAsMHhlYiwweDA4LDB4MjIsMHhkMiwweDBjLDB4YjYsMHgwMywweDZjLDB4MDAsMHhmMiwweDgwIH0sCi0gIDE2LCAweGVkZDAsIDAsIHsweDM2LDB4YzAsMHgwZSwweGEwLDB4MDMsMHgyOCwweDEwLDB4Y2IsMHgwMCwweGIyLDB4YzAsMHgwZiwweGQ2LDB4MDMsMHgyOCwweDEwIH0sCi0gIDE2LCAweGVkZTAsIDAsIHsweGZiLDB4MjAsMHgzZSwweDQwLDB4NGYsMHg5OSwweDEzLDB4MmIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkZjAsIDAsIHsweDQ4LDB4MTEsMHg5ZCwweDEwLDB4YjQsMHgwMSwweDIxLDB4YzEsMHg4YiwweGMwLDB4MDIsMHgxYywweGEwLDB4YmYsMHgwNCwweDI3IH0sCi0gIDE2LCAweGVlMDAsIDAsIHsweGM4LDB4MDgsMHg3NSwweDAyLDB4MWMsMHhjMCwweGI2LDB4MDAsMHgyMSwweGMwLDB4MDgsMHhmMCwweDQyLDB4MTgsMHgxMCwweDhmIH0sCi0gIDE2LCAweGVlMTAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDBiLDB4NTQsMHhhMiwweDFjLDB4MDAsMHhiNywweDA0LDB4MmQsMHg0MSwweDBiLDB4NTIsMHgwMiwweDEyIH0sCi0gIDE2LCAweGVlMjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg4MCwweGI2LDB4ODgsMHhhNSwweGUwIH0sCi0gIDE2LCAweGVlMzAsIDAsIHsweDBiLDB4NzgsMHgxMiwweDllLDB4ODEsMHhhNywweDkwLDB4MjUsMHhlNCwweDg4LDB4NzgsMHgwMiwweDFlLDB4ODAsMHhiZiwweDgwIH0sCi0gIDE2LCAweGVlNDAsIDAsIHsweDI0LDB4NjAsMHgwYiwweDY4LDB4MDIsMHgxZSwweDAwLDB4ODcsMHg4NCwweDYxLDB4ZTAsMHgwYSwweDFhLDB4MGEsMHgxYSwweDAwIH0sCi0gIDE2LCAweGVlNTAsIDAsIHsweGI3LDB4YTAsMHgyZCwweGUwLDB4MGIsMHhkYSwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlNjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YmEsMHhjMCwweGE0LDB4YzAsMHgwYiwweDM0LDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI0IH0sCi0gIDE2LCAweGVlNzAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDBlLDB4MmMsMHgwMCwweGIzLDB4OTgsMHgyMCwweDYwLDB4MDksMHgzMywweDAyLDB4MmMsMHgwMCwweGEzIH0sCi0gIDE2LCAweGVlODAsIDAsIHsweGM4LDB4MjAsMHhjMCwweDBiLDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhmMCwweDBiLDB4MTAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGVlOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4ODAsMHgzNiwweDgxIH0sCi0gIDE2LCAweGVlYTAsIDAsIHsweDBiLDB4ZTAsMHgwMywweGE4LDB4MDAsMHhlYSwweDAwLDB4YjIsMHg4MCwweDA4LDB4YTAsMHgwMywweDY4LDB4MDAsMHhmZSwweDAwIH0sCi0gIDE2LCAweGVlYjAsIDAsIHsweDM2LDB4YTAsMHgxZiwweGU4LDB4MTMsMHgzYiwweDgyLDB4Y2UsMHhlMCwweDIyLDB4ODAsMHg4ZSwweGEwLDB4MDMsMHgzOCwweDAwIH0sCi0gIDE2LCAweGVlYzAsIDAsIHsweGJhLDB4MDAsMHgzZiwweGEyLDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgyMCwweDNhLDB4MTAsMHgwNywweDgwLDB4MDMsMHhjMSwweDAwLDB4ZjgsMHgwMCwweDM4IH0sCi0gIDE2LCAweGVlZTAsIDAsIHsweDAwLDB4MmYsMHg4MCwweDAzLDB4YTAsMHgwMSwweGY4LDB4NDIsMHgzZSwweDA1LDB4MGUsMHg4MCwweDBiLDB4ZTAsMHg4MCwweGQ4IH0sCi0gIDE2LCAweGVlZjAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwYiwweGQyIH0sCi0gIDE2LCAweGVmMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzYSwweDUwIH0sCi0gIDE2LCAweGVmMTAsIDAsIHsweDhmLDB4OTAsMHg4MywweGE0LDB4MDIsMHhkMSwweDAwLDB4YjIsMHg0MCwweDRjLDB4OTAsMHgyMywweDI0LDB4MDgsMHhjOSwweDAxIH0sCi0gIDE2LCAweGVmMjAsIDAsIHsweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHgwZiwweDE0LDB4MGEsMHgyNSwweDIwIH0sCi0gIDE2LCAweGVmMzAsIDAsIHsweGU5LDB4MDAsMHgzZSwweDQyLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmNDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDBhLDB4ODksMHgwMCwweDIyLDB4NzAsMHgwYiwweDkwLDB4MTIsMHgyNSwweDgwLDB4YzksMHgwMCwweDIyIH0sCi0gIDE2LCAweGVmNTAsIDAsIHsweDQwLDB4MGEsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4MjAsMHgyYywweDQwLDB4MGEsMHg5MCwweDBhLDB4MjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGVmNjAsIDAsIHsweGMxLDB4MzIsMHg0MCwweDBiLDB4OTgsMHgwMiwweDA2LDB4MDAsMHg4OSwweDkwLDB4MmUsMHg0MCwweDBiLDB4OTQsMHgxMiwweGUwIH0sCi0gIDE2LCAweGVmNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MDQsMHgwMCwweDg5LDB4MDAsMHg2YSwweDQyIH0sCi0gIDE2LCAweGVmODAsIDAsIHsweDBhLDB4MTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4YTIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDI0LDB4MDAsMHgwOSwweDAwIH0sCi0gIDE2LCAweGVmOTAsIDAsIHsweDJlLDB4NDAsMHg1OCwweDEwLDB4MDIsMHgyNCwweDAwLDB4ODksMHg4MCwweGFhLDB4NjAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA0IH0sCi0gIDE2LCAweGVmYTAsIDAsIHsweGE5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5NCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwMCwweDYwLDB4NDgsMHgwYiwweDEwLDB4MDIsMHgwNCwweDgxLDB4ODEsMHgyMCwweDYwIH0sCi0gIDE2LCAweGVmYzAsIDAsIHsweDQ4LDB4MGEsMHgxMiwweDAyLDB4NDQsMHg4OCwweDgxLDB4MDAsMHgwZSwweDU5LDB4MGEsMHgxNCwweDAyLDB4MDUsMHgwMCwweDgxIH0sCi0gIDE2LCAweGVmZDAsIDAsIHsweGMwLDB4MjgsMHg1MCwweDQ5LDB4MzAsMHgwMiwweDhjLDB4ODQsMHgwMSwweDYwLDB4MmMsMHg1MCwweDBiLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGVmZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGMwLDB4NTQsMHgyYSwweDAwIH0sCi0gIDE2LCAweGVmZjAsIDAsIHsweDBlLDB4ODUsMHgwMywweGEwLDB4MDAsMHhjOCwweDUwLDB4MzIsMHgxNSwweDFlLDB4MDUsMHgyMiwweDIxLDB4NDIsMHhjOCwweDAwIH0sCi0gIDE2LCAweGYwMDAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHgwMCwweDA0LDB4YzgsMHgwMCwweDNhLDB4MDAsMHg0ZiwweDg1LDB4MDMsMHhhMSwweDQwIH0sCi0gIDE2LCAweGYwMTAsIDAsIHsweDY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZmQsMHgwMywweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQ4LDB4ZTksMHgxMCwweDNlIH0sCi0gIDE2LCAweGYwMzAsIDAsIHsweDQ1LDB4MGYsMHg5MSwweDEzLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMiwweGZkIH0sCi0gIDE2LCAweGYwNDAsIDAsIHsweDQwLDB4MzMsMHg1MCwweDBmLDB4ZDQsMHgyMywweDc0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4NTQsMHgwMywweGU2IH0sCi0gIDE2LCAweGYwNTAsIDAsIHsweDAyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTQsMHgwMCwweGY5LDB4MDEsMHgzMywweDZhIH0sCi0gIDE2LCAweGYwNjAsIDAsIHsweDA5LDB4OTAsMHgwMywweGI2LDB4MzQsMHhmOSwweGM4LDB4MzIsMHg2NCwweDBjLDB4OWEsMHgwMywweGU2LDB4YTAsMHhkZCwweDAwIH0sCi0gIDE2LCAweGYwNzAsIDAsIHsweDNjLDB4NzAsMHgwZiwweDkwLDB4MDMsMHhhNSwweDAwLDB4ODksMHg4MCwweDMzLDB4MzIsMHgwZiwweGQ4LDB4MTMsMHgzYywweDAwIH0sCi0gIDE2LCAweGYwODAsIDAsIHsweGZkLDB4MDAsMHg3MCwweDUwLDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwOTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDgwLDB4YjgsMHhhOCwweDIyLDB4MTAsMHgwOCwweDg4LDB4MDIsMHgyMSwweDAwLDB4YjgsMHhjMCwweDIwIH0sCi0gIDE2LCAweGYwYTAsIDAsIHsweDMwLDB4MGQsMHg4ZSwweDg3LDB4ODMsMHg4OCwweDg4LDB4MDAsMHgyZSwweDM0LDB4MGIsMHg4YSwweDgyLDB4MjIsMHg4MCwweGRjIH0sCi0gIDE2LCAweGYwYjAsIDAsIHsweGUwLDB4MjIsMHgzOCwweDBiLDB4ODAsMHgwMiwweDIwLDB4MDAsMHhmOCwweGE4LDB4MmEsMHgyOCwweDBiLDB4ODAsMHgwMiwweDBlIH0sCi0gIDE2LCAweGYwYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgyMCwweGIxLDB4MDAsMHgyMCwweDQwIH0sCi0gIDE2LCAweGYwZDAsIDAsIHsweDBhLDB4OTIsMHg5MiwweDg0LDB4MTEsMHhiMSwweDI0LDB4NjgsMHg1OCwweDA5LDB4MTEsMHgwMiwweGM0LDB4MjAsMHg5MSwweDAxIH0sCi0gIDE2LCAweGYwZTAsIDAsIHsweDJjLDB4NDgsMHgxYiwweDUwLDB4MDIsMHg3NCwweDg0LDB4OTUsMHg0OCwweGFjLDB4NDgsMHgwYiwweDk0LDB4MDIsMHgwNCwweDA0IH0sCi0gIDE2LCAweGYwZjAsIDAsIHsweGIxLDB4MDIsMHgyNCwweDQ4LDB4MGIsMHgxMCwweDAyLDB4MDIsMHgwNSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxMDAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4YjEsMHgyMCwweDIyLDB4NDAsMHgwYSwweDkwLDB4MDYsMHgyYywweDAxLDB4YjksMHgwMCwweDJhIH0sCi0gIDE2LCAweGYxMTAsIDAsIHsweDQwLDB4MDksMHg5MCwweDAyLDB4YTQsMHgwMCwweDliLDB4MDgsMHgyZSwweDQ4LDB4MGIsMHgxMiwweDFhLDB4NzQsMHgwMCwweDk1IH0sCi0gIDE2LCAweGYxMjAsIDAsIHsweDQ1LDB4MmUsMHg2MCwweDAzLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweGYxMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzMCwweDQwIH0sCi0gIDE2LCAweGYxNDAsIDAsIHsweDBlLDB4MTYsMHgwMywweGE0LDB4MDAsMHhiOSwweDA0LDB4MzIsMHg0MCwweDBkLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhkOSwweDQwIH0sCi0gIDE2LCAweGYxNTAsIDAsIHsweDJlLDB4NDAsMHgxZiwweDk4LDB4MDMsMHhlNSwweDgwLDB4ZDksMHgwMCwweGFlLDB4NjAsMHgwNywweDEwLDB4MGIsMHgyNiwweDAxIH0sCi0gIDE2LCAweGYxNjAsIDAsIHsweGI5LDB4MDAsMHhhNiwweDQwLDB4MGYsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweGJlLDB4NDAsMHhhYywweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweGI0IH0sCi0gIDE2LCAweGYxODAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHg4MCwweGY5IH0sCi0gIDE2LCAweGYxOTAsIDAsIHsweDAwLDB4MzIsMHgwMCwweDBmLDB4OTAsMHg4MywweGU2LDB4ODUsMHhlMSwweDAwLDB4MzIsMHg0NCwweDBmLDB4MTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGYxYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGYxYjAsIDAsIHsweDBmLDB4ODAsMHgxMywweGUwLDB4OTQsMHhlMCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhjOCwweDAwIH0sCi0gIDE2LCAweGYxYzAsIDAsIHsweDNlLDB4MDAsMHgwZCwweDgwLDB4NDMsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDQwIH0sCi0gIDE2LCAweGYxZDAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4NGMsMHg4MCwweDIzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIzLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhmYiwweDA0LDB4NmEsMHgwMCwweDIyIH0sCi0gIDE2LCAweGYxZjAsIDAsIHsweDgwLDB4MGEsMHhhMCwweDAzLDB4NjgsMHgwYSwweDhlLDB4ODgsMHgzYSwweDgwLDB4MDgsMHhhMCwweDAyLDB4MDgsMHgwMCwweGJhIH0sCi0gIDE2LCAweGYyMDAsIDAsIHsweDAwLDB4YjcsMHgyMiwweDAzLDB4ZTQsMHgwMiwweGZhLDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTgsMHgwMiwweGNhIH0sCi0gIDE2LCAweGYyMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHg2MCwweDQxIH0sCi0gIDE2LCAweGYyMjAsIDAsIHsweDAzLDB4MzAsMHgwMiwweGNjLDB4NDEsMHhhMywweDAwLDB4MDQsMHhjMCwweDBiLDB4MzAsMHgwMiwweDJjLDB4MDAsMHhhMywweDgwIH0sCi0gIDE2LCAweGYyMzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDM4LDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweGEwLDB4YzAsMHgwYiwweDM0LDB4MDIsMHhjYywweDgwIH0sCi0gIDE2LCAweGYyNDAsIDAsIHsweGExLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzOCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyNTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4YjcsMHgwMCwweDYxLDB4MDAsMHgwYiwweDcxLDB4MDIsMHhkYywweDAwLDB4YTMsMHgwMCwweDI1IH0sCi0gIDE2LCAweGYyNjAsIDAsIHsweGM4LDB4MTksMHgzOCwweDAyLDB4NWMsMHg4MCwweGE3LDB4MDAsMHgwZiwweGU4LDB4MDksMHg2NCwweDIyLDB4MTAsMHgwMCwweGIzIH0sCi0gIDE2LCAweGYyNzAsIDAsIHsweDAwLDB4MjUsMHhjOCwweDBiLDB4NjAsMHgwMiwweGYyLDB4MDAsMHg4NSwweDAxLDB4MjMsMHhlOCwweDA4LDB4NzAsMHg4MiwweGU4IH0sCi0gIDE2LCAweGYyODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgyMCwweGZmLDB4ODAsMHhhMSwweGEwIH0sCi0gIDE2LCAweGYyOTAsIDAsIHsweDBmLDB4N2EsMHg0MiwweGRhLDB4MDAsMHhlNywweGU4LDB4MzUsMHhmMCwweDJmLDB4N2IsMHg2MiwweDFlLDB4ODIsMHhlNiwweDgwIH0sCi0gIDE2LCAweGYyYTAsIDAsIHsweDFkLDB4ZTAsMHgwZCwweGY4LDB4MGIsMHgxZSwweDAwLDB4ZjcsMHg4MCwweDMxLDB4ZjAsMHgwZiwweDc4LDB4MDMsMHhkZSwweDBjIH0sCi0gIDE2LCAweGYyYjAsIDAsIHsweGVmLDB4ODAsMHgzMSwweGY4LDB4MmMsMHg3OCwweDAzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyYzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDg0LDB4ZmIsMHg2OCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmIsMHgwMCwweGZhIH0sCi0gIDE2LCAweGYyZDAsIDAsIHsweGQ4LDB4MGUsMHhiNSwweDAzLDB4ZWQsMHgwMCwweGRiLDB4MDAsMHgzYSwweGMwLDB4OGUsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGZiIH0sCi0gIDE2LCAweGYyZTAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBiLDB4YjAsMHg0MywweGM0LDB4MDQsMHhlZiwweDAyLDB4YmYsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGYyZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg0MiwweGM3LDB4MzgsMHgzMywweDY0IH0sCi0gIDE2LCAweGYzMDAsIDAsIHsweDBlLDB4N2MsMHgwMywweDVlLDB4MDAsMHhkZiwweGEwLDB4MzcsMHhmMCwweDBkLDB4ZjgsMHgwMywweGZmLDB4MjAsMHhjZiwweDgxIH0sCi0gIDE2LCAweGYzMTAsIDAsIHsweDMzLDB4ZTIsMHgwYywweGQ4LDB4MDMsMHhiZSwweDAwLDB4N2YsMHhjMCwweDMzLDB4ZTAsMHgwYywweGY5LDB4MDMsMHg3ZSwweDAwIH0sCi0gIDE2LCAweGYzMjAsIDAsIHsweGZkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ODcsMHhhMCwweDIxLDB4MTQsMHgwOCwweDcxLDB4MDIsMHgxNCwweDEwLDB4ZDcsMHgyMCwweDM1IH0sCi0gIDE2LCAweGYzNDAsIDAsIHsweGMwLDB4MGMsMHg3MCwweDAzLDB4YmMsMHgwMCwweDg1LDB4MDgsMHgyYiwweGMwLDB4NGQsMHg0NiwweDAyLDB4ZDEsMHgwMCwweGI3IH0sCi0gIDE2LCAweGYzNTAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDA4LDB4ODAsMHhmNSwweDIwLDB4M2QsMHhjYSwweDBmLDB4NTQsMHgwMywweGVhIH0sCi0gIDE2LCAweGYzNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgxMSwweDhmLDB4MDEsMHgyMCwweDg0IH0sCi0gIDE2LCAweGYzNzAsIDAsIHsweDFhLDB4ZjAsMHgwMiwweDE4LDB4MDAsMHhhNywweDM0LDB4NjUsMHhjMCwweDA5LDB4NzEsMHgwMiwweGRjLDB4MDAsMHg4ZSwweDAwIH0sCi0gIDE2LCAweGYzODAsIDAsIHsweDI5LDB4YzAsMHgwOCwweDUwLDB4MDYsMHg5YywweDAwLDB4YmYsMHg4OCwweDJkLDB4YzQsMHgwYSwweDYwLDB4MjYsMHg1OCwweDI0IH0sCi0gIDE2LCAweGYzOTAsIDAsIHsweDk3LDB4MDAsMHg2ZCwweGMwLDB4OWIsMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzYTAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4OGIsMHg0MCwweDIwLDB4MDAsMHgxOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4YmIsMHgwMiwweDI0IH0sCi0gIDE2LCAweGYzYjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDIwLDB4Y2MsMHgwMCwweDgxLDB4YzAsMHgyOCwweGMwLDB4MGIsMHgwNCwweDgyLDB4ZTAsMHgxMCwweGJiIH0sCi0gIDE2LCAweGYzYzAsIDAsIHsweGEwLDB4MmMsMHhlMCwweDBhLDB4MjAsMHgwNiwweDAwLDB4MDAsMHhiMywweDAwLDB4MjgsMHhjMCwweDBhLDB4MTAsMHgwMiwweDg4IH0sCi0gIDE2LCAweGYzZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGNmLDB4MTAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGYzZTAsIDAsIHsweDBlLDB4ZjAsMHgwYiwweDI0LDB4MDAsMHhlZiwweDAwLDB4MzcsMHhjMCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDYsMHhjMSwweDUwIH0sCi0gIDE2LCAweGYzZjAsIDAsIHsweDNiLDB4YzAsMHgwYywweGI0LDB4MDMsMHhhYywweDAwLDB4ZjgsMHhjMCwweGJlLDB4YzgsMHgyZSwweGIwLDB4MDMsMHg2ZSwweDAxIH0sCi0gIDE2LCAweGY0MDAsIDAsIHsweGZiLDB4MDAsMHgyZCwweGMwLDB4NGIsMHg5MCwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0MTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDA0LDB4ZmIsMHgwMCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhhZCwweDAwLDB4OWIsMHgwMCwweDNlIH0sCi0gIDE2LCAweGY0MjAsIDAsIHsweGMwLDB4MGYsMHgzMCwweDAzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgyZSwweGMwLDB4MDUsMHhiNCwweDAzLDB4ZWQsMHgwMCwweGY4IH0sCi0gIDE2LCAweGY0MzAsIDAsIHsweDQwLDB4MzIsMHhjMCwweDA5LDB4MDAsMHgwMywweGUwLDB4OTEsMHhlMywweDAwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgxMSwweGUwIH0sCi0gIDE2LCAweGY0NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZWMsMHgwMCwweGVmLDB4MDAsMHgzMywweDIwIH0sCi0gIDE2LCAweGY0NTAsIDAsIHsweDRmLDB4ZjAsMHgwMywweGI0LDB4MDAsMHhlZiwweDAzLDB4M2EsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhkYywweDAwIH0sCi0gIDE2LCAweGY0NjAsIDAsIHsweDMxLDB4YzAsMHg4ZCwweGY4LDB4MDMsMHhmZSwweDA0LDB4Y2YsMHgwMCwweDMyLDB4YzgsMHgwYywweGYwLDB4MGIsMHgxYywweDAwIH0sCi0gIDE2LCAweGY0NzAsIDAsIHsweGNmLDB4OTMsMHgzMywweGMwLDB4OGMsMHg0MCwweDAyLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ODAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4YmIsMHgwMCwweGEyLDB4MDQsMHgwYiwweDMwLDB4MDIsMHgwZSwweDAwLDB4YWIsMHgwMCwweDJhIH0sCi0gIDE2LCAweGY0OTAsIDAsIHsweGMwLDB4MDksMHhiMCwweDAzLDB4NmMsMHgwOCwweGE4LDB4YzAsMHgzNiwweGMwLDB4MDgsMHhiYywweDAyLDB4ZWYsMHgwMiwweGFiIH0sCi0gIDE2LCAweGY0YTAsIDAsIHsweGQwLDB4MjAsMHhlMCwweDA4LDB4YjgsMHgyMiwweDI2LDB4MTAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDIwLDB4OWMsMHgwMiwweDIwIH0sCi0gIDE2LCAweGY0YjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyNiwweDAwIH0sCi0gIDE2LCAweGY0YzAsIDAsIHsweDBhLDB4YjAsMHgwMiwweGEyLDB4MDgsMHhhYiwweDAwLDB4NmEsMHhjMCwweDBiLDB4YjAsMHgwYSwweDBjLDB4MDAsMHg4YiwweDgwIH0sCi0gIDE2LCAweGY0ZDAsIDAsIHsweDIyLDB4YzAsMHgwOSwweGIxLDB4MDIsMHhlYywweDQwLDB4ODgsMHgwOCwweDIyLDB4YzAsMHgwOCwweGI4LDB4MDIsMHgyNiwweDAwIH0sCi0gIDE2LCAweGY0ZTAsIDAsIHsweDhiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5OCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgwMCwweDI0LDB4MDAsMHgwYiwweGIwLDB4MDIsMHgwMCwweDAxLDB4ODMsMHgwMCwweDIwIH0sCi0gIDE2LCAweGY1MDAsIDAsIHsweGMwLDB4MDksMHgzMCwweDAyLDB4NGMsMHgwMCwweDAwLDB4MDQsMHgyNCwweGMwLDB4MDgsMHgzMCwweDA2LDB4NGMsMHgwMCwweDgwIH0sCi0gIDE2LCAweGY1MTAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4NDEsMHg4MywweDAwLDB4YTIsMHhjMCwweDA4LDB4MTAsMHgwYSwweDgyIH0sCi0gIDE2LCAweGY1MjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGVmLDB4MDgsMHgyNiwweDAwIH0sCi0gIDE2LCAweGY1MzAsIDAsIHsweDBlLDB4ZjAsMHgwMiwweGEwLDB4MDAsMHhlNywweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjUsMHg0MywweDNjLDB4MDIsMHhkYSwweDAwIH0sCi0gIDE2LCAweGY1NDAsIDAsIHsweDMyLDB4YzAsMHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4Y2IsMHgwMCwweGIyLDB4YzAsMHgwYywweGEwLDB4MDMsMHgyOCwweDEwIH0sCi0gIDE2LCAweGY1NTAsIDAsIHsweGNiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHg4MCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1NjAsIDAsIHsweGEwLDB4MGQsMHhmYywweDAwLDB4ZmIsMHgwMCwweDNiLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMiwweDNmIH0sCi0gIDE2LCAweGY1NzAsIDAsIHsweGMwLDB4MGQsMHhmMiwweDAzLDB4YmMsMHgwMCwweGY0LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGY3IH0sCi0gIDE2LCAweGY1ODAsIDAsIHsweDAwLDB4MzMsMHhjMCwweDBmLDB4NjAsMHgwMywweGYwLDB4ODgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDRmLDB4ZDAsMHgwMywweDY4IH0sCi0gIDE2LCAweGY1OTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg0MCwweGZjLDB4MzEsMHgzYiwweDA4IH0sCi0gIDE2LCAweGY1YTAsIDAsIHsweDRmLDB4ZjksMHg0MywweGVmLDB4MDAsMHhkZiwweDMwLDB4MzIsMHgyMSwweDBmLDB4OTQsMHgwNywweDdkLDB4ODAsMHhlZiwweDM4IH0sCi0gIDE2LCAweGY1YjAsIDAsIHsweDMyLDB4MDksMHgxYywweDM4LDB4MDMsMHhmMiwweDIxLDB4ZmQsMHgwMCwweDMzLDB4YzQsMHgwYywweGYwLDB4MDIsMHhmYywweDAwIH0sCi0gIDE2LCAweGY1YzAsIDAsIHsweGRmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1ZDAsIDAsIHsweDgwLDB4MTAsMHhlYywweDg4LDB4OGIsMHg2MCwweDIyLDB4ZTUsMHgwZSwweGIyLDB4MjIsMHhlYywweDgwLDB4YWYsMHgxMSwweDJhIH0sCi0gIDE2LCAweGY1ZTAsIDAsIHsweDIwLDB4MGIsMHhiMSwweDEzLDB4YWMsMHg0OCwweDhiLDB4NDUsMHgzNCwweGNjLDB4NDgsMHhiMCwweDAyLDB4NmIsMHgwMCwweGJhIH0sCi0gIDE2LCAweGY1ZjAsIDAsIHsweDgyLDB4MzYsMHgwMCwweDA4LDB4ODgsMHgyMiwweGMwLDB4MDQsMHg4OCwweDAwLDB4YTIsMHgwOCwweDhiLDB4ODgsMHg2MiwweDIwIH0sCi0gIDE2LCAweGY2MDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGExLDB4MzAsMHgyOCwweDAwIH0sCi0gIDE2LCAweGY2MTAsIDAsIHsweDBiLDB4MzIsMHgwMiwweGNjLDB4MDAsMHhhMywweDIyLDB4MmMsMHgwMCwweDhiLDB4MTIsMHgwNiwweGM4LDB4ODAsMHhhMywweDAwIH0sCi0gIDE2LCAweGY2MjAsIDAsIHsweDIwLDB4MDIsMHhjYSwweDMwLDB4MDYsMHhjNCwweDAxLDB4YjEsMHgwMCwweDY4LDB4ODAsMHgwOSwweDIwLDB4MDIsMHg4OCwweDAwIH0sCi0gIDE2LCAweGY2MzAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMyLDB4MGIsMHgwMCwweDBhLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2NDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4OGIsMHg2MSwweDYyLDB4YzAsMHgwYiwweGIyLDB4MDIsMHhlOCwweDAwLDB4YWIsMHgwMiwweDJhIH0sCi0gIDE2LCAweGY2NTAsIDAsIHsweDYxLDB4MWIsMHg5MCwweDAyLDB4YTgsMHgwMCwweGFiLDB4MDAsMHgyMCwweGMwLDB4MGEsMHhiMCwweDAyLDB4NmMsMHgwNCwweGJhIH0sCi0gIDE2LCAweGY2NjAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDg5LDB4OTAsMHgwMiwweGU2LDB4MDgsMHg5OCwweDAwLDB4MjIsMHgwMCwweDBiLDB4YjAsMHgwMiwweGIwIH0sCi0gIDE2LCAweGY2NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWUsMHgwMCwweGY4LDB4MDEsMHgzYSwweDA0IH0sCi0gIDE2LCAweGY2ODAsIDAsIHsweDBmLDB4YWMsMHgwMywweGVjLDB4OTAsMHhmYiwweDAyLDB4M2UsMHhlMCwweDBiLDB4OTAsMHg0MiwweDY3LDB4ODAsMHhhOCwweGM0IH0sCi0gIDE2LCAweGY2OTAsIDAsIHsweDIyLDB4NDgsMHgyMiwweDg2LDB4MDMsMHhlMSwweDQwLDB4YjgsMHgwMiwweDJhLDB4NDAsMHgyOSwweDkwLDB4MDMsMHhlYywweDAyIH0sCi0gIDE2LCAweGY2YTAsIDAsIHsweGM5LDB4NDgsMHgzMiwweDQwLDB4MGYsMHhiMCwweDEzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2YjAsIDAsIHsweGUwLDB4MDEsMHhhYywweDQwLDB4ZmIsMHgwMCwweDFmLDB4YTIsMHgwZSwweGY4LDB4ODIsMHhmYywweDA4LDB4ZmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweGY2YzAsIDAsIHsweGMwLDB4MGYsMHhmYSwweDQzLDB4OTYsMHg0NCwweGQ0LDB4OTEsMHgzZiwweDQwLDB4MGQsMHhjMCwweDAzLDB4ZmEsMHgwMCwweGZmIH0sCi0gIDE2LCAweGY2ZDAsIDAsIHsweDA4LDB4MjUsMHg4MCwweDBlLDB4ZTAsMHgwMywweGQwLDB4MDAsMHhlYSwweDAwLDB4M2YsMHg4MCwweDBmLDB4YzAsMHgwMywweDc4IH0sCi0gIDE2LCAweGY2ZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGUxLDB4MjAsMHgzYSwweDUwIH0sCi0gIDE2LCAweGY2ZjAsIDAsIHsweDBmLDB4OTAsMHgwMywweDJjLDB4MDAsMHhlYiwweDA4LDB4NzYsMHgwNSwweDBlLDB4YjAsMHgyNywweGUwLDB4MTAsMHhlYSwweDQwIH0sCi0gIDE2LCAweGY3MDAsIDAsIHsweGIyLDB4YzAsMHgwYywweGE0LDB4NDMsMHgyNSwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDgsMHgwZiwweDgwLDB4NDMsMHhlOCwweDAwIH0sCi0gIDE2LCAweGY3MTAsIDAsIHsweGQxLDB4MDgsMHhlZSwweDQwLDB4MGYsMHgwMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3MjAsIDAsIHsweGM4LDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDIyLDB4ZDAsMHgwYiwweDkwLDB4ODIsMHgyYywweDAwLDB4ODcsMHg0MCwweDIyIH0sCi0gIDE2LCAweGY3MzAsIDAsIHsweDYwLDB4OGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweGQ4LDB4NTAsMHgyMiwweGQwLDB4MGMsMHhhMCwweDAzLDB4NmMsMHgwMCwweGIzIH0sCi0gIDE2LCAweGY3NDAsIDAsIHsweGM4LDB4M2UsMHhkMCwweDBiLDB4YjgsMHgwMiwweDI1LDB4MDgsMHg4YSwweDIwLDB4MmEsMHg4MCwweDhiLDB4YjgsMHg4MiwweGYyIH0sCi0gIDE2LCAweGY3NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NjQsMHgwMCwweGEwLDB4YzAsMHgyNCwweGMwIH0sCi0gIDE2LCAweGY3NjAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDJjLDB4MDAsMHg4MywweDAzLDB4MjAsMHgwMCwweDEwLDB4MzAsMHgyMiwweGNjLDB4MDAsMHg4MywweDAwIH0sCi0gIDE2LCAweGY3NzAsIDAsIHsweDYwLDB4MDgsMHgwYSwweDMwLDB4ODIsMHg0YywweDAwLDB4YjEsMHhjMCwweDAwLDB4ZDEsMHgwYiwweDM4LDB4MDIsMHg4NCwweDgwIH0sCi0gIDE2LCAweGY3ODAsIDAsIHsweDgyLDB4MDEsMHgyMCwweDgwLDB4MDMsMHgzOCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3OTAsIDAsIHsweDIwLDB4MDEsMHgxNiwweDQwLDB4ODQsMHg5OCwweDI1LDB4ZTAsMHgwYiwweDdhLDB4MDIsMHhmYSwweDQ4LDB4YTMsMHgyMCwweDYxIH0sCi0gIDE2LCAweGY3YTAsIDAsIHsweDI0LDB4MGIsMHg3OSwweDAwLDB4Y2UsMHhjMCwweDkzLDB4YTQsMHgyMSwweGE2LDB4MGIsMHg3OCwweDEyLDB4ZGUsMHg4MCwweGI2IH0sCi0gIDE2LCAweGY3YjAsIDAsIHsweDgwLDB4MmQsMHgyNCwweDBiLDB4NGIsMHgwMiwweDFhLDB4NDAsMHg4NSwweDgxLDB4MjEsMHg2MCwweDBiLDB4NDgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGY3YzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGUyLDB4YTAsMHhiNCwweGZlIH0sCi0gIDE2LCAweGY3ZDAsIDAsIHsweDRiLDB4YjgsMHgwYiwweDBlLDB4MDAsMHhhMywweGIwLDB4MjQsMHhhOCwweDBlLDB4MWIsMHgwMiwweGNlLDB4YzEsMHhjMywweGMwIH0sCi0gIDE2LCAweGY3ZTAsIDAsIHsweDMwLDB4NjgsMHgyZSwweDNhLDB4NDcsMHg0ZSwweDgwLDB4ZjEsMHg4MCwweDMwLDB4ODAsMHgwZiwweDIyLDB4ODMsMHg4MCwweDAwIH0sCi0gIDE2LCAweGY3ZjAsIDAsIHsweGMyLDB4MTAsMHgzOCwweDgwLDB4NGYsMHgwMCwweDA3LDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4MDAsIDAsIHsweDQwLDB4MGQsMHhiYywweDEwLDB4ZmUsMHgwNCwweDNiLDB4YzEsMHgwNywweGYwLDB4MDMsMHgxYywweGM4LDB4ZGYsMHgyYSwweDBiIH0sCi0gIDE2LCAweGY4MTAsIDAsIHsweGM0LDB4OGYsMHhkMSwweDQzLDB4ZjgsMHgwMiwweDdmLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMSwweDBmLDB4M2MsMHgwMCwweGYyIH0sCi0gIDE2LCAweGY4MjAsIDAsIHsweDExLDB4M2YsMHg0MSwweDFmLDB4NTIsMHgwMywweGJjLDB4MGUsMHhlZCwweDE0LDB4M2YsMHg0MCwweDBmLDB4ZjgsMHgwMywweGQwIH0sCi0gIDE2LCAweGY4MzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzMiwweDgwIH0sCi0gIDE2LCAweGY4NDAsIDAsIHsweDBlLDB4YmUsMHg0YiwweDZmLDB4MDAsMHhjYiwweDgyLDB4N2EsMHhjMCwweDJjLDB4YjAsMHgwMywweDJjLDB4MDAsMHhjOSwweDAwIH0sCi0gIDE2LCAweGY4NTAsIDAsIHsweDMyLDB4MDAsMHgyYywweDEwLDB4MDMsMHgyYywweDA4LDB4YzAsMHgwMCwweDI2LDB4NDAsMHg2YywweDkwLDB4MTMsMHgyNCwweDEyIH0sCi0gIDE2LCAweGY4NjAsIDAsIHsweGM4LDB4MDEsMHgzZSwweDAwLDB4MGYsMHhiOCwweDBiLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NzAsIDAsIHsweDQ4LDB4MTEsMHg5NCwweDAwLDB4OGQsMHgwMCwweDIxLDB4ODAsMHgwYiwweDcwLDB4ODIsMHgzYywweDIwLDB4ODMsMHgzMiwweDI5IH0sCi0gIDE2LCAweGY4ODAsIDAsIHsweGMwLDB4MDgsMHhmMCwweDIwLDB4MTQsMHgwMCwweDgwLDB4MDAsMHgyMywweDAwLDB4MDgsMHg1MCwweDA2LDB4OWMsMHgwNCwweGQ3IH0sCi0gIDE2LCAweGY4OTAsIDAsIHsweDAyLDB4MjgsMHg4MCwweDA4LDB4NjAsMHgwMiwweDA4LDB4MTAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGY4YTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGE3LDB4ODAsMHgyMSwweGUwIH0sCi0gIDE2LCAweGY4YjAsIDAsIHsweDBiLDB4NWMsMHgxMiwweDFlLDB4MDQsMHg4NywweDgyLDB4MGQsMHhhMCwweDA5LDB4NzgsMHgxNiwweDAyLDB4MDAsMHhiNCwweDgwIH0sCi0gIDE2LCAweGY4YzAsIDAsIHsweDI1LDB4ZTAsMHgwYiwweDc4LDB4MDIsMHg5ZSwweDAwLDB4ODQsMHg4MCwweDIxLDB4MjIsMHgwOCwweDA4LDB4MDIsMHgxMiwweDAxIH0sCi0gIDE2LCAweGY4ZDAsIDAsIHsweDg0LDB4YzAsMHgyZCwweDIwLDB4MGIsMHgwOCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4ZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHg0MiwweGEwLDB4ZDgsMHgwYiwweDM0LDB4ODIsMHgwYywweDAwLDB4YTMsMHgwMiwweDIwIH0sCi0gIDE2LCAweGY4ZjAsIDAsIHsweGUwLDB4MDgsMHhiMCwweDAyLDB4MGMsMHg4OCwweGIzLDB4MjEsMHgyNCwweGQ4LDB4MGIsMHgzZSwweDAyLDB4OGMsMHgwMCwweDkzIH0sCi0gIDE2LCAweGY5MDAsIDAsIHsweDA4LDB4MjgsMHhjMCwweDA4LDB4MzgsMHgwMiwweDJjLDB4MDUsMHg4YiwweDAxLDB4MmMsMHhlMCwweDBiLDB4MzAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGY5MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGVlLDB4MDAsMHgzMywweDkwIH0sCi0gIDE2LCAweGY5MjAsIDAsIHsweDBmLDB4YTAsMHgwYiwweDY4LDB4MDAsMHhjYSwweDAxLDB4N2YsMHhhOCwweDBjLDB4YWEsMHgwMywweDNhLDB4MTIsMHhmZSwweGUyIH0sCi0gIDE2LCAweGY5MzAsIDAsIHsweDM3LDB4YjAsMHgwZiwweGVlLDB4MDIsMHgxOCwweDAwLDB4Y2EsMHg0MCwweDM2LDB4YTAsMHgwOCwweGEwLDB4OGIsMHgyOCwweDAwIH0sCi0gIDE2LCAweGY5NDAsIDAsIHsweGNhLDB4ODEsMHgyZSwweGEwLDB4MGYsMHhlMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5NTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwOCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhhMiwweDAyLDB4ZDgsMHg0MCwweDNlIH0sCi0gIDE2LCAweGY5NjAsIDAsIHsweDA4LDB4MGYsMHg4MCwweDEzLDB4ZTAsMHg0MCwweDQ4LDB4NDAsMHhiOCwweDA0LDB4MDgsMHg4NCwweDAzLDB4NjEsMHgwMCwweGZjIH0sCi0gIDE2LCAweGY5NzAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDRmLDB4YzAsMHgwMywweGYxLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwNCwweDBmLDB4YzAsMHgwMywweGQyIH0sCi0gIDE2LCAweGY5ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzMCwweDUwIH0sCi0gIDE2LCAweGY5OTAsIDAsIHsweDRjLDB4YjksMHgwMywweDZjLDB4MTgsMHhmOSwweDAwLDB4MzYsMHg0MCwweDBlLDB4OWMsMHgyMywweGE0LDB4MDIsMHg0MSwweDAwIH0sCi0gIDE2LCAweGY5YTAsIDAsIHsweGIyLDB4NDQsMHgwZSwweDlhLDB4MDMsMHhhNiwweDgwLDB4YzksMHgwMCwweDNhLDB4NjAsMHgwYSwweDkwLDB4MDMsMHhhNCwweDgwIH0sCi0gIDE2LCAweGY5YjAsIDAsIHsweGM5LDB4MDAsMHgzNCwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5YzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg0MCwweDIyLDB4NzgsMHgwOCwweDk0LDB4MDIsMHhlNCwweDEwLDB4YjksMHgwMCwweDNjIH0sCi0gIDE2LCAweGY5ZDAsIDAsIHsweDYyLDB4MTgsMHg5NCwweDgyLDB4YTQsMHgwMCwweDg5LDB4YzgsMHgyMiwweDcwLDB4NDgsMHgxZSwweDAxLDB4NjcsMHg4MCwweGQxIH0sCi0gIDE2LCAweGY5ZTAsIDAsIHsweDAwLDB4YmMsMHg0MiwweDA4LDB4MTAsMHgwMiwweDI1LDB4MjAsMHg4OSwweDAyLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGY5ZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGIxLDB4MjgsMHgyMiwweDQwIH0sCi0gIDE2LCAweGZhMDAsIDAsIHsweDA4LDB4YjAsMHg4MiwweDY0LDB4MDQsMHgzOSwweDQxLDB4MmUsMHg0OCwweDBhLDB4OTAsMHgwMiwweDA0LDB4MTgsMHhhOSwweDIwIH0sCi0gIDE2LCAweGZhMTAsIDAsIHsweDIyLDB4NDIsMHg0YSwweDkwLDB4MDIsMHgyYywweDA0LDB4ODksMHgwNCwweDJiLDB4NDgsMHgwMiwweGQwLDB4MDIsMHhiNCwweDBhIH0sCi0gIDE2LCAweGZhMjAsIDAsIHsweDhkLDB4ODAsMHgyMywweGMwLDB4NDgsMHhkMCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweGEwLDB4NDgsMHgyOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgyNCwweDJhIH0sCi0gIDE2LCAweGZhNDAsIDAsIHsweDQwLDB4MDgsMHgxMiwweDQyLDB4ODUsMHg4MCwweGExLDB4MjAsMHhhMCwweDQ4LDB4MDgsMHg5MCwweDAyLDB4NDQsMHgwMCwweDk1IH0sCi0gIDE2LCAweGZhNTAsIDAsIHsweDJjLDB4MmQsMHg1YSwweDBhLDB4NzIsMHg4MiwweDE0LDB4YTAsMHg4NSwweGE4LDB4MjEsMHg0YSwweDA4LDB4NTIsMHg4MiwweGMyIH0sCi0gIDE2LCAweGZhNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NDEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGZhNzAsIDAsIHsweDhjLDB4MDUsMHgwMywweDYxLDB4NDAsMHhmOCwweDUxLDB4MmUsMHgwMCwweDBhLDB4ODUsMHgwMiwweDIwLDB4MDAsMHhlOCwweDUwIH0sCi0gIDE2LCAweGZhODAsIDAsIHsweDMyLDB4MTQsMHgwNiwweDg1LDB4MTcsMHhhMCwweDAwLDB4YzgsMHgyMCwweDNhLDB4MDgsMHgwZSwweDgyLDB4MDMsMHhhMCwweDgwIH0sCi0gIDE2LCAweGZhOTAsIDAsIHsweGM4LDB4MjAsMHgzMiwweDA4LDB4MmMsMHhjMiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhYTAsIDAsIHsweDk4LDB4MTksMHhmNCwweDQwLDB4ZmYsMHgxMCwweDNmLDB4NDQsMHgwYiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgxMCwweDNkIH0sCi0gIDE2LCAweGZhYjAsIDAsIHsweDQwLDB4MGYsMHhkMSwweDAzLDB4ZjQsMHg1OCwweDlkLDB4MTAsMHgzZiwweDQ0LDB4NGYsMHhkMCwweDAzLDB4ZDUsMHgwMCwweGY5IH0sCi0gIDE2LCAweGZhYzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDhkLDB4OTAsMHgwMywweGU0LDB4YjgsMHhmOSwweDI4LDB4YmEsMHg2YSwweDBmLDB4OTAsMHgwMywweGU2IH0sCi0gIDE2LCAweGZhZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZTcsMHgwMCwweGZkLDB4ODgsMHgzZSwweDYwIH0sCi0gIDE2LCAweGZhZTAsIDAsIHsweDhmLDB4ZDAsMHgwMywweDI0LDB4MDEsMHhkZCwweDgwLDB4NzMsMHg0MCwweDBmLDB4ZDgsMHgwMywweGE2LDB4MDQsMHhjZCwweGEyIH0sCi0gIDE2LCAweGZhZjAsIDAsIHsweDMzLDB4NzgsMHgxYywweGQwLDB4MDMsMHgzNCwweDAxLDB4ZjUsMHg4OCwweDNiLDB4NjgsMHgwYywweGRhLDB4NDcsMHgzNywweDgwIH0sCi0gIDE2LCAweGZiMDAsIDAsIHsweGNkLDB4ODgsMHgzMiwweDYyLDB4MGMsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiMTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDgwLDB4YjgsMHg4MCwweDJlLDB4MTQsMHgwYiwweDBhLDB4ODIsMHgyMiwweDgwLDB4YjgsMHhmOCwweGEyIH0sCi0gIDE2LCAweGZiMjAsIDAsIHsweDAwLDB4MGIsMHg4ZiwweGEzLDB4ODMsMHhlMCwweDg4LDB4ZWIsMHgyMiwweGE5LDB4MDgsMHg4OCwweDEyLDB4YTAsMHgwNSwweGI4IH0sCi0gIDE2LCAweGZiMzAsIDAsIHsweDAwLDB4MmEsMHhhYSwweDg4LDB4ODAsMHgxMywweDYyLDB4ODIsMHg4OCwweDgwLDB4MjIsMHgyOCwweDg4LDB4YTQsMHgwMiwweDBlIH0sCi0gIDE2LCAweGZiNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4MGEsMHgyYywweDQxIH0sCi0gIDE2LCAweGZiNTAsIDAsIHsweDBiLDB4MTAsMHgwNiwweDA0LDB4MjAsMHhhMSwweDAwLDB4MDAsMHg0MCwweDhiLDB4MTAsMHg0NiwweGM0LDB4MDEsMHg5MSwweDExIH0sCi0gIDE2LCAweGZiNjAsIDAsIHsweDI0LDB4NTgsMHg2OCwweDkwLDB4YzIsMHgwNCwweDAwLDB4YjEsMHgwMCwweGE4LDB4NTAsMHgwOSwweDE0LDB4MGEsMHgwNSwweDk1IH0sCi0gIDE2LCAweGZiNzAsIDAsIHsweGExLDB4MDgsMHhhMCwweDQyLDB4MjgsMHgxMSwweDBhLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDE4LDB4YjksMHgyMCwweDJlLDB4NTAsMHgwYiwweDkwLDB4MDYsMHgyNCwweDA5LDB4YjksMHgwMCwweDIyIH0sCi0gIDE2LCAweGZiOTAsIDAsIHsweDQwLDB4OGIsMHg5MSwweDAyLDB4ODQsMHgwMCwweDk5LDB4NjQsMHgyNCwweDQwLDB4NTgsMHg5MCwweDAyLDB4YTQsMHgyMCwweGJiIH0sCi0gIDE2LCAweGZiYTAsIDAsIHsweDAwLDB4MmEsMHg0MCwweDA5LDB4YjAsMHgwMiwweDA1LDB4MDEsMHhhOSwweDAwLDB4MjIsMHg0MCwweDg4LDB4OTIsMHgwMiwweDA2IH0sCi0gIDE2LCAweGZiYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHgwMCwweGY5LDB4NDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGZiYzAsIDAsIHsweDRmLDB4OTgsMHgwYiwweDI0LDB4ODAsMHhkOSwweDAwLDB4MjIsMHg3MiwweDBiLDB4OTgsMHgwMywweGU0LDB4ODQsMHhkOSwweDAwIH0sCi0gIDE2LCAweGZiZDAsIDAsIHsweGI2LDB4NzAsMHgwOCwweDk5LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJhLDB4NDAsMHgwZCwweDk0LDB4YzIsMHgyNSwweDAwIH0sCi0gIDE2LCAweGZiZTAsIDAsIHsweGE5LDB4MDAsMHgyMiwweDQwLDB4MGMsMHg5NCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiZjAsIDAsIHsweDI4LDB4MDEsMHhhNiwweDgwLDB4ZjksMHgwOCwweDNlLDB4YzAsMHgwZiwweDkxLDB4NDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGZjMDAsIDAsIHsweDUwLDB4MGYsMHg5OCwweDAzLDB4YTUsMHgwMCwweGU5LDB4MDAsMHgzYSwweDY0LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGZjMTAsIDAsIHsweDAwLDB4M2MsMHg0MCwweDZlLDB4OTAsMHgwMywweGU0LDB4MjAsMHhkOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHg4MiwweGNhIH0sCi0gIDE2LCAweGZjMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGZjMzAsIDAsIHsweDRmLDB4ODQsMHgwYiwweDIwLDB4MDAsMHhmOCwweDAwLDB4MzYsMHgwMSwweDBlLDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDQwIH0sCi0gIDE2LCAweGZjNDAsIDAsIHsweDMyLDB4MTAsMHgyZCwweDgwLDB4MDMsMHhlMCwweDU0LDB4YzgsMHgwMCwweDM2LDB4MTAsMHgwZiwweDA0LDB4ODMsMHhlMCwweDUwIH0sCi0gIDE2LCAweGZjNTAsIDAsIHsweGQ4LDB4MDQsMHgxMiwweDAwLDB4MGMsMHgwMCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGUsMHg0MiwweDJlLDB4YTIsMHg4YiwweGVhLDB4MDIsMHgyOCwweDA4LDB4YmUsMHg4OSwweDM3IH0sCi0gIDE2LCAweGZjNzAsIDAsIHsweDg0LDB4NDgsMHhlMCwweDEyLDB4MjgsMHgwMiwweDhlLDB4YzAsMHgyMywweGIwLDB4NGQsMHg2MCwweDYyLDB4ZjgsMHgwMCwweDg2IH0sCi0gIDE2LCAweGZjODAsIDAsIHsweDAwLDB4MjMsMHg4MCwweDBiLDB4ZTAsMHgwMiwweGY4LDB4MDAsMHgwZSwweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTQsMHgwMiwweDBhIH0sCi0gIDE2LCAweGZjOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGEzLDB4MDAsMHgyYywweDgwIH0sCi0gIDE2LCAweGZjYTAsIDAsIHsweDFiLDB4YjAsMHg5YSwweDRjLDB4MTAsMHg5YiwweDgwLDB4MjQsMHhjMCwweDBhLDB4MzAsMHgwMCwweDBjLDB4MDQsMHg5YiwweDIwIH0sCi0gIDE2LCAweGZjYjAsIDAsIHsweDIwLDB4ZDYsMHgwOCwweDMwLDB4MDIsMHg4ZSwweDA4LDB4YTMsMHgwNCwweDI0LDB4YzAsMHgxOSwweDM0LDB4MDIsMHhjNywweDA3IH0sCi0gIDE2LCAweGZjYzAsIDAsIHsweGFhLDB4YTQsMHhhMCwweGMwLDB4NDgsMHgzNCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjZDAsIDAsIHsweGEwLDB4MDEsMHgwZSwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHg1YywweDQwLDB4YjMsMHgxNCwweDI1IH0sCi0gIDE2LCAweGZjZTAsIDAsIHsweGUwLDB4MDgsMHg3YSwweDAyLDB4OWUsMHhjMCwweDkyLDB4NDAsMHhhMCwweDAwLDB4NDksMHg2MCwweDAyLDB4Y2UsMHgwMiwweDhlIH0sCi0gIDE2LCAweGZjZjAsIDAsIHsweDAxLDB4MjEsMHhjMCwweDhiLDB4NTQsMHgwMiwweGM0LDB4MDgsMHg4NiwweDQwLDB4MjEsMHhjOCwweDg4LDB4MTAsMHgwMiwweDI4IH0sCi0gIDE2LCAweGZkMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHhjMCwweGU0LDB4ODAsMHgzZCwweGUyIH0sCi0gIDE2LCAweGZkMTAsIDAsIHsweDBmLDB4NTgsMHgwMywweDVlLDB4OTAsMHhiNiwweGEyLDB4MzUsMHhlMCwweDBlLDB4N2MsMHgyMywweDFjLDB4MDAsMHhkNiwweDgwIH0sCi0gIDE2LCAweGZkMjAsIDAsIHsweDMxLDB4ZTAsMHg4NCwweDc4LDB4MDMsMHhkZSwweDAwLDB4YzcsMHg4MCwweDM1LDB4ZTAsMHgwZiwweDY4LDB4MDMsMHhkZSwweDAwIH0sCi0gIDE2LCAweGZkMzAsIDAsIHsweGUzLDB4ODAsMHgzMywweGU4LDB4MmMsMHg3OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkNDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDkwLDB4ZmEsMHgwMCwweDdlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhYywweDAxLDB4ZmIsMHgwMCwweDNjIH0sCi0gIDE2LCAweGZkNTAsIDAsIHsweDQxLDB4MGYsMHgzMCwweDBiLDB4MmQsMHgwNCwweGViLDB4MDEsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZhIH0sCi0gIDE2LCAweGZkNjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhlOSwweDYwLDB4M2UsMHhlNCwweDBmLDB4OTAsMHgwMywweGMyIH0sCi0gIDE2LCAweGZkNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgyMCwweGZmLDB4OTAsMHgzZSwweDIwIH0sCi0gIDE2LCAweGZkODAsIDAsIHsweDBjLDB4YTksMHgwNywweDJlLDB4NDQsMHhjOSwweDkxLDB4MzAsMHhhMCwweDBjLDB4YjgsMHg2MywweDJmLDB4NDQsMHhjYiwweGExIH0sCi0gIDE2LCAweGZkOTAsIDAsIHsweDM2LDB4MjAsMHg4YywweGY4LDB4MDMsMHgzNiwweDAwLDB4Y2YsMHg4MiwweDMzLDB4ZTAsMHgwYywweGY4LDB4MjMsMHgyZSwweDAwIH0sCi0gIDE2LCAweGZkYTAsIDAsIHsweGNlLDB4YzAsMHgzYiwweGUwLDB4MGMsMHg2OCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkYjAsIDAsIHsweGE4LDB4MTEsMHg5YywweDg0LDB4YjMsMHg1NCwweDJjLDB4ZjQsMHgyOCwweGJhLDB4OGEsMHgzZSwweDQwLDB4ODEsMHhhMCwweDI5IH0sCi0gIDE2LCAweGZkYzAsIDAsIHsweGIwLDB4MGYsMHg3OCwweDQyLDB4YWUsMHgwMCwweDgzLDB4OTAsMHgzMywweGU4LDB4MGQsMHhlMSwweDAwLDB4ODUsMHg0MCwweDgyIH0sCi0gIDE2LCAweGZkZDAsIDAsIHsweDI0LDB4MjMsMHhjNiwweDBkLDB4NzEsMHgwMywweDVlLDB4ZTAsMHg4NywweDAwLDB4MmIsMHhjMSwweDBkLDB4NDQsMHgwMiwweDJhIH0sCi0gIDE2LCAweGZkZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwOCwweDM1LDB4MTQsMHg2ZCwweGMwIH0sCi0gIDE2LCAweGZkZjAsIDAsIHsweDg4LDB4NzIsMHgzMiwweDVjLDB4ODAsMHg4NCwweDMwLDB4MmIsMHg4OCwweDBhLDB4NzAsMHg0MiwweDVjLDB4YTgsMHg5MSwweDA4IH0sCi0gIDE2LCAweGZlMDAsIDAsIHsweDI1LDB4YzgsMHgwOSwweDcwLDB4MDIsMHg0YywweDIyLDB4ODMsMHgwYSwweDYxLDB4YzAsMHgwOSwweDIwLDB4MDIsMHgwNCwweDAwIH0sCi0gIDE2LCAweGZlMTAsIDAsIHsweDg3LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZlMjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDEwLDB4YjMsMHg4NSwweDZjLDB4ZGMsMHgwOCwweDM0LDB4MDIsMHg0ZCwweDIxLDB4ODEsMHgwMCwweDI4IH0sCi0gIDE2LCAweGZlMzAsIDAsIHsweDAyLDB4NGEsMHgzMSwweDEyLDB4ZWYsMHgwYywweDkxLDB4YzIsMHgyMCwweGYwLDB4MDgsMHgzMCwweDQyLDB4OGUsMHgwMCwweDgyIH0sCi0gIDE2LCAweGZlNDAsIDAsIHsweDQwLDB4MjAsMHhjOCwweDE5LDB4MjgsMHgwMiwweDIyLDB4ODEsMHg4MywweGMwLDB4MjgsMHhkNCwweDA5LDB4MDAsMHgwYSwweDA4IH0sCi0gIDE2LCAweGZlNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZiLDB4YTAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGZlNjAsIDAsIHsweDhjLDB4MDQsMHgxMiwweDdkLDB4MTAsMHhjZiwweDAyLDB4M2EsMHg1MCwweDA4LDB4YzAsMHg0MiwweDdkLDB4NTIsMHg1OCwweDAxIH0sCi0gIDE2LCAweGZlNzAsIDAsIHsweDM2LDB4MjIsMHg2OSwweGQwLDB4MTMsMHgyYSwweDAwLDB4ODgsMHg4MiwweDMyLDB4ZjAsMHgwOSwweGI4LDB4ODIsMHgyZiwweDAwIH0sCi0gIDE2LCAweGZlODAsIDAsIHsweGM5LDB4YzgsMHgyMywweGMwLDB4MGMsMHg4YSwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZlOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4YjksMHg0MCwweDNjLDB4NTAsMHg0ZiwweDgwLDB4MjMsMHhhYywweDEyLDB4ZmIsMHgwMCwweDJhIH0sCi0gIDE2LCAweGZlYTAsIDAsIHsweGMwLDB4NmQsMHg4MCwweDEzLDB4YWMsMHgwMCwweGU4LDB4MDQsMHhiYSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZTgsMHgwMCwweGYzIH0sCi0gIDE2LCAweGZlYjAsIDAsIHsweDA4LDB4M2MsMHg4MCwweDBmLDB4OTAsMHg4MywweGVjLDB4MDQsMHhmOSwweDYwLDB4MmMsMHhjMiwweDBmLDB4ODAsMHg4MywweGUwIH0sCi0gIDE2LCAweGZlYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGVjLDB4MmMsMHgzZiwweGYwIH0sCi0gIDE2LCAweGZlZDAsIDAsIHsweDhjLDB4ZmEsMHg4YiwweGJjLDB4MDAsMHhmZSwweDAwLDB4M2YsMHgwMCwweDBmLDB4NzksMHgwMywweDNjLDB4MDAsMHhjZSwweDA4IH0sCi0gIDE2LCAweGZlZTAsIDAsIHsweDBiLDB4YzIsMHgwYywweGYwLDB4MDMsMHhiYywweDAwLDB4ZmMsMHgwMCwweDMzLDB4NDAsMHg4YywweDdhLDB4MDMsMHgzYSwweDAwIH0sCi0gIDE2LCAweGZlZjAsIDAsIHsweGM1LDB4MDAsMHgzMywweGMwLDB4NGMsMHhjOCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZmMDAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4ODgsMHhjMCwweDJlLDB4ZTAsMHgwOCwweDk0LDB4MDIsMHgyYywweDAwLDB4YmIsMHg4MCwweDY2IH0sCi0gIDE2LCAweGZmMTAsIDAsIHsweDMwLDB4MTYsMHhiMCwweDAyLDB4MmMsMHgwMCwweGRhLDB4NGMsMHgyMiwweGYwLDB4MDgsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGViIH0sCi0gIDE2LCAweGZmMjAsIDAsIHsweGMwLDB4MjIsMHg2OCwweDAwLDB4OTQsMHgwMiwweDJjLDB4MDIsMHhhOSwweDgwLDB4MjIsMHhjMCwweDA4LDB4MGMsMHgwMiwweGEwIH0sCi0gIDE2LCAweGZmMzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGFiLDB4MDQsMHgyZSwweGMwIH0sCi0gIDE2LCAweGZmNDAsIDAsIHsweDA4LDB4YTQsMHgwNiwweDJjLDB4MDQsMHhhYiwweDEwLDB4MmUsMHg2MCwweDQzLDB4ODAsMHg4MiwweDZjLDB4MDEsMHg4MSwweDgwIH0sCi0gIDE2LCAweGZmNTAsIDAsIHsweDI4LDB4MGEsMHgwOCwweDkxLDB4MDAsMHhlMCwweDAwLDB4YjgsMHg4MCwweDAyLDB4ZTAsMHgwOCwweDgwLDB4MDIsMHgyZCwweDgwIH0sCi0gIDE2LCAweGZmNjAsIDAsIHsweDg4LDB4YzAsMHgyMiwweGMwLDB4MDgsMHg4MiwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZmNzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4ODAsMHg0NCwweDJjLDB4YzgsMHgyOCwweGEwLDB4MjIsMHgwYywweDA0LDB4YjMsMHgyNiwweDJjIH0sCi0gIDE2LCAweGZmODAsIDAsIHsweGM4LDB4ODgsMHgwMSwweDA2LDB4MGMsMHhlMCwweDkxLDB4MjAsMHgyMCwweDBjLDB4MzgsMHgwNCwweDIyLDB4YzAsMHg0OCwweGEzIH0sCi0gIDE2LCAweGZmOTAsIDAsIHsweDQyLDB4YTAsMHg4MSwweDA4LDB4MDAsMHgwMiwweDBjLDB4ODAsMHg4MSwweDAwLDB4MjAsMHhjMCwweDI4LDB4MDAsMHgwMiwweDgyIH0sCi0gIDE2LCAweGZmYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGE5LDB4NDAsMHgzZSwweDQ0IH0sCi0gIDE2LCAweGZmYjAsIDAsIHsweDA4LDB4YjEsMHgwMywweDJjLDB4NDAsMHhlYSwweDQ5LDB4MmUsMHgwZCwweDBiLDB4YjYsMHgxMywweDdkLDB4ODAsMHhjOSwweDQwIH0sCi0gIDE2LCAweGZmYzAsIDAsIHsweGJhLDB4ZDAsMHgwYywweGI0LDB4MDMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDMyLDB4NDAsMHgwYywweDgwLDB4MGIsMHgyMCwweDAwIH0sCi0gIDE2LCAweGZmZDAsIDAsIHsweGM1LDB4MDAsMHhiMiwweGMwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZmZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmMsMHgwMCwweDNkLDB4YzUsMHgwYiwweGYxLDB4MDAsMHhmYywweGQwLDB4NzcsMHgyOSwweDM3IH0sCi0gIDE2LCAweGZmZjAsIDAsIHsweDBjLDB4OGUsMHg3NCwweDAzLDB4ZmMsMHgwOCwweGZkLDB4NjksMHgzZiwweGQ4LDB4MGYsMHhmMCwweDAzLDB4YmMsMHgwMCwweGVmIH0sCi0gIDE2LCAweDgwMTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDA3LDB4YzAsMHgwMywweGYwLDB4NDAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGU4IH0sCi0gIDE2LCAweDgwMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDBkLDB4ZmMsMHhjMCwweGRjLDB4ODAsMHgzZiwweGM4IH0sCi0gIDE2LCAweDgwMzAsIDAsIHsweDBmLDB4NDgsMHgwMywweDdjLDB4MjAsMHhmZiwweDY4LDB4MzcsMHhlMCwweDBlLDB4ZjEsMHgwMywweDljLDB4MDAsMHhiZiwweDIwIH0sCi0gIDE2LCAweDgwNDAsIDAsIHsweDM3LDB4ZTAsMHgwYywweGM4LDB4MTMsMHgzYywweDQwLDB4ZWQsMHg2MCwweGJiLDB4ZTQsMHgyYywweDQzLDB4NGIsMHg3MCwweGEwIH0sCi0gIDE2LCAweDgwNTAsIDAsIHsweGNjLDB4MmMsMHgzZiwweDA5LDB4MGYsMHhkOCwweDQzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwNjAsIDAsIHsweDgwLDB4MDAsMHhlZCwweGMwLDB4YjgsMHg4MCwweDJmLDB4ZjQsMHgwZiwweDk4LDB4MDIsMHgzZiwweDAwLDB4YmYsMHg0MiwweDIyIH0sCi0gIDE2LCAweDgwNzAsIDAsIHsweGNhLDB4MDgsMHhmNCwweDAyLDB4M2UsMHgwMCwweGJmLDB4ZDAsMHgyMiwweDYwLDB4MjgsMHg4OCwweDBhLDB4M2QsMHg4MCwweDhkIH0sCi0gIDE2LCAweDgwODAsIDAsIHsweDQwLDB4MjIsMHhjOCwweDA4LDB4ODEsMHgwMiwweDIxLDB4ODAsMHhkYiwweGMwLDB4MmUsMHhhNSwweDBiLDB4OTgsMHg0MiwweDIwIH0sCi0gIDE2LCAweDgwOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgxMCwweGIwLDB4MDAsMHgyYywweGMwIH0sCi0gIDE2LCAweDgwYTAsIDAsIHsweDBiLDB4MjAsMHgwMiwweGNjLDB4MDAsMHhiMywweDIwLDB4MjYsMHhjMCwweDhhLDB4MzYsMHgxMiwweDhjLDB4NDEsMHhiMywweDAwIH0sCi0gIDE2LCAweDgwYjAsIDAsIHsweDJlLDB4NDAsMHgwOCwweDAwLDB4MDIsMHgwZCwweDgxLDB4YTEsMHgzMCwweDIyLDB4YzgsMHg4OSwweGEyLDB4NDIsMHgwOCwweDIwIH0sCi0gIDE2LCAweDgwYzAsIDAsIHsweGIwLDB4MDAsMHgyYywweDQwLDB4MGIsMHg5MCwweDI2LDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4YjgsMHg1MCwweDJlLDB4YzAsMHgwYSwweDkwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMCwweDIyIH0sCi0gIDE2LCAweDgwZTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDYyLDB4MmMsMHgxMCwweGJiLDB4MDQsMHgyYSwweGYwLDB4NGEsMHg4OCwweDAyLDB4MGMsMHgwMCwweDgxIH0sCi0gIDE2LCAweDgwZjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA5LDB4YjgsMHg4MCwweDI2LDB4MDAsMHhiOCwweDgwLDB4MmUsMHgyMSwweDBiLDB4OTAsMHgwMiwweDMwIH0sCi0gIDE2LCAweDgxMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDE1LDB4ZWMsMHgwMCwweGQ4LDB4YzAsMHgzZSwweGMwIH0sCi0gIDE2LCAweDgxMTAsIDAsIHsweDBiLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4MzYsMHg4MCwweDBlLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwIH0sCi0gIDE2LCAweDgxMjAsIDAsIHsweDNjLDB4ZTAsMHgwYywweDBjLDB4MDMsMHgyYywweDAwLDB4ZTksMHgwMCwweDEwLDB4YzAsMHgwYywweDhjLDB4MDMsMHgwNiwweDAwIH0sCi0gIDE2LCAweDgxMzAsIDAsIHsweGY4LDB4Y2QsMHgzZSwweDIyLDB4MGYsMHgxOCwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHg3YywweDAwLDB4ZjcsMHgwMiwweDNmIH0sCi0gIDE2LCAweDgxNTAsIDAsIHsweGU0LDB4MGYsMHg3MCwweDAzLDB4N2MsMHgwNCwweGI3LDB4MDAsMHgzNywweDQwLDB4MGQsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZkIH0sCi0gIDE2LCAweDgxNjAsIDAsIHsweDAwLDB4MzcsMHhkMCwweDBlLDB4YzAsMHg0MywweGY0LDB4MDAsMHhkZiwweDAwLDB4M2YsMHg4MCwweDhmLDB4ZGEsMHgwMywweGY4IH0sCi0gIDE2LCAweDgxNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY4LDB4MTAsMHgzYSwweGMwIH0sCi0gIDE2LCAweDgxODAsIDAsIHsweDZkLDB4YTYsMHgxMywweGVjLDB4MDAsMHhjYiwweDAwLDB4M2EsMHhkMCwweDBmLDB4YjAsMHgwMywweDJjLDB4MTAsMHhkYiwweDEwIH0sCi0gIDE2LCAweDgxOTAsIDAsIHsweDM2LDB4ZDgsMHgwZCwweDg0LDB4MDMsMHhlYywweDA2LDB4YzksMHgwOCwweDNhLDB4YzAsMHgwZSwweDg2LDB4MDMsMHhhOCwweDYwIH0sCi0gIDE2LCAweDgxYTAsIDAsIHsweGY4LDB4MjAsMHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4NTQsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxYjAsIDAsIHsweDk4LDB4MDUsMHgzYywweDAwLDB4YmIsMHg0MCwweDIzLDB4ZDAsMHgwOCwweDMwLDB4MDIsMHgzZSwweDEwLDB4YWYsMHgwMCwweDIwIH0sCi0gIDE2LCAweDgxYzAsIDAsIHsweGMwLDB4MGIsMHhmMCwweDAyLDB4M2MsMHgwMCwweDhmLDB4NTAsMHgyZSwweGM4LDB4MDYsMHg4YSwweDAyLDB4ZmMsMHgwMCwweDhkIH0sCi0gIDE2LCAweDgxZDAsIDAsIHsweDI0LDB4ODIsMHhkNiwweDA4LDB4MzIsMHgwMiwweDJkLDB4MDgsMHgzYSwweDQwLDB4MjIsMHg4MCwweDBkLDB4OTAsMHgwMywweDYyIH0sCi0gIDE2LCAweDgxZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4NGMsMHgwMCwweGIwLDB4MjAsMHgyOCwweGMyIH0sCi0gIDE2LCAweDgxZjAsIDAsIHsweDA4LDB4MDQsMHgwMiwweDhjLDB4MDAsMHgxMywweDAyLDB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MzAsMHg5MywweDgwIH0sCi0gIDE2LCAweDgyMDAsIDAsIHsweDI0LDB4ZDAsMHgwOSwweDIwLDB4MDIsMHhjYywweDAwLDB4OTEsMHg0MCwweDA4LDB4YzAsMHgyYSwweDE0LDB4MDIsMHg4MSwweDAwIH0sCi0gIDE2LCAweDgyMTAsIDAsIHsweDkwLDB4MDAsMHg2OCwweDAwLDB4MDgsMHgxOCwweDAyLDB4M2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyMjAsIDAsIHsweDcwLDB4MDEsMHgxZSwweDAwLDB4YjQsMHhhMCwweDIxLDB4ZTAsMHgwOCwweGM4LDB4MTIsMHg5ZSwweDAwLDB4YjMsMHg4MiwweDIxIH0sCi0gIDE2LCAweDgyMzAsIDAsIHsweGUwLDB4MGIsMHg3YSwweDBhLDB4MWUsMHgwMCwweDk3LDB4ODAsMHgyZCwweGUxLDB4MGEsMHg0OCwweDAyLDB4Y2UsMHg0MCwweDk1IH0sCi0gIDE2LCAweDgyNDAsIDAsIHsweDkwLDB4MjksMHhlNCwweDA4LDB4NTgsMHgwMiwweDlhLDB4MDAsMHhiNywweDg4LDB4MjEsMHhlMCwweDA5LDB4NTgsMHgwMiwweDVjIH0sCi0gIDE2LCAweDgyNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0YSwweDAwLDB4MGMsMHgwMCwweGYwLDB4ODAsMHgzOCwweGM0IH0sCi0gIDE2LCAweDgyNjAsIDAsIHsweDBjLDB4MjUsMHgwMywweDhjLDB4MjAsMHg5MywweDAwLDB4MzgsMHhjNCwweDBmLDB4YjAsMHgwMywweDBjLDB4ODAsMHhkMywweDAwIH0sCi0gIDE2LCAweDgyNzAsIDAsIHsweDM0LDB4YzAsMHgwZCwweDA0LDB4MTMsMHhjYywweDA4LDB4OTksMHgwMCwweDJhLDB4YzAsMHgwZSwweDIxLDB4MDMsMHg4OCwweDA0IH0sCi0gIDE2LCAweDgyODAsIDAsIHsweGYzLDB4MDAsMHgzOCwweGMwLDB4MGMsMHgxMSwweDgzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyOTAsIDAsIHsweDQyLDB4MTUsMHhiYywweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzMsMHgwZSwweGMwLDB4MDMsMHgxYywweDAwLDB4YWYsMHg0YSwweDdmIH0sCi0gIDE2LCAweDgyYTAsIDAsIHsweGM0LDB4MGYsMHhiMiwweDAzLDB4ZmQsMHgwMSwweGVmLDB4MTAsMHgzZiwweDg0LDB4MGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGU5IH0sCi0gIDE2LCAweDgyYjAsIDAsIHsweDAwLDB4MzcsMHhjMiwweDBlLDB4ZjEsMHg0NywweDdjLDB4MDAsMHhmNywweDAwLDB4M2QsMHhjMCwweDBmLDB4NTAsMHgwMywweGQwIH0sCi0gIDE2LCAweDgyYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDE1LDB4ZWMsMHgwOCwweGY4LDB4MDAsMHgzZSwweGNhIH0sCi0gIDE2LCAweDgyZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGVmLDB4MjEsMHhmYiwweDgwLDB4N2EsMHg0MCwweDhmLDB4YjIsMHhhMSwweDJmLDB4MDAsMHhjYiwweDYwIH0sCi0gIDE2LCAweDgyZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlZCwweGEwLDB4ZTksMHgzMCwweDMyLDB4YzAsMHgyZCwweGIwLDB4MDMsMHhlNCwweDAwIH0sCi0gIDE2LCAweDgyZjAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzMDAsIDAsIHsweGM4LDB4OTEsMHg5ZCwweDAwLDB4YjQsMHgwMSwweDJkLDB4YzgsMHgwYiwweDcwLDB4MDIsMHhjYywweDgwLDB4OGYsMHgyMCwweDIxIH0sCi0gIDE2LCAweDgzMTAsIDAsIHsweGMwLDB4OGIsMHg3NiwweDAzLDB4NWQsMHgwMCwweDg3LDB4MGEsMHgyZCwweGMwLDB4MGIsMHg0MCwweDIyLDB4ZmQsMHgwMCwweDhkIH0sCi0gIDE2LCAweDgzMjAsIDAsIHsweDEwLDB4MjMsMHhjOCwweDA4LDB4NTAsMHgxMiwweGQ0LDB4MDAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGYyIH0sCi0gIDE2LCAweDgzMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4OWUsMHgwMCwweGI0LDB4ODAsMHgyZCwweGUwIH0sCi0gIDE2LCAweDgzNDAsIDAsIHsweDBiLDB4N2MsMHgwMiwweGRlLDB4NDAsMHhhNywweDgyLDB4MmQsMHhlMCwweDBiLDB4M2EsMHgwMiwweDhlLDB4MDAsMHg4NywweDkwIH0sCi0gIDE2LCAweDgzNTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweDU4LDB4MDIsMHg1ZSwweDAwLDB4YTUsMHhhMiwweDY1LDB4ZTAsMHgwOCwweDY4LDB4ODIsMHhkYSwweDAwIH0sCi0gIDE2LCAweDgzNjAsIDAsIHsweDk1LDB4ODAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4ZTAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzNzAsIDAsIHsweDA4LDB4ODQsMHhjYywweDAwLDB4YjAsMHgwOSwweDJjLDB4YzAsMHgwYiwweDM4LDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMCwweDJlIH0sCi0gIDE2LCAweDgzODAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDQyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGEwLDB4MGIsMHgwNCwweDAyLDB4Y2MsMHgwMCwweDgxIH0sCi0gIDE2LCAweDgzOTAsIDAsIHsweDAwLDB4YTAsMHhjMCwweDA4LDB4YjAsMHgwNiwweGNmLDB4ODAsMHhiMywweDEwLDB4MmMsMHhjNCwweDBiLDB4MzEsMHgwMiwweGMzIH0sCi0gIDE2LCAweDgzYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGZlLDB4ODAsMHgzZSwweDgwIH0sCi0gIDE2LCAweDgzYjAsIDAsIHsweDBmLDB4ZTgsMHgxMywweGU4LDB4MDAsMHhlYSwweDAwLDB4M2YsMHhiMCwweDBmLDB4YTAsMHgwMywweGE4LDB4MDIsMHhjMiwweDAwIH0sCi0gIDE2LCAweDgzYzAsIDAsIHsweDJmLDB4ODgsMHgwZiwweGUwLDB4MDMsMHhlOCwweDAwLDB4ZWEsMHgwMCwweDM2LDB4MDAsMHgwYywweGUwLDB4MDMsMHhmOSwweDIwIH0sCi0gIDE2LCAweDgzZDAsIDAsIHsweGRlLDB4ODAsMHgzZiwweGEwLDB4NGYsMHhhOCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgxMCwweDNjLDB4MTAsMHgwZiwweDgwLDB4ODMsMHhlMSwweDAwLDB4ZTgsMHgwMCwweDIyIH0sCi0gIDE2LCAweDgzZjAsIDAsIHsweDA2LDB4MGYsMHgwMCwweDEzLDB4ZTAsMHgwMSwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweDg0MDAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgyMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDg0MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHgzZSwweDQ0IH0sCi0gIDE2LCAweDg0MjAsIDAsIHsweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgxMiwweDI0LDB4MDAsMHhmOSwweDEwIH0sCi0gIDE2LCAweDg0MzAsIDAsIHsweDMyLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4YzksMHgwMCwweDMyLDB4MTAsMHgwYywweDljLDB4MDEsMHgyNCwweDAwIH0sCi0gIDE2LCAweDg0NDAsIDAsIHsweGY5LDB4MTAsMHgzZSwweDcwLDB4MGYsMHg5MCwweDAyLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0NTAsIDAsIHsweDgwLDB4MTQsMHg2NCwweDAwLDB4YjksMHhjMCwweDJlLDB4NDgsMHgwOCwweDkxLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlIH0sCi0gIDE2LCAweDg0NjAsIDAsIHsweDQwLDB4MGQsMHg5MCwweDAzLDB4NjcsMHgwMCwweGI5LDB4ODAsMHgyYSwweDYwLDB4MGIsMHg5OSwweDAyLDB4ZTQsMHgwMCwweDgxIH0sCi0gIDE2LCAweDg0NzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDJjLDB4OTAsMHgxMiwweDI1LDB4MjAsMHhiOSwweDQ4LDB4MmUsMHg1MiwweDBiLDB4OTQsMHgwMiwweGUwIH0sCi0gIDE2LCAweDg0ODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweDg0OTAsIDAsIHsweDY4LDB4OTAsMHg0NiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHhjMCwweDA4LDB4OTAsMHgwMiwweGE0LDB4NjAsMHhiOSwweDAwIH0sCi0gIDE2LCAweDg0YTAsIDAsIHsweDIyLDB4NDgsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAyLDB4ODksMHgwMCwweGEwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNiwweDEwIH0sCi0gIDE2LCAweDg0YjAsIDAsIHsweGI5LDB4MDAsMHgwZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0YzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjEsMHgwMCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjNCwweDg0LDB4YjEsMHgyMCwweDJjIH0sCi0gIDE2LCAweDg0ZDAsIDAsIHsweDQwLDB4MDksMHgxMiwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHgyOCwweDQwLDB4MGIsMHgxMCwweDAyLDB4YzQsMHg4MCwweDg5IH0sCi0gIDE2LCAweDg0ZTAsIDAsIHsweDIwLDB4MjAsMHg0MCwweDRiLDB4MTIsMHgwYSwweDg0LDB4ODQsMHhiMSwweDIwLDB4MmMsMHg0OCwweDhiLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDg0ZjAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGJhLDB4MDAsMHgyZSwweDAwIH0sCi0gIDE2LCAweDg1MDAsIDAsIHsweDBjLDB4ODAsMHgwMywweGU4LDB4MDgsMHhmOCwweDUwLDB4M2UsMHgxNCwweDBjLDB4ODUsMHgwMywweDIwLDB4MDAsMHhiOCwweDAwIH0sCi0gIDE2LCAweDg1MTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweGEwLDB4MDMsMHhlMSwweDQwLDB4YzgsMHg1MCwweDMyLDB4MTQsMHgwYywweGE1LDB4MDMsMHhhMSwweDQwIH0sCi0gIDE2LCAweDg1MjAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhhMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1MzAsIDAsIHsweDg4LDB4MGQsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4YjksMHgxMSwweDNmIH0sCi0gIDE2LCAweDg1NDAsIDAsIHsweDQwLDB4MGYsMHg5MSwweDAzLDB4NjQsMHg0NCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGZkIH0sCi0gIDE2LCAweDg1NTAsIDAsIHsweDEwLDB4M2YsMHgxMCwweDhjLDB4ZDEsMHgwMywweDc0LDB4NDAsMHhmZiwweDEwLDB4M2YsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU2IH0sCi0gIDE2LCAweDg1NjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4NjYsMHgyMCwweGVkLDB4MDAsMHgzMywweDY5IH0sCi0gIDE2LCAweDg1NzAsIDAsIHsweDRkLDB4NTAsMHg0MywweDU2LDB4MDAsMHhmOSwweGEwLDB4MzQsMHg0MCwweDBmLDB4OWEsMHgwYiwweDM0LDB4MDAsMHhkZCwweDgwIH0sCi0gIDE2LCAweDg1ODAsIDAsIHsweDNiLDB4NDAsMHgwYiwweDUwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4ZTAsMHgwZSwweGQwLDB4MDMsMHhmNCwweDAwIH0sCi0gIDE2LCAweDg1OTAsIDAsIHsweGZkLDB4MDAsMHgzZiwweDQwLDB4MGMsMHhkMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1YTAsIDAsIHsweDc4LDB4MTAsMHhlMiwweDgwLDB4ODgsMHgwNCwweDIyLDB4MTAsMHgwYiwweDgwLDB4MDIsMHgyMCwweDA5LDB4YjgsMHhmMCwweDIyIH0sCi0gIDE2LCAweDg1YjAsIDAsIHsweDAwLDB4MGIsMHg4ZSwweDEyLDB4YTAsMHgwMCwweGI4LDB4NTIsMHgyZSwweDAwLDB4MGIsMHg4MCwweDAyLDB4ZTAsMHgwNSwweGI4IH0sCi0gIDE2LCAweDg1YzAsIDAsIHsweGFhLDB4MjMsMHgzZSwweDBkLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4M2EsMHgwMCwweDA4LDB4ODAsMHgwMiwweGNlIH0sCi0gIDE2LCAweDg1ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHgyMCwweGE5LDB4MDAsMHhhNCwweDQ0IH0sCi0gIDE2LCAweDg1ZTAsIDAsIHsweDA5LDB4OTAsMHgwMiwweGM1LDB4MDAsMHhhMSwweDA4LDB4MmMsMHg0MCwweDBiLDB4MTEsMHg4MiwweDA0LDB4MDAsMHhiMSwweDAwIH0sCi0gIDE2LCAweDg1ZjAsIDAsIHsweDI4LDB4NDAsMHgwYSwweDEwLDB4NDIsMHhjNCwweDAwLDB4YjUsMHgwMCwweGExLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjNCwweDAwIH0sCi0gIDE2LCAweDg2MDAsIDAsIHsweGIxLDB4MDEsMHgyYywweDQwLDB4MDgsMHgxMCwweDIwLDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2MTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDAsMHhhYywweDAwLDB4MzksMHgwMCwweDJhIH0sCi0gIDE2LCAweDg2MjAsIDAsIHsweDQwLDB4MGIsMHgxMCwweDAyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQ4LDB4MGIsMHg5MCwweDEyLDB4ZTQsMHgwMCwweGI5IH0sCi0gIDE2LCAweDg2MzAsIDAsIHsweDAwLDB4MjEsMHg2MCwweDA5LDB4OTIsMHgyMiwweGU0LDB4MjgsMHhiOSwweDAwLDB4MGEsMHg1MCwweDA4LDB4OTAsMHgwNiwweGM2IH0sCi0gIDE2LCAweDg2NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweDg2NTAsIDAsIHsweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0OCwweDBmLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwIH0sCi0gIDE2LCAweDg2NjAsIDAsIHsweDNhLDB4NzgsMHgwZSwweDk4LDB4MDMsMHhlNCwweDAwLDB4YjksMHgwMCwweGIyLDB4NDAsMHgwZSwweDkyLDB4MjMsMHhlNiwweDAwIH0sCi0gIDE2LCAweDg2NzAsIDAsIHsweGI5LDB4NTAsMHgzZSwweDcwLDB4MmMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2ODAsIDAsIHsweDY4LDB4MDEsMHg4NCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg0ZiwweDljLDB4MjMsMHg2NCwweDAwLDB4ZjksMHgwNCwweDM2IH0sCi0gIDE2LCAweDg2OTAsIDAsIHsweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDYwLDB4MGYsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweDg2YTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHg4MywweGU0LDB4NDQsMHhmOSwweDAwLDB4NzgsMHg2NCwweDBmLDB4OTAsMHgwMywweGRhIH0sCi0gIDE2LCAweDg2YjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweDg2YzAsIDAsIHsweDBmLDB4ODIsMHgwMywweGEwLDB4NDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweDIwLDB4YzAsMHhjOCwweDgwIH0sCi0gIDE2LCAweDg2ZDAsIDAsIHsweDNlLDB4MTIsMHgwZiwweDgwLDB4MDMsMHg2MCwweDAwLDB4N2MsMHgwMCwweDMzLDB4MDAsMHgwZCwweDgwLDB4MTMsMHhlMCwweDEwIH0sCi0gIDE2LCAweDg2ZTAsIDAsIHsweGM4LDB4NjQsMHgzZSwweDA4LDB4MGMsMHg4MiwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2ZjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YjYsMHhlMCwweDBmLDB4YTAsMHgwYiwweDYwLDB4ODIsMHgzOCwweDAwLDB4YWEsMHgwMCwweDJlIH0sCi0gIDE2LCAweDg3MDAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDQyLDB4YmEsMHgwMCwweGFlLDB4MjAsMHgyZiwweDg4LDB4MGIsMHhlNSwweDAyLDB4MjgsMHgwMCwweGJhIH0sCi0gIDE2LCAweDg3MTAsIDAsIHsweGQ4LDB4MzcsMHg4MCwweDA4LDB4ZWMsMHgwMiwweGY4LDB4MDQsMHg4ZSwweDAwLDB4MmYsMHg5MCwweDBkLDB4ZTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweDg3MjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIwLDB4MjQsMHgyYywweDYwIH0sCi0gIDE2LCAweDg3MzAsIDAsIHsweDBiLDB4MzgsMHgwMiwweDhlLDB4ODAsMHhhYiwweDAwLDB4MmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBkLDB4MDgsMHgwMCwweDgwIH0sCi0gIDE2LCAweDg3NDAsIDAsIHsweDZjLDB4ZDAsMHgwYiwweDM0LDB4MDIsMHhjYywweDAwLDB4YjgsMHhjMCwweDIwLDB4MDAsMHg0OCwweDM0LDB4MTIsMHhjYywweDQwIH0sCi0gIDE2LCAweDg3NTAsIDAsIHsweDgzLDB4MDAsMHgyYywweGUwLDB4MGEsMHgzNSwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3NjAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4YjcsMHgwMCwweDJkLDB4MDIsMHg4YiwweDYwLDB4MDIsMHg5ZSwweDAwLDB4ODcsMHgyMCwweDJmIH0sCi0gIDE2LCAweDg3NzAsIDAsIHsweGUwLDB4MDgsMHg3MiwweDAyLDB4OWUsMHgwMCwweGE0LDB4MDAsMHgyZCwweGMwLDB4MGIsMHhmOCwweDAyLDB4OWMsMHhjMCwweGIzIH0sCi0gIDE2LCAweDg3ODAsIDAsIHsweDAyLDB4YTUsMHhjMCwweDA4LDB4NTAsMHg4NiwweGZlLDB4MDAsMHg4NywweDAwLDB4MmYsMHhkMCwweDA5LDB4NzAsMHgwMiwweGU4IH0sCi0gIDE2LCAweDg3OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGY0LDB4ODAsMHgzZCwweDIwIH0sCi0gIDE2LCAweDg3YTAsIDAsIHsweDBmLDB4NTgsMHgwMywweDllLDB4MDAsMHg2NywweDgwLDB4M2QsMHhmOCwweDBkLDB4MzgsMHgwMiwweDFhLDB4MTAsMHg0NCwweDgwIH0sCi0gIDE2LCAweDg3YjAsIDAsIHsweDNkLDB4ZTAsMHgwZiwweDU4LDB4MDMsMHhkZSwweDIwLDB4YjQsMHg4MCwweDMzLDB4YTAsMHgyYywweDY4LDB4MDMsMHhkNiwweDAwIH0sCi0gIDE2LCAweDg3YzAsIDAsIHsweGM3LDB4ODEsMHgzZCwweGUwLDB4MGMsMHg3OCwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3ZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDA4LDB4ZjgsMHgwMCwweDNlLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHg2YywweDAwLDB4M2IsMHgxMiwweDNlIH0sCi0gIDE2LCAweDg3ZTAsIDAsIHsweGNhLDB4MGYsMHhiNSwweDAzLDB4YzgsMHgwMCwweGY4LDB4MDQsMHg3ZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4NmMsMHg4MCwweGZiIH0sCi0gIDE2LCAweDg3ZjAsIDAsIHsweDA0LDB4M2EsMHg0MCwweDBmLDB4OTAsMHgyMywweGM4LDB4MDAsMHhmOSwweDAxLDB4M2MsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweDg4MDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGFjLDB4OTAsMHgzMSwweDQ4IH0sCi0gIDE2LCAweDg4MTAsIDAsIHsweDA4LDB4ZjgsMHgwMywweGZhLDB4MDAsMHhjZiwweDgwLDB4M2YsMHhlMCwweDBjLDB4ZmMsMHgxMywweDNlLDB4MDQsMHhmYywweDgwIH0sCi0gIDE2LCAweDg4MjAsIDAsIHsweDM1LDB4YTAsMHgwYywweDc4LDB4MDMsMHhiZSwweDAwLDB4ZGYsMHg4MCwweDNiLDB4MjAsMHgyNCwweGY4LDB4MDMsMHgyZSwweDQwIH0sCi0gIDE2LCAweDg4MzAsIDAsIHsweGNmLDB4ODAsMHgzMywweGUwLDB4MDMsMHhmOSwweDAzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4NDAsIDAsIHsweGE4LDB4MTEsMHhiYywweDAwLDB4ODAsMHgwMCwweDAxLDB4MDAsMHgwOCwweDcyLDB4MDIsMHhkMCwweDAwLDB4ODcsMHgwMCwweDJkIH0sCi0gIDE2LCAweDg4NTAsIDAsIHsweGM4LDB4MGEsMHhmMCwweDAyLDB4OTgsMHg0MCwweGY1LDB4MDAsMHg2MSwweDQxLDB4MDAsMHg3NCwweDAyLDB4MWMsMHgwMCwweGI0IH0sCi0gIDE2LCAweDg4NjAsIDAsIHsweDAwLDB4MjEsMHhjOCwweDA4LDB4NjAsMHgwMiwweDNlLDB4MjAsMHg4NiwweDA4LDB4MjEsMHhkOCwweDBmLDB4NTAsMHgwMiwweGVhIH0sCi0gIDE2LCAweDg4NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAwLDB4OWMsMHgwMCwweGE0LDB4MDAsMHgyMSwweDAwIH0sCi0gIDE2LCAweDg4ODAsIDAsIHsweDA4LDB4NTAsMHgwMiwweGQ4LDB4MDAsMHg5NywweDAwLDB4MmQsMHhjMCwweDg4LDB4NzEsMHgwMiwweDE0LDB4MDAsMHhiMCwweDAwIH0sCi0gIDE2LCAweDg4OTAsIDAsIHsweDI1LDB4OTAsMHgwOCwweGMwLDB4ODIsMHg5YywweDQwLDB4OTMsMHgwMCwweDI5LDB4YTEsMHg4OCwweDYwLDB4MDIsMHgxNCwweDEyIH0sCi0gIDE2LCAweDg4YTAsIDAsIHsweDg3LDB4NDAsMHgyOSwweDQwLDB4MGIsMHg2MCwweDAyLDB4YzQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4YjAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4ODAsMHhkMCwweGEwLDB4MDAsMHgwOCwweDFjLDB4MDIsMHhjMCwweDAwLDB4OTMsMHgwMCwweDJjIH0sCi0gIDE2LCAweDg4YzAsIDAsIHsweGQwLDB4MGEsMHhiMCwweDI2LDB4ODAsMHgwMCwweGIzLDB4MDAsMHgyNCwweGU0LDB4MDgsMHgwOCwweDAyLDB4OGMsMHgwMCwweGIwIH0sCi0gIDE2LCAweDg4ZDAsIDAsIHsweDAyLDB4MDIsMHg0MSwweDA4LDB4MDgsMHgwMiwweDAzLDB4MDEsMHg4MSwweDAwLDB4MjgsMHg0MiwweDFhLDB4MDAsMHg0MiwweGQ4IH0sCi0gIDE2LCAweDg4ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmOCwweDE1LDB4YmMsMHgwMCwweGU4LDB4YzAsMHgzMiwweDgwIH0sCi0gIDE2LCAweDg4ZjAsIDAsIHsweDBjLDB4YjUsMHgwMywweGU0LDB4MDAsMHg5ZiwweDAwLDB4M2QsMHhlMCwweDBjLDB4ZjAsMHgwYiwweDI0LDB4MDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweDg5MDAsIDAsIHsweDM2LDB4ZTAsMHgwYywweDI1LDB4MDMsMHhiYywweDA1LDB4ZDgsMHgwMiwweDJhLDB4MDAsMHgwOCwweGJhLDB4MDIsMHgyYSwweDAwIH0sCi0gIDE2LCAweDg5MTAsIDAsIHsweGMxLDB4MDIsMHgzYSwweDUwLDB4OGIsMHg5MCwweDAzLDB4ZWUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5MjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwOCwweDNlLDB4ODAsMHgwZiwweGExLDB4MDMsMHhlYywweDA0LDB4ZWIsMHgwMiwweDJlIH0sCi0gIDE2LCAweDg5MzAsIDAsIHsweGM2LDB4MGYsMHhiMCwweDE3LDB4NDQsMHgwMCwweGU4LDB4MDAsMHgzYSwweDQwLDB4MGYsMHg4MCwweDAyLDB4NmMsMHgwMCwweGZiIH0sCi0gIDE2LCAweDg5NDAsIDAsIHsweDAwLDB4M2UsMHhlMCwweDBmLDB4OTAsMHg5MywweGUxLDB4MDAsMHhkOSwweDAwLDB4MjYsMHg3MCwweDhmLDB4OTAsMHgwMSwweGUxIH0sCi0gIDE2LCAweDg5NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZmMsMHgwMCwweGZjLDB4MDMsMHgzNywweDI0IH0sCi0gIDE2LCAweDg5NjAsIDAsIHsweDBkLDB4ZjgsMHgwMywweGUwLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMSwweDhkLDB4ZjAsMHgwYiwweDM4LDB4MDAsMHhjYywweDAwIH0sCi0gIDE2LCAweDg5NzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGZhLDB4MDMsMHgzYywweDBjLDB4ZmMsMHgwNCwweDNiLDB4ODAsMHgwYywweGEwLDB4MDMsMHg5NCwweDIwIH0sCi0gIDE2LCAweDg5ODAsIDAsIHsweDg5LDB4MDUsMHgzYiwweDAwLDB4NGYsMHhkMCwweDIzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5OTAsIDAsIHsweDgwLDB4MDQsMHg2YywweDAwLDB4YjAsMHgwNiwweDIwLDB4MTMsMHg4OCwweGE4LDB4MDIsMHhlYiwweDAwLDB4YmIsMHgwMCwweDJlIH0sCi0gIDE2LCAweDg5YTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4MmEsMHgwMCwweGE4LDB4ODAsMHgyZSwweGUwLDB4MGIsMHg5NCwweDFhLDB4MmMsMHgwMCwweGJiIH0sCi0gIDE2LCAweDg5YjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDI5LDB4OTgsMHgwMiwweGUyLDB4MDAsMHhhOSwweDg0LDB4MjIsMHgyMCwweDBiLDB4OTgsMHgwMiwweGUwIH0sCi0gIDE2LCAweDg5YzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGI4LDB4MDAsMHgyMiwweDAwIH0sCi0gIDE2LCAweDg5ZDAsIDAsIHsweDA5LDB4ODIsMHgwMiwweGU2LDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweDI2LDB4MDAsMHg4OCwweDgwIH0sCi0gIDE2LCAweDg5ZTAsIDAsIHsweDJlLDB4YTAsMHgwYiwweGEwLDB4MDIsMHgyYywweDAwLDB4YjMsMHgwMCwweDJhLDB4MDAsMHgwOSwweDk4LDB4MDIsMHhlYSwweDIwIH0sCi0gIDE2LCAweDg5ZjAsIDAsIHsweGE5LDB4ODAsMHgyYSwweDYwLDB4OWIsMHg5OCwweDgyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhMDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjgsMHgwMCwweDIwLDB4MDAsMHgwOSwweDA4LDB4MDIsMHhjNCwweDAwLDB4YjMsMHgwMCwweDI2IH0sCi0gIDE2LCAweDhhMTAsIDAsIHsweGMwLDB4MDAsMHgzMCwweDAyLDB4MDAsMHgwMCwweDgxLDB4MDAsMHgyYywweDQxLDB4MGIsMHgwMCwweDAyLDB4MGMsMHgwMCwweGIwIH0sCi0gIDE2LCAweDhhMjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDBiLDB4MDAsMHgwMiwweGM4LDB4ODAsMHhhOCwweDAwLDB4MjAsMHg0MSwweDBiLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDhhMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgxMCwweGY4LDB4NTAsMHhiMiwweDAwIH0sCi0gIDE2LCAweDhhNDAsIDAsIHsweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmYiwweDAwLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgxMywweDI0LDB4MDIsMHhjOCwweDA2IH0sCi0gIDE2LCAweDhhNTAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHgzYywweDA0LDB4ZmIsMHgwMCwweDc4LDB4ODAsMHgwYywweGEwLDB4MDMsMHhlNCwweDAwIH0sCi0gIDE2LCAweDhhNjAsIDAsIHsweGU5LDB4MDAsMHgxYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhNzAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZjQsMHgyMCwweDNmLDB4MDAsMHgwZSwweGMwLDB4MDIsMHhmMCwweDAxLDB4ZmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweDhhODAsIDAsIHsweGMwLDB4MGYsMHhmMCwweDIzLDB4ZjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZjIH0sCi0gIDE2LCAweDhhOTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDljLDB4YzAsMHgwMywweGYwLDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHg0MywweGU4IH0sCi0gIDE2LCAweDhhYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHgwMCwweGVkLDB4MjMsMHhiNywweDQ4IH0sCi0gIDE2LCAweDhhYjAsIDAsIHsweDBjLDB4ZTEsMHhjMywweDdjLDB4YzAsMHhkZCwweDgwLDB4MzcsMHhlMCwweDBmLDB4Y2IsMHgwMywweGZlLDB4MDgsMHhmYywweDI4IH0sCi0gIDE2LCAweDhhYzAsIDAsIHsweDNmLDB4ZjAsMHgxYywweGZiLDB4MjMsMHg3YywweDAxLDB4ZmYsMHgxNCwweDc3LDB4ZTIsMHg0ZiwweGU4LDB4MjMsMHg3YywweDAwIH0sCi0gIDE2LCAweDhhZDAsIDAsIHsweGM0LDB4ODAsMHgzMywweDQ4LDB4MmMsMHhmOCwweDIyLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhZTAsIDAsIHsweDgwLDB4MTAsMHhlMCwweGUwLDB4YzksMHhjMCwweDIyLDB4NWIsMHg4OCwweDk2LDB4MjIsMHgyZCwweDAwLDB4ODksMHgyMiwweDIyIH0sCi0gIDE2LCAweDhhZjAsIDAsIHsweGNhLDB4MGIsMHg5ZSwweDIyLDB4ZTIsMHhhMCwweGI5LDB4NjEsMHgyYywweGUwLDB4ODgsMHg5ZiwweDAyLDB4M2QsMHg4NSwweGJmIH0sCi0gIDE2LCAweDhiMDAsIDAsIHsweDYwLDB4MjYsMHg1MCwweDQ4LDB4YTAsMHgwMiwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjIsMHg1MCwweDA4LDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweDhiMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzAsMHg4MCwweGIxLDB4MTAsMHgyMCwweDQ0IH0sCi0gIDE2LCAweDhiMjAsIDAsIHsweDBiLDB4YjIsMHgwMiwweGNlLDB4ZDAsMHg4MSwweDA4LDB4MmMsMHhjMCwweDBiLDB4MDEsMHgwMiwweDhjLDB4MDgsMHhiMywweDA4IH0sCi0gIDE2LCAweDhiMzAsIDAsIHsweDJjLDB4YzksMHgwOCwweDEwLDB4NjIsMHg4YywweDYwLDB4YjMsMHgzMiwweDI0LDB4ODAsMHgwYSwweGEwLDB4MDIsMHg2YywweDAzIH0sCi0gIDE2LCAweDhiNDAsIDAsIHsweDlhLDB4MDEsMHgyNiwweDQ0LDB4NDgsMHhiMCwweDQyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiNTAsIDAsIHsweGMwLDB4MTUsMHhhNCwweGEwLDB4OGIsMHgwMiwweDIyLDB4ZTAsMHgwYiwweGIwLDB4NjIsMHhhYywweDk4LDB4OTksMHgwMCwweDJhIH0sCi0gIDE2LCAweDhiNjAsIDAsIHsweGMyLDB4MGIsMHg5OCwweDA2LDB4ZTQsMHgwMCwweGJiLDB4MDIsMHgyZSwweGMwLDB4MDgsMHg5MSwweDQyLDB4MmMsMHgxMCwweGJiIH0sCi0gIDE2LCAweDhiNzAsIDAsIHsweDAwLDB4NmUsMHg4MCwweDBhLDB4ODAsMHgwMiwweDZjLDB4MDAsMHgxYiwweDAwLDB4MDYsMHg0MCwweDQ4LDB4YjgsMHgwYSwweDcwIH0sCi0gIDE2LCAweDhiODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZTcsMHgwMCwweGExLDB4MDAsMHg3NiwweDc4IH0sCi0gIDE2LCAweDhiOTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGU4LDB4MTAsMHhkOSwweDAwLDB4M2UsMHhkMCwweDRiLDB4OWUsMHgxMywweGFjLDB4MDgsMHhiOCwweGEwIH0sCi0gIDE2LCAweDhiYTAsIDAsIHsweDdlLDB4YzYsMHgwOCwweGE4LDB4MDIsMHgyYywweDAxLDB4YmIsMHgwMCwweDI2LDB4MzAsMHg0ZSwweDIwLDB4MDMsMHg0YywweDE4IH0sCi0gIDE2LCAweDhiYjAsIDAsIHsweDk5LDB4ODAsMHhiNCwweDQwLDB4NGMsMHgzYSwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiYzAsIDAsIHsweGUwLDB4MDEsMHhiMiwweDAwLDB4ZmQsMHhjNSwweDNiLDB4YzAsMHg0YywweGQwLDB4MDMsMHg2YSwweDAyLDB4ZWQsMHgwNiwweDMzIH0sCi0gIDE2LCAweDhiZDAsIDAsIHsweGM0LDB4MGYsMHhkMCwweDUzLDB4ZjgsMHgwMCwweGZjLDB4OTAsMHg3ZiwweGMxLDB4MGYsMHg3OCwweDAzLDB4YmMsMHgwNCwweGZmIH0sCi0gIDE2LCAweDhiZTAsIDAsIHsweDAwLDB4MzcsMHg2NCwweDBjLDB4ZjEsMHgwMywweGE0LDB4MDAsMHhlZCwweGExLDB4M2IsMHg0MCwweDBiLDB4ZjAsMHg4MywweGI4IH0sCi0gIDE2LCAweDhiZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgwMCwweGNiLDB4MjAsMHgzZSwweDcxIH0sCi0gIDE2LCAweDhjMDAsIDAsIHsweDBmLDB4YjMsMHgwMywweDk4LDB4MDIsMHhmYiwweDAyLDB4MzYsMHg0OCwweDBmLDB4OTAsMHgwMywweGVjLDB4MjAsMHhmOCwweDAwIH0sCi0gIDE2LCAweDhjMTAsIDAsIHsweDNlLDB4Y2MsMHgwNCwweDg0LDB4MDMsMHgyYywweDAwLDB4ZGIsMHgwNCwweDNjLDB4MTAsMHgwZiwweGEwLDB4MDMsMHhlYywweDAwIH0sCi0gIDE2LCAweDhjMjAsIDAsIHsweDliLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjMzAsIDAsIHsweDg4LDB4MDUsMHgyYywweDAyLDB4OGIsMHg0OCwweDJlLDB4ZTAsMHgwYiwweDM0LDB4MDMsMHg2YiwweDAwLDB4OGIsMHhmNSwweDIyIH0sCi0gIDE2LCAweDhjNDAsIDAsIHsweGYyLDB4MGIsMHg5YywweDAzLDB4YWYsMHgwMCwweGI4LDB4NTAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4N2MsMHgwMCwweDhmIH0sCi0gIDE2LCAweDhjNTAsIDAsIHsweDAwLDB4MGUsMHg1ZCwweDBiLDB4ODAsMHgwMiwweGY1LDB4NDAsMHg4MywweDUwLDB4MjMsMHg1NCwweDA4LDB4OWMsMHgwMiwweGU2IH0sCi0gIDE2LCAweDhjNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA0LDB4NGMsMHgwMCwweDgxLDB4ODEsMHgyZSwweDQwIH0sCi0gIDE2LCAweDhjNzAsIDAsIHsweDAzLDB4MmMsMHgwMiwweDA0LDB4MzMsMHg5OSwweDAwLDB4MjAsMHhmMCwweDRhLDB4MjgsMHg4MCwweGNjLDB4NDAsMHhiMCwweDAwIH0sCi0gIDE2LCAweDhjODAsIDAsIHsweDI2LDB4MTAsMHgwOCwweDIwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHgwOSwweDIwLDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweDhjOTAsIDAsIHsweGEwLDB4MDIsMHgyOCwweDQwLDB4MDgsMHgwOCwweDAyLDB4N2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjYTAsIDAsIHsweDIwLDB4MDEsMHgwYSwweDAwLDB4ODUsMHg4MCwweDJkLDB4ZjgsMHgwYiwweGRhLDB4MDIsMHhkNiwweDQwLDB4ODUsMHhhMCwweDIxIH0sCi0gIDE2LCAweDhjYjAsIDAsIHsweGUwLDB4MGIsMHg0OCwweDA2LDB4OTIsMHgwNCwweGI1LDB4ODAsMHgyZCwweDIxLDB4MDgsMHgwMCwweDAyLDB4NGUsMHgwMCwweDg3IH0sCi0gIDE2LCAweDhjYzAsIDAsIHsweGE0LDB4MmQsMHg2MCwweDBiLDB4NjgsMHgwMiwweGRlLDB4YzIsMHhhZCwweDkwLDB4MmIsMHg2MCwweDI4LDB4NTgsMHg4MiwweGRjIH0sCi0gIDE2LCAweDhjZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4NGMsMHg0MCwweGMzLDB4MTAsMHgyYywweDZjIH0sCi0gIDE2LCAweDhjZTAsIDAsIHsweDBmLDB4MzAsMHgwMywweDg2LDB4YTIsMHhmOSwweGIwLDB4YjAsMHhlMCwweDBmLDB4MjksMHg4MywweGNlLDB4NDQsMHhmMywweDgwIH0sCi0gIDE2LCAweDhjZjAsIDAsIHsweDNjLDB4YWMsMHgwYywweDMwLDB4MDMsMHgwYywweDAwLDB4YzMsMHgwMCwweDNjLDB4ZDUsMHgwZiwweDIwLDB4MDMsMHhjZSwweGMxIH0sCi0gIDE2LCAweDhkMDAsIDAsIHsweGUwLDB4MTAsMHhiOCwweDQwLDB4MGMsMHgwMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkMTAsIDAsIHsweGMwLDB4MWQsMHhiYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4Y2MsMHgwZiwweDMyLDB4MDMsMHg2NCwweDA4LDB4ZjksMHgwMCwweDNiIH0sCi0gIDE2LCAweDhkMjAsIDAsIHsweDkwLDB4MGYsMHhmMCwweDQzLDB4ZTQsMHg0MCwweGZiLDB4MzQsMHgzZiwweDgxLDB4MDcsMHhkMSwweDAzLDB4YWQsMHgyMCwweGViIH0sCi0gIDE2LCAweDhkMzAsIDAsIHsweDIwLDB4N2YsMHhjNCwweDBmLDB4ZTEsMHgwMywweGZjLDB4NTAsMHhjZCwweDEwLDB4MzUsMHg0MCwweDBmLDB4ZDAsMHgwMywweGQwIH0sCi0gIDE2LCAweDhkNDAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwNCwweGZkLDB4MDQsMHgzZCwweDQwIH0sCi0gIDE2LCAweDhkNTAsIDAsIHsweDJkLDB4MzAsMHgwMiwweDNjLDB4MDAsMHhjOSwweDAxLDB4M2UsMHhjMCwweDRmLDB4YjgsMHg0MywweGVjLDB4MTAsMHhmYiwweDAwIH0sCi0gIDE2LCAweDhkNjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweGEwLDB4MjMsMHhlYywweDgwLDB4Y2IsMHgzNiwweDMyLDB4ODAsMHg0ZCwweGE4LDB4MDMsMHgyYywweDEwIH0sCi0gIDE2LCAweDhkNzAsIDAsIHsweGNiLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4NmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkODAsIDAsIHsweGM4LDB4MTEsMHg5MCwweDA4LDB4YjUsMHgwMCwweDJkLDB4YzAsMHgwOCwweDUwLDB4MDIsMHhiYywweDAyLDB4ODUsMHgwNCwweDJkIH0sCi0gIDE2LCAweDhkOTAsIDAsIHsweGMwLDB4OGUsMHg2MCwweDA2LDB4ZDgsMHgwNCwweGI3LDB4MDQsMHgyMSwweDQwLDB4MGIsMHg3MCwweDAyLDB4ZmMsMHg4MCwweGFmIH0sCi0gIDE2LCAweDhkYTAsIDAsIHsweDI4LDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweDA2LDB4NDAsMHg4NywweDAwLDB4MjEsMHg1MCwweDA4LDB4NTAsMHgwMiwweDMyIH0sCi0gIDE2LCAweDhkYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgyMCwweGI3LDB4ODAsMHgyYiwweDcwIH0sCi0gIDE2LCAweDhkYzAsIDAsIHsweDA4LDB4ZjgsMHgwNiwweDFlLDB4MDAsMHg4NywweDgwLDB4MmQsMHhlMCwweDBiLDB4NzAsMHgzMiwweGRlLDB4MDQsMHgzNywweDg0IH0sCi0gIDE2LCAweDhkZDAsIDAsIHsweDI1LDB4ZTAsMHgwYiwweDY4LDB4MDYsMHhkZSwweDgwLDB4ODcsMHg4MCwweDIxLDB4YTEsMHgxYiwweDY4LDB4MDIsMHgxZSwweDQwIH0sCi0gIDE2LCAweDhkZTAsIDAsIHsweDlmLDB4ODAsMHgyMCwweDYwLDB4MDgsMHg1OCwweDAyLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDIwLDB4YjMsMHgwMCwweDJjLDB4ODAsMHg4OCwweGI0LDB4MjIsMHg4ZCwweDAwLDB4ODMsMHg5MCwweDJjIH0sCi0gIDE2LCAweDhlMDAsIDAsIHsweGMwLDB4MGEsMHgzOCwweDAyLDB4Y2UsMHgwOCwweGJiLDB4MjAsMHgyNCwweGQwLDB4MGIsMHhiMywweDAyLDB4Y2MsMHgwMCwweGEzIH0sCi0gIDE2LCAweDhlMTAsIDAsIHsweDAwLDB4NjAsMHhkMiwweDBiLDB4MjAsMHgyYSwweDA0LDB4MDgsMHg5MywweDUwLDB4MjAsMHg0MCwweDA4LDB4MTcsMHgwYSwweDAyIH0sCi0gIDE2LCAweDhlMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmEsMHgwMCwweGJhLDB4YTAsMHgzZiwweDg0IH0sCi0gIDE2LCAweDhlMzAsIDAsIHsweDFjLDB4ZTAsMHgwYiwweDM4LDB4NDAsMHg4ZSwweDA2LDB4MmUsMHg4MCwweDBiLDB4ZTMsMHgwMywweGY4LDB4ODAsMHhmZSwweGU0IH0sCi0gIDE2LCAweDhlNDAsIDAsIHsweGI3LDB4OTAsMHgwZiwweGVjLDB4MDIsMHhlOCwweDAwLDB4OGEsMHgwMCwweGEzLDB4YTAsMHgwOSwweGU0LDB4MDMsMHgyYSwweDAyIH0sCi0gIDE2LCAweDhlNTAsIDAsIHsweGRlLDB4YzAsMHhmMywweDgwLDB4MGMsMHg2YywweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlNjAsIDAsIHsweDQ4LDB4MDEsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDJlIH0sCi0gIDE2LCAweDhlNzAsIDAsIHsweDMwLDB4MGEsMHg4NCwweDAzLDB4ZTAsMHgwNCwweGY4LDB4MDAsMHgzYSwweDAyLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweDhlODAsIDAsIHsweDAwLDB4M2UsMHgwNCwweDBkLDB4ODAsMHg4MywweGUwLDB4NDAsMHhlOCwweDIwLDB4M2UsMHgwMCwweDJmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDhlOTAsIDAsIHsweDEwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDY0IH0sCi0gIDE2LCAweDhlYTAsIDAsIHsweDRlLDB4OTAsMHg4MywweDI0LDB4ODAsMHhjOSwweDAwLDB4MzIsMHhlMCwweDBmLDB4MTAsMHgwMywweDI1LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweDhlYjAsIDAsIHsweDMyLDB4NDQsMHgwZiwweDkyLDB4MjMsMHg2NCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MTMsMHhlNCwweDAwIH0sCi0gIDE2LCAweDhlYzAsIDAsIHsweGM5LDB4MDAsMHgyMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHgyMCwweDJlLDB4NDAsMHg0OCwweDk2LDB4MjIsMHgyNSwweDAwLDB4ZDksMHhjMCwweGEyIH0sCi0gIDE2LCAweDhlZTAsIDAsIHsweDcwLDB4MGIsMHg5OCwweDAyLDB4MjQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDcwLDB4NGIsMHg5MCwweDAyLDB4MjQsMHgwMCwweGQ5IH0sCi0gIDE2LCAweDhlZjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDJjLDB4OTQsMHgyMiwweGU0LDB4MDIsMHg4OSwweDAwLDB4YTIsMHg0MCwweDI4LDB4OTQsMHgxMywweDIwIH0sCi0gIDE2LCAweDhmMDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweDhmMTAsIDAsIHsweDBhLDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4MSwweDgwLDB4YTIsMHg0NCwweDBiLDB4OTEsMHgwMiwweDI1LDB4MDAsMHgxOSwweDQwIH0sCi0gIDE2LCAweDhmMjAsIDAsIHsweDYyLDB4NDAsMHgwYiwweGI0LDB4MDIsMHg0NCwweDAwLDB4ODksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4ODIsMHhjNCwweDAxIH0sCi0gIDE2LCAweDhmMzAsIDAsIHsweDgzLDB4MDIsMHgyOCwweDQwLDB4NDgsMHg5MCwweDgyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmNDAsIDAsIHsweDAwLDB4MDQsMHgwNSwweDgwLDB4YjEsMHgwMCwweDZjLDB4NTEsMHgwOCwweDE0LDB4MWEsMHgwNSwweDAwLDB4OTMsMHgwMCwweDIwIH0sCi0gIDE2LCAweDhmNTAsIDAsIHsweDQwLDB4OGIsMHgxNCwweDAyLDB4MDUsMHgwMCwweGIxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDA2LDB4MDQsMHg4MCwweDkxIH0sCi0gIDE2LCAweDhmNjAsIDAsIHsweDIwLDB4MjAsMHg0MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4YTgsMHg4MSwweDAwLDB4MjgsMHg0YSwweDA4LDB4OTAsMHg0YSwweDQyIH0sCi0gIDE2LCAweDhmNzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweDhmODAsIDAsIHsweDBlLDB4ODAsMHgwMywweDI4LDB4MDEsMHhjOCwweDUwLDB4MzIsMHg5NCwweDhiLDB4YTAsMHgwMywweDIwLDB4MDAsMHhiMCwweDUwIH0sCi0gIDE2LCAweDhmOTAsIDAsIHsweDMyLDB4ODAsMHgwZiwweDgwLDB4MDcsMHg2MSwweDUxLDB4YzgsMHg1MCwweDIyLDB4MDAsMHgwYywweDAwLDB4MDMsMHhlMCwweDg0IH0sCi0gIDE2LCAweDhmYTAsIDAsIHsweGM4LDB4MDQsMHgzYSwweDA4LDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmYjAsIDAsIHsweDk4LDB4OWQsMHhmNCwweDQwLDB4YmQsMHg0MSwweDNmLDB4NTAsMHgwZiwweGY0LDB4MDMsMHhmNSwweDEwLDB4ZmQsMHgwMCwweDNlIH0sCi0gIDE2LCAweDhmYzAsIDAsIHsweDQwLDB4MGYsMHhkNCwweDAzLDB4ZjQsMHgwMCwweGZmLDB4MTAsMHgyZiwweDQwLDB4NGYsMHhkNCwweDQwLDB4YTQsMHg0OCwweGY5IH0sCi0gIDE2LCAweDhmZDAsIDAsIHsweDEyLDB4M2YsMHg1YSwweDhlLDB4ZDIsMHg4MywweGY0LDB4YTgsMHhmNSwweDJjLDB4MzcsMHg0YSwweDBmLDB4ZDIsMHg4MywweGE2IH0sCi0gIDE2LCAweDhmZTAsIDAsIHsweDEyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg4MCwweGZkLDB4MjgsMHgzZiwweDRjIH0sCi0gIDE2LCAweDhmZjAsIDAsIHsweDBmLDB4NTAsMHgwMywweDNjLDB4NDQsMHhjZCwweDQwLDB4M2YsMHhkMCwweDBkLDB4ZDAsMHgwMiwweDE0LDB4MDEsMHhmZCwweGEwIH0sCi0gIDE2LCAweDkwMDAsIDAsIHsweDMxLDB4NDAsMHgwMywweGQwLDB4MDMsMHhlNywweDg5LDB4ZjksMHg5MCwweDdlLDB4NTAsMHgwYywweDk0LDB4MDMsMHhlNiwweGMwIH0sCi0gIDE2LCAweDkwMTAsIDAsIHsweGM5LDB4MTAsMHgzMiwweDZkLDB4MGYsMHg5MSwweDAyLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwMjAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDgwLDB4YjgsMHgwMSwweDJlLDB4MGMsMHg4YiwweDg0LDB4ODIsMHgyMCwweDQyLDB4ODgsMHhhMCwweDZlIH0sCi0gIDE2LCAweDkwMzAsIDAsIHsweDIwLDB4MDgsMHg4MCwweDAzLDB4NjAsMHgwMCwweDk4LDB4ZTgsMHgyMiwweDAwLDB4MDksMHg4MCwweDAyLDB4ZTMsMHhjMCwweGU4IH0sCi0gIDE2LCAweDkwNDAsIDAsIHsweGQwLDB4MmUsMHgyOCwweDA4LDB4OGEsMHgyMywweGUyLDB4ODQsMHhkOCwweGEwLDB4MjIsMHgzZCwweDBiLDB4YzgsMHgwMiwweGNlIH0sCi0gIDE2LCAweDkwNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzUsMHhiMCwweGIxLDB4MDAsMHgyYywweDQ4IH0sCi0gIDE2LCAweDkwNjAsIDAsIHsweDBiLDB4MTMsMHgwMiwweDA0LDB4MDIsMHhiMSwweDIwLDB4MmUsMHg0MCwweDg4LDB4MTAsMHgyMiwweGM0LDB4MDAsMHhiMSwweDE0IH0sCi0gIDE2LCAweDkwNzAsIDAsIHsweDI0LDB4NDAsMHgwYiwweDEwLDB4NTIsMHhjNCwweDAwLDB4YjEsMHgyMSwweDJkLDB4NDgsMHgwYSwweDUyLDB4MDIsMHhkNSwweDAwIH0sCi0gIDE2LCAweDkwODAsIDAsIHsweGJkLDB4MDAsMHhhZCwweDQwLDB4MGIsMHg1MiwweDAyLDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwOTAsIDAsIHsweDE4LDB4NTUsMHhhNSwweDAwLDB4YjksMHg4MiwweDJlLDB4NDksMHg4YiwweGIwLDB4MTIsMHgyNCwweDEwLDB4OTksMHgwMiwweDJlIH0sCi0gIDE2LCAweDkwYTAsIDAsIHsweDQwLDB4MDgsMHhiMiwweDAwLDB4NjUsMHgwMCwweDk5LDB4ODAsMHgyNiwweDQ0LDB4MDksMHg5MSwweDAyLDB4ZTQsMHgwOSwweGE5IH0sCi0gIDE2LCAweDkwYjAsIDAsIHsweDA0LDB4MmUsMHg0NiwweDBhLDB4ZDQsMHgwMiwweGI0LDB4MDAsMHhiZCwweDQwLDB4MmYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweGM2IH0sCi0gIDE2LCAweDkwYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHg0MCwweGY5LDB4ODAsMHgyZSwweDYyIH0sCi0gIDE2LCAweDkwZDAsIDAsIHsweDBmLDB4OWMsMHg0MiwweDI0LDB4MDAsMHg5OSwweDAxLDB4MmUsMHg2OCwweDJjLDB4OTIsMHgwMiwweDY0LDB4MDAsMHhiOSwweDQwIH0sCi0gIDE2LCAweDkwZTAsIDAsIHsweGI2LDB4NjAsMHgwZiwweDlhLDB4MDMsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NzAsMHgzZSwweDk5LDB4MDYsMHhlNCwweDAyIH0sCi0gIDE2LCAweDkwZjAsIDAsIHsweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5OCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxMDAsIDAsIHsweDY4LDB4MDEsMHhhNiwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgxZiwweDEyLDB4YWIsMHhlNCwweDAwLDB4ZTksMHg5MCwweDNlIH0sCi0gIDE2LCAweDkxMTAsIDAsIHsweDQ5LDB4MGUsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzYSwweDQwLDB4MGQsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweDkxMjAsIDAsIHsweDAxLDB4M2UsMHg2MCwweDA1LDB4OTAsMHgxMywweGU0LDB4MDAsMHg1OSwweDIwLDB4MzIsMHg0MCwweDhmLDB4OTEsMHgwMywweGRhIH0sCi0gIDE2LCAweDkxMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDgsMHgzZSwweDAxIH0sCi0gIDE2LCAweDkxNDAsIDAsIHsweDBmLDB4ODQsMHg2MywweDAwLDB4MjIsMHhlOCwweDIwLDB4M2UsMHgxMywweDBmLDB4ODQsMHgwMywweGUxLDB4YzAsMHhkOCwweDRjIH0sCi0gIDE2LCAweDkxNTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDg0LDB4NDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDIyLDB4MTAsMHgwZiwweDg0LDB4MDMsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxNjAsIDAsIHsweGM4LDB4MDAsMHhiMiwweDAwLDB4MGMsMHhjMCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGUsMHgwMCwweDJmLDB4ODYsMHg0YiwweGUwLDB4MDIsMHgzOSwweDA4LDB4OGUsMHgyMCwweDJkIH0sCi0gIDE2LCAweDkxODAsIDAsIHsweDkwLDB4MGIsMHhlZCwweDkyLDB4ZjgsMHgwMiwweDhlLDB4ZTAsMHhhMywweDk4LDB4MDgsMHhlMCwweDAyLDB4ZTgsMHgwOCwweGJhIH0sCi0gIDE2LCAweDkxOTAsIDAsIHsweDAwLDB4NjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHgwMiwweDgwLDB4MDIsMHg4MCwweDQ4LDB4ZTAsMHgwMywweDRhIH0sCi0gIDE2LCAweDkxYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MTAsMHgyYywweGYwIH0sCi0gIDE2LCAweDkxYjAsIDAsIHsweDBhLDB4MTQsMHgyYSwweDBkLDB4MWEsMHhiMywweDAxLDB4MjQsMHhkMCwweDBiLDB4YmMsMHgzMiwweGNjLDB4MDgsMHgwMywweDAwIH0sCi0gIDE2LCAweDkxYzAsIDAsIHsweDIwLDB4YzgsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDIyLDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDExIH0sCi0gIDE2LCAweDkxZDAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgyMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxZTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAxLDB4ODUsMHgwMCwweDJkLDB4MDAsMHgwYiwweDcwLDB4MDIsMHgxOCwweDMyLDB4ODYsMHgwMCwweDJkIH0sCi0gIDE2LCAweDkxZjAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDE2LDB4ZmUsMHgwNCwweDg2LDB4MDAsMHgyNywweGEwLDB4OGIsMHg3MCwweDQyLDB4ZGMsMHg4MCwweGI3IH0sCi0gIDE2LCAweDkyMDAsIDAsIHsweDgwLDB4MjEsMHgwMSwweDA4LDB4ZjgsMHgwYSwweDE4LDB4MDAsMHg4NiwweDA4LDB4MjAsMHhhMCwweDA4LDB4ZTgsMHgwYSwweDY4IH0sCi0gIDE2LCAweDkyMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4M2UsMHgwMiwweGM2LDB4ODAsMHgzZCwweGUwIH0sCi0gIDE2LCAweDkyMjAsIDAsIHsweDBmLDB4NDgsMHgwMywweDA2LDB4MDQsMHhmNSwweDgyLDB4MzUsMHhlMCwweDBmLDB4NzgsMHgwMywweGRhLDB4MDAsMHhkMywweDgwIH0sCi0gIDE2LCAweDkyMzAsIDAsIHsweDMxLDB4NjAsMHgwNywweDc4LDB4MDMsMHhkZSwweDIwLDB4ZjMsMHhiMCwweDgxLDB4ZTAsMHg0ZiwweDY4LDB4MDcsMHgwZSwweDAyIH0sCi0gIDE2LCAweDkyNDAsIDAsIHsweGNmLDB4ODAsMHgzMSwweGUwLDB4MGMsMHg3OCwweDEzLDB4MmEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyNTAsIDAsIHsweDA4LDB4MWQsMHhhZCwweGEwLDB4ZjksMHgwMCwweDNmLDB4MDAsMHgwZiwweGIwLDB4NTMsMHhmOCwweDEwLDB4YTksMHgwMCwweDNlIH0sCi0gIDE2LCAweDkyNjAsIDAsIHsweDAwLDB4MGYsMHg4MCwweDAxLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzYSwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiIH0sCi0gIDE2LCAweDkyNzAsIDAsIHsweDc0LDB4M2MsMHgwMCwweDBmLDB4MjAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4MzAsMHgwMywweGMyIH0sCi0gIDE2LCAweDkyODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMiwweDhmLDB4ODAsMHgzNSwweGUwIH0sCi0gIDE2LCAweDkyOTAsIDAsIHsweDhkLDB4ZDksMHgwMywweDJlLDB4YzQsMHhmNiwweDgwLDB4MzIsMHhhNCwweDBjLDB4YjgsMHgwMywweGRlLDB4MDAsMHhjZiwweDkwIH0sCi0gIDE2LCAweDkyYTAsIDAsIHsweDNjLDB4ZTQsMHgwYywweGI4LDB4MDMsMHhmZSwweDY1LDB4ZmYsMHg4MCwweDBmLDB4ZWMsMHg4ZiwweGY4LDB4MDMsMHhmZSwweDAwIH0sCi0gIDE2LCAweDkyYjAsIDAsIHsweGM1LDB4ODAsMHgzMywweGUwLDB4MGYsMHg2OCwweDAzLDB4MTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyYzAsIDAsIHsweGFhLDB4MTEsMHg5YywweDgwLDB4ODQsMHhiMCwweDIwLDB4MjAsMHgyOSwweDczLDB4MGEsMHgwZSwweDgyLDB4YTIsMHhhMCwweGEyIH0sCi0gIDE2LCAweDkyZDAsIDAsIHsweGEwLDB4NGYsMHgzYiwweDAzLDB4ODcsMHg4NCwweGIyLDB4ODAsMHgyYywweGEwLDB4MGEsMHg3ZCwweDAyLDB4ZGUsMHg4MCwweGY3IH0sCi0gIDE2LCAweDkyZTAsIDAsIHsweDIwLDB4MjUsMHgwNiwweDA4LDB4NzAsMHgwMiwweGM4LDB4NDAsMHg4NCwweDAwLDB4MzUsMHg4MCwweDBiLDB4NjAsMHgwMywweDZhIH0sCi0gIDE2LCAweDkyZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgxMCwweDg2LDB4MzgsMHgyNywweGMwIH0sCi0gIDE2LCAweDkzMDAsIDAsIHsweDQ5LDB4NTQsMHgwNiwweDU0LDB4NDAsMHgxZCwweDIwLDB4MjEsMHhjYSwweDA5LDB4NjEsMHg0MCwweGY4LDB4ODAsMHhiNywweDIwIH0sCi0gIDE2LCAweDkzMTAsIDAsIHsweDJmLDB4MDAsMHg4OSwweDcwLDB4MTIsMHhkYywweDgxLDB4YjcsMHgwNCwweDJkLDB4YzksMHgwYSwweDYwLDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweDkzMjAsIDAsIHsweDhkLDB4MDAsMHgyZCwweGMwLDB4MGIsMHhmOCwweDAyLDB4MDQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzMzAsIDAsIHsweDYwLDB4MTQsMHhjZCwweDI4LDB4ODAsMHgwMCwweDI0LDB4MDAsMHgwOSwweGIwLDB4MjIsMHg0YywweDAyLDB4YTEsMHgwMSwweDIwIH0sCi0gIDE2LCAweDkzNDAsIDAsIHsweDMwLDB4MWIsMHgyMywweDAyLDB4YWYsMHgyMCwweGIzLDB4MDgsMHgyYywweDgwLDB4MWIsMHgzMCwweDAwLDB4Y2MsMHgwNCwweGEzIH0sCi0gIDE2LCAweDkzNTAsIDAsIHsweDAxLDB4MjYsMHgzMCwweDA4LDB4YWMsMHgyMiwweGU4LDB4MDIsMHg4MCwweDA4LDB4MmUsMHg4MCwweDRiLDB4YjQsMHgwMiwweDU4IH0sCi0gIDE2LCAweDkzNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgxMCwweDhiLDB4ODAsMHgzNiwweGYwIH0sCi0gIDE2LCAweDkzNzAsIDAsIHsweDJkLDB4YmMsMHgwYiwweDZjLDB4MDEsMHhkYSwweDA0LDB4MjIsMHg0MCwweDdkLDB4OTQsMHgyMiwweGU0LDB4MDAsMHhhYiwweDQ0IH0sCi0gIDE2LCAweDkzODAsIDAsIHsweDJlLDB4YzAsMHgwOSwweGI4LDB4MDIsMHhmYywweDAwLDB4YmYsMHgwMCwweDNlLDB4ZjAsMHhjYSwweDkyLDB4MDIsMHhlNCwweDAyIH0sCi0gIDE2LCAweDkzOTAsIDAsIHsweGNiLDB4MDAsMHg2ZSwweDQwLDB4MGYsMHg4NCwweDAxLDB4MmUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNhLDB4ZTAsMHgyZSwweGJjLDB4MDMsMHg5OCwweDA4LDB4ZWEsMHg0MCwweDM2IH0sCi0gIDE2LCAweDkzYjAsIDAsIHsweDQzLDB4OGMsMHg5MCwweDAzLDB4YTQsMHg0NCwweDJhLDB4NDAsMHgzZSwweDEwLDB4MGUsMHhiNSwweDgzLDB4ZWMsMHgxNCwweGZiIH0sCi0gIDE2LCAweDkzYzAsIDAsIHsweDAwLDB4MjYsMHgwMCwweDBlLDB4OTIsMHgwMywweGUwLDB4NDAsMHhmYSwweDAwLDB4MTYsMHgwMCwweDBmLDB4ODAsMHgxMywweGUwIH0sCi0gIDE2LCAweDkzZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZWMsMHgwMiwweGZhLDB4ODAsMHgzZiwweGUyIH0sCi0gIDE2LCAweDkzZTAsIDAsIHsweDBmLDB4YjAsMHgwYiwweDI0LDB4MDAsMHhlZiwweDkyLDB4YmIsMHhlMCwweDFjLDB4ZDAsMHgwMywweDc0LDB4MDAsMHhjZiwweDA1IH0sCi0gIDE2LCAweDkzZjAsIDAsIHsweDNiLDB4NDAsMHgwZiwweGM4LDB4MDMsMHg1YywweDAwLDB4Y2YsMHgwMCwweDMyLDB4YzIsMHg0ZCwweGMxLDB4MjMsMHgzNCwweDQwIH0sCi0gIDE2LCAweDk0MDAsIDAsIHsweGNmLDB4MDAsMHgxNywweDQ0LDB4MGMsMHhkMSwweDgzLDB4MDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0MTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHg4NCwweDJlLDB4NTQsMHgwYiwweGJjLDB4MGEsMHgyOSwweDgwLDB4OGIsMHg4MCwweDMyIH0sCi0gIDE2LCAweDk0MjAsIDAsIHsweDAwLDB4MDgsMHg5YywweDAzLDB4YTcsMHgwMCwweGFiLDB4ODQsMHgyZSwweDdjLDB4MGIsMHg4MCwweDAyLDB4MmMsMHgxMCwweGRiIH0sCi0gIDE2LCAweDk0MzAsIDAsIHsweDAxLDB4MzYsMHgwMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4MiwweDAwLDB4MjIsMHgwMCwweDA4LDB4OTAsMHgwMiwweDI0IH0sCi0gIDE2LCAweDk0NDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MGMsMHgwMCwweDg5LDB4MTAsMHg2NiwweDkwIH0sCi0gIDE2LCAweDk0NTAsIDAsIHsweDBiLDB4YjgsMHgwMiwweDZlLDB4MTIsMHhhMywweDQxLDB4MjAsMHgwNCwweDBhLDB4OTgsMHgyMiwweGUyLDB4MDAsMHg4OSwweDE5IH0sCi0gIDE2LCAweDk0NjAsIDAsIHsweDJlLDB4YzAsMHg0YiwweDMxLDB4MjIsMHg2YywweDA4LDB4ODMsMHgwMCwweDIyLDB4YzAsMHgwOSwweDkwLDB4MDIsMHgyNCwweDAwIH0sCi0gIDE2LCAweDk0NzAsIDAsIHsweDg5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0ODAsIDAsIHsweDA4LDB4MTAsMHgwYywweDAwLDB4ODAsMHgyMCwweDJjLDB4MGUsMHgxYiwweDMwLDB4MDIsMHgwNCwweDQxLDB4ODAsMHgyMCwweDIwIH0sCi0gIDE2LCAweDk0OTAsIDAsIHsweDEyLDB4MTgsMHgxNiwweDQyLDB4MDAsMHg1MCwweGEwLDB4NDAsMHgyYywweDg4LDB4MWIsMHgzMCwweDAyLDB4MGMsMHg4MSwweDkzIH0sCi0gIDE2LCAweDk0YTAsIDAsIHsweDAwLDB4MjQsMHgwMCwweDA4LDB4MTAsMHgyYSwweDAwLDB4MGEsMHg4OCwweDAwLDB4MjgsMHgwMCwweDI4LDB4MDAsMHgwYSwweDAyIH0sCi0gIDE2LCAweDk0YjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4N2MsMHgxMSwweGU4LDB4MDAsMHgyNiwweDk4IH0sCi0gIDE2LCAweDk0YzAsIDAsIHsweDBmLDB4YjAsMHgxMywweDIxLDB4MGMsMHhlYiwweDYwLDB4M2EsMHhkOCwweDI4LDB4ODQsMHhhMiwweGUxLDB4ODAsMHhjOCwweDIwIH0sCi0gIDE2LCAweDk0ZDAsIDAsIHsweDNlLDB4NWUsMHgxZiwweDgyLDB4MDMsMHg3YywweDAwLDB4Y2YsMHgwMCwweDMyLDB4YzAsMHg0ZCwweDgwLDB4MDcsMHgyNSwweDAwIH0sCi0gIDE2LCAweDk0ZTAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0ZjAsIDAsIHsweGExLDB4MTEsMHhmYywweDAwLDB4ZjgsMHgxMywweDFlLDB4MDAsMHgwYiwweGYwLDB4MDEsMHhmMCwweGQwLDB4ZjksMHgxOSwweDFmIH0sCi0gIDE2LCAweDk1MDAsIDAsIHsweDA4LDB4NGYsMHhjMCwweDEzLDB4YTEsMHgwMCwweGY4LDB4NjIsMHgzZiwweGMwLDB4MGIsMHhjNCwweDA3LDB4ZWQsMHgwMCwweGZmIH0sCi0gIDE2LCAweDk1MTAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgyMywweGYwLDB4YTAsMHhmYywweDAwLDB4MzMsMHgwMCwweDBmLDB4ZDAsMHgwMywweGU4IH0sCi0gIDE2LCAweDk1MjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGZmLDB4MGMsMHgzZiwweDIwIH0sCi0gIDE2LCAweDk1MzAsIDAsIHsweDBjLDB4YzksMHgwMywweDMyLDB4MDAsMHhjZiwweDM4LDB4M2YsMHhkMCwweDBmLDB4NDgsMHgwMywweGZjLDB4YTAsMHhjZSwweDIyIH0sCi0gIDE2LCAweDk1NDAsIDAsIHsweDMzLDB4MDAsMHgwZiwweGMxLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzQsMHg0YywweGMwLDB4MjMsMHg4YywweGU0IH0sCi0gIDE2LCAweDk1NTAsIDAsIHsweGZmLDB4MTAsMHgzNywweDIwLDB4MDgsMHhmMSwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1NjAsIDAsIHsweDgwLDB4MTAsMHhmZSwweDAwLDB4YmYsMHg4MCwweDJlLDB4NzQsMHgwNSwweDIyLDB4MDIsMHhhMiwweDEwLDB4ZGYsMHg2MSwweDJmIH0sCi0gIDE2LCAweDk1NzAsIDAsIHsweGQwLDB4OGIsMHg5MCwweDAyLDB4M2QsMHhhNCwweGFhLDB4OTAsMHgyMiwweGY0LDB4MGIsMHgwNywweDEyLDB4MWQsMHgyMCwweGJiIH0sCi0gIDE2LCAweDk1ODAsIDAsIHsweGMwLDB4MmYsMHhkOCwweDg4LDB4OTcsMHg4MiwweGZkLDB4ODAsMHhlZiwweDcyLDB4MjIsMHgwOCwweDI4LDB4ZjYsMHgyMywweGUwIH0sCi0gIDE2LCAweDk1OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg0MCwweGIzLDB4MDAsMHgyYywweDAwIH0sCi0gIDE2LCAweDk1YTAsIDAsIHsweDA4LDB4ODIsMHgwMiwweDIyLDB4MDAsMHg4MywweDAxLDB4MDgsMHhjYywweDhiLDB4MjAsMHg4MiwweGNjLDB4MDAsMHg5MCwweDAwIH0sCi0gIDE2LCAweDk1YjAsIDAsIHsweDIwLDB4MDAsMHg0YiwweDEyLDB4MDIsMHgwZCwweDgwLDB4YjMsMHg0MCwweDJjLDB4ZDgsMHgwOCwweDIwLDB4NDIsMHg4YywweDgwIH0sCi0gIDE2LCAweDk1YzAsIDAsIHsweGIzLDB4MjAsMHgyNiwweDAyLDB4MTgsMHgzMywweDI2LDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1ZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA5LDB4YmIsMHgwMCwweDJlLDB4NjAsMHgwOCwweDgwLDB4MDIsMHhhMiwweDAwLDB4OWIsMHgwMCwweDJlIH0sCi0gIDE2LCAweDk1ZTAsIDAsIHsweGMwLDB4MGIsMHhhYywweDAyLDB4MmMsMHgwMCwweGJhLDB4MDYsMHgyMiwweGMyLDB4MGIsMHg5NCwweDAyLDB4YWMsMHgxMCwweGJiIH0sCi0gIDE2LCAweDk1ZjAsIDAsIHsweDAwLDB4MmUsMHhjMSwweDA4LDB4YTgsMHgwMiwweGVjLDB4MDAsMHhhYiwweDAwLDB4MjIsMHgwMCwweDA4LDB4YjAsMHgwNiwweGYwIH0sCi0gIDE2LCAweDk2MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDE1LDB4ZWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDYwIH0sCi0gIDE2LCAweDk2MTAsIDAsIHsweDI4LDB4ODIsMHgxMywweDBlLDB4MDgsMHhjYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4OGMsMHgwMywweGVjLDB4MTEsMHhkYiwweDIwIH0sCi0gIDE2LCAweDk2MjAsIDAsIHsweGIyLDB4OTAsMHg0YiwweGE4LDB4MGIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJjLDB4YzAsMHgwYywweDg4LDB4MTMsMHhhYywweDAwIH0sCi0gIDE2LCAweDk2MzAsIDAsIHsweGYzLDB4MDAsMHgzNiwweDA2LDB4NDgsMHhiMCwweDEyLDB4YzQsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2NDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmIsMHgwOCwweDNkLDB4NDAsMHg4ZiwweGVhLDB4MDEsMHhmNCwweDAwLDB4ZmYsMHgwMSwweDJmIH0sCi0gIDE2LCAweDk2NTAsIDAsIHsweGMwLDB4MGYsMHhkMCwweDIyLDB4ZmMsMHgwNCwweGFmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhlOSwweDAzLDB4N2MsMHgwMCwweGZmIH0sCi0gIDE2LCAweDk2NjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4OTAsMHg0MywweGZjLDB4MjAsMHhlZiwweDAyLDB4M2YsMHgwMCwweDhmLDB4ZjAsMHgwMywweGI4IH0sCi0gIDE2LCAweDk2NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDEwLDB4YWMsMHgwOCwweGViLDB4MDAsMHgxMiwweDQwIH0sCi0gIDE2LCAweDk2ODAsIDAsIHsweDBmLDB4OTAsMHgwMywweDI4LDB4MjAsMHhhYiwweDAwLDB4M2EsMHhjMCwweDhmLDB4ODUsMHg4MywweGFjLDB4MTAsMHhmMywweDUwIH0sCi0gIDE2LCAweDk2OTAsIDAsIHsweDMyLDB4OTAsMHg0YywweDM0LDB4MTMsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwYywweDk4LDB4MDMsMHgyYywweDQwIH0sCi0gIDE2LCAweDk2YTAsIDAsIHsweGViLDB4ODAsMHgzMiwweDEyLDB4MGQsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2YjAsIDAsIHsweDg4LDB4MDEsMHgzYywweDEwLDB4MGYsMHgwNSwweGEyLDB4NTAsMHgwYywweDEwLDB4MDIsMHgyMiwweDEwLDB4OGYsMHgwMCwweDIzIH0sCi0gIDE2LCAweDk2YzAsIDAsIHsweGMwLDB4MGIsMHg4OCwweDEyLDB4M2MsMHgwMCwweDliLDB4ODIsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4M2MsMHgwMCwweDhmIH0sCi0gIDE2LCAweDk2ZDAsIDAsIHsweGEwLDB4MmYsMHhjMCwweDA4LDB4YjAsMHgwMiwweDNjLDB4MDgsMHg4ZiwweDAyLDB4MjAsMHgwMCwweDA4LDB4ZjAsMHgwMywweDI2IH0sCi0gIDE2LCAweDk2ZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGQsMHgyMCwweDkzLDB4MDAsMHgyMCwweGIyIH0sCi0gIDE2LCAweDk2ZjAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDAxLDB4MDAsMHhhMywweDAwLDB4NjgsMHhjMCwweDBiLDB4ODQsMHgwMiwweGFjLDB4MDAsMHhiMywweDgwIH0sCi0gIDE2LCAweDk3MDAsIDAsIHsweDIwLDB4NDAsMHgwYSwweDMwLDB4MDIsMHg0YywweDAwLDB4YTMsMHgwNCwweDJjLDB4YzAsMHgwOCwweDAwLDB4MDIsMHgwZCwweDAwIH0sCi0gIDE2LCAweDk3MTAsIDAsIHsweGEzLDB4MDAsMHgyMCwweDI0LDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3MjAsIDAsIHsweDcwLDB4MDEsMHgxYywweDIwLDB4OTcsMHg4MCwweDIzLDB4NjAsMHgwOCwweDc4LDB4MTIsMHgzYSwweDAwLDB4ODMsMHg5MSwweDI5IH0sCi0gIDE2LCAweDk3MzAsIDAsIHsweGU0LDB4MGIsMHg1OSwweDAyLDB4MWUsMHgwMCwweDk3LDB4OTAsMHgyMCwweGZjLDB4MGEsMHg3OCwweDAyLDB4MWUsMHgwMCwweDg3IH0sCi0gIDE2LCAweDk3NDAsIDAsIHsweDkwLDB4MmQsMHhlMCwweDE5LDB4NTksMHgwMiwweDFlLDB4ODAsMHg4MywweDgwLDB4NjEsMHhhMCwweDA4LDB4NzgsMHgwMiwweDE4IH0sCi0gIDE2LCAweDk3NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MCwweGQzLDB4MzIsMHgzMCwweDA2IH0sCi0gIDE2LCAweDk3NjAsIDAsIHsweDBmLDB4MzAsMHgwMywweDA0LDB4NjQsMHhlMywweDAxLDB4MzgsMHhjNCwweDFmLDB4MzAsMHgwNywweDhjLDB4MTgsMHhmMSwweDAwIH0sCi0gIDE2LCAweDk3NzAsIDAsIHsweDMwLDB4NGMsMHgwZSwweDMwLDB4MDMsMHg0YywweDAwLDB4ZTMsMHgwMCwweDJjLDB4YzAsMHgwYywweDIwLDB4MDMsMHgwZSwweDAwIH0sCi0gIDE2LCAweDk3ODAsIDAsIHsweGUzLDB4MDAsMHgzMiwweDA4LDB4MGMsMHhiMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3OTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDgwLDB4ZWYsMHgxMCwweDNkLDB4NDQsMHg0ZiwweGYxLDB4MDcsMHhjYywweDAwLDB4ZmYsMHgwOCwweDM2IH0sCi0gIDE2LCAweDk3YTAsIDAsIHsweGM2LDB4Y2YsMHhiMCwweDAzLDB4ZmMsMHgwMCwweDk3LDB4MDAsMHhiZSwweGNjLDB4MGQsMHhiMSwweDAzLDB4ZmQsMHgwNCwweGZmIH0sCi0gIDE2LCAweDk3YjAsIDAsIHsweDBjLDB4M2YsMHhkMiwweDllLDB4ZTAsMHg0YiwweGZkLDB4MjAsMHhmZiwweDAyLDB4M2YsMHg4MCwweDBlLDB4ZjAsMHgxMywweGQwIH0sCi0gIDE2LCAweDk3YzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHhjMCwweGNiLDB4MjgsMHgzZSwweGMwIH0sCi0gIDE2LCAweDk3ZDAsIDAsIHsweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAxLDB4MzIsMHhlOSwweDBjLDB4MjgsMHgwMywweDJjLDB4MDAsMHhmYiwweDAwIH0sCi0gIDE2LCAweDk3ZTAsIDAsIHsweDMyLDB4YzAsMHgwYywweGI0LDB4ODMsMHgyYywweDAxLDB4ZWYsMHgwMCwweGIyLDB4YzgsMHgwYywweDIwLDB4MDMsMHg2ZCwweDAwIH0sCi0gIDE2LCAweDk3ZjAsIDAsIHsweGNiLDB4MTAsMHgzZSwweDAwLDB4MGYsMHhiMiwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4MDAsIDAsIHsweGM4LDB4OTEsMHg5YywweGM0LDB4ODcsMHg2MCwweDJkLDB4YzAsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgxMiwweDIwIH0sCi0gIDE2LCAweDk4MTAsIDAsIHsweGNjLDB4MGEsMHg3MCwweDAyLDB4MWMsMHhjMCwweGIzLDB4MDAsMHhhMCwweGMwLDB4YzgsMHg3MCwweDIyLDB4MWMsMHg4MCwweGI3IH0sCi0gIDE2LCAweDk4MjAsIDAsIHsweDI0LDB4MjEsMHhjOCwweDQ4LDB4NTAsMHgwMiwweDBjLDB4ODAsMHg4NywweDEwLDB4MmQsMHg0MCwweDBiLDB4NzIsMHg4MiwweGYyIH0sCi0gIDE2LCAweDk4MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4OGUsMHgwMiwweDg3LDB4ODAsMHgyZCwweGUwIH0sCi0gIDE2LCAweDk4NDAsIDAsIHsweDBiLDB4NzgsMHgxMiwweGRlLDB4MDAsMHhiNywweGEwLDB4MjEsMHhlMCwweDA4LDB4ZjgsMHg4ZSwweDFlLDB4NDAsMHhiNywweDg4IH0sCi0gIDE2LCAweDk4NTAsIDAsIHsweDIxLDB4ZTAsMHgwOCwweDM4LDB4MDIsMHgxZSwweDQwLDB4YjMsMHhhMSwweDIwLDB4ZTgsMHg0OCwweGY4LDB4ODIsMHg1ZSwweDAyIH0sCi0gIDE2LCAweDk4NjAsIDAsIHsweDg3LDB4ODAsMHgyZCwweDIyLDB4MGIsMHg3OSwweDAyLDB4ZTAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4NzAsIDAsIHsweDA4LDB4MDQsMHhjYywweDA0LDB4ODMsMHgwMiwweDJjLDB4ZDQsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweGEwIH0sCi0gIDE2LCAweDk4ODAsIDAsIHsweGMwLDB4OGEsMHgzOCwweDA2LDB4MGMsMHgwMCwweGIzLDB4ODAsMHgyMCwweGUxLDB4NDgsMHgzOSwweDEyLDB4MmMsMHgwMCwweGIzIH0sCi0gIDE2LCAweDk4OTAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHg4MiwweDZjLDB4MDAsMHg4MywweDAwLDB4MmMsMHg0OCwweDBiLDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDk4YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGNhLDB4MDAsMHgzZiwweGEwIH0sCi0gIDE2LCAweDk4YjAsIDAsIHsweDBmLDB4ZTQsMHgwMywweGQ4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4ZTgsMHgwMywweDI4LDB4MDAsMHhmYSwweDQwIH0sCi0gIDE2LCAweDk4YzAsIDAsIHsweDMyLDB4YTgsMHgyYywweGEwLDB4MDksMHgyOCwweDA4LDB4ZjIsMHgwMCwweDMyLDB4ODAsMHgwYywweGU0LDB4MDMsMHg2OCwweDAwIH0sCi0gIDE2LCAweDk4ZDAsIDAsIHsweGNhLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4ZTAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAwLDB4ZjgsMHgwMSwweDNlLDB4MTIsMHgwYiwweDgwLDB4MDMsMHhlMCwweDQwLDB4ZjgsMHgwMCwweDNlIH0sCi0gIDE2LCAweDk4ZjAsIDAsIHsweDAwLDB4NGYsMHg4NCwweDAzLDB4ZTAsMHgwNCwweGYwLDB4MDgsMHgzZSwweDAwLDB4NGYsMHgwMCwweDAzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweDk5MDAsIDAsIHsweDQxLDB4M2UsMHgwMCwweDJmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDk5MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTYsMHgwMCwweGM5LDB4MTIsMHgzZSwweDUwIH0sCi0gIDE2LCAweDk5MjAsIDAsIHsweDhmLDB4OTAsMHg4MywweGU0LDB4MjAsMHhjMSwweDAwLDB4M2EsMHg0MSwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweDk5MzAsIDAsIHsweDMwLDB4NjgsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNhLDB4NDAsMHgwZSwweDk4LDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweDk5NDAsIDAsIHsweGM5LDB4OTAsMHgzZSwweDY5LDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5NTAsIDAsIHsweDgwLDB4MDQsMHg2NywweDRhLDB4ODksMHg4MCwweDJlLDB4NTAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDgwLDB4YTksMHgwMCwweDIyIH0sCi0gIDE2LCAweDk5NjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDEsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgxMCwweDg5IH0sCi0gIDE2LCAweDk5NzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDA4LDB4OTMsMHgwMiwweDI0LDB4MjIsMHg4OSwweDQyLDB4MmMsMHg2MCwweDQ4LDB4OTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweDk5ODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4MjQsMHgwMCwweDk5LDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweDk5OTAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH0sCi0gIDE2LCAweDk5YTAsIDAsIHsweDIzLDB4NDAsMHgwOCwweGQwLDB4MDIsMHgyNCwweDAwLDB4OTksMHgwMCwweDJhLDB4NDAsMHgwYSwweDkwLDB4MDYsMHgyNCwweDQwIH0sCi0gIDE2LCAweDk5YjAsIDAsIHsweDg5LDB4NDEsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5YzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDgwLDB4OTEsMHgyMCwweDJjLDB4NDgsMHgwYiwweDEwLDB4MDIsMHhjNCwweDAwLDB4YTEsMHgyMCwweDIwIH0sCi0gIDE2LCAweDk5ZDAsIDAsIHsweDQ4LDB4MGIsMHgxMCwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHhhMSwweDQ5LDB4MDgsMHg1MiwweDRhLDB4MDQsMHg4MCwweDgxIH0sCi0gIDE2LCAweDk5ZTAsIDAsIHsweDAwLDB4MjAsMHg0OCwweDQ4LDB4MTIsMHgwYSwweDA0LDB4ODAsMHg4MSwweDIwLDB4MmMsMHg0MCwweDI4LDB4MTIsMHgwMiwweDAyIH0sCi0gIDE2LCAweDk5ZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwOCwweGQ4LDB4MDQsMHgzZSwweDgwIH0sCi0gIDE2LCAweDlhMDAsIDAsIHsweDBmLDB4ODUsMHgwMywweGUwLDB4MDAsMHhjMCwweDUwLDB4M2EsMHgxNCwweDBmLDB4YTUsMHgwMywweGUxLDB4NDAsMHhmOCwweDAyIH0sCi0gIDE2LCAweDlhMTAsIDAsIHsweDMyLDB4ODAsMHgyYywweGM1LDB4MDMsMHgyMSwweDQwLDB4ZGEsMHgwMCwweDNhLDB4MTQsMHgwZSwweDg1LDB4NDMsMHgyMSwweDQwIH0sCi0gIDE2LCAweDlhMjAsIDAsIHsweGM4LDB4NTIsMHgzZSwweDE0LDB4MGMsMHg4NSwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhMzAsIDAsIHsweDg4LDB4MWQsMHhlNCwweDQ0LDB4ZTksMHgxMCwweDNmLDB4NDQsMHg0ZiwweGQwLDB4MDIsMHhmYywweDAwLDB4ZjksMHgxMiwweDNlIH0sCi0gIDE2LCAweDlhNDAsIDAsIHsweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzZSwweDQ0LDB4NGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGU5IH0sCi0gIDE2LCAweDlhNTAsIDAsIHsweDQwLDB4M2UsMHg0NCwweDBmLDB4ZDEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEyLDB4M2YsMHg0MCwweDBmLDB4OTEsMHgwMywweGU2IH0sCi0gIDE2LCAweDlhNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZjYsMHhhMCwweGZkLDB4ODAsMHhiMywweDQwIH0sCi0gIDE2LCAweDlhNzAsIDAsIHsweDBjLDB4MTAsMHgwMywweDE0LDB4MDAsMHhmZCwweGEwLDB4MzIsMHg0MCwweDBmLDB4ZDEsMHgwMywweGU0LDB4MDAsMHhmNSwweDg2IH0sCi0gIDE2LCAweDlhODAsIDAsIHsweDMzLDB4NjAsMHgyYywweDlhLDB4ODMsMHgyNCwweDA0LDB4ZmQsMHhhOCwweDIyLDB4NDAsMHgwZCwweDUwLDB4NDMsMHhmNCwweDAwIH0sCi0gIDE2LCAweDlhOTAsIDAsIHsweGZkLDB4MDAsMHgzMywweDQwLDB4MGYsMHg5MCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhYTAsIDAsIHsweDc4LDB4MTAsMHhlMSwweDAwLDB4YjgsMHgwMCwweDIyLDB4MDAsMHgyOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHgwMCwweGEyIH0sCi0gIDE2LCAweDlhYjAsIDAsIHsweDAwLDB4MGIsMHg4YSwweDEyLDB4ZTAsMHgwMCwweGI4LDB4MDQsMHgyMiwweDE0LDB4MDgsMHg4NCwweDAyLDB4MjAsMHgwMCwweGI4IH0sCi0gIDE2LCAweDlhYzAsIDAsIHsweDQwLDB4MjAsMHgwMCwweDg4LDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4YTIsMHgwMCwweDBiLDB4ODAsMHgwMiwweDBlIH0sCi0gIDE2LCAweDlhZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHgwMCwweGIxLDB4NDIsMHgyMCwweDQwIH0sCi0gIDE2LCAweDlhZTAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMSwweDQwLDB4MjAsMHg0MCwweDBiLDB4MTAsMHgwNiwweGM0LDB4MDAsMHhiMSwweDQwIH0sCi0gIDE2LCAweDlhZjAsIDAsIHsweDI0LDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0NCwweDA0LDB4YjEsMHgwMCwweDYwLDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDAwIH0sCi0gIDE2LCAweDliMDAsIDAsIHsweGIxLDB4MDAsMHgyMCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMiwweDIyLDB4NjAsMHgwOCwweDk0LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMSwweDIyIH0sCi0gIDE2LCAweDliMjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDA2LDB4ZTQsMHgwMCwweGI5LDB4MjAsMHgyNiwweDQwLDB4MDgsMHg5NCwweDAyLDB4NjQsMHgwOCwweGI5IH0sCi0gIDE2LCAweDliMzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDA4LDB4OTIsMHgwMiwweGVjLDB4MDgsMHhiOSwweDA0LDB4MjIsMHg0MSwweDBiLDB4MTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweDliNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgxMCwweGYxLDB4MDAsMHgzMiwweDYwIH0sCi0gIDE2LCAweDliNTAsIDAsIHsweDBjLDB4OTQsMHgwYiwweDI1LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDhmLDB4OTQsMHhkMywweGU0LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweDliNjAsIDAsIHsweDM2LDB4NDAsMHg0YywweDkwLDB4MGIsMHg2NCwweDAwLDB4ZjEsMHgwMCwweDMyLDB4NDAsMHgwZCwweDkyLDB4MTIsMHhlNCwweDAwIH0sCi0gIDE2LCAweDliNzAsIDAsIHsweGY5LDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliODAsIDAsIHsweDY4LDB4NDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHg4ZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweDliOTAsIDAsIHsweDQwLDB4MGYsMHg5YywweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiYSwweDQwLDB4MmYsMHg5MCwweDIzLDB4YTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweDliYTAsIDAsIHsweDA4LDB4YmUsMHg0MCwweGNmLDB4OTAsMHgwMywweGU0LDB4MTAsMHhmMSwweDAxLDB4M2UsMHg0MSwweDBmLDB4OTAsMHgwMywweGRhIH0sCi0gIDE2LCAweDliYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHhjOCwweGY4LDB4MDAsMHgzZSwweDAzIH0sCi0gIDE2LCAweDliYzAsIDAsIHsweDBjLDB4ODQsMHgwMywweGExLDB4MTAsMHhlOCwweDAwLDB4MzIsMHgwMCwweDhjLDB4ODUsMHg4MywweGUwLDB4MDAsMHhjMCwweDAwIH0sCi0gIDE2LCAweDliZDAsIDAsIHsweDM4LDB4MGMsMHgyYywweDAwLDB4MDMsMHg2MCwweDAwLDB4YzgsMHgwMCwweDNjLDB4MDAsMHgwZCwweDgwLDB4MDIsMHgyMCwweDEwIH0sCi0gIDE2LCAweDliZTAsIDAsIHsweGM4LDB4MjAsMHhiMiwweDAyLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliZjAsIDAsIHsweDI4LDB4MDUsMHgzOSwweDEwLDB4YmUsMHgwNCwweDZmLDB4YTAsMHgwOCwweGEwLDB4MDIsMHgzYSwweDAwLDB4ODIsMHgwMCwweGEyIH0sCi0gIDE2LCAweDljMDAsIDAsIHsweDgwLDB4OGQsMHhlYywweDAzLDB4YTgsMHgwMCwweDhhLDB4MDAsMHgyMywweDgwLDB4MDgsMHhhMCwweDIyLDB4MjgsMHgwMCwweDhlIH0sCi0gIDE2LCAweDljMTAsIDAsIHsweGNjLDB4MmYsMHg4MCwweDA4LDB4ZTgsMHhjMiwweGI4LDB4MDAsMHg4ZSwweDYwLDB4MjMsMHg5MCwweDBiLDB4YTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweDljMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGUsMHgwOCwweGIwLDB4NzIsMHgyYywweGQwIH0sCi0gIDE2LCAweDljMzAsIDAsIHsweDI4LDB4YjAsMHgwNiwweDhjLDB4MDEsMHhhMSwweDAyLDB4MjAsMHhjMCwweDA4LDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwIH0sCi0gIDE2LCAweDljNDAsIDAsIHsweDIwLDB4YzAsMHgyOSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODEsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMyLDB4MDIsMHgwYywweDQwIH0sCi0gIDE2LCAweDljNTAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGY0LDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljNjAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjQsMHgwMCwweDJkLDB4ZDAsMHg0OCwweGYyLDB4MDIsMHgxZSwweDIxLDB4ODUsMHgyMCwweDIwIH0sCi0gIDE2LCAweDljNzAsIDAsIHsweGU4LDB4MDksMHg3MiwweDAyLDB4OGUsMHg4MCwweDhmLDB4MDEsMHgyMCwweGMwLDB4MDksMHg3MiwweDAyLDB4MGUsMHg4MCwweDg3IH0sCi0gIDE2LCAweDljODAsIDAsIHsweDAwLDB4MmQsMHhjYywweDE4LDB4NTgsMHgwMiwweDhlLDB4MDAsMHg4NSwweDAwLDB4MjEsMHhjMCwweDBiLDB4NzIsMHgwMiwweGU4IH0sCi0gIDE2LCAweDljOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGI0LDB4ODAsMHgyZCwweGUwIH0sCi0gIDE2LCAweDljYTAsIDAsIHsweDBjLDB4NzgsMHg4MywweDlhLDB4MDAsMHhlZCwweGQwLDB4MzEsMHhmNCwweDBjLDB4NmEsMHgwMywweGRlLDB4ODIsMHhjNywweDgwIH0sCi0gIDE2LCAweDljYjAsIDAsIHsweDM5LDB4ZTAsMHgwZCwweGY4LDB4ODMsMHg1ZSwweGMyLDB4YzUsMHg4MCwweDNkLDB4ZTgsMHgwYywweDY4LDB4MDMsMHgxMiwweDAwIH0sCi0gIDE2LCAweDljYzAsIDAsIHsweGNmLDB4ODAsMHgzMSwweGUwLDB4MGYsMHg3ZSwweDgzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljZDAsIDAsIHsweDA4LDB4MGQsMHhhYywweDA4LDB4ZjgsMHgwMCwweDNjLDB4YzAsMHgwZiwweGIzLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMiwweDNlIH0sCi0gIDE2LCAweDljZTAsIDAsIHsweGM4LDB4MGYsMHhiMCwweDAzLDB4ZWQsMHg0MCwweGZiLDB4MDAsMHhiZSwweDgwLDB4MGUsMHhiMywweDAzLDB4ZWQsMHhjMCwweGZiIH0sCi0gIDE2LCAweDljZjAsIDAsIHsweDAwLDB4M2UsMHhkMiwweDJlLDB4ODAsMHgwMywweGVjLDB4MDIsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweDlkMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGYwLDB4OTEsMHgzMywweGUwIH0sCi0gIDE2LCAweDlkMTAsIDAsIHsweDhmLDB4ZjgsMHgwMywweGZlLDB4MDAsMHhmZCwweDgwLDB4M2YsMHhlMCwweDBjLDB4NzgsMHg4MywweDNmLDB4MDAsMHhjZiwweDgwIH0sCi0gIDE2LCAweDlkMjAsIDAsIHsweDNmLDB4YTAsMHgwYywweGY4LDB4MDMsMHgzZSwweDAwLDB4Y2QsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4MTMsMHhmZSwweDEwIH0sCi0gIDE2LCAweDlkMzAsIDAsIHsweGZmLDB4ODAsMHgzZiwweDIwLDB4MGYsMHhmOSwweDQzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkNDAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4YjQsMHhjMSwweDMxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkNCwweDEwLDB4ZTUsMHgyMCwweDJmIH0sCi0gIDE2LCAweDlkNTAsIDAsIHsweGM4LDB4MGYsMHg0MCwweDAzLDB4NWMsMHgwMCwweDg3LDB4MDAsMHgyZCwweDgwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHg0MCwweDg3IH0sCi0gIDE2LCAweDlkNjAsIDAsIHsweDEwLDB4MmQsMHhjMCwweDBiLDB4NzYsMHgwMiwweGRjLDB4ODAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGVhIH0sCi0gIDE2LCAweDlkNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OWMsMHgwMCwweGI2LDB4MjIsMHgyMSwweGQwIH0sCi0gIDE2LCAweDlkODAsIDAsIHsweDBiLDB4NzAsMHg4MiwweGQ4LDB4NDAsMHhiNSwweDAyLDB4MmQsMHhjMCwweDg4LDB4NjUsMHgwMiwweDBjLDB4MDAsMHg4NywweDE4IH0sCi0gIDE2LCAweDlkOTAsIDAsIHsweDJjLDB4MDQsMHgwOCwweDMwLDB4MDIsMHg4YywweDAyLDB4ODUsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4NDYsMHg5MCwweDEwIH0sCi0gIDE2LCAweDlkYTAsIDAsIHsweGI2LDB4MDAsMHgyZCwweDAwLDB4MGIsMHg3MCwweDIyLDB4YzQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkYjAsIDAsIHsweDYwLDB4MTQsMHhjYywweDA4LDB4YjIsMHgwMCwweGE0LDB4YzAsMHgwYiwweDMwLDB4NDIsMHhjNiwweDEwLDB4YTEsMHgwMCwweDJjIH0sCi0gIDE2LCAweDlkYzAsIDAsIHsweGMwLDB4MGEsMHgwMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweDA4LDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzIH0sCi0gIDE2LCAweDlkZDAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDBiLDB4MTgsMHg4MiwweGM0LDB4MDAsMHhiMCwweDAwLDB4MmMsMHg0MCwweDBiLDB4MzAsMHgxMiwweGQ4IH0sCi0gIDE2LCAweDlkZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmOCwweDE1LDB4YWMsMHgwMCwweDM4LDB4MDAsMHgzMiwweDUwIH0sCi0gIDE2LCAweDlkZjAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGU2LDB4MjAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDA4LDB4ZDAsMHgwMiwweDNjLDB4MDIsMHhjYiwweDgwIH0sCi0gIDE2LCAweDllMDAsIDAsIHsweDNjLDB4NTAsMHgyYywweGYwLDB4MGEsMHhiYywweDAwLDB4YzksMHgwMCwweDNmLDB4YzAsMHgwZiwweGJlLDB4MDMsMHhhYywweDAwIH0sCi0gIDE2LCAweDllMTAsIDAsIHsweGZhLDB4MDIsMHgyZSwweGY3LDB4NGYsMHhmMCwweDAzLDB4ZWUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllMjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjEsMHgwMCwweDNhLDB4ZjAsMHgwZiwweGIwLDB4MDMsMHhlOSwweDAwLDB4ZjksMHgwMSwweDNlIH0sCi0gIDE2LCAweDllMzAsIDAsIHsweGMwLDB4MGYsMHg5MCwweDEzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDU1LDB4MGYsMHhiMCwweDAxLDB4NmMsMHgwMCwweGZiIH0sCi0gIDE2LCAweDllNDAsIDAsIHsweDAyLDB4M2UsMHhjMCwweDBmLDB4OTAsMHg3MywweGUwLDB4MDAsMHhmOCwweDQxLDB4M2UsMHgwMCwweDBmLDB4MzAsMHgwMSwweGUwIH0sCi0gIDE2LCAweDllNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzMywweGMwIH0sCi0gIDE2LCAweDllNjAsIDAsIHsweDFmLDB4ZjAsMHgxMywweGYwLDB4MDgsMHhmZCwweDAyLDB4M2YsMHhjMCwweDhkLDB4YzAsMHgwMywweDNjLDB4MDAsMHhjZiwweGEwIH0sCi0gIDE2LCAweDllNzAsIDAsIHsweDNmLDB4ODAsMHgwYywweDcwLDB4MDMsMHgzYywweDEwLDB4ZmMsMHgwMCwweDM3LDB4YzAsMHgwZiwweGUwLDB4MDMsMHhiMCwweDAwIH0sCi0gIDE2LCAweDllODAsIDAsIHsweGZlLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDQsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllOTAsIDAsIHsweDg0LDB4MDQsMHg2ZSwweDAwLDB4YjksMHhjMiwweGEyLDB4ZjAsMHgwYiwweGIwLDB4NDIsMHhlYiwweDAwLDB4YjksMHgwMCwweDJlIH0sCi0gIDE2LCAweDllYTAsIDAsIHsweGMwLDB4MGYsMHgxOCwweDAzLDB4NmMsMHgwMCwweGQ5LDB4ODEsMHgyZSwweGIwLDB4MGEsMHhiMCwweDQyLDB4MmMsMHgwMCwweGJhIH0sCi0gIDE2LCAweDllYjAsIDAsIHsweGM2LDB4MmUsMHhjMCwweDBiLDB4OGMsMHgwMiwweGUzLDB4MDAsMHhiOCwweGMwLDB4M2MsMHhhMCwweDBkLDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweDllYzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmYsMHgwMCwweGI4LDB4ODAsMHgyMiwweGUyIH0sCi0gIDE2LCAweDllZDAsIDAsIHsweDBiLDB4YjAsMHgwMiwweGU2LDB4MjAsMHhiOSwweDAwLDB4MmMsMHhjMCwweDA4LDB4YjgsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwIH0sCi0gIDE2LCAweDllZTAsIDAsIHsweDJlLDB4MzAsMHg0OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YjksMHhjMCwweDJlLDB4YzEsMHgwYiwweDg4LDB4MDIsMHhlZSwweDEwIH0sCi0gIDE2LCAweDllZjAsIDAsIHsweGI5LDB4YzAsMHgyZSwweDIwLDB4MTksMHhiMCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmMDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjAsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDYsMHhjMCwweDAwLDB4OTEsMHgwMCwweDJjIH0sCi0gIDE2LCAweDlmMTAsIDAsIHsweGMwLDB4NDksMHg4MCwweDAyLDB4NGMsMHgwNCwweDkxLDB4MDAsMHgyYywweDAwLDB4OGEsMHgzMCwweDBhLDB4MGMsMHgwNCwweGIxIH0sCi0gIDE2LCAweDlmMjAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDFiLDB4MDAsMHgxMiwweDQ5LDB4MTAsMHhiMSwweDAwLDB4MmUsMHgyMCwweDA5LDB4MzAsMHgwMiwweDAyIH0sCi0gIDE2LCAweDlmMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGI4LDB4MjAsMHgyMiwweGMwIH0sCi0gIDE2LCAweDlmNDAsIDAsIHsweDhiLDB4ZjAsMHgwMywweGUwLDB4MDgsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBjLDB4YTAsMHgwMywweDNjLDB4MDAsMHhjYiwweDAwIH0sCi0gIDE2LCAweDlmNTAsIDAsIHsweDNlLDB4MDAsMHg0YywweGYwLDB4MGEsMHgzYywweDAwLDB4YjksMHgwMCwweDM3LDB4YzEsMHgwZiwweGEwLDB4MDMsMHhlMCwweDAwIH0sCi0gIDE2LCAweDlmNjAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDAwLDB4MGQsMHhmMCwweDBiLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmNzAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAxLDB4ZmMsMHg0MCwweDNmLDB4ODAsMHg0ZiwweGYwLDB4MDIsMHhmMCwweDAwLDB4ZmQsMHgwMCwweDNmIH0sCi0gIDE2LCAweDlmODAsIDAsIHsweGMxLDB4MGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDAwLDB4NGYsMHhmMCwweDYzLDB4ZmMsMHgwMCwweGZkIH0sCi0gIDE2LCAweDlmOTAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGYwLDB4ODAsMHhmYywweDAwLDB4N2IsMHgwMCwweDBmLDB4ZjAsMHg0MywweGU4IH0sCi0gIDE2LCAweDlmYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjgsMHgwMCwweGM4LDB4MTAsMHgzMywweDA0IH0sCi0gIDE2LCAweDlmYjAsIDAsIHsweDBjLDB4NDAsMHgwMiwweDM0LDB4MDAsMHhjOCwweDg1LDB4MWYsMHhjMCwweDJkLDB4ZDksMHgwMywweGZjLDB4YzAsMHhkYiwweDI4IH0sCi0gIDE2LCAweDlmYzAsIDAsIHsweDM3LDB4NjQsMHgwZiwweGRiLDB4MDMsMHgzZSwweDAwLDB4ZmYsMHgyNSwweDNmLDB4YzgsMHgwZSwweGYyLDB4MDMsMHhmZSwweDIwIH0sCi0gIDE2LCAweDlmZDAsIDAsIHsweGZmLDB4YTQsMHgzNywweGM0LDB4MGMsMHhjOCwweDAzLDB4MzAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmZTAsIDAsIHsweDgwLDB4MTAsMHhlOCwweDAwLDB4ODgsMHgyMCwweDIyLDB4MDAsMHgwOCwweDg4LDB4MTIsMHgyNiwweDA0LDB4ODksMHg4MiwweDJlIH0sCi0gIDE2LCAweDlmZjAsIDAsIHsweGY0LDB4NDgsMHhiOCwweDAyLDB4ZmMsMHhjNCwweDk4LDB4YzIsMHgyMiwweDdjLDB4NGIsMHg5ZCwweDQyLDB4MjYsMHgwOCwweGJmIH0sCi0gIDE2LCAweGEwMDAsIDAsIHsweDE4LDB4NzcsMHhlNCwweDA4LDB4ZjEsMHg4MiwweGVmLDB4MDAsMHhiYiwweGQwLDB4MjIsMHhkOCwweDA4LDB4OTAsMHg4MywweDYwIH0sCi0gIDE2LCAweGEwMTAsIDAsIHsweDAyLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDQ1LDB4YzgsMHgwNCwweGEwLDB4MDAsMHgyNCwweDAwIH0sCi0gIDE2LCAweGEwMjAsIDAsIHsweDBhLDB4MDAsMHgwMiwweDBjLDB4MDAsMHg4MiwweDA0LDB4MmMsMHhlMCwweDA4LDB4MTAsMHgwMiwweGNjLDB4ODAsMHg4MywweDAwIH0sCi0gIDE2LCAweGEwMzAsIDAsIHsweDI0LDB4MDAsMHgwYiwweDEwLDB4MDYsMHhjOCwweDAxLDB4YjMsMHgyMCwweDJjLDB4YzAsMHgyOSwweDMyLDB4MDIsMHhjOCwweDA4IH0sCi0gIDE2LCAweGEwNDAsIDAsIHsweGIxLDB4MDAsMHgyNCwweGQwLDB4MDgsMHg4MiwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwNTAsIDAsIHsweGMwLDB4MTUsMHhhOCwweDAwLDB4YTgsMHgwYywweDI2LDB4MDAsMHgwYSwweDgwLDB4MDIsMHgyYywweDE0LDB4OGEsMHgwMiwweDZlIH0sCi0gIDE2LCAweGEwNjAsIDAsIHsweGUwLDB4MDgsMHhiMCwweDAyLDB4NGMsMHgwOCwweGE4LDB4MDAsMHgyNiwweDIwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgwMCwweGJiIH0sCi0gIDE2LCAweGEwNzAsIDAsIHsweDA0LDB4MjIsMHhjMCwweDE5LDB4YjAsMHgwMiwweGU4LDB4MDEsMHhiYiwweDExLDB4MDIsMHhjMCwweDg4LDB4OTAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGEwODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZWMsMHgwMiwweGVhLDB4NDAsMHhiNiwweDYwIH0sCi0gIDE2LCAweGEwOTAsIDAsIHsweDJlLDB4OTgsMHgwYiwweDIwLDB4MDIsMHhjOCwweDAyLDB4M2UsMHhjMCwweDBkLDB4OTgsMHgwMywweGVjLDB4MDIsMHhkYiwweDg4IH0sCi0gIDE2LCAweGEwYTAsIDAsIHsweGI2LDB4MjEsMHgwZiwweDg4LDB4MDMsMHhhYywweDA4LDB4ZmIsMHgwMCwweDJjLDB4YzAsMHgwZSwweGIwLDB4NDMsMHhlNSwweDgwIH0sCi0gIDE2LCAweGEwYjAsIDAsIHsweGYwLDB4NjAsMHgzNiwweGMwLDB4MGMsMHgwMSwweDQzLDB4NDgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwYzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZDYsMHgwMSwweDNiLDB4NjQsMHg4NSwweGQ5LDB4MDMsMHhmMCwweDBjLDB4ZmYsMHgwMCwweDNlIH0sCi0gIDE2LCAweGEwZDAsIDAsIHsweGMxLDB4MGYsMHhmYywweDIxLDB4ZWMsMHgwMCwweGQ3LDB4OTAsMHgzYiwweDQwLDB4MGYsMHg1MCwweDAzLDB4M2MsMHgwMCwweGZmIH0sCi0gIDE2LCAweGEwZTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDhlLDB4ZjAsMHgwMywweGY0LDB4NDAsMHhmZCwweDg4LDB4M2YsMHhjMCwweDJmLDB4ZDAsMHgwMiwweDc4IH0sCi0gIDE2LCAweGEwZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgwMCwweGRhLDB4NDAsMHgzYywweDQwIH0sCi0gIDE2LCAweGExMDAsIDAsIHsweDBmLDB4MTAsMHgwMywweDQ4LDB4MDAsMHhmOSwweDIyLDB4M2MsMHhjMiwweDBlLDB4OTAsMHg4MywweGVjLDB4MDIsMHhkYiwweDA0IH0sCi0gIDE2LCAweGExMTAsIDAsIHsweDNhLDB4MDgsMHgwZiwweDg0LDB4ODcsMHhlOCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4YzQsMHgwZSwweGIwLDB4MDMsMHhlZCwweDAwIH0sCi0gIDE2LCAweGExMjAsIDAsIHsweGU4LDB4NDIsMHgzYSwweGMwLDB4MGYsMHg4MCwweDBiLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExMzAsIDAsIHsweDg4LDB4MDUsMHgyYywweDA4LDB4OGEsMHgwMCwweDJlLDB4NDIsMHg4YiwweDkwLDB4MDIsMHgyOCwweDE4LDB4YmIsMHg0OSwweDIyIH0sCi0gIDE2LCAweGExNDAsIDAsIHsweGQwLDB4MzgsMHhiYywweDgyLDB4ZmMsMHgwMCwweGU4LDB4MDIsMHgyMiwweDYyLDB4Y2IsMHg5YywweDAwLDB4ZWYsMHg2MCwweGRmIH0sCi0gIDE2LCAweGExNTAsIDAsIHsweDAwLDB4MmYsMHhjMCwweDBiLDB4ZjAsMHgwMiwweGVjLDB4MDAsMHgwOSwweDQwLDB4MzcsMHhjMCwweDBiLDB4OTAsMHgwMiwweDMyIH0sCi0gIDE2LCAweGExNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDgsMHgxMCwweDExLDB4MDAsMHgyYywweGEwIH0sCi0gIDE2LCAweGExNzAsIDAsIHsweDBiLDB4MjAsMHgwMiwweDQ0LDB4MDAsMHg5MCwweGMwLDB4NjQsMHgzNCwweDI4LDB4MzQsMHgwMiwweGNjLDB4MDAsMHg5MywweDg0IH0sCi0gIDE2LCAweGExODAsIDAsIHsweDI4LDB4NDAsMHgwYiwweDA4LDB4MDAsMHhjZSwweDAwLDB4OTMsMHgwMCwweDJjLDB4YzIsMHgwYSwweDMwLDB4MDIsMHhjMCwweDAwIH0sCi0gIDE2LCAweGExOTAsIDAsIHsweGIyLDB4NDAsMHgyMiwweGMwLDB4MGIsMHgyMCwweDAyLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExYTAsIDAsIHsweDcwLDB4MDEsMHgxYSwweDQwLDB4ODUsMHg4MCwweDJkLDB4YTAsMHgwYiwweDY4LDB4MDYsMHgxNiwweDgwLDB4YmQsMHg5MCwweDI1IH0sCi0gIDE2LCAweGExYjAsIDAsIHsweDI0LDB4MTgsMHg3YiwweDQyLDB4ZGUsMHg0MCwweGEwLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg2OCwweDAyLDB4ZDYsMHgwMCwweDk3IH0sCi0gIDE2LCAweGExYzAsIDAsIHsweDkwLDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwMiwweGNlLDB4NDAsMHg5MiwweDgwLDB4NmQsMHhlNCwweDBiLDB4NzgsMHgwMiwweDA4IH0sCi0gIDE2LCAweGExZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MjgsMHgwMCwweGQxLDB4ODAsMHgzYywweDg4IH0sCi0gIDE2LCAweGExZTAsIDAsIHsweDBiLDB4MjIsMHgwMywweDRlLDB4ODAsMHhmMiwweGExLDB4M2MsMHgyNCwweDJhLDB4MzksMHgwMywweGNjLDB4NDAsMHhkMywweGFjIH0sCi0gIDE2LCAweGExZjAsIDAsIHsweDM4LDB4YzUsMHgwZiwweDMwLDB4ODIsMHhjOCwweDAwLDB4ZDMsMHgwMCwweDNjLDB4YzAsMHgwZSwweDMwLDB4MTMsMHhjMCwweDAwIH0sCi0gIDE2LCAweGEyMDAsIDAsIHsweGYxLDB4MDAsMHgzOCwweGMwLDB4MGYsMHhhMCwweDAzLDB4MWEsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyMTAsIDAsIHsweDQwLDB4MWQsMHhiOCwweDEwLDB4ZmQsMHgzNCwweDNlLDB4ODAsMHgwZiwweGUwLDB4MDMsMHhlZSwweDAwLDB4NzIsMHgwMCwweDNhIH0sCi0gIDE2LCAweGEyMjAsIDAsIHsweDAwLDB4MGYsMHhiMCwweDYzLDB4ZWMsMHg0MCwweGY4LDB4MjIsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDQsMHg0MCwweGZmIH0sCi0gIDE2LCAweGEyMzAsIDAsIHsweDAwLDB4M2YsMHhkMiwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhjZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGEyNDAsIDAsIHsweDA2LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWUsMHgwMCwweGViLDB4MDAsMHgzNiwweGUwIH0sCi0gIDE2LCAweGEyNTAsIDAsIHsweDBkLDB4YjAsMHgwMywweDIwLDB4MDAsMHhmMCwweDgwLDB4MzMsMHhjMCwweDA4LDB4YjgsMHgwMywweDJjLDB4ODAsMHhjYiwweDAwIH0sCi0gIDE2LCAweGEyNjAsIDAsIHsweDMyLDB4ODAsMHgwZiwweGEwLDB4MTMsMHg2ZSwweDA4LDB4Y2IsMHgyOCwweDMyLDB4ZTAsMHgwZCwweGI0LDB4ODMsMHhlMiwweDAwIH0sCi0gIDE2LCAweGEyNzAsIDAsIHsweGNhLDB4MDAsMHgzZSwweGUwLDB4MGMsMHhhOCwweDAzLDB4MDIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyODAsIDAsIHsweGM4LDB4MTEsMHg4YywweDA0LDB4ODMsMHgwMCwweDIxLDB4YzAsMHg0OCwweDcwLDB4MDIsMHgxMCwweDAwLDB4YjcsMHgwMiwweDIxIH0sCi0gIDE2LCAweGEyOTAsIDAsIHsweGMwLDB4NGEsMHg3MCwweDAyLDB4MGQsMHg0OCwweGQ0LDB4MDAsMHgzNSwweGMwLDB4MGUsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGE3IH0sCi0gIDE2LCAweGEyYTAsIDAsIHsweDQwLDB4MjksMHhjMCwweDA5LDB4NzIsMHgwMiwweGQ0LDB4MTAsMHhhNiwweDAyLDB4MmYsMHhjOCwweDA4LDB4NzAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGEyYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgwMCwweGE3LDB4ODAsMHgyMCwweGUwIH0sCi0gIDE2LCAweGEyYzAsIDAsIHsweDBhLDB4MzgsMHgwMiwweDFhLDB4MDAsMHhiNSwweDgwLDB4MjEsMHhlMCwweDA4LDB4ZjgsMHgyMiwweDVjLDB4ODEsMHg4MywweDgwIH0sCi0gIDE2LCAweGEyZDAsIDAsIHsweDIxLDB4YTEsMHgwYiwweDc4LDB4ODIsMHg1YSwweDEwLDB4ODMsMHhhMCwweDIwLDB4ZTgsMHgwYSwweDdiLDB4MDIsMHhkYSwweDAwIH0sCi0gIDE2LCAweGEyZTAsIDAsIHsweDk3LDB4YzAsMHgyZCwweGU0LDB4MDgsMHhlOCwweDAyLDB4MDgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyZjAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgxMCwweDIwLDB4YzAsMHgwYSwweDMwLDB4MDIsMHgwOCwweDA4LDB4YjMsMHg3MCwweDIwIH0sCi0gIDE2LCAweGEzMDAsIDAsIHsweGY4LDB4MGEsMHgzMCwweDQyLDB4NGMsMHgwNCwweDkzLDB4MTQsMHgyNiwweGM0LDB4MGEsMHgzOCwweDAyLDB4Y2MsMHgwMCwweGEzIH0sCi0gIDE2LCAweGEzMTAsIDAsIHsweDAwLDB4MjgsMHhjMCwweGFhLDB4MzAsMHgwMiwweGNlLDB4NDAsMHhiMywweDg4LDB4MmMsMHhjMCwweDI4LDB4MzAsMHgwYSwweDEyIH0sCi0gIDE2LCAweGEzMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTksMHgwMCwweGVhLDB4ODAsMHhiNiwweDkwIH0sCi0gIDE2LCAweGEzMzAsIDAsIHsweDJmLDB4MjQsMHgwYiwweDM5LDB4MDQsMHhiZSwweGMwLDB4MzMsMHg5MiwweDBjLDB4YTAsMHgwYiwweDY4LDB4MTgsMHhjZSwweGMwIH0sCi0gIDE2LCAweGEzNDAsIDAsIHsweDMzLDB4ODAsMHgwZiwweGU5LDB4NDMsMHg3OCwweDAwLDB4Y2EsMHgwMCwweDMyLDB4ODAsMHgwZiwweGEwLDB4MTMsMHhmOCwweDQ4IH0sCi0gIDE2LCAweGEzNTAsIDAsIHsweGRlLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhlMCwweDAyLDB4M2EsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDI0LDB4ZjgsMHgwMCwweDNlLDB4MTIsMHgwZCwweDgwLDB4OTMsMHhiMCwweDI4LDB4ZjgsMHgwMCwweGJjIH0sCi0gIDE2LCAweGEzNzAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAyLDB4MGUsMHg4MCwweDAwLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweGEzODAsIDAsIHsweDAxLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGEzOTAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiMiwweDcwIH0sCi0gIDE2LCAweGEzYTAsIDAsIHsweDBmLDB4OTAsMHgwMSwweDA0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTgsMHgwMywweGU0LDB4MDQsMHhlOSwweDA4IH0sCi0gIDE2LCAweGEzYjAsIDAsIHsweDNhLDB4NDgsMHgwYywweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwYiwweDEwLDB4MGIsMHgyNiwweDgwIH0sCi0gIDE2LCAweGEzYzAsIDAsIHsweGYxLDB4ODAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHgwMCwweDIyLDB4NjEsMHgwYiwweDkwLDB4MDIsMHgyNCwweDA4LDB4ODksMHgwMCwweDJlIH0sCi0gIDE2LCAweGEzZTAsIDAsIHsweDQwLDB4MGQsMHg5YSwweDAyLDB4ZTQsMHgwOCwweGE5LDB4MDAsMHgyMiwweDc4LDB4MGQsMHg5NCwweDA2LDB4ZTQsMHgxMCwweGI5IH0sCi0gIDE2LCAweGEzZjAsIDAsIHsweDAwLDB4MjIsMHg1MCwweDBiLDB4OTAsMHgwMiwweDI1LDB4ODAsMHhiOSwweDgwLDB4MzYsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGE0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI1LDB4MDAsMHgyMywweDQyIH0sCi0gIDE2LCAweGE0MTAsIDAsIHsweDBiLDB4ZDAsMHgwZSwweGI0LDB4MDAsMHg4OSwweDA0LDB4MmUsMHg2MCwweDA4LDB4OTEsMHgwMiwweGM0LDB4MDQsMHhiOSwweDA0IH0sCi0gIDE2LCAweGE0MjAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDEwLDB4YjEsMHgwMCwweDI2LDB4NDIsMHgwYSwweDkwLDB4MDIsMHgyNCwweDAwIH0sCi0gIDE2LCAweGE0MzAsIDAsIHsweGI5LDB4MjEsMHg2MiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4YjUsMHg0MCwweDIxLDB4NTAsMHg0YiwweDUwLDB4MDYsMHg5NCwweDAyLDB4ODEsMHgwMCwweDJjIH0sCi0gIDE2LCAweGE0NTAsIDAsIHsweDYwLDB4MjksMHgxNCwweDA2LDB4YzUsMHgwMCwweGExLDB4MjIsMHgyMCwweDUxLDB4ODksMHgxNCwweDAyLDB4YzQsMHgwMCwweGIxIH0sCi0gIDE2LCAweGE0NjAsIDAsIHsweDIwLDB4MjAsMHg0OCwweDBiLDB4MTQsMHgwMiwweDA0LDB4MDEsMHhiMSwweDAwLDB4MDQsMHg1MCwweDBiLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGE0NzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwOCwweGI4LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGE0ODAsIDAsIHsweDhmLDB4ODAsMHgwMywweGIwLDB4MDAsMHg4OCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAsMHhlOCwweDA0IH0sCi0gIDE2LCAweGE0OTAsIDAsIHsweDNhLDB4MDAsMHgwYywweDgwLDB4MDIsMHhlMCwweDAwLDB4ZjgsMHg1MCwweDM2LDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDA0IH0sCi0gIDE2LCAweGE0YTAsIDAsIHsweGY4LDB4MDEsMHgxMiwweDAwLDB4NGYsMHg4MCwweDA3LDB4ZWUsMHgwNywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0YjAsIDAsIHsweDk4LDB4MWQsMHhlNSwweDEwLDB4ZjksMHg0MCwweDNlLDB4NTAsMHgwZiwweDk0LDB4MDIsMHg2NSwweDAxLDB4ZmQsMHgwMSwweDNkIH0sCi0gIDE2LCAweGE0YzAsIDAsIHsweDUwLDB4NGYsMHg1MCwweDEzLDB4ZTUsMHgwMCwweGZkLDB4MTAsMHgxZiwweDUwLDB4MDcsMHhkNCwweDQzLDB4ZDQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGE0ZDAsIDAsIHsweDEwLDB4MWUsMHg0NCwweDBmLDB4OTQsMHgwMywweGQ1LDB4MDAsMHhmZCwweDQwLDB4M2UsMHg1MCwweDBmLDB4NTIsMHg4MywweGVlIH0sCi0gIDE2LCAweGE0ZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZTQsMHg0MCwweGY5LDB4NjAsMHgzZiwweDQ0IH0sCi0gIDE2LCAweGE0ZjAsIDAsIHsweDBmLDB4ZDAsMHhjMywweGU0LDB4MzAsMHhmOSwweDAxLDB4M2UsMHg0MiwweDBjLDB4ZDAsMHgwMywweGU3LDB4ODAsMHhkZCwweGEwIH0sCi0gIDE2LCAweGE1MDAsIDAsIHsweDMzLDB4NDAsMHgwYywweGQwLDB4MDMsMHhmYywweDAwLDB4YzksMHg5MCwweDNmLDB4NjgsMHgxZSwweDkxLDB4MDMsMHgzNCwweDAwIH0sCi0gIDE2LCAweGE1MTAsIDAsIHsweGZkLDB4MDAsMHgzZSwweDY4LDB4MGMsMHg5NCwweDAzLDB4MGUsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1MjAsIDAsIHsweDM5LDB4MTAsMHhlMCwweDAwLDB4YjgsMHg0MiwweDJlLDB4MDksMHgwYiwweDg0LDB4MDIsMHhlMSwweDA0LDB4YmUsMHgwMCwweDJlIH0sCi0gIDE2LCAweGE1MzAsIDAsIHsweDEwLDB4MDgsMHg4MCwweDIyLDB4YzIsMHg4MCwweDg4LDB4NDAsMHgyMiwweDAwLDB4MGEsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGE4IH0sCi0gIDE2LCAweGE1NDAsIDAsIHsweGQwLDB4MmUsMHgxMCwweDRiLDB4OGEsMHgwMywweDYwLDB4MDAsMHhiYSwweDAwLDB4MmUsMHgzMCwweDA4LDB4OGEsMHgwMiwweDg2IH0sCi0gIDE2LCAweGE1NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4YzUsMHg4MCwweGIxLDB4NjAsMHg2YywweGQwIH0sCi0gIDE2LCAweGE1NjAsIDAsIHsweDBiLDB4MTAsMHgwMCwweGRjLDB4MGMsMHhiNSwweDAwLDB4MmMsMHg0MSwweDA4LDB4MTAsMHgwMiwweGM1LDB4ODAsMHg5MSwweDEwIH0sCi0gIDE2LCAweGE1NzAsIDAsIHsweDY4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhlNCwweDBjLDB4ODEsMHgyMiwweDJjLDB4NTAsMHgwOCwweDEwLDB4NDIsMHgwNCwweDAwIH0sCi0gIDE2LCAweGE1ODAsIDAsIHsweGExLDB4MDAsMHgyYywweDVhLDB4MjgsMHg5MCwweDAyLDB4NTIsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDEsMHgwYiwweDkwLDB4MTIsMHhmNCwweDgwLDB4YmYsMHgwMCwweDJlIH0sCi0gIDE2LCAweGE1YTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGE5LDB4NjAsMHg2MCwweDQyLDB4MGEsMHg5NCwweDEyLDB4ZTUsMHgwMCwweGE5IH0sCi0gIDE2LCAweGE1YjAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDY0LDB4MjAsMHhiOSwweDAwLDB4MGUsMHg0MCwweDA5LDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweGE1YzAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQxIH0sCi0gIDE2LCAweGE1ZDAsIDAsIHsweDBmLDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDQsMHhkMSwweGMwIH0sCi0gIDE2LCAweGE1ZTAsIDAsIHsweGJhLDB4NzAsMHgwYywweDk4LDB4MDMsMHhjNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyNSwweDQwIH0sCi0gIDE2LCAweGE1ZjAsIDAsIHsweGU5LDB4NDAsMHgzZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4NjgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2MDAsIDAsIHsweDY4LDB4MDEsMHhhNCwweDE0LDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MjMsMHhlNCwweDA4LDB4ZjksMHhhMCwweDNjIH0sCi0gIDE2LCAweGE2MTAsIDAsIHsweGMyLDB4MmYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGQ5LDB4ODAsMHgzZSwweDcwLDB4MGYsMHg5MSwweDQzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGE2MjAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDFmLDB4OTAsMHgxMywweGU2LDB4MjAsMHhmOSwweGEwLDB4M2MsMHg0MCwweDRlLDB4OTAsMHgwMywweDlhIH0sCi0gIDE2LCAweGE2MzAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAyIH0sCi0gIDE2LCAweGE2NDAsIDAsIHsweDBmLDB4ODAsMHgxMywweDIwLDB4MGMsMHhmYywweDAxLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDUwIH0sCi0gIDE2LCAweGE2NTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MGIsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgyYywweDgwLDB4NDMsMHhlMCwweDQwIH0sCi0gIDE2LCAweGE2NjAsIDAsIHsweGY4LDB4MDIsMHgzYSwweDAwLDB4OGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2NzAsIDAsIHsweGE4LDB4ODUsMHgyOCwweDA4LDB4M2EsMHgwMCwweDBmLDB4ODAsMHg0YiwweGExLDB4MDIsMHgyOCwweDAwLDB4YmEsMHg4MiwweDJlIH0sCi0gIDE2LCAweGE2ODAsIDAsIHsweDg4LDB4NDgsMHhlNCwweDAyLDB4ZTgsMHgwMCwweGFlLDB4OTAsMHhhMywweDkwLDB4MGIsMHhlMCwweDAwLDB4MzgsMHgwMCwweGJhIH0sCi0gIDE2LCAweGE2OTAsIDAsIHsweDAwLDB4MzcsMHhhMCwweDA4LDB4YTAsMHgwMiwweGY4LDB4MDAsMHg5ZSwweGUwLDB4MjIsMHg4MCwweDBiLDB4YTAsMHgyMywweDQyIH0sCi0gIDE2LCAweGE2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgxMCwweDMzLDB4MDAsMHgyYywweGQwIH0sCi0gIDE2LCAweGE2YjAsIDAsIHsweDBiLDB4MTQsMHgwMiwweDBjLDB4MDAsMHhiMiwweDkxLDB4MmMsMHhkMCwweDA4LDB4M2UsMHgwMiwweDRjLDB4MDAsMHg4MywweDQwIH0sCi0gIDE2LCAweGE2YzAsIDAsIHsweDI0LDB4YzIsMHgwYiwweDM2LDB4MDAsMHg4YywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhjZSwweDAwIH0sCi0gIDE2LCAweGE2ZDAsIDAsIHsweGIzLDB4Y2MsMHg2OCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2ZTAsIDAsIHsweGUwLDB4MDEsMHgxYywweDg4LDB4YjcsMHgyNSwweDJkLDB4YzAsMHg4YiwweDU4LDB4MWEsMHgxYywweDA4LDB4YjYsMHgwMCwweDJkIH0sCi0gIDE2LCAweGE2ZjAsIDAsIHsweGMwLDB4MDgsMHg3NCwweDAyLDB4ZGMsMHg0MCwweGE1LDB4MDAsMHgyNSwweGMwLDB4MWIsMHg3OCwweDAyLDB4OTQsMHgwOCwweGI3IH0sCi0gIDE2LCAweGE3MDAsIDAsIHsweDgwLDB4MjUsMHhlMywweDBhLDB4NzEsMHgwMiwweGRjLDB4MDAsMHg5NywweDgzLDB4MjEsMHhjOCwweDhiLDB4ZjEsMHgwMiwweDQ4IH0sCi0gIDE2LCAweGE3MTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHgwMCwweGY3LDB4ZTIsMHg3ZCwweGUwIH0sCi0gIDE2LCAweGE3MjAsIDAsIHsweDBmLDB4NTgsMHg0MywweDFlLDB4MTgsMHhmNiwweDgwLDB4N2MsMHhlMCwweDJjLDB4NjgsMHgwMiwweDVlLDB4OTAsMHhjMywweDgwIH0sCi0gIDE2LCAweGE3MzAsIDAsIHsweDM1LDB4ZTAsMHgwZiwweGY4LDB4MDMsMHg5ZSwweDA0LDB4ZmYsMHhhMSwweDIwLDB4YTEsMHgwZCwweDc4LDB4MDMsMHhkNiwweDAwIH0sCi0gIDE2LCAweGE3NDAsIDAsIHsweGY3LDB4ODAsMHgzOSwweGY4LDB4MGYsMHg3OCwweDAzLDB4MGEsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3NTAsIDAsIHsweDQ4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHg0MCwweDdmLDB4NDEsMHgwZiwweDEwLDB4MDMsMHhlYywweDA0LDB4ZmEsMHgwMCwweDNlIH0sCi0gIDE2LCAweGE3NjAsIDAsIHsweGQwLDB4MGYsMHhhMCwweDAzLDB4ZWQsMHgwMCwweGU5LDB4MDAsMHgyYSwweDAwLDB4MGYsMHhiMCwweDAzLDB4NjQsMHgwMCwweGZiIH0sCi0gIDE2LCAweGE3NzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBkLDB4YjAsMHgwMywweGU0LDB4MDAsMHhkMywweDAwLDB4MzYsMHhjMCwweDBmLDB4MzgsMHgwMywweGMyIH0sCi0gIDE2LCAweGE3ODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHg0OCwweGNmLDB4YzAsMHgzMywweDYwIH0sCi0gIDE2LCAweGE3OTAsIDAsIHsweDhjLDB4YzgsMHg0MywweGQ2LDB4MDAsMHhjYywweDk0LDB4M2YsMHhiMCwweDBkLDB4ZjgsMHgwMywweDdmLDB4MDAsMHhkZiwweDgwIH0sCi0gIDE2LCAweGE3YTAsIDAsIHsweDNmLDB4NjAsMHgwZiwweGQ4LDB4MDMsMHhkZSwweDAwLDB4Y2YsMHhjYSwweDNkLDB4NjAsMHgwYywweGY4LDB4MTMsMHgzYSwweDQ0IH0sCi0gIDE2LCAweGE3YjAsIDAsIHsweGRkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDQzLDB4MTgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3YzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4OGYsMHgxMSwweDMzLDB4YzAsMHg0OCwweDQxLDB4MTIsMHhjNCwweDQ4LDB4ODQsMHgxMSwweDJjIH0sCi0gIDE2LCAweGE3ZDAsIDAsIHsweGVjLDB4MmEsMHhiYSwweDAzLDB4M2MsMHg0MCwweGQ3LDB4NDgsMHgyZCwweDQxLDB4MGIsMHg2MCwweDAyLDB4ZDQsMHgwMCwweGQ3IH0sCi0gIDE2LCAweGE3ZTAsIDAsIHsweDAxLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgwMywweDVhLDB4MDAsMHg4NCwweDE4LDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMywweDZhIH0sCi0gIDE2LCAweGE3ZjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4OGMsMHgwOCwweDg3LDB4MDAsMHgyMSwweDQwIH0sCi0gIDE2LCAweGE4MDAsIDAsIHsweDA5LDB4NDAsMHgwMiwweGQ0LDB4MDAsMHhhNCwweDkyLDB4MmQsMHhjOCwweDA5LDB4NjIsMHg4MiwweDVjLDB4MDAsMHg4NywweDAwIH0sCi0gIDE2LCAweGE4MTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhmYywweDAwLDB4ODcsMHgwMCwweDJkLDB4MDQsMHgwOCwweDcwLDB4MDIsMHgxYywweDgwIH0sCi0gIDE2LCAweGE4MjAsIDAsIHsweGI1LDB4MDAsMHgyZCwweGMwLDB4MGIsMHhmMCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4MzAsIDAsIHsweDYwLDB4MTAsMHhjYywweDAwLDB4ODMsMHgwMCwweDIwLDB4NDAsMHgwOSwweDAwLDB4MjIsMHhjNywweDAwLDB4YTAsMHg0MSwweDJjIH0sCi0gIDE2LCAweGE4NDAsIDAsIHsweGMxLDB4NGIsMHgwOCwweDAyLDB4MmMsMHgwMCwweDkzLDB4NDAsMHgyYywweDdjLDB4MGIsMHgzOCwweDAyLDB4YzcsMHgyMCwweDkzIH0sCi0gIDE2LCAweGE4NTAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDRmLDB4ODQsMHhiMCwweDgwLDB4MmMsMHhjMCwweDBiLDB4MzIsMHgxMCwweDUwIH0sCi0gIDE2LCAweGE4NjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDE1LDB4YmMsMHgwMiwweGNmLDB4MDAsMHhiMiwweDQwIH0sCi0gIDE2LCAweGE4NzAsIDAsIHsweDBkLDB4MTAsMHgwMywweGU4LDB4MjQsMHhlYiwweGMxLDB4M2UsMHhjMCwweDJkLDB4OTgsMHgxMywweDdjLDB4MGEsMHhjMiwweDQzIH0sCi0gIDE2LCAweGE4ODAsIDAsIHsweDNlLDB4YjAsMHgwZiwweGE5LDB4MDMsMHhlOSwweDIwLDB4Y2YsMHgwMCwweDNlLDB4YzAsMHg4YywweGYwLDB4MDMsMHgwZCwweDIwIH0sCi0gIDE2LCAweGE4OTAsIDAsIHsweGZhLDB4YzAsMHgzZiwweGMwLDB4MGYsMHg3NCwweDAxLDB4MmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4YTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNhLDB4NDAsMHg4ZSwweDkwLDB4MDMsMHhlOCwweDE0LDB4NWIsMHg1MCwweDNjIH0sCi0gIDE2LCAweGE4YjAsIDAsIHsweDUwLDB4NGUsMHg4NCwweDAzLDB4ZWMsMHgwMCwweGY4LDB4NDAsMHgzZSwweDgwLDB4MDcsMHg4MSwweDAzLDB4ZWMsMHgwOCwweGYzIH0sCi0gIDE2LCAweGE4YzAsIDAsIHsweDAwLDB4M2EsMHhjMCwweDlmLDB4MzAsMHgwMywweGVjLDB4MDAsMHhjYiwweDIwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgyMywweGU4IH0sCi0gIDE2LCAweGE4ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDkwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQwIH0sCi0gIDE2LCAweGE4ZTAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDM4LDB4MjAsMHhjZiwweDA4LDB4MzIsMHhjMSwweDBlLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhmZSwweDA4IH0sCi0gIDE2LCAweGE4ZjAsIDAsIHsweDMxLDB4ZTUsMHgwZSwweGU0LDB4MDMsMHgzYSwweDAwLDB4ZmYsMHgwMCwweDMzLDB4ODAsMHgwZiwweGYwLDB4MmIsMHgyNCwweDAwIH0sCi0gIDE2LCAweGE5MDAsIDAsIHsweGNjLDB4YTAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5MTAsIDAsIHsweDgwLDB4MDQsMHg2YywweDAwLDB4YmIsMHgwMCwweDNhLDB4NjksMHgwYiwweDkwLDB4NmUsMHgwOCwweDAwLDB4ODMsMHg0MSwweDM2IH0sCi0gIDE2LCAweGE5MjAsIDAsIHsweDQwLDB4YzgsMHg4OCwweGM2LDB4ZWMsMHgwMCwweDg4LDB4NDAsMHgzNiwweDgwLDB4MGQsMHhhOCwweDAzLDB4NmUsMHg1MCwweGJiIH0sCi0gIDE2LCAweGE5MzAsIDAsIHsweDAwLDB4MzYsMHhjMCwweDBiLDB4YjAsMHgwMiwweDI0LDB4MDAsMHhkOSwweDA4LDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMywweGUwIH0sCi0gIDE2LCAweGE5NDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweDYwIH0sCi0gIDE2LCAweGE5NTAsIDAsIHsweDAzLDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4OSwweDAxLDB4MjIsMHg1OCwweDA4LDB4OTgsMHgyMiwweGVjLDB4MDEsMHhhYiwweDAwIH0sCi0gIDE2LCAweGE5NjAsIDAsIHsweDIyLDB4MDAsMHgwYSwweDEwLDB4MDIsMHgyOCwweDAwLDB4YmIsMHgwMCwweDIyLDB4NDAsMHgwYiwweGIwLDB4MDIsMHgyOCwweDAwIH0sCi0gIDE2LCAweGE5NzAsIDAsIHsweDhhLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4MjAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5ODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgwMCwweDI4LDB4NDAsMHg4YiwweDAwLDB4MDIsMHgwMiwweDQwLDB4ODksMHgwMSwweDI0IH0sCi0gIDE2LCAweGE5OTAsIDAsIHsweGQyLDB4MjgsMHgxMCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MTAsMHgyNCwweDIwLDB4MDgsMHgwOCwweDAyLDB4NGUsMHgwMCwweGIzIH0sCi0gIDE2LCAweGE5YTAsIDAsIHsweDA0LDB4YTAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDA4LDB4ODgsMHg5MiwweDAwLDB4MmMsMHhjMCwweDBiLDB4YjAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGE5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGZmLDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGE5YzAsIDAsIHsweDBmLDB4ODAsMHgwMiwweDIwLDB4MTAsMHg4OSwweDUwLDB4MjIsMHhkOCwweDJlLDB4OTYsMHgyMiwweGZjLDB4MDAsMHhlYiwweDQwIH0sCi0gIDE2LCAweGE5ZDAsIDAsIHsweDMyLDB4YzAsMHgwYSwweDkwLDB4MDMsMHgyOCwweDAwLDB4ZmYsMHgwMCwweDIyLDB4MDAsMHgwZiwweGIwLDB4MDMsMHgyYywweGEwIH0sCi0gIDE2LCAweGE5ZTAsIDAsIHsweGM4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MDAsMHgwNiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5ZjAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmYsMHgwYywweDNiLDB4MDAsMHgwZiwweGMwLDB4MDIsMHg3MCwweDkwLDB4ZmQsMHgwMCwweDNlIH0sCi0gIDE2LCAweGFhMDAsIDAsIHsweGM5LDB4MGYsMHg5NiwweGMzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwNCwweGZmIH0sCi0gIDE2LCAweGFhMTAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhmYywweDAwLDB4M2YsMHhjMCwweDBmLDB4NzAsMHgwMywweGU4IH0sCi0gIDE2LCAweGFhMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZGMsMHg4MCwweGZiLDB4MjgsMHgzZiwweDAwIH0sCi0gIDE2LCAweGFhMzAsIDAsIHsweDBjLDB4YzEsMHgwYiwweGYxLDB4MDIsMHhlZCwweDAwLDB4MzcsMHgzMCwweDJjLDB4ZjEsMHgwMywweGIyLDB4NDAsMHhmZiwweDAwIH0sCi0gIDE2LCAweGFhNDAsIDAsIHsweGJiLDB4YzAsMHgwZiwweDQ4LDB4MDYsMHhiMiwweDAwLDB4ZmMsMHg4MCwweDNiLDB4Y2MsMHgwYywweGYwLDB4MDMsMHg3MCwweDgwIH0sCi0gIDE2LCAweGFhNTAsIDAsIHsweGRmLDB4MjgsMHgzMywweDA0LDB4MGYsMHhmNCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhNjAsIDAsIHsweDgwLDB4MTAsMHhmZiwweDQwLDB4YmYsMHg2MCwweDJlLDB4MjEsMHgwOCwweDgyLDB4MDIsMHgyMCwweDAwLDB4YTksMHgyOCwweDJhIH0sCi0gIDE2LCAweGFhNzAsIDAsIHsweDAwLDB4MDksMHhmYSwweDAyLDB4MjAsMHgwMCwweGJmLDB4NTEsMHgyMywweGQ4LDB4MDksMHg5OCwweDAyLDB4ZTQsMHgzMCwweGIwIH0sCi0gIDE2LCAweGFhODAsIDAsIHsweDAwLDB4MjMsMHhkMCwweDA4LDB4ZjUsMHhhMiwweDI1LDB4YTQsMHg4ZiwweDQyLDB4M2MsMHgxMCwweDBiLDB4YjAsMHgwYSwweDIwIH0sCi0gIDE2LCAweGFhOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGIzLDB4MDgsMHgyYywweDAwIH0sCi0gIDE2LCAweGFhYTAsIDAsIHsweDI4LDB4MDAsMHgxYSwweGMwLDB4ODQsMHgyMCwweDAwLDB4MjQsMHhjOCwweDRiLDB4MzEsMHg0MiwweGMwLDB4MDAsMHg5MywweDAyIH0sCi0gIDE2LCAweGFhYjAsIDAsIHsweDIwLDB4YzYsMHgwOCwweDAwLDB4MDYsMHhjMCwweDgxLDB4YjMsMHgwMCwweDJjLDB4ZDgsMHgwOSwweDMyLDB4MDIsMHhhMCwweDQwIH0sCi0gIDE2LCAweGFhYzAsIDAsIHsweDkzLDB4MDEsMHgyNCwweDRjLDB4MGIsMHgzMiwweDAyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhZDAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4YmIsMHgwMiwweDJlLDB4MGEsMHgwOCwweDgwLDB4ODIsMHg2MCwweDAwLDB4YTgsMHgwMCwweDJlIH0sCi0gIDE2LCAweGFhZTAsIDAsIHsweGUwLDB4MWIsMHhiMCwweDAyLDB4NjIsMHgwMSwweDNiLDB4MDAsMHgyMiwweGMxLDB4MDksMHg5MCwweDAyLDB4ZTIsMHgwMCwweGJiIH0sCi0gIDE2LCAweGFhZjAsIDAsIHsweDYwLDB4MjYsMHhjMSwweDA4LDB4YjAsMHgyYSwweDI2LDB4MDAsMHg5YiwweDA0LDB4MmUsMHgyMSwweDBiLDB4YjAsMHgwMiwweDMwIH0sCi0gIDE2LCAweGFiMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSwweDEwIH0sCi0gIDE2LCAweGFiMTAsIDAsIHsweDA4LDB4ODQsMHgxMywweGVjLDB4MDIsMHhhOSwweDA0LDB4MzYsMHgyMCwweDBmLDB4YjAsMHgwMywweGVlLDB4ODAsMHhmYiwweDAwIH0sCi0gIDE2LCAweGFiMjAsIDAsIHsweDNhLDB4YzAsMHgwYywweGEwLDB4MDMsMHhhMiwweDgwLDB4NzksMHg0MCwweDFlLDB4YzAsMHg4YywweGIwLDB4NjMsMHg2YSwweDEwIH0sCi0gIDE2LCAweGFiMzAsIDAsIHsweGQzLDB4MDAsMHgzNiwweGEyLDB4MDcsMHhiMCwweDAzLDB4MDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MjAsMHg0ZCwweDQxLDB4MDMsMHg5YywweDAwLDB4ZmQsMHgyMCwweGFiIH0sCi0gIDE2LCAweGFiNTAsIDAsIHsweDAwLDB4MGMsMHhmMCwweDAzLDB4YjgsMHgwMCwweGY3LDB4MDAsMHgzZiwweGMwLDB4NGQsMHhjOSwweDAzLDB4ZjQsMHgwMCwweGZmIH0sCi0gIDE2LCAweGFiNjAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDJlLDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhlZiwweDAwLDB4M2YsMHgwMCwweDRiLDB4NzAsMHgwMywweGY4IH0sCi0gIDE2LCAweGFiNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHg4MCwweGViLDB4MDAsMHg3ZSwweDEwIH0sCi0gIDE2LCAweGFiODAsIDAsIHsweDJlLDB4ODQsMHgwMywweGVjLDB4MDAsMHhlMCwweDAwLDB4MzIsMHg1MCwweDBmLDB4YjAsMHg4NiwweDI1LDB4MDAsMHhkYiwweDIwIH0sCi0gIDE2LCAweGFiOTAsIDAsIHsweDNhLDB4YzAsMHgwZCwweGIwLDB4NjMsMHhlMSwweDEwLDB4ZmIsMHg0OCwweDM4LDB4YzEsMHgwZiwweDMwLDB4MDMsMHgyYywweDA0IH0sCi0gIDE2LCAweGFiYTAsIDAsIHsweGZiLDB4MDgsMHgzMiwweGMwLDB4MGMsMHhiMCwweDBiLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiYjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4OGYsMHgwMCwweDY0LDB4MjksMHgyOCwweDgwLDB4MDMsMHhlYywweDAyLDB4ZTgsMHgwNCwweGE4IH0sCi0gIDE2LCAweGFiYzAsIDAsIHsweDU2LDB4MDgsMHhmYywweDA3LDB4ZTAsMHgwMCwweDBmLDB4YTAsMHhiZiwweGMwLDB4MGIsMHg5NSwweDAyLDB4YTAsMHgwMCwweGJiIH0sCi0gIDE2LCAweGFiZDAsIDAsIHsweDA1LDB4MzcsMHhjMCwweDg5LDB4ZjAsMHgwYSwweDBkLDB4YzgsMHhiZiwweDA4LDB4MmEsMHg4MCwweDA4LDB4ZjAsMHgwMiwweDMyIH0sCi0gIDE2LCAweGFiZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMSwweGIzLDB4MDIsMHgyNCwweGUwIH0sCi0gIDE2LCAweGFiZjAsIDAsIHsweDBhLDB4MzAsMHgxMiwweDgwLDB4MDMsMHhhMywweDAwLDB4YTgsMHgwMCwweDAyLDB4YjgsMHgyMiwweGMwLDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGFjMDAsIDAsIHsweDI4LDB4YzEsMHgwYiwweDA0LDB4MDIsMHgwOCwweDAwLDB4YjksMHg0MCwweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwMywweDA0IH0sCi0gIDE2LCAweGFjMTAsIDAsIHsweGIzLDB4NDQsMHgyMCwweDAwLDB4NGEsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjMjAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDIwLDB4MTcsMHhhMCwweDY1LDB4ZWMsMHgwOCwweDM4LDB4MDIsMHhjMiwweDQxLDB4YjMsMHg5MiwweDJiIH0sCi0gIDE2LCAweGFjMzAsIDAsIHsweDY0LDB4MGEsMHgzOCwweDAyLDB4MzYsMHgwMSwweGI3LDB4OTAsMHgyZCwweGUwLDB4MDMsMHhmOCwweDAwLDB4OWEsMHgwMCwweGI1IH0sCi0gIDE2LCAweGFjNDAsIDAsIHsweDgwLDB4MmQsMHhlMCwweDg5LDB4NzgsMHgxMiwweDFlLDB4MDAsMHhiNywweDgwLDB4MjksMHhlMCwweDBhLDB4NzgsMHgwMiwweDA4IH0sCi0gIDE2LCAweGFjNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDczLDB4YjAsMHgyNCwweGM4IH0sCi0gIDE2LCAweGFjNjAsIDAsIHsweDRlLDB4MzAsMHgwYSwweDgwLDB4MDIsMHhlMiwweDAwLDB4MzgsMHg5NCwweDBlLDB4MzEsMHhhMiwweGM4LDB4MDAsMHg3MywweDAwIH0sCi0gIDE2LCAweGFjNzAsIDAsIHsweDE4LDB4YzQsMHgwNSwweDAwLDB4MDMsMHgwMCwweDAwLDB4ZjMsMHgwMCwweDM4LDB4YzAsMHgwNywweGIxLDB4MDMsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjODAsIDAsIHsweGYzLDB4MDEsMHgzMCwweDQxLDB4MGUsMHhiMCwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjOTAsIDAsIHsweDQwLDB4MWQsMHhiZCwweDAwLDB4ZWYsMHgxMCwweDI2LDB4YzgsMHgwMywweGIxLDB4MDMsMHhlMCwweDAwLDB4ZWEsMHg4MSwweDc4IH0sCi0gIDE2LCAweGFjYTAsIDAsIHsweGM1LDB4MGMsMHhiNSwweGUzLDB4ZGMsMHgwMCwweGMzLDB4MDAsMHgzZSwweGMxLDB4MGYsMHhmMCwweDgzLDB4YjAsMHgwMCwweGZmIH0sCi0gIDE2LCAweGFjYjAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBkLDB4ZjQsMHgwMywweGU0LDB4MDAsMHhmNywweDAwLDB4M2YsMHg0MCwweDBkLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGFjYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHgxMCwweGNiLDB4MjgsMHgzZSwweGMwIH0sCi0gIDE2LCAweGFjZDAsIDAsIHsweDBkLDB4YjAsMHgxMywweGFjLDB4MTAsMHhmYiwweDAwLDB4M2EsMHg4MCwweDA0LDB4YjQsMHgwMywweGFjLDB4MDAsMHhmYiwweDA0IH0sCi0gIDE2LCAweGFjZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGE0LDB4YjMsMHhlMCwweDAwLDB4ZmIsMHg4MCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlOCwweDAwIH0sCi0gIDE2LCAweGFjZjAsIDAsIHsweGZiLDB4NDgsMHhiMiwweDgwLDB4MGYsMHhiMCwweDQzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkMDAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAyLDB4ODcsMHg0NCwweDM4LDB4YzAsMHg4ZCwweDMwLDB4MDIsMHg0YywweDAwLDB4ZmYsMHgwMCwweDIxIH0sCi0gIDE2LCAweGFkMTAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDAzLDB4OWMsMHgwMCwweGIzLDB4NTAsMHgyMSwweGQ0LDB4NGUsMHg2MiwweDAyLDB4ZDAsMHgwMCwweGJmIH0sCi0gIDE2LCAweGFkMjAsIDAsIHsweDAwLDB4MzUsMHhkNCwweDA5LDB4NzAsMHgyMiwweGQ4LDB4MDAsMHhiZiwweDIyLDB4MjEsMHhjMCwweDBiLDB4NzIsMHgwMiwweGQyIH0sCi0gIDE2LCAweGFkMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg0MCwweDg3LDB4ODAsMHgyZCwweGUwIH0sCi0gIDE2LCAweGFkNDAsIDAsIHsweDA5LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNiwweDgwLDB4MjksMHhhMSwweDI4LDB4N2EsMHgzMiwweGRlLDB4MDAsMHgzNywweGEwIH0sCi0gIDE2LCAweGFkNTAsIDAsIHsweDI1LDB4ZTAsMHgwOSwweDc4LDB4MDYsMHhkMiwweDAwLDB4YjcsMHg4MCwweDIxLDB4ZTgsMHgwYiwweDc5LDB4MDIsMHhkZSwweDAwIH0sCi0gIDE2LCAweGFkNjAsIDAsIHsweGI3LDB4OTAsMHgyMSwweGUwLDB4MGIsMHg3OSwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkNzAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDA0LDB4ODMsMHgwMSwweDI4LDB4YzAsMHg4OSwweGIwLDB4MGEsMHg0ZiwweDAwLDB4YjIsMHgwMCwweDIwIH0sCi0gIDE2LCAweGFkODAsIDAsIHsweGM0LDB4ODgsMHgzMCwweDE2LDB4Y2YsMHgwMCwweGJiLDB4MDQsMHgyMCwweGMxLDB4MGEsMHgzMiwweDA2LDB4YzIsMHgwMCwweGIzIH0sCi0gIDE2LCAweGFkOTAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDA5LDB4MzAsMHg0MiwweGVmLDB4MTAsMHhiMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGFkYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweDRhLDB4MDAsMHgzZSwweDgwIH0sCi0gIDE2LCAweGFkYjAsIDAsIHsweDJkLDB4YTAsMHgwYiwweGFhLDB4ODAsMHhmZSwweDAwLDB4MmIsMHg4MCwweDBjLDB4YTAsMHg0MywweGZiLDB4MzAsMHhmYSwweDAwIH0sCi0gIDE2LCAweGFkYzAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4ODMsMHhmYSwweDA0LDB4ZmUsMHgxOCwweDIyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDg0IH0sCi0gIDE2LCAweGFkZDAsIDAsIHsweGYyLDB4MDAsMHgzMywweGEyLDB4MGYsMHhhMCwweDAzLDB4ZjIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgyZiwweDgwLDB4MDMsMHhhMCwweDIwLDB4ZmMsMHgwMiwweDNlIH0sCi0gIDE2LCAweGFkZjAsIDAsIHsweDAwLDB4MWYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDAxLDB4ZTAsMHg0MCwweGY4IH0sCi0gIDE2LCAweGFlMDAsIDAsIHsweDQwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGFlMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzYsMHgwMCwweGQ5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGFlMjAsIDAsIHsweDBmLDB4OTAsMHgwYiwweDA0LDB4MDAsMHhjOSwweDAwLDB4MzYsMHg2OCwweDZjLDB4OTQsMHgwMywweGU0LDB4MjAsMHhiOSwweDkwIH0sCi0gIDE2LCAweGFlMzAsIDAsIHsweDM2LDB4NDAsMHgwYywweDk0LDB4MDMsMHhlNCwweDAwLDB4MjksMHg4MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDIwIH0sCi0gIDE2LCAweGFlNDAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlNTAsIDAsIHsweDgwLDB4MDQsMHg2NiwweDUwLDB4ODksMHgwMCwweDIwLDB4NTAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA5LDB4ZDksMHgwMCwweDIwIH0sCi0gIDE2LCAweGFlNjAsIDAsIHsweDQ4LDB4NDgsMHg5MCwweDA2LDB4ZTQsMHgwNCwweDk5LDB4YTAsMHgyMiwweDQwLDB4MGQsMHhiOCwweDIyLDB4NjQsMHgwMCwweDA5IH0sCi0gIDE2LCAweGFlNzAsIDAsIHsweDUwLDB4MzIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDI3LDB4OTAsMHg4OSwweDQwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGFlODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweDk5LDB4MDAsMHg2NiwweDQyIH0sCi0gIDE2LCAweGFlOTAsIDAsIHsweDBhLDB4ZDAsMHgxMiwweDM0LDB4MDAsMHg4NSwweDAwLDB4MjYsMHg0MCwweDRhLDB4OTAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAxIH0sCi0gIDE2LCAweGFlYTAsIDAsIHsweDI0LDB4NDAsMHg1OCwweDkwLDB4MTIsMHhjNCwweDAwLDB4MjksMHg0MCwweDJlLDB4NDAsMHgwYiwweDEwLDB4MGEsMHgyNCwweDgwIH0sCi0gIDE2LCAweGFlYjAsIDAsIHsweDg5LDB4MDUsMHgyNiwweDQxLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlYzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDYxLDB4NDgsMHgwOCwweDUyLDB4MDIsMHgxNCwweDgxLDB4OTUsMHgyMCwweDIwIH0sCi0gIDE2LCAweGFlZDAsIDAsIHsweDQwLDB4MGEsMHgzNiwweDAyLDB4YzQsMHgwMCwweGIxLDB4MjAsMHgwMCwweDQ4LDB4NDEsMHgxMCwweDQyLDB4NDQsMHgwMSwweGExIH0sCi0gIDE2LCAweGFlZTAsIDAsIHsweDAwLDB4MjQsMHg0OCwweDBiLDB4MTIsMHgxMiwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjgsMHg0OCwweDBiLDB4MTIsMHgwMiwweGNhIH0sCi0gIDE2LCAweGFlZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGQ4LDB4NTAsMHgzNiwweDAwIH0sCi0gIDE2LCAweGFmMDAsIDAsIHsweDBlLDB4ODUsMHgyMywweDIxLDB4NDIsMHg4YywweDU0LDB4MzQsMHgxNCwweDBlLDB4ODAsMHgwMiwweGUxLDB4NDAsMHhmOCwweDUwIH0sCi0gIDE2LCAweGFmMTAsIDAsIHsweDM2LDB4MTQsMHgwNCwweDgwLDB4MDMsMHhlMSwweDQ0LDB4ZTgsMHg1MCwweDdlLDB4MTUsMHgwZiwweDg1LDB4MDMsMHgyMSwweDQyIH0sCi0gIDE2LCAweGFmMjAsIDAsIHsweDRhLDB4MDAsMHgzNiwweDE0LDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmMzAsIDAsIHsweDk4LDB4MWQsMHhjNCwweDQwLDB4ZjksMHgxMCwweDFlLDB4NDQsMHg0ZSwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmIH0sCi0gIDE2LCAweGFmNDAsIDAsIHsweGMwLDB4MGQsMHg5MSwweDAzLDB4ZjQsMHgwMCwweGQ5LDB4MTQsMHgzZSwweDQ0LDB4MGYsMHg5MCwweDAzLDB4NzQsMHgwMCwweGRkIH0sCi0gIDE2LCAweGFmNTAsIDAsIHsweDAwLDB4N2EsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4NDAsMHhmOSwweDM4LDB4M2YsMHg0NCwweDBmLDB4OTMsMHg4MywweGU3IH0sCi0gIDE2LCAweGFmNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZjYsMHg4MCwweGY5LDB4YTQsMHgzZiwweDY4IH0sCi0gIDE2LCAweGFmNzAsIDAsIHsweDBlLDB4OWUsMHg0MywweDY3LDB4ODAsMHhkOSwweGU0LDB4M2YsMHg0MSwweDBmLDB4ZDgsMHg0MywweDA0LDB4MDAsMHhlZCwweGMwIH0sCi0gIDE2LCAweGFmODAsIDAsIHsweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDUsMHg0MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhmNCwweDAwIH0sCi0gIDE2LCAweGFmOTAsIDAsIHsweGRkLDB4MDAsMHgzMiwweDQwLDB4MmMsMHg5YSwweDAzLDB4YzYsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmYTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAwLDB4ZTgsMHhjMCwweDJlLDB4MTQsMHg0ZCwweDhmLDB4MjIsMHgyMywweGMwLDB4ZjgsMHhmMCwweGFhIH0sCi0gIDE2LCAweGFmYjAsIDAsIHsweDAwLDB4MGMsMHg4MCwweDAzLDB4YTIsMHhhMCwweGQ4LDB4ODIsMHgyMiwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTgsMHgwMCwweGQ4IH0sCi0gIDE2LCAweGFmYzAsIDAsIHsweDgwLDB4MmEsMHgwMCwweDA4LDB4ODAsMHgwMiwweGU4LDB4MDgsMHg4OCwweGE4LDB4MzYsMHgwMCwweDQ4LDB4OGEsMHg4MiwweGNlIH0sCi0gIDE2LCAweGFmZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4NDgsMHgyZSwweDQwIH0sCi0gIDE2LCAweGFmZTAsIDAsIHsweDBhLDB4MTIsMHgyMiwweDQ0LDB4MDAsMHg5MSwweDA0LDB4YTQsMHg0MSwweDBhLDB4OTQsMHgwNiwweDI0LDB4MDAsMHg5MSwweDQyIH0sCi0gIDE2LCAweGFmZjAsIDAsIHsweDI0LDB4NDEsMHgwOSwweDEwLDB4MDIsMHhlNCwweDAxLDB4OTEsMHgyMCwweDI0LDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDAxIH0sCi0gIDE2LCAweGIwMDAsIDAsIHsweDkxLDB4MDAsMHgyYywweDQwLDB4MDksMHgxNCwweDAyLDB4YzIsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NDAsMHg0OCwweDEwLDB4MDIsMHgyNCwweDAwLDB4YjksMHg0MCwweGFhIH0sCi0gIDE2LCAweGIwMjAsIDAsIHsweDQwLDB4MTgsMHhiMCwweDAyLDB4ZTQsMHgwOCwweDk5LDB4MDAsMHgyMiwweDQwLDB4MTksMHg5MCwweDQ2LDB4ZTQsMHg4MCwweDk5IH0sCi0gIDE2LCAweGIwMzAsIDAsIHsweDA0LDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDEsMHg5OSwweDA0LDB4MjYsMHg1MCwweDA5LDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweGIwNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGY5LDB4MDYsMHgzYywweDQwIH0sCi0gIDE2LCAweGIwNTAsIDAsIHsweDBhLDB4OTAsMHgwMywweDY0LDB4MDIsMHhkOSwweDAwLDB4YjYsMHg1MCwweDBlLDB4OTAsMHgyMywweDI2LDB4MDEsMHhmOSwweDAwIH0sCi0gIDE2LCAweGIwNjAsIDAsIHsweDM2LDB4NDAsMHgyOSwweDk0LDB4ODMsMHhlNCwweDAwLDB4ZDksMHg0OCwweDM2LDB4NDAsMHgwZCwweDkwLDB4MDMsMHhjNywweDAwIH0sCi0gIDE2LCAweGIwNzAsIDAsIHsweGQxLDB4MDcsMHgzYSwweDUwLDB4Y2QsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDA4LDB4ZTksMHgwMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhjNCwweDA4LDB4ZjEsMHgwMCwweDNhIH0sCi0gIDE2LCAweGIwOTAsIDAsIHsweDY4LDB4OGYsMHg5MCwweDAzLDB4YTQsMHg0MSwweGY5LDB4MDAsMHhiZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGIwYTAsIDAsIHsweGMwLDB4MzgsMHg0MCwweDJlLDB4OTAsMHgwMywweGU2LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg2OCwweDA2LDB4OTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGIwYjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDUsMHgzZSwweDAwIH0sCi0gIDE2LCAweGIwYzAsIDAsIHsweDA3LDB4ODAsMHgwYiwweDIwLDB4MDAsMHhlOCwweDQwLDB4M2UsMHgxMCwweDBkLDB4ODIsMHgwMywweDYwLDB4MDAsMHhjOCwweDAwIH0sCi0gIDE2LCAweGIwZDAsIDAsIHsweGIyLDB4MDAsMHg4ZCwweDgzLDB4MDMsMHhlMCwweDAwLDB4ZDgsMHg1MCwweDNhLDB4MDAsMHgxZSwweDgwLDB4MDMsMHhlMSwweDI0IH0sCi0gIDE2LCAweGIwZTAsIDAsIHsweGY4LDB4MDAsMHhiMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwZjAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4OGEsMHgwNCwweDJmLDB4ODQsMHg2YSwweGEwLDB4MGIsMHhlOCwweDA4LDB4OGUsMHgwMCwweDNkIH0sCi0gIDE2LCAweGIxMDAsIDAsIHsweDgwLDB4ODgsMHhlYywweDAzLDB4NjgsMHgxMCwweGE2LDB4MDEsMHgzNiwweDgwLDB4MDgsMHhhOCwweDAwLDB4YzgsMHgxMCwweDhlIH0sCi0gIDE2LCAweGIxMTAsIDAsIHsweDEwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweGZiLDB4MjAsMHhiZSwweDUxLDB4MmEsMHg4MCwweDBiLDB4YTAsMHgwMiwweDgyIH0sCi0gIDE2LCAweGIxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDEsMHgyMSwweDkzLDB4MDAsMHgyYywweGYwIH0sCi0gIDE2LCAweGIxMzAsIDAsIHsweDM5LDB4MzAsMHgwNiwweDBjLDB4MDAsMHhhMywweDAwLDB4MjgsMHgwOCwweDI4LDB4YmMsMHgwMiwweDJjLDB4MDAsMHg4MywweDgwIH0sCi0gIDE2LCAweGIxNDAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDMwLDB4MDAsMHhjYywweDAwLDB4OWEsMHg4MCwweDI4LDB4YzAsMHgwYSwweDMwLDB4MDIsMHhjZCwweDAwIH0sCi0gIDE2LCAweGIxNTAsIDAsIHsweGIzLDB4MDQsMHg2MiwweGMxLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxNjAsIDAsIHsweGEwLDB4MDEsMHgxZSwweDA0LDB4MDcsMHgxMSwweDJjLDB4ZDAsMHgwYSwweDMyLDB4MjIsMHhkYywweGMxLDB4ODcsMHgwMCwweDZkIH0sCi0gIDE2LCAweGIxNzAsIDAsIHsweGQwLDB4MDgsMHgzNCwweDAyLDB4N2MsMHgwMCwweGE3LDB4MDgsMHgyNCwweGM4LDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg4MCwweDBmIH0sCi0gIDE2LCAweGIxODAsIDAsIHsweDAwLDB4MjEsMHhjNCwweDA4LDB4NzMsMHgwNiwweGRjLDB4MDAsMHhiMiwweDAwLDB4NjEsMHhjOCwweDBiLDB4M2EsMHgwMiwweDg4IH0sCi0gIDE2LCAweGIxOTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MGEsMHgwMCwweDU3LDB4ODEsMHgyZCwweGEwIH0sCi0gIDE2LCAweGIxYTAsIDAsIHsweDJkLDB4N2MsMHgwMiwweDNlLDB4ODIsMHhlMywweGUwLDB4M2IsMHhlMCwweDBjLDB4NzgsMHgwMywweDFlLDB4MjAsMHhjNywweDgwIH0sCi0gIDE2LCAweGIxYjAsIDAsIHsweGI5LDB4ZTgsMHgyYywweDc4LDB4MDMsMHhmZiwweDgwLDB4ZDYsMHg4MCwweDNiLDB4ZWMsMHgwMiwweDdhLDB4MDMsMHhkZSwweDAwIH0sCi0gIDE2LCAweGIxYzAsIDAsIHsweGY3LDB4ODEsMHgzMSwweGVjLDB4OGYsMHg3YywweDAzLDB4MGEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwMCwweDFlLDB4ODAsMHgyMywweGI2LDB4ODMsMHhlZCwweGEwLDB4ZGIsMHg2NCwweDNlIH0sCi0gIDE2LCAweGIxZTAsIDAsIHsweGMwLDB4MGUsMHhiMCwweDAzLDB4ZWQsMHhjMCwweGYyLDB4MDAsMHgzZSwweGQ0LDB4MGEsMHhiMCwweDAzLDB4ZWMsMHgzMCwweGVlIH0sCi0gIDE2LCAweGIxZjAsIDAsIHsweDY0LDB4M2UsMHhjMCwweDA3LDB4YjAsMHhjMywweGU4LDB4MDAsMHhmYiwweDAxLDB4M2UsMHhjOCwweDBmLDB4YjgsMHgwMywweGMyIH0sCi0gIDE2LCAweGIyMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGVmLDB4ODAsMHgzYiwweGUwIH0sCi0gIDE2LCAweGIyMTAsIDAsIHsweDBmLDB4ZjgsMHg2MywweDdlLDB4MDQsMHhjZiwweGMwLDB4YjcsMHgyMCwweDBlLDB4ZjgsMHgwMywweGZjLDB4MDAsMHhjNywweDgwIH0sCi0gIDE2LCAweGIyMjAsIDAsIHsweDMzLDB4ZjAsMHgwYywweGNjLDB4MDMsMHhmZSwweDA4LDB4ZjcsMHhjMSwweDMzLDB4ZTAsMHg0ZiwweGY4LDB4MDMsMHhiMiwweDQwIH0sCi0gIDE2LCAweGIyMzAsIDAsIHsweGZmLDB4YTAsMHgzMSwweGU2LDB4MGMsMHhmOCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyNDAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ZWYsMHgwMiwweDIxLDB4NDAsMHgyZCwweDcwLDB4MDIsMHgxYywweDAwLDB4ZjcsMHgxMCwweDI5IH0sCi0gIDE2LCAweGIyNTAsIDAsIHsweDQwLDB4MDgsMHg3MCwweDIyLDB4ZmMsMHhjMCwweGE3LDB4MDAsMHgzZCwweGMwLDB4MDgsMHg0MCwweDAyLDB4ZGMsMHgwMCwweGI3IH0sCi0gIDE2LCAweGIyNjAsIDAsIHsweDQwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGRhLDB4ODAsMHhiNywweDI0LDB4MjksMHhjNiwweDQ4LDB4ZjAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGIyNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGE3LDB4MDAsMHgyOCwweDg0IH0sCi0gIDE2LCAweGIyODAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg5MywweDAwLDB4MjUsMHg4MCwweDBhLDB4NjEsMHgwMiwweGRjLDB4MDEsMHhhNywweDEwIH0sCi0gIDE2LCAweGIyOTAsIDAsIHsweDI0LDB4YzAsMHgwOCwweDQwLDB4ODIsMHhkYywweDAwLDB4OWYsMHgwMCwweDI1LDB4YzQsMHgwYiwweDcwLDB4MDIsMHg5NCwweDI1IH0sCi0gIDE2LCAweGIyYTAsIDAsIHsweGI3LDB4MzIsMHgyMywweGM0LDB4MWIsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyYjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDBjLDB4YTMsMHgwMCwweDIwLDB4MDAsMHgyOSwweDMwLDB4MGEsMHgwYywweDAwLDB4YTMsMHgwMCwweDZjIH0sCi0gIDE2LCAweGIyYzAsIDAsIHsweDAwLDB4MDgsMHgxMCwweDQyLDB4Y2QsMHgxMCwweGFhLDB4MDAsMHhhYywweGMwLDB4MDAsMHgwNCwweDAyLDB4Y2QsMHgwMCwweGJiIH0sCi0gIDE2LCAweGIyZDAsIDAsIHsweDEwLDB4MjQsMHhjMCwweDAzLDB4MzAsMHg0MiwweGMzLDB4MDksMHhiMywweDAwLDB4MmMsMHhkMCwweDBhLDB4MzAsMHgwMiwweDE4IH0sCi0gIDE2LCAweGIyZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODAsMHgwMCwweGVmLDB4MDAsMHgzYSwweDQwIH0sCi0gIDE2LCAweGIyZjAsIDAsIHsweDA3LDB4ZjAsMHg0MywweDNjLDB4MDAsMHg5ZiwweGMwLDB4YjYsMHgxNCwweDBlLDB4ODAsMHgwNiwweGZjLDB4MDEsMHhjYiwweDAxIH0sCi0gIDE2LCAweGIzMDAsIDAsIHsweDM3LDB4YzAsMHhhYywweGI0LDB4MDIsMHhmYywweDAwLDB4ZDksMHgwMSwweDM3LDB4YzAsMHg0YiwweGYwLDB4MTMsMHhhZSwweDA4IH0sCi0gIDE2LCAweGIzMTAsIDAsIHsweGZiLDB4MDAsMHgzMywweGQwLDB4MmUsMHhmMCwweDBiLDB4MmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzMjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwNSwweDNlLDB4NDAsMHgwZiwweDMwLDB4MDMsMHhhYywweDE0LDB4ZmIsMHhhMCwweDNhIH0sCi0gIDE2LCAweGIzMzAsIDAsIHsweGMwLDB4MGYsMHg4NCwweDQzLDB4ZWMsMHgwMSwweGY5LDB4NDAsMHgzZSwweGMwLDB4MGYsMHhhMiwweDAzLDB4ZWMsMHgyMSwweGY5IH0sCi0gIDE2LCAweGIzNDAsIDAsIHsweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGU0LDB4MjAsMHhmMCwweDAwLDB4YmEsMHhjMCwweDBkLDB4YjAsMHgwMywweGUwIH0sCi0gIDE2LCAweGIzNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjgsMHgwMCwweGQ3LDB4MDEsMHgzNSwweDY4IH0sCi0gIDE2LCAweGIzNjAsIDAsIHsweDZkLDB4ZjAsMHgwMywweDNjLDB4MDEsMHhlNywweDAwLDB4MzMsMHhjMCwweDBkLDB4YzAsMHgwMywweGZjLDB4MjQsMHhjZiwweDAyIH0sCi0gIDE2LCAweGIzNzAsIDAsIHsweDM3LDB4YzAsMHgwZCwweGQyLDB4MDIsMHhmYywweDAwLDB4ZGYsMHgwMSwweDMzLDB4YzAsMHg1ZSwweDcwLDB4MzMsMHgxYywweDE4IH0sCi0gIDE2LCAweGIzODAsIDAsIHsweGNmLDB4NDEsMHgzMSwweGMyLDB4MGMsMHhmMCwweDAzLDB4NDAsMHg0MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzOTAsIDAsIHsweDgxLDB4MDAsMHg2YywweDAwLDB4OGIsMHgwMCwweDIyLDB4NTIsMHgyYSwweGIwLDB4MDMsMHg2YywweDAwLDB4YWIsMHgwMCwweDI4IH0sCi0gIDE2LCAweGIzYTAsIDAsIHsweGMwLDB4MGEsMHg4YywweDAyLDB4ZWMsMHgxMCwweDhiLDB4ZTAsMHgyMiwweGMwLDB4MGYsMHg4MCwweDAyLDB4Y2MsMHgwMCwweDhiIH0sCi0gIDE2LCAweGIzYjAsIDAsIHsweDgwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJhLDB4MTAsMHhkOSwweDgwLDB4MjIsMHhjMCwweGM4LDB4YjAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGIzYzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjQsMHgwMSwweDliLDB4MDAsMHgyNiwweDgwIH0sCi0gIDE2LCAweGIzZDAsIDAsIHsweDI5LDB4YjAsMHg2MiwweDBjLDB4MDAsMHhhYiwweDAxLDB4NmEsMHgwMCwweDA4LDB4OTgsMHgwMiwweGNjLDB4MDAsMHg5YiwweDgzIH0sCi0gIDE2LCAweGIzZTAsIDAsIHsweDJlLDB4YzAsMHhjYiwweGI0LDB4MTIsMHhlYywweDAzLDB4OGIsMHg4MCwweDI4LDB4YzAsMHgwYSwweGIwLDB4MDYsMHhhMiwweDAwIH0sCi0gIDE2LCAweGIzZjAsIDAsIHsweDhiLDB4MDIsMHg2MiwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0MDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAxLDB4ODMsMHgxNCwweDIwLDB4MDAsMHgwYSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJhIH0sCi0gIDE2LCAweGI0MTAsIDAsIHsweDQwLDB4MGEsMHgxMCwweDAwLDB4Y2MsMHgwMiwweDkzLDB4MDAsMHgyOCwweGMwLDB4MGEsMHgyMCwweDAyLDB4ZWMsMHgwMCwweDAzIH0sCi0gIDE2LCAweGI0MjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgxNiwweDAwLDB4ODAsMHg5MSwweDAwLDB4NjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGI0MzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDgwIH0sCi0gIDE2LCAweGI0NDAsIDAsIHsweDJkLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhhZiwweDAwLDB4M2EsMHg4MCwweDBkLDB4ODAsMHgwMywweGZjLDB4MDAsMHg1YiwweDAwIH0sCi0gIDE2LCAweGI0NTAsIDAsIHsweDM3LDB4YzAsMHgwOSwweDkwLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMCwweDMzLDB4YzAsMHgwYSwweGYwLDB4MDMsMHhhNCwweDIwIH0sCi0gIDE2LCAweGI0NjAsIDAsIHsweGNiLDB4MDAsMHhiMywweGMwLDB4OGMsMHhiMCwweDAzLDB4NDAsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0NzAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmYsMHgyMCwweDBmLDB4MDAsMHgyNywweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDJkIH0sCi0gIDE2LCAweGI0ODAsIDAsIHsweDAwLDB4MGIsMHhkMCwweDI3LDB4ZmMsMHgwMCwweGVmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhjMCwweDQzLDB4ZmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGI0OTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwYiwweGUwLDB4MDAsMHhmNSwweDAwLDB4M2YsMHhjMCwweDFmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGI0YTAsIDAsIHsweDA3LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjQsMHhjMCwweGZjLDB4MjIsMHg3ZiwweGMwIH0sCi0gIDE2LCAweGI0YjAsIDAsIHsweDBjLDB4ZDAsMHg0MywweDM2LDB4MDAsMHhjNCwweDgxLDB4MzQsMHhjMCwweDFjLDB4ODksMHgwNywweGYyLDB4ODAsMHhjZiwweDgwIH0sCi0gIDE2LCAweGI0YzAsIDAsIHsweDMzLDB4NjAsMHgwZiwweDc5LDB4MDMsMHgzYywweGUwLDB4Y2YsMHgwOCwweDMzLDB4NDgsMHgwZCwweGM0LDB4MDMsMHhmMCwweDUwIH0sCi0gIDE2LCAweGI0ZDAsIDAsIHsweGRjLDB4OTAsMHgzNywweGNjLDB4MGYsMHhmOCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0ZTAsIDAsIHsweDgwLDB4MTAsMHhlOSwweDkwLDB4YjgsMHg4MCwweDdlLDB4ZTQsMHg4OCwweDk5LDB4MGEsMHgyNiwweDA4LDB4YTksMHg4MCwweDIyIH0sCi0gIDE2LCAweGI0ZjAsIDAsIHsweGY0LDB4MmMsMHg5OSwweDAzLDB4YTcsMHgwMiwweDg5LDB4ODAsMHgyMiwweDM0LDB4MGIsMHg5YSwweDAzLDB4N2QsMHgwMCwweGRmIH0sCi0gIDE2LCAweGI1MDAsIDAsIHsweDQ4LDB4MmIsMHg2MCwweDA4LDB4MDUsMHgwMiwweGU1LDB4MDAsMHg4MiwweDIwLDB4MjIsMHhjNCwweDhiLDB4YjAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGI1MTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzUsMHgwMCwweGIwLDB4MTAsMHgyYywweGMwIH0sCi0gIDE2LCAweGI1MjAsIDAsIHsweDJhLDB4MDAsMHgwMiwweGE0LDB4MDgsMHhhOCwweDA0LDB4ZTAsMHg4MCwweDBiLDB4MDAsMHgwMiwweGM0LDB4NDEsMHhiMiwweDA0IH0sCi0gIDE2LCAweGI1MzAsIDAsIHsweGE0LDB4MGEsMHgwYiwweGIwLDB4MDIsMHg4YywweDgxLDB4ODMsMHgyMCwweDYwLDB4NTAsMHg5OCwweDEyLDB4MTIsMHg4YiwweDgwIH0sCi0gIDE2LCAweGI1NDAsIDAsIHsweDg5LDB4MDAsMHgyYywweGM4LDB4MGIsMHgzMCwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1NTAsIDAsIHsweGMwLDB4MTEsMHhhYywweDIwLDB4YmIsMHgwMiwweDJhLDB4YzAsMHgwYSwweDg4LDB4MDIsMHhhNCwweDA4LDB4YTksMHg4MCwweGEyIH0sCi0gIDE2LCAweGI1NjAsIDAsIHsweGUxLDB4MWIsMHg5YywweDIyLDB4ZTYsMHgwMCwweGI4LDB4NDAsMHgyNiwweDMwLDB4MGIsMHg5MCwweDAyLDB4Y2MsMHgwMSwweDkzIH0sCi0gIDE2LCAweGI1NzAsIDAsIHsweDA0LDB4MmEsMHg0MCwweDM5LDB4OTgsMHg4MiwweGVjLDB4MTQsMHg4YiwweDY1LDB4MmEsMHhjMCwweDBiLDB4YjIsMHgwMiwweGY4IH0sCi0gIDE2LCAweGI1ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTcsMHgwMCwweGI4LDB4NDgsMHgyZSwweDAwIH0sCi0gIDE2LCAweGI1OTAsIDAsIHsweDBlLDB4ODgsMHg0MywweDg0LDB4MDAsMHhlMywweGMxLDB4MzYsMHhlOCwweDBmLDB4OWMsMHgxMiwweGUyLDB4ODAsMHhmMywweGMwIH0sCi0gIDE2LCAweGI1YTAsIDAsIHsweDM2LDB4NzAsMHg1ZiwweGE4LDB4MjMsMHhhYywweDAxLDB4Y2IsMHgwNCwweDIyLDB4NDAsMHg0ZCwweDg0LDB4MDMsMHhlMiwweDAwIH0sCi0gIDE2LCAweGI1YjAsIDAsIHsweGQ4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1YzAsIDAsIHsweGUwLDB4MDEsMHhiMywweDA5LDB4ZmUsMHgxMCwweDNlLDB4ODEsMHgwZCwweGMwLDB4MDMsMHg3NCwweDBjLDB4ZmYsMHgwMCwweDNkIH0sCi0gIDE2LCAweGI1ZDAsIDAsIHsweGMxLDB4OGMsMHhkMCwweDgzLDB4MTQsMHgwMCwweGNkLDB4MjAsMHgzYSwweDQwLDB4MGQsMHhjYSwweDAxLDB4N2MsMHgwMCwweGZmIH0sCi0gIDE2LCAweGI1ZTAsIDAsIHsweDAwLDB4MWYsMHg0MCwweDBlLDB4YzAsMHgyMywweGYyLDB4NDYsMHhmZSwweDg0LDB4MzcsMHhjMCwweDBmLDB4ZDgsMHgwMywweGY4IH0sCi0gIDE2LCAweGI1ZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGRkLDB4MDIsMHgzZCwweDQwIH0sCi0gIDE2LCAweGI2MDAsIDAsIHsweDBlLDB4OTAsMHgwMywweGFjLDB4MDAsMHhlYiwweDQ4LDB4M2UsMHhkMCwweDBjLDB4ODAsMHg2MywweGEyLDB4MDgsMHhjYSwweDAwIH0sCi0gIDE2LCAweGI2MTAsIDAsIHsweDMyLDB4MDgsMHgwYywweGIwLDB4MDMsMHhhYywweDA4LDB4ZWIsMHgwMCwweDNlLDB4NDAsMHgwYywweGQ0LDB4ODMsMHg1OCwweDIwIH0sCi0gIDE2LCAweGI2MjAsIDAsIHsweGY5LDB4NDIsMHgzMiwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2MzAsIDAsIHsweGM4LDB4MDUsMHgyOCwweDAyLDB4ZGIsMHgwMCwweDJlLDB4ZTAsMHgyOCwweDNhLDB4MDIsMHgyZSwweDAwLDB4ZGIsMHg2MCwweDc2IH0sCi0gIDE2LCAweGI2NDAsIDAsIHsweGUwLDB4MGQsMHg4YywweDAyLDB4ZTAsMHgwMCwweDg4LDB4MDIsMHgzNiwweDU4LDB4NjgsMHgxNSwweDgzLDB4N2MsMHgwOCwweGJmIH0sCi0gIDE2LCAweGI2NTAsIDAsIHsweDAwLDB4MmQsMHg2MCwweDA4LDB4OTAsMHgwMiwweGE5LDB4MDAsMHhiMywweDA1LDB4MjMsMHhjMCwweDA4LDB4YjAsMHgwMiwweGYyIH0sCi0gIDE2LCAweGI2NjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgxMCwweDgwLDB4MDAsMHgwYywweGMxIH0sCi0gIDE2LCAweGI2NzAsIDAsIHsweDA4LDB4MWMsMHg4MiwweDA2LDB4MDAsMHg5MywweGMwLDB4MjAsMHhmNiwweDBhLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg5MywweDAwIH0sCi0gIDE2LCAweGI2ODAsIDAsIHsweDI0LDB4NjAsMHgwOSwweDNjLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDJjLDB4NjAsMHgwOSwweDAxLDB4MTIsMHgwMCwweDQwIH0sCi0gIDE2LCAweGI2OTAsIDAsIHsweGIwLDB4MDAsMHhlMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NzAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2YTAsIDAsIHsweDIwLDB4NDEsMHgwYSwweDQwLDB4ODYsMHg4MSwweDJkLDB4ZTAsMHg1OCwweDE4LDB4MGEsMHgxNiwweGEwLDB4OTcsMHg4MCwweDI1IH0sCi0gIDE2LCAweGI2YjAsIDAsIHsweGU5LDB4MTksMHg3OCwweDgyLDB4ZDYsMHgwMCwweDk3LDB4ODAsMHgyNSwweGEwLDB4MTksMHhmOCwweDAyLDB4NWUsMHgwMCwweGI3IH0sCi0gIDE2LCAweGI2YzAsIDAsIHsweDgwLDB4MmQsMHg2MCwweDI4LDB4NDgsMHgxMiwweDk2LDB4MDAsMHhiNCwweDgwLDB4MjEsMHhlMCwweDI4LDB4NzgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGI2ZDAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgxLDB4MzAsMHgzYywweGMyIH0sCi0gIDE2LCAweGI2ZTAsIDAsIHsweDBlLDB4MDAsMHgwMiwweDg0LDB4MDAsMHhlMywweDQwLDB4MjgsMHhlOCwweDRjLDB4MjksMHgwMywweDBjLDB4MDAsMHhkMywweDAwIH0sCi0gIDE2LCAweGI2ZjAsIDAsIHsweDM0LDB4YzQsMHgwZCwweDMxLDB4MDMsMHg4YywweDA4LDB4ZTMsMHgwMCwweDNjLDB4NDYsMHgwYywweDIwLDB4MDMsMHgwMCwweDgwIH0sCi0gIDE2LCAweGI3MDAsIDAsIHsweGYyLDB4MDAsMHgzMiwweGMwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3MTAsIDAsIHsweDQwLDB4MTksMHhiOCwweDAwLDB4ZmYsMHgxMCwweDJmLDB4YzAsMHgwZiwweGMwLDB4MjMsMHhjNCwweDgwLDB4N2YsMHgxMCwweDNlIH0sCi0gIDE2LCAweGI3MjAsIDAsIHsweGMwLDB4MGYsMHhiMSwweDAzLDB4ZGMsMHgwMCwweGU3LDB4MDAsMHgzZiwweDgwLDB4MDYsMHhmMSwweDQzLDB4ZmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGI3MzAsIDAsIHsweDA4LDB4N2QsMHg1MCwweDBlLDB4ZTEsMHgyMywweGI0LDB4MDgsMHhmZSwweDEwLDB4M2YsMHhjNCwweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGI3NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMiwweGNjLDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGI3NTAsIDAsIHsweDJjLDB4YzAsMHgwMywweDA0LDB4MDEsMHhjYiwweDAwLDB4MzMsMHg2MCwweDJjLDB4OTAsMHgxMywweGU4LDB4MDAsMHg3MywweDAwIH0sCi0gIDE2LCAweGI3NjAsIDAsIHsweGIyLDB4YzEsMHgwZiwweGEwLDB4MDMsMHhlYywweDgwLDB4ZmIsMHgyOCwweDNlLDB4NTQsMHgxZiwweGQwLDB4MDMsMHhmZSwweDAyIH0sCi0gIDE2LCAweGI3NzAsIDAsIHsweGM5LDB4ODAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4Y2EsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3ODAsIDAsIHsweDQ4LDB4MTEsMHg4MCwweDAwLDB4ODYsMHgwMCwweDJkLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgxNCwweDA4LDB4ODcsMHgwMCwweDI5IH0sCi0gIDE2LCAweGI3OTAsIDAsIHsweDQwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAyLDB4NWMsMHhhMCwweDk3IH0sCi0gIDE2LCAweGI3YTAsIDAsIHsweDIwLDB4MmQsMHg0OCwweDBiLDB4NTAsMHgwMiwweGRjLDB4MTAsMHg4ZCwweDAwLDB4MjEsMHhjOCwweDBiLDB4NzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGI3YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWYsMHgwMCwweDg1LDB4ODEsMHgyYywweDYwIH0sCi0gIDE2LCAweGI3YzAsIDAsIHsweDE4LDB4NTgsMHgwMiwweGRlLDB4MjAsMHhiNywweDgyLDB4MjgsMHg2MCwweDVhLDB4NzgsMHg1MiwweGRlLDB4MTAsMHhiZiwweDgwIH0sCi0gIDE2LCAweGI3ZDAsIDAsIHsweDIxLDB4ZTAsMHg0YiwweDc4LDB4MDYsMHhkZSwweDQwLDB4YjcsMHhhMCwweDJkLDB4NjksMHg5YiwweDc4LDB4MTIsMHhjZSwweDAwIH0sCi0gIDE2LCAweGI3ZTAsIDAsIHsweDg3LDB4ODAsMHhlMSwweGU0LDB4MGIsMHg3OCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3ZjAsIDAsIHsweDQ4LDB4MTQsMHhlZSwweDAwLDB4ODMsMHgwMCwweDJjLDB4YzIsMHgwOCwweDM2LDB4MDIsMHg4YywweDA4LDB4ODMsMHhmMCwweDY4IH0sCi0gIDE2LCAweGI4MDAsIDAsIHsweDQwLDB4MGEsMHgzZSwweDAyLDB4Y2QsMHg0MCwweGIzLDB4MDAsMHgyMCwweGUwLDB4MGIsMHgzMiwweDA2LDB4NGMsMHgwMCwweDliIH0sCi0gIDE2LCAweGI4MTAsIDAsIHsweDAwLDB4MGMsMHg0MCwweDBiLDB4MzAsMHgwMiwweGNkLDB4ODAsMHg4MywweDA4LDB4MjAsMHhjMCwweDBiLDB4YjEsMHgwMiwweGRhIH0sCi0gIDE2LCAweGI4MjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGNlLDB4MDgsMHgzZiwweGIwIH0sCi0gIDE2LCAweGI4MzAsIDAsIHsweDBjLDB4ZTQsMHgyMywweGRhLDB4MDIsMHhkZSwweDQwLDB4YmIsMHhiMiwweDBlLDB4ZTIsMHg0MywweGZhLDB4MDAsMHhmZSwweDAwIH0sCi0gIDE2LCAweGI4NDAsIDAsIHsweDMzLDB4OTAsMHgwYiwweGUwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODEsMHgwYiwweGUwLDB4MTMsMHhmOSwweDA4IH0sCi0gIDE2LCAweGI4NTAsIDAsIHsweGNlLDB4NDAsMHgzMiwweDgwLDB4MGYsMHhhOCwweDAzLDB4ZmEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4NjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDI0LDB4OTgsMHgwOCwweDNjLDB4MDQsMHgwZiwweDAwLDB4MGIsMHg2MCwweDAwLDB4ZjgsMHg0MCwweDJlIH0sCi0gIDE2LCAweGI4NzAsIDAsIHsweDAzLDB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDA2LDB4MGIsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGQ4IH0sCi0gIDE2LCAweGI4ODAsIDAsIHsweDAwLDB4M2MsMHgwMCwweDAzLDB4OGMsMHgyMywweGUxLDB4MDAsMHhmOCwweDAwLDB4N2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGI4OTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGI4YTAsIDAsIHsweDhjLDB4OTAsMHgwMywweDI1LDB4MDAsMHhlOSwweDgwLDB4MzIsMHg0NCwweDBmLDB4OTQsMHgwMiwweGU0LDB4MjAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGI4YjAsIDAsIHsweDMyLDB4NzAsMHgwZiwweDlhLDB4NDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwYywweDEwLDB4MzMsMHgyNCwweDEwIH0sCi0gIDE2LCAweGI4YzAsIDAsIHsweGY5LDB4MDEsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4ZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg4MiwweDJlLDB4NDAsMHgyOCwweDkwLDB4MDIsMHgyNCwweDgyLDB4ODEsMHhjMCwweGEyIH0sCi0gIDE2LCAweGI4ZTAsIDAsIHsweDcwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgwMCwweDMxLDB4NDIsMHhhMiwweDYwLDB4MGIsMHg5NCwweDgyLDB4ZTQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGI4ZjAsIDAsIHsweDAwLDB4MmEsMHg0MCwweDA4LDB4OTQsMHhhMiwweDI1LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwYSwweDIwIH0sCi0gIDE2LCAweGI5MDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4NjQsMHgyZSwweDQwIH0sCi0gIDE2LCAweGI5MTAsIDAsIHsweDA4LDB4OTAsMHg0MiwweGE0LDB4MDAsMHg4OSwweDYwLDB4MjIsMHg0MiwweDBiLDB4OTAsMHgwMiwweGU2LDB4MDAsMHhiOSwweDgwIH0sCi0gIDE2LCAweGI5MjAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA0LDB4YjksMHgwMCwweDIyLDB4NDAsMHgyOCwweDkwLDB4MDIsMHgyNCwweDA0IH0sCi0gIDE2LCAweGI5MzAsIDAsIHsweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MGUsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDgwLDB4ODEsMHgwMCwweDJjLDB4YzEsMHg0OCwweDEwLDB4MDIsMHhhNCwweDAyLDB4ODEsMHgwMCwweDIwIH0sCi0gIDE2LCAweGI5NTAsIDAsIHsweDQwLDB4ODMsMHgzNCwweDAyLDB4YzQsMHgwMCwweGJiLDB4MDAsMHgyMCwweGQwLDB4MGIsMHgxNCwweDAyLDB4YzQsMHg4MCwweGIxIH0sCi0gIDE2LCAweGI5NjAsIDAsIHsweDIwLDB4YTAsMHg2OCwweDE4LDB4MTQsMHgxYSwweDBkLDB4MDAsMHhiMSwweDQwLDB4MmMsMHg1MCwweDBiLDB4MTAsMHgwMiwweDBhIH0sCi0gIDE2LCAweGI5NzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGI5ODAsIDAsIHsweDhjLDB4ODAsMHgwYiwweGEwLDB4MDQsMHhlOCwweDAwLDB4MzIsMHgwMCwweDA3LDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweGI5OTAsIDAsIHsweDMyLDB4MDAsMHgxZiwweDgwLDB4MDMsMHhhMSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweGI5YTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5YjAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQ2LDB4ZmQsMHg0MCwweDNmLDB4NTAsMHgyMywweGQ0LDB4MTMsMHg3NCwweDA0LDB4ZjUsMHgwMiwweDNmIH0sCi0gIDE2LCAweGI5YzAsIDAsIHsweDUwLDB4MGYsMHhkNCwweDAzLDB4ZmQsMHgwMCwweGJkLDB4MDAsMHgyZiwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGY5IH0sCi0gIDE2LCAweGI5ZDAsIDAsIHsweDEwLDB4M2YsMHg0NCwweDBmLDB4ZDQsMHgwMywweGY1LDB4MDgsMHhmZCwweDA2LDB4M2UsMHg1MCwweDBmLDB4ZDIsMHg4MywweGU2IH0sCi0gIDE2LCAweGI5ZTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg0MCwweGVkLDB4MDQsMHgzZSwweDQ4IH0sCi0gIDE2LCAweGI5ZjAsIDAsIHsweDBjLDB4YjIsMHg4MywweGY0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDhjLDB4ZDAsMHgwMywweDM0LDB4MDAsMHhmZCwweDAwIH0sCi0gIDE2LCAweGJhMDAsIDAsIHsweDM3LDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNiwweDIwLDB4ZjksMHg4OCwweDNkLDB4NjIsMHgwYywweGQ4LDB4MDMsMHhmZSwweDI0IH0sCi0gIDE2LCAweGJhMTAsIDAsIHsweGMxLDB4MDAsMHgzZSwweDc4LDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhMjAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDAwLDB4ODgsMHg0MCwweDJlLDB4MTAsMHgwOCwweGM0LDB4MjMsMHhhMCwweDA4LDB4ODgsMHgwNiwweDJhIH0sCi0gIDE2LCAweGJhMzAsIDAsIHsweDE0LDB4MDgsMHg4MCwweDAzLDB4NjAsMHgwNCwweGI4LDB4MDAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDAyLDB4ZTIsMHgwMCwweGI4IH0sCi0gIDE2LCAweGJhNDAsIDAsIHsweDgwLDB4MmUsMHgwMCwweDA4LDB4OGMsMHgwMiwweGUzLDB4ODAsMHg4OCwweDAyLDB4MmUsMHgzOCwweDBiLDB4ODgsMHgwMiwweDBlIH0sCi0gIDE2LCAweGJhNTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHg4MCwweGExLDB4YzAsMHgyZCwweDcwIH0sCi0gIDE2LCAweGJhNjAsIDAsIHsweDA4LDB4NTAsMHg0MiwweGM0LDB4MDAsMHhhOSwweDAwLDB4MjAsMHhlMCwweDJhLDB4MTAsMHgwYSwweDA0LDB4MTAsMHhiMSwweDAwIH0sCi0gIDE2LCAweGJhNzAsIDAsIHsweDI0LDB4NDAsMHg0YiwweDEwLDB4MDYsMHhjNCwweDIwLDB4YjEsMHgwOCwweDZlLDB4NDAsMHgwYiwweDE2LDB4ODIsMHhjNCwweDIwIH0sCi0gIDE2LCAweGJhODAsIDAsIHsweDgxLDB4MDAsMHgyYywweDUwLDB4MGIsMHg5MiwweDgyLDB4NTIsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhOTAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4YTksMHgwMSwweDJlLDB4NDAsMHgyOCwweGQwLDB4MjAsMHhhNCwweDA0LDB4YTksMHgwMCwweDJhIH0sCi0gIDE2LCAweGJhYTAsIDAsIHsweDQwLDB4MWEsMHhiMCwweDEyLDB4MjQsMHgwMCwweGI5LDB4MGMsMHgyMiwweDQyLDB4MGIsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGJhYjAsIDAsIHsweDAwLDB4NmUsMHg0MCwweDBiLDB4OTYsMHgwMiwweGU0LDB4MTEsMHg4OSwweDIwLDB4NmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGJhYzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHhjMCwweGE5LDB4YzAsMHgzZSwweDUwIH0sCi0gIDE2LCAweGJhZDAsIDAsIHsweDA4LDB4OWMsMHg4MywweGU0LDB4MDIsMHhlOSwweDAwLDB4YjIsMHg0MCwweDJhLDB4OTIsMHgxMiwweDI2LDB4NDAsMHhmOSwweDQwIH0sCi0gIDE2LCAweGJhZTAsIDAsIHsweDM2LDB4NzAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDA0LDB4ZjksMHgwMSwweDNjLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhlNiwweDAyIH0sCi0gIDE2LCAweGJhZjAsIDAsIHsweGM5LDB4MjIsMHgzZSwweDQwLDB4MGYsMHgxMCwweDAyLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiMDAsIDAsIHsweDI4LDB4MDEsMHg4NiwweDA0LDB4ZDksMHg0MCwweDFjLDB4NDAsMHgwZiwweDkyLDB4MjMsMHhhNCwweGIwLDB4ZGIsMHgwNCwweDNjIH0sCi0gIDE2LCAweGJiMTAsIDAsIHsweGMwLDB4MGQsMHg5YSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQ0LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGJiMjAsIDAsIHsweDAwLDB4M2UsMHg0MiwweDJjLDB4OTAsMHgyMywweGU0LDB4ODAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDhmLDB4OTIsMHgwMywweDkyIH0sCi0gIDE2LCAweGJiMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGM4LDB4MjAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGJiNDAsIDAsIHsweDRjLDB4YzAsMHg4YiwweDIwLDB4MDIsMHhjOCwweDMxLDB4MzIsMHgyMCwweDJkLDB4ODQsMHgwMywweGUxLDB4MDQsMHhmOCwweDQ4IH0sCi0gIDE2LCAweGJiNTAsIDAsIHsweGJhLDB4MDAsMHgwZiwweDg5LDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZCwweDgxLDB4MTMsMHgyMCwweDEwIH0sCi0gIDE2LCAweGJiNjAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MGYsMHg4MSwweDIzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4MGUsMHg0MCwweDIyLDB4ODAsMHgyOCwweGE0LDB4MDIsMHgxOSwweDAwLDB4NTIsMHg4MCwweGEyIH0sCi0gIDE2LCAweGJiODAsIDAsIHsweDgwLDB4NGQsMHhlZCwweDgyLDB4ZTgsMHgwMCwweGI2LDB4NDIsMHgyMywweGJkLDB4MGIsMHhlOCwweDAyLDB4ZTgsMHgwNCwweGRhIH0sCi0gIDE2LCAweGJiOTAsIDAsIHsweDAwLDB4MzcsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDNhLDB4MjAsMHhiYSwweDAwLDB4MjIsMHg4MCwweDBiLDB4YTgsMHgwYSwweDBhIH0sCi0gIDE2LCAweGJiYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4ODAsMHg2MCwweGMwIH0sCi0gIDE2LCAweGJiYjAsIDAsIHsweDA4LDB4MjksMHgwMiwweDBkLDB4MDAsMHg5MiwweDQwLDB4MjQsMHhjMCwweDA4LDB4YjQsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGJiYzAsIDAsIHsweDY4LDB4ZTAsMHgxYiwweDMwLDB4MDIsMHhjYywweDAwLDB4OTMsMHgwMSwweDI0LDB4YzAsMHg2OSwweDM4LDB4MDIsMHg2YywweDAwIH0sCi0gIDE2LCAweGJiZDAsIDAsIHsweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiZTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4ODMsMHhjMCwweDIwLDB4NDAsMHgwOCwweDI4LDB4MDYsMHg5YywweDE4LDB4OWMsMHgwMiwweDI0IH0sCi0gIDE2LCAweGJiZjAsIDAsIHsweGMwLDB4MDksMHg3MCwweDAyLDB4ZDQsMHgwMCwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4Y2UsMHg0MCwweDk3IH0sCi0gIDE2LCAweGJjMDAsIDAsIHsweGIwLDB4MjUsMHg0MCwweDA4LDB4NzgsMHgxYSwweDU4LDB4MDAsMHhiZiwweGEyLDB4NjUsMHhjOCwweDBiLDB4NzgsMHgwMiwweDIwIH0sCi0gIDE2LCAweGJjMTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MGUsMHgwMiwweDg3LDB4ODAsMHhiMSwweGEwIH0sCi0gIDE2LCAweGJjMjAsIDAsIHsweDBjLDB4NjgsMHgwMywweDFhLDB4MDgsMHhkNiwweDkyLDB4MzUsMHhlNCwweDI4LDB4NzgsMHg0MiwweGQ2LDB4MTAsMHhmNSwweDgwIH0sCi0gIDE2LCAweGJjMzAsIDAsIHsweDM5LDB4YTAsMHgwZiwweDc4LDB4MjMsMHhkZSwweDMwLDB4ZDMsMHhhMiwweDM1LDB4YTAsMHg0ZCwweGU4LDB4MDMsMHg1ZSwweDAwIH0sCi0gIDE2LCAweGJjNDAsIDAsIHsweGY3LDB4ZDAsMHgzZCwweGY4LDB4MGYsMHhmMCwweDAzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjNTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwNCwweDNlLDB4MDAsMHgwYiwweGEwLDB4MDMsMHg0OCwweDA0LDB4ZmEsMHg0MSwweDNhIH0sCi0gIDE2LCAweGJjNjAsIDAsIHsweDUwLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZWQsMHg4OCwweGZiIH0sCi0gIDE2LCAweGJjNzAsIDAsIHsweDRkLDB4M2UsMHgwMCwweDBmLDB4ZjAsMHgwMywweGJjLDB4MDgsMHhmYiwweDIwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGJjODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGRjLDB4ODAsMHhiMywweGUwIH0sCi0gIDE2LCAweGJjOTAsIDAsIHsweDBjLDB4ZDgsMHgwMywweGNlLDB4MDAsMHhjOCwweGEwLDB4MzEsMHhhMCwweDhkLDB4ZTksMHgwMywweGJlLDB4MDAsMHhiMiwweDgwIH0sCi0gIDE2LCAweGJjYTAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGU4LDB4NDMsMHg3ZSwweDA0LDB4MGYsMHg4MSwweDMxLDB4ZTQsMHgwYywweGQ4LDB4MDMsMHhmNiwweDAwIH0sCi0gIDE2LCAweGJjYjAsIDAsIHsweGZmLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDAzLDB4MDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjYzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4YjQsMHg0MCwweDM1LDB4NDAsMHgwOCwweDUwLDB4ODIsMHhkZSwweDgwLDB4ZDQsMHg5MCwweDIxIH0sCi0gIDE2LCAweGJjZDAsIDAsIHsweGUwLDB4MGQsMHg1MSwweDAyLDB4ZDQsMHg0MCwweGI2LDB4YjAsMHgyYiwweDkwLDB4MGUsMHhlNSwweDAyLDB4OWMsMHg0MCwweGQ3IH0sCi0gIDE2LCAweGJjZTAsIDAsIHsweDIyLDB4MTksMHg1YywweDBkLDB4NzAsMHgwMiwweGQ4LDB4MDAsMHhiNywweDIwLDB4MmQsMHhjMCwweDBiLDB4ZjAsMHgwMywweDZhIH0sCi0gIDE2LCAweGJjZjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDkzLDB4MTAsMHgyMSwweDgwIH0sCi0gIDE2LCAweGJkMDAsIDAsIHsweDA4LDB4NTgsMHgwMiwweGRjLDB4YzAsMHg5NCwweDAwLDB4MjMsMHhkMCwweDA4LDB4NzAsMHhhMCwweGQ0LDB4MjAsMHhiNSwweDAyIH0sCi0gIDE2LCAweGJkMTAsIDAsIHsweDI5LDB4ODAsMHgwOSwweDYwLDB4ODIsMHgwYywweDAwLDB4ODcsMHgwMiwweDI1LDB4YzAsMHgxOSwweDQwLDB4MDIsMHhkNCwweDAwIH0sCi0gIDE2LCAweGJkMjAsIDAsIHsweGI3LDB4MDAsMHg2ZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkMzAsIDAsIHsweDIwLDB4MTQsMHhlYywweDAwLDB4YjMsMHhjMCwweDIwLDB4MDEsMHg0OCwweDE4LDB4MDIsMHhjYywweDAyLDB4ODEsMHg0NCwweGEwIH0sCi0gIDE2LCAweGJkNDAsIDAsIHsweGMwLDB4ODksMHgzOCwweDAyLDB4YzcsMHg4MCwweGIxLDB4MDAsMHgyYywweDA5LDB4NGEsMHgwMCwweDYyLDB4YWMsMHgwOSwweDkzIH0sCi0gIDE2LCAweGJkNTAsIDAsIHsweDAxLDB4MjgsMHg0MCwweDE5LDB4MzAsMHgwMiwweGNkLDB4MTAsMHhiMywweDkwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGM4IH0sCi0gIDE2LCAweGJkNjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgyMCwweGRiLDB4NjIsMHgyMiwweGUwIH0sCi0gIDE2LCAweGJkNzAsIDAsIHsweDZjLDB4YTAsMHgwMywweGU0LDB4MDAsMHg5OCwweDAwLDB4MzIsMHhjMCwweGVjLDB4OTgsMHgyMywweGFlLDB4MDgsMHhmYiwweDA4IH0sCi0gIDE2LCAweGJkODAsIDAsIHsweDNhLDB4NzgsMHgwOSwweDkwLDB4MDMsMHg3YywweDEwLDB4Y2YsMHgwMCwweDI2LDB4NDAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwIH0sCi0gIDE2LCAweGJkOTAsIDAsIHsweGZmLDB4ODAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDIwLDB4ZmIsMHg0OCwweDNjLDB4NjEsMHgwZiwweGEwLDB4NDMsMHhlZCwweDAwLDB4ZjgsMHgyNCwweDNlIH0sCi0gIDE2LCAweGJkYjAsIDAsIHsweDUwLDB4MGYsMHg5MCwweDgzLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHgzYSwweDUwLDB4MGYsMHg4MCwweDQzLDB4ZWMsMHgwOCwweGZiIH0sCi0gIDE2LCAweGJkYzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4NDAsMHgwMywweGYwLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMSwweDBmLDB4OTAsMHgwMywweDYwIH0sCi0gIDE2LCAweGJkZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGRkLDB4YTAsMHgzMiwweDgwIH0sCi0gIDE2LCAweGJkZTAsIDAsIHsweDBjLDB4ZTAsMHgwMSwweGZjLDB4MDAsMHhkYywweDkxLDB4MzksMHhjMCwweDNjLDB4NDAsMHgwMywweDM0LDB4MDAsMHhmZiwweDgwIH0sCi0gIDE2LCAweGJkZjAsIDAsIHsweDNmLDB4MDAsMHgwZiwweGQwLDB4MDcsMHhmYywweDAwLDB4Y2IsMHgwMCwweDNkLDB4NDAsMHgwYywweGUwLDB4MDMsMHgzOCwweDIwIH0sCi0gIDE2LCAweGJlMDAsIDAsIHsweGNmLDB4MDIsMHgzZCwweGMwLDB4MGMsMHhkMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlMTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4MDEsMHg0MCwweDIyLDB4MDAsMHgyOCwweGEwLDB4MDIsMHhjZSwweDg2LDB4ODMsMHg2NCwweDIyIH0sCi0gIDE2LCAweGJlMjAsIDAsIHsweGY0LDB4MDgsMHg4YywweDBmLDB4NjQsMHgwMCwweGJiLDB4MTAsMHgyZSwweDYwLDB4MGIsMHg5YywweDAzLDB4YWMsMHgwMSwweGRiIH0sCi0gIDE2LCAweGJlMzAsIDAsIHsweDAwLDB4M2UsMHg2MCwweDA4LDB4OGYsMHgwMiwweDIzLDB4NDAsMHg4YiwweDAwLDB4M2EsMHhjMCwweDBkLDB4MTAsMHg0MywweDY4IH0sCi0gIDE2LCAweGJlNDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDk5LDB4MDAsMHhhMiwweGMwIH0sCi0gIDE2LCAweGJlNTAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGE2LDB4MDcsMHg5OCwweDAwLDB4MDIsMHhjMiwweDQ4LDB4ODgsMHgwMiwweDJjLDB4MDAsMHhiYSwweDAyIH0sCi0gIDE2LCAweGJlNjAsIDAsIHsweDZlLDB4NjAsMHgwYSwweDk4LDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMSwweDJlLDB4NjAsMHgwOCwweDkwLDB4MDIsMHgwNSwweDAwIH0sCi0gIDE2LCAweGJlNzAsIDAsIHsweDhiLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiMSwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4ODEsMHgwMCwweDIwLDB4NDAsMHgyOCwweDEwLDB4MjYsMHhjYywweDgwLDB4ODAsMHgyMCwweGEwIH0sCi0gIDE2LCAweGJlOTAsIDAsIHsweGNjLDB4MTgsMHgxNCwweDQyLDB4MDQsMHgwMCwweGIyLDB4MjAsMHg2YywweDQwLDB4MGIsMHgwMCwweDAyLDB4OGMsMHgwMCwweDgzIH0sCi0gIDE2LCAweGJlYTAsIDAsIHsweDAwLDB4MjgsMHg0MCwweDI4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MywweDAwLDB4MjgsMHhjMCwweDA5LDB4YjAsMHgwMiwweDQyIH0sCi0gIDE2LCAweGJlYjAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGQ5LDB4MDAsMHgyMiwweDgwIH0sCi0gIDE2LCAweGJlYzAsIDAsIHsweDBjLDB4OTAsMHgwMywweGFjLDB4ODAsMHhkYSwweDI5LDB4MmEsMHhkMiwweDI4LDB4ODAsMHgwMiwweDI0LDB4MDAsMHhmYiwweDIwIH0sCi0gIDE2LCAweGJlZDAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDkwLDB4MDIsMHhmYywweDAwLDB4OGYsMHgwMCwweDJlLDB4NDAsMHgwYywweDgwLDB4MGIsMHgyMCwweDAyIH0sCi0gIDE2LCAweGJlZTAsIDAsIHsweGNmLDB4MDAsMHgzZSwweGMwLDB4MGMsMHhiMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4MDAsMHgwZiwweGQwLDB4NjMsMHhmYywweDQ5LDB4ZjUsMHgwMCwweDNlIH0sCi0gIDE2LCAweGJmMDAsIDAsIHsweGMwLDB4MGIsMHhjMCwweDAxLDB4ZjQsMHgwMCwweDdmLDB4NDAsMHgzZiwweDQwLDB4MWYsMHhkMCwweDAzLDB4YmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGJmMTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGJmMjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjIsMHg0MCwweGVjLDB4YTAsMHgzZiwweGUwIH0sCi0gIDE2LCAweGJmMzAsIDAsIHsweDBkLDB4NDgsMHgwMywweDdkLDB4ODAsMHhmNCwweDgwLDB4MzMsMHg2YywweDBlLDB4YzgsMHgwMywweDMyLDB4MDAsMHhkZCwweDkwIH0sCi0gIDE2LCAweGJmNDAsIDAsIHsweDNiLDB4YTAsMHgyZCwweGYwLDB4MDMsMHhmYywweGMwLDB4ZmYsMHgwMCwweDNiLDB4ZTAsMHg4ZSwweGYwLDB4MDMsMHgzYywweDA0IH0sCi0gIDE2LCAweGJmNTAsIDAsIHsweGVjLDB4NjAsMHgzMSwweDAwLDB4MGMsMHhmMCwweDAzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmNjAsIDAsIHsweDgwLDB4MTAsMHhlYywweDAwLDB4ZDksMHhjMSwweDJlLDB4ZTEsMHgwZCwweDg4LDB4MDIsMHgzYywweDgwLDB4ZjgsMHg4MCwweDM2IH0sCi0gIDE2LCAweGJmNzAsIDAsIHsweDdkLDB4MTgsMHhhMCwweDAyLDB4MjgsMHhiMCwweGVhLDB4MjAsMHgyMiwweDIwLDB4MDgsMHg3NywweDAyLDB4ZmQsMHg1MCwweGJiIH0sCi0gIDE2LCAweGJmODAsIDAsIHsweDgwLDB4MjIsMHg0MCwweDBiLDB4ZjQsMHg0MiwweDNkLDB4ODAsMHg4OCwweDMxLDB4MjIsMHgxMiwweDA4LDB4ZjYsMHgwMiwweGUwIH0sCi0gIDE2LCAweGJmOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDgwLDB4MTEsMHgyZSwweGMxIH0sCi0gIDE2LCAweGJmYTAsIDAsIHsweDA4LDB4MDAsMHgwMiwweDRkLDB4ODAsMHhiOCwweDAwLDB4MjAsMHgwMCwweDBhLDB4MDIsMHg4MiwweDAwLDB4MDAsMHg5OSwweDIwIH0sCi0gIDE2LCAweGJmYjAsIDAsIHsweDIyLDB4YzAsMHgwOSwweDMwLDB4ODIsMHhjYywweDAwLDB4YjMsMHgwMCwweDI4LDB4Y2EsMHgwYiwweDM0LDB4ODIsMHgwZCwweDIwIH0sCi0gIDE2LCAweGJmYzAsIDAsIHsweDgwLDB4MDAsMHhhMCwweDhjLDB4MDgsMHgzNCwweDgyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDQwLDB4OTksMHg4MCwweDJlLDB4YzIsMHgwOSwweDk0LDB4MDIsMHgyYywweDAwLDB4YTksMHg4MCwweDI2IH0sCi0gIDE2LCAweGJmZTAsIDAsIHsweDYwLDB4MDgsMHgzOCwweDQyLDB4MjIsMHgyMCwweGJhLDB4NDEsMHg2MiwweDQ2LDB4M2IsMHhiMCwweDAyLDB4ZWMsMHgwMSwweGJiIH0sCi0gIDE2LCAweGJmZjAsIDAsIHsweDgwLDB4MjIsMHg0MCwweDBiLDB4YjAsMHg0NiwweDBjLDB4MTgsMHg4OCwweGMwLDB4MjIsMHgyMiwweDA4LDB4YjAsMHgwNiwweGYwIH0sCi0gIDE2LCAweGMwMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4Y2MsMHgwMCwweGM5LDB4ODEsMHgzYywweGMxIH0sCi0gIDE2LCAweGMwMTAsIDAsIHsweDBjLDB4YTksMHgyMywweDZjLDB4MDAsMHhiMiwweDgwLDB4MzIsMHg3OCwweDBhLDB4OGEsMHgwYiwweDI2LDB4MDAsMHg5OSwweDAxIH0sCi0gIDE2LCAweGMwMjAsIDAsIHsweDMwLDB4ZTAsMHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4YjksMHgwMCwweDNhLDB4YzAsMHgxZSwweGIwLDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGMwMzAsIDAsIHsweGNiLDB4ODAsMHgzMiwweDYxLDB4MGMsMHhiMCwweDEzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDEwLDB4ZGQsMHgwMCwweDNmLDB4YzIsMHgwZiwweGU4LDB4MDMsMHhhYywweDAwLDB4ZmUsMHgwMCwweDNkIH0sCi0gIDE2LCAweGMwNTAsIDAsIHsweDQwLDB4MGYsMHhjMCwweDQzLDB4ZjgsMHgxMCwweGVmLDB4MTQsMHhiNywweGUwLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGY1IH0sCi0gIDE2LCAweGMwNjAsIDAsIHsweDAyLDB4M2YsMHg0NCwweDRmLDB4YjAsMHg0YiwweGZjLDB4MDIsMHhkNCwweDA0LDB4M2QsMHg0MCwweDJmLDB4ZjAsMHgwMywweGY4IH0sCi0gIDE2LCAweGMwNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY5LDB4MDgsMHgzZSwweDYwIH0sCi0gIDE2LCAweGMwODAsIDAsIHsweDBkLDB4YTAsMHgwMywweGFjLDB4MDAsMHhlOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4ODQsMHgwMywweGE1LDB4MDAsMHhlOSwweDAwIH0sCi0gIDE2LCAweGMwOTAsIDAsIHsweDNhLDB4ZDgsMHgwZiwweGIwLDB4MDMsMHgyYywweDAwLDB4ZjksMHgwMCwweDNhLDB4YzAsMHgwZiwweDMwLDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGMwYTAsIDAsIHsweGNiLDB4NDQsMHgzZSwweGQ0LDB4MGUsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwYjAsIDAsIHsweGM4LDB4MDUsMHgyYywweDA4LDB4YjksMHg4MCwweDJlLDB4YzAsMHgwYSwweDMwLDB4NDIsMHgzYywweDAwLDB4ODksMHgwNCwweDc2IH0sCi0gIDE2LCAweGMwYzAsIDAsIHsweDYwLDB4MDgsMHg5MCwweDYyLDB4MjAsMHgwMCwweDgyLDB4MDQsMHgyMiwweGQwLDB4MDgsMHhmMCwweDQzLDB4N2MsMHgwMCwweGJiIH0sCi0gIDE2LCAweGMwZDAsIDAsIHsweDgyLDB4MjIsMHg0MCwweDBiLDB4ZjAsMHg0MiwweDNjLDB4MDAsMHg4YSwweGMwLDB4MmUsMHhjMSwweDA4LDB4ZjAsMHgwMiwweGYyIH0sCi0gIDE2LCAweGMwZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgxMCwweGIyLDB4ZDAsMHgyYywweGMwIH0sCi0gIDE2LCAweGMwZjAsIDAsIHsweDI5LDB4MTgsMHgwMiwweDhjLDB4MDQsMHhhMSwweDAwLDB4MjQsMHg5YywweDA4LDB4MTAsMHgwMiwweDgwLDB4MDAsMHhhMSwweDAxIH0sCi0gIDE2LCAweGMxMDAsIDAsIHsweDBjLDB4YzEsMHgyYiwweDMwLDB4NTIsMHg4YywweDA0LDB4YjMsMHgwMSwweDI4LDB4NDAsMHg0YiwweDMwLDB4MDIsMHg0YywweDAwIH0sCi0gIDE2LCAweGMxMTAsIDAsIHsweDkwLDB4MjAsMHgyYywweDIwLDB4MGEsMHgzMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxMjAsIDAsIHsweDIwLDB4NDEsMHgxZSwweDAwLDB4YjcsMHhhMiwweDI1LDB4ZTgsMHg4YSwweDY4LDB4MDIsMHgxZSwweDAwLDB4ODUsMHg4MCwweDI1IH0sCi0gIDE2LCAweGMxMzAsIDAsIHsweDgwLDB4ODgsMHhlOCwweDAyLDB4M2UsMHgwMCwweDg1LDB4ODAsMHgyZiwweGU0LDB4MjgsMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI3IH0sCi0gIDE2LCAweGMxNDAsIDAsIHsweDgwLDB4NjEsMHhlMCwweDAzLDB4NzgsMHgwMiwweDVlLDB4ODIsMHhiNywweDgyLDB4MmQsMHhlMCwweDA4LDB4NzgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGMxNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGQsMHgwMCwweGYwLDB4MTAsMHgzYywweDgwIH0sCi0gIDE2LCAweGMxNjAsIDAsIHsweDBkLDB4MTAsMHg4MywweDhjLDB4MDAsMHhlMiwweDUwLDB4MjYsMHgwNCwweDBjLDB4MTEsMHgwMywweDg4LDB4NDAsMHhlYiwweDAwIH0sCi0gIDE2LCAweGMxNzAsIDAsIHsweDNjLDB4YzQsMHgwZiwweDMwLDB4MDMsMHg4YywweDAwLDB4ZjMsMHgwOCwweDM4LDB4NDAsMHgwNywweDMwLDB4MDMsMHg2ZSwweDQwIH0sCi0gIDE2LCAweGMxODAsIDAsIHsweGQwLDB4MDgsMHgzYywweDg4LDB4MGUsMHgzMCwweDQzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxOTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmIsMHgzNCwweDNjLDB4YzksMHg0ZSwweGIwLDB4MjMsMHhlZCwweDIwLDB4ZmIsMHgwNCwweDNmIH0sCi0gIDE2LCAweGMxYTAsIDAsIHsweGM4LDB4OGYsMHg3MCwweDUzLDB4NGMsMHgwMCwweGViLDB4MTAsMHgzMSwweGM1LDB4MGUsMHhmNCwweDAzLDB4NmQsMHgwMCwweGYzIH0sCi0gIDE2LCAweGMxYjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwYiwweGJjLDB4MDAsMHhjZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHg4MywweGQwIH0sCi0gIDE2LCAweGMxYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4Y2UsMHgwNCwweGM5LDB4MDQsMHhiMCwweGMxIH0sCi0gIDE2LCAweGMxZDAsIDAsIHsweDBmLDB4OTgsMHgxMywweDZjLDB4OTAsMHhjYiwweDAyLDB4M2UsMHhjMCwweDRmLDB4YjAsMHg2MywweGU0LDB4MDAsMHhmMSwweDgwIH0sCi0gIDE2LCAweGMxZTAsIDAsIHsweDEyLDB4YzAsMHgwYywweGI1LDB4MDMsMHhlYywweGMwLDB4Y2YsMHg4MywweDMyLDB4NDAsMHgwZiwweGIzLDB4MjMsMHgyZCwweGE0IH0sCi0gIDE2LCAweGMxZjAsIDAsIHsweGZiLDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiNCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyMDAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgyZCwweDYwLDB4MDIsMHgxYywweDAwLDB4ZDcsMHgwMCwweDM5IH0sCi0gIDE2LCAweGMyMTAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGI1LDB4MDAsMHgyMSwweGMwLDB4MmEsMHg3MCwweDEyLDB4Y2MsMHg4MCwweDg3IH0sCi0gIDE2LCAweGMyMjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDBiLDB4NzIsMHg1MiwweDFjLDB4MDAsMHhiNywweDAwLDB4MmQsMHg0MSwweDBiLDB4MzIsMHgwMiwweDEyIH0sCi0gIDE2LCAweGMyMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4YmUsMHgwMCwweDgxLDB4YzAsMHgyMywweDIwIH0sCi0gIDE2LCAweGMyNDAsIDAsIHsweDBiLDB4ZDgsMHgwMiwweDVlLDB4MDAsMHgwNiwweGMwLDB4MmQsMHhhMCwweDBiLDB4N2MsMHgxMiwweGRlLDB4MDgsMHhiZiwweDgwIH0sCi0gIDE2LCAweGMyNTAsIDAsIHsweGExLDB4ZTIsMHgyYSwweDdhLDB4MDIsMHhkZSwweDAwLDB4OTMsMHg4MCwweDI1LDB4NjAsMHgwYiwweDc4LDB4MWUsMHg1ZSwweDUwIH0sCi0gIDE2LCAweGMyNjAsIDAsIHsweGI3LDB4ODAsMHgyZCwweGEwLDB4MGIsMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyNzAsIDAsIHsweDQ4LDB4MTQsMHhjZSwweDAwLDB4ODMsMHg2MCwweDIwLDB4YzAsMHgwOSwweDMxLDB4MDIsMHgyYywweDAwLDB4OTMsMHgwMCwweDI4IH0sCi0gIDE2LCAweGMyODAsIDAsIHsweGMwLDB4MWIsMHhiMCwweDA2LDB4Y2MsMHg4MCwweGIzLDB4NDgsMHgyMCwweGYwLDB4MGEsMHgzMCwweDAyLDB4ZWMsMHgwMCwweDkzIH0sCi0gIDE2LCAweGMyOTAsIDAsIHsweDgwLDB4MjQsMHhjMCwweDBiLDB4YjAsMHgwMiwweDRjLDB4MTAsMHhiMywweGM4LDB4MmMsMHhkMiwweDhiLDB4MzAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGMyYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmIsMHgwMCwweGM2LDB4YzQsMHgzMSwweDgxIH0sCi0gIDE2LCAweGMyYjAsIDAsIHsweDBmLDB4ZTAsMHgwMywweDY4LDB4MDAsMHhjZSwweDgwLDB4M2YsMHhhMiwweDBiLDB4ZTgsMHgwMywweGY5LDB4MDAsMHhmZSwweDQwIH0sCi0gIDE2LCAweGMyYzAsIDAsIHsweDMxLDB4ODAsMHg2ZSwweGEwLDB4MDcsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDI2LDB4ODEsMHgwZiwweGEwLDB4MDIsMHg2OCwweDAxIH0sCi0gIDE2LCAweGMyZDAsIDAsIHsweGY2LDB4ZTAsMHgzZCwweDkyLDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweGMyLDB4ZjgsMHgwNCwweDNlLDB4MTQsMHgwZiwweDgwLDB4MTMsMHhlMCwweDEwLDB4ZjgsMHgwMSwweDNlIH0sCi0gIDE2LCAweGMyZjAsIDAsIHsweDEwLDB4MGYsMHg4MCwweDQzLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgzZSwweDAwLDB4NDcsMHg4MCwweDAzLDB4ZTAsMHgwMiwweGU4IH0sCi0gIDE2LCAweGMzMDAsIDAsIHsweDEwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwNywweGEwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBmLDB4ODAsMHgwYiwweGQyIH0sCi0gIDE2LCAweGMzMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDEsMHgzMiwweDQwIH0sCi0gIDE2LCAweGMzMjAsIDAsIHsweDhjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MiwweDBmLDB4OTAsMHgwMywweGE0LDB4MDAsMHhjOSwweDAwIH0sCi0gIDE2LCAweGMzMzAsIDAsIHsweDNlLDB4NDIsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHg2NCwweDAwIH0sCi0gIDE2LCAweGMzNDAsIDAsIHsweGY5LDB4OTAsMHgzMiwweDQxLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzNTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHhjOCwweGEyLDB4NjAsMHgwYSwweDkyLDB4MDIsMHhlNCwweDAwLDB4ODksMHg0MCwweDJlIH0sCi0gIDE2LCAweGMzNjAsIDAsIHsweDU4LDB4MGIsMHg5MCwweDAyLDB4MDQsMHgwMCwweGQ5LDB4MDAsMHgyZSwweDQyLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwNCwweDg5IH0sCi0gIDE2LCAweGMzNzAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwNiwweDI0LDB4MDQsMHhiOSwweDA4LDB4MmEsMHg0MCwweDQ4LDB4OTAsMHgxMiwweDIwIH0sCi0gIDE2LCAweGMzODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MTAsMHgyMiwweDQ0IH0sCi0gIDE2LCAweGMzOTAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0NSwweDhiLDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwIH0sCi0gIDE2LCAweGMzYTAsIDAsIHsweDJhLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAwLDB4OTksMHg4MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MjYsMHgyNCwweDAwIH0sCi0gIDE2LCAweGMzYjAsIDAsIHsweGI5LDB4MDEsMHgyMiwweDcwLDB4MDksMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzYzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDA4LDB4YjEsMHgyMCwweDIwLDB4NDAsMHgwYSwweDEwLDB4MDIsMHhjNCwweDgwLDB4ODMsMHgwMCwweDJjIH0sCi0gIDE2LCAweGMzZDAsIDAsIHsweDUwLDB4NGIsMHgxMCwweDAyLDB4MjQsMHgwMCwweDkxLDB4MDAsMHgyZSwweDQwLDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MSwweDgxIH0sCi0gIDE2LCAweGMzZTAsIDAsIHsweGEyLDB4NmMsMHg0MCwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHhiOSwweDIwLDB4MmEsMHg0OCwweDI5LDB4MTIsMHgwMiwweDAyIH0sCi0gIDE2LCAweGMzZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4MDAsMHgzMiwweDgwIH0sCi0gIDE2LCAweGM0MDAsIDAsIHsweDA4LDB4ODAsMHgwMywweGUxLDB4NDIsMHhjOCwweDAwLDB4MzIsMHgwMCwweDFmLDB4ODUsMHgwMywweGExLDB4NDAsMHhjOCwweDUwIH0sCi0gIDE2LCAweGM0MTAsIDAsIHsweDNhLDB4MDAsMHg4ZCwweDg1LDB4MDMsMHg2MSwweDQwLDB4ZDgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDA1LDB4MDMsMHgyMSwweDQwIH0sCi0gIDE2LCAweGM0MjAsIDAsIHsweGY4LDB4NTAsMHgzMiwweDE0LDB4MGQsMHg4NSwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0MzAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDA0LDB4ZmQsMHgxMCwweDNmLDB4NDAsMHgwZiwweDUwLDB4MDMsMHhjNCwweDQwLDB4ZmQsMHgwMCwweDNmIH0sCi0gIDE2LCAweGM0NDAsIDAsIHsweDUxLDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGZmLDB4MDEsMHgzZCwweDQwLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkIH0sCi0gIDE2LCAweGM0NTAsIDAsIHsweDEwLDB4M2YsMHg0YSwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDEwLDB4M2YsMHg0NCwweDBlLDB4OTEsMHgwMywweGU2IH0sCi0gIDE2LCAweGM0NjAsIDAsIHsweDAyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YzUsMHgwMCwweGNkLDB4MDAsMHgzMSwweDQwIH0sCi0gIDE2LCAweGM0NzAsIDAsIHsweDBkLDB4ZDAsMHg0MywweGU0LDB4MDAsMHhjZCwweDAwLDB4MzMsMHg0MCwweDRmLDB4MTEsMHgwMiwweGU0LDB4MDQsMHhjMSwweDAwIH0sCi0gIDE2LCAweGM0ODAsIDAsIHsweDNkLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZWQsMHhhNCwweDMyLDB4NTAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwIH0sCi0gIDE2LCAweGM0OTAsIDAsIHsweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0YTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDA4LDB4ZDgsMHgwMCwweDMyLDB4MDEsMHgwMCwweDgwLDB4MTIsMHhjMCwweDAwLDB4NDgsMHgwMCwweDM2IH0sCi0gIDE2LCAweGM0YjAsIDAsIHsweDgwLDB4MGIsMHg4YSwweDAyLDB4ZTAsMHgwMCwweGE4LDB4MDAsMHgyZSwweDAwLDB4MGYsMHg4MCwweDAyLDB4ZTAsMHgwMCwweDg4IH0sCi0gIDE2LCAweGM0YzAsIDAsIHsweDUwLDB4MzQsMHgyOCwweDBiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDBiLDB4ODAsMHgwMiwweGNlIH0sCi0gIDE2LCAweGM0ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweDgxLDB4MDAsMHgyNiwweDQwIH0sCi0gIDE2LCAweGM0ZTAsIDAsIHsweDA5LDB4MTgsMHgwMiwweGM0LDB4MDgsMHgyMSwweDAwLDB4MjgsMHg0MCwweDhiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDAxIH0sCi0gIDE2LCAweGM0ZjAsIDAsIHsweDJlLDB4NDAsMHgxOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4YTEsMHgwMSwweDIwLDB4NDgsMHgxYiwweDEwLDB4MDIsMHhjNCwweDAwIH0sCi0gIDE2LCAweGM1MDAsIDAsIHsweGIxLDB4MDAsMHg2YywweDQwLDB4MGIsMHgxMCwweDEyLDB4YzIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1MTAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4OTksMHg4MCwweGEyLDB4NDIsMHg0OCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YTksMHgyYSwweDI2IH0sCi0gIDE2LCAweGM1MjAsIDAsIHsweDQ0LDB4MGIsMHg5MCwweDgyLDB4YzQsMHg4MSwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQyLDB4YzQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGM1MzAsIDAsIHsweDAwLDB4MjYsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAxLDB4MmUsMHg0MSwweDBiLDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweGM1NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4YzUsMHgyMCwweGM5LDB4ODQsMHgzMCwweDcwIH0sCi0gIDE2LCAweGM1NTAsIDAsIHsweDBkLDB4OTAsMHgxMywweGU0LDB4MDIsMHhlOSwweDAwLDB4MzIsMHg3MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDAsMHhmOSwweDQwIH0sCi0gIDE2LCAweGM1NjAsIDAsIHsweDNjLDB4NDgsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTEsMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDEsMHhlNCwweDAwIH0sCi0gIDE2LCAweGM1NzAsIDAsIHsweGY5LDB4OTAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDI2LDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1ODAsIDAsIHsweDI4LDB4MDEsMHhhNSwweDAwLDB4ZjEsMHgwNCwweDNhLDB4NDQsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDEwLDB4YzksMHgwNCwweDNlIH0sCi0gIDE2LCAweGM1OTAsIDAsIHsweDYwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgxMCwweGY5IH0sCi0gIDE2LCAweGM1YTAsIDAsIHsweDkwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg2NCwweDBmLDB4OTAsMHgwNywweGNhIH0sCi0gIDE2LCAweGM1YjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGM4LDB4MDQsMHgzYSwweDAwIH0sCi0gIDE2LCAweGM1YzAsIDAsIHsweDFlLDB4ODAsMHgwMywweDgwLDB4MDMsMHhjOCwweDQwLDB4MmEsMHgwNCwweDFmLDB4ODAsMHgwMywweDIwLDB4MDAsMHg4OCwweDAwIH0sCi0gIDE2LCAweGM1ZDAsIDAsIHsweDMyLDB4MzAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwIH0sCi0gIDE2LCAweGM1ZTAsIDAsIHsweGM4LDB4ODAsMHgzZSwweDIwLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1ZjAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4YWUsMHhkMCwweDM3LDB4ODAsMHgwOCwweGVjLDB4NDYsMHgzOCwweDAwLDB4ZDYsMHgwNCwweDIzIH0sCi0gIDE2LCAweGM2MDAsIDAsIHsweGEwLDB4MGIsMHhhMCwweDQxLDB4NzgsMHgwNCwweGZhLDB4MDAsMHgzNywweDgwLDB4MGQsMHhhMCwweDAyLDB4YTgsMHgxMCwweGVlIH0sCi0gIDE2LCAweGM2MTAsIDAsIHsweDIxLDB4MmUsMHg4MCwweDA4LDB4YTAsMHgwMiwweGU4LDB4MDgsMHg4ZSwweDgwLDB4MmYsMHhhMCwweDhiLDB4YTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweGM2MjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4NGMsMHgwMiwweDgzLDB4YzAsMHhhOCwweGU4IH0sCi0gIDE2LCAweGM2MzAsIDAsIHsweDRhLDB4MzYsMHgwMiwweDhjLDB4MDAsMHgxMywweGEwLDB4MjgsMHhjMiwweDBiLDB4MzAsMHgwNiwweDBjLDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGM2NDAsIDAsIHsweDI0LDB4ODQsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgyMCwweDI4LDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweGM2NTAsIDAsIHsweDgzLDB4ODAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2NjAsIDAsIHsweGEwLDB4MDEsMHgzYywweDQ0LDB4YWYsMHg0MCwweDI1LDB4YzIsMHg0OCwweGY4LDB4ODIsMHgxYywweGM4LDB4OWYsMHgwOCwweDIxIH0sCi0gIDE2LCAweGM2NzAsIDAsIHsweGMwLDB4OGIsMHhmOCwweDAyLDB4NWMsMHgwMCwweGJmLDB4YjAsMHgyNywweDgwLDB4MDksMHgzYSwweDAyLDB4OWMsMHgwMCwweGE1IH0sCi0gIDE2LCAweGM2ODAsIDAsIHsweDAyLDB4MmQsMHhlOCwweDA5LDB4NzAsMHgwMiwweGNlLDB4ODAsMHg4NSwweDA4LDB4MmQsMHhjMiwweDBiLDB4NzMsMHgwMiwweGU4IH0sCi0gIDE2LCAweGM2OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODIsMHhhOSwweGUwIH0sCi0gIDE2LCAweGM2YTAsIDAsIHsweDBhLDB4NzgsMHgwMiwweDllLDB4NDAsMHg5NywweDg0LDB4MzksMHhhMCwweDBiLDB4N2EsMHg4MywweDNmLDB4ODAsMHhkNywweDkxIH0sCi0gIDE2LCAweGM2YjAsIDAsIHsweDM1LDB4YTAsMHgwZCwweDdhLDB4MDksMHgxZSwweDQ0LDB4ZjcsMHg4MCwweDNkLDB4ZTgsMHgyZCwweDdhLDB4MDMsMHhkZSwweDgyIH0sCi0gIDE2LCAweGM2YzAsIDAsIHsweGM2LDB4ODAsMHgzZCwweDIwLDB4NGIsMHg3YiwweDIzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2ZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZDMsMHgwMCwweDNlLDB4YzEsMHgwZiwweDMwLDB4MDMsMHhlZCwweDgwLDB4ZTMsMHgwMCwweDNlIH0sCi0gIDE2LCAweGM2ZTAsIDAsIHsweDgwLDB4MGYsMHhiNiwweDIxLDB4ZWMsMHgwOCwweGRiLDB4MjEsMHgzZSwweDgwLDB4MGYsMHhiNSwweDAzLDB4NmMsMHg0MCwweGY5IH0sCi0gIDE2LCAweGM2ZjAsIDAsIHsweDAwLDB4M2UsMHhkYywweDBlLDB4YjIsMHgwMywweGVkLDB4NDAsMHhmOSwweDAyLDB4M2UsMHg4MCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGM3MDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGNmLDB4ODAsMHgzZCwweGUwIH0sCi0gIDE2LCAweGM3MTAsIDAsIHsweDBmLDB4YzgsMHg0MywweGZlLDB4MDAsMHhmZSwweDg0LDB4M2YsMHhlMCwweDBkLDB4ZjgsMHhjMywweGZmLDB4MTAsMHhhZiwweDkwIH0sCi0gIDE2LCAweGM3MjAsIDAsIHsweDM1LDB4YTAsMHgwYywweGZjLDB4MDMsMHgzZSwweDE0LDB4ZWMsMHg4NCwweDNmLDB4ZjAsMHgwZSwweGZjLDB4YzMsMHhmZiwweDA4IH0sCi0gIDE2LCAweGM3MzAsIDAsIHsweDRmLDB4ODAsMHgzMywweGU0LDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3NDAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ZDcsMHhhMiwweDJkLDB4YzQsMHgwYywweDQxLDB4YzIsMHhkYywweDAwLDB4NzQsMHgwMCwweDI1IH0sCi0gIDE2LCAweGM3NTAsIDAsIHsweDgwLDB4MGYsMHg3MiwweDQyLDB4ZGMsMHg5MCwweGQ3LDB4MzgsMHgyZCwweDk4LDB4MGEsMHg3MCwweDAyLDB4MWMsMHgwNCwweDg2IH0sCi0gIDE2LCAweGM3NjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4NzAsMHgwMiwweGNjLDB4MDAsMHg4NiwweDA4LDB4MzcsMHhjNiwweDI4LDB4NzAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGM3NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg3LDB4NjAsMHgyZCwweGMyIH0sCi0gIDE2LCAweGM3ODAsIDAsIHsweDBhLDB4NTAsMHgwMiwweGRjLDB4MDAsMHhiNiwweDEwLDB4MjUsMHhjMiwweDA5LDB4NzAsMHg4NiwweGRjLDB4MzAsMHg5NywweDAwIH0sCi0gIDE2LCAweGM3OTAsIDAsIHsweDI1LDB4ODAsMHgwOCwweDMwLDB4MDIsMHg1YywweDAwLDB4ODcsMHgwOCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjYywweDQwIH0sCi0gIDE2LCAweGM3YTAsIDAsIHsweDg2LDB4MDAsMHgyMSwweDAwLDB4MDksMHg3MCwweDBhLDB4MDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3YjAsIDAsIHsweDIwLDB4MTQsMHhlZCwweDgwLDB4OTMsMHgwMCwweDBjLDB4ZTEsMHgyOCwweDE4LDB4MDIsMHhjYywweDA4LDB4YTAsMHgwMCwweDI0IH0sCi0gIDE2LCAweGM3YzAsIDAsIHsweDEyLDB4MWEsMHgzNCwweDAyLDB4Y2YsMHgwNCwweDkzLDB4NDAsMHgyYywweDgwLDB4MGEsMHhiMCwweDIyLDB4NGMsMHgwMiwweDgxIH0sCi0gIDE2LCAweGM3ZDAsIDAsIHsweDgwLDB4MjgsMHhlMCwweDI4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHg4OCwweDgyLDB4MjQsMHgyMCwweDA4LDB4YjAsMHgwMiwweDA4IH0sCi0gIDE2LCAweGM3ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmYsMHgyMCwweGM5LDB4ZTAsMHgyYywweGYxIH0sCi0gIDE2LCAweGM3ZjAsIDAsIHsweDBlLDB4YmQsMHgwMywweGZjLDB4MDAsMHhiOSwweDQwLDB4MzYsMHg0MCwweDA5LDB4ZjUsMHgwMiwweGZkLDB4NDAsMHhmZiwweDgwIH0sCi0gIDE2LCAweGM4MDAsIDAsIHsweDM2LDB4YTIsMHgwOCwweGYwLDB4MGIsMHg3YywweDAwLDB4ZWIsMHg4MCwweDJmLDB4ZTAsMHgwYSwweGYwLDB4NDMsMHhmYywweDAyIH0sCi0gIDE2LCAweGM4MTAsIDAsIHsweDhiLDB4ZDAsMHgzMiwweGYwLDB4MGQsMHhmMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4MjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4YzgsMHgwZiwweDk0LDB4MTMsMHhlYywweDAwLDB4ZjksMHg0MCwweDM2IH0sCi0gIDE2LCAweGM4MzAsIDAsIHsweDQwLDB4MWYsMHhiMCwweDAzLDB4ZWMsMHgxMCwweGZiLDB4MDEsMHgzZSwweGQwLDB4MGYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGY5IH0sCi0gIDE2LCAweGM4NDAsIDAsIHsweDAwLDB4M2UsMHhjNCwweDBmLDB4YjAsMHgwMSwweGVjLDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0OCwweDBmLDB4YjAsMHgwMywweGUwIH0sCi0gIDE2LCAweGM4NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweGMwIH0sCi0gIDE2LCAweGM4NjAsIDAsIHsweDBjLDB4ZTAsMHgwNywweGZjLDB4MDAsMHhmYywweDBhLDB4MjcsMHgwMCwweDRmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA4IH0sCi0gIDE2LCAweGM4NzAsIDAsIHsweDMzLDB4ODAsMHgwYywweGYwLDB4MDAsMHgyYywweDAwLDB4NWYsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4MDEsMHhmYywweDAwIH0sCi0gIDE2LCAweGM4ODAsIDAsIHsweGZlLDB4MDAsMHgyMywweDQwLDB4MGYsMHhiMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4OTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHg4NiwweDJlLDB4ZTAsMHg0OCwweDhmLDB4MDIsMHhlYywweDA4LDB4YjgsMHhhMCwweDM2IH0sCi0gIDE2LCAweGM4YTAsIDAsIHsweDMwLDB4NGIsMHhiMCwweDAzLDB4YWMsMHgwYywweDliLDB4MDIsMHgzYywweGEwLDB4MGMsMHhiMCwweDQzLDB4NmMsMHgwMCwweGIxIH0sCi0gIDE2LCAweGM4YjAsIDAsIHsweDAwLDB4MjgsMHhjMCwweDBkLDB4YjAsMHgxMiwweGVjLDB4MTAsMHhiOSwweDgwLDB4YTIsMHg2MSwweDBiLDB4YjAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGM4YzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDliLDB4ODgsMHgyZSwweGUwIH0sCi0gIDE2LCAweGM4ZDAsIDAsIHsweDA4LDB4YTAsMHgwMiwweGVjLDB4MDEsMHhiYiwweDgwLDB4MjYsMHg2MiwweDBiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiMywweDAxIH0sCi0gIDE2LCAweGM4ZTAsIDAsIHsweDJhLDB4MjEsMHgwOCwweGIwLDB4MTIsMHgyYywweDAwLDB4YjgsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MTIsMHhlYywweDE0IH0sCi0gIDE2LCAweGM4ZjAsIDAsIHsweGI5LDB4ODQsMHgyMiwweGEyLDB4MGIsMHhiMCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5MDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4OTMsMHgwMCwweDJjLDB4ZTAsMHgwOCwweDAwLDB4MDIsMHhjYywweDA5LDB4OTEsMHgwMCwweDIwIH0sCi0gIDE2LCAweGM5MTAsIDAsIHsweDQwLDB4MGIsMHgzMCwweDA2LDB4NGMsMHgwNCwweDEzLDB4MDAsMHgyNiwweDAwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIyIH0sCi0gIDE2LCAweGM5MjAsIDAsIHsweDAwLDB4MmEsMHhjMCwweDAxLDB4MzAsMHgwMCwweGNkLDB4MDAsMHhiMCwweDAwLDB4MjAsMHg4MCwweDBiLDB4MzAsMHgwYSwweDAyIH0sCi0gIDE2LCAweGM5MzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGRiLDB4MjQsMHg2ZSwweGMwIH0sCi0gIDE2LCAweGM5NDAsIDAsIHsweDJjLDB4YTAsMHgwMiwweGZjLDB4MDAsMHhiYSwweDA0LDB4MjYsMHg0MCwweDRmLDB4ZjAsMHg1NywweGZjLDB4MDAsMHgzZiwweDAxIH0sCi0gIDE2LCAweGM5NTAsIDAsIHsweDNhLDB4MDAsMHgyYywweGYwLDB4MDEsMHgzYywweDAwLDB4ZGIsMHgwMCwweDMzLDB4YzAsMHg4NCwweGYwLDB4MDMsMHhmZCwweDA4IH0sCi0gIDE2LCAweGM5NjAsIDAsIHsweGZhLDB4MDAsMHgzMiwweDAwLDB4MGYsMHhmMCwweDAzLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5NzAsIDAsIHsweGEwLDB4MTksMHhkYywweDAwLDB4ZWEsMHg0MCwweDNmLDB4MDAsMHgwNywweGMwLDB4MDMsMHhmYywweDA0LDB4ZmMsMHgwMCwweDNmIH0sCi0gIDE2LCAweGM5ODAsIDAsIHsweDQwLDB4MGYsMHhmMCwweDAzLDB4OWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGUsMHhmMCwweDAzLDB4N2MsMHgwMCwweGZkIH0sCi0gIDE2LCAweGM5OTAsIDAsIHsweDAwLDB4M2YsMHhjMSwweDBmLDB4ZjAsMHgwMywweGZjLDB4ODQsMHhmNCwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGM5YTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjAsMHg4MCwweGZmLDB4MDAsMHgwMywweGMyIH0sCi0gIDE2LCAweGM5YjAsIDAsIHsweDBmLDB4YzIsMHgwMywweDNlLDB4MDAsMHhkZiwweGMwLDB4M2UsMHhjMCwweDRkLDB4ZGIsMHgwMiwweGIwLDB4YzAsMHhkYywweDMwIH0sCi0gIDE2LCAweGM5YzAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGRiLDB4MjMsMHhmNiwweDIwLDB4ZmYsMHgyNiwweDMzLDB4ZTAsMHgwZiwweDUyLDB4MDMsMHg1ZSwweDAwIH0sCi0gIDE2LCAweGM5ZDAsIDAsIHsweGZmLDB4ODAsMHgzMywweGMwLDB4NGMsMHg0OSwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5ZTAsIDAsIHsweDgwLDB4MTAsMHhlMSwweGUwLDB4YjcsMHgwOCwweDIzLDB4ZjAsMHgwYiwweGFkLDB4MGEsMHgyZSwweDAwLDB4OWEsMHgwNCwweDJlIH0sCi0gIDE2LCAweGM5ZjAsIDAsIHsweGIwLDB4MDksMHg4ZiwweDAzLDB4YTAsMHg0MCwweGI5LDB4MzAsMHgyZSwweGEwLDB4MGIsMHg5ZiwweDAzLDB4YTcsMHgwMCwweGJiIH0sCi0gIDE2LCAweGNhMDAsIDAsIHsweDgwLDB4MjYsMHhlMCwweDBiLDB4ZGQsMHgwMiwweDJlLDB4MDAsMHhiYiwweDgwLDB4MjIsMHhmNCwweDBhLDB4OTIsMHgwMiwweGEwIH0sCi0gIDE2LCAweGNhMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzgsMHg4MCwweGIzLDB4MTAsMHgyNCwweGMwIH0sCi0gIDE2LCAweGNhMjAsIDAsIHsweDBiLDB4ODAsMHgwMiwweGFjLDB4MDAsMHhhMywweDI0LDB4MmMsMHhkMCwweDA4LDB4MTAsMHgwNiwweGMwLDB4ODAsMHhiMiwweDAxIH0sCi0gIDE2LCAweGNhMzAsIDAsIHsweDJjLDB4ZWEsMHg0YiwweDAwLDB4MTIsMHhjMiwweDA0LDB4YjMsMHgxMCwweDA4LDB4YzAsMHgwYSwweDkwLDB4MDIsMHgwYywweDAwIH0sCi0gIDE2LCAweGNhNDAsIDAsIHsweDkzLDB4MDQsMHgyNCwweGMwLDB4MDksMHg4MiwweDAyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhNTAsIDAsIHsweGMwLDB4MTUsMHhhNSwweDAwLDB4YmIsMHgwMCwweDIyLDB4YzAsMHgwYiwweDgwLDB4MDIsMHhhYywweDA4LDB4YmIsMHgxOCwweDJlIH0sCi0gIDE2LCAweGNhNjAsIDAsIHsweGUwLDB4MTgsMHg4OCwweDAyLDB4ZWMsMHgwMSwweGJhLDB4MDAsMHgyZSwweDgwLDB4MGIsMHg5OCwweDg2LDB4ZTIsMHgwMCwweGJiIH0sCi0gIDE2LCAweGNhNzAsIDAsIHsweDAwLDB4MjIsMHhjNCwweDBiLDB4OTAsMHgwMiwweDZjLDB4MDAsMHhiYiwweDAwLDB4YTYsMHhjMCwweDBiLDB4OTAsMHgwMCwweGIwIH0sCi0gIDE2LCAweGNhODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZTcsMHgwMCwweGZiLDB4MDAsMHhiMiwweGMwIH0sCi0gIDE2LCAweGNhOTAsIDAsIHsweDBmLDB4YTgsMHgwMywweGFjLDB4MDIsMHhlYiwweDAwLDB4M2UsMHg2MCwweDBkLDB4OWUsMHgwMywweGVjLDB4MDAsMHhkOCwweDQwIH0sCi0gIDE2LCAweGNhYTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDg4LDB4NDMsMHhlMiwweDAwLDB4ZmIsMHgyMCwweDMyLDB4YzAsMHgwZiwweDEwLDB4MGIsMHg2ZiwweDkwIH0sCi0gIDE2LCAweGNhYjAsIDAsIHsweDViLDB4ODIsMHgzNiwweGMwLDB4MmQsMHgwOCwweDAxLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhYzAsIDAsIHsweGUwLDB4MDEsMHhiNywweDA4LDB4ZjcsMHgwMCwweDNmLDB4YzAsMHgwZiwweGY5LDB4MDMsMHg3YywweDA4LDB4Y2YsMHg4MiwweDNjIH0sCi0gIDE2LCAweGNhZDAsIDAsIHsweDAwLDB4YWYsMHhkMCwweDIxLDB4YmMsMHgwOCwweGZkLDB4MTAsMHgzZiwweDgwLDB4OGYsMHhjMCwweDAzLDB4YTQsMHgwMCwweGY3IH0sCi0gIDE2LCAweGNhZTAsIDAsIHsweDAxLDB4YmYsMHhjMCwweDA3LDB4ZDAsMHgwMywweGJkLDB4MzAsMHhmZiwweGE0LDB4MzgsMHhjMCwweDBlLDB4ZGEsMHgwMywweGY4IH0sCi0gIDE2LCAweGNhZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTgsMHgwMCwweGZiLDB4MDAsMHhiMiwweGMxIH0sCi0gIDE2LCAweGNiMDAsIDAsIHsweDBlLDB4ODEsMHgwMywweGVjLDB4NDAsMHhmYiwweDQ0LDB4M2EsMHhjMSwweDBlLDB4OTUsMHgwMywweGUwLDB4MDAsMHhjYiwweDQxIH0sCi0gIDE2LCAweGNiMTAsIDAsIHsweDMyLDB4NGQsMHgwZiwweDgxLDB4MDMsMHhlMCwweDIwLDB4YzksMHgwMCwweDcyLDB4ZTgsMHg0NCwweDkxLDB4MDMsMHg2ZCwweDAwIH0sCi0gIDE2LCAweGNiMjAsIDAsIHsweGNiLDB4MDIsMHgzZSwweGMwLDB4MGMsMHg4MCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiMzAsIDAsIHsweGM4LDB4MDUsMHgyNCwweDAwLDB4YmYsMHgwMCwweDMzLDB4YzQsMHgwOCwweDFkLDB4MDMsMHg4YywweDAwLDB4YmIsMHg5OCwweDM2IH0sCi0gIDE2LCAweGNiNDAsIDAsIHsweDQ4LDB4NGQsMHg5OCwweDIyLDB4ZWQsMHg0MCwweGRiLDB4MDAsMHgzNiwweGIwLDB4MGIsMHg5OCwweDAyLDB4ZTMsMHgwMCwweGRiIH0sCi0gIDE2LCAweGNiNTAsIDAsIHsweDAwLDB4MzIsMHhlMCwweDg4LDB4ZDgsMHgwMiwweDJjLDB4MDIsMHhjMywweDgwLDB4MmYsMHhjMCwweDA4LDB4OTAsMHgwMywweDcyIH0sCi0gIDE2LCAweGNiNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4NDQsMHgwMCwweGIzLDB4MDAsMHgyMCwweGYwIH0sCi0gIDE2LCAweGNiNzAsIDAsIHsweDE4LDB4MDgsMHgwMiwweDRmLDB4ODQsMHhiMSwweGMwLDB4MjQsMHhjMCwweDg5LDB4MDYsMHgwMiwweGM0LDB4MDAsMHg5MSwweDAwIH0sCi0gIDE2LCAweGNiODAsIDAsIHsweDIwLDB4ZjAsMHgxYiwweDE4LDB4ODIsMHhjNiwweDAwLDB4OTMsMHgwMCwweDJjLDB4ZDEsMHgwOCwweDFlLDB4MDIsMHgwZSwweDQ0IH0sCi0gIDE2LCAweGNiOTAsIDAsIHsweDkzLDB4OTQsMHgyYywweGMwLDB4MDgsMHgyMCwweDAyLDB4YjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiYTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4YjcsMHg4MCwweDIwLDB4ZTIsMHgwOCwweDY4LDB4MDYsMHg5ZSwweDgwLDB4YmYsMHg4NCwweDI1IH0sCi0gIDE2LCAweGNiYjAsIDAsIHsweGE4LDB4MDksMHg2OCwweDAyLDB4YzYsMHgwMCwweDkzLDB4YTAsMHg2NSwweGU0LDB4MGIsMHg3OCwweDEyLDB4ZGUsMHgwMCwweDkzIH0sCi0gIDE2LCAweGNiYzAsIDAsIHsweDAwLDB4YTEsMHhlMCwweDA4LDB4ZDgsMHgwMiwweDFlLDB4ZDAsMHhhNywweDgwLDB4MmQsMHhlMCwweDA4LDB4ZjgsMHgwMiwweDQ4IH0sCi0gIDE2LCAweGNiZDAsIDAsIHsweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMCwweGIzLDB4MjAsMHgzMCwweGMwIH0sCi0gIDE2LCAweGNiZTAsIDAsIHsweDBhLDB4MjIsMHgwMiwweGNlLDB4NDAsMHhmMywweGEwLDB4M2MsMHhlOCwweDBiLDB4MzAsMHgwMiwweGMxLDB4MDAsMHhkMCwweGMxIH0sCi0gIDE2LCAweGNiZjAsIDAsIHsweDMwLDB4YzAsMHgwYiwweDIxLDB4MTMsMHhjYywweDIxLDB4ZDMsMHgwMCwweDJjLDB4YzAsMHgyYywweDEwLDB4MGIsMHgwYywweDgwIH0sCi0gIDE2LCAweGNjMDAsIDAsIHsweGQzLDB4NjEsMHgzYywweGM4LDB4MmMsMHgyMCwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjMTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHg0MCwweDNiLDB4YzAsMHgwZiwweGUwLDB4MDMsMHhmYywweDAwLDB4ZjcsMHg1MCwweDdmIH0sCi0gIDE2LCAweGNjMjAsIDAsIHsweGM0LDB4MmUsMHhmMCwweDAzLDB4ZmMsMHg0MCwweGZlLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDQ3LDB4ZmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGNjMzAsIDAsIHsweDAwLDB4N2QsMHhjMiwweDBmLDB4ZDAsMHgwMSwweGJjLDB4ODAsMHg1ZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGNjNDAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGZiLDB4YzAsMHgzMiwweGM4IH0sCi0gIDE2LCAweGNjNTAsIDAsIHsweDBlLDB4ZTAsMHgwMywweGFjLDB4YTAsMHhlYiwweDIwLDB4MzIsMHg0MCwweDhjLDB4YTAsMHgxMywweDJjLDB4MDAsMHhkOSwweDAwIH0sCi0gIDE2LCAweGNjNjAsIDAsIHsweDNlLDB4NjAsMHgwYywweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHg4MCwweDMwLDB4YzAsMHgzYywweDkyLDB4MDMsMHhlZiwweDYwIH0sCi0gIDE2LCAweGNjNzAsIDAsIHsweGMzLDB4MjAsMHgzMSwweGM0LDB4MGMsMHhhMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjODAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4MzMsMHgyMCwweDIxLDB4ZGEsMHgwYiwweDcwLDB4NDMsMHg5YywweDAxLDB4YjUsMHgwMCwweDIxIH0sCi0gIDE2LCAweGNjOTAsIDAsIHsweDAwLDB4MGEsMHhlMCwweDAyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyZiwweGMwLDB4MGQsMHg3MCwweDAzLDB4OWMsMHgwMCwweGI2IH0sCi0gIDE2LCAweGNjYTAsIDAsIHsweDAwLDB4MzEsMHhjOCwweDA4LDB4NTcsMHgwMiwweGRjLDB4MDAsMHg4NywweDUwLDB4MjEsMHhjMCwweDBhLDB4NzAsMHg0MiwweDkyIH0sCi0gIDE2LCAweGNjYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgxMSwweGI3LDB4OTAsMHgyMSwweGUwIH0sCi0gIDE2LCAweGNjYzAsIDAsIHsweDBiLDB4NjgsMHg4MiwweGRlLDB4MDgsMHhhNywweDgwLDB4MjQsMHg2MCwweDA4LDB4NzAsMHgxMiwweDEyLDB4MDgsMHg5NSwweDgwIH0sCi0gIDE2LCAweGNjZDAsIDAsIHsweDJkLDB4NjAsMHgwOSwweDZjLDB4MDIsMHhkZSwweDAwLDB4YjEsMHg4MCwweDIzLDB4ZTAsMHgwYSwweDU4LDB4NjIsMHhmZSwweDAwIH0sCi0gIDE2LCAweGNjZTAsIDAsIHsweDk3LDB4YTAsMHgyMSwweGU4LDB4MDksMHhlOCwweDAyLDB4MzAsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjZjAsIDAsIHsweDQ4LDB4MTQsMHhjZCwweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHg4YiwweDNjLDB4MDIsMHg4YywweDAwLDB4YmIsMHgwMCwweDI0IH0sCi0gIDE2LCAweGNkMDAsIDAsIHsweGM0LDB4MWEsMHgzZCwweDAyLDB4MmYsMHg4OCwweGIzLDB4NDgsMHgyYywweGUwLDB4ODksMHgzZSwweDAyLDB4OGQsMHg4MCwweDkzIH0sCi0gIDE2LCAweGNkMTAsIDAsIHsweGQ5LDB4YTQsMHg0MCwweDg4LDB4MTAsMHgwMiwweGNjLDB4MDQsMHg5MywweGM4LDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDkyIH0sCi0gIDE2LCAweGNkMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHg0MCwweGZhLDB4MDAsMHhiMiwweDgwIH0sCi0gIDE2LCAweGNkMzAsIDAsIHsweDBmLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhlYSwweDgwLDB4MzcsMHhhMCwweDBjLDB4ZTgsMHgxMywweDNiLDB4MDgsMHhkZSwweDAxIH0sCi0gIDE2LCAweGNkNDAsIDAsIHsweDNmLDB4ODIsMHgwYywweGUwLDB4NDMsMHhmYSwweDgwLDB4ZmUsMHg4MCwweDMxLDB4MjgsMHgwYywweGEwLDB4MDMsMHhmMCwweDAyIH0sCi0gIDE2LCAweGNkNTAsIDAsIHsweGM0LDB4YzAsMHhiMiwweDgwLDB4MGQsMHhlMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MTAsMHgwYiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjgsMHgzMCwweDNhIH0sCi0gIDE2LCAweGNkNzAsIDAsIHsweDAwLDB4NmQsMHg4MCwweDgzLDB4ZTEsMHg0NCwweGI4LDB4MDQsMHgzZSwweDEwLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweGNkODAsIDAsIHsweDAwLDB4M2EsMHgxMCwweDRmLDB4MDQsMHgwMywweGUzLDB4MDAsMHhlOCwweDEwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGNkOTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzOCwweDQwIH0sCi0gIDE2LCAweGNkYTAsIDAsIHsweDBmLDB4MWEsMHgwMywweDJlLDB4MDAsMHhmYiwweGEwLDB4MzYsMHg2MCwweDBjLDB4OTgsMHgwMywweGU2LDB4MDQsMHhkMSwweDAwIH0sCi0gIDE2LCAweGNkYjAsIDAsIHsweDM2LDB4NDgsMHgwZSwweDkxLDB4MDIsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNlLDB4MDAsMHgwYywweDk5LDB4MDMsMHg2MiwweDQwIH0sCi0gIDE2LCAweGNkYzAsIDAsIHsweGY4LDB4MDAsMHhhMCwweDY4LDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAyLDB4ODksMHgwNCwweDJlLDB4NjQsMHg4OCwweDk0LDB4MDIsMHhhNSwweDAwLDB4YjksMHg4MCwweDIwIH0sCi0gIDE2LCAweGNkZTAsIDAsIHsweDY0LDB4MGQsMHg5YywweDAyLDB4ZTYsMHg0MiwweDg5LDB4MDAsMHgyMiwweDYwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgxMCwweGI5IH0sCi0gIDE2LCAweGNkZjAsIDAsIHsweDQwLDB4M2EsMHg1MCwweDA4LDB4OWMsMHgwMiwweDI3LDB4MjAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMywweDYwIH0sCi0gIDE2LCAweGNlMDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwIH0sCi0gIDE2LCAweGNlMTAsIDAsIHsweDBhLDB4OTAsMHg4MiwweDI1LDB4NGMsMHhiOSwweDAwLDB4MDIsMHg0MCwweDA4LDB4OTYsMHgwMiwweGU0LDB4MTAsMHg4OSwweDAwIH0sCi0gIDE2LCAweGNlMjAsIDAsIHsweDI2LDB4NTAsMHgxMywweDk0LDB4MDIsMHhlNCwweDQwLDB4YjksMHgwOCwweDJlLDB4NDAsMHgwOCwweDkwLDB4OGEsMHgyNCwweDAwIH0sCi0gIDE2LCAweGNlMzAsIDAsIHsweGI5LDB4MDEsMHgyYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlNDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDgwLDB4ODEsMHg0MCwweDJjLDB4YzgsMHgwOCwweDEwLDB4MDYsMHg4NCwweDAwLDB4YjEsMHgwNCwweDIwIH0sCi0gIDE2LCAweGNlNTAsIDAsIHsweDQ5LDB4MDksMHgxNCwweDQyLDB4Y2MsMHg4OSwweDgxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDQ2LDB4YzQsMHgwMCwweGIxIH0sCi0gIDE2LCAweGNlNjAsIDAsIHsweDAwLDB4MmEsMHhjMCwweDI4LDB4MTQsMHgwMiwweDAxLDB4MDEsMHhiMCwweDA0LDB4MjgsMHg0MCwweDM4LDB4OTQsMHgwMiwweDQyIH0sCi0gIDE2LCAweGNlNzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweDg4LDB4MDAsMHgzYSwweDAwIH0sCi0gIDE2LCAweGNlODAsIDAsIHsweDBlLDB4ODAsMHgyMywweDIwLDB4MDAsMHhmOCwweDUwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgxMiwweGUxLDB4NDAsMHhkOCwweDUwIH0sCi0gIDE2LCAweGNlOTAsIDAsIHsweDM2LDB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAsMHgwYywweDgwLDB4NTMsMHg2MCwweDA0IH0sCi0gIDE2LCAweGNlYTAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlYjAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQwLDB4ZjksMHg0NCwweDNlLDB4NDQsMHgwZiwweGQ0LDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNmIH0sCi0gIDE2LCAweGNlYzAsIDAsIHsweDQ0LDB4MGYsMHhkNCwweDUzLDB4ZjQsMHg0NCwweGZkLDB4MTAsMHgyZiwweDQwLDB4MGYsMHhmNCwweDAzLDB4ZmQsMHgwMCwweGZkIH0sCi0gIDE2LCAweGNlZDAsIDAsIHsweDQwLDB4M2IsMHgxMCwweDBmLDB4ZDQsMHgyMywweGQxLDB4MDQsMHg3YywweDQzLDB4MzYsMHg1MCwweDBmLDB4NTAsMHgwMywweGU2IH0sCi0gIDE2LCAweGNlZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YTYsMHgwMCwweGY5LDB4MTAsMHgyZSwweDYyIH0sCi0gIDE2LCAweGNlZjAsIDAsIHsweDBmLDB4ZDIsMHg4MywweGU0LDB4MDAsMHhiZCwweDQyLDB4M2UsMHg2MSwweDBmLDB4ZDAsMHgwMywweGY2LDB4YzAsMHhjOSwweGEyIH0sCi0gIDE2LCAweGNmMDAsIDAsIHsweDJiLDB4NDAsMHgwYywweGQwLDB4MDMsMHgzNCwweDAwLDB4ZjksMHg4MSwweDNlLDB4NjgsMHgwOCwweGMxLDB4NDMsMHhmYSwweDAwIH0sCi0gIDE2LCAweGNmMTAsIDAsIHsweGY1LDB4ODAsMHgzZiwweDYyLDB4MGMsMHgxNCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmMjAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDIwLDB4ODgsMHgxMSwweDJlLDB4MTAsMHgwYiwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHg4MiwweDJlIH0sCi0gIDE2LCAweGNmMzAsIDAsIHsweDEwLDB4MGIsMHg4MCwweDAwLDB4ZTMsMHhjNCwweDg4LDB4ZjAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDBhLDB4MjAsMHgwMCwweGU4IH0sCi0gIDE2LCAweGNmNDAsIDAsIHsweDQwLDB4MmYsMHgxNCwweDA4LDB4ODgsMHgwMiwweGUyLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDA4LDB4ODgsMHgwMiwweDhlIH0sCi0gIDE2LCAweGNmNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4YzUsMHgwMCwweGExLDB4MDAsMHgyYywweDQwIH0sCi0gIDE2LCAweGNmNjAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGM0LDB4MTgsMHhiMSwweDIyLDB4NmMsMHhkMSwweDBiLDB4MTAsMHgyNiwweGM0LDB4MDAsMHg4MSwweDA4IH0sCi0gIDE2LCAweGNmNzAsIDAsIHsweDJhLDB4NDAsMHg4OCwweDEwLDB4MDIsMHgwNCwweDA0LDB4YjUsMHhjMCwweDBmLDB4NDAsMHgwYiwweDAyLDB4MDIsMHg0MSwweGEwIH0sCi0gIDE2LCAweGNmODAsIDAsIHsweGIxLDB4NDAsMHgyYywweDQwLDB4MDgsMHgxMiwweDAyLDB4MDIsMHgxMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmOTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNiwweDJlLDB4NDAsMHgwYiwweDkwLDB4MTIsMHhlNCwweDAwLDB4YjksMHg0MCwweDJlIH0sCi0gIDE2LCAweGNmYTAsIDAsIHsweDQwLDB4MGIsMHhiMCwweDgyLDB4YzQsMHgwMiwweDg5LDB4NDQsMHgyMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCwweGE5IH0sCi0gIDE2LCAweGNmYjAsIDAsIHsweDAwLDB4MjcsMHg0OCwweDA5LDB4YjAsMHgxMiwweGVjLDB4MTgsMHhiOSwweDAxLDB4MmUsMHg0MCwweDQwLDB4OTAsMHgwMiwweDg2IH0sCi0gIDE2LCAweGNmYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHg4NCwweGU5LDB4MDEsMHgzZSwweDQwIH0sCi0gIDE2LCAweGNmZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg3MiwweDBmLDB4OTAsMHgwMywweGU3LDB4NjAsMHg4OSwweDEwIH0sCi0gIDE2LCAweGNmZTAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHg0NCwweDNjLDB4NDAsMHgyZCwweDkwLDB4MDMsMHhlNywweDYwIH0sCi0gIDE2LCAweGNmZjAsIDAsIHsweGY5LDB4NzEsMHgzZSwweDQwLDB4MjgsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwMDAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDQ4LDB4YTksMHgwMCwweDNlLDB4YzAsMHgwZiwweDlhLDB4NDMsMHhlYywweDAwLDB4ZjksMHgyMCwweDdlIH0sCi0gIDE2LCAweGQwMTAsIDAsIHsweGM4LDB4MGYsMHg5YSwweDA3LDB4NjYsMHgwMCwweDc5LDB4ODAsMHg3ZSwweDQwLDB4MGYsMHgxYywweDAzLDB4ZTcsMHgwMCwweGU5IH0sCi0gIDE2LCAweGQwMjAsIDAsIHsweGEwLDB4M2UsMHg0MCwweDQ2LDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGQwMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODAsMHgwMCwweGY4LDB4MDAsMHgzYSwweDAwIH0sCi0gIDE2LCAweGQwNDAsIDAsIHsweDBmLDB4ODAsMHgwMywweGEwLDB4MDgsMHhlOCwweDQwLDB4M2EsMHgxMCwweDBjLDB4ODMsMHgwMywweGExLDB4YzAsMHhmMCwweDQwIH0sCi0gIDE2LCAweGQwNTAsIDAsIHsweDNlLDB4MDYsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDNiLDB4MDAsMHgwZiwweDgxLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweGQwNjAsIDAsIHsweGY4LDB4MTAsMHhiMiwweDAwLDB4NGMsMHg4MCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDJlLDB4YjAsMHgwYiwweGU4LDB4MDIsMHhlOSwweDAwLDB4M2UsMHg5MCwweDAyIH0sCi0gIDE2LCAweGQwODAsIDAsIHsweDgxLDB4MDgsMHhlNCwweDEyLDB4NzgsMHgwMCwweGJhLDB4MDAsMHgyZCwweGIwLDB4ODksMHhlOCwweDIyLDB4ZjgsMHgwYywweGJhIH0sCi0gIDE2LCAweGQwOTAsIDAsIHsweDAwLDB4NmUsMHg4MCwweDAzLDB4YzUsMHgwMywweDMwLDB4MDAsMHhiYSwweDAwLDB4MjIsMHhhOCwweDA4LDB4YTAsMHgyMiwweDhhIH0sCi0gIDE2LCAweGQwYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyOCwweGU4IH0sCi0gIDE2LCAweGQwYjAsIDAsIHsweDFiLDB4MzEsMHgxMiwweDhjLDB4YzQsMHhhMywweDkyLDB4MmMsMHg0MCwweDg4LDB4MzQsMHgwNiwweDhlLDB4MDAsMHg5MywweDAwIH0sCi0gIDE2LCAweGQwYzAsIDAsIHsweDJjLDB4ZjAsMHgxOSwweDMxLDB4YTIsMHhjYywweDA0LDB4YjMsMHgwMCwweDI4LDB4ODAsMHgwMSwweDM4LDB4MDIsMHg0YywweDAwIH0sCi0gIDE2LCAweGQwZDAsIDAsIHsweGIzLDB4ODAsMHgyMCwweGUwLDB4MGEsMHhiMCwweDEyLDB4MDIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwZTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjcsMHgxNCwweDJkLDB4NDIsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjcsMHg4MSwweDI3IH0sCi0gIDE2LCAweGQwZjAsIDAsIHsweGUwLDB4MTgsMHg2MCwweDAyLDB4NTgsMHgxOCwweGI3LDB4MjIsMHgyZCwweDgwLDB4MDksMHg3MCwweDIyLDB4ZGMsMHgwMCwweGI3IH0sCi0gIDE2LCAweGQxMDAsIDAsIHsweDAwLDB4MmQsMHg4MCwweDBiLDB4M2IsMHgwMiwweDFkLDB4ZDAsMHhiZiwweDgwLDB4MjgsMHhjMCwweDhhLDB4ZjIsMHgwMiwweGEwIH0sCi0gIDE2LCAweGQxMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHg4MCwweGY3LDB4YTAsMHgzOSwweGUyIH0sCi0gIDE2LCAweGQxMjAsIDAsIHsweDBmLDB4NjgsMHgwMywweDllLDB4MDAsMHhlZCwweDg0LDB4M2QsMHhlMiwweDQ0LDB4NzgsMHgwMywweDllLDB4MDAsMHhmNywweGI0IH0sCi0gIDE2LCAweGQxMzAsIDAsIHsweDJkLDB4ZTAsMHgwZCwweDY4LDB4MDMsMHhkNiwweDAwLDB4ZjYsMHg4MCwweDM5LDB4ZTAsMHgwZiwweDc5LDB4MDMsMHg1ZSwweDkwIH0sCi0gIDE2LCAweGQxNDAsIDAsIHsweGY3LDB4ODEsMHgzMSwweDYwLDB4MmUsMHg3YywweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxNTAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDAwLDB4ZmIsMHg0MiwweDNlLDB4YzgsMHgwZiwweGEwLDB4MDMsMHhlZCwweGEwLDB4YmIsMHgwMCwweDM4IH0sCi0gIDE2LCAweGQxNjAsIDAsIHsweGM4LDB4MGYsMHhiMCwweDAzLDB4NjgsMHgwMCwweGZiLDB4MTEsMHgzZSwweDQwLDB4MDksMHhiMCwweDQxLDB4ZWMsMHgwMCwweGZhIH0sCi0gIDE2LCAweGQxNzAsIDAsIHsweDAyLDB4M2UsMHhjMCwweDBmLDB4YjIsMHgwYiwweGVkLDB4ODAsMHgzYiwweDAwLDB4MzYsMHg0MCwweDBkLDB4YjAsMHgyMywweDQyIH0sCi0gIDE2LCAweGQxODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgwMCwweGNmLDB4ZDAsMHgzMywweGU0IH0sCi0gIDE2LCAweGQxOTAsIDAsIHsweDRmLDB4ZjksMHgwMywweGRlLDB4NDAsMHhkYywweDgwLDB4MzYsMHhlNCwweDBjLDB4YjksMHgxMywweGZlLDB4MDAsMHhjZiwweDkwIH0sCi0gIDE2LCAweGQxYTAsIDAsIHsweDM3LDB4ZTUsMHgwZiwweGY4LDB4NDMsMHhmZSwweDAwLDB4Y2YsMHg5MiwweDNmLDB4YTQsMHgwZiwweDc4LDB4MDMsMHgxZiwweDAwIH0sCi0gIDE2LCAweGQxYjAsIDAsIHsweGM1LDB4ODAsMHgzMywweDYwLDB4MGMsMHhmOCwweDIwLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxYzAsIDAsIHsweGE4LDB4MTEsMHhiYywweDAwLDB4MGYsMHgxMCwweDIxLDB4ODEsMHgwYiwweDYwLDB4MDMsMHg4NCwweDAwLDB4OGIsMHgwOCwweDIxIH0sCi0gIDE2LCAweGQxZDAsIDAsIHsweDYwLDB4MGEsMHg3YiwweDAzLDB4OTgsMHgwMCwweDhiLDB4MTAsMHgyOSwweDg0LDB4MGUsMHg2NCwweDIyLDB4ZGMsMHg0MCwweGQ3IH0sCi0gIDE2LCAweGQxZTAsIDAsIHsweDAyLDB4MmQsMHg4NCwweDBiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NSwweDE4LDB4MjEsMHg0MCwweDBhLDB4ZjAsMHgyMiwweGFhIH0sCi0gIDE2LCAweGQxZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGE3LDB4MTQsMHg2OSwweGMwIH0sCi0gIDE2LCAweGQyMDAsIDAsIHsweDFhLDB4NjAsMHgxMiwweGZjLDB4MDEsMHhhNCwweDEwLDB4MmQsMHhjMCwweDBhLDB4NTIsMHgwMiwweDQ1LDB4NDAsMHg4NywweDBjIH0sCi0gIDE2LCAweGQyMTAsIDAsIHsweDIxLDB4ODAsMHgxYiwweDYwLDB4ODIsMHhkNCwweDAwLDB4ODYsMHgwMywweDI1LDB4ZTAsMHgxYiwweDcwLDB4MDIsMHg1YywweDQwIH0sCi0gIDE2LCAweGQyMjAsIDAsIHsweDlkLDB4MDAsMHgyOSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyMzAsIDAsIHsweDIwLDB4MTQsMHhjZCwweDAwLDB4YTMsMHgwMCwweDI4LDB4YzAsMHgxYiwweDIwLDB4MjIsMHg4YywweDExLDB4YTMsMHgwMCwweDY4IH0sCi0gIDE2LCAweGQyNDAsIDAsIHsweGY2LDB4MGEsMHgzYywweDA2LDB4ODIsMHgwMCwweDgzLDB4ODAsMHgyOCwweDg0LDB4MGEsMHg4YywweDgyLDB4Y2MsMHg0NCwweDkyIH0sCi0gIDE2LCAweGQyNTAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRlLDB4MDAsMHg5MSwweDAwLDB4MjgsMHg0MCwweDBhLDB4MzAsMHgwMiwweDg4IH0sCi0gIDE2LCAweGQyNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmUsMHgyMiwweGVmLDB4MDQsMHhiYSwweGMwIH0sCi0gIDE2LCAweGQyNzAsIDAsIHsweDBmLDB4MTQsMHg5MywweGVjLDB4MDIsMHhmMSwweGMzLDB4M2UsMHhmMCwweDBlLDB4OTAsMHg4MywweDY2LDB4MDAsMHhjZiwweGQyIH0sCi0gIDE2LCAweGQyODAsIDAsIHsweDMyLDB4NTAsMHgwZiwweDljLDB4MDMsMHhjYiwweDAwLDB4YzksMHg4MCwweDNlLDB4MjgsMHgwZiwweGIwLDB4MDMsMHg0ZiwweDAwIH0sCi0gIDE2LCAweGQyOTAsIDAsIHsweGQxLDB4YzAsMHhhYSwweGMwLDB4MGMsMHg3MSwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDIwLDB4ZGIsMHgwMCwweDI2LDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlYywweDA4LDB4MWIsMHgwMCwweDM2IH0sCi0gIDE2LCAweGQyYjAsIDAsIHsweGMwLDB4MGYsMHg4NiwweDAxLDB4ZTUsMHg0MCwweGZiLDB4MDIsMHgzYSwweDQ4LDB4MGUsMHg5NCwweDAzLDB4ZWMsMHg4MCwweGYxIH0sCi0gIDE2LCAweGQyYzAsIDAsIHsweDg0LDB4M2UsMHgwMCwweDRmLDB4YjAsMHgwMywweGFkLDB4YzAsMHhlYiwweDIwLDB4MzYsMHhjMCwweDBmLDB4YjAsMHgyMywweGUwIH0sCi0gIDE2LCAweGQyZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGNmLDB4MDAsMHgzZiwweDYwIH0sCi0gIDE2LCAweGQyZTAsIDAsIHsweDBjLDB4ZTAsMHg4MywweDNlLDB4ODAsMHhlZCwweDA4LDB4MzMsMHhkMCwweDhmLDB4NTAsMHgwMywweDllLDB4MDAsMHhkZiwweDAwIH0sCi0gIDE2LCAweGQyZjAsIDAsIHsweDMzLDB4NDAsMHgwYywweGMwLDB4MDMsMHgzMCwweDAwLDB4Y2MsMHgxMCwweDMzLDB4NjgsMHgwYywweGYwLDB4MDMsMHgzYywweDg0IH0sCi0gIDE2LCAweGQzMDAsIDAsIHsweDhkLDB4OTAsMHgzMCwweDQwLDB4MGMsMHhmMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzMTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHgwMiwweDJjLDB4ZjQsMHgwOCwweGE4LDB4NjIsMHgwYywweDgwLDB4OGIsMHg4MCwweDJhIH0sCi0gIDE2LCAweGQzMjAsIDAsIHsweDYwLDB4MGYsMHg5YywweDAyLDB4MmUsMHgwMCwweDhiLDB4MDAsMHgyMCwweDYwLDB4MGQsMHg5OCwweDAyLDB4MmMsMHg4MCwweGQ4IH0sCi0gIDE2LCAweGQzMzAsIDAsIHsweDAwLDB4MTQsMHg0MCwweDA4LDB4MzQsMHgxMiwweDJlLDB4MDAsMHg4YiwweDgyLDB4MzIsMHg0MCwweDBkLDB4YjAsMHgwMywweDYwIH0sCi0gIDE2LCAweGQzNDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweGQwIH0sCi0gIDE2LCAweGQzNTAsIDAsIHsweDA4LDB4YjgsMHgwMiwweDJjLDB4MDAsMHg4YSwweDg0LDB4MjIsMHhjMCwweDBiLDB4ODgsMHgwMiwweGU0LDB4YTAsMHg4MywweDAwIH0sCi0gIDE2LCAweGQzNjAsIDAsIHsweDIyLDB4NjIsMHgwYSwweDk4LDB4MDIsMHgyOCwweDAwLDB4ODksMHgwMCwweDIyLDB4MDAsMHgwYSwweGIxLDB4MDYsMHgyYywweDAwIH0sCi0gIDE2LCAweGQzNzAsIDAsIHsweGFiLDB4MDAsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4NjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAyLDB4YTMsMHgwMCwweDJjLDB4YzEsMHgwOCwweDIwLDB4MDIsMHgwYywweDAyLDB4OGIsMHgwMCwweDI4IH0sCi0gIDE2LCAweGQzOTAsIDAsIHsweGMyLDB4MGEsMHgwMCwweDAyLDB4NDQsMHgxMCwweDgzLDB4MTAsMHgyMiwweDQwLDB4MGIsMHgxMCwweDA2LDB4MGMsMHgwMCwweDkxIH0sCi0gIDE2LCAweGQzYTAsIDAsIHsweDA0LDB4YWEsMHgwMCwweDI4LDB4MzAsMHgwMiwweDJjLDB4MDAsMHhhMSwweDAxLDB4MjAsMHg0MCwweDA5LDB4YjAsMHgwMiwweDQyIH0sCi0gIDE2LCAweGQzYjAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweDhmLDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGQzYzAsIDAsIHsweDJjLDB4YTAsMHgwMywweDI5LDB4NDAsMHhhOCwweDQwLDB4MzIsMHhjYywweDhiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhjZiwweDQwIH0sCi0gIDE2LCAweGQzZDAsIDAsIHsweDMyLDB4MDAsMHgwZSwweDgwLDB4MGEsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIyLDB4NDAsMHgwYywweGIwLDB4MDMsMHgyYywweDA0IH0sCi0gIDE2LCAweGQzZTAsIDAsIHsweGViLDB4MDAsMHhiMiwweDQwLDB4OGMsMHhiMCwweDAzLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGUwLDB4MDMsMHhmYywweDgwLDB4ZmYsMHgyOCwweDNkIH0sCi0gIDE2LCAweGQ0MDAsIDAsIHsweGMwLDB4MGIsMHhjMSwweDAzLDB4YjAsMHgxNCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGQsMHhkMCwweDAzLDB4ZGMsMHgwMCwweGZjIH0sCi0gIDE2LCAweGQ0MTAsIDAsIHsweDAwLDB4MzcsMHg0MCwweDBmLDB4ZjAsMHgyMSwweGZjLDB4MDAsMHgxZCwweDAwLDB4N2IsMHg0MCwweDhmLDB4ZjAsMHgwMywweGUwIH0sCi0gIDE2LCAweGQ0MjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGRmLDB4MDAsMHgzMSwweGEwIH0sCi0gIDE2LCAweGQ0MzAsIDAsIHsweDRkLDB4ZjAsMHg0MywweDMyLDB4MDAsMHhjZSwweDE0LDB4MWIsMHg2OCwweDBlLDB4ZGEsMHgyMywweGIyLDB4YzAsMHgyZiwweDAwIH0sCi0gIDE2LCAweGQ0NDAsIDAsIHsweDNmLDB4YzIsMHgyYywweGU4LDB4MDMsMHgzYywweDQwLDB4ZmQsMHgwOCwweDNiLDB4YzgsMHg0YywweGYwLDB4ODMsMHgzYywweGEwIH0sCi0gIDE2LCAweGQ0NTAsIDAsIHsweGNmLDB4MDAsMHgzMywweGM0LDB4MGMsMHhmMywweDA3LDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0NjAsIDAsIHsweDgwLDB4MTAsMHhlMiwweDAwLDB4OGYsMHhjMCwweDIyLDB4YTAsMHgwOCwweGZkLDB4NDIsMHgyZiwweDAwLDB4OGIsMHg3MCwweDIyIH0sCi0gIDE2LCAweGQ0NzAsIDAsIHsweDFlLDB4NDgsMHg4OSwweDAyLDB4MjcsMHhjMCwweDhmLDB4NWEsMHgyZSwweDUwLDB4NDgsMHgzMCwweDAyLDB4YmQsMHhjMCwweGJkIH0sCi0gIDE2LCAweGQ0ODAsIDAsIHsweDQwLDB4MjMsMHhjNSwweDQ4LDB4ZjQsMHg4MiwweDNkLDB4MmMsMHg4NywweDcwLDB4MjIsMHhjMCwweDA4LDB4ZjEsMHgwMywweGUwIH0sCi0gIDE2LCAweGQ0OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTAsMHgwMCwweDkzLDB4MTAsMHgyNiwweDgxIH0sCi0gIDE2LCAweGQ0YTAsIDAsIHsweDQ5LDB4MzAsMHgwMiwweDgwLDB4NDAsMHg4MywweDIwLDB4MjgsMHg0MCwweDBhLDB4MTAsMHgwMiwweDgwLDB4MDAsMHhhMywweDI0IH0sCi0gIDE2LCAweGQ0YjAsIDAsIHsweDJjLDB4Y2EsMHgwOCwweDMyLDB4ODIsMHgwYywweDAwLDB4OTEsMHgyOCwweDIwLDB4Y2EsMHgxYiwweDMyLDB4MDIsMHgwYywweDg4IH0sCi0gIDE2LCAweGQ0YzAsIDAsIHsweDgzLDB4MDksMHgyMCwweGM4LDB4MDksMHgzMiwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0ZDAsIDAsIHsweGMwLDB4MTUsMHhhMywweDE0LDB4OGIsMHgwNCwweDI2LDB4ODksMHgwOCwweGIwLDB4MDIsMHhhYywweDIyLDB4OGIsMHg4OCwweDJhIH0sCi0gIDE2LCAweGQ0ZTAsIDAsIHsweDIwLDB4MDgsMHg5OCwweDgyLDB4YTYsMHgxMCwweGFiLDB4MDAsMHgyZSwweGNhLDB4MDgsMHhiMCwweDgyLDB4YWMsMHgwMCwweGI5IH0sCi0gIDE2LCAweGQ0ZjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDI5LDB4YjAsMHgwYSwweDJjLDB4MDEsMHg4YiwweDAwLDB4MjIsMHhjMCwweDA5LDB4YjAsMHgyMiwweGYwIH0sCi0gIDE2LCAweGQ1MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTMsMHgwMCwweGRiLDB4MDAsMHgzNCwweGUyIH0sCi0gIDE2LCAweGQ1MTAsIDAsIHsweDBkLDB4YjAsMHgwMywweGEzLDB4MDAsMHhjYSwweDgwLDB4YmEsMHg3MCwweDBlLDB4ODgsMHgwMywweGE2LDB4MDAsMHhlYiwweDAwIH0sCi0gIDE2LCAweGQ1MjAsIDAsIHsweDNlLDB4OTAsMHgwYywweGI1LDB4MDMsMHgyYywweDAwLDB4ZmIsMHgxMCwweGJhLDB4YzAsMHgwZSwweGIwLDB4MDMsMHgyYywweDAyIH0sCi0gIDE2LCAweGQ1MzAsIDAsIHsweGNiLDB4MDIsMHgzMiwweGMwLDB4MDksMHhiMCwweDAyLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1NDAsIDAsIHsweGUwLDB4MDEsMHhiMCwweDA4LDB4ZmYsMHgwMCwweGJiLDB4ZTAsMHgwZiwweDcwLDB4MDMsMHg2NSwweDAwLDB4ZjQsMHgwMCwweDM1IH0sCi0gIDE2LCAweGQ1NTAsIDAsIHsweDQwLDB4MGYsMHg0MCwweDAzLDB4NTQsMHgwMCwweGRmLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhmOCwweDAzLDB4ZWMsMHgwMCwweGY3IH0sCi0gIDE2LCAweGQ1NjAsIDAsIHsweDAxLDB4M2QsMHhjMSwweDBlLDB4MzAsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhlLDB4ZjAsMHgwMywweGI4IH0sCi0gIDE2LCAweGQ1NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTAsMHg0MCwweGViLDB4MDgsMHgzZSwweDgwIH0sCi0gIDE2LCAweGQ1ODAsIDAsIHsweDBkLDB4YjAsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2EsMHg1MSwweDBmLDB4ODIsMHgwMywweDY0LDB4MjAsMHhkYiwweDAwIH0sCi0gIDE2LCAweGQ1OTAsIDAsIHsweDNkLDB4ODIsMHgwYywweGJjLDB4MDMsMHgyYywweDEwLDB4ZGIsMHgwMCwweDcyLDB4YzAsMHgwZCwweGIxLDB4MDMsMHgwYywweDIwIH0sCi0gIDE2LCAweGQ1YTAsIDAsIHsweGQzLDB4MDAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1YjAsIDAsIHsweGM4LDB4MDUsMHgwMSwweDAwLDB4ODcsMHhjMCwweDJlLDB4YTgsMHgwOCwweGYxLDB4MTIsMHhjNSwweDQwLDB4ODgsMHgwMCwweDIyIH0sCi0gIDE2LCAweGQ1YzAsIDAsIHsweDQwLDB4MGIsMHg4NCwweDAyLDB4MjcsMHgwMCwweGFmLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiYywweDEyLDB4M2MsMHgwMCwweDhiIH0sCi0gIDE2LCAweGQ1ZDAsIDAsIHsweDAxLDB4MjMsMHhjMCwweDI4LDB4ZjUsMHg0YSwweDNkLDB4MjgsMHhkZiwweDAwLDB4MzMsMHhjMCwweDRiLDB4ZjAsMHgwMywweDMyIH0sCi0gIDE2LCAweGQ1ZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDgsMHg4MCwweGEzLDB4OTAsMHgyYywweDAwIH0sCi0gIDE2LCAweGQ1ZjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGMxLDB4MDAsMHg5MiwweDA0LDB4MjgsMHgwMCwweDBiLDB4MTQsMHgxMiwweDQzLDB4MDAsMHhiMywweDA0IH0sCi0gIDE2LCAweGQ2MDAsIDAsIHsweDJjLDB4MzAsMHgwYSwweGIwLDB4MGEsMHg4YywweDAwLDB4OTMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDNjLDB4MDYsMHgwZSwweDAxIH0sCi0gIDE2LCAweGQ2MTAsIDAsIHsweGIzLDB4MDAsMHgyZSwweGMwLDB4OGIsMHgzMCwweDA2LDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2MjAsIDAsIHsweDIwLDB4MDEsMHgxMiwweDAwLDB4ODcsMHg4MCwweDJkLDB4MjQsMHgwOCwweDc4LDB4MDIsMHhkMiwweDAwLDB4OTUsMHg4MCwweDIxIH0sCi0gIDE2LCAweGQ2MzAsIDAsIHsweGEwLDB4MGIsMHg2OCwweDAyLDB4NWEsMHgyMCwweDg3LDB4ODAsMHgyZCwweDY2LDB4MWEsMHg3YywweDAyLDB4OWUsMHgwMCwweDg3IH0sCi0gIDE2LCAweGQ2NDAsIDAsIHsweDgwLDB4MjEsMHhlMSwweDE4LDB4NzksMHgwMiwweDllLDB4NDAsMHhiNywweDgwLDB4YTEsMHhlMCwweDBiLDB4NzgsMHgwMiwweDQ4IH0sCi0gIDE2LCAweGQ2NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDAsMHgwMCwweGUzLDB4YTAsMHgzYywweDQwIH0sCi0gIDE2LCAweGQ2NjAsIDAsIHsweDBjLDB4MzAsMHgwMywweGM0LDB4MjIsMHhkOSwweDAwLDB4MzgsMHhkNCwweDBmLDB4MzAsMHg4MywweDY4LDB4NDAsMHhmMywweDAwIH0sCi0gIDE2LCAweGQ2NzAsIDAsIHsweDNjLDB4ODAsMHgwYSwweDMyLDB4MDIsMHg4YywweDAwLDB4ZGIsMHgwMCwweGEyLDB4YzQsMHgwYywweDMwLDB4MDMsMHgwYywweDAwIH0sCi0gIDE2LCAweGQ2ODAsIDAsIHsweGYzLDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2OTAsIDAsIHsweDQwLDB4MGQsMHhiMCwweDAwLDB4ZmYsMHgxMCwweDNmLDB4NDAsMHgwZSwweGYwLDB4MDMsMHhmYywweDAwLDB4ZWQsMHgwMCwweDNmIH0sCi0gIDE2LCAweGQ2YTAsIDAsIHsweGMwLDB4MGYsMHgzMCwweDEzLDB4YmMsMHg0MCwweDdmLDB4MTAsMHgzZiwweGMxLDB4MmQsMHhmMCwweDAzLDB4N2MsMHgwMCwweGZiIH0sCi0gIDE2LCAweGQ2YjAsIDAsIHsweDQwLDB4M2YsMHhjMiwweDBlLDB4ZjQsMHg4MywweDdjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHhjMiwweDBmLDB4ZjAsMHgwMywweDkwIH0sCi0gIDE2LCAweGQ2YzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGRiLDB4YTAsMHgzMiwweGMwIH0sCi0gIDE2LCAweGQ2ZDAsIDAsIHsweDBkLDB4YjcsMHgwMywweGUwLDB4MDAsMHhjYSwweDA0LDB4M2UsMHg4MCwweDBmLDB4YjgsMHgwMywweDJjLDB4MTAsMHhmYiwweDAwIH0sCi0gIDE2LCAweGQ2ZTAsIDAsIHsweDMzLDB4MDAsMHg4ZCwweGIwLDB4MDMsMHgyYywweDgwLDB4ZTksMHg0MCwweDNlLDB4ZDIsMHgwZiwweGI0LDB4MDMsMHgyZCwweDgwIH0sCi0gIDE2LCAweGQ2ZjAsIDAsIHsweGViLDB4MjAsMHhiMiwweGMwLDB4MGYsMHhiMiwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3MDAsIDAsIHsweDQ4LDB4MTEsMHg5MCwweDAwLDB4YjcsMHgxMCwweDExLDB4YzAsMHgwOCwweDcwLDB4ODIsMHhkOCwweDBhLDB4ODcsMHgwMSwweDJkIH0sCi0gIDE2LCAweGQ3MTAsIDAsIHsweDgwLDB4ODksMHg3MCwweDAzLDB4ZDgsMHgwOCwweGI3LDB4MGEsMHgyMSwweDQwLDB4MmMsMHg3MCwweDAyLDB4MGQsMHhjMCwweDg1IH0sCi0gIDE2LCAweGQ3MjAsIDAsIHsweDAxLDB4NzksMHhjOCwweDBiLDB4MzIsMHgwMiwweDBkLDB4MjAsMHg4ZiwweDI4LDB4MjEsMHhjMCwweDBiLDB4NzIsMHg4MiwweGQyIH0sCi0gIDE2LCAweGQ3MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDQwLDB4OTYsMHgxMCwweDk3LDB4OTAsMHgyMywweGUwIH0sCi0gIDE2LCAweGQ3NDAsIDAsIHsweDA5LDB4N2EsMHgwMiwweGQ2LDB4MDAsMHg5NywweDgwLDB4MmQsMHhmMCwweDBiLDB4NzgsMHg4MiwweDFlLDB4MDAsMHhiMywweGIwIH0sCi0gIDE2LCAweGQ3NTAsIDAsIHsweDIxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxZSwweDAwLDB4YTUsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDdhLDB4MDIsMHgxZSwweDgwIH0sCi0gIDE2LCAweGQ3NjAsIDAsIHsweGE3LDB4YjAsMHgyMSwweGU4LDB4MGIsMHg3OSwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3NzAsIDAsIHsweDQ4LDB4MTQsMHhjMCwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZTIsMHgwOCwweDMwLDB4MDIsMHhjNiwweDQwLDB4OTMsMHg3MCwweDJjIH0sCi0gIDE2LCAweGQ3ODAsIDAsIHsweGMwLDB4MDksMHgzYywweDAyLDB4OGUsMHgwMCwweGIzLDB4MDAsMHgyMCwweGQ4LDB4MDgsMHgxOCwweDAyLDB4MGMsMHgwMCwweDgxIH0sCi0gIDE2LCAweGQ3OTAsIDAsIHsweDkwLDB4MmUsMHhjMCwweDBiLDB4MzAsMHgyYSwweDJjLDB4MTAsMHg4MywweDAwLDB4YTAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGQ3YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDExLDB4YjksMHgwMCwweGRhLDB4MDIsMHgzMywweGI4IH0sCi0gIDE2LCAweGQ3YjAsIDAsIHsweDBkLDB4YTAsMHgwMywweGY4LDB4MDAsMHhkZSwweGMwLDB4M2YsMHhiMCwweDRmLDB4ZWMsMHgwNiwweDM4LDB4NDAsMHhmYSwweDAwIH0sCi0gIDE2LCAweGQ3YzAsIDAsIHsweGIzLDB4OTAsMHgwYywweDZjLDB4MGIsMHgyOCwweDA4LDB4ZWEsMHgwMSwweDdlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHgyOCwweDAwIH0sCi0gIDE2LCAweGQ3ZDAsIDAsIHsweGVhLDB4MDAsMHgzMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3ZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDNhLDB4MDAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZTgsMHgwMiwweDNlIH0sCi0gIDE2LCAweGQ3ZjAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHg0MCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweGQ4MDAsIDAsIHsweDAwLDB4M2EsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGQ4MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgyMCwweGY5LDB4YzAsMHgzZSwweDcwIH0sCi0gIDE2LCAweGQ4MjAsIDAsIHsweDBlLDB4OTAsMHgwMiwweGU0LDB4ODAsMHhjOSwweDAwLDB4MzIsMHg0MiwweDBjLDB4OTgsMHg4MywweGE0LDB4ODQsMHhmOSwweDAwIH0sCi0gIDE2LCAweGQ4MzAsIDAsIHsweGIyLDB4NjAsMHgwYywweDkwLDB4ODMsMHgyNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDFhLDB4MDIsMHgyNCwweDAwIH0sCi0gIDE2LCAweGQ4NDAsIDAsIHsweGMxLDB4MDAsMHhiMiwweDQwLDB4MGYsMHg5MCwweDAxLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4NTAsIDAsIHsweDgwLDB4MDQsMHg2NSwweDAwLDB4YjksMHg4MSwweDJjLDB4NjAsMHgwZCwweDk0LDB4YzIsMHhjNywweDA4LDB4ODksMHgwMCwweDIyIH0sCi0gIDE2LCAweGQ4NjAsIDAsIHsweDQwLDB4MDgsMHg5NSwweGM3LDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyOCwweDcwLDB4YTgsMHg5NCwweDBhLDB4MjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGQ4NzAsIDAsIHsweDA0LDB4MmUsMHg0MCwweDI4LDB4OTAsMHgyYSwweDI2LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGQ4ODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4NDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweGQ4OTAsIDAsIHsweDBhLDB4OTAsMHgwMiwweGU1LDB4MDAsMHg4MSwweDAwLDB4YTAsMHg0MCwweDA5LDB4OTAsMHg0MiwweGVjLDB4MDAsMHhiMSwweDAwIH0sCi0gIDE2LCAweGQ4YTAsIDAsIHsweDIyLDB4NTgsMHgwOCwweDkwLDB4YTIsMHgwNCwweDAyLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNCwweGEwIH0sCi0gIDE2LCAweGQ4YjAsIDAsIHsweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4YzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDAwLDB4YjEsMHgyMCwweDJlLDB4YzAsMHg4OSwweDEyLDB4MDIsMHhjNCwweDgwLDB4ODEsMHgyMCwweDIwIH0sCi0gIDE2LCAweGQ4ZDAsIDAsIHsweDQwLDB4NjEsMHgxMCwweDQyLDB4YzUsMHgwMCwweGIxLDB4MjAsMHgyOCwweDQ4LDB4MTgsMHg5MCwweDQyLDB4MDQsMHg4MCwweDgxIH0sCi0gIDE2LCAweGQ4ZTAsIDAsIHsweDI4LDB4MmMsMHg0OCwweDA4LDB4MTIsMHg4MiwweDg0LDB4YTAsMHg4MSwweDIwLDB4MjAsMHg0OCwweDBiLDB4MTIsMHg4MiwweGMyIH0sCi0gIDE2LCAweGQ4ZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjgsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwIH0sCi0gIDE2LCAweGQ5MDAsIDAsIHsweDBlLDB4ODAsMHgwMywweGUwLDB4MDgsMHhjOCwweDUwLDB4MzIsMHgxNCwweDBkLDB4ODAsMHgxNywweGU4LDB4MDQsMHhmOCwweDUwIH0sCi0gIDE2LCAweGQ5MTAsIDAsIHsweDMyLDB4MTQsMHg0YywweDA1LDB4MGIsMHgyMSwweDQwLDB4YzgsMHgyMCwweDNlLDB4MDAsMHgwYywweDg3LDB4MDMsMHhhMSwweGMyIH0sCi0gIDE2LCAweGQ5MjAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDE0LDB4OGYsMHg4MiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5MzAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDAwLDB4ZjEsMHgxMCwweDNkLDB4NDAsMHgwZiwweDkxLDB4MDIsMHhkNCwweDQyLDB4ZmQsMHgxMCwweDNmIH0sCi0gIDE2LCAweGQ5NDAsIDAsIHsweDUxLDB4MGUsMHg1NCwweDEzLDB4YjUsMHgwMCwweGY5LDB4MTAsMHgzNSwweDQ0LDB4MmYsMHhkMCwweDAzLDB4ZTQsMHg1MCwweGZkIH0sCi0gIDE2LCAweGQ5NTAsIDAsIHsweDI4LDB4M2UsMHg0ZSwweDBmLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDM4LDB4M2UsMHg0NCwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweGQ5NjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjQsMHgwMCwweGZkLDB4MDAsMHgzZCwweDQwIH0sCi0gIDE2LCAweGQ5NzAsIDAsIHsweDJjLDB4ZDAsMHgwMywweGI2LDB4MDAsMHhmOSwweDgyLDB4M2UsMHg0MCwweDBjLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmOSwweDgwIH0sCi0gIDE2LCAweGQ5ODAsIDAsIHsweDMzLDB4NzAsMHgwYywweDUwLDB4MDMsMHgzNCwweDAwLDB4YzksMHhjMCwweDNlLDB4NDAsMHgwYywweGRhLDB4MDMsMHgxNiwweDgwIH0sCi0gIDE2LCAweGQ5OTAsIDAsIHsweGM5LDB4NDAsMHgzZSwweDYyLDB4MmMsMHg5OCwweDgzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5YTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4MDAsMHgwOCwweDgwLDB4MDIsMHgyOCwweDAwLDB4YjgsMHg1MCwweDI2IH0sCi0gIDE2LCAweGQ5YjAsIDAsIHsweDAwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGI4LDB4MDAsMHgyYSwweDM0LDB4MmEsMHhhYSwweDBhLDB4MjAsMHgwMCwweDg4IH0sCi0gIDE2LCAweGQ5YzAsIDAsIHsweGMwLDB4MmUsMHgyYSwweDA4LDB4ODAsMHgyMiwweDIxLDB4MDAsMHhhOCwweDgwLDB4MmUsMHgwMCwweDA4LDB4ODAsMHgwMiwweDBlIH0sCi0gIDE2LCAweGQ5ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweGQ5ZTAsIDAsIHsweDQ4LDB4MTAsMHgwNiwweDhkLDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDI4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDQwIH0sCi0gIDE2LCAweGQ5ZjAsIDAsIHsweDJjLDB4NDgsMHgwOCwweDEwLDB4ODIsMHg0NCwweDAwLDB4ODEsMHg2MCwweDJjLDB4NDAsMHgyOCwweDE0LDB4MGEsMHgwNCwweDQwIH0sCi0gIDE2LCAweGRhMDAsIDAsIHsweDgxLDB4MjAsMHgyYywweDQwLDB4MDgsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhMTAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDQwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwOCwweGIwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgyOCwweDJlIH0sCi0gIDE2LCAweGRhMjAsIDAsIHsweDUwLDB4MDgsMHg5MCwweDIyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDYwLDB4MGIsMHgxMiwweDQyLDB4NjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGRhMzAsIDAsIHsweDAwLDB4MmMsMHg0MCwweDA5LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhhOSwweDAwLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGRhNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYywweDQyIH0sCi0gIDE2LCAweGRhNTAsIDAsIHsweDBjLDB4OTAsMHgwMywweGE3LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg3MCwweDBjLDB4OTgsMHgwMiwweGU1LDB4NDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGRhNjAsIDAsIHsweDNlLDB4NDAsMHgwYywweDk4LDB4MDMsMHg2NCwweDA2LDB4YzksMHgwMSwweDJlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDA0IH0sCi0gIDE2LCAweGRhNzAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4ODMsMHhlNiwweDEwLDB4ZjksMHgwMCwweDM2IH0sCi0gIDE2LCAweGRhOTAsIDAsIHsweDY4LDB4MGYsMHg5YywweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGUsMHg5OCwweDkzLDB4YTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGRhYTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHg4MywweGM0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH0sCi0gIDE2LCAweGRhYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDA0IH0sCi0gIDE2LCAweGRhYzAsIDAsIHsweDBjLDB4ODAsMHgwMywweDIxLDB4MDIsMHhjOCwweDQwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUxLDB4MDAsMHhmMCwweDAwIH0sCi0gIDE2LCAweGRhZDAsIDAsIHsweDNlLDB4MDIsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweGRhZTAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhZjAsIDAsIHsweDI4LDB4MTUsMHgzYSwweDAwLDB4YmUsMHgwMiwweDJmLDB4YjAsMHgwOCwweDY4LDB4MTIsMHgzOCwweDAwLDB4OGEsMHgwNCwweDJhIH0sCi0gIDE2LCAweGRiMDAsIDAsIHsweDgwLDB4MGIsMHhlMCwweDQyLDB4ZmIsMHgyMCwweGJhLDB4MDAsMHgyZiwweDkxLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweGJhIH0sCi0gIDE2LCAweGRiMTAsIDAsIHsweDAwLDB4MjYsMHg4MCwweDA4LDB4ZWUsMHgwYSwweDM4LDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MCwweDBiLDB4YTAsMHgwMiwweDhhIH0sCi0gIDE2LCAweGRiMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDIsMHgwMCwweGIzLDB4MDAsMHgyYywweGMyIH0sCi0gIDE2LCAweGRiMzAsIDAsIHsweDI4LDB4MzgsMHgwYSwweDQ4LDB4MDAsMHg4MywweDA0LDB4MjIsMHhjMCwweDBiLDB4MTAsMHgwMiwweGNkLDB4ODAsMHhiMywweDAwIH0sCi0gIDE2LCAweGRiNDAsIDAsIHsweDJlLDB4YzAsMHgwOCwweDFjLDB4MDIsMHgyNCwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDM0LDB4MTIsMHgwZSwweDQwIH0sCi0gIDE2LCAweGRiNTAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDEyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiNjAsIDAsIHsweGEwLDB4MDEsMHgxMSwweDAwLDB4YjcsMHgwMCwweDJmLDB4YzAsMHgwOCwweDcwLDB4YTIsMHg0ZSwweDAwLDB4OGYsMHhiMCwweDIxIH0sCi0gIDE2LCAweGRiNzAsIDAsIHsweGNjLDB4MGIsMHg2MCwweDEyLDB4ZGMsMHgxMCwweGI3LDB4MzAsMHgyZCwweGMwLDB4MDgsMHhkMCwweDgyLDB4MTQsMHg4MCwweGI3IH0sCi0gIDE2LCAweGRiODAsIDAsIHsweDEyLDB4MjUsMHhjOCwweDI4LDB4NjAsMHgwMiwweDE0LDB4MDAsMHg4NywweGIyLDB4MjEsMHhjYywweDBiLDB4MzEsMHgwMiwweGE4IH0sCi0gIDE2LCAweGRiOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGY3LDB4ODAsMHgzZCwweGUwIH0sCi0gIDE2LCAweGRiYTAsIDAsIHsweDBjLDB4MzgsMHgwMywweDU2LDB4MDAsMHhjNywweDkwLDB4YjEsMHhlNCwweDBmLDB4NzgsMHgwMywweGRlLDB4MDAsMHhmNywweDkwIH0sCi0gIDE2LCAweGRiYjAsIDAsIHsweDFmLDB4NjAsMHgyYywweDQ4LDB4MGIsMHgxNiwweGEwLDB4ZjcsMHg4MCwweDNjLDB4ZjQsMHgwYywweDM4LDB4MDMsMHgxZSwweDAwIH0sCi0gIDE2LCAweGRiYzAsIDAsIHsweGNmLDB4YTAsMHhiMSwweGU4LDB4MGYsMHg3YiwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiZDAsIDAsIHsweDA4LDB4MGQsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZjMsMHgyMSwweDNlIH0sCi0gIDE2LCAweGRiZTAsIDAsIHsweGM4LDB4MDcsMHhiMCwweDAyLDB4ZTQsMHgwMCwweGZiLDB4MjAsMHgzZiwweDQwLDB4MGYsMHg4MCwweDAzLDB4ZTQsMHg4MCwweGZiIH0sCi0gIDE2LCAweGRiZjAsIDAsIHsweDAwLDB4MzYsMHhkMCwweDBmLDB4YTAsMHgwMywweGUwLDB4MDgsMHhmYiwweDQyLDB4M2UsMHhkOCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGRjMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjAsMHg4MCwweGNmLDB4ODAsMHgzMSwweGUxIH0sCi0gIDE2LCAweGRjMTAsIDAsIHsweDBjLDB4ZjgsMHgwMywweGRhLDB4MTAsMHhlZiwweDgwLDB4M2YsMHhlNCwweDBmLDB4ZDgsMHgwMywweGZlLDB4MTAsMHhmZiwweDgyIH0sCi0gIDE2LCAweGRjMjAsIDAsIHsweDNmLDB4ZTAsMHg0YywweGQ4LDB4MWIsMHgxNiwweDIwLDB4Y2YsMHg4MCwweDNmLDB4ZTAsMHg0YywweGQ4LDB4MzAsMHhlZSwweDQwIH0sCi0gIDE2LCAweGRjMzAsIDAsIHsweGZmLDB4YzAsMHhiMywweGY0LDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjNDAsIDAsIHsweGE4LDB4MDEsMHg5OCwweDIwLDB4ODMsMHg0MCwweDIxLDB4YzAsMHgwOCwweDcxLDB4MDIsMHhkYywweDg0LDB4ODcsMHgyMCwweDJkIH0sCi0gIDE2LCAweGRjNTAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4ZDksMHg2MCwweGY3LDB4MDAsMHgyZCwweGMwLDB4MDgsMHhmMCwweDgyLDB4MTQsMHgwNCwweDg3IH0sCi0gIDE2LCAweGRjNjAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDA4LDB4ZjAsMHgwMywweDFlLDB4MDAsMHhiNywweDIwLDB4MjEsMHhjMCwweDhiLDB4NzAsMHgwMiwweGVhIH0sCi0gIDE2LCAweGRjNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjAsMHgwMCwweDg3LDB4MDAsMHgyMSwweDgwIH0sCi0gIDE2LCAweGRjODAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGY1LDB4MDQsMHgyNywweDAwLDB4MmQsMHhjMCwweDhiLDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweDAwIH0sCi0gIDE2LCAweGRjOTAsIDAsIHsweDJjLDB4NTAsMHgwOCwweDQwLDB4MDIsMHgxNCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwOCwweDUwLDB4MDIsMHg1YywweDA0IH0sCi0gIDE2LCAweGRjYTAsIDAsIHsweGI3LDB4MDAsMHhhMSwweGMwLDB4OGIsMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjYjAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAwLDB4ODAsMHgwMCwweDAwLDB4ODAsMHgwOCwweDMwLDB4MDIsMHhjZSwweDAwLDB4ODMsMHhjMCwweDJjIH0sCi0gIDE2LCAweGRjYzAsIDAsIHsweGQwLDB4NGIsMHgzMCwweDAyLDB4Y2UsMHgwMCwweGFiLDB4MDIsMHgyYywweDQwLDB4NDgsMHhiYywweDAyLDB4MDQsMHgwMCwweDgzIH0sCi0gIDE2LCAweGRjZDAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDA4LDB4MTAsMHgwMiwweDAwLDB4MDgsMHhiMywweDAwLDB4MjAsMHhjMCwweDA5LDB4MzAsMHgwMiwweGM4IH0sCi0gIDE2LCAweGRjZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODMsMHg0MCwweGM4LDB4MDAsMHgzMCwweGMwIH0sCi0gIDE2LCAweGRjZjAsIDAsIHsweDJjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhlZiwweDg4LDB4M2YsMHhlNiwweDA3LDB4YjEsMHg4MywweGUxLDB4MDAsMHhiZiwweDAwIH0sCi0gIDE2LCAweGRkMDAsIDAsIHsweDNlLDB4ZTAsMHgwYywweGI4LDB4MDMsMHgzNCwweDAwLDB4Y2YsMHgwMCwweDNmLDB4YzAsMHgyYywweGIwLDB4MDMsMHg2OCwweDEwIH0sCi0gIDE2LCAweGRkMTAsIDAsIHsweGZmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkMjAsIDAsIHsweDgwLDB4MDAsMHhlNCwweDAwLDB4ZjEsMHg0MCwweDNlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhlZCwweDQwLDB4ZmIsMHgwOCwweDNlIH0sCi0gIDE2LCAweGRkMzAsIDAsIHsweGMwLDB4MGYsMHhhMCwweDAzLDB4ZTUsMHgyMCwweGZiLDB4MDAsMHgzZSwweGUwLDB4MGQsMHhiMCwweDgzLDB4ZTQsMHgwMCwweGYzIH0sCi0gIDE2LCAweGRkNDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGM0LDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4MzAsMHgwMywweGUwIH0sCi0gIDE2LCAweGRkNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGNhLDB4MDAsMHgzMywweGUwIH0sCi0gIDE2LCAweGRkNjAsIDAsIHsweDRlLDB4ZjAsMHgwMywweDM0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4ZTgsMHgwMywweGYwLDB4MDAsMHhmZiwweDAwIH0sCi0gIDE2LCAweGRkNzAsIDAsIHsweGIxLDB4NDAsMHgwYywweGUwLDB4MDMsMHgzNCwweDAwLDB4ZWYsMHgwMCwweGIzLDB4YzAsMHgwYywweGYwLDB4MDMsMHgzOCwweDAwIH0sCi0gIDE2LCAweGRkODAsIDAsIHsweGNmLDB4MDAsMHgzZCwweGMwLDB4MGEsMHhmMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkOTAsIDAsIHsweDgxLDB4MDQsMHg2MiwweDIyLDB4ODgsMHg5MCwweDIyLDB4ZTAsMHgwOCwweDNjLDB4MDIsMHgyZSwweDA4LDB4YmIsMHgwMSwweDJlIH0sCi0gIDE2LCAweGRkYTAsIDAsIHsweGMwLDB4MGIsMHhhMCwweDAyLDB4NjYsMHgwMCwweGJiLDB4MDAsMHgyMiwweGEwLDB4MDgsMHhhOSwweDAyLDB4MjQsMHgwMCwweGJiIH0sCi0gIDE2LCAweGRkYjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDI4LDB4MmMsMHgwMiwweGEyLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweGEwIH0sCi0gIDE2LCAweGRkYzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjIsMHgwMCwweDk4LDB4MDAsMHgyMiwweGM4IH0sCi0gIDE2LCAweGRkZDAsIDAsIHsweDBhLDB4OTgsMHgwMiwweDI3LDB4MDQsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjEsMHgwMiwweGUyLDB4MDAsMHhiYiwweDAwIH0sCi0gIDE2LCAweGRkZTAsIDAsIHsweDIyLDB4ZTIsMHgwOCwweGIwLDB4MDIsMHhhNCwweDAwLDB4YWIsMHgwMCwweDIwLDB4YzAsMHgwYSwweDg4LDB4ODIsMHgyMywweDAwIH0sCi0gIDE2LCAweGRkZjAsIDAsIHsweDhiLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlMDAsIDAsIHsweDA4LDB4MTQsMHgwNCwweDAwLDB4OTEsMHg0MCwweDIyLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDJjIH0sCi0gIDE2LCAweGRlMTAsIDAsIHsweGMwLDB4NGIsMHgyOCwweDIyLDB4NDAsMHgwNCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgzMCwweDBhLDB4MDQsMHgwNCwweGIzIH0sCi0gIDE2LCAweGRlMjAsIDAsIHsweDAwLDB4NjAsMHhjMCwweDA4LDB4MDAsMHgwMiwweDg0LDB4MjAsMHg5MywweDAwLDB4MmMsMHhjMCwweDBhLDB4MzAsMHgwMiwweDgyIH0sCi0gIDE2LCAweGRlMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NjAsMHgwMCwweGRhLDB4NDAsMHhiMiwweDgwIH0sCi0gIDE2LCAweGRlNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4YTAsMHgwMywweGUwLDB4MDksMHhmZiwweDAwIH0sCi0gIDE2LCAweGRlNTAsIDAsIHsweDMyLDB4NDAsMHgwOCwweGEwLDB4MGIsMHgzNCwweDAwLDB4ZWIsMHgwMCwweDMxLDB4YzAsMHgwYywweDgwLDB4MDMsMHgyOCwweDgwIH0sCi0gIDE2LCAweGRlNjAsIDAsIHsweGM3LDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlNzAsIDAsIHsweGEwLDB4MTUsMHhkMCwweDAwLDB4ZWMsMHgyMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MGIsMHhmYywweDEwLDB4ZmYsMHgwMSwweDNmIH0sCi0gIDE2LCAweGRlODAsIDAsIHsweGMwLDB4MGYsMHhlMCwweDAzLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjQsMHgwMCwweGZmIH0sCi0gIDE2LCAweGRlOTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDRmLDB4YzAsMHgwMSwweGYwLDB4MDgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGRlYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGNjLDB4OTAsMHgzNywweDIwIH0sCi0gIDE2LCAweGRlYjAsIDAsIHsweDBlLDB4ZjAsMHgxMywweGJkLDB4MDQsMHhkNCwweGMxLDB4MzMsMHgyYywweDRjLDB4ZDksMHgyMywweDMyLDB4NjAsMHhmZiwweDIwIH0sCi0gIDE2LCAweGRlYzAsIDAsIHsweDNkLDB4ZTAsMHg0ZiwweGMxLDB4MDMsMHhiNiwweDQwLDB4Y2QsMHgwMCwweDM3LDB4ZTAsMHgwYywweGUyLDB4OGIsMHgxMCwweGMwIH0sCi0gIDE2LCAweGRlZDAsIDAsIHsweGNkLDB4MDAsMHgzMywweGM2LDB4MGYsMHhkOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlZTAsIDAsIHsweDgwLDB4MTAsMHhlZSwweDA4LDB4OGEsMHgyMCwweDIyLDB4MDAsMHgwOCwweGI3LDB4MDIsMHgyZCwweDAwLDB4OGEsMHgwMCwweGI2IH0sCi0gIDE2LCAweGRlZjAsIDAsIHsweDNjLDB4MDgsMHg5OSwweDAyLDB4MjcsMHg4NCwweGJmLDB4NjgsMHgyZSwweDgyLDB4MGIsMHgwMSwweDAyLDB4MjQsMHg0MCwweGQ5IH0sCi0gIDE2LCAweGRmMDAsIDAsIHsweDQyLDB4MjAsMHhjMCwweDhhLDB4YWMsMHgwMiwweDJkLDB4YzIsMHg4MiwweDQ4LDB4YTIsMHhkMCwweDBiLDB4ODIsMHgwMiwweDIwIH0sCi0gIDE2LCAweGRmMTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDg4LDB4MDQsMHgyNiwweDgwIH0sCi0gIDE2LCAweGRmMjAsIDAsIHsweDJhLDB4MzAsMHhjMiwweGE1LDB4ODAsMHhhOSwweDIxLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgwMiwweDAwLDB4MDAsMHhhMywweDEwIH0sCi0gIDE2LCAweGRmMzAsIDAsIHsweDJjLDB4YzgsMHgwYiwweDAwLDB4MDIsMHhjNCwweDkwLDB4ODMsMHg0MiwweDI0LDB4YzEsMHgwOCwweDAwLDB4MDIsMHg0MCwweDg4IH0sCi0gIDE2LCAweGRmNDAsIDAsIHsweGEzLDB4NjAsMHhhOCwweGMwLDB4MGIsMHgwMCwweGMyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmNTAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA2LDB4OGEsMHgwMCwweDIyLDB4ZTAsMHg0OCwweGIwLDB4MDIsMHgyZSwweDAyLDB4YWIsMHg4MCwweDJlIH0sCi0gIDE2LCAweGRmNjAsIDAsIHsweDIwLDB4NGEsMHg4YywweDAyLDB4MjYsMHgyMCwweGJiLDB4MDAsMHg2ZSwweDgwLDB4MGIsMHgzMCwweGMyLDB4NDYsMHgwNCwweDliIH0sCi0gIDE2LCAweGRmNzAsIDAsIHsweDBhLDB4YTIsMHhjMCwweDBhLDB4ODAsMHgxMiwweDZjLDB4NDAsMHhhOCwweDAwLDB4MmEsMHhjMCwweDBiLDB4OGMsMHgwMiwweDMwIH0sCi0gIDE2LCAweGRmODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGMxLDB4MDksMHgzNiwweDYxIH0sCi0gIDE2LCAweGRmOTAsIDAsIHsweDBlLDB4MzIsMHgwMywweGFiLDB4MjAsMHhmOCwweDg0LDB4M2EsMHg3OCwweDJlLDB4OTgsMHgwMywweDI2LDB4MDAsMHhlYiwweDAwIH0sCi0gIDE2LCAweGRmYTAsIDAsIHsweDNlLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlMiwweDAwLDB4YzksMHg0MCwweDM2LDB4ZTAsMHgwYywweGI0LDB4MDMsMHg2ZSwweDAwIH0sCi0gIDE2LCAweGRmYjAsIDAsIHsweGViLDB4MDAsMHgzYSwweGMwLDB4MGYsMHg4OCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmYzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGZhLDB4MTMsMHhmOCwweDEwLDB4ZGMsMHgwNCwweDI3IH0sCi0gIDE2LCAweGRmZDAsIDAsIHsweDQwLDB4MGQsMHg1MCwweDQzLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkOSwweDAzLDB4YjAsMHgwMCwweGY5IH0sCi0gIDE2LCAweGRmZTAsIDAsIHsweDAxLDB4M2YsMHhmMCwweDBmLDB4ZjAsMHgyMywweGIyLDB4MDAsMHhkNCwweGEwLDB4MzcsMHhjMCwweDBmLDB4YzAsMHgwYiwweGY4IH0sCi0gIDE2LCAweGRmZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgyMCwweGViLDB4MTAsMHhmMiwweDAwIH0sCi0gIDE2LCAweGUwMDAsIDAsIHsweDBlLDB4YjQsMHgwMywweDIxLDB4ODAsMHhjOSwweDQwLDB4M2EsMHg0OCwweDBmLDB4OTAsMHgxMywweGUxLDB4MjAsMHhmYiwweDAwIH0sCi0gIDE2LCAweGUwMTAsIDAsIHsweDNlLDB4YzAsMHgwYywweDg0LDB4MDMsMHgyNCwweDAwLDB4ZmIsMHgwMSwweDM2LDB4ZTAsMHgwYywweDc0LDB4MGIsMHg5YywweDAwIH0sCi0gIDE2LCAweGUwMjAsIDAsIHsweGNmLDB4MDAsMHgzMiwweGUwLDB4MGYsMHg4NCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwMzAsIDAsIHsweGM4LDB4MDUsMHgxZSwweDAwLDB4OGIsMHg4MCwweDIwLDB4NDAsMHgwOCwweGI4LDB4MDIsMHg4MywweDgwLDB4ODEsMHhhMCwweDIyIH0sCi0gIDE2LCAweGUwNDAsIDAsIHsweDc4LDB4MGIsMHg5MSwweDgzLDB4ZTMsMHgwMCwweGJmLDB4MDAsMHgwZSwweGMxLDB4MGEsMHhiNCwweDAzLDB4NjQsMHgwNCwweGI5IH0sCi0gIDE2LCAweGUwNTAsIDAsIHsweDUwLDB4MzIsMHhjMCwweDBhLDB4YjIsMHgwMiwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhkNCwweDBiLDB4ODgsMHgwMiwweGYyIH0sCi0gIDE2LCAweGUwNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHg0MiwweGEwLDB4ODAsMHgyMCwweDAwIH0sCi0gIDE2LCAweGUwNzAsIDAsIHsweDQ4LDB4MDAsMHgwMiwweDBkLDB4MDYsMHg4MCwweDgwLDB4MmEsMHhkMCwweDAzLDB4MDAsMHgwMiwweGM4LDB4MDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGUwODAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDM2LDB4MDIsMHg0MCwweDAwLDB4YjksMHgwMiwweDIyLDB4YzIsMHg4YiwweDI2LDB4MDIsMHgwYywweDEwIH0sCi0gIDE2LCAweGUwOTAsIDAsIHsweDAxLDB4MDIsMHgyNCwweGMwLDB4NGIsMHhhMSwweDAyLDB4ZjgsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwYTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA4LDB4OGUsMHg4MCwweDIxLDB4MjEsMHgwOCwweDI4LDB4YzIsMHg5ZSwweDAwLDB4OGUsMHg4MCwweDIxIH0sCi0gIDE2LCAweGUwYjAsIDAsIHsweDYwLDB4MGIsMHg3OCwweDAyLDB4OWUsMHgyMCwweGI3LDB4ODIsMHgyZiwweGExLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweGI1IH0sCi0gIDE2LCAweGUwYzAsIDAsIHsweDkxLDB4YTEsMHhlMCwweDBiLDB4MjksMHgwMiwweDMyLDB4NDQsMHg4NiwweDgwLDB4YTUsMHhlMCwweDBiLDB4NGMsMHgwMiwweGM4IH0sCi0gIDE2LCAweGUwZDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGUxLDB4MDAsMHgyMiwweDgwIH0sCi0gIDE2LCAweGUwZTAsIDAsIHsweDBlLDB4MDAsMHgwYiwweDI0LDB4MDAsMHhjMCwweDQ0LDB4MjgsMHhhZCwweDBmLDB4MjAsMHgwMiwweGM4LDB4MDAsMHhmMywweDAwIH0sCi0gIDE2LCAweGUwZjAsIDAsIHsweDFjLDB4YzAsMHgwYywweDAxLDB4MDMsMHg0OCwweDRjLDB4ZjIsMHgwNCwweDMwLDB4YzAsMHgwZiwweDE1LDB4MDMsMHg4MCwweDQwIH0sCi0gIDE2LCAweGUxMDAsIDAsIHsweGMxLDB4MDAsMHgxNCwweGM4LDB4MGYsMHgwMCwweDAzLDB4ZGEsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxMTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDQwLDB4ZjcsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGMwLDB4MDMsMHhlNCwweDAwLDB4ZmEsMHgwMSwweDNmIH0sCi0gIDE2LCAweGUxMjAsIDAsIHsweGMwLDB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwOCwweGZiLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAxLDB4ZmMsMHgxMCwweGZmIH0sCi0gIDE2LCAweGUxMzAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBlLDB4ZDEsMHgwMywweGZjLDB4NDIsMHhmZSwweDgwLDB4M2IsMHhjMCwweDBmLDB4YzAsMHgwMywweGQwIH0sCi0gIDE2LCAweGUxNDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGM4LDB4MDAsMHgzZSwweGMwIH0sCi0gIDE2LCAweGUxNTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGVlLDB4MDgsMHhjYiwweDAwLDB4MzIsMHhjMCwweDBmLDB4YTAsMHgyMywweGU2LDB4MDMsMHhjYiwweDRjIH0sCi0gIDE2LCAweGUxNjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweGIwLDB4MDcsMHhlOCwweDAwLDB4ZjksMHgwMCwweDE2LDB4NDAsMHgwYywweGEwLDB4MGIsMHg2YywweDAwIH0sCi0gIDE2LCAweGUxNzAsIDAsIHsweGNmLDB4MDIsMHgzMiwweGM1LDB4MGMsMHg4MCwweDAzLDB4MDIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxODAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDgwLDB4ODQsMHgwNCwweDJkLDB4YzEsMHgwYiwweDQwLDB4NDAsMHhkYywweDAwLDB4ODcsMHgwNCwweDIxIH0sCi0gIDE2LCAweGUxOTAsIDAsIHsweGMwLDB4NGIsMHg3MCwweDEyLDB4ZmMsMHgwMSwweDhmLDB4NjAsMHgyOSwweDQwLDB4MGIsMHg3MCwweDEzLDB4OWMsMHgwMCwweGI1IH0sCi0gIDE2LCAweGUxYTAsIDAsIHsweDAwLDB4YTMsMHg0MCwweDBhLDB4NjAsMHgwMiwweDAwLDB4MDAsMHg4NCwweDAwLDB4MjEsMHhjMCwweDA4LDB4NDAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGUxYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGEyIH0sCi0gIDE2LCAweGUxYzAsIDAsIHsweDBiLDB4NGMsMHgxNiwweGQ2LDB4MDgsMHg5NywweDg4LDB4MjEsMHhhMCwweDRiLDB4NjgsMHgwMiwweGRlLDB4MDQsMHhhNywweDgwIH0sCi0gIDE2LCAweGUxZDAsIDAsIHsweDIxLDB4ZTAsMHgwYiwweDQ4LDB4MDIsMHhkYSwweDA0LDB4YjYsMHg4MiwweDI1LDB4NjAsMHgwYSwweGU4LDB4NjIsMHgxZSwweDAwIH0sCi0gIDE2LCAweGUxZTAsIDAsIHsweDg3LDB4ODAsMHgyMCwweGU4LDB4MDgsMHg0OCwweDAyLDB4MDgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4OGIsMHg4MCwweDZjLDB4ZjAsMHgwYiwweDNjLDB4MDIsMHhjZSwweDQ2LDB4OWIsMHhjMCwweDIwIH0sCi0gIDE2LCAweGUyMDAsIDAsIHsweGU0LDB4MGIsMHgzYywweDAyLDB4Y2MsMHgyMCwweGEzLDB4MDAsMHgyOCwweGUwLDB4MGIsMHgzMCwweDAyLDB4OGQsMHg4MCwweGIxIH0sCi0gIDE2LCAweGUyMTAsIDAsIHsweDgwLDB4MjIsMHg0NCwweDBhLDB4MjEsMHgwYSwweDAzLDB4ODIsMHg4MCwweDgwLDB4YTAsMHhjMCwweDA4LDB4MDYsMHgwYSwweDEyIH0sCi0gIDE2LCAweGUyMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMiwweGNlLDB4ODAsMHgzZiwweGEwIH0sCi0gIDE2LCAweGUyMzAsIDAsIHsweDBmLDB4ZTAsMHgwMywweGZhLDB4NDAsMHhkZSwweGMwLDB4YjMsMHg5MCwweDBmLDB4ZWEsMHgxMywweGY5LDB4MDgsMHhlYSwweDA0IH0sCi0gIDE2LCAweGUyNDAsIDAsIHsweDMzLDB4ODIsMHg4ZiwweGU0LDB4MDMsMHhmYiwweDA4LDB4ZmUsMHhhMCwweDM2LDB4YTAsMHgwYywweGFjLDB4MGIsMHg2YiwweDgyIH0sCi0gIDE2LCAweGUyNTAsIDAsIHsweGM2LDB4YTAsMHgzMiwweDgwLDB4MmMsMHhlNCwweDAzLDB4M2EsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg5MCwweDNlLDB4MDIsMHgwZiwweDgwLDB4ODMsMHhlMSwweDAwLDB4ZTgsMHgyMCwweDNlIH0sCi0gIDE2LCAweGUyNzAsIDAsIHsweDAzLDB4MGYsMHg4MiwweDAzLDB4ZTEsMHg0MCwweGQ4LDB4MDAsMHgzZSwweDIwLDB4MGYsMHgwMCwweDkzLDB4YTAsMHg0MCwweGY4IH0sCi0gIDE2LCAweGUyODAsIDAsIHsweDAwLDB4M2UsMHgxMCwweDhmLDB4MDgsMHgwYiwweGYwLDB4MDAsMHhmYywweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGUyOTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGUyYTAsIDAsIHsweDBmLDB4OTQsMHgwNywweGU2LDB4MDAsMHhmOSwweDgwLDB4YjAsMHg0MCwweDBjLDB4OTQsMHgwMywweGU0LDB4NDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGUyYjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDk0LDB4MGIsMHhhNCwweDAwLDB4NzEsMHhjMCwweDMyLDB4NDAsMHgyYywweDk0LDB4MjMsMHgyNCwweDAyIH0sCi0gIDE2LCAweGUyYzAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyZDAsIDAsIHsweDgwLDB4MDQsMHg0NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDk4LDB4MDIsMHhlNiwweDYwLDB4YjksMHgwMCwweDIyIH0sCi0gIDE2LCAweGUyZTAsIDAsIHsweDYwLDB4MGEsMHg5YywweDAyLDB4ZTYsMHgyNCwweGI5LDB4MDQsMHgzNiwweDQwLDB4MGIsMHg5OCwweDAwLDB4MjQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGUyZjAsIDAsIHsweDgwLDB4YTIsMHg1MiwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDQwLDB4MjIsMHg0MCwweDY4LDB4OTQsMHgwMiwweDIwIH0sCi0gIDE2LCAweGUzMDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyNiwweDQwIH0sCi0gIDE2LCAweGUzMTAsIDAsIHsweDAzLDB4OTQsMHgwMiwweGU0LDB4MDEsMHhiOSwweDEwLDB4MjIsMHg1NSwweDA4LDB4OTAsMHgyMiwweGU0LDB4MDAsMHhiMSwweDAwIH0sCi0gIDE2LCAweGUzMjAsIDAsIHsweDI2LDB4NDAsMHgwYiwweDkwLDB4MDAsMHgyYywweDA5LDB4YjksMHgwMCwweDIyLDB4NjAsMHgwOCwweDkwLDB4MGEsMHgxYywweDA0IH0sCi0gIDE2LCAweGUzMzAsIDAsIHsweDhkLDB4MDgsMHhhMCwweDQwLDB4MDgsMHgxMCwweDgyLDB4MGUsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNDAsIDAsIHsweDA4LDB4MDQsMHgwNiwweDAwLDB4ODEsMHgwMCwweDIwLDB4NTAsMHgwYiwweDEyLDB4NDIsMHhjNCwweDgwLDB4YjEsMHgwNCwweDIwIH0sCi0gIDE2LCAweGUzNTAsIDAsIHsweDUwLDB4MGEsMHgxNCwweDAyLDB4YzUsMHgwMCwweGIxLDB4MjIsMHgyNCwweDQwLDB4MGIsMHgxMiwweDIyLDB4MDQsMHgwMSwweGIxIH0sCi0gIDE2LCAweGUzNjAsIDAsIHsweDQwLDB4MjAsMHg1MCwweDA4LDB4MTAsMHgwYSwweDE1LDB4MDAsMHg4NSwweDQwLDB4MjgsMHg1MCwweDA4LDB4MTQsMHgwYSwweDBhIH0sCi0gIDE2LCAweGUzNzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGU4LDB4NTAsMHgzNiwweDAwIH0sCi0gIDE2LCAweGUzODAsIDAsIHsweDBmLDB4ODUsMHgwMiwweGUxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4YTAsMHgyMywweGUwLDB4MTAsMHhmOCwweDUwIH0sCi0gIDE2LCAweGUzOTAsIDAsIHsweGIyLDB4MTQsMHgwZiwweGE1LDB4MDMsMHhhMSwweDQ4LDB4ZmEsMHgwMCwweGIyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDA0IH0sCi0gIDE2LCAweGUzYTAsIDAsIHsweGM0LDB4MDIsMHgzMiwweDAwLDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzYjAsIDAsIHsweDk4LDB4MWQsMHhlNSwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhkNCwweDQ0LDB4ZjUsMHgwMCwweDNmIH0sCi0gIDE2LCAweGUzYzAsIDAsIHsweDUxLDB4MGYsMHhkNCwweDAzLDB4ZjUsMHgwMCwweGY5LDB4MTAsMHgzYiwweDQwLDB4MGYsMHhkMSwweDAwLDB4ZjUsMHgxMCwweGY1IH0sCi0gIDE2LCAweGUzZDAsIDAsIHsweDQwLDB4N2YsMHg0MCwweDBmLDB4NTQsMHgyYiwweGU1LDB4MDAsMHhmOSwweDQwLDB4MzYsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU2IH0sCi0gIDE2LCAweGUzZTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgxMCwweGJkLDB4NDAsMHgzMywweDQwIH0sCi0gIDE2LCAweGUzZjAsIDAsIHsweDBmLDB4ZGEsMHgwMywweDM3LDB4ODAsMHhjZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhlOSwweGEwIH0sCi0gIDE2LCAweGU0MDAsIDAsIHsweDNlLDB4NDAsMHgwYywweGRlLDB4MTcsMHhhNCwweDA4LDB4ZmQsMHhjMCwweDMzLDB4NDEsMHg4ZCwweGRhLDB4MTMsMHgyNiwweGEwIH0sCi0gIDE2LCAweGU0MTAsIDAsIHsweGY5LDB4YTgsMHgzMiwweDc4LDB4MGMsMHhiNCwweDBiLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0MjAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDAwLDB4YjgsMHhhMCwweDM2LDB4MjAsMHgwYiwweDhhLDB4ODIsMHhhMiwweDgwLDB4MmEsMHhhOCwweDJlIH0sCi0gIDE2LCAweGU0MzAsIDAsIHsweDAwLDB4MGIsMHg4MCwweDEyLDB4ZTAsMHgwNCwweGI4LDB4YTEsMHgyZSwweDI4LDB4NGEsMHg4ZSwweDAyLDB4MmEsMHhhMCwweGJhIH0sCi0gIDE2LCAweGU0NDAsIDAsIHsweGMwLDB4MjIsMHgyOCwweDA4LDB4ODUsMHgwMiwweDIxLDB4MDgsMHhiOCwweGU4LDB4YTIsMHgzYywweDA4LDB4YzgsMHgwMiwweDBlIH0sCi0gIDE2LCAweGU0NTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGI5LDB4MDAsMHgyMCwweDRhIH0sCi0gIDE2LCAweGU0NjAsIDAsIHsweDBiLDB4MTQsMHgwMiwweDA1LDB4ODAsMHgwMSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDQsMHhhMSwweDRhIH0sCi0gIDE2LCAweGU0NzAsIDAsIHsweDJlLDB4NDIsMHgwOCwweDE0LDB4MDIsMHg4NCwweDEwLDB4YjEsMHg2MCwweGEwLDB4NGEsMHgwOSwweDEwLDB4MDIsMHg0NCwweDAwIH0sCi0gIDE2LCAweGU0ODAsIDAsIHsweGI1LDB4MDEsMHgyOSwweDQwLDB4MTgsMHhkMiwweDAyLDB4MTIsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgyMSwweDI2LDB4NDAsMHgwYiwweDk2LDB4MDIsMHhhNCwweDEwLDB4YTksMHgwMCwweDJlIH0sCi0gIDE2LCAweGU0YTAsIDAsIHsweDQwLDB4MGIsMHg5NiwweDEyLDB4ZTQsMHgyMCwweGI5LDB4MDAsMHgyZSwweDQxLDB4MGEsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGU0YjAsIDAsIHsweDAwLDB4MjIsMHg0MSwweDA4LDB4OTgsMHgyMiwweDY0LDB4MDAsMHhiOSwweDIwLDB4MmIsMHg0MSwweDI4LDB4ZDQsMHgwMiwweDA2IH0sCi0gIDE2LCAweGU0YzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGY5LDB4ZTAsMHgzMiwweDU4IH0sCi0gIDE2LCAweGU0ZDAsIDAsIHsweDBmLDB4OTgsMHgwMywweDI2LDB4NDAsMHhjOSwweDQwLDB4M2UsMHg1OCwweDBmLDB4OWMsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwIH0sCi0gIDE2LCAweGU0ZTAsIDAsIHsweDZlLDB4NDAsMHgwYywweDlhLDB4MDIsMHhhNiwweDAwLDB4ZjksMHg0NCwweDMyLDB4NDAsMHgwZCwweDlhLDB4MGIsMHg2NCwweDg0IH0sCi0gIDE2LCAweGU0ZjAsIDAsIHsweGY5LDB4MDAsMHhiYSwweDQwLDB4MGMsMHgxOCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MDAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NTAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwNCwweDNlIH0sCi0gIDE2LCAweGU1MTAsIDAsIHsweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MDAsMHgzZSwweDY1LDB4MGYsMHg5OSwweDgxLDB4ZTQsMHg1MCwweGY5IH0sCi0gIDE2LCAweGU1MjAsIDAsIHsweDIwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGE0LDB4ODAsMHhmOSwweDAwLDB4MzQsMHg0MCwweDBmLDB4OTIsMHgwMywweGQyIH0sCi0gIDE2LCAweGU1MzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDEwIH0sCi0gIDE2LCAweGU1NDAsIDAsIHsweDBlLDB4ODQsMHgwMywweDYwLDB4MDgsMHhjOCwweDAwLDB4M2UsMHgwOCwweDBmLDB4ODAsMHg4MywweGUwLDB4MjgsMHhlOCwweDA0IH0sCi0gIDE2LCAweGU1NTAsIDAsIHsweDNlLDB4MDAsMHgwYywweDg0LDB4MDMsMHgyMSwweDFjLDB4ZjAsMHg0OCwweDMyLDB4MDAsMHgwYiwweDAwLDB4MDMsMHhlMCwweDAyIH0sCi0gIDE2LCAweGU1NjAsIDAsIHsweGMwLDB4MDAsMHgzMiwweDAwLDB4MGMsMHhjMCwweDBiLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1NzAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4YjIsMHg4OCwweDJlLDB4ODAsMHgwOCwweGUwLDB4MDMsMHg3YSwweDgwLDB4OGUsMHgwMCwweDJmIH0sCi0gIDE2LCAweGU1ODAsIDAsIHsweGEwLDB4MGIsMHhlOCwweDAyLDB4ZjksMHgxMCwweGJhLDB4MDAsMHgyYywweDgwLDB4MjgsMHhlNCwweDAyLDB4MjgsMHgwMCwweGJlIH0sCi0gIDE2LCAweGU1OTAsIDAsIHsweDQwLDB4MjMsMHhiOCwweDA4LDB4ZTgsMHgwMiwweGU4LDB4MDQsMHhjYSwweDIwLDB4YTIsMHg4MCwweDA4LDB4ZTgsMHgwMiwweDBhIH0sCi0gIDE2LCAweGU1YTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMSwweGIzLDB4MDAsMHgyYywweDQwIH0sCi0gIDE2LCAweGU1YjAsIDAsIHsweDA4LDB4YjgsMHg0MiwweDZjLDB4MDIsMHg4MywweDAwLDB4MmMsMHhlMCwweDBiLDB4MzgsMHgwMCwweGNmLDB4NDAsMHhiMywweDAwIH0sCi0gIDE2LCAweGU1YzAsIDAsIHsweDJjLDB4YzAsMHgwOCwweGI0LDB4MGEsMHgwYywweDAwLDB4YjMsMHg0MCwweGEyLDB4ODIsMHgwYSwweDM5LDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweGU1ZDAsIDAsIHsweDkzLDB4ODAsMHhhMCwweGMwLDB4MjksMHgyMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1ZTAsIDAsIHsweGEwLDB4MDEsMHgxZCwweDAwLDB4YjcsMHgwMCwweDJkLDB4NjQsMHgyOCwweDc0LDB4MDIsMHg0MCwweDAwLDB4ODcsMHgwNSwweDJkIH0sCi0gIDE2LCAweGU1ZjAsIDAsIHsweDkwLDB4MGIsMHg3NCwweDAyLDB4ZGMsMHgxMCwweGI3LDB4MzAsMHgyZCwweGM4LDB4MDgsMHgzNCwweDA2LDB4MWMsMHg4MCwweGI3IH0sCi0gIDE2LCAweGU2MDAsIDAsIHsweDAwLDB4YTEsMHhjMCwweDBhLDB4NzAsMHgwMiwweGRlLDB4ODAsMHg4MywweDAwLDB4MDEsMHgwMCwweDA5LDB4NjAsMHg4MiwweDIwIH0sCi0gIDE2LCAweGU2MTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWEsMHgwMCwweGY3LDB4ODAsMHgzZCwweDYwIH0sCi0gIDE2LCAweGU2MjAsIDAsIHsweDBlLDB4ZDgsMHgwYiwweDVlLDB4MDAsMHhjNywweDgwLDB4M2QsMHhlMCwweDBmLDB4NjgsMHgwMywweGRlLDB4MTAsMHhmNywweGE5IH0sCi0gIDE2LCAweGU2MzAsIDAsIHsweDdmLDB4ZTgsMHg0OCwweDc4LDB4MDMsMHgxZiwweDMwLDB4ZmYsMHg5NCwweDMzLDB4YTAsMHgwZSwweDc4LDB4MDMsMHhjZiwweDI0IH0sCi0gIDE2LCAweGU2NDAsIDAsIHsweGQ2LDB4ODAsMHhiMSwweGUwLDB4MGQsMHhmOCwweDQzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2NTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4YmIsMHgwMCwweDBjLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhlYywweDA4LDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGU2NjAsIDAsIHsweDAwLDB4MGYsMHg5MCwweDQxLDB4ZWMsMHgwMCwweGZiLDB4NjEsMHg3ZSwweGQwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHg4MCwweGZiIH0sCi0gIDE2LCAweGU2NzAsIDAsIHsweDQwLDB4M2YsMHg5YiwweDBjLDB4YjAsMHgwMywweGVkLDB4OTAsMHhmYSwweDAwLDB4M2MsMHgwMCwweDBlLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweGU2ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZGUsMHgwMCwweGVmLDB4ODAsMHgzMywweDYwIH0sCi0gIDE2LCAweGU2OTAsIDAsIHsweDBkLDB4ZDgsMHgwMywweDM2LDB4NDAsMHhlZiwweDkwLDB4M2UsMHhlMCwweDBmLDB4ZjksMHgwMywweGZlLDB4MDAsMHhmZiwweDgwIH0sCi0gIDE2LCAweGU2YTAsIDAsIHsweDMzLDB4ZmUsMHgwYywweGZhLDB4MDMsMHhmZSwweDAwLDB4Y2YsMHg4MCwweGIzLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhmZSwweDAwIH0sCi0gIDE2LCAweGU2YjAsIDAsIHsweGNkLDB4ODAsMHgzMywweGUwLDB4MGYsMHhjOCwweDQzLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2YzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ODUsMHgwOCwweDM1LDB4NDAsMHgwOCwweDcwLDB4MDMsMHg1MiwweDIwLDB4ODcsMHgxMSwweDJjIH0sCi0gIDE2LCAweGU2ZDAsIDAsIHsweGVjLDB4MGIsMHg3MSwweDAyLDB4ZDAsMHgwMCwweGU3LDB4MDAsMHgzNSwweGM0LDB4MDgsMHg3NCwweDAyLDB4ZGMsMHg0MCwweDg3IH0sCi0gIDE2LCAweGU2ZTAsIDAsIHsweDEwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGZjLDB4ODAsMHg4NSwweDA4LDB4MjEsMHgwMCwweDBiLDB4NDEsMHg4MiwweGVhIH0sCi0gIDE2LCAweGU2ZjAsIDAsIHsweDA2LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgwMCwweGFmLDB4MDAsMHgyMywweDUwIH0sCi0gIDE2LCAweGU3MDAsIDAsIHsweDA5LDB4NTAsMHgwMiwweDFjLDB4ODAsMHhhNywweDAxLDB4MjksMHhjMCwweDFiLDB4NjAsMHgwNiwweGRjLDB4NDAsMHhiNywweDEwIH0sCi0gIDE2LCAweGU3MTAsIDAsIHsweDIxLDB4YzgsMHg0YSwweDUyLDB4MDIsMHhkYywweDAwLDB4ODMsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkYywweDEzIH0sCi0gIDE2LCAweGU3MjAsIDAsIHsweDg0LDB4MDAsMHgyNSwweGMwLDB4MGIsMHg1OCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3MzAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4ODEsMHg4MCwweDI0LDB4NDAsMHgwOCwweDNlLDB4MDIsMHg2ZSwweDAwLDB4ODksMHgwMCwweDJjIH0sCi0gIDE2LCAweGU3NDAsIDAsIHsweGMwLDB4MGIsMHhiNCwweDAyLDB4Y2EsMHg4MCwweGEzLDB4MDAsMHgyNCwweGMwLDB4MGEsMHgwNCwweDAyLDB4ZWMsMHg0MCwweDgyIH0sCi0gIDE2LCAweGU3NTAsIDAsIHsweDBhLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNkLDB4MTAsMHg4MCwweGMwLDB4YTQsMHgwMCwweDBiLDB4MWMsMHgwMiwweGM4IH0sCi0gIDE2LCAweGU3NjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODQsMHgwMCwweGViLDB4ODAsMHgzMywweDQwIH0sCi0gIDE2LCAweGU3NzAsIDAsIHsweDBkLDB4OGMsMHg4MywweDI2LDB4MDAsMHhlOSwweGEwLDB4M2UsMHg3OCwweDhmLDB4OTAsMHg4MywweGUxLDB4MDAsMHhmZiwweDAwIH0sCi0gIDE2LCAweGU3ODAsIDAsIHsweDMxLDB4ZDEsMHgwZSwweDg0LDB4MjMsMHhmYywweDAwLDB4Y2IsMHg4MiwweDMyLDB4YzAsMHg4ZiwweGIwLDB4MDIsMHhmZCwweDQwIH0sCi0gIDE2LCAweGU3OTAsIDAsIHsweGNiLDB4ODAsMHhiNiwweGMwLDB4MGYsMHhhNCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3YTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweGEwLDB4MDMsMHhlMCwweDAwLDB4ZjksMHgwMSwweDNlIH0sCi0gIDE2LCAweGU3YjAsIDAsIHsweDQyLDB4MGYsMHg5MCwweDAzLDB4ZTUsMHg1NCwweGUzLDB4MDAsMHgzZSwweGM4LDB4MDUsMHg5MywweDAzLDB4ZWMsMHg4MCwweGZiIH0sCi0gIDE2LCAweGU3YzAsIDAsIHsweGMxLDB4M2UsMHhjMCwweDBmLDB4MjAsMHgwMywweGNjLDB4NDgsMHhmMywweDA4LDB4M2EsMHgwMCwweDBmLDB4YTAsMHg0MywweGUwIH0sCi0gIDE2LCAweGU3ZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGNmLDB4MDAsMHgzZiwweDQwIH0sCi0gIDE2LCAweGU3ZTAsIDAsIHsweDBmLDB4MzAsMHgwMSwweDJjLDB4MGEsMHhjZCwweDEwLDB4MzMsMHgwMCwweDBmLDB4ZDAsMHg4MywweDE0LDB4MDAsMHhjYiwweDAyIH0sCi0gIDE2LCAweGU3ZjAsIDAsIHsweDMzLDB4YzAsMHgwYywweGUxLDB4MDMsMHhlYywweDEwLDB4Y2QsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4MzMsMHgzYywweDAwIH0sCi0gIDE2LCAweGU4MDAsIDAsIHsweGVhLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmMCwweDgzLDB4YzgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4MTAsIDAsIHsweDgxLDB4MDQsMHg2ZSwweDAwLDB4OGIsMHgwMCwweDJlLDB4NDAsMHgwYiwweGJjLDB4MDIsMHgyZSwweDAwLDB4MGIsMHgwMCwweDIyIH0sCi0gIDE2LCAweGU4MjAsIDAsIHsweDMwLDB4MGIsMHg5YywweDAyLDB4MjcsMHg4MCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MDgsMHhiOCwweDAyLDB4ZWMsMHgwMCwweDg5IH0sCi0gIDE2LCAweGU4MzAsIDAsIHsweGMwLDB4MjAsMHhlMCwweDA4LDB4YWUsMHgwMiwweDJjLDB4MDgsMHg4YSwweDAwLDB4MjIsMHgwMCwweDA4LDB4YjAsMHg0MiwweGU4IH0sCi0gIDE2LCAweGU4NDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmUsMHgwMCwweDhiLDB4MDQsMHgyZSwweDQwIH0sCi0gIDE2LCAweGU4NTAsIDAsIHsweDhiLDB4OGMsMHgwMiwweGFlLDB4MTAsMHg4OSwweDAwLDB4MjIsMHg3MCwweDBiLDB4OGMsMHgwMiwweGEyLDB4MDAsMHg4YiwweDAxIH0sCi0gIDE2LCAweGU4NjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweDgwLDB4MDIsMHhlYywweDEwLDB4ODIsMHg4OCwweGEyLDB4NzAsMHgwOSwweGI4LDB4MDIsMHgyYywweDA4IH0sCi0gIDE2LCAweGU4NzAsIDAsIHsweDg5LDB4MDAsMHgyMCwweGMwLDB4MjgsMHg4MCwweDIyLDB4ZTAsMHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4ODEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDIwLDB4MDIsMHg4MCwweDAwLDB4ODEsMHgwNCwweGEwIH0sCi0gIDE2LCAweGU4OTAsIDAsIHsweDUwLDB4NGIsMHgwMCwweDBhLDB4ODAsMHgwMCwweGEzLDB4MDEsMHgyYSwweGMxLDB4MjAsMHgxMCwweDAyLDB4Y2MsMHgxNCwweDgzIH0sCi0gIDE2LCAweGU4YTAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4MjAsMHgwMiwweDBjLDB4MDAsMHg4MSwweDAwLDB4ZTAsMHgwMCwweDA4LDB4MDAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGU4YjAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjgsMHgwMCwweGNiLDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGU4YzAsIDAsIHsweDBmLDB4OTAsMHgwYiwweGFjLDB4ODAsMHhjOSwweDAwLDB4MzIsMHgxMCwweDBmLDB4ODAsMHgwMywweGE0LDB4MDAsMHhjZiwweDAyIH0sCi0gIDE2LCAweGU4ZDAsIDAsIHsweDMxLDB4YzAsMHgwYywweDgwLDB4MTMsMHhmYywweDAyLDB4Y2QsMHgwMCwweDMzLDB4YzAsMHgyYywweDkwLDB4MDMsMHgzYywweDAyIH0sCi0gIDE2LCAweGU4ZTAsIDAsIHsweGU4LDB4MDAsMHhiMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAyLDB4ZjUsMHgwMCwweDNkLDB4NDAsMHg4ZiwweGYwLDB4MjMsMHg2ZCwweDAwLDB4ZmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweGU5MDAsIDAsIHsweDA0LDB4MGYsMHhjMCwweDAzLDB4NzAsMHgxYywweGZmLDB4MDEsMHgzZiwweGMwLDB4NGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZkIH0sCi0gIDE2LCAweGU5MTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ZTAsMHgwZiwweGZjLDB4MTgsMHhmYywweDAwLDB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwMywweGU4IH0sCi0gIDE2LCAweGU5MjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGQ3LDB4MDIsMHgwZiwweDMwIH0sCi0gIDE2LCAweGU5MzAsIDAsIHsweDBjLDB4ZjIsMHgwMSwweDdlLDB4MDYsMHg0NCwweDMwLDB4M2YsMHgyMCwweDBlLDB4ZjAsMHgwMiwweDdjLDB4ODQsMHhmZCwweDIwIH0sCi0gIDE2LCAweGU5NDAsIDAsIHsweDI3LDB4MDgsMHgwYywweGQwLDB4MDEsMHgzNiwweDAwLDB4ZmYsMHg2MCwweDMzLDB4Y2MsMHgwYiwweGYxLDB4MTMsMHgyYywweGM0IH0sCi0gIDE2LCAweGU5NTAsIDAsIHsweGZmLDB4MzAsMHgwZiwweGNkLDB4MGMsMHhmNCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5NjAsIDAsIHsweDgwLDB4MTAsMHhlZSwweDAwLDB4OGYsMHhjMCwweDJlLDB4MDAsMHgwOCwweGZjLDB4MDIsMHgyZSwweDAwLDB4OGEsMHgzMCwweDI4IH0sCi0gIDE2LCAweGU5NzAsIDAsIHsweDUyLDB4MDgsMHhmNiwweDgyLDB4M2MsMHg2OCwweGJkLDB4OTAsMHgzMiwweDM0LDB4NDgsMHg5YywweDEyLDB4MjYsMHgwMCwweGNmIH0sCi0gIDE2LCAweGU5ODAsIDAsIHsweDQwLDB4MjMsMHhjYywweDBiLDB4ZjYsMHgwMiwweDNkLDB4MDAsMHhiZiwweDEwLDB4MmYsMHhjYywweDg4LDB4ZjYsMHgwMiwweGUwIH0sCi0gIDE2LCAweGU5OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDkzLDB4MTAsMHgyYywweDA4IH0sCi0gIDE2LCAweGU5YTAsIDAsIHsweDA5LDB4MzEsMHgwMiwweDRjLDB4MDAsMHg5YiwweDIwLDB4NjQsMHg1OCwweDAzLDB4MzEsMHg2MiwweDRjLDB4ODEsMHhhMSwweDAwIH0sCi0gIDE2LCAweGU5YjAsIDAsIHsweDIwLDB4MDAsMHg0OCwweDE0LDB4MDIsMHg0NCwweDAwLDB4OTMsMHgzMCwweDI0LDB4YzAsMHgwYiwweDMzLDB4MDIsMHg4ZCwweDg0IH0sCi0gIDE2LCAweGU5YzAsIDAsIHsweGIzLDB4MjAsMHg2YywweGMwLDB4MmEsMHgzNiwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5ZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4OWIsMHgwMiwweDJlLDB4NDEsMHgwYiwweGIwLDB4MDIsMHhhNCwweDAwLDB4OWEsMHgwMCwweDRhIH0sCi0gIDE2LCAweGU5ZTAsIDAsIHsweDYwLDB4ODgsMHhiMCwweDUyLDB4NmMsMHgwMSwweGI5LDB4MDAsMHgyNiwweDAwLDB4MDgsMHg5MSwweDIyLDB4ZWMsMHgwOCwweGJiIH0sCi0gIDE2LCAweGU5ZjAsIDAsIHsweDAwLDB4MjYsMHhjMCwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDAsMHhiYiwweDA1LDB4NmUsMHhjMSwweDBhLDB4YjAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGVhMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGRiLDB4MDEsMHgzZSwweDMwIH0sCi0gIDE2LCAweGVhMTAsIDAsIHsweDJkLDB4MzAsMHgwMywweDQ3LDB4NjAsMHhkOCwweGEwLDB4MTYsMHgzOCwweDhmLDB4YjAsMHgwMywweDZjLDB4MDAsMHg3OSwweDAyIH0sCi0gIDE2LCAweGVhMjAsIDAsIHsweDMxLDB4NjAsMHgwYywweGM4LDB4MGEsMHg2NiwweDAwLDB4YmIsMHgwMCwweGI2LDB4YzAsMHgwZiwweGIwLDB4MGIsMHhhYywweDAwIH0sCi0gIDE2LCAweGVhMzAsIDAsIHsweGZiLDB4MDEsMHgzZSwweGMxLDB4MGUsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDEwLDB4ZWYsMHgwOCwweDNmLDB4MjQsMHgwYywweGYwLDB4MDMsMHg3NiwweDIwLDB4ZWUsMHg5MCwweDM1IH0sCi0gIDE2LCAweGVhNTAsIDAsIHsweDQwLDB4MGUsMHg3MCwweDAzLDB4YWMsMHgwMCwweGZkLDB4MDAsMHhiYiwweDY0LDB4MGYsMHg4OCwweDEzLDB4MzQsMHg4MCwweGNiIH0sCi0gIDE2LCAweGVhNjAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDBmLDB4YjAsMHgwMywweDZjLDB4MDgsMHhmZiwweDAwLDB4M2UsMHhjMCwweDBkLDB4ZjAsMHgwMywweGY4IH0sCi0gIDE2LCAweGVhNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGZiLDB4ODAsMHgzMiwweDEwIH0sCi0gIDE2LCAweGVhODAsIDAsIHsweDBlLDB4YjAsMHgwMywweGVkLDB4MDAsMHhjYiwweDUwLDB4M2UsMHg0MCwweDhjLDB4YjAsMHg0MywweDJjLDB4MTAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGVhOTAsIDAsIHsweDMyLDB4NjAsMHgwYywweDQwLDB4MGIsMHgyNiwweDAwLDB4YzMsMHgwNCwweDM2LDB4YzAsMHgwYywweDMwLDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGVhYTAsIDAsIHsweDliLDB4MDAsMHhiMCwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhYjAsIDAsIHsweGM4LDB4MDUsMHgwZSwweDgwLDB4YmYsMHgwNCwweDJhLDB4NDAsMHgwMCwweGY1LDB4MDAsMHhlNiwweDAwLDB4ODIsMHhkMiwweDIyIH0sCi0gIDE2LCAweGVhYzAsIDAsIHsweDQwLDB4MGQsMHhmMCwweDIyLDB4M2MsMHgwMCwweDk1LDB4MDIsMHgzNiwweDQwLDB4MGEsMHg4MCwweDAyLDB4MmUsMHgwMCwweDhmIH0sCi0gIDE2LCAweGVhZDAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBhLDB4ZjAsMHg0MiwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MjMsMHhjMCwweDI4LDB4ZjAsMHgwMiwweGYyIH0sCi0gIDE2LCAweGVhZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGUsMHgwMCwweGIzLDB4MDAsMHgyMiwweDIwIH0sCi0gIDE2LCAweGVhZjAsIDAsIHsweDRhLDB4MzAsMHgwMCwweGNjLDB4MDAsMHg4MSwweGMwLDB4MjgsMHgwMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MTAsMHhhMSwweDAwIH0sCi0gIDE2LCAweGViMDAsIDAsIHsweDI4LDB4ODAsMHgxOCwweDMwLDB4MjIsMHgwNCwweDA0LDB4ODMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDA4IH0sCi0gIDE2LCAweGViMTAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDA2LDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViMjAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDI5LDB4YTAsMHgwOCwweDc4LDB4MDIsMHhmZSwweDIwLDB4OGQsMHg4MCwweDI5IH0sCi0gIDE2LCAweGViMzAsIDAsIHsweGU1LDB4NWIsMHgzOCwweDQyLDB4MWUsMHg0MCwweGExLDB4ODEsMHgyNSwweGE4LDB4MDgsMHg3OSwweDAyLDB4MzcsMHgwMCwweDg3IH0sCi0gIDE2LCAweGViNDAsIDAsIHsweDgwLDB4MjUsMHhlMCwweDBhLDB4NzgsMHgwYSwweGRlLDB4ODEsMHg4NywweDgwLDB4MjUsMHhlNSwweDQ4LDB4NzgsMHgwMiwweGM4IH0sCi0gIDE2LCAweGViNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGIzLDB4MTAsMHgzMCwweDEyIH0sCi0gIDE2LCAweGViNjAsIDAsIHsweDBlLDB4MzAsMHgxMiwweGNjLDB4YzAsMHhjMywweDAwLDB4MzgsMHg4MCwweDBjLDB4MzEsMHgwNiwweDBjLDB4NDAsMHhmMSwweDAwIH0sCi0gIDE2LCAweGViNzAsIDAsIHsweDM4LDB4ODAsMHgwYywweDMwLDB4NDMsMHgwNCwweDQyLDB4YzMsMHgwMCwweDM2LDB4YzAsMHgwYywweDMyLDB4MDMsMHhjZSwweGMwIH0sCi0gIDE2LCAweGViODAsIDAsIHsweGRiLDB4MDAsMHgzMCwweGMwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViOTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgxMCwweDNkLDB4ODQsMHg0ZiwweGYxLDB4MDMsMHhkMCwweDQwLDB4ZmMsMHgxMCwweDMzIH0sCi0gIDE2LCAweGViYTAsIDAsIHsweDgwLDB4NWQsMHhiMSwweDgzLDB4ZmMsMHg1MCwweGRkLDB4MGEsMHgyNSwweDg5LDB4MGYsMHhiOCwweDAzLDB4ZDQsMHgwMCwweGZmIH0sCi0gIDE2LCAweGViYjAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwMywweDNjLDB4NDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweGViYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MjAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGViZDAsIDAsIHsweDBmLDB4YjUsMHgwMywweDI5LDB4MjAsMHhmOSwweDAwLDB4MzIsMHhhMCwweDBjLDB4YjAsMHg4MywweGVjLDB4MDAsMHg0OSwweGM4IH0sCi0gIDE2LCAweGViZTAsIDAsIHsweGIyLDB4YzAsMHg4YywweGEwLDB4MDMsMHg2NCwweDAwLDB4ZmIsMHgwOCwweDEyLDB4ZWEsMHgwYywweGIwLDB4MGIsMHgyYywweDgwIH0sCi0gIDE2LCAweGViZjAsIDAsIHsweGZiLDB4MjAsMHgyZSwweGQyLDB4NmMsMHhiNiwweDQzLDB4ZWEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMDAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjcsMHg0OSwweDJkLDB4MDAsMHgwYiwweDMwLDB4ODIsMHgxMCwweDAxLDB4YjUsMHgwMiwweDgzIH0sCi0gIDE2LCAweGVjMTAsIDAsIHsweGMwLDB4MWEsMHg3MiwweDIyLDB4ZGQsMHg0MSwweDg1LDB4MDAsMHg2MSwweGMwLDB4MTgsMHgyMCwweDIwLDB4MTQsMHgwMCwweGJmIH0sCi0gIDE2LCAweGVjMjAsIDAsIHsweDQwLDB4MzUsMHhkMCwweDBkLDB4MzQsMHgwMiwweDFkLDB4MjAsMHhiNywweDI4LDB4MjUsMHhjMSwweDA4LDB4NzQsMHg4MiwweGQyIH0sCi0gIDE2LCAweGVjMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwNCwweDM3LDB4YTAsMHgyZCwweDIwIH0sCi0gIDE2LCAweGVjNDAsIDAsIHsweDBiLDB4N2EsMHgxMiwweDE2LDB4MDEsMHhiMywweDgwLDB4MjEsMHhlMiwweDA4LDB4NzgsMHg0MiwweDllLDB4MDAsMHg4NSwweDgwIH0sCi0gIDE2LCAweGVjNTAsIDAsIHsweDIwLDB4ZTEsMHgxOCwweDY4LDB4MDIsMHg1NiwweDAwLDB4YjcsMHhhMCwweDI1LDB4ZTAsMHgwOCwweDdhLDB4MDIsMHgxZSwweDAwIH0sCi0gIDE2LCAweGVjNjAsIDAsIHsweGI3LDB4OTAsMHgyYywweGU1LDB4ODgsMHg3YSwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjNzAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDZjLDB4MjQsMHgxYiwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjAsMHgwMCwweDIwIH0sCi0gIDE2LCAweGVjODAsIDAsIHsweGY4LDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDgxLDB4MDAsMHgyMCwweGQ4LDB4MTgsMHgyMCwweDAyLDB4MDQsMHgwMCwweGIzIH0sCi0gIDE2LCAweGVjOTAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjYsMHhjMCwweDA4LDB4MzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGVjYTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzZCwweDgwIH0sCi0gIDE2LCAweGVjYjAsIDAsIHsweDBmLDB4MjAsMHgwYiwweDI4LDB4ODAsMHhmZSwweDAwLDB4MzMsMHhhMCwweDBjLDB4YTAsMHgwMywweGU4LDB4MDIsMHhjYSwweDAyIH0sCi0gIDE2LCAweGVjYzAsIDAsIHsweDMyLDB4OTAsMHgyYywweGU0LDB4MDMsMHg3OCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MDMsMHgyOCwweDAwIH0sCi0gIDE2LCAweGVjZDAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjZTAsIDAsIHsweDQ4LDB4MDAsMHhlMSwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MDMsMHhlMCwweDgwLDB4ZjgsMHgwMCwweDNlIH0sCi0gIDE2LCAweGVjZjAsIDAsIHsweDAwLDB4MGYsMHg4MCwweDIzLDB4YzAsMHgwMCwweGY4LDB4MDIsMHgzYywweDAwLDB4MGYsMHhjMCwweDgzLDB4NjAsMHgwMCwweGI4IH0sCi0gIDE2LCAweGVkMDAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgyMywweGUwLDB4MTgsMHhmOCwweDAxLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGVkMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTYsMHgwMCwweGY5LDB4MjEsMHgzMiwweDYwIH0sCi0gIDE2LCAweGVkMjAsIDAsIHsweDBjLDB4OTAsMHgwMywweDJjLDB4NDQsMHhmOSwweDAwLDB4YjIsMHg0MCwweDBmLDB4OTAsMHgxYiwweDI0LDB4MDAsMHhlOSwweDAwIH0sCi0gIDE2LCAweGVkMzAsIDAsIHsweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwZiwweDEwLDB4MzMsMHgyNCwweDEwIH0sCi0gIDE2LCAweGVkNDAsIDAsIHsweGYxLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkNTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHg0MCwweGEyLDB4NDEsMHgwOCwweDkwLDB4MDIsMHgyNCwweDgwLDB4ZTksMHgwMCwweDIyIH0sCi0gIDE2LCAweGVkNjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQxLDB4MTgsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5IH0sCi0gIDE2LCAweGVkNzAsIDAsIHsweDA0LDB4MmEsMHg0MSwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTAsMHgwYSwweDIwIH0sCi0gIDE2LCAweGVkODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHg4MCwweGI5LDB4NDIsMHg2MiwweDQ4IH0sCi0gIDE2LCAweGVkOTAsIDAsIHsweDI4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHhiMSwweDAwLDB4MjIsMHg0MCwweDBiLDB4MTAsMHgwMiwweDI0LDB4MTAsMHhiOSwweDAyIH0sCi0gIDE2LCAweGVkYTAsIDAsIHsweDJlLDB4NDAsMHgwOCwweGQwLDB4MDIsMHhhNCwweDAwLDB4YjEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDA0IH0sCi0gIDE2LCAweGVkYjAsIDAsIHsweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkYzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjEsMHgyMCwweDYwLDB4NDAsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAwLDB4YTEsMHgyMCwweDIwIH0sCi0gIDE2LCAweGVkZDAsIDAsIHsweDQwLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweDkxLDB4MjAsMHgyZCwweDY4LDB4MDgsMHg1MiwweDEyLDB4MDQsMHgwMCwweGIxIH0sCi0gIDE2LCAweGVkZTAsIDAsIHsweDI4LDB4MjgsMHg0YSwweDA5LDB4MTIsMHg4MiwweDQ0LDB4YTAsMHhiMSwweDJjLDB4MjgsMHg0YSwweDBhLDB4MTIsMHg4MiwweDAyIH0sCi0gIDE2LCAweGVkZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDE0IH0sCi0gIDE2LCAweGVlMDAsIDAsIHsweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDUwLDB4MzIsMHgxNCwweDBmLDB4ODUsMHgwMywweDAxLDB4NDAsMHhmOCwweDAwIH0sCi0gIDE2LCAweGVlMTAsIDAsIHsweDJlLDB4MDAsMHgyOCwweGMwLDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgyNCwweDMwLDB4MDgsMHgwZiwweDgyLDB4MjMsMHgyMCwweDgwIH0sCi0gIDE2LCAweGVlMjAsIDAsIHsweGY4LDB4MjAsMHgzMiwweDA4LDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlMzAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDA4LDB4ZjksMHgxMCwweDNmLDB4NDAsMHg4ZiwweDkxLDB4MTMsMHhlNCwweDAwLDB4ZWQsMHgxMCwweDNmIH0sCi0gIDE2LCAweGVlNDAsIDAsIHsweDUwLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGE1LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHgwNCwweGY5IH0sCi0gIDE2LCAweGVlNTAsIDAsIHsweDI4LDB4M2UsMHg0YiwweDBiLDB4OTIsMHhhMywweGU0LDB4YTAsMHhlOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweGVlNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjQsMHgwMCwweGNkLDB4MDAsMHgzMywweDQwIH0sCi0gIDE2LCAweGVlNzAsIDAsIHsweDgwLDB4ZDAsMHgwMSwweGY0LDB4MDAsMHhhNSwweDAwLDB4MjYsMHg0MCwweDBmLDB4OTAsMHgwMywweDI2LDB4MDAsMHhmMSwweDg4IH0sCi0gIDE2LCAweGVlODAsIDAsIHsweDNlLDB4NjgsMHgwZCwweDk4LDB4ODMsMHg0NCwweDAwLDB4YzksMHhjMCwweDNhLDB4NDAsMHgwYywweDk4LDB4MDMsMHgyNCwweDA4IH0sCi0gIDE2LCAweGVlOTAsIDAsIHsweGY5LDB4YTAsMHgzMiwweDc4LDB4MGYsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlYTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAyLDB4ODgsMHgwMCwweGEyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlMCwweDAwLDB4MGEsMHgwMCwweDIyIH0sCi0gIDE2LCAweGVlYjAsIDAsIHsweDAwLDB4MGIsMHg4MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4NDAsMHgyZSwweDE0LDB4MDgsMHg4MCwweDQzLDB4MzAsMHgwMCwweDg4IH0sCi0gIDE2LCAweGVlYzAsIDAsIHsweGEwLDB4MjIsMHgyYSwweDBhLDB4OGEsMHg0MiwweGEwLDB4MDUsMHhiOCwweDQyLDB4MzIsMHgzOCwweDBiLDB4ODAsMHgwMiwweDBlIH0sCi0gIDE2LCAweGVlZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMywweDkxLDB4MDAsMHgyNCwweDQwIH0sCi0gIDE2LCAweGVlZTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGM0LDB4MTEsMHhiMSwweDA0LDB4MjAsMHg0MSwweDFiLDB4MTAsMHgyMiwweDQ1LDB4MDAsMHhiNSwweDAwIH0sCi0gIDE2LCAweGVlZjAsIDAsIHsweDI1LDB4NDAsMHgwOSwweDUwLDB4MDIsMHg1NCwweDAxLDB4ODEsMHg0MCwweDJjLDB4NDAsMHgwOSwweDE0LDB4OTIsMHg0NCwweDAwIH0sCi0gIDE2LCAweGVmMDAsIDAsIHsweGIxLDB4NDAsMHgyNCwweDRjLDB4MGIsMHgxNCwweDBhLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4OTksMHgwMCwweDI0LDB4NDIsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAxLDB4OTksMHgyMCwweDI2IH0sCi0gIDE2LCAweGVmMjAsIDAsIHsweDQwLDB4Y2IsMHg5MCwweDAyLDB4NjQsMHgwMCwweGJiLDB4MDAsMHgyZiwweDQxLDB4MGEsMHhkMCwweDAyLDB4MzQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGVmMzAsIDAsIHsweDAwLDB4MjYsMHg0MCwweDBiLDB4MTAsMHgwMiwweGU0LDB4MDAsMHgzMSwweDAwLDB4NjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGVmNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4YzQsMHgwMCwweGQ5LDB4MDEsMHgzNiwweDUwIH0sCi0gIDE2LCAweGVmNTAsIDAsIHsweDJmLDB4OTAsMHgwMywweGU2LDB4NjAsMHhmOSwweDgwLDB4MzYsMHg1MiwweDBiLDB4OTAsMHgwYSwweDY0LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweGVmNjAsIDAsIHsweDM2LDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAyLDB4MDksMHgwMCwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAwIH0sCi0gIDE2LCAweGVmNzAsIDAsIHsweGI5LDB4MDAsMHhiNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZTEsMHgwMCwweDNhLDB4NDEsMHgwYywweDkwLDB4MjMsMHhlNiwweDIwLDB4ZTksMHgwMCwweGJhIH0sCi0gIDE2LCAweGVmOTAsIDAsIHsweDcwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHgxMCwweDEzLDB4YTcsMHgwMCwweGY5IH0sCi0gIDE2LCAweGVmYTAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDBlLDB4OTAsMHg0MywweGE0LDB4MDgsMHhmOSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH0sCi0gIDE2LCAweGVmYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgyMCwweGY4LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGVmYzAsIDAsIHsweDBmLDB4ODAsMHg4MywweDIxLDB4MDAsMHhmMCwweDAwLDB4M2EsMHgxMSwweDA5LDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDAxIH0sCi0gIDE2LCAweGVmZDAsIDAsIHsweDMwLDB4MDEsMHgwYywweDgwLDB4MDMsMHhiMCwweDAwLDB4ZDAsMHgwMCwweDM0LDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMCwweDAwIH0sCi0gIDE2LCAweGVmZTAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmZjAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4YmUsMHgwMCwweDIyLDB4ODAsMHgwMywweGU4LDB4MDIsMHgxYSwweDA4LDB4YmUsMHg0OCwweDIyIH0sCi0gIDE2LCAweGYwMDAsIDAsIHsweDgwLDB4MGEsMHhhMCwweDAzLDB4YjgsMHgwMCwweGNhLDB4MDgsMHgyMiwweDgwLDB4MGYsMHhhNCwweDAyLDB4MDgsMHgwMCwweDhhIH0sCi0gIDE2LCAweGYwMTAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDhkLDB4YTAsMHgwMiwweDI4LDB4MDAsMHhkYSwweDAwLDB4MmEsMHg4MSwweDA4LDB4YTAsMHgwMiwweDhhIH0sCi0gIDE2LCAweGYwMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDQsMHgwMCwweGIzLDB4MDAsMHgyMCwweDQwIH0sCi0gIDE2LCAweGYwMzAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDA4LDB4MDAsMHhiMCwweDY0LDB4NjgsMHhjMSwweDA4LDB4YjAsMHgyMiwweGNjLDB4MGMsMHg5MywweDgwIH0sCi0gIDE2LCAweGYwNDAsIDAsIHsweDAwLDB4YzAsMHg0OCwweDM2LDB4MDIsMHg4OCwweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDYsMHgwYywweDAxIH0sCi0gIDE2LCAweGYwNTAsIDAsIHsweGEzLDB4MDIsMHgyYywweGMwLDB4MDgsMHhiMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwNjAsIDAsIHsweGEwLDB4MDEsMHgxNCwweDA4LDB4YjUsMHgwMCwweDIxLDB4NDAsMHgwYiwweDM4LDB4ODIsMHgxYywweDIxLDB4YjcsMHgwMCwweDIzIH0sCi0gIDE2LCAweGYwNzAsIDAsIHsweGU4LDB4NGEsMHg3MiwweDI2LDB4OWUsMHg0MCwweDhmLDB4ODEsMHhhYiwweDQwLDB4NDIsMHg3MCwweDUyLDB4MzgsMHgwMCwweGEzIH0sCi0gIDE2LCAweGYwODAsIDAsIHsweDIyLDB4MjAsMHhjNCwweDQ5LDB4MzEsMHgwMiwweDFlLDB4MGEsMHhiNywweDIyLDB4MmQsMHhlOCwweDA4LDB4NzIsMHgwMiwweGE4IH0sCi0gIDE2LCAweGYwOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGY2LDB4ODAsMHgyMSwweGUwIH0sCi0gIDE2LCAweGYwYTAsIDAsIHsweDBiLDB4NzgsMHgwYiwweDFlLDB4MDAsMHhiNCwweDgyLDB4M2IsMHhlOCwweDRjLDB4N2MsMHgxMywweGZlLDB4MDIsMHg5NywweDgwIH0sCi0gIDE2LCAweGYwYjAsIDAsIHsweDMzLDB4YTAsMHgwOCwweDM4LDB4MDMsMHg5YSwweDAwLDB4ZjcsMHg4OCwweDM1LDB4ZTIsMHgwYywweDc4LDB4ZTMsMHgwZSwweDAwIH0sCi0gIDE2LCAweGYwYzAsIDAsIHsweGUzLDB4ZTgsMHgzNCwweGY4LDB4MGMsMHgzYywweDIzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwZDAsIDAsIHsweDA4LDB4MWQsMHhhOCwweDA0LDB4ZjEsMHgwMCwweDNlLDB4NDIsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZmIsMHgwMCwweGJlIH0sCi0gIDE2LCAweGYwZTAsIDAsIHsweGNjLDB4MWUsMHhiNiwweDA3LDB4ZWQsMHg4MCwweGZiLDB4MDAsMHgzNiwweDAwLDB4MGYsMHhiMCwweDQzLDB4NjgsMHgwMCwweGNiIH0sCi0gIDE2LCAweGYwZjAsIDAsIHsweDMwLDB4M2UsMHhkOCwweDBmLDB4YjYsMHgwYiwweGVkLDB4NDAsMHhjYiwweDAwLDB4M2EsMHhjMCwweDJmLDB4YjYsMHgwMywweGMyIH0sCi0gIDE2LCAweGYxMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjIsMHg0MCwweGZiLDB4OTEsMHgzZCwweDRjIH0sCi0gIDE2LCAweGYxMTAsIDAsIHsweDgwLDB4ZjgsMHgwMywweGRlLDB4NDAsMHhjNiwweDgwLDB4MWIsMHhmMCwweDRmLDB4ZmQsMHgwNywweGZmLDB4MDAsMHhjZCwweDgwIH0sCi0gIDE2LCAweGYxMjAsIDAsIHsweDMzLDB4ZTAsMHgwYywweDY4LDB4MDMsMHhiYSwweDAwLDB4ZmYsMHg4MCwweDMzLDB4ZTAsMHgwNywweGY4LDB4MDMsMHgzZiwweDEwIH0sCi0gIDE2LCAweGYxMzAsIDAsIHsweGNmLDB4ODAsMHgzZiwweGUwLDB4MGMsMHhmYywweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNDAsIDAsIHsweGE4LDB4MTEsMHg5MCwweDAwLDB4YjUsMHhjMCwweDJkLDB4NDAsMHgwOCwweDYyLDB4MDIsMHhkYywweDIwLDB4ZDYsMHgwMiwweDIxIH0sCi0gIDE2LCAweGYxNTAsIDAsIHsweGM4LDB4OGYsMHg3MCwweDAyLDB4ZGMsMHg4MSwweGI1LDB4MDAsMHg4MSwweDQ0LDB4MGQsMHg2MSwweDIyLDB4MTgsMHgwNCwweGI3IH0sCi0gIDE2LCAweGYxNjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDBiLDB4NzAsMHgwMiwweGJjLDB4MDAsMHhhNywweDAxLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMywweGVhIH0sCi0gIDE2LCAweGYxNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMSwweGI2LDB4MDEsMHgyZiwweGMwIH0sCi0gIDE2LCAweGYxODAsIDAsIHsweDE4LDB4NzAsMHgwMiwweGRjLDB4MGEsMHg5NiwweDEwLDB4MjksMHhjMSwweDRiLDB4NzAsMHgwNiwweGRjLDB4MTAsMHg4NSwweDAwIH0sCi0gIDE2LCAweGYxOTAsIDAsIHsweDI1LDB4ODAsMHgwOCwweDYwLDB4ODIsMHgxYSwweDIwLDB4YTMsMHgwMCwweDI1LDB4YzAsMHgwYiwweDMxLDB4MDIsMHg1YywweDQwIH0sCi0gIDE2LCAweGYxYTAsIDAsIHsweDg3LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxYjAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAsMHg4OCwweDIwLDB4MDIsMHhlZCwweDAwLDB4OGEsMHg2MCwweDIwIH0sCi0gIDE2LCAweGYxYzAsIDAsIHsweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIxLDB4MDAsMHgyNCwweDAwLDB4MjgsMHgyNCwweDAyLDB4MGEsMHgwMCwweDMzIH0sCi0gIDE2LCAweGYxZDAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDBiLDB4YjAsMHgwMiwweGNjLDB4MDAsMHhhMywweDAwLDB4MmMsMHhjMCwweDg4LDB4MzAsMHgwMiwweDg4IH0sCi0gIDE2LCAweGYxZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGZiLDB4MDAsMHgzZSwweGM2IH0sCi0gIDE2LCAweGYxZjAsIDAsIHsweDBjLDB4ODAsMHgwMywweGU1LDB4MDAsMHgwOSwweGM4LDB4YWIsMHhlMiwweDBiLDB4ZjAsMHgwMiwweGZjLDB4MDAsMHg0YSwweDAwIH0sCi0gIDE2LCAweGYyMDAsIDAsIHsweDM2LDB4YzAsMHgwOCwweDkwLDB4MDMsMHhhNiwweDAwLDB4ZmYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHg3YywweDAwIH0sCi0gIDE2LCAweGYyMTAsIDAsIHsweDhmLDB4MDAsMHgyZiwweGMwLDB4MjgsMHhmMCwweDAyLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyMjAsIDAsIHsweDgwLDB4MDAsMHhlMSwweDAwLDB4ZmEsMHgwMSwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZjksMHg0MCwweDNlIH0sCi0gIDE2LCAweGYyMzAsIDAsIHsweGMwLDB4MDcsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZhLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDIzLDB4ZTUsMHgwMCwweGZiIH0sCi0gIDE2LCAweGYyNDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCwweDBmLDB4YjAsMHgyMywweGUwIH0sCi0gIDE2LCAweGYyNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGZjLDB4MjAsMHgzZiwweGMwIH0sCi0gIDE2LCAweGYyNjAsIDAsIHsweDBjLDB4YzgsMHgwMywweGZjLDB4MjAsMHhjZCwweDgxLDB4YjMsMHhjMiwweDRmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhjYSwweDAwIH0sCi0gIDE2LCAweGYyNzAsIDAsIHsweDNjLDB4ODAsMHgwYywweGQwLDB4ODIsMHgzNiwweDAxLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDA4IH0sCi0gIDE2LCAweGYyODAsIDAsIHsweGNmLDB4MDQsMHgzYSwweGMwLDB4NWMsMHhiMCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyOTAsIDAsIHsweDgxLDB4MDQsMHg2MiwweDA0LDB4YjgsMHg0MCwweDJjLDB4NjAsMHgwOCwweDg5LDB4MDIsMHhlZSwweDgwLDB4YTksMHg2MCwweDJhIH0sCi0gIDE2LCAweGYyYTAsIDAsIHsweGMwLDB4MGIsMHhiMCwweDAzLDB4OGMsMHgwMCwweGFhLDB4NDAsMHgyZSwweDAwLDB4MDgsMHgxMCwweDAyLDB4MjYsMHg4MSwweGViIH0sCi0gIDE2LCAweGYyYjAsIDAsIHsweDAwLDB4MjYsMHhjMCwweDhiLDB4YjAsMHgxMywweDZjLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDNkLDB4YjAsMHgwMiwweGUwIH0sCi0gIDE2LCAweGYyYzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjMsMHgwMCwweGJiLDB4MDMsMHgyZSwweGM4IH0sCi0gIDE2LCAweGYyZDAsIDAsIHsweDA5LDB4YjAsMHgwMiwweGVlLDB4MDAsMHg4YiwweDEwLDB4MjYsMHhjMCwweDBiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhhOCwweDAwIH0sCi0gIDE2LCAweGYyZTAsIDAsIHsweDJlLDB4YzAsMHgwOCwweDg4LDB4MjIsMHhhNCwweDgwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHg0YiwweGIwLDB4MjIsMHgwYywweDAwIH0sCi0gIDE2LCAweGYyZjAsIDAsIHsweDhiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMDAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4YjIsMHgwMCwweDJlLDB4YzAsMHgyOSwweDI4LDB4MDIsMHhlYywweDAxLDB4YTAsMHgwMiwweDIwIH0sCi0gIDE2LCAweGYzMTAsIDAsIHsweGMwLDB4MDksMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEwLDB4MDAsMHgyYywweDQwLDB4MDgsMHgwMCwweDQyLDB4ODQsMHgwMCwweDkzIH0sCi0gIDE2LCAweGYzMjAsIDAsIHsweDAwLDB4NmMsMHhjMCwweDBiLDB4MzAsMHgwNiwweDRkLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGYzMzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MjAsMHgyZiwweGMwIH0sCi0gIDE2LCAweGYzNDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhjYiwweDAwLDB4MzMsMHhjMCwweDBiLDB4ZjAsMHgwMywweGZjLDB4MTgsMHhlOCwweDAwIH0sCi0gIDE2LCAweGYzNTAsIDAsIHsweDJlLDB4ODAsMHgwOCwweDgwLDB4MDMsMHhhNCwweDAwLDB4YmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHgzZCwweDExIH0sCi0gIDE2LCAweGYzNjAsIDAsIHsweGNmLDB4MDMsMHgzZSwweGMxLDB4NWQsMHhmMCwweDIzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzNzAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgxMCwweDNmLDB4NDAsMHgwZSwweGUwLDB4MDMsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmIH0sCi0gIDE2LCAweGYzODAsIDAsIHsweGMwLDB4MGYsMHhmMCwweDAzLDB4YmMsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MmYsMHhjMCwweDAzLDB4NzQsMHgwMCwweGVmIH0sCi0gIDE2LCAweGYzOTAsIDAsIHsweDAwLDB4MjcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MTgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGYzYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4ZmMsMHg4OCwweDljLDB4MjksMHgzZiwweDA4IH0sCi0gIDE2LCAweGYzYjAsIDAsIHsweDBmLDB4ZDIsMHg4MywweGVjLDB4MDAsMHhmZiwweDA4LDB4M2YsMHgyOCwweDBmLDB4Y2EsMHgwMywweDNjLDB4NDEsMHhjZiwweDIwIH0sCi0gIDE2LCAweGYzYzAsIDAsIHsweDczLDB4MmMsMHgwYywweGMwLDB4MDMsMHgzMCwweDIwLDB4Y2YsMHg2MCwweDMzLDB4ZDgsMHgwZiwweDc4LDB4MDMsMHgzZiwweDgwIH0sCi0gIDE2LCAweGYzZDAsIDAsIHsweGRkLDB4OTIsMHgzMywweGM4LDB4MGYsMHg1MCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzZTAsIDAsIHsweDgwLDB4MTAsMHhlNSwweDQwLDB4ODgsMHg0MCwweDJlLDB4MDQsMHg4YiwweDk0LDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDBlIH0sCi0gIDE2LCAweGYzZjAsIDAsIHsweDdmLDB4OGYsMHg5ZSwweDgzLDB4NjUsMHg4MiwweGNmLDB4NjgsMHgzZSwweDUwLDB4OGQsMHgwNCwweDkyLDB4MmYsMHgwNCwweGQzIH0sCi0gIDE2LCAweGY0MDAsIDAsIHsweDQwLDB4NzQsMHhkYywweDBkLDB4YTIsMHgwMiwweDIwLDB4NDAsMHg4OSwweDAwLDB4MjIsMHhmMCwweDBiLDB4OTgsMHgwMiwweDIwIH0sCi0gIDE2LCAweGY0MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzgsMHgwOSwweGEwLDB4ODUsMHgyYywweDAxIH0sCi0gIDE2LCAweGY0MjAsIDAsIHsweDBiLDB4MDAsMHgxMCwweGNjLDB4NDAsMHhhMiwweDA4LDB4MmMsMHgwMCwweGRiLDB4MTEsMHgwMiwweDg5LDB4MDAsMHg5MywweDMwIH0sCi0gIDE2LCAweGY0MzAsIDAsIHsweDIwLDB4MDUsMHgwOCwweDEzLDB4MDIsMHg4MCwweDA4LDB4YTMsMHg2MCwweDYwLDB4YzAsMHgwYSwweGIwLDB4ODIsMHgwOCwweDg0IH0sCi0gIDE2LCAweGY0NDAsIDAsIHsweDgxLDB4MjAsMHgyMCwweGQwLDB4MGIsMHgxMCwweDAyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0NTAsIDAsIHsweGMwLDB4MTUsMHhhNCwweDEyLDB4ODgsMHg4MCwweDZlLDB4MjAsMHgwYiwweDg4LDB4ODIsMHhlZSwweDAwLDB4YmEsMHg4MSwweDJlIH0sCi0gIDE2LCAweGY0NjAsIDAsIHsweDYwLDB4NWEsMHg5OCwweDAyLDB4YTIsMHgwMCwweDhiLDB4MDAsMHgyYSwweDYwLDB4MDgsMHgxMSwweDFhLDB4MmMsMHgwMCwweGJiIH0sCi0gIDE2LCAweGY0NzAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4YjgsMHgwYSwweDI4LDB4MDAsMHg4MSwweDIwLDB4MDIsMHhjMCwweDBiLDB4OTAsMHgwMiwweGIwIH0sCi0gIDE2LCAweGY0ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZWQsMHgwMCwweGQ5LDB4ODAsMHgzZSwweDIwIH0sCi0gIDE2LCAweGY0OTAsIDAsIHsweDRmLDB4OTgsMHgwMCwweGViLDB4MjAsMHhmYiwweGUwLDB4MmUsMHg2MCwweDBiLDB4OGMsMHg2MiwweGFlLDB4MjAsMHg4YiwweDAwIH0sCi0gIDE2LCAweGY0YTAsIDAsIHsweDIyLDB4NjAsMHgwOCwweGJjLDB4MDMsMHhhMCwweDIwLDB4ZWIsMHgwMCwweDIyLDB4YzEsMHgwYSwweDE4LDB4MGIsMHgyNSwweDAwIH0sCi0gIDE2LCAweGY0YjAsIDAsIHsweGQ5LDB4MDAsMHhiMiwweGMwLDB4MGYsMHg5MCwweDBiLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0YzAsIDAsIHsweGUwLDB4MDEsMHg5NCwweDg4LDB4ZmYsMHgwMCwweDNmLDB4MDEsMHgwZiwweGQwLDB4MDEsMHhmMCwweDA4LDB4ZGQsMHgwMSwweDNmIH0sCi0gIDE2LCAweGY0ZDAsIDAsIHsweDQyLDB4MDcsMHg0MCwweDAzLDB4NWMsMHgwMCwweGFmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmOCwweDAwLDB4ZjAsMHgwMCwweGRmIH0sCi0gIDE2LCAweGY0ZTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgyMywweGY0LDB4NTAsMHhmZCwweDgwLDB4M2YsMHhjMCwweDBmLDB4ZDAsMHgwMywweDc4IH0sCi0gIDE2LCAweGY0ZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4YWMsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGY1MDAsIDAsIHsweDBmLDB4OTQsMHgwMywweGE4LDB4MjAsMHhjYSwweDQwLDB4M2EsMHg0MCwweDBmLDB4OTQsMHgwMywweGVhLDB4MDgsMHhmYiwweDAwIH0sCi0gIDE2LCAweGY1MTAsIDAsIHsweDNhLDB4MDAsMHg0YywweGY2LDB4MjMsMHgyYywweDMwLDB4Y2IsMHgwMCwweDM2LDB4YzAsMHgwZCwweDkwLDB4MDMsMHhhMSwweDAyIH0sCi0gIDE2LCAweGY1MjAsIDAsIHsweGQ5LDB4MDAsMHhiYSwweGMwLDB4MGYsMHg5OCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1MzAsIDAsIHsweGM4LDB4MDUsMHgyNCwweDAwLDB4OGEsMHgwMCwweDJlLDB4NDAsMHgwYiwweDk1LDB4MDIsMHhlMCwweDA4LDB4ODgsMHg4MCwweDIyIH0sCi0gIDE2LCAweGY1NDAsIDAsIHsweDcwLDB4OGYsMHg4YywweDAyLDB4ZTAsMHgwMCwweGJmLDB4MDIsMHgyMCwweDAwLDB4MDgsMHhiOCwweDAyLDB4MGUsMHgwMCwweGRmIH0sCi0gIDE2LCAweGY1NTAsIDAsIHsweDAwLDB4MjMsMHhkZCwweDA4LDB4OTgsMHg4MiwweDJhLDB4MDAsMHg4OSwweDgwLDB4MjMsMHhjMCwweDBiLDB4NTAsMHgxYSwweDMyIH0sCi0gIDE2LCAweGY1NjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDQsMHgwMCwweDgzLDB4MDUsMHgyNCwweDQxIH0sCi0gIDE2LCAweGY1NzAsIDAsIHsweDA5LDB4MTAsMHgwMiwweGNlLDB4MDAsMHg4MywweDkwLDB4MmMsMHg4MCwweDFiLDB4MjQsMHg4MiwweGNjLDB4MDAsMHhiYiwweDAwIH0sCi0gIDE2LCAweGY1ODAsIDAsIHsweDJjLDB4ODAsMHgwOCwweDA0LDB4MDgsMHgwNCwweDAxLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgyOCwweDEyLDB4MDIsMHg2YywweDgwIH0sCi0gIDE2LCAweGY1OTAsIDAsIHsweDgxLDB4NDgsMHgyNCwweGM0LDB4MGIsMHgxMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1YTAsIDAsIHsweDIwLDB4MDEsMHgzZSwweDQyLDB4ODYsMHg4MCwweDJkLDB4NjAsMHgwYiwweDY4LDB4MDIsMHhmNiwweDkwLDB4OGQsMHg4MCwweDIxIH0sCi0gIDE2LCAweGY1YjAsIDAsIHsweDIyLDB4MGIsMHg1OCwweDAyLDB4ZDcsMHg0MCwweGI3LDB4OTAsMHgyMSwweGUwLDB4MDgsMHg0OSwweDkyLDB4MWUsMHg1MywweDk3IH0sCi0gIDE2LCAweGY1YzAsIDAsIHsweDgxLDB4MjEsMHhlMCwweDQ4LDB4YzgsMHgwYSwweDUyLDB4MjIsMHg4NSwweDg4LDB4MjUsMHhlMCwweDBiLDB4NTgsMHgwMiwweDA4IH0sCi0gIDE2LCAweGY1ZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgzLDB4MDAsMHgzNCwweGMwIH0sCi0gIDE2LCAweGY1ZTAsIDAsIHsweDBmLDB4MDAsMHgwMywweGNlLDB4MjAsMHhjMywweDMwLDB4N2MsMHg5NCwweDBiLDB4MzQsMHg4MywweGNjLDB4MTQsMHhmMywweDAyIH0sCi0gIDE2LCAweGY1ZjAsIDAsIHsweDNjLDB4ODAsMHgwYywweDA0LDB4MDMsMHgwNCwweDYwLDB4YzMsMHgwMCwweGIwLDB4YzAsMHgwYywweDEwLDB4MDMsMHhlYywweDAwIH0sCi0gIDE2LCAweGY2MDAsIDAsIHsweGM5LDB4MDAsMHgzYywweGM0LDB4MGYsMHgxMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2MTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDAwLDB4ZWUsMHgwMSwweDNmLDB4YzAsMHg0ZiwweGUxLDB4MDMsMHhkNCwweDQwLDB4ZjUsMHgxNiwweDdhIH0sCi0gIDE2LCAweGY2MjAsIDAsIHsweGMwLDB4NGUsMHhmMCwweDAzLDB4ZjQsMHgxMCwweDM3LDB4MDUsMHgzZCwweGMwLDB4MGYsMHhjMCwweDBiLDB4ZGMsMHg0MCwweGZmIH0sCi0gIDE2LCAweGY2MzAsIDAsIHsweDAwLDB4M2IsMHhjMiwweDBlLDB4ZDAsMHgwNywweGJjLDB4MDIsMHhlZiwweDAwLDB4M2IsMHhjNiwweDBmLDB4ZDAsMHgwMywweGQwIH0sCi0gIDE2LCAweGY2NDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZjQsMHgwMCwweGRkLDB4ODQsMHgzMywweDgwIH0sCi0gIDE2LCAweGY2NTAsIDAsIHsweDA0LDB4ZjAsMHgwMywweDZjLDB4MDIsMHhjYiwweDAyLDB4N2UsMHhjMCwweDFmLDB4YTAsMHg1MywweGVjLDB4MDAsMHhjYiwweDIwIH0sCi0gIDE2LCAweGY2NjAsIDAsIHsweDM0LDB4NDAsMHgwYywweGQwLDB4MGIsMHgyMCwweDEwLDB4ZWIsMHgwMCwweDFlLDB4ZTAsMHgwZiwweDMwLDB4MGIsMHgyYywweDAwIH0sCi0gIDE2LCAweGY2NzAsIDAsIHsweGMxLDB4MDAsMHgzMiwweGMwLDB4MGYsMHg5MSwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ODAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4ODcsMHgwMCwweDIxLDB4ODAsMHgwOCwweDYwLDB4MDAsMHgxNCwweDAwLDB4ODUsMHgwMCwweDJkIH0sCi0gIDE2LCAweGY2OTAsIDAsIHsweDgwLDB4MGIsMHg3MCwweDUyLDB4ZDQsMHgwNCwweDgzLDB4MjgsMHgyOSwweGMwLDB4MjgsMHg1MCwweDAzLDB4NTAsMHgwMCwweDg3IH0sCi0gIDE2LCAweGY2YTAsIDAsIHsweDQwLDB4MjUsMHhjOCwweDBmLDB4NjAsMHgwMiwweDA0LDB4MDAsMHhhNywweDAwLDB4M2QsMHhjOCwweDBiLDB4NTIsMHgwMiwweGQyIH0sCi0gIDE2LCAweGY2YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDk1LDB4ODAsMHgyMSwweGUwIH0sCi0gIDE2LCAweGY2YzAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDFlLDB4MTEsMHhhNywweDgwLDB4MmQsMHhmMCwweDBiLDB4NzgsMHg1MiwweGNlLDB4MGEsMHg5NywweDk1IH0sCi0gIDE2LCAweGY2ZDAsIDAsIHsweDIxLDB4ZTAsMHgxOSwweDVjLDB4MDIsMHgwZSwweDAwLDB4YTcsMHg4MCwweDI5LDB4YzgsMHgwYiwweGY4LDB4MDIsMHgxZSwweDIwIH0sCi0gIDE2LCAweGY2ZTAsIDAsIHsweDhkLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg1OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODIsMHhlMCwweGEwLDB4ZTgsMHgyOSwweDMwLDB4MDYsMHgwZSwweDUwLDB4YWIsMHg4MCwweDJjIH0sCi0gIDE2LCAweGY3MDAsIDAsIHsweGYwLDB4MGIsMHgzMSwweDQyLDB4Y2MsMHgwMCwweDkzLDB4MDAsMHgyOCwweGM0LDB4MDksMHg5OCwweDAyLDB4NGMsMHgyOCwweDgzIH0sCi0gIDE2LCAweGY3MTAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDBhLDB4YjAsMHgwMiwweDBkLDB4MDAsMHhhMiwweDU4LDB4MjgsMHhjMCwweDBiLDB4MTAsMHgwMiwweGQyIH0sCi0gIDE2LCAweGY3MjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHgwMCwweGRlLDB4ODAsMHgzMSwweGEwIH0sCi0gIDE2LCAweGY3MzAsIDAsIHsweDA5LDB4ZTIsMHgwYiwweDc4LDB4MDQsMHhlZSwweGE0LDB4MmYsMHhhNCwweDhiLDB4ZWMsMHgwMiwweGQ4LDB4MDAsMHhkYSwweDAwIH0sCi0gIDE2LCAweGY3NDAsIDAsIHsweDI3LDB4ODEsMHgwZCwweGVjLDB4MDYsMHgxYiwweDAwLDB4ZWEsMHgwNCwweDNlLDB4ODAsMHgwYiwweGUwLDB4MDMsMHgzYiwweDAwIH0sCi0gIDE2LCAweGY3NTAsIDAsIHsweGNlLDB4YzAsMHgyMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3NjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDgwLDB4ZjgsMHgxMCwweDNlLDB4MDUsMHgwZSwweDg4LDB4MDMsMHhlMCwweDA4LDB4OTgsMHg0MCwweDNlIH0sCi0gIDE2LCAweGY3NzAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDgzLDB4ZTEsMHg0MCwweGU4LDB4MDAsMHgzYSwweDAyLDB4MGUsMHg4MCwweDQzLDB4ZTEsMHg0MCwweGY4IH0sCi0gIDE2LCAweGY3ODAsIDAsIHsweDAwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweGY3OTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwIH0sCi0gIDE2LCAweGY3YTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDA0LDB4MjAsMHhlOSwweDkwLDB4MzIsMHg2OCwweDBlLDB4OTgsMHgwMywweGE0LDB4MDAsMHhjMSwweDAwIH0sCi0gIDE2LCAweGY3YjAsIDAsIHsweDMwLDB4NDAsMHgwYywweDk0LDB4ODMsMHgyNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhhNCwweDAwIH0sCi0gIDE2LCAweGY3YzAsIDAsIHsweGM5LDB4MDAsMHgzMCwweDUwLDB4MGMsMHgxYSwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3ZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg0MCwweDJlLDB4NTAsMHgyOCwweDkwLDB4MGEsMHgyNCwweDA4LDB4ODksMHgwNiwweDE2IH0sCi0gIDE2LCAweGY3ZTAsIDAsIHsweDYxLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgyMCwweGE5LDB4MDAsMHgzNiwweDQwLDB4MGQsMHg5MCwweDAyLDB4MjcsMHg2MCwweGE5IH0sCi0gIDE2LCAweGY3ZjAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgxYSwweDI0LDB4MDAsMHg4OSwweDAwLDB4MzYsMHg0MCwweDI4LDB4OTgsMHgwMiwweDIwIH0sCi0gIDE2LCAweGY4MDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MmMsMHgwMCwweGE5LDB4MDgsMHgyZSwweGMyIH0sCi0gIDE2LCAweGY4MTAsIDAsIHsweDA5LDB4MTAsMHgwMCwweDI0LDB4MDAsMHhhOSwweDAwLDB4MDYsMHg0MCwweDg5LDB4OTYsMHgwNiwweGU2LDB4MDAsMHg4OSwweDAwIH0sCi0gIDE2LCAweGY4MjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAyLDB4ODksMHgwMCwweDI0LDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwYywweDA2IH0sCi0gIDE2LCAweGY4MzAsIDAsIHsweDgzLDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHg0NCwweDJjLDB4NTAsMHgwOCwweDE0LDB4MDIsMHgwNSwweDgwLDB4ODEsMHgyMCwweDY0IH0sCi0gIDE2LCAweGY4NTAsIDAsIHsweDcwLDB4MWIsMHgxNCwweDAyLDB4ZTQsMHg4MCwweGExLDB4MjAsMHg2NCwweDQwLDB4MTksMHgxMiwweDBhLDB4MDQsMHg4MCwweGExIH0sCi0gIDE2LCAweGY4NjAsIDAsIHsweDAwLDB4MmMsMHg1MCwweDE4LDB4MTQsMHgwMiwweDg1LDB4MDAsMHg4MSwweDQwLDB4MjQsMHg0MCwweDQwLDB4MTAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGY4NzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGUwLDB4MDAsMHgzYywweDAwIH0sCi0gIDE2LCAweGY4ODAsIDAsIHsweDBkLDB4ODAsMHgwMiwweDAwLDB4MDAsMHhhYSwweDUwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGUxLDB4NDAsMHhjOCwweDUyIH0sCi0gIDE2LCAweGY4OTAsIDAsIHsweDcyLDB4MTQsMHgwYywweDA1LDB4MTYsMHgyMCwweDA4LDB4YzgsMHg1MCwweDNlLDB4MDEsMHgwYywweDgwLDB4MDMsMHhhMCwweDA0IH0sCi0gIDE2LCAweGY4YTAsIDAsIHsweGM4LDB4MDAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4YjAsIDAsIHsweDk4LDB4MTksMHhmNSwweDAyLDB4ZmQsMHg0MCwweDNmLDB4ZDAsMHgwZiwweGQ0LDB4MjMsMHhmNCwweDQ0LDB4ZmQsMHgxNCwweDdmIH0sCi0gIDE2LCAweGY4YzAsIDAsIHsweDUwLDB4MGYsMHhkNCwweDA3LDB4ZjQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDUwLDB4MDcsMHhkMSwweDIzLDB4ZjQsMHg0MCwweGY5IH0sCi0gIDE2LCAweGY4ZDAsIDAsIHsweDQwLDB4MWUsMHg1MCwweDA3LDB4ZDAsMHgwYiwweDc1LDB4MDAsMHhmZCwweDAyLDB4M2UsMHg1MCwweDBmLDB4ZDQsMHgwMywweGU2IH0sCi0gIDE2LCAweGY4ZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgwMCwweGM5LDB4YTgsMHgzZSwweDcyIH0sCi0gIDE2LCAweGY4ZjAsIDAsIHsweDBmLDB4OTgsMHgwMywweGU2LDB4YzAsMHhmZCwweGEwLDB4YjMsMHg0MCwweDBmLDB4ZDAsMHgwMywweDc3LDB4ODAsMHhjZCwweDkwIH0sCi0gIDE2LCAweGY5MDAsIDAsIHsweDdmLDB4NDAsMHgwZiwweGRhLDB4YTMsMHgxNiwweDkwLDB4YTksMHhjMCwweDMyLDB4NjAsMHg0YywweGIxLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGY5MTAsIDAsIHsweGMxLDB4MDAsMHgzMywweDZhLDB4MGIsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5MjAsIDAsIHsweDM4LDB4MTAsMHhlMywweDQwLDB4ODgsMHhlMCwweDJlLDB4MzAsMHgwYiwweDhkLDB4MDIsMHhmMywweDQwLDB4YjgsMHhlOCwweDc2IH0sCi0gIDE2LCAweGY5MzAsIDAsIHsweDAwLDB4NGYsMHg4MCwweDBhLDB4MjIsMHg4MCwweDg4LDB4OTAsMHg2ZSwweDI4LDB4OGYsMHg4YSwweDAzLDB4NjEsMHg0NCwweGY4IH0sCi0gIDE2LCAweGY5NDAsIDAsIHsweGUxLDB4M2UsMHgyYSwweDA4LDB4ODgsMHgwMywweDQyLDB4YTAsMHhkYywweGEwLDB4M2UsMHgxMCwweDBiLDB4ODUsMHgwYSwweDBlIH0sCi0gIDE2LCAweGY5NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHhhMCwweDg1LDB4MDgsMHgyZCwweDQ4IH0sCi0gIDE2LCAweGY5NjAsIDAsIHsweDFiLDB4NTIsMHg4MiwweGQ0LDB4ODAsMHhiMSwweDE0LDB4MjAsMHg0MCwweDBiLDB4MTgsMHgwMiwweDA1LDB4ODIsMHg4MSwweDAwIH0sCi0gIDE2LCAweGY5NzAsIDAsIHsweDZjLDB4NDIsMHgwYiwweDEyLDB4ODIsMHgwNCwweDAwLDB4YTEsMHg2MCwweDIxLDB4NTAsMHgwYiwweDUwLDB4MDIsMHgxNCwweDkwIH0sCi0gIDE2LCAweGY5ODAsIDAsIHsweDk1LDB4MmMsMHgyOCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4OGQsMHg0NCwweDJmLDB4NDAsMHgwYiwweGQ0LDB4MDIsMHhmNCwweDA0LDB4YjksMHgwOCwweDIyIH0sCi0gIDE2LCAweGY5YTAsIDAsIHsweDQwLDB4MGEsMHg5MiwweDAyLDB4MmMsMHg4NCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGEsMHgxNCwweDAyLDB4NmMsMHg4MCwweGE5IH0sCi0gIDE2LCAweGY5YjAsIDAsIHsweDAxLDB4MmEsMHg0MCwweDA5LDB4NTAsMHgwYSwweDVjLDB4MDIsMHg4ZCwweDYwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHg0MiwweDA2IH0sCi0gIDE2LCAweGY5YzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHg2MiwweGM5LDB4MDIsMHgzZSwweDU0IH0sCi0gIDE2LCAweGY5ZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDQwLDB4MjIsMHg0NiwweDBiLDB4OTgsMHgwMywweDY3LDB4MjAsMHhjOSwweDAxIH0sCi0gIDE2LCAweGY5ZTAsIDAsIHsweDJlLDB4NjksMHgwYiwweDk0LDB4MGIsMHgyNSwweDIwLDB4YTksMHgwMCwweDIyLDB4NDAsMHgyZCwweDkyLDB4MGEsMHgyNiwweDIyIH0sCi0gIDE2LCAweGY5ZjAsIDAsIHsweDk5LDB4MDAsMHgyYSwweDQwLDB4OGYsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMDAsIDAsIHsweDI4LDB4MDEsMHg4NiwweDAyLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDgwLDB4ZjEsMHhhMCwweDNlIH0sCi0gIDE2LCAweGZhMTAsIDAsIHsweDYyLDB4MGYsMHg5OCwweDgzLDB4YzYsMHgyMCwweGY5LDB4MDAsMHgzZSwweDQ5LDB4MGYsMHg5MCwweDgzLDB4ZTQsMHgwMCwweDcxIH0sCi0gIDE2LCAweGZhMjAsIDAsIHsweDAyLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwYiwweGU2LDB4ODAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGZhMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgxMCwweGM4LDB4MDAsMHgzZSwweDAwIH0sCi0gIDE2LCAweGZhNDAsIDAsIHsweDRmLDB4ODAsMHg0MywweGIwLDB4MDAsMHhjOCwweDQxLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDIxLDB4MDIsMHhjOCwweDAyIH0sCi0gIDE2LCAweGZhNTAsIDAsIHsweDNlLDB4MTAsMHg0YywweDgwLDB4MDMsMHgwMSwweDIwLDB4YzgsMHgwMCwweDNiLDB4MDAsMHgwYywweGMwLDB4MDMsMHhiMCwweDAwIH0sCi0gIDE2LCAweGZhNjAsIDAsIHsweGNjLDB4MDQsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHg4MCwweDJlLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhmOCwweDA0LDB4OGUsMHgwMCwweDIzIH0sCi0gIDE2LCAweGZhODAsIDAsIHsweGIyLDB4MGUsMHhlMCwweDgyLDB4ZjksMHgwNCwweDhhLDB4MDAsMHgyZSwweDgxLDB4MGMsMHhlMCwweDBhLDB4M2EsMHg4MCwweGRhIH0sCi0gIDE2LCAweGZhOTAsIDAsIHsweDAwLDB4MjIsMHhiNiwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4ZSwweDAwLDB4MmEsMHg4MCwweDBiLDB4NjAsMHgwYiwweDBhIH0sCi0gIDE2LCAweGZhYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDQsMHgwMiwweDkzLDB4ODEsMHgyYywweGMwIH0sCi0gIDE2LCAweGZhYjAsIDAsIHsweDRiLDB4MzAsMHgwMiwweGM4LDB4MDAsMHg4MywweGNhLDB4MjAsMHhlMCwweDE5LDB4YjAsMHgwNiwweDhjLDB4MDAsMHg4MSwweDA0IH0sCi0gIDE2LCAweGZhYzAsIDAsIHsweDQ0LDB4NDAsMHgwOCwweDM0LDB4MDIsMHgwZCwweDAwLDB4ODMsMHgwMCwweDJhLDB4MDAsMHgwOCwweDAwLDB4MGEsMHg4MCwweDQwIH0sCi0gIDE2LCAweGZhZDAsIDAsIHsweDg4LDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4NGIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhZTAsIDAsIHsweGEwLDB4MDEsMHgwNCwweDAyLDB4OTcsMHgwOCwweDJkLDB4YzAsMHgwYiwweDYwLDB4MDYsMHhjYSwweDAwLDB4ODMsMHgwOSwweDIxIH0sCi0gIDE2LCAweGZhZjAsIDAsIHsweGMwLDB4MGEsMHg3MCwweDAyLDB4ZGMsMHgwMCwweDg1LDB4MzEsMHgyZCwweDY4LDB4MDksMHgzMCwweDAyLDB4MWMsMHgxNCwweDkzIH0sCi0gIDE2LCAweGZiMDAsIDAsIHsweDIwLDB4MjAsMHhjMCwweDA4LDB4ZjAsMHg0MiwweDljLDB4MDIsMHg4ZiwweDAwLDB4MjksMHg0MCwweDAzLDB4NzAsMHgxMiwweDI4IH0sCi0gIDE2LCAweGZiMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTYsMHgwMCwweDk2LDB4ODQsMHgzZCwweGEwIH0sCi0gIDE2LCAweGZiMjAsIDAsIHsweDBmLDB4NzgsMHgwMywweDlhLDB4MDIsMHg4NywweDgwLDB4YjEsMHhlMCwweDBiLDB4NzgsMHgwMywweGI2LDB4MDAsMHhjNSwweGEwIH0sCi0gIDE2LCAweGZiMzAsIDAsIHsweDM1LDB4NjEsMHgwYywweDc4LDB4MTMsMHgxZSwweDAyLDB4YzcsMHg4MCwweDI5LDB4MDAsMHgwYywweDQ4LDB4MDMsMHg5MCwweDAwIH0sCi0gIDE2LCAweGZiNDAsIDAsIHsweGM0LDB4ODAsMHgzMSwweDYwLDB4MGYsMHg1OCwweDAzLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiNTAsIDAsIHsweDA4LDB4MWQsMHhhNCwweDAwLDB4ZWEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlOCwweDA4LDB4ZmIsMHgwMCwweDNlIH0sCi0gIDE2LCAweGZiNjAsIDAsIHsweDgwLDB4MGYsMHg5MCwweDEzLDB4ZTQsMHgwOCwweGY5LDB4MDAsMHgzYywweDUwLDB4MmUsMHhmMCwweDAzLDB4ZTgsMHgwOCwweGZiIH0sCi0gIDE2LCAweGZiNzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBiLDB4MzAsMHgxMywweDZjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4MzAsMHgwMywweGMyIH0sCi0gIDE2LCAweGZiODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZDYsMHgwMCwweGNkLDB4ODAsMHgzMywweGUwIH0sCi0gIDE2LCAweGZiOTAsIDAsIHsweDBjLDB4ZjgsMHgwMywweGZhLDB4MDAsMHhmZCwweDgwLDB4M2YsMHhhMCwweDBkLDB4ZjgsMHgwMywweGZhLDB4NDAsMHhjZCwweGQwIH0sCi0gIDE2LCAweGZiYTAsIDAsIHsweDc3LDB4N2UsMHgwYywweGU4LDB4NDMsMHgxZSwweDAwLDB4Y2YsMHhkOCwweDNmLDB4ZTAsMHgwYywweGM4LDB4MDMsMHgzYSwweGM0IH0sCi0gIDE2LCAweGZiYjAsIDAsIHsweGNjLDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiYzAsIDAsIHsweGE4LDB4MTEsMHg5NCwweDAyLDB4OGQsMHgwMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDMsMHhkOCwweDEwLDB4MzUsMHgyMCwweDhiIH0sCi0gIDE2LCAweGZiZDAsIDAsIHsweGQ0LDB4MGQsMHg2NCwweDAzLDB4ZDgsMHhjMCwweDg1LDB4MDAsMHgyZiwweDRlLDB4MDcsMHg2NCwweDAyLDB4OWMsMHgwMiwweGQ3IH0sCi0gIDE2LCAweGZiZTAsIDAsIHsweDMwLDB4MmYsMHgwNCwweDBkLDB4ZjEsMHgwYiwweDU0LDB4NDAsMHhhZiwweDAwLDB4MzUsMHg0MCwweDA4LDB4NzAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGZiZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTQsMHg0MCwweDg0LDB4MTgsMHgyMSwweDgwIH0sCi0gIDE2LCAweGZjMDAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGRhLDB4MjAsMHhiNSwweDAwLDB4MDksMHgwMCwweDA4LDB4NzAsMHgwMiwweGQ0LDB4MDQsMHg4NSwweDAwIH0sCi0gIDE2LCAweGZjMTAsIDAsIHsweDZkLDB4NGMsMHg4OSwweDYwLDB4MDIsMHg1YywweDQwLDB4OTcsMHgwMCwweDZkLDB4YzAsMHgwOSwweDQwLDB4MDIsMHg1OCwweDgwIH0sCi0gIDE2LCAweGZjMjAsIDAsIHsweDg0LDB4ODgsMHgyNSwweDQwLDB4MDgsMHhkMCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjMzAsIDAsIHsweDIwLDB4MTQsMHhjNiwweDQ4LDB4ODAsMHgwMCwweDIwLDB4ODAsMHgwOCwweGFjLDB4MDIsMHhhOCwweDAwLDB4YjEsMHgwMCwweGE4IH0sCi0gIDE2LCAweGZjNDAsIDAsIHsweDg4LDB4MDksMHgyMiwweDAyLDB4ODYsMHg0MiwweDgxLDB4MDAsMHg2YywweDUyLDB4MGIsMHgyMCwweDAyLDB4YzcsMHg1MiwweDgzIH0sCi0gIDE2LCAweGZjNTAsIDAsIHsweDAwLDB4MmMsMHgwMCwweDA4LDB4MzQsMHg4MiwweDY3LDB4MDAsMHhhMywweDgwLDB4MjAsMHg0MCwweDA4LDB4MzAsMHgwMiwweDA4IH0sCi0gIDE2LCAweGZjNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTMsMHgwMCwweGNiLDB4YzAsMHhiMiwweDQwIH0sCi0gIDE2LCAweGZjNzAsIDAsIHsweDJjLDB4OTAsMHg4MiwweGU2LDB4MDAsMHhiYiwweDgwLDB4YmUsMHg3OCwweDA4LDB4OGUsMHgwMiwweGVlLDB4MDAsMHg4ZCwweDAwIH0sCi0gIDE2LCAweGZjODAsIDAsIHsweDI3LDB4NjAsMHgwZCwweDkwLDB4MGEsMHg2ZiwweDAwLDB4OWYsMHgwMiwweDJlLDB4MDAsMHgwOSwweGI0LDB4MDMsMHg2NywweDgwIH0sCi0gIDE2LCAweGZjOTAsIDAsIHsweGNhLDB4NDAsMHhlNCwweGMwLDB4MGMsMHgzMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjYTAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDgwLDB4ZmIsMHgyMiwweDNlLDB4NDAsMHgwZiwweDgwLDB4MTMsMHhlNCwweDAwLDB4ZmIsMHg4MCwweDNlIH0sCi0gIDE2LCAweGZjYjAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTUsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg3MCwweDIzLDB4YWMsMHgyMCwweGZiIH0sCi0gIDE2LCAweGZjYzAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDhmLDB4ODAsMHgwMywweGU5LDB4MjAsMHhmOSwweDA4LDB4M2UsMHg0MCwweDBmLDB4YjAsMHgxMywweGUwIH0sCi0gIDE2LCAweGZjZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGM2LDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweGZjZTAsIDAsIHsweDBmLDB4ZDEsMHg4MywweDM0LDB4NDAsMHhjZiwweDAwLDB4M2QsMHg0MCwweDBjLDB4ZDAsMHgwMywweGRlLDB4NTAsMHgwZCwweDAwIH0sCi0gIDE2LCAweGZjZjAsIDAsIHsweDczLDB4NDAsMHgwYywweGQxLDB4MDMsMHg3YywweDQwLDB4ODcsMHgwMiwweGIzLDB4MDAsMHgwZCwweGY0LDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGZkMDAsIDAsIHsweGNlLDB4MjAsMHgzMiwweDQwLDB4MGMsMHhkMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkMTAsIDAsIHsweDgxLDB4MDQsMHg2MSwweDIyLDB4OGEsMHgwMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4NDAsMHgyNSwweDAwLDB4ODksMHhjMywweDJlIH0sCi0gIDE2LCAweGZkMjAsIDAsIHsweDIwLDB4MGEsMHg5OCwweDAzLDB4YTEsMHgwMCwweDg5LDB4MDAsMHgzNiwweDQwLDB4ODgsMHg5NCwweDAyLDB4MGYsMHgwMSwweGFiIH0sCi0gIDE2LCAweGZkMzAsIDAsIHsweDAwLDB4MzIsMHhjMCwweDA4LDB4MDQsMHgwYSwweDI5LDB4MDAsMHhhOSwweDAyLDB4YTIsMHg0MCwweDBkLDB4YjAsMHgwYSwweDIwIH0sCi0gIDE2LCAweGZkNDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MDAsMHgwMCwweDg5LDB4MDAsMHgyMiwweDYxIH0sCi0gIDE2LCAweGZkNTAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDI1LDB4MDEsMHg5YiwweDg4LDB4MmUsMHg2MCwweDA4LDB4ODgsMHgwMiwweGU4LDB4MDAsMHhiMSwweDAyIH0sCi0gIDE2LCAweGZkNjAsIDAsIHsweDI0LDB4NDAsMHgxOCwweDkwLDB4MDIsMHgyYywweDAwLDB4YWIsMHgwMSwweDIwLDB4YzEsMHgwOCwweGI0LDB4NDIsMHgyYywweDAwIH0sCi0gIDE2LCAweGZkNzAsIDAsIHsweDgyLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkODAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4MDEsMHgwMCwweDIwLDB4NDAsMHgwYiwweDAwLDB4MGEsMHgwNCwweDQ2LDB4ODMsMHgwMSwweDJjIH0sCi0gIDE2LCAweGZkOTAsIDAsIHsweDQwLDB4MWEsMHgwMCwweDA2LDB4ODAsMHgwMCwweDgxLDB4MDAsMHgyNCwweDQwLDB4MDgsMHgyMCwweDBhLDB4MGMsMHgwMSwweGEzIH0sCi0gIDE2LCAweGZkYTAsIDAsIHsweDAwLDB4MjQsMHgwMCwweDA4LDB4ODAsMHgwMiwweDAwLDB4MDAsMHhhMSwweDAwLDB4MjAsMHg0MCwweDA5LDB4MzAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGZkYjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMiwweGM4LDB4MDAsMHgyMiwweDAwIH0sCi0gIDE2LCAweGZkYzAsIDAsIHsweDBmLDB4OTAsMHgwMiwweDI1LDB4MDAsMHhkYSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMiwweGNjLDB4MDAsMHhmZCwweDAwIH0sCi0gIDE2LCAweGZkZDAsIDAsIHsweDM3LDB4NDAsMHgwYywweDEwLDB4MTMsMHgyYywweDAyLDB4YWYsMHgwMCwweDMyLDB4YzAsMHgwZCwweGIwLDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGZkZTAsIDAsIHsweGNhLDB4MDAsMHgzMiwweDQwLDB4NGMsMHg5MCwweDBiLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkZjAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwNywweGMwLDB4MDMsMHhmNCwweDFjLDB4ZjQsMHgwMCwweDNmIH0sCi0gIDE2LCAweGZlMDAsIDAsIHsweDAwLDB4MWYsMHhjMCwweDIzLDB4YjAsMHgwMiwweDlkLDB4MDEsMHgzZiwweDQwLDB4OGYsMHhjMCwweDA3LDB4ZmMsMHgwMiwweGZmIH0sCi0gIDE2LCAweGZlMTAsIDAsIHsweDAwLDB4N2IsMHgwMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4NzAsMHgwMywweGU4IH0sCi0gIDE2LCAweGZlMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmEsMHgwMCwweGNiLDB4ODAsMHgzZiwweDI0IH0sCi0gIDE2LCAweGZlMzAsIDAsIHsweDBhLDB4YzEsMHgwMywweGZjLDB4MjQsMHhjZCwweDIwLDB4MzcsMHgwYSwweDBjLDB4YzIsMHg4MywweDMwLDB4ODAsMHhkYywweDAyIH0sCi0gIDE2LCAweGZlNDAsIDAsIHsweDNmLDB4Y2MsMHgwZCwweGQ5LDB4MDMsMHgzYywweDU4LDB4ZGYsMHgzMCwweDMzLDB4YzgsMHgwZCwweGY0LDB4MjMsMHgzYywweDQwIH0sCi0gIDE2LCAweGZlNTAsIDAsIHsweGZmLDB4MDAsMHgzZiwweGM1LDB4NGYsMHhmMCwweDIzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZlNjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAyLDB4MGIsMHg4MiwweDJlLDB4MDgsMHgwZCwweGI3LDB4MDIsMHhmZCwweDAwLDB4ODMsMHgxOCwweDBhIH0sCi0gIDE2LCAweGZlNzAsIDAsIHsweDU4LDB4MGEsMHg4NCwweGEyLDB4YTUsMHhhMCwweDg5LDB4MzAsMHgyMiwweDU1LDB4MDgsMHgxMiwweDYyLDB4YmQsMHg5MCwweDhmIH0sCi0gIDE2LCAweGZlODAsIDAsIHsweDYyLDB4MjEsMHhkNiwweDQ4LDB4ZjMsMHgwMiwweDNjLDB4YzUsMHhiZiwweDQ4LDB4MmYsMHhkOCwweDRiLDB4YjcsMHgwMiwweGUwIH0sCi0gIDE2LCAweGZlOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZWMsMHgwMCwweDgzLDB4MDAsMHgyZSwweDg5IH0sCi0gIDE2LCAweGZlYTAsIDAsIHsweDI4LDB4MDAsMHgwMiwweGVjLDB4YTAsMHg4OSwweDIyLDB4MjgsMHg4MiwweDA4LDB4MTIsMHgwMiwweDI4LDB4NDAsMHg5YSwweDA4IH0sCi0gIDE2LCAweGZlYjAsIDAsIHsweDI4LDB4YzgsMHg4OCwweGIyLDB4MGEsMHgwZCwweDEwLDB4OTMsMHgxMCwweGEwLDB4YzgsMHgyOCwweDMwLDB4MDIsMHg0YywweDAwIH0sCi0gIDE2LCAweGZlYzAsIDAsIHsweGIzLDB4NjAsMHgyYywweGM0LDB4MGIsMHgzMCwweGMyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZlZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDQwLDB4OGIsMHgwMCwweDJlLDB4ODAsMHgwOCwweGIxLDB4MDIsMHhlYywweDAyLDB4OGIsMHgwMCwweDIwIH0sCi0gIDE2LCAweGZlZTAsIDAsIHsweGQwLDB4MGEsMHg5MCwweDAyLDB4YWMsMHgwMCwweDBiLDB4MDEsMHgyNiwweDQwLDB4MDgsMHg5NCwweDAyLDB4OGMsMHgwMCwweDhiIH0sCi0gIDE2LCAweGZlZjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MTAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGZmMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE0LDB4OGMsMHgyMCwweGNiLDB4MDIsMHgzZSwweDJkIH0sCi0gIDE2LCAweGZmMTAsIDAsIHsweDA4LDB4ODAsMHgwMywweGVjLDB4MDgsMHhjOSwweDgwLDB4MWUsMHgwNCwweDBjLDB4YjAsMHgwMywweDAxLDB4MDgsMHg1MCwweDE4IH0sCi0gIDE2LCAweGZmMjAsIDAsIHsweDNlLDB4NDAsMHgwYywweDA0LDB4MDMsMHgyYywweDAwLDB4ZGIsMHgwMSwweDMyLDB4YzAsMHgwYywweGIwLDB4MGIsMHgyYywweDA4IH0sCi0gIDE2LCAweGZmMzAsIDAsIHsweGJiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ODAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZmNDAsIDAsIHsweGUxLDB4MDAsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4NjAsMHgwZiwweGMwLDB4MjMsMHhlYywweDAwLDB4ZmYsMHhjMCwweGJlIH0sCi0gIDE2LCAweGZmNTAsIDAsIHsweDYwLDB4OGYsMHhjOSwweDIzLDB4ZjYsMHg1MCwweGVkLDB4ODAsMHhiOCwweDUwLDB4YWYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZmIH0sCi0gIDE2LCAweGZmNjAsIDAsIHsweDAwLDB4M2YsMHhjMSwweDBlLDB4YjAsMHgwMywweGZjLDB4MDQsMHhmZiwweDAyLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGY4IH0sCi0gIDE2LCAweGZmNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGViLDB4MDAsMHgzMiwweDgwIH0sCi0gIDE2LCAweGZmODAsIDAsIHsweDBkLDB4OTAsMHgwMywweDJjLDB4MDAsMHg4OSwweDAwLDB4M2UsMHg5OCwweDhjLDB4MzAsMHgwMywweDYxLDB4ODAsMHhmYSwweDQwIH0sCi0gIDE2LCAweGZmOTAsIDAsIHsweDNlLDB4NDAsMHgyYywweGE1LDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMSwweDNjLDB4YzAsMHgyYywweDMwLDB4MDMsMHgyYywweDAwIH0sCi0gIDE2LCAweGZmYTAsIDAsIHsweGRiLDB4MDIsMHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZmYjAsIDAsIHsweGNhLDB4MDAsMHgyZSwweDgwLDB4OGIsMHg4MiwweGEwLDB4YzAsMHg4YywweDkwLDB4MDIsMHgzYywweDAwLDB4OGIsMHhmMCwweDIyIH0sCi0gIDE2LCAweGZmYzAsIDAsIHsweGMyLDB4MGQsMHg4MCwweDAyLDB4MjcsMHgwMCwweDhiLDB4MTAsMHgyMiwweDQwLDB4MDgsMHg4MCwweDIyLDB4M2MsMHgwMCwweGJmIH0sCi0gIDE2LCAweGZmZDAsIDAsIHsweDAwLDB4MmYsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDNjLDB4MDAsMHhiZiwweDAxLDB4YTMsMHhjMCwweDBiLDB4ZjAsMHgxMiwweGYyIH0sCi0gIDE2LCAweGZmZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MWMsMHgyMCwweDQwIH0sCi0gIDE2LCAweGZmZjAsIDAsIHsweDA4LDB4MDAsMHgwNiwweDJjLDB4MDAsMHg5YiwweDAwLDB4MjAsMHhkMCwweDA4LDB4MjAsMHgwMiwweDRjLDB4MDAsMHhhMywweDAwIH0sCi0gIDE2LCAweDgwMTAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDEwLDB4MGEsMHgwYywweDAwLDB4YmIsMHgwMCwweDI4LDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwIH0sCi0gIDE2LCAweDgwMjAsIDAsIHsweGIzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwMzAsIDAsIHsweDIyLDB4MTEsMHgxZSwweDAwLDB4OTcsMHhhMCwweDIxLDB4YTAsMHgwOCwweDc5LDB4MDIsMHgxZSwweDAwLDB4OTcsMHg5MCwweDIxIH0sCi0gIDE2LCAweDgwNDAsIDAsIHsweDYwLDB4MDksMHhlOCwweDIyLDB4M2UsMHgwMCwweGFmLDB4ODQsMHgyMSwweGU0LDB4NDgsMHg1YywweDAyLDB4MWUsMHgwMCwweGI3IH0sCi0gIDE2LCAweDgwNTAsIDAsIHsweDkwLDB4MmQsMHhlMCwweDA5LDB4NzgsMHgwMCwweDFlLDB4MDksMHhiMywweDkwLDB4MjEsMHhlNCwweDBiLDB4NzgsMHgwMiwweGQ4IH0sCi0gIDE2LCAweDgwNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE4LDB4MmMsMHg0MCwweGIzLDB4YjAsMHgzMiwweDQwIH0sCi0gIDE2LCAweDgwNzAsIDAsIHsweDJjLDB4ODEsMHgxMywweDBjLDB4NDIsMHhkMSwweDAwLDB4YjAsMHhjMCwweDhjLDB4MzAsMHgwMywweDQ4LDB4MjAsMHhlMywweDAxIH0sCi0gIDE2LCAweDgwODAsIDAsIHsweDNjLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwYywweDAwLDB4ZjMsMHgxMCwweDNjLDB4YzAsMHhjZCwweDMyLDB4MGIsMHgwYywweDQwIH0sCi0gIDE2LCAweDgwOTAsIDAsIHsweGQzLDB4MDAsMHgzMCwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgwYTAsIDAsIHsweDQwLDB4MTUsMHhiYywweDAwLDB4ZTcsMHgwMCwweDNmLDB4ODAsMHgwYiwweGYxLDB4MDMsMHhmZCwweDAwLDB4NmQsMHgwMCwweDMyIH0sCi0gIDE2LCAweDgwYjAsIDAsIHsweDQwLDB4MWYsMHg3MCwweDA3LDB4ZDgsMHg0MSwweGMzLDB4MTAsMHgzYiwweGMwLDB4MGYsMHhkMSwweDAzLDB4ZmQsMHgwMCwweGZmIH0sCi0gIDE2LCAweDgwYzAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBlLDB4ZjAsMHgwMywweGVjLDB4MTAsMHhmZiwweDA4LDB4M2YsMHhjMywweDBmLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweDgwZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHgwNCwweGZiLDB4MDIsMHgzZSwweDQwIH0sCi0gIDE2LCAweDgwZTAsIDAsIHsweDBiLDB4YTAsMHgwMywweGFjLDB4MDAsMHhkYiwweDAwLDB4MzYsMHg4MCwweDBkLDB4YjAsMHgwMywweGFjLDB4MDAsMHhlOCwweDAwIH0sCi0gIDE2LCAweDgwZjAsIDAsIHsweDM2LDB4YzEsMHgyZSwweDkwLDB4MDMsMHgyYywweDAwLDB4Y2IsMHhhMCwweDM2LDB4ZGMsMHgwZiwweGIwLDB4MDMsMHgyZCwweDY4IH0sCi0gIDE2LCAweDgxMDAsIDAsIHsweGZiLDB4YTAsMHg5MiwweGMyLDB4MGMsMHhiMSwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxMTAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDA4LDB4MzcsMHgwMCwweDJkLDB4YzAsMHgwYiwweGUwLDB4MDIsMHgxZCwweDgwLDB4YjcsMHgwNCwweDIzIH0sCi0gIDE2LCAweDgxMjAsIDAsIHsweDAwLDB4MGEsMHg0MCwweDAyLDB4MWMsMHgxOCwweDg0LDB4MDAsMHgyNSwweGMwLDB4MTgsMHg1MCwweDMyLDB4MGQsMHg4MCwweGEzIH0sCi0gIDE2LCAweDgxMzAsIDAsIHsweDMwLDB4MjEsMHhjYywweDBiLDB4MzQsMHg4MiwweDFjLDB4MTAsMHhiNywweDMwLDB4MjEsMHhjOCwweDA4LDB4NzAsMHgwMiwweGQyIH0sCi0gIDE2LCAweDgxNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgyMCwweGI3LDB4ODAsMHgyZCwweDYwIH0sCi0gIDE2LCAweDgxNTAsIDAsIHsweDBiLDB4ZmMsMHgyMiwweDllLDB4MDAsMHg4ZCwweDgwLDB4MjUsMHhhMCwweDA4LDB4ZjgsMHgyMiwweDkyLDB4MDAsMHhiNCwweDgwIH0sCi0gIDE2LCAweDgxNjAsIDAsIHsweDI1LDB4ZTAsMHgwOCwweGY4LDB4MDIsMHgxZSwweDAwLDB4ODcsMHhiMCwweDIxLDB4ZTAsMHgwOSwweDdhLDB4MDIsMHgxZSwweDE4IH0sCi0gIDE2LCAweDgxNzAsIDAsIHsweGIzLDB4ODAsMHgyMSwweGUwLDB4MDgsMHg3OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxODAsIDAsIHsweDQ4LDB4MDQsMHhjNSwweDIwLDB4YjMsMHgwMSwweDJjLDB4ZDgsMHgwYiwweDNjLDB4MDIsMHgyYywweDA4LDB4YjksMHgwMCwweDIwIH0sCi0gIDE2LCAweDgxOTAsIDAsIHsweDAzLDB4MGEsMHgwMCwweDgyLDB4MjIsMHgwOCwweDkwLDB4MGQsMHgyNiwweGU0LDB4MDgsMHgxMCwweDAyLDB4MGMsMHgwMCwweGEzIH0sCi0gIDE2LCAweDgxYTAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDBiLDB4MzAsMHgwMiwweDZjLDB4MDAsMHhiMywweDAwLDB4MjIsMHhjMCwweDI4LDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDgxYjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4OTksMHgwMCwweGZhLDB4MDIsMHgzZiwweDkwIH0sCi0gIDE2LCAweDgxYzAsIDAsIHsweDBmLDB4ZWMsMHgyMywweGE4LDB4MDAsMHhkYSwweDAwLDB4MzUsMHg4MCwweDBkLDB4ZTAsMHgwMiwweGJhLDB4MDIsMHhmZSwweGMyIH0sCi0gIDE2LCAweDgxZDAsIDAsIHsweGI2LDB4YTAsMHgwZSwweGU0LDB4MGIsMHgyOCwweDAwLDB4Y2EsMHgwMCwweGIyLDB4ODAsMHgwZiwweGEwLDB4MGIsMHgyOCwweDAwIH0sCi0gIDE2LCAweDgxZTAsIDAsIHsweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgxZjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgyLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlIH0sCi0gIDE2LCAweDgyMDAsIDAsIHsweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHg0MCwweGU4LDB4MTAsMHgzYSwweDAwLDB4NGYsMHg4NCwweDgzLDB4ZTAsMHgwMCwweGY4IH0sCi0gIDE2LCAweDgyMTAsIDAsIHsweDAwLDB4M2EsMHgwMCwweDBmLDB4MDAsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDgyMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTUsMHgwMCwweGM5LDB4MDIsMHgzZSwweDQwIH0sCi0gIDE2LCAweDgyMzAsIDAsIHsweDBmLDB4OTAsMHgyMywweDI0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg2OCwweDJmLDB4MTAsMHgwMywweDI0LDB4MDAsMHhlOSwweDE0IH0sCi0gIDE2LCAweDgyNDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweDkwLDB4MGIsMHgwNCwweDAwLDB4ZDksMHgwMCwweDFlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweDgyNTAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyNjAsIDAsIHsweDgwLDB4MTQsMHg2NCwweDAwLDB4ODksMHgwMSwweDJlLDB4NDAsMHg0YiwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHhjMiwweGEyIH0sCi0gIDE2LCAweDgyNzAsIDAsIHsweDYwLDB4ODgsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4YzEsMHhhMiwweDQwLDB4NDgsMHgxNiwweDAzLDB4NjQsMHgwMiwweDg5IH0sCi0gIDE2LCAweDgyODAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgyMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCwweDI4LDB4OTAsMHgwYSwweDIwIH0sCi0gIDE2LCAweDgyOTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA0LDB4MjQsMHgwMCwweDg5LDB4MDIsMHgyZSwweDQwIH0sCi0gIDE2LCAweDgyYTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDEwLDB4MjIsMHg0MCwweDg5LDB4OTAsMHgwMiwweGFjLDB4MDAsMHhhMSwweDA4IH0sCi0gIDE2LCAweDgyYjAsIDAsIHsweDIyLDB4NDAsMHgwOSwweDk4LDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwIH0sCi0gIDE2LCAweDgyYzAsIDAsIHsweDg5LDB4MDAsMHgyNiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgyZDAsIDAsIHsweDA4LDB4MDAsMHgyNCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NDEsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgxLDB4ODEsMHgyMCwweDIyIH0sCi0gIDE2LCAweDgyZTAsIDAsIHsweDQ4LDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MSwweDgxLDB4MjQsMHgwMiwweDQ4LDB4MGEsMHg5MCwweDAyLDB4ODQsMHhhMCwweDgxIH0sCi0gIDE2LCAweDgyZjAsIDAsIHsweDI4LDB4NmMsMHg0YSwweDA4LDB4MTIsMHhkMiwweDA0LDB4YTEsMHg4MSwweDI4LDB4MmMsMHg0YSwweDA4LDB4MTIsMHg4MiwweDAyIH0sCi0gIDE2LCAweDgzMDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDA4LDB4NjEsMHg0MCwweGM4LDB4MDAsMHgyZSwweDE0IH0sCi0gIDE2LCAweDgzMTAsIDAsIHsweDBmLDB4ODUsMHgwYiwweDIxLDB4NDIsMHhjYSwweDUwLDB4MjIsMHgxNCwweDBkLDB4ODUsMHg0MywweGExLDB4NDAsMHhlOCwweDUwIH0sCi0gIDE2LCAweDgzMjAsIDAsIHsweDMwLDB4MDAsMHgwZCwweDg1LDB4MDIsMHhhMSwweGMwLDB4ZDgsMHgyMCwweDNhLDB4MDgsMHgyYywweDgyLDB4MGIsMHgyMCwweDgyIH0sCi0gIDE2LCAweDgzMzAsIDAsIHsweGM4LDB4MjAsMHgzNCwweDA5LDB4OGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzNDAsIDAsIHsweDk4LDB4MGQsMHhmYywweDAyLDB4ZjksMHgwMCwweDNmLDB4NDAsMHg0ZiwweGQxLDB4MDMsMHhlNCwweDQwLDB4ZjUsMHgxNCwweGJmIH0sCi0gIDE2LCAweDgzNTAsIDAsIHsweDQ0LDB4MGQsMHg1MSwweDIzLDB4NWMsMHg0MCwweGY1LDB4MTAsMHgxZiwweDRlLDB4NGQsMHg1MCwweDAzLDB4NjQsMHgwOCwweGY5IH0sCi0gIDE2LCAweDgzNjAsIDAsIHsweDI4LDB4M2UsMHg0YSwweDhmLDB4OTIsMHg4MywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2EsMHg0YiwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweDgzNzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZjQsMHg0MCwweGZkLDB4MDAsMHgzMCwweDQwIH0sCi0gIDE2LCAweDgzODAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkZCwweDAwLDB4M2IsMHg0MCwweDBlLDB4OTAsMHgwMywweDc0LDB4MDAsMHg1ZCwweDAwIH0sCi0gIDE2LCAweDgzOTAsIDAsIHsweDM2LDB4NjQsMHgwZCwweGQwLDB4MDAsMHhhNiwweDAwLDB4ZjksMHg0MCwweDMyLDB4NzgsMHgwYywweDk5LDB4MDMsMHgyNCwweDQwIH0sCi0gIDE2LCAweDgzYTAsIDAsIHsweGM5LDB4OTAsMHgzMiwweDUwLDB4MGYsMHg5YiwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDgzYjAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDgwLDB4YjgsMHgwMCwweDIyLDB4MDEsMHgwOCwweDgwLDB4MGEsMHgyMCwweDAwLDB4ODgsMHgwMCwweDJhIH0sCi0gIDE2LCAweDgzYzAsIDAsIHsweDAwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMiwweDIwLDB4MDgsMHg4YSwweDhiLDB4ZTEsMHgwMCwweGI4IH0sCi0gIDE2LCAweDgzZDAsIDAsIHsweDgwLDB4MjIsMHgzMCwweDI4LDB4MGQsMHgwMiwweDIyLDB4MDAsMHhkOCwweGU0LDB4MjIsMHgyOCwweDBiLDB4OGYsMHgwYSwweDBlIH0sCi0gIDE2LCAweDgzZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweGIxLDB4MDAsMHhhMCwweDQwIH0sCi0gIDE2LCAweDgzZjAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDA0LDB4MDAsMHg4OSwweDAwLDB4MDgsMHg0MCwweDBhLDB4OTAsMHg0MiwweDQ0LDB4MDAsMHg5MSwweDAwIH0sCi0gIDE2LCAweDg0MDAsIDAsIHsweDIwLDB4NTgsMHgyOCwweDkwLDB4MDIsMHg4NSwweDAwLDB4ODEsMHgyMCwweGEwLDB4NGMsMHgwOSwweDEyLDB4MGEsMHgwNCwweDgwIH0sCi0gIDE2LCAweDg0MTAsIDAsIHsweDkxLDB4NDAsMHhhMCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0MjAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMiwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODksMHgwMSwweDIyIH0sCi0gIDE2LCAweDg0MzAsIDAsIHsweDQwLDB4MjgsMHg5MCwweDIyLDB4MDQsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGIxIH0sCi0gIDE2LCAweDg0NDAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDgxLDB4OTAsMHgwMiwweDA0LDB4MDAsMHg5MSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweDg0NTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTUsMHgwMCwweGYxLDB4MDAsMHgzMiwweDYwIH0sCi0gIDE2LCAweDg0NjAsIDAsIHsweDJjLDB4OTIsMHgxMywweDI0LDB4MDIsMHhkMSwweDEwLDB4M2EsMHg0MCwweDBlLDB4MTIsMHgwMywweDY2LDB4MDQsMHhkOSwweDAwIH0sCi0gIDE2LCAweDg0NzAsIDAsIHsweGI2LDB4NDAsMHgwZCwweDE5LDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwOSwweDkwLDB4MDEsMHgyNCwweDAwIH0sCi0gIDE2LCAweDg0ODAsIDAsIHsweGQ5LDB4MDIsMHgyMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg0OTAsIDAsIHsweDJhLDB4MDEsMHhhNSwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjQsMHgwZiwweDEwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg4MSwweDNlIH0sCi0gIDE2LCAweDg0YTAsIDAsIHsweDY2LDB4OGYsMHg5MCwweDIzLDB4ZTQsMHg4MCwweGY5LDB4MDQsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgwNCwweGY5IH0sCi0gIDE2LCAweDg0YjAsIDAsIHsweDAwLDB4M2MsMHg0MCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4MTAsMHgwMywweGNhIH0sCi0gIDE2LCAweDg0YzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyYSwweDEwLDB4YTAsMHgwMCwweGY4LDB4MjQsMHgzZSwweDAwIH0sCi0gIDE2LCAweDg0ZDAsIDAsIHsweDJjLDB4ODQsMHgwMywweDIwLDB4MDAsMHhiOCwweDIwLDB4M2UsMHgwMCwweDhjLDB4ODAsMHgwMywweGEwLDB4MDAsMHg3MCwweDgyIH0sCi0gIDE2LCAweDg0ZTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgyYywweDgwLDB4MGIsMHgyMCwweDA4IH0sCi0gIDE2LCAweDg0ZjAsIDAsIHsweGM4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1MDAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDA0LDB4YmUsMHg4MCwweDNhLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDA0LDB4OGUsMHgwMCwweDZkIH0sCi0gIDE2LCAweDg1MTAsIDAsIHsweDkwLDB4MGQsMHhhMCwweDAyLDB4M2EsMHgwMCwweDhlLDB4ODAsMHhhMiwweDgwLDB4MGUsMHhlMCwweDBiLDB4NjgsMHgwMCwweGJhIH0sCi0gIDE2LCAweDg1MjAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhkYSwweDAwLDB4MmUsMHg4MCwweDA4LDB4YTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweDg1MzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDgxLDB4NGMsMHgwMCwweGIxLDB4MDAsMHgyYywweGMwIH0sCi0gIDE2LCAweDg1NDAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDBjLDB4MTgsMHhhMywweDAyLDB4MmMsMHgxMCwweDg4LDB4MzAsMHgwNiwweDgyLDB4ODEsMHhhMCwweDAwIH0sCi0gIDE2LCAweDg1NTAsIDAsIHsweDJhLDB4YzAsMHgwYiwweDMwLDB4MGEsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgxYSwweGIwLDB4MDIsMHg4YywweDAxIH0sCi0gIDE2LCAweDg1NjAsIDAsIHsweDgzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1NzAsIDAsIHsweDIwLDB4MDEsMHgxYywweDEwLDB4YjQsMHgwYSwweDJiLDB4YzgsMHgwOCwweDMxLDB4MjYsMHgxYywweDAwLDB4ODYsMHgwMCwweDJkIH0sCi0gIDE2LCAweDg1ODAsIDAsIHsweGMwLDB4MDksMHg3MiwweDAyLDB4MWQsMHgwMCwweGE1LDB4NDAsMHgyOSwweGMwLDB4MGEsMHg2MCwweDAyLDB4NWMsMHg4OCwweGIzIH0sCi0gIDE2LCAweDg1OTAsIDAsIHsweDIwLDB4MjUsMHhjOCwweDBhLDB4NzIsMHgwMiwweDljLDB4ODAsMHg5NywweDIwLDB4MmMsMHhlOCwweDgwLDB4NzIsMHgwMiwweGU4IH0sCi0gIDE2LCAweDg1YTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4MTYsMHgwMCwweGI1LDB4ODAsMHgzZCwweGUyIH0sCi0gIDE2LCAweDg1YjAsIDAsIHsweDBjLDB4N2EsMHg4YiwweDBlLDB4YzAsMHhhNywweDgxLDB4MmMsMHgyMCwweDBjLDB4ZmMsMHgwMywweDkyLDB4MDIsMHhlZiwweDgwIH0sCi0gIDE2LCAweDg1YzAsIDAsIHsweDM5LDB4ZTQsMHgwYiwweGQ4LDB4MDEsMHgxZiwweDAwLDB4ZjcsMHg4MCwweGIzLDB4ZjQsMHg4ZSwweDc5LDB4MDMsMHg4ZSwweDAwIH0sCi0gIDE2LCAweDg1ZDAsIDAsIHsweGM3LDB4YzQsMHgzZCwweGU4LDB4MmMsMHg3YiwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg1ZTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlLDB4ZGQsMHg4NywweGI2LDB4MDMsMHhlZCwweGNjLDB4ZTksMHgwMCwweDNlIH0sCi0gIDE2LCAweDg1ZjAsIDAsIHsweDQwLDB4MGYsMHhiMCwweDA3LDB4Y2MsMHgxMCwweDBiLDB4MDAsMHgzNiwweGQ4LDB4MGYsMHg4MCwweDQzLDB4YWQsMHg4MCwweGZiIH0sCi0gIDE2LCAweDg2MDAsIDAsIHsweDI4LDB4M2EsMHhjMCwweDBkLDB4YjQsMHgwMywweDZjLDB4ZTIsMHhlYiwweDYwLDB4M2UsMHhkNCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweDg2MTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGZlLDB4OTAsMHgzZiwweGU1IH0sCi0gIDE2LCAweDg2MjAsIDAsIHsweDBlLDB4ZjgsMHgwMywweDNlLDB4MTAsMHhmZiwweDkwLDB4MTcsMHg2MCwweDBmLDB4ZmMsMHgwMywweDdhLDB4MDAsMHhlZSwweDgwIH0sCi0gIDE2LCAweDg2MzAsIDAsIHsweDM3LDB4ZTIsMHgwZSwweDc4LDB4MGYsMHhmZiwweDQwLDB4ZWYsMHg4OCwweDFmLDB4ZTAsMHgwYywweGY4LDB4ODMsMHhmZSwweDgwIH0sCi0gIDE2LCAweDg2NDAsIDAsIHsweGNmLDB4ZDAsMHhiMywweGYwLDB4MGMsMHhmOCwweGMzLDB4MTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2NTAsIDAsIHsweGE4LDB4MTEsMHg5YywweDQwLDB4YjQsMHgxMCwweDBmLDB4Y2MsMHgwMCwweDcyLDB4MDIsMHgxYywweDAwLDB4YjYsMHgwMiwweDA5IH0sCi0gIDE2LCAweDg2NjAsIDAsIHsweGMwLDB4MjgsMHhmMCwweDAyLDB4OTgsMHgwMCwweGE2LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAzLDB4ZmMsMHgwMiwweDg3IH0sCi0gIDE2LCAweDg2NzAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRlLDB4MDAsMHg4ZiwweDEwLDB4MjEsMHhjMCwweDA4LDB4ZjAsMHgwMywweDZhIH0sCi0gIDE2LCAweDg2ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OTQsMHgwMCwweGI2LDB4MDIsMHgyZiwweGMyIH0sCi0gIDE2LCAweDg2OTAsIDAsIHsweDFhLDB4MzAsMHg4MCwweDFjLDB4MDAsMHhiNiwweDA4LDB4MDEsMHg0MCwweDBhLDB4ZjAsMHgwMiwweDE4LDB4MDAsMHg4NywweDAwIH0sCi0gIDE2LCAweDg2YTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweGQwLDB4MDIsMHg5YywweDEwLDB4ODcsMHgwMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDQ0IH0sCi0gIDE2LCAweDg2YjAsIDAsIHsweDg3LDB4MTAsMHg2NCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDYsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg2YzAsIDAsIHsweDYwLDB4MTQsMHhjZSwweDYwLDB4YjAsMHgwMCwweDJjLDB4YzAsMHgwOCwweDM0LDB4MGEsMHgwYywweDA4LDB4YjAsMHgwNCwweDAwIH0sCi0gIDE2LCAweDg2ZDAsIDAsIHsweDQwLDB4MDgsMHgzMCwweGEyLDB4ODksMHg4MCwweGEyLDB4NjIsMHgyMCwweGUwLDB4MGIsMHgwMCwweDBhLDB4Y2MsMHgwOCwweDgzIH0sCi0gIDE2LCAweDg2ZTAsIDAsIHsweDAwLDB4NmMsMHhjMCwweDA4LDB4MzAsMHg1MiwweGNjLDB4MDAsMHg4MywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweDU4IH0sCi0gIDE2LCAweDg2ZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWUsMHgwMCwweGY4LDB4MDAsMHgzZiwweGQwIH0sCi0gIDE2LCAweDg3MDAsIDAsIHsweDBlLDB4ZmMsMHgwMywweDNjLDB4MDAsMHhmOSwweDAwLDB4OTIsMHg4NCwweDBmLDB4ZmMsMHgwMywweDY0LDB4MDAsMHg4MCwweDAwIH0sCi0gIDE2LCAweDg3MTAsIDAsIHsweGI3LDB4YzMsMHgwZiwweGI4LDB4ODMsMHhiYywweDA0LDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgzYywweGYwLDB4MDMsMHhmYywweDAyIH0sCi0gIDE2LCAweDg3MjAsIDAsIHsweGNmLDB4MDAsMHgzNywweGMwLDB4MjgsMHhmMCwweDEzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3MzAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjgsMHg0MSwweDNlLDB4YzgsMHgwZiwweDMyLDB4MDMsMHhlYywweDAwLDB4ZjgsMHgwMCwweDNhIH0sCi0gIDE2LCAweDg3NDAsIDAsIHsweGM0LDB4MGYsMHhiMSwweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzNiwweGMwLDB4MGYsMHhlNCwweDBiLDB4ZWMsMHgwNCwweGZiIH0sCi0gIDE2LCAweDg3NTAsIDAsIHsweDAwLDB4M2UsMHhjMSwweDBmLDB4YjAsMHg0MywweGVjLDB4MDQsMHhmYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGU0IH0sCi0gIDE2LCAweDg3NjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjQsMHgwMCwweGZjLDB4ODAsMHgzZiwweGMwIH0sCi0gIDE2LCAweDg3NzAsIDAsIHsweDFmLDB4ZjAsMHgwMywweDNjLDB4MDgsMHhmYiwweDAwLDB4MzMsMHg4MCwweDJlLDB4ZjAsMHgxMywweGE0LDB4MDQsMHhjYiwweDAwIH0sCi0gIDE2LCAweDg3ODAsIDAsIHsweGI5LDB4YzAsMHgyYywweGQ4LDB4MGIsMHgzYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwOSwweDcwLDB4MDAsMHgyYywweDA0IH0sCi0gIDE2LCAweDg3OTAsIDAsIHsweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg3YTAsIDAsIHsweGMxLDB4MDAsMHg2YywweDAwLDB4YjgsMHg4MCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDMsMHg2YywweDAwLDB4YjksMHgxNiwweDI4IH0sCi0gIDE2LCAweDg3YjAsIDAsIHsweDcyLDB4MDgsMHhiMCwweDIyLDB4MjcsMHg0MCwweGRiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiZCwweDgyLDB4MmMsMHgwOCwweGJiIH0sCi0gIDE2LCAweDg3YzAsIDAsIHsweDAwLDB4MmUsMHhjMCwweDQ4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMSwweDBiLDB4YjAsMHgwMiwweGUwIH0sCi0gIDE2LCAweDg3ZDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGI4LDB4NjAsMHgyZSwweGMwIH0sCi0gIDE2LCAweDg3ZTAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiMSwweDAwLDB4MmEsMHg4NCwweDRhLDB4MzAsMHgyMiwweGFjLDB4MjAsMHg5OCwweDgwIH0sCi0gIDE2LCAweDg3ZjAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhhYywweDAwLDB4M2IsMHgwMCwweDJjLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhYywweDA4IH0sCi0gIDE2LCAweDg4MDAsIDAsIHsweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4MTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAxLDB4YjAsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0YywweDA0LDB4YjAsMHgwMCwweDJhIH0sCi0gIDE2LCAweDg4MjAsIDAsIHsweDgwLDB4MDgsMHgzMCwweDAyLDB4MDAsMHgwMCwweDEwLDB4MDQsMHgyOCwweGMwLDB4MDgsMHgyMCwweDQyLDB4OGMsMHgwMCwweGIzIH0sCi0gIDE2LCAweDg4MzAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDQyLDB4MzAsMHgwYSwweDhjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDhiLDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDg4NDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGY4LDB4NTAsMHgzZiwweGMwIH0sCi0gIDE2LCAweDg4NTAsIDAsIHsweDBiLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhmYSwweDA0LDB4MzIsMHg4MCwweDBlLDB4ZjAsMHgyMywweGFjLDB4MDAsMHhkOSwweDAwIH0sCi0gIDE2LCAweDg4NjAsIDAsIHsweDNiLDB4YzAsMHgwYywweDkwLDB4MDMsMHhiYywweDA0LDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgyZSwweGYwLDB4MGIsMHgzYywweDAwIH0sCi0gIDE2LCAweDg4NzAsIDAsIHsweGZmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4ODAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4YzAsMHgwNywweGYwLDB4MDMsMHhmYywweDA0LDB4N2MsMHgwMiwweGI1IH0sCi0gIDE2LCAweDg4OTAsIDAsIHsweDAwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzNywweGMwLDB4MGYsMHhmMCwweDEzLDB4N2MsMHgwMCwweGZmIH0sCi0gIDE2LCAweDg4YTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweDZkLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDFmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweDg4YjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGQ1LDB4ODAsMHgzMywweDBhIH0sCi0gIDE2LCAweDg4YzAsIDAsIHsweDRjLDB4ZjgsMHgwMywweGYyLDB4MDAsMHhmYywweDAwLDB4MzcsMHgyNiwweDFmLDB4Y2EsMHgwMywweGJjLDB4YzQsMHhjZiwweDIwIH0sCi0gIDE2LCAweDg4ZDAsIDAsIHsweDMzLDB4ZTQsMHgwZiwweDc4LDB4MDMsMHgzZSwweDQ0LDB4Y2YsMHgwMCwweDNiLDB4Y2UsMHg5ZiwweDY4LDB4MTMsMHhkMCwweDAwIH0sCi0gIDE2LCAweDg4ZTAsIDAsIHsweGNkLDB4ODAsMHhiMywweDYwLDB4MGYsMHhmYSwweDgzLDB4ZjAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg4ZjAsIDAsIHsweDgwLDB4MTAsMHhlMCwweDgwLDB4YzksMHgyOCwweDIyLDB4MzAsMHgwOCwweGIyLDB4MjIsMHhlYSwweDAxLDB4YjgsMHg4MiwweDIwIH0sCi0gIDE2LCAweDg5MDAsIDAsIHsweDUwLDB4NGYsMHg5YywweDAwLDB4YTgsMHhkMSwweGRiLDB4MTAsMHhhNiwweGUwLDB4MTcsMHhiOCwweDAzLDB4ZWMsMHg4MCwweGRiIH0sCi0gIDE2LCAweDg5MTAsIDAsIHsweDA4LDB4MWYsMHhkMCwweDBiLDB4YjgsMHgwMiwweGY2LDB4MDAsMHhmYiwweDgwLDB4MjIsMHg0MCwweDBiLDB4YjAsMHgwMiwweDYwIH0sCi0gIDE2LCAweDg5MjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHgyMCwweDgxLDB4ODAsMHgyMCwweDAwIH0sCi0gIDE2LCAweDg5MzAsIDAsIHsweDhiLDB4MzAsMHg4MiwweGMwLDB4MDAsMHhiMCwweDEwLDB4MjgsMHgwOCwweDhiLDB4MTEsMHgzMCwweGM0LDB4ODQsMHg5MCwweDI4IH0sCi0gIDE2LCAweDg5NDAsIDAsIHsweDI0LDB4YzgsMHgwYiwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgxMCwweDA0LDB4YzgsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwIH0sCi0gIDE2LCAweDg5NTAsIDAsIHsweGIzLDB4MDAsMHgyNCwweDQwLDB4MGIsMHgzMCwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5NjAsIDAsIHsweGMwLDB4MTUsMHhhNiwweDAwLDB4ODEsMHgwMCwweDIyLDB4MTAsMHgwYiwweGIwLDB4MTIsMHhlYSwweDIwLDB4YmIsMHgwMCwweDJhIH0sCi0gIDE2LCAweDg5NzAsIDAsIHsweDcwLDB4MGEsMHg5YywweDAyLDB4NjIsMHgwMCwweDk4LDB4ODgsMHgyNiwweGM4LDB4MDIsMHhiMiwweDAyLDB4OGUsMHgwOCwweDhiIH0sCi0gIDE2LCAweDg5ODAsIDAsIHsweDE4LDB4MjIsMHhjMCwweDBiLDB4YTAsMHgwMiwweGVlLDB4MjAsMHgzYiwweDAwLDB4MjYsMHg0MCwweDBiLDB4YjAsMHgwMiwweDcwIH0sCi0gIDE2LCAweDg5OTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTAsMHgwMCwweGNiLDB4MDAsMHgzMiwweDgwIH0sCi0gIDE2LCAweDg5YTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGU3LDB4MDAsMHhiOCwweDUyLDB4M2UsMHgyMCwweDRiLDB4MGMsMHg0MywweGVmLDB4ODIsMHg5YiwweGMwIH0sCi0gIDE2LCAweDg5YjAsIDAsIHsweDMyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHg2YywweDAxLDB4OGIsMHg4MCwweDJlLDB4YzAsMHgwYiwweGEwLDB4ODMsMHhlNiwweDAwIH0sCi0gIDE2LCAweDg5YzAsIDAsIHsweGZiLDB4MDAsMHgzNiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDg5ZDAsIDAsIHsweGUwLDB4MDEsMHhiMCwweDAyLDB4ZmYsMHgwNCwweDNmLDB4OTAsMHgwYywweGYxLDB4MDEsMHhmNCwweDA4LDB4N2QsMHg4MCwweDM3IH0sCi0gIDE2LCAweDg5ZTAsIDAsIHsweDAwLDB4MGYsMHhjMCwweDIzLDB4OTgsMHgwMCwweGY3LDB4MDAsMHgyYiwweGUwLDB4MGYsMHhmOCwweDIzLDB4ZmMsMHgwNiwweGZiIH0sCi0gIDE2LCAweDg5ZjAsIDAsIHsweDgzLDB4YmYsMHhjMCwweDg3LDB4ZDAsMHgwMywweGRjLDB4MDAsMHhlZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4YjAsMHgwMSwweGY4IH0sCi0gIDE2LCAweDhhMDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTYsMHgwMCwweGNiLDB4MDAsMHgzMywweDgwIH0sCi0gIDE2LCAweDhhMTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGUxLDB4MTAsMHhmMiwweDQwLDB4YjIsMHgwMCwweDNkLDB4OTQsMHgxNywweDJkLDB4NDQsMHhmYSwweDQxIH0sCi0gIDE2LCAweDhhMjAsIDAsIHsweDMyLDB4YzAsMHg5ZiwweGIwLDB4MjMsMHgyYywweDAyLDB4Y2IsMHg0MCwweDMyLDB4YzAsMHg0ZiwweDkwLDB4MDMsMHgzZCwweDAwIH0sCi0gIDE2LCAweDhhMzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhNDAsIDAsIHsweDg4LDB4MDUsMHgyNiwweDAwLDB4OGIsMHg3MSwweDIwLDB4ZDUsMHgwMywweDk5LDB4MDIsMHhlMCwweDAwLDB4YmIsMHg4MCwweDIyIH0sCi0gIDE2LCAweDhhNTAsIDAsIHsweDYwLDB4MWMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGI4LDB4MDIsMHgyMiwweGMyLDB4MGIsMHgzMiwweDAyLDB4MmMsMHgwMSwweDhmIH0sCi0gIDE2LCAweDhhNjAsIDAsIHsweDAyLDB4ZDcsMHhjMCwweDBiLDB4YTAsMHgwMywweDZkLDB4NDAsMHg1MywweDgwLDB4MmUsMHhjMCwweDBlLDB4ZjAsMHg0MywweDcyIH0sCi0gIDE2LCAweDhhNzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NjgsMHgwMiwweDgwLDB4MDAsMHgyNCwweDAwIH0sCi0gIDE2LCAweDhhODAsIDAsIHsweDBiLDB4MzUsMHgyNiwweGMyLDB4MDAsMHhiMCwweDkwLDB4MjAsMHhjMCwweDg4LDB4MDAsMHgwMiwweDRmLDB4MjAsMHhiMywweDAyIH0sCi0gIDE2LCAweDhhOTAsIDAsIHsweDYwLDB4ZTIsMHgxYiwweDM4LDB4MDIsMHgwYywweDAwLDB4ODgsMHgwMCwweDYwLDB4YzAsMHgwYiwweDM0LDB4ODIsMHg0YywweDAyIH0sCi0gIDE2LCAweDhhYTAsIDAsIHsweGExLDB4OTAsMHgyYywweDQwLDB4MGIsMHgzMCwweDAyLDB4MzAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhhYjAsIDAsIHsweDIwLDB4MDEsMHgzYSwweDA4LDB4OGMsMHhhMCwweDJkLDB4MjAsMHg0YiwweDc4LDB4MDIsMHhkYSwweDAwLDB4YjIsMHg5MCwweDIxIH0sCi0gIDE2LCAweDhhYzAsIDAsIHsweDY2LDB4NDgsMHg3OSwweDAyLDB4ZGUsMHg0MCwweGI3LDB4OTEsMHhhMSwweGUwLDB4ZGIsMHhmOCwweDAyLDB4MWUsMHg0MCwweDg0IH0sCi0gIDE2LCAweDhhZDAsIDAsIHsweDkwLDB4MDEsMHhlMCwweDhiLDB4ZjksMHgwMiwweDVlLDB4MDEsMHg5NywweDgwLDB4MmQsMHg2MCwweDBhLDB4NzgsMHgwMCwweDQ4IH0sCi0gIDE2LCAweDhhZTAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgwLDB4MDAsMHgyNCwweDA0IH0sCi0gIDE2LCAweDhhZjAsIDAsIHsweDBmLDB4MzIsMHgwMywweGM0LDB4YTAsMHhmMSwweDQyLDB4MzAsMHhjNCwweDJjLDB4MzEsMHgwMiwweDQ0LDB4MDAsMHhmMSwweDExIH0sCi0gIDE2LCAweDhiMDAsIDAsIHsweGEwLDB4YzAsMHgwYiwweDMwLDB4MGIsMHgwYywweDQyLDB4ODMsMHgwMCwweDAwLDB4YzAsMHgwZiwweDMwLDB4MDMsMHg0YywweDAyIH0sCi0gIDE2LCAweDhiMTAsIDAsIHsweGUzLDB4MDAsMHgzYywweDQwLDB4MGIsMHgzMCwweDAxLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiMjAsIDAsIHsweGMwLDB4MWQsMHhiYywweDAwLDB4ZmMsMHhhNSwweDMzLDB4YzAsMHgwZiwweGQwLDB4MDMsMHhmYywweDAxLDB4YmYsMHgwMCwweDNmIH0sCi0gIDE2LCAweDhiMzAsIDAsIHsweGM0LDB4MGUsMHg3MSwweDAzLDB4NzQsMHgwMCwweDc1LDB4MTAsMHgzZiwweGMwLDB4MDUsMHhmMCwweDAzLDB4ZGMsMHg0MCwweGZmIH0sCi0gIDE2LCAweDhiNDAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweGZjLDB4MDAsMHg3ZiwweDAwLDB4M2YsMHg0MCwweDBlLDB4ZjAsMHgwMywweGQwIH0sCi0gIDE2LCAweDhiNTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA0LDB4ZTgsMHgwMCwweGYyLDB4MDQsMHhiMywweDgwIH0sCi0gIDE2LCAweDhiNjAsIDAsIHsweDBmLDB4YjgsMHgwYiwweDJjLDB4MDAsMHhlYiwweDgwLDB4MzIsMHhjMCwweDBjLDB4MjAsMHgxMywweDJlLDB4MDgsMHhjYiwweDAxIH0sCi0gIDE2LCAweDhiNzAsIDAsIHsweDMyLDB4YzUsMHgwZiwweGIxLDB4MDMsMHhlYywweDQ4LDB4YzgsMHgxMCwweDMyLDB4ZmEsMHg4YywweDM4LDB4MDMsMHgzYywweDkwIH0sCi0gIDE2LCAweDhiODAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDEzLDB4YzIsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhiOTAsIDAsIHsweGM4LDB4MTAsMHg5OCwweDAwLDB4ZjYsMHgwMCwweDYxLDB4ODEsMHgwYiwweGYwLDB4MDIsMHgxYywweDAwLDB4ZDcsMHgwMCwweGI3IH0sCi0gIDE2LCAweDhiYTAsIDAsIHsweDgwLDB4MGMsMHg3MCwweDAyLDB4YmMsMHgxMCwweDhmLDB4MDAsMHgyMSwweGM4LDB4OGIsMHg3MiwweDQzLDB4ZmMsMHg4OCwweGRjIH0sCi0gIDE2LCAweDhiYjAsIDAsIHsweDAwLDB4MzcsMHhjOCwweDBkLDB4NTAsMHgwMiwweDFjLDB4MjIsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGQzIH0sCi0gIDE2LCAweDhiYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgwMCwweGI2LDB4ODAsMHhhOSwweGEwIH0sCi0gIDE2LCAweDhiZDAsIDAsIHsweDRiLDB4N2MsMHgwMiwweDVlLDB4MzAsMHhhMywweDg4LDB4MjEsMHhmMCwweDA4LDB4NzgsMHgwMiwweDE2LDB4MDAsMHg4NSwweDgwIH0sCi0gIDE2LCAweDhiZTAsIDAsIHsweDIxLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhkZSwweDAwLDB4ODcsMHg4MCwweGExLDB4ZTQsMHgwOCwweGQ4LDB4MDIsMHg0ZSwweDAwIH0sCi0gIDE2LCAweDhiZjAsIDAsIHsweDk3LDB4ODAsMHgyZCwweDcwLDB4MGIsMHg3OCwweDAyLDB4YzgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjMDAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4YjIsMHgwMCwweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg0ZSwweDkwLDB4OTMsMHgwMiwweDIyIH0sCi0gIDE2LCAweDhjMTAsIDAsIHsweGYwLDB4MDgsMHgzOCwweDQyLDB4OGMsMHg0MiwweDgzLDB4MDQsMHgyMiwweGU0LDB4NGIsMHgzOCwweDAyLDB4OGUsMHg0MCwweDgzIH0sCi0gIDE2LCAweDhjMjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDA5LDB4MzgsMHgyMiwweDRlLDB4MjEsMHg5MywweDAwLDB4MmUsMHhlMCwweDBiLDB4MzAsMHgwMiwweGRiIH0sCi0gIDE2LCAweDhjMzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMSwweGZhLDB4MDAsMHgzYiwweDg5IH0sCi0gIDE2LCAweDhjNDAsIDAsIHsweDBmLDB4YTAsMHgwMiwweDc4LDB4MDgsMHhhZSwweDQwLDB4MjMsMHg4MCwweDJjLDB4NmMsMHgwYiwweDNhLDB4MDAsMHg4ZSwweDhjIH0sCi0gIDE2LCAweDhjNTAsIDAsIHsweGIyLDB4MDAsMHgwYiwweDgwLDB4ODIsMHhlMCwweDAyLDB4OGUsMHgwMCwweDIyLDB4ODAsMHgwYywweGU4LDB4MDIsMHg3YiwweDgwIH0sCi0gIDE2LCAweDhjNjAsIDAsIHsweDlhLDB4ODAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjNzAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDA5LDB4ZWMsMHgwMCwweDM2LDB4MjEsMHgwYiwweDgwLDB4MTMsMHhhMSwweDAwLDB4ZjgsMHg2MCwweDNlIH0sCi0gIDE2LCAweDhjODAsIDAsIHsweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDQzLDB4ZTAsMHgxMCwweGY4IH0sCi0gIDE2LCAweDhjOTAsIDAsIHsweDAwLDB4YmUsMHgwMCwweDBmLDB4ODUsMHgwYiwweDgwLDB4MDAsMHhlOCwweDEwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDhjYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDIsMHgzMCwweDQ4IH0sCi0gIDE2LCAweDhjYjAsIDAsIHsweDBjLDB4OTksMHgxMywweGE0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MiwweDBjLDB4OTAsMHg4ZiwweDI0LDB4MDAsMHhmOSwweDAwIH0sCi0gIDE2LCAweDhjYzAsIDAsIHsweDMyLDB4MjgsMHgwYywweDg4LDB4MDMsMHhlMCwweDAwLDB4YzksMHgwMCwweGIyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNywweDAwIH0sCi0gIDE2LCAweDhjZDAsIDAsIHsweGM5LDB4MTAsMHgzZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhjZTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAxLDB4ODksMHg4MCwweGEyLDB4NDgsMHgyOCwweDkyLDB4NDIsMHhjNSwweDAwLDB4ODksMHg0MCwweDJlIH0sCi0gIDE2LCAweDhjZjAsIDAsIHsweDQwLDB4MmMsMHg5MCwweDA2LDB4MjUsMHgwMCwweGI5LDB4MDAsMHgyMiwweDUwLDB4MDgsMHg5OCwweDAyLDB4YzQsMHgwMCwweDg5IH0sCi0gIDE2LCAweDhkMDAsIDAsIHsweDAxLDB4NzYsMHg0MCwweDRiLDB4OTIsMHgwMiwweGU1LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBkLDB4OTAsMHgwMywweDYwIH0sCi0gIDE2LCAweDhkMTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwYywweDg1LDB4MjAsMHhhMiwweDQwIH0sCi0gIDE2LCAweDhkMjAsIDAsIHsweDA4LDB4OTAsMHgwNiwweGU1LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHg0MiwweGE0LDB4YTAsMHgzMSwweDAwIH0sCi0gIDE2LCAweDhkMzAsIDAsIHsweDIyLDB4NTAsMHgxOCwweDkxLDB4MDIsMHhlNCwweDAwLDB4ODEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAwIH0sCi0gIDE2LCAweDhkNDAsIDAsIHsweDg5LDB4MDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4MGUsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkNTAsIDAsIHsweDAwLDB4MDQsMHgxNSwweDAwLDB4ODUsMHg0MCwweDIwLDB4NDAsMHgwOCwweDE0LDB4MjYsMHhlNCwweDAwLDB4ODEsMHgwMCwweDJjIH0sCi0gIDE2LCAweDhkNjAsIDAsIHsweDQwLDB4MTgsMHgxMCwweDAyLDB4ODQsMHg4MCwweGIxLDB4MjAsMHhhMCwweDUwLDB4MDgsMHgxNCwweDAyLDB4ZTUsMHgwMiwweDgxIH0sCi0gIDE2LCAweDhkNzAsIDAsIHsweDQwLDB4MjAsMHg0OCwweDBiLDB4MTAsMHgwNiwweGNjLDB4MDAsMHg4MSwweDAxLDB4MmMsMHg1MCwweDA5LDB4MTQsMHgwMiwweDRhIH0sCi0gIDE2LCAweDhkODAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweDhjLDB4MDAsMHgzMiwweDAwIH0sCi0gIDE2LCAweDhkOTAsIDAsIHsweDBjLDB4ODAsMHgyMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgxNCwweDBkLDB4ODAsMHgxMiwweGExLDB4NDQsMHhmOCwweDUxIH0sCi0gIDE2LCAweDhkYTAsIDAsIHsweDMyLDB4MDAsMHgyYywweDgwLDB4MDMsMHhlMCwweDAwLDB4ODgsMHgwNCwweDIyLDB4MTQsMHgwZiwweDgwLDB4MDcsMHhlMCwweDAwIH0sCi0gIDE2LCAweDhkYjAsIDAsIHsweGM4LDB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhkYzAsIDAsIHsweDk4LDB4OWQsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNmLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhkYywweDAxLDB4YmQsMHg0MiwweDNmIH0sCi0gIDE2LCAweDhkZDAsIDAsIHsweDUwLDB4NGYsMHhkNCwweDQzLDB4NzQsMHg0MSwweGZkLDB4MTAsMHgzZiwweDEwLDB4MWYsMHhjNCwweDEzLDB4ZjEsMHgwMCwweGZkIH0sCi0gIDE2LCAweDhkZTAsIDAsIHsweDQwLDB4N2UsMHg0NCwweDBmLDB4ZDAsMHg0MywweGY1LDB4MDEsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4OTQsMHgwMywweGU2IH0sCi0gIDE2LCAweDhkZjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjQsMHgwMCwweGRmLDB4MDUsMHgzMywweDYxIH0sCi0gIDE2LCAweDhlMDAsIDAsIHsweDBmLDB4NTAsMHg1MywweDM0LDB4MTAsMHhmZCwweDA0LDB4MzMsMHg0NCwweDRmLDB4NTAsMHgwMywweDc2LDB4YzEsMHhjZCwweGUwIH0sCi0gIDE2LCAweDhlMTAsIDAsIHsweDMzLDB4NjAsMHgwYywweGNlLDB4MDMsMHhmNiwweGMwLDB4ZTEsMHhjMCwweGI2LDB4NjQsMHg4ZiwweDUwLDB4MGIsMHgzNiwweDgyIH0sCi0gIDE2LCAweDhlMjAsIDAsIHsweGNkLDB4MDAsMHgzZSwweDQ0LDB4NGMsMHg5ZSwweGMzLDB4YzYsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlMzAsIDAsIHsweDM4LDB4MTAsMHhlYSwweDI4LDB4ODAsMHhhMCwweGIyLDB4MDQsMHgwYiwweDhhLDB4ODMsMHg2MCwweDAwLDB4ZmEsMHgwMCwweDM2IH0sCi0gIDE2LCAweDhlNDAsIDAsIHsweDI4LDB4OGIsMHg4MCwweDAzLDB4ZTMsMHhjOCwweGM4LDB4ODQsMHgyMiwweDE0LDB4MDgsMHg4YSwweDAyLDB4ZTIsMHg4MCwweGQ4IH0sCi0gIDE2LCAweDhlNTAsIDAsIHsweDgyLDB4MzQsMHgzNCwweDFiLDB4ODAsMHgwMywweDYwLDB4MDQsMHg4OCwweDAwLDB4MmUsMHgyMCwweDBhLDB4OGUsMHg0MiwweGNlIH0sCi0gIDE2LCAweDhlNjAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHg4MCwweDgxLDB4MDgsMHgwNCwweDQxIH0sCi0gIDE2LCAweDhlNzAsIDAsIHsweDBiLDB4OTIsMHgwMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MTgsMHgwMiwweDI0LDB4MDAsMHhiMSwweDYwIH0sCi0gIDE2LCAweDhlODAsIDAsIHsweDI2LDB4NDAsMHgwYSwweDE2LDB4MDIsMHhjNSwweDAwLDB4YTEsMHhjMCwweDIwLDB4NDgsMHgwYiwweDkwLDB4MDIsMHg0NywweDAwIH0sCi0gIDE2LCAweDhlOTAsIDAsIHsweDkxLDB4MDEsMHgyYywweDQ4LDB4MTgsMHgxMiwweDAyLDB4ZDIsMHgwMSwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhlYTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDBjLDB4OGIsMHgwNCwweGEyLDB4NTAsMHgwYiwweDkxLDB4MDIsMHgyNCwweDA0LDB4YTksMHgwMSwweDJlIH0sCi0gIDE2LCAweDhlYjAsIDAsIHsweDQyLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweGE5LDB4MDAsMHgyNiwweDYwLDB4MGEsMHg5MCwweDAyLDB4ZTYsMHgwMCwweDgxIH0sCi0gIDE2LCAweDhlYzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDhiLDB4YjAsMHgwMiwweDI0LDB4MDgsMHg5OSwweDEwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwMiwweGM2IH0sCi0gIDE2LCAweDhlZDAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTUsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweDhlZTAsIDAsIHsweDBmLDB4MTAsMHgwMiwweDI1LDB4MDAsMHhiMSwweDAwLDB4MmUsMHg2MCwweDBmLDB4MTAsMHgxMiwweDI0LDB4MDIsMHhiOSwweGEwIH0sCi0gIDE2LCAweDhlZjAsIDAsIHsweGE0LDB4NDAsMHgyZSwweDkxLDB4MDMsMHhlNiwweDAwLDB4YTksMHgwMCwweDIyLDB4NDAsMHgwYiwweDE5LDB4ODAsMHg2NCwweDA0IH0sCi0gIDE2LCAweDhmMDAsIDAsIHsweGQ5LDB4ODEsMHgyZSwweDQwLDB4NGMsMHg5MCwweDAzLDB4ZTgsMHgxNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmMTAsIDAsIHsweDY4LDB4MDEsMHhhNCwweDBhLDB4ZTksMHgwMCwweGJlLDB4NDgsMHgwZiwweDk4LDB4MGIsMHhlNCwweDAwLDB4ZjksMHhjNCwweDM2IH0sCi0gIDE2LCAweDhmMjAsIDAsIHsweDcwLDB4MWYsMHg5MiwweDAzLDB4ZTYsMHg5MCwweGMxLDB4OTAsMHgzYSwweDQwLDB4OGQsMHg4OCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweDhmMzAsIDAsIHsweDkwLDB4M2UsMHg0MCwweDBiLDB4OTgsMHgwMywweGU2LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGQyIH0sCi0gIDE2LCAweDhmNDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDEwLDB4YTEsMHgwMiwweGQ4LDB4MjAsMHhiMiwweDEwIH0sCi0gIDE2LCAweDhmNTAsIDAsIHsweDBjLDB4ODAsMHg4MywweDIxLDB4NDAsMHhjOCwweDU4LDB4YjIsMHgxMCwweDRjLDB4ODAsMHgwYiwweDIwLDB4MDAsMHhmOCwweDQyIH0sCi0gIDE2LCAweDhmNjAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAyLDB4ZDgsMHgwMCwweDcyLDB4MDAsMHgxYywweDgwLDB4MDAsMHgyMCwweDAwIH0sCi0gIDE2LCAweDhmNzAsIDAsIHsweGY4LDB4MDQsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmODAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDA0LDB4Y2UsMHg0MSwweDIzLDB4ODAsMHgwOCwweGUwLDB4MDIsMHgzOSwweDEwLDB4YWUsMHg0MCwweDIyIH0sCi0gIDE2LCAweDhmOTAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MWEsMHgwMCwweGJhLDB4MDAsMHgyYiwweGFkLDB4MDMsMHg4MCwweDAyLDB4ZTgsMHgwMCwweGNhIH0sCi0gIDE2LCAweDhmYTAsIDAsIHsweDAwLDB4MmEsMHg4MCwweDBhLDB4ZTAsMHgwMiwweDE4LDB4MDAsMHhiYSwweDAwLDB4MWEsMHg4MCwweDBiLDB4YTAsMHgwMywweDRhIH0sCi0gIDE2LCAweDhmYjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDA1LDB4NmMsMHgxMiwweDg5LDB4MDAsMHhhMCwweGUwIH0sCi0gIDE2LCAweDhmYzAsIDAsIHsweDA4LDB4MzgsMHgwMiwweDBkLDB4ODgsMHg4MywweDAwLDB4MDQsMHhlMCwweDA4LDB4MzgsMHgzMiwweDBlLDB4MjUsMHgzMSwweDAxIH0sCi0gIDE2LCAweDhmZDAsIDAsIHsweDI0LDB4ZTAsMHg4YiwweDM4LDB4MDIsMHhlNCwweDAxLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwIH0sCi0gIDE2LCAweDhmZTAsIDAsIHsweGIzLDB4MDAsMHgyZSwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDhmZjAsIDAsIHsweGEwLDB4MDEsMHgxNCwweDIwLDB4ODYsMHgyMCwweDI5LDB4YjAsMHgwOCwweGYwLDB4ODIsMHgzZSwweDA0LDB4YTcsMHgwMCwweDIxIH0sCi0gIDE2LCAweDkwMDAsIDAsIHsweDcwLDB4ODgsMHg3MCwweDkyLDB4MWMsMHgyMCwweGJkLDB4MDAsMHg2OSwweGMwLDB4MGIsMHg3NiwweDAyLDB4ZDQsMHg4MCwweDhmIH0sCi0gIDE2LCAweDkwMTAsIDAsIHsweDIxLDB4MjksMHhlMCwweDBhLDB4NjAsMHg4NiwweDk4LDB4MDEsMHhiNywweDAwLDB4MmQsMHhjOCwweDBiLDB4M2IsMHgwMiwweDYwIH0sCi0gIDE2LCAweDkwMjAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHgwMCwweGM3LDB4YTAsMHhiMCwweGUwIH0sCi0gIDE2LCAweDkwMzAsIDAsIHsweDJjLDB4NzgsMHgwYiwweDFhLDB4MDAsMHhjMywweDgwLDB4MzcsMHhlMCwweDI4LDB4NzgsMHgwMywweDFhLDB4MDgsMHhmNSwweDkwIH0sCi0gIDE2LCAweDkwNDAsIDAsIHsweDM1LDB4ZTAsMHgwZiwweDdjLDB4MTIsMHhkNiwweDgyLDB4YzcsMHg5MCwweDIxLDB4ZTQsMHgwOCwweDc4LDB4MDMsMHg5ZSwweDAwIH0sCi0gIDE2LCAweDkwNTAsIDAsIHsweGY1LDB4ODAsMHgzZCwweGYxLDB4MGYsMHg3OCwweDAzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwNjAsIDAsIHsweDA4LDB4MTksMHhhNCwweDAwLDB4ZWUsMHg4MCwweDM2LDB4YzEsMHg0ZiwweGQwLDB4MDMsMHhjOCwweDAwLDB4ZmIsMHgwMCwweDNlIH0sCi0gIDE2LCAweDkwNzAsIDAsIHsweDUxLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgwOCwweGYxLDB4NjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzUsMHgwMCwweGViIH0sCi0gIDE2LCAweDkwODAsIDAsIHsweDEwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwOSwweDZjLDB4MDAsMHhmYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH0sCi0gIDE2LCAweDkwOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4ZmUsMHgwMCwweGZkLDB4ODgsMHgzMywweDYwIH0sCi0gIDE2LCAweDkwYTAsIDAsIHsweDBmLDB4ZjksMHgwMywweGNlLDB4NDAsMHhkNywweDg0LDB4MzcsMHg3MCwweDBjLDB4ZDgsMHgyMywweDM2LDB4MDAsMHhjNSwweDg4IH0sCi0gIDE2LCAweDkwYjAsIDAsIHsweDMzLDB4ZTAsMHg0ZiwweGY4LDB4MTMsMHhmNywweDI4LDB4ZGYsMHg4MCwweDM3LDB4ZTIsMHgwYywweDU4LDB4MDMsMHgzZSwweDAwIH0sCi0gIDE2LCAweDkwYzAsIDAsIHsweGZmLDB4OTAsMHgzZiwweGUwLDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkwZDAsIDAsIHsweGE5LDB4MTEsMHg5YywweDA4LDB4ZjYsMHgwMCwweGExLDB4MDAsMHgwYiwweDYzLDB4MDIsMHhkNiwweDMwLDB4ODUsMHg0MSwweDMxIH0sCi0gIDE2LCAweDkwZTAsIDAsIHsweGM4LDB4MDgsMHg1MCwweDIzLDB4MWMsMHgwMCwweGQ1LDB4MjAsMHhiMSwweDgwLDB4MGYsMHg3MCwweDAzLDB4YjQsMHgwMCwweGM3IH0sCi0gIDE2LCAweDkwZjAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDBmLDB4NDAsMHhhMywweDU4LDB4NDAsMHhiNywweDAwLDB4M2YsMHhjNCwweDBhLDB4ZjAsMHgwMiwweDJhIH0sCi0gIDE2LCAweDkxMDAsIDAsIHsweDA2LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHg0MCwweGI3LDB4MTAsMHgyMSwweGQyIH0sCi0gIDE2LCAweDkxMTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweGRjLDB4NDIsMHg4NiwweDAwLDB4MjUsMHg2MSwweDA4LDB4NTEsMHgwMiwweDUwLDB4MDAsMHg5NSwweDAwIH0sCi0gIDE2LCAweDkxMjAsIDAsIHsweDI1LDB4YzAsMHgwOSwweDcwLDB4ODIsMHhkNCwweDAwLDB4ODcsMHgwMCwweDI0LDB4YzAsMHgwOCwweDUwLDB4MDIsMHg1YywweDAwIH0sCi0gIDE2LCAweDkxMzAsIDAsIHsweDk1LDB4MDQsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxNDAsIDAsIHsweDIwLDB4MTQsMHhjYywweDA4LDB4YjIsMHhkMCwweDIwLDB4ZTAsMHg0YiwweDA4LDB4MDIsMHhjNCwweDAwLDB4ODAsMHg4MCwweDIwIH0sCi0gIDE2LCAweDkxNTAsIDAsIHsweGYwLDB4MDgsMHgxYSwweDAyLDB4ODUsMHg0OCwweDgxLDB4MTAsMHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4YzYsMHgxMCwweDkzIH0sCi0gIDE2LCAweDkxNjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDBhLDB4MWMsMHgwMiwweDBkLDB4NDAsMHhiMywweDAwLDB4NjgsMHhjNCwweDBhLDB4YjAsMHgwMiwweDA5IH0sCi0gIDE2LCAweDkxNzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMSwweGZlLDB4MDAsMHgzMiwweGYwIH0sCi0gIDE2LCAweDkxODAsIDAsIHsweDBmLDB4ODgsMHgwMywweGU2LDB4MDAsMHhjOCwweGM4LDB4MzYsMHhmNiwweDI4LDB4YTYsMHgwYSwweDZkLDB4MDAsMHg5ZCwweDAwIH0sCi0gIDE2LCAweDkxOTAsIDAsIHsweDMyLDB4MDAsMHgwYiwweGIwLDB4MDMsMHhmNiwweDAzLDB4YzcsMHgwMCwweDM3LDB4YzAsMHgwOCwweDljLDB4MGEsMHg2ZSwweDAwIH0sCi0gIDE2LCAweDkxYTAsIDAsIHsweGJiLDB4MDAsMHgyZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkxYjAsIDAsIHsweDgwLDB4MDAsMHhlNCwweDAxLDB4ZWIsMHg0MCwweDNlLDB4ODAsMHg0ZiwweGMxLDB4MDMsMHhlNCwweDAwLDB4YjgsMHgwOCwweDNhIH0sCi0gIDE2LCAweDkxYzAsIDAsIHsweDQwLDB4OGYsMHhhNCwweDEzLDB4NmMsMHgyMCwweGY5LDB4MDAsMHgzZSwweDcwLDB4MGYsMHhiMCwweDAzLDB4YTQsMHg0MCwweGViIH0sCi0gIDE2LCAweDkxZDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4OTIsMHgyMywweGU4LDB4MDAsMHhmOSwweDgwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHg2MywweGUwIH0sCi0gIDE2LCAweDkxZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwOCwweGNlLDB4MDgsMHgzMywweGMwIH0sCi0gIDE2LCAweDkxZjAsIDAsIHsweDBmLDB4ZGEsMHgwMywweDMwLDB4MDAsMHhlNCwweDA0LDB4MzUsMHhjMCwweDBkLDB4YTAsMHgwMywweDI4LDB4MDAsMHhjNSwweDAwIH0sCi0gIDE2LCAweDkyMDAsIDAsIHsweDMzLDB4MDAsMHgwYiwweGZhLDB4MDMsMHhmNCwweDAzLDB4Y2IsMHgwMCwweDMxLDB4YzAsMHgwYywweGQ0LDB4MDMsMHgxNCwweDIwIH0sCi0gIDE2LCAweDkyMTAsIDAsIHsweGNkLDB4ODAsMHgyMywweGMxLDB4MGMsMHhmMCwweDAyLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyMjAsIDAsIHsweDgxLDB4MDQsMHg0NCwweDEwLDB4Y2IsMHhkMCwweDIyLDB4YzAsMHgwYiwweDk0LDB4MDIsMHgyMiwweDg0LDB4YjgsMHhjNiwweDAyIH0sCi0gIDE2LCAweDkyMzAsIDAsIHsweDQwLDB4MDgsMHgyOCwweDAyLDB4YTUsMHg4MCwweDg5LDB4MDAsMHgyMiwweDYwLDB4MGIsMHhiOCwweDAyLDB4NjQsMHgwMCwweDhiIH0sCi0gIDE2LCAweDkyNDAsIDAsIHsweDAwLDB4MmEsMHhjMCwweGM4LDB4MDAsMHgwMywweDY2LDB4MDAsMHg4MSwweDAwLDB4MDAsMHhjMCwweDBkLDB4YjAsMHgwYSwweGE4IH0sCi0gIDE2LCAweDkyNTAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDEzLDB4MDAsMHgyMiwweDQwIH0sCi0gIDE2LCAweDkyNjAsIDAsIHsweDhiLDB4MjQsMHgwMiwweDJhLDB4MDAsMHhiYiwweDgyLDB4MjIsMHg0MCwweDAwLDB4YWMsMHgwMiwweDg0LDB4MDAsMHg4OSwweDAwIH0sCi0gIDE2LCAweDkyNzAsIDAsIHsweDIyLDB4MjIsMHgwYiwweGIwLDB4MDIsMHhjNCwweDAwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyZSwweDAwIH0sCi0gIDE2LCAweDkyODAsIDAsIHsweDhiLDB4MTAsMHgyYSwweGMwLDB4MDgsMHhiMCwweDAyLDB4YTAsMHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkyOTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4ODMsMHgwMCwweDIwLDB4MDEsMHgwYiwweDIwLDB4MDIsMHgwMCwweDgwLDB4YjEsMHgwMCwweDIwIH0sCi0gIDE2LCAweDkyYTAsIDAsIHsweGMxLDB4MDgsMHgyMCwweDAyLDB4ODgsMHgwMSwweDgxLDB4MDAsMHhhMCwweDAwLDB4MGIsMHgzMCwweDAyLDB4NDQsMHgwMSwweDliIH0sCi0gIDE2LCAweDkyYjAsIDAsIHsweDAwLDB4MjgsMHhjMCwweDA4LDB4YjAsMHgwMiwweDQ4LDB4MDYsMHg4OSwweDAwLDB4MmEsMHhjMCwweDA5LDB4MzAsMHgwMiwweDgyIH0sCi0gIDE2LCAweDkyYzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDhkLDB4NmMsMHgwMCwweGMzLDB4MDAsMHhiMiwweGMwIH0sCi0gIDE2LCAweDkyZDAsIDAsIHsweDBmLDB4YjAsMHgwMywweDI4LDB4MjAsMHhmYSwweDAwLDB4YjEsMHg0MCwweDBkLDB4YTAsMHgwNywweGEwLDB4MDAsMHhjZCwweDAwIH0sCi0gIDE2LCAweDkyZTAsIDAsIHsweDIyLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhmNCwweDAwLDB4OWYsMHgwMCwweDNiLDB4YzAsMHgyYywweGIwLDB4MGIsMHgyNCwweDAwIH0sCi0gIDE2LCAweDkyZjAsIDAsIHsweGM5LDB4MDAsMHhiYSwweGMwLDB4MGMsMHhiMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzMDAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA2LDB4ZmYsMHgwMiwweGFmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDEwLDB4ZmMsMHgwMCwweDNmIH0sCi0gIDE2LCAweDkzMTAsIDAsIHsweGMwLDB4OWYsMHhlMCwweDEzLDB4ZjAsMHgwMCwweGZkLDB4MDQsMHgzZiwweDQwLDB4NGYsMHhmMCwweDAzLDB4NzQsMHgwMCwweGVmIH0sCi0gIDE2LCAweDkzMjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDhmLDB4ZTAsMHgwMiwweGI0LDB4MDEsMHhmZCwweDA0LDB4MzcsMHhjMCwweDBmLDB4ZjAsMHg0MywweDY4IH0sCi0gIDE2LCAweDkzMzAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGM3LDB4MjAsMHhiMywweGM4IH0sCi0gIDE2LCAweDkzNDAsIDAsIHsweDFjLDB4ZjEsMHgwMywweDdjLDB4MjAsMHhjZiwweDBhLDB4M2YsMHhkMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4ODAsMHg4ZiwweDMyIH0sCi0gIDE2LCAweDkzNTAsIDAsIHsweDMzLDB4YzQsMHgwZiwweGYxLDB4ODMsMHgzYywweGUwLDB4Y2YsMHgxMCwweDMzLDB4YzQsMHgwZCwweGYyLDB4ODMsMHgzYywweGUyIH0sCi0gIDE2LCAweDkzNjAsIDAsIHsweGM3LDB4ODAsMHgxNywweGNjLDB4NGMsMHhmMywweDgzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzNzAsIDAsIHsweDgwLDB4MTAsMHhlMywweDQwLDB4ODgsMHg2OCwweDIyLDB4MzAsMHgwOCwweDA2LDB4MDIsMHgwMSwweGExLDB4ODgsMHhjNCwweDBlIH0sCi0gIDE2LCAweDkzODAsIDAsIHsweDE0LDB4MDgsMHg4NywweDgwLDB4MDEsMHhjMCwweDI4LDB4NTAsMHgwMiwweDA0LDB4OGIsMHg4NiwweDAyLDB4YTEsMHg5OCwweDg4IH0sCi0gIDE2LCAweDkzOTAsIDAsIHsweDQxLDB4MmEsMHgwNCwweDBhLDB4ODQsMHg4MiwweGJkLDB4ODAsMHg4YiwweDA4LDB4MmIsMHhjNCwweDg4LDB4ZjQsMHgwMywweDYwIH0sCi0gIDE2LCAweDkzYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwOCwweDgyLDB4NDAsMHgyMCwweDEwIH0sCi0gIDE2LCAweDkzYjAsIDAsIHsweDA4LDB4MjEsMHgxMiwweDQ0LDB4MDQsMHg4MiwweDA0LDB4MmMsMHgwOCwweDg5LDB4OTAsMHgwMiwweDQ0LDB4MjEsMHg4YiwweDAwIH0sCi0gIDE2LCAweDkzYzAsIDAsIHsweDI0LDB4ODgsMHg4YiwweGEwLDB4MDAsMHg0MCwweDg0LDB4ODksMHgzMCwweDIyLDB4NDgsMHg4OCwweGIwLDB4MDIsMHhjYywweDA4IH0sCi0gIDE2LCAweDkzZDAsIDAsIHsweDg4LDB4MjAsMHhhNCwweGM4LDB4MDAsMHgzMiwweDBhLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDkzZTAsIDAsIHsweGMwLDB4MTUsMHhhMCwweDAwLDB4ODksMHgwMCwweDIyLDB4YzEsMHg4OCwweDkwLDB4NjIsMHgyOCwweDA4LDB4ODksMHgwOCwweDJlIH0sCi0gIDE2LCAweDkzZjAsIDAsIHsweGMwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwOCwweGE4LDB4MDAsMHgyNiwweDQyLDB4MGIsMHg5MCwweDAyLDB4Y2MsMHg1MCwweDhhIH0sCi0gIDE2LCAweDk0MDAsIDAsIHsweDIyLDB4MmEsMHg4NiwweDBhLDB4ODAsMHgwMiwweGVjLDB4MDAsMHg4OCwweDg0LDB4MmEsMHhjMSwweDA4LDB4YjAsMHgyNiwweDMwIH0sCi0gIDE2LCAweDk0MTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZjAsMHgwMiwweGNmLDB4MDAsMHgzMywweGMwIH0sCi0gIDE2LCAweDk0MjAsIDAsIHsweDQ4LDB4ZjgsMHg0MywweDc5LDB4MDAsMHg4ZCwweGMwLDB4M2YsMHgzMCwweDhkLDB4NjAsMHg4MywweDc4LDB4NjAsMHhjNCwweDU4IH0sCi0gIDE2LCAweDk0MzAsIDAsIHsweDM3LDB4MjAsMHgwZiwweDU4LDB4MTMsMHg3YiwweDAyLDB4Y2MsMHhjNCwweDMxLDB4MjAsMHgwYywweDQ0LDB4MDMsMHhlYywweDAyIH0sCi0gIDE2LCAweDk0NDAsIDAsIHsweDhiLDB4ODAsMHgzNiwweGMwLDB4MjQsMHhiMCwweDEyLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0NTAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4ZjQsMHgxMCwweDNkLDB4MDAsMHg2ZiwweGM5LDB4MTMsMHhkNCwweDEyLDB4ZmUsMHg5MCwweDNmIH0sCi0gIDE2LCAweDk0NjAsIDAsIHsweGYwLDB4MGYsMHhkYSwweDIzLDB4ZjQsMHgxNCwweGZmLDB4MDIsMHgzYiwweGYwLDB4MGYsMHhlYSwweDIzLDB4YjYsMHgwMCwweGZmIH0sCi0gIDE2LCAweDk0NzAsIDAsIHsweDgyLDB4M2YsMHhlMSwweDhmLDB4ZjQsMHgwMywweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweGFmLDB4NzAsMHgwMywweGY4IH0sCi0gIDE2LCAweDk0ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTAsMHgwMCwweGNhLDB4MDAsMHgzMiwweDA4IH0sCi0gIDE2LCAweDk0OTAsIDAsIHsweDFjLDB4YTAsMHgwMywweGE1LDB4MjAsMHhjYiwweDQwLDB4YmEsMHgxMCwweDFmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhlYiwweDAwIH0sCi0gIDE2LCAweDk0YTAsIDAsIHsweDcyLDB4OTAsMHgwYywweGI0LDB4MDMsMHgyOSwweDA0LDB4YzksMHg1MiwweDMyLDB4NTAsMHgwYywweGI0LDB4MDMsMHgwYywweDAwIH0sCi0gIDE2LCAweDk0YjAsIDAsIHsweGY4LDB4NDAsMHgzMiwweGMxLDB4MGUsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk0YzAsIDAsIHsweGM4LDB4MDUsMHgyZCwweDgwLDB4ODksMHg4MCwweDIyLDB4ZDksMHgwOCwweDkwLDB4MjIsMHgyYSwweDAwLDB4ODgsMHg1NCwweDIyIH0sCi0gIDE2LCAweDk0ZDAsIDAsIHsweGMwLDB4OGIsMHg4MCwweDIyLDB4MjAsMHgxOSwweGM4LDB4MDAsMHgyMiwweDQwLDB4OGQsMHg4MCwweDFhLDB4MjQsMHgxMCwweGQyIH0sCi0gIDE2LCAweDk0ZTAsIDAsIHsweDQ0LDB4MjIsMHg4MSwweDBkLDB4ODAsMHgwMywweDdjLDB4MDAsMHhiMCwweDAwLDB4MzcsMHhjMCwweDg4LDB4ZjAsMHgwMiwweDMyIH0sCi0gIDE2LCAweDk0ZjAsIDAsIHsweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGUsMHgwMCwweDgxLDB4MDAsMHhhMCwweGYwIH0sCi0gIDE2LCAweDk1MDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDg5LDB4MDIsMHg4MCwweDAwLDB4MjIsMHhjMCwweDBiLDB4MDAsMHgyMiwweGEwLDB4MDAsMHhiMCwweDAwIH0sCi0gIDE2LCAweDk1MTAsIDAsIHsweDIwLDB4NDAsMHgwOCwweDAwLDB4MDIsMHgwNCwweDAwLDB4ODIsMHg2MCwweDIwLDB4ODAsMHgwOCwweDAwLDB4MDIsMHgwYywweDA4IH0sCi0gIDE2LCAweDk1MjAsIDAsIHsweGIyLDB4MDAsMHgyMiwweGMwLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1MzAsIDAsIHsweDIwLDB4MDEsMHgwMywweDEwLDB4OGUsMHg5MCwweDIzLDB4MjQsMHgwOCwweDZiLDB4MDIsMHgxNiwweDYwLDB4OGYsMHg4MCwweDIxIH0sCi0gIDE2LCAweDk1NDAsIDAsIHsweDI4LDB4MGIsMHhmOSwweDA2LDB4MWUsMHg0MCwweDhmLDB4ODAsMHgyMywweGE0LDB4NDksMHg3OSwweDAyLDB4M2EsMHg0MCwweDlkIH0sCi0gIDE2LCAweDk1NTAsIDAsIHsweDkwLDB4MjMsMHg2NCwweDA5LDB4ZjgsMHgwMiwweDVlLDB4NDAsMHhiZSwweDkwLDB4MjQsMHhlNCwweDI4LDB4NzksMHgwMiwweDA4IH0sCi0gIDE2LCAweDk1NjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MiwweGMwLDB4MDksMHgzMCwweDAwIH0sCi0gIDE2LCAweDk1NzAsIDAsIHsweDI4LDB4MDIsMHgwMywweDg0LDB4MDAsMHg4YSwweDIwLDB4MzAsMHhjNCwweDhiLDB4MTEsMHgwMywweDg0LDB4NTAsMHhiMywweDAwIH0sCi0gIDE2LCAweDk1ODAsIDAsIHsweDIwLDB4YzAsMHgwYywweGE0LDB4MjIsMHgwNCwweDAwLDB4Y2IsMHg0MCwweDMwLDB4YzUsMHgwYywweDMwLDB4MDMsMHgwZSwweDQwIH0sCi0gIDE2LCAweDk1OTAsIDAsIHsweGYzLDB4MTAsMHgzMCwweGM0LDB4MGMsMHhiMCwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk1YTAsIDAsIHsweDQwLDB4MWQsMHhiMCwweDA0LDB4ZmIsMHgwNCwweDNkLDB4YzAsMHgwZiwweGYyLDB4NDMsMHhmOCwweDA0LDB4ZmQsMHgwMSwweDNmIH0sCi0gIDE2LCAweDk1YjAsIDAsIHsweDBjLDB4MGYsMHg2MSwweDAzLDB4ZjgsMHg0OCwweGY0LDB4MDAsMHgzZCwweDAxLDB4MGYsMHhkMCwweDAzLDB4YzgsMHgwMCwweGZjIH0sCi0gIDE2LCAweDk1YzAsIDAsIHsweDA0LDB4YmQsMHgwNCwweDBiLDB4NDgsMHgwMywweGZjLDB4MTgsMHhmZiwweDE0LDB4M2YsMHhkNSwweDBkLDB4ZjAsMHgwMywweDkwIH0sCi0gIDE2LCAweDk1ZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTAsMHgwMCwweGY5LDB4MDEsMHgzMiwweGMwIH0sCi0gIDE2LCAweDk1ZTAsIDAsIHsweDhlLDB4OTAsMHgwMywweDI4LDB4MDIsMHhkMSwweDAwLDB4MzIsMHhjMCwweDBkLDB4YTgsMHgwYiwweDA4LDB4MDAsMHhlOCwweDAwIH0sCi0gIDE2LCAweDk1ZjAsIDAsIHsweDJlLDB4NDAsMHgwYywweDk4LDB4MGIsMHgyZSwweDAyLDB4Y2EsMHgwMCwweGIyLDB4YTAsMHg2YywweDgwLDB4MjMsMHgyZCwweDgwIH0sCi0gIDE2LCAweDk2MDAsIDAsIHsweGNhLDB4ODAsMHgzMiwweGQwLDB4MGMsMHhiYSwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2MTAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjYsMHgwMCwweGEzLDB4MDAsMHgwOCwweDYwLDB4MDIsMHgwNCwweDAwLDB4ODYsMHgwNCwweDI5IH0sCi0gIDE2LCAweDk2MjAsIDAsIHsweDAwLDB4MDgsMHg1MCwweDQyLDB4MTQsMHgwNCwweGE3LDB4MDAsMHgwZCwweDgwLDB4NGEsMHg2MCwweDAyLDB4MDAsMHgwMCwweDgxIH0sCi0gIDE2LCAweDk2MzAsIDAsIHsweDAwLDB4MjEsMHg0MCwweDA4LDB4NzAsMHgwMiwweDlkLDB4NDIsMHg4NiwweDAxLDB4MjAsMHhjMCwweDA4LDB4MzIsMHg4MiwweDEyIH0sCi0gIDE2LCAweDk2NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OTIsMHgwMCwweGJjLDB4ODAsMHg2MywweDIwIH0sCi0gIDE2LCAweDk2NTAsIDAsIHsweDgyLDB4MDgsMHgwMiwweDUyLDB4MDAsMHg4NCwweGMyLDB4MjMsMHgyMCwweDg4LDB4MGMsMHgwMiwweDMzLDB4MDAsMHg4NCwweDgwIH0sCi0gIDE2LCAweDk2NjAsIDAsIHsweDJmLDB4MjEsMHg4OSwweDRjLDB4MDIsMHgxMiwweDE0LDB4OTQsMHhjNSwweDY0LDB4MjEsMHgwOCwweDRjLDB4MDIsMHgwZSwweDgwIH0sCi0gIDE2LCAweDk2NzAsIDAsIHsweDk3LDB4ODIsMHhhMSwweGVjLDB4MDgsMHg3OSwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2ODAsIDAsIHsweDQ4LDB4MTQsMHhjZCwweDQ0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg0ZCwweDgwLDB4MDMsMHg4OCwweDI4IH0sCi0gIDE2LCAweDk2OTAsIDAsIHsweGMwLDB4MDgsMHgzYywweDA2LDB4MGYsMHgwMCwweGEzLDB4NDMsMHgyYywweGMyLDB4MWIsMHgzOCwweDAyLDB4MGYsMHgwMCwweDliIH0sCi0gIDE2LCAweDk2YTAsIDAsIHsweDg4LDB4NjQsMHhkMCwweDA4LDB4YjgsMHgwMiwweDhjLDB4MTAsMHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwYSwweDEyIH0sCi0gIDE2LCAweDk2YjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YWEsMHgwMCwweGZhLDB4MDUsMHgzMiwweDgwIH0sCi0gIDE2LCAweDk2YzAsIDAsIHsweDhlLDB4YTAsMHgwYiwweDY5LDB4MDAsMHhjYSwweDQwLDB4MzIsMHhhMCwweDNjLDB4YTgsMHgwMywweDJhLDB4MDAsMHhlYSwweDI2IH0sCi0gIDE2LCAweDk2ZDAsIDAsIHsweDNlLDB4YjAsMHgwZCwweGExLDB4NjMsMHgyOCwweDIwLDB4Y2EsMHg0MCwweDM2LDB4YTAsMHgwYywweGUwLDB4MTMsMHgyOCwweDA5IH0sCi0gIDE2LCAweDk2ZTAsIDAsIHsweGRlLDB4MDAsMHgzMiwweDgwLDB4MmMsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk2ZjAsIDAsIHsweDQ4LDB4MDAsMHhmMCwweDIwLDB4ZjQsMHgwMCwweDNmLDB4MDAsMHgwZiwweDQwLDB4MjMsMHhiMCwweDAwLDB4ZWMsMHgwMCwweDNmIH0sCi0gIDE2LCAweDk3MDAsIDAsIHsweDA2LDB4MWUsMHhjMiwweDEzLDB4ZjAsMHg4OCwweGZjLDB4MjAsMHgzZiwweDA0LDB4OGUsMHhjMCwweDAzLDB4ZjAsMHg4MCwweGVjIH0sCi0gIDE2LCAweDk3MTAsIDAsIHsweDQwLDB4M2IsMHgwYywweDBmLDB4YzAsMHhhMywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGQyIH0sCi0gIDE2LCAweDk3MjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwIH0sCi0gIDE2LCAweDk3MzAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweDgwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHg1MywweGU0LDB4MTAsMHhjOSwweDAwIH0sCi0gIDE2LCAweDk3NDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHg4ZiwweDkwLDB4MDMsMHgyNCwweDEwIH0sCi0gIDE2LCAweDk3NTAsIDAsIHsweGM5LDB4MDEsMHgzYywweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3NjAsIDAsIHsweDgwLDB4MDQsMHg0NywweDQ0LDB4ODksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNSwweDBhLDB4ODEsMHgxMCwweDIyIH0sCi0gIDE2LCAweDk3NzAsIDAsIHsweDQwLDB4NDgsMHg5MCwweDAzLDB4YzQsMHgwMCwweDg5LDB4MDAsMHg3NiwweDQwLDB4MjgsMHg5MCwweDAyLDB4ZTQsMHgxMCwweGI5IH0sCi0gIDE2LCAweDk3ODAsIDAsIHsweDQwLDB4YjIsMHg0MCwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MSwweDA4LDB4OTAsMHg0MiwweGUwIH0sCi0gIDE2LCAweDk3OTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMiwweGJkLDB4MDAsMHgyMywweDQ4IH0sCi0gIDE2LCAweDk3YTAsIDAsIHsweDA4LDB4ZDAsMHgwNiwweDFkLDB4MDQsMHg4ZCwweDAwLDB4MjksMHhjMCwweDRhLDB4ZDAsMHgyMiwweGY0LDB4MDAsMHg4NSwweDAwIH0sCi0gIDE2LCAweDk3YjAsIDAsIHsweDYxLDB4NDAsMHgxOCwweGQwLDB4MTIsMHhmYywweDAwLDB4YmQsMHg0MCwweGEzLDB4NDAsMHg0YiwweGYwLDB4MDIsMHgwNCwweDAxIH0sCi0gIDE2LCAweDk3YzAsIDAsIHsweDhiLDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk3ZDAsIDAsIHsweDA4LDB4MDQsMHgzNiwweDgwLDB4ODUsMHgyMCwweGEzLDB4NDgsMHgwOCwweDUyLDB4MGEsMHgxNCwweDgxLDB4ODUsMHgyMCwweDI5IH0sCi0gIDE2LCAweDk3ZTAsIDAsIHsweDQ4LDB4MDgsMHg1MiwweDAyLDB4YjQsMHg4MCwweDg1LDB4MjAsMHgyNSwweDQ4LDB4ODgsMHg1MiwweDAyLDB4ZDQsMHg4MCwweGI1IH0sCi0gIDE2LCAweDk3ZjAsIDAsIHsweDIwLDB4MjEsMHg0OCwweDBiLDB4NTIsMHgwMiwweDQ0LDB4YTIsMHg4MSwweDAwLDB4MmMsMHg0YSwweDA4LDB4MTIsMHg4MiwweGMyIH0sCi0gIDE2LCAweDk4MDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4NTEsMHgyMiwweDAwIH0sCi0gIDE2LCAweDk4MTAsIDAsIHsweDJjLDB4ODUsMHgwMiwweDIxLDB4NDgsMHhjOCwweDAwLDB4YmEsMHgxNCwweDBmLDB4ODUsMHgxMiwweGUxLDB4NDIsMHhjOCwweDUwIH0sCi0gIDE2LCAweDk4MjAsIDAsIHsweDIyLDB4MDAsMHgwYywweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHg1MCwweDMyLDB4MDAsMHgwNywweDQ1LDB4MDMsMHgyMCwweDgwIH0sCi0gIDE2LCAweDk4MzAsIDAsIHsweGMwLDB4MDEsMHgzZSwweDA4LDB4MmMsMHg4MiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4NDAsIDAsIHsweDk4LDB4MGQsMHhlNCwweDQwLDB4ZjEsMHgxMCwweDNlLDB4NDQsMHgwNywweDkxLDB4NDMsMHhlNCwweDU4LDB4ZjksMHgxMSwweDM0IH0sCi0gIDE2LCAweDk4NTAsIDAsIHsweDQ0LDB4NGYsMHg5MSwweDAyLDB4ZTQsMHg1MCwweGY5LDB4MTAsMHgzYywweDRmLDB4MGYsMHg5MywweDgzLDB4ZTQsMHhmMCwweGY5IH0sCi0gIDE2LCAweDk4NjAsIDAsIHsweDExLDB4M2EsMHg0ZiwweDBmLDB4OTEsMHgwMywweGU0LDB4YTAsMHhmZCwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH0sCi0gIDE2LCAweDk4NzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHhhMCwweGNkLDB4YTAsMHhiMywweDY4IH0sCi0gIDE2LCAweDk4ODAsIDAsIHsweDhjLDB4OWEsMHgwMywweDM2LDB4ODAsMHhjNSwweGEwLDB4MjIsMHg2MCwweDBjLDB4OWEsMHgyMywweDI2LDB4MDQsMHhmOSwweGEwIH0sCi0gIDE2LCAweDk4OTAsIDAsIHsweDMyLDB4NjYsMHgwYywweDlhLDB4ODMsMHgwNiwweDIwLDB4YzUsMHhhMCwweDIyLDB4NjAsMHgwYywweDliLDB4MDMsMHgyNiwweDQ4IH0sCi0gIDE2LCAweDk4YTAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDc4LDB4MGMsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk4YjAsIDAsIHsweDM4LDB4MDAsMHhlMSwweDAwLDB4ODgsMHg0NCwweDIyLDB4OTUsMHgwOCwweDg1LDB4MTIsMHhhMSwweDQyLDB4ODgsMHg0MCwweDAyIH0sCi0gIDE2LCAweDk4YzAsIDAsIHsweDkwLDB4MDgsMHg4NCwweDAyLDB4MjMsMHhhMCwweGJhLDB4NDAsMHgyMiwweGEwLDB4MDgsMHg4ZSwweDkyLDB4YTMsMHhhMCwweGE4IH0sCi0gIDE2LCAweDk4ZDAsIDAsIHsweDQwLDB4MmEsMHgxMCwweDA4LDB4YWUsMHgwMiwweDIzLDB4NDAsMHg4OCwweDAwLDB4MmUsMHgzOCwweDA4LDB4ODQsMHgxMiwweDBlIH0sCi0gIDE2LCAweDk4ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDE1LDB4YzQsMHgwMCwweDhiLDB4MTIsMHgyMiwweDQwIH0sCi0gIDE2LCAweDk4ZjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDAsMHg4MSwweDQwLDB4YTAsMHg1MCwweDA4LDB4MTEsMHgwYSwweDA1LDB4MDAsMHhiMSwweDEwIH0sCi0gIDE2LCAweDk5MDAsIDAsIHsweGEwLDB4NDgsMHgwOCwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODEsMHg0MCwweDIwLDB4NTAsMHgyOCwweDExLDB4MDIsMHg0NCwweDgyIH0sCi0gIDE2LCAweDk5MTAsIDAsIHsweDgxLDB4MDAsMHgyYywweDUwLDB4MDgsMHgxMSwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5MjAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAyLDB4ODksMHg0MCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MTIsMHhhNSwweDAwLDB4ODksMHgyOCwweDIyIH0sCi0gIDE2LCAweDk5MzAsIDAsIHsweDQ5LDB4MDgsMHg5NCwweDAyLDB4MjQsMHg0OCwweGI5LDB4MTQsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4YTQsMHg0MCwweGExIH0sCi0gIDE2LCAweDk5NDAsIDAsIHsweDUwLDB4MmEsMHg1MCwweDA4LDB4OTEsMHg0MiwweDY0LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA2IH0sCi0gIDE2LCAweDk5NTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzMCwweDcwIH0sCi0gIDE2LCAweDk5NjAsIDAsIHsweDJjLDB4MTAsMHgwYiwweDY2LDB4MDAsMHhjOSwweDQwLDB4MzIsMHg1MCwweDBjLDB4OTAsMHgwMywweDI2LDB4MjAsMHhmOSwweGMwIH0sCi0gIDE2LCAweDk5NzAsIDAsIHsweDMyLDB4NzAsMHgwYywweDkwLDB4MDMsMHgyNiwweDIwLDB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDljLDB4MDMsMHg2NCwweDAwIH0sCi0gIDE2LCAweDk5ODAsIDAsIHsweGM5LDB4NDEsMHgzZSwweDQwLDB4MmMsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDk5OTAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwNCwweDNlLDB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDg4LDB4ZjksMHgwMCwweDM0IH0sCi0gIDE2LCAweDk5YTAsIDAsIHsweDQxLDB4MmYsMHg5YywweDAzLDB4ZTQsMHgxMCwweGY5LDB4MDAsMHgzZSwweDQ0LDB4MmYsMHg5OSwweDAzLDB4ZTQsMHgxMCwweGY5IH0sCi0gIDE2LCAweDk5YjAsIDAsIHsweDAwLDB4M2UsMHg1MCwweDBmLDB4MTAsMHg0YiwweGE0LDB4MTAsMHhmOSwweDIwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweDRhIH0sCi0gIDE2LCAweDk5YzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDEwIH0sCi0gIDE2LCAweDk5ZDAsIDAsIHsweDJjLDB4ODAsMHgwMywweDIwLDB4MDIsMHhjMCwweDQwLDB4MzIsMHgwMCwweDFjLDB4MDQsMHgwZiwweDIxLDB4MDAsMHhjMCwweDA0IH0sCi0gIDE2LCAweDk5ZTAsIDAsIHsweDM4LDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMSwweDA4LDB4YzgsMHg2MCwweDMwLDB4MTAsMHgwZiwweDgwLDB4MDIsMHgyMCwweDAwIH0sCi0gIDE2LCAweDk5ZjAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhMDAsIDAsIHsweDI4LDB4MDUsMHgxYSwweDIwLDB4ODIsMHgwNCwweDJmLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgzOCwweDAwLDB4OGUsMHg4MCwweDIyIH0sCi0gIDE2LCAweDlhMTAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgxLDB4MGIsMHgyMCwweDAyLDB4MjgsMHgwMCwweGRlIH0sCi0gIDE2LCAweDlhMjAsIDAsIHsweGU0LDB4MzYsMHg4MCwweDBiLDB4YTAsMHg0MiwweDI4LDB4MDAsMHhiYSwweDA0LDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweGNhIH0sCi0gIDE2LCAweDlhMzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MDEsMHgyYywweDgwIH0sCi0gIDE2LCAweDlhNDAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDJlLDB4NjAsMHg4MiwweDkwLDB4YTAsMHhjMCwweDQ4LDB4MzAsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwIH0sCi0gIDE2LCAweDlhNTAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDMwLDB4MGEsMHgyYywweDAwLDB4ODMsMHhjMiwweDIwLDB4YzAsMHgwYiwweDMwLDB4MmEsMHgyYywweDAwIH0sCi0gIDE2LCAweDlhNjAsIDAsIHsweGIzLDB4MDAsMHhhMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhNzAsIDAsIHsweGEwLDB4MDEsMHgzYywweDAwLDB4ODcsMHgwMSwweDJkLDB4YzIsMHgwOCwweGYzLDB4MTIsMHgzYywweDAwLDB4OGYsMHgwMSwweDIxIH0sCi0gIDE2LCAweDlhODAsIDAsIHsweGM4LDB4NjgsMHg3MiwweDIyLDB4MWUsMHgwNCwweDg3LDB4MjAsMHgyMSwweGM0LDB4MGIsMHg3MCwweDAyLDB4M2MsMHg4NCwweDlmIH0sCi0gIDE2LCAweDlhOTAsIDAsIHsweDAwLDB4MjUsMHhjNCwweDRiLDB4NzAsMHgwMiwweDFjLDB4MDQsMHhiNywweDgxLDB4MjEsMHhjOCwweDA4LDB4NzIsMHgwMiwweGU4IH0sCi0gIDE2LCAweDlhYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDAwLDB4MWUsMHgwMCwweGM3LDB4ODEsMHgzYywweGEwIH0sCi0gIDE2LCAweDlhYjAsIDAsIHsweDRjLDB4N2EsMHgwYiwweDFhLDB4MDAsMHhjNiwweDgwLDB4MzAsMHhlMCwweDA4LDB4ZjgsMHg4MiwweDBlLDB4NDAsMHhjZiwweGYwIH0sCi0gIDE2LCAweDlhYzAsIDAsIHsweDM5LDB4ZTgsMHgwZiwweDNhLDB4MDMsMHgxZSwweDIwLDB4YzcsMHg4MCwweDMxLDB4ZTMsMHgwZiwweDM4LDB4MjMsMHgxZiwweDA4IH0sCi0gIDE2LCAweDlhZDAsIDAsIHsweGZmLDB4YzAsMHgzMywweGYyLDB4MGMsMHg3ZSwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlhZTAsIDAsIHsweDA4LDB4MTUsMHg4OCwweDBhLDB4N2IsMHgwMCwweDNlLDB4YzEsMHgwYiwweDM0LDB4MjMsMHhjOCwweDEwLDB4ZmIsMHgwMiwweDNlIH0sCi0gIDE2LCAweDlhZjAsIDAsIHsweGNhLDB4MGYsMHhiNywweDQzLDB4ZWMsMHg4MCwweGZiLDB4MDAsMHgyZSwweGMyLDB4MGIsMHhiNCwweDgzLDB4ZWQsMHhkMCwweGZhIH0sCi0gIDE2LCAweDliMDAsIDAsIHsweDAwLDB4M2UsMHhkOSwweDBmLDB4YjMsMHg4MywweGVjLDB4ODAsMHhiYiwweDIwLDB4M2UsMHhkOCwweDJmLDB4YjQsMHgwMywweGMyIH0sCi0gIDE2LCAweDliMTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGY1LDB4OTEsMHgzMSwweGEwIH0sCi0gIDE2LCAweDliMjAsIDAsIHsweDBjLDB4ZmMsMHgwMywweGZlLDB4MDAsMHhjNCwweDgxLDB4MzEsMHhlZSwweDhkLDB4ZjgsMHgwYSwweDNlLDB4MzAsMHhjZiwweDg0IH0sCi0gIDE2LCAweDliMzAsIDAsIHsweDMzLDB4ZTAsMHgyYywweGY4LDB4ODMsMHhmZSwweDEwLDB4ZmUsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY5LDB4MTksMHgzZiwweDQ4IH0sCi0gIDE2LCAweDliNDAsIDAsIHsweGNmLDB4YzAsMHgzMywweGUwLDB4MDQsMHhmYywweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliNTAsIDAsIHsweGE4LDB4MTEsMHg5YywweDA4LDB4YjcsMHhhMSwweDIxLDB4YzgsMHgwOCwweDcxLDB4MDIsMHhmMCwweGEwLDB4ODUsMHgyMCwweDIxIH0sCi0gIDE2LCAweDliNjAsIDAsIHsweGNlLDB4MDgsMHg3MCwweDAyLDB4M2MsMHg4MCwweDhmLDB4MDAsMHgyYiwweGM1LDB4MDgsMHg3MSwweDAyLDB4ZGMsMHgxMCwweGI0IH0sCi0gIDE2LCAweDliNzAsIDAsIHsweDAwLDB4MjEsMHhjMSwweDBhLDB4ZjMsMHg4MiwweDBjLDB4MDAsMHg4NywweDAxLDB4MjksMHhjMCwweDA4LDB4NzEsMHgwMiwweDZhIH0sCi0gIDE2LCAweDliODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWQsMHgwMCwweGJkLDB4MjEsMHgyNywweDgyIH0sCi0gIDE2LCAweDliOTAsIDAsIHsweDAwLDB4NzAsMHgwMiwweGZjLDB4MDQsMHg4YywweDAwLDB4YTcsMHhjYywweGE4LDB4NzAsMHgwMiwweDNjLDB4MDgsMHhhZiwweDAwIH0sCi0gIDE2LCAweDliYTAsIDAsIHsweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgwMCwweDIxLDB4YzQsMHgwOCwweDcwLDB4MTYsMHgxYywweDBhIH0sCi0gIDE2LCAweDliYjAsIDAsIHsweDhmLDB4MDAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDliYzAsIDAsIHsweDIwLDB4MTAsMHhjOCwweDAwLDB4YmIsMHg0NCwweDI0LDB4ZTIsMHgwOCwweGIxLDB4MDIsMHhjMiwweDgwLDB4MDEsMHg4MCwweDI0IH0sCi0gIDE2LCAweDliZDAsIDAsIHsweGQwLDB4ODgsMHgzMCwweDAyLDB4MGYsMHg1MiwweDgzLDB4OTEsMHgyOCwweGU0LDB4ODgsMHgzZCwweDAyLDB4Y2UsMHhkMCwweGIwIH0sCi0gIDE2LCAweDliZTAsIDAsIHsweGIyLDB4YTIsMHhjMCwweDBhLDB4MzQsMHgxMiwweDBjLDB4MDIsMHg4MywweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDQ4IH0sCi0gIDE2LCAweDliZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGZiLDB4MDEsMHhlNCwweDQwIH0sCi0gIDE2LCAweDljMDAsIDAsIHsweDJjLDB4ZjAsMHg0MywweGU1LDB4MDAsMHg4YSwweDg4LDB4MzcsMHhlMCwweDAwLDB4ZmEsMHgwMiwweDNkLDB4MDAsMHhlZiwweDAwIH0sCi0gIDE2LCAweDljMTAsIDAsIHsweDMzLDB4ZDEsMHgwYywweGY0LDB4MDMsMHhmZCwweDAwLDB4ZjksMHg0MCwweDMzLDB4ZTgsMHgwYywweGZjLDB4MDEsMHgzYywweDA0IH0sCi0gIDE2LCAweDljMjAsIDAsIHsweGNmLDB4MDIsMHgzMywweGMwLDB4MmMsMHhmMCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljMzAsIDAsIHsweDgwLDB4MDAsMHhlZSwweDA4LDB4ZjksMHgxMCwweDNhLDB4ZDAsMHgwZiwweGIwLDB4OTMsMHhlYywweDAwLDB4ZmIsMHgwYiwweDNhIH0sCi0gIDE2LCAweDljNDAsIDAsIHsweGMwLDB4OGUsMHhiMCwweDgzLDB4ZWMsMHg4MCwweGZiLDB4MDksMHg3ZSwweGM4LDB4MGYsMHhiMiwweDEzLDB4ZWMsMHgwMCwweGY5IH0sCi0gIDE2LCAweDljNTAsIDAsIHsweDAwLDB4M2UsMHhjMiwweDhmLDB4YjIsMHg0YiwweGNjLDB4MDQsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDYwIH0sCi0gIDE2LCAweDljNjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDgsMHgzMywweGMwIH0sCi0gIDE2LCAweDljNzAsIDAsIHsweDFjLDB4ZjAsMHgwMywweDcwLDB4NDAsMHhjNCwweGMwLDB4MzMsMHhjMiwweDBmLDB4ZjAsMHgwMywweDFjLDB4MTAsMHhjNywweDAwIH0sCi0gIDE2LCAweDljODAsIDAsIHsweDMxLDB4YzAsMHgwYywweDcwLDB4MDMsMHgxYywweDAwLDB4YzUsMHg0MSwweDMzLDB4YzAsMHgwYywweGYwLDB4MjMsMHgyYywweDAwIH0sCi0gIDE2LCAweDljOTAsIDAsIHsweGNmLDB4MDAsMHhiMywweGMwLDB4NmMsMHhmMCwweDAzLDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDljYTAsIDAsIHsweDgxLDB4MDQsMHg2YSwweDAwLDB4YjksMHg5MCwweDMyLDB4ZjEsMHgwOCwweGIwLDB4MDIsMHgwYSwweDEwLDB4ZDksMHgwMCwweDIyIH0sCi0gIDE2LCAweDljYjAsIDAsIHsweGMxLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGNiLDB4MDYsMHgyMiwweGMwLDB4ODgsMHhiMCwweDEyLDB4MmMsMHgwMCwweDg4IH0sCi0gIDE2LCAweDljYzAsIDAsIHsweDgwLDB4MjIsMHhjMSwweDBkLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4MywweDAwLDB4MjIsMHhjMSwweDA4LDB4YjAsMHg0NiwweGUwIH0sCi0gIDE2LCAweDljZDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MmUsMHgwMCwweGI5LDB4MDAsMHgyMiwweGYwIH0sCi0gIDE2LCAweDljZTAsIDAsIHsweDA4LDB4YjAsMHgxMiwweDY0LDB4MDAsMHg4YSwweDAwLDB4MjIsMHhjMCwweDBiLDB4MzAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwIH0sCi0gIDE2LCAweDljZjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwLDB4OGEsMHgwMCwweDIyLDB4YzAsMHg4OCwweDMwLDB4MGEsMHgyYywweDAwIH0sCi0gIDE2LCAweDlkMDAsIDAsIHsweDhiLDB4MDAsMHgyMCwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkMTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4YjEsMHgwMiwweGU0LDB4YzEsMHgwOCwweGIwLDB4MjIsMHgyMCwweDAyLDB4OTMsMHgwMCwweDIwIH0sCi0gIDE2LCAweDlkMjAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDEyLDB4MGMsMHgwMiwweDgzLDB4MDIsMHhhMCwweGMwLDB4MjgsMHgzMCwweDBlLDB4MGMsMHgwMiwweDgwIH0sCi0gIDE2LCAweDlkMzAsIDAsIHsweDAwLDB4YTAsMHhjMCwweDQ5LDB4MzAsMHgwYSwweDBjLDB4MDIsMHg4YiwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweDlkNDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGY5LDB4MjQsMHgzMiwweGMwIH0sCi0gIDE2LCAweDlkNTAsIDAsIHsweDA4LDB4ZjAsMHgwMywweDY0LDB4MDAsMHhjOCwweDAwLDB4YjMsMHhjMCwweDFmLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHg4ZiwweDAwIH0sCi0gIDE2LCAweDlkNjAsIDAsIHsweDMzLDB4YzAsMHg0YywweGYwLDB4NDMsMHgzYywweDA4LDB4YzMsMHgwMCwweDMxLDB4YzAsMHgwYywweGYwLDB4MDMsMHgzZCwweDQ4IH0sCi0gIDE2LCAweDlkNzAsIDAsIHsweGNmLDB4MDAsMHgzMSwweGMwLDB4MGMsMHhmMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkODAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDA0LDB4ZjksMHg0MSwweDNiLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhmMCwweDExLDB4ZmQsMHgwMCwweDNmIH0sCi0gIDE2LCAweDlkOTAsIDAsIHsweGMwLDB4ODcsMHg3MCwweDI3LDB4ZmMsMHgwMCwweGVmLDB4MDYsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAyLDB4ZmMsMHgwOCwweGZjIH0sCi0gIDE2LCAweDlkYTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDQ3LDB4ZjAsMHg0MywweGZjLDB4MDAsMHg3NywweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweDlkYjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGM3LDB4MDEsMHgzNywweDBjIH0sCi0gIDE2LCAweDlkYzAsIDAsIHsweDBmLDB4ZTgsMHgyMywweDEwLDB4NGEsMHhjNCwweGMwLDB4MzEsMHgzMCwweDBjLDB4YzksMHgwMywweDM0LDB4NDYsMHhjZiwweDEwIH0sCi0gIDE2LCAweDlkZDAsIDAsIHsweDMzLDB4ZDAsMHgwYywweGY0LDB4MDMsMHgzYywweDU4LDB4Y2YsMHgwMCwweDMzLDB4YzAsMHgyZCwweGYxLDB4MDMsMHgzZSwweDAyIH0sCi0gIDE2LCAweDlkZTAsIDAsIHsweGNmLDB4MjEsMHgzZiwweGU0LDB4MGYsMHhmMiwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlkZjAsIDAsIHsweDgwLDB4MTAsMHhlNCwweDg0LDB4MGIsMHg0MCwweDIyLDB4NGMsMHgwYiwweGE4LDB4MDIsMHgyYywweGMwLDB4OGIsMHgyMCwweDIyIH0sCi0gIDE2LCAweDllMDAsIDAsIHsweGM4LDB4NGEsMHgzMiwweDAyLDB4MjQsMHg4MCwweDgzLDB4MjAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MjAsMHgwMCwweDhiIH0sCi0gIDE2LCAweDllMTAsIDAsIHsweDIxLDB4MzIsMHhjYSwweDQ4LDB4MzIsMHgwMiwweDJjLDB4MzAsMHg4ZiwweDkwLDB4MmUsMHg4OCwweDBiLDB4YmQsMHgxMiwweDIwIH0sCi0gIDE2LCAweDllMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2UsMHgyMCwweGEzLDB4NDAsMHhlMCwweDQ4IH0sCi0gIDE2LCAweDllMzAsIDAsIHsweDRiLDB4MjAsMHgyMiwweDBjLDB4MDIsMHg4MiwweDAwLDB4MmEsMHgwMCwweDA4LDB4MjAsMHgwMiwweDA0LDB4ODAsMHg4MCwweDIwIH0sCi0gIDE2LCAweDllNDAsIDAsIHsweDIwLDB4YzgsMHgwOCwweDAyLDB4MDIsMHgwYywweDAwLDB4ODAsMHgwYywweDYwLDB4MDAsMHgwOCwweDIwLDB4MTIsMHgyYywweDg4IH0sCi0gIDE2LCAweDllNTAsIDAsIHsweDgzLDB4MDAsMHgyYywweGU4LDB4MGIsMHgzMCwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllNjAsIDAsIHsweGMwLDB4MTUsMHhhZSwweDAwLDB4YWIsMHgwMSwweGEyLDB4NjAsMHgwYiwweGEwLDB4MDIsMHgyMCwweDAxLDB4ODEsMHgwMCwweDIyIH0sCi0gIDE2LCAweDllNzAsIDAsIHsweGMwLDB4MGEsMHg5MCwweDEyLDB4MDQsMHgyMCwweDhhLDB4MDgsMHgyMiwweGMxLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDg4IH0sCi0gIDE2LCAweDllODAsIDAsIHsweDAwLDB4MjQsMHg0NCwweDA4LDB4YTIsMHgwMiwweGFjLDB4MDAsMHg4YiwweDA0LDB4MmUsMHg4OCwweDAzLDB4YjAsMHgwMiwweDcwIH0sCi0gIDE2LCAweDllOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGVhLDB4OTAsMHgzMiwweDI4IH0sCi0gIDE2LCAweDllYTAsIDAsIHsweDBmLDB4YjYsMHgwMywweDIwLDB4MDgsMHhjOSwweDA0LDB4M2EsMHhjMCwweDRjLDB4OTAsMHgyMiwweDI0LDB4MDAsMHhjYiwweDQwIH0sCi0gIDE2LCAweDllYjAsIDAsIHsweDMyLDB4YTgsMHgwYywweGIyLDB4MDMsMHgyYywweDAwLDB4Y2IsMHg4MCwweGIyLDB4ZTAsMHgwYywweGIwLDB4MGIsMHgwNCwweDAwIH0sCi0gIDE2LCAweDllYzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGMwLDB4NGYsMHhiMCwweDBiLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDllZDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZGYsMHg4MCwweDNiLDB4ODEsMHgwZiwweGYwLDB4YzMsMHhmYywweDAwLDB4YmUsMHgwMSwweDFmIH0sCi0gIDE2LCAweDllZTAsIDAsIHsweDAwLDB4MGYsMHhlMCwweDIzLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGIwLDB4NGYsMHhmMCwweDQzLDB4ZDQsMHgwMiwweGZmIH0sCi0gIDE2LCAweDllZjAsIDAsIHsweDkxLDB4M2EsMHhlMCwweDRlLDB4ZjAsMHgwMywweDdjLDB4MGMsMHhmZiwweDAwLDB4MmYsMHg4MCwweDBmLDB4MzAsMHgwMywweGI4IH0sCi0gIDE2LCAweDlmMDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGNhLDB4MDAsMHg3MiwweDUwIH0sCi0gIDE2LCAweDlmMTAsIDAsIHsweDA0LDB4YjQsMHgwMywweDJjLDB4ODIsMHhjYiwweDAwLDB4MzIsMHhlMCwweDBjLDB4YjgsMHgwMywweDI3LDB4MDQsMHhjOCwweGM4IH0sCi0gIDE2LCAweDlmMjAsIDAsIHsweGIyLDB4YTIsMHgwYywweDg4LDB4MDMsMHgyYywweDAwLDB4YzEsMHgwMCwweDNlLDB4MDAsMHgyYywweDMwLDB4MWIsMHgyYywweDA0IH0sCi0gIDE2LCAweDlmMzAsIDAsIHsweGZiLDB4MTAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmNDAsIDAsIHsweGM4LDB4MDUsMHgyYywweDA0LDB4MDMsMHg1MCwweGEyLDB4ZTAsMHgwOCwweDM0LDB4NDIsMHgzMywweDAwLDB4ODgsMHgwMCwweDIwIH0sCi0gIDE2LCAweDlmNTAsIDAsIHsweDEwLDB4MGQsMHg4NCwweDAzLDB4MjUsMHgwMCwweDhhLDB4NDAsMHgyMiwweDkwLDB4MDgsMHhhNSwweDAyLDB4MmMsMHgwMCwweDg5IH0sCi0gIDE2LCAweDlmNjAsIDAsIHsweGE0LDB4M2EsMHg0MCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiZiwweDg0LDB4MmUsMHg4MCwweDBiLDB4ZjAsMHg1MiwweDMyIH0sCi0gIDE2LCAweDlmNzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NmMsMHg4MCwweDgxLDB4ODAsMHgyNCwweDg4IH0sCi0gIDE2LCAweDlmODAsIDAsIHsweDg5LDB4M2MsMHgyNiwweDIxLDB4MDAsMHg5MCwweDAwLDB4MjAsMHgwMiwweDA4LDB4ODAsMHg4MiwweDAwLDB4MjAsMHg5YiwweDAwIH0sCi0gIDE2LCAweDlmOTAsIDAsIHsweDIyLDB4NDAsMHg4OCwweGIwLDB4MTIsMHgwYywweDA4LDB4ODMsMHg4MCwweDJjLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwIH0sCi0gIDE2LCAweDlmYTAsIDAsIHsweGIzLDB4ODAsMHgyYywweDQwLDB4MGIsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweDlmYjAsIDAsIHsweDIwLDB4MDEsMHgzZSwweDBhLDB4ODUsMHhhMCwweGE1LDB4NjAsMHgwOCwweGZiLDB4ODIsMHgzZSwweDg0LDB4OWYsMHg4MSwweDYzIH0sCi0gIDE2LCAweDlmYzAsIDAsIHsweGUwLDB4ODksMHg3OSwweDEyLDB4NTIsMHg4MCwweDk3LDB4ODIsMHgyMSwweDZjLDB4MTgsMHg3OCwweDAyLDB4MTIsMHgwMCwweDg3IH0sCi0gIDE2LCAweDlmZDAsIDAsIHsweGExLDB4MjksMHhlMCwweDA4LDB4NWIsMHgwMiwweDFlLDB4MDAsMHhiNywweGMwLDB4MmQsMHg2MCwweDBiLDB4NzgsMHgwMiwweDA4IH0sCi0gIDE2LCAweDlmZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgxLDB4MDgsMHgyNiwweGMyIH0sCi0gIDE2LCAweDlmZjAsIDAsIHsweDJjLDB4MzIsMHgxMywweDBlLDB4YTQsMHhkMiwweDAwLDB4YjAsMHgwMCwweDFjLDB4MjEsMHgxMiwweDI0LDB4MDIsMHhkMSwweDIwIH0sCi0gIDE2LCAweGEwMDAsIDAsIHsweDMwLDB4YzgsMHgwYywweDEwLDB4MDMsMHgwYywweDAwLDB4YzIsMHgxMCwweDNjLDB4ODAsMHgwYywweDIzLDB4MDMsMHgwYywweDQwIH0sCi0gIDE2LCAweGEwMTAsIDAsIHsweGYzLDB4MDAsMHgzYywweDQ4LDB4MGYsMHgzMCwweDBiLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwMjAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmQsMHgyMCwweGJiLDB4NDAsMHgwNywweDcyLDB4MDIsMHhmMCwweDEwLDB4ZWQsMHgxMCwweDNmIH0sCi0gIDE2LCAweGEwMzAsIDAsIHsweGM0LDB4MGYsMHhkMSwweDYzLDB4YjQsMHg4MCwweGVmLDB4MDAsMHgzZiwweGM4LDB4MGYsMHhmMCwweDAzLDB4ZDgsMHgwMCwweGZlIH0sCi0gIDE2LCAweGEwNDAsIDAsIHsweDM0LDB4M2YsMHhjNCwweDBmLDB4ZWIsMHg0MywweGZjLDB4MDAsMHhmZiwweDA4LDB4N2YsMHg0MCwweDBmLDB4ZjEsMHg4MywweGQwIH0sCi0gIDE2LCAweGEwNTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGM4LDB4MDAsMHgzMywweDgwIH0sCi0gIDE2LCAweGEwNjAsIDAsIHsweDhmLDB4MjgsMHgwMywweDIwLDB4MDAsMHg0OSwweDAyLDB4MzIsMHhjMCwweDBmLDB4OTAsMHgwMywweDIwLDB4MDAsMHhjYiwweDAwIH0sCi0gIDE2LCAweGEwNzAsIDAsIHsweDMyLDB4NDAsMHg0YywweGIwLDB4MGIsMHgyYywweDAwLDB4Y2IsMHg4MCwweDMyLDB4YzAsMHgwZSwweDllLDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGEwODAsIDAsIHsweGZiLDB4MjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEwOTAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4OGQsMHgwMSwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDIsMHgxZCwweDAwLDB4ZDYsMHgwMCwweDIxIH0sCi0gIDE2LCAweGEwYTAsIDAsIHsweDAwLDB4MGIsMHhlMCwweDAyLDB4MDAsMHgwMCwweDgzLDB4MDQsMHgyMCwweDQwLDB4MDgsMHg3MCwweDQyLDB4MzQsMHgwMiwweDg3IH0sCi0gIDE2LCAweGEwYjAsIDAsIHsweDAxLDB4MjMsMHhjMCwweDI4LDB4NTEsMHgwYSwweDFjLDB4MDQsMHhiNywweDMwLDB4MmQsMHhjMCwweDBiLDB4NzIsMHgwMywweDkyIH0sCi0gIDE2LCAweGEwYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGE2LDB4NDAsMHgyMSwweGEwIH0sCi0gIDE2LCAweGEwZDAsIDAsIHsweDBiLDB4NjgsMHgwMiwweDBlLDB4MDAsMHg4ZiwweDgwLDB4MjEsMHhlMCwweDBiLDB4NzgsMHgwMiwweDE2LDB4MTAsMHhhNSwweDgwIH0sCi0gIDE2LCAweGEwZTAsIDAsIHsweDIxLDB4ZTAsMHgwOCwweDE4LDB4MDIsMHgxZSwweDAwLDB4ODMsMHg4MCwweDIxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxZiwweDAwIH0sCi0gIDE2LCAweGEwZjAsIDAsIHsweGI3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHgzOCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExMDAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDEyLDB4YTEsMHg2NCwweDIwLDB4ZTYsMHgwYiwweDIwLDB4MDIsMHgwMCwweDEwLDB4OTAsMHg0YSwweDIwIH0sCi0gIDE2LCAweGExMTAsIDAsIHsweDIwLDB4NGIsMHgwMCwweDQyLDB4MDQsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMyLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzIH0sCi0gIDE2LCAweGExMjAsIDAsIHsweDA0LDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDBlLDB4MDAsMHhiMywweDAwLDB4MmMsMHhlMCwweDRiLDB4MzAsMHgwMiwweDkyIH0sCi0gIDE2LCAweGExMzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGVlLDB4YzAsMHgzMywweDkwIH0sCi0gIDE2LCAweGExNDAsIDAsIHsweDBmLDB4YTAsMHgxYiwweDA4LDB4MDAsMHhjYSwweDQwLDB4YjIsMHg4MiwweDBmLDB4YTAsMHgwYiwweDI4LDB4MDIsMHhjYSwweDAwIH0sCi0gIDE2LCAweGExNTAsIDAsIHsweGIyLDB4OTAsMHhhYywweGEwLDB4MDMsMHgyOSwweDAwLDB4Y2EsMHg0MCwweGIyLDB4ODAsMHg4ZSwweGE0LDB4MDMsMHgyYSwweDAwIH0sCi0gIDE2LCAweGExNjAsIDAsIHsweGZhLDB4MDAsMHgzZiwweGE4LDB4MGYsMHhhMCwweDBiLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExNzAsIDAsIHsweDQ4LDB4MDAsMHhlMiwweDAyLDB4OTAsMHgwMCwweDNlLDB4MDAsMHgwZiwweDg4LDB4MDMsMHhmMSwweDAwLDB4ZmMsMHgwMiwweDNmIH0sCi0gIDE2LCAweGExODAsIDAsIHsweDIwLDB4MGYsMHhjOCwweDAzLDB4YzEsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4OGYsMHgwMCwweDAxLDB4NjAsMHgwMiwweGY4IH0sCi0gIDE2LCAweGExOTAsIDAsIHsweDA4LDB4M2UsMHgwMCwweDBmLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDhmLDB4ODAsMHgxMywweDkyIH0sCi0gIDE2LCAweGExYTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDAsMHhiMiwweDY0IH0sCi0gIDE2LCAweGExYjAsIDAsIHsweDBmLDB4OTEsMHgwMywweGU0LDB4MDQsMHhjOSwweDAwLDB4MzIsMHg0MCwweDZjLDB4OTAsMHgwMywweDI1LDB4MDIsMHhjOSwweDkwIH0sCi0gIDE2LCAweGExYzAsIDAsIHsweGIwLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDIwLDB4YzksMHhhMCwweDNlLDB4NDAsMHg0YywweDkwLDB4MjMsMHhlNCwweDAwIH0sCi0gIDE2LCAweGExZDAsIDAsIHsweGYxLDB4MDAsMHg5MiwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGExZTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg4MCwweGEyLDB4NDAsMHgwYiwweDk2LDB4NDIsMHhlNSwweDA0LDB4ODksMHgwMCwweDIyIH0sCi0gIDE2LCAweGExZjAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOCwweDA5LDB4NDEsMHgyMiwweDQwLDB4NDgsMHg5MCwweDQyLDB4MjQsMHgwNCwweDg5IH0sCi0gIDE2LCAweGEyMDAsIDAsIHsweDgwLDB4MjYsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweDIwIH0sCi0gIDE2LCAweGEyMTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjUsMHgwMCwweDg5LDB4MjAsMHgyMiwweDQwIH0sCi0gIDE2LCAweGEyMjAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGY0LDB4ODQsMHg4NSwweDAwLDB4MjEsMHg0MCwweDQ4LDB4NTAsMHgwMiwweDI0LDB4MjAsMHg4ZCwweDA4IH0sCi0gIDE2LCAweGEyMzAsIDAsIHsweDIzLDB4NDAsMHgwOCwweGQwLDB4MDIsMHg5NCwweDAwLDB4OGQsMHgwMCwweDI5LDB4NDAsMHgwYSwweGQwLDB4MDIsMHhhNCwweDA4IH0sCi0gIDE2LCAweGEyNDAsIDAsIHsweGI5LDB4MDAsMHgyOCwweDQwLDB4MTgsMHg5MCwweGMyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyNTAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHgwMCwweDIwLDB4NTEsMHgwYiwweDEwLDB4MDIsMHhmNSwweDgwLDB4ODUsMHhjMSwweGExIH0sCi0gIDE2LCAweGEyNjAsIDAsIHsweDUwLDB4MDgsMHg1NCwweDBhLDB4MDUsMHgwNiwweDg1LDB4NDAsMHgyMSwweDUwLDB4ODgsMHg1NCwweDAyLDB4OTUsMHgwMCwweDg1IH0sCi0gIDE2LCAweGEyNzAsIDAsIHsweDQ0LDB4MmQsMHg1MCwweDJhLDB4NTQsMHgxMiwweGM1LDB4MDEsMHhiMSwweDAwLDB4MDgsMHg1MCwweDA4LDB4MTAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGEyODAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGNhLDB4NTAsMHgzMiwweDgwIH0sCi0gIDE2LCAweGEyOTAsIDAsIHsweDBmLDB4ODAsMHgwMywweGU4LDB4MDIsMHhjOCwweDAxLDB4MzIsMHgwMCwweDJjLDB4YzAsMHgwMywweDIwLDB4MDAsMHhjOCwweDAyIH0sCi0gIDE2LCAweGEyYTAsIDAsIHsweDMyLDB4MDAsMHgyYywweDgwLDB4MGIsMHhhMCwweDAwLDB4YzgsMHgwMCwweDNhLDB4MDAsMHg0ZSwweDQwLDB4MjMsMHhhMCwweDA4IH0sCi0gIDE2LCAweGEyYjAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MmMsMHg4MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEyYzAsIDAsIHsweDk4LDB4MWQsMHhkYywweDA0LDB4ZmQsMHg0MCwweDNmLDB4NTAsMHg0ZiwweDkwLDB4NjMsMHhlNCwweDQwLDB4ZjEsMHgwMiwweDNlIH0sCi0gIDE2LCAweGEyZDAsIDAsIHsweDQxLDB4MGYsMHg5MCwweDEzLDB4ZjUsMHgwNCwweGY5LDB4NDEsMHgzZSwweDUwLDB4MGYsMHg5NCwweDQzLDB4NjUsMHgwMiwweGY5IH0sCi0gIDE2LCAweGEyZTAsIDAsIHsweDQxLDB4MzYsMHg1MCwweDRkLDB4OTQsMHgwMywweGY0LDB4MDAsMHhmOSwweDQxLDB4MzcsMHg0MCwweDRmLDB4OTQsMHgwMywweGU2IH0sCi0gIDE2LCAweGEyZjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZmMsMHgwMCwweGNkLDB4YTgsMHgzMywweDcwIH0sCi0gIDE2LCAweGEzMDAsIDAsIHsweDBmLDB4ZDAsMHgxMywweGY2LDB4ODgsMHhjZCwweDAwLDB4MzIsMHg1MCwweDRmLDB4MTQsMHgyMywweDA3LDB4YTAsMHhjOSwweGMwIH0sCi0gIDE2LCAweGEzMTAsIDAsIHsweDMyLDB4NzgsMHgwYywweDllLDB4MDMsMHgzNywweDAyLDB4Y2QsMHhjMCwweDMyLDB4NjQsMHgwZiwweDk4LDB4MDMsMHgyNCwweDAwIH0sCi0gIDE2LCAweGEzMjAsIDAsIHsweGNkLDB4MDAsMHgzMiwweDQwLDB4MmMsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzMzAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDA4LDB4ODgsMHhlYiwweDIyLDB4MzAsMHgwYiwweDgwLDB4MTIsMHhlOCwweDA0LDB4YTAsMHhhMCwweDJhIH0sCi0gIDE2LCAweGEzNDAsIDAsIHsweDIwLDB4MGIsMHg4YSwweDBhLDB4MjMsMHgwMCwweDg4LDB4ODAsMHgyMiwweDI4LDB4MDAsMHhjOCwweDQyLDB4MjMsMHg4MCwweDgwIH0sCi0gIDE2LCAweGEzNTAsIDAsIHsweGQ0LDB4MjAsMHgyOCwweDA5LDB4ODAsMHgwMiwweDIyLDB4OTQsMHhhOCwweDAwLDB4MmEsMHgwMCwweDg4LDB4ODUsMHgwMiwweDBlIH0sCi0gIDE2LCAweGEzNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHhhMCwweDgzLDB4MDAsMHgyNCwweGQ4IH0sCi0gIDE2LCAweGEzNzAsIDAsIHsweDhiLDB4MTAsMHgwMiwweGU1LDB4MTQsMHg4OSwweDBhLDB4MjEsMHg0OCwweDBiLDB4NTIsMHgwMiwweDU0LDB4ODAsMHg4NSwweDQwIH0sCi0gIDE2LCAweGEzODAsIDAsIHsweDI1LDB4NTgsMHgwOSwweDU2LDB4MDIsMHg0NSwweDAyLDB4ODEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4MDIsMHgwNCwweDMwIH0sCi0gIDE2LCAweGEzOTAsIDAsIHsweDgxLDB4MDAsMHgyMCwweDQwLDB4MDgsMHgxMCwweDAyLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGEzYTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDEyLDB4ODksMHgwMCwweGE2LDB4NDAsMHgwYiwweDkwLDB4NDIsMHhlNCwweDk4LDB4YTksMHg4MCwweDJiIH0sCi0gIDE2LCAweGEzYjAsIDAsIHsweDQwLDB4MGIsMHg1MSwweDAyLDB4NTUsMHgwMCwweDlkLDB4MDgsMHgyNywweDQ4LDB4MDksMHhmNiwweDAyLDB4NDQsMHgwMCwweDgxIH0sCi0gIDE2LCAweGEzYzAsIDAsIHsweDA0LDB4MjIsMHg0MCwweDE5LDB4OTEsMHg4YSwweDI0LDB4ODAsMHhhOSwweDAwLDB4MmEsMHg0MCwweDA4LDB4OTAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGEzZDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHgwMiwweGM5LDB4MDQsMHgzNiwweDU4IH0sCi0gIDE2LCAweGEzZTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGM1LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgxMywweDY0LDB4MDIsMHhjOSwweDAwIH0sCi0gIDE2LCAweGEzZjAsIDAsIHsweDM2LDB4NDAsMHgyZCwweDkwLDB4MGIsMHg2NiwweDA0LDB4YzksMHhlMCwweGIyLDB4NDgsMHg4ZiwweDk4LDB4NDcsMHgyNCwweDAwIH0sCi0gIDE2LCAweGE0MDAsIDAsIHsweGM5LDB4MDAsMHg3MiwweDQwLDB4MGMsMHgxMCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0MTAsIDAsIHsweDI4LDB4MDEsMHhhNSwweDA4LDB4ZjksMHgyMSwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDA0LDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGE0MjAsIDAsIHsweDQwLDB4NGYsMHg5OCwweDgzLDB4YTQsMHgwMCwweGU5LDB4NDAsMHhiYSwweDYwLDB4MGUsMHg5MCwweDAzLDB4YTQsMHg4MCwweGY5IH0sCi0gIDE2LCAweGE0MzAsIDAsIHsweGEzLDB4M2UsMHg0OCwweDBmLDB4OTgsMHgwYiwweGU0LDB4MDAsMHhmOSwweDAwLDB4MWUsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH0sCi0gIDE2LCAweGE0NDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTIsMHg0OCwweGM4LDB4MjAsMHgzMiwweDA4IH0sCi0gIDE2LCAweGE0NTAsIDAsIHsweDFmLDB4ODAsMHg4MywweGUxLDB4MjIsMHhjOCwweDAxLDB4MzMsMHgwMCwweDJjLDB4YzAsMHgwMywweDMwLDB4MDQsMHhjYywweDQwIH0sCi0gIDE2LCAweGE0NjAsIDAsIHsweGIxLDB4MDAsMHgwYywweDQ0LDB4MDMsMHgyMCwweDEyLDB4YzgsMHg0MSwweDMyLDB4MDAsMHgyZCwweDg0LDB4MGIsMHg2MCwweDAwIH0sCi0gIDE2LCAweGE0NzAsIDAsIHsweGY4LDB4MDAsMHhiMiwweDAwLDB4NGMsMHg4MCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0ODAsIDAsIHsweDI4LDB4MDUsMHgzYSwweDAwLDB4YTYsMHgwMCwweDIzLDB4OTAsMHgwMywweGU0LDB4OTIsMHhmOCwweDAwLDB4ODIsMHgwMCwweDM2IH0sCi0gIDE2LCAweGE0OTAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweGNhLDB4MDAsMHgyMiwweDgzLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMywweDhhIH0sCi0gIDE2LCAweGE0YTAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiNiwweDgwLDB4MjIsMHg4MCwweDBkLDB4ZTgsMHgwMiwweDBhIH0sCi0gIDE2LCAweGE0YjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmUsMHgwMCwweDgyLDB4NDIsMHgyMCwweGMwIH0sCi0gIDE2LCAweGE0YzAsIDAsIHsweDBiLDB4MzQsMHgwMiwweGNkLDB4MDksMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDIsMHg5OCwweDAwIH0sCi0gIDE2LCAweGE0ZDAsIDAsIHsweDIwLDB4MjAsMHgyOCwweDAwLDB4MGEsMHgwNCwweDEwLDB4ODEsMHg4MCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwIH0sCi0gIDE2LCAweGE0ZTAsIDAsIHsweGIzLDB4MDAsMHgyMiwweGMwLDB4MTgsMHgzMSwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE0ZjAsIDAsIHsweGEwLDB4MDEsMHgzOCwweDAyLDB4YTMsMHgwMCwweDIxLDB4NDAsMHgxYiwweDcwLDB4MDIsMHhkYywweDIwLDB4ODQsMHgwNSwweDY1IH0sCi0gIDE2LCAweGE1MDAsIDAsIHsweGUwLDB4MDgsMHhmMCwweDAyLDB4N2MsMHgxMCwweDk3LDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NTQsMHg4OCwweDg3IH0sCi0gIDE2LCAweGE1MTAsIDAsIHsweDA5LDB4MjEsMHhlOCwweDA5LDB4MzMsMHgwMiwweDFjLDB4ODAsMHhiNiwweDA4LDB4NjMsMHhjOCwweDA5LDB4MzgsMHgxMiwweDI4IH0sCi0gIDE2LCAweGE1MjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4YTAsMHhhMSwweGUwIH0sCi0gIDE2LCAweGE1MzAsIDAsIHsweDBiLDB4NzgsMHgwMywweGZlLDB4MDAsMHhjNSwweDgyLDB4MzMsMHgyMCwweDBjLDB4NDgsMHgwMywweDFlLDB4MDEsMHhkZiwweDgwIH0sCi0gIDE2LCAweGE1NDAsIDAsIHsweDMxLDB4MjAsMHgwYywweDQ4LDB4MDMsMHgwNiwweDQwLDB4ODcsMHg4MiwweDMxLDB4ZjgsMHgwZCwweDdiLDB4MDMsMHg1ZiwweDAwIH0sCi0gIDE2LCAweGE1NTAsIDAsIHsweGYzLDB4ODAsMHgzMSwweGYyLDB4MGMsMHg2MCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1NjAsIDAsIHsweDA4LDB4MWQsMHg5YywweDAwLDB4ZmIsMHgwMSwweDJmLDB4NDAsMHgwNywweGIwLDB4MDMsMHhlOCwweDA0LDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGE1NzAsIDAsIHsweGMxLDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwNiwweGU4LDB4MDIsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAxLDB4YTQsMHgxMCwweGY5IH0sCi0gIDE2LCAweGE1ODAsIDAsIHsweDQwLDB4YmUsMHhkMCwweDA2LDB4YjAsMHgwMywweGVlLDB4MDAsMHhmYSwweDAwLDB4M2MsMHhkOCwweDBmLDB4YTAsMHgwMywweGMyIH0sCi0gIDE2LCAweGE1OTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNmLDB4ODgsMHgzMywweDY0IH0sCi0gIDE2LCAweGE1YTAsIDAsIHsweDJjLDB4ZjgsMHgwMywweGZlLDB4MDIsMHhjNCwweGIwLDB4MzMsMHgyMCwweDhjLDB4ZDgsMHgwMywweDMyLDB4MDAsMHhjYywweGI0IH0sCi0gIDE2LCAweGE1YjAsIDAsIHsweDMzLDB4YTAsMHgwYywweGM4LDB4MDMsMHgxNiwweDIwLDB4Y2YsMHhjMCwweDMzLDB4ZjAsMHgwYywweGY4LDB4MDMsMHhmZSwweDAwIH0sCi0gIDE2LCAweGE1YzAsIDAsIHsweGNkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhkOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE1ZDAsIDAsIHsweGE4LDB4MTEsMHhiNSwweDA0LDB4ODcsMHgxMiwweGExLDB4NTAsMHgwYSwweDc0LDB4MTIsMHhjNCwweDQwLDB4ODQsMHgxMSwweDIzIH0sCi0gIDE2LCAweGE1ZTAsIDAsIHsweGMwLDB4MjgsMHhlMCwweDAyLDB4MWMsMHgwMiwweGE3LDB4MTEsMHgyMSwweDU4LDB4NDgsMHg3MCwweDBhLDB4MTQsMHgwMCwweDhkIH0sCi0gIDE2LCAweGE1ZjAsIDAsIHsweDAwLDB4MjMsMHhjMCwweDBiLDB4NzAsMHgwMiwweGZjLDB4NDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDBiLDB4NTAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGE2MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTUsMHgwMCwweDg3LDB4NDAsMHgyMSwweDAwIH0sCi0gIDE2LCAweGE2MTAsIDAsIHsweDE4LDB4NzEsMHgwMiwweGRjLDB4MDAsMHg5NSwweDI4LDB4ZTEsMHgwMiwweDA4LDB4NTAsMHgwMiwweDNjLDB4NDIsMHhhNywweDIyIH0sCi0gIDE2LCAweGE2MjAsIDAsIHsweDIxLDB4ODAsMHg4OCwweDQxLDB4MDIsMHgxNCwweDAwLDB4ODUsMHgwMCwweGExLDB4YzAsMHgwOSwweDcxLDB4MDIsMHhkYywweDAwIH0sCi0gIDE2LCAweGE2MzAsIDAsIHsweGI1LDB4MTAsMHgyZCwweGMwLDB4MGIsMHg0MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2NDAsIDAsIHsweDIwLDB4MTQsMHhjNCwweDEwLDB4ODMsMHg4NCwweDIwLDB4MTEsMHgwOCwweDMwLDB4MDIsMHhjMywweDEwLDB4OTEsMHgyMCwweDIwIH0sCi0gIDE2LCAweGE2NTAsIDAsIHsweGMwLDB4MDgsMHgyOCwweDEyLDB4MDAsMHgwMCwweGEwLDB4ODQsMHgyMCwweDQwLDB4MDgsMHgzMCwweDAyLDB4MDQsMHgyNiwweDgzIH0sCi0gIDE2LCAweGE2NjAsIDAsIHsweDAwLDB4MjAsMHhkMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMiwweDAwLDB4MmMsMHhjMCwweDBiLDB4MDAsMHgwMiwweDA4IH0sCi0gIDE2LCAweGE2NzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWQsMHgwMCwweGNmLDB4ODgsMHhiMiwweGU4IH0sCi0gIDE2LCAweGE2ODAsIDAsIHsweDBjLDB4MzAsMHgxMywweGNlLDB4YzIsMHhkMCwweDgyLDB4MzIsMHgwMCwweDBjLDB4MGUsMHgwYiwweDIwLDB4MDAsMHhjOCwweDg4IH0sCi0gIDE2LCAweGE2OTAsIDAsIHsweGIyLDB4NDAsMHgyYywweGJhLDB4NDMsMHgzNywweDAyLDB4Y2IsMHgwMCwweGIzLDB4YzAsMHgyYywweGYwLDB4MDMsMHhmYywweDEyIH0sCi0gIDE2LCAweGE2YTAsIDAsIHsweGZiLDB4MDAsMHg3ZiwweGQxLDB4MGYsMHgzMCwweDBiLDB4MmIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE2YjAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDAyLDB4ZjEsMHg0MCwweDNlLDB4NDEsMHgwZiwweGIwLDB4MjMsMHhlZCwweDAwLDB4ZTgsMHgwMSwweDNlIH0sCi0gIDE2LCAweGE2YzAsIDAsIHsweGM4LDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwNCwweGRiLDB4MDAsMHgzYywweDgwLDB4MGYsMHgwNCwweDAzLDB4ZTQsMHg0MCwweGY5IH0sCi0gIDE2LCAweGE2ZDAsIDAsIHsweDAwLDB4M2MsMHhjMiwweDBlLDB4YjAsMHgwMywweGVlLDB4MDAsMHg0YiwweDQxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGUwIH0sCi0gIDE2LCAweGE2ZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweDRiLDB4MDAsMHgzMiwweDQyIH0sCi0gIDE2LCAweGE2ZjAsIDAsIHsweDBjLDB4ZjAsMHgwMywweDM2LDB4ODAsMHhjZCwweDAwLDB4MzMsMHgwMCwweDRjLDB4YzAsMHg4MywweDNjLDB4MDQsMHhmNywweDAwIH0sCi0gIDE2LCAweGE3MDAsIDAsIHsweDMyLDB4NDAsMHgwYywweGIxLDB4NDMsMHgxNCwweDAwLDB4Y2QsMHg4MCwweDMzLDB4YzAsMHgwYywweGYwLDB4MDMsMHhmYywweDAwIH0sCi0gIDE2LCAweGE3MTAsIDAsIHsweGZmLDB4MDAsMHhiMywweGMyLDB4MGMsMHhhMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3MjAsIDAsIHsweDgxLDB4MDQsMHg0ZiwweDAyLDB4OGIsMHg4MCwweDIwLDB4MzAsMHgwOCwweGJjLDB4MDIsMHgyMCwweDEwLDB4ODksMHgwMCwweDIyIH0sCi0gIDE2LCAweGE3MzAsIDAsIHsweGMwLDB4MDAsMHhiMCwweDAzLDB4NjAsMHgwNCwweGI4LDB4MDAsMHhhMiwweDkwLDB4MjgsMHg4YywweDFhLDB4MjQsMHgwMiwweDhiIH0sCi0gIDE2LCAweGE3NDAsIDAsIHsweDgzLDB4MjIsMHhjMSwweDA4LDB4YjAsMHgwMiwweGZjLDB4MDAsMHhiMywweDYwLDB4MjAsMHhjMCwweDBkLDB4YTAsMHgwMywweGUwIH0sCi0gIDE2LCAweGE3NTAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmUsMHgwMCwweGFiLDB4YzAsMHgyMiwweDYwIH0sCi0gIDE2LCAweGE3NjAsIDAsIHsweDA4LDB4YjgsMHgwMiwweDI5LDB4MDAsMHg4OCwweDAxLDB4MjAsMHgwMCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDAwIH0sCi0gIDE2LCAweGE3NzAsIDAsIHsweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlNCwweDAwLDB4ODEsMHgyNCwweGEyLDB4YzAsMHgwOSwweGIwLDB4NDYsMHhlYywweDAwIH0sCi0gIDE2LCAweGE3ODAsIDAsIHsweGI5LDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE3OTAsIDAsIHsweDA4LDB4MDQsMHgyYywweDAwLDB4YTEsMHgwMCwweGEwLDB4NDEsMHgwOCwweGIwLDB4MGEsMHgyMCwweDUzLDB4ODgsMHgwMCwweDIwIH0sCi0gIDE2LCAweGE3YTAsIDAsIHsweGMwLDB4MjgsMHhhMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweDAwLDB4ODgsMHgwMCwweDAyLDB4ODQsMHgwMCwweDgzIH0sCi0gIDE2LCAweGE3YjAsIDAsIHsweDA0LDB4MjAsMHhjMCwweDI4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAyLDB4NjIsMHhjMCwweDA5LDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGE3YzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGU5LDB4MDAsMHgyMiwweDAwIH0sCi0gIDE2LCAweGE3ZDAsIDAsIHsweDBjLDB4YjAsMHgwMywweDAwLDB4MDQsMHhjOSwweDAwLDB4YjIsMHgwMCwweDBjLDB4OTAsMHgwMywweDJjLDB4MDAsMHhmMywweDAwIH0sCi0gIDE2LCAweGE3ZTAsIDAsIHsweGIyLDB4YzAsMHg4YywweGIwLDB4MDMsMHhiNCwweDAyLDB4OGYsMHgwMCwweDIzLDB4YzAsMHgwNCwweGYwLDB4MDMsMHhlYywweDA4IH0sCi0gIDE2LCAweGE3ZjAsIDAsIHsweGY5LDB4MDAsMHgzMywweGMwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4MDAsIDAsIHsweGEwLDB4MWQsMHhmYywweDEwLDB4ZGQsMHgwNCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MjMsMHhmMCwweDkwLDB4ZmQsMHgwMCwweDJmIH0sCi0gIDE2LCAweGE4MTAsIDAsIHsweGMwLDB4MGYsMHhlMCwweDQzLDB4ZDAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4OGYsMHhjMCwweDIyLDB4NzQsMHgwMCwweGZkIH0sCi0gIDE2LCAweGE4MjAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA2LDB4M2YsMHhjMCwweDBmLDB4YzAsMHg0MywweGU4IH0sCi0gIDE2LCAweGE4MzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg4MCwweGVmLDB4MjAsMHgxMSwweGMwIH0sCi0gIDE2LCAweGE4NDAsIDAsIHsweDBlLDB4NzIsMHgwMywweGJkLDB4YjAsMHhjZiwweDMxLDB4YmYsMHhjYywweDAyLDB4ZjAsMHgwMywweGZjLDB4YzYsMHhjZiwweDAxIH0sCi0gIDE2LCAweGE4NTAsIDAsIHsweDBiLDB4YzUsMHgwZiwweGYxLDB4MDMsMHgzYywweDA0LDB4ZWYsMHg2MSwweDMzLDB4ZDgsMHgwNywweGYwLDB4MDMsMHgzNCwweDgwIH0sCi0gIDE2LCAweGE4NjAsIDAsIHsweGNkLDB4MzAsMHg3MywweGNjLDB4MGYsMHhlOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4NzAsIDAsIHsweDgwLDB4MTgsMHhlOSwweDAwLDB4ODgsMHg2OSwweDIyLDB4MTAsMHgwOCwweDhjLDB4MDAsMHgyMSwweDg0LDB4ODgsMHg0MSwweDIyIH0sCi0gIDE2LCAweGE4ODAsIDAsIHsweDEwLDB4ODgsMHg4NiwweDkyLDB4MDEsMHgwMCwweDg4LDB4NjIsMHgyMiwweDEwLDB4NGIsMHg4NywweDAyLDB4MjEsMHhhMCwweDg4IH0sCi0gIDE2LCAweGE4OTAsIDAsIHsweDYwLDB4MjAsMHgxMCwweDBiLDB4ODYsMHhhMiwweDM1LDB4YTAsMHhhYiwweDYwLDB4YTEsMHhjNCwweDBiLDB4YjgsMHgwMiwweDIwIH0sCi0gIDE2LCAweGE4YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2QsMHhhOCwweDMzLDB4NDEsMHgyMCwweGM2IH0sCi0gIDE2LCAweGE4YjAsIDAsIHsweDRhLDB4MzEsMHgwMCwweDhjLDB4MTAsMHg5MywweDMzLDB4MjgsMHhjYywweDI5LDB4MzQsMHgxMiwweDhjLDB4NTAsMHg5MywweDFjIH0sCi0gIDE2LCAweGE4YzAsIDAsIHsweDI4LDB4ODQsMHgwMSwweDIwLDB4NGEsMHg0YywweDQxLDB4ODMsMHgxMCwweDI0LDB4Y2MsMHg0YiwweDMxLDB4NDIsMHg0YywweDQwIH0sCi0gIDE2LCAweGE4ZDAsIDAsIHsweDkxLDB4MTAsMHgyNCwweGMwLDB4MGIsMHg4MCwweDAyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE4ZTAsIDAsIHsweGMwLDB4MDUsMHhhOCwweDIwLDB4OTAsMHgwMiwweDIyLDB4MDAsMHgwOCwweDgwLDB4MDAsMHgyMCwweDMwLDB4YjgsMHgwOCwweDI2IH0sCi0gIDE2LCAweGE4ZjAsIDAsIHsweDAwLDB4MDEsMHg4MCwweDgyLDB4MjAsMHgyMCwweDE4LDB4MDgsMHg0MiwweDQwLDB4MDMsMHg5MSwweDAyLDB4NjAsMHgwMCwweDA4IH0sCi0gIDE2LCAweGE5MDAsIDAsIHsweDAxLDB4YTYsMHgwMCwweDBiLDB4ODAsMHgwMCwweDZjLDB4MTAsMHhiYiwweDAxLDB4MjYsMHhjMCwweDRiLDB4OTAsMHgwYSwweDMwIH0sCi0gIDE2LCAweGE5MTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZmQsMHgwMCwweGZkLDB4NDEsMHgzMywweGExIH0sCi0gIDE2LCAweGE5MjAsIDAsIHsweDBlLDB4ZDIsMHgwMywweGI1LDB4MDIsMHhkZiwweDQyLDB4M2IsMHgwMSwweDBmLDB4ZDQsMHg0MywweGI1LDB4MDAsMHhjZCwweDQwIH0sCi0gIDE2LCAweGE5MzAsIDAsIHsweDFiLDB4YzQsMHgwZCwweDc4LDB4MDMsMHg3MCwweDAyLDB4ZWMsMHgwMCwweDE3LDB4YTEsMHgwZiwweGU4LDB4MGIsMHgyYywweDAyIH0sCi0gIDE2LCAweGE5NDAsIDAsIHsweGQ5LDB4OTAsMHgyNiwweGMwLDB4MGYsMHhhYywweDAzLDB4MDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5NTAsIDAsIHsweGUwLDB4MDEsMHhiOCwweDAwLDB4ZWUsMHgwMCwweDFmLDB4NjQsMHg0ZiwweGUwLDB4MDMsMHhkOCwweDEwLDB4YzQsMHgxOCwweDMzIH0sCi0gIDE2LCAweGE5NjAsIDAsIHsweGMwLDB4MGMsMHhhMCwweGExLDB4YjgsMHgwOSwweGU2LDB4MDksMHgzNiwweDIyLDB4MGYsMHg4OCwweDIzLDB4YmMsMHgwMCwweGZiIH0sCi0gIDE2LCAweGE5NzAsIDAsIHsweDAwLDB4M2IsMHg2NCwweDBmLDB4ZDksMHgwMywweDljLDB4MDAsMHhlMywweDA0LDB4M2IsMHhjMCwweDBmLDB4ZjQsMHgwMywweGY4IH0sCi0gIDE2LCAweGE5ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGQsMHgwMCwweGM5LDB4NDAsMHhiNiwweDgwIH0sCi0gIDE2LCAweGE5OTAsIDAsIHsweDBmLDB4MTAsMHgwMywweGE3LDB4MjAsMHhmYiwweDUwLDB4YjYsMHgwOCwweDRjLDB4MTQsMHgwMywweDY1LDB4MjIsMHhkOSwweDQwIH0sCi0gIDE2LCAweGE5YTAsIDAsIHsweGI2LDB4ODAsMHgwZSwweGEwLDB4MGIsMHgwMCwweDAwLDB4ZDgsMHgwMCwweDc2LDB4ODIsMHgyOCwweGEwLDB4MjMsMHg2NCwweDAwIH0sCi0gIDE2LCAweGE5YjAsIDAsIHsweGM5LDB4MDQsMHgxMiwweGMwLDB4OGUsMHg4MCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGE5YzAsIDAsIHsweGM4LDB4MDUsMHgyYiwweDYwLDB4OGEsMHgwOSwweDIwLDB4NTAsMHgwOCwweGEwLDB4MjMsMHhlOSwweDAwLDB4YjgsMHhjMCwweDIyIH0sCi0gIDE2LCAweGE5ZDAsIDAsIHsweGYwLDB4MDgsMHhhYywweDAyLDB4MjgsMHgwNCwweDhhLDB4YzIsMHgyMiwweDUwLDB4MDgsMHg5MCwweDA2LDB4MmMsMHgwMCwweDhiIH0sCi0gIDE2LCAweGE5ZTAsIDAsIHsweDA0LDB4MjIsMHg1MSwweDA4LDB4OTQsMHgwMiwweGU0LDB4MDQsMHg4YiwweDA0LDB4MzcsMHhjMCwweDA4LDB4MTgsMHg0MiwweDI2IH0sCi0gIDE2LCAweGE5ZjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA0LDB4NGIsMHgwMCwweDgyLDB4YzgsMHgyNCwweDQzIH0sCi0gIDE2LCAweGFhMDAsIDAsIHsweDBiLDB4MjYsMHgwYSwweDg4LDB4MDAsMHhiMCwweDgwLDB4MjIsMHhlNCwweDBiLDB4MjAsMHg0MiwweDY5LDB4MDAsMHhhMiwweDkwIH0sCi0gIDE2LCAweGFhMTAsIDAsIHsweDI4LDB4NDAsMHhlOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YmIsMHgwMCwweDI4LDB4NTAsMHg4OCwweDkwLDB4ODIsMHhjNCwweDAxIH0sCi0gIDE2LCAweGFhMjAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMwLDB4MGEsMHgxMCwweDAyLDB4YmEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhMzAsIDAsIHsweDIwLDB4MTAsMHg0ZSwweDgwLDB4ODEsMHgwMCwweDIxLDB4YTgsMHgwOCwweDU4LDB4MDIsMHhkNiwweDAxLDB4YjcsMHg5MCwweDY4IH0sCi0gIDE2LCAweGFhNDAsIDAsIHsweDIwLDB4MDMsMHg1OSwweDgyLDB4NTYsMHgwMCwweGE1LDB4ODQsMHgyZCwweGEyLDB4MTgsMHg2OSwweDIyLDB4MDIsMHgwMCwweDM0IH0sCi0gIDE2LCAweGFhNTAsIDAsIHsweDgwLDB4MjksMHhhOCwweDA4LDB4NjgsMHgwNiwweGM2LDB4MTQsMHg4NSwweDgyLDB4MjUsMHhlMCwweDA4LDB4NTgsMHg4MiwweDFjIH0sCi0gIDE2LCAweGFhNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4NDgsMHgwMCwweGMyLDB4ZjAsMHgzNCwweDQwIH0sCi0gIDE2LCAweGFhNzAsIDAsIHsweDBmLDB4MjAsMHgwMywweDg4LDB4ODAsMHhmOCwweDEwLDB4MzAsMHhjMCwweDI3LDB4MjEsMHgwYiwweDQ4LDB4ODAsMHhlYSwweDIwIH0sCi0gIDE2LCAweGFhODAsIDAsIHsweDM4LDB4MDAsMHgwYywweDAwLDB4MTIsMHgwYywweDA4LDB4NzMsMHgwMCwweGI4LDB4NDAsMHgwYywweDEyLDB4MjMsMHg0YywweDAyIH0sCi0gIDE2LCAweGFhOTAsIDAsIHsweDQzLDB4MzQsMHgzMCwweGMwLDB4MGUsMHgxMSwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFhYTAsIDAsIHsweDQwLDB4MTUsMHhhYywweDkwLDB4ZjksMHgwMSwweDJlLDB4ODgsMHg0YiwweDkwLDB4MTEsMHg2NCwweDAwLDB4ZmIsMHgxMCwweDMyIH0sCi0gIDE2LCAweGFhYjAsIDAsIHsweDAwLDB4MDAsMHg5MSwweDAzLDB4YTQsMHgwMCwweGM5LDB4MDAsMHgzMiwweGM0LDB4NGQsMHhiMCwweDQzLDB4ZTAsMHgwNCwweGM4IH0sCi0gIDE2LCAweGFhYzAsIDAsIHsweDAwLDB4MzYsMHg4OSwweDBmLDB4YTgsMHgwMywweGVkLDB4MDAsMHhmOSwweDE0LDB4M2UsMHhjMCwweDBmLDB4MTAsMHg0MywweGQwIH0sCi0gIDE2LCAweGFhZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZTgsMHgwMCwweGM4LDB4MDAsMHgzYSwweDAwIH0sCi0gIDE2LCAweGFhZTAsIDAsIHsweDBjLDB4MDAsMHg1MywweGEwLDB4MDAsMHhlOCwweDAxLDB4MzIsMHgwMSwweDBlLDB4ODAsMHg1MywweDIwLDB4MTAsMHhjOCwweDAwIH0sCi0gIDE2LCAweGFhZjAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyMCwweDEwLDB4ZTgsMHgwNCwweGI2LDB4MDAsMHg4NCwweDgwLDB4MDMsMHgyZCwweDEyIH0sCi0gIDE2LCAweGFiMDAsIDAsIHsweGNiLDB4MDAsMHgyZSwweGNhLDB4MDQsMHg5MCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiMTAsIDAsIHsweDRjLDB4MTksMHg4YywweDAwLDB4ODcsMHgwMiwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDIxIH0sCi0gIDE2LCAweGFiMjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDYyLDB4NGMsMHgwNCwweDgzLDB4MDAsMHgyMSwweDgwLDB4NDgsMHhlMCwweDEyLDB4M2MsMHgwMCwweDg3IH0sCi0gIDE2LCAweGFiMzAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NSwweDAxLDB4MjQsMHhkMCwweDBhLDB4NTAsMHgwMiwweGYyIH0sCi0gIDE2LCAweGFiNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4OWEsMHgwMCwweDgwLDB4ODAsMHgyOCwweDIwIH0sCi0gIDE2LCAweGFiNTAsIDAsIHsweDA4LDB4NGMsMHgyMiwweGQyLDB4MDAsMHhhNCwweDgwLDB4MjQsMHgzMCwweDBiLDB4NDgsMHgwMiwweDUyLDB4MDAsMHg4NCwweGMwIH0sCi0gIDE2LCAweGFiNjAsIDAsIHsweDIxLDB4MjAsMHgwOSwweDQ4LDB4NjgsMHgxMywweDAwLDB4YTQsMHg4MCwweDYwLDB4MjAsMHgwOSwweDA4LDB4MDIsMHg1NiwweDAwIH0sCi0gIDE2LCAweGFiNzAsIDAsIHsweDk3LDB4ODAsMHgyZCwweGUwLDB4ODgsMHg1OCwweDAyLDB4ZTAsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiODAsIDAsIHsweDZjLDB4MDQsMHhjYywweDAwLDB4ODMsMHg4MCwweDIwLDB4ZDgsMHgwOCwweDMwLDB4MDIsMHg0YywweDQwLDB4ODMsMHgwMCwweDI0IH0sCi0gIDE2LCAweGFiOTAsIDAsIHsweGQxLDB4MDksMHhiOSwweDQyLDB4NGUsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMxLDB4ODksMHgzMCwweDQyLDB4MGMsMHgwMCwweDgzIH0sCi0gIDE2LCAweGFiYTAsIDAsIHsweGYwLDB4YTAsMHhkOSwweDE5LDB4MzYsMHgyMiwweDY2LDB4MDYsMHg5MSwweDAwLDB4MGMsMHhjMSwweDBhLDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGFiYjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4ZTgsMHgwMiwweGNhLDB4YTUsMHgyYSwweDkxIH0sCi0gIDE2LCAweGFiYzAsIDAsIHsweDI4LDB4YTgsMHgwMywweGVhLDB4MDIsMHhhYSwweDAwLDB4YjYsMHhhMCwweDBmLDB4YTAsMHgwYSwweDJhLDB4OTIsMHhjYSwweDgzIH0sCi0gIDE2LCAweGFiZDAsIDAsIHsweGJhLDB4ODAsMHgyOSwweGEwLDB4MDMsMHgyYiwweDAwLDB4ZWEsMHg0MCwweDY2LDB4OTAsMHgyZCwweGU0LDB4MGIsMHg2YSwweDgwIH0sCi0gIDE2LCAweGFiZTAsIDAsIHsweGRhLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhlMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFiZjAsIDAsIHsweDQ4LDB4MDEsMHg4MCwweDAwLDB4ZmMsMHgwMCwweDNkLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhiMCwweDE0LDB4ZmMsMHgwMCwweDNiIH0sCi0gIDE2LCAweGFjMDAsIDAsIHsweDEyLDB4MGUsMHhjMCwweDQzLDB4YjEsMHgxNCwweGZjLDB4MDAsMHgzZCwweDAwLDB4MGUsMHhjMCwweDAzLDB4ZjAsMHgyMCwweGY0IH0sCi0gIDE2LCAweGFjMTAsIDAsIHsweDAwLDB4MzEsMHgwMCwweDBlLDB4NDQsMHgxMywweGEwLDB4MDAsMHhlOCwweDA2LDB4MzYsMHgwMCwweDRmLDB4ODAsMHgxMywweGQyIH0sCi0gIDE2LCAweGFjMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGQxLDB4MDAsMHgzNiwweDYwIH0sCi0gIDE2LCAweGFjMzAsIDAsIHsweDFjLDB4MTgsMHgwYiwweDQ2LDB4MDAsMHhkOSwweDgwLDB4MzAsMHg0MCwweDJjLDB4OTgsMHgwNSwweDg2LDB4MDAsMHhjMSwweDgwIH0sCi0gIDE2LCAweGFjNDAsIDAsIHsweDkyLDB4NDAsMHgwZCwweDEwLDB4MDMsMHg0NCwweDAyLDB4ODksMHgwMCwweDMyLDB4NzAsMHgwYywweDk4LDB4MDEsMHgyNCwweDAwIH0sCi0gIDE2LCAweGFjNTAsIDAsIHsweGM5LDB4MDQsMHgzMCwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjNjAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHgyNCwweDgwLDB4ODksMHgwMSwweDIyIH0sCi0gIDE2LCAweGFjNzAsIDAsIHsweDQwLDB4NDgsMHg5MSwweDAyLDB4MjQsMHgwMCwweGQ5LDB4OTAsMHgyMiwweDQxLDB4MDgsMHg5MCwweDEyLDB4MjQsMHgxMCwweDg5IH0sCi0gIDE2LCAweGFjODAsIDAsIHsweDAwLDB4MzIsMHg0MCwweDA4LDB4OTUsMHgxMiwweDI0LDB4MDIsMHg4MSwweDAwLDB4YTIsMHg0MSwweDBkLDB4OTAsMHg0MiwweGUwIH0sCi0gIDE2LCAweGFjOTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDA1LDB4MjQsMHgwMiwweDlkLDB4MDAsMHgyMywweDQ0IH0sCi0gIDE2LCAweGFjYTAsIDAsIHsweDA4LDB4ZDIsMHgwNiwweDc0LDB4ODAsMHhiNSwweDIwLDB4MjMsMHg0MCwweDFhLDB4ZDAsMHgwNiwweDM1LDB4OTAsMHg4ZCwweDAyIH0sCi0gIDE2LCAweGFjYjAsIDAsIHsweDJmLDB4NDQsMHgxOSwweGQwLDB4MDIsMHg3NCwweDAwLDB4OGQsMHgwMCwweDYzLDB4NDAsMHgxOCwweGQ0LDB4MDIsMHhhNCwweDExIH0sCi0gIDE2LCAweGFjYzAsIDAsIHsweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFjZDAsIDAsIHsweDI4LDB4MTQsMHgwNCwweDgwLDB4ODUsMHgyMCwweDIxLDB4NjgsMHgwOCwweDUyLDB4MDIsMHgxNCwweDgwLDB4YTUsMHgyMCwweGExIH0sCi0gIDE2LCAweGFjZTAsIDAsIHsweDQ4LDB4MGEsMHg3MiwweDM4LDB4MTQsMHg4MCwweDk1LDB4MjQsMHgyZCwweDQ4LDB4MjgsMHg1MiwweDAyLDB4MTQsMHg4MCwweDg1IH0sCi0gIDE2LCAweGFjZjAsIDAsIHsweDIwLDB4MjEsMHg0OCwweDA4LDB4NTIsMHgwNiwweDg0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0YSwweDA5LDB4MTAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGFkMDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHhiMiwweDE0IH0sCi0gIDE2LCAweGFkMTAsIDAsIHsweDI4LDB4YTAsMHgwMywweDYxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHg5NCwweDRlLDB4ODUsMHgwNCwweDIxLDB4NDIsMHhjOCwweDUwIH0sCi0gIDE2LCAweGFkMjAsIDAsIHsweDNjLDB4MTQsMHgwZCwweDgwLDB4MDMsMHg2MSwweDQwLDB4ODgsMHg1MCwweGIyLDB4MTQsMHgyYywweGM1LDB4MDksMHhhMSwweDQwIH0sCi0gIDE2LCAweGFkMzAsIDAsIHsweGM4LDB4NTAsMHgzMiwweDFjLDB4MGMsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkNDAsIDAsIHsweDk4LDB4MTUsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNhLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZDksMHgxNCwweDNlIH0sCi0gIDE2LCAweGFkNTAsIDAsIHsweDQ0LDB4MGQsMHg5MSwweDQzLDB4NjQsMHg0MCwweGU5LDB4MTAsMHgzMiwweDQ0LDB4MDcsMHg5MywweGMzLDB4ZTQsMHg1MCwweGQxIH0sCi0gIDE2LCAweGFkNjAsIDAsIHsweDEwLDB4N2UsMHg0NCwweDAzLDB4OTEsMHgwMSwweDU0LDB4NDQsMHhmZCwweDE0LDB4M2UsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU2IH0sCi0gIDE2LCAweGFkNzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHg4MCwweGRkLDB4YTAsMHgzMywweDY4IH0sCi0gIDE2LCAweGFkODAsIDAsIHsweDFlLDB4ZGEsMHgwMywweDM2LDB4OTAsMHhjZCwweGEwLDB4M2IsMHg2OCwweDBhLDB4ZDgsMHgyMywweDc2LDB4MGMsMHhlZCwweDgwIH0sCi0gIDE2LCAweGFkOTAsIDAsIHsweDJiLDB4NjIsMHgwYiwweDk5LDB4MDIsMHhhNywweDgwLDB4ZjksMHhlMSwweDM3LDB4NjgsMHgwYywweGRhLDB4MDMsMHgyNywweDgwIH0sCi0gIDE2LCAweGFkYTAsIDAsIHsweGM5LDB4YTIsMHgyMiwweDY4LDB4NGMsMHg1MCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFkYjAsIDAsIHsweDM4LDB4MTgsMHhlMSwweDQwLDB4ODgsMHg1MCwweDIyLDB4MTQsMHgwOCwweDgwLDB4MjIsMHg2MCwweDAwLDB4ODgsMHgwNCwweDIyIH0sCi0gIDE2LCAweGFkYzAsIDAsIHsweDAwLDB4MDgsMHgwNCwweDI2LDB4MDEsMHgwMCwweDg4LDB4NTAsMHgyMiwweDEwLDB4MDgsMHhhZiwweDAyLDB4MjMsMHgwMCwweDg4IH0sCi0gIDE2LCAweGFkZDAsIDAsIHsweGMwLDB4YTAsMHgxMCwweDg4LDB4ODQsMHgwMiwweDIzLDB4ODAsMHhhMCwweDQwLDB4MmEsMHgxMCwweDA4LDB4ODAsMHgxMiwweDRlIH0sCi0gIDE2LCAweGFkZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ODQsMHgwMCwweDgxLDB4MDEsMHgyMCwweDQwIH0sCi0gIDE2LCAweGFkZjAsIDAsIHsweDBhLDB4MTQsMHgwMiwweDQ1LDB4MDAsMHg4MSwweDQxLDB4MmMsMHg1MCwweDBiLDB4MTQsMHgwMiwweDA1LDB4MDQsMHhhMSwweDAwIH0sCi0gIDE2LCAweGFlMDAsIDAsIHsweDI4LDB4NDAsMHg4MiwweDEwLDB4MDIsMHg4NCwweDQwLDB4YTEsMHgzMiwweDgwLDB4NTAsMHgwOSwweDE0LDB4MDIsMHgwNCwweGM0IH0sCi0gIDE2LCAweGFlMTAsIDAsIHsweDkxLDB4MTAsMHg2NCwweDQ0LDB4MjgsMHgxMCwweDAyLDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlMjAsIDAsIHsweDE4LDB4MDQsMHhhYywweDAyLDB4ODEsMHgwMCwweDIyLDB4YzEsMHgwOCwweDkwLDB4MDIsMHg0NCwweDAyLDB4ODksMHgwMiwweDI2IH0sCi0gIDE2LCAweGFlMzAsIDAsIHsweDQxLDB4MDksMHg5MCwweDBhLDB4MjQsMHgwYywweDg5LDB4MDQsMHgyMiwweDUwLDB4MDgsMHg5MCwweDI2LDB4MjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGFlNDAsIDAsIHsweDAwLDB4MjIsMHg0MSwweDA5LDB4MTAsMHgyMiwweDI0LDB4NDAsMHhiOSwweDAxLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGFlNTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgxMCwweDg5LDB4MDAsMHgzMiwweDQwIH0sCi0gIDE2LCAweGFlNjAsIDAsIHsweDBhLDB4OTAsMHgwYiwweDI0LDB4MTAsMHg4OSwweDAwLDB4MWUsMHg0MCwweDliLDB4OTAsMHgwMiwweDI0LDB4MTAsMHgyOSwweDAwIH0sCi0gIDE2LCAweGFlNzAsIDAsIHsweDFhLDB4NDAsMHgwZSwweDk0LDB4NDEsMHhhNCwweDAwLDB4MjksMHgwMCwweDEyLDB4NDAsMHgwNSwweDkwLDB4NDEsMHgyNiwweDAwIH0sCi0gIDE2LCAweGFlODAsIDAsIHsweGQ5LDB4MDAsMHgyNCwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFlOTAsIDAsIHsweDQ4LDB4MDEsMHhhNCwweDAyLDB4YTksMHgwMCwweGJjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDA0LDB4ZjksMHgwMCwweDNhIH0sCi0gIDE2LCAweGFlYTAsIDAsIHsweDQxLDB4MGUsMHg5MCwweDgzLDB4ODQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGUsMHg5MCwweDAyLDB4YzQsMHgwOCwweGU5IH0sCi0gIDE2LCAweGFlYjAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDJlLDB4OTAsMHgwYiwweGU2LDB4MDAsMHhlMSwweDA0LDB4M2EsMHg0MCwweDBmLDB4OTIsMHgwMywweDVhIH0sCi0gIDE2LCAweGFlYzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTAsMHgyMCwweGQ4LDB4MDAsMHgzNiwweDAyIH0sCi0gIDE2LCAweGFlZDAsIDAsIHsweDBlLDB4MDAsMHhhMywweGUwLDB4MTgsMHhjMCwweDAwLDB4MzAsMHgwMywweDBmLDB4ODAsMHgzMywweDIwLDB4MDAsMHg0MCwweDAwIH0sCi0gIDE2LCAweGFlZTAsIDAsIHsweDMyLDB4MGQsMHgwZiwweDA0LDB4MGIsMHhhMCwweDAyLDB4YzgsMHgwMiwweDMyLDB4MDIsMHg4YywweDgyLDB4MDMsMHgyMCwweDAyIH0sCi0gIDE2LCAweGFlZjAsIDAsIHsweGM4LDB4MDQsMHgxNiwweDAwLDB4NGUsMHg4MCwweDAxLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmMDAsIDAsIHsweDI4LDB4MDUsMHgzYiwweDAwLDB4OGUsMHhkOCwweDIzLDB4ODAsMHgwOCwweGUwLDB4MDIsMHhmOCwweDgwLDB4OGUsMHgxMCwweDIzIH0sCi0gIDE2LCAweGFmMTAsIDAsIHsweGEyLDB4MGIsMHhlMCwweDgyLDB4N2EsMHgyMCwweDhlLDB4MzAsMHgyMywweGExLDB4MGIsMHhlMCwweDAyLDB4MjgsMHgwMCwweDhlIH0sCi0gIDE2LCAweGFmMjAsIDAsIHsweDAwLDB4MmIsMHg4OCwweDA4LDB4ZTQsMHg0MiwweDM4LDB4MDAsMHg4ZSwweDA0LDB4MjMsMHg4MCwweDA4LDB4YTAsMHgwMiwweDBhIH0sCi0gIDE2LCAweGFmMzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmYsMHg0MCwweDkzLDB4YzYsMHgyNCwweDQwIH0sCi0gIDE2LCAweGFmNDAsIDAsIHsweDBhLDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAxLDB4YWMsMHhmMCwweDBiLDB4YjQsMHgwMiwweDRjLDB4MDQsMHhhMywweDgwIH0sCi0gIDE2LCAweGFmNTAsIDAsIHsweDI4LDB4ZDAsMHg0YiwweDMwLDB4MDIsMHg0YywweDAwLDB4YWIsMHgwNCwweDJhLDB4YzAsMHgyYSwweDMwLDB4MGEsMHhhYywweDEwIH0sCi0gIDE2LCAweGFmNjAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMxLDB4MGEsMHgzMSwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmNzAsIDAsIHsweDgwLDB4MTEsMHgxYywweDAwLDB4ODIsMHgwMCwweDIxLDB4NDIsMHg4OCwweDc0LDB4MDYsMHhkYywweDBiLDB4ODYsMHgwMiwweDJkIH0sCi0gIDE2LCAweGFmODAsIDAsIHsweDgwLDB4MGIsMHg3MCwweDJhLDB4NTgsMHgwMCwweGE2LDB4MDAsMHhhOSwweGMwLDB4MGIsMHg3MCwweDAyLDB4NWMsMHg4OCwweGE3IH0sCi0gIDE2LCAweGFmOTAsIDAsIHsweDIwLDB4MjksMHhjMCwweDBhLDB4NzAsMHgwMiwweDljLDB4MTAsMHg5NywweDIwLDB4YTEsMHhjOCwweDA4LDB4ZDgsMHgwMiwweDI4IH0sCi0gIDE2LCAweGFmYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA4LDB4MGUsMHgwMCwweGQ3LDB4ODAsMHgzNywweDYwIH0sCi0gIDE2LCAweGFmYjAsIDAsIHsweDBlLDB4NjgsMHgxMywweGZlLDB4MDAsMHhjZiwweDgwLDB4M2QsMHhlMCwweDBmLDB4NzgsMHgyMywweDFlLDB4MDAsMHhlZiwweDgyIH0sCi0gIDE2LCAweGFmYzAsIDAsIHsweDMxLDB4ZTAsMHgwZiwweDNjLDB4YzMsMHg3ZSwweDA0LDB4ZWYsMHg4MCwweGIxLDB4ZTAsMHgwZSwweGU4LDB4MDMsMHhiZSwweDgwIH0sCi0gIDE2LCAweGFmZDAsIDAsIHsweGQ3LDB4ZTAsMHgzMywweGVhLDB4MGUsMHg3OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGFmZTAsIDAsIHsweDA4LDB4MTUsMHhhYywweDAwLDB4ZmEsMHgwMSwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlMCwweDA0LDB4ZjgsMHgwMCwweDMyIH0sCi0gIDE2LCAweGFmZjAsIDAsIHsweDgwLDB4MGYsMHg4MCwweDQzLDB4YWMsMHgwYSwweGQ4LDB4MDAsMHgzNiwweDQwLDB4MGYsMHhiMCwweDAzLDB4MmMsMHgwYywweGRiIH0sCi0gIDE2LCAweGIwMDAsIDAsIHsweDAwLDB4MjYsMHhjMSwweDA5LDB4YTAsMHgxMywweDZjLDB4NDAsMHhlYiwweDQwLDB4M2EsMHhkYywweDBmLDB4OTAsMHgwYiwweGMyIH0sCi0gIDE2LCAweGIwMTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4YmUsMHgwMCwweGNmLDB4ODEsMHgzMywweGU5IH0sCi0gIDE2LCAweGIwMjAsIDAsIHsweDFmLDB4ZjksMHgxMywweGI2LDB4NTAsMHhlZiwweDgwLDB4MWYsMHhlNCwweDA0LDB4YzgsMHgwMywweDdlLDB4MDAsMHg2ZCwweDgxIH0sCi0gIDE2LCAweGIwMzAsIDAsIHsweDMzLDB4NjQsMHgwYywweGY4LDB4MWIsMHgzZSwweDIwLDB4MmYsMHg4OCwweDkzLDB4ZTgsMHgwZiwweGZiLDB4MDMsMHgyZSwweDgwIH0sCi0gIDE2LCAweGIwNDAsIDAsIHsweGNmLDB4YzAsMHg3MywweGUwLDB4MmMsMHhkOSwweDAzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwNTAsIDAsIHsweGE4LDB4MTgsMHg5MCwweDQyLDB4ODksMHgxOCwweDIxLDB4YzAsMHgxZiwweDcxLDB4MDIsMHgxNCwweGMwLDB4ZjcsMHgyMCwweDI3IH0sCi0gIDE2LCAweGIwNjAsIDAsIHsweDQwLDB4NDAsMHg3MSwweDEyLDB4MTgsMHgwMCwweDg3LDB4MjAsMHgyMSwweDgwLDB4NDgsMHg3MSwweDAyLDB4M2MsMHgwOCwweDg3IH0sCi0gIDE2LCAweGIwNzAsIDAsIHsweDIwLDB4MjEsMHg4MiwweDBiLDB4NjEsMHhhMiwweDFlLDB4NDQsMHhkZiwweDAxLDB4MzEsMHhjOCwweDA4LDB4NzMsMHgwMiwweGVhIH0sCi0gIDE2LCAweGIwODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OGMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGM4IH0sCi0gIDE2LCAweGIwOTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweDljLDB4MDksMHg4NywweDAyLDB4MmQsMHg4MiwweDk5LDB4NDAsMHgwMiwweDA0LDB4MDAsMHhhNSwweDA5IH0sCi0gIDE2LCAweGIwYTAsIDAsIHsweDIxLDB4NDAsMHgxOSwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwNSwweDI1LDB4NDgsMHg0YiwweDcyLDB4MDIsMHgwYywweDQwIH0sCi0gIDE2LCAweGIwYjAsIDAsIHsweDg3LDB4MDAsMHhhMSwweGMwLDB4NDgsMHg1MCwweDAyLDB4YzQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIwYzAsIDAsIHsweDY4LDB4MDQsMHhjMSwweDIwLDB4ODksMHg0YywweGEwLDB4YjQsMHgwYSwweDM4LDB4MDIsMHgyMiwweDAwLDB4YTEsMHhkMCwweDI0IH0sCi0gIDE2LCAweGIwZDAsIDAsIHsweDMwLDB4MDksMHg4MCwweDAyLDB4MjcsMHg0NCwweDgxLDB4YzYsMHgyMiwweDE0LDB4MDksMHgzZCwweDJhLDB4MGYsMHgwMiwweDhiIH0sCi0gIDE2LCAweGIwZTAsIDAsIHsweGMwLDB4YTYsMHgyMCwweDBiLDB4MjQsMHgwMCwweDBjLDB4MTAsMHg5MywweDgxLDB4MjAsMHhjMCwweDQ4LDB4MzAsMHgwNiwweGQ4IH0sCi0gIDE2LCAweGIwZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDE1LDB4YTEsMHgwMCwweDg5LDB4YzEsMHgzMiwweGQxIH0sCi0gIDE2LCAweGIxMDAsIDAsIHsweDAzLDB4YmMsMHgwMywweGE5LDB4MjAsMHg4OSwweDQxLDB4M2UsMHg2MCwweDg1LDB4YmMsMHg4YiwweDI1LDB4NDAsMHhlYiwweDQxIH0sCi0gIDE2LCAweGIxMTAsIDAsIHsweGEyLDB4YTAsMHgwZCwweGYwLDB4MTMsMHgzZSwweDIwLDB4Y2YsMHg5MCwweDM2LDB4MzAsMHg0ZiwweGJjLDB4MGIsMHgzYywweDAwIH0sCi0gIDE2LCAweGIxMjAsIDAsIHsweGNmLDB4ODAsMHgzMywweGMxLDB4MGMsMHhiMSwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxMzAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDAwLDB4ZjgsMHgwMSwweDNjLDB4ZDAsMHgwZiwweGIzLDB4MDMsMHhlOCwweDgyLDB4ZDgsMHgyMCwweDM2IH0sCi0gIDE2LCAweGIxNDAsIDAsIHsweDgwLDB4MmUsMHhiMiwweDEzLDB4ZTEsMHgwMCwweGZhLDB4MDAsMHg3ZSwweGM4LDB4MmUsMHhiMCwweDAzLDB4ZWMsMHg4MCwweGRiIH0sCi0gIDE2LCAweGIxNTAsIDAsIHsweDEwLDB4M2EsMHgwOCwweDRmLDB4YjIsMHgyMywweGNjLDB4MDIsMHhmYiwweDEwLDB4M2EsMHhjMCwweDBmLDB4OTAsMHgwMywweGU0IH0sCi0gIDE2LCAweGIxNjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDEwLDB4ZjAsMHgwMCwweGNkLDB4MTAsMHgzMywweDQyIH0sCi0gIDE2LCAweGIxNzAsIDAsIHsweDBjLDB4Y2EsMHgyMywweDdjLDB4MDAsMHhjZiwweDAwLDB4MzMsMHg2MiwweDA2LDB4ZjAsMHgwMSwweDNhLDB4MDAsMHhjZiwweDA4IH0sCi0gIDE2LCAweGIxODAsIDAsIHsweDMzLDB4ODAsMHgxYywweGYwLDB4ODEsMHgzYywweDAwLDB4ZmYsMHgwMCwweDMzLDB4YTAsMHgwYywweGNhLDB4MDEsMHhmYywweDA0IH0sCi0gIDE2LCAweGIxOTAsIDAsIHsweGNmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIxYTAsIDAsIHsweGExLDB4MDQsMHg2ZCwweDQwLDB4ODgsMHg0OCwweGEyLDB4MzEsMHgwOCwweDEwLDB4MDIsMHgyMCwweDEwLDB4ODgsMHhiNCwweDIyIH0sCi0gIDE2LCAweGIxYjAsIDAsIHsweGEwLDB4MDgsMHg4MCwweDAwLDB4NmEsMHg4NCwweDg4LDB4MjAsMHgyMiwweDUyLDB4MDgsMHhiMCwweDBhLDB4MmMsMHgxMCwweGJiIH0sCi0gIDE2LCAweGIxYzAsIDAsIHsweDAwLDB4MzIsMHhiMywweDg4LDB4ODAsMHgwMiwweGVjLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4OTAsMHgxMiwweGUxIH0sCi0gIDE2LCAweGIxZDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4MDAsMHgxMCwweDhhLDB4MDEsMHgyMiwweGEwIH0sCi0gIDE2LCAweGIxZTAsIDAsIHsweDA4LDB4YjAsMHg0MiwweDYwLDB4MjAsMHg4MCwweDAwLDB4MjAsMHg0NCwweDFhLDB4ODAsMHgxYSwweGU0LDB4NDIsMHhhMCwweDA2IH0sCi0gIDE2LCAweGIxZjAsIDAsIHsweDIyLDB4MDAsMHg3OCwweDMwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMCwweGEyLDB4NDQsMHgwOCwweGIwLDB4MTIsMHhlYywweDAwIH0sCi0gIDE2LCAweGIyMDAsIDAsIHsweDhiLDB4MDAsMHgwZSwweGMwLDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyMTAsIDAsIHsweDA4LDB4MTQsMHgwMCwweDA4LDB4ODAsMHgwMCwweDIwLDB4ODEsMHgwOCwweDMwLDB4MDIsMHg0MCwweDEyLDB4ODAsMHgwMCwweGEwIH0sCi0gIDE2LCAweGIyMjAsIDAsIHsweDQwLDB4MDgsMHhiMCwweDAyLDB4YzAsMHgwMCwweDgyLDB4MDAsMHgwMCwweDgwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweGJiIH0sCi0gIDE2LCAweGIyMzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDA4LDB4MjAsMHgwMiwweGNjLDB4ODAsMHg5MywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGMyIH0sCi0gIDE2LCAweGIyNDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGNhLDB4MTQsMHgzMiwweDAwIH0sCi0gIDE2LCAweGIyNTAsIDAsIHsweDBjLDB4YjAsMHgwMywweDRjLDB4MDAsMHhjYSwweDAwLDB4MzIsMHgwMCwweDBlLDB4MDAsMHgxMiwweGEwLDB4MDAsMHhjMCwweDAwIH0sCi0gIDE2LCAweGIyNjAsIDAsIHsweDcwLDB4MDAsMHgyOCwweGYwLDB4MTMsMHhhYywweDAwLDB4ZmIsMHgwMCwweDMyLDB4NDAsMHgyYywweDEwLDB4NDMsMHhlYywweDAwIH0sCi0gIDE2LCAweGIyNzAsIDAsIHsweGNmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyODAsIDAsIHsweDIwLDB4MTUsMHhmMCwweDAyLDB4ZmMsMHgwMCwweDFmLDB4MDAsMHg2NywweDcwLDB4MDMsMHhiMCwweDAwLDB4ZmMsMHgwMCwweDNmIH0sCi0gIDE2LCAweGIyOTAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDAzLDB4MzAsMHgxMCwweGZjLDB4MDEsMHhiZiwweDAwLDB4MGYsMHg3MCwweDAzLDB4N2MsMHgwMCwweGY3IH0sCi0gIDE2LCAweGIyYTAsIDAsIHsweDA0LDB4M2IsMHgwMCwweDBmLDB4YzAsMHgxMywweGZkLDB4MTAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH0sCi0gIDE2LCAweGIyYjAsIDAsIHsweDEyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjQsMHhjMCwweGNmLDB4ODAsMHgzMywweDYwIH0sCi0gIDE2LCAweGIyYzAsIDAsIHsweDBlLDB4YzksMHgxMywweDM2LDB4NTAsMHhjZSwweDg2LDB4M2YsMHgwOCwweDBjLDB4YzAsMHgwMywweDNlLDB4MDIsMHhkNywweDgwIH0sCi0gIDE2LCAweGIyZDAsIDAsIHsweDM5LDB4ZTAsMHgwZiwweGY4LDB4MTMsMHgzZSwweDQwLDB4YzcsMHgzMCwweDNiLDB4Y2UsMHgwZCwweGY2LDB4MDMsMHgzZCwweDg4IH0sCi0gIDE2LCAweGIyZTAsIDAsIHsweGNmLDB4MzEsMHgzMywweGU0LDB4MGYsMHg3OCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIyZjAsIDAsIHsweDgwLDB4MTAsMHhlNSwweGQwLDB4ZGIsMHg4MCwweDcyLDB4NjAsMHg4OCwweDkyLDB4MDIsMHhlNCwweDEwLDB4OGEsMHg4MCwweDJlIH0sCi0gIDE2LCAweGIzMDAsIDAsIHsweDM0LDB4NGEsMHg4YywweDAzLDB4MmUsMHgwMCwweGFiLDB4ODAsMHgwMiwweGUwLDB4MGIsMHhiOCwweDAyLDB4MmMsMHg4MCwweDhmIH0sCi0gIDE2LCAweGIzMTAsIDAsIHsweDYwLDB4MTMsMHhkOCwweDRhLDB4NzYsMHgwMiwweDlkLDB4ODQsMHhhZiwweDMwLDB4MjIsMHg0OCwweDBiLDB4ODgsMHgxMiwweGEwIH0sCi0gIDE2LCAweGIzMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHgwMCwweDhiLDB4MDAsMHgyNCwweDAwIH0sCi0gIDE2LCAweGIzMzAsIDAsIHsweDRhLDB4MDAsMHgwMiwweGFjLDB4ODAsMHg4MywweDAwLDB4MmMsMHgwMSwweDI4LDB4MDQsMHgwMiwweGFjLDB4MDAsMHg4YiwweDAxIH0sCi0gIDE2LCAweGIzNDAsIDAsIHsweDIwLDB4YzAsMHgwMywweGIwLDB4MDIsMHgwYywweDgwLDB4ODMsMHg0MCwweDIwLDB4YzEsMHhhOCwweDM0LDB4MjIsMHg4ZCwweDEzIH0sCi0gIDE2LCAweGIzNTAsIDAsIHsweDgzLDB4MjAsMHhhYywweGM4LDB4MGIsMHhiMCwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzNjAsIDAsIHsweGMwLDB4MTUsMHg4NiwweDAwLDB4OWIsMHgwNCwweGFlLDB4MDAsMHgwYSwweDkwLDB4MDIsMHhlYywweDAwLDB4MGIsMHgxNCwweDJlIH0sCi0gIDE2LCAweGIzNzAsIDAsIHsweGM2LDB4MDIsMHhiMSwweDEyLDB4NmMsMHgwMCwweGFiLDB4MjAsMHgyYSwweGMxLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiIH0sCi0gIDE2LCAweGIzODAsIDAsIHsweDAyLDB4MjYsMHhjMSwweDBhLDB4YjAsMHgwMiwweGFjLDB4MDAsMHhhYiwweDA0LDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGYwIH0sCi0gIDE2LCAweGIzOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZTcsMHgwMCwweGMzLDB4MDEsMHgzNiwweDQwIH0sCi0gIDE2LCAweGIzYTAsIDAsIHsweDBlLDB4ODgsMHgxMywweDI0LDB4MDIsMHhjYSwweDAwLDB4MWUsMHgyMCwweDJjLDB4OGUsMHgwYiwweDJjLDB4MDAsMHhjYiwweDAwIH0sCi0gIDE2LCAweGIzYjAsIDAsIHsweDJhLDB4YzAsMHgwZiwweGI4LDB4MDMsMHgyZSwweDA2LDB4Y2IsMHgwMCwweDNhLDB4YzAsMHg0YywweGIwLDB4MTMsMHhhYywweDBjIH0sCi0gIDE2LCAweGIzYzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGM4LDB4MGYsMHhiMCwweDQzLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGIzZDAsIDAsIHsweGUwLDB4MDEsMHhiNCwweDA4LDB4ZmYsMHg5MSwweDMzLDB4NDAsMHgwOSwweGRjLDB4MDEsMHhmNCwweDIwLDB4N2UsMHgwMiwweDJlIH0sCi0gIDE2LCAweGIzZTAsIDAsIHsweDQwLDB4MGQsMHg5OCwweDAxLDB4YmMsMHg4MCwweGVmLDB4ODAsMHhiNywweGU0LDB4OGYsMHhmNCwweDBiLDB4ZmUsMHg0MCwweDdmIH0sCi0gIDE2LCAweGIzZjAsIDAsIHsweDAwLDB4YjksMHhjMCwweDRlLDB4ZjAsMHgwMywweGZjLDB4MDgsMHhmNywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZTAsMHgwMiwweGI4IH0sCi0gIDE2LCAweGI0MDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTEsMHg0NCwweGNiLDB4MDIsMHgzMiwweDAwIH0sCi0gIDE2LCAweGI0MTAsIDAsIHsweDBkLDB4ODAsMHgwYSwweDZkLDB4MDAsMHhlYiwweDA0LDB4MTAsMHg5MCwweDI4LDB4MjIsMHgwYiwweDJjLDB4YzIsMHhjYiwweDIwIH0sCi0gIDE2LCAweGI0MjAsIDAsIHsweDc2LDB4YzAsMHgwZSwweGIxLDB4MDMsMHhlYywweDAxLDB4Y2IsMHgwNiwweDMyLDB4YzEsMHgwYywweDMwLDB4MDMsMHgyYywweDAyIH0sCi0gIDE2LCAweGI0MzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0NDAsIDAsIHsweGM4LDB4MDUsMHgyMSwweDQ4LDB4YWIsMHgwMCwweDIwLDB4MDAsMHgwMCwweDk1LDB4MjMsMHg0YywweDA4LDB4YmIsMHgwMSwweDIyIH0sCi0gIDE2LCAweGI0NTAsIDAsIHsweGMwLDB4MDgsMHhiMiwweDAyLDB4MGMsMHgwOCwweDgzLDB4ODgsMHg5MiwweGQ1LDB4MjgsMHgzNCwweDAyLDB4ZWMsMHgwMiwweDhmIH0sCi0gIDE2LCAweGI0NjAsIDAsIHsweDIwLDB4MjMsMHhjMCwweDRkLDB4ZjAsMHgwMSwweDdjLDB4MDAsMHhkZiwweDAwLDB4MmUsMHhjMCwweDBkLDB4MzAsMHgwMywweDcyIH0sCi0gIDE2LCAweGI0NzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDQsMHgwMCwweDgzLDB4MTAsMHgyMCwweDYwIH0sCi0gIDE2LCAweGI0ODAsIDAsIHsweDA5LDB4MjUsMHgwMiwweDAwLDB4MDgsMHhhMCwweDAwLDB4NGMsMHgwMCwweDBiLDB4MGMsMHgyMiwweDRmLDB4MTIsMHg5MywweDQwIH0sCi0gIDE2LCAweGI0OTAsIDAsIHsweDAwLDB4YzAsMHgwOSwweDNlLDB4MDIsMHhlYywweDAwLDB4YWIsMHg4MCwweGE0LDB4YzAsMHgwOSwweDMwLDB4MjIsMHgyYywweDA4IH0sCi0gIDE2LCAweGI0YTAsIDAsIHsweGIzLDB4MDEsMHgwYywweDgxLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI0YjAsIDAsIHsweDYwLDB4MDEsMHgxNiwweDA5LDB4YjcsMHg4MCwweDIxLDB4NjQsMHgwOCwweDc4LDB4MDYsMHgxMiwweDAwLDB4YjQsMHg4MiwweDJkIH0sCi0gIDE2LCAweGI0YzAsIDAsIHsweGE0LDB4MWIsMHg2OSwweDA2LDB4N2UsMHgwNCwweDE3LDB4OTIsMHgyNSwweGU2LDB4MDksMHg3OCwweDA2LDB4ZGUsMHg4MCwweGE3IH0sCi0gIDE2LCAweGI0ZDAsIDAsIHsweDkwLDB4MjUsMHhlMCwweDA5LDB4NzksMHg1MCwweDVlLDB4MDQsMHhiNywweDkyLDB4MmYsMHg2MSwweDA5LDB4YzgsMHgwMiwweDQ4IH0sCi0gIDE2LCAweGI0ZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MjUsMHgwMCwweGMzLDB4MDAsMHhiMCwweDAzIH0sCi0gIDE2LCAweGI0ZjAsIDAsIHsweDBkLDB4YTMsMHg0MiwweDA5LDB4NDAsMHhlMSwweDAwLDB4YmMsMHg0MCwweDBmLDB4MTEsMHgwMywweDRjLDB4MDAsMHgxMywweDAwIH0sCi0gIDE2LCAweGI1MDAsIDAsIHsweDIwLDB4YzAsMHgwOSwweDMyLDB4MDMsMHhjYywweDEwLDB4YTMsMHgwMCwweDI2LDB4YzQsMHg4ZCwweDMwLDB4MmIsMHgwYywweDgwIH0sCi0gIDE2LCAweGI1MTAsIDAsIHsweGYzLDB4MDAsMHg3YywweDgwLDB4MGMsMHgzMCwweDAxLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1MjAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZTcsMHgxMCwweDNkLDB4MDEsMHgyZiwweGYxLDB4NDIsMHhlOCwweDAwLDB4ZjUsMHg5MCwweDAzIH0sCi0gIDE2LCAweGI1MzAsIDAsIHsweGMxLDB4MGMsMHhmMSwweDQzLDB4OWMsMHgwNCwweGVmLDB4MDgsMHgzYiwweGMyLDB4MGMsMHhmMCwweDgxLDB4ZGMsMHhhMCwweGRmIH0sCi0gIDE2LCAweGI1NDAsIDAsIHsweDAwLDB4M2IsMHhjMywweDNmLDB4ZjAsMHg4MywweGZjLDB4MDUsMHhkZiwweDBjLDB4M2QsMHg0MCwweDBmLDB4ZDEsMHgwMywweGQwIH0sCi0gIDE2LCAweGI1NTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZjQsMHgwMCwweGNiLDB4ODAsMHgzMCwweDQwIH0sCi0gIDE2LCAweGI1NjAsIDAsIHsweDJjLDB4YTAsMHgwMywweGUwLDB4MDAsMHhmOCwweDgwLDB4MzIsMHhjMCwweDJlLDB4YjgsMHgwYiwweDJjLDB4NDYsMHhkMywweDAwIH0sCi0gIDE2LCAweGI1NzAsIDAsIHsweDMwLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwYywweDAwLDB4ZGIsMHg0OCwweDMyLDB4YzAsMHgxZiwweGI0LDB4MDMsMHgyYywweDg4IH0sCi0gIDE2LCAweGI1ODAsIDAsIHsweGNiLDB4NDgsMHgzMiwweDgwLDB4MGMsMHgzMCwweDEzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI1OTAsIDAsIHsweDQ4LDB4MTEsMHhiNCwweDAwLDB4ODcsMHgwMSwweDIxLDB4NDAsMHgwOCwweDcwLDB4NDIsMHhkMCwweDA4LDB4YjQsMHgwMCwweDI5IH0sCi0gIDE2LCAweGI1YTAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGM4LDB4MGMsMHg3MiwweDBhLDB4MWMsMHg4NCwweDhmIH0sCi0gIDE2LCAweGI1YjAsIDAsIHsweDQwLDB4MDksMHhjNCwweDhmLDB4NzMsMHgxMiwweDljLDB4NDAsMHg4MywweDIwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDkyIH0sCi0gIDE2LCAweGI1YzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OTYsMHgwMSwweGFmLDB4ODAsMHgyMSwweDIwIH0sCi0gIDE2LCAweGI1ZDAsIDAsIHsweDA4LDB4NjgsMHgwMiwweGRhLDB4MDAsMHhiZCwweDgwLDB4MjEsMHhlMCwweDA5LDB4NzgsMHgwMiwweDFlLDB4MDAsMHg4ZiwweDg4IH0sCi0gIDE2LCAweGI1ZTAsIDAsIHsweDgzLDB4ZTIsMHgyOSwweGY4LDB4ODIsMHg1ZiwweDgwLDB4ODcsMHhhMCwweDI1LDB4ZTAsMHgwYiwweDNhLDB4MTIsMHgwZSwweDUwIH0sCi0gIDE2LCAweGI1ZjAsIDAsIHsweDk3LDB4YTQsMHgyMSwweGEwLDB4MjksMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2MDAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAyLDB4YTEsMHg4MSwweDAwLDB4MDAsMHg0OCwweDcwLDB4MDIsMHhjOCwweDAwLDB4YjEsMHgwMCwweDJjIH0sCi0gIDE2LCAweGI2MTAsIDAsIHsweGY4LDB4MDksMHgzMSwweDQyLDB4MGMsMHgxMCwweDgzLDB4MDAsMHgyMCwweGUwLDB4MDgsMHgzOCwweDEyLDB4NGUsMHgwMCwweDgzIH0sCi0gIDE2LCAweGI2MjAsIDAsIHsweDAwLDB4NmEsMHhjMCwweDBiLDB4MzAsMHgwMiwweDhjLDB4MDQsMHg5MywweDAwLDB4MjAsMHhlMCwweDA5LDB4MzgsMHgwMiwweDkyIH0sCi0gIDE2LCAweGI2MzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHg0MCwweGVlLDB4MjAsMHgzMCwweDgwIH0sCi0gIDE2LCAweGI2NDAsIDAsIHsweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4MzMsMHhiMCwweDBkLDB4ZTQsMHgwMywweDMyLDB4ODgsMHhjYywweDgwIH0sCi0gIDE2LCAweGI2NTAsIDAsIHsweDIzLDB4MDAsMHgwZCwweGMwLDB4MDMsMHg2MiwweDAyLDB4Y2EsMHgwMCwweDM2LDB4ODAsMHgwZiwweGEwLDB4NDMsMHgyOCwweDA2IH0sCi0gIDE2LCAweGI2NjAsIDAsIHsweGRhLDB4MDAsMHgzMywweGEwLDB4MGQsMHg2YSwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2NzAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4OTgsMHgwMSwweGJlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhmMCwweDAwLDB4YmMsMHgwMCwweDM4IH0sCi0gIDE2LCAweGI2ODAsIDAsIHsweDA0LDB4MDgsMHg4MCwweGEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDEzLDB4YTAsMHgwMCwweGUwIH0sCi0gIDE2LCAweGI2OTAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBlLDB4MDAsMHgwMywweGMwLDB4MDAsMHhlOCwweDAwLDB4YmUsMHgwNCwweDRlLDB4ODAsMHgwNywweGQyIH0sCi0gIDE2LCAweGI2YTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHg4MCwweGM5LDB4MDAsMHgzZSwweDY4IH0sCi0gIDE2LCAweGI2YjAsIDAsIHsweDBjLDB4OTAsMHgwMywweDY0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHg0MywweGUwLDB4MDAsMHhjOCwweDAwIH0sCi0gIDE2LCAweGI2YzAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MTMsMHgyMCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHg2NCwweDAwIH0sCi0gIDE2LCAweGI2ZDAsIDAsIHsweDgxLDB4MDAsMHgzMiwweDQwLDB4MDQsMHg5MCwweDEzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI2ZTAsIDAsIHsweDgwLDB4MDQsMHg2NSwweDA2LDB4ODksMHg0MCwweDJlLDB4NjAsMHgxYSwweDE0LDB4MmEsMHgwNSwweDIwLDB4ODksMHgwMCwweDJlIH0sCi0gIDE2LCAweGI2ZjAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4YzQsMHgwOCwweGMxLDB4MDIsMHgyMCwweDQwLDB4MDgsMHgxMCwweDFhLDB4MjQsMHgwMCwweDg5IH0sCi0gIDE2LCAweGI3MDAsIDAsIHsweDEwLDB4MzIsMHg0MSwweDA4LDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDA0LDB4MzYsMHg0MCwweDg4LDB4OTQsMHgwYSwweDIwIH0sCi0gIDE2LCAweGI3MTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgyMCwweDg5LDB4NTUsMHgyZSwweDQwIH0sCi0gIDE2LCAweGI3MjAsIDAsIHsweDA4LDB4ZDUsMHgwMiwweDM0LDB4MDAsMHg4ZCwweDAwLDB4MmUsMHg0MCwweDE4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg5OSwweDAwIH0sCi0gIDE2LCAweGI3MzAsIDAsIHsweDI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDBhLDB4ODksMHgwMCwweDI2LDB4NDAsMHgzOCwweDkwLDB4MGEsMHgyNCwweDAwIH0sCi0gIDE2LCAweGI3NDAsIDAsIHsweGE5LDB4MDAsMHgyMCwweDQwLDB4MGEsMHg5MCwweDgyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3NTAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHgwMCwweDJmLDB4NDAsMHgwYSwweGQ0LDB4MDIsMHgzNCwweDAwLDB4ODUsMHgwMSwweDJjIH0sCi0gIDE2LCAweGI3NjAsIDAsIHsweDQwLDB4MDgsMHgxMCwweDQyLDB4ZTQsMHgwNiwweDk5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDUsMHgwMCwweDgxIH0sCi0gIDE2LCAweGI3NzAsIDAsIHsweDQwLDB4MjgsMHg1MCwweDA4LDB4MTQsMHgxMiwweDA1LDB4MDAsMHhhMSwweDQwLDB4MjQsMHg1MCwweDVhLDB4MTAsMHgwMiwweDAyIH0sCi0gIDE2LCAweGI3ODAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDQsMHgzZSwweDAwIH0sCi0gIDE2LCAweGI3OTAsIDAsIHsweDA4LDB4ODAsMHgwMywweDIxLDB4NDIsMHhjYywweDAwLDB4M2UsMHgwMCwweDJjLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweGI3YTAsIDAsIHsweGI2LDB4MDAsMHgyYywweDgwLDB4MDIsMHgyMCwweDAyLDB4YzgsMHgwMCwweDM2LDB4MDAsMHgwYywweDgwLDB4MDMsMHg2MCwweDAyIH0sCi0gIDE2LCAweGI3YjAsIDAsIHsweGU4LDB4MDAsMHgzMiwweDAwLDB4OGUsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI3YzAsIDAsIHsweDk4LDB4MWQsMHhmNSwweDAwLDB4ZjUsMHgwMCwweDNlLDB4NDAsMHg4NywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNkIH0sCi0gIDE2LCAweGI3ZDAsIDAsIHsweDUwLDB4MGYsMHg1NCwweDAzLDB4ZDEsMHgwMCwweGVjLDB4NDAsMHgzZiwweDEwLDB4MGIsMHhjNCwweDQzLDB4ZjEsMHgwMCwweGY5IH0sCi0gIDE2LCAweGI3ZTAsIDAsIHsweDQwLDB4MzYsMHg1MCwweDBmLDB4OTQsMHgxMywweGU1LDB4MTAsMHhkOSwweDQ0LDB4M2QsMHg0MCwweDJkLDB4ZDAsMHgwMywweGU2IH0sCi0gIDE2LCAweGI3ZjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHg2MCwweGNkLDB4MDIsMHgzYiwweDQwIH0sCi0gIDE2LCAweGI4MDAsIDAsIHsweDBjLDB4ZDAsMHgwMywweGI0LDB4NDAsMHhmZCwweDA2LDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweDY2LDB4MDQsMHhjOSwweDgyIH0sCi0gIDE2LCAweGI4MTAsIDAsIHsweGI2LDB4NjIsMHgwZiwweDE4LDB4MGIsMHgzNiwweDAwLDB4Y2QsMHg0MCwweDMyLDB4NjEsMHgwYywweDkwLDB4MjMsMHgyNCwweDBhIH0sCi0gIDE2LCAweGI4MjAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4NGMsMHhkMCwweDQzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4MzAsIDAsIHsweDM5LDB4MTAsMHhlMywweDgwLDB4ZDgsMHgwMCwweDIyLDB4MDAsMHgwZCwweDgwLDB4MDIsMHgyMiwweDk0LDB4YjgsMHgwMCwweDJlIH0sCi0gIDE2LCAweGI4NDAsIDAsIHsweDAwLDB4MGQsMHg4MCwweDAzLDB4MjEsMHgwMCwweDg4LDB4NDAsMHgyMiwweDAwLDB4MGIsMHhjNCwweDIyLDB4MjEsMHg1MCwweDg4IH0sCi0gIDE2LCAweGI4NTAsIDAsIHsweDgwLDB4MjIsMHgyMiwweDA4LDB4ODAsMHgwMiwweDIwLDB4MTAsMHg4MCwweDAxLDB4MmEsMHgwMCwweDBhLDB4ODAsMHgwMywweDRlIH0sCi0gIDE2LCAweGI4NjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4YzYsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwIH0sCi0gIDE2LCAweGI4NzAsIDAsIHsweDg4LDB4MTAsMHgwYSwweDg0LDB4MDgsMHhiMSwweDAwLDB4MjksMHg0MCwweDBhLDB4NzAsMHgwYSwweGI1LDB4MDAsMHg4ZiwweDQwIH0sCi0gIDE2LCAweGI4ODAsIDAsIHsweDI5LDB4YzAsMHgwYiwweGY0LDB4MDIsMHgyNCwweDAwLDB4ODEsMHgyMCwweDI4LDB4NDQsMHg4OSwweDEwLDB4MDIsMHgwNCwweDA0IH0sCi0gIDE2LCAweGI4OTAsIDAsIHsweDgxLDB4MDIsMHgyYSwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI4YTAsIDAsIHsweDE4LDB4MTUsMHhhNiwweDAwLDB4OTksMHgyMCwweDIyLDB4NDAsMHgwOSwweDkwLDB4MTIsMHgyNCwweDgwLDB4YjksMHgwMCwweDJmIH0sCi0gIDE2LCAweGI4YjAsIDAsIHsweDQ0LDB4MDMsMHhkMCwweDAyLDB4ZjQsMHgwMCwweDhkLDB4MDAsMHgyYiwweDQxLDB4MGIsMHhkMCwweDAyLDB4MjYsMHgxMCwweDg5IH0sCi0gIDE2LCAweGI4YzAsIDAsIHsweDA0LDB4MmEsMHg0MCwweDA5LDB4OTAsMHg2ZSwweDI0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTQsMHgwMiwweDQ2IH0sCi0gIDE2LCAweGI4ZDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMiwweDE1LDB4ZTYsMHgwMCwweGM5LDB4MDAsMHgzOCwweDQyIH0sCi0gIDE2LCAweGI4ZTAsIDAsIHsweDBjLDB4MTAsMHgxMywweGE2LDB4MDQsMHg3OSwweDA4LDB4M2EsMHg3OCwweDA2LDB4OTIsMHgwMywweGE0LDB4MDgsMHhjOSwweDAwIH0sCi0gIDE2LCAweGI4ZjAsIDAsIHsweDNhLDB4NjAsMHg4ZiwweDk4LDB4MjMsMHgwNiwweDAyLDB4YzksMHgwMiwweDNhLDB4NDAsMHgwZCwweDkwLDB4MDMsMHgwNCwweDAwIH0sCi0gIDE2LCAweGI5MDAsIDAsIHsweGM5LDB4MDAsMHgzOCwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5MTAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDEwLDB4ZjksMHg4MCwweGJlLDB4NDAsMHg0ZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNjIH0sCi0gIDE2LCAweGI5MjAsIDAsIHsweDYwLDB4OGQsMHg5MiwweDAzLDB4MjQsMHg0MiwweGU5LDB4MTAsMHgzMiwweDUwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGY5IH0sCi0gIDE2LCAweGI5MzAsIDAsIHsweDAwLDB4YjYsMHg0MSwweDJlLDB4MTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MmUsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH0sCi0gIDE2LCAweGI5NDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDEwIH0sCi0gIDE2LCAweGI5NTAsIDAsIHsweDBmLDB4ODgsMHgwMywweDIwLDB4MDgsMHhmOCwweGMwLDB4MWUsMHgxMCwweDJjLDB4NDAsMHgwMywweGYyLDB4MDAsMHhjYywweDAwIH0sCi0gIDE2LCAweGI5NjAsIDAsIHsweDNmLDB4MDAsMHgwYywweGMwLDB4MTMsMHgyMCwweDAyLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDgwLDB4MmIsMHgyMCwweDEwIH0sCi0gIDE2LCAweGI5NzAsIDAsIHsweGMwLDB4MDQsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5ODAsIDAsIHsweGE4LDB4MDUsMHgzYSwweDgwLDB4ODYsMHhlMCwweDJmLDB4YTAsMHgxYiwweGUwLDB4MDIsMHgzYSwweDgwLDB4YmEsMHgwNCwweDJlIH0sCi0gIDE2LCAweGI5OTAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAzLDB4ODgsMHgwOCwweGMyLDB4MDAsMHgyZSwweDgxLDB4MDgsMHg2MCwweDAyLDB4MjgsMHgxMCwweDhlIH0sCi0gIDE2LCAweGI5YTAsIDAsIHsweDgxLDB4MDMsMHg4MCwweDA4LDB4ZTAsMHgwMSwweDc4LDB4MDAsMHg4ZSwweDA0LDB4MDMsMHg4MCwweDA5LDB4NjgsMHgwMywweGNhIH0sCi0gIDE2LCAweGI5YjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4NjAsMHgyYywweDQ0IH0sCi0gIDE2LCAweGI5YzAsIDAsIHsweDBiLDB4MzgsMHgwMiwweDBmLDB4ODAsMHhiMSwweDAwLDB4MmMsMHhlNSwweDAzLDB4MzAsMHgxMCwweGNjLDB4MTAsMHg4MywweDAwIH0sCi0gIDE2LCAweGI5ZDAsIDAsIHsweDBjLDB4YzAsMHgyOSwweDMwLDB4MjIsMHgwNCwweDA5LDB4OTEsMHgxMCwweDI0LDB4YzAsMHhjOCwweDMwLDB4MDAsMHg0YywweDA0IH0sCi0gIDE2LCAweGI5ZTAsIDAsIHsweDkzLDB4MDIsMHgyNCwweGMwLDB4MGIsMHgzMSwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGI5ZjAsIDAsIHsweGUwLDB4MDEsMHgxOCwweDgwLDB4ODcsMHgwMCwweDJkLDB4NDAsMHgwYiwweDc0LDB4NDIsMHgxYywweDAxLDB4YjUsMHgwMSwweDJjIH0sCi0gIDE2LCAweGJhMDAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4YjAsMHgwMCwweDk0LDB4MDQsMHgyZiwweDIwLDB4MDksMHhjMCwweDAyLDB4MTQsMHg5MCwweDk3IH0sCi0gIDE2LCAweGJhMTAsIDAsIHsweDAwLDB4MjUsMHhjOCwweDA4LDB4NzAsMHgwMiwweDRjLDB4ODAsMHg5NywweDIwLDB4MjUsMHhjMCwweDA5LDB4NzAsMHgwMiwweGU4IH0sCi0gIDE2LCAweGJhMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2EsMHg4MiwweGM2LDB4ODAsMHgyZCwweDYwIH0sCi0gIDE2LCAweGJhMzAsIDAsIHsweDBiLDB4ZjgsMHgwYiwweDFhLDB4MDAsMHhmNSwweDgwLDB4M2QsMHhlMCwweDhmLDB4NzgsMHgwMywweGRlLDB4MDIsMHhjNywweDgwIH0sCi0gIDE2LCAweGJhNDAsIDAsIHsweDJkLDB4ZTAsMHgwZCwweDc4LDB4MGIsMHgxNywweDAyLDB4ZGYsMHg4MCwweDI0LDB4ZjgsMHgyYywweGZkLDB4MDMsMHg1ZSwweDBjIH0sCi0gIDE2LCAweGJhNTAsIDAsIHsweGQ3LDB4ZTAsMHgzNSwweGUwLDB4MGYsMHg2OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhNjAsIDAsIHsweDQ4LDB4MWQsMHhhZSwweDQwLDB4ZmEsMHgwNCwweDNlLDB4NDAsMHgwZiwweDgwLDB4MTMsMHhlYywweDA0LDB4ZjksMHgwMCwweDNlIH0sCi0gIDE2LCAweGJhNzAsIDAsIHsweGMxLDB4MGMsMHhhMCwweDEzLDB4YzAsMHgxMCwweGU4LDB4MDAsMHgzYywweDAwLDB4NGUsMHg4MCwweDQzLDB4YzQsMHgyMCwweDg5IH0sCi0gIDE2LCAweGJhODAsIDAsIHsweDAwLDB4YmEsMHhjMCwweDA3LDB4YjYsMHgyMSwweGVkLDB4MDYsMHhlYiwweDY4LDB4YmEsMHhjYywweDBmLDB4MjAsMHgxMywweGMyIH0sCi0gIDE2LCAweGJhOTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4YmUsMHgwMCwweGM2LDB4ODAsMHgzMSwweDYwIH0sCi0gIDE2LCAweGJhYTAsIDAsIHsweDJkLDB4NzgsMHgwYiwweDNlLDB4NDgsMHhlYywweDkyLDB4M2QsMHg2MCwweDBjLDB4NTgsMHgwMywweDVhLDB4NDAsMHhkNSwweDgwIH0sCi0gIDE2LCAweGJhYjAsIDAsIHsweDMxLDB4NjEsMHgwYywweDU4LDB4MjMsMHgzNiwweDAwLDB4Y2YsMHg4MiwweDNmLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmZiwweDYwIH0sCi0gIDE2LCAweGJhYzAsIDAsIHsweGNmLDB4OTAsMHgzMywweGYwLDB4MGMsMHg1MiwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJhZDAsIDAsIHsweGE4LDB4MTEsMHhiOCwweDg0LDB4ODYsMHgxNCwweGI1LDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxZSwweGMwLDB4YzQsMHgwMCwweDJkIH0sCi0gIDE2LCAweGJhZTAsIDAsIHsweDQwLDB4MDgsMHg0MCwweDAyLDB4MTQsMHhkMCwweDg2LDB4MTAsMHgyMSwweDgwLDB4NGMsMHg2MiwweDQyLDB4MzQsMHg0MCwweGE1IH0sCi0gIDE2LCAweGJhZjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDI4LDB4NzAsMHg0MiwweGRjLDB4YzIsMHg4ZiwweDMwLDB4MjMsMHhjMCwweDA4LDB4NTAsMHgwMiwweDJhIH0sCi0gIDE2LCAweGJiMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4OTgsMHgyOCwweDhlLDB4MDAsMHhhNSwweDQwIH0sCi0gIDE2LCAweGJiMTAsIDAsIHsweDA4LDB4ZjEsMHgwMiwweDE4LDB4NjQsMHhiNCwweDAwLDB4NmQsMHg0MiwweDA4LDB4NTAsMHgwMiwweDE4LDB4MDEsMHg4NSwweDA4IH0sCi0gIDE2LCAweGJiMjAsIDAsIHsweDIxLDB4NDAsMHgwOSwweDU4LDB4MjIsMHg1NCwweDAwLDB4ODUsMHgxMCwweDJkLDB4YzQsMHgwOSwweDcwLDB4MDIsMHhkYywweDA0IH0sCi0gIDE2LCAweGJiMzAsIDAsIHsweDk3LDB4MDAsMHgyNSwweGMwLDB4MDgsMHg0NCwweDAyLDB4MDAsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiNDAsIDAsIHsweDYwLDB4MTQsMHg4YywweDAwLDB4ODIsMHg4MCwweDI0LDB4YzAsMHgwOCwweDgwLDB4MDIsMHgyZCwweDAwLDB4ODAsMHg0YSwweDJjIH0sCi0gIDE2LCAweGJiNTAsIDAsIHsweDQyLDB4MDgsMHgwYSwweDQyLDB4MDYsMHgwMCwweDkyLDB4ODQsMHgyMCwweGEwLDB4ODgsMHgyOCwweDQyLDB4NDQsMHgwMCwweGEzIH0sCi0gIDE2LCAweGJiNjAsIDAsIHsweDA2LDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MTAsMHg5MywweDA0LDB4MjQsMHhjMSwweDA5LDB4MDAsMHgwMiwweDA4IH0sCi0gIDE2LCAweGJiNzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGNiLDB4MDAsMHgzNiwweDQwIH0sCi0gIDE2LCAweGJiODAsIDAsIHsweDBjLDB4YjQsMHgxMywweDJjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHhhMCwweDBjLDB4YTIsMHgwMywweDA0LDB4MDgsMHhjMiwweDgwIH0sCi0gIDE2LCAweGJiOTAsIDAsIHsweDMwLDB4YTgsMHgwZCwweDJhLDB4MDMsMHg1NCwweDAwLDB4Y2IsMHgwMCwweDNmLDB4YzAsMHgwZCwweGYwLDB4MDMsMHhmYywweDA4IH0sCi0gIDE2LCAweGJiYTAsIDAsIHsweGRmLDB4MDAsMHgzNywweGQwLDB4MGMsMHhiMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJiYjAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDAwLDB4ZmIsMHgxMCwweDNhLDB4NDAsMHgwZSwweGIwLDB4MDMsMHhlZCwweDkwLDB4ZjksMHgxMSwweDdlIH0sCi0gIDE2LCAweGJiYzAsIDAsIHsweDgwLDB4NGYsMHhiMCwweDUzLDB4ZTgsMHg0MCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YTYsMHgwOCwweGY5IH0sCi0gIDE2LCAweGJiZDAsIDAsIHsweDAxLDB4M2EsMHhjMCwweDBjLDB4YjAsMHgxMywweGNjLDB4MDAsMHhlYiwweDAyLDB4M2EsMHhjNiwweDhlLDB4YjgsMHgwMywweGUwIH0sCi0gIDE2LCAweGJiZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwYywweGNlLDB4MDAsMHgzZiwweGUwIH0sCi0gIDE2LCAweGJiZjAsIDAsIHsweDJjLDB4ZjAsMHg4MywweDNhLDB4NDgsMHhjZCwweDAxLDB4MzUsMHg4MCwweDBjLDB4NjAsMHgxMiwweDM0LDB4MGEsMHhjZSwweDAwIH0sCi0gIDE2LCAweGJjMDAsIDAsIHsweGIzLDB4ODAsMHgyYywweGUwLDB4MGIsMHg3NCwweDAwLDB4YzksMHgxMCwweGIzLDB4YzEsMHgwZiwweGYwLDB4MWIsMHgzYywweDAwIH0sCi0gIDE2LCAweGJjMTAsIDAsIHsweGNmLDB4MDAsMHhiNywweGMwLDB4MmMsMHhlMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjMjAsIDAsIHsweDgxLDB4MDQsMHg2ZSwweDEwLDB4ODgsMHg4MCwweDJjLDB4YzAsMHgxOCwweDk4LDB4MDIsMHgyZCwweDgwLDB4ODEsMHgwMCwweDM2IH0sCi0gIDE2LCAweGJjMzAsIDAsIHsweDkxLDB4MDgsMHhiMCwweDAzLDB4NjgsMHgwMCwweGM5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDgzIH0sCi0gIDE2LCAweGJjNDAsIDAsIHsweDgwLDB4MzYsMHhjMCwweDBiLDB4MzAsMHgwMiwweDJjLDB4MDIsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MjAsMHgwMywweDYwIH0sCi0gIDE2LCAweGJjNTAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MDYsMHgwMCwweDhhLDB4ODAsMHgyZSwweDQ1IH0sCi0gIDE2LCAweGJjNjAsIDAsIHsweDI4LDB4ODgsMHgwMiwweDI0LDB4MDIsMHg4OCwweDAyLDB4MDIsMHgwMiwweDA4LDB4ODAsMHgwMiwweGEyLDB4MDAsMHg5OCwweDAwIH0sCi0gIDE2LCAweGJjNzAsIDAsIHsweDIyLDB4MDAsMHgwOCwweDgwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwMSwweDIyLDB4YzEsMHgwYSwweGIwLDB4MDIsMHg2YywweDAwIH0sCi0gIDE2LCAweGJjODAsIDAsIHsweGFiLDB4MDAsMHgyMiwweGMxLDB4MDgsMHg5MCwweDEyLDB4NjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJjOTAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4ODAsMHgwMCwweDJjLDB4YzAsMHg0OCwweDA4LDB4MTIsMHgwMCwweDgwLDB4ODAsMHgwMiwweDI0IH0sCi0gIDE2LCAweGJjYTAsIDAsIHsweDAwLDB4MDgsMHgxOCwweDQyLDB4YWMsMHgwMiwweDhiLDB4ODAsMHgyMiwweGUwLDB4MDgsMHhiOCwweDEyLDB4MDQsMHgwMiwweDgzIH0sCi0gIDE2LCAweGJjYjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHg0MiwweDBjLDB4MDAsMHhhMywweDAxLDB4NjAsMHhjMCwweDQ4LDB4MTAsMHgwMiwweDQyIH0sCi0gIDE2LCAweGJjYzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjgsMHgwOCwweGNhLDB4MDAsMHgyZSwweDQwIH0sCi0gIDE2LCAweGJjZDAsIDAsIHsweDA4LDB4ODAsMHgwMywweDAwLDB4MDAsMHhjOCwweDA2LDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMiwweGEwLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweGJjZTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHg3NCwweDAwLDB4Y2IsMHgwMCwweDIyLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDAwIH0sCi0gIDE2LCAweGJjZjAsIDAsIHsweGVmLDB4MDAsMHgzNywweGMwLDB4MGMsMHg4MCwweDAxLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkMDAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmMsMHgwNCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlMSwweDAwLDB4ZmMsMHgwMCwweDNiIH0sCi0gIDE2LCAweGJkMTAsIDAsIHsweDAwLDB4MGYsMHhkMCwweDAzLDB4N2MsMHgwMCwweGVmLDB4MDAsMHgyZiwweGMwLDB4MGYsMHhmMCwweDExLDB4ZjQsMHgxMCwweGZkIH0sCi0gIDE2LCAweGJkMjAsIDAsIHsweDAyLDB4M2QsMHhjMCwweDRmLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhkZiwweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHg0MywweGU5IH0sCi0gIDE2LCAweGJkMzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDEsMHgwMiwweDcwLDB4MjAsMHhkYywweDEwIH0sCi0gIDE2LCAweGJkNDAsIDAsIHsweDY3LDB4MDQsMHgwZCwweGMxLDB4MDIsMHg3MCwweDIwLDB4OWMsMHgxMCwweDM3LDB4MDQsMHgwZCwweGMxLDB4MDYsMHg3MCwweDQwIH0sCi0gIDE2LCAweGJkNTAsIDAsIHsweDRjLDB4MTAsMHgzNywweDE0LDB4MTUsMHhjMSwweDAzLDB4NzAsMHg0MCwweGRjLDB4MTAsMHgxMywweDA0LDB4MGQsMHhjMSwweDA3IH0sCi0gIDE2LCAweGJkNjAsIDAsIHsweDcwLDB4NDAsMHhkYywweDEwLDB4MzcsMHgwNCwweDBkLDB4YzAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkNzAsIDAsIHsweDAwLDB4YzUsMHg0NCwweDA1LDB4NzEsMHgyMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA1LDB4NzEsMHgwNSwweDVjIH0sCi0gIDE2LCAweGJkODAsIDAsIHsweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNiwweDcxLDB4MDEsMHg0YywweDQwLDB4NTcsMHgxMCwweDBkLDB4YzQsMHgwNSwweDcxIH0sCi0gIDE2LCAweGJkOTAsIDAsIHsweDA1LDB4NWMsMHg0MCwweDUzLDB4MTAsMHgxNSwweGM0LDB4MDcsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGMwIH0sCi0gIDE2LCAweGJkYTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0sCi0gIDE2LCAweGJkYjAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH0sCi0gIDE2LCAweGJkYzAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxIH0sCi0gIDE2LCAweGJkZDAsIDAsIHsweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJkZTAsIDAsIHsweDAwLDB4ODQsMHgwMCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHg1NiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAsMHgwNCwweDU4IH0sCi0gIDE2LCAweGJkZjAsIDAsIHsweDAwLDB4MTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDIwLDB4MDEsMHg1OCwweDAwLDB4MTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwIH0sCi0gIDE2LCAweGJlMDAsIDAsIHsweDAwLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDE2LDB4MDAsMHgwMSwweDgwIH0sCi0gIDE2LCAweGJlMTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNSwweDcyLDB4MTEsMHg1YywweDgwIH0sCi0gIDE2LCAweGJlMjAsIDAsIHsweDE3LDB4MjAsMHgxNSwweGQ4LDB4MDUsMHgzMiwweDExLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxNCwweDg4LDB4MDAsMHg3MiwweDAxIH0sCi0gIDE2LCAweGJlMzAsIDAsIHsweDFjLDB4ODAsMHg1NywweDIwLDB4MDUsMHhjOCwweDA0LDB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDAxIH0sCi0gIDE2LCAweGJlNDAsIDAsIHsweDcyLDB4MDEsMHg1YywweDgwLDB4NTcsMHgyNCwweDE1LDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlNTAsIDAsIHsweDAwLDB4YzEsMHg0MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDQwLDB4MjAsMHgwMCwweDE4IH0sCi0gIDE2LCAweGJlNjAsIDAsIHsweDAwLDB4MDYsMHgwMCwweDAxLDB4OTAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgwMCwweDYwIH0sCi0gIDE2LCAweGJlNzAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgxMCwweDA2LDB4MDAsMHgwMSwweDgwIH0sCi0gIDE2LCAweGJlODAsIDAsIHsweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH0sCi0gIDE2LCAweGJlOTAsIDAsIHsweDAyLDB4MjAsMHgxMCwweDg4LDB4MDQsMHg2MiwweDAxLDB4MDgsMHg4MCwweDQyLDB4MjAsMHgxMCwweDg4LDB4MDAsMHgyMCwweDAxIH0sCi0gIDE2LCAweGJlYTAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDIwLDB4MDAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4MDAsMHg0MiwweDIwLDB4MTAsMHg4OCwweDAwIH0sCi0gIDE2LCAweGJlYjAsIDAsIHsweDIyLDB4MDEsMHgwOCwweDgwLDB4NDIsMHgzMCwweDEwLDB4ODAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJlYzAsIDAsIHsweDAwLDB4YzUsMHg0YSwweDA1LDB4NDIsMHg4MSwweDUwLDB4YTAsMHgwNCwweDI4LDB4MTUsMHgwYSwweDA1LDB4NTIsMHg4MSwweDEwIH0sCi0gIDE2LCAweGJlZDAsIDAsIHsweGEwLDB4NDQsMHgyOCwweDExLDB4MWEsMHgwMCwweDQwLDB4ODAsMHgxMCwweGEwLDB4NTQsMHgyOCwweDA1LDB4MGEsMHgwNSwweDQyIH0sCi0gIDE2LCAweGJlZTAsIDAsIHsweDgxLDB4NTEsMHgyMCwweDE0LDB4MjgsMHgxNSwweDBhLDB4MDEsMHg0MiwweDgxLDB4NTAsMHhhMCwweDU0LDB4MjgsMHgxNSwweDAwIH0sCi0gIDE2LCAweGJlZjAsIDAsIHsweDMxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MGMsMHgwMSwweDUzLDB4NDAsMHg1NCwweGMwIH0sCi0gIDE2LCAweGJmMDAsIDAsIHsweDE1LDB4MzAsMHgwNSwweDVjLDB4MDEsMHg1NywweDQwLDB4NTQsMHhjMCwweDE1LDB4MzAsMHgwNSwweDVjLDB4MDEsMHg1MywweDAwIH0sCi0gIDE2LCAweGJmMTAsIDAsIHsweDU1LDB4YzAsMHgxNSwweDc0LDB4MDUsMHg0YywweDAxLDB4NTMsMHgwMCwweDU1LDB4YzAsMHgxNSwweDc0LDB4MDUsMHg0YywweDAxIH0sCi0gIDE2LCAweGJmMjAsIDAsIHsweDUzLDB4MDAsMHg1NCwweGMwLDB4MTEsMHgzMCwweDAxLDB4NDAsMHgyMSwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmMzAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwIH0sCi0gIDE2LCAweGJmNDAsIDAsIHsweDAwLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDExLDB4MDAsMHgwMCwweDQwIH0sCi0gIDE2LCAweGJmNTAsIDAsIHsweDAwLDB4MTAsMHhjMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDAxLDB4MTAsMHgwMSwweDAxIH0sCi0gIDE2LCAweGJmNjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwIH0sCi0gIDE2LCAweGJmNzAsIDAsIHsweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwIH0sCi0gIDE2LCAweGJmODAsIDAsIHsweDgyLDB4MDAsMHgyMCwweDg0LDB4MDAsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDg0LDB4MDgsMHgyMCwweDAyIH0sCi0gIDE2LCAweGJmOTAsIDAsIHsweDA4LDB4MDAsMHg4MiwweDAwLDB4MjEsMHg4MCwweDA4LDB4MDEsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGJmYTAsIDAsIHsweDAwLDB4YzUsMHg0MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg5NiwweDAwLDB4MTUsMHg5MCwweDA1LDB4NjQsMHgwMiwweDU4IH0sCi0gIDE2LCAweGJmYjAsIDAsIHsweDAwLDB4NTYsMHgwMCwweDU1LDB4OTAsMHgwNSwweDYwLDB4MDEsMHhkOSwweDAwLDB4MTYsMHg0MCwweDE1LDB4ODAsMHgwNSwweDYwIH0sCi0gIDE2LCAweGJmYzAsIDAsIHsweDAxLDB4NTksMHgwMCwweDc2LDB4NDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwIH0sCi0gIDE2LCAweGJmZDAsIDAsIHsweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM0LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweGJmZTAsIDAsIHsweDM2LDB4MDAsMHg0ZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDcsMHg2MiwweDAwIH0sCi0gIDE2LCAweGJmZjAsIDAsIHsweDU4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA3LDB4NjAsMHgwMCwweGQ4LDB4ODAsMHgxNiwweDAwLDB4MGQsMHg4MCwweDAzIH0sCi0gIDE2LCAweGMwMDAsIDAsIHsweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDFkLDB4ODAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwMTAsIDAsIHsweDAwLDB4YzUsMHg0MiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjIH0sCi0gIDE2LCAweGMwMjAsIDAsIHsweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4YzEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNiwweDMwIH0sCi0gIDE2LCAweGMwMzAsIDAsIHsweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxOCwweGMwIH0sCi0gIDE2LCAweGMwNDAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0sCi0gIDE2LCAweGMwNTAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4NDAsMHgzMCwweDAwIH0sCi0gIDE2LCAweGMwNjAsIDAsIHsweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwIH0sCi0gIDE2LCAweGMwNzAsIDAsIHsweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwODAsIDAsIHsweDAwLDB4ODAsMHgwMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjIH0sCi0gIDE2LCAweGMwOTAsIDAsIHsweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgyNSwweDMwLDB4ODEsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwIH0sCi0gIDE2LCAweGMwYTAsIDAsIHsweDgwLDB4NGMsMHgzMiwweDUzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMwIH0sCi0gIDE2LCAweGMwYjAsIDAsIHsweDIwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNSwweDYyLDB4ODEsMHg1OCwweDIwIH0sCi0gIDE2LCAweGMwYzAsIDAsIHsweDU2LDB4MDgsMHgxNSwweDgyLDB4MDQsMHg2MCwweDgxLDB4NTgsMHgyMCwweDQ2LDB4MDgsMHgxNSwweDgyLDB4MDEsMHg2MCwweGMxIH0sCi0gIDE2LCAweGMwZDAsIDAsIHsweDU4LDB4MjAsMHg0NiwweDA4LDB4MTUsMHg4MiwweDAxLDB4NjAsMHg4MSwweDU4LDB4MzAsMHg1NiwweDA4LDB4MTUsMHg4MiwweDA1IH0sCi0gIDE2LCAweGMwZTAsIDAsIHsweDYwLDB4ODEsMHg1OCwweDIwLDB4NTYsMHgwOCwweDA1LDB4ODAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMwZjAsIDAsIHsweDAwLDB4YzUsMHg0MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4IH0sCi0gIDE2LCAweGMxMDAsIDAsIHsweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwYywweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwIH0sCi0gIDE2LCAweGMxMTAsIDAsIHsweDgwLDB4MDgsMHgyMCwweDAzLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgwIH0sCi0gIDE2LCAweGMxMjAsIDAsIHsweDIxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNCwweDY2LDB4ODEsMHgxOCwweDIwIH0sCi0gIDE2LCAweGMxMzAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2NCwweDgxLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxIH0sCi0gIDE2LCAweGMxNDAsIDAsIHsweDBjLDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHg4MSwweDE5LDB4MjAsMHg0MywweDA4LDB4MTEsMHg4MiwweDA0IH0sCi0gIDE2LCAweGMxNTAsIDAsIHsweDYwLDB4ODEsMHgxOSwweDIwLDB4NDYsMHg0OCwweDAxLDB4ODAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxNjAsIDAsIHsweDAwLDB4YzUsMHg2MCwweDA1LDB4NTgsMHgwMSwweDU2LDB4MDAsMHg1NSwweDgwLDB4MTUsMHg2MCwweDA0LDB4NTgsMHgwMSwweDU2IH0sCi0gIDE2LCAweGMxNzAsIDAsIHsweDAwLDB4NDUsMHg4MCwweDExLDB4NjAsMHgwMCwweDU4LDB4MDAsMHgwNiwweDAwLDB4NDUsMHg4MCwweDE1LDB4NjAsMHgwMSwweDU4IH0sCi0gIDE2LCAweGMxODAsIDAsIHsweDAxLDB4MTYsMHgwMCwweDAxLDB4ODAsMHgxNSwweDYwLDB4MDUsMHg1OCwweDAxLDB4NTYsMHgwMCwweDU1LDB4ODAsMHgwNSwweDQwIH0sCi0gIDE2LCAweGMxOTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDYsMHgwMSwweDQ5LDB4ODAsMHgxMCwweDYwIH0sCi0gIDE2LCAweGMxYTAsIDAsIHsweDE0LDB4MTgsMHgwNSwweDA2LDB4MDEsMHg3OSwweDgwLDB4NTAsMHg2MCwweDE0LDB4MTgsMHgwMSwweDA2LDB4MDEsMHg0MSwweDgwIH0sCi0gIDE2LCAweGMxYjAsIDAsIHsweDUwLDB4NjAsMHgwNCwweDE4LDB4MDUsMHgwNiwweDAxLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwNiwweDAxIH0sCi0gIDE2LCAweGMxYzAsIDAsIHsweDQxLDB4ODAsMHg1MCwweDYwLDB4MTQsMHgxOCwweDA1LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMxZDAsIDAsIHsweDAwLDB4ODAsMHgwMiwweDAxLDB4MDQsMHg4MCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAwLDB4MDQsMHgwNCwweDQwIH0sCi0gIDE2LCAweGMxZTAsIDAsIHsweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwIH0sCi0gIDE2LCAweGMxZjAsIDAsIHsweDgwLDB4NDEsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MTEsMHgwMCwweDgwLDB4NDEsMHgyMCwweDEwLDB4NDgsMHgwNCwweDAwIH0sCi0gIDE2LCAweGMyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwIH0sCi0gIDE2LCAweGMyMTAsIDAsIHsweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDIsMHgxMSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHgxMSwweDgwIH0sCi0gIDE2LCAweGMyMjAsIDAsIHsweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzIH0sCi0gIDE2LCAweGMyMzAsIDAsIHsweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgzMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyNDAsIDAsIHsweDAwLDB4YzUsMHg0NiwweDA1LDB4NzAsMHg4MSwweDVjLDB4NjAsMHgwNywweDE4LDB4MTUsMHhjNiwweDA0LDB4NzEsMHg4MSwweDFjIH0sCi0gIDE2LCAweGMyNTAsIDAsIHsweDYwLDB4MTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDMxLDB4ODEsMHhkYywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxIH0sCi0gIDE2LCAweGMyNjAsIDAsIHsweDgwLDB4MWMsMHg2MCwweDc3LDB4MTgsMHgxNSwweGNlLDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGMwIH0sCi0gIDE2LCAweGMyNzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NDYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYxIH0sCi0gIDE2LCAweGMyODAsIDAsIHsweDc3LDB4MTgsMHgwZCwweGM2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCwweDM3LDB4MTgsMHgwZCwweGMyLDB4MDMsMHgzMSwweDgwIH0sCi0gIDE2LCAweGMyOTAsIDAsIHsweDVjLDB4NjAsMHgyNywweDE4LDB4MGQsMHhjNiwweDAzLDB4NzEsMHg4MCwweDljLDB4NjAsMHgxNywweDE4LDB4MGQsMHhjZSwweDAzIH0sCi0gIDE2LCAweGMyYTAsIDAsIHsweDcxLDB4ODAsMHhkYywweDYwLDB4MzcsMHgxOCwweDBkLDB4YzAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMyYjAsIDAsIHsweDAwLDB4NDUsMHg0NiwweDA1LDB4NzUsMHg4MSwweDVjLDB4NjAsMHg3NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzUsMHg4MSwweDVjIH0sCi0gIDE2LCAweGMyYzAsIDAsIHsweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDMxLDB4ODEsMHgwYywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxIH0sCi0gIDE2LCAweGMyZDAsIDAsIHsweDgxLDB4NWMsMHg2MCwweDQzLDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGMwIH0sCi0gIDE2LCAweGMyZTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0sCi0gIDE2LCAweGMyZjAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH0sCi0gIDE2LCAweGMzMDAsIDAsIHsweDVjLDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MDAsMHgxNywweDA4LDB4MDQsMHg4MiwweDAxIH0sCi0gIDE2LCAweGMzMTAsIDAsIHsweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzMjAsIDAsIHsweDAwLDB4MDAsMHgwNiwweDAxLDB4NjMsMHg4MCwweDU4LDB4NjAsMHgxNiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEsMHg4MCwweDU4IH0sCi0gIDE2LCAweGMzMzAsIDAsIHsweDYwLDB4MTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxLDB4ODEsMHg1OCwweDYwLDB4MTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxIH0sCi0gIDE2LCAweGMzNDAsIDAsIHsweDgwLDB4NTgsMHg2MCwweDU2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSwweDgwLDB4NTgsMHg2MCwweDE2LDB4MTgsMHgwNSwweDgwIH0sCi0gIDE2LCAweGMzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDAsMHgwNSwweDcwLDB4MDEsMHg1YywweDAwIH0sCi0gIDE2LCAweGMzNjAsIDAsIHsweDE3LDB4MDAsMHgxNSwweGMwLDB4ODUsMHg3NCwweDAxLDB4MWMsMHgwMCwweDQ3LDB4MDAsMHgxMSwweGMwLDB4MDUsMHg3MCwweDAxIH0sCi0gIDE2LCAweGMzNzAsIDAsIHsweDVjLDB4MDAsMHg1MywweDAwLDB4MTAsMHhjMCwweDA1LDB4NzAsMHgwMSwweDVjLDB4MDAsMHg1NywweDAwLDB4MTQsMHhjOSwweDA0IH0sCi0gIDE2LCAweGMzODAsIDAsIHsweDcwLDB4MDEsMHgxYywweDAwLDB4NTcsMHgwMCwweDE1LDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGMzOTAsIDAsIHsweDAwLDB4NDUsMHg0MiwweDAwLDB4NjAsMHhjMCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4IH0sCi0gIDE2LCAweGMzYTAsIDAsIHsweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgxOCwweDMwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgxMCwweDYwIH0sCi0gIDE2LCAweGMzYjAsIDAsIHsweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMCwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgwIH0sCi0gIDE2LCAweGMzYzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ0LDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH0sCi0gIDE2LCAweGMzZDAsIDAsIHsweDAyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxIH0sCi0gIDE2LCAweGMzZTAsIDAsIHsweDA4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH0sCi0gIDE2LCAweGMzZjAsIDAsIHsweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0MDAsIDAsIHsweDAwLDB4NDUsMHg0MiwweDA1LDB4NDAsMHhjNSwweDUwLDB4MjAsMHgxNCwweDA4LDB4MTUsMHgwMCwweDA0LDB4NDAsMHg4MSwweDUwIH0sCi0gIDE2LCAweGM0MTAsIDAsIHsweDIwLDB4NTQsMHgwOCwweDExLDB4MDIsMHgwNSwweDAwLDB4ODAsMHgxMCwweDIwLDB4NDUsMHgwYywweDExLDB4NDIsMHgwNCwweDQwIH0sCi0gIDE2LCAweGM0MjAsIDAsIHsweDgxLDB4NTAsMHgyMCwweDE0LDB4MGMsMHgxNSwweDQyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDU0LDB4MDgsMHgxNSwweDAwIH0sCi0gIDE2LCAweGM0MzAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDMsMHgwMSwweDUwLDB4YzAsMHg0NCwweDMwIH0sCi0gIDE2LCAweGM0NDAsIDAsIHsweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEsMHg1MCwweGMwLDB4NGMsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MjEsMHg1MCwweGMwIH0sCi0gIDE2LCAweGM0NTAsIDAsIHsweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDAxLDB4NTAsMHhjMCwweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDAxIH0sCi0gIDE2LCAweGM0NjAsIDAsIHsweDUwLDB4YzAsMHg1NCwweDIwLDB4MTUsMHgwYywweDA1LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0NzAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDAwLDB4NDIsMHgwMCwweDA0LDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDA0IH0sCi0gIDE2LCAweGM0ODAsIDAsIHsweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyIH0sCi0gIDE2LCAweGM0OTAsIDAsIHsweDAwLDB4MTAsMHg4MCwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDAwIH0sCi0gIDE2LCAweGM0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4NCwweDIwIH0sCi0gIDE2LCAweGM0YjAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODQsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwIH0sCi0gIDE2LCAweGM0YzAsIDAsIHsweDgwLDB4YTAsMHgyMCwweDI4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDI4LDB4MDgsMHgwMiwweDAyIH0sCi0gIDE2LCAweGM0ZDAsIDAsIHsweDAwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM0ZTAsIDAsIHsweDAwLDB4NDUsMHg0MCwweDA1LDB4NjAsMHg0MSwweDU4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4IH0sCi0gIDE2LCAweGM0ZjAsIDAsIHsweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDIwLDB4MDEsMHhkOCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwIH0sCi0gIDE2LCAweGM1MDAsIDAsIHsweDAxLDB4NTgsMHgwMCwweDc2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwIH0sCi0gIDE2LCAweGM1MTAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH0sCi0gIDE2LCAweGM1MjAsIDAsIHsweDI2LDB4MDAsMHgwZCwweDgwLDB4MDIsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDcsMHg2MCwweDAxIH0sCi0gIDE2LCAweGM1MzAsIDAsIHsweDVjLDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHg1NywweDAwLDB4MGQsMHg4MCwweDAyIH0sCi0gIDE2LCAweGM1NDAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDA0LDB4MzAsMHgyMSwweDBjLDB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAsMHgwMSwweDBjIH0sCi0gIDE2LCAweGM1NjAsIDAsIHsweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwLDB4MDEsMHgxOCwweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwIH0sCi0gIDE2LCAweGM1NzAsIDAsIHsweDAxLDB4MGMsMHgwMCwweDQ2LDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCwweDAxLDB4MGMsMHgwMCwweDQzLDB4MDAsMHgxMCwweGMwIH0sCi0gIDE2LCAweGM1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0sCi0gIDE2LCAweGM1OTAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzNSwweDA4LDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGM2LDB4MDAsMHgxNCwweDAwIH0sCi0gIDE2LCAweGM1YTAsIDAsIHsweDA4LDB4MDAsMHgwMywweDQwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBkLDB4NDAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwIH0sCi0gIDE2LCAweGM1YjAsIDAsIHsweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM1YzAsIDAsIHsweDAwLDB4MDAsMHgwNSwweDAxLDB4MzEsMHg0MCwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEsMHhjMCwweDRjIH0sCi0gIDE2LCAweGM1ZDAsIDAsIHsweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwNSwweDMxLDB4NDEsMHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxIH0sCi0gIDE2LCAweGM1ZTAsIDAsIHsweDQwLDB4NGMsMHg3MCwweDUzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg0MCwweDEzLDB4MTQsMHgwNCwweGMwIH0sCi0gIDE2LCAweGM1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwNSwweDY4LDB4YzEsMHg1YSwweDMwIH0sCi0gIDE2LCAweGM2MDAsIDAsIHsweDU2LDB4OGMsMHgxNSwweGEzLDB4MDUsMHg2OSwweGMxLDB4NWEsMHgzMCwweDQ2LDB4OGMsMHgxMSwweGE3LDB4MDEsMHg2OCwweGMwIH0sCi0gIDE2LCAweGM2MTAsIDAsIHsweDFhLDB4MzAsMHg1NiwweDhjLDB4MTEsMHhhMywweDA0LDB4NjgsMHhjMSwweDFhLDB4MzAsMHgxNiwweDhjLDB4MTUsMHhhMywweDA0IH0sCi0gIDE2LCAweGM2MjAsIDAsIHsweDY4LDB4YzEsMHg1YSwweDMwLDB4NTYsMHg4YywweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA4IH0sCi0gIDE2LCAweGM2NDAsIDAsIHsweDAxLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDI0LDB4MDAsMHgwOCwweDgwLDB4MDIsMHg2MCwweDAwLDB4ODAsMHgwMCwweDIwIH0sCi0gIDE2LCAweGM2NTAsIDAsIHsweDAwLDB4MDksMHg0MCwweDAyLDB4MjAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwIH0sCi0gIDE2LCAweGM2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0IH0sCi0gIDE2LCAweGM2NzAsIDAsIHsweDQ2LDB4MjEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDA5LDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDg4LDB4NjAsMHg2MiwweDEwIH0sCi0gIDE2LCAweGM2ODAsIDAsIHsweDE4LDB4MDQsMHg0NiwweDAxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODAsMHgwNiwweDAxLDB4MTEsMHg4OCwweDQ0IH0sCi0gIDE2LCAweGM2OTAsIDAsIHsweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDQ1LDB4NTAsMHgxMSwweDU0LDB4MDQsMHg1NSwweDAxLDB4MTUsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDU0IH0sCi0gIDE2LCAweGM2YjAsIDAsIHsweDA0LDB4NDUsMHgwMSwweDExLDB4NDAsMHg0MCwweDUwLDB4MTAsMHg1NCwweDA0LDB4NDUsMHgwMSwweDE1LDB4NDAsMHg0NCwweDUwIH0sCi0gIDE2LCAweGM2YzAsIDAsIHsweDExLDB4MTQsMHgwMCwweDE1LDB4MDEsMHgxNSwweDQwLDB4NDQsMHg1MCwweDExLDB4NTQsMHgwNCwweDU1LDB4MDAsMHgxMSwweDQwIH0sCi0gIDE2LCAweGM2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyIH0sCi0gIDE2LCAweGM2ZTAsIDAsIHsweDE0LDB4MjAsMHg4NSwweDA4LDB4MjEsMHg0MiwweDAwLDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4NSwweDA4LDB4MjAsMHg0MiwweDA4IH0sCi0gIDE2LCAweGM2ZjAsIDAsIHsweDUwLDB4ODIsMHgxNSwweDIwLDB4MDUsMHg0OCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODEsMHg0MCwweDIxIH0sCi0gIDE2LCAweGM3MDAsIDAsIHsweDQyLDB4MDgsMHg1MCwweDgyLDB4MTQsMHgyMCwweDg1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3MTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4NCwweDQwIH0sCi0gIDE2LCAweGM3MjAsIDAsIHsweGExLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MDAsMHgyOCwweDAwLDB4MGEsMHgwMSwweDAyIH0sCi0gIDE2LCAweGM3MzAsIDAsIHsweDgwLDB4NDAsMHhiMCwweDEwLDB4MjgsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDAwIH0sCi0gIDE2LCAweGM3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwIH0sCi0gIDE2LCAweGM3NTAsIDAsIHsweDM1LDB4MzAsMHgwZCwweDRjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwZCwweDRjLDB4MDMsMHg1MywweDAwIH0sCi0gIDE2LCAweGM3NjAsIDAsIHsweGQ0LDB4YzAsMHgyMSwweDMwLDB4MDgsMHg0YywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MDgsMHg0YywweDAzIH0sCi0gIDE2LCAweGM3NzAsIDAsIHsweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3ODAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDA0LDB4NzAsMHgwMSwweDVjLDB4ODAsMHgwNywweDIwLDB4MjUsMHhjOSwweDA0LDB4NzIsMHgwMSwweDVjIH0sCi0gIDE2LCAweGM3OTAsIDAsIHsweDgwLDB4NDcsMHgyMCwweDE1LDB4YzgsMHgwMCwweDcyLDB4MDUsMHhkYywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzgsMHgwNSwweDcyIH0sCi0gIDE2LCAweGM3YTAsIDAsIHsweDAxLDB4MWMsMHg5MCwweDY3LDB4MjAsMHgxNSwweGM4LDB4MDUsMHg3MiwweDAxLDB4MWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGMwIH0sCi0gIDE2LCAweGM3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgxOCwweDQ4LDB4YzIsMHgxMiwweDMxIH0sCi0gIDE2LCAweGM3YzAsIDAsIHsweDg0LDB4OGMsMHg2MSwweDAzLDB4MTgsMHg0MCwweGM4LDB4MTIsMHgzMSwweDg0LDB4OGMsMHg2MSwweDAzLDB4MTgsMHg0OCwweGM0IH0sCi0gIDE2LCAweGM3ZDAsIDAsIHsweDEwLDB4MzEsMHg4NCwweDBjLDB4NDEsMHgyMywweDE4LDB4NDgsMHhjNiwweDEwLDB4MzAsMHgwNCwweDBjLDB4NjEsMHgyMywweDE4IH0sCi0gIDE2LCAweGM3ZTAsIDAsIHsweDQ4LDB4YzYsMHgxMiwweDMwLDB4ODQsMHg4YywweDIxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM3ZjAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzIH0sCi0gIDE2LCAweGM4MDAsIDAsIHsweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmIH0sCi0gIDE2LCAweGM4MTAsIDAsIHsweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhiZCwweDAwIH0sCi0gIDE2LCAweGM4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4NjAsIDAsIHsweDAwLDB4MDAsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MDksMHgzNiwweGMyIH0sCi0gIDE2LCAweGM4NzAsIDAsIHsweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiIH0sCi0gIDE2LCAweGM4ODAsIDAsIHsweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHgyYywweDAwIH0sCi0gIDE2LCAweGM4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMywweDMzIH0sCi0gIDE2LCAweGM4YTAsIDAsIHsweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MsMHg0ZCwweDRlLDB4OTMsMHgzMywweGM0LDB4Y2MsMHhmMSwweDJiLDB4M2MsMHg0YywweGNmIH0sCi0gIDE2LCAweGM4YjAsIDAsIHsweDEzLDB4MzMsMHhjNCwweGNjLDB4ZTksMHgzMywweDNjLDB4NGMsMHhjZiwweDEyLDB4YjUsMHhjNCwweGNjLDB4ZjEsMHgzMywweDNjIH0sCi0gIDE2LCAweGM4YzAsIDAsIHsweDRjLDB4Y2YsMHgxMywweDMzLDB4YzQsMHhjZCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM4ZDAsIDAsIHsweDAwLDB4MDAsMHgzYiwweDdlLDB4NGUsMHhjNywweDkzLDB4YjcsMHhlNCwweGVkLDB4ZjksMHgyMywweDdlLDB4NGUsMHg0NywweDkzIH0sCi0gIDE2LCAweGM4ZTAsIDAsIHsweGI3LDB4ZTQsMHhlZCwweGY5LDB4M2YsMHg3ZSwweDRlLDB4ZGUsMHgxMiwweDM3LDB4ZTQsMHg4ZCwweGY5LDB4M2IsMHg3ZSwweDRlIH0sCi0gIDE2LCAweGM4ZjAsIDAsIHsweGRmLDB4OTMsMHhmNywweDg0LDB4OGQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiMSwweGU0LDB4ZWQsMHhiOSwweDAwIH0sCi0gIDE2LCAweGM5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMiwweDcwLDB4NDAsMHg5YywweDExIH0sCi0gIDE2LCAweGM5MTAsIDAsIHsweDY3LDB4MDQsMHgxOSwweGMzLDB4MDIsMHg3MCwweDQwLDB4OWMsMHgxMCwweDI3LDB4MDQsMHgwOSwweGMxLDB4MDIsMHg3MCwweDQwIH0sCi0gIDE2LCAweGM5MjAsIDAsIHsweDFjLDB4MTAsMHgyNywweDE0LDB4MDEsMHhjMSwweDAyLDB4NzAsMHg0MCwweDljLDB4NTAsMHgwNywweDA0LDB4MDksMHhjMSwweDAyIH0sCi0gIDE2LCAweGM5MzAsIDAsIHsweDcwLDB4NDAsMHg5YywweDEwLDB4NjcsMHgxNCwweDExLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5NDAsIDAsIHsweDAwLDB4MDAsMHgwNCwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA1LDB4NzEsMHgwMSwweDVjIH0sCi0gIDE2LCAweGM5NTAsIDAsIHsweDQwLDB4NTcsMHgxMCwweDE1LDB4YzYsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDEwLDB4YzQsMHgwNSwweDcxIH0sCi0gIDE2LCAweGM5NjAsIDAsIHsweDAxLDB4NWMsMHg2NCwweDAzLDB4MTAsMHg1NSwweGM0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGMwIH0sCi0gIDE2LCAweGM5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH0sCi0gIDE2LCAweGM5ODAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMSwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDEsMHgyMCwweDgwIH0sCi0gIDE2LCAweGM5OTAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDUsMHhjMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjQsMHgxNywweDA4LDB4MDQsMHg4MiwweDAxIH0sCi0gIDE2LCAweGM5YTAsIDAsIHsweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGM5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4NCwweDAwLDB4NjAsMHgwMCwweDE4IH0sCi0gIDE2LCAweGM5YzAsIDAsIHsweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDEsMHgxOCwweDAwLDB4MDYsMHgxMCwweDkxLDB4ODAsMHgwMCwweDYwIH0sCi0gIDE2LCAweGM5ZDAsIDAsIHsweDAwLDB4MTgsMHg0NiwweDQ2LDB4MTgsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MTAsMHgwMSwweDgwIH0sCi0gIDE2LCAweGM5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDczLDB4MDEsMHgxYywweDgwIH0sCi0gIDE2LCAweGM5ZjAsIDAsIHsweDA3LDB4MjAsMHgwMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxIH0sCi0gIDE2LCAweGNhMDAsIDAsIHsweDFjLDB4ODAsMHg0NywweDIyLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHgwNywweDIwLDB4MTEsMHhjOCwweDA0IH0sCi0gIDE2LCAweGNhMTAsIDAsIHsweDcyLDB4MDEsMHgxYywweDgwLDB4MDcsMHgyOCwweDExLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4IH0sCi0gIDE2LCAweGNhMzAsIDAsIHsweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwIH0sCi0gIDE2LCAweGNhNDAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDQ2LDB4MDQsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwIH0sCi0gIDE2LCAweGNhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH0sCi0gIDE2LCAweGNhNjAsIDAsIHsweDAyLDB4MjAsMHgwMCwweDkwLDB4MDQsMHgyNywweDgxLDB4MDgsMHg4MCwweDQyLDB4MjAsMHgxMCwweDk4LDB4MDQsMHgyNCwweDAxIH0sCi0gIDE2LCAweGNhNzAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDQ4LDB4MTAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA5LDB4NDAsMHg0MiwweDYwLDB4MTAsMHg4OCwweDA0IH0sCi0gIDE2LCAweGNhODAsIDAsIHsweDIyLDB4MDEsMHgwOCwweGMwLDB4MDIsMHg0MCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNhOTAsIDAsIHsweDAwLDB4MDAsMHgyYSwweDA0LDB4NGIsMHg4MSwweDEyLDB4YTAsMHgwNCwweGE4LDB4MDEsMHgyYSwweDA0LDB4NGEsMHg4MSwweDEyIH0sCi0gIDE2LCAweGNhYTAsIDAsIHsweGEwLDB4NDQsMHhhOCwweDExLDB4MmEsMHgwNCwweDQ4LDB4ODAsMHgxMiwweGEwLDB4NDQsMHg4OCwweDAxLDB4MmEsMHgwNCwweDRhIH0sCi0gIDE2LCAweGNhYjAsIDAsIHsweDgxLDB4MTIsMHgyMCwweDA0LDB4YWMsMHgxMSwweDJhLDB4MDQsMHg0YSwweDgxLDB4MTIsMHhiMCwweDQ0LDB4OWMsMHgxMSwweDAwIH0sCi0gIDE2LCAweGNhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4MGMsMHgwMCwweDUzLDB4MDAsMHgxNCwweGMwIH0sCi0gIDE2LCAweGNhZDAsIDAsIHsweDA1LDB4MzAsMHgwMSwweDQ0LDB4MDAsMHg1MywweDAwLDB4MTQsMHhjMCwweDA1LDB4MzAsMHgwNCwweDBjLDB4MDAsMHg1MywweDAwIH0sCi0gIDE2LCAweGNhZTAsIDAsIHsweDE0LDB4YzAsMHgwNSwweGIwLDB4MDEsMHg0YywweDAwLDB4NTMsMHgwMCwweDE2LDB4YzAsMHgwMSwweDMwLDB4MDEsMHg0YywweDAwIH0sCi0gIDE2LCAweGNhZjAsIDAsIHsweDUzLDB4MDAsMHgxNCwweGMwLDB4MDEsMHgzOCwweDAwLDB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiMDAsIDAsIHsweDA4LDB4YzAsMHgwMCwweDEwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgxMCwweDAwLDB4NDQsMHg4MCwweDEwIH0sCi0gIDE2LCAweGNiMTAsIDAsIHsweDAwLDB4MDQsMHgwMCwweDAxLDB4MTAsMHgwMCwweDQ2LDB4MDAsMHgwMCwweDAwLDB4MDQsMHg2MCwweDAxLDB4MDAsMHgwMCwweDQwIH0sCi0gIDE2LCAweGNiMjAsIDAsIHsweDAwLDB4MTEsMHg2MCwweDAyLDB4NDAsMHgwMSwweDAwLDB4MTAsMHg0MCwweDAwLDB4MTAsMHg2MCwweDAxLDB4NTAsMHgxMCwweDQwIH0sCi0gIDE2LCAweGNiMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4NDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwIH0sCi0gIDE2LCAweGNiNDAsIDAsIHsweDIwLDB4MDAsMHgwOCwweDA4LDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiNTAsIDAsIHsweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAyIH0sCi0gIDE2LCAweGNiNjAsIDAsIHsweDAwLDB4MDAsMHg4MCwweDAwLDB4MjEsMHgwMCwweDA4LDB4NDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiNzAsIDAsIHsweDA4LDB4YzAsMHg0MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweDE4IH0sCi0gIDE2LCAweGNiODAsIDAsIHsweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHhjOCwweDAwLDB4NDYsMHgwMCwweDE5LDB4ODAsMHgwMCwweDYwIH0sCi0gIDE2LCAweGNiOTAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDY2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgxMSwweDgwIH0sCi0gIDE2LCAweGNiYTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAxLDB4MDAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDAwIH0sCi0gIDE2LCAweGNiYjAsIDAsIHsweDI2LDB4MDAsMHgwOSwweDgxLDB4MDIsMHg2MCwweDAxLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgwOSwweDgwLDB4MDYsMHg2MiwweDAwIH0sCi0gIDE2LCAweGNiYzAsIDAsIHsweDQ4LDB4MDAsMHgyNiwweDIwLDB4MDEsMHhjMCwweDAyLDB4NjAsMHgwMSwweDk4LDB4MDAsMHgwNywweDAwLDB4MDksMHg4MCwweDAyIH0sCi0gIDE2LCAweGNiZDAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4MjYsMHgwMCwweDExLDB4ODIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNiZTAsIDAsIHsweDQwLDB4NDUsMHg0MiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4NSwweDhjIH0sCi0gIDE2LCAweGNiZjAsIDAsIHsweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHg0OCwweDExLDB4ODIsMHgwNCwweDMwIH0sCi0gIDE2LCAweGNjMDAsIDAsIHsweDgxLDB4OGQsMHgyMCwweDQ2LDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MGMsMHgxMCwweGMwIH0sCi0gIDE2LCAweGNjMTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH0sCi0gIDE2LCAweGNjMjAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgxMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwIH0sCi0gIDE2LCAweGNjMzAsIDAsIHsweDA4LDB4MDAsMHgwMywweDAwLDB4MDAsMHg4MCwweDAwLDB4MzAsMHgwMCwweDBjLDB4ODAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwIH0sCi0gIDE2LCAweGNjNDAsIDAsIHsweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjNTAsIDAsIHsweDQwLDB4MDAsMHgwMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MjEsMHgwMywweDA4LDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjIH0sCi0gIDE2LCAweGNjNjAsIDAsIHsweDIwLDB4MDMsMHgwOCwweDAwLDB4YzIsMHgwNCwweDMwLDB4YzEsMHgwYywweDIwLDB4MDMsMHgwYywweDEwLDB4YzIsMHgwMCwweDMwIH0sCi0gIDE2LCAweGNjNzAsIDAsIHsweDgwLDB4MGMsMHhiMCwweDQzLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgzMCwweDgwLDB4MGMsMHgyMCwweDAzLDB4MjgsMHgxMCwweGMwIH0sCi0gIDE2LCAweGNjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH0sCi0gIDE2LCAweGNjOTAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxIH0sCi0gIDE2LCAweGNjYTAsIDAsIHsweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MTEsMHg4MiwweDA0IH0sCi0gIDE2LCAweGNjYjAsIDAsIHsweDYwLDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwYywweDExLDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNjYzAsIDAsIHsweDQwLDB4MDEsMHg0MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4IH0sCi0gIDE2LCAweGNjZDAsIDAsIHsweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwYywweDIwLDB4MDIsMHgwOCwweDAwLDB4YzIsMHgwMCwweDIwIH0sCi0gIDE2LCAweGNjZTAsIDAsIHsweDgwLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMSwweDgwIH0sCi0gIDE2LCAweGNjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDAxLDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH0sCi0gIDE2LCAweGNkMDAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweGMxIH0sCi0gIDE2LCAweGNkMTAsIDAsIHsweDBjLDB4MjAsMHg0NiwweDBjLDB4MTAsMHhjMiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MzAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH0sCi0gIDE2LCAweGNkMjAsIDAsIHsweDYwLDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwOCwweDEwLDB4ODAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkMzAsIDAsIHsweDQwLDB4NDUsMHg0MCwweDA0LDB4NTAsMHgwMSwweDE0LDB4MDAsMHg0NSwweDAwLDB4MTEsMHg0MCwweDA0LDB4NTAsMHgwMCwweDE0IH0sCi0gIDE2LCAweGNkNDAsIDAsIHsweDAwLDB4NDUsMHgwMCwweDExLDB4NDAsMHgwMCwweDUwLDB4MDAsMHgwNCwweDAwLDB4NDUsMHgwMCwweDAwLDB4NDAsMHgwNCwweDUwIH0sCi0gIDE2LCAweGNkNTAsIDAsIHsweDAwLDB4MTQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwMCwweDQ1LDB4MDAsMHgwMCwweDQyIH0sCi0gIDE2LCAweGNkNjAsIDAsIHsweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwIH0sCi0gIDE2LCAweGNkNzAsIDAsIHsweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwIH0sCi0gIDE2LCAweGNkODAsIDAsIHsweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwIH0sCi0gIDE2LCAweGNkOTAsIDAsIHsweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNkYTAsIDAsIHsweDQ4LDB4MDAsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwLDB4MjEsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwIH0sCi0gIDE2LCAweGNkYjAsIDAsIHsweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODAsMHg0MCwweDIxLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwIH0sCi0gIDE2LCAweGNkYzAsIDAsIHsweDgwLDB4NDAsMHgzMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MTEsMHgwMCwweDg0LDB4NDAsMHgyMCwweDEwLDB4MDgsMHgxNCwweDAwIH0sCi0gIDE2LCAweGNkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwIH0sCi0gIDE2LCAweGNkZTAsIDAsIHsweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwIH0sCi0gIDE2LCAweGNkZjAsIDAsIHsweGQ0LDB4NjAsMHgzNSwweDEwLDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NDAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzIH0sCi0gIDE2LCAweGNlMDAsIDAsIHsweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlMTAsIDAsIHsweDAwLDB4MDEsMHg0NiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAsMHgwNywweDE4LDB4MTEsMHhjZSwweDA0LDB4NzEsMHg4MSwweDFjIH0sCi0gIDE2LCAweGNlMjAsIDAsIHsweDYwLDB4NDcsMHgxOCwweDAxLDB4YzYsMHgwNCwweDcxLDB4ODEsMHg5YywweDYwLDB4NDcsMHgxOCwweDE5LDB4YzYsMHgwNCwweDcxIH0sCi0gIDE2LCAweGNlMzAsIDAsIHsweDgwLDB4MWMsMHg2MCwweDY3LDB4MTgsMHgxMSwweGM2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCwweDQ3LDB4MTgsMHgxMSwweGMwIH0sCi0gIDE2LCAweGNlNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4NDYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwIH0sCi0gIDE2LCAweGNlNTAsIDAsIHsweDI3LDB4MTgsMHgwOSwweGM2LDB4MDYsMHg3MSwweDgwLDB4MWMsMHg2MCwweDI3LDB4MTgsMHgwOSwweGM2LDB4MDEsMHgzMSwweDgwIH0sCi0gIDE2LCAweGNlNjAsIDAsIHsweDFjLDB4NjAsMHgwNywweDE4LDB4MDksMHhjNiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAsMHgwNywweDE4LDB4MDksMHhjNiwweDEyIH0sCi0gIDE2LCAweGNlNzAsIDAsIHsweDcxLDB4ODAsMHg5YywweDYwLDB4MzMsMHgxOCwweDAxLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlODAsIDAsIHsweDUwLDB4NDUsMHg0NiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MCwweDVjIH0sCi0gIDE2LCAweGNlOTAsIDAsIHsweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwMSwweDMxLDB4ODEsMHgwYywweDYwLDB4MTcsMHgxOCwweDEwLDB4YzYsMHgwNSwweDcxIH0sCi0gIDE2LCAweGNlYTAsIDAsIHsweDgxLDB4NWMsMHg2MCwweDAzLDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDUzLDB4MTgsMHgxOCwweDgyIH0sCi0gIDE2LCAweGNlYjAsIDAsIHsweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQwLDB4MTIsMHgwMSwweDI0LDB4ODAsMHg0OCwweDIwIH0sCi0gIDE2LCAweGNlYzAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyNCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH0sCi0gIDE2LCAweGNlZDAsIDAsIHsweDU4LDB4MjAsMHg1MiwweDBjLDB4MDUsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ5LDB4MjAsMHgwMiwweDA4LDB4MDQsMHg4MiwweDAxIH0sCi0gIDE2LCAweGNlZTAsIDAsIHsweDIwLDB4ODAsMHg0OSwweDIwLDB4MTIsMHg0OCwweDA0LDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNlZjAsIDAsIHsweDQwLDB4MDQsMHgwNiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHgwNiwweDE4LDB4MDEsMHg4NiwweDA0LDB4NjEsMHg4MCwweDE4IH0sCi0gIDE2LCAweGNmMDAsIDAsIHsweDYwLDB4MDYsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODEsMHg0OCwweDYwLDB4MDYsMHgxOCwweDE0LDB4ODYsMHgwMCwweDYxIH0sCi0gIDE2LCAweGNmMTAsIDAsIHsweDgwLDB4MTgsMHg2MCwweDQyLDB4MTgsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCwweDA2LDB4MTgsMHgwMCwweDgwIH0sCi0gIDE2LCAweGNmMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NjAsMHgwNCwweDc4LDB4MDEsMHgxZSwweDAwIH0sCi0gIDE2LCAweGNmMzAsIDAsIHsweDQ3LDB4ODAsMHgxMSwweGU4LDB4MDAsMHg3OCwweDAxLDB4MWUsMHgwMCwweDQ3LDB4ODAsMHgxMSwweGUwLDB4MDQsMHg3OCwweDAxIH0sCi0gIDE2LCAweGNmNDAsIDAsIHsweDFlLDB4MDAsMHg0MywweDgwLDB4MTEsMHhlMCwweDA0LDB4NzgsMHgwMSwweDFlLDB4MDAsMHgwMywweDgwLDB4MTUsMHhlMCwweDA0IH0sCi0gIDE2LCAweGNmNTAsIDAsIHsweDc4LDB4MDEsMHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4YzAsMHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmNjAsIDAsIHsweDQwLDB4MDEsMHgxMiwweDAwLDB4NjQsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjQsMHg4MCwweDE4IH0sCi0gIDE2LCAweGNmNzAsIDAsIHsweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDMwLDB4MDIsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwIH0sCi0gIDE2LCAweGNmODAsIDAsIHsweDgwLDB4MTksMHgzMCwweDQyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTksMHgyMCwweDA2LDB4NDgsMHgwMSwweDgwIH0sCi0gIDE2LCAweGNmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH0sCi0gIDE2LCAweGNmYTAsIDAsIHsweDQyLDB4MDgsMHgxMCwweDgyLDB4MDAsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxIH0sCi0gIDE2LCAweGNmYjAsIDAsIHsweDA4LDB4MjAsMHg0NiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH0sCi0gIDE2LCAweGNmYzAsIDAsIHsweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGNmZDAsIDAsIHsweDQwLDB4NDUsMHg0MiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDAwLDB4NDAsMHg4MSwweDEwIH0sCi0gIDE2LCAweGNmZTAsIDAsIHsweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwNCwweDQwLDB4ODAsMHgxMCwweDIwLDB4NDUsMHgwOCwweDAxLDB4MDIsMHgwNCwweDQwIH0sCi0gIDE2LCAweGNmZjAsIDAsIHsweDgxLDB4MTAsMHgyMSwweDAwLDB4MGMsMHgxMSwweDAyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDQ0LDB4MDgsMHgwMSwweDAwIH0sCi0gIDE2LCAweGQwMDAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwIH0sCi0gIDE2LCAweGQwMTAsIDAsIHsweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwIH0sCi0gIDE2LCAweGQwMjAsIDAsIHsweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwIH0sCi0gIDE2LCAweGQwMzAsIDAsIHsweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwNDAsIDAsIHsweDQwLDB4MDAsMHgwOCwweDAwLDB4NDIsMHgwNCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOSwweDAwLDB4NDIsMHgwMSwweDEwIH0sCi0gIDE2LCAweGQwNTAsIDAsIHsweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyIH0sCi0gIDE2LCAweGQwNjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MjAsMHgxMSwweDAwIH0sCi0gIDE2LCAweGQwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwIH0sCi0gIDE2LCAweGQwODAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4MDAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDAsMHgwMCwweDgwIH0sCi0gIDE2LCAweGQwOTAsIDAsIHsweDgwLDB4YTAsMHgwMCwweDBhLDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MzQsMHg2MiwweDI4LDB4MDgsMHgwMiwweDAyIH0sCi0gIDE2LCAweGQwYTAsIDAsIHsweDAwLDB4ODAsMHg4MCwweDMwLDB4MjAsMHgwYywweDA4LDB4MDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQwYjAsIDAsIHsweDQwLDB4MDEsMHg0MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMywweDE4IH0sCi0gIDE2LCAweGQwYzAsIDAsIHsweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNiwweDYwLDB4MDEsMHg5OCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwIH0sCi0gIDE2LCAweGQwZDAsIDAsIHsweDAxLDB4MTgsMHgwMCwweDY2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwIH0sCi0gIDE2LCAweGQwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MDAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDAwIH0sCi0gIDE2LCAweGQwZjAsIDAsIHsweDI2LDB4MDAsMHgwOSwweDgwLDB4MDIsMHg2NCwweDAwLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgxOSwweDkwLDB4MDIsMHg2MCwweDAwIH0sCi0gIDE2LCAweGQxMDAsIDAsIHsweDFkLDB4MDAsMHgyNiwweDAwLDB4MDEsMHhjMCwweDAyLDB4NjAsMHgwMCwweDk5LDB4MDAsMHgwNiwweDQwLDB4MTksMHg4MCwweDAyIH0sCi0gIDE2LCAweGQxMTAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4NjYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxMjAsIDAsIHsweDQwLDB4NDUsMHg2MCwweDA0LDB4MzgsMHgwMSwweDBlLDB4MDAsMHg0MywweDgwLDB4MTAsMHhlMCwweDA0LDB4MzgsMHgwMSwweDBlIH0sCi0gIDE2LCAweGQxMzAsIDAsIHsweDAwLDB4NDMsMHg4MCwweDEwLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgxYSwweDAwLDB4NDMsMHg4MCwweDExLDB4YTAsMHgwNCwweDM4IH0sCi0gIDE2LCAweGQxNDAsIDAsIHsweDAxLDB4MGUsMHgwMCwweDAyLDB4ODAsMHg0MCwweGUwLDB4MDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQzLDB4ODAsMHgxOCwweDgwIH0sCi0gIDE2LCAweGQxNTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDA0LDB4MDEsMHgwMCwweDMwLDB4NDAsMHgwYywweDEwIH0sCi0gIDE2LCAweGQxNjAsIDAsIHsweDAzLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDQsMHgwMCwweGMxLDB4MDAsMHgzMCwweDQwIH0sCi0gIDE2LCAweGQxNzAsIDAsIHsweDA4LDB4MTAsMHgwMywweDA0LDB4MDAsMHg4MSwweDAwLDB4MzAsMHg0MCwweDBjLDB4NzgsMHgwMiwweDE0LDB4MDAsMHhjMSwweDAwIH0sCi0gIDE2LCAweGQxODAsIDAsIHsweDMwLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwNCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQxOTAsIDAsIHsweDQwLDB4MDAsMHgwNSwweDAwLDB4MzEsMHg0MCwweDBjLDB4NTAsMHgwMywweDE0LDB4MDAsMHhjNSwweDAwLDB4MzUsMHg0MCwweDBjIH0sCi0gIDE2LCAweGQxYTAsIDAsIHsweDUwLDB4MDMsMHgxNCwweDEwLDB4ZDUsMHgwMCwweDMxLDB4NDEsMHgwZCwweDUwLDB4MDMsMHgxNCwweDEwLDB4YzUsMHgwMCwweDMxIH0sCi0gIDE2LCAweGQxYjAsIDAsIHsweDQwLDB4MGQsMHg0OCwweDQzLDB4NTQsMHgxMCwweGM1LDB4MDAsMHgzMSwweDQwLDB4MGMsMHg0MCwweDQzLDB4MTAsMHgwMCwweGMyIH0sCi0gIDE2LCAweGQxYzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDMsMHgwNCwweDYwLDB4YzEsMHgxOCwweDMwIH0sCi0gIDE2LCAweGQxZDAsIDAsIHsweDQ2LDB4MGMsMHgxMSwweDgzLDB4MDQsMHg2MSwweGMxLDB4MTgsMHgzMCwweDQ2LDB4MGMsMHgwMSwweDg3LDB4MDQsMHg2MCwweGMxIH0sCi0gIDE2LCAweGQxZTAsIDAsIHsweDE4LDB4MzAsMHg0NiwweDA4LDB4MTEsMHg4MywweDA0LDB4NjAsMHhjMSwweDE4LDB4MjAsMHgwNiwweDBjLDB4MDEsMHg4MywweDA0IH0sCi0gIDE2LCAweGQxZjAsIDAsIHsweDYwLDB4YzEsMHgxOCwweDMwLDB4NDYsMHgwYywweDExLDB4ODAsMHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyMDAsIDAsIHsweDQwLDB4MDEsMHg0MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4IH0sCi0gIDE2LCAweGQyMTAsIDAsIHsweDAwLDB4MDIsMHgwMCwweDAwLDB4ODEsMHgwMCwweDIwLDB4MDAsMHgwOCwweDgwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCwweDIwIH0sCi0gIDE2LCAweGQyMjAsIDAsIHsweDAwLDB4MDgsMHg0MCwweDQzLDB4MzAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwIH0sCi0gIDE2LCAweGQyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0IH0sCi0gIDE2LCAweGQyNDAsIDAsIHsweDQ2LDB4MjEsMHgxMSwweDg4LDB4NDQsMHg2MywweDAxLDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgwMSwweDg4LDB4MDQsMHg2MiwweDExIH0sCi0gIDE2LCAweGQyNTAsIDAsIHsweDE4LDB4MDQsMHg0NiwweDIxLDB4MTAsMHhjOCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4MDUsMHg0MywweDAxLDB4ODEsMHg4OCwweDQ0IH0sCi0gIDE2LCAweGQyNjAsIDAsIHsweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyNzAsIDAsIHsweDQwLDB4NDUsMHg0MCwweDA0LDB4NTAsMHgwMSwweDE0LDB4MDQsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQ0LDB4NTAsMHgwMSwweDE0IH0sCi0gIDE2LCAweGQyODAsIDAsIHsweDA0LDB4NDUsMHgwMSwweDAxLDB4NDAsMHg0NSwweDAwLDB4MTAsMHgxNCwweDA0LDB4NDUsMHgwMywweDAwLDB4NDAsMHg0NCwweDUwIH0sCi0gIDE2LCAweGQyOTAsIDAsIHsweDExLDB4MTQsMHgwNCwweDAxLDB4MDUsMHg0MSwweDQwLDB4NDQsMHg1MCwweDExLDB4MTQsMHgwNCwweDA1LDB4MDEsMHgwMSwweDQwIH0sCi0gIDE2LCAweGQyYTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyIH0sCi0gIDE2LCAweGQyYjAsIDAsIHsweDA0LDB4MjAsMHg4MSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MDAsMHg0MiwweDA4IH0sCi0gIDE2LCAweGQyYzAsIDAsIHsweDEwLDB4ODIsMHgwNSwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4OGEsMHgwNSwweDIwLDB4MDUsMHgwOCwweDIwIH0sCi0gIDE2LCAweGQyZDAsIDAsIHsweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMiwweDgxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQyZTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwMiwweDAxLDB4MDIsMHg4MCwweDQwIH0sCi0gIDE2LCAweGQyZjAsIDAsIHsweGEwLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MDAsMHgyOSwweDA0LDB4MGEsMHgwMSwweDAyIH0sCi0gIDE2LCAweGQzMDAsIDAsIHsweDgwLDB4NDAsMHhhNCwweDAwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhOCwweDEwLDB4MmIsMHgxNCwweDAwIH0sCi0gIDE2LCAweGQzMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQwIH0sCi0gIDE2LCAweGQzMjAsIDAsIHsweDM1LDB4MzQsMHgwZCwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkMCwweDM1LDB4MzQsMHgwZCwweDRkLDB4MDMsMHg1MywweDQwIH0sCi0gIDE2LCAweGQzMzAsIDAsIHsweGQ0LDB4ZDAsMHgyMSwweDM0LDB4NGQsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDksMHg2MSwweDM0LDB4MDQsMHgwZCwweDAzIH0sCi0gIDE2LCAweGQzNDAsIDAsIHsweDUzLDB4NDAsMHhjMCwweGQ4LDB4MzUsMHgzNywweDBkLDB4NDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzNTAsIDAsIHsweDQwLDB4MDEsMHg0OCwweDA0LDB4NzIsMHgwMCwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjIH0sCi0gIDE2LCAweGQzNjAsIDAsIHsweDgwLDB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDAsMHg5YywweDgwLDB4NDcsMHgyMCwweDE5LDB4YzgsMHgwMCwweDcyIH0sCi0gIDE2LCAweGQzNzAsIDAsIHsweDAxLDB4MWMsMHg4OCwweDY3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4NWMsMHg4MiwweDQ3LDB4MjIsMHgxMSwweGMwIH0sCi0gIDE2LCAweGQzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwOCwweDQ4LDB4YzIsMHgxMiwweDMxIH0sCi0gIDE2LCAweGQzOTAsIDAsIHsweDg0LDB4OGMsMHg2MSwweDIzLDB4MTAsMHg0MCwweGMwLDB4MTIsMHgzMSwweDg0LDB4OGMsMHg2MSwweDAzLDB4MTAsMHg0OCwweGM0IH0sCi0gIDE2LCAweGQzYTAsIDAsIHsweDEwLDB4MzEsMHg4NCwweDhjLDB4NDEsMHgyMywweDE4LDB4NDgsMHhjNiwweDEwLDB4MzAsMHgwNCwweDBjLDB4NDEsMHgyMywweDE4IH0sCi0gIDE2LCAweGQzYjAsIDAsIHsweDQ4LDB4YzYsMHgxMiwweDMwLDB4ODQsMHg4YywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQzYzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzIH0sCi0gIDE2LCAweGQzZDAsIDAsIHsweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmIH0sCi0gIDE2LCAweGQzZTAsIDAsIHsweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhkZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDAwIH0sCi0gIDE2LCAweGQzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0MzAsIDAsIHsweDAwLDB4MDAsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyIH0sCi0gIDE2LCAweGQ0NDAsIDAsIHsweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiIH0sCi0gIDE2LCAweGQ0NTAsIDAsIHsweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg0YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDAwIH0sCi0gIDE2LCAweGQ0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHg1YywweDRjLDB4ZDcsMHgxMywweDMzIH0sCi0gIDE2LCAweGQ0NzAsIDAsIHsweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2EsMHg0YSwweGQ2LDB4OTMsMHgzMywweGM0LDB4Y2MsMHhmMSwweDJiLDB4M2EsMHg0YywweGNmIH0sCi0gIDE2LCAweGQ0ODAsIDAsIHsweDEzLDB4MzMsMHhjNCwweGNjLDB4ZTksMHgzMywweDNjLDB4NGMsMHhjZiwweDEyLDB4YjUsMHhhNCwweGFjLDB4YzksMHgzMywweDNjIH0sCi0gIDE2LCAweGQ0OTAsIDAsIHsweDRjLDB4Y2YsMHgxMywweDM1LDB4YzQsMHhjZCwweDY5LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ0YTAsIDAsIHsweDAwLDB4MDAsMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzLDB4YjcsMHhlNCwweGVkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzIH0sCi0gIDE2LCAweGQ0YjAsIDAsIHsweGI3LDB4ZTQsMHhlZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4ZGUsMHgxMiwweDM3LDB4ZTQsMHhlZCwweGUxLDB4M2IsMHg3ZSwweDRlIH0sCi0gIDE2LCAweGQ0YzAsIDAsIHsweGRmLDB4OTIsMHgzMSwweDg0LDB4OGQsMHhkOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiMSwweGU0LDB4ZWMsMHg2MSwweDAwIH0sCi0gIDE2LCAweGQ0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NCwweDA0LDB4YTEsMHg4MywweDJjIH0sCi0gIDE2LCAweGQ0ZTAsIDAsIHsweDAzLDB4MGEsMHgxMCwweDgyLDB4YzEsMHgzNCwweDEwLDB4OGYsMHgwMCwweDQwLDB4MDksMHgxNCwweDAyLDB4MDMsMHgxNCwweDkxIH0sCi0gIDE2LCAweGQ0ZjAsIDAsIHsweDAwLDB4MDgsMHg0MiwweDBiLDB4MTgsMHg4MiwweGM0LDB4MDAsMHgzMSwweGNhLDB4MGMsMHg1MiwweDAyLDB4MTAsMHg4MCwweDg1IH0sCi0gIDE2LCAweGQ1MDAsIDAsIHsweDAwLDB4MjEsMHg4MiwweDI4LDB4NDAsMHgwYSwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1MTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDA0LDB4MDIsMHgwMSwweDQwLDB4ODAsMHg3MywweDI4LDB4MTAsMHg0OCwweDA3LDB4MDYsMHgwMSwweDA0IH0sCi0gIDE2LCAweGQ1MjAsIDAsIHsweGE0LDB4NDEsMHgyMSwweDE0LDB4MDgsMHg0NCwweDA2LDB4MTEsMHg0MCwweDgwLDB4NzAsMHgyMCwweDE0LDB4MGEsMHgwNCwweDAyIH0sCi0gIDE2LCAweGQ1MzAsIDAsIHsweDAwLDB4YzgsMHg4NCwweDQxLDB4MjEsMHgxYywweDA4LDB4MDYsMHgxMiwweDAxLDB4YzAsMHg4MCwweDYwLDB4MjAsMHgxNCwweDAwIH0sCi0gIDE2LCAweGQ1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHg4NCwweDA0LDB4MjEsMHg4MiwweDA4IH0sCi0gIDE2LCAweGQ1NTAsIDAsIHsweDUzLDB4MDIsMHgxMCwweDgwLDB4YzUsMHgwMCwweDgxLDB4NGEsMHgwNCwweDQyLDB4MDIsMHgxNCwweDAwLDB4MDQsMHgyMCwweDIxIH0sCi0gIDE2LCAweGQ1NjAsIDAsIHsweDgwLDB4YTgsMHg3MiwweDIyLDB4MWMsMHg4OCwweGM0LDB4MDYsMHhhMSwweDQyLDB4OGMsMHg1MiwweDIyLDB4MWMsMHg4OCwweDg1IH0sCi0gIDE2LCAweGQ1NzAsIDAsIHsweDI2LDB4MjEsMHhjMCwweDg4LDB4NTAsMHgyMiwweDE4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1ODAsIDAsIHsweDAwLDB4MDAsMHgwMiwweDQ0LDB4MDAsMHgwMSwweDAxLDB4MDAsMHg2MiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDAxIH0sCi0gIDE2LCAweGQ1OTAsIDAsIHsweDIwLDB4NDAsMHgwMCwweDFjLDB4MDAsMHg0NCwweDA0LDB4MDEsMHgwMiwweDIwLDB4NjIsMHgwMCwweDFjLDB4ODAsMHgwNCwweDA0IH0sCi0gIDE2LCAweGQ1YTAsIDAsIHsweDgwLDB4ODksMHgyMCwweDUwLDB4MDgsMHgxNCwweDgwLDB4MDQsMHgyNCwweDAxLDB4YzEsMHgwMCwweDUwLDB4MDAsMHgxOCwweDAwIH0sCi0gIDE2LCAweGQ1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHg4MCwweDM4LDB4MjAsMHgwNCwweDBjIH0sCi0gIDE2LCAweGQ1YzAsIDAsIHsweDMxLDB4MGEsMHgwMCwweDAwLDB4MDIsMHgxOCwweDIwLDB4OGMsMHhhOCwweDEwLDB4MjgsMHgwOCwweDg4LDB4YzEsMHgxNCwweDEwIH0sCi0gIDE2LCAweGQ1ZDAsIDAsIHsweGM2LDB4MDAsMHgyMiwweDAzLDB4MDgsMHgwMiwweDAxLDB4MDgsMHhiMCwweDAwLDB4MGMsMHgyMSwweDAyLDB4MDAsMHg4MiwweDgwIH0sCi0gIDE2LCAweGQ1ZTAsIDAsIHsweDA4LDB4MDAsMHg0OSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHg4MCwweDA4LDB4MjAsMHgwMywweDAwLDB4MDQsMHgwMiwweDQzLDB4MjAsMHgwMCwweDQwIH0sCi0gIDE2LCAweGQ2MDAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDA0LDB4NDIsMHgwMSwweDEwLDB4ODAsMHg4NCwweDIwLDB4MTEsMHgwOCwweDA0LDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2MTAsIDAsIHsweDAwLDB4NDQsMHgyNCwweDIwLDB4MDksMHgwOCwweDQwLDB4MDMsMHgwMCwweDkwLDB4YzQsMHgyMCwweDIwLDB4MDgsMHgwYywweDAyIH0sCi0gIDE2LCAweGQ2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHg4MSwweDA4LDB4MjAsMHgwNCwweDg4IH0sCi0gIDE2LCAweGQ2MzAsIDAsIHsweDAyLDB4MjIsMHgwOCwweDA4LDB4YzMsMHgyYSwweDkwLDB4NDAsMHg4NCwweDEwLDB4MjAsMHgwNCwweDgwLDB4YzIsMHgyNiwweDIwIH0sCi0gIDE2LCAweGQ2NDAsIDAsIHsweDQ5LDB4ODgsMHgyMiwweDIyLDB4MGMsMHgwOCwweGMxLDB4MjYsMHhhMCwweGM5LDB4OGMsMHgxMiwweDJhLDB4MDQsMHg4OCwweDQzIH0sCi0gIDE2LCAweGQ2NTAsIDAsIHsweDBlLDB4YTAsMHhjYiwweDg4LDB4MTAsMHgyMiwweDBjLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2NjAsIDAsIHsweDA4LDB4MDAsMHgwYSwweDQwLDB4MzIsMHgwMCwweDAxLDB4ODAsMHgzMSwweDI4LDB4MDAsMHgwMCwweDAxLDB4MTIsMHg4MCwweDhkIH0sCi0gIDE2LCAweGQ2NzAsIDAsIHsweDg0LDB4MDAsMHgyOCwweDBjLDB4MDgsMHgwMSwweDMyLDB4MDAsMHg4YywweDgwLDB4MDIsMHgyMCwweDBjLDB4MDgsMHgwMSwweDJlIH0sCi0gIDE2LCAweGQ2ODAsIDAsIHsweDAwLDB4YzMsMHg4MCwweDAyLDB4MjAsMHgwNCwweDA4LDB4NDMsMHgwMiwweDAwLDB4NDAsMHg4MCwweDEwLDB4MjAsMHgwNCwweDAyIH0sCi0gIDE2LCAweGQ2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHg4NywweDBhLDB4MjEsMHgwNCwweDg4IH0sCi0gIDE2LCAweGQ2YTAsIDAsIHsweDExLDB4MmEsMHgxYywweDBhLDB4MDYsMHgyMiwweDIxLDB4NDAsMHhhMCwweDQyLDB4MmEsMHgxMCwweDg4LDB4ODUsMHgwYSwweGExIH0sCi0gIDE2LCAweGQ2YjAsIDAsIHsweDA2LDB4YTQsMHg2MiwweDIyLDB4MWMsMHgwYSwweGM0LDB4MDIsMHgyMSwweDgwLDB4OGMsMHg1MiwweDIyLDB4MTQsMHg0OCwweDg2IH0sCi0gIDE2LCAweGQ2YzAsIDAsIHsweDIyLDB4MjAsMHgwOCwweGE4LDB4NjAsMHgyYSwweDE0LDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ2ZDAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDQ1LDB4MDYsMHgwMSwweDg5LDB4ODAsMHg2MywweDIwLDB4MWMsMHg4OCwweDQwLDB4MzQsMHgxMSwweDAxIH0sCi0gIDE2LCAweGQ2ZTAsIDAsIHsweGE0LDB4NTAsMHgyOCwweDE4LDB4NDgsMHgwNCwweDBlLDB4MDEsMHg0YiwweDgwLDB4NzMsMHgyOCwweDFjLDB4OGEsMHgwNCwweDA2IH0sCi0gIDE2LCAweGQ2ZjAsIDAsIHsweDkxLDB4NDksMHgwNCwweDYzLDB4MjAsMHgxYywweDhhLDB4MDYsMHgyNiwweDAxLDB4ODUsMHg4MCwweDcwLDB4MjAsMHgxOCwweDAyIH0sCi0gIDE2LCAweGQ3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHg4NSwweDAwLDB4YjEsMHg0NSwweDJjIH0sCi0gIDE2LCAweGQ3MTAsIDAsIHsweDcwLDB4MDIsMHgxNCwweGMwLDB4MDcsMHgwOCwweDIxLDB4NDksMHgwMCwweDQyLDB4MDEsMHgxNCwweDgyLDB4MDUsMHgwMCwweDExIH0sCi0gIDE2LCAweGQ3MjAsIDAsIHsweDg0LDB4MDAsMHg1MiwweDAyLDB4MWMsMHgwMCwweGM0LDB4MDAsMHgyMSwweGM0LDB4MmMsMHg1MywweDAyLDB4MWMsMHgwMiwweDgxIH0sCi0gIDE2LCAweGQ3MzAsIDAsIHsweDA0LDB4YTEsMHhjZCwweDA4LDB4NTAsMHgwMiwweDE0LDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3NDAsIDAsIHsweDA4LDB4MTAsMHgxMiwweDA0LDB4MzQsMHgwMSwweGNjLDB4MDAsMHg3MywweDQwLDB4MWMsMHg5MCwweDQ1LDB4MDQsMHgwMSwweDQ4IH0sCi0gIDE2LCAweGQ3NTAsIDAsIHsweDA0LDB4NjAsMHg0MSwweDE4LDB4YzAsMHg0NCwweDA0LDB4MDEsMHgwNSwweDA0LDB4NzMsMHg0OCwweDE0LDB4NTAsMHg0NywweDM0IH0sCi0gIDE2LCAweGQ3NjAsIDAsIHsweDAxLDB4NDUsMHgyMCwweDYyLDB4MDgsMHgxYywweGMyLDB4MDQsMHgwYywweDgxLDB4YzcsMHgwMCwweDczLDB4ODAsMHgxOCwweGMyIH0sCi0gIDE2LCAweGQ3NzAsIDAsIHsweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MTAsMHg4NCwweDEwLDB4MjEsMHhjYywweDI4IH0sCi0gIDE2LCAweGQ3ODAsIDAsIHsweDQyLDB4MDIsMHgxNCwweDEyLDB4YzUsMHgxMCwweDIxLDB4ODQsMHgwNCwweDQwLDB4MDAsMHgxYywweDgwLDB4ODQsMHgwMCwweDkxIH0sCi0gIDE2LCAweGQ3OTAsIDAsIHsweDAwLDB4MDgsMHg3MywweDgyLDB4MWMsMHg5MCwweDA1LDB4MGMsMHgwMSwweGNmLDB4MGMsMHg0MCwweDAyLDB4MTQsMHgzMCwweDQ1IH0sCi0gIDE2LCAweGQ3YTAsIDAsIHsweDIwLDB4YTEsMHhjMCwweDA4LDB4NTAsMHgwMiwweDEwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDQ1LDB4MGMsMHg4MSwweDAwLDB4MDAsMHgwMSwweDA4LDB4MDgsMHgwMCwweDA1LDB4MTgsMHg5MSwweDA1IH0sCi0gIDE2LCAweGQ3YzAsIDAsIHsweDA0LDB4MDAsMHgwMSwweDA0LDB4NDAsMHgwNiwweDE4LDB4MDAsMHgwMiwweDI0LDB4NzAsMHg0MCwweDA0LDB4MDAsMHg0MCwweDAwIH0sCi0gIDE2LCAweGQ3ZDAsIDAsIHsweDAxLDB4YzQsMHgyNCwweDAwLDB4ODgsMHgwNCwweDAwLDB4NDMsMHgxMCwweDAwLDB4NDAsMHgyMCwweDAwLDB4ODgsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHg4NSwweDI0LDB4MzEsMHgwMiwweDBjIH0sCi0gIDE2LCAweGQ3ZjAsIDAsIHsweDAyLDB4YzIsMHgwNCwweDEwLDB4YzQsMHgyOCwweDIxLDB4NDksMHgwYywweDAyLDB4YzAsMHgwNCwweGIyLDB4MDYsMHgxYywweDIwIH0sCi0gIDE2LCAweGQ4MDAsIDAsIHsweDAzLDB4MDgsMHg1MCwweDQyLDB4MGMsMHg4MCwweDAxLDB4MDQsMHhhMSwweDQ5LDB4MGMsMHgwMCwweGMyLDB4MGMsMHgxMCwweDQzIH0sCi0gIDE2LCAweGQ4MTAsIDAsIHsweDI0LDB4YTAsMHhjMSwweDA4LDB4MTAsMHg0MiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4MjAsIDAsIHsweDAwLDB4MTAsMHhhMiwweDAwLDB4MjAsMHgwMCwweGNkLDB4MDAsMHgwMCwweDQwLDB4MDQsMHgyMCwweDAxLDB4MTAsMHgwMCwweDA5IH0sCi0gIDE2LCAweGQ4MzAsIDAsIHsweDA0LDB4MDIsMHg0OSwweDBjLDB4OTIsMHgwNywweDMwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHgwOCwweDBjLDB4OTIsMHg0MSwweDAwIH0sCi0gIDE2LCAweGQ4NDAsIDAsIHsweDgwLDB4Y2MsMHgwMCwweDAwLDB4MDAsMHgwYywweDAwLDB4NDMsMHgyOCwweDgwLDB4YzIsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4NTAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgxMCwweDUwLDB4ODAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4NjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweGYwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGQwLDB4ODAsMHg4MCwweDAwIH0sCi0gIDE2LCAweGQ4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHg5MCwweDgwIH0sCi0gIDE2LCAweGQ4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4OTAsIDAsIHsweDNjLDB4M2MsMHgxMCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweGEwLDB4ODAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ4YTAsIDAsIHsweDAwLDB4MDAsMHg0MCwweDEwLDB4OTAsMHg4MCwweGEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4OTAsMHg4MCwweGEwIH0sCi0gIDE2LCAweGQ4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDIwLDB4ODAsMHgxMCwweDkwLDB4YTAsMHhhMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDhmIH0sCi0gIDE2LCAweGQ4YzAsIDAsIHsweDBmLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmMsMHhjMiwweGU0LDB4ODEsMHg4MCwweDNmIH0sCi0gIDE2LCAweGQ4ZDAsIDAsIHsweGQ5LDB4YmYsMHhkOSwweDk4LDB4NzEsMHg5ZCwweDQyLDB4ODAsMHgwMCwweDI2LDB4N2YsMHhlNiwweDcyLDB4YWIsMHg3YywweDNhIH0sCi0gIDE2LCAweGQ4ZTAsIDAsIHsweDQwLDB4MDAsMHgxOSwweDgwLDB4MjYsMHg0OCwweGRkLDB4M2MsMHg5MSwweGMwLDB4MjYsMHg0MCwweDI2LDB4NDAsMHgzOCwweDMxIH0sCi0gIDE2LCAweGQ4ZjAsIDAsIHsweGRiLDB4NjEsMHhjMCwweDE5LDB4OTksMHhiZiwweGM5LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5MDAsIDAsIHsweDAwLDB4MDAsMHgxMCwweDgwLDB4MTAsMHgxNCwweDgwLDB4MDYsMHg4NCwweDk3LDB4OTYsMHg4NiwweDk2LDB4MDYsMHg5MCwweDAwIH0sCi0gIDE2LCAweGQ5MTAsIDAsIHsweDNmLDB4YTEsMHgyOCwweDAxLDB4MDIsMHg5MCwweDEyLDB4MDAsMHg4MCwweDE3LDB4ODgsMHgxNiwweDllLDB4OTAsMHg5MCwweDA0IH0sCi0gIDE2LCAweGQ5MjAsIDAsIHsweDEwLDB4MDAsMHgzNiwweGJlLDB4YmUsMHg5ZSwweDg2LDB4MTYsMHgxMiwweDg0LDB4ODAsMHgxMywweGJlLDB4OTcsMHhhZSwweDgwIH0sCi0gIDE2LCAweGQ5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDgyIH0sCi0gIDE2LCAweGQ5NDAsIDAsIHsweDgxLDB4ODQsMHgyMSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhhMSwweDM4LDB4MDEsMHg3OCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5NTAsIDAsIHsweDA4LDB4YjgsMHgyMSwweDcyLDB4NjgsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4OTgsMHg0NCwweDg4LDB4NjgsMHg4MCwweDAwIH0sCi0gIDE2LCAweGQ5NjAsIDAsIHsweDAwLDB4MDAsMHgwOCwweGI4LDB4MDEsMHg3OCwweDAxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5NzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGY3LDB4YWYsMHhmZiwweGMwIH0sCi0gIDE2LCAweGQ5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH0sCi0gIDE2LCAweGQ5OTAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhiZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGQ5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH0sCi0gIDE2LCAweGQ5YzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmIH0sCi0gIDE2LCAweGQ5ZDAsIDAsIHsweDJmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGQ5ZTAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweGMwIH0sCi0gIDE2LCAweGQ5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH0sCi0gIDE2LCAweGRhMDAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGRhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhiZiwweGJmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZGYsMHhiZiwweGRmIH0sCi0gIDE2LCAweGRhMzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGVmLDB4ZmYsMHhmZiwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGRmIH0sCi0gIDE2LCAweGRhNDAsIDAsIHsweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhNTAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweDNlLDB4YWYsMHhmZiwweGMwIH0sCi0gIDE2LCAweGRhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhlNywweGZlIH0sCi0gIDE2LCAweGRhNzAsIDAsIHsweGVmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGRmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGRhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZjcsMHhmZiwweGZmIH0sCi0gIDE2LCAweGRhYTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGZmLDB4ZmYsMHhkZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGY3IH0sCi0gIDE2LCAweGRhYjAsIDAsIHsweGRmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRhYzAsIDAsIHsweDAwLDB4MDAsMHgwMiwweGM0LDB4MDAsMHhiMSwweGMzLDB4MmMsMHg1MCwweDA5LDB4MTQsMHg4MiwweGM0LDB4MzAsMHg5MSwweGM3IH0sCi0gIDE2LCAweGRhZDAsIDAsIHsweDI0LDB4NjAsMHgwOCwweDFjLDB4ODIsMHgwNywweDM0LDB4OTEsMHg0YywweDA0LDB4NDMsMHgwYSwweDEwLDB4YzIsMHg4NCwweDA0IH0sCi0gIDE2LCAweGRhZTAsIDAsIHsweDkxLDB4ODQsMHgyNCwweDUyLDB4MGIsMHgxOCwweDAyLDB4YzQsMHgyNCwweGIxLDB4YzMsMHgyYywweDQwLDB4MGEsMHgxMCwweDgwIH0sCi0gIDE2LCAweGRhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDAyLDB4MDEsMHhjNCwweDgwIH0sCi0gIDE2LCAweGRiMDAsIDAsIHsweDYwLDB4MjAsMHgxYywweDA4LDB4NDQsMHgyMiwweDAxLDB4YzAsMHg4NCwweDUwLDB4MDEsMHg5YywweDA4LDB4MDcsMHgwYSwweDAxIH0sCi0gIDE2LCAweGRiMTAsIDAsIHsweGMwLDB4ODQsMHg3MiwweDIwLDB4MWMsMHhjOCwweDA0LDB4MTIsMHgxMSwweDQ0LDB4ODAsMHg0MSwweDAxLDB4MWMsMHg4MCwweDA3IH0sCi0gIDE2LCAweGRiMjAsIDAsIHsweDA4LDB4MTEsMHhjNCwweDAwLDB4NzAsMHgwMCwweDEwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDg2LDB4MmMsMHgyMSwweDRhLDB4MGMsMHg1MiwweDAyLDB4MWMsMHg4MCwweDA0LDB4MjAsMHgyMSwweGNhIH0sCi0gIDE2LCAweGRiNDAsIDAsIHsweDEwLDB4NjIsMHgwMiwweDFjLDB4ODEsMHg0NywweDA0LDB4MjEsMHhjMywweDIwLDB4NTEsMHgwMSwweDFjLDB4ODAsMHgwNCwweDJjIH0sCi0gIDE2LCAweGRiNTAsIDAsIHsweDAxLDB4Y2IsMHgwNCwweDUyLDB4MDMsMHgxNCwweDQwLDB4YzcsMHgyMCwweDMxLDB4YzgsMHgwYywweDUwLDB4MjIsMHgxMCwweDgwIH0sCi0gIDE2LCAweGRiNjAsIDAsIHsweDAxLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNiwweDIwLDB4MDEsMHg4OSwweDAwIH0sCi0gIDE2LCAweGRiNzAsIDAsIHsweDUyLDB4MDAsMHgxNCwweDgwLDB4MDQsMHgyOCwweDAxLDB4NDUsMHgwNCwweDYyLDB4MDAsMHgxMCwweDgwLDB4NDYsMHgzMCwweDExIH0sCi0gIDE2LCAweGRiODAsIDAsIHsweDBkLDB4MDAsMHg0MiwweDAxLDB4MTQsMHhjMCwweDQ0LDB4MDAsMHgxMSwweDA1LDB4MDAsMHg1MCwweDAwLDB4MWMsMHgwMCwweDQ0IH0sCi0gIDE2LCAweGRiOTAsIDAsIHsweDI4LDB4MDEsMHg0OSwweDAwLDB4NzAsMHgwMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiYTAsIDAsIHsweDAwLDB4MDAsMHgwOCwweGMwLDB4MDIsMHgzMCwweDBjLDB4OGMsMHgzMCwweDIyLDB4MDgsMHg4OCwweGMyLDB4MjYsMHgwMCwweDA4IH0sCi0gIDE2LCAweGRiYjAsIDAsIHsweDgwLDB4MjAsMHgyMiwweDBjLDB4ODgsMHg4MSwweDAyLDB4MTAsMHhjNCwweDgwLDB4MTAsMHgyMiwweDBjLDB4MDgsMHg0MCwweDAyIH0sCi0gIDE2LCAweGRiYzAsIDAsIHsweDEwLDB4NDgsMHg4OCwweDAxLDB4MjMsMHgwNCwweGM4LDB4NDIsMHgwMiwweDEwLDB4NDYsMHg4YywweDEyLDB4MjIsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRiZDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHhjOCwweDIwIH0sCi0gIDE2LCAweGRiZTAsIDAsIHsweDExLDB4MDksMHgwMCwweDgwLDB4NDEsMHgxMCwweDkwLDB4MDgsMHgyNCwweDMwLDB4MDgsMHgwNCwweDQyLDB4NDEsMHgwMCwweDkwIH0sCi0gIDE2LCAweGRiZjAsIDAsIHsweGM0LDB4MjAsMHgwMCwweDA4LDB4MDQsMHg0MiwweDAwLDB4MTAsMHg4MCwweDRjLDB4MjAsMHgyMywweDA5LDB4MDQsMHhjMiwweDQzIH0sCi0gIDE2LCAweGRjMDAsIDAsIHsweDMwLDB4ODAsMHg0MCwweDIwLDB4MTEsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjMTAsIDAsIHsweDA4LDB4MDAsMHgwOCwweDgxLDB4MDIsMHgyMCwweGM5LDB4OGMsMHgxMiwweDIwLDB4MDQsMHg0OCwweDQxLDB4MjIsMHgwMCwweDA5IH0sCi0gIDE2LCAweGRjMjAsIDAsIHsweDg4LDB4MzAsMHgyMCwweDBjLDB4ODgsMHgwMywweDBlLDB4MDAsMHg0OSwweDhjLDB4MTAsMHgyMiwweDBjLDB4ODgsMHg0MCwweDJlIH0sCi0gIDE2LCAweGRjMzAsIDAsIHsweDAwLDB4YzksMHg4NCwweDEzLDB4MjEsMHgwNCwweGM4LDB4YzMsMHgyMiwweDAwLDB4Y2IsMHg4YywweDMyLDB4MjIsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjNDAsIDAsIHsweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwMSwweDAyLDB4MDAsMHg0YiwweDgwIH0sCi0gIDE2LCAweGRjNTAsIDAsIHsweDMyLDB4MjEsMHgwOCwweDg4LDB4NDEsMHgwMiwweDEwLDB4MGYsMHg4MCwweDEwLDB4MjEsMHg4YywweDA4LDB4NDEsMHgwMiwweDAwIH0sCi0gIDE2LCAweGRjNjAsIDAsIHsweDg3LDB4ODQsMHgxMCwweDIwLDB4MDQsMHg4OCwweDAwLDB4MDIsMHgwMCwweDQ3LDB4ODAsMHgxMCwweDIxLDB4MGMsMHg4OCwweDQxIH0sCi0gIDE2LCAweGRjNzAsIDAsIHsweDE2LDB4MTAsMHg0NiwweDgwLDB4MzAsMHgyMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjODAsIDAsIHsweDAwLDB4MDAsMHgwYSwweGM0LDB4MjIsMHhhMSwweDA4LDB4YTQsMHg3MiwweDJhLDB4MTQsMHgwYSwweDg1LDB4MDIsMHg4MSwweDg0IH0sCi0gIDE2LCAweGRjOTAsIDAsIHsweGEwLDB4NDIsMHgyOCwweDFjLDB4MGEsMHhjNSwweDAyLDB4OTEsMHg0MCwweGI4LDB4NzMsMHgyOSwweDEwLDB4Y2EsMHhjNCwweDAyIH0sCi0gIDE2LCAweGRjYTAsIDAsIHsweGExLDB4ODAsMHhhNCwweDQyLDB4MmEsMHgxNCwweGNhLDB4ODUsMHgyMiwweDkxLDB4ODAsMHhhOCwweDcwLDB4MmEsMHgxOCwweDAyIH0sCi0gIDE2LCAweGRjYjAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwNCwweDFlLDB4MDEsMHhjOCwweDgwIH0sCi0gIDE2LCAweGRjYzAsIDAsIHsweDQzLDB4MjAsMHgxOCwweDA4LDB4NDUsMHgzZSwweDAxLDB4MGMsMHg4MCwweDYxLDB4MjAsMHg5YywweDQ4LDB4MDYsMHgxMiwweDgxIH0sCi0gIDE2LCAweGRjZDAsIDAsIHsweGMwLDB4ODAsMHg3MywweDAwLDB4MTAsMHg4OCwweDA2LDB4MDIsMHgwMSwweGM4LDB4MDAsMHg0MiwweDIwLDB4MTAsMHhjOCwweDA3IH0sCi0gIDE2LCAweGRjZTAsIDAsIHsweDAyLDB4MTEsMHhjZCwweDgwLDB4NTEsMHgyMCwweDE0LDB4ODIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRjZjAsIDAsIHsweDA4LDB4MDAsMHgwMCwweGM0LDB4MjQsMHgyMSwweGM4LDB4MGMsMHg0MiwweDAxLDB4MTQsMHgwMCwweDAwLDB4MjgsMHgxMCwweDRjIH0sCi0gIDE2LCAweGRkMDAsIDAsIHsweDA4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHg0NSwweDI0LDB4MjksMHg0MCwweDA0LDB4NzIsMHgwMCwweDEwLDB4YzAsMHgwNSwweDI0IH0sCi0gIDE2LCAweGRkMTAsIDAsIHsweDExLDB4NDQsMHgwOCwweDQzLDB4MDEsMHgxNCwweGMwLDB4NDcsMHgyNCwweDIwLDB4NDgsMHgwOCwweDcyLDB4MDIsMHgxMCwweDAwIH0sCi0gIDE2LCAweGRkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4MDAsMHgwNywweDEwLDB4MTEsMHgwNiwweDAwIH0sCi0gIDE2LCAweGRkMzAsIDAsIHsweDcyLDB4MDAsMHgxOCwweGQwLDB4NDYsMHgyMCwweDAxLDB4NGQsMHgwMCwweDcxLDB4NDAsMHgxMCwweDUwLDB4MDcsMHgzMCwweDExIH0sCi0gIDE2LCAweGRkNDAsIDAsIHsweGMzLDB4MDAsMHg3MSwweDQxLDB4MTAsMHhiMCwweDA1LDB4MmMsMHgwMSwweDQ5LDB4MDAsMHg0MywweDAwLDB4MWMsMHg1MCwweDQ1IH0sCi0gIDE2LCAweGRkNTAsIDAsIHsweDMwLDB4MDEsMHg4YywweDAwLDB4NjEsMHg0MCwweDE4LDB4NDIsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkNjAsIDAsIHsweDAwLDB4MDAsMHgzMCwweGM1LDB4MDAsMHgyMSwweGMwLDB4MGMsMHg0MCwweDAxLDB4MTQsMHgxMiwweDQ0LDB4MDQsMHgzMSwweDg0IH0sCi0gIDE2LCAweGRkNzAsIDAsIHsweDI0LDB4NDAsMHg4MCwweDE0LDB4YTEsMHhjNywweDAwLDB4MDEsMHg0MCwweDA4LDB4NDAsMHgwMSwweDE0LDB4MjAsMHgwNSwweDIwIH0sCi0gIDE2LCAweGRkODAsIDAsIHsweDExLDB4YzAsMHgwMiwweDYwLDB4ODIsMHgxOCwweDAwLDB4ODcsMHgyNCwweDExLDB4NDAsMHgwOCwweDQwLDB4NDIsMHgxMCwweDAyIH0sCi0gIDE2LCAweGRkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDBjLDB4ODAsMHhjNCwweDI0IH0sCi0gIDE2LCAweGRkYTAsIDAsIHsweDMxLDB4NDgsMHgwYywweDAwLDB4MDEsMHgwOCwweGMxLDB4NDEsMHgwMCwweDAwLDB4NDksMHgwMCwweDQyLDB4MDMsMHgwOCwweDEwIH0sCi0gIDE2LCAweGRkYjAsIDAsIHsweDgwLDB4MjAsMHgyMSwweDA5LDB4MGMsMHgwMiwweDAyLDB4MTgsMHg4MCwweGMxLDB4MjQsMHgzMCwweDA4LDB4MGMsMHg0MiwweDAxIH0sCi0gIDE2LCAweGRkYzAsIDAsIHsweDEwLDB4ODAsMHg4MywweDIwLDB4MTEsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRkZDAsIDAsIHsweDAwLDB4MDAsMHgxMCwweGMxLDB4MDQsMHgyMCwweDQ4LDB4MGMsMHgxMiwweDQyLDB4MDQsMHgwMCwweDgzLDB4MDAsMHgzMSwweDQ4IH0sCi0gIDE2LCAweGRkZTAsIDAsIHsweDAwLDB4MDIsMHg0MSwweDA0LDB4YTAsMHgwNywweDBjLDB4MjAsMHg0MCwweDAwLDB4MTIsMHhjMiwweDBjLDB4ODAsMHhjMSwweDIwIH0sCi0gIDE2LCAweGRkZjAsIDAsIHsweDIwLDB4YzgsMHgwMCwweDEyLDB4YzEsMHgwYywweGIwLDB4NDEsMHgyMCwweDAwLDB4NDksMHgwOCwweDAyLDB4NDIsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ODAsMHgwMSwweDAwLDB4MTAsMHg4MSwweDAwIH0sCi0gIDE2LCAweGRlMTAsIDAsIHsweDMwLDB4NDAsMHgwOCwweDIwLDB4MDMsMHgwMCwweDEwLDB4YzEsMHgyMCwweDAyLDB4MDAsMHgwNCwweDgwLDB4NDAsMHgzMCwweDkwIH0sCi0gIDE2LCAweGRlMjAsIDAsIHsweDAxLDB4MTQsMHgwMiwweDQwLDB4MDQsMHg4MCwweDQwLDB4MjAsMHgwMCwweDA5LDB4MDQsMHgzMiwweDAxLDB4MDgsMHhhMCwweDAzIH0sCi0gIDE2LCAweGRlMzAsIDAsIHsweDA0LDB4MTAsMHgwOCwweDAwLDB4MjIsMHg0MCwweDAwLDB4MDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlNDAsIDAsIHsweDAwLDB4MDAsMHgzMCwweDAwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhmMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlNTAsIDAsIHsweDAwLDB4MTAsMHg4MCwweDAwLDB4ZjAsMHgwMCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4ZjAsMHgxMCwweGEwIH0sCi0gIDE2LCAweGRlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweGYwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4ODAsMHgwMCwweGNjIH0sCi0gIDE2LCAweGRlNzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzYywweDNjLDB4MTAsMHhhMCwweDgwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlODAsIDAsIHsweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHhjMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwIH0sCi0gIDE2LCAweGRlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwIH0sCi0gIDE2LCAweGRlYTAsIDAsIHsweGUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OGMsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRlYjAsIDAsIHsweDAwLDB4MDAsMHgwOSwweDRkLDB4YjEsMHhlOSwweDAwLDB4MjYsMHg0MCwweDJhLDB4N2YsMHhlMywweGYyLDB4NTQsMHg5OCwweGMwIH0sCi0gIDE2LCAweGRlYzAsIDAsIHsweDNmLDB4ZTYsMHg0MCwweDAwLDB4MDEsMHg0MiwweDkxLDB4ZDAsMHhjMCwweDEzLDB4ZTUsMHg4NywweDYzLDB4ODMsMHhiOCwweGNkIH0sCi0gIDE2LCAweGRlZDAsIDAsIHsweGY5LDB4MDAsMHgyNiwweDdmLDB4MDAsMHgwMCwweDM1LDB4MmUsMHhkNSwweDAzLDB4NDAsMHgzZiwweGQ5LDB4YmYsMHhiMSwweDgwIH0sCi0gIDE2LCAweGRlZTAsIDAsIHsweDAxLDB4ZjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHgwMiwweDE2LDB4MTQsMHgwMCwweDFjIH0sCi0gIDE2LCAweGRlZjAsIDAsIHsweGE4LDB4M2YsMHg4OCwweDE2LDB4MDAsMHg4MCwweDg0LDB4ODAsMHgzNywweDllLDB4YmEsMHhhMCwweDUwLDB4MTAsMHgwMiwweDEyIH0sCi0gIDE2LCAweGRmMDAsIDAsIHsweDAwLDB4MTcsMHg5NiwweDk3LDB4MjYsMHg1MCwweDEwLDB4MTAsMHg4MiwweDgwLDB4MWUsMHg4MCwweGRlLDB4YmUsMHg5NCwweDE0IH0sCi0gIDE2LCAweGRmMTAsIDAsIHsweDAyLDB4MTAsMHg4MCwweDE3LDB4YmUsMHg4MSwweDk0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YTgsMHg0NCwweDk0LDB4MjgsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4IH0sCi0gIDE2LCAweGRmMzAsIDAsIHsweDk0LDB4MjEsMHg0NCwweDUxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDg0LDB4NDIsMHg0MSwweDAxLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmNDAsIDAsIHsweDAwLDB4MDgsMHhhMSwweDcyLDB4MjMsMHg0MSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhiOCwweDAxLDB4NzgsMHgzMiwweDQwIH0sCi0gIDE2LCAweGRmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGRmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZjcsMHhmZSwweGQ3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhkNywweGRmIH0sCi0gIDE2LCAweGRmNzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzNywweDdmIH0sCi0gIDE2LCAweGRmODAsIDAsIHsweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmOTAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZSwweGZmLDB4ZGUsMHg3NywweGMwIH0sCi0gIDE2LCAweGRmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhlZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH0sCi0gIDE2LCAweGRmYjAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGRmYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGRmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDFmLDB4Y2YsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGJmIH0sCi0gIDE2LCAweGRmZTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmIH0sCi0gIDE2LCAweGRmZjAsIDAsIHsweGZmLDB4YmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwMDAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwIH0sCi0gIDE2LCAweGUwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweDFmIH0sCi0gIDE2LCAweGUwMjAsIDAsIHsweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZGYsMHhmZiwweGNmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH0sCi0gIDE2LCAweGUwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4YmYsMHhhZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH0sCi0gIDE2LCAweGUwNTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZSwweGRlLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmIH0sCi0gIDE2LCAweGUwNjAsIDAsIHsweGZmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwNzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweDdmLDB4ZmYsMHhmZiwweGMwIH0sCi0gIDE2LCAweGUwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZSwweGJlIH0sCi0gIDE2LCAweGUwOTAsIDAsIHsweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNlLDB4ZmYsMHhkNywweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwZTAsIDAsIHsweDMwLDB4MDAsMHgyMCwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4NDMsMHg4ZSwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGUzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGU5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGViZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAyLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MywweDgwIH0sCi0gIDE2LCAweGVmMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGVmZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGYzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGY5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZiZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMCwweDVmLDB4YTcsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAzIH0sCi0gIDE2LCAweGZkNDAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDBlLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDE2LCAweGZkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxIH0sCi0gIDE2LCAweGZkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDA1LDB4MzAsMHgwMCwweGEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAxIH0sCi0gIDE2LCAweGZkOTAsIDAsIHsweDAwLDB4MDAsMHg2YiwweDk3LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDQsIDB4ZmRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMCAsIDB4MDAwMCwgMSwgezB9Ci19OwotLy8gVkVSU0lPTj0gMS4wLjAuMTkxCi0vLyBEQVRFPSAyMDAyb2N0MjgKLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfSGV4TWlkaUZ3NjJbXSA9IHsKLSAgIDMsMHgwMDAwLDAsezB4MDIsMHg0NiwweGI5fSwKLSAgIDMsMHgwMDAzLDAsezB4MDIsMHgwZiwweGZkfSwKLSAgIDMsMHgwMDBiLDAsezB4MDIsMHg0ZSwweDBmfSwKLSAgIDMsMHgwMDEzLDAsezB4MDIsMHgxNywweGZkfSwKLSAgIDMsMHgwMDFiLDAsezB4MDIsMHg0ZSwweDEyfSwKLSAgIDMsMHgwMDIzLDAsezB4MDIsMHg0ZCwweGVmfSwKLSAgIDMsMHgwMDJiLDAsezB4MDIsMHg0OCwweDAwfSwKLSAgIDMsMHgwMDMzLDAsezB4MDIsMHg0ZCwweGU2fSwKLSAgIDMsMHgwMDNiLDAsezB4MDIsMHg0ZCwweGY2fSwKLSAgIDMsMHgwMDQzLDAsezB4MDIsMHg0OSwweDAwfSwKLSAgIDMsMHgwMDRiLDAsezB4MDIsMHg0ZSwweDAzfSwKLSAgIDMsMHgwMDUzLDAsezB4MDIsMHg0OCwweGZhfSwKLSAgIDMsMHgwMDViLDAsezB4MDIsMHg0ZCwweGZkfSwKLSAgIDMsMHgwMDYzLDAsezB4MDIsMHg0ZSwweDA3fSwKLSAgMTYsMHgwNTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgxMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9LAotICAxNiwweDA1MTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweDA4LDB4MDIsMHgwNSwweDAxLDB4MDAsMHg4MCwweDMyLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MDUyMCwwLHsweDAxLDB4MDEsMHgwMCwweDAwLDB4MGEsMHgyNCwweDAxLDB4MDAsMHgwMSwweDU2LDB4MDAsMHgwMiwweDAxLDB4MDIsMHgwYywweDI0fSwKLSAgMTYsMHgwNTMwLDAsezB4MDIsMHgwMSwweDAxLDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDI0LDB4MDYsMHgwNSwweDAxLDB4MDJ9LAotICAxNiwweDA1NDAsMCx7MHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4MjQsMHgwMywweDAyLDB4MDQsMHgwMywweDAwLDB4MDUsMHgwMH0sCi0gIDE2LDB4MDU1MCwwLHsweDBjLDB4MjQsMHgwMiwweDAzLDB4MDUsMHgwMiwweDAwLDB4MDYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4MjQsMHgwNiwweDA2fSwKLSAgMTYsMHgwNTYwLDAsezB4MDMsMHgwMiwweDAwLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDB9LAotICAxNiwweDA1NzAsMCx7MHgwMCwweDA5LDB4MjQsMHgwMywweDA0LDB4MDEsMHgwMSwweDAwLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAwLDB4MDAsMHgwMX0sCi0gIDE2LDB4MDU4MCwwLHsweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAxLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxfSwKLSAgMTYsMHgwNTkwLDAsezB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyLDB4MDEsMHgwMiwweDAyLDB4MTAsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmJ9LAotICAxNiwweDA1YTAsMCx7MHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHgwYSwweDA1LDB4ODQsMHgwMSwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMX0sCi0gIDE2LDB4MDViMCwwLHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNSwweDAwLDB4MDksMHgwNCwweDAxfSwKLSAgMTYsMHgwNWMwLDAsezB4MDIsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDJ9LAotICAxNiwweDA1ZDAsMCx7MHgwMSwweDAyLDB4MDMsMHgxOCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNX0sCi0gIDE2LDB4MDVlMCwwLHsweDBhLDB4MDUsMHg0NiwweDAyLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1fSwKLSAgMTYsMHgwNWYwLDAsezB4OGYsMHgwMSwweDAzLDB4MDAsMHgwMSwweDA1LDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwMCwweDAwLDB4MDEsMHgwMiwweDAwLDB4MDB9LAotICAxNiwweDA2MDAsMCx7MHgwOSwweDA0LDB4MDIsMHgwMSwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMH0sCi0gIDE2LDB4MDYxMCwwLHsweDBlLDB4MjQsMHgwMiwweDAxLDB4MDYsMHgwMiwweDEwLDB4MDIsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwOSwweDA1fSwKLSAgMTYsMHgwNjIwLDAsezB4OGMsMHgwNSwweDRjLDB4MDIsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDR9LAotICAxNiwweDA2MzAsMCx7MHgwMiwweDAyLDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MGUsMHgyNH0sCi0gIDE2LDB4MDY0MCwwLHsweDAyLDB4MDEsMHgwNiwweDAzLDB4MTgsMHgwMiwweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDA5LDB4MDUsMHg4YywweDA1fSwKLSAgMTYsMHgwNjUwLDAsezB4NzIsMHgwMywweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyLDB4MDN9LAotICAxNiwweDA2NjAsMCx7MHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMX0sCi0gIDE2LDB4MDY3MCwwLHsweDAyLDB4MDIsMHgxMCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDhjfSwKLSAgMTYsMHgwNjgwLDAsezB4MDUsMHg4NCwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDJ9LAotICAxNiwweDA2OTAsMCx7MHgwNCwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMn0sCi0gIDE2LDB4MDZhMCwwLHsweDAxLDB4MDIsMHgwMywweDE4LDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1fSwKLSAgMTYsMHgwNmIwLDAsezB4OGMsMHgwNSwweDQ2LDB4MDIsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDR9LAotICAxNiwweDA2YzAsMCx7MHgwMywweDAwLDB4MDAsMHgwMSwweDAxLDB4MDAsMHgwMCwweDA5LDB4MjQsMHgwMSwweDAwLDB4MDEsMHgwOSwweDAwLDB4MDEsMHgwNH0sCi0gIDE2LDB4MDZkMCwwLHsweDA5LDB4MDQsMHgwNCwweDAwLDB4MDIsMHgwMSwweDAzLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAwLDB4MDEsMHgyNCwweDAwfSwKLSAgMTYsMHgwNmUwLDAsezB4MDYsMHgyNCwweDAyLDB4MDEsMHgwNywweDAwLDB4MDksMHgyNCwweDAzLDB4MDIsMHgwOCwweDAxLDB4MDcsMHgwMSwweDAwLDB4MDZ9LAotICAxNiwweDA2ZjAsMCx7MHgyNCwweDAyLDB4MDIsMHgwOSwweDAwLDB4MDksMHgyNCwweDAzLDB4MDEsMHgwYSwweDAxLDB4MDksMHgwMSwweDAwLDB4MDksMHgwNX0sCi0gIDE2LDB4MDcwMCwwLHsweDAxLDB4MDIsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgyNSwweDAxLDB4MDEsMHgwNywweDA5LDB4MDUsMHg4MSwweDAyfSwKLSAgMTYsMHgwNzEwLDAsezB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4MjUsMHgwMSwweDAxLDB4MGEsMHgwNCwweDAzLDB4MDksMHgwNCwweDE4LDB4MDN9LAotICAxNiwweDA3MjAsMCx7MHg0NSwweDAwLDB4NmQsMHgwMCwweDYxLDB4MDAsMHg2NywweDAwLDB4NjksMHgwMCwweDYzLDB4MDAsMHgyMCwweDAwLDB4NDcsMHgwMH0sCi0gIDE2LDB4MDczMCwwLHsweDZkLDB4MDAsMHg2MiwweDAwLDB4NDgsMHgwMCwweDIyLDB4MDMsMHg0NSwweDAwLDB4NmQsMHgwMCwweDYxLDB4MDAsMHg2NywweDAwfSwKLSAgMTYsMHgwNzQwLDAsezB4NjksMHgwMCwweDYzLDB4MDAsMHgyMCwweDAwLDB4NDUsMHgwMCwweDRkLDB4MDAsMHg0OSwweDAwLDB4MjAsMHgwMCwweDM2LDB4MDB9LAotICAxNiwweDA3NTAsMCx7MHg3YywweDAwLDB4MzIsMHgwMCwweDIwLDB4MDAsMHg2ZCwweDAwLDB4MmEsMHgwMywweDQzLDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMH0sCi0gIDE2LDB4MDc2MCwwLHsweDY2LDB4MDAsMHg2OSwweDAwLDB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDc0LDB4MDAsMHg2OSwweDAwfSwKLSAgMTYsMHgwNzcwLDAsezB4NmYsMHgwMCwweDZlLDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDB9LAotICAxNiwweDA3ODAsMCx7MHg2NywweDAwLDB4MjIsMHgwMywweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDAsMHg3MiwweDAwLDB4NjYsMHgwMH0sCi0gIDE2LDB4MDc5MCwwLHsweDYxLDB4MDAsMHg2MywweDAwLDB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwfSwKLSAgIDYsMHgwN2EwLDAsezB4NmUsMHgwMCwweDY3LDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwN2E2LDAsezB4ZTQsMHg5MCwweDc2LDB4NjYsMHhmMCwweDEyLDB4NDQsMHhhZCwweDIwLDB4MjYsMHgxMywweDkwLDB4NzYsMHg2NiwweGUwLDB4YzN9LAotICAxNiwweDA3YjYsMCx7MHg5NCwweDAyLDB4NTAsMHgwYSwweGUwLDB4MDQsMHhmMCwweGQyLDB4NDIsMHgxMiwweDRiLDB4N2YsMHg4MCwweGVhLDB4MzAsMHgyNn0sCi0gIDE2LDB4MDdjNiwwLHsweDA1LDB4MTIsMHgyOCwweDAxLDB4YzIsMHgyNiwweDMwLDB4MjUsMHgyYiwweDkwLDB4NzYsMHg5NiwweGUwLDB4NTQsMHhmYywweGYwfSwKLSAgMTYsMHgwN2Q2LDAsezB4OTAsMHg4MCwweDAzLDB4ZjAsMHgxMiwweDE0LDB4OTYsMHg5MCwweDc2LDB4OTYsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDkwLDB4ODB9LAotICAxNiwweDA3ZTYsMCx7MHgwMywweGYwLDB4ZTQsMHg5MCwweDc2LDB4NjcsMHhmMCwweDkwLDB4NzYsMHg2NywweGUwLDB4MDQsMHhmMCwweGUwLDB4YjQsMHg0Yn0sCi0gIDEwLDB4MDdmNiwwLHsweGY2LDB4MTIsMHg0NywweGZhLDB4MTIsMHg0MSwweDFiLDB4ODAsMHhjNSwweDIyfSwKLSAgMTYsMHgwODAwLDAsezB4ZTQsMHg5MCwweDc2LDB4MzEsMHhmMCwweDkwLDB4NzYsMHgzMSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGZ9LAotICAxNiwweDA4MTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWQsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4MDgyMCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MzEsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHgwODMwLDAsezB4ZWYsMHhiNCwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9LAotICAxNiwweDA4NDAsMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDMzLDB4ZjAsMHgyNH0sCi0gIDE2LDB4MDg1MCwwLHsweGYwLDB4NjAsMHgwYSwweDI0LDB4MGUsMHg2MCwweDAyLDB4ODEsMHg4NywweDEyLDB4NGIsMHhjNywweDIyLDB4OTAsMHg3ZiwweGVkfSwKLSAgMTYsMHgwODYwLDAsezB4ZTAsMHg2NCwweDA1LDB4NzAsMHg1MSwweDkwLDB4NzYsMHgxOCwweDc0LDB4MDUsMHhmMCwweDkwLDB4NzYsMHgzNywweDc0LDB4MDF9LAotICAxNiwweDA4NzAsMCx7MHhmMCwweDkwLDB4NzYsMHgzOSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4MjAsMHhmMH0sCi0gIDE2LDB4MDg4MCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MCwweDJmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fSwKLSAgMTYsMHgwODkwLDAsezB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmR9LAotICAxNiwweDA4YTAsMCx7MHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzYsMHgyMSwweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MDhiMCwwLHsweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMSwweDkwLDB4N2YsMHhlZCwweGUwLDB4NjQsMHgwNiwweDcwLDB4NTIsMHg5MCwweDc2fSwKLSAgMTYsMHgwOGMwLDAsezB4MTgsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4MzcsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzksMHg3NCwweDBhLDB4ZjB9LAotICAxNiwweDA4ZDAsMCx7MHg5MCwweDc2LDB4MjEsMHhmMCwweDkwLDB4NzYsMHgyMCwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MH0sCi0gIDE2LDB4MDhlMCwwLHsweDJmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgwOGYwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmQsMHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzZ9LAotICAxNiwweDA5MDAsMCx7MHgyMSwweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMX0sCi0gIDE2LDB4MDkxMCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgwOTIwLDAsezB4ZjUsMHg4MywweGUwLDB4OTAsMHg3MiwweDI5LDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgzYiwweGYwLDB4OTAsMHg3NiwweDIxLDB4ZTB9LAotICAxNiwweDA5MzAsMCx7MHhmZSwweGVmLDB4NmUsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYn0sCi0gIDE2LDB4MDk0MCwwLHsweGUwLDB4MTQsMHg2MCwweDEzLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhlMiwweDI0LDB4MDIsMHg2MCwweDAyLDB4ODEsMHg3ZiwweDkwfSwKLSAgMTYsMHgwOTUwLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDE0LDB4NzAsMHg3YywweDkwLDB4N2Z9LAotICAxNiwweDA5NjAsMCx7MHhlYSwweGUwLDB4ZjQsMHg3MCwweDQ4LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOX0sCi0gIDE2LDB4MDk3MCwwLHsweGUwLDB4ZmUsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZkLDB4YzMsMHg5ZSwweDUwLDB4MmIsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZlfSwKLSAgMTYsMHgwOTgwLDAsezB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZSwweGVkLDB4NzV9LAotICAxNiwweDA5OTAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZSwweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MDlhMCwwLHsweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhjNywweDkwLDB4NzYsMHgzZiwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZSwweGMwfSwKLSAgMTYsMHgwOWIwLDAsezB4ZTAsMHhmZSwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDA5YzAsMCx7MHhlZSwweGYwLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MCwweDc2LDB4M2UsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDA1LDB4ZTQsMHg5MH0sCi0gIDE2LDB4MDlkMCwwLHsweDc2LDB4M2UsMHhmMCwweDkwLDB4NzYsMHgzZiwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSwKLSAgMTYsMHgwOWUwLDAsezB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZSwweDcwLDB4MDIsMHg0MSwweGEzLDB4MTQsMHg3MCwweDAyLDB4NjF9LAotICAxNiwweDA5ZjAsMCx7MHgzZiwweDE0LDB4NzAsMHgwMiwweDYxLDB4ZGIsMHgyNCwweDAzLDB4NjAsMHgwMiwweDgxLDB4NzcsMHg5MCwweDdmLDB4ZWEsMHhlMH0sCi0gIDE2LDB4MGEwMCwwLHsweGY0LDB4NzAsMHg2YiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmfSwKLSAgMTYsMHgwYTEwLDAsezB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg1MCwweDRlLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjB9LAotICAxNiwweDBhMjAsMCx7MHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYX0sCi0gIDE2LDB4MGEzMCwwLHsweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgzYiwweGUwfSwKLSAgMTYsMHgwYTQwLDAsezB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWV9LAotICAxNiwweDBhNTAsMCx7MHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MGE2MCwwLHsweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDQwLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlfSwKLSAgMTYsMHgwYTcwLDAsezB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODJ9LAotICAxNiwweDBhODAsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYX0sCi0gIDE2LDB4MGE5MCwwLHsweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHg0MSwweDc0fSwKLSAgMTYsMHgwYWEwLDAsezB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzZ9LAotICAxNiwweDBhYjAsMCx7MHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMn0sCi0gIDE2LDB4MGFjMCwwLHsweDgxLDB4OGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgwYWQwLDAsezB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDBhZTAsMCx7MHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNX0sCi0gIDE2LDB4MGFmMCwwLHsweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1fSwKLSAgMTYsMHgwYjAwLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTJ9LAotICAxNiwweDBiMTAsMCx7MHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZX0sCi0gIDE2LDB4MGIyMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1fSwKLSAgMTYsMHgwYjMwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTB9LAotICAxNiwweDBiNDAsMCx7MHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MGI1MCwwLHsweDM5LDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDgxLDB4OGUsMHg5MCwweDc2fSwKLSAgMTYsMHgwYjYwLDAsezB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTB9LAotICAxNiwweDBiNzAsMCx7MHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn0sCi0gIDE2LDB4MGI4MCwwLHsweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlfSwKLSAgMTYsMHgwYjkwLDAsezB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDBiYTAsMCx7MHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTIsMHg5MCwweDdlLDB4YzAsMHhlMH0sCi0gIDE2LDB4MGJiMCwwLHsweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgwYmMwLDAsezB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjR9LAotICAxNiwweDBiZDAsMCx7MHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNH0sCi0gIDE2LDB4MGJlMCwwLHsweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZiwweDkwfSwKLSAgMTYsMHgwYmYwLDAsezB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDgxLDB4OGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDR9LAotICAxNiwweDBjMDAsMCx7MHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMH0sCi0gIDE2LDB4MGMxMCwwLHsweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNifSwKLSAgMTYsMHgwYzIwLDAsezB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmZ9LAotICAxNiwweDBjMzAsMCx7MHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMH0sCi0gIDE2LDB4MGM0MCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTIsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwfSwKLSAgMTYsMHgwYzUwLDAsezB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWZ9LAotICAxNiwweDBjNjAsMCx7MHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MGM3MCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfSwKLSAgMTUsMHgwYzgwLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHgwYzhmLDAsezB4NDEsMHg3NiwweDY4LDB4MDEsMHg0MSwweDc2LDB4NmEsMHgwMiwweDQxLDB4NzYsMHg2YiwweDBhLDB4YzEsMHgyMCwweGMxLDB4MjF9LAotICAgMiwweDBjOWYsMCx7MHhjMSwweDJmfSwKLSAgIDQsMHgwY2ExLDAsezB4NDEsMHg3NiwweDIzLDB4MDB9LAotICAxNiwweDBjYTUsMCx7MHg0MSwweDcyLDB4MDEsMHgwMSwweDQ1LDB4NzIsMHgwNSwweDAwLDB4MDIsMHhjOSwweDAwLDB4MDAsMHg0NSwweDcyLDB4MGEsMHgwMH0sCi0gIDE2LDB4MGNiNSwwLHsweDAxLDB4MDIsMHgwMywweDA0LDB4NGQsMHg3MiwweDBmLDB4ZDEsMHgwMCwweGQxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwY2M1LDAsezB4MjgsMHgyOCwweDA5LDB4MDAsMHg0ZCwweDcyLDB4MWMsMHgwMSwweDAwLDB4MDEsMHgwMiwweDAzLDB4MDQsMHgwNSwweDA2LDB4MDd9LAotICAxNiwweDBjZDUsMCx7MHgwOCwweDA5LDB4MGEsMHgwYiwweDQxLDB4NzIsMHgyZSwweDIyLDB4NDEsMHg3MiwweDJmLDB4MjMsMHg0MSwweDcyLDB4MzAsMHgyMH0sCi0gIDE2LDB4MGNlNSwwLHsweDQxLDB4NzIsMHgzMSwweDIxLDB4NjIsMHhkMiwweDcyLDB4M2EsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwY2Y1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkMDUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQxNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDI1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkMzUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQ0NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDU1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkNjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQ3NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfSwKLSAgMTYsMHgwZDg1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9LAotICAxNiwweDBkOTUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX0sCi0gIDE2LDB4MGRhNSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfSwKLSAgMTYsMHgwZGI1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9LAotICAxNiwweDBkYzUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn0sCi0gIDE2LDB4MGRkNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfSwKLSAgMTYsMHgwZGU1LDAsezB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9LAotICAxNiwweDBkZjUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM30sCi0gIDE2LDB4MGUwNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfSwKLSAgMTYsMHgwZTE1LDAsezB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDN9LAotICAxNiwweDBlMjUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM30sCi0gIDE2LDB4MGUzNSwwLHsweDAzLDB4MDMsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fSwKLSAgMTYsMHgwZTQ1LDAsezB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9LAotICAxNiwweDBlNTUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH0sCi0gIDE2LDB4MGU2NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fSwKLSAgMTYsMHgwZTc1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDV9LAotICAxNiwweDBlODUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX0sCi0gIDE2LDB4MGU5NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fSwKLSAgMTYsMHgwZWE1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA2LDB4MDZ9LAotICAxNiwweDBlYjUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn0sCi0gIDE2LDB4MGVjNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fSwKLSAgMTYsMHgwZWQ1LDAsezB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDZ9LAotICAxNiwweDBlZTUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDcsMHgwNywweDA3LDB4MDgsMHgwOH0sCi0gIDE2LDB4MGVmNSwwLHsweDA4LDB4MDksMHgwOSwweDA5LDB4MGEsMHgwYSwweDBhLDB4MGIsMHgwYiwweDBiLDB4MGMsMHgwYywweDBjLDB4MGQsMHgwZCwweDBkfSwKLSAgMTYsMHgwZjA1LDAsezB4MGUsMHgwZSwweDBlLDB4MGYsMHgwZiwweDBmLDB4MTAsMHgxMCwweDEwLDB4MTEsMHgxMSwweDExLDB4MTIsMHgxMiwweDEyLDB4MTN9LAotICAxNiwweDBmMTUsMCx7MHgxMywweDEzLDB4MTQsMHgxNCwweDE0LDB4MTUsMHgxNSwweDE1LDB4MTYsMHgxNiwweDE2LDB4MTcsMHgxNywweDE3LDB4MTgsMHgxOH0sCi0gIDE2LDB4MGYyNSwwLHsweDE4LDB4MTksMHgxOSwweDE5LDB4MTksMHgxYSwweDFhLDB4MWEsMHgxYSwweDFiLDB4MWIsMHgxYiwweDFiLDB4MWMsMHgxYywweDFjfSwKLSAgMTYsMHgwZjM1LDAsezB4MWMsMHgxZCwweDFkLDB4MWQsMHgxZCwweDFlLDB4MWUsMHgxZSwweDFlLDB4MWYsMHgxZiwweDFmLDB4MWYsMHgyMCwweDIwLDB4MjB9LAotICAxNiwweDBmNDUsMCx7MHgyMSwweDIxLDB4MjEsMHgyMiwweDIyLDB4MjIsMHgyMywweDIzLDB4MjQsMHgyNCwweDI1LDB4MjUsMHgyNiwweDI2LDB4MjcsMHgyN30sCi0gIDE2LDB4MGY1NSwwLHsweDI4LDB4MjgsMHgyOSwweDI5LDB4MmEsMHgyYSwweDJiLDB4MmIsMHgyYywweDJjLDB4MmQsMHgyZCwweDJlLDB4MmUsMHgyZiwweDJmfSwKLSAgMTYsMHgwZjY1LDAsezB4MzAsMHgzMCwweDMxLDB4MzEsMHgzMiwweDMyLDB4MzMsMHgzMywweDM0LDB4MzQsMHgzNSwweDM1LDB4MzYsMHgzNiwweDM3LDB4Mzd9LAotICAxNiwweDBmNzUsMCx7MHgzOCwweDM4LDB4MzksMHgzOSwweDNhLDB4M2EsMHgzYiwweDNjLDB4M2QsMHgzZSwweDNmLDB4NDAsMHg0MSwweDQyLDB4NDMsMHg0NH0sCi0gIDE2LDB4MGY4NSwwLHsweDQ1LDB4NDYsMHg0NywweDQ4LDB4NDksMHg0OSwweDRhLDB4NGIsMHg0YiwweDRjLDB4NGQsMHg0ZSwweDRmLDB4NTAsMHg1MSwweDUyfSwKLSAgMTYsMHgwZjk1LDAsezB4NTMsMHg1NCwweDU1LDB4NTUsMHg1NiwweDU2LDB4NTcsMHg1NywweDU4LDB4NWEsMHg1YiwweDVkLDB4NWUsMHg1ZiwweDYxLDB4NjJ9LAotICAxNiwweDBmYTUsMCx7MHg2MywweDY0LDB4NjUsMHg2NiwweDY3LDB4NjgsMHg2OSwweDZhLDB4NmIsMHg2YywweDZkLDB4NmYsMHg3MSwweDcyLDB4NzMsMHg3NH0sCi0gIDE2LDB4MGZiNSwwLHsweDc1LDB4NzYsMHg3NywweDc4LDB4NzksMHg3YSwweDdiLDB4N2MsMHg3ZSwweDgwLDB4MDEsMHgzNywweDAxLDB4MDEsMHgzOCwweDAwfSwKLSAgIDEsMHgwZmM1LDAsezB4MDB9LAotICAxNiwweDBmYzYsMCx7MHhlNCwweGZmLDB4NzQsMHg0NiwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgyMH0sCi0gIDE2LDB4MGZkNiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHg0ZSwweDJmLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgwZmU2LDAsezB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgzMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODN9LAotICAgNiwweDBmZjYsMCx7MHhlZSwweGYwLDB4MGYsMHhiZiwweDA4LDB4Y2N9LAotICAgMSwweDBmZmMsMCx7MHgyMn0sCi0gICAzLDB4MGZmZCwwLHsweGMyLDB4ODksMHgzMn0sCi0gIDE2LDB4MTAwMCwwLHsweGU0LDB4OTAsMHg3NiwweDJjLDB4ZjAsMHg5MCwweDc2LDB4MmMsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmfSwKLSAgMTYsMHgxMDEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHhmZCwweGVlLDB4NmR9LAotICAxNiwweDEwMjAsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MGIsMHg1MCwweDA4LDB4OTAsMHg3NiwweDJjLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX0sCi0gIDE2LDB4MTAzMCwwLHsweGVmLDB4YjQsMHgwYiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDAzfSwKLSAgMTYsMHgxMDQwLDAsezB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyZSwweGYwLDB4MjR9LAotICAxNiwweDEwNTAsMCx7MHhmMCwweDYwLDB4MGEsMHgyNCwweDBmLDB4NjAsMHgwMiwweDgxLDB4N2QsMHgxMiwweDRiLDB4YTQsMHgyMiwweDkwLDB4N2YsMHhlZH0sCi0gIDE2LDB4MTA2MCwwLHsweGUwLDB4NjQsMHgwNSwweDcwLDB4NTEsMHg5MCwweDc2LDB4MTgsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4MzgsMHg3NCwweDAxfSwKLSAgMTYsMHgxMDcwLDAsezB4ZjAsMHg5MCwweDc2LDB4M2EsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MWMsMHhmMCwweGU0LDB4OTAsMHg3NiwweDFiLDB4ZjB9LAotICAxNiwweDEwODAsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjAsMHgyZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH0sCi0gIDE2LDB4MTA5MCwwLHsweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkfSwKLSAgMTYsMHgxMGEwLDAsezB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2LDB4MWMsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzZ9LAotICAxNiwweDEwYjAsMCx7MHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDEsMHg5MCwweDdmLDB4ZWQsMHhlMCwweDY0LDB4MDYsMHg3MCwweDUyLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTBjMCwwLHsweDE4LDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3NiwweDM4LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDNhLDB4NzQsMHgwYSwweGYwfSwKLSAgMTYsMHgxMGQwLDAsezB4OTAsMHg3NiwweDFjLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjB9LAotICAxNiwweDEwZTAsMCx7MHgyZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MTBmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkLDB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2fSwKLSAgMTYsMHgxMTAwLDAsezB4MWMsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDF9LAotICAxNiwweDExMTAsMCx7MHhlNCwweDkwLDB4NzYsMHgxZSwweGYwLDB4OTAsMHg3NiwweDFjLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmUsMHg2Zn0sCi0gIDE2LDB4MTEyMCwwLHsweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDYwfSwKLSAgMTYsMHgxMTMwLDAsezB4MTMsMHgxNCwweDcwLDB4MDIsMHgyMSwweGJmLDB4MjQsMHgwMiwweDYwLDB4MDIsMHg4MSwweDc1LDB4OTAsMHg3ZiwweGI0LDB4ZTB9LAotICAxNiwweDExNDAsMCx7MHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4NmIsMHg5MCwweDdmLDB4ZWEsMHhlMH0sCi0gIDE2LDB4MTE1MCwwLHsweGY0LDB4NzAsMHg0YSwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmfSwKLSAgMTYsMHgxMTYwLDAsezB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZCwweGMzLDB4OWYsMHg1MCwweDJiLDB4ZWQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWJ9LAotICAxNiwweDExNzAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMH0sCi0gIDE2LDB4MTE4MCwwLHsweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwfSwKLSAgMTYsMHgxMTkwLDAsezB4MDQsMHhmMCwweDgwLDB4YzcsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHhlZSwweDc1LDB4ZjB9LAotICAxNiwweDExYTAsMCx7MHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMH0sCi0gIDE2LDB4MTFiMCwwLHsweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfSwKLSAgMTYsMHgxMWMwLDAsezB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZSwweDcwLDB4MDIsMHg0MSwweDdlLDB4MTQsMHg3MCwweDAyLDB4NjEsMHgyMywweDE0LDB4NzB9LAotICAxNiwweDExZDAsMCx7MHgwMiwweDYxLDB4YzgsMHgyNCwweDAzLDB4NjAsMHgwMiwweDgxLDB4NmQsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZH0sCi0gIDE2LDB4MTFlMCwwLHsweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFifSwKLSAgMTYsMHgxMWYwLDAsezB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDEyMDAsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZH0sCi0gIDE2LDB4MTIxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkfSwKLSAgMTYsMHgxMjIwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjB9LAotICAxNiwweDEyMzAsMCx7MHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMH0sCi0gIDE2LDB4MTI0MCwwLHsweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFifSwKLSAgMTYsMHgxMjUwLDAsezB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTB9LAotICAxNiwweDEyNjAsMCx7MHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4MTI3MCwwLHsweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmfSwKLSAgMTYsMHgxMjgwLDAsezB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2F9LAotICAxNiwweDEyOTAsMCx7MHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH0sCi0gIDE2LDB4MTJhMCwwLHsweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkfSwKLSAgMTYsMHgxMmIwLDAsezB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzV9LAotICAxNiwweDEyYzAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTJkMCwwLHsweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmfSwKLSAgMTYsMHgxMmUwLDAsezB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjV9LAotICAxNiwweDEyZjAsMCx7MHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MTMwMCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmfSwKLSAgMTYsMHgxMzEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzR9LAotICAxNiwweDEzMjAsMCx7MHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTMzMCwwLHsweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwfSwKLSAgMTYsMHgxMzQwLDAsezB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmV9LAotICAxNiwweDEzNTAsMCx7MHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNX0sCi0gIDE2LDB4MTM2MCwwLHsweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgxMzcwLDAsezB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDEzODAsMCx7MHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTM5MCwwLHsweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fSwKLSAgMTYsMHgxM2EwLDAsezB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzV9LAotICAxNiwweDEzYjAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMX0sCi0gIDE2LDB4MTNjMCwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwfSwKLSAgMTYsMHgxM2QwLDAsezB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTB9LAotICAxNiwweDEzZTAsMCx7MHhjMywweDlmLDB4NTAsMHg0ZiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MTNmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1fSwKLSAgMTYsMHgxNDAwLDAsezB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjV9LAotICAxNiwweDE0MTAsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NH0sCi0gIDE2LDB4MTQyMCwwLHsweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0fSwKLSAgMTYsMHgxNDMwLDAsezB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTB9LAotICAxNiwweDE0NDAsMCx7MHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MH0sCi0gIDE2LDB4MTQ1MCwwLHsweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgxNDYwLDAsezB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9LAotICAxNiwweDE0NzAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH0sCi0gICA1LDB4MTQ4MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDE0ODUsMCx7MHg3NCwweDAwLDB4ZjUsMHg4NiwweDkwLDB4ZmQsMHhhNSwweDdjLDB4MDUsMHhhMywweGU1LDB4ODIsMHg0NSwweDgzLDB4NzAsMHhmOX0sCi0gICAxLDB4MTQ5NSwwLHsweDIyfSwKLSAgMTYsMHgxNDk2LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg0MywweDg3LDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9LAotICAxNiwweDE0YTYsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHg4ZCwweGUwLDB4YzAsMHhlMH0sCi0gIDE2LDB4MTRiNiwwLHsweDhjLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHgwNSwweDg2LDB4YzAsMHg4NCwweGMwLDB4ODUsMHg3ZCwweDAwfSwKLSAgMTYsMHgxNGM2LDAsezB4OTAsMHg3ZiwweGUzLDB4NzQsMHg3YiwweGYwLDB4YTMsMHg3NCwweDgwLDB4ZjAsMHg3YywweDExLDB4OTAsMHg3ZiwweDk5LDB4ZTB9LAotICAxNiwweDE0ZDYsMCx7MHg1NCwweDQwLDB4ZGMsMHgwMywweDAyLDB4MTQsMHhmMywweGI0LDB4MDAsMHgxMywweDkwLDB4N2YsMHhlMiwweDc0LDB4NDAsMHhmMH0sCi0gIDE2LDB4MTRlNiwwLHsweDkwLDB4N2YsMHhlNSwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4MDIsMHgxNCwweGQyLDB4OTAsMHg3NiwweDkwfSwKLSAgMTYsMHgxNGY2LDAsezB4ZTAsMHhiNCwweDAxLDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjB9LAotICAxNiwweDE1MDYsMCx7MHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4NTcsMHhiNCwweDAyLDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MH0sCi0gIDE2LDB4MTUxNiwwLHsweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4OTYsMHhiNCwweDAzLDB4MTIsMHg5MCwweDc2fSwKLSAgMTYsMHgxNTI2LDAsezB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4ZTF9LAotICAxNiwweDE1MzYsMCx7MHhiNCwweDA0LDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MTU0NiwwLHsweDdmLDB4NmMsMHgwMiwweDE2LDB4MTAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NmMsMHgwMiwweDE2fSwKLSAgMTYsMHgxNTU2LDAsezB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGYyLDB4N2R9LAotICAxNiwweDE1NjYsMCx7MHgwMiwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNH0sCi0gIDE2LDB4MTU3NiwwLHsweDAwLDB4MDUsMHgwNSwweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweGYwfSwKLSAgMTYsMHgxNTg2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZDQsMHgwMiwweDE2LDB4NDB9LAotICAxNiwweDE1OTYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0sCi0gIDE2LDB4MTVhNiwwLHsweGYwLDB4ZjAsMHhkZCwweGVjLDB4N2QsMHgwMiwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgxNWI2LDAsezB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNCwweDAwLDB4MDUsMHgwNSwweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzR9LAotICAxNiwweDE1YzYsMCx7MHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0sCi0gICA2LDB4MTVkNiwwLHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0sCi0gIDE2LDB4MTVkYywwLHsweGRkLDB4Y2UsMHgwMiwweDE2LDB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZmEsMHg3ZCwweDAyLDB4MDUsMHg4NiwweDkwfSwKLSAgMTYsMHgxNWVjLDAsezB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1LDB4ODZ9LAotICAxNiwweDE1ZmMsMCx7MHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZH0sCi0gIDE2LDB4MTYwYywwLHsweGRjLDB4MDIsMHgxNiwweDQwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhmOCwweDdkLDB4MDIsMHgwNSwweDg2fSwKLSAgMTYsMHgxNjFjLDAsezB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHg1NCwweDA0LDB4YjQsMHgwMCwweDA1LDB4MDV9LAotICAxNiwweDE2MmMsMCx7MHg4NiwweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMCwweGYwLDB4ZjAsMHhmMH0sCi0gIDE2LDB4MTYzYywwLHsweGYwLDB4ZjAsMHhkZCwweGRhLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2fSwKLSAgMTYsMHgxNjRjLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmZ9LAotICAgNSwweDE2NWMsMCx7MHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSwKLSAgMTYsMHgxNjYxLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDkwLDB4NzYsMHg3YywweGUwLDB4OTAsMHg3ZiwweDZmLDB4ZjB9LAotICAxNiwweDE2NzEsMCx7MHg5MCwweDc2LDB4N2QsMHhlMCwweDkwLDB4N2YsMHg2ZiwweGYwLDB4OTAsMHg3NiwweDdlLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMH0sCi0gICA5LDB4MTY4MSwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0sCi0gIDE2LDB4MTY4YSwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzfSwKLSAgMTYsMHgxNjlhLDAsezB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGJmLDB4MDAsMHgwMywweDAyLDB4MTd9LAotICAxNiwweDE2YWEsMCx7MHgwMSwweDkwLDB4N2YsMHg5NiwweGUwLDB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MTZiYSwwLHsweDYyLDB4ZTAsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweDdmfSwKLSAgMTYsMHgxNmNhLDAsezB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDc2LDB4OGUsMHhlMCwweGI0LDB4MDEsMHgwNSwweDA1LDB4ODZ9LAotICAxNiwweDE2ZGEsMCx7MHgwMiwweDE2LDB4ZjYsMHhiNCwweDAyLDB4MDUsMHgwNSwweDg2LDB4MDIsMHgxNiwweGViLDB4MDUsMHg4NiwweDAyLDB4MTYsMHhmYn0sCi0gIDE2LDB4MTZlYSwwLHsweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGRmLDB4ZjgsMHgwMiwweDE2LDB4ZmIsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGRmfSwKLSAgMTYsMHgxNmZhLDAsezB4ZmEsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODYsMHhkMCwweDgzLDB4ZDB9LAotICAxMiwweDE3MGEsMCx7MHg4MiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9LAotICAxNiwweDE3MTYsMCx7MHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHhlOCwweGMwLDB4ZTAsMHg3OCwweGQxLDB4ZTgsMHgxNCwweGY4LDB4NzAsMHhmYn0sCi0gIDEwLDB4MTcyNiwwLHsweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDIyfSwKLSAgMTYsMHgxNzMwLDAsezB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGUwLDB4ZTgsMHhjMCwweGUwLDB4NzgsMHg3OCwweGU4LDB4MTQsMHhmOCwweDcwLDB4ZmJ9LAotICAxMCwweDE3NDAsMCx7MHhkMCwweGUwLDB4ZjgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgyMn0sCi0gICA3LDB4MTc0YSwwLHsweDkwLDB4N2YsMHhjNSwweDc0LDB4MDIsMHhmMCwweDIyfSwKLSAgMTYsMHgxNzUxLDAsezB4OTAsMHg3ZSwweGMwLDB4ZTAsMHg5MCwweDc2LDB4NDUsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4OTAsMHg3NiwweDQ0LDB4ZjB9LAotICAxNiwweDE3NjEsMCx7MHg5MCwweDdlLDB4YzIsMHhlMCwweDkwLDB4NzYsMHg0MywweGYwLDB4YjQsMHgwMCwweDAzLDB4MDIsMHgxNywweDc4LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTc3MSwwLHsweDE5LDB4NzQsMHgwMywweGYwLDB4MDIsMHgxNywweDhlLDB4OTAsMHg3NiwweDQ0LDB4ZTAsMHhiNCwweGJiLDB4MDksMHg5MCwweDc2fSwKLSAgMTYsMHgxNzgxLDAsezB4MTksMHg3NCwweDAyLDB4ZjAsMHgwMiwweDE3LDB4OGUsMHg5MCwweDc2LDB4MTksMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4NDJ9LAotICAgMywweDE3OTEsMCx7MHhlNCwweGYwLDB4MjJ9LAotICAgNCwweDE3OTQsMCx7MHg4ZCwweDI5LDB4OGIsMHgyYX0sCi0gIDE2LDB4MTc5OCwwLHsweDEyLDB4NGEsMHg1NSwweGVhLDB4NDksMHg2MCwweDU3LDB4MTIsMHgzNiwweDkyLDB4N2UsMHgwMCwweDI5LDB4ZmYsMHhlZSwweDNhfSwKLSAgMTYsMHgxN2E4LDAsezB4YzksMHhlZiwweGM5LDB4NzUsMHgyYiwweGZmLDB4ZjUsMHgyYywweDg5LDB4MmQsMHhhYiwweDJiLDB4YWEsMHgyYywweGE5LDB4MmR9LAotICAxNiwweDE3YjgsMCx7MHg5MCwweDAwLDB4MDEsMHgxMiwweDM2LDB4YWIsMHhmZiwweDY0LDB4MDQsMHg2MCwweDA1LDB4ZWYsMHg2NCwweDA1LDB4NzAsMHgyZX0sCi0gIDE2LDB4MTdjOCwwLHsweGVmLDB4YjQsMHgwNCwweDE1LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgzNiwweGFiLDB4NjUsMHgyOSwweDcwLDB4MGIsMHg5MCwweDAwfSwKLSAgMTYsMHgxN2Q4LDAsezB4MDMsMHgxMiwweDM2LDB4YWIsMHg2NSwweDJhLDB4NzAsMHgwMSwweDIyLDB4MTIsMHgzNiwweDkyLDB4N2UsMHgwMCwweDI5LDB4ZmZ9LAotICAxNiwweDE3ZTgsMCx7MHhlZSwweDNhLDB4YzksMHhlZiwweGM5LDB4NzUsMHgyYiwweGZmLDB4ZjUsMHgyYywweDg5LDB4MmQsMHg4MCwweGJjLDB4N2IsMHgwMH0sCi0gICA0LDB4MTdmOCwwLHsweDdhLDB4MDAsMHg3OSwweDAwfSwKLSAgIDEsMHgxN2ZjLDAsezB4MjJ9LAotICAgMywweDE3ZmQsMCx7MHhjMiwweDhiLDB4MzJ9LAotICAxNiwweDE4MDAsMCx7MHg5MCwweDc2LDB4OTAsMHhlMCwweDE0LDB4NjAsMHgzNywweDE0LDB4NzAsMHgwMiwweDAxLDB4ZDgsMHgxNCwweDcwLDB4MDIsMHgyMX0sCi0gIDE2LDB4MTgxMCwwLHsweDcyLDB4MTQsMHg3MCwweDAyLDB4NDEsMHgzYiwweDI0LDB4MDQsMHg2MCwweDAyLDB4NjEsMHgwMywweDkwLDB4N2YsMHhmYywweDc0fSwKLSAgMTYsMHgxODIwLDAsezB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwMSwweGYwLDB4NTR9LAotICAxNiwweDE4MzAsMCx7MHgwNSwweGYwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgxYSwweGYwLDB4YzIsMHgyZSwweDIyLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTg0MCwwLHsweDk1LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwfSwKLSAgMTYsMHgxODUwLDAsezB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTB9LAotICAxNiwweDE4NjAsMCx7MHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjIsMHg5MH0sCi0gIDE2LDB4MTg3MCwwLHsweDdmLDB4ZmMsMHg3NCwweDc0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJifSwKLSAgMTYsMHgxODgwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODB9LAotICAxNiwweDE4OTAsMCx7MHhmMCwweGVmLDB4YjQsMHgwMiwweDIyLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHg2OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmY30sCi0gIDE2LDB4MThhMCwwLHsweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHhlNCwweDkwfSwKLSAgMTYsMHgxOGIwLDAsezB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmV9LAotICAxNiwweDE4YzAsMCx7MHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmYn0sCi0gIDE2LDB4MThkMCwwLHsweGYwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHhkMiwweDJlLDB4MjIsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDQ0fSwKLSAgMTYsMHgxOGUwLDAsezB4MDIsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTR9LAotICAxNiwweDE4ZjAsMCx7MHhmYiwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMX0sCi0gIDE2LDB4MTkwMCwwLHsweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyMiwweDkwLDB4N2YsMHhmYywweDc0LDB4MzAsMHhmMCwweDkwfSwKLSAgMTYsMHgxOTEwLDAsezB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmIsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTR9LAotICAxNiwweDE5MjAsMCx7MHhmZCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjIsMHg5MH0sCi0gIDE2LDB4MTkzMCwwLHsweDdmLDB4ZmMsMHg3NCwweDFjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmfSwKLSAgMTYsMHgxOTQwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODB9LAotICAxNiwweDE5NTAsMCx7MHhmMCwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5N30sCi0gIDE2LDB4MTk2MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyfSwKLSAgMTYsMHgxOTcwLDAsezB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4NDQsMHgwOCwweGYwLDB4MzB9LAotICAxNiwweDE5ODAsMCx7MHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MTk5MCwwLHsweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2fSwKLSAgMTYsMHgxOWEwLDAsezB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhjYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzR9LAotICAxNiwweDE5YjAsMCx7MHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NH0sCi0gIDE2LDB4MTljMCwwLHsweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyNSwweDkwfSwKLSAgMTYsMHgxOWQwLDAsezB4N2YsMHhmYywweDc0LDB4YzgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmZ9LAotICAxNiwweDE5ZTAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMH0sCi0gIDE2LDB4MTlmMCwwLHsweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDk4LDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgxYTAwLDAsezB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDVmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmR9LAotICAxNiwweDFhMTAsMCx7MHhmMCwweDQ0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDMwLDB4M2YsMHgwOX0sCi0gIDE2LDB4MWEyMCwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgMTYsMHgxYTMwLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyLDB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NTR9LAotICAxNiwweDFhNDAsMCx7MHhmZSwweGYwLDB4NDQsMHgwMiwweGYwLDB4NDQsMHgwOCwweGYwLDB4MzAsMHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MH0sCi0gIDE2LDB4MWE1MCwwLHsweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwfSwKLSAgMTYsMHgxYTYwLDAsezB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDI1LDB4OTB9LAotICAxNiwweDFhNzAsMCx7MHg3ZiwweGZjLDB4NzQsMHhiNCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYn0sCi0gIDE2LDB4MWE4MCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwfSwKLSAgMTYsMHgxYTkwLDAsezB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4YjAsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDFhYTAsMCx7MHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMn0sCi0gIDE2LDB4MWFiMCwwLHsweGYwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAzfSwKLSAgMTYsMHgxYWMwLDAsezB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDY4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGZ9LAotICAxNiwweDFhZDAsMCx7MHg3NCwweDVmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDQ0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MWFlMCwwLHsweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwfSwKLSAgMTYsMHgxYWYwLDAsezB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDJ9LAotICAgNCwweDFiMDAsMCx7MHhmMCwweGQyLDB4MmUsMHgyMn0sCi0gIDE2LDB4MWIwNCwwLHsweDMwLDB4MmMsMHgzOCwweGMyLDB4MmMsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlLDB4OTAsMHg3NiwweDdjfSwKLSAgMTYsMHgxYjE0LDAsezB4NzQsMHhjMCwweGYwLDB4YTMsMHg3NCwweDE0LDB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBkLDB4ZTR9LAotICAxNiwweDFiMjQsMCx7MHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHgxMCwweGYwLDB4YTMsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwYn0sCi0gIDEyLDB4MWIzNCwwLHsweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4MTgsMHhmMCwweGEzLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MWI0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWI3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWJhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWJkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWMwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWMzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWM2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWM5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxY2EwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWNjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxY2QwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWNmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQ1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQ4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWRiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWRlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWUxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWU0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWU3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWVhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTQsMHgxZWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmMGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAgMiwweDFmM2UsMCx7MHgwMCwweDAwfSwKLSAgMTYsMHgxZjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWY2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWY5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWZjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWZmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjAyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjA1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjA4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjBiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjBlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjExMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjE0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjE3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjFhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjFkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMWUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjIwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjIzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjI2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjI5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjJjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjJmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjMyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjM1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNCwweDIzNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzOGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjM5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyM2FlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzYmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjNjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyM2RlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjNmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQ1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQ4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjRiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNGNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjRlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNGZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjUxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjU0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjU3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNThlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjVhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNWJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNWVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjYzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjY2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjY5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNmFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjZjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNmRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNCwweDI2ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNmZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3MGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjcxYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzJjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3M2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4Mjc0YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzVjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3NmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4Mjc3YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzhjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3OWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjdhYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyN2JjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3Y2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjdkYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyN2VjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAgNSwweDI3ZmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDIyfSwKLSAgMTYsMHgyODAxLDAsezB4YzIsMHgyMCwweGMyLDB4MjEsMHhjMiwweDJhLDB4OTAsMHg3ZiwweGU4LDB4ZTAsMHgxMiwweDM3LDB4ZjksMHgyOCwweDMwLDB4MDB9LAotICAxNiwweDI4MTEsMCx7MHgyOCwweDhjLDB4MDEsMHgyOCwweGEyLDB4MDIsMHgyYSwweDFmLDB4MjEsMHgyYSwweDZhLDB4MjIsMHgyOSwweDNkLDB4ODAsMHgyOX0sCi0gIDE2LDB4MjgyMSwwLHsweDdkLDB4ODEsMHgyOSwweGQxLDB4ODIsMHgyYSwweDg0LDB4YTEsMHgyYSwweGJhLDB4YTIsMHgwMCwweDAwLDB4MmEsMHhiZiwweDkwfSwKLSAgMTYsMHgyODMxLDAsezB4N2YsMHhlOSwweGUwLDB4MTQsMHg2MCwweDExLDB4MjQsMHhmZSwweDYwLDB4MjgsMHgyNCwweGZlLDB4NjAsMHgzYiwweDI0LDB4ZmN9LAotICAxNiwweDI4NDEsMCx7MHg3MCwweDQwLDB4MTIsMHgzZiwweGU1LDB4NDEsMHhjYiwweDEyLDB4NGUsMHgxZCwweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3Zn0sCi0gIDE2LDB4Mjg1MSwwLHsweGVhLDB4ZTAsMHhiNCwweDAxLDB4MDQsMHhjMiwweDIyLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgMTYsMHgyODYxLDAsezB4NDEsMHhjYiwweDEyLDB4NGUsMHgxZiwweDkwLDB4N2YsMHhlYSwweGUwLDB4YjQsMHgwMSwweDA0LDB4ZDIsMHgyMiwweDQxLDB4Y2J9LAotICAxNiwweDI4NzEsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gIDE2LDB4Mjg4MSwwLHsweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0fSwKLSAgMTYsMHgyODkxLDAsezB4ZjUsMHg3MCwweDA1LDB4MTIsMHg0OCwweDYzLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDF9LAotICAxNiwweDI4YTEsMCx7MHhjYiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZCwweDYwLDB4NTQsMHgyNCwweDAyLDB4NjAsMHgwMiwweDIxLDB4MzQsMHgxMn0sCi0gIDE2LDB4MjhiMSwwLHsweDRlLDB4MWQsMHg0MCwweDAyLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgzOCwweDkwLDB4N2YsMHhlYywweGUwfSwKLSAgMTYsMHgyOGMxLDAsezB4ZjQsMHg1NCwweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjR9LAotICAxNiwweDI4ZDEsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDU0LDB4ODAsMHhmZn0sCi0gIDE2LDB4MjhlMSwwLHsweDEzLDB4MTMsMHgxMywweDU0LDB4MWYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4OTAsMHg3ZiwweGQ3LDB4ZjAsMHhlMCwweDQ0fSwKLSAgMTYsMHgyOGYxLDAsezB4MjAsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHgxMiwweDRlLDB4MWZ9LAotICAxNiwweDI5MDEsMCx7MHg0MCwweDAyLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgyMCwweDkwLDB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NH0sCi0gIDE2LDB4MjkxMSwwLHsweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjQsMHhmNSwweDgyfSwKLSAgMTYsMHgyOTIxLDAsezB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9LAotICAxNiwweDI5MzEsMCx7MHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMH0sCi0gIDE2LDB4Mjk0MSwwLHsweDYwLDB4MTIsMHgyNCwweGY4LDB4NjAsMHgwOSwweDI0LDB4MDIsMHg3MCwweDI5LDB4MTIsMHg0MywweGU3LDB4NDEsMHhjYiwweDEyfSwKLSAgMTYsMHgyOTUxLDAsezB4NGQsMHhjYSwweDQxLDB4Y2IsMHgxMiwweDRlLDB4MWIsMHhhMiwweDIyLDB4ZTQsMHgzMywweGZmLDB4MjUsMHhlMCwweGZmLDB4YTJ9LAotICAxNiwweDI5NjEsMCx7MHgyMywweGU0LDB4MzMsMHg0ZiwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMn0sCi0gIDE2LDB4Mjk3MSwwLHsweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlOSwweGUwfSwKLSAgMTYsMHgyOTgxLDAsezB4NjAsMHgzMywweDI0LDB4ZjYsMHg2MCwweDJhLDB4MjQsMHgwNCwweDcwLDB4M2QsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZGV9LAotICAxNiwweDI5OTEsMCx7MHg2MCwweDBjLDB4MDQsMHg3MCwweDEyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MjlhMSwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNifSwKLSAgMTYsMHgyOWIxLDAsezB4MTIsMHg0NywweDQ1LDB4NDEsMHhjYiwweDEyLDB4NGUsMHgxYiwweGU0LDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweGYwLDB4OTB9LAotICAxNiwweDI5YzEsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYn0sCi0gIDE2LDB4MjlkMSwwLHsweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmNCwweDYwLDB4MzQsMHgyNCwweDBjLDB4NzAsMHgzOSwweDEyLDB4NGUsMHgxYiwweDkwfSwKLSAgMTYsMHgyOWUxLDAsezB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NCwweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjV9LAotICAxNiwweDI5ZjEsMCx7MHhlMCwweDI0LDB4YjQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmZCwweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4MmEwMSwwLHsweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwfSwKLSAgMTYsMHgyYTExLDAsezB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2Z9LAotICAxNiwweDJhMjEsMCx7MHhlOSwweGUwLDB4MjQsMHhmNiwweDYwLDB4MTIsMHgxNCwweDYwLDB4MWEsMHgyNCwweDAyLDB4NzAsMHgxZCwweGQyLDB4MjAsMHg5MH0sCi0gIDE2LDB4MmEzMSwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTIsMHhkMiwweDIwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSwKLSAgMTYsMHgyYTQxLDAsezB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMCwweDIwLDB4MTgsMHg5MCwweDdmLDB4ZWV9LAotICAxNiwweDJhNTEsMCx7MHhlMCwweDcwLDB4MDQsMHhhMywweGUwLDB4NjAsMHgwYiwweGQyLDB4MjksMHhkMiwweDI3LDB4MTIsMHgxNywweDRhLDB4ZDIsMHgyYX0sCi0gIDE2LDB4MmE2MSwwLHsweDgwLDB4MDMsMHgxMiwweDA4LDB4MDAsMHhjMiwweDIwLDB4ODAsMHg2MSwweDkwLDB4N2YsMHhlZSwweGUwLDB4NzAsMHgwNCwweGEzfSwKLSAgMTYsMHgyYTcxLDAsezB4ZTAsMHg2MCwweDBiLDB4ZDIsMHgyOSwweGQyLDB4MjgsMHgxMiwweDE3LDB4NGEsMHhkMiwweDJhLDB4ODAsMHg0YywweDEyLDB4Mzh9LAotICAxNiwweDJhODEsMCx7MHg3NCwweDgwLDB4NDcsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg2MCwweDEyLDB4MTQsMHg2MCwweDFhLDB4MjQsMHgwMn0sCi0gIDE2LDB4MmE5MSwwLHsweDcwLDB4MWQsMHhkMiwweDIxLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDEyLDB4ZDIsMHgyMSwweDkwfSwKLSAgMTYsMHgyYWExLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjB9LAotICAxNiwweDJhYjEsMCx7MHgyMSwweDAzLDB4MTIsMHgxMCwweDAwLDB4YzIsMHgyMSwweDgwLDB4MTEsMHgxMiwweDJhLDB4ZDYsMHg4MCwweDBjLDB4MTIsMHg0ZX0sCi0gIDE2LDB4MmFjMSwwLHsweDIxLDB4NTAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjAsMHgyYSwweDA3LDB4OTAsMHg3ZiwweGI0fSwKLSAgIDUsMHgyYWQxLDAsezB4ZTAsMHg0NCwweDAyLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MmFkNiwwLHsweGU0LDB4OTAsMHg3NiwweDI3LDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfSwKLSAgMTYsMHgyYWU2LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9LAotICAxNiwweDJhZjYsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDYsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI3LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX0sCi0gIDE2LDB4MmIwNiwwLHsweGVmLDB4YjQsMHgwNiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDBmfSwKLSAgMTYsMHgyYjE2LDAsezB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyOCwweGYwLDB4MjR9LAotICAxNiwweDJiMjYsMCx7MHg5ZiwweDcwLDB4MDIsMHhhMSwweDc0LDB4MjQsMHgyMSwweDYwLDB4MDIsMHhhMSwweGExLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNH0sCi0gIDE2LDB4MmIzNiwwLHsweDdlLDB4NzAsMHgwMiwweDYxLDB4ZmMsMHgxNCwweDcwLDB4MDIsMHg4MSwweGI1LDB4MjQsMHgwMiwweDYwLDB4MDIsMHhhMSwweDZjfSwKLSAgMTYsMHgyYjQ2LDAsezB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmN9LAotICAxNiwweDJiNTYsMCx7MHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDAsMHg3OH0sCi0gIDE2LDB4MmI2NiwwLHsweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg0NCwweGYwLDB4YTMsMHg3NCwweGFjfSwKLSAgMTYsMHgyYjc2LDAsezB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjB9LAotICAxNiwweDJiODYsMCx7MHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZH0sCi0gIDE2LDB4MmI5NiwwLHsweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyfSwKLSAgMTYsMHgyYmE2LDAsezB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMCwweGU0LDB4YTN9LAotICAxNiwweDJiYjYsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNH0sCi0gIDE2LDB4MmJjNiwwLHsweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlfSwKLSAgMTYsMHgyYmQ2LDAsezB4YTMsMHhlMCwweGZmLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NjB9LAotICAxNiwweDJiZTYsMCx7MHgwMiwweGExLDB4YTgsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MmJmNiwwLHsweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3fSwKLSAgMTYsMHgyYzA2LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTN9LAotICAxNiwweDJjMTYsMCx7MHhlMCwweGZmLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxM30sCi0gIDE2LDB4MmMyNiwwLHsweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzLDB4NzQsMHhhYywweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1fSwKLSAgMTYsMHgyYzM2LDAsezB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDJjNDYsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3Yn0sCi0gIDE2LDB4MmM1NiwwLHsweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHgyYzY2LDAsezB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjB9LAotICAxNiwweDJjNzYsMCx7MHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4MmM4NiwwLHsweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4MDAsMHg3YSwweDc3fSwKLSAgMTYsMHgyYzk2LDAsezB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDYwLDB4MDIsMHhhMSwweGE4LDB4OTAsMHg3ZiwweDAwLDB4ZjB9LAotICAxNiwweDJjYTYsMCx7MHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MH0sCi0gIDE2LDB4MmNiNiwwLHsweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgyY2M2LDAsezB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4NDQsMHg3YSwweGFjLDB4Nzl9LAotICAxNiwweDJjZDYsMCx7MHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhM30sCi0gIDE2LDB4MmNlNiwwLHsweDc0LDB4YWMsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwfSwKLSAgMTYsMHgyY2Y2LDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTN9LAotICAxNiwweDJkMDYsMCx7MHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMH0sCi0gIDE2LDB4MmQxNiwwLHsweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwfSwKLSAgMTYsMHgyZDI2LDAsezB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGZ9LAotICAxNiwweDJkMzYsMCx7MHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhM30sCi0gIDE2LDB4MmQ0NiwwLHsweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3fSwKLSAgMTYsMHgyZDU2LDAsezB4YWIsMHg3MCwweDRmLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTB9LAotICAxNiwweDJkNjYsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MmQ3NiwwLHsweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgxZSwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRmfSwKLSAgMTYsMHgyZDg2LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzR9LAotICAxNiwweDJkOTYsMCx7MHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0sCi0gICAzLDB4MmRhNiwwLHsweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MmRhOSwwLHsweGU0LDB4OTAsMHg3NiwweDM2LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgyZGI5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODJ9LAotICAxNiwweDJkYzksMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNX0sCi0gIDE2LDB4MmRkOSwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmfSwKLSAgMTYsMHgyZGU5LDAsezB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDEwLDB4ZjB9LAotICAxNiwweDJkZjksMCx7MHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNX0sCi0gIDE2LDB4MmUwOSwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0fSwKLSAgMTYsMHgyZTE5LDAsezB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjV9LAotICAxNiwweDJlMjksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZn0sCi0gIDE2LDB4MmUzOSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0fSwKLSAgMTYsMHgyZTQ5LDAsezB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjB9LAotICAxNiwweDJlNTksMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH0sCi0gIDE2LDB4MmU2OSwwLHsweDAxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgyZTc5LDAsezB4NzQsMHgwMywweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDJlODksMCx7MHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH0sCi0gIDE2LDB4MmU5OSwwLHsweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDEwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0fSwKLSAgMTYsMHgyZWE5LDAsezB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDN9LAotICAxNiwweDJlYjksMCx7MHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMH0sCi0gIDE2LDB4MmVjOSwwLHsweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgyZWQ5LDAsezB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDJlZTksMCx7MHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MmVmOSwwLHsweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzfSwKLSAgMTYsMHgyZjA5LDAsezB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjB9LAotICAxNiwweDJmMTksMCx7MHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwOCwweGYwLDB4ZWYsMHg3NX0sCi0gIDE2LDB4MmYyOSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDkwfSwKLSAgMTYsMHgyZjM5LDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDJmNDksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4MmY1OSwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDBhLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1fSwKLSAgMTYsMHgyZjY5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTB9LAotICAxNiwweDJmNzksMCx7MHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMn0sCi0gIDE2LDB4MmY4OSwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fSwKLSAgMTYsMHgyZjk5LDAsezB4MDksMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDJmYTksMCx7MHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH0sCi0gIDE2LDB4MmZiOSwwLHsweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0fSwKLSAgMTYsMHgyZmM5LDAsezB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNywweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDN9LAotICAxNCwweDJmZDksMCx7MHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDIyfSwKLSAgMTYsMHgyZmU3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyNiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9LAotICAgOCwweDJmZjcsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgIDEsMHgyZmZmLDAsezB4MzJ9LAotICAxNiwweDMwMDAsMCx7MHg5MCwweDdmLDB4YjYsMHhlMCwweDIwLDB4ZTEsMHgwMiwweGMyLDB4M2QsMHhkMiwweDM2LDB4MjAsMHgzNiwweDAyLDB4NDEsMHg2ZX0sCi0gIDE2LDB4MzAxMCwwLHsweDMwLDB4M2QsMHgwMiwweDQxLDB4NmUsMHg5MCwweDgwLDB4MDcsMHhlMCwweDYwLDB4MDQsMHhkMiwweDM2LDB4ODAsMHgwMiwweGMyfSwKLSAgMTYsMHgzMDIwLDAsezB4MzYsMHgyMCwweDM2LDB4MDIsMHg0MSwweDJlLDB4ZDIsMHgzNSwweGU0LDB4ZjUsMHgxYSwweDkwLDB4ODAsMHgwNCwweGUwLDB4ZjV9LAotICAxNiwweDMwMzAsMCx7MHgxOSwweDc0LDB4MDgsMHgyNSwweDBlLDB4ZjgsMHhhNiwweDE5LDB4ODUsMHgxOSwweDE4LDB4ZTUsMHgxOCwweDIwLDB4ZTcsMHgwNH0sCi0gIDE2LDB4MzA0MCwwLHsweGQyLDB4MzgsMHg4MCwweDAyLDB4YzIsMHgzOCwweDMwLDB4MzgsMHgwMiwweDIxLDB4ZDQsMHhlNCwweGY1LDB4MTYsMHhlNSwweDE5fSwKLSAgMTYsMHgzMDUwLDAsezB4YjQsMHhmMCwweDBjLDB4ZDIsMHgzOSwweDc1LDB4MDgsMHgwNCwweDc1LDB4MDksMHhmMCwweDA1LDB4MGUsMHg4MCwweDAyLDB4MDV9LAotICAxNiwweDMwNjAsMCx7MHgxNiwweGU1LDB4MTksMHg2NCwweGY3LDB4NzAsMHgzZCwweGMyLDB4MzksMHhlNSwweDBlLDB4MjQsMHhmZSwweDYwLDB4MTcsMHgxNH0sCi0gIDE2LDB4MzA3MCwwLHsweDYwLDB4MjIsMHgyNCwweDAzLDB4NzAsMHgyOSwweDc1LDB4MDgsMHgwNSwweDc1LDB4MDksMHhmNywweGU0LDB4ZjUsMHgwYSwweGY1fSwKLSAgMTYsMHgzMDgwLDAsezB4MGIsMHg3NSwweDBlLDB4MDQsMHg4MCwweDIwLDB4NzUsMHgwOCwweDA2LDB4NzUsMHgwYSwweGY3LDB4ZTQsMHhmNSwweDBiLDB4NzV9LAotICAxNiwweDMwOTAsMCx7MHgwZSwweDA0LDB4ODAsMHgxMiwweDc1LDB4MDgsMHgwNywweDc1LDB4MGIsMHhmNywweDc1LDB4MGUsMHgwNCwweDgwLDB4MDcsMHgxMn0sCi0gIDE2LDB4MzBhMCwwLHsweDRkLDB4ZGEsMHg4MCwweDAyLDB4MDUsMHgxNiwweGU1LDB4MTksMHg1NCwweGY4LDB4NjQsMHhmOCwweDcwLDB4M2IsMHhjMiwweDM1fSwKLSAgMTYsMHgzMGIwLDAsezB4ZTUsMHgxOSwweDI0LDB4MDcsMHg2MCwweDBjLDB4MjQsMHhmYywweDYwLDB4MDgsMHgyNCwweDA1LDB4MjQsMHhmOCwweDUwLDB4MDZ9LAotICAxNiwweDMwYzAsMCx7MHg4MCwweDA4LDB4ZDIsMHgzYSwweDgwLDB4MDYsMHhjMiwweDNhLDB4ODAsMHgwMiwweGQyLDB4M2EsMHg3NSwweDFhLDB4MDEsMHgyMH0sCi0gIDE2LDB4MzBkMCwwLHsweDNhLDB4MTksMHg5MCwweDdlLDB4ODAsMHg3NCwweDBmLDB4ZjAsMHhhMywweGU1LDB4MTksMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzfSwKLSAgMTYsMHgzMGUwLDAsezB4ZjAsMHg5MCwweDdmLDB4YjcsMHg3NCwweDA0LDB4ZjAsMHg4MCwweDAyLDB4MDUsMHgxNiwweDIwLDB4MzksMHg2ZCwweGU1LDB4MTl9LAotICAxNiwweDMwZjAsMCx7MHg2NCwweGY3LDB4NjAsMHg2NywweGU1LDB4MWEsMHg3MCwweDYzLDB4ZTUsMHgxOCwweDU0LDB4ZjAsMHg2NCwweGYwLDB4NzAsMHg1OX0sCi0gIDE2LDB4MzEwMCwwLHsweDg1LDB4MTgsMHgxOSwweGY1LDB4MGUsMHhlNSwweDE5LDB4MjQsMHgwZiwweDYwLDB4MWIsMHgyNCwweGZlLDB4NjAsMHgxNywweDI0fSwKLSAgMTYsMHgzMTEwLDAsezB4ZmQsMHg2MCwweDIyLDB4MTQsMHg2MCwweDFmLDB4MjQsMHgwNSwweDcwLDB4MmYsMHg3NSwweDA4LDB4MDMsMHgwNSwweDBlLDB4ODV9LAotICAxNiwweDMxMjAsMCx7MHgxOCwweDA5LDB4ZDIsMHgzNywweDgwLDB4MjgsMHg3NSwweDA4LDB4MDIsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4NzUsMHgxNH0sCi0gIDE2LDB4MzEzMCwwLHsweDAxLDB4ZDIsMHgzNywweDgwLDB4MTksMHg3NSwweDA4LDB4MDUsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4ZTQsMHhmNSwweDBhfSwKLSAgMTYsMHgzMTQwLDAsezB4ZjUsMHgwYiwweDc1LDB4MGUsMHgwMywweGQyLDB4MzcsMHg4MCwweDA1LDB4MTIsMHg0ZCwweGRhLDB4YzIsMHgzNSwweDMwLDB4MzV9LAotICAxNiwweDMxNTAsMCx7MHgwYSwweDg1LDB4MDgsMHgxMywweDg1LDB4MTgsMHgxMiwweDgwLDB4MDIsMHgwNSwweDE2LDB4ODUsMHgxOCwweDE5LDB4ZTUsMHgxNn0sCi0gIDE2LDB4MzE2MCwwLHsweDY0LDB4MDQsMHg3MCwweDYyLDB4ZjUsMHgwZSwweGU1LDB4MTksMHg1NCwweGYwLDB4ZjUsMHgxOSwweGY1LDB4MTUsMHg4NSwweDE4fSwKLSAgMTYsMHgzMTcwLDAsezB4MTksMHhlNSwweDE1LDB4MjQsMHg3MCwweDYwLDB4MTgsMHgyNCwweGYwLDB4NjAsMHgxNCwweDI0LDB4ZjAsMHg2MCwweDEwLDB4MjR9LAotICAxNiwweDMxODAsMCx7MHhmMCwweDYwLDB4MWUsMHgyNCwweGYwLDB4NjAsMHgxYSwweDI0LDB4ZjAsMHg2MCwweDA0LDB4MjQsMHg2MCwweDcwLDB4MjcsMHhlNX0sCi0gIDE2LDB4MzE5MCwwLHsweDE1LDB4YzQsMHg1NCwweDBmLDB4ZjUsMHgxOSwweGY1LDB4MDgsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4ZDIsMHgzNywweDgwfSwKLSAgMTYsMHgzMWEwLDAsezB4MWEsMHhlNSwweDE1LDB4YzQsMHg1NCwweDBmLDB4ZjUsMHgxOSwweGY1LDB4MDgsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4NzV9LAotICAxNiwweDMxYjAsMCx7MHgxNCwweDAxLDB4ZDIsMHgzNywweDgwLDB4MDUsMHgxMiwweDRkLDB4ZGEsMHhjMiwweDM1LDB4MzAsMHgzNSwweDBhLDB4ODUsMHgxOX0sCi0gIDE2LDB4MzFjMCwwLHsweDEzLDB4ODUsMHgxOCwweDEyLDB4ODAsMHgwMiwweDA1LDB4MTYsMHhlNSwweDE2LDB4ZDMsMHg5NCwweDA1LDB4NDAsMHg1NywweDEyfSwKLSAgMTYsMHgzMWQwLDAsezB4NGQsMHhkYSwweDgwLDB4NTIsMHgzMCwweDM5LDB4MTcsMHhlNSwweDBlLDB4NzAsMHgwYSwweDg1LDB4MDgsMHgwOSwweDc1LDB4MDh9LAotICAxNiwweDMxZTAsMCx7MHgwNCwweDA1LDB4MGUsMHg4MCwweDQxLDB4NzQsMHgwOCwweDI1LDB4MGUsMHhmOCwweGE2LDB4MTksMHg4MCwweDM4LDB4MjAsMHgzN30sCi0gIDE2LDB4MzFmMCwwLHsweDJhLDB4ZTUsMHgwZSwweGI0LDB4MDEsMHgwZiwweDg1LDB4MDgsMHgwYSwweDg1LDB4MDksMHgwYiwweDg1LDB4MTMsMHgwOCwweDg1fSwKLSAgMTYsMHgzMjAwLDAsezB4MTIsMHgwOSwweDc1LDB4MGUsMHgwNCwweGU1LDB4MTQsMHhiNCwweDAxLDB4MWMsMHg4NSwweDA4LDB4MGEsMHhlNCwweGY1LDB4MGJ9LAotICAxNiwweDMyMTAsMCx7MHg4NSwweDEzLDB4MDgsMHg4NSwweDEyLDB4MDksMHg3NSwweDBlLDB4MDQsMHg4MCwweDBiLDB4ZTUsMHgxNCwweGI0LDB4MDEsMHgwNn0sCi0gIDE2LDB4MzIyMCwwLHsweGU0LDB4ZjUsMHgwYiwweDc1LDB4MGUsMHgwNCwweGU0LDB4ZjUsMHgxYSwweDMwLDB4MzUsMHgwMiwweDA1LDB4MGUsMHhlNSwweDBlfSwKLSAgMTYsMHgzMjMwLDAsezB4ZDMsMHg5NCwweDAzLDB4NTAsMHgwMiwweDAxLDB4MGIsMHhjMiwweDM3LDB4ZTQsMHhmNSwweDBlLDB4ZjUsMHgxMCwweGMyLDB4MzZ9LAotICAxNiwweDMyNDAsMCx7MHhkMiwweDNkLDB4ZjUsMHgxNCwweDc0LDB4MDgsMHgyNSwweDEwLDB4ZjgsMHhlNiwweGZmLDB4NzQsMHg4MCwweDI1LDB4MTAsMHhmNX0sCi0gIDE2LDB4MzI1MCwwLHsweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg3NCwweDA4LDB4MjUsMHgxMCwweGY4LDB4ZTQsMHhmNiwweDA1fSwKLSAgMTUsMHgzMjYwLDAsezB4MTAsMHhlNSwweDEwLDB4YjQsMHgwNCwweGRlLDB4OTAsMHg3ZiwweGI3LDB4NzQsMHgwNCwweGYwLDB4MDEsMHgwYiwweDIyfSwKLSAgMTYsMHgzMjZmLDAsezB4OTAsMHg3NiwweDE4LDB4ZTAsMHhmZiwweDY0LDB4MDUsMHg3MCwweDQyLDB4OTAsMHg3NSwweGFiLDB4ZTAsMHhiNCwweDAxLDB4MTl9LAotICAxNiwweDMyN2YsMCx7MHg5MCwweDcyLDB4MzcsMHg3NCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4ODAsMHgyMCwweGYwLDB4OTAsMHg4MCwweDMxLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MzI4ZiwwLHsweDgwLDB4MjgsMHhmMCwweDkwLDB4ODAsMHgzOSwweGYwLDB4ODAsMHgyMiwweGU0LDB4OTAsMHg3MiwweDM3LDB4ZjAsMHg5MCwweDc1fSwKLSAgMTYsMHgzMjlmLDAsezB4YWQsMHhlMCwweDkwLDB4NzIsMHgyYiwweGYwLDB4ZTAsMHgyNCwweDgwLDB4ZjAsMHhlMCwweDkwLDB4ODAsMHgyMCwweGYwLDB4OTB9LAotICAxNiwweDMyYWYsMCx7MHg4MCwweDMxLDB4ZjAsMHg5MCwweDgwLDB4MjgsMHhmMCwweDkwLDB4ODAsMHgzOSwweGYwLDB4ZWYsMHg2NCwweDA2LDB4NjAsMHgwMn0sCi0gIDE2LDB4MzJiZiwwLHsweDgxLDB4OTksMHg5MCwweDcyLDB4MzksMHg3NCwweDA0LDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweGZmLDB4MjQsMHhmZSwweDkwfSwKLSAgMTYsMHgzMmNmLDAsezB4NzIsMHgwNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDMyZGYsMCx7MHg4MywweGUwLDB4NjQsMHgwMSwweDcwLDB4NTQsMHg5MCwweDcyLDB4MzYsMHgwNCwweGYwLDB4OTAsMHg3MiwweDA0LDB4ZTAsMHhmZn0sCi0gIDE2LDB4MzJlZiwwLHsweDI0LDB4ZmQsMHg2MCwweDI4LDB4MjQsMHhmZSwweDYwLDB4MjQsMHgyNCwweDAzLDB4MjQsMHhmYiwweDUwLDB4MDQsMHg2MCwweDFjfSwKLSAgMTYsMHgzMmZmLDAsezB4ODEsMHg4YywweDc0LDB4MjAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc0LDB4Mjh9LAotICAxNiwweDMzMGYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDgxLDB4OGMsMHg5MCwweDcyLDB4MDQsMHhlMH0sCi0gIDE2LDB4MzMxZiwwLHsweGZmLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc0LDB4MzgsMHgyZiwweGY1fSwKLSAgMTYsMHgzMzJmLDAsezB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDgxLDB4OGMsMHhlNCwweDkwLDB4NzIsMHgzNiwweGYwLDB4OTB9LAotICAxNiwweDMzM2YsMCx7MHg3MiwweDM5LDB4ZTAsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4MzM0ZiwwLHsweGUwLDB4ZmYsMHg3ZSwweDAwLDB4OTAsMHg3NSwweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDcwLDB4MDYsMHg5MCwweDcyfSwKLSAgMTYsMHgzMzVmLDAsezB4MDIsMHg3NCwweDNiLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4NjQsMHg4MCwweDRlLDB4NzB9LAotICAxNiwweDMzNmYsMCx7MHgwNCwweDkwLDB4NzIsMHgwMiwweGYwLDB4ZWYsMHg0ZSwweDcwLDB4MDIsMHg4MSwweDM1LDB4ZWYsMHg2NCwweDgwLDB4NGUsMHg3MH0sCi0gIDE2LDB4MzM3ZiwwLHsweDAyLDB4ODEsMHgzNSwweGVmLDB4ZjgsMHhlNCwweDkwLDB4NzUsMHgwZCwweGYwLDB4ZTgsMHg5MCwweDc1LDB4MGMsMHhmMCwweDkwfSwKLSAgMTYsMHgzMzhmLDAsezB4NzIsMHgzNCwweGUwLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDMzOWYsMCx7MHhlMCwweGZmLDB4OTAsMHg3MiwweDAyLDB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMCwweDJmLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMH0sCi0gIDE2LDB4MzNhZiwwLHsweDM0LDB4MDAsMHhmMCwweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHg3YiwweGQ2LDB4N2EsMHhhNSwweGY5fSwKLSAgMTYsMHgzM2JmLDAsezB4ZjgsMHhkMywweDEyLDB4MzcsMHg5NSwweDQwLDB4MGEsMHg5MCwweDc1LDB4MGMsMHg3NCwweGE1LDB4ZjAsMHhhMywweDc0LDB4ZDZ9LAotICAxNiwweDMzY2YsMCx7MHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MjQsMHgyYSwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDVhLDB4ZjAsMHhlMH0sCi0gIDE2LDB4MzNkZiwwLHsweGZlLDB4YTMsMHhlMCwweDc4LDB4MDUsMHhjZSwweGEyLDB4ZTcsMHgxMywweGNlLDB4MTMsMHhkOCwweGY4LDB4ZmYsMHg5MCwweDc1fSwKLSAgMTYsMHgzM2VmLDAsezB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4OTAsMHg3MiwweDJjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweGQzLDB4OTR9LAotICAxNiwweDMzZmYsMCx7MHhkMiwweGVlLDB4NjQsMHg4MCwweDk0LDB4ODIsMHg0MCwweDBhLDB4OTAsMHg3MiwweDJjLDB4NzQsMHgwMiwweGYwLDB4YTMsMHg3NH0sCi0gIDE2LDB4MzQwZiwwLHsweGQyLDB4ZjAsMHhjMywweDkwLDB4NzIsMHgyYywweGUwLDB4NjQsMHg4MCwweDk0LDB4ODAsMHg1MCwweDA0LDB4ZTQsMHhmMCwweGEzfSwKLSAgMTYsMHgzNDFmLDAsezB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlMCwweGZlLDB4YTMsMHhlMCwweDI0LDB4M2EsMHhmNSwweDgyLDB4ZWUsMHgzNCwweDcyLDB4ZjV9LAotICAxNiwweDM0MmYsMCx7MHg4MywweGUwLDB4OTAsMHg3MiwweDAyLDB4ZjAsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZmLDB4MjQsMHhmZCwweDYwLDB4MmQsMHgyNH0sCi0gIDE2LDB4MzQzZiwwLHsweGZlLDB4NjAsMHgyOSwweDI0LDB4MDMsMHgyNCwweGZiLDB4NTAsMHgwNCwweDYwLDB4MjEsMHg4MCwweDQwLDB4OTAsMHg3MiwweDAyfSwKLSAgMTYsMHgzNDRmLDAsezB4ZTAsMHhmZSwweDc0LDB4MjAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4Mjh9LAotICAxNiwweDM0NWYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDgwLDB4MjEsMHg5MCwweDcyLDB4MDIsMHhlMH0sCi0gIDE2LDB4MzQ2ZiwwLHsweGZmLDB4OTAsMHg3MiwweDA0LDB4ZTAsMHhmZSwweDI0LDB4MzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmfSwKLSAgMTYsMHgzNDdmLDAsezB4ZjAsMHg3NCwweDM4LDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDcyLDB4Mzl9LAotICAxMSwweDM0OGYsMCx7MHhlMCwweDA0LDB4ZjAsMHhlMCwweDY0LDB4MGEsMHg2MCwweDAyLDB4NDEsMHhjNywweDIyfSwKLSAgMTYsMHgzNDlhLDAsezB4OTAsMHg3NiwweDE4LDB4ZTAsMHhmZiwweGI0LDB4MDUsMHgyMywweDkwLDB4NzIsMHgzNywweGUwLDB4NzAsMHgxZCwweDkwLDB4NzV9LAotICAxNiwweDM0YWEsMCx7MHhhZCwweGUwLDB4OTAsMHg3MiwweDJiLDB4ZjAsMHhlMCwweDI0LDB4ODAsMHhmMCwweGUwLDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MzRiYSwwLHsweDgwLDB4MzEsMHhmMCwweDkwLDB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHhlZiwweDY0LDB4MDYsMHg2MCwweDAyfSwKLSAgMTYsMHgzNGNhLDAsezB4YzEsMHg5MSwweDkwLDB4NzIsMHgzNiwweGUwLDB4NjAsMHgwMiwweGMxLDB4OTEsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MzF9LAotICAxNiwweDM0ZGEsMCx7MHg5MCwweDcyLDB4MDMsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDcyLDB4MDMsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNH0sCi0gIDE2LDB4MzRlYSwwLHsweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3MiwweDI5LDB4ZTAsMHhmZCwweGVlfSwKLSAgMTYsMHgzNGZhLDAsezB4NmQsMHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MGEsMHg1MCwweDA4LDB4OTAsMHg3MiwweDAzLDB4ZTAsMHgwNCwweGYwLDB4ODB9LAotICAxNiwweDM1MGEsMCx7MHhkNSwweDkwLDB4NzIsMHgzOSwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHg0MCwweGUwLDB4NzAsMHgwOCwweDkwLDB4NzIsMHgwM30sCi0gIDE2LDB4MzUxYSwwLHsweGUwLDB4OTAsMHg3MiwweDM5LDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweGZkLDB4MjQsMHhmZSwweDkwLDB4NzIsMHgyYSwweGYwfSwKLSAgMTYsMHgzNTJhLDAsezB4ZWQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmZ9LAotICAxNiwweDM1M2EsMCx7MHg3ZSwweDAwLDB4OTAsMHg3NSwweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDcwLDB4MDYsMHg5MCwweDcyLDB4MDIsMHg3NH0sCi0gIDE2LDB4MzU0YSwwLHsweDgwLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4NjQsMHg4MCwweDRlLDB4NzAsMHgwNCwweDkwfSwKLSAgMTYsMHgzNTVhLDAsezB4NzIsMHgwMiwweGYwLDB4ZWYsMHg0ZSwweDcwLDB4MDIsMHhjMSwweDFiLDB4ZWYsMHg2NCwweDgwLDB4NGUsMHg3MCwweDAyLDB4YzF9LAotICAxNiwweDM1NmEsMCx7MHgxYiwweGVmLDB4ZjgsMHhlNCwweDkwLDB4NzUsMHgwZCwweGYwLDB4ZTgsMHg5MCwweDc1LDB4MGMsMHhmMCwweGVkLDB4NzUsMHhmMH0sCi0gIDE2LDB4MzU3YSwwLHsweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3MiwweDAyfSwKLSAgMTYsMHgzNThhLDAsezB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMCwweDJmLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4MDAsMHhmMCwweGUwLDB4ZmV9LAotICAxNiwweDM1OWEsMCx7MHhhMywweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHg3YiwweGQ2LDB4N2EsMHhhNSwweGY5LDB4ZjgsMHhkMywweDEyLDB4MzcsMHg5NX0sCi0gIDE2LDB4MzVhYSwwLHsweDQwLDB4MGEsMHg5MCwweDc1LDB4MGMsMHg3NCwweGE1LDB4ZjAsMHhhMywweDc0LDB4ZDYsMHhmMCwweDkwLDB4NzUsMHgwZCwweGUwfSwKLSAgMTYsMHgzNWJhLDAsezB4MjQsMHgyYSwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDVhLDB4ZjAsMHhlMCwweGZlLDB4YTMsMHhlMCwweDc4LDB4MDV9LAotICAxNiwweDM1Y2EsMCx7MHhjZSwweGEyLDB4ZTcsMHgxMywweGNlLDB4MTMsMHhkOCwweGY4LDB4ZmYsMHg5MCwweDc1LDB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZn0sCi0gIDE2LDB4MzVkYSwwLHsweGYwLDB4OTAsMHg3MiwweDJjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweGQzLDB4OTQsMHhkMiwweGVlLDB4NjQsMHg4MCwweDk0fSwKLSAgMTYsMHgzNWVhLDAsezB4ODIsMHg0MCwweDBhLDB4OTAsMHg3MiwweDJjLDB4NzQsMHgwMiwweGYwLDB4YTMsMHg3NCwweGQyLDB4ZjAsMHhjMywweDkwLDB4NzJ9LAotICAxNiwweDM1ZmEsMCx7MHgyYywweGUwLDB4NjQsMHg4MCwweDk0LDB4ODAsMHg1MCwweDA0LDB4ZTQsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlMH0sCi0gIDE2LDB4MzYwYSwwLHsweGZlLDB4YTMsMHhlMCwweDI0LDB4M2EsMHhmNSwweDgyLDB4ZWUsMHgzNCwweDcyLDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3MiwweDAyfSwKLSAgMTYsMHgzNjFhLDAsezB4ZjAsMHg5MCwweDcyLDB4MmEsMHhlMCwweGZmLDB4MjQsMHhmZCwweDYwLDB4MmQsMHgyNCwweGZlLDB4NjAsMHgyOSwweDI0LDB4MDN9LAotICAxNiwweDM2MmEsMCx7MHgyNCwweGZiLDB4NTAsMHgwNCwweDYwLDB4MjEsMHg4MCwweDQwLDB4OTAsMHg3MiwweDAyLDB4ZTAsMHhmZSwweDc0LDB4MjAsMHgyZn0sCi0gIDE2LDB4MzYzYSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4MjgsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgzNjRhLDAsezB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDgwLDB4MjEsMHg5MCwweDcyLDB4MDIsMHhlMCwweGZmLDB4OTAsMHg3MiwweDJhLDB4ZTB9LAotICAxNiwweDM2NWEsMCx7MHhmZSwweDI0LDB4MzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg3NCwweDM4LDB4MmUsMHhmNX0sCi0gIDE2LDB4MzY2YSwwLHsweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MDYsMHg5MCwweDcyfSwKLSAgMTYsMHgzNjdhLDAsezB4MzksMHg3NCwweDBhLDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweDA0LDB4ZjAsMHhlMCwweGMzLDB4OTQsMHgwYSwweDUwLDB4MDJ9LAotICAgOCwweDM2OGEsMCx7MHhhMSwweDExLDB4ZTQsMHg5MCwweDc2LDB4NDAsMHhmMCwweDIyfSwKLSAgMTYsMHgzNjkyLDAsezB4YmIsMHgwMSwweDA2LDB4ODksMHg4MiwweDhhLDB4ODMsMHhlMCwweDIyLDB4NTAsMHgwMiwweGU3LDB4MjIsMHhiYiwweGZlLDB4MDJ9LAotICAgOSwweDM2YTIsMCx7MHhlMywweDIyLDB4ODksMHg4MiwweDhhLDB4ODMsMHhlNCwweDkzLDB4MjJ9LAotICAxNiwweDM2YWIsMCx7MHhiYiwweDAxLDB4MGMsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGUwLDB4MjIsMHg1MH0sCi0gIDE2LDB4MzZiYiwwLHsweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlNiwweDIyLDB4YmIsMHhmZSwweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweDIyfSwKLSAgMTMsMHgzNmNiLDAsezB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlNCwweDkzLDB4MjJ9LAotICAxNiwweDM2ZDgsMCx7MHhjMiwweGQ1LDB4ZWMsMHgzMCwweGU3LDB4MDksMHhiMiwweGQ1LDB4ZTQsMHhjMywweDlkLDB4ZmQsMHhlNCwweDljLDB4ZmMsMHhlZX0sCi0gIDE2LDB4MzZlOCwwLHsweDMwLDB4ZTcsMHgxNSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWYsMHhmZiwweGU0LDB4OWUsMHhmZSwweDEyLDB4MzgsMHgxZiwweGMzfSwKLSAgMTYsMHgzNmY4LDAsezB4ZTQsMHg5ZCwweGZkLDB4ZTQsMHg5YywweGZjLDB4ODAsMHgwMywweDEyLDB4MzgsMHgxZiwweDMwLDB4ZDUsMHgwNywweGMzLDB4ZTR9LAotICAgNiwweDM3MDgsMCx7MHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MjJ9LAotICAxNiwweDM3MGUsMCx7MHhiYiwweDAxLDB4MTAsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHhmMH0sCi0gIDE2LDB4MzcxZSwwLHsweGEzLDB4ZTAsMHgyMiwweDUwLDB4MDksMHhlOSwweDI1LDB4ODIsMHhmOCwweDg2LDB4ZjAsMHgwOCwweGU2LDB4MjIsMHhiYiwweGZlfSwKLSAgMTYsMHgzNzJlLDAsezB4MGEsMHhlOSwweDI1LDB4ODIsMHhmOCwweGUyLDB4ZjUsMHhmMCwweDA4LDB4ZTIsMHgyMiwweGU1LDB4ODMsMHgyYSwweGY1LDB4ODN9LAotICAgOCwweDM3M2UsMCx7MHhlOSwweDkzLDB4ZjUsMHhmMCwweGEzLDB4ZTksMHg5MywweDIyfSwKLSAgMTYsMHgzNzQ2LDAsezB4ZTgsMHg4ZiwweGYwLDB4YTQsMHhjYywweDhiLDB4ZjAsMHhhNCwweDJjLDB4ZmMsMHhlOSwweDhlLDB4ZjAsMHhhNCwweDJjLDB4ZmN9LAotICAxNiwweDM3NTYsMCx7MHg4YSwweGYwLDB4ZWQsMHhhNCwweDJjLDB4ZmMsMHhlYSwweDhlLDB4ZjAsMHhhNCwweGNkLDB4YTgsMHhmMCwweDhiLDB4ZjAsMHhhNH0sCi0gIDE2LDB4Mzc2NiwwLHsweDJkLDB4Y2MsMHgzOCwweDI1LDB4ZjAsMHhmZCwweGU5LDB4OGYsMHhmMCwweGE0LDB4MmMsMHhjZCwweDM1LDB4ZjAsMHhmYywweGVifSwKLSAgMTYsMHgzNzc2LDAsezB4OGUsMHhmMCwweGE0LDB4ZmUsMHhhOSwweGYwLDB4ZWIsMHg4ZiwweGYwLDB4YTQsMHhjZiwweGM1LDB4ZjAsMHgyZSwweGNkLDB4Mzl9LAotICAxNSwweDM3ODYsMCx7MHhmZSwweGU0LDB4M2MsMHhmYywweGVhLDB4YTQsMHgyZCwweGNlLDB4MzUsMHhmMCwweGZkLDB4ZTQsMHgzYywweGZjLDB4MjJ9LAotICAxNiwweDM3OTUsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlYywweDY0LDB4ODAsMHhjOH0sCi0gICA2LDB4MzdhNSwwLHsweDY0LDB4ODAsMHg5OCwweDQ1LDB4ZjAsMHgyMn0sCi0gIDE2LDB4MzdhYiwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfSwKLSAgIDEsMHgzN2JiLDAsezB4MjJ9LAotICAxMiwweDM3YmMsMCx7MHhlYywweGYwLDB4YTMsMHhlZCwweGYwLDB4YTMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4MjJ9LAotICAxNiwweDM3YzgsMCx7MHhhOCwweDgyLDB4ODUsMHg4MywweGYwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgxMiwweDM3LDB4ZGYsMHgxMiwweDM3LDB4ZGYsMHgxMn0sCi0gIDE2LDB4MzdkOCwwLHsweDM3LDB4ZGYsMHgxMiwweDM3LDB4ZGYsMHhlNCwweDczLDB4ZTQsMHg5MywweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzfSwKLSAgMTYsMHgzN2U4LDAsezB4YzgsMHhjNSwweDgyLDB4YzgsMHhmMCwweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzLDB4YzgsMHhjNSwweDgyLDB4Yzh9LAotICAgMSwweDM3ZjgsMCx7MHgyMn0sCi0gIDE2LDB4MzdmOSwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjgsMHhlNCwweDkzLDB4NzAsMHgxMiwweDc0LDB4MDEsMHg5MywweDcwLDB4MGQsMHhhMywweGEzfSwKLSAgMTYsMHgzODA5LDAsezB4OTMsMHhmOCwweDc0LDB4MDEsMHg5MywweGY1LDB4ODIsMHg4OCwweDgzLDB4ZTQsMHg3MywweDc0LDB4MDIsMHg5MywweDY4LDB4NjB9LAotICAgNiwweDM4MTksMCx7MHhlZiwweGEzLDB4YTMsMHhhMywweDgwLDB4ZGZ9LAotICAxNiwweDM4MWYsMCx7MHhiYywweDAwLDB4MGIsMHhiZSwweDAwLDB4MjksMHhlZiwweDhkLDB4ZjAsMHg4NCwweGZmLDB4YWQsMHhmMCwweDIyLDB4ZTQsMHhjY30sCi0gIDE2LDB4MzgyZiwwLHsweGY4LDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZiwweGZmLDB4ZWUsMHgzMywweGZlLDB4ZWMsMHgzMywweGZjLDB4ZWUsMHg5ZCwweGVjfSwKLSAgMTYsMHgzODNmLDAsezB4OTgsMHg0MCwweDA1LDB4ZmMsMHhlZSwweDlkLDB4ZmUsMHgwZiwweGQ1LDB4ZjAsMHhlOSwweGU0LDB4Y2UsMHhmZCwweDIyLDB4ZWR9LAotICAxNiwweDM4NGYsMCx7MHhmOCwweGY1LDB4ZjAsMHhlZSwweDg0LDB4MjAsMHhkMiwweDFjLDB4ZmUsMHhhZCwweGYwLDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZn0sCi0gIDE2LDB4Mzg1ZiwwLHsweGZmLDB4ZWQsMHgzMywweGZkLDB4NDAsMHgwNywweDk4LDB4NTAsMHgwNiwweGQ1LDB4ZjAsMHhmMiwweDIyLDB4YzMsMHg5OCwweGZkfSwKLSAgIDUsMHgzODZmLDAsezB4MGYsMHhkNSwweGYwLDB4ZWEsMHgyMn0sCi0gIDE2LDB4Mzg3NCwwLHsweGU0LDB4OTAsMHg3NiwweDI5LDB4ZjAsMHg5MCwweDc2LDB4MjksMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfSwKLSAgMTYsMHgzODg0LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9LAotICAxNiwweDM4OTQsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDYsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI5LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX0sCi0gIDE2LDB4MzhhNCwwLHsweGVmLDB4YjQsMHgwNiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDBmfSwKLSAgMTYsMHgzOGI0LDAsezB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyYSwweGYwLDB4MjR9LAotICAxNiwweDM4YzQsMCx7MHhiZiwweDcwLDB4MDIsMHg0MSwweDQxLDB4MjQsMHhlMCwweDcwLDB4MDIsMHg0MSwweDEyLDB4MjQsMHgyMSwweDYwLDB4MDIsMHg0MX0sCi0gIDE2LDB4MzhkNCwwLHsweDNhLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHg3ZCwweDE0LDB4NzAsMHgwMiwweDIxLDB4YjIsMHgyNCwweDAyfSwKLSAgMTYsMHgzOGU0LDAsezB4NjAsMHgwMiwweDQxLDB4MGEsMHgxMiwweDE3LDB4NTEsMHg5MCwweDc2LDB4NDIsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTN9LAotICAxNiwweDM4ZjQsMCx7MHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNX0sCi0gIDE2LDB4MzkwNCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxfSwKLSAgMTYsMHgzOTE0LDAsezB4MTIsMHg5MCwweDc2LDB4N2MsMHg3NCwweDY3LDB4ZjAsMHg5MCwweDc2LDB4N2QsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4N2V9LAotICAxNiwweDM5MjQsMCx7MHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwZiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHg5MCwweDc2LDB4N2QsMHhmMH0sCi0gIDE2LDB4MzkzNCwwLHsweDkwLDB4NzYsMHg3ZSwweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBmLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweDkwfSwKLSAgMTYsMHgzOTQ0LDAsezB4NzYsMHg3ZCwweGYwLDB4OTAsMHg3NiwweDdlLDB4NzQsMHgxOCwweGYwLDB4OTAsMHg3NiwweDFhLDB4NzQsMHgwMSwweGYwLDB4MTJ9LAotICAxNiwweDM5NTQsMCx7MHgzZSwweDlmLDB4MTIsMHgxOCwweDAwLDB4MjIsMHg5MCwweDdlLDB4YzIsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4ZmUsMHhmYn0sCi0gIDE2LDB4Mzk2NCwwLHsweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgzNywweDQ2LDB4YzgsMHhlYywweGM4LDB4YzksMHhlZCwweGM5LDB4Y2EsMHhlZSwweGNhfSwKLSAgMTYsMHgzOTc0LDAsezB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZSwweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmF9LAotICAxNiwweDM5ODQsMCx7MHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4ZjgsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4ZTQsMHhmZSwweGViLDB4MmYsMHhmZn0sCi0gIDE2LDB4Mzk5NCwwLHsweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZCwweGVjLDB4MzgsMHhmYywweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMCwweDBmfSwKLSAgMTYsMHgzOWE0LDAsezB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YmMsMHgyMiwweDkwLDB4N2V9LAotICAxNiwweDM5YjQsMCx7MHhjMiwweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHhmZSwweGZiLDB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDM3LDB4NDYsMHhjOH0sCi0gIDE2LDB4MzljNCwwLHsweGVjLDB4YzgsMHhjOSwweGVkLDB4YzksMHhjYSwweGVlLDB4Y2EsMHhjYiwweGVmLDB4Y2IsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZlfSwKLSAgMTYsMHgzOWQ0LDAsezB4ZTQsMHhmYywweGZkLDB4MmIsMHhmYiwweGVhLDB4M2UsMHhmYSwweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwLDB4N2V9LAotICAxNiwweDM5ZTQsMCx7MHhjMCwweGUwLDB4ZmYsMHhlNCwweGZlLDB4ZWIsMHgyZiwweGZmLDB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkLDB4ZWMsMHgzOH0sCi0gIDE2LDB4MzlmNCwwLHsweGZjLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgzYTA0LDAsezB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9LAotICAxNiwweDNhMTQsMCx7MHhlOSwweGUwLDB4MTQsMHg3MCwweDE5LDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMH0sCi0gIDE2LDB4M2EyNCwwLHsweDBmLDB4YTQsMHgyNCwweDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmfSwKLSAgMTQsMHgzYTM0LDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4M2E0MiwwLHsweGU0LDB4OTAsMHg3NiwweDM1LDB4ZjAsMHg5MCwweDc2LDB4MzUsMHhlMCwweGZmLDB4YzMsMHg5NCwweDAzLDB4NDAsMHgwMiwweDQxfSwKLSAgMTYsMHgzYTUyLDAsezB4ZmYsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWZ9LAotICAxNiwweDNhNjIsMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNH0sCi0gIDE2LDB4M2E3MiwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fSwKLSAgMTYsMHgzYTgyLDAsezB4ZjAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDNhOTIsMCx7MHg3NCwweGZmLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4M2FhMiwwLHsweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgzYWIyLDAsezB4ODMsMHg3NCwweDgwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDNhYzIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4M2FkMiwwLHsweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgzYWUyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDNhZjIsMCx7MHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHgwNCwweGYwLDB4NDEsMHg0NywweDkwLDB4NzYsMHgzY30sCi0gIDE2LDB4M2IwMiwwLHsweDc0LDB4MGEsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4NzYsMHgzNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgzYywweGUwfSwKLSAgMTYsMHgzYjEyLDAsezB4ZmYsMHg5MCwweDc2LDB4MzUsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDIsMHg2MSwweGQyLDB4OTAsMHg3NiwweDNkLDB4ZTB9LAotICAxNiwweDNiMjIsMCx7MHhmZiwweDA0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4M2IzMiwwLHsweDgzLDB4ZWYsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgzYjQyLDAsezB4ODMsMHhlNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDNiNTIsMCx7MHg4MywweDc0LDB4NWUsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4M2I2MiwwLHsweGY1LDB4ODMsMHg3NCwweGJhLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgzYjcyLDAsezB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDNiODIsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4M2I5MiwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyfSwKLSAgMTYsMHgzYmEyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODJ9LAotICAxNiwweDNiYjIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgxNSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNX0sCi0gIDE2LDB4M2JjMiwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzUsMHhlMCwweDA0LDB4ZjAsMHg2MSwweDBlfSwKLSAgIDEsMHgzYmQyLDAsezB4MjJ9LAotICAxNiwweDNiZDMsMCx7MHhlNCwweDkwLDB4NzYsMHgzNiwweGYwLDB4ZTAsMHhmYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4M2JlMywwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MCwweGYwLDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyfSwKLSAgMTYsMHgzYmYzLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MGEsMHhmMCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjV9LAotICAxNiwweDNjMDMsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMH0sCi0gIDE2LDB4M2MxMywwLHsweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwfSwKLSAgMTYsMHgzYzIzLDAsezB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDNjMzMsMCx7MHgxMiwweDM3LDB4YzgsMHgwMCwweDAxLDB4NzcsMHgwMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmIsMHg3NX0sCi0gIDE2LDB4M2M0MywwLHsweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDAsMHhmMCwweGVifSwKLSAgMTYsMHgzYzUzLDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDhjLDB4ZjB9LAotICAxNiwweDNjNjMsMCx7MHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzN30sCi0gIDE2LDB4M2M3MywwLHsweGM4LDB4MDAsMHgwMCwweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgzYzgzLDAsezB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMCwweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjR9LAotICAxNiwweDNjOTMsMCx7MHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMSwweDc3LDB4MDAsMHg5MH0sCi0gIDE2LDB4M2NhMywwLHsweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgzY2IzLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODJ9LAotICAxNiwweDNjYzMsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4ZiwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZn0sCi0gIDE2LDB4M2NkMywwLHsweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MSwweGYwfSwKLSAgMTYsMHgzY2UzLDAsezB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODR9LAotICAxNiwweDNjZjMsMCx7MHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNX0sCi0gIDE2LDB4M2QwMywwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NjEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfSwKLSAgMTYsMHgzZDEzLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDgxLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjB9LAotICAxNiwweDNkMjMsMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH0sCi0gIDE2LDB4M2QzMywwLHsweDYxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgIDQsMHgzZDQzLDAsezB4NzQsMHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDNkNDcsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH0sCi0gIDE2LDB4M2Q1NywwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfSwKLSAgMTYsMHgzZDY3LDAsezB4YzAsMHhlMCwweDkwLDB4N2YsMHhhMiwweGUwLDB4OTAsMHg3NiwweDdmLDB4ZjAsMHg5MCwweDdmLDB4NzQsMHhlMCwweDkwLDB4NzZ9LAotICAxNiwweDNkNzcsMCx7MHg4NywweGYwLDB4OTAsMHg3ZiwweDc1LDB4ZTAsMHg5MCwweDc2LDB4ODgsMHhmMCwweDkwLDB4N2YsMHg5OCwweGUwLDB4NDQsMHgwMn0sCi0gIDE2LDB4M2Q4NywwLHsweGYwLDB4OTAsMHg3NiwweDk2LDB4ZTAsMHhmZiwweDIwLDB4ZTEsMHgwYywweDQ0LDB4MDIsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwfSwKLSAgMTYsMHgzZDk3LDAsezB4ZDIsMHgzMiwweDEyLDB4NGIsMHgyOCwweDkwLDB4NzYsMHg3ZiwweGUwLDB4MjAsMHhlMiwweDUwLDB4OTAsMHg3NiwweDg3LDB4ZTB9LAotICAxNiwweDNkYTcsMCx7MHhmZSwweGEzLDB4ZTAsMHg3YywweDAwLDB4MjQsMHgwMCwweGY1LDB4MzQsMHhlYywweDNlLDB4ZjUsMHgzMywweDkwLDB4NzYsMHg5OH0sCi0gIDE2LDB4M2RiNywwLHsweGUwLDB4ZmQsMHhhZSwweDMzLDB4YWYsMHgzNCwweDEyLDB4MzYsMHhkOCwweDkwLDB4NzYsMHg4NywweGVmLDB4ZjAsMHhkMiwweDJmfSwKLSAgMTYsMHgzZGM3LDAsezB4MzAsMHgzMSwweDI5LDB4MjAsMHgzZiwweDI2LDB4YzIsMHgzMSwweDkwLDB4N2YsMHg5NCwweGUwLDB4NTQsMHhjZiwweGYwLDB4OTB9LAotICAxNiwweDNkZDcsMCx7MHg3ZiwweDlhLDB4ZTAsMHgzMCwweGU0LDB4MDQsMHhkMiwweDJkLDB4YzIsMHgyYywweDkwLDB4N2YsMHg5YSwweGUwLDB4MjAsMHhlNX0sCi0gIDE2LDB4M2RlNywwLHsweDA0LDB4YzIsMHgyZCwweGQyLDB4MmMsMHg5MCwweDdmLDB4OTQsMHhlMCwweDQ0LDB4MzAsMHhmMCwweDEyLDB4NDgsMHhiZCwweDEyfSwKLSAgMTYsMHgzZGY3LDAsezB4MWIsMHgwNCwweDMwLDB4MmYsMHgxMiwweDEyLDB4NDIsMHgxZiwweGMyLDB4MmYsMHg3NSwweGU4LDB4MDEsMHgxMiwweDE2LDB4OGF9LAotICAxNiwweDNlMDcsMCx7MHg3NSwweGU4LDB4MGQsMHhkMiwweDJiLDB4ODAsMHgwNSwweDc1LDB4ZTgsMHgwMSwweGMyLDB4MmIsMHgyMCwweDJiLDB4MzQsMHg5MH0sCi0gIDE2LDB4M2UxNywwLHsweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlLDB4OTAsMHg3NiwweDdjLDB4NzQsMHg2NywweGYwLDB4YTMsMHg3NCwweDA2fSwKLSAgMTYsMHgzZTI3LDAsezB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBiLDB4OTAsMHg3NiwweDdjLDB4ZTQsMHhmMCwweGEzLDB4ZjB9LAotICAxNiwweDNlMzcsMCx7MHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBiLDB4OTAsMHg3NiwweDdjLDB4ZTQsMHhmMCwweGEzLDB4ZjAsMHhhM30sCi0gIDE2LDB4M2U0NywwLHsweDc0LDB4MTgsMHhmMCwweDc1LDB4Y2EsMHhkMywweDc1LDB4Y2IsMHhmZSwweGQyLDB4Y2EsMHgzMCwweDM0LDB4MDQsMHhjMiwweDM0fSwKLSAgMTYsMHgzZTU3LDAsezB4ODAsMHgwMiwweGQyLDB4MzQsMHgzMCwweDM0LDB4MGQsMHg5MCwweDc2LDB4ODksMHhlMCwweGMzLDB4OTQsMHgwMywweDQwLDB4MDR9LAotICAxNiwweDNlNjcsMCx7MHhlMCwweDI0LDB4ZmQsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4M2U3NywwLHsweDk4LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwfSwKLSAgMTYsMHgzZTg3LDAsezB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMCwweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDB9LAotICAgOCwweDNlOTcsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgzZTlmLDAsezB4OTAsMHg3NiwweDkyLDB4ZTAsMHgxNCwweDYwLDB4MWQsMHgxNCwweDcwLDB4MDIsMHhlMSwweDU0LDB4MjQsMHgwMiwweDYwLDB4MDJ9LAotICAxNiwweDNlYWYsMCx7MHhlMSwweGU0LDB4OTAsMHg3NiwweDk0LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4ZX0sCi0gIDE2LDB4M2ViZiwwLHsweGYwLDB4ZDIsMHgzMSwweDIyLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgxYiwweGU0LDB4OTAsMHg3ZiwweGYyfSwKLSAgMTYsMHgzZWNmLDAsezB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTd9LAotICAxNiwweDNlZGYsMCx7MHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDFiLDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMH0sCi0gIDE2LDB4M2VlZiwwLHsweDkwLDB4N2YsMHhmMywweDc0LDB4MzQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwfSwKLSAgMTYsMHgzZWZmLDAsezB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MTgsMHhlNCwweDkwLDB4N2YsMHhmMiwweGYwLDB4OTB9LAotICAxNiwweDNmMGYsMCx7MHg3ZiwweGYzLDB4NzQsMHg2NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NH0sCi0gIDE2LDB4M2YxZiwwLHsweDA0LDB4ZjAsMHg5MCwweDc2LDB4OTQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4ODAsMHgwMCwweGYwLDB4MzAsMHgzZiwweDA5fSwKLSAgMTYsMHgzZjJmLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAxNiwweDNmM2YsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4OTAsMHg3NiwweDk4LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4M2Y0ZiwwLHsweDhlLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDFiLDB4ZTQsMHg5MCwweDdmfSwKLSAgMTYsMHgzZjVmLDAsezB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4NDQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzZ9LAotICAxNiwweDNmNmYsMCx7MHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMn0sCi0gIDE2LDB4M2Y3ZiwwLHsweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg0YywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3fSwKLSAgMTYsMHgzZjhmLDAsezB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgxOCwweGU0LDB4OTAsMHg3ZiwweGYyLDB4ZjB9LAotICAxNiwweDNmOWYsMCx7MHg5MCwweDdmLDB4ZjMsMHg3NCwweDk0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMH0sCi0gIDE2LDB4M2ZhZiwwLHsweDQ0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHg5NCwweGUwLDB4NTQsMHhmZSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHgzMCwweDNmfSwKLSAgMTYsMHgzZmJmLDAsezB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDF9LAotICAxNiwweDNmY2YsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTgsMHg3NCwweDA2LDB4ZjAsMHg5MH0sCi0gICA2LDB4M2ZkZiwwLHsweDc2LDB4OGUsMHg3NCwweDAyLDB4ZjAsMHgyMn0sCi0gIDE2LDB4M2ZlNSwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDgyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg5MSwweGYwLDB4OTAsMHg3NiwweDkyfSwKLSAgMTEsMHgzZmY1LDAsezB4ZjAsMHg5MCwweDc2LDB4OTAsMHhmMCwweDkwLDB4NzYsMHg5MywweGYwLDB4ZDMsMHgyMn0sCi0gIDE2LDB4NDAwMCwwLHsweGU1LDB4MTEsMHhkMywweDk0LDB4MDAsMHg1MCwweDAyLDB4MjEsMHgwNiwweDkwLDB4NzYsMHg4OSwweGUwLDB4YzMsMHg5NCwweDA4fSwKLSAgMTYsMHg0MDEwLDAsezB4NDAsMHgwMiwweDIxLDB4MDYsMHg3NCwweDQwLDB4MjUsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTB9LAotICAxNiwweDQwMjAsMCx7MHhmNSwweDE3LDB4ZTUsMHgwZCwweDYwLDB4MGUsMHg5MCwweDgwLDB4MDUsMHhlNSwweDE3LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMH0sCi0gIDE2LDB4NDAzMCwwLHsweDA0LDB4ZjAsMHgwMSwweGRhLDB4ZTUsMHgxNywweDEyLDB4MzcsMHhmOSwweDQwLDB4YzEsMHgwMiwweDQwLDB4NjcsMHgwNSwweDQwfSwKLSAgMTYsMHg0MDQwLDAsezB4N2EsMHgwNiwweDQwLDB4OTgsMHgwNywweDQwLDB4YzEsMHgwYywweDQwLDB4YzEsMHgwZCwweDQwLDB4YzcsMHgwZiwweDQwLDB4Y2J9LAotICAxNiwweDQwNTAsMCx7MHhmNiwweDQwLDB4Y2IsMHhmOCwweDQwLDB4Y2IsMHhmYSwweDQwLDB4Y2IsMHhmYiwweDQwLDB4Y2IsMHhmYywweDQwLDB4Y2IsMHhmZX0sCi0gIDE2LDB4NDA2MCwwLHsweDQwLDB4Y2IsMHhmZiwweDAwLDB4MDAsMHg0MCwweGRhLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwfSwKLSAgMTYsMHg0MDcwLDAsezB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDgwLDB4NjAsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODB9LAotICAxNiwweDQwODAsMCx7MHgwNSwweGYwLDB4OTAsMHg3ZSwweDQyLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMH0sCi0gIDE2LDB4NDA5MCwwLHsweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDgwLDB4NDIsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwfSwKLSAgMTYsMHg0MGEwLDAsezB4OTAsMHg3ZSwweDQyLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4N2UsMHg0MywweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjB9LAotICAxNiwweDQwYjAsMCx7MHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHg4MH0sCi0gIDE2LDB4NDBjMCwwLHsweDE5LDB4ZDIsMHgzYiwweGQyLDB4M2MsMHg4MCwweDEzLDB4ZDIsMHgzYiwweDgwLDB4MGYsMHg5MCwweDgwLDB4MDUsMHhlNSwweDE3fSwKLSAgMTYsMHg0MGQwLDAsezB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHgyMCwweDNiLDB4MDQsMHgwNSwweDBkLDB4ODB9LAotICAxNiwweDQwZTAsMCx7MHgxZiwweDMwLDB4M2MsMHgxYywweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDdlLDB4NDIsMHhlMH0sCi0gIDE2LDB4NDBmMCwwLHsweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxfSwKLSAgMTYsMHg0MTAwLDAsezB4MDUsMHgwZiwweDE1LDB4MTEsMHgwMSwweDAwLDB4ZTUsMHgxMSwweDcwLDB4MTAsMHhjMiwweDMzLDB4ZjUsMHgwZCwweGY1LDB4MGZ9LAotICAxMSwweDQxMTAsMCx7MHg5MCwweDdmLDB4YzcsMHg3NCwweDA0LDB4ZjAsMHhjMiwweDNiLDB4YzIsMHgzYywweDIyfSwKLSAgMTYsMHg0MTFiLDAsezB4OTAsMHg3NiwweDhkLDB4ZTAsMHg2NCwweDAxLDB4NzAsMHgyNywweDMwLDB4MjcsMHgwOCwweGMyLDB4MjcsMHgxMiwweDA4LDB4MDB9LAotICAxNiwweDQxMmIsMCx7MHgxMiwweDE3LDB4NGEsMHgzMCwweDI4LDB4MDgsMHhjMiwweDI4LDB4MTIsMHgzOCwweDc0LDB4MTIsMHgxNywweDRhLDB4MzAsMHgyYX0sCi0gIDE2LDB4NDEzYiwwLHsweDBlLDB4ZTQsMHg5MCwweDc2LDB4OGQsMHhmMCwweGMyLDB4MmEsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDkwfSwKLSAgMTYsMHg0MTRiLDAsezB4NzYsMHgzZiwweGUwLDB4YjQsMHgwMSwweDA1LDB4ZTQsMHhmMCwweDEyLDB4MzIsMHg2ZiwweDkwLDB4NzYsMHg0MSwweGUwLDB4YjR9LAotICAxNiwweDQxNWIsMCx7MHgwMSwweDA1LDB4ZTQsMHhmMCwweDEyLDB4MzQsMHg5YSwweDkwLDB4NzYsMHg0MCwweGUwLDB4YjQsMHgwMSwweDAzLDB4MTIsMHgzNH0sCi0gIDE2LDB4NDE2YiwwLHsweDlhLDB4MTIsMHgzMCwweDAwLDB4MzAsMHgzMywweDAzLDB4MTIsMHg0MCwweDAwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgyMCwweGU0fSwKLSAgMTYsMHg0MTdiLDAsezB4MDIsMHhjMiwweDNmLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgzMCwweGU0LDB4MDIsMHhkMiwweDNmLDB4OTAsMHg3ZiwweDliLDB4ZTB9LAotICAxNiwweDQxOGIsMCx7MHgyMCwweGU1LDB4MDIsMHhjMiwweDNlLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgzMCwweGU1LDB4MDIsMHhkMiwweDNlLDB4YTIsMHg0MX0sCi0gIDE2LDB4NDE5YiwwLHsweDMwLDB4M2YsMHgwMSwweGIzLDB4NTAsMHgxZiwweGEyLDB4M2YsMHg5MiwweDQxLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3fSwKLSAgMTYsMHg0MWFiLDAsezB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTd9LAotICAxNiwweDQxYmIsMCx7MHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4MzAsMHgzZiwweDM0LDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZX0sCi0gIDE2LDB4NDFjYiwwLHsweDkwLDB4NzYsMHg3YywweDc0LDB4NjcsMHhmMCwweGEzLDB4NzQsMHgwNiwweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0fSwKLSAgMTYsMHg0MWRiLDAsezB4MDIsMHgwYiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweGYwLDB4YTMsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDN9LAotICAxNiwweDQxZWIsMCx7MHgwYiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweGYwLDB4YTMsMHg3NCwweDE4LDB4ZjAsMHhhMiwweDQwLDB4MzAsMHgzZX0sCi0gIDE2LDB4NDFmYiwwLHsweDAxLDB4YjMsMHg1MCwweDFmLDB4YTIsMHgzZSwweDkyLDB4NDAsMHgzMCwweDNlLDB4MDksMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0fSwKLSAgMTYsMHg0MjBiLDAsezB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTB9LAotICAgNCwweDQyMWIsMCx7MHg4MCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4NDIxZiwwLHsweDkwLDB4NzYsMHgxOSwweGUwLDB4NjQsMHgwMSwweDcwLDB4MzUsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4ZDMsMHg5NCwweDJkfSwKLSAgMTYsMHg0MjJmLDAsezB4NDAsMHgyYiwweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDN9LAotICAxNiwweDQyM2YsMCx7MHg5NCwweDBmLDB4NDAsMHgxOSwweGU0LDB4ZjAsMHhlZiwweGQzLDB4OTQsMHgzMSwweDQwLDB4MDgsMHg5MCwweDc2LDB4MTksMHg3NH0sCi0gIDE2LDB4NDI0ZiwwLHsweDAzLDB4ZjAsMHg4MCwweDA2LDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMiwweGYwLDB4MTIsMHgzZSwweDlmLDB4OTAsMHg3NiwweDE5fSwKLSAgMTYsMHg0MjVmLDAsezB4ZTAsMHhiNCwweDAyLDB4MmMsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgyMiwweGVmLDB4ZDN9LAotICAxNiwweDQyNmYsMCx7MHg5NCwweDJhLDB4NDAsMHgxYywweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMH0sCi0gIDE2LDB4NDI3ZiwwLHsweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDAsMHgwYSwweGU0LDB4ZjAsMHg5MCwweDc2LDB4MTksMHgwNCwweGYwLDB4MTIsMHgzZSwweDlmfSwKLSAgMTYsMHg0MjhmLDAsezB4OTAsMHg3NiwweDE5LDB4ZTAsMHhiNCwweDAyLDB4MjYsMHg5MCwweDc2LDB4ODcsMHhlMCwweGQzLDB4OTQsMHgzMSwweDQwLDB4MWR9LAotICAxNiwweDQyOWYsMCx7MHg5MCwweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzLDB4OTQsMHgwZn0sCi0gIDE2LDB4NDJhZiwwLHsweDQwLDB4MGIsMHhlNCwweGYwLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMywweGYwLDB4MTIsMHgzZSwweDlmLDB4OTAsMHg3NiwweDE5fSwKLSAgMTYsMHg0MmJmLDAsezB4ZTAsMHg2NCwweDAzLDB4NzAsMHgzZiwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhjMywweDk0LDB4NWYsMHg1MCwweDM1LDB4OTB9LAotICAxNiwweDQyY2YsMCx7MHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkMywweDk0LDB4MGYsMHg0MH0sCi0gIDE2LDB4NDJkZiwwLHsweDIzLDB4ZTQsMHhmMCwweGVmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgwYywweGVmLDB4ZDMsMHg5NCwweDJhLDB4NDAsMHgwNiwweDkwfSwKLSAgMTYsMHg0MmVmLDAsezB4NzYsMHgxOSwweDc0LDB4MDEsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDJmLDB4NDAsMHgwNiwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDJ9LAotICAxNiwweDQyZmYsMCx7MHhmMCwweDEyLDB4M2UsMHg5ZiwweDkwLDB4NzYsMHg4NiwweGUwLDB4NzAsMHgwNSwweDkwLDB4NzYsMHg4NSwweGYwLDB4MjIsMHhlNH0sCi0gICA1LDB4NDMwZiwwLHsweDkwLDB4NzYsMHg4NiwweGYwLDB4MjJ9LAotICAxNiwweDQzMTQsMCx7MHhlNCwweDkwLDB4NzYsMHg5NiwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZTAsMHg3NCwweDkwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4NDMyNCwwLHsweDdmLDB4ZTEsMHg3NCwweDA0LDB4ZjAsMHhlNCwweDkwLDB4N2YsMHhkZCwweGYwLDB4OTAsMHg3ZiwweGExLDB4ZjAsMHg1MywweDhlfSwKLSAgMTYsMHg0MzM0LDAsezB4ZjgsMHg3NSwweDg4LDB4MDUsMHg3NSwweGI4LDB4MjAsMHg3NSwweGY4LDB4MDEsMHg0MywweDhlLDB4MzAsMHhmNSwweGM4LDB4NzV9LAotICAxNiwweDQzNDQsMCx7MHhjYSwweDdmLDB4NzUsMHhjYiwweGY4LDB4NDMsMHhhOCwweDIwLDB4MTIsMHg0NSwweDY1LDB4YzIsMHgyYywweGMyLDB4MmQsMHhjMn0sCi0gIDE2LDB4NDM1NCwwLHsweDJiLDB4YzIsMHgyZiwweDkwLDB4N2YsMHhmYywweDc0LDB4ZGQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmYsMHhmMCwweDkwfSwKLSAgMTYsMHg0MzY0LDAsezB4N2YsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODV9LAotICAxNiwweDQzNzQsMCx7MHhmMCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MTIsMHg0OSwweGFlLDB4MTIsMHgwZn0sCi0gIDE2LDB4NDM4NCwwLHsweGM2LDB4MTIsMHg0YSwweGYxLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHhlMCwweDU0LDB4YjksMHhmMCwweGQyfSwKLSAgMTYsMHg0Mzk0LDAsezB4MzAsMHgyMCwweDMwLDB4MTgsMHgxMiwweDRhLDB4YTYsMHgxMiwweDMwLDB4MDAsMHgxMiwweDQwLDB4MDAsMHgxMiwweDQyLDB4MWZ9LAotICAxNiwweDQzYTQsMCx7MHgxMiwweDQ4LDB4YmQsMHgxMiwweDFiLDB4MDQsMHgxMiwweDE2LDB4NjEsMHgxMiwweDQyLDB4MWYsMHgxMiwweDRhLDB4YTYsMHhjMn0sCi0gIDE2LDB4NDNiNCwwLHsweDJmLDB4YzIsMHgzMSwweGMyLDB4MzIsMHhjMiwweDM0LDB4YzIsMHgzMywweGMyLDB4MjksMHhjMiwweDI3LDB4YzIsMHgyOCwweGU0fSwKLSAgMTYsMHg0M2M0LDAsezB4ZjUsMHgxMSwweDkwLDB4NzYsMHg4OSwweGYwLDB4OTAsMHg3NiwweDNmLDB4ZjAsMHg5MCwweDc2LDB4NDEsMHhmMCwweDkwLDB4NzZ9LAotICAxNiwweDQzZDQsMCx7MHg0MCwweGYwLDB4OTAsMHg3NiwweDhhLDB4ZjAsMHhhMywweGYwLDB4YTMsMHgwNCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3Nn0sCi0gICAzLDB4NDNlNCwwLHsweDk5LDB4ZjAsMHgyMn0sCi0gIDE2LDB4NDNlNywwLHsweDEyLDB4NGUsMHgxOSwweDQwLDB4MDIsMHg4MSwweGFjLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgyNCwweGZlLDB4NjAsMHgxZSwweDE0fSwKLSAgMTYsMHg0M2Y3LDAsezB4NjAsMHg0NiwweDE0LDB4NjAsMHg2ZSwweDE0LDB4NzAsMHgwMiwweDgxLDB4OWQsMHgyNCwweDA0LDB4NjAsMHgwMiwweDgxLDB4YTV9LAotICAxNiwweDQ0MDcsMCx7MHg3NCwweDA1LDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHg3NCwweDAwLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYX0sCi0gIDE2LDB4NDQxNywwLHsweGUwLDB4ZmYsMHgxMiwweDRhLDB4NTUsMHg4YiwweDIwLDB4OGEsMHgyMSwweDg5LDB4MjIsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlfSwKLSAgMTYsMHg0NDI3LDAsezB4ZWEsMHhjZSwweGVlLDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjJ9LAotICAxNiwweDQ0MzcsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZiwweDEyLDB4NDcsMHhiN30sCi0gIDE2LDB4NDQ0NywwLHsweDhiLDB4MjAsMHg4YSwweDIxLDB4ODksMHgyMiwweGVhLDB4NDksMHg2MCwweDExLDB4Y2UsMHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmfSwKLSAgMTYsMHg0NDU3LDAsezB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9LAotICAxNiwweDQ0NjcsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYn0sCi0gIDE2LDB4NDQ3NywwLHsweDEyLDB4MTcsMHg5NCwweDhiLDB4MjAsMHg4YSwweDIxLDB4ODksMHgyMiwweGVhLDB4NDksMHg2MCwweDExLDB4Y2UsMHhlYSwweGNlfSwKLSAgMTYsMHg0NDg3LDAsezB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2Z9LAotICAxNiwweDQ0OTcsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn0sCi0gICA1LDB4NDRhNywwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAgMSwweDQ0YWMsMCx7MHgyMn0sCi0gIDE2LDB4NDRhZCwwLHsweGMyLDB4YWYsMHhkMiwweDI0LDB4OTAsMHg3ZiwweDkzLDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHhiYiwweGYwfSwKLSAgMTYsMHg0NGJkLDAsezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg0NCwweDMwLDB4ZjAsMHhlMCwweDU0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5NCwweDc0LDB4MzB9LAotICAxNiwweDQ0Y2QsMCx7MHhmMCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4Y2YsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHg5NX0sCi0gIDE2LDB4NDRkZCwwLHsweDc0LDB4YzAsMHhmMCwweDkwLDB4N2YsMHg5ZSwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHg5OSwweGUwLDB4MzAsMHhlMiwweDA5fSwKLSAgMTYsMHg0NGVkLDAsezB4OTAsMHgwNSwweDE5LDB4NzQsMHhhMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YzIsMHgyNSwweGMyLDB4MjIsMHhjMiwweDIzLDB4YzJ9LAotICAxNiwweDQ0ZmQsMCx7MHgyNiwweDEyLDB4NGIsMHgyOCwweDEyLDB4MmQsMHhhOSwweDEyLDB4M2IsMHhkMywweDEyLDB4NDYsMHgxOSwweDEyLDB4M2EsMHg0Mn0sCi0gIDE2LDB4NDUwZCwwLHsweDkwLDB4NzYsMHg2OCwweDc0LDB4MDEsMHhmMCwweDcwLDB4MGYsMHgxMiwweDRjLDB4MjksMHgxMiwweDRlLDB4MTUsMHgxMiwweDRlfSwKLSAgMTYsMHg0NTFkLDAsezB4MTcsMHgxMiwweDFiLDB4NDAsMHgxMiwweDE0LDB4OTYsMHgxMiwweDQzLDB4MTQsMHg5MCwweDdmLDB4YWYsMHhlMCwweDQ0LDB4MDF9LAotICAxNiwweDQ1MmQsMCx7MHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgxZiwweGYwLDB4OTAsMHg3ZiwweGFjLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4NDUzZCwwLHsweGFkLDB4ZjAsMHg5MCwweDdmLDB4ZGUsMHhmMCwweDkwLDB4N2YsMHhkZiwweGYwLDB4OTAsMHg3ZiwweGFiLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHg0NTRkLDAsezB4YTksMHhmMCwweDkwLDB4N2YsMHhhYSwweGYwLDB4NTMsMHg5MSwweGVmLDB4NDMsMHhkOCwweDIwLDB4ZDIsMHhlOCwweDQzLDB4ZDh9LAotICAgOCwweDQ1NWQsMCx7MHgyMCwweDUzLDB4YTgsMHhhMCwweDQzLDB4YTgsMHg4MCwweDIyfSwKLSAgMTYsMHg0NTY1LDAsezB4OTAsMHg3NiwweDlhLDB4NzQsMHgwMiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4OTEsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4OTB9LAotICAxNiwweDQ1NzUsMCx7MHhmMCwweDkwLDB4NzYsMHg5MywweGYwLDB4OTAsMHg3NiwweDk2LDB4NzQsMHgwMywweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHhlNH0sCi0gIDE2LDB4NDU4NSwwLHsweDkwLDB4NzYsMHg5NywweGYwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTQsMHgwNCwweGYwLDB4OTAsMHg4MCwweDAwfSwKLSAgMTYsMHg0NTk1LDAsezB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4ZSwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHgwNCwweGYwLDB4YzJ9LAotICAxNiwweDQ1YTUsMCx7MHgyZSwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmYsMHg1NCwweDEwLDB4ZmYsMHg3MCwweDAyLDB4YzIsMHgzZiwweDkwLDB4N2YsMHg5Yn0sCi0gIDE2LDB4NDViNSwwLHsweGUwLDB4ZmYsMHg1NCwweDEwLDB4ZmUsMHhmZiwweGJlLDB4MTAsMHgwMiwweGQyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMCwweGZmfSwKLSAgMTYsMHg0NWM1LDAsezB4NTQsMHgyMCwweGZmLDB4NzAsMHgwMiwweGMyLDB4M2UsMHg5MCwweDdmLDB4OWIsMHhlMCwweGZmLDB4NTQsMHgyMCwweGZlLDB4ZmZ9LAotICAxNiwweDQ1ZDUsMCx7MHhiZSwweDIwLDB4MDIsMHhkMiwweDNlLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MH0sCi0gIDE2LDB4NDVlNSwwLHsweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwfSwKLSAgMTYsMHg0NWY1LDAsezB4MzAsMHgzZSwweDA5LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTB9LAotICAxNiwweDQ2MDUsMCx7MHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4YTIsMHgzZSwweDkyLDB4NDAsMHhhMn0sCi0gICAzLDB4NDYxNSwwLHsweDNmLDB4OTIsMHg0MX0sCi0gICAxLDB4NDYxOCwwLHsweDIyfSwKLSAgMTYsMHg0NjE5LDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDQ2MjksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4NDYzOSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1fSwKLSAgMTYsMHg0NjQ5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzV9LAotICAxNiwweDQ2NTksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHg5MH0sCi0gIDE2LDB4NDY2OSwwLHsweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHg0Njc5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDQ2ODksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NX0sCi0gIDE2LDB4NDY5OSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1fSwKLSAgMTYsMHg0NmE5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4MjJ9LAotICAxMiwweDQ2YjksMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4MzgsMHgwMiwweDQ3LDB4MDB9LAotICAxNiwweDQ2YzUsMCx7MHgwMiwweDA3LDB4YTYsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn0sCi0gIDE2LDB4NDZkNSwwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfSwKLSAgMTYsMHg0NmU1LDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9LAotICAxNiwweDQ2ZjUsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHgwYywweDhmLDB4ZTQsMHg3ZX0sCi0gIDE2LDB4NDcwNSwwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfSwKLSAgMTYsMHg0NzE1LDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9LAotICAxNiwweDQ3MjUsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX0sCi0gIDE2LDB4NDczNSwwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfSwKLSAgMTYsMHg0NzQ1LDAsezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg5MCwweDc2LDB4ODMsMHhmMCwweGUwLDB4MTQsMHg2MCwweDFkLDB4MTQsMHg2MCwweDJhLDB4MTR9LAotICAxNiwweDQ3NTUsMCx7MHg2MCwweDM3LDB4MTQsMHg2MCwweDQ0LDB4MjQsMHgwNCwweDcwLDB4NTAsMHg5MCwweDc2LDB4OTEsMHhlMCwweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4NDc2NSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHg0NywweDkwLDB4NzYsMHg5MiwweGUwLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHg0Nzc1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDM3LDB4OTAsMHg3NiwweDkwLDB4ZTAsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDQ3ODUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MjcsMHg5MCwweDc2LDB4ODQsMHhlMCwweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4NDc5NSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgxNywweDkwLDB4NzYsMHg5MywweGUwLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHg0N2E1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAgMiwweDQ3YjUsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0N2I3LDAsezB4OGYsMHgyZX0sCi0gIDE2LDB4NDdiOSwwLHsweGU0LDB4ZjUsMHgyZiwweDc1LDB4MzAsMHhmZiwweDc1LDB4MzEsMHgwNywweDc1LDB4MzIsMHgxYSwweGFiLDB4MzAsMHhhYSwweDMxfSwKLSAgMTYsMHg0N2M5LDAsezB4YTksMHgzMiwweDkwLDB4MDAsMHgwMSwweDEyLDB4MzYsMHhhYiwweGI0LDB4MDMsMHgxZiwweGFmLDB4MmYsMHgwNSwweDJmLDB4ZWZ9LAotICAxNiwweDQ3ZDksMCx7MHg2NSwweDJlLDB4NzAsMHgwMSwweDIyLDB4MTIsMHgzNiwweDkyLDB4N2UsMHgwMCwweDI5LDB4ZmYsMHhlZSwweDNhLDB4YzksMHhlZn0sCi0gIDE2LDB4NDdlOSwwLHsweGM5LDB4NzUsMHgzMCwweGZmLDB4ZjUsMHgzMSwweDg5LDB4MzIsMHg4MCwweGQyLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfSwKLSAgIDEsMHg0N2Y5LDAsezB4MjJ9LAotICAgNiwweDQ3ZmEsMCx7MHgxMiwweDRiLDB4MjgsMHhjMiwweDMxLDB4MjJ9LAotICAxNiwweDQ4MDAsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH0sCi0gIDE2LDB4NDgxMCwwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfSwKLSAgMTYsMHg0ODIwLDAsezB4YzAsMHhlMCwweGMyLDB4Y2EsMHhjMiwweGNmLDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgzMCwweDJlLDB4MDN9LAotICAxNiwweDQ4MzAsMCx7MHgxMiwweDE0LDB4YTYsMHg5MCwweDdmLDB4OTgsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDUzLDB4YTgsMHhmYSwweDEyLDB4MTYsMHg2MX0sCi0gIDE2LDB4NDg0MCwwLHsweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmYiwweGQwfSwKLSAgMTYsMHg0ODUwLDAsezB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZjB9LAotICAgMywweDQ4NjAsMCx7MHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDQ4NjMsMCx7MHg5MCwweDdmLDB4ZWMsMHhlMCwweDkwLDB4NzYsMHg4MywweGYwLDB4ZTAsMHgxNCwweDYwLDB4MTcsMHgxNCwweDYwLDB4MjEsMHgxNH0sCi0gIDE2LDB4NDg3MywwLHsweDYwLDB4MmIsMHgxNCwweDYwLDB4MzIsMHgyNCwweDA0LDB4NzAsMHgzOCwweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkxfSwKLSAgMTYsMHg0ODgzLDAsezB4ZjAsMHg4MCwweDM1LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTIsMHhmMCwweDEyLDB4M2UsMHg5ZiwweDgwLDB4Mjh9LAotICAxNiwweDQ4OTMsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MCwweGYwLDB4MTIsMHgxOCwweDAwLDB4ODAsMHgxYiwweDkwLDB4N2YsMHhlYX0sCi0gIDE2LDB4NDhhMywwLHsweGUwLDB4OTAsMHg3NiwweDg0LDB4ZjAsMHg4MCwweDExLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTMsMHhmMCwweDgwfSwKLSAgMTAsMHg0OGIzLDAsezB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGQzLDB4MjJ9LAotICAxNiwweDQ4YmQsMCx7MHgzMCwweDJkLDB4MzksMHhjMiwweDJkLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZCwweGU0LDB4OTAsMHg3Nn0sCi0gIDE2LDB4NDhjZCwwLHsweDdjLDB4ZjAsMHhhMywweDc0LDB4ZjgsMHhmMCwweGEzLDB4NzQsMHgwYSwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGQsMHhlNCwweDkwfSwKLSAgMTYsMHg0OGRkLDAsezB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweGYwLDB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMywweDBkLDB4ZTR9LAotICAxMywweDQ4ZWQsMCx7MHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHhmOCwweGYwLDB4YTMsMHg3NCwweDE3LDB4ZjAsMHgyMn0sCi0gICA2LDB4NDhmYSwwLHsweDUzLDB4OTEsMHhiZiwweGQyLDB4MmQsMHgzMn0sCi0gIDE2LDB4NDkwMCwwLHsweDAyLDB4MmYsMHhlNywweDAwLDB4MDIsMHgzZCwweDQ3LDB4MDAsMHgwMiwweDRkLDB4YjQsMHgwMCwweDAyLDB4NGMsMHg0MywweDAwfSwKLSAgMTYsMHg0OTEwLDAsezB4MDIsMHg0YiwweGU5LDB4MDAsMHgwMiwweDJmLDB4ZmYsMHgwMCwweDAyLDB4NGMsMHg1YiwweDAwLDB4MDIsMHg0YywweDBhLDB4MDB9LAotICAxNiwweDQ5MjAsMCx7MHgwMiwweDRjLDB4NzIsMHgwMCwweDAyLDB4NGIsMHg1YSwweDAwLDB4MDIsMHg0YywweDg5LDB4MDAsMHgwMiwweDRjLDB4YTAsMHgwMH0sCi0gIDE2LDB4NDkzMCwwLHsweDAyLDB4NGMsMHhiNywweDAwLDB4MDIsMHg0YywweGNlLDB4MDAsMHgwMiwweDRjLDB4ZTUsMHgwMCwweDAyLDB4NGMsMHhmYywweDAwfSwKLSAgMTYsMHg0OTQwLDAsezB4MDIsMHg0ZCwweDEzLDB4MDAsMHgwMiwweDRkLDB4MmEsMHgwMCwweDAyLDB4NGQsMHg0MSwweDAwLDB4MDIsMHg0ZCwweDU4LDB4MDB9LAotICAgOCwweDQ5NTAsMCx7MHgwMiwweDRkLDB4NmYsMHgwMCwweDAyLDB4NGQsMHg4NiwweDAwfSwKLSAgMTYsMHg0OTU4LDAsezB4ZTQsMHg5MCwweDc2LDB4MjYsMHhmMCwweDkwLDB4NzYsMHgyNiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzR9LAotICAxNiwweDQ5NjgsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4NDk3OCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNCwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjYsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHg0OTg4LDAsezB4ZWYsMHhiNCwweDA0LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9LAotICAxNiwweDQ5OTgsMCx7MHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MH0sCi0gICA2LDB4NDlhOCwwLHsweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4NDlhZSwwLHsweDkwLDB4NzYsMHg0NiwweDc0LDB4ODAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzfSwKLSAgMTYsMHg0OWJlLDAsezB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4ODAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjB9LAotICAxNiwweDQ5Y2UsMCx7MHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhM30sCi0gIDE2LDB4NDlkZSwwLHsweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwfSwKLSAgMTYsMHg0OWVlLDAsezB4YTMsMHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjB9LAotICAgNSwweDQ5ZmUsMCx7MHhhMywweGYwLDB4YTMsMHhmMCwweDIyfSwKLSAgMTYsMHg0YTAzLDAsezB4ZTQsMHg5MCwweDc2LDB4MjUsMHhmMCwweDkwLDB4NzYsMHgyNSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzR9LAotICAxNiwweDRhMTMsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4NGEyMywwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNCwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjUsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHg0YTMzLDAsezB4ZWYsMHhiNCwweDA0LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZSwweGMwLDB4ZTB9LAotICAxNiwweDRhNDMsMCx7MHhmZSwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZX0sCi0gICAyLDB4NGE1MywwLHsweGYwLDB4MjJ9LAotICAxNiwweDRhNTUsMCx7MHhlNCwweGZlLDB4NzUsMHgxZCwweGZmLDB4NzUsMHgxZSwweDA1LDB4NzUsMHgxZiwweDEyLDB4YWIsMHgxZCwweGFhLDB4MWUsMHhhOX0sCi0gIDE2LDB4NGE2NSwwLHsweDFmLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgzNiwweGFiLDB4NjQsMHgwMiwweDcwLDB4MmYsMHhjZCwweGVlLDB4Y2QsMHgwZSwweGVkfSwKLSAgMTYsMHg0YTc1LDAsezB4NmYsMHg3MCwweDAxLDB4MjIsMHg5MCwweDAwLDB4MDIsMHgxMiwweDM3LDB4MGUsMHg4NSwweGYwLDB4MWIsMHhmNSwweDFjLDB4NjJ9LAotICAxNiwweDRhODUsMCx7MHgxYiwweGU1LDB4MWIsMHg2MiwweDFjLDB4ZTUsMHgxYywweDYyLDB4MWIsMHgyOSwweGZkLDB4ZTUsMHgxYiwweDNhLDB4YzksMHhlZH0sCi0gIDE2LDB4NGE5NSwwLHsweGM5LDB4NzUsMHgxZCwweGZmLDB4ZjUsMHgxZSwweDg5LDB4MWYsMHg4MCwweGMxLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfSwKLSAgIDEsMHg0YWE1LDAsezB4MjJ9LAotICAxNiwweDRhYTYsMCx7MHhlNCwweDkwLDB4NzYsMHg5YiwweGYwLDB4OTAsMHg3NiwweDliLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHhlZiwweDYwLDB4MDgsMHhlMH0sCi0gIDE2LDB4NGFiNiwwLHsweDI0LDB4MDgsMHhmOCwweGU0LDB4ZjYsMHg4MCwweGVlLDB4OTAsMHg3NiwweDk2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg0NCwweDA4fSwKLSAgMTYsMHg0YWM2LDAsezB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweGU0LDB4ZjUsMHgxOCwweGQyLDB4MzUsMHhmNSwweDBlLDB4ZjUsMHgxMCwweGQyLDB4MzZ9LAotICAxNiwweDRhZDYsMCx7MHg3NSwweDEyLDB4MTEsMHg3NSwweDEzLDB4MjIsMHhjMiwweDM3LDB4YzIsMHgzOSwweGMyLDB4MzgsMHhmNSwweDE2LDB4ZjUsMHgxNH0sCi0gIDExLDB4NGFlNiwwLHsweGY1LDB4MWEsMHhmNSwweDBkLDB4YzIsMHgzYiwweGMyLDB4M2MsMHhjMiwweDNkLDB4MjJ9LAotICAxNiwweDRhZjEsMCx7MHhlNCwweGZmLDB4NzQsMHg1NiwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgyOH0sCi0gIDE2LDB4NGIwMSwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHg1ZSwweDJmLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHg0YjExLDAsezB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgzOCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODN9LAotICAgNiwweDRiMjEsMCx7MHhlZSwweGYwLDB4MGYsMHhiZiwweDA4LDB4Y2N9LAotICAgMSwweDRiMjcsMCx7MHgyMn0sCi0gIDE2LDB4NGIyOCwwLHsweGU0LDB4OTAsMHg3MiwweDM2LDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwfSwKLSAgMTYsMHg0YjM4LDAsezB4NzIsMHgzMywweGYwLDB4OTAsMHg3MiwweDMyLDB4ZjAsMHg5MCwweDcyLDB4MDEsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDcyLDB4MzN9LAotICAxNiwweDRiNDgsMCx7MHhmMCwweDkwLDB4NzIsMHgzMiwweGYwLDB4OTAsMHg3MiwweDAxLDB4MDQsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NDQsMHgwNH0sCi0gICAyLDB4NGI1OCwwLHsweGYwLDB4MjJ9LAotICAxNiwweDRiNWEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDIsMHhmMH0sCi0gIDE2LDB4NGI2YSwwLHsweDkwLDB4N2YsMHhjNywweGUwLDB4ZjUsMHgxMSwweDc1LDB4MGYsMHgwMCwweDc1LDB4MGQsMHgwMCwweGQyLDB4MzMsMHhkMCwweDgyfSwKLSAgIDUsMHg0YjdhLDAsezB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGI3ZiwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmYiwweGYwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHgzMCwweDQyLDB4MDQsMHhlMCwweDQ0fSwKLSAgMTYsMHg0YjhmLDAsezB4MDIsMHhmMCwweDdmLDB4ZGMsMHg3ZSwweDA1LDB4MTIsMHg0ZCwweDlkLDB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGY3LDB4ZjB9LAotICAgNSwweDRiOWYsMCx7MHhlMCwweDQ0LDB4MDQsMHhmMCwweDIyfSwKLSAgMTYsMHg0YmE0LDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDcwLDB4MTQsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDA0LDB4MTJ9LAotICAxNiwweDRiYjQsMCx7MHg0OSwweDU4LDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0sCi0gICAzLDB4NGJjNCwwLHsweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4NGJjNywwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg3MCwweDEzLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgxNCwweDcwLDB4MDQsMHgxMiwweDRhfSwKLSAgMTYsMHg0YmQ3LDAsezB4MDMsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9LAotICAgMiwweDRiZTcsMCx7MHhmMCwweDIyfSwKLSAgMTYsMHg0YmU5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgxMCwweGYwLDB4OTB9LAotICAxNiwweDRiZjksMCx7MHg3NiwweDk2LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMH0sCi0gICAxLDB4NGMwOSwwLHsweDMyfSwKLSAgMTYsMHg0YzBhLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAxNSwweDRjMWEsMCx7MHhjMiwweDI5LDB4OTAsMHg3NiwweDhkLDB4NzQsMHgwMSwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjMjksMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDMwLDB4ZTcsMHgxMiwweGUwLDB4NDQsMHgwMSwweGYwLDB4N2YsMHgxNCwweDdlLDB4MDAsMHgxMn0sCi0gIDEwLDB4NGMzOSwwLHsweDRkLDB4OWQsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDIyfSwKLSAgMTYsMHg0YzQzLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyNSwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDh9LAotICAgOCwweDRjNTMsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0YzViLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAgNywweDRjNmIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGM3MiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwMiwweGYwfSwKLSAgIDcsMHg0YzgyLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjODksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDQsMHhmMH0sCi0gICA3LDB4NGM5OSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0Y2EwLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA0LDB4ZjB9LAotICAgNywweDRjYjAsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGNiNywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwOCwweGYwfSwKLSAgIDcsMHg0Y2M3LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjY2UsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDgsMHhmMH0sCi0gICA3LDB4NGNkZSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0Y2U1LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDEwLDB4ZjB9LAotICAgNywweDRjZjUsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGNmYywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgxMCwweGYwfSwKLSAgIDcsMHg0ZDBjLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkMTMsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MjAsMHhmMH0sCi0gICA3LDB4NGQyMywwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDJhLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDIwLDB4ZjB9LAotICAgNywweDRkM2EsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQ0MSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHg0MCwweGYwfSwKLSAgIDcsMHg0ZDUxLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkNTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4NDAsMHhmMH0sCi0gICA3LDB4NGQ2OCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDZmLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDgwLDB4ZjB9LAotICAgNywweDRkN2YsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQ4NiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHg4MCwweGYwfSwKLSAgIDcsMHg0ZDk2LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkOWQsMCx7MHg4ZSwweDM1LDB4OGYsMHgzNiwweGU1LDB4MzYsMHgxNSwweDM2LDB4YWUsMHgzNSwweDcwLDB4MDIsMHgxNSwweDM1LDB4NGUsMHg2MH0sCi0gICA3LDB4NGRhZCwwLHsweDA1LDB4MTIsMHgxNCwweDg1LDB4ODAsMHhlZSwweDIyfSwKLSAgMTYsMHg0ZGI0LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwNCwweGYwLDB4ZDB9LAotICAgNiwweDRkYzQsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkY2EsMCx7MHg5MCwweDc2LDB4ODIsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ZDMsMHgyMn0sCi0gIDEyLDB4NGRkYSwwLHsweGMyLDB4MzcsMHhlNCwweGY1LDB4MGUsMHhmNSwweDEwLDB4YzIsMHgzNiwweGY1LDB4MTQsMHgyMn0sCi0gICA5LDB4NGRlNiwwLHsweGMyLDB4MjUsMHg1MywweGQ4LDB4ZWYsMHg0MywweGQ4LDB4MjAsMHgzMn0sCi0gICA3LDB4NGRlZiwwLHsweDUzLDB4OTgsMHhmZSwweDUzLDB4OTgsMHhmZCwweDMyfSwKLSAgIDcsMHg0ZGY2LDAsezB4NTMsMHhjMCwweGZlLDB4NTMsMHhjMCwweGZkLDB4MzJ9LAotICAgNiwweDRkZmQsMCx7MHg1MywweDkxLDB4N2YsMHhkMiwweDJjLDB4MzJ9LAotICAgNCwweDRlMDMsMCx7MHg1MywweDkxLDB4ZGYsMHgzMn0sCi0gICA0LDB4NGUwNywwLHsweDUzLDB4ZDgsMHhmNywweDMyfSwKLSAgIDQsMHg0ZTBiLDAsezB4MTIsMHgxNywweDMwLDB4MjJ9LAotICAgMywweDRlMGYsMCx7MHhjMiwweDhkLDB4MzJ9LAotICAgMywweDRlMTIsMCx7MHhjMiwweDhmLDB4MzJ9LAotICAgMiwweDRlMTUsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0ZTE3LDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NGUxOSwwLHsweGQzLDB4MjJ9LAotICAgMiwweDRlMWIsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0ZTFkLDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NGUxZiwwLHsweGQzLDB4MjJ9LAotICAgMiwweDRlMjEsMCx7MHhjMywweDIyfSwKLSAgIDAsMHgwMDAwLDEsezB9Ci19OwotLyogU291cmNlOiBFTUk2Mk1GVy5IRVggCi06MTAwQzhGMDA0MTc2NjgwMTQxNzY2QTAyNDE3NjZCMEFDMTIwQzEyMTIzCi06MTA0NEFEMDBDMkFGRDIyNDkwN0Y5Mzc0MzBGMDkwN0Y5Qzc0QkJGMDk4Ci06MTA0NEJEMDA5MDdGOTZFMDQ0MzBGMEUwNTQzMEYwOTA3Rjk0NzQzMDZCCi06MTA0NENEMDBGMDkwN0Y5RDc0Q0ZGMDkwN0Y5Nzc0QTBGMDkwN0Y5NUMyCi06MTA0NEREMDA3NEMwRjA5MDdGOUU3NDAzRjA5MDdGOTlFMDMwRTIwOUY0Ci06MTA0NEVEMDA5MDA1MTk3NEEwRjBFNEEzRjBDMjI1QzIyMkMyMjNDMjI0Ci06MTA0NEZEMDAyNjEyNEIyODEyMkRBOTEyM0JEMzEyNDYxOTEyM0E0MkZECi06MTA0NTBEMDA5MDc2Njg3NDAxRjA3MDBGMTI0QzI5MTI0RTE1MTI0RUYwCi06MTA0NTFEMDAxNzEyMUI0MDEyMTQ5NjEyNDMxNDkwN0ZBRkUwNDQwMTAyCi06MTA0NTJEMDBGMDkwN0ZBRUUwNDQxRkYwOTA3RkFDNzRGRkYwOTA3RjcxCi06MTA0NTNEMDBBREYwOTA3RkRFRjA5MDdGREZGMDkwN0ZBQkYwOTA3RjVECi06MTA0NTREMDBBOUYwOTA3RkFBRjA1MzkxRUY0M0Q4MjBEMkU4NDNEODM5Ci06MDg0NTVEMDAyMDUzQThBMDQzQTg4MDIyMEUKLToxMDA3QTYwMEU0OTA3NjY2RjAxMjQ0QUQyMDI2MTM5MDc2NjZFMEMzOTgKLToxMDA3QjYwMDk0MDI1MDBBRTAwNEYwRDI0MjEyNEI3RjgwRUEzMDI2QkYKLToxMDA3QzYwMDA1MTIyODAxQzIyNjMwMjUyQjkwNzY5NkUwNTRGQ0YwQkYKLToxMDA3RDYwMDkwODAwM0YwMTIxNDk2OTA3Njk2RTA0NDAzRjA5MDgwOTEKLToxMDA3RTYwMDAzRjBFNDkwNzY2N0YwOTA3NjY3RTAwNEYwRTBCNDRCQUYKLTowQTA3RjYwMEY2MTI0N0ZBMTI0MTFCODBDNTIyREIKLToxMDI4MDEwMEMyMjBDMjIxQzIyQTkwN0ZFOEUwMTIzN0Y5MjgzMDAwQTUKLToxMDI4MTEwMDI4OEMwMTI4QTIwMjJBMUYyMTJBNkEyMjI5M0Q4MDI5MDcKLToxMDI4MjEwMDdEODEyOUQxODIyQTg0QTEyQUJBQTIwMDAwMkFCRjkwREYKLToxMDI4MzEwMDdGRTlFMDE0NjAxMTI0RkU2MDI4MjRGRTYwM0IyNEZDNDMKLToxMDI4NDEwMDcwNDAxMjNGRTU0MUNCMTI0RTFENDAwMjQxQ0I5MDdGQkIKLToxMDI4NTEwMEVBRTBCNDAxMDRDMjIyNDFDQjkwN0ZCNEUwNDQwMUYwMkMKLToxMDI4NjEwMDQxQ0IxMjRFMUY5MDdGRUFFMEI0MDEwNEQyMjI0MUNCNEEKLToxMDI4NzEwMDkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwOUIKLToxMDI4ODEwMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDI0NUIKLToxMDI4OTEwMEY1NzAwNTEyNDg2MzQxQ0I5MDdGQjRFMDQ0MDFGMDQxRUIKLToxMDI4QTEwMENCOTA3RkU5RTAyNEZENjA1NDI0MDI2MDAyMjEzNDEyQzAKLToxMDI4QjEwMDRFMUQ0MDAyNDFDQjkwN0ZFQUUwNzAzODkwN0ZFQ0UwMDIKLToxMDI4QzEwMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RDMKLToxMDI4RDEwMEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGRUYKLToxMDI4RTEwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0RDgKLToxMDI4RjEwMDIwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCMTI0RTFGNTgKLToxMDI5MDEwMDQwMDI0MUNCOTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0RUMKLToxMDI5MTEwMDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyNTMKLToxMDI5MjEwMEU0MzQ3RkY1ODM3NDAxRjA0MUNCOTA3RkI0RTA0NDAxM0UKLToxMDI5MzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwREUKLToxMDI5NDEwMDYwMTIyNEY4NjAwOTI0MDI3MDI5MTI0M0U3NDFDQjEyNzYKLToxMDI5NTEwMDREQ0E0MUNCMTI0RTFCQTIyMkU0MzNGRjI1RTBGRkEyNTgKLToxMDI5NjEwMDIzRTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyMkQKLToxMDI5NzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwOUUKLToxMDI5ODEwMDYwMzMyNEY2NjAyQTI0MDQ3MDNEOTA3RkVCRTAyNERFNUUKLToxMDI5OTEwMDYwMEMwNDcwMTI5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGNTEKLToxMDI5QTEwMEI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCNkQKLToxMDI5QjEwMDEyNDc0NTQxQ0IxMjRFMUJFNDkwN0YwMEYwQTNGMDkwRUIKLToxMDI5QzEwMDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCN0MKLToxMDI5RDEwMDkwN0ZFOUUwMjRGNDYwMzQyNDBDNzAzOTEyNEUxQjkwOEUKLToxMDI5RTEwMDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1MUYKLToxMDI5RjEwMEUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwNTgKLToxMDJBMDEwMEYwRTRBM0YwOTA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwODUKLToxMDJBMTEwMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGODEKLToxMDJBMjEwMEU5RTAyNEY2NjAxMjE0NjAxQTI0MDI3MDFERDIyMDkwOEQKLToxMDJBMzEwMDdGQjRFMDQ0MDFGMDgwMTJEMjIwOTA3RkI0RTA0NDAxRTEKLToxMDJBNDEwMEYwODAwNzkwN0ZCNEUwNDQwMUYwMjAyMDE4OTA3RkVFRTEKLToxMDJBNTEwMEUwNzAwNEEzRTA2MDBCRDIyOUQyMjcxMjE3NEFEMjJBRDAKLToxMDJBNjEwMDgwMDMxMjA4MDBDMjIwODA2MTkwN0ZFRUUwNzAwNEEzMTEKLToxMDJBNzEwMEUwNjAwQkQyMjlEMjI4MTIxNzRBRDIyQTgwNEMxMjM4OTAKLToxMDJBODEwMDc0ODA0NzkwN0ZFOUUwMjRGRTYwMTIxNDYwMUEyNDAyRUEKLToxMDJBOTEwMDcwMUREMjIxOTA3RkI0RTA0NDAxRjA4MDEyRDIyMTkwQzgKLToxMDJBQTEwMDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwNUUKLToxMDJBQjEwMDIxMDMxMjEwMDBDMjIxODAxMTEyMkFENjgwMEMxMjRFNUQKLToxMDJBQzEwMDIxNTAwNzkwN0ZCNEUwNDQwMUYwMjAyQTA3OTA3RkI0QTEKLTowNTJBRDEwMEUwNDQwMkYwMjJDOAotOjEwNDNFNzAwMTI0RTE5NDAwMjgxQUM5MDdGRUJFMDI0RkU2MDFFMTQ1MAotOjEwNDNGNzAwNjA0NjE0NjA2RTE0NzAwMjgxOUQyNDA0NjAwMjgxQTVEQQotOjEwNDQwNzAwNzQwNTkwN0ZENEYwNzQwMDkwN0ZENUYwMjI5MDdGRUFGNgotOjEwNDQxNzAwRTBGRjEyNEE1NThCMjA4QTIxODkyMkVBNDk2MDExQ0U5MgotOjEwNDQyNzAwRUFDRUVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjJBMAotOjEwNDQzNzAwOTA3RkI0RTA0NDAxRjAyMjkwN0ZFQUUwRkYxMjQ3Qjc5MwotOjEwNDQ0NzAwOEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0VFRTkwN0YzRAotOjEwNDQ1NzAwRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZCNEUwNDQzRQotOjEwNDQ2NzAwMDFGMDIyOTA3RkVBRTBGRjkwN0VDMEUwRkRBM0UwRkIzMQotOjEwNDQ3NzAwMTIxNzk0OEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0U0RAotOjEwNDQ4NzAwRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZFOQotOjEwNDQ5NzAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0YyMQotOjA1NDRBNzAwQjRFMDQ0MDFGMDQ3Ci06MDE0NEFDMDAyMkVECi06MDMwMDMzMDAwMjRERTY5NQotOjA5NERFNjAwQzIyNTUzRDhFRjQzRDgyMDMyNTYKLTowMjBDOUYwMEMxMkY2MwotOjA2NDdGQTAwMTI0QjI4QzIzMTIyMUYKLToxMDQzMTQwMEU0OTA3Njk2RjA5MDgwMDNGMDkwN0ZFMDc0OTBGMDkwQjMKLToxMDQzMjQwMDdGRTE3NDA0RjBFNDkwN0ZEREYwOTA3RkExRjA1MzhFODAKLToxMDQzMzQwMEY4NzU4ODA1NzVCODIwNzVGODAxNDM4RTMwRjVDODc1OTEKLToxMDQzNDQwMENBN0Y3NUNCRjg0M0E4MjAxMjQ1NjVDMjJDQzIyREMyODIKLToxMDQzNTQwMDJCQzIyRjkwN0ZGQzc0RERGMDkwN0ZGRjc0RkZGMDkwRjAKLToxMDQzNjQwMDdGOTdFMDQ0MDFGMDkwNzYxOTc0MDFGMEU0OTA3Njg1MkIKLToxMDQzNzQwMEYwQTNGMDkwNzY4MUYwOTA3NjgwRjAxMjQ5QUUxMjBGOUYKLToxMDQzODQwMEM2MTI0QUYxOTA3Rjk3RTA0NDA4RjBFMDU0QjlGMEQyQTUKLToxMDQzOTQwMDMwMjAzMDE4MTI0QUE2MTIzMDAwMTI0MDAwMTI0MjFGNzgKLToxMDQzQTQwMDEyNDhCRDEyMUIwNDEyMTY2MTEyNDIxRjEyNEFBNkMyMDEKLToxMDQzQjQwMDJGQzIzMUMyMzJDMjM0QzIzM0MyMjlDMjI3QzIyOEU0NTYKLToxMDQzQzQwMEY1MTE5MDc2ODlGMDkwNzYzRkYwOTA3NjQxRjA5MDc2RjIKLToxMDQzRDQwMDQwRjA5MDc2OEFGMEEzRjBBMzA0RjBFNEEzRjA5MDc2ODIKLTowMzQzRTQwMDk5RjAyMjJCCi06MTA0OEJEMDAzMDJEMzlDMjJEOTA3NjE5RTBGRkI0MDEwREU0OTA3NkJDCi06MTA0OENEMDA3Q0YwQTM3NEY4RjBBMzc0MEFGMEVGQjQwMjBERTQ5MDM5Ci06MTA0OEREMDA3NjdDRjBBMzc0RjBGMEEzNzQwQkYwRUZCNDAzMERFNDQ5Ci06MEQ0OEVEMDA5MDc2N0NGMEEzNzRGOEYwQTM3NDE3RjAyMjBECi06MTAxQjA0MDAzMDJDMzhDMjJDOTA3NjE5RTBGRkI0MDEwRTkwNzY3QzBDCi06MTAxQjE0MDA3NEMwRjBBMzc0MTRGMEEzNzQwQkYwRUZCNDAyMERFNERBCi06MTAxQjI0MDA5MDc2N0NGMEEzNzQxMEYwQTM3NDBDRjBFRkI0MDMwQjY0Ci06MEMxQjM0MDBFNDkwNzY3Q0YwQTM3NDE4RjBBM0YwMjI3QgotOjEwNDExQjAwOTA3NjhERTA2NDAxNzAyNzMwMjcwOEMyMjcxMjA4MDBDMwotOjEwNDEyQjAwMTIxNzRBMzAyODA4QzIyODEyMzg3NDEyMTc0QTMwMkEzQwotOjEwNDEzQjAwMEVFNDkwNzY4REYwQzIyQTkwN0ZCNEUwNDQwMkYwOTBBQQotOjEwNDE0QjAwNzYzRkUwQjQwMTA1RTRGMDEyMzI2RjkwNzY0MUUwQjRCMwotOjEwNDE1QjAwMDEwNUU0RjAxMjM0OUE5MDc2NDBFMEI0MDEwMzEyMzQ3NgotOjEwNDE2QjAwOUExMjMwMDAzMDMzMDMxMjQwMDA5MDdGOUJFMDIwRTQyMgotOjEwNDE3QjAwMDJDMjNGOTA3RjlCRTAzMEU0MDJEMjNGOTA3RjlCRTBGNgotOjEwNDE4QjAwMjBFNTAyQzIzRTkwN0Y5QkUwMzBFNTAyRDIzRUEyNDE4OQotOjEwNDE5QjAwMzAzRjAxQjM1MDFGQTIzRjkyNDEzMDNGMDk5MDc2OTdCOQotOjEwNDFBQjAwRTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTcwQwotOjEwNDFCQjAwRTA5MDgwMDJGMDMwM0YzNDkwNzYxOUUwRkZCNDAxMEVBRQotOjEwNDFDQjAwOTA3NjdDNzQ2N0YwQTM3NDA2RjBBMzc0MEJGMEVGQjRENQotOjEwNDFEQjAwMDIwQkU0OTA3NjdDRjBBM0YwQTM3NDBDRjBFRkI0MDMyNQotOjEwNDFFQjAwMEJFNDkwNzY3Q0YwQTNGMEEzNzQxOEYwQTI0MDMwM0U2MQotOjEwNDFGQjAwMDFCMzUwMUZBMjNFOTI0MDMwM0UwOTkwNzY5NUUwNDRBOQotOjEwNDIwQjAwMDRGMDgwMDc5MDc2OTVFMDU0RkJGMDkwNzY5NUUwOTA2MwotOjA0NDIxQjAwODAwMUYwMjIwQwotOjAyNEUxNTAwRDMyMkE2Ci06MDI0RTE3MDBEMzIyQTQKLTowMjRFMTkwMEQzMjJBMgotOjEwM0ZFNTAwOTA3RkVBRTA5MDc2ODJGMEU0OTA3NjkxRjA5MDc2OTI3OAotOjBCM0ZGNTAwRjA5MDc2OTBGMDkwNzY5M0YwRDMyMkNECi06MTA0RENBMDA5MDc2ODJFMDkwN0YwMEYwOTA3RkI1NzQwMUYwRDMyMjU0Ci06MTA0ODYzMDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMTcxNDYwMjExNERECi06MTA0ODczMDA2MDJCMTQ2MDMyMjQwNDcwMzg5MDdGRUFFMDkwNzY5MUM0Ci06MTA0ODgzMDBGMDgwMzU5MDdGRUFFMDkwNzY5MkYwMTIzRTlGODAyODg4Ci06MTA0ODkzMDA5MDdGRUFFMDkwNzY5MEYwMTIxODAwODAxQjkwN0ZFQUY4Ci06MTA0OEEzMDBFMDkwNzY4NEYwODAxMTkwN0ZFQUUwOTA3NjkzRjA4MDM4Ci06MEE0OEIzMDAwNzkwN0ZCNEUwNDQwMUYwRDMyMjI3Ci06MTA0NzQ1MDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMUQxNDYwMkExNEVECi06MTA0NzU1MDA2MDM3MTQ2MDQ0MjQwNDcwNTA5MDc2OTFFMDkwN0YwMDk3Ci06MTA0NzY1MDBGMDkwN0ZCNTc0MDFGMDgwNDc5MDc2OTJFMDkwN0YwMERECi06MTA0Nzc1MDBGMDkwN0ZCNTc0MDFGMDgwMzc5MDc2OTBFMDkwN0YwMERGCi06MTA0Nzg1MDBGMDkwN0ZCNTc0MDFGMDgwMjc5MDc2ODRFMDkwN0YwMEVCCi06MTA0Nzk1MDBGMDkwN0ZCNTc0MDFGMDgwMTc5MDc2OTNFMDkwN0YwMERDCi06MTA0N0E1MDBGMDkwN0ZCNTc0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDhDCi06MDI0N0I1MDBEMzIyMEQKLTowMjRFMUIwMEQzMjJBMAotOjAyNEUxRDAwRDMyMjlFCi06MDI0RTFGMDBEMzIyOUMKLTowMjRFMjEwMEMzMjJBQQotOjEwMkZFNzAwQzBFMEMwODNDMDgyRDIyNjUzOTFFRjkwN0ZBQjc0MDFCQgotOjA4MkZGNzAwRjBEMDgyRDA4M0QwRTAzMjVCCi06MTA0REI0MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA0RjBEMDA1Ci06MDY0REM0MDA4MkQwODNEMEUwMzIzMgotOjEwM0Q0NzAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTBGNgotOjEwM0Q1NzAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZCMQotOjEwM0Q2NzAwQzBFMDkwN0ZBMkUwOTA3NjdGRjA5MDdGNzRFMDkwNzYzRAotOjEwM0Q3NzAwODdGMDkwN0Y3NUUwOTA3Njg4RjA5MDdGOThFMDQ0MDIxNgotOjEwM0Q4NzAwRjA5MDc2OTZFMEZGMjBFMTBDNDQwMkYwOTA4MDAzRjA3QgotOjEwM0Q5NzAwRDIzMjEyNEIyODkwNzY3RkUwMjBFMjUwOTA3Njg3RTA2RgotOjEwM0RBNzAwRkVBM0UwN0MwMDI0MDBGNTM0RUMzRUY1MzM5MDc2OThEMgotOjEwM0RCNzAwRTBGREFFMzNBRjM0MTIzNkQ4OTA3Njg3RUZGMEQyMkZDRQotOjEwM0RDNzAwMzAzMTI5MjAzRjI2QzIzMTkwN0Y5NEUwNTRDRkYwOTBDNAotOjEwM0RENzAwN0Y5QUUwMzBFNDA0RDIyREMyMkM5MDdGOUFFMDIwRTU1MAotOjEwM0RFNzAwMDRDMjJERDIyQzkwN0Y5NEUwNDQzMEYwMTI0OEJEMTJDQgotOjEwM0RGNzAwMUIwNDMwMkYxMjEyNDIxRkMyMkY3NUU4MDExMjE2OEFCOAotOjEwM0UwNzAwNzVFODBERDIyQjgwMDU3NUU4MDFDMjJCMjAyQjM0OTA2NQotOjEwM0UxNzAwNzYxOUUwRkZCNDAxMEU5MDc2N0M3NDY3RjBBMzc0MDYwMAotOjEwM0UyNzAwRjBBMzc0MEJGMEVGQjQwMjBCOTA3NjdDRTRGMEEzRjBGMAotOjEwM0UzNzAwQTM3NDBDRjBFRkI0MDMwQjkwNzY3Q0U0RjBBM0YwQTMyQgotOjEwM0U0NzAwNzQxOEYwNzVDQUQzNzVDQkZFRDJDQTMwMzQwNEMyMzRBNQotOjEwM0U1NzAwODAwMkQyMzQzMDM0MEQ5MDc2ODlFMEMzOTQwMzQwMDQ1NQotOjEwM0U2NzAwRTAyNEZERjA1MzkxRUY5MDdGQUI3NDAyRjBGMDkwN0Y2OAotOjEwM0U3NzAwOThFMDU0RkRGMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBDOAotOjEwM0U4NzAwRkNEMEUwRkJEMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDAxOQotOjA4M0U5NzAwODJEMDgzRDBGMEQwRTAzMkFDCi06MTA0QkU5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjA5MDA2Ci06MTA0QkY5MDA3Njk2RTA1NEZERjA5MDgwMDNGMEQwODJEMDgzRDBFMDI3Ci06MDE0QzA5MDAzMjc4Ci06MDEyRkZGMDAzMjlGCi06MTA0QzQzMDBDMEUwQzA4M0MwODJEMjI1NTM5MUVGOTA3RkFCNzQwODNDCi06MDg0QzUzMDBGMEQwODJEMDgzRDBFMDMyRTIKLToxMDRDNUIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMUYwODQKLTowNzRDNkIwMEQwODJEMDgzRDBFMDMyQkIKLToxMDRDMEEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMUYwRDQKLTowRjRDMUEwMEMyMjk5MDc2OEQ3NDAxRjBEMDgyRDA4M0QwRTAzMjIxCi06MTA0QzcyMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDJGMDZDCi06MDc0QzgyMDBEMDgyRDA4M0QwRTAzMkE0Ci06MTA0QjVBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDJGMDg0Ci06MTA0QjZBMDA5MDdGQzdFMEY1MTE3NTBGMDA3NTBEMDBEMjMzRDA4MjIyCi06MDU0QjdBMDBEMDgzRDBFMDMyMDEKLToxMDRDODkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwNEYwNTMKLTowNzRDOTkwMEQwODJEMDgzRDBFMDMyOEQKLToxMDRDQTAwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwNEYwM0IKLTowNzRDQjAwMEQwODJEMDgzRDBFMDMyNzYKLToxMDRDQjcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwOEYwMjEKLTowNzRDQzcwMEQwODJEMDgzRDBFMDMyNUYKLToxMDRDQ0UwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwOEYwMDkKLTowNzRDREUwMEQwODJEMDgzRDBFMDMyNDgKLToxMDRDRTUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQxMEYwRUIKLTowNzRDRjUwMEQwODJEMDgzRDBFMDMyMzEKLToxMDRDRkMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQxMEYwRDMKLTowNzREMEMwMEQwODJEMDgzRDBFMDMyMTkKLToxMDREMTMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQyMEYwQUMKLTowNzREMjMwMEQwODJEMDgzRDBFMDMyMDIKLToxMDREMkEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQyMEYwOTQKLTowNzREM0EwMEQwODJEMDgzRDBFMDMyRUIKLToxMDRENDEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ0MEYwNUUKLTowNzRENTEwMEQwODJEMDgzRDBFMDMyRDQKLToxMDRENTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ0MEYwNDYKLTowNzRENjgwMEQwODJEMDgzRDBFMDMyQkQKLToxMDRENkYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ4MEYwRjAKLTowNzREN0YwMEQwODJEMDgzRDBFMDMyQTYKLToxMDREODYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ4MEYwRDgKLTowNzREOTYwMEQwODJEMDgzRDBFMDMyOEYKLToxMDQyMUYwMDkwNzYxOUUwNjQwMTcwMzU5MDc2ODdFMEZGRDM5NDJEODYKLToxMDQyMkYwMDQwMkI5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzMTEKLToxMDQyM0YwMDk0MEY0MDE5RTRGMEVGRDM5NDMxNDAwODkwNzYxOTc0M0QKLToxMDQyNEYwMDAzRjA4MDA2OTA3NjE5NzQwMkYwMTIzRTlGOTA3NjE5NTMKLToxMDQyNUYwMEUwQjQwMjJDOTA3Njg3RTBGRkMzOTQyRjUwMjJFRkQzNjcKLToxMDQyNkYwMDk0MkE0MDFDOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRDUKLToxMDQyN0YwMEUwRDM5NDBGNDAwQUU0RjA5MDc2MTkwNEYwMTIzRTlGQjkKLToxMDQyOEYwMDkwNzYxOUUwQjQwMjI2OTA3Njg3RTBEMzk0MzE0MDFERTIKLToxMDQyOUYwMDkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNjkKLToxMDQyQUYwMDQwMEJFNEYwOTA3NjE5NzQwM0YwMTIzRTlGOTA3NjE5NEMKLToxMDQyQkYwMEUwNjQwMzcwM0Y5MDc2ODdFMEZGQzM5NDVGNTAzNTkwQzIKLToxMDQyQ0YwMDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjQwODkKLToxMDQyREYwMDIzRTRGMEVGQzM5NDJGNTAwQ0VGRDM5NDJBNDAwNjkwQjEKLToxMDQyRUYwMDc2MTk3NDAxRjBFRkQzOTQyRjQwMDY5MDc2MTk3NDAyNkIKLToxMDQyRkYwMEYwMTIzRTlGOTA3Njg2RTA3MDA1OTA3Njg1RjAyMkU0NkUKLTowNTQzMEYwMDkwNzY4NkYwMjIwQgotOjEwNDU2NTAwOTA3NjlBNzQwMkYwRTQ5MDc2OTFGMEEzRjA5MDc2OTBBQwotOjEwNDU3NTAwRjA5MDc2OTNGMDkwNzY5Njc0MDNGMDkwODAwM0YwRTREMwotOjEwNDU4NTAwOTA3Njk3RjA5MDgwMDJGMDkwNzY5NDA0RjA5MDgwMDBGOQotOjEwNDU5NTAwRjBFNDkwNzY4RUYwOTA3NjFBRjA5MDc2OTUwNEYwQzI1RAotOjEwNDVBNTAwMkU5MDdGOUJFMEZGNTQxMEZGNzAwMkMyM0Y5MDdGOUJDRgotOjEwNDVCNTAwRTBGRjU0MTBGRUZGQkUxMDAyRDIzRjkwN0Y5QkUwRkY0QwotOjEwNDVDNTAwNTQyMEZGNzAwMkMyM0U5MDdGOUJFMEZGNTQyMEZFRkYwNwotOjEwNDVENTAwQkUyMDAyRDIzRTMwM0YwOTkwNzY5N0UwNTRGRUYwODAyRgotOjEwNDVFNTAwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyRjA4RQotOjEwNDVGNTAwMzAzRTA5OTA3Njk1RTA0NDA0RjA4MDA3OTA3Njk1RTA4QQotOjEwNDYwNTAwNTRGQkYwOTA3Njk1RTA5MDgwMDFGMEEyM0U5MjQwQTI5NgotOjAzNDYxNTAwM0Y5MjQxOTAKLTowMTQ2MTgwMDIyN0YKLToxMDNFOUYwMDkwNzY5MkUwMTQ2MDFEMTQ3MDAyRTE1NDI0MDI2MDAyQzcKLToxMDNFQUYwMEUxRTQ5MDc2OTQ3NDAxRjA5MDgwMDBGMEU0OTA3NjhFQzcKLToxMDNFQkYwMEYwRDIzMTIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RkYyMkIKLToxMDNFQ0YwMEYwOTA3RkYzNzQzMEYwOTA3RkZGNzRGQ0YwOTA3Njk3NTIKLToxMDNFREYwMEUwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkYwREUKLToxMDNFRUYwMDkwN0ZGMzc0MzRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwM0UKLToxMDNFRkYwMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDkwMUIKLToxMDNGMEYwMDdGRjM3NDY0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDQ0MzkKLToxMDNGMUYwMDA0RjA5MDc2OTRFMDQ0MDFGMDkwODAwMEYwMzAzRjA5NzcKLToxMDNGMkYwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwOEEKLToxMDNGM0YwMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA0RjA5MDc2RTcKLToxMDNGNEYwMDhFNzQwMUYwMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGOEMKLToxMDNGNUYwMEYyRjA5MDdGRjM3NDQ0RjA5MDdGRkY3NEZDRjA5MDc2NTIKLToxMDNGNkYwMDk3RTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyQTYKLToxMDNGN0YwMEYwOTA3RkYzNzQ0Q0YwOTA3RkZGNzRGQ0YwOTA3Njk3ODUKLToxMDNGOEYwMEUwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwM0EKLToxMDNGOUYwMDkwN0ZGMzc0OTRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwMkQKLToxMDNGQUYwMDQ0MDRGMDkwNzY5NEUwNTRGRUYwOTA4MDAwRjAzMDNGOUYKLToxMDNGQkYwMDA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRTEKLToxMDNGQ0YwMEYwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDZGMDkwREIKLTowNjNGREYwMDc2OEU3NDAyRjAyMjUwCi06MTAxODAwMDA5MDc2OTBFMDE0NjAzNzE0NzAwMjAxRDgxNDcwMDIyMUIxCi06MTAxODEwMDA3MjE0NzAwMjQxM0IyNDA0NjAwMjYxMDM5MDdGRkM3NEU3Ci06MTAxODIwMDBDQ0YwOTA3RkZGNzRGQ0YwOTA3Njk1RTA0NDAxRjA1NDhBCi06MTAxODMwMDAwNUYwOTA4MDAxRjBFNDkwNzYxQUYwQzIyRTIyOTA3NkE2Ci06MTAxODQwMDA5NUUwNDQwMUYwNDQwMkYwMzAzRTA2RTA0NDA0RjA4MEFDCi06MTAxODUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDdBCi06MTAxODYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjI5MDI3Ci06MTAxODcwMDA3RkZDNzQ3NEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjczCi06MTAxODgwMDBGMDkwNzY5N0UwNTRGREYwRTQ5MDc2ODFGMDkwNzY4MEM5Ci06MTAxODkwMDBGMEVGQjQwMjIyOTA3RkZDNzQ2OEYwOTA3RkZGNzRGQzNDCi06MTAxOEEwMDBGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkYwRTQ5MEY5Ci06MTAxOEIwMDA3NjgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRTg0Ci06MTAxOEMwMDBGMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwNTRGQjIzCi06MTAxOEQwMDBGMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NEZFRjA0NEYzCi06MTAxOEUwMDAwMkYwMzAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NDI0Ci06MTAxOEYwMDBGQkYwOTA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUI0Ci06MTAxOTAwMDBGMDkwNzYxOUUwRkZCNDAxMjI5MDdGRkM3NDMwRjA5MEUzCi06MTAxOTEwMDA3RkZGNzRGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEY0Ci06MTAxOTIwMDBGREYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjI5MEEyCi06MTAxOTMwMDA3RkZDNzQxQ0YwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRjA2Ci06MTAxOTQwMDBGMDkwNzY5N0UwNDQwMkYwRTQ5MDc2ODFGMDkwNzY4MDEzCi06MTAxOTUwMDBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5NzNDCi06MTAxOTYwMDBFMDQ0MDFGMDkwNzY5N0UwNTRGQkYwOTA4MDAyRjBEMkQyCi06MTAxOTcwMDAyRTIyOTA3Njk1RTA0NDAxRjA0NDAyRjA0NDA4RjAzMEM1Ci06MTAxOTgwMDAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NEZCRjA5MDJBCi06MTAxOTkwMDA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUYwOTA3Njk4Ci06MTAxOUEwMDAxOUUwRkZCNDAxMjU5MDdGRkM3NENDRjA5MDdGRkY3NEE4Ci06MTAxOUIwMDBGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEZERjA1NDA1Ci06MTAxOUMwMDBGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjU5MDAxCi06MTAxOUQwMDA3RkZDNzRDOEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRkJBCi06MTAxOUUwMDBGMDkwNzY5N0UwNDQwMkYwNTRGQkYwRTQ5MDc2ODFGMEJBCi06MTAxOUYwMDA5MDc2ODBGMEVGQjQwMzI1OTA3RkZDNzQ5OEYwOTA3RjkwCi06MTAxQTAwMDBGRjc0RkNGMDkwNzY4Rjc0NUZGMDkwNzY5N0UwNTRGRDUxCi06MTAxQTEwMDBGMDQ0MDRGMEU0OTA3NjgxRjA5MDc2ODBGMDMwM0YwOTU1Ci06MTAxQTIwMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMEJFCi06MTAxQTMwMDA5MDc2OTdFMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NDM2Ci06MTAxQTQwMDBGRUYwNDQwMkYwNDQwOEYwMzAzRTA2RTA0NDA0RjA4MDJBCi06MTAxQTUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDc4Ci06MTAxQTYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjU5MDIyCi06MTAxQTcwMDA3RkZDNzRCNEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjMxCi06MTAxQTgwMDBGMDkwNzY5N0UwNTRGREYwNTRGQkYwRTQ5MDc2ODFGMDBFCi06MTAxQTkwMDA5MDc2ODBGMEVGQjQwMjI1OTA3RkZDNzRCMEYwOTA3RkQ4Ci06MTAxQUEwMDBGRjc0RkNGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkVDCi06MTAxQUIwMDBGMDU0RkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMzgwCi06MTAxQUMwMDAyNTkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkNGMDkwNzY4RjE3Ci06MTAxQUQwMDA3NDVGRjA5MDc2OTdFMDU0RkRGMDQ0MDRGMEU0OTA3NjYzCi06MTAxQUUwMDA4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMEQ4Ci06MTAxQUYwMDA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMjFFCi06MDQxQjAwMDBGMEQyMkUyMkNGCi06MDQwQ0ExMDA0MTc2MjMwMDc1Ci06MTAyREE5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkyCi06MTAyREI5MDAzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDBGRjU4MkRGCi06MTAyREM5MDBFNDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MTBGNTZDCi06MTAyREQ5MDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRkEwCi06MTAyREU5MDA3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEFDCi06MTAyREY5MDBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwNUE3Ci06MTAyRTA5MDBGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNDNBCi06MTAyRTE5MDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTk3Ci06MTAyRTI5MDA4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRjdFCi06MTAyRTM5MDBGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDg4Ci06MTAyRTQ5MDAxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMDA5Ci06MTAyRTU5MDBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDVDCi06MTAyRTY5MDAwMUYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4M0JFCi06MTAyRTc5MDA3NDAzRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNUJBCi06MTAyRTg5MDA4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNEMzCi06MTAyRTk5MDAwRUY1ODJFNDM0NzVGNTgzNzQxMEYwRUY3NUYwMDNBNDMwCi06MTAyRUE5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA2RjBFRjc1RjAwM0E5Ci06MTAyRUI5MDBBNDI0MTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMEM1Ci06MTAyRUM5MDAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNUVGCi06MTAyRUQ5MDA4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUNFCi06MTAyRUU5MDBGNTgzNzQwNEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDNCCi06MTAyRUY5MDA3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0IxCi06MTAyRjA5MDBBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMEFDCi06MTAyRjE5MDAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwOEYwRUY3NTgyCi06MTAyRjI5MDBGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjA5MDU5Ci06MTAyRjM5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkwCi06MTAyRjQ5MDAzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MjRDCi06MTAyRjU5MDBFNDM0NzVGNTgzNzQwQUYwRUY3NUYwMDNBNDI0MTBGNUQxCi06MTAyRjY5MDA4MkU0MzQ3NUY1ODM3NDA0RjA5MDc2MzZFMDA0RjBFMDc5Ci06MTAyRjc5MDBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMjE5Ci06MTAyRjg5MDBGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDJBCi06MTAyRjk5MDAwOUYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzg0Ci06MTAyRkE5MDA3NDA0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDkxCi06MTAyRkI5MDAwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDFECi06MTAyRkM5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA3RjBFRjc1RjAwMzg3Ci06MEUyRkQ5MDBBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyMEMKLToxMDNCRDMwMEU0OTA3NjM2RjBFMEZCNzVGMDBGQTQyNDQxRjU4MkU0MUYKLToxMDNCRTMwMDM0NzVGNTgzNzQ0MEYwRUI3NUYwMEZBNDI0NDJGNTgyMkQKLToxMDNCRjMwMEU0MzQ3NUY1ODM3NDBBRjBFQjc1RjAwRkE0MjQ0M0Y1RjAKLToxMDNDMDMwMDgyRTQzNDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwRDkKLToxMDNDMTMwMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwRjYKLToxMDNDMjMwMEFDNDRFQjc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzQjMKLToxMDNDMzMwMDEyMzdDODAwMDE3NzAwOTA3NjM2RTAwNEYwRTBGQjc1OTgKLToxMDNDNDMwMEYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDBGMEVCNUUKLToxMDNDNTMwMDc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4Q0YwNzcKLToxMDNDNjMwMEVCNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODMxMjM3MjIKLToxMDNDNzMwMEM4MDAwMEFDNDRFQjc1RjAwRkE0MjQ0N0Y1ODJFNDM0OEMKLToxMDNDODMwMDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwMEZBNDI0MUMKLToxMDNDOTMwMDRCRjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAxNzcwMDkwNDEKLToxMDNDQTMwMDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0REEKLToxMDNDQjMwMDM0NzVGNTgzNzQ0MEYwRUY3NUYwMEZBNDI0NDJGNTgyNTgKLToxMDNDQzMwMEU0MzQ3NUY1ODM3NDhGRjA5MDc2MzZFMDA0RjBFMEZGMEEKLToxMDNDRDMwMDc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MUYwNDMKLToxMDNDRTMwMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDg0RjAKLToxMDNDRjMwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1NzAKLToxMDNEMDMwMDgyRTQzNDc1RjU4Mzc0NjFGMEVGNzVGMDBGQTQyNDQyRjcKLToxMDNEMTMwMEY1ODJFNDM0NzVGNTgzNzQ4MUYwOTA3NjM2RTAwNEYwMkYKLToxMDNEMjMwMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDQKLToxMDNEMzMwMDYxRjBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNDYKLTowNDNENDMwMDc0MDFGMDIyRjUKLToxMDQ2MTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0RTUKLToxMDQ2MjkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0REYKLToxMDQ2MzkwMDM0NzVGNTgzNzQwMUYwOTA3NjM2RTAwNEYwRTBGRjc1ODcKLToxMDQ2NDkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1QzAKLToxMDQ2NTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDJGMDkwRjEKLToxMDQ2NjkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0MjUKLToxMDQ2NzkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0OEYKLToxMDQ2ODkwMDM0NzVGNTgzNzQwM0YwOTA3NjM2RTAwNEYwRTBGRjc1MzUKLToxMDQ2OTkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1NzAKLToxMDQ2QTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyMEQKLToxMDNBNDIwMEU0OTA3NjM1RjA5MDc2MzVFMEZGQzM5NDAzNDAwMjQxNkUKLToxMDNBNTIwMEZGRUY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjU4M0VGMkEKLToxMDNBNjIwMEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0U0MzMKLToxMDNBNzIwMEYwRUY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4Mzc0OTIKLToxMDNBODIwMEYwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzMDUKLToxMDNBOTIwMDc0RkZGMEVGNzVGMDBBQTQyNEFFRjU4MkU0MzQ3NUY1RjQKLToxMDNBQTIwMDgzRTRGMEVGNzVGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1RUYKLToxMDNBQjIwMDgzNzQ4MEYwRUY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1QzMKLToxMDNBQzIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1Q0QKLToxMDNBRDIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1QkMKLToxMDNBRTIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1QUIKLToxMDNBRjIwMEY1ODM3NDAxRjA5MDc2MzVFMDA0RjA0MTQ3OTA3NjNDMEUKLToxMDNCMDIwMDc0MEFGMEU0QTNGMDkwNzYzNTc0MDNGMDkwNzYzQ0UwMEEKLToxMDNCMTIwMEZGOTA3NjM1RTBGRUMzOUY0MDAyNjFEMjkwNzYzREUwOTEKLToxMDNCMjIwMEZGMDRGMEVFNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1RDgKLToxMDNCMzIwMDgzRUZGMEVFNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1NTgKLToxMDNCNDIwMDgzRTRGMEVFNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1NTIKLToxMDNCNTIwMDgzNzQ1RUYwRUU3NUYwMEFBNDI0QURGNTgyRTQzNDc1NDgKLToxMDNCNjIwMEY1ODM3NEJBRjBFRTc1RjAwQUE0MjRBRUY1ODJFNDM0NUIKLToxMDNCNzIwMDc1RjU4Mzc0MDVGMEVFNzVGMDBBQTQyNEFGRjU4MkU0QkUKLToxMDNCODIwMDM0NzVGNTgzNzQ4MEYwRUU3NUYwMEFBNDI0QjBGNTgyRTIKLToxMDNCOTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjFGNTgyRkQKLToxMDNCQTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjJGNTgyRUMKLToxMDNCQjIwMEU0MzQ3NUY1ODM3NDE1RjBFRTc1RjAwQUE0MjRCM0Y1QjgKLToxMDNCQzIwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzVFMDA0RjA2MTBFMUEKLTowMTNCRDIwMDIyRDAKLToxMDA4MDAwMEU0OTA3NjMxRjA5MDc2MzFFMEZGNzVGMDAzQTQyNDBGODgKLToxMDA4MTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENEEKLToxMDA4MjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MzFFMDA0RjA4MEQ1NTEKLToxMDA4MzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQjEKLToxMDA4NDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MzNGMDI0MjkKLToxMDA4NTAwMEYwNjAwQTI0MEU2MDAyODE4NzEyNEJDNzIyOTA3RkVENjAKLToxMDA4NjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzc3NDAxNDUKLToxMDA4NzAwMEYwOTA3NjM5NzQwM0YwOTA3NjIxRjBFNDkwNzYyMEYwRDEKLToxMDA4ODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjIwRTBGRjc1RjAwQUE0RjQKLToxMDA4OTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENUEKLToxMDA4QTAwMEVFNkQ2MDEyOTA3NjIxRTBGRUVGQzM5RTUwMDg5MDc2QzgKLToxMDA4QjAwMDIwRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTUKLToxMDA4QzAwMDE4NzQwNkYwOTA3NjM3NzQwNEYwOTA3NjM5NzQwQUYwNTQKLToxMDA4RDAwMDkwNzYyMUYwOTA3NjIwNzQwM0YwOTA3RkVBRTBGNDYwNDcKLToxMDA4RTAwMDJGOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjQKLToxMDA4RjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2ODQKLToxMDA5MDAwMDIxRTBGRUVGQzM5RTUwMDg5MDc2MjBFMDA0RjA4MEQxRjUKLToxMDA5MTAwMDkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RUQKLToxMDA5MjAwMEY1ODNFMDkwNzIyOUYwRTQ5MDc2M0JGMDkwNzYyMUUwMzgKLToxMDA5MzAwMEZFRUY2RTcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRjAKLToxMDA5NDAwMEUwMTQ2MDEzMTQ3MDAyMjFFMjI0MDI2MDAyODE3RjkwOUYKLToxMDA5NTAwMDdGQjRFMDQ0MDFGMDIyOTA3RkU5RTAxNDcwN0M5MDdGNDYKLToxMDA5NjAwMEVBRTBGNDcwNDg5MDc2MzdFMDkwNzYyMEYwOTA3NjM5OUYKLToxMDA5NzAwMEUwRkU5MDc2MjBFMEZEQzM5RTUwMkI5MDc2M0JFMEZFOUIKLToxMDA5ODAwMDA0RjA3NEMwMkVGNTgyRTQzNDdFRjU4M0UwRkVFRDc1NEMKLToxMDA5OTAwMEYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0VFRjA5MDc2OEEKLToxMDA5QTAwMDIwRTAwNEYwODBDNzkwNzYzRjc0MDFGMDIyOTA3RUMwNzIKLToxMDA5QjAwMEUwRkVFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzMEMKLToxMDA5QzAwMEVFRjBFMEI0MDEwODkwNzYzRTc0MDFGMDgwMDVFNDkwMEEKLToxMDA5RDAwMDc2M0VGMDkwNzYzRjc0MDFGMDIyOTA3RkI0RTA0NDAxQkYKLToxMDA5RTAwMEYwMjI5MDdGRTlFMDI0RkU3MDAyNDFBMzE0NzAwMjYxQkUKLToxMDA5RjAwMDNGMTQ3MDAyNjFEQjI0MDM2MDAyODE3NzkwN0ZFQUUwOUMKLToxMDBBMDAwMEY0NzA2QjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGQzYKLToxMDBBMTAwMDkwNzYyMEUwRkVDMzlGNTA0RTkwNzYzQkUwRkYwNEYwQkUKLToxMDBBMjAwMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTIKLToxMDBBMzAwMEE0MjRBQ0Y1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkUwQzYKLToxMDBBNDAwMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFRkUKLToxMDBBNTAwMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwQzcKLToxMDBBNjAwMDc2MjBFMDA0RjA4MEE0OTA3NjQwNzQwMUYwMjI5MDdFMUQKLToxMDBBNzAwMEMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUNGNTgyNzkKLToxMDBBODAwMEU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBNzcKLToxMDBBOTAwMEE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwNzY0MTc0Q0IKLToxMDBBQTAwMDAxRjAyMjkwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2NkQKLToxMDBBQjAwMDIwRjA5MDc2MzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyNjAKLToxMDBBQzAwMDgxOEU5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0MTEKLToxMDBBRDAwMDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRUY1ODJFNDM0REYKLToxMDBBRTAwMDc1RjU4M0VGRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1Q0UKLToxMDBBRjAwMDgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRkY1QkUKLToxMDBCMDAwMDgyRTQzNDc1RjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyNjMKLToxMDBCMTAwMDkwN0VDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFFM0YKLToxMDBCMjAwMEY1ODJFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1NTkKLToxMDBCMzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwMzcKLToxMDBCNDAwMDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2NTkKLToxMDBCNTAwMDM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2QzAKLToxMDBCNjAwMDNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwQUYKLToxMDBCNzAwMEZGRUU3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0VGMzYKLToxMDBCODAwMEYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjEKLToxMDBCOTAwMEY1ODNFMEZGRUU3NUYwMEFBNDI0QjFGNTgyRTQzNDc1MjQKLToxMDBCQTAwMEY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwMjQKLToxMDBCQjAwMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRCMEY1ODJFNDM0QkMKLToxMDBCQzAwMDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0ODYKLToxMDBCRDAwMEIxRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRUFFMEY0MUEKLToxMDBCRTAwMDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRjkwNEUKLToxMDBCRjAwMDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NjNCRTBGRjA0QUEKLToxMDBDMDAwMEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwREEKLToxMDBDMTAwMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCQjQKLToxMDBDMjAwMEUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGMkEKLToxMDBDMzAwMEVFNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1ODNFRkYwODEKLToxMDBDNDAwMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMEZGOTA3NjIwQjUKLToxMDBDNTAwMEUwRkU3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGNjIKLToxMDBDNjAwMEYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNEIzRjU4MkU0QjMKLToxMDBDNzAwMDM0NzVGNTgzRUZGMDIyOTA3RkI0RTA0NDAxRjAyMjkwQzgKLTowRjBDODAwMDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjAxCi06MTAxMDAwMDBFNDkwNzYyQ0YwOTA3NjJDRTBGRjc1RjAwM0E0MjQwRjhBCi06MTAxMDEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDQyCi06MTAxMDIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjJDRTAwNEYwODBENTRFCi06MTAxMDMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0E5Ci06MTAxMDQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjJFRjAyNDI2Ci06MTAxMDUwMDBGMDYwMEEyNDBGNjAwMjgxN0QxMjRCQTQyMjkwN0ZFRDg0Ci06MTAxMDYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM4NzQwMTNDCi06MTAxMDcwMDBGMDkwNzYzQTc0MDNGMDkwNzYxQ0YwRTQ5MDc2MUJGMEQyCi06MTAxMDgwMDA5MDdGRUFFMEY0NjAyRjkwNzYxQkUwRkY3NUYwMEFBNEYxCi06MTAxMDkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDUyCi06MTAxMEEwMDBFRTZENjAxMjkwNzYxQ0UwRkVFRkMzOUU1MDA4OTA3NkM1Ci06MTAxMEIwMDAxQkUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkUyCi06MTAxMEMwMDAxODc0MDZGMDkwNzYzODc0MDRGMDkwNzYzQTc0MEFGMDRBCi06MTAxMEQwMDA5MDc2MUNGMDkwNzYxQjc0MDNGMDkwN0ZFQUUwRjQ2MDQ5Ci06MTAxMEUwMDAyRjkwNzYxQkUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDYxCi06MTAxMEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3NjdDCi06MTAxMTAwMDAxQ0UwRkVFRkMzOUU1MDA4OTA3NjFCRTAwNEYwODBEMUY3Ci06MTAxMTEwMDBFNDkwNzYxRUYwOTA3NjFDRTBGRjkwNzYxQkUwRkU2RjY4Ci06MTAxMTIwMDA3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkUwMTQ2MEZGCi06MTAxMTMwMDAxMzE0NzAwMjIxQkYyNDAyNjAwMjgxNzU5MDdGQjRFMDE1Ci06MTAxMTQwMDA0NDAxRjAyMjkwN0ZFOUUwMjQ3RjcwNkI5MDdGRUFFMDE5Ci06MTAxMTUwMDBGNDcwNEE5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkzCi06MTAxMTYwMDA5MDc2MUJFMEZEQzM5RjUwMkJFRDc1RjAwQUE0MjRBQkQ1Ci06MTAxMTcwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZEMDRGMDFGCi06MTAxMTgwMDA3NDAwMkRGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDU4Ci06MTAxMTkwMDAwNEYwODBDNzkwNzYxRUUwOTA3RkI1RjAyMkVFNzVGMEU3Ci06MTAxMUEwMDAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDY3Ci06MTAxMUIwMDA5MDdGQjU3NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDVBCi06MTAxMUMwMDA3RkU5RTAyNDdFNzAwMjQxN0UxNDcwMDI2MTIzMTQ3MDc2Ci06MTAxMUQwMDAwMjYxQzgyNDAzNjAwMjgxNkQ5MDdGRUFFMEY0NzA2REMzCi06MTAxMUUwMDA5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQjkwCi06MTAxMUYwMDBFMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNEYxCi06MTAxMjAwMDAzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyRDQ5Ci06MTAxMjEwMDBGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRBRDk3Ci06MTAxMjIwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDZECi06MTAxMjMwMDA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMEE2Ci06MTAxMjQwMDAwNEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQjhCCi06MTAxMjUwMDBFMEZGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMDcwCi06MTAxMjYwMDA5MDdGMDBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUE4Ci06MTAxMjcwMDBGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkJCCi06MTAxMjgwMDBFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2MUJGMDkwNzYzQTU0Ci06MTAxMjkwMDBFMEZGOTA3NjFCRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDdCCi06MTAxMkEwMDAyNEFFRjU4MkU0MzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDExCi06MTAxMkIwMDAwNEYwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUQxCi06MTAxMkMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjRDCi06MTAxMkQwMDAxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRjA3Ci06MTAxMkUwMDBGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNTJECi06MTAxMkYwMDBGMDIyOTA3NjFCRTBGRjc1RjAwQUE0MjRBRUY1ODJFNDlDCi06MTAxMzAwMDAzNDc1RjU4M0UwOTA3RjAwRjBFRjc1RjAwQUE0MjRBRjA4Ci06MTAxMzEwMDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAxRjA5MDdGQjU3NDM5Ci06MTAxMzIwMDAwMkYwMjI5MDdGRUFFMEY0NzA2RDkwNzYzOEUwOTA3NkRCCi06MTAxMzMwMDAxQkYwOTA3NjNBRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEExCi06MTAxMzQwMDBGRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRTBGRTVECi06MTAxMzUwMDA5MDc2MUVFMEZEMDRGMDc0MDAyREY1ODJFNDM0N0ZGNUY0Ci06MTAxMzYwMDA4M0VFRjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVGNTRDCi06MTAxMzcwMDA4M0UwRkY5MDc2MUVFMEZFMDRGMDc0MDAyRUY1ODJFNDE4Ci06MTAxMzgwMDAzNDdGRjU4M0VGRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjM0Ci06MTAxMzkwMDAxRUUwOTA3RkI1RjAyMjkwNzYxQkUwRkY3NUYwMEFBNDY2Ci06MTAxM0EwMDAyNEIwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUFBCi06MTAxM0IwMDBGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMTRFCi06MTAxM0MwMDBGMDkwN0ZCNTc0MDJGMDIyOTA3RkVBRTBGNDcwNkQ5MEE3Ci06MTAxM0QwMDA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUJFMDRFCi06MTAxM0UwMDBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNEE1Ci06MTAxM0YwMDA3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTk3Ci06MTAxNDAwMDA4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QjNGNTlGCi06MTAxNDEwMDA4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA3NEZDCi06MTAxNDIwMDAwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTAwNDI0Ci06MTAxNDMwMDBGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEJECi06MTAxNDQwMDBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRTA5MEM4Ci06MTAxNDUwMDA3RjAwRjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTRCCi06MTAxNDYwMDA4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCNDBBCi06MTAxNDcwMDBFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNDc4Ci06MDUxNDgwMDBFMDQ0MDFGMDIyMzAKLToxMDM4NzQwMEU0OTA3NjI5RjA5MDc2MjlFMEZGNzVGMDBGQTQyNDQyQjUKLToxMDM4ODQwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEQTcKLToxMDM4OTQwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjlFMDA0RjA4MEQ1QkEKLToxMDM4QTQwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGMDYKLToxMDM4QjQwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MkFGMDI0NUIKLToxMDM4QzQwMEJGNzAwMjQxNDEyNEUwNzAwMjQxMTIyNDIxNjAwMjQxOTAKLToxMDM4RDQwMDNBOTA3RkU5RTAyNEZFNjA3RDE0NzAwMjIxQjIyNDAyNTQKLToxMDM4RTQwMDYwMDI0MTBBMTIxNzUxOTA3NjQyRTBGQ0EzRTBGREEzNjYKLToxMDM4RjQwMEUwRkVBM0UwRkY5MDc2MjlFMDc1RjAwRkE0MjQ0M0Y1RTEKLToxMDM5MDQwMDgyRTQzNDc1RjU4MzEyMzdCQzkwNzYxOUUwRkZCNDAxNzQKLToxMDM5MTQwMDEyOTA3NjdDNzQ2N0YwOTA3NjdENzQwNkYwOTA3NjdFRDMKLToxMDM5MjQwMDc0MEJGMEVGQjQwMjBGRTQ5MDc2N0NGMDkwNzY3REYwQTcKLToxMDM5MzQwMDkwNzY3RTc0MENGMEVGQjQwMzBGRTQ5MDc2N0NGMDkwRjQKLToxMDM5NDQwMDc2N0RGMDkwNzY3RTc0MThGMDkwNzYxQTc0MDFGMDEyRjkKLToxMDM5NTQwMDNFOUYxMjE4MDAyMjkwN0VDMkUwRkZFNEZDRkRGRUZCQjUKLToxMDM5NjQwMEZBNzkwMUY4MTIzNzQ2QzhFQ0M4QzlFREM5Q0FFRUNBREIKLToxMDM5NzQwMENCRUZDQjkwN0VDMUUwRkVFNEZDRkQyQkZCRUEzRUZBRUMKLToxMDM5ODQwMEVEMzlGOUVDMzhGODkwN0VDMEUwRkZFNEZFRUIyRkZGNTAKLToxMDM5OTQwMEVFM0FGRUVEMzlGREVDMzhGQzkwNzYyOUUwNzVGMDBGMzcKLToxMDM5QTQwMEE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0JDMjI5MDdFNTMKLToxMDM5QjQwMEMyRTBGRkU0RkNGREZFRkJGQTc5MDFGODEyMzc0NkM4QzkKLToxMDM5QzQwMEVDQzhDOUVEQzlDQUVFQ0FDQkVGQ0I5MDdFQzFFMEZFMEMKLToxMDM5RDQwMEU0RkNGRDJCRkJFQTNFRkFFRDM5RjlFQzM4Rjg5MDdFNzUKLToxMDM5RTQwMEMwRTBGRkU0RkVFQjJGRkZFRTNBRkVFRDM5RkRFQzM4Q0MKLToxMDM5RjQwMEZDOTA3NjI5RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1MkQKLToxMDNBMDQwMEY1ODMxMjM3QkMyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMEEKLToxMDNBMTQwMEU5RTAxNDcwMTk5MDdFQzBFMEZGOTA3NjI5RTA3NUYwMUIKLToxMDNBMjQwMDBGQTQyNDRGRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRTAKLTowRTNBMzQwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5RgotOjEwMkFENjAwRTQ5MDc2MjdGMDkwNzYyN0UwRkY3NUYwMEZBNDI0NDI2NQotOjEwMkFFNjAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQ1MwotOjEwMkFGNjAwNjAwRUVGQzM5NDA2NTAwODkwNzYyN0UwMDRGMDgwRDU2OAotOjEwMkIwNjAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEZCMQotOjEwMkIxNjAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyOEYwMjQwOAotOjEwMkIyNjAwOUY3MDAyQTE3NDI0MjE2MDAyQTFBMTkwN0ZFOUUwMjQ5NAotOjEwMkIzNjAwN0U3MDAyNjFGQzE0NzAwMjgxQjUyNDAyNjAwMkExNkNGMQotOjEwMkI0NjAwRUY3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNCOQotOjEwMkI1NjAwQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTAwNzgxNgotOjEwMkI2NjAwMDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBMzc0QUNBQgotOjEwMkI3NjAwRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjA0QgotOjEwMkI4NjAwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkQ0RAotOjEwMkI5NjAwQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEMzMTIzNgotOjEwMkJBNjAwMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEU0QTM3RQotOjEwMkJCNjAwRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjRBQgotOjEwMkJDNjAwNDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkU2MwotOjEwMkJENjAwQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0FCNjBGOAotOjEwMkJFNjAwMDJBMUE4OTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTA3RgotOjEwMkJGNjAwN0ZCNTc0MDNGMDIyOTA3NjI3RTA3NUYwMEZBNDI0NDc4MgotOjEwMkMwNjAwRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNDMgotOjEwMkMxNjAwRTBGRjdCNDQ3QUFDNzkwMDc4MDBDMzEyMzdBQjcwMTNCRgotOjEwMkMyNjAwOTA3RjAwNzQ0NEYwQTM3NEFDRjBFNEEzRjA5MDdGQjVGOQotOjEwMkMzNjAwNzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzQwotOjEwMkM0NjAwMzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I4MwotOjEwMkM1NjAwODA3QUJCNzkwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3RgotOjEwMkM2NjAwNzQ4MEYwQTM3NEJCRjBFNEEzRjA5MDdGQjU3NDAzRjAxNgotOjEwMkM3NjAwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzNDc1RjVDNQotOjEwMkM4NjAwODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0IwMDdBNzdGMAotOjEwMkM5NjAwNzkwMTc4MDBDMzEyMzdBQjYwMDJBMUE4OTA3RjAwRjBEQgotOjEwMkNBNjAwQTM3NDc3RjBBMzc0MDFGMDkwN0ZCNTc0MDNGMDIyOTBCQgotOjEwMkNCNjAwNzYyN0UwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODM4RQotOjEwMkNDNjAwRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzk0MQotOjEwMkNENjAwMDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTNFMgotOjEwMkNFNjAwNzRBQ0YwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTAxRgotOjEwMkNGNjAwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTM0QwotOjEwMkQwNjAwRTBGREEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBCQwotOjEwMkQxNjAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBCRQotOjEwMkQyNjAwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEY3QQotOjEwMkQzNjAwQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNGRgotOjEwMkQ0NjAwRTBGRUEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdCMwotOjEwMkQ1NjAwQUI3MDRGOTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTBFRQotOjEwMkQ2NjAwN0ZCNTc0MDNGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0Y5NwotOjEwMkQ3NjAwRTlFMDI0N0Y3MDFFOTA3NjI3RTA3NUYwMEZBNDI0NEZCQgotOjEwMkQ4NjAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTA3RkI1NzRBQQotOjEwMkQ5NjAwMDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDRGNgotOjAzMkRBNjAwMDFGMDIyMTcKLToxMDRCQTQwMDkwN0ZFQkUwMTQ3MDE0OTA3RkU5RTAyNDdGNzAwNDEyOEUKLToxMDRCQjQwMDQ5NTgyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0NEQKLTowMzRCQzQwMDAxRjAyMkRCCi06MTA0QkM3MDA5MDdGRUJFMDE0NzAxMzkwN0ZFOUUwMTQ3MDA0MTI0QUIxCi06MTA0QkQ3MDAwMzIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUM3Ci06MDI0QkU3MDBGMDIyQkEKLToxMDQ5NTgwMEU0OTA3NjI2RjA5MDc2MjZFMEZGNzVGMDAzQTQyNDM0RTAKLToxMDQ5NjgwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEQjIKLToxMDQ5NzgwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjZFMDA0RjA4MEQ1Q0EKLToxMDQ5ODgwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzMUYKLToxMDQ5OTgwMEE0MjQzMkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwMkEKLTowNjQ5QTgwMDdGQjU3NDAxRjAyMjRFCi06MTA0QTAzMDBFNDkwNzYyNUYwOTA3NjI1RTBGRjc1RjAwM0E0MjQzNDM2Ci06MTA0QTEzMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDA2Ci06MTA0QTIzMDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI1RTAwNEYwODBENTFGCi06MTA0QTMzMDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjI5MDdFQzBFMDFDCi06MTA0QTQzMDBGRUVGNzVGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFRUFBCi06MDI0QTUzMDBGMDIyNEYKLTowMzAwMDMwMDAyMEZGREVDCi06MDMwRkZEMDBDMjg5MzI3NAotOjAzMDAxMzAwMDIxN0ZERDQKLTowMzE3RkQwMEMyOEIzMjZBCi06MDMwMDRCMDAwMjRFMDM1RgotOjA0NEUwMzAwNTM5MURGMzJCNgotOjAzMDA1MzAwMDI0OEZBNjYKLTowNjQ4RkEwMDUzOTFCRkQyMkQzMkU0Ci06MDMwMDVCMDAwMjRERkQ1NgotOjA2NERGRDAwNTM5MTdGRDIyQzMyMUQKLTowMzAwNjMwMDAyNEUwNzQzCi06MDQ0RTA3MDA1M0Q4RjczMjUzCi06MDMwMDBCMDAwMjRFMEY5MwotOjAzNEUwRjAwQzI4RDMyMUYKLTowMzAwMUIwMDAyNEUxMjgwCi06MDM0RTEyMDBDMjhGMzIxQQotOjAzMDAyMzAwMDI0REVGOUMKLTowNzRERUYwMDUzOThGRTUzOThGRDMyQkEKLTowMzAwM0IwMDAyNERGNjdECi06MDc0REY2MDA1M0MwRkU1M0MwRkQzMjYzCi06MDMwMDJCMDAwMjQ4MDA4OAotOjEwNDgwMDAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTAzMgotOjEwNDgxMDAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZFRAotOjEwNDgyMDAwQzBFMEMyQ0FDMkNGOTA3Rjk4RTA0NDAxRjAzMDJFMDNBRQotOjEwNDgzMDAwMTIxNEE2OTA3Rjk4RTA1NEZFRjA1M0E4RkExMjE2NjE2NQotOjEwNDg0MDAwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEZDRDBFMEZCRDAzNwotOjEwNDg1MDAwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDgyRDA4M0QwRjAyOAotOjAzNDg2MDAwRDBFMDMyNzMKLToxMDRBQTYwMEU0OTA3NjlCRjA5MDc2OUJFMEZGMDRGMEVGNjAwOEUwRTAKLToxMDRBQjYwMDI0MDhGOEU0RjY4MEVFOTA3Njk2RTA0NDA0RjA0NDA4ODQKLToxMDRBQzYwMEYwOTA4MDAzRjBFNEY1MThEMjM1RjUwRUY1MTBEMjM2RTUKLToxMDRBRDYwMDc1MTIxMTc1MTMyMkMyMzdDMjM5QzIzOEY1MTZGNTE0OEMKLTowQjRBRTYwMEY1MUFGNTBEQzIzQkMyM0NDMjNEMjI5OAotOjEwMzAwMDAwOTA3RkI2RTAyMEUxMDJDMjNERDIzNjIwMzYwMjQxNkUwQQotOjEwMzAxMDAwMzAzRDAyNDE2RTkwODAwN0UwNjAwNEQyMzY4MDAyQzJFQgotOjEwMzAyMDAwMzYyMDM2MDI0MTJFRDIzNUU0RjUxQTkwODAwNEUwRjVDMAotOjEwMzAzMDAwMTk3NDA4MjUwRUY4QTYxOTg1MTkxOEU1MTgyMEU3MDQ1MwotOjEwMzA0MDAwRDIzODgwMDJDMjM4MzAzODAyMjFENEU0RjUxNkU1MTlBRQotOjEwMzA1MDAwQjRGMDBDRDIzOTc1MDgwNDc1MDlGMDA1MEU4MDAyMDUyQwotOjEwMzA2MDAwMTZFNTE5NjRGNzcwM0RDMjM5RTUwRTI0RkU2MDE3MTRBOQotOjEwMzA3MDAwNjAyMjI0MDM3MDI5NzUwODA1NzUwOUY3RTRGNTBBRjUzRgotOjEwMzA4MDAwMEI3NTBFMDQ4MDIwNzUwODA2NzUwQUY3RTRGNTBCNzVCQwotOjEwMzA5MDAwMEUwNDgwMTI3NTA4MDc3NTBCRjc3NTBFMDQ4MDA3MTI3MQotOjEwMzBBMDAwNEREQTgwMDIwNTE2RTUxOTU0Rjg2NEY4NzAzQkMyMzUxNAotOjEwMzBCMDAwRTUxOTI0MDc2MDBDMjRGQzYwMDgyNDA1MjRGODUwMDY1OAotOjEwMzBDMDAwODAwOEQyM0E4MDA2QzIzQTgwMDJEMjNBNzUxQTAxMjBBQwotOjEwMzBEMDAwM0ExOTkwN0U4MDc0MEZGMEEzRTUxOUYwRTRBM0YwQTNGMQotOjEwMzBFMDAwRjA5MDdGQjc3NDA0RjA4MDAyMDUxNjIwMzk2REU1MTk2MQotOjEwMzBGMDAwNjRGNzYwNjdFNTFBNzA2M0U1MTg1NEYwNjRGMDcwNTk3RQotOjEwMzEwMDAwODUxODE5RjUwRUU1MTkyNDBGNjAxQjI0RkU2MDE3MjQ5RAotOjEwMzExMDAwRkQ2MDIyMTQ2MDFGMjQwNTcwMkY3NTA4MDMwNTBFODVCRAotOjEwMzEyMDAwMTgwOUQyMzc4MDI4NzUwODAyMDUwRTg1MTgwOTc1MTQwQwotOjEwMzEzMDAwMDFEMjM3ODAxOTc1MDgwNTA1MEU4NTE4MDlFNEY1MEFDRQotOjEwMzE0MDAwRjUwQjc1MEUwM0QyMzc4MDA1MTI0RERBQzIzNTMwMzVENgotOjEwMzE1MDAwMEE4NTA4MTM4NTE4MTI4MDAyMDUxNjg1MTgxOUU1MTZDOAotOjEwMzE2MDAwNjQwNDcwNjJGNTBFRTUxOTU0RjBGNTE5RjUxNTg1MTgyQgotOjEwMzE3MDAwMTlFNTE1MjQ3MDYwMTgyNEYwNjAxNDI0RjA2MDEwMjQwMAotOjEwMzE4MDAwRjA2MDFFMjRGMDYwMUEyNEYwNjAwNDI0NjA3MDI3RTVDQgotOjEwMzE5MDAwMTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDlEMjM3ODBBNgotOjEwMzFBMDAwMUFFNTE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5NzVBQgotOjEwMzFCMDAwMTQwMUQyMzc4MDA1MTI0RERBQzIzNTMwMzUwQTg1MTkyRgotOjEwMzFDMDAwMTM4NTE4MTI4MDAyMDUxNkU1MTZEMzk0MDU0MDU3MTI5MAotOjEwMzFEMDAwNEREQTgwNTIzMDM5MTdFNTBFNzAwQTg1MDgwOTc1MDhGNgotOjEwMzFFMDAwMDQwNTBFODA0MTc0MDgyNTBFRjhBNjE5ODAzODIwMzc5MgotOjEwMzFGMDAwMkFFNTBFQjQwMTBGODUwODBBODUwOTBCODUxMzA4ODU5OQotOjEwMzIwMDAwMTIwOTc1MEUwNEU1MTRCNDAxMUM4NTA4MEFFNEY1MEJENwotOjEwMzIxMDAwODUxMzA4ODUxMjA5NzUwRTA0ODAwQkU1MTRCNDAxMDZBOAotOjEwMzIyMDAwRTRGNTBCNzUwRTA0RTRGNTFBMzAzNTAyMDUwRUU1MEVEMwotOjEwMzIzMDAwRDM5NDAzNTAwMjAxMEJDMjM3RTRGNTBFRjUxMEMyMzZFOQotOjEwMzI0MDAwRDIzREY1MTQ3NDA4MjUxMEY4RTZGRjc0ODAyNTEwRjVCQQotOjEwMzI1MDAwODJFNDM0N0VGNTgzRUZGMDc0MDgyNTEwRjhFNEY2MDU3NwotOjBGMzI2MDAwMTBFNTEwQjQwNERFOTA3RkI3NzQwNEYwMDEwQjIyNjgKLTowQzREREEwMEMyMzdFNEY1MEVGNTEwQzIzNkY1MTQyMkM1Ci06MTA0MDAwMDBFNTExRDM5NDAwNTAwMjIxMDY5MDc2ODlFMEMzOTQwODBDCi06MTA0MDEwMDA0MDAyMjEwNjc0NDAyNTBGRjU4MkU0MzQ3RUY1ODNFMEVBCi06MTA0MDIwMDBGNTE3RTUwRDYwMEU5MDgwMDVFNTE3RjA5MDc2ODlFMEI0Ci06MTA0MDMwMDAwNEYwMDFEQUU1MTcxMjM3Rjk0MEMxMDI0MDY3MDU0MDg0Ci06MTA0MDQwMDA3QTA2NDA5ODA3NDBDMTBDNDBDMTBENDBDNzBGNDBDQkQ1Ci06MTA0MDUwMDBGNjQwQ0JGODQwQ0JGQTQwQ0JGQjQwQ0JGQzQwQ0JGRTRDCi06MTA0MDYwMDA0MENCRkYwMDAwNDBEQTkwN0U0MUUwOTA4MDA1RjA5MDY4Ci06MTA0MDcwMDA3Njg5RTAwNEYwNzUxMTAxODA2MDkwN0U0MUUwOTA4MEM3Ci06MTA0MDgwMDAwNUYwOTA3RTQyRTA5MDgwMDVGMDkwNzY4OUUwMDRGMEEzCi06MTA0MDkwMDBFMDA0RjA3NTExMDE4MDQyOTA3RTQxRTA5MDgwMDVGMENGCi06MTA0MEEwMDA5MDdFNDJFMDkwODAwNUYwOTA3RTQzRTA5MDgwMDVGMEE1Ci06MTA0MEIwMDA5MDc2ODlFMDA0RjBFMDA0RjBFMDA0RjA3NTExMDE4MEVFCi06MTA0MEMwMDAxOUQyM0JEMjNDODAxM0QyM0I4MDBGOTA4MDA1RTUxNzdDCi06MTA0MEQwMDBGMDkwNzY4OUUwMDRGMDc1MTEwMTIwM0IwNDA1MEQ4MDE1Ci06MTA0MEUwMDAxRjMwM0MxQzkwN0U0MUUwOTA4MDA1RjA5MDdFNDJFMEM1Ci06MTA0MEYwMDA5MDgwMDVGMDkwNzY4OUUwMDRGMEUwMDRGMDc1MTEwMUZECi06MTA0MTAwMDAwNTBGMTUxMTAxMDBFNTExNzAxMEMyMzNGNTBERjUwRjAzCi06MEI0MTEwMDA5MDdGQzc3NDA0RjBDMjNCQzIzQzIyNDkKLToxMDRDMjkwMDkwN0ZENkUwMzBFNzEyRTA0NDAxRjA3RjE0N0UwMDEyNTUKLTowQTRDMzkwMDREOUQ5MDdGRDZFMDU0RkVGMDIyNUUKLToxMDRCN0YwMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDQyMDRFMDQ0NkMKLToxMDRCOEYwMDAyRjA3RkRDN0UwNTEyNEQ5RDkwN0ZENkUwNTRGN0YwNEEKLTowNTRCOUYwMEUwNDQwNEYwMjJENwotOjEwNEQ5RDAwOEUzNThGMzZFNTM2MTUzNkFFMzU3MDAyMTUzNTRFNjBDQgotOjA3NERBRDAwMDUxMjE0ODU4MEVFMjJCRgotOjEwNEE1NTAwRTRGRTc1MURGRjc1MUUwNTc1MUYxMkFCMURBQTFFQTk2NwotOjEwNEE2NTAwMUY5MDAwMDExMjM2QUI2NDAyNzAyRkNERUVDRDBFRUQxNgotOjEwNEE3NTAwNkY3MDAxMjI5MDAwMDIxMjM3MEU4NUYwMUJGNTFDNjI0MwotOjEwNEE4NTAwMUJFNTFCNjIxQ0U1MUM2MjFCMjlGREU1MUIzQUM5RURGNAotOjEwNEE5NTAwQzk3NTFERkZGNTFFODkxRjgwQzE3QjAwN0EwMDc5MDA0RAotOjAxNEFBNTAwMjJFRQotOjA0MTc5NDAwOEQyOThCMkFFNgotOjEwMTc5ODAwMTI0QTU1RUE0OTYwNTcxMjM2OTI3RTAwMjlGRkVFM0FGRQotOjEwMTdBODAwQzlFRkM5NzUyQkZGRjUyQzg5MkRBQjJCQUEyQ0E5MkRCOAotOjEwMTdCODAwOTAwMDAxMTIzNkFCRkY2NDA0NjAwNUVGNjQwNTcwMkVEQgotOjEwMTdDODAwRUZCNDA0MTU5MDAwMDIxMjM2QUI2NTI5NzAwQjkwMDAzNwotOjEwMTdEODAwMDMxMjM2QUI2NTJBNzAwMTIyMTIzNjkyN0UwMDI5RkY2OQotOjEwMTdFODAwRUUzQUM5RUZDOTc1MkJGRkY1MkM4OTJEODBCQzdCMDAxQgotOjA0MTdGODAwN0EwMDc5MDBGQQotOjAxMTdGQzAwMjJDQQotOjAyNDdCNzAwOEYyRTQzCi06MTA0N0I5MDBFNEY1MkY3NTMwRkY3NTMxMDc3NTMyMUFBQjMwQUEzMTIwCi06MTA0N0M5MDBBOTMyOTAwMDAxMTIzNkFCQjQwMzFGQUYyRjA1MkZFRkFBCi06MTA0N0Q5MDA2NTJFNzAwMTIyMTIzNjkyN0UwMDI5RkZFRTNBQzlFRjRBCi06MTA0N0U5MDBDOTc1MzBGRkY1MzE4OTMyODBEMjdCMDA3QTAwNzkwMEIyCi06MDE0N0Y5MDAyMjlECi06MTAwNTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODExMDEwMDAxMDEwMkZGCi06MTAwNTEwMDAwMDAxMDkwMjA4MDIwNTAxMDA4MDMyMDkwNDAwMDAwMDAwCi06MTAwNTIwMDAwMTAxMDAwMDBBMjQwMTAwMDE1NjAwMDIwMTAyMEMyNDBFCi06MTAwNTMwMDAwMjAxMDEwMTAwMDIwMDAwMDAwMDBEMjQwNjA1MDEwMjc1Ci06MTAwNTQwMDAwMzAwMDAwMDAwMDAwMDA5MjQwMzAyMDQwMzAwMDUwMDZBCi06MTAwNTUwMDAwQzI0MDIwMzA1MDIwMDA2MDAwMDAwMDAxNTI0MDYwNjE0Ci06MTAwNTYwMDAwMzAyMDAwMDAzMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDc0Ci06MTAwNTcwMDAwMDA5MjQwMzA0MDEwMTAwMDYwMDA5MDQwMTAwMDAwMTMwCi06MTAwNTgwMDAwMjAwMDAwOTA0MDEwMTAyMDEwMjAwMDAwNzI0MDEwMTI4Ci06MTAwNTkwMDAwMDAxMDAxMTI0MDIwMTAyMDIxMDAzNDRBQzAwODBCQkUwCi06MTAwNUEwMDAwMDAwNzcwMTA5MDUwQTA1ODQwMTAxMDA4RjA3MjUwMTc0Ci06MTAwNUIwMDAwMTAwMDAwMDA5MDU4RjAxMDMwMDAxMDUwMDA5MDQwMTg1Ci06MTAwNUMwMDAwMjAyMDEwMjAwMDAwNzI0MDEwMTAwMDEwMDExMjQwMkJGCi06MTAwNUQwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTQ5Ci06MTAwNUUwMDAwQTA1NDYwMjAxMDA4RjA3MjUwMTAxMDAwMDAwMDkwNUU4Ci06MTAwNUYwMDA4RjAxMDMwMDAxMDUwMDA5MDQwMjAwMDAwMTAyMDAwMDUwCi06MTAwNjAwMDAwOTA0MDIwMTAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMEE1Ci06MTAwNjEwMDAwRTI0MDIwMTA2MDIxMDAyNDRBQzAwODBCQjAwMDkwNTUyCi06MTAwNjIwMDA4QzA1NEMwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNEFFCi06MTAwNjMwMDAwMjAyMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMEUyNDRGCi06MTAwNjQwMDAwMjAxMDYwMzE4MDI0NEFDMDA4MEJCMDAwOTA1OEMwNUJBCi06MTAwNjUwMDA3MjAzMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDIwM0UzCi06MTAwNjYwMDAwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDIwMTFECi06MTAwNjcwMDAwMjAyMTAwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU4QzI2Ci06MTAwNjgwMDAwNTg0MDEwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMkExCi06MTAwNjkwMDAwNDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMkVBCi06MTAwNkEwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTc4Ci06MTAwNkIwMDA4QzA1NDYwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDI0Ci06MTAwNkMwMDAwMzAwMDAwMTAxMDAwMDA5MjQwMTAwMDEwOTAwMDEwNEU4Ci06MTAwNkQwMDAwOTA0MDQwMDAyMDEwMzAwMDAwNzI0MDEwMDAxMjQwMEIyCi06MTAwNkUwMDAwNjI0MDIwMTA3MDAwOTI0MDMwMjA4MDEwNzAxMDAwNjhECi06MTAwNkYwMDAyNDAyMDIwOTAwMDkyNDAzMDEwQTAxMDkwMTAwMDkwNTc1Ci06MTAwNzAwMDAwMTAyMDQwMDAwMDAwMDA1MjUwMTAxMDcwOTA1ODEwMjFFCi06MTAwNzEwMDAwNDAwMDAwMDAwMDUyNTAxMDEwQTA0MDMwOTA0MTgwMzcwCi06MTAwNzIwMDA0NTAwNkQwMDYxMDA2NzAwNjkwMDYzMDAyMDAwNDcwMDFDCi06MTAwNzMwMDA2RDAwNjIwMDQ4MDAyMjAzNDUwMDZEMDA2MTAwNjcwMDAzCi06MTAwNzQwMDA2OTAwNjMwMDIwMDA0NTAwNEQwMDQ5MDAyMDAwMzYwMDhDCi06MTAwNzUwMDA3QzAwMzIwMDIwMDA2RDAwMkEwMzQzMDA2RjAwNkUwMDExCi06MTAwNzYwMDA2NjAwNjkwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDJFCi06MTAwNzcwMDA2RjAwNkUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDZDCi06MTAwNzgwMDA2NzAwMjIwMzQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDc1Ci06MTAwNzkwMDA2MTAwNjMwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFCi06MDYwN0EwMDA2RTAwNjcwMDAwMDA3RQotOjEwMTQ4NTAwNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjk3QQotOjAxMTQ5NTAwMjIzNAotOjEwMTQ5NjAwOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJFMAotOjEwMTRBNjAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwOERFMEMwRTBEQwotOjEwMTRCNjAwOENFMEMwRTBDMDgyQzA4MzA1ODZDMDg0QzA4NTdEMDAwNAotOjEwMTRDNjAwOTA3RkUzNzQ3QkYwQTM3NDgwRjA3QzExOTA3Rjk5RTBBOQotOjEwMTRENjAwNTQ0MERDMDMwMjE0RjNCNDAwMTM5MDdGRTI3NDQwRjAyRQotOjEwMTRFNjAwOTA3RkU1RjA5MDdGRTI3NDAwRjAwMjE0RDI5MDc2OTAzRgotOjEwMTRGNjAwRTBCNDAxMTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjBDQgotOjEwMTUwNjAwOTA3RjZDMDIxNTU3QjQwMjEyOTA3NjhGRTAyREZEOTBGNQotOjEwMTUxNjAwN0ZFMjc0ODBGMDkwN0Y2QzAyMTU5NkI0MDMxMjkwNzY4OQotOjEwMTUyNjAwOEZFMDJERkQ5MDdGRTI3NDgwRjA5MDdGNkMwMjE1RTFENAotOjEwMTUzNjAwQjQwNDEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwOTBENwotOjEwMTU0NjAwN0Y2QzAyMTYxMDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTYxQQotOjEwMTU1NjAwNDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREYyN0RCOQotOjEwMTU2NjAwMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjRGRAotOjEwMTU3NjAwMDAwNTA1ODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjAyRAotOjEwMTU4NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERDQwMjE2NDBGQwotOjEwMTU5NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjA0NQotOjEwMTVBNjAwRjBGMERERUM3RDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0YxRQotOjEwMTVCNjAwOUJFMDU0MDRCNDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ1MQotOjEwMTVDNjAwODBGMDA1ODZGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEQQotOjA2MTVENjAwRjBGMEYwRjBGMEYwNkYKLToxMDE1REMwMEREQ0UwMjE2NDBGMEYwRjBGMERERkE3RDAyMDU4NjkwQ0IKLToxMDE1RUMwMDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNTg2MDQKLToxMDE1RkMwMDAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEREOEEKLToxMDE2MEMwMERDMDIxNjQwRjBGMEYwRjBGMEYwRERGODdEMDIwNTg2MUIKLToxMDE2MUMwMDkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1QzkKLToxMDE2MkMwMDg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwQjAKLToxMDE2M0MwMEYwRjBERERBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2N0UKLToxMDE2NEMwMEQwODNEMDgyRDBFMEZDRDBFMEZERDBFMEZFRDBFMEZGMzMKLTowNTE2NUMwMEQwRTBEMEQwMjIxNwotOjEwMTY2MTAwQzBEMEMwRTBDMDgyQzA4MzkwNzY3Q0UwOTA3RjZGRjBGNAotOjEwMTY3MTAwOTA3NjdERTA5MDdGNkZGMDkwNzY3RUUwOTA3RjZGRjBDNgotOjA5MTY4MTAwRDA4M0QwODJEMEUwRDBEMDIyNDkKLToxMDE2OEEwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMEMwODJDMDgzN0UKLToxMDE2OUEwMDA1ODZDMDg0QzA4NTkwNzY4N0UwRkZCRjAwMDMwMjE3RTUKLToxMDE2QUEwMDAxOTA3Rjk2RTA0NDgwRjA5MDdGRTI3NDgwRjA5MDdGMTIKLToxMDE2QkEwMDYyRTAwNTg2OTA3RkUyNzQwMEYwOTA3Rjk2RTA1NDdGQTYKLToxMDE2Q0EwMEYwOTA3RkUyNzQ4MEYwOTA3NjhFRTBCNDAxMDUwNTg2OTIKLToxMDE2REEwMDAyMTZGNkI0MDIwNTA1ODYwMjE2RUIwNTg2MDIxNkZCMEIKLToxMDE2RUEwMEUwRTBFMEUwRTBFMERGRjgwMjE2RkJFMEUwRTBFMERGNjcKLToxMDE2RkEwMEZBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2RDA4M0QwM0EKLTowQzE3MEEwMDgyRDBFMEZFRDBFMEZGRDBFMEQwRDAyMjgyCi06MTAxNzE2MDBDMDgyQzA4M0MwRTBFOEMwRTA3OEQxRTgxNEY4NzBGQjZFCi06MEExNzI2MDBEMEUwRjhEMEUwRDA4M0QwODIyMjlBCi06MTAwQ0E1MDA0MTcyMDEwMTQ1NzIwNTAwMDJDOTAwMDA0NTcyMEEwMDQyCi06MTAwQ0I1MDAwMTAyMDMwNDRENzIwRkQxMDBEMTAwMDAwMDAwMDAwMEI1Ci06MTAwQ0M1MDAyODI4MDkwMDRENzIxQzAxMDAwMTAyMDMwNDA1MDYwN0NFCi06MTAwQ0Q1MDAwODA5MEEwQjQxNzIyRTIyNDE3MjJGMjM0MTcyMzAyMERFCi06MTAwQ0U1MDA0MTcyMzEyMTYyRDI3MjNBMDAwMDAwMDAwMDAwMDAwMDFBCi06MTAwQ0Y1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCi06MTAwRDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAwRDE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAwRDI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCi06MTAwRDM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCi06MTAwRDQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCi06MTAwRDU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCi06MTAwRDY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCi06MTAwRDc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDEwMTAxMDEwMTY4Ci06MTAwRDg1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTRFCi06MTAwRDk1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTNFCi06MTAwREE1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTJFCi06MTAwREI1MDAwMTAxMDEwMTAxMDEwMTAxMDIwMjAyMDIwMjAyMDIwMjE2Ci06MTAwREM1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkZFCi06MTAwREQ1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkVFCi06MTAwREU1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkRFCi06MTAwREY1MDAwMjAyMDIwMjAyMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0MzCi06MTAwRTA1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0FECi06MTAwRTE1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzlECi06MTAwRTI1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzhECi06MTAwRTM1MDAwMzAzMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDZGCi06MTAwRTQ1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDVECi06MTAwRTU1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDRECi06MTAwRTY1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDNECi06MTAwRTc1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTFECi06MTAwRTg1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTBECi06MTAwRTk1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNUZECi06MTAwRUE1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDYwNkVCCi06MTAwRUI1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkNECi06MTAwRUM1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkJECi06MTAwRUQ1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkFECi06MTAwRUU1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDcwNzA3MDgwODk2Ci06MTAwRUY1MDAwODA5MDkwOTBBMEEwQTBCMEIwQjBDMEMwQzBEMEQwRDQwCi06MTAwRjA1MDAwRTBFMEUwRjBGMEYxMDEwMTAxMTExMTExMjEyMTIxM0Q5Ci06MTAwRjE1MDAxMzEzMTQxNDE0MTUxNTE1MTYxNjE2MTcxNzE3MTgxODc0Ci06MTAwRjI1MDAxODE5MTkxOTE5MUExQTFBMUExQjFCMUIxQjFDMUMxQzE4Ci06MTAwRjM1MDAxQzFEMUQxRDFEMUUxRTFFMUUxRjFGMUYxRjIwMjAyMEM4Ci06MTAwRjQ1MDAyMTIxMjEyMjIyMjIyMzIzMjQyNDI1MjUyNjI2MjcyNzYxCi06MTAwRjU1MDAyODI4MjkyOTJBMkEyQjJCMkMyQzJEMkQyRTJFMkYyRkQ0Ci06MTAwRjY1MDAzMDMwMzEzMTMyMzIzMzMzMzQzNDM1MzUzNjM2MzczNzQ0Ci06MTAwRjc1MDAzODM4MzkzOTNBM0EzQjNDM0QzRTNGNDA0MTQyNDM0NDlCCi06MTAwRjg1MDA0NTQ2NDc0ODQ5NDk0QTRCNEI0QzRENEU0RjUwNTE1MkE3Ci06MTAwRjk1MDA1MzU0NTU1NTU2NTY1NzU3NTg1QTVCNUQ1RTVGNjE2MkI3Ci06MTAwRkE1MDA2MzY0NjU2NjY3Njg2OTZBNkI2QzZENkY3MTcyNzM3NDhCCi06MTAwRkI1MDA3NTc2Nzc3ODc5N0E3QjdDN0U4MDAxMzcwMTAxMzgwMEY4Ci06MTA0QjI4MDBFNDkwNzIzNkYwQTNGMDkwN0Y5N0UwNTRGQkYwRTQ5MEE1Ci06MTA0QjM4MDA3MjMzRjA5MDcyMzJGMDkwNzIwMTA0RjBFNDkwNzIzM0E0Ci06MTA0QjQ4MDBGMDkwNzIzMkYwOTA3MjAxMDRGMDkwN0Y5N0UwNDQwNDg0Ci06MDI0QjU4MDBGMDIyNDkKLToxMDMyNkYwMDkwNzYxOEUwRkY2NDA1NzA0MjkwNzVBQkUwQjQwMTE5RDkKLToxMDMyN0YwMDkwNzIzNzc0MDFGMEU0OTA4MDIwRjA5MDgwMzFGMDkwREMKLToxMDMyOEYwMDgwMjhGMDkwODAzOUYwODAyMkU0OTA3MjM3RjA5MDc1QUEKLToxMDMyOUYwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNzEKLToxMDMyQUYwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNTIKLToxMDMyQkYwMDgxOTk5MDcyMzk3NDA0RjA5MDcyMzlFMEZGMjRGRTkwNzYKLToxMDMyQ0YwMDcyMDRGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1QkYKLToxMDMyREYwMDgzRTA2NDAxNzA1NDkwNzIzNjA0RjA5MDcyMDRFMEZGNDIKLToxMDMyRUYwMDI0RkQ2MDI4MjRGRTYwMjQyNDAzMjRGQjUwMDQ2MDFDNkEKLToxMDMyRkYwMDgxOEM3NDIwMkZGNTgyRTQzNDgwRjU4M0U0RjA3NDI4RjgKLToxMDMzMEYwMDJGRjU4MkU0MzQ4MEY1ODNFNEYwODE4QzkwNzIwNEUwMzEKLToxMDMzMUYwMEZGMjQzMEY1ODJFNDM0ODBGNTgzRTRGMDc0MzgyRkY1MjAKLToxMDMzMkYwMDgyRTQzNDgwRjU4M0U0RjA4MThDRTQ5MDcyMzZGMDkwN0YKLToxMDMzM0YwMDcyMzlFMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzOTMKLToxMDMzNEYwMEUwRkY3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMjgKLToxMDMzNUYwMDAyNzQzQkYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwQUEKLToxMDMzNkYwMDA0OTA3MjAyRjBFRjRFNzAwMjgxMzVFRjY0ODA0RTcwNjAKLToxMDMzN0YwMDAyODEzNUVGRjhFNDkwNzUwREYwRTg5MDc1MENGMDkwNDAKLToxMDMzOEYwMDcyMzRFMDc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNDkKLToxMDMzOUYwMEUwRkY5MDcyMDJGMDkwNzUwREUwMkZGMDkwNzUwQ0UwNDkKLToxMDMzQUYwMDM0MDBGMEUwRkVBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5NDQKLToxMDMzQkYwMEY4RDMxMjM3OTU0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2MDQKLToxMDMzQ0YwMEYwOTA3NTBERTAyNDJBRjA5MDc1MENFMDM0NUFGMEUwN0YKLToxMDMzREYwMEZFQTNFMDc4MDVDRUEyRTcxM0NFMTNEOEY4RkY5MDc1QzEKLToxMDMzRUYwMDBDRUVGMEEzRUZGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0NkQKLToxMDMzRkYwMEQyRUU2NDgwOTQ4MjQwMEE5MDcyMkM3NDAyRjBBMzc0MEYKLToxMDM0MEYwMEQyRjBDMzkwNzIyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzNTcKLToxMDM0MUYwMEYwOTA3MjJDRTBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1QzAKLToxMDM0MkYwMDgzRTA5MDcyMDJGMDkwNzIwNEUwRkYyNEZENjAyRDI0N0YKLToxMDM0M0YwMEZFNjAyOTI0MDMyNEZCNTAwNDYwMjE4MDQwOTA3MjAyMTcKLToxMDM0NEYwMEUwRkU3NDIwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDI4Q0IKLToxMDM0NUYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwODAyMTkwNzIwMkUwNDQKLToxMDM0NkYwMEZGOTA3MjA0RTBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGQTAKLToxMDM0N0YwMEYwNzQzODJFRjU4MkU0MzQ4MEY1ODNFRkYwOTA3MjM5RDIKLTowQjM0OEYwMEUwMDRGMEUwNjQwQTYwMDI0MUM3MjI4NAotOjEwMzQ5QTAwOTA3NjE4RTBGRkI0MDUyMzkwNzIzN0UwNzAxRDkwNzU5RQotOjEwMzRBQTAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA2NAotOjEwMzRCQTAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI0NQotOjEwMzRDQTAwQzE5MTkwNzIzNkUwNjAwMkMxOTE5MDc2NDBFMDcwMzEwRAotOjEwMzREQTAwOTA3MjAzNzQwM0YwOTA3MjAzRTBGRjc1RjAwQUE0MjQ1QgotOjEwMzRFQTAwQUFGNTgyRTQzNDc1RjU4M0UwRkU5MDcyMjlFMEZERUVEOAotOjEwMzRGQTAwNkQ2MDBFRUZDMzk0MEE1MDA4OTA3MjAzRTAwNEYwODBFNgotOjEwMzUwQTAwRDU5MDcyMzk3NDA0RjA5MDc2NDBFMDcwMDg5MDcyMDM5NgotOjEwMzUxQTAwRTA5MDcyMzlGMDkwNzIzOUUwRkQyNEZFOTA3MjJBRjA0MAotOjEwMzUyQTAwRUQ3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0UwRkY2NQotOjEwMzUzQTAwN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjAyNzRBNAotOjEwMzU0QTAwODBGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MDA0OTA1QQotOjEwMzU1QTAwNzIwMkYwRUY0RTcwMDJDMTFCRUY2NDgwNEU3MDAyQzExRQotOjEwMzU2QTAwMUJFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjBFRDc1RjAyRQotOjEwMzU3QTAwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwRkY5MDcyMDI2NAotOjEwMzU4QTAwRjA5MDc1MERFMDJGRjA5MDc1MENFMDM0MDBGMEUwRkUzRAotOjEwMzU5QTAwQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOUY4RDMxMjM3OTVCMAotOjEwMzVBQTAwNDAwQTkwNzUwQzc0QTVGMEEzNzRENkYwOTA3NTBERTBERQotOjEwMzVCQTAwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMEZFQTNFMDc4MDU3NgotOjEwMzVDQTAwQ0VBMkU3MTNDRTEzRDhGOEZGOTA3NTBDRUVGMEEzRUY1NgotOjEwMzVEQTAwRjA5MDcyMkNFRUYwQTNFRkYwRDM5NEQyRUU2NDgwOTRDNAotOjEwMzVFQTAwODI0MDBBOTA3MjJDNzQwMkYwQTM3NEQyRjBDMzkwNzJEMwotOjEwMzVGQTAwMkNFMDY0ODA5NDgwNTAwNEU0RjBBM0YwOTA3MjJDRTBGNAotOjEwMzYwQTAwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNTgzRTA5MDcyMDI2QQotOjEwMzYxQTAwRjA5MDcyMkFFMEZGMjRGRDYwMkQyNEZFNjAyOTI0MDMyNQotOjEwMzYyQTAwMjRGQjUwMDQ2MDIxODA0MDkwNzIwMkUwRkU3NDIwMkYzNwotOjEwMzYzQTAwRjU4MkU0MzQ4MEY1ODNFRUYwNzQyODJGRjU4MkU0MzRDMQotOjEwMzY0QTAwODBGNTgzRUVGMDgwMjE5MDcyMDJFMEZGOTA3MjJBRTAwQQotOjEwMzY1QTAwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkYwNzQzODJFRjVEOQotOjEwMzY2QTAwODJFNDM0ODBGNTgzRUZGMDkwNzY0MEUwNzAwNjkwNzI0MQotOjEwMzY3QTAwMzk3NDBBRjA5MDcyMzlFMDA0RjBFMEMzOTQwQTUwMDJGNwotOjA4MzY4QTAwQTExMUU0OTA3NjQwRjAyMjRBCi06MDQ0RTBCMDAxMjE3MzAyMjI4Ci06MTA0OUFFMDA5MDc2NDY3NDgwRjBFNEEzRjBBM0YwQTNGMEEzRjBBM0Y2Ci06MTA0OUJFMDBGMEEzRjBBM0YwQTNGMEEzNzQ4MEYwRTRBM0YwQTNGMEFGCi06MTA0OUNFMDBBM0YwQTNGMEEzRjBBM0YwQTM3NDQwRjBFNEEzRjBBMzJDCi06MTA0OURFMDA3NDQwRjBFNEEzRjBBM0YwQTNGMEEzRjBBM0YwQTNGMENGCi06MTA0OUVFMDBBMzc0NDBGMEU0QTNGMEEzNzQ0MEYwRTRBM0YwQTNGMEFBCi06MDU0OUZFMDBBM0YwQTNGMDIyNkMKLToxMDBGQzYwMEU0RkY3NDQ2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDIwNjAKLToxMDBGRDYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ0RTJGRjU4MkU0MkIKLToxMDBGRTYwMDM0NzZGNTgzRTBGRTc0MzAyRkY1ODJFNDM0ODBGNTgzQTEKLTowNjBGRjYwMEVFRjAwRkJGMDhDQzc1Ci06MDEwRkZDMDAyMkQyCi06MTA0QUYxMDBFNEZGNzQ1NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyOEUyCi06MTA0QjAxMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NUUyRkY1ODJFNEI0Ci06MTA0QjExMDAzNDc2RjU4M0UwRkU3NDM4MkZGNTgyRTQzNDgwRjU4MzMyCi06MDY0QjIxMDBFRUYwMEZCRjA4Q0MwRQotOjAxNEIyNzAwMjI2QgotOjEwMTczMDAwQzA4MkMwODNDMEUwRThDMEUwNzg3OEU4MTRGODcwRkJBRAotOjBBMTc0MDAwRDBFMEY4RDBFMEQwODNEMDgyMjI4MAotOjAzMDA0MzAwMDI0OTAwNkYKLToxMDQ5MDAwMDAyMkZFNzAwMDIzRDQ3MDAwMjREQjQwMDAyNEM0MzAwNzUKLToxMDQ5MTAwMDAyNEJFOTAwMDIyRkZGMDAwMjRDNUIwMDAyNEMwQTAwMzAKLToxMDQ5MjAwMDAyNEM3MjAwMDI0QjVBMDAwMjRDODkwMDAyNENBMDAwNUIKLToxMDQ5MzAwMDAyNENCNzAwMDI0Q0NFMDAwMjRDRTUwMDAyNENGQzAwRDkKLToxMDQ5NDAwMDAyNEQxMzAwMDI0RDJBMDAwMjRENDEwMDAyNEQ1ODAwNTUKLTowODQ5NTAwMDAyNEQ2RjAwMDI0RDg2MDBDQwotOjEwMUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQotOjEwMUI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQotOjEwMUI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQotOjEwMUI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQotOjEwMUI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQotOjEwMUI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQotOjEwMUJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQotOjEwMUJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQotOjEwMUJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQotOjEwMUJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQotOjEwMUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQotOjEwMUJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQotOjEwMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAotOjEwMUMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAotOjEwMUMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAotOjEwMUMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAotOjEwMUM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAotOjEwMUM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAotOjEwMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAotOjEwMUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAotOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAotOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAotOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAotOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAotOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAotOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAotOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAotOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAotOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMwotOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMwotOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMwotOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMwotOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MwotOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MwotOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MwotOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MwotOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MwotOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MwotOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMwotOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMwotOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMwotOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMwotOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMwotOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMwotOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgotOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgotOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgotOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgotOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgotOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgotOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgotOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgotOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgotOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgotOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgotOjBFMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Ci06MTAxRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Ci06MTAxRUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Ci06MTAxRURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Ci06MTAxRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Ci06MTAxRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Ci06MTAxRjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCi06MTAxRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCi06MTAxRjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCi06MDIxRjNFMDAwMDAwQTEKLToxMDFGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKLToxMDFGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKLToxMDFGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKLToxMDFGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKLToxMDFGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKLToxMDFGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKLToxMDFGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKLToxMDFGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKLToxMDFGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKLToxMDFGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKLToxMDFGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKLToxMDFGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKLToxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKLToxMDIwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKLToxMDIwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKLToxMDIwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKLToxMDIwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKLToxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKLToxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKLToxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKLToxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKLToxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKLToxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKLToxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKLToxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKLToxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLToxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKLToxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKLToxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKLToxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKLToxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKLToxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKLToxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKLToxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKLToxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKLToxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKLToxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKLToxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKLToxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKLToxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKLToxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKLToxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKLToxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKLToxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKLToxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKLToxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKLToxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKLToxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKLToxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKLToxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKLToxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKLToxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKLToxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKLToxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKLToxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKLToxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKLToxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKLToxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKLToxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKLToxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKLToxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKLToxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKLToxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKLToxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKLToxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKLTowRTIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgotOjEwMjM3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgotOjEwMjM4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgotOjEwMjM5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgotOjEwMjNBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgotOjEwMjNCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgotOjEwMjNDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgotOjEwMjNERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgotOjEwMjNFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgotOjEwMjNGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgotOjEwMjQwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQotOjEwMjQxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQotOjEwMjQyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQotOjEwMjQzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQotOjEwMjQ0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQotOjEwMjQ1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQotOjEwMjQ2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQotOjEwMjQ3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQotOjEwMjQ4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQotOjEwMjQ5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQotOjEwMjRBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQotOjEwMjRCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQotOjEwMjRDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQotOjEwMjRERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQotOjEwMjRFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMjRGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMjUwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAotOjEwMjUxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAotOjEwMjUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAotOjEwMjUzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAotOjEwMjU0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAotOjEwMjU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAotOjEwMjU2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAotOjEwMjU3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAotOjEwMjU4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAotOjEwMjU5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAotOjEwMjVBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAotOjEwMjVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAotOjEwMjVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAotOjEwMjVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAotOjEwMjVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAotOjEwMjVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAotOjEwMjYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQwotOjEwMjYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQwotOjEwMjYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QwotOjEwMjYzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QwotOjEwMjY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QwotOjEwMjY1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QwotOjEwMjY2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QwotOjEwMjY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QwotOjEwMjY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQwotOjEwMjY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQwotOjEwMjZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQwotOjEwMjZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQwotOjEwMjZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQwotOjEwMjZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQwotOjBFMjZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAyNkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAyNzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECi06MTAyNzFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECi06MTAyNzJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECi06MTAyNzNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECi06MTAyNzRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECi06MTAyNzVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECi06MTAyNzZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECi06MTAyNzdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECi06MTAyNzhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECi06MTAyNzlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECi06MTAyN0FDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECi06MTAyN0JDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECi06MTAyN0NDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECi06MTAyN0RDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECi06MTAyN0VDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECi06MDUyN0ZDMDAwMDAwMDAwMDIyQjYKLTowNzE3NEEwMDkwN0ZDNTc0MDJGMDIyM0MKLToxMDE3NTEwMDkwN0VDMEUwOTA3NjQ1RjA5MDdFQzFFMDkwNzY0NEYwQjYKLToxMDE3NjEwMDkwN0VDMkUwOTA3NjQzRjBCNDAwMDMwMjE3Nzg5MDc2NDEKLToxMDE3NzEwMDE5NzQwM0YwMDIxNzhFOTA3NjQ0RTBCNEJCMDk5MDc2OTkKLToxMDE3ODEwMDE5NzQwMkYwMDIxNzhFOTA3NjE5NzQwMUYwOTA3NjQyNjYKLTowMzE3OTEwMEU0RjAyMjVGCi06MDMwMDAwMDAwMjQ2QjlGQwotOjBDNDZCOTAwNzg3RkU0RjZEOEZENzU4MTM4MDI0NzAwRDgKLToxMDM2OTIwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyMzYKLTowOTM2QTIwMEUzMjI4OTgyOEE4M0U0OTMyMjY5Ci06MTAzNkFCMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MEQ0Ci06MTAzNkJCMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjFFCi06MEQzNkNCMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMjM4Ci06MTAzNkQ4MDBDMkQ1RUMzMEU3MDlCMkQ1RTRDMzlERkRFNDlDRkNFRTBECi06MTAzNkU4MDAzMEU3MTVCMkQ1RTRDMzlGRkZFNDlFRkUxMjM4MUZDMzJFCi06MTAzNkY4MDBFNDlERkRFNDlDRkM4MDAzMTIzODFGMzBENTA3QzNFNDI5Ci06MDYzNzA4MDA5RkZGRTQ5RUZFMjI3QgotOjEwMzcwRTAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBGOQotOjEwMzcxRTAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkVENgotOjEwMzcyRTAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODMxQwotOjA4MzczRTAwRTk5M0Y1RjBBM0U5OTMyMkUxCi06MTAzNzQ2MDBFODhGRjBBNENDOEJGMEE0MkNGQ0U5OEVGMEE0MkNGQzIyCi06MTAzNzU2MDA4QUYwRURBNDJDRkNFQThFRjBBNENEQThGMDhCRjBBNEEwCi06MTAzNzY2MDAyRENDMzgyNUYwRkRFOThGRjBBNDJDQ0QzNUYwRkNFQkZGCi06MTAzNzc2MDA4RUYwQTRGRUE5RjBFQjhGRjBBNENGQzVGMDJFQ0QzOUM0Ci06MEYzNzg2MDBGRUU0M0NGQ0VBQTQyRENFMzVGMEZERTQzQ0ZDMjIzMQotOjEwMzc5NTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRUM2NDgwQzhBQgotOjA2MzdBNTAwNjQ4MDk4NDVGMDIyNEIKLToxMDM3QUIwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNzQKLTowMTM3QkIwMDIyRUIKLTowQzM3QkMwMEVDRjBBM0VERjBBM0VFRjBBM0VGRjAyMjgwCi06MTAzN0M4MDBBODgyODU4M0YwRDA4M0QwODIxMjM3REYxMjM3REYxMkM4Ci06MTAzN0Q4MDAzN0RGMTIzN0RGRTQ3M0U0OTNBM0M1ODNDNUYwQzU4M0VECi06MTAzN0U4MDBDOEM1ODJDOEYwQTNDNTgzQzVGMEM1ODNDOEM1ODJDODRCCi06MDEzN0Y4MDAyMkFFCi06MTAzN0Y5MDBEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzVGCi06MTAzODA5MDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MDcyCi06MDYzODE5MDBFRkEzQTNBMzgwREY3MgotOjEwNDZDNTAwMDIwN0E2RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjI1RQotOjEwNDZENTAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNGNgotOjEwNDZFNTAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZDNQotOjEwNDZGNTAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMEM4RkU0N0VCQQotOjEwNDcwNTAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNCOQotOjEwNDcxNTAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTM4MAotOjEwNDcyNTAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FBQgotOjEwNDczNTAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkU2MwotOjAxMEZDNTAwMDAyQgotOjEwMzgxRjAwQkMwMDBCQkUwMDI5RUY4REYwODRGRkFERjAyMkU0Q0M4RAotOjEwMzgyRjAwRjg3NUYwMDhFRjJGRkZFRTMzRkVFQzMzRkNFRTlERUM1NgotOjEwMzgzRjAwOTg0MDA1RkNFRTlERkUwRkQ1RjBFOUU0Q0VGRDIyRUQ5QwotOjEwMzg0RjAwRjhGNUYwRUU4NDIwRDIxQ0ZFQURGMDc1RjAwOEVGMkZFNgotOjEwMzg1RjAwRkZFRDMzRkQ0MDA3OTg1MDA2RDVGMEYyMjJDMzk4RkRENwotOjA1Mzg2RjAwMEZENUYwRUEyMjc0Ci06MDAwMDAwMDFGRgotLyoKLVZFUlNJT049MS4wNC4wNjIKLURBVEU9MTYuMTAuMjAwMiAgCi0qLwotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19lbWk2Ml9sb2FkZXJbXSA9IHsKLSAgIDMsMHgwMDAwLDAsezB4MDIsMHgwMiwweDg3fSwKLSAgIDMsMHgwMDQzLDAsezB4MDIsMHgwNCwweDAwfSwKLSAgMTYsMHgwMTAwLDAsezB4ZTQsMHhmZiwweGZlLDB4YzIsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4LDB4MjAsMHg5MCwweDdmLDB4YWIsMHg3NCwweGZmLDB4ZjB9LAotICAxNiwweDAxMTAsMCx7MHg5MCwweDdmLDB4YTksMHhmMCwweDkwLDB4N2YsMHhhYSwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweDk1LDB4NzQsMHhjMH0sCi0gIDE2LDB4MDEyMCwwLHsweGYwLDB4OTAsMHg3ZiwweDllLDB4ZjAsMHg5MCwweDdmLDB4OTgsMHhmMCwweGU0LDB4OTAsMHg3ZiwweDk0LDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgwMTMwLDAsezB4OWQsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4OTMsMHhlMCwweDU0LDB4ZmN9LAotICAxNiwweDAxNDAsMCx7MHhmMCwweDkwLDB4N2YsMHg5YywweDc0LDB4MDMsMHhmMCwweGU0LDB4OTAsMHg3ZiwweDk2LDB4ZjAsMHg5MCwweDdmLDB4YWYsMHhlMH0sCi0gIDE2LDB4MDE1MCwwLHsweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgwZCwweGYwLDB4ZDIsMHhhZiwweDBmLDB4YmYsMHgwMCwweDAxfSwKLSAgMTYsMHgwMTYwLDAsezB4MGUsMHhiZSwweDA3LDB4ZjgsMHhiZiwweDA4LDB4ZjUsMHgyMCwweDIwLDB4NDIsMHg3NSwweDE0LDB4MDAsMHg3NSwweDEzLDB4MDB9LAotICAxNiwweDAxNzAsMCx7MHg3NSwweDEyLDB4MDAsMHg3NSwweDExLDB4MDAsMHg3ZiwweDQ4LDB4N2UsMHg5MiwweDdkLDB4MDAsMHg3YywweDAwLDB4YWIsMHgxNH0sCi0gIDE2LDB4MDE4MCwwLHsweGFhLDB4MTMsMHhhOSwweDEyLDB4YTgsMHgxMSwweGMzLDB4MTIsMHgwMywweGVkLDB4NTAsMHhkYiwweDIwLDB4MjAsMHhkOCwweDdhfSwKLSAgMTYsMHgwMTkwLDAsezB4MDAsMHg3OSwweDAwLDB4NzgsMHgwMCwweGU1LDB4MTQsMHgyNCwweDAxLDB4ZjUsMHgxNCwweGVhLDB4MzUsMHgxMywweGY1LDB4MTN9LAotICAxNiwweDAxYTAsMCx7MHhlOSwweDM1LDB4MTIsMHhmNSwweDEyLDB4ZTgsMHgzNSwweDExLDB4ZjUsMHgxMSwweDgwLDB4Y2EsMHgzMCwweDIwLDB4ZmQsMHgxMn0sCi0gIDE2LDB4MDFiMCwwLHsweDAxLDB4YzcsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSwKLSAgIDYsMHgwMWMwLDAsezB4MDIsMHhmMCwweGMyLDB4MjAsMHg4MCwweGU2fSwKLSAgIDEsMHgwMWM2LDAsezB4MjJ9LAotICAxNiwweDAxYzcsMCx7MHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4NWIsMHg2MCwweDYwLDB4MjQsMHgwMiwweDYwLDB4MDMsMHgwMiwweDAyLDB4ODUsMHg5MH0sCi0gIDE2LDB4MDFkNywwLHsweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1LDB4MGIsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgwYSwweDkwfSwKLSAgMTYsMHgwMWU3LDAsezB4N2YsMHhlZSwweGUwLDB4NzUsMHgxNSwweDAwLDB4ZjUsMHgxNiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDE1LDB4ZTV9LAotICAxNiwweDAxZjcsMCx7MHgxNiwweDQ1LDB4MTUsMHg3MCwweDAzLDB4MDIsMHgwMiwweDg1LDB4ZTQsMHg5MCwweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNH0sCi0gIDE2LDB4MDIwNywwLHsweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjLDB4MTIsMHgwMywweDEzLDB4YWYsMHgwYywweDdlfSwKLSAgMTYsMHgwMjE3LDAsezB4MDAsMHhlZiwweDI1LDB4MGIsMHhmNSwweDBiLDB4ZWUsMHgzNSwweDBhLDB4ZjUsMHgwYSwweGMzLDB4ZTUsMHgxNiwweDlmLDB4ZjV9LAotICAxNiwweDAyMjcsMCx7MHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGM3LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNX0sCi0gIDE2LDB4MDIzNywwLHsweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MCwweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1fSwKLSAgMTYsMHgwMjQ3LDAsezB4MTYsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgxNSwweGU1LDB4MTYsMHg0NSwweDE1LDB4NjAsMHgzMCwweGU0LDB4OTB9LAotICAxNiwweDAyNTcsMCx7MHg3ZiwweGM1LDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwY30sCi0gIDE2LDB4MDI2NywwLHsweDEyLDB4MDMsMHgyYiwweGFmLDB4MGMsMHg3ZSwweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1fSwKLSAgMTUsMHgwMjc3LDAsezB4MGEsMHhjMywweGU1LDB4MTYsMHg5ZiwweGY1LDB4MTYsMHhlNSwweDE1LDB4OWUsMHhmNSwweDE1LDB4ODAsMHhjYSwweGMzfSwKLSAgIDEsMHgwMjg2LDAsezB4MjJ9LAotICAxMiwweDAyODcsMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4MjksMHgwMiwweDAyLDB4Y2V9LAotICAxNiwweDAyOTMsMCx7MHgwMiwweDAxLDB4MDAsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn0sCi0gIDE2LDB4MDJhMywwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfSwKLSAgMTYsMHgwMmIzLDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9LAotICAxNiwweDAyYzMsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHgwNCwweDZlLDB4ZTQsMHg3ZX0sCi0gIDE2LDB4MDJkMywwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfSwKLSAgMTYsMHgwMmUzLDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9LAotICAxNiwweDAyZjMsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX0sCi0gIDE2LDB4MDMwMywwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfSwKLSAgMTYsMHgwMzEzLDAsezB4ZTUsMHgwYywweGZmLDB4ZTUsMHgwYiwweGY1LDB4ODIsMHhlNSwweDBhLDB4ZjUsMHg4MywweDc1LDB4OTIsMHg3ZSwweDc0LDB4YzB9LAotICAgOCwweDAzMjMsMCx7MHhmOCwweGUyLDB4MDgsMHhmMCwweGEzLDB4ZGYsMHhmYSwweDIyfSwKLSAgMTYsMHgwMzJiLDAsezB4OTAsMHg3ZiwweDk2LDB4ODUsMHg4MywweDkyLDB4YTgsMHg4MiwweDc5LDB4MDIsMHg5MCwweDAwLDB4MDAsMHhlMCwweGI0LDB4MDB9LAotICAxNiwweDAzM2IsMCx7MHgwZCwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NDQsMHg4MCwweGYwLDB4ZTUsMHgwY30sCi0gIDE2LDB4MDM0YiwwLHsweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmNSwweDI4LDB4ZTQsMHhhMiwweDQ3LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyfSwKLSAgMTYsMHgwMzViLDAsezB4NDYsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0NSwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ0LDB4MzN9LAotICAxNiwweDAzNmIsMCx7MHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDMsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MiwweDMzLDB4ZjIsMHg2OX0sCi0gIDE2LDB4MDM3YiwwLHsweGYyLDB4ZTQsMHhhMiwweDQxLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDAsMHgzMywweGYyLDB4NjksMHhmMiwweGEzfSwKLSAgIDMsMHgwMzhiLDAsezB4ZGYsMHhjMiwweDIyfSwKLSAgMTYsMHgwMzhlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4OTAsMHg3ZiwweGM0LDB4ZTQsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2Z9LAotICAxMSwweDAzOWUsMCx7MHhhYiwweDc0LDB4MDQsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgwM2E5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9LAotICAgOCwweDAzYjksMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgwM2MxLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZDB9LAotICAgNiwweDAzZDEsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDAzZDcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDEwLDB4ZjAsMHhkMH0sCi0gICA2LDB4MDNlNywwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4MDNlZCwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfSwKLSAgIDEsMHgwM2ZkLDAsezB4MjJ9LAotICAgMSwweDAzZmUsMCx7MHgzMn0sCi0gICAxLDB4MDNmZiwwLHsweDMyfSwKLSAgMTYsMHgwNDAwLDAsezB4MDIsMHgwMywweGE5LDB4MDAsMHgwMiwweDAzLDB4YzEsMHgwMCwweDAyLDB4MDMsMHg4ZSwweDAwLDB4MDIsMHgwNCwweDU4LDB4MDB9LAotICAxNiwweDA0MTAsMCx7MHgwMiwweDAzLDB4ZDcsMHgwMCwweDAyLDB4MDMsMHhmZSwweDAwLDB4MDIsMHgwMywweGZmLDB4MDAsMHgwMiwweDA0LDB4ODQsMHgwMH0sCi0gIDE2LDB4MDQyMCwwLHsweDAyLDB4MDQsMHg4NSwweDAwLDB4MDIsMHgwNCwweDg2LDB4MDAsMHgwMiwweDA0LDB4ODcsMHgwMCwweDAyLDB4MDQsMHg4OCwweDAwfSwKLSAgMTYsMHgwNDMwLDAsezB4MDIsMHgwNCwweDg5LDB4MDAsMHgwMiwweDA0LDB4OGEsMHgwMCwweDAyLDB4MDQsMHg4YiwweDAwLDB4MDIsMHgwNCwweDhjLDB4MDB9LAotICAxNiwweDA0NDAsMCx7MHgwMiwweDA0LDB4OGQsMHgwMCwweDAyLDB4MDQsMHg4ZSwweDAwLDB4MDIsMHgwNCwweDhmLDB4MDAsMHgwMiwweDA0LDB4OTAsMHgwMH0sCi0gICA4LDB4MDQ1MCwwLHsweDAyLDB4MDQsMHg5MSwweDAwLDB4MDIsMHgwNCwweDkyLDB4MDB9LAotICAxNiwweDA0NTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA4LDB4ZjAsMHhkMH0sCi0gICA2LDB4MDQ2OCwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4MDQ2ZSwwLHsweDAyLDB4MGEsMHgwMCwweDBmLDB4MDEsMHgwYywweDExLDB4MDQsMHgwZCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDEsMHgwMCwweDAwfSwKLSAgIDEsMHgwNDdlLDAsezB4MDB9LAotICAgNCwweDA0N2YsMCx7MHgwMiwweDE3LDB4MDAsMHgwMH0sCi0gICAxLDB4MDQ4MywwLHsweDAwfSwKLSAgIDEsMHgwNDg0LDAsezB4MzJ9LAotICAgMSwweDA0ODUsMCx7MHgzMn0sCi0gICAxLDB4MDQ4NiwwLHsweDMyfSwKLSAgIDEsMHgwNDg3LDAsezB4MzJ9LAotICAgMSwweDA0ODgsMCx7MHgzMn0sCi0gICAxLDB4MDQ4OSwwLHsweDMyfSwKLSAgIDEsMHgwNDhhLDAsezB4MzJ9LAotICAgMSwweDA0OGIsMCx7MHgzMn0sCi0gICAxLDB4MDQ4YywwLHsweDMyfSwKLSAgIDEsMHgwNDhkLDAsezB4MzJ9LAotICAgMSwweDA0OGUsMCx7MHgzMn0sCi0gICAxLDB4MDQ4ZiwwLHsweDMyfSwKLSAgIDEsMHgwNDkwLDAsezB4MzJ9LAotICAgMSwweDA0OTEsMCx7MHgzMn0sCi0gICAxLDB4MDQ5MiwwLHsweDMyfSwKLSAgMTYsMHgxMTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9LAotICAxNiwweDExMTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweDIwLDB4MDAsMHgwMSwweDAxLDB4MDMsMHhhMCwweDAwLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMn0sCi0gIDE2LDB4MTEyMCwwLHsweGZmLDB4MDAsMHgwMCwweDA0LDB4MDcsMHgwNSwweDgyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4MDIsMHgwMiwweDQwfSwKLSAgMTYsMHgxMTMwLDAsezB4MDAsMHgwMCwweDA0LDB4MDMsMHgwOSwweDA0LDB4MjYsMHgwMywweDQxLDB4MDAsMHg2ZSwweDAwLDB4NjMsMHgwMCwweDY4LDB4MDB9LAotICAxNiwweDExNDAsMCx7MHg2ZiwweDAwLDB4NzIsMHgwMCwweDIwLDB4MDAsMHg0MywweDAwLDB4NjgsMHgwMCwweDY5LDB4MDAsMHg3MCwweDAwLDB4NzMsMHgwMH0sCi0gIDE2LDB4MTE1MCwwLHsweDJjLDB4MDAsMHgyMCwweDAwLDB4NDksMHgwMCwweDZlLDB4MDAsMHg2MywweDAwLDB4MmUsMHgwMCwweDI4LDB4MDMsMHg0NiwweDAwfSwKLSAgMTYsMHgxMTYwLDAsezB4NjksMHgwMCwweDcyLDB4MDAsMHg2ZCwweDAwLDB4NzcsMHgwMCwweDYxLDB4MDAsMHg3MiwweDAwLDB4NjUsMHgwMCwweDIwLDB4MDB9LAotICAxNiwweDExNzAsMCx7MHg0NiwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg2ZCwweDAwLDB4NjUsMHgwMCwweDU3LDB4MDAsMHg2ZiwweDAwLDB4NzIsMHgwMH0sCi0gIDE2LDB4MTE4MCwwLHsweDZiLDB4MDAsMHg3MywweDAwLDB4MmEsMHgwMywweDQzLDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMCwweDY2LDB4MDAsMHg2OSwweDAwfSwKLSAgMTYsMHgxMTkwLDAsezB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDc0LDB4MDAsMHg2OSwweDAwLDB4NmYsMHgwMCwweDZlLDB4MDB9LAotICAxNiwweDExYTAsMCx7MHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MjIsMHgwM30sCi0gIDE2LDB4MTFiMCwwLHsweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDAsMHg3MiwweDAwLDB4NjYsMHgwMCwweDYxLDB4MDAsMHg2MywweDAwfSwKLSAgMTYsMHgxMWMwLDAsezB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDB9LAotICAgMiwweDExZDAsMCx7MHgwMCwweDAwfSwKLSAgIDAsMHgwMDAwLDEsezB9Ci19OwotLyogU291cmNlOiBFTUlMT0FELkhFWCAKLToxMDA0NkUwMDAyMEEwMDBGMDEwQzExMDQwRDAwMDAwMDAwNDEwMDAwRjMKLTowMTA0N0UwMDAwN0QKLToxMDAxQzcwMDkwN0ZFOUUwMjQ1QjYwNjAyNDAyNjAwMzAyMDI4NTkwNkYKLToxMDAxRDcwMDdGRUFFMDc1MEEwMEY1MEJBM0UwRkVFNEVFNDIwQTkwMjEKLToxMDAxRTcwMDdGRUVFMDc1MTUwMEY1MTZBM0UwRkVFNEVFNDIxNUU1OTcKLToxMDAxRjcwMDE2NDUxNTcwMDMwMjAyODVFNDkwN0ZDNUYwOTA3RkI0MjEKLToxMDAyMDcwMEUwMjBFM0Y5OTA3RkM1RTBGNTBDMTIwMzEzQUYwQzdFRjUKLToxMDAyMTcwMDAwRUYyNTBCRjUwQkVFMzUwQUY1MEFDM0U1MTY5RkY1M0EKLToxMDAyMjcwMDE2RTUxNTlFRjUxNTgwQzc5MDdGRUFFMDc1MEEwMEY1N0IKLToxMDAyMzcwMDBCQTNFMEZFRTRFRTQyMEE5MDdGRUVFMDc1MTUwMEY1QjEKLToxMDAyNDcwMDE2QTNFMEZFRTRFRTQyMTVFNTE2NDUxNTYwMzBFNDkwOEUKLToxMDAyNTcwMDdGQzVGMDkwN0ZCNEUwMjBFM0Y5OTA3RkM1RTBGNTBDMEYKLToxMDAyNjcwMDEyMDMyQkFGMEM3RTAwRUYyNTBCRjUwQkVFMzUwQUY1Q0QKLTowRjAyNzcwMDBBQzNFNTE2OUZGNTE2RTUxNTlFRjUxNTgwQ0FDMzU3Ci06MDEwMjg2MDAyMjU1Ci06MTAwM0E5MDBDMEUwQzA4M0MwODJEMjIwNTM5MUVGOTA3RkFCNzQwMTJCCi06MDgwM0I5MDBGMEQwODJEMDgzRDBFMDMyQzUKLToxMDAzOEUwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGQjEKLTowQjAzOUUwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJCQQotOjEwMDNDMTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDA0NAotOjA2MDNEMTAwODJEMDgzRDBFMDMyNkYKLToxMDAzRDcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwMjAKLTowNjAzRTcwMDgyRDA4M0QwRTAzMjU5Ci06MDEwM0ZFMDAzMkNDCi06MTAwNDU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA4RjBEMEE2Ci06MDYwNDY4MDA4MkQwODNEMEUwMzJENwotOjAxMDNGRjAwMzJDQgotOjAxMDQ4NDAwMzI0NQotOjAxMDQ4NTAwMzI0NAotOjAxMDQ4NjAwMzI0MwotOjAxMDQ4NzAwMzI0MgotOjAxMDQ4ODAwMzI0MQotOjAxMDQ4OTAwMzI0MAotOjAxMDQ4QTAwMzIzRgotOjAxMDQ4QjAwMzIzRQotOjAxMDQ4QzAwMzIzRAotOjAxMDQ4RDAwMzIzQwotOjAxMDQ4RTAwMzIzQgotOjAxMDQ4RjAwMzIzQQotOjAxMDQ5MDAwMzIzOQotOjAxMDQ5MTAwMzIzOAotOjAxMDQ5MjAwMzIzNwotOjA0MDQ3RjAwMDIxNzAwMDA2MAotOjEwMDEwMDAwRTRGRkZFQzIyMEQyRTg0M0Q4MjA5MDdGQUI3NEZGRjAxQQotOjEwMDExMDAwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0Y5NTc0QzBFMwotOjEwMDEyMDAwRjA5MDdGOUVGMDkwN0Y5OEYwRTQ5MDdGOTRGMDkwN0YyNQotOjEwMDEzMDAwOUQ3NEZGRjA5MDdGOTc3NEEwRjA5MDdGOTNFMDU0RkM0MwotOjEwMDE0MDAwRjA5MDdGOUM3NDAzRjBFNDkwN0Y5NkYwOTA3RkFGRTA5NgotOjEwMDE1MDAwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGMEZCRjAwMDEzQwotOjEwMDE2MDAwMEVCRTA3RjhCRjA4RjUyMDIwNDI3NTE0MDA3NTEzMDA3NQotOjEwMDE3MDAwNzUxMjAwNzUxMTAwN0Y0ODdFOTI3RDAwN0MwMEFCMTRFMwotOjEwMDE4MDAwQUExM0E5MTJBODExQzMxMjAzRUQ1MERCMjAyMEQ4N0FCQwotOjEwMDE5MDAwMDA3OTAwNzgwMEU1MTQyNDAxRjUxNEVBMzUxM0Y1MTMwRAotOjEwMDFBMDAwRTkzNTEyRjUxMkU4MzUxMUY1MTE4MENBMzAyMEZEMTIzQgotOjEwMDFCMDAwMDFDNzUwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQ2MQotOjA2MDFDMDAwMDJGMEMyMjA4MEU2RkYKLTowMTAxQzYwMDIyMTYKLToxMDExMDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MDEwMTAwMDEwMTAyMDMKLToxMDExMTAwMDAwMDEwOTAyMjAwMDAxMDEwM0EwMDAwOTA0MDAwMDAyRUYKLToxMDExMjAwMEZGMDAwMDA0MDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwOUMKLToxMDExMzAwMDAwMDAwNDAzMDkwNDI2MDM0MTAwNkUwMDYzMDA2ODAwRjgKLToxMDExNDAwMDZGMDA3MjAwMjAwMDQzMDA2ODAwNjkwMDcwMDA3MzAwQTcKLToxMDExNTAwMDJDMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI4MDM0NjAwOEEKLToxMDExNjAwMDY5MDA3MjAwNkQwMDc3MDA2MTAwNzIwMDY1MDAyMDAwNjgKLToxMDExNzAwMDQ2MDA3MjAwNjEwMDZEMDA2NTAwNTcwMDZGMDA3MjAwNEMKLToxMDExODAwMDZCMDA3MzAwMkEwMzQzMDA2RjAwNkUwMDY2MDA2OTAwNjUKLToxMDExOTAwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTAwRTYKLToxMDExQTAwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMjAzODMKLToxMDExQjAwMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzAwMDMKLToxMDExQzAwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjMKLTowMjExRDAwMDAwMDAxRAotOjEwMDMxMzAwRTUwQ0ZGRTUwQkY1ODJFNTBBRjU4Mzc1OTI3RTc0QzA2MwotOjA4MDMyMzAwRjhFMjA4RjBBM0RGRkEyMjYyCi06MTAwMzJCMDA5MDdGOTY4NTgzOTJBODgyNzkwMjkwMDAwMEUwQjQwMEJBCi06MTAwMzNCMDAwRDc0MDFGMDkwN0Y5N0UwNTQ3RkYwNDQ4MEYwRTUwQzUyCi06MTAwMzRCMDBGRjkwN0VDMEUwRjUyOEU0QTI0NzMzRjI2OUYyRTRBMjA1Ci06MTAwMzVCMDA0NjMzRjI2OUYyRTRBMjQ1MzNGMjY5RjJFNEEyNDQzMzg0Ci06MTAwMzZCMDBGMjY5RjJFNEEyNDMzM0YyNjlGMkU0QTI0MjMzRjI2OTk2Ci06MTAwMzdCMDBGMkU0QTI0MTMzRjI2OUYyRTRBMjQwMzNGMjY5RjJBMzUwCi06MDMwMzhCMDBERkMyMjJBQwotOjAzMDA0MzAwMDIwNDAwQjQKLToxMDA0MDAwMDAyMDNBOTAwMDIwM0MxMDAwMjAzOEUwMDAyMDQ1ODAwODcKLToxMDA0MTAwMDAyMDNENzAwMDIwM0ZFMDAwMjAzRkYwMDAyMDQ4NDAwNkYKLToxMDA0MjAwMDAyMDQ4NTAwMDIwNDg2MDAwMjA0ODcwMDAyMDQ4ODAwOUEKLToxMDA0MzAwMDAyMDQ4OTAwMDIwNDhBMDAwMjA0OEIwMDAyMDQ4QzAwN0EKLToxMDA0NDAwMDAyMDQ4RDAwMDIwNDhFMDAwMjA0OEYwMDAyMDQ5MDAwNUEKLTowODA0NTAwMDAyMDQ5MTAwMDIwNDkyMDA3NQotOjAzMDAwMDAwMDIwMjg3NzIKLTowQzAyODcwMDc4N0ZFNEY2RDhGRDc1ODEyOTAyMDJDRUQ0Ci06MTAwM0VEMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDY2Ci06MDEwM0ZEMDAyMkRECi06MTAwMjkzMDAwMjAxMDBFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjgwCi06MTAwMkEzMDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzZDCi06MTAwMkIzMDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjNCCi06MTAwMkMzMDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwNDZFRTQ3RTU5Ci06MTAwMkQzMDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzMwCi06MTAwMkUzMDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0Y3Ci06MTAwMkYzMDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTIyCi06MTAwMzAzMDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUQ5Ci06MDEwNDgzMDAwMDc4Ci06MDAwMDAwMDFGRgotLyoKLVZFUlNJT049MS4wLjIuMDAyCi1EQVRFPTEwLjAxLjIwMDIKLUVNSTI2XzYyCi0qLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9lbWk2Ml9md19zLmggYi9kcml2ZXJzL3VzYi9taXNjL2VtaTYyX2Z3X3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2VmMDVlOC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyX2Z3X3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDg4MzcgKzAsMCBAQAotLyoKLSAqIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgZnJvbSB0aHJlZSBkaWZmZXJlbnQgZmlsZXMsIHByb3ZpZGVkIGJ5IEVtYWdpYy4KLSAqLwotLyogZ2VuZXJhdGVkIFR1ZSBBcHIgMTUgMjE6NTk6NDIgRUVTVCAyMDAzICovCi0KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfZW1pNjJic1tdPXsKLSB7MTYsIDB4ODAxMCwgMCwgezB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhhYSwweDk5LDB4NTUsMHg2NiwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDcgfX0sCi0gezE2LCAweDgwMjAsIDAsIHsweDMwLDB4MDEsMHg2MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgzMCwweDAxLDB4MjAsMHgwMSwweDAwLDB4ODAsMHgzZiwweDJkIH19LAotIHsxNiwgMHg4MDMwLCAwLCB7MHgzMCwweDAwLDB4YzAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSB9fSwKLSB7MTYsIDB4ODA0MCwgMCwgezB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDEgfX0sCi0gezE2LCAweDgwNTAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDAwLDB4NTAsMHgwMCwweDU4LDB4MWEsMHg4MCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NDAsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MDkwLCAwLCB7MHgwMCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDQ4IH19LAotIHsxNiwgMHg4MGMwLCAwLCB7MHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODEwMCwgMCwgezB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODEzMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxNzAsIDAsIHsweDgwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxYTAsIDAsIHsweDAwLDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWUwLCAwLCB7MHg3ZiwweDEwLDB4MDAsMHgzNCwweDAwLDB4MGQsMHgwMCwweDAzLDB4NDAsMHgwMCwweGQwLDB4MDAsMHgzNCwweDAwLDB4MDUsMHgwMCB9fSwKLSB7MTYsIDB4ODFmMCwgMCwgezB4MDcsMHg0MCwweDAxLDB4ZDAsMHgwMCwweDc0LDB4MDAsMHgxZCwweDAwLDB4MDcsMHg0MCwweDAxLDB4ZDAsMHgwMCwweDc0LDB4MDAgfX0sCi0gezE2LCAweDgyMDAsIDAsIHsweDFkLDB4ODAsMHgwNywweGUwLDB4MDEsMHhiOCwweDAwLDB4NmUsMHgwMCwweDFiLDB4ODAsMHgwNiwweGUwLDB4MDEsMHgzOCwweDM3IH19LAotIHsxNiwgMHg4MjEwLCAwLCB7MHhjNCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4ODAsMHhmYiwweDMwLDB4MzYsMHhjOCB9fSwKLSB7MTYsIDB4ODIyMCwgMCwgezB4NGUsMHgwOSwweDAzLDB4ZmMsMHg4NCwweGZmLDB4MTAsMHgzYiwweGMwLDB4MGUsMHhjOCwweDA3LDB4MjIsMHg4MCwweGZmLDB4MjIgfX0sCi0gezE2LCAweDgyMzAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGM4LDB4MzMsMHg2ZSwweDAwLDB4ZmIsMHg4MCwweDNmLDB4MjAsMHgwZCwweGMyLDB4NTMsMHhkNCwweDgwIH19LAotIHsxNiwgMHg4MjQwLCAwLCB7MHhjYywweDNhLDB4M2YsMHgwMCwweDBjLDB4ZjEsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODI1MCwgMCwgezB4ODAsMHgwMCwweGVkLDB4NjAsMHhiZiwweDYwLDB4MjMsMHhmMCwweDBkLDB4ODIsMHgxMiwweDNjLDB4NjAsMHg4ZiwweDcwLDB4MjMgfX0sCi0gezE2LCAweDgyNjAsIDAsIHsweGYwLDB4MDgsMHg4OCwweDAyLDB4YTUsMHg0MCwweGJmLDB4ZDAsMHg2MywweGQ2LDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwYywweGJiIH19LAotIHsxNiwgMHg4MjcwLCAwLCB7MHg4MCwweDJlLDB4MjAsMHg4OCwweDhkLDB4MDIsMHhlNiwweDQwLDB4ODAsMHg2MCwweDJlLDB4MzAsMHgwYSwweGIxLDB4MTIsMHgyMCB9fSwKLSB7MTYsIDB4ODI4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDgwLDB4YTMsMHg0MCwweDJjLDB4YzQgfX0sCi0gezE2LCAweDgyOTAsIDAsIHsweDRhLDB4MDAsMHgxMiwweDhjLDB4ODgsMHhhMywweDIyLDB4MjAsMHhjNCwweDBhLDB4OTAsMHg0MiwweDA0LDB4YTksMHhhMywweDAwIH19LAotIHsxNiwgMHg4MmEwLCAwLCB7MHgyNCwweGM4LDB4OGIsMHg4MCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyZSwweDAxLDB4MDksMHgwOCwweDAyLDB4ODQsMHgwMCB9fSwKLSB7MTYsIDB4ODJiMCwgMCwgezB4ODAsMHgyMCwweDJjLDB4MTAsMHgwYSwweDMyLDB4NDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgyYzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA0LDB4YjMsMHgwMCwweDJhLDB4YzAsMHgwOCwweDA4LDB4YTIsMHg4YywweDAwLDB4OGIsMHgwMCwweGEyIH19LAotIHsxNiwgMHg4MmQwLCAwLCB7MHhjMSwweDEwLDB4OTgsMHg0MiwweGE3LDB4MDAsMHhiYiwweDAxLDB4NjYsMHhjMSwweDBiLDB4ODAsMHgwMiwweGFjLDB4MDQsMHhiYiB9fSwKLSB7MTYsIDB4ODJlMCwgMCwgezB4MDAsMHgyZSwweDAwLDB4MGIsMHhiOCwweDEyLDB4ZTQsMHgwMiwweDg5LDB4MDgsMHgwZSwweDQwLDB4MGEsMHhiMCwweDAyLDB4MzAgfX0sCi0gezE2LCAweDgyZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4YWMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHg4MzAwLCAwLCB7MHg0YSwweGI4LDB4MjMsMHhlYywweDE4LDB4ZWIsMHgwMCwweDMyLDB4YzAsMHgwZSwweDJjLDB4MTIsMHgyMiwweDEwLDB4ZWIsMHgwMCB9fSwKLSB7MTYsIDB4ODMxMCwgMCwgezB4MjYsMHhjMCwweDRmLDB4MDAsMHg0MywweGVkLDB4MDAsMHhmYiwweDAwLDB4MmUsMHgyNCwweDBkLDB4ODAsMHgxMywweGU0LDB4MDAgfX0sCi0gezE2LCAweDgzMjAsIDAsIHsweGM4LDB4ZDAsMHg3YywweDEyLDB4MGUsMHhiMCwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MzMwLCAwLCB7MHhlMSwweDAwLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzNSwweGMwLDB4NGYsMHhlMCwweDAzLDB4N2MsMHgwOCwweGZmLDB4MDEsMHgxNyB9fSwKLSB7MTYsIDB4ODM0MCwgMCwgezB4YzIsMHg0ZCwweGMwLDB4MDMsMHhmNCwweDA4LDB4ZjcsMHgwMCwweDNiLDB4YzAsMHgwNywweGMwLDB4MDMsMHg3YywweDgwLDB4ZmYgfX0sCi0gezE2LCAweDgzNTAsIDAsIHsweDI0LDB4M2YsMHg0MCwweDBjLDB4ZjAsMHgwMSwweGY0LDB4MDQsMHhiYywweDA4LDB4M2YsMHgyOCwweDBmLDB4ZjAsMHgwMywweDc4IH19LAotIHsxNiwgMHg4MzYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDgsMHhmYiwweDA0LDB4M2EsMHhjOCB9fSwKLSB7MTYsIDB4ODM3MCwgMCwgezB4MGYsMHg5NCwweDAzLDB4ZWMsMHgxMCwweGYzLDB4MDAsMHgzNCwweGMwLDB4MGUsMHhiMCwweDAzLDB4NjEsMHgwNCwweGZiLDB4MDAgfX0sCi0gezE2LCAweDgzODAsIDAsIHsweDM2LDB4YzAsMHgwZSwweGEzLDB4MDMsMHgyYywweDgwLDB4ZmIsMHg3MiwweDNlLDB4MDIsMHgwZiwweDhhLDB4MDMsMHhlNCwweDAyIH19LAotIHsxNiwgMHg4MzkwLCAwLCB7MHhjOSwweDgwLDB4MmEsMHg1MCwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODNhMCwgMCwgezB4Y2EsMHg0NCwweDNjLDB4MDAsMHhiZiwweDAwLDB4MDMsMHhjMCwweDA4LDB4ODAsMHgwMywweDdjLDB4MDAsMHhiZiwweDAwLDB4M2YgfX0sCi0gezE2LCAweDgzYjAsIDAsIHsweGUyLDB4MDgsMHg5MCwweDQzLDB4NjAsMHgwMCwweGJmLDB4MDAsMHgzNywweGMwLDB4MDgsMHg5MCwweDAxLDB4NmQsMHgwMCwweGJiIH19LAotIHsxNiwgMHg4M2MwLCAwLCB7MHg0MCwweDJjLDB4MTAsMHgwYiwweGIwLDB4NDIsMHhkNywweGMwLDB4ODksMHgwMCwweDJhLDB4N2MsMHgwYiwweGYwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ODNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUyLDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDUgfX0sCi0gezE2LCAweDgzZTAsIDAsIHsweDRhLDB4MDAsMHgwMCwweDBjLDB4MDQsMHg5MywweDAwLDB4MGMsMHhmMCwweDBiLDB4MDksMHgwMiwweDA4LDB4MDEsMHhiMywweDIwIH19LAotIHsxNiwgMHg4M2YwLCAwLCB7MHgyOCwweGMwLDB4MGEsMHgwYywweDBhLDB4MGUsMHgwMCwweGIzLDB4MDAsMHgyNCwweDMwLDB4MDksMHgwMCwweDAyLDB4YzYsMHgxMCB9fSwKLSB7MTYsIDB4ODQwMCwgMCwgezB4ODAsMHg0MiwweDIwLDB4MDAsMHg4YiwweGIwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0MTAsIDAsIHsweDIyLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg5NCwweDIxLDB4ZTQsMHg0OCwweGQ5LDB4MTIsMHg1ZSwweDQwLDB4YjcsMHg5MCwweDI5IH19LAotIHsxNiwgMHg4NDIwLCAwLCB7MHhlMCwweDhiLDB4NjksMHgxMiwweGQ2LDB4ODAsMHgzNywweDgyLDB4MmMsMHhlOCwweDA4LDB4NGEsMHgwMiwweDVlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4ODQzMCwgMCwgezB4YTQsMHgyZCwweDIwLDB4MGIsMHg3OSwweDAyLDB4ZDYsMHgwOCwweDg2LDB4OTAsMHgyOSwweGEwLDB4MGIsMHg3OSwweDAyLDB4ZDggfX0sCi0gezE2LCAweDg0NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHgwMCwweGZiLDB4YTAsMHgyOCwweGU4IH19LAotIHsxNiwgMHg4NDUwLCAwLCB7MHgwZSwweDJhLDB4MDIsMHg4YywweDAwLDB4ZDMsMHgwMCwweDY0LDB4YzAsMHgwZiwweDAwLDB4NDMsMHgwZSwweGM0LDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4ODQ2MCwgMCwgezB4NzgsMHhlYywweDBlLDB4MGEsMHg0MywweDBlLDB4MjAsMHg3MywweGUwLDB4M2MsMHgwMiwweDRmLDB4MDAsMHgwMywweGM0LDB4NDAgfX0sCi0gezE2LCAweDg0NzAsIDAsIHsweGMzLDB4MDAsMHgzOCwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NDgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHhiYywweGNjLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgyMCwweGZiLDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4ODQ5MCwgMCwgezB4YzIsMHgwYywweDIwLDB4MDMsMHg2YywweDUwLDB4ZjMsMHgwMCwweDM2LDB4YzQsMHgwZiwweDQwLDB4MDMsMHhmYywweDA4LDB4ZmYgfX0sCi0gezE2LCAweDg0YTAsIDAsIHsweDFhLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMSwweGU0LDB4MzAsMHhmZiwweDAyLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg2MywweGQwIH19LAotIHsxNiwgMHg4NGIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGVjLDB4NDAsMHhmYiwweDAwLDB4YjIsMHhkOCB9fSwKLSB7MTYsIDB4ODRjMCwgMCwgezB4MGMsMHhiMCwweDAxLDB4MmQsMHgyMCwweGRiLDB4MDEsMHgzYSwweGM4LDB4OGMsMHgzOCwweDAzLDB4YTgsMHgwMCwweGZiLDB4NDggfX0sCi0gezE2LCAweDg0ZDAsIDAsIHsweDNlLDB4YzksMHgwZiwweDgwLDB4MDMsMHhlYywweDQwLDB4ZmIsMHgwMSwweDNlLDB4MDAsMHgwZiwweDA4LDB4MDMsMHhhNCwweDA4IH19LAotIHsxNiwgMHg4NGUwLCAwLCB7MHhmYSwweDgwLDB4YjIsMHg4MCwweDBmLDB4YjEsMHgwMiwweDZhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODRmMCwgMCwgezB4NDgsMHgxOSwweDFjLDB4ODAsMHhiZiwweDMwLDB4MjEsMHhjYSwweDA4LDB4ZjAsMHgwYSwweDBjLDB4ODAsMHg4ZiwweDUwLDB4MjEgfX0sCi0gezE2LCAweDg1MDAsIDAsIHsweGMyLDB4MDgsMHg3MCwweDUwLDB4OWMsMHgwMCwweGI3LDB4MDAsMHgzOSwweGM0LDB4MGIsMHg0MCwweDAyLDB4OWMsMHgwNCwweGI3IH19LAotIHsxNiwgMHg4NTEwLCAwLCB7MHgyMCwweDI1LDB4NDAsMHgwYiwweDcwLDB4MDIsMHgxNCwweDgwLDB4YjYsMHgwMCwweDIxLDB4ODAsMHgwYiwweGY4LDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ODUyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjcsMHhiMCwweDIxLDB4ZWMgfX0sCi0gezE2LCAweDg1MzAsIDAsIHsweDBiLDB4NzgsMHgxMiwweGRlLDB4ODQsMHg5NywweDgwLDB4MGQsMHhlMCwweDI4LDB4ZjgsMHgwMiwweGRlLDB4MDAsMHhiNywweDkwIH19LAotIHsxNiwgMHg4NTQwLCAwLCB7MHgyZCwweGU0LDB4MGIsMHg2OCwweDgyLDB4NWUsMHg4MCwweGI3LDB4YTAsMHgyOSwweDIwLDB4MGIsMHg0OCwweDAyLDB4OTYsMHgwMCB9fSwKLSB7MTYsIDB4ODU1MCwgMCwgezB4YjcsMHg4MCwweDIxLDB4ZTEsMHgwYiwweDdhLDB4MDIsMHg3MCwweDQwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1NjAsIDAsIHsweDQ4LDB4MDQsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDM4LDB4MDIsMHg4YywweDA0LDB4ODMsMHgwMCwweDI4IH19LAotIHsxNiwgMHg4NTcwLCAwLCB7MHhjMCwweDg4LDB4MzksMHgwMiwweDRjLDB4NDAsMHhiMywweDA0LDB4MjgsMHhjMCwweDFiLDB4MTAsMHgwMiwweDhjLDB4MDEsMHhiMyB9fSwKLSB7MTYsIDB4ODU4MCwgMCwgezB4MDQsMHgyNCwweDg4LDB4NGIsMHgzMSwweDAyLDB4MDQsMHgwMCwweGIzLDB4ODAsMHgyMCwweGYyLDB4MGIsMHgzMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweDg1OTAsIDAsIHsweDI0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwIH19LAotIHsxNiwgMHg4NWEwLCAwLCB7MHgwZiwweGU4LDB4MDMsMHhlOCwweDAwLDB4ZGEsMHgwMSwweDNhLDB4ODAsMHg4YywweGVkLDB4MDMsMHhmYiwweDA0LDB4ZmEsMHgwMCB9fSwKLSB7MTYsIDB4ODViMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4NmMsMHgwMywweGZiLDB4YzgsMHhiZSwweGMyLDB4MWYsMHg4MCwweDBmLDB4ZTUsMHgwMywweGE4LDB4MDAgfX0sCi0gezE2LCAweDg1YzAsIDAsIHsweGZlLDB4NDgsMHgzMywweDgwLDB4NGYsMHhhMCwweDAzLDB4N2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NWQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzYywweDAwLDB4MGMsMHg4MSwweDkzLDB4NjAsMHgwMCwweGY4LDB4MDEsMHgzNiB9fSwKLSB7MTYsIDB4ODVlMCwgMCwgezB4MTAsMHgwZiwweDgwLDB4MDMsMHhhMCwweDIwLDB4ZjgsMHgwMCwweDJhLDB4MDEsMHg4ZiwweDg0LDB4MTMsMHhlMSwweDAwLDB4ZjggfX0sCi0gezE2LCAweDg1ZjAsIDAsIHsweDE4LDB4MzYsMHgwMCwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDIwLDB4M2UsMHgxNCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4NjAwLCAwLCB7MHg4MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU0LDB4MDAsMHhmMSwweDAwLDB4YWEsMHg0MCB9fSwKLSB7MTYsIDB4ODYxMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGUxLDB4MDAsMHgzOCwweDQwLDB4MWMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4YTAgfX0sCi0gezE2LCAweDg2MjAsIDAsIHsweDNhLDB4NDAsMHg0NywweDlhLDB4OTMsMHhhMiwweDgwLDB4ZjgsMHgxMCwweDNlLDB4NDAsMHgwYiwweDk0LDB4MDMsMHhlNiwweDQwIH19LAotIHsxNiwgMHg4NjMwLCAwLCB7MHhmOSwweGMwLDB4M2UsMHg2OCwweDBiLDB4MTAsMHgwMywweDAyLDB4ODQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODY0MCwgMCwgezB4ODAsMHgwNCwweGU0LDB4MDQsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDQsMHg4OSwweDAwLDB4MzYgfX0sCi0gezE2LCAweDg2NTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwNCwweGI5LDB4ODAsMHgyZSwweDQwLDB4NGYsMHg5NCwweDAzLDB4NjEsMHgxMCwweGU4IH19LAotIHsxNiwgMHg4NjYwLCAwLCB7MHg0MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDIsMHhlNiwweDA0LDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ODY3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDQsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAgfX0sCi0gezE2LCAweDg2ODAsIDAsIHsweDBhLDB4MTAsMHg1MiwweDA0LDB4MDQsMHhhOSwweDA0LDB4MmEsMHg0MCwweDA4LDB4YjAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAwIH19LAotIHsxNiwgMHg4NjkwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTgsMHgwZCwweGI4LDB4NDAsMHgyZSwweDQwLDB4MDksMHg5NCwweDAyLDB4ZTUsMHgwMCB9fSwKLSB7MTYsIDB4ODZhMCwgMCwgezB4YjksMHgwNCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2YjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjEsMHgyMCwweDIwLDB4YzgsMHgwYSwweDEwLDB4NDIsMHgwNCwweDkwLDB4ODEsMHgyMCwweDA0IH19LAotIHsxNiwgMHg4NmMwLCAwLCB7MHhjOCwweDA4LDB4MzAsMHgyNiwweGM0LDB4MDAsMHhiMSwweDIwLDB4MmMsMHg0OCwweDBiLDB4OTAsMHgwMiwweDQ1LDB4MDEsMHhiMSB9fSwKLSB7MTYsIDB4ODZkMCwgMCwgezB4NDAsMHgyYywweDQwLDB4MGIsMHgxMiwweDgyLDB4YzQsMHgwMCwweGIxLDB4MmIsMHgyYywweDRhLDB4MGIsMHgxMiwweDgyLDB4MDIgfX0sCi0gezE2LCAweDg2ZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDA4LDB4MjEsMHg0OCwweGY4LDB4NTAsMHgzMiwweDAwIH19LAotIHsxNiwgMHg4NmYwLCAwLCB7MHg0ZSwweDg1LDB4MGIsMHgyMSwweDQwLDB4YTgsMHg1MiwweDJhLDB4MDAsMHgwOCwweDgwLDB4MjMsMHhlMSwweDQwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4ODcwMCwgMCwgezB4M2EsMHgxNCwweDBmLDB4YTAsMHg0MywweGE4LDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODIsMHgwMywweGUwLDB4MDAgfX0sCi0gezE2LCAweDg3MTAsIDAsIHsweGYwLDB4MjAsMHgzZSwweDg4LDB4NGYsMHg4MiwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NzIwLCAwLCB7MHg5OCwweDE5LDB4ZTQsMHg0MCwweGY5LDB4MTEsMHgzNCwweDQ0LDB4MmQsMHhkMCwweDAzLDB4ZTQsMHg1MCwweDc5LDB4MTAsMHgzOCB9fSwKLSB7MTYsIDB4ODczMCwgMCwgezB4NDQsMHgyZiwweGQwLDB4MDMsMHhmNSwweDEwLDB4ZjksMHgxMCwweDNlLDB4NDUsMHgwNiwweDUwLDB4MDMsMHhlNSwweDAwLDB4ZTkgfX0sCi0gezE2LCAweDg3NDAsIDAsIHsweDQwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHg0MywweGY1LDB4MDAsMHhmZCwweDI4LDB4M2YsMHg0MCwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHg4NzUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMSwweGU2LDB4MDAsMHhkOSwweDkwLDB4MzcsMHg2OSB9fSwKLSB7MTYsIDB4ODc2MCwgMCwgezB4NGQsMHg5MCwweDIzLDB4NjcsMHg4MCwweGQ5LDB4ZTAsMHgzNywweDY4LDB4MGUsMHhkMCwweDA3LDB4YTQsMHgwMCwweDA1LDB4ODYgfX0sCi0gezE2LCAweDg3NzAsIDAsIHsweDNlLDB4NjYsMHgwZCwweDUwLDB4MjMsMHgyNiwweDAwLDB4YzksMHg4MiwweDNkLDB4NDAsMHgwZCwweGQ4LDB4MDcsMHgzNiwweDAyIH19LAotIHsxNiwgMHg4NzgwLCAwLCB7MHhjZCwweGMwLDB4MzMsMHg2MCwweDBjLDB4OWMsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODc5MCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHg4OCwweGEyLDB4MjIsMHgxMCwweDI4LDB4OGEsMHg4MiwweDIzLDB4ODQsMHg4OCwweGEwLDB4MjIgfX0sCi0gezE2LCAweDg3YTAsIDAsIHsweDE0LDB4NDgsMHg4MCwweDQyLDB4ODIsMHgwMCwweDg4LDB4NDAsMHgyZSwweDMwLDB4MDgsMHg4MCwweDAyLDB4YTIsMHgwMCwweGQ4IH19LAotIHsxNiwgMHg4N2IwLCAwLCB7MHg5MCwweDI2LDB4MDAsMHgwOCwweDg0LDB4MGEsMHgyMSwweDAwLDB4YzgsMHhhMCwweGEyLDB4MTQsMHgyOCwweDhjLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ODdjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDIwLDB4OTEsMHg0MCwweDJjLDB4NDQgfX0sCi0gezE2LCAweDg3ZDAsIDAsIHsweDE4LDB4MTAsMHgwMiwweDg1LDB4MDQsMHhiMSwweDQwLDB4MGMsMHg0MCwweDBhLDB4MTAsMHgwNiwweDg0LDB4MzAsMHg4MSwweDQwIH19LAotIHsxNiwgMHg4N2UwLCAwLCB7MHgyYywweDQ4LDB4NTksMHgxMCwweDFhLDB4MDQsMHg2MCwweDgxLDB4MDksMHgyZSwweDQwLDB4MWIsMHgxNCwweDAyLDB4MjUsMHgwMCB9fSwKLSB7MTYsIDB4ODdmMCwgMCwgezB4OTEsMHhlMCwweDIwLDB4NjAsMHgwOCwweDE2LDB4MDIsMHgwMCwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4MDAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODEsMHgwMCwweDJhLDB4NDEsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YTEsMHgwMCwweDJhIH19LAotIHsxNiwgMHg4ODEwLCAwLCB7MHg0MSwweDA4LDB4YjAsMHg4MiwweDI0LDB4MTEsMHg4YiwweDAwLDB4MmUsMHg0MCwweDE4LDB4OTEsMHgwMiwweGEwLDB4MDQsMHg5OCB9fSwKLSB7MTYsIDB4ODgyMCwgMCwgezB4MjAsMHgyZSwweDU0LDB4MWIsMHg5MCwweDgyLDB4MmMsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQ0LDB4ODgsMHg5MCwweDAyLDB4MDYgfX0sCi0gezE2LCAweDg4MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHg4ODQwLCAwLCB7MHg0YywweDkwLDB4MDMsMHhhNCwweDEwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg4ZSwweDEwLDB4MDIsMHhhNCwweGMyLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4ODg1MCwgMCwgezB4M2UsMHg0MCwweDBkLDB4MTYsMHgxMywweDAxLDB4ODQsMHhjOCwweDIwLDB4M2MsMHg2MCwweDBmLDB4OTAsMHgxMiwweDA0LDB4MDAgfX0sCi0gezE2LCAweDg4NjAsIDAsIHsweGQ5LDB4NDAsMHgzMiwweDUwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHg4NCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ODcwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4NGYsMHg5OSwweDRhLDB4NDQsMHgwMCwweDk5LDB4MDAsMHhiNCB9fSwKLSB7MTYsIDB4ODg4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MTMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlMywweDAwLDB4ZjggfX0sCi0gezE2LCAweDg4OTAsIDAsIHsweDAxLDB4MzYsMHg0MCwweDBjLDB4OTksMHgwMywweGU0LDB4MDIsMHhmOSwweDgwLDB4M2UsMHg2MCwweDRmLDB4OTAsMHgwYiwweGNhIH19LAotIHsxNiwgMHg4OGEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDAwLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4ODhiMCwgMCwgezB4MWQsMHg4MCwweDAzLDB4MjAsMHgwMCwweGU4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4NCwweDgzLDB4ZTAsMHgxMCwweGU4LDB4MjAgfX0sCi0gezE2LCAweDg4YzAsIDAsIHsweDMyLDB4MDAsMHg4ZSwweDg0LDB4MDMsMHgyMSwweDgwLDB4YzgsMHgwMCwweDNhLDB4MTksMHgwZiwweDA0LDB4MDMsMHhlMCwweDI0IH19LAotIHsxNiwgMHg4OGQwLCAwLCB7MHhmMCwweDAyLDB4M2MsMHgwMCwweDBmLDB4ODAsMHgxMywweDhhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODhlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDIsMHg4YSwweDAxLDB4MGYsMHhhMiwweDY4LDB4YTAsMHgwMCwweDI4LDB4MDAsMHg4YSwweDAwLDB4NzcgfX0sCi0gezE2LCAweDg4ZjAsIDAsIHsweDgwLDB4NjgsMHhlMCwweDEyLDB4ZTgsMHgwMCwweGRlLDB4MDAsMHgzNiwweDgxLDB4MDgsMHhlMCwweDAzLDB4N2EsMHgwOCwweGFlIH19LAotIHsxNiwgMHg4OTAwLCAwLCB7MHhjNCwweDJmLDB4ODAsMHgwOCwweGVkLDB4MDIsMHhmYSwweDAwLDB4YmUsMHhhMCwweDNiLDB4ODAsMHgwYiwweGEwLDB4NDIsMHgwYSB9fSwKLSB7MTYsIDB4ODkxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4ODUsMHg0YywweDAwLDB4OTMsMHgwMCwweDJjLDB4YzAgfX0sCi0gezE2LCAweDg5MjAsIDAsIHsweDg4LDB4YjAsMHgwMiwweDBjLDB4MTQsMHhhMywweDA0LDB4MjAsMHhjNCwweDE4LDB4MzgsMHgwMiwweGVjLDB4MTAsMHg5MywweDU0IH19LAotIHsxNiwgMHg4OTMwLCAwLCB7MHgyOCwweGMwLDB4MGEsMHgwMCwweDAyLDB4NGUsMHgwMCwweDgzLDB4NDksMHg2OCwweGMwLDB4MDIsMHgzOSwweDQyLDB4Y2UsMHg0MCB9fSwKLSB7MTYsIDB4ODk0MCwgMCwgezB4YjMsMHgwMCwweDJjLDB4ZTYsMHgwYiwweGIwLDB4MDIsMHg4YiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5NTAsIDAsIHsweDIwLDB4MDEsMHgxYywweDA4LDB4ODcsMHgyMCwweDJjLDB4ODAsMHgxOCwweGYyLDB4MjIsMHgxYywweDAwLDB4ODcsMHgxMCwweDIxIH19LAotIHsxNiwgMHg4OTYwLCAwLCB7MHhjMCwweDA4LDB4NzAsMHg4MiwweGRjLDB4ODAsMHg5NiwweDgwLDB4MmQsMHhjMCwweDBhLDB4NDAsMHgwMiwweDdkLDB4NDAsMHgyNyB9fSwKLSB7MTYsIDB4ODk3MCwgMCwgezB4NjQsMHg2ZCwweGQwLDB4NDgsMHg2MCwweDQyLDB4ZDgsMHgwNSwweGI2LDB4MDQsMHgyOSwweGMwLDB4NGIsMHg3MiwweDAyLDB4MjggfX0sCi0gezE2LCAweDg5ODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4M2UsMHg4OCwweGQ3LDB4ZTAsMHgzZCwweGUwIH19LAotIHsxNiwgMHg4OTkwLCAwLCB7MHgwOCwweDdjLDB4NDIsMHgzZSwweDAwLDB4ZTMsMHg4MiwweDIwLDB4ZTAsMHgwYywweDY4LDB4MDMsMHhkZiwweDA0LDB4ZDcsMHg4MCB9fSwKLSB7MTYsIDB4ODlhMCwgMCwgezB4M2IsMHhlMCwweDRlLDB4NDgsMHgwYSwweDVlLDB4ODAsMHhjNywweGMyLDB4MTksMHhlMCwweDBlLDB4NzgsMHgwMywweGQ2LDB4MDggfX0sCi0gezE2LCAweDg5YjAsIDAsIHsweGY3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHhmOCwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OWMwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg0MCwweGZiLDB4NDAsMHg3ZSwweDgwLDB4MGUsMHgzNiwweDgzLDB4ZWQsMHg0MCwweGRiLDB4NjAsMHgzZSB9fSwKLSB7MTYsIDB4ODlkMCwgMCwgezB4ODAsMHgwZiwweGEwLDB4MDMsMHhlZCwweDI4LDB4ZGEsMHgwMCwweDMyLDB4YzQsMHgwYywweGIwLDB4MGIsMHhjYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDg5ZTAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBlLDB4ODAsMHgxMywweGUwLDB4MTAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjEsMHg1MywweGMyIH19LAotIHsxNiwgMHg4OWYwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweGMwLDB4MzMsMHhlMCB9fSwKLSB7MTYsIDB4OGEwMCwgMCwgezB4MGMsMHhmOSwweDAzLDB4N2YsMHgwNCwweGNmLDB4ZDAsMHgzZiwweGU0LDB4MGYsMHhiOCwweDAzLDB4ZmUsMHgwMCwweGZmLDB4OTQgfX0sCi0gezE2LCAweDhhMTAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGM4LDB4MDMsMHg3ZSwweDEwLDB4ZjMsMHg4MCwweDNiLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhmZSwweDQ4IH19LAotIHsxNiwgMHg4YTIwLCAwLCB7MHhlZCwweDgwLDB4MzMsMHgyNCwweDA0LDB4ZjgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGEzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4ODAsMHhiZiwweDA0LDB4MjEsMHgyOCwweDA4LDB4ZjgsMHgwMiwweDFlLDB4YzAsMHhjZiwweDkwLDB4MjEgfX0sCi0gezE2LCAweDhhNDAsIDAsIHsweDRjLDB4MGIsMHg1YSwweDQyLDB4ZGUsMHgwMCwweGI3LDB4ODAsMHgyYywweGU4LDB4MGIsMHgwNCwweDAyLDB4MWMsMHgwMCwweGI3IH19LAotIHsxNiwgMHg4YTUwLCAwLCB7MHhhMCwweDM1LDB4MTAsMHg4ZiwweDcxLDB4MTMsMHhkZSwweGMwLDB4ODQsMHgxMCwweDIxLDB4ODAsMHgwZCwweDcxLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4OGE2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4NDAsMHg5YywweDA4LDB4YjcsMHgwMCwweDI1LDB4YzggfX0sCi0gezE2LCAweDhhNzAsIDAsIHsweDA4LDB4NzEsMHgwMiwweGNjLDB4ODAsMHg5NywweDAwLDB4MjksMHhjMCwweDhiLDB4NzIsMHgwNiwweGRjLDB4MDgsMHhiNSwweDAwIH19LAotIHsxNiwgMHg4YTgwLCAwLCB7MHgyZCwweGM4LDB4MGIsMHg0MCwweDAyLDB4MWMsMHg0MCwweGJmLDB4MTAsMHgyMSwweGMwLDB4MGIsMHg3NCwweDAyLDB4ZDQsMHg4MCB9fSwKLSB7MTYsIDB4OGE5MCwgMCwgezB4YTcsMHg0MCwweDIxLDB4NDEsMHgwOCwweDcwLDB4MDIsMHgwNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhYTAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDI0LDB4MDAsMHgwOCwweDM0LDB4ODIsMHhhYywweDExLDB4ODMsMHgwMCwweDIwIH19LAotIHsxNiwgMHg4YWIwLCAwLCB7MHgwMCwweDRiLDB4MTgsMHgyNiwweGNmLDB4MjAsMHhiMSwweDA2LDB4MmMsMHhjMSwweDBiLDB4MzIsMHgwMiwweDBlLDB4MDgsMHhiMyB9fSwKLSB7MTYsIDB4OGFjMCwgMCwgezB4ODgsMHgyNCwweDMyLDB4MGEsMHgzMCwweDEyLDB4ODQsMHgwOCwweDgwLDB4MDAsMHhhMCwweDM0LDB4MjgsMHgzMCwweDAyLDB4MTggfX0sCi0gezE2LCAweDhhZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMCwweGZmLDB4MDAsMHhiNiwweDQwIH19LAotIHsxNiwgMHg4YWUwLCAwLCB7MHgyYywweGY0LDB4NDMsMHhmYywweDAxLDB4ZGYsMHgwMCwweDNhLDB4MDAsMHgwMywweDkyLDB4MDMsMHhmZiwweDg4LDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OGFmMCwgMCwgezB4MmYsMHhjMCwweDFiLDB4MGUsMHg0YiwweDJlLDB4OTAsMHhmYiwweGUwLDB4MzAsMHgzMiwweDBiLDB4OTgsMHgwMiwweGVjLDB4MDggfX0sCi0gezE2LCAweDhiMDAsIDAsIHsweDZiLDB4YzAsMHgzMiwweGMwLDB4MDgsMHhmMCwweDA5LDB4M2UsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YjEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGYzLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAxLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4OGIyMCwgMCwgezB4MTAsMHgwZiwweGI0LDB4MDMsMHhlYywweDAwLDB4ZjAsMHgwMCwweDNjLDB4YzAsMHgwZiwweDgwLDB4MGIsMHhhZCwweDIwLDB4ZmIgfX0sCi0gezE2LCAweDhiMzAsIDAsIHsweDQwLDB4M2UsMHgxMCwweDA3LDB4YTgsMHg2MywweGUwLDB4MDAsMHhmYiwweDgwLDB4M2UsMHhkOCwweDBmLDB4YjAsMHgwMywweGUwIH19LAotIHsxNiwgMHg4YjQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDAwLDB4NzIsMHgwMCB9fSwKLSB7MTYsIDB4OGI1MCwgMCwgezB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhjMCwweDAzLDB4ZGMsMHgwMCwweDhmLDB4MDAgfX0sCi0gezE2LCAweDhiNjAsIDAsIHsweDMzLDB4YzEsMHgwYywweGMwLDB4MDMsMHhiZSwweDAwLDB4ZmYsMHg5MCwweDNiLDB4MjgsMHgwZSwweDU5LDB4MDMsMHgyZSwweDAwIH19LAotIHsxNiwgMHg4YjcwLCAwLCB7MHg3YiwweDAwLDB4MzIsMHhjNCwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGI4MCwgMCwgezB4YzEsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4NjIsMHhhMCwweDBmLDB4YjAsMHgwMiwweGVjLDB4MDksMHg4YiwweDAwLDB4MmUgfX0sCi0gezE2LCAweDhiOTAsIDAsIHsweDMwLDB4MGIsMHhhOCwweDAzLDB4YWMsMHgwMCwweGZhLDB4YzEsMHgyMiwweGMxLDB4MDgsMHg4YywweDAyLDB4MmMsMHgwMCwweGIzIH19LAotIHsxNiwgMHg4YmEwLCAwLCB7MHg4MSwweDJhLDB4MDAsMHgwZCwweDg4LDB4YjIsMHgyMiwweDAwLDB4YjMsMHhjMCwweDIyLDB4YzgsMHgwYiwweGIwLDB4NDIsMHg2MSB9fSwKLSB7MTYsIDB4OGJiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHg2YywweDAwLDB4YmIsMHgwMSwweDIyLDB4NjIgfX0sCi0gezE2LCAweDhiYzAsIDAsIHsweDBiLDB4YjAsMHgwMiwweGVjLDB4MDQsMHg4YiwweDAwLDB4MmUsMHhhMiwweDQ5LDB4ODgsMHgyNiwweGVjLDB4MDAsMHhhOCwweDgwIH19LAotIHsxNiwgMHg4YmQwLCAwLCB7MHgyMiwweGMwLDB4MjgsMHg4MiwweDBhLDB4YWMsMHhhMCwweGJiLDB4MDgsMHgyMiwweGMwLDB4MDgsMHg4MCwweDBhLDB4MjgsMHg4NCB9fSwKLSB7MTYsIDB4OGJlMCwgMCwgezB4YjksMHhjMCwweGEyLDB4MDAsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgxMCwweDIwLDB4NDgsMHgwYSwweDMyLDB4MDIsMHhjYywweDgwLDB4ODMsMHgwMSwweDI0IH19LAotIHsxNiwgMHg4YzAwLCAwLCB7MHgwMCwweDBiLDB4MDIsMHgwNiwweDhjLDB4NjAsMHhhMCwweDIwLDB4MjAsMHhjOCwweDA4LDB4MDEsMHgwMiwweDBjLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4OGMxMCwgMCwgezB4MDAsMHgyOCwweDAwLDB4MDksMHgyMCwweDAyLDB4MDgsMHg4MCwweGIxLDB4MDAsMHhhMCwweDgwLDB4MGIsMHgzMCwweDAyLDB4NDIgfX0sCi0gezE2LCAweDhjMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4NmMsMHgwMCwweGZmLDB4MDAsMHhhMiwweDBlIH19LAotIHsxNiwgMHg4YzMwLCAwLCB7MHgwYiwweGYxLDB4MDMsMHhmYywweDA4LDB4Y2YsMHgyMCwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhmYywweDg0LDB4YTgsMHgyMCB9fSwKLSB7MTYsIDB4OGM0MCwgMCwgezB4YjIsMHhjOCwweDhjLDB4ODAsMHgwMywweGFjLDB4NDQsMHhmYiwweDcwLDB4M2EsMHhjMCwweDBlLDB4OTAsMHgwMywweDJjLDB4YTQgfX0sCi0gezE2LCAweDhjNTAsIDAsIHsweGZiLDB4MDAsMHhiMiwweDQwLDB4MGYsMHhiMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YzYwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MjYsMHgzZSwweDAwLDB4MGYsMHhiNiwweDEzLDB4ZWQsMHgwMCwweGZiLDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4OGM3MCwgMCwgezB4MDAsMHgwZiwweGMxLDB4MTMsMHhhYywweDgwLDB4ZjgsMHgxMiwweDNlLDB4YzYsMHg0ZiwweDQyLDB4NDMsMHhmYywweDA0LDB4ZmYgfX0sCi0gezE2LCAweDhjODAsIDAsIHsweDMxLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4YmYsMHhjMCwweDhmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHg4YzkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4NDAsMHhmYywweDgwLDB4MzYsMHhjOCB9fSwKLSB7MTYsIDB4OGNhMCwgMCwgezB4MGYsMHgwOSwweDAzLDB4YzIsMHgwMCwweGY4LDB4YzAsMHgzMywweGNjLDB4MmMsMHg0YywweDAzLDB4NjMsMHg5MCwweGUwLDB4OTAgfX0sCi0gezE2LCAweDhjYjAsIDAsIHsweDNhLDB4YzAsMHgwZCwweDUwLDB4MGIsMHgzYywweDA0LDB4ZGYsMHg2NCwweDNmLDB4YzgsMHg4ZCwweGYxLDB4NDMsMHgyYywweDAwIH19LAotIHsxNiwgMHg4Y2MwLCAwLCB7MHhkNSwweDAwLDB4MzMsMHhjMCwweDQ1LDB4ZjIsMHgyMywweDcwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGNkMCwgMCwgezB4ODAsMHgxMCwweGVkLDB4ODAsMHhiYSwweDAyLDB4MjEsMHhkZSwweDhiLDB4ODIsMHgyMiwweGUwLDB4MjAsMHhiMCwweDAwLDB4MmIgfX0sCi0gezE2LCAweDhjZTAsIDAsIHsweGVjLDB4MDksMHg4MCwweDAyLDB4ZTMsMHg0MCwweGJhLDB4MjAsMHgyZiwweGRjLDB4MDgsMHg5OCwweDEyLDB4MmMsMHgwMCwweDhiIH19LAotIHsxNiwgMHg4Y2YwLCAwLCB7MHg1MSwweDJhLDB4ZDAsMHgwOCwweDcyLDB4MjIsMHgyZSwweDAwLDB4OGQsMHg4MCwweDIxLDB4ZDAsMHgwOCwweGI2LDB4ODIsMHgyMCB9fSwKLSB7MTYsIDB4OGQwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YjksMHgyOCwweDI0LDB4YzAgfX0sCi0gezE2LCAweDhkMTAsIDAsIHsweDRhLDB4MTIsMHgxMiwweDg4LDB4ODUsMHhhOCwweDIwLDB4MjAsMHhjMCwweDBiLDB4MjIsMHgwMiwweGMwLDB4OTEsMHhhMSwweDAwIH19LAotIHsxNiwgMHg4ZDIwLCAwLCB7MHgyOCwweGMyLDB4MGIsMHgwMCwweDEyLDB4OGMsMHg0MCwweGEzLDB4MjAsMHgyMCwweGM0LDB4MGIsMHgzMCwweDBhLDB4MGMsMHgxMSB9fSwKLSB7MTYsIDB4OGQzMCwgMCwgezB4OTksMHgwMCwweDIwLDB4YzUsMHgwOSwweDAxLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkNDAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4YjgsMHg4MCwweDIyLDB4YzAsMHgwYiwweDg4LDB4MDIsMHhlZSwweDAxLDB4YjgsMHhjMSwweDJhIH19LAotIHsxNiwgMHg4ZDUwLCAwLCB7MHhjMCwweDFiLDB4YTgsMHgwNiwweGUyLDB4MDAsMHhiYiwweDgwLDB4MmUsMHhjMCwweDhhLDB4ODAsMHgwMiwweGFjLDB4MDAsMHhhYiB9fSwKLSB7MTYsIDB4OGQ2MCwgMCwgezB4MDAsMHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4MmMsMHgwMCwweDk5LDB4MDAsMHgyNCwweGMwLDB4MDgsMHg4MCwweDAyLDB4MzAgfX0sCi0gezE2LCAweDhkNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGIwLDB4ODAsMHgzNiwweGMwIH19LAotIHsxNiwgMHg4ZDgwLCAwLCB7MHgwZSwweGE4LDB4MTMsMHhlMiwweDg1LDB4ZjMsMHhjMCwweDMyLDB4YzAsMHgwZSwweDljLDB4MjMsMHhlNywweDI0LDB4ZTgsMHg4MiB9fSwKLSB7MTYsIDB4OGQ5MCwgMCwgezB4M2EsMHhjMSwweDBmLDB4OTQsMHgwMywweGFjLDB4MDIsMHhlYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDJlLDB4MTAgfX0sCi0gezE2LCAweDhkYTAsIDAsIHsweDUxLDB4MDAsMHhiMiwweGMwLDB4MGQsMHhiMCwweDAzLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZGIwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhkMCwweDAzLDB4ZjAsMHgwNCwweGZkLDB4MDQsMHgzZiB9fSwKLSB7MTYsIDB4OGRjMCwgMCwgezB4YzAsMHg0YywweGMwLDB4MDMsMHhmMCwweDEwLDB4ZmMsMHgwMCwweDFmLDB4YzAsMHgwZCwweGQxLDB4MjMsMHgxYywweDAwLDB4YzcgfX0sCi0gezE2LCAweDhkZDAsIDAsIHsweDAwLDB4MzksMHhjMCwweDBkLDB4ZjAsMHg4MywweGZlLDB4NDQsMHhlZCwweDAwLDB4M2IsMHhjMCwweDBmLDB4NzQsMHgwMywweGY4IH19LAotIHsxNiwgMHg4ZGUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmOSwweDAxLDB4YmEsMHhjMSB9fSwKLSB7MTYsIDB4OGRmMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4YTEsMHgwOCwweGZhLDB4MDAsMHgzMCwweGM4LDB4OGYsMHg5NCwweDAzLDB4MjUsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweDhlMDAsIDAsIHsweDNjLDB4YzAsMHgwZiwweDA0LDB4ODMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4ZTAsMHgwZiwweDcxLDB4MGIsMHgyYywweDQwIH19LAotIHsxNiwgMHg4ZTEwLCAwLCB7MHhmZCwweDA4LDB4MzcsMHhjMCwweDRlLDB4OTEsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGUyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHhiOSwweDAwLDB4MjMsMHhjMCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhjOCwweDAwLDB4MzcgfX0sCi0gezE2LCAweDhlMzAsIDAsIHsweGYwLDB4MGIsMHg4MCwweDAxLDB4NjQsMHgwMCwweDQ5LDB4MDIsMHgzMywweGMwLDB4ODQsMHg5YywweDAzLDB4M2MsMHgwMCwweGJmIH19LAotIHsxNiwgMHg4ZTQwLCAwLCB7MHgwMiwweDBmLDB4ZDAsMHgwOCwweGY0LDB4MDIsMHgwZSwweDEwLDB4YmQsMHg4MCwweDMzLDB4ZTAsMHgwOCwweDkwLDB4MGEsMHgzMiB9fSwKLSB7MTYsIDB4OGU1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjAsMHgwNiwweDIwLDB4YzAgfX0sCi0gezE2LCAweDhlNjAsIDAsIHsweDA4LDB4MDAsMHg0MiwweDg0LDB4MDAsMHhhMCwweDAwLDB4MjAsMHhmMCwweDBiLDB4MDAsMHgyMiwweGNjLDB4MDAsMHg5MCwweDAwIH19LAotIHsxNiwgMHg4ZTcwLCAwLCB7MHgyOCwweGMwLDB4MDIsMHgzZCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMyLDB4OWEsMHgzOCwweDAyLDB4MDYsMHgwNCB9fSwKLSB7MTYsIDB4OGU4MCwgMCwgezB4YjEsMHgxMiwweDIwLDB4ZTAsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhlOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjYsMHg4MCwweDIxLDB4ZTAsMHgyOCwweGVhLDB4MDIsMHgzNiwweDgwLDB4ODYsMHg5MCwweDY1IH19LAotIHsxNiwgMHg4ZWEwLCAwLCB7MHhlMCwweDFiLDB4ZGEsMHgwNiwweDVlLDB4MDEsMHg5ZSwweDg0LDB4MjUsMHhlYywweDBhLDB4NzgsMHgwMiwweDVlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4OGViMCwgMCwgezB4ODAsMHgyZCwweGUwLDB4MDgsMHg3OSwweDRhLDB4MTYsMHg0MCwweGJkLDB4ODAsMHgyNSwweGUwLDB4MDgsMHgzOCwweDAyLDB4MDggfX0sCi0gezE2LCAweDhlYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGZiLDB4MDAsMHgyOCwweGUwIH19LAotIHsxNiwgMHg4ZWQwLCAwLCB7MHgwOCwweDE4LDB4MDIsMHg4YSwweDg4LDB4YTEsMHhhMCwweDIwLDB4YzIsMHgxZiwweDJhLDB4MjMsMHhlNiwweGM4LDB4ZjAsMHhjMCB9fSwKLSB7MTYsIDB4OGVlMCwgMCwgezB4M2EsMHhlZCwweDRlLDB4MzQsMHgwMiwweDhjLDB4MDgsMHhmMywweDgxLDB4MWUsMHhjMCwweDBlLDB4MzAsMHgwMywweDBlLDB4YzAgfX0sCi0gezE2LCAweDhlZjAsIDAsIHsweGYxLDB4MDAsMHhiMCwweGNhLDB4MGUsMHgyMSwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZjAwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwOCwweGZlLDB4MTAsMHgzZiwweGQyLDB4MGYsMHhlMCwweDAzLDB4ZWMsMHgwNCwweGZmLDB4MTQsMHg3ZSB9fSwKLSB7MTYsIDB4OGYxMCwgMCwgezB4YzAsMHgwZiwweGIxLDB4MjMsMHhmYywweDAxLDB4ZWUsMHgwMCwweDNhLDB4YzQsMHgwZCwweGIwLDB4MTMsMHhiYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweDhmMjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBlLDB4ZjAsMHg4MywweGZjLDB4MGMsMHhmZCwweDEwLDB4M2IsMHhjMCwweDJmLDB4ZTEsMHgwMywweGQwIH19LAotIHsxNiwgMHg4ZjMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4NDAsMHhmMCwweDgwLDB4MzIsMHhkMCB9fSwKLSB7MTYsIDB4OGY0MCwgMCwgezB4MGMsMHhhMCwweDAzLDB4NmMsMHgwMCwweGYzLDB4ODAsMHgzMiwweGRhLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweDhmNTAsIDAsIHsweDNlLDB4Y2MsMHg0YywweDk4LDB4MTMsMHgyYywweDEwLDB4ZmIsMHgwNCwweDNlLDB4YzQsMHgwYywweGYyLDB4ODMsMHhhNiwweDEwIH19LAotIHsxNiwgMHg4ZjYwLCAwLCB7MHhkZCwweDIwLDB4M2YsMHhkMSwweDBjLDB4YjAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGY3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4ODAsMHhiNywweDAwLDB4MjEsMHhjOCwweDBjLDB4NzAsMHgwMiwweGRjLDB4MDgsMHhiNywweDAwLDB4MjEgfX0sCi0gezE2LCAweDhmODAsIDAsIHsweGM4LDB4MGUsMHg3MCwweDIyLDB4ZDgsMHgwMCwweGI3LDB4MDAsMHgyYywweGMyLDB4MGEsMHg3MCwweDBhLDB4MWYsMHgwOCwweGI3IH19LAotIHsxNiwgMHg4ZjkwLCAwLCB7MHgwMCwweDM5LDB4YzgsMHgwYSwweDcwLDB4MDIsMHgxNCwweDAwLDB4YzUsMHg2OSwweDJjLDB4Y2EsMHgyYSwweDcwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4OGZhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YmYsMHg4MSwweDY0LDB4ZTEgfX0sCi0gezE2LCAweDhmYjAsIDAsIHsweDA4LDB4NzgsMHgwMiwweDVhLDB4MDEsMHhiZiwweDgwLDB4MjEsMHhlYywweDRiLDB4NzgsMHg0NiwweDlmLDB4MDgsMHgzNywweDgwIH19LAotIHsxNiwgMHg4ZmMwLCAwLCB7MHgyZCwweGU4LDB4ODgsMHgxOCwweDAyLDB4MWUsMHg4MSwweGI3LDB4YjAsMHgyZCwweGUwLDB4MDksMHg3YSwweDAyLDB4OGUsMHgwMCB9fSwKLSB7MTYsIDB4OGZkMCwgMCwgezB4OTUsMHhhMCwweDJkLDB4ZTQsMHgwOCwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmZTAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4YjMsMHg2MCwweDIwLDB4YzAsMHgwOCwweGI2LDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMSwweDIwIH19LAotIHsxNiwgMHg4ZmYwLCAwLCB7MHhjMCwweDhhLDB4YjAsMHg4NiwweGNmLDB4MDAsMHhiYiwweDEwLDB4NmMsMHhjMSwweDBhLDB4MzgsMHgwMiwweDBjLDB4MDEsMHhiMyB9fSwKLSB7MTYsIDB4OTAwMCwgMCwgezB4MDIsMHgyOCwweGMwLDB4MGIsMHhiMCwweDBhLDB4MGMsMHgwMCwweDgxLDB4MDAsMHgyZSwweGMwLDB4MGEsMHhiNCwweDgyLDB4ZDIgfX0sCi0gezE2LCAweDkwMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4NDAsMHhiNiwweDgwIH19LAotIHsxNiwgMHg5MDIwLCAwLCB7MHgwYywweGU0LDB4MDMsMHg3OCwweDgwLDB4ZmUsMHg3NCwweDMyLDB4ODAsMHgwYiwweGU2LDB4MDMsMHhmOSwweDAwLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4OTAzMCwgMCwgezB4M2UsMHg4MCwweDBjLDB4ZTAsMHgwMywweDI4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDRkLDB4YTAsMHgwMywweGE4LDB4MDAgfX0sCi0gezE2LCAweDkwNDAsIDAsIHsweGRhLDB4MDQsMHgzZSwweDgwLDB4MGMsMHhlNCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MDUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MmUsMHg4MCwweDIzLDB4ZTAsMHgwMCwweGY4LDB4MDEsMHgzYyB9fSwKLSB7MTYsIDB4OTA2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDIwLDB4ZjgsMHgyMCwweDNlLDB4MDEsMHg4ZiwweDg5LDB4MDMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweDkwNzAsIDAsIHsweDAwLDB4M2EsMHgxMCwweDBlLDB4ODAsMHgwMSwweGUwLDB4MDAsMHhlOCwweDQwLDB4N2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg5MDgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAxLDB4N2UsMHg0MCB9fSwKLSB7MTYsIDB4OTA5MCwgMCwgezB4MmMsMHg5MCwweDBiLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDY4LDB4MDUsMHg5MCwweDEzLDB4YTQsMHgwNCwweGQ5LDB4MDAgfX0sCi0gezE2LCAweDkwYTAsIDAsIHsweDMyLDB4NDEsMHgwZSwweDkxLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjAsMHgwZSwweDkwLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHg5MGIwLCAwLCB7MHhmMSwweDAwLDB4MzIsMHg0MCwweDY4LDB4OTAsMHg0MywweDgyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTBjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweDkwZDAsIDAsIHsweDcwLDB4ODgsMHg5MCwweDAzLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5OCwweDEyLDB4ZTQsMHgwMCwweGI5IH19LAotIHsxNiwgMHg5MGUwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyNiwweDAwLDB4YjksMHg4MCwweGEyLDB4NDAsMHgwOCwweDkwLDB4MTIsMHgyMCB9fSwKLSB7MTYsIDB4OTBmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHgwNCwweDJjLDB4NDAgfX0sCi0gezE2LCAweDkxMDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDI0LDB4MDEsMHhiOSwweDAwLDB4MmEsMHg0MCwweDBiLDB4YjAsMHgwMiwweGE0LDB4MDEsMHhiOSwweDAwIH19LAotIHsxNiwgMHg5MTEwLCAwLCB7MHhlMCwweDQwLDB4MGEsMHg5MCwweDgyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyYywweDQ4LDB4MGEsMHg5OCwweDAyLDB4MjQsMHg4MCB9fSwKLSB7MTYsIDB4OTEyMCwgMCwgezB4MzksMHgyMCwweDIyLDB4NDAsMHgyYSwweDkwLDB4MDIsMHg4NiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwMCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MTIsMHgwNCwweDEwLDB4YjEsMHgwNCwweDJjIH19LAotIHsxNiwgMHg5MTQwLCAwLCB7MHhkOCwweDBhLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4MjAsMHg0OCwweDA4LDB4MTAsMHgwMiwweGM0LDB4ODAsMHhiMSB9fSwKLSB7MTYsIDB4OTE1MCwgMCwgezB4MjIsMHgyYywweDUwLDB4OGEsMHgzMiwweDgyLDB4MDUsMHhhMCwweGIxLDB4MmEsMHgyMCwweDRhLDB4MGEsMHgxMiwweDgyLDB4MDIgfX0sCi0gezE2LCAweDkxNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg1MCwweGM4LDB4NTIsMHgyZSwweDE0IH19LAotIHsxNiwgMHg5MTcwLCAwLCB7MHgwYywweDg1LDB4MDMsMHgyMSwweDQwLDB4ZjgsMHg1MCwweDNhLDB4MDAsMHgxZiwweDg1LDB4MDMsMHhhMSwweDQwLDB4ZjgsMHg1MCB9fSwKLSB7MTYsIDB4OTE4MCwgMCwgezB4MzIsMHgxNCwweDBlLDB4ODAsMHgwMywweGExLDB4NDAsMHhmOCwweDUwLDB4M2MsMHg4MCwweDBlLDB4MDIsMHgwMywweDIwLDB4ODAgfX0sCi0gezE2LCAweDkxOTAsIDAsIHsweGZhLDB4MjAsMHgzMiwweDA4LDB4MGUsMHg4MiwweDEzLDB4YWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MWEwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg1MCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGZkLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OTFiMCwgMCwgezB4NDQsMHg4ZCwweGQwLDB4MDEsMHhiZCwweDAwLDB4ZmQsMHgwMiwweDNlLDB4NDQsMHgwZiwweGQ0LDB4MDAsMHhlNCwweDQ4LDB4NzkgfX0sCi0gezE2LCAweDkxYzAsIDAsIHsweDE0LDB4M2UsMHg1MCwweDBmLDB4OTIsMHhhMiwweGY0LDB4MDgsMHhmZCwweDAwLDB4M2UsMHg0YSwweDBkLDB4ZDIsMHg4MywweGU2IH19LAotIHsxNiwgMHg5MWQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU3LDB4MDAsMHhmOSwweDEwLDB4M2EsMHg2ZSB9fSwKLSB7MTYsIDB4OTFlMCwgMCwgezB4MGMsMHhiMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4NDQsMHgzYiwweDYxLDB4OGUsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4NDAgfX0sCi0gezE2LCAweDkxZjAsIDAsIHsweDMyLDB4NjYsMHgwZiwweGRhLDB4MGIsMHhhNywweDI4LDB4YzksMHhlMCwweDNmLDB4NjgsMHgwYywweGRhLDB4ODMsMHhiMywweDIwIH19LAotIHsxNiwgMHg5MjAwLCAwLCB7MHhlZCwweGEwLDB4MzMsMHg3OSwweDA4LDB4ZDgsMHgwMywweDQ2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTIxMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDAsMHhiOCwweGEwLDB4MmUsMHgzOCwweDA4LDB4OGEsMHgwMiwweGUyLDB4ODgsMHhlOCwweDgxLDB4MmUgfX0sCi0gezE2LCAweDkyMjAsIDAsIHsweDE0LDB4MDksMHgwYSwweDAzLDB4ZTIsMHg4MCwweGI4LDB4ODAsMHgzMiwweDMwLDB4MGIsMHg4NSwweDAyLDB4MjEsMHgwMSwweGE4IH19LAotIHsxNiwgMHg5MjMwLCAwLCB7MHhmNCwweDM4LDB4MmEsMHgwOCwweDBlLDB4Y2EsMHgyMywweDkwLDB4YzgsMHg1NCwweDM0LDB4MzgsMHgwOCwweDhhLDB4OTIsMHgwZSB9fSwKLSB7MTYsIDB4OTI0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHgwMCwweDI4LDB4NDAgfX0sCi0gezE2LCAweDkyNTAsIDAsIHsweDE5LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDIwLDB4MjgsMHg0MCwweDBiLDB4MTAsMHgwNiwweGM0LDB4MjAsMHhhMSwweGEyIH19LAotIHsxNiwgMHg5MjYwLCAwLCB7MHg2YywweDQ4LDB4MGIsMHgxMCwweDAyLDB4ODQsMHgwOCwweDgxLDB4MjAsMHgyYywweDUwLDB4MDksMHgxMCwweDAyLDB4YzQsMHgwNCB9fSwKLSB7MTYsIDB4OTI3MCwgMCwgezB4YjEsMHgwMCwweDI0LDB4NTgsMHgwOCwweDNjLDB4MDIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4YjksMHgyMCwweDJjLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDEwLDB4YTksMHg0MCwweDJlIH19LAotIHsxNiwgMHg5MjkwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiMSwweDAxLDB4MmEsMHg0MCwweDBiLDB4OTQsMHgwMiwweDI0LDB4MDAsMHhhOSB9fSwKLSB7MTYsIDB4OTJhMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDEsMHgxMCwweDUyLDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyNiwweDQwLDB4MDAsMHg5OCwweDAyLDB4NDYgfX0sCi0gezE2LCAweDkyYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4NjEsMHgzYSwweDQwIH19LAotIHsxNiwgMHg5MmMwLCAwLCB7MHgwZCwweDkwLDB4ODMsMHhlNSwweDIwLDB4ZjksMHgwMSwweDNhLDB4NDAsMHgyZSwweDkwLDB4MDIsMHhlNCwweDQwLDB4ZTksMHgwMSB9fSwKLSB7MTYsIDB4OTJkMCwgMCwgezB4OWUsMHg0MCwweDBmLDB4OTQsMHgwMywweGE0LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCwweDJkLDB4OTAsMHgwMiwweGU2LDB4MDggfX0sCi0gezE2LCAweDkyZTAsIDAsIHsweGI5LDB4MDEsMHgzNiwweDQwLDB4MmMsMHg5MCwweDAxLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MmYwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MmUsMHg5MCwweDAzLDB4ZTQsMHg4MCwweGY5LDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4OTMwMCwgMCwgezB4NDAsMHgwYywweDljLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwZiwweDEwLDB4NDMsMHg4NCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweDkzMTAsIDAsIHsweDAyLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweDgwLDB4ODAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDJmLDB4OTAsMHgwMywweDhhIH19LAotIHsxNiwgMHg5MzIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDQwLDB4MzYsMHgwMSB9fSwKLSB7MTYsIDB4OTMzMCwgMCwgezB4MGQsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGU4LDB4NDAsMHgzZSwweDA4LDB4MGMsMHg4MCwweDAzLDB4ZTEsMHgwMCwweGY4LDB4MDAgfX0sCi0gezE2LCAweDkzNDAsIDAsIHsweDMyLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHhhMCwweDEwLDB4ZjgsMHgwMCwweDMyLDB4MDQsMHgwZSwweDgwLDB4ODMsMHg2MCwweDAwIH19LAotIHsxNiwgMHg5MzUwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4MDAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTM2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDAxLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgyNCwweGU4LDB4MDAsMHgwYSwweDAwLDB4MmYgfX0sCi0gezE2LCAweDkzNzAsIDAsIHsweDgwLDB4MWEsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4MDAsMHgxNiwweDgwLDB4MGIsMHhlMCwweDAzLDB4MjgsMHgwOCwweGVhIH19LAotIHsxNiwgMHg5MzgwLCAwLCB7MHgwMCwweDMzLDB4OTAsMHgwOCwweGVjLDB4MWIsMHgyMiwweDgwLDB4YzYsMHgxNCwweDJmLDB4OTEsMHgwOCwweGEwLDB4NDMsMHg0YSB9fSwKLSB7MTYsIDB4OTM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4OTMsMHgwMCwweDI0LDB4YzAgfX0sCi0gezE2LCAweDkzYTAsIDAsIHsweDA5LDB4MzAsMHgxMiwweGNjLDB4MDQsMHhhMywweDA0LDB4NmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHg5M2IwLCAwLCB7MHgyYywweGMwLDB4MTMsMHgzMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAsMHhlNiwweGI4LDB4MGEsMHgzOCwweDAyLDB4NDQsMHgwOCB9fSwKLSB7MTYsIDB4OTNjMCwgMCwgezB4ODIsMHg1MCwweDJjLDB4ZDIsMHgzYSwweDMwLDB4MDIsMHg4YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzZDAsIDAsIHsweGEwLDB4MDEsMHgwZSwweDgwLDB4OTcsMHhiNCwweDIxLDB4YzQsMHg0OSwweDcxLDB4MDIsMHhkZSwweDgxLDB4ODcsMHgyMSwweDJkIH19LAotIHsxNiwgMHg5M2UwLCAwLCB7MHhkMCwweDBiLDB4N2IsMHgwMiwweDFjLDB4MDEsMHhiZiwweDIwLDB4MjksMHhjNCwweDBiLDB4MzAsMHgwMiwweDVjLDB4MDAsMHhhNyB9fSwKLSB7MTYsIDB4OTNmMCwgMCwgezB4YTEsMHgyMSwweGMwLDB4NGEsMHg3MCwweDhhLDB4MGMsMHg4MSwweDg0LDB4MDAsMHgyZCwweGQwLDB4MGEsMHg1MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweDk0MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHg4MiwweGRmLDB4YTAsMHgzNCwweGVjIH19LAotIHsxNiwgMHg5NDEwLCAwLCB7MHgwZCwweDc5LDB4MDIsMHhmZSwweDgwLDB4ZTcsMHhlOCwweDJmLDB4YTAsMHgwOSwweDdhLDB4MDIsMHg5ZSwweDAwLDB4ZjcsMHhhMiB9fSwKLSB7MTYsIDB4OTQyMCwgMCwgezB4MjUsMHhlYSwweDBiLDB4NDgsMHgwMywweDllLDB4MDQsMHhmZiwweGMwLDB4NjUsMHhlNCwweDBlLDB4NjgsMHgwMywweDVmLDB4MDAgfX0sCi0gezE2LCAweDk0MzAsIDAsIHsweGU0LDB4ODAsMHgzZCwweGUwLDB4MGUsMHhmOCwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NDQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg0OCwweGViLDB4MDUsMHgzZSwweGQ5LDB4MGUsMHhiMiwweDAzLDB4ZWMsMHgwMCwweGZiLDB4NjAsMHgzZSB9fSwKLSB7MTYsIDB4OTQ1MCwgMCwgezB4YzAsMHgwZSwweGIyLDB4ODMsMHhhYywweDAwLDB4ZjMsMHg1MCwweGE2LDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDk0NjAsIDAsIHsweDgwLDB4M2YsMHhkOCwweDBkLDB4YTAsMHgwMywweGVjLDB4MGEsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBkLDB4OTAsMHgwMywweDQyIH19LAotIHsxNiwgMHg5NDcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhiYiwweDkwLDB4M2UsMHhlMCB9fSwKLSB7MTYsIDB4OTQ4MCwgMCwgezB4MDgsMHgzOSwweDAzLDB4OWUsMHgyMCwweGNmLDB4ODIsMHg3NywweGUwLDB4MWYsMHhmOCwweDAzLDB4ZWUsMHgwMCwweGZmLDB4YzAgfX0sCi0gezE2LCAweDk0OTAsIDAsIHsweDNmLDB4ZTUsMHgwZCwweGY5LDB4MDMsMHhlZSwweDAwLDB4ZmIsMHg5MCwweDM3LDB4YTAsMHgwOCwweGY4LDB4MGYsMHgxZSwweDAwIH19LAotIHsxNiwgMHg5NGEwLCAwLCB7MHhjYywweDk0LDB4MzMsMHg2MCwweDBkLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTRiMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNywweDkwLDB4MmYsMHhlNCwweDA4LDB4N2EsMHgwMiwweDFlLDB4MDAsMHg4ZiwweDEyLDB4MjUgfX0sCi0gezE2LCAweDk0YzAsIDAsIHsweGQ4LDB4MGIsMHhiYiwweDAyLDB4MWUsMHgwMCwweGI3LDB4MDAsMHgyZCwweGU4LDB4MDgsMHg3ZCwweDgyLDB4ZGUsMHg0MCwweGJiIH19LAotIHsxNiwgMHg5NGQwLCAwLCB7MHhhMCwweDI3LDB4OTAsMHgwYSwweDc2LDB4MDIsMHg1YywweDgwLDB4ODUsMHgwMCwweDM3LDB4YzQsMHg0ZCwweDcxLDB4MDMsMHhlYSB9fSwKLSB7MTYsIDB4OTRlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YjcsMHgyMCwweDJkLDB4YzAgfX0sCi0gezE2LCAweDk0ZjAsIDAsIHsweDI5LDB4ZjIsMHgyMiwweGJjLDB4ODAsMHg5NywweDAwLDB4MjUsMHg0MSwweDBiLDB4NzAsMHgxMiwweDljLDB4MDAsMHhiNywweDA4IH19LAotIHsxNiwgMHg5NTAwLCAwLCB7MHgyOSwweGMwLDB4MDgsMHg0MiwweDEyLDB4ZGMsMHg0MCwweGI3LDB4MDAsMHgyOSwweGMwLDB4MDksMHg2MCwweDIyLDB4ZGMsMHgxMCB9fSwKLSB7MTYsIDB4OTUxMCwgMCwgezB4ODAsMHgwMCwweDIxLDB4NDAsMHgwOSwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1MjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4YjMsMHhjMCwweDJlLDB4YzAsMHgwOCwweDM0LDB4ODIsMHgyZCwweDAwLDB4OTMsMHgwMCwweDI0IH19LAotIHsxNiwgMHg5NTMwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgwMiwweDBmLDB4ODAsMHgxMywweDAwLDB4MmMsMHhjMCwweDBhLDB4MzQsMHhhMiwweGVjLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4OTU0MCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MGIsMHgwMCwweDAyLDB4Y2MsMHgwMCwweDgxLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzMCwweDAyLDB4ODkgfX0sCi0gezE2LCAweDk1NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMCwweGZmLDB4ZTAsMHgzZiwweGMwIH19LAotIHsxNiwgMHg5NTYwLCAwLCB7MHgwYywweGY0LDB4ODMsMHhiZCwweDAwLDB4ZGYsMHgwOCwweDM2LDB4NDAsMHgwYiwweDc1LDB4NDIsMHhmYywweDIwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4OTU3MCwgMCwgezB4M2IsMHhjMCwweDJjLDB4M2MsMHgwMywweGZjLDB4MDAsMHhiZiwweDAwLDB4YmUsMHhjMCwweDhkLDB4OTAsMHgwYiwweGFjLDB4MDIgfX0sCi0gezE2LCAweDk1ODAsIDAsIHsweGNhLDB4MDAsMHgyMiwweDgwLDB4MGQsMHhiMCwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDgsMHgxZSwweGMwLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4OTVhMCwgMCwgezB4MTAsMHgwZiwweGIwLDB4MjMsMHhhYywweDAxLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgzYywweDg0LDB4MDMsMHhlYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDk1YjAsIDAsIHsweDAwLDB4MjYsMHg0MCwweDBlLDB4OTQsMHgwYiwweDJjLDB4MDAsMHhmOSwweDQwLDB4M2UsMHg5MCwweDBlLDB4OTAsMHgxMywweGUwIH19LAotIHsxNiwgMHg5NWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDIsMHhjZiwweDAwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4OTVkMCwgMCwgezB4MGQsMHhmMCwweDBiLDB4M2MsMHgyMCwweGNmLDB4MDAsMHgzZCwweDAwLDB4MGUsMHhmMCwweDA3LDB4OWMsMHgwMSwweGNmLDB4MDIgfX0sCi0gezE2LCAweDk1ZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGM0LDB4MDMsMHgzYywweDAwLDB4Y2YsMHgwMCwweDBmLDB4YzAsMHgwZSwweDQ0LDB4MDMsMHgxZiwweDAyIH19LAotIHsxNiwgMHg5NWYwLCAwLCB7MHhjYywweDAwLDB4M2YsMHg4MCwweDJjLDB4NzAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTYwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDAyLDB4MmUsMHhjMCwweDBkLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhhYiwweDAwLDB4MDYgfX0sCi0gezE2LCAweDk2MTAsIDAsIHsweDIwLDB4MDgsMHhiMCwweDAzLDB4ZmMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwLDB4MGYsMHg4MCwweDA2LDB4YmMsMHgwMCwweGFiIH19LAotIHsxNiwgMHg5NjIwLCAwLCB7MHgwNCwweDNhLDB4ZjAsMHgwYywweDg4LDB4MDIsMHgyYywweDAwLDB4YzksMHg4MCwweDNhLDB4OTIsMHgwOCwweDkwLDB4MGEsMHhhMCB9fSwKLSB7MTYsIDB4OTYzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAgfX0sCi0gezE2LCAweDk2NDAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHg2MCwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDAsMHg4YiwweDAwIH19LAotIHsxNiwgMHg5NjUwLCAwLCB7MHg2ZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDliLDB4MDAsMHg0YywweGUwLDB4MGEsMHg5MCwweDIyLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OTY2MCwgMCwgezB4OGEsMHhjMiwweDJjLDB4NDAsMHgwOCwweGIwLDB4NDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2NzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4ODMsMHgwZCwweDJjLDB4YzYsMHgwOSwweDMxLDB4MDIsMHgwZCwweDgxLDB4YTMsMHgxMSwweDI0IH19LAotIHsxNiwgMHg5NjgwLCAwLCB7MHgwMCwweDhhLDB4YjEsMHhlMiwweDRjLDB4ODAsMHhhMywweDAwLDB4MmMsMHhjYywweDBiLDB4MDIsMHgwMiwweDhjLDB4ODAsMHhhMyB9fSwKLSB7MTYsIDB4OTY5MCwgMCwgezB4NDgsMHgwOCwweGMwLDB4MDgsMHgwMCwweDBhLDB4MGQsMHgwMCwweDgxLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ODIgfX0sCi0gezE2LCAweDk2YTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGNiLDB4MjAsMHgyZiwweGM4IH19LAotIHsxNiwgMHg5NmIwLCAwLCB7MHg4ZCwweGY2LDB4MTMsMHgyZCwweGIwLDB4OGYsMHgwMCwweDM2LDB4NDAsMHgwZiwweGYwLDB4MDIsMHhhZCwweGE4LDB4OGYsMHgxMCB9fSwKLSB7MTYsIDB4OTZjMCwgMCwgezB4M2YsMHhjYSwweDBiLDB4ODAsMHg5MiwweDJjLDB4MTAsMHhkYiwweDQwLDB4M2YsMHhjMCwweDBlLDB4MDAsMHgwMywweDJkLDB4MDQgfX0sCi0gezE2LCAweDk2ZDAsIDAsIHsweGM4LDB4MDIsMHgzZSwweDQwLDB4MGMsMHhiMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NmUwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGM4LDB4MGUsMHhmMSwweDAzLDB4ZWMsMHg4NCwweGZmLDB4MjAsMHgzNyB9fSwKLSB7MTYsIDB4OTZmMCwgMCwgezB4MDAsMHgwZCwweGIyLDB4MDMsMHhiYywweGEwLDB4ZmYsMHgwMCwweDNlLDB4YzksMHgwZSwweDgwLDB4MDMsMHhmZCwweDExLDB4ZmYgfX0sCi0gezE2LCAweDk3MDAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDBlLDB4YzAsMHgwMywweGZjLDB4ODAsMHhlZCwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHg0MywweDY4IH19LAotIHsxNiwgMHg5NzEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4OTAsMHhjYywweDkyLDB4M2IsMHhjOCB9fSwKLSB7MTYsIDB4OTcyMCwgMCwgezB4MGQsMHhmMCwweDgzLDB4NzMsMHgxMCwweGZmLDB4MjgsMHgzNywweGNhLDB4NGYsMHhiMiwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MjAgfX0sCi0gezE2LCAweDk3MzAsIDAsIHsweGIzLDB4YzQsMHgwZCwweDY4LDB4NDMsMHhmZSwweDE0LDB4Y2IsMHg4NCwweDMzLDB4ZTAsMHgwZCwweDc4LDB4MDMsMHhiZSwweDAwIH19LAotIHsxNiwgMHg5NzQwLCAwLCB7MHhmZiwweDgwLDB4MzcsMHhhMCwweDBjLDB4ZjMsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTc1MCwgMCwgezB4ODAsMHgwMCwweGZjLDB4NDgsMHg4MiwweDIxLDB4MDMsMHhmNCwweDBmLDB4ZjYsMHg0MiwweDIwLDB4MDQsMHg4YSwweDYwLDB4MmIgfX0sCi0gezE2LCAweDk3NjAsIDAsIHsweGRhLDB4MGIsMHhmOSwweDAyLDB4M2YsMHgwNCwweDhmLDB4NTIsMHgyMywweGQ1LDB4NGQsMHg4OCwweDAyLDB4YWUsMHgwMCwweGRiIH19LAotIHsxNiwgMHg5NzcwLCAwLCB7MHg4MCwweDM2LDB4YzAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDA0LDB4YjgsMHgwMCwweDIyLDB4NjAsMHgwZCwweDc0LDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4OTc4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweGEwLDB4ODAsMHgwMSwweDA4LDB4YzAgfX0sCi0gezE2LCAweDk3OTAsIDAsIHsweDRiLDB4MzAsMHg4MiwweDQyLDB4OTAsMHhhMywweDA4LDB4MmMsMHhjOCwweDFhLDB4MzAsMHgyMiwweDhkLDB4MDAsMHg5MywweDAwIH19LAotIHsxNiwgMHg5N2EwLCAwLCB7MHgyNCwweGM4LDB4MDksMHhhMCwweDEyLDB4MGMsMHgwNCwweGFiLDB4MDAsMHg2MiwweGMwLDB4MDksMHhiMCwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4OTdiMCwgMCwgezB4YjMsMHgwMCwweDI4LDB4ODAsMHgwOCwweDM2LDB4MDYsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk3YzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4ODgsMHgwOCwweDIyLDB4YzAsMHgwYSwweDMwLDB4MWEsMHgwMCwweDExLDB4ODIsMHgwMCwweDBhIH19LAotIHsxNiwgMHg5N2QwLCAwLCB7MHhjMCwweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHhjMCwweDA5LDB4OTEsMHgwMiwweGVjLDB4MjAsMHhiYiB9fSwKLSB7MTYsIDB4OTdlMCwgMCwgezB4MjgsMHg2NiwweGMwLDB4MDgsMHg4MCwweDAyLDB4NjAsMHgwMCwweGI4LDB4MDAsMHgyYSwweDQwLDB4ODEsMHhiMCwweDA2LDB4ZjggfX0sCi0gezE2LCAweDk3ZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZWMsMHgwMiwweGM4LDB4MDQsMHgzYSwweGMwIH19LAotIHsxNiwgMHg5ODAwLCAwLCB7MHg4OSwweGIwLDB4MDMsMHg2OCwweDAwLDB4ZTksMHhjMSwweDFlLDB4YzEsMHgwZSwweDMwLDB4MDMsMHhlYywweDAwLDB4ZGIsMHgwMCB9fSwKLSB7MTYsIDB4OTgxMCwgMCwgezB4MzYsMHhjMSwweDBkLDB4MDAsMHgyMywweDBlLDB4MDAsMHhlYiwweDgwLDB4MzIsMHhjOCwweGNkLDB4MzAsMHgzMiwweGVjLDB4MDggfX0sCi0gezE2LCAweDk4MjAsIDAsIHsweGYzLDB4MDAsMHgzYywweDgwLDB4MGMsMHhiMCwweDA2LDB4ODAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ODMwLCAwLCB7MHhlMCwweDAxLDB4OWMsMHgwMCwweDdjLDB4MDAsMHgzZiwweGMwLDB4MGIsMHhiMCwweDQzLDB4ZmQsMHgwMCwweGJlLDB4YzQsMHgzNyB9fSwKLSB7MTYsIDB4OTg0MCwgMCwgezB4YzAsMHgxZiwweGYwLDB4MDMsMHg1YywweDAwLDB4ZmYsMHgwMSwweDNiLDB4YzAsMHgwZSwweGM4LDB4MDMsMHhiZiwweDIwLDB4ZGYgfX0sCi0gezE2LCAweDk4NTAsIDAsIHsweDAwLDB4M2YsMHhkMCwweDBmLDB4YzAsMHgxMywweGIwLDB4MDAsMHg3YywweDAwLDB4YjcsMHg0MCwweDBmLDB4ZjAsMHgxYiwweGIwIH19LAotIHsxNiwgMHg5ODYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MGMsMHhkOCwweDQxLDB4MzIsMHhjMCB9fSwKLSB7MTYsIDB4OTg3MCwgMCwgezB4MGUsMHhiMCwweDA3LDB4YTgsMHgwMSwweDY5LDB4NDAsMHhiMiwweGMwLDB4OGQsMHhiMCwweGEzLDB4ZWMsMHgwOCwweGYzLDB4MDAgfX0sCi0gezE2LCAweDk4ODAsIDAsIHsweDMyLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlZCwweDAwLDB4ZmIsMHg0OCwweDNhLDB4YzAsMHgwZCwweGIwLDB4ODMsMHgyYywweDAwIH19LAotIHsxNiwgMHg5ODkwLCAwLCB7MHhmYiwweDIwLDB4M2UsMHg4MCwweDBmLDB4NzAsMHgyMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OThhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhjMCwweDA4LDB4ZjAsMHgwNiwweDJjLDB4MTAsMHg4OCwweDUxLDB4MzcgfX0sCi0gezE2LCAweDk4YjAsIDAsIHsweGMwLDB4MDgsMHhmMCwweDA3LDB4N2QsMHg2MCwweDhmLDB4MDIsMHgzNywweGMwLDB4MGIsMHg4YywweDAwLDB4MmQsMHgwMCwweGIzIH19LAotIHsxNiwgMHg5OGMwLCAwLCB7MHgwMCwweDM4LDB4YzAsMHgwOCwweDgwLDB4ODIsMHgyMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4NTAsMHgwYiwweGYwLDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4OThkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4OTgsMHgwMCwweDI4LDB4YzAgfX0sCi0gezE2LCAweDk4ZTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDg0LDB4MDQsMHhhMywweDAwLDB4MDAsMHhjMCwweDY4LDB4MzksMHgwNiwweDBjLDB4MTAsMHg5MywweDIwIH19LAotIHsxNiwgMHg5OGYwLCAwLCB7MHgyMiwweGMwLDB4OWIsMHgwMSwweGEwLDB4OGYsMHgxNCwweDMzLDB4MTQsMHgyOCwweGMwLDB4MDksMHgzYywweDAyLDB4MGMsMHgwMSB9fSwKLSB7MTYsIDB4OTkwMCwgMCwgezB4OTMsMHg0MCwweDJjLDB4ODgsMHgwYiwweDMwLDB4MDIsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5MTAsIDAsIHsweDYwLDB4MDEsMHgxZSwweDEwLDB4ODcsMHg4MCwweDI5LDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzZSwweDAwLDB4ODMsMHg5MCwweDI0IH19LAotIHsxNiwgMHg5OTIwLCAwLCB7MHhlMCwweDA4LDB4NzgsMHgxMCwweGNlLDB4MDQsMHgwNywweDkxLDB4MjUsMHhlMCwweDgzLDB4YzksMHgwMiwweDFlLDB4MDQsMHhiNyB9fSwKLSB7MTYsIDB4OTkzMCwgMCwgezB4ODQsMHgyYiwweGE0LDB4MDgsMHg0OCwweDQyLDB4MTIsMHhjYywweGI0LDB4ODAsMHgyZCwweDY0LDB4MGIsMHg3OCwweDAyLDB4MTkgfX0sCi0gezE2LCAweDk5NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MmMsMHgwMCwweGQwLDB4MTAsMHgyOCwweGM4IH19LAotIHsxNiwgMHg5OTUwLCAwLCB7MHgwZSwweDNiLDB4MDIsMHg4NCwweDAwLDB4ZTMsMHg0MCwweDMwLDB4YzgsMHgwYywweDM4LDB4NjIsMHg4YywweDAwLDB4NTMsMHgwMCB9fSwKLSB7MTYsIDB4OTk2MCwgMCwgezB4MzAsMHhjNCwweDFmLDB4MDAsMHgyMywweDhjLDB4M2MsMHhmMywweDgwLDB4MTgsMHhjMCwweDBkLDB4MzAsMHgwMywweDBlLDB4ODAgfX0sCi0gezE2LCAweDk5NzAsIDAsIHsweGQzLDB4MTAsMHgzYywweDgwLDB4MGYsMHgzMCwweDAzLDB4OTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OTgwLCAwLCB7MHg0MCwweDFkLDB4YmQsMHgwMCwweGY5LDB4MTIsMHhiNCwweGMwLDB4MDcsMHhiMCwweDAzLDB4Y2MsMHgwMCwweDRhLDB4MDAsMHg3NyB9fSwKLSB7MTYsIDB4OTk5MCwgMCwgezB4YzAsMHgwZSwweDcxLDB4NDMsMHg2YywweDAwLDB4ZjMsMHgwMCwweDNmLDB4ZDAsMHgxZiwweGQwLDB4NTMsMHhhYywweDY4LDB4ZmIgfX0sCi0gezE2LCAweDk5YTAsIDAsIHsweDE4LDB4M2QsMHhjMCwweDBmLDB4YzAsMHgxMywweGYwLDB4NTAsMHhmYywweDA0LDB4M2YsMHg0MCwweDBmLDB4ZjQsMHgwMywweDkwIH19LAotIHsxNiwgMHg5OWIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVkLDB4NDAsMHhmOCwweDA0LDB4M2UsMHhkMiB9fSwKLSB7MTYsIDB4OTljMCwgMCwgezB4MGYsMHhiMywweDEzLDB4ZTAsMHgxMCwweGY5LDB4MDAsMHhiMiwweGNjLDB4MGUsMHhiYSwweDAzLDB4NmQsMHg4MCwweGRiLDB4MDIgfX0sCi0gezE2LCAweDk5ZDAsIDAsIHsweDMyLDB4ZGMsMHg0ZiwweDAwLDB4MDMsMHg2YywweDA0LDB4ZjMsMHgwMiwweDM2LDB4NDAsMHgwZSwweGIwLDB4MDMsMHhjYywweDAwIH19LAotIHsxNiwgMHg5OWUwLCAwLCB7MHg0YiwweDAwLDB4M2MsMHg4MCwweDBjLDB4ZjEsMHgwMywweDYyLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTlmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNCwweDAwLDB4MmQsMHhjOSwweDBiLDB4NzAsMHg4MiwweGRjLDB4MDAsMHhiYywweDA0LDB4MjEgfX0sCi0gezE2LCAweDlhMDAsIDAsIHsweGM0LDB4NGIsMHgzNywweDAyLDB4MGMsMHhhMCwweDhmLDB4NzQsMHgyMSwweGMwLDB4MGIsMHg0MCwweDAyLDB4MWMsMHg4MSwweGI3IH19LAotIHsxNiwgMHg5YTEwLCAwLCB7MHgyMCwweDJiLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkMCwweDAyLDB4ODQsMHgwMCwweDJkLDB4NDAsMHgwYSwweGYyLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4OWEyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDgwLDB4YjQsMHhjMCwweDJkLDB4ZTQgfX0sCi0gezE2LCAweDlhMzAsIDAsIHsweDBiLDB4N2EsMHgwMiwweGQyLDB4MDAsMHhiNSwweDg4LDB4MjEsMHhlOCwweDBhLDB4NzgsMHgwMiwweGRlLDB4NDAsMHg5NywweDAwIH19LAotIHsxNiwgMHg5YTQwLCAwLCB7MHgyMSwweGU4LDB4MGIsMHhjYywweDQ2LDB4NWUsMHgyOCwweGI3LDB4YzQsMHgyMSwweGYwLDB4MGEsMHg3OCwweDAyLDB4ZmUsMHgwOCB9fSwKLSB7MTYsIDB4OWE1MCwgMCwgezB4OTcsMHg4NCwweDJkLDB4YTAsMHgwOCwweDc4LDB4MDIsMHg3MCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhNjAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAwLDB4YjAsMHhjMCwweDJjLDB4YzAsMHg5YiwweGIwLDB4MDIsMHhjYywweDIwLDB4YjMsMHg2MCwweDIyIH19LAotIHsxNiwgMHg5YTcwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgwMiwweDhjLDB4MDAsMHg4MywweDAxLDB4MjAsMHhjMCwweDFiLDB4MDYsMHgxNiwweDRmLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4OWE4MCwgMCwgezB4YTAsMHgyYSwweGYwLDB4MDgsMHgwMCwweDAyLDB4ZTAsMHgwMCwweDkwLDB4MDAsMHgyYywweDQwLDB4MGEsMHgzMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweDlhOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgxMCwweGZlLDB4YzAsMHgzZSwweDgwIH19LAotIHsxNiwgMHg5YWEwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhmOSwweDA4LDB4ZmUsMHg0MCwweDIyLDB4ODAsMHgwZSwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZDIsMHgwMCB9fSwKLSB7MTYsIDB4OWFiMCwgMCwgezB4MzIsMHg4MCwweDhmLDB4ZTAsMHgwMywweDU4LDB4MDAsMHhmNiwweDAwLDB4MzMsMHhiMCwweDBlLDB4MjAsMHgwMiwweGU4LDB4MGMgfX0sCi0gezE2LCAweDlhYzAsIDAsIHsweGQyLDB4MDIsMHgzYywweDgwLDB4MGMsMHhhMCwweDAzLDB4N2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YWQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MjAsMHgzZSwweDAxLDB4MGIsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGYwLDB4NDAsMHgzZSB9fSwKLSB7MTYsIDB4OWFlMCwgMCwgezB4MDAsMHg1NywweDgwLDB4MjMsMHgwMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDMwLDB4MzggfX0sCi0gezE2LCAweDlhZjAsIDAsIHsweDAwLDB4M2EsMHgwOCwweDBmLDB4YzQsMHgwMywweGYwLDB4MDAsMHhlYywweDAwLDB4M2YsMHgxMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg5YjAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAxLDB4M2MsMHg0OCB9fSwKLSB7MTYsIDB4OWIxMCwgMCwgezB4NGMsMHg5MCwweDBiLDB4MjQsMHgwMSwweGM5LDB4YzAsMHgzMiwweDQwLDB4YWMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGQ5LDB4NDAgfX0sCi0gezE2LCAweDliMjAsIDAsIHsweDMwLDB4NDAsMHgwZCwweDlhLDB4MDMsMHgyMiwweDg0LDB4YzgsMHgxNCwweDMyLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHg5YjMwLCAwLCB7MHhjOSwweDAwLDB4ODIsMHg2OCwweDJjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWI0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgyMiwweDI0LDB4MDAsMHg4OSwweDAyLDB4ODIgfX0sCi0gezE2LCAweDliNTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTcsMHg0MCwweDg5LDB4ODAsMHgzNiwweDQxLDB4OGQsMHgxOCwweDAyLDB4YTAsMHgyNCwweGE4IH19LAotIHsxNiwgMHg5YjYwLCAwLCB7MHgwNCwweDYyLDB4NDAsMHgwOCwweDk0LDB4ODMsMHgyNCwweDAwLDB4ODksMHgwMSwweDIyLDB4NzIsMHgwOCwweDkwLDB4MGIsMHgyMCB9fSwKLSB7MTYsIDB4OWI3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4OTksMHgwMCwweDJhLDB4NDAgfX0sCi0gezE2LCAweDliODAsIDAsIHsweDI4LDB4OTAsMHgxMiwweDA0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4MjAsMHg5OSwweDAwIH19LAotIHsxNiwgMHg5YjkwLCAwLCB7MHgyMiwweDQwLDB4MTgsMHg5MCwweDA2LDB4MjAsMHgwMSwweDg4LDB4MDgsMHg2MiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MzQsMHgxMCB9fSwKLSB7MTYsIDB4OWJhMCwgMCwgezB4OGQsMHg4MSwweDIzLDB4NDEsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwNCwweDJjLDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAyLDB4ODMsMHgyMCwweDIwIH19LAotIHsxNiwgMHg5YmMwLCAwLCB7MHg0OCwweDA4LDB4MTIsMHgwMiwweGM0LDB4ODAsMHg4MywweDYwLDB4MjQsMHg0OCwweDE5LDB4MzQsMHg2MiwweGE1LDB4MDQsMHhhMSB9fSwKLSB7MTYsIDB4OWJkMCwgMCwgezB4MDIsMHg2MCwweDQwLDB4MDgsMHhkMCwweDAyLDB4NTQsMHgwMCwweDhkLDB4MDAsMHgyOSwweDQwLDB4MDgsMHgxMiwweDgyLDB4MDIgfX0sCi0gezE2LCAweDliZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzYSwweDgwIH19LAotIHsxNiwgMHg5YmYwLCAwLCB7MHgwYywweDg1LDB4MDIsMHgyMSwweDQ0LDB4ODgsMHg1MCwweDMyLDB4MTQsMHg0YywweDgwLDB4NDMsMHhlMCwweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4OWMwMCwgMCwgezB4MjIsMHgxNCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjOCwweDAwLDB4YTIsMHgwMCwweDBlLDB4ODAsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweDljMTAsIDAsIHsweGM4LDB4MDAsMHgzMywweDAwLDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YzIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0NCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHgxMCwweGZmLDB4MTAsMHgzZSB9fSwKLSB7MTYsIDB4OWMzMCwgMCwgezB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwYiwweGYwLDB4MTMsMHhlNSwweDEwLDB4ZjkgfX0sCi0gezE2LCAweDljNDAsIDAsIHsweDQwLDB4M2YsMHg0YSwweDJmLDB4OTIsMHg4YSwweGE0LDB4YTIsMHhmOSwweDI4LDB4MzYsMHg0MCwweDBmLDB4OTIsMHg4MywweGE2IH19LAotIHsxNiwgMHg5YzUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGU2LDB4YzAsMHhjMSwweDAwLDB4M2YsMHg2OSB9fSwKLSB7MTYsIDB4OWM2MCwgMCwgezB4MGMsMHg5YSwweDQzLDB4NmMsMHgwMCwweGZkLDB4YTAsMHgzZSwweDc4LDB4MmMsMHhkOCwweDA3LDB4ZDYsMHgwMiwweGQ1LDB4OTYgfX0sCi0gezE2LCAweDljNzAsIDAsIHsweDMyLDB4NzgsMHgwZCwweDkwLDB4MDMsMHgyNywweDAwLDB4ZmQsMHhhMCwweDM1LDB4NTAsMHgwNiwweGQ0LDB4MDMsMHhlNSwweDAwIH19LAotIHsxNiwgMHg5YzgwLCAwLCB7MHhmZCwweDQwLDB4YjMsMHg0MCwweDBmLDB4OTgsMHhhMywweDQ2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWM5MCwgMCwgezB4MzgsMHgxMCwweGUzLDB4YzIsMHg4OCwweDg4LDB4MmUsMHgxNCwweGE4LDB4OGEsMHhjMiwweDIyLDB4YTAsMHhiOCwweGMwLDB4MmMgfX0sCi0gezE2LCAweDljYTAsIDAsIHsweDI0LDB4NDgsMHg4NCwweDAyLDB4ZTEsMHgwMCwweDk4LDB4YzQsMHgyMCwweDNjLDB4MDgsMHg4YSwweDgyLDB4MjMsMHg4MCwweGI4IH19LAotIHsxNiwgMHg5Y2IwLCAwLCB7MHgwNCwweDIyLDB4MjAsMHgwOCwweDg4LDB4MDMsMHhhMiwweDAwLDB4YjgsMHhhMCwweDIyLDB4MDAsMHgwYiwweDg4LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4OWNjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4YTEsMHgyMCwweDZjLDB4NDAgfX0sCi0gezE2LCAweDljZDAsIDAsIHsweDBhLDB4MTQsMHgwMiwweDQ0LDB4MDQsMHhhMSwweDY4LDB4MmMsMHg0OCwweDA4LDB4MTQsMHgwMiwweGM1LDB4MDAsMHg4MSwweDYwIH19LAotIHsxNiwgMHg5Y2UwLCAwLCB7MHgyMCwweDQ4LDB4MTksMHg5MCwweDAyLDB4ODUsMHg4MSwweGIxLDB4NDAsMHgyNCwweDY4LDB4MGEsMHgxMiwweDQyLDB4YzQsMHg4MCB9fSwKLSB7MTYsIDB4OWNmMCwgMCwgezB4YjksMHgyMCwweDIwLDB4NDAsMHg4YiwweDEwLDB4ODIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkMDAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDEwLDB4YTksMHgwMCwweDZlLDB4YzAsMHgwYSwweDEwLDB4MDIsMHgyNCwweDE0LDB4YjksMHgwMCwweDJlIH19LAotIHsxNiwgMHg5ZDEwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgxMiwweGU0LDB4MDAsMHg5OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4ODAsMHgwNiwweGEwLDB4NjAsMHhiOSB9fSwKLSB7MTYsIDB4OWQyMCwgMCwgezB4MDksMHgyMiwweDYwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgwMiwweDQwLDB4MGIsMHgxMCwweDA2LDB4MDYgfX0sCi0gezE2LCAweDlkMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweGU5LDB4ODAsMHgzZSwweDQxIH19LAotIHsxNiwgMHg5ZDQwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZTksMHhjMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDIsMHhlNCwweDAwLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4OWQ1MCwgMCwgezB4MjIsMHg0MSwweDBkLDB4ODAsMHgwMiwweGEzLDB4MDQsMHhmMSwweDQwLDB4MzYsMHg0MCwweDBlLDB4OTAsMHgwMiwweGU0LDB4MDAgfX0sCi0gezE2LCAweDlkNjAsIDAsIHsweGYxLDB4MDAsMHgxMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZDcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGQ5LDB4MjIsMHgzZSwweDQyLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGI5LDB4YzQsMHgzYyB9fSwKLSB7MTYsIDB4OWQ4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMiwweGFlLDB4NDAsMHgwZiwweDgwLDB4NGIsMHg2MiwweDEwLDB4ZjkgfX0sCi0gezE2LCAweDlkOTAsIDAsIHsweDIwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAyLDB4N2UsMHg0MSwweDBmLDB4OTAsMHgxMywweGNhIH19LAotIHsxNiwgMHg5ZGEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweDgwLDB4MDAsMHhjOCwweDAwLDB4MzgsMHgwMCB9fSwKLSB7MTYsIDB4OWRiMCwgMCwgezB4MGYsMHg4MCwweDIwLDB4ZTAsMHgwMCwweGE4LDB4MjAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDA3LDB4ZTAsMHg4MCwweGM4LDB4MDAgfX0sCi0gezE2LCAweDlkYzAsIDAsIHsweDM4LDB4MDAsMHgwZCwweDgwLDB4ODMsMHgyMSwweDEwLDB4ZjgsMHg2MCwweDMyLDB4MDAsMHg4ZSwweDgwLDB4YjMsMHgyMCwweDA4IH19LAotIHsxNiwgMHg5ZGQwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWRlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHg4YSwweDAwLDB4MzMsMHg5MCwweDQzLDB4YTAsMHgyMiwweDI4LDB4MDAsMHg4ZSwweDgwLDB4NzYgfX0sCi0gezE2LCAweDlkZjAsIDAsIHsweDgwLDB4MDgsMHhlMSwweDAzLDB4MTksMHgwMCwweDg2LDB4ODAsMHgyMiwweDgwLDB4MGQsMHg2MCwweDAxLDB4NzgsMHgwMCwweGJlIH19LAotIHsxNiwgMHg5ZTAwLCAwLCB7MHgwMCwweDM2LDB4ODAsMHgwYywweGU0LDB4MDIsMHhhOCwweDEwLDB4YmUsMHhhMCwweDJmLDB4ODAsMHgwZCwweGEwLDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4OWUxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTEsMHg0YywweDA0LDB4MDMsMHgwNCwweDJjLDB4ZDQgfX0sCi0gezE2LCAweDllMjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDRjLDB4MDEsMHhhMywweGM0LDB4MjAsMHhjMCwweDI4LDB4MzUsMHgwMiwweDg2LDB4MDAsMHg4MywweDgwIH19LAotIHsxNiwgMHg5ZTMwLCAwLCB7MHgyOCwweGMwLDB4MDgsMHgzOCwweDA2LDB4MGUsMHg5NCwweDMwLDB4YzAsMHhhMiwweGMwLDB4MGIsMHgzYywweDAyLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4OWU0MCwgMCwgezB4YjMsMHg4MCwweDJjLDB4NDgsMHgwOCwweDMwLDB4MDIsMHg4YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllNTAsIDAsIHsweGEwLDB4MDEsMHgwYywweDA0LDB4OGYsMHg4MCwweDIxLDB4YzEsMHgxYiwweDcyLDB4NDIsMHgxZSwweGMwLDB4ODMsMHg4OCwweDIxIH19LAotIHsxNiwgMHg5ZTYwLCAwLCB7MHhjMCwweDE4LDB4MjgsMHgwNiwweDEwLDB4MjEsMHg4NiwweDM4LDB4MjEsMHhjMCwweDE5LDB4ZjcsMHgwMiwweDVkLDB4YzAsMHhiNCB9fSwKLSB7MTYsIDB4OWU3MCwgMCwgezB4NDEsMHgyNywweGQwLDB4MDgsMHg3OCwweGM2LDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyZiwweDYwLDB4MDksMHg3MiwweDAyLDB4MjggfX0sCi0gezE2LCAweDllODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMiwweGM3LDB4ODAsMHgyZCwweGEwIH19LAotIHsxNiwgMHg5ZTkwLCAwLCB7MHgwZiwweDNlLDB4MDMsMHhmZSwweDgwLDB4YTcsMHg4MCwweGExLDB4ZTAsMHgwYywweDc4LDB4MDIsMHg5NCwweDAwLDB4ODUsMHhhMCB9fSwKLSB7MTYsIDB4OWVhMCwgMCwgezB4MzksMHhlNCwweDBjLDB4NzgsMHgxMywweDFlLDB4OTAsMHhiNSwweDg0LDB4MzEsMHhlMCwweDBmLDB4ZjgsMHg4NywweDFlLDB4MDQgfX0sCi0gezE2LCAweDllYjAsIDAsIHsweGY3LDB4ODAsMHgzZCwweDYwLDB4MGMsMHgzYiwweDAzLDB4YWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZWMwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHhlNCwweGZiLDB4NTQsMHgzZSwweDgwLDB4MGYsMHhiNCwweDIzLDB4ZWMsMHgzMiwweGZiLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OWVkMCwgMCwgezB4ZDgsMHg0ZiwweGEwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4YzAsMHgwZiwweDMwLDB4MzMsMHhlYywweDA0LDB4ZjIgfX0sCi0gezE2LCAweDllZTAsIDAsIHsweDAxLDB4M2UsMHhjMCwweDBmLDB4YjIsMHgwMywweGZlLDB4MTAsMHhmYiwweDY4LDB4M2MsMHg0MSwweDBmLDB4ZjAsMHg0MywweDgyIH19LAotIHsxNiwgMHg5ZWYwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhjZiwweGU0LDB4M2YsMHhlNCB9fSwKLSB7MTYsIDB4OWYwMCwgMCwgezB4MGMsMHhmYywweDAzLDB4N2UsMHg4MCwweGNmLDB4ODEsMHgzMywweGZhLDB4MGYsMHhmOCwweDAzLDB4ZjYsMHgwMCwweGZmLDB4ODAgfX0sCi0gezE2LCAweDlmMTAsIDAsIHsweDNmLDB4ZTIsMHgwZiwweDc5LDB4MDMsMHgzZSwweDQwLDB4ZjQsMHg4MCwweDMzLDB4NjAsMHgwYywweGU4LDB4MDMsMHgzZSwweDAwIH19LAotIHsxNiwgMHg5ZjIwLCAwLCB7MHhmZiwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZjgsMHg4MywweDUwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWYzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhkNywweGEwLDB4MmQsMHhjNCwweDA4LDB4YmEsMHgwMiwweDNjLDB4YTAsMHg4NywweDIwLDB4MjEgfX0sCi0gezE2LCAweDlmNDAsIDAsIHsweGMwLDB4MGYsMHg1MiwweDAzLDB4ZDQsMHgwMCwweGI2LDB4MTAsMHgyZCwweGMwLDB4OGIsMHg3MywweDAzLDB4NWMsMHg0MCwweGI0IH19LAotIHsxNiwgMHg5ZjUwLCAwLCB7MHhiMCwweDJiLDB4NDgsMHgyOCwweDQxLDB4MDIsMHgwYywweDAwLDB4YmYsMHgxOCwweDM1LDB4NDYsMHgyOCwweDcyLDB4NDIsMHgyYSB9fSwKLSB7MTYsIDB4OWY2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDAsMHg5YywweDAwLDB4ODcsMHg0MSwweDJkLDB4NDQgfX0sCi0gezE2LCAweDlmNzAsIDAsIHsweDBhLDB4NzMsMHgwMiwweDljLDB4YzQsMHg4MSwweDAwLDB4NmQsMHhjOCwweDhiLDB4NzAsMHgwMiwweGQ0LDB4MDAsMHhiNywweDAwIH19LAotIHsxNiwgMHg5ZjgwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHhmMCwweDQ2LDB4OWMsMHg1NSwweGI0LDB4MjAsMHgyNSwweDQwLDB4MTgsMHg2MCwweDgyLDB4MWMsMHgwMCB9fSwKLSB7MTYsIDB4OWY5MCwgMCwgezB4YjcsMHgwMCwweDIzLDB4NDAsMHgwOCwweDcwLDB4NDYsMHg0NCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmYTAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4OTMsMHgwMCwweDJjLDB4NDAsMHgwYiwweGIwLDB4MDIsMHgwYywweDgyLDB4ODAsMHhjMCwweDIwIH19LAotIHsxNiwgMHg5ZmIwLCAwLCB7MHhjMCwweDBhLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDFiLDB4MzAsMHgwMCwweGNkLDB4MDEsMHhiMCB9fSwKLSB7MTYsIDB4OWZjMCwgMCwgezB4NDAsMHhhYywweDc4LDB4ODgsMHg4YywweDA2LDB4MGQsMHg2MCwweGIzLDB4NGMsMHgyNCwweDEyLDB4MDgsMHgzMCwweDBhLDB4MTggfX0sCi0gezE2LCAweDlmZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDE1LDB4YmMsMHgwMCwweGM3LDB4MDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHg5ZmUwLCAwLCB7MHgwZSwweGYwLDB4MmEsMHhiZiwweDAwLDB4YzgsMHhjOCwweGJmLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDA0LDB4YmYsMHgwMCB9fSwKLSB7MTYsIDB4OWZmMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4YjIsMHgwYSwweGFjLDB4MDAsMHhmOCwweDgwLDB4MzQsMHg0OSwweDBjLDB4YjksMHgwYiwweDNmLDB4MDAgfX0sCi0gezE2LCAweGEwMDAsIDAsIHsweGZiLDB4YzAsMHgzMCwweGYwLDB4MGMsMHhmMCwweDAzLDB4NmUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMDEwLCAwLCB7MHg4MCwweDAwLDB4Y2MsMHgwMCwweGZiLDB4ODAsMHgzZSwweDQxLDB4MmMsMHhiMCwweDEzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTAyMCwgMCwgezB4YzEsMHgwZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHg0MCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MGIsMHg2ZCwweDQwLDB4ZjggfX0sCi0gezE2LCAweGEwMzAsIDAsIHsweDEwLDB4M2EsMHg0MCwweDBmLDB4YjAsMHgwMywweGVjLDB4MTAsMHhmZSwweDQwLDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweGUxIH19LAotIHsxNiwgMHhhMDQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGVjLDB4MGMsMHhkZiwweDAwLDB4M2IsMHg4MCB9fSwKLSB7MTYsIDB4YTA1MCwgMCwgezB4MGYsMHhmMCwweDBiLDB4M2MsMHgwOCwweGU3LDB4MDgsMHgzMywweGMwLDB4MGIsMHhkMCwweDIzLDB4NzQsMHgwMCwweDU0LDB4MDAgfX0sCi0gezE2LCAweGEwNjAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGYwLDB4ODMsMHhiZSwweDIwLDB4ZmQsMHgwYywweDNiLDB4NjAsMHgyYywweGUwLDB4MDMsMHgzYywweDAwIH19LAotIHsxNiwgMHhhMDcwLCAwLCB7MHhjZiwweDEyLDB4MzMsMHg1MCwweDBjLDB4MzAsMHgwMywweDgwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTA4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDQsMHhhYiwweDAwLDB4MjIsMHhhMCwweDBiLDB4YjAsMHgwNiwweDBjLDB4MDAsMHhhYiwweDQwLDB4MzYgfX0sCi0gezE2LCAweGEwOTAsIDAsIHsweGMwLDB4MGIsMHhhOCwweDAyLDB4NjYsMHgwMCwweGI4LDB4MDAsMHgzNiwweGMxLDB4MGIsMHgzNCwweDQzLDB4ZWUsMHgwMCwweGIyIH19LAotIHsxNiwgMHhhMGEwLCAwLCB7MHgwMCwweDIyLDB4NjAsMHgwOCwweGI0LDB4ODIsMHg4YywweDA0LDB4OGEsMHgyMSwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YTBiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OWIsMHgwMCwweDJhLDB4MjAgfX0sCi0gezE2LCAweGEwYzAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4OCwweGM1LDB4MjIsMHhjMCwweDBiLDB4ODgsMHg4MiwweGU2LDB4MDEsMHhiYiwweDA4IH19LAotIHsxNiwgMHhhMGQwLCAwLCB7MHgyMiwweGMwLDB4MGEsMHhiMiwweDgyLDB4YWMsMHg2MCwweGI4LDB4MDIsMHg0YSwweGM0LDB4MDgsMHhiMSwweDAyLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4YTBlMCwgMCwgezB4ODMsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YWIsMHgyMCwweDIwLDB4MDEsMHgwYiwweDMyLDB4MDYsMHgyYywweDAwLDB4YTAsMHgwMCwweDIwIH19LAotIHsxNiwgMHhhMTAwLCAwLCB7MHhjMCwweDA5LDB4MDQsMHgyMiwweGM0LDB4MDAsMHhiMiwweDAwLDB4MjQsMHhjMSwweDhiLDB4YjAsMHgwMiwweDRjLDB4MDAsMHhiMCB9fSwKLSB7MTYsIDB4YTExMCwgMCwgezB4MDAsMHg2MiwweGMwLDB4NDgsMHgzMCwweDAyLDB4YWMsMHgxMCwweDgyLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGExMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwOCwweGRmLDB4MmEsMHgzYSwweDAwIH19LAotIHsxNiwgMHhhMTMwLCAwLCB7MHgwZiwweGY1LDB4MTIsMHgzYywweDEwLDB4YzksMHgwMCwweGEzLDB4YzAsMHgwZiwweDgwLDB4NTMsMHhlYywweDAxLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4YTE0MCwgMCwgezB4MzMsMHhjMCwweDBlLDB4YjAsMHgwMywweGFjLDB4MDQsMHhmOCwweDcwLDB4M2EsMHhjMCwweDBjLDB4NjAsMHg0MywweDJjLDB4NDIgfX0sCi0gezE2LCAweGExNTAsIDAsIHsweGNkLDB4MDAsMHhiMiwweDQwLDB4MmMsMHhmMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMTYwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZiLDB4MDEsMHgzZCwweDAwLDB4MGYsMHhiNCwweDE3LDB4ZmMsMHgwMCwweDNjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4YTE3MCwgMCwgezB4YzAsMHg0ZiwweGMwLDB4MDMsMHg3NCwweDA4LDB4ZmUsMHgwMCwweDNmLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhmYywweDA4LDB4ZjggfX0sCi0gezE2LCAweGExODAsIDAsIHsweDMwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDQsMHhmYywweDAwLDB4M2QsMHgwMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhhMTkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY0LDB4OTAsMHhlZiwweDAwLDB4M2YsMHhkOCB9fSwKLSB7MTYsIDB4YTFhMCwgMCwgezB4MGUsMHhmMywweDAzLDB4MmMsMHgwMSwweGQ0LDB4ODAsMHgzNywweGNjLDB4MGQsMHg4OSwweDQzLDB4MTIsMHg1MCwweGVjLDB4MmMgfX0sCi0gezE2LCAweGExYjAsIDAsIHsweDMyLDB4MDUsMHgwZCwweGIwLDB4NTMsMHgzYywweGQ0LDB4YzUsMHg5NCwweDdmLDB4YTAsMHg4ZiwweGYwLDB4NDMsMHgzMCwweDAwIH19LAotIHsxNiwgMHhhMWMwLCAwLCB7MHhkYywweDAwLDB4MzMsMHgwMCwweDBjLDB4NDgsMHgwNywweGYwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTFkMCwgMCwgezB4ODAsMHgxMCwweGU2LDB4NDAsMHg4YiwweDcwLDB4MmYsMHhkYywweDA4LDB4ZjcsMHgwMiwweDBjLDB4ODAsMHg4YSwweDIwLDB4MDAgfX0sCi0gezE2LCAweGExZTAsIDAsIHsweGM4LDB4NGEsMHgyMiwweDAyLDB4YTAsMHgwMCwweDhhLDB4NDgsMHgyMiwweDU4LDB4ODgsMHhmZCwweDAyLDB4YWQsMHgwMiwweGE5IH19LAotIHsxNiwgMHhhMWYwLCAwLCB7MHgyMCwweDFlLDB4YTAsMHgwMywweDgwLDB4MDIsMHgyYywweDA0LDB4OGIsMHgwMCwweDIyLDB4YzAsMHg0YywweDg4LDB4MDcsMHg2MCB9fSwKLSB7MTYsIDB4YTIwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjMCwweDAwLDB4MjMsMHgyYywweDJjLDB4YzkgfX0sCi0gezE2LCAweGEyMTAsIDAsIHsweDAyLDB4MzAsMHgwMiwweDBjLDB4NjgsMHhhMCwweDI4LDB4MmMsMHhkMCwweDA5LDB4MTIsMHgwMiwweDg0LDB4MDAsMHhhMCwweDIxIH19LAotIHsxNiwgMHhhMjIwLCAwLCB7MHgyMCwweDE4LDB4MTksMHgzMCwweDIyLDB4ODAsMHhkMCwweDgzLDB4MDYsMHgwYywweGEwLDB4MGIsMHhiMCwweDA2LDB4MDAsMHgxMiB9fSwKLSB7MTYsIDB4YTIzMCwgMCwgezB4YTAsMHgwMCwweDIwLDB4MDAsMHgyOSwweDAwLDB4MGUsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyNDAsIDAsIHsweGMwLDB4MTEsMHhhOCwweDMwLDB4OGIsMHgwMCwweDJlLDB4YzAsMHg0YSwweDMwLDB4MGEsMHgyYywweDE0LDB4YTAsMHg4MCwweDBhIH19LAotIHsxNiwgMHhhMjUwLCAwLCB7MHhjMSwweDA4LDB4ODgsMHg4NiwweDg3LDB4MDAsMHg4MywweDAwLDB4MjIsMHg0OSwweDA4LDB4YjAsMHgwNiwweGEwLDB4NDAsMHhhYiB9fSwKLSB7MTYsIDB4YTI2MCwgMCwgezB4MjAsMHgyMiwweDIwLDB4MGIsMHg4MCwweDBhLDB4MGMsMHgwNCwweGFiLDB4MDIsMHgyMiwweGMwLDB4ODgsMHg4MCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGEyNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWYsMHg0MCwweGViLDB4MDYsMHgzZSwweGMwIH19LAotIHsxNiwgMHhhMjgwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHgyYywweDAyLDB4ZjksMHhhMCwweDNlLDB4YzAsMHgwZCwweDhjLDB4MDMsMHhhYSwweDEwLDB4ZTksMHg0MCB9fSwKLSB7MTYsIDB4YTI5MCwgMCwgezB4YjIsMHg0OCwweDBkLDB4YjAsMHg0MywweGFkLDB4MDAsMHhjYiwweDg2LDB4MmUsMHgyMCwweDBmLDB4MzAsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGEyYTAsIDAsIHsweGY5LDB4ODAsMHgzMiwweGMwLDB4MGQsMHgwYywweGMyLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMmIwLCAwLCB7MHhlMCwweDAxLDB4OTQsMHgwMCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHgwMCwweGRmLDB4MDAsMHgzNyB9fSwKLSB7MTYsIDB4YTJjMCwgMCwgezB4YzAsMHgwZiwweGUwLDB4MDMsMHhmMCwweDAwLDB4ZmUsMHgyMCwweDNmLDB4NDAsMHgwZiwweDcwLDB4MDMsMHhmZSwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGEyZDAsIDAsIHsweDgyLDB4N2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGY5LDB4MDQsMHhkZSwweDIwLDB4YmQsMHgwMCwweDBmLDB4ZDksMHgwYiwweDdjIH19LAotIHsxNiwgMHhhMmUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDEsMHhjYiwweDAwLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4YTJmMCwgMCwgezB4MmMsMHhiMCwweDBiLDB4MmMsMHgwMCwweGU4LDB4NDAsMHgzZSwweGMwLDB4MGYsMHg5NCwweDA3LDB4MjksMHgwMCwweGM5LDB4NDAgfX0sCi0gezE2LCAweGEzMDAsIDAsIHsweGIyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwMSwweDAyLDB4Y2IsMHgwMCwweDMyLDB4MDQsMHg0ZiwweGYwLDB4NDMsMHgzNCwweGMwIH19LAotIHsxNiwgMHhhMzEwLCAwLCB7MHhiNSwweDFhLDB4M2YsMHhjMSwweDBmLDB4ODAsMHg5MywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTMyMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDAsMHg4ZiwweDAwLDB4MmYsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDNjLDB4MDQsMHhkOCwweDAwLDB4MmIgfX0sCi0gezE2LCAweGEzMzAsIDAsIHsweGMwLDB4MGMsMHg4MCwweDQ1LDB4NjAsMHgwMCwweDdiLDB4NTgsMHgyMiwweGM4LDB4MGIsMHhmYSwweDAxLDB4NjEsMHg0MCwweDhiIH19LAotIHsxNiwgMHhhMzQwLCAwLCB7MHgwMCwweDMyLDB4MDQsMHg0YiwweGNlLDB4MDIsMHgyOCwweDAwLDB4M2EsMHg0MCwweDJlLDB4MDcsMHgwYiwweDkwLDB4MDIsMHgyNiB9fSwKLSB7MTYsIDB4YTM1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMSwweDRjLDB4YzAgfX0sCi0gezE2LCAweGEzNjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweGVjLDB4MTAsMHg5MCwweDAwLDB4MmEsMHhjMCwweDBhLDB4ODAsMHgwNiwweGMwLDB4MDQsMHg4MywweDA0IH19LAotIHsxNiwgMHhhMzcwLCAwLCB7MHhhMiwweDg5LDB4MTksMHgzMCwweDA2LDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyMCwweDkwLDB4MGIsMHgzMCwweGMyLDB4NDgsMHgwMCB9fSwKLSB7MTYsIDB4YTM4MCwgMCwgezB4YjIsMHg0MCwweDI0LDB4MjAsMHgwYiwweDA5LDB4MDAsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEzOTAsIDAsIHsweDIwLDB4MDEsMHgwNiwweDA0LDB4ODcsMHhhNCwweDJkLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHhkZSwweDAwLDB4OWUsMHg4MSwweDI5IH19LAotIHsxNiwgMHhhM2EwLCAwLCB7MHhlMCwweDA4LDB4NzgsMHg1MiwweGZhLDB4YzAsMHg5NiwweDgwLDB4MDEsMHhhMCwweDhiLDB4M2EsMHgyMiwweGNlLDB4NDAsMHg4ZiB9fSwKLSB7MTYsIDB4YTNiMCwgMCwgezB4YjAsMHgyNSwweGEwLDB4MGIsMHgwOCwweDAyLDB4NTYsMHgwOCwweGI1LDB4OTAsMHgyZCwweGU0LDB4NGIsMHhkOCwweDIyLDB4MGMgfX0sCi0gezE2LCAweGEzYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMiwweDgzLDB4ODAsMHgyZSwweGU4IH19LAotIHsxNiwgMHhhM2QwLCAwLCB7MHgwYiwweDM4LDB4MTMsMHhjZSwweDQxLDB4ZDMsMHgxMCwweDI4LDB4YzAsMHgwZSwweDNhLDB4MDIsMHhjNiwweDA4LDB4NGIsMHg0MCB9fSwKLSB7MTYsIDB4YTNlMCwgMCwgezB4MzAsMHg2MCwweDBkLDB4M2IsMHgyNywweGNmLDB4YzQsMHhjMywweGEwLDB4MzAsMHgwMCwweDBmLDB4MzAsMHg0MywweDQ4LDB4NDAgfX0sCi0gezE2LCAweGEzZjAsIDAsIHsweGYyLDB4MDAsMHgzYywweDA0LDB4MGYsMHgwMiwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNDAwLCAwLCB7MHg0MCwweDFkLDB4YjgsMHgwMCwweGZmLDB4MDAsMHgzZiwweGM0LDB4MGUsMHhmMSwweDAzLDB4M2MsMHgwMCwweGZmLDB4MDEsMHgzMyB9fSwKLSB7MTYsIDB4YTQxMCwgMCwgezB4YzAsMHg0ZCwweGIxLDB4MDcsMHg3YywweDkwLDB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwMywweGYxLDB4MDMsMHg3MCwweDAwLDB4ZmIgfX0sCi0gezE2LCAweGE0MjAsIDAsIHsweDEwLDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwYiwweGI0LDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjNCwweDBmLDB4ZDAsMHgwMywweDkwIH19LAotIHsxNiwgMHhhNDMwLCAwLCB7MHgwMiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDQsMHhmYiwweDg0LDB4M2EsMHhjMiB9fSwKLSB7MTYsIDB4YTQ0MCwgMCwgezB4NGMsMHhiNCwweDkzLDB4MmMsMHgwNCwweGU5LDB4MDAsMHgzYSwweGM0LDB4OGQsMHgwOCwweDAzLDB4MmUsMHgwMCwweGNiLDB4MDEgfX0sCi0gezE2LCAweGE0NTAsIDAsIHsweDMyLDB4ODAsMHg4ZiwweGIyLDB4ODMsMHhlYywweDAwLDB4Y2IsMHg4MCwweDMyLDB4MDAsMHgwZiwweGY5LDB4MDMsMHgzYywweDEwIH19LAotIHsxNiwgMHhhNDYwLCAwLCB7MHhkZiwweDgxLDB4YjMsMHhlMCwweDhjLDB4YTAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTQ3MCwgMCwgezB4NDgsMHgxMSwweDk0LDB4MDgsMHhiNywweDA0LDB4MjQsMHhjOCwweDFhLDB4MzAsMHg0YSwweDFkLDB4MDAsMHhiNywweDAxLDB4MmQgfX0sCi0gezE2LCAweGE0ODAsIDAsIHsweGMwLDB4ODgsMHg3MCwweDA2LDB4MWMsMHgwMCwweDgyLDB4MDAsMHgyMSwweDgwLDB4NGIsMHg3NiwweDEyLDB4ZGMsMHgwMCwweDg3IH19LAotIHsxNiwgMHhhNDkwLCAwLCB7MHgwMCwweDI5LDB4NDAsMHg4YiwweDQwLDB4MDIsMHgxMCwweDAwLDB4YmMsMHgwMCwweDIwLDB4MDEsMHgyOCwweDcwLDB4MDMsMHhiMiB9fSwKLSB7MTYsIDB4YTRhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDAwLDB4YjMsMHg5MCwweDJkLDB4ZTQgfX0sCi0gezE2LCAweGE0YjAsIDAsIHsweDA5LDB4NzksMHgwMiwweDFlLDB4ODAsMHhhNywweDgwLDB4MmMsMHhlOCwweDE5LDB4ZjgsMHgxMiwweDVlLDB4MDEsMHg4NywweDgwIH19LAotIHsxNiwgMHhhNGMwLCAwLCB7MHgyNSwweGUwLDB4NGIsMHg3OCwweDA2LDB4ZDIsMHgwMCwweDk3LDB4ODAsMHgyMSwweDYyLDB4MGIsMHgzYSwweDAyLDB4MWUsMHgwMCB9fSwKLSB7MTYsIDB4YTRkMCwgMCwgezB4YjcsMHg4NiwweDI5LDB4ZjAsMHgwOCwweDY4LDB4MDYsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0ZTAsIDAsIHsweDQ4LDB4MTQsMHhjZiwweGMwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHg4YSwweDMwLDB4MzIsMHgwYywweDAwLDB4YjMsMHgwOCwweDJjIH19LAotIHsxNiwgMHhhNGYwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHgxMiwweDBlLDB4MjAsMHg4MywweDAwLDB4MjQsMHhmMSwweDBiLDB4MzAsMHgwNiwweGNlLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YTUwMCwgMCwgezB4OTAsMHgyOCwweDYwLDB4MGIsMHgwMCwweDJhLDB4MjEsMHg4MCwweGIwLDB4MDgsMHgyOCwweDAwLDB4MDgsMHgzNywweDAyLDB4OTIgfX0sCi0gezE2LCAweGE1MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwIH19LAotIHsxNiwgMHhhNTIwLCAwLCB7MHg0ZCwweGEwLDB4MDMsMHgyOCwweDAwLDB4ZWUsMHg0MSwweDNlLDB4ODAsMHgwZCwweGUwLDB4MDMsMHg3OCwweDAwLDB4OGUsMHg0MCB9fSwKLSB7MTYsIDB4YTUzMCwgMCwgezB4MjcsMHhhOCwweDBiLDB4YTAsMHgwMywweGZiLDB4MDIsMHhjYSwweDgyLDB4MzMsMHhhMCwweDBmLDB4YTAsMHgxMywweDI5LDB4MDAgfX0sCi0gezE2LCAweGE1NDAsIDAsIHsweGZhLDB4NDAsMHgzYSwweDgwLDB4MGMsMHg2YywweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNTUwLCAwLCB7MHg0OCwweDAwLDB4YzAsMHgwMCwweGY4LDB4MDAsMHgzYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwOCwweGY4LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTU2MCwgMCwgezB4MDAsMHg4ZiwweDgwLDB4MjMsMHhhMCwweDQyLDB4ZjgsMHgwOSwweGJhLDB4MTAsMHg0ZiwweDgwLDB4MDMsMHhlMCwweDYwLDB4ZjggfX0sCi0gezE2LCAweGE1NzAsIDAsIHsweDAwLDB4M2UsMHgyMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmYywweDAwLDB4MjcsMHgwMCwweDhmLDB4ODAsMHgwMywweDkyIH19LAotIHsxNiwgMHhhNTgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU1LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4YTU5MCwgMCwgezB4NmUsMHg5MCwweDAzLDB4YTQsMHgwOCwweGM5LDB4MDAsMHgzYywweDQwLDB4MGQsMHg5MCwweDAzLDB4MjQsMHgxMCwweGY5LDB4YTAgfX0sCi0gezE2LCAweGE1YTAsIDAsIHsweDMyLDB4NDIsMHgwYywweDkwLDB4MTMsMHhjNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDQwIH19LAotIHsxNiwgMHhhNWIwLCAwLCB7MHhjOSwweDIwLDB4M2UsMHg1MiwweGNmLDB4OTAsMHgwOSwweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTVjMCwgMCwgezB4ODAsMHgwNCwweDY2LDB4MDAsMHg4OSwweDA0LDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhkOSwweDAwLDB4M2EgfX0sCi0gezE2LCAweGE1ZDAsIDAsIHsweDQxLDB4MDgsMHg5MCwweDA1LDB4YTQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDQwLDB4MGQsMHg5MCwweDAyLDB4ZTUsMHg0NiwweDg5IH19LAotIHsxNiwgMHhhNWUwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MTIsMHhlNSwweDAwLDB4YTksMHhjOCwweDJlLDB4NjEsMHg4YiwweDk0LDB4NDIsMHgyMCB9fSwKLSB7MTYsIDB4YTVmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YTksMHgwMCwweDZjLDB4NDAgfX0sCi0gezE2LCAweGE2MDAsIDAsIHsweDQ4LDB4MTAsMHgyMiwweDg0LDB4MDMsMHhhOSwweDAwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDQsMHhiMSwweDA4IH19LAotIHsxNiwgMHhhNjEwLCAwLCB7MHgyOCwweDQwLDB4MTgsMHg5OCwweDAyLDB4ZTUsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZjQsMHgyMCB9fSwKLSB7MTYsIDB4YTYyMCwgMCwgezB4OGQsMHgwMCwweDJmLDB4NDAsMHgwYiwweDk0LDB4NDIsMHg4NiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2MzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YTEsMHgyNCwweDJjLDB4NDgsMHgxOCwweDEyLDB4MDIsMHgwNCwweDgwLDB4YTEsMHgwMCwweDI4IH19LAotIHsxNiwgMHhhNjQwLCAwLCB7MHg0OCwweDA4LDB4MTAsMHgwMiwweDg0LDB4MDAsMHg5MSwweDIwLDB4MjAsMHg0OCwweDA5LDB4MTIsMHgwMiwweGM0LDB4OTQsMHg4MSB9fSwKLSB7MTYsIDB4YTY1MCwgMCwgezB4MDAsMHgyYywweDYxLDB4MGIsMHg1YSwweDgyLDB4ZDQsMHhhMCwweGE1LDB4MjgsMHgyZCwweDRhLDB4MGIsMHg5MCwweDAyLDB4ODIgfX0sCi0gezE2LCAweGE2NjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMiwweGU4LDB4NTAsMHgyZSwweDE0IH19LAotIHsxNiwgMHhhNjcwLCAwLCB7MHgwZSwweDg1LDB4MDMsMHhhMSwweDQwLDB4YTgsMHg1MCwweDNlLDB4MTQsMHgwZCwweDg1LDB4MDEsMHg4MSwweDQwLDB4ZjgsMHg1MiB9fSwKLSB7MTYsIDB4YTY4MCwgMCwgezB4MzIsMHg5NCwweDBjLDB4ODAsMHgxMywweGMxLDB4NDIsMHhjMCwweDUxLDB4M2UsMHgwMCwweDhmLDB4ODIsMHgwMywweGUwLDB4ODAgfX0sCi0gezE2LCAweGE2OTAsIDAsIHsweGM4LDB4MjAsMHgzZiwweDA4LDB4MGYsMHg4MCwweDAzLDB4YWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNmEwLCAwLCB7MHg5OCwweDE5LDB4ZjQsMHg1MCwweGQ5LDB4MTEsMHgzZSwweDQ0LDB4OGYsMHg5MSwweDQzLDB4ZTQsMHg0MCwweGRkLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YTZiMCwgMCwgezB4NDQsMHg0ZiwweGQwLDB4MjcsMHhiNCwweDAwLDB4ZmQsMHgxMiwweDNmLDB4NDQsMHg0ZiwweDkxLDB4NDMsMHhmNCwweDQwLDB4ZmQgfX0sCi0gezE2LCAweGE2YzAsIDAsIHsweDAwLDB4M2YsMHg0MSwweDBmLDB4OTIsMHg4MywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4ZDAsMHgwMywweDY2IH19LAotIHsxNiwgMHhhNmQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGY2LDB4ODAsMHhlOSwweGMwLDB4M2UsMHg3OCB9fSwKLSB7MTYsIDB4YTZlMCwgMCwgezB4OGYsMHg5YiwweDAzLDB4YTcsMHg4MCwweGM5LDB4NDAsMHgzNiwweDc4LDB4MGYsMHgxMCwweDIzLDB4ZTUsMHgwNCwweGRkLDB4YTQgfX0sCi0gezE2LCAweGE2ZjAsIDAsIHsweDMzLDB4NjIsMHgwZiwweGRhLDB4MDMsMHhmNiwweDYwLDB4YzksMHgxMCwweDMzLDB4NDAsMHgwZSwweDk4LDB4OTMsMHhlNiwweDMwIH19LAotIHsxNiwgMHhhNzAwLCAwLCB7MHhjOSwweGM5LDB4MzIsMHg3OCwweDhjLDB4ZDAsMHgwYiwweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTcxMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHg4OCwweGUyLDB4MmUsMHgzMCwweDBiLDB4ODgsMHg0MiwweDIzLDB4NDAsMHhhMCwweGExLDB4MjIgfX0sCi0gezE2LCAweGE3MjAsIDAsIHsweDM4LDB4MGIsMHg4YSwweDAyLDB4ZTIsMHg4MCwweGFhLDB4ZTAsMHgyMiwweDMwLDB4MGIsMHg4MCwweDIzLDB4YWIsMHgwMiwweDg4IH19LAotIHsxNiwgMHhhNzMwLCAwLCB7MHhhMCwweDJhLDB4MDAsMHgwYiwweDhjLDB4MDIsMHhlMywweDAwLDB4ODgsMHhlMCwweDIzLDB4MzgsMHgwOCwweDgwLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YTc0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YTEsMHg0NCwweDI4LDB4NTggfX0sCi0gezE2LCAweGE3NTAsIDAsIHsweDQzLDB4MTYsMHgyMiwweDg0LDB4ODEsMHg4MSwweDIwLDB4MmMsMHg1OCwweDQ5LDB4MTAsMHg4MCwweGM0LDB4ODEsMHg5MSwweDQ4IH19LAotIHsxNiwgMHhhNzYwLCAwLCB7MHg2YywweDRhLDB4MGIsMHgxNCwweDAyLDB4NDQsMHg4NCwweDgxLDB4MDEsMHg2MCwweDQwLDB4MGEsMHg1MiwweDg2LDB4ZDQsMHhhMCB9fSwKLSB7MTYsIDB4YTc3MCwgMCwgezB4ODUsMHgwMCwweGExLDB4NTAsMHg2OCwweDkwLDB4MDYsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3ODAsIDAsIHsweDE4LDB4MDUsMHhhNiwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNCwweDAwLDB4YTksMHg2MCwweDIyIH19LAotIHsxNiwgMHhhNzkwLCAwLCB7MHg0MCwweDBiLDB4OTUsMHgwMiwweGU0LDB4MTAsMHhiMSwweDAwLDB4NGUsMHg0MCwweDBiLDB4OTAsMHg2NiwweGFjLDB4ODAsMHg4OSB9fSwKLSB7MTYsIDB4YTdhMCwgMCwgezB4MDAsMHgyYSwweDYwLDB4MGIsMHg5MCwweDUyLDB4ZjQsMHgwMCwweDg1LDB4MDAsMHgyMSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweGE3YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTYsMHgyMCwweGU5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhhN2MwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhhNCwweDEwLDB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweDk0LDB4MDEsMHhlNSwweDIwLDB4ZDksMHg0MCB9fSwKLSB7MTYsIDB4YTdkMCwgMCwgezB4YmEsMHg2OCwweDhmLDB4OTAsMHgwNywweGU2LDB4MDAsMHhjOSwweDEwLDB4MzIsMHg2MiwweDBlLDB4OTAsMHgwMiwweGU0LDB4MTggfX0sCi0gezE2LCAweGE3ZTAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhN2YwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQwLDB4MGIsMHg5MCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTgwMCwgMCwgezB4NDAsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMiwweDcyLDB4NjgsMHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGE4MTAsIDAsIHsweDAxLDB4M2UsMHg0MiwweDBmLDB4OTAsMHgwMywweGM0LDB4MDIsMHhmOSwweDA0LDB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMywweDFhIH19LAotIHsxNiwgMHhhODIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweDgwLDB4MDIsMHhjOCwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YTgzMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGM4LDB4NDAsMHgzNiwweDAwLDB4MGYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGQ4LDB4NTAgfX0sCi0gezE2LCAweGE4NDAsIDAsIHsweGIyLDB4MTAsMHg4YywweDgxLDB4MDMsMHhjMSwweDIwLDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGMwLDB4MTMsMHhmMCwweDA0IH19LAotIHsxNiwgMHhhODUwLCAwLCB7MHg0YywweDAwLDB4M2YsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTg2MCwgMCwgezB4MjgsMHgxNSwweDJhLDB4MDAsMHg4YSwweDA0LDB4MjIsMHg4MSwweDI4LDB4YTAsMHgxMiwweDI4LDB4MDAsMHg4YSwweDAxLDB4MzYgfX0sCi0gezE2LCAweGE4NzAsIDAsIHsweDgwLDB4MGIsMHhhMCwweDEwLDB4MjgsMHgxMCwweGNlLDB4MDEsMHgyMywweDgxLDB4MGMsMHhhOCwweDEyLDB4ZmIsMHgwMCwweDhhIH19LAotIHsxNiwgMHhhODgwLCAwLCB7MHgwMSwweDNiLDB4ODAsMHg4MywweGEwLDB4NDIsMHhlOCwweDEwLDB4OGEsMHgwMCwweDJmLDB4ODAsMHgwYiwweDYwLDB4NDIsMHgwYSB9fSwKLSB7MTYsIDB4YTg5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMCwweGEwLDB4YzAgfX0sCi0gezE2LCAweGE4YTAsIDAsIHsweDE4LDB4YjAsMHgwMCwweGNjLDB4MDAsMHg5YiwweDAwLDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwNiwweDZjLDB4MDAsMHhhMywweDA4IH19LAotIHsxNiwgMHhhOGIwLCAwLCB7MHgyOCwweGM4LDB4MDksMHgzMCwweDAyLDB4Y2MsMHg0MywweDhiLDB4MDAsMHgyYywweDgwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMiB9fSwKLSB7MTYsIDB4YThjMCwgMCwgezB4ODMsMHgwMSwweDJjLDB4YzAsMHg0YiwweDMwLDB4MDAsMHg0YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4ZDAsIDAsIHsweGEwLDB4MDEsMHgwYywweDI0LDB4ODcsMHg5NCwweDIxLDB4ZTQsMHgxOCwweDMxLDB4MDIsMHhkYywweDgwLDB4OTcsMHgxMCwweDI1IH19LAotIHsxNiwgMHhhOGUwLCAwLCB7MHhjZCwweDBiLDB4ZjIsMHgwMiwweDdjLDB4MDAsMHhhMCwweDAwLDB4MjgsMHhlMCwweDE4LDB4NzAsMHgwMiwweGRjLDB4MDEsMHg4NyB9fSwKLSB7MTYsIDB4YThmMCwgMCwgezB4MzQsMHgyOSwweDQwLDB4MDksMHg0MCwweDAyLDB4ZDAsMHgwNCwweDg0LDB4MDQsMHgyZCwweDAwLDB4NGIsMHhkMCwweDIyLDB4NjggfX0sCi0gezE2LCAweGE5MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTYsMHgwMCwweGNmLDB4YTAsMHg3MCwweGU5IH19LAotIHsxNiwgMHhhOTEwLCAwLCB7MHgxOCwweDdiLDB4MDMsMHhmZiwweDQwLDB4OTcsMHhhMCwweDM1LDB4ZTgsMHgwZiwweDc0LDB4MDIsMHg1ZSwweDIwLDB4ZTQsMHg4MCB9fSwKLSB7MTYsIDB4YTkyMCwgMCwgezB4MzksMHhhMCwweDJkLDB4NzgsMHgwMywweGZlLDB4MDAsMHhjNywweDgwLDB4M2QsMHhlMCwweDVmLDB4NjgsMHg0MywweGMyLDB4MDAgfX0sCi0gezE2LCAweGE5MzAsIDAsIHsweGM0LDB4ODQsMHgxZCwweDYwLDB4MGYsMHg3OCwweDAzLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOTQwLCAwLCB7MHgwOCwweDBkLDB4YTQsMHgwMCwweDNiLDB4MDAsMHgyZSwweGQ4LDB4MGYsMHhiNCwweDAzLDB4MmQsMHg4YSwweGViLDB4NjIsMHgzYSB9fSwKLSB7MTYsIDB4YTk1MCwgMCwgezB4ZDAsMHgwZiwweGIyLDB4ODcsMHgwYywweGQwLDB4ZDgsMHgwMCwweDMyLDB4YzAsMHg0ZiwweDkwLDB4NDMsMHhlYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweGE5NjAsIDAsIHsweDA4LDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA0LDB4M2YsMHg4MCwweDBmLDB4MDAsMHgyYiwweDgyIH19LAotIHsxNiwgMHhhOTcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhmZiwweGEwLDB4M2UsMHhmNCB9fSwKLSB7MTYsIDB4YTk4MCwgMCwgezB4MGUsMHhiOCwweDAzLDB4ZWUsMHgwOCwweDRiLDB4ZjAsMHg3ZiwweGY0LDB4MGMsMHhmOSwweDIzLDB4ZWUsMHg0OCwweDc4LDB4OTAgfX0sCi0gezE2LCAweGE5OTAsIDAsIHsweDMyLDB4ZTQsMHgwYywweGY5LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDNmLDB4ZTQsMHgxYywweDc5LDB4MDMsMHgyZSwweDQwIH19LAotIHsxNiwgMHhhOWEwLCAwLCB7MHhmZiwweDgwLDB4MzMsMHhlMCwweDJjLDB4NzgsMHgwNywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTliMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4MDAsMHhiMywweDAwLDB4MGMsMHhlNSwweDBiLDB4MzgsMHgwMiwweGZlLDB4ODAsMHg4ZiwweDgwLDB4NjEgfX0sCi0gezE2LCAweGE5YzAsIDAsIHsweGM0LDB4MjgsMHg3OCwweDAwLDB4NGUsMHgwMCwweGY0LDB4ODQsMHgyNSwweGE4LDB4MGMsMHg3MCwweDAyLDB4Y2MsMHgwNCwweGIzIH19LAotIHsxNiwgMHhhOWQwLCAwLCB7MHg5MCwweDI1LDB4NDAsMHgwYywweDQxLDB4ODMsMHg1MiwweDQwLDB4YjQsMHgxMCwweGEzLDB4MDAsMHgwYywweDUyLDB4MDMsMHg2YSB9fSwKLSB7MTYsIDB4YTllMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NCwweDAwLDB4YjcsMHgyMSwweDZkLDB4YzggfX0sCi0gezE2LCAweGE5ZjAsIDAsIHsweDRiLDB4NzAsMHgwMiwweGRjLDB4NDIsMHhhNywweDMxLDB4MjksMHhjNCwweDA4LDB4NzIsMHgwMiwweGRjLDB4MDAsMHhiNywweDI4IH19LAotIHsxNiwgMHhhYTAwLCAwLCB7MHgyNCwweDgwLDB4MDgsMHg3MCwweDA2LDB4ZDQsMHgyMCwweGI3LDB4MDEsMHgyZCwweGMxLDB4MDgsMHg2MCwweDAyLDB4NTAsMHg4MCB9fSwKLSB7MTYsIDB4YWExMCwgMCwgezB4YjQsMHgwOCwweDIxLDB4NjIsMHgwOSwweDc0LDB4MDYsMHg4MCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhMjAsIDAsIHsweDIwLDB4MTQsMHhjNywweDA0LDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMiwweDYwIH19LAotIHsxNiwgMHhhYTMwLCAwLCB7MHhjMCwweDA4LDB4MzgsMHgwMiwweDRlLDB4NDQsMHhhMCwweGMwLDB4MjQsMHg5MSwweDA4LDB4MzAsMHgwMiwweGMwLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4YWE0MCwgMCwgezB4MDAsMHgyNCwweDYwLDB4MDgsMHgxYywweDAyLDB4NGMsMHg4OCwweGIzLDB4YzAsMHgyMCwweGEwLDB4MDgsMHgwMCwweDBhLDB4ODggfX0sCi0gezE2LCAweGFhNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGZmLDB4MDAsMHgyZiwweGMwIH19LAotIHsxNiwgMHhhYTYwLCAwLCB7MHg0ZiwweGYwLDB4MTMsMHhmYywweDA4LDB4ZTcsMHg4YSwweDNmLDB4YzAsMHgwYywweGY1LDB4YzIsMHhmZSwweDEwLDB4YmIsMHhjMCB9fSwKLSB7MTYsIDB4YWE3MCwgMCwgezB4MzIsMHhkNCwweDBjLDB4MzAsMHgxMywweGUzLDB4MDQsMHhiZiwweDAwLDB4MmUsMHg2MiwweDA4LDB4YjksMHgwMiwweDZlLDB4MDAgfX0sCi0gezE2LCAweGFhODAsIDAsIHsweGZiLDB4MDEsMHgzMiwweGE0LDB4NGQsMHg5NCwweDAyLDB4YWIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHg2MCwweGZiLDB4MDAsMHgxZSwweGMwLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweDViLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YWFhMCwgMCwgezB4YzAsMHgwZiwweGIwLDB4NDEsMHhlYywweDAwLDB4N2IsMHg0NSwweGJhLDB4NDAsMHgyZSwweGIwLDB4MTUsMHhlMCwweDAxLDB4ZmIgfX0sCi0gezE2LCAweGFhYjAsIDAsIHsweDAwLDB4M2UsMHg1MCwweDBlLDB4YzAsMHgwMywweGYwLDB4NDAsMHhmYywweDIwLDB4M2YsMHg1MCwweDhmLDB4OTAsMHgwMSwweDYwIH19LAotIHsxNiwgMHhhYWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4YWFkMCwgMCwgezB4OGYsMHhmMCwweDAzLDB4MWMsMHgwMiwweGNmLDB4MDAsMHgzNiwweGMwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHgwMCwweDdmLDB4MmEgfX0sCi0gezE2LCAweGFhZTAsIDAsIHsweDNmLDB4ODAsMHgwZiwweGY4LDB4MTMsMHg5MCwweDIxLDB4Y2YsMHgwMCwweDNmLDB4NjIsMHgwYywweGUwLDB4MDMsMHgzMCwweDAwIH19LAotIHsxNiwgMHhhYWYwLCAwLCB7MHhmOCwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwMywweDgwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWIwMCwgMCwgezB4ODEsMHgwNCwweDY0LDB4MTEsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhkYiwweDA0LDB4MzIgfX0sCi0gezE2LCAweGFiMTAsIDAsIHsweGMwLDB4MGUsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4ODQsMHgyZSwweDQwLDB4MGIsMHhiOSwweDQyLDB4MjIsMHg0MiwweDhiIH19LAotIHsxNiwgMHhhYjIwLCAwLCB7MHgwMSwweDJjLDB4NzIsMHgwYSwweDkwLDB4NDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzIsMHg4ZiwweDg4LDB4MDYsMHhlMCB9fSwKLSB7MTYsIDB4YWIzMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyNCwweDAwLDB4YmIsMHgwMCwweDZlLDB4YzAgfX0sCi0gezE2LCAweGFiNDAsIDAsIHsweDQ4LDB4YjAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHhjMCwweDBhLDB4YjAsMHgxMiwweGVjLDB4MDAsMHhiYiwweDQwIH19LAotIHsxNiwgMHhhYjUwLCAwLCB7MHgyZSwweGM4LDB4MGIsMHhiMCwweDEyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweDQ4LDB4MGEsMHgzMCwweDAyLDB4NmMsMHgwMCB9fSwKLSB7MTYsIDB4YWI2MCwgMCwgezB4YmIsMHgwMCwweDJlLDB4ODAsMHg0YiwweDk4LDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiNzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDAwLDB4YjMsMHgwMCwweDZjLDB4YzIsMHg0YiwweDMxLDB4MDIsMHgwYywweDUwLDB4OWIsMHgyMCwweDIwIH19LAotIHsxNiwgMHhhYjgwLCAwLCB7MHhjMCwweDBhLDB4MzIsMHgxMiwweGNjLDB4ODAsMHhiMywweDAwLDB4NmMsMHgwYywweDBiLDB4MzEsMHgwMiwweDBjLDB4NDIsMHg4MyB9fSwKLSB7MTYsIDB4YWI5MCwgMCwgezB4MDgsMHgyZSwweDQwLDB4MGEsMHgwMCwweDAyLDB4MDAsMHg4MCwweGIwLDB4MDAsMHgyYywweDQxLDB4MGIsMHgxMCwweDAyLDB4NDIgfX0sCi0gezE2LCAweGFiYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGJiLDB4NDAsMHgzZiwweGNjIH19LAotIHsxNiwgMHhhYmIwLCAwLCB7MHgwZSwweGYwLDB4ODMsMHgzZCwweGEwLDB4Y2YsMHgyMCwweDM3LDB4YzAsMHgwYywweGY3LDB4YzMsMHhmZCwweDQ4LDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4YWJjMCwgMCwgezB4M2UsMHg4OCwweDBmLDB4YjQsMHgxMywweGE1LDB4MDAsMHg4ZiwweDMwLDB4M2UsMHg0MCwweDBjLDB4YTAsMHgwMywweDYwLDB4ODAgfX0sCi0gezE2LCAweGFiZDAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg5MCwweDIzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYmUwLCAwLCB7MHhhMCwweDE5LDB4ZjQsMHgwMCwweGZmLDB4MjksMHgzZiwweGM5LDB4MGYsMHhmMCwweDEzLDB4ZmMsMHg5NCwweGVmLDB4MTIsMHgzYiB9fSwKLSB7MTYsIDB4YWJmMCwgMCwgezB4YzAsMHg4ZSwweGIyLDB4MDcsMHhmZCwweDA0LDB4ZmYsMHgxMCwweDNmLDB4MGMsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmIgfX0sCi0gezE2LCAweGFjMDAsIDAsIHsweDIwLDB4M2QsMHg0MCwweDBmLDB4ZDAsMHg0MywweGZjLDB4NDAsMHhmZiwweDA0LDB4M2YsMHhjMCwweDBlLDB4YzAsMHg0MywweGU4IH19LAotIHsxNiwgMHhhYzEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4YTIsMHhjNywweDIwLDB4M2YsMHgyNCB9fSwKLSB7MTYsIDB4YWMyMCwgMCwgezB4MGMsMHhmMCwweDAzLDB4M2MsMHg4MCwweGNjLDB4MDksMHgzMywweGQxLDB4MGMsMHhmMSwweDIzLDB4ZmMsMHgyMCwweGRmLDB4MzYgfX0sCi0gezE2LCAweGFjMzAsIDAsIHsweDNmLDB4YzAsMHgwZSwweDQ4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDM3LDB4ZTQsMHgwZCwweDc4LDB4MDMsMHgxMSwweGEwIH19LAotIHsxNiwgMHhhYzQwLCAwLCB7MHhjZiwweDAwLDB4MzcsMHhjOCwweDBjLDB4ZjAsMHgwMywweDMwLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWM1MCwgMCwgezB4ODAsMHgxMCwweGZmLDB4MDAsMHg4ZiwweGQxLDB4MmUsMHgwOCwweDBkLDB4YjYsMHgxMiwweDNkLDB4NDUsMHhmOSwweDY0LDB4MjcgfX0sCi0gezE2LCAweGFjNjAsIDAsIHsweGQwLDB4ODgsMHhiYSwweDE0LDB4Y2MsMHgwNCwweDhmLDB4NDAsMHgyMywweGYwLDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwNCwweGJiIH19LAotIHsxNiwgMHhhYzcwLCAwLCB7MHg4MCwweGFlLDB4YzAsMHgwOCwweGI4LDB4MGEsMHgyMSwweDAwLDB4ODgsMHhkMCwweDIyLDB4MjAsMHgyOCwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YWM4MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4OTMsMHgwMCwweDJlLDB4MDAgfX0sCi0gezE2LCAweGFjOTAsIDAsIHsweDBhLDB4MzQsMHg4MiwweDhjLDB4YTAsMHhhMCwweDA4LDB4MjQsMHhkOCwweDA5LDB4MzEsMHgwMiwweGNjLDB4MjAsMHhiMywweDMyIH19LAotIHsxNiwgMHhhY2EwLCAwLCB7MHgyOCwweGQwLDB4NGEsMHg4MCwweDAyLDB4Y2MsMHgwYywweGJiLDB4MDAsMHgyMiwweDQwLDB4ODksMHhiMCwweDAyLDB4NjAsMHg4MCB9fSwKLSB7MTYsIDB4YWNiMCwgMCwgezB4OTMsMHgwMCwweDI0LDB4ZDAsMHgwYiwweDMwLDB4MDIsMHhhMiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjYzAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4OWIsMHgwMCwweDJlLDB4MjAsMHgwOSwweGIwLDB4NGEsMHgyYywweDAyLDB4YTAsMHgwMCwweDA2IH19LAotIHsxNiwgMHhhY2QwLCAwLCB7MHhjMCwweDA5LDB4YjAsMHgwMCwweGVjLDB4MDAsMHhhYiwweDAwLDB4MmEsMHhjMCwweDBiLDB4ODgsMHgwMiwweDZjLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YWNlMCwgMCwgezB4MjAsMHgyYSwweGUyLDB4NDEsMHhiOCwweDJhLDB4NjAsMHgwYSwweDk4LDB4MDAsMHgyNiwweDAwLDB4MGIsMHhiMCwweDAyLDB4YjggfX0sCi0gezE2LCAweGFjZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwOCwweGRiLDB4MDIsMHgzZSwweDIwIH19LAotIHsxNiwgMHhhZDAwLCAwLCB7MHg0YywweGIwLDB4MDMsMHgyYywweDAyLDB4OGIsMHgyMCwweDEyLDB4YzAsMHgyOSwweGIwLDB4MTIsMHhlYywweDAwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4YWQxMCwgMCwgezB4M2EsMHhjMCwweDBlLDB4ODgsMHgwMywweGVkLDB4MjAsMHhmYiwweGM4LDB4MzQsMHhmMCwweDBkLDB4YmEsMHgwMywweDQ3LDB4NjAgfX0sCi0gezE2LCAweGFkMjAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHhiMCwweDBiLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZDMwLCAwLCB7MHhlMCwweDAxLDB4OWMsMHgwMCwweGVmLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgzMCwweDAwLDB4ZmMsMHgwMCwweGRmLDB4OTAsMHhiYiB9fSwKLSB7MTYsIDB4YWQ0MCwgMCwgezB4YzAsMHhjZSwweGYwLDB4MDMsMHhmYywweDA0LDB4Y2IsMHgwMCwweDE3LDB4YzAsMHgwZiwweGMwLDB4MDMsMHhiYywweDg0LDB4ZmYgfX0sCi0gezE2LCAweGFkNTAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBlLDB4ZDAsMHg2MywweGI4LDB4MDAsMHhlYSwweDAwLDB4M2EsMHg4MCwweDBjLDB4MzAsMHgwMywweDcwIH19LAotIHsxNiwgMHhhZDYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDAyLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YWQ3MCwgMCwgezB4MGYsMHhiMCwweDUzLDB4MmMsMHgwMCwweGZhLDB4MDAsMHgzMiwweGMwLDB4OGYsMHhiMCwweDA3LDB4MmMsMHgwMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGFkODAsIDAsIHsweGIyLDB4YzAsMHgwZiwweDgwLDB4MDcsMHhhYywweDgwLDB4ZGIsMHgyNCwweDdlLDB4ZDAsMHgwZSwweGIwLDB4MjMsMHg3NCwweDA0IH19LAotIHsxNiwgMHhhZDkwLCAwLCB7MHhkZCwweDA4LDB4YjUsMHg0MCwweDBjLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWRhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHhiZiwweGMwLDB4YTAsMHgwMCwweDFiLDB4ZjAsMHgwMiwweDNmLDB4NjAsMHhlYSwweDUwLDB4MjMgfX0sCi0gezE2LCAweGFkYjAsIDAsIHsweGMwLDB4MDgsMHhmYSwweDA3LDB4ZmMsMHgwMCwweGRmLDB4MDAsMHg2MywweGMwLDB4NDgsMHgxOCwweDAyLDB4MmQsMHgwMCwweGIzIH19LAotIHsxNiwgMHhhZGMwLCAwLCB7MHgwMCwweDZlLDB4YzAsMHgwZCwweDNhLDB4MDMsMHgyNCwweDAwLDB4ODIsMHg4MCwweDMyLDB4ODAsMHgwZCwweGYwLDB4MDMsMHgzMiB9fSwKLSB7MTYsIDB4YWRkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDE0LDB4YjMsMHg1OSwweDIwLDB4ODAgfX0sCi0gezE2LCAweGFkZTAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDJlLDB4MDUsMHhiMCwweDQ0LDB4MmUsMHhjMCwweDA5LDB4MzQsMHg4MiwweGVjLDB4MDAsMHhhYiwweDA0IH19LAotIHsxNiwgMHhhZGYwLCAwLCB7MHgyMCwweGMwLDB4MDksMHgyMSwweGIyLDB4OGUsMHgwNCwweDkzLDB4YzAsMHgyNCwweGMwLDB4MGEsMHgxOCwweDA2LDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4YWUwMCwgMCwgezB4OTIsMHg1MCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg3MCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDYxLDB4ZTAsMHgwYiwweDc4LDB4MGEsMHg1ZSwweDAxLDB4YjEsMHhhMCwweDJkIH19LAotIHsxNiwgMHhhZTIwLCAwLCB7MHhlMCwweDBhLDB4NzgsMHgwMiwweDVlLDB4MDAsMHgwNywweDkwLDB4MjEsMHhlMCwweDE4LDB4YzgsMHgwMiwweDFlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4YWUzMCwgMCwgezB4ODAsMHgyZCwweGUwLDB4OGEsMHhkOCwweDAyLDB4M2UsMHhjMCwweDg1LDB4ODAsMHgyMSwweDIwLDB4MTksMHg3OCwweDIyLDB4MDAgfX0sCi0gezE2LCAweGFlNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGYzLDB4OTQsMHgyMCwweDEwIH19LAotIHsxNiwgMHhhZTUwLCAwLCB7MHg0YiwweDMwLDB4MDcsMHgwYywweDAwLDB4ZjMsMHgwMCwweDNlLDB4YzgsMHgwZiwweDMwLDB4MDMsMHhjYywweDAwLDB4MjMsMHgxMCB9fSwKLSB7MTYsIDB4YWU2MCwgMCwgezB4MDAsMHhjYiwweDA1LDB4MjAsMHgwMiwweDhjLDB4NjAsMHg5MywweDBhLDB4MmUsMHhjNCwweDBhLDB4MDEsMHgwNywweDRjLDB4ODAgfX0sCi0gezE2LCAweGFlNzAsIDAsIHsweGQyLDB4MDEsMHgzMCwweGMwLDB4MmMsMHgzMCwweDBiLDB4NWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZTgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDEsMHgwZiwweDQwLDB4MGYsMHhmMCwweDEzLDB4YmMsMHgwMCwweGVmLDB4MjYsMHg3MyB9fSwKLSB7MTYsIDB4YWU5MCwgMCwgezB4YzIsMHgwYywweGIwLDB4ODMsMHhiYywweDQwLDB4ZmYsMHgxOCwweDNkLDB4YzAsMHg0YSwweGMxLDB4MDMsMHhmYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweGFlYTAsIDAsIHsweDEyLDB4M2YsMHhjNCwweDRkLDB4YzEsMHgwYiwweGZjLDB4ODEsMHhmZCwweDAwLDB4M2YsMHgyMCwweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhhZWIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MjAsMHhjYiwweDQ4LDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4YWVjMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4MmQsMHgyMCwweGU5LDB4ODAsMHhmYSwweGM4LDB4MGQsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGRiLDB4MjQgfX0sCi0gezE2LCAweGFlZDAsIDAsIHsweDc2LDB4ZjMsMHg4ZSwweDgwLDB4MzMsMHhlYywweDQ0LDB4ZWIsMHgxMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhlOCwweDA0IH19LAotIHsxNiwgMHhhZWUwLCAwLCB7MHhkYywweDAwLDB4YjMsMHg2MSwweDBjLDB4YjAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWVmMCwgMCwgezB4NDgsMHgxMSwweDhkLDB4MDAsMHg4NywweDIwLDB4MmYsMHgwMSwweDI4LDB4NzAsMHgwMiwweDBjLDB4ODQsMHg4ZCwweDA0LDB4MzEgfX0sCi0gezE2LCAweGFmMDAsIDAsIHsweGNjLDB4YzksMHg3MiwweDAyLDB4ZGQsMHgwMCwweDM3LDB4MzMsMHgyMSwweGQ4LDB4MDgsMHg0MCwweDAyLDB4ZGMsMHgwMCwweGI3IH19LAotIHsxNiwgMHhhZjEwLCAwLCB7MHgyMCwweDNkLDB4YzAsMHgwOSwweDUwLDB4MjIsMHhmMCwweDAwLDB4OTcsMHgwMCwweDIxLDB4ODAsMHgwYSwweGZjLDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4YWYyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgxZSwweDgyLDB4ODcsMHhiMCwweDJkLDB4MjAgfX0sCi0gezE2LCAweGFmMzAsIDAsIHsweDA4LDB4MzksMHgwMiwweDFlLDB4NDEsMHhhNywweDgwLDB4MjQsMHhlMCwweDA5LDB4N2EsMHgzMiwweDhlLDB4ODIsMHgwNywweGEwIH19LAotIHsxNiwgMHhhZjQwLCAwLCB7MHgyNSwweGUwLDB4OGIsMHg0OCwweDAyLDB4MWUsMHgwMCwweGE3LDB4ZTEsMHgyZCwweGUwLDB4NGIsMHg1OCwweDAwLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4YWY1MCwgMCwgezB4YTAsMHg4MCwweDI0LDB4NjAsMHgwOCwweDdhLDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmNjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgwMCwweDJjLDB4MDAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4OTMsMHgwMCwweDIyIH19LAotIHsxNiwgMHhhZjcwLCAwLCB7MHhjMSwweDA5LDB4MzAsMHg0MiwweGNjLDB4MDAsMHg4MywweDAwLDB4NjAsMHhjMCwweDA4LDB4MWEsMHgwMiwweGNlLDB4MDQsMHhiMyB9fSwKLSB7MTYsIDB4YWY4MCwgMCwgezB4ZTAsMHgyOCwweGEwLDB4MDksMHgxYywweDgyLDB4NGIsMHgwOCwweGEzLDB4ODAsMHgyNCwweGEwLDB4MmEsMHgzMCwweDAyLDB4OWEgfX0sCi0gezE2LCAweGFmOTAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGNhLDB4MDAsMHgyZiwweDg4IH19LAotIHsxNiwgMHhhZmEwLCAwLCB7MHgwYywweGEwLDB4MTMsMHgyOCwweDAwLDB4ZWUsMHgwMCwweDJlLDB4ODAsMHgyZCwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4YWZiMCwgMCwgezB4NzYsMHg4MCwweDBlLDB4ZTgsMHgwMywweGJiLDB4ODAsMHhlZSwweDQwLDB4MmYsMHhhMiwweDhmLDB4ZTYsMHgwMywweGViLDB4ODYgfX0sCi0gezE2LCAweGFmYzAsIDAsIHsweGZhLDB4ODAsMHgzNywweDgyLDB4MGMsMHgyMCwweDA3LDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZmQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4NDAsMHgxZSwweDAwLDB4MGYsMHg4MCwweDBiLDB4NjEsMHgwMCwweGU4LDB4YzAsMHgzYSB9fSwKLSB7MTYsIDB4YWZlMCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAxLDB4ZjgsMHgwMCwweDdlLDB4MTAsMHgxZSwweDgxLDB4MDMsMHhlMCwweDA4LDB4ZjggfX0sCi0gezE2LCAweGFmZjAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweGMwLDB4MjgsMHhkYywweDUwLDB4M2IsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhiMDAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MiB9fSwKLSB7MTYsIDB4YjAxMCwgMCwgezB4MGYsMHgxMCwweDAzLDB4YTYsMHgwMCwweGM5LDB4MDEsMHgzYSwweDQwLDB4MGUsMHg5NCwweDAxLDB4ZTQsMHgxMCwweGYxLDB4MDQgfX0sCi0gezE2LCAweGIwMjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDlhLDB4MjMsMHgyMCwweDYwLDB4ZjgsMHgwNCwweDBhLDB4NDIsMHgwZSwweDkwLDB4MTMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhiMDMwLCAwLCB7MHhjMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjA0MCwgMCwgezB4ODAsMHgwNCwweDY3LDB4MDgsMHhhOSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI3LDB4ODIsMHg4OSwweDAwLDB4MjYgfX0sCi0gezE2LCAweGIwNTAsIDAsIHsweDQwLDB4MDgsMHg5YywweDAzLDB4YTQsMHgxMCwweGI5LDB4MDAsMHgzNiwweDQwLDB4OWIsMHgxYywweDFhLDB4MjMsMHgwNCwweGI4IH19LAotIHsxNiwgMHhiMDYwLCAwLCB7MHgwMCwweDNhLDB4NDAsMHgwZSwweDEwLDB4MDIsMHgyNCwweDAyLDB4YzksMHhhMCwweGEyLDB4NDAsMHgwYiwweDkwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4YjA3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNSwweDgwLDB4ODksMHgwNCwweDJjLDB4NDAgfX0sCi0gezE2LCAweGIwODAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDg0LDB4ODEsMHg5OSwweDQwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwNiwweGU0LDB4MDEsMHhiOSwweDAwIH19LAotIHsxNiwgMHhiMDkwLCAwLCB7MHhhNiwweDQxLDB4MWIsMHg5MCwweDgyLDB4MjEsMHgwMCwweGI4LDB4MTAsMHgyZSwweDQwLDB4MGEsMHg5MiwweDBhLDB4YTQsMHgwMSB9fSwKLSB7MTYsIDB4YjBhMCwgMCwgezB4OGYsMHgyMiwweDIzLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YTMsMHgyMCwweDJjLDB4NDEsMHgwOSwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMCwweDI0IH19LAotIHsxNiwgMHhiMGMwLCAwLCB7MHg0OCwweDBhLDB4MzYsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIwLDB4MDQsMHhjOCwweDRiLDB4MTQsMHgwMiwweDA1LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4YjBkMCwgMCwgezB4MDUsMHgyOCwweDUwLDB4MGEsMHg5MCwweDAyLDB4MDUsMHgwMiwweDg1LDB4MDAsMHgyMSwweDQwLDB4MGIsMHgxMiwweDAyLDB4MDIgfX0sCi0gezE2LCAweGIwZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDAsMHg2ZSwweDE0IH19LAotIHsxNiwgMHhiMGYwLCAwLCB7MHgyYywweDg1LDB4MDIsMHhhMSwweDQwLDB4YzgsMHg1MCwweDNhLDB4MTQsMHgwZSwweDgwLDB4MDIsMHhlMSwweDQwLDB4YjAsMHg1MCB9fSwKLSB7MTYsIDB4YjEwMCwgMCwgezB4MzIsMHgwMCwweDBiLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmYSwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGEwLDB4MDIgfX0sCi0gezE2LCAweGIxMTAsIDAsIHsweGM4LDB4MDAsMHgxMywweDAwLDB4MGYsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMTIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0OCwweGY5LDB4MTQsMHgzZiwweDQwLDB4MGMsMHg5MSwweDAzLDB4ZTQsMHg0MiwweGZkLDB4MTAsMHgzNiB9fSwKLSB7MTYsIDB4YjEzMCwgMCwgezB4NDQsMHgwZCwweDkxLDB4MjMsMHhhNCwweDQ4LDB4ZjksMHgxMSwweDM4LDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNSwweDE0LDB4MzkgfX0sCi0gezE2LCAweGIxNDAsIDAsIHsweDQyLDB4N2IsMHg0MCwweDhlLDB4ZDAsMHgwMSwweGY1LDB4MDAsMHhhOSwweDQwLDB4M2UsMHg1MCwweDA3LDB4OTYsMHg4MywweGU2IH19LAotIHsxNiwgMHhiMTUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGY2LDB4ODAsMHhkZCwweGFlLDB4M2EsMHg1MCB9fSwKLSB7MTYsIDB4YjE2MCwgMCwgezB4MGQsMHg5YSwweDBiLDB4NzYsMHg4MCwweGNmLDB4ODgsMHgzMiwweDcwLDB4MmQsMHhkYSwweDAzLDB4YTcsMHgwMSwweGU5LDB4OTIgfX0sCi0gezE2LCAweGIxNzAsIDAsIHsweDM3LDB4NjgsMHgwZCwweDk0LDB4MDMsMHhlNywweDAwLDB4ZWQsMHhhMCwweDNhLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNywweDAyIH19LAotIHsxNiwgMHhiMTgwLCAwLCB7MHhjZCwweDgwLDB4MzMsMHg2OCwweDBjLDB4ZDgsMHg4MywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjE5MCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHg4OCwweDQwLDB4MjAsMHgyMCwweDBjLDB4OGMsMHgwMiwweDIzLDB4MDAsMHg4OCwweGUwLDB4MjIgfX0sCi0gezE2LCAweGIxYTAsIDAsIHsweDMwLDB4MDgsMHg4NCwweDAyLDB4ZTMsMHgwMCwweGI4LDB4ZTAsMHgyMiwweDE0LDB4OGQsMHg4OCwweDAyLDB4ZTMsMHgwMCwweGI4IH19LAotIHsxNiwgMHhiMWIwLCAwLCB7MHg1MCwweDJlLDB4YTgsMHg4YiwweDgwLDB4MjIsMHhlMywweDQ4LDB4ODgsMHg1MCwweDIyLDB4MDAsMHgwOCwweDhjLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YjFjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4OTEsMHgwMCwweDJhLDB4NDggfX0sCi0gezE2LCAweGIxZDAsIDAsIHsweDA5LDB4MTQsMHg4MiwweDA1LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg1OCwweDA5LDB4MTEsMHgwMiwweDg1LDB4ODgsMHhiMSwweDQwIH19LAotIHsxNiwgMHhiMWUwLCAwLCB7MHhhMCwweDQwLDB4MDgsMHgxMiwweDAyLDB4YzUsMHg4MCwweGExLDB4MDAsMHgyOCwweDQwLDB4MGIsMHgxOCwweDAyLDB4YzQsMHg4NCB9fSwKLSB7MTYsIDB4YjFmMCwgMCwgezB4YTEsMHgwMCwweDI0LDB4NTAsMHgwOCwweDEwLDB4OTIsMHgwMywweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyMDAsIDAsIHsweDE4LDB4MTUsMHhhYywweDEwLDB4OWIsMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDA2LDB4ODksMHgwNCwweDIwIH19LAotIHsxNiwgMHhiMjEwLCAwLCB7MHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAyLDB4MjIsMHg0MSwweDg5LDB4YTAsMHg4MiwweGUwLDB4YTAsMHhiOSB9fSwKLSB7MTYsIDB4YjIyMCwgMCwgezB4MjgsMHgyZSwweDQ0LDB4MGIsMHhiMCwweDAyLDB4ZTQsMHgwMiwweGI5LDB4MDAsMHgyNiwweDQwLDB4MjgsMHgxMCwweDAyLDB4MDYgfX0sCi0gezE2LCAweGIyMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzOCwweDQwIH19LAotIHsxNiwgMHhiMjQwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHhhMCwweGEyLDB4NDAsMHg4ZCwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4YjI1MCwgMCwgezB4MzYsMHg0MCwweDBjLDB4ODQsMHgxMywweGUyLDB4MDAsMHhlOSwweDAwLDB4M2EsMHg1MCwweDBmLDB4OWMsMHgwMiwweGU2LDB4ODQgfX0sCi0gezE2LCAweGIyNjAsIDAsIHsweGU5LDB4MDAsMHhiNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMjcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGUxLDB4MDAsMHgzZSwweDY4LDB4MGUsMHgxMCwweDAzLDB4YTQsMHgwMCwweGYxLDB4MjgsMHgzYSB9fSwKLSB7MTYsIDB4YjI4MCwgMCwgezB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDIsMHgwZiwweDgwLDB4MjMsMHhlMiwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGIyOTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4OTEsMHgyMywweGU0LDB4NDAsMHhjMSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwYiwweGNhIH19LAotIHsxNiwgMHhiMmEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweDgwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YjJiMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4YTAsMHgyMCwweGM4LDB4NDAsMHgzZSwweDAwLDB4MGUsMHg4MSwweDYzLDB4NjAsMHgwMCwweGYwLDB4MDQgfX0sCi0gezE2LCAweGIyYzAsIDAsIHsweDNjLDB4MDEsMHgwYywweDg0LDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhjMSwweDAwIH19LAotIHsxNiwgMHhiMmQwLCAwLCB7MHhkOCwweDEwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgyMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjJlMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4NjAsMHg4ZSwweDAwLDB4MjIsMHg4MCwweDBhLDB4YTAsMHgwMiwweDM4LDB4ODAsMHhiZSwweDAwLDB4M2EgfX0sCi0gezE2LCAweGIyZjAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMywweDk4LDB4MTgsMHhlYywweDAyLDB4ZjgsMHgyMCwweGFlIH19LAotIHsxNiwgMHhiMzAwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwYiwweGU0LDB4ODIsMHhlOCwweDAyLDB4Y2UsMHg0NCwweDI4LDB4ODAsMHgwZCwweGEwLDB4MGEsMHgwYSB9fSwKLSB7MTYsIDB4YjMxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MCwweDAwLDB4ODIsMHgwNCwweGEwLDB4YzAgfX0sCi0gezE2LCAweGIzMjAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDhlLDB4MDQsMHg4MywweDUwLDB4NmMsMHhjMCwweDBhLDB4MzAsMHg4NiwweDBjLDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhiMzMwLCAwLCB7MHgyOCwweDMwLDB4MGEsMHgzNiwweDEyLDB4Y2MsMHg4MCwweDgxLDB4MDAsMHgyNCwweGMwLDB4MGIsMHgzMiwweDA2LDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4YjM0MCwgMCwgezB4ODAsMHg4OCwweDY0LDB4NjAsMHgyOCwweDEwLDB4MDIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzNTAsIDAsIHsweGEwLDB4MDEsMHgxMCwweDEyLDB4ODQsMHg0MCwweDIxLDB4YzgsMHgwYSwweDcyLDB4MDIsMHgxMCwweDAwLDB4YjcsMHgwMCwweDJkIH19LAotIHsxNiwgMHhiMzYwLCAwLCB7MHhjYywweDA4LDB4MzgsMHgxMiwweDFjLDB4MDAsMHhiMywweDMwLDB4MjAsMHgwMCwweDA4LDB4NzEsMHg4MiwweGZlLDB4MDAsMHhhNCB9fSwKLSB7MTYsIDB4YjM3MCwgMCwgezB4ODAsMHgyMSwweGM4LDB4MGIsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3LDB4MDAsMHgyYywweDQyLDB4MDksMHg1MSwweDAyLDB4MjAgfX0sCi0gezE2LCAweGIzODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGMyLDB4ODAsMHgzMSwweGY4IH19LAotIHsxNiwgMHhiMzkwLCAwLCB7MHg0YywweGZjLDB4MTMsMHg5MiwweDA5LDB4YzcsMHg4MCwweDNjLDB4ZWQsMHgxZSwweDc4LDB4MjcsMHgxZSwweDAwLDB4ZjcsMHg4YyB9fSwKLSB7MTYsIDB4YjNhMCwgMCwgezB4NzksMHgyMCwweDA4LDB4N2EsMHgwMywweGRlLDB4ODEsMHg4NCwweDgwLDB4M2QsMHhlMCwweDBlLDB4NzgsMHgwMywweGZlLDB4MjAgfX0sCi0gezE2LCAweGIzYjAsIDAsIHsweGM1LDB4ODEsMHgzNSwweDYwLDB4MmMsMHg1OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiM2MwLCAwLCB7MHgwOCwweDFkLDB4ODAsMHgwMCwweGY4LDB4MDQsMHgzZSwweGQwLDB4MGYsMHhiMCwweDEzLDB4ZTAsMHgwMCwweGZiLDB4MDIsMHgzYSB9fSwKLSB7MTYsIDB4YjNkMCwgMCwgezB4ZDAsMHgwZiwweGEwLDB4MGIsMHhhYywweDQwLDB4ZmIsMHgwMCwweDNhLDB4MDAsMHgyZiwweGIwLDB4MDMsMHhjYywweDAwLDB4ZjAgfX0sCi0gezE2LCAweGIzZTAsIDAsIHsweDAwLDB4M2EsMHhjNCwweDBmLDB4YjAsMHgwMywweGZjLDB4NDEsMHhmMywweDAwLDB4M2EsMHg0MCwweDBmLDB4NTAsMHg5MywweGMyIH19LAotIHsxNiwgMHhiM2YwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhjYywweDgxLDB4M2YsMHhmYyB9fSwKLSB7MTYsIDB4YjQwMCwgMCwgezB4MWMsMHhmOCwweDAzLDB4NzYsMHg0MCwweGVmLDB4OTIsMHgzZiwweGU0LDB4OGMsMHhmOCwweDAzLDB4YmYsMHgxMCwweGZmLDB4ODAgfX0sCi0gezE2LCAweGI0MTAsIDAsIHsweGIzLDB4MjAsMHgwZSwweGY5LDB4MTMsMHhmZSwweDI0LDB4ZmQsMHg5NCwweDM3LDB4ZTAsMHgxYywweGY5LDB4MDMsMHhlZSwweDAwIH19LAotIHsxNiwgMHhiNDIwLCAwLCB7MHhjZCwweDgwLDB4YjMsMHhlMCwweDBjLDB4NTgsMHgwMiwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjQzMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4NDAsMHg4MCwweDAwLDB4MmYsMHhjNCwweDA4LDB4NzIsMHgwMiwweGRkLDB4MDgsMHhkNywweDAwLDB4MmQgfX0sCi0gezE2LCAweGI0NDAsIDAsIHsweGNjLDB4MDgsMHhkZSwweDAzLDB4NWMsMHgwMCwweGI3LDB4MDQsMHgyMSwweDgwLDB4YzgsMHg3MCwweDgzLDB4ZGMsMHgwMCwweGI0IH19LAotIHsxNiwgMHhiNDUwLCAwLCB7MHhhMCwweDJmLDB4YzAsMHgwYywweDcwLDB4MDIsMHhkZSwweDgwLDB4ODcsMHgwMCwweDIxLDB4YzIsMHgwYSwweDUxLDB4NDIsMHgyYSB9fSwKLSB7MTYsIDB4YjQ2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ODQsMHgwMCwweDJkLDB4YzggfX0sCi0gezE2LCAweGI0NzAsIDAsIHsweDQ4LDB4NzAsMHgwMiwweDU0LDB4MGMsMHhhNywweDAwLDB4MmMsMHhjMCwweDg5LDB4NzIsMHgwMiwweDVjLDB4MDAsMHhiMywweDEwIH19LAotIHsxNiwgMHhiNDgwLCAwLCB7MHgyMCwweDAwLDB4MGEsMHg3MCwweDA2LDB4ZGMsMHgwMCwweGI0LDB4MjAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg4MCB9fSwKLSB7MTYsIDB4YjQ5MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0YTAsIDAsIHsweDIwLDB4MTQsMHhjMCwweDAwLDB4ODAsMHgwMCwweDJlLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjNCwweDA4LDB4YTIsMHg0MiwweDJjIH19LAotIHsxNiwgMHhiNGIwLCAwLCB7MHhjMSwweDA5LDB4MjAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHg4MCwweDA4LDB4M2MsMHgyMiwweDhjLDB4MjAsMHhiMCB9fSwKLSB7MTYsIDB4YjRjMCwgMCwgezB4MDgsMHgyZSwweGUwLDB4MDgsMHgzOCwweDEwLDB4Y2YsMHgwYSwweDkzLDB4NDAsMHhhMCwweGYwLDB4MGEsMHgxMCwweDAyLDB4MDggfX0sCi0gezE2LCAweGI0ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTgsMHgwMCwweGMxLDB4MDAsMHgzZiwweGMwIH19LAotIHsxNiwgMHhiNGUwLCAwLCB7MHgyYywweGYwLDB4MDMsMHg2OCwweDAwLDB4YWEsMHgwMCwweDNmLDB4YzAsMHgyZCwweDgwLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4YjRmMCwgMCwgezB4MzIsMHgwMCwweDBlLDB4YjAsMHgxMiwweGVkLDB4MjQsMHhmYSwweDA4LDB4MjcsMHhjOCwweDEwLDB4YjgsMHhhMiwweGZmLDB4NjAgfX0sCi0gezE2LCAweGI1MDAsIDAsIHsweDk4LDB4YTAsMHhhMiwweGUwLDB4MGMsMHg1MCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNTEwLCAwLCB7MHg4MCwweDAwLDB4YzksMHgwNiwweGY4LDB4NDEsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTksMHgxMCwweDVhLDB4MjAsMHgzZSB9fSwKLSB7MTYsIDB4YjUyMCwgMCwgezB4YzAsMHgwZSwweDgwLDB4MDMsMHhlYywweDAwLDB4ZjMsMHgwMCwweDdlLDB4MDEsMHgwZiwweGIwLDB4OTMsMHhlZCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGI1MzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGZjLDB4MDAsMHhlMywweDA4LDB4M2MsMHhjMiwweDBmLDB4ZDAsMHgxMywweGUwIH19LAotIHsxNiwgMHhiNTQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYzLDB4MDIsMHhjYywweDAwLDB4M2IsMHhjMiB9fSwKLSB7MTYsIDB4YjU1MCwgMCwgezB4MGMsMHhmMCwweDIzLDB4YWUsMHg0MCwweGRmLDB4ODEsMHgzOSwweGMwLDB4MDYsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDQgfX0sCi0gezE2LCAweGI1NjAsIDAsIHsweDMxLDB4NDEsMHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4Y2MsMHhhMCwweDM3LDB4YzIsMHgwYywweGYwLDB4MDMsMHg3YywweDA0IH19LAotIHsxNiwgMHhiNTcwLCAwLCB7MHhjZCwweDAwLDB4MzMsMHhmMCwweDBjLDB4ZDAsMHgwMywweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjU4MCwgMCwgezB4ODEsMHgwNCwweDYwLDB4MDAsMHg4OCwweDgwLDB4MjIsMHhjMCwweDBhLDB4YjAsMHgwMiwweGU5LDB4MDAsMHhhYiwweDQ0LDB4MmUgfX0sCi0gezE2LCAweGI1OTAsIDAsIHsweGMwLDB4MDgsMHg4OCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAsMHhhMiwweDcwLDB4MGEsMHhiNCwweDAyLDB4Y2MsMHgwMCwweGEwIH19LAotIHsxNiwgMHhiNWEwLCAwLCB7MHgyMCwweDIyLDB4YzAsMHgwZiwweGJjLDB4MDIsMHhjYywweDBhLDB4OGIsMHg4MCwweGEyLDB4YzAsMHgwZCwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YjViMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMCwweDAwLDB4ODksMHg4MCwweDJhLDB4YzAgfX0sCi0gezE2LCAweGI1YzAsIDAsIHsweDA4LDB4YjAsMHgwMiwweGNjLDB4MDYsMHg4OCwweDYwLDB4MmUsMHhjMCwweDBhLDB4OTgsMHgwNiwweGVjLDB4MDEsMHhiYiwweDAwIH19LAotIHsxNiwgMHhiNWQwLCAwLCB7MHgyMiwweDMxLDB4MDIsMHhiMiwweDAyLDB4ZWMsMHhhMCwweDhhLDB4MDAsMHgyNiwweGMwLDB4NDgsMHhhOCwweDAyLDB4ZWMsMHgwNCB9fSwKLSB7MTYsIDB4YjVlMCwgMCwgezB4YTksMHg4MCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1ZjAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4YzAsMHgwYSwweDMwLDB4NDIsMHhjYywweDAwLDB4ODAsMHgwMSwweDJjIH19LAotIHsxNiwgMHhiNjAwLCAwLCB7MHhjMCwweDFhLDB4MTIsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHgwMCwweDRhLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhhMCB9fSwKLSB7MTYsIDB4YjYxMCwgMCwgezB4MDAsMHgwOCwweGMwLDB4MGIsMHgyMCwweDA2LDB4ZWMsMHhhMCwweGEzLDB4MDAsMHhhMCwweDQwLDB4MjksMHgxMCwweDAwLDB4MDIgfX0sCi0gezE2LCAweGI2MjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGM4LDB4NTAsMHgzYiwweGMwIH19LAotIHsxNiwgMHhiNjMwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhhYywweDAwLDB4YzksMHgwMCwweDNiLDB4YzAsMHgwZSwweDkyLDB4ODMsMHhmYywweDAwLDB4YmYsMHgwMCB9fSwKLSB7MTYsIDB4YjY0MCwgMCwgezB4MTIsMHgwMCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHg4OCwweDI2LDB4MTYsMHhjMCwweDBjLDB4ODAsMHgxNywweDVjLDB4ODAgfX0sCi0gezE2LCAweGI2NTAsIDAsIHsweGU5LDB4MDEsMHgzMiwweDQwLDB4MmMsMHhkMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNjYwLCAwLCB7MHhhMCwweDFkLDB4ZDAsMHgwMCwweGZjLDB4MjAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4YjY3MCwgMCwgezB4YzAsMHgwZCwweDgwLDB4MDMsMHhmYywweDA4LDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmYywweDEwLDB4ZjggfX0sCi0gezE2LCAweGI2ODAsIDAsIHsweDQwLDB4MzcsMHhjMCwweDBlLDB4ZTAsMHgyMSwweGZjLDB4MDgsMHhkZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGUwIH19LAotIHsxNiwgMHhiNjkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4YzAsMHhmZiwweDIxLDB4NzEsMHgyNCB9fSwKLSB7MTYsIDB4YjZhMCwgMCwgezB4MGYsMHhmMSwweDgzLDB4ZjIsMHg0MCwweGZmLDB4MDAsMHgzNywweGM0LDB4OWYsMHhmMiwweDQ3LDB4M2QsMHgwNCwweGM3LDB4MjAgfX0sCi0gezE2LCAweGI2YjAsIDAsIHsweDMzLDB4YzAsMHgwYywweDc4LDB4MjMsMHhmZSwweDQwLDB4ZTgsMHgxMCwweDI3LDB4YzQsMHgwZiwweGYyLDB4MTMsMHgzYywweDg0IH19LAotIHsxNiwgMHhiNmMwLCAwLCB7MHhjNCwweDgxLDB4MzMsMHgyMCwweDRjLDB4ZjAsMHgyMywweDcwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjZkMCwgMCwgezB4ODAsMHgxMCwweGVkLDB4NDAsMHhiZiwweDU0LDB4NjIsMHhjOCwweDBiLDB4ZjYsMHgwMiwweGUwLDB4MDAsMHhiYiwweGQwLDB4MjIgfX0sCi0gezE2LCAweGI2ZTAsIDAsIHsweGYwLDB4MWYsMHhmOSwweDEyLDB4M2QsMHg4MCwweDlmLDB4ODEsMHgyYiwweGUwLDB4MGEsMHhiOCwweDEyLDB4ZTgsMHgwMCwweDhmIH19LAotIHsxNiwgMHhiNmYwLCAwLCB7MHgwNCwweDIyLDB4ZDAsMHgwOCwweGIzLDB4OGEsMHhiZiwweDQyLDB4OGIsMHg4MiwweDIyLDB4ZTAsMHgyOCwweDhjLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YjcwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgyOCwweDI4LDB4MDggfX0sCi0gezE2LCAweGI3MTAsIDAsIHsweDBiLDB4MzAsMHgwNiwweDgwLDB4ODAsMHhiMywweDAyLDB4MjQsMHhkMSwweDBiLDB4MzAsMHgwMiwweDhkLDB4ODAsMHg5MywweDEwIH19LAotIHsxNiwgMHhiNzIwLCAwLCB7MHgyMCwweGNlLDB4OGIsMHgzMCwweDAyLDB4Y2MsMHg4NCwweGExLDB4MjEsMHgyYywweGNjLDB4MGEsMHgzMCwweDBhLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4YjczMCwgMCwgezB4OTMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDNjLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3NDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4YmIsMHgwMiwweDZhLDB4ZTAsMHgwYiwweGIwLDB4MDIsMHhlMSwweDA4LDB4YmIsMHgwNCwweDJhIH19LAotIHsxNiwgMHhiNzUwLCAwLCB7MHhjMCwweDBhLDB4YjAsMHgxMiwweDhjLDB4MDAsMHg5YiwweDAwLDB4MmEsMHhjMCwweDBiLDB4YjEsMHgwNiwweGM4LDB4ODAsMHg4YiB9fSwKLSB7MTYsIDB4Yjc2MCwgMCwgezB4ODIsMHg2YSwweGMxLDB4MGEsMHgzMCwweDAyLDB4YWMsMHgxOCwweDg4LDB4MTAsMHgyYSwweDQ4LDB4MDgsMHg4MCwweDAyLDB4MzAgfX0sCi0gezE2LCAweGI3NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHhhYSwweDMwIH19LAotIHsxNiwgMHhiNzgwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhhOCwweDAwLDB4ZjMsMHgwMSwweGI2LDB4YzEsMHgwYiwweGIwLDB4MDIsMHhhYywweDA4LDB4NGIsMHgwMCB9fSwKLSB7MTYsIDB4Yjc5MCwgMCwgezB4YjIsMHhjMCwweDBmLDB4YjgsMHgwMiwweGVjLDB4MTAsMHhhOSwweDgxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDBjLDB4MDAgfX0sCi0gezE2LCAweGI3YTAsIDAsIHsweGNiLDB4YTAsMHgxOCwweGQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiN2IwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwOCwweGY3LDB4MDAsMHgzNywweDAwLDB4MGYsMHhmMCwweDAzLDB4ZmQsMHgwMCwweGZmLDB4MDAsMHgzNyB9fSwKLSB7MTYsIDB4YjdjMCwgMCwgezB4YzAsMHgwZiwweGIwLDB4MDcsMHg3YywweDAwLDB4ZTcsMHgwMCwweDNlLDB4YzAsMHgwYSwweGYwLDB4MDMsMHhmZSwweDAwLDB4ZjcgfX0sCi0gezE2LCAweGI3ZDAsIDAsIHsweDAwLDB4MzYsMHhjMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDgwLDB4MzcsMHhlMCwweDBmLDB4YTAsMHgwMywweGI4IH19LAotIHsxNiwgMHhiN2UwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhkYiwweDAwLDB4MzYsMHgwMCB9fSwKLSB7MTYsIDB4YjdmMCwgMCwgezB4MGUsMHhiMCwweDAzLDB4NjksMHgwMCwweGRiLDB4MDksMHgzYSwweGMwLDB4MWYsMHgzMCwweDIzLDB4ZWMsMHgwOCwweGNiLDB4MjAgfX0sCi0gezE2LCAweGI4MDAsIDAsIHsweDM0LDB4YzAsMHgyZiwweGIwLDB4MDMsMHhlYywweDQwLDB4ZWIsMHg0OCwweDNlLDB4YzQsMHg0ZCwweGIwLDB4OGIsMHg2YywweDAwIH19LAotIHsxNiwgMHhiODEwLCAwLCB7MHhjYiwweDAwLDB4MzIsMHg5MCwweDBmLDB4MzAsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjgyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MjIsMHgwMCwweDQ4LDB4ZjAsMHgyMiwweDJjLDB4MDAsMHg4ZiwweDAwLDB4MjMgfX0sCi0gezE2LCAweGI4MzAsIDAsIHsweGUwLDB4OGIsMHhmNSwweDEwLDB4M2MsMHgwMCwweDhmLDB4ODAsMHgyMywweGYwLDB4ODAsMHg5OCwweDAzLDB4MmQsMHg0NCwweGRiIH19LAotIHsxNiwgMHhiODQwLCAwLCB7MHgwMCwweDIzLDB4ZDQsMHgwOCwweGY4LDB4MDIsMHgzYywweDAwLDB4ODMsMHgwMCwweDIyLDB4YzAsMHgwYiwweGE0LDB4ODIsMHgzMiB9fSwKLSB7MTYsIDB4Yjg1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4OTMsMHgwMCwweDI0LDB4MDAgfX0sCi0gezE2LCAweGI4NjAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDg0LDB4MDAsMHhiMywweDAxLDB4MjgsMHhmNiwweDA5LDB4MzQsMHgzMiwweDhjLDB4MDEsMHhiMywweGQwIH19LAotIHsxNiwgMHhiODcwLCAwLCB7MHgyNCwweGU4LDB4MGEsMHgzMSwweDBhLDB4ODYsMHgwMCwweDgzLDB4MDAsMHgyYSwweGUwLDB4MDAsMHgzMCwweDAyLDB4OGMsMHgwMCB9fSwKLSB7MTYsIDB4Yjg4MCwgMCwgezB4ODMsMHgwMCwweDI4LDB4YzAsMHg4OSwweDM4LDB4YTIsMHg3OCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI4OTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4OTcsMHg5NCwweDIzLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHgzMiwweDAwLDB4OTcsMHhhMSwweDIxIH19LAotIHsxNiwgMHhiOGEwLCAwLCB7MHhlNCwweDBiLDB4NzgsMHgwMiwweDFlLDB4NDAsMHhiNywweGEwLDB4MjUsMHhlYywweDA4LDB4ZmMsMHgwMiwweDNhLDB4MDAsMHg5MyB9fSwKLSB7MTYsIDB4YjhiMCwgMCwgezB4YjgsMHgyMSwweGUwLDB4MDgsMHg3OCwweDgyLDB4OWUsMHg0MCwweDg3LDB4YzAsMHgyOSwweGEwLDB4MGIsMHg1OCwweDAyLDB4NDggfX0sCi0gezE2LCAweGI4YzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MmMsMHgwMCwweGRiLDB4MDAsMHgzNCwweDIwIH19LAotIHsxNiwgMHhiOGQwLCAwLCB7MHgwZiwweDNhLDB4MDMsMHg4ZSwweDAwLDB4ZjMsMHhiMCwweDI4LDB4YzQsMHgwYiwweDNhLDB4MDMsMHhhZSwweDQwLDB4ZjMsMHhhMCB9fSwKLSB7MTYsIDB4YjhlMCwgMCwgezB4MzQsMHhlZSwweDBmLDB4MzAsMHgyMywweDg0LDB4MDAsMHhlMywweGYwLDB4MzgsMHhjMCwweDBjLDB4YjAsMHgwYiwweDhlLDB4NDIgfX0sCi0gezE2LCAweGI4ZjAsIDAsIHsweGMzLDB4MDAsMHgzOCwweGMwLDB4MGYsMHgzMCwweDYzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOTAwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGViLDB4NDIsMHgzYSwweGM0LDB4MWUsMHhiMSwweDA3LDB4ODgsMHhkMSwweGUzLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4YjkxMCwgMCwgezB4YzUsMHg4ZiwweGYxLDB4NjMsMHhhYywweDEwLDB4Y2IsMHg1MCwweDNiLDB4YzMsMHgwZiwweGQxLDB4MDMsMHhjOCwweDAwLDB4YmIgfX0sCi0gezE2LCAweGI5MjAsIDAsIHsweDIwLDB4M2IsMHhjMCwweDJlLDB4ZjEsMHgwMywweDFjLDB4MDAsMHhmZiwweDAwLDB4MzcsMHhjMCwweDRmLDB4ZDEsMHgwMywweDkwIH19LAotIHsxNiwgMHhiOTMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4NDAsMHhmYiwweDQ0LDB4YjIsMHhjMCB9fSwKLSB7MTYsIDB4Yjk0MCwgMCwgezB4NGYsMHhiMywweDQzLDB4MjQsMHgwMCwweGRiLDB4MTAsMHgzNiwweGMwLDB4NGMsMHhiZSwweDIyLDB4NmQsMHgyMCwweGNiLDB4NTAgfX0sCi0gezE2LCAweGI5NTAsIDAsIHsweDNlLDB4YzksMHg0YywweGIwLDB4MTMsMHgyNCwweDAwLDB4Y2YsMHgyMCwweDMzLDB4YzAsMHgzZCwweGYwLDB4MjMsMHgyYywweGMwIH19LAotIHsxNiwgMHhiOTYwLCAwLCB7MHhkOCwweDAwLDB4M2UsMHg0MCwweDhmLDB4MzAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjk3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDQsMHhiNywweDYwLDB4MjEsMHhjMSwweDhiLDB4ZjAsMHhhMiwweDE0LDB4MTAsMHg4NywweDAwLDB4MGYgfX0sCi0gezE2LCAweGI5ODAsIDAsIHsweGM4LDB4MGQsMHg3MSwweDBhLDB4MWQsMHgwMCwweDg3LDB4MDAsMHgyYywweGNjLDB4NDgsMHg3MCwweDJhLDB4OWMsMHgwMCwweDg3IH19LAotIHsxNiwgMHhiOTkwLCAwLCB7MHgwYywweDIxLDB4YzAsMHgwYywweDcyLDB4MDIsMHgwYywweGEyLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4YjlhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjMsMHg4MCwweDIxLDB4ZTAgfX0sCi0gezE2LCAweGI5YjAsIDAsIHsweDBiLDB4N2EsMHgwMiwweGRlLDB4MDAsMHhiNywweDgxLDB4MDUsMHhlNCwweDA4LDB4NzksMHgwMiwweDVjLDB4ODAsMHg4NywweGEwIH19LAotIHsxNiwgMHhiOWMwLCAwLCB7MHgyZCwweGUwLDB4MDgsMHhmOCwweDA2LDB4YjYsMHgwMCwweDg3LDB4ODAsMHgyMCwweGU0LDB4MGEsMHg3YiwweDEyLDB4MWUsMHg5MCB9fSwKLSB7MTYsIDB4YjlkMCwgMCwgezB4OTcsMHg4OCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MGUsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5ZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDAsMHgwYiwweGIwLDB4MDIsMHg2ZSwweDM0LDB4YTMsMHgwMCwweDJjIH19LAotIHsxNiwgMHhiOWYwLCAwLCB7MHhjMSwweDA5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDQ4LDB4MTAsMHgwMiwweDhkLDB4ODAsMHg4MyB9fSwKLSB7MTYsIDB4YmEwMCwgMCwgezB4YzAsMHgwMCwweGMwLDB4OGEsMHgzMCwweDEyLDB4MGMsMHgwMCwweDgwLDB4MDAsMHgyYywweDE2LDB4MGIsMHgzOCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGJhMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzMywweDg4IH19LAotIHsxNiwgMHhiYTIwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHg3OSwweDkwLDB4ZmEsMHgwMSwweDM2LDB4ODAsMHgxYywweGEwLDB4MDMsMHg2OCwweDAwLDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4YmEzMCwgMCwgezB4M2UsMHg4MSwweDJjLDB4YTAsMHgwYiwweGI5LDB4MGMsMHhjZSwweGUyLDB4YjIsMHg4MCwweDhlLDB4YTAsMHgwYiwweDI4LDB4MDAgfX0sCi0gezE2LCAweGJhNDAsIDAsIHsweGRhLDB4ODAsMHgzYywweGIwLDB4MGYsMHhlMCwweDgzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYTUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YmE2MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MjMsMHhhMCwweDAwLDB4ZjAsMHg0MCwweDNlLDB4MTAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAyLDB4ZjggfX0sCi0gezE2LCAweGJhNzAsIDAsIHsweDQ4LDB4M2UsMHgxMCwweDBjLDB4ODAsMHgwMywweGMwLDB4MTAsMHhmOCwweDgwLDB4M2UsMHgwMCwweDBmLDB4MDAsMHgwMywweGQyIH19LAotIHsxNiwgMHhiYTgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAwLDB4MzYsMHg0MiB9fSwKLSB7MTYsIDB4YmE5MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MjQsMHgxOCwweGY5LDB4MTAsMHgzYywweDQ4LDB4NjgsMHg5MiwweDEzLDB4ZTQsMHgwMCwweGE5LDB4MTEgfX0sCi0gezE2LCAweGJhYTAsIDAsIHsweGIyLDB4NjAsMHgwZSwweDkxLDB4MDMsMHgyNiwweDAwLDB4YzksMHgwMCwweDMyLDB4NjAsMHgwYywweDEwLDB4MDMsMHgyNCwweDA4IH19LAotIHsxNiwgMHhiYWIwLCAwLCB7MHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgyMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmFjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDgsMHg4OSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGJhZDAsIDAsIHsweDQyLDB4NDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4ODAsMHgyMiwweDcwLDB4MDgsMHgxNCwweDIyLDB4YTQsMHgwMiwweDg5IH19LAotIHsxNiwgMHhiYWUwLCAwLCB7MHg0MiwweDJhLDB4NzAsMHgyOCwweDkwLDB4MGEsMHgyNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MDIsMHhhMCB9fSwKLSB7MTYsIDB4YmFmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4OTksMHgwMCwweDI2LDB4YzAgfX0sCi0gezE2LCAweGJiMDAsIDAsIHsweDAzLDB4OTAsMHgwMiwweDI0LDB4MDEsMHhhOSwweDAwLDB4MGUsMHg0MCwweDBhLDB4OTAsMHg0NiwweGM0LDB4MGEsMHg4OSwweDAwIH19LAotIHsxNiwgMHhiYjEwLCAwLCB7MHgyMCwweDQ4LDB4MGEsMHg5MCwweDAyLDB4MDUsMHg4MCwweDgxLDB4NDEsMHhhMCwweDU4LDB4ODgsMHg5MCwweDAyLDB4MjQsMHgwOCB9fSwKLSB7MTYsIDB4YmIyMCwgMCwgezB4OGQsMHg4MCwweDJmLDB4YzAsMHgwOCwweDk4LDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDAsMHgwYiwweDEyLDB4MDIsMHg4NCwweDAwLDB4ODEsMHgyNCwweDJjIH19LAotIHsxNiwgMHhiYjQwLCAwLCB7MHg1OCwweDBhLDB4MzIsMHgyMiwweGM1LDB4ODQsMHhhMSwweDAwLDB4MjAsMHg1MCwweDA4LDB4YjAsMHgwMiwweDg1LDB4MDgsMHg4MSB9fSwKLSB7MTYsIDB4YmI1MCwgMCwgezB4NDAsMHgyMCwweDVhLDB4MDgsMHgxNiwweDgyLDB4MDQsMHgwMCwweGE1LDB4MDAsMHgyZCwweDQwLDB4MDgsMHgxMiwweDgyLDB4ODIgfX0sCi0gezE2LCAweGJiNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzNiwweDE0IH19LAotIHsxNiwgMHhiYjcwLCAwLCB7MHgwZiwweDg1LDB4MjMsMHgwMSwweDQwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4NDMsMHhjMCwweDA4LDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4YmI4MCwgMCwgezB4MzIsMHg4MCwweDBlLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjMCwweDAwLDB4MzIsMHgwOCwweDJjLDB4MDIsMHgwMywweDIwLDB4MDggfX0sCi0gezE2LCAweGJiOTAsIDAsIHsweGM4LDB4MDAsMHgzZiwweDAwLDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYmEwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHg5MSwweDQzLDB4ZjQsMHgwNCwweGY5LDB4MTAsMHgzZSB9fSwKLSB7MTYsIDB4YmJiMCwgMCwgezB4NDQsMHgwZCwweDExLDB4MDMsMHhlNCwweDQ0LDB4NTksMHg0MCwweDNlLDB4NTAsMHg0ZiwweDUwLDB4NDMsMHhkNCwweDAyLDB4ZmQgfX0sCi0gezE2LCAweGJiYzAsIDAsIHsweDQwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwYiwweGU1LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4ZDAsMHgwMywweGU2IH19LAotIHsxNiwgMHhiYmQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDY2LDB4NjAsMHhjOSwweGUwLDB4MzIsMHg0NCB9fSwKLSB7MTYsIDB4YmJlMCwgMCwgezB4MGYsMHg5YywweDAzLDB4ZTQsMHgwMCwweGRkLDB4ODQsMHgzZiwweDY4LDB4OGYsMHhkOCwweDQyLDB4ZTYsMHhhMCwweGRkLDB4YTQgfX0sCi0gezE2LCAweGJiZjAsIDAsIHsweDMzLDB4NjgsMHgwZCwweDcwLDB4MDMsMHgyNSwweDAwLDB4YzksMHhlMCwweGIyLDB4NjgsMHgwYywweDlhLDB4YzMsMHgyNiwweDAwIH19LAotIHsxNiwgMHhiYzAwLCAwLCB7MHg5OSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OWEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmMxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4MDAsMHg4OCwweDgwLDB4YWEsMHgyMCwweDhiLDB4ODgsMHgwMiwweGUyLDB4ODgsMHhiOCwweDAxLDB4MmUgfX0sCi0gezE2LCAweGJjMjAsIDAsIHsweDAwLDB4MGIsMHg4NCwweDAyLDB4ZTIsMHhiMCwweDg4LDB4NTAsMHgyMiwweDE0LDB4MDgsMHg4MCwweDAyLDB4ODIsMHg4MCwweDg4IH19LAotIHsxNiwgMHhiYzMwLCAwLCB7MHhlMCwweGI2LDB4M2EsMHgwOCwweGNlLDB4YTIsMHgyMSwweDA4LDB4ODgsMHgwMCwweDJlLDB4MDAsMHgwYiwweGM0LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YmM0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHg2MCwweDY4LDB4NDggfX0sCi0gezE2LCAweGJjNTAsIDAsIHsweDViLDB4MTYsMHgwMiwweGM0LDB4MjAsMHhhMSwweDQwLDB4NmMsMHg1MCwweDBiLDB4MTQsMHgwMiwweGM0LDB4MDAsMHhhMSwweDAwIH19LAotIHsxNiwgMHhiYzYwLCAwLCB7MHgyNCwweDQwLDB4MGIsMHg5MCwweDIyLDB4MTQsMHg5MCwweDg1LDB4NDIsMHgyMSwweDUwLDB4NWIsMHg1MCwweDFhLDB4MTUsMHgwMCB9fSwKLSB7MTYsIDB4YmM3MCwgMCwgezB4OTUsMHgwMCwweDJkLDB4NDAsMHgwYiwweDUxLDB4MGEsMHg4MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwYiwweDkwLDB4NDYsMHhlNCwweDAwLDB4YjksMHgwMSwweDJlIH19LAotIHsxNiwgMHhiYzkwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgyMCwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjYsMHg0MCwweDE4LDB4YjgsMHgwMiwweGE0LDB4MDIsMHg4ZCB9fSwKLSB7MTYsIDB4YmNhMCwgMCwgezB4MDgsMHgyZiwweDQwLDB4OGIsMHhkMCwweDAyLDB4MjQsMHgwMCwweDhkLDB4MjAsMHgyZiwweDQ4LDB4MGIsMHhkMCwweDAyLDB4ODYgfX0sCi0gezE2LCAweGJjYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDQwIH19LAotIHsxNiwgMHhiY2MwLCAwLCB7MHgwZiwweDkwLDB4MDIsMHhlNCwweDEwLDB4NDksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZTksMHgwMSB9fSwKLSB7MTYsIDB4YmNkMCwgMCwgezB4MzYsMHg0MCwweDBmLDB4MTgsMHgxMywweDI0LDB4MTAsMHhjOSwweDgyLDB4MzIsMHg0MCwweDdmLDB4OTAsMHgyMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGJjZTAsIDAsIHsweGQ5LDB4MjAsMHgzZSwweDcyLDB4MGYsMHg5MCwweDAzLDB4YTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiY2YwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgwMiwweGYxLDB4MDEsMHgxNiwweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTUsMHgxMCwweGY5LDB4MDgsMHgyZSB9fSwKLSB7MTYsIDB4YmQwMCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDAwLDB4YzksMHgwMSwweDNhLDB4NDAsMHgxZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGJkMTAsIDAsIHsweDIwLDB4MzQsMHg0MCwweDhjLDB4OTAsMHgwMywweGM0LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBmLDB4MTAsMHgwMywweDRhIH19LAotIHsxNiwgMHhiZDIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDgsMHhmOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4YmQzMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAyLDB4NGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGQwLDB4MDAgfX0sCi0gezE2LCAweGJkNDAsIDAsIHsweDNlLDB4MDAsMHgwZSwweDgxLDB4MDMsMHgzMCwweDAwLDB4Y2MsMHg0MCwweDMzLDB4MDAsMHgwYywweGMwLDB4MGIsMHgyMCwweDIwIH19LAotIHsxNiwgMHhiZDUwLCAwLCB7MHhlOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4YzAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmQ2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHhiYSwweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiZSwweGM4LDB4NmYgfX0sCi0gezE2LCAweGJkNzAsIDAsIHsweDgwLDB4MGIsMHhlMSwweDIyLDB4YTgsMHgwMCwweDhlLDB4MjAsMHgyZiwweDgwLDB4MGIsMHhlMCwweDIzLDB4NjgsMHgwMCwweDhhIH19LAotIHsxNiwgMHhiZDgwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOSwweDAwLDB4OGEsMHgwMCwweDJlLDB4YTgsMHgwYiwweGEwLDB4MDAsMHhjYSB9fSwKLSB7MTYsIDB4YmQ5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAgfX0sCi0gezE2LCAweGJkYTAsIDAsIHsweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweGMxLDB4MmMsMHhlMCwweDBiLDB4MzgsMHg1NiwweDJjLDB4MTAsMHgxMywweDAwIH19LAotIHsxNiwgMHhiZGIwLCAwLCB7MHgyZSwweGMwLDB4MGEsMHgzOCwweDZhLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMCwweDAwLDB4MDksMHg4MCwweDIyLDB4NGMsMHg0MiB9fSwKLSB7MTYsIDB4YmRjMCwgMCwgezB4YTMsMHgwMCwweDJjLDB4ZTAsMHgwYiwweDI0LDB4ODAsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDA4LDB4YjcsMHgyNCwweDJmLDB4ZTAsMHgwOSwweDM5LDB4MDIsMHgxYywweDAxLDB4YjYsMHgwMCwweDJkIH19LAotIHsxNiwgMHhiZGUwLCAwLCB7MHg5MCwweDBiLDB4NjAsMHg5MiwweDhlLDB4MDAsMHg4NiwweDgyLDB4MmQsMHhjMiwweDBiLDB4ZjAsMHgwMiwweDVjLDB4MDYsMHg4NyB9fSwKLSB7MTYsIDB4YmRmMCwgMCwgezB4MDAsMHg2MCwweGMwLDB4MjksMHg3MCwweDAyLDB4NWMsMHgwMCwweDg2LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweGJlMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHg0MCwweGYzLDB4ZTQsMHgzZCwweGU4IH19LAotIHsxNiwgMHhiZTEwLCAwLCB7MHgwZCwweDc5LDB4MGIsMHgxZSwweGMwLDB4NjcsMHg4MCwweDJkLDB4ZTAsMHgwZiwweDcwLDB4NDMsMHgxZCwweDgwLDB4ZDUsMHgwMCB9fSwKLSB7MTYsIDB4YmUyMCwgMCwgezB4M2QsMHg2MCwweDBlLDB4NzgsMHgwMywweDFlLDB4MDAsMHhjZCwweDgwLDB4MzEsMHhlMCwweDBkLDB4YzgsMHgwMywweDRlLDB4MDAgfX0sCi0gezE2LCAweGJlMzAsIDAsIHsweGU1LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg0OCwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZTQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg4MCwweGZiLDB4MDAsMHg3MCwweGMwLDB4NmUsMHhiNiwweDEzLDB4YWQsMHg0MCwweGZhLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YmU1MCwgMCwgezB4YzAsMHgwZiwweDIwLDB4NDMsMHgyZCwweDE4LDB4NTksMHgwMCwweDNlLDB4MDAsMHgwMywweGIwLDB4MGIsMHhlMCwweDAwLDB4ZmEgfX0sCi0gezE2LCAweGJlNjAsIDAsIHsweDAwLDB4YmUsMHgwMCwweDBlLDB4YjAsMHgxMywweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGMyIH19LAotIHsxNiwgMHhiZTcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4NDAsMHhmZiwweDgwLDB4M2YsMHhlNiB9fSwKLSB7MTYsIDB4YmU4MCwgMCwgezB4MGYsMHhmOCwweDIzLDB4MmUsMHgwNCwweGZmLDB4OTAsMHgzZiwweGU0LDB4MGQsMHhiYSwweDAzLDB4ZmYsMHg0MCwweGNmLDB4ODAgfX0sCi0gezE2LCAweGJlOTAsIDAsIHsweDIyLDB4ZTEsMHgwYywweDM5LDB4NDMsMHgzMiwweDEwLDB4ZWMsMHg5MCwweDMzLDB4MjAsMHg4ZSwweGM4LDB4MDMsMHhmMiwweDAwIH19LAotIHsxNiwgMHhiZWEwLCAwLCB7MHhkZiwweDgwLDB4M2YsMHg2MCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmViMCwgMCwgezB4YTgsMHgxMSwweDljLDB4NDAsMHhiNywweDkwLDB4M2MsMHhlMCwweDBiLDB4M2EsMHgwMywweDRlLDB4ODAsMHhmMywweGIxLDB4MmQgfX0sCi0gezE2LCAweGJlYzAsIDAsIHsweDA0LDB4NGMsMHgzOCwweDIzLDB4YWUsMHgwMCwweDgwLDB4ODAsMHgzNCwweGU4LDB4NGQsMHg3OCwweDAyLDB4M2UsMHg4MCwweDg3IH19LAotIHsxNiwgMHhiZWQwLCAwLCB7MHhhMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjMCwweDgwLDB4ODYsMHgwMiwweDJkLDB4NDEsMHgwYiwweDcwLDB4MDIsMHhlYSB9fSwKLSB7MTYsIDB4YmVlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDQ4LDB4MzcsMHgwMSwweDJkLDB4YzkgfX0sCi0gezE2LCAweGJlZjAsIDAsIHsweDBiLDB4NzIsMHgyMiwweDFjLDB4ODQsMHhiNSwweDE2LDB4MGQsMHhjNCwweDE5LDB4NDAsMHg0MiwweGRjLDB4ODAsMHg4NywweDAwIH19LAotIHsxNiwgMHhiZjAwLCAwLCB7MHgyMCwweGM4LDB4ODgsMHg3MywweDBhLDB4OWMsMHg4MCwweGI1LDB4MDAsMHgyOSwweGMwLDB4MGEsMHg0OCwweDAyLDB4YzAsMHgwMiB9fSwKLSB7MTYsIDB4YmYxMCwgMCwgezB4OTUsMHgwMCwweDJkLDB4NDIsMHgwYiwweDU4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmMjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDJhLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHg0YywweDIwLDB4YTEsMHgwMSwweDI0IH19LAotIHsxNiwgMHhiZjMwLCAwLCB7MHhjMSwweDA4LDB4MDAsMHgwMiwweDhjLDB4MDAsMHg4MSwweDAwLDB4MjQsMHg4MCwweDA5LDB4MzgsMHgwYSwweDYwLDB4ODAsMHg5MiB9fSwKLSB7MTYsIDB4YmY0MCwgMCwgezB4NDAsMHgyYSwweDAwLDB4MGEsMHgzMCwweDAyLDB4YzAsMHgwMCwweDgwLDB4YzgsMHgyYywweDcyLDB4MGIsMHgxNCwweDAyLDB4YzggfX0sCi0gezE2LCAweGJmNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZmLDB4MDAsMHgyZiwweGY0IH19LAotIHsxNiwgMHhiZjYwLCAwLCB7MHg4ZiwweGYwLDB4MDMsMHgzYywweDAwLDB4YjksMHgwMCwweDNlLDB4NDAsMHgwOSwweDkwLDB4MDMsMHhmYywweDAyLDB4YzMsMHgwMSB9fSwKLSB7MTYsIDB4YmY3MCwgMCwgezB4MzIsMHhjMCwweDQ4LDB4YjgsMHgxMywweGExLDB4MDAsMHhiYSwweDAwLDB4MmEsMHgwMCwweDBhLDB4YTAsMHgwNywweGVjLDB4MDAgfX0sCi0gezE2LCAweGJmODAsIDAsIHsweGRiLDB4YzgsMHgzZSwweDkwLDB4MGYsMHhhMiwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZjkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzZSwweGM0LDB4MGYsMHhiMCwweDYzLDB4ZWMsMHgwMSwweGY4LDB4NDAsMHgzZSB9fSwKLSB7MTYsIDB4YmZhMCwgMCwgezB4NDAsMHgwYiwweDgwLDB4MDMsMHhjYywweDAwLDB4ZmEsMHg0MiwweDNlLDB4YzAsMHgwZiwweGI1LDB4MDAsMHhhYywweDU4LDB4ZTkgfX0sCi0gezE2LCAweGJmYjAsIDAsIHsweDgyLDB4M2UsMHhjMCwweDFkLDB4OTAsMHgwMywweGVjLDB4MDQsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweGUwIH19LAotIHsxNiwgMHhiZmMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MGMsMHhkZiwweDAwLDB4N2YsMHhjMCB9fSwKLSB7MTYsIDB4YmZkMCwgMCwgezB4MmMsMHhmMCwweDAzLDB4N2MsMHgwMSwweGM3LDB4MDAsMHgzMywweDQwLDB4OGYsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGQ4LDB4MDAgfX0sCi0gezE2LCAweGJmZTAsIDAsIHsweDE1LDB4NDQsMHgwYywweGUwLDB4MWIsMHgzYywweDAwLDB4Y2IsMHgwZSwweDMzLDB4YzAsMHg1YywweDYyLDB4MDIsMHgxYywweDAyIH19LAotIHsxNiwgMHhiZmYwLCAwLCB7MHhjNSwweDAwLDB4MmIsMHg4MCwweDBmLDB4YzAsMHg4NywweDgwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzAwMCwgMCwgezB4ODEsMHg0NCwweDZjLDB4MTAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHg1MiwweDBjLDB4MDEsMHhmYSwweGM0LDB4MjIgfX0sCi0gezE2LCAweGMwMTAsIDAsIHsweDYxLDB4MGIsMHg4OCwweDAzLDB4NmMsMHgwMCwweDg4LDB4NDcsMHgyYSwweDAwLDB4MGUsMHgxYywweDAyLDB4MjAsMHgwMiwweDg4IH19LAotIHsxNiwgMHhjMDIwLCAwLCB7MHgwMCwweGFhLDB4MDAsMHgyOCwweDkwLDB4MGEsMHgyYywweDA0LDB4YTgsMHgwMCwweDIyLDB4OTAsMHgwYiwweDgwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YzAzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzEgfX0sCi0gezE2LCAweGMwNDAsIDAsIHsweDA4LDB4MzAsMHgxMiwweDZjLDB4MDAsMHg4OCwweDg4LDB4MmEsMHgzMCwweDBiLDB4YjgsMHgwMiwweGVjLDB4MDAsMHg5YiwweDA4IH19LAotIHsxNiwgMHhjMDUwLCAwLCB7MHgyYSwweDQwLDB4MDgsMHhiOCwweDAyLDB4MjAsMHgwMCwweDgyLDB4MTAsMHgyMiwweDAwLDB4MDgsMHhhMCwweDIyLDB4YTAsMHgwMCB9fSwKLSB7MTYsIDB4YzA2MCwgMCwgezB4OGIsMHgwMCwweDJhLDB4MDIsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwNzAsIDAsIHsweDA4LDB4MDAsMHgwYywweDAwLDB4YjMsMHgyMCwweDJjLDB4YzIsMHgwOCwweDM2LDB4MDIsMHgyYywweGMwLDB4YTAsMHgwOCwweDIwIH19LAotIHsxNiwgMHhjMDgwLCAwLCB7MHgwMCwweDBiLDB4MzMsMHg0NiwweGNkLDB4MjgsMHg4MCwweDIwLDB4MjgsMHhjMCwweDBiLDB4MzIsMHgwMiwweDBjLDB4MjAsMHg4MSB9fSwKLSB7MTYsIDB4YzA5MCwgMCwgezB4MzAsMHgyOCwweGMwLDB4MDgsMHgxMCwweDAyLDB4ODEsMHgwMCwweGFhLDB4MDAsMHgyOCwweDAwLDB4MDMsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGMwYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4N2MsMHgwMCwweGZiLDB4MjgsMHgyZSwweGNjIH19LAotIHsxNiwgMHhjMGIwLCAwLCB7MHgwYywweDcwLDB4NTMsMHg3ZCwweDA5LDB4ODgsMHgwMCwweGJhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhmZCwweDgwLDB4ZGEsMHg2MCB9fSwKLSB7MTYsIDB4YzBjMCwgMCwgezB4M2EsMHg1MCwweDhjLDB4YTIsMHg4MywweDJjLDB4ODAsMHg0YiwweDIwLDB4MzAsMHhjMCwweDI4LDB4YTAsMHgwMywweGExLDB4MDAgfX0sCi0gezE2LCAweGMwZDAsIDAsIHsweGM5LDB4MDAsMHgzYSwweDAwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMGUwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNCwweGZiLDB4MDAsMHg3ZSwweGM5LDB4MGIsMHhiNiwweDAzLDB4ZmMsMHhjMCwweGY4LDB4MGMsMHgzZiB9fSwKLSB7MTYsIDB4YzBmMCwgMCwgezB4MDAsMHg0ZiwweGMzLDB4NDMsMHgyYywweDAwLDB4YjgsMHgzOCwweDNmLDB4OGUsMHg1ZSwweGYwLDB4NDMsMHhlMCwweDEwLDB4ZjggfX0sCi0gezE2LCAweGMxMDAsIDAsIHsweDMwLDB4M2YsMHgwMSwweDBmLDB4ZDAsMHgwMywweDcwLDB4MDAsMHhmYywweDAwLDB4MzcsMHgwMCwweDBkLDB4ZDAsMHgwNywweGU5IH19LAotIHsxNiwgMHhjMTEwLCAwLCB7MHgwMywweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4ZTAsMHhjYywweDgwLDB4MzMsMHhjMCB9fSwKLSB7MTYsIDB4YzEyMCwgMCwgezB4MGQsMHhmMCwweDgzLDB4ZmMsMHg4MCwweGRjLDB4OTQsMHgzMywweGMwLDB4MWMsMHhmMSwweDAzLDB4N2QsMHg4YywweGZmLDB4MzAgfX0sCi0gezE2LCAweGMxMzAsIDAsIHsweDNmLDB4MzAsMHg4ZiwweGM4LDB4MDMsMHg3ZSwweDEwLDB4Y2YsMHg5MCwweDM5LDB4YTAsMHg4ZCwweGY4LDB4MDMsMHhhZSwweDAwIH19LAotIHsxNiwgMHhjMTQwLCAwLCB7MHhkNSwweDgwLDB4MTMsMHhlMCwweDBjLDB4NTgsMHgwMywweGYwLDB4MDEsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzE1MCwgMCwgezB4ODAsMHgxMCwweGRkLDB4MDgsMHg4OCwweDAwLDB4MjMsMHhjNCwweDA4LDB4ZmMsMHgwMiwweGVjLDB4YTgsMHhjYiwweDIwLDB4MjEgfX0sCi0gezE2LCAweGMxNjAsIDAsIHsweGMyLDB4MGQsMHhmNywweDEyLDB4MWMsMHg0MCwweGRmLDB4MzAsMHgyMiwweGEwLDB4MGIsMHg4OCwweDAyLDB4MmUsMHgwNCwweGRiIH19LAotIHsxNiwgMHhjMTcwLCAwLCB7MHgyMSwweDIyLDB4YzAsMHgwOCwweGI4LDB4MjIsMHgyZSwweDAwLDB4YjksMHg4MCwweDJhLDB4NjAsMHgwYSwweDg4LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YzE4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4NDUsMHhjYywweDEwLDB4ODAsMHgyYywweDI4LDB4Y2EgfX0sCi0gezE2LCAweGMxOTAsIDAsIHsweDY4LDB4MzAsMHgwMiwweDhkLDB4MDAsMHg5YiwweDIwLDB4MjgsMHhjNCwweDA4LDB4MzIsMHgwMiwweGNjLDB4MTAsMHhiMywweDAwIH19LAotIHsxNiwgMHhjMWEwLCAwLCB7MHgyNCwweDA4LDB4MGIsMHg4MCwweDQyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyYSwweGNhLDB4M2EsMHhiMCwweDAyLDB4OGMsMHgwNCB9fSwKLSB7MTYsIDB4YzFiMCwgMCwgezB4YjAsMHgwNCwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHhlMywweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMxYzAsIDAsIHsweGMwLDB4MTUsMHg4YywweDAyLDB4ODAsMHg0MCwweGFhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlYywweDAwLDB4OWIsMHgyMCwweDJhIH19LAotIHsxNiwgMHhjMWQwLCAwLCB7MHhjMCwweDg4LDB4YjAsMHgwMiwweGFjLDB4MDAsMHg5YiwweDAwLDB4MjYsMHhlMCwweDAzLDB4ODAsMHg4MiwweDJjLDB4MjgsMHg5YiB9fSwKLSB7MTYsIDB4YzFlMCwgMCwgezB4MjAsMHgyMiwweGUxLDB4MGIsMHhiMiwweDAyLDB4YWMsMHg4MCwweGI4LDB4ODAsMHgyYSwweGMxLDB4MGEsMHg5OCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGMxZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGM4LDB4NTAsMHgzYSwweGMwIH19LAotIHsxNiwgMHhjMjAwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4ZGIsMHg4OCwweGJhLDB4YzAsMHgwOCwweGIwLDB4MDMsMHg2YywweDA4LDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4YzIxMCwgMCwgezB4MzYsMHg2MCwweDBmLDB4OGMsMHg2MywweDZjLDB4MDAsMHhjYiwweGMwLDB4M2EsMHg4MCwweDBlLDB4YmUsMHgwMywweGFmLDB4ODQgfX0sCi0gezE2LCAweGMyMjAsIDAsIHsweDc5LDB4ODAsMHgzYSwweDg4LDB4MDQsMHg5OCwweDAxLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMjMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZjLDB4ODAsMHgzNSwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZGMsMHgwMCwweGVmLDB4MDAsMHgzNyB9fSwKLSB7MTYsIDB4YzI0MCwgMCwgezB4YzAsMHhhZiwweGYwLDB4MDMsMHgxYywweDAxLDB4NmYsMHgwMCwweDEzLDB4MDAsMHgwZiwweGMxLDB4MjMsMHhmYywweGI4LDB4ZmYgfX0sCi0gezE2LCAweGMyNTAsIDAsIHsweDA0LDB4MzcsMHhjMCwweDBjLDB4ZjgsMHg0MywweDdlLDB4MDQsMHhmZCwweDAwLDB4M2YsMHgwNCwweDBmLDB4ZDAsMHgwMywweGY4IH19LAotIHsxNiwgMHhjMjYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhjOCwweDQwLDB4M2EsMHhjMCB9fSwKLSB7MTYsIDB4YzI3MCwgMCwgezB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4NDAsMHgzOCwweGMxLDB4MGUsMHhiMCwweDQzLDB4MmMsMHgwOCwweGMzLDB4MDAgfX0sCi0gezE2LCAweGMyODAsIDAsIHsweDNlLDB4NDAsMHgwZSwweDgyLDB4MDMsMHg2ZCwweDAwLDB4ZGIsMHg0MCwweDMyLDB4YzEsMHg1ZiwweGI0LDB4YTMsMHhlZCwweDIwIH19LAotIHsxNiwgMHhjMjkwLCAwLCB7MHhjOSwweDQwLDB4MzIsMHhlMCwweDhmLDB4OTgsMHg0MywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzJhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhjMCwweDI4LDB4ZjUsMHhjMiwweGZjLDB4MDAsMHhiMywweDA0LDB4MjMgfX0sCi0gezE2LCAweGMyYjAsIDAsIHsweGMxLDB4NDgsMHhmMCwweDIyLDB4YmMsMHgwNiwweGFmLDB4MDAsMHgwZSwweDQwLDB4MDgsMHgwMCwweDAyLDB4Y2QsMHgwMCwweGJiIH19LAotIHsxNiwgMHhjMmMwLCAwLCB7MHgwMSwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhlZSwweDAwLDB4ODEsMHhlMCwweDM0LDB4YTAsMHgwYiwweDkwLDB4MDIsMHgzMiB9fSwKLSB7MTYsIDB4YzJkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAyLDB4ODAsMHgwMCwweDI4LDB4YzAgfX0sCi0gezE2LCAweGMyZTAsIDAsIHsweDA5LDB4M2MsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBhLDB4YjAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAxIH19LAotIHsxNiwgMHhjMmYwLCAwLCB7MHgyYywweDAwLDB4MGEsMHgwNSwweDAyLDB4Y2QsMHg1OCwweGJiLDB4MDAsMHgyMCwweDAwLDB4MGEsMHgzZCwweDAyLDB4Y2YsMHg0MCB9fSwKLSB7MTYsIDB4YzMwMCwgMCwgezB4MjEsMHgyMCwweDYwLDB4YzAsMHgwOSwweDEwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4ODQsMHg4MCwweDI4LDB4ZTQsMHg4OCwweDc4LDB4NDIsMHhkZSwweDAwLDB4YjcsMHg5MCwweDY1IH19LAotIHsxNiwgMHhjMzIwLCAwLCB7MHhlNCwweDg4LDB4N2EsMHg0MiwweDllLDB4NDAsMHhhNywweDkwLDB4MmQsMHhhMCwweDBhLDB4NDgsMHgyMiwweGRlLDB4MDQsMHhiNyB9fSwKLSB7MTYsIDB4YzMzMCwgMCwgezB4ODAsMHgyMywweDYwLDB4NDgsMHg3OCwweDQyLDB4ZmUsMHg4MCwweGFmLDB4OTAsMHg2NSwweGUwLDB4MGIsMHhlOCwweDAyLDB4YzggfX0sCi0gezE2LCAweGMzNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGM4LDB4MDAsMHgzOCwweGMwIH19LAotIHsxNiwgMHhjMzUwLCAwLCB7MHgwYywweDMwLDB4MDMsMHhjYywweDAwLDB4ZmIsMHgwMCwweDNjLDB4YzAsMHgwZSwweGJhLDB4MDMsMHgwYywweDAwLDB4YzMsMHgwMCB9fSwKLSB7MTYsIDB4YzM2MCwgMCwgezB4M2UsMHgwMCwweDRlLDB4MjIsMHgwMiwweGNjLDB4YzAsMHhmYiwweDQwLDB4MzAsMHhjMCwweDBhLDB4MzAsMHgwMywweGNlLDB4ODAgfX0sCi0gezE2LCAweGMzNzAsIDAsIHsweGUxLDB4NDEsMHgzMCwweGM5LDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMzgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgyMCwweGZjLDB4MDAsMHgzNywweGMyLDB4MGUsMHhmMSwweDIzLDB4ZWMsMHg0MCwweGZmLDB4MDQsMHgzYSB9fSwKLSB7MTYsIDB4YzM5MCwgMCwgezB4YzAsMHgwZiwweGIwLDB4MjMsMHhmYywweDAwLDB4ZmYsMHgwNCwweDNlLDB4YzAsMHgwZCwweGEwLDB4MDMsMHhmYywweDU4LDB4ZmYgfX0sCi0gezE2LCAweGMzYTAsIDAsIHsweDAwLDB4YmYsMHhjMCwweDA2LDB4ZjAsMHg4MywweGRjLDB4NjIsMHhkZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDEwIH19LAotIHsxNiwgMHhjM2IwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVkLDB4ODAsMHhjOSwweDAxLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4YzNjMCwgMCwgezB4OGMsMHhiMiwweDA3LDB4YWUsMHgwNCwweGNiLDB4ODAsMHgzYSwweGM4LDB4NGMsMHhiMiwweDAzLDB4MmMsMHg4NCwweGNiLDB4MzAgfX0sCi0gezE2LCAweGMzZDAsIDAsIHsweGIwLDB4ZTAsMHgwZCwweDg4LDB4MGIsMHgyYywweDAwLDB4ZWIsMHgwMCwweDMwLDB4MDAsMHgwYywweGJjLDB4ODMsMHgyZCwweDgwIH19LAotIHsxNiwgMHhjM2UwLCAwLCB7MHhmYiwweDAwLDB4MzIsMHhjMCwweDBjLDB4OTAsMHgwMywweGVhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzNmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4NDAsMHg4NywweDAwLDB4MmMsMHhjYywweDA4LDB4NzYsMHg4MiwweDNjLDB4ODIsMHg4NywweDAwLDB4MjEgfX0sCi0gezE2LCAweGM0MDAsIDAsIHsweGMyLDB4OGQsMHgzMiwweDgyLDB4MGQsMHg0YywweGE3LDB4MjgsMHgyMSwweDgwLDB4MDgsMHg0MCwweDAyLDB4MWQsMHg4MCwweGJmIH19LAotIHsxNiwgMHhjNDEwLCAwLCB7MHgyMCwweDM1LDB4NDAsMHgwOSwweDcyLDB4NDMsMHg1YywweGEwLDB4YjcsMHgwMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4YzQyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODQsMHg4MCwweDJkLDB4ZTAgfX0sCi0gezE2LCAweGM0MzAsIDAsIHsweDA4LDB4NzgsMHgwMiwweGRlLDB4YzAsMHg4ZiwweDgwLDB4MjgsMHhlYywweDI4LDB4N2IsMHgwYSwweDllLDB4OTQsMHg4MywweDg0IH19LAotIHsxNiwgMHhjNDQwLCAwLCB7MHgyMywweGUwLDB4MDksMHg1OCwweDUwLDB4OWUsMHgxMCwweGE3LDB4YjAsMHgyMywweGUwLDB4MGIsMHg3OCwweDAyLDB4MWUsMHgyMCB9fSwKLSB7MTYsIDB4YzQ1MCwgMCwgezB4YjcsMHg4MCwweDIxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0NjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAyLDB4ODIsMHgxYywweDJjLDB4YzAsMHgyOCwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHhjMCwweDIwIH19LAotIHsxNiwgMHhjNDcwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwLDB4NjAsMHhkMiwweDA4LDB4MWQsMHgwMiwweDBmLDB4MjAsMHhiYiB9fSwKLSB7MTYsIDB4YzQ4MCwgMCwgezB4MjQsMHgyNCwweGMwLDB4MGIsMHgzYywweDAyLDB4NGYsMHgwMCwweGIzLDB4ODAsMHgyOCwweGQ4LDB4MDksMHgzMiwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGM0OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDExLDB4YTgsMHgwMCwweGNlLDB4ODQsMHgzZSwweDgwIH19LAotIHsxNiwgMHhjNGEwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlOCwweDAwLDB4Y2UsMHhjMCwweDNhLDB4ODAsMHgwOCwweGEwLDB4MDMsMHhhOCwweDAwLDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4YzRiMCwgMCwgezB4MzMsMHg4MCwweDBkLDB4ZWMsMHgwMywweDNiLDB4ODAsMHhlZSwweDgyLDB4MzMsMHg4MCwweDBhLDB4YzAsMHg4NywweDEwLDB4NDAgfX0sCi0gezE2LCAweGM0YzAsIDAsIHsweGY2LDB4YzAsMHgzMywweDkwLDB4YWQsMHg2NCwweDAzLDB4ZmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNGQwLCAwLCB7MHg0OCwweDAwLDB4YzAsMHgwMiwweGY4LDB4MDAsMHgzYywweDAwLDB4MWYsMHgwNCwweDAzLDB4YTAsMHgwNCwweGY4LDB4MzAsMHgzZSB9fSwKLSB7MTYsIDB4YzRlMCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDQsMHgwZiwweDgwLDB4OTMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGM0ZjAsIDAsIHsweDEwLDB4M2UsMHgwMCwweDJjLDB4ODQsMHgwMywweGUwLDB4MDAsMHhmOCwweDE4LDB4M2UsMHgxMCwweDBlLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhjNTAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4YzUxMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4YTQsMHgxMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MDQsMHg5MCwweDAzLDB4MjQsMHgwMCwweDQxLDB4MDAgfX0sCi0gezE2LCAweGM1MjAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDkxLDB4MTMsMHhlMSwweDA4LDB4ZjgsMHgwMCwweDMyLDB4NDAsMHgwOCwweDg5LDB4ODMsMHhhMiwweDAwIH19LAotIHsxNiwgMHhjNTMwLCAwLCB7MHhjOSwweDgwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwYiwweDAyLDB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzU0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBkLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGM1NTAsIDAsIHsweDQwLDB4NDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4OGIsMHg5NCwweDQyLDB4ZTIsMHgyMCwweGI4IH19LAotIHsxNiwgMHhjNTYwLCAwLCB7MHgwMCwweGEyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNSwweDA0LDB4YTksMHg5MCwweDM0LDB4NjAsMHgwOCwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YzU3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDEwLDB4OTksMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGM1ODAsIDAsIHsweDBhLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjQsMHg0MCwweDBhLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhhOSwweDAwIH19LAotIHsxNiwgMHhjNTkwLCAwLCB7MHgyYSwweDQwLDB4MGIsMHg5MCwweDgyLDB4ZTAsMHgwMSwweGI4LDB4MDAsMHgyMCwweDQwLDB4M2EsMHg5MCwweDAyLDB4YTQsMHg0NCB9fSwKLSB7MTYsIDB4YzVhMCwgMCwgezB4ODksMHgwNCwweDIyLDB4NjIsMHgwOCwweDk4LDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1YjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDhhLDB4ODEsMHgwMCwweDJjLDB4NDgsMHgwOSwweDMyLDB4MDYsMHg0NCwweDgwLDB4YjEsMHgwMCwweDJjIH19LAotIHsxNiwgMHhjNWMwLCAwLCB7MHg0OCwweDBhLDB4MTIsMHgwMiwweDg0LDB4ODAsMHhhMSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHgwMiwweGM1LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4YzVkMCwgMCwgezB4NDAsMHgyMCwweDUwLDB4MGEsMHgyNCwweDAyLDB4YzksMHgwMCwweGEzLDB4MDAsMHgyNCwweDQwLDB4MDgsMHgxMSwweDAyLDB4MDIgfX0sCi0gezE2LCAweGM1ZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHgzZSwweDE0IH19LAotIHsxNiwgMHhjNWYwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHhlMSwweDQwLDB4ZjgsMHg1MSwweDM2LDB4MTQsMHgyZSwweDg1LDB4NDMsMHgyMSwweDQyLDB4ZTgsMHg1MCB9fSwKLSB7MTYsIDB4YzYwMCwgMCwgezB4M2EsMHgwMCwweDBmLDB4ODAsMHgxMiwweGUwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwMCwweDFlLDB4ODAsMHg0MywweGEwLDB4MDAgfX0sCi0gezE2LCAweGM2MTAsIDAsIHsweGM4LDB4MDEsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNjIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4NGUsMHgxMSwweDAzLDB4YTQsMHg0MCwweGI1LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YzYzMCwgMCwgezB4NDQsMHgwZCwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZDksMHgxMCwweDNmLDB4NDAsMHgwZiwweDUwLDB4MDMsMHhlNSwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGM2NDAsIDAsIHsweDQwLDB4M2YsMHg0MCwweDBkLDB4NDQsMHgwMywweGYxLDB4MDAsMHhmNSwweDAyLDB4M2QsMHhjMCwweDJmLDB4ZDIsMHgwMywweGU2IH19LAotIHsxNiwgMHhjNjUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU3LDB4MDAsMHhlOSwweDAwLDB4MzYsMHg2MCB9fSwKLSB7MTYsIDB4YzY2MCwgMCwgezB4MGQsMHhkYSwweDAzLDB4ZTYsMHg0MCwweGY5LDB4NDAsMHgzZSwweDY4LDB4MGMsMHg5YSwweDAzLDB4NjYsMHgyMCwweDg5LDB4YTAgfX0sCi0gezE2LCAweGM2NzAsIDAsIHsweDMzLDB4NDAsMHgwZSwweDkwLDB4MDcsMHhhNiwweDAwLDB4ZjksMHg4MCwweDNlLDB4NTAsMHgwYywweGNhLDB4MDMsMHhmMywweDgwIH19LAotIHsxNiwgMHhjNjgwLCAwLCB7MHhjNSwweDAyLDB4MzMsMHg0MCwweDBjLDB4YzAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzY5MCwgMCwgezB4MzgsMHgxMCwweGUzLDB4MDQsMHg4OCwweGEyLDB4MjAsMHgzOCwweDA4LDB4ODAsMHgwMiwweGUzLDB4NDAsMHhiMCwweDgwLDB4MmUgfX0sCi0gezE2LCAweGM2YTAsIDAsIHsweDI4LDB4MDgsMHg4YSwweDgyLDB4MjMsMHg4MCwweDg4LDB4ODAsMHgyMiwweDAwLDB4ZGIsMHg4OCwweDAyLDB4NjIsMHgwNCwweGI4IH19LAotIHsxNiwgMHhjNmIwLCAwLCB7MHhiMCwweDJlLDB4YTgsMHg4OCwweDhlLDB4YTIsMHhlYSwweDgwLDB4ODgsMHgwMCwweDJhLDB4MDAsMHgyOCwweDg4LDB4MDMsMHg4ZSB9fSwKLSB7MTYsIDB4YzZjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDgyLDB4YTksMHgwOCwweDJjLDB4NTIgfX0sCi0gezE2LCAweGM2ZDAsIDAsIHsweDBiLDB4MTQsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIxLDB4MGMsMHg1MiwweDg4LDB4MTQsMHgwMiwweDQ0LDB4MjAsMHg5MSwweDY5IH19LAotIHsxNiwgMHhjNmUwLCAwLCB7MHgyMCwweDQwLDB4MGEsMHgxMCwweDgyLDB4YzYsMHhlMCwweGIxLDB4MGMsMHgyYywweDQ4LDB4MDgsMHgwMSwweDAyLDB4ZTEsMHg5MyB9fSwKLSB7MTYsIDB4YzZmMCwgMCwgezB4YTEsMHgwMSwweDI0LDB4NDEsMHgwYSwweDEwLDB4MDIsMHhjMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3MDAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDAsMHhlNCwweDAwLDB4MzksMHgwMiwweDBlIH19LAotIHsxNiwgMHhjNzEwLCAwLCB7MHg0MCwweDA4LDB4MTAsMHg2MiwweDI0LDB4MDAsMHg5MSwweDAwLDB4NjIsMHg0MCwweDhiLDB4ODAsMHgwMiwweGUwLDB4NTQsMHhiOSB9fSwKLSB7MTYsIDB4YzcyMCwgMCwgezB4MGMsMHgyZSwweDQwLDB4MDksMHhiNiwweDUyLDB4ZWMsMHgwMCwweGE5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5MiwweDgwLDB4ODYgfX0sCi0gezE2LCAweGM3MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGUxLDB4NjAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhjNzQwLCAwLCB7MHgwZCwweDkwLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgzMCwweDNlLDB4NDAsMHgyYywweDkwLDB4NDMsMHg2NCwweDA2LDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4Yzc1MCwgMCwgezB4MzIsMHg0OSwweDBlLDB4OGQsMHg5MywweGUwLDB4MDAsMHhmOSwweDAwLDB4MmUsMHg0MCwweDJjLDB4OTQsMHgwMywweGM3LDB4NDAgfX0sCi0gezE2LCAweGM3NjAsIDAsIHsweGU5LDB4MjAsMHgzMCwweDU1LDB4MGUsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNzcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgxZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzYyB9fSwKLSB7MTYsIDB4Yzc4MCwgMCwgezB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwNCwweGJlLDB4NDAsMHgwZiwweDg4LDB4MzMsMHg2MiwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGM3OTAsIDAsIHsweGMyLDB4M2UsMHg0OCwweDJlLDB4ODgsMHgzMywweGUyLDB4MDAsMHhkOSwweDAwLDB4M2UsMHg2MCwweDBkLDB4ODAsMHgwMywweGNhIH19LAotIHsxNiwgMHhjN2EwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4YzdiMCwgMCwgezB4MGQsMHg4MCwweDAzLDB4YTAsMHgwNCwweGU4LDB4NDAsMHhiYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwNCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGM3YzAsIDAsIHsweDNhLDB4MDAsMHgwZSwweDhjLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMiwweDMyLDB4MDAsMHgwZSwweDgwLDB4MDMsMHg2MSwweDIwIH19LAotIHsxNiwgMHhjN2QwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgxNiwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzdlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDAwLDB4MmUsMHg4MCwweDA4LDB4ZTIsMHgwMywweDI4LDB4MDAsMHg4YSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGM3ZjAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwNCwweDhhLDB4MDAsMHgyZSwweGEyLDB4MDksMHhlOCwweDAyLDB4ZmEsMHgwNCwweGJlIH19LAotIHsxNiwgMHhjODAwLCAwLCB7MHgwMCwweGEyLDB4ODAsMHgwOCwweGNkLDB4ODIsMHgzMywweDIwLDB4YjYsMHhjMCwweDM3LDB4YTAsMHg0YiwweGM4LDB4ODIsMHhjYSB9fSwKLSB7MTYsIDB4YzgxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2YywweDAwLDB4ODMsMHgwMCwweDI2LDB4YzAgfX0sCi0gezE2LCAweGM4MjAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweGVjLDB4MDAsMHg4MywweDAwIH19LAotIHsxNiwgMHhjODMwLCAwLCB7MHgyOCwweGUwLDB4MGIsMHgzMCwweDAyLDB4Y2UsMHg4MSwweGIzLDB4MDAsMHg2MiwweGMwLDB4MDgsMHgzYywweDAyLDB4NGYsMHgwMCB9fSwKLSB7MTYsIDB4Yzg0MCwgMCwgezB4YjMsMHhhMCwweDIwLDB4YjAsMHgwMywweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4NTAsIDAsIHsweGEwLDB4MDEsMHgwYywweDQxLDB4ODcsMHgzNCwweDJkLDB4YzAsMHgwOCwweDYwLDB4MDIsMHg5ZSwweDQwLDB4YjcsMHhhMCwweDJkIH19LAotIHsxNiwgMHhjODYwLCAwLCB7MHhjMCwweDA4LDB4NzMsMHgwMiwweGRjLDB4MDAsMHg4NywweDIwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHg4MiwweGRkLDB4ODUsMHhiZiB9fSwKLSB7MTYsIDB4Yzg3MCwgMCwgezB4ODEsMHg2MywweGM4LDB4ODgsMHg3YiwweDAyLDB4MWMsMHgwMCwweGI3LDB4NDAsMHg2NSwweDAwLDB4MWIsMHg3MiwweDAyLDB4ZTggfX0sCi0gezE2LCAweGM4ODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODEsMHgzZCwweGUwIH19LAotIHsxNiwgMHhjODkwLCAwLCB7MHhkZCwweDcwLDB4MDMsMHhmZSwweDgwLDB4ZjcsMHg5MCwweDNmLDB4ZTAsMHgyYywweDc5LDB4MDMsMHhmZSwweDgwLDB4YzcsMHhhMCB9fSwKLSB7MTYsIDB4YzhhMCwgMCwgezB4MzksMHhlMCwweDBmLDB4N2EsMHgwMiwweGRlLDB4ODQsMHhmNywweGMyLDB4MzEsMHhmMiwweDBjLDB4NzksMHgwMywweDVlLDB4MDQgfX0sCi0gezE2LCAweGM4YjAsIDAsIHsweGY3LDB4ODQsMHgzMSwweDYwLDB4MGYsMHg3ZSwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOGMwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHgwYSwweGZiLDB4NjAsMHg3ZSwweGQ0LDB4MGYsMHgzMCwweDAzLDB4NmMsMHgwMCwweGNiLDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4YzhkMCwgMCwgezB4ZGUsMHgyZiwweGIyLDB4MDMsMHhlZCwweDQyLDB4MWIsMHg2MCwweDNlLDB4YzEsMHgwZCwweGIxLDB4MDMsMHhlYywweDUwLDB4ZjcgfX0sCi0gezE2LCAweGM4ZTAsIDAsIHsweDgwLDB4M2QsMHhkOCwweDJlLDB4MzIsMHgwMywweGVjLDB4MzAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhjOGYwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MDAsMHhjYiwweGQwLDB4M2YsMHhmMCB9fSwKLSB7MTYsIDB4YzkwMCwgMCwgezB4NGMsMHhmOCwweDEzLDB4ZmUsMHgwMCwweGNmLDB4ODgsMHgzZiwweGUwLDB4MGMsMHhmOCwweDQzLDB4M2YsMHgwMCwweGNmLDB4YzggfX0sCi0gezE2LCAweGM5MTAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDNmLDB4ZTAsMHgyYywweGY4LDB4MDMsMHhiZSwweDIwIH19LAotIHsxNiwgMHhjOTIwLCAwLCB7MHhjNywweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMSwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzkzMCwgMCwgezB4YTgsMHgwMSwweGJjLDB4NDAsMHg4NywweDkwLDB4M2QsMHhjMCwweDA4LDB4NDAsMHgwMiwweGRjLDB4ODAsMHhkNywweDAwLDB4MmQgfX0sCi0gezE2LCAweGM5NDAsIDAsIHsweGMwLDB4MGMsMHgzMCwweDAzLDB4N2MsMHgwMCwweDg3LDB4MTAsMHgyMSwweGM0LDB4MWUsMHg3MCwweDIwLDB4ZGMsMHg0NCwweGI3IH19LAotIHsxNiwgMHhjOTUwLCAwLCB7MHgwMCwweDM5LDB4YzAsMHgwYywweDcxLDB4MDIsMHgxYywweDQwLDB4ZDcsMHgwMiwweDI5LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4Yzk2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODcsMHgzMiwweDJkLDB4YzAgfX0sCi0gezE2LCAweGM5NzAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGRjLDB4MDEsMHg4NywweDAwLDB4MmMsMHhjMCwweDJiLDB4NzAsMHgwYSwweDVjLDB4MDAsMHg4MywweDAwIH19LAotIHsxNiwgMHhjOTgwLCAwLCB7MHgyMywweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGQsMHgwMCwweGI3LDB4MDAsMHgyZCwweGM0LDB4MGIsMHhmMCwweDAyLDB4OWMsMHgyMCB9fSwKLSB7MTYsIDB4Yzk5MCwgMCwgezB4ODcsMHgxOCwweDI5LDB4NDAsMHgwOCwweDcwLDB4ODIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5YTAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4ODMsMHgwMiwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHhjYywweDA4LDB4ODMsMHg0MCwweDJlIH19LAotIHsxNiwgMHhjOWIwLCAwLCB7MHhjMCwweDJhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwLDB4MjAsMHhmMiwweDBhLDB4MzAsMHgwMiwweGNlLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4YzljMCwgMCwgezB4ODgsMHgyYSwweGQwLDB4MGEsMHgzMCwweDA2LDB4MGMsMHgwMCwweDkyLDB4MDAsMHgyOCwweDc4LDB4MDgsMHgzYywweDQyLDB4MDggfX0sCi0gezE2LCAweGM5ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMiwweGM3LDB4MDAsMHgyZiwweGMwIH19LAotIHsxNiwgMHhjOWUwLCAwLCB7MHgyYywweDkwLDB4MDIsMHhmYywweDAyLDB4OGYsMHhkOCwweDNmLDB4YzAsMHg0YiwweGYwLDB4MDIsMHg3YywweDAyLDB4Y2YsMHgwMCB9fSwKLSB7MTYsIDB4YzlmMCwgMCwgezB4MjAsMHhmMiwweDA4LDB4YjAsMHgxMywweGVlLDB4ODAsMHhmZiwweDAwLDB4M2YsMHhkNCwweDJlLDB4YmQsMHg4MywweGFjLDB4MDAgfX0sCi0gezE2LCAweGNhMDAsIDAsIHsweGNiLDB4ODAsMHgzYSwweGEwLDB4YWMsMHhiOCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYTEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MTAsMHgzZSwweGMwLDB4MGYsMHg4NCwweDAzLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4Y2EyMCwgMCwgezB4YzAsMHgwMSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweGJlLDB4YzAsMHgwZSwweGIwLDB4MjMsMHhlYywweDA4LDB4ZmIgfX0sCi0gezE2LCAweGNhMzAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBkLDB4YjQsMHgwMywweGVkLDB4MDQsMHhmOSwweDAwLDB4MWUsMHgxNCwweGNmLDB4YjAsMHg4MywweGUwIH19LAotIHsxNiwgMHhjYTQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhjZiwweDAwLDB4MzAsMHhjMCB9fSwKLSB7MTYsIDB4Y2E1MCwgMCwgezB4MGMsMHg0MCwweDAzLDB4YWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MmMsMHhiMCwweDAzLDB4YmMsMHgwMCwweGZmLDB4MDAgfX0sCi0gezE2LCAweGNhNjAsIDAsIHsweGIzLDB4ZTAsMHgwZCwweGZhLDB4MDMsMHg3ZSwweDgwLDB4Y2YsMHgwMCwweDMzLDB4YzAsMHgwYywweGZjLDB4NDMsMHhmZiwweDIwIH19LAotIHsxNiwgMHhjYTcwLCAwLCB7MHhmZiwweDAwLDB4M2YsMHg0MCwweDA4LDB4ZjgsMHgwMywweGMwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2E4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MTAsMHhhYiwweDAwLDB4MmEsMHhjMCwweDBhLDB4OGUsMHg0MiwweDJjLDB4MDQsMHhiYiwweDAwLDB4MmUgfX0sCi0gezE2LCAweGNhOTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4NmMsMHgwMCwweGJiLDB4MDAsMHgzYSwweGMwLDB4MGUsMHgzMCwweDAyLDB4MGQsMHgwOCwweDgzIH19LAotIHsxNiwgMHhjYWEwLCAwLCB7MHgwMiwweDIyLDB4YzAsMHgwYSwweGJjLDB4MDIsMHhlZiwweDAwLDB4YmIsMHhjMCwweDJjLDB4NjgsMHgwYSwweGI5LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4Y2FiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwYywweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAgfX0sCi0gezE2LCAweGNhYzAsIDAsIHsweDA4LDB4YjgsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAyLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiYiwweDAwIH19LAotIHsxNiwgMHhjYWQwLCAwLCB7MHgyNiwweDQ4LDB4MTksMHhiMCwweDAyLDB4NmQsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZWMsMHgwNCB9fSwKLSB7MTYsIDB4Y2FlMCwgMCwgezB4YmIsMHgxYywweDJlLDB4MjAsMHgwYSwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhZjAsIDAsIHsweDA4LDB4MTQsMHgwYywweDAwLDB4YWIsMHgyMCwweDI4LDB4YzAsMHgwYSwweDAwLDB4MDIsMHgwYywweDAwLDB4OTMsMHgwNCwweDJjIH19LAotIHsxNiwgMHhjYjAwLCAwLCB7MHhjMSwweDA4LDB4MzAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjQsMHg0MSwweDA5LDB4YjgsMHgwMiwweDBjLDB4MDIsMHg4MyB9fSwKLSB7MTYsIDB4Y2IxMCwgMCwgezB4MDEsMHhhMCwweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgxMCwweDkzLDB4MDAsMHgyYywweDAwLDB4MGEsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGNiMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4N2MsMHgwMCwweGNmLDB4MjgsMHgzMywweGMwIH19LAotIHsxNiwgMHhjYjMwLCAwLCB7MHgwYywweGEwLDB4NDYsMHhhYywweDExLDB4YmYsMHgwMCwweDNmLDB4YzAsMHg1YywweGYwLDB4NDMsMHhmYywweDAwLDB4ZmYsMHgwNCB9fSwKLSB7MTYsIDB4Y2I0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4YjAsMHgwMywweDZjLDB4MDgsMHhjYiwweDA0LDB4MzEsMHhjMCwweDBjLDB4YjAsMHgzMywweGVkLDB4NDAgfX0sCi0gezE2LCAweGNiNTAsIDAsIHsweGZiLDB4MDQsMHgzZSwweDQwLDB4MGUsMHhiMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYjYwLCAwLCB7MHhhMCwweDE1LDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDIzLDB4ZmMsMHgwMSwweGZmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4Y2I3MCwgMCwgezB4YzAsMHg0ZiwweGYwLDB4ODcsMHg3YywweDAwLDB4ZmYsMHgwMCwweDM5LDB4NDAsMHgwZSwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGNiODAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4NzAsMHgwMywweGRjLDB4ODAsMHhmZiwweDAwLDB4M2QsMHg0MCwweDBmLDB4NzAsMHgwMywweGU4IH19LAotIHsxNiwgMHhjYjkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4NDAsMHhlYiwweDQ4LDB4M2UsMHhjMiB9fSwKLSB7MTYsIDB4Y2JhMCwgMCwgezB4MGUsMHgwOSwweDAzLDB4YmMsMHg2MCwweGMwLDB4MjAsMHgzNSwweDI0LDB4MGUsMHhkMiwweDEzLDB4MmMsMHg2MCwweGZiLDB4NmEgfX0sCi0gezE2LCAweGNiYjAsIDAsIHsweDMzLDB4YzAsMHgwZiwweGNhLDB4MDMsMHgyMiwweDIwLDB4YzAsMHg4MCwweDM3LDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwIH19LAotIHsxNiwgMHhjYmMwLCAwLCB7MHhlZiwweDAwLDB4MzMsMHgyNCwweDBmLDB4YzgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2JkMCwgMCwgezB4ODAsMHgxMCwweGRkLDB4MDAsMHg4ZiwweDYwLDB4MmYsMHhkOCwweDA4LDB4YTIsMHgwMiwweGZkLDB4ODAsMHhjOCwweDcwLDB4MjIgfX0sCi0gezE2LCAweGNiZTAsIDAsIHsweDAwLDB4MmMsMHhmZCwweDA3LDB4ZGMsMHg4NCwweGJmLDB4NjAsMHgyMywweGQyLDB4MGIsMHhiZCwweDAyLDB4MjMsMHgwMCwweDg4IH19LAotIHsxNiwgMHhjYmYwLCAwLCB7MHg4MCwweGEyLDB4MjAsMHg4OCwweGIwLDB4MjIsMHgzNCwweDAwLDB4YmIsMHg1MCwweDIyLDB4YzgsMHgwYiwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4Y2MwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YTMsMHgwMywweDJjLDB4YzIgfX0sCi0gezE2LCAweGNjMTAsIDAsIHsweDBhLDB4MDAsMHg0MiwweDhjLDB4ODIsMHhhMywweDBhLDB4MjQsMHg4MCwweDBiLDB4MzAsMHgwMiwweGNjLDB4OTAsMHhiMywweDAwIH19LAotIHsxNiwgMHhjYzIwLCAwLCB7MHgyOCwweGQ4LDB4MGIsMHgxMCwweDAyLDB4OGMsMHgwMiwweDkwLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgxMCwweDQyLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4Y2MzMCwgMCwgezB4YjMsMHgwNCwweDI0LDB4YzAsMHgwYiwweDMwLDB4MGUsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjNDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4OWIsMHgwNCwweDJjLDB4YzAsMHhmOCwweDk4LDB4MDYsMHhlYywweDAwLDB4YWIsMHg4MCwweDI2IH19LAotIHsxNiwgMHhjYzUwLCAwLCB7MHgyMCwweDA4LDB4OTAsMHgyYSwweGFjLDB4MTAsMHhiYiwweDAwLDB4MGEsMHhjMCwweDFiLDB4YjAsMHgyMiwweGFkLDB4MDAsMHg5OCB9fSwKLSB7MTYsIDB4Y2M2MCwgMCwgezB4NDAsMHgyYSwweDcwLDB4NGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4MDAsMHhhNiwweDg2LDB4MWIsMHhiMCwweDgyLDB4YjAgfX0sCi0gezE2LCAweGNjNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhjYzgwLCAwLCB7MHg4ZSwweDk4LDB4MDMsMHhhYywweDA4LDB4ZTgsMHhjMCwweDM2LDB4MzAsMHg0ZiwweGIwLDB4NDIsMHhlYywweDAwLDB4ZjksMHg4MCB9fSwKLSB7MTYsIDB4Y2M5MCwgMCwgezB4M2EsMHhjMCwweDhmLDB4ODgsMHg0MiwweDIwLDB4MTAsMHhjOCwweDEwLDB4MzAsMHhmMCwweDBmLDB4MzAsMHgxMywweDZjLDB4MTAgfX0sCi0gezE2LCAweGNjYTAsIDAsIHsweGViLDB4MDAsMHgzNiwweGYwLDB4MGYsMHhiZCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjY2IwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGVmLDB4MDQsMHg3ZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4ZGMsMHgwMCwweGM0LDB4MDAsMHgzYiB9fSwKLSB7MTYsIDB4Y2NjMCwgMCwgezB4NDAsMHg4YiwweGRjLDB4MDMsMHg3YywweDEwLDB4ZjksMHg5MCwweDM2LDB4YzIsMHg0ZiwweGY5LDB4MjMsMHg2MiwweDQxLDB4YWMgfX0sCi0gezE2LCAweGNjZDAsIDAsIHsweDAxLDB4MTMsMHg0MCwweDA0LDB4YjAsMHgwMywweGU0LDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4YzAsMHgwMywweDc4IH19LAotIHsxNiwgMHhjY2UwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhjLDB4MTIsMHhjYiwweDAwLDB4ZjIsMHhjMCB9fSwKLSB7MTYsIDB4Y2NmMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YWMsMHgwOCwweGQ5LDB4MDAsMHgzYSwweDgwLDB4MGYsMHgxMiwweDAzLDB4YWMsMHgwMCwweGUxLDB4MDAgfX0sCi0gezE2LCAweGNkMDAsIDAsIHsweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhlZCwweDAyLDB4YzgsMHg0MCwweDNlLDB4ZDAsMHgwZiwweDkwLDB4MTMsMHgyYywweDAyIH19LAotIHsxNiwgMHhjZDEwLCAwLCB7MHhkYiwweDAwLDB4M2UsMHg1MCwweDBjLDB4YjQsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2QyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MTcsMHhjMCwweDA4LDB4OTAsMHgwMiwweDNjLDB4MDgsMHg4ZCwweDAwLDB4MjIgfX0sCi0gezE2LCAweGNkMzAsIDAsIHsweDU0LDB4MDgsMHhiNCwweDAzLDB4M2MsMHgwMCwweDg5LDB4MDAsMHgyMywweGMwLDB4NDAsMHgzNSwweDAyLDB4Y2MsMHgyNCwweDgwIH19LAotIHsxNiwgMHhjZDQwLCAwLCB7MHgwMCwweDIyLDB4NzQsMHg0YywweGIwLDB4MDIsMHgyYywweDAwLDB4OGYsMHgwMCwweDJlLDB4ZDQsMHgwYSwweGIwLDB4MGEsMHgzMiB9fSwKLSB7MTYsIDB4Y2Q1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg0YywweDAyLDB4ODMsMHgwMCwweDI0LDB4YzAgfX0sCi0gezE2LCAweGNkNjAsIDAsIHsweDA5LDB4MDAsMHgwMiwweDhjLDB4MDEsMHg5MCwweDAwLDB4NmEsMHg0MSwweDBhLDB4MzAsMHgyMCwweDRlLDB4MTAsMHgzMSwweDAyIH19LAotIHsxNiwgMHhjZDcwLCAwLCB7MHgyYywweGMwLDB4MDksMHgyMCwweDA2LDB4Y2UsMHgwMCwweDgwLDB4MDAsMHg2MCwweGUwLDB4MGEsMHgzMCwweDgyLDB4MGMsMHgwOCB9fSwKLSB7MTYsIDB4Y2Q4MCwgMCwgezB4ODMsMHgwOCwweDJjLDB4ZDAsMHgwOSwweGIwLDB4MDIsMHg3OCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNkOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4ODcsMHhiMCwweDIwLDB4ZWMsMHgwOSwweGU5LDB4MDIsMHg4ZSwweDU4LDB4OWQsMHhiMCwweDJiIH19LAotIHsxNiwgMHhjZGEwLCAwLCB7MHhhNSwweDQwLDB4NWIsMHgwNiwweGRlLDB4NDAsMHg5NSwweDk0LDB4MmQsMHhlNCwweDE5LDB4N2IsMHgwNiwweGRlLDB4MDAsMHg4NCB9fSwKLSB7MTYsIDB4Y2RiMCwgMCwgezB4ODAsMHg2MCwweGUwLDB4MGEsMHg3OCwweDBhLDB4MTYsMHgxMCwweDg3LDB4ODAsMHgyZCwweDY4LDB4MGIsMHg3OSwweDAyLDB4NDggfX0sCi0gezE2LCAweGNkYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGNiLDB4YTAsMHgyNCwweGUwIH19LAotIHsxNiwgMHhjZGQwLCAwLCB7MHgwZiwweDJhLDB4MDMsMHg4ZSwweDAwLDB4ZDIsMHhkMCwweDM4LDB4ZmEsMHgwZiwweDE4LDB4YzMsMHhjZSwweDI0LDB4MzEsMHhiMCB9fSwKLSB7MTYsIDB4Y2RlMCwgMCwgezB4M2MsMHhlNSwweDBjLDB4M2IsMHgxNywweGNlLDB4MDQsMHhjMCwweDgyLDB4MzgsMHhjMiwweDllLDB4MTAsMHgwMywweDBjLDB4MDAgfX0sCi0gezE2LCAweGNkZjAsIDAsIHsweGMzLDB4MDEsMHgzZSwweGMwLDB4MGQsMHg4MSwweDAzLDB4NTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZTAwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGVmLDB4MTAsMHgzZSwweGMyLDB4MGUsMHhiMSwweDIzLDB4MmMsMHhjMSwweGFiLDB4MDEsMHgzNiB9fSwKLSB7MTYsIDB4Y2UxMCwgMCwgezB4ODAsMHgwZiwweGIwLDB4MjMsMHgyZCwweDkwLDB4ZTksMHg4NCwweDcyLDB4YzgsMHg2MiwweGYxLDB4MTcsMHhmYywweDAwLDB4ZmMgfX0sCi0gezE2LCAweGNlMjAsIDAsIHsweDAwLDB4M2IsMHhjNCwweDFkLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhlZiwweDA4LDB4M2YsMHhjOCwweDBlLDB4ZjEsMHgwMywweDkwIH19LAotIHsxNiwgMHhjZTMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4ODAsMHhmYiwweGE0LDB4M2EsMHhjOCB9fSwKLSB7MTYsIDB4Y2U0MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MmMsMHgwNCwweGNhLDB4MDAsMHgzMCwweDYwLDB4MmQsMHgxYSwweDI3LDB4NmMsMHg4NCwweGNiLDB4NjAgfX0sCi0gezE2LCAweGNlNTAsIDAsIHsweDMyLDB4ZDIsMHgwYywweGEwLDB4MTMsMHgyZCwweDg0LDB4Y2IsMHgwMiwweDNlLDB4YzAsMHgwZCwweGI4LDB4MDMsMHhhYywweDgwIH19LAotIHsxNiwgMHhjZTYwLCAwLCB7MHhjYiwweDgxLDB4MzIsMHg4MCwweDBjLDB4YjAsMHgwMywweGFhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2U3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4YTQsMHhiNywweDI4LDB4NzMsMHhjMiwweDA4LDB4ZjAsMHgwMiwweDNjLDB4YzAsMHg4ZiwweDAwLDB4MzEgfX0sCi0gezE2LCAweGNlODAsIDAsIHsweGMwLDB4MDksMHg3MCwweDgyLDB4OWMsMHg4MCwweDg3LDB4MGMsMHgyMCwweGQ4LDB4MDksMHg3MCwweDIyLDB4MWMsMHgzMCwweDg0IH19LAotIHsxNiwgMHhjZTkwLCAwLCB7MHgwMCwweDNkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxNCwweDI0LDB4ODcsMHhhMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MTIsMHgxMiB9fSwKLSB7MTYsIDB4Y2VhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDQwLDB4YjMsMHg5NSwweDI5LDB4ZTkgfX0sCi0gezE2LCAweGNlYjAsIDAsIHsweDBhLDB4NjgsMHgwMiwweDllLDB4ZDAsMHg4NiwweGYwLDB4YTMsMHhlMCwweDA4LDB4NzgsMHgxMiwweDllLDB4NDQsMHhhMywweDgyIH19LAotIHsxNiwgMHhjZWMwLCAwLCB7MHgyMSwweGU4LDB4MGIsMHgzOCwweDAyLDB4MGUsMHgxMCwweDg3LDB4ODAsMHgyZiwweGUwLDB4MGIsMHgxOCwweDAyLDB4OGUsMHgwMiB9fSwKLSB7MTYsIDB4Y2VkMCwgMCwgezB4ODcsMHgwMCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHg0OCwweDMwLDB4MDIsMHgwYywweDA0LDB4ODMsMHg4MCwweDIwIH19LAotIHsxNiwgMHhjZWYwLCAwLCB7MHhkMCwweDA5LDB4MTAsMHgwMiwweDhjLDB4MDYsMHhhMywweDgwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDIsMHg4MCB9fSwKLSB7MTYsIDB4Y2YwMCwgMCwgezB4NDAsMHgyOCwweGQyLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMSwweDgzLDB4MDAsMHgyMiwweDNjLDB4MDgsMHg4NywweDAyLDB4MTIgfX0sCi0gezE2LCAweGNmMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgxOCwweGZhLDB4MDAsMHgzYSwweDgwIH19LAotIHsxNiwgMHhjZjIwLCAwLCB7MHg4ZSwweGU0LDB4NDIsMHgyOCwweDAyLDB4Y2UsMHg4MCwweDMzLDB4ODAsMHg0ZCwweGEwLDB4ODMsMHhlOCwweDAwLDB4ZWEsMHhhMCB9fSwKLSB7MTYsIDB4Y2YzMCwgMCwgezB4YjIsMHg4MCwweDBhLDB4YTAsMHgwYSwweDI4LDB4MDAsMHhjZSwweDE4LDB4MmYsMHg4MCwweDBmLDB4YTAsMHgxMywweGE4LDB4MDAgfX0sCi0gezE2LCAweGNmNDAsIDAsIHsweGNhLDB4MDAsMHgzMiwweDkwLDB4MmMsMHhhYywweDBiLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZjUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDQsMHgzYSwweDAwLDB4MGYsMHg4MCwweDgzLDB4YzAsMHgwOCwweGU4LDB4MDMsMHgzYSB9fSwKLSB7MTYsIDB4Y2Y2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MjIsMHhjMCwweDAwLDB4ZDAsMHgwMCwweDdlLDB4MTAsMHhhNCwweDgwLDB4MDMsMHhjMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGNmNzAsIDAsIHsweDAwLDB4M2UsMHgxMCwweDBkLDB4ODQsMHgwMywweGMwLDB4MDAsMHhmOCwweDAwLDB4YmUsMHgwMCwweDBmLDB4ODAsMHgwMSwweDUyIH19LAotIHsxNiwgMHhjZjgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDIsMHhjOSwweDAwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4Y2Y5MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMiwweDg5LDB4MDQsMHgzMiwweDQyLDB4MGQsMHg5MiwweDAzLDB4ZTYsMHg0MiwweGM5LDB4MDAgfX0sCi0gezE2LCAweGNmYTAsIDAsIHsweDMyLDB4NzAsMHgwZSwweDEyLDB4MGIsMHgyNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NDUsMHgwZSwweDk5LDB4MDMsMHhlNCwweDAyIH19LAotIHsxNiwgMHhjZmIwLCAwLCB7MHhjMSwweDAwLDB4MzIsMHg1MCwweDA0LDB4OTQsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2ZjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGNmZDAsIDAsIHsweDU0LDB4MGIsMHg5MCwweDAzLDB4ZTYsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhjZmUwLCAwLCB7MHgwMCwweDM4LDB4NDgsMHgwOCwweDkwLDB4ODIsMHhlNCwweDA0LDB4ZDksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4Y2ZmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHgwMSwweDJjLDB4NDAgfX0sCi0gezE2LCAweGQwMDAsIDAsIHsweDI4LDB4MTAsMHg0MiwweDY0LDB4MDAsMHhhMSwweDA0LDB4MjIsMHg1MCwweDAxLDB4OTAsMHg0MiwweGU0LDB4MDAsMHg4OSwweDA0IH19LAotIHsxNiwgMHhkMDEwLCAwLCB7MHgyMCwweDQyLDB4MGEsMHg5MCwweDQyLDB4MzQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQwLDB4MGEsMHg5MCwweDAwLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4ZDAyMCwgMCwgezB4ODksMHgwMCwweDIzLDB4NDAsMHgwYSwweGQwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyNCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MDIsMHgwNCwweDgwLDB4YTEsMHgyMCwweDI4IH19LAotIHsxNiwgMHhkMDQwLCAwLCB7MHg0MCwweDBiLDB4MTAsMHgwMiwweDg1LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0OCwweDA4LDB4NTAsMHg2MiwweDE0LDB4MDIsMHg4MSB9fSwKLSB7MTYsIDB4ZDA1MCwgMCwgezB4MDMsMHgyZSwweDQwLDB4ODgsMHgxNiwweDgyLDB4YzQsMHhhMCwweDkxLDB4MjgsMHgyMSwweDQwLDB4MmEsMHg1MCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGQwNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGM4LDB4NTAsMHgyZSwweDE0IH19LAotIHsxNiwgMHhkMDcwLCAwLCB7MHgwYywweDg1LDB4MDMsMHg2MSwweDQwLDB4ZTgsMHg1MCwweGIyLDB4MTUsMHg0ZCwweDgwLDB4MDIsMHhjMCwweDAwLDB4NDgsMHg1MCB9fSwKLSB7MTYsIDB4ZDA4MCwgMCwgezB4YjIsMHgxNSwweDFhLDB4ODAsMHgxMywweDMwLDB4MDgsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODIsMHgwMywweGUwLDB4ODAgfX0sCi0gezE2LCAweGQwOTAsIDAsIHsweGMwLDB4MjAsMHgzMCwweDAwLDB4MGUsMHg0MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMGEwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0OCwweGRkLDB4MTAsMHgzNyB9fSwKLSB7MTYsIDB4ZDBiMCwgMCwgezB4NDAsMHgwZiwweGQ0LDB4MDcsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDNlLDB4NDUsMHgwZiwweDk0LDB4MDMsMHhlNSwweDA4LDB4ZmQgfX0sCi0gezE2LCAweGQwYzAsIDAsIHsweDAyLDB4MzksMHhkMCwweDBmLDB4ZDAsMHg0MywweGY0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YiwweDBkLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHhkMGQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4ODAsMHhjOSwweGE2LDB4MzIsMHg2OCB9fSwKLSB7MTYsIDB4ZDBlMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YTYsMHg4MSwweGU5LDB4ZTksMHgzYiwweDQwLDB4MGUsMHg1OCwweDAzLDB4MzYsMHgyMCwweGM5LDB4YTAgfX0sCi0gezE2LCAweGQwZjAsIDAsIHsweDM3LDB4NzgsMHgwZCwweGRhLDB4MDMsMHgzNiwweDI2LDB4YzUsMHgwMCwweDM3LDB4NjksMHgwZSwweGRlLDB4MDMsMHhhNiwweDgyIH19LAotIHsxNiwgMHhkMTAwLCAwLCB7MHhjZCwweGMwLDB4MzMsMHg1MCwweDBmLDB4ZDAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDExMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4YTQsMHg4OCwweGE5LDB4MjIsMHgzYSwweDA4LDB4MDgsMHgwMCwweDIyLDB4YTAsMHhiOCwweGU1LDB4MzAgfX0sCi0gezE2LCAweGQxMjAsIDAsIHsweDIwLDB4MjgsMHg4MCwweDIyLDB4NDMsMHhhMCwweDA4LDB4ZTgsMHgyYSwweDNkLDB4MDgsMHhhNCwweDYyLDB4MjAsMHgwMCwweDg4IH19LAotIHsxNiwgMHhkMTMwLCAwLCB7MHgwMCwweDJlLDB4MTAsMHgwOCwweDhlLDB4MDMsMHgyMywweGEwLDB4ODgsMHhhMCwweDIwLDB4MjgsMHgwYiwweDhhLDB4ODIsMHgwZSB9fSwKLSB7MTYsIDB4ZDE0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4OTEsMHg0MCwweDIwLDB4NDQgfX0sCi0gezE2LCAweGQxNTAsIDAsIHsweDA4LDB4OTAsMHhhMiwweDg1LDB4MTAsMHhhMSwweDIwLDB4MmMsMHg0MiwweDBiLDB4MTQsMHgxMiwweDhjLDB4MDEsMHg5MSwweDEwIH19LAotIHsxNiwgMHhkMTYwLCAwLCB7MHgyYywweDQ4LDB4MDksMHgxMSwweDBhLDB4YzQsMHgwMCwweDgxLDB4MDAsMHgyYywweDUwLDB4MGIsMHgxMSwweDEyLDB4YzUsMHgwMSB9fSwKLSB7MTYsIDB4ZDE3MCwgMCwgezB4YjEsMHg0MCwweDI0LDB4NDgsMHgwYiwweDE4LDB4MGUsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4OTEsMHgwMCwweDIyLDB4NDEsMHgwOCwweDk0LDB4NDIsMHgyNCwweDAwLDB4YjEsMHg0MCwweDIwIH19LAotIHsxNiwgMHhkMTkwLCAwLCB7MHg0MCwweDQ5LDB4YjIsMHg2MiwweDI0LDB4MDAsMHg5OSwweDAwLDB4MGEsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU1LDB4ODAsMHg4OSB9fSwKLSB7MTYsIDB4ZDFhMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MDksMHhiMCwweDAyLDB4MjQsMHg4MCwweGI5LDB4MDAsMHgyNiwweDUwLDB4NGIsMHg5MCwweDAyLDB4MDYgfX0sCi0gezE2LCAweGQxYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMiwweGQ5LDB4MDAsMHhiMiwweDQwIH19LAotIHsxNiwgMHhkMWMwLCAwLCB7MHgyYywweDk1LDB4MTMsMHhhNCwweDEwLDB4ZTksMHgwMCwweGJlLDB4NjAsMHg4ZiwweDkwLDB4MGIsMHhhNCwweDEwLDB4NTksMHgwMCB9fSwKLSB7MTYsIDB4ZDFkMCwgMCwgezB4MWUsMHg0MCwweDlkLDB4OTQsMHgyMywweGU0LDB4MDIsMHg4OSwweDAwLDB4MzQsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDggfX0sCi0gezE2LCAweGQxZTAsIDAsIHsweDc5LDB4MDAsMHhiNiwweDQwLDB4MDcsMHg5OCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMWYwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgwMCwweGU5LDB4MDIsMHgzYywweDQwLDB4MmYsMHg5OCwweDAyLDB4ZTQsMHgwMCwweGY5LDB4NDIsMHgzYSB9fSwKLSB7MTYsIDB4ZDIwMCwgMCwgezB4NjgsMHgwYSwweDEwLDB4MDMsMHhlNCwweDEwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MGYsMHgyNiwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGQyMTAsIDAsIHsweDA0LDB4M2UsMHg0MCwweDBlLDB4MWMsMHgwMywweGU2LDB4MDAsMHhjMSwweDAwLDB4M2EsMHg1MCwweDBmLDB4OTksMHg4MywweGNhIH19LAotIHsxNiwgMHhkMjIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhlOCwweDAwLDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4ZDIzMCwgMCwgezB4MGMsMHg4NCwweDAzLDB4MjAsMHgwMCwweGQ4LDB4NDIsMHgzMiwweDA0LDB4MGMsMHg4OCwweDEzLDB4ZTAsMHgwMCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGQyNDAsIDAsIHsweDMwLDB4MDAsMHgwYywweDA0LDB4MGIsMHgwMCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgwZSwweDgwLDB4MjMsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMjUwLCAwLCB7MHhjOCwweDgwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMSwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDI2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MTAsMHg4YSwweDAwLDB4MmUsMHg4MCwweDI4LDB4MjAsMHgyMiwweDI4LDB4MDAsMHg4YSwweDAwLDB4MjMgfX0sCi0gezE2LCAweGQyNzAsIDAsIHsweGIwLDB4ODgsMHhlMCwweDAyLDB4MjgsMHgxMCwweGRhLDB4MDAsMHhhMywweGI0LDB4MDgsMHhlOCwweDEwLDB4MjgsMHgwMCwweDhlIH19LAotIHsxNiwgMHhkMjgwLCAwLCB7MHgyMCwweDIzLDB4YTAsMHg0OCwweGVkLDB4MWEsMHgyOCwweDAwLDB4ZGUsMHgwMCwweDIzLDB4OTAsMHgwYSwweGUwLDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4ZDI5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YTMsMHgwMCwweDI4LDB4YzAgfX0sCi0gezE2LCAweGQyYTAsIDAsIHsweDA4LDB4MzAsMHgwYSwweDBjLDB4MDAsMHg5MywweDAwLDB4MjAsMHhjMiwweDJhLDB4MzAsMHgyMiwweGE0LDB4MDAsMHhiYiwweDAwIH19LAotIHsxNiwgMHhkMmIwLCAwLCB7MHgwOCwweGUwLDB4MTgsMHgwOSwweDBhLDB4NGMsMHgwMCwweDkzLDB4MDIsMHgyNCwweGU4LDB4MDIsMHgwOCwweDA2LDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4ZDJjMCwgMCwgezB4OTMsMHgwMCwweDIwLDB4ZDgsMHgwYSwweDkwLDB4MDIsMHg0YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDgwLDB4ODcsMHgwNCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwZSwweDAwLDB4ODcsMHgxMCwweDI1IH19LAotIHsxNiwgMHhkMmUwLCAwLCB7MHgwMCwweDBhLDB4NjAsMHgwMiwweDVlLDB4MDAsMHg5NywweDAwLDB4MjksMHg4MiwweDA4LDB4NTAsMHgxMiwweDU0LDB4MDAsMHg4ZiB9fSwKLSB7MTYsIDB4ZDJmMCwgMCwgezB4ODAsMHg2MSwweGQwLDB4MDgsMHgwNCwweDAyLDB4NWMsMHgwMSwweGI3LDB4MDgsMHhhOSwweGEwLDB4MGEsMHg1MCwweDgyLDB4NjggfX0sCi0gezE2LCAweGQzMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHg4MCwweGU3LDB4ODAsMHgzOCwweGU0IH19LAotIHsxNiwgMHhkMzEwLCAwLCB7MHgwOCwweDdlLDB4MDMsMHgxZiwweDAwLDB4ZGYsMHg4MCwweGIxLDB4MjEsMHgxZSwweDc4LDB4MDMsMHhkYywweDA0LDB4ZjMsMHg4MCB9fSwKLSB7MTYsIDB4ZDMyMCwgMCwgezB4NWIsMHhlMSwweDA4LDB4MjgsMHgwMywweDVlLDB4MDAsMHhkNywweDgwLDB4MzUsMHg2MCwweDBlLDB4NjgsMHgwMywweDRlLDB4MDAgfX0sCi0gezE2LCAweGQzMzAsIDAsIHsweGRmLDB4ODAsMHgzMSwweGUwLDB4MGUsMHhmOCwweDBiLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMzQwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHgwMiwweGZiLDB4NzQsMHgzZSwweGQwLDB4NGYsMHhiMiwweDgzLDB4ZWQsMHgwMCwweDdiLDB4NjgsMHgzYSB9fSwKLSB7MTYsIDB4ZDM1MCwgMCwgezB4MDAsMHg4ZCwweDgwLDB4MDMsMHhhNCwweDIwLDB4ZGIsMHgwMSwweDM2LDB4ODAsMHg2ZiwweGIwLDB4NDEsMHg4NCwweDAwLDB4ZWIgfX0sCi0gezE2LCAweGQzNjAsIDAsIHsweDAwLDB4M2MsMHhjMCwweDBmLDB4ZTYsMHg4MywweGJjLDB4NDAsMHhkYiwweDAwLDB4YjYsMHg4MCwweDBmLDB4YjAsMHgwMywweDgyIH19LAotIHsxNiwgMHhkMzcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MjAsMHhkZiwweGMwLDB4M2IsMHhlNiB9fSwKLSB7MTYsIDB4ZDM4MCwgMCwgezB4MGUsMHhmOCwweDEzLDB4ZmYsMHg0NCwweGM3LDB4ODIsMHgzYiwweGUwLDB4MGYsMHhmOSwweDAzLDB4YmUsMHgxMCwweGNmLDB4YzggfX0sCi0gezE2LCAweGQzOTAsIDAsIHsweDMzLDB4NjAsMHg4ZCwweGViLDB4MDMsMHgzZSwweDAwLDB4ZGIsMHg4MiwweDNmLDB4ZTAsMHgwYywweGQ4LDB4MDMsMHgzZSwweDQwIH19LAotIHsxNiwgMHhkM2EwLCAwLCB7MHhjZSwweDgwLDB4MzMsMHhlNCwweDBmLDB4ZjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDNiMCwgMCwgezB4YTgsMHgxMSwweGJjLDB4NDAsMHg4NywweDAwLDB4MjEsMHhlNCwweDBiLDB4NzgsMHhhMiwweGNlLDB4OTAsMHhjNywweGIwLDB4MjAgfX0sCi0gezE2LCAweGQzYzAsIDAsIHsweGU4LDB4MGIsMHgyOCwweDkyLDB4YjYsMHg4OCwweDg3LDB4YTAsMHgyMCwweDY0LDB4MGIsMHgzNSwweDAzLDB4MTQsMHgwMCwweDg3IH19LAotIHsxNiwgMHhkM2QwLCAwLCB7MHhiMiwweDM5LDB4YzAsMHgyYywweGMwLDB4MDMsMHg1ZSwweDAyLDB4Y2YsMHgwMCwweDMxLDB4Y2UsMHgwYiwweDc2LDB4MTIsMHgyYSB9fSwKLSB7MTYsIDB4ZDNlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTMsMHgxMCwweDI5LDB4YzggfX0sCi0gezE2LCAweGQzZjAsIDAsIHsweDBiLDB4NzQsMHgwMiwweGRjLDB4ODAsMHg4ZiwweDAwLDB4MjksMHhjYywweDBhLDB4MzAsMHgwNiwweDE0LDB4ODAsMHg4NywweDEwIH19LAotIHsxNiwgMHhkNDAwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg2NiwweDAyLDB4NWMsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg1MSwweDAyLDB4MWMsMHg4MCB9fSwKLSB7MTYsIDB4ZDQxMCwgMCwgezB4OTYsMHgwMCwweDIxLDB4YzAsMHg1YiwweDc0LDB4ODIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0MjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDA4LDB4YTMsMHgwMCwweDIwLDB4YzAsMHgwYiwweGI4LDB4MDIsMHhjYywweDAwLDB4OGIsMHg0MCwweGE4IH19LAotIHsxNiwgMHhkNDMwLCAwLCB7MHhjMCwweDhiLDB4MDgsMHgyMiwweDhjLDB4MDIsMHg4MywweDAwLDB4NjAsMHhjMCwweDBiLDB4MzAsMHg0MiwweDA0LDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4ZDQ0MCwgMCwgezB4NDAsMHgyOCwweGZjLDB4OGEsMHgwMCwweDAyLDB4NmUsMHgwMCwweDgzLDB4MDAsMHhhMCwweGQwLDB4OGIsMHgzOCwweDAyLDB4MDggfX0sCi0gezE2LCAweGQ0NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmMsMHgwMiwweGVmLDB4MDAsMHgzYiwweGMwIH19LAotIHsxNiwgMHhkNDYwLCAwLCB7MHg0ZiwweGY4LDB4MDIsMHhmYywweDAyLDB4Y2YsMHgwMCwweDM4LDB4MTIsMHgwZSwweDk4LDB4MDIsMHgyYywweDAwLDB4Y2YsMHgwMCB9fSwKLSB7MTYsIDB4ZDQ3MCwgMCwgezB4MzIsMHhjMCwweDA5LDB4OTAsMHgwMywweDY0LDB4MDIsMHg4MSwweGMwLDB4M2UsMHhkMCwweDBmLDB4OTAsMHgwNywweDNjLDB4MDMgfX0sCi0gezE2LCAweGQ0ODAsIDAsIHsweGQ5LDB4MDAsMHgzMiwweDYwLDB4MGYsMHg4OCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDkwLCAwLCB7MHg4MCwweDAwLDB4Y2MsMHgwMCwweGRiLDB4MDAsMHgzZSwweGMwLDB4OGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzNiB9fSwKLSB7MTYsIDB4ZDRhMCwgMCwgezB4YzAsMHg0ZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZmIsMHgwMCwweGJlLDB4OTAsMHgwZiwweDljLDB4MTMsMHhlYywweDAwLDB4ZTkgfX0sCi0gezE2LCAweGQ0YjAsIDAsIHsweDE4LDB4M2EsMHhkMCwweDA0LDB4ZDUsMHgwMywweGVjLDB4NDAsMHhlOSwweDAwLDB4M2EsMHgwMCwweDhmLDB4ODAsMHgwMywweGUwIH19LAotIHsxNiwgMHhkNGMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhjZiwweDAwLDB4M2QsMHhjMSB9fSwKLSB7MTYsIDB4ZDRkMCwgMCwgezB4OGMsMHhmMCwweDAzLDB4MmMsMHgwMCwweGVmLDB4MGEsMHhiMywweDEyLDB4MmMsMHg3MCwweDIzLDB4MTQsMHgwYSwweDRmLDB4MDAgfX0sCi0gezE2LCAweGQ0ZTAsIDAsIHsweDM1LDB4NjAsMHgwZCwweGIwLDB4MDMsMHgwNCwweDAwLDB4Y2QsMHg4MCwweDA3LDB4ZTgsMHgwYywweGM0LDB4MDMsMHgyYywweDAwIH19LAotIHsxNiwgMHhkNGYwLCAwLCB7MHhjZCwweDAwLDB4MzEsMHhlMiwweDJjLDB4ZTAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDUwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDIsMHhhYiwweDAyLDB4MmUsMHhjMCwweDBlLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MzIgfX0sCi0gezE2LCAweGQ1MTAsIDAsIHsweDMwLDB4MDAsMHg5YywweDAzLDB4NmMsMHgwMCwweDhiLDB4MDQsMHgyMiwweDM2LDB4MDgsMHgzNCwweDRhLDB4MmMsMHgwOCwweDg5IH19LAotIHsxNiwgMHhkNTIwLCAwLCB7MHg5MCwweDIwLDB4YjgsMHgwZiwweDg0LDB4MDAsMHhhYywweDAyLDB4ODksMHgwMCwweDM2LDB4YTAsMHgwOCwweGE0LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZDUzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4YzAgfX0sCi0gezE2LCAweGQ1NDAsIDAsIHsweDA4LDB4YjAsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhkMSwweDA4LDB4ODgsMHgxMiwweDI2LDB4MDAsMHhhMywweDAwIH19LAotIHsxNiwgMHhkNTUwLCAwLCB7MHgyNiwweDQwLDB4MGIsMHhiMCwweDAyLDB4MjYsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4NTgsMHgxMCwweDEyLDB4MmMsMHgwNCB9fSwKLSB7MTYsIDB4ZDU2MCwgMCwgezB4ODIsMHg4MCwweDJhLDB4NDksMHgwOCwweDMwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1NzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YTMsMHgxNCwweDJjLDB4YzgsMHgxYSwweDM0LDB4OGEsMHgwYywweDg0LDB4ODMsMHg0MCwweDIyIH19LAotIHsxNiwgMHhkNTgwLCAwLCB7MHhjOCwweDA4LDB4MDMsMHg2MiwweDRjLDB4YzAsMHhhMywweDYwLDB4MjAsMHg0MCwweDBhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4ZDU5MCwgMCwgezB4NDUsMHgwOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4OGMsMHhhMCwweDgzLDB4MDAsMHgyNiwweDQwLDB4MDgsMHgzMCwweDBhLDB4MDIgfX0sCi0gezE2LCAweGQ1YTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGNmLDB4NDAsMHgyZiwweGQyIH19LAotIHsxNiwgMHhkNWIwLCAwLCB7MHg4YywweGY2LDB4MDMsMHgzYywweDIyLDB4Y2YsMHg0MCwweDMyLDB4ZDYsMHg0YywweGE2LDB4YzEsMHgzZCwweGEwLDB4ODcsMHg0OCB9fSwKLSB7MTYsIDB4ZDVjMCwgMCwgezB4MzYsMHgwZCwweDBmLDB4YjEsMHgwMiwweDI0LDB4NDIsMHhjYiwweDYwLDB4MTYsMHhjMCwweDBjLDB4ZDAsMHgwMywweDJjLDB4ODAgfX0sCi0gezE2LCAweGQ1ZDAsIDAsIHsweGNhLDB4MDAsMHgzMiwweGMwLDB4MGMsMHgzMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNWUwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZmLDB4MjAsMHgzZSwweGNhLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgyMCwweGRiLDB4MzQsMHgzYSB9fSwKLSB7MTYsIDB4ZDVmMCwgMCwgezB4YzgsMHgwZiwweDgwLDB4MDMsMHhlNCwweDEwLDB4ZGIsMHgyMSwweDNlLDB4MTgsMHgwZCwweGYyLDB4MDMsMHhmYywweDgwLDB4ZmYgfX0sCi0gezE2LCAweGQ2MDAsIDAsIHsweDMwLDB4MzUsMHhjMCwweDBmLDB4YzAsMHgxMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhkNjEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGZjLDB4MDAsMHhmYiwweDBiLDB4MmYsMHhjYSB9fSwKLSB7MTYsIDB4ZDYyMCwgMCwgezB4OGQsMHhmMiwweDAzLDB4ZmEsMHgwMCwweDk2LDB4ODAsMHgzYiwweGM0LDB4MGQsMHhmMSwweDAzLDB4N2MsMHg4MCwweGVjLDB4ODAgfX0sCi0gezE2LCAweGQ2MzAsIDAsIHsweDNiLDB4MDgsMHgwYywweGMyLDB4MDMsMHg3NCwweDAyLDB4Y2MsMHg4MCwweDNmLDB4NDgsMHgwZSwweGYwLDB4MDMsMHgzMCwweGEwIH19LAotIHsxNiwgMHhkNjQwLCAwLCB7MHhkNSwweDgwLDB4M2YsMHg0MCwweDBjLDB4ZjgsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDY1MCwgMCwgezB4ODAsMHgwOCwweGVlLDB4NDAsMHhiZiwweDgwLDB4MmYsMHhmMCwweDBiLDB4ZjcsMHgyMiwweGVlLDB4MjAsMHg4YSwweDgwLDB4MjMgfX0sCi0gezE2LCAweGQ2NjAsIDAsIHsweGZjLDB4ODgsMHg3NSwweDEyLDB4M2QsMHgwMCwweDg4LDB4MDAsMHgyMiwweDAwLDB4MjgsMHg4MCwweDAyLDB4MjQsMHgwOCwweDg4IH19LAotIHsxNiwgMHhkNjcwLCAwLCB7MHgwMCwweDZmLDB4NTAsMHgwMCwweGY1LDB4MDIsMHgyOSwweDAwLDB4ODksMHgwMCwweDJlLDB4NTQsMHgwZCwweDkwLDB4MTEsMHhhMCB9fSwKLSB7MTYsIDB4ZDY4MCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzEgfX0sCi0gezE2LCAweGQ2OTAsIDAsIHsweDA5LDB4MzAsMHg4MiwweGNjLDB4ODIsMHhiYiwweDAwLDB4MjgsMHhjMCwweDQ5LDB4MzIsMHgwMiwweGNkLDB4MDAsMHhiOCwweDAwIH19LAotIHsxNiwgMHhkNmEwLCAwLCB7MHgyYywweDUwLDB4MDksMHgwMSwweDAyLDB4MGMsMHg0MCwweDgwLDB4MDAsMHg2YywweDQ0LDB4MDksMHgzMCwweDAyLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZDZiMCwgMCwgezB4YjAsMHgwMCwweDJjLDB4NDAsMHgxOCwweDMwLDB4MDYsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2YzAsIDAsIHsweGMwLDB4MDEsMHhhYywweDAwLDB4YmIsMHgwMSwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlZSwweDAwLDB4YWEsMHgwMCwweDRhIH19LAotIHsxNiwgMHhkNmQwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHg1MiwweGVjLDB4MDAsMHg5OCwweDAyLDB4MjYsMHg0MCwweDA5LDB4ODAsMHgwMiwweDZjLDB4MDEsMHhhYSB9fSwKLSB7MTYsIDB4ZDZlMCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MDksMHhiMCwweDAyLDB4MjIsMHgwMCwweGE5LDB4ODAsMHgyZSwweDQxLDB4MDksMHg5MCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGQ2ZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhkNzAwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhjZSwweDg0LDB4ZmEsMHgwMCwweDFhLDB4YzAsMHg4ZCwweGIwLDB4NDMsMHhlYywweDAwLDB4ZjAsMHgwMiB9fSwKLSB7MTYsIDB4ZDcxMCwgMCwgezB4M2YsMHgwMCwweDBkLDB4ZDEsMHgwMywweDM1LDB4MDAsMHhjYiwweDQ4LDB4MmUsMHg0MCwweDJmLDB4YjAsMHgwOSwweDIyLDB4ODAgfX0sCi0gezE2LCAweGQ3MjAsIDAsIHsweGY5LDB4YzgsMHgxZSwweGUwLDB4MDgsMHhiMSwweGUyLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNzMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweDdiLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwMCwweGRlLDB4MDAsMHgyNCB9fSwKLSB7MTYsIDB4ZDc0MCwgMCwgezB4YzAsMHg0ZiwweGYwLDB4MDMsMHgyYywweDAwLDB4ZWMsMHgyMCwweDNiLDB4MDAsMHgwZSwweDk4LDB4MDMsMHg5NCwweDAyLDB4ZGQgfX0sCi0gezE2LCAweGQ3NTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDRlLDB4ZjAsMHgwMSwweGY4LDB4MDAsMHhkZCwweDAwLDB4M2MsMHhlNCwweDBmLDB4ZDgsMHgwMywweGI4IH19LAotIHsxNiwgMHhkNzYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGFjLDB4YzAsMHhmYiwweDIwLDB4MzIsMHhjOCB9fSwKLSB7MTYsIDB4ZDc3MCwgMCwgezB4OGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzYSwweGMyLDB4MmMsMHgzMCwweDAzLDB4NmMsMHgwNCwweGQ4LDB4MDIgfX0sCi0gezE2LCAweGQ3ODAsIDAsIHsweDNjLDB4NDQsMHg4ZCwweDEwLDB4MDMsMHhhZCwweDAzLDB4ZWEsMHgwMCwweDNjLDB4NDAsMHgwYywweDcwLDB4MjMsMHhlNCwweDAwIH19LAotIHsxNiwgMHhkNzkwLCAwLCB7MHhjOCwweDQwLDB4M2EsMHhjMCwweDBkLDB4YmMsMHgwMywweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDdhMCwgMCwgezB4YzgsMHgwMSwweDNkLDB4MDAsMHhiZiwweDQyLDB4MjMsMHhmMCwweDBkLDB4ZjAsMHgwMiwweGU1LDB4MDAsMHhlMiwweDAxLDB4MzcgfX0sCi0gezE2LCAweGQ3YjAsIDAsIHsweGYxLDB4MDgsMHhmMCwweDBlLDB4M2QsMHhjMCwweGE4LDB4MDAsMHgyZSwweDU0LDB4MjgsMHg5MCwweDAyLDB4MmMsMHgwMCwweDhhIH19LAotIHsxNiwgMHhkN2MwLCAwLCB7MHgwNSwweDNiLDB4NDEsMHg0OCwweGY1LDB4MDMsMHg4YywweDAwLDB4ODksMHgwMCwweDIyLDB4ZDQsMHgwZSwweDk1LDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ZDdkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjMsMHgwNCwweDIwLDB4YzAgfX0sCi0gezE2LCAweGQ3ZTAsIDAsIHsweDg5LDB4MzAsMHgwMiwweGNjLDB4NDAsMHhiMiwweDAwLDB4MmMsMHhjNCwweDQ4LDB4MzAsMHgwMiwweDJjLDB4MDIsMHhhMiwweDAwIH19LAotIHsxNiwgMHhkN2YwLCAwLCB7MHgyYywweDIwLDB4MTksMHgyMCwweDFhLDB4ODAsMHgwOCwweGIwLDB4MDAsMHg2YywweDQwLDB4MDgsMHgzMCwweDAyLDB4YzQsMHgwMCB9fSwKLSB7MTYsIDB4ZDgwMCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NDAsMHgwOCwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4MTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHhhMCwweGUxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhkZiwweDA0LDB4YWUsMHg4MCwweDJkIH19LAotIHsxNiwgMHhkODIwLCAwLCB7MHhlMCwweDA4LDB4NzksMHgwMiwweDFlLDB4MTAsMHg4NywweDkwLDB4MmMsMHgyOCwweDI5LDB4NjgsMHgwMiwweDgyLDB4ODEsMHhiNCB9fSwKLSB7MTYsIDB4ZDgzMCwgMCwgezB4ODAsMHgyZCwweDYwLDB4MDgsMHg3OCwweDEwLDB4YmMsMHgwMCwweDhmLDB4ODAsMHgyZCwweDYwLDB4MGIsMHg2OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGQ4NDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHgwNSwweGYzLDB4OTIsMHgzMCwweGNhIH19LAotIHsxNiwgMHhkODUwLCAwLCB7MHgwZCwweDMwLDB4MDMsMHhjYywweDAwLDB4ZjMsMHgwMCwweDNjLDB4YzAsMHgwYywweDMwLDB4MDIsMHgwYywweDgwLDB4NzAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg2MCwgMCwgezB4MmMsMHg0MCwweDBkLDB4MjAsMHgwMywweDg5LDB4MDAsMHhiMSwweDAwLDB4M2UsMHg0MCwweDJjLDB4MzAsMHgwMywweGVjLDB4NTAgfX0sCi0gezE2LCAweGQ4NzAsIDAsIHsweGMzLDB4MjAsMHgzYywweDQwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzYywweGMwLDB4MGUsMHhiMCwweDgzLDB4ZWMsMHg0MCwweGVhLDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4ZDg5MCwgMCwgezB4YzIsMHgwZiwweGIwLDB4ODMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlLDB4NDgsMHgwZSwweGUwLDB4MGIsMHg3YSwweDgwLDB4Y2YgfX0sCi0gezE2LCAweGQ4YTAsIDAsIHsweDAwLDB4M2IsMHg0NCwweDBmLDB4ZjAsMHgwMywweGVjLDB4YzAsMHhmZiwweDAwLDB4MDMsMHg0NCwweDBlLDB4ZTAsMHgwMywweGQwIH19LAotIHsxNiwgMHhkOGIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDIzLDB4M2UsMHhjOCB9fSwKLSB7MTYsIDB4ZDhjMCwgMCwgezB4MWQsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGNhLDB4MDAsMHgzZSwweGM4LDB4MGMsMHhiMiwweDAzLDB4MmQsMHg5MCwweGM4LDB4ODQgfX0sCi0gezE2LCAweGQ4ZDAsIDAsIHsweDM2LDB4MDAsMHgyZCwweGIwLDB4MDMsMHg2MCwweDE4LDB4OWIsMHg4MCwweDMzLDB4NTAsMHgwYywweGYyLDB4MDMsMHhlMiwweDAwIH19LAotIHsxNiwgMHhkOGUwLCAwLCB7MHhjOSwweDgwLDB4MzIsMHg0MCwweDBjLDB4YjgsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDhmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDI4LDB4MGMsMHhkMiwweDI4LDB4NzMsMHgwMiwweGZjLDB4MDAsMHg4NiwweDA0LDB4MmMgfX0sCi0gezE2LCAweGQ5MDAsIDAsIHsweGNjLDB4MjgsMHg3MCwweDgzLDB4MGMsMHgyMCwweDk1LDB4MDEsMHgyMCwweDAwLDB4MDksMHgzMCwweDEyLDB4MTAsMHgwNCwweDg1IH19LAotIHsxNiwgMHhkOTEwLCAwLCB7MHgwMCwweDIxLDB4NTIsMHgwOCwweDc1LDB4MDIsMHhkOCwweDAwLDB4ODcsMHgwMCwweDIxLDB4NDAsMHgwOCwweDYwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZDkyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweGQ0LDB4YjcsMHhiMSwweDA5LDB4ZTEgfX0sCi0gezE2LCAweGQ5MzAsIDAsIHsweDA4LDB4NzgsMHgyMiwweGRlLDB4MDAsMHg5NSwweDgwLDB4MmQsMHhlMCwweDA4LDB4NzgsMHgwYSwweDVlLDB4NDIsMHg5NCwweGMwIH19LAotIHsxNiwgMHhkOTQwLCAwLCB7MHgyMSwweDYwLDB4MDgsMHg3OCwweDAyLDB4NWEsMHgwMCwweDg3LDB4ODAsMHgyZCwweDY4LDB4MDgsMHg3YSwweDAyLDB4ZDcsMHgwMCB9fSwKLSB7MTYsIDB4ZDk1MCwgMCwgezB4OTcsMHg4MCwweDIwLDB4NjAsMHgwOSwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5NjAsIDAsIHsweDQ4LDB4MTAsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhjZCwweDgwLDB4OTIsMHgwMCwweDJjIH19LAotIHsxNiwgMHhkOTcwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHgwMiwweGNjLDB4MDAsMHg5MCwweDgwLDB4YTAsMHg0MCwweDA5LDB4MzYsMHgwMiwweDQ4LDB4MDIsMHg4MyB9fSwKLSB7MTYsIDB4ZDk4MCwgMCwgezB4YTAsMHhhYywweDQwLDB4MmEsMHgzMCwweDA2LDB4Y2UsMHgwMiwweDkzLDB4MDQsMHhhMCwweDQwLDB4MDksMHgyMCwweDBhLDB4MTIgfX0sCi0gezE2LCAweGQ5OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzYSwweDgwIH19LAotIHsxNiwgMHhkOWEwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhmYiwweDAyLDB4ZGUsMHg4MCwweDNlLDB4ODAsMHgwYywweGEwLDB4MDMsMHgyOCwweDAwLDB4Y2UsMHg4MCB9fSwKLSB7MTYsIDB4ZDliMCwgMCwgezB4MzIsMHg4MCwweDBjLDB4YTQsMHgwMywweDc4LDB4MDAsMHhjZSwweGE0LDB4M2YsMHg4MCwweDBjLDB4YTAsMHgwNywweGY5LDB4MDAgfX0sCi0gezE2LCAweGQ5YzAsIDAsIHsweGRlLDB4MDAsMHgzMiwweDgwLDB4MmQsMHhlMCwweDAyLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOWQwLCAwLCB7MHg0OCwweDAwLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHg3YywweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHg0MCwweGU4LDB4MTAsMHgzYyB9fSwKLSB7MTYsIDB4ZDllMCwgMCwgezB4MDEsMHhjZiwweDgwLDB4MGYsMHgyMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDA0LDB4MDMsMHg5MCwweDAwLDB4ZTggfX0sCi0gezE2LCAweGQ5ZjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDBkLDB4ODAsMHgwNywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwNCwweDBlLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhkYTAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDEwLDB4N2UsMHg0MSB9fSwKLSB7MTYsIDB4ZGExMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDY4LDB4MGUsMHg5MCwweDBmLDB4YTQsMHgwOCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGRhMjAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MGIsMHgyNCwweDEyLDB4ZTksMHgwMCwweDNlLDB4NDQsMHgyYywweDkwLDB4MDMsMHg2NCwweDI0IH19LAotIHsxNiwgMHhkYTMwLCAwLCB7MHhmOSwweDAyLDB4MmUsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGE0MCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MTAsMHhiOSwweDgwLDB4M2UsMHg0MCwweDA4LDB4OTAsMHgwYSwweDI2LDB4MDAsMHhiMSwweDEwLDB4MmEgfX0sCi0gezE2LCAweGRhNTAsIDAsIHsweDcyLDB4MDgsMHg5MCwweDA3LDB4NjQsMHgwMiwweDg5LDB4NDAsMHgyZSwweDQwLDB4MjgsMHg5MCwweDEyLDB4MjUsMHgwMCwweDg5IH19LAotIHsxNiwgMHhkYTYwLCAwLCB7MHg0NSwweDNlLDB4NTAsMHgwZCwweDkwLDB4MGEsMHgyNSwweDAwLDB4YjksMHg0MCwweDJlLDB4NDAsMHgyOCwweDk0LDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4ZGE3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGRhODAsIDAsIHsweDQ4LDB4OTAsMHg0MiwweDI2LDB4MDEsMHhiOSwweDQwLDB4MjYsMHg0MCwweDBhLDB4OTAsMHg0MiwweDg0LDB4MDEsMHg4YiwweDA4IH19LAotIHsxNiwgMHhkYTkwLCAwLCB7MHgyYywweDQwLDB4MDksMHhkMCwweDgyLDB4MzQsMHgzMiwweGE5LDB4MDgsMHg2ZSwweDQyLDB4MDgsMHgxMCwweDAyLDB4MjQsMHgyMCB9fSwKLSB7MTYsIDB4ZGFhMCwgMCwgezB4YjksMHgwOCwweDJjLDB4NDAsMHgxOCwweDkwLDB4ODIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjMsMHgyMCwweDI4LDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAxLDB4YjEsMHgwMCwweDI4IH19LAotIHsxNiwgMHhkYWMwLCAwLCB7MHg1OCwweDA4LDB4MTIsMHgwMiwweDA1LDB4ODksMHg4MSwweDQwLDB4MmMsMHg1OCwweDA4LDB4NTYsMHgwNiwweDE1LDB4ODAsMHg4MSB9fSwKLSB7MTYsIDB4ZGFkMCwgMCwgezB4NDAsMHgyOCwweDUwLDB4MDksMHgxNCwweDAyLDB4MDUsMHg4MCwweGIxLDB4NDAsMHgyYywweDVhLDB4MDgsMHgxNCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGRhZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjgsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwIH19LAotIHsxNiwgMHhkYWYwLCAwLCB7MHgyZSwweDg1LDB4MDMsMHgyMSwweDQ4LDB4ZjgsMHgwMCwweDM2LDB4MDAsMHg4ZSwweDA1LDB4MDIsMHhhMCwweDA4LDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ZGIwMCwgMCwgezB4M2UsMHgwMCwweDBkLDB4ODAsMHgwYiwweDEwLDB4MDQsMHhlMCwweDAwLDB4MmMsMHgwMCwweDRjLDB4ODAsMHgwMywweDQwLDB4MDAgfX0sCi0gezE2LCAweGRiMTAsIDAsIHsweGYwLDB4MDAsMHgzZSwweDA4LDB4MGMsMHgwMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYjIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHgwMCwweGZkLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZGIzMCwgMCwgezB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgwMywweDNmLDB4NDQsMHgxZiwweDkxLDB4MWIsMHhlNCwweDQwLDB4ZmQgfX0sCi0gezE2LCAweGRiNDAsIDAsIHsweDAxLDB4M2YsMHg1MCwweDBlLDB4OTQsMHgwMywweGY0LDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGE2IH19LAotIHsxNiwgMHhkYjUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGY0LDB4MDAsMHhjZCwweGEwLDB4NzEsMHg2OCB9fSwKLSB7MTYsIDB4ZGI2MCwgMCwgezB4OGQsMHg5OCwweDAzLDB4ZDQsMHgwMCwweGNkLDB4MDAsMHgzMywweDYwLDB4MGMsMHg5OCwweDhmLDB4MjcsMHgyMCwweGM5LDB4NDAgfX0sCi0gezE2LCAweGRiNzAsIDAsIHsweDNlLDB4NzgsMHgwYywweDllLDB4OGIsMHgyNywweDIwLDB4ZDEsMHgxMSwweDMwLDB4NjAsMHg4YywweDljLDB4MDMsMHgyNSwweDAwIH19LAotIHsxNiwgMHhkYjgwLCAwLCB7MHhmOSwweDQwLDB4M2UsMHg3OCwweDBmLDB4OTAsMHgwMywweDQ2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGI5MCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MTAsMHg4OCwweDAxLDB4MjIsMHgwMSwweDA4LDB4OGMsMHgyMiwweGU4LDB4MDAsMHg4OCwweDAyLDB4MmEgfX0sCi0gezE2LCAweGRiYTAsIDAsIHsweDE0LDB4MDgsMHg4YywweDBiLDB4MjMsMHg5MCwweDg4LDB4YTAsMHgyZSwweGIwLDB4MDgsMHg4YywweDQyLDB4MjMsMHgwMCwweDg4IH19LAotIHsxNiwgMHhkYmIwLCAwLCB7MHhhMCwweDM2LDB4MmEsMHgxOCwweDhhLDB4MDIsMHgyMiwweDAwLDB4YjgsMHhhMCwweDJlLDB4MzQsMHgwYiwweGNhLDB4ODIsMHgwZSB9fSwKLSB7MTYsIDB4ZGJjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4ODEsMHg0MCwweDI0LDB4NTAgfX0sCi0gezE2LCAweGRiZDAsIDAsIHsweDA5LDB4MTYsMHg4MiwweGM0LDB4MDAsMHhhOSwweDAwLDB4MjAsMHg0MCwweDA4LDB4MTIsMHg5MiwweDU0LDB4MDgsMHg4NSwweDAwIH19LAotIHsxNiwgMHhkYmUwLCAwLCB7MHgyZiwweDRjLDB4MDksMHg1MiwweDEyLDB4MTQsMHg4MCwweDlkLDB4MDAsMHgyMSwweDUwLDB4MDgsMHg1NCwweDIyLDB4MTQsMHg4MCB9fSwKLSB7MTYsIDB4ZGJmMCwgMCwgezB4YjUsMHgwMCwweDJkLDB4NDgsMHgwYiwweGQwLDB4MDIsMHg0MiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjMDAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDAyLDB4ODksMHgwMSwweGEyLDB4NDAsMHg0OCwweDkwLDB4MDIsMHhlNCwweDAyLDB4YTksMHgwMCwweDJhIH19LAotIHsxNiwgMHhkYzEwLCAwLCB7MHg0MCwweDY4LDB4OTAsMHgwMiwweDY0LDB4MTAsMHhhZCwweDAwLDB4MmYsMHg0MSwweDI4LDB4NTAsMHgwMiwweDM0LDB4MDAsMHg4ZCB9fSwKLSB7MTYsIDB4ZGMyMCwgMCwgezB4NDQsMHgyNywweDQwLDB4MzksMHhkMCwweDAyLDB4MzUsMHgwMCwweGJkLDB4MTQsMHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGRjMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhkYzQwLCAwLCB7MHgyZCwweDkwLDB4MDMsMHhlNywweDAwLDB4ZTEsMHhlMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MGIsMHg2NCwweDAyLDB4YzksMHgwOCB9fSwKLSB7MTYsIDB4ZGM1MCwgMCwgezB4M2MsMHg1MCwweDBjLDB4OTAsMHgwMiwweDI2LDB4MDIsMHhkOSwweGMwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgxMywweDI3LDB4MDAgfX0sCi0gezE2LCAweGRjNjAsIDAsIHsweGY5LDB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYzcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMiwweGY5LDB4MDAsMHgzOCwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHg4MCwweGQ5LDB4YTAsMHgzYyB9fSwKLSB7MTYsIDB4ZGM4MCwgMCwgezB4NDAsMHgwZiwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZDksMHgxMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDkyLDB4ZjkgfX0sCi0gezE2LCAweGRjOTAsIDAsIHsweDIxLDB4M2MsMHg0MCwweDJlLDB4OTAsMHgwZiwweGU2LDB4ODAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH19LAotIHsxNiwgMHhkY2EwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4NDAsMHhlOCwweDEwLDB4M2UsMHgwNCB9fSwKLSB7MTYsIDB4ZGNiMCwgMCwgezB4NGUsMHg4MCwweDAzLDB4MjAsMHg4MCwweGQ4LDB4NjAsMHgzYSwweDAyLDB4MGMsMHg4MCwweDEzLDB4MjAsMHgwMCwweGY4LDB4NDAgfX0sCi0gezE2LCAweGRjYzAsIDAsIHsweDM2LDB4MTAsMHgyZCwweDgwLDB4MDMsMHhhMCwweDA4LDB4ZTgsMHg0MCwweDMyLDB4MDAsMHgwZCwweDAwLDB4MDMsMHgyMSwweDAyIH19LAotIHsxNiwgMHhkY2QwLCAwLCB7MHhjOCwweDQwLDB4YjIsMHgwMCwweDBmLDB4YzAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGNlMCwgMCwgezB4MjgsMHgxMSwweDNiLDB4MTAsMHg4NiwweDAxLDB4MmYsMHhhMCwweDBkLDB4YTAsMHgwMiwweDM4LDB4MDAsMHg4ZSwweGUwLDB4MjMgfX0sCi0gezE2LCAweGRjZjAsIDAsIHsweGEyLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJhLDB4ODAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDgyIH19LAotIHsxNiwgMHhkZDAwLCAwLCB7MHgwMCwweDJhLDB4ODAsMHgyOCwweGEwLDB4MDIsMHgyYSwweDA0LDB4OGEsMHg4MCwweDIyLDB4YTAsMHgwYiwweDYwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4ZGQxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MywweDgwLDB4YTIsMHgwMCwweDJjLDB4YTAgfX0sCi0gezE2LCAweGRkMjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDJlLDB4MDAsMHg5MiwweDAwLDB4MjgsMHhjMCwweDI4LDB4MzAsMHgwMiwweDJjLDB4MDAsMHhiMywweDgwIH19LAotIHsxNiwgMHhkZDMwLCAwLCB7MHgyNCwweGMwLDB4MDksMHgzMCwweDBhLDB4OGMsMHgwMCwweGEzLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgzMCwweDBhLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ0MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4ZTAsMHgwYiwweDIwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkNTAsIDAsIHsweGEwLDB4MDEsMHgxMCwweDAwLDB4ODYsMHgwMCwweDJkLDB4YzAsMHgwOSwweDNhLDB4MDIsMHgzNSwweDAwLDB4ODYsMHgwMCwweDIxIH19LAotIHsxNiwgMHhkZDYwLCAwLCB7MHhjMCwweDA4LDB4NzMsMHgwMiwweDEwLDB4MDAsMHhiZiwweDg4LDB4MjEsMHgwMCwweDA4LDB4NzAsMHgwMiwweDFjLDB4MDgsMHg4ZiB9fSwKLSB7MTYsIDB4ZGQ3MCwgMCwgezB4MDAsMHgyYiwweGMwLDB4MDgsMHgyMCwweDEyLDB4NWUsMHgyMCwweDg3LDB4ODgsMHgyMSwweDgzLDB4MGIsMHg2MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweGRkODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGU1LDB4ODEsMHgzZCwweGEwIH19LAotIHsxNiwgMHhkZDkwLCAwLCB7MHgyYywweDdhLDB4MGIsMHgxZSwweDAwLDB4ZDQsMHg4MCwweDM4LDB4ZTAsMHgwYywweGZhLDB4MGIsMHgxZSwweDAwLDB4ZjYsMHg4MCB9fSwKLSB7MTYsIDB4ZGRhMCwgMCwgezB4MzQsMHhlMCwweDBkLDB4MjgsMHgwMywweDhhLDB4MDAsMHhlNiwweDgwLDB4MzEsMHgyMCwweDBjLDB4NzgsMHgwMywweDdhLDB4MDQgfX0sCi0gezE2LCAweGRkYjAsIDAsIHsweGNlLDB4ODQsMHgzMSwweGUwLDB4NGYsMHg3OCwweDQzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZGMwLCAwLCB7MHgwOCwweDBkLDB4ODAsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiNSwweDIzLDB4ZTQsMHgwMCwweGYwLDB4MDQsMHgzNiB9fSwKLSB7MTYsIDB4ZGRkMCwgMCwgezB4NDAsMHgwZiwweGI2LDB4ODcsMHhlMCwweDAwLDB4ZjIsMHgwMCwweDNlLDB4MDAsMHgxZiwweGEwLDB4MGIsMHhlOCwweDAwLDB4ZmEgfX0sCi0gezE2LCAweGRkZTAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBlLDB4YTAsMHgwMywweGE4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhkZGYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhjYywweDgwLDB4MzMsMHhhMCB9fSwKLSB7MTYsIDB4ZGUwMCwgMCwgezB4MGMsMHhmYywweDAzLDB4M2UsMHgwMCwweGZjLDB4ODAsMHgzNywweGUwLDB4MGYsMHhiOSwweDIxLDB4M2UsMHgwMCwweGZkLDB4ODIgfX0sCi0gezE2LCAweGRlMTAsIDAsIHsweDMzLDB4ZTAsMHgyYywweGY4LDB4MDMsMHg3ZSwweDEwLDB4ZGYsMHg4NCwweDNkLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmNiwweDAwIH19LAotIHsxNiwgMHhkZTIwLCAwLCB7MHhmZCwweDgwLDB4M2YsMHg2MCwweDBjLDB4ZTgsMHgyMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGUzMCwgMCwgezB4YTgsMHgxMSwweDk4LDB4NDAsMHg4NCwweDEwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDEwLDB4ODAsMHhiNCwweDAwLDB4MjEgfX0sCi0gezE2LCAweGRlNDAsIDAsIHsweGM4LDB4MGIsMHg3YSwweDAyLDB4MTAsMHgwMCwweGZkLDB4MDAsMHgyMSwweDA0LDB4MDgsMHg3MCwweDAyLDB4MWMsMHg0MiwweDg3IH19LAotIHsxNiwgMHhkZTUwLCAwLCB7MHgwMCwweDJkLDB4YzQsMHg0OCwweDYxLDB4MDIsMHhkNiwweDgwLDB4YjUsMHgwMCwweDJmLDB4MDQsMHgwOCwweDYxLDB4ODIsMHgyYSB9fSwKLSB7MTYsIDB4ZGU2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ODEsMHgwMCwweDIxLDB4ODAgfX0sCi0gezE2LCAweGRlNzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDFjLDB4MTAsMHhiYywweDA4LDB4MjUsMHg4MCwweDRiLDB4MzAsMHgwZSwweDFjLDB4MDAsMHhiNCwweDAwIH19LAotIHsxNiwgMHhkZTgwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgyMCwweDAyLDB4NTgsMHgwMCwweDk2LDB4MDAsMHgyZiwweDAwLDB4MGEsMHg3MCwweDAyLDB4ZDAsMHg4MCB9fSwKLSB7MTYsIDB4ZGU5MCwgMCwgezB4YjQsMHgxOCwweDJkLDB4NDAsMHgwOSwweGY4LDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlYTAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAyLDB4ODAsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MjIsMHgwYiwweGMwLDB4YjAsMHhjMCwweDIyIH19LAotIHsxNiwgMHhkZWIwLCAwLCB7MHg4MCwweDBiLDB4MzAsMHgwMiwweDAwLDB4MDAsMHhhMCwweDA0LDB4MjIsMHgwMCwweDI4LDB4YTAsMHgwMiwweDJiLDB4MDAsMHg4YSB9fSwKLSB7MTYsIDB4ZGVjMCwgMCwgezB4MDAsMHgyYywweDAwLDB4MDgsMHhhMCwweDA2LDB4YzAsMHgwMCwweGIwLDB4YzIsMHgyYywweDAwLDB4MDksMHhiYywweDFhLDB4MDggfX0sCi0gezE2LCAweGRlZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweGMwIH19LAotIHsxNiwgMHhkZWUwLCAwLCB7MHgwYywweGYwLDB4MGIsMHgyNiwweDAwLDB4ZjksMHhjMCwweDM2LDB4MDAsMHgwZiwweGYwLDB4MTMsMHgyYywweDEwLDB4YmIsMHg0MCB9fSwKLSB7MTYsIDB4ZGVmMCwgMCwgezB4ZjIsMHhjMCwweDA4LDB4OTAsMHgwMywweDY3LDB4MDAsMHhkOSwweDgwLDB4M2UsMHhjMCwweDA4LDB4OTAsMHgwMiwweGVjLDB4MDAgfX0sCi0gezE2LCAweGRmMDAsIDAsIHsweGZiLDB4ZDAsMHgzZSwweGMwLDB4MjksMHg4YywweDAwLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZjEwLCAwLCB7MHg4MCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4NDQsMHgzYywweGQwLDB4MmYsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MjAsMHgzZSB9fSwKLSB7MTYsIDB4ZGYyMCwgMCwgezB4NDAsMHgwZiwweDMwLDB4MDMsMHhlMCwweDAwLDB4ZmIsMHgwOCwweDNlLDB4MDAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDQyLDB4ZjkgfX0sCi0gezE2LCAweGRmMzAsIDAsIHsweDEwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGVlLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg4MCwweDBlLDB4ODIsMHgwMywweGUwIH19LAotIHsxNiwgMHhkZjQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGUwLDB4MDgsMHhmYywweDgwLDB4MzIsMHhlNCB9fSwKLSB7MTYsIDB4ZGY1MCwgMCwgezB4MGUsMHhmMCwweDAzLDB4NzQsMHgwMCwweGZjLDB4MDAsMHgzZiwweDQwLDB4MGMsMHhmMCwweDBiLDB4M2MsMHgwMCwweGZlLDB4MDAgfX0sCi0gezE2LCAweGRmNjAsIDAsIHsweDNmLDB4YzAsMHgwZCwweGMxLDB4MDMsMHgyMCwweDIwLDB4Y2MsMHgxMCwweDMzLDB4MDAsMHgwYywweGQxLDB4MDMsMHg1OCwweDAwIH19LAotIHsxNiwgMHhkZjcwLCAwLCB7MHhjZSwweDAwLDB4MmYsMHhjMCwweDBmLDB4ZDEsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGY4MCwgMCwgezB4ODEsMHg0NCwweDYyLDB4MDAsMHhiMCwweDQwLDB4MmEsMHhmMSwweDA4LDB4YjAsMHgxMiwweDI2LDB4MDgsMHhiOCwweGM4LDB4MmUgfX0sCi0gezE2LCAweGRmOTAsIDAsIHsweDcwLDB4MGEsMHhiMCwweDAyLDB4MjAsMHgwMCwweGJhLDB4MDAsMHgyZSwweDAwLDB4MjgsMHg4MCwweDAzLDB4MjIsMHg0MCwweDg4IH19LAotIHsxNiwgMHhkZmEwLCAwLCB7MHgwMSwweDIwLDB4MDAsMHgwYSwweDgwLDB4MDIsMHgyOCwweDAwLDB4OGEsMHgwMSwweDJlLDB4ODAsMHg4YiwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZGZiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNiwweDAwLDB4YjgsMHgyOCwweDIyLDB4NDIgfX0sCi0gezE2LCAweGRmYzAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDY2LDB4MDAsMHhiOCwweDgwLDB4MmUsMHgzMCwweDg4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiOSwweDAxIH19LAotIHsxNiwgMHhkZmQwLCAwLCB7MHgyZSwweGMwLDB4ODgsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwYyB9fSwKLSB7MTYsIDB4ZGZlMCwgMCwgezB4ODksMHgwMSwweDJlLDB4NDAsMHgxYiwweDgwLDB4MDIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmZjAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4YjAsMHgwMCwweDI4LDB4YzAsMHgyOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjAsMHgwMCwweDJjIH19LAotIHsxNiwgMHhlMDAwLCAwLCB7MHg0MCwweDBhLDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMSwweDAwLDB4MmMsMHgwMCwweDA4LDB4MTAsMHgwYSwweDA0LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ZTAxMCwgMCwgezB4MDEsMHhhMiwweGMwLDB4MDgsMHgwMCwweDBhLDB4MDQsMHg4MCwweDgxLDB4MDAsMHgyYywweDAwLDB4MWIsMHgwMCwweDBhLDB4MDIgfX0sCi0gezE2LCAweGUwMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDQwIH19LAotIHsxNiwgMHhlMDMwLCAwLCB7MHgwZSwweGYwLDB4MjMsMHg2NCwweDA4LDB4ZjgsMHgwMCwweDJlLDB4MDAsMHgwYywweGYwLDB4MDMsMHgyYywweDAwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4ZTA0MCwgMCwgezB4M2UsMHhjMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDIsMHhjOCwweDA0LDB4MzIsMHgwMCwweDFjLDB4OTAsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweGUwNTAsIDAsIHsweGM4LDB4MDEsMHgzZSwweDQxLDB4OWYsMHg5MCwweDQzLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMDYwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMCwweGZjLDB4MGMsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgxMCwweGY0LDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZTA3MCwgMCwgezB4MDAsMHgwZiwweGY0LDB4MjMsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZSwweGMwLDB4MDMsMHhiMCwweDAwLDB4ZmMgfX0sCi0gezE2LCAweGUwODAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGUxLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMSwweDFmLDB4NTAsMHgwMywweGU4IH19LAotIHsxNiwgMHhlMDkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwZCwweGYwLDB4ZDAsMHhmZiwweDIwLDB4M2UsMHhkMCB9fSwKLSB7MTYsIDB4ZTBhMCwgMCwgezB4OGUsMHhiMCwweDAzLDB4ZWMsMHhhMCwweGRiLDB4MjgsMHgzZSwweGNjLDB4MGMsMHhiMywweDAzLDB4YWQsMHgwOCwweGY4LDB4M2MgfX0sCi0gezE2LCAweGUwYjAsIDAsIHsweDMyLDB4MjMsMHgwZSwweDQ4LDB4MjMsMHg3YSwweDAwLDB4ZmQsMHg5NCwweDNmLDB4ZTAsMHgwZiwweDc4LDB4MzMsMHhlZSwweDA4IH19LAotIHsxNiwgMHhlMGMwLCAwLCB7MHhiZiwweDgwLDB4M2YsMHhlNCwweDBmLDB4ZjksMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBkMCwgMCwgezB4YTAsMHgwMCwweGVjLDB4YzgsMHhiZiwweGQxLDB4MGYsMHhjOCwweDBjLDB4MjYsMHg4MiwweGZkLDB4MjQsMHg4ZiwweDAwLDB4MmUgfX0sCi0gezE2LCAweGUwZTAsIDAsIHsweDk5LDB4MGEsMHhmMiwweDYyLDB4MWQsMHhkMCwweDk5LDB4NjEsMHgyMiwweDcxLDB4ODgsMHg4OCwweDAyLDB4YWMsMHgwMCwweGI4IH19LAotIHsxNiwgMHhlMGYwLCAwLCB7MHgyMiwweDJlLDB4MjAsMHg0YiwweDg4LDB4MDMsMHhhMCwweDAwLDB4ODAsMHgwMCwweDJlLDB4MDgsMHgwYiwweDgwLDB4MjMsMHg2MCB9fSwKLSB7MTYsIDB4ZTEwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDA0LDB4YjMsMHgwMywweDBjLDB4Y2MgfX0sCi0gezE2LCAweGUxMTAsIDAsIHsweDBhLDB4MTMsMHgxMiwweGNjLDB4MTQsMHhhMywweDBlLDB4MGMsMHg1OCwweDBhLDB4MzMsMHgwMiwweDhjLDB4MTAsMHhhMywweDIwIH19LAotIHsxNiwgMHhlMTIwLCAwLCB7MHhhMCwweDBhLDB4MTgsMHg5MCwweDAyLDB4NDgsMHhhMCwweGIwLDB4MjAsMHgyNCwweDgwLDB4MGEsMHgyMCwweDAyLDB4Y2MsMHgwOSB9fSwKLSB7MTYsIDB4ZTEzMCwgMCwgezB4YTEsMHgwMCwweDJjLDB4ODAsMHgwYiwweDMyLDB4NDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxNDAsIDAsIHsweGUwLDB4MTEsMHhhYywweDIwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHg0YiwweDgwLDB4YTIsMHhlYywweDAwLDB4YWIsMHgwMCwweDRlIH19LAotIHsxNiwgMHhlMTUwLCAwLCB7MHg0NiwweDJhLDB4YjAsMHgwMiwweDJjLDB4MDQsMHg5YiwweDgwLDB4MmEsMHg2MCwweDhhLDB4OWMsMHgwMiwweGFjLDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZTE2MCwgMCwgezB4ODEsMHgyZSwweDQwLDB4MGIsMHg5OCwweDAyLDB4YTMsMHgwMCwweDhhLDB4MDAsMHgyZSwweDQwLDB4MGIsMHg4MCwweDA0LDB4ZjAgfX0sCi0gezE2LCAweGUxNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTEsMHgwMCwweGZiLDB4MDQsMHgzZSwweGMwIH19LAotIHsxNiwgMHhlMTgwLCAwLCB7MHgwZSwweGI0LDB4MDMsMHhlYywweDBhLDB4ZGIsMHgwMiwweDJlLDB4ZDEsMHgwZSwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHg4MiB9fSwKLSB7MTYsIDB4ZTE5MCwgMCwgezB4MzIsMHgyOCwweDFlLDB4MGMsMHgwMywweDY4LDB4MDAsMHhiOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4YjAsMHg0MywweGVkLDB4MDAgfX0sCi0gezE2LCAweGUxYTAsIDAsIHsweGVhLDB4MDAsMHgzZSwweDQwLDB4MGYsMHg4MCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWIwLCAwLCB7MHhjMCwweDAxLDB4YjgsMHgxOCwweGZmLDB4MDIsMHgxZiwweGMwLDB4MGMsMHhlMiwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MDMsMHgyZiB9fSwKLSB7MTYsIDB4ZTFjMCwgMCwgezB4YTEsMHgwZiwweDcwLDB4MDMsMHhmYywweDA0LDB4YWIsMHgwNCwweDM3LDB4NDIsMHgyZCwweGQwLDB4MDIsMHg3YywweDAwLDB4ZmMgfX0sCi0gezE2LCAweGUxZDAsIDAsIHsweDAwLDB4M2YsMHg4MCwweDBmLDB4YzAsMHgwMywweGIwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMywweDc4IH19LAotIHsxNiwgMHhlMWUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE5LDB4MDAsMHhkYiwweDAwLDB4M2MsMHhjMCB9fSwKLSB7MTYsIDB4ZTFmMCwgMCwgezB4MmUsMHg5NCwweDAxLDB4NmMsMHgxMSwweGNiLDB4MDAsMHhiOCwweGMwLDB4MGMsMHhiMCwweDAzLDB4NmMsMHgwMCwweGViLDB4MDEgfX0sCi0gezE2LCAweGUyMDAsIDAsIHsweDMyLDB4MTAsMHgwNywweDkyLDB4MDMsMHhhOCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MGMsMHgwNywweGEyLDB4MDMsMHhhZCwweDAwIH19LAotIHsxNiwgMHhlMjEwLCAwLCB7MHhkOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTIyMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDgsMHhiZiwweDAwLDB4MmYsMHhjMCwweDg4LDB4ODAsMHgwMiwweDNjLDB4MDgsMHhlZiwweDAzLDB4MjIgfX0sCi0gezE2LCAweGUyMzAsIDAsIHsweDAwLDB4MGQsMHhmNSwweDAwLDB4M2MsMHgwMCwweDhiLDB4ODIsMHgyMiwweDYwLDB4MDMsMHg5YywweDAyLDB4MmMsMHgxMCwweGI5IH19LAotIHsxNiwgMHhlMjQwLCAwLCB7MHhiMCwweDIyLDB4ZjAsMHgwYiwweDkwLDB4MDIsMHgyMCwweDAwLDB4YmIsMHgwMCwweDIyLDB4ZTIsMHgwZCwweGIwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ZTI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0MCwweDAwLDB4YjMsMHgwMiwweDJjLDB4YzAgfX0sCi0gezE2LCAweGUyNjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDZjLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMCwweDA5LDB4MzQsMHgwNCwweGVjLDB4MDAsMHhhOCwweDAwIH19LAotIHsxNiwgMHhlMjcwLCAwLCB7MHgyMiwweGYwLDB4MGIsMHgwMCwweDAyLDB4ODgsMHgwMCwweGIzLDB4MDAsMHgyOCwweGUwLDB4MGIsMHgxNCwweDAyLDB4YTAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI4MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyOTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4YjcsMHg4MCwweDJkLDB4ZTgsMHgwOCwweDc4LDB4MDIsMHgwZSwweGM4LDB4YTcsMHg5MCwweDIxIH19LAotIHsxNiwgMHhlMmEwLCAwLCB7MHhhOCwweDE5LDB4MzgsMHg1MiwweDllLDB4YzEsMHg4NywweDgwLDB4MjEsMHhlMiwweDBiLDB4ZDksMHg4MiwweDllLDB4MDAsMHhiNiB9fSwKLSB7MTYsIDB4ZTJiMCwgMCwgezB4YTAsMHgyZCwweDIwLDB4MGIsMHg2OCwweDAyLDB4MWUsMHgwMCwweGI0LDB4YzEsMHgyMSwweDIwLDB4MDksMHg0OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGUyYzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MGMsMHg4MCwweGIzLDB4MTAsMHgzZSwweGUwIH19LAotIHsxNiwgMHhlMmQwLCAwLCB7MHgwZSwweDNhLDB4MDcsMHg0ZSwweDAwLDB4Y2IsMHg5MCwweDNhLDB4NjEsMHgwZCwweDM4LDB4MDMsMHhjZSwweGQxLDB4ZTEsMHg5OCB9fSwKLSB7MTYsIDB4ZTJlMCwgMCwgezB4MzAsMHhhNCwweDhmLDB4MTAsMHgwMywweDg4LDB4MDAsMHhiYSwweGExLDB4M2MsMHg4NCwweDA3LDB4MDAsMHgwMywweDgyLDB4ZDQgfX0sCi0gezE2LCAweGUyZjAsIDAsIHsweGQxLDB4MDAsMHg3MiwweDgwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzAwLCAwLCB7MHg0MCwweDE1LDB4YmMsMHgwNCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMiwweDIzLDB4ZWMsMHhiMCwweGZmLDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4ZTMxMCwgMCwgezB4MDQsMHgwNiwweGI0LDB4MjMsMHg3YywweDEwLDB4YmYsMHgwMCwweDNlLDB4ODQsMHgwZiwweGIwLDB4MDMsMHg3YywweDQwLDB4ZmYgfX0sCi0gezE2LCAweGUzMjAsIDAsIHsweDAwLDB4MzMsMHg0MCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZSwweDAwLDB4YmYsMHg0MCwweDBmLDB4YzgsMHgwMywweGQwIH19LAotIHsxNiwgMHhlMzMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGU0LDB4MDAsMHhjYiwweDMzLDB4M2UsMHhjOCB9fSwKLSB7MTYsIDB4ZTM0MCwgMCwgezB4NGMsMHhiMCwweDAzLDB4YWMsMHg5MCwweGRiLDB4YTAsMHgzNiwweGMwLDB4MGUsMHhiYSwweDQzLDB4NmMsMHgwMCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGUzNTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDAwLDB4MGYsMHgyOCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweDE4LDB4NDMsMHg2MCwweDAwIH19LAotIHsxNiwgMHhlMzYwLCAwLCB7MHhmYSwweDAwLDB4M2UsMHg0MCwweDRmLDB4MDgsMHgwYiwweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MTAsMHgwNywweDA4LDB4MmMsMHhjYSwweDA4LDB4MjAsMHgwMiwweDFjLDB4MjAsMHg4NywweDI4LDB4M2YgfX0sCi0gezE2LCAweGUzODAsIDAsIHsweDgwLDB4OGEsMHhmMCwweDAyLDB4MWQsMHg0MCwweDg3LDB4MDQsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweGI2IH19LAotIHsxNiwgMHhlMzkwLCAwLCB7MHgwMCwweDJkLDB4ODAsMHgwYiwweDYwLDB4MDMsMHgxYywweDAwLDB4YjUsMHgwMCwweDJkLDB4ODAsMHgwYiwweDcwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZTNhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODcsMHhhMCwweDJkLDB4ZTQgfX0sCi0gezE2LCAweGUzYjAsIDAsIHsweDBhLDB4NTgsMHgwMiwweDFlLDB4MDEsMHg4MywweDkwLDB4MjEsMHg3MCwweDBiLDB4NzksMHgwMiwweDllLDB4MDEsMHg4NSwweGMwIH19LAotIHsxNiwgMHhlM2MwLCAwLCB7MHgyZCwweGUwLDB4NGIsMHg1OCwweDEyLDB4MWEsMHgwMCwweGI2LDB4ODAsMHgyZCwweDIwLDB4MGIsMHg0OCwweDAyLDB4NTIsMHgwMCB9fSwKLSB7MTYsIDB4ZTNkMCwgMCwgezB4YjQsMHg4MCwweDJkLDB4MjAsMHgwYiwweDQ4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzZTAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHg4OCwweDM2LDB4MDIsMHgwYywweDAyLDB4ODMsMHgwMCwweDZjIH19LAotIHsxNiwgMHhlM2YwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgwYSwweGFjLDB4MDAsMHg5YiwweGUwLDB4NmMsMHhjOCwweDBiLDB4MzIsMHgwMiwweDBjLDB4MDEsMHhiMyB9fSwKLSB7MTYsIDB4ZTQwMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgxMCwweGIzLDB4NDAsMHgyYywweGMwLDB4MGIsMHgzYywweDgyLDB4MTIgfX0sCi0gezE2LCAweGU0MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMiwweGNhLDB4MDAsMHgzZSwweDgwIH19LAotIHsxNiwgMHhlNDIwLCAwLCB7MHgwZSwweGU0LDB4OGIsMHgyOCwweDAwLDB4Y2EsMHgwMCwweDMzLDB4OTUsMHgwZiwweGEwLDB4MDcsMHhhOCwweDAyLDB4Y2UsMHg0MCB9fSwKLSB7MTYsIDB4ZTQzMCwgMCwgezB4M2YsMHhiMCwweDBmLDB4ZTQsMHg4MiwweDI4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgyMywweDY4LDB4MDAgfX0sCi0gezE2LCAweGU0NDAsIDAsIHsweGZhLDB4NDAsMHgzZSwweDgxLDB4NGYsMHhhNCwweGUzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHg4MCwweGYwLDB4MDAsMHgzYywweDAwLDB4MmYsMHgwMCwweDAyLDB4NjAsMHgwMCwweGU4LDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4ZTQ2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDEsMHgyMCwweDAwLDB4ZTgsMHgwNCwweDVlLDB4MDQsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZmMgfX0sCi0gezE2LCAweGU0NzAsIDAsIHsweDAxLDB4M2YsMHgxMCwweDBmLDB4YzQsMHgwMywweGIwLDB4MDAsMHhmYywweDA5LDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGQyIH19LAotIHsxNiwgMHhlNDgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhhOSwweDIwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4ZTQ5MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4NDQsMHgwNCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwNCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGU0YTAsIDAsIHsweDMyLDB4NDAsMHg4ZiwweDkwLDB4MGIsMHhlNCwweDA4LDB4ZjksMHgwMCwweDNlLDB4NDQsMHgwZSwweDk4LDB4MDMsMHhlNiwweDAwIH19LAotIHsxNiwgMHhlNGIwLCAwLCB7MHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDE4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGU0ZDAsIDAsIHsweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGQ5LDB4MDQsMHgyMiwweDQwLDB4MGIsMHgxYywweDBiLDB4NjQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlNGUwLCAwLCB7MHg5NCwweDJjLDB4NTAsMHgwOCwweDljLDB4MDIsMHhlNCwweDE0LDB4YjksMHg5MCwweDBlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZTRmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAyLDB4ODksMHgwMCwweDI2LDB4NDAgfX0sCi0gezE2LCAweGU1MDAsIDAsIHsweDRhLDB4OTAsMHgwMiwweDY0LDB4MDAsMHg5OSwweDA0LDB4MmUsMHg0MCwweDA4LDB4OTgsMHg4MiwweGU0LDB4MDAsMHg4OSwweDAwIH19LAotIHsxNiwgMHhlNTEwLCAwLCB7MHg2YSwweDQwLDB4MGEsMHg5MiwweDgyLDB4ZTQsMHgwMCwweGJkLDB4MDEsMHgyZiwweDUwLDB4MTIsMHhkNiwweDAyLDB4ZjQsMHg0MCB9fSwKLSB7MTYsIDB4ZTUyMCwgMCwgezB4YmQsMHgwMCwweDBmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1MzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDgsMHgwOCwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMiwweDJjIH19LAotIHsxNiwgMHhlNTQwLCAwLCB7MHg0OCwweGE4LDB4MTIsMHgwNiwweGM0LDB4OTAsMHg5MSwweDIwLDB4MjgsMHg1MCwweDBiLDB4OTAsMHgwMiwweDQ1LDB4MDAsMHhiNSB9fSwKLSB7MTYsIDB4ZTU1MCwgMCwgezB4NDAsMHg2ZCwweDQwLDB4MDgsMHg1MCwweDEyLDB4ZDQsMHgwNCwweGI1LDB4MDIsMHgyZCwweDQwLDB4MGIsMHg1MCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGU1NjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGM4LDB4MDAsMHgzNiwweDE0IH19LAotIHsxNiwgMHhlNTcwLCAwLCB7MHgwYSwweDg1LDB4MDMsMHg0MSwweDQwLDB4ZDgsMHg1MCwweDJlLDB4MTQsMHgwYywweDg1LDB4MDMsMHhjMSwweDQwLDB4YzgsMHg1MCB9fSwKLSB7MTYsIDB4ZTU4MCwgMCwgezB4YmEsMHgwMCwweDBlLDB4ODAsMHgyMywweGUwLDB4MDAsMHg3OCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDQgfX0sCi0gezE2LCAweGU1OTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWEwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHg0MCwweGQ5LDB4MTAsMHgzZSwweDQ0LDB4MDcsMHhmMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4ZTViMCwgMCwgezB4NDQsMHhhZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDM3LDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGU1YzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHhlNWQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4ZDQsMHhmZCwweGEyLDB4M2EsMHg3MCB9fSwKLSB7MTYsIDB4ZTVlMCwgMCwgezB4OGMsMHg5ZSwweDAzLDB4MjYsMHg4MCwweGM5LDB4YTAsMHgzMiwweDY4LDB4MGMsMHhkYiwweDQzLDB4MjcsMHg4MCwweDlkLDB4YTIgfX0sCi0gezE2LCAweGU1ZjAsIDAsIHsweGI3LDB4NDAsMHgwZiwweDUwLDB4MDMsMHg2NSwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzEsMHgwNywweGQwLDB4MDMsMHhmNSwweDA0IH19LAotIHsxNiwgMHhlNjAwLCAwLCB7MHhmZCwweDQwLDB4MmYsMHhjMCwweDBjLDB4ZDAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTYxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4ODgsMHhiOCwweDUwLDB4MjIsMHgzOCwweDA4LDB4OGUsMHgwMCwweGEyLDB4YTAsMHg4OCwweGU4LDB4MjIgfX0sCi0gezE2LCAweGU2MjAsIDAsIHsweDM4LDB4NDgsMHg4OCwweDAzLDB4NjIsMHgxMCwweGE4LDB4ZTgsMHgzYywweDAwLDB4MGIsMHg4MCwweDAzLDB4NjIsMHg4MCwweGI4IH19LAotIHsxNiwgMHhlNjMwLCAwLCB7MHgwMSwweDJlLDB4ODAsMHgwYiwweDgwLDB4MjEsMHhhMiwweDAwLDB4YjAsMHg4NCwweDJlLDB4MmEsMHgyOCwweDhhLDB4ODIsMHhjZSB9fSwKLSB7MTYsIDB4ZTY0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4YjEsMHgwMCwweDI4LDB4NTggfX0sCi0gezE2LCAweGU2NTAsIDAsIHsweDgwLDB4MTMsMHg0MCwweDA1LDB4MDAsMHg4MSwweDQwLDB4MjAsMHg1MiwweDI4LDB4MTYsMHgwMiwweDg1LDB4ODAsMHg5YiwweGMyIH19LAotIHsxNiwgMHhlNjYwLCAwLCB7MHg2NCwweDQxLDB4OGIsMHg5OCwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDksMHgyYywweDQwLDB4MWIsMHgxMCwweDIwLDB4YzQsMHgwMCB9fSwKLSB7MTYsIDB4ZTY3MCwgMCwgezB4YjEsMHgwMCwweDJjLDB4NDAsMHg0OCwweDEwLDB4MDIsMHhjMiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2ODAsIDAsIHsweDE4LDB4MTUsMHhhNSwweDg0LDB4YjksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4MDEsMHgwMCwweDIwIH19LAotIHsxNiwgMHhlNjkwLCAwLCB7MHg1MCwweDA4LDB4OTAsMHg0MiwweDY0LDB4MDAsMHhhOSwweDEwLDB4YWUsMHg1OCwweDAzLDB4OTgsMHgwMiwweDY0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZTZhMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQ2LDB4YTQsMHgxMCwweGI5LDB4MDAsMHgyZSwweDQxLDB4MDgsMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweGU2YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTcsMHgwMCwweGY5LDB4MDAsMHgyYSwweDQwIH19LAotIHsxNiwgMHhlNmMwLCAwLCB7MHgyYywweDk0LDB4MGIsMHgyNCwweDAyLDB4YzksMHgwMCwweGIyLDB4NDQsMHgwYywweDkwLDB4MDMsMHgyNCwweDA0LDB4ZDksMHg4MCB9fSwKLSB7MTYsIDB4ZTZkMCwgMCwgezB4YjYsMHg0MSwweDhmLDB4MTgsMHgwMywweDI0LDB4MDAsMHhmOSwweDYwLDB4M2UsMHg0MCwweDBmLDB4OTYsMHgwMywweGU0LDB4MDAgfX0sCi0gezE2LCAweGU2ZTAsIDAsIHsweGY5LDB4ODAsMHgzZSwweDQyLDB4OGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmYwLCAwLCB7MHgyOCwweDAxLDB4YTYsMHgwMCwweGYxLDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxYywweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZTcwMCwgMCwgezB4NDAsMHg4ZiwweDkwLDB4MjMsMHhjNCwweDEwLDB4ZjksMHgwMCwweGJlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGU3MTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDA3LDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhlNzIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhmOCwweDAwLDB4YmUsMHgwMCB9fSwKLSB7MTYsIDB4ZTczMCwgMCwgezB4MGUsMHg4NCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHgwMCwweDgzLDB4MjAsMHgwMCwweGY4LDB4MDAgfX0sCi0gezE2LCAweGU3NDAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDM2LDB4MTAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDA4IH19LAotIHsxNiwgMHhlNzUwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjIsMHg4MCwweDQ4LDB4YTAsMHgwMywweDY4LDB4MDAsMHhhYSwweDAwLDB4MmEgfX0sCi0gezE2LCAweGU3NzAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAzLDB4NjgsMHgwMCwweDgyLDB4MDAsMHgyZiwweDgwLDB4MDgsMHhlNiwweDAyLDB4MjgsMHgwNCwweGJlIH19LAotIHsxNiwgMHhlNzgwLCAwLCB7MHg0MCwweDIzLDB4ODAsMHgwYiwweGU4LDB4MDIsMHhlYSwweDAwLDB4YmUsMHgwMSwweDIyLDB4ODAsMHgwYiwweGUwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4ZTc5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAxLDB4OTMsMHgwMSwweDIwLDB4YzEgfX0sCi0gezE2LCAweGU3YTAsIDAsIHsweDBhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwLDB4MjAsMHhjMCwweDg4LDB4MzgsMHg0MiwweDBjLDB4MDAsMHhhMywweDAwIH19LAotIHsxNiwgMHhlN2IwLCAwLCB7MHgyNCwweGMwLDB4MGEsMHgzZSwweDQyLDB4OGMsMHgwMCwweGIyLDB4NGMsMHgyNCwweGUwLDB4NGIsMHgzOCwweDAyLDB4YzQsMHg0MSB9fSwKLSB7MTYsIDB4ZTdjMCwgMCwgezB4YjMsMHgwMCwweDIyLDB4YzAsMHgwYiwweDEwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3ZDAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjcsMHgwMCwweDIwLDB4YzksMHg0OCwweDcwLDB4MDIsMHhkYywweDQwLDB4YTcsMHgxNCwweDJjIH19LAotIHsxNiwgMHhlN2UwLCAwLCB7MHhjOCwweDI4LDB4MzAsMHg4MiwweDVjLDB4YzEsMHg4NSwweDAwLDB4MmQsMHhlMCwweDJhLDB4ZjAsMHgxMiwweDFjLDB4ODAsMHhiNyB9fSwKLSB7MTYsIDB4ZTdmMCwgMCwgezB4YTAsMHgyMSwweDgyLDB4MGIsMHg3MCwweDgyLDB4ZDQsMHgxMSwweGI2LDB4ODAsMHgyMSwweDQwLDB4NGIsMHg1MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweGU4MDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHg4MCwweGQ1LDB4ODAsMHgyOSwweGVhIH19LAotIHsxNiwgMHhlODEwLCAwLCB7MHg0ZSwweDNhLDB4MDcsMHgwZSwweDgwLDB4ZTMsMHhiMCwweDMxLDB4ZmMsMHgwYywweDQ4LDB4MDMsMHgwZSwweDQxLDB4ZTcsMHg4MCB9fSwKLSB7MTYsIDB4ZTgyMCwgMCwgezB4M2QsMHhlMCwweDBlLDB4NzgsMHgwMywweDllLDB4ODAsMHhmNCwweGM0LDB4MzUsMHhlMCwweDBmLDB4NzgsMHgyNywweGRlLDB4MDAgfX0sCi0gezE2LCAweGU4MzAsIDAsIHsweGY1LDB4ODAsMHhiMSwweGUwLDB4MGYsMHg1OCwweDAzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweDMxLDB4MDQsMHgzYSwweGM0LDB4MGYsMHhiNSwweDkzLDB4NmQsMHgwOCwweGZiLDB4NDAsMHgzYSB9fSwKLSB7MTYsIDB4ZTg1MCwgMCwgezB4YzgsMHg2MywweDgwLDB4MjMsMHhlYywweDk4LDB4ZTksMHgwMCwweDNlLDB4YzAsMHgwZCwweGIwLDB4NDMsMHhlYywweDAwLDB4ZjMgfX0sCi0gezE2LCAweGU4NjAsIDAsIHsweDgwLDB4M2UsMHg0MCwweDRmLDB4YTAsMHgwMywweGVjLDB4MDAsMHhmOCwweDY4LDB4M2UsMHg0MCwweDhmLDB4OTgsMHgwMywweGMyIH19LAotIHsxNiwgMHhlODcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4NjAsMHhlYiwweDkwLDB4M2UsMHhlNCB9fSwKLSB7MTYsIDB4ZTg4MCwgMCwgezB4MGYsMHhiOCwweDAwLDB4M2YsMHg0MCwweGNiLDB4ODAsMHg3ZiwweGUwLDB4MGUsMHhmYiwweDAzLDB4MmUsMHg0MCwweGNiLDB4ODAgfX0sCi0gezE2LCAweGU4OTAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweDc5LDB4NDMsMHgyZSwweDYwLDB4Y2EsMHg4MSwweDMzLDB4NjQsMHg4ZiwweGQ5LDB4MDMsMHhmZSwweDAwIH19LAotIHsxNiwgMHhlOGEwLCAwLCB7MHhmZiwweDgxLDB4MzMsMHhlMCwweDBmLDB4ZDksMHg4YiwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThiMCwgMCwgezB4YTgsMHgwMSwweDljLDB4MDAsMHg4NywweDgxLDB4MTksMHhlNCwweDBiLDB4ZmEsMHgxMywweDVlLDB4ODAsMHg4NywweGIyLDB4MmQgfX0sCi0gezE2LCAweGU4YzAsIDAsIHsweGVjLDB4MGQsMHg3OSwweDAxLDB4OWUsMHgwMCwweGQ1LDB4OTAsMHgyZCwweGY4LDB4MGIsMHg3OCwweDAzLDB4N2UsMHgwOCwweGFiIH19LAotIHsxNiwgMHhlOGQwLCAwLCB7MHg5MSwweDI5LDB4ODUsMHgwYiwweDUxLDB4MDIsMHhkYywweDQ4LDB4YjYsMHg0MCwweDIxLDB4NDAsMHgwYiwweDUwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4ZThlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4YywweDE0LDB4YjUsMHgyMCwweDZkLDB4YzggfX0sCi0gezE2LCAweGU4ZjAsIDAsIHsweDBiLDB4NzIsMHgwMiwweDVjLDB4ODAsMHg4NywweDIwLDB4NjksMHhjMCwweDg4LDB4NTMsMHgwMiwweGNjLDB4ODEsMHg5NywweDUwIH19LAotIHsxNiwgMHhlOTAwLCAwLCB7MHgyZCwweGM4LDB4MGIsMHhmNywweDBhLDB4ZGMsMHhjMCwweDg0LDB4MDEsMHgyMSwweDQ0LDB4MWIsMHg3MCwweDIyLDB4ZGMsMHgwMCB9fSwKLSB7MTYsIDB4ZTkxMCwgMCwgezB4YjUsMHgwMCwweDIxLDB4YzQsMHgwYiwweDUwLDB4ODYsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5MjAsIDAsIHsweDIwLDB4MTQsMHhjZiwweDMwLDB4OTEsMHgwMCwweDJjLDB4YzAsMHgwYiwweDM0LDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjIH19LAotIHsxNiwgMHhlOTMwLCAwLCB7MHhmMiwweDBiLDB4MTAsMHgyMiwweDBjLDB4MDAsMHg5MSwweDAwLDB4MmMsMHhjOCwweDBiLDB4MTgsMHgwYSwweGNkLDB4MDEsMHhhMyB9fSwKLSB7MTYsIDB4ZTk0MCwgMCwgezB4MDAsMHgyOCwweDYwLDB4MGIsMHgyMSwweDAyLDB4Y2UsMHgyMCwweGI4LDB4NDAsMHhhMCwweDU0LDB4MGIsMHgxOCwweDAyLDB4MDggfX0sCi0gezE2LCAweGU5NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDExLDB4YmQsMHgwMCwweGY5LDB4MDAsMHgyZiwweGMwIH19LAotIHsxNiwgMHhlOTYwLCAwLCB7MHgwZiwweGY0LDB4MDIsMHg3YywweDEyLDB4Y2YsMHgwMywweDNmLDB4YzIsMHgwZSwweGIwLDB4MDMsMHhmYywweDA0LDB4OWIsMHgwMiB9fSwKLSB7MTYsIDB4ZTk3MCwgMCwgezB4MmUsMHhmMiwweDBmLDB4YTQsMHgwYiwweGRjLDB4MDAsMHhjZSwweDAwLDB4YjAsMHhjOCwweDhmLDB4YTQsMHgwMywweGVmLDB4MDAgfX0sCi0gezE2LCAweGU5ODAsIDAsIHsweGY4LDB4ODAsMHgzMiwweGY1LDB4MWYsMHhkZCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHg0MCwweGU5LDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMSwweDAzLDB4Y2MsMHgwMCwweGYzLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZTlhMCwgMCwgezB4YzAsMHgwZCwweGI0LDB4MDksMHhlYywweDE4LDB4ZjksMHgxMCwweDNlLDB4MTAsMHg0ZiwweGIxLDB4MGEsMHg2YywweDgwLDB4ZjkgfX0sCi0gezE2LCAweGU5YjAsIDAsIHsweDg5LDB4MzYsMHg4MiwweDBiLDB4YTYsMHgwMywweGVjLDB4NTAsMHhmOSwweDUwLDB4M2UsMHhjMCwweDFmLDB4OTAsMHgwMywweDYwIH19LAotIHsxNiwgMHhlOWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZCwweGEwLDB4M2QsMHhjMCB9fSwKLSB7MTYsIDB4ZTlkMCwgMCwgezB4MGMsMHg3MCwweDgzLDB4MmMsMHgwMCwweGVmLDB4MDIsMHgzNSwweGMwLDB4MGQsMHhlMiwweDAzLDB4ZmMsMHgwNCwweGZmLDB4MDIgfX0sCi0gezE2LCAweGU5ZTAsIDAsIHsweDJkLDB4ZTAsMHg4ZSwweGYwLDB4MDMsMHgzYywweDEwLDB4ZGMsMHgwMCwweDNmLDB4ODAsMHgwYywweGQ4LDB4MDMsMHhmYywweDAwIH19LAotIHsxNiwgMHhlOWYwLCAwLCB7MHhkZSwweDE4LDB4MzMsMHhmMCwweDRmLDB4ZDAsMHgwMywweGMwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWEwMCwgMCwgezB4ODEsMHgwMCwweDZjLDB4MDAsMHhiOSwweDAwLDB4MmUsMHhjMCwweDRjLDB4YjAsMHgwMywweDZjLDB4MDAsMHg4YiwweDAyLDB4MzYgfX0sCi0gezE2LCAweGVhMTAsIDAsIHsweGMwLDB4MGQsMHhhYywweDEyLDB4ZWMsMHgwMCwweDc5LDB4MDAsMHgyZSwweDMwLDB4MGQsMHgzZCwweDQyLDB4YWMsMHgwMCwweDg5IH19LAotIHsxNiwgMHhlYTIwLCAwLCB7MHg4OCwweDFhLDB4MTAsMHgwZCwweDg2LDB4MDIsMHhlZSwweDA0LDB4YmIsMHg0MCwweDIyLDB4ZTAsMHgwYiwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZWEzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAxLDB4YjksMHgwMCwweDJlLDB4YzAgfX0sCi0gezE2LCAweGVhNDAsIDAsIHsweDA4LDB4YjAsMHg0MiwweGFjLDB4MDAsMHgwYiwweDA1LDB4MjYsMHhjMCwweDA5LDB4OTQsMHgyMCwweGVjLDB4MDAsMHhiOSwweDgwIH19LAotIHsxNiwgMHhlYTUwLCAwLCB7MHg2ZSwweGM0LDB4ODgsMHhiMCwweDgyLDB4MmMsMHgwMCwweDliLDB4ODIsMHgyZSwweDQyLDB4MDgsMHg4MSwweDAyLDB4ZTQsMHg4MCB9fSwKLSB7MTYsIDB4ZWE2MCwgMCwgezB4YjgsMHgwMCwweDIyLDB4YzEsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhNzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4YjEsMHgyNSwweDJjLDB4Y2EsMHgwOCwweDM0LDB4NDYsMHhjYywweDA4LDB4ODMsMHgwMCwweDI0IH19LAotIHsxNiwgMHhlYTgwLCAwLCB7MHhjMiwweDBiLDB4MDIsMHg1MiwweGNjLDB4ODEsMHg4MywweDAwLDB4MmMsMHgwMCwweDE5LDB4YjIsMHg0MiwweGFjLDB4ODAsMHg4MSB9fSwKLSB7MTYsIDB4ZWE5MCwgMCwgezB4MDgsMHgyOCwweDgwLDB4MDksMHgwMCwweDAyLDB4YzQsMHg0MCwweGIxLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGVhYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NmMsMHgwMCwweGI5LDB4MDAsMHgzZiwweGQwIH19LAotIHsxNiwgMHhlYWIwLCAwLCB7MHgwOCwweGY2LDB4MDcsMHhiYywweGMyLDB4YWYsMHgzMCwweDc1LDB4ZGMsMHgwZCwweDE2LDB4MDIsMHhmYywweGUwLDB4YjksMHg1MCB9fSwKLSB7MTYsIDB4ZWFjMCwgMCwgezB4M2UsMHhjYywweDBjLDB4YjAsMHgyMywweDJjLDB4MTAsMHhkOSwweDAwLDB4M2UsMHgwMCwweDBjLDB4OTAsMHgwMywweGVjLDB4MDAgfX0sCi0gezE2LCAweGVhZDAsIDAsIHsweGRlLDB4MDEsMHgzMiwweGMwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWUwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZkLDB4MTAsMHgzZiwweGNhLDB4MmUsMHhmNiwweDAzLDB4NmQsMHg5NCwweDlmLDB4MzAsMHgzYSB9fSwKLSB7MTYsIDB4ZWFmMCwgMCwgezB4YzksMHgwYywweDgzLDB4OTMsMHhmYywweDgwLDB4ZmYsMHgxMSwweDdlLDB4MTksMHgwYiwweGIxLDB4MDMsMHhmYywweDQwLDB4ZmQgfX0sCi0gezE2LCAweGViMDAsIDAsIHsweDA4LDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwMywweGZjLDB4ODAsMHg3NywweDAwLDB4YmYsMHhjMCwweDBmLDB4NTAsMHgwMywweGU4IH19LAotIHsxNiwgMHhlYjEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4MDAsMHhmNCwweDk0LDB4MzcsMHhjOCB9fSwKLSB7MTYsIDB4ZWIyMCwgMCwgezB4MGQsMHg2OSwweDYzLDB4N2MsMHgxMCwweGZmLDB4NjIsMHgzNywweGMwLDB4MGQsMHhiNCwweDAzLDB4N2MsMHg2MCwweGQ0LDB4ODAgfX0sCi0gezE2LCAweGViMzAsIDAsIHsweDNmLDB4NDAsMHgwZiwweDQ4LDB4MjMsMHgzMiwweDAwLDB4Y2UsMHgwMCwweGJmLDB4NDAsMHg4ZiwweGQxLDB4MDMsMHgzMCwweGUwIH19LAotIHsxNiwgMHhlYjQwLCAwLCB7MHhmZiwweDMwLDB4M2IsMHg2MCwweDBmLDB4ZDgsMHgwMywweGIwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI1MCwgMCwgezB4ODAsMHgxMCwweGVkLDB4MjAsMHhiOCwweDI0LDB4MjMsMHhmNCwweDQ5LDB4YTIsMHgwMiwweDNmLDB4NDAsMHg4ZiwweDUxLDB4MjMgfX0sCi0gezE2LCAweGViNjAsIDAsIHsweGRhLDB4MDgsMHhmNiwweDEyLDB4M2QsMHg4MCwweDliLDB4ODAsMHgyZSwweDQ5LDB4NGIsMHg4MCwweDAzLDB4NDAsMHgwMCwweGQ5IH19LAotIHsxNiwgMHhlYjcwLCAwLCB7MHgwMSwweDIyLDB4NzQsMHgwYiwweGQ1LDB4MDIsMHgyMSwweDAwLDB4YmYsMHg0MiwweDJlLDB4NDksMHgwYiwweDljLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZWI4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZCwweDgwLDB4YjgsMHgyMCwweDI4LDB4YzEgfX0sCi0gezE2LCAweGViOTAsIDAsIHsweDFiLDB4YTAsMHgwMiwweDRjLDB4MDAsMHg5MywweDIwLDB4MmMsMHhkOCwweDBiLDB4MzQsMHgwMiwweGNjLDB4MDAsMHg5MCwweDAxIH19LAotIHsxNiwgMHhlYmEwLCAwLCB7MHgyYywweGM2LDB4MWEsMHhhMCwweDAyLDB4NjgsMHgwOCwweDgzLDB4MDAsMHhhNCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJiMCwgMCwgezB4YjMsMHgxMCwweDI4LDB4NDIsMHgwYiwweDE0LDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViYzAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4YjgsMHg2MCwweDJhLDB4YzAsMHgxYiwweGEwLDB4OGUsMHhhYywweDAxLDB4OWIsMHgwNSwweDI2IH19LAotIHsxNiwgMHhlYmQwLCAwLCB7MHhjMCwweDAzLDB4YjAsMHg0MiwweDZjLDB4MDAsMHg5YiwweDgwLDB4MmUsMHhjMCwweDAzLDB4YTAsMHgwNiwweDY5LDB4MDAsMHg5OSB9fSwKLSB7MTYsIDB4ZWJlMCwgMCwgezB4ODAsMHhhYSwweGMwLDB4MGIsMHg5MCwweDAyLDB4NjMsMHgwMCwweDNiLDB4MDAsMHgyZSwweDU4LDB4NGIsMHg5MCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGViZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZWMsMHgwNCwweGY4LDB4ODAsMHhiYSwweGMwIH19LAotIHsxNiwgMHhlYzAwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHg2YywweDEwLDB4ZGIsMHgwMywweDM2LDB4YzAsMHg4ZiwweGIwLDB4MDMsMHhlYywweDA4LDB4ZDgsMHg4MCB9fSwKLSB7MTYsIDB4ZWMxMCwgMCwgezB4N2UsMHhlMCwweDA2LDB4ODgsMHgwMywweDQxLDB4MDgsMHhjYiwweGEwLDB4M2UsMHg2NCwweDBmLDB4OTAsMHgwYiwweDJhLDB4MDAgfX0sCi0gezE2LCAweGVjMjAsIDAsIHsweDdiLDB4MDAsMHgzYSwweDAxLDB4MGYsMHg5MCwweDAzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZjLDB4ODQsMHgzMiwweGMwLDB4MGMsMHhmOSwweDAzLDB4NWMsMHgxMCwweGVmLDB4MDAsMHgzYiB9fSwKLSB7MTYsIDB4ZWM0MCwgMCwgezB4YzAsMHgwYywweDcwLDB4MDMsMHg5YywweDAwLDB4ZWMsMHgwMSwweDNmLDB4ZTQsMHg0ZiwweGQxLDB4MDMsMHhmMSwweDAwLDB4ZjMgfX0sCi0gezE2LCAweGVjNTAsIDAsIHsweDA1LDB4MzMsMHg2MCwweDBmLDB4ZDAsMHgwMywweGJjLDB4MDQsMHhmZiwweDAwLDB4M2YsMHgyMSwweDBmLDB4ZDAsMHgwMywweGY4IH19LAotIHsxNiwgMHhlYzYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhjOCwweDQwLDB4M2EsMHhjNiB9fSwKLSB7MTYsIDB4ZWM3MCwgMCwgezB4MGQsMHhiNCwweDAzLDB4NmMsMHgwMCwweGYzLDB4MDAsMHgzNCwweGMwLDB4MGUsMHhiMCwweDAzLDB4NmMsMHgwMCwweGU5LDB4MTAgfX0sCi0gezE2LCAweGVjODAsIDAsIHsweDNhLDB4YzAsMHgwZiwweDg0LDB4MDMsMHgyYywweDYwLDB4Y2IsMHgwMCwweDMyLDB4NjAsMHgwYywweDUwLDB4MDMsMHg2MSwweDAwIH19LAotIHsxNiwgMHhlYzkwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHg5MCwweDBlLDB4OTAsMHhhMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDIsMHg4OCwweDAxLDB4MDEsMHhmMCwweDIwLDB4YjAsMHgwMSwweDNlLDB4MDAsMHgzZiwweDAwLDB4MzMgfX0sCi0gezE2LCAweGVjYjAsIDAsIHsweGMwLDB4MGIsMHhmMCwweDMyLDB4M2MsMHgwOCwweDg5LDB4ODAsMHgyMiwweGMwLDB4MDEsMHgxNSwweDEyLDB4YWMsMHgwMCwweDhiIH19LAotIHsxNiwgMHhlY2MwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHg0OCwweGRiLDB4MDIsMHgyZiwweDQwLDB4OGYsMHgwMCwweDJlLDB4MDEsMHgwOCwweGQ0LDB4ODAsMHgzMiB9fSwKLSB7MTYsIDB4ZWNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4MDgsMHgwMCwweDA4LDB4ZjAgfX0sCi0gezE2LCAweGVjZTAsIDAsIHsweDA4LDB4MDAsMHgxMiwweDRjLDB4MDAsMHgzMywweDAxLDB4MjQsMHhjMCwweDRhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhhMCwweDIwIH19LAotIHsxNiwgMHhlY2YwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4NDYsMHgwNCwweDgzLDB4MDQsMHgyMCwweGMwLDB4MjksMHgxOCwweDAyLDB4MDQsMHg0MCB9fSwKLSB7MTYsIDB4ZWQwMCwgMCwgezB4YjMsMHgwMCwweDJjLDB4NDAsMHgwYSwweDFjLDB4NDIsMHhiMSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkMTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAxLDB4OGQsMHg4MCwweDIxLDB4ZTAsMHgxOCwweGM4LDB4MDIsMHgxZSwweDAwLDB4YjMsMHhhMCwweDIxIH19LAotIHsxNiwgMHhlZDIwLCAwLCB7MHhlMCwweDFiLDB4MzgsMHgwMiwweDBlLDB4MDEsMHhhNywweDgwLDB4MjEsMHhlMCwweDA5LDB4ZDgsMHg0MCwweGQ2LDB4NDAsMHg4NyB9fSwKLSB7MTYsIDB4ZWQzMCwgMCwgezB4ODAsMHgwMSwweGUwLDB4MDksMHg1OSwweDAyLDB4MTYsMHgwMCwweDk3LDB4ODQsMHgyZCwweDYwLDB4MDgsMHg1OCwweDQwLDB4MDAgfX0sCi0gezE2LCAweGVkNDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MmMsMHg0MCwweGMwLDB4MDAsMHgzOCwweGM0IH19LAotIHsxNiwgMHhlZDUwLCAwLCB7MHgwYywweDMwLDB4MjcsMHg0YywweDIwLDB4ZjMsMHgwMSwweDM0LDB4YzEsMHgwZSwweDNhLDB4MDMsMHg0YywweGM0LDB4ZTAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ2MCwgMCwgezB4MTgsMHhjOCwweDBmLDB4MzQsMHgwMywweDQ0LDB4NDAsMHhjMywweDAwLDB4MzAsMHhjMCwweDBkLDB4OTAsMHgwMywweDJlLDB4MDAgfX0sCi0gezE2LCAweGVkNzAsIDAsIHsweGYzLDB4MDAsMHgzZSwweDQwLDB4MGUsMHgxMCwweDAxLDB4OWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGY5LDB4MDAsMHgwZSwweGQ0LDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgyMCwweGZiLDB4MjAsMHgzZiB9fSwKLSB7MTYsIDB4ZWQ5MCwgMCwgezB4YzQsMHgwZiwweGYxLDB4MDMsMHhlYywweDYwLDB4ZGIsMHgxMCwweDNmLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhhNCwweDQ2LDB4ZmIgfX0sCi0gezE2LCAweGVkYTAsIDAsIHsweDAwLDB4YmQsMHhjMCwweDBlLDB4ZDAsMHgwYiwweGI0LDB4MDAsMHhlZiwweDQ4LDB4M2YsMHg0MCwweDBmLDB4NTAsMHgwMywweGQwIH19LAotIHsxNiwgMHhlZGIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmOCwweDAwLDB4MzIsMHhkNCB9fSwKLSB7MTYsIDB4ZWRjMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YWQsMHgwMCwweGViLDB4MDgsMHgyMiwweGQyLDB4MGMsMHhiNiwweDAzLDB4NmMsMHgwMCwweGYyLDB4ODAgfX0sCi0gezE2LCAweGVkZDAsIDAsIHsweDM2LDB4YzAsMHgwZSwweGEwLDB4MDMsMHgyOCwweDEwLDB4Y2IsMHgwMCwweGIyLDB4YzAsMHgwZiwweGQ2LDB4MDMsMHgyOCwweDEwIH19LAotIHsxNiwgMHhlZGUwLCAwLCB7MHhmYiwweDIwLDB4M2UsMHg0MCwweDRmLDB4OTksMHgxMywweDJiLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRmMCwgMCwgezB4NDgsMHgxMSwweDlkLDB4MTAsMHhiNCwweDAxLDB4MjEsMHhjMSwweDhiLDB4YzAsMHgwMiwweDFjLDB4YTAsMHhiZiwweDA0LDB4MjcgfX0sCi0gezE2LCAweGVlMDAsIDAsIHsweGM4LDB4MDgsMHg3NSwweDAyLDB4MWMsMHhjMCwweGI2LDB4MDAsMHgyMSwweGMwLDB4MDgsMHhmMCwweDQyLDB4MTgsMHgxMCwweDhmIH19LAotIHsxNiwgMHhlZTEwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwYiwweDU0LDB4YTIsMHgxYywweDAwLDB4YjcsMHgwNCwweDJkLDB4NDEsMHgwYiwweDUyLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZWUyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDgwLDB4YjYsMHg4OCwweGE1LDB4ZTAgfX0sCi0gezE2LCAweGVlMzAsIDAsIHsweDBiLDB4NzgsMHgxMiwweDllLDB4ODEsMHhhNywweDkwLDB4MjUsMHhlNCwweDg4LDB4NzgsMHgwMiwweDFlLDB4ODAsMHhiZiwweDgwIH19LAotIHsxNiwgMHhlZTQwLCAwLCB7MHgyNCwweDYwLDB4MGIsMHg2OCwweDAyLDB4MWUsMHgwMCwweDg3LDB4ODQsMHg2MSwweGUwLDB4MGEsMHgxYSwweDBhLDB4MWEsMHgwMCB9fSwKLSB7MTYsIDB4ZWU1MCwgMCwgezB4YjcsMHhhMCwweDJkLDB4ZTAsMHgwYiwweGRhLDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlNjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YmEsMHhjMCwweGE0LDB4YzAsMHgwYiwweDM0LDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI0IH19LAotIHsxNiwgMHhlZTcwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHgwZSwweDJjLDB4MDAsMHhiMywweDk4LDB4MjAsMHg2MCwweDA5LDB4MzMsMHgwMiwweDJjLDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4ZWU4MCwgMCwgezB4YzgsMHgyMCwweGMwLDB4MGIsMHgxMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGYwLDB4MGIsMHgxMCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGVlOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZlLDB4ODAsMHgzNiwweDgxIH19LAotIHsxNiwgMHhlZWEwLCAwLCB7MHgwYiwweGUwLDB4MDMsMHhhOCwweDAwLDB4ZWEsMHgwMCwweGIyLDB4ODAsMHgwOCwweGEwLDB4MDMsMHg2OCwweDAwLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4ZWViMCwgMCwgezB4MzYsMHhhMCwweDFmLDB4ZTgsMHgxMywweDNiLDB4ODIsMHhjZSwweGUwLDB4MjIsMHg4MCwweDhlLDB4YTAsMHgwMywweDM4LDB4MDAgfX0sCi0gezE2LCAweGVlYzAsIDAsIHsweGJhLDB4MDAsMHgzZiwweGEyLDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MjAsMHgzYSwweDEwLDB4MDcsMHg4MCwweDAzLDB4YzEsMHgwMCwweGY4LDB4MDAsMHgzOCB9fSwKLSB7MTYsIDB4ZWVlMCwgMCwgezB4MDAsMHgyZiwweDgwLDB4MDMsMHhhMCwweDAxLDB4ZjgsMHg0MiwweDNlLDB4MDUsMHgwZSwweDgwLDB4MGIsMHhlMCwweDgwLDB4ZDggfX0sCi0gezE2LCAweGVlZjAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwYiwweGQyIH19LAotIHsxNiwgMHhlZjAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhjOSwweDAwLDB4M2EsMHg1MCB9fSwKLSB7MTYsIDB4ZWYxMCwgMCwgezB4OGYsMHg5MCwweDgzLDB4YTQsMHgwMiwweGQxLDB4MDAsMHhiMiwweDQwLDB4NGMsMHg5MCwweDIzLDB4MjQsMHgwOCwweGM5LDB4MDEgfX0sCi0gezE2LCAweGVmMjAsIDAsIHsweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHgwZiwweDE0LDB4MGEsMHgyNSwweDIwIH19LAotIHsxNiwgMHhlZjMwLCAwLCB7MHhlOSwweDAwLDB4M2UsMHg0MiwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MGEsMHg4OSwweDAwLDB4MjIsMHg3MCwweDBiLDB4OTAsMHgxMiwweDI1LDB4ODAsMHhjOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGVmNTAsIDAsIHsweDQwLDB4MGEsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4MjAsMHgyYywweDQwLDB4MGEsMHg5MCwweDBhLDB4MjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhlZjYwLCAwLCB7MHhjMSwweDMyLDB4NDAsMHgwYiwweDk4LDB4MDIsMHgwNiwweDAwLDB4ODksMHg5MCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MTIsMHhlMCB9fSwKLSB7MTYsIDB4ZWY3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgwNCwweDAwLDB4ODksMHgwMCwweDZhLDB4NDIgfX0sCi0gezE2LCAweGVmODAsIDAsIHsweDBhLDB4MTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4YTIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDI0LDB4MDAsMHgwOSwweDAwIH19LAotIHsxNiwgMHhlZjkwLCAwLCB7MHgyZSwweDQwLDB4NTgsMHgxMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4ODAsMHhhYSwweDYwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwNCB9fSwKLSB7MTYsIDB4ZWZhMCwgMCwgezB4YTksMHgwMCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmYjAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgwMCwweDYwLDB4NDgsMHgwYiwweDEwLDB4MDIsMHgwNCwweDgxLDB4ODEsMHgyMCwweDYwIH19LAotIHsxNiwgMHhlZmMwLCAwLCB7MHg0OCwweDBhLDB4MTIsMHgwMiwweDQ0LDB4ODgsMHg4MSwweDAwLDB4MGUsMHg1OSwweDBhLDB4MTQsMHgwMiwweDA1LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ZWZkMCwgMCwgezB4YzAsMHgyOCwweDUwLDB4NDksMHgzMCwweDAyLDB4OGMsMHg4NCwweDAxLDB4NjAsMHgyYywweDUwLDB4MGIsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGVmZTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGMwLDB4NTQsMHgyYSwweDAwIH19LAotIHsxNiwgMHhlZmYwLCAwLCB7MHgwZSwweDg1LDB4MDMsMHhhMCwweDAwLDB4YzgsMHg1MCwweDMyLDB4MTUsMHgxZSwweDA1LDB4MjIsMHgyMSwweDQyLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4ZjAwMCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweDAwLDB4MDQsMHhjOCwweDAwLDB4M2EsMHgwMCwweDRmLDB4ODUsMHgwMywweGExLDB4NDAgfX0sCi0gezE2LCAweGYwMTAsIDAsIHsweDY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGZkLDB4MDMsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0OCwweGU5LDB4MTAsMHgzZSB9fSwKLSB7MTYsIDB4ZjAzMCwgMCwgezB4NDUsMHgwZiwweDkxLDB4MTMsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNmLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAyLDB4ZmQgfX0sCi0gezE2LCAweGYwNDAsIDAsIHsweDQwLDB4MzMsMHg1MCwweDBmLDB4ZDQsMHgyMywweDc0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4NTQsMHgwMywweGU2IH19LAotIHsxNiwgMHhmMDUwLCAwLCB7MHgwMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU0LDB4MDAsMHhmOSwweDAxLDB4MzMsMHg2YSB9fSwKLSB7MTYsIDB4ZjA2MCwgMCwgezB4MDksMHg5MCwweDAzLDB4YjYsMHgzNCwweGY5LDB4YzgsMHgzMiwweDY0LDB4MGMsMHg5YSwweDAzLDB4ZTYsMHhhMCwweGRkLDB4MDAgfX0sCi0gezE2LCAweGYwNzAsIDAsIHsweDNjLDB4NzAsMHgwZiwweDkwLDB4MDMsMHhhNSwweDAwLDB4ODksMHg4MCwweDMzLDB4MzIsMHgwZiwweGQ4LDB4MTMsMHgzYywweDAwIH19LAotIHsxNiwgMHhmMDgwLCAwLCB7MHhmZCwweDAwLDB4NzAsMHg1MCwweDBmLDB4ZDAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA5MCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHhiOCwweGE4LDB4MjIsMHgxMCwweDA4LDB4ODgsMHgwMiwweDIxLDB4MDAsMHhiOCwweGMwLDB4MjAgfX0sCi0gezE2LCAweGYwYTAsIDAsIHsweDMwLDB4MGQsMHg4ZSwweDg3LDB4ODMsMHg4OCwweDg4LDB4MDAsMHgyZSwweDM0LDB4MGIsMHg4YSwweDgyLDB4MjIsMHg4MCwweGRjIH19LAotIHsxNiwgMHhmMGIwLCAwLCB7MHhlMCwweDIyLDB4MzgsMHgwYiwweDgwLDB4MDIsMHgyMCwweDAwLDB4ZjgsMHhhOCwweDJhLDB4MjgsMHgwYiwweDgwLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ZjBjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDIwLDB4YjEsMHgwMCwweDIwLDB4NDAgfX0sCi0gezE2LCAweGYwZDAsIDAsIHsweDBhLDB4OTIsMHg5MiwweDg0LDB4MTEsMHhiMSwweDI0LDB4NjgsMHg1OCwweDA5LDB4MTEsMHgwMiwweGM0LDB4MjAsMHg5MSwweDAxIH19LAotIHsxNiwgMHhmMGUwLCAwLCB7MHgyYywweDQ4LDB4MWIsMHg1MCwweDAyLDB4NzQsMHg4NCwweDk1LDB4NDgsMHhhYywweDQ4LDB4MGIsMHg5NCwweDAyLDB4MDQsMHgwNCB9fSwKLSB7MTYsIDB4ZjBmMCwgMCwgezB4YjEsMHgwMiwweDI0LDB4NDgsMHgwYiwweDEwLDB4MDIsMHgwMiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxMDAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4YjEsMHgyMCwweDIyLDB4NDAsMHgwYSwweDkwLDB4MDYsMHgyYywweDAxLDB4YjksMHgwMCwweDJhIH19LAotIHsxNiwgMHhmMTEwLCAwLCB7MHg0MCwweDA5LDB4OTAsMHgwMiwweGE0LDB4MDAsMHg5YiwweDA4LDB4MmUsMHg0OCwweDBiLDB4MTIsMHgxYSwweDc0LDB4MDAsMHg5NSB9fSwKLSB7MTYsIDB4ZjEyMCwgMCwgezB4NDUsMHgyZSwweDYwLDB4MDMsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYgfX0sCi0gezE2LCAweGYxMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzMCwweDQwIH19LAotIHsxNiwgMHhmMTQwLCAwLCB7MHgwZSwweDE2LDB4MDMsMHhhNCwweDAwLDB4YjksMHgwNCwweDMyLDB4NDAsMHgwZCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZDksMHg0MCB9fSwKLSB7MTYsIDB4ZjE1MCwgMCwgezB4MmUsMHg0MCwweDFmLDB4OTgsMHgwMywweGU1LDB4ODAsMHhkOSwweDAwLDB4YWUsMHg2MCwweDA3LDB4MTAsMHgwYiwweDI2LDB4MDEgfX0sCi0gezE2LCAweGYxNjAsIDAsIHsweGI5LDB4MDAsMHhhNiwweDQwLDB4MGYsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHhiZSwweDQwLDB4YWMsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiNCB9fSwKLSB7MTYsIDB4ZjE4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDgwLDB4ZjkgfX0sCi0gezE2LCAweGYxOTAsIDAsIHsweDAwLDB4MzIsMHgwMCwweDBmLDB4OTAsMHg4MywweGU2LDB4ODUsMHhlMSwweDAwLDB4MzIsMHg0NCwweDBmLDB4MTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhmMWEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4ZjFiMCwgMCwgezB4MGYsMHg4MCwweDEzLDB4ZTAsMHg5NCwweGUwLDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGYxYzAsIDAsIHsweDNlLDB4MDAsMHgwZCwweDgwLDB4NDMsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDQwIH19LAotIHsxNiwgMHhmMWQwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgwMCwweDRjLDB4ODAsMHgyMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjMsMHg4MCwweDBiLDB4YTAsMHgwMiwweGZiLDB4MDQsMHg2YSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGYxZjAsIDAsIHsweDgwLDB4MGEsMHhhMCwweDAzLDB4NjgsMHgwYSwweDhlLDB4ODgsMHgzYSwweDgwLDB4MDgsMHhhMCwweDAyLDB4MDgsMHgwMCwweGJhIH19LAotIHsxNiwgMHhmMjAwLCAwLCB7MHgwMCwweGI3LDB4MjIsMHgwMywweGU0LDB4MDIsMHhmYSwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGU4LDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4ZjIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDYwLDB4NDEgfX0sCi0gezE2LCAweGYyMjAsIDAsIHsweDAzLDB4MzAsMHgwMiwweGNjLDB4NDEsMHhhMywweDAwLDB4MDQsMHhjMCwweDBiLDB4MzAsMHgwMiwweDJjLDB4MDAsMHhhMywweDgwIH19LAotIHsxNiwgMHhmMjMwLCAwLCB7MHgyYywweGMwLDB4MDksMHgzOCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHhhMCwweGMwLDB4MGIsMHgzNCwweDAyLDB4Y2MsMHg4MCB9fSwKLSB7MTYsIDB4ZjI0MCwgMCwgezB4YTEsMHgwMCwweDIwLDB4YzAsMHgwOCwweDM4LDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyNTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4YjcsMHgwMCwweDYxLDB4MDAsMHgwYiwweDcxLDB4MDIsMHhkYywweDAwLDB4YTMsMHgwMCwweDI1IH19LAotIHsxNiwgMHhmMjYwLCAwLCB7MHhjOCwweDE5LDB4MzgsMHgwMiwweDVjLDB4ODAsMHhhNywweDAwLDB4MGYsMHhlOCwweDA5LDB4NjQsMHgyMiwweDEwLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4ZjI3MCwgMCwgezB4MDAsMHgyNSwweGM4LDB4MGIsMHg2MCwweDAyLDB4ZjIsMHgwMCwweDg1LDB4MDEsMHgyMywweGU4LDB4MDgsMHg3MCwweDgyLDB4ZTggfX0sCi0gezE2LCAweGYyODAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgyMCwweGZmLDB4ODAsMHhhMSwweGEwIH19LAotIHsxNiwgMHhmMjkwLCAwLCB7MHgwZiwweDdhLDB4NDIsMHhkYSwweDAwLDB4ZTcsMHhlOCwweDM1LDB4ZjAsMHgyZiwweDdiLDB4NjIsMHgxZSwweDgyLDB4ZTYsMHg4MCB9fSwKLSB7MTYsIDB4ZjJhMCwgMCwgezB4MWQsMHhlMCwweDBkLDB4ZjgsMHgwYiwweDFlLDB4MDAsMHhmNywweDgwLDB4MzEsMHhmMCwweDBmLDB4NzgsMHgwMywweGRlLDB4MGMgfX0sCi0gezE2LCAweGYyYjAsIDAsIHsweGVmLDB4ODAsMHgzMSwweGY4LDB4MmMsMHg3OCwweDAzLDB4ZWEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmMwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHg4NCwweGZiLDB4NjgsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZTgsMHgwMCwweGZiLDB4MDAsMHhmYSB9fSwKLSB7MTYsIDB4ZjJkMCwgMCwgezB4ZDgsMHgwZSwweGI1LDB4MDMsMHhlZCwweDAwLDB4ZGIsMHgwMCwweDNhLDB4YzAsMHg4ZSwweGEwLDB4MDMsMHhlMCwweDAwLDB4ZmIgfX0sCi0gezE2LCAweGYyZTAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBiLDB4YjAsMHg0MywweGM0LDB4MDQsMHhlZiwweDAyLDB4YmYsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhmMmYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4NDIsMHhjNywweDM4LDB4MzMsMHg2NCB9fSwKLSB7MTYsIDB4ZjMwMCwgMCwgezB4MGUsMHg3YywweDAzLDB4NWUsMHgwMCwweGRmLDB4YTAsMHgzNywweGYwLDB4MGQsMHhmOCwweDAzLDB4ZmYsMHgyMCwweGNmLDB4ODEgfX0sCi0gezE2LCAweGYzMTAsIDAsIHsweDMzLDB4ZTIsMHgwYywweGQ4LDB4MDMsMHhiZSwweDAwLDB4N2YsMHhjMCwweDMzLDB4ZTAsMHgwYywweGY5LDB4MDMsMHg3ZSwweDAwIH19LAotIHsxNiwgMHhmMzIwLCAwLCB7MHhmZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjMzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4NywweGEwLDB4MjEsMHgxNCwweDA4LDB4NzEsMHgwMiwweDE0LDB4MTAsMHhkNywweDIwLDB4MzUgfX0sCi0gezE2LCAweGYzNDAsIDAsIHsweGMwLDB4MGMsMHg3MCwweDAzLDB4YmMsMHgwMCwweDg1LDB4MDgsMHgyYiwweGMwLDB4NGQsMHg0NiwweDAyLDB4ZDEsMHgwMCwweGI3IH19LAotIHsxNiwgMHhmMzUwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHgwOCwweDgwLDB4ZjUsMHgyMCwweDNkLDB4Y2EsMHgwZiwweDU0LDB4MDMsMHhlYSB9fSwKLSB7MTYsIDB4ZjM2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDExLDB4OGYsMHgwMSwweDIwLDB4ODQgfX0sCi0gezE2LCAweGYzNzAsIDAsIHsweDFhLDB4ZjAsMHgwMiwweDE4LDB4MDAsMHhhNywweDM0LDB4NjUsMHhjMCwweDA5LDB4NzEsMHgwMiwweGRjLDB4MDAsMHg4ZSwweDAwIH19LAotIHsxNiwgMHhmMzgwLCAwLCB7MHgyOSwweGMwLDB4MDgsMHg1MCwweDA2LDB4OWMsMHgwMCwweGJmLDB4ODgsMHgyZCwweGM0LDB4MGEsMHg2MCwweDI2LDB4NTgsMHgyNCB9fSwKLSB7MTYsIDB4ZjM5MCwgMCwgezB4OTcsMHgwMCwweDZkLDB4YzAsMHg5YiwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzYTAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4OGIsMHg0MCwweDIwLDB4MDAsMHgxOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4YmIsMHgwMiwweDI0IH19LAotIHsxNiwgMHhmM2IwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHgyMCwweGNjLDB4MDAsMHg4MSwweGMwLDB4MjgsMHhjMCwweDBiLDB4MDQsMHg4MiwweGUwLDB4MTAsMHhiYiB9fSwKLSB7MTYsIDB4ZjNjMCwgMCwgezB4YTAsMHgyYywweGUwLDB4MGEsMHgyMCwweDA2LDB4MDAsMHgwMCwweGIzLDB4MDAsMHgyOCwweGMwLDB4MGEsMHgxMCwweDAyLDB4ODggfX0sCi0gezE2LCAweGYzZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGNmLDB4MTAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhmM2UwLCAwLCB7MHgwZSwweGYwLDB4MGIsMHgyNCwweDAwLDB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwZCwweGYwLDB4MDMsMHhmYywweDA2LDB4YzEsMHg1MCB9fSwKLSB7MTYsIDB4ZjNmMCwgMCwgezB4M2IsMHhjMCwweDBjLDB4YjQsMHgwMywweGFjLDB4MDAsMHhmOCwweGMwLDB4YmUsMHhjOCwweDJlLDB4YjAsMHgwMywweDZlLDB4MDEgfX0sCi0gezE2LCAweGY0MDAsIDAsIHsweGZiLDB4MDAsMHgyZCwweGMwLDB4NGIsMHg5MCwweDAyLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwNCwweGZiLDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4YWQsMHgwMCwweDliLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZjQyMCwgMCwgezB4YzAsMHgwZiwweDMwLDB4MDMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDJlLDB4YzAsMHgwNSwweGI0LDB4MDMsMHhlZCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGY0MzAsIDAsIHsweDQwLDB4MzIsMHhjMCwweDA5LDB4MDAsMHgwMywweGUwLDB4OTEsMHhlMywweDAwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgxMSwweGUwIH19LAotIHsxNiwgMHhmNDQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGVjLDB4MDAsMHhlZiwweDAwLDB4MzMsMHgyMCB9fSwKLSB7MTYsIDB4ZjQ1MCwgMCwgezB4NGYsMHhmMCwweDAzLDB4YjQsMHgwMCwweGVmLDB4MDMsMHgzYSwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwMCwweGRjLDB4MDAgfX0sCi0gezE2LCAweGY0NjAsIDAsIHsweDMxLDB4YzAsMHg4ZCwweGY4LDB4MDMsMHhmZSwweDA0LDB4Y2YsMHgwMCwweDMyLDB4YzgsMHgwYywweGYwLDB4MGIsMHgxYywweDAwIH19LAotIHsxNiwgMHhmNDcwLCAwLCB7MHhjZiwweDkzLDB4MzMsMHhjMCwweDhjLDB4NDAsMHgwMiwweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4YTIsMHgwNCwweDBiLDB4MzAsMHgwMiwweDBlLDB4MDAsMHhhYiwweDAwLDB4MmEgfX0sCi0gezE2LCAweGY0OTAsIDAsIHsweGMwLDB4MDksMHhiMCwweDAzLDB4NmMsMHgwOCwweGE4LDB4YzAsMHgzNiwweGMwLDB4MDgsMHhiYywweDAyLDB4ZWYsMHgwMiwweGFiIH19LAotIHsxNiwgMHhmNGEwLCAwLCB7MHhkMCwweDIwLDB4ZTAsMHgwOCwweGI4LDB4MjIsMHgyNiwweDEwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgyMCwweDljLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZjRiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YmIsMHgwMCwweDI2LDB4MDAgfX0sCi0gezE2LCAweGY0YzAsIDAsIHsweDBhLDB4YjAsMHgwMiwweGEyLDB4MDgsMHhhYiwweDAwLDB4NmEsMHhjMCwweDBiLDB4YjAsMHgwYSwweDBjLDB4MDAsMHg4YiwweDgwIH19LAotIHsxNiwgMHhmNGQwLCAwLCB7MHgyMiwweGMwLDB4MDksMHhiMSwweDAyLDB4ZWMsMHg0MCwweDg4LDB4MDgsMHgyMiwweGMwLDB4MDgsMHhiOCwweDAyLDB4MjYsMHgwMCB9fSwKLSB7MTYsIDB4ZjRlMCwgMCwgezB4OGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDk4LDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0ZjAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgwMCwweDI0LDB4MDAsMHgwYiwweGIwLDB4MDIsMHgwMCwweDAxLDB4ODMsMHgwMCwweDIwIH19LAotIHsxNiwgMHhmNTAwLCAwLCB7MHhjMCwweDA5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHgwMCwweDA0LDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwNiwweDRjLDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4ZjUxMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHg0MSwweDgzLDB4MDAsMHhhMiwweGMwLDB4MDgsMHgxMCwweDBhLDB4ODIgfX0sCi0gezE2LCAweGY1MjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGVmLDB4MDgsMHgyNiwweDAwIH19LAotIHsxNiwgMHhmNTMwLCAwLCB7MHgwZSwweGYwLDB4MDIsMHhhMCwweDAwLDB4ZTcsMHgwMCwweDNiLDB4YzAsMHgwZiwweGY1LDB4NDMsMHgzYywweDAyLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4ZjU0MCwgMCwgezB4MzIsMHhjMCwweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhjYiwweDAwLDB4YjIsMHhjMCwweDBjLDB4YTAsMHgwMywweDI4LDB4MTAgfX0sCi0gezE2LCAweGY1NTAsIDAsIHsweGNiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHg4MCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTYwLCAwLCB7MHhhMCwweDBkLDB4ZmMsMHgwMCwweGZiLDB4MDAsMHgzYiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDIsMHgzZiB9fSwKLSB7MTYsIDB4ZjU3MCwgMCwgezB4YzAsMHgwZCwweGYyLDB4MDMsMHhiYywweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZjcgfX0sCi0gezE2LCAweGY1ODAsIDAsIHsweDAwLDB4MzMsMHhjMCwweDBmLDB4NjAsMHgwMywweGYwLDB4ODgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDRmLDB4ZDAsMHgwMywweDY4IH19LAotIHsxNiwgMHhmNTkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4NDAsMHhmYywweDMxLDB4M2IsMHgwOCB9fSwKLSB7MTYsIDB4ZjVhMCwgMCwgezB4NGYsMHhmOSwweDQzLDB4ZWYsMHgwMCwweGRmLDB4MzAsMHgzMiwweDIxLDB4MGYsMHg5NCwweDA3LDB4N2QsMHg4MCwweGVmLDB4MzggfX0sCi0gezE2LCAweGY1YjAsIDAsIHsweDMyLDB4MDksMHgxYywweDM4LDB4MDMsMHhmMiwweDIxLDB4ZmQsMHgwMCwweDMzLDB4YzQsMHgwYywweGYwLDB4MDIsMHhmYywweDAwIH19LAotIHsxNiwgMHhmNWMwLCAwLCB7MHhkZiwweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVkMCwgMCwgezB4ODAsMHgxMCwweGVjLDB4ODgsMHg4YiwweDYwLDB4MjIsMHhlNSwweDBlLDB4YjIsMHgyMiwweGVjLDB4ODAsMHhhZiwweDExLDB4MmEgfX0sCi0gezE2LCAweGY1ZTAsIDAsIHsweDIwLDB4MGIsMHhiMSwweDEzLDB4YWMsMHg0OCwweDhiLDB4NDUsMHgzNCwweGNjLDB4NDgsMHhiMCwweDAyLDB4NmIsMHgwMCwweGJhIH19LAotIHsxNiwgMHhmNWYwLCAwLCB7MHg4MiwweDM2LDB4MDAsMHgwOCwweDg4LDB4MjIsMHhjMCwweDA0LDB4ODgsMHgwMCwweGEyLDB4MDgsMHg4YiwweDg4LDB4NjIsMHgyMCB9fSwKLSB7MTYsIDB4ZjYwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YTEsMHgzMCwweDI4LDB4MDAgfX0sCi0gezE2LCAweGY2MTAsIDAsIHsweDBiLDB4MzIsMHgwMiwweGNjLDB4MDAsMHhhMywweDIyLDB4MmMsMHgwMCwweDhiLDB4MTIsMHgwNiwweGM4LDB4ODAsMHhhMywweDAwIH19LAotIHsxNiwgMHhmNjIwLCAwLCB7MHgyMCwweDAyLDB4Y2EsMHgzMCwweDA2LDB4YzQsMHgwMSwweGIxLDB4MDAsMHg2OCwweDgwLDB4MDksMHgyMCwweDAyLDB4ODgsMHgwMCB9fSwKLSB7MTYsIDB4ZjYzMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzIsMHgwYiwweDAwLDB4MGEsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2NDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4OGIsMHg2MSwweDYyLDB4YzAsMHgwYiwweGIyLDB4MDIsMHhlOCwweDAwLDB4YWIsMHgwMiwweDJhIH19LAotIHsxNiwgMHhmNjUwLCAwLCB7MHg2MSwweDFiLDB4OTAsMHgwMiwweGE4LDB4MDAsMHhhYiwweDAwLDB4MjAsMHhjMCwweDBhLDB4YjAsMHgwMiwweDZjLDB4MDQsMHhiYSB9fSwKLSB7MTYsIDB4ZjY2MCwgMCwgezB4MDAsMHgyZSwweDQwLDB4ODksMHg5MCwweDAyLDB4ZTYsMHgwOCwweDk4LDB4MDAsMHgyMiwweDAwLDB4MGIsMHhiMCwweDAyLDB4YjAgfX0sCi0gezE2LCAweGY2NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWUsMHgwMCwweGY4LDB4MDEsMHgzYSwweDA0IH19LAotIHsxNiwgMHhmNjgwLCAwLCB7MHgwZiwweGFjLDB4MDMsMHhlYywweDkwLDB4ZmIsMHgwMiwweDNlLDB4ZTAsMHgwYiwweDkwLDB4NDIsMHg2NywweDgwLDB4YTgsMHhjNCB9fSwKLSB7MTYsIDB4ZjY5MCwgMCwgezB4MjIsMHg0OCwweDIyLDB4ODYsMHgwMywweGUxLDB4NDAsMHhiOCwweDAyLDB4MmEsMHg0MCwweDI5LDB4OTAsMHgwMywweGVjLDB4MDIgfX0sCi0gezE2LCAweGY2YTAsIDAsIHsweGM5LDB4NDgsMHgzMiwweDQwLDB4MGYsMHhiMCwweDEzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmIwLCAwLCB7MHhlMCwweDAxLDB4YWMsMHg0MCwweGZiLDB4MDAsMHgxZiwweGEyLDB4MGUsMHhmOCwweDgyLDB4ZmMsMHgwOCwweGZmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZjZjMCwgMCwgezB4YzAsMHgwZiwweGZhLDB4NDMsMHg5NiwweDQ0LDB4ZDQsMHg5MSwweDNmLDB4NDAsMHgwZCwweGMwLDB4MDMsMHhmYSwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGY2ZDAsIDAsIHsweDA4LDB4MjUsMHg4MCwweDBlLDB4ZTAsMHgwMywweGQwLDB4MDAsMHhlYSwweDAwLDB4M2YsMHg4MCwweDBmLDB4YzAsMHgwMywweDc4IH19LAotIHsxNiwgMHhmNmUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhlMSwweDIwLDB4M2EsMHg1MCB9fSwKLSB7MTYsIDB4ZjZmMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MmMsMHgwMCwweGViLDB4MDgsMHg3NiwweDA1LDB4MGUsMHhiMCwweDI3LDB4ZTAsMHgxMCwweGVhLDB4NDAgfX0sCi0gezE2LCAweGY3MDAsIDAsIHsweGIyLDB4YzAsMHgwYywweGE0LDB4NDMsMHgyNSwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDgsMHgwZiwweDgwLDB4NDMsMHhlOCwweDAwIH19LAotIHsxNiwgMHhmNzEwLCAwLCB7MHhkMSwweDA4LDB4ZWUsMHg0MCwweDBmLDB4MDAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjcyMCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhkMCwweDBiLDB4OTAsMHg4MiwweDJjLDB4MDAsMHg4NywweDQwLDB4MjIgfX0sCi0gezE2LCAweGY3MzAsIDAsIHsweDYwLDB4OGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweGQ4LDB4NTAsMHgyMiwweGQwLDB4MGMsMHhhMCwweDAzLDB4NmMsMHgwMCwweGIzIH19LAotIHsxNiwgMHhmNzQwLCAwLCB7MHhjOCwweDNlLDB4ZDAsMHgwYiwweGI4LDB4MDIsMHgyNSwweDA4LDB4OGEsMHgyMCwweDJhLDB4ODAsMHg4YiwweGI4LDB4ODIsMHhmMiB9fSwKLSB7MTYsIDB4Zjc1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2NCwweDAwLDB4YTAsMHhjMCwweDI0LDB4YzAgfX0sCi0gezE2LCAweGY3NjAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDJjLDB4MDAsMHg4MywweDAzLDB4MjAsMHgwMCwweDEwLDB4MzAsMHgyMiwweGNjLDB4MDAsMHg4MywweDAwIH19LAotIHsxNiwgMHhmNzcwLCAwLCB7MHg2MCwweDA4LDB4MGEsMHgzMCwweDgyLDB4NGMsMHgwMCwweGIxLDB4YzAsMHgwMCwweGQxLDB4MGIsMHgzOCwweDAyLDB4ODQsMHg4MCB9fSwKLSB7MTYsIDB4Zjc4MCwgMCwgezB4ODIsMHgwMSwweDIwLDB4ODAsMHgwMywweDM4LDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3OTAsIDAsIHsweDIwLDB4MDEsMHgxNiwweDQwLDB4ODQsMHg5OCwweDI1LDB4ZTAsMHgwYiwweDdhLDB4MDIsMHhmYSwweDQ4LDB4YTMsMHgyMCwweDYxIH19LAotIHsxNiwgMHhmN2EwLCAwLCB7MHgyNCwweDBiLDB4NzksMHgwMCwweGNlLDB4YzAsMHg5MywweGE0LDB4MjEsMHhhNiwweDBiLDB4NzgsMHgxMiwweGRlLDB4ODAsMHhiNiB9fSwKLSB7MTYsIDB4ZjdiMCwgMCwgezB4ODAsMHgyZCwweDI0LDB4MGIsMHg0YiwweDAyLDB4MWEsMHg0MCwweDg1LDB4ODEsMHgyMSwweDYwLDB4MGIsMHg0OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGY3YzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGUyLDB4YTAsMHhiNCwweGZlIH19LAotIHsxNiwgMHhmN2QwLCAwLCB7MHg0YiwweGI4LDB4MGIsMHgwZSwweDAwLDB4YTMsMHhiMCwweDI0LDB4YTgsMHgwZSwweDFiLDB4MDIsMHhjZSwweGMxLDB4YzMsMHhjMCB9fSwKLSB7MTYsIDB4ZjdlMCwgMCwgezB4MzAsMHg2OCwweDJlLDB4M2EsMHg0NywweDRlLDB4ODAsMHhmMSwweDgwLDB4MzAsMHg4MCwweDBmLDB4MjIsMHg4MywweDgwLDB4MDAgfX0sCi0gezE2LCAweGY3ZjAsIDAsIHsweGMyLDB4MTAsMHgzOCwweDgwLDB4NGYsMHgwMCwweDA3LDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODAwLCAwLCB7MHg0MCwweDBkLDB4YmMsMHgxMCwweGZlLDB4MDQsMHgzYiwweGMxLDB4MDcsMHhmMCwweDAzLDB4MWMsMHhjOCwweGRmLDB4MmEsMHgwYiB9fSwKLSB7MTYsIDB4ZjgxMCwgMCwgezB4YzQsMHg4ZiwweGQxLDB4NDMsMHhmOCwweDAyLDB4N2YsMHgwMCwweDNmLDB4YzAsMHgwYywweGYxLDB4MGYsMHgzYywweDAwLDB4ZjIgfX0sCi0gezE2LCAweGY4MjAsIDAsIHsweDExLDB4M2YsMHg0MSwweDFmLDB4NTIsMHgwMywweGJjLDB4MGUsMHhlZCwweDE0LDB4M2YsMHg0MCwweDBmLDB4ZjgsMHgwMywweGQwIH19LAotIHsxNiwgMHhmODMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhlOSwweDAwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4Zjg0MCwgMCwgezB4MGUsMHhiZSwweDRiLDB4NmYsMHgwMCwweGNiLDB4ODIsMHg3YSwweGMwLDB4MmMsMHhiMCwweDAzLDB4MmMsMHgwMCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGY4NTAsIDAsIHsweDMyLDB4MDAsMHgyYywweDEwLDB4MDMsMHgyYywweDA4LDB4YzAsMHgwMCwweDI2LDB4NDAsMHg2YywweDkwLDB4MTMsMHgyNCwweDEyIH19LAotIHsxNiwgMHhmODYwLCAwLCB7MHhjOCwweDAxLDB4M2UsMHgwMCwweDBmLDB4YjgsMHgwYiwweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg3MCwgMCwgezB4NDgsMHgxMSwweDk0LDB4MDAsMHg4ZCwweDAwLDB4MjEsMHg4MCwweDBiLDB4NzAsMHg4MiwweDNjLDB4MjAsMHg4MywweDMyLDB4MjkgfX0sCi0gezE2LCAweGY4ODAsIDAsIHsweGMwLDB4MDgsMHhmMCwweDIwLDB4MTQsMHgwMCwweDgwLDB4MDAsMHgyMywweDAwLDB4MDgsMHg1MCwweDA2LDB4OWMsMHgwNCwweGQ3IH19LAotIHsxNiwgMHhmODkwLCAwLCB7MHgwMiwweDI4LDB4ODAsMHgwOCwweDYwLDB4MDIsMHgwOCwweDEwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZjhhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YTcsMHg4MCwweDIxLDB4ZTAgfX0sCi0gezE2LCAweGY4YjAsIDAsIHsweDBiLDB4NWMsMHgxMiwweDFlLDB4MDQsMHg4NywweDgyLDB4MGQsMHhhMCwweDA5LDB4NzgsMHgxNiwweDAyLDB4MDAsMHhiNCwweDgwIH19LAotIHsxNiwgMHhmOGMwLCAwLCB7MHgyNSwweGUwLDB4MGIsMHg3OCwweDAyLDB4OWUsMHgwMCwweDg0LDB4ODAsMHgyMSwweDIyLDB4MDgsMHgwOCwweDAyLDB4MTIsMHgwMSB9fSwKLSB7MTYsIDB4ZjhkMCwgMCwgezB4ODQsMHhjMCwweDJkLDB4MjAsMHgwYiwweDA4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4ZTAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHg0MiwweGEwLDB4ZDgsMHgwYiwweDM0LDB4ODIsMHgwYywweDAwLDB4YTMsMHgwMiwweDIwIH19LAotIHsxNiwgMHhmOGYwLCAwLCB7MHhlMCwweDA4LDB4YjAsMHgwMiwweDBjLDB4ODgsMHhiMywweDIxLDB4MjQsMHhkOCwweDBiLDB4M2UsMHgwMiwweDhjLDB4MDAsMHg5MyB9fSwKLSB7MTYsIDB4ZjkwMCwgMCwgezB4MDgsMHgyOCwweGMwLDB4MDgsMHgzOCwweDAyLDB4MmMsMHgwNSwweDhiLDB4MDEsMHgyYywweGUwLDB4MGIsMHgzMCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGY5MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGVlLDB4MDAsMHgzMywweDkwIH19LAotIHsxNiwgMHhmOTIwLCAwLCB7MHgwZiwweGEwLDB4MGIsMHg2OCwweDAwLDB4Y2EsMHgwMSwweDdmLDB4YTgsMHgwYywweGFhLDB4MDMsMHgzYSwweDEyLDB4ZmUsMHhlMiB9fSwKLSB7MTYsIDB4ZjkzMCwgMCwgezB4MzcsMHhiMCwweDBmLDB4ZWUsMHgwMiwweDE4LDB4MDAsMHhjYSwweDQwLDB4MzYsMHhhMCwweDA4LDB4YTAsMHg4YiwweDI4LDB4MDAgfX0sCi0gezE2LCAweGY5NDAsIDAsIHsweGNhLDB4ODEsMHgyZSwweGEwLDB4MGYsMHhlMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDgsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4YTIsMHgwMiwweGQ4LDB4NDAsMHgzZSB9fSwKLSB7MTYsIDB4Zjk2MCwgMCwgezB4MDgsMHgwZiwweDgwLDB4MTMsMHhlMCwweDQwLDB4NDgsMHg0MCwweGI4LDB4MDQsMHgwOCwweDg0LDB4MDMsMHg2MSwweDAwLDB4ZmMgfX0sCi0gezE2LCAweGY5NzAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDRmLDB4YzAsMHgwMywweGYxLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwNCwweDBmLDB4YzAsMHgwMywweGQyIH19LAotIHsxNiwgMHhmOTgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDAsMHhmOSwweDAwLDB4MzAsMHg1MCB9fSwKLSB7MTYsIDB4Zjk5MCwgMCwgezB4NGMsMHhiOSwweDAzLDB4NmMsMHgxOCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MGUsMHg5YywweDIzLDB4YTQsMHgwMiwweDQxLDB4MDAgfX0sCi0gezE2LCAweGY5YTAsIDAsIHsweGIyLDB4NDQsMHgwZSwweDlhLDB4MDMsMHhhNiwweDgwLDB4YzksMHgwMCwweDNhLDB4NjAsMHgwYSwweDkwLDB4MDMsMHhhNCwweDgwIH19LAotIHsxNiwgMHhmOWIwLCAwLCB7MHhjOSwweDAwLDB4MzQsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjljMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDQwLDB4MjIsMHg3OCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MTAsMHhiOSwweDAwLDB4M2MgfX0sCi0gezE2LCAweGY5ZDAsIDAsIHsweDYyLDB4MTgsMHg5NCwweDgyLDB4YTQsMHgwMCwweDg5LDB4YzgsMHgyMiwweDcwLDB4NDgsMHgxZSwweDAxLDB4NjcsMHg4MCwweGQxIH19LAotIHsxNiwgMHhmOWUwLCAwLCB7MHgwMCwweGJjLDB4NDIsMHgwOCwweDEwLDB4MDIsMHgyNSwweDIwLDB4ODksMHgwMiwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZjlmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjEsMHgyOCwweDIyLDB4NDAgfX0sCi0gezE2LCAweGZhMDAsIDAsIHsweDA4LDB4YjAsMHg4MiwweDY0LDB4MDQsMHgzOSwweDQxLDB4MmUsMHg0OCwweDBhLDB4OTAsMHgwMiwweDA0LDB4MTgsMHhhOSwweDIwIH19LAotIHsxNiwgMHhmYTEwLCAwLCB7MHgyMiwweDQyLDB4NGEsMHg5MCwweDAyLDB4MmMsMHgwNCwweDg5LDB4MDQsMHgyYiwweDQ4LDB4MDIsMHhkMCwweDAyLDB4YjQsMHgwYSB9fSwKLSB7MTYsIDB4ZmEyMCwgMCwgezB4OGQsMHg4MCwweDIzLDB4YzAsMHg0OCwweGQwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhMzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweGEwLDB4NDgsMHgyOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgyNCwweDJhIH19LAotIHsxNiwgMHhmYTQwLCAwLCB7MHg0MCwweDA4LDB4MTIsMHg0MiwweDg1LDB4ODAsMHhhMSwweDIwLDB4YTAsMHg0OCwweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDAsMHg5NSB9fSwKLSB7MTYsIDB4ZmE1MCwgMCwgezB4MmMsMHgyZCwweDVhLDB4MGEsMHg3MiwweDgyLDB4MTQsMHhhMCwweDg1LDB4YTgsMHgyMSwweDRhLDB4MDgsMHg1MiwweDgyLDB4YzIgfX0sCi0gezE2LCAweGZhNjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NDEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhmYTcwLCAwLCB7MHg4YywweDA1LDB4MDMsMHg2MSwweDQwLDB4ZjgsMHg1MSwweDJlLDB4MDAsMHgwYSwweDg1LDB4MDIsMHgyMCwweDAwLDB4ZTgsMHg1MCB9fSwKLSB7MTYsIDB4ZmE4MCwgMCwgezB4MzIsMHgxNCwweDA2LDB4ODUsMHgxNywweGEwLDB4MDAsMHhjOCwweDIwLDB4M2EsMHgwOCwweDBlLDB4ODIsMHgwMywweGEwLDB4ODAgfX0sCi0gezE2LCAweGZhOTAsIDAsIHsweGM4LDB4MjAsMHgzMiwweDA4LDB4MmMsMHhjMiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWEwLCAwLCB7MHg5OCwweDE5LDB4ZjQsMHg0MCwweGZmLDB4MTAsMHgzZiwweDQ0LDB4MGIsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHgzZCB9fSwKLSB7MTYsIDB4ZmFiMCwgMCwgezB4NDAsMHgwZiwweGQxLDB4MDMsMHhmNCwweDU4LDB4OWQsMHgxMCwweDNmLDB4NDQsMHg0ZiwweGQwLDB4MDMsMHhkNSwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGZhYzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDhkLDB4OTAsMHgwMywweGU0LDB4YjgsMHhmOSwweDI4LDB4YmEsMHg2YSwweDBmLDB4OTAsMHgwMywweGU2IH19LAotIHsxNiwgMHhmYWQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGU3LDB4MDAsMHhmZCwweDg4LDB4M2UsMHg2MCB9fSwKLSB7MTYsIDB4ZmFlMCwgMCwgezB4OGYsMHhkMCwweDAzLDB4MjQsMHgwMSwweGRkLDB4ODAsMHg3MywweDQwLDB4MGYsMHhkOCwweDAzLDB4YTYsMHgwNCwweGNkLDB4YTIgfX0sCi0gezE2LCAweGZhZjAsIDAsIHsweDMzLDB4NzgsMHgxYywweGQwLDB4MDMsMHgzNCwweDAxLDB4ZjUsMHg4OCwweDNiLDB4NjgsMHgwYywweGRhLDB4NDcsMHgzNywweDgwIH19LAotIHsxNiwgMHhmYjAwLCAwLCB7MHhjZCwweDg4LDB4MzIsMHg2MiwweDBjLDB4ZGEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmIxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4ODAsMHhiOCwweDgwLDB4MmUsMHgxNCwweDBiLDB4MGEsMHg4MiwweDIyLDB4ODAsMHhiOCwweGY4LDB4YTIgfX0sCi0gezE2LCAweGZiMjAsIDAsIHsweDAwLDB4MGIsMHg4ZiwweGEzLDB4ODMsMHhlMCwweDg4LDB4ZWIsMHgyMiwweGE5LDB4MDgsMHg4OCwweDEyLDB4YTAsMHgwNSwweGI4IH19LAotIHsxNiwgMHhmYjMwLCAwLCB7MHgwMCwweDJhLDB4YWEsMHg4OCwweDgwLDB4MTMsMHg2MiwweDgyLDB4ODgsMHg4MCwweDIyLDB4MjgsMHg4OCwweGE0LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ZmI0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHgwYSwweDJjLDB4NDEgfX0sCi0gezE2LCAweGZiNTAsIDAsIHsweDBiLDB4MTAsMHgwNiwweDA0LDB4MjAsMHhhMSwweDAwLDB4MDAsMHg0MCwweDhiLDB4MTAsMHg0NiwweGM0LDB4MDEsMHg5MSwweDExIH19LAotIHsxNiwgMHhmYjYwLCAwLCB7MHgyNCwweDU4LDB4NjgsMHg5MCwweGMyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHhhOCwweDUwLDB4MDksMHgxNCwweDBhLDB4MDUsMHg5NSB9fSwKLSB7MTYsIDB4ZmI3MCwgMCwgezB4YTEsMHgwOCwweGEwLDB4NDIsMHgyOCwweDExLDB4MGEsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiODAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDE4LDB4YjksMHgyMCwweDJlLDB4NTAsMHgwYiwweDkwLDB4MDYsMHgyNCwweDA5LDB4YjksMHgwMCwweDIyIH19LAotIHsxNiwgMHhmYjkwLCAwLCB7MHg0MCwweDhiLDB4OTEsMHgwMiwweDg0LDB4MDAsMHg5OSwweDY0LDB4MjQsMHg0MCwweDU4LDB4OTAsMHgwMiwweGE0LDB4MjAsMHhiYiB9fSwKLSB7MTYsIDB4ZmJhMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDksMHhiMCwweDAyLDB4MDUsMHgwMSwweGE5LDB4MDAsMHgyMiwweDQwLDB4ODgsMHg5MiwweDAyLDB4MDYgfX0sCi0gezE2LCAweGZiYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHgwMCwweGY5LDB4NDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhmYmMwLCAwLCB7MHg0ZiwweDk4LDB4MGIsMHgyNCwweDgwLDB4ZDksMHgwMCwweDIyLDB4NzIsMHgwYiwweDk4LDB4MDMsMHhlNCwweDg0LDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4ZmJkMCwgMCwgezB4YjYsMHg3MCwweDA4LDB4OTksMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmEsMHg0MCwweDBkLDB4OTQsMHhjMiwweDI1LDB4MDAgfX0sCi0gezE2LCAweGZiZTAsIDAsIHsweGE5LDB4MDAsMHgyMiwweDQwLDB4MGMsMHg5NCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmYwLCAwLCB7MHgyOCwweDAxLDB4YTYsMHg4MCwweGY5LDB4MDgsMHgzZSwweGMwLDB4MGYsMHg5MSwweDQzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZmMwMCwgMCwgezB4NTAsMHgwZiwweDk4LDB4MDMsMHhhNSwweDAwLDB4ZTksMHgwMCwweDNhLDB4NjQsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGZjMTAsIDAsIHsweDAwLDB4M2MsMHg0MCwweDZlLDB4OTAsMHgwMywweGU0LDB4MjAsMHhkOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHg4MiwweGNhIH19LAotIHsxNiwgMHhmYzIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4ZmMzMCwgMCwgezB4NGYsMHg4NCwweDBiLDB4MjAsMHgwMCwweGY4LDB4MDAsMHgzNiwweDAxLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4NDAgfX0sCi0gezE2LCAweGZjNDAsIDAsIHsweDMyLDB4MTAsMHgyZCwweDgwLDB4MDMsMHhlMCwweDU0LDB4YzgsMHgwMCwweDM2LDB4MTAsMHgwZiwweDA0LDB4ODMsMHhlMCwweDUwIH19LAotIHsxNiwgMHhmYzUwLCAwLCB7MHhkOCwweDA0LDB4MTIsMHgwMCwweDBjLDB4MDAsMHgwYiwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDQyLDB4MmUsMHhhMiwweDhiLDB4ZWEsMHgwMiwweDI4LDB4MDgsMHhiZSwweDg5LDB4MzcgfX0sCi0gezE2LCAweGZjNzAsIDAsIHsweDg0LDB4NDgsMHhlMCwweDEyLDB4MjgsMHgwMiwweDhlLDB4YzAsMHgyMywweGIwLDB4NGQsMHg2MCwweDYyLDB4ZjgsMHgwMCwweDg2IH19LAotIHsxNiwgMHhmYzgwLCAwLCB7MHgwMCwweDIzLDB4ODAsMHgwYiwweGUwLDB4MDIsMHhmOCwweDAwLDB4MGUsMHgwMCwweDIyLDB4ODAsMHgwOCwweGU0LDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4ZmM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YTMsMHgwMCwweDJjLDB4ODAgfX0sCi0gezE2LCAweGZjYTAsIDAsIHsweDFiLDB4YjAsMHg5YSwweDRjLDB4MTAsMHg5YiwweDgwLDB4MjQsMHhjMCwweDBhLDB4MzAsMHgwMCwweDBjLDB4MDQsMHg5YiwweDIwIH19LAotIHsxNiwgMHhmY2IwLCAwLCB7MHgyMCwweGQ2LDB4MDgsMHgzMCwweDAyLDB4OGUsMHgwOCwweGEzLDB4MDQsMHgyNCwweGMwLDB4MTksMHgzNCwweDAyLDB4YzcsMHgwNyB9fSwKLSB7MTYsIDB4ZmNjMCwgMCwgezB4YWEsMHhhNCwweGEwLDB4YzAsMHg0OCwweDM0LDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjZDAsIDAsIHsweGEwLDB4MDEsMHgwZSwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHg1YywweDQwLDB4YjMsMHgxNCwweDI1IH19LAotIHsxNiwgMHhmY2UwLCAwLCB7MHhlMCwweDA4LDB4N2EsMHgwMiwweDllLDB4YzAsMHg5MiwweDQwLDB4YTAsMHgwMCwweDQ5LDB4NjAsMHgwMiwweGNlLDB4MDIsMHg4ZSB9fSwKLSB7MTYsIDB4ZmNmMCwgMCwgezB4MDEsMHgyMSwweGMwLDB4OGIsMHg1NCwweDAyLDB4YzQsMHgwOCwweDg2LDB4NDAsMHgyMSwweGM4LDB4ODgsMHgxMCwweDAyLDB4MjggfX0sCi0gezE2LCAweGZkMDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHhjMCwweGU0LDB4ODAsMHgzZCwweGUyIH19LAotIHsxNiwgMHhmZDEwLCAwLCB7MHgwZiwweDU4LDB4MDMsMHg1ZSwweDkwLDB4YjYsMHhhMiwweDM1LDB4ZTAsMHgwZSwweDdjLDB4MjMsMHgxYywweDAwLDB4ZDYsMHg4MCB9fSwKLSB7MTYsIDB4ZmQyMCwgMCwgezB4MzEsMHhlMCwweDg0LDB4NzgsMHgwMywweGRlLDB4MDAsMHhjNywweDgwLDB4MzUsMHhlMCwweDBmLDB4NjgsMHgwMywweGRlLDB4MDAgfX0sCi0gezE2LCAweGZkMzAsIDAsIHsweGUzLDB4ODAsMHgzMywweGU4LDB4MmMsMHg3OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg5MCwweGZhLDB4MDAsMHg3ZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YWMsMHgwMSwweGZiLDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4ZmQ1MCwgMCwgezB4NDEsMHgwZiwweDMwLDB4MGIsMHgyZCwweDA0LDB4ZWIsMHgwMSwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmEgfX0sCi0gezE2LCAweGZkNjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhlOSwweDYwLDB4M2UsMHhlNCwweDBmLDB4OTAsMHgwMywweGMyIH19LAotIHsxNiwgMHhmZDcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MjAsMHhmZiwweDkwLDB4M2UsMHgyMCB9fSwKLSB7MTYsIDB4ZmQ4MCwgMCwgezB4MGMsMHhhOSwweDA3LDB4MmUsMHg0NCwweGM5LDB4OTEsMHgzMCwweGEwLDB4MGMsMHhiOCwweDYzLDB4MmYsMHg0NCwweGNiLDB4YTEgfX0sCi0gezE2LCAweGZkOTAsIDAsIHsweDM2LDB4MjAsMHg4YywweGY4LDB4MDMsMHgzNiwweDAwLDB4Y2YsMHg4MiwweDMzLDB4ZTAsMHgwYywweGY4LDB4MjMsMHgyZSwweDAwIH19LAotIHsxNiwgMHhmZGEwLCAwLCB7MHhjZSwweGMwLDB4M2IsMHhlMCwweDBjLDB4NjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmRiMCwgMCwgezB4YTgsMHgxMSwweDljLDB4ODQsMHhiMywweDU0LDB4MmMsMHhmNCwweDI4LDB4YmEsMHg4YSwweDNlLDB4NDAsMHg4MSwweGEwLDB4MjkgfX0sCi0gezE2LCAweGZkYzAsIDAsIHsweGIwLDB4MGYsMHg3OCwweDQyLDB4YWUsMHgwMCwweDgzLDB4OTAsMHgzMywweGU4LDB4MGQsMHhlMSwweDAwLDB4ODUsMHg0MCwweDgyIH19LAotIHsxNiwgMHhmZGQwLCAwLCB7MHgyNCwweDIzLDB4YzYsMHgwZCwweDcxLDB4MDMsMHg1ZSwweGUwLDB4ODcsMHgwMCwweDJiLDB4YzEsMHgwZCwweDQ0LDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4ZmRlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDA4LDB4MzUsMHgxNCwweDZkLDB4YzAgfX0sCi0gezE2LCAweGZkZjAsIDAsIHsweDg4LDB4NzIsMHgzMiwweDVjLDB4ODAsMHg4NCwweDMwLDB4MmIsMHg4OCwweDBhLDB4NzAsMHg0MiwweDVjLDB4YTgsMHg5MSwweDA4IH19LAotIHsxNiwgMHhmZTAwLCAwLCB7MHgyNSwweGM4LDB4MDksMHg3MCwweDAyLDB4NGMsMHgyMiwweDgzLDB4MGEsMHg2MSwweGMwLDB4MDksMHgyMCwweDAyLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4ZmUxMCwgMCwgezB4ODcsMHgwMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZlMjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDEwLDB4YjMsMHg4NSwweDZjLDB4ZGMsMHgwOCwweDM0LDB4MDIsMHg0ZCwweDIxLDB4ODEsMHgwMCwweDI4IH19LAotIHsxNiwgMHhmZTMwLCAwLCB7MHgwMiwweDRhLDB4MzEsMHgxMiwweGVmLDB4MGMsMHg5MSwweGMyLDB4MjAsMHhmMCwweDA4LDB4MzAsMHg0MiwweDhlLDB4MDAsMHg4MiB9fSwKLSB7MTYsIDB4ZmU0MCwgMCwgezB4NDAsMHgyMCwweGM4LDB4MTksMHgyOCwweDAyLDB4MjIsMHg4MSwweDgzLDB4YzAsMHgyOCwweGQ0LDB4MDksMHgwMCwweDBhLDB4MDggfX0sCi0gezE2LCAweGZlNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGZiLDB4YTAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhmZTYwLCAwLCB7MHg4YywweDA0LDB4MTIsMHg3ZCwweDEwLDB4Y2YsMHgwMiwweDNhLDB4NTAsMHgwOCwweGMwLDB4NDIsMHg3ZCwweDUyLDB4NTgsMHgwMSB9fSwKLSB7MTYsIDB4ZmU3MCwgMCwgezB4MzYsMHgyMiwweDY5LDB4ZDAsMHgxMywweDJhLDB4MDAsMHg4OCwweDgyLDB4MzIsMHhmMCwweDA5LDB4YjgsMHg4MiwweDJmLDB4MDAgfX0sCi0gezE2LCAweGZlODAsIDAsIHsweGM5LDB4YzgsMHgyMywweGMwLDB4MGMsMHg4YSwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGI5LDB4NDAsMHgzYywweDUwLDB4NGYsMHg4MCwweDIzLDB4YWMsMHgxMiwweGZiLDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ZmVhMCwgMCwgezB4YzAsMHg2ZCwweDgwLDB4MTMsMHhhYywweDAwLDB4ZTgsMHgwNCwweGJhLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhlOCwweDAwLDB4ZjMgfX0sCi0gezE2LCAweGZlYjAsIDAsIHsweDA4LDB4M2MsMHg4MCwweDBmLDB4OTAsMHg4MywweGVjLDB4MDQsMHhmOSwweDYwLDB4MmMsMHhjMiwweDBmLDB4ODAsMHg4MywweGUwIH19LAotIHsxNiwgMHhmZWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhlYywweDJjLDB4M2YsMHhmMCB9fSwKLSB7MTYsIDB4ZmVkMCwgMCwgezB4OGMsMHhmYSwweDhiLDB4YmMsMHgwMCwweGZlLDB4MDAsMHgzZiwweDAwLDB4MGYsMHg3OSwweDAzLDB4M2MsMHgwMCwweGNlLDB4MDggfX0sCi0gezE2LCAweGZlZTAsIDAsIHsweDBiLDB4YzIsMHgwYywweGYwLDB4MDMsMHhiYywweDAwLDB4ZmMsMHgwMCwweDMzLDB4NDAsMHg4YywweDdhLDB4MDMsMHgzYSwweDAwIH19LAotIHsxNiwgMHhmZWYwLCAwLCB7MHhjNSwweDAwLDB4MzMsMHhjMCwweDRjLDB4YzgsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmYwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4OCwweGMwLDB4MmUsMHhlMCwweDA4LDB4OTQsMHgwMiwweDJjLDB4MDAsMHhiYiwweDgwLDB4NjYgfX0sCi0gezE2LCAweGZmMTAsIDAsIHsweDMwLDB4MTYsMHhiMCwweDAyLDB4MmMsMHgwMCwweGRhLDB4NGMsMHgyMiwweGYwLDB4MDgsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGViIH19LAotIHsxNiwgMHhmZjIwLCAwLCB7MHhjMCwweDIyLDB4NjgsMHgwMCwweDk0LDB4MDIsMHgyYywweDAyLDB4YTksMHg4MCwweDIyLDB4YzAsMHgwOCwweDBjLDB4MDIsMHhhMCB9fSwKLSB7MTYsIDB4ZmYzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YWIsMHgwNCwweDJlLDB4YzAgfX0sCi0gezE2LCAweGZmNDAsIDAsIHsweDA4LDB4YTQsMHgwNiwweDJjLDB4MDQsMHhhYiwweDEwLDB4MmUsMHg2MCwweDQzLDB4ODAsMHg4MiwweDZjLDB4MDEsMHg4MSwweDgwIH19LAotIHsxNiwgMHhmZjUwLCAwLCB7MHgyOCwweDBhLDB4MDgsMHg5MSwweDAwLDB4ZTAsMHgwMCwweGI4LDB4ODAsMHgwMiwweGUwLDB4MDgsMHg4MCwweDAyLDB4MmQsMHg4MCB9fSwKLSB7MTYsIDB4ZmY2MCwgMCwgezB4ODgsMHhjMCwweDIyLDB4YzAsMHgwOCwweDgyLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZmNzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4ODAsMHg0NCwweDJjLDB4YzgsMHgyOCwweGEwLDB4MjIsMHgwYywweDA0LDB4YjMsMHgyNiwweDJjIH19LAotIHsxNiwgMHhmZjgwLCAwLCB7MHhjOCwweDg4LDB4MDEsMHgwNiwweDBjLDB4ZTAsMHg5MSwweDIwLDB4MjAsMHgwYywweDM4LDB4MDQsMHgyMiwweGMwLDB4NDgsMHhhMyB9fSwKLSB7MTYsIDB4ZmY5MCwgMCwgezB4NDIsMHhhMCwweDgxLDB4MDgsMHgwMCwweDAyLDB4MGMsMHg4MCwweDgxLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgwMCwweDAyLDB4ODIgfX0sCi0gezE2LCAweGZmYTAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweGE5LDB4NDAsMHgzZSwweDQ0IH19LAotIHsxNiwgMHhmZmIwLCAwLCB7MHgwOCwweGIxLDB4MDMsMHgyYywweDQwLDB4ZWEsMHg0OSwweDJlLDB4MGQsMHgwYiwweGI2LDB4MTMsMHg3ZCwweDgwLDB4YzksMHg0MCB9fSwKLSB7MTYsIDB4ZmZjMCwgMCwgezB4YmEsMHhkMCwweDBjLDB4YjQsMHgwMywweGFjLDB4MDAsMHhmOCwweDAwLDB4MzIsMHg0MCwweDBjLDB4ODAsMHgwYiwweDIwLDB4MDAgfX0sCi0gezE2LCAweGZmZDAsIDAsIHsweGM1LDB4MDAsMHhiMiwweGMwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZmUwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNCwweGZjLDB4MDAsMHgzZCwweGM1LDB4MGIsMHhmMSwweDAwLDB4ZmMsMHhkMCwweDc3LDB4MjksMHgzNyB9fSwKLSB7MTYsIDB4ZmZmMCwgMCwgezB4MGMsMHg4ZSwweDc0LDB4MDMsMHhmYywweDA4LDB4ZmQsMHg2OSwweDNmLDB4ZDgsMHgwZiwweGYwLDB4MDMsMHhiYywweDAwLDB4ZWYgfX0sCi0gezE2LCAweDgwMTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDA3LDB4YzAsMHgwMywweGYwLDB4NDAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGU4IH19LAotIHsxNiwgMHg4MDIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwZCwweGZjLDB4YzAsMHhkYywweDgwLDB4M2YsMHhjOCB9fSwKLSB7MTYsIDB4ODAzMCwgMCwgezB4MGYsMHg0OCwweDAzLDB4N2MsMHgyMCwweGZmLDB4NjgsMHgzNywweGUwLDB4MGUsMHhmMSwweDAzLDB4OWMsMHgwMCwweGJmLDB4MjAgfX0sCi0gezE2LCAweDgwNDAsIDAsIHsweDM3LDB4ZTAsMHgwYywweGM4LDB4MTMsMHgzYywweDQwLDB4ZWQsMHg2MCwweGJiLDB4ZTQsMHgyYywweDQzLDB4NGIsMHg3MCwweGEwIH19LAotIHsxNiwgMHg4MDUwLCAwLCB7MHhjYywweDJjLDB4M2YsMHgwOSwweDBmLDB4ZDgsMHg0MywweDcwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODA2MCwgMCwgezB4ODAsMHgwMCwweGVkLDB4YzAsMHhiOCwweDgwLDB4MmYsMHhmNCwweDBmLDB4OTgsMHgwMiwweDNmLDB4MDAsMHhiZiwweDQyLDB4MjIgfX0sCi0gezE2LCAweDgwNzAsIDAsIHsweGNhLDB4MDgsMHhmNCwweDAyLDB4M2UsMHgwMCwweGJmLDB4ZDAsMHgyMiwweDYwLDB4MjgsMHg4OCwweDBhLDB4M2QsMHg4MCwweDhkIH19LAotIHsxNiwgMHg4MDgwLCAwLCB7MHg0MCwweDIyLDB4YzgsMHgwOCwweDgxLDB4MDIsMHgyMSwweDgwLDB4ZGIsMHhjMCwweDJlLDB4YTUsMHgwYiwweDk4LDB4NDIsMHgyMCB9fSwKLSB7MTYsIDB4ODA5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDEwLDB4YjAsMHgwMCwweDJjLDB4YzAgfX0sCi0gezE2LCAweDgwYTAsIDAsIHsweDBiLDB4MjAsMHgwMiwweGNjLDB4MDAsMHhiMywweDIwLDB4MjYsMHhjMCwweDhhLDB4MzYsMHgxMiwweDhjLDB4NDEsMHhiMywweDAwIH19LAotIHsxNiwgMHg4MGIwLCAwLCB7MHgyZSwweDQwLDB4MDgsMHgwMCwweDAyLDB4MGQsMHg4MSwweGExLDB4MzAsMHgyMiwweGM4LDB4ODksMHhhMiwweDQyLDB4MDgsMHgyMCB9fSwKLSB7MTYsIDB4ODBjMCwgMCwgezB4YjAsMHgwMCwweDJjLDB4NDAsMHgwYiwweDkwLDB4MjYsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDAwLDB4YjgsMHg1MCwweDJlLDB4YzAsMHgwYSwweDkwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMCwweDIyIH19LAotIHsxNiwgMHg4MGUwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHg2MiwweDJjLDB4MTAsMHhiYiwweDA0LDB4MmEsMHhmMCwweDRhLDB4ODgsMHgwMiwweDBjLDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ODBmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDksMHhiOCwweDgwLDB4MjYsMHgwMCwweGI4LDB4ODAsMHgyZSwweDIxLDB4MGIsMHg5MCwweDAyLDB4MzAgfX0sCi0gezE2LCAweDgxMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDE1LDB4ZWMsMHgwMCwweGQ4LDB4YzAsMHgzZSwweGMwIH19LAotIHsxNiwgMHg4MTEwLCAwLCB7MHgwYiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDM2LDB4ODAsMHgwZSwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4ODEyMCwgMCwgezB4M2MsMHhlMCwweDBjLDB4MGMsMHgwMywweDJjLDB4MDAsMHhlOSwweDAwLDB4MTAsMHhjMCwweDBjLDB4OGMsMHgwMywweDA2LDB4MDAgfX0sCi0gezE2LCAweDgxMzAsIDAsIHsweGY4LDB4Y2QsMHgzZSwweDIyLDB4MGYsMHgxOCwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4N2MsMHgwMCwweGY3LDB4MDIsMHgzZiB9fSwKLSB7MTYsIDB4ODE1MCwgMCwgezB4ZTQsMHgwZiwweDcwLDB4MDMsMHg3YywweDA0LDB4YjcsMHgwMCwweDM3LDB4NDAsMHgwZCwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQgfX0sCi0gezE2LCAweDgxNjAsIDAsIHsweDAwLDB4MzcsMHhkMCwweDBlLDB4YzAsMHg0MywweGY0LDB4MDAsMHhkZiwweDAwLDB4M2YsMHg4MCwweDhmLDB4ZGEsMHgwMywweGY4IH19LAotIHsxNiwgMHg4MTcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmOCwweDEwLDB4M2EsMHhjMCB9fSwKLSB7MTYsIDB4ODE4MCwgMCwgezB4NmQsMHhhNiwweDEzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzYSwweGQwLDB4MGYsMHhiMCwweDAzLDB4MmMsMHgxMCwweGRiLDB4MTAgfX0sCi0gezE2LCAweDgxOTAsIDAsIHsweDM2LDB4ZDgsMHgwZCwweDg0LDB4MDMsMHhlYywweDA2LDB4YzksMHgwOCwweDNhLDB4YzAsMHgwZSwweDg2LDB4MDMsMHhhOCwweDYwIH19LAotIHsxNiwgMHg4MWEwLCAwLCB7MHhmOCwweDIwLDB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDU0LDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFiMCwgMCwgezB4OTgsMHgwNSwweDNjLDB4MDAsMHhiYiwweDQwLDB4MjMsMHhkMCwweDA4LDB4MzAsMHgwMiwweDNlLDB4MTAsMHhhZiwweDAwLDB4MjAgfX0sCi0gezE2LCAweDgxYzAsIDAsIHsweGMwLDB4MGIsMHhmMCwweDAyLDB4M2MsMHgwMCwweDhmLDB4NTAsMHgyZSwweGM4LDB4MDYsMHg4YSwweDAyLDB4ZmMsMHgwMCwweDhkIH19LAotIHsxNiwgMHg4MWQwLCAwLCB7MHgyNCwweDgyLDB4ZDYsMHgwOCwweDMyLDB4MDIsMHgyZCwweDA4LDB4M2EsMHg0MCwweDIyLDB4ODAsMHgwZCwweDkwLDB4MDMsMHg2MiB9fSwKLSB7MTYsIDB4ODFlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHg0YywweDAwLDB4YjAsMHgyMCwweDI4LDB4YzIgfX0sCi0gezE2LCAweDgxZjAsIDAsIHsweDA4LDB4MDQsMHgwMiwweDhjLDB4MDAsMHgxMywweDAyLDB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MzAsMHg5MywweDgwIH19LAotIHsxNiwgMHg4MjAwLCAwLCB7MHgyNCwweGQwLDB4MDksMHgyMCwweDAyLDB4Y2MsMHgwMCwweDkxLDB4NDAsMHgwOCwweGMwLDB4MmEsMHgxNCwweDAyLDB4ODEsMHgwMCB9fSwKLSB7MTYsIDB4ODIxMCwgMCwgezB4OTAsMHgwMCwweDY4LDB4MDAsMHgwOCwweDE4LDB4MDIsMHgzYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgyMjAsIDAsIHsweDcwLDB4MDEsMHgxZSwweDAwLDB4YjQsMHhhMCwweDIxLDB4ZTAsMHgwOCwweGM4LDB4MTIsMHg5ZSwweDAwLDB4YjMsMHg4MiwweDIxIH19LAotIHsxNiwgMHg4MjMwLCAwLCB7MHhlMCwweDBiLDB4N2EsMHgwYSwweDFlLDB4MDAsMHg5NywweDgwLDB4MmQsMHhlMSwweDBhLDB4NDgsMHgwMiwweGNlLDB4NDAsMHg5NSB9fSwKLSB7MTYsIDB4ODI0MCwgMCwgezB4OTAsMHgyOSwweGU0LDB4MDgsMHg1OCwweDAyLDB4OWEsMHgwMCwweGI3LDB4ODgsMHgyMSwweGUwLDB4MDksMHg1OCwweDAyLDB4NWMgfX0sCi0gezE2LCAweDgyNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0YSwweDAwLDB4MGMsMHgwMCwweGYwLDB4ODAsMHgzOCwweGM0IH19LAotIHsxNiwgMHg4MjYwLCAwLCB7MHgwYywweDI1LDB4MDMsMHg4YywweDIwLDB4OTMsMHgwMCwweDM4LDB4YzQsMHgwZiwweGIwLDB4MDMsMHgwYywweDgwLDB4ZDMsMHgwMCB9fSwKLSB7MTYsIDB4ODI3MCwgMCwgezB4MzQsMHhjMCwweDBkLDB4MDQsMHgxMywweGNjLDB4MDgsMHg5OSwweDAwLDB4MmEsMHhjMCwweDBlLDB4MjEsMHgwMywweDg4LDB4MDQgfX0sCi0gezE2LCAweDgyODAsIDAsIHsweGYzLDB4MDAsMHgzOCwweGMwLDB4MGMsMHgxMSwweDgzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MjkwLCAwLCB7MHg0MiwweDE1LDB4YmMsMHgwMCwweGY0LDB4MDAsMHgzZiwweGMzLDB4MGUsMHhjMCwweDAzLDB4MWMsMHgwMCwweGFmLDB4NGEsMHg3ZiB9fSwKLSB7MTYsIDB4ODJhMCwgMCwgezB4YzQsMHgwZiwweGIyLDB4MDMsMHhmZCwweDAxLDB4ZWYsMHgxMCwweDNmLDB4ODQsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZTkgfX0sCi0gezE2LCAweDgyYjAsIDAsIHsweDAwLDB4MzcsMHhjMiwweDBlLDB4ZjEsMHg0NywweDdjLDB4MDAsMHhmNywweDAwLDB4M2QsMHhjMCwweDBmLDB4NTAsMHgwMywweGQwIH19LAotIHsxNiwgMHg4MmMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YWEsMHgxNSwweGVjLDB4MDgsMHhmOCwweDAwLDB4M2UsMHhjYSB9fSwKLSB7MTYsIDB4ODJkMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZWYsMHgyMSwweGZiLDB4ODAsMHg3YSwweDQwLDB4OGYsMHhiMiwweGExLDB4MmYsMHgwMCwweGNiLDB4NjAgfX0sCi0gezE2LCAweDgyZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlZCwweGEwLDB4ZTksMHgzMCwweDMyLDB4YzAsMHgyZCwweGIwLDB4MDMsMHhlNCwweDAwIH19LAotIHsxNiwgMHg4MmYwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODMwMCwgMCwgezB4YzgsMHg5MSwweDlkLDB4MDAsMHhiNCwweDAxLDB4MmQsMHhjOCwweDBiLDB4NzAsMHgwMiwweGNjLDB4ODAsMHg4ZiwweDIwLDB4MjEgfX0sCi0gezE2LCAweDgzMTAsIDAsIHsweGMwLDB4OGIsMHg3NiwweDAzLDB4NWQsMHgwMCwweDg3LDB4MGEsMHgyZCwweGMwLDB4MGIsMHg0MCwweDIyLDB4ZmQsMHgwMCwweDhkIH19LAotIHsxNiwgMHg4MzIwLCAwLCB7MHgxMCwweDIzLDB4YzgsMHgwOCwweDUwLDB4MTIsMHhkNCwweDAwLDB4YjcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ODMzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg5ZSwweDAwLDB4YjQsMHg4MCwweDJkLDB4ZTAgfX0sCi0gezE2LCAweDgzNDAsIDAsIHsweDBiLDB4N2MsMHgwMiwweGRlLDB4NDAsMHhhNywweDgyLDB4MmQsMHhlMCwweDBiLDB4M2EsMHgwMiwweDhlLDB4MDAsMHg4NywweDkwIH19LAotIHsxNiwgMHg4MzUwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHg1OCwweDAyLDB4NWUsMHgwMCwweGE1LDB4YTIsMHg2NSwweGUwLDB4MDgsMHg2OCwweDgyLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4ODM2MCwgMCwgezB4OTUsMHg4MCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzNzAsIDAsIHsweDA4LDB4ODQsMHhjYywweDAwLDB4YjAsMHgwOSwweDJjLDB4YzAsMHgwYiwweDM4LDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMCwweDJlIH19LAotIHsxNiwgMHg4MzgwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHg0MiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhhMCwweDBiLDB4MDQsMHgwMiwweGNjLDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ODM5MCwgMCwgezB4MDAsMHhhMCwweGMwLDB4MDgsMHhiMCwweDA2LDB4Y2YsMHg4MCwweGIzLDB4MTAsMHgyYywweGM0LDB4MGIsMHgzMSwweDAyLDB4YzMgfX0sCi0gezE2LCAweDgzYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGZlLDB4ODAsMHgzZSwweDgwIH19LAotIHsxNiwgMHg4M2IwLCAwLCB7MHgwZiwweGU4LDB4MTMsMHhlOCwweDAwLDB4ZWEsMHgwMCwweDNmLDB4YjAsMHgwZiwweGEwLDB4MDMsMHhhOCwweDAyLDB4YzIsMHgwMCB9fSwKLSB7MTYsIDB4ODNjMCwgMCwgezB4MmYsMHg4OCwweDBmLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhlYSwweDAwLDB4MzYsMHgwMCwweDBjLDB4ZTAsMHgwMywweGY5LDB4MjAgfX0sCi0gezE2LCAweDgzZDAsIDAsIHsweGRlLDB4ODAsMHgzZiwweGEwLDB4NGYsMHhhOCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4M2UwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MTAsMHgzYywweDEwLDB4MGYsMHg4MCwweDgzLDB4ZTEsMHgwMCwweGU4LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ODNmMCwgMCwgezB4MDYsMHgwZiwweDAwLDB4MTMsMHhlMCwweDAxLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweDg0MDAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgyMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4NDEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU0LDB4MDAsMHhmOSwweDEwLDB4M2UsMHg0NCB9fSwKLSB7MTYsIDB4ODQyMCwgMCwgezB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDEyLDB4MjQsMHgwMCwweGY5LDB4MTAgfX0sCi0gezE2LCAweDg0MzAsIDAsIHsweDMyLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4YzksMHgwMCwweDMyLDB4MTAsMHgwYywweDljLDB4MDEsMHgyNCwweDAwIH19LAotIHsxNiwgMHg4NDQwLCAwLCB7MHhmOSwweDEwLDB4M2UsMHg3MCwweDBmLDB4OTAsMHgwMiwweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODQ1MCwgMCwgezB4ODAsMHgxNCwweDY0LDB4MDAsMHhiOSwweGMwLDB4MmUsMHg0OCwweDA4LDB4OTEsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweDg0NjAsIDAsIHsweDQwLDB4MGQsMHg5MCwweDAzLDB4NjcsMHgwMCwweGI5LDB4ODAsMHgyYSwweDYwLDB4MGIsMHg5OSwweDAyLDB4ZTQsMHgwMCwweDgxIH19LAotIHsxNiwgMHg4NDcwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHgyYywweDkwLDB4MTIsMHgyNSwweDIwLDB4YjksMHg0OCwweDJlLDB4NTIsMHgwYiwweDk0LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ODQ4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweDg0OTAsIDAsIHsweDY4LDB4OTAsMHg0NiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHhjMCwweDA4LDB4OTAsMHgwMiwweGE0LDB4NjAsMHhiOSwweDAwIH19LAotIHsxNiwgMHg4NGEwLCAwLCB7MHgyMiwweDQ4LDB4MGIsMHg5MCwweDA2LDB4ZTQsMHgwMiwweDg5LDB4MDAsMHhhMCwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTYsMHgxMCB9fSwKLSB7MTYsIDB4ODRiMCwgMCwgezB4YjksMHgwMCwweDBlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0YzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4YjEsMHgwMCwweDJjLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjNCwweDg0LDB4YjEsMHgyMCwweDJjIH19LAotIHsxNiwgMHg4NGQwLCAwLCB7MHg0MCwweDA5LDB4MTIsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIwLDB4MjgsMHg0MCwweDBiLDB4MTAsMHgwMiwweGM0LDB4ODAsMHg4OSB9fSwKLSB7MTYsIDB4ODRlMCwgMCwgezB4MjAsMHgyMCwweDQwLDB4NGIsMHgxMiwweDBhLDB4ODQsMHg4NCwweGIxLDB4MjAsMHgyYywweDQ4LDB4OGIsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDg0ZjAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGJhLDB4MDAsMHgyZSwweDAwIH19LAotIHsxNiwgMHg4NTAwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhlOCwweDA4LDB4ZjgsMHg1MCwweDNlLDB4MTQsMHgwYywweDg1LDB4MDMsMHgyMCwweDAwLDB4YjgsMHgwMCB9fSwKLSB7MTYsIDB4ODUxMCwgMCwgezB4MzIsMHgwMCwweDBmLDB4YTAsMHgwMywweGUxLDB4NDAsMHhjOCwweDUwLDB4MzIsMHgxNCwweDBjLDB4YTUsMHgwMywweGExLDB4NDAgfX0sCi0gezE2LCAweDg1MjAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhhMCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NTMwLCAwLCB7MHg4OCwweDBkLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGI5LDB4MTEsMHgzZiB9fSwKLSB7MTYsIDB4ODU0MCwgMCwgezB4NDAsMHgwZiwweDkxLDB4MDMsMHg2NCwweDQ0LDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZmQgfX0sCi0gezE2LCAweDg1NTAsIDAsIHsweDEwLDB4M2YsMHgxMCwweDhjLDB4ZDEsMHgwMywweDc0LDB4NDAsMHhmZiwweDEwLDB4M2YsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU2IH19LAotIHsxNiwgMHg4NTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDY2LDB4MjAsMHhlZCwweDAwLDB4MzMsMHg2OSB9fSwKLSB7MTYsIDB4ODU3MCwgMCwgezB4NGQsMHg1MCwweDQzLDB4NTYsMHgwMCwweGY5LDB4YTAsMHgzNCwweDQwLDB4MGYsMHg5YSwweDBiLDB4MzQsMHgwMCwweGRkLDB4ODAgfX0sCi0gezE2LCAweDg1ODAsIDAsIHsweDNiLDB4NDAsMHgwYiwweDUwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4ZTAsMHgwZSwweGQwLDB4MDMsMHhmNCwweDAwIH19LAotIHsxNiwgMHg4NTkwLCAwLCB7MHhmZCwweDAwLDB4M2YsMHg0MCwweDBjLDB4ZDAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODVhMCwgMCwgezB4NzgsMHgxMCwweGUyLDB4ODAsMHg4OCwweDA0LDB4MjIsMHgxMCwweDBiLDB4ODAsMHgwMiwweDIwLDB4MDksMHhiOCwweGYwLDB4MjIgfX0sCi0gezE2LCAweDg1YjAsIDAsIHsweDAwLDB4MGIsMHg4ZSwweDEyLDB4YTAsMHgwMCwweGI4LDB4NTIsMHgyZSwweDAwLDB4MGIsMHg4MCwweDAyLDB4ZTAsMHgwNSwweGI4IH19LAotIHsxNiwgMHg4NWMwLCAwLCB7MHhhYSwweDIzLDB4M2UsMHgwZCwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCwweDNhLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhjZSB9fSwKLSB7MTYsIDB4ODVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDIwLDB4YTksMHgwMCwweGE0LDB4NDQgfX0sCi0gezE2LCAweDg1ZTAsIDAsIHsweDA5LDB4OTAsMHgwMiwweGM1LDB4MDAsMHhhMSwweDA4LDB4MmMsMHg0MCwweDBiLDB4MTEsMHg4MiwweDA0LDB4MDAsMHhiMSwweDAwIH19LAotIHsxNiwgMHg4NWYwLCAwLCB7MHgyOCwweDQwLDB4MGEsMHgxMCwweDQyLDB4YzQsMHgwMCwweGI1LDB4MDAsMHhhMSwweDQwLDB4MDgsMHgxMCwweDAyLDB4YzQsMHgwMCB9fSwKLSB7MTYsIDB4ODYwMCwgMCwgezB4YjEsMHgwMSwweDJjLDB4NDAsMHgwOCwweDEwLDB4MjAsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2MTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDAsMHhhYywweDAwLDB4MzksMHgwMCwweDJhIH19LAotIHsxNiwgMHg4NjIwLCAwLCB7MHg0MCwweDBiLDB4MTAsMHgwMiwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0OCwweDBiLDB4OTAsMHgxMiwweGU0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ODYzMCwgMCwgezB4MDAsMHgyMSwweDYwLDB4MDksMHg5MiwweDIyLDB4ZTQsMHgyOCwweGI5LDB4MDAsMHgwYSwweDUwLDB4MDgsMHg5MCwweDA2LDB4YzYgfX0sCi0gezE2LCAweDg2NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHg4NjUwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDgsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4ODY2MCwgMCwgezB4M2EsMHg3OCwweDBlLDB4OTgsMHgwMywweGU0LDB4MDAsMHhiOSwweDAwLDB4YjIsMHg0MCwweDBlLDB4OTIsMHgyMywweGU2LDB4MDAgfX0sCi0gezE2LCAweDg2NzAsIDAsIHsweGI5LDB4NTAsMHgzZSwweDcwLDB4MmMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NjgwLCAwLCB7MHg2OCwweDAxLDB4ODQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4NGYsMHg5YywweDIzLDB4NjQsMHgwMCwweGY5LDB4MDQsMHgzNiB9fSwKLSB7MTYsIDB4ODY5MCwgMCwgezB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjAsMHgwZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweDg2YTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHg4MywweGU0LDB4NDQsMHhmOSwweDAwLDB4NzgsMHg2NCwweDBmLDB4OTAsMHgwMywweGRhIH19LAotIHsxNiwgMHg4NmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4ODZjMCwgMCwgezB4MGYsMHg4MiwweDAzLDB4YTAsMHg0MCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4MjAsMHhjMCwweGM4LDB4ODAgfX0sCi0gezE2LCAweDg2ZDAsIDAsIHsweDNlLDB4MTIsMHgwZiwweDgwLDB4MDMsMHg2MCwweDAwLDB4N2MsMHgwMCwweDMzLDB4MDAsMHgwZCwweDgwLDB4MTMsMHhlMCwweDEwIH19LAotIHsxNiwgMHg4NmUwLCAwLCB7MHhjOCwweDY0LDB4M2UsMHgwOCwweDBjLDB4ODIsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODZmMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiNiwweGUwLDB4MGYsMHhhMCwweDBiLDB4NjAsMHg4MiwweDM4LDB4MDAsMHhhYSwweDAwLDB4MmUgfX0sCi0gezE2LCAweDg3MDAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDQyLDB4YmEsMHgwMCwweGFlLDB4MjAsMHgyZiwweDg4LDB4MGIsMHhlNSwweDAyLDB4MjgsMHgwMCwweGJhIH19LAotIHsxNiwgMHg4NzEwLCAwLCB7MHhkOCwweDM3LDB4ODAsMHgwOCwweGVjLDB4MDIsMHhmOCwweDA0LDB4OGUsMHgwMCwweDJmLDB4OTAsMHgwZCwweGUwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4ODcyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjAsMHgyNCwweDJjLDB4NjAgfX0sCi0gezE2LCAweDg3MzAsIDAsIHsweDBiLDB4MzgsMHgwMiwweDhlLDB4ODAsMHhhYiwweDAwLDB4MmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBkLDB4MDgsMHgwMCwweDgwIH19LAotIHsxNiwgMHg4NzQwLCAwLCB7MHg2YywweGQwLDB4MGIsMHgzNCwweDAyLDB4Y2MsMHgwMCwweGI4LDB4YzAsMHgyMCwweDAwLDB4NDgsMHgzNCwweDEyLDB4Y2MsMHg0MCB9fSwKLSB7MTYsIDB4ODc1MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4ZTAsMHgwYSwweDM1LDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg3NjAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4YjcsMHgwMCwweDJkLDB4MDIsMHg4YiwweDYwLDB4MDIsMHg5ZSwweDAwLDB4ODcsMHgyMCwweDJmIH19LAotIHsxNiwgMHg4NzcwLCAwLCB7MHhlMCwweDA4LDB4NzIsMHgwMiwweDllLDB4MDAsMHhhNCwweDAwLDB4MmQsMHhjMCwweDBiLDB4ZjgsMHgwMiwweDljLDB4YzAsMHhiMyB9fSwKLSB7MTYsIDB4ODc4MCwgMCwgezB4MDIsMHhhNSwweGMwLDB4MDgsMHg1MCwweDg2LDB4ZmUsMHgwMCwweDg3LDB4MDAsMHgyZiwweGQwLDB4MDksMHg3MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweDg3OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGY0LDB4ODAsMHgzZCwweDIwIH19LAotIHsxNiwgMHg4N2EwLCAwLCB7MHgwZiwweDU4LDB4MDMsMHg5ZSwweDAwLDB4NjcsMHg4MCwweDNkLDB4ZjgsMHgwZCwweDM4LDB4MDIsMHgxYSwweDEwLDB4NDQsMHg4MCB9fSwKLSB7MTYsIDB4ODdiMCwgMCwgezB4M2QsMHhlMCwweDBmLDB4NTgsMHgwMywweGRlLDB4MjAsMHhiNCwweDgwLDB4MzMsMHhhMCwweDJjLDB4NjgsMHgwMywweGQ2LDB4MDAgfX0sCi0gezE2LCAweDg3YzAsIDAsIHsweGM3LDB4ODEsMHgzZCwweGUwLDB4MGMsMHg3OCwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4N2QwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwOCwweGY4LDB4MDAsMHgzZSwweDAwLDB4OGYsMHg4MCwweDAzLDB4NmMsMHgwMCwweDNiLDB4MTIsMHgzZSB9fSwKLSB7MTYsIDB4ODdlMCwgMCwgezB4Y2EsMHgwZiwweGI1LDB4MDMsMHhjOCwweDAwLDB4ZjgsMHgwNCwweDdlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHg2YywweDgwLDB4ZmIgfX0sCi0gezE2LCAweDg3ZjAsIDAsIHsweDA0LDB4M2EsMHg0MCwweDBmLDB4OTAsMHgyMywweGM4LDB4MDAsMHhmOSwweDAxLDB4M2MsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHg4ODAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhhYywweDkwLDB4MzEsMHg0OCB9fSwKLSB7MTYsIDB4ODgxMCwgMCwgezB4MDgsMHhmOCwweDAzLDB4ZmEsMHgwMCwweGNmLDB4ODAsMHgzZiwweGUwLDB4MGMsMHhmYywweDEzLDB4M2UsMHgwNCwweGZjLDB4ODAgfX0sCi0gezE2LCAweDg4MjAsIDAsIHsweDM1LDB4YTAsMHgwYywweDc4LDB4MDMsMHhiZSwweDAwLDB4ZGYsMHg4MCwweDNiLDB4MjAsMHgyNCwweGY4LDB4MDMsMHgyZSwweDQwIH19LAotIHsxNiwgMHg4ODMwLCAwLCB7MHhjZiwweDgwLDB4MzMsMHhlMCwweDAzLDB4ZjksMHgwMywweGQwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODg0MCwgMCwgezB4YTgsMHgxMSwweGJjLDB4MDAsMHg4MCwweDAwLDB4MDEsMHgwMCwweDA4LDB4NzIsMHgwMiwweGQwLDB4MDAsMHg4NywweDAwLDB4MmQgfX0sCi0gezE2LCAweDg4NTAsIDAsIHsweGM4LDB4MGEsMHhmMCwweDAyLDB4OTgsMHg0MCwweGY1LDB4MDAsMHg2MSwweDQxLDB4MDAsMHg3NCwweDAyLDB4MWMsMHgwMCwweGI0IH19LAotIHsxNiwgMHg4ODYwLCAwLCB7MHgwMCwweDIxLDB4YzgsMHgwOCwweDYwLDB4MDIsMHgzZSwweDIwLDB4ODYsMHgwOCwweDIxLDB4ZDgsMHgwZiwweDUwLDB4MDIsMHhlYSB9fSwKLSB7MTYsIDB4ODg3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDAsMHg5YywweDAwLDB4YTQsMHgwMCwweDIxLDB4MDAgfX0sCi0gezE2LCAweDg4ODAsIDAsIHsweDA4LDB4NTAsMHgwMiwweGQ4LDB4MDAsMHg5NywweDAwLDB4MmQsMHhjMCwweDg4LDB4NzEsMHgwMiwweDE0LDB4MDAsMHhiMCwweDAwIH19LAotIHsxNiwgMHg4ODkwLCAwLCB7MHgyNSwweDkwLDB4MDgsMHhjMCwweDgyLDB4OWMsMHg0MCwweDkzLDB4MDAsMHgyOSwweGExLDB4ODgsMHg2MCwweDAyLDB4MTQsMHgxMiB9fSwKLSB7MTYsIDB4ODhhMCwgMCwgezB4ODcsMHg0MCwweDI5LDB4NDAsMHgwYiwweDYwLDB4MDIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4YjAsIDAsIHsweDYwLDB4MTQsMHhjYywweDAwLDB4ODAsMHhkMCwweGEwLDB4MDAsMHgwOCwweDFjLDB4MDIsMHhjMCwweDAwLDB4OTMsMHgwMCwweDJjIH19LAotIHsxNiwgMHg4OGMwLCAwLCB7MHhkMCwweDBhLDB4YjAsMHgyNiwweDgwLDB4MDAsMHhiMywweDAwLDB4MjQsMHhlNCwweDA4LDB4MDgsMHgwMiwweDhjLDB4MDAsMHhiMCB9fSwKLSB7MTYsIDB4ODhkMCwgMCwgezB4MDIsMHgwMiwweDQxLDB4MDgsMHgwOCwweDAyLDB4MDMsMHgwMSwweDgxLDB4MDAsMHgyOCwweDQyLDB4MWEsMHgwMCwweDQyLDB4ZDggfX0sCi0gezE2LCAweDg4ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmOCwweDE1LDB4YmMsMHgwMCwweGU4LDB4YzAsMHgzMiwweDgwIH19LAotIHsxNiwgMHg4OGYwLCAwLCB7MHgwYywweGI1LDB4MDMsMHhlNCwweDAwLDB4OWYsMHgwMCwweDNkLDB4ZTAsMHgwYywweGYwLDB4MGIsMHgyNCwweDAwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4ODkwMCwgMCwgezB4MzYsMHhlMCwweDBjLDB4MjUsMHgwMywweGJjLDB4MDUsMHhkOCwweDAyLDB4MmEsMHgwMCwweDA4LDB4YmEsMHgwMiwweDJhLDB4MDAgfX0sCi0gezE2LCAweDg5MTAsIDAsIHsweGMxLDB4MDIsMHgzYSwweDUwLDB4OGIsMHg5MCwweDAzLDB4ZWUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OTIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDgsMHgzZSwweDgwLDB4MGYsMHhhMSwweDAzLDB4ZWMsMHgwNCwweGViLDB4MDIsMHgyZSB9fSwKLSB7MTYsIDB4ODkzMCwgMCwgezB4YzYsMHgwZiwweGIwLDB4MTcsMHg0NCwweDAwLDB4ZTgsMHgwMCwweDNhLDB4NDAsMHgwZiwweDgwLDB4MDIsMHg2YywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDg5NDAsIDAsIHsweDAwLDB4M2UsMHhlMCwweDBmLDB4OTAsMHg5MywweGUxLDB4MDAsMHhkOSwweDAwLDB4MjYsMHg3MCwweDhmLDB4OTAsMHgwMSwweGUxIH19LAotIHsxNiwgMHg4OTUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGZjLDB4MDAsMHhmYywweDAzLDB4MzcsMHgyNCB9fSwKLSB7MTYsIDB4ODk2MCwgMCwgezB4MGQsMHhmOCwweDAzLDB4ZTAsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMxLDB4OGQsMHhmMCwweDBiLDB4MzgsMHgwMCwweGNjLDB4MDAgfX0sCi0gezE2LCAweDg5NzAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGZhLDB4MDMsMHgzYywweDBjLDB4ZmMsMHgwNCwweDNiLDB4ODAsMHgwYywweGEwLDB4MDMsMHg5NCwweDIwIH19LAotIHsxNiwgMHg4OTgwLCAwLCB7MHg4OSwweDA1LDB4M2IsMHgwMCwweDRmLDB4ZDAsMHgyMywweGMwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODk5MCwgMCwgezB4ODAsMHgwNCwweDZjLDB4MDAsMHhiMCwweDA2LDB4MjAsMHgxMywweDg4LDB4YTgsMHgwMiwweGViLDB4MDAsMHhiYiwweDAwLDB4MmUgfX0sCi0gezE2LCAweDg5YTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4MmEsMHgwMCwweGE4LDB4ODAsMHgyZSwweGUwLDB4MGIsMHg5NCwweDFhLDB4MmMsMHgwMCwweGJiIH19LAotIHsxNiwgMHg4OWIwLCAwLCB7MHgwMCwweGEyLDB4NDAsMHgyOSwweDk4LDB4MDIsMHhlMiwweDAwLDB4YTksMHg4NCwweDIyLDB4MjAsMHgwYiwweDk4LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ODljMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YjgsMHgwMCwweDIyLDB4MDAgfX0sCi0gezE2LCAweDg5ZDAsIDAsIHsweDA5LDB4ODIsMHgwMiwweGU2LDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweDI2LDB4MDAsMHg4OCwweDgwIH19LAotIHsxNiwgMHg4OWUwLCAwLCB7MHgyZSwweGEwLDB4MGIsMHhhMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4MDAsMHgyYSwweDAwLDB4MDksMHg5OCwweDAyLDB4ZWEsMHgyMCB9fSwKLSB7MTYsIDB4ODlmMCwgMCwgezB4YTksMHg4MCwweDJhLDB4NjAsMHg5YiwweDk4LDB4ODIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhMDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjgsMHgwMCwweDIwLDB4MDAsMHgwOSwweDA4LDB4MDIsMHhjNCwweDAwLDB4YjMsMHgwMCwweDI2IH19LAotIHsxNiwgMHg4YTEwLCAwLCB7MHhjMCwweDAwLDB4MzAsMHgwMiwweDAwLDB4MDAsMHg4MSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MDAsMHgwMiwweDBjLDB4MDAsMHhiMCB9fSwKLSB7MTYsIDB4OGEyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGIsMHgwMCwweDAyLDB4YzgsMHg4MCwweGE4LDB4MDAsMHgyMCwweDQxLDB4MGIsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDhhMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgxMCwweGY4LDB4NTAsMHhiMiwweDAwIH19LAotIHsxNiwgMHg4YTQwLCAwLCB7MHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZmIsMHgwMCwweDNkLDB4YzAsMHgwZCwweGYwLDB4MTMsMHgyNCwweDAyLDB4YzgsMHgwNiB9fSwKLSB7MTYsIDB4OGE1MCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweDNjLDB4MDQsMHhmYiwweDAwLDB4NzgsMHg4MCwweDBjLDB4YTAsMHgwMywweGU0LDB4MDAgfX0sCi0gezE2LCAweDhhNjAsIDAsIHsweGU5LDB4MDAsMHgxYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YTcwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGY0LDB4MjAsMHgzZiwweDAwLDB4MGUsMHhjMCwweDAyLDB4ZjAsMHgwMSwweGZmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OGE4MCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MjMsMHhmMCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmMgfX0sCi0gezE2LCAweDhhOTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDljLDB4YzAsMHgwMywweGYwLDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHg0MywweGU4IH19LAotIHsxNiwgMHg4YWEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4MDAsMHhlZCwweDIzLDB4YjcsMHg0OCB9fSwKLSB7MTYsIDB4OGFiMCwgMCwgezB4MGMsMHhlMSwweGMzLDB4N2MsMHhjMCwweGRkLDB4ODAsMHgzNywweGUwLDB4MGYsMHhjYiwweDAzLDB4ZmUsMHgwOCwweGZjLDB4MjggfX0sCi0gezE2LCAweDhhYzAsIDAsIHsweDNmLDB4ZjAsMHgxYywweGZiLDB4MjMsMHg3YywweDAxLDB4ZmYsMHgxNCwweDc3LDB4ZTIsMHg0ZiwweGU4LDB4MjMsMHg3YywweDAwIH19LAotIHsxNiwgMHg4YWQwLCAwLCB7MHhjNCwweDgwLDB4MzMsMHg0OCwweDJjLDB4ZjgsMHgyMiwweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGFlMCwgMCwgezB4ODAsMHgxMCwweGUwLDB4ZTAsMHhjOSwweGMwLDB4MjIsMHg1YiwweDg4LDB4OTYsMHgyMiwweDJkLDB4MDAsMHg4OSwweDIyLDB4MjIgfX0sCi0gezE2LCAweDhhZjAsIDAsIHsweGNhLDB4MGIsMHg5ZSwweDIyLDB4ZTIsMHhhMCwweGI5LDB4NjEsMHgyYywweGUwLDB4ODgsMHg5ZiwweDAyLDB4M2QsMHg4NSwweGJmIH19LAotIHsxNiwgMHg4YjAwLCAwLCB7MHg2MCwweDI2LDB4NTAsMHg0OCwweGEwLDB4MDIsMHgzYywweDAwLDB4ODgsMHgwMCwweDIyLDB4NTAsMHgwOCwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4OGIxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjMCwweDgwLDB4YjEsMHgxMCwweDIwLDB4NDQgfX0sCi0gezE2LCAweDhiMjAsIDAsIHsweDBiLDB4YjIsMHgwMiwweGNlLDB4ZDAsMHg4MSwweDA4LDB4MmMsMHhjMCwweDBiLDB4MDEsMHgwMiwweDhjLDB4MDgsMHhiMywweDA4IH19LAotIHsxNiwgMHg4YjMwLCAwLCB7MHgyYywweGM5LDB4MDgsMHgxMCwweDYyLDB4OGMsMHg2MCwweGIzLDB4MzIsMHgyNCwweDgwLDB4MGEsMHhhMCwweDAyLDB4NmMsMHgwMyB9fSwKLSB7MTYsIDB4OGI0MCwgMCwgezB4OWEsMHgwMSwweDI2LDB4NDQsMHg0OCwweGIwLDB4NDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiNTAsIDAsIHsweGMwLDB4MTUsMHhhNCwweGEwLDB4OGIsMHgwMiwweDIyLDB4ZTAsMHgwYiwweGIwLDB4NjIsMHhhYywweDk4LDB4OTksMHgwMCwweDJhIH19LAotIHsxNiwgMHg4YjYwLCAwLCB7MHhjMiwweDBiLDB4OTgsMHgwNiwweGU0LDB4MDAsMHhiYiwweDAyLDB4MmUsMHhjMCwweDA4LDB4OTEsMHg0MiwweDJjLDB4MTAsMHhiYiB9fSwKLSB7MTYsIDB4OGI3MCwgMCwgezB4MDAsMHg2ZSwweDgwLDB4MGEsMHg4MCwweDAyLDB4NmMsMHgwMCwweDFiLDB4MDAsMHgwNiwweDQwLDB4NDgsMHhiOCwweDBhLDB4NzAgfX0sCi0gezE2LCAweDhiODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZTcsMHgwMCwweGExLDB4MDAsMHg3NiwweDc4IH19LAotIHsxNiwgMHg4YjkwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlOCwweDEwLDB4ZDksMHgwMCwweDNlLDB4ZDAsMHg0YiwweDllLDB4MTMsMHhhYywweDA4LDB4YjgsMHhhMCB9fSwKLSB7MTYsIDB4OGJhMCwgMCwgezB4N2UsMHhjNiwweDA4LDB4YTgsMHgwMiwweDJjLDB4MDEsMHhiYiwweDAwLDB4MjYsMHgzMCwweDRlLDB4MjAsMHgwMywweDRjLDB4MTggfX0sCi0gezE2LCAweDhiYjAsIDAsIHsweDk5LDB4ODAsMHhiNCwweDQwLDB4NGMsMHgzYSwweDAzLDB4NDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YmMwLCAwLCB7MHhlMCwweDAxLDB4YjIsMHgwMCwweGZkLDB4YzUsMHgzYiwweGMwLDB4NGMsMHhkMCwweDAzLDB4NmEsMHgwMiwweGVkLDB4MDYsMHgzMyB9fSwKLSB7MTYsIDB4OGJkMCwgMCwgezB4YzQsMHgwZiwweGQwLDB4NTMsMHhmOCwweDAwLDB4ZmMsMHg5MCwweDdmLDB4YzEsMHgwZiwweDc4LDB4MDMsMHhiYywweDA0LDB4ZmYgfX0sCi0gezE2LCAweDhiZTAsIDAsIHsweDAwLDB4MzcsMHg2NCwweDBjLDB4ZjEsMHgwMywweGE0LDB4MDAsMHhlZCwweGExLDB4M2IsMHg0MCwweDBiLDB4ZjAsMHg4MywweGI4IH19LAotIHsxNiwgMHg4YmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhjLDB4MDAsMHhjYiwweDIwLDB4M2UsMHg3MSB9fSwKLSB7MTYsIDB4OGMwMCwgMCwgezB4MGYsMHhiMywweDAzLDB4OTgsMHgwMiwweGZiLDB4MDIsMHgzNiwweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZWMsMHgyMCwweGY4LDB4MDAgfX0sCi0gezE2LCAweDhjMTAsIDAsIHsweDNlLDB4Y2MsMHgwNCwweDg0LDB4MDMsMHgyYywweDAwLDB4ZGIsMHgwNCwweDNjLDB4MTAsMHgwZiwweGEwLDB4MDMsMHhlYywweDAwIH19LAotIHsxNiwgMHg4YzIwLCAwLCB7MHg5YiwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGMzMCwgMCwgezB4ODgsMHgwNSwweDJjLDB4MDIsMHg4YiwweDQ4LDB4MmUsMHhlMCwweDBiLDB4MzQsMHgwMywweDZiLDB4MDAsMHg4YiwweGY1LDB4MjIgfX0sCi0gezE2LCAweDhjNDAsIDAsIHsweGYyLDB4MGIsMHg5YywweDAzLDB4YWYsMHgwMCwweGI4LDB4NTAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4N2MsMHgwMCwweDhmIH19LAotIHsxNiwgMHg4YzUwLCAwLCB7MHgwMCwweDBlLDB4NWQsMHgwYiwweDgwLDB4MDIsMHhmNSwweDQwLDB4ODMsMHg1MCwweDIzLDB4NTQsMHgwOCwweDljLDB4MDIsMHhlNiB9fSwKLSB7MTYsIDB4OGM2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDQsMHg0YywweDAwLDB4ODEsMHg4MSwweDJlLDB4NDAgfX0sCi0gezE2LCAweDhjNzAsIDAsIHsweDAzLDB4MmMsMHgwMiwweDA0LDB4MzMsMHg5OSwweDAwLDB4MjAsMHhmMCwweDRhLDB4MjgsMHg4MCwweGNjLDB4NDAsMHhiMCwweDAwIH19LAotIHsxNiwgMHg4YzgwLCAwLCB7MHgyNiwweDEwLDB4MDgsMHgyMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwLDB4MDksMHgyMCwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4OGM5MCwgMCwgezB4YTAsMHgwMiwweDI4LDB4NDAsMHgwOCwweDA4LDB4MDIsMHg3YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjYTAsIDAsIHsweDIwLDB4MDEsMHgwYSwweDAwLDB4ODUsMHg4MCwweDJkLDB4ZjgsMHgwYiwweGRhLDB4MDIsMHhkNiwweDQwLDB4ODUsMHhhMCwweDIxIH19LAotIHsxNiwgMHg4Y2IwLCAwLCB7MHhlMCwweDBiLDB4NDgsMHgwNiwweDkyLDB4MDQsMHhiNSwweDgwLDB4MmQsMHgyMSwweDA4LDB4MDAsMHgwMiwweDRlLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4OGNjMCwgMCwgezB4YTQsMHgyZCwweDYwLDB4MGIsMHg2OCwweDAyLDB4ZGUsMHhjMiwweGFkLDB4OTAsMHgyYiwweDYwLDB4MjgsMHg1OCwweDgyLDB4ZGMgfX0sCi0gezE2LCAweDhjZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4NGMsMHg0MCwweGMzLDB4MTAsMHgyYywweDZjIH19LAotIHsxNiwgMHg4Y2UwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHg4NiwweGEyLDB4ZjksMHhiMCwweGIwLDB4ZTAsMHgwZiwweDI5LDB4ODMsMHhjZSwweDQ0LDB4ZjMsMHg4MCB9fSwKLSB7MTYsIDB4OGNmMCwgMCwgezB4M2MsMHhhYywweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhjMywweDAwLDB4M2MsMHhkNSwweDBmLDB4MjAsMHgwMywweGNlLDB4YzEgfX0sCi0gezE2LCAweDhkMDAsIDAsIHsweGUwLDB4MTAsMHhiOCwweDQwLDB4MGMsMHgwMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZDEwLCAwLCB7MHhjMCwweDFkLDB4YmMsMHgwMCwweGViLDB4MDAsMHgzZSwweGNjLDB4MGYsMHgzMiwweDAzLDB4NjQsMHgwOCwweGY5LDB4MDAsMHgzYiB9fSwKLSB7MTYsIDB4OGQyMCwgMCwgezB4OTAsMHgwZiwweGYwLDB4NDMsMHhlNCwweDQwLDB4ZmIsMHgzNCwweDNmLDB4ODEsMHgwNywweGQxLDB4MDMsMHhhZCwweDIwLDB4ZWIgfX0sCi0gezE2LCAweDhkMzAsIDAsIHsweDIwLDB4N2YsMHhjNCwweDBmLDB4ZTEsMHgwMywweGZjLDB4NTAsMHhjZCwweDEwLDB4MzUsMHg0MCwweDBmLDB4ZDAsMHgwMywweGQwIH19LAotIHsxNiwgMHg4ZDQwLCAwLCB7MHgwMiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDQsMHhmZCwweDA0LDB4M2QsMHg0MCB9fSwKLSB7MTYsIDB4OGQ1MCwgMCwgezB4MmQsMHgzMCwweDAyLDB4M2MsMHgwMCwweGM5LDB4MDEsMHgzZSwweGMwLDB4NGYsMHhiOCwweDQzLDB4ZWMsMHgxMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweDhkNjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweGEwLDB4MjMsMHhlYywweDgwLDB4Y2IsMHgzNiwweDMyLDB4ODAsMHg0ZCwweGE4LDB4MDMsMHgyYywweDEwIH19LAotIHsxNiwgMHg4ZDcwLCAwLCB7MHhjYiwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDZhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGQ4MCwgMCwgezB4YzgsMHgxMSwweDkwLDB4MDgsMHhiNSwweDAwLDB4MmQsMHhjMCwweDA4LDB4NTAsMHgwMiwweGJjLDB4MDIsMHg4NSwweDA0LDB4MmQgfX0sCi0gezE2LCAweDhkOTAsIDAsIHsweGMwLDB4OGUsMHg2MCwweDA2LDB4ZDgsMHgwNCwweGI3LDB4MDQsMHgyMSwweDQwLDB4MGIsMHg3MCwweDAyLDB4ZmMsMHg4MCwweGFmIH19LAotIHsxNiwgMHg4ZGEwLCAwLCB7MHgyOCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgwNiwweDQwLDB4ODcsMHgwMCwweDIxLDB4NTAsMHgwOCwweDUwLDB4MDIsMHgzMiB9fSwKLSB7MTYsIDB4OGRiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDIwLDB4YjcsMHg4MCwweDJiLDB4NzAgfX0sCi0gezE2LCAweDhkYzAsIDAsIHsweDA4LDB4ZjgsMHgwNiwweDFlLDB4MDAsMHg4NywweDgwLDB4MmQsMHhlMCwweDBiLDB4NzAsMHgzMiwweGRlLDB4MDQsMHgzNywweDg0IH19LAotIHsxNiwgMHg4ZGQwLCAwLCB7MHgyNSwweGUwLDB4MGIsMHg2OCwweDA2LDB4ZGUsMHg4MCwweDg3LDB4ODAsMHgyMSwweGExLDB4MWIsMHg2OCwweDAyLDB4MWUsMHg0MCB9fSwKLSB7MTYsIDB4OGRlMCwgMCwgezB4OWYsMHg4MCwweDIwLDB4NjAsMHgwOCwweDU4LDB4MDIsMHgyMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDIwLDB4YjMsMHgwMCwweDJjLDB4ODAsMHg4OCwweGI0LDB4MjIsMHg4ZCwweDAwLDB4ODMsMHg5MCwweDJjIH19LAotIHsxNiwgMHg4ZTAwLCAwLCB7MHhjMCwweDBhLDB4MzgsMHgwMiwweGNlLDB4MDgsMHhiYiwweDIwLDB4MjQsMHhkMCwweDBiLDB4YjMsMHgwMiwweGNjLDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4OGUxMCwgMCwgezB4MDAsMHg2MCwweGQyLDB4MGIsMHgyMCwweDJhLDB4MDQsMHgwOCwweDkzLDB4NTAsMHgyMCwweDQwLDB4MDgsMHgxNywweDBhLDB4MDIgfX0sCi0gezE2LCAweDhlMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmEsMHgwMCwweGJhLDB4YTAsMHgzZiwweDg0IH19LAotIHsxNiwgMHg4ZTMwLCAwLCB7MHgxYywweGUwLDB4MGIsMHgzOCwweDQwLDB4OGUsMHgwNiwweDJlLDB4ODAsMHgwYiwweGUzLDB4MDMsMHhmOCwweDgwLDB4ZmUsMHhlNCB9fSwKLSB7MTYsIDB4OGU0MCwgMCwgezB4YjcsMHg5MCwweDBmLDB4ZWMsMHgwMiwweGU4LDB4MDAsMHg4YSwweDAwLDB4YTMsMHhhMCwweDA5LDB4ZTQsMHgwMywweDJhLDB4MDIgfX0sCi0gezE2LCAweDhlNTAsIDAsIHsweGRlLDB4YzAsMHhmMywweDgwLDB4MGMsMHg2YywweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZTYwLCAwLCB7MHg0OCwweDAxLDB4ZTAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4OGU3MCwgMCwgezB4MzAsMHgwYSwweDg0LDB4MDMsMHhlMCwweDA0LDB4ZjgsMHgwMCwweDNhLDB4MDIsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweDhlODAsIDAsIHsweDAwLDB4M2UsMHgwNCwweDBkLDB4ODAsMHg4MywweGUwLDB4NDAsMHhlOCwweDIwLDB4M2UsMHgwMCwweDJmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4ZTkwLCAwLCB7MHgxMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg2NCB9fSwKLSB7MTYsIDB4OGVhMCwgMCwgezB4NGUsMHg5MCwweDgzLDB4MjQsMHg4MCwweGM5LDB4MDAsMHgzMiwweGUwLDB4MGYsMHgxMCwweDAzLDB4MjUsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweDhlYjAsIDAsIHsweDMyLDB4NDQsMHgwZiwweDkyLDB4MjMsMHg2NCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MTMsMHhlNCwweDAwIH19LAotIHsxNiwgMHg4ZWMwLCAwLCB7MHhjOSwweDAwLDB4MjIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGVkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDIwLDB4MmUsMHg0MCwweDQ4LDB4OTYsMHgyMiwweDI1LDB4MDAsMHhkOSwweGMwLDB4YTIgfX0sCi0gezE2LCAweDhlZTAsIDAsIHsweDcwLDB4MGIsMHg5OCwweDAyLDB4MjQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDcwLDB4NGIsMHg5MCwweDAyLDB4MjQsMHgwMCwweGQ5IH19LAotIHsxNiwgMHg4ZWYwLCAwLCB7MHgwMCwweGEyLDB4NDAsMHgyYywweDk0LDB4MjIsMHhlNCwweDAyLDB4ODksMHgwMCwweGEyLDB4NDAsMHgyOCwweDk0LDB4MTMsMHgyMCB9fSwKLSB7MTYsIDB4OGYwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweDhmMTAsIDAsIHsweDBhLDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4MSwweDgwLDB4YTIsMHg0NCwweDBiLDB4OTEsMHgwMiwweDI1LDB4MDAsMHgxOSwweDQwIH19LAotIHsxNiwgMHg4ZjIwLCAwLCB7MHg2MiwweDQwLDB4MGIsMHhiNCwweDAyLDB4NDQsMHgwMCwweDg5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg5MCwweDgyLDB4YzQsMHgwMSB9fSwKLSB7MTYsIDB4OGYzMCwgMCwgezB4ODMsMHgwMiwweDI4LDB4NDAsMHg0OCwweDkwLDB4ODIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmNDAsIDAsIHsweDAwLDB4MDQsMHgwNSwweDgwLDB4YjEsMHgwMCwweDZjLDB4NTEsMHgwOCwweDE0LDB4MWEsMHgwNSwweDAwLDB4OTMsMHgwMCwweDIwIH19LAotIHsxNiwgMHg4ZjUwLCAwLCB7MHg0MCwweDhiLDB4MTQsMHgwMiwweDA1LDB4MDAsMHhiMSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHgwNiwweDA0LDB4ODAsMHg5MSB9fSwKLSB7MTYsIDB4OGY2MCwgMCwgezB4MjAsMHgyMCwweDQwLDB4MDksMHgxMCwweDAyLDB4YzQsMHhhOCwweDgxLDB4MDAsMHgyOCwweDRhLDB4MDgsMHg5MCwweDRhLDB4NDIgfX0sCi0gezE2LCAweDhmNzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHg4ZjgwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHgyOCwweDAxLDB4YzgsMHg1MCwweDMyLDB4OTQsMHg4YiwweGEwLDB4MDMsMHgyMCwweDAwLDB4YjAsMHg1MCB9fSwKLSB7MTYsIDB4OGY5MCwgMCwgezB4MzIsMHg4MCwweDBmLDB4ODAsMHgwNywweDYxLDB4NTEsMHhjOCwweDUwLDB4MjIsMHgwMCwweDBjLDB4MDAsMHgwMywweGUwLDB4ODQgfX0sCi0gezE2LCAweDhmYTAsIDAsIHsweGM4LDB4MDQsMHgzYSwweDA4LDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZmIwLCAwLCB7MHg5OCwweDlkLDB4ZjQsMHg0MCwweGJkLDB4NDEsMHgzZiwweDUwLDB4MGYsMHhmNCwweDAzLDB4ZjUsMHgxMCwweGZkLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OGZjMCwgMCwgezB4NDAsMHgwZiwweGQ0LDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgxMCwweDJmLDB4NDAsMHg0ZiwweGQ0LDB4NDAsMHhhNCwweDQ4LDB4ZjkgfX0sCi0gezE2LCAweDhmZDAsIDAsIHsweDEyLDB4M2YsMHg1YSwweDhlLDB4ZDIsMHg4MywweGY0LDB4YTgsMHhmNSwweDJjLDB4MzcsMHg0YSwweDBmLDB4ZDIsMHg4MywweGE2IH19LAotIHsxNiwgMHg4ZmUwLCAwLCB7MHgxMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4ODAsMHhmZCwweDI4LDB4M2YsMHg0YyB9fSwKLSB7MTYsIDB4OGZmMCwgMCwgezB4MGYsMHg1MCwweDAzLDB4M2MsMHg0NCwweGNkLDB4NDAsMHgzZiwweGQwLDB4MGQsMHhkMCwweDAyLDB4MTQsMHgwMSwweGZkLDB4YTAgfX0sCi0gezE2LCAweDkwMDAsIDAsIHsweDMxLDB4NDAsMHgwMywweGQwLDB4MDMsMHhlNywweDg5LDB4ZjksMHg5MCwweDdlLDB4NTAsMHgwYywweDk0LDB4MDMsMHhlNiwweGMwIH19LAotIHsxNiwgMHg5MDEwLCAwLCB7MHhjOSwweDEwLDB4MzIsMHg2ZCwweDBmLDB4OTEsMHgwMiwweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTAyMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4ODAsMHhiOCwweDAxLDB4MmUsMHgwYywweDhiLDB4ODQsMHg4MiwweDIwLDB4NDIsMHg4OCwweGEwLDB4NmUgfX0sCi0gezE2LCAweDkwMzAsIDAsIHsweDIwLDB4MDgsMHg4MCwweDAzLDB4NjAsMHgwMCwweDk4LDB4ZTgsMHgyMiwweDAwLDB4MDksMHg4MCwweDAyLDB4ZTMsMHhjMCwweGU4IH19LAotIHsxNiwgMHg5MDQwLCAwLCB7MHhkMCwweDJlLDB4MjgsMHgwOCwweDhhLDB4MjMsMHhlMiwweDg0LDB4ZDgsMHhhMCwweDIyLDB4M2QsMHgwYiwweGM4LDB4MDIsMHhjZSB9fSwKLSB7MTYsIDB4OTA1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNSwweGIwLDB4YjEsMHgwMCwweDJjLDB4NDggfX0sCi0gezE2LCAweDkwNjAsIDAsIHsweDBiLDB4MTMsMHgwMiwweDA0LDB4MDIsMHhiMSwweDIwLDB4MmUsMHg0MCwweDg4LDB4MTAsMHgyMiwweGM0LDB4MDAsMHhiMSwweDE0IH19LAotIHsxNiwgMHg5MDcwLCAwLCB7MHgyNCwweDQwLDB4MGIsMHgxMCwweDUyLDB4YzQsMHgwMCwweGIxLDB4MjEsMHgyZCwweDQ4LDB4MGEsMHg1MiwweDAyLDB4ZDUsMHgwMCB9fSwKLSB7MTYsIDB4OTA4MCwgMCwgezB4YmQsMHgwMCwweGFkLDB4NDAsMHgwYiwweDUyLDB4MDIsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkwOTAsIDAsIHsweDE4LDB4NTUsMHhhNSwweDAwLDB4YjksMHg4MiwweDJlLDB4NDksMHg4YiwweGIwLDB4MTIsMHgyNCwweDEwLDB4OTksMHgwMiwweDJlIH19LAotIHsxNiwgMHg5MGEwLCAwLCB7MHg0MCwweDA4LDB4YjIsMHgwMCwweDY1LDB4MDAsMHg5OSwweDgwLDB4MjYsMHg0NCwweDA5LDB4OTEsMHgwMiwweGU0LDB4MDksMHhhOSB9fSwKLSB7MTYsIDB4OTBiMCwgMCwgezB4MDQsMHgyZSwweDQ2LDB4MGEsMHhkNCwweDAyLDB4YjQsMHgwMCwweGJkLDB4NDAsMHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4YzYgfX0sCi0gezE2LCAweDkwYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHg0MCwweGY5LDB4ODAsMHgyZSwweDYyIH19LAotIHsxNiwgMHg5MGQwLCAwLCB7MHgwZiwweDljLDB4NDIsMHgyNCwweDAwLDB4OTksMHgwMSwweDJlLDB4NjgsMHgyYywweDkyLDB4MDIsMHg2NCwweDAwLDB4YjksMHg0MCB9fSwKLSB7MTYsIDB4OTBlMCwgMCwgezB4YjYsMHg2MCwweDBmLDB4OWEsMHgwMywweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg3MCwweDNlLDB4OTksMHgwNiwweGU0LDB4MDIgfX0sCi0gezE2LCAweDkwZjAsIDAsIHsweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5OCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MTAwLCAwLCB7MHg2OCwweDAxLDB4YTYsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MWYsMHgxMiwweGFiLDB4ZTQsMHgwMCwweGU5LDB4OTAsMHgzZSB9fSwKLSB7MTYsIDB4OTExMCwgMCwgezB4NDksMHgwZSwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNhLDB4NDAsMHgwZCwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweDkxMjAsIDAsIHsweDAxLDB4M2UsMHg2MCwweDA1LDB4OTAsMHgxMywweGU0LDB4MDAsMHg1OSwweDIwLDB4MzIsMHg0MCwweDhmLDB4OTEsMHgwMywweGRhIH19LAotIHsxNiwgMHg5MTMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDA4LDB4M2UsMHgwMSB9fSwKLSB7MTYsIDB4OTE0MCwgMCwgezB4MGYsMHg4NCwweDYzLDB4MDAsMHgyMiwweGU4LDB4MjAsMHgzZSwweDEzLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHhjMCwweGQ4LDB4NGMgfX0sCi0gezE2LCAweDkxNTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDg0LDB4NDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDIyLDB4MTAsMHgwZiwweDg0LDB4MDMsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MTYwLCAwLCB7MHhjOCwweDAwLDB4YjIsMHgwMCwweDBjLDB4YzAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTE3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDAwLDB4MmYsMHg4NiwweDRiLDB4ZTAsMHgwMiwweDM5LDB4MDgsMHg4ZSwweDIwLDB4MmQgfX0sCi0gezE2LCAweDkxODAsIDAsIHsweDkwLDB4MGIsMHhlZCwweDkyLDB4ZjgsMHgwMiwweDhlLDB4ZTAsMHhhMywweDk4LDB4MDgsMHhlMCwweDAyLDB4ZTgsMHgwOCwweGJhIH19LAotIHsxNiwgMHg5MTkwLCAwLCB7MHgwMCwweDYyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4MDIsMHg4MCwweDAyLDB4ODAsMHg0OCwweGUwLDB4MDMsMHg0YSB9fSwKLSB7MTYsIDB4OTFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgxMCwweDJjLDB4ZjAgfX0sCi0gezE2LCAweDkxYjAsIDAsIHsweDBhLDB4MTQsMHgyYSwweDBkLDB4MWEsMHhiMywweDAxLDB4MjQsMHhkMCwweDBiLDB4YmMsMHgzMiwweGNjLDB4MDgsMHgwMywweDAwIH19LAotIHsxNiwgMHg5MWMwLCAwLCB7MHgyMCwweGM4LDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDIsMHgyMiwweGMwLDB4MDksMHgzMCwweDAyLDB4MGMsMHgxMSB9fSwKLSB7MTYsIDB4OTFkMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgyOCwweDIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxZTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAxLDB4ODUsMHgwMCwweDJkLDB4MDAsMHgwYiwweDcwLDB4MDIsMHgxOCwweDMyLDB4ODYsMHgwMCwweDJkIH19LAotIHsxNiwgMHg5MWYwLCAwLCB7MHhjMCwweDBiLDB4NjAsMHgxNiwweGZlLDB4MDQsMHg4NiwweDAwLDB4MjcsMHhhMCwweDhiLDB4NzAsMHg0MiwweGRjLDB4ODAsMHhiNyB9fSwKLSB7MTYsIDB4OTIwMCwgMCwgezB4ODAsMHgyMSwweDAxLDB4MDgsMHhmOCwweDBhLDB4MTgsMHgwMCwweDg2LDB4MDgsMHgyMCwweGEwLDB4MDgsMHhlOCwweDBhLDB4NjggfX0sCi0gezE2LCAweDkyMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4M2UsMHgwMiwweGM2LDB4ODAsMHgzZCwweGUwIH19LAotIHsxNiwgMHg5MjIwLCAwLCB7MHgwZiwweDQ4LDB4MDMsMHgwNiwweDA0LDB4ZjUsMHg4MiwweDM1LDB4ZTAsMHgwZiwweDc4LDB4MDMsMHhkYSwweDAwLDB4ZDMsMHg4MCB9fSwKLSB7MTYsIDB4OTIzMCwgMCwgezB4MzEsMHg2MCwweDA3LDB4NzgsMHgwMywweGRlLDB4MjAsMHhmMywweGIwLDB4ODEsMHhlMCwweDRmLDB4NjgsMHgwNywweDBlLDB4MDIgfX0sCi0gezE2LCAweDkyNDAsIDAsIHsweGNmLDB4ODAsMHgzMSwweGUwLDB4MGMsMHg3OCwweDEzLDB4MmEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MjUwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHhhMCwweGY5LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhiMCwweDUzLDB4ZjgsMHgxMCwweGE5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OTI2MCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MDEsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNhLDB4YzAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDkyNzAsIDAsIHsweDc0LDB4M2MsMHgwMCwweDBmLDB4MjAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4MzAsMHgwMywweGMyIH19LAotIHsxNiwgMHg5MjgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDIsMHg4ZiwweDgwLDB4MzUsMHhlMCB9fSwKLSB7MTYsIDB4OTI5MCwgMCwgezB4OGQsMHhkOSwweDAzLDB4MmUsMHhjNCwweGY2LDB4ODAsMHgzMiwweGE0LDB4MGMsMHhiOCwweDAzLDB4ZGUsMHgwMCwweGNmLDB4OTAgfX0sCi0gezE2LCAweDkyYTAsIDAsIHsweDNjLDB4ZTQsMHgwYywweGI4LDB4MDMsMHhmZSwweDY1LDB4ZmYsMHg4MCwweDBmLDB4ZWMsMHg4ZiwweGY4LDB4MDMsMHhmZSwweDAwIH19LAotIHsxNiwgMHg5MmIwLCAwLCB7MHhjNSwweDgwLDB4MzMsMHhlMCwweDBmLDB4NjgsMHgwMywweDEwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTJjMCwgMCwgezB4YWEsMHgxMSwweDljLDB4ODAsMHg4NCwweGIwLDB4MjAsMHgyMCwweDI5LDB4NzMsMHgwYSwweDBlLDB4ODIsMHhhMiwweGEwLDB4YTIgfX0sCi0gezE2LCAweDkyZDAsIDAsIHsweGEwLDB4NGYsMHgzYiwweDAzLDB4ODcsMHg4NCwweGIyLDB4ODAsMHgyYywweGEwLDB4MGEsMHg3ZCwweDAyLDB4ZGUsMHg4MCwweGY3IH19LAotIHsxNiwgMHg5MmUwLCAwLCB7MHgyMCwweDI1LDB4MDYsMHgwOCwweDcwLDB4MDIsMHhjOCwweDQwLDB4ODQsMHgwMCwweDM1LDB4ODAsMHgwYiwweDYwLDB4MDMsMHg2YSB9fSwKLSB7MTYsIDB4OTJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDEwLDB4ODYsMHgzOCwweDI3LDB4YzAgfX0sCi0gezE2LCAweDkzMDAsIDAsIHsweDQ5LDB4NTQsMHgwNiwweDU0LDB4NDAsMHgxZCwweDIwLDB4MjEsMHhjYSwweDA5LDB4NjEsMHg0MCwweGY4LDB4ODAsMHhiNywweDIwIH19LAotIHsxNiwgMHg5MzEwLCAwLCB7MHgyZiwweDAwLDB4ODksMHg3MCwweDEyLDB4ZGMsMHg4MSwweGI3LDB4MDQsMHgyZCwweGM5LDB4MGEsMHg2MCwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4OTMyMCwgMCwgezB4OGQsMHgwMCwweDJkLDB4YzAsMHgwYiwweGY4LDB4MDIsMHgwNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzMzAsIDAsIHsweDYwLDB4MTQsMHhjZCwweDI4LDB4ODAsMHgwMCwweDI0LDB4MDAsMHgwOSwweGIwLDB4MjIsMHg0YywweDAyLDB4YTEsMHgwMSwweDIwIH19LAotIHsxNiwgMHg5MzQwLCAwLCB7MHgzMCwweDFiLDB4MjMsMHgwMiwweGFmLDB4MjAsMHhiMywweDA4LDB4MmMsMHg4MCwweDFiLDB4MzAsMHgwMCwweGNjLDB4MDQsMHhhMyB9fSwKLSB7MTYsIDB4OTM1MCwgMCwgezB4MDEsMHgyNiwweDMwLDB4MDgsMHhhYywweDIyLDB4ZTgsMHgwMiwweDgwLDB4MDgsMHgyZSwweDgwLDB4NGIsMHhiNCwweDAyLDB4NTggfX0sCi0gezE2LCAweDkzNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgxMCwweDhiLDB4ODAsMHgzNiwweGYwIH19LAotIHsxNiwgMHg5MzcwLCAwLCB7MHgyZCwweGJjLDB4MGIsMHg2YywweDAxLDB4ZGEsMHgwNCwweDIyLDB4NDAsMHg3ZCwweDk0LDB4MjIsMHhlNCwweDAwLDB4YWIsMHg0NCB9fSwKLSB7MTYsIDB4OTM4MCwgMCwgezB4MmUsMHhjMCwweDA5LDB4YjgsMHgwMiwweGZjLDB4MDAsMHhiZiwweDAwLDB4M2UsMHhmMCwweGNhLDB4OTIsMHgwMiwweGU0LDB4MDIgfX0sCi0gezE2LCAweDkzOTAsIDAsIHsweGNiLDB4MDAsMHg2ZSwweDQwLDB4MGYsMHg4NCwweDAxLDB4MmUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5M2EwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzYSwweGUwLDB4MmUsMHhiYywweDAzLDB4OTgsMHgwOCwweGVhLDB4NDAsMHgzNiB9fSwKLSB7MTYsIDB4OTNiMCwgMCwgezB4NDMsMHg4YywweDkwLDB4MDMsMHhhNCwweDQ0LDB4MmEsMHg0MCwweDNlLDB4MTAsMHgwZSwweGI1LDB4ODMsMHhlYywweDE0LDB4ZmIgfX0sCi0gezE2LCAweDkzYzAsIDAsIHsweDAwLDB4MjYsMHgwMCwweDBlLDB4OTIsMHgwMywweGUwLDB4NDAsMHhmYSwweDAwLDB4MTYsMHgwMCwweDBmLDB4ODAsMHgxMywweGUwIH19LAotIHsxNiwgMHg5M2QwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGVjLDB4MDIsMHhmYSwweDgwLDB4M2YsMHhlMiB9fSwKLSB7MTYsIDB4OTNlMCwgMCwgezB4MGYsMHhiMCwweDBiLDB4MjQsMHgwMCwweGVmLDB4OTIsMHhiYiwweGUwLDB4MWMsMHhkMCwweDAzLDB4NzQsMHgwMCwweGNmLDB4MDUgfX0sCi0gezE2LCAweDkzZjAsIDAsIHsweDNiLDB4NDAsMHgwZiwweGM4LDB4MDMsMHg1YywweDAwLDB4Y2YsMHgwMCwweDMyLDB4YzIsMHg0ZCwweGMxLDB4MjMsMHgzNCwweDQwIH19LAotIHsxNiwgMHg5NDAwLCAwLCB7MHhjZiwweDAwLDB4MTcsMHg0NCwweDBjLDB4ZDEsMHg4MywweDAwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTQxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDg0LDB4MmUsMHg1NCwweDBiLDB4YmMsMHgwYSwweDI5LDB4ODAsMHg4YiwweDgwLDB4MzIgfX0sCi0gezE2LCAweDk0MjAsIDAsIHsweDAwLDB4MDgsMHg5YywweDAzLDB4YTcsMHgwMCwweGFiLDB4ODQsMHgyZSwweDdjLDB4MGIsMHg4MCwweDAyLDB4MmMsMHgxMCwweGRiIH19LAotIHsxNiwgMHg5NDMwLCAwLCB7MHgwMSwweDM2LDB4MDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODIsMHgwMCwweDIyLDB4MDAsMHgwOCwweDkwLDB4MDIsMHgyNCB9fSwKLSB7MTYsIDB4OTQ0MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwYywweDAwLDB4ODksMHgxMCwweDY2LDB4OTAgfX0sCi0gezE2LCAweDk0NTAsIDAsIHsweDBiLDB4YjgsMHgwMiwweDZlLDB4MTIsMHhhMywweDQxLDB4MjAsMHgwNCwweDBhLDB4OTgsMHgyMiwweGUyLDB4MDAsMHg4OSwweDE5IH19LAotIHsxNiwgMHg5NDYwLCAwLCB7MHgyZSwweGMwLDB4NGIsMHgzMSwweDIyLDB4NmMsMHgwOCwweDgzLDB4MDAsMHgyMiwweGMwLDB4MDksMHg5MCwweDAyLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4OTQ3MCwgMCwgezB4ODksMHgwMCwweDJhLDB4NDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0ODAsIDAsIHsweDA4LDB4MTAsMHgwYywweDAwLDB4ODAsMHgyMCwweDJjLDB4MGUsMHgxYiwweDMwLDB4MDIsMHgwNCwweDQxLDB4ODAsMHgyMCwweDIwIH19LAotIHsxNiwgMHg5NDkwLCAwLCB7MHgxMiwweDE4LDB4MTYsMHg0MiwweDAwLDB4NTAsMHhhMCwweDQwLDB4MmMsMHg4OCwweDFiLDB4MzAsMHgwMiwweDBjLDB4ODEsMHg5MyB9fSwKLSB7MTYsIDB4OTRhMCwgMCwgezB4MDAsMHgyNCwweDAwLDB4MDgsMHgxMCwweDJhLDB4MDAsMHgwYSwweDg4LDB4MDAsMHgyOCwweDAwLDB4MjgsMHgwMCwweDBhLDB4MDIgfX0sCi0gezE2LCAweDk0YjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4N2MsMHgxMSwweGU4LDB4MDAsMHgyNiwweDk4IH19LAotIHsxNiwgMHg5NGMwLCAwLCB7MHgwZiwweGIwLDB4MTMsMHgyMSwweDBjLDB4ZWIsMHg2MCwweDNhLDB4ZDgsMHgyOCwweDg0LDB4YTIsMHhlMSwweDgwLDB4YzgsMHgyMCB9fSwKLSB7MTYsIDB4OTRkMCwgMCwgezB4M2UsMHg1ZSwweDFmLDB4ODIsMHgwMywweDdjLDB4MDAsMHhjZiwweDAwLDB4MzIsMHhjMCwweDRkLDB4ODAsMHgwNywweDI1LDB4MDAgfX0sCi0gezE2LCAweDk0ZTAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NGYwLCAwLCB7MHhhMSwweDExLDB4ZmMsMHgwMCwweGY4LDB4MTMsMHgxZSwweDAwLDB4MGIsMHhmMCwweDAxLDB4ZjAsMHhkMCwweGY5LDB4MTksMHgxZiB9fSwKLSB7MTYsIDB4OTUwMCwgMCwgezB4MDgsMHg0ZiwweGMwLDB4MTMsMHhhMSwweDAwLDB4ZjgsMHg2MiwweDNmLDB4YzAsMHgwYiwweGM0LDB4MDcsMHhlZCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweDk1MTAsIDAsIHsweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgyMywweGYwLDB4YTAsMHhmYywweDAwLDB4MzMsMHgwMCwweDBmLDB4ZDAsMHgwMywweGU4IH19LAotIHsxNiwgMHg5NTIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhmZiwweDBjLDB4M2YsMHgyMCB9fSwKLSB7MTYsIDB4OTUzMCwgMCwgezB4MGMsMHhjOSwweDAzLDB4MzIsMHgwMCwweGNmLDB4MzgsMHgzZiwweGQwLDB4MGYsMHg0OCwweDAzLDB4ZmMsMHhhMCwweGNlLDB4MjIgfX0sCi0gezE2LCAweDk1NDAsIDAsIHsweDMzLDB4MDAsMHgwZiwweGMxLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzQsMHg0YywweGMwLDB4MjMsMHg4YywweGU0IH19LAotIHsxNiwgMHg5NTUwLCAwLCB7MHhmZiwweDEwLDB4MzcsMHgyMCwweDA4LDB4ZjEsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTU2MCwgMCwgezB4ODAsMHgxMCwweGZlLDB4MDAsMHhiZiwweDgwLDB4MmUsMHg3NCwweDA1LDB4MjIsMHgwMiwweGEyLDB4MTAsMHhkZiwweDYxLDB4MmYgfX0sCi0gezE2LCAweDk1NzAsIDAsIHsweGQwLDB4OGIsMHg5MCwweDAyLDB4M2QsMHhhNCwweGFhLDB4OTAsMHgyMiwweGY0LDB4MGIsMHgwNywweDEyLDB4MWQsMHgyMCwweGJiIH19LAotIHsxNiwgMHg5NTgwLCAwLCB7MHhjMCwweDJmLDB4ZDgsMHg4OCwweDk3LDB4ODIsMHhmZCwweDgwLDB4ZWYsMHg3MiwweDIyLDB4MDgsMHgyOCwweGY2LDB4MjMsMHhlMCB9fSwKLSB7MTYsIDB4OTU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YjMsMHgwMCwweDJjLDB4MDAgfX0sCi0gezE2LCAweDk1YTAsIDAsIHsweDA4LDB4ODIsMHgwMiwweDIyLDB4MDAsMHg4MywweDAxLDB4MDgsMHhjYywweDhiLDB4MjAsMHg4MiwweGNjLDB4MDAsMHg5MCwweDAwIH19LAotIHsxNiwgMHg5NWIwLCAwLCB7MHgyMCwweDAwLDB4NGIsMHgxMiwweDAyLDB4MGQsMHg4MCwweGIzLDB4NDAsMHgyYywweGQ4LDB4MDgsMHgyMCwweDQyLDB4OGMsMHg4MCB9fSwKLSB7MTYsIDB4OTVjMCwgMCwgezB4YjMsMHgyMCwweDI2LDB4MDIsMHgxOCwweDMzLDB4MjYsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1ZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA5LDB4YmIsMHgwMCwweDJlLDB4NjAsMHgwOCwweDgwLDB4MDIsMHhhMiwweDAwLDB4OWIsMHgwMCwweDJlIH19LAotIHsxNiwgMHg5NWUwLCAwLCB7MHhjMCwweDBiLDB4YWMsMHgwMiwweDJjLDB4MDAsMHhiYSwweDA2LDB4MjIsMHhjMiwweDBiLDB4OTQsMHgwMiwweGFjLDB4MTAsMHhiYiB9fSwKLSB7MTYsIDB4OTVmMCwgMCwgezB4MDAsMHgyZSwweGMxLDB4MDgsMHhhOCwweDAyLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHgyMiwweDAwLDB4MDgsMHhiMCwweDA2LDB4ZjAgfX0sCi0gezE2LCAweDk2MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDE1LDB4ZWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDYwIH19LAotIHsxNiwgMHg5NjEwLCAwLCB7MHgyOCwweDgyLDB4MTMsMHgwZSwweDA4LDB4Y2IsMHgwMCwweDNhLDB4YzAsMHgwZiwweDhjLDB4MDMsMHhlYywweDExLDB4ZGIsMHgyMCB9fSwKLSB7MTYsIDB4OTYyMCwgMCwgezB4YjIsMHg5MCwweDRiLDB4YTgsMHgwYiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmMsMHhjMCwweDBjLDB4ODgsMHgxMywweGFjLDB4MDAgfX0sCi0gezE2LCAweDk2MzAsIDAsIHsweGYzLDB4MDAsMHgzNiwweDA2LDB4NDgsMHhiMCwweDEyLDB4YzQsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NjQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZiLDB4MDgsMHgzZCwweDQwLDB4OGYsMHhlYSwweDAxLDB4ZjQsMHgwMCwweGZmLDB4MDEsMHgyZiB9fSwKLSB7MTYsIDB4OTY1MCwgMCwgezB4YzAsMHgwZiwweGQwLDB4MjIsMHhmYywweDA0LDB4YWYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGU5LDB4MDMsMHg3YywweDAwLDB4ZmYgfX0sCi0gezE2LCAweDk2NjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4OTAsMHg0MywweGZjLDB4MjAsMHhlZiwweDAyLDB4M2YsMHgwMCwweDhmLDB4ZjAsMHgwMywweGI4IH19LAotIHsxNiwgMHg5NjcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgxMCwweGFjLDB4MDgsMHhlYiwweDAwLDB4MTIsMHg0MCB9fSwKLSB7MTYsIDB4OTY4MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MjgsMHgyMCwweGFiLDB4MDAsMHgzYSwweGMwLDB4OGYsMHg4NSwweDgzLDB4YWMsMHgxMCwweGYzLDB4NTAgfX0sCi0gezE2LCAweDk2OTAsIDAsIHsweDMyLDB4OTAsMHg0YywweDM0LDB4MTMsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwYywweDk4LDB4MDMsMHgyYywweDQwIH19LAotIHsxNiwgMHg5NmEwLCAwLCB7MHhlYiwweDgwLDB4MzIsMHgxMiwweDBkLDB4YjAsMHgwYiwweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTZiMCwgMCwgezB4ODgsMHgwMSwweDNjLDB4MTAsMHgwZiwweDA1LDB4YTIsMHg1MCwweDBjLDB4MTAsMHgwMiwweDIyLDB4MTAsMHg4ZiwweDAwLDB4MjMgfX0sCi0gezE2LCAweDk2YzAsIDAsIHsweGMwLDB4MGIsMHg4OCwweDEyLDB4M2MsMHgwMCwweDliLDB4ODIsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4M2MsMHgwMCwweDhmIH19LAotIHsxNiwgMHg5NmQwLCAwLCB7MHhhMCwweDJmLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgzYywweDA4LDB4OGYsMHgwMiwweDIwLDB4MDAsMHgwOCwweGYwLDB4MDMsMHgyNiB9fSwKLSB7MTYsIDB4OTZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZCwweDIwLDB4OTMsMHgwMCwweDIwLDB4YjIgfX0sCi0gezE2LCAweDk2ZjAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDAxLDB4MDAsMHhhMywweDAwLDB4NjgsMHhjMCwweDBiLDB4ODQsMHgwMiwweGFjLDB4MDAsMHhiMywweDgwIH19LAotIHsxNiwgMHg5NzAwLCAwLCB7MHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4NGMsMHgwMCwweGEzLDB4MDQsMHgyYywweGMwLDB4MDgsMHgwMCwweDAyLDB4MGQsMHgwMCB9fSwKLSB7MTYsIDB4OTcxMCwgMCwgezB4YTMsMHgwMCwweDIwLDB4MjQsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk3MjAsIDAsIHsweDcwLDB4MDEsMHgxYywweDIwLDB4OTcsMHg4MCwweDIzLDB4NjAsMHgwOCwweDc4LDB4MTIsMHgzYSwweDAwLDB4ODMsMHg5MSwweDI5IH19LAotIHsxNiwgMHg5NzMwLCAwLCB7MHhlNCwweDBiLDB4NTksMHgwMiwweDFlLDB4MDAsMHg5NywweDkwLDB4MjAsMHhmYywweDBhLDB4NzgsMHgwMiwweDFlLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4OTc0MCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MTksMHg1OSwweDAyLDB4MWUsMHg4MCwweDgzLDB4ODAsMHg2MSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MTggfX0sCi0gezE2LCAweDk3NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MCwweGQzLDB4MzIsMHgzMCwweDA2IH19LAotIHsxNiwgMHg5NzYwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHgwNCwweDY0LDB4ZTMsMHgwMSwweDM4LDB4YzQsMHgxZiwweDMwLDB4MDcsMHg4YywweDE4LDB4ZjEsMHgwMCB9fSwKLSB7MTYsIDB4OTc3MCwgMCwgezB4MzAsMHg0YywweDBlLDB4MzAsMHgwMywweDRjLDB4MDAsMHhlMywweDAwLDB4MmMsMHhjMCwweDBjLDB4MjAsMHgwMywweDBlLDB4MDAgfX0sCi0gezE2LCAweDk3ODAsIDAsIHsweGUzLDB4MDAsMHgzMiwweDA4LDB4MGMsMHhiMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NzkwLCAwLCB7MHg0MCwweDFkLDB4OWMsMHg4MCwweGVmLDB4MTAsMHgzZCwweDQ0LDB4NGYsMHhmMSwweDA3LDB4Y2MsMHgwMCwweGZmLDB4MDgsMHgzNiB9fSwKLSB7MTYsIDB4OTdhMCwgMCwgezB4YzYsMHhjZiwweGIwLDB4MDMsMHhmYywweDAwLDB4OTcsMHgwMCwweGJlLDB4Y2MsMHgwZCwweGIxLDB4MDMsMHhmZCwweDA0LDB4ZmYgfX0sCi0gezE2LCAweDk3YjAsIDAsIHsweDBjLDB4M2YsMHhkMiwweDllLDB4ZTAsMHg0YiwweGZkLDB4MjAsMHhmZiwweDAyLDB4M2YsMHg4MCwweDBlLDB4ZjAsMHgxMywweGQwIH19LAotIHsxNiwgMHg5N2MwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGVjLDB4YzAsMHhjYiwweDI4LDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4OTdkMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDEsMHgzMiwweGU5LDB4MGMsMHgyOCwweDAzLDB4MmMsMHgwMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweDk3ZTAsIDAsIHsweDMyLDB4YzAsMHgwYywweGI0LDB4ODMsMHgyYywweDAxLDB4ZWYsMHgwMCwweGIyLDB4YzgsMHgwYywweDIwLDB4MDMsMHg2ZCwweDAwIH19LAotIHsxNiwgMHg5N2YwLCAwLCB7MHhjYiwweDEwLDB4M2UsMHgwMCwweDBmLDB4YjIsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTgwMCwgMCwgezB4YzgsMHg5MSwweDljLDB4YzQsMHg4NywweDYwLDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhiNywweDEyLDB4MjAgfX0sCi0gezE2LCAweDk4MTAsIDAsIHsweGNjLDB4MGEsMHg3MCwweDAyLDB4MWMsMHhjMCwweGIzLDB4MDAsMHhhMCwweGMwLDB4YzgsMHg3MCwweDIyLDB4MWMsMHg4MCwweGI3IH19LAotIHsxNiwgMHg5ODIwLCAwLCB7MHgyNCwweDIxLDB4YzgsMHg0OCwweDUwLDB4MDIsMHgwYywweDgwLDB4ODcsMHgxMCwweDJkLDB4NDAsMHgwYiwweDcyLDB4ODIsMHhmMiB9fSwKLSB7MTYsIDB4OTgzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg4ZSwweDAyLDB4ODcsMHg4MCwweDJkLDB4ZTAgfX0sCi0gezE2LCAweDk4NDAsIDAsIHsweDBiLDB4NzgsMHgxMiwweGRlLDB4MDAsMHhiNywweGEwLDB4MjEsMHhlMCwweDA4LDB4ZjgsMHg4ZSwweDFlLDB4NDAsMHhiNywweDg4IH19LAotIHsxNiwgMHg5ODUwLCAwLCB7MHgyMSwweGUwLDB4MDgsMHgzOCwweDAyLDB4MWUsMHg0MCwweGIzLDB4YTEsMHgyMCwweGU4LDB4NDgsMHhmOCwweDgyLDB4NWUsMHgwMiB9fSwKLSB7MTYsIDB4OTg2MCwgMCwgezB4ODcsMHg4MCwweDJkLDB4MjIsMHgwYiwweDc5LDB4MDIsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4NzAsIDAsIHsweDA4LDB4MDQsMHhjYywweDA0LDB4ODMsMHgwMiwweDJjLDB4ZDQsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweGEwIH19LAotIHsxNiwgMHg5ODgwLCAwLCB7MHhjMCwweDhhLDB4MzgsMHgwNiwweDBjLDB4MDAsMHhiMywweDgwLDB4MjAsMHhlMSwweDQ4LDB4MzksMHgxMiwweDJjLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4OTg5MCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDgyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyYywweDQ4LDB4MGIsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDk4YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4YTgsMHgwMCwweGNhLDB4MDAsMHgzZiwweGEwIH19LAotIHsxNiwgMHg5OGIwLCAwLCB7MHgwZiwweGU0LDB4MDMsMHhkOCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGU4LDB4MDMsMHgyOCwweDAwLDB4ZmEsMHg0MCB9fSwKLSB7MTYsIDB4OThjMCwgMCwgezB4MzIsMHhhOCwweDJjLDB4YTAsMHgwOSwweDI4LDB4MDgsMHhmMiwweDAwLDB4MzIsMHg4MCwweDBjLDB4ZTQsMHgwMywweDY4LDB4MDAgfX0sCi0gezE2LCAweDk4ZDAsIDAsIHsweGNhLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OGUwLCAwLCB7MHg0OCwweDAwLDB4YzAsMHgwMCwweGY4LDB4MDEsMHgzZSwweDEyLDB4MGIsMHg4MCwweDAzLDB4ZTAsMHg0MCwweGY4LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OThmMCwgMCwgezB4MDAsMHg0ZiwweDg0LDB4MDMsMHhlMCwweDA0LDB4ZjAsMHgwOCwweDNlLDB4MDAsMHg0ZiwweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweDk5MDAsIDAsIHsweDQxLDB4M2UsMHgwMCwweDJmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg5OTEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU2LDB4MDAsMHhjOSwweDEyLDB4M2UsMHg1MCB9fSwKLSB7MTYsIDB4OTkyMCwgMCwgezB4OGYsMHg5MCwweDgzLDB4ZTQsMHgyMCwweGMxLDB4MDAsMHgzYSwweDQxLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweDk5MzAsIDAsIHsweDMwLDB4NjgsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNhLDB4NDAsMHgwZSwweDk4LDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHg5OTQwLCAwLCB7MHhjOSwweDkwLDB4M2UsMHg2OSwweDBjLDB4MTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTk1MCwgMCwgezB4ODAsMHgwNCwweDY3LDB4NGEsMHg4OSwweDgwLDB4MmUsMHg1MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4ODAsMHhhOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweDk5NjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDEsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgxMCwweDg5IH19LAotIHsxNiwgMHg5OTcwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHgwOCwweDkzLDB4MDIsMHgyNCwweDIyLDB4ODksMHg0MiwweDJjLDB4NjAsMHg0OCwweDkwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4OTk4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHgyNCwweDAwLDB4OTksMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweDk5OTAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwIH19LAotIHsxNiwgMHg5OWEwLCAwLCB7MHgyMywweDQwLDB4MDgsMHhkMCwweDAyLDB4MjQsMHgwMCwweDk5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5MCwweDA2LDB4MjQsMHg0MCB9fSwKLSB7MTYsIDB4OTliMCwgMCwgezB4ODksMHg0MSwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5YzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDgwLDB4OTEsMHgyMCwweDJjLDB4NDgsMHgwYiwweDEwLDB4MDIsMHhjNCwweDAwLDB4YTEsMHgyMCwweDIwIH19LAotIHsxNiwgMHg5OWQwLCAwLCB7MHg0OCwweDBiLDB4MTAsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIwLDB4YTEsMHg0OSwweDA4LDB4NTIsMHg0YSwweDA0LDB4ODAsMHg4MSB9fSwKLSB7MTYsIDB4OTllMCwgMCwgezB4MDAsMHgyMCwweDQ4LDB4NDgsMHgxMiwweDBhLDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyYywweDQwLDB4MjgsMHgxMiwweDAyLDB4MDIgfX0sCi0gezE2LCAweDk5ZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwOCwweGQ4LDB4MDQsMHgzZSwweDgwIH19LAotIHsxNiwgMHg5YTAwLCAwLCB7MHgwZiwweDg1LDB4MDMsMHhlMCwweDAwLDB4YzAsMHg1MCwweDNhLDB4MTQsMHgwZiwweGE1LDB4MDMsMHhlMSwweDQwLDB4ZjgsMHgwMiB9fSwKLSB7MTYsIDB4OWExMCwgMCwgezB4MzIsMHg4MCwweDJjLDB4YzUsMHgwMywweDIxLDB4NDAsMHhkYSwweDAwLDB4M2EsMHgxNCwweDBlLDB4ODUsMHg0MywweDIxLDB4NDAgfX0sCi0gezE2LCAweDlhMjAsIDAsIHsweGM4LDB4NTIsMHgzZSwweDE0LDB4MGMsMHg4NSwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YTMwLCAwLCB7MHg4OCwweDFkLDB4ZTQsMHg0NCwweGU5LDB4MTAsMHgzZiwweDQ0LDB4NGYsMHhkMCwweDAyLDB4ZmMsMHgwMCwweGY5LDB4MTIsMHgzZSB9fSwKLSB7MTYsIDB4OWE0MCwgMCwgezB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDNlLDB4NDQsMHg0ZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZTkgfX0sCi0gezE2LCAweDlhNTAsIDAsIHsweDQwLDB4M2UsMHg0NCwweDBmLDB4ZDEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEyLDB4M2YsMHg0MCwweDBmLDB4OTEsMHgwMywweGU2IH19LAotIHsxNiwgMHg5YTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGY2LDB4YTAsMHhmZCwweDgwLDB4YjMsMHg0MCB9fSwKLSB7MTYsIDB4OWE3MCwgMCwgezB4MGMsMHgxMCwweDAzLDB4MTQsMHgwMCwweGZkLDB4YTAsMHgzMiwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZTQsMHgwMCwweGY1LDB4ODYgfX0sCi0gezE2LCAweDlhODAsIDAsIHsweDMzLDB4NjAsMHgyYywweDlhLDB4ODMsMHgyNCwweDA0LDB4ZmQsMHhhOCwweDIyLDB4NDAsMHgwZCwweDUwLDB4NDMsMHhmNCwweDAwIH19LAotIHsxNiwgMHg5YTkwLCAwLCB7MHhmZCwweDAwLDB4MzMsMHg0MCwweDBmLDB4OTAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWFhMCwgMCwgezB4NzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweDAwLDB4MjIsMHgwMCwweDI4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDAwLDB4YTIgfX0sCi0gezE2LCAweDlhYjAsIDAsIHsweDAwLDB4MGIsMHg4YSwweDEyLDB4ZTAsMHgwMCwweGI4LDB4MDQsMHgyMiwweDE0LDB4MDgsMHg4NCwweDAyLDB4MjAsMHgwMCwweGI4IH19LAotIHsxNiwgMHg5YWMwLCAwLCB7MHg0MCwweDIwLDB4MDAsMHg4OCwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCwweGEyLDB4MDAsMHgwYiwweDgwLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4OWFkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHg0MiwweDIwLDB4NDAgfX0sCi0gezE2LCAweDlhZTAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMSwweDQwLDB4MjAsMHg0MCwweDBiLDB4MTAsMHgwNiwweGM0LDB4MDAsMHhiMSwweDQwIH19LAotIHsxNiwgMHg5YWYwLCAwLCB7MHgyNCwweDQwLDB4MDgsMHgxMCwweDAyLDB4NDQsMHgwNCwweGIxLDB4MDAsMHg2MCwweDQwLDB4MDksMHgxMCwweDAyLDB4YzQsMHgwMCB9fSwKLSB7MTYsIDB4OWIwMCwgMCwgezB4YjEsMHgwMCwweDIwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgxMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMiwweDIyLDB4NjAsMHgwOCwweDk0LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMSwweDIyIH19LAotIHsxNiwgMHg5YjIwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgwNiwweGU0LDB4MDAsMHhiOSwweDIwLDB4MjYsMHg0MCwweDA4LDB4OTQsMHgwMiwweDY0LDB4MDgsMHhiOSB9fSwKLSB7MTYsIDB4OWIzMCwgMCwgezB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MiwweDAyLDB4ZWMsMHgwOCwweGI5LDB4MDQsMHgyMiwweDQxLDB4MGIsMHgxMCwweDAyLDB4MDYgfX0sCi0gezE2LCAweDliNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgxMCwweGYxLDB4MDAsMHgzMiwweDYwIH19LAotIHsxNiwgMHg5YjUwLCAwLCB7MHgwYywweDk0LDB4MGIsMHgyNSwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHg4ZiwweDk0LDB4ZDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OWI2MCwgMCwgezB4MzYsMHg0MCwweDRjLDB4OTAsMHgwYiwweDY0LDB4MDAsMHhmMSwweDAwLDB4MzIsMHg0MCwweDBkLDB4OTIsMHgxMiwweGU0LDB4MDAgfX0sCi0gezE2LCAweDliNzAsIDAsIHsweGY5LDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YjgwLCAwLCB7MHg2OCwweDQxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4OGYsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OWI5MCwgMCwgezB4NDAsMHgwZiwweDljLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweGJhLDB4NDAsMHgyZiwweDkwLDB4MjMsMHhhNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweDliYTAsIDAsIHsweDA4LDB4YmUsMHg0MCwweGNmLDB4OTAsMHgwMywweGU0LDB4MTAsMHhmMSwweDAxLDB4M2UsMHg0MSwweDBmLDB4OTAsMHgwMywweGRhIH19LAotIHsxNiwgMHg5YmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4YzgsMHhmOCwweDAwLDB4M2UsMHgwMyB9fSwKLSB7MTYsIDB4OWJjMCwgMCwgezB4MGMsMHg4NCwweDAzLDB4YTEsMHgxMCwweGU4LDB4MDAsMHgzMiwweDAwLDB4OGMsMHg4NSwweDgzLDB4ZTAsMHgwMCwweGMwLDB4MDAgfX0sCi0gezE2LCAweDliZDAsIDAsIHsweDM4LDB4MGMsMHgyYywweDAwLDB4MDMsMHg2MCwweDAwLDB4YzgsMHgwMCwweDNjLDB4MDAsMHgwZCwweDgwLDB4MDIsMHgyMCwweDEwIH19LAotIHsxNiwgMHg5YmUwLCAwLCB7MHhjOCwweDIwLDB4YjIsMHgwMiwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWJmMCwgMCwgezB4MjgsMHgwNSwweDM5LDB4MTAsMHhiZSwweDA0LDB4NmYsMHhhMCwweDA4LDB4YTAsMHgwMiwweDNhLDB4MDAsMHg4MiwweDAwLDB4YTIgfX0sCi0gezE2LCAweDljMDAsIDAsIHsweDgwLDB4OGQsMHhlYywweDAzLDB4YTgsMHgwMCwweDhhLDB4MDAsMHgyMywweDgwLDB4MDgsMHhhMCwweDIyLDB4MjgsMHgwMCwweDhlIH19LAotIHsxNiwgMHg5YzEwLCAwLCB7MHhjYywweDJmLDB4ODAsMHgwOCwweGU4LDB4YzIsMHhiOCwweDAwLDB4OGUsMHg2MCwweDIzLDB4OTAsMHgwYiwweGEwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4OWMyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0ZSwweDA4LDB4YjAsMHg3MiwweDJjLDB4ZDAgfX0sCi0gezE2LCAweDljMzAsIDAsIHsweDI4LDB4YjAsMHgwNiwweDhjLDB4MDEsMHhhMSwweDAyLDB4MjAsMHhjMCwweDA4LDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwIH19LAotIHsxNiwgMHg5YzQwLCAwLCB7MHgyMCwweGMwLDB4MjksMHgzMCwweDAyLDB4NGMsMHgwMCwweDgxLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMiwweDAyLDB4MGMsMHg0MCB9fSwKLSB7MTYsIDB4OWM1MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4ZjQsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDljNjAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjQsMHgwMCwweDJkLDB4ZDAsMHg0OCwweGYyLDB4MDIsMHgxZSwweDIxLDB4ODUsMHgyMCwweDIwIH19LAotIHsxNiwgMHg5YzcwLCAwLCB7MHhlOCwweDA5LDB4NzIsMHgwMiwweDhlLDB4ODAsMHg4ZiwweDAxLDB4MjAsMHhjMCwweDA5LDB4NzIsMHgwMiwweDBlLDB4ODAsMHg4NyB9fSwKLSB7MTYsIDB4OWM4MCwgMCwgezB4MDAsMHgyZCwweGNjLDB4MTgsMHg1OCwweDAyLDB4OGUsMHgwMCwweDg1LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZTggfX0sCi0gezE2LCAweDljOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGI0LDB4ODAsMHgyZCwweGUwIH19LAotIHsxNiwgMHg5Y2EwLCAwLCB7MHgwYywweDc4LDB4ODMsMHg5YSwweDAwLDB4ZWQsMHhkMCwweDMxLDB4ZjQsMHgwYywweDZhLDB4MDMsMHhkZSwweDgyLDB4YzcsMHg4MCB9fSwKLSB7MTYsIDB4OWNiMCwgMCwgezB4MzksMHhlMCwweDBkLDB4ZjgsMHg4MywweDVlLDB4YzIsMHhjNSwweDgwLDB4M2QsMHhlOCwweDBjLDB4NjgsMHgwMywweDEyLDB4MDAgfX0sCi0gezE2LCAweDljYzAsIDAsIHsweGNmLDB4ODAsMHgzMSwweGUwLDB4MGYsMHg3ZSwweDgzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5Y2QwLCAwLCB7MHgwOCwweDBkLDB4YWMsMHgwOCwweGY4LDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMywweDAzLDB4ZWMsMHgwMCwweGY5LDB4MDIsMHgzZSB9fSwKLSB7MTYsIDB4OWNlMCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MDMsMHhlZCwweDQwLDB4ZmIsMHgwMCwweGJlLDB4ODAsMHgwZSwweGIzLDB4MDMsMHhlZCwweGMwLDB4ZmIgfX0sCi0gezE2LCAweDljZjAsIDAsIHsweDAwLDB4M2UsMHhkMiwweDJlLDB4ODAsMHgwMywweGVjLDB4MDIsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHg5ZDAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhmMCwweDkxLDB4MzMsMHhlMCB9fSwKLSB7MTYsIDB4OWQxMCwgMCwgezB4OGYsMHhmOCwweDAzLDB4ZmUsMHgwMCwweGZkLDB4ODAsMHgzZiwweGUwLDB4MGMsMHg3OCwweDgzLDB4M2YsMHgwMCwweGNmLDB4ODAgfX0sCi0gezE2LCAweDlkMjAsIDAsIHsweDNmLDB4YTAsMHgwYywweGY4LDB4MDMsMHgzZSwweDAwLDB4Y2QsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4MTMsMHhmZSwweDEwIH19LAotIHsxNiwgMHg5ZDMwLCAwLCB7MHhmZiwweDgwLDB4M2YsMHgyMCwweDBmLDB4ZjksMHg0MywweGQwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWQ0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNCwweGMxLDB4MzEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGQ0LDB4MTAsMHhlNSwweDIwLDB4MmYgfX0sCi0gezE2LCAweDlkNTAsIDAsIHsweGM4LDB4MGYsMHg0MCwweDAzLDB4NWMsMHgwMCwweDg3LDB4MDAsMHgyZCwweDgwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHg0MCwweDg3IH19LAotIHsxNiwgMHg5ZDYwLCAwLCB7MHgxMCwweDJkLDB4YzAsMHgwYiwweDc2LDB4MDIsMHhkYywweDgwLDB4YjcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhlYSB9fSwKLSB7MTYsIDB4OWQ3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg5YywweDAwLDB4YjYsMHgyMiwweDIxLDB4ZDAgfX0sCi0gezE2LCAweDlkODAsIDAsIHsweDBiLDB4NzAsMHg4MiwweGQ4LDB4NDAsMHhiNSwweDAyLDB4MmQsMHhjMCwweDg4LDB4NjUsMHgwMiwweDBjLDB4MDAsMHg4NywweDE4IH19LAotIHsxNiwgMHg5ZDkwLCAwLCB7MHgyYywweDA0LDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMiwweDg1LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDQ2LDB4OTAsMHgxMCB9fSwKLSB7MTYsIDB4OWRhMCwgMCwgezB4YjYsMHgwMCwweDJkLDB4MDAsMHgwYiwweDcwLDB4MjIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkYjAsIDAsIHsweDYwLDB4MTQsMHhjYywweDA4LDB4YjIsMHgwMCwweGE0LDB4YzAsMHgwYiwweDMwLDB4NDIsMHhjNiwweDEwLDB4YTEsMHgwMCwweDJjIH19LAotIHsxNiwgMHg5ZGMwLCAwLCB7MHhjMCwweDBhLDB4MDAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHgwOCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4OWRkMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgxOCwweDgyLDB4YzQsMHgwMCwweGIwLDB4MDAsMHgyYywweDQwLDB4MGIsMHgzMCwweDEyLDB4ZDggfX0sCi0gezE2LCAweDlkZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhmOCwweDE1LDB4YWMsMHgwMCwweDM4LDB4MDAsMHgzMiwweDUwIH19LAotIHsxNiwgMHg5ZGYwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhlNiwweDIwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwOCwweGQwLDB4MDIsMHgzYywweDAyLDB4Y2IsMHg4MCB9fSwKLSB7MTYsIDB4OWUwMCwgMCwgezB4M2MsMHg1MCwweDJjLDB4ZjAsMHgwYSwweGJjLDB4MDAsMHhjOSwweDAwLDB4M2YsMHhjMCwweDBmLDB4YmUsMHgwMywweGFjLDB4MDAgfX0sCi0gezE2LCAweDllMTAsIDAsIHsweGZhLDB4MDIsMHgyZSwweGY3LDB4NGYsMHhmMCwweDAzLDB4ZWUsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZTIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGYxLDB4MDAsMHgzYSwweGYwLDB4MGYsMHhiMCwweDAzLDB4ZTksMHgwMCwweGY5LDB4MDEsMHgzZSB9fSwKLSB7MTYsIDB4OWUzMCwgMCwgezB4YzAsMHgwZiwweDkwLDB4MTMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4NTUsMHgwZiwweGIwLDB4MDEsMHg2YywweDAwLDB4ZmIgfX0sCi0gezE2LCAweDllNDAsIDAsIHsweDAyLDB4M2UsMHhjMCwweDBmLDB4OTAsMHg3MywweGUwLDB4MDAsMHhmOCwweDQxLDB4M2UsMHgwMCwweDBmLDB4MzAsMHgwMSwweGUwIH19LAotIHsxNiwgMHg5ZTUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGZjLDB4MDAsMHhmYywweDAwLDB4MzMsMHhjMCB9fSwKLSB7MTYsIDB4OWU2MCwgMCwgezB4MWYsMHhmMCwweDEzLDB4ZjAsMHgwOCwweGZkLDB4MDIsMHgzZiwweGMwLDB4OGQsMHhjMCwweDAzLDB4M2MsMHgwMCwweGNmLDB4YTAgfX0sCi0gezE2LCAweDllNzAsIDAsIHsweDNmLDB4ODAsMHgwYywweDcwLDB4MDMsMHgzYywweDEwLDB4ZmMsMHgwMCwweDM3LDB4YzAsMHgwZiwweGUwLDB4MDMsMHhiMCwweDAwIH19LAotIHsxNiwgMHg5ZTgwLCAwLCB7MHhmZSwweDAwLDB4M2YsMHhjMCwweDBjLDB4ZjAsMHgwMywweDA0LDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWU5MCwgMCwgezB4ODQsMHgwNCwweDZlLDB4MDAsMHhiOSwweGMyLDB4YTIsMHhmMCwweDBiLDB4YjAsMHg0MiwweGViLDB4MDAsMHhiOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweDllYTAsIDAsIHsweGMwLDB4MGYsMHgxOCwweDAzLDB4NmMsMHgwMCwweGQ5LDB4ODEsMHgyZSwweGIwLDB4MGEsMHhiMCwweDQyLDB4MmMsMHgwMCwweGJhIH19LAotIHsxNiwgMHg5ZWIwLCAwLCB7MHhjNiwweDJlLDB4YzAsMHgwYiwweDhjLDB4MDIsMHhlMywweDAwLDB4YjgsMHhjMCwweDNjLDB4YTAsMHgwZCwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4OWVjMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZiwweDAwLDB4YjgsMHg4MCwweDIyLDB4ZTIgfX0sCi0gezE2LCAweDllZDAsIDAsIHsweDBiLDB4YjAsMHgwMiwweGU2LDB4MjAsMHhiOSwweDAwLDB4MmMsMHhjMCwweDA4LDB4YjgsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwIH19LAotIHsxNiwgMHg5ZWUwLCAwLCB7MHgyZSwweDMwLDB4NDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4YzAsMHgyZSwweGMxLDB4MGIsMHg4OCwweDAyLDB4ZWUsMHgxMCB9fSwKLSB7MTYsIDB4OWVmMCwgMCwgezB4YjksMHhjMCwweDJlLDB4MjAsMHgxOSwweGIwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmMDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjAsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDYsMHhjMCwweDAwLDB4OTEsMHgwMCwweDJjIH19LAotIHsxNiwgMHg5ZjEwLCAwLCB7MHhjMCwweDQ5LDB4ODAsMHgwMiwweDRjLDB4MDQsMHg5MSwweDAwLDB4MmMsMHgwMCwweDhhLDB4MzAsMHgwYSwweDBjLDB4MDQsMHhiMSB9fSwKLSB7MTYsIDB4OWYyMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MWIsMHgwMCwweDEyLDB4NDksMHgxMCwweGIxLDB4MDAsMHgyZSwweDIwLDB4MDksMHgzMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweDlmMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGI4LDB4MjAsMHgyMiwweGMwIH19LAotIHsxNiwgMHg5ZjQwLCAwLCB7MHg4YiwweGYwLDB4MDMsMHhlMCwweDA4LDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwYywweGEwLDB4MDMsMHgzYywweDAwLDB4Y2IsMHgwMCB9fSwKLSB7MTYsIDB4OWY1MCwgMCwgezB4M2UsMHgwMCwweDRjLDB4ZjAsMHgwYSwweDNjLDB4MDAsMHhiOSwweDAwLDB4MzcsMHhjMSwweDBmLDB4YTAsMHgwMywweGUwLDB4MDAgfX0sCi0gezE2LCAweDlmNjAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDAwLDB4MGQsMHhmMCwweDBiLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZjcwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMSwweGZjLDB4NDAsMHgzZiwweDgwLDB4NGYsMHhmMCwweDAyLDB4ZjAsMHgwMCwweGZkLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OWY4MCwgMCwgezB4YzEsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4MDAsMHg0ZiwweGYwLDB4NjMsMHhmYywweDAwLDB4ZmQgfX0sCi0gezE2LCAweDlmOTAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGYwLDB4ODAsMHhmYywweDAwLDB4N2IsMHgwMCwweDBmLDB4ZjAsMHg0MywweGU4IH19LAotIHsxNiwgMHg5ZmEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY4LDB4MDAsMHhjOCwweDEwLDB4MzMsMHgwNCB9fSwKLSB7MTYsIDB4OWZiMCwgMCwgezB4MGMsMHg0MCwweDAyLDB4MzQsMHgwMCwweGM4LDB4ODUsMHgxZiwweGMwLDB4MmQsMHhkOSwweDAzLDB4ZmMsMHhjMCwweGRiLDB4MjggfX0sCi0gezE2LCAweDlmYzAsIDAsIHsweDM3LDB4NjQsMHgwZiwweGRiLDB4MDMsMHgzZSwweDAwLDB4ZmYsMHgyNSwweDNmLDB4YzgsMHgwZSwweGYyLDB4MDMsMHhmZSwweDIwIH19LAotIHsxNiwgMHg5ZmQwLCAwLCB7MHhmZiwweGE0LDB4MzcsMHhjNCwweDBjLDB4YzgsMHgwMywweDMwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWZlMCwgMCwgezB4ODAsMHgxMCwweGU4LDB4MDAsMHg4OCwweDIwLDB4MjIsMHgwMCwweDA4LDB4ODgsMHgxMiwweDI2LDB4MDQsMHg4OSwweDgyLDB4MmUgfX0sCi0gezE2LCAweDlmZjAsIDAsIHsweGY0LDB4NDgsMHhiOCwweDAyLDB4ZmMsMHhjNCwweDk4LDB4YzIsMHgyMiwweDdjLDB4NGIsMHg5ZCwweDQyLDB4MjYsMHgwOCwweGJmIH19LAotIHsxNiwgMHhhMDAwLCAwLCB7MHgxOCwweDc3LDB4ZTQsMHgwOCwweGYxLDB4ODIsMHhlZiwweDAwLDB4YmIsMHhkMCwweDIyLDB4ZDgsMHgwOCwweDkwLDB4ODMsMHg2MCB9fSwKLSB7MTYsIDB4YTAxMCwgMCwgezB4MDIsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4NDUsMHhjOCwweDA0LDB4YTAsMHgwMCwweDI0LDB4MDAgfX0sCi0gezE2LCAweGEwMjAsIDAsIHsweDBhLDB4MDAsMHgwMiwweDBjLDB4MDAsMHg4MiwweDA0LDB4MmMsMHhlMCwweDA4LDB4MTAsMHgwMiwweGNjLDB4ODAsMHg4MywweDAwIH19LAotIHsxNiwgMHhhMDMwLCAwLCB7MHgyNCwweDAwLDB4MGIsMHgxMCwweDA2LDB4YzgsMHgwMSwweGIzLDB4MjAsMHgyYywweGMwLDB4MjksMHgzMiwweDAyLDB4YzgsMHgwOCB9fSwKLSB7MTYsIDB4YTA0MCwgMCwgezB4YjEsMHgwMCwweDI0LDB4ZDAsMHgwOCwweDgyLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwNTAsIDAsIHsweGMwLDB4MTUsMHhhOCwweDAwLDB4YTgsMHgwYywweDI2LDB4MDAsMHgwYSwweDgwLDB4MDIsMHgyYywweDE0LDB4OGEsMHgwMiwweDZlIH19LAotIHsxNiwgMHhhMDYwLCAwLCB7MHhlMCwweDA4LDB4YjAsMHgwMiwweDRjLDB4MDgsMHhhOCwweDAwLDB4MjYsMHgyMCwweDBiLDB4OWMsMHgwMiwweGU0LDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YTA3MCwgMCwgezB4MDQsMHgyMiwweGMwLDB4MTksMHhiMCwweDAyLDB4ZTgsMHgwMSwweGJiLDB4MTEsMHgwMiwweGMwLDB4ODgsMHg5MCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGEwODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4ZWMsMHgwMiwweGVhLDB4NDAsMHhiNiwweDYwIH19LAotIHsxNiwgMHhhMDkwLCAwLCB7MHgyZSwweDk4LDB4MGIsMHgyMCwweDAyLDB4YzgsMHgwMiwweDNlLDB4YzAsMHgwZCwweDk4LDB4MDMsMHhlYywweDAyLDB4ZGIsMHg4OCB9fSwKLSB7MTYsIDB4YTBhMCwgMCwgezB4YjYsMHgyMSwweDBmLDB4ODgsMHgwMywweGFjLDB4MDgsMHhmYiwweDAwLDB4MmMsMHhjMCwweDBlLDB4YjAsMHg0MywweGU1LDB4ODAgfX0sCi0gezE2LCAweGEwYjAsIDAsIHsweGYwLDB4NjAsMHgzNiwweGMwLDB4MGMsMHgwMSwweDQzLDB4NDgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMGMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGQ2LDB4MDEsMHgzYiwweDY0LDB4ODUsMHhkOSwweDAzLDB4ZjAsMHgwYywweGZmLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTBkMCwgMCwgezB4YzEsMHgwZiwweGZjLDB4MjEsMHhlYywweDAwLDB4ZDcsMHg5MCwweDNiLDB4NDAsMHgwZiwweDUwLDB4MDMsMHgzYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGEwZTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDhlLDB4ZjAsMHgwMywweGY0LDB4NDAsMHhmZCwweDg4LDB4M2YsMHhjMCwweDJmLDB4ZDAsMHgwMiwweDc4IH19LAotIHsxNiwgMHhhMGYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhjLDB4MDAsMHhkYSwweDQwLDB4M2MsMHg0MCB9fSwKLSB7MTYsIDB4YTEwMCwgMCwgezB4MGYsMHgxMCwweDAzLDB4NDgsMHgwMCwweGY5LDB4MjIsMHgzYywweGMyLDB4MGUsMHg5MCwweDgzLDB4ZWMsMHgwMiwweGRiLDB4MDQgfX0sCi0gezE2LCAweGExMTAsIDAsIHsweDNhLDB4MDgsMHgwZiwweDg0LDB4ODcsMHhlOCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4YzQsMHgwZSwweGIwLDB4MDMsMHhlZCwweDAwIH19LAotIHsxNiwgMHhhMTIwLCAwLCB7MHhlOCwweDQyLDB4M2EsMHhjMCwweDBmLDB4ODAsMHgwYiwweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTEzMCwgMCwgezB4ODgsMHgwNSwweDJjLDB4MDgsMHg4YSwweDAwLDB4MmUsMHg0MiwweDhiLDB4OTAsMHgwMiwweDI4LDB4MTgsMHhiYiwweDQ5LDB4MjIgfX0sCi0gezE2LCAweGExNDAsIDAsIHsweGQwLDB4MzgsMHhiYywweDgyLDB4ZmMsMHgwMCwweGU4LDB4MDIsMHgyMiwweDYyLDB4Y2IsMHg5YywweDAwLDB4ZWYsMHg2MCwweGRmIH19LAotIHsxNiwgMHhhMTUwLCAwLCB7MHgwMCwweDJmLDB4YzAsMHgwYiwweGYwLDB4MDIsMHhlYywweDAwLDB4MDksMHg0MCwweDM3LDB4YzAsMHgwYiwweDkwLDB4MDIsMHgzMiB9fSwKLSB7MTYsIDB4YTE2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OCwweDEwLDB4MTEsMHgwMCwweDJjLDB4YTAgfX0sCi0gezE2LCAweGExNzAsIDAsIHsweDBiLDB4MjAsMHgwMiwweDQ0LDB4MDAsMHg5MCwweGMwLDB4NjQsMHgzNCwweDI4LDB4MzQsMHgwMiwweGNjLDB4MDAsMHg5MywweDg0IH19LAotIHsxNiwgMHhhMTgwLCAwLCB7MHgyOCwweDQwLDB4MGIsMHgwOCwweDAwLDB4Y2UsMHgwMCwweDkzLDB4MDAsMHgyYywweGMyLDB4MGEsMHgzMCwweDAyLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4YTE5MCwgMCwgezB4YjIsMHg0MCwweDIyLDB4YzAsMHgwYiwweDIwLDB4MDIsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExYTAsIDAsIHsweDcwLDB4MDEsMHgxYSwweDQwLDB4ODUsMHg4MCwweDJkLDB4YTAsMHgwYiwweDY4LDB4MDYsMHgxNiwweDgwLDB4YmQsMHg5MCwweDI1IH19LAotIHsxNiwgMHhhMWIwLCAwLCB7MHgyNCwweDE4LDB4N2IsMHg0MiwweGRlLDB4NDAsMHhhMCwweDgwLDB4MjEsMHhlMCwweDBiLDB4NjgsMHgwMiwweGQ2LDB4MDAsMHg5NyB9fSwKLSB7MTYsIDB4YTFjMCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MGIsMHg3OCwweDAyLDB4Y2UsMHg0MCwweDkyLDB4ODAsMHg2ZCwweGU0LDB4MGIsMHg3OCwweDAyLDB4MDggfX0sCi0gezE2LCAweGExZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MjgsMHgwMCwweGQxLDB4ODAsMHgzYywweDg4IH19LAotIHsxNiwgMHhhMWUwLCAwLCB7MHgwYiwweDIyLDB4MDMsMHg0ZSwweDgwLDB4ZjIsMHhhMSwweDNjLDB4MjQsMHgyYSwweDM5LDB4MDMsMHhjYywweDQwLDB4ZDMsMHhhYyB9fSwKLSB7MTYsIDB4YTFmMCwgMCwgezB4MzgsMHhjNSwweDBmLDB4MzAsMHg4MiwweGM4LDB4MDAsMHhkMywweDAwLDB4M2MsMHhjMCwweDBlLDB4MzAsMHgxMywweGMwLDB4MDAgfX0sCi0gezE2LCAweGEyMDAsIDAsIHsweGYxLDB4MDAsMHgzOCwweGMwLDB4MGYsMHhhMCwweDAzLDB4MWEsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMjEwLCAwLCB7MHg0MCwweDFkLDB4YjgsMHgxMCwweGZkLDB4MzQsMHgzZSwweDgwLDB4MGYsMHhlMCwweDAzLDB4ZWUsMHgwMCwweDcyLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YTIyMCwgMCwgezB4MDAsMHgwZiwweGIwLDB4NjMsMHhlYywweDQwLDB4ZjgsMHgyMiwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhkNCwweDQwLDB4ZmYgfX0sCi0gezE2LCAweGEyMzAsIDAsIHsweDAwLDB4M2YsMHhkMiwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhjZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhhMjQwLCAwLCB7MHgwNiwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVlLDB4MDAsMHhlYiwweDAwLDB4MzYsMHhlMCB9fSwKLSB7MTYsIDB4YTI1MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4MjAsMHgwMCwweGYwLDB4ODAsMHgzMywweGMwLDB4MDgsMHhiOCwweDAzLDB4MmMsMHg4MCwweGNiLDB4MDAgfX0sCi0gezE2LCAweGEyNjAsIDAsIHsweDMyLDB4ODAsMHgwZiwweGEwLDB4MTMsMHg2ZSwweDA4LDB4Y2IsMHgyOCwweDMyLDB4ZTAsMHgwZCwweGI0LDB4ODMsMHhlMiwweDAwIH19LAotIHsxNiwgMHhhMjcwLCAwLCB7MHhjYSwweDAwLDB4M2UsMHhlMCwweDBjLDB4YTgsMHgwMywweDAyLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTI4MCwgMCwgezB4YzgsMHgxMSwweDhjLDB4MDQsMHg4MywweDAwLDB4MjEsMHhjMCwweDQ4LDB4NzAsMHgwMiwweDEwLDB4MDAsMHhiNywweDAyLDB4MjEgfX0sCi0gezE2LCAweGEyOTAsIDAsIHsweGMwLDB4NGEsMHg3MCwweDAyLDB4MGQsMHg0OCwweGQ0LDB4MDAsMHgzNSwweGMwLDB4MGUsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGE3IH19LAotIHsxNiwgMHhhMmEwLCAwLCB7MHg0MCwweDI5LDB4YzAsMHgwOSwweDcyLDB4MDIsMHhkNCwweDEwLDB4YTYsMHgwMiwweDJmLDB4YzgsMHgwOCwweDcwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4YTJiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDAwLDB4YTcsMHg4MCwweDIwLDB4ZTAgfX0sCi0gezE2LCAweGEyYzAsIDAsIHsweDBhLDB4MzgsMHgwMiwweDFhLDB4MDAsMHhiNSwweDgwLDB4MjEsMHhlMCwweDA4LDB4ZjgsMHgyMiwweDVjLDB4ODEsMHg4MywweDgwIH19LAotIHsxNiwgMHhhMmQwLCAwLCB7MHgyMSwweGExLDB4MGIsMHg3OCwweDgyLDB4NWEsMHgxMCwweDgzLDB4YTAsMHgyMCwweGU4LDB4MGEsMHg3YiwweDAyLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4YTJlMCwgMCwgezB4OTcsMHhjMCwweDJkLDB4ZTQsMHgwOCwweGU4LDB4MDIsMHgwOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyZjAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgxMCwweDIwLDB4YzAsMHgwYSwweDMwLDB4MDIsMHgwOCwweDA4LDB4YjMsMHg3MCwweDIwIH19LAotIHsxNiwgMHhhMzAwLCAwLCB7MHhmOCwweDBhLDB4MzAsMHg0MiwweDRjLDB4MDQsMHg5MywweDE0LDB4MjYsMHhjNCwweDBhLDB4MzgsMHgwMiwweGNjLDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4YTMxMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4YWEsMHgzMCwweDAyLDB4Y2UsMHg0MCwweGIzLDB4ODgsMHgyYywweGMwLDB4MjgsMHgzMCwweDBhLDB4MTIgfX0sCi0gezE2LCAweGEzMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTksMHgwMCwweGVhLDB4ODAsMHhiNiwweDkwIH19LAotIHsxNiwgMHhhMzMwLCAwLCB7MHgyZiwweDI0LDB4MGIsMHgzOSwweDA0LDB4YmUsMHhjMCwweDMzLDB4OTIsMHgwYywweGEwLDB4MGIsMHg2OCwweDE4LDB4Y2UsMHhjMCB9fSwKLSB7MTYsIDB4YTM0MCwgMCwgezB4MzMsMHg4MCwweDBmLDB4ZTksMHg0MywweDc4LDB4MDAsMHhjYSwweDAwLDB4MzIsMHg4MCwweDBmLDB4YTAsMHgxMywweGY4LDB4NDggfX0sCi0gezE2LCAweGEzNTAsIDAsIHsweGRlLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhlMCwweDAyLDB4M2EsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMzYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgyNCwweGY4LDB4MDAsMHgzZSwweDEyLDB4MGQsMHg4MCwweDkzLDB4YjAsMHgyOCwweGY4LDB4MDAsMHhiYyB9fSwKLSB7MTYsIDB4YTM3MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDIsMHgwZSwweDgwLDB4MDAsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGEzODAsIDAsIHsweDAxLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhhMzkwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAwLDB4YjIsMHg3MCB9fSwKLSB7MTYsIDB4YTNhMCwgMCwgezB4MGYsMHg5MCwweDAxLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5OCwweDAzLDB4ZTQsMHgwNCwweGU5LDB4MDggfX0sCi0gezE2LCAweGEzYjAsIDAsIHsweDNhLDB4NDgsMHgwYywweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwYiwweDEwLDB4MGIsMHgyNiwweDgwIH19LAotIHsxNiwgMHhhM2MwLCAwLCB7MHhmMSwweDgwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTNkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg2MSwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDgsMHg4OSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGEzZTAsIDAsIHsweDQwLDB4MGQsMHg5YSwweDAyLDB4ZTQsMHgwOCwweGE5LDB4MDAsMHgyMiwweDc4LDB4MGQsMHg5NCwweDA2LDB4ZTQsMHgxMCwweGI5IH19LAotIHsxNiwgMHhhM2YwLCAwLCB7MHgwMCwweDIyLDB4NTAsMHgwYiwweDkwLDB4MDIsMHgyNSwweDgwLDB4YjksMHg4MCwweDM2LDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YTQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjUsMHgwMCwweDIzLDB4NDIgfX0sCi0gezE2LCAweGE0MTAsIDAsIHsweDBiLDB4ZDAsMHgwZSwweGI0LDB4MDAsMHg4OSwweDA0LDB4MmUsMHg2MCwweDA4LDB4OTEsMHgwMiwweGM0LDB4MDQsMHhiOSwweDA0IH19LAotIHsxNiwgMHhhNDIwLCAwLCB7MHgyYSwweGMwLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgxMCwweGIxLDB4MDAsMHgyNiwweDQyLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTQzMCwgMCwgezB4YjksMHgyMSwweDYyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4YjUsMHg0MCwweDIxLDB4NTAsMHg0YiwweDUwLDB4MDYsMHg5NCwweDAyLDB4ODEsMHgwMCwweDJjIH19LAotIHsxNiwgMHhhNDUwLCAwLCB7MHg2MCwweDI5LDB4MTQsMHgwNiwweGM1LDB4MDAsMHhhMSwweDIyLDB4MjAsMHg1MSwweDg5LDB4MTQsMHgwMiwweGM0LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4YTQ2MCwgMCwgezB4MjAsMHgyMCwweDQ4LDB4MGIsMHgxNCwweDAyLDB4MDQsMHgwMSwweGIxLDB4MDAsMHgwNCwweDUwLDB4MGIsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGE0NzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwOCwweGI4LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhhNDgwLCAwLCB7MHg4ZiwweDgwLDB4MDMsMHhiMCwweDAwLDB4ODgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwLDB4ZTgsMHgwNCB9fSwKLSB7MTYsIDB4YTQ5MCwgMCwgezB4M2EsMHgwMCwweDBjLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhmOCwweDUwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweDIwLDB4MDQgfX0sCi0gezE2LCAweGE0YTAsIDAsIHsweGY4LDB4MDEsMHgxMiwweDAwLDB4NGYsMHg4MCwweDA3LDB4ZWUsMHgwNywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNGIwLCAwLCB7MHg5OCwweDFkLDB4ZTUsMHgxMCwweGY5LDB4NDAsMHgzZSwweDUwLDB4MGYsMHg5NCwweDAyLDB4NjUsMHgwMSwweGZkLDB4MDEsMHgzZCB9fSwKLSB7MTYsIDB4YTRjMCwgMCwgezB4NTAsMHg0ZiwweDUwLDB4MTMsMHhlNSwweDAwLDB4ZmQsMHgxMCwweDFmLDB4NTAsMHgwNywweGQ0LDB4NDMsMHhkNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGE0ZDAsIDAsIHsweDEwLDB4MWUsMHg0NCwweDBmLDB4OTQsMHgwMywweGQ1LDB4MDAsMHhmZCwweDQwLDB4M2UsMHg1MCwweDBmLDB4NTIsMHg4MywweGVlIH19LAotIHsxNiwgMHhhNGUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGU0LDB4NDAsMHhmOSwweDYwLDB4M2YsMHg0NCB9fSwKLSB7MTYsIDB4YTRmMCwgMCwgezB4MGYsMHhkMCwweGMzLDB4ZTQsMHgzMCwweGY5LDB4MDEsMHgzZSwweDQyLDB4MGMsMHhkMCwweDAzLDB4ZTcsMHg4MCwweGRkLDB4YTAgfX0sCi0gezE2LCAweGE1MDAsIDAsIHsweDMzLDB4NDAsMHgwYywweGQwLDB4MDMsMHhmYywweDAwLDB4YzksMHg5MCwweDNmLDB4NjgsMHgxZSwweDkxLDB4MDMsMHgzNCwweDAwIH19LAotIHsxNiwgMHhhNTEwLCAwLCB7MHhmZCwweDAwLDB4M2UsMHg2OCwweDBjLDB4OTQsMHgwMywweDBlLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTUyMCwgMCwgezB4MzksMHgxMCwweGUwLDB4MDAsMHhiOCwweDQyLDB4MmUsMHgwOSwweDBiLDB4ODQsMHgwMiwweGUxLDB4MDQsMHhiZSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGE1MzAsIDAsIHsweDEwLDB4MDgsMHg4MCwweDIyLDB4YzIsMHg4MCwweDg4LDB4NDAsMHgyMiwweDAwLDB4MGEsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGE4IH19LAotIHsxNiwgMHhhNTQwLCAwLCB7MHhkMCwweDJlLDB4MTAsMHg0YiwweDhhLDB4MDMsMHg2MCwweDAwLDB4YmEsMHgwMCwweDJlLDB4MzAsMHgwOCwweDhhLDB4MDIsMHg4NiB9fSwKLSB7MTYsIDB4YTU1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhjNSwweDgwLDB4YjEsMHg2MCwweDZjLDB4ZDAgfX0sCi0gezE2LCAweGE1NjAsIDAsIHsweDBiLDB4MTAsMHgwMCwweGRjLDB4MGMsMHhiNSwweDAwLDB4MmMsMHg0MSwweDA4LDB4MTAsMHgwMiwweGM1LDB4ODAsMHg5MSwweDEwIH19LAotIHsxNiwgMHhhNTcwLCAwLCB7MHg2OCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZTQsMHgwYywweDgxLDB4MjIsMHgyYywweDUwLDB4MDgsMHgxMCwweDQyLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4YTU4MCwgMCwgezB4YTEsMHgwMCwweDJjLDB4NWEsMHgyOCwweDkwLDB4MDIsMHg1MiwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE1OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDEsMHgwYiwweDkwLDB4MTIsMHhmNCwweDgwLDB4YmYsMHgwMCwweDJlIH19LAotIHsxNiwgMHhhNWEwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhhOSwweDYwLDB4NjAsMHg0MiwweDBhLDB4OTQsMHgxMiwweGU1LDB4MDAsMHhhOSB9fSwKLSB7MTYsIDB4YTViMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4NjQsMHgyMCwweGI5LDB4MDAsMHgwZSwweDQwLDB4MDksMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweGE1YzAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQxIH19LAotIHsxNiwgMHhhNWQwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDA0LDB4ZDEsMHhjMCB9fSwKLSB7MTYsIDB4YTVlMCwgMCwgezB4YmEsMHg3MCwweDBjLDB4OTgsMHgwMywweGM0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweDI1LDB4NDAgfX0sCi0gezE2LCAweGE1ZjAsIDAsIHsweGU5LDB4NDAsMHgzZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4NjgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNjAwLCAwLCB7MHg2OCwweDAxLDB4YTQsMHgxNCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDIzLDB4ZTQsMHgwOCwweGY5LDB4YTAsMHgzYyB9fSwKLSB7MTYsIDB4YTYxMCwgMCwgezB4YzIsMHgyZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZDksMHg4MCwweDNlLDB4NzAsMHgwZiwweDkxLDB4NDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGE2MjAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDFmLDB4OTAsMHgxMywweGU2LDB4MjAsMHhmOSwweGEwLDB4M2MsMHg0MCwweDRlLDB4OTAsMHgwMywweDlhIH19LAotIHsxNiwgMHhhNjMwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMiB9fSwKLSB7MTYsIDB4YTY0MCwgMCwgezB4MGYsMHg4MCwweDEzLDB4MjAsMHgwYywweGZjLDB4MDEsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4NTAgfX0sCi0gezE2LCAweGE2NTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MGIsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgyYywweDgwLDB4NDMsMHhlMCwweDQwIH19LAotIHsxNiwgMHhhNjYwLCAwLCB7MHhmOCwweDAyLDB4M2EsMHgwMCwweDhmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTY3MCwgMCwgezB4YTgsMHg4NSwweDI4LDB4MDgsMHgzYSwweDAwLDB4MGYsMHg4MCwweDRiLDB4YTEsMHgwMiwweDI4LDB4MDAsMHhiYSwweDgyLDB4MmUgfX0sCi0gezE2LCAweGE2ODAsIDAsIHsweDg4LDB4NDgsMHhlNCwweDAyLDB4ZTgsMHgwMCwweGFlLDB4OTAsMHhhMywweDkwLDB4MGIsMHhlMCwweDAwLDB4MzgsMHgwMCwweGJhIH19LAotIHsxNiwgMHhhNjkwLCAwLCB7MHgwMCwweDM3LDB4YTAsMHgwOCwweGEwLDB4MDIsMHhmOCwweDAwLDB4OWUsMHhlMCwweDIyLDB4ODAsMHgwYiwweGEwLDB4MjMsMHg0MiB9fSwKLSB7MTYsIDB4YTZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDEwLDB4MzMsMHgwMCwweDJjLDB4ZDAgfX0sCi0gezE2LCAweGE2YjAsIDAsIHsweDBiLDB4MTQsMHgwMiwweDBjLDB4MDAsMHhiMiwweDkxLDB4MmMsMHhkMCwweDA4LDB4M2UsMHgwMiwweDRjLDB4MDAsMHg4MywweDQwIH19LAotIHsxNiwgMHhhNmMwLCAwLCB7MHgyNCwweGMyLDB4MGIsMHgzNiwweDAwLDB4OGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDksMHhiMCwweDAyLDB4Y2UsMHgwMCB9fSwKLSB7MTYsIDB4YTZkMCwgMCwgezB4YjMsMHhjYywweDY4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2ZTAsIDAsIHsweGUwLDB4MDEsMHgxYywweDg4LDB4YjcsMHgyNSwweDJkLDB4YzAsMHg4YiwweDU4LDB4MWEsMHgxYywweDA4LDB4YjYsMHgwMCwweDJkIH19LAotIHsxNiwgMHhhNmYwLCAwLCB7MHhjMCwweDA4LDB4NzQsMHgwMiwweGRjLDB4NDAsMHhhNSwweDAwLDB4MjUsMHhjMCwweDFiLDB4NzgsMHgwMiwweDk0LDB4MDgsMHhiNyB9fSwKLSB7MTYsIDB4YTcwMCwgMCwgezB4ODAsMHgyNSwweGUzLDB4MGEsMHg3MSwweDAyLDB4ZGMsMHgwMCwweDk3LDB4ODMsMHgyMSwweGM4LDB4OGIsMHhmMSwweDAyLDB4NDggfX0sCi0gezE2LCAweGE3MTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHgwMCwweGY3LDB4ZTIsMHg3ZCwweGUwIH19LAotIHsxNiwgMHhhNzIwLCAwLCB7MHgwZiwweDU4LDB4NDMsMHgxZSwweDE4LDB4ZjYsMHg4MCwweDdjLDB4ZTAsMHgyYywweDY4LDB4MDIsMHg1ZSwweDkwLDB4YzMsMHg4MCB9fSwKLSB7MTYsIDB4YTczMCwgMCwgezB4MzUsMHhlMCwweDBmLDB4ZjgsMHgwMywweDllLDB4MDQsMHhmZiwweGExLDB4MjAsMHhhMSwweDBkLDB4NzgsMHgwMywweGQ2LDB4MDAgfX0sCi0gezE2LCAweGE3NDAsIDAsIHsweGY3LDB4ODAsMHgzOSwweGY4LDB4MGYsMHg3OCwweDAzLDB4MGEsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNzUwLCAwLCB7MHg0OCwweDFkLDB4YWMsMHgwMCwweGZiLDB4NDAsMHg3ZiwweDQxLDB4MGYsMHgxMCwweDAzLDB4ZWMsMHgwNCwweGZhLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTc2MCwgMCwgezB4ZDAsMHgwZiwweGEwLDB4MDMsMHhlZCwweDAwLDB4ZTksMHgwMCwweDJhLDB4MDAsMHgwZiwweGIwLDB4MDMsMHg2NCwweDAwLDB4ZmIgfX0sCi0gezE2LCAweGE3NzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBkLDB4YjAsMHgwMywweGU0LDB4MDAsMHhkMywweDAwLDB4MzYsMHhjMCwweDBmLDB4MzgsMHgwMywweGMyIH19LAotIHsxNiwgMHhhNzgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4NDgsMHhjZiwweGMwLDB4MzMsMHg2MCB9fSwKLSB7MTYsIDB4YTc5MCwgMCwgezB4OGMsMHhjOCwweDQzLDB4ZDYsMHgwMCwweGNjLDB4OTQsMHgzZiwweGIwLDB4MGQsMHhmOCwweDAzLDB4N2YsMHgwMCwweGRmLDB4ODAgfX0sCi0gezE2LCAweGE3YTAsIDAsIHsweDNmLDB4NjAsMHgwZiwweGQ4LDB4MDMsMHhkZSwweDAwLDB4Y2YsMHhjYSwweDNkLDB4NjAsMHgwYywweGY4LDB4MTMsMHgzYSwweDQ0IH19LAotIHsxNiwgMHhhN2IwLCAwLCB7MHhkZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHg0MywweDE4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTdjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4ZiwweDExLDB4MzMsMHhjMCwweDQ4LDB4NDEsMHgxMiwweGM0LDB4NDgsMHg4NCwweDExLDB4MmMgfX0sCi0gezE2LCAweGE3ZDAsIDAsIHsweGVjLDB4MmEsMHhiYSwweDAzLDB4M2MsMHg0MCwweGQ3LDB4NDgsMHgyZCwweDQxLDB4MGIsMHg2MCwweDAyLDB4ZDQsMHgwMCwweGQ3IH19LAotIHsxNiwgMHhhN2UwLCAwLCB7MHgwMSwweDNkLDB4YzAsMHgwZCwweGYwLDB4MDMsMHg1YSwweDAwLDB4ODQsMHgxOCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDMsMHg2YSB9fSwKLSB7MTYsIDB4YTdmMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg4YywweDA4LDB4ODcsMHgwMCwweDIxLDB4NDAgfX0sCi0gezE2LCAweGE4MDAsIDAsIHsweDA5LDB4NDAsMHgwMiwweGQ0LDB4MDAsMHhhNCwweDkyLDB4MmQsMHhjOCwweDA5LDB4NjIsMHg4MiwweDVjLDB4MDAsMHg4NywweDAwIH19LAotIHsxNiwgMHhhODEwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg1MCwweDAyLDB4ZmMsMHgwMCwweDg3LDB4MDAsMHgyZCwweDA0LDB4MDgsMHg3MCwweDAyLDB4MWMsMHg4MCB9fSwKLSB7MTYsIDB4YTgyMCwgMCwgezB4YjUsMHgwMCwweDJkLDB4YzAsMHgwYiwweGYwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4MzAsIDAsIHsweDYwLDB4MTAsMHhjYywweDAwLDB4ODMsMHgwMCwweDIwLDB4NDAsMHgwOSwweDAwLDB4MjIsMHhjNywweDAwLDB4YTAsMHg0MSwweDJjIH19LAotIHsxNiwgMHhhODQwLCAwLCB7MHhjMSwweDRiLDB4MDgsMHgwMiwweDJjLDB4MDAsMHg5MywweDQwLDB4MmMsMHg3YywweDBiLDB4MzgsMHgwMiwweGM3LDB4MjAsMHg5MyB9fSwKLSB7MTYsIDB4YTg1MCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDksMHgzMCwweDAyLDB4NGYsMHg4NCwweGIwLDB4ODAsMHgyYywweGMwLDB4MGIsMHgzMiwweDEwLDB4NTAgfX0sCi0gezE2LCAweGE4NjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDE1LDB4YmMsMHgwMiwweGNmLDB4MDAsMHhiMiwweDQwIH19LAotIHsxNiwgMHhhODcwLCAwLCB7MHgwZCwweDEwLDB4MDMsMHhlOCwweDI0LDB4ZWIsMHhjMSwweDNlLDB4YzAsMHgyZCwweDk4LDB4MTMsMHg3YywweDBhLDB4YzIsMHg0MyB9fSwKLSB7MTYsIDB4YTg4MCwgMCwgezB4M2UsMHhiMCwweDBmLDB4YTksMHgwMywweGU5LDB4MjAsMHhjZiwweDAwLDB4M2UsMHhjMCwweDhjLDB4ZjAsMHgwMywweDBkLDB4MjAgfX0sCi0gezE2LCAweGE4OTAsIDAsIHsweGZhLDB4YzAsMHgzZiwweGMwLDB4MGYsMHg3NCwweDAxLDB4MmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOGEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzYSwweDQwLDB4OGUsMHg5MCwweDAzLDB4ZTgsMHgxNCwweDViLDB4NTAsMHgzYyB9fSwKLSB7MTYsIDB4YThiMCwgMCwgezB4NTAsMHg0ZSwweDg0LDB4MDMsMHhlYywweDAwLDB4ZjgsMHg0MCwweDNlLDB4ODAsMHgwNywweDgxLDB4MDMsMHhlYywweDA4LDB4ZjMgfX0sCi0gezE2LCAweGE4YzAsIDAsIHsweDAwLDB4M2EsMHhjMCwweDlmLDB4MzAsMHgwMywweGVjLDB4MDAsMHhjYiwweDIwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgyMywweGU4IH19LAotIHsxNiwgMHhhOGQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg5MCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0MCB9fSwKLSB7MTYsIDB4YThlMCwgMCwgezB4MGYsMHhkMCwweDAzLDB4MzgsMHgyMCwweGNmLDB4MDgsMHgzMiwweGMxLDB4MGUsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGZlLDB4MDggfX0sCi0gezE2LCAweGE4ZjAsIDAsIHsweDMxLDB4ZTUsMHgwZSwweGU0LDB4MDMsMHgzYSwweDAwLDB4ZmYsMHgwMCwweDMzLDB4ODAsMHgwZiwweGYwLDB4MmIsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhOTAwLCAwLCB7MHhjYywweGEwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTkxMCwgMCwgezB4ODAsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4M2EsMHg2OSwweDBiLDB4OTAsMHg2ZSwweDA4LDB4MDAsMHg4MywweDQxLDB4MzYgfX0sCi0gezE2LCAweGE5MjAsIDAsIHsweDQwLDB4YzgsMHg4OCwweGM2LDB4ZWMsMHgwMCwweDg4LDB4NDAsMHgzNiwweDgwLDB4MGQsMHhhOCwweDAzLDB4NmUsMHg1MCwweGJiIH19LAotIHsxNiwgMHhhOTMwLCAwLCB7MHgwMCwweDM2LDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyNCwweDAwLDB4ZDksMHgwOCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4YTk0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4NjAgfX0sCi0gezE2LCAweGE5NTAsIDAsIHsweDAzLDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4OSwweDAxLDB4MjIsMHg1OCwweDA4LDB4OTgsMHgyMiwweGVjLDB4MDEsMHhhYiwweDAwIH19LAotIHsxNiwgMHhhOTYwLCAwLCB7MHgyMiwweDAwLDB4MGEsMHgxMCwweDAyLDB4MjgsMHgwMCwweGJiLDB4MDAsMHgyMiwweDQwLDB4MGIsMHhiMCwweDAyLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4YTk3MCwgMCwgezB4OGEsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHgyMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5ODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgwMCwweDI4LDB4NDAsMHg4YiwweDAwLDB4MDIsMHgwMiwweDQwLDB4ODksMHgwMSwweDI0IH19LAotIHsxNiwgMHhhOTkwLCAwLCB7MHhkMiwweDI4LDB4MTAsMHgwMiwweGNjLDB4MDAsMHg4MywweDEwLDB4MjQsMHgyMCwweDA4LDB4MDgsMHgwMiwweDRlLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4YTlhMCwgMCwgezB4MDQsMHhhMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDgsMHg4OCwweDkyLDB4MDAsMHgyYywweGMwLDB4MGIsMHhiMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGE5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGZmLDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhhOWMwLCAwLCB7MHgwZiwweDgwLDB4MDIsMHgyMCwweDEwLDB4ODksMHg1MCwweDIyLDB4ZDgsMHgyZSwweDk2LDB4MjIsMHhmYywweDAwLDB4ZWIsMHg0MCB9fSwKLSB7MTYsIDB4YTlkMCwgMCwgezB4MzIsMHhjMCwweDBhLDB4OTAsMHgwMywweDI4LDB4MDAsMHhmZiwweDAwLDB4MjIsMHgwMCwweDBmLDB4YjAsMHgwMywweDJjLDB4YTAgfX0sCi0gezE2LCAweGE5ZTAsIDAsIHsweGM4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MDAsMHgwNiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOWYwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZmLDB4MGMsMHgzYiwweDAwLDB4MGYsMHhjMCwweDAyLDB4NzAsMHg5MCwweGZkLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YWEwMCwgMCwgezB4YzksMHgwZiwweDk2LDB4YzMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDA0LDB4ZmYgfX0sCi0gezE2LCAweGFhMTAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGVjLDB4MDAsMHhmYywweDAwLDB4M2YsMHhjMCwweDBmLDB4NzAsMHgwMywweGU4IH19LAotIHsxNiwgMHhhYTIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGRjLDB4ODAsMHhmYiwweDI4LDB4M2YsMHgwMCB9fSwKLSB7MTYsIDB4YWEzMCwgMCwgezB4MGMsMHhjMSwweDBiLDB4ZjEsMHgwMiwweGVkLDB4MDAsMHgzNywweDMwLDB4MmMsMHhmMSwweDAzLDB4YjIsMHg0MCwweGZmLDB4MDAgfX0sCi0gezE2LCAweGFhNDAsIDAsIHsweGJiLDB4YzAsMHgwZiwweDQ4LDB4MDYsMHhiMiwweDAwLDB4ZmMsMHg4MCwweDNiLDB4Y2MsMHgwYywweGYwLDB4MDMsMHg3MCwweDgwIH19LAotIHsxNiwgMHhhYTUwLCAwLCB7MHhkZiwweDI4LDB4MzMsMHgwNCwweDBmLDB4ZjQsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWE2MCwgMCwgezB4ODAsMHgxMCwweGZmLDB4NDAsMHhiZiwweDYwLDB4MmUsMHgyMSwweDA4LDB4ODIsMHgwMiwweDIwLDB4MDAsMHhhOSwweDI4LDB4MmEgfX0sCi0gezE2LCAweGFhNzAsIDAsIHsweDAwLDB4MDksMHhmYSwweDAyLDB4MjAsMHgwMCwweGJmLDB4NTEsMHgyMywweGQ4LDB4MDksMHg5OCwweDAyLDB4ZTQsMHgzMCwweGIwIH19LAotIHsxNiwgMHhhYTgwLCAwLCB7MHgwMCwweDIzLDB4ZDAsMHgwOCwweGY1LDB4YTIsMHgyNSwweGE0LDB4OGYsMHg0MiwweDNjLDB4MTAsMHgwYiwweGIwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4YWE5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgwOCwweDJjLDB4MDAgfX0sCi0gezE2LCAweGFhYTAsIDAsIHsweDI4LDB4MDAsMHgxYSwweGMwLDB4ODQsMHgyMCwweDAwLDB4MjQsMHhjOCwweDRiLDB4MzEsMHg0MiwweGMwLDB4MDAsMHg5MywweDAyIH19LAotIHsxNiwgMHhhYWIwLCAwLCB7MHgyMCwweGM2LDB4MDgsMHgwMCwweDA2LDB4YzAsMHg4MSwweGIzLDB4MDAsMHgyYywweGQ4LDB4MDksMHgzMiwweDAyLDB4YTAsMHg0MCB9fSwKLSB7MTYsIDB4YWFjMCwgMCwgezB4OTMsMHgwMSwweDI0LDB4NGMsMHgwYiwweDMyLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhZDAsIDAsIHsweGMwLDB4MTEsMHhhYywweDAwLDB4YmIsMHgwMiwweDJlLDB4MGEsMHgwOCwweDgwLDB4ODIsMHg2MCwweDAwLDB4YTgsMHgwMCwweDJlIH19LAotIHsxNiwgMHhhYWUwLCAwLCB7MHhlMCwweDFiLDB4YjAsMHgwMiwweDYyLDB4MDEsMHgzYiwweDAwLDB4MjIsMHhjMSwweDA5LDB4OTAsMHgwMiwweGUyLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YWFmMCwgMCwgezB4NjAsMHgyNiwweGMxLDB4MDgsMHhiMCwweDJhLDB4MjYsMHgwMCwweDliLDB4MDQsMHgyZSwweDIxLDB4MGIsMHhiMCwweDAyLDB4MzAgfX0sCi0gezE2LCAweGFiMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSwweDEwIH19LAotIHsxNiwgMHhhYjEwLCAwLCB7MHgwOCwweDg0LDB4MTMsMHhlYywweDAyLDB4YTksMHgwNCwweDM2LDB4MjAsMHgwZiwweGIwLDB4MDMsMHhlZSwweDgwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4YWIyMCwgMCwgezB4M2EsMHhjMCwweDBjLDB4YTAsMHgwMywweGEyLDB4ODAsMHg3OSwweDQwLDB4MWUsMHhjMCwweDhjLDB4YjAsMHg2MywweDZhLDB4MTAgfX0sCi0gezE2LCAweGFiMzAsIDAsIHsweGQzLDB4MDAsMHgzNiwweGEyLDB4MDcsMHhiMCwweDAzLDB4MDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYjQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZSwweDIwLDB4NGQsMHg0MSwweDAzLDB4OWMsMHgwMCwweGZkLDB4MjAsMHhhYiB9fSwKLSB7MTYsIDB4YWI1MCwgMCwgezB4MDAsMHgwYywweGYwLDB4MDMsMHhiOCwweDAwLDB4ZjcsMHgwMCwweDNmLDB4YzAsMHg0ZCwweGM5LDB4MDMsMHhmNCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGFiNjAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDJlLDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhlZiwweDAwLDB4M2YsMHgwMCwweDRiLDB4NzAsMHgwMywweGY4IH19LAotIHsxNiwgMHhhYjcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4ODAsMHhlYiwweDAwLDB4N2UsMHgxMCB9fSwKLSB7MTYsIDB4YWI4MCwgMCwgezB4MmUsMHg4NCwweDAzLDB4ZWMsMHgwMCwweGUwLDB4MDAsMHgzMiwweDUwLDB4MGYsMHhiMCwweDg2LDB4MjUsMHgwMCwweGRiLDB4MjAgfX0sCi0gezE2LCAweGFiOTAsIDAsIHsweDNhLDB4YzAsMHgwZCwweGIwLDB4NjMsMHhlMSwweDEwLDB4ZmIsMHg0OCwweDM4LDB4YzEsMHgwZiwweDMwLDB4MDMsMHgyYywweDA0IH19LAotIHsxNiwgMHhhYmEwLCAwLCB7MHhmYiwweDA4LDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwYiwweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWJiMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4NjQsMHgyOSwweDI4LDB4ODAsMHgwMywweGVjLDB4MDIsMHhlOCwweDA0LDB4YTggfX0sCi0gezE2LCAweGFiYzAsIDAsIHsweDU2LDB4MDgsMHhmYywweDA3LDB4ZTAsMHgwMCwweDBmLDB4YTAsMHhiZiwweGMwLDB4MGIsMHg5NSwweDAyLDB4YTAsMHgwMCwweGJiIH19LAotIHsxNiwgMHhhYmQwLCAwLCB7MHgwNSwweDM3LDB4YzAsMHg4OSwweGYwLDB4MGEsMHgwZCwweGM4LDB4YmYsMHgwOCwweDJhLDB4ODAsMHgwOCwweGYwLDB4MDIsMHgzMiB9fSwKLSB7MTYsIDB4YWJlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAxLDB4YjMsMHgwMiwweDI0LDB4ZTAgfX0sCi0gezE2LCAweGFiZjAsIDAsIHsweDBhLDB4MzAsMHgxMiwweDgwLDB4MDMsMHhhMywweDAwLDB4YTgsMHgwMCwweDAyLDB4YjgsMHgyMiwweGMwLDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhhYzAwLCAwLCB7MHgyOCwweGMxLDB4MGIsMHgwNCwweDAyLDB4MDgsMHgwMCwweGI5LDB4NDAsMHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDMsMHgwNCB9fSwKLSB7MTYsIDB4YWMxMCwgMCwgezB4YjMsMHg0NCwweDIwLDB4MDAsMHg0YSwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjMjAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDIwLDB4MTcsMHhhMCwweDY1LDB4ZWMsMHgwOCwweDM4LDB4MDIsMHhjMiwweDQxLDB4YjMsMHg5MiwweDJiIH19LAotIHsxNiwgMHhhYzMwLCAwLCB7MHg2NCwweDBhLDB4MzgsMHgwMiwweDM2LDB4MDEsMHhiNywweDkwLDB4MmQsMHhlMCwweDAzLDB4ZjgsMHgwMCwweDlhLDB4MDAsMHhiNSB9fSwKLSB7MTYsIDB4YWM0MCwgMCwgezB4ODAsMHgyZCwweGUwLDB4ODksMHg3OCwweDEyLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyOSwweGUwLDB4MGEsMHg3OCwweDAyLDB4MDggfX0sCi0gezE2LCAweGFjNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDczLDB4YjAsMHgyNCwweGM4IH19LAotIHsxNiwgMHhhYzYwLCAwLCB7MHg0ZSwweDMwLDB4MGEsMHg4MCwweDAyLDB4ZTIsMHgwMCwweDM4LDB4OTQsMHgwZSwweDMxLDB4YTIsMHhjOCwweDAwLDB4NzMsMHgwMCB9fSwKLSB7MTYsIDB4YWM3MCwgMCwgezB4MTgsMHhjNCwweDA1LDB4MDAsMHgwMywweDAwLDB4MDAsMHhmMywweDAwLDB4MzgsMHhjMCwweDA3LDB4YjEsMHgwMywweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjODAsIDAsIHsweGYzLDB4MDEsMHgzMCwweDQxLDB4MGUsMHhiMCwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYzkwLCAwLCB7MHg0MCwweDFkLDB4YmQsMHgwMCwweGVmLDB4MTAsMHgyNiwweGM4LDB4MDMsMHhiMSwweDAzLDB4ZTAsMHgwMCwweGVhLDB4ODEsMHg3OCB9fSwKLSB7MTYsIDB4YWNhMCwgMCwgezB4YzUsMHgwYywweGI1LDB4ZTMsMHhkYywweDAwLDB4YzMsMHgwMCwweDNlLDB4YzEsMHgwZiwweGYwLDB4ODMsMHhiMCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGFjYjAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBkLDB4ZjQsMHgwMywweGU0LDB4MDAsMHhmNywweDAwLDB4M2YsMHg0MCwweDBkLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhhY2MwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVkLDB4MTAsMHhjYiwweDI4LDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4YWNkMCwgMCwgezB4MGQsMHhiMCwweDEzLDB4YWMsMHgxMCwweGZiLDB4MDAsMHgzYSwweDgwLDB4MDQsMHhiNCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDQgfX0sCi0gezE2LCAweGFjZTAsIDAsIHsweDNlLDB4YzAsMHgwZiwweGE0LDB4YjMsMHhlMCwweDAwLDB4ZmIsMHg4MCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlOCwweDAwIH19LAotIHsxNiwgMHhhY2YwLCAwLCB7MHhmYiwweDQ4LDB4YjIsMHg4MCwweDBmLDB4YjAsMHg0MywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWQwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDIsMHg4NywweDQ0LDB4MzgsMHhjMCwweDhkLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhmZiwweDAwLDB4MjEgfX0sCi0gezE2LCAweGFkMTAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDAzLDB4OWMsMHgwMCwweGIzLDB4NTAsMHgyMSwweGQ0LDB4NGUsMHg2MiwweDAyLDB4ZDAsMHgwMCwweGJmIH19LAotIHsxNiwgMHhhZDIwLCAwLCB7MHgwMCwweDM1LDB4ZDQsMHgwOSwweDcwLDB4MjIsMHhkOCwweDAwLDB4YmYsMHgyMiwweDIxLDB4YzAsMHgwYiwweDcyLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4YWQzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDQwLDB4ODcsMHg4MCwweDJkLDB4ZTAgfX0sCi0gezE2LCAweGFkNDAsIDAsIHsweDA5LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNiwweDgwLDB4MjksMHhhMSwweDI4LDB4N2EsMHgzMiwweGRlLDB4MDAsMHgzNywweGEwIH19LAotIHsxNiwgMHhhZDUwLCAwLCB7MHgyNSwweGUwLDB4MDksMHg3OCwweDA2LDB4ZDIsMHgwMCwweGI3LDB4ODAsMHgyMSwweGU4LDB4MGIsMHg3OSwweDAyLDB4ZGUsMHgwMCB9fSwKLSB7MTYsIDB4YWQ2MCwgMCwgezB4YjcsMHg5MCwweDIxLDB4ZTAsMHgwYiwweDc5LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkNzAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDA0LDB4ODMsMHgwMSwweDI4LDB4YzAsMHg4OSwweGIwLDB4MGEsMHg0ZiwweDAwLDB4YjIsMHgwMCwweDIwIH19LAotIHsxNiwgMHhhZDgwLCAwLCB7MHhjNCwweDg4LDB4MzAsMHgxNiwweGNmLDB4MDAsMHhiYiwweDA0LDB4MjAsMHhjMSwweDBhLDB4MzIsMHgwNiwweGMyLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4YWQ5MCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MDksMHgzMCwweDQyLDB4ZWYsMHgxMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGFkYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweDRhLDB4MDAsMHgzZSwweDgwIH19LAotIHsxNiwgMHhhZGIwLCAwLCB7MHgyZCwweGEwLDB4MGIsMHhhYSwweDgwLDB4ZmUsMHgwMCwweDJiLDB4ODAsMHgwYywweGEwLDB4NDMsMHhmYiwweDMwLDB4ZmEsMHgwMCB9fSwKLSB7MTYsIDB4YWRjMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHg4MywweGZhLDB4MDQsMHhmZSwweDE4LDB4MjIsMHg4MCwweDBmLDB4YTAsMHgwMywweGZhLDB4ODQgfX0sCi0gezE2LCAweGFkZDAsIDAsIHsweGYyLDB4MDAsMHgzMywweGEyLDB4MGYsMHhhMCwweDAzLDB4ZjIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZGUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4MmYsMHg4MCwweDAzLDB4YTAsMHgyMCwweGZjLDB4MDIsMHgzZSB9fSwKLSB7MTYsIDB4YWRmMCwgMCwgezB4MDAsMHgxZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MDEsMHhlMCwweDQwLDB4ZjggfX0sCi0gezE2LCAweGFlMDAsIDAsIHsweDQwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhhZTEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM2LDB4MDAsMHhkOSwweDAwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4YWUyMCwgMCwgezB4MGYsMHg5MCwweDBiLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDY4LDB4NmMsMHg5NCwweDAzLDB4ZTQsMHgyMCwweGI5LDB4OTAgfX0sCi0gezE2LCAweGFlMzAsIDAsIHsweDM2LDB4NDAsMHgwYywweDk0LDB4MDMsMHhlNCwweDAwLDB4MjksMHg4MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNCwweDIwIH19LAotIHsxNiwgMHhhZTQwLCAwLCB7MHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWU1MCwgMCwgezB4ODAsMHgwNCwweDY2LDB4NTAsMHg4OSwweDAwLDB4MjAsMHg1MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDksMHhkOSwweDAwLDB4MjAgfX0sCi0gezE2LCAweGFlNjAsIDAsIHsweDQ4LDB4NDgsMHg5MCwweDA2LDB4ZTQsMHgwNCwweDk5LDB4YTAsMHgyMiwweDQwLDB4MGQsMHhiOCwweDIyLDB4NjQsMHgwMCwweDA5IH19LAotIHsxNiwgMHhhZTcwLCAwLCB7MHg1MCwweDMyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNywweDkwLDB4ODksMHg0MCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YWU4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4OTksMHgwMCwweDY2LDB4NDIgfX0sCi0gezE2LCAweGFlOTAsIDAsIHsweDBhLDB4ZDAsMHgxMiwweDM0LDB4MDAsMHg4NSwweDAwLDB4MjYsMHg0MCwweDRhLDB4OTAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAxIH19LAotIHsxNiwgMHhhZWEwLCAwLCB7MHgyNCwweDQwLDB4NTgsMHg5MCwweDEyLDB4YzQsMHgwMCwweDI5LDB4NDAsMHgyZSwweDQwLDB4MGIsMHgxMCwweDBhLDB4MjQsMHg4MCB9fSwKLSB7MTYsIDB4YWViMCwgMCwgezB4ODksMHgwNSwweDI2LDB4NDEsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlYzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMCwweDYxLDB4NDgsMHgwOCwweDUyLDB4MDIsMHgxNCwweDgxLDB4OTUsMHgyMCwweDIwIH19LAotIHsxNiwgMHhhZWQwLCAwLCB7MHg0MCwweDBhLDB4MzYsMHgwMiwweGM0LDB4MDAsMHhiMSwweDIwLDB4MDAsMHg0OCwweDQxLDB4MTAsMHg0MiwweDQ0LDB4MDEsMHhhMSB9fSwKLSB7MTYsIDB4YWVlMCwgMCwgezB4MDAsMHgyNCwweDQ4LDB4MGIsMHgxMiwweDEyLDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyOCwweDQ4LDB4MGIsMHgxMiwweDAyLDB4Y2EgfX0sCi0gezE2LCAweGFlZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGQ4LDB4NTAsMHgzNiwweDAwIH19LAotIHsxNiwgMHhhZjAwLCAwLCB7MHgwZSwweDg1LDB4MjMsMHgyMSwweDQyLDB4OGMsMHg1NCwweDM0LDB4MTQsMHgwZSwweDgwLDB4MDIsMHhlMSwweDQwLDB4ZjgsMHg1MCB9fSwKLSB7MTYsIDB4YWYxMCwgMCwgezB4MzYsMHgxNCwweDA0LDB4ODAsMHgwMywweGUxLDB4NDQsMHhlOCwweDUwLDB4N2UsMHgxNSwweDBmLDB4ODUsMHgwMywweDIxLDB4NDIgfX0sCi0gezE2LCAweGFmMjAsIDAsIHsweDRhLDB4MDAsMHgzNiwweDE0LDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZjMwLCAwLCB7MHg5OCwweDFkLDB4YzQsMHg0MCwweGY5LDB4MTAsMHgxZSwweDQ0LDB4NGUsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4YWY0MCwgMCwgezB4YzAsMHgwZCwweDkxLDB4MDMsMHhmNCwweDAwLDB4ZDksMHgxNCwweDNlLDB4NDQsMHgwZiwweDkwLDB4MDMsMHg3NCwweDAwLDB4ZGQgfX0sCi0gezE2LCAweGFmNTAsIDAsIHsweDAwLDB4N2EsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4NDAsMHhmOSwweDM4LDB4M2YsMHg0NCwweDBmLDB4OTMsMHg4MywweGU3IH19LAotIHsxNiwgMHhhZjYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGY2LDB4ODAsMHhmOSwweGE0LDB4M2YsMHg2OCB9fSwKLSB7MTYsIDB4YWY3MCwgMCwgezB4MGUsMHg5ZSwweDQzLDB4NjcsMHg4MCwweGQ5LDB4ZTQsMHgzZiwweDQxLDB4MGYsMHhkOCwweDQzLDB4MDQsMHgwMCwweGVkLDB4YzAgfX0sCi0gezE2LCAweGFmODAsIDAsIHsweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDUsMHg0MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhmNCwweDAwIH19LAotIHsxNiwgMHhhZjkwLCAwLCB7MHhkZCwweDAwLDB4MzIsMHg0MCwweDJjLDB4OWEsMHgwMywweGM2LDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWZhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHhlOCwweGMwLDB4MmUsMHgxNCwweDRkLDB4OGYsMHgyMiwweDIzLDB4YzAsMHhmOCwweGYwLDB4YWEgfX0sCi0gezE2LCAweGFmYjAsIDAsIHsweDAwLDB4MGMsMHg4MCwweDAzLDB4YTIsMHhhMCwweGQ4LDB4ODIsMHgyMiwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTgsMHgwMCwweGQ4IH19LAotIHsxNiwgMHhhZmMwLCAwLCB7MHg4MCwweDJhLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlOCwweDA4LDB4ODgsMHhhOCwweDM2LDB4MDAsMHg0OCwweDhhLDB4ODIsMHhjZSB9fSwKLSB7MTYsIDB4YWZkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHg0OCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGFmZTAsIDAsIHsweDBhLDB4MTIsMHgyMiwweDQ0LDB4MDAsMHg5MSwweDA0LDB4YTQsMHg0MSwweDBhLDB4OTQsMHgwNiwweDI0LDB4MDAsMHg5MSwweDQyIH19LAotIHsxNiwgMHhhZmYwLCAwLCB7MHgyNCwweDQxLDB4MDksMHgxMCwweDAyLDB4ZTQsMHgwMSwweDkxLDB4MjAsMHgyNCwweDQwLDB4MDksMHgxMCwweDAyLDB4YzQsMHgwMSB9fSwKLSB7MTYsIDB4YjAwMCwgMCwgezB4OTEsMHgwMCwweDJjLDB4NDAsMHgwOSwweDE0LDB4MDIsMHhjMiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NDAsMHg0OCwweDEwLDB4MDIsMHgyNCwweDAwLDB4YjksMHg0MCwweGFhIH19LAotIHsxNiwgMHhiMDIwLCAwLCB7MHg0MCwweDE4LDB4YjAsMHgwMiwweGU0LDB4MDgsMHg5OSwweDAwLDB4MjIsMHg0MCwweDE5LDB4OTAsMHg0NiwweGU0LDB4ODAsMHg5OSB9fSwKLSB7MTYsIDB4YjAzMCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMSwweDk5LDB4MDQsMHgyNiwweDUwLDB4MDksMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweGIwNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGY5LDB4MDYsMHgzYywweDQwIH19LAotIHsxNiwgMHhiMDUwLCAwLCB7MHgwYSwweDkwLDB4MDMsMHg2NCwweDAyLDB4ZDksMHgwMCwweGI2LDB4NTAsMHgwZSwweDkwLDB4MjMsMHgyNiwweDAxLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4YjA2MCwgMCwgezB4MzYsMHg0MCwweDI5LDB4OTQsMHg4MywweGU0LDB4MDAsMHhkOSwweDQ4LDB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMywweGM3LDB4MDAgfX0sCi0gezE2LCAweGIwNzAsIDAsIHsweGQxLDB4MDcsMHgzYSwweDUwLDB4Y2QsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMDgwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwOCwweGU5LDB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4YzQsMHgwOCwweGYxLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YjA5MCwgMCwgezB4NjgsMHg4ZiwweDkwLDB4MDMsMHhhNCwweDQxLDB4ZjksMHgwMCwweGJlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGIwYTAsIDAsIHsweGMwLDB4MzgsMHg0MCwweDJlLDB4OTAsMHgwMywweGU2LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg2OCwweDA2LDB4OTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhiMGIwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDA1LDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4YjBjMCwgMCwgezB4MDcsMHg4MCwweDBiLDB4MjAsMHgwMCwweGU4LDB4NDAsMHgzZSwweDEwLDB4MGQsMHg4MiwweDAzLDB4NjAsMHgwMCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGIwZDAsIDAsIHsweGIyLDB4MDAsMHg4ZCwweDgzLDB4MDMsMHhlMCwweDAwLDB4ZDgsMHg1MCwweDNhLDB4MDAsMHgxZSwweDgwLDB4MDMsMHhlMSwweDI0IH19LAotIHsxNiwgMHhiMGUwLCAwLCB7MHhmOCwweDAwLDB4YjIsMHgwMCwweDBmLDB4ODAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjBmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHg4YSwweDA0LDB4MmYsMHg4NCwweDZhLDB4YTAsMHgwYiwweGU4LDB4MDgsMHg4ZSwweDAwLDB4M2QgfX0sCi0gezE2LCAweGIxMDAsIDAsIHsweDgwLDB4ODgsMHhlYywweDAzLDB4NjgsMHgxMCwweGE2LDB4MDEsMHgzNiwweDgwLDB4MDgsMHhhOCwweDAwLDB4YzgsMHgxMCwweDhlIH19LAotIHsxNiwgMHhiMTEwLCAwLCB7MHgxMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhmYiwweDIwLDB4YmUsMHg1MSwweDJhLDB4ODAsMHgwYiwweGEwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4YjEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MSwweDIxLDB4OTMsMHgwMCwweDJjLDB4ZjAgfX0sCi0gezE2LCAweGIxMzAsIDAsIHsweDM5LDB4MzAsMHgwNiwweDBjLDB4MDAsMHhhMywweDAwLDB4MjgsMHgwOCwweDI4LDB4YmMsMHgwMiwweDJjLDB4MDAsMHg4MywweDgwIH19LAotIHsxNiwgMHhiMTQwLCAwLCB7MHgyYSwweGMwLDB4MDgsMHgzMCwweDAwLDB4Y2MsMHgwMCwweDlhLDB4ODAsMHgyOCwweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2QsMHgwMCB9fSwKLSB7MTYsIDB4YjE1MCwgMCwgezB4YjMsMHgwNCwweDYyLDB4YzEsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIxNjAsIDAsIHsweGEwLDB4MDEsMHgxZSwweDA0LDB4MDcsMHgxMSwweDJjLDB4ZDAsMHgwYSwweDMyLDB4MjIsMHhkYywweGMxLDB4ODcsMHgwMCwweDZkIH19LAotIHsxNiwgMHhiMTcwLCAwLCB7MHhkMCwweDA4LDB4MzQsMHgwMiwweDdjLDB4MDAsMHhhNywweDA4LDB4MjQsMHhjOCwweDA4LDB4NzAsMHgwMiwweGRjLDB4ODAsMHgwZiB9fSwKLSB7MTYsIDB4YjE4MCwgMCwgezB4MDAsMHgyMSwweGM0LDB4MDgsMHg3MywweDA2LDB4ZGMsMHgwMCwweGIyLDB4MDAsMHg2MSwweGM4LDB4MGIsMHgzYSwweDAyLDB4ODggfX0sCi0gezE2LCAweGIxOTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MGEsMHgwMCwweDU3LDB4ODEsMHgyZCwweGEwIH19LAotIHsxNiwgMHhiMWEwLCAwLCB7MHgyZCwweDdjLDB4MDIsMHgzZSwweDgyLDB4ZTMsMHhlMCwweDNiLDB4ZTAsMHgwYywweDc4LDB4MDMsMHgxZSwweDIwLDB4YzcsMHg4MCB9fSwKLSB7MTYsIDB4YjFiMCwgMCwgezB4YjksMHhlOCwweDJjLDB4NzgsMHgwMywweGZmLDB4ODAsMHhkNiwweDgwLDB4M2IsMHhlYywweDAyLDB4N2EsMHgwMywweGRlLDB4MDAgfX0sCi0gezE2LCAweGIxYzAsIDAsIHsweGY3LDB4ODEsMHgzMSwweGVjLDB4OGYsMHg3YywweDAzLDB4MGEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMWQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgxZSwweDgwLDB4MjMsMHhiNiwweDgzLDB4ZWQsMHhhMCwweGRiLDB4NjQsMHgzZSB9fSwKLSB7MTYsIDB4YjFlMCwgMCwgezB4YzAsMHgwZSwweGIwLDB4MDMsMHhlZCwweGMwLDB4ZjIsMHgwMCwweDNlLDB4ZDQsMHgwYSwweGIwLDB4MDMsMHhlYywweDMwLDB4ZWUgfX0sCi0gezE2LCAweGIxZjAsIDAsIHsweDY0LDB4M2UsMHhjMCwweDA3LDB4YjAsMHhjMywweGU4LDB4MDAsMHhmYiwweDAxLDB4M2UsMHhjOCwweDBmLDB4YjgsMHgwMywweGMyIH19LAotIHsxNiwgMHhiMjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhlZiwweDgwLDB4M2IsMHhlMCB9fSwKLSB7MTYsIDB4YjIxMCwgMCwgezB4MGYsMHhmOCwweDYzLDB4N2UsMHgwNCwweGNmLDB4YzAsMHhiNywweDIwLDB4MGUsMHhmOCwweDAzLDB4ZmMsMHgwMCwweGM3LDB4ODAgfX0sCi0gezE2LCAweGIyMjAsIDAsIHsweDMzLDB4ZjAsMHgwYywweGNjLDB4MDMsMHhmZSwweDA4LDB4ZjcsMHhjMSwweDMzLDB4ZTAsMHg0ZiwweGY4LDB4MDMsMHhiMiwweDQwIH19LAotIHsxNiwgMHhiMjMwLCAwLCB7MHhmZiwweGEwLDB4MzEsMHhlNiwweDBjLDB4ZjgsMHgwMywweDEwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjI0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhlZiwweDAyLDB4MjEsMHg0MCwweDJkLDB4NzAsMHgwMiwweDFjLDB4MDAsMHhmNywweDEwLDB4MjkgfX0sCi0gezE2LCAweGIyNTAsIDAsIHsweDQwLDB4MDgsMHg3MCwweDIyLDB4ZmMsMHhjMCwweGE3LDB4MDAsMHgzZCwweGMwLDB4MDgsMHg0MCwweDAyLDB4ZGMsMHgwMCwweGI3IH19LAotIHsxNiwgMHhiMjYwLCAwLCB7MHg0MCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkYSwweDgwLDB4YjcsMHgyNCwweDI5LDB4YzYsMHg0OCwweGYwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4YjI3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTcsMHgwMCwweDI4LDB4ODQgfX0sCi0gezE2LCAweGIyODAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg5MywweDAwLDB4MjUsMHg4MCwweDBhLDB4NjEsMHgwMiwweGRjLDB4MDEsMHhhNywweDEwIH19LAotIHsxNiwgMHhiMjkwLCAwLCB7MHgyNCwweGMwLDB4MDgsMHg0MCwweDgyLDB4ZGMsMHgwMCwweDlmLDB4MDAsMHgyNSwweGM0LDB4MGIsMHg3MCwweDAyLDB4OTQsMHgyNSB9fSwKLSB7MTYsIDB4YjJhMCwgMCwgezB4YjcsMHgzMiwweDIzLDB4YzQsMHgxYiwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyYjAsIDAsIHsweDIwLDB4MTQsMHhjYywweDBjLDB4YTMsMHgwMCwweDIwLDB4MDAsMHgyOSwweDMwLDB4MGEsMHgwYywweDAwLDB4YTMsMHgwMCwweDZjIH19LAotIHsxNiwgMHhiMmMwLCAwLCB7MHgwMCwweDA4LDB4MTAsMHg0MiwweGNkLDB4MTAsMHhhYSwweDAwLDB4YWMsMHhjMCwweDAwLDB4MDQsMHgwMiwweGNkLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YjJkMCwgMCwgezB4MTAsMHgyNCwweGMwLDB4MDMsMHgzMCwweDQyLDB4YzMsMHgwOSwweGIzLDB4MDAsMHgyYywweGQwLDB4MGEsMHgzMCwweDAyLDB4MTggfX0sCi0gezE2LCAweGIyZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODAsMHgwMCwweGVmLDB4MDAsMHgzYSwweDQwIH19LAotIHsxNiwgMHhiMmYwLCAwLCB7MHgwNywweGYwLDB4NDMsMHgzYywweDAwLDB4OWYsMHhjMCwweGI2LDB4MTQsMHgwZSwweDgwLDB4MDYsMHhmYywweDAxLDB4Y2IsMHgwMSB9fSwKLSB7MTYsIDB4YjMwMCwgMCwgezB4MzcsMHhjMCwweGFjLDB4YjQsMHgwMiwweGZjLDB4MDAsMHhkOSwweDAxLDB4MzcsMHhjMCwweDRiLDB4ZjAsMHgxMywweGFlLDB4MDggfX0sCi0gezE2LCAweGIzMTAsIDAsIHsweGZiLDB4MDAsMHgzMywweGQwLDB4MmUsMHhmMCwweDBiLDB4MmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMzIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDUsMHgzZSwweDQwLDB4MGYsMHgzMCwweDAzLDB4YWMsMHgxNCwweGZiLDB4YTAsMHgzYSB9fSwKLSB7MTYsIDB4YjMzMCwgMCwgezB4YzAsMHgwZiwweDg0LDB4NDMsMHhlYywweDAxLDB4ZjksMHg0MCwweDNlLDB4YzAsMHgwZiwweGEyLDB4MDMsMHhlYywweDIxLDB4ZjkgfX0sCi0gezE2LCAweGIzNDAsIDAsIHsweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGU0LDB4MjAsMHhmMCwweDAwLDB4YmEsMHhjMCwweDBkLDB4YjAsMHgwMywweGUwIH19LAotIHsxNiwgMHhiMzUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY4LDB4MDAsMHhkNywweDAxLDB4MzUsMHg2OCB9fSwKLSB7MTYsIDB4YjM2MCwgMCwgezB4NmQsMHhmMCwweDAzLDB4M2MsMHgwMSwweGU3LDB4MDAsMHgzMywweGMwLDB4MGQsMHhjMCwweDAzLDB4ZmMsMHgyNCwweGNmLDB4MDIgfX0sCi0gezE2LCAweGIzNzAsIDAsIHsweDM3LDB4YzAsMHgwZCwweGQyLDB4MDIsMHhmYywweDAwLDB4ZGYsMHgwMSwweDMzLDB4YzAsMHg1ZSwweDcwLDB4MzMsMHgxYywweDE4IH19LAotIHsxNiwgMHhiMzgwLCAwLCB7MHhjZiwweDQxLDB4MzEsMHhjMiwweDBjLDB4ZjAsMHgwMywweDQwLDB4NDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjM5MCwgMCwgezB4ODEsMHgwMCwweDZjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHg1MiwweDJhLDB4YjAsMHgwMywweDZjLDB4MDAsMHhhYiwweDAwLDB4MjggfX0sCi0gezE2LCAweGIzYTAsIDAsIHsweGMwLDB4MGEsMHg4YywweDAyLDB4ZWMsMHgxMCwweDhiLDB4ZTAsMHgyMiwweGMwLDB4MGYsMHg4MCwweDAyLDB4Y2MsMHgwMCwweDhiIH19LAotIHsxNiwgMHhiM2IwLCAwLCB7MHg4MCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYSwweDEwLDB4ZDksMHg4MCwweDIyLDB4YzAsMHhjOCwweGIwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YjNjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNCwweDAxLDB4OWIsMHgwMCwweDI2LDB4ODAgfX0sCi0gezE2LCAweGIzZDAsIDAsIHsweDI5LDB4YjAsMHg2MiwweDBjLDB4MDAsMHhhYiwweDAxLDB4NmEsMHgwMCwweDA4LDB4OTgsMHgwMiwweGNjLDB4MDAsMHg5YiwweDgzIH19LAotIHsxNiwgMHhiM2UwLCAwLCB7MHgyZSwweGMwLDB4Y2IsMHhiNCwweDEyLDB4ZWMsMHgwMywweDhiLDB4ODAsMHgyOCwweGMwLDB4MGEsMHhiMCwweDA2LDB4YTIsMHgwMCB9fSwKLSB7MTYsIDB4YjNmMCwgMCwgezB4OGIsMHgwMiwweDYyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0MDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAxLDB4ODMsMHgxNCwweDIwLDB4MDAsMHgwYSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJhIH19LAotIHsxNiwgMHhiNDEwLCAwLCB7MHg0MCwweDBhLDB4MTAsMHgwMCwweGNjLDB4MDIsMHg5MywweDAwLDB4MjgsMHhjMCwweDBhLDB4MjAsMHgwMiwweGVjLDB4MDAsMHgwMyB9fSwKLSB7MTYsIDB4YjQyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDE2LDB4MDAsMHg4MCwweDkxLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGI0MzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDgwIH19LAotIHsxNiwgMHhiNDQwLCAwLCB7MHgyZCwweGYwLDB4MDMsMHgzYywweDAwLDB4YWYsMHgwMCwweDNhLDB4ODAsMHgwZCwweDgwLDB4MDMsMHhmYywweDAwLDB4NWIsMHgwMCB9fSwKLSB7MTYsIDB4YjQ1MCwgMCwgezB4MzcsMHhjMCwweDA5LDB4OTAsMHgwMywweGZjLDB4MDAsMHhkZiwweDAwLDB4MzMsMHhjMCwweDBhLDB4ZjAsMHgwMywweGE0LDB4MjAgfX0sCi0gezE2LCAweGI0NjAsIDAsIHsweGNiLDB4MDAsMHhiMywweGMwLDB4OGMsMHhiMCwweDAzLDB4NDAsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNDcwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNCwweGZmLDB4MjAsMHgwZiwweDAwLDB4MjcsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4YjQ4MCwgMCwgezB4MDAsMHgwYiwweGQwLDB4MjcsMHhmYywweDAwLDB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGMwLDB4NDMsMHhmYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGI0OTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwYiwweGUwLDB4MDAsMHhmNSwweDAwLDB4M2YsMHhjMCwweDFmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhiNGEwLCAwLCB7MHgwNywweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGY0LDB4YzAsMHhmYywweDIyLDB4N2YsMHhjMCB9fSwKLSB7MTYsIDB4YjRiMCwgMCwgezB4MGMsMHhkMCwweDQzLDB4MzYsMHgwMCwweGM0LDB4ODEsMHgzNCwweGMwLDB4MWMsMHg4OSwweDA3LDB4ZjIsMHg4MCwweGNmLDB4ODAgfX0sCi0gezE2LCAweGI0YzAsIDAsIHsweDMzLDB4NjAsMHgwZiwweDc5LDB4MDMsMHgzYywweGUwLDB4Y2YsMHgwOCwweDMzLDB4NDgsMHgwZCwweGM0LDB4MDMsMHhmMCwweDUwIH19LAotIHsxNiwgMHhiNGQwLCAwLCB7MHhkYywweDkwLDB4MzcsMHhjYywweDBmLDB4ZjgsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjRlMCwgMCwgezB4ODAsMHgxMCwweGU5LDB4OTAsMHhiOCwweDgwLDB4N2UsMHhlNCwweDg4LDB4OTksMHgwYSwweDI2LDB4MDgsMHhhOSwweDgwLDB4MjIgfX0sCi0gezE2LCAweGI0ZjAsIDAsIHsweGY0LDB4MmMsMHg5OSwweDAzLDB4YTcsMHgwMiwweDg5LDB4ODAsMHgyMiwweDM0LDB4MGIsMHg5YSwweDAzLDB4N2QsMHgwMCwweGRmIH19LAotIHsxNiwgMHhiNTAwLCAwLCB7MHg0OCwweDJiLDB4NjAsMHgwOCwweDA1LDB4MDIsMHhlNSwweDAwLDB4ODIsMHgyMCwweDIyLDB4YzQsMHg4YiwweGIwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YjUxMCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNSwweDAwLDB4YjAsMHgxMCwweDJjLDB4YzAgfX0sCi0gezE2LCAweGI1MjAsIDAsIHsweDJhLDB4MDAsMHgwMiwweGE0LDB4MDgsMHhhOCwweDA0LDB4ZTAsMHg4MCwweDBiLDB4MDAsMHgwMiwweGM0LDB4NDEsMHhiMiwweDA0IH19LAotIHsxNiwgMHhiNTMwLCAwLCB7MHhhNCwweDBhLDB4MGIsMHhiMCwweDAyLDB4OGMsMHg4MSwweDgzLDB4MjAsMHg2MCwweDUwLDB4OTgsMHgxMiwweDEyLDB4OGIsMHg4MCB9fSwKLSB7MTYsIDB4YjU0MCwgMCwgezB4ODksMHgwMCwweDJjLDB4YzgsMHgwYiwweDMwLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1NTAsIDAsIHsweGMwLDB4MTEsMHhhYywweDIwLDB4YmIsMHgwMiwweDJhLDB4YzAsMHgwYSwweDg4LDB4MDIsMHhhNCwweDA4LDB4YTksMHg4MCwweGEyIH19LAotIHsxNiwgMHhiNTYwLCAwLCB7MHhlMSwweDFiLDB4OWMsMHgyMiwweGU2LDB4MDAsMHhiOCwweDQwLDB4MjYsMHgzMCwweDBiLDB4OTAsMHgwMiwweGNjLDB4MDEsMHg5MyB9fSwKLSB7MTYsIDB4YjU3MCwgMCwgezB4MDQsMHgyYSwweDQwLDB4MzksMHg5OCwweDgyLDB4ZWMsMHgxNCwweDhiLDB4NjUsMHgyYSwweGMwLDB4MGIsMHhiMiwweDAyLDB4ZjggfX0sCi0gezE2LCAweGI1ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTcsMHgwMCwweGI4LDB4NDgsMHgyZSwweDAwIH19LAotIHsxNiwgMHhiNTkwLCAwLCB7MHgwZSwweDg4LDB4NDMsMHg4NCwweDAwLDB4ZTMsMHhjMSwweDM2LDB4ZTgsMHgwZiwweDljLDB4MTIsMHhlMiwweDgwLDB4ZjMsMHhjMCB9fSwKLSB7MTYsIDB4YjVhMCwgMCwgezB4MzYsMHg3MCwweDVmLDB4YTgsMHgyMywweGFjLDB4MDEsMHhjYiwweDA0LDB4MjIsMHg0MCwweDRkLDB4ODQsMHgwMywweGUyLDB4MDAgfX0sCi0gezE2LCAweGI1YjAsIDAsIHsweGQ4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNWMwLCAwLCB7MHhlMCwweDAxLDB4YjMsMHgwOSwweGZlLDB4MTAsMHgzZSwweDgxLDB4MGQsMHhjMCwweDAzLDB4NzQsMHgwYywweGZmLDB4MDAsMHgzZCB9fSwKLSB7MTYsIDB4YjVkMCwgMCwgezB4YzEsMHg4YywweGQwLDB4ODMsMHgxNCwweDAwLDB4Y2QsMHgyMCwweDNhLDB4NDAsMHgwZCwweGNhLDB4MDEsMHg3YywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGI1ZTAsIDAsIHsweDAwLDB4MWYsMHg0MCwweDBlLDB4YzAsMHgyMywweGYyLDB4NDYsMHhmZSwweDg0LDB4MzcsMHhjMCwweDBmLDB4ZDgsMHgwMywweGY4IH19LAotIHsxNiwgMHhiNWYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhkZCwweDAyLDB4M2QsMHg0MCB9fSwKLSB7MTYsIDB4YjYwMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4YWMsMHgwMCwweGViLDB4NDgsMHgzZSwweGQwLDB4MGMsMHg4MCwweDYzLDB4YTIsMHgwOCwweGNhLDB4MDAgfX0sCi0gezE2LCAweGI2MTAsIDAsIHsweDMyLDB4MDgsMHgwYywweGIwLDB4MDMsMHhhYywweDA4LDB4ZWIsMHgwMCwweDNlLDB4NDAsMHgwYywweGQ0LDB4ODMsMHg1OCwweDIwIH19LAotIHsxNiwgMHhiNjIwLCAwLCB7MHhmOSwweDQyLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjYzMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDIsMHhkYiwweDAwLDB4MmUsMHhlMCwweDI4LDB4M2EsMHgwMiwweDJlLDB4MDAsMHhkYiwweDYwLDB4NzYgfX0sCi0gezE2LCAweGI2NDAsIDAsIHsweGUwLDB4MGQsMHg4YywweDAyLDB4ZTAsMHgwMCwweDg4LDB4MDIsMHgzNiwweDU4LDB4NjgsMHgxNSwweDgzLDB4N2MsMHgwOCwweGJmIH19LAotIHsxNiwgMHhiNjUwLCAwLCB7MHgwMCwweDJkLDB4NjAsMHgwOCwweDkwLDB4MDIsMHhhOSwweDAwLDB4YjMsMHgwNSwweDIzLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4YjY2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDEwLDB4ODAsMHgwMCwweDBjLDB4YzEgfX0sCi0gezE2LCAweGI2NzAsIDAsIHsweDA4LDB4MWMsMHg4MiwweDA2LDB4MDAsMHg5MywweGMwLDB4MjAsMHhmNiwweDBhLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg5MywweDAwIH19LAotIHsxNiwgMHhiNjgwLCAwLCB7MHgyNCwweDYwLDB4MDksMHgzYywweDAyLDB4MGMsMHgwMCwweDgzLDB4MDAsMHgyYywweDYwLDB4MDksMHgwMSwweDEyLDB4MDAsMHg0MCB9fSwKLSB7MTYsIDB4YjY5MCwgMCwgezB4YjAsMHgwMCwweGUwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg3MCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2YTAsIDAsIHsweDIwLDB4NDEsMHgwYSwweDQwLDB4ODYsMHg4MSwweDJkLDB4ZTAsMHg1OCwweDE4LDB4MGEsMHgxNiwweGEwLDB4OTcsMHg4MCwweDI1IH19LAotIHsxNiwgMHhiNmIwLCAwLCB7MHhlOSwweDE5LDB4NzgsMHg4MiwweGQ2LDB4MDAsMHg5NywweDgwLDB4MjUsMHhhMCwweDE5LDB4ZjgsMHgwMiwweDVlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4YjZjMCwgMCwgezB4ODAsMHgyZCwweDYwLDB4MjgsMHg0OCwweDEyLDB4OTYsMHgwMCwweGI0LDB4ODAsMHgyMSwweGUwLDB4MjgsMHg3OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGI2ZDAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgxLDB4MzAsMHgzYywweGMyIH19LAotIHsxNiwgMHhiNmUwLCAwLCB7MHgwZSwweDAwLDB4MDIsMHg4NCwweDAwLDB4ZTMsMHg0MCwweDI4LDB4ZTgsMHg0YywweDI5LDB4MDMsMHgwYywweDAwLDB4ZDMsMHgwMCB9fSwKLSB7MTYsIDB4YjZmMCwgMCwgezB4MzQsMHhjNCwweDBkLDB4MzEsMHgwMywweDhjLDB4MDgsMHhlMywweDAwLDB4M2MsMHg0NiwweDBjLDB4MjAsMHgwMywweDAwLDB4ODAgfX0sCi0gezE2LCAweGI3MDAsIDAsIHsweGYyLDB4MDAsMHgzMiwweGMwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNzEwLCAwLCB7MHg0MCwweDE5LDB4YjgsMHgwMCwweGZmLDB4MTAsMHgyZiwweGMwLDB4MGYsMHhjMCwweDIzLDB4YzQsMHg4MCwweDdmLDB4MTAsMHgzZSB9fSwKLSB7MTYsIDB4YjcyMCwgMCwgezB4YzAsMHgwZiwweGIxLDB4MDMsMHhkYywweDAwLDB4ZTcsMHgwMCwweDNmLDB4ODAsMHgwNiwweGYxLDB4NDMsMHhmYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGI3MzAsIDAsIHsweDA4LDB4N2QsMHg1MCwweDBlLDB4ZTEsMHgyMywweGI0LDB4MDgsMHhmZSwweDEwLDB4M2YsMHhjNCwweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhiNzQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDIsMHhjYywweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4Yjc1MCwgMCwgezB4MmMsMHhjMCwweDAzLDB4MDQsMHgwMSwweGNiLDB4MDAsMHgzMywweDYwLDB4MmMsMHg5MCwweDEzLDB4ZTgsMHgwMCwweDczLDB4MDAgfX0sCi0gezE2LCAweGI3NjAsIDAsIHsweGIyLDB4YzEsMHgwZiwweGEwLDB4MDMsMHhlYywweDgwLDB4ZmIsMHgyOCwweDNlLDB4NTQsMHgxZiwweGQwLDB4MDMsMHhmZSwweDAyIH19LAotIHsxNiwgMHhiNzcwLCAwLCB7MHhjOSwweDgwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGNhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjc4MCwgMCwgezB4NDgsMHgxMSwweDgwLDB4MDAsMHg4NiwweDAwLDB4MmQsMHg4MCwweDA4LDB4MjAsMHgwMiwweDE0LDB4MDgsMHg4NywweDAwLDB4MjkgfX0sCi0gezE2LCAweGI3OTAsIDAsIHsweDQwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAyLDB4NWMsMHhhMCwweDk3IH19LAotIHsxNiwgMHhiN2EwLCAwLCB7MHgyMCwweDJkLDB4NDgsMHgwYiwweDUwLDB4MDIsMHhkYywweDEwLDB4OGQsMHgwMCwweDIxLDB4YzgsMHgwYiwweDcwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4YjdiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZiwweDAwLDB4ODUsMHg4MSwweDJjLDB4NjAgfX0sCi0gezE2LCAweGI3YzAsIDAsIHsweDE4LDB4NTgsMHgwMiwweGRlLDB4MjAsMHhiNywweDgyLDB4MjgsMHg2MCwweDVhLDB4NzgsMHg1MiwweGRlLDB4MTAsMHhiZiwweDgwIH19LAotIHsxNiwgMHhiN2QwLCAwLCB7MHgyMSwweGUwLDB4NGIsMHg3OCwweDA2LDB4ZGUsMHg0MCwweGI3LDB4YTAsMHgyZCwweDY5LDB4OWIsMHg3OCwweDEyLDB4Y2UsMHgwMCB9fSwKLSB7MTYsIDB4YjdlMCwgMCwgezB4ODcsMHg4MCwweGUxLDB4ZTQsMHgwYiwweDc4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3ZjAsIDAsIHsweDQ4LDB4MTQsMHhlZSwweDAwLDB4ODMsMHgwMCwweDJjLDB4YzIsMHgwOCwweDM2LDB4MDIsMHg4YywweDA4LDB4ODMsMHhmMCwweDY4IH19LAotIHsxNiwgMHhiODAwLCAwLCB7MHg0MCwweDBhLDB4M2UsMHgwMiwweGNkLDB4NDAsMHhiMywweDAwLDB4MjAsMHhlMCwweDBiLDB4MzIsMHgwNiwweDRjLDB4MDAsMHg5YiB9fSwKLSB7MTYsIDB4YjgxMCwgMCwgezB4MDAsMHgwYywweDQwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHg4MCwweDgzLDB4MDgsMHgyMCwweGMwLDB4MGIsMHhiMSwweDAyLDB4ZGEgfX0sCi0gezE2LCAweGI4MjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGNlLDB4MDgsMHgzZiwweGIwIH19LAotIHsxNiwgMHhiODMwLCAwLCB7MHgwYywweGU0LDB4MjMsMHhkYSwweDAyLDB4ZGUsMHg0MCwweGJiLDB4YjIsMHgwZSwweGUyLDB4NDMsMHhmYSwweDAwLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4Yjg0MCwgMCwgezB4MzMsMHg5MCwweDBiLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MSwweDBiLDB4ZTAsMHgxMywweGY5LDB4MDggfX0sCi0gezE2LCAweGI4NTAsIDAsIHsweGNlLDB4NDAsMHgzMiwweDgwLDB4MGYsMHhhOCwweDAzLDB4ZmEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiODYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgyNCwweDk4LDB4MDgsMHgzYywweDA0LDB4MGYsMHgwMCwweDBiLDB4NjAsMHgwMCwweGY4LDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4Yjg3MCwgMCwgezB4MDMsMHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDYsMHgwYiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZDggfX0sCi0gezE2LCAweGI4ODAsIDAsIHsweDAwLDB4M2MsMHgwMCwweDAzLDB4OGMsMHgyMywweGUxLDB4MDAsMHhmOCwweDAwLDB4N2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhiODkwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4YjhhMCwgMCwgezB4OGMsMHg5MCwweDAzLDB4MjUsMHgwMCwweGU5LDB4ODAsMHgzMiwweDQ0LDB4MGYsMHg5NCwweDAyLDB4ZTQsMHgyMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGI4YjAsIDAsIHsweDMyLDB4NzAsMHgwZiwweDlhLDB4NDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwYywweDEwLDB4MzMsMHgyNCwweDEwIH19LAotIHsxNiwgMHhiOGMwLCAwLCB7MHhmOSwweDAxLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjhkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDgyLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgwMiwweDI0LDB4ODIsMHg4MSwweGMwLDB4YTIgfX0sCi0gezE2LCAweGI4ZTAsIDAsIHsweDcwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgwMCwweDMxLDB4NDIsMHhhMiwweDYwLDB4MGIsMHg5NCwweDgyLDB4ZTQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhiOGYwLCAwLCB7MHgwMCwweDJhLDB4NDAsMHgwOCwweDk0LDB4YTIsMHgyNSwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4YjkwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHg2NCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGI5MTAsIDAsIHsweDA4LDB4OTAsMHg0MiwweGE0LDB4MDAsMHg4OSwweDYwLDB4MjIsMHg0MiwweDBiLDB4OTAsMHgwMiwweGU2LDB4MDAsMHhiOSwweDgwIH19LAotIHsxNiwgMHhiOTIwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwNCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MjgsMHg5MCwweDAyLDB4MjQsMHgwNCB9fSwKLSB7MTYsIDB4YjkzMCwgMCwgezB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDgwLDB4ODEsMHgwMCwweDJjLDB4YzEsMHg0OCwweDEwLDB4MDIsMHhhNCwweDAyLDB4ODEsMHgwMCwweDIwIH19LAotIHsxNiwgMHhiOTUwLCAwLCB7MHg0MCwweDgzLDB4MzQsMHgwMiwweGM0LDB4MDAsMHhiYiwweDAwLDB4MjAsMHhkMCwweDBiLDB4MTQsMHgwMiwweGM0LDB4ODAsMHhiMSB9fSwKLSB7MTYsIDB4Yjk2MCwgMCwgezB4MjAsMHhhMCwweDY4LDB4MTgsMHgxNCwweDFhLDB4MGQsMHgwMCwweGIxLDB4NDAsMHgyYywweDUwLDB4MGIsMHgxMCwweDAyLDB4MGEgfX0sCi0gezE2LCAweGI5NzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhiOTgwLCAwLCB7MHg4YywweDgwLDB4MGIsMHhhMCwweDA0LDB4ZTgsMHgwMCwweDMyLDB4MDAsMHgwNywweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4Yjk5MCwgMCwgezB4MzIsMHgwMCwweDFmLDB4ODAsMHgwMywweGExLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweGI5YTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOWIwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHg0NiwweGZkLDB4NDAsMHgzZiwweDUwLDB4MjMsMHhkNCwweDEzLDB4NzQsMHgwNCwweGY1LDB4MDIsMHgzZiB9fSwKLSB7MTYsIDB4YjljMCwgMCwgezB4NTAsMHgwZiwweGQ0LDB4MDMsMHhmZCwweDAwLDB4YmQsMHgwMCwweDJmLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZjkgfX0sCi0gezE2LCAweGI5ZDAsIDAsIHsweDEwLDB4M2YsMHg0NCwweDBmLDB4ZDQsMHgwMywweGY1LDB4MDgsMHhmZCwweDA2LDB4M2UsMHg1MCwweDBmLDB4ZDIsMHg4MywweGU2IH19LAotIHsxNiwgMHhiOWUwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4NDAsMHhlZCwweDA0LDB4M2UsMHg0OCB9fSwKLSB7MTYsIDB4YjlmMCwgMCwgezB4MGMsMHhiMiwweDgzLDB4ZjQsMHgwMCwweGMxLDB4MDAsMHgzMiwweDQwLDB4OGMsMHhkMCwweDAzLDB4MzQsMHgwMCwweGZkLDB4MDAgfX0sCi0gezE2LCAweGJhMDAsIDAsIHsweDM3LDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNiwweDIwLDB4ZjksMHg4OCwweDNkLDB4NjIsMHgwYywweGQ4LDB4MDMsMHhmZSwweDI0IH19LAotIHsxNiwgMHhiYTEwLCAwLCB7MHhjMSwweDAwLDB4M2UsMHg3OCwweDBmLDB4ZDAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmEyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHg4OCwweDQwLDB4MmUsMHgxMCwweDA4LDB4YzQsMHgyMywweGEwLDB4MDgsMHg4OCwweDA2LDB4MmEgfX0sCi0gezE2LCAweGJhMzAsIDAsIHsweDE0LDB4MDgsMHg4MCwweDAzLDB4NjAsMHgwNCwweGI4LDB4MDAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDAyLDB4ZTIsMHgwMCwweGI4IH19LAotIHsxNiwgMHhiYTQwLCAwLCB7MHg4MCwweDJlLDB4MDAsMHgwOCwweDhjLDB4MDIsMHhlMywweDgwLDB4ODgsMHgwMiwweDJlLDB4MzgsMHgwYiwweDg4LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YmE1MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDgwLDB4YTEsMHhjMCwweDJkLDB4NzAgfX0sCi0gezE2LCAweGJhNjAsIDAsIHsweDA4LDB4NTAsMHg0MiwweGM0LDB4MDAsMHhhOSwweDAwLDB4MjAsMHhlMCwweDJhLDB4MTAsMHgwYSwweDA0LDB4MTAsMHhiMSwweDAwIH19LAotIHsxNiwgMHhiYTcwLCAwLCB7MHgyNCwweDQwLDB4NGIsMHgxMCwweDA2LDB4YzQsMHgyMCwweGIxLDB4MDgsMHg2ZSwweDQwLDB4MGIsMHgxNiwweDgyLDB4YzQsMHgyMCB9fSwKLSB7MTYsIDB4YmE4MCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NTAsMHgwYiwweDkyLDB4ODIsMHg1MiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJhOTAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4YTksMHgwMSwweDJlLDB4NDAsMHgyOCwweGQwLDB4MjAsMHhhNCwweDA0LDB4YTksMHgwMCwweDJhIH19LAotIHsxNiwgMHhiYWEwLCAwLCB7MHg0MCwweDFhLDB4YjAsMHgxMiwweDI0LDB4MDAsMHhiOSwweDBjLDB4MjIsMHg0MiwweDBiLDB4OTQsMHgwMiwweGU0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4YmFiMCwgMCwgezB4MDAsMHg2ZSwweDQwLDB4MGIsMHg5NiwweDAyLDB4ZTQsMHgxMSwweDg5LDB4MjAsMHg2ZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGJhYzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHhjMCwweGE5LDB4YzAsMHgzZSwweDUwIH19LAotIHsxNiwgMHhiYWQwLCAwLCB7MHgwOCwweDljLDB4ODMsMHhlNCwweDAyLDB4ZTksMHgwMCwweGIyLDB4NDAsMHgyYSwweDkyLDB4MTIsMHgyNiwweDQwLDB4ZjksMHg0MCB9fSwKLSB7MTYsIDB4YmFlMCwgMCwgezB4MzYsMHg3MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDQsMHhmOSwweDAxLDB4M2MsMHg0MCwweDBmLDB4OTgsMHgwMywweGU2LDB4MDIgfX0sCi0gezE2LCAweGJhZjAsIDAsIHsweGM5LDB4MjIsMHgzZSwweDQwLDB4MGYsMHgxMCwweDAyLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYjAwLCAwLCB7MHgyOCwweDAxLDB4ODYsMHgwNCwweGQ5LDB4NDAsMHgxYywweDQwLDB4MGYsMHg5MiwweDIzLDB4YTQsMHhiMCwweGRiLDB4MDQsMHgzYyB9fSwKLSB7MTYsIDB4YmIxMCwgMCwgezB4YzAsMHgwZCwweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDQsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGJiMjAsIDAsIHsweDAwLDB4M2UsMHg0MiwweDJjLDB4OTAsMHgyMywweGU0LDB4ODAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDhmLDB4OTIsMHgwMywweDkyIH19LAotIHsxNiwgMHhiYjMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhjOCwweDIwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YmI0MCwgMCwgezB4NGMsMHhjMCwweDhiLDB4MjAsMHgwMiwweGM4LDB4MzEsMHgzMiwweDIwLDB4MmQsMHg4NCwweDAzLDB4ZTEsMHgwNCwweGY4LDB4NDggfX0sCi0gezE2LCAweGJiNTAsIDAsIHsweGJhLDB4MDAsMHgwZiwweDg5LDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZCwweDgxLDB4MTMsMHgyMCwweDEwIH19LAotIHsxNiwgMHhiYjYwLCAwLCB7MHhmOCwweDAwLDB4M2EsMHgwMCwweDBmLDB4ODEsMHgyMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmI3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHgwZSwweDQwLDB4MjIsMHg4MCwweDI4LDB4YTQsMHgwMiwweDE5LDB4MDAsMHg1MiwweDgwLDB4YTIgfX0sCi0gezE2LCAweGJiODAsIDAsIHsweDgwLDB4NGQsMHhlZCwweDgyLDB4ZTgsMHgwMCwweGI2LDB4NDIsMHgyMywweGJkLDB4MGIsMHhlOCwweDAyLDB4ZTgsMHgwNCwweGRhIH19LAotIHsxNiwgMHhiYjkwLCAwLCB7MHgwMCwweDM3LDB4ODAsMHgwOCwweGUwLDB4MDIsMHgzYSwweDIwLDB4YmEsMHgwMCwweDIyLDB4ODAsMHgwYiwweGE4LDB4MGEsMHgwYSB9fSwKLSB7MTYsIDB4YmJhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHg4MCwweDYwLDB4YzAgfX0sCi0gezE2LCAweGJiYjAsIDAsIHsweDA4LDB4MjksMHgwMiwweDBkLDB4MDAsMHg5MiwweDQwLDB4MjQsMHhjMCwweDA4LDB4YjQsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhiYmMwLCAwLCB7MHg2OCwweGUwLDB4MWIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDkzLDB4MDEsMHgyNCwweGMwLDB4NjksMHgzOCwweDAyLDB4NmMsMHgwMCB9fSwKLSB7MTYsIDB4YmJkMCwgMCwgezB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiZTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDQwLDB4ODMsMHhjMCwweDIwLDB4NDAsMHgwOCwweDI4LDB4MDYsMHg5YywweDE4LDB4OWMsMHgwMiwweDI0IH19LAotIHsxNiwgMHhiYmYwLCAwLCB7MHhjMCwweDA5LDB4NzAsMHgwMiwweGQ0LDB4MDAsMHhiNywweDAwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGNlLDB4NDAsMHg5NyB9fSwKLSB7MTYsIDB4YmMwMCwgMCwgezB4YjAsMHgyNSwweDQwLDB4MDgsMHg3OCwweDFhLDB4NTgsMHgwMCwweGJmLDB4YTIsMHg2NSwweGM4LDB4MGIsMHg3OCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGJjMTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MGUsMHgwMiwweDg3LDB4ODAsMHhiMSwweGEwIH19LAotIHsxNiwgMHhiYzIwLCAwLCB7MHgwYywweDY4LDB4MDMsMHgxYSwweDA4LDB4ZDYsMHg5MiwweDM1LDB4ZTQsMHgyOCwweDc4LDB4NDIsMHhkNiwweDEwLDB4ZjUsMHg4MCB9fSwKLSB7MTYsIDB4YmMzMCwgMCwgezB4MzksMHhhMCwweDBmLDB4NzgsMHgyMywweGRlLDB4MzAsMHhkMywweGEyLDB4MzUsMHhhMCwweDRkLDB4ZTgsMHgwMywweDVlLDB4MDAgfX0sCi0gezE2LCAweGJjNDAsIDAsIHsweGY3LDB4ZDAsMHgzZCwweGY4LDB4MGYsMHhmMCwweDAzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYzUwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDAwLDB4MGIsMHhhMCwweDAzLDB4NDgsMHgwNCwweGZhLDB4NDEsMHgzYSB9fSwKLSB7MTYsIDB4YmM2MCwgMCwgezB4NTAsMHgwZiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlZCwweDg4LDB4ZmIgfX0sCi0gezE2LCAweGJjNzAsIDAsIHsweDRkLDB4M2UsMHgwMCwweDBmLDB4ZjAsMHgwMywweGJjLDB4MDgsMHhmYiwweDIwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhiYzgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhkYywweDgwLDB4YjMsMHhlMCB9fSwKLSB7MTYsIDB4YmM5MCwgMCwgezB4MGMsMHhkOCwweDAzLDB4Y2UsMHgwMCwweGM4LDB4YTAsMHgzMSwweGEwLDB4OGQsMHhlOSwweDAzLDB4YmUsMHgwMCwweGIyLDB4ODAgfX0sCi0gezE2LCAweGJjYTAsIDAsIHsweDMzLDB4ZTAsMHgwYywweGU4LDB4NDMsMHg3ZSwweDA0LDB4MGYsMHg4MSwweDMxLDB4ZTQsMHgwYywweGQ4LDB4MDMsMHhmNiwweDAwIH19LAotIHsxNiwgMHhiY2IwLCAwLCB7MHhmZiwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHgwMywweDAwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmNjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNCwweDQwLDB4MzUsMHg0MCwweDA4LDB4NTAsMHg4MiwweGRlLDB4ODAsMHhkNCwweDkwLDB4MjEgfX0sCi0gezE2LCAweGJjZDAsIDAsIHsweGUwLDB4MGQsMHg1MSwweDAyLDB4ZDQsMHg0MCwweGI2LDB4YjAsMHgyYiwweDkwLDB4MGUsMHhlNSwweDAyLDB4OWMsMHg0MCwweGQ3IH19LAotIHsxNiwgMHhiY2UwLCAwLCB7MHgyMiwweDE5LDB4NWMsMHgwZCwweDcwLDB4MDIsMHhkOCwweDAwLDB4YjcsMHgyMCwweDJkLDB4YzAsMHgwYiwweGYwLDB4MDMsMHg2YSB9fSwKLSB7MTYsIDB4YmNmMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4OTMsMHgxMCwweDIxLDB4ODAgfX0sCi0gezE2LCAweGJkMDAsIDAsIHsweDA4LDB4NTgsMHgwMiwweGRjLDB4YzAsMHg5NCwweDAwLDB4MjMsMHhkMCwweDA4LDB4NzAsMHhhMCwweGQ0LDB4MjAsMHhiNSwweDAyIH19LAotIHsxNiwgMHhiZDEwLCAwLCB7MHgyOSwweDgwLDB4MDksMHg2MCwweDgyLDB4MGMsMHgwMCwweDg3LDB4MDIsMHgyNSwweGMwLDB4MTksMHg0MCwweDAyLDB4ZDQsMHgwMCB9fSwKLSB7MTYsIDB4YmQyMCwgMCwgezB4YjcsMHgwMCwweDZkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkMzAsIDAsIHsweDIwLDB4MTQsMHhlYywweDAwLDB4YjMsMHhjMCwweDIwLDB4MDEsMHg0OCwweDE4LDB4MDIsMHhjYywweDAyLDB4ODEsMHg0NCwweGEwIH19LAotIHsxNiwgMHhiZDQwLCAwLCB7MHhjMCwweDg5LDB4MzgsMHgwMiwweGM3LDB4ODAsMHhiMSwweDAwLDB4MmMsMHgwOSwweDRhLDB4MDAsMHg2MiwweGFjLDB4MDksMHg5MyB9fSwKLSB7MTYsIDB4YmQ1MCwgMCwgezB4MDEsMHgyOCwweDQwLDB4MTksMHgzMCwweDAyLDB4Y2QsMHgxMCwweGIzLDB4OTAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4YzggfX0sCi0gezE2LCAweGJkNjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgyMCwweGRiLDB4NjIsMHgyMiwweGUwIH19LAotIHsxNiwgMHhiZDcwLCAwLCB7MHg2YywweGEwLDB4MDMsMHhlNCwweDAwLDB4OTgsMHgwMCwweDMyLDB4YzAsMHhlYywweDk4LDB4MjMsMHhhZSwweDA4LDB4ZmIsMHgwOCB9fSwKLSB7MTYsIDB4YmQ4MCwgMCwgezB4M2EsMHg3OCwweDA5LDB4OTAsMHgwMywweDdjLDB4MTAsMHhjZiwweDAwLDB4MjYsMHg0MCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAgfX0sCi0gezE2LCAweGJkOTAsIDAsIHsweGZmLDB4ODAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZGEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgyMCwweGZiLDB4NDgsMHgzYywweDYxLDB4MGYsMHhhMCwweDQzLDB4ZWQsMHgwMCwweGY4LDB4MjQsMHgzZSB9fSwKLSB7MTYsIDB4YmRiMCwgMCwgezB4NTAsMHgwZiwweDkwLDB4ODMsMHhlNCwweDAwLDB4ZmIsMHgwMCwweDNhLDB4NTAsMHgwZiwweDgwLDB4NDMsMHhlYywweDA4LDB4ZmIgfX0sCi0gezE2LCAweGJkYzAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBmLDB4NDAsMHgwMywweGYwLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMSwweDBmLDB4OTAsMHgwMywweDYwIH19LAotIHsxNiwgMHhiZGQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhkZCwweGEwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4YmRlMCwgMCwgezB4MGMsMHhlMCwweDAxLDB4ZmMsMHgwMCwweGRjLDB4OTEsMHgzOSwweGMwLDB4M2MsMHg0MCwweDAzLDB4MzQsMHgwMCwweGZmLDB4ODAgfX0sCi0gezE2LCAweGJkZjAsIDAsIHsweDNmLDB4MDAsMHgwZiwweGQwLDB4MDcsMHhmYywweDAwLDB4Y2IsMHgwMCwweDNkLDB4NDAsMHgwYywweGUwLDB4MDMsMHgzOCwweDIwIH19LAotIHsxNiwgMHhiZTAwLCAwLCB7MHhjZiwweDAyLDB4M2QsMHhjMCwweDBjLDB4ZDAsMHgwMywweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmUxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHgwMSwweDQwLDB4MjIsMHgwMCwweDI4LDB4YTAsMHgwMiwweGNlLDB4ODYsMHg4MywweDY0LDB4MjIgfX0sCi0gezE2LCAweGJlMjAsIDAsIHsweGY0LDB4MDgsMHg4YywweDBmLDB4NjQsMHgwMCwweGJiLDB4MTAsMHgyZSwweDYwLDB4MGIsMHg5YywweDAzLDB4YWMsMHgwMSwweGRiIH19LAotIHsxNiwgMHhiZTMwLCAwLCB7MHgwMCwweDNlLDB4NjAsMHgwOCwweDhmLDB4MDIsMHgyMywweDQwLDB4OGIsMHgwMCwweDNhLDB4YzAsMHgwZCwweDEwLDB4NDMsMHg2OCB9fSwKLSB7MTYsIDB4YmU0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OTksMHgwMCwweGEyLDB4YzAgfX0sCi0gezE2LCAweGJlNTAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGE2LDB4MDcsMHg5OCwweDAwLDB4MDIsMHhjMiwweDQ4LDB4ODgsMHgwMiwweDJjLDB4MDAsMHhiYSwweDAyIH19LAotIHsxNiwgMHhiZTYwLCAwLCB7MHg2ZSwweDYwLDB4MGEsMHg5OCwweDAyLDB4ZWMsMHgwMCwweDhiLDB4MDEsMHgyZSwweDYwLDB4MDgsMHg5MCwweDAyLDB4MDUsMHgwMCB9fSwKLSB7MTYsIDB4YmU3MCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIxLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4ODEsMHgwMCwweDIwLDB4NDAsMHgyOCwweDEwLDB4MjYsMHhjYywweDgwLDB4ODAsMHgyMCwweGEwIH19LAotIHsxNiwgMHhiZTkwLCAwLCB7MHhjYywweDE4LDB4MTQsMHg0MiwweDA0LDB4MDAsMHhiMiwweDIwLDB4NmMsMHg0MCwweDBiLDB4MDAsMHgwMiwweDhjLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YmVhMCwgMCwgezB4MDAsMHgyOCwweDQwLDB4MjgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDksMHhiMCwweDAyLDB4NDIgfX0sCi0gezE2LCAweGJlYjAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGQ5LDB4MDAsMHgyMiwweDgwIH19LAotIHsxNiwgMHhiZWMwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhYywweDgwLDB4ZGEsMHgyOSwweDJhLDB4ZDIsMHgyOCwweDgwLDB4MDIsMHgyNCwweDAwLDB4ZmIsMHgyMCB9fSwKLSB7MTYsIDB4YmVkMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4OTAsMHgwMiwweGZjLDB4MDAsMHg4ZiwweDAwLDB4MmUsMHg0MCwweDBjLDB4ODAsMHgwYiwweDIwLDB4MDIgfX0sCi0gezE2LCAweGJlZTAsIDAsIHsweGNmLDB4MDAsMHgzZSwweGMwLDB4MGMsMHhiMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZWYwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDYzLDB4ZmMsMHg0OSwweGY1LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YmYwMCwgMCwgezB4YzAsMHgwYiwweGMwLDB4MDEsMHhmNCwweDAwLDB4N2YsMHg0MCwweDNmLDB4NDAsMHgxZiwweGQwLDB4MDMsMHhiYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGJmMTAsIDAsIHsweDAwLDB4M2YsMHg0MCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhiZjIwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGYyLDB4NDAsMHhlYywweGEwLDB4M2YsMHhlMCB9fSwKLSB7MTYsIDB4YmYzMCwgMCwgezB4MGQsMHg0OCwweDAzLDB4N2QsMHg4MCwweGY0LDB4ODAsMHgzMywweDZjLDB4MGUsMHhjOCwweDAzLDB4MzIsMHgwMCwweGRkLDB4OTAgfX0sCi0gezE2LCAweGJmNDAsIDAsIHsweDNiLDB4YTAsMHgyZCwweGYwLDB4MDMsMHhmYywweGMwLDB4ZmYsMHgwMCwweDNiLDB4ZTAsMHg4ZSwweGYwLDB4MDMsMHgzYywweDA0IH19LAotIHsxNiwgMHhiZjUwLCAwLCB7MHhlYywweDYwLDB4MzEsMHgwMCwweDBjLDB4ZjAsMHgwMywweGIwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmY2MCwgMCwgezB4ODAsMHgxMCwweGVjLDB4MDAsMHhkOSwweGMxLDB4MmUsMHhlMSwweDBkLDB4ODgsMHgwMiwweDNjLDB4ODAsMHhmOCwweDgwLDB4MzYgfX0sCi0gezE2LCAweGJmNzAsIDAsIHsweDdkLDB4MTgsMHhhMCwweDAyLDB4MjgsMHhiMCwweGVhLDB4MjAsMHgyMiwweDIwLDB4MDgsMHg3NywweDAyLDB4ZmQsMHg1MCwweGJiIH19LAotIHsxNiwgMHhiZjgwLCAwLCB7MHg4MCwweDIyLDB4NDAsMHgwYiwweGY0LDB4NDIsMHgzZCwweDgwLDB4ODgsMHgzMSwweDIyLDB4MTIsMHgwOCwweGY2LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4YmY5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4ODAsMHgxMSwweDJlLDB4YzEgfX0sCi0gezE2LCAweGJmYTAsIDAsIHsweDA4LDB4MDAsMHgwMiwweDRkLDB4ODAsMHhiOCwweDAwLDB4MjAsMHgwMCwweDBhLDB4MDIsMHg4MiwweDAwLDB4MDAsMHg5OSwweDIwIH19LAotIHsxNiwgMHhiZmIwLCAwLCB7MHgyMiwweGMwLDB4MDksMHgzMCwweDgyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyOCwweGNhLDB4MGIsMHgzNCwweDgyLDB4MGQsMHgyMCB9fSwKLSB7MTYsIDB4YmZjMCwgMCwgezB4ODAsMHgwMCwweGEwLDB4OGMsMHgwOCwweDM0LDB4ODIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDQwLDB4OTksMHg4MCwweDJlLDB4YzIsMHgwOSwweDk0LDB4MDIsMHgyYywweDAwLDB4YTksMHg4MCwweDI2IH19LAotIHsxNiwgMHhiZmUwLCAwLCB7MHg2MCwweDA4LDB4MzgsMHg0MiwweDIyLDB4MjAsMHhiYSwweDQxLDB4NjIsMHg0NiwweDNiLDB4YjAsMHgwMiwweGVjLDB4MDEsMHhiYiB9fSwKLSB7MTYsIDB4YmZmMCwgMCwgezB4ODAsMHgyMiwweDQwLDB4MGIsMHhiMCwweDQ2LDB4MGMsMHgxOCwweDg4LDB4YzAsMHgyMiwweDIyLDB4MDgsMHhiMCwweDA2LDB4ZjAgfX0sCi0gezE2LCAweGMwMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4Y2MsMHgwMCwweGM5LDB4ODEsMHgzYywweGMxIH19LAotIHsxNiwgMHhjMDEwLCAwLCB7MHgwYywweGE5LDB4MjMsMHg2YywweDAwLDB4YjIsMHg4MCwweDMyLDB4NzgsMHgwYSwweDhhLDB4MGIsMHgyNiwweDAwLDB4OTksMHgwMSB9fSwKLSB7MTYsIDB4YzAyMCwgMCwgezB4MzAsMHhlMCwweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhiOSwweDAwLDB4M2EsMHhjMCwweDFlLDB4YjAsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGMwMzAsIDAsIHsweGNiLDB4ODAsMHgzMiwweDYxLDB4MGMsMHhiMCwweDEzLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMDQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgxMCwweGRkLDB4MDAsMHgzZiwweGMyLDB4MGYsMHhlOCwweDAzLDB4YWMsMHgwMCwweGZlLDB4MDAsMHgzZCB9fSwKLSB7MTYsIDB4YzA1MCwgMCwgezB4NDAsMHgwZiwweGMwLDB4NDMsMHhmOCwweDEwLDB4ZWYsMHgxNCwweGI3LDB4ZTAsMHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4ZjUgfX0sCi0gezE2LCAweGMwNjAsIDAsIHsweDAyLDB4M2YsMHg0NCwweDRmLDB4YjAsMHg0YiwweGZjLDB4MDIsMHhkNCwweDA0LDB4M2QsMHg0MCwweDJmLDB4ZjAsMHgwMywweGY4IH19LAotIHsxNiwgMHhjMDcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmOSwweDA4LDB4M2UsMHg2MCB9fSwKLSB7MTYsIDB4YzA4MCwgMCwgezB4MGQsMHhhMCwweDAzLDB4YWMsMHgwMCwweGU4LDB4NTAsMHgzMiwweDAwLDB4MGMsMHg4NCwweDAzLDB4YTUsMHgwMCwweGU5LDB4MDAgfX0sCi0gezE2LCAweGMwOTAsIDAsIHsweDNhLDB4ZDgsMHgwZiwweGIwLDB4MDMsMHgyYywweDAwLDB4ZjksMHgwMCwweDNhLDB4YzAsMHgwZiwweDMwLDB4MDMsMHgyYywweDAwIH19LAotIHsxNiwgMHhjMGEwLCAwLCB7MHhjYiwweDQ0LDB4M2UsMHhkNCwweDBlLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzBiMCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDgsMHhiOSwweDgwLDB4MmUsMHhjMCwweDBhLDB4MzAsMHg0MiwweDNjLDB4MDAsMHg4OSwweDA0LDB4NzYgfX0sCi0gezE2LCAweGMwYzAsIDAsIHsweDYwLDB4MDgsMHg5MCwweDYyLDB4MjAsMHgwMCwweDgyLDB4MDQsMHgyMiwweGQwLDB4MDgsMHhmMCwweDQzLDB4N2MsMHgwMCwweGJiIH19LAotIHsxNiwgMHhjMGQwLCAwLCB7MHg4MiwweDIyLDB4NDAsMHgwYiwweGYwLDB4NDIsMHgzYywweDAwLDB4OGEsMHhjMCwweDJlLDB4YzEsMHgwOCwweGYwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4YzBlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDEwLDB4YjIsMHhkMCwweDJjLDB4YzAgfX0sCi0gezE2LCAweGMwZjAsIDAsIHsweDI5LDB4MTgsMHgwMiwweDhjLDB4MDQsMHhhMSwweDAwLDB4MjQsMHg5YywweDA4LDB4MTAsMHgwMiwweDgwLDB4MDAsMHhhMSwweDAxIH19LAotIHsxNiwgMHhjMTAwLCAwLCB7MHgwYywweGMxLDB4MmIsMHgzMCwweDUyLDB4OGMsMHgwNCwweGIzLDB4MDEsMHgyOCwweDQwLDB4NGIsMHgzMCwweDAyLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4YzExMCwgMCwgezB4OTAsMHgyMCwweDJjLDB4MjAsMHgwYSwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMxMjAsIDAsIHsweDIwLDB4NDEsMHgxZSwweDAwLDB4YjcsMHhhMiwweDI1LDB4ZTgsMHg4YSwweDY4LDB4MDIsMHgxZSwweDAwLDB4ODUsMHg4MCwweDI1IH19LAotIHsxNiwgMHhjMTMwLCAwLCB7MHg4MCwweDg4LDB4ZTgsMHgwMiwweDNlLDB4MDAsMHg4NSwweDgwLDB4MmYsMHhlNCwweDI4LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4YzE0MCwgMCwgezB4ODAsMHg2MSwweGUwLDB4MDMsMHg3OCwweDAyLDB4NWUsMHg4MiwweGI3LDB4ODIsMHgyZCwweGUwLDB4MDgsMHg3OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGMxNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGQsMHgwMCwweGYwLDB4MTAsMHgzYywweDgwIH19LAotIHsxNiwgMHhjMTYwLCAwLCB7MHgwZCwweDEwLDB4ODMsMHg4YywweDAwLDB4ZTIsMHg1MCwweDI2LDB4MDQsMHgwYywweDExLDB4MDMsMHg4OCwweDQwLDB4ZWIsMHgwMCB9fSwKLSB7MTYsIDB4YzE3MCwgMCwgezB4M2MsMHhjNCwweDBmLDB4MzAsMHgwMywweDhjLDB4MDAsMHhmMywweDA4LDB4MzgsMHg0MCwweDA3LDB4MzAsMHgwMywweDZlLDB4NDAgfX0sCi0gezE2LCAweGMxODAsIDAsIHsweGQwLDB4MDgsMHgzYywweDg4LDB4MGUsMHgzMCwweDQzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMTkwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZiLDB4MzQsMHgzYywweGM5LDB4NGUsMHhiMCwweDIzLDB4ZWQsMHgyMCwweGZiLDB4MDQsMHgzZiB9fSwKLSB7MTYsIDB4YzFhMCwgMCwgezB4YzgsMHg4ZiwweDcwLDB4NTMsMHg0YywweDAwLDB4ZWIsMHgxMCwweDMxLDB4YzUsMHgwZSwweGY0LDB4MDMsMHg2ZCwweDAwLDB4ZjMgfX0sCi0gezE2LCAweGMxYjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwYiwweGJjLDB4MDAsMHhjZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHg4MywweGQwIH19LAotIHsxNiwgMHhjMWMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGNlLDB4MDQsMHhjOSwweDA0LDB4YjAsMHhjMSB9fSwKLSB7MTYsIDB4YzFkMCwgMCwgezB4MGYsMHg5OCwweDEzLDB4NmMsMHg5MCwweGNiLDB4MDIsMHgzZSwweGMwLDB4NGYsMHhiMCwweDYzLDB4ZTQsMHgwMCwweGYxLDB4ODAgfX0sCi0gezE2LCAweGMxZTAsIDAsIHsweDEyLDB4YzAsMHgwYywweGI1LDB4MDMsMHhlYywweGMwLDB4Y2YsMHg4MywweDMyLDB4NDAsMHgwZiwweGIzLDB4MjMsMHgyZCwweGE0IH19LAotIHsxNiwgMHhjMWYwLCAwLCB7MHhmYiwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjQsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzIwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCwweDJkLDB4NjAsMHgwMiwweDFjLDB4MDAsMHhkNywweDAwLDB4MzkgfX0sCi0gezE2LCAweGMyMTAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGI1LDB4MDAsMHgyMSwweGMwLDB4MmEsMHg3MCwweDEyLDB4Y2MsMHg4MCwweDg3IH19LAotIHsxNiwgMHhjMjIwLCAwLCB7MHgwMCwweDM1LDB4YzAsMHgwYiwweDcyLDB4NTIsMHgxYywweDAwLDB4YjcsMHgwMCwweDJkLDB4NDEsMHgwYiwweDMyLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4YzIzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHhiZSwweDAwLDB4ODEsMHhjMCwweDIzLDB4MjAgfX0sCi0gezE2LCAweGMyNDAsIDAsIHsweDBiLDB4ZDgsMHgwMiwweDVlLDB4MDAsMHgwNiwweGMwLDB4MmQsMHhhMCwweDBiLDB4N2MsMHgxMiwweGRlLDB4MDgsMHhiZiwweDgwIH19LAotIHsxNiwgMHhjMjUwLCAwLCB7MHhhMSwweGUyLDB4MmEsMHg3YSwweDAyLDB4ZGUsMHgwMCwweDkzLDB4ODAsMHgyNSwweDYwLDB4MGIsMHg3OCwweDFlLDB4NWUsMHg1MCB9fSwKLSB7MTYsIDB4YzI2MCwgMCwgezB4YjcsMHg4MCwweDJkLDB4YTAsMHgwYiwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyNzAsIDAsIHsweDQ4LDB4MTQsMHhjZSwweDAwLDB4ODMsMHg2MCwweDIwLDB4YzAsMHgwOSwweDMxLDB4MDIsMHgyYywweDAwLDB4OTMsMHgwMCwweDI4IH19LAotIHsxNiwgMHhjMjgwLCAwLCB7MHhjMCwweDFiLDB4YjAsMHgwNiwweGNjLDB4ODAsMHhiMywweDQ4LDB4MjAsMHhmMCwweDBhLDB4MzAsMHgwMiwweGVjLDB4MDAsMHg5MyB9fSwKLSB7MTYsIDB4YzI5MCwgMCwgezB4ODAsMHgyNCwweGMwLDB4MGIsMHhiMCwweDAyLDB4NGMsMHgxMCwweGIzLDB4YzgsMHgyYywweGQyLDB4OGIsMHgzMCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGMyYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YmIsMHgwMCwweGM2LDB4YzQsMHgzMSwweDgxIH19LAotIHsxNiwgMHhjMmIwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHg2OCwweDAwLDB4Y2UsMHg4MCwweDNmLDB4YTIsMHgwYiwweGU4LDB4MDMsMHhmOSwweDAwLDB4ZmUsMHg0MCB9fSwKLSB7MTYsIDB4YzJjMCwgMCwgezB4MzEsMHg4MCwweDZlLDB4YTAsMHgwNywweGU4LDB4MDAsMHhkYSwweDAwLDB4MjYsMHg4MSwweDBmLDB4YTAsMHgwMiwweDY4LDB4MDEgfX0sCi0gezE2LCAweGMyZDAsIDAsIHsweGY2LDB4ZTAsMHgzZCwweDkyLDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMmUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHhjMiwweGY4LDB4MDQsMHgzZSwweDE0LDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgxMCwweGY4LDB4MDEsMHgzZSB9fSwKLSB7MTYsIDB4YzJmMCwgMCwgezB4MTAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDAwLDB4YjgsMHgwMCwweDNlLDB4MDAsMHg0NywweDgwLDB4MDMsMHhlMCwweDAyLDB4ZTggfX0sCi0gezE2LCAweGMzMDAsIDAsIHsweDEwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwNywweGEwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBmLDB4ODAsMHgwYiwweGQyIH19LAotIHsxNiwgMHhjMzEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAxLDB4MzIsMHg0MCB9fSwKLSB7MTYsIDB4YzMyMCwgMCwgezB4OGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQyLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwMCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGMzMzAsIDAsIHsweDNlLDB4NDIsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHg2NCwweDAwIH19LAotIHsxNiwgMHhjMzQwLCAwLCB7MHhmOSwweDkwLDB4MzIsMHg0MSwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzM1MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweGM4LDB4YTIsMHg2MCwweDBhLDB4OTIsMHgwMiwweGU0LDB4MDAsMHg4OSwweDQwLDB4MmUgfX0sCi0gezE2LCAweGMzNjAsIDAsIHsweDU4LDB4MGIsMHg5MCwweDAyLDB4MDQsMHgwMCwweGQ5LDB4MDAsMHgyZSwweDQyLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwNCwweDg5IH19LAotIHsxNiwgMHhjMzcwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDYsMHgyNCwweDA0LDB4YjksMHgwOCwweDJhLDB4NDAsMHg0OCwweDkwLDB4MTIsMHgyMCB9fSwKLSB7MTYsIDB4YzM4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgxMCwweDIyLDB4NDQgfX0sCi0gezE2LCAweGMzOTAsIDAsIHsweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0NSwweDhiLDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwIH19LAotIHsxNiwgMHhjM2EwLCAwLCB7MHgyYSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMCwweDk5LDB4ODAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDI2LDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YzNiMCwgMCwgezB4YjksMHgwMSwweDIyLDB4NzAsMHgwOSwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzYzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDA4LDB4YjEsMHgyMCwweDIwLDB4NDAsMHgwYSwweDEwLDB4MDIsMHhjNCwweDgwLDB4ODMsMHgwMCwweDJjIH19LAotIHsxNiwgMHhjM2QwLCAwLCB7MHg1MCwweDRiLDB4MTAsMHgwMiwweDI0LDB4MDAsMHg5MSwweDAwLDB4MmUsMHg0MCwweDA4LDB4MTIsMHgwMiwweGM0LDB4ODEsMHg4MSB9fSwKLSB7MTYsIDB4YzNlMCwgMCwgezB4YTIsMHg2YywweDQwLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweGI5LDB4MjAsMHgyYSwweDQ4LDB4MjksMHgxMiwweDAyLDB4MDIgfX0sCi0gezE2LCAweGMzZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjEsMHg0MCwweGY4LDB4MDAsMHgzMiwweDgwIH19LAotIHsxNiwgMHhjNDAwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHhlMSwweDQyLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgxZiwweDg1LDB4MDMsMHhhMSwweDQwLDB4YzgsMHg1MCB9fSwKLSB7MTYsIDB4YzQxMCwgMCwgezB4M2EsMHgwMCwweDhkLDB4ODUsMHgwMywweDYxLDB4NDAsMHhkOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4MDUsMHgwMywweDIxLDB4NDAgfX0sCi0gezE2LCAweGM0MjAsIDAsIHsweGY4LDB4NTAsMHgzMiwweDE0LDB4MGQsMHg4NSwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNDMwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHgwNCwweGZkLDB4MTAsMHgzZiwweDQwLDB4MGYsMHg1MCwweDAzLDB4YzQsMHg0MCwweGZkLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4YzQ0MCwgMCwgezB4NTEsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgwMSwweDNkLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQgfX0sCi0gezE2LCAweGM0NTAsIDAsIHsweDEwLDB4M2YsMHg0YSwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDEwLDB4M2YsMHg0NCwweDBlLDB4OTEsMHgwMywweGU2IH19LAotIHsxNiwgMHhjNDYwLCAwLCB7MHgwMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGM1LDB4MDAsMHhjZCwweDAwLDB4MzEsMHg0MCB9fSwKLSB7MTYsIDB4YzQ3MCwgMCwgezB4MGQsMHhkMCwweDQzLDB4ZTQsMHgwMCwweGNkLDB4MDAsMHgzMywweDQwLDB4NGYsMHgxMSwweDAyLDB4ZTQsMHgwNCwweGMxLDB4MDAgfX0sCi0gezE2LCAweGM0ODAsIDAsIHsweDNkLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZWQsMHhhNCwweDMyLDB4NTAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwIH19LAotIHsxNiwgMHhjNDkwLCAwLCB7MHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4OTAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzRhMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDgsMHhkOCwweDAwLDB4MzIsMHgwMSwweDAwLDB4ODAsMHgxMiwweGMwLDB4MDAsMHg0OCwweDAwLDB4MzYgfX0sCi0gezE2LCAweGM0YjAsIDAsIHsweDgwLDB4MGIsMHg4YSwweDAyLDB4ZTAsMHgwMCwweGE4LDB4MDAsMHgyZSwweDAwLDB4MGYsMHg4MCwweDAyLDB4ZTAsMHgwMCwweDg4IH19LAotIHsxNiwgMHhjNGMwLCAwLCB7MHg1MCwweDM0LDB4MjgsMHgwYiwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhjZSB9fSwKLSB7MTYsIDB4YzRkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHgwMCwweDI2LDB4NDAgfX0sCi0gezE2LCAweGM0ZTAsIDAsIHsweDA5LDB4MTgsMHgwMiwweGM0LDB4MDgsMHgyMSwweDAwLDB4MjgsMHg0MCwweDhiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDAxIH19LAotIHsxNiwgMHhjNGYwLCAwLCB7MHgyZSwweDQwLDB4MTgsMHgxMCwweDAyLDB4YzQsMHgwMCwweGExLDB4MDEsMHgyMCwweDQ4LDB4MWIsMHgxMCwweDAyLDB4YzQsMHgwMCB9fSwKLSB7MTYsIDB4YzUwMCwgMCwgezB4YjEsMHgwMCwweDZjLDB4NDAsMHgwYiwweDEwLDB4MTIsMHhjMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1MTAsIDAsIHsweDE4LDB4MTEsMHhhNCwweDAwLDB4OTksMHg4MCwweGEyLDB4NDIsMHg0OCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YTksMHgyYSwweDI2IH19LAotIHsxNiwgMHhjNTIwLCAwLCB7MHg0NCwweDBiLDB4OTAsMHg4MiwweGM0LDB4ODEsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0MiwweGM0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4YzUzMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDEsMHgyZSwweDQxLDB4MGIsMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweGM1NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4YzUsMHgyMCwweGM5LDB4ODQsMHgzMCwweDcwIH19LAotIHsxNiwgMHhjNTUwLCAwLCB7MHgwZCwweDkwLDB4MTMsMHhlNCwweDAyLDB4ZTksMHgwMCwweDMyLDB4NzAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZjksMHg0MCB9fSwKLSB7MTYsIDB4YzU2MCwgMCwgezB4M2MsMHg0OCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMSwweGU0LDB4MDAgfX0sCi0gezE2LCAweGM1NzAsIDAsIHsweGY5LDB4OTAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDI2LDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNTgwLCAwLCB7MHgyOCwweDAxLDB4YTUsMHgwMCwweGYxLDB4MDQsMHgzYSwweDQ0LDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgxMCwweGM5LDB4MDQsMHgzZSB9fSwKLSB7MTYsIDB4YzU5MCwgMCwgezB4NjAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgyMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDEwLDB4ZjkgfX0sCi0gezE2LCAweGM1YTAsIDAsIHsweDkwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg2NCwweDBmLDB4OTAsMHgwNywweGNhIH19LAotIHsxNiwgMHhjNWIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhjOCwweDA0LDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4YzVjMCwgMCwgezB4MWUsMHg4MCwweDAzLDB4ODAsMHgwMywweGM4LDB4NDAsMHgyYSwweDA0LDB4MWYsMHg4MCwweDAzLDB4MjAsMHgwMCwweDg4LDB4MDAgfX0sCi0gezE2LCAweGM1ZDAsIDAsIHsweDMyLDB4MzAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwIH19LAotIHsxNiwgMHhjNWUwLCAwLCB7MHhjOCwweDgwLDB4M2UsMHgyMCwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzVmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhhZSwweGQwLDB4MzcsMHg4MCwweDA4LDB4ZWMsMHg0NiwweDM4LDB4MDAsMHhkNiwweDA0LDB4MjMgfX0sCi0gezE2LCAweGM2MDAsIDAsIHsweGEwLDB4MGIsMHhhMCwweDQxLDB4NzgsMHgwNCwweGZhLDB4MDAsMHgzNywweDgwLDB4MGQsMHhhMCwweDAyLDB4YTgsMHgxMCwweGVlIH19LAotIHsxNiwgMHhjNjEwLCAwLCB7MHgyMSwweDJlLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDA4LDB4OGUsMHg4MCwweDJmLDB4YTAsMHg4YiwweGEwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4YzYyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHg0YywweDAyLDB4ODMsMHhjMCwweGE4LDB4ZTggfX0sCi0gezE2LCAweGM2MzAsIDAsIHsweDRhLDB4MzYsMHgwMiwweDhjLDB4MDAsMHgxMywweGEwLDB4MjgsMHhjMiwweDBiLDB4MzAsMHgwNiwweDBjLDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhjNjQwLCAwLCB7MHgyNCwweDg0LDB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MjAsMHgyOCwweGMwLDB4MDksMHgzMCwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4YzY1MCwgMCwgezB4ODMsMHg4MCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM2NjAsIDAsIHsweGEwLDB4MDEsMHgzYywweDQ0LDB4YWYsMHg0MCwweDI1LDB4YzIsMHg0OCwweGY4LDB4ODIsMHgxYywweGM4LDB4OWYsMHgwOCwweDIxIH19LAotIHsxNiwgMHhjNjcwLCAwLCB7MHhjMCwweDhiLDB4ZjgsMHgwMiwweDVjLDB4MDAsMHhiZiwweGIwLDB4MjcsMHg4MCwweDA5LDB4M2EsMHgwMiwweDljLDB4MDAsMHhhNSB9fSwKLSB7MTYsIDB4YzY4MCwgMCwgezB4MDIsMHgyZCwweGU4LDB4MDksMHg3MCwweDAyLDB4Y2UsMHg4MCwweDg1LDB4MDgsMHgyZCwweGMyLDB4MGIsMHg3MywweDAyLDB4ZTggfX0sCi0gezE2LCAweGM2OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4ODIsMHhhOSwweGUwIH19LAotIHsxNiwgMHhjNmEwLCAwLCB7MHgwYSwweDc4LDB4MDIsMHg5ZSwweDQwLDB4OTcsMHg4NCwweDM5LDB4YTAsMHgwYiwweDdhLDB4ODMsMHgzZiwweDgwLDB4ZDcsMHg5MSB9fSwKLSB7MTYsIDB4YzZiMCwgMCwgezB4MzUsMHhhMCwweDBkLDB4N2EsMHgwOSwweDFlLDB4NDQsMHhmNywweDgwLDB4M2QsMHhlOCwweDJkLDB4N2EsMHgwMywweGRlLDB4ODIgfX0sCi0gezE2LCAweGM2YzAsIDAsIHsweGM2LDB4ODAsMHgzZCwweDIwLDB4NGIsMHg3YiwweDIzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNmQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGQzLDB4MDAsMHgzZSwweGMxLDB4MGYsMHgzMCwweDAzLDB4ZWQsMHg4MCwweGUzLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YzZlMCwgMCwgezB4ODAsMHgwZiwweGI2LDB4MjEsMHhlYywweDA4LDB4ZGIsMHgyMSwweDNlLDB4ODAsMHgwZiwweGI1LDB4MDMsMHg2YywweDQwLDB4ZjkgfX0sCi0gezE2LCAweGM2ZjAsIDAsIHsweDAwLDB4M2UsMHhkYywweDBlLDB4YjIsMHgwMywweGVkLDB4NDAsMHhmOSwweDAyLDB4M2UsMHg4MCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhjNzAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhjZiwweDgwLDB4M2QsMHhlMCB9fSwKLSB7MTYsIDB4YzcxMCwgMCwgezB4MGYsMHhjOCwweDQzLDB4ZmUsMHgwMCwweGZlLDB4ODQsMHgzZiwweGUwLDB4MGQsMHhmOCwweGMzLDB4ZmYsMHgxMCwweGFmLDB4OTAgfX0sCi0gezE2LCAweGM3MjAsIDAsIHsweDM1LDB4YTAsMHgwYywweGZjLDB4MDMsMHgzZSwweDE0LDB4ZWMsMHg4NCwweDNmLDB4ZjAsMHgwZSwweGZjLDB4YzMsMHhmZiwweDA4IH19LAotIHsxNiwgMHhjNzMwLCAwLCB7MHg0ZiwweDgwLDB4MzMsMHhlNCwweDBjLDB4ZjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzc0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhkNywweGEyLDB4MmQsMHhjNCwweDBjLDB4NDEsMHhjMiwweGRjLDB4MDAsMHg3NCwweDAwLDB4MjUgfX0sCi0gezE2LCAweGM3NTAsIDAsIHsweDgwLDB4MGYsMHg3MiwweDQyLDB4ZGMsMHg5MCwweGQ3LDB4MzgsMHgyZCwweDk4LDB4MGEsMHg3MCwweDAyLDB4MWMsMHgwNCwweDg2IH19LAotIHsxNiwgMHhjNzYwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZCwweDcwLDB4MDIsMHhjYywweDAwLDB4ODYsMHgwOCwweDM3LDB4YzYsMHgyOCwweDcwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4Yzc3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODcsMHg2MCwweDJkLDB4YzIgfX0sCi0gezE2LCAweGM3ODAsIDAsIHsweDBhLDB4NTAsMHgwMiwweGRjLDB4MDAsMHhiNiwweDEwLDB4MjUsMHhjMiwweDA5LDB4NzAsMHg4NiwweGRjLDB4MzAsMHg5NywweDAwIH19LAotIHsxNiwgMHhjNzkwLCAwLCB7MHgyNSwweDgwLDB4MDgsMHgzMCwweDAyLDB4NWMsMHgwMCwweDg3LDB4MDgsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4Y2MsMHg0MCB9fSwKLSB7MTYsIDB4YzdhMCwgMCwgezB4ODYsMHgwMCwweDIxLDB4MDAsMHgwOSwweDcwLDB4MGEsMHgwMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3YjAsIDAsIHsweDIwLDB4MTQsMHhlZCwweDgwLDB4OTMsMHgwMCwweDBjLDB4ZTEsMHgyOCwweDE4LDB4MDIsMHhjYywweDA4LDB4YTAsMHgwMCwweDI0IH19LAotIHsxNiwgMHhjN2MwLCAwLCB7MHgxMiwweDFhLDB4MzQsMHgwMiwweGNmLDB4MDQsMHg5MywweDQwLDB4MmMsMHg4MCwweDBhLDB4YjAsMHgyMiwweDRjLDB4MDIsMHg4MSB9fSwKLSB7MTYsIDB4YzdkMCwgMCwgezB4ODAsMHgyOCwweGUwLDB4MjgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDg4LDB4ODIsMHgyNCwweDIwLDB4MDgsMHhiMCwweDAyLDB4MDggfX0sCi0gezE2LCAweGM3ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmYsMHgyMCwweGM5LDB4ZTAsMHgyYywweGYxIH19LAotIHsxNiwgMHhjN2YwLCAwLCB7MHgwZSwweGJkLDB4MDMsMHhmYywweDAwLDB4YjksMHg0MCwweDM2LDB4NDAsMHgwOSwweGY1LDB4MDIsMHhmZCwweDQwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4YzgwMCwgMCwgezB4MzYsMHhhMiwweDA4LDB4ZjAsMHgwYiwweDdjLDB4MDAsMHhlYiwweDgwLDB4MmYsMHhlMCwweDBhLDB4ZjAsMHg0MywweGZjLDB4MDIgfX0sCi0gezE2LCAweGM4MTAsIDAsIHsweDhiLDB4ZDAsMHgzMiwweGYwLDB4MGQsMHhmMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSwweGM4LDB4MGYsMHg5NCwweDEzLDB4ZWMsMHgwMCwweGY5LDB4NDAsMHgzNiB9fSwKLSB7MTYsIDB4YzgzMCwgMCwgezB4NDAsMHgxZiwweGIwLDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMSwweDNlLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZjkgfX0sCi0gezE2LCAweGM4NDAsIDAsIHsweDAwLDB4M2UsMHhjNCwweDBmLDB4YjAsMHgwMSwweGVjLDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0OCwweDBmLDB4YjAsMHgwMywweGUwIH19LAotIHsxNiwgMHhjODUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4Yzg2MCwgMCwgezB4MGMsMHhlMCwweDA3LDB4ZmMsMHgwMCwweGZjLDB4MGEsMHgyNywweDAwLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDggfX0sCi0gezE2LCAweGM4NzAsIDAsIHsweDMzLDB4ODAsMHgwYywweGYwLDB4MDAsMHgyYywweDAwLDB4NWYsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4MDEsMHhmYywweDAwIH19LAotIHsxNiwgMHhjODgwLCAwLCB7MHhmZSwweDAwLDB4MjMsMHg0MCwweDBmLDB4YjAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzg5MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDg2LDB4MmUsMHhlMCwweDQ4LDB4OGYsMHgwMiwweGVjLDB4MDgsMHhiOCwweGEwLDB4MzYgfX0sCi0gezE2LCAweGM4YTAsIDAsIHsweDMwLDB4NGIsMHhiMCwweDAzLDB4YWMsMHgwYywweDliLDB4MDIsMHgzYywweGEwLDB4MGMsMHhiMCwweDQzLDB4NmMsMHgwMCwweGIxIH19LAotIHsxNiwgMHhjOGIwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHgwZCwweGIwLDB4MTIsMHhlYywweDEwLDB4YjksMHg4MCwweGEyLDB4NjEsMHgwYiwweGIwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YzhjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OWIsMHg4OCwweDJlLDB4ZTAgfX0sCi0gezE2LCAweGM4ZDAsIDAsIHsweDA4LDB4YTAsMHgwMiwweGVjLDB4MDEsMHhiYiwweDgwLDB4MjYsMHg2MiwweDBiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiMywweDAxIH19LAotIHsxNiwgMHhjOGUwLCAwLCB7MHgyYSwweDIxLDB4MDgsMHhiMCwweDEyLDB4MmMsMHgwMCwweGI4LDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDEyLDB4ZWMsMHgxNCB9fSwKLSB7MTYsIDB4YzhmMCwgMCwgezB4YjksMHg4NCwweDIyLDB4YTIsMHgwYiwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5MDAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4OTMsMHgwMCwweDJjLDB4ZTAsMHgwOCwweDAwLDB4MDIsMHhjYywweDA5LDB4OTEsMHgwMCwweDIwIH19LAotIHsxNiwgMHhjOTEwLCAwLCB7MHg0MCwweDBiLDB4MzAsMHgwNiwweDRjLDB4MDQsMHgxMywweDAwLDB4MjYsMHgwMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDQsMHhiMiB9fSwKLSB7MTYsIDB4YzkyMCwgMCwgezB4MDAsMHgyYSwweGMwLDB4MDEsMHgzMCwweDAwLDB4Y2QsMHgwMCwweGIwLDB4MDAsMHgyMCwweDgwLDB4MGIsMHgzMCwweDBhLDB4MDIgfX0sCi0gezE2LCAweGM5MzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGRiLDB4MjQsMHg2ZSwweGMwIH19LAotIHsxNiwgMHhjOTQwLCAwLCB7MHgyYywweGEwLDB4MDIsMHhmYywweDAwLDB4YmEsMHgwNCwweDI2LDB4NDAsMHg0ZiwweGYwLDB4NTcsMHhmYywweDAwLDB4M2YsMHgwMSB9fSwKLSB7MTYsIDB4Yzk1MCwgMCwgezB4M2EsMHgwMCwweDJjLDB4ZjAsMHgwMSwweDNjLDB4MDAsMHhkYiwweDAwLDB4MzMsMHhjMCwweDg0LDB4ZjAsMHgwMywweGZkLDB4MDggfX0sCi0gezE2LCAweGM5NjAsIDAsIHsweGZhLDB4MDAsMHgzMiwweDAwLDB4MGYsMHhmMCwweDAzLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOTcwLCAwLCB7MHhhMCwweDE5LDB4ZGMsMHgwMCwweGVhLDB4NDAsMHgzZiwweDAwLDB4MDcsMHhjMCwweDAzLDB4ZmMsMHgwNCwweGZjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4Yzk4MCwgMCwgezB4NDAsMHgwZiwweGYwLDB4MDMsMHg5YywweDAwLDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZSwweGYwLDB4MDMsMHg3YywweDAwLDB4ZmQgfX0sCi0gezE2LCAweGM5OTAsIDAsIHsweDAwLDB4M2YsMHhjMSwweDBmLDB4ZjAsMHgwMywweGZjLDB4ODQsMHhmNCwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhjOWEwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGYwLDB4ODAsMHhmZiwweDAwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4YzliMCwgMCwgezB4MGYsMHhjMiwweDAzLDB4M2UsMHgwMCwweGRmLDB4YzAsMHgzZSwweGMwLDB4NGQsMHhkYiwweDAyLDB4YjAsMHhjMCwweGRjLDB4MzAgfX0sCi0gezE2LCAweGM5YzAsIDAsIHsweDNmLDB4ZTAsMHgwZiwweGRiLDB4MjMsMHhmNiwweDIwLDB4ZmYsMHgyNiwweDMzLDB4ZTAsMHgwZiwweDUyLDB4MDMsMHg1ZSwweDAwIH19LAotIHsxNiwgMHhjOWQwLCAwLCB7MHhmZiwweDgwLDB4MzMsMHhjMCwweDRjLDB4NDksMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzllMCwgMCwgezB4ODAsMHgxMCwweGUxLDB4ZTAsMHhiNywweDA4LDB4MjMsMHhmMCwweDBiLDB4YWQsMHgwYSwweDJlLDB4MDAsMHg5YSwweDA0LDB4MmUgfX0sCi0gezE2LCAweGM5ZjAsIDAsIHsweGIwLDB4MDksMHg4ZiwweDAzLDB4YTAsMHg0MCwweGI5LDB4MzAsMHgyZSwweGEwLDB4MGIsMHg5ZiwweDAzLDB4YTcsMHgwMCwweGJiIH19LAotIHsxNiwgMHhjYTAwLCAwLCB7MHg4MCwweDI2LDB4ZTAsMHgwYiwweGRkLDB4MDIsMHgyZSwweDAwLDB4YmIsMHg4MCwweDIyLDB4ZjQsMHgwYSwweDkyLDB4MDIsMHhhMCB9fSwKLSB7MTYsIDB4Y2ExMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjOCwweDgwLDB4YjMsMHgxMCwweDI0LDB4YzAgfX0sCi0gezE2LCAweGNhMjAsIDAsIHsweDBiLDB4ODAsMHgwMiwweGFjLDB4MDAsMHhhMywweDI0LDB4MmMsMHhkMCwweDA4LDB4MTAsMHgwNiwweGMwLDB4ODAsMHhiMiwweDAxIH19LAotIHsxNiwgMHhjYTMwLCAwLCB7MHgyYywweGVhLDB4NGIsMHgwMCwweDEyLDB4YzIsMHgwNCwweGIzLDB4MTAsMHgwOCwweGMwLDB4MGEsMHg5MCwweDAyLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4Y2E0MCwgMCwgezB4OTMsMHgwNCwweDI0LDB4YzAsMHgwOSwweDgyLDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhNTAsIDAsIHsweGMwLDB4MTUsMHhhNSwweDAwLDB4YmIsMHgwMCwweDIyLDB4YzAsMHgwYiwweDgwLDB4MDIsMHhhYywweDA4LDB4YmIsMHgxOCwweDJlIH19LAotIHsxNiwgMHhjYTYwLCAwLCB7MHhlMCwweDE4LDB4ODgsMHgwMiwweGVjLDB4MDEsMHhiYSwweDAwLDB4MmUsMHg4MCwweDBiLDB4OTgsMHg4NiwweGUyLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4Y2E3MCwgMCwgezB4MDAsMHgyMiwweGM0LDB4MGIsMHg5MCwweDAyLDB4NmMsMHgwMCwweGJiLDB4MDAsMHhhNiwweGMwLDB4MGIsMHg5MCwweDAwLDB4YjAgfX0sCi0gezE2LCAweGNhODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDExLDB4ZTcsMHgwMCwweGZiLDB4MDAsMHhiMiwweGMwIH19LAotIHsxNiwgMHhjYTkwLCAwLCB7MHgwZiwweGE4LDB4MDMsMHhhYywweDAyLDB4ZWIsMHgwMCwweDNlLDB4NjAsMHgwZCwweDllLDB4MDMsMHhlYywweDAwLDB4ZDgsMHg0MCB9fSwKLSB7MTYsIDB4Y2FhMCwgMCwgezB4M2UsMHg0MCwweDBmLDB4ODgsMHg0MywweGUyLDB4MDAsMHhmYiwweDIwLDB4MzIsMHhjMCwweDBmLDB4MTAsMHgwYiwweDZmLDB4OTAgfX0sCi0gezE2LCAweGNhYjAsIDAsIHsweDViLDB4ODIsMHgzNiwweGMwLDB4MmQsMHgwOCwweDAxLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYWMwLCAwLCB7MHhlMCwweDAxLDB4YjcsMHgwOCwweGY3LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmOSwweDAzLDB4N2MsMHgwOCwweGNmLDB4ODIsMHgzYyB9fSwKLSB7MTYsIDB4Y2FkMCwgMCwgezB4MDAsMHhhZiwweGQwLDB4MjEsMHhiYywweDA4LDB4ZmQsMHgxMCwweDNmLDB4ODAsMHg4ZiwweGMwLDB4MDMsMHhhNCwweDAwLDB4ZjcgfX0sCi0gezE2LCAweGNhZTAsIDAsIHsweDAxLDB4YmYsMHhjMCwweDA3LDB4ZDAsMHgwMywweGJkLDB4MzAsMHhmZiwweGE0LDB4MzgsMHhjMCwweDBlLDB4ZGEsMHgwMywweGY4IH19LAotIHsxNiwgMHhjYWYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE4LDB4MDAsMHhmYiwweDAwLDB4YjIsMHhjMSB9fSwKLSB7MTYsIDB4Y2IwMCwgMCwgezB4MGUsMHg4MSwweDAzLDB4ZWMsMHg0MCwweGZiLDB4NDQsMHgzYSwweGMxLDB4MGUsMHg5NSwweDAzLDB4ZTAsMHgwMCwweGNiLDB4NDEgfX0sCi0gezE2LCAweGNiMTAsIDAsIHsweDMyLDB4NGQsMHgwZiwweDgxLDB4MDMsMHhlMCwweDIwLDB4YzksMHgwMCwweDcyLDB4ZTgsMHg0NCwweDkxLDB4MDMsMHg2ZCwweDAwIH19LAotIHsxNiwgMHhjYjIwLCAwLCB7MHhjYiwweDAyLDB4M2UsMHhjMCwweDBjLDB4ODAsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2IzMCwgMCwgezB4YzgsMHgwNSwweDI0LDB4MDAsMHhiZiwweDAwLDB4MzMsMHhjNCwweDA4LDB4MWQsMHgwMywweDhjLDB4MDAsMHhiYiwweDk4LDB4MzYgfX0sCi0gezE2LCAweGNiNDAsIDAsIHsweDQ4LDB4NGQsMHg5OCwweDIyLDB4ZWQsMHg0MCwweGRiLDB4MDAsMHgzNiwweGIwLDB4MGIsMHg5OCwweDAyLDB4ZTMsMHgwMCwweGRiIH19LAotIHsxNiwgMHhjYjUwLCAwLCB7MHgwMCwweDMyLDB4ZTAsMHg4OCwweGQ4LDB4MDIsMHgyYywweDAyLDB4YzMsMHg4MCwweDJmLDB4YzAsMHgwOCwweDkwLDB4MDMsMHg3MiB9fSwKLSB7MTYsIDB4Y2I2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg0NCwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZjAgfX0sCi0gezE2LCAweGNiNzAsIDAsIHsweDE4LDB4MDgsMHgwMiwweDRmLDB4ODQsMHhiMSwweGMwLDB4MjQsMHhjMCwweDg5LDB4MDYsMHgwMiwweGM0LDB4MDAsMHg5MSwweDAwIH19LAotIHsxNiwgMHhjYjgwLCAwLCB7MHgyMCwweGYwLDB4MWIsMHgxOCwweDgyLDB4YzYsMHgwMCwweDkzLDB4MDAsMHgyYywweGQxLDB4MDgsMHgxZSwweDAyLDB4MGUsMHg0NCB9fSwKLSB7MTYsIDB4Y2I5MCwgMCwgezB4OTMsMHg5NCwweDJjLDB4YzAsMHgwOCwweDIwLDB4MDIsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiYTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA0LDB4YjcsMHg4MCwweDIwLDB4ZTIsMHgwOCwweDY4LDB4MDYsMHg5ZSwweDgwLDB4YmYsMHg4NCwweDI1IH19LAotIHsxNiwgMHhjYmIwLCAwLCB7MHhhOCwweDA5LDB4NjgsMHgwMiwweGM2LDB4MDAsMHg5MywweGEwLDB4NjUsMHhlNCwweDBiLDB4NzgsMHgxMiwweGRlLDB4MDAsMHg5MyB9fSwKLSB7MTYsIDB4Y2JjMCwgMCwgezB4MDAsMHhhMSwweGUwLDB4MDgsMHhkOCwweDAyLDB4MWUsMHhkMCwweGE3LDB4ODAsMHgyZCwweGUwLDB4MDgsMHhmOCwweDAyLDB4NDggfX0sCi0gezE2LCAweGNiZDAsIDAsIHsweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDgsMHgwMCwweGIzLDB4MjAsMHgzMCwweGMwIH19LAotIHsxNiwgMHhjYmUwLCAwLCB7MHgwYSwweDIyLDB4MDIsMHhjZSwweDQwLDB4ZjMsMHhhMCwweDNjLDB4ZTgsMHgwYiwweDMwLDB4MDIsMHhjMSwweDAwLDB4ZDAsMHhjMSB9fSwKLSB7MTYsIDB4Y2JmMCwgMCwgezB4MzAsMHhjMCwweDBiLDB4MjEsMHgxMywweGNjLDB4MjEsMHhkMywweDAwLDB4MmMsMHhjMCwweDJjLDB4MTAsMHgwYiwweDBjLDB4ODAgfX0sCi0gezE2LCAweGNjMDAsIDAsIHsweGQzLDB4NjEsMHgzYywweGM4LDB4MmMsMHgyMCwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYzEwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4NDAsMHgzYiwweGMwLDB4MGYsMHhlMCwweDAzLDB4ZmMsMHgwMCwweGY3LDB4NTAsMHg3ZiB9fSwKLSB7MTYsIDB4Y2MyMCwgMCwgezB4YzQsMHgyZSwweGYwLDB4MDMsMHhmYywweDQwLDB4ZmUsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4NDcsMHhmYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGNjMzAsIDAsIHsweDAwLDB4N2QsMHhjMiwweDBmLDB4ZDAsMHgwMSwweGJjLDB4ODAsMHg1ZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhjYzQwLCAwLCB7MHgwMiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhmYiwweGMwLDB4MzIsMHhjOCB9fSwKLSB7MTYsIDB4Y2M1MCwgMCwgezB4MGUsMHhlMCwweDAzLDB4YWMsMHhhMCwweGViLDB4MjAsMHgzMiwweDQwLDB4OGMsMHhhMCwweDEzLDB4MmMsMHgwMCwweGQ5LDB4MDAgfX0sCi0gezE2LCAweGNjNjAsIDAsIHsweDNlLDB4NjAsMHgwYywweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHg4MCwweDMwLDB4YzAsMHgzYywweDkyLDB4MDMsMHhlZiwweDYwIH19LAotIHsxNiwgMHhjYzcwLCAwLCB7MHhjMywweDIwLDB4MzEsMHhjNCwweDBjLDB4YTAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2M4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHgzMywweDIwLDB4MjEsMHhkYSwweDBiLDB4NzAsMHg0MywweDljLDB4MDEsMHhiNSwweDAwLDB4MjEgfX0sCi0gezE2LCAweGNjOTAsIDAsIHsweDAwLDB4MGEsMHhlMCwweDAyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyZiwweGMwLDB4MGQsMHg3MCwweDAzLDB4OWMsMHgwMCwweGI2IH19LAotIHsxNiwgMHhjY2EwLCAwLCB7MHgwMCwweDMxLDB4YzgsMHgwOCwweDU3LDB4MDIsMHhkYywweDAwLDB4ODcsMHg1MCwweDIxLDB4YzAsMHgwYSwweDcwLDB4NDIsMHg5MiB9fSwKLSB7MTYsIDB4Y2NiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDExLDB4YjcsMHg5MCwweDIxLDB4ZTAgfX0sCi0gezE2LCAweGNjYzAsIDAsIHsweDBiLDB4NjgsMHg4MiwweGRlLDB4MDgsMHhhNywweDgwLDB4MjQsMHg2MCwweDA4LDB4NzAsMHgxMiwweDEyLDB4MDgsMHg5NSwweDgwIH19LAotIHsxNiwgMHhjY2QwLCAwLCB7MHgyZCwweDYwLDB4MDksMHg2YywweDAyLDB4ZGUsMHgwMCwweGIxLDB4ODAsMHgyMywweGUwLDB4MGEsMHg1OCwweDYyLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4Y2NlMCwgMCwgezB4OTcsMHhhMCwweDIxLDB4ZTgsMHgwOSwweGU4LDB4MDIsMHgzMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjZjAsIDAsIHsweDQ4LDB4MTQsMHhjZCwweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHg4YiwweDNjLDB4MDIsMHg4YywweDAwLDB4YmIsMHgwMCwweDI0IH19LAotIHsxNiwgMHhjZDAwLCAwLCB7MHhjNCwweDFhLDB4M2QsMHgwMiwweDJmLDB4ODgsMHhiMywweDQ4LDB4MmMsMHhlMCwweDg5LDB4M2UsMHgwMiwweDhkLDB4ODAsMHg5MyB9fSwKLSB7MTYsIDB4Y2QxMCwgMCwgezB4ZDksMHhhNCwweDQwLDB4ODgsMHgxMCwweDAyLDB4Y2MsMHgwNCwweDkzLDB4YzgsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4OTIgfX0sCi0gezE2LCAweGNkMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHg0MCwweGZhLDB4MDAsMHhiMiwweDgwIH19LAotIHsxNiwgMHhjZDMwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHhlOCwweDAwLDB4ZWEsMHg4MCwweDM3LDB4YTAsMHgwYywweGU4LDB4MTMsMHgzYiwweDA4LDB4ZGUsMHgwMSB9fSwKLSB7MTYsIDB4Y2Q0MCwgMCwgezB4M2YsMHg4MiwweDBjLDB4ZTAsMHg0MywweGZhLDB4ODAsMHhmZSwweDgwLDB4MzEsMHgyOCwweDBjLDB4YTAsMHgwMywweGYwLDB4MDIgfX0sCi0gezE2LCAweGNkNTAsIDAsIHsweGM0LDB4YzAsMHhiMiwweDgwLDB4MGQsMHhlMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZDYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDEwLDB4MGIsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4LDB4MzAsMHgzYSB9fSwKLSB7MTYsIDB4Y2Q3MCwgMCwgezB4MDAsMHg2ZCwweDgwLDB4ODMsMHhlMSwweDQ0LDB4YjgsMHgwNCwweDNlLDB4MTAsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGNkODAsIDAsIHsweDAwLDB4M2EsMHgxMCwweDRmLDB4MDQsMHgwMywweGUzLDB4MDAsMHhlOCwweDEwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhjZDkwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhjOSwweDAwLDB4MzgsMHg0MCB9fSwKLSB7MTYsIDB4Y2RhMCwgMCwgezB4MGYsMHgxYSwweDAzLDB4MmUsMHgwMCwweGZiLDB4YTAsMHgzNiwweDYwLDB4MGMsMHg5OCwweDAzLDB4ZTYsMHgwNCwweGQxLDB4MDAgfX0sCi0gezE2LCAweGNkYjAsIDAsIHsweDM2LDB4NDgsMHgwZSwweDkxLDB4MDIsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNlLDB4MDAsMHgwYywweDk5LDB4MDMsMHg2MiwweDQwIH19LAotIHsxNiwgMHhjZGMwLCAwLCB7MHhmOCwweDAwLDB4YTAsMHg2OCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2RkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDIsMHg4OSwweDA0LDB4MmUsMHg2NCwweDg4LDB4OTQsMHgwMiwweGE1LDB4MDAsMHhiOSwweDgwLDB4MjAgfX0sCi0gezE2LCAweGNkZTAsIDAsIHsweDY0LDB4MGQsMHg5YywweDAyLDB4ZTYsMHg0MiwweDg5LDB4MDAsMHgyMiwweDYwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgxMCwweGI5IH19LAotIHsxNiwgMHhjZGYwLCAwLCB7MHg0MCwweDNhLDB4NTAsMHgwOCwweDljLDB4MDIsMHgyNywweDIwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4Y2UwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAgfX0sCi0gezE2LCAweGNlMTAsIDAsIHsweDBhLDB4OTAsMHg4MiwweDI1LDB4NGMsMHhiOSwweDAwLDB4MDIsMHg0MCwweDA4LDB4OTYsMHgwMiwweGU0LDB4MTAsMHg4OSwweDAwIH19LAotIHsxNiwgMHhjZTIwLCAwLCB7MHgyNiwweDUwLDB4MTMsMHg5NCwweDAyLDB4ZTQsMHg0MCwweGI5LDB4MDgsMHgyZSwweDQwLDB4MDgsMHg5MCwweDhhLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4Y2UzMCwgMCwgezB4YjksMHgwMSwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlNDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDgwLDB4ODEsMHg0MCwweDJjLDB4YzgsMHgwOCwweDEwLDB4MDYsMHg4NCwweDAwLDB4YjEsMHgwNCwweDIwIH19LAotIHsxNiwgMHhjZTUwLCAwLCB7MHg0OSwweDA5LDB4MTQsMHg0MiwweGNjLDB4ODksMHg4MSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHg0NiwweGM0LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4Y2U2MCwgMCwgezB4MDAsMHgyYSwweGMwLDB4MjgsMHgxNCwweDAyLDB4MDEsMHgwMSwweGIwLDB4MDQsMHgyOCwweDQwLDB4MzgsMHg5NCwweDAyLDB4NDIgfX0sCi0gezE2LCAweGNlNzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweDg4LDB4MDAsMHgzYSwweDAwIH19LAotIHsxNiwgMHhjZTgwLCAwLCB7MHgwZSwweDgwLDB4MjMsMHgyMCwweDAwLDB4ZjgsMHg1MCwweGIyLDB4MDAsMHgwYywweDgwLDB4MTIsMHhlMSwweDQwLDB4ZDgsMHg1MCB9fSwKLSB7MTYsIDB4Y2U5MCwgMCwgezB4MzYsMHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4ODAsMHg1MywweDYwLDB4MDQgfX0sCi0gezE2LCAweGNlYTAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZWIwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHg0MCwweGY5LDB4NDQsMHgzZSwweDQ0LDB4MGYsMHhkNCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4Y2VjMCwgMCwgezB4NDQsMHgwZiwweGQ0LDB4NTMsMHhmNCwweDQ0LDB4ZmQsMHgxMCwweDJmLDB4NDAsMHgwZiwweGY0LDB4MDMsMHhmZCwweDAwLDB4ZmQgfX0sCi0gezE2LCAweGNlZDAsIDAsIHsweDQwLDB4M2IsMHgxMCwweDBmLDB4ZDQsMHgyMywweGQxLDB4MDQsMHg3YywweDQzLDB4MzYsMHg1MCwweDBmLDB4NTAsMHgwMywweGU2IH19LAotIHsxNiwgMHhjZWUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGE2LDB4MDAsMHhmOSwweDEwLDB4MmUsMHg2MiB9fSwKLSB7MTYsIDB4Y2VmMCwgMCwgezB4MGYsMHhkMiwweDgzLDB4ZTQsMHgwMCwweGJkLDB4NDIsMHgzZSwweDYxLDB4MGYsMHhkMCwweDAzLDB4ZjYsMHhjMCwweGM5LDB4YTIgfX0sCi0gezE2LCAweGNmMDAsIDAsIHsweDJiLDB4NDAsMHgwYywweGQwLDB4MDMsMHgzNCwweDAwLDB4ZjksMHg4MSwweDNlLDB4NjgsMHgwOCwweGMxLDB4NDMsMHhmYSwweDAwIH19LAotIHsxNiwgMHhjZjEwLCAwLCB7MHhmNSwweDgwLDB4M2YsMHg2MiwweDBjLDB4MTQsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2YyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MjAsMHg4OCwweDExLDB4MmUsMHgxMCwweDBiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDgyLDB4MmUgfX0sCi0gezE2LCAweGNmMzAsIDAsIHsweDEwLDB4MGIsMHg4MCwweDAwLDB4ZTMsMHhjNCwweDg4LDB4ZjAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDBhLDB4MjAsMHgwMCwweGU4IH19LAotIHsxNiwgMHhjZjQwLCAwLCB7MHg0MCwweDJmLDB4MTQsMHgwOCwweDg4LDB4MDIsMHhlMiwweDAwLDB4YjgsMHgwMCwweDJlLDB4MDAsMHgwOCwweDg4LDB4MDIsMHg4ZSB9fSwKLSB7MTYsIDB4Y2Y1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHhjNSwweDAwLDB4YTEsMHgwMCwweDJjLDB4NDAgfX0sCi0gezE2LCAweGNmNjAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGM0LDB4MTgsMHhiMSwweDIyLDB4NmMsMHhkMSwweDBiLDB4MTAsMHgyNiwweGM0LDB4MDAsMHg4MSwweDA4IH19LAotIHsxNiwgMHhjZjcwLCAwLCB7MHgyYSwweDQwLDB4ODgsMHgxMCwweDAyLDB4MDQsMHgwNCwweGI1LDB4YzAsMHgwZiwweDQwLDB4MGIsMHgwMiwweDAyLDB4NDEsMHhhMCB9fSwKLSB7MTYsIDB4Y2Y4MCwgMCwgezB4YjEsMHg0MCwweDJjLDB4NDAsMHgwOCwweDEyLDB4MDIsMHgwMiwweDExLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNmOTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwNiwweDJlLDB4NDAsMHgwYiwweDkwLDB4MTIsMHhlNCwweDAwLDB4YjksMHg0MCwweDJlIH19LAotIHsxNiwgMHhjZmEwLCAwLCB7MHg0MCwweDBiLDB4YjAsMHg4MiwweGM0LDB4MDIsMHg4OSwweDQ0LDB4MjIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhhOSB9fSwKLSB7MTYsIDB4Y2ZiMCwgMCwgezB4MDAsMHgyNywweDQ4LDB4MDksMHhiMCwweDEyLDB4ZWMsMHgxOCwweGI5LDB4MDEsMHgyZSwweDQwLDB4NDAsMHg5MCwweDAyLDB4ODYgfX0sCi0gezE2LCAweGNmYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHg4NCwweGU5LDB4MDEsMHgzZSwweDQwIH19LAotIHsxNiwgMHhjZmQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NzIsMHgwZiwweDkwLDB4MDMsMHhlNywweDYwLDB4ODksMHgxMCB9fSwKLSB7MTYsIDB4Y2ZlMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDQ0LDB4M2MsMHg0MCwweDJkLDB4OTAsMHgwMywweGU3LDB4NjAgfX0sCi0gezE2LCAweGNmZjAsIDAsIHsweGY5LDB4NzEsMHgzZSwweDQwLDB4MjgsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMDAwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHg0OCwweGE5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5YSwweDQzLDB4ZWMsMHgwMCwweGY5LDB4MjAsMHg3ZSB9fSwKLSB7MTYsIDB4ZDAxMCwgMCwgezB4YzgsMHgwZiwweDlhLDB4MDcsMHg2NiwweDAwLDB4NzksMHg4MCwweDdlLDB4NDAsMHgwZiwweDFjLDB4MDMsMHhlNywweDAwLDB4ZTkgfX0sCi0gezE2LCAweGQwMjAsIDAsIHsweGEwLDB4M2UsMHg0MCwweDQ2LDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhkMDMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweDgwLDB4MDAsMHhmOCwweDAwLDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4ZDA0MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YTAsMHgwOCwweGU4LDB4NDAsMHgzYSwweDEwLDB4MGMsMHg4MywweDAzLDB4YTEsMHhjMCwweGYwLDB4NDAgfX0sCi0gezE2LCAweGQwNTAsIDAsIHsweDNlLDB4MDYsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDNiLDB4MDAsMHgwZiwweDgxLDB4MDMsMHgyMCwweDAwIH19LAotIHsxNiwgMHhkMDYwLCAwLCB7MHhmOCwweDEwLDB4YjIsMHgwMCwweDRjLDB4ODAsMHgwYiwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDA3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MmUsMHhiMCwweDBiLDB4ZTgsMHgwMiwweGU5LDB4MDAsMHgzZSwweDkwLDB4MDIgfX0sCi0gezE2LCAweGQwODAsIDAsIHsweDgxLDB4MDgsMHhlNCwweDEyLDB4NzgsMHgwMCwweGJhLDB4MDAsMHgyZCwweGIwLDB4ODksMHhlOCwweDIyLDB4ZjgsMHgwYywweGJhIH19LAotIHsxNiwgMHhkMDkwLCAwLCB7MHgwMCwweDZlLDB4ODAsMHgwMywweGM1LDB4MDMsMHgzMCwweDAwLDB4YmEsMHgwMCwweDIyLDB4YTgsMHgwOCwweGEwLDB4MjIsMHg4YSB9fSwKLSB7MTYsIDB4ZDBhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDI4LDB4ZTggfX0sCi0gezE2LCAweGQwYjAsIDAsIHsweDFiLDB4MzEsMHgxMiwweDhjLDB4YzQsMHhhMywweDkyLDB4MmMsMHg0MCwweDg4LDB4MzQsMHgwNiwweDhlLDB4MDAsMHg5MywweDAwIH19LAotIHsxNiwgMHhkMGMwLCAwLCB7MHgyYywweGYwLDB4MTksMHgzMSwweGEyLDB4Y2MsMHgwNCwweGIzLDB4MDAsMHgyOCwweDgwLDB4MDEsMHgzOCwweDAyLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4ZDBkMCwgMCwgezB4YjMsMHg4MCwweDIwLDB4ZTAsMHgwYSwweGIwLDB4MTIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwZTAsIDAsIHsweGEwLDB4MDEsMHgxYywweDAwLDB4YjcsMHgxNCwweDJkLDB4NDIsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjcsMHg4MSwweDI3IH19LAotIHsxNiwgMHhkMGYwLCAwLCB7MHhlMCwweDE4LDB4NjAsMHgwMiwweDU4LDB4MTgsMHhiNywweDIyLDB4MmQsMHg4MCwweDA5LDB4NzAsMHgyMiwweGRjLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4ZDEwMCwgMCwgezB4MDAsMHgyZCwweDgwLDB4MGIsMHgzYiwweDAyLDB4MWQsMHhkMCwweGJmLDB4ODAsMHgyOCwweGMwLDB4OGEsMHhmMiwweDAyLDB4YTAgfX0sCi0gezE2LCAweGQxMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWYsMHg4MCwweGY3LDB4YTAsMHgzOSwweGUyIH19LAotIHsxNiwgMHhkMTIwLCAwLCB7MHgwZiwweDY4LDB4MDMsMHg5ZSwweDAwLDB4ZWQsMHg4NCwweDNkLDB4ZTIsMHg0NCwweDc4LDB4MDMsMHg5ZSwweDAwLDB4ZjcsMHhiNCB9fSwKLSB7MTYsIDB4ZDEzMCwgMCwgezB4MmQsMHhlMCwweDBkLDB4NjgsMHgwMywweGQ2LDB4MDAsMHhmNiwweDgwLDB4MzksMHhlMCwweDBmLDB4NzksMHgwMywweDVlLDB4OTAgfX0sCi0gezE2LCAweGQxNDAsIDAsIHsweGY3LDB4ODEsMHgzMSwweDYwLDB4MmUsMHg3YywweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMTUwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHgwMCwweGZiLDB4NDIsMHgzZSwweGM4LDB4MGYsMHhhMCwweDAzLDB4ZWQsMHhhMCwweGJiLDB4MDAsMHgzOCB9fSwKLSB7MTYsIDB4ZDE2MCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MDMsMHg2OCwweDAwLDB4ZmIsMHgxMSwweDNlLDB4NDAsMHgwOSwweGIwLDB4NDEsMHhlYywweDAwLDB4ZmEgfX0sCi0gezE2LCAweGQxNzAsIDAsIHsweDAyLDB4M2UsMHhjMCwweDBmLDB4YjIsMHgwYiwweGVkLDB4ODAsMHgzYiwweDAwLDB4MzYsMHg0MCwweDBkLDB4YjAsMHgyMywweDQyIH19LAotIHsxNiwgMHhkMTgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MDAsMHhjZiwweGQwLDB4MzMsMHhlNCB9fSwKLSB7MTYsIDB4ZDE5MCwgMCwgezB4NGYsMHhmOSwweDAzLDB4ZGUsMHg0MCwweGRjLDB4ODAsMHgzNiwweGU0LDB4MGMsMHhiOSwweDEzLDB4ZmUsMHgwMCwweGNmLDB4OTAgfX0sCi0gezE2LCAweGQxYTAsIDAsIHsweDM3LDB4ZTUsMHgwZiwweGY4LDB4NDMsMHhmZSwweDAwLDB4Y2YsMHg5MiwweDNmLDB4YTQsMHgwZiwweDc4LDB4MDMsMHgxZiwweDAwIH19LAotIHsxNiwgMHhkMWIwLCAwLCB7MHhjNSwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZjgsMHgyMCwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDFjMCwgMCwgezB4YTgsMHgxMSwweGJjLDB4MDAsMHgwZiwweDEwLDB4MjEsMHg4MSwweDBiLDB4NjAsMHgwMywweDg0LDB4MDAsMHg4YiwweDA4LDB4MjEgfX0sCi0gezE2LCAweGQxZDAsIDAsIHsweDYwLDB4MGEsMHg3YiwweDAzLDB4OTgsMHgwMCwweDhiLDB4MTAsMHgyOSwweDg0LDB4MGUsMHg2NCwweDIyLDB4ZGMsMHg0MCwweGQ3IH19LAotIHsxNiwgMHhkMWUwLCAwLCB7MHgwMiwweDJkLDB4ODQsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4ODUsMHgxOCwweDIxLDB4NDAsMHgwYSwweGYwLDB4MjIsMHhhYSB9fSwKLSB7MTYsIDB4ZDFmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTcsMHgxNCwweDY5LDB4YzAgfX0sCi0gezE2LCAweGQyMDAsIDAsIHsweDFhLDB4NjAsMHgxMiwweGZjLDB4MDEsMHhhNCwweDEwLDB4MmQsMHhjMCwweDBhLDB4NTIsMHgwMiwweDQ1LDB4NDAsMHg4NywweDBjIH19LAotIHsxNiwgMHhkMjEwLCAwLCB7MHgyMSwweDgwLDB4MWIsMHg2MCwweDgyLDB4ZDQsMHgwMCwweDg2LDB4MDMsMHgyNSwweGUwLDB4MWIsMHg3MCwweDAyLDB4NWMsMHg0MCB9fSwKLSB7MTYsIDB4ZDIyMCwgMCwgezB4OWQsMHgwMCwweDI5LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyMzAsIDAsIHsweDIwLDB4MTQsMHhjZCwweDAwLDB4YTMsMHgwMCwweDI4LDB4YzAsMHgxYiwweDIwLDB4MjIsMHg4YywweDExLDB4YTMsMHgwMCwweDY4IH19LAotIHsxNiwgMHhkMjQwLCAwLCB7MHhmNiwweDBhLDB4M2MsMHgwNiwweDgyLDB4MDAsMHg4MywweDgwLDB4MjgsMHg4NCwweDBhLDB4OGMsMHg4MiwweGNjLDB4NDQsMHg5MiB9fSwKLSB7MTYsIDB4ZDI1MCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4NGUsMHgwMCwweDkxLDB4MDAsMHgyOCwweDQwLDB4MGEsMHgzMCwweDAyLDB4ODggfX0sCi0gezE2LCAweGQyNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmUsMHgyMiwweGVmLDB4MDQsMHhiYSwweGMwIH19LAotIHsxNiwgMHhkMjcwLCAwLCB7MHgwZiwweDE0LDB4OTMsMHhlYywweDAyLDB4ZjEsMHhjMywweDNlLDB4ZjAsMHgwZSwweDkwLDB4ODMsMHg2NiwweDAwLDB4Y2YsMHhkMiB9fSwKLSB7MTYsIDB4ZDI4MCwgMCwgezB4MzIsMHg1MCwweDBmLDB4OWMsMHgwMywweGNiLDB4MDAsMHhjOSwweDgwLDB4M2UsMHgyOCwweDBmLDB4YjAsMHgwMywweDRmLDB4MDAgfX0sCi0gezE2LCAweGQyOTAsIDAsIHsweGQxLDB4YzAsMHhhYSwweGMwLDB4MGMsMHg3MSwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMmEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgyMCwweGRiLDB4MDAsMHgyNiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZWMsMHgwOCwweDFiLDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4ZDJiMCwgMCwgezB4YzAsMHgwZiwweDg2LDB4MDEsMHhlNSwweDQwLDB4ZmIsMHgwMiwweDNhLDB4NDgsMHgwZSwweDk0LDB4MDMsMHhlYywweDgwLDB4ZjEgfX0sCi0gezE2LCAweGQyYzAsIDAsIHsweDg0LDB4M2UsMHgwMCwweDRmLDB4YjAsMHgwMywweGFkLDB4YzAsMHhlYiwweDIwLDB4MzYsMHhjMCwweDBmLDB4YjAsMHgyMywweGUwIH19LAotIHsxNiwgMHhkMmQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjZiwweDAwLDB4M2YsMHg2MCB9fSwKLSB7MTYsIDB4ZDJlMCwgMCwgezB4MGMsMHhlMCwweDgzLDB4M2UsMHg4MCwweGVkLDB4MDgsMHgzMywweGQwLDB4OGYsMHg1MCwweDAzLDB4OWUsMHgwMCwweGRmLDB4MDAgfX0sCi0gezE2LCAweGQyZjAsIDAsIHsweDMzLDB4NDAsMHgwYywweGMwLDB4MDMsMHgzMCwweDAwLDB4Y2MsMHgxMCwweDMzLDB4NjgsMHgwYywweGYwLDB4MDMsMHgzYywweDg0IH19LAotIHsxNiwgMHhkMzAwLCAwLCB7MHg4ZCwweDkwLDB4MzAsMHg0MCwweDBjLDB4ZjAsMHgwMywweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDMxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDAyLDB4MmMsMHhmNCwweDA4LDB4YTgsMHg2MiwweDBjLDB4ODAsMHg4YiwweDgwLDB4MmEgfX0sCi0gezE2LCAweGQzMjAsIDAsIHsweDYwLDB4MGYsMHg5YywweDAyLDB4MmUsMHgwMCwweDhiLDB4MDAsMHgyMCwweDYwLDB4MGQsMHg5OCwweDAyLDB4MmMsMHg4MCwweGQ4IH19LAotIHsxNiwgMHhkMzMwLCAwLCB7MHgwMCwweDE0LDB4NDAsMHgwOCwweDM0LDB4MTIsMHgyZSwweDAwLDB4OGIsMHg4MiwweDMyLDB4NDAsMHgwZCwweGIwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4ZDM0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4ZDAgfX0sCi0gezE2LCAweGQzNTAsIDAsIHsweDA4LDB4YjgsMHgwMiwweDJjLDB4MDAsMHg4YSwweDg0LDB4MjIsMHhjMCwweDBiLDB4ODgsMHgwMiwweGU0LDB4YTAsMHg4MywweDAwIH19LAotIHsxNiwgMHhkMzYwLCAwLCB7MHgyMiwweDYyLDB4MGEsMHg5OCwweDAyLDB4MjgsMHgwMCwweDg5LDB4MDAsMHgyMiwweDAwLDB4MGEsMHhiMSwweDA2LDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZDM3MCwgMCwgezB4YWIsMHgwMCwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAyLDB4YTMsMHgwMCwweDJjLDB4YzEsMHgwOCwweDIwLDB4MDIsMHgwYywweDAyLDB4OGIsMHgwMCwweDI4IH19LAotIHsxNiwgMHhkMzkwLCAwLCB7MHhjMiwweDBhLDB4MDAsMHgwMiwweDQ0LDB4MTAsMHg4MywweDEwLDB4MjIsMHg0MCwweDBiLDB4MTAsMHgwNiwweDBjLDB4MDAsMHg5MSB9fSwKLSB7MTYsIDB4ZDNhMCwgMCwgezB4MDQsMHhhYSwweDAwLDB4MjgsMHgzMCwweDAyLDB4MmMsMHgwMCwweGExLDB4MDEsMHgyMCwweDQwLDB4MDksMHhiMCwweDAyLDB4NDIgfX0sCi0gezE2LCAweGQzYjAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4N2MsMHgwMCwweDhmLDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhkM2MwLCAwLCB7MHgyYywweGEwLDB4MDMsMHgyOSwweDQwLDB4YTgsMHg0MCwweDMyLDB4Y2MsMHg4YiwweDgwLDB4MDIsMHhlMCwweDAwLDB4Y2YsMHg0MCB9fSwKLSB7MTYsIDB4ZDNkMCwgMCwgezB4MzIsMHgwMCwweDBlLDB4ODAsMHgwYSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjIsMHg0MCwweDBjLDB4YjAsMHgwMywweDJjLDB4MDQgfX0sCi0gezE2LCAweGQzZTAsIDAsIHsweGViLDB4MDAsMHhiMiwweDQwLDB4OGMsMHhiMCwweDAzLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkM2YwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhlMCwweDAzLDB4ZmMsMHg4MCwweGZmLDB4MjgsMHgzZCB9fSwKLSB7MTYsIDB4ZDQwMCwgMCwgezB4YzAsMHgwYiwweGMxLDB4MDMsMHhiMCwweDE0LDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZCwweGQwLDB4MDMsMHhkYywweDAwLDB4ZmMgfX0sCi0gezE2LCAweGQ0MTAsIDAsIHsweDAwLDB4MzcsMHg0MCwweDBmLDB4ZjAsMHgyMSwweGZjLDB4MDAsMHgxZCwweDAwLDB4N2IsMHg0MCwweDhmLDB4ZjAsMHgwMywweGUwIH19LAotIHsxNiwgMHhkNDIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQyLDB4MDAsMHhkZiwweDAwLDB4MzEsMHhhMCB9fSwKLSB7MTYsIDB4ZDQzMCwgMCwgezB4NGQsMHhmMCwweDQzLDB4MzIsMHgwMCwweGNlLDB4MTQsMHgxYiwweDY4LDB4MGUsMHhkYSwweDIzLDB4YjIsMHhjMCwweDJmLDB4MDAgfX0sCi0gezE2LCAweGQ0NDAsIDAsIHsweDNmLDB4YzIsMHgyYywweGU4LDB4MDMsMHgzYywweDQwLDB4ZmQsMHgwOCwweDNiLDB4YzgsMHg0YywweGYwLDB4ODMsMHgzYywweGEwIH19LAotIHsxNiwgMHhkNDUwLCAwLCB7MHhjZiwweDAwLDB4MzMsMHhjNCwweDBjLDB4ZjMsMHgwNywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQ2MCwgMCwgezB4ODAsMHgxMCwweGUyLDB4MDAsMHg4ZiwweGMwLDB4MjIsMHhhMCwweDA4LDB4ZmQsMHg0MiwweDJmLDB4MDAsMHg4YiwweDcwLDB4MjIgfX0sCi0gezE2LCAweGQ0NzAsIDAsIHsweDFlLDB4NDgsMHg4OSwweDAyLDB4MjcsMHhjMCwweDhmLDB4NWEsMHgyZSwweDUwLDB4NDgsMHgzMCwweDAyLDB4YmQsMHhjMCwweGJkIH19LAotIHsxNiwgMHhkNDgwLCAwLCB7MHg0MCwweDIzLDB4YzUsMHg0OCwweGY0LDB4ODIsMHgzZCwweDJjLDB4ODcsMHg3MCwweDIyLDB4YzAsMHgwOCwweGYxLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4ZDQ5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlMCwweDAwLDB4OTMsMHgxMCwweDI2LDB4ODEgfX0sCi0gezE2LCAweGQ0YTAsIDAsIHsweDQ5LDB4MzAsMHgwMiwweDgwLDB4NDAsMHg4MywweDIwLDB4MjgsMHg0MCwweDBhLDB4MTAsMHgwMiwweDgwLDB4MDAsMHhhMywweDI0IH19LAotIHsxNiwgMHhkNGIwLCAwLCB7MHgyYywweGNhLDB4MDgsMHgzMiwweDgyLDB4MGMsMHgwMCwweDkxLDB4MjgsMHgyMCwweGNhLDB4MWIsMHgzMiwweDAyLDB4MGMsMHg4OCB9fSwKLSB7MTYsIDB4ZDRjMCwgMCwgezB4ODMsMHgwOSwweDIwLDB4YzgsMHgwOSwweDMyLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0ZDAsIDAsIHsweGMwLDB4MTUsMHhhMywweDE0LDB4OGIsMHgwNCwweDI2LDB4ODksMHgwOCwweGIwLDB4MDIsMHhhYywweDIyLDB4OGIsMHg4OCwweDJhIH19LAotIHsxNiwgMHhkNGUwLCAwLCB7MHgyMCwweDA4LDB4OTgsMHg4MiwweGE2LDB4MTAsMHhhYiwweDAwLDB4MmUsMHhjYSwweDA4LDB4YjAsMHg4MiwweGFjLDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZDRmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MjksMHhiMCwweDBhLDB4MmMsMHgwMSwweDhiLDB4MDAsMHgyMiwweGMwLDB4MDksMHhiMCwweDIyLDB4ZjAgfX0sCi0gezE2LCAweGQ1MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTMsMHgwMCwweGRiLDB4MDAsMHgzNCwweGUyIH19LAotIHsxNiwgMHhkNTEwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhhMywweDAwLDB4Y2EsMHg4MCwweGJhLDB4NzAsMHgwZSwweDg4LDB4MDMsMHhhNiwweDAwLDB4ZWIsMHgwMCB9fSwKLSB7MTYsIDB4ZDUyMCwgMCwgezB4M2UsMHg5MCwweDBjLDB4YjUsMHgwMywweDJjLDB4MDAsMHhmYiwweDEwLDB4YmEsMHhjMCwweDBlLDB4YjAsMHgwMywweDJjLDB4MDIgfX0sCi0gezE2LCAweGQ1MzAsIDAsIHsweGNiLDB4MDIsMHgzMiwweGMwLDB4MDksMHhiMCwweDAyLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNTQwLCAwLCB7MHhlMCwweDAxLDB4YjAsMHgwOCwweGZmLDB4MDAsMHhiYiwweGUwLDB4MGYsMHg3MCwweDAzLDB4NjUsMHgwMCwweGY0LDB4MDAsMHgzNSB9fSwKLSB7MTYsIDB4ZDU1MCwgMCwgezB4NDAsMHgwZiwweDQwLDB4MDMsMHg1NCwweDAwLDB4ZGYsMHgwMCwweDNlLDB4NDAsMHgwZiwweGY4LDB4MDMsMHhlYywweDAwLDB4ZjcgfX0sCi0gezE2LCAweGQ1NjAsIDAsIHsweDAxLDB4M2QsMHhjMSwweDBlLDB4MzAsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhlLDB4ZjAsMHgwMywweGI4IH19LAotIHsxNiwgMHhkNTcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGEwLDB4NDAsMHhlYiwweDA4LDB4M2UsMHg4MCB9fSwKLSB7MTYsIDB4ZDU4MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzYSwweDUxLDB4MGYsMHg4MiwweDAzLDB4NjQsMHgyMCwweGRiLDB4MDAgfX0sCi0gezE2LCAweGQ1OTAsIDAsIHsweDNkLDB4ODIsMHgwYywweGJjLDB4MDMsMHgyYywweDEwLDB4ZGIsMHgwMCwweDcyLDB4YzAsMHgwZCwweGIxLDB4MDMsMHgwYywweDIwIH19LAotIHsxNiwgMHhkNWEwLCAwLCB7MHhkMywweDAwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwYiwweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDViMCwgMCwgezB4YzgsMHgwNSwweDAxLDB4MDAsMHg4NywweGMwLDB4MmUsMHhhOCwweDA4LDB4ZjEsMHgxMiwweGM1LDB4NDAsMHg4OCwweDAwLDB4MjIgfX0sCi0gezE2LCAweGQ1YzAsIDAsIHsweDQwLDB4MGIsMHg4NCwweDAyLDB4MjcsMHgwMCwweGFmLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiYywweDEyLDB4M2MsMHgwMCwweDhiIH19LAotIHsxNiwgMHhkNWQwLCAwLCB7MHgwMSwweDIzLDB4YzAsMHgyOCwweGY1LDB4NGEsMHgzZCwweDI4LDB4ZGYsMHgwMCwweDMzLDB4YzAsMHg0YiwweGYwLDB4MDMsMHgzMiB9fSwKLSB7MTYsIDB4ZDVlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OCwweDgwLDB4YTMsMHg5MCwweDJjLDB4MDAgfX0sCi0gezE2LCAweGQ1ZjAsIDAsIHsweDA4LDB4MzAsMHgwMiwweGMxLDB4MDAsMHg5MiwweDA0LDB4MjgsMHgwMCwweDBiLDB4MTQsMHgxMiwweDQzLDB4MDAsMHhiMywweDA0IH19LAotIHsxNiwgMHhkNjAwLCAwLCB7MHgyYywweDMwLDB4MGEsMHhiMCwweDBhLDB4OGMsMHgwMCwweDkzLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgzYywweDA2LDB4MGUsMHgwMSB9fSwKLSB7MTYsIDB4ZDYxMCwgMCwgezB4YjMsMHgwMCwweDJlLDB4YzAsMHg4YiwweDMwLDB4MDYsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2MjAsIDAsIHsweDIwLDB4MDEsMHgxMiwweDAwLDB4ODcsMHg4MCwweDJkLDB4MjQsMHgwOCwweDc4LDB4MDIsMHhkMiwweDAwLDB4OTUsMHg4MCwweDIxIH19LAotIHsxNiwgMHhkNjMwLCAwLCB7MHhhMCwweDBiLDB4NjgsMHgwMiwweDVhLDB4MjAsMHg4NywweDgwLDB4MmQsMHg2NiwweDFhLDB4N2MsMHgwMiwweDllLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4ZDY0MCwgMCwgezB4ODAsMHgyMSwweGUxLDB4MTgsMHg3OSwweDAyLDB4OWUsMHg0MCwweGI3LDB4ODAsMHhhMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4NDggfX0sCi0gezE2LCAweGQ2NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MDAsMHgwMCwweGUzLDB4YTAsMHgzYywweDQwIH19LAotIHsxNiwgMHhkNjYwLCAwLCB7MHgwYywweDMwLDB4MDMsMHhjNCwweDIyLDB4ZDksMHgwMCwweDM4LDB4ZDQsMHgwZiwweDMwLDB4ODMsMHg2OCwweDQwLDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4ZDY3MCwgMCwgezB4M2MsMHg4MCwweDBhLDB4MzIsMHgwMiwweDhjLDB4MDAsMHhkYiwweDAwLDB4YTIsMHhjNCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAgfX0sCi0gezE2LCAweGQ2ODAsIDAsIHsweGYzLDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNjkwLCAwLCB7MHg0MCwweDBkLDB4YjAsMHgwMCwweGZmLDB4MTAsMHgzZiwweDQwLDB4MGUsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGVkLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZDZhMCwgMCwgezB4YzAsMHgwZiwweDMwLDB4MTMsMHhiYywweDQwLDB4N2YsMHgxMCwweDNmLDB4YzEsMHgyZCwweGYwLDB4MDMsMHg3YywweDAwLDB4ZmIgfX0sCi0gezE2LCAweGQ2YjAsIDAsIHsweDQwLDB4M2YsMHhjMiwweDBlLDB4ZjQsMHg4MywweDdjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHhjMiwweDBmLDB4ZjAsMHgwMywweDkwIH19LAotIHsxNiwgMHhkNmMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhkYiwweGEwLDB4MzIsMHhjMCB9fSwKLSB7MTYsIDB4ZDZkMCwgMCwgezB4MGQsMHhiNywweDAzLDB4ZTAsMHgwMCwweGNhLDB4MDQsMHgzZSwweDgwLDB4MGYsMHhiOCwweDAzLDB4MmMsMHgxMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGQ2ZTAsIDAsIHsweDMzLDB4MDAsMHg4ZCwweGIwLDB4MDMsMHgyYywweDgwLDB4ZTksMHg0MCwweDNlLDB4ZDIsMHgwZiwweGI0LDB4MDMsMHgyZCwweDgwIH19LAotIHsxNiwgMHhkNmYwLCAwLCB7MHhlYiwweDIwLDB4YjIsMHhjMCwweDBmLDB4YjIsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDcwMCwgMCwgezB4NDgsMHgxMSwweDkwLDB4MDAsMHhiNywweDEwLDB4MTEsMHhjMCwweDA4LDB4NzAsMHg4MiwweGQ4LDB4MGEsMHg4NywweDAxLDB4MmQgfX0sCi0gezE2LCAweGQ3MTAsIDAsIHsweDgwLDB4ODksMHg3MCwweDAzLDB4ZDgsMHgwOCwweGI3LDB4MGEsMHgyMSwweDQwLDB4MmMsMHg3MCwweDAyLDB4MGQsMHhjMCwweDg1IH19LAotIHsxNiwgMHhkNzIwLCAwLCB7MHgwMSwweDc5LDB4YzgsMHgwYiwweDMyLDB4MDIsMHgwZCwweDIwLDB4OGYsMHgyOCwweDIxLDB4YzAsMHgwYiwweDcyLDB4ODIsMHhkMiB9fSwKLSB7MTYsIDB4ZDczMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4NDAsMHg5NiwweDEwLDB4OTcsMHg5MCwweDIzLDB4ZTAgfX0sCi0gezE2LCAweGQ3NDAsIDAsIHsweDA5LDB4N2EsMHgwMiwweGQ2LDB4MDAsMHg5NywweDgwLDB4MmQsMHhmMCwweDBiLDB4NzgsMHg4MiwweDFlLDB4MDAsMHhiMywweGIwIH19LAotIHsxNiwgMHhkNzUwLCAwLCB7MHgyMSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MWUsMHgwMCwweGE1LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg3YSwweDAyLDB4MWUsMHg4MCB9fSwKLSB7MTYsIDB4ZDc2MCwgMCwgezB4YTcsMHhiMCwweDIxLDB4ZTgsMHgwYiwweDc5LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3NzAsIDAsIHsweDQ4LDB4MTQsMHhjMCwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZTIsMHgwOCwweDMwLDB4MDIsMHhjNiwweDQwLDB4OTMsMHg3MCwweDJjIH19LAotIHsxNiwgMHhkNzgwLCAwLCB7MHhjMCwweDA5LDB4M2MsMHgwMiwweDhlLDB4MDAsMHhiMywweDAwLDB4MjAsMHhkOCwweDA4LDB4MTgsMHgwMiwweDBjLDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ZDc5MCwgMCwgezB4OTAsMHgyZSwweGMwLDB4MGIsMHgzMCwweDJhLDB4MmMsMHgxMCwweDgzLDB4MDAsMHhhMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGQ3YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDExLDB4YjksMHgwMCwweGRhLDB4MDIsMHgzMywweGI4IH19LAotIHsxNiwgMHhkN2IwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhmOCwweDAwLDB4ZGUsMHhjMCwweDNmLDB4YjAsMHg0ZiwweGVjLDB4MDYsMHgzOCwweDQwLDB4ZmEsMHgwMCB9fSwKLSB7MTYsIDB4ZDdjMCwgMCwgezB4YjMsMHg5MCwweDBjLDB4NmMsMHgwYiwweDI4LDB4MDgsMHhlYSwweDAxLDB4N2UsMHg4MCwweDBmLDB4YTAsMHgwMywweDI4LDB4MDAgfX0sCi0gezE2LCAweGQ3ZDAsIDAsIHsweGVhLDB4MDAsMHgzMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkN2UwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4NDAsMHgzYSwweDAwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGU4LDB4MDIsMHgzZSB9fSwKLSB7MTYsIDB4ZDdmMCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDQwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweGQ4MDAsIDAsIHsweDAwLDB4M2EsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhkODEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MjAsMHhmOSwweGMwLDB4M2UsMHg3MCB9fSwKLSB7MTYsIDB4ZDgyMCwgMCwgezB4MGUsMHg5MCwweDAyLDB4ZTQsMHg4MCwweGM5LDB4MDAsMHgzMiwweDQyLDB4MGMsMHg5OCwweDgzLDB4YTQsMHg4NCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGQ4MzAsIDAsIHsweGIyLDB4NjAsMHgwYywweDkwLDB4ODMsMHgyNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDFhLDB4MDIsMHgyNCwweDAwIH19LAotIHsxNiwgMHhkODQwLCAwLCB7MHhjMSwweDAwLDB4YjIsMHg0MCwweDBmLDB4OTAsMHgwMSwweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg1MCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MDAsMHhiOSwweDgxLDB4MmMsMHg2MCwweDBkLDB4OTQsMHhjMiwweGM3LDB4MDgsMHg4OSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGQ4NjAsIDAsIHsweDQwLDB4MDgsMHg5NSwweGM3LDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyOCwweDcwLDB4YTgsMHg5NCwweDBhLDB4MjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhkODcwLCAwLCB7MHgwNCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MmEsMHgyNiwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZDg4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHg0MCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGQ4OTAsIDAsIHsweDBhLDB4OTAsMHgwMiwweGU1LDB4MDAsMHg4MSwweDAwLDB4YTAsMHg0MCwweDA5LDB4OTAsMHg0MiwweGVjLDB4MDAsMHhiMSwweDAwIH19LAotIHsxNiwgMHhkOGEwLCAwLCB7MHgyMiwweDU4LDB4MDgsMHg5MCwweGEyLDB4MDQsMHgwMiwweDg5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHhhMCB9fSwKLSB7MTYsIDB4ZDhiMCwgMCwgezB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4YzAsIDAsIHsweDA4LDB4MDQsMHgwNCwweDAwLDB4YjEsMHgyMCwweDJlLDB4YzAsMHg4OSwweDEyLDB4MDIsMHhjNCwweDgwLDB4ODEsMHgyMCwweDIwIH19LAotIHsxNiwgMHhkOGQwLCAwLCB7MHg0MCwweDYxLDB4MTAsMHg0MiwweGM1LDB4MDAsMHhiMSwweDIwLDB4MjgsMHg0OCwweDE4LDB4OTAsMHg0MiwweDA0LDB4ODAsMHg4MSB9fSwKLSB7MTYsIDB4ZDhlMCwgMCwgezB4MjgsMHgyYywweDQ4LDB4MDgsMHgxMiwweDgyLDB4ODQsMHhhMCwweDgxLDB4MjAsMHgyMCwweDQ4LDB4MGIsMHgxMiwweDgyLDB4YzIgfX0sCi0gezE2LCAweGQ4ZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjgsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwIH19LAotIHsxNiwgMHhkOTAwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHhlMCwweDA4LDB4YzgsMHg1MCwweDMyLDB4MTQsMHgwZCwweDgwLDB4MTcsMHhlOCwweDA0LDB4ZjgsMHg1MCB9fSwKLSB7MTYsIDB4ZDkxMCwgMCwgezB4MzIsMHgxNCwweDRjLDB4MDUsMHgwYiwweDIxLDB4NDAsMHhjOCwweDIwLDB4M2UsMHgwMCwweDBjLDB4ODcsMHgwMywweGExLDB4YzIgfX0sCi0gezE2LCAweGQ5MjAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDE0LDB4OGYsMHg4MiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOTMwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHgwMCwweGYxLDB4MTAsMHgzZCwweDQwLDB4MGYsMHg5MSwweDAyLDB4ZDQsMHg0MiwweGZkLDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4ZDk0MCwgMCwgezB4NTEsMHgwZSwweDU0LDB4MTMsMHhiNSwweDAwLDB4ZjksMHgxMCwweDM1LDB4NDQsMHgyZiwweGQwLDB4MDMsMHhlNCwweDUwLDB4ZmQgfX0sCi0gezE2LCAweGQ5NTAsIDAsIHsweDI4LDB4M2UsMHg0ZSwweDBmLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDM4LDB4M2UsMHg0NCwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHhkOTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGY0LDB4MDAsMHhmZCwweDAwLDB4M2QsMHg0MCB9fSwKLSB7MTYsIDB4ZDk3MCwgMCwgezB4MmMsMHhkMCwweDAzLDB4YjYsMHgwMCwweGY5LDB4ODIsMHgzZSwweDQwLDB4MGMsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGY5LDB4ODAgfX0sCi0gezE2LCAweGQ5ODAsIDAsIHsweDMzLDB4NzAsMHgwYywweDUwLDB4MDMsMHgzNCwweDAwLDB4YzksMHhjMCwweDNlLDB4NDAsMHgwYywweGRhLDB4MDMsMHgxNiwweDgwIH19LAotIHsxNiwgMHhkOTkwLCAwLCB7MHhjOSwweDQwLDB4M2UsMHg2MiwweDJjLDB4OTgsMHg4MywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDlhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDA4LDB4ODAsMHgwMiwweDI4LDB4MDAsMHhiOCwweDUwLDB4MjYgfX0sCi0gezE2LCAweGQ5YjAsIDAsIHsweDAwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGI4LDB4MDAsMHgyYSwweDM0LDB4MmEsMHhhYSwweDBhLDB4MjAsMHgwMCwweDg4IH19LAotIHsxNiwgMHhkOWMwLCAwLCB7MHhjMCwweDJlLDB4MmEsMHgwOCwweDgwLDB4MjIsMHgyMSwweDAwLDB4YTgsMHg4MCwweDJlLDB4MDAsMHgwOCwweDgwLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ZDlkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGQ5ZTAsIDAsIHsweDQ4LDB4MTAsMHgwNiwweDhkLDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDI4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDQwIH19LAotIHsxNiwgMHhkOWYwLCAwLCB7MHgyYywweDQ4LDB4MDgsMHgxMCwweDgyLDB4NDQsMHgwMCwweDgxLDB4NjAsMHgyYywweDQwLDB4MjgsMHgxNCwweDBhLDB4MDQsMHg0MCB9fSwKLSB7MTYsIDB4ZGEwMCwgMCwgezB4ODEsMHgyMCwweDJjLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhMTAsIDAsIHsweDE4LDB4MDUsMHhhNCwweDQwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwOCwweGIwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgyOCwweDJlIH19LAotIHsxNiwgMHhkYTIwLCAwLCB7MHg1MCwweDA4LDB4OTAsMHgyMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg2MCwweDBiLDB4MTIsMHg0MiwweDY0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4ZGEzMCwgMCwgezB4MDAsMHgyYywweDQwLDB4MDksMHg5MCwweDAyLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyYywweDQwLDB4MDgsMHgxMCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGRhNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDA1LDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYywweDQyIH19LAotIHsxNiwgMHhkYTUwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhNywweDQwLDB4ZjksMHg0MCwweDNlLDB4NzAsMHgwYywweDk4LDB4MDIsMHhlNSwweDQwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZGE2MCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTgsMHgwMywweDY0LDB4MDYsMHhjOSwweDAxLDB4MmUsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDQgfX0sCi0gezE2LCAweGRhNzAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTgwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDgzLDB4ZTYsMHgxMCwweGY5LDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4ZGE5MCwgMCwgezB4NjgsMHgwZiwweDljLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNhLDB4NDAsMHgwZSwweDk4LDB4OTMsMHhhNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGRhYTAsIDAsIHsweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHg4MywweGM0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH19LAotIHsxNiwgMHhkYWIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwNCB9fSwKLSB7MTYsIDB4ZGFjMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4MjEsMHgwMiwweGM4LDB4NDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTEsMHgwMCwweGYwLDB4MDAgfX0sCi0gezE2LCAweGRhZDAsIDAsIHsweDNlLDB4MDIsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyMCwweDAwIH19LAotIHsxNiwgMHhkYWUwLCAwLCB7MHhjOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGFmMCwgMCwgezB4MjgsMHgxNSwweDNhLDB4MDAsMHhiZSwweDAyLDB4MmYsMHhiMCwweDA4LDB4NjgsMHgxMiwweDM4LDB4MDAsMHg4YSwweDA0LDB4MmEgfX0sCi0gezE2LCAweGRiMDAsIDAsIHsweDgwLDB4MGIsMHhlMCwweDQyLDB4ZmIsMHgyMCwweGJhLDB4MDAsMHgyZiwweDkxLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweGJhIH19LAotIHsxNiwgMHhkYjEwLCAwLCB7MHgwMCwweDI2LDB4ODAsMHgwOCwweGVlLDB4MGEsMHgzOCwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODAsMHgwYiwweGEwLDB4MDIsMHg4YSB9fSwKLSB7MTYsIDB4ZGIyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MiwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzIgfX0sCi0gezE2LCAweGRiMzAsIDAsIHsweDI4LDB4MzgsMHgwYSwweDQ4LDB4MDAsMHg4MywweDA0LDB4MjIsMHhjMCwweDBiLDB4MTAsMHgwMiwweGNkLDB4ODAsMHhiMywweDAwIH19LAotIHsxNiwgMHhkYjQwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHgxYywweDAyLDB4MjQsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzNCwweDEyLDB4MGUsMHg0MCB9fSwKLSB7MTYsIDB4ZGI1MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MTIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiNjAsIDAsIHsweGEwLDB4MDEsMHgxMSwweDAwLDB4YjcsMHgwMCwweDJmLDB4YzAsMHgwOCwweDcwLDB4YTIsMHg0ZSwweDAwLDB4OGYsMHhiMCwweDIxIH19LAotIHsxNiwgMHhkYjcwLCAwLCB7MHhjYywweDBiLDB4NjAsMHgxMiwweGRjLDB4MTAsMHhiNywweDMwLDB4MmQsMHhjMCwweDA4LDB4ZDAsMHg4MiwweDE0LDB4ODAsMHhiNyB9fSwKLSB7MTYsIDB4ZGI4MCwgMCwgezB4MTIsMHgyNSwweGM4LDB4MjgsMHg2MCwweDAyLDB4MTQsMHgwMCwweDg3LDB4YjIsMHgyMSwweGNjLDB4MGIsMHgzMSwweDAyLDB4YTggfX0sCi0gezE2LCAweGRiOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGY3LDB4ODAsMHgzZCwweGUwIH19LAotIHsxNiwgMHhkYmEwLCAwLCB7MHgwYywweDM4LDB4MDMsMHg1NiwweDAwLDB4YzcsMHg5MCwweGIxLDB4ZTQsMHgwZiwweDc4LDB4MDMsMHhkZSwweDAwLDB4ZjcsMHg5MCB9fSwKLSB7MTYsIDB4ZGJiMCwgMCwgezB4MWYsMHg2MCwweDJjLDB4NDgsMHgwYiwweDE2LDB4YTAsMHhmNywweDgwLDB4M2MsMHhmNCwweDBjLDB4MzgsMHgwMywweDFlLDB4MDAgfX0sCi0gezE2LCAweGRiYzAsIDAsIHsweGNmLDB4YTAsMHhiMSwweGU4LDB4MGYsMHg3YiwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYmQwLCAwLCB7MHgwOCwweDBkLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGIsMHhiMCwweDAzLDB4YWMsMHgwMCwweGYzLDB4MjEsMHgzZSB9fSwKLSB7MTYsIDB4ZGJlMCwgMCwgezB4YzgsMHgwNywweGIwLDB4MDIsMHhlNCwweDAwLDB4ZmIsMHgyMCwweDNmLDB4NDAsMHgwZiwweDgwLDB4MDMsMHhlNCwweDgwLDB4ZmIgfX0sCi0gezE2LCAweGRiZjAsIDAsIHsweDAwLDB4MzYsMHhkMCwweDBmLDB4YTAsMHgwMywweGUwLDB4MDgsMHhmYiwweDQyLDB4M2UsMHhkOCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhkYzAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGYwLDB4ODAsMHhjZiwweDgwLDB4MzEsMHhlMSB9fSwKLSB7MTYsIDB4ZGMxMCwgMCwgezB4MGMsMHhmOCwweDAzLDB4ZGEsMHgxMCwweGVmLDB4ODAsMHgzZiwweGU0LDB4MGYsMHhkOCwweDAzLDB4ZmUsMHgxMCwweGZmLDB4ODIgfX0sCi0gezE2LCAweGRjMjAsIDAsIHsweDNmLDB4ZTAsMHg0YywweGQ4LDB4MWIsMHgxNiwweDIwLDB4Y2YsMHg4MCwweDNmLDB4ZTAsMHg0YywweGQ4LDB4MzAsMHhlZSwweDQwIH19LAotIHsxNiwgMHhkYzMwLCAwLCB7MHhmZiwweGMwLDB4YjMsMHhmNCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGM0MCwgMCwgezB4YTgsMHgwMSwweDk4LDB4MjAsMHg4MywweDQwLDB4MjEsMHhjMCwweDA4LDB4NzEsMHgwMiwweGRjLDB4ODQsMHg4NywweDIwLDB4MmQgfX0sCi0gezE2LCAweGRjNTAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4ZDksMHg2MCwweGY3LDB4MDAsMHgyZCwweGMwLDB4MDgsMHhmMCwweDgyLDB4MTQsMHgwNCwweDg3IH19LAotIHsxNiwgMHhkYzYwLCAwLCB7MHgwMCwweDJkLDB4YzAsMHgwOCwweGYwLDB4MDMsMHgxZSwweDAwLDB4YjcsMHgyMCwweDIxLDB4YzAsMHg4YiwweDcwLDB4MDIsMHhlYSB9fSwKLSB7MTYsIDB4ZGM3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiMCwweDAwLDB4ODcsMHgwMCwweDIxLDB4ODAgfX0sCi0gezE2LCAweGRjODAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGY1LDB4MDQsMHgyNywweDAwLDB4MmQsMHhjMCwweDhiLDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweDAwIH19LAotIHsxNiwgMHhkYzkwLCAwLCB7MHgyYywweDUwLDB4MDgsMHg0MCwweDAyLDB4MTQsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg1MCwweDAyLDB4NWMsMHgwNCB9fSwKLSB7MTYsIDB4ZGNhMCwgMCwgezB4YjcsMHgwMCwweGExLDB4YzAsMHg4YiwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjYjAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAwLDB4ODAsMHgwMCwweDAwLDB4ODAsMHgwOCwweDMwLDB4MDIsMHhjZSwweDAwLDB4ODMsMHhjMCwweDJjIH19LAotIHsxNiwgMHhkY2MwLCAwLCB7MHhkMCwweDRiLDB4MzAsMHgwMiwweGNlLDB4MDAsMHhhYiwweDAyLDB4MmMsMHg0MCwweDQ4LDB4YmMsMHgwMiwweDA0LDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4ZGNkMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDgsMHgxMCwweDAyLDB4MDAsMHgwOCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzMCwweDAyLDB4YzggfX0sCi0gezE2LCAweGRjZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODMsMHg0MCwweGM4LDB4MDAsMHgzMCwweGMwIH19LAotIHsxNiwgMHhkY2YwLCAwLCB7MHgyYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZWYsMHg4OCwweDNmLDB4ZTYsMHgwNywweGIxLDB4ODMsMHhlMSwweDAwLDB4YmYsMHgwMCB9fSwKLSB7MTYsIDB4ZGQwMCwgMCwgezB4M2UsMHhlMCwweDBjLDB4YjgsMHgwMywweDM0LDB4MDAsMHhjZiwweDAwLDB4M2YsMHhjMCwweDJjLDB4YjAsMHgwMywweDY4LDB4MTAgfX0sCi0gezE2LCAweGRkMTAsIDAsIHsweGZmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZDIwLCAwLCB7MHg4MCwweDAwLDB4ZTQsMHgwMCwweGYxLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhiNCwweDAzLDB4ZWQsMHg0MCwweGZiLDB4MDgsMHgzZSB9fSwKLSB7MTYsIDB4ZGQzMCwgMCwgezB4YzAsMHgwZiwweGEwLDB4MDMsMHhlNSwweDIwLDB4ZmIsMHgwMCwweDNlLDB4ZTAsMHgwZCwweGIwLDB4ODMsMHhlNCwweDAwLDB4ZjMgfX0sCi0gezE2LCAweGRkNDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGM0LDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4MzAsMHgwMywweGUwIH19LAotIHsxNiwgMHhkZDUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhjYSwweDAwLDB4MzMsMHhlMCB9fSwKLSB7MTYsIDB4ZGQ2MCwgMCwgezB4NGUsMHhmMCwweDAzLDB4MzQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhlOCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDAgfX0sCi0gezE2LCAweGRkNzAsIDAsIHsweGIxLDB4NDAsMHgwYywweGUwLDB4MDMsMHgzNCwweDAwLDB4ZWYsMHgwMCwweGIzLDB4YzAsMHgwYywweGYwLDB4MDMsMHgzOCwweDAwIH19LAotIHsxNiwgMHhkZDgwLCAwLCB7MHhjZiwweDAwLDB4M2QsMHhjMCwweDBhLDB4ZjAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ5MCwgMCwgezB4ODEsMHgwNCwweDYyLDB4MjIsMHg4OCwweDkwLDB4MjIsMHhlMCwweDA4LDB4M2MsMHgwMiwweDJlLDB4MDgsMHhiYiwweDAxLDB4MmUgfX0sCi0gezE2LCAweGRkYTAsIDAsIHsweGMwLDB4MGIsMHhhMCwweDAyLDB4NjYsMHgwMCwweGJiLDB4MDAsMHgyMiwweGEwLDB4MDgsMHhhOSwweDAyLDB4MjQsMHgwMCwweGJiIH19LAotIHsxNiwgMHhkZGIwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgyOCwweDJjLDB4MDIsMHhhMiwweDAwLDB4ZGIsMHgwMCwweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhMCB9fSwKLSB7MTYsIDB4ZGRjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMiwweDAwLDB4OTgsMHgwMCwweDIyLDB4YzggfX0sCi0gezE2LCAweGRkZDAsIDAsIHsweDBhLDB4OTgsMHgwMiwweDI3LDB4MDQsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjEsMHgwMiwweGUyLDB4MDAsMHhiYiwweDAwIH19LAotIHsxNiwgMHhkZGUwLCAwLCB7MHgyMiwweGUyLDB4MDgsMHhiMCwweDAyLDB4YTQsMHgwMCwweGFiLDB4MDAsMHgyMCwweGMwLDB4MGEsMHg4OCwweDgyLDB4MjMsMHgwMCB9fSwKLSB7MTYsIDB4ZGRmMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlMDAsIDAsIHsweDA4LDB4MTQsMHgwNCwweDAwLDB4OTEsMHg0MCwweDIyLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDJjIH19LAotIHsxNiwgMHhkZTEwLCAwLCB7MHhjMCwweDRiLDB4MjgsMHgyMiwweDQwLDB4MDQsMHhiMywweDAwLDB4MjAsMHhjMCwweDI4LDB4MzAsMHgwYSwweDA0LDB4MDQsMHhiMyB9fSwKLSB7MTYsIDB4ZGUyMCwgMCwgezB4MDAsMHg2MCwweGMwLDB4MDgsMHgwMCwweDAyLDB4ODQsMHgyMCwweDkzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzMCwweDAyLDB4ODIgfX0sCi0gezE2LCAweGRlMzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NjAsMHgwMCwweGRhLDB4NDAsMHhiMiwweDgwIH19LAotIHsxNiwgMHhkZTQwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGEwLDB4MDMsMHhlMCwweDA5LDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4ZGU1MCwgMCwgezB4MzIsMHg0MCwweDA4LDB4YTAsMHgwYiwweDM0LDB4MDAsMHhlYiwweDAwLDB4MzEsMHhjMCwweDBjLDB4ODAsMHgwMywweDI4LDB4ODAgfX0sCi0gezE2LCAweGRlNjAsIDAsIHsweGM3LDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTcwLCAwLCB7MHhhMCwweDE1LDB4ZDAsMHgwMCwweGVjLDB4MjAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDBiLDB4ZmMsMHgxMCwweGZmLDB4MDEsMHgzZiB9fSwKLSB7MTYsIDB4ZGU4MCwgMCwgezB4YzAsMHgwZiwweGUwLDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmNCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGRlOTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDRmLDB4YzAsMHgwMSwweGYwLDB4MDgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhkZWEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhjYywweDkwLDB4MzcsMHgyMCB9fSwKLSB7MTYsIDB4ZGViMCwgMCwgezB4MGUsMHhmMCwweDEzLDB4YmQsMHgwNCwweGQ0LDB4YzEsMHgzMywweDJjLDB4NGMsMHhkOSwweDIzLDB4MzIsMHg2MCwweGZmLDB4MjAgfX0sCi0gezE2LCAweGRlYzAsIDAsIHsweDNkLDB4ZTAsMHg0ZiwweGMxLDB4MDMsMHhiNiwweDQwLDB4Y2QsMHgwMCwweDM3LDB4ZTAsMHgwYywweGUyLDB4OGIsMHgxMCwweGMwIH19LAotIHsxNiwgMHhkZWQwLCAwLCB7MHhjZCwweDAwLDB4MzMsMHhjNiwweDBmLDB4ZDgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGVlMCwgMCwgezB4ODAsMHgxMCwweGVlLDB4MDgsMHg4YSwweDIwLDB4MjIsMHgwMCwweDA4LDB4YjcsMHgwMiwweDJkLDB4MDAsMHg4YSwweDAwLDB4YjYgfX0sCi0gezE2LCAweGRlZjAsIDAsIHsweDNjLDB4MDgsMHg5OSwweDAyLDB4MjcsMHg4NCwweGJmLDB4NjgsMHgyZSwweDgyLDB4MGIsMHgwMSwweDAyLDB4MjQsMHg0MCwweGQ5IH19LAotIHsxNiwgMHhkZjAwLCAwLCB7MHg0MiwweDIwLDB4YzAsMHg4YSwweGFjLDB4MDIsMHgyZCwweGMyLDB4ODIsMHg0OCwweGEyLDB4ZDAsMHgwYiwweDgyLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZGYxMCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4ODgsMHgwNCwweDI2LDB4ODAgfX0sCi0gezE2LCAweGRmMjAsIDAsIHsweDJhLDB4MzAsMHhjMiwweGE1LDB4ODAsMHhhOSwweDIxLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgwMiwweDAwLDB4MDAsMHhhMywweDEwIH19LAotIHsxNiwgMHhkZjMwLCAwLCB7MHgyYywweGM4LDB4MGIsMHgwMCwweDAyLDB4YzQsMHg5MCwweDgzLDB4NDIsMHgyNCwweGMxLDB4MDgsMHgwMCwweDAyLDB4NDAsMHg4OCB9fSwKLSB7MTYsIDB4ZGY0MCwgMCwgezB4YTMsMHg2MCwweGE4LDB4YzAsMHgwYiwweDAwLDB4YzIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmNTAsIDAsIHsweGMwLDB4MTUsMHhhYywweDA2LDB4OGEsMHgwMCwweDIyLDB4ZTAsMHg0OCwweGIwLDB4MDIsMHgyZSwweDAyLDB4YWIsMHg4MCwweDJlIH19LAotIHsxNiwgMHhkZjYwLCAwLCB7MHgyMCwweDRhLDB4OGMsMHgwMiwweDI2LDB4MjAsMHhiYiwweDAwLDB4NmUsMHg4MCwweDBiLDB4MzAsMHhjMiwweDQ2LDB4MDQsMHg5YiB9fSwKLSB7MTYsIDB4ZGY3MCwgMCwgezB4MGEsMHhhMiwweGMwLDB4MGEsMHg4MCwweDEyLDB4NmMsMHg0MCwweGE4LDB4MDAsMHgyYSwweGMwLDB4MGIsMHg4YywweDAyLDB4MzAgfX0sCi0gezE2LCAweGRmODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGMxLDB4MDksMHgzNiwweDYxIH19LAotIHsxNiwgMHhkZjkwLCAwLCB7MHgwZSwweDMyLDB4MDMsMHhhYiwweDIwLDB4ZjgsMHg4NCwweDNhLDB4NzgsMHgyZSwweDk4LDB4MDMsMHgyNiwweDAwLDB4ZWIsMHgwMCB9fSwKLSB7MTYsIDB4ZGZhMCwgMCwgezB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMywweGUyLDB4MDAsMHhjOSwweDQwLDB4MzYsMHhlMCwweDBjLDB4YjQsMHgwMywweDZlLDB4MDAgfX0sCi0gezE2LCAweGRmYjAsIDAsIHsweGViLDB4MDAsMHgzYSwweGMwLDB4MGYsMHg4OCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZmMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmYSwweDEzLDB4ZjgsMHgxMCwweGRjLDB4MDQsMHgyNyB9fSwKLSB7MTYsIDB4ZGZkMCwgMCwgezB4NDAsMHgwZCwweDUwLDB4NDMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQ5LDB4MDMsMHhiMCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGRmZTAsIDAsIHsweDAxLDB4M2YsMHhmMCwweDBmLDB4ZjAsMHgyMywweGIyLDB4MDAsMHhkNCwweGEwLDB4MzcsMHhjMCwweDBmLDB4YzAsMHgwYiwweGY4IH19LAotIHsxNiwgMHhkZmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MjAsMHhlYiwweDEwLDB4ZjIsMHgwMCB9fSwKLSB7MTYsIDB4ZTAwMCwgMCwgezB4MGUsMHhiNCwweDAzLDB4MjEsMHg4MCwweGM5LDB4NDAsMHgzYSwweDQ4LDB4MGYsMHg5MCwweDEzLDB4ZTEsMHgyMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGUwMTAsIDAsIHsweDNlLDB4YzAsMHgwYywweDg0LDB4MDMsMHgyNCwweDAwLDB4ZmIsMHgwMSwweDM2LDB4ZTAsMHgwYywweDc0LDB4MGIsMHg5YywweDAwIH19LAotIHsxNiwgMHhlMDIwLCAwLCB7MHhjZiwweDAwLDB4MzIsMHhlMCwweDBmLDB4ODQsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTAzMCwgMCwgezB4YzgsMHgwNSwweDFlLDB4MDAsMHg4YiwweDgwLDB4MjAsMHg0MCwweDA4LDB4YjgsMHgwMiwweDgzLDB4ODAsMHg4MSwweGEwLDB4MjIgfX0sCi0gezE2LCAweGUwNDAsIDAsIHsweDc4LDB4MGIsMHg5MSwweDgzLDB4ZTMsMHgwMCwweGJmLDB4MDAsMHgwZSwweGMxLDB4MGEsMHhiNCwweDAzLDB4NjQsMHgwNCwweGI5IH19LAotIHsxNiwgMHhlMDUwLCAwLCB7MHg1MCwweDMyLDB4YzAsMHgwYSwweGIyLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIzLDB4ZDQsMHgwYiwweDg4LDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ZTA2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDQyLDB4YTAsMHg4MCwweDIwLDB4MDAgfX0sCi0gezE2LCAweGUwNzAsIDAsIHsweDQ4LDB4MDAsMHgwMiwweDBkLDB4MDYsMHg4MCwweDgwLDB4MmEsMHhkMCwweDAzLDB4MDAsMHgwMiwweGM4LDB4MDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhlMDgwLCAwLCB7MHgyYywweGMwLDB4MDgsMHgzNiwweDAyLDB4NDAsMHgwMCwweGI5LDB4MDIsMHgyMiwweGMyLDB4OGIsMHgyNiwweDAyLDB4MGMsMHgxMCB9fSwKLSB7MTYsIDB4ZTA5MCwgMCwgezB4MDEsMHgwMiwweDI0LDB4YzAsMHg0YiwweGExLDB4MDIsMHhmOCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwYTAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDA4LDB4OGUsMHg4MCwweDIxLDB4MjEsMHgwOCwweDI4LDB4YzIsMHg5ZSwweDAwLDB4OGUsMHg4MCwweDIxIH19LAotIHsxNiwgMHhlMGIwLCAwLCB7MHg2MCwweDBiLDB4NzgsMHgwMiwweDllLDB4MjAsMHhiNywweDgyLDB4MmYsMHhhMSwweDBhLDB4NzgsMHgwMiwweDVlLDB4MDAsMHhiNSB9fSwKLSB7MTYsIDB4ZTBjMCwgMCwgezB4OTEsMHhhMSwweGUwLDB4MGIsMHgyOSwweDAyLDB4MzIsMHg0NCwweDg2LDB4ODAsMHhhNSwweGUwLDB4MGIsMHg0YywweDAyLDB4YzggfX0sCi0gezE2LCAweGUwZDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGUxLDB4MDAsMHgyMiwweDgwIH19LAotIHsxNiwgMHhlMGUwLCAwLCB7MHgwZSwweDAwLDB4MGIsMHgyNCwweDAwLDB4YzAsMHg0NCwweDI4LDB4YWQsMHgwZiwweDIwLDB4MDIsMHhjOCwweDAwLDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4ZTBmMCwgMCwgezB4MWMsMHhjMCwweDBjLDB4MDEsMHgwMywweDQ4LDB4NGMsMHhmMiwweDA0LDB4MzAsMHhjMCwweDBmLDB4MTUsMHgwMywweDgwLDB4NDAgfX0sCi0gezE2LCAweGUxMDAsIDAsIHsweGMxLDB4MDAsMHgxNCwweGM4LDB4MGYsMHgwMCwweDAzLDB4ZGEsMHgwMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTEwLCAwLCB7MHg0MCwweDFkLDB4OWMsMHg0MCwweGY3LDB4MDAsMHgzZiwweGMwLDB4OGYsMHhjMCwweDAzLDB4ZTQsMHgwMCwweGZhLDB4MDEsMHgzZiB9fSwKLSB7MTYsIDB4ZTEyMCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDA4LDB4ZmIsMHgwMCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDEsMHhmYywweDEwLDB4ZmYgfX0sCi0gezE2LCAweGUxMzAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBlLDB4ZDEsMHgwMywweGZjLDB4NDIsMHhmZSwweDgwLDB4M2IsMHhjMCwweDBmLDB4YzAsMHgwMywweGQwIH19LAotIHsxNiwgMHhlMTQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4NDAsMHhjOCwweDAwLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4ZTE1MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZWUsMHgwOCwweGNiLDB4MDAsMHgzMiwweGMwLDB4MGYsMHhhMCwweDIzLDB4ZTYsMHgwMywweGNiLDB4NGMgfX0sCi0gezE2LCAweGUxNjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweGIwLDB4MDcsMHhlOCwweDAwLDB4ZjksMHgwMCwweDE2LDB4NDAsMHgwYywweGEwLDB4MGIsMHg2YywweDAwIH19LAotIHsxNiwgMHhlMTcwLCAwLCB7MHhjZiwweDAyLDB4MzIsMHhjNSwweDBjLDB4ODAsMHgwMywweDAyLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4ODAsMHg4NCwweDA0LDB4MmQsMHhjMSwweDBiLDB4NDAsMHg0MCwweGRjLDB4MDAsMHg4NywweDA0LDB4MjEgfX0sCi0gezE2LCAweGUxOTAsIDAsIHsweGMwLDB4NGIsMHg3MCwweDEyLDB4ZmMsMHgwMSwweDhmLDB4NjAsMHgyOSwweDQwLDB4MGIsMHg3MCwweDEzLDB4OWMsMHgwMCwweGI1IH19LAotIHsxNiwgMHhlMWEwLCAwLCB7MHgwMCwweGEzLDB4NDAsMHgwYSwweDYwLDB4MDIsMHgwMCwweDAwLDB4ODQsMHgwMCwweDIxLDB4YzAsMHgwOCwweDQwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZTFiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODcsMHg4MCwweDJkLDB4YTIgfX0sCi0gezE2LCAweGUxYzAsIDAsIHsweDBiLDB4NGMsMHgxNiwweGQ2LDB4MDgsMHg5NywweDg4LDB4MjEsMHhhMCwweDRiLDB4NjgsMHgwMiwweGRlLDB4MDQsMHhhNywweDgwIH19LAotIHsxNiwgMHhlMWQwLCAwLCB7MHgyMSwweGUwLDB4MGIsMHg0OCwweDAyLDB4ZGEsMHgwNCwweGI2LDB4ODIsMHgyNSwweDYwLDB4MGEsMHhlOCwweDYyLDB4MWUsMHgwMCB9fSwKLSB7MTYsIDB4ZTFlMCwgMCwgezB4ODcsMHg4MCwweDIwLDB4ZTgsMHgwOCwweDQ4LDB4MDIsMHgwOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4OGIsMHg4MCwweDZjLDB4ZjAsMHgwYiwweDNjLDB4MDIsMHhjZSwweDQ2LDB4OWIsMHhjMCwweDIwIH19LAotIHsxNiwgMHhlMjAwLCAwLCB7MHhlNCwweDBiLDB4M2MsMHgwMiwweGNjLDB4MjAsMHhhMywweDAwLDB4MjgsMHhlMCwweDBiLDB4MzAsMHgwMiwweDhkLDB4ODAsMHhiMSB9fSwKLSB7MTYsIDB4ZTIxMCwgMCwgezB4ODAsMHgyMiwweDQ0LDB4MGEsMHgyMSwweDBhLDB4MDMsMHg4MiwweDgwLDB4ODAsMHhhMCwweGMwLDB4MDgsMHgwNiwweDBhLDB4MTIgfX0sCi0gezE2LCAweGUyMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMiwweGNlLDB4ODAsMHgzZiwweGEwIH19LAotIHsxNiwgMHhlMjMwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHhmYSwweDQwLDB4ZGUsMHhjMCwweGIzLDB4OTAsMHgwZiwweGVhLDB4MTMsMHhmOSwweDA4LDB4ZWEsMHgwNCB9fSwKLSB7MTYsIDB4ZTI0MCwgMCwgezB4MzMsMHg4MiwweDhmLDB4ZTQsMHgwMywweGZiLDB4MDgsMHhmZSwweGEwLDB4MzYsMHhhMCwweDBjLDB4YWMsMHgwYiwweDZiLDB4ODIgfX0sCi0gezE2LCAweGUyNTAsIDAsIHsweGM2LDB4YTAsMHgzMiwweDgwLDB4MmMsMHhlNCwweDAzLDB4M2EsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4OTAsMHgzZSwweDAyLDB4MGYsMHg4MCwweDgzLDB4ZTEsMHgwMCwweGU4LDB4MjAsMHgzZSB9fSwKLSB7MTYsIDB4ZTI3MCwgMCwgezB4MDMsMHgwZiwweDgyLDB4MDMsMHhlMSwweDQwLDB4ZDgsMHgwMCwweDNlLDB4MjAsMHgwZiwweDAwLDB4OTMsMHhhMCwweDQwLDB4ZjggfX0sCi0gezE2LCAweGUyODAsIDAsIHsweDAwLDB4M2UsMHgxMCwweDhmLDB4MDgsMHgwYiwweGYwLDB4MDAsMHhmYywweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhlMjkwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhlOSwweDAwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4ZTJhMCwgMCwgezB4MGYsMHg5NCwweDA3LDB4ZTYsMHgwMCwweGY5LDB4ODAsMHhiMCwweDQwLDB4MGMsMHg5NCwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGUyYjAsIDAsIHsweDMyLDB4NDAsMHgwZiwweDk0LDB4MGIsMHhhNCwweDAwLDB4NzEsMHhjMCwweDMyLDB4NDAsMHgyYywweDk0LDB4MjMsMHgyNCwweDAyIH19LAotIHsxNiwgMHhlMmMwLCAwLCB7MHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJkMCwgMCwgezB4ODAsMHgwNCwweDQ0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTgsMHgwMiwweGU2LDB4NjAsMHhiOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGUyZTAsIDAsIHsweDYwLDB4MGEsMHg5YywweDAyLDB4ZTYsMHgyNCwweGI5LDB4MDQsMHgzNiwweDQwLDB4MGIsMHg5OCwweDAwLDB4MjQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlMmYwLCAwLCB7MHg4MCwweGEyLDB4NTIsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHg0MCwweDIyLDB4NDAsMHg2OCwweDk0LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZTMwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YTksMHgwMCwweDI2LDB4NDAgfX0sCi0gezE2LCAweGUzMTAsIDAsIHsweDAzLDB4OTQsMHgwMiwweGU0LDB4MDEsMHhiOSwweDEwLDB4MjIsMHg1NSwweDA4LDB4OTAsMHgyMiwweGU0LDB4MDAsMHhiMSwweDAwIH19LAotIHsxNiwgMHhlMzIwLCAwLCB7MHgyNiwweDQwLDB4MGIsMHg5MCwweDAwLDB4MmMsMHgwOSwweGI5LDB4MDAsMHgyMiwweDYwLDB4MDgsMHg5MCwweDBhLDB4MWMsMHgwNCB9fSwKLSB7MTYsIDB4ZTMzMCwgMCwgezB4OGQsMHgwOCwweGEwLDB4NDAsMHgwOCwweDEwLDB4ODIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzNDAsIDAsIHsweDA4LDB4MDQsMHgwNiwweDAwLDB4ODEsMHgwMCwweDIwLDB4NTAsMHgwYiwweDEyLDB4NDIsMHhjNCwweDgwLDB4YjEsMHgwNCwweDIwIH19LAotIHsxNiwgMHhlMzUwLCAwLCB7MHg1MCwweDBhLDB4MTQsMHgwMiwweGM1LDB4MDAsMHhiMSwweDIyLDB4MjQsMHg0MCwweDBiLDB4MTIsMHgyMiwweDA0LDB4MDEsMHhiMSB9fSwKLSB7MTYsIDB4ZTM2MCwgMCwgezB4NDAsMHgyMCwweDUwLDB4MDgsMHgxMCwweDBhLDB4MTUsMHgwMCwweDg1LDB4NDAsMHgyOCwweDUwLDB4MDgsMHgxNCwweDBhLDB4MGEgfX0sCi0gezE2LCAweGUzNzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGU4LDB4NTAsMHgzNiwweDAwIH19LAotIHsxNiwgMHhlMzgwLCAwLCB7MHgwZiwweDg1LDB4MDIsMHhlMSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAsMHgwYywweGEwLDB4MjMsMHhlMCwweDEwLDB4ZjgsMHg1MCB9fSwKLSB7MTYsIDB4ZTM5MCwgMCwgezB4YjIsMHgxNCwweDBmLDB4YTUsMHgwMywweGExLDB4NDgsMHhmYSwweDAwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDQgfX0sCi0gezE2LCAweGUzYTAsIDAsIHsweGM0LDB4MDIsMHgzMiwweDAwLDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2IwLCAwLCB7MHg5OCwweDFkLDB4ZTUsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZDQsMHg0NCwweGY1LDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZTNjMCwgMCwgezB4NTEsMHgwZiwweGQ0LDB4MDMsMHhmNSwweDAwLDB4ZjksMHgxMCwweDNiLDB4NDAsMHgwZiwweGQxLDB4MDAsMHhmNSwweDEwLDB4ZjUgfX0sCi0gezE2LCAweGUzZDAsIDAsIHsweDQwLDB4N2YsMHg0MCwweDBmLDB4NTQsMHgyYiwweGU1LDB4MDAsMHhmOSwweDQwLDB4MzYsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU2IH19LAotIHsxNiwgMHhlM2UwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MTAsMHhiZCwweDQwLDB4MzMsMHg0MCB9fSwKLSB7MTYsIDB4ZTNmMCwgMCwgezB4MGYsMHhkYSwweDAzLDB4MzcsMHg4MCwweGNkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGU5LDB4YTAgfX0sCi0gezE2LCAweGU0MDAsIDAsIHsweDNlLDB4NDAsMHgwYywweGRlLDB4MTcsMHhhNCwweDA4LDB4ZmQsMHhjMCwweDMzLDB4NDEsMHg4ZCwweGRhLDB4MTMsMHgyNiwweGEwIH19LAotIHsxNiwgMHhlNDEwLCAwLCB7MHhmOSwweGE4LDB4MzIsMHg3OCwweDBjLDB4YjQsMHgwYiwweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweGEwLDB4MzYsMHgyMCwweDBiLDB4OGEsMHg4MiwweGEyLDB4ODAsMHgyYSwweGE4LDB4MmUgfX0sCi0gezE2LCAweGU0MzAsIDAsIHsweDAwLDB4MGIsMHg4MCwweDEyLDB4ZTAsMHgwNCwweGI4LDB4YTEsMHgyZSwweDI4LDB4NGEsMHg4ZSwweDAyLDB4MmEsMHhhMCwweGJhIH19LAotIHsxNiwgMHhlNDQwLCAwLCB7MHhjMCwweDIyLDB4MjgsMHgwOCwweDg1LDB4MDIsMHgyMSwweDA4LDB4YjgsMHhlOCwweGEyLDB4M2MsMHgwOCwweGM4LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ZTQ1MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjksMHgwMCwweDIwLDB4NGEgfX0sCi0gezE2LCAweGU0NjAsIDAsIHsweDBiLDB4MTQsMHgwMiwweDA1LDB4ODAsMHgwMSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDQsMHhhMSwweDRhIH19LAotIHsxNiwgMHhlNDcwLCAwLCB7MHgyZSwweDQyLDB4MDgsMHgxNCwweDAyLDB4ODQsMHgxMCwweGIxLDB4NjAsMHhhMCwweDRhLDB4MDksMHgxMCwweDAyLDB4NDQsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ4MCwgMCwgezB4YjUsMHgwMSwweDI5LDB4NDAsMHgxOCwweGQyLDB4MDIsMHgxMiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgyMSwweDI2LDB4NDAsMHgwYiwweDk2LDB4MDIsMHhhNCwweDEwLDB4YTksMHgwMCwweDJlIH19LAotIHsxNiwgMHhlNGEwLCAwLCB7MHg0MCwweDBiLDB4OTYsMHgxMiwweGU0LDB4MjAsMHhiOSwweDAwLDB4MmUsMHg0MSwweDBhLDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZTRiMCwgMCwgezB4MDAsMHgyMiwweDQxLDB4MDgsMHg5OCwweDIyLDB4NjQsMHgwMCwweGI5LDB4MjAsMHgyYiwweDQxLDB4MjgsMHhkNCwweDAyLDB4MDYgfX0sCi0gezE2LCAweGU0YzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDExLDB4ZTQsMHgwMCwweGY5LDB4ZTAsMHgzMiwweDU4IH19LAotIHsxNiwgMHhlNGQwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHgyNiwweDQwLDB4YzksMHg0MCwweDNlLDB4NTgsMHgwZiwweDljLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCB9fSwKLSB7MTYsIDB4ZTRlMCwgMCwgezB4NmUsMHg0MCwweDBjLDB4OWEsMHgwMiwweGE2LDB4MDAsMHhmOSwweDQ0LDB4MzIsMHg0MCwweDBkLDB4OWEsMHgwYiwweDY0LDB4ODQgfX0sCi0gezE2LCAweGU0ZjAsIDAsIHsweGY5LDB4MDAsMHhiYSwweDQwLDB4MGMsMHgxOCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTAwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDUwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDQsMHgzZSB9fSwKLSB7MTYsIDB4ZTUxMCwgMCwgezB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgwMCwweDNlLDB4NjUsMHgwZiwweDk5LDB4ODEsMHhlNCwweDUwLDB4ZjkgfX0sCi0gezE2LCAweGU1MjAsIDAsIHsweDIwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGE0LDB4ODAsMHhmOSwweDAwLDB4MzQsMHg0MCwweDBmLDB4OTIsMHgwMywweGQyIH19LAotIHsxNiwgMHhlNTMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgxMCB9fSwKLSB7MTYsIDB4ZTU0MCwgMCwgezB4MGUsMHg4NCwweDAzLDB4NjAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDA4LDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgyOCwweGU4LDB4MDQgfX0sCi0gezE2LCAweGU1NTAsIDAsIHsweDNlLDB4MDAsMHgwYywweDg0LDB4MDMsMHgyMSwweDFjLDB4ZjAsMHg0OCwweDMyLDB4MDAsMHgwYiwweDAwLDB4MDMsMHhlMCwweDAyIH19LAotIHsxNiwgMHhlNTYwLCAwLCB7MHhjMCwweDAwLDB4MzIsMHgwMCwweDBjLDB4YzAsMHgwYiwweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU3MCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhiMiwweDg4LDB4MmUsMHg4MCwweDA4LDB4ZTAsMHgwMywweDdhLDB4ODAsMHg4ZSwweDAwLDB4MmYgfX0sCi0gezE2LCAweGU1ODAsIDAsIHsweGEwLDB4MGIsMHhlOCwweDAyLDB4ZjksMHgxMCwweGJhLDB4MDAsMHgyYywweDgwLDB4MjgsMHhlNCwweDAyLDB4MjgsMHgwMCwweGJlIH19LAotIHsxNiwgMHhlNTkwLCAwLCB7MHg0MCwweDIzLDB4YjgsMHgwOCwweGU4LDB4MDIsMHhlOCwweDA0LDB4Y2EsMHgyMCwweGEyLDB4ODAsMHgwOCwweGU4LDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4ZTVhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAxLDB4YjMsMHgwMCwweDJjLDB4NDAgfX0sCi0gezE2LCAweGU1YjAsIDAsIHsweDA4LDB4YjgsMHg0MiwweDZjLDB4MDIsMHg4MywweDAwLDB4MmMsMHhlMCwweDBiLDB4MzgsMHgwMCwweGNmLDB4NDAsMHhiMywweDAwIH19LAotIHsxNiwgMHhlNWMwLCAwLCB7MHgyYywweGMwLDB4MDgsMHhiNCwweDBhLDB4MGMsMHgwMCwweGIzLDB4NDAsMHhhMiwweDgyLDB4MGEsMHgzOSwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4ZTVkMCwgMCwgezB4OTMsMHg4MCwweGEwLDB4YzAsMHgyOSwweDIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1ZTAsIDAsIHsweGEwLDB4MDEsMHgxZCwweDAwLDB4YjcsMHgwMCwweDJkLDB4NjQsMHgyOCwweDc0LDB4MDIsMHg0MCwweDAwLDB4ODcsMHgwNSwweDJkIH19LAotIHsxNiwgMHhlNWYwLCAwLCB7MHg5MCwweDBiLDB4NzQsMHgwMiwweGRjLDB4MTAsMHhiNywweDMwLDB4MmQsMHhjOCwweDA4LDB4MzQsMHgwNiwweDFjLDB4ODAsMHhiNyB9fSwKLSB7MTYsIDB4ZTYwMCwgMCwgezB4MDAsMHhhMSwweGMwLDB4MGEsMHg3MCwweDAyLDB4ZGUsMHg4MCwweDgzLDB4MDAsMHgwMSwweDAwLDB4MDksMHg2MCwweDgyLDB4MjAgfX0sCi0gezE2LCAweGU2MTAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWEsMHgwMCwweGY3LDB4ODAsMHgzZCwweDYwIH19LAotIHsxNiwgMHhlNjIwLCAwLCB7MHgwZSwweGQ4LDB4MGIsMHg1ZSwweDAwLDB4YzcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDY4LDB4MDMsMHhkZSwweDEwLDB4ZjcsMHhhOSB9fSwKLSB7MTYsIDB4ZTYzMCwgMCwgezB4N2YsMHhlOCwweDQ4LDB4NzgsMHgwMywweDFmLDB4MzAsMHhmZiwweDk0LDB4MzMsMHhhMCwweDBlLDB4NzgsMHgwMywweGNmLDB4MjQgfX0sCi0gezE2LCAweGU2NDAsIDAsIHsweGQ2LDB4ODAsMHhiMSwweGUwLDB4MGQsMHhmOCwweDQzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjUwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGJiLDB4MDAsMHgwYywweDQwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwOCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZTY2MCwgMCwgezB4MDAsMHgwZiwweDkwLDB4NDEsMHhlYywweDAwLDB4ZmIsMHg2MSwweDdlLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHhlYywweDgwLDB4ZmIgfX0sCi0gezE2LCAweGU2NzAsIDAsIHsweDQwLDB4M2YsMHg5YiwweDBjLDB4YjAsMHgwMywweGVkLDB4OTAsMHhmYSwweDAwLDB4M2MsMHgwMCwweDBlLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHhlNjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGRlLDB4MDAsMHhlZiwweDgwLDB4MzMsMHg2MCB9fSwKLSB7MTYsIDB4ZTY5MCwgMCwgezB4MGQsMHhkOCwweDAzLDB4MzYsMHg0MCwweGVmLDB4OTAsMHgzZSwweGUwLDB4MGYsMHhmOSwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAgfX0sCi0gezE2LCAweGU2YTAsIDAsIHsweDMzLDB4ZmUsMHgwYywweGZhLDB4MDMsMHhmZSwweDAwLDB4Y2YsMHg4MCwweGIzLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhmZSwweDAwIH19LAotIHsxNiwgMHhlNmIwLCAwLCB7MHhjZCwweDgwLDB4MzMsMHhlMCwweDBmLDB4YzgsMHg0MywweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4NSwweDA4LDB4MzUsMHg0MCwweDA4LDB4NzAsMHgwMywweDUyLDB4MjAsMHg4NywweDExLDB4MmMgfX0sCi0gezE2LCAweGU2ZDAsIDAsIHsweGVjLDB4MGIsMHg3MSwweDAyLDB4ZDAsMHgwMCwweGU3LDB4MDAsMHgzNSwweGM0LDB4MDgsMHg3NCwweDAyLDB4ZGMsMHg0MCwweDg3IH19LAotIHsxNiwgMHhlNmUwLCAwLCB7MHgxMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhmYywweDgwLDB4ODUsMHgwOCwweDIxLDB4MDAsMHgwYiwweDQxLDB4ODIsMHhlYSB9fSwKLSB7MTYsIDB4ZTZmMCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDAwLDB4YWYsMHgwMCwweDIzLDB4NTAgfX0sCi0gezE2LCAweGU3MDAsIDAsIHsweDA5LDB4NTAsMHgwMiwweDFjLDB4ODAsMHhhNywweDAxLDB4MjksMHhjMCwweDFiLDB4NjAsMHgwNiwweGRjLDB4NDAsMHhiNywweDEwIH19LAotIHsxNiwgMHhlNzEwLCAwLCB7MHgyMSwweGM4LDB4NGEsMHg1MiwweDAyLDB4ZGMsMHgwMCwweDgzLDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZGMsMHgxMyB9fSwKLSB7MTYsIDB4ZTcyMCwgMCwgezB4ODQsMHgwMCwweDI1LDB4YzAsMHgwYiwweDU4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3MzAsIDAsIHsweDIwLDB4MTQsMHhjYywweDAwLDB4ODEsMHg4MCwweDI0LDB4NDAsMHgwOCwweDNlLDB4MDIsMHg2ZSwweDAwLDB4ODksMHgwMCwweDJjIH19LAotIHsxNiwgMHhlNzQwLCAwLCB7MHhjMCwweDBiLDB4YjQsMHgwMiwweGNhLDB4ODAsMHhhMywweDAwLDB4MjQsMHhjMCwweDBhLDB4MDQsMHgwMiwweGVjLDB4NDAsMHg4MiB9fSwKLSB7MTYsIDB4ZTc1MCwgMCwgezB4MGEsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHgxMCwweDgwLDB4YzAsMHhhNCwweDAwLDB4MGIsMHgxYywweDAyLDB4YzggfX0sCi0gezE2LCAweGU3NjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ODQsMHgwMCwweGViLDB4ODAsMHgzMywweDQwIH19LAotIHsxNiwgMHhlNzcwLCAwLCB7MHgwZCwweDhjLDB4ODMsMHgyNiwweDAwLDB4ZTksMHhhMCwweDNlLDB4NzgsMHg4ZiwweDkwLDB4ODMsMHhlMSwweDAwLDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4ZTc4MCwgMCwgezB4MzEsMHhkMSwweDBlLDB4ODQsMHgyMywweGZjLDB4MDAsMHhjYiwweDgyLDB4MzIsMHhjMCwweDhmLDB4YjAsMHgwMiwweGZkLDB4NDAgfX0sCi0gezE2LCAweGU3OTAsIDAsIHsweGNiLDB4ODAsMHhiNiwweGMwLDB4MGYsMHhhNCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2EwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGY5LDB4MDEsMHgzZSB9fSwKLSB7MTYsIDB4ZTdiMCwgMCwgezB4NDIsMHgwZiwweDkwLDB4MDMsMHhlNSwweDU0LDB4ZTMsMHgwMCwweDNlLDB4YzgsMHgwNSwweDkzLDB4MDMsMHhlYywweDgwLDB4ZmIgfX0sCi0gezE2LCAweGU3YzAsIDAsIHsweGMxLDB4M2UsMHhjMCwweDBmLDB4MjAsMHgwMywweGNjLDB4NDgsMHhmMywweDA4LDB4M2EsMHgwMCwweDBmLDB4YTAsMHg0MywweGUwIH19LAotIHsxNiwgMHhlN2QwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhjZiwweDAwLDB4M2YsMHg0MCB9fSwKLSB7MTYsIDB4ZTdlMCwgMCwgezB4MGYsMHgzMCwweDAxLDB4MmMsMHgwYSwweGNkLDB4MTAsMHgzMywweDAwLDB4MGYsMHhkMCwweDgzLDB4MTQsMHgwMCwweGNiLDB4MDIgfX0sCi0gezE2LCAweGU3ZjAsIDAsIHsweDMzLDB4YzAsMHgwYywweGUxLDB4MDMsMHhlYywweDEwLDB4Y2QsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4MzMsMHgzYywweDAwIH19LAotIHsxNiwgMHhlODAwLCAwLCB7MHhlYSwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHg4MywweGM4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTgxMCwgMCwgezB4ODEsMHgwNCwweDZlLDB4MDAsMHg4YiwweDAwLDB4MmUsMHg0MCwweDBiLDB4YmMsMHgwMiwweDJlLDB4MDAsMHgwYiwweDAwLDB4MjIgfX0sCi0gezE2LCAweGU4MjAsIDAsIHsweDMwLDB4MGIsMHg5YywweDAyLDB4MjcsMHg4MCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MDgsMHhiOCwweDAyLDB4ZWMsMHgwMCwweDg5IH19LAotIHsxNiwgMHhlODMwLCAwLCB7MHhjMCwweDIwLDB4ZTAsMHgwOCwweGFlLDB4MDIsMHgyYywweDA4LDB4OGEsMHgwMCwweDIyLDB4MDAsMHgwOCwweGIwLDB4NDIsMHhlOCB9fSwKLSB7MTYsIDB4ZTg0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZSwweDAwLDB4OGIsMHgwNCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGU4NTAsIDAsIHsweDhiLDB4OGMsMHgwMiwweGFlLDB4MTAsMHg4OSwweDAwLDB4MjIsMHg3MCwweDBiLDB4OGMsMHgwMiwweGEyLDB4MDAsMHg4YiwweDAxIH19LAotIHsxNiwgMHhlODYwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHg4MCwweDAyLDB4ZWMsMHgxMCwweDgyLDB4ODgsMHhhMiwweDcwLDB4MDksMHhiOCwweDAyLDB4MmMsMHgwOCB9fSwKLSB7MTYsIDB4ZTg3MCwgMCwgezB4ODksMHgwMCwweDIwLDB4YzAsMHgyOCwweDgwLDB4MjIsMHhlMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ODAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4ODEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDIwLDB4MDIsMHg4MCwweDAwLDB4ODEsMHgwNCwweGEwIH19LAotIHsxNiwgMHhlODkwLCAwLCB7MHg1MCwweDRiLDB4MDAsMHgwYSwweDgwLDB4MDAsMHhhMywweDAxLDB4MmEsMHhjMSwweDIwLDB4MTAsMHgwMiwweGNjLDB4MTQsMHg4MyB9fSwKLSB7MTYsIDB4ZThhMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHgyMCwweDAyLDB4MGMsMHgwMCwweDgxLDB4MDAsMHhlMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGU4YjAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjgsMHgwMCwweGNiLDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhlOGMwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHhhYywweDgwLDB4YzksMHgwMCwweDMyLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhhNCwweDAwLDB4Y2YsMHgwMiB9fSwKLSB7MTYsIDB4ZThkMCwgMCwgezB4MzEsMHhjMCwweDBjLDB4ODAsMHgxMywweGZjLDB4MDIsMHhjZCwweDAwLDB4MzMsMHhjMCwweDJjLDB4OTAsMHgwMywweDNjLDB4MDIgfX0sCi0gezE2LCAweGU4ZTAsIDAsIHsweGU4LDB4MDAsMHhiMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGYwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMiwweGY1LDB4MDAsMHgzZCwweDQwLDB4OGYsMHhmMCwweDIzLDB4NmQsMHgwMCwweGZmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZTkwMCwgMCwgezB4MDQsMHgwZiwweGMwLDB4MDMsMHg3MCwweDFjLDB4ZmYsMHgwMSwweDNmLDB4YzAsMHg0ZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQgfX0sCi0gezE2LCAweGU5MTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4ZTAsMHgwZiwweGZjLDB4MTgsMHhmYywweDAwLDB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwMywweGU4IH19LAotIHsxNiwgMHhlOTIwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhkNywweDAyLDB4MGYsMHgzMCB9fSwKLSB7MTYsIDB4ZTkzMCwgMCwgezB4MGMsMHhmMiwweDAxLDB4N2UsMHgwNiwweDQ0LDB4MzAsMHgzZiwweDIwLDB4MGUsMHhmMCwweDAyLDB4N2MsMHg4NCwweGZkLDB4MjAgfX0sCi0gezE2LCAweGU5NDAsIDAsIHsweDI3LDB4MDgsMHgwYywweGQwLDB4MDEsMHgzNiwweDAwLDB4ZmYsMHg2MCwweDMzLDB4Y2MsMHgwYiwweGYxLDB4MTMsMHgyYywweGM0IH19LAotIHsxNiwgMHhlOTUwLCAwLCB7MHhmZiwweDMwLDB4MGYsMHhjZCwweDBjLDB4ZjQsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk2MCwgMCwgezB4ODAsMHgxMCwweGVlLDB4MDAsMHg4ZiwweGMwLDB4MmUsMHgwMCwweDA4LDB4ZmMsMHgwMiwweDJlLDB4MDAsMHg4YSwweDMwLDB4MjggfX0sCi0gezE2LCAweGU5NzAsIDAsIHsweDUyLDB4MDgsMHhmNiwweDgyLDB4M2MsMHg2OCwweGJkLDB4OTAsMHgzMiwweDM0LDB4NDgsMHg5YywweDEyLDB4MjYsMHgwMCwweGNmIH19LAotIHsxNiwgMHhlOTgwLCAwLCB7MHg0MCwweDIzLDB4Y2MsMHgwYiwweGY2LDB4MDIsMHgzZCwweDAwLDB4YmYsMHgxMCwweDJmLDB4Y2MsMHg4OCwweGY2LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZTk5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4OTMsMHgxMCwweDJjLDB4MDggfX0sCi0gezE2LCAweGU5YTAsIDAsIHsweDA5LDB4MzEsMHgwMiwweDRjLDB4MDAsMHg5YiwweDIwLDB4NjQsMHg1OCwweDAzLDB4MzEsMHg2MiwweDRjLDB4ODEsMHhhMSwweDAwIH19LAotIHsxNiwgMHhlOWIwLCAwLCB7MHgyMCwweDAwLDB4NDgsMHgxNCwweDAyLDB4NDQsMHgwMCwweDkzLDB4MzAsMHgyNCwweGMwLDB4MGIsMHgzMywweDAyLDB4OGQsMHg4NCB9fSwKLSB7MTYsIDB4ZTljMCwgMCwgezB4YjMsMHgyMCwweDZjLDB4YzAsMHgyYSwweDM2LDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5ZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDEwLDB4OWIsMHgwMiwweDJlLDB4NDEsMHgwYiwweGIwLDB4MDIsMHhhNCwweDAwLDB4OWEsMHgwMCwweDRhIH19LAotIHsxNiwgMHhlOWUwLCAwLCB7MHg2MCwweDg4LDB4YjAsMHg1MiwweDZjLDB4MDEsMHhiOSwweDAwLDB4MjYsMHgwMCwweDA4LDB4OTEsMHgyMiwweGVjLDB4MDgsMHhiYiB9fSwKLSB7MTYsIDB4ZTlmMCwgMCwgezB4MDAsMHgyNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDUsMHg2ZSwweGMxLDB4MGEsMHhiMCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGVhMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGRiLDB4MDEsMHgzZSwweDMwIH19LAotIHsxNiwgMHhlYTEwLCAwLCB7MHgyZCwweDMwLDB4MDMsMHg0NywweDYwLDB4ZDgsMHhhMCwweDE2LDB4MzgsMHg4ZiwweGIwLDB4MDMsMHg2YywweDAwLDB4NzksMHgwMiB9fSwKLSB7MTYsIDB4ZWEyMCwgMCwgezB4MzEsMHg2MCwweDBjLDB4YzgsMHgwYSwweDY2LDB4MDAsMHhiYiwweDAwLDB4YjYsMHhjMCwweDBmLDB4YjAsMHgwYiwweGFjLDB4MDAgfX0sCi0gezE2LCAweGVhMzAsIDAsIHsweGZiLDB4MDEsMHgzZSwweGMxLDB4MGUsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgxMCwweGVmLDB4MDgsMHgzZiwweDI0LDB4MGMsMHhmMCwweDAzLDB4NzYsMHgyMCwweGVlLDB4OTAsMHgzNSB9fSwKLSB7MTYsIDB4ZWE1MCwgMCwgezB4NDAsMHgwZSwweDcwLDB4MDMsMHhhYywweDAwLDB4ZmQsMHgwMCwweGJiLDB4NjQsMHgwZiwweDg4LDB4MTMsMHgzNCwweDgwLDB4Y2IgfX0sCi0gezE2LCAweGVhNjAsIDAsIHsweDAwLDB4M2IsMHhjMCwweDBmLDB4YjAsMHgwMywweDZjLDB4MDgsMHhmZiwweDAwLDB4M2UsMHhjMCwweDBkLDB4ZjAsMHgwMywweGY4IH19LAotIHsxNiwgMHhlYTcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDEsMHhmYiwweDgwLDB4MzIsMHgxMCB9fSwKLSB7MTYsIDB4ZWE4MCwgMCwgezB4MGUsMHhiMCwweDAzLDB4ZWQsMHgwMCwweGNiLDB4NTAsMHgzZSwweDQwLDB4OGMsMHhiMCwweDQzLDB4MmMsMHgxMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGVhOTAsIDAsIHsweDMyLDB4NjAsMHgwYywweDQwLDB4MGIsMHgyNiwweDAwLDB4YzMsMHgwNCwweDM2LDB4YzAsMHgwYywweDMwLDB4MDMsMHgyYywweDAwIH19LAotIHsxNiwgMHhlYWEwLCAwLCB7MHg5YiwweDAwLDB4YjAsMHhjMCwweDBjLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFiMCwgMCwgezB4YzgsMHgwNSwweDBlLDB4ODAsMHhiZiwweDA0LDB4MmEsMHg0MCwweDAwLDB4ZjUsMHgwMCwweGU2LDB4MDAsMHg4MiwweGQyLDB4MjIgfX0sCi0gezE2LCAweGVhYzAsIDAsIHsweDQwLDB4MGQsMHhmMCwweDIyLDB4M2MsMHgwMCwweDk1LDB4MDIsMHgzNiwweDQwLDB4MGEsMHg4MCwweDAyLDB4MmUsMHgwMCwweDhmIH19LAotIHsxNiwgMHhlYWQwLCAwLCB7MHgwMCwweDM3LDB4YzAsMHgwYSwweGYwLDB4NDIsMHgzYywweDAwLDB4OGYsMHgwMCwweDIzLDB4YzAsMHgyOCwweGYwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4ZWFlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZSwweDAwLDB4YjMsMHgwMCwweDIyLDB4MjAgfX0sCi0gezE2LCAweGVhZjAsIDAsIHsweDRhLDB4MzAsMHgwMCwweGNjLDB4MDAsMHg4MSwweGMwLDB4MjgsMHgwMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MTAsMHhhMSwweDAwIH19LAotIHsxNiwgMHhlYjAwLCAwLCB7MHgyOCwweDgwLDB4MTgsMHgzMCwweDIyLDB4MDQsMHgwNCwweDgzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwOCB9fSwKLSB7MTYsIDB4ZWIxMCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDYsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViMjAsIDAsIHsweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDI5LDB4YTAsMHgwOCwweDc4LDB4MDIsMHhmZSwweDIwLDB4OGQsMHg4MCwweDI5IH19LAotIHsxNiwgMHhlYjMwLCAwLCB7MHhlNSwweDViLDB4MzgsMHg0MiwweDFlLDB4NDAsMHhhMSwweDgxLDB4MjUsMHhhOCwweDA4LDB4NzksMHgwMiwweDM3LDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4ZWI0MCwgMCwgezB4ODAsMHgyNSwweGUwLDB4MGEsMHg3OCwweDBhLDB4ZGUsMHg4MSwweDg3LDB4ODAsMHgyNSwweGU1LDB4NDgsMHg3OCwweDAyLDB4YzggfX0sCi0gezE2LCAweGViNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweGIzLDB4MTAsMHgzMCwweDEyIH19LAotIHsxNiwgMHhlYjYwLCAwLCB7MHgwZSwweDMwLDB4MTIsMHhjYywweGMwLDB4YzMsMHgwMCwweDM4LDB4ODAsMHgwYywweDMxLDB4MDYsMHgwYywweDQwLDB4ZjEsMHgwMCB9fSwKLSB7MTYsIDB4ZWI3MCwgMCwgezB4MzgsMHg4MCwweDBjLDB4MzAsMHg0MywweDA0LDB4NDIsMHhjMywweDAwLDB4MzYsMHhjMCwweDBjLDB4MzIsMHgwMywweGNlLDB4YzAgfX0sCi0gezE2LCAweGViODAsIDAsIHsweGRiLDB4MDAsMHgzMCwweGMwLDB4MGMsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjkwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MTAsMHgzZCwweDg0LDB4NGYsMHhmMSwweDAzLDB4ZDAsMHg0MCwweGZjLDB4MTAsMHgzMyB9fSwKLSB7MTYsIDB4ZWJhMCwgMCwgezB4ODAsMHg1ZCwweGIxLDB4ODMsMHhmYywweDUwLDB4ZGQsMHgwYSwweDI1LDB4ODksMHgwZiwweGI4LDB4MDMsMHhkNCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweGViYjAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwMywweDNjLDB4NDAsMHhmZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHhlYmMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDIwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4ZWJkMCwgMCwgezB4MGYsMHhiNSwweDAzLDB4MjksMHgyMCwweGY5LDB4MDAsMHgzMiwweGEwLDB4MGMsMHhiMCwweDgzLDB4ZWMsMHgwMCwweDQ5LDB4YzggfX0sCi0gezE2LCAweGViZTAsIDAsIHsweGIyLDB4YzAsMHg4YywweGEwLDB4MDMsMHg2NCwweDAwLDB4ZmIsMHgwOCwweDEyLDB4ZWEsMHgwYywweGIwLDB4MGIsMHgyYywweDgwIH19LAotIHsxNiwgMHhlYmYwLCAwLCB7MHhmYiwweDIwLDB4MmUsMHhkMiwweDZjLDB4YjYsMHg0MywweGVhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWMwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDQ5LDB4MmQsMHgwMCwweDBiLDB4MzAsMHg4MiwweDEwLDB4MDEsMHhiNSwweDAyLDB4ODMgfX0sCi0gezE2LCAweGVjMTAsIDAsIHsweGMwLDB4MWEsMHg3MiwweDIyLDB4ZGQsMHg0MSwweDg1LDB4MDAsMHg2MSwweGMwLDB4MTgsMHgyMCwweDIwLDB4MTQsMHgwMCwweGJmIH19LAotIHsxNiwgMHhlYzIwLCAwLCB7MHg0MCwweDM1LDB4ZDAsMHgwZCwweDM0LDB4MDIsMHgxZCwweDIwLDB4YjcsMHgyOCwweDI1LDB4YzEsMHgwOCwweDc0LDB4ODIsMHhkMiB9fSwKLSB7MTYsIDB4ZWMzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDA0LDB4MzcsMHhhMCwweDJkLDB4MjAgfX0sCi0gezE2LCAweGVjNDAsIDAsIHsweDBiLDB4N2EsMHgxMiwweDE2LDB4MDEsMHhiMywweDgwLDB4MjEsMHhlMiwweDA4LDB4NzgsMHg0MiwweDllLDB4MDAsMHg4NSwweDgwIH19LAotIHsxNiwgMHhlYzUwLCAwLCB7MHgyMCwweGUxLDB4MTgsMHg2OCwweDAyLDB4NTYsMHgwMCwweGI3LDB4YTAsMHgyNSwweGUwLDB4MDgsMHg3YSwweDAyLDB4MWUsMHgwMCB9fSwKLSB7MTYsIDB4ZWM2MCwgMCwgezB4YjcsMHg5MCwweDJjLDB4ZTUsMHg4OCwweDdhLDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjNzAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDZjLDB4MjQsMHgxYiwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjAsMHgwMCwweDIwIH19LAotIHsxNiwgMHhlYzgwLCAwLCB7MHhmOCwweDBhLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg4MSwweDAwLDB4MjAsMHhkOCwweDE4LDB4MjAsMHgwMiwweDA0LDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4ZWM5MCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyNiwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGVjYTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzZCwweDgwIH19LAotIHsxNiwgMHhlY2IwLCAwLCB7MHgwZiwweDIwLDB4MGIsMHgyOCwweDgwLDB4ZmUsMHgwMCwweDMzLDB4YTAsMHgwYywweGEwLDB4MDMsMHhlOCwweDAyLDB4Y2EsMHgwMiB9fSwKLSB7MTYsIDB4ZWNjMCwgMCwgezB4MzIsMHg5MCwweDJjLDB4ZTQsMHgwMywweDc4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4YTAsMHgwMywweDI4LDB4MDAgfX0sCi0gezE2LCAweGVjZDAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2UwLCAwLCB7MHg0OCwweDAwLDB4ZTEsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZTAsMHg4MCwweGY4LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZWNmMCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MjMsMHhjMCwweDAwLDB4ZjgsMHgwMiwweDNjLDB4MDAsMHgwZiwweGMwLDB4ODMsMHg2MCwweDAwLDB4YjggfX0sCi0gezE2LCAweGVkMDAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgyMywweGUwLDB4MTgsMHhmOCwweDAxLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhlZDEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU2LDB4MDAsMHhmOSwweDIxLDB4MzIsMHg2MCB9fSwKLSB7MTYsIDB4ZWQyMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MmMsMHg0NCwweGY5LDB4MDAsMHhiMiwweDQwLDB4MGYsMHg5MCwweDFiLDB4MjQsMHgwMCwweGU5LDB4MDAgfX0sCi0gezE2LCAweGVkMzAsIDAsIHsweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwZiwweDEwLDB4MzMsMHgyNCwweDEwIH19LAotIHsxNiwgMHhlZDQwLCAwLCB7MHhmMSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ1MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDQwLDB4YTIsMHg0MSwweDA4LDB4OTAsMHgwMiwweDI0LDB4ODAsMHhlOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGVkNjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQxLDB4MTgsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlZDcwLCAwLCB7MHgwNCwweDJhLDB4NDEsMHgwYiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCwweDJhLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4ZWQ4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDgwLDB4YjksMHg0MiwweDYyLDB4NDggfX0sCi0gezE2LCAweGVkOTAsIDAsIHsweDI4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHhiMSwweDAwLDB4MjIsMHg0MCwweDBiLDB4MTAsMHgwMiwweDI0LDB4MTAsMHhiOSwweDAyIH19LAotIHsxNiwgMHhlZGEwLCAwLCB7MHgyZSwweDQwLDB4MDgsMHhkMCwweDAyLDB4YTQsMHgwMCwweGIxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwNCB9fSwKLSB7MTYsIDB4ZWRiMCwgMCwgezB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkYzAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAwLDB4YjEsMHgyMCwweDYwLDB4NDAsMHgwOCwweDEyLDB4MDIsMHgwNCwweDAwLDB4YTEsMHgyMCwweDIwIH19LAotIHsxNiwgMHhlZGQwLCAwLCB7MHg0MCwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHg5MSwweDIwLDB4MmQsMHg2OCwweDA4LDB4NTIsMHgxMiwweDA0LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4ZWRlMCwgMCwgezB4MjgsMHgyOCwweDRhLDB4MDksMHgxMiwweDgyLDB4NDQsMHhhMCwweGIxLDB4MmMsMHgyOCwweDRhLDB4MGEsMHgxMiwweDgyLDB4MDIgfX0sCi0gezE2LCAweGVkZjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDE0IH19LAotIHsxNiwgMHhlZTAwLCAwLCB7MHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHg1MCwweDMyLDB4MTQsMHgwZiwweDg1LDB4MDMsMHgwMSwweDQwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4ZWUxMCwgMCwgezB4MmUsMHgwMCwweDI4LDB4YzAsMHgwMywweGEwLDB4MDAsMHhmOCwweDI0LDB4MzAsMHgwOCwweDBmLDB4ODIsMHgyMywweDIwLDB4ODAgfX0sCi0gezE2LCAweGVlMjAsIDAsIHsweGY4LDB4MjAsMHgzMiwweDA4LDB4MGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTMwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHgwOCwweGY5LDB4MTAsMHgzZiwweDQwLDB4OGYsMHg5MSwweDEzLDB4ZTQsMHgwMCwweGVkLDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4ZWU0MCwgMCwgezB4NTAsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4YTUsMHgxMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDA0LDB4ZjkgfX0sCi0gezE2LCAweGVlNTAsIDAsIHsweDI4LDB4M2UsMHg0YiwweDBiLDB4OTIsMHhhMywweGU0LDB4YTAsMHhlOSwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHhlZTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY0LDB4MDAsMHhjZCwweDAwLDB4MzMsMHg0MCB9fSwKLSB7MTYsIDB4ZWU3MCwgMCwgezB4ODAsMHhkMCwweDAxLDB4ZjQsMHgwMCwweGE1LDB4MDAsMHgyNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjYsMHgwMCwweGYxLDB4ODggfX0sCi0gezE2LCAweGVlODAsIDAsIHsweDNlLDB4NjgsMHgwZCwweDk4LDB4ODMsMHg0NCwweDAwLDB4YzksMHhjMCwweDNhLDB4NDAsMHgwYywweDk4LDB4MDMsMHgyNCwweDA4IH19LAotIHsxNiwgMHhlZTkwLCAwLCB7MHhmOSwweGEwLDB4MzIsMHg3OCwweDBmLDB4OWEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDIsMHg4OCwweDAwLDB4YTIsMHgwMCwweDA4LDB4ODAsMHgwMiwweGUwLDB4MDAsMHgwYSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGVlYjAsIDAsIHsweDAwLDB4MGIsMHg4MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4NDAsMHgyZSwweDE0LDB4MDgsMHg4MCwweDQzLDB4MzAsMHgwMCwweDg4IH19LAotIHsxNiwgMHhlZWMwLCAwLCB7MHhhMCwweDIyLDB4MmEsMHgwYSwweDhhLDB4NDIsMHhhMCwweDA1LDB4YjgsMHg0MiwweDMyLDB4MzgsMHgwYiwweDgwLDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4ZWVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAzLDB4OTEsMHgwMCwweDI0LDB4NDAgfX0sCi0gezE2LCAweGVlZTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweGM0LDB4MTEsMHhiMSwweDA0LDB4MjAsMHg0MSwweDFiLDB4MTAsMHgyMiwweDQ1LDB4MDAsMHhiNSwweDAwIH19LAotIHsxNiwgMHhlZWYwLCAwLCB7MHgyNSwweDQwLDB4MDksMHg1MCwweDAyLDB4NTQsMHgwMSwweDgxLDB4NDAsMHgyYywweDQwLDB4MDksMHgxNCwweDkyLDB4NDQsMHgwMCB9fSwKLSB7MTYsIDB4ZWYwMCwgMCwgezB4YjEsMHg0MCwweDI0LDB4NGMsMHgwYiwweDE0LDB4MGEsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmMTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4OTksMHgwMCwweDI0LDB4NDIsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAxLDB4OTksMHgyMCwweDI2IH19LAotIHsxNiwgMHhlZjIwLCAwLCB7MHg0MCwweGNiLDB4OTAsMHgwMiwweDY0LDB4MDAsMHhiYiwweDAwLDB4MmYsMHg0MSwweDBhLDB4ZDAsMHgwMiwweDM0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4ZWYzMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGIsMHgxMCwweDAyLDB4ZTQsMHgwMCwweDMxLDB4MDAsMHg2MiwweDQwLDB4MGIsMHg5MCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGVmNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4YzQsMHgwMCwweGQ5LDB4MDEsMHgzNiwweDUwIH19LAotIHsxNiwgMHhlZjUwLCAwLCB7MHgyZiwweDkwLDB4MDMsMHhlNiwweDYwLDB4ZjksMHg4MCwweDM2LDB4NTIsMHgwYiwweDkwLDB4MGEsMHg2NCwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZWY2MCwgMCwgezB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4MDIsMHgwOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4MDAgfX0sCi0gezE2LCAweGVmNzAsIDAsIHsweGI5LDB4MDAsMHhiNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjgwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGUxLDB4MDAsMHgzYSwweDQxLDB4MGMsMHg5MCwweDIzLDB4ZTYsMHgyMCwweGU5LDB4MDAsMHhiYSB9fSwKLSB7MTYsIDB4ZWY5MCwgMCwgezB4NzAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZCwweDEwLDB4MTMsMHhhNywweDAwLDB4ZjkgfX0sCi0gezE2LCAweGVmYTAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDBlLDB4OTAsMHg0MywweGE0LDB4MDgsMHhmOSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH19LAotIHsxNiwgMHhlZmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MjAsMHhmOCwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4ZWZjMCwgMCwgezB4MGYsMHg4MCwweDgzLDB4MjEsMHgwMCwweGYwLDB4MDAsMHgzYSwweDExLDB4MDksMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDEgfX0sCi0gezE2LCAweGVmZDAsIDAsIHsweDMwLDB4MDEsMHgwYywweDgwLDB4MDMsMHhiMCwweDAwLDB4ZDAsMHgwMCwweDM0LDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMCwweDAwIH19LAotIHsxNiwgMHhlZmUwLCAwLCB7MHhjOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhiZSwweDAwLDB4MjIsMHg4MCwweDAzLDB4ZTgsMHgwMiwweDFhLDB4MDgsMHhiZSwweDQ4LDB4MjIgfX0sCi0gezE2LCAweGYwMDAsIDAsIHsweDgwLDB4MGEsMHhhMCwweDAzLDB4YjgsMHgwMCwweGNhLDB4MDgsMHgyMiwweDgwLDB4MGYsMHhhNCwweDAyLDB4MDgsMHgwMCwweDhhIH19LAotIHsxNiwgMHhmMDEwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHg4ZCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ZGEsMHgwMCwweDJhLDB4ODEsMHgwOCwweGEwLDB4MDIsMHg4YSB9fSwKLSB7MTYsIDB4ZjAyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0NCwweDAwLDB4YjMsMHgwMCwweDIwLDB4NDAgfX0sCi0gezE2LCAweGYwMzAsIDAsIHsweDBiLDB4MzAsMHgwMiwweDA4LDB4MDAsMHhiMCwweDY0LDB4NjgsMHhjMSwweDA4LDB4YjAsMHgyMiwweGNjLDB4MGMsMHg5MywweDgwIH19LAotIHsxNiwgMHhmMDQwLCAwLCB7MHgwMCwweGMwLDB4NDgsMHgzNiwweDAyLDB4ODgsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDA2LDB4MGMsMHgwMSB9fSwKLSB7MTYsIDB4ZjA1MCwgMCwgezB4YTMsMHgwMiwweDJjLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwNjAsIDAsIHsweGEwLDB4MDEsMHgxNCwweDA4LDB4YjUsMHgwMCwweDIxLDB4NDAsMHgwYiwweDM4LDB4ODIsMHgxYywweDIxLDB4YjcsMHgwMCwweDIzIH19LAotIHsxNiwgMHhmMDcwLCAwLCB7MHhlOCwweDRhLDB4NzIsMHgyNiwweDllLDB4NDAsMHg4ZiwweDgxLDB4YWIsMHg0MCwweDQyLDB4NzAsMHg1MiwweDM4LDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4ZjA4MCwgMCwgezB4MjIsMHgyMCwweGM0LDB4NDksMHgzMSwweDAyLDB4MWUsMHgwYSwweGI3LDB4MjIsMHgyZCwweGU4LDB4MDgsMHg3MiwweDAyLDB4YTggfX0sCi0gezE2LCAweGYwOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTIsMHgwMCwweGY2LDB4ODAsMHgyMSwweGUwIH19LAotIHsxNiwgMHhmMGEwLCAwLCB7MHgwYiwweDc4LDB4MGIsMHgxZSwweDAwLDB4YjQsMHg4MiwweDNiLDB4ZTgsMHg0YywweDdjLDB4MTMsMHhmZSwweDAyLDB4OTcsMHg4MCB9fSwKLSB7MTYsIDB4ZjBiMCwgMCwgezB4MzMsMHhhMCwweDA4LDB4MzgsMHgwMywweDlhLDB4MDAsMHhmNywweDg4LDB4MzUsMHhlMiwweDBjLDB4NzgsMHhlMywweDBlLDB4MDAgfX0sCi0gezE2LCAweGYwYzAsIDAsIHsweGUzLDB4ZTgsMHgzNCwweGY4LDB4MGMsMHgzYywweDIzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGQwLCAwLCB7MHgwOCwweDFkLDB4YTgsMHgwNCwweGYxLDB4MDAsMHgzZSwweDQyLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHhiZSB9fSwKLSB7MTYsIDB4ZjBlMCwgMCwgezB4Y2MsMHgxZSwweGI2LDB4MDcsMHhlZCwweDgwLDB4ZmIsMHgwMCwweDM2LDB4MDAsMHgwZiwweGIwLDB4NDMsMHg2OCwweDAwLDB4Y2IgfX0sCi0gezE2LCAweGYwZjAsIDAsIHsweDMwLDB4M2UsMHhkOCwweDBmLDB4YjYsMHgwYiwweGVkLDB4NDAsMHhjYiwweDAwLDB4M2EsMHhjMCwweDJmLDB4YjYsMHgwMywweGMyIH19LAotIHsxNiwgMHhmMTAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGYyLDB4NDAsMHhmYiwweDkxLDB4M2QsMHg0YyB9fSwKLSB7MTYsIDB4ZjExMCwgMCwgezB4ODAsMHhmOCwweDAzLDB4ZGUsMHg0MCwweGM2LDB4ODAsMHgxYiwweGYwLDB4NGYsMHhmZCwweDA3LDB4ZmYsMHgwMCwweGNkLDB4ODAgfX0sCi0gezE2LCAweGYxMjAsIDAsIHsweDMzLDB4ZTAsMHgwYywweDY4LDB4MDMsMHhiYSwweDAwLDB4ZmYsMHg4MCwweDMzLDB4ZTAsMHgwNywweGY4LDB4MDMsMHgzZiwweDEwIH19LAotIHsxNiwgMHhmMTMwLCAwLCB7MHhjZiwweDgwLDB4M2YsMHhlMCwweDBjLDB4ZmMsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE0MCwgMCwgezB4YTgsMHgxMSwweDkwLDB4MDAsMHhiNSwweGMwLDB4MmQsMHg0MCwweDA4LDB4NjIsMHgwMiwweGRjLDB4MjAsMHhkNiwweDAyLDB4MjEgfX0sCi0gezE2LCAweGYxNTAsIDAsIHsweGM4LDB4OGYsMHg3MCwweDAyLDB4ZGMsMHg4MSwweGI1LDB4MDAsMHg4MSwweDQ0LDB4MGQsMHg2MSwweDIyLDB4MTgsMHgwNCwweGI3IH19LAotIHsxNiwgMHhmMTYwLCAwLCB7MHgwMCwweDM1LDB4YzAsMHgwYiwweDcwLDB4MDIsMHhiYywweDAwLDB4YTcsMHgwMSwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDMsMHhlYSB9fSwKLSB7MTYsIDB4ZjE3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAxLDB4YjYsMHgwMSwweDJmLDB4YzAgfX0sCi0gezE2LCAweGYxODAsIDAsIHsweDE4LDB4NzAsMHgwMiwweGRjLDB4MGEsMHg5NiwweDEwLDB4MjksMHhjMSwweDRiLDB4NzAsMHgwNiwweGRjLDB4MTAsMHg4NSwweDAwIH19LAotIHsxNiwgMHhmMTkwLCAwLCB7MHgyNSwweDgwLDB4MDgsMHg2MCwweDgyLDB4MWEsMHgyMCwweGEzLDB4MDAsMHgyNSwweGMwLDB4MGIsMHgzMSwweDAyLDB4NWMsMHg0MCB9fSwKLSB7MTYsIDB4ZjFhMCwgMCwgezB4ODcsMHgwMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxYjAsIDAsIHsweDIwLDB4MTQsMHhjOCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAsMHg4OCwweDIwLDB4MDIsMHhlZCwweDAwLDB4OGEsMHg2MCwweDIwIH19LAotIHsxNiwgMHhmMWMwLCAwLCB7MHhjMCwweDBhLDB4MzAsMHgwMiwweGNjLDB4MDQsMHhiMSwweDAwLDB4MjQsMHgwMCwweDI4LDB4MjQsMHgwMiwweDBhLDB4MDAsMHgzMyB9fSwKLSB7MTYsIDB4ZjFkMCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MGIsMHhiMCwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MDAsMHgyYywweGMwLDB4ODgsMHgzMCwweDAyLDB4ODggfX0sCi0gezE2LCAweGYxZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTAsMHgwMCwweGZiLDB4MDAsMHgzZSwweGM2IH19LAotIHsxNiwgMHhmMWYwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhlNSwweDAwLDB4MDksMHhjOCwweGFiLDB4ZTIsMHgwYiwweGYwLDB4MDIsMHhmYywweDAwLDB4NGEsMHgwMCB9fSwKLSB7MTYsIDB4ZjIwMCwgMCwgezB4MzYsMHhjMCwweDA4LDB4OTAsMHgwMywweGE2LDB4MDAsMHhmZiwweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwMywweDdjLDB4MDAgfX0sCi0gezE2LCAweGYyMTAsIDAsIHsweDhmLDB4MDAsMHgyZiwweGMwLDB4MjgsMHhmMCwweDAyLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjIwLCAwLCB7MHg4MCwweDAwLDB4ZTEsMHgwMCwweGZhLDB4MDEsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4NDAsMHgzZSB9fSwKLSB7MTYsIDB4ZjIzMCwgMCwgezB4YzAsMHgwNywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmEsMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MjMsMHhlNSwweDAwLDB4ZmIgfX0sCi0gezE2LCAweGYyNDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCwweDBmLDB4YjAsMHgyMywweGUwIH19LAotIHsxNiwgMHhmMjUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhmYywweDIwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4ZjI2MCwgMCwgezB4MGMsMHhjOCwweDAzLDB4ZmMsMHgyMCwweGNkLDB4ODEsMHhiMywweGMyLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGNhLDB4MDAgfX0sCi0gezE2LCAweGYyNzAsIDAsIHsweDNjLDB4ODAsMHgwYywweGQwLDB4ODIsMHgzNiwweDAxLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDA4IH19LAotIHsxNiwgMHhmMjgwLCAwLCB7MHhjZiwweDA0LDB4M2EsMHhjMCwweDVjLDB4YjAsMHgwMywweGMwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI5MCwgMCwgezB4ODEsMHgwNCwweDYyLDB4MDQsMHhiOCwweDQwLDB4MmMsMHg2MCwweDA4LDB4ODksMHgwMiwweGVlLDB4ODAsMHhhOSwweDYwLDB4MmEgfX0sCi0gezE2LCAweGYyYTAsIDAsIHsweGMwLDB4MGIsMHhiMCwweDAzLDB4OGMsMHgwMCwweGFhLDB4NDAsMHgyZSwweDAwLDB4MDgsMHgxMCwweDAyLDB4MjYsMHg4MSwweGViIH19LAotIHsxNiwgMHhmMmIwLCAwLCB7MHgwMCwweDI2LDB4YzAsMHg4YiwweGIwLDB4MTMsMHg2YywweDAwLDB4ZGIsMHgwMCwweDJlLDB4YzAsMHgzZCwweGIwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZjJjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMywweDAwLDB4YmIsMHgwMywweDJlLDB4YzggfX0sCi0gezE2LCAweGYyZDAsIDAsIHsweDA5LDB4YjAsMHgwMiwweGVlLDB4MDAsMHg4YiwweDEwLDB4MjYsMHhjMCwweDBiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhhOCwweDAwIH19LAotIHsxNiwgMHhmMmUwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHg4OCwweDIyLDB4YTQsMHg4MCwweGJiLDB4MDAsMHgyZSwweGMwLDB4NGIsMHhiMCwweDIyLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4ZjJmMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzMDAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4YjIsMHgwMCwweDJlLDB4YzAsMHgyOSwweDI4LDB4MDIsMHhlYywweDAxLDB4YTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhmMzEwLCAwLCB7MHhjMCwweDA5LDB4MzAsMHgwMiwweGNjLDB4MDAsMHhhMCwweDAwLDB4MmMsMHg0MCwweDA4LDB4MDAsMHg0MiwweDg0LDB4MDAsMHg5MyB9fSwKLSB7MTYsIDB4ZjMyMCwgMCwgezB4MDAsMHg2YywweGMwLDB4MGIsMHgzMCwweDA2LDB4NGQsMHgwMCwweDkzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGYzMzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGY4LDB4MjAsMHgyZiwweGMwIH19LAotIHsxNiwgMHhmMzQwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4Y2IsMHgwMCwweDMzLDB4YzAsMHgwYiwweGYwLDB4MDMsMHhmYywweDE4LDB4ZTgsMHgwMCB9fSwKLSB7MTYsIDB4ZjM1MCwgMCwgezB4MmUsMHg4MCwweDA4LDB4ODAsMHgwMywweGE0LDB4MDAsMHhiZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweDNkLDB4MTEgfX0sCi0gezE2LCAweGYzNjAsIDAsIHsweGNmLDB4MDMsMHgzZSwweGMxLDB4NWQsMHhmMCwweDIzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzcwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMCwweGZjLDB4MTAsMHgzZiwweDQwLDB4MGUsMHhlMCwweDAzLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZjM4MCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MDMsMHhiYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgyZiwweGMwLDB4MDMsMHg3NCwweDAwLDB4ZWYgfX0sCi0gezE2LCAweGYzOTAsIDAsIHsweDAwLDB4MjcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MTgsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhmM2EwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGZjLDB4ODgsMHg5YywweDI5LDB4M2YsMHgwOCB9fSwKLSB7MTYsIDB4ZjNiMCwgMCwgezB4MGYsMHhkMiwweDgzLDB4ZWMsMHgwMCwweGZmLDB4MDgsMHgzZiwweDI4LDB4MGYsMHhjYSwweDAzLDB4M2MsMHg0MSwweGNmLDB4MjAgfX0sCi0gezE2LCAweGYzYzAsIDAsIHsweDczLDB4MmMsMHgwYywweGMwLDB4MDMsMHgzMCwweDIwLDB4Y2YsMHg2MCwweDMzLDB4ZDgsMHgwZiwweDc4LDB4MDMsMHgzZiwweDgwIH19LAotIHsxNiwgMHhmM2QwLCAwLCB7MHhkZCwweDkyLDB4MzMsMHhjOCwweDBmLDB4NTAsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNlMCwgMCwgezB4ODAsMHgxMCwweGU1LDB4NDAsMHg4OCwweDQwLDB4MmUsMHgwNCwweDhiLDB4OTQsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MGUgfX0sCi0gezE2LCAweGYzZjAsIDAsIHsweDdmLDB4OGYsMHg5ZSwweDgzLDB4NjUsMHg4MiwweGNmLDB4NjgsMHgzZSwweDUwLDB4OGQsMHgwNCwweDkyLDB4MmYsMHgwNCwweGQzIH19LAotIHsxNiwgMHhmNDAwLCAwLCB7MHg0MCwweDc0LDB4ZGMsMHgwZCwweGEyLDB4MDIsMHgyMCwweDQwLDB4ODksMHgwMCwweDIyLDB4ZjAsMHgwYiwweDk4LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZjQxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjOCwweDA5LDB4YTAsMHg4NSwweDJjLDB4MDEgfX0sCi0gezE2LCAweGY0MjAsIDAsIHsweDBiLDB4MDAsMHgxMCwweGNjLDB4NDAsMHhhMiwweDA4LDB4MmMsMHgwMCwweGRiLDB4MTEsMHgwMiwweDg5LDB4MDAsMHg5MywweDMwIH19LAotIHsxNiwgMHhmNDMwLCAwLCB7MHgyMCwweDA1LDB4MDgsMHgxMywweDAyLDB4ODAsMHgwOCwweGEzLDB4NjAsMHg2MCwweGMwLDB4MGEsMHhiMCwweDgyLDB4MDgsMHg4NCB9fSwKLSB7MTYsIDB4ZjQ0MCwgMCwgezB4ODEsMHgyMCwweDIwLDB4ZDAsMHgwYiwweDEwLDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0NTAsIDAsIHsweGMwLDB4MTUsMHhhNCwweDEyLDB4ODgsMHg4MCwweDZlLDB4MjAsMHgwYiwweDg4LDB4ODIsMHhlZSwweDAwLDB4YmEsMHg4MSwweDJlIH19LAotIHsxNiwgMHhmNDYwLCAwLCB7MHg2MCwweDVhLDB4OTgsMHgwMiwweGEyLDB4MDAsMHg4YiwweDAwLDB4MmEsMHg2MCwweDA4LDB4MTEsMHgxYSwweDJjLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4ZjQ3MCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiOCwweDBhLDB4MjgsMHgwMCwweDgxLDB4MjAsMHgwMiwweGMwLDB4MGIsMHg5MCwweDAyLDB4YjAgfX0sCi0gezE2LCAweGY0ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZWQsMHgwMCwweGQ5LDB4ODAsMHgzZSwweDIwIH19LAotIHsxNiwgMHhmNDkwLCAwLCB7MHg0ZiwweDk4LDB4MDAsMHhlYiwweDIwLDB4ZmIsMHhlMCwweDJlLDB4NjAsMHgwYiwweDhjLDB4NjIsMHhhZSwweDIwLDB4OGIsMHgwMCB9fSwKLSB7MTYsIDB4ZjRhMCwgMCwgezB4MjIsMHg2MCwweDA4LDB4YmMsMHgwMywweGEwLDB4MjAsMHhlYiwweDAwLDB4MjIsMHhjMSwweDBhLDB4MTgsMHgwYiwweDI1LDB4MDAgfX0sCi0gezE2LCAweGY0YjAsIDAsIHsweGQ5LDB4MDAsMHhiMiwweGMwLDB4MGYsMHg5MCwweDBiLDB4OTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGMwLCAwLCB7MHhlMCwweDAxLDB4OTQsMHg4OCwweGZmLDB4MDAsMHgzZiwweDAxLDB4MGYsMHhkMCwweDAxLDB4ZjAsMHgwOCwweGRkLDB4MDEsMHgzZiB9fSwKLSB7MTYsIDB4ZjRkMCwgMCwgezB4NDIsMHgwNywweDQwLDB4MDMsMHg1YywweDAwLDB4YWYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGY4LDB4MDAsMHhmMCwweDAwLDB4ZGYgfX0sCi0gezE2LCAweGY0ZTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgyMywweGY0LDB4NTAsMHhmZCwweDgwLDB4M2YsMHhjMCwweDBmLDB4ZDAsMHgwMywweDc4IH19LAotIHsxNiwgMHhmNGYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGFjLDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ZjUwMCwgMCwgezB4MGYsMHg5NCwweDAzLDB4YTgsMHgyMCwweGNhLDB4NDAsMHgzYSwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZWEsMHgwOCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGY1MTAsIDAsIHsweDNhLDB4MDAsMHg0YywweGY2LDB4MjMsMHgyYywweDMwLDB4Y2IsMHgwMCwweDM2LDB4YzAsMHgwZCwweDkwLDB4MDMsMHhhMSwweDAyIH19LAotIHsxNiwgMHhmNTIwLCAwLCB7MHhkOSwweDAwLDB4YmEsMHhjMCwweDBmLDB4OTgsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjUzMCwgMCwgezB4YzgsMHgwNSwweDI0LDB4MDAsMHg4YSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTUsMHgwMiwweGUwLDB4MDgsMHg4OCwweDgwLDB4MjIgfX0sCi0gezE2LCAweGY1NDAsIDAsIHsweDcwLDB4OGYsMHg4YywweDAyLDB4ZTAsMHgwMCwweGJmLDB4MDIsMHgyMCwweDAwLDB4MDgsMHhiOCwweDAyLDB4MGUsMHgwMCwweGRmIH19LAotIHsxNiwgMHhmNTUwLCAwLCB7MHgwMCwweDIzLDB4ZGQsMHgwOCwweDk4LDB4ODIsMHgyYSwweDAwLDB4ODksMHg4MCwweDIzLDB4YzAsMHgwYiwweDUwLDB4MWEsMHgzMiB9fSwKLSB7MTYsIDB4ZjU2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0NCwweDAwLDB4ODMsMHgwNSwweDI0LDB4NDEgfX0sCi0gezE2LCAweGY1NzAsIDAsIHsweDA5LDB4MTAsMHgwMiwweGNlLDB4MDAsMHg4MywweDkwLDB4MmMsMHg4MCwweDFiLDB4MjQsMHg4MiwweGNjLDB4MDAsMHhiYiwweDAwIH19LAotIHsxNiwgMHhmNTgwLCAwLCB7MHgyYywweDgwLDB4MDgsMHgwNCwweDA4LDB4MDQsMHgwMSwweDhiLDB4MDAsMHgyMiwweGMwLDB4MjgsMHgxMiwweDAyLDB4NmMsMHg4MCB9fSwKLSB7MTYsIDB4ZjU5MCwgMCwgezB4ODEsMHg0OCwweDI0LDB4YzQsMHgwYiwweDEwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1YTAsIDAsIHsweDIwLDB4MDEsMHgzZSwweDQyLDB4ODYsMHg4MCwweDJkLDB4NjAsMHgwYiwweDY4LDB4MDIsMHhmNiwweDkwLDB4OGQsMHg4MCwweDIxIH19LAotIHsxNiwgMHhmNWIwLCAwLCB7MHgyMiwweDBiLDB4NTgsMHgwMiwweGQ3LDB4NDAsMHhiNywweDkwLDB4MjEsMHhlMCwweDA4LDB4NDksMHg5MiwweDFlLDB4NTMsMHg5NyB9fSwKLSB7MTYsIDB4ZjVjMCwgMCwgezB4ODEsMHgyMSwweGUwLDB4NDgsMHhjOCwweDBhLDB4NTIsMHgyMiwweDg1LDB4ODgsMHgyNSwweGUwLDB4MGIsMHg1OCwweDAyLDB4MDggfX0sCi0gezE2LCAweGY1ZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgzLDB4MDAsMHgzNCwweGMwIH19LAotIHsxNiwgMHhmNWUwLCAwLCB7MHgwZiwweDAwLDB4MDMsMHhjZSwweDIwLDB4YzMsMHgzMCwweDdjLDB4OTQsMHgwYiwweDM0LDB4ODMsMHhjYywweDE0LDB4ZjMsMHgwMiB9fSwKLSB7MTYsIDB4ZjVmMCwgMCwgezB4M2MsMHg4MCwweDBjLDB4MDQsMHgwMywweDA0LDB4NjAsMHhjMywweDAwLDB4YjAsMHhjMCwweDBjLDB4MTAsMHgwMywweGVjLDB4MDAgfX0sCi0gezE2LCAweGY2MDAsIDAsIHsweGM5LDB4MDAsMHgzYywweGM0LDB4MGYsMHgxMSwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjEwLCAwLCB7MHg0MCwweDFkLDB4OWMsMHgwMCwweGVlLDB4MDEsMHgzZiwweGMwLDB4NGYsMHhlMSwweDAzLDB4ZDQsMHg0MCwweGY1LDB4MTYsMHg3YSB9fSwKLSB7MTYsIDB4ZjYyMCwgMCwgezB4YzAsMHg0ZSwweGYwLDB4MDMsMHhmNCwweDEwLDB4MzcsMHgwNSwweDNkLDB4YzAsMHgwZiwweGMwLDB4MGIsMHhkYywweDQwLDB4ZmYgfX0sCi0gezE2LCAweGY2MzAsIDAsIHsweDAwLDB4M2IsMHhjMiwweDBlLDB4ZDAsMHgwNywweGJjLDB4MDIsMHhlZiwweDAwLDB4M2IsMHhjNiwweDBmLDB4ZDAsMHgwMywweGQwIH19LAotIHsxNiwgMHhmNjQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGY0LDB4MDAsMHhkZCwweDg0LDB4MzMsMHg4MCB9fSwKLSB7MTYsIDB4ZjY1MCwgMCwgezB4MDQsMHhmMCwweDAzLDB4NmMsMHgwMiwweGNiLDB4MDIsMHg3ZSwweGMwLDB4MWYsMHhhMCwweDUzLDB4ZWMsMHgwMCwweGNiLDB4MjAgfX0sCi0gezE2LCAweGY2NjAsIDAsIHsweDM0LDB4NDAsMHgwYywweGQwLDB4MGIsMHgyMCwweDEwLDB4ZWIsMHgwMCwweDFlLDB4ZTAsMHgwZiwweDMwLDB4MGIsMHgyYywweDAwIH19LAotIHsxNiwgMHhmNjcwLCAwLCB7MHhjMSwweDAwLDB4MzIsMHhjMCwweDBmLDB4OTEsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHg4MCwweDA4LDB4NjAsMHgwMCwweDE0LDB4MDAsMHg4NSwweDAwLDB4MmQgfX0sCi0gezE2LCAweGY2OTAsIDAsIHsweDgwLDB4MGIsMHg3MCwweDUyLDB4ZDQsMHgwNCwweDgzLDB4MjgsMHgyOSwweGMwLDB4MjgsMHg1MCwweDAzLDB4NTAsMHgwMCwweDg3IH19LAotIHsxNiwgMHhmNmEwLCAwLCB7MHg0MCwweDI1LDB4YzgsMHgwZiwweDYwLDB4MDIsMHgwNCwweDAwLDB4YTcsMHgwMCwweDNkLDB4YzgsMHgwYiwweDUyLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4ZjZiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4OTUsMHg4MCwweDIxLDB4ZTAgfX0sCi0gezE2LCAweGY2YzAsIDAsIHsweDA5LDB4MzgsMHgwMiwweDFlLDB4MTEsMHhhNywweDgwLDB4MmQsMHhmMCwweDBiLDB4NzgsMHg1MiwweGNlLDB4MGEsMHg5NywweDk1IH19LAotIHsxNiwgMHhmNmQwLCAwLCB7MHgyMSwweGUwLDB4MTksMHg1YywweDAyLDB4MGUsMHgwMCwweGE3LDB4ODAsMHgyOSwweGM4LDB4MGIsMHhmOCwweDAyLDB4MWUsMHgyMCB9fSwKLSB7MTYsIDB4ZjZlMCwgMCwgezB4OGQsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDU4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2ZjAsIDAsIHsweDQ4LDB4MTQsMHhjYywweDAwLDB4ODIsMHhlMCwweGEwLDB4ZTgsMHgyOSwweDMwLDB4MDYsMHgwZSwweDUwLDB4YWIsMHg4MCwweDJjIH19LAotIHsxNiwgMHhmNzAwLCAwLCB7MHhmMCwweDBiLDB4MzEsMHg0MiwweGNjLDB4MDAsMHg5MywweDAwLDB4MjgsMHhjNCwweDA5LDB4OTgsMHgwMiwweDRjLDB4MjgsMHg4MyB9fSwKLSB7MTYsIDB4ZjcxMCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MGEsMHhiMCwweDAyLDB4MGQsMHgwMCwweGEyLDB4NTgsMHgyOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGY3MjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHgwMCwweGRlLDB4ODAsMHgzMSwweGEwIH19LAotIHsxNiwgMHhmNzMwLCAwLCB7MHgwOSwweGUyLDB4MGIsMHg3OCwweDA0LDB4ZWUsMHhhNCwweDJmLDB4YTQsMHg4YiwweGVjLDB4MDIsMHhkOCwweDAwLDB4ZGEsMHgwMCB9fSwKLSB7MTYsIDB4Zjc0MCwgMCwgezB4MjcsMHg4MSwweDBkLDB4ZWMsMHgwNiwweDFiLDB4MDAsMHhlYSwweDA0LDB4M2UsMHg4MCwweDBiLDB4ZTAsMHgwMywweDNiLDB4MDAgfX0sCi0gezE2LCAweGY3NTAsIDAsIHsweGNlLDB4YzAsMHgyMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHg4MCwweGY4LDB4MTAsMHgzZSwweDA1LDB4MGUsMHg4OCwweDAzLDB4ZTAsMHgwOCwweDk4LDB4NDAsMHgzZSB9fSwKLSB7MTYsIDB4Zjc3MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4ODMsMHhlMSwweDQwLDB4ZTgsMHgwMCwweDNhLDB4MDIsMHgwZSwweDgwLDB4NDMsMHhlMSwweDQwLDB4ZjggfX0sCi0gezE2LCAweGY3ODAsIDAsIHsweDAwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHhmNzkwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ZjdhMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MDQsMHgyMCwweGU5LDB4OTAsMHgzMiwweDY4LDB4MGUsMHg5OCwweDAzLDB4YTQsMHgwMCwweGMxLDB4MDAgfX0sCi0gezE2LCAweGY3YjAsIDAsIHsweDMwLDB4NDAsMHgwYywweDk0LDB4ODMsMHgyNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhhNCwweDAwIH19LAotIHsxNiwgMHhmN2MwLCAwLCB7MHhjOSwweDAwLDB4MzAsMHg1MCwweDBjLDB4MWEsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg1MCwweDI4LDB4OTAsMHgwYSwweDI0LDB4MDgsMHg4OSwweDA2LDB4MTYgfX0sCi0gezE2LCAweGY3ZTAsIDAsIHsweDYxLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgyMCwweGE5LDB4MDAsMHgzNiwweDQwLDB4MGQsMHg5MCwweDAyLDB4MjcsMHg2MCwweGE5IH19LAotIHsxNiwgMHhmN2YwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MWEsMHgyNCwweDAwLDB4ODksMHgwMCwweDM2LDB4NDAsMHgyOCwweDk4LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZjgwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyYywweDAwLDB4YTksMHgwOCwweDJlLDB4YzIgfX0sCi0gezE2LCAweGY4MTAsIDAsIHsweDA5LDB4MTAsMHgwMCwweDI0LDB4MDAsMHhhOSwweDAwLDB4MDYsMHg0MCwweDg5LDB4OTYsMHgwNiwweGU2LDB4MDAsMHg4OSwweDAwIH19LAotIHsxNiwgMHhmODIwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMiwweDg5LDB4MDAsMHgyNCwweDQwLDB4MDgsMHg5MCwweDAyLDB4MGMsMHgwNiB9fSwKLSB7MTYsIDB4ZjgzMCwgMCwgezB4ODMsMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4NDAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHg0NCwweDJjLDB4NTAsMHgwOCwweDE0LDB4MDIsMHgwNSwweDgwLDB4ODEsMHgyMCwweDY0IH19LAotIHsxNiwgMHhmODUwLCAwLCB7MHg3MCwweDFiLDB4MTQsMHgwMiwweGU0LDB4ODAsMHhhMSwweDIwLDB4NjQsMHg0MCwweDE5LDB4MTIsMHgwYSwweDA0LDB4ODAsMHhhMSB9fSwKLSB7MTYsIDB4Zjg2MCwgMCwgezB4MDAsMHgyYywweDUwLDB4MTgsMHgxNCwweDAyLDB4ODUsMHgwMCwweDgxLDB4NDAsMHgyNCwweDQwLDB4NDAsMHgxMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGY4NzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGUwLDB4MDAsMHgzYywweDAwIH19LAotIHsxNiwgMHhmODgwLCAwLCB7MHgwZCwweDgwLDB4MDIsMHgwMCwweDAwLDB4YWEsMHg1MCwweDM2LDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMSwweDQwLDB4YzgsMHg1MiB9fSwKLSB7MTYsIDB4Zjg5MCwgMCwgezB4NzIsMHgxNCwweDBjLDB4MDUsMHgxNiwweDIwLDB4MDgsMHhjOCwweDUwLDB4M2UsMHgwMSwweDBjLDB4ODAsMHgwMywweGEwLDB4MDQgfX0sCi0gezE2LCAweGY4YTAsIDAsIHsweGM4LDB4MDAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGIwLCAwLCB7MHg5OCwweDE5LDB4ZjUsMHgwMiwweGZkLDB4NDAsMHgzZiwweGQwLDB4MGYsMHhkNCwweDIzLDB4ZjQsMHg0NCwweGZkLDB4MTQsMHg3ZiB9fSwKLSB7MTYsIDB4ZjhjMCwgMCwgezB4NTAsMHgwZiwweGQ0LDB4MDcsMHhmNCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NTAsMHgwNywweGQxLDB4MjMsMHhmNCwweDQwLDB4ZjkgfX0sCi0gezE2LCAweGY4ZDAsIDAsIHsweDQwLDB4MWUsMHg1MCwweDA3LDB4ZDAsMHgwYiwweDc1LDB4MDAsMHhmZCwweDAyLDB4M2UsMHg1MCwweDBmLDB4ZDQsMHgwMywweGU2IH19LAotIHsxNiwgMHhmOGUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MDAsMHhjOSwweGE4LDB4M2UsMHg3MiB9fSwKLSB7MTYsIDB4ZjhmMCwgMCwgezB4MGYsMHg5OCwweDAzLDB4ZTYsMHhjMCwweGZkLDB4YTAsMHhiMywweDQwLDB4MGYsMHhkMCwweDAzLDB4NzcsMHg4MCwweGNkLDB4OTAgfX0sCi0gezE2LCAweGY5MDAsIDAsIHsweDdmLDB4NDAsMHgwZiwweGRhLDB4YTMsMHgxNiwweDkwLDB4YTksMHhjMCwweDMyLDB4NjAsMHg0YywweGIxLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhmOTEwLCAwLCB7MHhjMSwweDAwLDB4MzMsMHg2YSwweDBiLDB4ZGEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjkyMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4NDAsMHg4OCwweGUwLDB4MmUsMHgzMCwweDBiLDB4OGQsMHgwMiwweGYzLDB4NDAsMHhiOCwweGU4LDB4NzYgfX0sCi0gezE2LCAweGY5MzAsIDAsIHsweDAwLDB4NGYsMHg4MCwweDBhLDB4MjIsMHg4MCwweDg4LDB4OTAsMHg2ZSwweDI4LDB4OGYsMHg4YSwweDAzLDB4NjEsMHg0NCwweGY4IH19LAotIHsxNiwgMHhmOTQwLCAwLCB7MHhlMSwweDNlLDB4MmEsMHgwOCwweDg4LDB4MDMsMHg0MiwweGEwLDB4ZGMsMHhhMCwweDNlLDB4MTAsMHgwYiwweDg1LDB4MGEsMHgwZSB9fSwKLSB7MTYsIDB4Zjk1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweGEwLDB4ODUsMHgwOCwweDJkLDB4NDggfX0sCi0gezE2LCAweGY5NjAsIDAsIHsweDFiLDB4NTIsMHg4MiwweGQ0LDB4ODAsMHhiMSwweDE0LDB4MjAsMHg0MCwweDBiLDB4MTgsMHgwMiwweDA1LDB4ODIsMHg4MSwweDAwIH19LAotIHsxNiwgMHhmOTcwLCAwLCB7MHg2YywweDQyLDB4MGIsMHgxMiwweDgyLDB4MDQsMHgwMCwweGExLDB4NjAsMHgyMSwweDUwLDB4MGIsMHg1MCwweDAyLDB4MTQsMHg5MCB9fSwKLSB7MTYsIDB4Zjk4MCwgMCwgezB4OTUsMHgyYywweDI4LDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5OTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAxLDB4OGQsMHg0NCwweDJmLDB4NDAsMHgwYiwweGQ0LDB4MDIsMHhmNCwweDA0LDB4YjksMHgwOCwweDIyIH19LAotIHsxNiwgMHhmOWEwLCAwLCB7MHg0MCwweDBhLDB4OTIsMHgwMiwweDJjLDB4ODQsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBhLDB4MTQsMHgwMiwweDZjLDB4ODAsMHhhOSB9fSwKLSB7MTYsIDB4ZjliMCwgMCwgezB4MDEsMHgyYSwweDQwLDB4MDksMHg1MCwweDBhLDB4NWMsMHgwMiwweDhkLDB4NjAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDQyLDB4MDYgfX0sCi0gezE2LCAweGY5YzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTYsMHg2MiwweGM5LDB4MDIsMHgzZSwweDU0IH19LAotIHsxNiwgMHhmOWQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg0MCwweDIyLDB4NDYsMHgwYiwweDk4LDB4MDMsMHg2NywweDIwLDB4YzksMHgwMSB9fSwKLSB7MTYsIDB4ZjllMCwgMCwgezB4MmUsMHg2OSwweDBiLDB4OTQsMHgwYiwweDI1LDB4MjAsMHhhOSwweDAwLDB4MjIsMHg0MCwweDJkLDB4OTIsMHgwYSwweDI2LDB4MjIgfX0sCi0gezE2LCAweGY5ZjAsIDAsIHsweDk5LDB4MDAsMHgyYSwweDQwLDB4OGYsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTAwLCAwLCB7MHgyOCwweDAxLDB4ODYsMHgwMiwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHg4MCwweGYxLDB4YTAsMHgzZSB9fSwKLSB7MTYsIDB4ZmExMCwgMCwgezB4NjIsMHgwZiwweDk4LDB4ODMsMHhjNiwweDIwLDB4ZjksMHgwMCwweDNlLDB4NDksMHgwZiwweDkwLDB4ODMsMHhlNCwweDAwLDB4NzEgfX0sCi0gezE2LCAweGZhMjAsIDAsIHsweDAyLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwYiwweGU2LDB4ODAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhmYTMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MTAsMHhjOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4ZmE0MCwgMCwgezB4NGYsMHg4MCwweDQzLDB4YjAsMHgwMCwweGM4LDB4NDEsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjEsMHgwMiwweGM4LDB4MDIgfX0sCi0gezE2LCAweGZhNTAsIDAsIHsweDNlLDB4MTAsMHg0YywweDgwLDB4MDMsMHgwMSwweDIwLDB4YzgsMHgwMCwweDNiLDB4MDAsMHgwYywweGMwLDB4MDMsMHhiMCwweDAwIH19LAotIHsxNiwgMHhmYTYwLCAwLCB7MHhjYywweDA0LDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDgwLDB4MmUsMHg4MCwweDBiLDB4YTAsMHgwMiwweGY4LDB4MDQsMHg4ZSwweDAwLDB4MjMgfX0sCi0gezE2LCAweGZhODAsIDAsIHsweGIyLDB4MGUsMHhlMCwweDgyLDB4ZjksMHgwNCwweDhhLDB4MDAsMHgyZSwweDgxLDB4MGMsMHhlMCwweDBhLDB4M2EsMHg4MCwweGRhIH19LAotIHsxNiwgMHhmYTkwLCAwLCB7MHgwMCwweDIyLDB4YjYsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4OGUsMHgwMCwweDJhLDB4ODAsMHgwYiwweDYwLDB4MGIsMHgwYSB9fSwKLSB7MTYsIDB4ZmFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0NCwweDAyLDB4OTMsMHg4MSwweDJjLDB4YzAgfX0sCi0gezE2LCAweGZhYjAsIDAsIHsweDRiLDB4MzAsMHgwMiwweGM4LDB4MDAsMHg4MywweGNhLDB4MjAsMHhlMCwweDE5LDB4YjAsMHgwNiwweDhjLDB4MDAsMHg4MSwweDA0IH19LAotIHsxNiwgMHhmYWMwLCAwLCB7MHg0NCwweDQwLDB4MDgsMHgzNCwweDAyLDB4MGQsMHgwMCwweDgzLDB4MDAsMHgyYSwweDAwLDB4MDgsMHgwMCwweDBhLDB4ODAsMHg0MCB9fSwKLSB7MTYsIDB4ZmFkMCwgMCwgezB4ODgsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0YiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhZTAsIDAsIHsweGEwLDB4MDEsMHgwNCwweDAyLDB4OTcsMHgwOCwweDJkLDB4YzAsMHgwYiwweDYwLDB4MDYsMHhjYSwweDAwLDB4ODMsMHgwOSwweDIxIH19LAotIHsxNiwgMHhmYWYwLCAwLCB7MHhjMCwweDBhLDB4NzAsMHgwMiwweGRjLDB4MDAsMHg4NSwweDMxLDB4MmQsMHg2OCwweDA5LDB4MzAsMHgwMiwweDFjLDB4MTQsMHg5MyB9fSwKLSB7MTYsIDB4ZmIwMCwgMCwgezB4MjAsMHgyMCwweGMwLDB4MDgsMHhmMCwweDQyLDB4OWMsMHgwMiwweDhmLDB4MDAsMHgyOSwweDQwLDB4MDMsMHg3MCwweDEyLDB4MjggfX0sCi0gezE2LCAweGZiMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MTYsMHgwMCwweDk2LDB4ODQsMHgzZCwweGEwIH19LAotIHsxNiwgMHhmYjIwLCAwLCB7MHgwZiwweDc4LDB4MDMsMHg5YSwweDAyLDB4ODcsMHg4MCwweGIxLDB4ZTAsMHgwYiwweDc4LDB4MDMsMHhiNiwweDAwLDB4YzUsMHhhMCB9fSwKLSB7MTYsIDB4ZmIzMCwgMCwgezB4MzUsMHg2MSwweDBjLDB4NzgsMHgxMywweDFlLDB4MDIsMHhjNywweDgwLDB4MjksMHgwMCwweDBjLDB4NDgsMHgwMywweDkwLDB4MDAgfX0sCi0gezE2LCAweGZiNDAsIDAsIHsweGM0LDB4ODAsMHgzMSwweDYwLDB4MGYsMHg1OCwweDAzLDB4NmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjUwLCAwLCB7MHgwOCwweDFkLDB4YTQsMHgwMCwweGVhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwOCwweGZiLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ZmI2MCwgMCwgezB4ODAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDA4LDB4ZjksMHgwMCwweDNjLDB4NTAsMHgyZSwweGYwLDB4MDMsMHhlOCwweDA4LDB4ZmIgfX0sCi0gezE2LCAweGZiNzAsIDAsIHsweDQwLDB4M2UsMHhjMCwweDBiLDB4MzAsMHgxMywweDZjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4MzAsMHgwMywweGMyIH19LAotIHsxNiwgMHhmYjgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGQ2LDB4MDAsMHhjZCwweDgwLDB4MzMsMHhlMCB9fSwKLSB7MTYsIDB4ZmI5MCwgMCwgezB4MGMsMHhmOCwweDAzLDB4ZmEsMHgwMCwweGZkLDB4ODAsMHgzZiwweGEwLDB4MGQsMHhmOCwweDAzLDB4ZmEsMHg0MCwweGNkLDB4ZDAgfX0sCi0gezE2LCAweGZiYTAsIDAsIHsweDc3LDB4N2UsMHgwYywweGU4LDB4NDMsMHgxZSwweDAwLDB4Y2YsMHhkOCwweDNmLDB4ZTAsMHgwYywweGM4LDB4MDMsMHgzYSwweGM0IH19LAotIHsxNiwgMHhmYmIwLCAwLCB7MHhjYywweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJjMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4MDIsMHg4ZCwweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMywweGQ4LDB4MTAsMHgzNSwweDIwLDB4OGIgfX0sCi0gezE2LCAweGZiZDAsIDAsIHsweGQ0LDB4MGQsMHg2NCwweDAzLDB4ZDgsMHhjMCwweDg1LDB4MDAsMHgyZiwweDRlLDB4MDcsMHg2NCwweDAyLDB4OWMsMHgwMiwweGQ3IH19LAotIHsxNiwgMHhmYmUwLCAwLCB7MHgzMCwweDJmLDB4MDQsMHgwZCwweGYxLDB4MGIsMHg1NCwweDQwLDB4YWYsMHgwMCwweDM1LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4ZmJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NCwweDQwLDB4ODQsMHgxOCwweDIxLDB4ODAgfX0sCi0gezE2LCAweGZjMDAsIDAsIHsweDA4LDB4NzAsMHgwMiwweGRhLDB4MjAsMHhiNSwweDAwLDB4MDksMHgwMCwweDA4LDB4NzAsMHgwMiwweGQ0LDB4MDQsMHg4NSwweDAwIH19LAotIHsxNiwgMHhmYzEwLCAwLCB7MHg2ZCwweDRjLDB4ODksMHg2MCwweDAyLDB4NWMsMHg0MCwweDk3LDB4MDAsMHg2ZCwweGMwLDB4MDksMHg0MCwweDAyLDB4NTgsMHg4MCB9fSwKLSB7MTYsIDB4ZmMyMCwgMCwgezB4ODQsMHg4OCwweDI1LDB4NDAsMHgwOCwweGQwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjMzAsIDAsIHsweDIwLDB4MTQsMHhjNiwweDQ4LDB4ODAsMHgwMCwweDIwLDB4ODAsMHgwOCwweGFjLDB4MDIsMHhhOCwweDAwLDB4YjEsMHgwMCwweGE4IH19LAotIHsxNiwgMHhmYzQwLCAwLCB7MHg4OCwweDA5LDB4MjIsMHgwMiwweDg2LDB4NDIsMHg4MSwweDAwLDB4NmMsMHg1MiwweDBiLDB4MjAsMHgwMiwweGM3LDB4NTIsMHg4MyB9fSwKLSB7MTYsIDB4ZmM1MCwgMCwgezB4MDAsMHgyYywweDAwLDB4MDgsMHgzNCwweDgyLDB4NjcsMHgwMCwweGEzLDB4ODAsMHgyMCwweDQwLDB4MDgsMHgzMCwweDAyLDB4MDggfX0sCi0gezE2LCAweGZjNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YTMsMHgwMCwweGNiLDB4YzAsMHhiMiwweDQwIH19LAotIHsxNiwgMHhmYzcwLCAwLCB7MHgyYywweDkwLDB4ODIsMHhlNiwweDAwLDB4YmIsMHg4MCwweGJlLDB4NzgsMHgwOCwweDhlLDB4MDIsMHhlZSwweDAwLDB4OGQsMHgwMCB9fSwKLSB7MTYsIDB4ZmM4MCwgMCwgezB4MjcsMHg2MCwweDBkLDB4OTAsMHgwYSwweDZmLDB4MDAsMHg5ZiwweDAyLDB4MmUsMHgwMCwweDA5LDB4YjQsMHgwMywweDY3LDB4ODAgfX0sCi0gezE2LCAweGZjOTAsIDAsIHsweGNhLDB4NDAsMHhlNCwweGMwLDB4MGMsMHgzMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2EwLCAwLCB7MHg4MCwweDAwLDB4ZTAsMHg4MCwweGZiLDB4MjIsMHgzZSwweDQwLDB4MGYsMHg4MCwweDEzLDB4ZTQsMHgwMCwweGZiLDB4ODAsMHgzZSB9fSwKLSB7MTYsIDB4ZmNiMCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNSwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZSwweDcwLDB4MjMsMHhhYywweDIwLDB4ZmIgfX0sCi0gezE2LCAweGZjYzAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDhmLDB4ODAsMHgwMywweGU5LDB4MjAsMHhmOSwweDA4LDB4M2UsMHg0MCwweDBmLDB4YjAsMHgxMywweGUwIH19LAotIHsxNiwgMHhmY2QwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhjNiwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4ZmNlMCwgMCwgezB4MGYsMHhkMSwweDgzLDB4MzQsMHg0MCwweGNmLDB4MDAsMHgzZCwweDQwLDB4MGMsMHhkMCwweDAzLDB4ZGUsMHg1MCwweDBkLDB4MDAgfX0sCi0gezE2LCAweGZjZjAsIDAsIHsweDczLDB4NDAsMHgwYywweGQxLDB4MDMsMHg3YywweDQwLDB4ODcsMHgwMiwweGIzLDB4MDAsMHgwZCwweGY0LDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhmZDAwLCAwLCB7MHhjZSwweDIwLDB4MzIsMHg0MCwweDBjLDB4ZDAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQxMCwgMCwgezB4ODEsMHgwNCwweDYxLDB4MjIsMHg4YSwweDAwLDB4MjIsMHgwMCwweDBiLDB4ODAsMHg0MCwweDI1LDB4MDAsMHg4OSwweGMzLDB4MmUgfX0sCi0gezE2LCAweGZkMjAsIDAsIHsweDIwLDB4MGEsMHg5OCwweDAzLDB4YTEsMHgwMCwweDg5LDB4MDAsMHgzNiwweDQwLDB4ODgsMHg5NCwweDAyLDB4MGYsMHgwMSwweGFiIH19LAotIHsxNiwgMHhmZDMwLCAwLCB7MHgwMCwweDMyLDB4YzAsMHgwOCwweDA0LDB4MGEsMHgyOSwweDAwLDB4YTksMHgwMiwweGEyLDB4NDAsMHgwZCwweGIwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4ZmQ0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwMCwweDAwLDB4ODksMHgwMCwweDIyLDB4NjEgfX0sCi0gezE2LCAweGZkNTAsIDAsIHsweDBiLDB4OTAsMHgwMiwweDI1LDB4MDEsMHg5YiwweDg4LDB4MmUsMHg2MCwweDA4LDB4ODgsMHgwMiwweGU4LDB4MDAsMHhiMSwweDAyIH19LAotIHsxNiwgMHhmZDYwLCAwLCB7MHgyNCwweDQwLDB4MTgsMHg5MCwweDAyLDB4MmMsMHgwMCwweGFiLDB4MDEsMHgyMCwweGMxLDB4MDgsMHhiNCwweDQyLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZmQ3MCwgMCwgezB4ODIsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkODAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4MDEsMHgwMCwweDIwLDB4NDAsMHgwYiwweDAwLDB4MGEsMHgwNCwweDQ2LDB4ODMsMHgwMSwweDJjIH19LAotIHsxNiwgMHhmZDkwLCAwLCB7MHg0MCwweDFhLDB4MDAsMHgwNiwweDgwLDB4MDAsMHg4MSwweDAwLDB4MjQsMHg0MCwweDA4LDB4MjAsMHgwYSwweDBjLDB4MDEsMHhhMyB9fSwKLSB7MTYsIDB4ZmRhMCwgMCwgezB4MDAsMHgyNCwweDAwLDB4MDgsMHg4MCwweDAyLDB4MDAsMHgwMCwweGExLDB4MDAsMHgyMCwweDQwLDB4MDksMHgzMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGZkYjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMiwweGM4LDB4MDAsMHgyMiwweDAwIH19LAotIHsxNiwgMHhmZGMwLCAwLCB7MHgwZiwweDkwLDB4MDIsMHgyNSwweDAwLDB4ZGEsMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDIsMHhjYywweDAwLDB4ZmQsMHgwMCB9fSwKLSB7MTYsIDB4ZmRkMCwgMCwgezB4MzcsMHg0MCwweDBjLDB4MTAsMHgxMywweDJjLDB4MDIsMHhhZiwweDAwLDB4MzIsMHhjMCwweDBkLDB4YjAsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGZkZTAsIDAsIHsweGNhLDB4MDAsMHgzMiwweDQwLDB4NGMsMHg5MCwweDBiLDB4MDAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZGYwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MDcsMHhjMCwweDAzLDB4ZjQsMHgxYywweGY0LDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ZmUwMCwgMCwgezB4MDAsMHgxZiwweGMwLDB4MjMsMHhiMCwweDAyLDB4OWQsMHgwMSwweDNmLDB4NDAsMHg4ZiwweGMwLDB4MDcsMHhmYywweDAyLDB4ZmYgfX0sCi0gezE2LCAweGZlMTAsIDAsIHsweDAwLDB4N2IsMHgwMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4NzAsMHgwMywweGU4IH19LAotIHsxNiwgMHhmZTIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZhLDB4MDAsMHhjYiwweDgwLDB4M2YsMHgyNCB9fSwKLSB7MTYsIDB4ZmUzMCwgMCwgezB4MGEsMHhjMSwweDAzLDB4ZmMsMHgyNCwweGNkLDB4MjAsMHgzNywweDBhLDB4MGMsMHhjMiwweDgzLDB4MzAsMHg4MCwweGRjLDB4MDIgfX0sCi0gezE2LCAweGZlNDAsIDAsIHsweDNmLDB4Y2MsMHgwZCwweGQ5LDB4MDMsMHgzYywweDU4LDB4ZGYsMHgzMCwweDMzLDB4YzgsMHgwZCwweGY0LDB4MjMsMHgzYywweDQwIH19LAotIHsxNiwgMHhmZTUwLCAwLCB7MHhmZiwweDAwLDB4M2YsMHhjNSwweDRmLDB4ZjAsMHgyMywweGIwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmU2MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDIsMHgwYiwweDgyLDB4MmUsMHgwOCwweDBkLDB4YjcsMHgwMiwweGZkLDB4MDAsMHg4MywweDE4LDB4MGEgfX0sCi0gezE2LCAweGZlNzAsIDAsIHsweDU4LDB4MGEsMHg4NCwweGEyLDB4YTUsMHhhMCwweDg5LDB4MzAsMHgyMiwweDU1LDB4MDgsMHgxMiwweDYyLDB4YmQsMHg5MCwweDhmIH19LAotIHsxNiwgMHhmZTgwLCAwLCB7MHg2MiwweDIxLDB4ZDYsMHg0OCwweGYzLDB4MDIsMHgzYywweGM1LDB4YmYsMHg0OCwweDJmLDB4ZDgsMHg0YiwweGI3LDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ZmU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlYywweDAwLDB4ODMsMHgwMCwweDJlLDB4ODkgfX0sCi0gezE2LCAweGZlYTAsIDAsIHsweDI4LDB4MDAsMHgwMiwweGVjLDB4YTAsMHg4OSwweDIyLDB4MjgsMHg4MiwweDA4LDB4MTIsMHgwMiwweDI4LDB4NDAsMHg5YSwweDA4IH19LAotIHsxNiwgMHhmZWIwLCAwLCB7MHgyOCwweGM4LDB4ODgsMHhiMiwweDBhLDB4MGQsMHgxMCwweDkzLDB4MTAsMHhhMCwweGM4LDB4MjgsMHgzMCwweDAyLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4ZmVjMCwgMCwgezB4YjMsMHg2MCwweDJjLDB4YzQsMHgwYiwweDMwLDB4YzIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZlZDAsIDAsIHsweGMwLDB4MTUsMHhhYywweDQwLDB4OGIsMHgwMCwweDJlLDB4ODAsMHgwOCwweGIxLDB4MDIsMHhlYywweDAyLDB4OGIsMHgwMCwweDIwIH19LAotIHsxNiwgMHhmZWUwLCAwLCB7MHhkMCwweDBhLDB4OTAsMHgwMiwweGFjLDB4MDAsMHgwYiwweDAxLDB4MjYsMHg0MCwweDA4LDB4OTQsMHgwMiwweDhjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4ZmVmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgxMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGZmMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE0LDB4OGMsMHgyMCwweGNiLDB4MDIsMHgzZSwweDJkIH19LAotIHsxNiwgMHhmZjEwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHhlYywweDA4LDB4YzksMHg4MCwweDFlLDB4MDQsMHgwYywweGIwLDB4MDMsMHgwMSwweDA4LDB4NTAsMHgxOCB9fSwKLSB7MTYsIDB4ZmYyMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4MDQsMHgwMywweDJjLDB4MDAsMHhkYiwweDAxLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwYiwweDJjLDB4MDggfX0sCi0gezE2LCAweGZmMzAsIDAsIHsweGJiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ODAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZjQwLCAwLCB7MHhlMSwweDAwLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDYwLDB4MGYsMHhjMCwweDIzLDB4ZWMsMHgwMCwweGZmLDB4YzAsMHhiZSB9fSwKLSB7MTYsIDB4ZmY1MCwgMCwgezB4NjAsMHg4ZiwweGM5LDB4MjMsMHhmNiwweDUwLDB4ZWQsMHg4MCwweGI4LDB4NTAsMHhhZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmYgfX0sCi0gezE2LCAweGZmNjAsIDAsIHsweDAwLDB4M2YsMHhjMSwweDBlLDB4YjAsMHgwMywweGZjLDB4MDQsMHhmZiwweDAyLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGY4IH19LAotIHsxNiwgMHhmZjcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhlYiwweDAwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4ZmY4MCwgMCwgezB4MGQsMHg5MCwweDAzLDB4MmMsMHgwMCwweDg5LDB4MDAsMHgzZSwweDk4LDB4OGMsMHgzMCwweDAzLDB4NjEsMHg4MCwweGZhLDB4NDAgfX0sCi0gezE2LCAweGZmOTAsIDAsIHsweDNlLDB4NDAsMHgyYywweGE1LDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMSwweDNjLDB4YzAsMHgyYywweDMwLDB4MDMsMHgyYywweDAwIH19LAotIHsxNiwgMHhmZmEwLCAwLCB7MHhkYiwweDAyLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmZiMCwgMCwgezB4Y2EsMHgwMCwweDJlLDB4ODAsMHg4YiwweDgyLDB4YTAsMHhjMCwweDhjLDB4OTAsMHgwMiwweDNjLDB4MDAsMHg4YiwweGYwLDB4MjIgfX0sCi0gezE2LCAweGZmYzAsIDAsIHsweGMyLDB4MGQsMHg4MCwweDAyLDB4MjcsMHgwMCwweDhiLDB4MTAsMHgyMiwweDQwLDB4MDgsMHg4MCwweDIyLDB4M2MsMHgwMCwweGJmIH19LAotIHsxNiwgMHhmZmQwLCAwLCB7MHgwMCwweDJmLDB4YzAsMHgwOCwweGYwLDB4MDIsMHgzYywweDAwLDB4YmYsMHgwMSwweGEzLDB4YzAsMHgwYiwweGYwLDB4MTIsMHhmMiB9fSwKLSB7MTYsIDB4ZmZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjMsMHgxYywweDIwLDB4NDAgfX0sCi0gezE2LCAweGZmZjAsIDAsIHsweDA4LDB4MDAsMHgwNiwweDJjLDB4MDAsMHg5YiwweDAwLDB4MjAsMHhkMCwweDA4LDB4MjAsMHgwMiwweDRjLDB4MDAsMHhhMywweDAwIH19LAotIHsxNiwgMHg4MDEwLCAwLCB7MHgyYywweGMwLDB4MDgsMHgxMCwweDBhLDB4MGMsMHgwMCwweGJiLDB4MDAsMHgyOCwweGMwLDB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4ODAyMCwgMCwgezB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwMzAsIDAsIHsweDIyLDB4MTEsMHgxZSwweDAwLDB4OTcsMHhhMCwweDIxLDB4YTAsMHgwOCwweDc5LDB4MDIsMHgxZSwweDAwLDB4OTcsMHg5MCwweDIxIH19LAotIHsxNiwgMHg4MDQwLCAwLCB7MHg2MCwweDA5LDB4ZTgsMHgyMiwweDNlLDB4MDAsMHhhZiwweDg0LDB4MjEsMHhlNCwweDQ4LDB4NWMsMHgwMiwweDFlLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4ODA1MCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MDksMHg3OCwweDAwLDB4MWUsMHgwOSwweGIzLDB4OTAsMHgyMSwweGU0LDB4MGIsMHg3OCwweDAyLDB4ZDggfX0sCi0gezE2LCAweDgwNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDE4LDB4MmMsMHg0MCwweGIzLDB4YjAsMHgzMiwweDQwIH19LAotIHsxNiwgMHg4MDcwLCAwLCB7MHgyYywweDgxLDB4MTMsMHgwYywweDQyLDB4ZDEsMHgwMCwweGIwLDB4YzAsMHg4YywweDMwLDB4MDMsMHg0OCwweDIwLDB4ZTMsMHgwMSB9fSwKLSB7MTYsIDB4ODA4MCwgMCwgezB4M2MsMHhjMCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhmMywweDEwLDB4M2MsMHhjMCwweGNkLDB4MzIsMHgwYiwweDBjLDB4NDAgfX0sCi0gezE2LCAweDgwOTAsIDAsIHsweGQzLDB4MDAsMHgzMCwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGEwLCAwLCB7MHg0MCwweDE1LDB4YmMsMHgwMCwweGU3LDB4MDAsMHgzZiwweDgwLDB4MGIsMHhmMSwweDAzLDB4ZmQsMHgwMCwweDZkLDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4ODBiMCwgMCwgezB4NDAsMHgxZiwweDcwLDB4MDcsMHhkOCwweDQxLDB4YzMsMHgxMCwweDNiLDB4YzAsMHgwZiwweGQxLDB4MDMsMHhmZCwweDAwLDB4ZmYgfX0sCi0gezE2LCAweDgwYzAsIDAsIHsweDEwLDB4M2YsMHhjMCwweDBlLDB4ZjAsMHgwMywweGVjLDB4MTAsMHhmZiwweDA4LDB4M2YsMHhjMywweDBmLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHg4MGQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGVjLDB4MDQsMHhmYiwweDAyLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ODBlMCwgMCwgezB4MGIsMHhhMCwweDAzLDB4YWMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDgwLDB4MGQsMHhiMCwweDAzLDB4YWMsMHgwMCwweGU4LDB4MDAgfX0sCi0gezE2LCAweDgwZjAsIDAsIHsweDM2LDB4YzEsMHgyZSwweDkwLDB4MDMsMHgyYywweDAwLDB4Y2IsMHhhMCwweDM2LDB4ZGMsMHgwZiwweGIwLDB4MDMsMHgyZCwweDY4IH19LAotIHsxNiwgMHg4MTAwLCAwLCB7MHhmYiwweGEwLDB4OTIsMHhjMiwweDBjLDB4YjEsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODExMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDgsMHgzNywweDAwLDB4MmQsMHhjMCwweDBiLDB4ZTAsMHgwMiwweDFkLDB4ODAsMHhiNywweDA0LDB4MjMgfX0sCi0gezE2LCAweDgxMjAsIDAsIHsweDAwLDB4MGEsMHg0MCwweDAyLDB4MWMsMHgxOCwweDg0LDB4MDAsMHgyNSwweGMwLDB4MTgsMHg1MCwweDMyLDB4MGQsMHg4MCwweGEzIH19LAotIHsxNiwgMHg4MTMwLCAwLCB7MHgzMCwweDIxLDB4Y2MsMHgwYiwweDM0LDB4ODIsMHgxYywweDEwLDB4YjcsMHgzMCwweDIxLDB4YzgsMHgwOCwweDcwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4ODE0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDIwLDB4YjcsMHg4MCwweDJkLDB4NjAgfX0sCi0gezE2LCAweDgxNTAsIDAsIHsweDBiLDB4ZmMsMHgyMiwweDllLDB4MDAsMHg4ZCwweDgwLDB4MjUsMHhhMCwweDA4LDB4ZjgsMHgyMiwweDkyLDB4MDAsMHhiNCwweDgwIH19LAotIHsxNiwgMHg4MTYwLCAwLCB7MHgyNSwweGUwLDB4MDgsMHhmOCwweDAyLDB4MWUsMHgwMCwweDg3LDB4YjAsMHgyMSwweGUwLDB4MDksMHg3YSwweDAyLDB4MWUsMHgxOCB9fSwKLSB7MTYsIDB4ODE3MCwgMCwgezB4YjMsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxODAsIDAsIHsweDQ4LDB4MDQsMHhjNSwweDIwLDB4YjMsMHgwMSwweDJjLDB4ZDgsMHgwYiwweDNjLDB4MDIsMHgyYywweDA4LDB4YjksMHgwMCwweDIwIH19LAotIHsxNiwgMHg4MTkwLCAwLCB7MHgwMywweDBhLDB4MDAsMHg4MiwweDIyLDB4MDgsMHg5MCwweDBkLDB4MjYsMHhlNCwweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4ODFhMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MGIsMHgzMCwweDAyLDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyMiwweGMwLDB4MjgsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDgxYjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4OTksMHgwMCwweGZhLDB4MDIsMHgzZiwweDkwIH19LAotIHsxNiwgMHg4MWMwLCAwLCB7MHgwZiwweGVjLDB4MjMsMHhhOCwweDAwLDB4ZGEsMHgwMCwweDM1LDB4ODAsMHgwZCwweGUwLDB4MDIsMHhiYSwweDAyLDB4ZmUsMHhjMiB9fSwKLSB7MTYsIDB4ODFkMCwgMCwgezB4YjYsMHhhMCwweDBlLDB4ZTQsMHgwYiwweDI4LDB4MDAsMHhjYSwweDAwLDB4YjIsMHg4MCwweDBmLDB4YTAsMHgwYiwweDI4LDB4MDAgfX0sCi0gezE2LCAweDgxZTAsIDAsIHsweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MiwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ODIwMCwgMCwgezB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDQwLDB4ZTgsMHgxMCwweDNhLDB4MDAsMHg0ZiwweDg0LDB4ODMsMHhlMCwweDAwLDB4ZjggfX0sCi0gezE2LCAweDgyMTAsIDAsIHsweDAwLDB4M2EsMHgwMCwweDBmLDB4MDAsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4MjIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU1LDB4MDAsMHhjOSwweDAyLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ODIzMCwgMCwgezB4MGYsMHg5MCwweDIzLDB4MjQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDY4LDB4MmYsMHgxMCwweDAzLDB4MjQsMHgwMCwweGU5LDB4MTQgfX0sCi0gezE2LCAweDgyNDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweDkwLDB4MGIsMHgwNCwweDAwLDB4ZDksMHgwMCwweDFlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHg4MjUwLCAwLCB7MHhjOSwweDAwLDB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODI2MCwgMCwgezB4ODAsMHgxNCwweDY0LDB4MDAsMHg4OSwweDAxLDB4MmUsMHg0MCwweDRiLDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweGMyLDB4YTIgfX0sCi0gezE2LCAweDgyNzAsIDAsIHsweDYwLDB4ODgsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4YzEsMHhhMiwweDQwLDB4NDgsMHgxNiwweDAzLDB4NjQsMHgwMiwweDg5IH19LAotIHsxNiwgMHg4MjgwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MjIsMHgyNCwweDAwLDB4ODksMHgwMCwweDNlLDB4NDAsMHgyOCwweDkwLDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4ODI5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDQsMHgyNCwweDAwLDB4ODksMHgwMiwweDJlLDB4NDAgfX0sCi0gezE2LCAweDgyYTAsIDAsIHsweDBiLDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDEwLDB4MjIsMHg0MCwweDg5LDB4OTAsMHgwMiwweGFjLDB4MDAsMHhhMSwweDA4IH19LAotIHsxNiwgMHg4MmIwLCAwLCB7MHgyMiwweDQwLDB4MDksMHg5OCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4ODJjMCwgMCwgezB4ODksMHgwMCwweDI2LDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgyZDAsIDAsIHsweDA4LDB4MDAsMHgyNCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NDEsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgxLDB4ODEsMHgyMCwweDIyIH19LAotIHsxNiwgMHg4MmUwLCAwLCB7MHg0OCwweDA4LDB4MTIsMHgwMiwweGM0LDB4ODEsMHg4MSwweDI0LDB4MDIsMHg0OCwweDBhLDB4OTAsMHgwMiwweDg0LDB4YTAsMHg4MSB9fSwKLSB7MTYsIDB4ODJmMCwgMCwgezB4MjgsMHg2YywweDRhLDB4MDgsMHgxMiwweGQyLDB4MDQsMHhhMSwweDgxLDB4MjgsMHgyYywweDRhLDB4MDgsMHgxMiwweDgyLDB4MDIgfX0sCi0gezE2LCAweDgzMDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDA4LDB4NjEsMHg0MCwweGM4LDB4MDAsMHgyZSwweDE0IH19LAotIHsxNiwgMHg4MzEwLCAwLCB7MHgwZiwweDg1LDB4MGIsMHgyMSwweDQyLDB4Y2EsMHg1MCwweDIyLDB4MTQsMHgwZCwweDg1LDB4NDMsMHhhMSwweDQwLDB4ZTgsMHg1MCB9fSwKLSB7MTYsIDB4ODMyMCwgMCwgezB4MzAsMHgwMCwweDBkLDB4ODUsMHgwMiwweGExLDB4YzAsMHhkOCwweDIwLDB4M2EsMHgwOCwweDJjLDB4ODIsMHgwYiwweDIwLDB4ODIgfX0sCi0gezE2LCAweDgzMzAsIDAsIHsweGM4LDB4MjAsMHgzNCwweDA5LDB4OGMsMHg4MiwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MzQwLCAwLCB7MHg5OCwweDBkLDB4ZmMsMHgwMiwweGY5LDB4MDAsMHgzZiwweDQwLDB4NGYsMHhkMSwweDAzLDB4ZTQsMHg0MCwweGY1LDB4MTQsMHhiZiB9fSwKLSB7MTYsIDB4ODM1MCwgMCwgezB4NDQsMHgwZCwweDUxLDB4MjMsMHg1YywweDQwLDB4ZjUsMHgxMCwweDFmLDB4NGUsMHg0ZCwweDUwLDB4MDMsMHg2NCwweDA4LDB4ZjkgfX0sCi0gezE2LCAweDgzNjAsIDAsIHsweDI4LDB4M2UsMHg0YSwweDhmLDB4OTIsMHg4MywweGU0LDB4YTAsMHhmOSwweDI4LDB4M2EsMHg0YiwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHg4MzcwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGY0LDB4NDAsMHhmZCwweDAwLDB4MzAsMHg0MCB9fSwKLSB7MTYsIDB4ODM4MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGRkLDB4MDAsMHgzYiwweDQwLDB4MGUsMHg5MCwweDAzLDB4NzQsMHgwMCwweDVkLDB4MDAgfX0sCi0gezE2LCAweDgzOTAsIDAsIHsweDM2LDB4NjQsMHgwZCwweGQwLDB4MDAsMHhhNiwweDAwLDB4ZjksMHg0MCwweDMyLDB4NzgsMHgwYywweDk5LDB4MDMsMHgyNCwweDQwIH19LAotIHsxNiwgMHg4M2EwLCAwLCB7MHhjOSwweDkwLDB4MzIsMHg1MCwweDBmLDB4OWIsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODNiMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHhiOCwweDAwLDB4MjIsMHgwMSwweDA4LDB4ODAsMHgwYSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MmEgfX0sCi0gezE2LCAweDgzYzAsIDAsIHsweDAwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMiwweDIwLDB4MDgsMHg4YSwweDhiLDB4ZTEsMHgwMCwweGI4IH19LAotIHsxNiwgMHg4M2QwLCAwLCB7MHg4MCwweDIyLDB4MzAsMHgyOCwweDBkLDB4MDIsMHgyMiwweDAwLDB4ZDgsMHhlNCwweDIyLDB4MjgsMHgwYiwweDhmLDB4MGEsMHgwZSB9fSwKLSB7MTYsIDB4ODNlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4YjEsMHgwMCwweGEwLDB4NDAgfX0sCi0gezE2LCAweDgzZjAsIDAsIHsweDA4LDB4MTAsMHgwMiwweDA0LDB4MDAsMHg4OSwweDAwLDB4MDgsMHg0MCwweDBhLDB4OTAsMHg0MiwweDQ0LDB4MDAsMHg5MSwweDAwIH19LAotIHsxNiwgMHg4NDAwLCAwLCB7MHgyMCwweDU4LDB4MjgsMHg5MCwweDAyLDB4ODUsMHgwMCwweDgxLDB4MjAsMHhhMCwweDRjLDB4MDksMHgxMiwweDBhLDB4MDQsMHg4MCB9fSwKLSB7MTYsIDB4ODQxMCwgMCwgezB4OTEsMHg0MCwweGEwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0MjAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAwLDB4YjksMHgwMiwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODksMHgwMSwweDIyIH19LAotIHsxNiwgMHg4NDMwLCAwLCB7MHg0MCwweDI4LDB4OTAsMHgyMiwweDA0LDB4MDAsMHg4OSwweDEwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4ODQ0MCwgMCwgezB4MDAsMHgyMiwweDQwLDB4ODEsMHg5MCwweDAyLDB4MDQsMHgwMCwweDkxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYgfX0sCi0gezE2LCAweDg0NTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTUsMHgwMCwweGYxLDB4MDAsMHgzMiwweDYwIH19LAotIHsxNiwgMHg4NDYwLCAwLCB7MHgyYywweDkyLDB4MTMsMHgyNCwweDAyLDB4ZDEsMHgxMCwweDNhLDB4NDAsMHgwZSwweDEyLDB4MDMsMHg2NiwweDA0LDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4ODQ3MCwgMCwgezB4YjYsMHg0MCwweDBkLDB4MTksMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDA5LDB4OTAsMHgwMSwweDI0LDB4MDAgfX0sCi0gezE2LCAweDg0ODAsIDAsIHsweGQ5LDB4MDIsMHgyMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NDkwLCAwLCB7MHgyYSwweDAxLDB4YTUsMHgwMCwweGY5LDB4MDAsMHgzZSwweDY0LDB4MGYsMHgxMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4ODEsMHgzZSB9fSwKLSB7MTYsIDB4ODRhMCwgMCwgezB4NjYsMHg4ZiwweDkwLDB4MjMsMHhlNCwweDgwLDB4ZjksMHgwNCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDA0LDB4ZjkgfX0sCi0gezE2LCAweDg0YjAsIDAsIHsweDAwLDB4M2MsMHg0MCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4MTAsMHgwMywweGNhIH19LAotIHsxNiwgMHg4NGMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmEsMHgxMCwweGEwLDB4MDAsMHhmOCwweDI0LDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4ODRkMCwgMCwgezB4MmMsMHg4NCwweDAzLDB4MjAsMHgwMCwweGI4LDB4MjAsMHgzZSwweDAwLDB4OGMsMHg4MCwweDAzLDB4YTAsMHgwMCwweDcwLDB4ODIgfX0sCi0gezE2LCAweDg0ZTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDA4LDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgyYywweDgwLDB4MGIsMHgyMCwweDA4IH19LAotIHsxNiwgMHg4NGYwLCAwLCB7MHhjOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODUwMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHhiZSwweDgwLDB4M2EsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDQsMHg4ZSwweDAwLDB4NmQgfX0sCi0gezE2LCAweDg1MTAsIDAsIHsweDkwLDB4MGQsMHhhMCwweDAyLDB4M2EsMHgwMCwweDhlLDB4ODAsMHhhMiwweDgwLDB4MGUsMHhlMCwweDBiLDB4NjgsMHgwMCwweGJhIH19LAotIHsxNiwgMHg4NTIwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ZGEsMHgwMCwweDJlLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4ODUzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4ODEsMHg0YywweDAwLDB4YjEsMHgwMCwweDJjLDB4YzAgfX0sCi0gezE2LCAweDg1NDAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDBjLDB4MTgsMHhhMywweDAyLDB4MmMsMHgxMCwweDg4LDB4MzAsMHgwNiwweDgyLDB4ODEsMHhhMCwweDAwIH19LAotIHsxNiwgMHg4NTUwLCAwLCB7MHgyYSwweGMwLDB4MGIsMHgzMCwweDBhLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MWEsMHhiMCwweDAyLDB4OGMsMHgwMSB9fSwKLSB7MTYsIDB4ODU2MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1NzAsIDAsIHsweDIwLDB4MDEsMHgxYywweDEwLDB4YjQsMHgwYSwweDJiLDB4YzgsMHgwOCwweDMxLDB4MjYsMHgxYywweDAwLDB4ODYsMHgwMCwweDJkIH19LAotIHsxNiwgMHg4NTgwLCAwLCB7MHhjMCwweDA5LDB4NzIsMHgwMiwweDFkLDB4MDAsMHhhNSwweDQwLDB4MjksMHhjMCwweDBhLDB4NjAsMHgwMiwweDVjLDB4ODgsMHhiMyB9fSwKLSB7MTYsIDB4ODU5MCwgMCwgezB4MjAsMHgyNSwweGM4LDB4MGEsMHg3MiwweDAyLDB4OWMsMHg4MCwweDk3LDB4MjAsMHgyYywweGU4LDB4ODAsMHg3MiwweDAyLDB4ZTggfX0sCi0gezE2LCAweDg1YTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA4LDB4MTYsMHgwMCwweGI1LDB4ODAsMHgzZCwweGUyIH19LAotIHsxNiwgMHg4NWIwLCAwLCB7MHgwYywweDdhLDB4OGIsMHgwZSwweGMwLDB4YTcsMHg4MSwweDJjLDB4MjAsMHgwYywweGZjLDB4MDMsMHg5MiwweDAyLDB4ZWYsMHg4MCB9fSwKLSB7MTYsIDB4ODVjMCwgMCwgezB4MzksMHhlNCwweDBiLDB4ZDgsMHgwMSwweDFmLDB4MDAsMHhmNywweDgwLDB4YjMsMHhmNCwweDhlLDB4NzksMHgwMywweDhlLDB4MDAgfX0sCi0gezE2LCAweDg1ZDAsIDAsIHsweGM3LDB4YzQsMHgzZCwweGU4LDB4MmMsMHg3YiwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NWUwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSwweGRkLDB4ODcsMHhiNiwweDAzLDB4ZWQsMHhjYywweGU5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4ODVmMCwgMCwgezB4NDAsMHgwZiwweGIwLDB4MDcsMHhjYywweDEwLDB4MGIsMHgwMCwweDM2LDB4ZDgsMHgwZiwweDgwLDB4NDMsMHhhZCwweDgwLDB4ZmIgfX0sCi0gezE2LCAweDg2MDAsIDAsIHsweDI4LDB4M2EsMHhjMCwweDBkLDB4YjQsMHgwMywweDZjLDB4ZTIsMHhlYiwweDYwLDB4M2UsMHhkNCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHg4NjEwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhmZSwweDkwLDB4M2YsMHhlNSB9fSwKLSB7MTYsIDB4ODYyMCwgMCwgezB4MGUsMHhmOCwweDAzLDB4M2UsMHgxMCwweGZmLDB4OTAsMHgxNywweDYwLDB4MGYsMHhmYywweDAzLDB4N2EsMHgwMCwweGVlLDB4ODAgfX0sCi0gezE2LCAweDg2MzAsIDAsIHsweDM3LDB4ZTIsMHgwZSwweDc4LDB4MGYsMHhmZiwweDQwLDB4ZWYsMHg4OCwweDFmLDB4ZTAsMHgwYywweGY4LDB4ODMsMHhmZSwweDgwIH19LAotIHsxNiwgMHg4NjQwLCAwLCB7MHhjZiwweGQwLDB4YjMsMHhmMCwweDBjLDB4ZjgsMHhjMywweDEwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODY1MCwgMCwgezB4YTgsMHgxMSwweDljLDB4NDAsMHhiNCwweDEwLDB4MGYsMHhjYywweDAwLDB4NzIsMHgwMiwweDFjLDB4MDAsMHhiNiwweDAyLDB4MDkgfX0sCi0gezE2LCAweDg2NjAsIDAsIHsweGMwLDB4MjgsMHhmMCwweDAyLDB4OTgsMHgwMCwweGE2LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAzLDB4ZmMsMHgwMiwweDg3IH19LAotIHsxNiwgMHg4NjcwLCAwLCB7MHgwMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkZSwweDAwLDB4OGYsMHgxMCwweDIxLDB4YzAsMHgwOCwweGYwLDB4MDMsMHg2YSB9fSwKLSB7MTYsIDB4ODY4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5NCwweDAwLDB4YjYsMHgwMiwweDJmLDB4YzIgfX0sCi0gezE2LCAweDg2OTAsIDAsIHsweDFhLDB4MzAsMHg4MCwweDFjLDB4MDAsMHhiNiwweDA4LDB4MDEsMHg0MCwweDBhLDB4ZjAsMHgwMiwweDE4LDB4MDAsMHg4NywweDAwIH19LAotIHsxNiwgMHg4NmEwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHhkMCwweDAyLDB4OWMsMHgxMCwweDg3LDB4MDAsMHgyOSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg0NCB9fSwKLSB7MTYsIDB4ODZiMCwgMCwgezB4ODcsMHgxMCwweDY0LDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwNiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2YzAsIDAsIHsweDYwLDB4MTQsMHhjZSwweDYwLDB4YjAsMHgwMCwweDJjLDB4YzAsMHgwOCwweDM0LDB4MGEsMHgwYywweDA4LDB4YjAsMHgwNCwweDAwIH19LAotIHsxNiwgMHg4NmQwLCAwLCB7MHg0MCwweDA4LDB4MzAsMHhhMiwweDg5LDB4ODAsMHhhMiwweDYyLDB4MjAsMHhlMCwweDBiLDB4MDAsMHgwYSwweGNjLDB4MDgsMHg4MyB9fSwKLSB7MTYsIDB4ODZlMCwgMCwgezB4MDAsMHg2YywweGMwLDB4MDgsMHgzMCwweDUyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NTggfX0sCi0gezE2LCAweDg2ZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWUsMHgwMCwweGY4LDB4MDAsMHgzZiwweGQwIH19LAotIHsxNiwgMHg4NzAwLCAwLCB7MHgwZSwweGZjLDB4MDMsMHgzYywweDAwLDB4ZjksMHgwMCwweDkyLDB4ODQsMHgwZiwweGZjLDB4MDMsMHg2NCwweDAwLDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ODcxMCwgMCwgezB4YjcsMHhjMywweDBmLDB4YjgsMHg4MywweGJjLDB4MDQsMHhlZiwweDAwLDB4M2YsMHhjMCwweDNjLDB4ZjAsMHgwMywweGZjLDB4MDIgfX0sCi0gezE2LCAweDg3MjAsIDAsIHsweGNmLDB4MDAsMHgzNywweGMwLDB4MjgsMHhmMCwweDEzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NzMwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGY4LDB4NDEsMHgzZSwweGM4LDB4MGYsMHgzMiwweDAzLDB4ZWMsMHgwMCwweGY4LDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4ODc0MCwgMCwgezB4YzQsMHgwZiwweGIxLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4YzAsMHgwZiwweGU0LDB4MGIsMHhlYywweDA0LDB4ZmIgfX0sCi0gezE2LCAweDg3NTAsIDAsIHsweDAwLDB4M2UsMHhjMSwweDBmLDB4YjAsMHg0MywweGVjLDB4MDQsMHhmYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGU0IH19LAotIHsxNiwgMHg4NzYwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY0LDB4MDAsMHhmYywweDgwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4ODc3MCwgMCwgezB4MWYsMHhmMCwweDAzLDB4M2MsMHgwOCwweGZiLDB4MDAsMHgzMywweDgwLDB4MmUsMHhmMCwweDEzLDB4YTQsMHgwNCwweGNiLDB4MDAgfX0sCi0gezE2LCAweDg3ODAsIDAsIHsweGI5LDB4YzAsMHgyYywweGQ4LDB4MGIsMHgzYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwOSwweDcwLDB4MDAsMHgyYywweDA0IH19LAotIHsxNiwgMHg4NzkwLCAwLCB7MHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGMwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODdhMCwgMCwgezB4YzEsMHgwMCwweDZjLDB4MDAsMHhiOCwweDgwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMywweDZjLDB4MDAsMHhiOSwweDE2LDB4MjggfX0sCi0gezE2LCAweDg3YjAsIDAsIHsweDcyLDB4MDgsMHhiMCwweDIyLDB4MjcsMHg0MCwweGRiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiZCwweDgyLDB4MmMsMHgwOCwweGJiIH19LAotIHsxNiwgMHg4N2MwLCAwLCB7MHgwMCwweDJlLDB4YzAsMHg0OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzEsMHgwYiwweGIwLDB4MDIsMHhlMCB9fSwKLSB7MTYsIDB4ODdkMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YjgsMHg2MCwweDJlLDB4YzAgfX0sCi0gezE2LCAweDg3ZTAsIDAsIHsweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiMSwweDAwLDB4MmEsMHg4NCwweDRhLDB4MzAsMHgyMiwweGFjLDB4MjAsMHg5OCwweDgwIH19LAotIHsxNiwgMHg4N2YwLCAwLCB7MHgyYSwweGMwLDB4MDgsMHgzMCwweDAyLDB4YWMsMHgwMCwweDNiLDB4MDAsMHgyYywweGMwLDB4MGEsMHhiMCwweDAyLDB4YWMsMHgwOCB9fSwKLSB7MTYsIDB4ODgwMCwgMCwgezB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4MTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDAxLDB4YjAsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0YywweDA0LDB4YjAsMHgwMCwweDJhIH19LAotIHsxNiwgMHg4ODIwLCAwLCB7MHg4MCwweDA4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHgxMCwweDA0LDB4MjgsMHhjMCwweDA4LDB4MjAsMHg0MiwweDhjLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4ODgzMCwgMCwgezB4MDAsMHgyYywweGMwLDB4NDIsMHgzMCwweDBhLDB4OGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4OGIsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDg4NDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjQsMHgwMCwweGY4LDB4NTAsMHgzZiwweGMwIH19LAotIHsxNiwgMHg4ODUwLCAwLCB7MHgwYiwweGYwLDB4MDMsMHgzYywweDAwLDB4ZmEsMHgwNCwweDMyLDB4ODAsMHgwZSwweGYwLDB4MjMsMHhhYywweDAwLDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4ODg2MCwgMCwgezB4M2IsMHhjMCwweDBjLDB4OTAsMHgwMywweGJjLDB4MDQsMHhmZiwweDAwLDB4M2QsMHhjMCwweDJlLDB4ZjAsMHgwYiwweDNjLDB4MDAgfX0sCi0gezE2LCAweDg4NzAsIDAsIHsweGZmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ODgwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZiwweGMwLDB4MDcsMHhmMCwweDAzLDB4ZmMsMHgwNCwweDdjLDB4MDIsMHhiNSB9fSwKLSB7MTYsIDB4ODg5MCwgMCwgezB4MDAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDM3LDB4YzAsMHgwZiwweGYwLDB4MTMsMHg3YywweDAwLDB4ZmYgfX0sCi0gezE2LCAweDg4YTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweDZkLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDFmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHg4OGIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQyLDB4MDAsMHhkNSwweDgwLDB4MzMsMHgwYSB9fSwKLSB7MTYsIDB4ODhjMCwgMCwgezB4NGMsMHhmOCwweDAzLDB4ZjIsMHgwMCwweGZjLDB4MDAsMHgzNywweDI2LDB4MWYsMHhjYSwweDAzLDB4YmMsMHhjNCwweGNmLDB4MjAgfX0sCi0gezE2LCAweDg4ZDAsIDAsIHsweDMzLDB4ZTQsMHgwZiwweDc4LDB4MDMsMHgzZSwweDQ0LDB4Y2YsMHgwMCwweDNiLDB4Y2UsMHg5ZiwweDY4LDB4MTMsMHhkMCwweDAwIH19LAotIHsxNiwgMHg4OGUwLCAwLCB7MHhjZCwweDgwLDB4YjMsMHg2MCwweDBmLDB4ZmEsMHg4MywweGYwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODhmMCwgMCwgezB4ODAsMHgxMCwweGUwLDB4ODAsMHhjOSwweDI4LDB4MjIsMHgzMCwweDA4LDB4YjIsMHgyMiwweGVhLDB4MDEsMHhiOCwweDgyLDB4MjAgfX0sCi0gezE2LCAweDg5MDAsIDAsIHsweDUwLDB4NGYsMHg5YywweDAwLDB4YTgsMHhkMSwweGRiLDB4MTAsMHhhNiwweGUwLDB4MTcsMHhiOCwweDAzLDB4ZWMsMHg4MCwweGRiIH19LAotIHsxNiwgMHg4OTEwLCAwLCB7MHgwOCwweDFmLDB4ZDAsMHgwYiwweGI4LDB4MDIsMHhmNiwweDAwLDB4ZmIsMHg4MCwweDIyLDB4NDAsMHgwYiwweGIwLDB4MDIsMHg2MCB9fSwKLSB7MTYsIDB4ODkyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDIwLDB4ODEsMHg4MCwweDIwLDB4MDAgfX0sCi0gezE2LCAweDg5MzAsIDAsIHsweDhiLDB4MzAsMHg4MiwweGMwLDB4MDAsMHhiMCwweDEwLDB4MjgsMHgwOCwweDhiLDB4MTEsMHgzMCwweGM0LDB4ODQsMHg5MCwweDI4IH19LAotIHsxNiwgMHg4OTQwLCAwLCB7MHgyNCwweGM4LDB4MGIsMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MTAsMHgwNCwweGM4LDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4ODk1MCwgMCwgezB4YjMsMHgwMCwweDI0LDB4NDAsMHgwYiwweDMwLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5NjAsIDAsIHsweGMwLDB4MTUsMHhhNiwweDAwLDB4ODEsMHgwMCwweDIyLDB4MTAsMHgwYiwweGIwLDB4MTIsMHhlYSwweDIwLDB4YmIsMHgwMCwweDJhIH19LAotIHsxNiwgMHg4OTcwLCAwLCB7MHg3MCwweDBhLDB4OWMsMHgwMiwweDYyLDB4MDAsMHg5OCwweDg4LDB4MjYsMHhjOCwweDAyLDB4YjIsMHgwMiwweDhlLDB4MDgsMHg4YiB9fSwKLSB7MTYsIDB4ODk4MCwgMCwgezB4MTgsMHgyMiwweGMwLDB4MGIsMHhhMCwweDAyLDB4ZWUsMHgyMCwweDNiLDB4MDAsMHgyNiwweDQwLDB4MGIsMHhiMCwweDAyLDB4NzAgfX0sCi0gezE2LCAweDg5OTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZTAsMHgwMCwweGNiLDB4MDAsMHgzMiwweDgwIH19LAotIHsxNiwgMHg4OWEwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlNywweDAwLDB4YjgsMHg1MiwweDNlLDB4MjAsMHg0YiwweDBjLDB4NDMsMHhlZiwweDgyLDB4OWIsMHhjMCB9fSwKLSB7MTYsIDB4ODliMCwgMCwgezB4MzIsMHhjMCwweDBiLDB4YjAsMHgwMiwweDZjLDB4MDEsMHg4YiwweDgwLDB4MmUsMHhjMCwweDBiLDB4YTAsMHg4MywweGU2LDB4MDAgfX0sCi0gezE2LCAweDg5YzAsIDAsIHsweGZiLDB4MDAsMHgzNiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OWQwLCAwLCB7MHhlMCwweDAxLDB4YjAsMHgwMiwweGZmLDB4MDQsMHgzZiwweDkwLDB4MGMsMHhmMSwweDAxLDB4ZjQsMHgwOCwweDdkLDB4ODAsMHgzNyB9fSwKLSB7MTYsIDB4ODllMCwgMCwgezB4MDAsMHgwZiwweGMwLDB4MjMsMHg5OCwweDAwLDB4ZjcsMHgwMCwweDJiLDB4ZTAsMHgwZiwweGY4LDB4MjMsMHhmYywweDA2LDB4ZmIgfX0sCi0gezE2LCAweDg5ZjAsIDAsIHsweDgzLDB4YmYsMHhjMCwweDg3LDB4ZDAsMHgwMywweGRjLDB4MDAsMHhlZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4YjAsMHgwMSwweGY4IH19LAotIHsxNiwgMHg4YTAwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE2LDB4MDAsMHhjYiwweDAwLDB4MzMsMHg4MCB9fSwKLSB7MTYsIDB4OGExMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZTEsMHgxMCwweGYyLDB4NDAsMHhiMiwweDAwLDB4M2QsMHg5NCwweDE3LDB4MmQsMHg0NCwweGZhLDB4NDEgfX0sCi0gezE2LCAweDhhMjAsIDAsIHsweDMyLDB4YzAsMHg5ZiwweGIwLDB4MjMsMHgyYywweDAyLDB4Y2IsMHg0MCwweDMyLDB4YzAsMHg0ZiwweDkwLDB4MDMsMHgzZCwweDAwIH19LAotIHsxNiwgMHg4YTMwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGE0MCwgMCwgezB4ODgsMHgwNSwweDI2LDB4MDAsMHg4YiwweDcxLDB4MjAsMHhkNSwweDAzLDB4OTksMHgwMiwweGUwLDB4MDAsMHhiYiwweDgwLDB4MjIgfX0sCi0gezE2LCAweDhhNTAsIDAsIHsweDYwLDB4MWMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGI4LDB4MDIsMHgyMiwweGMyLDB4MGIsMHgzMiwweDAyLDB4MmMsMHgwMSwweDhmIH19LAotIHsxNiwgMHg4YTYwLCAwLCB7MHgwMiwweGQ3LDB4YzAsMHgwYiwweGEwLDB4MDMsMHg2ZCwweDQwLDB4NTMsMHg4MCwweDJlLDB4YzAsMHgwZSwweGYwLDB4NDMsMHg3MiB9fSwKLSB7MTYsIDB4OGE3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2OCwweDAyLDB4ODAsMHgwMCwweDI0LDB4MDAgfX0sCi0gezE2LCAweDhhODAsIDAsIHsweDBiLDB4MzUsMHgyNiwweGMyLDB4MDAsMHhiMCwweDkwLDB4MjAsMHhjMCwweDg4LDB4MDAsMHgwMiwweDRmLDB4MjAsMHhiMywweDAyIH19LAotIHsxNiwgMHg4YTkwLCAwLCB7MHg2MCwweGUyLDB4MWIsMHgzOCwweDAyLDB4MGMsMHgwMCwweDg4LDB4MDAsMHg2MCwweGMwLDB4MGIsMHgzNCwweDgyLDB4NGMsMHgwMiB9fSwKLSB7MTYsIDB4OGFhMCwgMCwgezB4YTEsMHg5MCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHgzMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhYjAsIDAsIHsweDIwLDB4MDEsMHgzYSwweDA4LDB4OGMsMHhhMCwweDJkLDB4MjAsMHg0YiwweDc4LDB4MDIsMHhkYSwweDAwLDB4YjIsMHg5MCwweDIxIH19LAotIHsxNiwgMHg4YWMwLCAwLCB7MHg2NiwweDQ4LDB4NzksMHgwMiwweGRlLDB4NDAsMHhiNywweDkxLDB4YTEsMHhlMCwweGRiLDB4ZjgsMHgwMiwweDFlLDB4NDAsMHg4NCB9fSwKLSB7MTYsIDB4OGFkMCwgMCwgezB4OTAsMHgwMSwweGUwLDB4OGIsMHhmOSwweDAyLDB4NWUsMHgwMSwweDk3LDB4ODAsMHgyZCwweDYwLDB4MGEsMHg3OCwweDAwLDB4NDggfX0sCi0gezE2LCAweDhhZTAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgwLDB4MDAsMHgyNCwweDA0IH19LAotIHsxNiwgMHg4YWYwLCAwLCB7MHgwZiwweDMyLDB4MDMsMHhjNCwweGEwLDB4ZjEsMHg0MiwweDMwLDB4YzQsMHgyYywweDMxLDB4MDIsMHg0NCwweDAwLDB4ZjEsMHgxMSB9fSwKLSB7MTYsIDB4OGIwMCwgMCwgezB4YTAsMHhjMCwweDBiLDB4MzAsMHgwYiwweDBjLDB4NDIsMHg4MywweDAwLDB4MDAsMHhjMCwweDBmLDB4MzAsMHgwMywweDRjLDB4MDIgfX0sCi0gezE2LCAweDhiMTAsIDAsIHsweGUzLDB4MDAsMHgzYywweDQwLDB4MGIsMHgzMCwweDAxLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YjIwLCAwLCB7MHhjMCwweDFkLDB4YmMsMHgwMCwweGZjLDB4YTUsMHgzMywweGMwLDB4MGYsMHhkMCwweDAzLDB4ZmMsMHgwMSwweGJmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OGIzMCwgMCwgezB4YzQsMHgwZSwweDcxLDB4MDMsMHg3NCwweDAwLDB4NzUsMHgxMCwweDNmLDB4YzAsMHgwNSwweGYwLDB4MDMsMHhkYywweDQwLDB4ZmYgfX0sCi0gezE2LCAweDhiNDAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweGZjLDB4MDAsMHg3ZiwweDAwLDB4M2YsMHg0MCwweDBlLDB4ZjAsMHgwMywweGQwIH19LAotIHsxNiwgMHg4YjUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNCwweGU4LDB4MDAsMHhmMiwweDA0LDB4YjMsMHg4MCB9fSwKLSB7MTYsIDB4OGI2MCwgMCwgezB4MGYsMHhiOCwweDBiLDB4MmMsMHgwMCwweGViLDB4ODAsMHgzMiwweGMwLDB4MGMsMHgyMCwweDEzLDB4MmUsMHgwOCwweGNiLDB4MDEgfX0sCi0gezE2LCAweDhiNzAsIDAsIHsweDMyLDB4YzUsMHgwZiwweGIxLDB4MDMsMHhlYywweDQ4LDB4YzgsMHgxMCwweDMyLDB4ZmEsMHg4YywweDM4LDB4MDMsMHgzYywweDkwIH19LAotIHsxNiwgMHg4YjgwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgxMywweGMyLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGI5MCwgMCwgezB4YzgsMHgxMCwweDk4LDB4MDAsMHhmNiwweDAwLDB4NjEsMHg4MSwweDBiLDB4ZjAsMHgwMiwweDFjLDB4MDAsMHhkNywweDAwLDB4YjcgfX0sCi0gezE2LCAweDhiYTAsIDAsIHsweDgwLDB4MGMsMHg3MCwweDAyLDB4YmMsMHgxMCwweDhmLDB4MDAsMHgyMSwweGM4LDB4OGIsMHg3MiwweDQzLDB4ZmMsMHg4OCwweGRjIH19LAotIHsxNiwgMHg4YmIwLCAwLCB7MHgwMCwweDM3LDB4YzgsMHgwZCwweDUwLDB4MDIsMHgxYywweDIyLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkMyB9fSwKLSB7MTYsIDB4OGJjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDAwLDB4YjYsMHg4MCwweGE5LDB4YTAgfX0sCi0gezE2LCAweDhiZDAsIDAsIHsweDRiLDB4N2MsMHgwMiwweDVlLDB4MzAsMHhhMywweDg4LDB4MjEsMHhmMCwweDA4LDB4NzgsMHgwMiwweDE2LDB4MDAsMHg4NSwweDgwIH19LAotIHsxNiwgMHg4YmUwLCAwLCB7MHgyMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4ZGUsMHgwMCwweDg3LDB4ODAsMHhhMSwweGU0LDB4MDgsMHhkOCwweDAyLDB4NGUsMHgwMCB9fSwKLSB7MTYsIDB4OGJmMCwgMCwgezB4OTcsMHg4MCwweDJkLDB4NzAsMHgwYiwweDc4LDB4MDIsMHhjOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjMDAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDAwLDB4YjIsMHgwMCwweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg0ZSwweDkwLDB4OTMsMHgwMiwweDIyIH19LAotIHsxNiwgMHg4YzEwLCAwLCB7MHhmMCwweDA4LDB4MzgsMHg0MiwweDhjLDB4NDIsMHg4MywweDA0LDB4MjIsMHhlNCwweDRiLDB4MzgsMHgwMiwweDhlLDB4NDAsMHg4MyB9fSwKLSB7MTYsIDB4OGMyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MDksMHgzOCwweDIyLDB4NGUsMHgyMSwweDkzLDB4MDAsMHgyZSwweGUwLDB4MGIsMHgzMCwweDAyLDB4ZGIgfX0sCi0gezE2LCAweDhjMzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YTgsMHgwMSwweGZhLDB4MDAsMHgzYiwweDg5IH19LAotIHsxNiwgMHg4YzQwLCAwLCB7MHgwZiwweGEwLDB4MDIsMHg3OCwweDA4LDB4YWUsMHg0MCwweDIzLDB4ODAsMHgyYywweDZjLDB4MGIsMHgzYSwweDAwLDB4OGUsMHg4YyB9fSwKLSB7MTYsIDB4OGM1MCwgMCwgezB4YjIsMHgwMCwweDBiLDB4ODAsMHg4MiwweGUwLDB4MDIsMHg4ZSwweDAwLDB4MjIsMHg4MCwweDBjLDB4ZTgsMHgwMiwweDdiLDB4ODAgfX0sCi0gezE2LCAweDhjNjAsIDAsIHsweDlhLDB4ODAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YzcwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwOSwweGVjLDB4MDAsMHgzNiwweDIxLDB4MGIsMHg4MCwweDEzLDB4YTEsMHgwMCwweGY4LDB4NjAsMHgzZSB9fSwKLSB7MTYsIDB4OGM4MCwgMCwgezB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDEwLDB4ZjggfX0sCi0gezE2LCAweDhjOTAsIDAsIHsweDAwLDB4YmUsMHgwMCwweDBmLDB4ODUsMHgwYiwweDgwLDB4MDAsMHhlOCwweDEwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4Y2EwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAyLDB4MzAsMHg0OCB9fSwKLSB7MTYsIDB4OGNiMCwgMCwgezB4MGMsMHg5OSwweDEzLDB4YTQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQyLDB4MGMsMHg5MCwweDhmLDB4MjQsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweDhjYzAsIDAsIHsweDMyLDB4MjgsMHgwYywweDg4LDB4MDMsMHhlMCwweDAwLDB4YzksMHgwMCwweGIyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNywweDAwIH19LAotIHsxNiwgMHg4Y2QwLCAwLCB7MHhjOSwweDEwLDB4M2UsMHg0MCwweDBjLDB4MTAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGNlMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDEsMHg4OSwweDgwLDB4YTIsMHg0OCwweDI4LDB4OTIsMHg0MiwweGM1LDB4MDAsMHg4OSwweDQwLDB4MmUgfX0sCi0gezE2LCAweDhjZjAsIDAsIHsweDQwLDB4MmMsMHg5MCwweDA2LDB4MjUsMHgwMCwweGI5LDB4MDAsMHgyMiwweDUwLDB4MDgsMHg5OCwweDAyLDB4YzQsMHgwMCwweDg5IH19LAotIHsxNiwgMHg4ZDAwLCAwLCB7MHgwMSwweDc2LDB4NDAsMHg0YiwweDkyLDB4MDIsMHhlNSwweDAyLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4OGQxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDBjLDB4ODUsMHgyMCwweGEyLDB4NDAgfX0sCi0gezE2LCAweDhkMjAsIDAsIHsweDA4LDB4OTAsMHgwNiwweGU1LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHg0MiwweGE0LDB4YTAsMHgzMSwweDAwIH19LAotIHsxNiwgMHg4ZDMwLCAwLCB7MHgyMiwweDUwLDB4MTgsMHg5MSwweDAyLDB4ZTQsMHgwMCwweDgxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDA2LDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4OGQ0MCwgMCwgezB4ODksMHgwMCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkNTAsIDAsIHsweDAwLDB4MDQsMHgxNSwweDAwLDB4ODUsMHg0MCwweDIwLDB4NDAsMHgwOCwweDE0LDB4MjYsMHhlNCwweDAwLDB4ODEsMHgwMCwweDJjIH19LAotIHsxNiwgMHg4ZDYwLCAwLCB7MHg0MCwweDE4LDB4MTAsMHgwMiwweDg0LDB4ODAsMHhiMSwweDIwLDB4YTAsMHg1MCwweDA4LDB4MTQsMHgwMiwweGU1LDB4MDIsMHg4MSB9fSwKLSB7MTYsIDB4OGQ3MCwgMCwgezB4NDAsMHgyMCwweDQ4LDB4MGIsMHgxMCwweDA2LDB4Y2MsMHgwMCwweDgxLDB4MDEsMHgyYywweDUwLDB4MDksMHgxNCwweDAyLDB4NGEgfX0sCi0gezE2LCAweDhkODAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweDhjLDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHg4ZDkwLCAwLCB7MHgwYywweDgwLDB4MjMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MTQsMHgwZCwweDgwLDB4MTIsMHhhMSwweDQ0LDB4ZjgsMHg1MSB9fSwKLSB7MTYsIDB4OGRhMCwgMCwgezB4MzIsMHgwMCwweDJjLDB4ODAsMHgwMywweGUwLDB4MDAsMHg4OCwweDA0LDB4MjIsMHgxNCwweDBmLDB4ODAsMHgwNywweGUwLDB4MDAgfX0sCi0gezE2LCAweDhkYjAsIDAsIHsweGM4LDB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZGMwLCAwLCB7MHg5OCwweDlkLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZiwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZGMsMHgwMSwweGJkLDB4NDIsMHgzZiB9fSwKLSB7MTYsIDB4OGRkMCwgMCwgezB4NTAsMHg0ZiwweGQ0LDB4NDMsMHg3NCwweDQxLDB4ZmQsMHgxMCwweDNmLDB4MTAsMHgxZiwweGM0LDB4MTMsMHhmMSwweDAwLDB4ZmQgfX0sCi0gezE2LCAweDhkZTAsIDAsIHsweDQwLDB4N2UsMHg0NCwweDBmLDB4ZDAsMHg0MywweGY1LDB4MDEsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4OTQsMHgwMywweGU2IH19LAotIHsxNiwgMHg4ZGYwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY0LDB4MDAsMHhkZiwweDA1LDB4MzMsMHg2MSB9fSwKLSB7MTYsIDB4OGUwMCwgMCwgezB4MGYsMHg1MCwweDUzLDB4MzQsMHgxMCwweGZkLDB4MDQsMHgzMywweDQ0LDB4NGYsMHg1MCwweDAzLDB4NzYsMHhjMSwweGNkLDB4ZTAgfX0sCi0gezE2LCAweDhlMTAsIDAsIHsweDMzLDB4NjAsMHgwYywweGNlLDB4MDMsMHhmNiwweGMwLDB4ZTEsMHhjMCwweGI2LDB4NjQsMHg4ZiwweDUwLDB4MGIsMHgzNiwweDgyIH19LAotIHsxNiwgMHg4ZTIwLCAwLCB7MHhjZCwweDAwLDB4M2UsMHg0NCwweDRjLDB4OWUsMHhjMywweGM2LDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGUzMCwgMCwgezB4MzgsMHgxMCwweGVhLDB4MjgsMHg4MCwweGEwLDB4YjIsMHgwNCwweDBiLDB4OGEsMHg4MywweDYwLDB4MDAsMHhmYSwweDAwLDB4MzYgfX0sCi0gezE2LCAweDhlNDAsIDAsIHsweDI4LDB4OGIsMHg4MCwweDAzLDB4ZTMsMHhjOCwweGM4LDB4ODQsMHgyMiwweDE0LDB4MDgsMHg4YSwweDAyLDB4ZTIsMHg4MCwweGQ4IH19LAotIHsxNiwgMHg4ZTUwLCAwLCB7MHg4MiwweDM0LDB4MzQsMHgxYiwweDgwLDB4MDMsMHg2MCwweDA0LDB4ODgsMHgwMCwweDJlLDB4MjAsMHgwYSwweDhlLDB4NDIsMHhjZSB9fSwKLSB7MTYsIDB4OGU2MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHgwOCwweDA0LDB4NDEgfX0sCi0gezE2LCAweDhlNzAsIDAsIHsweDBiLDB4OTIsMHgwMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MTgsMHgwMiwweDI0LDB4MDAsMHhiMSwweDYwIH19LAotIHsxNiwgMHg4ZTgwLCAwLCB7MHgyNiwweDQwLDB4MGEsMHgxNiwweDAyLDB4YzUsMHgwMCwweGExLDB4YzAsMHgyMCwweDQ4LDB4MGIsMHg5MCwweDAyLDB4NDcsMHgwMCB9fSwKLSB7MTYsIDB4OGU5MCwgMCwgezB4OTEsMHgwMSwweDJjLDB4NDgsMHgxOCwweDEyLDB4MDIsMHhkMiwweDAxLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhlYTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDBjLDB4OGIsMHgwNCwweGEyLDB4NTAsMHgwYiwweDkxLDB4MDIsMHgyNCwweDA0LDB4YTksMHgwMSwweDJlIH19LAotIHsxNiwgMHg4ZWIwLCAwLCB7MHg0MiwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDAsMHhhOSwweDAwLDB4MjYsMHg2MCwweDBhLDB4OTAsMHgwMiwweGU2LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4OGVjMCwgMCwgezB4MDAsMHgyMiwweDQwLDB4OGIsMHhiMCwweDAyLDB4MjQsMHgwOCwweDk5LDB4MTAsMHgyZSwweDQwLDB4MWEsMHg5MCwweDAyLDB4YzYgfX0sCi0gezE2LCAweDhlZDAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTUsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHg4ZWUwLCAwLCB7MHgwZiwweDEwLDB4MDIsMHgyNSwweDAwLDB4YjEsMHgwMCwweDJlLDB4NjAsMHgwZiwweDEwLDB4MTIsMHgyNCwweDAyLDB4YjksMHhhMCB9fSwKLSB7MTYsIDB4OGVmMCwgMCwgezB4YTQsMHg0MCwweDJlLDB4OTEsMHgwMywweGU2LDB4MDAsMHhhOSwweDAwLDB4MjIsMHg0MCwweDBiLDB4MTksMHg4MCwweDY0LDB4MDQgfX0sCi0gezE2LCAweDhmMDAsIDAsIHsweGQ5LDB4ODEsMHgyZSwweDQwLDB4NGMsMHg5MCwweDAzLDB4ZTgsMHgxNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZjEwLCAwLCB7MHg2OCwweDAxLDB4YTQsMHgwYSwweGU5LDB4MDAsMHhiZSwweDQ4LDB4MGYsMHg5OCwweDBiLDB4ZTQsMHgwMCwweGY5LDB4YzQsMHgzNiB9fSwKLSB7MTYsIDB4OGYyMCwgMCwgezB4NzAsMHgxZiwweDkyLDB4MDMsMHhlNiwweDkwLDB4YzEsMHg5MCwweDNhLDB4NDAsMHg4ZCwweDg4LDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweDhmMzAsIDAsIHsweDkwLDB4M2UsMHg0MCwweDBiLDB4OTgsMHgwMywweGU2LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGQyIH19LAotIHsxNiwgMHg4ZjQwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgxMCwweGExLDB4MDIsMHhkOCwweDIwLDB4YjIsMHgxMCB9fSwKLSB7MTYsIDB4OGY1MCwgMCwgezB4MGMsMHg4MCwweDgzLDB4MjEsMHg0MCwweGM4LDB4NTgsMHhiMiwweDEwLDB4NGMsMHg4MCwweDBiLDB4MjAsMHgwMCwweGY4LDB4NDIgfX0sCi0gezE2LCAweDhmNjAsIDAsIHsweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAyLDB4ZDgsMHgwMCwweDcyLDB4MDAsMHgxYywweDgwLDB4MDAsMHgyMCwweDAwIH19LAotIHsxNiwgMHg4ZjcwLCAwLCB7MHhmOCwweDA0LDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGY4MCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDQsMHhjZSwweDQxLDB4MjMsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDM5LDB4MTAsMHhhZSwweDQwLDB4MjIgfX0sCi0gezE2LCAweDhmOTAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MWEsMHgwMCwweGJhLDB4MDAsMHgyYiwweGFkLDB4MDMsMHg4MCwweDAyLDB4ZTgsMHgwMCwweGNhIH19LAotIHsxNiwgMHg4ZmEwLCAwLCB7MHgwMCwweDJhLDB4ODAsMHgwYSwweGUwLDB4MDIsMHgxOCwweDAwLDB4YmEsMHgwMCwweDFhLDB4ODAsMHgwYiwweGEwLDB4MDMsMHg0YSB9fSwKLSB7MTYsIDB4OGZiMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDUsMHg2YywweDEyLDB4ODksMHgwMCwweGEwLDB4ZTAgfX0sCi0gezE2LCAweDhmYzAsIDAsIHsweDA4LDB4MzgsMHgwMiwweDBkLDB4ODgsMHg4MywweDAwLDB4MDQsMHhlMCwweDA4LDB4MzgsMHgzMiwweDBlLDB4MjUsMHgzMSwweDAxIH19LAotIHsxNiwgMHg4ZmQwLCAwLCB7MHgyNCwweGUwLDB4OGIsMHgzOCwweDAyLDB4ZTQsMHgwMSwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCB9fSwKLSB7MTYsIDB4OGZlMCwgMCwgezB4YjMsMHgwMCwweDJlLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmZjAsIDAsIHsweGEwLDB4MDEsMHgxNCwweDIwLDB4ODYsMHgyMCwweDI5LDB4YjAsMHgwOCwweGYwLDB4ODIsMHgzZSwweDA0LDB4YTcsMHgwMCwweDIxIH19LAotIHsxNiwgMHg5MDAwLCAwLCB7MHg3MCwweDg4LDB4NzAsMHg5MiwweDFjLDB4MjAsMHhiZCwweDAwLDB4NjksMHhjMCwweDBiLDB4NzYsMHgwMiwweGQ0LDB4ODAsMHg4ZiB9fSwKLSB7MTYsIDB4OTAxMCwgMCwgezB4MjEsMHgyOSwweGUwLDB4MGEsMHg2MCwweDg2LDB4OTgsMHgwMSwweGI3LDB4MDAsMHgyZCwweGM4LDB4MGIsMHgzYiwweDAyLDB4NjAgfX0sCi0gezE2LCAweDkwMjAsIDAsIHsweDA0LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2UsMHgwMCwweGM3LDB4YTAsMHhiMCwweGUwIH19LAotIHsxNiwgMHg5MDMwLCAwLCB7MHgyYywweDc4LDB4MGIsMHgxYSwweDAwLDB4YzMsMHg4MCwweDM3LDB4ZTAsMHgyOCwweDc4LDB4MDMsMHgxYSwweDA4LDB4ZjUsMHg5MCB9fSwKLSB7MTYsIDB4OTA0MCwgMCwgezB4MzUsMHhlMCwweDBmLDB4N2MsMHgxMiwweGQ2LDB4ODIsMHhjNywweDkwLDB4MjEsMHhlNCwweDA4LDB4NzgsMHgwMywweDllLDB4MDAgfX0sCi0gezE2LCAweDkwNTAsIDAsIHsweGY1LDB4ODAsMHgzZCwweGYxLDB4MGYsMHg3OCwweDAzLDB4MjIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MDYwLCAwLCB7MHgwOCwweDE5LDB4YTQsMHgwMCwweGVlLDB4ODAsMHgzNiwweGMxLDB4NGYsMHhkMCwweDAzLDB4YzgsMHgwMCwweGZiLDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4OTA3MCwgMCwgezB4NTEsMHgwZiwweGIwLDB4MDMsMHhlNCwweDA4LDB4ZjEsMHg2MCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjNSwweDAwLDB4ZWIgfX0sCi0gezE2LCAweDkwODAsIDAsIHsweDEwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwOSwweDZjLDB4MDAsMHhmYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyIH19LAotIHsxNiwgMHg5MDkwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweGZlLDB4MDAsMHhmZCwweDg4LDB4MzMsMHg2MCB9fSwKLSB7MTYsIDB4OTBhMCwgMCwgezB4MGYsMHhmOSwweDAzLDB4Y2UsMHg0MCwweGQ3LDB4ODQsMHgzNywweDcwLDB4MGMsMHhkOCwweDIzLDB4MzYsMHgwMCwweGM1LDB4ODggfX0sCi0gezE2LCAweDkwYjAsIDAsIHsweDMzLDB4ZTAsMHg0ZiwweGY4LDB4MTMsMHhmNywweDI4LDB4ZGYsMHg4MCwweDM3LDB4ZTIsMHgwYywweDU4LDB4MDMsMHgzZSwweDAwIH19LAotIHsxNiwgMHg5MGMwLCAwLCB7MHhmZiwweDkwLDB4M2YsMHhlMCwweDBjLDB4ZjgsMHgwMywweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTBkMCwgMCwgezB4YTksMHgxMSwweDljLDB4MDgsMHhmNiwweDAwLDB4YTEsMHgwMCwweDBiLDB4NjMsMHgwMiwweGQ2LDB4MzAsMHg4NSwweDQxLDB4MzEgfX0sCi0gezE2LCAweDkwZTAsIDAsIHsweGM4LDB4MDgsMHg1MCwweDIzLDB4MWMsMHgwMCwweGQ1LDB4MjAsMHhiMSwweDgwLDB4MGYsMHg3MCwweDAzLDB4YjQsMHgwMCwweGM3IH19LAotIHsxNiwgMHg5MGYwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwZiwweDQwLDB4YTMsMHg1OCwweDQwLDB4YjcsMHgwMCwweDNmLDB4YzQsMHgwYSwweGYwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4OTEwMCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDQwLDB4YjcsMHgxMCwweDIxLDB4ZDIgfX0sCi0gezE2LCAweDkxMTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweGRjLDB4NDIsMHg4NiwweDAwLDB4MjUsMHg2MSwweDA4LDB4NTEsMHgwMiwweDUwLDB4MDAsMHg5NSwweDAwIH19LAotIHsxNiwgMHg5MTIwLCAwLCB7MHgyNSwweGMwLDB4MDksMHg3MCwweDgyLDB4ZDQsMHgwMCwweDg3LDB4MDAsMHgyNCwweGMwLDB4MDgsMHg1MCwweDAyLDB4NWMsMHgwMCB9fSwKLSB7MTYsIDB4OTEzMCwgMCwgezB4OTUsMHgwNCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxNDAsIDAsIHsweDIwLDB4MTQsMHhjYywweDA4LDB4YjIsMHhkMCwweDIwLDB4ZTAsMHg0YiwweDA4LDB4MDIsMHhjNCwweDAwLDB4ODAsMHg4MCwweDIwIH19LAotIHsxNiwgMHg5MTUwLCAwLCB7MHhmMCwweDA4LDB4MWEsMHgwMiwweDg1LDB4NDgsMHg4MSwweDEwLDB4MjAsMHg0MCwweDBhLDB4MzAsMHgwMiwweGM2LDB4MTAsMHg5MyB9fSwKLSB7MTYsIDB4OTE2MCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGEsMHgxYywweDAyLDB4MGQsMHg0MCwweGIzLDB4MDAsMHg2OCwweGM0LDB4MGEsMHhiMCwweDAyLDB4MDkgfX0sCi0gezE2LCAweDkxNzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMSwweGZlLDB4MDAsMHgzMiwweGYwIH19LAotIHsxNiwgMHg5MTgwLCAwLCB7MHgwZiwweDg4LDB4MDMsMHhlNiwweDAwLDB4YzgsMHhjOCwweDM2LDB4ZjYsMHgyOCwweGE2LDB4MGEsMHg2ZCwweDAwLDB4OWQsMHgwMCB9fSwKLSB7MTYsIDB4OTE5MCwgMCwgezB4MzIsMHgwMCwweDBiLDB4YjAsMHgwMywweGY2LDB4MDMsMHhjNywweDAwLDB4MzcsMHhjMCwweDA4LDB4OWMsMHgwYSwweDZlLDB4MDAgfX0sCi0gezE2LCAweDkxYTAsIDAsIHsweGJiLDB4MDAsMHgyZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MWIwLCAwLCB7MHg4MCwweDAwLDB4ZTQsMHgwMSwweGViLDB4NDAsMHgzZSwweDgwLDB4NGYsMHhjMSwweDAzLDB4ZTQsMHgwMCwweGI4LDB4MDgsMHgzYSB9fSwKLSB7MTYsIDB4OTFjMCwgMCwgezB4NDAsMHg4ZiwweGE0LDB4MTMsMHg2YywweDIwLDB4ZjksMHgwMCwweDNlLDB4NzAsMHgwZiwweGIwLDB4MDMsMHhhNCwweDQwLDB4ZWIgfX0sCi0gezE2LCAweDkxZDAsIDAsIHsweDAwLDB4M2UsMHhjMCwweDBmLDB4OTIsMHgyMywweGU4LDB4MDAsMHhmOSwweDgwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHg2MywweGUwIH19LAotIHsxNiwgMHg5MWUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDgsMHhjZSwweDA4LDB4MzMsMHhjMCB9fSwKLSB7MTYsIDB4OTFmMCwgMCwgezB4MGYsMHhkYSwweDAzLDB4MzAsMHgwMCwweGU0LDB4MDQsMHgzNSwweGMwLDB4MGQsMHhhMCwweDAzLDB4MjgsMHgwMCwweGM1LDB4MDAgfX0sCi0gezE2LCAweDkyMDAsIDAsIHsweDMzLDB4MDAsMHgwYiwweGZhLDB4MDMsMHhmNCwweDAzLDB4Y2IsMHgwMCwweDMxLDB4YzAsMHgwYywweGQ0LDB4MDMsMHgxNCwweDIwIH19LAotIHsxNiwgMHg5MjEwLCAwLCB7MHhjZCwweDgwLDB4MjMsMHhjMSwweDBjLDB4ZjAsMHgwMiwweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTIyMCwgMCwgezB4ODEsMHgwNCwweDQ0LDB4MTAsMHhjYiwweGQwLDB4MjIsMHhjMCwweDBiLDB4OTQsMHgwMiwweDIyLDB4ODQsMHhiOCwweGM2LDB4MDIgfX0sCi0gezE2LCAweDkyMzAsIDAsIHsweDQwLDB4MDgsMHgyOCwweDAyLDB4YTUsMHg4MCwweDg5LDB4MDAsMHgyMiwweDYwLDB4MGIsMHhiOCwweDAyLDB4NjQsMHgwMCwweDhiIH19LAotIHsxNiwgMHg5MjQwLCAwLCB7MHgwMCwweDJhLDB4YzAsMHhjOCwweDAwLDB4MDMsMHg2NiwweDAwLDB4ODEsMHgwMCwweDAwLDB4YzAsMHgwZCwweGIwLDB4MGEsMHhhOCB9fSwKLSB7MTYsIDB4OTI1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4MTMsMHgwMCwweDIyLDB4NDAgfX0sCi0gezE2LCAweDkyNjAsIDAsIHsweDhiLDB4MjQsMHgwMiwweDJhLDB4MDAsMHhiYiwweDgyLDB4MjIsMHg0MCwweDAwLDB4YWMsMHgwMiwweDg0LDB4MDAsMHg4OSwweDAwIH19LAotIHsxNiwgMHg5MjcwLCAwLCB7MHgyMiwweDIyLDB4MGIsMHhiMCwweDAyLDB4YzQsMHgwMCwweDliLDB4MDAsMHgyYSwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4OTI4MCwgMCwgezB4OGIsMHgxMCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyOTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDEwLDB4ODMsMHgwMCwweDIwLDB4MDEsMHgwYiwweDIwLDB4MDIsMHgwMCwweDgwLDB4YjEsMHgwMCwweDIwIH19LAotIHsxNiwgMHg5MmEwLCAwLCB7MHhjMSwweDA4LDB4MjAsMHgwMiwweDg4LDB4MDEsMHg4MSwweDAwLDB4YTAsMHgwMCwweDBiLDB4MzAsMHgwMiwweDQ0LDB4MDEsMHg5YiB9fSwKLSB7MTYsIDB4OTJiMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MDgsMHhiMCwweDAyLDB4NDgsMHgwNiwweDg5LDB4MDAsMHgyYSwweGMwLDB4MDksMHgzMCwweDAyLDB4ODIgfX0sCi0gezE2LCAweDkyYzAsIDAsIHsweDA1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDhkLDB4NmMsMHgwMCwweGMzLDB4MDAsMHhiMiwweGMwIH19LAotIHsxNiwgMHg5MmQwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHgyOCwweDIwLDB4ZmEsMHgwMCwweGIxLDB4NDAsMHgwZCwweGEwLDB4MDcsMHhhMCwweDAwLDB4Y2QsMHgwMCB9fSwKLSB7MTYsIDB4OTJlMCwgMCwgezB4MjIsMHgwMCwweDBmLDB4YjAsMHgwMywweGY0LDB4MDAsMHg5ZiwweDAwLDB4M2IsMHhjMCwweDJjLDB4YjAsMHgwYiwweDI0LDB4MDAgfX0sCi0gezE2LCAweDkyZjAsIDAsIHsweGM5LDB4MDAsMHhiYSwweGMwLDB4MGMsMHhiMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MzAwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNiwweGZmLDB4MDIsMHhhZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgxMCwweGZjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OTMxMCwgMCwgezB4YzAsMHg5ZiwweGUwLDB4MTMsMHhmMCwweDAwLDB4ZmQsMHgwNCwweDNmLDB4NDAsMHg0ZiwweGYwLDB4MDMsMHg3NCwweDAwLDB4ZWYgfX0sCi0gezE2LCAweDkzMjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDhmLDB4ZTAsMHgwMiwweGI0LDB4MDEsMHhmZCwweDA0LDB4MzcsMHhjMCwweDBmLDB4ZjAsMHg0MywweDY4IH19LAotIHsxNiwgMHg5MzMwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhjNywweDIwLDB4YjMsMHhjOCB9fSwKLSB7MTYsIDB4OTM0MCwgMCwgezB4MWMsMHhmMSwweDAzLDB4N2MsMHgyMCwweGNmLDB4MGEsMHgzZiwweGQwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHg4MCwweDhmLDB4MzIgfX0sCi0gezE2LCAweDkzNTAsIDAsIHsweDMzLDB4YzQsMHgwZiwweGYxLDB4ODMsMHgzYywweGUwLDB4Y2YsMHgxMCwweDMzLDB4YzQsMHgwZCwweGYyLDB4ODMsMHgzYywweGUyIH19LAotIHsxNiwgMHg5MzYwLCAwLCB7MHhjNywweDgwLDB4MTcsMHhjYywweDRjLDB4ZjMsMHg4MywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTM3MCwgMCwgezB4ODAsMHgxMCwweGUzLDB4NDAsMHg4OCwweDY4LDB4MjIsMHgzMCwweDA4LDB4MDYsMHgwMiwweDAxLDB4YTEsMHg4OCwweGM0LDB4MGUgfX0sCi0gezE2LCAweDkzODAsIDAsIHsweDE0LDB4MDgsMHg4NywweDgwLDB4MDEsMHhjMCwweDI4LDB4NTAsMHgwMiwweDA0LDB4OGIsMHg4NiwweDAyLDB4YTEsMHg5OCwweDg4IH19LAotIHsxNiwgMHg5MzkwLCAwLCB7MHg0MSwweDJhLDB4MDQsMHgwYSwweDg0LDB4ODIsMHhiZCwweDgwLDB4OGIsMHgwOCwweDJiLDB4YzQsMHg4OCwweGY0LDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4OTNhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDA4LDB4ODIsMHg0MCwweDIwLDB4MTAgfX0sCi0gezE2LCAweDkzYjAsIDAsIHsweDA4LDB4MjEsMHgxMiwweDQ0LDB4MDQsMHg4MiwweDA0LDB4MmMsMHgwOCwweDg5LDB4OTAsMHgwMiwweDQ0LDB4MjEsMHg4YiwweDAwIH19LAotIHsxNiwgMHg5M2MwLCAwLCB7MHgyNCwweDg4LDB4OGIsMHhhMCwweDAwLDB4NDAsMHg4NCwweDg5LDB4MzAsMHgyMiwweDQ4LDB4ODgsMHhiMCwweDAyLDB4Y2MsMHgwOCB9fSwKLSB7MTYsIDB4OTNkMCwgMCwgezB4ODgsMHgyMCwweGE0LDB4YzgsMHgwMCwweDMyLDB4MGEsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzZTAsIDAsIHsweGMwLDB4MTUsMHhhMCwweDAwLDB4ODksMHgwMCwweDIyLDB4YzEsMHg4OCwweDkwLDB4NjIsMHgyOCwweDA4LDB4ODksMHgwOCwweDJlIH19LAotIHsxNiwgMHg5M2YwLCAwLCB7MHhjMCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDgsMHhhOCwweDAwLDB4MjYsMHg0MiwweDBiLDB4OTAsMHgwMiwweGNjLDB4NTAsMHg4YSB9fSwKLSB7MTYsIDB4OTQwMCwgMCwgezB4MjIsMHgyYSwweDg2LDB4MGEsMHg4MCwweDAyLDB4ZWMsMHgwMCwweDg4LDB4ODQsMHgyYSwweGMxLDB4MDgsMHhiMCwweDI2LDB4MzAgfX0sCi0gezE2LCAweDk0MTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZjAsMHgwMiwweGNmLDB4MDAsMHgzMywweGMwIH19LAotIHsxNiwgMHg5NDIwLCAwLCB7MHg0OCwweGY4LDB4NDMsMHg3OSwweDAwLDB4OGQsMHhjMCwweDNmLDB4MzAsMHg4ZCwweDYwLDB4ODMsMHg3OCwweDYwLDB4YzQsMHg1OCB9fSwKLSB7MTYsIDB4OTQzMCwgMCwgezB4MzcsMHgyMCwweDBmLDB4NTgsMHgxMywweDdiLDB4MDIsMHhjYywweGM0LDB4MzEsMHgyMCwweDBjLDB4NDQsMHgwMywweGVjLDB4MDIgfX0sCi0gezE2LCAweDk0NDAsIDAsIHsweDhiLDB4ODAsMHgzNiwweGMwLDB4MjQsMHhiMCwweDEyLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NDUwLCAwLCB7MHhlMCwweDAxLDB4OWMsMHgwMCwweGY0LDB4MTAsMHgzZCwweDAwLDB4NmYsMHhjOSwweDEzLDB4ZDQsMHgxMiwweGZlLDB4OTAsMHgzZiB9fSwKLSB7MTYsIDB4OTQ2MCwgMCwgezB4ZjAsMHgwZiwweGRhLDB4MjMsMHhmNCwweDE0LDB4ZmYsMHgwMiwweDNiLDB4ZjAsMHgwZiwweGVhLDB4MjMsMHhiNiwweDAwLDB4ZmYgfX0sCi0gezE2LCAweDk0NzAsIDAsIHsweDgyLDB4M2YsMHhlMSwweDhmLDB4ZjQsMHgwMywweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweGFmLDB4NzAsMHgwMywweGY4IH19LAotIHsxNiwgMHg5NDgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGEwLDB4MDAsMHhjYSwweDAwLDB4MzIsMHgwOCB9fSwKLSB7MTYsIDB4OTQ5MCwgMCwgezB4MWMsMHhhMCwweDAzLDB4YTUsMHgyMCwweGNiLDB4NDAsMHhiYSwweDEwLDB4MWYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGViLDB4MDAgfX0sCi0gezE2LCAweDk0YTAsIDAsIHsweDcyLDB4OTAsMHgwYywweGI0LDB4MDMsMHgyOSwweDA0LDB4YzksMHg1MiwweDMyLDB4NTAsMHgwYywweGI0LDB4MDMsMHgwYywweDAwIH19LAotIHsxNiwgMHg5NGIwLCAwLCB7MHhmOCwweDQwLDB4MzIsMHhjMSwweDBlLDB4YjAsMHgwYiwweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTRjMCwgMCwgezB4YzgsMHgwNSwweDJkLDB4ODAsMHg4OSwweDgwLDB4MjIsMHhkOSwweDA4LDB4OTAsMHgyMiwweDJhLDB4MDAsMHg4OCwweDU0LDB4MjIgfX0sCi0gezE2LCAweDk0ZDAsIDAsIHsweGMwLDB4OGIsMHg4MCwweDIyLDB4MjAsMHgxOSwweGM4LDB4MDAsMHgyMiwweDQwLDB4OGQsMHg4MCwweDFhLDB4MjQsMHgxMCwweGQyIH19LAotIHsxNiwgMHg5NGUwLCAwLCB7MHg0NCwweDIyLDB4ODEsMHgwZCwweDgwLDB4MDMsMHg3YywweDAwLDB4YjAsMHgwMCwweDM3LDB4YzAsMHg4OCwweGYwLDB4MDIsMHgzMiB9fSwKLSB7MTYsIDB4OTRmMCwgMCwgezB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZSwweDAwLDB4ODEsMHgwMCwweGEwLDB4ZjAgfX0sCi0gezE2LCAweDk1MDAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDg5LDB4MDIsMHg4MCwweDAwLDB4MjIsMHhjMCwweDBiLDB4MDAsMHgyMiwweGEwLDB4MDAsMHhiMCwweDAwIH19LAotIHsxNiwgMHg5NTEwLCAwLCB7MHgyMCwweDQwLDB4MDgsMHgwMCwweDAyLDB4MDQsMHgwMCwweDgyLDB4NjAsMHgyMCwweDgwLDB4MDgsMHgwMCwweDAyLDB4MGMsMHgwOCB9fSwKLSB7MTYsIDB4OTUyMCwgMCwgezB4YjIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1MzAsIDAsIHsweDIwLDB4MDEsMHgwMywweDEwLDB4OGUsMHg5MCwweDIzLDB4MjQsMHgwOCwweDZiLDB4MDIsMHgxNiwweDYwLDB4OGYsMHg4MCwweDIxIH19LAotIHsxNiwgMHg5NTQwLCAwLCB7MHgyOCwweDBiLDB4ZjksMHgwNiwweDFlLDB4NDAsMHg4ZiwweDgwLDB4MjMsMHhhNCwweDQ5LDB4NzksMHgwMiwweDNhLDB4NDAsMHg5ZCB9fSwKLSB7MTYsIDB4OTU1MCwgMCwgezB4OTAsMHgyMywweDY0LDB4MDksMHhmOCwweDAyLDB4NWUsMHg0MCwweGJlLDB4OTAsMHgyNCwweGU0LDB4MjgsMHg3OSwweDAyLDB4MDggfX0sCi0gezE2LCAweDk1NjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHg0MiwweGMwLDB4MDksMHgzMCwweDAwIH19LAotIHsxNiwgMHg5NTcwLCAwLCB7MHgyOCwweDAyLDB4MDMsMHg4NCwweDAwLDB4OGEsMHgyMCwweDMwLDB4YzQsMHg4YiwweDExLDB4MDMsMHg4NCwweDUwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4OTU4MCwgMCwgezB4MjAsMHhjMCwweDBjLDB4YTQsMHgyMiwweDA0LDB4MDAsMHhjYiwweDQwLDB4MzAsMHhjNSwweDBjLDB4MzAsMHgwMywweDBlLDB4NDAgfX0sCi0gezE2LCAweDk1OTAsIDAsIHsweGYzLDB4MTAsMHgzMCwweGM0LDB4MGMsMHhiMCwweDAzLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NWEwLCAwLCB7MHg0MCwweDFkLDB4YjAsMHgwNCwweGZiLDB4MDQsMHgzZCwweGMwLDB4MGYsMHhmMiwweDQzLDB4ZjgsMHgwNCwweGZkLDB4MDEsMHgzZiB9fSwKLSB7MTYsIDB4OTViMCwgMCwgezB4MGMsMHgwZiwweDYxLDB4MDMsMHhmOCwweDQ4LDB4ZjQsMHgwMCwweDNkLDB4MDEsMHgwZiwweGQwLDB4MDMsMHhjOCwweDAwLDB4ZmMgfX0sCi0gezE2LCAweDk1YzAsIDAsIHsweDA0LDB4YmQsMHgwNCwweDBiLDB4NDgsMHgwMywweGZjLDB4MTgsMHhmZiwweDE0LDB4M2YsMHhkNSwweDBkLDB4ZjAsMHgwMywweDkwIH19LAotIHsxNiwgMHg5NWQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGUwLDB4MDAsMHhmOSwweDAxLDB4MzIsMHhjMCB9fSwKLSB7MTYsIDB4OTVlMCwgMCwgezB4OGUsMHg5MCwweDAzLDB4MjgsMHgwMiwweGQxLDB4MDAsMHgzMiwweGMwLDB4MGQsMHhhOCwweDBiLDB4MDgsMHgwMCwweGU4LDB4MDAgfX0sCi0gezE2LCAweDk1ZjAsIDAsIHsweDJlLDB4NDAsMHgwYywweDk4LDB4MGIsMHgyZSwweDAyLDB4Y2EsMHgwMCwweGIyLDB4YTAsMHg2YywweDgwLDB4MjMsMHgyZCwweDgwIH19LAotIHsxNiwgMHg5NjAwLCAwLCB7MHhjYSwweDgwLDB4MzIsMHhkMCwweDBjLDB4YmEsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTYxMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNiwweDAwLDB4YTMsMHgwMCwweDA4LDB4NjAsMHgwMiwweDA0LDB4MDAsMHg4NiwweDA0LDB4MjkgfX0sCi0gezE2LCAweDk2MjAsIDAsIHsweDAwLDB4MDgsMHg1MCwweDQyLDB4MTQsMHgwNCwweGE3LDB4MDAsMHgwZCwweDgwLDB4NGEsMHg2MCwweDAyLDB4MDAsMHgwMCwweDgxIH19LAotIHsxNiwgMHg5NjMwLCAwLCB7MHgwMCwweDIxLDB4NDAsMHgwOCwweDcwLDB4MDIsMHg5ZCwweDQyLDB4ODYsMHgwMSwweDIwLDB4YzAsMHgwOCwweDMyLDB4ODIsMHgxMiB9fSwKLSB7MTYsIDB4OTY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5MiwweDAwLDB4YmMsMHg4MCwweDYzLDB4MjAgfX0sCi0gezE2LCAweDk2NTAsIDAsIHsweDgyLDB4MDgsMHgwMiwweDUyLDB4MDAsMHg4NCwweGMyLDB4MjMsMHgyMCwweDg4LDB4MGMsMHgwMiwweDMzLDB4MDAsMHg4NCwweDgwIH19LAotIHsxNiwgMHg5NjYwLCAwLCB7MHgyZiwweDIxLDB4ODksMHg0YywweDAyLDB4MTIsMHgxNCwweDk0LDB4YzUsMHg2NCwweDIxLDB4MDgsMHg0YywweDAyLDB4MGUsMHg4MCB9fSwKLSB7MTYsIDB4OTY3MCwgMCwgezB4OTcsMHg4MiwweGExLDB4ZWMsMHgwOCwweDc5LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2ODAsIDAsIHsweDQ4LDB4MTQsMHhjZCwweDQ0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg0ZCwweDgwLDB4MDMsMHg4OCwweDI4IH19LAotIHsxNiwgMHg5NjkwLCAwLCB7MHhjMCwweDA4LDB4M2MsMHgwNiwweDBmLDB4MDAsMHhhMywweDQzLDB4MmMsMHhjMiwweDFiLDB4MzgsMHgwMiwweDBmLDB4MDAsMHg5YiB9fSwKLSB7MTYsIDB4OTZhMCwgMCwgezB4ODgsMHg2NCwweGQwLDB4MDgsMHhiOCwweDAyLDB4OGMsMHgxMCwweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDBhLDB4MTIgfX0sCi0gezE2LCAweDk2YjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YWEsMHgwMCwweGZhLDB4MDUsMHgzMiwweDgwIH19LAotIHsxNiwgMHg5NmMwLCAwLCB7MHg4ZSwweGEwLDB4MGIsMHg2OSwweDAwLDB4Y2EsMHg0MCwweDMyLDB4YTAsMHgzYywweGE4LDB4MDMsMHgyYSwweDAwLDB4ZWEsMHgyNiB9fSwKLSB7MTYsIDB4OTZkMCwgMCwgezB4M2UsMHhiMCwweDBkLDB4YTEsMHg2MywweDI4LDB4MjAsMHhjYSwweDQwLDB4MzYsMHhhMCwweDBjLDB4ZTAsMHgxMywweDI4LDB4MDkgfX0sCi0gezE2LCAweDk2ZTAsIDAsIHsweGRlLDB4MDAsMHgzMiwweDgwLDB4MmMsMHhhMCwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NmYwLCAwLCB7MHg0OCwweDAwLDB4ZjAsMHgyMCwweGY0LDB4MDAsMHgzZiwweDAwLDB4MGYsMHg0MCwweDIzLDB4YjAsMHgwMCwweGVjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OTcwMCwgMCwgezB4MDYsMHgxZSwweGMyLDB4MTMsMHhmMCwweDg4LDB4ZmMsMHgyMCwweDNmLDB4MDQsMHg4ZSwweGMwLDB4MDMsMHhmMCwweDgwLDB4ZWMgfX0sCi0gezE2LCAweDk3MTAsIDAsIHsweDQwLDB4M2IsMHgwYywweDBmLDB4YzAsMHhhMywweGUwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGQyIH19LAotIHsxNiwgMHg5NzIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCB9fSwKLSB7MTYsIDB4OTczMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4ODAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDUzLDB4ZTQsMHgxMCwweGM5LDB4MDAgfX0sCi0gezE2LCAweDk3NDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHg4ZiwweDkwLDB4MDMsMHgyNCwweDEwIH19LAotIHsxNiwgMHg5NzUwLCAwLCB7MHhjOSwweDAxLDB4M2MsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTc2MCwgMCwgezB4ODAsMHgwNCwweDQ3LDB4NDQsMHg4OSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI1LDB4MGEsMHg4MSwweDEwLDB4MjIgfX0sCi0gezE2LCAweDk3NzAsIDAsIHsweDQwLDB4NDgsMHg5MCwweDAzLDB4YzQsMHgwMCwweDg5LDB4MDAsMHg3NiwweDQwLDB4MjgsMHg5MCwweDAyLDB4ZTQsMHgxMCwweGI5IH19LAotIHsxNiwgMHg5NzgwLCAwLCB7MHg0MCwweGIyLDB4NDAsMHgwYiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDEsMHgwOCwweDkwLDB4NDIsMHhlMCB9fSwKLSB7MTYsIDB4OTc5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAyLDB4YmQsMHgwMCwweDIzLDB4NDggfX0sCi0gezE2LCAweDk3YTAsIDAsIHsweDA4LDB4ZDAsMHgwNiwweDFkLDB4MDQsMHg4ZCwweDAwLDB4MjksMHhjMCwweDRhLDB4ZDAsMHgyMiwweGY0LDB4MDAsMHg4NSwweDAwIH19LAotIHsxNiwgMHg5N2IwLCAwLCB7MHg2MSwweDQwLDB4MTgsMHhkMCwweDEyLDB4ZmMsMHgwMCwweGJkLDB4NDAsMHhhMywweDQwLDB4NGIsMHhmMCwweDAyLDB4MDQsMHgwMSB9fSwKLSB7MTYsIDB4OTdjMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk3ZDAsIDAsIHsweDA4LDB4MDQsMHgzNiwweDgwLDB4ODUsMHgyMCwweGEzLDB4NDgsMHgwOCwweDUyLDB4MGEsMHgxNCwweDgxLDB4ODUsMHgyMCwweDI5IH19LAotIHsxNiwgMHg5N2UwLCAwLCB7MHg0OCwweDA4LDB4NTIsMHgwMiwweGI0LDB4ODAsMHg4NSwweDIwLDB4MjUsMHg0OCwweDg4LDB4NTIsMHgwMiwweGQ0LDB4ODAsMHhiNSB9fSwKLSB7MTYsIDB4OTdmMCwgMCwgezB4MjAsMHgyMSwweDQ4LDB4MGIsMHg1MiwweDAyLDB4NDQsMHhhMiwweDgxLDB4MDAsMHgyYywweDRhLDB4MDgsMHgxMiwweDgyLDB4YzIgfX0sCi0gezE2LCAweDk4MDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGY4LDB4NTEsMHgyMiwweDAwIH19LAotIHsxNiwgMHg5ODEwLCAwLCB7MHgyYywweDg1LDB4MDIsMHgyMSwweDQ4LDB4YzgsMHgwMCwweGJhLDB4MTQsMHgwZiwweDg1LDB4MTIsMHhlMSwweDQyLDB4YzgsMHg1MCB9fSwKLSB7MTYsIDB4OTgyMCwgMCwgezB4MjIsMHgwMCwweDBjLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDA3LDB4NDUsMHgwMywweDIwLDB4ODAgfX0sCi0gezE2LCAweDk4MzAsIDAsIHsweGMwLDB4MDEsMHgzZSwweDA4LDB4MmMsMHg4MiwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ODQwLCAwLCB7MHg5OCwweDBkLDB4ZTQsMHg0MCwweGYxLDB4MTAsMHgzZSwweDQ0LDB4MDcsMHg5MSwweDQzLDB4ZTQsMHg1OCwweGY5LDB4MTEsMHgzNCB9fSwKLSB7MTYsIDB4OTg1MCwgMCwgezB4NDQsMHg0ZiwweDkxLDB4MDIsMHhlNCwweDUwLDB4ZjksMHgxMCwweDNjLDB4NGYsMHgwZiwweDkzLDB4ODMsMHhlNCwweGYwLDB4ZjkgfX0sCi0gezE2LCAweDk4NjAsIDAsIHsweDExLDB4M2EsMHg0ZiwweDBmLDB4OTEsMHgwMywweGU0LDB4YTAsMHhmZCwweDI4LDB4M2UsMHg0YSwweDBmLDB4OTIsMHg4MywweGU2IH19LAotIHsxNiwgMHg5ODcwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4YTAsMHhjZCwweGEwLDB4YjMsMHg2OCB9fSwKLSB7MTYsIDB4OTg4MCwgMCwgezB4OGMsMHg5YSwweDAzLDB4MzYsMHg4MCwweGM1LDB4YTAsMHgyMiwweDYwLDB4MGMsMHg5YSwweDIzLDB4MjYsMHgwNCwweGY5LDB4YTAgfX0sCi0gezE2LCAweDk4OTAsIDAsIHsweDMyLDB4NjYsMHgwYywweDlhLDB4ODMsMHgwNiwweDIwLDB4YzUsMHhhMCwweDIyLDB4NjAsMHgwYywweDliLDB4MDMsMHgyNiwweDQ4IH19LAotIHsxNiwgMHg5OGEwLCAwLCB7MHhjOSwweDAwLDB4M2UsMHg3OCwweDBjLDB4OWEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OThiMCwgMCwgezB4MzgsMHgwMCwweGUxLDB4MDAsMHg4OCwweDQ0LDB4MjIsMHg5NSwweDA4LDB4ODUsMHgxMiwweGExLDB4NDIsMHg4OCwweDQwLDB4MDIgfX0sCi0gezE2LCAweDk4YzAsIDAsIHsweDkwLDB4MDgsMHg4NCwweDAyLDB4MjMsMHhhMCwweGJhLDB4NDAsMHgyMiwweGEwLDB4MDgsMHg4ZSwweDkyLDB4YTMsMHhhMCwweGE4IH19LAotIHsxNiwgMHg5OGQwLCAwLCB7MHg0MCwweDJhLDB4MTAsMHgwOCwweGFlLDB4MDIsMHgyMywweDQwLDB4ODgsMHgwMCwweDJlLDB4MzgsMHgwOCwweDg0LDB4MTIsMHgwZSB9fSwKLSB7MTYsIDB4OThlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTUsMHhjNCwweDAwLDB4OGIsMHgxMiwweDIyLDB4NDAgfX0sCi0gezE2LCAweDk4ZjAsIDAsIHsweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDAsMHg4MSwweDQwLDB4YTAsMHg1MCwweDA4LDB4MTEsMHgwYSwweDA1LDB4MDAsMHhiMSwweDEwIH19LAotIHsxNiwgMHg5OTAwLCAwLCB7MHhhMCwweDQ4LDB4MDgsMHg5MCwweDAyLDB4MDQsMHgwMCwweDgxLDB4NDAsMHgyMCwweDUwLDB4MjgsMHgxMSwweDAyLDB4NDQsMHg4MiB9fSwKLSB7MTYsIDB4OTkxMCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NTAsMHgwOCwweDExLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5MjAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDAyLDB4ODksMHg0MCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MTIsMHhhNSwweDAwLDB4ODksMHgyOCwweDIyIH19LAotIHsxNiwgMHg5OTMwLCAwLCB7MHg0OSwweDA4LDB4OTQsMHgwMiwweDI0LDB4NDgsMHhiOSwweDE0LDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweGE0LDB4NDAsMHhhMSB9fSwKLSB7MTYsIDB4OTk0MCwgMCwgezB4NTAsMHgyYSwweDUwLDB4MDgsMHg5MSwweDQyLDB4NjQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYgfX0sCi0gezE2LCAweDk5NTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzMCwweDcwIH19LAotIHsxNiwgMHg5OTYwLCAwLCB7MHgyYywweDEwLDB4MGIsMHg2NiwweDAwLDB4YzksMHg0MCwweDMyLDB4NTAsMHgwYywweDkwLDB4MDMsMHgyNiwweDIwLDB4ZjksMHhjMCB9fSwKLSB7MTYsIDB4OTk3MCwgMCwgezB4MzIsMHg3MCwweDBjLDB4OTAsMHgwMywweDI2LDB4MjAsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OWMsMHgwMywweDY0LDB4MDAgfX0sCi0gezE2LCAweDk5ODAsIDAsIHsweGM5LDB4NDEsMHgzZSwweDQwLDB4MmMsMHg5MCwweDBiLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OTkwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHg4OCwweGY5LDB4MDAsMHgzNCB9fSwKLSB7MTYsIDB4OTlhMCwgMCwgezB4NDEsMHgyZiwweDljLDB4MDMsMHhlNCwweDEwLDB4ZjksMHgwMCwweDNlLDB4NDQsMHgyZiwweDk5LDB4MDMsMHhlNCwweDEwLDB4ZjkgfX0sCi0gezE2LCAweDk5YjAsIDAsIHsweDAwLDB4M2UsMHg1MCwweDBmLDB4MTAsMHg0YiwweGE0LDB4MTAsMHhmOSwweDIwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweDRhIH19LAotIHsxNiwgMHg5OWMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgxMCB9fSwKLSB7MTYsIDB4OTlkMCwgMCwgezB4MmMsMHg4MCwweDAzLDB4MjAsMHgwMiwweGMwLDB4NDAsMHgzMiwweDAwLDB4MWMsMHgwNCwweDBmLDB4MjEsMHgwMCwweGMwLDB4MDQgfX0sCi0gezE2LCAweDk5ZTAsIDAsIHsweDM4LDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMSwweDA4LDB4YzgsMHg2MCwweDMwLDB4MTAsMHgwZiwweDgwLDB4MDIsMHgyMCwweDAwIH19LAotIHsxNiwgMHg5OWYwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWEwMCwgMCwgezB4MjgsMHgwNSwweDFhLDB4MjAsMHg4MiwweDA0LDB4MmYsMHg4MCwweDA4LDB4YTAsMHgwMiwweDM4LDB4MDAsMHg4ZSwweDgwLDB4MjIgfX0sCi0gezE2LCAweDlhMTAsIDAsIHsweDgwLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgxLDB4MGIsMHgyMCwweDAyLDB4MjgsMHgwMCwweGRlIH19LAotIHsxNiwgMHg5YTIwLCAwLCB7MHhlNCwweDM2LDB4ODAsMHgwYiwweGEwLDB4NDIsMHgyOCwweDAwLDB4YmEsMHgwNCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4OWEzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMSwweDJjLDB4ODAgfX0sCi0gezE2LCAweDlhNDAsIDAsIHsweDA4LDB4MzAsMHgwMiwweDJlLDB4NjAsMHg4MiwweDkwLDB4YTAsMHhjMCwweDQ4LDB4MzAsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwIH19LAotIHsxNiwgMHg5YTUwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHgzMCwweDBhLDB4MmMsMHgwMCwweDgzLDB4YzIsMHgyMCwweGMwLDB4MGIsMHgzMCwweDJhLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OWE2MCwgMCwgezB4YjMsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhNzAsIDAsIHsweGEwLDB4MDEsMHgzYywweDAwLDB4ODcsMHgwMSwweDJkLDB4YzIsMHgwOCwweGYzLDB4MTIsMHgzYywweDAwLDB4OGYsMHgwMSwweDIxIH19LAotIHsxNiwgMHg5YTgwLCAwLCB7MHhjOCwweDY4LDB4NzIsMHgyMiwweDFlLDB4MDQsMHg4NywweDIwLDB4MjEsMHhjNCwweDBiLDB4NzAsMHgwMiwweDNjLDB4ODQsMHg5ZiB9fSwKLSB7MTYsIDB4OWE5MCwgMCwgezB4MDAsMHgyNSwweGM0LDB4NGIsMHg3MCwweDAyLDB4MWMsMHgwNCwweGI3LDB4ODEsMHgyMSwweGM4LDB4MDgsMHg3MiwweDAyLDB4ZTggfX0sCi0gezE2LCAweDlhYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDAwLDB4MWUsMHgwMCwweGM3LDB4ODEsMHgzYywweGEwIH19LAotIHsxNiwgMHg5YWIwLCAwLCB7MHg0YywweDdhLDB4MGIsMHgxYSwweDAwLDB4YzYsMHg4MCwweDMwLDB4ZTAsMHgwOCwweGY4LDB4ODIsMHgwZSwweDQwLDB4Y2YsMHhmMCB9fSwKLSB7MTYsIDB4OWFjMCwgMCwgezB4MzksMHhlOCwweDBmLDB4M2EsMHgwMywweDFlLDB4MjAsMHhjNywweDgwLDB4MzEsMHhlMywweDBmLDB4MzgsMHgyMywweDFmLDB4MDggfX0sCi0gezE2LCAweDlhZDAsIDAsIHsweGZmLDB4YzAsMHgzMywweGYyLDB4MGMsMHg3ZSwweDAzLDB4ZWEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YWUwLCAwLCB7MHgwOCwweDE1LDB4ODgsMHgwYSwweDdiLDB4MDAsMHgzZSwweGMxLDB4MGIsMHgzNCwweDIzLDB4YzgsMHgxMCwweGZiLDB4MDIsMHgzZSB9fSwKLSB7MTYsIDB4OWFmMCwgMCwgezB4Y2EsMHgwZiwweGI3LDB4NDMsMHhlYywweDgwLDB4ZmIsMHgwMCwweDJlLDB4YzIsMHgwYiwweGI0LDB4ODMsMHhlZCwweGQwLDB4ZmEgfX0sCi0gezE2LCAweDliMDAsIDAsIHsweDAwLDB4M2UsMHhkOSwweDBmLDB4YjMsMHg4MywweGVjLDB4ODAsMHhiYiwweDIwLDB4M2UsMHhkOCwweDJmLDB4YjQsMHgwMywweGMyIH19LAotIHsxNiwgMHg5YjEwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmNSwweDkxLDB4MzEsMHhhMCB9fSwKLSB7MTYsIDB4OWIyMCwgMCwgezB4MGMsMHhmYywweDAzLDB4ZmUsMHgwMCwweGM0LDB4ODEsMHgzMSwweGVlLDB4OGQsMHhmOCwweDBhLDB4M2UsMHgzMCwweGNmLDB4ODQgfX0sCi0gezE2LCAweDliMzAsIDAsIHsweDMzLDB4ZTAsMHgyYywweGY4LDB4ODMsMHhmZSwweDEwLDB4ZmUsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY5LDB4MTksMHgzZiwweDQ4IH19LAotIHsxNiwgMHg5YjQwLCAwLCB7MHhjZiwweGMwLDB4MzMsMHhlMCwweDA0LDB4ZmMsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWI1MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDgsMHhiNywweGExLDB4MjEsMHhjOCwweDA4LDB4NzEsMHgwMiwweGYwLDB4YTAsMHg4NSwweDIwLDB4MjEgfX0sCi0gezE2LCAweDliNjAsIDAsIHsweGNlLDB4MDgsMHg3MCwweDAyLDB4M2MsMHg4MCwweDhmLDB4MDAsMHgyYiwweGM1LDB4MDgsMHg3MSwweDAyLDB4ZGMsMHgxMCwweGI0IH19LAotIHsxNiwgMHg5YjcwLCAwLCB7MHgwMCwweDIxLDB4YzEsMHgwYSwweGYzLDB4ODIsMHgwYywweDAwLDB4ODcsMHgwMSwweDI5LDB4YzAsMHgwOCwweDcxLDB4MDIsMHg2YSB9fSwKLSB7MTYsIDB4OWI4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5ZCwweDAwLDB4YmQsMHgyMSwweDI3LDB4ODIgfX0sCi0gezE2LCAweDliOTAsIDAsIHsweDAwLDB4NzAsMHgwMiwweGZjLDB4MDQsMHg4YywweDAwLDB4YTcsMHhjYywweGE4LDB4NzAsMHgwMiwweDNjLDB4MDgsMHhhZiwweDAwIH19LAotIHsxNiwgMHg5YmEwLCAwLCB7MHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGM0LDB4MDgsMHg3MCwweDE2LDB4MWMsMHgwYSB9fSwKLSB7MTYsIDB4OWJiMCwgMCwgezB4OGYsMHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliYzAsIDAsIHsweDIwLDB4MTAsMHhjOCwweDAwLDB4YmIsMHg0NCwweDI0LDB4ZTIsMHgwOCwweGIxLDB4MDIsMHhjMiwweDgwLDB4MDEsMHg4MCwweDI0IH19LAotIHsxNiwgMHg5YmQwLCAwLCB7MHhkMCwweDg4LDB4MzAsMHgwMiwweDBmLDB4NTIsMHg4MywweDkxLDB4MjgsMHhlNCwweDg4LDB4M2QsMHgwMiwweGNlLDB4ZDAsMHhiMCB9fSwKLSB7MTYsIDB4OWJlMCwgMCwgezB4YjIsMHhhMiwweGMwLDB4MGEsMHgzNCwweDEyLDB4MGMsMHgwMiwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NDggfX0sCi0gezE2LCAweDliZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWMsMHgwMCwweGZiLDB4MDEsMHhlNCwweDQwIH19LAotIHsxNiwgMHg5YzAwLCAwLCB7MHgyYywweGYwLDB4NDMsMHhlNSwweDAwLDB4OGEsMHg4OCwweDM3LDB4ZTAsMHgwMCwweGZhLDB4MDIsMHgzZCwweDAwLDB4ZWYsMHgwMCB9fSwKLSB7MTYsIDB4OWMxMCwgMCwgezB4MzMsMHhkMSwweDBjLDB4ZjQsMHgwMywweGZkLDB4MDAsMHhmOSwweDQwLDB4MzMsMHhlOCwweDBjLDB4ZmMsMHgwMSwweDNjLDB4MDQgfX0sCi0gezE2LCAweDljMjAsIDAsIHsweGNmLDB4MDIsMHgzMywweGMwLDB4MmMsMHhmMCwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YzMwLCAwLCB7MHg4MCwweDAwLDB4ZWUsMHgwOCwweGY5LDB4MTAsMHgzYSwweGQwLDB4MGYsMHhiMCwweDkzLDB4ZWMsMHgwMCwweGZiLDB4MGIsMHgzYSB9fSwKLSB7MTYsIDB4OWM0MCwgMCwgezB4YzAsMHg4ZSwweGIwLDB4ODMsMHhlYywweDgwLDB4ZmIsMHgwOSwweDdlLDB4YzgsMHgwZiwweGIyLDB4MTMsMHhlYywweDAwLDB4ZjkgfX0sCi0gezE2LCAweDljNTAsIDAsIHsweDAwLDB4M2UsMHhjMiwweDhmLDB4YjIsMHg0YiwweGNjLDB4MDQsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDYwIH19LAotIHsxNiwgMHg5YzYwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDA4LDB4MzMsMHhjMCB9fSwKLSB7MTYsIDB4OWM3MCwgMCwgezB4MWMsMHhmMCwweDAzLDB4NzAsMHg0MCwweGM0LDB4YzAsMHgzMywweGMyLDB4MGYsMHhmMCwweDAzLDB4MWMsMHgxMCwweGM3LDB4MDAgfX0sCi0gezE2LCAweDljODAsIDAsIHsweDMxLDB4YzAsMHgwYywweDcwLDB4MDMsMHgxYywweDAwLDB4YzUsMHg0MSwweDMzLDB4YzAsMHgwYywweGYwLDB4MjMsMHgyYywweDAwIH19LAotIHsxNiwgMHg5YzkwLCAwLCB7MHhjZiwweDAwLDB4YjMsMHhjMCwweDZjLDB4ZjAsMHgwMywweDgwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWNhMCwgMCwgezB4ODEsMHgwNCwweDZhLDB4MDAsMHhiOSwweDkwLDB4MzIsMHhmMSwweDA4LDB4YjAsMHgwMiwweDBhLDB4MTAsMHhkOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweDljYjAsIDAsIHsweGMxLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGNiLDB4MDYsMHgyMiwweGMwLDB4ODgsMHhiMCwweDEyLDB4MmMsMHgwMCwweDg4IH19LAotIHsxNiwgMHg5Y2MwLCAwLCB7MHg4MCwweDIyLDB4YzEsMHgwZCwweGIwLDB4MDIsMHgyYywweDAwLDB4ODMsMHgwMCwweDIyLDB4YzEsMHgwOCwweGIwLDB4NDYsMHhlMCB9fSwKLSB7MTYsIDB4OWNkMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyZSwweDAwLDB4YjksMHgwMCwweDIyLDB4ZjAgfX0sCi0gezE2LCAweDljZTAsIDAsIHsweDA4LDB4YjAsMHgxMiwweDY0LDB4MDAsMHg4YSwweDAwLDB4MjIsMHhjMCwweDBiLDB4MzAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwIH19LAotIHsxNiwgMHg5Y2YwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweDhhLDB4MDAsMHgyMiwweGMwLDB4ODgsMHgzMCwweDBhLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OWQwMCwgMCwgezB4OGIsMHgwMCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkMTAsIDAsIHsweDA4LDB4MDQsMHgwYywweDA0LDB4YjEsMHgwMiwweGU0LDB4YzEsMHgwOCwweGIwLDB4MjIsMHgyMCwweDAyLDB4OTMsMHgwMCwweDIwIH19LAotIHsxNiwgMHg5ZDIwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgxMiwweDBjLDB4MDIsMHg4MywweDAyLDB4YTAsMHhjMCwweDI4LDB4MzAsMHgwZSwweDBjLDB4MDIsMHg4MCB9fSwKLSB7MTYsIDB4OWQzMCwgMCwgezB4MDAsMHhhMCwweGMwLDB4NDksMHgzMCwweDBhLDB4MGMsMHgwMiwweDhiLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweDlkNDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGY5LDB4MjQsMHgzMiwweGMwIH19LAotIHsxNiwgMHg5ZDUwLCAwLCB7MHgwOCwweGYwLDB4MDMsMHg2NCwweDAwLDB4YzgsMHgwMCwweGIzLDB4YzAsMHgxZiwweGYwLDB4MGIsMHgzYywweDAwLDB4OGYsMHgwMCB9fSwKLSB7MTYsIDB4OWQ2MCwgMCwgezB4MzMsMHhjMCwweDRjLDB4ZjAsMHg0MywweDNjLDB4MDgsMHhjMywweDAwLDB4MzEsMHhjMCwweDBjLDB4ZjAsMHgwMywweDNkLDB4NDggfX0sCi0gezE2LCAweDlkNzAsIDAsIHsweGNmLDB4MDAsMHgzMSwweGMwLDB4MGMsMHhmMCwweDAzLDB4ODAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZDgwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwNCwweGY5LDB4NDEsMHgzYiwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZjAsMHgxMSwweGZkLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4OWQ5MCwgMCwgezB4YzAsMHg4NywweDcwLDB4MjcsMHhmYywweDAwLDB4ZWYsMHgwNiwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDIsMHhmYywweDA4LDB4ZmMgfX0sCi0gezE2LCAweDlkYTAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDQ3LDB4ZjAsMHg0MywweGZjLDB4MDAsMHg3NywweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHg5ZGIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQyLDB4MDAsMHhjNywweDAxLDB4MzcsMHgwYyB9fSwKLSB7MTYsIDB4OWRjMCwgMCwgezB4MGYsMHhlOCwweDIzLDB4MTAsMHg0YSwweGM0LDB4YzAsMHgzMSwweDMwLDB4MGMsMHhjOSwweDAzLDB4MzQsMHg0NiwweGNmLDB4MTAgfX0sCi0gezE2LCAweDlkZDAsIDAsIHsweDMzLDB4ZDAsMHgwYywweGY0LDB4MDMsMHgzYywweDU4LDB4Y2YsMHgwMCwweDMzLDB4YzAsMHgyZCwweGYxLDB4MDMsMHgzZSwweDAyIH19LAotIHsxNiwgMHg5ZGUwLCAwLCB7MHhjZiwweDIxLDB4M2YsMHhlNCwweDBmLDB4ZjIsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWRmMCwgMCwgezB4ODAsMHgxMCwweGU0LDB4ODQsMHgwYiwweDQwLDB4MjIsMHg0YywweDBiLDB4YTgsMHgwMiwweDJjLDB4YzAsMHg4YiwweDIwLDB4MjIgfX0sCi0gezE2LCAweDllMDAsIDAsIHsweGM4LDB4NGEsMHgzMiwweDAyLDB4MjQsMHg4MCwweDgzLDB4MjAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MjAsMHgwMCwweDhiIH19LAotIHsxNiwgMHg5ZTEwLCAwLCB7MHgyMSwweDMyLDB4Y2EsMHg0OCwweDMyLDB4MDIsMHgyYywweDMwLDB4OGYsMHg5MCwweDJlLDB4ODgsMHgwYiwweGJkLDB4MTIsMHgyMCB9fSwKLSB7MTYsIDB4OWUyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZSwweDIwLDB4YTMsMHg0MCwweGUwLDB4NDggfX0sCi0gezE2LCAweDllMzAsIDAsIHsweDRiLDB4MjAsMHgyMiwweDBjLDB4MDIsMHg4MiwweDAwLDB4MmEsMHgwMCwweDA4LDB4MjAsMHgwMiwweDA0LDB4ODAsMHg4MCwweDIwIH19LAotIHsxNiwgMHg5ZTQwLCAwLCB7MHgyMCwweGM4LDB4MDgsMHgwMiwweDAyLDB4MGMsMHgwMCwweDgwLDB4MGMsMHg2MCwweDAwLDB4MDgsMHgyMCwweDEyLDB4MmMsMHg4OCB9fSwKLSB7MTYsIDB4OWU1MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4ZTgsMHgwYiwweDMwLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllNjAsIDAsIHsweGMwLDB4MTUsMHhhZSwweDAwLDB4YWIsMHgwMSwweGEyLDB4NjAsMHgwYiwweGEwLDB4MDIsMHgyMCwweDAxLDB4ODEsMHgwMCwweDIyIH19LAotIHsxNiwgMHg5ZTcwLCAwLCB7MHhjMCwweDBhLDB4OTAsMHgxMiwweDA0LDB4MjAsMHg4YSwweDA4LDB4MjIsMHhjMSwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4OCB9fSwKLSB7MTYsIDB4OWU4MCwgMCwgezB4MDAsMHgyNCwweDQ0LDB4MDgsMHhhMiwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDQsMHgyZSwweDg4LDB4MDMsMHhiMCwweDAyLDB4NzAgfX0sCi0gezE2LCAweDllOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDE1LDB4ZWMsMHgwMCwweGVhLDB4OTAsMHgzMiwweDI4IH19LAotIHsxNiwgMHg5ZWEwLCAwLCB7MHgwZiwweGI2LDB4MDMsMHgyMCwweDA4LDB4YzksMHgwNCwweDNhLDB4YzAsMHg0YywweDkwLDB4MjIsMHgyNCwweDAwLDB4Y2IsMHg0MCB9fSwKLSB7MTYsIDB4OWViMCwgMCwgezB4MzIsMHhhOCwweDBjLDB4YjIsMHgwMywweDJjLDB4MDAsMHhjYiwweDgwLDB4YjIsMHhlMCwweDBjLDB4YjAsMHgwYiwweDA0LDB4MDAgfX0sCi0gezE2LCAweDllYzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGMwLDB4NGYsMHhiMCwweDBiLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZWQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGRmLDB4ODAsMHgzYiwweDgxLDB4MGYsMHhmMCwweGMzLDB4ZmMsMHgwMCwweGJlLDB4MDEsMHgxZiB9fSwKLSB7MTYsIDB4OWVlMCwgMCwgezB4MDAsMHgwZiwweGUwLDB4MjMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YjAsMHg0ZiwweGYwLDB4NDMsMHhkNCwweDAyLDB4ZmYgfX0sCi0gezE2LCAweDllZjAsIDAsIHsweDkxLDB4M2EsMHhlMCwweDRlLDB4ZjAsMHgwMywweDdjLDB4MGMsMHhmZiwweDAwLDB4MmYsMHg4MCwweDBmLDB4MzAsMHgwMywweGI4IH19LAotIHsxNiwgMHg5ZjAwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDEsMHhjYSwweDAwLDB4NzIsMHg1MCB9fSwKLSB7MTYsIDB4OWYxMCwgMCwgezB4MDQsMHhiNCwweDAzLDB4MmMsMHg4MiwweGNiLDB4MDAsMHgzMiwweGUwLDB4MGMsMHhiOCwweDAzLDB4MjcsMHgwNCwweGM4LDB4YzggfX0sCi0gezE2LCAweDlmMjAsIDAsIHsweGIyLDB4YTIsMHgwYywweDg4LDB4MDMsMHgyYywweDAwLDB4YzEsMHgwMCwweDNlLDB4MDAsMHgyYywweDMwLDB4MWIsMHgyYywweDA0IH19LAotIHsxNiwgMHg5ZjMwLCAwLCB7MHhmYiwweDEwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWY0MCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDQsMHgwMywweDUwLDB4YTIsMHhlMCwweDA4LDB4MzQsMHg0MiwweDMzLDB4MDAsMHg4OCwweDAwLDB4MjAgfX0sCi0gezE2LCAweDlmNTAsIDAsIHsweDEwLDB4MGQsMHg4NCwweDAzLDB4MjUsMHgwMCwweDhhLDB4NDAsMHgyMiwweDkwLDB4MDgsMHhhNSwweDAyLDB4MmMsMHgwMCwweDg5IH19LAotIHsxNiwgMHg5ZjYwLCAwLCB7MHhhNCwweDNhLDB4NDAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwLDB4YmYsMHg4NCwweDJlLDB4ODAsMHgwYiwweGYwLDB4NTIsMHgzMiB9fSwKLSB7MTYsIDB4OWY3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2YywweDgwLDB4ODEsMHg4MCwweDI0LDB4ODggfX0sCi0gezE2LCAweDlmODAsIDAsIHsweDg5LDB4M2MsMHgyNiwweDIxLDB4MDAsMHg5MCwweDAwLDB4MjAsMHgwMiwweDA4LDB4ODAsMHg4MiwweDAwLDB4MjAsMHg5YiwweDAwIH19LAotIHsxNiwgMHg5ZjkwLCAwLCB7MHgyMiwweDQwLDB4ODgsMHhiMCwweDEyLDB4MGMsMHgwOCwweDgzLDB4ODAsMHgyYywweGMwLDB4MDgsMHgxMCwweDAyLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4OWZhMCwgMCwgezB4YjMsMHg4MCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmYjAsIDAsIHsweDIwLDB4MDEsMHgzZSwweDBhLDB4ODUsMHhhMCwweGE1LDB4NjAsMHgwOCwweGZiLDB4ODIsMHgzZSwweDg0LDB4OWYsMHg4MSwweDYzIH19LAotIHsxNiwgMHg5ZmMwLCAwLCB7MHhlMCwweDg5LDB4NzksMHgxMiwweDUyLDB4ODAsMHg5NywweDgyLDB4MjEsMHg2YywweDE4LDB4NzgsMHgwMiwweDEyLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4OWZkMCwgMCwgezB4YTEsMHgyOSwweGUwLDB4MDgsMHg1YiwweDAyLDB4MWUsMHgwMCwweGI3LDB4YzAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4MDggfX0sCi0gezE2LCAweDlmZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MGMsMHgwMCwweDgxLDB4MDgsMHgyNiwweGMyIH19LAotIHsxNiwgMHg5ZmYwLCAwLCB7MHgyYywweDMyLDB4MTMsMHgwZSwweGE0LDB4ZDIsMHgwMCwweGIwLDB4MDAsMHgxYywweDIxLDB4MTIsMHgyNCwweDAyLDB4ZDEsMHgyMCB9fSwKLSB7MTYsIDB4YTAwMCwgMCwgezB4MzAsMHhjOCwweDBjLDB4MTAsMHgwMywweDBjLDB4MDAsMHhjMiwweDEwLDB4M2MsMHg4MCwweDBjLDB4MjMsMHgwMywweDBjLDB4NDAgfX0sCi0gezE2LCAweGEwMTAsIDAsIHsweGYzLDB4MDAsMHgzYywweDQ4LDB4MGYsMHgzMCwweDBiLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMDIwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZkLDB4MjAsMHhiYiwweDQwLDB4MDcsMHg3MiwweDAyLDB4ZjAsMHgxMCwweGVkLDB4MTAsMHgzZiB9fSwKLSB7MTYsIDB4YTAzMCwgMCwgezB4YzQsMHgwZiwweGQxLDB4NjMsMHhiNCwweDgwLDB4ZWYsMHgwMCwweDNmLDB4YzgsMHgwZiwweGYwLDB4MDMsMHhkOCwweDAwLDB4ZmUgfX0sCi0gezE2LCAweGEwNDAsIDAsIHsweDM0LDB4M2YsMHhjNCwweDBmLDB4ZWIsMHg0MywweGZjLDB4MDAsMHhmZiwweDA4LDB4N2YsMHg0MCwweDBmLDB4ZjEsMHg4MywweGQwIH19LAotIHsxNiwgMHhhMDUwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhjOCwweDAwLDB4MzMsMHg4MCB9fSwKLSB7MTYsIDB4YTA2MCwgMCwgezB4OGYsMHgyOCwweDAzLDB4MjAsMHgwMCwweDQ5LDB4MDIsMHgzMiwweGMwLDB4MGYsMHg5MCwweDAzLDB4MjAsMHgwMCwweGNiLDB4MDAgfX0sCi0gezE2LCAweGEwNzAsIDAsIHsweDMyLDB4NDAsMHg0YywweGIwLDB4MGIsMHgyYywweDAwLDB4Y2IsMHg4MCwweDMyLDB4YzAsMHgwZSwweDllLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhMDgwLCAwLCB7MHhmYiwweDIwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTA5MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4ZCwweDAxLDB4MjEsMHhjMCwweDBiLDB4NjAsMHgwMiwweDFkLDB4MDAsMHhkNiwweDAwLDB4MjEgfX0sCi0gezE2LCAweGEwYTAsIDAsIHsweDAwLDB4MGIsMHhlMCwweDAyLDB4MDAsMHgwMCwweDgzLDB4MDQsMHgyMCwweDQwLDB4MDgsMHg3MCwweDQyLDB4MzQsMHgwMiwweDg3IH19LAotIHsxNiwgMHhhMGIwLCAwLCB7MHgwMSwweDIzLDB4YzAsMHgyOCwweDUxLDB4MGEsMHgxYywweDA0LDB4YjcsMHgzMCwweDJkLDB4YzAsMHgwYiwweDcyLDB4MDMsMHg5MiB9fSwKLSB7MTYsIDB4YTBjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YTYsMHg0MCwweDIxLDB4YTAgfX0sCi0gezE2LCAweGEwZDAsIDAsIHsweDBiLDB4NjgsMHgwMiwweDBlLDB4MDAsMHg4ZiwweDgwLDB4MjEsMHhlMCwweDBiLDB4NzgsMHgwMiwweDE2LDB4MTAsMHhhNSwweDgwIH19LAotIHsxNiwgMHhhMGUwLCAwLCB7MHgyMSwweGUwLDB4MDgsMHgxOCwweDAyLDB4MWUsMHgwMCwweDgzLDB4ODAsMHgyMSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MWYsMHgwMCB9fSwKLSB7MTYsIDB4YTBmMCwgMCwgezB4YjcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDM4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExMDAsIDAsIHsweDQ4LDB4MTQsMHhlYywweDEyLDB4YTEsMHg2NCwweDIwLDB4ZTYsMHgwYiwweDIwLDB4MDIsMHgwMCwweDEwLDB4OTAsMHg0YSwweDIwIH19LAotIHsxNiwgMHhhMTEwLCAwLCB7MHgyMCwweDRiLDB4MDAsMHg0MiwweDA0LDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMiwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YTEyMCwgMCwgezB4MDQsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MGUsMHgwMCwweGIzLDB4MDAsMHgyYywweGUwLDB4NGIsMHgzMCwweDAyLDB4OTIgfX0sCi0gezE2LCAweGExMzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjgsMHgwMCwweGVlLDB4YzAsMHgzMywweDkwIH19LAotIHsxNiwgMHhhMTQwLCAwLCB7MHgwZiwweGEwLDB4MWIsMHgwOCwweDAwLDB4Y2EsMHg0MCwweGIyLDB4ODIsMHgwZiwweGEwLDB4MGIsMHgyOCwweDAyLDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4YTE1MCwgMCwgezB4YjIsMHg5MCwweGFjLDB4YTAsMHgwMywweDI5LDB4MDAsMHhjYSwweDQwLDB4YjIsMHg4MCwweDhlLDB4YTQsMHgwMywweDJhLDB4MDAgfX0sCi0gezE2LCAweGExNjAsIDAsIHsweGZhLDB4MDAsMHgzZiwweGE4LDB4MGYsMHhhMCwweDBiLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMTcwLCAwLCB7MHg0OCwweDAwLDB4ZTIsMHgwMiwweDkwLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4OCwweDAzLDB4ZjEsMHgwMCwweGZjLDB4MDIsMHgzZiB9fSwKLSB7MTYsIDB4YTE4MCwgMCwgezB4MjAsMHgwZiwweGM4LDB4MDMsMHhjMSwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHg4ZiwweDAwLDB4MDEsMHg2MCwweDAyLDB4ZjggfX0sCi0gezE2LCAweGExOTAsIDAsIHsweDA4LDB4M2UsMHgwMCwweDBmLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDhmLDB4ODAsMHgxMywweDkyIH19LAotIHsxNiwgMHhhMWEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAwLDB4YjIsMHg2NCB9fSwKLSB7MTYsIDB4YTFiMCwgMCwgezB4MGYsMHg5MSwweDAzLDB4ZTQsMHgwNCwweGM5LDB4MDAsMHgzMiwweDQwLDB4NmMsMHg5MCwweDAzLDB4MjUsMHgwMiwweGM5LDB4OTAgfX0sCi0gezE2LCAweGExYzAsIDAsIHsweGIwLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDIwLDB4YzksMHhhMCwweDNlLDB4NDAsMHg0YywweDkwLDB4MjMsMHhlNCwweDAwIH19LAotIHsxNiwgMHhhMWQwLCAwLCB7MHhmMSwweDAwLDB4OTIsMHg0MCwweDBjLDB4MTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTFlMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDgwLDB4YTIsMHg0MCwweDBiLDB4OTYsMHg0MiwweGU1LDB4MDQsMHg4OSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGExZjAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOCwweDA5LDB4NDEsMHgyMiwweDQwLDB4NDgsMHg5MCwweDQyLDB4MjQsMHgwNCwweDg5IH19LAotIHsxNiwgMHhhMjAwLCAwLCB7MHg4MCwweDI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YTIxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNSwweDAwLDB4ODksMHgyMCwweDIyLDB4NDAgfX0sCi0gezE2LCAweGEyMjAsIDAsIHsweDBiLDB4OTAsMHgwMiwweGY0LDB4ODQsMHg4NSwweDAwLDB4MjEsMHg0MCwweDQ4LDB4NTAsMHgwMiwweDI0LDB4MjAsMHg4ZCwweDA4IH19LAotIHsxNiwgMHhhMjMwLCAwLCB7MHgyMywweDQwLDB4MDgsMHhkMCwweDAyLDB4OTQsMHgwMCwweDhkLDB4MDAsMHgyOSwweDQwLDB4MGEsMHhkMCwweDAyLDB4YTQsMHgwOCB9fSwKLSB7MTYsIDB4YTI0MCwgMCwgezB4YjksMHgwMCwweDI4LDB4NDAsMHgxOCwweDkwLDB4YzIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyNTAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHgwMCwweDIwLDB4NTEsMHgwYiwweDEwLDB4MDIsMHhmNSwweDgwLDB4ODUsMHhjMSwweGExIH19LAotIHsxNiwgMHhhMjYwLCAwLCB7MHg1MCwweDA4LDB4NTQsMHgwYSwweDA1LDB4MDYsMHg4NSwweDQwLDB4MjEsMHg1MCwweDg4LDB4NTQsMHgwMiwweDk1LDB4MDAsMHg4NSB9fSwKLSB7MTYsIDB4YTI3MCwgMCwgezB4NDQsMHgyZCwweDUwLDB4MmEsMHg1NCwweDEyLDB4YzUsMHgwMSwweGIxLDB4MDAsMHgwOCwweDUwLDB4MDgsMHgxMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGEyODAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGNhLDB4NTAsMHgzMiwweDgwIH19LAotIHsxNiwgMHhhMjkwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlOCwweDAyLDB4YzgsMHgwMSwweDMyLDB4MDAsMHgyYywweGMwLDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMiB9fSwKLSB7MTYsIDB4YTJhMCwgMCwgezB4MzIsMHgwMCwweDJjLDB4ODAsMHgwYiwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2EsMHgwMCwweDRlLDB4NDAsMHgyMywweGEwLDB4MDggfX0sCi0gezE2LCAweGEyYjAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MmMsMHg4MCwweDBiLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMmMwLCAwLCB7MHg5OCwweDFkLDB4ZGMsMHgwNCwweGZkLDB4NDAsMHgzZiwweDUwLDB4NGYsMHg5MCwweDYzLDB4ZTQsMHg0MCwweGYxLDB4MDIsMHgzZSB9fSwKLSB7MTYsIDB4YTJkMCwgMCwgezB4NDEsMHgwZiwweDkwLDB4MTMsMHhmNSwweDA0LDB4ZjksMHg0MSwweDNlLDB4NTAsMHgwZiwweDk0LDB4NDMsMHg2NSwweDAyLDB4ZjkgfX0sCi0gezE2LCAweGEyZTAsIDAsIHsweDQxLDB4MzYsMHg1MCwweDRkLDB4OTQsMHgwMywweGY0LDB4MDAsMHhmOSwweDQxLDB4MzcsMHg0MCwweDRmLDB4OTQsMHgwMywweGU2IH19LAotIHsxNiwgMHhhMmYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGZjLDB4MDAsMHhjZCwweGE4LDB4MzMsMHg3MCB9fSwKLSB7MTYsIDB4YTMwMCwgMCwgezB4MGYsMHhkMCwweDEzLDB4ZjYsMHg4OCwweGNkLDB4MDAsMHgzMiwweDUwLDB4NGYsMHgxNCwweDIzLDB4MDcsMHhhMCwweGM5LDB4YzAgfX0sCi0gezE2LCAweGEzMTAsIDAsIHsweDMyLDB4NzgsMHgwYywweDllLDB4MDMsMHgzNywweDAyLDB4Y2QsMHhjMCwweDMyLDB4NjQsMHgwZiwweDk4LDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhMzIwLCAwLCB7MHhjZCwweDAwLDB4MzIsMHg0MCwweDJjLDB4ZGEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTMzMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDgsMHg4OCwweGViLDB4MjIsMHgzMCwweDBiLDB4ODAsMHgxMiwweGU4LDB4MDQsMHhhMCwweGEwLDB4MmEgfX0sCi0gezE2LCAweGEzNDAsIDAsIHsweDIwLDB4MGIsMHg4YSwweDBhLDB4MjMsMHgwMCwweDg4LDB4ODAsMHgyMiwweDI4LDB4MDAsMHhjOCwweDQyLDB4MjMsMHg4MCwweDgwIH19LAotIHsxNiwgMHhhMzUwLCAwLCB7MHhkNCwweDIwLDB4MjgsMHgwOSwweDgwLDB4MDIsMHgyMiwweDk0LDB4YTgsMHgwMCwweDJhLDB4MDAsMHg4OCwweDg1LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YTM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweGEwLDB4ODMsMHgwMCwweDI0LDB4ZDggfX0sCi0gezE2LCAweGEzNzAsIDAsIHsweDhiLDB4MTAsMHgwMiwweGU1LDB4MTQsMHg4OSwweDBhLDB4MjEsMHg0OCwweDBiLDB4NTIsMHgwMiwweDU0LDB4ODAsMHg4NSwweDQwIH19LAotIHsxNiwgMHhhMzgwLCAwLCB7MHgyNSwweDU4LDB4MDksMHg1NiwweDAyLDB4NDUsMHgwMiwweDgxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDAyLDB4MDQsMHgzMCB9fSwKLSB7MTYsIDB4YTM5MCwgMCwgezB4ODEsMHgwMCwweDIwLDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEzYTAsIDAsIHsweDE4LDB4MTUsMHhhNCwweDEyLDB4ODksMHgwMCwweGE2LDB4NDAsMHgwYiwweDkwLDB4NDIsMHhlNCwweDk4LDB4YTksMHg4MCwweDJiIH19LAotIHsxNiwgMHhhM2IwLCAwLCB7MHg0MCwweDBiLDB4NTEsMHgwMiwweDU1LDB4MDAsMHg5ZCwweDA4LDB4MjcsMHg0OCwweDA5LDB4ZjYsMHgwMiwweDQ0LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4YTNjMCwgMCwgezB4MDQsMHgyMiwweDQwLDB4MTksMHg5MSwweDhhLDB4MjQsMHg4MCwweGE5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGEzZDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTcsMHgwMiwweGM5LDB4MDQsMHgzNiwweDU4IH19LAotIHsxNiwgMHhhM2UwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhjNSwweDAwLDB4YzksMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MTMsMHg2NCwweDAyLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4YTNmMCwgMCwgezB4MzYsMHg0MCwweDJkLDB4OTAsMHgwYiwweDY2LDB4MDQsMHhjOSwweGUwLDB4YjIsMHg0OCwweDhmLDB4OTgsMHg0NywweDI0LDB4MDAgfX0sCi0gezE2LCAweGE0MDAsIDAsIHsweGM5LDB4MDAsMHg3MiwweDQwLDB4MGMsMHgxMCwweDAzLDB4NjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNDEwLCAwLCB7MHgyOCwweDAxLDB4YTUsMHgwOCwweGY5LDB4MjEsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwNCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTQyMCwgMCwgezB4NDAsMHg0ZiwweDk4LDB4ODMsMHhhNCwweDAwLDB4ZTksMHg0MCwweGJhLDB4NjAsMHgwZSwweDkwLDB4MDMsMHhhNCwweDgwLDB4ZjkgfX0sCi0gezE2LCAweGE0MzAsIDAsIHsweGEzLDB4M2UsMHg0OCwweDBmLDB4OTgsMHgwYiwweGU0LDB4MDAsMHhmOSwweDAwLDB4MWUsMHg0MCwweDBmLDB4OTAsMHgwMywweDhhIH19LAotIHsxNiwgMHhhNDQwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEyLDB4NDgsMHhjOCwweDIwLDB4MzIsMHgwOCB9fSwKLSB7MTYsIDB4YTQ1MCwgMCwgezB4MWYsMHg4MCwweDgzLDB4ZTEsMHgyMiwweGM4LDB4MDEsMHgzMywweDAwLDB4MmMsMHhjMCwweDAzLDB4MzAsMHgwNCwweGNjLDB4NDAgfX0sCi0gezE2LCAweGE0NjAsIDAsIHsweGIxLDB4MDAsMHgwYywweDQ0LDB4MDMsMHgyMCwweDEyLDB4YzgsMHg0MSwweDMyLDB4MDAsMHgyZCwweDg0LDB4MGIsMHg2MCwweDAwIH19LAotIHsxNiwgMHhhNDcwLCAwLCB7MHhmOCwweDAwLDB4YjIsMHgwMCwweDRjLDB4ODAsMHgwYiwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTQ4MCwgMCwgezB4MjgsMHgwNSwweDNhLDB4MDAsMHhhNiwweDAwLDB4MjMsMHg5MCwweDAzLDB4ZTQsMHg5MiwweGY4LDB4MDAsMHg4MiwweDAwLDB4MzYgfX0sCi0gezE2LCAweGE0OTAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweGNhLDB4MDAsMHgyMiwweDgzLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMywweDhhIH19LAotIHsxNiwgMHhhNGEwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4YjYsMHg4MCwweDIyLDB4ODAsMHgwZCwweGU4LDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4YTRiMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2ZSwweDAwLDB4ODIsMHg0MiwweDIwLDB4YzAgfX0sCi0gezE2LCAweGE0YzAsIDAsIHsweDBiLDB4MzQsMHgwMiwweGNkLDB4MDksMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDIsMHg5OCwweDAwIH19LAotIHsxNiwgMHhhNGQwLCAwLCB7MHgyMCwweDIwLDB4MjgsMHgwMCwweDBhLDB4MDQsMHgxMCwweDgxLDB4ODAsMHgyMCwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4YTRlMCwgMCwgezB4YjMsMHgwMCwweDIyLDB4YzAsMHgxOCwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0ZjAsIDAsIHsweGEwLDB4MDEsMHgzOCwweDAyLDB4YTMsMHgwMCwweDIxLDB4NDAsMHgxYiwweDcwLDB4MDIsMHhkYywweDIwLDB4ODQsMHgwNSwweDY1IH19LAotIHsxNiwgMHhhNTAwLCAwLCB7MHhlMCwweDA4LDB4ZjAsMHgwMiwweDdjLDB4MTAsMHg5NywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweDU0LDB4ODgsMHg4NyB9fSwKLSB7MTYsIDB4YTUxMCwgMCwgezB4MDksMHgyMSwweGU4LDB4MDksMHgzMywweDAyLDB4MWMsMHg4MCwweGI2LDB4MDgsMHg2MywweGM4LDB4MDksMHgzOCwweDEyLDB4MjggfX0sCi0gezE2LCAweGE1MjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4MWUsMHgwMCwweGM3LDB4YTAsMHhhMSwweGUwIH19LAotIHsxNiwgMHhhNTMwLCAwLCB7MHgwYiwweDc4LDB4MDMsMHhmZSwweDAwLDB4YzUsMHg4MiwweDMzLDB4MjAsMHgwYywweDQ4LDB4MDMsMHgxZSwweDAxLDB4ZGYsMHg4MCB9fSwKLSB7MTYsIDB4YTU0MCwgMCwgezB4MzEsMHgyMCwweDBjLDB4NDgsMHgwMywweDA2LDB4NDAsMHg4NywweDgyLDB4MzEsMHhmOCwweDBkLDB4N2IsMHgwMywweDVmLDB4MDAgfX0sCi0gezE2LCAweGE1NTAsIDAsIHsweGYzLDB4ODAsMHgzMSwweGYyLDB4MGMsMHg2MCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNTYwLCAwLCB7MHgwOCwweDFkLDB4OWMsMHgwMCwweGZiLDB4MDEsMHgyZiwweDQwLDB4MDcsMHhiMCwweDAzLDB4ZTgsMHgwNCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YTU3MCwgMCwgezB4YzEsMHgwZiwweGIwLDB4MDMsMHhlMCwweDA2LDB4ZTgsMHgwMiwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDEsMHhhNCwweDEwLDB4ZjkgfX0sCi0gezE2LCAweGE1ODAsIDAsIHsweDQwLDB4YmUsMHhkMCwweDA2LDB4YjAsMHgwMywweGVlLDB4MDAsMHhmYSwweDAwLDB4M2MsMHhkOCwweDBmLDB4YTAsMHgwMywweGMyIH19LAotIHsxNiwgMHhhNTkwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhjZiwweDg4LDB4MzMsMHg2NCB9fSwKLSB7MTYsIDB4YTVhMCwgMCwgezB4MmMsMHhmOCwweDAzLDB4ZmUsMHgwMiwweGM0LDB4YjAsMHgzMywweDIwLDB4OGMsMHhkOCwweDAzLDB4MzIsMHgwMCwweGNjLDB4YjQgfX0sCi0gezE2LCAweGE1YjAsIDAsIHsweDMzLDB4YTAsMHgwYywweGM4LDB4MDMsMHgxNiwweDIwLDB4Y2YsMHhjMCwweDMzLDB4ZjAsMHgwYywweGY4LDB4MDMsMHhmZSwweDAwIH19LAotIHsxNiwgMHhhNWMwLCAwLCB7MHhjZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZDgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTVkMCwgMCwgezB4YTgsMHgxMSwweGI1LDB4MDQsMHg4NywweDEyLDB4YTEsMHg1MCwweDBhLDB4NzQsMHgxMiwweGM0LDB4NDAsMHg4NCwweDExLDB4MjMgfX0sCi0gezE2LCAweGE1ZTAsIDAsIHsweGMwLDB4MjgsMHhlMCwweDAyLDB4MWMsMHgwMiwweGE3LDB4MTEsMHgyMSwweDU4LDB4NDgsMHg3MCwweDBhLDB4MTQsMHgwMCwweDhkIH19LAotIHsxNiwgMHhhNWYwLCAwLCB7MHgwMCwweDIzLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhmYywweDQwLDB4ODYsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4YTYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NSwweDAwLDB4ODcsMHg0MCwweDIxLDB4MDAgfX0sCi0gezE2LCAweGE2MTAsIDAsIHsweDE4LDB4NzEsMHgwMiwweGRjLDB4MDAsMHg5NSwweDI4LDB4ZTEsMHgwMiwweDA4LDB4NTAsMHgwMiwweDNjLDB4NDIsMHhhNywweDIyIH19LAotIHsxNiwgMHhhNjIwLCAwLCB7MHgyMSwweDgwLDB4ODgsMHg0MSwweDAyLDB4MTQsMHgwMCwweDg1LDB4MDAsMHhhMSwweGMwLDB4MDksMHg3MSwweDAyLDB4ZGMsMHgwMCB9fSwKLSB7MTYsIDB4YTYzMCwgMCwgezB4YjUsMHgxMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2NDAsIDAsIHsweDIwLDB4MTQsMHhjNCwweDEwLDB4ODMsMHg4NCwweDIwLDB4MTEsMHgwOCwweDMwLDB4MDIsMHhjMywweDEwLDB4OTEsMHgyMCwweDIwIH19LAotIHsxNiwgMHhhNjUwLCAwLCB7MHhjMCwweDA4LDB4MjgsMHgxMiwweDAwLDB4MDAsMHhhMCwweDg0LDB4MjAsMHg0MCwweDA4LDB4MzAsMHgwMiwweDA0LDB4MjYsMHg4MyB9fSwKLSB7MTYsIDB4YTY2MCwgMCwgezB4MDAsMHgyMCwweGQwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIyLDB4MDAsMHgyYywweGMwLDB4MGIsMHgwMCwweDAyLDB4MDggfX0sCi0gezE2LCAweGE2NzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YWQsMHgwMCwweGNmLDB4ODgsMHhiMiwweGU4IH19LAotIHsxNiwgMHhhNjgwLCAwLCB7MHgwYywweDMwLDB4MTMsMHhjZSwweGMyLDB4ZDAsMHg4MiwweDMyLDB4MDAsMHgwYywweDBlLDB4MGIsMHgyMCwweDAwLDB4YzgsMHg4OCB9fSwKLSB7MTYsIDB4YTY5MCwgMCwgezB4YjIsMHg0MCwweDJjLDB4YmEsMHg0MywweDM3LDB4MDIsMHhjYiwweDAwLDB4YjMsMHhjMCwweDJjLDB4ZjAsMHgwMywweGZjLDB4MTIgfX0sCi0gezE2LCAweGE2YTAsIDAsIHsweGZiLDB4MDAsMHg3ZiwweGQxLDB4MGYsMHgzMCwweDBiLDB4MmIsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNmIwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHgwMiwweGYxLDB4NDAsMHgzZSwweDQxLDB4MGYsMHhiMCwweDIzLDB4ZWQsMHgwMCwweGU4LDB4MDEsMHgzZSB9fSwKLSB7MTYsIDB4YTZjMCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MTMsMHhlYywweDA0LDB4ZGIsMHgwMCwweDNjLDB4ODAsMHgwZiwweDA0LDB4MDMsMHhlNCwweDQwLDB4ZjkgfX0sCi0gezE2LCAweGE2ZDAsIDAsIHsweDAwLDB4M2MsMHhjMiwweDBlLDB4YjAsMHgwMywweGVlLDB4MDAsMHg0YiwweDQxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGUwIH19LAotIHsxNiwgMHhhNmUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHg0YiwweDAwLDB4MzIsMHg0MiB9fSwKLSB7MTYsIDB4YTZmMCwgMCwgezB4MGMsMHhmMCwweDAzLDB4MzYsMHg4MCwweGNkLDB4MDAsMHgzMywweDAwLDB4NGMsMHhjMCwweDgzLDB4M2MsMHgwNCwweGY3LDB4MDAgfX0sCi0gezE2LCAweGE3MDAsIDAsIHsweDMyLDB4NDAsMHgwYywweGIxLDB4NDMsMHgxNCwweDAwLDB4Y2QsMHg4MCwweDMzLDB4YzAsMHgwYywweGYwLDB4MDMsMHhmYywweDAwIH19LAotIHsxNiwgMHhhNzEwLCAwLCB7MHhmZiwweDAwLDB4YjMsMHhjMiwweDBjLDB4YTAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTcyMCwgMCwgezB4ODEsMHgwNCwweDRmLDB4MDIsMHg4YiwweDgwLDB4MjAsMHgzMCwweDA4LDB4YmMsMHgwMiwweDIwLDB4MTAsMHg4OSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGE3MzAsIDAsIHsweGMwLDB4MDAsMHhiMCwweDAzLDB4NjAsMHgwNCwweGI4LDB4MDAsMHhhMiwweDkwLDB4MjgsMHg4YywweDFhLDB4MjQsMHgwMiwweDhiIH19LAotIHsxNiwgMHhhNzQwLCAwLCB7MHg4MywweDIyLDB4YzEsMHgwOCwweGIwLDB4MDIsMHhmYywweDAwLDB4YjMsMHg2MCwweDIwLDB4YzAsMHgwZCwweGEwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4YTc1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZSwweDAwLDB4YWIsMHhjMCwweDIyLDB4NjAgfX0sCi0gezE2LCAweGE3NjAsIDAsIHsweDA4LDB4YjgsMHgwMiwweDI5LDB4MDAsMHg4OCwweDAxLDB4MjAsMHgwMCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDAwIH19LAotIHsxNiwgMHhhNzcwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTQsMHgwMCwweDgxLDB4MjQsMHhhMiwweGMwLDB4MDksMHhiMCwweDQ2LDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4YTc4MCwgMCwgezB4YjksMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3OTAsIDAsIHsweDA4LDB4MDQsMHgyYywweDAwLDB4YTEsMHgwMCwweGEwLDB4NDEsMHgwOCwweGIwLDB4MGEsMHgyMCwweDUzLDB4ODgsMHgwMCwweDIwIH19LAotIHsxNiwgMHhhN2EwLCAwLCB7MHhjMCwweDI4LDB4YTAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgwMiwweDg0LDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YTdiMCwgMCwgezB4MDQsMHgyMCwweGMwLDB4MjgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDIsMHg2MiwweGMwLDB4MDksMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGE3YzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NmMsMHgwMCwweGU5LDB4MDAsMHgyMiwweDAwIH19LAotIHsxNiwgMHhhN2QwLCAwLCB7MHgwYywweGIwLDB4MDMsMHgwMCwweDA0LDB4YzksMHgwMCwweGIyLDB4MDAsMHgwYywweDkwLDB4MDMsMHgyYywweDAwLDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4YTdlMCwgMCwgezB4YjIsMHhjMCwweDhjLDB4YjAsMHgwMywweGI0LDB4MDIsMHg4ZiwweDAwLDB4MjMsMHhjMCwweDA0LDB4ZjAsMHgwMywweGVjLDB4MDggfX0sCi0gezE2LCAweGE3ZjAsIDAsIHsweGY5LDB4MDAsMHgzMywweGMwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhODAwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgxMCwweGRkLDB4MDQsMHgzZiwweDAwLDB4MGYsMHhjMCwweDIzLDB4ZjAsMHg5MCwweGZkLDB4MDAsMHgyZiB9fSwKLSB7MTYsIDB4YTgxMCwgMCwgezB4YzAsMHgwZiwweGUwLDB4NDMsMHhkMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHg4ZiwweGMwLDB4MjIsMHg3NCwweDAwLDB4ZmQgfX0sCi0gezE2LCAweGE4MjAsIDAsIHsweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA2LDB4M2YsMHhjMCwweDBmLDB4YzAsMHg0MywweGU4IH19LAotIHsxNiwgMHhhODMwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4ODAsMHhlZiwweDIwLDB4MTEsMHhjMCB9fSwKLSB7MTYsIDB4YTg0MCwgMCwgezB4MGUsMHg3MiwweDAzLDB4YmQsMHhiMCwweGNmLDB4MzEsMHhiZiwweGNjLDB4MDIsMHhmMCwweDAzLDB4ZmMsMHhjNiwweGNmLDB4MDEgfX0sCi0gezE2LCAweGE4NTAsIDAsIHsweDBiLDB4YzUsMHgwZiwweGYxLDB4MDMsMHgzYywweDA0LDB4ZWYsMHg2MSwweDMzLDB4ZDgsMHgwNywweGYwLDB4MDMsMHgzNCwweDgwIH19LAotIHsxNiwgMHhhODYwLCAwLCB7MHhjZCwweDMwLDB4NzMsMHhjYywweDBmLDB4ZTgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTg3MCwgMCwgezB4ODAsMHgxOCwweGU5LDB4MDAsMHg4OCwweDY5LDB4MjIsMHgxMCwweDA4LDB4OGMsMHgwMCwweDIxLDB4ODQsMHg4OCwweDQxLDB4MjIgfX0sCi0gezE2LCAweGE4ODAsIDAsIHsweDEwLDB4ODgsMHg4NiwweDkyLDB4MDEsMHgwMCwweDg4LDB4NjIsMHgyMiwweDEwLDB4NGIsMHg4NywweDAyLDB4MjEsMHhhMCwweDg4IH19LAotIHsxNiwgMHhhODkwLCAwLCB7MHg2MCwweDIwLDB4MTAsMHgwYiwweDg2LDB4YTIsMHgzNSwweGEwLDB4YWIsMHg2MCwweGExLDB4YzQsMHgwYiwweGI4LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YThhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZCwweGE4LDB4MzMsMHg0MSwweDIwLDB4YzYgfX0sCi0gezE2LCAweGE4YjAsIDAsIHsweDRhLDB4MzEsMHgwMCwweDhjLDB4MTAsMHg5MywweDMzLDB4MjgsMHhjYywweDI5LDB4MzQsMHgxMiwweDhjLDB4NTAsMHg5MywweDFjIH19LAotIHsxNiwgMHhhOGMwLCAwLCB7MHgyOCwweDg0LDB4MDEsMHgyMCwweDRhLDB4NGMsMHg0MSwweDgzLDB4MTAsMHgyNCwweGNjLDB4NGIsMHgzMSwweDQyLDB4NGMsMHg0MCB9fSwKLSB7MTYsIDB4YThkMCwgMCwgezB4OTEsMHgxMCwweDI0LDB4YzAsMHgwYiwweDgwLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4ZTAsIDAsIHsweGMwLDB4MDUsMHhhOCwweDIwLDB4OTAsMHgwMiwweDIyLDB4MDAsMHgwOCwweDgwLDB4MDAsMHgyMCwweDMwLDB4YjgsMHgwOCwweDI2IH19LAotIHsxNiwgMHhhOGYwLCAwLCB7MHgwMCwweDAxLDB4ODAsMHg4MiwweDIwLDB4MjAsMHgxOCwweDA4LDB4NDIsMHg0MCwweDAzLDB4OTEsMHgwMiwweDYwLDB4MDAsMHgwOCB9fSwKLSB7MTYsIDB4YTkwMCwgMCwgezB4MDEsMHhhNiwweDAwLDB4MGIsMHg4MCwweDAwLDB4NmMsMHgxMCwweGJiLDB4MDEsMHgyNiwweGMwLDB4NGIsMHg5MCwweDBhLDB4MzAgfX0sCi0gezE2LCAweGE5MTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZmQsMHgwMCwweGZkLDB4NDEsMHgzMywweGExIH19LAotIHsxNiwgMHhhOTIwLCAwLCB7MHgwZSwweGQyLDB4MDMsMHhiNSwweDAyLDB4ZGYsMHg0MiwweDNiLDB4MDEsMHgwZiwweGQ0LDB4NDMsMHhiNSwweDAwLDB4Y2QsMHg0MCB9fSwKLSB7MTYsIDB4YTkzMCwgMCwgezB4MWIsMHhjNCwweDBkLDB4NzgsMHgwMywweDcwLDB4MDIsMHhlYywweDAwLDB4MTcsMHhhMSwweDBmLDB4ZTgsMHgwYiwweDJjLDB4MDIgfX0sCi0gezE2LCAweGE5NDAsIDAsIHsweGQ5LDB4OTAsMHgyNiwweGMwLDB4MGYsMHhhYywweDAzLDB4MDAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOTUwLCAwLCB7MHhlMCwweDAxLDB4YjgsMHgwMCwweGVlLDB4MDAsMHgxZiwweDY0LDB4NGYsMHhlMCwweDAzLDB4ZDgsMHgxMCwweGM0LDB4MTgsMHgzMyB9fSwKLSB7MTYsIDB4YTk2MCwgMCwgezB4YzAsMHgwYywweGEwLDB4YTEsMHhiOCwweDA5LDB4ZTYsMHgwOSwweDM2LDB4MjIsMHgwZiwweDg4LDB4MjMsMHhiYywweDAwLDB4ZmIgfX0sCi0gezE2LCAweGE5NzAsIDAsIHsweDAwLDB4M2IsMHg2NCwweDBmLDB4ZDksMHgwMywweDljLDB4MDAsMHhlMywweDA0LDB4M2IsMHhjMCwweDBmLDB4ZjQsMHgwMywweGY4IH19LAotIHsxNiwgMHhhOTgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhkLDB4MDAsMHhjOSwweDQwLDB4YjYsMHg4MCB9fSwKLSB7MTYsIDB4YTk5MCwgMCwgezB4MGYsMHgxMCwweDAzLDB4YTcsMHgyMCwweGZiLDB4NTAsMHhiNiwweDA4LDB4NGMsMHgxNCwweDAzLDB4NjUsMHgyMiwweGQ5LDB4NDAgfX0sCi0gezE2LCAweGE5YTAsIDAsIHsweGI2LDB4ODAsMHgwZSwweGEwLDB4MGIsMHgwMCwweDAwLDB4ZDgsMHgwMCwweDc2LDB4ODIsMHgyOCwweGEwLDB4MjMsMHg2NCwweDAwIH19LAotIHsxNiwgMHhhOWIwLCAwLCB7MHhjOSwweDA0LDB4MTIsMHhjMCwweDhlLDB4ODAsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTljMCwgMCwgezB4YzgsMHgwNSwweDJiLDB4NjAsMHg4YSwweDA5LDB4MjAsMHg1MCwweDA4LDB4YTAsMHgyMywweGU5LDB4MDAsMHhiOCwweGMwLDB4MjIgfX0sCi0gezE2LCAweGE5ZDAsIDAsIHsweGYwLDB4MDgsMHhhYywweDAyLDB4MjgsMHgwNCwweDhhLDB4YzIsMHgyMiwweDUwLDB4MDgsMHg5MCwweDA2LDB4MmMsMHgwMCwweDhiIH19LAotIHsxNiwgMHhhOWUwLCAwLCB7MHgwNCwweDIyLDB4NTEsMHgwOCwweDk0LDB4MDIsMHhlNCwweDA0LDB4OGIsMHgwNCwweDM3LDB4YzAsMHgwOCwweDE4LDB4NDIsMHgyNiB9fSwKLSB7MTYsIDB4YTlmMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDQsMHg0YiwweDAwLDB4ODIsMHhjOCwweDI0LDB4NDMgfX0sCi0gezE2LCAweGFhMDAsIDAsIHsweDBiLDB4MjYsMHgwYSwweDg4LDB4MDAsMHhiMCwweDgwLDB4MjIsMHhlNCwweDBiLDB4MjAsMHg0MiwweDY5LDB4MDAsMHhhMiwweDkwIH19LAotIHsxNiwgMHhhYTEwLCAwLCB7MHgyOCwweDQwLDB4ZTgsMHgxMCwweDAyLDB4MGMsMHgwMCwweGJiLDB4MDAsMHgyOCwweDUwLDB4ODgsMHg5MCwweDgyLDB4YzQsMHgwMSB9fSwKLSB7MTYsIDB4YWEyMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYSwweDEwLDB4MDIsMHhiYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhMzAsIDAsIHsweDIwLDB4MTAsMHg0ZSwweDgwLDB4ODEsMHgwMCwweDIxLDB4YTgsMHgwOCwweDU4LDB4MDIsMHhkNiwweDAxLDB4YjcsMHg5MCwweDY4IH19LAotIHsxNiwgMHhhYTQwLCAwLCB7MHgyMCwweDAzLDB4NTksMHg4MiwweDU2LDB4MDAsMHhhNSwweDg0LDB4MmQsMHhhMiwweDE4LDB4NjksMHgyMiwweDAyLDB4MDAsMHgzNCB9fSwKLSB7MTYsIDB4YWE1MCwgMCwgezB4ODAsMHgyOSwweGE4LDB4MDgsMHg2OCwweDA2LDB4YzYsMHgxNCwweDg1LDB4ODIsMHgyNSwweGUwLDB4MDgsMHg1OCwweDgyLDB4MWMgfX0sCi0gezE2LCAweGFhNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4NDgsMHgwMCwweGMyLDB4ZjAsMHgzNCwweDQwIH19LAotIHsxNiwgMHhhYTcwLCAwLCB7MHgwZiwweDIwLDB4MDMsMHg4OCwweDgwLDB4ZjgsMHgxMCwweDMwLDB4YzAsMHgyNywweDIxLDB4MGIsMHg0OCwweDgwLDB4ZWEsMHgyMCB9fSwKLSB7MTYsIDB4YWE4MCwgMCwgezB4MzgsMHgwMCwweDBjLDB4MDAsMHgxMiwweDBjLDB4MDgsMHg3MywweDAwLDB4YjgsMHg0MCwweDBjLDB4MTIsMHgyMywweDRjLDB4MDIgfX0sCi0gezE2LCAweGFhOTAsIDAsIHsweDQzLDB4MzQsMHgzMCwweGMwLDB4MGUsMHgxMSwweDAzLDB4OTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYWEwLCAwLCB7MHg0MCwweDE1LDB4YWMsMHg5MCwweGY5LDB4MDEsMHgyZSwweDg4LDB4NGIsMHg5MCwweDExLDB4NjQsMHgwMCwweGZiLDB4MTAsMHgzMiB9fSwKLSB7MTYsIDB4YWFiMCwgMCwgezB4MDAsMHgwMCwweDkxLDB4MDMsMHhhNCwweDAwLDB4YzksMHgwMCwweDMyLDB4YzQsMHg0ZCwweGIwLDB4NDMsMHhlMCwweDA0LDB4YzggfX0sCi0gezE2LCAweGFhYzAsIDAsIHsweDAwLDB4MzYsMHg4OSwweDBmLDB4YTgsMHgwMywweGVkLDB4MDAsMHhmOSwweDE0LDB4M2UsMHhjMCwweDBmLDB4MTAsMHg0MywweGQwIH19LAotIHsxNiwgMHhhYWQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGU4LDB4MDAsMHhjOCwweDAwLDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4YWFlMCwgMCwgezB4MGMsMHgwMCwweDUzLDB4YTAsMHgwMCwweGU4LDB4MDEsMHgzMiwweDAxLDB4MGUsMHg4MCwweDUzLDB4MjAsMHgxMCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGFhZjAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyMCwweDEwLDB4ZTgsMHgwNCwweGI2LDB4MDAsMHg4NCwweDgwLDB4MDMsMHgyZCwweDEyIH19LAotIHsxNiwgMHhhYjAwLCAwLCB7MHhjYiwweDAwLDB4MmUsMHhjYSwweDA0LDB4OTAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWIxMCwgMCwgezB4NGMsMHgxOSwweDhjLDB4MDAsMHg4NywweDAyLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MjEgfX0sCi0gezE2LCAweGFiMjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDYyLDB4NGMsMHgwNCwweDgzLDB4MDAsMHgyMSwweDgwLDB4NDgsMHhlMCwweDEyLDB4M2MsMHgwMCwweDg3IH19LAotIHsxNiwgMHhhYjMwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxYywweDAwLDB4ODUsMHgwMSwweDI0LDB4ZDAsMHgwYSwweDUwLDB4MDIsMHhmMiB9fSwKLSB7MTYsIDB4YWI0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHg5YSwweDAwLDB4ODAsMHg4MCwweDI4LDB4MjAgfX0sCi0gezE2LCAweGFiNTAsIDAsIHsweDA4LDB4NGMsMHgyMiwweGQyLDB4MDAsMHhhNCwweDgwLDB4MjQsMHgzMCwweDBiLDB4NDgsMHgwMiwweDUyLDB4MDAsMHg4NCwweGMwIH19LAotIHsxNiwgMHhhYjYwLCAwLCB7MHgyMSwweDIwLDB4MDksMHg0OCwweDY4LDB4MTMsMHgwMCwweGE0LDB4ODAsMHg2MCwweDIwLDB4MDksMHgwOCwweDAyLDB4NTYsMHgwMCB9fSwKLSB7MTYsIDB4YWI3MCwgMCwgezB4OTcsMHg4MCwweDJkLDB4ZTAsMHg4OCwweDU4LDB4MDIsMHhlMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiODAsIDAsIHsweDZjLDB4MDQsMHhjYywweDAwLDB4ODMsMHg4MCwweDIwLDB4ZDgsMHgwOCwweDMwLDB4MDIsMHg0YywweDQwLDB4ODMsMHgwMCwweDI0IH19LAotIHsxNiwgMHhhYjkwLCAwLCB7MHhkMSwweDA5LDB4YjksMHg0MiwweDRlLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMSwweDg5LDB4MzAsMHg0MiwweDBjLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YWJhMCwgMCwgezB4ZjAsMHhhMCwweGQ5LDB4MTksMHgzNiwweDIyLDB4NjYsMHgwNiwweDkxLDB4MDAsMHgwYywweGMxLDB4MGEsMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGFiYjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4ZTgsMHgwMiwweGNhLDB4YTUsMHgyYSwweDkxIH19LAotIHsxNiwgMHhhYmMwLCAwLCB7MHgyOCwweGE4LDB4MDMsMHhlYSwweDAyLDB4YWEsMHgwMCwweGI2LDB4YTAsMHgwZiwweGEwLDB4MGEsMHgyYSwweDkyLDB4Y2EsMHg4MyB9fSwKLSB7MTYsIDB4YWJkMCwgMCwgezB4YmEsMHg4MCwweDI5LDB4YTAsMHgwMywweDJiLDB4MDAsMHhlYSwweDQwLDB4NjYsMHg5MCwweDJkLDB4ZTQsMHgwYiwweDZhLDB4ODAgfX0sCi0gezE2LCAweGFiZTAsIDAsIHsweGRhLDB4MDAsMHgzZSwweDgwLDB4MGMsMHhlMCwweDAzLDB4ZmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYmYwLCAwLCB7MHg0OCwweDAxLDB4ODAsMHgwMCwweGZjLDB4MDAsMHgzZCwweDAwLDB4MGYsMHhjMCwweDAzLDB4YjAsMHgxNCwweGZjLDB4MDAsMHgzYiB9fSwKLSB7MTYsIDB4YWMwMCwgMCwgezB4MTIsMHgwZSwweGMwLDB4NDMsMHhiMSwweDE0LDB4ZmMsMHgwMCwweDNkLDB4MDAsMHgwZSwweGMwLDB4MDMsMHhmMCwweDIwLDB4ZjQgfX0sCi0gezE2LCAweGFjMTAsIDAsIHsweDAwLDB4MzEsMHgwMCwweDBlLDB4NDQsMHgxMywweGEwLDB4MDAsMHhlOCwweDA2LDB4MzYsMHgwMCwweDRmLDB4ODAsMHgxMywweGQyIH19LAotIHsxNiwgMHhhYzIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGE0LDB4MDAsMHhkMSwweDAwLDB4MzYsMHg2MCB9fSwKLSB7MTYsIDB4YWMzMCwgMCwgezB4MWMsMHgxOCwweDBiLDB4NDYsMHgwMCwweGQ5LDB4ODAsMHgzMCwweDQwLDB4MmMsMHg5OCwweDA1LDB4ODYsMHgwMCwweGMxLDB4ODAgfX0sCi0gezE2LCAweGFjNDAsIDAsIHsweDkyLDB4NDAsMHgwZCwweDEwLDB4MDMsMHg0NCwweDAyLDB4ODksMHgwMCwweDMyLDB4NzAsMHgwYywweDk4LDB4MDEsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhYzUwLCAwLCB7MHhjOSwweDA0LDB4MzAsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWM2MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweDI0LDB4ODAsMHg4OSwweDAxLDB4MjIgfX0sCi0gezE2LCAweGFjNzAsIDAsIHsweDQwLDB4NDgsMHg5MSwweDAyLDB4MjQsMHgwMCwweGQ5LDB4OTAsMHgyMiwweDQxLDB4MDgsMHg5MCwweDEyLDB4MjQsMHgxMCwweDg5IH19LAotIHsxNiwgMHhhYzgwLCAwLCB7MHgwMCwweDMyLDB4NDAsMHgwOCwweDk1LDB4MTIsMHgyNCwweDAyLDB4ODEsMHgwMCwweGEyLDB4NDEsMHgwZCwweDkwLDB4NDIsMHhlMCB9fSwKLSB7MTYsIDB4YWM5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MDUsMHgyNCwweDAyLDB4OWQsMHgwMCwweDIzLDB4NDQgfX0sCi0gezE2LCAweGFjYTAsIDAsIHsweDA4LDB4ZDIsMHgwNiwweDc0LDB4ODAsMHhiNSwweDIwLDB4MjMsMHg0MCwweDFhLDB4ZDAsMHgwNiwweDM1LDB4OTAsMHg4ZCwweDAyIH19LAotIHsxNiwgMHhhY2IwLCAwLCB7MHgyZiwweDQ0LDB4MTksMHhkMCwweDAyLDB4NzQsMHgwMCwweDhkLDB4MDAsMHg2MywweDQwLDB4MTgsMHhkNCwweDAyLDB4YTQsMHgxMSB9fSwKLSB7MTYsIDB4YWNjMCwgMCwgezB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjZDAsIDAsIHsweDI4LDB4MTQsMHgwNCwweDgwLDB4ODUsMHgyMCwweDIxLDB4NjgsMHgwOCwweDUyLDB4MDIsMHgxNCwweDgwLDB4YTUsMHgyMCwweGExIH19LAotIHsxNiwgMHhhY2UwLCAwLCB7MHg0OCwweDBhLDB4NzIsMHgzOCwweDE0LDB4ODAsMHg5NSwweDI0LDB4MmQsMHg0OCwweDI4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHg4NSB9fSwKLSB7MTYsIDB4YWNmMCwgMCwgezB4MjAsMHgyMSwweDQ4LDB4MDgsMHg1MiwweDA2LDB4ODQsMHg4MCwweDgxLDB4MjAsMHgyMCwweDRhLDB4MDksMHgxMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGFkMDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDBkLDB4NjEsMHg0MCwweGQ4LDB4NTAsMHhiMiwweDE0IH19LAotIHsxNiwgMHhhZDEwLCAwLCB7MHgyOCwweGEwLDB4MDMsMHg2MSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4OTQsMHg0ZSwweDg1LDB4MDQsMHgyMSwweDQyLDB4YzgsMHg1MCB9fSwKLSB7MTYsIDB4YWQyMCwgMCwgezB4M2MsMHgxNCwweDBkLDB4ODAsMHgwMywweDYxLDB4NDAsMHg4OCwweDUwLDB4YjIsMHgxNCwweDJjLDB4YzUsMHgwOSwweGExLDB4NDAgfX0sCi0gezE2LCAweGFkMzAsIDAsIHsweGM4LDB4NTAsMHgzMiwweDFjLDB4MGMsMHg4MCwweDAzLDB4ZWUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZDQwLCAwLCB7MHg5OCwweDE1LDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzYSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGQ5LDB4MTQsMHgzZSB9fSwKLSB7MTYsIDB4YWQ1MCwgMCwgezB4NDQsMHgwZCwweDkxLDB4NDMsMHg2NCwweDQwLDB4ZTksMHgxMCwweDMyLDB4NDQsMHgwNywweDkzLDB4YzMsMHhlNCwweDUwLDB4ZDEgfX0sCi0gezE2LCAweGFkNjAsIDAsIHsweDEwLDB4N2UsMHg0NCwweDAzLDB4OTEsMHgwMSwweDU0LDB4NDQsMHhmZCwweDE0LDB4M2UsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU2IH19LAotIHsxNiwgMHhhZDcwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4ODAsMHhkZCwweGEwLDB4MzMsMHg2OCB9fSwKLSB7MTYsIDB4YWQ4MCwgMCwgezB4MWUsMHhkYSwweDAzLDB4MzYsMHg5MCwweGNkLDB4YTAsMHgzYiwweDY4LDB4MGEsMHhkOCwweDIzLDB4NzYsMHgwYywweGVkLDB4ODAgfX0sCi0gezE2LCAweGFkOTAsIDAsIHsweDJiLDB4NjIsMHgwYiwweDk5LDB4MDIsMHhhNywweDgwLDB4ZjksMHhlMSwweDM3LDB4NjgsMHgwYywweGRhLDB4MDMsMHgyNywweDgwIH19LAotIHsxNiwgMHhhZGEwLCAwLCB7MHhjOSwweGEyLDB4MjIsMHg2OCwweDRjLDB4NTAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWRiMCwgMCwgezB4MzgsMHgxOCwweGUxLDB4NDAsMHg4OCwweDUwLDB4MjIsMHgxNCwweDA4LDB4ODAsMHgyMiwweDYwLDB4MDAsMHg4OCwweDA0LDB4MjIgfX0sCi0gezE2LCAweGFkYzAsIDAsIHsweDAwLDB4MDgsMHgwNCwweDI2LDB4MDEsMHgwMCwweDg4LDB4NTAsMHgyMiwweDEwLDB4MDgsMHhhZiwweDAyLDB4MjMsMHgwMCwweDg4IH19LAotIHsxNiwgMHhhZGQwLCAwLCB7MHhjMCwweGEwLDB4MTAsMHg4OCwweDg0LDB4MDIsMHgyMywweDgwLDB4YTAsMHg0MCwweDJhLDB4MTAsMHgwOCwweDgwLDB4MTIsMHg0ZSB9fSwKLSB7MTYsIDB4YWRlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHg4NCwweDAwLDB4ODEsMHgwMSwweDIwLDB4NDAgfX0sCi0gezE2LCAweGFkZjAsIDAsIHsweDBhLDB4MTQsMHgwMiwweDQ1LDB4MDAsMHg4MSwweDQxLDB4MmMsMHg1MCwweDBiLDB4MTQsMHgwMiwweDA1LDB4MDQsMHhhMSwweDAwIH19LAotIHsxNiwgMHhhZTAwLCAwLCB7MHgyOCwweDQwLDB4ODIsMHgxMCwweDAyLDB4ODQsMHg0MCwweGExLDB4MzIsMHg4MCwweDUwLDB4MDksMHgxNCwweDAyLDB4MDQsMHhjNCB9fSwKLSB7MTYsIDB4YWUxMCwgMCwgezB4OTEsMHgxMCwweDY0LDB4NDQsMHgyOCwweDEwLDB4MDIsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlMjAsIDAsIHsweDE4LDB4MDQsMHhhYywweDAyLDB4ODEsMHgwMCwweDIyLDB4YzEsMHgwOCwweDkwLDB4MDIsMHg0NCwweDAyLDB4ODksMHgwMiwweDI2IH19LAotIHsxNiwgMHhhZTMwLCAwLCB7MHg0MSwweDA5LDB4OTAsMHgwYSwweDI0LDB4MGMsMHg4OSwweDA0LDB4MjIsMHg1MCwweDA4LDB4OTAsMHgyNiwweDI0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4YWU0MCwgMCwgezB4MDAsMHgyMiwweDQxLDB4MDksMHgxMCwweDIyLDB4MjQsMHg0MCwweGI5LDB4MDEsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGFlNTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDE1LDB4ZTQsMHgxMCwweDg5LDB4MDAsMHgzMiwweDQwIH19LAotIHsxNiwgMHhhZTYwLCAwLCB7MHgwYSwweDkwLDB4MGIsMHgyNCwweDEwLDB4ODksMHgwMCwweDFlLDB4NDAsMHg5YiwweDkwLDB4MDIsMHgyNCwweDEwLDB4MjksMHgwMCB9fSwKLSB7MTYsIDB4YWU3MCwgMCwgezB4MWEsMHg0MCwweDBlLDB4OTQsMHg0MSwweGE0LDB4MDAsMHgyOSwweDAwLDB4MTIsMHg0MCwweDA1LDB4OTAsMHg0MSwweDI2LDB4MDAgfX0sCi0gezE2LCAweGFlODAsIDAsIHsweGQ5LDB4MDAsMHgyNCwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZTkwLCAwLCB7MHg0OCwweDAxLDB4YTQsMHgwMiwweGE5LDB4MDAsMHhiYywweDQwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwNCwweGY5LDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YWVhMCwgMCwgezB4NDEsMHgwZSwweDkwLDB4ODMsMHg4NCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZSwweDkwLDB4MDIsMHhjNCwweDA4LDB4ZTkgfX0sCi0gezE2LCAweGFlYjAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDJlLDB4OTAsMHgwYiwweGU2LDB4MDAsMHhlMSwweDA0LDB4M2EsMHg0MCwweDBmLDB4OTIsMHgwMywweDVhIH19LAotIHsxNiwgMHhhZWMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGEwLDB4MjAsMHhkOCwweDAwLDB4MzYsMHgwMiB9fSwKLSB7MTYsIDB4YWVkMCwgMCwgezB4MGUsMHgwMCwweGEzLDB4ZTAsMHgxOCwweGMwLDB4MDAsMHgzMCwweDAzLDB4MGYsMHg4MCwweDMzLDB4MjAsMHgwMCwweDQwLDB4MDAgfX0sCi0gezE2LCAweGFlZTAsIDAsIHsweDMyLDB4MGQsMHgwZiwweDA0LDB4MGIsMHhhMCwweDAyLDB4YzgsMHgwMiwweDMyLDB4MDIsMHg4YywweDgyLDB4MDMsMHgyMCwweDAyIH19LAotIHsxNiwgMHhhZWYwLCAwLCB7MHhjOCwweDA0LDB4MTYsMHgwMCwweDRlLDB4ODAsMHgwMSwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWYwMCwgMCwgezB4MjgsMHgwNSwweDNiLDB4MDAsMHg4ZSwweGQ4LDB4MjMsMHg4MCwweDA4LDB4ZTAsMHgwMiwweGY4LDB4ODAsMHg4ZSwweDEwLDB4MjMgfX0sCi0gezE2LCAweGFmMTAsIDAsIHsweGEyLDB4MGIsMHhlMCwweDgyLDB4N2EsMHgyMCwweDhlLDB4MzAsMHgyMywweGExLDB4MGIsMHhlMCwweDAyLDB4MjgsMHgwMCwweDhlIH19LAotIHsxNiwgMHhhZjIwLCAwLCB7MHgwMCwweDJiLDB4ODgsMHgwOCwweGU0LDB4NDIsMHgzOCwweDAwLDB4OGUsMHgwNCwweDIzLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4YWYzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2ZiwweDQwLDB4OTMsMHhjNiwweDI0LDB4NDAgfX0sCi0gezE2LCAweGFmNDAsIDAsIHsweDBhLDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAxLDB4YWMsMHhmMCwweDBiLDB4YjQsMHgwMiwweDRjLDB4MDQsMHhhMywweDgwIH19LAotIHsxNiwgMHhhZjUwLCAwLCB7MHgyOCwweGQwLDB4NGIsMHgzMCwweDAyLDB4NGMsMHgwMCwweGFiLDB4MDQsMHgyYSwweGMwLDB4MmEsMHgzMCwweDBhLDB4YWMsMHgxMCB9fSwKLSB7MTYsIDB4YWY2MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzEsMHgwYSwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmNzAsIDAsIHsweDgwLDB4MTEsMHgxYywweDAwLDB4ODIsMHgwMCwweDIxLDB4NDIsMHg4OCwweDc0LDB4MDYsMHhkYywweDBiLDB4ODYsMHgwMiwweDJkIH19LAotIHsxNiwgMHhhZjgwLCAwLCB7MHg4MCwweDBiLDB4NzAsMHgyYSwweDU4LDB4MDAsMHhhNiwweDAwLDB4YTksMHhjMCwweDBiLDB4NzAsMHgwMiwweDVjLDB4ODgsMHhhNyB9fSwKLSB7MTYsIDB4YWY5MCwgMCwgezB4MjAsMHgyOSwweGMwLDB4MGEsMHg3MCwweDAyLDB4OWMsMHgxMCwweDk3LDB4MjAsMHhhMSwweGM4LDB4MDgsMHhkOCwweDAyLDB4MjggfX0sCi0gezE2LCAweGFmYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA4LDB4MGUsMHgwMCwweGQ3LDB4ODAsMHgzNywweDYwIH19LAotIHsxNiwgMHhhZmIwLCAwLCB7MHgwZSwweDY4LDB4MTMsMHhmZSwweDAwLDB4Y2YsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDc4LDB4MjMsMHgxZSwweDAwLDB4ZWYsMHg4MiB9fSwKLSB7MTYsIDB4YWZjMCwgMCwgezB4MzEsMHhlMCwweDBmLDB4M2MsMHhjMywweDdlLDB4MDQsMHhlZiwweDgwLDB4YjEsMHhlMCwweDBlLDB4ZTgsMHgwMywweGJlLDB4ODAgfX0sCi0gezE2LCAweGFmZDAsIDAsIHsweGQ3LDB4ZTAsMHgzMywweGVhLDB4MGUsMHg3OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZmUwLCAwLCB7MHgwOCwweDE1LDB4YWMsMHgwMCwweGZhLDB4MDEsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwNCwweGY4LDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4YWZmMCwgMCwgezB4ODAsMHgwZiwweDgwLDB4NDMsMHhhYywweDBhLDB4ZDgsMHgwMCwweDM2LDB4NDAsMHgwZiwweGIwLDB4MDMsMHgyYywweDBjLDB4ZGIgfX0sCi0gezE2LCAweGIwMDAsIDAsIHsweDAwLDB4MjYsMHhjMSwweDA5LDB4YTAsMHgxMywweDZjLDB4NDAsMHhlYiwweDQwLDB4M2EsMHhkYywweDBmLDB4OTAsMHgwYiwweGMyIH19LAotIHsxNiwgMHhiMDEwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCwweGJlLDB4MDAsMHhjZiwweDgxLDB4MzMsMHhlOSB9fSwKLSB7MTYsIDB4YjAyMCwgMCwgezB4MWYsMHhmOSwweDEzLDB4YjYsMHg1MCwweGVmLDB4ODAsMHgxZiwweGU0LDB4MDQsMHhjOCwweDAzLDB4N2UsMHgwMCwweDZkLDB4ODEgfX0sCi0gezE2LCAweGIwMzAsIDAsIHsweDMzLDB4NjQsMHgwYywweGY4LDB4MWIsMHgzZSwweDIwLDB4MmYsMHg4OCwweDkzLDB4ZTgsMHgwZiwweGZiLDB4MDMsMHgyZSwweDgwIH19LAotIHsxNiwgMHhiMDQwLCAwLCB7MHhjZiwweGMwLDB4NzMsMHhlMCwweDJjLDB4ZDksMHgwMywweGQwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjA1MCwgMCwgezB4YTgsMHgxOCwweDkwLDB4NDIsMHg4OSwweDE4LDB4MjEsMHhjMCwweDFmLDB4NzEsMHgwMiwweDE0LDB4YzAsMHhmNywweDIwLDB4MjcgfX0sCi0gezE2LCAweGIwNjAsIDAsIHsweDQwLDB4NDAsMHg3MSwweDEyLDB4MTgsMHgwMCwweDg3LDB4MjAsMHgyMSwweDgwLDB4NDgsMHg3MSwweDAyLDB4M2MsMHgwOCwweDg3IH19LAotIHsxNiwgMHhiMDcwLCAwLCB7MHgyMCwweDIxLDB4ODIsMHgwYiwweDYxLDB4YTIsMHgxZSwweDQ0LDB4ZGYsMHgwMSwweDMxLDB4YzgsMHgwOCwweDczLDB4MDIsMHhlYSB9fSwKLSB7MTYsIDB4YjA4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg4YywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzggfX0sCi0gezE2LCAweGIwOTAsIDAsIHsweDBiLDB4NzAsMHgwMiwweDljLDB4MDksMHg4NywweDAyLDB4MmQsMHg4MiwweDk5LDB4NDAsMHgwMiwweDA0LDB4MDAsMHhhNSwweDA5IH19LAotIHsxNiwgMHhiMGEwLCAwLCB7MHgyMSwweDQwLDB4MTksMHg3MCwweDAyLDB4MWMsMHgwMCwweDg3LDB4MDUsMHgyNSwweDQ4LDB4NGIsMHg3MiwweDAyLDB4MGMsMHg0MCB9fSwKLSB7MTYsIDB4YjBiMCwgMCwgezB4ODcsMHgwMCwweGExLDB4YzAsMHg0OCwweDUwLDB4MDIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwYzAsIDAsIHsweDY4LDB4MDQsMHhjMSwweDIwLDB4ODksMHg0YywweGEwLDB4YjQsMHgwYSwweDM4LDB4MDIsMHgyMiwweDAwLDB4YTEsMHhkMCwweDI0IH19LAotIHsxNiwgMHhiMGQwLCAwLCB7MHgzMCwweDA5LDB4ODAsMHgwMiwweDI3LDB4NDQsMHg4MSwweGM2LDB4MjIsMHgxNCwweDA5LDB4M2QsMHgyYSwweDBmLDB4MDIsMHg4YiB9fSwKLSB7MTYsIDB4YjBlMCwgMCwgezB4YzAsMHhhNiwweDIwLDB4MGIsMHgyNCwweDAwLDB4MGMsMHgxMCwweDkzLDB4ODEsMHgyMCwweGMwLDB4NDgsMHgzMCwweDA2LDB4ZDggfX0sCi0gezE2LCAweGIwZjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDE1LDB4YTEsMHgwMCwweDg5LDB4YzEsMHgzMiwweGQxIH19LAotIHsxNiwgMHhiMTAwLCAwLCB7MHgwMywweGJjLDB4MDMsMHhhOSwweDIwLDB4ODksMHg0MSwweDNlLDB4NjAsMHg4NSwweGJjLDB4OGIsMHgyNSwweDQwLDB4ZWIsMHg0MSB9fSwKLSB7MTYsIDB4YjExMCwgMCwgezB4YTIsMHhhMCwweDBkLDB4ZjAsMHgxMywweDNlLDB4MjAsMHhjZiwweDkwLDB4MzYsMHgzMCwweDRmLDB4YmMsMHgwYiwweDNjLDB4MDAgfX0sCi0gezE2LCAweGIxMjAsIDAsIHsweGNmLDB4ODAsMHgzMywweGMxLDB4MGMsMHhiMSwweDAzLDB4ZWEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMTMwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHgwMCwweGY4LDB4MDEsMHgzYywweGQwLDB4MGYsMHhiMywweDAzLDB4ZTgsMHg4MiwweGQ4LDB4MjAsMHgzNiB9fSwKLSB7MTYsIDB4YjE0MCwgMCwgezB4ODAsMHgyZSwweGIyLDB4MTMsMHhlMSwweDAwLDB4ZmEsMHgwMCwweDdlLDB4YzgsMHgyZSwweGIwLDB4MDMsMHhlYywweDgwLDB4ZGIgfX0sCi0gezE2LCAweGIxNTAsIDAsIHsweDEwLDB4M2EsMHgwOCwweDRmLDB4YjIsMHgyMywweGNjLDB4MDIsMHhmYiwweDEwLDB4M2EsMHhjMCwweDBmLDB4OTAsMHgwMywweGU0IH19LAotIHsxNiwgMHhiMTYwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMCwweGYwLDB4MDAsMHhjZCwweDEwLDB4MzMsMHg0MiB9fSwKLSB7MTYsIDB4YjE3MCwgMCwgezB4MGMsMHhjYSwweDIzLDB4N2MsMHgwMCwweGNmLDB4MDAsMHgzMywweDYyLDB4MDYsMHhmMCwweDAxLDB4M2EsMHgwMCwweGNmLDB4MDggfX0sCi0gezE2LCAweGIxODAsIDAsIHsweDMzLDB4ODAsMHgxYywweGYwLDB4ODEsMHgzYywweDAwLDB4ZmYsMHgwMCwweDMzLDB4YTAsMHgwYywweGNhLDB4MDEsMHhmYywweDA0IH19LAotIHsxNiwgMHhiMTkwLCAwLCB7MHhjZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGMwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjFhMCwgMCwgezB4YTEsMHgwNCwweDZkLDB4NDAsMHg4OCwweDQ4LDB4YTIsMHgzMSwweDA4LDB4MTAsMHgwMiwweDIwLDB4MTAsMHg4OCwweGI0LDB4MjIgfX0sCi0gezE2LCAweGIxYjAsIDAsIHsweGEwLDB4MDgsMHg4MCwweDAwLDB4NmEsMHg4NCwweDg4LDB4MjAsMHgyMiwweDUyLDB4MDgsMHhiMCwweDBhLDB4MmMsMHgxMCwweGJiIH19LAotIHsxNiwgMHhiMWMwLCAwLCB7MHgwMCwweDMyLDB4YjMsMHg4OCwweDgwLDB4MDIsMHhlYywweDAwLDB4ZGIsMHgwMCwweDJlLDB4YzAsMHgwYiwweDkwLDB4MTIsMHhlMSB9fSwKLSB7MTYsIDB4YjFkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgwMCwweDEwLDB4OGEsMHgwMSwweDIyLDB4YTAgfX0sCi0gezE2LCAweGIxZTAsIDAsIHsweDA4LDB4YjAsMHg0MiwweDYwLDB4MjAsMHg4MCwweDAwLDB4MjAsMHg0NCwweDFhLDB4ODAsMHgxYSwweGU0LDB4NDIsMHhhMCwweDA2IH19LAotIHsxNiwgMHhiMWYwLCAwLCB7MHgyMiwweDAwLDB4NzgsMHgzMCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDAsMHhhMiwweDQ0LDB4MDgsMHhiMCwweDEyLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4YjIwMCwgMCwgezB4OGIsMHgwMCwweDBlLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyMTAsIDAsIHsweDA4LDB4MTQsMHgwMCwweDA4LDB4ODAsMHgwMCwweDIwLDB4ODEsMHgwOCwweDMwLDB4MDIsMHg0MCwweDEyLDB4ODAsMHgwMCwweGEwIH19LAotIHsxNiwgMHhiMjIwLCAwLCB7MHg0MCwweDA4LDB4YjAsMHgwMiwweGMwLDB4MDAsMHg4MiwweDAwLDB4MDAsMHg4MCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YjIzMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDgsMHgyMCwweDAyLDB4Y2MsMHg4MCwweDkzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4YzIgfX0sCi0gezE2LCAweGIyNDAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjAsMHgwMCwweGNhLDB4MTQsMHgzMiwweDAwIH19LAotIHsxNiwgMHhiMjUwLCAwLCB7MHgwYywweGIwLDB4MDMsMHg0YywweDAwLDB4Y2EsMHgwMCwweDMyLDB4MDAsMHgwZSwweDAwLDB4MTIsMHhhMCwweDAwLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4YjI2MCwgMCwgezB4NzAsMHgwMCwweDI4LDB4ZjAsMHgxMywweGFjLDB4MDAsMHhmYiwweDAwLDB4MzIsMHg0MCwweDJjLDB4MTAsMHg0MywweGVjLDB4MDAgfX0sCi0gezE2LCAweGIyNzAsIDAsIHsweGNmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDAzLDB4YzAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMjgwLCAwLCB7MHgyMCwweDE1LDB4ZjAsMHgwMiwweGZjLDB4MDAsMHgxZiwweDAwLDB4NjcsMHg3MCwweDAzLDB4YjAsMHgwMCwweGZjLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4YjI5MCwgMCwgezB4MDAsMHgyZCwweGMwLDB4MDMsMHgzMCwweDEwLDB4ZmMsMHgwMSwweGJmLDB4MDAsMHgwZiwweDcwLDB4MDMsMHg3YywweDAwLDB4ZjcgfX0sCi0gezE2LCAweGIyYTAsIDAsIHsweDA0LDB4M2IsMHgwMCwweDBmLDB4YzAsMHgxMywweGZkLDB4MTAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4IH19LAotIHsxNiwgMHhiMmIwLCAwLCB7MHgxMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY0LDB4YzAsMHhjZiwweDgwLDB4MzMsMHg2MCB9fSwKLSB7MTYsIDB4YjJjMCwgMCwgezB4MGUsMHhjOSwweDEzLDB4MzYsMHg1MCwweGNlLDB4ODYsMHgzZiwweDA4LDB4MGMsMHhjMCwweDAzLDB4M2UsMHgwMiwweGQ3LDB4ODAgfX0sCi0gezE2LCAweGIyZDAsIDAsIHsweDM5LDB4ZTAsMHgwZiwweGY4LDB4MTMsMHgzZSwweDQwLDB4YzcsMHgzMCwweDNiLDB4Y2UsMHgwZCwweGY2LDB4MDMsMHgzZCwweDg4IH19LAotIHsxNiwgMHhiMmUwLCAwLCB7MHhjZiwweDMxLDB4MzMsMHhlNCwweDBmLDB4NzgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjJmMCwgMCwgezB4ODAsMHgxMCwweGU1LDB4ZDAsMHhkYiwweDgwLDB4NzIsMHg2MCwweDg4LDB4OTIsMHgwMiwweGU0LDB4MTAsMHg4YSwweDgwLDB4MmUgfX0sCi0gezE2LCAweGIzMDAsIDAsIHsweDM0LDB4NGEsMHg4YywweDAzLDB4MmUsMHgwMCwweGFiLDB4ODAsMHgwMiwweGUwLDB4MGIsMHhiOCwweDAyLDB4MmMsMHg4MCwweDhmIH19LAotIHsxNiwgMHhiMzEwLCAwLCB7MHg2MCwweDEzLDB4ZDgsMHg0YSwweDc2LDB4MDIsMHg5ZCwweDg0LDB4YWYsMHgzMCwweDIyLDB4NDgsMHgwYiwweDg4LDB4MTIsMHhhMCB9fSwKLSB7MTYsIDB4YjMyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDAwLDB4OGIsMHgwMCwweDI0LDB4MDAgfX0sCi0gezE2LCAweGIzMzAsIDAsIHsweDRhLDB4MDAsMHgwMiwweGFjLDB4ODAsMHg4MywweDAwLDB4MmMsMHgwMSwweDI4LDB4MDQsMHgwMiwweGFjLDB4MDAsMHg4YiwweDAxIH19LAotIHsxNiwgMHhiMzQwLCAwLCB7MHgyMCwweGMwLDB4MDMsMHhiMCwweDAyLDB4MGMsMHg4MCwweDgzLDB4NDAsMHgyMCwweGMxLDB4YTgsMHgzNCwweDIyLDB4OGQsMHgxMyB9fSwKLSB7MTYsIDB4YjM1MCwgMCwgezB4ODMsMHgyMCwweGFjLDB4YzgsMHgwYiwweGIwLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzNjAsIDAsIHsweGMwLDB4MTUsMHg4NiwweDAwLDB4OWIsMHgwNCwweGFlLDB4MDAsMHgwYSwweDkwLDB4MDIsMHhlYywweDAwLDB4MGIsMHgxNCwweDJlIH19LAotIHsxNiwgMHhiMzcwLCAwLCB7MHhjNiwweDAyLDB4YjEsMHgxMiwweDZjLDB4MDAsMHhhYiwweDIwLDB4MmEsMHhjMSwweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4YjM4MCwgMCwgezB4MDIsMHgyNiwweGMxLDB4MGEsMHhiMCwweDAyLDB4YWMsMHgwMCwweGFiLDB4MDQsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZjAgfX0sCi0gezE2LCAweGIzOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDExLDB4ZTcsMHgwMCwweGMzLDB4MDEsMHgzNiwweDQwIH19LAotIHsxNiwgMHhiM2EwLCAwLCB7MHgwZSwweDg4LDB4MTMsMHgyNCwweDAyLDB4Y2EsMHgwMCwweDFlLDB4MjAsMHgyYywweDhlLDB4MGIsMHgyYywweDAwLDB4Y2IsMHgwMCB9fSwKLSB7MTYsIDB4YjNiMCwgMCwgezB4MmEsMHhjMCwweDBmLDB4YjgsMHgwMywweDJlLDB4MDYsMHhjYiwweDAwLDB4M2EsMHhjMCwweDRjLDB4YjAsMHgxMywweGFjLDB4MGMgfX0sCi0gezE2LCAweGIzYzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGM4LDB4MGYsMHhiMCwweDQzLDB4NTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiM2QwLCAwLCB7MHhlMCwweDAxLDB4YjQsMHgwOCwweGZmLDB4OTEsMHgzMywweDQwLDB4MDksMHhkYywweDAxLDB4ZjQsMHgyMCwweDdlLDB4MDIsMHgyZSB9fSwKLSB7MTYsIDB4YjNlMCwgMCwgezB4NDAsMHgwZCwweDk4LDB4MDEsMHhiYywweDgwLDB4ZWYsMHg4MCwweGI3LDB4ZTQsMHg4ZiwweGY0LDB4MGIsMHhmZSwweDQwLDB4N2YgfX0sCi0gezE2LCAweGIzZjAsIDAsIHsweDAwLDB4YjksMHhjMCwweDRlLDB4ZjAsMHgwMywweGZjLDB4MDgsMHhmNywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZTAsMHgwMiwweGI4IH19LAotIHsxNiwgMHhiNDAwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGExLDB4NDQsMHhjYiwweDAyLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YjQxMCwgMCwgezB4MGQsMHg4MCwweDBhLDB4NmQsMHgwMCwweGViLDB4MDQsMHgxMCwweDkwLDB4MjgsMHgyMiwweDBiLDB4MmMsMHhjMiwweGNiLDB4MjAgfX0sCi0gezE2LCAweGI0MjAsIDAsIHsweDc2LDB4YzAsMHgwZSwweGIxLDB4MDMsMHhlYywweDAxLDB4Y2IsMHgwNiwweDMyLDB4YzEsMHgwYywweDMwLDB4MDMsMHgyYywweDAyIH19LAotIHsxNiwgMHhiNDMwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHhkMCwweDBjLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjQ0MCwgMCwgezB4YzgsMHgwNSwweDIxLDB4NDgsMHhhYiwweDAwLDB4MjAsMHgwMCwweDAwLDB4OTUsMHgyMywweDRjLDB4MDgsMHhiYiwweDAxLDB4MjIgfX0sCi0gezE2LCAweGI0NTAsIDAsIHsweGMwLDB4MDgsMHhiMiwweDAyLDB4MGMsMHgwOCwweDgzLDB4ODgsMHg5MiwweGQ1LDB4MjgsMHgzNCwweDAyLDB4ZWMsMHgwMiwweDhmIH19LAotIHsxNiwgMHhiNDYwLCAwLCB7MHgyMCwweDIzLDB4YzAsMHg0ZCwweGYwLDB4MDEsMHg3YywweDAwLDB4ZGYsMHgwMCwweDJlLDB4YzAsMHgwZCwweDMwLDB4MDMsMHg3MiB9fSwKLSB7MTYsIDB4YjQ3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0NCwweDAwLDB4ODMsMHgxMCwweDIwLDB4NjAgfX0sCi0gezE2LCAweGI0ODAsIDAsIHsweDA5LDB4MjUsMHgwMiwweDAwLDB4MDgsMHhhMCwweDAwLDB4NGMsMHgwMCwweDBiLDB4MGMsMHgyMiwweDRmLDB4MTIsMHg5MywweDQwIH19LAotIHsxNiwgMHhiNDkwLCAwLCB7MHgwMCwweGMwLDB4MDksMHgzZSwweDAyLDB4ZWMsMHgwMCwweGFiLDB4ODAsMHhhNCwweGMwLDB4MDksMHgzMCwweDIyLDB4MmMsMHgwOCB9fSwKLSB7MTYsIDB4YjRhMCwgMCwgezB4YjMsMHgwMSwweDBjLDB4ODEsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0YjAsIDAsIHsweDYwLDB4MDEsMHgxNiwweDA5LDB4YjcsMHg4MCwweDIxLDB4NjQsMHgwOCwweDc4LDB4MDYsMHgxMiwweDAwLDB4YjQsMHg4MiwweDJkIH19LAotIHsxNiwgMHhiNGMwLCAwLCB7MHhhNCwweDFiLDB4NjksMHgwNiwweDdlLDB4MDQsMHgxNywweDkyLDB4MjUsMHhlNiwweDA5LDB4NzgsMHgwNiwweGRlLDB4ODAsMHhhNyB9fSwKLSB7MTYsIDB4YjRkMCwgMCwgezB4OTAsMHgyNSwweGUwLDB4MDksMHg3OSwweDUwLDB4NWUsMHgwNCwweGI3LDB4OTIsMHgyZiwweDYxLDB4MDksMHhjOCwweDAyLDB4NDggfX0sCi0gezE2LCAweGI0ZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA4LDB4MjUsMHgwMCwweGMzLDB4MDAsMHhiMCwweDAzIH19LAotIHsxNiwgMHhiNGYwLCAwLCB7MHgwZCwweGEzLDB4NDIsMHgwOSwweDQwLDB4ZTEsMHgwMCwweGJjLDB4NDAsMHgwZiwweDExLDB4MDMsMHg0YywweDAwLDB4MTMsMHgwMCB9fSwKLSB7MTYsIDB4YjUwMCwgMCwgezB4MjAsMHhjMCwweDA5LDB4MzIsMHgwMywweGNjLDB4MTAsMHhhMywweDAwLDB4MjYsMHhjNCwweDhkLDB4MzAsMHgyYiwweDBjLDB4ODAgfX0sCi0gezE2LCAweGI1MTAsIDAsIHsweGYzLDB4MDAsMHg3YywweDgwLDB4MGMsMHgzMCwweDAxLDB4MTIsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNTIwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGU3LDB4MTAsMHgzZCwweDAxLDB4MmYsMHhmMSwweDQyLDB4ZTgsMHgwMCwweGY1LDB4OTAsMHgwMyB9fSwKLSB7MTYsIDB4YjUzMCwgMCwgezB4YzEsMHgwYywweGYxLDB4NDMsMHg5YywweDA0LDB4ZWYsMHgwOCwweDNiLDB4YzIsMHgwYywweGYwLDB4ODEsMHhkYywweGEwLDB4ZGYgfX0sCi0gezE2LCAweGI1NDAsIDAsIHsweDAwLDB4M2IsMHhjMywweDNmLDB4ZjAsMHg4MywweGZjLDB4MDUsMHhkZiwweDBjLDB4M2QsMHg0MCwweDBmLDB4ZDEsMHgwMywweGQwIH19LAotIHsxNiwgMHhiNTUwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGY0LDB4MDAsMHhjYiwweDgwLDB4MzAsMHg0MCB9fSwKLSB7MTYsIDB4YjU2MCwgMCwgezB4MmMsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4ODAsMHgzMiwweGMwLDB4MmUsMHhiOCwweDBiLDB4MmMsMHg0NiwweGQzLDB4MDAgfX0sCi0gezE2LCAweGI1NzAsIDAsIHsweDMwLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwYywweDAwLDB4ZGIsMHg0OCwweDMyLDB4YzAsMHgxZiwweGI0LDB4MDMsMHgyYywweDg4IH19LAotIHsxNiwgMHhiNTgwLCAwLCB7MHhjYiwweDQ4LDB4MzIsMHg4MCwweDBjLDB4MzAsMHgxMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjU5MCwgMCwgezB4NDgsMHgxMSwweGI0LDB4MDAsMHg4NywweDAxLDB4MjEsMHg0MCwweDA4LDB4NzAsMHg0MiwweGQwLDB4MDgsMHhiNCwweDAwLDB4MjkgfX0sCi0gezE2LCAweGI1YTAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGM4LDB4MGMsMHg3MiwweDBhLDB4MWMsMHg4NCwweDhmIH19LAotIHsxNiwgMHhiNWIwLCAwLCB7MHg0MCwweDA5LDB4YzQsMHg4ZiwweDczLDB4MTIsMHg5YywweDQwLDB4ODMsMHgyMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4YjVjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5NiwweDAxLDB4YWYsMHg4MCwweDIxLDB4MjAgfX0sCi0gezE2LCAweGI1ZDAsIDAsIHsweDA4LDB4NjgsMHgwMiwweGRhLDB4MDAsMHhiZCwweDgwLDB4MjEsMHhlMCwweDA5LDB4NzgsMHgwMiwweDFlLDB4MDAsMHg4ZiwweDg4IH19LAotIHsxNiwgMHhiNWUwLCAwLCB7MHg4MywweGUyLDB4MjksMHhmOCwweDgyLDB4NWYsMHg4MCwweDg3LDB4YTAsMHgyNSwweGUwLDB4MGIsMHgzYSwweDEyLDB4MGUsMHg1MCB9fSwKLSB7MTYsIDB4YjVmMCwgMCwgezB4OTcsMHhhNCwweDIxLDB4YTAsMHgyOSwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2MDAsIDAsIHsweDA4LDB4MTQsMHhjYywweDAyLDB4YTEsMHg4MSwweDAwLDB4MDAsMHg0OCwweDcwLDB4MDIsMHhjOCwweDAwLDB4YjEsMHgwMCwweDJjIH19LAotIHsxNiwgMHhiNjEwLCAwLCB7MHhmOCwweDA5LDB4MzEsMHg0MiwweDBjLDB4MTAsMHg4MywweDAwLDB4MjAsMHhlMCwweDA4LDB4MzgsMHgxMiwweDRlLDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YjYyMCwgMCwgezB4MDAsMHg2YSwweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwNCwweDkzLDB4MDAsMHgyMCwweGUwLDB4MDksMHgzOCwweDAyLDB4OTIgfX0sCi0gezE2LCAweGI2MzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDE1LDB4YjksMHg0MCwweGVlLDB4MjAsMHgzMCwweDgwIH19LAotIHsxNiwgMHhiNjQwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDMzLDB4YjAsMHgwZCwweGU0LDB4MDMsMHgzMiwweDg4LDB4Y2MsMHg4MCB9fSwKLSB7MTYsIDB4YjY1MCwgMCwgezB4MjMsMHgwMCwweDBkLDB4YzAsMHgwMywweDYyLDB4MDIsMHhjYSwweDAwLDB4MzYsMHg4MCwweDBmLDB4YTAsMHg0MywweDI4LDB4MDYgfX0sCi0gezE2LCAweGI2NjAsIDAsIHsweGRhLDB4MDAsMHgzMywweGEwLDB4MGQsMHg2YSwweDAzLDB4M2EsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNjcwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweDk4LDB4MDEsMHhiZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZjAsMHgwMCwweGJjLDB4MDAsMHgzOCB9fSwKLSB7MTYsIDB4YjY4MCwgMCwgezB4MDQsMHgwOCwweDgwLDB4YTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MTMsMHhhMCwweDAwLDB4ZTAgfX0sCi0gezE2LCAweGI2OTAsIDAsIHsweDAwLDB4M2UsMHgwMCwweDBlLDB4MDAsMHgwMywweGMwLDB4MDAsMHhlOCwweDAwLDB4YmUsMHgwNCwweDRlLDB4ODAsMHgwNywweGQyIH19LAotIHsxNiwgMHhiNmEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4ODAsMHhjOSwweDAwLDB4M2UsMHg2OCB9fSwKLSB7MTYsIDB4YjZiMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDQzLDB4ZTAsMHgwMCwweGM4LDB4MDAgfX0sCi0gezE2LCAweGI2YzAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MTMsMHgyMCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHg2NCwweDAwIH19LAotIHsxNiwgMHhiNmQwLCAwLCB7MHg4MSwweDAwLDB4MzIsMHg0MCwweDA0LDB4OTAsMHgxMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjZlMCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MDYsMHg4OSwweDQwLDB4MmUsMHg2MCwweDFhLDB4MTQsMHgyYSwweDA1LDB4MjAsMHg4OSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGI2ZjAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4YzQsMHgwOCwweGMxLDB4MDIsMHgyMCwweDQwLDB4MDgsMHgxMCwweDFhLDB4MjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhiNzAwLCAwLCB7MHgxMCwweDMyLDB4NDEsMHgwOCwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwNCwweDM2LDB4NDAsMHg4OCwweDk0LDB4MGEsMHgyMCB9fSwKLSB7MTYsIDB4YjcxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDIwLDB4ODksMHg1NSwweDJlLDB4NDAgfX0sCi0gezE2LCAweGI3MjAsIDAsIHsweDA4LDB4ZDUsMHgwMiwweDM0LDB4MDAsMHg4ZCwweDAwLDB4MmUsMHg0MCwweDE4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg5OSwweDAwIH19LAotIHsxNiwgMHhiNzMwLCAwLCB7MHgyNiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDQsMHgwYSwweDg5LDB4MDAsMHgyNiwweDQwLDB4MzgsMHg5MCwweDBhLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4Yjc0MCwgMCwgezB4YTksMHgwMCwweDIwLDB4NDAsMHgwYSwweDkwLDB4ODIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3NTAsIDAsIHsweDA4LDB4MDQsMHgwNSwweDAwLDB4ODEsMHgwMCwweDJmLDB4NDAsMHgwYSwweGQ0LDB4MDIsMHgzNCwweDAwLDB4ODUsMHgwMSwweDJjIH19LAotIHsxNiwgMHhiNzYwLCAwLCB7MHg0MCwweDA4LDB4MTAsMHg0MiwweGU0LDB4MDYsMHg5OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA1LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4Yjc3MCwgMCwgezB4NDAsMHgyOCwweDUwLDB4MDgsMHgxNCwweDEyLDB4MDUsMHgwMCwweGExLDB4NDAsMHgyNCwweDUwLDB4NWEsMHgxMCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGI3ODAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiOCwweDBkLDB4NjAsMHgwMCwweGM4LDB4MDQsMHgzZSwweDAwIH19LAotIHsxNiwgMHhiNzkwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHgyMSwweDQyLDB4Y2MsMHgwMCwweDNlLDB4MDAsMHgyYywweDgwLDB4MDIsMHhlMCwweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4YjdhMCwgMCwgezB4YjYsMHgwMCwweDJjLDB4ODAsMHgwMiwweDIwLDB4MDIsMHhjOCwweDAwLDB4MzYsMHgwMCwweDBjLDB4ODAsMHgwMywweDYwLDB4MDIgfX0sCi0gezE2LCAweGI3YjAsIDAsIHsweGU4LDB4MDAsMHgzMiwweDAwLDB4OGUsMHg4MCwweDAzLDB4MmUsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiN2MwLCAwLCB7MHg5OCwweDFkLDB4ZjUsMHgwMCwweGY1LDB4MDAsMHgzZSwweDQwLDB4ODcsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzZCB9fSwKLSB7MTYsIDB4YjdkMCwgMCwgezB4NTAsMHgwZiwweDU0LDB4MDMsMHhkMSwweDAwLDB4ZWMsMHg0MCwweDNmLDB4MTAsMHgwYiwweGM0LDB4NDMsMHhmMSwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGI3ZTAsIDAsIHsweDQwLDB4MzYsMHg1MCwweDBmLDB4OTQsMHgxMywweGU1LDB4MTAsMHhkOSwweDQ0LDB4M2QsMHg0MCwweDJkLDB4ZDAsMHgwMywweGU2IH19LAotIHsxNiwgMHhiN2YwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4NjAsMHhjZCwweDAyLDB4M2IsMHg0MCB9fSwKLSB7MTYsIDB4YjgwMCwgMCwgezB4MGMsMHhkMCwweDAzLDB4YjQsMHg0MCwweGZkLDB4MDYsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4NjYsMHgwNCwweGM5LDB4ODIgfX0sCi0gezE2LCAweGI4MTAsIDAsIHsweGI2LDB4NjIsMHgwZiwweDE4LDB4MGIsMHgzNiwweDAwLDB4Y2QsMHg0MCwweDMyLDB4NjEsMHgwYywweDkwLDB4MjMsMHgyNCwweDBhIH19LAotIHsxNiwgMHhiODIwLCAwLCB7MHhjOSwweDAwLDB4MzIsMHg0MCwweDRjLDB4ZDAsMHg0MywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjgzMCwgMCwgezB4MzksMHgxMCwweGUzLDB4ODAsMHhkOCwweDAwLDB4MjIsMHgwMCwweDBkLDB4ODAsMHgwMiwweDIyLDB4OTQsMHhiOCwweDAwLDB4MmUgfX0sCi0gezE2LCAweGI4NDAsIDAsIHsweDAwLDB4MGQsMHg4MCwweDAzLDB4MjEsMHgwMCwweDg4LDB4NDAsMHgyMiwweDAwLDB4MGIsMHhjNCwweDIyLDB4MjEsMHg1MCwweDg4IH19LAotIHsxNiwgMHhiODUwLCAwLCB7MHg4MCwweDIyLDB4MjIsMHgwOCwweDgwLDB4MDIsMHgyMCwweDEwLDB4ODAsMHgwMSwweDJhLDB4MDAsMHgwYSwweDgwLDB4MDMsMHg0ZSB9fSwKLSB7MTYsIDB4Yjg2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhjNiwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAgfX0sCi0gezE2LCAweGI4NzAsIDAsIHsweDg4LDB4MTAsMHgwYSwweDg0LDB4MDgsMHhiMSwweDAwLDB4MjksMHg0MCwweDBhLDB4NzAsMHgwYSwweGI1LDB4MDAsMHg4ZiwweDQwIH19LAotIHsxNiwgMHhiODgwLCAwLCB7MHgyOSwweGMwLDB4MGIsMHhmNCwweDAyLDB4MjQsMHgwMCwweDgxLDB4MjAsMHgyOCwweDQ0LDB4ODksMHgxMCwweDAyLDB4MDQsMHgwNCB9fSwKLSB7MTYsIDB4Yjg5MCwgMCwgezB4ODEsMHgwMiwweDJhLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI4YTAsIDAsIHsweDE4LDB4MTUsMHhhNiwweDAwLDB4OTksMHgyMCwweDIyLDB4NDAsMHgwOSwweDkwLDB4MTIsMHgyNCwweDgwLDB4YjksMHgwMCwweDJmIH19LAotIHsxNiwgMHhiOGIwLCAwLCB7MHg0NCwweDAzLDB4ZDAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDAwLDB4MmIsMHg0MSwweDBiLDB4ZDAsMHgwMiwweDI2LDB4MTAsMHg4OSB9fSwKLSB7MTYsIDB4YjhjMCwgMCwgezB4MDQsMHgyYSwweDQwLDB4MDksMHg5MCwweDZlLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5NCwweDAyLDB4NDYgfX0sCi0gezE2LCAweGI4ZDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMiwweDE1LDB4ZTYsMHgwMCwweGM5LDB4MDAsMHgzOCwweDQyIH19LAotIHsxNiwgMHhiOGUwLCAwLCB7MHgwYywweDEwLDB4MTMsMHhhNiwweDA0LDB4NzksMHgwOCwweDNhLDB4NzgsMHgwNiwweDkyLDB4MDMsMHhhNCwweDA4LDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4YjhmMCwgMCwgezB4M2EsMHg2MCwweDhmLDB4OTgsMHgyMywweDA2LDB4MDIsMHhjOSwweDAyLDB4M2EsMHg0MCwweDBkLDB4OTAsMHgwMywweDA0LDB4MDAgfX0sCi0gezE2LCAweGI5MDAsIDAsIHsweGM5LDB4MDAsMHgzOCwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOTEwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgxMCwweGY5LDB4ODAsMHhiZSwweDQwLDB4NGYsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4YjkyMCwgMCwgezB4NjAsMHg4ZCwweDkyLDB4MDMsMHgyNCwweDQyLDB4ZTksMHgxMCwweDMyLDB4NTAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZjkgfX0sCi0gezE2LCAweGI5MzAsIDAsIHsweDAwLDB4YjYsMHg0MSwweDJlLDB4MTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MmUsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhIH19LAotIHsxNiwgMHhiOTQwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDgsMHhjOCwweDAwLDB4M2UsMHgxMCB9fSwKLSB7MTYsIDB4Yjk1MCwgMCwgezB4MGYsMHg4OCwweDAzLDB4MjAsMHgwOCwweGY4LDB4YzAsMHgxZSwweDEwLDB4MmMsMHg0MCwweDAzLDB4ZjIsMHgwMCwweGNjLDB4MDAgfX0sCi0gezE2LCAweGI5NjAsIDAsIHsweDNmLDB4MDAsMHgwYywweGMwLDB4MTMsMHgyMCwweDAyLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDgwLDB4MmIsMHgyMCwweDEwIH19LAotIHsxNiwgMHhiOTcwLCAwLCB7MHhjMCwweDA0LDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjk4MCwgMCwgezB4YTgsMHgwNSwweDNhLDB4ODAsMHg4NiwweGUwLDB4MmYsMHhhMCwweDFiLDB4ZTAsMHgwMiwweDNhLDB4ODAsMHhiYSwweDA0LDB4MmUgfX0sCi0gezE2LCAweGI5OTAsIDAsIHsweDgwLDB4MDgsMHhhMCwweDAzLDB4ODgsMHgwOCwweGMyLDB4MDAsMHgyZSwweDgxLDB4MDgsMHg2MCwweDAyLDB4MjgsMHgxMCwweDhlIH19LAotIHsxNiwgMHhiOWEwLCAwLCB7MHg4MSwweDAzLDB4ODAsMHgwOCwweGUwLDB4MDEsMHg3OCwweDAwLDB4OGUsMHgwNCwweDAzLDB4ODAsMHgwOSwweDY4LDB4MDMsMHhjYSB9fSwKLSB7MTYsIDB4YjliMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHg2MCwweDJjLDB4NDQgfX0sCi0gezE2LCAweGI5YzAsIDAsIHsweDBiLDB4MzgsMHgwMiwweDBmLDB4ODAsMHhiMSwweDAwLDB4MmMsMHhlNSwweDAzLDB4MzAsMHgxMCwweGNjLDB4MTAsMHg4MywweDAwIH19LAotIHsxNiwgMHhiOWQwLCAwLCB7MHgwYywweGMwLDB4MjksMHgzMCwweDIyLDB4MDQsMHgwOSwweDkxLDB4MTAsMHgyNCwweGMwLDB4YzgsMHgzMCwweDAwLDB4NGMsMHgwNCB9fSwKLSB7MTYsIDB4YjllMCwgMCwgezB4OTMsMHgwMiwweDI0LDB4YzAsMHgwYiwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5ZjAsIDAsIHsweGUwLDB4MDEsMHgxOCwweDgwLDB4ODcsMHgwMCwweDJkLDB4NDAsMHgwYiwweDc0LDB4NDIsMHgxYywweDAxLDB4YjUsMHgwMSwweDJjIH19LAotIHsxNiwgMHhiYTAwLCAwLCB7MHhjMCwweDBiLDB4NjAsMHgwMiwweGIwLDB4MDAsMHg5NCwweDA0LDB4MmYsMHgyMCwweDA5LDB4YzAsMHgwMiwweDE0LDB4OTAsMHg5NyB9fSwKLSB7MTYsIDB4YmExMCwgMCwgezB4MDAsMHgyNSwweGM4LDB4MDgsMHg3MCwweDAyLDB4NGMsMHg4MCwweDk3LDB4MjAsMHgyNSwweGMwLDB4MDksMHg3MCwweDAyLDB4ZTggfX0sCi0gezE2LCAweGJhMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA4LDB4M2EsMHg4MiwweGM2LDB4ODAsMHgyZCwweDYwIH19LAotIHsxNiwgMHhiYTMwLCAwLCB7MHgwYiwweGY4LDB4MGIsMHgxYSwweDAwLDB4ZjUsMHg4MCwweDNkLDB4ZTAsMHg4ZiwweDc4LDB4MDMsMHhkZSwweDAyLDB4YzcsMHg4MCB9fSwKLSB7MTYsIDB4YmE0MCwgMCwgezB4MmQsMHhlMCwweDBkLDB4NzgsMHgwYiwweDE3LDB4MDIsMHhkZiwweDgwLDB4MjQsMHhmOCwweDJjLDB4ZmQsMHgwMywweDVlLDB4MGMgfX0sCi0gezE2LCAweGJhNTAsIDAsIHsweGQ3LDB4ZTAsMHgzNSwweGUwLDB4MGYsMHg2OCwweDAzLDB4MmEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYTYwLCAwLCB7MHg0OCwweDFkLDB4YWUsMHg0MCwweGZhLDB4MDQsMHgzZSwweDQwLDB4MGYsMHg4MCwweDEzLDB4ZWMsMHgwNCwweGY5LDB4MDAsMHgzZSB9fSwKLSB7MTYsIDB4YmE3MCwgMCwgezB4YzEsMHgwYywweGEwLDB4MTMsMHhjMCwweDEwLDB4ZTgsMHgwMCwweDNjLDB4MDAsMHg0ZSwweDgwLDB4NDMsMHhjNCwweDIwLDB4ODkgfX0sCi0gezE2LCAweGJhODAsIDAsIHsweDAwLDB4YmEsMHhjMCwweDA3LDB4YjYsMHgyMSwweGVkLDB4MDYsMHhlYiwweDY4LDB4YmEsMHhjYywweDBmLDB4MjAsMHgxMywweGMyIH19LAotIHsxNiwgMHhiYTkwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGJlLDB4MDAsMHhjNiwweDgwLDB4MzEsMHg2MCB9fSwKLSB7MTYsIDB4YmFhMCwgMCwgezB4MmQsMHg3OCwweDBiLDB4M2UsMHg0OCwweGVjLDB4OTIsMHgzZCwweDYwLDB4MGMsMHg1OCwweDAzLDB4NWEsMHg0MCwweGQ1LDB4ODAgfX0sCi0gezE2LCAweGJhYjAsIDAsIHsweDMxLDB4NjEsMHgwYywweDU4LDB4MjMsMHgzNiwweDAwLDB4Y2YsMHg4MiwweDNmLDB4ZTAsMHgwYywweGY4LDB4MDMsMHhmZiwweDYwIH19LAotIHsxNiwgMHhiYWMwLCAwLCB7MHhjZiwweDkwLDB4MzMsMHhmMCwweDBjLDB4NTIsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmFkMCwgMCwgezB4YTgsMHgxMSwweGI4LDB4ODQsMHg4NiwweDE0LDB4YjUsMHhjMCwweDA4LDB4NzAsMHgwMiwweDFlLDB4YzAsMHhjNCwweDAwLDB4MmQgfX0sCi0gezE2LCAweGJhZTAsIDAsIHsweDQwLDB4MDgsMHg0MCwweDAyLDB4MTQsMHhkMCwweDg2LDB4MTAsMHgyMSwweDgwLDB4NGMsMHg2MiwweDQyLDB4MzQsMHg0MCwweGE1IH19LAotIHsxNiwgMHhiYWYwLCAwLCB7MHgwMCwweDM1LDB4YzAsMHgyOCwweDcwLDB4NDIsMHhkYywweGMyLDB4OGYsMHgzMCwweDIzLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4YmIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHg5OCwweDI4LDB4OGUsMHgwMCwweGE1LDB4NDAgfX0sCi0gezE2LCAweGJiMTAsIDAsIHsweDA4LDB4ZjEsMHgwMiwweDE4LDB4NjQsMHhiNCwweDAwLDB4NmQsMHg0MiwweDA4LDB4NTAsMHgwMiwweDE4LDB4MDEsMHg4NSwweDA4IH19LAotIHsxNiwgMHhiYjIwLCAwLCB7MHgyMSwweDQwLDB4MDksMHg1OCwweDIyLDB4NTQsMHgwMCwweDg1LDB4MTAsMHgyZCwweGM0LDB4MDksMHg3MCwweDAyLDB4ZGMsMHgwNCB9fSwKLSB7MTYsIDB4YmIzMCwgMCwgezB4OTcsMHgwMCwweDI1LDB4YzAsMHgwOCwweDQ0LDB4MDIsMHgwMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiNDAsIDAsIHsweDYwLDB4MTQsMHg4YywweDAwLDB4ODIsMHg4MCwweDI0LDB4YzAsMHgwOCwweDgwLDB4MDIsMHgyZCwweDAwLDB4ODAsMHg0YSwweDJjIH19LAotIHsxNiwgMHhiYjUwLCAwLCB7MHg0MiwweDA4LDB4MGEsMHg0MiwweDA2LDB4MDAsMHg5MiwweDg0LDB4MjAsMHhhMCwweDg4LDB4MjgsMHg0MiwweDQ0LDB4MDAsMHhhMyB9fSwKLSB7MTYsIDB4YmI2MCwgMCwgezB4MDYsMHgyNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgxMCwweDkzLDB4MDQsMHgyNCwweGMxLDB4MDksMHgwMCwweDAyLDB4MDggfX0sCi0gezE2LCAweGJiNzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4YmMsMHgwMCwweGNiLDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhiYjgwLCAwLCB7MHgwYywweGI0LDB4MTMsMHgyYywweDAwLDB4ZjksMHgwMCwweDNlLDB4YTAsMHgwYywweGEyLDB4MDMsMHgwNCwweDA4LDB4YzIsMHg4MCB9fSwKLSB7MTYsIDB4YmI5MCwgMCwgezB4MzAsMHhhOCwweDBkLDB4MmEsMHgwMywweDU0LDB4MDAsMHhjYiwweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDggfX0sCi0gezE2LCAweGJiYTAsIDAsIHsweGRmLDB4MDAsMHgzNywweGQwLDB4MGMsMHhiMCwweDAzLDB4MmEsMHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYmIwLCAwLCB7MHg4MCwweDAwLDB4ZTAsMHgwMCwweGZiLDB4MTAsMHgzYSwweDQwLDB4MGUsMHhiMCwweDAzLDB4ZWQsMHg5MCwweGY5LDB4MTEsMHg3ZSB9fSwKLSB7MTYsIDB4YmJjMCwgMCwgezB4ODAsMHg0ZiwweGIwLDB4NTMsMHhlOCwweDQwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNiwweDA4LDB4ZjkgfX0sCi0gezE2LCAweGJiZDAsIDAsIHsweDAxLDB4M2EsMHhjMCwweDBjLDB4YjAsMHgxMywweGNjLDB4MDAsMHhlYiwweDAyLDB4M2EsMHhjNiwweDhlLDB4YjgsMHgwMywweGUwIH19LAotIHsxNiwgMHhiYmUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MGMsMHhjZSwweDAwLDB4M2YsMHhlMCB9fSwKLSB7MTYsIDB4YmJmMCwgMCwgezB4MmMsMHhmMCwweDgzLDB4M2EsMHg0OCwweGNkLDB4MDEsMHgzNSwweDgwLDB4MGMsMHg2MCwweDEyLDB4MzQsMHgwYSwweGNlLDB4MDAgfX0sCi0gezE2LCAweGJjMDAsIDAsIHsweGIzLDB4ODAsMHgyYywweGUwLDB4MGIsMHg3NCwweDAwLDB4YzksMHgxMCwweGIzLDB4YzEsMHgwZiwweGYwLDB4MWIsMHgzYywweDAwIH19LAotIHsxNiwgMHhiYzEwLCAwLCB7MHhjZiwweDAwLDB4YjcsMHhjMCwweDJjLDB4ZTAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmMyMCwgMCwgezB4ODEsMHgwNCwweDZlLDB4MTAsMHg4OCwweDgwLDB4MmMsMHhjMCwweDE4LDB4OTgsMHgwMiwweDJkLDB4ODAsMHg4MSwweDAwLDB4MzYgfX0sCi0gezE2LCAweGJjMzAsIDAsIHsweDkxLDB4MDgsMHhiMCwweDAzLDB4NjgsMHgwMCwweGM5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDgzIH19LAotIHsxNiwgMHhiYzQwLCAwLCB7MHg4MCwweDM2LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgyYywweDAyLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDIwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4YmM1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwNiwweDAwLDB4OGEsMHg4MCwweDJlLDB4NDUgfX0sCi0gezE2LCAweGJjNjAsIDAsIHsweDI4LDB4ODgsMHgwMiwweDI0LDB4MDIsMHg4OCwweDAyLDB4MDIsMHgwMiwweDA4LDB4ODAsMHgwMiwweGEyLDB4MDAsMHg5OCwweDAwIH19LAotIHsxNiwgMHhiYzcwLCAwLCB7MHgyMiwweDAwLDB4MDgsMHg4MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDEsMHgyMiwweGMxLDB4MGEsMHhiMCwweDAyLDB4NmMsMHgwMCB9fSwKLSB7MTYsIDB4YmM4MCwgMCwgezB4YWIsMHgwMCwweDIyLDB4YzEsMHgwOCwweDkwLDB4MTIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjOTAsIDAsIHsweDA4LDB4MDQsMHgwMCwweDAwLDB4ODAsMHgwMCwweDJjLDB4YzAsMHg0OCwweDA4LDB4MTIsMHgwMCwweDgwLDB4ODAsMHgwMiwweDI0IH19LAotIHsxNiwgMHhiY2EwLCAwLCB7MHgwMCwweDA4LDB4MTgsMHg0MiwweGFjLDB4MDIsMHg4YiwweDgwLDB4MjIsMHhlMCwweDA4LDB4YjgsMHgxMiwweDA0LDB4MDIsMHg4MyB9fSwKLSB7MTYsIDB4YmNiMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDQyLDB4MGMsMHgwMCwweGEzLDB4MDEsMHg2MCwweGMwLDB4NDgsMHgxMCwweDAyLDB4NDIgfX0sCi0gezE2LCAweGJjYzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4NjgsMHgwOCwweGNhLDB4MDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHhiY2QwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHgwMCwweDAwLDB4YzgsMHgwNiwweDMyLDB4MDAsMHgwYywweDgwLDB4MDIsMHhhMCwweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4YmNlMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDc0LDB4MDAsMHhjYiwweDAwLDB4MjIsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDAgfX0sCi0gezE2LCAweGJjZjAsIDAsIHsweGVmLDB4MDAsMHgzNywweGMwLDB4MGMsMHg4MCwweDAxLDB4NDAsMHgwMywweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZDAwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZjLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTEsMHgwMCwweGZjLDB4MDAsMHgzYiB9fSwKLSB7MTYsIDB4YmQxMCwgMCwgezB4MDAsMHgwZiwweGQwLDB4MDMsMHg3YywweDAwLDB4ZWYsMHgwMCwweDJmLDB4YzAsMHgwZiwweGYwLDB4MTEsMHhmNCwweDEwLDB4ZmQgfX0sCi0gezE2LCAweGJkMjAsIDAsIHsweDAyLDB4M2QsMHhjMCwweDRmLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhkZiwweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHg0MywweGU5IH19LAotIHsxNiwgMHhiZDMwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQxLDB4MDIsMHg3MCwweDIwLDB4ZGMsMHgxMCB9fSwKLSB7MTYsIDB4YmQ0MCwgMCwgezB4NjcsMHgwNCwweDBkLDB4YzEsMHgwMiwweDcwLDB4MjAsMHg5YywweDEwLDB4MzcsMHgwNCwweDBkLDB4YzEsMHgwNiwweDcwLDB4NDAgfX0sCi0gezE2LCAweGJkNTAsIDAsIHsweDRjLDB4MTAsMHgzNywweDE0LDB4MTUsMHhjMSwweDAzLDB4NzAsMHg0MCwweGRjLDB4MTAsMHgxMywweDA0LDB4MGQsMHhjMSwweDA3IH19LAotIHsxNiwgMHhiZDYwLCAwLCB7MHg3MCwweDQwLDB4ZGMsMHgxMCwweDM3LDB4MDQsMHgwZCwweGMwLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmQ3MCwgMCwgezB4MDAsMHhjNSwweDQ0LDB4MDUsMHg3MSwweDIxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHg3MSwweDA1LDB4NWMgfX0sCi0gezE2LCAweGJkODAsIDAsIHsweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNiwweDcxLDB4MDEsMHg0YywweDQwLDB4NTcsMHgxMCwweDBkLDB4YzQsMHgwNSwweDcxIH19LAotIHsxNiwgMHhiZDkwLCAwLCB7MHgwNSwweDVjLDB4NDAsMHg1MywweDEwLDB4MTUsMHhjNCwweDA3LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjMCB9fSwKLSB7MTYsIDB4YmRhMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfX0sCi0gezE2LCAweGJkYjAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH19LAotIHsxNiwgMHhiZGMwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSB9fSwKLSB7MTYsIDB4YmRkMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkZTAsIDAsIHsweDAwLDB4ODQsMHgwMCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHg1NiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAsMHgwNCwweDU4IH19LAotIHsxNiwgMHhiZGYwLCAwLCB7MHgwMCwweDE2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHgyMCwweDAxLDB4NTgsMHgwMCwweDE2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCB9fSwKLSB7MTYsIDB4YmUwMCwgMCwgezB4MDAsMHg1OCwweDAwLDB4NTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4MTYsMHgwMCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGJlMTAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNSwweDcyLDB4MTEsMHg1YywweDgwIH19LAotIHsxNiwgMHhiZTIwLCAwLCB7MHgxNywweDIwLDB4MTUsMHhkOCwweDA1LDB4MzIsMHgxMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTQsMHg4OCwweDAwLDB4NzIsMHgwMSB9fSwKLSB7MTYsIDB4YmUzMCwgMCwgezB4MWMsMHg4MCwweDU3LDB4MjAsMHgwNSwweGM4LDB4MDQsMHg3MiwweDAxLDB4NWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGM4LDB4MDEgfX0sCi0gezE2LCAweGJlNDAsIDAsIHsweDcyLDB4MDEsMHg1YywweDgwLDB4NTcsMHgyNCwweDE1LDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZTUwLCAwLCB7MHgwMCwweGMxLDB4NDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHg0MCwweDIwLDB4MDAsMHgxOCB9fSwKLSB7MTYsIDB4YmU2MCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg5MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4NDEsMHg4MCwweDAwLDB4NjAgfX0sCi0gezE2LCAweGJlNzAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgxMCwweDA2LDB4MDAsMHgwMSwweDgwIH19LAotIHsxNiwgMHhiZTgwLCAwLCB7MHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCB9fSwKLSB7MTYsIDB4YmU5MCwgMCwgezB4MDIsMHgyMCwweDEwLDB4ODgsMHgwNCwweDYyLDB4MDEsMHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4ODgsMHgwMCwweDIwLDB4MDEgfX0sCi0gezE2LCAweGJlYTAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDIwLDB4MDAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4MDAsMHg0MiwweDIwLDB4MTAsMHg4OCwweDAwIH19LAotIHsxNiwgMHhiZWIwLCAwLCB7MHgyMiwweDAxLDB4MDgsMHg4MCwweDQyLDB4MzAsMHgxMCwweDgwLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmVjMCwgMCwgezB4MDAsMHhjNSwweDRhLDB4MDUsMHg0MiwweDgxLDB4NTAsMHhhMCwweDA0LDB4MjgsMHgxNSwweDBhLDB4MDUsMHg1MiwweDgxLDB4MTAgfX0sCi0gezE2LCAweGJlZDAsIDAsIHsweGEwLDB4NDQsMHgyOCwweDExLDB4MWEsMHgwMCwweDQwLDB4ODAsMHgxMCwweGEwLDB4NTQsMHgyOCwweDA1LDB4MGEsMHgwNSwweDQyIH19LAotIHsxNiwgMHhiZWUwLCAwLCB7MHg4MSwweDUxLDB4MjAsMHgxNCwweDI4LDB4MTUsMHgwYSwweDAxLDB4NDIsMHg4MSwweDUwLDB4YTAsMHg1NCwweDI4LDB4MTUsMHgwMCB9fSwKLSB7MTYsIDB4YmVmMCwgMCwgezB4MzEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwYywweDAxLDB4NTMsMHg0MCwweDU0LDB4YzAgfX0sCi0gezE2LCAweGJmMDAsIDAsIHsweDE1LDB4MzAsMHgwNSwweDVjLDB4MDEsMHg1NywweDQwLDB4NTQsMHhjMCwweDE1LDB4MzAsMHgwNSwweDVjLDB4MDEsMHg1MywweDAwIH19LAotIHsxNiwgMHhiZjEwLCAwLCB7MHg1NSwweGMwLDB4MTUsMHg3NCwweDA1LDB4NGMsMHgwMSwweDUzLDB4MDAsMHg1NSwweGMwLDB4MTUsMHg3NCwweDA1LDB4NGMsMHgwMSB9fSwKLSB7MTYsIDB4YmYyMCwgMCwgezB4NTMsMHgwMCwweDU0LDB4YzAsMHgxMSwweDMwLDB4MDEsMHg0MCwweDIxLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmMzAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwIH19LAotIHsxNiwgMHhiZjQwLCAwLCB7MHgwMCwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgxMSwweDAwLDB4MDAsMHg0MCB9fSwKLSB7MTYsIDB4YmY1MCwgMCwgezB4MDAsMHgxMCwweGMxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MDEsMHgxMCwweDAxLDB4MDEgfX0sCi0gezE2LCAweGJmNjAsIDAsIHsweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwIH19LAotIHsxNiwgMHhiZjcwLCAwLCB7MHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCB9fSwKLSB7MTYsIDB4YmY4MCwgMCwgezB4ODIsMHgwMCwweDIwLDB4ODQsMHgwMCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODQsMHgwOCwweDIwLDB4MDIgfX0sCi0gezE2LCAweGJmOTAsIDAsIHsweDA4LDB4MDAsMHg4MiwweDAwLDB4MjEsMHg4MCwweDA4LDB4MDEsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZmEwLCAwLCB7MHgwMCwweGM1LDB4NDAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4OTYsMHgwMCwweDE1LDB4OTAsMHgwNSwweDY0LDB4MDIsMHg1OCB9fSwKLSB7MTYsIDB4YmZiMCwgMCwgezB4MDAsMHg1NiwweDAwLDB4NTUsMHg5MCwweDA1LDB4NjAsMHgwMSwweGQ5LDB4MDAsMHgxNiwweDQwLDB4MTUsMHg4MCwweDA1LDB4NjAgfX0sCi0gezE2LCAweGJmYzAsIDAsIHsweDAxLDB4NTksMHgwMCwweDc2LDB4NDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwIH19LAotIHsxNiwgMHhiZmQwLCAwLCB7MHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNCwweDQwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4YmZlMCwgMCwgezB4MzYsMHgwMCwweDRkLDB4ODAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNywweDYyLDB4MDAgfX0sCi0gezE2LCAweGJmZjAsIDAsIHsweDU4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA3LDB4NjAsMHgwMCwweGQ4LDB4ODAsMHgxNiwweDAwLDB4MGQsMHg4MCwweDAzIH19LAotIHsxNiwgMHhjMDAwLCAwLCB7MHg2MCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgxZCwweDgwLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzAxMCwgMCwgezB4MDAsMHhjNSwweDQyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMgfX0sCi0gezE2LCAweGMwMjAsIDAsIHsweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4YzEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNiwweDMwIH19LAotIHsxNiwgMHhjMDMwLCAwLCB7MHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTgsMHhjMCB9fSwKLSB7MTYsIDB4YzA0MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfX0sCi0gezE2LCAweGMwNTAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4NDAsMHgzMCwweDAwIH19LAotIHsxNiwgMHhjMDYwLCAwLCB7MHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4YzA3MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwODAsIDAsIHsweDAwLDB4ODAsMHgwMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjIH19LAotIHsxNiwgMHhjMDkwLCAwLCB7MHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MjUsMHgzMCwweDgxLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCB9fSwKLSB7MTYsIDB4YzBhMCwgMCwgezB4ODAsMHg0YywweDMyLDB4NTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwLDB4ODAsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzAgfX0sCi0gezE2LCAweGMwYjAsIDAsIHsweDIwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNSwweDYyLDB4ODEsMHg1OCwweDIwIH19LAotIHsxNiwgMHhjMGMwLCAwLCB7MHg1NiwweDA4LDB4MTUsMHg4MiwweDA0LDB4NjAsMHg4MSwweDU4LDB4MjAsMHg0NiwweDA4LDB4MTUsMHg4MiwweDAxLDB4NjAsMHhjMSB9fSwKLSB7MTYsIDB4YzBkMCwgMCwgezB4NTgsMHgyMCwweDQ2LDB4MDgsMHgxNSwweDgyLDB4MDEsMHg2MCwweDgxLDB4NTgsMHgzMCwweDU2LDB4MDgsMHgxNSwweDgyLDB4MDUgfX0sCi0gezE2LCAweGMwZTAsIDAsIHsweDYwLDB4ODEsMHg1OCwweDIwLDB4NTYsMHgwOCwweDA1LDB4ODAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMGYwLCAwLCB7MHgwMCwweGM1LDB4NDIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCB9fSwKLSB7MTYsIDB4YzEwMCwgMCwgezB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDBjLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAgfX0sCi0gezE2LCAweGMxMTAsIDAsIHsweDgwLDB4MDgsMHgyMCwweDAzLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgwIH19LAotIHsxNiwgMHhjMTIwLCAwLCB7MHgyMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDQsMHg2NiwweDgxLDB4MTgsMHgyMCB9fSwKLSB7MTYsIDB4YzEzMCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDY0LDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4ODEgfX0sCi0gezE2LCAweGMxNDAsIDAsIHsweDBjLDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHg4MSwweDE5LDB4MjAsMHg0MywweDA4LDB4MTEsMHg4MiwweDA0IH19LAotIHsxNiwgMHhjMTUwLCAwLCB7MHg2MCwweDgxLDB4MTksMHgyMCwweDQ2LDB4NDgsMHgwMSwweDgwLDB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzE2MCwgMCwgezB4MDAsMHhjNSwweDYwLDB4MDUsMHg1OCwweDAxLDB4NTYsMHgwMCwweDU1LDB4ODAsMHgxNSwweDYwLDB4MDQsMHg1OCwweDAxLDB4NTYgfX0sCi0gezE2LCAweGMxNzAsIDAsIHsweDAwLDB4NDUsMHg4MCwweDExLDB4NjAsMHgwMCwweDU4LDB4MDAsMHgwNiwweDAwLDB4NDUsMHg4MCwweDE1LDB4NjAsMHgwMSwweDU4IH19LAotIHsxNiwgMHhjMTgwLCAwLCB7MHgwMSwweDE2LDB4MDAsMHgwMSwweDgwLDB4MTUsMHg2MCwweDA1LDB4NTgsMHgwMSwweDU2LDB4MDAsMHg1NSwweDgwLDB4MDUsMHg0MCB9fSwKLSB7MTYsIDB4YzE5MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNiwweDAxLDB4NDksMHg4MCwweDEwLDB4NjAgfX0sCi0gezE2LCAweGMxYTAsIDAsIHsweDE0LDB4MTgsMHgwNSwweDA2LDB4MDEsMHg3OSwweDgwLDB4NTAsMHg2MCwweDE0LDB4MTgsMHgwMSwweDA2LDB4MDEsMHg0MSwweDgwIH19LAotIHsxNiwgMHhjMWIwLCAwLCB7MHg1MCwweDYwLDB4MDQsMHgxOCwweDA1LDB4MDYsMHgwMSwweDQxLDB4ODAsMHgxMCwweDYwLDB4MTQsMHgxOCwweDA1LDB4MDYsMHgwMSB9fSwKLSB7MTYsIDB4YzFjMCwgMCwgezB4NDEsMHg4MCwweDUwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMxZDAsIDAsIHsweDAwLDB4ODAsMHgwMiwweDAxLDB4MDQsMHg4MCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAwLDB4MDQsMHgwNCwweDQwIH19LAotIHsxNiwgMHhjMWUwLCAwLCB7MHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDg0LDB4NDAsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCB9fSwKLSB7MTYsIDB4YzFmMCwgMCwgezB4ODAsMHg0MSwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgxMSwweDAwLDB4ODAsMHg0MSwweDIwLDB4MTAsMHg0OCwweDA0LDB4MDAgfX0sCi0gezE2LCAweGMyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwIH19LAotIHsxNiwgMHhjMjEwLCAwLCB7MHgzNSwweDE4LDB4MGQsMHg0NiwweDAyLDB4MTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4MTEsMHg4MCB9fSwKLSB7MTYsIDB4YzIyMCwgMCwgezB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMgfX0sCi0gezE2LCAweGMyMzAsIDAsIHsweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgzMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMjQwLCAwLCB7MHgwMCwweGM1LDB4NDYsMHgwNSwweDcwLDB4ODEsMHg1YywweDYwLDB4MDcsMHgxOCwweDE1LDB4YzYsMHgwNCwweDcxLDB4ODEsMHgxYyB9fSwKLSB7MTYsIDB4YzI1MCwgMCwgezB4NjAsMHgxNywweDE4LDB4MTUsMHhjNiwweDA1LDB4MzEsMHg4MSwweGRjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEgfX0sCi0gezE2LCAweGMyNjAsIDAsIHsweDgwLDB4MWMsMHg2MCwweDc3LDB4MTgsMHgxNSwweGNlLDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGMwIH19LAotIHsxNiwgMHhjMjcwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDQ2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MSB9fSwKLSB7MTYsIDB4YzI4MCwgMCwgezB4NzcsMHgxOCwweDBkLDB4YzYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwLDB4MzcsMHgxOCwweDBkLDB4YzIsMHgwMywweDMxLDB4ODAgfX0sCi0gezE2LCAweGMyOTAsIDAsIHsweDVjLDB4NjAsMHgyNywweDE4LDB4MGQsMHhjNiwweDAzLDB4NzEsMHg4MCwweDljLDB4NjAsMHgxNywweDE4LDB4MGQsMHhjZSwweDAzIH19LAotIHsxNiwgMHhjMmEwLCAwLCB7MHg3MSwweDgwLDB4ZGMsMHg2MCwweDM3LDB4MTgsMHgwZCwweGMwLDB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzJiMCwgMCwgezB4MDAsMHg0NSwweDQ2LDB4MDUsMHg3NSwweDgxLDB4NWMsMHg2MCwweDc3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3NSwweDgxLDB4NWMgfX0sCi0gezE2LCAweGMyYzAsIDAsIHsweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDMxLDB4ODEsMHgwYywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxIH19LAotIHsxNiwgMHhjMmQwLCAwLCB7MHg4MSwweDVjLDB4NjAsMHg0MywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjMCB9fSwKLSB7MTYsIDB4YzJlMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfX0sCi0gezE2LCAweGMyZjAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH19LAotIHsxNiwgMHhjMzAwLCAwLCB7MHg1YywweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDAwLDB4MTcsMHgwOCwweDA0LDB4ODIsMHgwMSB9fSwKLSB7MTYsIDB4YzMxMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzMjAsIDAsIHsweDAwLDB4MDAsMHgwNiwweDAxLDB4NjMsMHg4MCwweDU4LDB4NjAsMHgxNiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEsMHg4MCwweDU4IH19LAotIHsxNiwgMHhjMzMwLCAwLCB7MHg2MCwweDE2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSwweDgxLDB4NTgsMHg2MCwweDE2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSB9fSwKLSB7MTYsIDB4YzM0MCwgMCwgezB4ODAsMHg1OCwweDYwLDB4NTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxLDB4ODAsMHg1OCwweDYwLDB4MTYsMHgxOCwweDA1LDB4ODAgfX0sCi0gezE2LCAweGMzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDAsMHgwNSwweDcwLDB4MDEsMHg1YywweDAwIH19LAotIHsxNiwgMHhjMzYwLCAwLCB7MHgxNywweDAwLDB4MTUsMHhjMCwweDg1LDB4NzQsMHgwMSwweDFjLDB4MDAsMHg0NywweDAwLDB4MTEsMHhjMCwweDA1LDB4NzAsMHgwMSB9fSwKLSB7MTYsIDB4YzM3MCwgMCwgezB4NWMsMHgwMCwweDUzLDB4MDAsMHgxMCwweGMwLDB4MDUsMHg3MCwweDAxLDB4NWMsMHgwMCwweDU3LDB4MDAsMHgxNCwweGM5LDB4MDQgfX0sCi0gezE2LCAweGMzODAsIDAsIHsweDcwLDB4MDEsMHgxYywweDAwLDB4NTcsMHgwMCwweDE1LDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMzkwLCAwLCB7MHgwMCwweDQ1LDB4NDIsMHgwMCwweDYwLDB4YzAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCB9fSwKLSB7MTYsIDB4YzNhMCwgMCwgezB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4MjAsMHg4MCwweDE4LDB4MzAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDEwLDB4NjAgfX0sCi0gezE2LCAweGMzYjAsIDAsIHsweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMCwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgwIH19LAotIHsxNiwgMHhjM2MwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NCwweDQyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCB9fSwKLSB7MTYsIDB4YzNkMCwgMCwgezB4MDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEgfX0sCi0gezE2LCAweGMzZTAsIDAsIHsweDA4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH19LAotIHsxNiwgMHhjM2YwLCAwLCB7MHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgwLDB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzQwMCwgMCwgezB4MDAsMHg0NSwweDQyLDB4MDUsMHg0MCwweGM1LDB4NTAsMHgyMCwweDE0LDB4MDgsMHgxNSwweDAwLDB4MDQsMHg0MCwweDgxLDB4NTAgfX0sCi0gezE2LCAweGM0MTAsIDAsIHsweDIwLDB4NTQsMHgwOCwweDExLDB4MDIsMHgwNSwweDAwLDB4ODAsMHgxMCwweDIwLDB4NDUsMHgwYywweDExLDB4NDIsMHgwNCwweDQwIH19LAotIHsxNiwgMHhjNDIwLCAwLCB7MHg4MSwweDUwLDB4MjAsMHgxNCwweDBjLDB4MTUsMHg0MiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg1NCwweDA4LDB4MTUsMHgwMCB9fSwKLSB7MTYsIDB4YzQzMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMywweDAxLDB4NTAsMHhjMCwweDQ0LDB4MzAgfX0sCi0gezE2LCAweGM0NDAsIDAsIHsweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEsMHg1MCwweGMwLDB4NGMsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MjEsMHg1MCwweGMwIH19LAotIHsxNiwgMHhjNDUwLCAwLCB7MHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSwweDUwLDB4YzAsMHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSB9fSwKLSB7MTYsIDB4YzQ2MCwgMCwgezB4NTAsMHhjMCwweDU0LDB4MjAsMHgxNSwweDBjLDB4MDUsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0NzAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDAwLDB4NDIsMHgwMCwweDA0LDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDA0IH19LAotIHsxNiwgMHhjNDgwLCAwLCB7MHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDAsMHg0MiB9fSwKLSB7MTYsIDB4YzQ5MCwgMCwgezB4MDAsMHgxMCwweDgwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDAgfX0sCi0gezE2LCAweGM0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4NCwweDIwIH19LAotIHsxNiwgMHhjNGIwLCAwLCB7MHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDg0LDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4YzRjMCwgMCwgezB4ODAsMHhhMCwweDIwLDB4MjgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MjgsMHgwOCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGM0ZDAsIDAsIHsweDAwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNGUwLCAwLCB7MHgwMCwweDQ1LDB4NDAsMHgwNSwweDYwLDB4NDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCB9fSwKLSB7MTYsIDB4YzRmMCwgMCwgezB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4MjAsMHgwMSwweGQ4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAgfX0sCi0gezE2LCAweGM1MDAsIDAsIHsweDAxLDB4NTgsMHgwMCwweDc2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwIH19LAotIHsxNiwgMHhjNTEwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4YzUyMCwgMCwgezB4MjYsMHgwMCwweDBkLDB4ODAsMHgwMiwweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNywweDYwLDB4MDEgfX0sCi0gezE2LCAweGM1MzAsIDAsIHsweDVjLDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHg1NywweDAwLDB4MGQsMHg4MCwweDAyIH19LAotIHsxNiwgMHhjNTQwLCAwLCB7MHg2MCwweDAwLDB4OTgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDQsMHgzMCwweDIxLDB4MGMsMHgwMCwweDQzLDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCwweDAxLDB4MGMgfX0sCi0gezE2LCAweGM1NjAsIDAsIHsweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwLDB4MDEsMHgxOCwweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwIH19LAotIHsxNiwgMHhjNTcwLCAwLCB7MHgwMSwweDBjLDB4MDAsMHg0NiwweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAsMHgwMSwweDBjLDB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCB9fSwKLSB7MTYsIDB4YzU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfX0sCi0gezE2LCAweGM1OTAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzNSwweDA4LDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGM2LDB4MDAsMHgxNCwweDAwIH19LAotIHsxNiwgMHhjNWEwLCAwLCB7MHgwOCwweDAwLDB4MDMsMHg0MCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwZCwweDQwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4YzViMCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1YzAsIDAsIHsweDAwLDB4MDAsMHgwNSwweDAxLDB4MzEsMHg0MCwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEsMHhjMCwweDRjIH19LAotIHsxNiwgMHhjNWQwLCAwLCB7MHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDUsMHgzMSwweDQxLDB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSB9fSwKLSB7MTYsIDB4YzVlMCwgMCwgezB4NDAsMHg0YywweDcwLDB4NTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxLDB4NDAsMHg0YywweDQwLDB4MTMsMHgxNCwweDA0LDB4YzAgfX0sCi0gezE2LCAweGM1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwNSwweDY4LDB4YzEsMHg1YSwweDMwIH19LAotIHsxNiwgMHhjNjAwLCAwLCB7MHg1NiwweDhjLDB4MTUsMHhhMywweDA1LDB4NjksMHhjMSwweDVhLDB4MzAsMHg0NiwweDhjLDB4MTEsMHhhNywweDAxLDB4NjgsMHhjMCB9fSwKLSB7MTYsIDB4YzYxMCwgMCwgezB4MWEsMHgzMCwweDU2LDB4OGMsMHgxMSwweGEzLDB4MDQsMHg2OCwweGMxLDB4MWEsMHgzMCwweDE2LDB4OGMsMHgxNSwweGEzLDB4MDQgfX0sCi0gezE2LCAweGM2MjAsIDAsIHsweDY4LDB4YzEsMHg1YSwweDMwLDB4NTYsMHg4YywweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDI0LDB4MDAsMHgwOCB9fSwKLSB7MTYsIDB4YzY0MCwgMCwgezB4MDEsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA4LDB4ODAsMHgwMiwweDYwLDB4MDAsMHg4MCwweDAwLDB4MjAgfX0sCi0gezE2LCAweGM2NTAsIDAsIHsweDAwLDB4MDksMHg0MCwweDAyLDB4MjAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwIH19LAotIHsxNiwgMHhjNjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4NCB9fSwKLSB7MTYsIDB4YzY3MCwgMCwgezB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYyLDB4MDksMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODgsMHg2MCwweDYyLDB4MTAgfX0sCi0gezE2LCAweGM2ODAsIDAsIHsweDE4LDB4MDQsMHg0NiwweDAxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODAsMHgwNiwweDAxLDB4MTEsMHg4OCwweDQ0IH19LAotIHsxNiwgMHhjNjkwLCAwLCB7MHg2MiwweDExLDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4NDUsMHg1MCwweDExLDB4NTQsMHgwNCwweDU1LDB4MDEsMHgxNSwweDQwLDB4NDQsMHg1MCwweDExLDB4NTQgfX0sCi0gezE2LCAweGM2YjAsIDAsIHsweDA0LDB4NDUsMHgwMSwweDExLDB4NDAsMHg0MCwweDUwLDB4MTAsMHg1NCwweDA0LDB4NDUsMHgwMSwweDE1LDB4NDAsMHg0NCwweDUwIH19LAotIHsxNiwgMHhjNmMwLCAwLCB7MHgxMSwweDE0LDB4MDAsMHgxNSwweDAxLDB4MTUsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDU0LDB4MDQsMHg1NSwweDAwLDB4MTEsMHg0MCB9fSwKLSB7MTYsIDB4YzZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIgfX0sCi0gezE2LCAweGM2ZTAsIDAsIHsweDE0LDB4MjAsMHg4NSwweDA4LDB4MjEsMHg0MiwweDAwLDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4NSwweDA4LDB4MjAsMHg0MiwweDA4IH19LAotIHsxNiwgMHhjNmYwLCAwLCB7MHg1MCwweDgyLDB4MTUsMHgyMCwweDA1LDB4NDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyLDB4MTQsMHgyMCwweDgxLDB4NDAsMHgyMSB9fSwKLSB7MTYsIDB4YzcwMCwgMCwgezB4NDIsMHgwOCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3MTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4NCwweDQwIH19LAotIHsxNiwgMHhjNzIwLCAwLCB7MHhhMSwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDAwLDB4MjgsMHgwMCwweDBhLDB4MDEsMHgwMiB9fSwKLSB7MTYsIDB4YzczMCwgMCwgezB4ODAsMHg0MCwweGIwLDB4MTAsMHgyOCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MDAgfX0sCi0gezE2LCAweGM3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwIH19LAotIHsxNiwgMHhjNzUwLCAwLCB7MHgzNSwweDMwLDB4MGQsMHg0YywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0YywweDAzLDB4NTMsMHgwMCB9fSwKLSB7MTYsIDB4Yzc2MCwgMCwgezB4ZDQsMHhjMCwweDIxLDB4MzAsMHgwOCwweDRjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwOCwweDRjLDB4MDMgfX0sCi0gezE2LCAweGM3NzAsIDAsIHsweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNzgwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHgwNCwweDcwLDB4MDEsMHg1YywweDgwLDB4MDcsMHgyMCwweDI1LDB4YzksMHgwNCwweDcyLDB4MDEsMHg1YyB9fSwKLSB7MTYsIDB4Yzc5MCwgMCwgezB4ODAsMHg0NywweDIwLDB4MTUsMHhjOCwweDAwLDB4NzIsMHgwNSwweGRjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDA1LDB4NzIgfX0sCi0gezE2LCAweGM3YTAsIDAsIHsweDAxLDB4MWMsMHg5MCwweDY3LDB4MjAsMHgxNSwweGM4LDB4MDUsMHg3MiwweDAxLDB4MWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGMwIH19LAotIHsxNiwgMHhjN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MTgsMHg0OCwweGMyLDB4MTIsMHgzMSB9fSwKLSB7MTYsIDB4YzdjMCwgMCwgezB4ODQsMHg4YywweDYxLDB4MDMsMHgxOCwweDQwLDB4YzgsMHgxMiwweDMxLDB4ODQsMHg4YywweDYxLDB4MDMsMHgxOCwweDQ4LDB4YzQgfX0sCi0gezE2LCAweGM3ZDAsIDAsIHsweDEwLDB4MzEsMHg4NCwweDBjLDB4NDEsMHgyMywweDE4LDB4NDgsMHhjNiwweDEwLDB4MzAsMHgwNCwweDBjLDB4NjEsMHgyMywweDE4IH19LAotIHsxNiwgMHhjN2UwLCAwLCB7MHg0OCwweGM2LDB4MTIsMHgzMCwweDg0LDB4OGMsMHgyMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzdmMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMgfX0sCi0gezE2LCAweGM4MDAsIDAsIHsweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmIH19LAotIHsxNiwgMHhjODEwLCAwLCB7MHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4YmQsMHgwMCB9fSwKLSB7MTYsIDB4YzgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4NjAsIDAsIHsweDAwLDB4MDAsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MDksMHgzNiwweGMyIH19LAotIHsxNiwgMHhjODcwLCAwLCB7MHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiB9fSwKLSB7MTYsIDB4Yzg4MCwgMCwgezB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGM4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMywweDMzIH19LAotIHsxNiwgMHhjOGEwLCAwLCB7MHhjNCwweGNjLDB4ZjEsMHgzMywweDNjLDB4NGQsMHg0ZSwweDkzLDB4MzMsMHhjNCwweGNjLDB4ZjEsMHgyYiwweDNjLDB4NGMsMHhjZiB9fSwKLSB7MTYsIDB4YzhiMCwgMCwgezB4MTMsMHgzMywweGM0LDB4Y2MsMHhlOSwweDMzLDB4M2MsMHg0YywweGNmLDB4MTIsMHhiNSwweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MgfX0sCi0gezE2LCAweGM4YzAsIDAsIHsweDRjLDB4Y2YsMHgxMywweDMzLDB4YzQsMHhjZCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOGQwLCAwLCB7MHgwMCwweDAwLDB4M2IsMHg3ZSwweDRlLDB4YzcsMHg5MywweGI3LDB4ZTQsMHhlZCwweGY5LDB4MjMsMHg3ZSwweDRlLDB4NDcsMHg5MyB9fSwKLSB7MTYsIDB4YzhlMCwgMCwgezB4YjcsMHhlNCwweGVkLDB4ZjksMHgzZiwweDdlLDB4NGUsMHhkZSwweDEyLDB4MzcsMHhlNCwweDhkLDB4ZjksMHgzYiwweDdlLDB4NGUgfX0sCi0gezE2LCAweGM4ZjAsIDAsIHsweGRmLDB4OTMsMHhmNywweDg0LDB4OGQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiMSwweGU0LDB4ZWQsMHhiOSwweDAwIH19LAotIHsxNiwgMHhjOTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDIsMHg3MCwweDQwLDB4OWMsMHgxMSB9fSwKLSB7MTYsIDB4YzkxMCwgMCwgezB4NjcsMHgwNCwweDE5LDB4YzMsMHgwMiwweDcwLDB4NDAsMHg5YywweDEwLDB4MjcsMHgwNCwweDA5LDB4YzEsMHgwMiwweDcwLDB4NDAgfX0sCi0gezE2LCAweGM5MjAsIDAsIHsweDFjLDB4MTAsMHgyNywweDE0LDB4MDEsMHhjMSwweDAyLDB4NzAsMHg0MCwweDljLDB4NTAsMHgwNywweDA0LDB4MDksMHhjMSwweDAyIH19LAotIHsxNiwgMHhjOTMwLCAwLCB7MHg3MCwweDQwLDB4OWMsMHgxMCwweDY3LDB4MTQsMHgxMSwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzk0MCwgMCwgezB4MDAsMHgwMCwweDA0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHg3MSwweDAxLDB4NWMgfX0sCi0gezE2LCAweGM5NTAsIDAsIHsweDQwLDB4NTcsMHgxMCwweDE1LDB4YzYsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDEwLDB4YzQsMHgwNSwweDcxIH19LAotIHsxNiwgMHhjOTYwLCAwLCB7MHgwMSwweDVjLDB4NjQsMHgwMywweDEwLDB4NTUsMHhjNCwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjMCB9fSwKLSB7MTYsIDB4Yzk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfX0sCi0gezE2LCAweGM5ODAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMSwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDEsMHgyMCwweDgwIH19LAotIHsxNiwgMHhjOTkwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA1LDB4YzIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDI0LDB4MTcsMHgwOCwweDA0LDB4ODIsMHgwMSB9fSwKLSB7MTYsIDB4YzlhMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4NCwweDAwLDB4NjAsMHgwMCwweDE4IH19LAotIHsxNiwgMHhjOWMwLCAwLCB7MHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAxLDB4MTgsMHgwMCwweDA2LDB4MTAsMHg5MSwweDgwLDB4MDAsMHg2MCB9fSwKLSB7MTYsIDB4YzlkMCwgMCwgezB4MDAsMHgxOCwweDQ2LDB4NDYsMHgxOCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgxMCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGM5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDczLDB4MDEsMHgxYywweDgwIH19LAotIHsxNiwgMHhjOWYwLCAwLCB7MHgwNywweDIwLDB4MDEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSB9fSwKLSB7MTYsIDB4Y2EwMCwgMCwgezB4MWMsMHg4MCwweDQ3LDB4MjIsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDA3LDB4MjAsMHgxMSwweGM4LDB4MDQgfX0sCi0gezE2LCAweGNhMTAsIDAsIHsweDcyLDB4MDEsMHgxYywweDgwLDB4MDcsMHgyOCwweDExLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCB9fSwKLSB7MTYsIDB4Y2EzMCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAgfX0sCi0gezE2LCAweGNhNDAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDQ2LDB4MDQsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwIH19LAotIHsxNiwgMHhjYTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCB9fSwKLSB7MTYsIDB4Y2E2MCwgMCwgezB4MDIsMHgyMCwweDAwLDB4OTAsMHgwNCwweDI3LDB4ODEsMHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4OTgsMHgwNCwweDI0LDB4MDEgfX0sCi0gezE2LCAweGNhNzAsIDAsIHsweDA4LDB4ODAsMHg0MiwweDQ4LDB4MTAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA5LDB4NDAsMHg0MiwweDYwLDB4MTAsMHg4OCwweDA0IH19LAotIHsxNiwgMHhjYTgwLCAwLCB7MHgyMiwweDAxLDB4MDgsMHhjMCwweDAyLDB4NDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2E5MCwgMCwgezB4MDAsMHgwMCwweDJhLDB4MDQsMHg0YiwweDgxLDB4MTIsMHhhMCwweDA0LDB4YTgsMHgwMSwweDJhLDB4MDQsMHg0YSwweDgxLDB4MTIgfX0sCi0gezE2LCAweGNhYTAsIDAsIHsweGEwLDB4NDQsMHhhOCwweDExLDB4MmEsMHgwNCwweDQ4LDB4ODAsMHgxMiwweGEwLDB4NDQsMHg4OCwweDAxLDB4MmEsMHgwNCwweDRhIH19LAotIHsxNiwgMHhjYWIwLCAwLCB7MHg4MSwweDEyLDB4MjAsMHgwNCwweGFjLDB4MTEsMHgyYSwweDA0LDB4NGEsMHg4MSwweDEyLDB4YjAsMHg0NCwweDljLDB4MTEsMHgwMCB9fSwKLSB7MTYsIDB4Y2FjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHgwYywweDAwLDB4NTMsMHgwMCwweDE0LDB4YzAgfX0sCi0gezE2LCAweGNhZDAsIDAsIHsweDA1LDB4MzAsMHgwMSwweDQ0LDB4MDAsMHg1MywweDAwLDB4MTQsMHhjMCwweDA1LDB4MzAsMHgwNCwweDBjLDB4MDAsMHg1MywweDAwIH19LAotIHsxNiwgMHhjYWUwLCAwLCB7MHgxNCwweGMwLDB4MDUsMHhiMCwweDAxLDB4NGMsMHgwMCwweDUzLDB4MDAsMHgxNiwweGMwLDB4MDEsMHgzMCwweDAxLDB4NGMsMHgwMCB9fSwKLSB7MTYsIDB4Y2FmMCwgMCwgezB4NTMsMHgwMCwweDE0LDB4YzAsMHgwMSwweDM4LDB4MDAsMHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiMDAsIDAsIHsweDA4LDB4YzAsMHgwMCwweDEwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgxMCwweDAwLDB4NDQsMHg4MCwweDEwIH19LAotIHsxNiwgMHhjYjEwLCAwLCB7MHgwMCwweDA0LDB4MDAsMHgwMSwweDEwLDB4MDAsMHg0NiwweDAwLDB4MDAsMHgwMCwweDA0LDB4NjAsMHgwMSwweDAwLDB4MDAsMHg0MCB9fSwKLSB7MTYsIDB4Y2IyMCwgMCwgezB4MDAsMHgxMSwweDYwLDB4MDIsMHg0MCwweDAxLDB4MDAsMHgxMCwweDQwLDB4MDAsMHgxMCwweDYwLDB4MDEsMHg1MCwweDEwLDB4NDAgfX0sCi0gezE2LCAweGNiMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4NDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwIH19LAotIHsxNiwgMHhjYjQwLCAwLCB7MHgyMCwweDAwLDB4MDgsMHgwOCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2I1MCwgMCwgezB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIgfX0sCi0gezE2LCAweGNiNjAsIDAsIHsweDAwLDB4MDAsMHg4MCwweDAwLDB4MjEsMHgwMCwweDA4LDB4NDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYjcwLCAwLCB7MHgwOCwweGMwLDB4NDAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCB9fSwKLSB7MTYsIDB4Y2I4MCwgMCwgezB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweGM4LDB4MDAsMHg0NiwweDAwLDB4MTksMHg4MCwweDAwLDB4NjAgfX0sCi0gezE2LCAweGNiOTAsIDAsIHsweDAwLDB4MTgsMHgwMCwweDY2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgxMSwweDgwIH19LAotIHsxNiwgMHhjYmEwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMSwweDAwLDB4MDIsMHg2MCwweDAwLDB4OTgsMHgwMCB9fSwKLSB7MTYsIDB4Y2JiMCwgMCwgezB4MjYsMHgwMCwweDA5LDB4ODEsMHgwMiwweDYwLDB4MDEsMHg5OCwweDAwLDB4MjYsMHgwMCwweDA5LDB4ODAsMHgwNiwweDYyLDB4MDAgfX0sCi0gezE2LCAweGNiYzAsIDAsIHsweDQ4LDB4MDAsMHgyNiwweDIwLDB4MDEsMHhjMCwweDAyLDB4NjAsMHgwMSwweDk4LDB4MDAsMHgwNywweDAwLDB4MDksMHg4MCwweDAyIH19LAotIHsxNiwgMHhjYmQwLCAwLCB7MHg2MCwweDAwLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgxMSwweDgyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2JlMCwgMCwgezB4NDAsMHg0NSwweDQyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDg1LDB4OGMgfX0sCi0gezE2LCAweGNiZjAsIDAsIHsweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHg0OCwweDExLDB4ODIsMHgwNCwweDMwIH19LAotIHsxNiwgMHhjYzAwLCAwLCB7MHg4MSwweDhkLDB4MjAsMHg0NiwweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDBjLDB4MTAsMHhjMCB9fSwKLSB7MTYsIDB4Y2MxMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDQsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfX0sCi0gezE2LCAweGNjMjAsIDAsIHsweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgxMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwIH19LAotIHsxNiwgMHhjYzMwLCAwLCB7MHgwOCwweDAwLDB4MDMsMHgwMCwweDAwLDB4ODAsMHgwMCwweDMwLDB4MDAsMHgwYywweDgwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4Y2M0MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDIwLDB4MDAsMHhjMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjNTAsIDAsIHsweDQwLDB4MDAsMHgwMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MjEsMHgwMywweDA4LDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjIH19LAotIHsxNiwgMHhjYzYwLCAwLCB7MHgyMCwweDAzLDB4MDgsMHgwMCwweGMyLDB4MDQsMHgzMCwweGMxLDB4MGMsMHgyMCwweDAzLDB4MGMsMHgxMCwweGMyLDB4MDAsMHgzMCB9fSwKLSB7MTYsIDB4Y2M3MCwgMCwgezB4ODAsMHgwYywweGIwLDB4NDMsMHgwOCwweDAwLDB4YzIsMHgwMCwweDMwLDB4ODAsMHgwYywweDIwLDB4MDMsMHgyOCwweDEwLDB4YzAgfX0sCi0gezE2LCAweGNjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH19LAotIHsxNiwgMHhjYzkwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHg4MSB9fSwKLSB7MTYsIDB4Y2NhMCwgMCwgezB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgxMSwweDgyLDB4MDQgfX0sCi0gezE2LCAweGNjYjAsIDAsIHsweDYwLDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwYywweDExLDB4YzAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjY2MwLCAwLCB7MHg0MCwweDAxLDB4NDIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCB9fSwKLSB7MTYsIDB4Y2NkMCwgMCwgezB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDBjLDB4MjAsMHgwMiwweDA4LDB4MDAsMHhjMiwweDAwLDB4MjAgfX0sCi0gezE2LCAweGNjZTAsIDAsIHsweDgwLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMSwweDgwIH19LAotIHsxNiwgMHhjY2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwMSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9fSwKLSB7MTYsIDB4Y2QwMCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4YzEgfX0sCi0gezE2LCAweGNkMTAsIDAsIHsweDBjLDB4MjAsMHg0NiwweDBjLDB4MTAsMHhjMiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MzAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH19LAotIHsxNiwgMHhjZDIwLCAwLCB7MHg2MCwweDgxLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMCwweDgwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2QzMCwgMCwgezB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwMCwweDQ1LDB4MDAsMHgxMSwweDQwLDB4MDQsMHg1MCwweDAwLDB4MTQgfX0sCi0gezE2LCAweGNkNDAsIDAsIHsweDAwLDB4NDUsMHgwMCwweDExLDB4NDAsMHgwMCwweDUwLDB4MDAsMHgwNCwweDAwLDB4NDUsMHgwMCwweDAwLDB4NDAsMHgwNCwweDUwIH19LAotIHsxNiwgMHhjZDUwLCAwLCB7MHgwMCwweDE0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHg0MCwweDA0LDB4NTAsMHgwMSwweDE0LDB4MDAsMHg0NSwweDAwLDB4MDAsMHg0MiB9fSwKLSB7MTYsIDB4Y2Q2MCwgMCwgezB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAgfX0sCi0gezE2LCAweGNkNzAsIDAsIHsweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwIH19LAotIHsxNiwgMHhjZDgwLCAwLCB7MHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCB9fSwKLSB7MTYsIDB4Y2Q5MCwgMCwgezB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNkYTAsIDAsIHsweDQ4LDB4MDAsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwLDB4MjEsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwIH19LAotIHsxNiwgMHhjZGIwLCAwLCB7MHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMSwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCB9fSwKLSB7MTYsIDB4Y2RjMCwgMCwgezB4ODAsMHg0MCwweDMwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgxMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDE0LDB4MDAgfX0sCi0gezE2LCAweGNkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwIH19LAotIHsxNiwgMHhjZGUwLCAwLCB7MHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCB9fSwKLSB7MTYsIDB4Y2RmMCwgMCwgezB4ZDQsMHg2MCwweDM1LDB4MTAsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg0MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMgfX0sCi0gezE2LCAweGNlMDAsIDAsIHsweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZTEwLCAwLCB7MHgwMCwweDAxLDB4NDYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwLDB4MDcsMHgxOCwweDExLDB4Y2UsMHgwNCwweDcxLDB4ODEsMHgxYyB9fSwKLSB7MTYsIDB4Y2UyMCwgMCwgezB4NjAsMHg0NywweDE4LDB4MDEsMHhjNiwweDA0LDB4NzEsMHg4MSwweDljLDB4NjAsMHg0NywweDE4LDB4MTksMHhjNiwweDA0LDB4NzEgfX0sCi0gezE2LCAweGNlMzAsIDAsIHsweDgwLDB4MWMsMHg2MCwweDY3LDB4MTgsMHgxMSwweGM2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCwweDQ3LDB4MTgsMHgxMSwweGMwIH19LAotIHsxNiwgMHhjZTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDQ2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCB9fSwKLSB7MTYsIDB4Y2U1MCwgMCwgezB4MjcsMHgxOCwweDA5LDB4YzYsMHgwNiwweDcxLDB4ODAsMHgxYywweDYwLDB4MjcsMHgxOCwweDA5LDB4YzYsMHgwMSwweDMxLDB4ODAgfX0sCi0gezE2LCAweGNlNjAsIDAsIHsweDFjLDB4NjAsMHgwNywweDE4LDB4MDksMHhjNiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAsMHgwNywweDE4LDB4MDksMHhjNiwweDEyIH19LAotIHsxNiwgMHhjZTcwLCAwLCB7MHg3MSwweDgwLDB4OWMsMHg2MCwweDMzLDB4MTgsMHgwMSwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2U4MCwgMCwgezB4NTAsMHg0NSwweDQ2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgwLDB4NWMgfX0sCi0gezE2LCAweGNlOTAsIDAsIHsweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwMSwweDMxLDB4ODEsMHgwYywweDYwLDB4MTcsMHgxOCwweDEwLDB4YzYsMHgwNSwweDcxIH19LAotIHsxNiwgMHhjZWEwLCAwLCB7MHg4MSwweDVjLDB4NjAsMHgwMywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1MywweDE4LDB4MTgsMHg4MiB9fSwKLSB7MTYsIDB4Y2ViMCwgMCwgezB4MTAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDAsMHgxMiwweDAxLDB4MjQsMHg4MCwweDQ4LDB4MjAgfX0sCi0gezE2LCAweGNlYzAsIDAsIHsweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyNCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwIH19LAotIHsxNiwgMHhjZWQwLCAwLCB7MHg1OCwweDIwLDB4NTIsMHgwYywweDA1LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OSwweDIwLDB4MDIsMHgwOCwweDA0LDB4ODIsMHgwMSB9fSwKLSB7MTYsIDB4Y2VlMCwgMCwgezB4MjAsMHg4MCwweDQ5LDB4MjAsMHgxMiwweDQ4LDB4MDQsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlZjAsIDAsIHsweDQwLDB4MDQsMHgwNiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHgwNiwweDE4LDB4MDEsMHg4NiwweDA0LDB4NjEsMHg4MCwweDE4IH19LAotIHsxNiwgMHhjZjAwLCAwLCB7MHg2MCwweDA2LDB4MTgsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgxLDB4NDgsMHg2MCwweDA2LDB4MTgsMHgxNCwweDg2LDB4MDAsMHg2MSB9fSwKLSB7MTYsIDB4Y2YxMCwgMCwgezB4ODAsMHgxOCwweDYwLDB4NDIsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwLDB4MDYsMHgxOCwweDAwLDB4ODAgfX0sCi0gezE2LCAweGNmMjAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NjAsMHgwNCwweDc4LDB4MDEsMHgxZSwweDAwIH19LAotIHsxNiwgMHhjZjMwLCAwLCB7MHg0NywweDgwLDB4MTEsMHhlOCwweDAwLDB4NzgsMHgwMSwweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhlMCwweDA0LDB4NzgsMHgwMSB9fSwKLSB7MTYsIDB4Y2Y0MCwgMCwgezB4MWUsMHgwMCwweDQzLDB4ODAsMHgxMSwweGUwLDB4MDQsMHg3OCwweDAxLDB4MWUsMHgwMCwweDAzLDB4ODAsMHgxNSwweGUwLDB4MDQgfX0sCi0gezE2LCAweGNmNTAsIDAsIHsweDc4LDB4MDEsMHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4YzAsMHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZjYwLCAwLCB7MHg0MCwweDAxLDB4MTIsMHgwMCwweDY0LDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDY0LDB4ODAsMHgxOCB9fSwKLSB7MTYsIDB4Y2Y3MCwgMCwgezB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MzAsMHgwMiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAgfX0sCi0gezE2LCAweGNmODAsIDAsIHsweDgwLDB4MTksMHgzMCwweDQyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTksMHgyMCwweDA2LDB4NDgsMHgwMSwweDgwIH19LAotIHsxNiwgMHhjZjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCB9fSwKLSB7MTYsIDB4Y2ZhMCwgMCwgezB4NDIsMHgwOCwweDEwLDB4ODIsMHgwMCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEgfX0sCi0gezE2LCAweGNmYjAsIDAsIHsweDA4LDB4MjAsMHg0NiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0IH19LAotIHsxNiwgMHhjZmMwLCAwLCB7MHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2ZkMCwgMCwgezB4NDAsMHg0NSwweDQyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDQ0LDB4MDgsMHgxMSwweDAyLDB4MDAsMHg0MCwweDgxLDB4MTAgfX0sCi0gezE2LCAweGNmZTAsIDAsIHsweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwNCwweDQwLDB4ODAsMHgxMCwweDIwLDB4NDUsMHgwOCwweDAxLDB4MDIsMHgwNCwweDQwIH19LAotIHsxNiwgMHhjZmYwLCAwLCB7MHg4MSwweDEwLDB4MjEsMHgwMCwweDBjLDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg0NCwweDA4LDB4MDEsMHgwMCB9fSwKLSB7MTYsIDB4ZDAwMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwMywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAgfX0sCi0gezE2LCAweGQwMTAsIDAsIHsweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwIH19LAotIHsxNiwgMHhkMDIwLCAwLCB7MHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCB9fSwKLSB7MTYsIDB4ZDAzMCwgMCwgezB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwNDAsIDAsIHsweDQwLDB4MDAsMHgwOCwweDAwLDB4NDIsMHgwNCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOSwweDAwLDB4NDIsMHgwMSwweDEwIH19LAotIHsxNiwgMHhkMDUwLCAwLCB7MHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiB9fSwKLSB7MTYsIDB4ZDA2MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDExLDB4MDAgfX0sCi0gezE2LCAweGQwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwIH19LAotIHsxNiwgMHhkMDgwLCAwLCB7MHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMiwweDAwLDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4ZDA5MCwgMCwgezB4ODAsMHhhMCwweDAwLDB4MGEsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgzNCwweDYyLDB4MjgsMHgwOCwweDAyLDB4MDIgfX0sCi0gezE2LCAweGQwYTAsIDAsIHsweDAwLDB4ODAsMHg4MCwweDMwLDB4MjAsMHgwYywweDA4LDB4MDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMGIwLCAwLCB7MHg0MCwweDAxLDB4NDAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDMsMHgxOCB9fSwKLSB7MTYsIDB4ZDBjMCwgMCwgezB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA2LDB4NjAsMHgwMSwweDk4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAgfX0sCi0gezE2LCAweGQwZDAsIDAsIHsweDAxLDB4MTgsMHgwMCwweDY2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwIH19LAotIHsxNiwgMHhkMGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDAwLDB4MDIsMHg2MCwweDAwLDB4OTgsMHgwMCB9fSwKLSB7MTYsIDB4ZDBmMCwgMCwgezB4MjYsMHgwMCwweDA5LDB4ODAsMHgwMiwweDY0LDB4MDAsMHg5OCwweDAwLDB4MjYsMHgwMCwweDE5LDB4OTAsMHgwMiwweDYwLDB4MDAgfX0sCi0gezE2LCAweGQxMDAsIDAsIHsweDFkLDB4MDAsMHgyNiwweDAwLDB4MDEsMHhjMCwweDAyLDB4NjAsMHgwMCwweDk5LDB4MDAsMHgwNiwweDQwLDB4MTksMHg4MCwweDAyIH19LAotIHsxNiwgMHhkMTEwLCAwLCB7MHg2MCwweDAwLDB4OTgsMHgwMCwweDY2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDEyMCwgMCwgezB4NDAsMHg0NSwweDYwLDB4MDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQzLDB4ODAsMHgxMCwweGUwLDB4MDQsMHgzOCwweDAxLDB4MGUgfX0sCi0gezE2LCAweGQxMzAsIDAsIHsweDAwLDB4NDMsMHg4MCwweDEwLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgxYSwweDAwLDB4NDMsMHg4MCwweDExLDB4YTAsMHgwNCwweDM4IH19LAotIHsxNiwgMHhkMTQwLCAwLCB7MHgwMSwweDBlLDB4MDAsMHgwMiwweDgwLDB4NDAsMHhlMCwweDA0LDB4MzgsMHgwMSwweDBlLDB4MDAsMHg0MywweDgwLDB4MTgsMHg4MCB9fSwKLSB7MTYsIDB4ZDE1MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MDQsMHgwMSwweDAwLDB4MzAsMHg0MCwweDBjLDB4MTAgfX0sCi0gezE2LCAweGQxNjAsIDAsIHsweDAzLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDQsMHgwMCwweGMxLDB4MDAsMHgzMCwweDQwIH19LAotIHsxNiwgMHhkMTcwLCAwLCB7MHgwOCwweDEwLDB4MDMsMHgwNCwweDAwLDB4ODEsMHgwMCwweDMwLDB4NDAsMHgwYywweDc4LDB4MDIsMHgxNCwweDAwLDB4YzEsMHgwMCB9fSwKLSB7MTYsIDB4ZDE4MCwgMCwgezB4MzAsMHg0MCwweDBjLDB4MTAsMHgwMywweDA0LDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxOTAsIDAsIHsweDQwLDB4MDAsMHgwNSwweDAwLDB4MzEsMHg0MCwweDBjLDB4NTAsMHgwMywweDE0LDB4MDAsMHhjNSwweDAwLDB4MzUsMHg0MCwweDBjIH19LAotIHsxNiwgMHhkMWEwLCAwLCB7MHg1MCwweDAzLDB4MTQsMHgxMCwweGQ1LDB4MDAsMHgzMSwweDQxLDB4MGQsMHg1MCwweDAzLDB4MTQsMHgxMCwweGM1LDB4MDAsMHgzMSB9fSwKLSB7MTYsIDB4ZDFiMCwgMCwgezB4NDAsMHgwZCwweDQ4LDB4NDMsMHg1NCwweDEwLDB4YzUsMHgwMCwweDMxLDB4NDAsMHgwYywweDQwLDB4NDMsMHgxMCwweDAwLDB4YzIgfX0sCi0gezE2LCAweGQxYzAsIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NDMsMHgwNCwweDYwLDB4YzEsMHgxOCwweDMwIH19LAotIHsxNiwgMHhkMWQwLCAwLCB7MHg0NiwweDBjLDB4MTEsMHg4MywweDA0LDB4NjEsMHhjMSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MDEsMHg4NywweDA0LDB4NjAsMHhjMSB9fSwKLSB7MTYsIDB4ZDFlMCwgMCwgezB4MTgsMHgzMCwweDQ2LDB4MDgsMHgxMSwweDgzLDB4MDQsMHg2MCwweGMxLDB4MTgsMHgyMCwweDA2LDB4MGMsMHgwMSwweDgzLDB4MDQgfX0sCi0gezE2LCAweGQxZjAsIDAsIHsweDYwLDB4YzEsMHgxOCwweDMwLDB4NDYsMHgwYywweDExLDB4ODAsMHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMjAwLCAwLCB7MHg0MCwweDAxLDB4NDAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCB9fSwKLSB7MTYsIDB4ZDIxMCwgMCwgezB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MSwweDAwLDB4MjAsMHgwMCwweDA4LDB4ODAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwLDB4MjAgfX0sCi0gezE2LCAweGQyMjAsIDAsIHsweDAwLDB4MDgsMHg0MCwweDQzLDB4MzAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwIH19LAotIHsxNiwgMHhkMjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQ4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4NCB9fSwKLSB7MTYsIDB4ZDI0MCwgMCwgezB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYzLDB4MDEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDAxLDB4ODgsMHgwNCwweDYyLDB4MTEgfX0sCi0gezE2LCAweGQyNTAsIDAsIHsweDE4LDB4MDQsMHg0NiwweDIxLDB4MTAsMHhjOCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4MDUsMHg0MywweDAxLDB4ODEsMHg4OCwweDQ0IH19LAotIHsxNiwgMHhkMjYwLCAwLCB7MHg2MiwweDExLDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDI3MCwgMCwgezB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwNCwweDQ1LDB4MDEsMHgxMSwweDQwLDB4NDQsMHg1MCwweDAxLDB4MTQgfX0sCi0gezE2LCAweGQyODAsIDAsIHsweDA0LDB4NDUsMHgwMSwweDAxLDB4NDAsMHg0NSwweDAwLDB4MTAsMHgxNCwweDA0LDB4NDUsMHgwMywweDAwLDB4NDAsMHg0NCwweDUwIH19LAotIHsxNiwgMHhkMjkwLCAwLCB7MHgxMSwweDE0LDB4MDQsMHgwMSwweDA1LDB4NDEsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDE0LDB4MDQsMHgwNSwweDAxLDB4MDEsMHg0MCB9fSwKLSB7MTYsIDB4ZDJhMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIgfX0sCi0gezE2LCAweGQyYjAsIDAsIHsweDA0LDB4MjAsMHg4MSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MDAsMHg0MiwweDA4IH19LAotIHsxNiwgMHhkMmMwLCAwLCB7MHgxMCwweDgyLDB4MDUsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDhhLDB4MDUsMHgyMCwweDA1LDB4MDgsMHgyMCB9fSwKLSB7MTYsIDB4ZDJkMCwgMCwgezB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIyLDB4ODEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyZTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwMiwweDAxLDB4MDIsMHg4MCwweDQwIH19LAotIHsxNiwgMHhkMmYwLCAwLCB7MHhhMCwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDAwLDB4MjksMHgwNCwweDBhLDB4MDEsMHgwMiB9fSwKLSB7MTYsIDB4ZDMwMCwgMCwgezB4ODAsMHg0MCwweGE0LDB4MDAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGE4LDB4MTAsMHgyYiwweDE0LDB4MDAgfX0sCi0gezE2LCAweGQzMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ1LDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQwIH19LAotIHsxNiwgMHhkMzIwLCAwLCB7MHgzNSwweDM0LDB4MGQsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDAsMHgzNSwweDM0LDB4MGQsMHg0ZCwweDAzLDB4NTMsMHg0MCB9fSwKLSB7MTYsIDB4ZDMzMCwgMCwgezB4ZDQsMHhkMCwweDIxLDB4MzQsMHg0ZCwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkOSwweDYxLDB4MzQsMHgwNCwweDBkLDB4MDMgfX0sCi0gezE2LCAweGQzNDAsIDAsIHsweDUzLDB4NDAsMHhjMCwweGQ4LDB4MzUsMHgzNywweDBkLDB4NDAsMHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMzUwLCAwLCB7MHg0MCwweDAxLDB4NDgsMHgwNCwweDcyLDB4MDAsMHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYyB9fSwKLSB7MTYsIDB4ZDM2MCwgMCwgezB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMCwweDljLDB4ODAsMHg0NywweDIwLDB4MTksMHhjOCwweDAwLDB4NzIgfX0sCi0gezE2LCAweGQzNzAsIDAsIHsweDAxLDB4MWMsMHg4OCwweDY3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4NWMsMHg4MiwweDQ3LDB4MjIsMHgxMSwweGMwIH19LAotIHsxNiwgMHhkMzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MDgsMHg0OCwweGMyLDB4MTIsMHgzMSB9fSwKLSB7MTYsIDB4ZDM5MCwgMCwgezB4ODQsMHg4YywweDYxLDB4MjMsMHgxMCwweDQwLDB4YzAsMHgxMiwweDMxLDB4ODQsMHg4YywweDYxLDB4MDMsMHgxMCwweDQ4LDB4YzQgfX0sCi0gezE2LCAweGQzYTAsIDAsIHsweDEwLDB4MzEsMHg4NCwweDhjLDB4NDEsMHgyMywweDE4LDB4NDgsMHhjNiwweDEwLDB4MzAsMHgwNCwweDBjLDB4NDEsMHgyMywweDE4IH19LAotIHsxNiwgMHhkM2IwLCAwLCB7MHg0OCwweGM2LDB4MTIsMHgzMCwweDg0LDB4OGMsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDNjMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMgfX0sCi0gezE2LCAweGQzZDAsIDAsIHsweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmIH19LAotIHsxNiwgMHhkM2UwLCAwLCB7MHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZGQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgwMCB9fSwKLSB7MTYsIDB4ZDNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0MzAsIDAsIHsweDAwLDB4MDAsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyIH19LAotIHsxNiwgMHhkNDQwLCAwLCB7MHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiB9fSwKLSB7MTYsIDB4ZDQ1MCwgMCwgezB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDRjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MDAgfX0sCi0gezE2LCAweGQ0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHg1YywweDRjLDB4ZDcsMHgxMywweDMzIH19LAotIHsxNiwgMHhkNDcwLCAwLCB7MHhjNCwweGNjLDB4ZjEsMHgzMywweDNhLDB4NGEsMHhkNiwweDkzLDB4MzMsMHhjNCwweGNjLDB4ZjEsMHgyYiwweDNhLDB4NGMsMHhjZiB9fSwKLSB7MTYsIDB4ZDQ4MCwgMCwgezB4MTMsMHgzMywweGM0LDB4Y2MsMHhlOSwweDMzLDB4M2MsMHg0YywweGNmLDB4MTIsMHhiNSwweGE0LDB4YWMsMHhjOSwweDMzLDB4M2MgfX0sCi0gezE2LCAweGQ0OTAsIDAsIHsweDRjLDB4Y2YsMHgxMywweDM1LDB4YzQsMHhjZCwweDY5LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNGEwLCAwLCB7MHgwMCwweDAwLDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGI3LDB4ZTQsMHhlZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MyB9fSwKLSB7MTYsIDB4ZDRiMCwgMCwgezB4YjcsMHhlNCwweGVkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhkZSwweDEyLDB4MzcsMHhlNCwweGVkLDB4ZTEsMHgzYiwweDdlLDB4NGUgfX0sCi0gezE2LCAweGQ0YzAsIDAsIHsweGRmLDB4OTIsMHgzMSwweDg0LDB4OGQsMHhkOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiMSwweGU0LDB4ZWMsMHg2MSwweDAwIH19LAotIHsxNiwgMHhkNGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODQsMHgwNCwweGExLDB4ODMsMHgyYyB9fSwKLSB7MTYsIDB4ZDRlMCwgMCwgezB4MDMsMHgwYSwweDEwLDB4ODIsMHhjMSwweDM0LDB4MTAsMHg4ZiwweDAwLDB4NDAsMHgwOSwweDE0LDB4MDIsMHgwMywweDE0LDB4OTEgfX0sCi0gezE2LCAweGQ0ZjAsIDAsIHsweDAwLDB4MDgsMHg0MiwweDBiLDB4MTgsMHg4MiwweGM0LDB4MDAsMHgzMSwweGNhLDB4MGMsMHg1MiwweDAyLDB4MTAsMHg4MCwweDg1IH19LAotIHsxNiwgMHhkNTAwLCAwLCB7MHgwMCwweDIxLDB4ODIsMHgyOCwweDQwLDB4MGEsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDUxMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDQsMHgwMiwweDAxLDB4NDAsMHg4MCwweDczLDB4MjgsMHgxMCwweDQ4LDB4MDcsMHgwNiwweDAxLDB4MDQgfX0sCi0gezE2LCAweGQ1MjAsIDAsIHsweGE0LDB4NDEsMHgyMSwweDE0LDB4MDgsMHg0NCwweDA2LDB4MTEsMHg0MCwweDgwLDB4NzAsMHgyMCwweDE0LDB4MGEsMHgwNCwweDAyIH19LAotIHsxNiwgMHhkNTMwLCAwLCB7MHgwMCwweGM4LDB4ODQsMHg0MSwweDIxLDB4MWMsMHgwOCwweDA2LDB4MTIsMHgwMSwweGMwLDB4ODAsMHg2MCwweDIwLDB4MTQsMHgwMCB9fSwKLSB7MTYsIDB4ZDU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDg0LDB4MDQsMHgyMSwweDgyLDB4MDggfX0sCi0gezE2LCAweGQ1NTAsIDAsIHsweDUzLDB4MDIsMHgxMCwweDgwLDB4YzUsMHgwMCwweDgxLDB4NGEsMHgwNCwweDQyLDB4MDIsMHgxNCwweDAwLDB4MDQsMHgyMCwweDIxIH19LAotIHsxNiwgMHhkNTYwLCAwLCB7MHg4MCwweGE4LDB4NzIsMHgyMiwweDFjLDB4ODgsMHhjNCwweDA2LDB4YTEsMHg0MiwweDhjLDB4NTIsMHgyMiwweDFjLDB4ODgsMHg4NSB9fSwKLSB7MTYsIDB4ZDU3MCwgMCwgezB4MjYsMHgyMSwweGMwLDB4ODgsMHg1MCwweDIyLDB4MTgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1ODAsIDAsIHsweDAwLDB4MDAsMHgwMiwweDQ0LDB4MDAsMHgwMSwweDAxLDB4MDAsMHg2MiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDAxIH19LAotIHsxNiwgMHhkNTkwLCAwLCB7MHgyMCwweDQwLDB4MDAsMHgxYywweDAwLDB4NDQsMHgwNCwweDAxLDB4MDIsMHgyMCwweDYyLDB4MDAsMHgxYywweDgwLDB4MDQsMHgwNCB9fSwKLSB7MTYsIDB4ZDVhMCwgMCwgezB4ODAsMHg4OSwweDIwLDB4NTAsMHgwOCwweDE0LDB4ODAsMHgwNCwweDI0LDB4MDEsMHhjMSwweDAwLDB4NTAsMHgwMCwweDE4LDB4MDAgfX0sCi0gezE2LCAweGQ1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHg4MCwweDM4LDB4MjAsMHgwNCwweDBjIH19LAotIHsxNiwgMHhkNWMwLCAwLCB7MHgzMSwweDBhLDB4MDAsMHgwMCwweDAyLDB4MTgsMHgyMCwweDhjLDB4YTgsMHgxMCwweDI4LDB4MDgsMHg4OCwweGMxLDB4MTQsMHgxMCB9fSwKLSB7MTYsIDB4ZDVkMCwgMCwgezB4YzYsMHgwMCwweDIyLDB4MDMsMHgwOCwweDAyLDB4MDEsMHgwOCwweGIwLDB4MDAsMHgwYywweDIxLDB4MDIsMHgwMCwweDgyLDB4ODAgfX0sCi0gezE2LCAweGQ1ZTAsIDAsIHsweDA4LDB4MDAsMHg0OSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4ODAsMHgwOCwweDIwLDB4MDMsMHgwMCwweDA0LDB4MDIsMHg0MywweDIwLDB4MDAsMHg0MCB9fSwKLSB7MTYsIDB4ZDYwMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDQsMHg0MiwweDAxLDB4MTAsMHg4MCwweDg0LDB4MjAsMHgxMSwweDA4LDB4MDQsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2MTAsIDAsIHsweDAwLDB4NDQsMHgyNCwweDIwLDB4MDksMHgwOCwweDQwLDB4MDMsMHgwMCwweDkwLDB4YzQsMHgyMCwweDIwLDB4MDgsMHgwYywweDAyIH19LAotIHsxNiwgMHhkNjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4ODEsMHgwOCwweDIwLDB4MDQsMHg4OCB9fSwKLSB7MTYsIDB4ZDYzMCwgMCwgezB4MDIsMHgyMiwweDA4LDB4MDgsMHhjMywweDJhLDB4OTAsMHg0MCwweDg0LDB4MTAsMHgyMCwweDA0LDB4ODAsMHhjMiwweDI2LDB4MjAgfX0sCi0gezE2LCAweGQ2NDAsIDAsIHsweDQ5LDB4ODgsMHgyMiwweDIyLDB4MGMsMHgwOCwweGMxLDB4MjYsMHhhMCwweGM5LDB4OGMsMHgxMiwweDJhLDB4MDQsMHg4OCwweDQzIH19LAotIHsxNiwgMHhkNjUwLCAwLCB7MHgwZSwweGEwLDB4Y2IsMHg4OCwweDEwLDB4MjIsMHgwYywweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDY2MCwgMCwgezB4MDgsMHgwMCwweDBhLDB4NDAsMHgzMiwweDAwLDB4MDEsMHg4MCwweDMxLDB4MjgsMHgwMCwweDAwLDB4MDEsMHgxMiwweDgwLDB4OGQgfX0sCi0gezE2LCAweGQ2NzAsIDAsIHsweDg0LDB4MDAsMHgyOCwweDBjLDB4MDgsMHgwMSwweDMyLDB4MDAsMHg4YywweDgwLDB4MDIsMHgyMCwweDBjLDB4MDgsMHgwMSwweDJlIH19LAotIHsxNiwgMHhkNjgwLCAwLCB7MHgwMCwweGMzLDB4ODAsMHgwMiwweDIwLDB4MDQsMHgwOCwweDQzLDB4MDIsMHgwMCwweDQwLDB4ODAsMHgxMCwweDIwLDB4MDQsMHgwMiB9fSwKLSB7MTYsIDB4ZDY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDg3LDB4MGEsMHgyMSwweDA0LDB4ODggfX0sCi0gezE2LCAweGQ2YTAsIDAsIHsweDExLDB4MmEsMHgxYywweDBhLDB4MDYsMHgyMiwweDIxLDB4NDAsMHhhMCwweDQyLDB4MmEsMHgxMCwweDg4LDB4ODUsMHgwYSwweGExIH19LAotIHsxNiwgMHhkNmIwLCAwLCB7MHgwNiwweGE0LDB4NjIsMHgyMiwweDFjLDB4MGEsMHhjNCwweDAyLDB4MjEsMHg4MCwweDhjLDB4NTIsMHgyMiwweDE0LDB4NDgsMHg4NiB9fSwKLSB7MTYsIDB4ZDZjMCwgMCwgezB4MjIsMHgyMCwweDA4LDB4YTgsMHg2MCwweDJhLDB4MTQsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2ZDAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDQ1LDB4MDYsMHgwMSwweDg5LDB4ODAsMHg2MywweDIwLDB4MWMsMHg4OCwweDQwLDB4MzQsMHgxMSwweDAxIH19LAotIHsxNiwgMHhkNmUwLCAwLCB7MHhhNCwweDUwLDB4MjgsMHgxOCwweDQ4LDB4MDQsMHgwZSwweDAxLDB4NGIsMHg4MCwweDczLDB4MjgsMHgxYywweDhhLDB4MDQsMHgwNiB9fSwKLSB7MTYsIDB4ZDZmMCwgMCwgezB4OTEsMHg0OSwweDA0LDB4NjMsMHgyMCwweDFjLDB4OGEsMHgwNiwweDI2LDB4MDEsMHg4NSwweDgwLDB4NzAsMHgyMCwweDE4LDB4MDIgfX0sCi0gezE2LCAweGQ3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHg4NSwweDAwLDB4YjEsMHg0NSwweDJjIH19LAotIHsxNiwgMHhkNzEwLCAwLCB7MHg3MCwweDAyLDB4MTQsMHhjMCwweDA3LDB4MDgsMHgyMSwweDQ5LDB4MDAsMHg0MiwweDAxLDB4MTQsMHg4MiwweDA1LDB4MDAsMHgxMSB9fSwKLSB7MTYsIDB4ZDcyMCwgMCwgezB4ODQsMHgwMCwweDUyLDB4MDIsMHgxYywweDAwLDB4YzQsMHgwMCwweDIxLDB4YzQsMHgyYywweDUzLDB4MDIsMHgxYywweDAyLDB4ODEgfX0sCi0gezE2LCAweGQ3MzAsIDAsIHsweDA0LDB4YTEsMHhjZCwweDA4LDB4NTAsMHgwMiwweDE0LDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNzQwLCAwLCB7MHgwOCwweDEwLDB4MTIsMHgwNCwweDM0LDB4MDEsMHhjYywweDAwLDB4NzMsMHg0MCwweDFjLDB4OTAsMHg0NSwweDA0LDB4MDEsMHg0OCB9fSwKLSB7MTYsIDB4ZDc1MCwgMCwgezB4MDQsMHg2MCwweDQxLDB4MTgsMHhjMCwweDQ0LDB4MDQsMHgwMSwweDA1LDB4MDQsMHg3MywweDQ4LDB4MTQsMHg1MCwweDQ3LDB4MzQgfX0sCi0gezE2LCAweGQ3NjAsIDAsIHsweDAxLDB4NDUsMHgyMCwweDYyLDB4MDgsMHgxYywweGMyLDB4MDQsMHgwYywweDgxLDB4YzcsMHgwMCwweDczLDB4ODAsMHgxOCwweGMyIH19LAotIHsxNiwgMHhkNzcwLCAwLCB7MHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDEwLDB4ODQsMHgxMCwweDIxLDB4Y2MsMHgyOCB9fSwKLSB7MTYsIDB4ZDc4MCwgMCwgezB4NDIsMHgwMiwweDE0LDB4MTIsMHhjNSwweDEwLDB4MjEsMHg4NCwweDA0LDB4NDAsMHgwMCwweDFjLDB4ODAsMHg4NCwweDAwLDB4OTEgfX0sCi0gezE2LCAweGQ3OTAsIDAsIHsweDAwLDB4MDgsMHg3MywweDgyLDB4MWMsMHg5MCwweDA1LDB4MGMsMHgwMSwweGNmLDB4MGMsMHg0MCwweDAyLDB4MTQsMHgzMCwweDQ1IH19LAotIHsxNiwgMHhkN2EwLCAwLCB7MHgyMCwweGExLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgxMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4NDUsMHgwYywweDgxLDB4MDAsMHgwMCwweDAxLDB4MDgsMHgwOCwweDAwLDB4MDUsMHgxOCwweDkxLDB4MDUgfX0sCi0gezE2LCAweGQ3YzAsIDAsIHsweDA0LDB4MDAsMHgwMSwweDA0LDB4NDAsMHgwNiwweDE4LDB4MDAsMHgwMiwweDI0LDB4NzAsMHg0MCwweDA0LDB4MDAsMHg0MCwweDAwIH19LAotIHsxNiwgMHhkN2QwLCAwLCB7MHgwMSwweGM0LDB4MjQsMHgwMCwweDg4LDB4MDQsMHgwMCwweDQzLDB4MTAsMHgwMCwweDQwLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDg1LDB4MjQsMHgzMSwweDAyLDB4MGMgfX0sCi0gezE2LCAweGQ3ZjAsIDAsIHsweDAyLDB4YzIsMHgwNCwweDEwLDB4YzQsMHgyOCwweDIxLDB4NDksMHgwYywweDAyLDB4YzAsMHgwNCwweGIyLDB4MDYsMHgxYywweDIwIH19LAotIHsxNiwgMHhkODAwLCAwLCB7MHgwMywweDA4LDB4NTAsMHg0MiwweDBjLDB4ODAsMHgwMSwweDA0LDB4YTEsMHg0OSwweDBjLDB4MDAsMHhjMiwweDBjLDB4MTAsMHg0MyB9fSwKLSB7MTYsIDB4ZDgxMCwgMCwgezB4MjQsMHhhMCwweGMxLDB4MDgsMHgxMCwweDQyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4MjAsIDAsIHsweDAwLDB4MTAsMHhhMiwweDAwLDB4MjAsMHgwMCwweGNkLDB4MDAsMHgwMCwweDQwLDB4MDQsMHgyMCwweDAxLDB4MTAsMHgwMCwweDA5IH19LAotIHsxNiwgMHhkODMwLCAwLCB7MHgwNCwweDAyLDB4NDksMHgwYywweDkyLDB4MDcsMHgzMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4MDgsMHgwYywweDkyLDB4NDEsMHgwMCB9fSwKLSB7MTYsIDB4ZDg0MCwgMCwgezB4ODAsMHhjYywweDAwLDB4MDAsMHgwMCwweDBjLDB4MDAsMHg0MywweDI4LDB4ODAsMHhjMiwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4NTAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgxMCwweDUwLDB4ODAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODYwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHhmMCwweDAwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhkMCwweDgwLDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDkwLDB4ODAgfX0sCi0gezE2LCAweGQ4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODkwLCAwLCB7MHgzYywweDNjLDB4MTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHhhMCwweDgwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDhhMCwgMCwgezB4MDAsMHgwMCwweDQwLDB4MTAsMHg5MCwweDgwLDB4YTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTAsMHg5MCwweDgwLDB4YTAgfX0sCi0gezE2LCAweGQ4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDIwLDB4ODAsMHgxMCwweDkwLDB4YTAsMHhhMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDhmIH19LAotIHsxNiwgMHhkOGMwLCAwLCB7MHgwZiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJjLDB4YzIsMHhlNCwweDgxLDB4ODAsMHgzZiB9fSwKLSB7MTYsIDB4ZDhkMCwgMCwgezB4ZDksMHhiZiwweGQ5LDB4OTgsMHg3MSwweDlkLDB4NDIsMHg4MCwweDAwLDB4MjYsMHg3ZiwweGU2LDB4NzIsMHhhYiwweDdjLDB4M2EgfX0sCi0gezE2LCAweGQ4ZTAsIDAsIHsweDQwLDB4MDAsMHgxOSwweDgwLDB4MjYsMHg0OCwweGRkLDB4M2MsMHg5MSwweGMwLDB4MjYsMHg0MCwweDI2LDB4NDAsMHgzOCwweDMxIH19LAotIHsxNiwgMHhkOGYwLCAwLCB7MHhkYiwweDYxLDB4YzAsMHgxOSwweDk5LDB4YmYsMHhjOSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDkwMCwgMCwgezB4MDAsMHgwMCwweDEwLDB4ODAsMHgxMCwweDE0LDB4ODAsMHgwNiwweDg0LDB4OTcsMHg5NiwweDg2LDB4OTYsMHgwNiwweDkwLDB4MDAgfX0sCi0gezE2LCAweGQ5MTAsIDAsIHsweDNmLDB4YTEsMHgyOCwweDAxLDB4MDIsMHg5MCwweDEyLDB4MDAsMHg4MCwweDE3LDB4ODgsMHgxNiwweDllLDB4OTAsMHg5MCwweDA0IH19LAotIHsxNiwgMHhkOTIwLCAwLCB7MHgxMCwweDAwLDB4MzYsMHhiZSwweGJlLDB4OWUsMHg4NiwweDE2LDB4MTIsMHg4NCwweDgwLDB4MTMsMHhiZSwweDk3LDB4YWUsMHg4MCB9fSwKLSB7MTYsIDB4ZDkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODIgfX0sCi0gezE2LCAweGQ5NDAsIDAsIHsweDgxLDB4ODQsMHgyMSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhhMSwweDM4LDB4MDEsMHg3OCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOTUwLCAwLCB7MHgwOCwweGI4LDB4MjEsMHg3MiwweDY4LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDk4LDB4NDQsMHg4OCwweDY4LDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ZDk2MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4YjgsMHgwMSwweDc4LDB4MDEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5NzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGY3LDB4YWYsMHhmZiwweGMwIH19LAotIHsxNiwgMHhkOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiB9fSwKLSB7MTYsIDB4ZDk5MCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGJmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH19LAotIHsxNiwgMHhkOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9fSwKLSB7MTYsIDB4ZDljMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfX0sCi0gezE2LCAweGQ5ZDAsIDAsIHsweDJmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOWUwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHhjMCB9fSwKLSB7MTYsIDB4ZDlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfX0sCi0gezE2LCAweGRhMDAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4ZGEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGJmLDB4YmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhkZiwweGJmLDB4ZGYgfX0sCi0gezE2LCAweGRhMzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGVmLDB4ZmYsMHhmZiwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGRmIH19LAotIHsxNiwgMHhkYTQwLCAwLCB7MHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGE1MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4M2UsMHhhZiwweGZmLDB4YzAgfX0sCi0gezE2LCAweGRhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhlNywweGZlIH19LAotIHsxNiwgMHhkYTcwLCAwLCB7MHhlZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhkZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGRhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZjcsMHhmZiwweGZmIH19LAotIHsxNiwgMHhkYWEwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmZiwweGZmLDB4ZGYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmNyB9fSwKLSB7MTYsIDB4ZGFiMCwgMCwgezB4ZGYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhYzAsIDAsIHsweDAwLDB4MDAsMHgwMiwweGM0LDB4MDAsMHhiMSwweGMzLDB4MmMsMHg1MCwweDA5LDB4MTQsMHg4MiwweGM0LDB4MzAsMHg5MSwweGM3IH19LAotIHsxNiwgMHhkYWQwLCAwLCB7MHgyNCwweDYwLDB4MDgsMHgxYywweDgyLDB4MDcsMHgzNCwweDkxLDB4NGMsMHgwNCwweDQzLDB4MGEsMHgxMCwweGMyLDB4ODQsMHgwNCB9fSwKLSB7MTYsIDB4ZGFlMCwgMCwgezB4OTEsMHg4NCwweDI0LDB4NTIsMHgwYiwweDE4LDB4MDIsMHhjNCwweDI0LDB4YjEsMHhjMywweDJjLDB4NDAsMHgwYSwweDEwLDB4ODAgfX0sCi0gezE2LCAweGRhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDAyLDB4MDEsMHhjNCwweDgwIH19LAotIHsxNiwgMHhkYjAwLCAwLCB7MHg2MCwweDIwLDB4MWMsMHgwOCwweDQ0LDB4MjIsMHgwMSwweGMwLDB4ODQsMHg1MCwweDAxLDB4OWMsMHgwOCwweDA3LDB4MGEsMHgwMSB9fSwKLSB7MTYsIDB4ZGIxMCwgMCwgezB4YzAsMHg4NCwweDcyLDB4MjAsMHgxYywweGM4LDB4MDQsMHgxMiwweDExLDB4NDQsMHg4MCwweDQxLDB4MDEsMHgxYywweDgwLDB4MDcgfX0sCi0gezE2LCAweGRiMjAsIDAsIHsweDA4LDB4MTEsMHhjNCwweDAwLDB4NzAsMHgwMCwweDEwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg4NiwweDJjLDB4MjEsMHg0YSwweDBjLDB4NTIsMHgwMiwweDFjLDB4ODAsMHgwNCwweDIwLDB4MjEsMHhjYSB9fSwKLSB7MTYsIDB4ZGI0MCwgMCwgezB4MTAsMHg2MiwweDAyLDB4MWMsMHg4MSwweDQ3LDB4MDQsMHgyMSwweGMzLDB4MjAsMHg1MSwweDAxLDB4MWMsMHg4MCwweDA0LDB4MmMgfX0sCi0gezE2LCAweGRiNTAsIDAsIHsweDAxLDB4Y2IsMHgwNCwweDUyLDB4MDMsMHgxNCwweDQwLDB4YzcsMHgyMCwweDMxLDB4YzgsMHgwYywweDUwLDB4MjIsMHgxMCwweDgwIH19LAotIHsxNiwgMHhkYjYwLCAwLCB7MHgwMSwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgyMCwweDAxLDB4ODksMHgwMCB9fSwKLSB7MTYsIDB4ZGI3MCwgMCwgezB4NTIsMHgwMCwweDE0LDB4ODAsMHgwNCwweDI4LDB4MDEsMHg0NSwweDA0LDB4NjIsMHgwMCwweDEwLDB4ODAsMHg0NiwweDMwLDB4MTEgfX0sCi0gezE2LCAweGRiODAsIDAsIHsweDBkLDB4MDAsMHg0MiwweDAxLDB4MTQsMHhjMCwweDQ0LDB4MDAsMHgxMSwweDA1LDB4MDAsMHg1MCwweDAwLDB4MWMsMHgwMCwweDQ0IH19LAotIHsxNiwgMHhkYjkwLCAwLCB7MHgyOCwweDAxLDB4NDksMHgwMCwweDcwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGJhMCwgMCwgezB4MDAsMHgwMCwweDA4LDB4YzAsMHgwMiwweDMwLDB4MGMsMHg4YywweDMwLDB4MjIsMHgwOCwweDg4LDB4YzIsMHgyNiwweDAwLDB4MDggfX0sCi0gezE2LCAweGRiYjAsIDAsIHsweDgwLDB4MjAsMHgyMiwweDBjLDB4ODgsMHg4MSwweDAyLDB4MTAsMHhjNCwweDgwLDB4MTAsMHgyMiwweDBjLDB4MDgsMHg0MCwweDAyIH19LAotIHsxNiwgMHhkYmMwLCAwLCB7MHgxMCwweDQ4LDB4ODgsMHgwMSwweDIzLDB4MDQsMHhjOCwweDQyLDB4MDIsMHgxMCwweDQ2LDB4OGMsMHgxMiwweDIyLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGJkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweGM4LDB4MjAgfX0sCi0gezE2LCAweGRiZTAsIDAsIHsweDExLDB4MDksMHgwMCwweDgwLDB4NDEsMHgxMCwweDkwLDB4MDgsMHgyNCwweDMwLDB4MDgsMHgwNCwweDQyLDB4NDEsMHgwMCwweDkwIH19LAotIHsxNiwgMHhkYmYwLCAwLCB7MHhjNCwweDIwLDB4MDAsMHgwOCwweDA0LDB4NDIsMHgwMCwweDEwLDB4ODAsMHg0YywweDIwLDB4MjMsMHgwOSwweDA0LDB4YzIsMHg0MyB9fSwKLSB7MTYsIDB4ZGMwMCwgMCwgezB4MzAsMHg4MCwweDQwLDB4MjAsMHgxMSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjMTAsIDAsIHsweDA4LDB4MDAsMHgwOCwweDgxLDB4MDIsMHgyMCwweGM5LDB4OGMsMHgxMiwweDIwLDB4MDQsMHg0OCwweDQxLDB4MjIsMHgwMCwweDA5IH19LAotIHsxNiwgMHhkYzIwLCAwLCB7MHg4OCwweDMwLDB4MjAsMHgwYywweDg4LDB4MDMsMHgwZSwweDAwLDB4NDksMHg4YywweDEwLDB4MjIsMHgwYywweDg4LDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4ZGMzMCwgMCwgezB4MDAsMHhjOSwweDg0LDB4MTMsMHgyMSwweDA0LDB4YzgsMHhjMywweDIyLDB4MDAsMHhjYiwweDhjLDB4MzIsMHgyMiwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjNDAsIDAsIHsweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwMSwweDAyLDB4MDAsMHg0YiwweDgwIH19LAotIHsxNiwgMHhkYzUwLCAwLCB7MHgzMiwweDIxLDB4MDgsMHg4OCwweDQxLDB4MDIsMHgxMCwweDBmLDB4ODAsMHgxMCwweDIxLDB4OGMsMHgwOCwweDQxLDB4MDIsMHgwMCB9fSwKLSB7MTYsIDB4ZGM2MCwgMCwgezB4ODcsMHg4NCwweDEwLDB4MjAsMHgwNCwweDg4LDB4MDAsMHgwMiwweDAwLDB4NDcsMHg4MCwweDEwLDB4MjEsMHgwYywweDg4LDB4NDEgfX0sCi0gezE2LCAweGRjNzAsIDAsIHsweDE2LDB4MTAsMHg0NiwweDgwLDB4MzAsMHgyMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYzgwLCAwLCB7MHgwMCwweDAwLDB4MGEsMHhjNCwweDIyLDB4YTEsMHgwOCwweGE0LDB4NzIsMHgyYSwweDE0LDB4MGEsMHg4NSwweDAyLDB4ODEsMHg4NCB9fSwKLSB7MTYsIDB4ZGM5MCwgMCwgezB4YTAsMHg0MiwweDI4LDB4MWMsMHgwYSwweGM1LDB4MDIsMHg5MSwweDQwLDB4YjgsMHg3MywweDI5LDB4MTAsMHhjYSwweGM0LDB4MDIgfX0sCi0gezE2LCAweGRjYTAsIDAsIHsweGExLDB4ODAsMHhhNCwweDQyLDB4MmEsMHgxNCwweGNhLDB4ODUsMHgyMiwweDkxLDB4ODAsMHhhOCwweDcwLDB4MmEsMHgxOCwweDAyIH19LAotIHsxNiwgMHhkY2IwLCAwLCB7MHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDQsMHgxZSwweDAxLDB4YzgsMHg4MCB9fSwKLSB7MTYsIDB4ZGNjMCwgMCwgezB4NDMsMHgyMCwweDE4LDB4MDgsMHg0NSwweDNlLDB4MDEsMHgwYywweDgwLDB4NjEsMHgyMCwweDljLDB4NDgsMHgwNiwweDEyLDB4ODEgfX0sCi0gezE2LCAweGRjZDAsIDAsIHsweGMwLDB4ODAsMHg3MywweDAwLDB4MTAsMHg4OCwweDA2LDB4MDIsMHgwMSwweGM4LDB4MDAsMHg0MiwweDIwLDB4MTAsMHhjOCwweDA3IH19LAotIHsxNiwgMHhkY2UwLCAwLCB7MHgwMiwweDExLDB4Y2QsMHg4MCwweDUxLDB4MjAsMHgxNCwweDgyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGNmMCwgMCwgezB4MDgsMHgwMCwweDAwLDB4YzQsMHgyNCwweDIxLDB4YzgsMHgwYywweDQyLDB4MDEsMHgxNCwweDAwLDB4MDAsMHgyOCwweDEwLDB4NGMgfX0sCi0gezE2LCAweGRkMDAsIDAsIHsweDA4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHg0NSwweDI0LDB4MjksMHg0MCwweDA0LDB4NzIsMHgwMCwweDEwLDB4YzAsMHgwNSwweDI0IH19LAotIHsxNiwgMHhkZDEwLCAwLCB7MHgxMSwweDQ0LDB4MDgsMHg0MywweDAxLDB4MTQsMHhjMCwweDQ3LDB4MjQsMHgyMCwweDQ4LDB4MDgsMHg3MiwweDAyLDB4MTAsMHgwMCB9fSwKLSB7MTYsIDB4ZGQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHgwMCwweDA3LDB4MTAsMHgxMSwweDA2LDB4MDAgfX0sCi0gezE2LCAweGRkMzAsIDAsIHsweDcyLDB4MDAsMHgxOCwweGQwLDB4NDYsMHgyMCwweDAxLDB4NGQsMHgwMCwweDcxLDB4NDAsMHgxMCwweDUwLDB4MDcsMHgzMCwweDExIH19LAotIHsxNiwgMHhkZDQwLCAwLCB7MHhjMywweDAwLDB4NzEsMHg0MSwweDEwLDB4YjAsMHgwNSwweDJjLDB4MDEsMHg0OSwweDAwLDB4NDMsMHgwMCwweDFjLDB4NTAsMHg0NSB9fSwKLSB7MTYsIDB4ZGQ1MCwgMCwgezB4MzAsMHgwMSwweDhjLDB4MDAsMHg2MSwweDQwLDB4MTgsMHg0MiwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkNjAsIDAsIHsweDAwLDB4MDAsMHgzMCwweGM1LDB4MDAsMHgyMSwweGMwLDB4MGMsMHg0MCwweDAxLDB4MTQsMHgxMiwweDQ0LDB4MDQsMHgzMSwweDg0IH19LAotIHsxNiwgMHhkZDcwLCAwLCB7MHgyNCwweDQwLDB4ODAsMHgxNCwweGExLDB4YzcsMHgwMCwweDAxLDB4NDAsMHgwOCwweDQwLDB4MDEsMHgxNCwweDIwLDB4MDUsMHgyMCB9fSwKLSB7MTYsIDB4ZGQ4MCwgMCwgezB4MTEsMHhjMCwweDAyLDB4NjAsMHg4MiwweDE4LDB4MDAsMHg4NywweDI0LDB4MTEsMHg0MCwweDA4LDB4NDAsMHg0MiwweDEwLDB4MDIgfX0sCi0gezE2LCAweGRkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDBjLDB4ODAsMHhjNCwweDI0IH19LAotIHsxNiwgMHhkZGEwLCAwLCB7MHgzMSwweDQ4LDB4MGMsMHgwMCwweDAxLDB4MDgsMHhjMSwweDQxLDB4MDAsMHgwMCwweDQ5LDB4MDAsMHg0MiwweDAzLDB4MDgsMHgxMCB9fSwKLSB7MTYsIDB4ZGRiMCwgMCwgezB4ODAsMHgyMCwweDIxLDB4MDksMHgwYywweDAyLDB4MDIsMHgxOCwweDgwLDB4YzEsMHgyNCwweDMwLDB4MDgsMHgwYywweDQyLDB4MDEgfX0sCi0gezE2LCAweGRkYzAsIDAsIHsweDEwLDB4ODAsMHg4MywweDIwLDB4MTEsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZGQwLCAwLCB7MHgwMCwweDAwLDB4MTAsMHhjMSwweDA0LDB4MjAsMHg0OCwweDBjLDB4MTIsMHg0MiwweDA0LDB4MDAsMHg4MywweDAwLDB4MzEsMHg0OCB9fSwKLSB7MTYsIDB4ZGRlMCwgMCwgezB4MDAsMHgwMiwweDQxLDB4MDQsMHhhMCwweDA3LDB4MGMsMHgyMCwweDQwLDB4MDAsMHgxMiwweGMyLDB4MGMsMHg4MCwweGMxLDB4MjAgfX0sCi0gezE2LCAweGRkZjAsIDAsIHsweDIwLDB4YzgsMHgwMCwweDEyLDB4YzEsMHgwYywweGIwLDB4NDEsMHgyMCwweDAwLDB4NDksMHgwOCwweDAyLDB4NDIsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDgwLDB4MDEsMHgwMCwweDEwLDB4ODEsMHgwMCB9fSwKLSB7MTYsIDB4ZGUxMCwgMCwgezB4MzAsMHg0MCwweDA4LDB4MjAsMHgwMywweDAwLDB4MTAsMHhjMSwweDIwLDB4MDIsMHgwMCwweDA0LDB4ODAsMHg0MCwweDMwLDB4OTAgfX0sCi0gezE2LCAweGRlMjAsIDAsIHsweDAxLDB4MTQsMHgwMiwweDQwLDB4MDQsMHg4MCwweDQwLDB4MjAsMHgwMCwweDA5LDB4MDQsMHgzMiwweDAxLDB4MDgsMHhhMCwweDAzIH19LAotIHsxNiwgMHhkZTMwLCAwLCB7MHgwNCwweDEwLDB4MDgsMHgwMCwweDIyLDB4NDAsMHgwMCwweDAwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGU0MCwgMCwgezB4MDAsMHgwMCwweDMwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGYwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlNTAsIDAsIHsweDAwLDB4MTAsMHg4MCwweDAwLDB4ZjAsMHgwMCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4ZjAsMHgxMCwweGEwIH19LAotIHsxNiwgMHhkZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHhmMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDgwLDB4MDAsMHhjYyB9fSwKLSB7MTYsIDB4ZGU3MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNjLDB4M2MsMHgxMCwweGEwLDB4ODAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlODAsIDAsIHsweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHhjMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwIH19LAotIHsxNiwgMHhkZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCB9fSwKLSB7MTYsIDB4ZGVhMCwgMCwgezB4ZTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg4YywweDA4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlYjAsIDAsIHsweDAwLDB4MDAsMHgwOSwweDRkLDB4YjEsMHhlOSwweDAwLDB4MjYsMHg0MCwweDJhLDB4N2YsMHhlMywweGYyLDB4NTQsMHg5OCwweGMwIH19LAotIHsxNiwgMHhkZWMwLCAwLCB7MHgzZiwweGU2LDB4NDAsMHgwMCwweDAxLDB4NDIsMHg5MSwweGQwLDB4YzAsMHgxMywweGU1LDB4ODcsMHg2MywweDgzLDB4YjgsMHhjZCB9fSwKLSB7MTYsIDB4ZGVkMCwgMCwgezB4ZjksMHgwMCwweDI2LDB4N2YsMHgwMCwweDAwLDB4MzUsMHgyZSwweGQ1LDB4MDMsMHg0MCwweDNmLDB4ZDksMHhiZiwweGIxLDB4ODAgfX0sCi0gezE2LCAweGRlZTAsIDAsIHsweDAxLDB4ZjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHgwMiwweDE2LDB4MTQsMHgwMCwweDFjIH19LAotIHsxNiwgMHhkZWYwLCAwLCB7MHhhOCwweDNmLDB4ODgsMHgxNiwweDAwLDB4ODAsMHg4NCwweDgwLDB4MzcsMHg5ZSwweGJhLDB4YTAsMHg1MCwweDEwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZGYwMCwgMCwgezB4MDAsMHgxNywweDk2LDB4OTcsMHgyNiwweDUwLDB4MTAsMHgxMCwweDgyLDB4ODAsMHgxZSwweDgwLDB4ZGUsMHhiZSwweDk0LDB4MTQgfX0sCi0gezE2LCAweGRmMTAsIDAsIHsweDAyLDB4MTAsMHg4MCwweDE3LDB4YmUsMHg4MSwweDk0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGE4LDB4NDQsMHg5NCwweDI4LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCB9fSwKLSB7MTYsIDB4ZGYzMCwgMCwgezB4OTQsMHgyMSwweDQ0LDB4NTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODQsMHg0MiwweDQxLDB4MDEsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmNDAsIDAsIHsweDAwLDB4MDgsMHhhMSwweDcyLDB4MjMsMHg0MSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhiOCwweDAxLDB4NzgsMHgzMiwweDQwIH19LAotIHsxNiwgMHhkZjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4ZGY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmNywweGZlLDB4ZDcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGQ3LDB4ZGYgfX0sCi0gezE2LCAweGRmNzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzNywweDdmIH19LAotIHsxNiwgMHhkZjgwLCAwLCB7MHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGY5MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFlLDB4ZmYsMHhkZSwweDc3LDB4YzAgfX0sCi0gezE2LCAweGRmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhlZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH19LAotIHsxNiwgMHhkZmIwLCAwLCB7MHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGRmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDFmLDB4Y2YsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGJmIH19LAotIHsxNiwgMHhkZmUwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4YmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiB9fSwKLSB7MTYsIDB4ZGZmMCwgMCwgezB4ZmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwMDAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwIH19LAotIHsxNiwgMHhlMDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFmLDB4ZmYsMHgxZiB9fSwKLSB7MTYsIDB4ZTAyMCwgMCwgezB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhkZiwweGZmLDB4Y2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH19LAotIHsxNiwgMHhlMDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGJmLDB4YWYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9fSwKLSB7MTYsIDB4ZTA1MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNlLDB4ZGUsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfX0sCi0gezE2LCAweGUwNjAsIDAsIHsweGZmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMDcwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHg3ZiwweGZmLDB4ZmYsMHhjMCB9fSwKLSB7MTYsIDB4ZTA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZlLDB4YmUgfX0sCi0gezE2LCAweGUwOTAsIDAsIHsweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNlLDB4ZmYsMHhkNywweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBlMCwgMCwgezB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MywweDhlLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTcxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTgwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTkyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MjAsMHgwMSwweDAyLDB4MDIsMHgwMCwweDAwLDB4MzAsMHgwMCwweDQzLDB4ODAgfX0sCi0gezE2LCAweGVmMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjAxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjczMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjkxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjlkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NWYsMHhhNywweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDMgfX0sCi0gezE2LCAweGZkNDAsIDAsIHsweDMwLDB4MDAsMHg0MCwweDBlLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxIH19LAotIHsxNiwgMHhmZDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwNSwweDMwLDB4MDAsMHhhMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMSB9fSwKLSB7MTYsIDB4ZmQ5MCwgMCwgezB4MDAsMHgwMCwweDZiLDB4OTcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezQsIDB4ZmRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezAgLCAweDAwMDAsIDEsIHswfX0KLX07Ci0vLyBWRVJTSU9OPSAxLjAuMC4xOTEKLS8vIERBVEU9IDIwMDJvY3QyOAotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19IZXhTcGRpZkZ3NjJbXSA9IHsKLSAgezMsMHgwMDAwLDAsezB4MDIsMHg0NSwweGY5fX0sCi0geyAzLDB4MDAwMywwLHsweDAyLDB4MGYsMHhmZH19LAotIHsgMywweDAwMGIsMCx7MHgwMiwweDRkLDB4OWJ9fSwKLSB7IDMsMHgwMDEzLDAsezB4MDIsMHgxNywweGZkfX0sCi0geyAzLDB4MDAxYiwwLHsweDAyLDB4NGQsMHg5ZX19LAotIHsgMywweDAwMjMsMCx7MHgwMiwweDRkLDB4NzV9fSwKLSB7IDMsMHgwMDJiLDAsezB4MDIsMHg0NiwweGY3fX0sCi0geyAzLDB4MDAzMywwLHsweDAyLDB4NGQsMHg2Y319LAotIHsgMywweDAwM2IsMCx7MHgwMiwweDRkLDB4N2N9fSwKLSB7IDMsMHgwMDQzLDAsezB4MDIsMHg0OSwweDAwfX0sCi0geyAzLDB4MDA0YiwwLHsweDAyLDB4NGQsMHg4Zn19LAotIHsgMywweDAwNTMsMCx7MHgwMiwweDRkLDB4ODN9fSwKLSB7IDMsMHgwMDViLDAsezB4MDIsMHg0ZCwweDg5fX0sCi0geyAzLDB4MDA2MywwLHsweDAyLDB4NGQsMHg5M319LAotIHsxNiwweDA1MDAsMCx7MHgxMiwweDAxLDB4MTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NmEsMHgwOCwweDExLDB4MDEsMHgwMCwweDAxLDB4MDEsMHgwMn19LAotIHsxNiwweDA1MTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweGFjLDB4MDEsMHgwMywweDAxLDB4MDAsMHg4MCwweDMyLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDA1MjAsMCx7MHgwMSwweDAxLDB4MDAsMHgwMCwweDBhLDB4MjQsMHgwMSwweDAwLDB4MDEsMHg1NiwweDAwLDB4MDIsMHgwMSwweDAyLDB4MGMsMHgyNH19LAotIHsxNiwweDA1MzAsMCx7MHgwMiwweDAxLDB4MDEsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4MjQsMHgwNiwweDA1LDB4MDEsMHgwMn19LAotIHsxNiwweDA1NDAsMCx7MHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4MjQsMHgwMywweDAyLDB4MDQsMHgwMywweDAwLDB4MDUsMHgwMH19LAotIHsxNiwweDA1NTAsMCx7MHgwYywweDI0LDB4MDIsMHgwMywweDA1LDB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweDI0LDB4MDYsMHgwNn19LAotIHsxNiwweDA1NjAsMCx7MHgwMywweDAyLDB4MDAsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMH19LAotIHsxNiwweDA1NzAsMCx7MHgwMCwweDA5LDB4MjQsMHgwMywweDA0LDB4MDEsMHgwMSwweDAwLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAwLDB4MDAsMHgwMX19LAotIHsxNiwweDA1ODAsMCx7MHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMSwweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMX19LAotIHsxNiwweDA1OTAsMCx7MHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDIsMHgxMCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYn19LAotIHsxNiwweDA1YTAsMCx7MHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHgwYSwweDA1LDB4ODQsMHgwMSwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMX19LAotIHsxNiwweDA1YjAsMCx7MHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDUsMHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDUsMHgwMCwweDA5LDB4MDQsMHgwMX19LAotIHsxNiwweDA1YzAsMCx7MHgwMiwweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMn19LAotIHsxNiwweDA1ZDAsMCx7MHgwMSwweDAyLDB4MDMsMHgxOCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNX19LAotIHsxNiwweDA1ZTAsMCx7MHgwYSwweDA1LDB4NDYsMHgwMiwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNX19LAotIHsxNiwweDA1ZjAsMCx7MHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDUsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAwLDB4MDAsMHgwMSwweDAyLDB4MDAsMHgwMH19LAotIHsxNiwweDA2MDAsMCx7MHgwOSwweDA0LDB4MDIsMHgwMSwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMH19LAotIHsxNiwweDA2MTAsMCx7MHgwZSwweDI0LDB4MDIsMHgwMSwweDA2LDB4MDIsMHgxMCwweDAyLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDksMHgwNX19LAotIHsxNiwweDA2MjAsMCx7MHg4YywweDA1LDB4NGMsMHgwMiwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNH19LAotIHsxNiwweDA2MzAsMCx7MHgwMiwweDAyLDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MGUsMHgyNH19LAotIHsxNiwweDA2NDAsMCx7MHgwMiwweDAxLDB4MDYsMHgwMywweDE4LDB4MDIsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwOSwweDA1LDB4OGMsMHgwNX19LAotIHsxNiwweDA2NTAsMCx7MHg3MiwweDAzLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwM319LAotIHsxNiwweDA2NjAsMCx7MHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMX19LAotIHsxNiwweDA2NzAsMCx7MHgwMiwweDAyLDB4MTAsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHg4Y319LAotIHsxNiwweDA2ODAsMCx7MHgwNSwweDg0LDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMn19LAotIHsxNiwweDA2OTAsMCx7MHgwNCwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMn19LAotIHsxNiwweDA2YTAsMCx7MHgwMSwweDAyLDB4MDMsMHgxOCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNX19LAotIHsxNiwweDA2YjAsMCx7MHg4YywweDA1LDB4NDYsMHgwMiwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDQsMHgwM319LAotIHsxNiwweDA2YzAsMCx7MHgwOSwweDA0LDB4MTgsMHgwMywweDQ1LDB4MDAsMHg2ZCwweDAwLDB4NjEsMHgwMCwweDY3LDB4MDAsMHg2OSwweDAwLDB4NjMsMHgwMH19LAotIHsxNiwweDA2ZDAsMCx7MHgyMCwweDAwLDB4NDcsMHgwMCwweDZkLDB4MDAsMHg2MiwweDAwLDB4NDgsMHgwMCwweDIyLDB4MDMsMHg0NSwweDAwLDB4NmQsMHgwMH19LAotIHsxNiwweDA2ZTAsMCx7MHg2MSwweDAwLDB4NjcsMHgwMCwweDY5LDB4MDAsMHg2MywweDAwLDB4MjAsMHgwMCwweDQ1LDB4MDAsMHg0ZCwweDAwLDB4NDksMHgwMH19LAotIHsxNiwweDA2ZjAsMCx7MHgyMCwweDAwLDB4MzYsMHgwMCwweDdjLDB4MDAsMHgzMiwweDAwLDB4MjAsMHgwMCwweDZkLDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMH19LAotIHsxNiwweDA3MDAsMCx7MHg2ZiwweDAwLDB4NmUsMHgwMCwweDY2LDB4MDAsMHg2OSwweDAwLDB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMH19LAotIHsxNiwweDA3MTAsMCx7MHg3NCwweDAwLDB4NjksMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMH19LAotIHsxNiwweDA3MjAsMCx7MHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgyMiwweDAzLDB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMH19LAotIHsxNiwweDA3MzAsMCx7MHg3MiwweDAwLDB4NjYsMHgwMCwweDYxLDB4MDAsMHg2MywweDAwLDB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMH19LAotIHsxMCwweDA3NDAsMCx7MHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDA3NGEsMCx7MHg5MCwweDc2LDB4OWEsMHg3NCwweDAyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg5MSwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzYsMHg5MH19LAotIHsxNiwweDA3NWEsMCx7MHhmMCwweDkwLDB4NzYsMHg5MywweGYwLDB4OTAsMHg3NiwweDk2LDB4NzQsMHgwMywweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHhlNH19LAotIHsxNiwweDA3NmEsMCx7MHg5MCwweDc2LDB4OTcsMHhmMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4OTAsMHg3NiwweDk0LDB4MDQsMHhmMCwweDkwLDB4ODAsMHgwMH19LAotIHsxNiwweDA3N2EsMCx7MHhmMCwweGU0LDB4OTAsMHg3NiwweDhlLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhmMCwweDkwLDB4NzYsMHg5NSwweDA0LDB4ZjAsMHhjMn19LAotIHsxNiwweDA3OGEsMCx7MHgyZSwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmYsMHg1NCwweDEwLDB4ZmYsMHg3MCwweDAyLDB4YzIsMHgzZiwweDkwLDB4N2YsMHg5Yn19LAotIHsxNiwweDA3OWEsMCx7MHhlMCwweGZmLDB4NTQsMHgxMCwweGZlLDB4ZmYsMHhiZSwweDEwLDB4MDIsMHhkMiwweDNmLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmZn19LAotIHsxNiwweDA3YWEsMCx7MHg1NCwweDIwLDB4ZmYsMHg3MCwweDAyLDB4YzIsMHgzZSwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmYsMHg1NCwweDIwLDB4ZmUsMHhmZn19LAotIHsxNiwweDA3YmEsMCx7MHhiZSwweDIwLDB4MDIsMHhkMiwweDNlLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MH19LAotIHsxNiwweDA3Y2EsMCx7MHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMH19LAotIHsxNiwweDA3ZGEsMCx7MHgzMCwweDNlLDB4MDksMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMH19LAotIHsxNiwweDA3ZWEsMCx7MHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4YTIsMHgzZSwweDkyLDB4NDAsMHhhMn19LAotIHsgMywweDA3ZmEsMCx7MHgzZiwweDkyLDB4NDF9fSwKLSB7IDEsMHgwN2ZkLDAsezB4MjJ9fSwKLSB7IDIsMHgwN2ZlLDAsezB4ZDMsMHgyMn19LAotIHsxNiwweDA4MDAsMCx7MHhlNCwweDkwLDB4NzYsMHgzMSwweGYwLDB4OTAsMHg3NiwweDMxLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZn19LAotIHsxNiwweDA4MTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWQsMHhlMCwweGZkLDB4ZWUsMHg2ZH19LAotIHsxNiwweDA4MjAsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MGIsMHg1MCwweDA4LDB4OTAsMHg3NiwweDMxLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX19LAotIHsxNiwweDA4MzAsMCx7MHhlZiwweGI0LDB4MGIsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwM319LAotIHsxNiwweDA4NDAsMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDMzLDB4ZjAsMHgyNH19LAotIHsxNiwweDA4NTAsMCx7MHhmMCwweDYwLDB4MGEsMHgyNCwweDBlLDB4NjAsMHgwMiwweDgxLDB4ODcsMHgxMiwweDRiLDB4M2UsMHgyMiwweDkwLDB4N2YsMHhlZH19LAotIHsxNiwweDA4NjAsMCx7MHhlMCwweDY0LDB4MDUsMHg3MCwweDUxLDB4OTAsMHg3NiwweDE4LDB4NzQsMHgwNSwweGYwLDB4OTAsMHg3NiwweDM3LDB4NzQsMHgwMX19LAotIHsxNiwweDA4NzAsMCx7MHhmMCwweDkwLDB4NzYsMHgzOSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4MjAsMHhmMH19LAotIHsxNiwweDA4ODAsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjAsMHgyZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH19LAotIHsxNiwweDA4OTAsMCx7MHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZH19LAotIHsxNiwweDA4YTAsMCx7MHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzYsMHgyMSwweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3Nn19LAotIHsxNiwweDA4YjAsMCx7MHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDEsMHg5MCwweDdmLDB4ZWQsMHhlMCwweDY0LDB4MDYsMHg3MCwweDUyLDB4OTAsMHg3Nn19LAotIHsxNiwweDA4YzAsMCx7MHgxOCwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzYsMHgzNywweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzOSwweDc0LDB4MGEsMHhmMH19LAotIHsxNiwweDA4ZDAsMCx7MHg5MCwweDc2LDB4MjEsMHhmMCwweDkwLDB4NzYsMHgyMCwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MH19LAotIHsxNiwweDA4ZTAsMCx7MHgyZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDA4ZjAsMCx7MHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZCwweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3Nn19LAotIHsxNiwweDA5MDAsMCx7MHgyMSwweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMX19LAotIHsxNiwweDA5MTAsMCx7MHg5MCwweDc2LDB4MjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDA5MjAsMCx7MHhmNSwweDgzLDB4ZTAsMHg5MCwweDcyLDB4MjksMHhmMCwweGU0LDB4OTAsMHg3NiwweDNiLDB4ZjAsMHg5MCwweDc2LDB4MjEsMHhlMH19LAotIHsxNiwweDA5MzAsMCx7MHhmZSwweGVmLDB4NmUsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYn19LAotIHsxNiwweDA5NDAsMCx7MHhlMCwweDE0LDB4NjAsMHgxMywweDE0LDB4NzAsMHgwMiwweDIxLDB4ZTIsMHgyNCwweDAyLDB4NjAsMHgwMiwweDgxLDB4N2YsMHg5MH19LAotIHsxNiwweDA5NTAsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MTQsMHg3MCwweDdjLDB4OTAsMHg3Zn19LAotIHsxNiwweDA5NjAsMCx7MHhlYSwweGUwLDB4ZjQsMHg3MCwweDQ4LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOX19LAotIHsxNiwweDA5NzAsMCx7MHhlMCwweGZlLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZCwweGMzLDB4OWUsMHg1MCwweDJiLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZX19LAotIHsxNiwweDA5ODAsMCx7MHgwNCwweGYwLDB4NzQsMHhjMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZlLDB4ZWQsMHg3NX19LAotIHsxNiwweDA5OTAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZSwweGYwLDB4OTAsMHg3Nn19LAotIHsxNiwweDA5YTAsMCx7MHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YzcsMHg5MCwweDc2LDB4M2YsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2UsMHhjMH19LAotIHsxNiwweDA5YjAsMCx7MHhlMCwweGZlLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDA5YzAsMCx7MHhlZSwweGYwLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MCwweDc2LDB4M2UsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDA1LDB4ZTQsMHg5MH19LAotIHsxNiwweDA5ZDAsMCx7MHg3NiwweDNlLDB4ZjAsMHg5MCwweDc2LDB4M2YsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX19LAotIHsxNiwweDA5ZTAsMCx7MHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NzAsMHgwMiwweDQxLDB4YTMsMHgxNCwweDcwLDB4MDIsMHg2MX19LAotIHsxNiwweDA5ZjAsMCx7MHgzZiwweDE0LDB4NzAsMHgwMiwweDYxLDB4ZGIsMHgyNCwweDAzLDB4NjAsMHgwMiwweDgxLDB4NzcsMHg5MCwweDdmLDB4ZWEsMHhlMH19LAotIHsxNiwweDBhMDAsMCx7MHhmNCwweDcwLDB4NmIsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZn19LAotIHsxNiwweDBhMTAsMCx7MHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDUwLDB4NGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMH19LAotIHsxNiwweDBhMjAsMCx7MHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYX19LAotIHsxNiwweDBhMzAsMCx7MHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4M2IsMHhlMH19LAotIHsxNiwweDBhNDAsMCx7MHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZX19LAotIHsxNiwweDBhNTAsMCx7MHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MH19LAotIHsxNiwweDBhNjAsMCx7MHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHg0MCwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZX19LAotIHsxNiwweDBhNzAsMCx7MHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4Mn19LAotIHsxNiwweDBhODAsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYX19LAotIHsxNiwweDBhOTAsMCx7MHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4NDEsMHg3NH19LAotIHsxNiwweDBhYTAsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3Nn19LAotIHsxNiwweDBhYjAsMCx7MHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMn19LAotIHsxNiwweDBhYzAsMCx7MHg4MSwweDhlLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDBhZDAsMCx7MHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDBhZTAsMCx7MHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNX19LAotIHsxNiwweDBhZjAsMCx7MHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNX19LAotIHsxNiwweDBiMDAsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMn19LAotIHsxNiwweDBiMTAsMCx7MHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZX19LAotIHsxNiwweDBiMjAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZmLDB4ZWUsMHg3NX19LAotIHsxNiwweDBiMzAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MH19LAotIHsxNiwweDBiNDAsMCx7MHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3Nn19LAotIHsxNiwweDBiNTAsMCx7MHgzOSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDIsMHg4MSwweDhlLDB4OTAsMHg3Nn19LAotIHsxNiwweDBiNjAsMCx7MHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMH19LAotIHsxNiwweDBiNzAsMCx7MHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn19LAotIHsxNiwweDBiODAsMCx7MHhmMCwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZX19LAotIHsxNiwweDBiOTAsMCx7MHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDBiYTAsMCx7MHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTIsMHg5MCwweDdlLDB4YzAsMHhlMH19LAotIHsxNiwweDBiYjAsMCx7MHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDBiYzAsMCx7MHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNH19LAotIHsxNiwweDBiZDAsMCx7MHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNH19LAotIHsxNiwweDBiZTAsMCx7MHg3MCwweDY2LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOSwweGUwLDB4ZmYsMHg5MH19LAotIHsxNiwweDBiZjAsMCx7MHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyLDB4ODEsMHg4ZSwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNH19LAotIHsxNiwweDBjMDAsMCx7MHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMH19LAotIHsxNiwweDBjMTAsMCx7MHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgzYn19LAotIHsxNiwweDBjMjAsMCx7MHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZn19LAotIHsxNiwweDBjMzAsMCx7MHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMH19LAotIHsxNiwweDBjNDAsMCx7MHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGEyLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMH19LAotIHsxNiwweDBjNTAsMCx7MHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn19LAotIHsxNiwweDBjNjAsMCx7MHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDBjNzAsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MH19LAotIHsxNSwweDBjODAsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgwYzhmLDAsezB4NDEsMHg3NiwweDY4LDB4MDEsMHg0MSwweDc2LDB4NmEsMHgwMiwweDQxLDB4NzYsMHg2YiwweDBhLDB4YzEsMHgyMCwweGMxLDB4MjF9fSwKLSB7IDIsMHgwYzlmLDAsezB4YzEsMHgyZn19LAotIHsgNCwweDBjYTEsMCx7MHg0MSwweDc2LDB4MjMsMHgwMH19LAotIHsxNiwweDBjYTUsMCx7MHg0MSwweDcyLDB4MDEsMHgwMSwweDQ1LDB4NzIsMHgwNSwweDAwLDB4MDIsMHhjOSwweDAwLDB4MDAsMHg0NSwweDcyLDB4MGEsMHgwMH19LAotIHsxNiwweDBjYjUsMCx7MHgwMSwweDAyLDB4MDMsMHgwNCwweDRkLDB4NzIsMHgwZiwweGQxLDB4MDAsMHhkMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBjYzUsMCx7MHgyOCwweDI4LDB4MDksMHgwMCwweDRkLDB4NzIsMHgxYywweDAxLDB4MDAsMHgwMSwweDAyLDB4MDMsMHgwNCwweDA1LDB4MDYsMHgwN319LAotIHsxNiwweDBjZDUsMCx7MHgwOCwweDA5LDB4MGEsMHgwYiwweDQxLDB4NzIsMHgyZSwweDIyLDB4NDEsMHg3MiwweDJmLDB4MjMsMHg0MSwweDcyLDB4MzAsMHgyMH19LAotIHsxNiwweDBjZTUsMCx7MHg0MSwweDcyLDB4MzEsMHgyMSwweDYyLDB4ZDIsMHg3MiwweDNhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBjZjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkMDUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkMTUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkMjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkMzUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkNDUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkNTUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkNjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDBkNzUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX19LAotIHsxNiwweDBkODUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX19LAotIHsxNiwweDBkOTUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX19LAotIHsxNiwweDBkYTUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX19LAotIHsxNiwweDBkYjUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn19LAotIHsxNiwweDBkYzUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn19LAotIHsxNiwweDBkZDUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn19LAotIHsxNiwweDBkZTUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn19LAotIHsxNiwweDBkZjUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM319LAotIHsxNiwweDBlMDUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM319LAotIHsxNiwweDBlMTUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM319LAotIHsxNiwweDBlMjUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM319LAotIHsxNiwweDBlMzUsMCx7MHgwMywweDAzLDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH19LAotIHsxNiwweDBlNDUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH19LAotIHsxNiwweDBlNTUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH19LAotIHsxNiwweDBlNjUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH19LAotIHsxNiwweDBlNzUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX19LAotIHsxNiwweDBlODUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX19LAotIHsxNiwweDBlOTUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX19LAotIHsxNiwweDBlYTUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDYsMHgwNn19LAotIHsxNiwweDBlYjUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn19LAotIHsxNiwweDBlYzUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn19LAotIHsxNiwweDBlZDUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn19LAotIHsxNiwweDBlZTUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDcsMHgwNywweDA3LDB4MDgsMHgwOH19LAotIHsxNiwweDBlZjUsMCx7MHgwOCwweDA5LDB4MDksMHgwOSwweDBhLDB4MGEsMHgwYSwweDBiLDB4MGIsMHgwYiwweDBjLDB4MGMsMHgwYywweDBkLDB4MGQsMHgwZH19LAotIHsxNiwweDBmMDUsMCx7MHgwZSwweDBlLDB4MGUsMHgwZiwweDBmLDB4MGYsMHgxMCwweDEwLDB4MTAsMHgxMSwweDExLDB4MTEsMHgxMiwweDEyLDB4MTIsMHgxM319LAotIHsxNiwweDBmMTUsMCx7MHgxMywweDEzLDB4MTQsMHgxNCwweDE0LDB4MTUsMHgxNSwweDE1LDB4MTYsMHgxNiwweDE2LDB4MTcsMHgxNywweDE3LDB4MTgsMHgxOH19LAotIHsxNiwweDBmMjUsMCx7MHgxOCwweDE5LDB4MTksMHgxOSwweDE5LDB4MWEsMHgxYSwweDFhLDB4MWEsMHgxYiwweDFiLDB4MWIsMHgxYiwweDFjLDB4MWMsMHgxY319LAotIHsxNiwweDBmMzUsMCx7MHgxYywweDFkLDB4MWQsMHgxZCwweDFkLDB4MWUsMHgxZSwweDFlLDB4MWUsMHgxZiwweDFmLDB4MWYsMHgxZiwweDIwLDB4MjAsMHgyMH19LAotIHsxNiwweDBmNDUsMCx7MHgyMSwweDIxLDB4MjEsMHgyMiwweDIyLDB4MjIsMHgyMywweDIzLDB4MjQsMHgyNCwweDI1LDB4MjUsMHgyNiwweDI2LDB4MjcsMHgyN319LAotIHsxNiwweDBmNTUsMCx7MHgyOCwweDI4LDB4MjksMHgyOSwweDJhLDB4MmEsMHgyYiwweDJiLDB4MmMsMHgyYywweDJkLDB4MmQsMHgyZSwweDJlLDB4MmYsMHgyZn19LAotIHsxNiwweDBmNjUsMCx7MHgzMCwweDMwLDB4MzEsMHgzMSwweDMyLDB4MzIsMHgzMywweDMzLDB4MzQsMHgzNCwweDM1LDB4MzUsMHgzNiwweDM2LDB4MzcsMHgzN319LAotIHsxNiwweDBmNzUsMCx7MHgzOCwweDM4LDB4MzksMHgzOSwweDNhLDB4M2EsMHgzYiwweDNjLDB4M2QsMHgzZSwweDNmLDB4NDAsMHg0MSwweDQyLDB4NDMsMHg0NH19LAotIHsxNiwweDBmODUsMCx7MHg0NSwweDQ2LDB4NDcsMHg0OCwweDQ5LDB4NDksMHg0YSwweDRiLDB4NGIsMHg0YywweDRkLDB4NGUsMHg0ZiwweDUwLDB4NTEsMHg1Mn19LAotIHsxNiwweDBmOTUsMCx7MHg1MywweDU0LDB4NTUsMHg1NSwweDU2LDB4NTYsMHg1NywweDU3LDB4NTgsMHg1YSwweDViLDB4NWQsMHg1ZSwweDVmLDB4NjEsMHg2Mn19LAotIHsxNiwweDBmYTUsMCx7MHg2MywweDY0LDB4NjUsMHg2NiwweDY3LDB4NjgsMHg2OSwweDZhLDB4NmIsMHg2YywweDZkLDB4NmYsMHg3MSwweDcyLDB4NzMsMHg3NH19LAotIHsxNiwweDBmYjUsMCx7MHg3NSwweDc2LDB4NzcsMHg3OCwweDc5LDB4N2EsMHg3YiwweDdjLDB4N2UsMHg4MCwweDAxLDB4MzcsMHgwMSwweDAxLDB4MzgsMHgwMH19LAotIHsgMSwweDBmYzUsMCx7MHgwMH19LAotIHsxNiwweDBmYzYsMCx7MHhlNCwweGZmLDB4NzQsMHg0NiwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgyMH19LAotIHsxNiwweDBmZDYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4NGUsMHgyZiwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDBmZTYsMCx7MHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4M319LAotIHsgNiwweDBmZjYsMCx7MHhlZSwweGYwLDB4MGYsMHhiZiwweDA4LDB4Y2N9fSwKLSB7IDEsMHgwZmZjLDAsezB4MjJ9fSwKLSB7IDMsMHgwZmZkLDAsezB4YzIsMHg4OSwweDMyfX0sCi0gezE2LDB4MTAwMCwwLHsweGU0LDB4OTAsMHg3NiwweDJjLDB4ZjAsMHg5MCwweDc2LDB4MmMsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmfX0sCi0gezE2LDB4MTAxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4MTAyMCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MmMsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4MTAzMCwwLHsweGVmLDB4YjQsMHgwYiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDAzfX0sCi0gezE2LDB4MTA0MCwwLHsweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MmUsMHhmMCwweDI0fX0sCi0gezE2LDB4MTA1MCwwLHsweGYwLDB4NjAsMHgwYSwweDI0LDB4MGYsMHg2MCwweDAyLDB4ODEsMHg3ZCwweDEyLDB4NGIsMHgxYiwweDIyLDB4OTAsMHg3ZiwweGVkfX0sCi0gezE2LDB4MTA2MCwwLHsweGUwLDB4NjQsMHgwNSwweDcwLDB4NTEsMHg5MCwweDc2LDB4MTgsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4MzgsMHg3NCwweDAxfX0sCi0gezE2LDB4MTA3MCwwLHsweGYwLDB4OTAsMHg3NiwweDNhLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDFjLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgxYiwweGYwfX0sCi0gezE2LDB4MTA4MCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MCwweDJmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fX0sCi0gezE2LDB4MTA5MCwwLHsweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkfX0sCi0gezE2LDB4MTBhMCwwLHsweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3NiwweDFjLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2fX0sCi0gezE2LDB4MTBiMCwwLHsweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMSwweDkwLDB4N2YsMHhlZCwweGUwLDB4NjQsMHgwNiwweDcwLDB4NTIsMHg5MCwweDc2fX0sCi0gezE2LDB4MTBjMCwwLHsweDE4LDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3NiwweDM4LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDNhLDB4NzQsMHgwYSwweGYwfX0sCi0gezE2LDB4MTBkMCwwLHsweDkwLDB4NzYsMHgxYywweGYwLDB4OTAsMHg3NiwweDFiLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwfX0sCi0gezE2LDB4MTBlMCwwLHsweDJmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MTBmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkLDB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2fX0sCi0gezE2LDB4MTEwMCwwLHsweDFjLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxfX0sCi0gezE2LDB4MTExMCwwLHsweGU0LDB4OTAsMHg3NiwweDFlLDB4ZjAsMHg5MCwweDc2LDB4MWMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZSwweDZmfX0sCi0gezE2LDB4MTEyMCwwLHsweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDYwfX0sCi0gezE2LDB4MTEzMCwwLHsweDEzLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhiZiwweDI0LDB4MDIsMHg2MCwweDAyLDB4ODEsMHg3NSwweDkwLDB4N2YsMHhiNCwweGUwfX0sCi0gezE2LDB4MTE0MCwwLHsweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHg2YiwweDkwLDB4N2YsMHhlYSwweGUwfX0sCi0gezE2LDB4MTE1MCwwLHsweGY0LDB4NzAsMHg0YSwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmfX0sCi0gezE2LDB4MTE2MCwwLHsweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmQsMHhjMywweDlmLDB4NTAsMHgyYiwweGVkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFifX0sCi0gezE2LDB4MTE3MCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwfX0sCi0gezE2LDB4MTE4MCwwLHsweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwfX0sCi0gezE2LDB4MTE5MCwwLHsweDA0LDB4ZjAsMHg4MCwweGM3LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4ZWUsMHg3NSwweGYwfX0sCi0gezE2LDB4MTFhMCwwLHsweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwfX0sCi0gezE2LDB4MTFiMCwwLHsweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfX0sCi0gezE2LDB4MTFjMCwwLHsweDdmLDB4ZTksMHhlMCwweDI0LDB4N2UsMHg3MCwweDAyLDB4NDEsMHg3ZSwweDE0LDB4NzAsMHgwMiwweDYxLDB4MjMsMHgxNCwweDcwfX0sCi0gezE2LDB4MTFkMCwwLHsweDAyLDB4NjEsMHhjOCwweDI0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHg2ZCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkfX0sCi0gezE2LDB4MTFlMCwwLHsweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFifX0sCi0gezE2LDB4MTFmMCwwLHsweGUwLDB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MTIwMCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkfX0sCi0gezE2LDB4MTIxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkfX0sCi0gezE2LDB4MTIyMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwfX0sCi0gezE2LDB4MTIzMCwwLHsweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwfX0sCi0gezE2LDB4MTI0MCwwLHsweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFifX0sCi0gezE2LDB4MTI1MCwwLHsweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwfX0sCi0gezE2LDB4MTI2MCwwLHsweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4MTI3MCwwLHsweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmfX0sCi0gezE2LDB4MTI4MCwwLHsweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmQsMHg5MCwweDc2LDB4MzgsMHhlMCwweDkwLDB4NzYsMHgxYiwweGYwLDB4OTAsMHg3NiwweDNhfX0sCi0gezE2LDB4MTI5MCwwLHsweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fX0sCi0gezE2LDB4MTJhMCwwLHsweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkfX0sCi0gezE2LDB4MTJiMCwwLHsweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHhlZiwweDc1fX0sCi0gezE2LDB4MTJjMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2fX0sCi0gezE2LDB4MTJkMCwwLHsweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmfX0sCi0gezE2LDB4MTJlMCwwLHsweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1fX0sCi0gezE2LDB4MTJmMCwwLHsweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MTMwMCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmfX0sCi0gezE2LDB4MTMxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0fX0sCi0gezE2LDB4MTMyMCwwLHsweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2fX0sCi0gezE2LDB4MTMzMCwwLHsweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwfX0sCi0gezE2LDB4MTM0MCwwLHsweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlfX0sCi0gezE2LDB4MTM1MCwwLHsweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fX0sCi0gezE2LDB4MTM2MCwwLHsweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4MTM3MCwwLHsweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJlLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MTM4MCwwLHsweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2fX0sCi0gezE2LDB4MTM5MCwwLHsweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fX0sCi0gezE2LDB4MTNhMCwwLHsweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlZiwweDc1fX0sCi0gezE2LDB4MTNiMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxfX0sCi0gezE2LDB4MTNjMCwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwfX0sCi0gezE2LDB4MTNkMCwwLHsweDc2LDB4MzgsMHhlMCwweDkwLDB4NzYsMHgxYiwweGYwLDB4OTAsMHg3NiwweDNhLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwfX0sCi0gezE2LDB4MTNlMCwwLHsweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MTNmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1fX0sCi0gezE2LDB4MTQwMCwwLHsweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1fX0sCi0gezE2LDB4MTQxMCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0fX0sCi0gezE2LDB4MTQyMCwwLHsweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0fX0sCi0gezE2LDB4MTQzMCwwLHsweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1LDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxYiwweGUwfX0sCi0gezE2LDB4MTQ0MCwwLHsweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwfX0sCi0gezE2LDB4MTQ1MCwwLHsweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4MTQ2MCwwLHsweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fX0sCi0gezE2LDB4MTQ3MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fX0sCi0geyA1LDB4MTQ4MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgxNDg1LDAsezB4NzQsMHgwMCwweGY1LDB4ODYsMHg5MCwweGZkLDB4YTUsMHg3YywweDA1LDB4YTMsMHhlNSwweDgyLDB4NDUsMHg4MywweDcwLDB4Zjl9fSwKLSB7IDEsMHgxNDk1LDAsezB4MjJ9fSwKLSB7MTYsMHgxNDk2LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg0MywweDg3LDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9fSwKLSB7MTYsMHgxNGE2LDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4OGQsMHhlMCwweGMwLDB4ZTB9fSwKLSB7MTYsMHgxNGI2LDAsezB4OGMsMHhlMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDA1LDB4ODYsMHhjMCwweDg0LDB4YzAsMHg4NSwweDdkLDB4MDB9fSwKLSB7MTYsMHgxNGM2LDAsezB4OTAsMHg3ZiwweGUzLDB4NzQsMHg3YiwweGYwLDB4YTMsMHg3NCwweDgwLDB4ZjAsMHg3YywweDExLDB4OTAsMHg3ZiwweDk5LDB4ZTB9fSwKLSB7MTYsMHgxNGQ2LDAsezB4NTQsMHg0MCwweGRjLDB4MDMsMHgwMiwweDE0LDB4ZjMsMHhiNCwweDAwLDB4MTMsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDQwLDB4ZjB9fSwKLSB7MTYsMHgxNGU2LDAsezB4OTAsMHg3ZiwweGU1LDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHgwMiwweDE0LDB4ZDIsMHg5MCwweDc2LDB4OTB9fSwKLSB7MTYsMHgxNGY2LDAsezB4ZTAsMHhiNCwweDAxLDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjB9fSwKLSB7MTYsMHgxNTA2LDAsezB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNSwweDU3LDB4YjQsMHgwMiwweDEyLDB4OTAsMHg3NiwweDhmLDB4ZTAsMHgyZCwweGZkLDB4OTB9fSwKLSB7MTYsMHgxNTE2LDAsezB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHg5NiwweGI0LDB4MDMsMHgxMiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxNTI2LDAsezB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4ZTF9fSwKLSB7MTYsMHgxNTM2LDAsezB4YjQsMHgwNCwweDEyLDB4OTAsMHg3NiwweDhmLDB4ZTAsMHgyZCwweGZkLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTB9fSwKLSB7MTYsMHgxNTQ2LDAsezB4N2YsMHg2YywweDAyLDB4MTYsMHgxMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTZ9fSwKLSB7MTYsMHgxNTU2LDAsezB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGYyLDB4N2R9fSwKLSB7MTYsMHgxNTY2LDAsezB4MDIsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHg1NCwweDA0LDB4YjR9fSwKLSB7MTYsMHgxNTc2LDAsezB4MDAsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjB9fSwKLSB7MTYsMHgxNTg2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZDQsMHgwMiwweDE2LDB4NDB9fSwKLSB7MTYsMHgxNTk2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9fSwKLSB7MTYsMHgxNWE2LDAsezB4ZjAsMHhmMCwweGRkLDB4ZWMsMHg3ZCwweDAyLDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgxNWI2LDAsezB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNCwweDAwLDB4MDUsMHgwNSwweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzR9fSwKLSB7MTYsMHgxNWM2LDAsezB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9fSwKLSB7IDYsMHgxNWQ2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfX0sCi0gezE2LDB4MTVkYywwLHsweGRkLDB4Y2UsMHgwMiwweDE2LDB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZmEsMHg3ZCwweDAyLDB4MDUsMHg4NiwweDkwfX0sCi0gezE2LDB4MTVlYywwLHsweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNCwweDAwLDB4MDUsMHgwNSwweDg2fX0sCi0gezE2LDB4MTVmYywwLHsweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkfX0sCi0gezE2LDB4MTYwYywwLHsweGRjLDB4MDIsMHgxNiwweDQwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhmOCwweDdkLDB4MDIsMHgwNSwweDg2fX0sCi0gezE2LDB4MTYxYywwLHsweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1fX0sCi0gezE2LDB4MTYyYywwLHsweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwfX0sCi0gezE2LDB4MTYzYywwLHsweGYwLDB4ZjAsMHhkZCwweGRhLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2fX0sCi0gezE2LDB4MTY0YywwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmfX0sCi0geyA1LDB4MTY1YywwLHsweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9fSwKLSB7MTYsMHgxNjYxLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDkwLDB4NzYsMHg3YywweGUwLDB4OTAsMHg3ZiwweDZmLDB4ZjB9fSwKLSB7MTYsMHgxNjcxLDAsezB4OTAsMHg3NiwweDdkLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMCwweDkwLDB4NzYsMHg3ZSwweGUwLDB4OTAsMHg3ZiwweDZmLDB4ZjB9fSwKLSB7IDksMHgxNjgxLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfX0sCi0gezE2LDB4MTY4YSwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzfX0sCi0gezE2LDB4MTY5YSwwLHsweDA1LDB4ODYsMHhjMCwweDg0LDB4YzAsMHg4NSwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhiZiwweDAwLDB4MDMsMHgwMiwweDE3fX0sCi0gezE2LDB4MTZhYSwwLHsweDAxLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4MTZiYSwwLHsweDYyLDB4ZTAsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweDdmfX0sCi0gezE2LDB4MTZjYSwwLHsweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3NiwweDhlLDB4ZTAsMHhiNCwweDAxLDB4MDUsMHgwNSwweDg2fX0sCi0gezE2LDB4MTZkYSwwLHsweDAyLDB4MTYsMHhmNiwweGI0LDB4MDIsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4ZWIsMHgwNSwweDg2LDB4MDIsMHgxNiwweGZifX0sCi0gezE2LDB4MTZlYSwwLHsweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGRmLDB4ZjgsMHgwMiwweDE2LDB4ZmIsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGRmfX0sCi0gezE2LDB4MTZmYSwwLHsweGZhLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2LDB4ZDAsMHg4MywweGQwfX0sCi0gezEyLDB4MTcwYSwwLHsweDgyLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn19LAotIHsxNiwweDE3MTYsMCx7MHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHhlOCwweGMwLDB4ZTAsMHg3OCwweGQxLDB4ZTgsMHgxNCwweGY4LDB4NzAsMHhmYn19LAotIHsxMCwweDE3MjYsMCx7MHhkMCwweGUwLDB4ZjgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgyMn19LAotIHsxNiwweDE3MzAsMCx7MHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHhlOCwweGMwLDB4ZTAsMHg3OCwweDc4LDB4ZTgsMHgxNCwweGY4LDB4NzAsMHhmYn19LAotIHsxMCwweDE3NDAsMCx7MHhkMCwweGUwLDB4ZjgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgyMn19LAotIHsgNywweDE3NGEsMCx7MHg5MCwweDdmLDB4YzUsMHg3NCwweDAyLDB4ZjAsMHgyMn19LAotIHsxNiwweDE3NTEsMCx7MHg5MCwweDdlLDB4YzAsMHhlMCwweDkwLDB4NzYsMHg0NSwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHg5MCwweDc2LDB4NDQsMHhmMH19LAotIHsxNiwweDE3NjEsMCx7MHg5MCwweDdlLDB4YzIsMHhlMCwweDkwLDB4NzYsMHg0MywweGYwLDB4YjQsMHgwMCwweDAzLDB4MDIsMHgxNywweDc4LDB4OTAsMHg3Nn19LAotIHsxNiwweDE3NzEsMCx7MHgxOSwweDc0LDB4MDMsMHhmMCwweDAyLDB4MTcsMHg4ZSwweDkwLDB4NzYsMHg0NCwweGUwLDB4YjQsMHhiYiwweDA5LDB4OTAsMHg3Nn19LAotIHsxNiwweDE3ODEsMCx7MHgxOSwweDc0LDB4MDIsMHhmMCwweDAyLDB4MTcsMHg4ZSwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg0Mn19LAotIHsgMywweDE3OTEsMCx7MHhlNCwweGYwLDB4MjJ9fSwKLSB7IDQsMHgxNzk0LDAsezB4OGQsMHgyOSwweDhiLDB4MmF9fSwKLSB7MTYsMHgxNzk4LDAsezB4MTIsMHg0OSwweGZmLDB4ZWEsMHg0OSwweDYwLDB4NTcsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2F9fSwKLSB7MTYsMHgxN2E4LDAsezB4YzksMHhlZiwweGM5LDB4NzUsMHgyYiwweGZmLDB4ZjUsMHgyYywweDg5LDB4MmQsMHhhYiwweDJiLDB4YWEsMHgyYywweGE5LDB4MmR9fSwKLSB7MTYsMHgxN2I4LDAsezB4OTAsMHgwMCwweDAxLDB4MTIsMHgzNiwweGFiLDB4ZmYsMHg2NCwweDA0LDB4NjAsMHgwNSwweGVmLDB4NjQsMHgwNSwweDcwLDB4MmV9fSwKLSB7MTYsMHgxN2M4LDAsezB4ZWYsMHhiNCwweDA0LDB4MTUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDM2LDB4YWIsMHg2NSwweDI5LDB4NzAsMHgwYiwweDkwLDB4MDB9fSwKLSB7MTYsMHgxN2Q4LDAsezB4MDMsMHgxMiwweDM2LDB4YWIsMHg2NSwweDJhLDB4NzAsMHgwMSwweDIyLDB4MTIsMHgzNiwweDkyLDB4N2UsMHgwMCwweDI5LDB4ZmZ9fSwKLSB7MTYsMHgxN2U4LDAsezB4ZWUsMHgzYSwweGM5LDB4ZWYsMHhjOSwweDc1LDB4MmIsMHhmZiwweGY1LDB4MmMsMHg4OSwweDJkLDB4ODAsMHhiYywweDdiLDB4MDB9fSwKLSB7IDQsMHgxN2Y4LDAsezB4N2EsMHgwMCwweDc5LDB4MDB9fSwKLSB7IDEsMHgxN2ZjLDAsezB4MjJ9fSwKLSB7IDMsMHgxN2ZkLDAsezB4YzIsMHg4YiwweDMyfX0sCi0gezE2LDB4MTgwMCwwLHsweDkwLDB4NzYsMHg5MCwweGUwLDB4MTQsMHg2MCwweDM3LDB4MTQsMHg3MCwweDAyLDB4MDEsMHhkOCwweDE0LDB4NzAsMHgwMiwweDIxfX0sCi0gezE2LDB4MTgxMCwwLHsweDcyLDB4MTQsMHg3MCwweDAyLDB4NDEsMHgzYiwweDI0LDB4MDQsMHg2MCwweDAyLDB4NjEsMHgwMywweDkwLDB4N2YsMHhmYywweDc0fX0sCi0gezE2LDB4MTgyMCwwLHsweGNjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDU0fX0sCi0gezE2LDB4MTgzMCwwLHsweDA1LDB4ZjAsMHg5MCwweDgwLDB4MDEsMHhmMCwweGU0LDB4OTAsMHg3NiwweDFhLDB4ZjAsMHhjMiwweDJlLDB4MjIsMHg5MCwweDc2fX0sCi0gezE2LDB4MTg0MCwwLHsweDk1LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwfX0sCi0gezE2LDB4MTg1MCwwLHsweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwfX0sCi0gezE2LDB4MTg2MCwwLHsweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyMiwweDkwfX0sCi0gezE2LDB4MTg3MCwwLHsweDdmLDB4ZmMsMHg3NCwweDc0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJifX0sCi0gezE2LDB4MTg4MCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwfX0sCi0gezE2LDB4MTg5MCwwLHsweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjIsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDY4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjfX0sCi0gezE2LDB4MThhMCwwLHsweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHhlNCwweDkwfX0sCi0gezE2LDB4MThiMCwwLHsweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlfX0sCi0gezE2LDB4MThjMCwwLHsweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZifX0sCi0gezE2LDB4MThkMCwwLHsweGYwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHhkMiwweDJlLDB4MjIsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDQ0fX0sCi0gezE2LDB4MThlMCwwLHsweDAyLDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0fX0sCi0gezE2LDB4MThmMCwwLHsweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxfX0sCi0gezE2LDB4MTkwMCwwLHsweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyMiwweDkwLDB4N2YsMHhmYywweDc0LDB4MzAsMHhmMCwweDkwfX0sCi0gezE2LDB4MTkxMCwwLHsweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJiLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0fX0sCi0gezE2LDB4MTkyMCwwLHsweGZkLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyMiwweDkwfX0sCi0gezE2LDB4MTkzMCwwLHsweDdmLDB4ZmMsMHg3NCwweDFjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmfX0sCi0gezE2LDB4MTk0MCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwfX0sCi0gezE2LDB4MTk1MCwwLHsweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3fX0sCi0gezE2LDB4MTk2MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyfX0sCi0gezE2LDB4MTk3MCwwLHsweDJlLDB4MjIsMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDQ0LDB4MDgsMHhmMCwweDMwfX0sCi0gezE2LDB4MTk4MCwwLHsweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwfX0sCi0gezE2LDB4MTk5MCwwLHsweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2fX0sCi0gezE2LDB4MTlhMCwwLHsweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0fX0sCi0gezE2LDB4MTliMCwwLHsweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJiLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0fX0sCi0gezE2LDB4MTljMCwwLHsweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyNSwweDkwfX0sCi0gezE2LDB4MTlkMCwwLHsweDdmLDB4ZmMsMHg3NCwweGM4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmfX0sCi0gezE2LDB4MTllMCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwfX0sCi0gezE2LDB4MTlmMCwwLHsweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDk4LDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4MWEwMCwwLHsweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHg1ZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkfX0sCi0gezE2LDB4MWExMCwwLHsweGYwLDB4NDQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5fX0sCi0gezE2LDB4MWEyMCwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0gezE2LDB4MWEzMCwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHhkMiwweDJlLDB4MjIsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0fX0sCi0gezE2LDB4MWE0MCwwLHsweGZlLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg0NCwweDA4LDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwfX0sCi0gezE2LDB4MWE1MCwwLHsweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwfX0sCi0gezE2LDB4MWE2MCwwLHsweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyNSwweDkwfX0sCi0gezE2LDB4MWE3MCwwLHsweDdmLDB4ZmMsMHg3NCwweGI0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJifX0sCi0gezE2LDB4MWE4MCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwfX0sCi0gezE2LDB4MWE5MCwwLHsweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGIwLDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4MWFhMCwwLHsweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyfX0sCi0gezE2LDB4MWFiMCwwLHsweGYwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAzfX0sCi0gezE2LDB4MWFjMCwwLHsweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHg2OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmfX0sCi0gezE2LDB4MWFkMCwwLHsweDc0LDB4NWYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NDQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDc2fX0sCi0gezE2LDB4MWFlMCwwLHsweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwfX0sCi0gezE2LDB4MWFmMCwwLHsweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyfX0sCi0geyA0LDB4MWIwMCwwLHsweGYwLDB4ZDIsMHgyZSwweDIyfX0sCi0gezE2LDB4MWIwNCwwLHsweDMwLDB4MmMsMHgzOCwweGMyLDB4MmMsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlLDB4OTAsMHg3NiwweDdjfX0sCi0gezE2LDB4MWIxNCwwLHsweDc0LDB4YzAsMHhmMCwweGEzLDB4NzQsMHgxNCwweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwZCwweGU0fX0sCi0gezE2LDB4MWIyNCwwLHsweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweDEwLDB4ZjAsMHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBifX0sCi0gezEyLDB4MWIzNCwwLHsweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4MTgsMHhmMCwweGEzLDB4ZjAsMHgyMn19LAotIHsxNiwweDFiNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFiZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFjZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFkZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNCwweDFlYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWVjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWVmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWYyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0geyAyLDB4MWYzZSwwLHsweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMTkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMWYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTQsMHgyMzcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzN2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzOGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzOWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzYWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzYmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzY2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI0ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI1ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNCwweDI2ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjZmYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjcwYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjcxYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjcyYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjczYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc0YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc1YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc2YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc3YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc4YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4Mjc5YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjdhYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjdiYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjdjYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjdkYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjdlYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0geyA1LDB4MjdmYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9fSwKLSB7MTYsMHgyODAxLDAsezB4YzIsMHgyMCwweGMyLDB4MjEsMHhjMiwweDJhLDB4OTAsMHg3ZiwweGU4LDB4ZTAsMHgxMiwweDM3LDB4ZjksMHgyOCwweDMwLDB4MDB9fSwKLSB7MTYsMHgyODExLDAsezB4MjgsMHg4YywweDAxLDB4MjgsMHhhMiwweDAyLDB4MmEsMHgxZiwweDIxLDB4MmEsMHg2YSwweDIyLDB4MjksMHgzZCwweDgwLDB4Mjl9fSwKLSB7MTYsMHgyODIxLDAsezB4N2QsMHg4MSwweDI5LDB4ZDEsMHg4MiwweDJhLDB4ODQsMHhhMSwweDJhLDB4YmEsMHhhMiwweDAwLDB4MDAsMHgyYSwweGJmLDB4OTB9fSwKLSB7MTYsMHgyODMxLDAsezB4N2YsMHhlOSwweGUwLDB4MTQsMHg2MCwweDExLDB4MjQsMHhmZSwweDYwLDB4MjgsMHgyNCwweGZlLDB4NjAsMHgzYiwweDI0LDB4ZmN9fSwKLSB7MTYsMHgyODQxLDAsezB4NzAsMHg0MCwweDEyLDB4NGIsMHhhMCwweDQxLDB4Y2IsMHgxMiwweDRkLDB4YTcsMHg0MCwweDAyLDB4NDEsMHhjYiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgyODUxLDAsezB4ZWEsMHhlMCwweGI0LDB4MDEsMHgwNCwweGMyLDB4MjIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7MTYsMHgyODYxLDAsezB4NDEsMHhjYiwweDEyLDB4NGQsMHhhOSwweDkwLDB4N2YsMHhlYSwweGUwLDB4YjQsMHgwMSwweDA0LDB4ZDIsMHgyMiwweDQxLDB4Y2J9fSwKLSB7MTYsMHgyODcxLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7MTYsMHgyODgxLDAsezB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjR9fSwKLSB7MTYsMHgyODkxLDAsezB4ZjUsMHg3MCwweDA1LDB4MTIsMHg0OCwweDAwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDF9fSwKLSB7MTYsMHgyOGExLDAsezB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmQsMHg2MCwweDU0LDB4MjQsMHgwMiwweDYwLDB4MDIsMHgyMSwweDM0LDB4MTJ9fSwKLSB7MTYsMHgyOGIxLDAsezB4NGQsMHhhNywweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDM4LDB4OTAsMHg3ZiwweGVjLDB4ZTB9fSwKLSB7MTYsMHgyOGMxLDAsezB4ZjQsMHg1NCwweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjR9fSwKLSB7MTYsMHgyOGQxLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg1NCwweDgwLDB4ZmZ9fSwKLSB7MTYsMHgyOGUxLDAsezB4MTMsMHgxMywweDEzLDB4NTQsMHgxZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHg5MCwweDdmLDB4ZDcsMHhmMCwweGUwLDB4NDR9fSwKLSB7MTYsMHgyOGYxLDAsezB4MjAsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHgxMiwweDRkLDB4YTl9fSwKLSB7MTYsMHgyOTAxLDAsezB4NDAsMHgwMiwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDcwLDB4MjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGY0LDB4NTR9fSwKLSB7MTYsMHgyOTExLDAsezB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNCwweGY1LDB4ODJ9fSwKLSB7MTYsMHgyOTIxLDAsezB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9fSwKLSB7MTYsMHgyOTMxLDAsezB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTB9fSwKLSB7MTYsMHgyOTQxLDAsezB4NjAsMHgxMiwweDI0LDB4ZjgsMHg2MCwweDA5LDB4MjQsMHgwMiwweDcwLDB4MjksMHgxMiwweDQzLDB4ZGIsMHg0MSwweGNiLDB4MTJ9fSwKLSB7MTYsMHgyOTUxLDAsezB4NGQsMHg1YywweDQxLDB4Y2IsMHgxMiwweDRkLDB4YTUsMHhhMiwweDIyLDB4ZTQsMHgzMywweGZmLDB4MjUsMHhlMCwweGZmLDB4YTJ9fSwKLSB7MTYsMHgyOTYxLDAsezB4MjMsMHhlNCwweDMzLDB4NGYsMHg5MCwweDdmLDB4MDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDJ9fSwKLSB7MTYsMHgyOTcxLDAsezB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTB9fSwKLSB7MTYsMHgyOTgxLDAsezB4NjAsMHgzMywweDI0LDB4ZjYsMHg2MCwweDJhLDB4MjQsMHgwNCwweDcwLDB4M2QsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZGV9fSwKLSB7MTYsMHgyOTkxLDAsezB4NjAsMHgwYywweDA0LDB4NzAsMHgxMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgyOWExLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2J9fSwKLSB7MTYsMHgyOWIxLDAsezB4MTIsMHg0NiwweDg1LDB4NDEsMHhjYiwweDEyLDB4NGQsMHhhNSwweGU0LDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweGYwLDB4OTB9fSwKLSB7MTYsMHgyOWMxLDAsezB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2J9fSwKLSB7MTYsMHgyOWQxLDAsezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGY0LDB4NjAsMHgzNCwweDI0LDB4MGMsMHg3MCwweDM5LDB4MTIsMHg0ZCwweGE1LDB4OTB9fSwKLSB7MTYsMHgyOWUxLDAsezB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NCwweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjV9fSwKLSB7MTYsMHgyOWYxLDAsezB4ZTAsMHgyNCwweGI0LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZmQsMHg5MCwweDdmLDB4MDB9fSwKLSB7MTYsMHgyYTAxLDAsezB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTB9fSwKLSB7MTYsMHgyYTExLDAsezB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgyYTIxLDAsezB4ZTksMHhlMCwweDI0LDB4ZjYsMHg2MCwweDEyLDB4MTQsMHg2MCwweDFhLDB4MjQsMHgwMiwweDcwLDB4MWQsMHhkMiwweDIwLDB4OTB9fSwKLSB7MTYsMHgyYTMxLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxMiwweGQyLDB4MjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9fSwKLSB7MTYsMHgyYTQxLDAsezB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMCwweDIwLDB4MTgsMHg5MCwweDdmLDB4ZWV9fSwKLSB7MTYsMHgyYTUxLDAsezB4ZTAsMHg3MCwweDA0LDB4YTMsMHhlMCwweDYwLDB4MGIsMHhkMiwweDI5LDB4ZDIsMHgyNywweDEyLDB4MTcsMHg0YSwweGQyLDB4MmF9fSwKLSB7MTYsMHgyYTYxLDAsezB4ODAsMHgwMywweDEyLDB4MDgsMHgwMCwweGMyLDB4MjAsMHg4MCwweDYxLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHg3MCwweDA0LDB4YTN9fSwKLSB7MTYsMHgyYTcxLDAsezB4ZTAsMHg2MCwweDBiLDB4ZDIsMHgyOSwweGQyLDB4MjgsMHgxMiwweDE3LDB4NGEsMHhkMiwweDJhLDB4ODAsMHg0YywweDEyLDB4Mzh9fSwKLSB7MTYsMHgyYTgxLDAsezB4NzQsMHg4MCwweDQ3LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHgxMiwweDE0LDB4NjAsMHgxYSwweDI0LDB4MDJ9fSwKLSB7MTYsMHgyYTkxLDAsezB4NzAsMHgxZCwweGQyLDB4MjEsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTIsMHhkMiwweDIxLDB4OTB9fSwKLSB7MTYsMHgyYWExLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjB9fSwKLSB7MTYsMHgyYWIxLDAsezB4MjEsMHgwMywweDEyLDB4MTAsMHgwMCwweGMyLDB4MjEsMHg4MCwweDExLDB4MTIsMHgyYSwweGQ2LDB4ODAsMHgwYywweDEyLDB4NGR9fSwKLSB7MTYsMHgyYWMxLDAsezB4YWIsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMCwweDJhLDB4MDcsMHg5MCwweDdmLDB4YjR9fSwKLSB7IDUsMHgyYWQxLDAsezB4ZTAsMHg0NCwweDAyLDB4ZjAsMHgyMn19LAotIHsxNiwweDJhZDYsMCx7MHhlNCwweDkwLDB4NzYsMHgyNywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Mn19LAotIHsxNiwweDJhZTYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH19LAotIHsxNiwweDJhZjYsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDYsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI3LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX19LAotIHsxNiwweDJiMDYsMCx7MHhlZiwweGI0LDB4MDYsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwZn19LAotIHsxNiwweDJiMTYsMCx7MHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDI4LDB4ZjAsMHgyNH19LAotIHsxNiwweDJiMjYsMCx7MHg5ZiwweDcwLDB4MDIsMHhhMSwweDc0LDB4MjQsMHgyMSwweDYwLDB4MDIsMHhhMSwweGExLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNH19LAotIHsxNiwweDJiMzYsMCx7MHg3ZSwweDcwLDB4MDIsMHg2MSwweGZjLDB4MTQsMHg3MCwweDAyLDB4ODEsMHhiNSwweDI0LDB4MDIsMHg2MCwweDAyLDB4YTEsMHg2Y319LAotIHsxNiwweDJiNDYsMCx7MHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmY319LAotIHsxNiwweDJiNTYsMCx7MHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDAsMHg3OH19LAotIHsxNiwweDJiNjYsMCx7MHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzLDB4NzQsMHhhY319LAotIHsxNiwweDJiNzYsMCx7MHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMH19LAotIHsxNiwweDJiODYsMCx7MHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZH19LAotIHsxNiwweDJiOTYsMCx7MHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMn19LAotIHsxNiwweDJiYTYsMCx7MHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhM319LAotIHsxNiwweDJiYjYsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNH19LAotIHsxNiwweDJiYzYsMCx7MHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZX19LAotIHsxNiwweDJiZDYsMCx7MHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg2MH19LAotIHsxNiwweDJiZTYsMCx7MHgwMiwweGExLDB4YTgsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MH19LAotIHsxNiwweDJiZjYsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0N319LAotIHsxNiwweDJjMDYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhM319LAotIHsxNiwweDJjMTYsMCx7MHhlMCwweGZmLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxM319LAotIHsxNiwweDJjMjYsMCx7MHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWMsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNX19LAotIHsxNiwweDJjMzYsMCx7MHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDJjNDYsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3Yn19LAotIHsxNiwweDJjNTYsMCx7MHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDJjNjYsMCx7MHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMH19LAotIHsxNiwweDJjNzYsMCx7MHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDJjODYsMCx7MHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3N319LAotIHsxNiwweDJjOTYsMCx7MHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NjAsMHgwMiwweGExLDB4YTgsMHg5MCwweDdmLDB4MDAsMHhmMH19LAotIHsxNiwweDJjYTYsMCx7MHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MH19LAotIHsxNiwweDJjYjYsMCx7MHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDJjYzYsMCx7MHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OX19LAotIHsxNiwweDJjZDYsMCx7MHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhM319LAotIHsxNiwweDJjZTYsMCx7MHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMH19LAotIHsxNiwweDJjZjYsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhM319LAotIHsxNiwweDJkMDYsMCx7MHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMH19LAotIHsxNiwweDJkMTYsMCx7MHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMH19LAotIHsxNiwweDJkMjYsMCx7MHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZn19LAotIHsxNiwweDJkMzYsMCx7MHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhM319LAotIHsxNiwweDJkNDYsMCx7MHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzN319LAotIHsxNiwweDJkNTYsMCx7MHhhYiwweDcwLDB4NGYsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MH19LAotIHsxNiwweDJkNjYsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn19LAotIHsxNiwweDJkNzYsMCx7MHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4MWUsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Zn19LAotIHsxNiwweDJkODYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NH19LAotIHsxNiwweDJkOTYsMCx7MHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH19LAotIHsgMywweDJkYTYsMCx7MHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgyZGE5LDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgyZGI5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODJ9fSwKLSB7MTYsMHgyZGM5LDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjV9fSwKLSB7MTYsMHgyZGQ5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmZ9fSwKLSB7MTYsMHgyZGU5LDAsezB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDEwLDB4ZjB9fSwKLSB7MTYsMHgyZGY5LDAsezB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDV9fSwKLSB7MTYsMHgyZTA5LDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTR9fSwKLSB7MTYsMHgyZTE5LDAsezB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjV9fSwKLSB7MTYsMHgyZTI5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGZ9fSwKLSB7MTYsMHgyZTM5LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjR9fSwKLSB7MTYsMHgyZTQ5LDAsezB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjB9fSwKLSB7MTYsMHgyZTU5LDAsezB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9fSwKLSB7MTYsMHgyZTY5LDAsezB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgyZTc5LDAsezB4NzQsMHgwMywweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgyZTg5LDAsezB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjR9fSwKLSB7MTYsMHgyZTk5LDAsezB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTR9fSwKLSB7MTYsMHgyZWE5LDAsezB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTYsMHgyZWI5LDAsezB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTB9fSwKLSB7MTYsMHgyZWM5LDAsezB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgyZWQ5LDAsezB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgyZWU5LDAsezB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgyZWY5LDAsezB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTYsMHgyZjA5LDAsezB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjB9fSwKLSB7MTYsMHgyZjE5LDAsezB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDgsMHhmMCwweGVmLDB4NzV9fSwKLSB7MTYsMHgyZjI5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4OTB9fSwKLSB7MTYsMHgyZjM5LDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgyZjQ5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODJ9fSwKLSB7MTYsMHgyZjU5LDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MGEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjV9fSwKLSB7MTYsMHgyZjY5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTB9fSwKLSB7MTYsMHgyZjc5LDAsezB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDJ9fSwKLSB7MTYsMHgyZjg5LDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9fSwKLSB7MTYsMHgyZjk5LDAsezB4MDksMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgyZmE5LDAsezB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjR9fSwKLSB7MTYsMHgyZmI5LDAsezB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTR9fSwKLSB7MTYsMHgyZmM5LDAsezB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNywweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTQsMHgyZmQ5LDAsezB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHgyMn19LAotIHsxNiwweDJmZTcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDI2LDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMX19LAotIHsgOCwweDJmZjcsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0geyAxLDB4MmZmZiwwLHsweDMyfX0sCi0gezE2LDB4MzAwMCwwLHsweDkwLDB4N2YsMHhiNiwweGUwLDB4MjAsMHhlMSwweDAyLDB4YzIsMHgzZCwweGQyLDB4MzYsMHgyMCwweDM2LDB4MDIsMHg0MSwweDZlfX0sCi0gezE2LDB4MzAxMCwwLHsweDMwLDB4M2QsMHgwMiwweDQxLDB4NmUsMHg5MCwweDgwLDB4MDcsMHhlMCwweDYwLDB4MDQsMHhkMiwweDM2LDB4ODAsMHgwMiwweGMyfX0sCi0gezE2LDB4MzAyMCwwLHsweDM2LDB4MjAsMHgzNiwweDAyLDB4NDEsMHgyZSwweGQyLDB4MzUsMHhlNCwweGY1LDB4MWEsMHg5MCwweDgwLDB4MDQsMHhlMCwweGY1fX0sCi0gezE2LDB4MzAzMCwwLHsweDE5LDB4NzQsMHgwOCwweDI1LDB4MGUsMHhmOCwweGE2LDB4MTksMHg4NSwweDE5LDB4MTgsMHhlNSwweDE4LDB4MjAsMHhlNywweDA0fX0sCi0gezE2LDB4MzA0MCwwLHsweGQyLDB4MzgsMHg4MCwweDAyLDB4YzIsMHgzOCwweDMwLDB4MzgsMHgwMiwweDIxLDB4ZDQsMHhlNCwweGY1LDB4MTYsMHhlNSwweDE5fX0sCi0gezE2LDB4MzA1MCwwLHsweGI0LDB4ZjAsMHgwYywweGQyLDB4MzksMHg3NSwweDA4LDB4MDQsMHg3NSwweDA5LDB4ZjAsMHgwNSwweDBlLDB4ODAsMHgwMiwweDA1fX0sCi0gezE2LDB4MzA2MCwwLHsweDE2LDB4ZTUsMHgxOSwweDY0LDB4ZjcsMHg3MCwweDNkLDB4YzIsMHgzOSwweGU1LDB4MGUsMHgyNCwweGZlLDB4NjAsMHgxNywweDE0fX0sCi0gezE2LDB4MzA3MCwwLHsweDYwLDB4MjIsMHgyNCwweDAzLDB4NzAsMHgyOSwweDc1LDB4MDgsMHgwNSwweDc1LDB4MDksMHhmNywweGU0LDB4ZjUsMHgwYSwweGY1fX0sCi0gezE2LDB4MzA4MCwwLHsweDBiLDB4NzUsMHgwZSwweDA0LDB4ODAsMHgyMCwweDc1LDB4MDgsMHgwNiwweDc1LDB4MGEsMHhmNywweGU0LDB4ZjUsMHgwYiwweDc1fX0sCi0gezE2LDB4MzA5MCwwLHsweDBlLDB4MDQsMHg4MCwweDEyLDB4NzUsMHgwOCwweDA3LDB4NzUsMHgwYiwweGY3LDB4NzUsMHgwZSwweDA0LDB4ODAsMHgwNywweDEyfX0sCi0gezE2LDB4MzBhMCwwLHsweDQ4LDB4ZjMsMHg4MCwweDAyLDB4MDUsMHgxNiwweGU1LDB4MTksMHg1NCwweGY4LDB4NjQsMHhmOCwweDcwLDB4M2IsMHhjMiwweDM1fX0sCi0gezE2LDB4MzBiMCwwLHsweGU1LDB4MTksMHgyNCwweDA3LDB4NjAsMHgwYywweDI0LDB4ZmMsMHg2MCwweDA4LDB4MjQsMHgwNSwweDI0LDB4ZjgsMHg1MCwweDA2fX0sCi0gezE2LDB4MzBjMCwwLHsweDgwLDB4MDgsMHhkMiwweDNhLDB4ODAsMHgwNiwweGMyLDB4M2EsMHg4MCwweDAyLDB4ZDIsMHgzYSwweDc1LDB4MWEsMHgwMSwweDIwfX0sCi0gezE2LDB4MzBkMCwwLHsweDNhLDB4MTksMHg5MCwweDdlLDB4ODAsMHg3NCwweDBmLDB4ZjAsMHhhMywweGU1LDB4MTksMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzfX0sCi0gezE2LDB4MzBlMCwwLHsweGYwLDB4OTAsMHg3ZiwweGI3LDB4NzQsMHgwNCwweGYwLDB4ODAsMHgwMiwweDA1LDB4MTYsMHgyMCwweDM5LDB4NmQsMHhlNSwweDE5fX0sCi0gezE2LDB4MzBmMCwwLHsweDY0LDB4ZjcsMHg2MCwweDY3LDB4ZTUsMHgxYSwweDcwLDB4NjMsMHhlNSwweDE4LDB4NTQsMHhmMCwweDY0LDB4ZjAsMHg3MCwweDU5fX0sCi0gezE2LDB4MzEwMCwwLHsweDg1LDB4MTgsMHgxOSwweGY1LDB4MGUsMHhlNSwweDE5LDB4MjQsMHgwZiwweDYwLDB4MWIsMHgyNCwweGZlLDB4NjAsMHgxNywweDI0fX0sCi0gezE2LDB4MzExMCwwLHsweGZkLDB4NjAsMHgyMiwweDE0LDB4NjAsMHgxZiwweDI0LDB4MDUsMHg3MCwweDJmLDB4NzUsMHgwOCwweDAzLDB4MDUsMHgwZSwweDg1fX0sCi0gezE2LDB4MzEyMCwwLHsweDE4LDB4MDksMHhkMiwweDM3LDB4ODAsMHgyOCwweDc1LDB4MDgsMHgwMiwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHg3NSwweDE0fX0sCi0gezE2LDB4MzEzMCwwLHsweDAxLDB4ZDIsMHgzNywweDgwLDB4MTksMHg3NSwweDA4LDB4MDUsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4ZTQsMHhmNSwweDBhfX0sCi0gezE2LDB4MzE0MCwwLHsweGY1LDB4MGIsMHg3NSwweDBlLDB4MDMsMHhkMiwweDM3LDB4ODAsMHgwNSwweDEyLDB4NDgsMHhmMywweGMyLDB4MzUsMHgzMCwweDM1fX0sCi0gezE2LDB4MzE1MCwwLHsweDBhLDB4ODUsMHgwOCwweDEzLDB4ODUsMHgxOCwweDEyLDB4ODAsMHgwMiwweDA1LDB4MTYsMHg4NSwweDE4LDB4MTksMHhlNSwweDE2fX0sCi0gezE2LDB4MzE2MCwwLHsweDY0LDB4MDQsMHg3MCwweDYyLDB4ZjUsMHgwZSwweGU1LDB4MTksMHg1NCwweGYwLDB4ZjUsMHgxOSwweGY1LDB4MTUsMHg4NSwweDE4fX0sCi0gezE2LDB4MzE3MCwwLHsweDE5LDB4ZTUsMHgxNSwweDI0LDB4NzAsMHg2MCwweDE4LDB4MjQsMHhmMCwweDYwLDB4MTQsMHgyNCwweGYwLDB4NjAsMHgxMCwweDI0fX0sCi0gezE2LDB4MzE4MCwwLHsweGYwLDB4NjAsMHgxZSwweDI0LDB4ZjAsMHg2MCwweDFhLDB4MjQsMHhmMCwweDYwLDB4MDQsMHgyNCwweDYwLDB4NzAsMHgyNywweGU1fX0sCi0gezE2LDB4MzE5MCwwLHsweDE1LDB4YzQsMHg1NCwweDBmLDB4ZjUsMHgxOSwweGY1LDB4MDgsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4ZDIsMHgzNywweDgwfX0sCi0gezE2LDB4MzFhMCwwLHsweDFhLDB4ZTUsMHgxNSwweGM0LDB4NTQsMHgwZiwweGY1LDB4MTksMHhmNSwweDA4LDB4MDUsMHgwZSwweDg1LDB4MTgsMHgwOSwweDc1fX0sCi0gezE2LDB4MzFiMCwwLHsweDE0LDB4MDEsMHhkMiwweDM3LDB4ODAsMHgwNSwweDEyLDB4NDgsMHhmMywweGMyLDB4MzUsMHgzMCwweDM1LDB4MGEsMHg4NSwweDE5fX0sCi0gezE2LDB4MzFjMCwwLHsweDEzLDB4ODUsMHgxOCwweDEyLDB4ODAsMHgwMiwweDA1LDB4MTYsMHhlNSwweDE2LDB4ZDMsMHg5NCwweDA1LDB4NDAsMHg1NywweDEyfX0sCi0gezE2LDB4MzFkMCwwLHsweDQ4LDB4ZjMsMHg4MCwweDUyLDB4MzAsMHgzOSwweDE3LDB4ZTUsMHgwZSwweDcwLDB4MGEsMHg4NSwweDA4LDB4MDksMHg3NSwweDA4fX0sCi0gezE2LDB4MzFlMCwwLHsweDA0LDB4MDUsMHgwZSwweDgwLDB4NDEsMHg3NCwweDA4LDB4MjUsMHgwZSwweGY4LDB4YTYsMHgxOSwweDgwLDB4MzgsMHgyMCwweDM3fX0sCi0gezE2LDB4MzFmMCwwLHsweDJhLDB4ZTUsMHgwZSwweGI0LDB4MDEsMHgwZiwweDg1LDB4MDgsMHgwYSwweDg1LDB4MDksMHgwYiwweDg1LDB4MTMsMHgwOCwweDg1fX0sCi0gezE2LDB4MzIwMCwwLHsweDEyLDB4MDksMHg3NSwweDBlLDB4MDQsMHhlNSwweDE0LDB4YjQsMHgwMSwweDFjLDB4ODUsMHgwOCwweDBhLDB4ZTQsMHhmNSwweDBifX0sCi0gezE2LDB4MzIxMCwwLHsweDg1LDB4MTMsMHgwOCwweDg1LDB4MTIsMHgwOSwweDc1LDB4MGUsMHgwNCwweDgwLDB4MGIsMHhlNSwweDE0LDB4YjQsMHgwMSwweDA2fX0sCi0gezE2LDB4MzIyMCwwLHsweGU0LDB4ZjUsMHgwYiwweDc1LDB4MGUsMHgwNCwweGU0LDB4ZjUsMHgxYSwweDMwLDB4MzUsMHgwMiwweDA1LDB4MGUsMHhlNSwweDBlfX0sCi0gezE2LDB4MzIzMCwwLHsweGQzLDB4OTQsMHgwMywweDUwLDB4MDIsMHgwMSwweDBiLDB4YzIsMHgzNywweGU0LDB4ZjUsMHgwZSwweGY1LDB4MTAsMHhjMiwweDM2fX0sCi0gezE2LDB4MzI0MCwwLHsweGQyLDB4M2QsMHhmNSwweDE0LDB4NzQsMHgwOCwweDI1LDB4MTAsMHhmOCwweGU2LDB4ZmYsMHg3NCwweDgwLDB4MjUsMHgxMCwweGY1fX0sCi0gezE2LDB4MzI1MCwwLHsweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg3NCwweDA4LDB4MjUsMHgxMCwweGY4LDB4ZTQsMHhmNiwweDA1fX0sCi0gezE1LDB4MzI2MCwwLHsweDEwLDB4ZTUsMHgxMCwweGI0LDB4MDQsMHhkZSwweDkwLDB4N2YsMHhiNywweDc0LDB4MDQsMHhmMCwweDAxLDB4MGIsMHgyMn19LAotIHsxNiwweDMyNmYsMCx7MHg5MCwweDc2LDB4MTgsMHhlMCwweGZmLDB4NjQsMHgwNSwweDcwLDB4NDIsMHg5MCwweDc1LDB4YWIsMHhlMCwweGI0LDB4MDEsMHgxOX19LAotIHsxNiwweDMyN2YsMCx7MHg5MCwweDcyLDB4MzcsMHg3NCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4ODAsMHgyMCwweGYwLDB4OTAsMHg4MCwweDMxLDB4ZjAsMHg5MH19LAotIHsxNiwweDMyOGYsMCx7MHg4MCwweDI4LDB4ZjAsMHg5MCwweDgwLDB4MzksMHhmMCwweDgwLDB4MjIsMHhlNCwweDkwLDB4NzIsMHgzNywweGYwLDB4OTAsMHg3NX19LAotIHsxNiwweDMyOWYsMCx7MHhhZCwweGUwLDB4OTAsMHg3MiwweDJiLDB4ZjAsMHhlMCwweDI0LDB4ODAsMHhmMCwweGUwLDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MH19LAotIHsxNiwweDMyYWYsMCx7MHg4MCwweDMxLDB4ZjAsMHg5MCwweDgwLDB4MjgsMHhmMCwweDkwLDB4ODAsMHgzOSwweGYwLDB4ZWYsMHg2NCwweDA2LDB4NjAsMHgwMn19LAotIHsxNiwweDMyYmYsMCx7MHg4MSwweDk5LDB4OTAsMHg3MiwweDM5LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3MiwweDM5LDB4ZTAsMHhmZiwweDI0LDB4ZmUsMHg5MH19LAotIHsxNiwweDMyY2YsMCx7MHg3MiwweDA0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDMyZGYsMCx7MHg4MywweGUwLDB4NjQsMHgwMSwweDcwLDB4NTQsMHg5MCwweDcyLDB4MzYsMHgwNCwweGYwLDB4OTAsMHg3MiwweDA0LDB4ZTAsMHhmZn19LAotIHsxNiwweDMyZWYsMCx7MHgyNCwweGZkLDB4NjAsMHgyOCwweDI0LDB4ZmUsMHg2MCwweDI0LDB4MjQsMHgwMywweDI0LDB4ZmIsMHg1MCwweDA0LDB4NjAsMHgxY319LAotIHsxNiwweDMyZmYsMCx7MHg4MSwweDhjLDB4NzQsMHgyMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzQsMHgyOH19LAotIHsxNiwweDMzMGYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDgxLDB4OGMsMHg5MCwweDcyLDB4MDQsMHhlMH19LAotIHsxNiwweDMzMWYsMCx7MHhmZiwweDI0LDB4MzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3NCwweDM4LDB4MmYsMHhmNX19LAotIHsxNiwweDMzMmYsMCx7MHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4ODEsMHg4YywweGU0LDB4OTAsMHg3MiwweDM2LDB4ZjAsMHg5MH19LAotIHsxNiwweDMzM2YsMCx7MHg3MiwweDM5LDB4ZTAsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDMzNGYsMCx7MHhlMCwweGZmLDB4N2UsMHgwMCwweDkwLDB4NzUsMHgwYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHg3MCwweDA2LDB4OTAsMHg3Mn19LAotIHsxNiwweDMzNWYsMCx7MHgwMiwweDc0LDB4M2IsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg2NCwweDgwLDB4NGUsMHg3MH19LAotIHsxNiwweDMzNmYsMCx7MHgwNCwweDkwLDB4NzIsMHgwMiwweGYwLDB4ZWYsMHg0ZSwweDcwLDB4MDIsMHg4MSwweDM1LDB4ZWYsMHg2NCwweDgwLDB4NGUsMHg3MH19LAotIHsxNiwweDMzN2YsMCx7MHgwMiwweDgxLDB4MzUsMHhlZiwweGY4LDB4ZTQsMHg5MCwweDc1LDB4MGQsMHhmMCwweGU4LDB4OTAsMHg3NSwweDBjLDB4ZjAsMHg5MH19LAotIHsxNiwweDMzOGYsMCx7MHg3MiwweDM0LDB4ZTAsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDMzOWYsMCx7MHhlMCwweGZmLDB4OTAsMHg3MiwweDAyLDB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMCwweDJmLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMH19LAotIHsxNiwweDMzYWYsMCx7MHgzNCwweDAwLDB4ZjAsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4N2IsMHhkNiwweDdhLDB4YTUsMHhmOX19LAotIHsxNiwweDMzYmYsMCx7MHhmOCwweGQzLDB4MTIsMHgzNywweDk1LDB4NDAsMHgwYSwweDkwLDB4NzUsMHgwYywweDc0LDB4YTUsMHhmMCwweGEzLDB4NzQsMHhkNn19LAotIHsxNiwweDMzY2YsMCx7MHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MjQsMHgyYSwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDVhLDB4ZjAsMHhlMH19LAotIHsxNiwweDMzZGYsMCx7MHhmZSwweGEzLDB4ZTAsMHg3OCwweDA1LDB4Y2UsMHhhMiwweGU3LDB4MTMsMHhjZSwweDEzLDB4ZDgsMHhmOCwweGZmLDB4OTAsMHg3NX19LAotIHsxNiwweDMzZWYsMCx7MHgwYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4ZDMsMHg5NH19LAotIHsxNiwweDMzZmYsMCx7MHhkMiwweGVlLDB4NjQsMHg4MCwweDk0LDB4ODIsMHg0MCwweDBhLDB4OTAsMHg3MiwweDJjLDB4NzQsMHgwMiwweGYwLDB4YTMsMHg3NH19LAotIHsxNiwweDM0MGYsMCx7MHhkMiwweGYwLDB4YzMsMHg5MCwweDcyLDB4MmMsMHhlMCwweDY0LDB4ODAsMHg5NCwweDgwLDB4NTAsMHgwNCwweGU0LDB4ZjAsMHhhM319LAotIHsxNiwweDM0MWYsMCx7MHhmMCwweDkwLDB4NzIsMHgyYywweGUwLDB4ZmUsMHhhMywweGUwLDB4MjQsMHgzYSwweGY1LDB4ODIsMHhlZSwweDM0LDB4NzIsMHhmNX19LAotIHsxNiwweDM0MmYsMCx7MHg4MywweGUwLDB4OTAsMHg3MiwweDAyLDB4ZjAsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZmLDB4MjQsMHhmZCwweDYwLDB4MmQsMHgyNH19LAotIHsxNiwweDM0M2YsMCx7MHhmZSwweDYwLDB4MjksMHgyNCwweDAzLDB4MjQsMHhmYiwweDUwLDB4MDQsMHg2MCwweDIxLDB4ODAsMHg0MCwweDkwLDB4NzIsMHgwMn19LAotIHsxNiwweDM0NGYsMCx7MHhlMCwweGZlLDB4NzQsMHgyMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHgyOH19LAotIHsxNiwweDM0NWYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDgwLDB4MjEsMHg5MCwweDcyLDB4MDIsMHhlMH19LAotIHsxNiwweDM0NmYsMCx7MHhmZiwweDkwLDB4NzIsMHgwNCwweGUwLDB4ZmUsMHgyNCwweDMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZn19LAotIHsxNiwweDM0N2YsMCx7MHhmMCwweDc0LDB4MzgsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzIsMHgzOX19LAotIHsxMSwweDM0OGYsMCx7MHhlMCwweDA0LDB4ZjAsMHhlMCwweDY0LDB4MGEsMHg2MCwweDAyLDB4NDEsMHhjNywweDIyfX0sCi0gezE2LDB4MzQ5YSwwLHsweDkwLDB4NzYsMHgxOCwweGUwLDB4ZmYsMHhiNCwweDA1LDB4MjMsMHg5MCwweDcyLDB4MzcsMHhlMCwweDcwLDB4MWQsMHg5MCwweDc1fX0sCi0gezE2LDB4MzRhYSwwLHsweGFkLDB4ZTAsMHg5MCwweDcyLDB4MmIsMHhmMCwweGUwLDB4MjQsMHg4MCwweGYwLDB4ZTAsMHg5MCwweDgwLDB4MjAsMHhmMCwweDkwfX0sCi0gezE2LDB4MzRiYSwwLHsweDgwLDB4MzEsMHhmMCwweDkwLDB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHhlZiwweDY0LDB4MDYsMHg2MCwweDAyfX0sCi0gezE2LDB4MzRjYSwwLHsweGMxLDB4OTEsMHg5MCwweDcyLDB4MzYsMHhlMCwweDYwLDB4MDIsMHhjMSwweDkxLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHg3MCwweDMxfX0sCi0gezE2LDB4MzRkYSwwLHsweDkwLDB4NzIsMHgwMywweDc0LDB4MDMsMHhmMCwweDkwLDB4NzIsMHgwMywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0fX0sCi0gezE2LDB4MzRlYSwwLHsweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3MiwweDI5LDB4ZTAsMHhmZCwweGVlfX0sCi0gezE2LDB4MzRmYSwwLHsweDZkLDB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDBhLDB4NTAsMHgwOCwweDkwLDB4NzIsMHgwMywweGUwLDB4MDQsMHhmMCwweDgwfX0sCi0gezE2LDB4MzUwYSwwLHsweGQ1LDB4OTAsMHg3MiwweDM5LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHg3MCwweDA4LDB4OTAsMHg3MiwweDAzfX0sCi0gezE2LDB4MzUxYSwwLHsweGUwLDB4OTAsMHg3MiwweDM5LDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweGZkLDB4MjQsMHhmZSwweDkwLDB4NzIsMHgyYSwweGYwfX0sCi0gezE2LDB4MzUyYSwwLHsweGVkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmfX0sCi0gezE2LDB4MzUzYSwwLHsweDdlLDB4MDAsMHg5MCwweDc1LDB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4NzAsMHgwNiwweDkwLDB4NzIsMHgwMiwweDc0fX0sCi0gezE2LDB4MzU0YSwwLHsweDgwLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4NjQsMHg4MCwweDRlLDB4NzAsMHgwNCwweDkwfX0sCi0gezE2LDB4MzU1YSwwLHsweDcyLDB4MDIsMHhmMCwweGVmLDB4NGUsMHg3MCwweDAyLDB4YzEsMHgxYiwweGVmLDB4NjQsMHg4MCwweDRlLDB4NzAsMHgwMiwweGMxfX0sCi0gezE2LDB4MzU2YSwwLHsweDFiLDB4ZWYsMHhmOCwweGU0LDB4OTAsMHg3NSwweDBkLDB4ZjAsMHhlOCwweDkwLDB4NzUsMHgwYywweGYwLDB4ZWQsMHg3NSwweGYwfX0sCi0gezE2LDB4MzU3YSwwLHsweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3MiwweDAyfX0sCi0gezE2LDB4MzU4YSwwLHsweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTAsMHgyZiwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDAwLDB4ZjAsMHhlMCwweGZlfX0sCi0gezE2LDB4MzU5YSwwLHsweGEzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweDdiLDB4ZDYsMHg3YSwweGE1LDB4ZjksMHhmOCwweGQzLDB4MTIsMHgzNywweDk1fX0sCi0gezE2LDB4MzVhYSwwLHsweDQwLDB4MGEsMHg5MCwweDc1LDB4MGMsMHg3NCwweGE1LDB4ZjAsMHhhMywweDc0LDB4ZDYsMHhmMCwweDkwLDB4NzUsMHgwZCwweGUwfX0sCi0gezE2LDB4MzViYSwwLHsweDI0LDB4MmEsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4MzQsMHg1YSwweGYwLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHg3OCwweDA1fX0sCi0gezE2LDB4MzVjYSwwLHsweGNlLDB4YTIsMHhlNywweDEzLDB4Y2UsMHgxMywweGQ4LDB4ZjgsMHhmZiwweDkwLDB4NzUsMHgwYywweGVlLDB4ZjAsMHhhMywweGVmfX0sCi0gezE2LDB4MzVkYSwwLHsweGYwLDB4OTAsMHg3MiwweDJjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweGQzLDB4OTQsMHhkMiwweGVlLDB4NjQsMHg4MCwweDk0fX0sCi0gezE2LDB4MzVlYSwwLHsweDgyLDB4NDAsMHgwYSwweDkwLDB4NzIsMHgyYywweDc0LDB4MDIsMHhmMCwweGEzLDB4NzQsMHhkMiwweGYwLDB4YzMsMHg5MCwweDcyfX0sCi0gezE2LDB4MzVmYSwwLHsweDJjLDB4ZTAsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MDQsMHhlNCwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzIsMHgyYywweGUwfX0sCi0gezE2LDB4MzYwYSwwLHsweGZlLDB4YTMsMHhlMCwweDI0LDB4M2EsMHhmNSwweDgyLDB4ZWUsMHgzNCwweDcyLDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3MiwweDAyfX0sCi0gezE2LDB4MzYxYSwwLHsweGYwLDB4OTAsMHg3MiwweDJhLDB4ZTAsMHhmZiwweDI0LDB4ZmQsMHg2MCwweDJkLDB4MjQsMHhmZSwweDYwLDB4MjksMHgyNCwweDAzfX0sCi0gezE2LDB4MzYyYSwwLHsweDI0LDB4ZmIsMHg1MCwweDA0LDB4NjAsMHgyMSwweDgwLDB4NDAsMHg5MCwweDcyLDB4MDIsMHhlMCwweGZlLDB4NzQsMHgyMCwweDJmfX0sCi0gezE2LDB4MzYzYSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4MjgsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MzY0YSwwLHsweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg4MCwweDIxLDB4OTAsMHg3MiwweDAyLDB4ZTAsMHhmZiwweDkwLDB4NzIsMHgyYSwweGUwfX0sCi0gezE2LDB4MzY1YSwwLHsweGZlLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDc0LDB4MzgsMHgyZSwweGY1fX0sCi0gezE2LDB4MzY2YSwwLHsweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MDYsMHg5MCwweDcyfX0sCi0gezE2LDB4MzY3YSwwLHsweDM5LDB4NzQsMHgwYSwweGYwLDB4OTAsMHg3MiwweDM5LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhjMywweDk0LDB4MGEsMHg1MCwweDAyfX0sCi0geyA4LDB4MzY4YSwwLHsweGExLDB4MTEsMHhlNCwweDkwLDB4NzYsMHg0MCwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzNjkyLDAsezB4YmIsMHgwMSwweDA2LDB4ODksMHg4MiwweDhhLDB4ODMsMHhlMCwweDIyLDB4NTAsMHgwMiwweGU3LDB4MjIsMHhiYiwweGZlLDB4MDJ9fSwKLSB7IDksMHgzNmEyLDAsezB4ZTMsMHgyMiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTQsMHg5MywweDIyfX0sCi0gezE2LDB4MzZhYiwwLHsweGJiLDB4MDEsMHgwYywweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHgyMiwweDUwfX0sCi0gezE2LDB4MzZiYiwwLHsweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlNiwweDIyLDB4YmIsMHhmZSwweDA2LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweDIyfX0sCi0gezEzLDB4MzZjYiwwLHsweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTQsMHg5MywweDIyfX0sCi0gezE2LDB4MzZkOCwwLHsweGMyLDB4ZDUsMHhlYywweDMwLDB4ZTcsMHgwOSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWQsMHhmZCwweGU0LDB4OWMsMHhmYywweGVlfX0sCi0gezE2LDB4MzZlOCwwLHsweDMwLDB4ZTcsMHgxNSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWYsMHhmZiwweGU0LDB4OWUsMHhmZSwweDEyLDB4MzgsMHgxZiwweGMzfX0sCi0gezE2LDB4MzZmOCwwLHsweGU0LDB4OWQsMHhmZCwweGU0LDB4OWMsMHhmYywweDgwLDB4MDMsMHgxMiwweDM4LDB4MWYsMHgzMCwweGQ1LDB4MDcsMHhjMywweGU0fX0sCi0geyA2LDB4MzcwOCwwLHsweDlmLDB4ZmYsMHhlNCwweDllLDB4ZmUsMHgyMn19LAotIHsxNiwweDM3MGUsMCx7MHhiYiwweDAxLDB4MTAsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHhmMH19LAotIHsxNiwweDM3MWUsMCx7MHhhMywweGUwLDB4MjIsMHg1MCwweDA5LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHg4NiwweGYwLDB4MDgsMHhlNiwweDIyLDB4YmIsMHhmZX19LAotIHsxNiwweDM3MmUsMCx7MHgwYSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTIsMHhmNSwweGYwLDB4MDgsMHhlMiwweDIyLDB4ZTUsMHg4MywweDJhLDB4ZjUsMHg4M319LAotIHsgOCwweDM3M2UsMCx7MHhlOSwweDkzLDB4ZjUsMHhmMCwweGEzLDB4ZTksMHg5MywweDIyfX0sCi0gezE2LDB4Mzc0NiwwLHsweGU4LDB4OGYsMHhmMCwweGE0LDB4Y2MsMHg4YiwweGYwLDB4YTQsMHgyYywweGZjLDB4ZTksMHg4ZSwweGYwLDB4YTQsMHgyYywweGZjfX0sCi0gezE2LDB4Mzc1NiwwLHsweDhhLDB4ZjAsMHhlZCwweGE0LDB4MmMsMHhmYywweGVhLDB4OGUsMHhmMCwweGE0LDB4Y2QsMHhhOCwweGYwLDB4OGIsMHhmMCwweGE0fX0sCi0gezE2LDB4Mzc2NiwwLHsweDJkLDB4Y2MsMHgzOCwweDI1LDB4ZjAsMHhmZCwweGU5LDB4OGYsMHhmMCwweGE0LDB4MmMsMHhjZCwweDM1LDB4ZjAsMHhmYywweGVifX0sCi0gezE2LDB4Mzc3NiwwLHsweDhlLDB4ZjAsMHhhNCwweGZlLDB4YTksMHhmMCwweGViLDB4OGYsMHhmMCwweGE0LDB4Y2YsMHhjNSwweGYwLDB4MmUsMHhjZCwweDM5fX0sCi0gezE1LDB4Mzc4NiwwLHsweGZlLDB4ZTQsMHgzYywweGZjLDB4ZWEsMHhhNCwweDJkLDB4Y2UsMHgzNSwweGYwLDB4ZmQsMHhlNCwweDNjLDB4ZmMsMHgyMn19LAotIHsxNiwweDM3OTUsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlYywweDY0LDB4ODAsMHhjOH19LAotIHsgNiwweDM3YTUsMCx7MHg2NCwweDgwLDB4OTgsMHg0NSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzN2FiLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9fSwKLSB7IDEsMHgzN2JiLDAsezB4MjJ9fSwKLSB7MTIsMHgzN2JjLDAsezB4ZWMsMHhmMCwweGEzLDB4ZWQsMHhmMCwweGEzLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDIyfX0sCi0gezE2LDB4MzdjOCwwLHsweGE4LDB4ODIsMHg4NSwweDgzLDB4ZjAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDEyLDB4MzcsMHhkZiwweDEyLDB4MzcsMHhkZiwweDEyfX0sCi0gezE2LDB4MzdkOCwwLHsweDM3LDB4ZGYsMHgxMiwweDM3LDB4ZGYsMHhlNCwweDczLDB4ZTQsMHg5MywweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzfX0sCi0gezE2LDB4MzdlOCwwLHsweGM4LDB4YzUsMHg4MiwweGM4LDB4ZjAsMHhhMywweGM1LDB4ODMsMHhjNSwweGYwLDB4YzUsMHg4MywweGM4LDB4YzUsMHg4MiwweGM4fX0sCi0geyAxLDB4MzdmOCwwLHsweDIyfX0sCi0gezE2LDB4MzdmOSwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjgsMHhlNCwweDkzLDB4NzAsMHgxMiwweDc0LDB4MDEsMHg5MywweDcwLDB4MGQsMHhhMywweGEzfX0sCi0gezE2LDB4MzgwOSwwLHsweDkzLDB4ZjgsMHg3NCwweDAxLDB4OTMsMHhmNSwweDgyLDB4ODgsMHg4MywweGU0LDB4NzMsMHg3NCwweDAyLDB4OTMsMHg2OCwweDYwfX0sCi0geyA2LDB4MzgxOSwwLHsweGVmLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkZn19LAotIHsxNiwweDM4MWYsMCx7MHhiYywweDAwLDB4MGIsMHhiZSwweDAwLDB4MjksMHhlZiwweDhkLDB4ZjAsMHg4NCwweGZmLDB4YWQsMHhmMCwweDIyLDB4ZTQsMHhjY319LAotIHsxNiwweDM4MmYsMCx7MHhmOCwweDc1LDB4ZjAsMHgwOCwweGVmLDB4MmYsMHhmZiwweGVlLDB4MzMsMHhmZSwweGVjLDB4MzMsMHhmYywweGVlLDB4OWQsMHhlY319LAotIHsxNiwweDM4M2YsMCx7MHg5OCwweDQwLDB4MDUsMHhmYywweGVlLDB4OWQsMHhmZSwweDBmLDB4ZDUsMHhmMCwweGU5LDB4ZTQsMHhjZSwweGZkLDB4MjIsMHhlZH19LAotIHsxNiwweDM4NGYsMCx7MHhmOCwweGY1LDB4ZjAsMHhlZSwweDg0LDB4MjAsMHhkMiwweDFjLDB4ZmUsMHhhZCwweGYwLDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZn19LAotIHsxNiwweDM4NWYsMCx7MHhmZiwweGVkLDB4MzMsMHhmZCwweDQwLDB4MDcsMHg5OCwweDUwLDB4MDYsMHhkNSwweGYwLDB4ZjIsMHgyMiwweGMzLDB4OTgsMHhmZH19LAotIHsgNSwweDM4NmYsMCx7MHgwZiwweGQ1LDB4ZjAsMHhlYSwweDIyfX0sCi0gezE2LDB4Mzg3NCwwLHsweGU0LDB4OTAsMHg3NiwweDI5LDB4ZjAsMHg5MCwweDc2LDB4MjksMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfX0sCi0gezE2LDB4Mzg4NCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4Mzg5NCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjksMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4MzhhNCwwLHsweGVmLDB4YjQsMHgwNiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDBmfX0sCi0gezE2LDB4MzhiNCwwLHsweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MmEsMHhmMCwweDI0fX0sCi0gezE2LDB4MzhjNCwwLHsweGJmLDB4NzAsMHgwMiwweDQxLDB4NDEsMHgyNCwweGUwLDB4NzAsMHgwMiwweDQxLDB4MTIsMHgyNCwweDIxLDB4NjAsMHgwMiwweDQxfX0sCi0gezE2LDB4MzhkNCwwLHsweDNhLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHg3ZCwweDE0LDB4NzAsMHgwMiwweDIxLDB4YjIsMHgyNCwweDAyfX0sCi0gezE2LDB4MzhlNCwwLHsweDYwLDB4MDIsMHg0MSwweDBhLDB4MTIsMHgxNywweDUxLDB4OTAsMHg3NiwweDQyLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzfX0sCi0gezE2LDB4MzhmNCwwLHsweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1fX0sCi0gezE2LDB4MzkwNCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxfX0sCi0gezE2LDB4MzkxNCwwLHsweDEyLDB4OTAsMHg3NiwweDdjLDB4NzQsMHg2NywweGYwLDB4OTAsMHg3NiwweDdkLDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3NiwweDdlfX0sCi0gezE2LDB4MzkyNCwwLHsweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBmLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweDkwLDB4NzYsMHg3ZCwweGYwfX0sCi0gezE2LDB4MzkzNCwwLHsweDkwLDB4NzYsMHg3ZSwweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBmLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweDkwfX0sCi0gezE2LDB4Mzk0NCwwLHsweDc2LDB4N2QsMHhmMCwweDkwLDB4NzYsMHg3ZSwweDc0LDB4MTgsMHhmMCwweDkwLDB4NzYsMHgxYSwweDc0LDB4MDEsMHhmMCwweDEyfX0sCi0gezE2LDB4Mzk1NCwwLHsweDNlLDB4OGYsMHgxMiwweDE4LDB4MDAsMHgyMiwweDkwLDB4N2UsMHhjMiwweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHhmZSwweGZifX0sCi0gezE2LDB4Mzk2NCwwLHsweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgzNywweDQ2LDB4YzgsMHhlYywweGM4LDB4YzksMHhlZCwweGM5LDB4Y2EsMHhlZSwweGNhfX0sCi0gezE2LDB4Mzk3NCwwLHsweGNiLDB4ZWYsMHhjYiwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmUsMHhlNCwweGZjLDB4ZmQsMHgyYiwweGZiLDB4ZWEsMHgzZSwweGZhfX0sCi0gezE2LDB4Mzk4NCwwLHsweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHhlNCwweGZlLDB4ZWIsMHgyZiwweGZmfX0sCi0gezE2LDB4Mzk5NCwwLHsweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZCwweGVjLDB4MzgsMHhmYywweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMCwweDBmfX0sCi0gezE2LDB4MzlhNCwwLHsweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGJjLDB4MjIsMHg5MCwweDdlfX0sCi0gezE2LDB4MzliNCwwLHsweGMyLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmIsMHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MzcsMHg0NiwweGM4fX0sCi0gezE2LDB4MzljNCwwLHsweGVjLDB4YzgsMHhjOSwweGVkLDB4YzksMHhjYSwweGVlLDB4Y2EsMHhjYiwweGVmLDB4Y2IsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZlfX0sCi0gezE2LDB4MzlkNCwwLHsweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmEsMHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4ZjgsMHg5MCwweDdlfX0sCi0gezE2LDB4MzllNCwwLHsweGMwLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmYsMHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmQsMHhlYywweDM4fX0sCi0gezE2LDB4MzlmNCwwLHsweGZjLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4M2EwNCwwLHsweGY1LDB4ODMsMHgxMiwweDM3LDB4YmMsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfX0sCi0gezE2LDB4M2ExNCwwLHsweGU5LDB4ZTAsMHgxNCwweDcwLDB4MTksMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwfX0sCi0gezE2LDB4M2EyNCwwLHsweDBmLDB4YTQsMHgyNCwweDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmfX0sCi0gezE0LDB4M2EzNCwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzYTQyLDAsezB4ZTQsMHg5MCwweDc2LDB4MzUsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4ZmYsMHhjMywweDk0LDB4MDMsMHg0MCwweDAyLDB4NDF9fSwKLSB7MTYsMHgzYTUyLDAsezB4ZmYsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWZ9fSwKLSB7MTYsMHgzYTYyLDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTR9fSwKLSB7MTYsMHgzYTcyLDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9fSwKLSB7MTYsMHgzYTgyLDAsezB4ZjAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgzYTkyLDAsezB4NzQsMHhmZiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzYWEyLDAsezB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzYWIyLDAsezB4ODMsMHg3NCwweDgwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYWMyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYWQyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYWUyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYWYyLDAsezB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4MDQsMHhmMCwweDQxLDB4NDcsMHg5MCwweDc2LDB4M2N9fSwKLSB7MTYsMHgzYjAyLDAsezB4NzQsMHgwYSwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3NiwweDM1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDNjLDB4ZTB9fSwKLSB7MTYsMHgzYjEyLDAsezB4ZmYsMHg5MCwweDc2LDB4MzUsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDIsMHg2MSwweGQyLDB4OTAsMHg3NiwweDNkLDB4ZTB9fSwKLSB7MTYsMHgzYjIyLDAsezB4ZmYsMHgwNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzYjMyLDAsezB4ODMsMHhlZiwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzYjQyLDAsezB4ODMsMHhlNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzYjUyLDAsezB4ODMsMHg3NCwweDVlLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYjYyLDAsezB4ZjUsMHg4MywweDc0LDB4YmEsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgzYjcyLDAsezB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgzYjgyLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODJ9fSwKLSB7MTYsMHgzYjkyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODJ9fSwKLSB7MTYsMHgzYmEyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODJ9fSwKLSB7MTYsMHgzYmIyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTUsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjV9fSwKLSB7MTYsMHgzYmMyLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4MDQsMHhmMCwweDYxLDB4MGV9fSwKLSB7IDEsMHgzYmQyLDAsezB4MjJ9fSwKLSB7MTYsMHgzYmQzLDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgzYmUzLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODJ9fSwKLSB7MTYsMHgzYmYzLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MGEsMHhmMCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjV9fSwKLSB7MTYsMHgzYzAzLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMCwweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjB9fSwKLSB7MTYsMHgzYzEzLDAsezB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDB9fSwKLSB7MTYsMHgzYzIzLDAsezB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgzYzMzLDAsezB4MTIsMHgzNywweGM4LDB4MDAsMHgwMSwweDc3LDB4MDAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZiLDB4NzV9fSwKLSB7MTYsMHgzYzQzLDAsezB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MCwweGYwLDB4ZWJ9fSwKLSB7MTYsMHgzYzUzLDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDhjLDB4ZjB9fSwKLSB7MTYsMHgzYzYzLDAsezB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4Mzd9fSwKLSB7MTYsMHgzYzczLDAsezB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgzYzgzLDAsezB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMCwweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjR9fSwKLSB7MTYsMHgzYzkzLDAsezB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDEsMHg3NywweDAwLDB4OTB9fSwKLSB7MTYsMHgzY2EzLDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgzY2IzLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODJ9fSwKLSB7MTYsMHgzY2MzLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4OGYsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmZ9fSwKLSB7MTYsMHgzY2QzLDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQxLDB4ZjB9fSwKLSB7MTYsMHgzY2UzLDAsezB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODR9fSwKLSB7MTYsMHgzY2YzLDAsezB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjV9fSwKLSB7MTYsMHgzZDAzLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg2MSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9fSwKLSB7MTYsMHgzZDEzLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDgxLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjB9fSwKLSB7MTYsMHgzZDIzLDAsezB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9fSwKLSB7MTYsMHgzZDMzLDAsezB4NjEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7IDQsMHgzZDQzLDAsezB4NzQsMHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzZDQ3LDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9fSwKLSB7MTYsMHgzZDU3LDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9fSwKLSB7MTYsMHgzZDY3LDAsezB4YzAsMHhlMCwweDkwLDB4N2YsMHhhMiwweGUwLDB4OTAsMHg3NiwweDdmLDB4ZjAsMHg5MCwweDdmLDB4NzQsMHhlMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgzZDc3LDAsezB4ODcsMHhmMCwweDkwLDB4N2YsMHg3NSwweGUwLDB4OTAsMHg3NiwweDg4LDB4ZjAsMHg5MCwweDdmLDB4OTgsMHhlMCwweDQ0LDB4MDJ9fSwKLSB7MTYsMHgzZDg3LDAsezB4ZjAsMHg5MCwweDc2LDB4OTYsMHhlMCwweGZmLDB4MjAsMHhlMSwweDBjLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjB9fSwKLSB7MTYsMHgzZDk3LDAsezB4ZDIsMHgzMiwweDEyLDB4NGEsMHhjNCwweDkwLDB4NzYsMHg3ZiwweGUwLDB4MjAsMHhlMiwweDUwLDB4OTAsMHg3NiwweDg3LDB4ZTB9fSwKLSB7MTYsMHgzZGE3LDAsezB4ZmUsMHhhMywweGUwLDB4N2MsMHgwMCwweDI0LDB4MDAsMHhmNSwweDM0LDB4ZWMsMHgzZSwweGY1LDB4MzMsMHg5MCwweDc2LDB4OTh9fSwKLSB7MTYsMHgzZGI3LDAsezB4ZTAsMHhmZCwweGFlLDB4MzMsMHhhZiwweDM0LDB4MTIsMHgzNiwweGQ4LDB4OTAsMHg3NiwweDg3LDB4ZWYsMHhmMCwweGQyLDB4MmZ9fSwKLSB7MTYsMHgzZGM3LDAsezB4MzAsMHgzMSwweDI5LDB4MjAsMHgzZiwweDI2LDB4YzIsMHgzMSwweDkwLDB4N2YsMHg5NCwweGUwLDB4NTQsMHhjZiwweGYwLDB4OTB9fSwKLSB7MTYsMHgzZGQ3LDAsezB4N2YsMHg5YSwweGUwLDB4MzAsMHhlNCwweDA0LDB4ZDIsMHgyZCwweGMyLDB4MmMsMHg5MCwweDdmLDB4OWEsMHhlMCwweDIwLDB4ZTV9fSwKLSB7MTYsMHgzZGU3LDAsezB4MDQsMHhjMiwweDJkLDB4ZDIsMHgyYywweDkwLDB4N2YsMHg5NCwweGUwLDB4NDQsMHgzMCwweGYwLDB4MTIsMHg0YSwweDUwLDB4MTJ9fSwKLSB7MTYsMHgzZGY3LDAsezB4MWIsMHgwNCwweDMwLDB4MmYsMHgxMiwweDEyLDB4NDIsMHgxNiwweGMyLDB4MmYsMHg3NSwweGU4LDB4MDEsMHgxMiwweDE2LDB4OGF9fSwKLSB7MTYsMHgzZTA3LDAsezB4NzUsMHhlOCwweDBkLDB4ZDIsMHgyYiwweDgwLDB4MDUsMHg3NSwweGU4LDB4MDEsMHhjMiwweDJiLDB4MjAsMHgyYiwweDM0LDB4OTB9fSwKLSB7MTYsMHgzZTE3LDAsezB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGUsMHg5MCwweDc2LDB4N2MsMHg3NCwweDY3LDB4ZjAsMHhhMywweDc0LDB4MDZ9fSwKLSB7MTYsMHgzZTI3LDAsezB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBiLDB4OTAsMHg3NiwweDdjLDB4ZTQsMHhmMCwweGEzLDB4ZjB9fSwKLSB7MTYsMHgzZTM3LDAsezB4YTMsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwYiwweDkwLDB4NzYsMHg3YywweGU0LDB4ZjAsMHhhMywweGYwLDB4YTN9fSwKLSB7MTYsMHgzZTQ3LDAsezB4NzQsMHgxOCwweGYwLDB4NzUsMHhjYSwweGQzLDB4NzUsMHhjYiwweGZlLDB4ZDIsMHhjYSwweDMwLDB4MzQsMHgwNCwweGMyLDB4MzR9fSwKLSB7MTYsMHgzZTU3LDAsezB4ODAsMHgwMiwweGQyLDB4MzQsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgzZTY3LDAsezB4OTgsMHhlMCwweDU0LDB4ZmQsMHhmMCwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTB9fSwKLSB7MTYsMHgzZTc3LDAsezB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMCwweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDB9fSwKLSB7IDgsMHgzZTg3LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDNlOGYsMCx7MHg5MCwweDc2LDB4OTIsMHhlMCwweDE0LDB4NjAsMHgxZCwweDE0LDB4NzAsMHgwMiwweGUxLDB4NDQsMHgyNCwweDAyLDB4NjAsMHgwMn19LAotIHsxNiwweDNlOWYsMCx7MHhlMSwweGQ0LDB4OTAsMHg3NiwweDk0LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4ZX19LAotIHsxNiwweDNlYWYsMCx7MHhmMCwweGQyLDB4MzEsMHgyMiwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMn19LAotIHsxNiwweDNlYmYsMCx7MHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5N319LAotIHsxNiwweDNlY2YsMCx7MHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDFiLDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMH19LAotIHsxNiwweDNlZGYsMCx7MHg5MCwweDdmLDB4ZjMsMHg3NCwweDM0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMH19LAotIHsxNiwweDNlZWYsMCx7MHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgxOCwweGU0LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MH19LAotIHsxNiwweDNlZmYsMCx7MHg3ZiwweGYzLDB4NzQsMHg2NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NH19LAotIHsxNiwweDNmMGYsMCx7MHgwNCwweGYwLDB4OTAsMHg3NiwweDk0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDgwLDB4MDAsMHhmMCwweDMwLDB4M2YsMHgwOX19LAotIHsxNiwweDNmMWYsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsxNiwweDNmMmYsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4OTAsMHg3NiwweDk4LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3Nn19LAotIHsxNiwweDNmM2YsMCx7MHg4ZSwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgxYiwweGU0LDB4OTAsMHg3Zn19LAotIHsxNiwweDNmNGYsMCx7MHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg0NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3Nn19LAotIHsxNiwweDNmNWYsMCx7MHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMn19LAotIHsxNiwweDNmNmYsMCx7MHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4NGMsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5N319LAotIHsxNiwweDNmN2YsMCx7MHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMywweDE4LDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMH19LAotIHsxNiwweDNmOGYsMCx7MHg5MCwweDdmLDB4ZjMsMHg3NCwweDk0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMH19LAotIHsxNiwweDNmOWYsMCx7MHg0NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4OTQsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDkwLDB4ODAsMHgwMCwweGYwLDB4MzAsMHgzZn19LAotIHsxNiwweDNmYWYsMCx7MHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMX19LAotIHsxNiwweDNmYmYsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTgsMHg3NCwweDA2LDB4ZjAsMHg5MH19LAotIHsgNiwweDNmY2YsMCx7MHg3NiwweDhlLDB4NzQsMHgwMiwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzZmQ1LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDAyLDB4ZjB9fSwKLSB7MTYsMHgzZmU1LDAsezB4OTAsMHg3ZiwweGM3LDB4ZTAsMHhmNSwweDExLDB4NzUsMHgwZiwweDAwLDB4NzUsMHgwZCwweDAwLDB4ZDIsMHgzMywweGQwLDB4ODJ9fSwKLSB7IDUsMHgzZmY1LDAsezB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsgNiwweDNmZmEsMCx7MHgxMiwweDRhLDB4YzQsMHhjMiwweDMxLDB4MjJ9fSwKLSB7MTYsMHg0MDAwLDAsezB4ZTUsMHgxMSwweGQzLDB4OTQsMHgwMCwweDUwLDB4MDIsMHgyMSwweDA2LDB4OTAsMHg3NiwweDg5LDB4ZTAsMHhjMywweDk0LDB4MDh9fSwKLSB7MTYsMHg0MDEwLDAsezB4NDAsMHgwMiwweDIxLDB4MDYsMHg3NCwweDQwLDB4MjUsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTB9fSwKLSB7MTYsMHg0MDIwLDAsezB4ZjUsMHgxNywweGU1LDB4MGQsMHg2MCwweDBlLDB4OTAsMHg4MCwweDA1LDB4ZTUsMHgxNywweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTB9fSwKLSB7MTYsMHg0MDMwLDAsezB4MDQsMHhmMCwweDAxLDB4ZGEsMHhlNSwweDE3LDB4MTIsMHgzNywweGY5LDB4NDAsMHhjMSwweDAyLDB4NDAsMHg2NywweDA1LDB4NDB9fSwKLSB7MTYsMHg0MDQwLDAsezB4N2EsMHgwNiwweDQwLDB4OTgsMHgwNywweDQwLDB4YzEsMHgwYywweDQwLDB4YzEsMHgwZCwweDQwLDB4YzcsMHgwZiwweDQwLDB4Y2J9fSwKLSB7MTYsMHg0MDUwLDAsezB4ZjYsMHg0MCwweGNiLDB4ZjgsMHg0MCwweGNiLDB4ZmEsMHg0MCwweGNiLDB4ZmIsMHg0MCwweGNiLDB4ZmMsMHg0MCwweGNiLDB4ZmV9fSwKLSB7MTYsMHg0MDYwLDAsezB4NDAsMHhjYiwweGZmLDB4MDAsMHgwMCwweDQwLDB4ZGEsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTB9fSwKLSB7MTYsMHg0MDcwLDAsezB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDgwLDB4NjAsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODB9fSwKLSB7MTYsMHg0MDgwLDAsezB4MDUsMHhmMCwweDkwLDB4N2UsMHg0MiwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjB9fSwKLSB7MTYsMHg0MDkwLDAsezB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODAsMHg0MiwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjB9fSwKLSB7MTYsMHg0MGEwLDAsezB4OTAsMHg3ZSwweDQyLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4N2UsMHg0MywweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjB9fSwKLSB7MTYsMHg0MGIwLDAsezB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODB9fSwKLSB7MTYsMHg0MGMwLDAsezB4MTksMHhkMiwweDNiLDB4ZDIsMHgzYywweDgwLDB4MTMsMHhkMiwweDNiLDB4ODAsMHgwZiwweDkwLDB4ODAsMHgwNSwweGU1LDB4MTd9fSwKLSB7MTYsMHg0MGQwLDAsezB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHgyMCwweDNiLDB4MDQsMHgwNSwweDBkLDB4ODB9fSwKLSB7MTYsMHg0MGUwLDAsezB4MWYsMHgzMCwweDNjLDB4MWMsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3ZSwweDQyLDB4ZTB9fSwKLSB7MTYsMHg0MGYwLDAsezB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDF9fSwKLSB7MTYsMHg0MTAwLDAsezB4MDUsMHgwZiwweDE1LDB4MTEsMHgwMSwweDAwLDB4ZTUsMHgxMSwweDcwLDB4MTAsMHhjMiwweDMzLDB4ZjUsMHgwZCwweGY1LDB4MGZ9fSwKLSB7MTEsMHg0MTEwLDAsezB4OTAsMHg3ZiwweGM3LDB4NzQsMHgwNCwweGYwLDB4YzIsMHgzYiwweGMyLDB4M2MsMHgyMn19LAotIHsxNiwweDQxMWIsMCx7MHg5MCwweDc2LDB4OGQsMHhlMCwweDY0LDB4MDEsMHg3MCwweDI3LDB4MzAsMHgyNywweDA4LDB4YzIsMHgyNywweDEyLDB4MDgsMHgwMH19LAotIHsxNiwweDQxMmIsMCx7MHgxMiwweDE3LDB4NGEsMHgzMCwweDI4LDB4MDgsMHhjMiwweDI4LDB4MTIsMHgzOCwweDc0LDB4MTIsMHgxNywweDRhLDB4MzAsMHgyYX19LAotIHsxNiwweDQxM2IsMCx7MHgwZSwweGU0LDB4OTAsMHg3NiwweDhkLDB4ZjAsMHhjMiwweDJhLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg5MH19LAotIHsxNiwweDQxNGIsMCx7MHg3NiwweDNmLDB4ZTAsMHhiNCwweDAxLDB4MDUsMHhlNCwweGYwLDB4MTIsMHgzMiwweDZmLDB4OTAsMHg3NiwweDQxLDB4ZTAsMHhiNH19LAotIHsxNiwweDQxNWIsMCx7MHgwMSwweDA1LDB4ZTQsMHhmMCwweDEyLDB4MzQsMHg5YSwweDkwLDB4NzYsMHg0MCwweGUwLDB4YjQsMHgwMSwweDAzLDB4MTIsMHgzNH19LAotIHsxNiwweDQxNmIsMCx7MHg5YSwweDkwLDB4N2YsMHg5YiwweGUwLDB4MjAsMHhlNCwweDAyLDB4YzIsMHgzZiwweDkwLDB4N2YsMHg5YiwweGUwLDB4MzAsMHhlNH19LAotIHsxNiwweDQxN2IsMCx7MHgwMiwweGQyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMCwweDIwLDB4ZTUsMHgwMiwweGMyLDB4M2UsMHg5MCwweDdmLDB4OWIsMHhlMH19LAotIHsxNiwweDQxOGIsMCx7MHgzMCwweGU1LDB4MDIsMHhkMiwweDNlLDB4YTIsMHg0MSwweDMwLDB4M2YsMHgwMSwweGIzLDB4NTAsMHgxZiwweGEyLDB4M2YsMHg5Mn19LAotIHsxNiwweDQxOWIsMCx7MHg0MSwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5N319LAotIHsxNiwweDQxYWIsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHgzMCwweDNmLDB4MzQsMHg5MH19LAotIHsxNiwweDQxYmIsMCx7MHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZSwweDkwLDB4NzYsMHg3YywweDc0LDB4NjcsMHhmMCwweGEzLDB4NzQsMHgwNn19LAotIHsxNiwweDQxY2IsMCx7MHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGIsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHhmMH19LAotIHsxNiwweDQxZGIsMCx7MHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBiLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4ZjAsMHhhM319LAotIHsxNiwweDQxZWIsMCx7MHg3NCwweDE4LDB4ZjAsMHhhMiwweDQwLDB4MzAsMHgzZSwweDAxLDB4YjMsMHg1MCwweDFmLDB4YTIsMHgzZSwweDkyLDB4NDAsMHgzMH19LAotIHsxNiwweDQxZmIsMCx7MHgzZSwweDA5LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NH19LAotIHsxMSwweDQyMGIsMCx7MHhmYiwweGYwLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDIyfX0sCi0gezE2LDB4NDIxNiwwLHsweDkwLDB4NzYsMHgxOSwweGUwLDB4NjQsMHgwMSwweDcwLDB4MzUsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4ZDMsMHg5NCwweDJkfX0sCi0gezE2LDB4NDIyNiwwLHsweDQwLDB4MmIsMHg5MCwweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzfX0sCi0gezE2LDB4NDIzNiwwLHsweDk0LDB4MGYsMHg0MCwweDE5LDB4ZTQsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDMxLDB4NDAsMHgwOCwweDkwLDB4NzYsMHgxOSwweDc0fX0sCi0gezE2LDB4NDI0NiwwLHsweDAzLDB4ZjAsMHg4MCwweDA2LDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMiwweGYwLDB4MTIsMHgzZSwweDhmLDB4OTAsMHg3NiwweDE5fX0sCi0gezE2LDB4NDI1NiwwLHsweGUwLDB4YjQsMHgwMiwweDJjLDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGMzLDB4OTQsMHgyZiwweDUwLDB4MjIsMHhlZiwweGQzfX0sCi0gezE2LDB4NDI2NiwwLHsweDk0LDB4MmEsMHg0MCwweDFjLDB4OTAsMHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwfX0sCi0gezE2LDB4NDI3NiwwLHsweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDAsMHgwYSwweGU0LDB4ZjAsMHg5MCwweDc2LDB4MTksMHgwNCwweGYwLDB4MTIsMHgzZSwweDhmfX0sCi0gezE2LDB4NDI4NiwwLHsweDkwLDB4NzYsMHgxOSwweGUwLDB4YjQsMHgwMiwweDI2LDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhkMywweDk0LDB4MzEsMHg0MCwweDFkfX0sCi0gezE2LDB4NDI5NiwwLHsweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDMsMHg5NCwweDBmfX0sCi0gezE2LDB4NDJhNiwwLHsweDQwLDB4MGIsMHhlNCwweGYwLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMywweGYwLDB4MTIsMHgzZSwweDhmLDB4OTAsMHg3NiwweDE5fX0sCi0gezE2LDB4NDJiNiwwLHsweGUwLDB4NjQsMHgwMywweDcwLDB4M2YsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4YzMsMHg5NCwweDVmLDB4NTAsMHgzNSwweDkwfX0sCi0gezE2LDB4NDJjNiwwLHsweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzLDB4OTQsMHgwZiwweDQwfX0sCi0gezE2LDB4NDJkNiwwLHsweDIzLDB4ZTQsMHhmMCwweGVmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgwYywweGVmLDB4ZDMsMHg5NCwweDJhLDB4NDAsMHgwNiwweDkwfX0sCi0gezE2LDB4NDJlNiwwLHsweDc2LDB4MTksMHg3NCwweDAxLDB4ZjAsMHhlZiwweGQzLDB4OTQsMHgyZiwweDQwLDB4MDYsMHg5MCwweDc2LDB4MTksMHg3NCwweDAyfX0sCi0gezE2LDB4NDJmNiwwLHsweGYwLDB4MTIsMHgzZSwweDhmLDB4OTAsMHg3NiwweDg2LDB4ZTAsMHg3MCwweDA1LDB4OTAsMHg3NiwweDg1LDB4ZjAsMHgyMiwweGU0fX0sCi0geyA1LDB4NDMwNiwwLHsweDkwLDB4NzYsMHg4NiwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0MzBiLDAsezB4ZTQsMHg5MCwweDc2LDB4OTYsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4OTAsMHg3ZiwweGUwLDB4NzQsMHg5MCwweGYwLDB4OTB9fSwKLSB7MTYsMHg0MzFiLDAsezB4N2YsMHhlMSwweDc0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3ZiwweGRkLDB4ZjAsMHg5MCwweDdmLDB4YTEsMHhmMCwweDUzLDB4OGV9fSwKLSB7MTYsMHg0MzJiLDAsezB4ZjgsMHg3NSwweDg4LDB4MDUsMHg3NSwweGI4LDB4MjAsMHg3NSwweGY4LDB4MDEsMHg0MywweDhlLDB4MzAsMHhmNSwweGM4LDB4NzV9fSwKLSB7MTYsMHg0MzNiLDAsezB4Y2EsMHg3ZiwweDc1LDB4Y2IsMHhmOCwweDQzLDB4YTgsMHgyMCwweDEyLDB4MDcsMHg0YSwweGMyLDB4MmMsMHhjMiwweDJkLDB4YzJ9fSwKLSB7MTYsMHg0MzRiLDAsezB4MmIsMHhjMiwweDJmLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhkZCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmZiwweGYwLDB4OTB9fSwKLSB7MTYsMHg0MzViLDAsezB4N2YsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODV9fSwKLSB7MTYsMHg0MzZiLDAsezB4ZjAsMHhhMywweGYwLDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDEyLDB4NDksMHg1OCwweDEyLDB4MGZ9fSwKLSB7MTYsMHg0MzdiLDAsezB4YzYsMHgxMiwweDRhLDB4OGQsMHg5MCwweDdmLDB4OTcsMHhlMCwweDQ0LDB4MDgsMHhmMCwweGUwLDB4NTQsMHhiOSwweGYwLDB4ZDJ9fSwKLSB7MTYsMHg0MzhiLDAsezB4MzAsMHgyMCwweDMwLDB4MTgsMHgxMiwweDQ3LDB4YjQsMHgxMiwweDMwLDB4MDAsMHgxMiwweDQwLDB4MDAsMHgxMiwweDQyLDB4MTZ9fSwKLSB7MTYsMHg0MzliLDAsezB4MTIsMHg0YSwweDUwLDB4MTIsMHgxYiwweDA0LDB4MTIsMHgxNiwweDYxLDB4MTIsMHg0MiwweDE2LDB4YzIsMHgyZiwweGMyLDB4MzF9fSwKLSB7MTYsMHg0M2FiLDAsezB4YzIsMHgzMiwweGMyLDB4MzQsMHhjMiwweDMzLDB4YzIsMHgyOSwweGMyLDB4MjcsMHhjMiwweDI4LDB4ZTQsMHhmNSwweDExLDB4OTB9fSwKLSB7MTYsMHg0M2JiLDAsezB4NzYsMHg4OSwweGYwLDB4OTAsMHg3NiwweDNmLDB4ZjAsMHg5MCwweDc2LDB4NDEsMHhmMCwweDkwLDB4NzYsMHg0MCwweGYwLDB4OTB9fSwKLSB7MTYsMHg0M2NiLDAsezB4NzYsMHg4YSwweGYwLDB4YTMsMHhmMCwweGEzLDB4MDQsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4NzYsMHg5OSwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0M2RiLDAsezB4MTIsMHg0ZCwweGEzLDB4NDAsMHgwMiwweDgxLDB4YTAsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZmUsMHg2MCwweDFlLDB4MTR9fSwKLSB7MTYsMHg0M2ViLDAsezB4NjAsMHg0NiwweDE0LDB4NjAsMHg2ZSwweDE0LDB4NzAsMHgwMiwweDgxLDB4OTEsMHgyNCwweDA0LDB4NjAsMHgwMiwweDgxLDB4OTl9fSwKLSB7MTYsMHg0M2ZiLDAsezB4NzQsMHgwNSwweDkwLDB4N2YsMHhkNCwweGYwLDB4NzQsMHgwMCwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWF9fSwKLSB7MTYsMHg0NDBiLDAsezB4ZTAsMHhmZiwweDEyLDB4NDksMHhmZiwweDhiLDB4MjAsMHg4YSwweDIxLDB4ODksMHgyMiwweGVhLDB4NDksMHg2MCwweDExLDB4Y2V9fSwKLSB7MTYsMHg0NDFiLDAsezB4ZWEsMHhjZSwweGVlLDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0NDJiLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmYsMHgxMiwweDQ4LDB4YjB9fSwKLSB7MTYsMHg0NDNiLDAsezB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2UsMHhlZSwweDkwLDB4N2Z9fSwKLSB7MTYsMHg0NDRiLDAsezB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9fSwKLSB7MTYsMHg0NDViLDAsezB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmJ9fSwKLSB7MTYsMHg0NDZiLDAsezB4MTIsMHgxNywweDk0LDB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2V9fSwKLSB7MTYsMHg0NDdiLDAsezB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7MTYsMHg0NDhiLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7IDUsMHg0NDliLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsgMSwweDQ0YTAsMCx7MHgyMn19LAotIHsxNiwweDQ0YTEsMCx7MHhjMiwweGFmLDB4ZDIsMHgyNCwweDkwLDB4N2YsMHg5MywweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5YywweDc0LDB4YmIsMHhmMH19LAotIHsxNiwweDQ0YjEsMCx7MHg5MCwweDdmLDB4OTYsMHhlMCwweDQ0LDB4MzAsMHhmMCwweGUwLDB4NTQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDk0LDB4NzQsMHgzMH19LAotIHsxNiwweDQ0YzEsMCx7MHhmMCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4Y2YsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHg5NX19LAotIHsxNiwweDQ0ZDEsMCx7MHg3NCwweGMwLDB4ZjAsMHg5MCwweDdmLDB4OWUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4OTksMHhlMCwweDMwLDB4ZTIsMHgwOX19LAotIHsxNiwweDQ0ZTEsMCx7MHg5MCwweDA1LDB4MTksMHg3NCwweGEwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhjMiwweDI1LDB4YzIsMHgyMiwweGMyLDB4MjMsMHhjMn19LAotIHsxNiwweDQ0ZjEsMCx7MHgyNiwweDEyLDB4NGEsMHhjNCwweDEyLDB4MmQsMHhhOSwweDEyLDB4M2IsMHhkMywweDEyLDB4NDUsMHg1OSwweDEyLDB4M2EsMHg0Mn19LAotIHsxNiwweDQ1MDEsMCx7MHg5MCwweDc2LDB4NjgsMHg3NCwweDAxLDB4ZjAsMHg3MCwweDBmLDB4MTIsMHg0YiwweGJiLDB4MTIsMHgwNywweGZlLDB4MTIsMHg0ZH19LAotIHsxNiwweDQ1MTEsMCx7MHhhMSwweDEyLDB4MWIsMHg0MCwweDEyLDB4MTQsMHg5NiwweDEyLDB4NDMsMHgwYiwweDkwLDB4N2YsMHhhZiwweGUwLDB4NDQsMHgwMX19LAotIHsxNiwweDQ1MjEsMCx7MHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgxZiwweGYwLDB4OTAsMHg3ZiwweGFjLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDQ1MzEsMCx7MHhhZCwweGYwLDB4OTAsMHg3ZiwweGRlLDB4ZjAsMHg5MCwweDdmLDB4ZGYsMHhmMCwweDkwLDB4N2YsMHhhYiwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDQ1NDEsMCx7MHhhOSwweGYwLDB4OTAsMHg3ZiwweGFhLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg0MywweGQ4LDB4MjAsMHhkMiwweGU4LDB4NDMsMHhkOH19LAotIHsgOCwweDQ1NTEsMCx7MHgyMCwweDUzLDB4YTgsMHhhMCwweDQzLDB4YTgsMHg4MCwweDIyfX0sCi0gezE2LDB4NDU1OSwwLHsweGU0LDB4OTAsMHg3NiwweDM2LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4NDU2OSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4NDU3OSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1fX0sCi0gezE2LDB4NDU4OSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1fX0sCi0gezE2LDB4NDU5OSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweDkwfX0sCi0gezE2LDB4NDVhOSwwLHsweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4NDViOSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4NDVjOSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1fX0sCi0gezE2LDB4NDVkOSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1fX0sCi0gezE2LDB4NDVlOSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDIyfX0sCi0gezEyLDB4NDVmOSwwLHsweDc4LDB4N2YsMHhlNCwweGY2LDB4ZDgsMHhmZCwweDc1LDB4ODEsMHgzOCwweDAyLDB4NDYsMHg0MH19LAotIHsxNiwweDQ2MDUsMCx7MHgwMiwweDQ3LDB4NWEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn19LAotIHsxNiwweDQ2MTUsMCx7MHgwOCwweGRmLDB4ZjQsMHg4MCwweDI5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHg1NCwweDA3LDB4MjQsMHgwYywweGM4LDB4YzMsMHgzM319LAotIHsxNiwweDQ2MjUsMCx7MHhjNCwweDU0LDB4MGYsMHg0NCwweDIwLDB4YzgsMHg4MywweDQwLDB4MDQsMHhmNCwweDU2LDB4ODAsMHgwMSwweDQ2LDB4ZjYsMHhkZn19LAotIHsxNiwweDQ2MzUsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHgwYywweDhmLDB4ZTQsMHg3ZX19LAotIHsxNiwweDQ2NDUsMCx7MHgwMSwweDkzLDB4NjAsMHhiYywweGEzLDB4ZmYsMHg1NCwweDNmLDB4MzAsMHhlNSwweDA5LDB4NTQsMHgxZiwweGZlLDB4ZTQsMHg5M319LAotIHsxNiwweDQ2NTUsMCx7MHhhMywweDYwLDB4MDEsMHgwZSwweGNmLDB4NTQsMHhjMCwweDI1LDB4ZTAsMHg2MCwweGE4LDB4NDAsMHhiOCwweGU0LDB4OTMsMHhhM319LAotIHsxNiwweDQ2NjUsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX19LAotIHsxNiwweDQ2NzUsMCx7MHhmMCwweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYSwweGRmLDB4ZTksMHhkZSwweGU3LDB4ODAsMHhiZX19LAotIHsxNiwweDQ2ODUsMCx7MHg5MCwweDdmLDB4ZWMsMHhlMCwweDkwLDB4NzYsMHg4MywweGYwLDB4ZTAsMHgxNCwweDYwLDB4MWQsMHgxNCwweDYwLDB4MmEsMHgxNH19LAotIHsxNiwweDQ2OTUsMCx7MHg2MCwweDM3LDB4MTQsMHg2MCwweDQ0LDB4MjQsMHgwNCwweDcwLDB4NTAsMHg5MCwweDc2LDB4OTEsMHhlMCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDQ2YTUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4NDcsMHg5MCwweDc2LDB4OTIsMHhlMCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDQ2YjUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MzcsMHg5MCwweDc2LDB4OTAsMHhlMCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDQ2YzUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MjcsMHg5MCwweDc2LDB4ODQsMHhlMCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDQ2ZDUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MTcsMHg5MCwweDc2LDB4OTMsMHhlMCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDQ2ZTUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsgMiwweDQ2ZjUsMCx7MHhkMywweDIyfX0sCi0gezE2LDB4NDZmNywwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfX0sCi0gezE2LDB4NDcwNywwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfX0sCi0gezE2LDB4NDcxNywwLHsweGMwLDB4ZTAsMHhjMiwweGNhLDB4YzIsMHhjZiwweDkwLDB4N2YsMHg5OCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MzAsMHgyZSwweDAzfX0sCi0gezE2LDB4NDcyNywwLHsweDEyLDB4MTQsMHhhNiwweDkwLDB4N2YsMHg5OCwweGUwLDB4NTQsMHhmZSwweGYwLDB4NTMsMHhhOCwweGZhLDB4MTIsMHgxNiwweDYxfX0sCi0gezE2LDB4NDczNywwLHsweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmYiwweGQwfX0sCi0gezE2LDB4NDc0NywwLHsweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGYwfX0sCi0geyAzLDB4NDc1NywwLHsweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDQ3NWEsMCx7MHhlNCwweDkwLDB4NzYsMHg2NiwweGYwLDB4MTIsMHg0NCwweGExLDB4MjAsMHgyNiwweDEzLDB4OTAsMHg3NiwweDY2LDB4ZTAsMHhjM319LAotIHsxNiwweDQ3NmEsMCx7MHg5NCwweDAyLDB4NTAsMHgwYSwweGUwLDB4MDQsMHhmMCwweGQyLDB4NDIsMHgxMiwweDRhLDB4ZjYsMHg4MCwweGVhLDB4MzAsMHgyNn19LAotIHsxNiwweDQ3N2EsMCx7MHgwNSwweDEyLDB4MjgsMHgwMSwweGMyLDB4MjYsMHgzMCwweDI1LDB4MmIsMHg5MCwweDc2LDB4OTYsMHhlMCwweDU0LDB4ZmMsMHhmMH19LAotIHsxNiwweDQ3OGEsMCx7MHg5MCwweDgwLDB4MDMsMHhmMCwweDEyLDB4MTQsMHg5NiwweDkwLDB4NzYsMHg5NiwweGUwLDB4NDQsMHgwMywweGYwLDB4OTAsMHg4MH19LAotIHsxNiwweDQ3OWEsMCx7MHgwMywweGYwLDB4ZTQsMHg5MCwweDc2LDB4NjcsMHhmMCwweDkwLDB4NzYsMHg2NywweGUwLDB4MDQsMHhmMCwweGUwLDB4YjQsMHg0Yn19LAotIHsxMCwweDQ3YWEsMCx7MHhmNiwweDEyLDB4M2YsMHhmYSwweDEyLDB4NDEsMHgxYiwweDgwLDB4YzUsMHgyMn19LAotIHsxNiwweDQ3YjQsMCx7MHhlNCwweDkwLDB4NzYsMHg5YiwweGYwLDB4OTAsMHg3NiwweDliLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHhlZiwweDYwLDB4MDgsMHhlMH19LAotIHsxNiwweDQ3YzQsMCx7MHgyNCwweDA4LDB4ZjgsMHhlNCwweGY2LDB4ODAsMHhlZSwweDkwLDB4NzYsMHg5NiwweGUwLDB4NTQsMHhmYiwweGYwLDB4NTQsMHhmN319LAotIHsxNiwweDQ3ZDQsMCx7MHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4ZTQsMHhmNSwweDE4LDB4ZDIsMHgzNSwweGY1LDB4MGUsMHhmNSwweDEwLDB4ZDIsMHgzNn19LAotIHsxNiwweDQ3ZTQsMCx7MHg3NSwweDEyLDB4MTEsMHg3NSwweDEzLDB4MjIsMHhjMiwweDM3LDB4YzIsMHgzOSwweGMyLDB4MzgsMHhmNSwweDE2LDB4ZjUsMHgxNH19LAotIHsxMSwweDQ3ZjQsMCx7MHhmNSwweDFhLDB4ZjUsMHgwZCwweGMyLDB4M2IsMHhjMiwweDNjLDB4YzIsMHgzZCwweDIyfX0sCi0gezE2LDB4NDgwMCwwLHsweDkwLDB4N2YsMHhlYywweGUwLDB4OTAsMHg3NiwweDgzLDB4ZjAsMHhlMCwweDE0LDB4NjAsMHgxNywweDE0LDB4NjAsMHgyMSwweDE0fX0sCi0gezE2LDB4NDgxMCwwLHsweDYwLDB4MmIsMHgxNCwweDYwLDB4MzIsMHgyNCwweDA0LDB4NzAsMHgzOCwweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkxfX0sCi0gezE2LDB4NDgyMCwwLHsweGYwLDB4ODAsMHgzNSwweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkyLDB4ZjAsMHgxMiwweDNlLDB4OGYsMHg4MCwweDI4fX0sCi0gezE2LDB4NDgzMCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkwLDB4ZjAsMHgxMiwweDE4LDB4MDAsMHg4MCwweDFiLDB4OTAsMHg3ZiwweGVhfX0sCi0gezE2LDB4NDg0MCwwLHsweGUwLDB4OTAsMHg3NiwweDg0LDB4ZjAsMHg4MCwweDExLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTMsMHhmMCwweDgwfX0sCi0gezEwLDB4NDg1MCwwLHsweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhkMywweDIyfX0sCi0gezE2LDB4NDg1YSwwLHsweGU0LDB4OTAsMHg3NiwweDI2LDB4ZjAsMHg5MCwweDc2LDB4MjYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDM0fX0sCi0gezE2LDB4NDg2YSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4NDg3YSwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNCwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjYsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4NDg4YSwwLHsweGVmLDB4YjQsMHgwNCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDAzfX0sCi0gezE2LDB4NDg5YSwwLHsweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwfX0sCi0geyA2LDB4NDhhYSwwLHsweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHgyMn19LAotIHsgMiwweDQ4YjAsMCx7MHg4ZiwweDJlfX0sCi0gezE2LDB4NDhiMiwwLHsweGU0LDB4ZjUsMHgyZiwweDc1LDB4MzAsMHhmZiwweDc1LDB4MzEsMHgwNiwweDc1LDB4MzIsMHhiZSwweGFiLDB4MzAsMHhhYSwweDMxfX0sCi0gezE2LDB4NDhjMiwwLHsweGE5LDB4MzIsMHg5MCwweDAwLDB4MDEsMHgxMiwweDM2LDB4YWIsMHhiNCwweDAzLDB4MWYsMHhhZiwweDJmLDB4MDUsMHgyZiwweGVmfX0sCi0gezE2LDB4NDhkMiwwLHsweDY1LDB4MmUsMHg3MCwweDAxLDB4MjIsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2EsMHhjOSwweGVmfX0sCi0gezE2LDB4NDhlMiwwLHsweGM5LDB4NzUsMHgzMCwweGZmLDB4ZjUsMHgzMSwweDg5LDB4MzIsMHg4MCwweGQyLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfX0sCi0geyAxLDB4NDhmMiwwLHsweDIyfX0sCi0gezEyLDB4NDhmMywwLHsweGMyLDB4MzcsMHhlNCwweGY1LDB4MGUsMHhmNSwweDEwLDB4YzIsMHgzNiwweGY1LDB4MTQsMHgyMn19LAotIHsxNiwweDQ5MDAsMCx7MHgwMiwweDJmLDB4ZTcsMHgwMCwweDAyLDB4M2QsMHg0NywweDAwLDB4MDIsMHg0ZCwweDQ2LDB4MDAsMHgwMiwweDRiLDB4ZDUsMHgwMH19LAotIHsxNiwweDQ5MTAsMCx7MHgwMiwweDRiLDB4NjAsMHgwMCwweDAyLDB4MmYsMHhmZiwweDAwLDB4MDIsMHg0YiwweGVkLDB4MDAsMHgwMiwweDRiLDB4ODEsMHgwMH19LAotIHsxNiwweDQ5MjAsMCx7MHgwMiwweDRjLDB4MDQsMHgwMCwweDAyLDB4M2YsMHhkNSwweDAwLDB4MDIsMHg0YywweDFiLDB4MDAsMHgwMiwweDRjLDB4MzIsMHgwMH19LAotIHsxNiwweDQ5MzAsMCx7MHgwMiwweDRjLDB4NDksMHgwMCwweDAyLDB4NGMsMHg2MCwweDAwLDB4MDIsMHg0YywweDc3LDB4MDAsMHgwMiwweDRjLDB4OGUsMHgwMH19LAotIHsxNiwweDQ5NDAsMCx7MHgwMiwweDRjLDB4YTUsMHgwMCwweDAyLDB4NGMsMHhiYywweDAwLDB4MDIsMHg0YywweGQzLDB4MDAsMHgwMiwweDRjLDB4ZWEsMHgwMH19LAotIHsgOCwweDQ5NTAsMCx7MHgwMiwweDRkLDB4MDEsMHgwMCwweDAyLDB4NGQsMHgxOCwweDAwfX0sCi0gezE2LDB4NDk1OCwwLHsweDkwLDB4NzYsMHg0NiwweDc0LDB4ODAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzfX0sCi0gezE2LDB4NDk2OCwwLHsweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHg3NCwweDgwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweGYwfX0sCi0gezE2LDB4NDk3OCwwLHsweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzfX0sCi0gezE2LDB4NDk4OCwwLHsweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwfX0sCi0gezE2LDB4NDk5OCwwLHsweGEzLDB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweGYwfX0sCi0geyA1LDB4NDlhOCwwLHsweGEzLDB4ZjAsMHhhMywweGYwLDB4MjJ9fSwKLSB7MTYsMHg0OWFkLDAsezB4ZTQsMHg5MCwweDc2LDB4MjUsMHhmMCwweDkwLDB4NzYsMHgyNSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzR9fSwKLSB7MTYsMHg0OWJkLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9fSwKLSB7MTYsMHg0OWNkLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyNSwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9fSwKLSB7MTYsMHg0OWRkLDAsezB4ZWYsMHhiNCwweDA0LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZSwweGMwLDB4ZTB9fSwKLSB7MTYsMHg0OWVkLDAsezB4ZmUsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWV9fSwKLSB7IDIsMHg0OWZkLDAsezB4ZjAsMHgyMn19LAotIHsxNiwweDQ5ZmYsMCx7MHhlNCwweGZlLDB4NzUsMHgxZCwweGZmLDB4NzUsMHgxZSwweDA1LDB4NzUsMHgxZiwweDEyLDB4YWIsMHgxZCwweGFhLDB4MWUsMHhhOX19LAotIHsxNiwweDRhMGYsMCx7MHgxZiwweDkwLDB4MDAsMHgwMSwweDEyLDB4MzYsMHhhYiwweDY0LDB4MDIsMHg3MCwweDJmLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHhlZH19LAotIHsxNiwweDRhMWYsMCx7MHg2ZiwweDcwLDB4MDEsMHgyMiwweDkwLDB4MDAsMHgwMiwweDEyLDB4MzcsMHgwZSwweDg1LDB4ZjAsMHgxYiwweGY1LDB4MWMsMHg2Mn19LAotIHsxNiwweDRhMmYsMCx7MHgxYiwweGU1LDB4MWIsMHg2MiwweDFjLDB4ZTUsMHgxYywweDYyLDB4MWIsMHgyOSwweGZkLDB4ZTUsMHgxYiwweDNhLDB4YzksMHhlZH19LAotIHsxNiwweDRhM2YsMCx7MHhjOSwweDc1LDB4MWQsMHhmZiwweGY1LDB4MWUsMHg4OSwweDFmLDB4ODAsMHhjMSwweDdiLDB4MDAsMHg3YSwweDAwLDB4NzksMHgwMH19LAotIHsgMSwweDRhNGYsMCx7MHgyMn19LAotIHsxNiwweDRhNTAsMCx7MHgzMCwweDJkLDB4MzksMHhjMiwweDJkLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZCwweGU0LDB4OTAsMHg3Nn19LAotIHsxNiwweDRhNjAsMCx7MHg3YywweGYwLDB4YTMsMHg3NCwweGY4LDB4ZjAsMHhhMywweDc0LDB4MGEsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBkLDB4ZTQsMHg5MH19LAotIHsxNiwweDRhNzAsMCx7MHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4ZjAsMHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGQsMHhlNH19LAotIHsxMywweDRhODAsMCx7MHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHhmOCwweGYwLDB4YTMsMHg3NCwweDE3LDB4ZjAsMHgyMn19LAotIHsxNiwweDRhOGQsMCx7MHhlNCwweGZmLDB4NzQsMHg1NiwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgyOH19LAotIHsxNiwweDRhOWQsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4NWUsMHgyZiwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDRhYWQsMCx7MHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDM4LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4M319LAotIHsgNiwweDRhYmQsMCx7MHhlZSwweGYwLDB4MGYsMHhiZiwweDA4LDB4Y2N9fSwKLSB7IDEsMHg0YWMzLDAsezB4MjJ9fSwKLSB7MTYsMHg0YWM0LDAsezB4ZTQsMHg5MCwweDcyLDB4MzYsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTB9fSwKLSB7MTYsMHg0YWQ0LDAsezB4NzIsMHgzMywweGYwLDB4OTAsMHg3MiwweDMyLDB4ZjAsMHg5MCwweDcyLDB4MDEsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDcyLDB4MzN9fSwKLSB7MTYsMHg0YWU0LDAsezB4ZjAsMHg5MCwweDcyLDB4MzIsMHhmMCwweDkwLDB4NzIsMHgwMSwweDA0LDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDQ0LDB4MDR9fSwKLSB7IDIsMHg0YWY0LDAsezB4ZjAsMHgyMn19LAotIHsxNiwweDRhZjYsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmIsMHhmMCwweGUwLDB4NDQsMHgwOCwweGYwLDB4MzAsMHg0MiwweDA0LDB4ZTAsMHg0NH19LAotIHsxNiwweDRiMDYsMCx7MHgwMiwweGYwLDB4N2YsMHhkYywweDdlLDB4MDUsMHgxMiwweDRkLDB4MmYsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZjcsMHhmMH19LAotIHsgNSwweDRiMTYsMCx7MHhlMCwweDQ0LDB4MDQsMHhmMCwweDIyfX0sCi0gezE2LDB4NGIxYiwwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg3MCwweDE0LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgwNCwweDEyfX0sCi0gezE2LDB4NGIyYiwwLHsweDQ4LDB4NWEsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fX0sCi0geyAzLDB4NGIzYiwwLHsweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDRiM2UsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NzAsMHgxMywweDkwLDB4N2YsMHhlOSwweGUwLDB4MTQsMHg3MCwweDA0LDB4MTIsMHg0OX19LAotIHsxNiwweDRiNGUsMCx7MHhhZCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX19LAotIHsgMiwweDRiNWUsMCx7MHhmMCwweDIyfX0sCi0gezE2LDB4NGI2MCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MTAsMHhmMCwweDkwfX0sCi0gezE2LDB4NGI3MCwwLHsweDc2LDB4OTYsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwfX0sCi0geyAxLDB4NGI4MCwwLHsweDMyfX0sCi0gezE2LDB4NGI4MSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0gezE1LDB4NGI5MSwwLHsweGMyLDB4MjksMHg5MCwweDc2LDB4OGQsMHg3NCwweDAxLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRiYTAsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg4MiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4OTEsMHhmMCwweDkwLDB4NzYsMHg5Mn19LAotIHsxMSwweDRiYjAsMCx7MHhmMCwweDkwLDB4NzYsMHg5MCwweGYwLDB4OTAsMHg3NiwweDkzLDB4ZjAsMHhkMywweDIyfX0sCi0gezE2LDB4NGJiYiwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4MzAsMHhlNywweDEyLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3ZiwweDE0LDB4N2UsMHgwMCwweDEyfX0sCi0gezEwLDB4NGJjYiwwLHsweDRkLDB4MmYsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDIyfX0sCi0gezE2LDB4NGJkNSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MjUsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA4fX0sCi0geyA4LDB4NGJlNSwwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YmVkLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7IDcsMHg0YmZkLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzA0LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAyLDB4ZjB9fSwKLSB7IDcsMHg0YzE0LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzFiLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDA0LDB4ZjB9fSwKLSB7IDcsMHg0YzJiLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzMyLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA0LDB4ZjB9fSwKLSB7IDcsMHg0YzQyLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzQ5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDA4LDB4ZjB9fSwKLSB7IDcsMHg0YzU5LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzYwLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA4LDB4ZjB9fSwKLSB7IDcsMHg0YzcwLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0Yzc3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDEwLDB4ZjB9fSwKLSB7IDcsMHg0Yzg3LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YzhlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDEwLDB4ZjB9fSwKLSB7IDcsMHg0YzllLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0Y2E1LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDIwLDB4ZjB9fSwKLSB7IDcsMHg0Y2I1LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0Y2JjLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDIwLDB4ZjB9fSwKLSB7IDcsMHg0Y2NjLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0Y2QzLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDQwLDB4ZjB9fSwKLSB7IDcsMHg0Y2UzLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0Y2VhLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDQwLDB4ZjB9fSwKLSB7IDcsMHg0Y2ZhLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0ZDAxLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDgwLDB4ZjB9fSwKLSB7IDcsMHg0ZDExLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0ZDE4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDgwLDB4ZjB9fSwKLSB7IDcsMHg0ZDI4LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0ZDJmLDAsezB4OGUsMHgzNSwweDhmLDB4MzYsMHhlNSwweDM2LDB4MTUsMHgzNiwweGFlLDB4MzUsMHg3MCwweDAyLDB4MTUsMHgzNSwweDRlLDB4NjB9fSwKLSB7IDcsMHg0ZDNmLDAsezB4MDUsMHgxMiwweDE0LDB4ODUsMHg4MCwweGVlLDB4MjJ9fSwKLSB7MTYsMHg0ZDQ2LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwNCwweGYwLDB4ZDB9fSwKLSB7IDYsMHg0ZDU2LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGQ1YywwLHsweDkwLDB4NzYsMHg4MiwweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHhkMywweDIyfX0sCi0geyA5LDB4NGQ2YywwLHsweGMyLDB4MjUsMHg1MywweGQ4LDB4ZWYsMHg0MywweGQ4LDB4MjAsMHgzMn19LAotIHsgNywweDRkNzUsMCx7MHg1MywweDk4LDB4ZmUsMHg1MywweDk4LDB4ZmQsMHgzMn19LAotIHsgNywweDRkN2MsMCx7MHg1MywweGMwLDB4ZmUsMHg1MywweGMwLDB4ZmQsMHgzMn19LAotIHsgNiwweDRkODMsMCx7MHg1MywweDkxLDB4YmYsMHhkMiwweDJkLDB4MzJ9fSwKLSB7IDYsMHg0ZDg5LDAsezB4NTMsMHg5MSwweDdmLDB4ZDIsMHgyYywweDMyfX0sCi0geyA0LDB4NGQ4ZiwwLHsweDUzLDB4OTEsMHhkZiwweDMyfX0sCi0geyA0LDB4NGQ5MywwLHsweDUzLDB4ZDgsMHhmNywweDMyfX0sCi0geyA0LDB4NGQ5NywwLHsweDEyLDB4MTcsMHgzMCwweDIyfX0sCi0geyAzLDB4NGQ5YiwwLHsweGMyLDB4OGQsMHgzMn19LAotIHsgMywweDRkOWUsMCx7MHhjMiwweDhmLDB4MzJ9fSwKLSB7IDIsMHg0ZGExLDAsezB4ZDMsMHgyMn19LAotIHsgMiwweDRkYTMsMCx7MHhkMywweDIyfX0sCi0geyAyLDB4NGRhNSwwLHsweGQzLDB4MjJ9fSwKLSB7IDIsMHg0ZGE3LDAsezB4ZDMsMHgyMn19LAotIHsgMiwweDRkYTksMCx7MHhkMywweDIyfX0sCi0geyAyLDB4NGRhYiwwLHsweGMzLDB4MjJ9fSwKLSB7IDAsMHgwMDAwLDEsezB9fQotfTsKLS8qIFNvdXJjZTogRU1JNjJTRlcuSEVYIAotOjEwMEM4RjAwNDE3NjY4MDE0MTc2NkEwMjQxNzY2QjBBQzEyMEMxMjEyMwotOjEwNDRBMTAwQzJBRkQyMjQ5MDdGOTM3NDMwRjA5MDdGOUM3NEJCRjBBNAotOjEwNDRCMTAwOTA3Rjk2RTA0NDMwRjBFMDU0MzBGMDkwN0Y5NDc0MzA3NwotOjEwNDRDMTAwRjA5MDdGOUQ3NENGRjA5MDdGOTc3NEEwRjA5MDdGOTVDRQotOjEwNDREMTAwNzRDMEYwOTA3RjlFNzQwM0YwOTA3Rjk5RTAzMEUyMDkwMAotOjEwNDRFMTAwOTAwNTE5NzRBMEYwRTRBM0YwQzIyNUMyMjJDMjIzQzIzMAotOjEwNDRGMTAwMjYxMjRBQzQxMjJEQTkxMjNCRDMxMjQ1NTkxMjNBNDIyRgotOjEwNDUwMTAwOTA3NjY4NzQwMUYwNzAwRjEyNEJCQjEyMDdGRTEyNERDQQotOjEwNDUxMTAwQTExMjFCNDAxMjE0OTYxMjQzMEI5MDdGQUZFMDQ0MDE4RAotOjEwNDUyMTAwRjA5MDdGQUVFMDQ0MUZGMDkwN0ZBQzc0RkZGMDkwN0Y3RAotOjEwNDUzMTAwQURGMDkwN0ZERUYwOTA3RkRGRjA5MDdGQUJGMDkwN0Y2OQotOjEwNDU0MTAwQTlGMDkwN0ZBQUYwNTM5MUVGNDNEODIwRDJFODQzRDg0NQotOjA4NDU1MTAwMjA1M0E4QTA0M0E4ODAyMjFBCi06MTA0NzVBMDBFNDkwNzY2NkYwMTI0NEExMjAyNjEzOTA3NjY2RTBDM0IwCi06MTA0NzZBMDA5NDAyNTAwQUUwMDRGMEQyNDIxMjRBRjY4MEVBMzAyNjU1Ci06MTA0NzdBMDAwNTEyMjgwMUMyMjYzMDI1MkI5MDc2OTZFMDU0RkNGMENCCi06MTA0NzhBMDA5MDgwMDNGMDEyMTQ5NjkwNzY5NkUwNDQwM0YwOTA4MDlECi06MTA0NzlBMDAwM0YwRTQ5MDc2NjdGMDkwNzY2N0UwMDRGMEUwQjQ0QkJCCi06MEE0N0FBMDBGNjEyM0ZGQTEyNDExQjgwQzUyMkVGCi06MTAyODAxMDBDMjIwQzIyMUMyMkE5MDdGRThFMDEyMzdGOTI4MzAwMEE1Ci06MTAyODExMDAyODhDMDEyOEEyMDIyQTFGMjEyQTZBMjIyOTNEODAyOTA3Ci06MTAyODIxMDA3RDgxMjlEMTgyMkE4NEExMkFCQUEyMDAwMDJBQkY5MERGCi06MTAyODMxMDA3RkU5RTAxNDYwMTEyNEZFNjAyODI0RkU2MDNCMjRGQzQzCi06MTAyODQxMDA3MDQwMTI0QkEwNDFDQjEyNERBNzQwMDI0MUNCOTA3RjZCCi06MTAyODUxMDBFQUUwQjQwMTA0QzIyMjQxQ0I5MDdGQjRFMDQ0MDFGMDJDCi06MTAyODYxMDA0MUNCMTI0REE5OTA3RkVBRTBCNDAxMDREMjIyNDFDQkMxCi06MTAyODcxMDA5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDlCCi06MTAyODgxMDA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTAyNDVCCi06MTAyODkxMDBGNTcwMDUxMjQ4MDA0MUNCOTA3RkI0RTA0NDAxRjA0MTRFCi06MTAyOEExMDBDQjkwN0ZFOUUwMjRGRDYwNTQyNDAyNjAwMjIxMzQxMkMwCi06MTAyOEIxMDA0REE3NDAwMjQxQ0I5MDdGRUFFMDcwMzg5MDdGRUNFMDc5Ci06MTAyOEMxMDBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEQzCi06MTAyOEQxMDBGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRkVGCi06MTAyOEUxMDAxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NEQ4Ci06MTAyOEYxMDAyMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjEyNERBOUNGCi06MTAyOTAxMDA0MDAyNDFDQjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NEVDCi06MTAyOTExMDA4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MjUzCi06MTAyOTIxMDBFNDM0N0ZGNTgzNzQwMUYwNDFDQjkwN0ZCNEUwNDQwMTNFCi06MTAyOTMxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMERFCi06MTAyOTQxMDA2MDEyMjRGODYwMDkyNDAyNzAyOTEyNDNEQjQxQ0IxMjgyCi06MTAyOTUxMDA0RDVDNDFDQjEyNERBNUEyMjJFNDMzRkYyNUUwRkZBMjNECi06MTAyOTYxMDAyM0U0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMjJECi06MTAyOTcxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDlFCi06MTAyOTgxMDA2MDMzMjRGNjYwMkEyNDA0NzAzRDkwN0ZFQkUwMjRERTVFCi06MTAyOTkxMDA2MDBDMDQ3MDEyOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjUxCi06MTAyOUExMDBCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjZECi06MTAyOUIxMDAxMjQ2ODU0MUNCMTI0REE1RTQ5MDdGMDBGMEEzRjA5MDIzCi06MTAyOUMxMDA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjdDCi06MTAyOUQxMDA5MDdGRTlFMDI0RjQ2MDM0MjQwQzcwMzkxMjREQTU5MDA1Ci06MTAyOUUxMDA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNTFGCi06MTAyOUYxMDBFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMDU4Ci06MTAyQTAxMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDg1Ci06MTAyQTExMDA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjgxCi06MTAyQTIxMDBFOUUwMjRGNjYwMTIxNDYwMUEyNDAyNzAxREQyMjA5MDhECi06MTAyQTMxMDA3RkI0RTA0NDAxRjA4MDEyRDIyMDkwN0ZCNEUwNDQwMUUxCi06MTAyQTQxMDBGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwMjAxODkwN0ZFRUUxCi06MTAyQTUxMDBFMDcwMDRBM0UwNjAwQkQyMjlEMjI3MTIxNzRBRDIyQUQwCi06MTAyQTYxMDA4MDAzMTIwODAwQzIyMDgwNjE5MDdGRUVFMDcwMDRBMzExCi06MTAyQTcxMDBFMDYwMEJEMjI5RDIyODEyMTc0QUQyMkE4MDRDMTIzODkwCi06MTAyQTgxMDA3NDgwNDc5MDdGRTlFMDI0RkU2MDEyMTQ2MDFBMjQwMkVBCi06MTAyQTkxMDA3MDFERDIyMTkwN0ZCNEUwNDQwMUYwODAxMkQyMjE5MEM4Ci06MTAyQUExMDA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDVFCi06MTAyQUIxMDAyMTAzMTIxMDAwQzIyMTgwMTExMjJBRDY4MDBDMTI0RDVFCi06MTAyQUMxMDBBQjUwMDc5MDdGQjRFMDQ0MDFGMDIwMkEwNzkwN0ZCNDE3Ci06MDUyQUQxMDBFMDQ0MDJGMDIyQzgKLToxMDQzREIwMDEyNERBMzQwMDI4MUEwOTA3RkVCRTAyNEZFNjAxRTE0REYKLToxMDQzRUIwMDYwNDYxNDYwNkUxNDcwMDI4MTkxMjQwNDYwMDI4MTk5RkUKLToxMDQzRkIwMDc0MDU5MDdGRDRGMDc0MDA5MDdGRDVGMDIyOTA3RkVBMDMKLToxMDQ0MEIwMEUwRkYxMjQ5RkY4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRjUKLToxMDQ0MUIwMEVBQ0VFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyQUMKLToxMDQ0MkIwMDkwN0ZCNEUwNDQwMUYwMjI5MDdGRUFFMEZGMTI0OEIwQTUKLToxMDQ0M0IwMDhCMjA4QTIxODkyMkVBNDk2MDExQ0VFQUNFRUU5MDdGNDkKLToxMDQ0NEIwMEQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGQjRFMDQ0NEEKLToxMDQ0NUIwMDAxRjAyMjkwN0ZFQUUwRkY5MDdFQzBFMEZEQTNFMEZCM0QKLToxMDQ0NkIwMDEyMTc5NDhCMjA4QTIxODkyMkVBNDk2MDExQ0VFQUNFNTkKLToxMDQ0N0IwMEVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGRjUKLToxMDQ0OEIwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMkQKLTowNTQ0OUIwMEI0RTA0NDAxRjA1MwotOjAxNDRBMDAwMjJGOQotOjAzMDAzMzAwMDI0RDZDMEYKLTowOTRENkMwMEMyMjU1M0Q4RUY0M0Q4MjAzMkQwCi06MDIwQzlGMDBDMTJGNjMKLTowNjNGRkEwMDEyNEFDNEMyMzEyMjhDCi06MTA0MzBCMDBFNDkwNzY5NkYwOTA4MDAzRjA5MDdGRTA3NDkwRjA5MEJDCi06MTA0MzFCMDA3RkUxNzQwNEYwRTQ5MDdGRERGMDkwN0ZBMUYwNTM4RTg5Ci06MTA0MzJCMDBGODc1ODgwNTc1QjgyMDc1RjgwMTQzOEUzMEY1Qzg3NTlBCi06MTA0MzNCMDBDQTdGNzVDQkY4NDNBODIwMTIwNzRBQzIyQ0MyMkRDMkU0Ci06MTA0MzRCMDAyQkMyMkY5MDdGRkM3NERERjA5MDdGRkY3NEZGRjA5MEY5Ci06MTA0MzVCMDA3Rjk3RTA0NDAxRjA5MDc2MTk3NDAxRjBFNDkwNzY4NTM0Ci06MTA0MzZCMDBGMEEzRjA5MDc2ODFGMDkwNzY4MEYwMTI0OTU4MTIwRkZFCi06MTA0MzdCMDBDNjEyNEE4RDkwN0Y5N0UwNDQwOEYwRTA1NEI5RjBEMjEyCi06MTA0MzhCMDAzMDIwMzAxODEyNDdCNDEyMzAwMDEyNDAwMDEyNDIxNjdGCi06MTA0MzlCMDAxMjRBNTAxMjFCMDQxMjE2NjExMjQyMTZDMjJGQzIzMTVFCi06MTA0M0FCMDBDMjMyQzIzNEMyMzNDMjI5QzIyN0MyMjhFNEY1MTE5MEVCCi06MTA0M0JCMDA3Njg5RjA5MDc2M0ZGMDkwNzY0MUYwOTA3NjQwRjA5MEQxCi06MTA0M0NCMDA3NjhBRjBBM0YwQTMwNEYwRTRBM0YwOTA3Njk5RjAyMkEwCi06MTA0QTUwMDAzMDJEMzlDMjJEOTA3NjE5RTBGRkI0MDEwREU0OTA3NjI3Ci06MTA0QTYwMDA3Q0YwQTM3NEY4RjBBMzc0MEFGMEVGQjQwMjBERTQ5MEE0Ci06MTA0QTcwMDA3NjdDRjBBMzc0RjBGMEEzNzQwQkYwRUZCNDAzMERFNEI0Ci06MEQ0QTgwMDA5MDc2N0NGMEEzNzRGOEYwQTM3NDE3RjAyMjc4Ci06MTAxQjA0MDAzMDJDMzhDMjJDOTA3NjE5RTBGRkI0MDEwRTkwNzY3QzBDCi06MTAxQjE0MDA3NEMwRjBBMzc0MTRGMEEzNzQwQkYwRUZCNDAyMERFNERBCi06MTAxQjI0MDA5MDc2N0NGMEEzNzQxMEYwQTM3NDBDRjBFRkI0MDMwQjY0Ci06MEMxQjM0MDBFNDkwNzY3Q0YwQTM3NDE4RjBBM0YwMjI3QgotOjEwNDExQjAwOTA3NjhERTA2NDAxNzAyNzMwMjcwOEMyMjcxMjA4MDBDMwotOjEwNDEyQjAwMTIxNzRBMzAyODA4QzIyODEyMzg3NDEyMTc0QTMwMkEzQwotOjEwNDEzQjAwMEVFNDkwNzY4REYwQzIyQTkwN0ZCNEUwNDQwMkYwOTBBQQotOjEwNDE0QjAwNzYzRkUwQjQwMTA1RTRGMDEyMzI2RjkwNzY0MUUwQjRCMwotOjEwNDE1QjAwMDEwNUU0RjAxMjM0OUE5MDc2NDBFMEI0MDEwMzEyMzQ3NgotOjEwNDE2QjAwOUE5MDdGOUJFMDIwRTQwMkMyM0Y5MDdGOUJFMDMwRTQ3QgotOjEwNDE3QjAwMDJEMjNGOTA3RjlCRTAyMEU1MDJDMjNFOTA3RjlCRTAwNgotOjEwNDE4QjAwMzBFNTAyRDIzRUEyNDEzMDNGMDFCMzUwMUZBMjNGOTIxNQotOjEwNDE5QjAwNDEzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTc3OAotOjEwNDFBQjAwRTA0NDAxRjA5MDc2OTdFMDkwODAwMkYwMzAzRjM0OTAzRAotOjEwNDFCQjAwNzYxOUUwRkZCNDAxMEU5MDc2N0M3NDY3RjBBMzc0MDY1OQotOjEwNDFDQjAwRjBBMzc0MEJGMEVGQjQwMjBCRTQ5MDc2N0NGMEEzRjA0OQotOjEwNDFEQjAwQTM3NDBDRjBFRkI0MDMwQkU0OTA3NjdDRjBBM0YwQTM4NAotOjEwNDFFQjAwNzQxOEYwQTI0MDMwM0UwMUIzNTAxRkEyM0U5MjQwMzBGMwotOjEwNDFGQjAwM0UwOTkwNzY5NUUwNDQwNEYwODAwNzkwNzY5NUUwNTQ2NAotOjBCNDIwQjAwRkJGMDkwNzY5NUUwOTA4MDAxRjAyMjFGCi06MDIwN0ZFMDBEMzIyMDQKLTowMjREQTEwMEQzMjIxQgotOjAyNERBMzAwRDMyMjE5Ci06MTA0QkEwMDA5MDdGRUFFMDkwNzY4MkYwRTQ5MDc2OTFGMDkwNzY5MkIxCi06MEI0QkIwMDBGMDkwNzY5MEYwOTA3NjkzRjBEMzIyMDYKLToxMDRENUMwMDkwNzY4MkUwOTA3RjAwRjA5MDdGQjU3NDAxRjBEMzIyQzIKLToxMDQ4MDAwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxNzE0NjAyMTE0NDAKLToxMDQ4MTAwMDYwMkIxNDYwMzIyNDA0NzAzODkwN0ZFQUUwOTA3NjkxMjcKLToxMDQ4MjAwMEYwODAzNTkwN0ZFQUUwOTA3NjkyRjAxMjNFOEY4MDI4RkIKLToxMDQ4MzAwMDkwN0ZFQUUwOTA3NjkwRjAxMjE4MDA4MDFCOTA3RkVBNUIKLToxMDQ4NDAwMEUwOTA3Njg0RjA4MDExOTA3RkVBRTA5MDc2OTNGMDgwOUIKLTowQTQ4NTAwMDA3OTA3RkI0RTA0NDAxRjBEMzIyOEEKLToxMDQ2ODUwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxRDE0NjAyQTE0QUUKLToxMDQ2OTUwMDYwMzcxNDYwNDQyNDA0NzA1MDkwNzY5MUUwOTA3RjAwNTgKLToxMDQ2QTUwMEYwOTA3RkI1NzQwMUYwODA0NzkwNzY5MkUwOTA3RjAwOUUKLToxMDQ2QjUwMEYwOTA3RkI1NzQwMUYwODAzNzkwNzY5MEUwOTA3RjAwQTAKLToxMDQ2QzUwMEYwOTA3RkI1NzQwMUYwODAyNzkwNzY4NEUwOTA3RjAwQUMKLToxMDQ2RDUwMEYwOTA3RkI1NzQwMUYwODAxNzkwNzY5M0UwOTA3RjAwOUQKLToxMDQ2RTUwMEYwOTA3RkI1NzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwNEQKLTowMjQ2RjUwMEQzMjJDRQotOjAyNERBNTAwRDMyMjE3Ci06MDI0REE3MDBEMzIyMTUKLTowMjREQTkwMEQzMjIxMwotOjAyNERBQjAwQzMyMjIxCi06MTAyRkU3MDBDMEUwQzA4M0MwODJEMjI2NTM5MUVGOTA3RkFCNzQwMUJCCi06MDgyRkY3MDBGMEQwODJEMDgzRDBFMDMyNUIKLToxMDRENDYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDRGMEQwNzMKLTowNjRENTYwMDgyRDA4M0QwRTAzMkEwCi06MTAzRDQ3MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMEY2Ci06MTAzRDU3MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkIxCi06MTAzRDY3MDBDMEUwOTA3RkEyRTA5MDc2N0ZGMDkwN0Y3NEUwOTA3NjNECi06MTAzRDc3MDA4N0YwOTA3Rjc1RTA5MDc2ODhGMDkwN0Y5OEUwNDQwMjE2Ci06MTAzRDg3MDBGMDkwNzY5NkUwRkYyMEUxMEM0NDAyRjA5MDgwMDNGMDdCCi06MTAzRDk3MDBEMjMyMTI0QUM0OTA3NjdGRTAyMEUyNTA5MDc2ODdFMEQ0Ci06MTAzREE3MDBGRUEzRTA3QzAwMjQwMEY1MzRFQzNFRjUzMzkwNzY5OEQyCi06MTAzREI3MDBFMEZEQUUzM0FGMzQxMjM2RDg5MDc2ODdFRkYwRDIyRkNFCi06MTAzREM3MDAzMDMxMjkyMDNGMjZDMjMxOTA3Rjk0RTA1NENGRjA5MEM0Ci06MTAzREQ3MDA3RjlBRTAzMEU0MDREMjJEQzIyQzkwN0Y5QUUwMjBFNTUwCi06MTAzREU3MDAwNEMyMkREMjJDOTA3Rjk0RTA0NDMwRjAxMjRBNTAxMjM2Ci06MTAzREY3MDAxQjA0MzAyRjEyMTI0MjE2QzIyRjc1RTgwMTEyMTY4QUMxCi06MTAzRTA3MDA3NUU4MEREMjJCODAwNTc1RTgwMUMyMkIyMDJCMzQ5MDY1Ci06MTAzRTE3MDA3NjE5RTBGRkI0MDEwRTkwNzY3Qzc0NjdGMEEzNzQwNjAwCi06MTAzRTI3MDBGMEEzNzQwQkYwRUZCNDAyMEI5MDc2N0NFNEYwQTNGMEYwCi06MTAzRTM3MDBBMzc0MENGMEVGQjQwMzBCOTA3NjdDRTRGMEEzRjBBMzJCCi06MTAzRTQ3MDA3NDE4RjA3NUNBRDM3NUNCRkVEMkNBMzAzNDA0QzIzNEE1Ci06MTAzRTU3MDA4MDAyRDIzNDUzOTFFRjkwN0ZBQjc0MDJGMEYwOTA3RkUxCi06MTAzRTY3MDA5OEUwNTRGREYwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEQ4Ci06MTAzRTc3MDBGQ0QwRTBGQkQwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDI5Ci06MDgzRTg3MDA4MkQwODNEMEYwRDBFMDMyQkMKLToxMDRCNjAwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMDkwOEYKLToxMDRCNzAwMDc2OTZFMDU0RkRGMDkwODAwM0YwRDA4MkQwODNEMEUwQjAKLTowMTRCODAwMDMyMDIKLTowMTJGRkYwMDMyOUYKLToxMDRCRDUwMEMwRTBDMDgzQzA4MkQyMjU1MzkxRUY5MDdGQUI3NDA4QUIKLTowODRCRTUwMEYwRDA4MkQwODNEMEUwMzI1MQotOjEwNEJFRDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAxRjBGMwotOjA3NEJGRDAwRDA4MkQwODNEMEUwMzIyQQotOjEwNEI4MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAxRjA1RQotOjBGNEI5MTAwQzIyOTkwNzY4RDc0MDFGMEQwODJEMDgzRDBFMDMyQUIKLToxMDRDMDQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMkYwREEKLTowNzRDMTQwMEQwODJEMDgzRDBFMDMyMTIKLToxMDNGRDUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMkYwMTUKLToxMDNGRTUwMDkwN0ZDN0UwRjUxMTc1MEYwMDc1MEQwMEQyMzNEMDgyQjMKLTowNTNGRjUwMEQwODNEMEUwMzI5MgotOjEwNEMxQjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA0RjBDMQotOjA3NEMyQjAwRDA4MkQwODNEMEUwMzJGQgotOjEwNEMzMjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA0RjBBOQotOjA3NEM0MjAwRDA4MkQwODNEMEUwMzJFNAotOjEwNEM0OTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA4RjA4RgotOjA3NEM1OTAwRDA4MkQwODNEMEUwMzJDRAotOjEwNEM2MDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA4RjA3NwotOjA3NEM3MDAwRDA4MkQwODNEMEUwMzJCNgotOjEwNEM3NzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDEwRjA1OQotOjA3NEM4NzAwRDA4MkQwODNEMEUwMzI5RgotOjEwNEM4RTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDEwRjA0MQotOjA3NEM5RTAwRDA4MkQwODNEMEUwMzI4OAotOjEwNENBNTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDIwRjAxQgotOjA3NENCNTAwRDA4MkQwODNEMEUwMzI3MQotOjEwNENCQzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDIwRjAwMwotOjA3NENDQzAwRDA4MkQwODNEMEUwMzI1QQotOjEwNENEMzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDQwRjBDRAotOjA3NENFMzAwRDA4MkQwODNEMEUwMzI0MwotOjEwNENFQTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDQwRjBCNQotOjA3NENGQTAwRDA4MkQwODNEMEUwMzIyQwotOjEwNEQwMTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDgwRjA1RQotOjA3NEQxMTAwRDA4MkQwODNEMEUwMzIxNAotOjEwNEQxODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDgwRjA0NgotOjA3NEQyODAwRDA4MkQwODNEMEUwMzJGRAotOjEwNDIxNjAwOTA3NjE5RTA2NDAxNzAzNTkwNzY4N0UwRkZEMzk0MkQ4RgotOjEwNDIyNjAwNDAyQjkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDMxQQotOjEwNDIzNjAwOTQwRjQwMTlFNEYwRUZEMzk0MzE0MDA4OTA3NjE5NzQ0NgotOjEwNDI0NjAwMDNGMDgwMDY5MDc2MTk3NDAyRjAxMjNFOEY5MDc2MTk2QwotOjEwNDI1NjAwRTBCNDAyMkM5MDc2ODdFMEZGQzM5NDJGNTAyMkVGRDM3MAotOjEwNDI2NjAwOTQyQTQwMUM5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBERQotOjEwNDI3NjAwRTBEMzk0MEY0MDBBRTRGMDkwNzYxOTA0RjAxMjNFOEZEMgotOjEwNDI4NjAwOTA3NjE5RTBCNDAyMjY5MDc2ODdFMEQzOTQzMTQwMURFQgotOjEwNDI5NjAwOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY3MgotOjEwNDJBNjAwNDAwQkU0RjA5MDc2MTk3NDAzRjAxMjNFOEY5MDc2MTk2NQotOjEwNDJCNjAwRTA2NDAzNzAzRjkwNzY4N0UwRkZDMzk0NUY1MDM1OTBDQgotOjEwNDJDNjAwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNDA5MgotOjEwNDJENjAwMjNFNEYwRUZDMzk0MkY1MDBDRUZEMzk0MkE0MDA2OTBCQQotOjEwNDJFNjAwNzYxOTc0MDFGMEVGRDM5NDJGNDAwNjkwNzYxOTc0MDI3NAotOjEwNDJGNjAwRjAxMjNFOEY5MDc2ODZFMDcwMDU5MDc2ODVGMDIyRTQ4NwotOjA1NDMwNjAwOTA3Njg2RjAyMjE0Ci06MTAwNzRBMDA5MDc2OUE3NDAyRjBFNDkwNzY5MUYwQTNGMDkwNzY5MDA1Ci06MTAwNzVBMDBGMDkwNzY5M0YwOTA3Njk2NzQwM0YwOTA4MDAzRjBFNDJDCi06MTAwNzZBMDA5MDc2OTdGMDkwODAwMkYwOTA3Njk0MDRGMDkwODAwMDUyCi06MTAwNzdBMDBGMEU0OTA3NjhFRjA5MDc2MUFGMDkwNzY5NTA0RjBDMkI2Ci06MTAwNzhBMDAyRTkwN0Y5QkUwRkY1NDEwRkY3MDAyQzIzRjkwN0Y5QjI4Ci06MTAwNzlBMDBFMEZGNTQxMEZFRkZCRTEwMDJEMjNGOTA3RjlCRTBGRkE1Ci06MTAwN0FBMDA1NDIwRkY3MDAyQzIzRTkwN0Y5QkUwRkY1NDIwRkVGRjYwCi06MTAwN0JBMDBCRTIwMDJEMjNFMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDg4Ci06MTAwN0NBMDAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDJGMEU3Ci06MTAwN0RBMDAzMDNFMDk5MDc2OTVFMDQ0MDRGMDgwMDc5MDc2OTVFMEUzCi06MTAwN0VBMDA1NEZCRjA5MDc2OTVFMDkwODAwMUYwQTIzRTkyNDBBMkYwCi06MDMwN0ZBMDAzRjkyNDFFQQotOjAxMDdGRDAwMjJEOQotOjEwM0U4RjAwOTA3NjkyRTAxNDYwMUQxNDcwMDJFMTQ0MjQwMjYwMDJFNwotOjEwM0U5RjAwRTFENDkwNzY5NDc0MDFGMDkwODAwMEYwRTQ5MDc2OEVFNwotOjEwM0VBRjAwRjBEMjMxMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGRjIzQgotOjEwM0VCRjAwRjA5MDdGRjM3NDMwRjA5MDdGRkY3NEZDRjA5MDc2OTc2MgotOjEwM0VDRjAwRTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyRjBFRQotOjEwM0VERjAwOTA3RkYzNzQzNEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTA0RQotOjEwM0VFRjAwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwOTAyQgotOjEwM0VGRjAwN0ZGMzc0NjRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwNDQ0QQotOjEwM0YwRjAwMDRGMDkwNzY5NEUwNDQwMUYwOTA4MDAwRjAzMDNGMDk4NwotOjEwM0YxRjAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjA5QQotOjEwM0YyRjAwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDRGMDkwNzZGNwotOjEwM0YzRjAwOEU3NDAxRjAyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0Y5QwotOjEwM0Y0RjAwRjJGMDkwN0ZGMzc0NDRGMDkwN0ZGRjc0RkNGMDkwNzY2MgotOjEwM0Y1RjAwOTdFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJCNgotOjEwM0Y2RjAwRjA5MDdGRjM3NDRDRjA5MDdGRkY3NEZDRjA5MDc2OTc5NQotOjEwM0Y3RjAwRTA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjA0QQotOjEwM0Y4RjAwOTA3RkYzNzQ5NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAzRAotOjEwM0Y5RjAwNDQwNEYwOTA3Njk0RTA1NEZFRjA5MDgwMDBGMDMwM0ZBRgotOjEwM0ZBRjAwMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMQotOjEwM0ZCRjAwRjA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNkYwOTBFQgotOjA2M0ZDRjAwNzY4RTc0MDJGMDIyNjAKLToxMDE4MDAwMDkwNzY5MEUwMTQ2MDM3MTQ3MDAyMDFEODE0NzAwMjIxQjEKLToxMDE4MTAwMDcyMTQ3MDAyNDEzQjI0MDQ2MDAyNjEwMzkwN0ZGQzc0RTcKLToxMDE4MjAwMENDRjA5MDdGRkY3NEZDRjA5MDc2OTVFMDQ0MDFGMDU0OEEKLToxMDE4MzAwMDA1RjA5MDgwMDFGMEU0OTA3NjFBRjBDMjJFMjI5MDc2QTYKLToxMDE4NDAwMDk1RTA0NDAxRjA0NDAyRjAzMDNFMDZFMDQ0MDRGMDgwQUMKLToxMDE4NTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwN0EKLToxMDE4NjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyMjkwMjcKLToxMDE4NzAwMDdGRkM3NDc0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCNzMKLToxMDE4ODAwMEYwOTA3Njk3RTA1NEZERjBFNDkwNzY4MUYwOTA3NjgwQzkKLToxMDE4OTAwMEYwRUZCNDAyMjI5MDdGRkM3NDY4RjA5MDdGRkY3NEZDM0MKLToxMDE4QTAwMEYwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRjBFNDkwRjkKLToxMDE4QjAwMDc2ODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFODQKLToxMDE4QzAwMEYwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA1NEZCMjMKLToxMDE4RDAwMEYwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0RkVGMDQ0RjMKLToxMDE4RTAwMDAyRjAzMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0MjQKLToxMDE4RjAwMEZCRjA5MDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxQjQKLToxMDE5MDAwMEYwOTA3NjE5RTBGRkI0MDEyMjkwN0ZGQzc0MzBGMDkwRTMKLToxMDE5MTAwMDdGRkY3NEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RjQKLToxMDE5MjAwMEZERjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyMjkwQTIKLToxMDE5MzAwMDdGRkM3NDFDRjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGMDYKLToxMDE5NDAwMEYwOTA3Njk3RTA0NDAyRjBFNDkwNzY4MUYwOTA3NjgwMTMKLToxMDE5NTAwMEYwMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3M0MKLToxMDE5NjAwMEUwNDQwMUYwOTA3Njk3RTA1NEZCRjA5MDgwMDJGMEQyRDIKLToxMDE5NzAwMDJFMjI5MDc2OTVFMDQ0MDFGMDQ0MDJGMDQ0MDhGMDMwQzUKLToxMDE5ODAwMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0RkJGMDkwMkEKLToxMDE5OTAwMDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxRjA5MDc2OTgKLToxMDE5QTAwMDE5RTBGRkI0MDEyNTkwN0ZGQzc0Q0NGMDkwN0ZGRjc0QTgKLToxMDE5QjAwMEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RkRGMDU0MDUKLToxMDE5QzAwMEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyNTkwMDEKLToxMDE5RDAwMDdGRkM3NEM4RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGQkEKLToxMDE5RTAwMEYwOTA3Njk3RTA0NDAyRjA1NEZCRjBFNDkwNzY4MUYwQkEKLToxMDE5RjAwMDkwNzY4MEYwRUZCNDAzMjU5MDdGRkM3NDk4RjA5MDdGOTAKLToxMDFBMDAwMEZGNzRGQ0YwOTA3NjhGNzQ1RkYwOTA3Njk3RTA1NEZENTEKLToxMDFBMTAwMEYwNDQwNEYwRTQ5MDc2ODFGMDkwNzY4MEYwMzAzRjA5NTUKLToxMDFBMjAwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwQkUKLToxMDFBMzAwMDkwNzY5N0UwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0MzYKLToxMDFBNDAwMEZFRjA0NDAyRjA0NDA4RjAzMDNFMDZFMDQ0MDRGMDgwMkEKLToxMDFBNTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwNzgKLToxMDFBNjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyNTkwMjIKLToxMDFBNzAwMDdGRkM3NEI0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCMzEKLToxMDFBODAwMEYwOTA3Njk3RTA1NEZERjA1NEZCRjBFNDkwNzY4MUYwMEUKLToxMDFBOTAwMDkwNzY4MEYwRUZCNDAyMjU5MDdGRkM3NEIwRjA5MDdGRDgKLToxMDFBQTAwMEZGNzRGQ0YwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRUMKLToxMDFBQjAwMEYwNTRGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAzODAKLToxMDFBQzAwMDI1OTA3RkZDNzQ2OEYwOTA3RkZGNzRGQ0YwOTA3NjhGMTcKLToxMDFBRDAwMDc0NUZGMDkwNzY5N0UwNTRGREYwNDQwNEYwRTQ5MDc2NjMKLToxMDFBRTAwMDgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwRDgKLToxMDFBRjAwMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyMUUKLTowNDFCMDAwMEYwRDIyRTIyQ0YKLTowNDBDQTEwMDQxNzYyMzAwNzUKLToxMDJEQTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTIKLToxMDJEQjkwMDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MEZGNTgyREYKLToxMDJEQzkwMEU0MzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQxMEY1NkMKLToxMDJERDkwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGQTAKLToxMDJERTkwMDc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQxMEYwQUMKLToxMDJERjkwMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA1QTcKLToxMDJFMDkwMEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4M0U0M0EKLToxMDJFMTkwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1OTcKLToxMDJFMjkwMDgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGN0UKLToxMDJFMzkwMEY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0ODgKLToxMDJFNDkwMDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwMDkKLToxMDJFNTkwMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0NUMKLToxMDJFNjkwMDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzQkUKLToxMDJFNzkwMDc0MDNGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1QkEKLToxMDJFODkwMDgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0QzMKLToxMDJFOTkwMDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBFRjc1RjAwM0E0MzAKLToxMDJFQTkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDZGMEVGNzVGMDAzQTkKLToxMDJFQjkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwQzUKLToxMDJFQzkwMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1RUYKLToxMDJFRDkwMDgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1Q0UKLToxMDJFRTkwMEY1ODM3NDA0RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0M0IKLToxMDJFRjkwMDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQjEKLToxMDJGMDkwMEE0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwQUMKLToxMDJGMTkwMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA4RjBFRjc1ODIKLToxMDJGMjkwMEYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDkwNTkKLToxMDJGMzkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTAKLToxMDJGNDkwMDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyNEMKLToxMDJGNTkwMEU0MzQ3NUY1ODM3NDBBRjBFRjc1RjAwM0E0MjQxMEY1RDEKLToxMDJGNjkwMDgyRTQzNDc1RjU4Mzc0MDRGMDkwNzYzNkUwMDRGMEUwNzkKLToxMDJGNzkwMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyMTkKLToxMDJGODkwMEYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MkEKLToxMDJGOTkwMDA5RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzODQKLToxMDJGQTkwMDc0MDRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0OTEKLToxMDJGQjkwMDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MUQKLToxMDJGQzkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDdGMEVGNzVGMDAzODcKLTowRTJGRDkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwMjIwQwotOjEwM0JEMzAwRTQ5MDc2MzZGMEUwRkI3NUYwMEZBNDI0NDFGNTgyRTQxRgotOjEwM0JFMzAwMzQ3NUY1ODM3NDQwRjBFQjc1RjAwRkE0MjQ0MkY1ODIyRAotOjEwM0JGMzAwRTQzNDc1RjU4Mzc0MEFGMEVCNzVGMDBGQTQyNDQzRjVGMAotOjEwM0MwMzAwODJFNDM0NzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjBEOQotOjEwM0MxMzAwMEZBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDBGNgotOjEwM0MyMzAwQUM0NEVCNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNCMwotOjEwM0MzMzAwMTIzN0M4MDAwMTc3MDA5MDc2MzZFMDA0RjBFMEZCNzU5OAotOjEwM0M0MzAwRjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MEYwRUI1RQotOjEwM0M1MzAwNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDhDRjA3NwotOjEwM0M2MzAwRUI3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4MzEyMzcyMgotOjEwM0M3MzAwQzgwMDAwQUM0NEVCNzVGMDBGQTQyNDQ3RjU4MkU0MzQ4QwotOjEwM0M4MzAwNzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjAwRkE0MjQxQwotOjEwM0M5MzAwNEJGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDE3NzAwOTA0MQotOjEwM0NBMzAwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTREQQotOjEwM0NCMzAwMzQ3NUY1ODM3NDQwRjBFRjc1RjAwRkE0MjQ0MkY1ODI1OAotOjEwM0NDMzAwRTQzNDc1RjU4Mzc0OEZGMDkwNzYzNkUwMDRGMEUwRkYwQQotOjEwM0NEMzAwNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQxRjA0MwotOjEwM0NFMzAwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0ODRGMAotOjEwM0NGMzAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU3MAotOjEwM0QwMzAwODJFNDM0NzVGNTgzNzQ2MUYwRUY3NUYwMEZBNDI0NDJGNwotOjEwM0QxMzAwRjU4MkU0MzQ3NUY1ODM3NDgxRjA5MDc2MzZFMDA0RjAyRgotOjEwM0QyMzAwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0NAotOjEwM0QzMzAwNjFGMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM0NgotOjA0M0Q0MzAwNzQwMUYwMjJGNQotOjEwNDU1OTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRBNgotOjEwNDU2OTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTRBMAotOjEwNDU3OTAwMzQ3NUY1ODM3NDAxRjA5MDc2MzZFMDA0RjBFMEZGNzU0OAotOjEwNDU4OTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzU4MQotOjEwNDU5OTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwMkYwOTBCMgotOjEwNDVBOTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRFNgotOjEwNDVCOTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTQ1MAotOjEwNDVDOTAwMzQ3NUY1ODM3NDAzRjA5MDc2MzZFMDA0RjBFMEZGNzVGNgotOjEwNDVEOTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzUzMQotOjEwNDVFOTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwNEYwMjJDRQotOjEwM0E0MjAwRTQ5MDc2MzVGMDkwNzYzNUUwRkZDMzk0MDM0MDAyNDE2RQotOjEwM0E1MjAwRkZFRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNTgzRUYyQQotOjEwM0E2MjAwRjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTQzMwotOjEwM0E3MjAwRjBFRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNzQ5MgotOjEwM0E4MjAwRjBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODMwNQotOjEwM0E5MjAwNzRGRkYwRUY3NUYwMEFBNDI0QUVGNTgyRTQzNDc1RjVGNAotOjEwM0FBMjAwODNFNEYwRUY3NUYwMEFBNDI0QUZGNTgyRTQzNDc1RjVFRgotOjEwM0FCMjAwODM3NDgwRjBFRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVDMwotOjEwM0FDMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVDRAotOjEwM0FEMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVCQwotOjEwM0FFMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVBQgotOjEwM0FGMjAwRjU4Mzc0MDFGMDkwNzYzNUUwMDRGMDQxNDc5MDc2M0MwRQotOjEwM0IwMjAwNzQwQUYwRTRBM0YwOTA3NjM1NzQwM0YwOTA3NjNDRTAwQQotOjEwM0IxMjAwRkY5MDc2MzVFMEZFQzM5RjQwMDI2MUQyOTA3NjNERTA5MQotOjEwM0IyMjAwRkYwNEYwRUU3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjVEOAotOjEwM0IzMjAwODNFRkYwRUU3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU1OAotOjEwM0I0MjAwODNFNEYwRUU3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU1MgotOjEwM0I1MjAwODM3NDVFRjBFRTc1RjAwQUE0MjRBREY1ODJFNDM0NzU0OAotOjEwM0I2MjAwRjU4Mzc0QkFGMEVFNzVGMDBBQTQyNEFFRjU4MkU0MzQ1QgotOjEwM0I3MjAwNzVGNTgzNzQwNUYwRUU3NUYwMEFBNDI0QUZGNTgyRTRCRQotOjEwM0I4MjAwMzQ3NUY1ODM3NDgwRjBFRTc1RjAwQUE0MjRCMEY1ODJFMgotOjEwM0I5MjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMUY1ODJGRAotOjEwM0JBMjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMkY1ODJFQwotOjEwM0JCMjAwRTQzNDc1RjU4Mzc0MTVGMEVFNzVGMDBBQTQyNEIzRjVCOAotOjEwM0JDMjAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNUUwMDRGMDYxMEUxQQotOjAxM0JEMjAwMjJEMAotOjEwMDgwMDAwRTQ5MDc2MzFGMDkwNzYzMUUwRkY3NUYwMDNBNDI0MEY4OAotOjEwMDgxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0QQotOjEwMDgyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYzMUUwMDRGMDgwRDU1MQotOjEwMDgzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNCMQotOjEwMDg0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYzM0YwMjQyOQotOjEwMDg1MDAwRjA2MDBBMjQwRTYwMDI4MTg3MTI0QjNFMjI5MDdGRURFOQotOjEwMDg2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzNzc0MDE0NQotOjEwMDg3MDAwRjA5MDc2Mzk3NDAzRjA5MDc2MjFGMEU0OTA3NjIwRjBEMQotOjEwMDg4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MjBFMEZGNzVGMDBBQTRGNAotOjEwMDg5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1QQotOjEwMDhBMDAwRUU2RDYwMTI5MDc2MjFFMEZFRUZDMzlFNTAwODkwNzZDOAotOjEwMDhCMDAwMjBFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFNQotOjEwMDhDMDAwMTg3NDA2RjA5MDc2Mzc3NDA0RjA5MDc2Mzk3NDBBRjA1NAotOjEwMDhEMDAwOTA3NjIxRjA5MDc2MjA3NDAzRjA5MDdGRUFFMEY0NjA0NwotOjEwMDhFMDAwMkY5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2NAotOjEwMDhGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY4NAotOjEwMDkwMDAwMjFFMEZFRUZDMzlFNTAwODkwNzYyMEUwMDRGMDgwRDFGNQotOjEwMDkxMDAwOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVFRAotOjEwMDkyMDAwRjU4M0UwOTA3MjI5RjBFNDkwNzYzQkYwOTA3NjIxRTAzOAotOjEwMDkzMDAwRkVFRjZFNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJGMAotOjEwMDk0MDAwRTAxNDYwMTMxNDcwMDIyMUUyMjQwMjYwMDI4MTdGOTA5RgotOjEwMDk1MDAwN0ZCNEUwNDQwMUYwMjI5MDdGRTlFMDE0NzA3QzkwN0Y0NgotOjEwMDk2MDAwRUFFMEY0NzA0ODkwNzYzN0UwOTA3NjIwRjA5MDc2Mzk5RgotOjEwMDk3MDAwRTBGRTkwNzYyMEUwRkRDMzlFNTAyQjkwNzYzQkUwRkU5QgotOjEwMDk4MDAwMDRGMDc0QzAyRUY1ODJFNDM0N0VGNTgzRTBGRUVENzU0QwotOjEwMDk5MDAwRjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRUVGMDkwNzY4QQotOjEwMDlBMDAwMjBFMDA0RjA4MEM3OTA3NjNGNzQwMUYwMjI5MDdFQzA3MgotOjEwMDlCMDAwRTBGRUVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODMwQwotOjEwMDlDMDAwRUVGMEUwQjQwMTA4OTA3NjNFNzQwMUYwODAwNUU0OTAwQQotOjEwMDlEMDAwNzYzRUYwOTA3NjNGNzQwMUYwMjI5MDdGQjRFMDQ0MDFCRgotOjEwMDlFMDAwRjAyMjkwN0ZFOUUwMjRGRTcwMDI0MUEzMTQ3MDAyNjFCRQotOjEwMDlGMDAwM0YxNDcwMDI2MURCMjQwMzYwMDI4MTc3OTA3RkVBRTA5QwotOjEwMEEwMDAwRjQ3MDZCOTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkZDNgotOjEwMEExMDAwOTA3NjIwRTBGRUMzOUY1MDRFOTA3NjNCRTBGRjA0RjBCRQotOjEwMEEyMDAwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBMgotOjEwMEEzMDAwQTQyNEFDRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCRTBDNgotOjEwMEE0MDAwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUVGRQotOjEwMEE1MDAwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTBDNwotOjEwMEE2MDAwNzYyMEUwMDRGMDgwQTQ5MDc2NDA3NDAxRjAyMjkwN0UxRAotOjEwMEE3MDAwQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBQ0Y1ODI3OQotOjEwMEE4MDAwRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEE3NwotOjEwMEE5MDAwQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjQxNzRDQgotOjEwMEFBMDAwMDFGMDIyOTA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzY2RAotOjEwMEFCMDAwMjBGMDkwNzYzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI2MAotOjEwMEFDMDAwODE4RTkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQxMQotOjEwMEFEMDAwN0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFFRjU4MkU0MzRERgotOjEwMEFFMDAwNzVGNTgzRUZGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjVDRQotOjEwMEFGMDAwODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFGRjVCRQotOjEwMEIwMDAwODJFNDM0NzVGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI2MwotOjEwMEIxMDAwOTA3RUMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUUzRgotOjEwMEIyMDAwRjU4MkU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzU1OQotOjEwMEIzMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRUZGMDIyOTAzNwotOjEwMEI0MDAwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzY1OQotOjEwMEI1MDAwMzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzZDMAotOjEwMEI2MDAwM0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBBRgotOjEwMEI3MDAwRkZFRTc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRUYzNgotOjEwMEI4MDAwRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGMQotOjEwMEI5MDAwRjU4M0UwRkZFRTc1RjAwQUE0MjRCMUY1ODJFNDM0NzUyNAotOjEwMEJBMDAwRjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTAyNAotOjEwMEJCMDAwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEIwRjU4MkU0MzRCQwotOjEwMEJDMDAwNzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjQ4NgotOjEwMEJEMDAwQjFGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFQUUwRjQxQQotOjEwMEJFMDAwNzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGOTA0RQotOjEwMEJGMDAwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2M0JFMEZGMDRBQQotOjEwMEMwMDAwRjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjBEQQotOjEwMEMxMDAwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JCNAotOjEwMEMyMDAwRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkYyQQotOjEwMEMzMDAwRUU3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU4M0VGRjA4MQotOjEwMEM0MDAwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwRkY5MDc2MjBCNQotOjEwMEM1MDAwRTBGRTc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUY2MgotOjEwMEM2MDAwRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0QjNGNTgyRTRCMwotOjEwMEM3MDAwMzQ3NUY1ODNFRkYwMjI5MDdGQjRFMDQ0MDFGMDIyOTBDOAotOjBGMEM4MDAwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyMDEKLToxMDEwMDAwMEU0OTA3NjJDRjA5MDc2MkNFMEZGNzVGMDAzQTQyNDBGOEEKLToxMDEwMTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENDIKLToxMDEwMjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MkNFMDA0RjA4MEQ1NEUKLToxMDEwMzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQTkKLToxMDEwNDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MkVGMDI0MjYKLToxMDEwNTAwMEYwNjAwQTI0MEY2MDAyODE3RDEyNEIxQjIyOTA3RkVEMEQKLToxMDEwNjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzg3NDAxM0MKLToxMDEwNzAwMEYwOTA3NjNBNzQwM0YwOTA3NjFDRjBFNDkwNzYxQkYwRDIKLToxMDEwODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjFCRTBGRjc1RjAwQUE0RjEKLToxMDEwOTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENTIKLToxMDEwQTAwMEVFNkQ2MDEyOTA3NjFDRTBGRUVGQzM5RTUwMDg5MDc2QzUKLToxMDEwQjAwMDFCRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTIKLToxMDEwQzAwMDE4NzQwNkYwOTA3NjM4NzQwNEYwOTA3NjNBNzQwQUYwNEEKLToxMDEwRDAwMDkwNzYxQ0YwOTA3NjFCNzQwM0YwOTA3RkVBRTBGNDYwNDkKLToxMDEwRTAwMDJGOTA3NjFCRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjEKLToxMDEwRjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2N0MKLToxMDExMDAwMDFDRTBGRUVGQzM5RTUwMDg5MDc2MUJFMDA0RjA4MEQxRjcKLToxMDExMTAwMEU0OTA3NjFFRjA5MDc2MUNFMEZGOTA3NjFCRTBGRTZGNjgKLToxMDExMjAwMDcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRTAxNDYwRkYKLToxMDExMzAwMDEzMTQ3MDAyMjFCRjI0MDI2MDAyODE3NTkwN0ZCNEUwMTUKLToxMDExNDAwMDQ0MDFGMDIyOTA3RkU5RTAyNDdGNzA2QjkwN0ZFQUUwMTkKLToxMDExNTAwMEY0NzA0QTkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTMKLToxMDExNjAwMDkwNzYxQkUwRkRDMzlGNTAyQkVENzVGMDBBQTQyNEFCRDUKLToxMDExNzAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkQwNEYwMUYKLToxMDExODAwMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwNTgKLToxMDExOTAwMDA0RjA4MEM3OTA3NjFFRTA5MDdGQjVGMDIyRUU3NUYwRTcKLToxMDExQTAwMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwNjcKLToxMDExQjAwMDkwN0ZCNTc0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwNUEKLToxMDExQzAwMDdGRTlFMDI0N0U3MDAyNDE3RTE0NzAwMjYxMjMxNDcwNzYKLToxMDExRDAwMDAyNjFDODI0MDM2MDAyODE2RDkwN0ZFQUUwRjQ3MDZEQzMKLToxMDExRTAwMDkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCOTAKLToxMDExRjAwMEUwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEFDRjU4MkU0RjEKLToxMDEyMDAwMDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJENDkKLToxMDEyMTAwMEY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEFEOTcKLToxMDEyMjAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNkQKLToxMDEyMzAwMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwQTYKLToxMDEyNDAwMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCOEIKLToxMDEyNTAwMEUwRkY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwNzAKLToxMDEyNjAwMDkwN0YwMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1QTgKLToxMDEyNzAwMEY1ODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQkIKLToxMDEyODAwMEVBRTBGNDcwNkQ5MDc2MzhFMDkwNzYxQkYwOTA3NjNBNTQKLToxMDEyOTAwMEUwRkY5MDc2MUJFMEMzOUY1MDRGRTBGRjc1RjAwQUE0N0IKLToxMDEyQTAwMDI0QUVGNTgyRTQzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMTEKLToxMDEyQjAwMDA0RjA3NDAwMkRGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RDEKLToxMDEyQzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0UwRkY5MDc2NEMKLToxMDEyRDAwMDFFRTBGRTA0RjA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGMDcKLToxMDEyRTAwMEYwOTA3NjFCRTAwNEYwODBBNDkwNzYxRUUwOTA3RkI1MkQKLToxMDEyRjAwMEYwMjI5MDc2MUJFMEZGNzVGMDBBQTQyNEFFRjU4MkU0OUMKLToxMDEzMDAwMDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVGMDBBQTQyNEFGMDgKLToxMDEzMTAwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MzkKLToxMDEzMjAwMDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2REIKLToxMDEzMzAwMDFCRjA5MDc2M0FFMEZGOTA3NjFCRTBDMzlGNTA0RkUwQTEKLToxMDEzNDAwMEZGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFMEZFNUQKLToxMDEzNTAwMDkwNzYxRUUwRkQwNEYwNzQwMDJERjU4MkU0MzQ3RkY1RjQKLToxMDEzNjAwMDgzRUVGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1NEMKLToxMDEzNzAwMDgzRTBGRjkwNzYxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MTgKLToxMDEzODAwMDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MzQKLToxMDEzOTAwMDFFRTA5MDdGQjVGMDIyOTA3NjFCRTBGRjc1RjAwQUE0NjYKLToxMDEzQTAwMDI0QjBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjBFRjc1QUEKLToxMDEzQjAwMEYwMEFBNDI0QjFGNTgyRTQzNDc1RjU4M0UwOTA3RjAxNEUKLToxMDEzQzAwMEYwOTA3RkI1NzQwMkYwMjI5MDdGRUFFMEY0NzA2RDkwQTcKLToxMDEzRDAwMDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQkUwNEUKLToxMDEzRTAwMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0QTUKLToxMDEzRjAwMDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyREY1OTcKLToxMDE0MDAwMDgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRCM0Y1OUYKLToxMDE0MTAwMDgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDc0RkMKLToxMDE0MjAwMDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDA0MjQKLToxMDE0MzAwMEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQkUwQkQKLToxMDE0NDAwMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFMDkwQzgKLToxMDE0NTAwMDdGMDBGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1NEIKLToxMDE0NjAwMDgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkI0MEEKLToxMDE0NzAwMEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0NzgKLTowNTE0ODAwMEUwNDQwMUYwMjIzMAotOjEwMzg3NDAwRTQ5MDc2MjlGMDkwNzYyOUUwRkY3NUYwMEZBNDI0NDJCNQotOjEwMzg4NDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRBNwotOjEwMzg5NDAwNjAwRUVGQzM5NDA2NTAwODkwNzYyOUUwMDRGMDgwRDVCQQotOjEwMzhBNDAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEYwNgotOjEwMzhCNDAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyQUYwMjQ1QgotOjEwMzhDNDAwQkY3MDAyNDE0MTI0RTA3MDAyNDExMjI0MjE2MDAyNDE5MAotOjEwMzhENDAwM0E5MDdGRTlFMDI0RkU2MDdEMTQ3MDAyMjFCMjI0MDI1NAotOjEwMzhFNDAwNjAwMjQxMEExMjE3NTE5MDc2NDJFMEZDQTNFMEZEQTM2NgotOjEwMzhGNDAwRTBGRUEzRTBGRjkwNzYyOUUwNzVGMDBGQTQyNDQzRjVFMQotOjEwMzkwNDAwODJFNDM0NzVGNTgzMTIzN0JDOTA3NjE5RTBGRkI0MDE3NAotOjEwMzkxNDAwMTI5MDc2N0M3NDY3RjA5MDc2N0Q3NDA2RjA5MDc2N0VEMwotOjEwMzkyNDAwNzQwQkYwRUZCNDAyMEZFNDkwNzY3Q0YwOTA3NjdERjBBNwotOjEwMzkzNDAwOTA3NjdFNzQwQ0YwRUZCNDAzMEZFNDkwNzY3Q0YwOTBGNAotOjEwMzk0NDAwNzY3REYwOTA3NjdFNzQxOEYwOTA3NjFBNzQwMUYwMTJGOQotOjEwMzk1NDAwM0U4RjEyMTgwMDIyOTA3RUMyRTBGRkU0RkNGREZFRkJDNQotOjEwMzk2NDAwRkE3OTAxRjgxMjM3NDZDOEVDQzhDOUVEQzlDQUVFQ0FEQgotOjEwMzk3NDAwQ0JFRkNCOTA3RUMxRTBGRUU0RkNGRDJCRkJFQTNFRkFFQwotOjEwMzk4NDAwRUQzOUY5RUMzOEY4OTA3RUMwRTBGRkU0RkVFQjJGRkY1MAotOjEwMzk5NDAwRUUzQUZFRUQzOUZERUMzOEZDOTA3NjI5RTA3NUYwMEYzNwotOjEwMzlBNDAwQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QkMyMjkwN0U1MwotOjEwMzlCNDAwQzJFMEZGRTRGQ0ZERkVGQkZBNzkwMUY4MTIzNzQ2QzhDOQotOjEwMzlDNDAwRUNDOEM5RURDOUNBRUVDQUNCRUZDQjkwN0VDMUUwRkUwQwotOjEwMzlENDAwRTRGQ0ZEMkJGQkVBM0VGQUVEMzlGOUVDMzhGODkwN0U3NQotOjEwMzlFNDAwQzBFMEZGRTRGRUVCMkZGRkVFM0FGRUVEMzlGREVDMzhDQwotOjEwMzlGNDAwRkM5MDc2MjlFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzUyRAotOjEwM0EwNDAwRjU4MzEyMzdCQzIyOTA3RkI0RTA0NDAxRjAyMjkwN0YwQQotOjEwM0ExNDAwRTlFMDE0NzAxOTkwN0VDMEUwRkY5MDc2MjlFMDc1RjAxQgotOjEwM0EyNDAwMEZBNDI0NEZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFMAotOjBFM0EzNDAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjlGCi06MTAyQUQ2MDBFNDkwNzYyN0YwOTA3NjI3RTBGRjc1RjAwRkE0MjQ0MjY1Ci06MTAyQUU2MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDUzCi06MTAyQUY2MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI3RTAwNEYwODBENTY4Ci06MTAyQjA2MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRkIxCi06MTAyQjE2MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjI4RjAyNDA4Ci06MTAyQjI2MDA5RjcwMDJBMTc0MjQyMTYwMDJBMUExOTA3RkU5RTAyNDk0Ci06MTAyQjM2MDA3RTcwMDI2MUZDMTQ3MDAyODFCNTI0MDI2MDAyQTE2Q0YxCi06MTAyQjQ2MDBFRjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0I5Ci06MTAyQjU2MDBBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5MDA3ODE2Ci06MTAyQjY2MDAwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzNzRBQ0FCCi06MTAyQjc2MDBGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDRCCi06MTAyQjg2MDAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGRDRECi06MTAyQjk2MDBBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQzMxMjM2Ci06MTAyQkE2MDAzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwRTRBMzdFCi06MTAyQkI2MDBGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNEFCCi06MTAyQkM2MDA0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRTYzCi06MTAyQkQ2MDBBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QUI2MEY4Ci06MTAyQkU2MDAwMkExQTg5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MDdGCi06MTAyQkY2MDA3RkI1NzQwM0YwMjI5MDc2MjdFMDc1RjAwRkE0MjQ0NzgyCi06MTAyQzA2MDBGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0MyCi06MTAyQzE2MDBFMEZGN0I0NDdBQUM3OTAwNzgwMEMzMTIzN0FCNzAxM0JGCi06MTAyQzI2MDA5MDdGMDA3NDQ0RjBBMzc0QUNGMEU0QTNGMDkwN0ZCNUY5Ci06MTAyQzM2MDA3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDNDCi06MTAyQzQ2MDAzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjgzCi06MTAyQzU2MDA4MDdBQkI3OTAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDdGCi06MTAyQzY2MDA3NDgwRjBBMzc0QkJGMEU0QTNGMDkwN0ZCNTc0MDNGMDE2Ci06MTAyQzc2MDA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDM0NzVGNUM1Ci06MTAyQzg2MDA4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjAwN0E3N0YwCi06MTAyQzk2MDA3OTAxNzgwMEMzMTIzN0FCNjAwMkExQTg5MDdGMDBGMERCCi06MTAyQ0E2MDBBMzc0NzdGMEEzNzQwMUYwOTA3RkI1NzQwM0YwMjI5MEJCCi06MTAyQ0I2MDA3NjI3RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4MzhFCi06MTAyQ0M2MDBFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTQxCi06MTAyQ0Q2MDAwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBM0UyCi06MTAyQ0U2MDA3NEFDRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDFGCi06MTAyQ0Y2MDA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBMzRDCi06MTAyRDA2MDBFMEZEQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEJDCi06MTAyRDE2MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEJFCi06MTAyRDI2MDBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRjdBCi06MTAyRDM2MDBBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0ZGCi06MTAyRDQ2MDBFMEZFQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0IzCi06MTAyRDU2MDBBQjcwNEY5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MEVFCi06MTAyRDY2MDA3RkI1NzQwM0YwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3Rjk3Ci06MTAyRDc2MDBFOUUwMjQ3RjcwMUU5MDc2MjdFMDc1RjAwRkE0MjQ0RkJCCi06MTAyRDg2MDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDdGQjU3NEFBCi06MTAyRDk2MDAwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NEY2Ci06MDMyREE2MDAwMUYwMjIxNwotOjEwNEIxQjAwOTA3RkVCRTAxNDcwMTQ5MDdGRTlFMDI0N0Y3MDA0MTIxNwotOjEwNEIyQjAwNDg1QTIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDRENQotOjAzNEIzQjAwMDFGMDIyNjQKLToxMDRCM0UwMDkwN0ZFQkUwMTQ3MDEzOTA3RkU5RTAxNDcwMDQxMjQ5M0IKLToxMDRCNEUwMEFEMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxQTYKLTowMjRCNUUwMEYwMjI0MwotOjEwNDg1QTAwRTQ5MDc2MjZGMDkwNzYyNkUwRkY3NUYwMDNBNDI0MzRERgotOjEwNDg2QTAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRCMQotOjEwNDg3QTAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNkUwMDRGMDgwRDVDOQotOjEwNDg4QTAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDMxRQotOjEwNDg5QTAwQTQyNDMyRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTAyOQotOjA2NDhBQTAwN0ZCNTc0MDFGMDIyNEQKLToxMDQ5QUQwMEU0OTA3NjI1RjA5MDc2MjVFMEZGNzVGMDAzQTQyNDM0OEQKLToxMDQ5QkQwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZENUQKLToxMDQ5Q0QwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjVFMDA0RjA4MEQ1NzYKLToxMDQ5REQwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMjkwN0VDMEUwNzMKLToxMDQ5RUQwMEZFRUY3NUYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0VFMDEKLTowMjQ5RkQwMEYwMjJBNgotOjAzMDAwMzAwMDIwRkZERUMKLTowMzBGRkQwMEMyODkzMjc0Ci06MDMwMDEzMDAwMjE3RkRENAotOjAzMTdGRDAwQzI4QjMyNkEKLTowMzAwNEIwMDAyNEQ4RkQ0Ci06MDQ0RDhGMDA1MzkxREYzMjJCCi06MDMwMDUzMDAwMjREODNEOAotOjA2NEQ4MzAwNTM5MUJGRDIyRDMyNTYKLTowMzAwNUIwMDAyNEQ4OUNBCi06MDY0RDg5MDA1MzkxN0ZEMjJDMzI5MQotOjAzMDA2MzAwMDI0RDkzQjgKLTowNDREOTMwMDUzRDhGNzMyQzgKLTowMzAwMEIwMDAyNEQ5QjA4Ci06MDM0RDlCMDBDMjhEMzI5NAotOjAzMDAxQjAwMDI0RDlFRjUKLTowMzREOUUwMEMyOEYzMjhGCi06MDMwMDIzMDAwMjRENzUxNgotOjA3NEQ3NTAwNTM5OEZFNTM5OEZEMzIzNAotOjAzMDAzQjAwMDI0RDdDRjcKLTowNzREN0MwMDUzQzBGRTUzQzBGRDMyREQKLTowMzAwMkIwMDAyNDZGNzkzCi06MTA0NkY3MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMDNECi06MTA0NzA3MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkY3Ci06MTA0NzE3MDBDMEUwQzJDQUMyQ0Y5MDdGOThFMDQ0MDFGMDMwMkUwM0I4Ci06MTA0NzI3MDAxMjE0QTY5MDdGOThFMDU0RkVGMDUzQThGQTEyMTY2MTZGCi06MTA0NzM3MDBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMDQxCi06MTA0NzQ3MDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODJEMDgzRDBGMDMyCi06MDM0NzU3MDBEMEUwMzI3RAotOjEwNDdCNDAwRTQ5MDc2OUJGMDkwNzY5QkUwRkYwNEYwRUY2MDA4RTBENQotOjEwNDdDNDAwMjQwOEY4RTRGNjgwRUU5MDc2OTZFMDU0RkJGMDU0Rjc3MwotOjEwNDdENDAwRjA5MDgwMDNGMEU0RjUxOEQyMzVGNTBFRjUxMEQyMzZEQQotOjEwNDdFNDAwNzUxMjExNzUxMzIyQzIzN0MyMzlDMjM4RjUxNkY1MTQ4MQotOjBCNDdGNDAwRjUxQUY1MERDMjNCQzIzQ0MyM0QyMjhECi06MTAzMDAwMDA5MDdGQjZFMDIwRTEwMkMyM0REMjM2MjAzNjAyNDE2RTBBCi06MTAzMDEwMDAzMDNEMDI0MTZFOTA4MDA3RTA2MDA0RDIzNjgwMDJDMkVCCi06MTAzMDIwMDAzNjIwMzYwMjQxMkVEMjM1RTRGNTFBOTA4MDA0RTBGNUMwCi06MTAzMDMwMDAxOTc0MDgyNTBFRjhBNjE5ODUxOTE4RTUxODIwRTcwNDUzCi06MTAzMDQwMDBEMjM4ODAwMkMyMzgzMDM4MDIyMUQ0RTRGNTE2RTUxOUFFCi06MTAzMDUwMDBCNEYwMENEMjM5NzUwODA0NzUwOUYwMDUwRTgwMDIwNTJDCi06MTAzMDYwMDAxNkU1MTk2NEY3NzAzREMyMzlFNTBFMjRGRTYwMTcxNEE5Ci06MTAzMDcwMDA2MDIyMjQwMzcwMjk3NTA4MDU3NTA5RjdFNEY1MEFGNTNGCi06MTAzMDgwMDAwQjc1MEUwNDgwMjA3NTA4MDY3NTBBRjdFNEY1MEI3NUJDCi06MTAzMDkwMDAwRTA0ODAxMjc1MDgwNzc1MEJGNzc1MEUwNDgwMDcxMjcxCi06MTAzMEEwMDA0OEYzODAwMjA1MTZFNTE5NTRGODY0Rjg3MDNCQzIzNTAwCi06MTAzMEIwMDBFNTE5MjQwNzYwMEMyNEZDNjAwODI0MDUyNEY4NTAwNjU4Ci06MTAzMEMwMDA4MDA4RDIzQTgwMDZDMjNBODAwMkQyM0E3NTFBMDEyMEFDCi06MTAzMEQwMDAzQTE5OTA3RTgwNzQwRkYwQTNFNTE5RjBFNEEzRjBBM0YxCi06MTAzMEUwMDBGMDkwN0ZCNzc0MDRGMDgwMDIwNTE2MjAzOTZERTUxOTYxCi06MTAzMEYwMDA2NEY3NjA2N0U1MUE3MDYzRTUxODU0RjA2NEYwNzA1OTdFCi06MTAzMTAwMDA4NTE4MTlGNTBFRTUxOTI0MEY2MDFCMjRGRTYwMTcyNDlECi06MTAzMTEwMDBGRDYwMjIxNDYwMUYyNDA1NzAyRjc1MDgwMzA1MEU4NUJECi06MTAzMTIwMDAxODA5RDIzNzgwMjg3NTA4MDIwNTBFODUxODA5NzUxNDBDCi06MTAzMTMwMDAwMUQyMzc4MDE5NzUwODA1MDUwRTg1MTgwOUU0RjUwQUNFCi06MTAzMTQwMDBGNTBCNzUwRTAzRDIzNzgwMDUxMjQ4RjNDMjM1MzAzNUMyCi06MTAzMTUwMDAwQTg1MDgxMzg1MTgxMjgwMDIwNTE2ODUxODE5RTUxNkM4Ci06MTAzMTYwMDA2NDA0NzA2MkY1MEVFNTE5NTRGMEY1MTlGNTE1ODUxODJCCi06MTAzMTcwMDAxOUU1MTUyNDcwNjAxODI0RjA2MDE0MjRGMDYwMTAyNDAwCi06MTAzMTgwMDBGMDYwMUUyNEYwNjAxQTI0RjA2MDA0MjQ2MDcwMjdFNUNCCi06MTAzMTkwMDAxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOUQyMzc4MEE2Ci06MTAzMUEwMDAxQUU1MTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDk3NUFCCi06MTAzMUIwMDAxNDAxRDIzNzgwMDUxMjQ4RjNDMjM1MzAzNTBBODUxOTFCCi06MTAzMUMwMDAxMzg1MTgxMjgwMDIwNTE2RTUxNkQzOTQwNTQwNTcxMjkwCi06MTAzMUQwMDA0OEYzODA1MjMwMzkxN0U1MEU3MDBBODUwODA5NzUwOEUyCi06MTAzMUUwMDAwNDA1MEU4MDQxNzQwODI1MEVGOEE2MTk4MDM4MjAzNzkyCi06MTAzMUYwMDAyQUU1MEVCNDAxMEY4NTA4MEE4NTA5MEI4NTEzMDg4NTk5Ci06MTAzMjAwMDAxMjA5NzUwRTA0RTUxNEI0MDExQzg1MDgwQUU0RjUwQkQ3Ci06MTAzMjEwMDA4NTEzMDg4NTEyMDk3NTBFMDQ4MDBCRTUxNEI0MDEwNkE4Ci06MTAzMjIwMDBFNEY1MEI3NTBFMDRFNEY1MUEzMDM1MDIwNTBFRTUwRUQzCi06MTAzMjMwMDBEMzk0MDM1MDAyMDEwQkMyMzdFNEY1MEVGNTEwQzIzNkU5Ci06MTAzMjQwMDBEMjNERjUxNDc0MDgyNTEwRjhFNkZGNzQ4MDI1MTBGNUJBCi06MTAzMjUwMDA4MkU0MzQ3RUY1ODNFRkYwNzQwODI1MTBGOEU0RjYwNTc3Ci06MEYzMjYwMDAxMEU1MTBCNDA0REU5MDdGQjc3NDA0RjAwMTBCMjI2OAotOjBDNDhGMzAwQzIzN0U0RjUwRUY1MTBDMjM2RjUxNDIyQjEKLToxMDQwMDAwMEU1MTFEMzk0MDA1MDAyMjEwNjkwNzY4OUUwQzM5NDA4MEMKLToxMDQwMTAwMDQwMDIyMTA2NzQ0MDI1MEZGNTgyRTQzNDdFRjU4M0UwRUEKLToxMDQwMjAwMEY1MTdFNTBENjAwRTkwODAwNUU1MTdGMDkwNzY4OUUwQjQKLToxMDQwMzAwMDA0RjAwMURBRTUxNzEyMzdGOTQwQzEwMjQwNjcwNTQwODQKLToxMDQwNDAwMDdBMDY0MDk4MDc0MEMxMEM0MEMxMEQ0MEM3MEY0MENCRDUKLToxMDQwNTAwMEY2NDBDQkY4NDBDQkZBNDBDQkZCNDBDQkZDNDBDQkZFNEMKLToxMDQwNjAwMDQwQ0JGRjAwMDA0MERBOTA3RTQxRTA5MDgwMDVGMDkwNjgKLToxMDQwNzAwMDc2ODlFMDA0RjA3NTExMDE4MDYwOTA3RTQxRTA5MDgwQzcKLToxMDQwODAwMDA1RjA5MDdFNDJFMDkwODAwNUYwOTA3Njg5RTAwNEYwQTMKLToxMDQwOTAwMEUwMDRGMDc1MTEwMTgwNDI5MDdFNDFFMDkwODAwNUYwQ0YKLToxMDQwQTAwMDkwN0U0MkUwOTA4MDA1RjA5MDdFNDNFMDkwODAwNUYwQTUKLToxMDQwQjAwMDkwNzY4OUUwMDRGMEUwMDRGMEUwMDRGMDc1MTEwMTgwRUUKLToxMDQwQzAwMDE5RDIzQkQyM0M4MDEzRDIzQjgwMEY5MDgwMDVFNTE3N0MKLToxMDQwRDAwMEYwOTA3Njg5RTAwNEYwNzUxMTAxMjAzQjA0MDUwRDgwMTUKLToxMDQwRTAwMDFGMzAzQzFDOTA3RTQxRTA5MDgwMDVGMDkwN0U0MkUwQzUKLToxMDQwRjAwMDkwODAwNUYwOTA3Njg5RTAwNEYwRTAwNEYwNzUxMTAxRkQKLToxMDQxMDAwMDA1MEYxNTExMDEwMEU1MTE3MDEwQzIzM0Y1MERGNTBGMDMKLTowQjQxMTAwMDkwN0ZDNzc0MDRGMEMyM0JDMjNDMjI0OQotOjEwNEJCQjAwOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMTQ3RTAwMTJDNAotOjBBNEJDQjAwNEQyRjkwN0ZENkUwNTRGRUYwMjIzQgotOjEwNEFGNjAwOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwNDIwNEUwNDRGNgotOjEwNEIwNjAwMDJGMDdGREM3RTA1MTI0RDJGOTA3RkQ2RTA1NEY3RjA0MQotOjA1NEIxNjAwRTA0NDA0RjAyMjYwCi06MTA0RDJGMDA4RTM1OEYzNkU1MzYxNTM2QUUzNTcwMDIxNTM1NEU2MDM5Ci06MDc0RDNGMDAwNTEyMTQ4NTgwRUUyMjJECi06MTA0OUZGMDBFNEZFNzUxREZGNzUxRTA1NzUxRjEyQUIxREFBMUVBOUJFCi06MTA0QTBGMDAxRjkwMDAwMTEyMzZBQjY0MDI3MDJGQ0RFRUNEMEVFRDZDCi06MTA0QTFGMDA2RjcwMDEyMjkwMDAwMjEyMzcwRTg1RjAxQkY1MUM2Mjk5Ci06MTA0QTJGMDAxQkU1MUI2MjFDRTUxQzYyMUIyOUZERTUxQjNBQzlFRDRBCi06MTA0QTNGMDBDOTc1MURGRkY1MUU4OTFGODBDMTdCMDA3QTAwNzkwMEEzCi06MDE0QTRGMDAyMjQ0Ci06MDQxNzk0MDA4RDI5OEIyQUU2Ci06MTAxNzk4MDAxMjQ5RkZFQTQ5NjA1NzEyMzY5MjdFMDAyOUZGRUUzQTU1Ci06MTAxN0E4MDBDOUVGQzk3NTJCRkZGNTJDODkyREFCMkJBQTJDQTkyREI4Ci06MTAxN0I4MDA5MDAwMDExMjM2QUJGRjY0MDQ2MDA1RUY2NDA1NzAyRURCCi06MTAxN0M4MDBFRkI0MDQxNTkwMDAwMjEyMzZBQjY1Mjk3MDBCOTAwMDM3Ci06MTAxN0Q4MDAwMzEyMzZBQjY1MkE3MDAxMjIxMjM2OTI3RTAwMjlGRjY5Ci06MTAxN0U4MDBFRTNBQzlFRkM5NzUyQkZGRjUyQzg5MkQ4MEJDN0IwMDFCCi06MDQxN0Y4MDA3QTAwNzkwMEZBCi06MDExN0ZDMDAyMkNBCi06MDI0OEIwMDA4RjJFNDkKLToxMDQ4QjIwMEU0RjUyRjc1MzBGRjc1MzEwNjc1MzJCRUFCMzBBQTMxODMKLToxMDQ4QzIwMEE5MzI5MDAwMDExMjM2QUJCNDAzMUZBRjJGMDUyRkVGQjAKLToxMDQ4RDIwMDY1MkU3MDAxMjIxMjM2OTI3RTAwMjlGRkVFM0FDOUVGNTAKLToxMDQ4RTIwMEM5NzUzMEZGRjUzMTg5MzI4MEQyN0IwMDdBMDA3OTAwQjgKLTowMTQ4RjIwMDIyQTMKLToxMDA1MDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MTEwMTAwMDEwMTAyRkYKLToxMDA1MTAwMDAwMDEwOTAyQUMwMTAzMDEwMDgwMzIwOTA0MDAwMDAwNUYKLToxMDA1MjAwMDAxMDEwMDAwMEEyNDAxMDAwMTU2MDAwMjAxMDIwQzI0MEUKLToxMDA1MzAwMDAyMDEwMTAxMDAwMjAwMDAwMDAwMEQyNDA2MDUwMTAyNzUKLToxMDA1NDAwMDAzMDAwMDAwMDAwMDAwMDkyNDAzMDIwNDAzMDAwNTAwNkEKLToxMDA1NTAwMDBDMjQwMjAzMDUwMjAwMDYwMDAwMDAwMDE1MjQwNjA2MTQKLToxMDA1NjAwMDAzMDIwMDAwMDMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwNzQKLToxMDA1NzAwMDAwMDkyNDAzMDQwMTAxMDAwNjAwMDkwNDAxMDAwMDAxMzAKLToxMDA1ODAwMDAyMDAwMDA5MDQwMTAxMDIwMTAyMDAwMDA3MjQwMTAxMjgKLToxMDA1OTAwMDAwMDEwMDExMjQwMjAxMDIwMjEwMDM0NEFDMDA4MEJCRTAKLToxMDA1QTAwMDAwMDA3NzAxMDkwNTBBMDU4NDAxMDEwMDhGMDcyNTAxNzQKLToxMDA1QjAwMDAxMDAwMDAwMDkwNThGMDEwMzAwMDEwNTAwMDkwNDAxODUKLToxMDA1QzAwMDAyMDIwMTAyMDAwMDA3MjQwMTAxMDAwMTAwMTEyNDAyQkYKLToxMDA1RDAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NDkKLToxMDA1RTAwMDBBMDU0NjAyMDEwMDhGMDcyNTAxMDEwMDAwMDAwOTA1RTgKLToxMDA1RjAwMDhGMDEwMzAwMDEwNTAwMDkwNDAyMDAwMDAxMDIwMDAwNTAKLToxMDA2MDAwMDA5MDQwMjAxMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwQTUKLToxMDA2MTAwMDBFMjQwMjAxMDYwMjEwMDI0NEFDMDA4MEJCMDAwOTA1NTIKLToxMDA2MjAwMDhDMDU0QzAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0QUUKLToxMDA2MzAwMDAyMDIwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAwRTI0NEYKLToxMDA2NDAwMDAyMDEwNjAzMTgwMjQ0QUMwMDgwQkIwMDA5MDU4QzA1QkEKLToxMDA2NTAwMDcyMDMwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMjAzRTMKLToxMDA2NjAwMDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMjAxMUQKLToxMDA2NzAwMDAyMDIxMDAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNThDMjYKLToxMDA2ODAwMDA1ODQwMTAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyQTEKLToxMDA2OTAwMDA0MDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyRUEKLToxMDA2QTAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NzgKLToxMDA2QjAwMDhDMDU0NjAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwNDAzMkEKLToxMDA2QzAwMDA5MDQxODAzNDUwMDZEMDA2MTAwNjcwMDY5MDA2MzAwQkMKLToxMDA2RDAwMDIwMDA0NzAwNkQwMDYyMDA0ODAwMjIwMzQ1MDA2RDAwQzUKLToxMDA2RTAwMDYxMDA2NzAwNjkwMDYzMDAyMDAwNDUwMDREMDA0OTAwN0IKLToxMDA2RjAwMDIwMDAzNjAwN0MwMDMyMDAyMDAwNkQwMDJBMDM0MzAwRjkKLToxMDA3MDAwMDZGMDA2RTAwNjYwMDY5MDA2NzAwNzUwMDcyMDA2MTAwOEUKLToxMDA3MTAwMDc0MDA2OTAwNkYwMDZFMDAyMDAwNTMwMDc0MDA3MjAwQzYKLToxMDA3MjAwMDY5MDA2RTAwNjcwMDIyMDM0OTAwNkUwMDc0MDA2NTAwRDYKLToxMDA3MzAwMDcyMDA2NjAwNjEwMDYzMDA2NTAwMjAwMDUzMDA3NDAwRDEKLTowQTA3NDAwMDcyMDA2OTAwNkUwMDY3MDAwMDAwRkYKLToxMDE0ODUwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5N0EKLTowMTE0OTUwMDIyMzQKLToxMDE0OTYwMDkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRTAKLToxMDE0QTYwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMDhERTBDMEUwREMKLToxMDE0QjYwMDhDRTBDMEUwQzA4MkMwODMwNTg2QzA4NEMwODU3RDAwMDQKLToxMDE0QzYwMDkwN0ZFMzc0N0JGMEEzNzQ4MEYwN0MxMTkwN0Y5OUUwQTkKLToxMDE0RDYwMDU0NDBEQzAzMDIxNEYzQjQwMDEzOTA3RkUyNzQ0MEYwMkUKLToxMDE0RTYwMDkwN0ZFNUYwOTA3RkUyNzQwMEYwMDIxNEQyOTA3NjkwM0YKLToxMDE0RjYwMEUwQjQwMTEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwQ0IKLToxMDE1MDYwMDkwN0Y2QzAyMTU1N0I0MDIxMjkwNzY4RkUwMkRGRDkwRjUKLToxMDE1MTYwMDdGRTI3NDgwRjA5MDdGNkMwMjE1OTZCNDAzMTI5MDc2ODkKLToxMDE1MjYwMDhGRTAyREZEOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNUUxRDQKLToxMDE1MzYwMEI0MDQxMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwRDcKLToxMDE1NDYwMDdGNkMwMjE2MTA5MDdGRTI3NDgwRjA5MDdGNkMwMjE2MUEKLToxMDE1NTYwMDQwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERGMjdEQjkKLToxMDE1NjYwMDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0RkQKLToxMDE1NzYwMDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwMkQKLToxMDE1ODYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREQ0MDIxNjQwRkMKLToxMDE1OTYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwNDUKLToxMDE1QTYwMEYwRjBEREVDN0QwMjA1ODY5MDdGRTI3NDAwRjA5MDdGMUUKLToxMDE1QjYwMDlCRTA1NDA0QjQwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0NTEKLToxMDE1QzYwMDgwRjAwNTg2RjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwREEKLTowNjE1RDYwMEYwRjBGMEYwRjBGMDZGCi06MTAxNURDMDBERENFMDIxNjQwRjBGMEYwRjBEREZBN0QwMjA1ODY5MENCCi06MTAxNUVDMDA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDU4NjA0Ci06MTAxNUZDMDAwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBERDhBCi06MTAxNjBDMDBEQzAyMTY0MEYwRjBGMEYwRjBGMERERjg3RDAyMDU4NjFCCi06MTAxNjFDMDA5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNUM5Ci06MTAxNjJDMDA4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEIwCi06MTAxNjNDMDBGMEYwREREQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NjdFCi06MTAxNjRDMDBEMDgzRDA4MkQwRTBGQ0QwRTBGREQwRTBGRUQwRTBGRjMzCi06MDUxNjVDMDBEMEUwRDBEMDIyMTcKLToxMDE2NjEwMEMwRDBDMEUwQzA4MkMwODM5MDc2N0NFMDkwN0Y2RkYwRjQKLToxMDE2NzEwMDkwNzY3REUwOTA3RjZGRjA5MDc2N0VFMDkwN0Y2RkYwQzYKLTowOTE2ODEwMEQwODNEMDgyRDBFMEQwRDAyMjQ5Ci06MTAxNjhBMDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTBDMDgyQzA4MzdFCi06MTAxNjlBMDAwNTg2QzA4NEMwODU5MDc2ODdFMEZGQkYwMDAzMDIxN0U1Ci06MTAxNkFBMDAwMTkwN0Y5NkUwNDQ4MEYwOTA3RkUyNzQ4MEYwOTA3RjEyCi06MTAxNkJBMDA2MkUwMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5NkUwNTQ3RkE2Ci06MTAxNkNBMDBGMDkwN0ZFMjc0ODBGMDkwNzY4RUUwQjQwMTA1MDU4NjkyCi06MTAxNkRBMDAwMjE2RjZCNDAyMDUwNTg2MDIxNkVCMDU4NjAyMTZGQjBCCi06MTAxNkVBMDBFMEUwRTBFMEUwRTBERkY4MDIxNkZCRTBFMEUwRTBERjY3Ci06MTAxNkZBMDBGQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NkQwODNEMDNBCi06MEMxNzBBMDA4MkQwRTBGRUQwRTBGRkQwRTBEMEQwMjI4MgotOjEwMTcxNjAwQzA4MkMwODNDMEUwRThDMEUwNzhEMUU4MTRGODcwRkI2RQotOjBBMTcyNjAwRDBFMEY4RDBFMEQwODNEMDgyMjI5QQotOjEwMENBNTAwNDE3MjAxMDE0NTcyMDUwMDAyQzkwMDAwNDU3MjBBMDA0MgotOjEwMENCNTAwMDEwMjAzMDQ0RDcyMEZEMTAwRDEwMDAwMDAwMDAwMDBCNQotOjEwMENDNTAwMjgyODA5MDA0RDcyMUMwMTAwMDEwMjAzMDQwNTA2MDdDRQotOjEwMENENTAwMDgwOTBBMEI0MTcyMkUyMjQxNzIyRjIzNDE3MjMwMjBERQotOjEwMENFNTAwNDE3MjMxMjE2MkQyNzIzQTAwMDAwMDAwMDAwMDAwMDAxQQotOjEwMENGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgotOjEwMEQwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMEQxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMEQyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQotOjEwMEQzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQotOjEwMEQ0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQotOjEwMEQ1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQotOjEwMEQ2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQotOjEwMEQ3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAxMDEwMTAxMDE2OAotOjEwMEQ4NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE0RQotOjEwMEQ5NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEzRQotOjEwMERBNTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEyRQotOjEwMERCNTAwMDEwMTAxMDEwMTAxMDEwMTAyMDIwMjAyMDIwMjAyMDIxNgotOjEwMERDNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJGRQotOjEwMERENTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJFRQotOjEwMERFNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJERQotOjEwMERGNTAwMDIwMjAyMDIwMjAzMDMwMzAzMDMwMzAzMDMwMzAzMDNDMwotOjEwMEUwNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDNBRAotOjEwMEUxNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM5RAotOjEwMEUyNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM4RAotOjEwMEUzNTAwMDMwMzA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ2RgotOjEwMEU0NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ1RAotOjEwMEU1NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ0RAotOjEwMEU2NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQzRAotOjEwMEU3NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUxRAotOjEwMEU4NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwRAotOjEwMEU5NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDVGRAotOjEwMEVBNTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA2MDZFQgotOjEwMEVCNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZDRAotOjEwMEVDNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZCRAotOjEwMEVENTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZBRAotOjEwMEVFNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA3MDcwNzA4MDg5NgotOjEwMEVGNTAwMDgwOTA5MDkwQTBBMEEwQjBCMEIwQzBDMEMwRDBEMEQ0MAotOjEwMEYwNTAwMEUwRTBFMEYwRjBGMTAxMDEwMTExMTExMTIxMjEyMTNEOQotOjEwMEYxNTAwMTMxMzE0MTQxNDE1MTUxNTE2MTYxNjE3MTcxNzE4MTg3NAotOjEwMEYyNTAwMTgxOTE5MTkxOTFBMUExQTFBMUIxQjFCMUIxQzFDMUMxOAotOjEwMEYzNTAwMUMxRDFEMUQxRDFFMUUxRTFFMUYxRjFGMUYyMDIwMjBDOAotOjEwMEY0NTAwMjEyMTIxMjIyMjIyMjMyMzI0MjQyNTI1MjYyNjI3Mjc2MQotOjEwMEY1NTAwMjgyODI5MjkyQTJBMkIyQjJDMkMyRDJEMkUyRTJGMkZENAotOjEwMEY2NTAwMzAzMDMxMzEzMjMyMzMzMzM0MzQzNTM1MzYzNjM3Mzc0NAotOjEwMEY3NTAwMzgzODM5MzkzQTNBM0IzQzNEM0UzRjQwNDE0MjQzNDQ5QgotOjEwMEY4NTAwNDU0NjQ3NDg0OTQ5NEE0QjRCNEM0RDRFNEY1MDUxNTJBNwotOjEwMEY5NTAwNTM1NDU1NTU1NjU2NTc1NzU4NUE1QjVENUU1RjYxNjJCNwotOjEwMEZBNTAwNjM2NDY1NjY2NzY4Njk2QTZCNkM2RDZGNzE3MjczNzQ4QgotOjEwMEZCNTAwNzU3Njc3Nzg3OTdBN0I3QzdFODAwMTM3MDEwMTM4MDBGOAotOjEwNEFDNDAwRTQ5MDcyMzZGMEEzRjA5MDdGOTdFMDU0RkJGMEU0OTAwQQotOjEwNEFENDAwNzIzM0YwOTA3MjMyRjA5MDcyMDEwNEYwRTQ5MDcyMzMwOQotOjEwNEFFNDAwRjA5MDcyMzJGMDkwNzIwMTA0RjA5MDdGOTdFMDQ0MDRFOQotOjAyNEFGNDAwRjAyMkFFCi06MTAzMjZGMDA5MDc2MThFMEZGNjQwNTcwNDI5MDc1QUJFMEI0MDExOUQ5Ci06MTAzMjdGMDA5MDcyMzc3NDAxRjBFNDkwODAyMEYwOTA4MDMxRjA5MERDCi06MTAzMjhGMDA4MDI4RjA5MDgwMzlGMDgwMjJFNDkwNzIzN0YwOTA3NUFBCi06MTAzMjlGMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDcxCi06MTAzMkFGMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjUyCi06MTAzMkJGMDA4MTk5OTA3MjM5NzQwNEYwOTA3MjM5RTBGRjI0RkU5MDc2Ci06MTAzMkNGMDA3MjA0RjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNUJGCi06MTAzMkRGMDA4M0UwNjQwMTcwNTQ5MDcyMzYwNEYwOTA3MjA0RTBGRjQyCi06MTAzMkVGMDAyNEZENjAyODI0RkU2MDI0MjQwMzI0RkI1MDA0NjAxQzZBCi06MTAzMkZGMDA4MThDNzQyMDJGRjU4MkU0MzQ4MEY1ODNFNEYwNzQyOEY4Ci06MTAzMzBGMDAyRkY1ODJFNDM0ODBGNTgzRTRGMDgxOEM5MDcyMDRFMDMxCi06MTAzMzFGMDBGRjI0MzBGNTgyRTQzNDgwRjU4M0U0RjA3NDM4MkZGNTIwCi06MTAzMzJGMDA4MkU0MzQ4MEY1ODNFNEYwODE4Q0U0OTA3MjM2RjA5MDdGCi06MTAzMzNGMDA3MjM5RTA3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzkzCi06MTAzMzRGMDBFMEZGN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjI4Ci06MTAzMzVGMDAwMjc0M0JGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MEFBCi06MTAzMzZGMDAwNDkwNzIwMkYwRUY0RTcwMDI4MTM1RUY2NDgwNEU3MDYwCi06MTAzMzdGMDAwMjgxMzVFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjA5MDQwCi06MTAzMzhGMDA3MjM0RTA3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4MzQ5Ci06MTAzMzlGMDBFMEZGOTA3MjAyRjA5MDc1MERFMDJGRjA5MDc1MENFMDQ5Ci06MTAzM0FGMDAzNDAwRjBFMEZFQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOTQ0Ci06MTAzM0JGMDBGOEQzMTIzNzk1NDAwQTkwNzUwQzc0QTVGMEEzNzRENjA0Ci06MTAzM0NGMDBGMDkwNzUwREUwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMDdGCi06MTAzM0RGMDBGRUEzRTA3ODA1Q0VBMkU3MTNDRTEzRDhGOEZGOTA3NUMxCi06MTAzM0VGMDAwQ0VFRjBBM0VGRjA5MDcyMkNFRUYwQTNFRkYwRDM5NDZECi06MTAzM0ZGMDBEMkVFNjQ4MDk0ODI0MDBBOTA3MjJDNzQwMkYwQTM3NDBGCi06MTAzNDBGMDBEMkYwQzM5MDcyMkNFMDY0ODA5NDgwNTAwNEU0RjBBMzU3Ci06MTAzNDFGMDBGMDkwNzIyQ0UwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNUMwCi06MTAzNDJGMDA4M0UwOTA3MjAyRjA5MDcyMDRFMEZGMjRGRDYwMkQyNDdGCi06MTAzNDNGMDBGRTYwMjkyNDAzMjRGQjUwMDQ2MDIxODA0MDkwNzIwMjE3Ci06MTAzNDRGMDBFMEZFNzQyMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQyOENCCi06MTAzNDVGMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDgwMjE5MDcyMDJFMDQ0Ci06MTAzNDZGMDBGRjkwNzIwNEUwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkEwCi06MTAzNDdGMDBGMDc0MzgyRUY1ODJFNDM0ODBGNTgzRUZGMDkwNzIzOUQyCi06MEIzNDhGMDBFMDA0RjBFMDY0MEE2MDAyNDFDNzIyODQKLToxMDM0OUEwMDkwNzYxOEUwRkZCNDA1MjM5MDcyMzdFMDcwMUQ5MDc1OUUKLToxMDM0QUEwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNjQKLToxMDM0QkEwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNDUKLToxMDM0Q0EwMEMxOTE5MDcyMzZFMDYwMDJDMTkxOTA3NjQwRTA3MDMxMEQKLToxMDM0REEwMDkwNzIwMzc0MDNGMDkwNzIwM0UwRkY3NUYwMEFBNDI0NUIKLToxMDM0RUEwMEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3MjI5RTBGREVFRDgKLToxMDM0RkEwMDZENjAwRUVGQzM5NDBBNTAwODkwNzIwM0UwMDRGMDgwRTYKLToxMDM1MEEwMEQ1OTA3MjM5NzQwNEYwOTA3NjQwRTA3MDA4OTA3MjAzOTYKLToxMDM1MUEwMEUwOTA3MjM5RjA5MDcyMzlFMEZEMjRGRTkwNzIyQUYwNDAKLToxMDM1MkEwMEVENzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFMEZGNjUKLToxMDM1M0EwMDdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIwMjc0QTQKLToxMDM1NEEwMDgwRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzAwNDkwNUEKLToxMDM1NUEwMDcyMDJGMEVGNEU3MDAyQzExQkVGNjQ4MDRFNzAwMkMxMUUKLToxMDM1NkEwMDFCRUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwRUQ3NUYwMkUKLToxMDM1N0EwMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMEZGOTA3MjAyNjQKLToxMDM1OEEwMEYwOTA3NTBERTAyRkYwOTA3NTBDRTAzNDAwRjBFMEZFM0QKLToxMDM1OUEwMEEzRTBGRkU0RkNGRDdCRDY3QUE1RjlGOEQzMTIzNzk1QjAKLToxMDM1QUEwMDQwMEE5MDc1MEM3NEE1RjBBMzc0RDZGMDkwNzUwREUwREUKLToxMDM1QkEwMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTBGRUEzRTA3ODA1NzYKLToxMDM1Q0EwMENFQTJFNzEzQ0UxM0Q4RjhGRjkwNzUwQ0VFRjBBM0VGNTYKLToxMDM1REEwMEYwOTA3MjJDRUVGMEEzRUZGMEQzOTREMkVFNjQ4MDk0QzQKLToxMDM1RUEwMDgyNDAwQTkwNzIyQzc0MDJGMEEzNzREMkYwQzM5MDcyRDMKLToxMDM1RkEwMDJDRTA2NDgwOTQ4MDUwMDRFNEYwQTNGMDkwNzIyQ0UwRjQKLToxMDM2MEEwMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjU4M0UwOTA3MjAyNkEKLToxMDM2MUEwMEYwOTA3MjJBRTBGRjI0RkQ2MDJEMjRGRTYwMjkyNDAzMjUKLToxMDM2MkEwMDI0RkI1MDA0NjAyMTgwNDA5MDcyMDJFMEZFNzQyMDJGMzcKLToxMDM2M0EwMEY1ODJFNDM0ODBGNTgzRUVGMDc0MjgyRkY1ODJFNDM0QzEKLToxMDM2NEEwMDgwRjU4M0VFRjA4MDIxOTA3MjAyRTBGRjkwNzIyQUUwMEEKLToxMDM2NUEwMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZGMDc0MzgyRUY1RDkKLToxMDM2NkEwMDgyRTQzNDgwRjU4M0VGRjA5MDc2NDBFMDcwMDY5MDcyNDEKLToxMDM2N0EwMDM5NzQwQUYwOTA3MjM5RTAwNEYwRTBDMzk0MEE1MDAyRjcKLTowODM2OEEwMEExMTFFNDkwNzY0MEYwMjI0QQotOjA0NEQ5NzAwMTIxNzMwMjI5RAotOjEwNDk1ODAwOTA3NjQ2NzQ4MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTM0QwotOjEwNDk2ODAwRjBBM0YwQTNGMEEzRjBBMzc0ODBGMEU0QTNGMEEzRjAwNQotOjEwNDk3ODAwQTNGMEEzRjBBM0YwQTNGMEEzNzQ0MEYwRTRBM0YwQTM4MgotOjEwNDk4ODAwNzQ0MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTNGMEEzRjAyNQotOjEwNDk5ODAwQTM3NDQwRjBFNEEzRjBBMzc0NDBGMEU0QTNGMEEzRjAwMAotOjA1NDlBODAwQTNGMEEzRjAyMkMyCi06MTAwRkM2MDBFNEZGNzQ0NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyMDYwCi06MTAwRkQ2MDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NEUyRkY1ODJFNDJCCi06MTAwRkU2MDAzNDc2RjU4M0UwRkU3NDMwMkZGNTgyRTQzNDgwRjU4M0ExCi06MDYwRkY2MDBFRUYwMEZCRjA4Q0M3NQotOjAxMEZGQzAwMjJEMgotOjEwNEE4RDAwRTRGRjc0NTYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0Mjg0NgotOjEwNEE5RDAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDVFMkZGNTgyRTQxOQotOjEwNEFBRDAwMzQ3NkY1ODNFMEZFNzQzODJGRjU4MkU0MzQ4MEY1ODM5NwotOjA2NEFCRDAwRUVGMDBGQkYwOENDNzMKLTowMTRBQzMwMDIyRDAKLToxMDE3MzAwMEMwODJDMDgzQzBFMEU4QzBFMDc4NzhFODE0Rjg3MEZCQUQKLTowQTE3NDAwMEQwRTBGOEQwRTBEMDgzRDA4MjIyODAKLTowMzAwNDMwMDAyNDkwMDZGCi06MTA0OTAwMDAwMjJGRTcwMDAyM0Q0NzAwMDI0RDQ2MDAwMjRCRDUwMDUyCi06MTA0OTEwMDAwMjRCNjAwMDAyMkZGRjAwMDI0QkVEMDAwMjRCODEwMEIyCi06MTA0OTIwMDAwMjRDMDQwMDAyM0ZENTAwMDI0QzFCMDAwMjRDMzIwMDM2Ci06MTA0OTMwMDAwMjRDNDkwMDAyNEM2MDAwMDI0Qzc3MDAwMjRDOEUwMDkxCi06MTA0OTQwMDAwMjRDQTUwMDAyNENCQzAwMDI0Q0QzMDAwMjRDRUEwMDExCi06MDg0OTUwMDAwMjREMDEwMDAyNEQxODAwQTgKLToxMDFCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKLToxMDFCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKLToxMDFCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKLToxMDFCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKLToxMDFCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKLToxMDFCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKLToxMDFCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKLToxMDFCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKLToxMDFCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKLToxMDFCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKLToxMDFCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKLToxMDFCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKLToxMDFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKLToxMDFDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKLToxMDFDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKLToxMDFDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKLToxMDFDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKLToxMDFDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKLToxMDFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKLToxMDFDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKLToxMDFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKLToxMDFDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKLToxMDFDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKLToxMDFDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKLToxMDFDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKLToxMDFDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKLToxMDFDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKLToxMDFDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKLToxMDFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKLToxMDFEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKLToxMDFEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKLToxMDFEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKLToxMDFENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKLToxMDFENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKLToxMDFENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKLToxMDFENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKLToxMDFEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKLToxMDFEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKLToxMDFEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKLToxMDFEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKLToxMDFEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKLToxMDFERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKLToxMDFERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKLToxMDFERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKLToxMDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKLToxMDFFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKLToxMDFFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKLToxMDFFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKLToxMDFFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKLToxMDFFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKLToxMDFFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKLToxMDFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKLToxMDFFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKLToxMDFFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKLToxMDFFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKLTowRTFFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAotOjEwMUVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAotOjEwMUVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAotOjEwMUVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAotOjEwMUVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAotOjEwMUVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAotOjEwMUYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMwotOjEwMUYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMwotOjEwMUYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMwotOjAyMUYzRTAwMDAwMEExCi06MTAxRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCi06MTAxRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCi06MTAxRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCi06MTAxRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCi06MTAxRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCi06MTAxRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCi06MTAxRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCi06MTAxRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCi06MTAxRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCi06MTAxRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCi06MTAxRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCi06MTAxRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCi06MTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCi06MTAyMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCi06MTAyMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCi06MTAyMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCi06MTAyMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwCi06MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCi06MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCi06MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCi06MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCi06MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCi06MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCi06MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCi06MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCi06MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi06MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCi06MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCi06MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCi06MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCi06MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCi06MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCi06MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCi06MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCi06MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCi06MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCi06MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCi06MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCi06MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCi06MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCi06MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCi06MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCi06MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCi06MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCi06MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCi06MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCi06MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCi06MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCi06MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCi06MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCi06MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCi06MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCi06MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCi06MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCi06MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCi06MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCi06MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCi06MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCi06MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECi06MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECi06MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECi06MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECi06MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECi06MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECi06MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECi06MEUyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKLToxMDIzN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKLToxMDIzOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKLToxMDIzOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKLToxMDIzQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKLToxMDIzQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKLToxMDIzQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKLToxMDIzREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKLToxMDIzRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKLToxMDIzRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKLToxMDI0MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKLToxMDI0MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKLToxMDI0MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKLToxMDI0M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKLToxMDI0NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKLToxMDI0NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKLToxMDI0NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKLToxMDI0N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKLToxMDI0OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKLToxMDI0OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKLToxMDI0QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKLToxMDI0QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKLToxMDI0Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKLToxMDI0REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKLToxMDI0RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDI0RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDI1MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKLToxMDI1MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKLToxMDI1MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKLToxMDI1M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKLToxMDI1NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKLToxMDI1NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKLToxMDI1NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKLToxMDI1N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKLToxMDI1OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKLToxMDI1OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKLToxMDI1QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKLToxMDI1QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKLToxMDI1Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKLToxMDI1REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKLToxMDI1RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKLToxMDI1RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKLToxMDI2MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKLToxMDI2MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUMKLToxMDI2MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKLToxMDI2M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKLToxMDI2NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKLToxMDI2NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKLToxMDI2NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKLToxMDI2N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKLToxMDI2OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKLToxMDI2OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKLToxMDI2QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUMKLToxMDI2QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKLToxMDI2Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKLToxMDI2REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKLTowRTI2RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMjZGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMjcwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAotOjEwMjcxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAotOjEwMjcyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAotOjEwMjczQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAotOjEwMjc0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAotOjEwMjc1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAotOjEwMjc2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAotOjEwMjc3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAotOjEwMjc4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAotOjEwMjc5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAotOjEwMjdBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAotOjEwMjdCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAotOjEwMjdDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAotOjEwMjdEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAotOjEwMjdFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAotOjA1MjdGQzAwMDAwMDAwMDAyMkI2Ci06MDcxNzRBMDA5MDdGQzU3NDAyRjAyMjNDCi06MTAxNzUxMDA5MDdFQzBFMDkwNzY0NUYwOTA3RUMxRTA5MDc2NDRGMEI2Ci06MTAxNzYxMDA5MDdFQzJFMDkwNzY0M0YwQjQwMDAzMDIxNzc4OTA3NjQxCi06MTAxNzcxMDAxOTc0MDNGMDAyMTc4RTkwNzY0NEUwQjRCQjA5OTA3Njk5Ci06MTAxNzgxMDAxOTc0MDJGMDAyMTc4RTkwNzYxOTc0MDFGMDkwNzY0MjY2Ci06MDMxNzkxMDBFNEYwMjI1RgotOjAzMDAwMDAwMDI0NUY5QkQKLTowQzQ1RjkwMDc4N0ZFNEY2RDhGRDc1ODEzODAyNDY0MDVBCi06MTAzNjkyMDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMjM2Ci06MDkzNkEyMDBFMzIyODk4MjhBODNFNDkzMjI2OQotOjEwMzZBQjAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTBENAotOjEwMzZCQjAwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjIxRQotOjBEMzZDQjAwRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjIzOAotOjEwMzZEODAwQzJENUVDMzBFNzA5QjJENUU0QzM5REZERTQ5Q0ZDRUUwRAotOjEwMzZFODAwMzBFNzE1QjJENUU0QzM5RkZGRTQ5RUZFMTIzODFGQzMyRQotOjEwMzZGODAwRTQ5REZERTQ5Q0ZDODAwMzEyMzgxRjMwRDUwN0MzRTQyOQotOjA2MzcwODAwOUZGRkU0OUVGRTIyN0IKLToxMDM3MEUwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwRjkKLToxMDM3MUUwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFRDYKLToxMDM3MkUwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzMUMKLTowODM3M0UwMEU5OTNGNUYwQTNFOTkzMjJFMQotOjEwMzc0NjAwRTg4RkYwQTRDQzhCRjBBNDJDRkNFOThFRjBBNDJDRkMyMgotOjEwMzc1NjAwOEFGMEVEQTQyQ0ZDRUE4RUYwQTRDREE4RjA4QkYwQTRBMAotOjEwMzc2NjAwMkRDQzM4MjVGMEZERTk4RkYwQTQyQ0NEMzVGMEZDRUJGRgotOjEwMzc3NjAwOEVGMEE0RkVBOUYwRUI4RkYwQTRDRkM1RjAyRUNEMzlDNAotOjBGMzc4NjAwRkVFNDNDRkNFQUE0MkRDRTM1RjBGREU0M0NGQzIyMzEKLToxMDM3OTUwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEVDNjQ4MEM4QUIKLTowNjM3QTUwMDY0ODA5ODQ1RjAyMjRCCi06MTAzN0FCMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDc0Ci06MDEzN0JCMDAyMkVCCi06MEMzN0JDMDBFQ0YwQTNFREYwQTNFRUYwQTNFRkYwMjI4MAotOjEwMzdDODAwQTg4Mjg1ODNGMEQwODNEMDgyMTIzN0RGMTIzN0RGMTJDOAotOjEwMzdEODAwMzdERjEyMzdERkU0NzNFNDkzQTNDNTgzQzVGMEM1ODNFRAotOjEwMzdFODAwQzhDNTgyQzhGMEEzQzU4M0M1RjBDNTgzQzhDNTgyQzg0QgotOjAxMzdGODAwMjJBRQotOjEwMzdGOTAwRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM1RgotOjEwMzgwOTAwOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjA3MgotOjA2MzgxOTAwRUZBM0EzQTM4MERGNzIKLToxMDQ2MDUwMDAyNDc1QUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMkEKLToxMDQ2MTUwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQjYKLToxMDQ2MjUwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGODUKLToxMDQ2MzUwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBDOEZFNDdFN0EKLToxMDQ2NDUwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzN0EKLToxMDQ2NTUwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzNDEKLToxMDQ2NjUwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBNkMKLToxMDQ2NzUwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFMjQKLTowMTBGQzUwMDAwMkIKLToxMDM4MUYwMEJDMDAwQkJFMDAyOUVGOERGMDg0RkZBREYwMjJFNENDOEQKLToxMDM4MkYwMEY4NzVGMDA4RUYyRkZGRUUzM0ZFRUMzM0ZDRUU5REVDNTYKLToxMDM4M0YwMDk4NDAwNUZDRUU5REZFMEZENUYwRTlFNENFRkQyMkVEOUMKLToxMDM4NEYwMEY4RjVGMEVFODQyMEQyMUNGRUFERjA3NUYwMDhFRjJGRTYKLToxMDM4NUYwMEZGRUQzM0ZENDAwNzk4NTAwNkQ1RjBGMjIyQzM5OEZERDcKLTowNTM4NkYwMDBGRDVGMEVBMjI3NAotOjAwMDAwMDAxRkYKLSovCi0vKgotVkVSU0lPTj0xLjA0LjA2MgotREFURT0xNi4xMC4yMDAyICAKLSovCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX2VtaTYyX2xvYWRlcltdID0gewotIHsgMywweDAwMDAsMCx7MHgwMiwweDAyLDB4ODd9fSwKLSB7IDMsMHgwMDQzLDAsezB4MDIsMHgwNCwweDAwfX0sCi0gezE2LDB4MDEwMCwwLHsweGU0LDB4ZmYsMHhmZSwweGMyLDB4MjAsMHhkMiwweGU4LDB4NDMsMHhkOCwweDIwLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHhmZiwweGYwfX0sCi0gezE2LDB4MDExMCwwLHsweDkwLDB4N2YsMHhhOSwweGYwLDB4OTAsMHg3ZiwweGFhLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4OTUsMHg3NCwweGMwfX0sCi0gezE2LDB4MDEyMCwwLHsweGYwLDB4OTAsMHg3ZiwweDllLDB4ZjAsMHg5MCwweDdmLDB4OTgsMHhmMCwweGU0LDB4OTAsMHg3ZiwweDk0LDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4MDEzMCwwLHsweDlkLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweDkzLDB4ZTAsMHg1NCwweGZjfX0sCi0gezE2LDB4MDE0MCwwLHsweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHgwMywweGYwLDB4ZTQsMHg5MCwweDdmLDB4OTYsMHhmMCwweDkwLDB4N2YsMHhhZiwweGUwfX0sCi0gezE2LDB4MDE1MCwwLHsweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgwZCwweGYwLDB4ZDIsMHhhZiwweDBmLDB4YmYsMHgwMCwweDAxfX0sCi0gezE2LDB4MDE2MCwwLHsweDBlLDB4YmUsMHgwNywweGY4LDB4YmYsMHgwOCwweGY1LDB4MjAsMHgyMCwweDQyLDB4NzUsMHgxNCwweDAwLDB4NzUsMHgxMywweDAwfX0sCi0gezE2LDB4MDE3MCwwLHsweDc1LDB4MTIsMHgwMCwweDc1LDB4MTEsMHgwMCwweDdmLDB4NDgsMHg3ZSwweDkyLDB4N2QsMHgwMCwweDdjLDB4MDAsMHhhYiwweDE0fX0sCi0gezE2LDB4MDE4MCwwLHsweGFhLDB4MTMsMHhhOSwweDEyLDB4YTgsMHgxMSwweGMzLDB4MTIsMHgwMywweGVkLDB4NTAsMHhkYiwweDIwLDB4MjAsMHhkOCwweDdhfX0sCi0gezE2LDB4MDE5MCwwLHsweDAwLDB4NzksMHgwMCwweDc4LDB4MDAsMHhlNSwweDE0LDB4MjQsMHgwMSwweGY1LDB4MTQsMHhlYSwweDM1LDB4MTMsMHhmNSwweDEzfX0sCi0gezE2LDB4MDFhMCwwLHsweGU5LDB4MzUsMHgxMiwweGY1LDB4MTIsMHhlOCwweDM1LDB4MTEsMHhmNSwweDExLDB4ODAsMHhjYSwweDMwLDB4MjAsMHhmZCwweDEyfX0sCi0gezE2LDB4MDFiMCwwLHsweDAxLDB4YzcsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fX0sCi0geyA2LDB4MDFjMCwwLHsweDAyLDB4ZjAsMHhjMiwweDIwLDB4ODAsMHhlNn19LAotIHsgMSwweDAxYzYsMCx7MHgyMn19LAotIHsxNiwweDAxYzcsMCx7MHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4NWIsMHg2MCwweDYwLDB4MjQsMHgwMiwweDYwLDB4MDMsMHgwMiwweDAyLDB4ODUsMHg5MH19LAotIHsxNiwweDAxZDcsMCx7MHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNSwweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MH19LAotIHsxNiwweDAxZTcsMCx7MHg3ZiwweGVlLDB4ZTAsMHg3NSwweDE1LDB4MDAsMHhmNSwweDE2LDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MTUsMHhlNX19LAotIHsxNiwweDAxZjcsMCx7MHgxNiwweDQ1LDB4MTUsMHg3MCwweDAzLDB4MDIsMHgwMiwweDg1LDB4ZTQsMHg5MCwweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNH19LAotIHsxNiwweDAyMDcsMCx7MHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwYywweDEyLDB4MDMsMHgxMywweGFmLDB4MGMsMHg3ZX19LAotIHsxNiwweDAyMTcsMCx7MHgwMCwweGVmLDB4MjUsMHgwYiwweGY1LDB4MGIsMHhlZSwweDM1LDB4MGEsMHhmNSwweDBhLDB4YzMsMHhlNSwweDE2LDB4OWYsMHhmNX19LAotIHsxNiwweDAyMjcsMCx7MHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGM3LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNX19LAotIHsxNiwweDAyMzcsMCx7MHgwYiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDBhLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHg3NSwweDE1LDB4MDAsMHhmNX19LAotIHsxNiwweDAyNDcsMCx7MHgxNiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDE1LDB4ZTUsMHgxNiwweDQ1LDB4MTUsMHg2MCwweDMwLDB4ZTQsMHg5MH19LAotIHsxNiwweDAyNTcsMCx7MHg3ZiwweGM1LDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwY319LAotIHsxNiwweDAyNjcsMCx7MHgxMiwweDAzLDB4MmIsMHhhZiwweDBjLDB4N2UsMHgwMCwweGVmLDB4MjUsMHgwYiwweGY1LDB4MGIsMHhlZSwweDM1LDB4MGEsMHhmNX19LAotIHsxNSwweDAyNzcsMCx7MHgwYSwweGMzLDB4ZTUsMHgxNiwweDlmLDB4ZjUsMHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGNhLDB4YzN9fSwKLSB7IDEsMHgwMjg2LDAsezB4MjJ9fSwKLSB7MTIsMHgwMjg3LDAsezB4NzgsMHg3ZiwweGU0LDB4ZjYsMHhkOCwweGZkLDB4NzUsMHg4MSwweDI5LDB4MDIsMHgwMiwweGNlfX0sCi0gezE2LDB4MDI5MywwLHsweDAyLDB4MDEsMHgwMCwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4NDAsMHgwMywweGY2LDB4ODAsMHgwMSwweGYyfX0sCi0gezE2LDB4MDJhMywwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfX0sCi0gezE2LDB4MDJiMywwLHsweGM0LDB4NTQsMHgwZiwweDQ0LDB4MjAsMHhjOCwweDgzLDB4NDAsMHgwNCwweGY0LDB4NTYsMHg4MCwweDAxLDB4NDYsMHhmNiwweGRmfX0sCi0gezE2LDB4MDJjMywwLHsweGU0LDB4ODAsMHgwYiwweDAxLDB4MDIsMHgwNCwweDA4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHg5MCwweDA0LDB4NmUsMHhlNCwweDdlfX0sCi0gezE2LDB4MDJkMywwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfX0sCi0gezE2LDB4MDJlMywwLHsweGEzLDB4NjAsMHgwMSwweDBlLDB4Y2YsMHg1NCwweGMwLDB4MjUsMHhlMCwweDYwLDB4YTgsMHg0MCwweGI4LDB4ZTQsMHg5MywweGEzfX0sCi0gezE2LDB4MDJmMywwLHsweGZhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhfX0sCi0gezE2LDB4MDMwMywwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfX0sCi0gezE2LDB4MDMxMywwLHsweGU1LDB4MGMsMHhmZiwweGU1LDB4MGIsMHhmNSwweDgyLDB4ZTUsMHgwYSwweGY1LDB4ODMsMHg3NSwweDkyLDB4N2UsMHg3NCwweGMwfX0sCi0geyA4LDB4MDMyMywwLHsweGY4LDB4ZTIsMHgwOCwweGYwLDB4YTMsMHhkZiwweGZhLDB4MjJ9fSwKLSB7MTYsMHgwMzJiLDAsezB4OTAsMHg3ZiwweDk2LDB4ODUsMHg4MywweDkyLDB4YTgsMHg4MiwweDc5LDB4MDIsMHg5MCwweDAwLDB4MDAsMHhlMCwweGI0LDB4MDB9fSwKLSB7MTYsMHgwMzNiLDAsezB4MGQsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4N2YsMHhmMCwweDQ0LDB4ODAsMHhmMCwweGU1LDB4MGN9fSwKLSB7MTYsMHgwMzRiLDAsezB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGY1LDB4MjgsMHhlNCwweGEyLDB4NDcsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTJ9fSwKLSB7MTYsMHgwMzViLDAsezB4NDYsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0NSwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ0LDB4MzN9fSwKLSB7MTYsMHgwMzZiLDAsezB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQzLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDIsMHgzMywweGYyLDB4Njl9fSwKLSB7MTYsMHgwMzdiLDAsezB4ZjIsMHhlNCwweGEyLDB4NDEsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MCwweDMzLDB4ZjIsMHg2OSwweGYyLDB4YTN9fSwKLSB7IDMsMHgwMzhiLDAsezB4ZGYsMHhjMiwweDIyfX0sCi0gezE2LDB4MDM4ZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDkwLDB4N2YsMHhjNCwweGU0LDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmfX0sCi0gezExLDB4MDM5ZSwwLHsweGFiLDB4NzQsMHgwNCwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHgwM2E5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9fSwKLSB7IDgsMHgwM2I5LDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDAzYzEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhkMH19LAotIHsgNiwweDAzZDEsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHgwM2Q3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgxMCwweGYwLDB4ZDB9fSwKLSB7IDYsMHgwM2U3LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4MDNlZCwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfX0sCi0geyAxLDB4MDNmZCwwLHsweDIyfX0sCi0geyAxLDB4MDNmZSwwLHsweDMyfX0sCi0geyAxLDB4MDNmZiwwLHsweDMyfX0sCi0gezE2LDB4MDQwMCwwLHsweDAyLDB4MDMsMHhhOSwweDAwLDB4MDIsMHgwMywweGMxLDB4MDAsMHgwMiwweDAzLDB4OGUsMHgwMCwweDAyLDB4MDQsMHg1OCwweDAwfX0sCi0gezE2LDB4MDQxMCwwLHsweDAyLDB4MDMsMHhkNywweDAwLDB4MDIsMHgwMywweGZlLDB4MDAsMHgwMiwweDAzLDB4ZmYsMHgwMCwweDAyLDB4MDQsMHg4NCwweDAwfX0sCi0gezE2LDB4MDQyMCwwLHsweDAyLDB4MDQsMHg4NSwweDAwLDB4MDIsMHgwNCwweDg2LDB4MDAsMHgwMiwweDA0LDB4ODcsMHgwMCwweDAyLDB4MDQsMHg4OCwweDAwfX0sCi0gezE2LDB4MDQzMCwwLHsweDAyLDB4MDQsMHg4OSwweDAwLDB4MDIsMHgwNCwweDhhLDB4MDAsMHgwMiwweDA0LDB4OGIsMHgwMCwweDAyLDB4MDQsMHg4YywweDAwfX0sCi0gezE2LDB4MDQ0MCwwLHsweDAyLDB4MDQsMHg4ZCwweDAwLDB4MDIsMHgwNCwweDhlLDB4MDAsMHgwMiwweDA0LDB4OGYsMHgwMCwweDAyLDB4MDQsMHg5MCwweDAwfX0sCi0geyA4LDB4MDQ1MCwwLHsweDAyLDB4MDQsMHg5MSwweDAwLDB4MDIsMHgwNCwweDkyLDB4MDB9fSwKLSB7MTYsMHgwNDU4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwOCwweGYwLDB4ZDB9fSwKLSB7IDYsMHgwNDY4LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4MDQ2ZSwwLHsweDAyLDB4MGEsMHgwMCwweDBmLDB4MDEsMHgwYywweDExLDB4MDQsMHgwZCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDEsMHgwMCwweDAwfX0sCi0geyAxLDB4MDQ3ZSwwLHsweDAwfX0sCi0geyA0LDB4MDQ3ZiwwLHsweDAyLDB4MTcsMHgwMCwweDAwfX0sCi0geyAxLDB4MDQ4MywwLHsweDAwfX0sCi0geyAxLDB4MDQ4NCwwLHsweDMyfX0sCi0geyAxLDB4MDQ4NSwwLHsweDMyfX0sCi0geyAxLDB4MDQ4NiwwLHsweDMyfX0sCi0geyAxLDB4MDQ4NywwLHsweDMyfX0sCi0geyAxLDB4MDQ4OCwwLHsweDMyfX0sCi0geyAxLDB4MDQ4OSwwLHsweDMyfX0sCi0geyAxLDB4MDQ4YSwwLHsweDMyfX0sCi0geyAxLDB4MDQ4YiwwLHsweDMyfX0sCi0geyAxLDB4MDQ4YywwLHsweDMyfX0sCi0geyAxLDB4MDQ4ZCwwLHsweDMyfX0sCi0geyAxLDB4MDQ4ZSwwLHsweDMyfX0sCi0geyAxLDB4MDQ4ZiwwLHsweDMyfX0sCi0geyAxLDB4MDQ5MCwwLHsweDMyfX0sCi0geyAxLDB4MDQ5MSwwLHsweDMyfX0sCi0geyAxLDB4MDQ5MiwwLHsweDMyfX0sCi0gezE2LDB4MTEwMCwwLHsweDEyLDB4MDEsMHgxMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg2YSwweDA4LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMSwweDAyfX0sCi0gezE2LDB4MTExMCwwLHsweDAwLDB4MDEsMHgwOSwweDAyLDB4MjAsMHgwMCwweDAxLDB4MDEsMHgwMywweGEwLDB4MDAsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAyfX0sCi0gezE2LDB4MTEyMCwwLHsweGZmLDB4MDAsMHgwMCwweDA0LDB4MDcsMHgwNSwweDgyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4MDIsMHgwMiwweDQwfX0sCi0gezE2LDB4MTEzMCwwLHsweDAwLDB4MDAsMHgwNCwweDAzLDB4MDksMHgwNCwweDI2LDB4MDMsMHg0MSwweDAwLDB4NmUsMHgwMCwweDYzLDB4MDAsMHg2OCwweDAwfX0sCi0gezE2LDB4MTE0MCwwLHsweDZmLDB4MDAsMHg3MiwweDAwLDB4MjAsMHgwMCwweDQzLDB4MDAsMHg2OCwweDAwLDB4NjksMHgwMCwweDcwLDB4MDAsMHg3MywweDAwfX0sCi0gezE2LDB4MTE1MCwwLHsweDJjLDB4MDAsMHgyMCwweDAwLDB4NDksMHgwMCwweDZlLDB4MDAsMHg2MywweDAwLDB4MmUsMHgwMCwweDI4LDB4MDMsMHg0NiwweDAwfX0sCi0gezE2LDB4MTE2MCwwLHsweDY5LDB4MDAsMHg3MiwweDAwLDB4NmQsMHgwMCwweDc3LDB4MDAsMHg2MSwweDAwLDB4NzIsMHgwMCwweDY1LDB4MDAsMHgyMCwweDAwfX0sCi0gezE2LDB4MTE3MCwwLHsweDQ2LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDZkLDB4MDAsMHg2NSwweDAwLDB4NTcsMHgwMCwweDZmLDB4MDAsMHg3MiwweDAwfX0sCi0gezE2LDB4MTE4MCwwLHsweDZiLDB4MDAsMHg3MywweDAwLDB4MmEsMHgwMywweDQzLDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMCwweDY2LDB4MDAsMHg2OSwweDAwfX0sCi0gezE2LDB4MTE5MCwwLHsweDY3LDB4MDAsMHg3NSwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg3NCwweDAwLDB4NjksMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwfX0sCi0gezE2LDB4MTFhMCwwLHsweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgyMiwweDAzfX0sCi0gezE2LDB4MTFiMCwwLHsweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDAsMHg3MiwweDAwLDB4NjYsMHgwMCwweDYxLDB4MDAsMHg2MywweDAwfX0sCi0gezE2LDB4MTFjMCwwLHsweDY1LDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwfX0sCi0geyAyLDB4MTFkMCwwLHsweDAwLDB4MDB9fSwKLSB7IDAsMHgwMDAwLDEsezB9fQotfTsKLS8qIFNvdXJjZTogRU1JTE9BRC5IRVggCi06MTAwNDZFMDAwMjBBMDAwRjAxMEMxMTA0MEQwMDAwMDAwMDQxMDAwMEYzCi06MDEwNDdFMDAwMDdECi06MTAwMUM3MDA5MDdGRTlFMDI0NUI2MDYwMjQwMjYwMDMwMjAyODU5MDZGCi06MTAwMUQ3MDA3RkVBRTA3NTBBMDBGNTBCQTNFMEZFRTRFRTQyMEE5MDIxCi06MTAwMUU3MDA3RkVFRTA3NTE1MDBGNTE2QTNFMEZFRTRFRTQyMTVFNTk3Ci06MTAwMUY3MDAxNjQ1MTU3MDAzMDIwMjg1RTQ5MDdGQzVGMDkwN0ZCNDIxCi06MTAwMjA3MDBFMDIwRTNGOTkwN0ZDNUUwRjUwQzEyMDMxM0FGMEM3RUY1Ci06MTAwMjE3MDAwMEVGMjUwQkY1MEJFRTM1MEFGNTBBQzNFNTE2OUZGNTNBCi06MTAwMjI3MDAxNkU1MTU5RUY1MTU4MEM3OTA3RkVBRTA3NTBBMDBGNTdCCi06MTAwMjM3MDAwQkEzRTBGRUU0RUU0MjBBOTA3RkVFRTA3NTE1MDBGNUIxCi06MTAwMjQ3MDAxNkEzRTBGRUU0RUU0MjE1RTUxNjQ1MTU2MDMwRTQ5MDhFCi06MTAwMjU3MDA3RkM1RjA5MDdGQjRFMDIwRTNGOTkwN0ZDNUUwRjUwQzBGCi06MTAwMjY3MDAxMjAzMkJBRjBDN0UwMEVGMjUwQkY1MEJFRTM1MEFGNUNECi06MEYwMjc3MDAwQUMzRTUxNjlGRjUxNkU1MTU5RUY1MTU4MENBQzM1NwotOjAxMDI4NjAwMjI1NQotOjEwMDNBOTAwQzBFMEMwODNDMDgyRDIyMDUzOTFFRjkwN0ZBQjc0MDEyQgotOjA4MDNCOTAwRjBEMDgyRDA4M0QwRTAzMkM1Ci06MTAwMzhFMDBDMEUwQzA4M0MwODI5MDdGQzRFNEYwNTM5MUVGOTA3RkIxCi06MEIwMzlFMDBBQjc0MDRGMEQwODJEMDgzRDBFMDMyQkEKLToxMDAzQzEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDJGMEQwNDQKLTowNjAzRDEwMDgyRDA4M0QwRTAzMjZGCi06MTAwM0Q3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjBEMDIwCi06MDYwM0U3MDA4MkQwODNEMEUwMzI1OQotOjAxMDNGRTAwMzJDQwotOjEwMDQ1ODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwOEYwRDBBNgotOjA2MDQ2ODAwODJEMDgzRDBFMDMyRDcKLTowMTAzRkYwMDMyQ0IKLTowMTA0ODQwMDMyNDUKLTowMTA0ODUwMDMyNDQKLTowMTA0ODYwMDMyNDMKLTowMTA0ODcwMDMyNDIKLTowMTA0ODgwMDMyNDEKLTowMTA0ODkwMDMyNDAKLTowMTA0OEEwMDMyM0YKLTowMTA0OEIwMDMyM0UKLTowMTA0OEMwMDMyM0QKLTowMTA0OEQwMDMyM0MKLTowMTA0OEUwMDMyM0IKLTowMTA0OEYwMDMyM0EKLTowMTA0OTAwMDMyMzkKLTowMTA0OTEwMDMyMzgKLTowMTA0OTIwMDMyMzcKLTowNDA0N0YwMDAyMTcwMDAwNjAKLToxMDAxMDAwMEU0RkZGRUMyMjBEMkU4NDNEODIwOTA3RkFCNzRGRkYwMUEKLToxMDAxMTAwMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGOTU3NEMwRTMKLToxMDAxMjAwMEYwOTA3RjlFRjA5MDdGOThGMEU0OTA3Rjk0RjA5MDdGMjUKLToxMDAxMzAwMDlENzRGRkYwOTA3Rjk3NzRBMEYwOTA3RjkzRTA1NEZDNDMKLToxMDAxNDAwMEYwOTA3RjlDNzQwM0YwRTQ5MDdGOTZGMDkwN0ZBRkUwOTYKLToxMDAxNTAwMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRjBGQkYwMDAxM0MKLToxMDAxNjAwMDBFQkUwN0Y4QkYwOEY1MjAyMDQyNzUxNDAwNzUxMzAwNzUKLToxMDAxNzAwMDc1MTIwMDc1MTEwMDdGNDg3RTkyN0QwMDdDMDBBQjE0RTMKLToxMDAxODAwMEFBMTNBOTEyQTgxMUMzMTIwM0VENTBEQjIwMjBEODdBQkMKLToxMDAxOTAwMDAwNzkwMDc4MDBFNTE0MjQwMUY1MTRFQTM1MTNGNTEzMEQKLToxMDAxQTAwMEU5MzUxMkY1MTJFODM1MTFGNTExODBDQTMwMjBGRDEyM0IKLToxMDAxQjAwMDAxQzc1MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0NjEKLTowNjAxQzAwMDAyRjBDMjIwODBFNkZGCi06MDEwMUM2MDAyMjE2Ci06MTAxMTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODAxMDEwMDAxMDEwMjAzCi06MTAxMTEwMDAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDAwMkVGCi06MTAxMTIwMDBGRjAwMDAwNDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDlDCi06MTAxMTMwMDAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjgwMEY4Ci06MTAxMTQwMDA2RjAwNzIwMDIwMDA0MzAwNjgwMDY5MDA3MDAwNzMwMEE3Ci06MTAxMTUwMDAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYwMDhBCi06MTAxMTYwMDA2OTAwNzIwMDZEMDA3NzAwNjEwMDcyMDA2NTAwMjAwMDY4Ci06MTAxMTcwMDA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzIwMDRDCi06MTAxMTgwMDA2QjAwNzMwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDY1Ci06MTAxMTkwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEU2Ci06MTAxMUEwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzgzCi06MTAxMUIwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMDAzCi06MTAxMUMwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIzCi06MDIxMUQwMDAwMDAwMUQKLToxMDAzMTMwMEU1MENGRkU1MEJGNTgyRTUwQUY1ODM3NTkyN0U3NEMwNjMKLTowODAzMjMwMEY4RTIwOEYwQTNERkZBMjI2MgotOjEwMDMyQjAwOTA3Rjk2ODU4MzkyQTg4Mjc5MDI5MDAwMDBFMEI0MDBCQQotOjEwMDMzQjAwMEQ3NDAxRjA5MDdGOTdFMDU0N0ZGMDQ0ODBGMEU1MEM1MgotOjEwMDM0QjAwRkY5MDdFQzBFMEY1MjhFNEEyNDczM0YyNjlGMkU0QTIwNQotOjEwMDM1QjAwNDYzM0YyNjlGMkU0QTI0NTMzRjI2OUYyRTRBMjQ0MzM4NAotOjEwMDM2QjAwRjI2OUYyRTRBMjQzMzNGMjY5RjJFNEEyNDIzM0YyNjk5NgotOjEwMDM3QjAwRjJFNEEyNDEzM0YyNjlGMkU0QTI0MDMzRjI2OUYyQTM1MAotOjAzMDM4QjAwREZDMjIyQUMKLTowMzAwNDMwMDAyMDQwMEI0Ci06MTAwNDAwMDAwMjAzQTkwMDAyMDNDMTAwMDIwMzhFMDAwMjA0NTgwMDg3Ci06MTAwNDEwMDAwMjAzRDcwMDAyMDNGRTAwMDIwM0ZGMDAwMjA0ODQwMDZGCi06MTAwNDIwMDAwMjA0ODUwMDAyMDQ4NjAwMDIwNDg3MDAwMjA0ODgwMDlBCi06MTAwNDMwMDAwMjA0ODkwMDAyMDQ4QTAwMDIwNDhCMDAwMjA0OEMwMDdBCi06MTAwNDQwMDAwMjA0OEQwMDAyMDQ4RTAwMDIwNDhGMDAwMjA0OTAwMDVBCi06MDgwNDUwMDAwMjA0OTEwMDAyMDQ5MjAwNzUKLTowMzAwMDAwMDAyMDI4NzcyCi06MEMwMjg3MDA3ODdGRTRGNkQ4RkQ3NTgxMjkwMjAyQ0VENAotOjEwMDNFRDAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjA2NgotOjAxMDNGRDAwMjJERAotOjEwMDI5MzAwMDIwMTAwRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjI4MAotOjEwMDJBMzAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzM2QwotOjEwMDJCMzAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REYzQgotOjEwMDJDMzAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMDQ2RUU0N0U1OQotOjEwMDJEMzAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTMzMAotOjEwMDJFMzAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGNwotOjEwMDJGMzAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0EyMgotOjEwMDMwMzAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVEOQotOjAxMDQ4MzAwMDA3OAotOjAwMDAwMDAxRkYKLSovCi0vKgotVkVSU0lPTj0xLjAuMi4wMDIKLURBVEU9MTAuMDEuMjAwMgotRU1JMjZfNjIKLSovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2lzaWdodF9maXJtd2FyZS5jIGIvZHJpdmVycy91c2IvbWlzYy9pc2lnaHRfZmlybXdhcmUuYwppbmRleCA5ZjMwYWExLi5kOTRhYTczIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9taXNjL2lzaWdodF9maXJtd2FyZS5jCisrKyBiL2RyaXZlcnMvdXNiL21pc2MvaXNpZ2h0X2Zpcm13YXJlLmMKQEAgLTQxLDcgKzQxLDcgQEAKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZpcm13YXJlOwogCXVuc2lnbmVkIGNoYXIgKmJ1ZiA9IGttYWxsb2MoNTAsIEdGUF9LRVJORUwpOwogCXVuc2lnbmVkIGNoYXIgZGF0YVs0XTsKLQl1OCAqcHRyOworCWNvbnN0IHU4ICpwdHI7CiAKIAlpZiAoIWJ1ZikKIAkJcmV0dXJuIC1FTk9NRU07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9tb24vbW9uX2Jpbi5jIGIvZHJpdmVycy91c2IvbW9uL21vbl9iaW4uYwppbmRleCA0OTE0NTUzLi4yOTNhNDYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9tb24vbW9uX2Jpbi5jCisrKyBiL2RyaXZlcnMvdXNiL21vbi9tb25fYmluLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtNTI3LDE0ICs1MjgsMTcgQEAKIAlzaXplX3Qgc2l6ZTsKIAlpbnQgcmM7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJm1vbl9sb2NrKTsKIAlpZiAoKG1idXMgPSBtb25fYnVzX2xvb2t1cChpbWlub3IoaW5vZGUpKSkgPT0gTlVMTCkgewogCQltdXRleF91bmxvY2soJm1vbl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAJaWYgKG1idXMgIT0gJm1vbl9idXMwICYmIG1idXMtPnVfYnVzID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fRVJSIFRBRyAiOiBjb25zaXN0ZW5jeSBlcnJvciBvbiBvcGVuXG4iKTsKIAkJbXV0ZXhfdW5sb2NrKCZtb25fbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCkBAIC01NjgsNiArNTcyLDcgQEAKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHJwOwogCW11dGV4X3VubG9jaygmbW9uX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogZXJyX2FsbG9jYnVmZjoKQEAgLTU3Niw2ICs1ODEsNyBAQAogCWtmcmVlKHJwKTsKIGVycl9hbGxvYzoKIAltdXRleF91bmxvY2soJm1vbl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvS2NvbmZpZyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9LY29uZmlnCmluZGV4IDliYTY0Y2MuLjlhNzY4MWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9LY29uZmlnCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9LY29uZmlnCkBAIC0zMDQsMTkgKzMwNCwxOSBAQAogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX01QUgogCWJvb2wgIlVTQiBLZXlzcGFuIE1QUiBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIEtleXNwYW4gTVBSIGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOAogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0yOCBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0yOCBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTI4WCBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0yOFggY29udmVydGVyLgogCSAgQmUgc3VyZSB5b3UgaGF2ZSBhIFVTQS0yOFgsIHRoZXJlIGFyZSBhbHNvIDI4WEEgYW5kIDI4WEIKQEAgLTMyNCw3ICszMjQsNyBAQAogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WEEKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMjhYQSBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0yOFhBIGNvbnZlcnRlci4KIAkgIEJlIHN1cmUgeW91IGhhdmUgYSBVU0EtMjhYQSwgdGhlcmUgYXJlIGFsc28gMjhYIGFuZCAyOFhCCkBAIC0zMzIsNyArMzMyLDcgQEAKIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFhCCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTI4WEIgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMjhYQiBjb252ZXJ0ZXIuCiAJICBCZSBzdXJlIHlvdSBoYXZlIGEgVVNBLTI4WEIsIHRoZXJlIGFyZSBhbHNvIDI4WCBhbmQgMjhYQQpAQCAtMzQwLDQzICszNDAsNDMgQEAKIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOQogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0xOSBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0xOSBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMThYCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTE4WCBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0xOFggY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5VwogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0xOVcgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMTlXIGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFXCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTE5UVcgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMTlRVyBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlRSQogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0xOVFJIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTE5UUkgY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTQ5VwogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS00OVcgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtNDlXIGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVdMQwogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS00OVdMQyBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS00OVdMQyBjb252ZXJ0ZXIuCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmMKaW5kZXggMDZiNTJmNC4uMmZkNDQ5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmMKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KICNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9zZXJpYWwuaD4KQEAgLTU2LDI2ICs1OCw2IEBACiAjZGVmaW5lIERSSVZFUl9BVVRIT1IgIkdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ0Brcm9haC5jb20+IGFuZCBEYXZpZCBJYWNvdmVsbGkiCiAjZGVmaW5lIERSSVZFUl9ERVNDICJFZGdlcG9ydCBVU0IgU2VyaWFsIERyaXZlciIKIAotLyogRmlyc3QsIHRoZSBsYXRlc3QgYm9vdCBjb2RlIC0gZm9yIGZpcnN0IGdlbmVyYXRpb24gZWRnZXBvcnRzICovCi0jZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJQm9vdENvZGVJbWFnZV9HRU4xCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlCb290Q29kZUltYWdlVmVyc2lvbl9HRU4xCi0jaW5jbHVkZSAiaW9fZndfYm9vdC5oIgkJLyogdGhlIGJvb3Rsb2FkZXIgZmlybXdhcmUgdG8gZG93bmxvYWQgdG8gYSBkZXZpY2UsIGlmIGl0IG5lZWRzIGl0ICovCi0KLS8qIGZvciBzZWNvbmQgZ2VuZXJhdGlvbiBlZGdlcG9ydHMgKi8KLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlCb290Q29kZUltYWdlX0dFTjIKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUJvb3RDb2RlSW1hZ2VWZXJzaW9uX0dFTjIKLSNpbmNsdWRlICJpb19md19ib290Mi5oIgkvKiB0aGUgYm9vdGxvYWRlciBmaXJtd2FyZSB0byBkb3dubG9hZCB0byBhIGRldmljZSwgaWYgaXQgbmVlZHMgaXQgKi8KLQotLyogVGhlbiBmaW5hbGx5IHRoZSBtYWluIHJ1bi10aW1lIG9wZXJhdGlvbmFsIGNvZGUgLSBmb3IgZmlyc3QgZ2VuZXJhdGlvbiBlZGdlcG9ydHMgKi8KLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4xCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMQotI2luY2x1ZGUgImlvX2Z3X2Rvd24uaCIJCS8qIERlZmluZSBhcnJheSBPcGVyYXRpb25hbENvZGVJbWFnZVtdICovCi0KLS8qIGZvciBzZWNvbmQgZ2VuZXJhdGlvbiBlZGdlcG9ydHMgKi8KLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4yCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMgotI2luY2x1ZGUgImlvX2Z3X2Rvd24yLmgiCS8qIERlZmluZSBhcnJheSBPcGVyYXRpb25hbENvZGVJbWFnZVtdICovCi0KICNkZWZpbmUgTUFYX05BTUVfTEVOCQk2NAogCiAjZGVmaW5lIENIQVNFX1RJTUVPVVQJCSg1KkhaKQkJLyogNSBzZWNvbmRzICovCkBAIC0yNTYsOSArMjM4LDkgQEAKIHN0YXRpYyBpbnQgIHdyaXRlX2NtZF91c2IJCShzdHJ1Y3QgZWRnZXBvcnRfcG9ydCAqZWRnZV9wb3J0LCB1bnNpZ25lZCBjaGFyICpidWZmZXIsIGludCB3cml0ZUxlbmd0aCk7CiBzdGF0aWMgdm9pZCBzZW5kX21vcmVfcG9ydF9kYXRhCQkoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwsIHN0cnVjdCBlZGdlcG9ydF9wb3J0ICplZGdlX3BvcnQpOwogCi1zdGF0aWMgaW50ICBzcmFtX3dyaXRlCQkJKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgX191OCAqZGF0YSk7CitzdGF0aWMgaW50ICBzcmFtX3dyaXRlCQkJKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgY29uc3QgX191OCAqZGF0YSk7CiBzdGF0aWMgaW50ICByb21fcmVhZAkJCShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIF9fdTggKmRhdGEpOwotc3RhdGljIGludCAgcm9tX3dyaXRlCQkJKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgX191OCAqZGF0YSk7CitzdGF0aWMgaW50ICByb21fd3JpdGUJCQkoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBjb25zdCBfX3U4ICpkYXRhKTsKIHN0YXRpYyB2b2lkIGdldF9tYW51ZmFjdHVyaW5nX2Rlc2MJKHN0cnVjdCBlZGdlcG9ydF9zZXJpYWwgKmVkZ2Vfc2VyaWFsKTsKIHN0YXRpYyB2b2lkIGdldF9ib290X2Rlc2MJCShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCk7CiBzdGF0aWMgdm9pZCBsb2FkX2FwcGxpY2F0aW9uX2Zpcm13YXJlCShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCk7CkBAIC0yODMsMzcgKzI2NSw0MSBAQAogewogCV9fdTMyIEJvb3RDdXJWZXI7CiAJX191MzIgQm9vdE5ld1ZlcjsKLQlfX3U4IEJvb3RNYWpvclZlcnNpb247ICAgICAgICAgICAgICAgICAgCi0JX191OCBCb290TWlub3JWZXJzaW9uOyAgICAgICAgICAgICAgICAgIAotCV9fbGUxNiBCb290QnVpbGROdW1iZXI7Ci0JX191OCAqQm9vdEltYWdlOyAgICAgIAotCV9fdTMyIEJvb3RTaXplOwotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCAqcmVjb3JkOwotCXVuc2lnbmVkIGNoYXIgKmZpcm13YXJlOworCV9fdTggQm9vdE1ham9yVmVyc2lvbjsKKwlfX3U4IEJvb3RNaW5vclZlcnNpb247CisJX191MTYgQm9vdEJ1aWxkTnVtYmVyOworCV9fdTMyIEJvb3RhZGRyOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgY2hhciAqZndfbmFtZTsKIAlpbnQgcmVzcG9uc2U7CiAKLQogCXN3aXRjaCAoZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5pRG93bmxvYWRGaWxlKSB7CiAJCWNhc2UgRURHRV9ET1dOTE9BRF9GSUxFX0k5MzA6Ci0JCQlCb290TWFqb3JWZXJzaW9uCT0gQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMS5NYWpvclZlcnNpb247Ci0JCQlCb290TWlub3JWZXJzaW9uCT0gQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMS5NaW5vclZlcnNpb247Ci0JCQlCb290QnVpbGROdW1iZXIJCT0gY3B1X3RvX2xlMTYoQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMS5CdWlsZE51bWJlcik7Ci0JCQlCb290SW1hZ2UJCT0gJkJvb3RDb2RlSW1hZ2VfR0VOMVswXTsKLQkJCUJvb3RTaXplCQk9IHNpemVvZiggQm9vdENvZGVJbWFnZV9HRU4xICk7CisJCQlmd19uYW1lCT0gImVkZ2Vwb3J0L2Jvb3QuZnciOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBFREdFX0RPV05MT0FEX0ZJTEVfODAyNTE6Ci0JCQlCb290TWFqb3JWZXJzaW9uCT0gQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMi5NYWpvclZlcnNpb247Ci0JCQlCb290TWlub3JWZXJzaW9uCT0gQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMi5NaW5vclZlcnNpb247Ci0JCQlCb290QnVpbGROdW1iZXIJCT0gY3B1X3RvX2xlMTYoQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMi5CdWlsZE51bWJlcik7Ci0JCQlCb290SW1hZ2UJCT0gJkJvb3RDb2RlSW1hZ2VfR0VOMlswXTsKLQkJCUJvb3RTaXplCQk9IHNpemVvZiggQm9vdENvZGVJbWFnZV9HRU4yICk7CisJCQlmd19uYW1lCT0gImVkZ2Vwb3J0L2Jvb3QyLmZ3IjsKIAkJCWJyZWFrOwogCiAJCWRlZmF1bHQ6CiAJCQlyZXR1cm47CiAJfQogCisJcmVzcG9uc2UgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCBmd19uYW1lLAorCQkJCQkgJmVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGV2KTsKKwlpZiAocmVzcG9uc2UpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gbG9hZCBpbWFnZSBcIiVzXCIgZXJyICVkXG4iLAorCQkgICAgICAgZndfbmFtZSwgcmVzcG9uc2UpOworCQlyZXR1cm47CisJfQorCisJcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZ3LT5kYXRhOworCUJvb3RNYWpvclZlcnNpb24gPSByZWMtPmRhdGFbMF07CisJQm9vdE1pbm9yVmVyc2lvbiA9IHJlYy0+ZGF0YVsxXTsKKwlCb290QnVpbGROdW1iZXIgPSAocmVjLT5kYXRhWzJdIDw8IDgpIHwgcmVjLT5kYXRhWzNdOworCiAJLy8gQ2hlY2sgQm9vdCBJbWFnZSBWZXJzaW9uCiAJQm9vdEN1clZlciA9IChlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLk1ham9yVmVyc2lvbiA8PCAyNCkgKwogCQkgICAgIChlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLk1pbm9yVmVyc2lvbiA8PCAxNikgKwpAQCAtMzIxLDcgKzMwNyw3IEBACiAKIAlCb290TmV3VmVyID0gKEJvb3RNYWpvclZlcnNpb24gPDwgMjQpICsKIAkJICAgICAoQm9vdE1pbm9yVmVyc2lvbiA8PCAxNikgKwotCQkgICAgICBsZTE2X3RvX2NwdShCb290QnVpbGROdW1iZXIpOworCQkgICAgICBCb290QnVpbGROdW1iZXI7CiAKIAlkYmcoIkN1cnJlbnQgQm9vdCBJbWFnZSB2ZXJzaW9uICVkLiVkLiVkIiwKIAkgICAgZWRnZV9zZXJpYWwtPmJvb3RfZGVzY3JpcHRvci5NYWpvclZlcnNpb24sCkBAIC0zMzQsMzAgKzMyMCwzMCBAQAogCQkgICAgZWRnZV9zZXJpYWwtPmJvb3RfZGVzY3JpcHRvci5NYWpvclZlcnNpb24sCiAJCSAgICBlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLk1pbm9yVmVyc2lvbiwKIAkJICAgIGxlMTZfdG9fY3B1KGVkZ2Vfc2VyaWFsLT5ib290X2Rlc2NyaXB0b3IuQnVpbGROdW1iZXIpLAotCQkgICAgQm9vdE1ham9yVmVyc2lvbiwKLQkJICAgIEJvb3RNaW5vclZlcnNpb24sCi0JCSAgICBsZTE2X3RvX2NwdShCb290QnVpbGROdW1iZXIpKTsKLQorCQkgICAgQm9vdE1ham9yVmVyc2lvbiwgQm9vdE1pbm9yVmVyc2lvbiwgQm9vdEJ1aWxkTnVtYmVyKTsKIAogCQlkYmcoIkRvd25sb2FkaW5nIG5ldyBCb290IEltYWdlIik7CiAKLQkJZmlybXdhcmUgPSBCb290SW1hZ2U7Ci0KLQkJZm9yICg7OykgewotCQkJcmVjb3JkID0gKHN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCAqKWZpcm13YXJlOwotCQkJcmVzcG9uc2UgPSByb21fd3JpdGUgKGVkZ2Vfc2VyaWFsLT5zZXJpYWwsIGxlMTZfdG9fY3B1KHJlY29yZC0+RXh0QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+TGVuKSwgJnJlY29yZC0+RGF0YVswXSk7CisJCWZvciAocmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOyByZWM7CisJCSAgICAgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCQlCb290YWRkciA9IGJlMzJfdG9fY3B1KHJlYy0+YWRkcik7CisJCQlyZXNwb25zZSA9IHJvbV93cml0ZShlZGdlX3NlcmlhbC0+c2VyaWFsLAorCQkJCQkgICAgIEJvb3RhZGRyID4+IDE2LAorCQkJCQkgICAgIEJvb3RhZGRyICYgMHhGRkZGLAorCQkJCQkgICAgIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJICAgICAmcmVjLT5kYXRhWzBdKTsKIAkJCWlmIChyZXNwb25zZSA8IDApIHsKLQkJCQlkZXZfZXJyKCZlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRldiwgInJvbV93cml0ZSBmYWlsZWQgKCV4LCAleCwgJWQpXG4iLCBsZTE2X3RvX2NwdShyZWNvcmQtPkV4dEFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkxlbikpOwotCQkJCWJyZWFrOwotCQkJfQotCQkJZmlybXdhcmUgKz0gc2l6ZW9mIChzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQpICsgbGUxNl90b19jcHUocmVjb3JkLT5MZW4pOwotCQkJaWYgKGZpcm13YXJlID49ICZCb290SW1hZ2VbQm9vdFNpemVdKSB7CisJCQkJZGV2X2VycigmZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXYsCisJCQkJCSJyb21fd3JpdGUgZmFpbGVkICgleCwgJXgsICVkKVxuIiwKKwkJCQkJQm9vdGFkZHIgPj4gMTYsIEJvb3RhZGRyICYgMHhGRkZGLAorCQkJCQliZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCQkJCWJyZWFrOwogCQkJfQogCQl9CiAJfSBlbHNlIHsKIAkJZGJnKCJCb290IEltYWdlIC0tIGFscmVhZHkgdXAgdG8gZGF0ZSIpOwogCX0KKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIH0KIAogCkBAIC00NDcsOSArNDMzLDYgQEAKIAlkYmcoIiAgQm9vdE1ham9yVmVyc2lvbiAgICAgICVkLiVkLiVkIiwgcHJvZHVjdF9pbmZvLT5Cb290TWFqb3JWZXJzaW9uLAogCSAgICBwcm9kdWN0X2luZm8tPkJvb3RNaW5vclZlcnNpb24sCiAJICAgIGxlMTZfdG9fY3B1KHByb2R1Y3RfaW5mby0+Qm9vdEJ1aWxkTnVtYmVyKSk7Ci0JZGJnKCIgIEZpcm13YXJlTWFqb3JWZXJzaW9uICAlZC4lZC4lZCIsIHByb2R1Y3RfaW5mby0+RmlybXdhcmVNYWpvclZlcnNpb24sCi0JICAgIHByb2R1Y3RfaW5mby0+RmlybXdhcmVNaW5vclZlcnNpb24sCi0JICAgIGxlMTZfdG9fY3B1KHByb2R1Y3RfaW5mby0+RmlybXdhcmVCdWlsZE51bWJlcikpOwogCWRiZygiICBNYW51ZmFjdHVyZURlc2NEYXRlICAgJWQvJWQvJWQiLCBwcm9kdWN0X2luZm8tPk1hbnVmYWN0dXJlRGVzY0RhdGVbMF0sCiAJICAgIHByb2R1Y3RfaW5mby0+TWFudWZhY3R1cmVEZXNjRGF0ZVsxXSwKIAkgICAgcHJvZHVjdF9pbmZvLT5NYW51ZmFjdHVyZURlc2NEYXRlWzJdKzE5MDApOwpAQCAtNDgwLDE0ICs0NjMsOCBAQAogCiAJLy8gY2hlY2sgaWYgdGhpcyBpcyAybmQgZ2VuZXJhdGlvbiBoYXJkd2FyZQogCWlmIChsZTE2X3RvX2NwdShlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRQcm9kdWN0KSAmIElPTl9ERVZJQ0VfSURfODAyNTFfTkVUQ0hJUCkgewotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlTWFqb3JWZXJzaW9uCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuTWFqb3JWZXJzaW9uOwotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlTWlub3JWZXJzaW9uCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuTWlub3JWZXJzaW9uOwotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlQnVpbGROdW1iZXIJPSBjcHVfdG9fbGUxNihPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5CdWlsZE51bWJlcik7CiAJCXByb2R1Y3RfaW5mby0+aURvd25sb2FkRmlsZQkJPSBFREdFX0RPV05MT0FEX0ZJTEVfODAyNTE7CiAJfSBlbHNlIHsKLQkJcHJvZHVjdF9pbmZvLT5GaXJtd2FyZU1ham9yVmVyc2lvbgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xLk1ham9yVmVyc2lvbjsKLQkJcHJvZHVjdF9pbmZvLT5GaXJtd2FyZU1pbm9yVmVyc2lvbgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xLk1pbm9yVmVyc2lvbjsKLQkJcHJvZHVjdF9pbmZvLT5GaXJtd2FyZUJ1aWxkTnVtYmVyCT0gY3B1X3RvX2xlMTYoT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuQnVpbGROdW1iZXIpOwogCQlwcm9kdWN0X2luZm8tPmlEb3dubG9hZEZpbGUJCT0gRURHRV9ET1dOTE9BRF9GSUxFX0k5MzA7CiAJfQogCkBAIC0yMTMwLDcgKzIxMDcsNyBAQAogICoJSWYgc3VjY2Vzc2Z1bCByZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgb3RoZXJ3aXNlIGl0IHJldHVybnMKICAqCWEgbmVnYXRpdmUgZXJyb3IgbnVtYmVyIG9mIHRoZSBwcm9ibGVtLgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgaW50IHNyYW1fd3JpdGUgKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgX191OCAqZGF0YSkKK3N0YXRpYyBpbnQgc3JhbV93cml0ZShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIGNvbnN0IF9fdTggKmRhdGEpCiB7CiAJaW50IHJlc3VsdDsKIAlfX3UxNiBjdXJyZW50X2xlbmd0aDsKQEAgLTIxNzUsNyArMjE1Miw3IEBACiAgKglJZiBzdWNjZXNzZnVsIHJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLCBvdGhlcndpc2UgaXQgcmV0dXJucwogICoJYSBuZWdhdGl2ZSBlcnJvciBudW1iZXIgb2YgdGhlIHByb2JsZW0uCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBpbnQgcm9tX3dyaXRlIChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIF9fdTggKmRhdGEpCitzdGF0aWMgaW50IHJvbV93cml0ZShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIGNvbnN0IF9fdTggKmRhdGEpCiB7CiAJaW50IHJlc3VsdDsKIAlfX3UxNiBjdXJyZW50X2xlbmd0aDsKQEAgLTI3NjEsMzIgKzI3MzgsMjMgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHZvaWQgbG9hZF9hcHBsaWNhdGlvbl9maXJtd2FyZSAoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwpCiB7Ci0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkICpyZWNvcmQ7Ci0JdW5zaWduZWQgY2hhciAqZmlybXdhcmU7Ci0JdW5zaWduZWQgY2hhciAqRmlybXdhcmVJbWFnZTsKLQlpbnQgSW1hZ2VTaXplOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgY2hhciAqZndfbmFtZTsKKwljb25zdCBjaGFyICpmd19pbmZvOwogCWludCByZXNwb25zZTsKLQorCV9fdTMyIE9wZXJhZGRyOworCV9fdTE2IGJ1aWxkOwogCiAJc3dpdGNoIChlZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLmlEb3dubG9hZEZpbGUpIHsKIAkJY2FzZSBFREdFX0RPV05MT0FEX0ZJTEVfSTkzMDoKLQkJCWRiZygiZG93bmxvYWRpbmcgZmlybXdhcmUgdmVyc2lvbiAoOTMwKSAlZC4lZC4lZCIsIAotCQkJICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xLk1ham9yVmVyc2lvbiwgCi0JCQkgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuTWlub3JWZXJzaW9uLCAKLQkJCSAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMS5CdWlsZE51bWJlcik7Ci0JCQlmaXJtd2FyZSA9ICZPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4xWzBdOwotCQkJRmlybXdhcmVJbWFnZSA9ICZPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4xWzBdOwotCQkJSW1hZ2VTaXplID0gc2l6ZW9mKE9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjEpOworCQkJZndfaW5mbyA9ICJkb3dubG9hZGluZyBmaXJtd2FyZSB2ZXJzaW9uICg5MzApIjsKKwkJCWZ3X25hbWUJPSAiZWRnZXBvcnQvZG93bi5mdyI7CiAJCQlicmVhazsKIAogCQljYXNlIEVER0VfRE9XTkxPQURfRklMRV84MDI1MToKLQkJCWRiZygiZG93bmxvYWRpbmcgZmlybXdhcmUgdmVyc2lvbiAoODAyNTEpICVkLiVkLiVkIiwgCi0JCQkgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuTWFqb3JWZXJzaW9uLCAKLQkJCSAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5NaW5vclZlcnNpb24sIAotCQkJICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yLkJ1aWxkTnVtYmVyKTsKLQkJCWZpcm13YXJlID0gJk9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjJbMF07Ci0JCQlGaXJtd2FyZUltYWdlID0gJk9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjJbMF07Ci0JCQlJbWFnZVNpemUgPSBzaXplb2YoT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMik7CisJCQlmd19pbmZvID0gImRvd25sb2FkaW5nIGZpcm13YXJlIHZlcnNpb24gKDgwMjUxKSI7CisJCQlmd19uYW1lCT0gImVkZ2Vwb3J0L2Rvd24yLmZ3IjsKIAkJCWJyZWFrOwogCiAJCWNhc2UgRURHRV9ET1dOTE9BRF9GSUxFX05PTkU6CkBAIC0yNzk3LDE2ICsyNzY1LDM2IEBACiAJCQlyZXR1cm47CiAJfQogCisJcmVzcG9uc2UgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCBmd19uYW1lLAorCQkJCSAgICAmZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXYpOworCWlmIChyZXNwb25zZSkgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIGltYWdlIFwiJXNcIiBlcnIgJWRcbiIsCisJCSAgICAgICBmd19uYW1lLCByZXNwb25zZSk7CisJCXJldHVybjsKKwl9CiAKLQlmb3IgKDs7KSB7Ci0JCXJlY29yZCA9IChzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgKilmaXJtd2FyZTsKLQkJcmVzcG9uc2UgPSBzcmFtX3dyaXRlIChlZGdlX3NlcmlhbC0+c2VyaWFsLCBsZTE2X3RvX2NwdShyZWNvcmQtPkV4dEFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkxlbiksICZyZWNvcmQtPkRhdGFbMF0pOworCXJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsKKwlidWlsZCA9IChyZWMtPmRhdGFbMl0gPDwgOCkgfCByZWMtPmRhdGFbM107CisKKwlkYmcoIiVzICVkLiVkLiVkIiwgZndfaW5mbywgcmVjLT5kYXRhWzBdLCByZWMtPmRhdGFbMV0sIGJ1aWxkKTsKKworCWVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVNYWpvclZlcnNpb24gPSBmdy0+ZGF0YVswXTsKKwllZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLkZpcm13YXJlTWlub3JWZXJzaW9uID0gZnctPmRhdGFbMV07CisJZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZUJ1aWxkTnVtYmVyID0gY3B1X3RvX2xlMTYoYnVpbGQpOworCisJZm9yIChyZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7IHJlYzsKKwkgICAgIHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQlPcGVyYWRkciA9IGJlMzJfdG9fY3B1KHJlYy0+YWRkcik7CisJCXJlc3BvbnNlID0gc3JhbV93cml0ZShlZGdlX3NlcmlhbC0+c2VyaWFsLAorCQkJCSAgICAgT3BlcmFkZHIgPj4gMTYsCisJCQkJICAgICBPcGVyYWRkciAmIDB4RkZGRiwKKwkJCQkgICAgIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkgICAgICZyZWMtPmRhdGFbMF0pOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7Ci0JCQlkZXZfZXJyKCZlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRldiwgInNyYW1fd3JpdGUgZmFpbGVkICgleCwgJXgsICVkKVxuIiwgbGUxNl90b19jcHUocmVjb3JkLT5FeHRBZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5BZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5MZW4pKTsKLQkJCWJyZWFrOwotCQl9Ci0JCWZpcm13YXJlICs9IHNpemVvZiAoc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkKSArIGxlMTZfdG9fY3B1KHJlY29yZC0+TGVuKTsKLQkJaWYgKGZpcm13YXJlID49ICZGaXJtd2FyZUltYWdlW0ltYWdlU2l6ZV0pIHsKKwkJCWRldl9lcnIoJmVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGV2LAorCQkJCSJzcmFtX3dyaXRlIGZhaWxlZCAoJXgsICV4LCAlZClcbiIsCisJCQkJT3BlcmFkZHIgPj4gMTYsIE9wZXJhZGRyICYgMHhGRkZGLAorCQkJCWJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQogCX0KQEAgLTI4MTcsNiArMjgwNSw3IEBACiAJCQkJICAgIFVTQl9SRVFVRVNUX0lPTl9FWEVDX0RMX0NPREUsIAogCQkJCSAgICAweDQwLCAweDQwMDAsIDB4MDAwMSwgTlVMTCwgMCwgMzAwMCk7CiAKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAlyZXR1cm47CiB9CiAKQEAgLTI5MDMsNiArMjg5MiwxMCBAQAogLy8JCWRiZygic2V0X2NvbmZpZ3VyYXRpb24gMSIpOwogLy8JCXVzYl9zZXRfY29uZmlndXJhdGlvbiAoZGV2LCAxKTsKIAl9CisJZGJnKCIgIEZpcm13YXJlTWFqb3JWZXJzaW9uICAlZC4lZC4lZCIsCisJICAgIGVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVNYWpvclZlcnNpb24sCisJICAgIGVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVNaW5vclZlcnNpb24sCisJICAgIGxlMTZfdG9fY3B1KGVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVCdWlsZE51bWJlcikpOwogCiAJLyogd2Ugc2V0IHVwIHRoZSBwb2ludGVycyB0byB0aGUgZW5kcG9pbnRzIGluIHRoZSBlZGdlX29wZW4gZnVuY3Rpb24sIAogCSAqIGFzIHRoZSBzdHJ1Y3R1cmVzIGFyZW4ndCBjcmVhdGVkIHlldC4gKi8KQEAgLTMxMTUsNiArMzEwOCwxMCBAQAogTU9EVUxFX0FVVEhPUiggRFJJVkVSX0FVVEhPUiApOwogTU9EVUxFX0RFU0NSSVBUSU9OKCBEUklWRVJfREVTQyApOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0ZJUk1XQVJFKCJlZGdlcG9ydC9ib290LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImVkZ2Vwb3J0L2Jvb3QyLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImVkZ2Vwb3J0L2Rvd24uZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZWRnZXBvcnQvZG93bjIuZnciKTsKIAogbW9kdWxlX3BhcmFtKGRlYnVnLCBib29sLCBTX0lSVUdPIHwgU19JV1VTUik7CiBNT0RVTEVfUEFSTV9ERVNDKGRlYnVnLCAiRGVidWcgZW5hYmxlZCBvciBub3QiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfYm9vdC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTlmYWZhLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NTYgKzAsMCBAQAotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCi0vLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2Ci0vLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLS8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0vLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQotCi0vL0ltYWdlIHN0cnVjdHVyZSBkZWZpbml0aW9uCi0jaWYgIWRlZmluZWQoREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRCkKLSNkZWZpbmUgREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRAotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCB7Ci0JCV9fbGUxNiBFeHRBZGRyOwotCQlfX2xlMTYgQWRkcjsKLQkJX19sZTE2IExlbjsKLQkJdW5zaWduZWQgY2hhciAgRGF0YVswXTsKLQl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyB7Ci0JCXVuc2lnbmVkIGNoYXIJIE1ham9yVmVyc2lvbjsKLQkJdW5zaWduZWQgY2hhciAgTWlub3JWZXJzaW9uOwotCQl1bnNpZ25lZCBzaG9ydCBCdWlsZE51bWJlcjsKLQl9OwotCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKElNQUdFX0FSUkFZX05BTUUpCi0jZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJCUZpcm13YXJlSW1hZ2UKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUZpcm13YXJlSW1hZ2VWZXJzaW9uCi0jZW5kaWYKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgSU1BR0VfQVJSQVlfTkFNRVtdID0gewotCi0vLyBTZWdtZW50ICMxLCBTdGFydCBBZGRyZXNzIDAwZmYwMDAwLCBMZW5ndGggNgotMHhmZiwweDAwLDB4MDAsMHgwMCwweDA2LDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg4MCwgMHgwMiwgMHgwMCwgMHgwMywgCi0KLS8vIFNlZ21lbnQgIzIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgwYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDBiLCAKLQotLy8gU2VnbWVudCAjMywgU3RhcnQgQWRkcmVzcyAwMGZmMDAxMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDEzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDEsIDB4YjgsIAotCi0vLyBTZWdtZW50ICM0LCBTdGFydCBBZGRyZXNzIDAwZmYwMDFiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MWIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgxYiwgCi0KLS8vIFNlZ21lbnQgIzUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMjMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDIzLCAKLQotLy8gU2VnbWVudCAjNiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDJiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MmIsIAotCi0vLyBTZWdtZW50ICM3LCBTdGFydCBBZGRyZXNzIDAwZmYwMDMzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MzMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzMywgCi0KLS8vIFNlZ21lbnQgIzgsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwM2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDNiLCAKLQotLy8gU2VnbWVudCAjOSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDQzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDEsIDB4YmQsIAotCi0vLyBTZWdtZW50ICMxMCwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDRiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDEsIDB4ZDAsIAotCi0vLyBTZWdtZW50ICMxMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA1MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDUzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDEsIDB4MjEsIAotCi0vLyBTZWdtZW50ICMxMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDA3YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDdiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4N2IsIAotCi0vLyBTZWdtZW50ICMxMywgU3RhcnQgQWRkcmVzcyAwMGZmMDA4MCwgTGVuZ3RoIDM1OAotMHhmZiwweDAwLDB4ODAsMHgwMCwweDY2LDB4MDEsCi0gICAgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg3ZSwgMHhmOCwgMHgwMCwgMHgyMywgMHg3ZSwgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxMCwgCi0gICAgMHgwMCwgMHgxMiwgMHgwNywgMHg1ZiwgMHg2OSwgMHgyMCwgMHgwMCwgMHgwYSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgwNSwgMHg3NSwgMHg5MCwgCi0gICAgMHgwZCwgMHg4MCwgMHgwMywgMHg3NSwgMHg5MCwgMHgxZCwgMHhkMiwgMHhiNSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHhhNSwgMHhkOCwgMHhmZCwgMHg3NSwgMHhhOCwgCi0gICAgMHgwMCwgMHg3NSwgMHhiMSwgMHgwMCwgMHhhOSwgMHhkNSwgMHg4NywgMHhjYSwgMHgyOSwgMHgxMiwgMHgwOSwgMHhjYywgMHgxMiwgMHgwOSwgMHhhMCwgMHhmNSwgCi0gICAgMHgwOSwgMHg3YSwgMHhhMSwgMHgyMCwgMHgxMiwgMHgwMSwgMHhlNiwgMHhkYSwgMHgyOSwgMHhhOSwgMHhkMCwgMHhjNywgMHg3ZSwgMHgwMCwgMHgwNSwgMHg3YSwgCi0gICAgMHgwMSwgMHhmMSwgMHg3NSwgMHhlMSwgMHgxMCwgMHhhOSwgMHhkNywgMHhmNCwgMHhhOSwgMHhkNywgMHhlNCwgMHhhNSwgMHhkOCwgMHhmMSwgMHg3NSwgMHhmMSwgCi0gICAgMHgwMCwgMHg3NSwgMHhlMSwgMHgzZiwgMHg3NSwgMHhhMiwgMHgwMywgMHg3NSwgMHhhMywgMHgwMCwgMHg3NSwgMHhjMCwgMHgwMCwgMHg3NSwgMHhjMSwgMHgwMCwgCi0gICAgMHhhOSwgMHhkMSwgMHhiMSwgMHhhOSwgMHhkMCwgMHhiMSwgMHhhOSwgMHhkNSwgMHhkMywgMHhkMiwgMHhhZiwgMHhlNCwgMHg3ZSwgMHgwNCwgMHgyOCwgMHgwMCwgCi0gICAgMHg4ZCwgMHhlZiwgMHgxYiwgMHgwNCwgMHg3OCwgMHhmYSwgMHgwNCwgMHhhOSwgMHgzNCwgMHhkMywgMHgwMywgMHgzMCwgMHhlMCwgMHhlZSwgMHhiZSwgMHgyNCwgCi0gICAgMHgwMCwgMHgwMCwgMHg3OCwgMHgwNSwgMHg2MywgMHg5MCwgMHgzMCwgMHg4MCwgMHhlMywgMHhiMiwgMHg5NSwgMHg4MCwgMHhkZiwgMHhiZSwgMHhiMCwgMHgwMiwgCi0gICAgMHgyMiwgMHhjMCwgMHhkMCwgMHhhOSwgMHgyMCwgMHhkZiwgMHgwZiwgMHhhOSwgMHgzMSwgMHhkZiwgMHgwMywgMHgwMiwgMHgwMSwgMHhiNSwgMHg3NSwgMHgwOCwgCi0gICAgMHgwMSwgMHgxMiwgMHgwOCwgMHgzMywgMHg4MCwgMHhmZSwgMHg3NSwgMHgwOCwgMHhmZSwgMHgxMiwgMHgwOCwgMHgzMywgMHg3NSwgMHhhOCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhiMywgMHgzZiwgMHhmMiwgMHgzMCwgMHhlMCwgMHg0YiwgMHgzMCwgMHgwMSwgMHg0NiwgMHhjMiwgMHg5MiwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgCi0gICAgMHgxMSwgMHgwOSwgMHg3NCwgMHgwOCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgxMCwgMHg3NCwgMHgwZSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwNCwgMHgyZSwgMHgyNCwgCi0gICAgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhlZCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHhlNCwgMHhkNSwgMHhlMCwgMHhmZCwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgwYSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg4MCwgCi0gICAgMHhlYiwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhlNCwgMHg0MywgMHg5MCwgMHgzMCwgMHhkMiwgMHhhYSwgMHg4MCwgMHgwNSwgMHhkMiwgCi0gICAgMHhhYSwgMHg0MywgMHg5MCwgMHgzNCwgMHhkMiwgMHhhZiwgMHhhOSwgMHhkMSwgMHg4NywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhhOSwgMHgxMSwgCi0gICAgMHhkZiwgMHgwMywgMHhhOSwgMHhkMiwgMHhkZiwgMHg3NSwgMHgwOCwgMHhmZiwgMHgxMiwgMHgwOCwgMHgzMywgMHhjMCwgMHhkMSwgMHhjYSwgMHgwMiwgMHhmZiwgCi0gICAgMHhjYSwgMHgwNiwgMHg4MywgMHgwMCwgMHgzMiwgMHhkMCwgMHhkMCwgMHgzMiwgMHhjMiwgMHg4YiwgMHhjMiwgMHhhYSwgMHgzMiwgMHg3NSwgMHgwOCwgMHgwOCwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHhhOSwgMHhjMCwgMHhiMSwgMHhhOSwgMHhjNSwgMHhkMywgMHhhOSwgMHhjNiwgMHhkMywgMHhhOSwgMHhkMiwgMHhiMSwgMHgzMiwgCi0gICAgMHhjYSwgMHhiOCwgMHg3NSwgMHgwOCwgMHgwMiwgMHgxMiwgMHgwOCwgMHgzMywgMHhlNSwgMHhjMCwgMHg1NCwgMHgwMywgMHg2OCwgMHgwNSwgMHgxMiwgMHgwMSwgCi0gICAgMHhlZSwgMHg4MCwgMHhmNSwgMHhkYSwgMHhiOCwgMHgzMiwgCi0KLS8vIFNlZ21lbnQgIzE0LCBTdGFydCBBZGRyZXNzIDAwZmYxYmNhLCBMZW5ndGggMQotMHhmZiwweDAwLDB4Y2EsMHgxYiwweDAxLDB4MDAsCi0gICAgMHgwMCwgCi0KLS8vIFNlZ21lbnQgIzE1LCBTdGFydCBBZGRyZXNzIDAwZmYwMWU2LCBMZW5ndGggMTYxMwotMHhmZiwweDAwLDB4ZTYsMHgwMSwweDRkLDB4MDYsCi0gICAgMHhlNCwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMSwgMHgwMiwgMHgwMiwgMHg2MywgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgMHhjYSwgMHgzYiwgCi0gICAgMHhjYSwgMHg0YiwgMHhjYSwgMHg1YiwgMHhjYSwgMHg2YiwgMHhjYSwgMHg3YiwgMHhjYSwgMHhlYiwgMHhjMCwgMHhmMSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyYiwgCi0gICAgMHhiNCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgxOSwgMHhiNCwgMHgwMSwgMHgxNiwgMHgzMCwgMHhjMCwgMHgwOCwgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHgwMiwgCi0gICAgMHg0ZCwgMHg4MCwgMHgxZiwgMHgzMCwgMHhjMSwgMHgxYywgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHgwMiwgMHhkZSwgMHg4MCwgMHgxNCwgMHgzMCwgMHhjMSwgCi0gICAgMHgwOCwgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHgwMiwgMHhkZSwgMHg4MCwgMHgwOSwgMHgzMCwgMHhjMCwgMHgwNiwgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgCi0gICAgMHgwMiwgMHg0ZCwgMHhkMCwgMHhmMSwgMHhkYSwgMHhlYiwgMHhkYSwgMHg3YiwgMHhkYSwgMHg2YiwgMHhkYSwgMHg1YiwgMHhkYSwgMHg0YiwgMHhkYSwgMHgzYiwgCi0gICAgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHhjMiwgMHhjMCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyYiwgMHhiNCwgMHgwMiwgMHgwNywgCi0gICAgMHgxMiwgMHgwMiwgMHg2ZiwgMHgwMiwgMHgwMiwgMHg2MywgMHgyMiwgMHhiNCwgMHgwMSwgMHhmYywgMHgwMiwgMHgwMiwgMHhhOSwgMHg3ZSwgMHgwMCwgMHgwMCwgCi0gICAgMHg3YSwgMHgwMywgMHgwMSwgMHgyYiwgMHg3YSwgMHgwMywgMHgwMSwgMHgyYywgMHgyMiwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyMywgMHg1NCwgMHg2MCwgMHg2MCwgCi0gICAgMHgwNSwgMHhiNCwgMHg0MCwgMHgxNSwgMHg4MCwgMHgxMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwNSwgMHgwYywgMHg3NSwgMHgwOCwgMHg3MSwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhmNSwgMHg4ZiwgMHgyMiwgMHg3NSwgMHhmNiwgMHgwMCwgMHgyMiwgMHhiZSwgMHg1NywgCi0gICAgMHgwMSwgMHgyOSwgMHgyOCwgMHgwNCwgMHg3ZSwgMHg1NywgMHgwMSwgMHgyOSwgMHg3YSwgMHgwZiwgMHgwMSwgMHgyZSwgMHg3YSwgMHg1NywgMHgwMSwgMHgzMiwgCi0gICAgMHgwMiwgMHgwMiwgMHhhOSwgMHg3ZSwgMHhlZiwgMHgwMSwgMHgyZSwgMHg3ZSwgMHhmNywgMHgwMSwgMHgzMiwgMHg3ZSwgMHgwNywgMHgwMSwgMHgzMiwgMHg0ZCwgCi0gICAgMHgwMCwgMHg2OCwgMHgyMSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3ZSwgMHhlYiwgMHhiMCwgMHhmNSwgMHhmMywgMHhhMywgMHhhNSwgMHgwOCwgMHgxYiwgMHhmNCwgCi0gICAgMHg2OCwgMHgwNCwgMHhhNSwgMHhiOCwgMHgwOCwgMHhmMCwgMHg3YSwgMHhlZiwgMHgwMSwgMHgyZSwgMHg3YSwgMHhmNywgMHgwMSwgMHgzMiwgMHg3NSwgMHgwOCwgCi0gICAgMHgwNiwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgwMSwgMHhmNiwgMHgyMiwgMHhjMiwgMHhjMSwgMHg3NSwgMHgwOCwgMHgwMywgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHhhOSwgMHgzNiwgMHhlMiwgMHgxNiwgMHhlNSwgMHhmNSwgMHg1NCwgMHhjMCwgMHg2OCwgMHgwNywgMHhhOSwgMHhkNywgMHhmNCwgMHhhOSwgMHgyNywgMHhmNCwgCi0gICAgMHhmYywgMHg1MywgMHhlMSwgMHgzZiwgMHg0MywgMHhmMiwgMHg4OCwgMHgwMiwgMHgwMywgMHg1NSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyYywgMHhiNCwgMHgwMiwgCi0gICAgMHgwZiwgMHhhOSwgMHhkNCwgMHhlNCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHgwMSwgMHgyYywgMHg3YSwgMHhiMywgMHgwMSwgMHgyYiwgMHgyMiwgCi0gICAgMHhiNCwgMHgwMSwgMHgzOSwgMHg3ZSwgMHgyMSwgMHhlNiwgMHg3YywgMHgzMiwgMHg3ZSwgMHgxMywgMHgwMSwgMHgyZCwgMHgyYywgMHgyMSwgMHg3YSwgMHgyMywgCi0gICAgMHgwMSwgMHgyZCwgMHg3ZSwgMHgwMCwgMHgwMCwgMHgyZSwgMHgwNCwgMHgwMSwgMHgzNCwgMHhlNSwgMHhlMywgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgCi0gICAgMHhhNSwgMHhkYiwgMHhmNiwgMHhhOSwgMHhkNCwgMHhlNCwgMHg3NSwgMHgwOCwgMHg3MCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyZCwgCi0gICAgMHg3ZSwgMHhhMywgMHgwMSwgMHgyYSwgMHhiYywgMHhhYiwgMHg3OCwgMHgwMywgMHgxMiwgMHgwMywgMHhlYywgMHgyMiwgMHgwMiwgMHgwNywgMHg1NSwgMHhlNSwgCi0gICAgMHhlNiwgMHhiNCwgMHgwOCwgMHg2NSwgMHhhOSwgMHhjNCwgMHhlMiwgMHg3ZSwgMHgwMSwgMHhlMywgMHg3ZSwgMHgxMSwgMHhlMywgMHg3ZSwgMHgzMSwgMHhlMywgCi0gICAgMHg3ZSwgMHgyMSwgMHhlMywgMHg3ZSwgMHg1MSwgMHhlMywgMHg3ZSwgMHg0MSwgMHhlMywgMHg3ZSwgMHg3MSwgMHhlMywgMHg3ZSwgMHg2MSwgMHhlMywgMHg3YSwgCi0gICAgMHgwZiwgMHgwMSwgMHgyMywgMHg3YSwgMHgxZiwgMHgwMSwgMHgyNywgMHg3NSwgMHgwOCwgMHgwNCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgwMSwgMHgwOCwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgxMSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgyMSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgCi0gICAgMHgzMSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHg0MSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHg1MSwgMHgwOCwgMHgxMiwgMHgwOCwgCi0gICAgMHgzMywgMHg3YSwgMHg2MSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHg3MSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHhhOSwgMHhkNCwgMHhlNCwgCi0gICAgMHhhOSwgMHhkNywgMHhmNCwgMHhhOSwgMHhjNiwgMHhlMiwgMHgxMiwgMHgwMywgMHhjMCwgMHgyMiwgMHg2ZCwgMHgwMCwgMHg3ZSwgMHgxNCwgMHgwMSwgMHgwMiwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHgzMiwgMHg3YSwgMHgwMywgMHgwMSwgMHgyZCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyMywgMHgyMCwgMHhlNywgMHgwZiwgMHg3YSwgCi0gICAgMHgyMywgMHgwMSwgMHgyYywgMHg3YSwgMHgzMywgMHgwMSwgMHgyYiwgMHhiZSwgMHgwNywgMHgwMSwgMHgyOSwgMHg2OCwgMHgwOSwgMHgyMiwgMHg3YSwgMHgzMywgCi0gICAgMHgwMSwgMHgyYywgMHg3YSwgMHgyMywgMHgwMSwgMHgyYiwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyMywgMHg1NCwgMHhlMywgMHgyMywgMHgyMywgMHgzMCwgMHhlMCwgCi0gICAgMHgwMiwgMHhkMiwgMHhlNSwgMHgzMCwgMHhlNywgMHgwMiwgMHhkMiwgMHhlNCwgMHgzMCwgMHhlNSwgMHgwNiwgMHgzMCwgMHhlNCwgMHgwMywgMHgwMiwgMHgwNywgCi0gICAgMHg1NSwgMHg1NCwgMHgzZSwgMHhmNSwgMHhmMCwgMHgwMywgMHg1NCwgMHgxZiwgMHhjMywgMHgyNSwgMHhmMCwgMHg5MCwgMHgwNCwgMHgxOCwgMHg3NSwgMHg4NCwgCi0gICAgMHhmZiwgMHg3MywgMHgwMiwgMHgwNSwgMHg2YywgMHgwMiwgMHgwNCwgMHg2MCwgMHgwMiwgMHgwNiwgMHgwOSwgMHgwMiwgMHgwNiwgMHgyNCwgMHgwMiwgMHgwNSwgCi0gICAgMHgwNSwgMHgwMiwgMHgwNCwgMHhjNiwgMHgwMiwgMHgwNiwgMHgzZCwgMHgwMiwgMHgwNiwgMHgzZCwgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0MCwgCi0gICAgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0MCwgMHgwMiwgCi0gICAgMHgwNiwgMHg0MCwgMHgwMiwgMHgwNiwgMHg0NiwgMHgwMiwgMHgwNiwgMHhmYSwgMHgwMiwgMHgwNiwgMHg0MywgMHgwMiwgMHgwNiwgMHg0MywgMHgwMiwgMHgwNiwgCi0gICAgMHg0MywgMHgwMiwgMHgwNiwgMHg0MywgMHgwMiwgMHgwNiwgMHg0MywgMHgwMiwgMHgwNiwgMHg0MywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwNiwgCi0gICAgMHgyYSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNSwgMHg2MCwgMHg1NiwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgMHgwMSwgMHgyNiwgMHg3ZSwgMHgxNywgMHgwMSwgCi0gICAgMHgyNywgMHg3NSwgMHgwOCwgMHg3MiwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgwMSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgxMSwgMHgwOCwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHgxMiwgMHgwNywgMHg1ZiwgMHg0MCwgMHgzNSwgMHgwMiwgMHgwMiwgMHg5NCwgMHhiNCwgMHgwOCwgMHgxMCwgMHg3NSwgMHgwOCwgCi0gICAgMHg3NCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMSwgMHhmNSwgMHhmMywgMHg3NSwgMHhmNiwgMHgwMSwgMHgyMiwgMHhiNCwgMHgwMCwgCi0gICAgMHgxYywgMHg3NSwgMHgwOCwgMHg3NSwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHgzMCwgMHhlMCwgMHgwNSwgMHg3NSwgMHhmMywgCi0gICAgMHgwMiwgMHg4MCwgMHgwMywgMHg3NSwgMHhmMywgMHgwMCwgMHg3NSwgMHhmMywgMHgwMCwgMHg3NSwgMHhmNiwgMHgwMiwgMHgyMiwgMHgwMiwgMHgwNywgMHg1NSwgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwMCwgMHgzNSwgMHg3NSwgMHgwOCwgMHg3NiwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgCi0gICAgMHgyOCwgMHg1NCwgMHgwZiwgMHhmNSwgMHhmMSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHgyMCwgMHhlNywgMHgwOSwgMHhlNSwgMHhlMSwgMHgzMCwgMHhlNywgCi0gICAgMHgwZCwgMHg3NCwgMHgwMSwgMHg4MCwgMHgwYiwgMHhlNSwgMHhlMSwgMHgzMCwgMHhlNiwgMHgwNCwgMHg3NCwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3NCwgMHgwMCwgCi0gICAgMHg1MywgMHhmMSwgMHg4MCwgMHhmNSwgMHhmMywgMHg3NSwgMHhmMywgMHgwMCwgMHg3NSwgMHhmNiwgMHgwMiwgMHgyMiwgMHgwMiwgMHgwNywgMHg1NSwgMHhjMCwgCi0gICAgMHhmMSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHg1NCwgMHgwZiwgMHg0MiwgMHhmMSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwMCwgMHg0NSwgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwMSwgMHgyNCwgMHg3NSwgMHgwOCwgMHg3NywgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgCi0gICAgMHgyOCwgMHg1NCwgMHgwZiwgMHg3OCwgMHgwNSwgMHg1MywgMHhlMSwgMHgzZiwgMHg4MCwgMHgzNywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHgyMCwgMHhlNywgCi0gICAgMHgwNSwgMHg1MywgMHhlMSwgMHg3ZiwgMHg4MCwgMHgyYiwgMHg1MywgMHhlMSwgMHhiZiwgMHg4MCwgMHgyNiwgMHhiNCwgMHgwMywgMHgxNywgMHg3NSwgMHgwOCwgCi0gICAgMHg3OCwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHgyMCwgMHhlNywgMHgwNSwgMHg0MywgMHhlMSwgMHg4MCwgMHg4MCwgMHgxMSwgCi0gICAgMHg0MywgMHhlMSwgMHg0MCwgMHg4MCwgMHgwYywgMHg0MywgMHhlMSwgMHhjMCwgMHhkMCwgMHhmMSwgMHg3NSwgMHgwOCwgMHgwNywgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHgyMiwgMHhkMCwgMHhmMSwgMHgwMiwgMHgwMiwgMHg5MCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwOSwgMHgyMywgMHg3NSwgMHgwOCwgMHg3OSwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg2OCwgMHgxMSwgMHhjYSwgMHhiOCwgMHhjMCwgCi0gICAgMHhmMSwgMHgxMiwgMHgwMSwgMHgxZCwgMHhkMCwgMHhmMSwgMHhkYSwgMHhiOCwgMHg1MCwgMHg3NiwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMSwgMHg4MCwgMHg2ZCwgCi0gICAgMHhiNCwgMHgwNSwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3YSwgMHgxMiwgMHgwOCwgMHgzMywgMHg4MCwgMHg2MiwgMHhiNCwgMHgwMywgMHgxOSwgMHg3NSwgMHgwOCwgCi0gICAgMHg3YiwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwMSwgMHg1NSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg0NCwgCi0gICAgMHgwMSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg4MCwgMHg0NiwgMHhiNCwgMHgwMSwgMHgxOSwgMHg3NSwgMHgwOCwgMHg3YywgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwMSwgMHgzOSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg1NCwgMHhmZSwgMHg3YSwgMHhiMywgMHgzZiwgCi0gICAgMHhmMiwgMHg4MCwgMHgyYSwgMHhiNCwgMHgwNywgMHgyYSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNSwgMHg2MCwgMHgyNCwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgCi0gICAgMHgwMSwgMHgyNiwgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNywgMHg3NSwgMHgwOCwgMHg3MywgMHgxMiwgMHgwOCwgMHgzMywgMHg3YSwgMHgwMSwgMHgwOCwgMHgxMiwgCi0gICAgMHgwOCwgMHgzMywgMHg3YSwgMHgxMSwgMHgwOCwgMHgxMiwgMHgwOCwgMHgzMywgMHgxMiwgMHgwNywgMHg4YiwgMHg0MCwgMHgwMywgMHgwMiwgMHgwMiwgMHg5MCwgCi0gICAgMHgwMiwgMHgwNywgMHg1NSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwYiwgMHhmNiwgMHg3NSwgMHgwOCwgMHg3ZCwgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHg3ZSwgMHhhMywgMHgwMSwgMHgyOCwgMHg0YywgMHhhYiwgMHg3OCwgMHhlNCwgMHg4MCwgMHhkZiwgMHg3ZSwgMHhiMywgCi0gICAgMHgwMSwgMHgyNCwgMHhiNCwgMHgwYSwgMHhkYiwgMHg3NSwgMHgwOCwgMHg3ZSwgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHg3MCwgCi0gICAgMHhjZiwgMHhmNSwgMHhmMywgMHg3NSwgMHhmNiwgMHgwMSwgMHgyMiwgMHgwMiwgMHgwNywgMHg1NSwgMHgwMiwgMHgwNywgMHg1NSwgMHgwMiwgMHgwNywgMHg1NSwgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwNCwgMHgyMCwgMHg3NSwgMHgwOCwgMHhjMywgMHgxMiwgMHgwOCwgMHgzMywgMHg3ZSwgMHgwNCwgMHgwMCwgCi0gICAgMHgwMSwgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNSwgMHg3ZSwgMHgxOCwgMHgwMSwgMHgzNCwgMHg3YSwgMHgxYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg0NywgMHgwMSwgCi0gICAgMHgyOSwgMHgxMiwgMHgwOCwgMHgzZiwgMHgwMiwgMHgwNiwgMHhmNCwgMHhiNCwgMHgwNiwgMHgzYSwgMHg3NSwgMHgwOCwgMHhjMSwgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZCwgMHhjYSwgMHg3ZSwgMHhkNywgMHgwMSwgMHgyNSwgMHg3ZSwgMHg3OCwgCi0gICAgMHgwMSwgMHgzNCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3NywgMHgwMSwgMHgyOSwgMHg3NSwgMHgwOCwgMHhjMSwgMHgxMiwgMHgwOCwgMHgzMywgCi0gICAgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHgwOCwgMHhkNiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgCi0gICAgMHg0MCwgMHg0ZiwgMHg4MCwgMHg0YSwgMHhiNCwgMHgwMCwgMHgxYywgMHhjMiwgMHhhZiwgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHgwMiwgMHg5MCwgMHhlNCwgCi0gICAgMHg4ZCwgMHhlZiwgMHg4ZCwgMHhlZiwgMHg4ZCwgMHhlZiwgMHhkNSwgMHhlMCwgMHhmNywgMHhjMCwgMHhkMSwgMHhjYSwgMHgwMiwgMHhmZiwgMHhjYSwgMHgwNiwgCi0gICAgMHgwMCwgMHgwMCwgMHgzMiwgMHhiNCwgMHgwOSwgMHgxMiwgMHg3ZSwgMHg1NywgMHgwMSwgMHgyNSwgMHg0ZCwgMHg1NSwgMHg2OCwgMHgwNSwgMHhhOSwgMHhkMiwgCi0gICAgMHhiMSwgMHg4MCwgMHgwMywgMHhhOSwgMHhjMiwgMHhiMSwgMHg4MCwgMHgxNiwgMHhiNCwgMHgwNywgMHgxNiwgMHhjMiwgMHhhZiwgMHg3ZSwgMHgwNywgMHgwMSwgCi0gICAgMHgyNywgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNSwgMHhjMCwgMHhkMSwgMHhjYSwgMHgxOCwgMHhjYSwgMHgzOCwgMHhjYSwgMHgyOCwgMHgzMiwgMHgwMiwgMHgwMiwgCi0gICAgMHg5MCwgMHgwMiwgMHgwNywgMHg1NSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNCwgMHhiNCwgMHgwMywgMHgxNSwgMHg3NSwgMHgwOCwgMHhjMiwgMHgxMiwgMHgwOCwgCi0gICAgMHgzMywgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNSwgMHg3ZSwgMHg1NywgMHgwMSwgMHgyOSwgMHgwMiwgMHgwMiwgMHg5NCwgCi0gICAgMHhiNCwgMHgwNSwgMHgzOSwgMHg3NSwgMHgwOCwgMHhjMCwgMHgxMiwgMHgwOCwgMHgzMywgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgCi0gICAgMHhkNSwgMHg4NywgMHg3ZSwgMHgwOCwgMHgwMSwgMHgzNCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHgyNSwgMHg3ZSwgMHg0NywgMHgwMSwgMHgyOSwgMHgxMiwgMHgwOCwgMHgzZiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHg3ZSwgMHgwOCwgMHgwMSwgCi0gICAgMHgzNCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg1NywgMHgwMSwgMHgyOSwgMHgwMiwgMHgwMiwgMHg5NCwgMHgwMiwgMHgwNywgMHg1NSwgMHg3NSwgCi0gICAgMHgwOCwgMHgwNywgMHgxMiwgMHgwOCwgMHgzMywgMHg0MywgMHhlMSwgMHhjMCwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgCi0gICAgMHhkNSwgMHg4NywgMHgxMiwgMHgwNywgMHhjYSwgMHg0MCwgMHgxOSwgMHg3ZSwgMHgwOCwgMHgwMSwgMHgzNCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgCi0gICAgMHgwYiwgMHhjYSwgMHg0OSwgMHgxMiwgMHgwOCwgMHgzZiwgMHhkYSwgMHg1OSwgMHhkYSwgMHgwYiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHhjMywgMHgyMiwgCi0gICAgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHgwNywgCi0gICAgMHhjYSwgMHg0MCwgMHgyYiwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZiwgMHg2MSwgMHg3ZSwgMHg3OCwgMHgwMSwgCi0gICAgMHgzNCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3NywgMHgwMSwgMHgyOSwgMHhiZCwgMHg3NCwgMHg3OCwgMHgxMSwgMHg3NSwgMHgwOCwgMHhjMSwgCi0gICAgMHgxMiwgMHgwOCwgMHgzMywgMHgxMiwgMHgwOCwgMHhkNiwgMHg0MCwgMHgwNiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHhjMywgMHgyMiwgMHhkMCwgMHg4NywgCi0gICAgMHhkMCwgMHhhOCwgMHhkMywgMHgyMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNCwgMHg3ZiwgMHhjYSwgMHgwYiwgMHgxYSwgMHg1MCwgMHhjNSwgCi0gICAgMHhmMCwgMHg3ZCwgMHg2MiwgMHg3ZCwgMHg3NSwgMHg3ZCwgMHg4NywgMHg3ZSwgMHgzNCwgMHg3ZiwgMHgwMywgMHg3ZSwgMHgxYiwgMHhiMCwgMHhiYywgMHgwYiwgCi0gICAgMHg1MCwgMHg0OSwgMHgzZSwgMHgwMCwgMHgzZSwgMHgwMCwgMHgwYSwgMHg1MCwgMHgyZCwgMHg3NSwgMHgwYiwgMHgzYSwgMHgzMCwgMHg2OSwgMHg1MywgMHgwMCwgCi0gICAgMHgwMiwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgMHhiYywgMHgxYiwgMHg1MCwgMHgzMCwgMHgzZSwgMHgxMCwgMHgzZSwgMHgxMCwgMHgwYSwgCi0gICAgMHg1MSwgMHgyZCwgMHgzNSwgMHg2OSwgMHg0MSwgMHgwMCwgMHgwMiwgMHgwYiwgMHgxYSwgMHgzMCwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgCi0gICAgMHhiZSwgMHg0NCwgMHhmZiwgMHhmZiwgMHg3OCwgMHgwNSwgMHg3ZSwgMHgxYiwgMHg5MCwgMHgwYSwgMHg0OSwgMHg0ZCwgMHg0NCwgMHg2OCwgMHgwYywgMHhiZSwgCi0gICAgMHg0NCwgMHgwMCwgMHhmZiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgCi0KLS8vIFNlZ21lbnQgIzE2LCBFWENMVURFRCBTdGFydCBBZGRyZXNzIDAwZmY3YzAwLCBMZW5ndGggMTk5Ci0KLQotLy8gU2VnbWVudCAjMTcsIEVYQ0xVREVEIFN0YXJ0IEFkZHJlc3MgMDBmZjdmMDAsIExlbmd0aCAxOTIKLQotCi0vLyBTZWdtZW50ICMxNywgU3RhcnQgQWRkcmVzcyAwMGZmN2ZjMCwgTGVuZ3RoIDY0Ci0weGZmLDB4MDAsMHhjMCwweDdmLDB4NDAsMHgwMCwKLSAgICAweDQwLCAweDAxLCAweDAyLCAweDAwLCAweGNhLCAweDFiLCAweDAxLCAweDBjLCAweDAyLCAweDAwLCAweDAwLCAweDdjLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGYxLCAweDdmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKLQotLy8gU2VnbWVudCAjMTgsIFN0YXJ0IEFkZHJlc3MgMDBmZjA4MzMsIExlbmd0aCA1MDE1Ci0weGZmLDB4MDAsMHgzMywweDA4LDB4OTcsMHgxMywKLSAgICAweGNhLCAweDA4LCAweDdlLCAweDAxLCAweDA4LCAweDdhLCAweDAzLCAweDNmLCAweGYwLCAweGRhLCAweDA4LCAweDIyLCAweDgwLCAweDUwLCAweDBiLCAweDFhLCAKLSAgICAweDYwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweDcwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweDgwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweDkwLCAKLSAgICAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweGEwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweGIwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweGMwLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDFhLCAweGQwLCAweDBiLCAweDM1LCAweDFiLCAweDBhLCAweDYwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweDcwLCAweDBiLCAweDE1LCAKLSAgICAweDFiLCAweDBhLCAweDgwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweDkwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweGEwLCAweDBiLCAweDE1LCAweDFiLCAKLSAgICAweDBhLCAweGIwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweGMwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweGQwLCAweDBiLCAweDE1LCAweDllLCAweDQ0LCAKLSAgICAweDAwLCAweDEwLCAweDUwLCAweGFhLCAweDJlLCAweDQ0LCAweDAwLCAweDEwLCAweDY4LCAweDBlLCAweDdlLCAweDFiLCAweGMwLCAweDdhLCAweDBiLCAweGMwLCAKLSAgICAweDBiLCAweDE0LCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDc4LCAweGYyLCAweDIyLCAweDdmLCAweDZmLCAweDdmLCAweGYwLCAweDFiLCAweGZjLCAweDdjLCAKLSAgICAweDU0LCAweDdkLCAweDMyLCAweDgwLCAweDA4LCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweDllLCAweDQ0LCAweDAwLCAKLSAgICAweDEwLCAweDUwLCAweGYyLCAweDJlLCAweDQ0LCAweDAwLCAweDEwLCAweDY4LCAweDA2LCAweGNhLCAweDQ4LCAweDFiLCAweDQ0LCAweDc4LCAweGZhLCAweDdmLCAKLSAgICAweGY2LCAweDg5LCAweGU0LCAweGNhLCAweDZiLCAweDVlLCAweGQ0LCAweDAwLCAweDNmLCAweDY4LCAweDIwLCAweDdlLCAweDg0LCAweDAwLCAweDQwLCAweDlkLCAKLSAgICAweDhkLCAweGRhLCAweDZiLCAweGJkLCAweDg3LCAweDM4LCAweDE2LCAweGNhLCAweDc5LCAweDdkLCAweDc4LCAweDEyLCAweDA5LCAweDAwLCAweGRhLCAweDc5LCAKLSAgICAweDQwLCAweDA4LCAweDlkLCAweDc4LCAweDY4LCAweDAyLCAweDgwLCAweDA1LCAweGMyLCAweGQ3LCAweDIyLCAweGRhLCAweDZiLCAweDQzLCAweDkwLCAweDMwLCAKLSAgICAweDc0LCAweGFhLCAweDM5LCAweGI1LCAweDU1LCAweDU1LCAweDc0LCAweDU1LCAweDM5LCAweGI1LCAweDJhLCAweGFhLCAweDc0LCAweGEwLCAweDM5LCAweGI1LCAKLSAgICAweDU1LCAweDU1LCAweDdlLCAweDA0LCAweDAwLCAweDQwLCAweDlkLCAweDcwLCAweDUwLCAweDA2LCAweDJkLCAweDcwLCAweDdkLCAweDA3LCAweDZkLCAweDc3LCAKLSAgICAweDdjLCAweDMxLCAweDdlLCAweDdiLCAweDAwLCAweDdhLCAweDZiLCAweDAwLCAweDBiLCAweDdjLCAweDBiLCAweDZjLCAweGE1LCAweGQ5LCAweGYzLCAweDdmLCAKLSAgICAweDE2LCAweDFiLCAweDFjLCAweDdlLCAweDU0LCAweDI3LCAweDEwLCAweDdlLCAweDFiLCAweDEwLCAweGJjLCAweDEwLCAweDY4LCAweDA2LCAweDFiLCAweDU0LCAKLSAgICAweDc4LCAweGY1LCAweDgwLCAweDJjLCAweDZkLCAweDAwLCAweDdjLCAweDIwLCAweDdmLCAweDE2LCAweDlmLCAweDEwLCAweDdmLCAweDI3LCAweDlmLCAweDIwLCAKLSAgICAweDdlLCAweDJiLCAweDAwLCAweDdlLCAweDFiLCAweDEwLCAweGJjLCAweDAxLCAweDc4LCAweDE2LCAweDBiLCAweDJjLCAweDBiLCAweDFjLCAweGE1LCAweGRiLCAKLSAgICAweGVmLCAweDdjLCAweGI2LCAweDIwLCAweGUwLCAweDAzLCAweDYzLCAweDkwLCAweDMwLCAweDRkLCAweDc3LCAweDc4LCAweDkzLCAweGMyLCAweGQ3LCAweDIyLCAKLSAgICAweGQyLCAweGQ3LCAweDIyLCAweDAwLCAweDA0LCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDA2LCAweDA0LCAweDAyLCAweDA0LCAweDAwLCAweDAyLCAweDAxLCAKLSAgICAweDA0LCAweDAxLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAyLCAweDAyLCAweDAyLCAweDAyLCAKLSAgICAweDA0LCAweDAwLCAweDA4LCAweDEwLCAweDAyLCAweDEwLCAweDA0LCAweDAyLCAweDA4LCAweDAwLCAweDAxLCAweDAxLCAweDA4LCAweDdlLCAweDE4LCAweDdmLCAKLSAgICAweGJkLCAweDdhLCAweDFjLCAweDAwLCAweGZmLCAweDBiLCAweDFhLCAweDAwLCAweGJlLCAweDEwLCAweDE0LCAweDM4LCAweDFhLCAweDBhLCAweDUxLCAweDIzLCAKLSAgICAweDdlLCAweDE4LCAweDA5LCAweDc2LCAweDdhLCAweDFjLCAweDAwLCAweGZmLCAweDJkLCAweDM1LCAweDBiLCAweDFhLCAweDUwLCAweDYwLCAweDA4LCAweGE1LCAKLSAgICAweGI4LCAweDAyLCAweDAzLCAweDRlLCAweGEwLCAweDA4LCAweDIyLCAweDgwLCAweGZlLCAweDdlLCAweGU4LCAweDdmLCAweGJmLCAweDdhLCAweGVjLCAweDAwLCAKLSAgICAweGZmLCAweGUwLCAweGY1LCAweDIyLCAweDU0LCAweGMwLCAweDY4LCAweDE2LCAweDdlLCAweGU4LCAweDdmLCAweGJlLCAweDdhLCAweGVjLCAweDAwLCAweGZmLCAKLSAgICAweGUwLCAweDYwLCAweDBjLCAweDEyLCAweDA5LCAweGEwLCAweGY1LCAweDA5LCAweDdhLCAweGExLCAweDIwLCAweDAyLCAweDBmLCAweDBhLCAweDIyLCAweGMyLCAKLSAgICAweDk1LCAweGQyLCAweDk0LCAweDEyLCAweDE5LCAweGZiLCAweDUzLCAweDkwLCAweGNmLCAweDEyLCAweDE5LCAweGZiLCAweDgwLCAweGYxLCAweDBkLCAweDBhLCAKLSAgICAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBkLCAKLSAgICAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAweDBhLCAKLSAgICAweDQ1LCAweDY0LCAweDY3LCAweDY1LCAweDcwLCAweDZmLCAweDcyLCAweDc0LCAweDJmLCAweDM0LCAweDIwLCAweDJkLCAweDIwLCAweDQ4LCAweDYxLCAweDcyLCAKLSAgICAweDY0LCAweDc3LCAweDYxLCAweDcyLCAweDY1LCAweDIwLCAweDQ0LCAweDY5LCAweDYxLCAweDY3LCAweDZlLCAweDZmLCAweDczLCAweDc0LCAweDY5LCAweDYzLCAKLSAgICAweDczLCAweDJjLCAweDIwLCAweDUyLCAweDY1LCAweDc2LCAweDIwLCAweDMxLCAweDJlLCAweDMwLCAweDMwLCAweDNiLCAweDIwLCAweDQzLCAweDZmLCAweDcwLCAKLSAgICAweDc5LCAweDcyLCAweDY5LCAweDY3LCAweDY4LCAweDc0LCAweDIwLCAweDMxLCAweDM5LCAweDM5LCAweDM4LCAweDIwLCAweDQ5LCAweDZlLCAweDczLCAweDY5LCAKLSAgICAweDY0LCAweDY1LCAweDIwLCAweDRmLCAweDc1LCAweDc0LCAweDIwLCAweDRlLCAweDY1LCAweDc0LCAweDc3LCAweDZmLCAweDcyLCAweDZiLCAweDczLCAweDBkLCAKLSAgICAweDBhLCAweDAwLCAweDUwLCAweDYxLCAweDczLCAweDczLCAweDAwLCAweDQ2LCAweDQxLCAweDQ5LCAweDRjLCAweDIwLCAweDIxLCAweDIxLCAweDAwLCAweDUwLCAKLSAgICAweDYxLCAweDczLCAweDczLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDQ2LCAweDQxLCAweDQ5LCAweDRjLCAweDIwLCAweDIxLCAweDIxLCAweDIwLCAKLSAgICAweDAwLCAweDBkLCAweDBhLCAweDQ0LCAweDY1LCAweDc0LCAweDY1LCAweDYzLCAweDc0LCAweDIwLCAweDUyLCAweDYxLCAweDZkLCAweDNhLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDYxLCAweDZkLCAweDIwLCAweDU0LCAweDY1LCAweDczLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDQxLCAweDY0LCAweDY0LCAweDcyLCAweDY1LCAweDczLCAweDczLCAweDIwLCAweDYyLCAKLSAgICAweDY5LCAweDc0LCAweDIwLCAweDMwLCAweDJkLCAweDMxLCAweDM0LCAweDIwLCAweDc0LCAweDY1LCAweDczLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDU3LCAweDcyLCAweDZmLCAweDc0LCAweDY1LCAweDIwLCAweDQxLCAKLSAgICAweDY0LCAweDY0LCAweDcyLCAweDY1LCAweDczLCAweDczLCAweDNhLCAweDIwLCAweDMwLCAweDMwLCAweDNhLCAweDAwLCAweDIwLCAweDIwLCAweDc3LCAweDY5LCAKLSAgICAweDc0LCAweDY4LCAweDIwLCAweDY0LCAweDYxLCAweDc0LCAweDYxLCAweDNhLCAweDIwLCAweDAwLCAweDJjLCAweDIwLCAweDYxLCAweDZlLCAweDY0LCAweDIwLCAKLSAgICAweDcyLCAweDY1LCAweDYxLCAweDY0LCAweDNhLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDRmLCAweDZlLCAweDY1LCAweDIwLCAweDZmLCAweDcyLCAweDIwLCAKLSAgICAweDYyLCAweDZmLCAweDc0LCAweDY4LCAweDIwLCAweDZmLCAweDY2LCAweDIwLCAweDc0LCAweDY4LCAweDY1LCAweDIwLCAweDY2LCAweDZmLCAweDZjLCAweDZjLCAKLSAgICAweDZmLCAweDc3LCAweDY5LCAweDZlLCAweDY3LCAweDIwLCAweDQxLCAweDY0LCAweDY0LCAweDcyLCAweDY1LCAweDczLCAweDczLCAweDIwLCAweDYyLCAweDY5LCAKLSAgICAweDc0LCAweDczLCAweDIwLCAweDZjLCAweDY5LCAweDczLCAweDc0LCAweDY1LCAweDY0LCAweDIwLCAweDYxLCAweDcyLCAweDY1LCAweDIwLCAweDczLCAweDY4LCAKLSAgICAweDZmLCAweDcyLCAweDc0LCAweDY1LCAweDY0LCAweDBkLCAweDBhLCAweDc0LCAweDZmLCAweDIwLCAweDczLCAweDZmLCAweDZkLCAweDY1LCAweDc0LCAweDY4LCAKLSAgICAweDY5LCAweDZlLCAweDY3LCAweDNhLCAweDIwLCAweDAwLCAweDIwLCAweDYxLCAweDZlLCAweDY0LCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDQ0LCAweDY1LCAKLSAgICAweDc0LCAweDY1LCAweDYzLCAweDc0LCAweDIwLCAweDU1LCAweDYxLCAweDcyLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAKLSAgICAweDUzLCAweDYzLCAweDcyLCAweDYxLCAweDc0LCAweDYzLCAweDY4LCAweDIwLCAweDUwLCAweDYxLCAweDY0LCAweDJjLCAweDQ2LCAweDY5LCAweDQ2LCAweDZmLCAKLSAgICAweDIwLCAweDQ1LCAweDZlLCAweDYxLCAweDYyLCAweDZjLCAweDY1LCAweDIwLCAweDI2LCAweDIwLCAweDUyLCAweDUzLCAweDU0LCAweDNhLCAweDIwLCAweDAwLCAKLSAgICAweDBkLCAweDBhLCAweDBhLCAweDIwLCAweDIwLCAweDIwLCAweDU1LCAweDYxLCAweDcyLCAweDc0LCAweDIwLCAweDU0LCAweDY1LCAweDczLCAweDc0LCAweDczLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDUwLCAweDZmLCAweDcyLCAweDc0LCAweDMxLCAweDIwLCAweDIwLCAweDIwLCAweDUwLCAweDZmLCAweDcyLCAweDc0LCAKLSAgICAweDMyLCAweDIwLCAweDIwLCAweDIwLCAweDUwLCAweDZmLCAweDcyLCAweDc0LCAweDMzLCAweDIwLCAweDIwLCAweDIwLCAweDUwLCAweDZmLCAweDcyLCAweDc0LCAKLSAgICAweDM0LCAweDBkLCAweDBhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAKLSAgICAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAweDJkLCAKLSAgICAweDJkLCAweDAwLCAweDBkLCAweDBhLCAweDUwLCAweDZmLCAweDcyLCAweDc0LCAweDIwLCAweDQ0LCAweDY1LCAweDYzLCAweDZmLCAweDY0LCAweDY1LCAweDcyLCAKLSAgICAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDQ0LCAweDY5LCAweDY3LCAweDY5LCAweDc0LCAweDYxLCAweDZjLCAweDIwLCAKLSAgICAweDRjLCAweDZmLCAweDZmLCAweDcwLCAweDYyLCAweDYxLCAweDYzLCAweDZiLCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDQxLCAweDZlLCAweDYxLCAweDZjLCAKLSAgICAweDZmLCAweDY3LCAweDIwLCAweDRjLCAweDZmLCAweDZmLCAweDcwLCAweDYyLCAweDYxLCAweDYzLCAweDZiLCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAKLSAgICAweDUyLCAweDU4LCAweDQ0LCAweDJjLCAweDU0LCAweDU4LCAweDQ0LCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDUyLCAweDU0LCAweDUzLCAweDJjLCAweDQzLCAKLSAgICAweDU0LCAweDUzLCAweDJjLCAweDUyLCAweDQ5LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDU4LCAweDQ0LCAweDJjLCAweDU0LCAweDU4LCAweDQ0LCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQ0LCAKLSAgICAweDU0LCAweDUyLCAweDJjLCAweDQ0LCAweDUzLCAweDUyLCAweDJjLCAweDQzLCAweDQ0LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDU0LCAweDUzLCAweDViLCAweDQzLCAweDU0LCAweDUzLCAweDJjLCAKLSAgICAweDUyLCAweDQ5LCAweDVkLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQ0LCAweDU0LCAweDUyLCAweDJjLCAweDQ0LCAweDUzLCAweDUyLCAweDJjLCAweDQzLCAKLSAgICAweDQ0LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDU0LCAweDUzLCAweDViLCAKLSAgICAweDQzLCAweDU0LCAweDUzLCAweDJjLCAweDQzLCAweDQ0LCAweDVkLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQ0LCAweDUzLCAweDUyLCAweDJjLCAweDUyLCAKLSAgICAweDQ5LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAKLSAgICAweDQ0LCAweDU0LCAweDUyLCAweDViLCAweDQ0LCAweDUzLCAweDUyLCAweDJjLCAweDQzLCAweDQ0LCAweDVkLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDUyLCAKLSAgICAweDU0LCAweDUzLCAweDJjLCAweDQzLCAweDU0LCAweDUzLCAweDJjLCAweDUyLCAweDQ5LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAKLSAgICAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDQ0LCAweDU0LCAweDUyLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQzLCAweDU0LCAweDUzLCAweDJjLCAweDQzLCAKLSAgICAweDQ0LCAweDIwLCAweDUzLCAweDY4LCAweDZmLCAweDcyLCAweDc0LCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDU0LCAweDUzLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQzLCAKLSAgICAweDU0LCAweDUzLCAweDJjLCAweDUyLCAweDQ5LCAweDIwLCAweDRjLCAweDZmLCAweDZmLCAweDcwLCAweDYyLCAweDYxLCAweDYzLCAweDZiLCAweDNhLCAweDIwLCAKLSAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDUyLCAweDU0LCAweDUzLCAweDIwLCAKLSAgICAweDc0LCAweDZmLCAweDIwLCAweDQzLCAweDU0LCAweDUzLCAweDJjLCAweDQzLCAweDQ0LCAweDIwLCAweDRjLCAweDZmLCAweDZmLCAweDcwLCAweDYyLCAweDYxLCAKLSAgICAweDYzLCAweDZiLCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLCAweDBkLCAweDBhLCAKLSAgICAweDQ0LCAweDU0LCAweDUyLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDQ0LCAweDUzLCAweDUyLCAweDJjLCAweDQzLCAweDQ0LCAweDIwLCAweDRjLCAweDZmLCAKLSAgICAweDZmLCAweDcwLCAweDYyLCAweDYxLCAweDYzLCAweDZiLCAweDNhLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAKLSAgICAweDIwLCAweDAwLCAweDBkLCAweDBhLCAweDBhLCAweDIwLCAweDIwLCAweDIwLCAweDQ1LCAweDIwLCAweDUyLCAweDIwLCAweDUyLCAweDIwLCAweDRmLCAweDIwLCAKLSAgICAweDUyLCAweDIwLCAweDIxLCAweDIxLCAweDIxLCAweDJjLCAweDIwLCAweDQ1LCAweDIwLCAweDUyLCAweDIwLCAweDUyLCAweDIwLCAweDRmLCAweDIwLCAweDUyLCAKLSAgICAweDIwLCAweDIxLCAweDIxLCAweDIxLCAweDIwLCAweDJjLCAweDIwLCAweDQ1LCAweDIwLCAweDUyLCAweDIwLCAweDUyLCAweDIwLCAweDRmLCAweDIwLCAweDUyLCAKLSAgICAweDIwLCAweDIxLCAweDIxLCAweDIxLCAweDBkLCAweDBhLCAweDBhLCAweDQ0LCAweDY5LCAweDYxLCAweDY3LCAweDZlLCAweDZmLCAweDczLCAweDc0LCAweDY5LCAKLSAgICAweDYzLCAweDczLCAweDIwLCAweDZlLCAweDZmLCAweDc3LCAweDIwLCAweDc3LCAweDY5LCAweDZjLCAweDZjLCAweDIwLCAweDY1LCAweDZlLCAweDc0LCAweDY1LCAKLSAgICAweDcyLCAweDIwLCAweDYxLCAweDIwLCAweDY0LCAweDY1LCAweDYyLCAweDc1LCAweDY3LCAweDIwLCAweDZjLCAweDZmLCAweDZmLCAweDcwLCAweDIwLCAweDZmLCAKLSAgICAweDY2LCAweDIwLCAweDc0LCAweDY4LCAweDY1LCAweDIwLCAweDY2LCAweDY5LCAweDcyLCAweDczLCAweDc0LCAweDIwLCAweDY0LCAweDY1LCAweDc0LCAweDY1LCAKLSAgICAweDYzLCAweDc0LCAweDY1LCAweDY0LCAweDIwLCAweDY1LCAweDcyLCAweDcyLCAweDZmLCAweDcyLCAweDJlLCAweDAwLCAweDBkLCAweDBhLCAweDBhLCAweDRlLCAKLSAgICAweDZmLCAweDIwLCAweDQ4LCAweDYxLCAweDcyLCAweDY0LCAweDc3LCAweDYxLCAweDcyLCAweDY1LCAweDIwLCAweDY1LCAweDcyLCAweDcyLCAweDZmLCAweDcyLCAKLSAgICAweDczLCAweDIwLCAweDY0LCAweDY1LCAweDc0LCAweDY1LCAweDYzLCAweDc0LCAweDY1LCAweDY0LCAweDJlLCAweDBkLCAweDBhLCAweDAwLCAweDQzLCAweDZmLCAKLSAgICAweDcwLCAweDc5LCAweDY5LCAweDZlLCAweDY3LCAweDIwLCAweDYzLCAweDZmLCAweDY0LCAweDY1LCAweDIwLCAweDY2LCAweDcyLCAweDZmLCAweDZkLCAweDIwLCAKLSAgICAweDRkLCAweDYxLCAweDczLCAweDc0LCAweDY1LCAweDcyLCAweDIwLCAweDc0LCAweDZmLCAweDIwLCAweDUzLCAweDZjLCAweDYxLCAweDc2LCAweDY1LCAweDI3LCAKLSAgICAweDczLCAweDIwLCAweDQ1LCAweDQ1LCAweDcwLCAweDcyLCAweDZmLCAweDZkLCAweDIwLCAweDJlLCAweDJlLCAweDJlLCAweDAwLCAweDQ0LCAweDZmLCAweDZlLCAKLSAgICAweDY1LCAweDBkLCAweDBhLCAweDBhLCAweDJkLCAweDNlLCAweDIwLCAweDU0LCAweDc1LCAweDcyLCAweDZlLCAweDIwLCAweDc1LCAweDZlLCAweDY5LCAweDc0LCAKLSAgICAweDIwLCAweDZmLCAweDY2LCAweDY2LCAweDJjLCAweDIwLCAweDY0LCAweDY5LCAweDczLCAweDYzLCAweDZmLCAweDZlLCAweDZlLCAweDY1LCAweDYzLCAweDc0LCAKLSAgICAweDIwLCAweDYzLCAweDYxLCAweDYyLCAweDZjLCAweDY1LCAweDIwLCAweDYxLCAweDZlLCAweDY0LCAweDIwLCAweDcyLCAweDc1LCAweDZlLCAweDIwLCAweDczLCAKLSAgICAweDc0LCAweDYxLCAweDZlLCAweDY0LCAweDYxLCAweDZjLCAweDZmLCAweDZlLCAweDY1LCAweDIwLCAweDY0LCAweDY5LCAweDYxLCAweDY3LCAweDZlLCAweDZmLCAKLSAgICAweDczLCAweDc0LCAweDY5LCAweDYzLCAweDczLCAweDJlLCAweDAwLCAweGMyLCAweGFmLCAweGMyLCAweDA5LCAweGMyLCAweDBhLCAweDc1LCAweDkwLCAweDBkLCAKLSAgICAweDIwLCAweDE3LCAweDAyLCAweGQyLCAweGI1LCAweDQzLCAweDkwLCAweDMwLCAweDZjLCAweDAwLCAweDdlLCAweDEwLCAweDAzLCAweDEyLCAweDBmLCAweDM4LCAKLSAgICAweDdlLCAweDY4LCAweDBhLCAweDAxLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDBiLCAweDAwLCAweDMwLCAweGI0LCAweDAyLCAKLSAgICAweDgwLCAweDI0LCAweDAyLCAweDFiLCAweDNjLCAweDIwLCAweDA5LCAweDFkLCAweGMyLCAweDk0LCAweGQyLCAweDk1LCAweDEyLCAweDE5LCAweGZiLCAweDUzLCAKLSAgICAweDkwLCAweGNmLCAweDEyLCAweDE5LCAweGZiLCAweGMyLCAweDk1LCAweGQyLCAweDk0LCAweDEyLCAweDE5LCAweGZiLCAweGE1LCAweGQ5LCAweGU2LCAweDQzLCAKLSAgICAweDkwLCAweDMwLCAweDEyLCAweDE5LCAweGZiLCAweDIyLCAweDdlLCAweDY4LCAweDBhLCAweDk0LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAKLSAgICAweDkzLCAweDdlLCAweGU0LCAweDEwLCAweDAwLCAweDdlLCAweDQwLCAweDU1LCAweDdhLCAweGU5LCAweDQwLCAweDBiLCAweGU0LCAweDdlLCAweDUwLCAweGFhLCAKLSAgICAweDdhLCAweGU5LCAweDUwLCAweDFiLCAweGU0LCAweGJlLCAweGU5LCAweDQwLCAweDY4LCAweDE5LCAweDdlLCAweDY4LCAweDBhLCAweDdhLCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDEzLCAweDdhLCAweGU5LCAweDQwLCAweDdlLCAweGU5LCAKLSAgICAweDEwLCAweDgwLCAweGY4LCAweDdlLCAweDY4LCAweDBhLCAweDc1LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDBiLCAweDAwLCAKLSAgICAweDdlLCAweDY4LCAweDBhLCAweGQ4LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDc4LCAweDAwLCAweDAwLCAweDdlLCAKLSAgICAweDcwLCAweDBlLCAweDdlLCAweGE0LCAweGZmLCAweGZmLCAweDdlLCAweGI0LCAweGJmLCAweGZmLCAweDdkLCAweGNiLCAweDBlLCAweGM0LCAweDdkLCAweGRjLCAKLSAgICAweDVkLCAweGRiLCAweDZjLCAweGJiLCAweDdkLCAweGZhLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDBiLCAweGIwLCAweDdkLCAKLSAgICAweGZiLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDBiLCAweGIwLCAweDdkLCAweGZjLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAKLSAgICAweDdhLCAweDdiLCAweGIwLCAweDBiLCAweGIwLCAweDdkLCAweGZkLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDZjLCAweGJiLCAKLSAgICAweDdkLCAweGZhLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweGJlLCAweDdiLCAweGIwLCAweDc4LCAweDQxLCAweDBiLCAweGIwLCAweDdkLCAweGZiLCAweDVlLCAKLSAgICAweGY0LCAweDdmLCAweGZmLCAweGJlLCAweDdiLCAweGIwLCAweDc4LCAweDM0LCAweDBiLCAweGIwLCAweDdkLCAweGZjLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAKLSAgICAweGJlLCAweDdiLCAweGIwLCAweDc4LCAweDI3LCAweDBiLCAweGIwLCAweDdkLCAweGZkLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweGJlLCAweDdiLCAweGIwLCAKLSAgICAweDc4LCAweDFhLCAweDBiLCAweGIwLCAweGJlLCAweGM0LCAweGZmLCAweGZlLCAweDc4LCAweDkyLCAweDBlLCAweGI0LCAweGE1LCAweGRmLCAweDhiLCAweDdlLCAKLSAgICAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDc3LCAweGNhLCAweDViLCAweGNhLCAweDZiLCAKLSAgICAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDY4LCAweDBiLCAweDJhLCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDBhLCAweDQ3LCAweDEyLCAweDFhLCAweGM5LCAweDdlLCAweDY4LCAweDBiLCAweDc5LCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDZjLCAweDc3LCAweGRhLCAweDZiLCAweGNhLCAweDZiLCAweDBiLCAweDcwLCAweDBlLCAweGM0LCAKLSAgICAweGJlLCAweGM0LCAweGZmLCAweGZmLCAweDc4LCAweGY2LCAweDFiLCAweDcwLCAweDBhLCAweDQ3LCAweDEyLCAweDFhLCAweGM5LCAweDEyLCAweDFhLCAweDA4LCAKLSAgICAweDMwLCAweDA5LCAweDMwLCAweGRhLCAweDZiLCAweGRhLCAweDViLCAweDZjLCAweGJiLCAweDdlLCAweDc4LCAweDAwLCAweDAwLCAweDdkLCAweGZhLCAweDVlLCAKLSAgICAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDdkLCAweGZiLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDdkLCAKLSAgICAweGZjLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDdkLCAweGZkLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAKLSAgICAweGIwLCAweDgwLCAweGQ0LCAweDdlLCAweDY4LCAweDBhLCAweGI2LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDMwLCAweDE3LCAKLSAgICAweDBlLCAweDdlLCAweDc4LCAweDA0LCAweDIwLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDQ0LCAweDdiLCAweGUwLCAweDgwLCAweDBjLCAweDdlLCAKLSAgICAweDc4LCAweDAwLCAweDAwLCAweDdhLCAweDdjLCAweDAwLCAweDAxLCAweDdlLCAweDQ0LCAweDgwLCAweDAwLCAweDBiLCAweDAwLCAweDdlLCAweDQwLCAweDNhLCAKLSAgICAweDdjLCAweDU0LCAweDdmLCAweDU3LCAweDdkLCAweDg0LCAweDZjLCAweDY2LCAweDdhLCAweDViLCAweDUwLCAweDBiLCAweDVjLCAweDBiLCAweDUwLCAweGE1LCAKLSAgICAweGRlLCAweDAyLCAweDBiLCAweDUwLCAweDFiLCAweDg0LCAweDc4LCAweGYwLCAweDdjLCAweDU0LCAweDdmLCAweDU3LCAweDdkLCAweDg0LCAweDZjLCAweDY2LCAKLSAgICAweGJlLCAweDViLCAweDUwLCAweDc4LCAweDFhLCAweDBiLCAweDVjLCAweDBiLCAweDUwLCAweGE1LCAweGRlLCAweDAyLCAweDBiLCAweDUwLCAweDFiLCAweDg0LCAKLSAgICAweDc4LCAweGVlLCAweDdlLCAweDY4LCAweDBhLCAweDc1LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDRiLCAweDdmLCAKLSAgICAweDQ1LCAweDdlLCAweDY4LCAweDBhLCAweDdhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDY4LCAweDBhLCAweGZhLCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdkLCAweDRiLCAweDEyLCAweDFhLCAweGM5LCAweDdlLCAweDY4LCAweDBiLCAweDBmLCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDZjLCAweDg4LCAweDdjLCAweDk1LCAweDEyLCAweDFhLCAweGM5LCAweDdlLCAweDY4LCAKLSAgICAweDBiLCAweDFkLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDRiLCAweDkwLCAweDEyLCAweDFhLCAweGM5LCAweDEyLCAKLSAgICAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDA1LCAweDdlLCAweDRiLCAweDkwLCAweDgwLCAweGZiLCAweDdlLCAweDY4LCAweDBiLCAweDdmLCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDBiLCAweDAwLCAweGQyLCAweDkyLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDA4LCAweGJlLCAweGIwLCAweDAxLCAweDc4LCAweDBiLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGJlLCAweGIwLCAweDYwLCAweDc4LCAweDAyLCAweDgwLCAKLSAgICAweDE3LCAweDdlLCAweDY4LCAweDBhLCAweDdhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAKLSAgICAweDA5LCAweDExLCAweDA5LCAweGIyLCAweDAwLCAweDA4LCAweDgwLCAweGZhLCAweDdlLCAweDY4LCAweDBhLCAweDc1LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDY4LCAweDBiLCAweGExLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDBiLCAweDAwLCAKLSAgICAweGMyLCAweDkyLCAweDEyLCAweDE5LCAweGVlLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweGEwLCAweDU1LCAweDE5LCAweGEyLCAweDAwLCAweDFjLCAKLSAgICAweDdlLCAweGIwLCAweDAxLCAweDE5LCAweGIyLCAweDAwLCAweDA4LCAweDA5LCAweGIyLCAweDAwLCAweDFjLCAweGJjLCAweGFiLCAweDc4LCAweDM3LCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDA4LCAweDVlLCAweGIwLCAweGMwLCAweGJlLCAweGIwLCAweGMwLCAweDc4LCAweDJiLCAweDdlLCAweGEwLCAweGFhLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDFjLCAweDZjLCAweGJiLCAweDE5LCAweGIyLCAweDAwLCAweDA4LCAweDA5LCAweGIyLCAweDAwLCAweDFjLCAweGJjLCAweGFiLCAweDc4LCAweDE2LCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDA4LCAweDVlLCAweGIwLCAweGMwLCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDBhLCAweDc1LCAweDdhLCAweDZjLCAweDAwLCAKLSAgICAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDFiLCAweDdlLCAweDY4LCAweDBhLCAweDdhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAKLSAgICAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDBhLCAweDE5LCAweGEyLCAweDAwLCAweDFjLCAweDA5LCAweGIyLCAweDAwLCAweDFjLCAweDgwLCAKLSAgICAweGY2LCAweDdlLCAweDY4LCAweDBiLCAweGMzLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDY4LCAweDBjLCAweDQ1LCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDdlLCAweGIwLCAKLSAgICAweDAxLCAweDE5LCAweGIyLCAweDAwLCAweDFjLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweDBiLCAweGIwLCAweGE1LCAweGQ5LCAweGYzLCAweDdlLCAweDI0LCAKLSAgICAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDdlLCAweGIwLCAweDAxLCAweDBiLCAweDAwLCAweDA5LCAweGEyLCAweDAwLCAweDFjLCAweGJjLCAweGFiLCAKLSAgICAweDc4LCAweDE2LCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDJlLCAweDI0LCAweDAxLCAKLSAgICAweDAwLCAweDBiLCAweGIwLCAweGE1LCAweGQ5LCAweGUyLCAweDgwLCAweDI1LCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweGU0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAKLSAgICAweDA5LCAweGEyLCAweDAwLCAweDFjLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGY1LCAweDgwLCAweGVjLCAweDdlLCAweDY4LCAweDBjLCAKLSAgICAweDY5LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDEzLCAweDhhLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAKLSAgICAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDc0LCAweDEwLCAweDE5LCAweGIyLCAweDAwLCAweDEwLCAweDEyLCAweDEzLCAweDAzLCAweDJlLCAweDI0LCAweDAxLCAKLSAgICAweDAwLCAweGE1LCAweGQ5LCAweGVlLCAweDdlLCAweDY4LCAweDBjLCAweDhkLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAKLSAgICAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweGU0LCAweDE5LCAweGIyLCAweDAwLCAweDEwLCAweDEyLCAweDEzLCAweDAzLCAKLSAgICAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGVmLCAweDMwLCAweDAwLCAweDAzLCAweDAyLCAweDE4LCAweGI3LCAweDAyLCAweDEzLCAweGJiLCAKLSAgICAweDc0LCAweDA3LCAweDE5LCAweGIyLCAweDAwLCAweDA4LCAweDEyLCAweDE5LCAweGZiLCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE0LCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE0LCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGMyLCAweDBiLCAweDdlLCAweGIwLCAweDU1LCAweDEyLCAweDEzLCAKLSAgICAweDY0LCAweDdlLCAweGIwLCAweGFhLCAweDEyLCAweDEzLCAweDY0LCAweDdlLCAweGIwLCAweDAwLCAweDEyLCAweDEzLCAweDY0LCAweDdlLCAweGIwLCAweGZmLCAKLSAgICAweDEyLCAweDEzLCAweDY0LCAweDMwLCAweDBiLCAweDBmLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAKLSAgICAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDIyLCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAKLSAgICAweDIyLCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGEyLCAweDAwLCAweDAwLCAweGJjLCAweGFiLCAweDc4LCAweDAxLCAKLSAgICAweDIyLCAweDIwLCAweDA5LCAweDAzLCAweGQyLCAweDBiLCAweDIyLCAweDEyLCAweDFhLCAweDA4LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAKLSAgICAweGVlLCAweDA5LCAweGEyLCAweDAwLCAweDAwLCAweDgwLCAweGYzLCAweGQyLCAweDkyLCAweDEyLCAweDE5LCAweGVlLCAweGMyLCAweDkyLCAweDEyLCAweDE5LCAKLSAgICAweGVlLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDc0LCAweDgwLCAweDE5LCAweGIyLCAweDAwLCAweDBjLCAweDdlLCAweDU0LCAKLSAgICAweDAwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDc0LCAweDAzLCAweDE5LCAweGIyLCAweDAwLCAweDBjLCAKLSAgICAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGUxLCAweDIyLCAweDdlLCAweDY4LCAweDBjLCAweGIxLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDU1LCAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE4LCAweDVlLCAweGIwLCAweDA1LCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAKLSAgICAweDkzLCAweDgwLCAweDFhLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAKLSAgICAweDA4LCAweDMwLCAweDA5LCAweDA5LCAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDgwLCAweGY3LCAweDJlLCAweDI0LCAweDAxLCAKLSAgICAweDAwLCAweGE1LCAweGQ5LCAweGI2LCAweDdlLCAweDY4LCAweDBjLCAweGQ1LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAKLSAgICAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAKLSAgICAweGEwLCAweDU1LCAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDBhLCAKLSAgICAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDFhLCAweDdlLCAKLSAgICAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDA5LCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDgwLCAweGY3LCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGI2LCAKLSAgICAweDMwLCAweDA0LCAweDAzLCAweDAyLCAweDE2LCAweDhjLCAweDdlLCAweDY4LCAweDBjLCAweGY5LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAKLSAgICAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDBhLCAweDc4LCAweDNjLCAKLSAgICAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAKLSAgICAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDBhLCAweDc4LCAweDE0LCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDFhLCAweDkzLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweGU2LCAweDdlLCAweGEwLCAweDAyLCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDdlLCAweDY4LCAweDBkLCAweDQxLCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAKLSAgICAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAxLCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE4LCAweDVlLCAweGIwLCAweDA1LCAweDc4LCAweDNjLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA1LCAweDc4LCAweDE0LCAweDdlLCAweDY4LCAKLSAgICAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAKLSAgICAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAKLSAgICAweDMwLCAweDA5LCAweGU2LCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDgwLCAweGYxLCAweDdlLCAweDY4LCAweDBkLCAweDg5LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAKLSAgICAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDUwLCAweGJlLCAweGIwLCAweDUwLCAweDc4LCAweDFmLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDUwLCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAKLSAgICAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDBmLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAKLSAgICAweGQ5LCAweGEyLCAweDdlLCAweDY4LCAweDBkLCAweGQxLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAKLSAgICAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAKLSAgICAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweGEwLCAweGJlLCAweGIwLCAweGEwLCAweDc4LCAweDFmLCAKLSAgICAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweGEwLCAKLSAgICAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDIwLCAweDdlLCAKLSAgICAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDBmLCAKLSAgICAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDJlLCAKLSAgICAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAweDAyLCAweDE4LCAweDJiLCAweDdlLCAweDY4LCAweDBkLCAweDFkLCAweDdhLCAweDZjLCAweDAwLCAKLSAgICAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDZjLCAweGFhLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAKLSAgICAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAKLSAgICAweDA2LCAweDc4LCAweDNjLCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE4LCAweDdlLCAweGEwLCAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAKLSAgICAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA2LCAweDc4LCAweDE0LCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAweDgwLCAweDIwLCAweDdlLCAKLSAgICAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweGU2LCAKLSAgICAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDdlLCAKLSAgICAweDY4LCAweDBkLCAweDY1LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAKLSAgICAweDA5LCAweDBiLCAweDAwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAKLSAgICAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA5LCAweDc4LCAweDNjLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAKLSAgICAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA5LCAweDc4LCAKLSAgICAweDE0LCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAKLSAgICAweGE1LCAweGQ5LCAweDllLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAKLSAgICAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweGU2LCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDdlLCAweDY4LCAweDBkLCAweGFkLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAKLSAgICAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDkwLCAweGJlLCAweGIwLCAweDkwLCAweDc4LCAweDFmLCAweDZjLCAKLSAgICAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDkwLCAweDc4LCAKLSAgICAweDBkLCAweDdlLCAweDY4LCAweDBhLCAweDgyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAKLSAgICAweDBhLCAweDhiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDBmLCAweDdlLCAKLSAgICAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDJlLCAweDI0LCAKLSAgICAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGEyLCAweDAyLCAweDE4LCAweGI3LCAweDMwLCAweDE3LCAweDAzLCAweDAyLCAweDE5LCAweDNiLCAweGMyLCAweDhhLCAKLSAgICAweDEyLCAweDE5LCAweDIyLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDBiLCAweDAwLCAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDIwLCAKLSAgICAweDhiLCAweDNlLCAweDIwLCAweDg5LCAweDNiLCAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDA5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDRlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDMwLCAweDhiLCAweDIzLCAweDMwLCAweDg5LCAweDIwLCAKLSAgICAweDA5LCAweGEyLCAweDAwLCAweDEwLCAweDVlLCAweGEwLCAweGZkLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAweDdlLCAweGEwLCAKLSAgICAweDAwLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDEyLCAweDE5LCAweGVlLCAweDIwLCAweDhiLCAweDA1LCAweDIwLCAweDg5LCAweDAyLCAweDgwLCAweDFhLCAKLSAgICAweDEyLCAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDE0LCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDAwLCAweDAwLCAweDVlLCAKLSAgICAweGEwLCAweGZkLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDAwLCAweDAwLCAweDgwLCAweGVjLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAKLSAgICAweDg5LCAweDAyLCAweDE5LCAweDNiLCAweDIwLCAweDE3LCAweGZhLCAweDEyLCAweDEzLCAweDhhLCAweDEyLCAweDE5LCAweDIyLCAweDdlLCAweDI0LCAweDgwLCAKLSAgICAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDBiLCAweDAwLCAweDIwLCAweDg5LCAweDI2LCAweDdlLCAweGEwLCAweGZmLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDdlLCAweGIwLCAweDU1LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDMwLCAweDg5LCAweDBmLCAKLSAgICAweDdlLCAweGEwLCAweDAwLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDEyLCAweDE5LCAweGVlLCAweDIwLCAweDg5LCAweDAyLCAweDgwLCAweDI2LCAweDEyLCAKLSAgICAweDFhLCAweDA4LCAweDMwLCAweDA5LCAweDIwLCAweDdlLCAweGEwLCAweGZmLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDEyLCAweDE5LCAweGVlLCAweDdlLCAKLSAgICAweGIwLCAweDU1LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAweDE5LCAweGVlLCAweDdlLCAweGEwLCAweDAwLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAKLSAgICAweDEyLCAweDE5LCAweGVlLCAweDgwLCAweGUwLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGE4LCAweDAyLCAweDE5LCAweDNiLCAweDdlLCAKLSAgICAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE5LCAweGVlLCAKLSAgICAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGVmLCAweDIyLCAweDMwLCAweDBhLCAweDE5LCAweDdlLCAweDY4LCAweDBkLCAweGY1LCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweGQyLCAweDA5LCAweDEyLCAweDE5LCAweGVlLCAweDEyLCAweDE5LCAweGVlLCAweDEyLCAweDE5LCAKLSAgICAweGVlLCAweDAyLCAweDBmLCAweDEwLCAweDMwLCAweDE3LCAweDFjLCAweDdlLCAweDY4LCAweDBlLCAweDZmLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAKLSAgICAweDFhLCAweDkzLCAweDdlLCAweDY4LCAweDBlLCAweDkxLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDEyLCAweDFiLCAweDNjLCAKLSAgICAweDAyLCAweDE5LCAweGU2LCAweDBiLCAweDAwLCAweDdlLCAweDc4LCAweDE5LCAweGEwLCAweDdhLCAweDdjLCAweDAwLCAweGZmLCAweDdmLCAweDY3LCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweDAwLCAweDdlLCAweDcwLCAweDNlLCAweDdlLCAweDdiLCAweGIwLCAweDdhLCAweDZiLCAweGIwLCAweDBiLCAweDdjLCAweDBiLCAweDZjLCAKLSAgICAweGE1LCAweGRmLCAweGYzLCAweDdlLCAweDc4LCAweDE5LCAweGEwLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDg5LCAweDc4LCAweDdlLCAweDc4LCAweDAwLCAKLSAgICAweDAwLCAweDdhLCAweDdjLCAweDAwLCAweGZlLCAweDdlLCAweDY4LCAweDdmLCAweGJmLCAweDdhLCAweDZjLCAweDAwLCAweGZlLCAweDc0LCAweGFhLCAweDM5LCAKLSAgICAweGI3LCAweDU1LCAweDU1LCAweDc0LCAweDU1LCAweDM5LCAweGI3LCAweDJhLCAweGFhLCAweDc0LCAweGEwLCAweDM5LCAweGI3LCAweDU1LCAweDU1LCAweDZjLCAKLSAgICAweDk5LCAweDdhLCAweDZiLCAweDkwLCAweDdlLCAweDU0LCAweDI3LCAweDEwLCAweDdlLCAweDZiLCAweDgwLCAweGJjLCAweDg5LCAweDY4LCAweDA4LCAweDFiLCAKLSAgICAweDU0LCAweDc4LCAweGY1LCAweDhhLCAweGZmLCAweDE5LCAweGRlLCAweDhhLCAweGZmLCAweDE5LCAweGU2LCAweDEyLCAweDFhLCAweDA4LCAweDdlLCAweDZiLCAKLSAgICAweDgwLCAweDgwLCAweGZiLCAweDdlLCAweDEwLCAweGZmLCAweDEyLCAweDFhLCAweDg1LCAweDgwLCAweGY4LCAweGNhLCAweGY5LCAweDdlLCAweGY0LCAweDAwLCAKLSAgICAweGZmLCAweDFiLCAweGY0LCAweDc4LCAweGZjLCAweGRhLCAweGY5LCAweDIyLCAweGNhLCAweGY5LCAweDdlLCAweGY0LCAweDAwLCAweDAwLCAweDFiLCAweGY0LCAKLSAgICAweDc4LCAweGZjLCAweGRhLCAweGY5LCAweDIyLCAweDIwLCAweDA5LCAweDE5LCAweGQyLCAweDBhLCAweDEyLCAweDE5LCAweGZiLCAweGMyLCAweDk1LCAweGQyLCAKLSAgICAweDk0LCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDQzLCAweDkwLCAweDMwLCAKLSAgICAweDIyLCAweGNhLCAweDBiLCAweDdlLCAweDEwLCAweDAzLCAweDdjLCAweDMwLCAweDZjLCAweDIyLCAweDBiLCAweDIwLCAweDllLCAweDMwLCAweDBhLCAweDUwLCAKLSAgICAweGY5LCAweDJlLCAweDMwLCAweDBiLCAweDFiLCAweDIwLCAweDY4LCAweDE4LCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDUzLCAweDkwLCAKLSAgICAweGNmLCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDQzLCAweDkwLCAweDMwLCAweGE1LCAweGRhLCAweGU4LCAKLSAgICAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDFiLCAweDMwLCAweDY4LCAweDE5LCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAKLSAgICAweGMyLCAweDk1LCAweGQyLCAweDk0LCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDEyLCAweDE5LCAweGZiLCAweDQzLCAweDkwLCAweDMwLCAKLSAgICAweGE1LCAweGRiLCAweGU3LCAweDdlLCAweDIwLCAweDBhLCAweDEyLCAweDE5LCAweGZiLCAweGE1LCAweGRhLCAweGZhLCAweGE1LCAweGQ5LCAweGE3LCAweGRhLCAKLSAgICAweDBiLCAweDIyLCAweDIwLCAweDA5LCAweDBhLCAweDEyLCAweDE5LCAweGZiLCAweGIyLCAweDk0LCAweDEyLCAweDE5LCAweGZiLCAweGIyLCAweDk0LCAweDIyLCAKLSAgICAweDMwLCAweDE3LCAweDMyLCAweDIwLCAweDA5LCAweDJmLCAweGNhLCAweDJiLCAweGNhLCAweDdiLCAweDdlLCAweDc4LCAweDgwLCAweDAwLCAweDdhLCAweDdjLCAKLSAgICAweDAwLCAweGZlLCAweDEyLCAweDFiLCAweDFjLCAweDdlLCAweDZiLCAweGEwLCAweDVjLCAweGFhLCAweDY4LCAweDEwLCAweDI5LCAweGI3LCAweDAwLCAweDE0LCAKLSAgICAweDU0LCAweDYwLCAweDY4LCAweGY4LCAweDM5LCAweGE3LCAweDAwLCAweDAwLCAweDBiLCAweDZjLCAweDgwLCAweGU5LCAweDEyLCAweDE5LCAweGVlLCAweGQyLCAKLSAgICAweGI1LCAweGRhLCAweDdiLCAweGRhLCAweDJiLCAweDIyLCAweDEyLCAweDFhLCAweGQ0LCAweDdlLCAweDY4LCAweDAwLCAweDBiLCAweDEyLCAweDFhLCAweDkzLCAKLSAgICAweDIyLCAweGNhLCAweDU5LCAweGNhLCAweDViLCAweDdlLCAweGI0LCAweDAwLCAweDBiLCAweDdjLCAweGI4LCAweGM0LCAweDEyLCAweDFiLCAweDA0LCAweDdjLCAKLSAgICAweGI4LCAweDEyLCAweDFiLCAweDA0LCAweDdjLCAweGI5LCAweGM0LCAweDEyLCAweDFiLCAweDA0LCAweDdjLCAweGI5LCAweDEyLCAweDFiLCAweDA0LCAweDdlLCAKLSAgICAweGIwLCAweDY4LCAweDdhLCAweGI5LCAweGIwLCAweDBiLCAweGI0LCAweDZjLCAweGJiLCAweDdhLCAweGI5LCAweGIwLCAweGRhLCAweDU5LCAweGRhLCAweDViLCAKLSAgICAweDIyLCAweDVlLCAweGIwLCAweDBmLCAweDdjLCAweGFiLCAweDllLCAweGEwLCAweDBhLCAweDQwLCAweDA1LCAweDJlLCAweGIwLCAweDM3LCAweDgwLCAweDAzLCAKLSAgICAweDJlLCAweGIwLCAweDMwLCAweDdhLCAweGI5LCAweGIwLCAweDBiLCAweGI0LCAweDIyLCAweGMyLCAweGI1LCAweGMyLCAweDkyLCAweDEyLCAweDE5LCAweGVlLCAKLSAgICAweDc0LCAweDgwLCAweDM5LCAweGI3LCAweDAwLCAweDBjLCAweDdlLCAweDU0LCAweDAwLCAweDA2LCAweDM5LCAweGE3LCAweDAwLCAweDA0LCAweDM5LCAweGI3LCAKLSAgICAweDAwLCAweDAwLCAweDc0LCAweDAzLCAweDM5LCAweGI3LCAweDAwLCAweDBjLCAweDIyLCAweDdlLCAweDc4LCAweDAwLCAweDAwLCAweDdhLCAweDdjLCAweDAwLCAKLSAgICAweGZmLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweDAxLCAweDdmLCAweDY1LCAweDdlLCAweDc0LCAweDIwLCAweDAwLCAweDEyLCAKLSAgICAweDA4LCAweGQ2LCAweDQwLCAweDU0LCAweDdlLCAweDc4LCAweDdjLCAweDAwLCAweDdhLCAweDdjLCAweDAwLCAweGZmLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAKLSAgICAweDdhLCAweDVjLCAweDAwLCAweDAxLCAweDdlLCAweDY4LCAweDdjLCAweDAwLCAweDdhLCAweDZjLCAweDAwLCAweDAxLCAweDdlLCAweDc0LCAweDA0LCAweDAwLCAKLSAgICAweDEyLCAweDA4LCAweGQ2LCAweDQwLCAweDMzLCAweDc0LCAweDgwLCAweDEyLCAweDFiLCAweGIxLCAweDQwLCAweDJjLCAweDUzLCAweDkwLCAweGNmLCAweGQyLCAKLSAgICAweDA4LCAweDdlLCAweDA0LCAweDAwLCAweDA4LCAweDdlLCAweDE0LCAweDAwLCAweDAwLCAweDg0LCAweGE1LCAweGRiLCAweGZjLCAweGE1LCAweGRhLCAweGY5LCAKLSAgICAweGE1LCAweGQ5LCAweGY2LCAweDc0LCAweDQwLCAweDEyLCAweDFiLCAweGIxLCAweDQwLCAweDBlLCAweDdlLCAweDY4LCAweDBlLCAweGMwLCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDFhLCAweDkzLCAweDAyLCAweDE5LCAweGU2LCAweGMyLCAweDk1LCAweGQyLCAweDk0LCAweDgwLCAweGZlLCAweGY1LCAweDBhLCAKLSAgICAweDdlLCAweDc4LCAweDAwLCAweDBhLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDY4LCAweDdmLCAweGJmLCAweDdhLCAweDZjLCAweDAwLCAweDAxLCAKLSAgICAweDdlLCAweDc0LCAweDAwLCAweDAxLCAweDAyLCAweDA4LCAweGQ2LCAKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gSU1BR0VfVkVSU0lPTl9OQU1FID0gewotCTEsIDEyLCAyIH07CQkvLyBNYWpvciwgTWlub3IsIEJ1aWxkCi0KLSN1bmRlZiBJTUFHRV9WRVJTSU9OX05BTUUKLQotI3VuZGVmIElNQUdFX0FSUkFZX05BTUUKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Jvb3QyLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfYm9vdDIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTM0NjNkZS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfYm9vdDIuaAorKysgL2Rldi9udWxsCkBAIC0xLDU0NiArMCwwIEBACi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0vLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKLS8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKLS8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0vLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLS8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0KLS8vSW1hZ2Ugc3RydWN0dXJlIGRlZmluaXRpb24KLSNpZiAhZGVmaW5lZChERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JEKQotI2RlZmluZSBERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JECi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkIHsKLQkJX19sZTE2IEV4dEFkZHI7Ci0JCV9fbGUxNiBBZGRyOwotCQlfX2xlMTYgTGVuOwotCQl1bnNpZ25lZCBjaGFyICBEYXRhWzBdOwotCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIHsKLQkJdW5zaWduZWQgY2hhcgkgTWFqb3JWZXJzaW9uOwotCQl1bnNpZ25lZCBjaGFyICBNaW5vclZlcnNpb247Ci0JCXVuc2lnbmVkIHNob3J0IEJ1aWxkTnVtYmVyOwotCX07Ci0KLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSU1BR0VfQVJSQVlfTkFNRSkKLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQkJRmlybXdhcmVJbWFnZQotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJRmlybXdhcmVJbWFnZVZlcnNpb24KLSNlbmRpZgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBJTUFHRV9BUlJBWV9OQU1FW10gPSB7Ci0KLS8vIFNlZ21lbnQgIzEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMDAsIExlbmd0aCA2Ci0weGZmLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDgwLCAweDAyLCAweDAwLCAweDAzLCAKLQotLy8gU2VnbWVudCAjMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDBiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MGIsIAotCi0vLyBTZWdtZW50ICMzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDEzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMiwgMHg1NiwgCi0KLS8vIFNlZ21lbnQgIzQsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMWIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDFiLCAKLQotLy8gU2VnbWVudCAjNSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDIzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MjMsIAotCi0vLyBTZWdtZW50ICM2LCBTdGFydCBBZGRyZXNzIDAwZmYwMDJiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MmIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyYiwgCi0KLS8vIFNlZ21lbnQgIzcsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMzMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDMzLCAKLQotLy8gU2VnbWVudCAjOCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAzYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDNiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4M2IsIAotCi0vLyBTZWdtZW50ICM5LCBTdGFydCBBZGRyZXNzIDAwZmYwMDQzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NDMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg0MywgCi0KLS8vIFNlZ21lbnQgIzEwLCBTdGFydCBBZGRyZXNzIDAwZmYwMDRiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg0YiwgCi0KLS8vIFNlZ21lbnQgIzExLCBTdGFydCBBZGRyZXNzIDAwZmYwMDUzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMSwgMHhmNSwgCi0KLS8vIFNlZ21lbnQgIzEyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDdiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4N2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg3YiwgCi0KLS8vIFNlZ21lbnQgIzEzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDgwLCBMZW5ndGggNTM0Ci0weGZmLDB4MDAsMHg4MCwweDAwLDB4MTYsMHgwMiwKLSAgICAweDdlLCAweGIzLCAweDkxLCAweDAxLCAweDIwLCAweGUzLCAweDBjLCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDU0LCAweGZlLCAweDdhLCAweGIzLCAweDNmLCAKLSAgICAweGYyLCAweDgwLCAweDBhLCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDQ0LCAweDAxLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDc0LCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDdlLCAweGY4LCAweDAwLCAweDI0LCAweDdlLCAweDAwLCAweDAxLCAKLSAgICAweDdlLCAweDEwLCAweDAwLCAweDEyLCAweDA5LCAweGQwLCAweDY5LCAweDIwLCAweDAwLCAweDBhLCAweDVlLCAweDQwLCAweDFmLCAweGJlLCAweDI0LCAweDAwLCAKLSAgICAweDAwLCAweDc4LCAweDA5LCAweDdlLCAweDAwLCAweDAzLCAweDdhLCAweDAzLCAweDkwLCAweDAwLCAweDgwLCAweDA3LCAweDdlLCAweDAwLCAweDAyLCAweDdhLCAKLSAgICAweDAzLCAweDkwLCAweDAwLCAweDc1LCAweGIwLCAweGRmLCAweDdlLCAweDAwLCAweDAxLCAweDdhLCAweDAzLCAweDk0LCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAKLSAgICAweDI0LCAweDdlLCAweDAwLCAweDAxLCAweDdhLCAweDAzLCAweDkzLCAweDAwLCAweDdlLCAweDAwLCAweDAwLCAweGE1LCAweGQ4LCAweGZkLCAweDc1LCAweGE4LCAKLSAgICAweDAwLCAweDc1LCAweGIxLCAweDAwLCAweGNhLCAweDI5LCAweDEyLCAweDBjLCAweDY2LCAweDEyLCAweDBjLCAweDM3LCAweGY1LCAweDIxLCAweDdhLCAweGExLCAKLSAgICAweDIwLCAweDIwLCAweDA5LCAweDA4LCAweDIwLCAweDBhLCAweDBhLCAweDdlLCAweGIwLCAweDBjLCAweDgwLCAweDA4LCAweDdlLCAweGIwLCAweDAwLCAweDgwLCAKLSAgICAweDAzLCAweDdlLCAweGIwLCAweDA4LCAweDdhLCAweGIzLCAweDkyLCAweDAwLCAweDEyLCAweDAyLCAweDk2LCAweGRhLCAweDI5LCAweDc0LCAweDEwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAxLCAweDdlLCAweDIwLCAweDA0LCAweDdjLCAweGIyLCAweGMyLCAweGQ3LCAweDEzLCAweDEzLCAweDEzLCAweDEzLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDAwLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDEwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDAyLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweGE1LCAweGRhLCAweGRmLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAKLSAgICAweDM0LCAweDdhLCAweGIzLCAweDkxLCAweDEzLCAweDc0LCAweDNmLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDA2LCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDQ0LCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDA3LCAweDc0LCAweGVmLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDc0LCAweDA3LCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAKLSAgICAweGIzLCAweDkxLCAweDA3LCAweDdhLCAweGIxLCAweDBhLCAweDc1LCAweDA5LCAweDAxLCAweGQyLCAweGFhLCAweGQyLCAweGFmLCAweGU0LCAweDdlLCAweDYwLCAKLSAgICAweDAyLCAweDRkLCAweDIyLCAweDc4LCAweDAzLCAweDdlLCAweDYwLCAweDAzLCAweDdjLCAweDc2LCAweDdlLCAweDA0LCAweDI4LCAweDAwLCAweDhkLCAweGVmLCAKLSAgICAweDFiLCAweDA0LCAweDc4LCAweGZhLCAweDA0LCAweDdlLCAweDIwLCAweDA3LCAweDdhLCAweDIzLCAweDkxLCAweDA2LCAweDdlLCAweDIzLCAweDkxLCAweDA3LCAKLSAgICAweDdlLCAweDMxLCAweDBhLCAweGJjLCAweDMyLCAweDY4LCAweDIyLCAweDdhLCAweDIxLCAweDBhLCAweDdlLCAweDIxLCAweDA5LCAweDY4LCAweDE3LCAweGNhLCAKLSAgICAweGI4LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweGIzLCAweDkxLCAweDA3LCAweDQ0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDA3LCAweGRhLCAweGI4LCAweDc1LCAweDA5LCAweDAwLCAweDMwLCAweGUwLCAweGMxLCAweDZjLCAweDY3LCAweDdhLCAweDYzLCAweDkwLCAweDAwLCAweDgwLCAKLSAgICAweGI5LCAweGJlLCAweGIwLCAweDAyLCAweDIyLCAweGMwLCAweGQwLCAweDc1LCAweDA4LCAweGZlLCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAweDAyLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAKLSAgICAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDMwLCAKLSAgICAweGUwLCAweDA4LCAweDc0LCAweDE4LCAweDdhLCAweGIzLCAweDkxLCAweDAxLCAweDgwLCAweDA2LCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDAxLCAKLSAgICAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDAyLCAweDAyLCAweDM2LCAweDc1LCAweDA4LCAweGZmLCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAKLSAgICAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweGIzLCAweDkxLCAweDA3LCAweDU0LCAKLSAgICAweGZjLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDMyLCAweGNhLCAweGI4LCAweDc1LCAweDA4LCAweDAyLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAKLSAgICAweDkxLCAweDAzLCAweDIwLCAweGU1LCAweDA4LCAweDMwLCAweGUwLCAweDJiLCAweDEyLCAweDAyLCAweDllLCAweDgwLCAweGYxLCAweDdlLCAweGIzLCAweDkxLCAKLSAgICAweDA0LCAweDMwLCAweGUwLCAweDA1LCAweGRhLCAweGI4LCAweDAyLCAweDAyLCAweDM5LCAweDMwLCAweGUxLCAweDA1LCAweGRhLCAweGI4LCAweDAyLCAweDAxLCAKLSAgICAweGY1LCAweDMwLCAweGU2LCAweDA1LCAweDEyLCAweDA0LCAweDAzLCAweDgwLCAweGQ1LCAweDMwLCAweGUyLCAweDA1LCAweGRhLCAweGI4LCAweDAyLCAweDAwLCAKLSAgICAweDgwLCAweDgwLCAweGNiLCAweGRhLCAweGI4LCAweDMyLCAKLQotLy8gU2VnbWVudCAjMTQsIEVYQ0xVREVEIFN0YXJ0IEFkZHJlc3MgMDBmZjMxZDcsIExlbmd0aCAxCi0KLQotLy8gU2VnbWVudCAjMTUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAyOTYsIExlbmd0aCAyMDkwCi0weGZmLDB4MDAsMHg5NiwweDAyLDB4MmEsMHgwOCwKLSAgICAweGU0LCAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDAyLCAweDAzLCAweDQxLCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweGNhLCAweDNiLCAKLSAgICAweGNhLCAweDRiLCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDJlLCAweGI0LCAweDAwLCAweDAyLCAweDgwLCAweDFjLCAweGI0LCAweDAxLCAweDE5LCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAKLSAgICAweDU0LCAweDE0LCAweDY4LCAweDA1LCAweDEyLCAweDAzLCAweDA1LCAweDgwLCAweDIzLCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDMwLCAweGU1LCAweDFjLCAKLSAgICAweDEyLCAweDA0LCAweDQzLCAweDgwLCAweDE3LCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDMwLCAweGU1LCAweDA1LCAweDEyLCAweDA0LCAweDQzLCAweDgwLCAKLSAgICAweDBiLCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDU0LCAweDE0LCAweDY4LCAweDAzLCAweDEyLCAweDAzLCAweDA1LCAweGRhLCAweGViLCAweGRhLCAweDdiLCAKLSAgICAweGRhLCAweDZiLCAweGRhLCAweDViLCAweGRhLCAweDRiLCAweGRhLCAweDNiLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDIwLCAKLSAgICAweGU0LCAweDE5LCAweDc1LCAweDA4LCAweDBhLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDJkLCAweDcwLCAweDBhLCAweDdlLCAweGIzLCAKLSAgICAweDAxLCAweDJlLCAweGI0LCAweDAxLCAweDFmLCAweDAyLCAweDAzLCAweDlkLCAweDAyLCAweDA5LCAweDhiLCAweDc1LCAweDA4LCAweDBiLCAweDEyLCAweDBhLCAKLSAgICAweGMwLCAweDc0LCAweDE0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDdlLCAweGIzLCAweDAxLCAweDJlLCAweGI0LCAweDAyLCAweDBjLCAweDEyLCAweDAzLCAKLSAgICAweDRkLCAweDAyLCAweDAzLCAweDQxLCAweDc0LCAweDA0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAKLSAgICAweDAxLCAweDJlLCAweDdhLCAweDAzLCAweDAxLCAweDJmLCAweDIyLCAweDdlLCAweGIzLCAweDAxLCAweDI1LCAweDU0LCAweDYwLCAweDYwLCAweDA1LCAweGI0LCAKLSAgICAweDQwLCAweDFlLCAweDgwLCAweDFjLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDA1LCAweDE1LCAweDc1LCAweDA4LCAweDcxLCAweDEyLCAweDBhLCAKLSAgICAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDdlLCAweGEwLCAweDAxLCAweDdhLCAweGEzLCAweDkxLCAweDA2LCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAKLSAgICAweDIyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDIyLCAweGJlLCAweDU3LCAKLSAgICAweDAxLCAweDJiLCAweDI4LCAweDA0LCAweDdlLCAweDU3LCAweDAxLCAweDJiLCAweDdhLCAweDBmLCAweDAxLCAweDMxLCAweDdhLCAweDU3LCAweDAxLCAweDM1LCAKLSAgICAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDIyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAKLSAgICAweDFhLCAweDcwLCAweDUzLCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDIwLCAweGU0LCAweDRjLCAweDdlLCAweGVmLCAweDAxLCAweDMxLCAweDdlLCAweGY3LCAKLSAgICAweDAxLCAweDM1LCAweDdlLCAweDA3LCAweDAxLCAweDM1LCAweDRkLCAweDAwLCAweDY4LCAweDIxLCAweDdlLCAweDAwLCAweDAwLCAweGUwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDE3LCAweGEzLCAweGE1LCAweDA4LCAweDFiLCAweGY0LCAweDY4LCAweDA2LCAweGE1LCAweGI4LCAweDEwLCAweGYwLCAweDgwLCAweDE5LCAweDdlLCAKLSAgICAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDAxLCAweDJlLCAweGJlLCAweDAwLCAweDEwLCAweDY4LCAweDBkLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAKLSAgICAweDAxLCAweDJlLCAweDc0LCAweDgwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDdhLCAweGVmLCAweDAxLCAweDMxLCAweDdhLCAweGY3LCAweDAxLCAweDM1LCAKLSAgICAweDc1LCAweDA4LCAweDA2LCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAweDA0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweGNhLCAweDBiLCAweGNhLCAKLSAgICAweDFiLCAweGNhLCAweDJiLCAweGNhLCAweDNiLCAweGNhLCAweDRiLCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweDc1LCAKLSAgICAweDA4LCAweDAzLCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDAxLCAweDJkLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDAwLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDEyLCAweDA0LCAweGIyLCAweGRhLCAweGViLCAweGRhLCAweDdiLCAweGRhLCAweDZiLCAKLSAgICAweGRhLCAweDViLCAweGRhLCAweDRiLCAweGRhLCAweDNiLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDc1LCAweDA4LCAweDAzLCAKLSAgICAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDJmLCAweGI0LCAweDAyLCAweDExLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDAxLCAweDJmLCAKLSAgICAweDdhLCAweGIzLCAweDAxLCAweDJlLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweGI0LCAweDAxLCAweDQ2LCAweDdlLCAweGIzLCAKLSAgICAweDkxLCAweDA0LCAweDIwLCAweGU2LCAweDQyLCAweDdlLCAweDIzLCAweDkxLCAweDFhLCAweDdjLCAweDMyLCAweDdlLCAweDEzLCAweDAxLCAweDMwLCAweDJjLCAKLSAgICAweDIxLCAweDdhLCAweDIzLCAweDAxLCAweDMwLCAweDdlLCAweDAwLCAweDAwLCAweDJlLCAweDA0LCAweDAxLCAweDM3LCAweDdlLCAweGIzLCAweDkxLCAweDE2LCAKLSAgICAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweGE1LCAweGRiLCAweGY0LCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc1LCAweDA4LCAKLSAgICAweDcwLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDMwLCAweDdlLCAweGEzLCAweDAxLCAweDJjLCAweGJjLCAweGFiLCAweDc4LCAweDAzLCAKLSAgICAweDEyLCAweDA1LCAweDUyLCAweDIyLCAweDAyLCAweDA5LCAweDhiLCAweGRhLCAweDU5LCAweDAyLCAweDA0LCAweDE1LCAweDc0LCAweGUwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDAwLCAweDdlLCAweDAzLCAweDkxLCAweDEwLCAweDdlLCAweDEzLCAweDkxLCAweDExLCAweDdlLCAweDMzLCAweDkxLCAweDEyLCAweDdlLCAweDIzLCAKLSAgICAweDkxLCAweDEzLCAweDdlLCAweDUzLCAweDkxLCAweDE0LCAweDdlLCAweDQzLCAweDkxLCAweDE1LCAweDdlLCAweDczLCAweDkxLCAweDE2LCAweDdlLCAweDYzLCAKLSAgICAweDkxLCAweDE3LCAweDdhLCAweDBmLCAweDAxLCAweDI1LCAweDdhLCAweDFmLCAweDAxLCAweDI5LCAweDc1LCAweDA4LCAweDA0LCAweDEyLCAweDBhLCAweGMwLCAKLSAgICAweDdhLCAweDAxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDExLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDIxLCAweDA4LCAweDEyLCAKLSAgICAweDBhLCAweGMwLCAweDdhLCAweDMxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDQxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDUxLCAKLSAgICAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDYxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDcxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDEyLCAweDA1LCAweDI2LCAweDIyLCAKLSAgICAweDZkLCAweDAwLCAweDdlLCAweDE0LCAweDAxLCAweDAyLCAweDdhLCAweDA3LCAweDAxLCAweDM1LCAweDdhLCAweDAzLCAweDAxLCAweDMwLCAweDdlLCAweGIzLCAKLSAgICAweDAxLCAweDI1LCAweDIwLCAweGU3LCAweDBmLCAweDdhLCAweDIzLCAweDAxLCAweDJmLCAweDdhLCAweDMzLCAweDAxLCAweDJlLCAweGJlLCAweDA3LCAweDAxLCAKLSAgICAweDJiLCAweDY4LCAweDA5LCAweDIyLCAweDdhLCAweDMzLCAweDAxLCAweDJmLCAweDdhLCAweDIzLCAweDAxLCAweDJlLCAweDdlLCAweGIzLCAweDAxLCAweDI1LCAKLSAgICAweDU0LCAweGUzLCAweDIzLCAweDIzLCAweDMwLCAweGUwLCAweDAyLCAweGQyLCAweGU1LCAweDMwLCAweGU3LCAweDAyLCAweGQyLCAweGU0LCAweDMwLCAweGU1LCAKLSAgICAweDA2LCAweDMwLCAweGU0LCAweDAzLCAweDAyLCAweDA5LCAweDhiLCAweDU0LCAweDNlLCAweGY1LCAweGYwLCAweDAzLCAweDU0LCAweDFmLCAweGMzLCAweDI1LCAKLSAgICAweGYwLCAweDkwLCAweDA1LCAweDdlLCAweDc1LCAweDg0LCAweGZmLCAweDczLCAweDAyLCAweDA3LCAweDM5LCAweDAyLCAweDA1LCAweGM2LCAweDAyLCAweDA3LCAKLSAgICAweGQyLCAweDAyLCAweDA3LCAweGVkLCAweDAyLCAweDA2LCAweGQwLCAweDAyLCAweDA2LCAweDViLCAweDAyLCAweDA4LCAweDFlLCAweDAyLCAweDA4LCAweDFlLCAKLSAgICAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAKLSAgICAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDIxLCAweDAyLCAweDA4LCAweDI3LCAweDAyLCAweDA4LCAweGY5LCAweDAyLCAweDA4LCAKLSAgICAweDI0LCAweDAyLCAweDA4LCAweDI0LCAweDAyLCAweDA4LCAweDI0LCAweDAyLCAweDA4LCAweDI0LCAweDAyLCAweDA4LCAweDI0LCAweDAyLCAweDA4LCAweDI0LCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAKLSAgICAweGI0LCAweDA2LCAweDJhLCAweDdlLCAweGIzLCAweDAxLCAweDI3LCAweDYwLCAweDc5LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDAxLCAweDI4LCAweDdlLCAKLSAgICAweDE3LCAweDAxLCAweDI5LCAweDc1LCAweDA4LCAweDcyLCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDAxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAKLSAgICAweDExLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDEyLCAweDA5LCAweGQwLCAweDQwLCAweDU4LCAweDAyLCAweDAzLCAweDg0LCAweGI0LCAweDA4LCAweDFjLCAKLSAgICAweDc1LCAweDA4LCAweDc0LCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDNmLCAweGYxLCAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAKLSAgICAweDAwLCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDdlLCAweDU0LCAweDAwLCAweDAxLCAweDAyLCAweDAzLCAweDg0LCAweGI0LCAweDAwLCAweDMzLCAweDc1LCAKLSAgICAweDA4LCAweDc1LCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweDdlLCAKLSAgICAweGIzLCAweDNmLCAweGYyLCAweDMwLCAweGUwLCAweDA3LCAweDc0LCAweDAyLCAweDdhLCAweDBiLCAweGIwLCAweDgwLCAweDA1LCAweDc0LCAweDAwLCAweDdhLCAKLSAgICAweDBiLCAweGIwLCAweDBiLCAweDE0LCAweDc0LCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDdlLCAweDU0LCAweDAwLCAweDAyLCAweGRhLCAweDBiLCAweDAyLCAKLSAgICAweDAzLCAweDg0LCAweDAyLCAweDA5LCAweDhiLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDFjLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAwLCAweDVmLCAweDc1LCAweDA4LCAweDc2LCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAKLSAgICAweDAxLCAweDJhLCAweDU0LCAweDBmLCAweGI0LCAweDAyLCAweDA1LCAweDdlLCAweGIwLCAweDYwLCAweDgwLCAweDE3LCAweGI0LCAweDAwLCAweDA1LCAweDdlLCAKLSAgICAweGIwLCAweDAwLCAweDgwLCAweDBmLCAweDdlLCAweGIzLCAweDAxLCAweDJhLCAweDIwLCAweGU3LCAweDA1LCAweDdlLCAweGIwLCAweDQwLCAweDgwLCAweDAzLCAKLSAgICAweDdlLCAweGIwLCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDExLCAweDMwLCAweGUwLCAweDA0LCAweDc0LCAweDAxLCAKLSAgICAweDgwLCAweDAyLCAweDc0LCAweDAwLCAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweDdhLCAweDBiLCAKLSAgICAweGIwLCAweDBiLCAweDE0LCAweDc0LCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweDU0LCAKLSAgICAweDAwLCAweDAyLCAweGRhLCAweDBiLCAweDAyLCAweDAzLCAweDg0LCAweDAyLCAweDA5LCAweDhiLCAweDdlLCAweGIzLCAweDAxLCAweDJhLCAweDU0LCAweDBmLCAKLSAgICAweGI0LCAweDAyLCAweDA1LCAweDdlLCAweGIwLCAweDYwLCAweDgwLCAweDE3LCAweGI0LCAweDAwLCAweDA1LCAweDdlLCAweGIwLCAweDAwLCAweDgwLCAweDBmLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDJhLCAweDIwLCAweGU3LCAweDA1LCAweDdlLCAweGIwLCAweDQwLCAweDgwLCAweDAzLCAweDdlLCAweGIwLCAweDIwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweGI0LCAweDAwLCAweDI2LCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAxLCAKLSAgICAweDBlLCAweDc1LCAweDA4LCAweDc3LCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDgwLCAweDFiLCAweGI0LCAKLSAgICAweDAzLCAweDBlLCAweDc1LCAweDA4LCAweDc4LCAweDEyLCAweDBhLCAweGMwLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDExLCAweDgwLCAweDBhLCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDEyLCAweDA5LCAweDhiLCAweDIyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAKLSAgICAweDAyLCAweDAzLCAweDc3LCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDA5LCAweDFmLCAweDc1LCAweDA4LCAweDc5LCAweDEyLCAweDBhLCAweGMwLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweGJlLCAweGIzLCAweDNmLCAweGYxLCAweDY4LCAweDBkLCAweGNhLCAweGI4LCAweDEyLCAweDAxLCAweGYxLCAweGRhLCAKLSAgICAweGI4LCAweDUwLCAweDc2LCAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDgwLCAweDZkLCAweGI0LCAweDA1LCAweDA4LCAweDc1LCAweDA4LCAweDdhLCAweDEyLCAKLSAgICAweDBhLCAweGMwLCAweDgwLCAweDYyLCAweGI0LCAweDAzLCAweDE5LCAweDc1LCAweDA4LCAweDdiLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAKLSAgICAweDI4LCAweGI0LCAweDAxLCAweDU1LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDQ0LCAweDAxLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDQ2LCAKLSAgICAweGI0LCAweDAxLCAweDE5LCAweDc1LCAweDA4LCAweDdjLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweGI0LCAweDAxLCAweDM5LCAKLSAgICAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDU0LCAweGZlLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDJhLCAweGI0LCAweDA3LCAweDJhLCAweDdlLCAKLSAgICAweGIzLCAweDAxLCAweDI3LCAweDYwLCAweDI0LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDAxLCAweDI4LCAweDdlLCAweDE3LCAweDAxLCAweDI5LCAweDc1LCAKLSAgICAweDA4LCAweDczLCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDAxLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDExLCAweDA4LCAweDEyLCAweDBhLCAKLSAgICAweGMwLCAweDEyLCAweDBhLCAweDBhLCAweDQwLCAweDAzLCAweDAyLCAweDAzLCAweDc3LCAweDAyLCAweDA5LCAweDhiLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAKLSAgICAweGI0LCAweDBiLCAweGY2LCAweDc1LCAweDA4LCAweDdkLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDdlLCAweGEzLCAweDAxLCAKLSAgICAweDJhLCAweDRjLCAweGFiLCAweDc4LCAweGU0LCAweDgwLCAweGRmLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDFjLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDBhLCAweGNmLCAweDc1LCAweDA4LCAweDdlLCAweDEyLCAweDBhLCAweGMwLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDcwLCAweGMzLCAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdhLCAweDBiLCAKLSAgICAweGIwLCAweDdlLCAweDU0LCAweDAwLCAweDAxLCAweDAyLCAweDAzLCAweDg0LCAweDAyLCAweDA5LCAweDhiLCAweDAyLCAweDA5LCAweDhiLCAweDAyLCAweDA5LCAKLSAgICAweDhiLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDA0LCAweDIwLCAweDc1LCAweDA4LCAweGMzLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweDA0LCAKLSAgICAweDAwLCAweDAxLCAweDdlLCAweDE3LCAweDAxLCAweDI3LCAweDdlLCAweDE4LCAweDAxLCAweDM3LCAweDdhLCAweDFjLCAweDAwLCAweDAwLCAweDdlLCAweDQ3LCAKLSAgICAweDAxLCAweDJiLCAweDEyLCAweDBhLCAweGNjLCAweDAyLCAweDA4LCAweGYzLCAweGI0LCAweDA2LCAweDQyLCAweDc1LCAweDA4LCAweGMxLCAweDEyLCAweDBhLCAKLSAgICAweGMwLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdkLCAweGNhLCAweDdlLCAweGQ3LCAweDAxLCAweDI3LCAweDdlLCAKLSAgICAweDc4LCAweDAxLCAweDM3LCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDAxLCAweDJiLCAweDc1LCAweDA4LCAweGMxLCAweDEyLCAweDBhLCAKLSAgICAweGMwLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDEyLCAweDBiLCAweDYzLCAweDdlLCAKLSAgICAweDQzLCAweDAxLCAweDI0LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweDQwLCAweDY1LCAweDgwLCAweDYwLCAweGI0LCAweDAwLCAweDI0LCAKLSAgICAweGMyLCAweGFmLCAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDk0LCAweDAwLCAweDdhLCAweGIzLCAweDAxLCAweDI0LCAweDEyLCAweDAzLCAweDc3LCAKLSAgICAweGU0LCAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweGQ1LCAweGUwLCAweGY3LCAweGMwLCAweGQxLCAweGNhLCAweDAyLCAweGZmLCAweGNhLCAKLSAgICAweDA2LCAweDAwLCAweDAwLCAweDMyLCAweGI0LCAweDA5LCAweDIwLCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweDIzLCAweDkxLCAKLSAgICAweDA3LCAweDdlLCAweDU3LCAweDAxLCAweDI3LCAweDRkLCAweDU1LCAweDY4LCAweDA1LCAweDRlLCAweDIwLCAweDAyLCAweDgwLCAweDAzLCAweDVlLCAweDIwLCAKLSAgICAweGZkLCAweDdhLCAweDIzLCAweDkxLCAweDA3LCAweDgwLCAweDE2LCAweGI0LCAweDA3LCAweDE2LCAweGMyLCAweGFmLCAweDdlLCAweDA3LCAweDAxLCAweDI5LCAKLSAgICAweDdlLCAweDE3LCAweDAxLCAweDI3LCAweGMwLCAweGQxLCAweGNhLCAweDE4LCAweGNhLCAweDM4LCAweGNhLCAweDI4LCAweDMyLCAweDAyLCAweDAzLCAweDc3LCAKLSAgICAweDAyLCAweDA5LCAweDhiLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDdlLCAKLSAgICAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAzLCAweDE1LCAweDc1LCAweDA4LCAweGMyLCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAKLSAgICAweDdlLCAweDE3LCAweDAxLCAweDI3LCAweDdlLCAweDU3LCAweDAxLCAweDJiLCAweDAyLCAweDAzLCAweDg0LCAweGI0LCAweDA1LCAweDQxLCAweDc1LCAweDA4LCAKLSAgICAweGMwLCAweDEyLCAweDBhLCAweGMwLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDdlLCAKLSAgICAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM3LCAweDAxLCAweDI3LCAweDdlLCAKLSAgICAweDQ3LCAweDAxLCAweDJiLCAweDEyLCAweDBhLCAweGNjLCAweDdlLCAweDQzLCAweDAxLCAweDI0LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAKLSAgICAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDU3LCAweDAxLCAweDJiLCAweDAyLCAweDAzLCAweDg0LCAweGI0LCAKLSAgICAweDAxLCAweDIwLCAweDdlLCAweDAwLCAweDAwLCAweDdlLCAweDEwLCAweDAxLCAweDc1LCAweDA4LCAweDcyLCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDAxLCAKLSAgICAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDdhLCAweDExLCAweDA4LCAweDEyLCAweDBhLCAweGMwLCAweDEyLCAweDA5LCAweGQwLCAweDQwLCAweDAzLCAweDAyLCAKLSAgICAweDAzLCAweDg0LCAweDAyLCAweDA5LCAweDhiLCAweDc1LCAweDA4LCAweDA3LCAweDEyLCAweDBhLCAweGMwLCAweDdlLCAweGIwLCAweDAyLCAweDdhLCAweGIzLCAKLSAgICAweDkwLCAweDAwLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDE1LCAweDc0LCAweDAxLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDExLCAweDdlLCAweGIzLCAweDkxLCAweDE1LCAweDU0LCAweDYwLCAweGJlLCAweGIwLCAweDQwLCAweDY4LCAweDA4LCAweDc0LCAKLSAgICAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE1LCAweDgwLCAweGVkLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDc0LCAweDA0LCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDE0LCAweDc0LCAweGZmLCAweDdhLCAweGIzLCAweDAxLCAweDJkLCAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAKLSAgICAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDEyLCAweDBhLCAweDU3LCAweDQwLCAweDFmLCAweDdlLCAweDA4LCAweDAxLCAweDM3LCAweDdhLCAweDBjLCAKLSAgICAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweGNhLCAweDQ5LCAweDEyLCAweDBhLCAweGNjLCAweGRhLCAweDU5LCAweGRhLCAweDBiLCAweDdlLCAweDQzLCAweDAxLCAKLSAgICAweDI0LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweDdlLCAweDQzLCAweDAxLCAweDI0LCAweDdhLCAweDQzLCAweDk0LCAKLSAgICAweDAwLCAweGQwLCAweGE4LCAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDEyLCAKLSAgICAweDBhLCAweDU3LCAweDQwLCAweDMxLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdmLCAweDYxLCAweDdlLCAweDc4LCAKLSAgICAweDAxLCAweDM3LCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDAxLCAweDJiLCAweGJkLCAweDc0LCAweDc4LCAweDE3LCAweDc1LCAweDA4LCAKLSAgICAweGMxLCAweDEyLCAweDBhLCAweGMwLCAweDEyLCAweDBiLCAweDYzLCAweDQwLCAweDBjLCAweDdlLCAweDQzLCAweDAxLCAweDI0LCAweDdhLCAweDQzLCAweDk0LCAKLSAgICAweDAwLCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweDdlLCAweDQzLCAweDAxLCAweDI0LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweGQzLCAKLSAgICAweDIyLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM0LCAweDdmLCAweGNhLCAweDBiLCAweDFhLCAweDUwLCAweGM1LCAweGYwLCAweDdkLCAweDYyLCAKLSAgICAweDdkLCAweDc1LCAweDdkLCAweDg3LCAweDdlLCAweDM0LCAweDdmLCAweDAzLCAweDdlLCAweDFiLCAweGIwLCAweGJjLCAweDBiLCAweDUwLCAweDQ5LCAweDNlLCAKLSAgICAweDAwLCAweDNlLCAweDAwLCAweDBhLCAweDUwLCAweDJkLCAweDc1LCAweDBiLCAweDNhLCAweDMwLCAweDY5LCAweDUzLCAweDAwLCAweDAyLCAweGJkLCAweDM4LCAKLSAgICAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJjLCAweDFiLCAweDUwLCAweDMwLCAweDNlLCAweDEwLCAweDNlLCAweDEwLCAweDBhLCAweDUxLCAweDJkLCAweDM1LCAKLSAgICAweDY5LCAweDQxLCAweDAwLCAweDAyLCAweDBiLCAweDFhLCAweDMwLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJlLCAweDQ0LCAweGZmLCAKLSAgICAweGZmLCAweDc4LCAweDA1LCAweDdlLCAweDFiLCAweDkwLCAweDBhLCAweDQ5LCAweDRkLCAweDQ0LCAweDY4LCAweDBjLCAweGJlLCAweDQ0LCAweDAwLCAweGZmLCAKLSAgICAweDI4LCAweDA0LCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAKLQotLy8gU2VnbWVudCAjMTYsIEVYQ0xVREVEIFN0YXJ0IEFkZHJlc3MgMDBmZjdjMDAsIExlbmd0aCAyMjcKLQotCi0vLyBTZWdtZW50ICMxNywgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmN2YwMCwgTGVuZ3RoIDE5MgotCi0KLS8vIFNlZ21lbnQgIzE3LCBTdGFydCBBZGRyZXNzIDAwZmY3ZmMwLCBMZW5ndGggNjQKLTB4ZmYsMHgwMCwweGMwLDB4N2YsMHg0MCwweDAwLAotICAgIDB4NDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4ZDcsIDB4MzEsIDB4MDIsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDAsIDB4N2MsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZjEsIDB4N2YsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotCi0vLyBTZWdtZW50ICMxOCwgU3RhcnQgQWRkcmVzcyAwMGZmMGFjMCwgTGVuZ3RoIDQxNjMKLTB4ZmYsMHgwMCwweGMwLDB4MGEsMHg0MywweDEwLAotICAgIDB4Y2EsIDB4MDgsIDB4N2UsIDB4MDEsIDB4MDgsIDB4N2EsIDB4MDMsIDB4M2YsIDB4ZjAsIDB4ZGEsIDB4MDgsIDB4MjIsIDB4ODAsIDB4NTAsIDB4MGIsIDB4MWEsIAotICAgIDB4NjAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NzAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4ODAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4OTAsIAotICAgIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YjAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YzAsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MWEsIDB4ZDAsIDB4MGIsIDB4MzUsIDB4MWIsIDB4MGEsIDB4NjAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4NzAsIDB4MGIsIDB4MTUsIAotICAgIDB4MWIsIDB4MGEsIDB4ODAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4OTAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4YTAsIDB4MGIsIDB4MTUsIDB4MWIsIAotICAgIDB4MGEsIDB4YjAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4YzAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4ZDAsIDB4MGIsIDB4MTUsIDB4OWUsIDB4NDQsIAotICAgIDB4MDAsIDB4MTAsIDB4NTAsIDB4YWEsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MGUsIDB4N2UsIDB4MWIsIDB4YzAsIDB4N2EsIDB4MGIsIDB4YzAsIAotICAgIDB4MGIsIDB4MTQsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZjIsIDB4MjIsIDB4N2YsIDB4NmYsIDB4N2YsIDB4ZjAsIDB4MWIsIDB4ZmMsIDB4N2MsIAotICAgIDB4NTQsIDB4N2QsIDB4MzIsIDB4ODAsIDB4MDgsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4OWUsIDB4NDQsIDB4MDAsIAotICAgIDB4MTAsIDB4NTAsIDB4ZjIsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MDYsIDB4Y2EsIDB4NDgsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZmEsIDB4N2YsIAotICAgIDB4ZjYsIDB4ODksIDB4ZTQsIDB4Y2EsIDB4NmIsIDB4NWUsIDB4ZDQsIDB4MDAsIDB4M2YsIDB4NjgsIDB4MjAsIDB4N2UsIDB4ODQsIDB4MDAsIDB4NDAsIDB4OWQsIAotICAgIDB4OGQsIDB4ZGEsIDB4NmIsIDB4YmQsIDB4ODcsIDB4MzgsIDB4MTYsIDB4Y2EsIDB4NzksIDB4N2QsIDB4NzgsIDB4MTIsIDB4MGIsIDB4OGQsIDB4ZGEsIDB4NzksIAotICAgIDB4NDAsIDB4MDgsIDB4OWQsIDB4NzgsIDB4NjgsIDB4MDIsIDB4ODAsIDB4MDUsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZGEsIDB4NmIsIDB4N2UsIDB4YzAsIDB4MDMsIAotICAgIDB4N2UsIDB4ZDAsIDB4MDAsIDB4N2EsIDB4ZDMsIDB4OTAsIDB4MDAsIDB4NzQsIDB4YWEsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4NzQsIDB4NTUsIDB4MzksIAotICAgIDB4YjUsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4NDAsIDB4OWQsIDB4NzAsIDB4NTAsIAotICAgIDB4MDYsIDB4MmQsIDB4NzAsIDB4N2QsIDB4MDcsIDB4NmQsIDB4NzcsIDB4N2MsIDB4MzEsIDB4N2UsIDB4N2IsIDB4MDAsIDB4N2EsIDB4NmIsIDB4MDAsIDB4MGIsIAotICAgIDB4N2MsIDB4MGIsIDB4NmMsIDB4YTUsIDB4ZDksIDB4ZjMsIDB4N2YsIDB4MTYsIDB4MWIsIDB4MWMsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIDB4N2UsIDB4MWIsIAotICAgIDB4MTAsIDB4YmMsIDB4MTAsIDB4NjgsIDB4MDYsIDB4MWIsIDB4NTQsIDB4NzgsIDB4ZjUsIDB4ODAsIDB4MmYsIDB4NmQsIDB4MDAsIDB4N2MsIDB4MjAsIDB4N2YsIAotICAgIDB4MTYsIDB4OWYsIDB4MTAsIDB4N2YsIDB4MjcsIDB4OWYsIDB4MjAsIDB4N2UsIDB4MmIsIDB4MDAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MDEsIDB4NzgsIAotICAgIDB4MTksIDB4MGIsIDB4MmMsIDB4MGIsIDB4MWMsIDB4YTUsIDB4ZGIsIDB4ZWYsIDB4N2MsIDB4YjYsIDB4MjAsIDB4ZTAsIDB4MDYsIDB4NmMsIDB4ZGMsIDB4N2EsIAotICAgIDB4ZDMsIDB4OTAsIDB4MDAsIDB4NGQsIDB4NzcsIDB4NzgsIDB4OTAsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4MDAsIDB4MDQsIDB4MDAsIAotICAgIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MDQsIDB4MDIsIDB4MDQsIDB4MDAsIDB4MDIsIDB4MDEsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MDAsIDB4MDgsIDB4MTAsIDB4MDIsIDB4MTAsIAotICAgIDB4MDQsIDB4MDIsIDB4MDgsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDgsIDB4N2UsIDB4MTgsIDB4N2YsIDB4YmQsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MGIsIAotICAgIDB4MWEsIDB4MDAsIDB4NWUsIDB4MTAsIDB4MWYsIDB4YmUsIDB4MTAsIDB4MTQsIDB4MzgsIDB4MWEsIDB4MGEsIDB4NTEsIDB4MjMsIDB4N2UsIDB4MTgsIDB4MGMsIAotICAgIDB4MGQsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MmQsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NTAsIDB4NjAsIDB4MDgsIDB4YTUsIDB4YjgsIDB4MDIsIDB4MDMsIAotICAgIDB4NGUsIDB4YTAsIDB4MDgsIDB4MjIsIDB4ODAsIDB4ZmUsIDB4N2UsIDB4ZTgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4ZWMsIDB4MDAsIDB4ZmYsIDB4ZTAsIDB4ZjUsIAotICAgIDB4MjMsIDB4NTQsIDB4YzAsIDB4NjgsIDB4MzgsIDB4N2UsIDB4ZTgsIDB4N2YsIDB4YmUsIDB4N2EsIDB4ZWMsIDB4MDAsIDB4ZmYsIDB4ZTAsIDB4NjAsIDB4MmUsIAotICAgIDB4MTIsIDB4MGMsIDB4MzcsIDB4ZjUsIDB4MjEsIDB4N2EsIDB4YTEsIDB4MjAsIDB4MjAsIDB4MDksIDB4MGMsIDB4MjAsIDB4MGEsIDB4MTIsIDB4N2UsIDB4YjAsIAotICAgIDB4MGUsIDB4N2EsIDB4YjMsIDB4OTIsIDB4MDAsIDB4ODAsIDB4MTAsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTIsIDB4MDAsIDB4ODAsIDB4MDcsIAotICAgIDB4N2UsIDB4YjAsIDB4MGEsIDB4N2EsIDB4YjMsIDB4OTIsIDB4MDAsIDB4N2EsIDB4YjEsIDB4MGQsIDB4MDIsIDB4MGMsIDB4YzQsIDB4MjIsIDB4N2UsIDB4YjAsIAotICAgIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIAotICAgIDB4MTksIDB4MGMsIDB4ODAsIDB4ZWEsIDB4YzIsIDB4YWYsIDB4YzIsIDB4MTEsIDB4YzIsIDB4MTIsIDB4NzUsIDB4YjAsIDB4ZGYsIDB4N2UsIDB4MDAsIDB4MDEsIAotICAgIDB4N2EsIDB4MDMsIDB4OTMsIDB4MDAsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIDB4OTAsIDB4MDAsIDB4NmMsIDB4MDAsIDB4N2UsIDB4MTAsIDB4MDMsIAotICAgIDB4MTIsIDB4MGMsIDB4ZjUsIDB4N2UsIDB4NjgsIDB4MmMsIDB4NjYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MGIsIDB4MDAsIAotICAgIDB4ODAsIDB4MzIsIDB4MDIsIDB4MWEsIDB4NmUsIDB4MjAsIDB4MTEsIDB4MmIsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIAotICAgIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIAotICAgIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4YTUsIDB4ZDksIDB4ZGMsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4MjIsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjksIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIAotICAgIDB4ZTQsIDB4MTAsIDB4MDAsIDB4N2UsIDB4NDAsIDB4NTUsIDB4N2EsIDB4ZTksIDB4NDAsIDB4MGIsIDB4ZTQsIDB4N2UsIDB4NTAsIDB4YWEsIDB4N2EsIDB4ZTksIAotICAgIDB4NTAsIDB4MWIsIDB4ZTQsIDB4YmUsIDB4ZTksIDB4NDAsIDB4NjgsIDB4MTksIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MTMsIDB4N2EsIDB4ZTksIDB4NDAsIDB4N2UsIDB4ZTksIDB4MTAsIDB4ODAsIAotICAgIDB4ZjgsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MGIsIDB4MDAsIDB4N2UsIDB4NjgsIAotICAgIDB4MmQsIDB4M2QsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzAsIDB4MGUsIAotICAgIDB4N2UsIDB4YTQsIDB4ZmYsIDB4ZmYsIDB4N2UsIDB4YjQsIDB4YmYsIDB4ZmYsIDB4N2QsIDB4Y2IsIDB4MGUsIDB4YzQsIDB4N2QsIDB4ZGMsIDB4NWQsIDB4ZGIsIAotICAgIDB4NmMsIDB4YmIsIDB4N2QsIDB4ZmEsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmIsIDB4NWUsIAotICAgIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmMsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIAotICAgIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4NmMsIDB4YmIsIDB4N2QsIDB4ZmEsIAotICAgIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4NDEsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmIsIDB4NWUsIDB4ZjQsIDB4N2YsIAotICAgIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4MzQsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmMsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIAotICAgIDB4YjAsIDB4NzgsIDB4MjcsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4MWEsIAotICAgIDB4MGIsIDB4YjAsIDB4YmUsIDB4YzQsIDB4ZmYsIDB4ZmUsIDB4NzgsIDB4OTIsIDB4MGUsIDB4YjQsIDB4YTUsIDB4ZGYsIDB4OGIsIDB4N2UsIDB4NjgsIDB4MmMsIAotICAgIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4NzcsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIDB4N2UsIDB4NjgsIAotICAgIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NjgsIDB4MmQsIDB4OGYsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MGEsIDB4NDcsIDB4MTIsIDB4MTksIDB4ZmEsIDB4N2UsIDB4NjgsIDB4MmQsIDB4ZGUsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4NmMsIDB4NzcsIDB4ZGEsIDB4NmIsIDB4Y2EsIDB4NmIsIDB4MGIsIDB4NzAsIDB4MGUsIDB4YzQsIDB4YmUsIDB4YzQsIAotICAgIDB4ZmYsIDB4ZmYsIDB4NzgsIDB4ZjYsIDB4MWIsIDB4NzAsIDB4MGEsIDB4NDcsIDB4MTIsIDB4MTksIDB4ZmEsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIAotICAgIDB4MzAsIDB4ZGEsIDB4NmIsIDB4ZGEsIDB4NWIsIDB4NmMsIDB4YmIsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2QsIDB4ZmEsIDB4NWUsIDB4ZjQsIDB4N2YsIAotICAgIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIDB4ZmIsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIDB4ZmMsIDB4NWUsIAotICAgIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4ODAsIAotICAgIDB4ZDQsIDB4N2UsIDB4NjgsIDB4MmQsIDB4MWIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MzAsIDB4MWYsIDB4MGUsIDB4N2UsIAotICAgIDB4NzgsIDB4MDQsIDB4MjAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NDQsIDB4N2IsIDB4ZTAsIDB4ODAsIDB4MGMsIDB4N2UsIDB4NzgsIDB4MDAsIAotICAgIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NDQsIDB4ODAsIDB4MDAsIDB4MGIsIDB4MDAsIDB4N2UsIDB4NDAsIDB4M2EsIDB4N2MsIDB4NTQsIAotICAgIDB4N2YsIDB4NTcsIDB4N2QsIDB4ODQsIDB4NmMsIDB4NjYsIDB4N2EsIDB4NWIsIDB4NTAsIDB4MGIsIDB4NWMsIDB4MGIsIDB4NTAsIDB4YTUsIDB4ZGUsIDB4MDIsIAotICAgIDB4MGIsIDB4NTAsIDB4MWIsIDB4ODQsIDB4NzgsIDB4ZjAsIDB4N2MsIDB4NTQsIDB4N2YsIDB4NTcsIDB4N2QsIDB4ODQsIDB4NmMsIDB4NjYsIDB4YmUsIDB4NWIsIAotICAgIDB4NTAsIDB4NzgsIDB4MWEsIDB4MGIsIDB4NWMsIDB4MGIsIDB4NTAsIDB4YTUsIDB4ZGUsIDB4MDIsIDB4MGIsIDB4NTAsIDB4MWIsIDB4ODQsIDB4NzgsIDB4ZWUsIAotICAgIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4NGIsIDB4N2YsIDB4NDUsIDB4N2UsIAotICAgIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NjgsIDB4MmQsIDB4NWYsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2QsIDB4NGIsIDB4MTIsIDB4MTksIDB4ZmEsIDB4N2UsIDB4NjgsIDB4MmQsIDB4NzQsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4NmMsIDB4ODgsIDB4N2MsIDB4OTUsIDB4MTIsIDB4MTksIDB4ZmEsIDB4N2UsIDB4NjgsIDB4MmQsIDB4ODIsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NGIsIDB4OTAsIDB4MTIsIDB4MTksIDB4ZmEsIDB4MTIsIDB4MTksIDB4MTksIAotICAgIDB4MzAsIDB4MTEsIDB4MDUsIDB4N2UsIDB4NGIsIDB4OTAsIDB4ODAsIDB4ZmIsIDB4N2UsIDB4NjgsIDB4MmUsIDB4MjgsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4MGIsIDB4MDAsIDB4N2UsIDB4YjAsIDB4ODAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YTAsIDB4NTUsIDB4N2EsIAotICAgIDB4YTMsIDB4OTEsIDB4MTAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDcsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTAsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MjAsIDB4N2UsIAotICAgIDB4YTAsIDB4YWEsIDB4N2EsIDB4YTMsIDB4OTEsIDB4MTAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDcsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTAsIDB4YmMsIDB4YWIsIAotICAgIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4MWIsIDB4N2UsIAotICAgIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MGEsIAotICAgIDB4N2EsIDB4YTMsIDB4OTEsIDB4MTAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTAsIDB4ODAsIDB4ZjYsIDB4N2UsIDB4NjgsIDB4MmUsIDB4NGEsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTIsIDB4MzEsIDB4MGIsIDB4MDAsIDB4N2UsIDB4ZTQsIDB4MTAsIDB4MDAsIDB4N2UsIDB4YTAsIAotICAgIDB4YTUsIDB4Y2EsIDB4YTgsIDB4N2EsIDB4ZTksIDB4YTAsIDB4N2UsIDB4YjAsIDB4MzAsIDB4N2EsIDB4YjMsIDB4OTUsIDB4MDAsIDB4N2UsIDB4ZTksIDB4YTAsIAotICAgIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTUsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4MGIsIDB4ZTUsIDB4N2UsIDB4YjAsIDB4MjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTUsIDB4MDAsIDB4N2UsIDB4ZTksIDB4YjAsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTUsIDB4MDAsIDB4N2UsIDB4ZTksIDB4YjAsIAotICAgIDB4ZGEsIDB4YTgsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIAotICAgIDB4YzQsIDB4ODAsIDB4MWQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIAotICAgIDB4MTksIDB4MzAsIDB4MTEsIDB4MGMsIDB4N2UsIDB4YjAsIDB4MzgsIDB4N2EsIDB4YjMsIDB4OTUsIDB4MDAsIDB4N2UsIDB4ZTksIDB4YjAsIDB4ODAsIDB4ZmIsIAotICAgIDB4ODAsIDB4MDAsIDB4N2UsIDB4NjgsIDB4MmQsIDB4ZTQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MGIsIDB4MDAsIDB4NzUsIAotICAgIDB4YjAsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4YmUsIDB4YjAsIDB4MDEsIDB4NzgsIDB4MGIsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTQsIDB4YmUsIDB4YjAsIDB4NjAsIDB4NzgsIDB4MDIsIDB4ODAsIDB4MTcsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MTEsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4ODAsIAotICAgIDB4ZmEsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NjgsIDB4MmUsIDB4MDYsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MGIsIDB4MDAsIDB4NzUsIDB4YjAsIDB4ZWYsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MWMsIDB4N2UsIDB4YjAsIDB4MDEsIDB4MTksIDB4YjIsIDB4MDAsIAotICAgIDB4MDgsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MzcsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4NWUsIDB4YjAsIDB4YzAsIAotICAgIDB4YmUsIDB4YjAsIDB4YzAsIDB4NzgsIDB4MmIsIDB4N2UsIDB4YTAsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MWMsIDB4NmMsIDB4YmIsIDB4MTksIDB4YjIsIAotICAgIDB4MDAsIDB4MDgsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MTYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4NWUsIDB4YjAsIAotICAgIDB4YzAsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4MWIsIAotICAgIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZGYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIAotICAgIDB4MGEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MWMsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4ODAsIDB4ZjYsIDB4N2UsIDB4NjgsIDB4MmUsIDB4NmMsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NjgsIDB4MmUsIDB4ZWUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIAotICAgIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4N2UsIDB4YjAsIDB4MDEsIDB4MTksIDB4YjIsIDB4MDAsIDB4MWMsIDB4MmUsIAotICAgIDB4MjQsIDB4MDEsIDB4MDAsIDB4MGIsIDB4YjAsIDB4YTUsIDB4ZDksIDB4ZjMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4N2UsIAotICAgIDB4YjAsIDB4MDEsIDB4MGIsIDB4MDAsIDB4MDksIDB4YTIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MTYsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4MGIsIDB4YjAsIDB4YTUsIDB4ZDksIDB4ZTIsIAotICAgIDB4ODAsIDB4MjUsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIAotICAgIDB4MzAsIDB4MTEsIDB4ZTQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MDksIDB4YTIsIDB4MDAsIDB4MWMsIDB4MmUsIDB4MjQsIAotICAgIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZjUsIDB4ODAsIDB4ZWMsIDB4N2UsIDB4NjgsIDB4MmYsIDB4MTIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIAotICAgIDB4MTksIDB4YzQsIDB4MTIsIDB4MTIsIDB4MzEsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4NzQsIDB4MTAsIAotICAgIDB4MTksIDB4YjIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTEsIDB4YWEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZWUsIDB4N2UsIDB4NjgsIAotICAgIDB4MmYsIDB4MzYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIAotICAgIDB4MGIsIDB4MDAsIDB4ZTQsIDB4MTksIDB4YjIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTEsIDB4YWEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIAotICAgIDB4ZWYsIDB4MzAsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MTcsIDB4M2IsIDB4MDIsIDB4MTIsIDB4NmEsIDB4NzQsIDB4MDcsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDgsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTQsIDB4YzIsIDB4MTMsIDB4N2UsIDB4YjAsIDB4NTUsIDB4MTIsIDB4MTIsIDB4MGIsIDB4N2UsIDB4YjAsIDB4YWEsIDB4MTIsIDB4MTIsIAotICAgIDB4MGIsIDB4N2UsIDB4YjAsIDB4MDAsIDB4MTIsIDB4MTIsIDB4MGIsIDB4N2UsIDB4YjAsIDB4ZmYsIDB4MTIsIDB4MTIsIDB4MGIsIDB4MzAsIDB4MTMsIDB4MGYsIAotICAgIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MjIsIDB4N2UsIAotICAgIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MjIsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIAotICAgIDB4MTgsIDB4ZmYsIDB4MDksIDB4YTIsIDB4MDAsIDB4MDAsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MTEsIDB4MDMsIDB4ZDIsIDB4MTMsIAotICAgIDB4MjIsIDB4MTIsIDB4MTksIDB4MTksIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YTIsIDB4MDAsIDB4MDAsIDB4ODAsIAotICAgIDB4ZjMsIDB4NzUsIDB4YjAsIDB4ZGYsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4NzUsIDB4YjAsIDB4ZWYsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4N2UsIDB4MjQsIDB4ODAsIAotICAgIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4NzQsIDB4ODAsIDB4MTksIDB4YjIsIDB4MDAsIDB4MGMsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDIsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MDQsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MTksIDB4YjIsIDB4MDAsIDB4MGMsIDB4NzQsIDB4MDYsIDB4MTksIDB4YjIsIAotICAgIDB4MDAsIDB4MDgsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZGIsIDB4MjIsIDB4N2UsIDB4NjgsIDB4MmYsIDB4NWEsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4MTIsIDB4MTgsIAotICAgIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4MWEsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIAotICAgIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MDksIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4ODAsIDB4ZjcsIDB4MmUsIAotICAgIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YjYsIDB4N2UsIDB4NjgsIDB4MmYsIDB4N2UsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIAotICAgIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTgsIDB4N2UsIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIAotICAgIDB4YjAsIDB4MGEsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIAotICAgIDB4MWEsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIAotICAgIDB4MTEsIDB4MDksIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4ODAsIDB4ZjcsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIAotICAgIDB4ZDksIDB4YjYsIDB4MzAsIDB4MDQsIDB4MDMsIDB4MDIsIDB4MTUsIDB4OWYsIDB4N2UsIDB4NjgsIDB4MmYsIDB4YTIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MGEsIAotICAgIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIAotICAgIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIAotICAgIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MGEsIDB4NzgsIDB4MTQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIAotICAgIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4ZTYsIDB4N2UsIAotICAgIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIAotICAgIDB4MmYsIDB4ZWEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIAotICAgIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIAotICAgIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIAotICAgIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDIsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4MTQsIAotICAgIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIAotICAgIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIAotICAgIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MzAsIDB4MzIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIAotICAgIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4NTAsIDB4YmUsIDB4YjAsIDB4NTAsIDB4NzgsIDB4MWYsIDB4NmMsIDB4YWEsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4NTAsIDB4NzgsIDB4MGQsIAotICAgIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIAotICAgIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MGYsIDB4N2UsIDB4YTAsIAotICAgIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIDB4MjQsIDB4MDEsIAotICAgIDB4MDAsIDB4YTUsIDB4ZDksIDB4YTIsIDB4N2UsIDB4NjgsIDB4MzAsIDB4N2EsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4YTAsIDB4YmUsIDB4YjAsIDB4YTAsIAotICAgIDB4NzgsIDB4MWYsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIAotICAgIDB4YjAsIDB4YTAsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIAotICAgIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIAotICAgIDB4MTEsIDB4MGYsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIAotICAgIDB4ZjEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4N2UsIDB4NjgsIDB4MzAsIDB4OWUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4MjAsIDB4YjEsIDB4MjYsIDB4N2UsIAotICAgIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MzAsIDB4YjEsIDB4MTksIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MjAsIDB4YjEsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTksIDB4YzQsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIAotICAgIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MGYsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YWUsIDB4MDIsIDB4MTcsIDB4M2IsIDB4N2UsIAotICAgIDB4NjgsIDB4MmYsIDB4YzYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIAotICAgIDB4MjEsIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIAotICAgIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDYsIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIAotICAgIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDYsIDB4NzgsIAotICAgIDB4MTQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIAotICAgIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIAotICAgIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MzAsIDB4MGUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIAotICAgIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIAotICAgIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDksIDB4NzgsIDB4M2MsIDB4N2UsIAotICAgIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDksIDB4NzgsIDB4MTQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIAotICAgIDB4MTksIDB4YzQsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MzAsIDB4NTYsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4OTAsIAotICAgIDB4YmUsIDB4YjAsIDB4OTAsIDB4NzgsIDB4MWYsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4OTAsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZTcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIAotICAgIDB4MTksIDB4YzQsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MmMsIDB4ZjAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MTIsIAotICAgIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MGYsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YTIsIDB4MjAsIDB4MWYsIDB4NjgsIDB4MTIsIDB4MTIsIAotICAgIDB4MzEsIDB4MTIsIDB4MTcsIDB4YTksIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIDB4MGIsIDB4MDAsIDB4MjAsIDB4ODksIDB4MjYsIAotICAgIDB4N2UsIDB4YTAsIDB4ZmYsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4N2UsIDB4YjAsIDB4NTUsIDB4MTksIDB4YjIsIDB4MDAsIAotICAgIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MzAsIDB4ODksIDB4MGYsIDB4N2UsIDB4YTAsIDB4MDAsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTgsIAotICAgIDB4ZmYsIDB4MjAsIDB4ODksIDB4MDIsIDB4ODAsIDB4MjYsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4MjAsIDB4N2UsIDB4YTAsIDB4ZmYsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4N2UsIDB4YjAsIDB4NTUsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTgsIDB4ZmYsIAotICAgIDB4N2UsIDB4YTAsIDB4MDAsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4ODAsIDB4ZTAsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIAotICAgIDB4YTUsIDB4ZDksIDB4YTgsIDB4MDIsIDB4MTcsIDB4YzIsIDB4MDIsIDB4MTgsIDB4NGMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MjEsIAotICAgIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIAotICAgIDB4ZWYsIDB4MjIsIDB4MzAsIDB4MWYsIDB4MDMsIDB4MDIsIDB4MTgsIDB4NGMsIDB4YzIsIDB4OGEsIDB4MTIsIDB4MTcsIDB4YTksIDB4MGIsIDB4MDAsIDB4MTIsIAotICAgIDB4MTgsIDB4MTYsIDB4MjAsIDB4OGIsIDB4MjQsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MDcsIDB4NzQsIDB4MGMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4MTIsIDB4MTksIDB4MGMsIAotICAgIDB4MzAsIDB4OGIsIDB4MDYsIDB4MTIsIDB4MTgsIDB4MTYsIDB4MzAsIDB4OGIsIDB4YWQsIDB4MTIsIDB4MTksIDB4MTksIDB4MzAsIDB4MTEsIDB4YTcsIDB4MTIsIAotICAgIDB4MTgsIDB4MTYsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4MTIsIDB4MTksIAotICAgIDB4MGMsIDB4MTIsIDB4MTgsIDB4MTYsIDB4ODAsIDB4ZTksIDB4N2UsIDB4YTAsIDB4MDAsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2EsIAotICAgIDB4YTMsIDB4OTEsIDB4MDcsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2EsIDB4YTMsIDB4OTEsIDB4MDcsIDB4MTIsIDB4MTgsIDB4ZmYsIAotICAgIDB4NzQsIDB4ZWYsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4NzQsIDB4ODAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDMsIDB4NzQsIDB4MGMsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MDYsIDB4NzQsIDB4MDgsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4MTIsIDB4MTksIDB4MGMsIDB4MjIsIDB4MzAsIDB4MTIsIDB4MTksIDB4N2UsIAotICAgIDB4NjgsIDB4MzAsIDB4YzIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4ZDIsIDB4MTEsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MTIsIAotICAgIDB4MTgsIDB4ZmYsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4MDIsIDB4MGMsIDB4Y2EsIDB4MzAsIDB4MWYsIDB4MWMsIDB4N2UsIDB4NjgsIDB4MzEsIDB4M2MsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4N2UsIDB4NjgsIDB4MzEsIDB4NWUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIAotICAgIDB4YzQsIDB4MTIsIDB4MWEsIDB4NmUsIDB4MDIsIDB4MTgsIDB4ZjcsIDB4MGIsIDB4MDAsIDB4N2UsIDB4NzgsIDB4MTgsIDB4YjEsIDB4N2EsIDB4N2MsIDB4MDAsIAotICAgIDB4ZmYsIDB4N2YsIDB4NjcsIDB4N2EsIDB4NmMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzAsIDB4M2UsIDB4N2UsIDB4N2IsIDB4YjAsIDB4N2EsIDB4NmIsIDB4YjAsIAotICAgIDB4MGIsIDB4N2MsIDB4MGIsIDB4NmMsIDB4YTUsIDB4ZGYsIDB4ZjMsIDB4N2UsIDB4NzgsIDB4MTgsIDB4YjEsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4ODksIAotICAgIDB4NzgsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4NjgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4ZmUsIDB4NzQsIDB4YWEsIDB4MzksIDB4YjcsIDB4NTUsIDB4NTUsIDB4NzQsIDB4NTUsIDB4MzksIDB4YjcsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIDB4MzksIAotICAgIDB4YjcsIDB4NTUsIDB4NTUsIDB4NmMsIDB4OTksIDB4N2EsIDB4NmIsIDB4OTAsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIDB4N2UsIDB4NmIsIDB4ODAsIDB4YmMsIAotICAgIDB4ODksIDB4NjgsIDB4MDgsIDB4MWIsIDB4NTQsIDB4NzgsIDB4ZjUsIDB4OGEsIDB4ZmYsIDB4MTgsIDB4ZWYsIDB4OGEsIDB4ZmYsIDB4MTgsIDB4ZjcsIDB4MTIsIAotICAgIDB4MTksIDB4MTksIDB4N2UsIDB4NmIsIDB4ODAsIDB4ODAsIDB4ZmIsIDB4N2UsIDB4MTAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YWMsIDB4ODAsIDB4ZjgsIDB4Y2EsIAotICAgIDB4ZjksIDB4N2UsIDB4ZjQsIDB4MDAsIDB4ZmYsIDB4MWIsIDB4ZjQsIDB4NzgsIDB4ZmMsIDB4ZGEsIDB4ZjksIDB4MjIsIDB4Y2EsIDB4ZjksIDB4N2UsIDB4ZjQsIAotICAgIDB4MDAsIDB4MDAsIDB4MWIsIDB4ZjQsIDB4NzgsIDB4ZmMsIDB4ZGEsIDB4ZjksIDB4MjIsIDB4MjAsIDB4MTEsIDB4MjAsIDB4ZDIsIDB4MTIsIDB4MTIsIDB4MTksIAotICAgIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIAotICAgIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MjIsIDB4Y2EsIDB4MGIsIDB4N2UsIDB4MTAsIAotICAgIDB4MDMsIDB4N2MsIDB4MzAsIDB4NmMsIDB4MjIsIDB4MGIsIDB4MjAsIDB4OWUsIDB4MzAsIDB4MGEsIDB4NTAsIDB4ZjksIDB4MmUsIDB4MzAsIDB4MGIsIDB4MWIsIAotICAgIDB4MjAsIDB4NjgsIDB4MjAsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIAotICAgIDB4YTUsIDB4ZGEsIDB4ZTAsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIDB4MWIsIDB4MzAsIDB4NjgsIDB4MjAsIDB4MTIsIDB4MTksIDB4MGMsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4MTIsIDB4MTksIDB4MGMsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4YTUsIDB4ZGIsIDB4ZTAsIDB4N2UsIDB4MjAsIDB4MGEsIAotICAgIDB4MTIsIDB4MTksIDB4MGMsIDB4YTUsIDB4ZGEsIDB4ZmEsIDB4YTUsIDB4ZDksIDB4OTgsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4MjAsIDB4MTEsIDB4MTQsIDB4MTIsIAotICAgIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4MTIsIDB4MTksIDB4MGMsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTAsIDB4MDAsIDB4MjIsIDB4MzAsIDB4MWYsIDB4MzIsIDB4MjAsIDB4MTEsIDB4MmYsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4N2IsIDB4N2UsIDB4NzgsIAotICAgIDB4ODAsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmUsIDB4MTIsIDB4MWEsIDB4NGQsIDB4N2UsIDB4NmIsIDB4YTAsIDB4NWMsIDB4YWEsIDB4NjgsIDB4MTAsIAotICAgIDB4MjksIDB4YjcsIDB4MDAsIDB4MTQsIDB4NTQsIDB4NjAsIDB4NjgsIDB4ZjgsIDB4MzksIDB4YTcsIDB4MDAsIDB4MDAsIDB4MGIsIDB4NmMsIDB4ODAsIDB4ZTksIAotICAgIDB4MTIsIDB4MTgsIDB4ZmYsIDB4ZDIsIDB4YjUsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4MmIsIDB4MjIsIDB4MTIsIDB4MWEsIDB4MDUsIDB4N2UsIDB4NjgsIDB4MDAsIAotICAgIDB4MGMsIDB4MTIsIDB4MTksIDB4YzQsIDB4MjIsIDB4Y2EsIDB4NTksIDB4Y2EsIDB4NWIsIDB4N2UsIDB4YjQsIDB4MDAsIDB4MGMsIDB4N2MsIDB4YjgsIDB4YzQsIAotICAgIDB4MTIsIDB4MWEsIDB4MzUsIDB4N2MsIDB4YjgsIDB4MTIsIDB4MWEsIDB4MzUsIDB4N2MsIDB4YjksIDB4YzQsIDB4MTIsIDB4MWEsIDB4MzUsIDB4N2MsIDB4YjksIAotICAgIDB4MTIsIDB4MWEsIDB4MzUsIDB4N2UsIDB4YjAsIDB4NjgsIDB4N2EsIDB4YjksIDB4YjAsIDB4MGIsIDB4YjQsIDB4NmMsIDB4YmIsIDB4N2EsIDB4YjksIDB4YjAsIAotICAgIDB4ZGEsIDB4NTksIDB4ZGEsIDB4NWIsIDB4MjIsIDB4NWUsIDB4YjAsIDB4MGYsIDB4N2MsIDB4YWIsIDB4OWUsIDB4YTAsIDB4MGEsIDB4NDAsIDB4MDUsIDB4MmUsIAotICAgIDB4YjAsIDB4MzcsIDB4ODAsIDB4MDMsIDB4MmUsIDB4YjAsIDB4MzAsIDB4N2EsIDB4YjksIDB4YjAsIDB4MGIsIDB4YjQsIDB4MjIsIDB4YzIsIDB4YjUsIDB4NzUsIAotICAgIDB4YjAsIDB4ZWYsIDB4MTIsIDB4MTgsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MzksIDB4YjcsIDB4MDAsIDB4MGMsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDYsIDB4MzksIAotICAgIDB4YTcsIDB4MDAsIDB4MDQsIDB4MzksIDB4YjcsIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MzksIDB4YjcsIDB4MDAsIDB4MGMsIDB4MjIsIDB4N2UsIDB4NzgsIAotICAgIDB4MDAsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmYsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4MDEsIDB4N2YsIDB4NjUsIAotICAgIDB4N2UsIDB4NzQsIDB4MjAsIDB4MDAsIDB4MTIsIDB4MGIsIDB4NjMsIDB4NDAsIDB4NTgsIDB4N2UsIDB4NzgsIDB4N2MsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIAotICAgIDB4ZmYsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NjgsIDB4N2MsIDB4MDAsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4MDEsIDB4N2UsIDB4NzQsIDB4MDQsIDB4MDAsIDB4MTIsIDB4MGIsIDB4NjMsIDB4NDAsIDB4MzcsIDB4NzQsIDB4ODAsIDB4MTIsIDB4MWEsIDB4ZWEsIDB4NDAsIAotICAgIDB4MzAsIDB4N2UsIDB4MDAsIDB4MDMsIDB4N2EsIDB4MDMsIDB4OTAsIDB4MDAsIDB4ZDIsIDB4MTAsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDgsIDB4N2UsIDB4MTQsIAotICAgIDB4MDAsIDB4MDAsIDB4ODQsIDB4YTUsIDB4ZGIsIDB4ZmMsIDB4YTUsIDB4ZGEsIDB4ZjksIDB4YTUsIDB4ZDksIDB4ZjYsIDB4NzQsIDB4NDAsIDB4MTIsIDB4MWEsIAotICAgIDB4ZWEsIDB4NDAsIDB4MGUsIDB4N2UsIDB4NjgsIDB4MzEsIDB4OGQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MTksIDB4YzQsIDB4MDIsIDB4MTgsIAotICAgIDB4ZjcsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4ODAsIDB4ZmUsIDB4ZjUsIDB4MGIsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MGIsIAotICAgIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NjgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NzQsIDB4MDAsIDB4MDEsIAotICAgIDB4MDIsIDB4MGIsIDB4NjMsIAotCi0vLyBTZWdtZW50ICMxOSwgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmMmM2NiwgTGVuZ3RoIDEzOTMKLQotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyBJTUFHRV9WRVJTSU9OX05BTUUgPSB7Ci0JMiwgMCwgMyB9OwkJLy8gTWFqb3IsIE1pbm9yLCBCdWlsZAotCi0jdW5kZWYgSU1BR0VfVkVSU0lPTl9OQU1FCi0KLSN1bmRlZiBJTUFHRV9BUlJBWV9OQU1FCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTYxZDgwLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMjI5ICswLDAgQEAKLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQotLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgotLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0vLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLS8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0KLQotLy9JbWFnZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgotI2lmICFkZWZpbmVkKERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQpCi0JI2RlZmluZSBERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JECi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkIHsKLQkJX19sZTE2IEV4dEFkZHI7Ci0JCV9fbGUxNiBBZGRyOwotCQlfX2xlMTYgTGVuOwotCQl1bnNpZ25lZCBjaGFyCURhdGFbMF07Ci0JfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gewotCQl1bnNpZ25lZCBjaGFyCU1ham9yVmVyc2lvbjsKLQkJdW5zaWduZWQgY2hhcglNaW5vclZlcnNpb247Ci0JCXVuc2lnbmVkIHNob3J0CUJ1aWxkTnVtYmVyOwotCX07Ci0KLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSU1BR0VfQVJSQVlfTkFNRSkKLQkjZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJRmlybXdhcmVJbWFnZQotCSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUZpcm13YXJlSW1hZ2VWZXJzaW9uCi0jZW5kaWYKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgSU1BR0VfQVJSQVlfTkFNRVtdID0gewotCi0vLyBTZWdtZW50ICMxLCBTdGFydCBBZGRyZXNzIDAwZmYwMDAwLCBMZW5ndGggNgotMHhmZiwweDAwLDB4MDAsMHgwMCwweDA2LDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg4MCwgMHgwMiwgMHg0NCwgMHhiMCwgCi0KLS8vIFNlZ21lbnQgIzIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgwYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDQ0LCAweDcyLCAKLQotLy8gU2VnbWVudCAjMywgU3RhcnQgQWRkcmVzcyAwMGZmMDAxMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDEzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MTMsIAotCi0vLyBTZWdtZW50ICM0LCBTdGFydCBBZGRyZXNzIDAwZmYwMDFiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MWIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgxYiwgCi0KLS8vIFNlZ21lbnQgIzUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMjMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDIzLCAKLQotLy8gU2VnbWVudCAjNiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDJiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MmIsIAotCi0vLyBTZWdtZW50ICM3LCBTdGFydCBBZGRyZXNzIDAwZmYwMDMzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MzMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzMywgCi0KLS8vIFNlZ21lbnQgIzgsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwM2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDNiLCAKLQotLy8gU2VnbWVudCAjOSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDQzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4NDMsIAotCi0vLyBTZWdtZW50ICMxMCwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDRiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NmUsIDB4YzQsIAotCi0vLyBTZWdtZW50ICMxMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA1MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDUzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NzUsIDB4OGQsIAotCi0vLyBTZWdtZW50ICMxMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDA3YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDdiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4N2IsIAotCi0vLyBTZWdtZW50ICMxMywgU3RhcnQgQWRkcmVzcyAwMGZmMDA4MCwgTGVuZ3RoIDcKLTB4ZmYsMHgwMCwweDgwLDB4MDAsMHgwNywweDAwLAotICAgIDB4N2UsIDB4MTQsIDB4MDAsIDB4MDAsIDB4MDIsIDB4NDAsIDB4NTEsIAotCi0vLyBTZWdtZW50ICMxNCwgU3RhcnQgQWRkcmVzcyAwMGZmMzAwMCwgTGVuZ3RoIDIxNzgKLTB4ZmYsMHgwMCwweDAwLDB4MzAsMHg4MiwweDA4LAotICAgIDB4MTIsIDB4MzcsIDB4MjgsIDB4MTIsIDB4MzAsIDB4M2UsIDB4MTIsIDB4MzAsIDB4NTQsIDB4MTIsIDB4MzAsIDB4ZTUsIDB4MTIsIDB4MzEsIDB4NjgsIDB4MTIsIAotICAgIDB4MzUsIDB4MjAsIDB4MTIsIDB4MzgsIDB4NTgsIDB4MTIsIDB4MzEsIDB4MTUsIDB4MTIsIDB4MzEsIDB4NDAsIDB4MTIsIDB4MzAsIDB4YTAsIDB4ODAsIDB4ZTAsIAotICAgIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MTksIDB4N2UsIDB4MTQsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjEsIDB4MDEsIDB4Y2YsIDB4YjQsIDB4MDAsIDB4MDIsIDB4ODAsIAotICAgIDB4MDUsIDB4MTQsIDB4MTksIDB4YjEsIDB4MDEsIDB4Y2YsIDB4YTUsIDB4MGIsIDB4YmUsIDB4MzEsIDB4MmYsIDB4NzgsIDB4ZWIsIDB4MjIsIDB4YzIsIDB4YWYsIAotICAgIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4YjQsIDB4MDEsIDB4MGEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDIsIDB4MTIsIDB4NzAsIDB4ZWYsIDB4ZDAsIAotICAgIDB4ZjEsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MjIsIDB4NjAsIDB4NDMsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4YmUsIDB4MDQsIAotICAgIDB4MDMsIDB4ODAsIDB4MzgsIDB4MzksIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MjEsIDB4MDksIDB4YTAsIAotICAgIDB4MDAsIDB4MDQsIDB4NGUsIDB4YTAsIDB4MDUsIDB4MTksIDB4YTAsIDB4MDAsIDB4MDQsIDB4MGEsIDB4MzIsIDB4MDksIDB4NTMsIDB4NjcsIDB4OGUsIDB4NWUsIAotICAgIDB4NTEsIDB4MjcsIDB4NjgsIDB4MGIsIDB4MDksIDB4YTAsIDB4MDAsIDB4MTAsIDB4NGUsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTAsIDB4MDAsIDB4MTAsIDB4MmUsIAotICAgIDB4MDQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZDEsIDB4NzUsIDB4MjIsIDB4MDAsIDB4ZDIsIDB4YWYsIDB4MjIsIAotICAgIDB4YzIsIDB4YWYsIDB4N2UsIDB4MjAsIDB4MDAsIDB4N2UsIDB4MzAsIDB4MDEsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MzIsIDB4MDEsIAotICAgIDB4OGYsIDB4YmUsIDB4MzQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YjEsIDB4MjEsIDB4YTUsIDB4NGIsIDB4N2EsIDB4YjEsIDB4MjEsIDB4Y2EsIAotICAgIDB4MTksIDB4NDksIDB4MjIsIDB4MzAsIDB4ZDUsIDB4OTksIDB4MjQsIDB4ZGEsIDB4MTksIDB4M2UsIDB4MzAsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIAotICAgIDB4NzgsIDB4ZDYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NDYsIDB4MGYsIDB4NDksIDB4NjcsIDB4NGMsIDB4YmYsIDB4NTAsIDB4MTcsIDB4NTMsIDB4NmYsIDB4NTYsIAotICAgIDB4YzcsIDB4NWEsIDB4MWYsIDB4NWQsIDB4NzcsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MzIsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIAotICAgIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIDB4MDIsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZWYsIDB4ZDIsIAotICAgIDB4YWYsIDB4MjIsIDB4Y2EsIDB4MjgsIDB4MTIsIDB4NjcsIDB4YWIsIDB4ZGEsIDB4MjgsIDB4NDAsIDB4MDksIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIDB4NjcsIAotICAgIDB4OGUsIDB4ZjQsIDB4NTIsIDB4MzIsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MzQsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIAotICAgIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIDB4MzIsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZWYsIDB4ZDIsIAotICAgIDB4YWYsIDB4MjIsIDB4Y2EsIDB4MjgsIDB4MGEsIDB4MjIsIDB4MDksIDB4NDIsIDB4MDAsIDB4M2UsIDB4MTIsIDB4NjksIDB4YzIsIDB4ZGEsIDB4MjgsIDB4MjIsIAotICAgIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MzUsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIAotICAgIDB4NWQsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4Y2EsIDB4MjgsIDB4N2UsIAotICAgIDB4NDAsIDB4MDAsIDB4MTIsIDB4NmMsIDB4NWIsIDB4ZGEsIDB4MjgsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIAotICAgIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIDB4ODUsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIAotICAgIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4MzEsIDB4OTAsIDB4ODksIDB4MjQsIAotICAgIDB4MzEsIDB4YTAsIDB4MzIsIDB4MTAsIDB4MzIsIDB4ODAsIDB4MzIsIDB4ZjAsIDB4MzMsIDB4NjAsIDB4MzMsIDB4ZDAsIDB4MzQsIDB4NDAsIDB4MzQsIDB4YjAsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OGYsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NDksIDB4MzAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4OWYsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OWYsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4Y2YsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4Y2YsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MTgsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4Y2YsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTEsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODEsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NGMsIDB4ODgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTEsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YTEsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDAsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDAsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MTksIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDAsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTMsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODIsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NGYsIDB4ZTAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTMsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YTMsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDEsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDEsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWEsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTUsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODMsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NTMsIDB4MzgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTUsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YTUsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDIsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDIsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWIsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDIsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTcsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODQsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NTYsIDB4OTAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTcsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YTcsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDMsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDMsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWMsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDMsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTksIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODUsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NTksIDB4ZTgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTksIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YTksIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDQsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDQsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWQsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDQsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWIsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODYsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NWQsIDB4NDAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YWIsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YWIsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDUsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDUsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWUsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDUsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWQsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODcsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NjAsIDB4OTgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YWQsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4YWQsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4ZDYsIDB4ODAsIAotICAgIDB4MmUsIDB4N2UsIDB4NjMsIDB4MDEsIDB4ZDYsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MjYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTgsIDB4NzUsIDB4MzEsIDB4YjMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MWYsIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDYsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MjQsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzUsIAotICAgIDB4M2QsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIAotICAgIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4MzUsIDB4NDgsIDB4ODksIDB4MjQsIDB4MzUsIDB4NTgsIDB4MzUsIDB4OTIsIDB4MzUsIDB4Y2MsIDB4MzYsIDB4MDYsIAotICAgIDB4MzYsIDB4NDAsIDB4MzYsIDB4N2EsIDB4MzYsIDB4YjQsIDB4MzYsIDB4ZWUsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NDksIDB4MzAsIAotICAgIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIAotICAgIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjAsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIAotICAgIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODEsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIAotICAgIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NGMsIDB4ODgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIAotICAgIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIAotICAgIDB4MjEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODIsIDB4MDAsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIAotICAgIDB4MTIsIDB4MTIsIDB4NGYsIDB4ZTAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIAotICAgIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjIsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIAotICAgIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODMsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIAotICAgIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTMsIDB4MzgsIDB4N2QsIDB4MjEsIAotICAgIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjMsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIAotICAgIDB4N2UsIDB4MjQsIDB4ODQsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIAotICAgIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTYsIDB4OTAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIAotICAgIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjQsIDB4YzAsIAotICAgIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODUsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NTksIDB4ZTgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIAotICAgIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjUsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIAotICAgIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODYsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIAotICAgIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NWQsIDB4NDAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIAotICAgIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4YzIsIDB4MjYsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIAotICAgIDB4ODcsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIAotICAgIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NjAsIDB4OTgsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4NWUsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIDB4OTAsIAotICAgIDB4MTIsIDB4NjIsIDB4OTMsIDB4NDAsIDB4MTIsIDB4NzUsIDB4MzEsIDB4YjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzIsIDB4MjcsIDB4YzAsIDB4ZjEsIDB4NzUsIAotICAgIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MzMsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIAotICAgIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzcsIDB4NDUsIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmYsIAotICAgIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4MzcsIDB4NTAsIDB4ODksIDB4MjQsIAotICAgIDB4MzcsIDB4NjAsIDB4MzcsIDB4N2YsIDB4MzcsIDB4OWUsIDB4MzcsIDB4YmQsIDB4MzcsIDB4ZGMsIDB4MzcsIDB4ZmIsIDB4MzgsIDB4MWEsIDB4MzgsIDB4MzksIAotICAgIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NDgsIDB4MWIsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIAotICAgIDB4ODAsIDB4MGMsIDB4ZDIsIDB4MDEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIAotICAgIDB4MjQsIDB4ODEsIDB4MDAsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NGIsIDB4NzMsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIAotICAgIDB4MGMsIDB4ZDIsIDB4MDEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIAotICAgIDB4ODIsIDB4MDAsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NGUsIDB4Y2IsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIAotICAgIDB4ZDIsIDB4MDEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODMsIAotICAgIDB4MDAsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTIsIDB4MjMsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIDB4ZDIsIAotICAgIDB4MDEsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODQsIDB4MDAsIAotICAgIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTUsIDB4N2IsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIDB4ZDIsIDB4MDEsIAotICAgIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODUsIDB4MDAsIDB4Y2EsIAotICAgIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTgsIDB4ZDMsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIDB4ZDIsIDB4MDEsIDB4YzAsIAotICAgIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODYsIDB4MDAsIDB4Y2EsIDB4MTksIAotICAgIDB4N2QsIDB4MTIsIDB4MTIsIDB4NWMsIDB4MmIsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIDB4ZDIsIDB4MDEsIDB4YzAsIDB4ZjEsIAotICAgIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODcsIDB4MDAsIDB4Y2EsIDB4MTksIDB4N2QsIAotICAgIDB4MTIsIDB4MTIsIDB4NWYsIDB4ODMsIDB4ZGEsIDB4MTksIDB4MTAsIDB4MDQsIDB4MDIsIDB4ODAsIDB4MGMsIDB4ZDIsIDB4MDEsIDB4YzAsIDB4ZjEsIDB4NzUsIAotICAgIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4YzIsIDB4YWYsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4YTksIAotICAgIDB4MzIsIDB4ZjIsIDB4MWEsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4YmUsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MTAsIDB4ZTUsIDB4ZjUsIDB4MzMsIAotICAgIDB4ODIsIDB4ZTcsIDB4NDAsIDB4MDksIDB4ODUsIDB4MzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4ZjYsIDB4MDAsIDB4ZDAsIDB4ZjEsIDB4ZDIsIAotICAgIDB4YWYsIDB4MjIsIAotCi0vLyBTZWdtZW50ICMxNSwgU3RhcnQgQWRkcmVzcyAwMGZmNDAwMCwgTGVuZ3RoIDE1MzgxCi0weGZmLDB4MDAsMHgwMCwweDQwLDB4MTUsMHgzYywKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAweDE0LCAweDdmLCAweGY4LCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdkLCAweDMxLCAweDBiLCAweDFhLCAKLSAgICAweDUwLCAweDFiLCAweDBhLCAweDUwLCAweDdlLCAweDE0LCAweDQwLCAweDFiLCAweDAyLCAweDQwLCAweDZhLCAweDdlLCAweGY4LCAweDAwLCAweDZmLCAweGQyLCAKLSAgICAweDA0LCAweGMyLCAweDk0LCAweGQyLCAweDk1LCAweDdlLCAweGY0LCAweDQwLCAweDJjLCAweDAyLCAweDQwLCAweDdjLCAweDEyLCAweDdkLCAweDMwLCAweGY1LCAKLSAgICAweDJmLCAweDdhLCAweGExLCAweDMwLCAweDdhLCAweDExLCAweDZlLCAweDEyLCAweDc1LCAweGNhLCAweDEyLCAweDQwLCAweGRjLCAweDdlLCAweGIzLCAweDNmLCAKLSAgICAweGYxLCAweDYwLCAweDAzLCAweDEyLCAweDQzLCAweGQ0LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDc2LCAweDZmLCAweGQyLCAweGFmLCAweDAyLCAweDMwLCAKLSAgICAweDAwLCAweDdlLCAweDA0LCAweDAwLCAweGZmLCAweDdlLCAweDE4LCAweDQwLCAweDVmLCAweDdhLCAweDFjLCAweDAwLCAweDAxLCAweDg5LCAweDE4LCAweGE5LCAKLSAgICAweDI1LCAweDg3LCAweDAzLCAweGE5LCAweGQ1LCAweDg3LCAweGQyLCAweDkzLCAweDg5LCAweDA4LCAweDdlLCAweDA0LCAweDAwLCAweGZmLCAweDdlLCAweDE4LCAKLSAgICAweDQwLCAweDc4LCAweDdhLCAweDFjLCAweDAwLCAweDAxLCAweDg5LCAweDE4LCAweGMyLCAweDkzLCAweDg5LCAweDA4LCAweDdlLCAweDA4LCAweDAwLCAweDIwLCAKLSAgICAweDdlLCAweDQ0LCAweDA0LCAweDAwLCAweDdlLCAweDQwLCAweDAwLCAweDdlLCAweGU0LCAweDQwLCAweDhlLCAweDAyLCAweDdjLCAweDMwLCAweDdlLCAweDA4LCAKLSAgICAweDAxLCAweDZmLCAweDdlLCAweDQ0LCAweDI4LCAweDdjLCAweDdlLCAweDQwLCAweDAwLCAweDdlLCAweGU0LCAweDQwLCAweGEwLCAweDAyLCAweDdjLCAweDMwLCAKLSAgICAweDdlLCAweDA4LCAweDAwLCAweDZmLCAweDdlLCAweDQ0LCAweDAxLCAweDAwLCAweDdlLCAweDQwLCAweDUzLCAweDdlLCAweGU0LCAweDQwLCAweGIyLCAweDAyLCAKLSAgICAweDdjLCAweDMwLCAweDc1LCAweDZkLCAweDIwLCAweDc1LCAweDZjLCAweDMwLCAweDdlLCAweDA0LCAweDAwLCAweDA4LCAweDc1LCAweDZhLCAweDU4LCAweDc1LCAKLSAgICAweDZiLCAweDA4LCAweDc1LCAweDY3LCAweDA4LCAweDc1LCAweDY5LCAweDAxLCAweDc1LCAweDg5LCAweDAxLCAweDc1LCAweDhhLCAweDAxLCAweDc1LCAweDhjLCAKLSAgICAweDAwLCAweGQyLCAweDhjLCAweDdlLCAweDA0LCAweDAwLCAweDAyLCAweDdhLCAweDA1LCAweDU4LCAweDg5LCAweGY0LCAweDc1LCAweGI3LCAweDdmLCAweDc1LCAKLSAgICAweGI4LCAweDdmLCAweDc1LCAweGIzLCAweDA3LCAweDc1LCAweGIyLCAweDA3LCAweGQyLCAweGE5LCAweDIyLCAweGQyLCAweDkyLCAweGU0LCAweGQ1LCAweGUwLCAKLSAgICAweGZkLCAweGMyLCAweDkyLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDJmLCAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAweDAwLCAKLSAgICAweDEwLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGYyLCAweDdlLCAweDIwLCAweDAwLCAweDEyLCAweDQxLCAweDdlLCAweDBiLCAweDIwLCAKLSAgICAweGJlLCAweDIxLCAweDJmLCAweDc4LCAweGY2LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAKLSAgICAweDAwLCAweDBjLCAweDc0LCAweDEwLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDc0LCAweDgwLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDdlLCAweDU0LCAKLSAgICAweDAwLCAweDAyLCAweDE5LCAweGEwLCAweDAwLCAweDA0LCAweDE5LCAweGIwLCAweDAwLCAweDAwLCAweDc0LCAweDAzLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAKLSAgICAweDc0LCAweDA3LCAweGE5LCAweDIwLCAweDMwLCAweDBiLCAweGE5LCAweDM1LCAweDMwLCAweDA1LCAweGJlLCAweDIwLCAweDAxLCAweDI4LCAweDAyLCAweDc0LCAKLSAgICAweDBmLCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweGE5LCAweDMzLCAweDMwLCAweDE4LCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDc0LCAKLSAgICAweDI4LCAweGE5LCAweDIwLCAweDMwLCAweDAyLCAweDc0LCAweDIwLCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDc0LCAweDAzLCAweDE5LCAweGIwLCAweDAwLCAKLSAgICAweDBjLCAweDc0LCAweGE3LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDc0LCAweDBjLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweDIyLCAweDdlLCAweDA0LCAKLSAgICAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweGU0LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDA5LCAweGIwLCAweDAwLCAweDEwLCAweDU0LCAweDA4LCAweDE5LCAKLSAgICAweGIwLCAweDAwLCAweDEwLCAweDc0LCAweGE3LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAKLSAgICAweDIyLCAweDQxLCAweGE1LCAweDg5LCAweDI0LCAweDQxLCAweGI1LCAweDQxLCAweGQ0LCAweDQxLCAweGYzLCAweDQyLCAweDEyLCAweDQyLCAweDMxLCAweDQyLCAKLSAgICAweDUwLCAweDQyLCAweDZmLCAweDQyLCAweDhlLCAweGMyLCAweDEwLCAweGMyLCAweDE4LCAweGMyLCAweDIwLCAweGMyLCAweDA4LCAweDdlLCAweDA0LCAweDA5LCAKLSAgICAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDZmLCAweDdhLCAweDA3LCAweDAxLCAweDdmLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDhmLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDlmLCAweDIyLCAweGMyLCAweDExLCAweGMyLCAweDE5LCAweGMyLCAweDIxLCAweGMyLCAweDA5LCAweDdlLCAweDA0LCAweDBkLCAweGUzLCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweDcxLCAweDdhLCAweDA3LCAweDAxLCAweDgxLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDkxLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGExLCAweDIyLCAweGMyLCAweDEyLCAweGMyLCAweDFhLCAweGMyLCAweDIyLCAweGMyLCAweDBhLCAweDdlLCAweDA0LCAweDExLCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDczLCAweDdhLCAweDA3LCAweDAxLCAweDgzLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDkzLCAweDdhLCAweDA3LCAweDAxLCAKLSAgICAweGEzLCAweDIyLCAweGMyLCAweDEzLCAweGMyLCAweDFiLCAweGMyLCAweDIzLCAweGMyLCAweDBiLCAweDdlLCAweDA0LCAweDE1LCAweGUzLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDc1LCAweDdhLCAweDA3LCAweDAxLCAweDg1LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDk1LCAweDdhLCAweDA3LCAweDAxLCAweGE1LCAKLSAgICAweDIyLCAweGMyLCAweDE0LCAweGMyLCAweDFjLCAweGMyLCAweDI0LCAweGMyLCAweDBjLCAweDdlLCAweDA0LCAweDE5LCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAKLSAgICAweDc3LCAweDdhLCAweDA3LCAweDAxLCAweDg3LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDk3LCAweDdhLCAweDA3LCAweDAxLCAweGE3LCAweDIyLCAKLSAgICAweGMyLCAweDE1LCAweGMyLCAweDFkLCAweGMyLCAweDI1LCAweGMyLCAweDBkLCAweDdlLCAweDA0LCAweDFkLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDc5LCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweDg5LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDk5LCAweDdhLCAweDA3LCAweDAxLCAweGE5LCAweDIyLCAweGMyLCAKLSAgICAweDE2LCAweGMyLCAweDFlLCAweGMyLCAweDI2LCAweGMyLCAweDBlLCAweDdlLCAweDA0LCAweDIxLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDdiLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDhiLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDliLCAweDdhLCAweDA3LCAweDAxLCAweGFiLCAweDIyLCAweGMyLCAweDE3LCAKLSAgICAweGMyLCAweDFmLCAweGMyLCAweDI3LCAweGMyLCAweDBmLCAweDdlLCAweDA0LCAweDI1LCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDdkLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDhkLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDlkLCAweDdhLCAweDA3LCAweDAxLCAweGFkLCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAKLSAgICAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDQyLCAweGI4LCAweDg5LCAweDI0LCAweDQyLCAweGM4LCAweDQyLCAweGU5LCAweDQzLCAweDBhLCAweDQzLCAweDJiLCAKLSAgICAweDQzLCAweDRjLCAweDQzLCAweDZkLCAweDQzLCAweDhlLCAweDQzLCAweGFmLCAweDMwLCAweDUwLCAweDA3LCAweDIwLCAweDY4LCAweDA0LCAweGMyLCAweDI4LCAKLSAgICAweDgwLCAweDE2LCAweDMwLCAweDQwLCAweDA3LCAweDIwLCAweDYwLCAweDA0LCAweGMyLCAweDI4LCAweDgwLCAweDBjLCAweDMwLCAweDQ4LCAweDA3LCAweDIwLCAKLSAgICAweDU4LCAweDA0LCAweGMyLCAweDI4LCAweDgwLCAweDAyLCAweGQyLCAweDI4LCAweDIyLCAweDMwLCAweDUxLCAweDA3LCAweDIwLCAweDY5LCAweDA0LCAweGMyLCAKLSAgICAweDI5LCAweDgwLCAweDE2LCAweDMwLCAweDQxLCAweDA3LCAweDIwLCAweDYxLCAweDA0LCAweGMyLCAweDI5LCAweDgwLCAweDBjLCAweDMwLCAweDQ5LCAweDA3LCAKLSAgICAweDIwLCAweDU5LCAweDA0LCAweGMyLCAweDI5LCAweDgwLCAweDAyLCAweGQyLCAweDI5LCAweDIyLCAweDMwLCAweDUyLCAweDA3LCAweDIwLCAweDZhLCAweDA0LCAKLSAgICAweGMyLCAweDJhLCAweDgwLCAweDE2LCAweDMwLCAweDQyLCAweDA3LCAweDIwLCAweDYyLCAweDA0LCAweGMyLCAweDJhLCAweDgwLCAweDBjLCAweDMwLCAweDRhLCAKLSAgICAweDA3LCAweDIwLCAweDVhLCAweDA0LCAweGMyLCAweDJhLCAweDgwLCAweDAyLCAweGQyLCAweDJhLCAweDIyLCAweDMwLCAweDUzLCAweDA3LCAweDIwLCAweDZiLCAKLSAgICAweDA0LCAweGMyLCAweDJiLCAweDgwLCAweDE2LCAweDMwLCAweDQzLCAweDA3LCAweDIwLCAweDYzLCAweDA0LCAweGMyLCAweDJiLCAweDgwLCAweDBjLCAweDMwLCAKLSAgICAweDRiLCAweDA3LCAweDIwLCAweDViLCAweDA0LCAweGMyLCAweDJiLCAweDgwLCAweDAyLCAweGQyLCAweDJiLCAweDIyLCAweDMwLCAweDU0LCAweDA3LCAweDIwLCAKLSAgICAweDZjLCAweDA0LCAweGMyLCAweDJjLCAweDgwLCAweDE2LCAweDMwLCAweDQ0LCAweDA3LCAweDIwLCAweDY0LCAweDA0LCAweGMyLCAweDJjLCAweDgwLCAweDBjLCAKLSAgICAweDMwLCAweDRjLCAweDA3LCAweDIwLCAweDVjLCAweDA0LCAweGMyLCAweDJjLCAweDgwLCAweDAyLCAweGQyLCAweDJjLCAweDIyLCAweDMwLCAweDU1LCAweDA3LCAKLSAgICAweDIwLCAweDZkLCAweDA0LCAweGMyLCAweDJkLCAweDgwLCAweDE2LCAweDMwLCAweDQ1LCAweDA3LCAweDIwLCAweDY1LCAweDA0LCAweGMyLCAweDJkLCAweDgwLCAKLSAgICAweDBjLCAweDMwLCAweDRkLCAweDA3LCAweDIwLCAweDVkLCAweDA0LCAweGMyLCAweDJkLCAweDgwLCAweDAyLCAweGQyLCAweDJkLCAweDIyLCAweDMwLCAweDU2LCAKLSAgICAweDA3LCAweDIwLCAweDZlLCAweDA0LCAweGMyLCAweDJlLCAweDgwLCAweDE2LCAweDMwLCAweDQ2LCAweDA3LCAweDIwLCAweDY2LCAweDA0LCAweGMyLCAweDJlLCAKLSAgICAweDgwLCAweDBjLCAweDMwLCAweDRlLCAweDA3LCAweDIwLCAweDVlLCAweDA0LCAweGMyLCAweDJlLCAweDgwLCAweDAyLCAweGQyLCAweDJlLCAweDIyLCAweDMwLCAKLSAgICAweDU3LCAweDA3LCAweDIwLCAweDZmLCAweDA0LCAweGMyLCAweDJmLCAweDgwLCAweDE2LCAweDMwLCAweDQ3LCAweDA3LCAweDIwLCAweDY3LCAweDA0LCAweGMyLCAKLSAgICAweDJmLCAweDgwLCAweDBjLCAweDMwLCAweDRmLCAweDA3LCAweDIwLCAweDVmLCAweDA0LCAweGMyLCAweDJmLCAweDgwLCAweDAyLCAweGQyLCAweDJmLCAweDIyLCAKLSAgICAweDQ0LCAweDM4LCAweDQzLCAweGU1LCAweGJlLCAweGIwLCAweDAyLCAweDQwLCAweDAxLCAweDIyLCAweDIzLCAweDBhLCAweDViLCAweDQ5LCAweDU1LCAweDQzLCAKLSAgICAweGQwLCAweDk5LCAweDU0LCAweGQzLCAweDIyLCAweGE5LCAweGM1LCAweDg3LCAweDEyLCAweDQ0LCAweDQzLCAweDdlLCAweDA0LCAweDA1LCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweGQ3LCAweDdhLCAweDA3LCAweDAxLCAweGQ5LCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweGRkLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDA0LCAweDc0LCAweGFkLCAweDdhLCAweDA1LCAweDYxLCAweDc1LCAweGYxLCAweDAxLCAweDc1LCAweGUxLCAweDFmLCAKLSAgICAweDc1LCAweGU0LCAweDA0LCAweDc1LCAweGY0LCAweDA0LCAweDc1LCAweGYxLCAweDAyLCAweDc1LCAweGUxLCAweDAzLCAweDc1LCAweGU0LCAweDA0LCAweDc1LCAKLSAgICAweGY0LCAweDA0LCAweDQzLCAweGEyLCAweDFjLCAweDEyLCAweDQwLCAweGViLCAweDdlLCAweDIwLCAweDAwLCAweDEyLCAweDQxLCAweDlhLCAweDBiLCAweDIwLCAKLSAgICAweGJlLCAweDIxLCAweDJmLCAweDc4LCAweGY2LCAweGQyLCAweGE4LCAweDIyLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDQ0LCAweDQzLCAweGQyLCAweDkyLCAKLSAgICAweGMyLCAweGE4LCAweDIyLCAweDc1LCAweGEzLCAweDAwLCAweDUzLCAweGEyLCAweDAzLCAweDc1LCAweGMxLCAweDAwLCAweDUzLCAweGMwLCAweDAzLCAweDdlLCAKLSAgICAweDAwLCAweDA1LCAweDdhLCAweDAxLCAweGYxLCAweDQzLCAweGY0LCAweDgwLCAweDQzLCAweGU0LCAweDgwLCAweGU1LCAweGYyLCAweDU0LCAweDdmLCAweDQ0LCAKLSAgICAweDA4LCAweGY1LCAweGYyLCAweGU1LCAweGUyLCAweDU0LCAweDdmLCAweDQ0LCAweDA4LCAweGY1LCAweGUyLCAweDc1LCAweGUxLCAweDEwLCAweGE1LCAweGQ4LCAKLSAgICAweGUxLCAweDIyLCAweGNhLCAweDA5LCAweDEyLCAweDMwLCAweDIwLCAweDEwLCAweDAxLCAweDEyLCAweGQ1LCAweDY3LCAweDFlLCAweDYzLCAweDY5LCAweDAxLCAKLSAgICAweDdlLCAweDAwLCAweDZhLCAweDJlLCAweDAxLCAweDY5LCAweGE1LCAweGU2LCAweGY1LCAweDY3LCAweDgwLCAweDEyLCAweDIwLCAweDAyLCAweDFlLCAweDc1LCAKLSAgICAweDY5LCAweDAwLCAweDg1LCAweDZhLCAweDY3LCAweGQyLCAweDAyLCAweDc0LCAweDAwLCAweDgwLCAweDBkLCAweDMwLCAweDAyLCAweDBmLCAweGMyLCAweDAyLCAKLSAgICAweDdlLCAweDAwLCAweDZjLCAweDJlLCAweDAxLCAweDY5LCAweGE1LCAweGU2LCAweDUzLCAweDkwLCAweGNmLCAweDQyLCAweDkwLCAweGRhLCAweDA5LCAweDMyLCAKLSAgICAweGMwLCAweGQwLCAweGMwLCAweGQxLCAweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweGQyLCAweDAxLCAKLSAgICAweDc1LCAweDMxLCAweDg5LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAKLSAgICAweDAzLCAweDAyLCAweDQ1LCAweDRmLCAweDIwLCAweDc4LCAweDVhLCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAKLSAgICAweDAyLCAweDQ1LCAweDY3LCAweDIwLCAweDc5LCAweDRiLCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAKLSAgICAweDQ1LCAweDdmLCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDQ1LCAweDk3LCAweDIwLCAweDdhLCAKLSAgICAweDMwLCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDQ1LCAweGFmLCAweGE1LCAweDBhLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDQ1LCAweGM3LCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAKLSAgICAweGUwLCAweDAzLCAweDAyLCAweDQ1LCAweGRmLCAweGE1LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDQ1LCAKLSAgICAweGY3LCAweDMwLCAweDA0LCAweDBjLCAweGMyLCAweDA0LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAKLSAgICAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweGQwLCAweGYwLCAweGQwLCAweGUwLCAweGQwLCAweGQxLCAweGQwLCAweGQwLCAweDMyLCAweDc1LCAKLSAgICAweDMxLCAweDgwLCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAKLSAgICAweDJiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAweDMxLCAweDgxLCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAKLSAgICAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAweDZiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAKLSAgICAweDMxLCAweDgyLCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAKLSAgICAweGFiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAweDMxLCAweDgzLCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAKLSAgICAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAweGViLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAKLSAgICAweDMxLCAweDg0LCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDY0LCAKLSAgICAweDJiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAweDMxLCAweDg1LCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAKLSAgICAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDY0LCAweDZiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAKLSAgICAweDMxLCAweDg2LCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDY0LCAKLSAgICAweGFiLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDc1LCAweDMxLCAweDg3LCAweDEyLCAweDdjLCAweDE1LCAweDU0LCAweDNlLCAweDBhLCAKLSAgICAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDY0LCAweGViLCAweGNhLCAweDA2LCAweGM2LCAweDQ0LCAweDg5LCAweDU0LCAweDEwLCAKLSAgICAweDA4LCAweDAxLCAweDIyLCAweDIwLCAweDI4LCAweDAzLCAweGQyLCAweDA4LCAweDIyLCAweDc1LCAweDMxLCAweGEwLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAKLSAgICAweDE0LCAweDgwLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDI4LCAweDAzLCAweGQyLCAweDA4LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDQ5LCAweDMwLCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDA4LCAKLSAgICAweDIyLCAweDMwLCAweDMwLCAweDQ5LCAweGQyLCAweDcwLCAweDdlLCAweDM3LCAweDAxLCAweDhmLCAweDdlLCAweDI3LCAweDAxLCAweGFmLCAweDlkLCAweDMyLCAKLSAgICAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ4LCAweDdhLCAweDA1LCAweDQ4LCAweDdhLCAweDM3LCAweDAxLCAweDhmLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDZmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDBkLCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDZmLCAKLSAgICAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAKLSAgICAweDcwLCAweGM0LCAweDIyLCAweGMyLCAweDcwLCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDhmLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGFmLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweGFmLCAweDdlLCAweDM3LCAweDAxLCAweDhmLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ4LCAweDdhLCAweDA1LCAweDQ4LCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweDhmLCAweDdlLCAweDM3LCAweDAxLCAweDZmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDBkLCAweGUyLCAweDM4LCAKLSAgICAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDZmLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDBkLCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAweDJiLCAweDdlLCAweDM0LCAweDA5LCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDZmLCAweDEyLCAweDY1LCAweDJiLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDQ2LCAweDdmLCAKLSAgICAweDIyLCAweGQyLCAweDA4LCAweDdlLCAweDA0LCAweDA5LCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDZmLCAweDdhLCAweDA3LCAweDAxLCAweDdmLCAweDc1LCAKLSAgICAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGJmLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAKLSAgICAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGJmLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAKLSAgICAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAKLSAgICAweDMwLCAweDM4LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEwLCAweDIyLCAKLSAgICAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAKLSAgICAweDAwLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGJmLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAKLSAgICAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAKLSAgICAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAKLSAgICAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAwLCAweDdhLCAweDY5LCAKLSAgICAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAKLSAgICAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAKLSAgICAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAKLSAgICAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAKLSAgICAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAKLSAgICAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAKLSAgICAweDAyLCAweDQ3LCAweGUzLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM4LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweGQyLCAweDEwLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDQ3LCAKLSAgICAweGUzLCAweGRhLCAweGI4LCAweDAyLCAweDQ5LCAweDMwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAKLSAgICAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDY4LCAweDgwLCAweDAyLCAweGMyLCAweDY4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYwLCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDYwLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU4LCAweDgwLCAweDAyLCAweGMyLCAweDU4LCAweDEyLCAKLSAgICAweDQyLCAweGM4LCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAKLSAgICAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAKLSAgICAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDQ4LCAweDM1LCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAKLSAgICAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAweDA5LCAweDAxLCAweDIyLCAweDIwLCAweDI5LCAweDAzLCAweGQyLCAweDA5LCAKLSAgICAweDIyLCAweDc1LCAweDMxLCAweGExLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE0LCAweDgxLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDI5LCAweDAzLCAKLSAgICAweGQyLCAweDA5LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAKLSAgICAweDEyLCAweDRjLCAweDg4LCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDA5LCAweDIyLCAweDMwLCAweDMxLCAweDQ5LCAweGQyLCAweDcxLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDkxLCAweDdlLCAweDI3LCAweDAxLCAweGIxLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDRhLCAweDdhLCAKLSAgICAweDA1LCAweDRhLCAweDdhLCAweDM3LCAweDAxLCAweDkxLCAweDdlLCAweDM3LCAweDAxLCAweDcxLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAKLSAgICAweDExLCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDcxLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAKLSAgICAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAweDcxLCAweGM0LCAweDIyLCAweGMyLCAweDcxLCAweDJkLCAweDIzLCAweDY4LCAKLSAgICAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDkxLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAKLSAgICAweDI3LCAweDAxLCAweGIxLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGIxLCAweDdlLCAweDM3LCAweDAxLCAweDkxLCAweDlkLCAweDMyLCAweDdkLCAKLSAgICAweDAyLCAweDJlLCAweDA1LCAweDRhLCAweDdhLCAweDA1LCAweDRhLCAweDdhLCAweDM3LCAweDAxLCAweDkxLCAweDdlLCAweDM3LCAweDAxLCAweDcxLCAweDdkLCAKLSAgICAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDExLCAweGUyLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDcxLCAweDc1LCAweDMxLCAweDk0LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDExLCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAKLSAgICAweDJiLCAweDdlLCAweDM0LCAweDBkLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDcxLCAweDEyLCAweDY1LCAweDJiLCAKLSAgICAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDQ5LCAweGQ3LCAweDIyLCAweGQyLCAweDA5LCAweDdlLCAweDA0LCAweDBkLCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDcxLCAweDdhLCAweDA3LCAweDAxLCAweDgxLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGMxLCAKLSAgICAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAKLSAgICAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAKLSAgICAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDAxLCAweDAwLCAweDJlLCAweDI3LCAKLSAgICAweDAxLCAweGMxLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAKLSAgICAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM5LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDExLCAweDIyLCAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDAxLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGMxLCAweDllLCAweDI0LCAKLSAgICAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAKLSAgICAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAKLSAgICAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAxLCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAKLSAgICAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAKLSAgICAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAKLSAgICAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAKLSAgICAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDRiLCAweDNiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM5LCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDExLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAKLSAgICAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDRiLCAweDNiLCAweGRhLCAweGI4LCAweDAyLCAweDRjLCAweDg4LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAKLSAgICAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDY5LCAweDgwLCAweDAyLCAweGMyLCAweDY5LCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYxLCAweDgwLCAweDAyLCAweGMyLCAweDYxLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDU5LCAweDgwLCAweDAyLCAweGMyLCAweDU5LCAweDEyLCAweDQyLCAweGU5LCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAKLSAgICAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAKLSAgICAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAKLSAgICAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDRiLCAKLSAgICAweDhkLCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAKLSAgICAweDBhLCAweDAxLCAweDIyLCAweDIwLCAweDJhLCAweDAzLCAweGQyLCAweDBhLCAweDIyLCAweDc1LCAweDMxLCAweGEyLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAKLSAgICAweDE0LCAweDgyLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJhLCAweDAzLCAweGQyLCAweDBhLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDRmLCAweGUwLCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBhLCAKLSAgICAweDIyLCAweDMwLCAweDMyLCAweDQ5LCAweGQyLCAweDcyLCAweDdlLCAweDM3LCAweDAxLCAweDkzLCAweDdlLCAweDI3LCAweDAxLCAweGIzLCAweDlkLCAweDMyLCAKLSAgICAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDRjLCAweDdhLCAweDA1LCAweDRjLCAweDdhLCAweDM3LCAweDAxLCAweDkzLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDczLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE1LCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDczLCAKLSAgICAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAKLSAgICAweDcyLCAweGM0LCAweDIyLCAweGMyLCAweDcyLCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDkzLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGIzLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweGIzLCAweDdlLCAweDM3LCAweDAxLCAweDkzLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDRjLCAweDdhLCAweDA1LCAweDRjLCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweDkzLCAweDdlLCAweDM3LCAweDAxLCAweDczLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE1LCAweGUyLCAweDM4LCAKLSAgICAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDczLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDE1LCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAweDJiLCAweDdlLCAweDM0LCAweDExLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDczLCAweDEyLCAweDY1LCAweDJiLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDRkLCAweDJmLCAKLSAgICAweDIyLCAweGQyLCAweDBhLCAweDdlLCAweDA0LCAweDExLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDczLCAweDdhLCAweDA3LCAweDAxLCAweDgzLCAweDc1LCAKLSAgICAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGMzLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAKLSAgICAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDAyLCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGMzLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAKLSAgICAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAKLSAgICAweDMwLCAweDNhLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEyLCAweDIyLCAKLSAgICAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAKLSAgICAweDAyLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGMzLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAKLSAgICAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAKLSAgICAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAKLSAgICAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAyLCAweDdhLCAweDY5LCAKLSAgICAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAKLSAgICAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAKLSAgICAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAKLSAgICAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAKLSAgICAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAKLSAgICAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAKLSAgICAweDAyLCAweDRlLCAweDkzLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNhLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweGQyLCAweDEyLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDRlLCAKLSAgICAweDkzLCAweGRhLCAweGI4LCAweDAyLCAweDRmLCAweGUwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAKLSAgICAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDZhLCAweDgwLCAweDAyLCAweGMyLCAweDZhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYyLCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDYyLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVhLCAweDgwLCAweDAyLCAweGMyLCAweDVhLCAweDEyLCAKLSAgICAweDQzLCAweDBhLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAKLSAgICAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAKLSAgICAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDRlLCAweGU1LCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAKLSAgICAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAweDBiLCAweDAxLCAweDIyLCAweDIwLCAweDJiLCAweDAzLCAweGQyLCAweDBiLCAKLSAgICAweDIyLCAweDc1LCAweDMxLCAweGEzLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE0LCAweDgzLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJiLCAweDAzLCAKLSAgICAweGQyLCAweDBiLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAKLSAgICAweDEyLCAweDUzLCAweDM4LCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBiLCAweDIyLCAweDMwLCAweDMzLCAweDQ5LCAweGQyLCAweDczLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDk1LCAweDdlLCAweDI3LCAweDAxLCAweGI1LCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDRlLCAweDdhLCAKLSAgICAweDA1LCAweDRlLCAweDdhLCAweDM3LCAweDAxLCAweDk1LCAweDdlLCAweDM3LCAweDAxLCAweDc1LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAKLSAgICAweDE5LCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDc1LCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAKLSAgICAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAweDczLCAweGM0LCAweDIyLCAweGMyLCAweDczLCAweDJkLCAweDIzLCAweDY4LCAKLSAgICAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDk1LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAKLSAgICAweDI3LCAweDAxLCAweGI1LCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGI1LCAweDdlLCAweDM3LCAweDAxLCAweDk1LCAweDlkLCAweDMyLCAweDdkLCAKLSAgICAweDAyLCAweDJlLCAweDA1LCAweDRlLCAweDdhLCAweDA1LCAweDRlLCAweDdhLCAweDM3LCAweDAxLCAweDk1LCAweDdlLCAweDM3LCAweDAxLCAweDc1LCAweDdkLCAKLSAgICAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE5LCAweGUyLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDc1LCAweDc1LCAweDMxLCAweDk0LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDE5LCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAKLSAgICAweDJiLCAweDdlLCAweDM0LCAweDE1LCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDc1LCAweDEyLCAweDY1LCAweDJiLCAKLSAgICAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDUwLCAweDg3LCAweDIyLCAweGQyLCAweDBiLCAweDdlLCAweDA0LCAweDE1LCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDc1LCAweDdhLCAweDA3LCAweDAxLCAweDg1LCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGM1LCAKLSAgICAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAKLSAgICAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAKLSAgICAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDAzLCAweDAwLCAweDJlLCAweDI3LCAKLSAgICAweDAxLCAweGM1LCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAKLSAgICAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNiLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEzLCAweDIyLCAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDAzLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGM1LCAweDllLCAweDI0LCAKLSAgICAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAKLSAgICAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAKLSAgICAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAzLCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAKLSAgICAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAKLSAgICAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAKLSAgICAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAKLSAgICAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDUxLCAweGViLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNiLCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEzLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAKLSAgICAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDUxLCAweGViLCAweGRhLCAweGI4LCAweDAyLCAweDUzLCAweDM4LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAKLSAgICAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZiLCAweDgwLCAweDAyLCAweGMyLCAweDZiLCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYzLCAweDgwLCAweDAyLCAweGMyLCAweDYzLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDViLCAweDgwLCAweDAyLCAweGMyLCAweDViLCAweDEyLCAweDQzLCAweDJiLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAKLSAgICAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAKLSAgICAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAKLSAgICAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDUyLCAKLSAgICAweDNkLCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAKLSAgICAweDBjLCAweDAxLCAweDIyLCAweDIwLCAweDJjLCAweDAzLCAweGQyLCAweDBjLCAweDIyLCAweDc1LCAweDMxLCAweGE0LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAKLSAgICAweDE0LCAweDg0LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJjLCAweDAzLCAweGQyLCAweDBjLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDU2LCAweDkwLCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBjLCAKLSAgICAweDIyLCAweDMwLCAweDM0LCAweDQ5LCAweGQyLCAweDc0LCAweDdlLCAweDM3LCAweDAxLCAweDk3LCAweDdlLCAweDI3LCAweDAxLCAweGI3LCAweDlkLCAweDMyLCAKLSAgICAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDUwLCAweDdhLCAweDA1LCAweDUwLCAweDdhLCAweDM3LCAweDAxLCAweDk3LCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDc3LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDFkLCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDc3LCAKLSAgICAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAKLSAgICAweDc0LCAweGM0LCAweDIyLCAweGMyLCAweDc0LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDk3LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGI3LCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweGI3LCAweDdlLCAweDM3LCAweDAxLCAweDk3LCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDUwLCAweDdhLCAweDA1LCAweDUwLCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweDk3LCAweDdlLCAweDM3LCAweDAxLCAweDc3LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDFkLCAweGUyLCAweDM4LCAKLSAgICAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDc3LCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDFkLCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAweDJiLCAweDdlLCAweDM0LCAweDE5LCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDc3LCAweDEyLCAweDY1LCAweDJiLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDUzLCAweGRmLCAKLSAgICAweDIyLCAweGQyLCAweDBjLCAweDdlLCAweDA0LCAweDE5LCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDc3LCAweDdhLCAweDA3LCAweDAxLCAweDg3LCAweDc1LCAKLSAgICAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGM3LCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAKLSAgICAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDA0LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGM3LCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAKLSAgICAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAKLSAgICAweDMwLCAweDNjLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE0LCAweDIyLCAKLSAgICAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAKLSAgICAweDA0LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGM3LCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAKLSAgICAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAKLSAgICAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAKLSAgICAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA0LCAweDdhLCAweDY5LCAKLSAgICAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAKLSAgICAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAKLSAgICAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAKLSAgICAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAKLSAgICAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAKLSAgICAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAKLSAgICAweDAyLCAweDU1LCAweDQzLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNjLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweGQyLCAweDE0LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDU1LCAKLSAgICAweDQzLCAweGRhLCAweGI4LCAweDAyLCAweDU2LCAweDkwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAKLSAgICAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDZjLCAweDgwLCAweDAyLCAweGMyLCAweDZjLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY0LCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDY0LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVjLCAweDgwLCAweDAyLCAweGMyLCAweDVjLCAweDEyLCAKLSAgICAweDQzLCAweDRjLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAKLSAgICAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAKLSAgICAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDU1LCAweDk1LCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAKLSAgICAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAweDBkLCAweDAxLCAweDIyLCAweDIwLCAweDJkLCAweDAzLCAweGQyLCAweDBkLCAKLSAgICAweDIyLCAweDc1LCAweDMxLCAweGE1LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE0LCAweDg1LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJkLCAweDAzLCAKLSAgICAweGQyLCAweDBkLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAKLSAgICAweDEyLCAweDU5LCAweGU4LCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBkLCAweDIyLCAweDMwLCAweDM1LCAweDQ5LCAweGQyLCAweDc1LCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDk5LCAweDdlLCAweDI3LCAweDAxLCAweGI5LCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDUyLCAweDdhLCAKLSAgICAweDA1LCAweDUyLCAweDdhLCAweDM3LCAweDAxLCAweDk5LCAweDdlLCAweDM3LCAweDAxLCAweDc5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAKLSAgICAweDIxLCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDc5LCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAKLSAgICAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAweDc1LCAweGM0LCAweDIyLCAweGMyLCAweDc1LCAweDJkLCAweDIzLCAweDY4LCAKLSAgICAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDk5LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAKLSAgICAweDI3LCAweDAxLCAweGI5LCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGI5LCAweDdlLCAweDM3LCAweDAxLCAweDk5LCAweDlkLCAweDMyLCAweDdkLCAKLSAgICAweDAyLCAweDJlLCAweDA1LCAweDUyLCAweDdhLCAweDA1LCAweDUyLCAweDdhLCAweDM3LCAweDAxLCAweDk5LCAweDdlLCAweDM3LCAweDAxLCAweDc5LCAweDdkLCAKLSAgICAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDIxLCAweGUyLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDc5LCAweDc1LCAweDMxLCAweDk0LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDIxLCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAKLSAgICAweDJiLCAweDdlLCAweDM0LCAweDFkLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDc5LCAweDEyLCAweDY1LCAweDJiLCAKLSAgICAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDU3LCAweDM3LCAweDIyLCAweGQyLCAweDBkLCAweDdlLCAweDA0LCAweDFkLCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDc5LCAweDdhLCAweDA3LCAweDAxLCAweDg5LCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGM5LCAKLSAgICAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAKLSAgICAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAKLSAgICAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDA1LCAweDAwLCAweDJlLCAweDI3LCAKLSAgICAweDAxLCAweGM5LCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAKLSAgICAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNkLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE1LCAweDIyLCAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA1LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGM5LCAweDllLCAweDI0LCAKLSAgICAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAKLSAgICAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAKLSAgICAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA1LCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAKLSAgICAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAKLSAgICAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAKLSAgICAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAKLSAgICAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDU4LCAweDliLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNkLCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE1LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAKLSAgICAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDU4LCAweDliLCAweGRhLCAweGI4LCAweDAyLCAweDU5LCAweGU4LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAKLSAgICAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZkLCAweDgwLCAweDAyLCAweGMyLCAweDZkLCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY1LCAweDgwLCAweDAyLCAweGMyLCAweDY1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDVkLCAweDgwLCAweDAyLCAweGMyLCAweDVkLCAweDEyLCAweDQzLCAweDZkLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAKLSAgICAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAKLSAgICAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAKLSAgICAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDU4LCAKLSAgICAweGVkLCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAKLSAgICAweDBlLCAweDAxLCAweDIyLCAweDIwLCAweDJlLCAweDAzLCAweGQyLCAweDBlLCAweDIyLCAweDc1LCAweDMxLCAweGE2LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAKLSAgICAweDE0LCAweDg2LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJlLCAweDAzLCAweGQyLCAweDBlLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDVkLCAweDQwLCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBlLCAKLSAgICAweDIyLCAweDMwLCAweDM2LCAweDQ5LCAweGQyLCAweDc2LCAweDdlLCAweDM3LCAweDAxLCAweDliLCAweDdlLCAweDI3LCAweDAxLCAweGJiLCAweDlkLCAweDMyLCAKLSAgICAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDU0LCAweDdhLCAweDA1LCAweDU0LCAweDdhLCAweDM3LCAweDAxLCAweDliLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDdiLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI1LCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDdiLCAKLSAgICAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAKLSAgICAweDc2LCAweGM0LCAweDIyLCAweGMyLCAweDc2LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDliLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGJiLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweGJiLCAweDdlLCAweDM3LCAweDAxLCAweDliLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDU0LCAweDdhLCAweDA1LCAweDU0LCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweDliLCAweDdlLCAweDM3LCAweDAxLCAweDdiLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI1LCAweGUyLCAweDM4LCAKLSAgICAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDdiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDI1LCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAweDJiLCAweDdlLCAweDM0LCAweDIxLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDdiLCAweDEyLCAweDY1LCAweDJiLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDVhLCAweDhmLCAKLSAgICAweDIyLCAweGQyLCAweDBlLCAweDdlLCAweDA0LCAweDIxLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweDdiLCAweDdhLCAweDA3LCAweDAxLCAweDhiLCAweDc1LCAKLSAgICAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGNiLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAKLSAgICAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDA2LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGNiLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAKLSAgICAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAKLSAgICAweDMwLCAweDNlLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE2LCAweDIyLCAKLSAgICAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAKLSAgICAweDA2LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGNiLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAKLSAgICAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAKLSAgICAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAKLSAgICAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA2LCAweDdhLCAweDY5LCAKLSAgICAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAKLSAgICAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAKLSAgICAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAKLSAgICAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAKLSAgICAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAKLSAgICAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAKLSAgICAweDAyLCAweDViLCAweGYzLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNlLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweGQyLCAweDE2LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDViLCAKLSAgICAweGYzLCAweGRhLCAweGI4LCAweDAyLCAweDVkLCAweDQwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAKLSAgICAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDZlLCAweDgwLCAweDAyLCAweGMyLCAweDZlLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY2LCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDY2LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVlLCAweDgwLCAweDAyLCAweGMyLCAweDVlLCAweDEyLCAKLSAgICAweDQzLCAweDhlLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAKLSAgICAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAKLSAgICAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDVjLCAweDQ1LCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAKLSAgICAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDEwLCAweDBmLCAweDAxLCAweDIyLCAweDIwLCAweDJmLCAweDAzLCAweGQyLCAweDBmLCAKLSAgICAweDIyLCAweDc1LCAweDMxLCAweGE3LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE0LCAweDg3LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJmLCAweDAzLCAKLSAgICAweGQyLCAweDBmLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAKLSAgICAweDEyLCAweDYwLCAweDk4LCAweDIwLCAweGU2LCAweDAzLCAweGQyLCAweDBmLCAweDIyLCAweDMwLCAweDM3LCAweDQ5LCAweGQyLCAweDc3LCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDlkLCAweDdlLCAweDI3LCAweDAxLCAweGJkLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDU2LCAweDdhLCAKLSAgICAweDA1LCAweDU2LCAweDdhLCAweDM3LCAweDAxLCAweDlkLCAweDdlLCAweDM3LCAweDAxLCAweDdkLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAKLSAgICAweDI5LCAweGUyLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDdkLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAKLSAgICAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDY1LCAweDJiLCAweDEwLCAweDc3LCAweGM0LCAweDIyLCAweGMyLCAweDc3LCAweDJkLCAweDIzLCAweDY4LCAKLSAgICAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDlkLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAKLSAgICAweDI3LCAweDAxLCAweGJkLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGJkLCAweDdlLCAweDM3LCAweDAxLCAweDlkLCAweDlkLCAweDMyLCAweDdkLCAKLSAgICAweDAyLCAweDJlLCAweDA1LCAweDU2LCAweDdhLCAweDA1LCAweDU2LCAweDdhLCAweDM3LCAweDAxLCAweDlkLCAweDdlLCAweDM3LCAweDAxLCAweDdkLCAweDdkLCAKLSAgICAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI5LCAweGUyLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDdkLCAweDc1LCAweDMxLCAweDk0LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDAyLCAweDY1LCAweDJiLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDI5LCAweGUzLCAweDlkLCAweDI0LCAweDEyLCAweDY1LCAKLSAgICAweDJiLCAweDdlLCAweDM0LCAweDI1LCAweGUzLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDdkLCAweDEyLCAweDY1LCAweDJiLCAKLSAgICAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDVkLCAweGU3LCAweDIyLCAweGQyLCAweDBmLCAweDdlLCAweDA0LCAweDI1LCAweGUzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDdkLCAweDdhLCAweDA3LCAweDAxLCAweDhkLCAweDc1LCAweDMxLCAweDk0LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDkyLCAweDEyLCAweDdjLCAweDE1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDcwLCAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDI3LCAweDAxLCAweGNkLCAKLSAgICAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDNjLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAKLSAgICAweDQ2LCAweDdhLCAweDA1LCAweDQ2LCAweDdhLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDM3LCAweDAxLCAweGRmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAKLSAgICAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDQ0LCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDdlLCAweDI0LCAweDA3LCAweDAwLCAweDJlLCAweDI3LCAKLSAgICAweDAxLCAweGNkLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJlLCAweDUwLCAweDM4LCAKLSAgICAweDc4LCAweDAzLCAweDAyLCAweDY2LCAweDE2LCAweDAyLCAweDY1LCAweGZiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNmLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE3LCAweDIyLCAweDgwLCAweDdkLCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA3LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGNkLCAweDllLCAweDI0LCAKLSAgICAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDY1LCAweGZiLCAweDdlLCAweDM0LCAweDAxLCAweGUzLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRmLCAweDAyLCAweDY1LCAweGZiLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAKLSAgICAweDAxLCAweGUzLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAKLSAgICAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA3LCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDMxLCAKLSAgICAweDkzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGJkLCAweDA0LCAweDY4LCAweDI5LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGRmLCAweDdlLCAweDQ3LCAweDAxLCAweGUxLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGUxLCAweDJlLCAweDM1LCAweDQ2LCAweDdhLCAKLSAgICAweDM1LCAweDQ2LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAKLSAgICAweDJhLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweDJjLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQxLCAweGQyLCAweDA0LCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGUxLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAweDdlLCAKLSAgICAweDQ0LCAweDA1LCAweGUzLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGNlLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDVmLCAweDRiLCAweDc1LCAweDMxLCAweDk5LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNmLCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE3LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAKLSAgICAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDVmLCAweDRiLCAweGRhLCAweGI4LCAweDAyLCAweDYwLCAweDk4LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDMxLCAweDkwLCAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweGE1LCAweGZjLCAweDVlLCAweGIwLCAweGYwLCAweGE1LCAweGZkLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDRjLCAweDRiLCAweDVlLCAweGIwLCAweGYwLCAKLSAgICAweGJjLCAweGI1LCAweDc4LCAweGYxLCAweDVlLCAweDQwLCAweDBmLCAweDRjLCAweDU0LCAweDdjLCAweGI1LCAweDVlLCAweDUwLCAweDBiLCAweDY4LCAweDJhLCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZmLCAweDgwLCAweDAyLCAweGMyLCAweDZmLCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY3LCAweDgwLCAweDAyLCAweGMyLCAweDY3LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDVmLCAweDgwLCAweDAyLCAweGMyLCAweDVmLCAweDEyLCAweDQzLCAweGFmLCAweDAyLCAweDYyLCAweDkzLCAweDc1LCAweDMxLCAweDkxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweGUwLCAweDA4LCAKLSAgICAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYyLCAweDkzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAKLSAgICAweDEyLCAweDYyLCAweDkzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAKLSAgICAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYyLCAweGI2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDVmLCAKLSAgICAweDlkLCAweDc1LCAweDMxLCAweDk1LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDc1LCAweDMxLCAweDk2LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweDdjLCAKLSAgICAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAKLSAgICAweDY4LCAweDA0LCAweGQyLCAweDY4LCAweDgwLCAweDAyLCAweGMyLCAweDY4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDYwLCAweDgwLCAweDAyLCAweGMyLCAweDYwLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU4LCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDU4LCAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAKLSAgICAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDY5LCAweDgwLCAweDAyLCAweGMyLCAweDY5LCAweGE1LCAweGZkLCAKLSAgICAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYxLCAweDgwLCAweDAyLCAweGMyLCAweDYxLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAKLSAgICAweDY4LCAweDA0LCAweGQyLCAweDU5LCAweDgwLCAweDAyLCAweGMyLCAweDU5LCAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAKLSAgICAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZhLCAKLSAgICAweDgwLCAweDAyLCAweGMyLCAweDZhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDYyLCAweDgwLCAweDAyLCAweGMyLCAKLSAgICAweDYyLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVhLCAweDgwLCAweDAyLCAweGMyLCAweDVhLCAweDAyLCAweDYyLCAKLSAgICAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZiLCAweDgwLCAweDAyLCAweGMyLCAweDZiLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDYzLCAweDgwLCAweDAyLCAweGMyLCAweDYzLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDViLCAKLSAgICAweDgwLCAweDAyLCAweGMyLCAweDViLCAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZjLCAweDgwLCAweDAyLCAweGMyLCAweDZjLCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY0LCAweDgwLCAweDAyLCAweGMyLCAweDY0LCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVjLCAweDgwLCAweDAyLCAweGMyLCAweDVjLCAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAKLSAgICAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAKLSAgICAweGQyLCAweDZkLCAweDgwLCAweDAyLCAweGMyLCAweDZkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY1LCAweDgwLCAKLSAgICAweDAyLCAweGMyLCAweDY1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVkLCAweDgwLCAweDAyLCAweGMyLCAweDVkLCAKLSAgICAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAKLSAgICAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZlLCAweDgwLCAweDAyLCAweGMyLCAweDZlLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAKLSAgICAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY2LCAweDgwLCAweDAyLCAweGMyLCAweDY2LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAKLSAgICAweGQyLCAweDVlLCAweDgwLCAweDAyLCAweGMyLCAweDVlLCAweDAyLCAweDYyLCAweDdmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAKLSAgICAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDEwLCAweDY4LCAweDA0LCAweGQyLCAweDZmLCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDZmLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDY3LCAweDgwLCAweDAyLCAweGMyLCAweDY3LCAweGE1LCAKLSAgICAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDVmLCAweDgwLCAweDAyLCAweGMyLCAweDVmLCAweDAyLCAweDYyLCAweDdmLCAweDU0LCAKLSAgICAweGYwLCAweGM0LCAweGE1LCAweGZmLCAweGM0LCAweGE1LCAweDRmLCAweDc1LCAweDMxLCAweDkwLCAweDEyLCAweDdjLCAweDE1LCAweGY1LCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDIyLCAweGNhLCAweDE5LCAweDVlLCAweDIwLCAweDA3LCAweDRjLCAweGEyLCAweDdlLCAweDc0LCAweDI5LCAweGUzLCAweGNhLCAweDc5LCAKLSAgICAweDdhLCAweDc5LCAweGEwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweGIwLCAweDBiLCAweDc0LCAweGRhLCAweDc5LCAweDdlLCAweDMwLCAweDAyLCAweDdlLCAKLSAgICAweDY0LCAweDAwLCAweDAyLCAweDAyLCAweDYyLCAweGRlLCAweGNhLCAweDE5LCAweDVlLCAweDIwLCAweDA3LCAweDRjLCAweGEyLCAweDdlLCAweDc0LCAweDI5LCAKLSAgICAweGUzLCAweGNhLCAweDc5LCAweDdhLCAweDc5LCAweGEwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweGIwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweDYwLCAKLSAgICAweDBiLCAweDc0LCAweGRhLCAweDc5LCAweDdlLCAweDMwLCAweDAzLCAweDdlLCAweDY0LCAweDAwLCAweDAzLCAweDAyLCAweDYyLCAweGRlLCAweGQyLCAweDA0LCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweGUxLCAweDJkLCAweDI2LCAweGJlLCAweDI0LCAweDA0LCAweDAwLCAweDM4LCAweDJlLCAweDdlLCAweDA3LCAweDAxLCAweGRmLCAKLSAgICAweDdlLCAweDQ0LCAweDA1LCAweGUzLCAweDdlLCAweDc5LCAweGEwLCAweDdhLCAweDA5LCAweGEwLCAweDBiLCAweDA0LCAweDBiLCAweDc0LCAweGJkLCAweDA0LCAKLSAgICAweDY4LCAweDIzLCAweGE1LCAweGRiLCAweGVmLCAweDdhLCAweDI3LCAweDAxLCAweGUxLCAweDdlLCAweDI1LCAweDQ2LCAweDJkLCAweDI2LCAweDdhLCAweDI1LCAKLSAgICAweDQ2LCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweGRhLCAweDE5LCAweGMyLCAweGQ3LCAweDIyLCAweDc1LCAweDMxLCAweDlhLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweGRhLCAweDE5LCAweGQyLCAweGQ3LCAweDIyLCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDgwLCAweGQ3LCAweDQ4LCAweGI2LCAweDQ2LCAweDI1LCAweDQ3LCAKLSAgICAweDFjLCAweDQ5LCAweDE1LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ4LCAweDFiLCAweDQ0LCAweGM2LCAweDQ5LCAweDU5LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ5LCAweDYwLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDRjLCAweDBlLCAweDQ5LCAweDdkLCAweDRhLCAKLSAgICAweDc0LCAweDRjLCAweDZkLCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDRiLCAweDczLCAweDQ0LCAweGM2LCAweDRjLCAweGIxLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDRjLCAweGI4LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDRmLCAweDY2LCAweDRjLCAweGQ1LCAweDRkLCAKLSAgICAweGNjLCAweDRmLCAweGM1LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDRlLCAweGNiLCAweDQ0LCAweGM2LCAweDUwLCAweDA5LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDUwLCAweDEwLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDUyLCAweGJlLCAweDUwLCAweDJkLCAweDUxLCAKLSAgICAweDI0LCAweDUzLCAweDFkLCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDUyLCAweDIzLCAweDQ0LCAweGM2LCAweDUzLCAweDYxLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDUzLCAweDY4LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDU2LCAweDE2LCAweDUzLCAweDg1LCAweDU0LCAKLSAgICAweDdjLCAweDU2LCAweDc1LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDU1LCAweDdiLCAweDQ0LCAweGM2LCAweDU2LCAweGI5LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDU2LCAweGMwLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDU5LCAweDZlLCAweDU2LCAweGRkLCAweDU3LCAKLSAgICAweGQ0LCAweDU5LCAweGNkLCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDU4LCAweGQzLCAweDQ0LCAweGM2LCAweDVhLCAweDExLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDVhLCAweDE4LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDVjLCAweGM2LCAweDVhLCAweDM1LCAweDViLCAKLSAgICAweDJjLCAweDVkLCAweDI1LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDVjLCAweDJiLCAweDQ0LCAweGM2LCAweDVkLCAweDY5LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDVkLCAweDcwLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDYwLCAweDFlLCAweDVkLCAweDhkLCAweDVlLCAKLSAgICAweDg0LCAweDYwLCAweDdkLCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDVmLCAweDgzLCAweDQ0LCAweGM2LCAweDYwLCAweGMxLCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDYwLCAweGM4LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAKLSAgICAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweDQ0LCAweGM2LCAweGNhLCAweDI5LCAweDFlLCAweDUwLCAweDQwLCAKLSAgICAweDBkLCAweDdlLCAweDU0LCAweDBiLCAweDEwLCAweDljLCAweGI1LCAweGE0LCAweDJlLCAweDU0LCAweDY1LCAweDQ4LCAweDg5LCAweDU0LCAweDdlLCAweDM5LCAKLSAgICAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDBiLCAweDM0LCAweDgwLCAweGU5LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAKLSAgICAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAKLSAgICAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAKLSAgICAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAKLSAgICAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAKLSAgICAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAKLSAgICAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAKLSAgICAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAKLSAgICAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAKLSAgICAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDAwLCAKLSAgICAweDdhLCAweDE5LCAweDAwLCAweDdhLCAweDE5LCAweDEwLCAweDBiLCAweDM1LCAweGRhLCAweDI5LCAweDIyLCAweDFlLCAweDUwLCAweDQwLCAweDBkLCAweDdlLCAKLSAgICAweDU0LCAweDBiLCAweDFjLCAweDljLCAweGI1LCAweGE0LCAweDJlLCAweDU0LCAweDY2LCAweDE2LCAweDg5LCAweDU0LCAweDdlLCAweDE5LCAweDAwLCAweDdhLCAKLSAgICAweDM5LCAweDAwLCAweDBiLCAweDM0LCAweDgwLCAweGU5LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAKLSAgICAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAKLSAgICAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAKLSAgICAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAKLSAgICAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAKLSAgICAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAKLSAgICAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAKLSAgICAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAKLSAgICAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAKLSAgICAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAKLSAgICAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAKLSAgICAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAKLSAgICAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAKLSAgICAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAKLSAgICAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAKLSAgICAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweDE5LCAweDAwLCAweDdlLCAweDE5LCAweDEwLCAweDFiLCAweDM4LCAweDAwLCAweDBiLCAweDM1LCAweDIyLCAweDY3LCAweDk2LCAweDY5LCAweDYzLCAweDY5LCAKLSAgICAweDdiLCAweDZhLCAweDQ5LCAweDZhLCAweGU0LCAweDZiLCAweDhlLCAweDZiLCAweGE5LCAweDZjLCAweDNiLCAweDZiLCAweGM0LCAweDZjLCAweDA1LCAweDY5LCAKLSAgICAweDk2LCAweDY5LCAweGFhLCAweDdjLCAweGIzLCAweGJlLCAweGIwLCAweDBiLCAweDI4LCAweDE0LCAweDc1LCAweDMxLCAweDA5LCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDc1LCAweDZkLCAweDEwLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDQzLCAweGUxLCAweGMwLCAweGQwLCAweGYxLCAweDIyLCAweGMwLCAweGE4LCAKLSAgICAweGMyLCAweGFmLCAweDIzLCAweDZjLCAweGFhLCAweDJlLCAweDU0LCAweDY3LCAweDRiLCAweDBiLCAweDU4LCAweDUwLCAweDg5LCAweDU0LCAweDAxLCAweDAyLCAKLSAgICAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDc1LCAweDMxLCAweGIwLCAweDEyLCAweDdjLCAweDE1LCAweDBhLCAweDMyLCAweDA5LCAweGIzLCAKLSAgICAweDY3LCAweDhlLCAweDQyLCAweDMyLCAweDE5LCAweDQzLCAweDAwLCAweDM2LCAweGQwLCAweGE4LCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDNiLCAKLSAgICAweDQ5LCAweDMzLCAweDY3LCAweGNiLCAweDBhLCAweDIyLCAweDA5LCAweDMyLCAweDAwLCAweDM2LCAweDA5LCAweGIyLCAweDY3LCAweDhlLCAweGE1LCAweGJiLCAKLSAgICAweDAwLCAweDA1LCAweGY0LCAweDUyLCAweDMzLCAweDgwLCAweDAyLCAweDQyLCAweDMzLCAweDg5LCAweDM0LCAweDY3LCAweGRiLCAweDY4LCAweDA5LCAweDY4LCAKLSAgICAweDM3LCAweDY4LCAweDY1LCAweDY4LCAweDkzLCAweDY4LCAweGMxLCAweDY4LCAweGVmLCAweDY5LCAweDFkLCAweDEyLCAweDQxLCAweGI1LCAweGQyLCAweDI4LCAKLSAgICAweGQyLCAweDA4LCAweGMyLCAweDQwLCAweGMyLCAweDQ4LCAweGMyLCAweDM4LCAweGMyLCAweDMwLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGNmLCAKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGFmLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGJmLCAKLSAgICAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYwLCAweGNmLCAweDAyLCAweDY5LCAweDRiLCAweDEyLCAweDQxLCAweGQ0LCAweGQyLCAweDI5LCAweGQyLCAweDA5LCAKLSAgICAweGMyLCAweDQxLCAweGMyLCAweDQ5LCAweGMyLCAweDM5LCAweGMyLCAweDMxLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQwLCAweDdlLCAweDA0LCAKLSAgICAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGIxLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGMxLCAweDEyLCAweDQxLCAKLSAgICAweDE2LCAweDEyLCAweDYxLCAweDA1LCAweDAyLCAweDY5LCAweDRiLCAweDEyLCAweDQxLCAweGYzLCAweGQyLCAweDJhLCAweGQyLCAweDBhLCAweGMyLCAweDQyLCAKLSAgICAweGMyLCAweDRhLCAweGMyLCAweDNhLCAweGMyLCAweDMyLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQxLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweGIzLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGMzLCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAKLSAgICAweDYxLCAweDNiLCAweDAyLCAweDY5LCAweDRiLCAweDEyLCAweDQyLCAweDEyLCAweGQyLCAweDJiLCAweGQyLCAweDBiLCAweGMyLCAweDQzLCAweGMyLCAweDRiLCAKLSAgICAweGMyLCAweDNiLCAweGMyLCAweDMzLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQyLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGI1LCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGM1LCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYxLCAweDcxLCAKLSAgICAweDAyLCAweDY5LCAweDRiLCAweDEyLCAweDQyLCAweDMxLCAweGQyLCAweDJjLCAweGQyLCAweDBjLCAweGMyLCAweDQ0LCAweGMyLCAweDRjLCAweGMyLCAweDNjLCAKLSAgICAweGMyLCAweDM0LCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQzLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGI3LCAKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGM3LCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYxLCAweGE3LCAweDAyLCAweDY5LCAKLSAgICAweDRiLCAweDEyLCAweDQyLCAweDUwLCAweGQyLCAweDJkLCAweGQyLCAweDBkLCAweGMyLCAweDQ1LCAweGMyLCAweDRkLCAweGMyLCAweDNkLCAweGMyLCAweDM1LCAKLSAgICAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQ0LCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGI5LCAweDdlLCAweDA0LCAKLSAgICAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYxLCAweGRkLCAweDAyLCAweDY5LCAweDRiLCAweDEyLCAKLSAgICAweDQyLCAweDZmLCAweGQyLCAweDJlLCAweGQyLCAweDBlLCAweGMyLCAweDQ2LCAweGMyLCAweDRlLCAweGMyLCAweDNlLCAweGMyLCAweDM2LCAweDZkLCAweDAwLCAKLSAgICAweDdhLCAweDAzLCAweDAxLCAweGQ1LCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGJiLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweGNiLCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYyLCAweDEzLCAweDAyLCAweDY5LCAweDRiLCAweDEyLCAweDQyLCAweDhlLCAKLSAgICAweGQyLCAweDJmLCAweGQyLCAweDBmLCAweGMyLCAweDQ3LCAweGMyLCAweDRmLCAweGMyLCAweDNmLCAweGMyLCAweDM3LCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAKLSAgICAweDAxLCAweGQ2LCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGJkLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGNkLCAweDEyLCAweDQxLCAweDE2LCAweDEyLCAweDYyLCAweDQ5LCAweDAyLCAweDY5LCAweDRiLCAweDdlLCAweGEwLCAweGQwLCAweDdlLCAweDYwLCAKLSAgICAweDBmLCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDBjLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAKLSAgICAweGMyLCAweGQ3LCAweDIyLCAweDc1LCAweDMxLCAweGIxLCAweDEyLCAweDdjLCAweDE1LCAweDBhLCAweDUyLCAweDIzLCAweDZkLCAweDAwLCAweDU5LCAweDA1LCAKLSAgICAweDAwLCAweDQ4LCAweDEyLCAweDQxLCAweDdlLCAweDEyLCAweDQxLCAweDlhLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGIyLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAweDY3LCAweDhlLCAweDQyLCAweDIzLCAweDdlLCAweGIwLCAweDljLCAweDE5LCAweGIyLCAweDAxLCAweGNmLCAKLSAgICAweDEyLCAweDMxLCAweDg1LCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGI3LCAweDEyLCAweDdjLCAweDE1LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAKLSAgICAweDY3LCAweDhlLCAweDQyLCAweDI0LCAweDEyLCAweDM1LCAweDNkLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGI5LCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDBhLCAweDMyLCAweDA5LCAweGIzLCAweDY3LCAweDhlLCAweDQyLCAweDM0LCAweDE5LCAweDQzLCAweDAwLCAweDNlLCAweDEyLCAweDY5LCAweGMyLCAweGQwLCAKLSAgICAweGE4LCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDBiLCAweDdjLCAweGI0LCAweDIwLCAweGUwLCAweDA0LCAweDZkLCAweDMzLCAweDgwLCAweDA0LCAKLSAgICAweDQ5LCAweDMwLCAweDAxLCAweDhmLCAweDdlLCAweGEwLCAweGQ4LCAweGE1LCAweGVmLCAweGNhLCAweDBiLCAweGNhLCAweDI5LCAweDEyLCAweDYyLCAweGI2LCAKLSAgICAweGRhLCAweDI5LCAweGRhLCAweDBiLCAweDQwLCAweDYyLCAweDc1LCAweDMxLCAweGJhLCAweDEyLCAweDdjLCAweDE1LCAweDdjLCAweGI0LCAweDMwLCAweGUwLCAKLSAgICAweDFlLCAweDZkLCAweDMzLCAweDU5LCAweDMwLCAweDAxLCAweDhmLCAweDdlLCAweDM0LCAweDA5LCAweGUzLCAweDBhLCAweDgyLCAweDdlLCAweDk0LCAweDA0LCAKLSAgICAweDAwLCAweGFkLCAweDg5LCAweDJkLCAweDM5LCAweDU5LCAweDMwLCAweDAxLCAweDZmLCAweDU5LCAweDMwLCAweDAxLCAweDdmLCAweDdjLCAweGI0LCAweDMwLCAKLSAgICAweGUxLCAweDEwLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAweGIwLCAweDAwLCAweDA4LCAweDQ0LCAweDA0LCAweDE5LCAweGIwLCAKLSAgICAweDAwLCAweDA4LCAweDBhLCAweDAyLCAweDA5LCAweGIwLCAweDY3LCAweDhlLCAweDQyLCAweDIxLCAweGY0LCAweDUyLCAweDM0LCAweDdjLCAweGIyLCAweDIzLCAKLSAgICAweDBhLCAweDBiLCAweGNhLCAweDE5LCAweDQ5LCAweDAwLCAweDMwLCAweGQ1LCAweDk5LCAweDA0LCAweGRhLCAweDE5LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAKLSAgICAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweGMyLCAweGQ3LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAKLSAgICAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAweDMwLCAweDAwLCAKLSAgICAweDBjLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAxLCAweDY4LCAweDEyLCAweDQ0LCAweDQwLCAweGNhLCAweGI4LCAweDA5LCAweGIwLCAweDAwLCAweDEwLCAKLSAgICAweDQ0LCAweDAyLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweGRhLCAweGI4LCAweDgwLCAweDAyLCAweDU0LCAweGJmLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAKLSAgICAweDA4LCAweDY4LCAweDA0LCAweDQ0LCAweDA4LCAweDgwLCAweDAyLCAweDU0LCAweGY3LCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweGNhLCAweGI4LCAweDc0LCAKLSAgICAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGRhLCAweGI4LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweDBhLCAKLSAgICAweDYyLCAweDA5LCAweGI2LCAweDY3LCAweDhlLCAweDNlLCAweDIwLCAweDBhLCAweDYyLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAweDY4LCAweDIwLCAKLSAgICAweDQyLCAweDI3LCAweGNhLCAweGI4LCAweDc0LCAweDYxLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDdlLCAweDQ0LCAweDAwLCAweDEwLCAweDU5LCAweDQ2LCAKLSAgICAweDAxLCAweGJmLCAweDA5LCAweGIwLCAweDAwLCAweDEwLCAweDQ0LCAweDAxLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweGRhLCAweGI4LCAweDgwLCAweDExLCAKLSAgICAweGY0LCAweDUyLCAweDI3LCAweDc0LCAweGExLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDdlLCAweDQ0LCAweDAwLCAweDM4LCAweDU5LCAweDQ2LCAweDAxLCAKLSAgICAweGJmLCAweGQwLCAweGE4LCAweDIyLCAweDdjLCAweDc0LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDBhLCAweDYyLCAweDA5LCAweGI2LCAKLSAgICAweDY3LCAweDhlLCAweGE1LCAweGZkLCAweGY0LCAweGE1LCAweGZlLCAweGNhLCAweDI4LCAweDNlLCAweDIwLCAweDBhLCAweDYyLCAweGE1LCAweGVlLCAweDUyLCAKLSAgICAweDI2LCAweDdlLCAweDQ0LCAweDAwLCAweDIwLCAweDU5LCAweDQ2LCAweDAxLCAweGFmLCAweGRhLCAweDI4LCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAKLSAgICAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAxLCAweDY4LCAweDBjLCAKLSAgICAweDQ0LCAweDgwLCAweGNhLCAweGI4LCAweGE1LCAweGVkLCAweDQyLCAweDJhLCAweGRhLCAweGI4LCAweDgwLCAweDBhLCAweDU0LCAweDdmLCAweGNhLCAweGI4LCAKLSAgICAweGE1LCAweGVlLCAweDUyLCAweDJhLCAweGRhLCAweGI4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDA4LCAweDY4LCAweDA0LCAweDQ0LCAweDAyLCAweDgwLCAKLSAgICAweDAyLCAweDU0LCAweGZkLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAKLSAgICAweDY4LCAweDEwLCAweGE1LCAweGVkLCAweDQyLCAweDI4LCAweDQyLCAweDI2LCAweDdlLCAweDQ0LCAweDAwLCAweDA4LCAweDU5LCAweDQ2LCAweDAxLCAweGFmLCAKLSAgICAweDgwLCAweDA0LCAweGE1LCAweGVlLCAweDUyLCAweDI4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDA0LCAweDY4LCAweDEwLCAweGE1LCAweGVkLCAweDQyLCAKLSAgICAweDI5LCAweDQyLCAweDI2LCAweDdlLCAweDQ0LCAweDAwLCAweDA4LCAweDU5LCAweDQ2LCAweDAxLCAweGFmLCAweDgwLCAweDBiLCAweGE1LCAweGVlLCAweDUyLCAKLSAgICAweDI5LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAweDc4LCAweDAwLCAweDEyLCAweDQyLCAweGFkLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweDA0LCAKLSAgICAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDE5LCAweDQwLCAKLSAgICAweDAwLCAweDEwLCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAKLSAgICAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDE5LCAweDQwLCAweDAwLCAweDE4LCAweDE5LCAweDMwLCAweDAwLCAKLSAgICAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGI1LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAKLSAgICAweDA5LCAweGIwLCAweDAwLCAweDBjLCAweDQ0LCAweDQwLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGU1LCAweDZlLCAweGI0LCAweDA3LCAweDIzLCAweDA5LCAKLSAgICAweGIwLCAweDAwLCAweDEwLCAweDRlLCAweGIwLCAweDAyLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAKLSAgICAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA0LCAweDU0LCAweGY3LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDE5LCAweDMwLCAKLSAgICAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGI2LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAKLSAgICAweDAyLCAweGU1LCAweDZlLCAweGI0LCAweDA3LCAweDE4LCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAKLSAgICAweDA5LCAweGIwLCAweDAwLCAweDA0LCAweDQ0LCAweDA4LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAKLSAgICAweDAwLCAweDBjLCAweDU0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDMxLCAweGI0LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdhLCAweDIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDQxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDBhLCAweDMyLCAweDA5LCAKLSAgICAweGIzLCAweDY3LCAweDhlLCAweDQyLCAweDM1LCAweDEyLCAweDZjLCAweDViLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweGIwLCAweDAxLCAweDdlLCAweGEwLCAKLSAgICAweGM4LCAweDdjLCAweDY0LCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDEzLCAweDBhLCAweDMyLCAweDA5LCAweGIzLCAweDY3LCAweDhlLCAweGY0LCAweDUyLCAKLSAgICAweDM1LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDZjLCAweDhjLCAweDZjLCAweGQzLCAKLSAgICAweDZkLCAweDFhLCAweDZkLCAweDYxLCAweDZkLCAweGE4LCAweDZkLCAweGVmLCAweDZlLCAweDM2LCAweDZlLCAweDdkLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAwLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAKLSAgICAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDdmLCAweDdlLCAweDI3LCAweDAxLCAweDhmLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAKLSAgICAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDBkLCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAKLSAgICAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDdmLCAweDdhLCAweDI3LCAweDAxLCAweDhmLCAweDAyLCAweDQ2LCAweDBmLCAweDdlLCAweDE0LCAweDA5LCAKLSAgICAweGUzLCAweDgwLCAweGViLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAKLSAgICAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDgxLCAweDdlLCAKLSAgICAweDI3LCAweDAxLCAweDkxLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAKLSAgICAweDE0LCAweDExLCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDgxLCAweDdhLCAweDI3LCAweDAxLCAKLSAgICAweDkxLCAweDAyLCAweDQ5LCAweDY3LCAweDdlLCAweDE0LCAweDBkLCAweGUzLCAweDgwLCAweGViLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDc1LCAweDMxLCAweDAyLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDgzLCAweDdlLCAweDI3LCAweDAxLCAweDkzLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAKLSAgICAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDE1LCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAKLSAgICAweDdhLCAweDE3LCAweDAxLCAweDgzLCAweDdhLCAweDI3LCAweDAxLCAweDkzLCAweDAyLCAweDRjLCAweGJmLCAweDdlLCAweDE0LCAweDExLCAweGUzLCAweDgwLCAKLSAgICAweGViLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDAzLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDg1LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDk1LCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDE5LCAKLSAgICAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDg1LCAweDdhLCAweDI3LCAweDAxLCAweDk1LCAweDAyLCAKLSAgICAweDUwLCAweDE3LCAweDdlLCAweDE0LCAweDE1LCAweGUzLCAweDgwLCAweGViLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAKLSAgICAweDA0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAKLSAgICAweDdlLCAweDE3LCAweDAxLCAweDg3LCAweDdlLCAweDI3LCAweDAxLCAweDk3LCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAKLSAgICAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDFkLCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAKLSAgICAweDAxLCAweDg3LCAweDdhLCAweDI3LCAweDAxLCAweDk3LCAweDAyLCAweDUzLCAweDZmLCAweDdlLCAweDE0LCAweDE5LCAweGUzLCAweDgwLCAweGViLCAweDc1LCAKLSAgICAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDA1LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDg5LCAweDdlLCAweDI3LCAweDAxLCAweDk5LCAweDJkLCAKLSAgICAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDIxLCAweGUyLCAweDM4LCAKLSAgICAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDg5LCAweDdhLCAweDI3LCAweDAxLCAweDk5LCAweDAyLCAweDU2LCAweGM3LCAKLSAgICAweDdlLCAweDE0LCAweDFkLCAweGUzLCAweDgwLCAweGViLCAweDc1LCAweDMxLCAweDU1LCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDA2LCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAKLSAgICAweDAxLCAweDhiLCAweDdlLCAweDI3LCAweDAxLCAweDliLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAKLSAgICAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDI1LCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDhiLCAKLSAgICAweDdhLCAweDI3LCAweDAxLCAweDliLCAweDAyLCAweDVhLCAweDFmLCAweDdlLCAweDE0LCAweDIxLCAweGUzLCAweDgwLCAweGViLCAweDc1LCAweDMxLCAweDU1LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweDMxLCAweDA3LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAKLSAgICAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE3LCAweDAxLCAweDhkLCAweDdlLCAweDI3LCAweDAxLCAweDlkLCAweDJkLCAweDIzLCAweDdlLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDI5LCAweGUyLCAweDM4LCAweDBmLCAweDFiLCAKLSAgICAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDhkLCAweDdhLCAweDI3LCAweDAxLCAweDlkLCAweDAyLCAweDVkLCAweDc3LCAweDdlLCAweDE0LCAKLSAgICAweDI1LCAweGUzLCAweDgwLCAweGViLCAweGNhLCAweGI4LCAweGMwLCAweGYxLCAweDc1LCAweDMxLCAweDAyLCAweDEyLCAweDdjLCAweDE1LCAweGU1LCAweGMwLCAKLSAgICAweDU0LCAweDAzLCAweDY4LCAweDA1LCAweDEyLCAweDc1LCAweGNkLCAweDgwLCAweGY1LCAweDMwLCAweGMyLCAweDA4LCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAKLSAgICAweDZmLCAweGQ5LCAweDgwLCAweDE0LCAweDMwLCAweGMzLCAweDA4LCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZlLCAweGZkLCAweDgwLCAweDA5LCAweDMwLCAKLSAgICAweGM0LCAweDA2LCAweDc1LCAweGYxLCAweDAyLCAweDEyLCAweDcwLCAweGU5LCAweGQwLCAweGYxLCAweGRhLCAweGI4LCAweDMyLCAweDc1LCAweDMxLCAweDEwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGNhLCAweDBiLCAweGNhLCAweDM5LCAweGNhLCAweDU5LCAweGMyLCAweGMzLCAweGE5LCAweDIxLCAweGUyLCAweDVjLCAweGU1LCAKLSAgICAweGU1LCAweDU0LCAweGMwLCAweDY4LCAweDRmLCAweGU1LCAweGU2LCAweDZjLCAweGFhLCAweDdlLCAweDM3LCAweDAxLCAweGRiLCAweDJkLCAweDM1LCAweGJlLCAKLSAgICAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDRhLCAweDdhLCAweDM3LCAweDAxLCAweGRiLCAweDdlLCAweDM3LCAweDAxLCAweGQ5LCAweDdkLCAweDQzLCAweDJkLCAKLSAgICAweDQ1LCAweGJlLCAweDQ0LCAweDA5LCAweGUyLCAweDM4LCAweDQwLCAweDdhLCAweDQ3LCAweDAxLCAweGQ5LCAweDc1LCAweDMxLCAweDExLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdhLCAweGIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDcxLCAweGI4LCAweGE5LCAweDIxLCAweGU1LCAweDFmLCAweGE5LCAweGQ0LCAKLSAgICAweGU0LCAweGE5LCAweDI0LCAweGU0LCAweGZjLCAweGMyLCAweGMzLCAweGE5LCAweDIxLCAweGUyLCAweDNiLCAweGU1LCAweGU1LCAweDU0LCAweGMwLCAweDc4LCAKLSAgICAweGI0LCAweDEyLCAweDc0LCAweDVhLCAweGRhLCAweDU5LCAweGRhLCAweDM5LCAweGRhLCAweDBiLCAweDIyLCAweDgwLCAweDI5LCAweDgwLCAweDU4LCAweDc1LCAKLSAgICAweDMxLCAweDE2LCAweDEyLCAweDdjLCAweDE1LCAweDgwLCAweGVkLCAweDc1LCAweDMxLCAweDEyLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweGIxLCAweDMxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDllLCAweDQ0LCAweDA5LCAweGUzLCAweDlkLCAweDU0LCAweDEyLCAweDcxLCAweGI4LCAweDdlLCAweDM0LCAweDA1LCAweGUzLCAKLSAgICAweDdkLCAweDU0LCAweDJkLCAweDQzLCAweDgwLCAweGExLCAweGU1LCAweGU1LCAweDU0LCAweDAzLCAweDc4LCAweDEyLCAweDc1LCAweDMxLCAweDEzLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDdlLCAweDBmLCAweDI5LCAweGZmLCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDI5LCAweGZmLCAweDgwLCAweGE3LCAweDc1LCAweDMxLCAKLSAgICAweDE0LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDBmLCAweDJhLCAweDAzLCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDJhLCAweDAzLCAweGE5LCAweGQ3LCAKLSAgICAweGU0LCAweGE5LCAweDI3LCAweGU0LCAweGZjLCAweDgwLCAweDlkLCAweDc1LCAweDMxLCAweDE1LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDBmLCAweDJhLCAKLSAgICAweDA3LCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDJhLCAweDA3LCAweDgwLCAweGU1LCAweDc1LCAweDMxLCAweDE4LCAweDEyLCAweDdjLCAweDE1LCAweGNhLCAKLSAgICAweDA5LCAweGNhLCAweDM5LCAweGNhLCAweDJiLCAweGMyLCAweGMyLCAweGE5LCAweDIxLCAweGYyLCAweDUyLCAweGU1LCAweGY1LCAweDMzLCAweDgyLCAweGU3LCAKLSAgICAweDQwLCAweDQ0LCAweDdlLCAweDM3LCAweDAxLCAweGUxLCAweDdlLCAweDU0LCAweDAwLCAweDQwLCAweDlkLCAweDM1LCAweDQwLCAweDQzLCAweDdhLCAweDM3LCAKLSAgICAweDAxLCAweGUxLCAweDdlLCAweDM3LCAweDAxLCAweGRkLCAweDdkLCAweDQzLCAweDJkLCAweDQ1LCAweGJlLCAweDQ0LCAweDA1LCAweGUyLCAweDM4LCAweDUyLCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweGRkLCAweDdkLCAweDQ1LCAweDEyLCAweDczLCAweDE2LCAweGE5LCAweDIwLCAweGY1LCAweDIyLCAweDc1LCAweDMxLCAweDE5LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDkxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDgxLCAweGY3LCAweDdhLCAweDkxLCAweGY2LCAweGU1LCAKLSAgICAweGY1LCAweDMzLCAweDgyLCAweGU3LCAweDUwLCAweGJjLCAweGRhLCAweDJiLCAweGRhLCAweDM5LCAweGRhLCAweDA5LCAweDIyLCAweDgwLCAweDQxLCAweDgwLCAKLSAgICAweDY0LCAweDJkLCAweDUzLCAweDZkLCAweDMzLCAweDcwLCAweGI3LCAweDdlLCAweDA0LCAweDAxLCAweGUzLCAweDdhLCAweDA3LCAweDAxLCAweGRmLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweGRkLCAweGE5LCAweDMyLCAweGYyLCAweGRmLCAweDg1LCAweDMwLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweGY2LCAweDAwLCAKLSAgICAweDgwLCAweGQ0LCAweGNhLCAweDU5LCAweDllLCAweDQ0LCAweDA1LCAweGUzLCAweDlkLCAweDU0LCAweDEyLCAweDczLCAweDE2LCAweDdlLCAweDM0LCAweDAxLCAKLSAgICAweGUzLCAweDdkLCAweDU0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGRkLCAweDEyLCAweDczLCAweDE2LCAweGRhLCAweDQ5LCAweDgwLCAweDk5LCAKLSAgICAweGU1LCAweGY1LCAweDU0LCAweDAzLCAweDc4LCAweDFmLCAweDdlLCAweDBmLCAweDI5LCAweGVmLCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDI5LCAweGVmLCAKLSAgICAweDgwLCAweDlkLCAweDdlLCAweDBmLCAweDI5LCAweGY3LCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDI5LCAweGY3LCAweGE5LCAweGQ3LCAweGY0LCAweGE5LCAKLSAgICAweDI3LCAweGY0LCAweGZjLCAweDgwLCAweDhhLCAweDdlLCAweDBmLCAweDI5LCAweGYzLCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDI5LCAweGYzLCAweDgwLCAKLSAgICAweGViLCAweGU1LCAweGY1LCAweDU0LCAweDAzLCAweDc4LCAweDFmLCAweDdlLCAweDJmLCAweDJhLCAweDBmLCAweDBiLCAweDJjLCAweDdhLCAweDJmLCAweDJhLCAKLSAgICAweDBmLCAweDgwLCAweDM0LCAweDdlLCAweDJmLCAweDJhLCAweDE3LCAweDBiLCAweDJjLCAweDdhLCAweDJmLCAweDJhLCAweDE3LCAweGE5LCAweGQ3LCAweGY0LCAKLSAgICAweGE5LCAweDI3LCAweGY0LCAweGZjLCAweDgwLCAweDIxLCAweDdlLCAweDJmLCAweDJhLCAweDEzLCAweDBiLCAweDJjLCAweDdhLCAweDJmLCAweDJhLCAweDEzLCAKLSAgICAweDgwLCAweGViLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDc1LCAweDMxLCAweDI4LCAweDEyLCAweDdjLCAweDE1LCAweGNhLCAKLSAgICAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweGMyLCAweGM0LCAweGE5LCAweDIxLCAweGYyLCAweGI2LCAweGU1LCAweGY1LCAweDMzLCAweDcyLCAweGU3LCAKLSAgICAweDQwLCAweGUwLCAweDdlLCAweDBkLCAweDQ2LCAweDdlLCAweDFkLCAweDRhLCAweDdlLCAweDJkLCAweDRlLCAweDdlLCAweDNkLCAweDUyLCAweDdlLCAweDg1LCAKLSAgICAweDU2LCAweDdkLCAweDkwLCAweDRkLCAweDkxLCAweDRkLCAweDkyLCAweDRkLCAweDkzLCAweDRkLCAweDk0LCAweDRkLCAweDk1LCAweDRkLCAweDk2LCAweDRkLCAKLSAgICAweDk3LCAweDRkLCAweDk4LCAweDY4LCAweDcyLCAweDdhLCAweDExLCAweGYzLCAweDdhLCAweDAxLCAweGYzLCAweDdhLCAweDMxLCAweGYzLCAweDdhLCAweDIxLCAKLSAgICAweGYzLCAweDdhLCAweDUxLCAweGYzLCAweDdhLCAweDQxLCAweGYzLCAweDdhLCAweDcxLCAweGYzLCAweDdhLCAweDYxLCAweGYzLCAweDdhLCAweDkxLCAweGYzLCAKLSAgICAweDdhLCAweDgxLCAweGYzLCAweDMwLCAweDdiLCAweDFhLCAweDdhLCAweGIxLCAweGYzLCAweDdhLCAweGExLCAweGYzLCAweDdhLCAweGQxLCAweGYzLCAweDdhLCAKLSAgICAweGMxLCAweGYzLCAweDdhLCAweGYxLCAweGYzLCAweDdhLCAweGUxLCAweGYzLCAweDdkLCAweDc4LCAweDdhLCAweGYxLCAweGYzLCAweDdhLCAweGUxLCAweGYzLCAKLSAgICAweGE5LCAweDMwLCAweGY1LCAweDAzLCAweDAyLCAweDcwLCAweGQ2LCAweDc1LCAweDMxLCAweDI5LCAweDEyLCAweDdjLCAweDE1LCAweDIwLCAweDdiLCAweDBiLCAKLSAgICAweDc1LCAweDMxLCAweDBhLCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweGY2LCAweDBhLCAweDgwLCAweDA5LCAweDc1LCAweDMxLCAweDEyLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDc1LCAweGY2LCAweDEyLCAweDZkLCAweDAwLCAweDdkLCAweDEwLCAweDdhLCAweDBkLCAweDQ2LCAweDdhLCAweDBkLCAweDRhLCAweDdhLCAweDBkLCAKLSAgICAweDRlLCAweDdhLCAweDBkLCAweDUyLCAweDdhLCAweDA1LCAweDU2LCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDFlLCAweGIwLCAKLSAgICAweDQwLCAweDBjLCAweDdlLCAweGEwLCAweDBhLCAweGE0LCAweDdlLCAweDA0LCAweDcyLCAweGZiLCAweDlkLCAweDA1LCAweDg5LCAweDA0LCAweDdlLCAweGExLCAKLSAgICAweGUzLCAweDdhLCAweDM5LCAweGEwLCAweDBiLCAweDM0LCAweDgwLCAweGVhLCAweGI0LCAweDQwLCAweGUzLCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAKLSAgICAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAKLSAgICAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAKLSAgICAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAKLSAgICAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAKLSAgICAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAKLSAgICAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAKLSAgICAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAKLSAgICAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAKLSAgICAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAKLSAgICAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAKLSAgICAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAKLSAgICAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAKLSAgICAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAKLSAgICAweDM1LCAweDdlLCAweGExLCAweGUzLCAweGU1LCAweGUzLCAweDFiLCAweDM4LCAweDUwLCAweDBiLCAweDM1LCAweDIyLCAweDFlLCAweGIwLCAweDQwLCAweDBjLCAKLSAgICAweDdlLCAweGEwLCAweDBhLCAweGE0LCAweDdlLCAweDA0LCAweDc0LCAweDU5LCAweDlkLCAweDA1LCAweDg5LCAweDA0LCAweDdlLCAweDM5LCAweGEwLCAweDdhLCAKLSAgICAweGExLCAweGYzLCAweDBiLCAweDM0LCAweDgwLCAweGVhLCAweGI0LCAweDQwLCAweGUzLCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAKLSAgICAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAKLSAgICAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAKLSAgICAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAKLSAgICAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAKLSAgICAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAKLSAgICAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAKLSAgICAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAKLSAgICAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAKLSAgICAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAKLSAgICAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAKLSAgICAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAKLSAgICAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAKLSAgICAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAKLSAgICAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAKLSAgICAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDBiLCAKLSAgICAweDM4LCAweDUwLCAweDdhLCAweGExLCAweGYzLCAweGY1LCAweGYzLCAweDBiLCAweDM1LCAweDIyLCAweGMyLCAweGFmLCAweDdlLCAweDM3LCAweDAxLCAweGRiLCAKLSAgICAweDRkLCAweDMzLCAweDY4LCAweDNiLCAweDdlLCAweDA3LCAweDAxLCAweGQ3LCAweDdlLCAweDU0LCAweDA5LCAweGUzLCAweDlkLCAweDUwLCAweGJkLCAweDM1LCAKLSAgICAweDQwLCAweDAyLCAweDdkLCAweDM1LCAweGNhLCAweDM5LCAweDdlLCAweDY1LCAweDYxLCAweDk5LCAweDY0LCAweGRhLCAweDM5LCAweDdlLCAweDA3LCAweDAxLCAKLSAgICAweGRiLCAweDlkLCAweDAzLCAweDdhLCAweDA3LCAweDAxLCAweGRiLCAweDJlLCAweDM3LCAweDAxLCAweGQ3LCAweDdhLCAweDM3LCAweDAxLCAweGQ3LCAweGJlLCAKLSAgICAweDM0LCAweDA5LCAweGUyLCAweDI4LCAweGM3LCAweDdlLCAweDM0LCAweDA1LCAweGUzLCAweDdhLCAweDM3LCAweDAxLCAweGQ3LCAweDgwLCAweGJkLCAweGQyLCAKLSAgICAweGFmLCAweDIyLCAweDc1LCAweDMxLCAweDUzLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE1LCAweDYzLCAweDgwLCAweDExLCAweDc1LCAweDMxLCAweDUxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDBiLCAweDA4LCAweDEwLCAweDBiLCAweDA1LCAweDllLCAweDM0LCAweDAwLCAweDAyLCAweDI4LCAweDRkLCAweDdjLCAweGIyLCAKLSAgICAweDIwLCAweGU3LCAweDI3LCAweDU0LCAweDA3LCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDZjLCAweDdjLCAweDdjLCAweGIyLCAweDU0LCAweDc4LCAKLSAgICAweDAzLCAweDAzLCAweDAzLCAweDdjLCAweDJiLCAweDlkLCAweDEzLCAweDQwLCAweDFhLCAweDY4LCAweDEyLCAweDdhLCAweDE1LCAweDYzLCAweDdhLCAweDI1LCAKLSAgICAweDY1LCAweDdlLCAweDY0LCAweDc1LCAweDM3LCAweDdhLCAweDY1LCAweDYxLCAweDg5LCAweDI0LCAweDAyLCAweDc1LCAweDQ1LCAweDdlLCAweDY0LCAweDc0LCAKLSAgICAweGFkLCAweDgwLCAweGYyLCAweDJkLCAweDEzLCAweDlkLCAweDMxLCAweGNhLCAweDM5LCAweDdkLCAweDMxLCAweDJkLCAweDEwLCAweGNhLCAweDE5LCAweGNhLCAKLSAgICAweDI5LCAweDk5LCAweDI0LCAweGRhLCAweDI5LCAweGRhLCAweDA5LCAweGRhLCAweDM5LCAweDgwLCAweGEyLCAweDdhLCAweDE1LCAweDYzLCAweDdlLCAweDY0LCAKLSAgICAweDc1LCAweDIzLCAweDRkLCAweDMzLCAweDc4LCAweDA5LCAweDdjLCAweGIyLCAweDIwLCAweGU3LCAweDJhLCAweDdlLCAweDY0LCAweDc0LCAweGEyLCAweDdhLCAKLSAgICAweDY1LCAweDYxLCAweDIyLCAweDc1LCAweDMxLCAweDUyLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDIxLCAweDYzLCAweDdlLCAweDA5LCAweDMwLCAweDBiLCAKLSAgICAweDA0LCAweDFiLCAweDM0LCAweDc4LCAweDg5LCAweDgwLCAweGQ0LCAweDc1LCAweDMxLCAweDU0LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDE1LCAweDYzLCAKLSAgICAweDdlLCAweDI1LCAweDY1LCAweDgwLCAweDkwLCAweDVlLCAweDIwLCAweDA3LCAweDU0LCAweDc4LCAweDdlLCAweDQ0LCAweDc1LCAweGMxLCAweDMwLCAweGU2LCAKLSAgICAweDE2LCAweDRkLCAweDMzLCAweDY4LCAweDI2LCAweDFiLCAweDM0LCAweDdlLCAweDA5LCAweDQwLCAweDBiLCAweDA0LCAweDdlLCAweDQ0LCAweDY3LCAweDYzLCAKLSAgICAweDIwLCAweGUzLCAweDA0LCAweDdlLCAweDQ0LCAweDc1LCAweGM5LCAweGNhLCAweDA5LCAweGNhLCAweDM5LCAweDk5LCAweDQ0LCAweGRhLCAweDM5LCAweGRhLCAKLSAgICAweDA5LCAweDdlLCAweDY0LCAweDc0LCAweGFkLCAweDRkLCAweDMzLCAweDY4LCAweGE2LCAweDg5LCAweDY0LCAweDdhLCAweDE1LCAweDYzLCAweGY1LCAweDY1LCAKLSAgICAweDdlLCAweDY0LCAweDc1LCAweDg2LCAweDgwLCAweDk5LCAweDdlLCAweDE1LCAweDYzLCAweGU1LCAweDY1LCAweDgwLCAweGM0LCAweGMwLCAweGQwLCAweGMwLCAKLSAgICAweGQxLCAweGMwLCAweGUwLCAweGNhLCAweDE5LCAweGE5LCAweDIwLCAweGRmLCAweDEyLCAweGE5LCAweDIxLCAweGRmLCAweDFiLCAweDc1LCAweDMxLCAweDAxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDUzLCAweGRmLCAweGY3LCAweDEyLCAweDQwLCAweGRjLCAweDgwLCAweDBkLCAweDc1LCAweDMxLCAweGZlLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdlLCAweDE0LCAweDAwLCAweDUzLCAweDAyLCAweDQwLCAweDUxLCAweGRhLCAweDE5LCAweGQwLCAweGUwLCAweGQwLCAweGQxLCAweGQwLCAweGQwLCAKLSAgICAweDMyLCAweDAzLCAweGE1LCAweGNiLCAweDE5LCAweGIxLCAweDgwLCAweDAwLCAweDIyLCAweDIyLCAweDAyLCAweDc2LCAweDQyLCAweGNhLCAweDBiLCAweGNhLCAKLSAgICAweDFiLCAweGNhLCAweDJiLCAweGNhLCAweDNiLCAweGNhLCAweDRiLCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweGMwLCAKLSAgICAweGYxLCAweDdlLCAweGIzLCAweDJhLCAweDMzLCAweGI0LCAweDAwLCAweDAyLCAweDgwLCAweDE5LCAweGI0LCAweDAxLCAweDE2LCAweDMwLCAweGMwLCAweDA4LCAKLSAgICAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDc2LCAweDJjLCAweDgwLCAweDFmLCAweDMwLCAweGMxLCAweDFjLCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDc2LCAKLSAgICAweGJkLCAweDgwLCAweDE0LCAweDMwLCAweGMxLCAweDA4LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDc2LCAweGJkLCAweDgwLCAweDA5LCAweDMwLCAweGMwLCAKLSAgICAweDA2LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDc2LCAweDJjLCAweGQwLCAweGYxLCAweGRhLCAweGViLCAweGRhLCAweDdiLCAweGRhLCAweDZiLCAweGRhLCAKLSAgICAweDViLCAweGRhLCAweDRiLCAweGRhLCAweDNiLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweGMyLCAweGMwLCAweDdlLCAweGIzLCAKLSAgICAweDJhLCAweDMzLCAweGI0LCAweDAyLCAweDA3LCAweDEyLCAweDc2LCAweDRlLCAweDAyLCAweDc2LCAweDQyLCAweDIyLCAweGI0LCAweDAxLCAweGZjLCAweDAyLCAKLSAgICAweDc2LCAweDg4LCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDJhLCAweDMzLCAweDdhLCAweDAzLCAweDJhLCAweDM0LCAweDIyLCAweDdlLCAweGIzLCAKLSAgICAweDJhLCAweDJiLCAweDU0LCAweDYwLCAweDYwLCAweDA1LCAweGI0LCAweDQwLCAweDE1LCAweDgwLCAweDEzLCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAKLSAgICAweDA1LCAweDBjLCAweDc1LCAweDMxLCAweDcxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDJlLCAweGY1LCAweDhmLCAweDIyLCAweDc1LCAKLSAgICAweGY2LCAweDAwLCAweDIyLCAweGJlLCAweDU3LCAweDJhLCAweDMxLCAweDI4LCAweDA0LCAweDdlLCAweDU3LCAweDJhLCAweDMxLCAweDdhLCAweDBmLCAweDJhLCAKLSAgICAweDM2LCAweDdhLCAweDU3LCAweDJhLCAweDNhLCAweDAyLCAweDc2LCAweDg4LCAweDdlLCAweGVmLCAweDJhLCAweDM2LCAweDdlLCAweGY3LCAweDJhLCAweDNhLCAKLSAgICAweDdlLCAweDA3LCAweDJhLCAweDNhLCAweDRkLCAweDAwLCAweDY4LCAweDIxLCAweDdlLCAweDAwLCAweDAwLCAweDdlLCAweGViLCAweGIwLCAweGY1LCAweGYzLCAKLSAgICAweGEzLCAweGE1LCAweDA4LCAweDFiLCAweGY0LCAweDY4LCAweDA0LCAweGE1LCAweGI4LCAweDA4LCAweGYwLCAweDdhLCAweGVmLCAweDJhLCAweDM2LCAweDdhLCAKLSAgICAweGY3LCAweDJhLCAweDNhLCAweDc1LCAweDMxLCAweDA2LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDAxLCAweGY2LCAweDIyLCAweGMyLCAweGMxLCAweDc1LCAKLSAgICAweDMxLCAweDAzLCAweDEyLCAweDdjLCAweDE1LCAweGE5LCAweDM2LCAweGUyLCAweDE2LCAweGU1LCAweGY1LCAweDU0LCAweGMwLCAweDY4LCAweDA3LCAweGE5LCAKLSAgICAweGQ3LCAweGY0LCAweGE5LCAweDI3LCAweGY0LCAweGZjLCAweDUzLCAweGUxLCAweDNmLCAweDQzLCAweGYyLCAweDg4LCAweDAyLCAweDc3LCAweDI5LCAweDdlLCAKLSAgICAweGIzLCAweDJhLCAweDM0LCAweGI0LCAweDAyLCAweDA0LCAweGE5LCAweGQ0LCAweGU0LCAweDIyLCAweGI0LCAweDAxLCAweDM5LCAweDdlLCAweDIxLCAweGU2LCAKLSAgICAweDdjLCAweDMyLCAweDdlLCAweDEzLCAweDJhLCAweDM1LCAweDJjLCAweDIxLCAweDdhLCAweDIzLCAweDJhLCAweDM1LCAweDdlLCAweDAwLCAweDAwLCAweDJlLCAKLSAgICAweDA0LCAweDJhLCAweDNjLCAweGU1LCAweGUzLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweGE1LCAweGRiLCAweGY2LCAweGE5LCAweGQ0LCAweGU0LCAKLSAgICAweDc1LCAweDMxLCAweDcwLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDM1LCAweDdlLCAweGEzLCAweDJhLCAweDMyLCAweGJjLCAweGFiLCAKLSAgICAweDc4LCAweDAzLCAweDEyLCAweDc3LCAweGMwLCAweDIyLCAweDAyLCAweDdiLCAweDI5LCAweGU1LCAweGU2LCAweGI0LCAweDA4LCAweDY1LCAweGE5LCAweGM0LCAKLSAgICAweGUyLCAweDdlLCAweDAxLCAweGUzLCAweDdlLCAweDExLCAweGUzLCAweDdlLCAweDMxLCAweGUzLCAweDdlLCAweDIxLCAweGUzLCAweDdlLCAweDUxLCAweGUzLCAKLSAgICAweDdlLCAweDQxLCAweGUzLCAweDdlLCAweDcxLCAweGUzLCAweDdlLCAweDYxLCAweGUzLCAweDdhLCAweDBmLCAweDJhLCAweDJiLCAweDdhLCAweDFmLCAweDJhLCAKLSAgICAweDJmLCAweDc1LCAweDMxLCAweDA0LCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDAxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDExLCAweDMxLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDIxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDMxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAKLSAgICAweDQxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDUxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDYxLCAweDMxLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdhLCAweDcxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweGE5LCAweGQ0LCAweGU0LCAweGE5LCAweGQ3LCAweGY0LCAweGE5LCAweGM2LCAweGUyLCAKLSAgICAweDEyLCAweDc3LCAweDk0LCAweDIyLCAweDZkLCAweDAwLCAweDdlLCAweDE0LCAweDAxLCAweDAyLCAweDdhLCAweDA3LCAweDJhLCAweDNhLCAweDdhLCAweDAzLCAKLSAgICAweDJhLCAweDM1LCAweDdlLCAweGIzLCAweDJhLCAweDJiLCAweDIwLCAweGU3LCAweDBmLCAweDdhLCAweDIzLCAweDJhLCAweDM0LCAweDdhLCAweDMzLCAweDJhLCAKLSAgICAweDMzLCAweGJlLCAweDA3LCAweDJhLCAweDMxLCAweDY4LCAweDA5LCAweDIyLCAweDdhLCAweDMzLCAweDJhLCAweDM0LCAweDdhLCAweDIzLCAweDJhLCAweDMzLCAKLSAgICAweDdlLCAweGIzLCAweDJhLCAweDJiLCAweDU0LCAweGUzLCAweDIzLCAweDIzLCAweDMwLCAweGUwLCAweDAyLCAweGQyLCAweGU1LCAweDMwLCAweGU3LCAweDAyLCAKLSAgICAweGQyLCAweGU0LCAweDMwLCAweGU1LCAweDA2LCAweDMwLCAweGU0LCAweDAzLCAweDAyLCAweDdiLCAweDI5LCAweDU0LCAweDNlLCAweGY1LCAweGYwLCAweDAzLCAKLSAgICAweDU0LCAweDFmLCAweGMzLCAweDI1LCAweGYwLCAweDkwLCAweDc3LCAweGVjLCAweDc1LCAweDg0LCAweGZmLCAweDczLCAweDAyLCAweDc5LCAweDQwLCAweDAyLCAKLSAgICAweDc4LCAweDM0LCAweDAyLCAweDc5LCAweGRkLCAweDAyLCAweDc5LCAweGY4LCAweDAyLCAweDc4LCAweGQ5LCAweDAyLCAweDc4LCAweDlhLCAweDAyLCAweDdhLCAKLSAgICAweDExLCAweDAyLCAweDdhLCAweDExLCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAKLSAgICAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDE0LCAweDAyLCAweDdhLCAweDFhLCAweDAyLCAKLSAgICAweDdhLCAweGNlLCAweDAyLCAweDdhLCAweDE3LCAweDAyLCAweDdhLCAweDE3LCAweDAyLCAweDdhLCAweDE3LCAweDAyLCAweDdhLCAweDE3LCAweDAyLCAweDdhLCAKLSAgICAweDE3LCAweDAyLCAweDdhLCAweDE3LCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDA2LCAweDJhLCAweDdlLCAweGIzLCAweDJhLCAweDJkLCAweDYwLCAKLSAgICAweDU2LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDJhLCAweDJlLCAweDdlLCAweDE3LCAweDJhLCAweDJmLCAweDc1LCAweDMxLCAweDcyLCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdhLCAweDAxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDExLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDdiLCAweDMzLCAKLSAgICAweDQwLCAweDM1LCAweDAyLCAweDc2LCAweDczLCAweGI0LCAweDA4LCAweDEwLCAweDc1LCAweDMxLCAweDc0LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAKLSAgICAweDNmLCAweGYxLCAweGY1LCAweGYzLCAweDc1LCAweGY2LCAweDAxLCAweDIyLCAweGI0LCAweDAwLCAweDFjLCAweDc1LCAweDMxLCAweDc1LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDMwLCAweGUwLCAweDA1LCAweDc1LCAweGYzLCAweDAyLCAweDgwLCAweDAzLCAweDc1LCAweGYzLCAweDAwLCAKLSAgICAweDc1LCAweGYzLCAweDAwLCAweDc1LCAweGY2LCAweDAyLCAweDIyLCAweDAyLCAweDdiLCAweDI5LCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDAwLCAKLSAgICAweDM1LCAweDc1LCAweDMxLCAweDc2LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDMwLCAweDU0LCAweDBmLCAweGY1LCAweGYxLCAweDdlLCAKLSAgICAweGIzLCAweDJhLCAweDMwLCAweDIwLCAweGU3LCAweDA5LCAweGU1LCAweGUxLCAweDMwLCAweGU3LCAweDBkLCAweDc0LCAweDAxLCAweDgwLCAweDBiLCAweGU1LCAKLSAgICAweGUxLCAweDMwLCAweGU2LCAweDA0LCAweDc0LCAweDAxLCAweDgwLCAweDAyLCAweDc0LCAweDAwLCAweDUzLCAweGYxLCAweDgwLCAweGY1LCAweGYzLCAweDc1LCAKLSAgICAweGYzLCAweDAwLCAweDc1LCAweGY2LCAweDAyLCAweDIyLCAweDAyLCAweDdiLCAweDI5LCAweGMwLCAweGYxLCAweDdlLCAweGIzLCAweDJhLCAweDMwLCAweDU0LCAKLSAgICAweDBmLCAweDQyLCAweGYxLCAweDdlLCAweGIzLCAweDJhLCAweDJlLCAweGI0LCAweDAwLCAweDQ1LCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDAxLCAKLSAgICAweDI0LCAweDc1LCAweDMxLCAweDc3LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDMwLCAweDU0LCAweDBmLCAweDc4LCAweDA1LCAweDUzLCAKLSAgICAweGUxLCAweDNmLCAweDgwLCAweDM3LCAweDdlLCAweGIzLCAweDJhLCAweDMwLCAweDIwLCAweGU3LCAweDA1LCAweDUzLCAweGUxLCAweDdmLCAweDgwLCAweDJiLCAKLSAgICAweDUzLCAweGUxLCAweGJmLCAweDgwLCAweDI2LCAweGI0LCAweDAzLCAweDE3LCAweDc1LCAweDMxLCAweDc4LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAKLSAgICAweDJhLCAweDMwLCAweDIwLCAweGU3LCAweDA1LCAweDQzLCAweGUxLCAweDgwLCAweDgwLCAweDExLCAweDQzLCAweGUxLCAweDQwLCAweDgwLCAweDBjLCAweDQzLCAKLSAgICAweGUxLCAweGMwLCAweGQwLCAweGYxLCAweDc1LCAweDMxLCAweDA3LCAweDEyLCAweDdjLCAweDE1LCAweDIyLCAweGQwLCAweGYxLCAweDAyLCAweDc2LCAweDZmLCAKLSAgICAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDA5LCAweDIzLCAweDc1LCAweDMxLCAweDc5LCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAKLSAgICAweDJlLCAweGJlLCAweGIzLCAweDNmLCAweGYxLCAweDY4LCAweDExLCAweGNhLCAweGI4LCAweGMwLCAweGYxLCAweDEyLCAweDQzLCAweGQ0LCAweGQwLCAweGYxLCAKLSAgICAweGRhLCAweGI4LCAweDUwLCAweDc2LCAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDgwLCAweDZkLCAweGI0LCAweDA1LCAweDA4LCAweDc1LCAweDMxLCAweDdhLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweDgwLCAweDYyLCAweGI0LCAweDAzLCAweDE5LCAweDc1LCAweDMxLCAweDdiLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAKLSAgICAweDJhLCAweDJlLCAweGI0LCAweDAxLCAweDU1LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDQ0LCAweDAxLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAKLSAgICAweDQ2LCAweGI0LCAweDAxLCAweDE5LCAweDc1LCAweDMxLCAweDdjLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDJlLCAweGI0LCAweDAxLCAKLSAgICAweDM5LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDU0LCAweGZlLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDJhLCAweGI0LCAweDA3LCAweDJhLCAKLSAgICAweDdlLCAweGIzLCAweDJhLCAweDJkLCAweDYwLCAweDI0LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDJhLCAweDJlLCAweDdlLCAweDE3LCAweDJhLCAweDJmLCAKLSAgICAweDc1LCAweDMxLCAweDczLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDAxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDdhLCAweDExLCAweDMxLCAweDEyLCAKLSAgICAweDdjLCAweDE1LCAweDEyLCAweDdiLCAweDVmLCAweDQwLCAweDAzLCAweDAyLCAweDc2LCAweDZmLCAweDAyLCAweDdiLCAweDI5LCAweDdlLCAweGIzLCAweDJhLCAKLSAgICAweDJjLCAweGI0LCAweDBiLCAweGY2LCAweDc1LCAweDMxLCAweDdkLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDJlLCAweDdlLCAweGEzLCAKLSAgICAweDJhLCAweDMwLCAweDRjLCAweGFiLCAweDc4LCAweGU0LCAweDgwLCAweGRmLCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDBhLCAweGRiLCAweDc1LCAKLSAgICAweDMxLCAweDdlLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweGIzLCAweDJhLCAweDJlLCAweDcwLCAweGNmLCAweGY1LCAweGYzLCAweDc1LCAweGY2LCAweDAxLCAKLSAgICAweDIyLCAweDAyLCAweDdiLCAweDI5LCAweDAyLCAweDdiLCAweDI5LCAweDAyLCAweDdiLCAweDI5LCAweDdlLCAweGIzLCAweDJhLCAweDJjLCAweGI0LCAweDA0LCAKLSAgICAweDIwLCAweDc1LCAweDMxLCAweGMzLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAweDE3LCAweDJhLCAweDJkLCAweDdlLCAKLSAgICAweDE4LCAweDJhLCAweDNjLCAweDdhLCAweDFjLCAweDAwLCAweDAwLCAweDdlLCAweDQ3LCAweDJhLCAweDMxLCAweDEyLCAweDdjLCAweDIxLCAweDAyLCAweDdhLCAKLSAgICAweGM4LCAweGI0LCAweDA2LCAweDNhLCAweDc1LCAweDMxLCAweGMxLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAKLSAgICAweDAwLCAweGZlLCAweDdkLCAweGNhLCAweDdlLCAweGQ3LCAweDJhLCAweDJkLCAweDdlLCAweDc4LCAweDJhLCAweDNjLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAKLSAgICAweDdlLCAweDc3LCAweDJhLCAweDMxLCAweDc1LCAweDMxLCAweGMxLCAweDEyLCAweDdjLCAweDE1LCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAKLSAgICAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDdjLCAweDVhLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweDQwLCAweDRmLCAweDgwLCAweDRhLCAweGI0LCAweDAwLCAKLSAgICAweDFjLCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDc2LCAweDZmLCAweGU0LCAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweDhkLCAweGVmLCAKLSAgICAweGQ1LCAweGUwLCAweGY3LCAweGMwLCAweGQxLCAweGNhLCAweDAyLCAweGZmLCAweGNhLCAweDA2LCAweDAwLCAweDAwLCAweDMyLCAweGI0LCAweDA5LCAweDEyLCAKLSAgICAweDdlLCAweDU3LCAweDJhLCAweDJkLCAweDRkLCAweDU1LCAweDY4LCAweDA1LCAweGE5LCAweGQyLCAweGIxLCAweDgwLCAweDAzLCAweGE5LCAweGMyLCAweGIxLCAKLSAgICAweDgwLCAweDE2LCAweGI0LCAweDA3LCAweDE2LCAweGMyLCAweGFmLCAweDdlLCAweDA3LCAweDJhLCAweDJmLCAweDdlLCAweDE3LCAweDJhLCAweDJkLCAweGMwLCAKLSAgICAweGQxLCAweGNhLCAweDE4LCAweGNhLCAweDM4LCAweGNhLCAweDI4LCAweDMyLCAweDAyLCAweDc2LCAweDZmLCAweDAyLCAweDdiLCAweDI5LCAweDdlLCAweGIzLCAKLSAgICAweDJhLCAweDJjLCAweGI0LCAweDAzLCAweDE1LCAweDc1LCAweDMxLCAweGMyLCAweDEyLCAweDdjLCAweDE1LCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAKLSAgICAweDE3LCAweDJhLCAweDJkLCAweDdlLCAweDU3LCAweDJhLCAweDMxLCAweDAyLCAweDc2LCAweDczLCAweGI0LCAweDA1LCAweDM5LCAweDc1LCAweDMxLCAweGMwLCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDdlLCAweDA4LCAweDJhLCAweDNjLCAKLSAgICAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM3LCAweDJhLCAweDJkLCAweDdlLCAweDQ3LCAweDJhLCAweDMxLCAKLSAgICAweDEyLCAweDdjLCAweDIxLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweDdlLCAweDA4LCAweDJhLCAweDNjLCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAKLSAgICAweDU3LCAweDJhLCAweDMxLCAweDAyLCAweDc2LCAweDczLCAweDAyLCAweDdiLCAweDI5LCAweDc1LCAweDMxLCAweDA3LCAweDEyLCAweDdjLCAweDE1LCAweDQzLCAKLSAgICAweGUxLCAweGMwLCAweDIyLCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDdiLCAweDllLCAweDQwLCAKLSAgICAweDE5LCAweDdlLCAweDA4LCAweDJhLCAweDNjLCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweGNhLCAweDQ5LCAweDEyLCAweDdjLCAweDIxLCAKLSAgICAweGRhLCAweDU5LCAweGRhLCAweDBiLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweDIyLCAweGMwLCAKLSAgICAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDdiLCAweDllLCAweDQwLCAweDJiLCAweDdlLCAweDU4LCAweDAwLCAKLSAgICAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdmLCAweDYxLCAweDdlLCAweDc4LCAweDJhLCAweDNjLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAKLSAgICAweDc3LCAweDJhLCAweDMxLCAweGJkLCAweDc0LCAweDc4LCAweDExLCAweDc1LCAweDMxLCAweGMxLCAweDEyLCAweDdjLCAweDE1LCAweDEyLCAweDdjLCAweDVhLCAKLSAgICAweDQwLCAweDA2LCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweGQzLCAweDIyLCAweDdlLCAweDI0LCAKLSAgICAweDAwLCAweGZlLCAweDdlLCAweDM0LCAweDdmLCAweGNhLCAweDBiLCAweDFhLCAweDUwLCAweGM1LCAweGYwLCAweDdkLCAweDYyLCAweDdkLCAweDc1LCAweDdkLCAKLSAgICAweDg3LCAweDdlLCAweDM0LCAweDdmLCAweGMyLCAweDdlLCAweDFiLCAweGIwLCAweDdlLCAweDM0LCAweDdmLCAweDAzLCAweGI0LCAweDAxLCAweDA0LCAweDdlLCAKLSAgICAweDM0LCAweDdmLCAweGNjLCAweDdlLCAweDFiLCAweGIwLCAweGJjLCAweDBiLCAweDUwLCAweDQ5LCAweDNlLCAweDAwLCAweDNlLCAweDAwLCAweDBhLCAweDUwLCAKLSAgICAweDJkLCAweDc1LCAweDBiLCAweDNhLCAweDMwLCAweDY5LCAweDUzLCAweDAwLCAweDAyLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJjLCAKLSAgICAweDFiLCAweDUwLCAweDMwLCAweDNlLCAweDEwLCAweDNlLCAweDEwLCAweDBhLCAweDUxLCAweDJkLCAweDM1LCAweDY5LCAweDQxLCAweDAwLCAweDAyLCAweDBiLCAKLSAgICAweDFhLCAweDMwLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJlLCAweDQ0LCAweGZmLCAweGZmLCAweDc4LCAweDA1LCAweDdlLCAweDFiLCAKLSAgICAweDkwLCAweDBhLCAweDQ5LCAweDRkLCAweDQ0LCAweDY4LCAweDBjLCAweGJlLCAweDQ0LCAweDAwLCAweGZmLCAweDI4LCAweDA0LCAweDdlLCAweDQ0LCAweDAwLCAKLSAgICAweGZmLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAKLQotLy8gU2VnbWVudCAjMTYsIFN0YXJ0IEFkZHJlc3MgMDBmZjdmYzYsIExlbmd0aCA0Ci0weGZmLDB4MDAsMHhjNiwweDdmLDB4MDQsMHgwMCwKLSAgICAweDAxLCAweDEwLCAweDA0LCAweDAwLCAKLQotLy8gU2VnbWVudCAjMTcsIFN0YXJ0IEFkZHJlc3MgMDBmZjdjMTUsIExlbmd0aCAzMzAKLTB4ZmYsMHgwMCwweDE1LDB4N2MsMHg0YSwweDAxLAotICAgIDB4Y2EsIDB4MDgsIDB4N2UsIDB4MDEsIDB4MzEsIDB4N2EsIDB4MDMsIDB4M2YsIDB4ZjAsIDB4ZGEsIDB4MDgsIDB4MjIsIDB4N2UsIDB4MWIsIDB4YzAsIDB4N2EsIAotICAgIDB4MGIsIDB4YzAsIDB4MGIsIDB4MTQsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZjIsIDB4MjIsIDB4N2YsIDB4NmYsIDB4N2YsIDB4ZjAsIDB4MWIsIAotICAgIDB4ZmMsIDB4N2MsIDB4NTQsIDB4N2QsIDB4MzIsIDB4ODAsIDB4MDgsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4OWUsIAotICAgIDB4NDQsIDB4MDAsIDB4MTAsIDB4NTAsIDB4ZjIsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MDYsIDB4Y2EsIDB4NDgsIDB4MWIsIDB4NDQsIDB4NzgsIAotICAgIDB4ZmEsIDB4N2YsIDB4ZjYsIDB4ODksIDB4ZTQsIDB4Y2EsIDB4NmIsIDB4NWUsIDB4ZDQsIDB4MDAsIDB4M2YsIDB4NjgsIDB4MjAsIDB4N2UsIDB4ODQsIDB4MDAsIAotICAgIDB4NDAsIDB4OWQsIDB4OGQsIDB4ZGEsIDB4NmIsIDB4YmQsIDB4ODcsIDB4MzgsIDB4MTYsIDB4Y2EsIDB4NzksIDB4N2QsIDB4NzgsIDB4MTIsIDB4N2MsIDB4ODQsIAotICAgIDB4ZGEsIDB4NzksIDB4NDAsIDB4MDgsIDB4OWQsIDB4NzgsIDB4NjgsIDB4MDIsIDB4ODAsIDB4MDUsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZGEsIDB4NmIsIDB4NDMsIAotICAgIDB4OTAsIDB4MzAsIDB4NzQsIDB4YWEsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4NzQsIDB4NTUsIDB4MzksIDB4YjUsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIAotICAgIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4NDAsIDB4OWQsIDB4NzAsIDB4NTAsIDB4MDYsIDB4MmQsIDB4NzAsIDB4N2QsIDB4MDcsIAotICAgIDB4NmQsIDB4NzcsIDB4N2MsIDB4MzEsIDB4N2UsIDB4N2IsIDB4MDAsIDB4N2EsIDB4NmIsIDB4MDAsIDB4MGIsIDB4N2MsIDB4MGIsIDB4NmMsIDB4YTUsIDB4ZDksIAotICAgIDB4ZjMsIDB4N2YsIDB4MTYsIDB4MWIsIDB4MWMsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MTAsIDB4NjgsIDB4MDYsIAotICAgIDB4MWIsIDB4NTQsIDB4NzgsIDB4ZjUsIDB4ODAsIDB4MmMsIDB4NmQsIDB4MDAsIDB4N2MsIDB4MjAsIDB4N2YsIDB4MTYsIDB4OWYsIDB4MTAsIDB4N2YsIDB4MjcsIAotICAgIDB4OWYsIDB4MjAsIDB4N2UsIDB4MmIsIDB4MDAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MDEsIDB4NzgsIDB4MTYsIDB4MGIsIDB4MmMsIDB4MGIsIDB4MWMsIAotICAgIDB4YTUsIDB4ZGIsIDB4ZWYsIDB4N2MsIDB4YjYsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4NjMsIDB4OTAsIDB4MzAsIDB4NGQsIDB4NzcsIDB4NzgsIDB4OTMsIDB4YzIsIAotICAgIDB4ZDcsIDB4MjIsIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDQsIDB4NDIsIDB4MDgsIDB4MDYsIDB4MDQsIDB4MDIsIDB4MDQsIDB4MDAsIAotICAgIDB4MDIsIDB4MDEsIDB4MDQsIDB4MDEsIDB4MDIsIDB4ODIsIDB4MDgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDIsIDB4MDIsIAotICAgIDB4MDIsIDB4MDIsIDB4MDQsIDB4MDIsIDB4MDgsIDB4MTAsIDB4MDIsIDB4MTAsIDB4MDQsIDB4MDIsIDB4MDgsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDgsIDB4MDAsIAotICAgIDB4MDEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MjAsIDB4MDQsIDB4N2UsIDB4MTgsIDB4N2YsIDB4YmQsIDB4N2EsIAotICAgIDB4MWMsIDB4MDAsIDB4ZmUsIDB4MGIsIDB4MWEsIDB4MDAsIDB4NWUsIDB4MTAsIDB4MWYsIDB4YmUsIDB4MTAsIDB4MWEsIDB4MzgsIDB4MWEsIDB4MGEsIDB4NTEsIAotICAgIDB4MjMsIDB4N2UsIDB4MTgsIDB4N2MsIDB4ZmEsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MmQsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NTAsIDB4NjAsIDB4MDgsIAotICAgIDB4YTUsIDB4YjgsIDB4MDIsIDB4MDMsIDB4NGUsIDB4YTAsIDB4MDgsIDB4MjIsIDB4ODAsIDB4ZmUsIAotfTsKLQotc3RhdGljIHN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyBJTUFHRV9WRVJTSU9OX05BTUUgPSB7Ci0JMSwgMTYsIDQgfTsJCS8vIE1ham9yLCBNaW5vciwgQnVpbGQKLQotI3VuZGVmIElNQUdFX1ZFUlNJT05fTkFNRQotCi0jdW5kZWYgSU1BR0VfQVJSQVlfTkFNRQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bjIuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjcyNzdlLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMi5oCisrKyAvZGV2L251bGwKQEAgLTEsMTEzMyArMCwwIEBACi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0vLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKLS8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKLS8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0vLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLS8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0KLS8vSW1hZ2Ugc3RydWN0dXJlIGRlZmluaXRpb24KLSNpZiAhZGVmaW5lZChERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JEKQotCSNkZWZpbmUgREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRAotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCB7Ci0JCV9fbGUxNiBFeHRBZGRyOwotCQlfX2xlMTYgQWRkcjsKLQkJX19sZTE2IExlbjsKLQkJdW5zaWduZWQgY2hhciAgRGF0YVswXTsKLQl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyB7Ci0JCXVuc2lnbmVkIGNoYXIgIE1ham9yVmVyc2lvbjsKLQkJdW5zaWduZWQgY2hhciAgTWlub3JWZXJzaW9uOwotCQl1bnNpZ25lZCBzaG9ydCBCdWlsZE51bWJlcjsKLQl9OwotCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKElNQUdFX0FSUkFZX05BTUUpCi0JI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCUZpcm13YXJlSW1hZ2UKLQkjZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlGaXJtd2FyZUltYWdlVmVyc2lvbgotI2VuZGlmCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIElNQUdFX0FSUkFZX05BTUVbXSA9IHsKLQotLy8gU2VnbWVudCAjMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwMCwgTGVuZ3RoIDYKLTB4ZmYsMHgwMCwweDAwLDB4MDAsMHgwNiwweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4ODAsIDB4MDIsIDB4NDUsIDB4MTQsIAotCi0vLyBTZWdtZW50ICMyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDBiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHg0NCwgMHhhNSwgCi0KLS8vIFNlZ21lbnQgIzMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDYzLCAweGFiLCAKLQotLy8gU2VnbWVudCAjNCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAxYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDFiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MWIsIAotCi0vLyBTZWdtZW50ICM1LCBTdGFydCBBZGRyZXNzIDAwZmYwMDIzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MjMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyMywgCi0KLS8vIFNlZ21lbnQgIzYsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMmIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDJiLCAKLQotLy8gU2VnbWVudCAjNywgU3RhcnQgQWRkcmVzcyAwMGZmMDAzMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDMzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MzMsIAotCi0vLyBTZWdtZW50ICM4LCBTdGFydCBBZGRyZXNzIDAwZmYwMDNiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4M2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzYiwgCi0KLS8vIFNlZ21lbnQgIzksIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNDMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDQzLCAKLQotLy8gU2VnbWVudCAjMTAsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDRiLCAKLQotLy8gU2VnbWVudCAjMTEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg1MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDY3LCAweDVmLCAKLQotLy8gU2VnbWVudCAjMTIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwN2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg3YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDdiLCAKLQotLy8gU2VnbWVudCAjMTMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwODAsIExlbmd0aCA3Ci0weGZmLDB4MDAsMHg4MCwweDAwLDB4MDcsMHgwMCwKLSAgICAweDdlLCAweDE0LCAweDAwLCAweDAwLCAweDAyLCAweDQwLCAweDUyLCAKLQotLy8gU2VnbWVudCAjMTQsIFN0YXJ0IEFkZHJlc3MgMDBmZjMwMDAsIExlbmd0aCAyOTE4Ci0weGZmLDB4MDAsMHgwMCwweDMwLDB4NjYsMHgwYiwKLSAgICAweDEyLCAweDMwLCAweDY0LCAweDEyLCAweDMwLCAweGZmLCAweDEyLCAweDMxLCAweDJmLCAweDEyLCAweDMwLCAweGIwLCAweDgwLCAweGYyLCAweGU1LCAweDIzLCAKLSAgICAweDYwLCAweDE5LCAweDdlLCAweDE0LCAweDAwLCAweDAwLCAweDA5LCAweGIxLCAweDAxLCAweGI5LCAweGI0LCAweDAwLCAweDAyLCAweDgwLCAweDA1LCAweDE0LCAKLSAgICAweDE5LCAweGIxLCAweDAxLCAweGI5LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGViLCAweDIyLCAweGMyLCAweGFmLCAweDdlLCAweGIzLCAKLSAgICAweDNmLCAweGYxLCAweGI0LCAweDAxLCAweDAzLCAweDEyLCAweDY1LCAweDY3LCAweGQyLCAweGFmLCAweDIyLCAweGMyLCAweGFmLCAweDdlLCAweGIzLCAweDNmLCAKLSAgICAweGYxLCAweGI0LCAweDAxLCAweDFkLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDFhLCAweDZjLCAweGFhLCAKLSAgICAweDYwLCAweDBmLCAweGNhLCAweDBiLCAweGNhLCAweDM5LCAweGNhLCAweDU5LCAweDEyLCAweDY0LCAweDI0LCAweGRhLCAweDU5LCAweGRhLCAweDM5LCAweGRhLCAKLSAgICAweDBiLCAweGQyLCAweGFmLCAweDIyLCAweGMyLCAweGFmLCAweGU1LCAweDIyLCAweDYwLCAweDQzLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweGJlLCAweDA0LCAKLSAgICAweDAzLCAweDgwLCAweDM4LCAweDM5LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAweDIxLCAweDA5LCAweGEwLCAKLSAgICAweDAwLCAweDA0LCAweDRlLCAweGEwLCAweDA1LCAweDE5LCAweGEwLCAweDAwLCAweDA0LCAweDBhLCAweDMyLCAweDA5LCAweDUzLCAweDM1LCAweDMzLCAweDVlLCAKLSAgICAweDUxLCAweDI3LCAweDY4LCAweDBiLCAweDA5LCAweGEwLCAweDAwLCAweDEwLCAweDRlLCAweGEwLCAweDAxLCAweDE5LCAweGEwLCAweDAwLCAweDEwLCAweDJlLCAKLSAgICAweDA0LCAweDAxLCAweDAwLCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGQxLCAweDc1LCAweDIyLCAweDAwLCAweGQyLCAweGFmLCAweDIyLCAKLSAgICAweGMyLCAweGFmLCAweGU1LCAweDI2LCAweDYwLCAweDM2LCAweDdlLCAweDIwLCAweDAwLCAweDdlLCAweDMwLCAweDAxLCAweGU1LCAweDI2LCAweGE1LCAweDViLCAKLSAgICAweDY4LCAweDIxLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDMyLCAweDAxLCAweDc5LCAweGJlLCAweDM0LCAweDAwLCAweDAwLCAweDY4LCAKLSAgICAweDEyLCAweDdlLCAweGIxLCAweDIxLCAweGE1LCAweDRiLCAweDdhLCAweGIxLCAweDIxLCAweGNhLCAweDE5LCAweDQ5LCAweDIyLCAweDMwLCAweGVmLCAweDk5LCAKLSAgICAweDI0LCAweGRhLCAweDE5LCAweDNlLCAweDMwLCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGQwLCAweGQyLCAweGFmLCAweDIyLCAweDQ2LCAKLSAgICAweDRmLCAweDQ5LCAweDdjLCAweDRjLCAweGE5LCAweDRmLCAweGQ2LCAweDUzLCAweDAzLCAweDU2LCAweDMwLCAweDU5LCAweDVkLCAweDVjLCAweDhhLCAweGMyLCAKLSAgICAweGFmLCAweGU1LCAweDI0LCAweDYwLCAweDE0LCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDMxLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGVmLCAweGQyLCAweGFmLCAweDIyLCAweGNhLCAweDI4LCAweDEyLCAweDM1LCAKLSAgICAweDRjLCAweGRhLCAweDI4LCAweDQwLCAweDA5LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAweDM1LCAweDMzLCAweGY0LCAweDUyLCAweDI0LCAweDIyLCAweGMyLCAKLSAgICAweGFmLCAweGU1LCAweDIzLCAweDYwLCAweDE0LCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDMxLCAweDRjLCAKLSAgICAweGRhLCAweGI4LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGVmLCAweGQyLCAweGFmLCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAKLSAgICAweDJiLCAweDQ5LCAweDIyLCAweDMxLCAweDU3LCAweDg5LCAweDI0LCAweDMxLCAweDY3LCAweDMxLCAweGQwLCAweDMyLCAweDM5LCAweDMyLCAweGEyLCAweDMzLCAKLSAgICAweDBiLCAweDMzLCAweDc0LCAweDMzLCAweGRkLCAweDM0LCAweDQ2LCAweDdlLCAweDI3LCAweDAxLCAweDc5LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAKLSAgICAweDI0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAKLSAgICAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDQ5LCAweDQ1LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAKLSAgICAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDg5LCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDg5LCAweDdlLCAKLSAgICAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGI5LCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGI5LCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAKLSAgICAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAKLSAgICAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDE4LCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGI5LCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDdiLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDgxLCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDRjLCAweDcyLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweDhiLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDhiLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGJhLCAweDgwLCAKLSAgICAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGJhLCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDE5LCAweDZjLCAKLSAgICAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJhLCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAweDdkLCAweGJlLCAweDI0LCAweDAwLCAKLSAgICAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDgyLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDRmLCAweDlmLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAKLSAgICAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDhkLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAKLSAgICAweDhkLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGJiLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGJiLCAweGE1LCAweGJlLCAKLSAgICAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAKLSAgICAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDFhLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJiLCAweDEyLCAweDY0LCAKLSAgICAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAweDdmLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDgzLCAweDAwLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAKLSAgICAweDEyLCAweDEyLCAweDUyLCAweGNjLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAKLSAgICAweGJlLCAweDI3LCAweDAxLCAweDhmLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDhmLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAKLSAgICAweGJjLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGJjLCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAKLSAgICAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAKLSAgICAweDFiLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJjLCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAweDgxLCAweGJlLCAKLSAgICAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDg0LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAKLSAgICAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDU1LCAweGY5LCAweDdkLCAweDIxLCAweGRhLCAKLSAgICAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDkxLCAweDY4LCAweDBkLCAweDdhLCAKLSAgICAweDI3LCAweDAxLCAweDkxLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGJkLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGJkLCAKLSAgICAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAKLSAgICAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDFjLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJkLCAKLSAgICAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAweDgzLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAKLSAgICAweDg1LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAKLSAgICAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDU5LCAweDI2LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAKLSAgICAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDkzLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDkzLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAKLSAgICAweDYzLCAweDAxLCAweGJlLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGJlLCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAKLSAgICAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweGMyLCAweDFkLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJlLCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDg1LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDg2LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDVjLCAweDUzLCAweDdkLCAKLSAgICAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDk1LCAweDY4LCAKLSAgICAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDk1LCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGJmLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAKLSAgICAweDAxLCAweGJmLCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAKLSAgICAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDFlLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAKLSAgICAweDAxLCAweGJmLCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweDdlLCAweDI3LCAweDAxLCAweDg3LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAKLSAgICAweDdlLCAweDI0LCAweDg3LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAKLSAgICAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDVmLCAweDgwLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAKLSAgICAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAweDAxLCAweDk3LCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDk3LCAweDdlLCAweDYwLCAKLSAgICAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGMwLCAweDgwLCAweDI3LCAweDdlLCAweDYzLCAweDAxLCAweGMwLCAweGE1LCAweGJlLCAweDAwLCAweDFmLCAweDdlLCAKLSAgICAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAweGEwLCAweGM4LCAweDEyLCAweDYxLCAweDM2LCAweDQwLCAweDExLCAweDc1LCAweDJmLCAweGIzLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweGMyLCAweDFmLCAweDZjLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGMwLCAweDEyLCAweDY0LCAweDg2LCAweDIyLCAweGMyLCAKLSAgICAweGFmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweGJlLCAweDA0LCAweDAwLCAweDAwLCAweDc4LCAweDI4LCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDE1LCAweDMwLCAweGU1LCAweDFiLCAweDdlLCAweGIzLCAweDkxLCAweDFhLCAweGJlLCAweGIwLCAweDNmLCAweDM4LCAKLSAgICAweDBjLCAweDg1LCAweDMxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDgwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDc0LCAweDIwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDE1LCAweGQyLCAweGFmLCAweDIyLCAweDM1LCAweDNiLCAweDM2LCAweGU4LCAweDM3LCAweDAwLCAweDM3LCAweDFiLCAweDM3LCAweGI2LCAKLSAgICAweDM4LCAweDRlLCAweDM4LCAweDY5LCAweDM4LCAweGZiLCAweDM4LCAweDg0LCAweDM4LCAweGM1LCAweDdjLCAweGIzLCAweGJlLCAweGIwLCAweDA5LCAweDI4LCAKLSAgICAweDIyLCAweDc1LCAweDJmLCAweDA5LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDU3LCAweDAyLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAKLSAgICAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDExLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDExLCAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDIzLCAweDZjLCAweGFhLCAweDJlLCAweDU0LCAweDM0LCAweGU2LCAweDBiLCAweDU4LCAKLSAgICAweDUwLCAweDg5LCAweDU0LCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDc1LCAweDJmLCAweGIwLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAweDM1LCAweDMzLCAweDQyLCAweDI0LCAweGQwLCAweGE4LCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAKLSAgICAweDNiLCAweDQ5LCAweDMzLCAweDM1LCAweDU3LCAweDg5LCAweDM0LCAweDM1LCAweDY3LCAweDM1LCAweDk1LCAweDM1LCAweGMzLCAweDM1LCAweGYxLCAweDM2LCAKLSAgICAweDFmLCAweDM2LCAweDRkLCAweDM2LCAweDdiLCAweDM2LCAweGE5LCAweDEyLCAweDQxLCAweGJhLCAweGQyLCAweDI4LCAweGQyLCAweDA4LCAweGMyLCAweDQwLCAKLSAgICAweGMyLCAweDQ4LCAweGMyLCAweDM4LCAweGMyLCAweDMwLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGI5LCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweDk5LCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGE5LCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAKLSAgICAweDVmLCAweGI3LCAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAweDQxLCAweGQ3LCAweGQyLCAweDI5LCAweGQyLCAweDA5LCAweGMyLCAweDQxLCAweGMyLCAweDQ5LCAKLSAgICAweGMyLCAweDM5LCAweGMyLCAweDMxLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJhLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDliLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGFiLCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDVmLCAweGUwLCAKLSAgICAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAweDQxLCAweGY0LCAweGQyLCAweDJhLCAweGQyLCAweDBhLCAweGMyLCAweDQyLCAweGMyLCAweDRhLCAweGMyLCAweDNhLCAKLSAgICAweGMyLCAweDMyLCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJiLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweDlkLCAKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGFkLCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDYwLCAweDA5LCAweDAyLCAweDM2LCAKLSAgICAweGQ3LCAweDEyLCAweDQyLCAweDExLCAweGQyLCAweDJiLCAweGQyLCAweDBiLCAweGMyLCAweDQzLCAweGMyLCAweDRiLCAweGMyLCAweDNiLCAweGMyLCAweDMzLCAKLSAgICAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJjLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweDlmLCAweDdlLCAweDA0LCAKLSAgICAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGFmLCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDYwLCAweDMyLCAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAKLSAgICAweDQyLCAweDJlLCAweGQyLCAweDJjLCAweGQyLCAweDBjLCAweGMyLCAweDQ0LCAweGMyLCAweDRjLCAweGMyLCAweDNjLCAweGMyLCAweDM0LCAweDZkLCAweDAwLCAKLSAgICAweDdhLCAweDAzLCAweDAxLCAweGJkLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGExLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweGIxLCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDYwLCAweDViLCAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAweDQyLCAweDRiLCAKLSAgICAweGQyLCAweDJkLCAweGQyLCAweDBkLCAweGMyLCAweDQ1LCAweGMyLCAweDRkLCAweGMyLCAweDNkLCAweGMyLCAweDM1LCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAKLSAgICAweDAxLCAweGJlLCAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGEzLCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGIzLCAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDYwLCAweDg0LCAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAweDQyLCAweDY4LCAweGQyLCAweDJlLCAKLSAgICAweGQyLCAweDBlLCAweGMyLCAweDQ2LCAweGMyLCAweDRlLCAweGMyLCAweDNlLCAweGMyLCAweDM2LCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGJmLCAKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGE1LCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGI1LCAKLSAgICAweDEyLCAweDQxLCAweDI3LCAweDEyLCAweDYwLCAweGFkLCAweDAyLCAweDM2LCAweGQ3LCAweDEyLCAweDQyLCAweDg1LCAweGQyLCAweDJmLCAweGQyLCAweDBmLCAKLSAgICAweGMyLCAweDQ3LCAweGMyLCAweDRmLCAweGMyLCAweDNmLCAweGMyLCAweDM3LCAweDZkLCAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGMwLCAweDdlLCAweDA0LCAKLSAgICAweDAwLCAweDIwLCAweDdhLCAweDA3LCAweDAxLCAweGE3LCAweDdlLCAweDA0LCAweDAwLCAweDM4LCAweDdhLCAweDA3LCAweDAxLCAweGI3LCAweDEyLCAweDQxLCAKLSAgICAweDI3LCAweDEyLCAweDYwLCAweGQ2LCAweDAyLCAweDM2LCAweGQ3LCAweDdlLCAweGEwLCAweGQwLCAweDdlLCAweDYwLCAweDBmLCAweDEyLCAweDYxLCAweDM2LCAKLSAgICAweDQwLCAweDA1LCAweDEyLCAweDY0LCAweDg2LCAweGMyLCAweGQ3LCAweDIyLCAweDc1LCAweDJmLCAweGIxLCAweDEyLCAweDczLCAweDM1LCAweDBhLCAweDUyLCAKLSAgICAweDIzLCAweDZkLCAweDAwLCAweDU5LCAweDA1LCAweDAwLCAweDMyLCAweDEyLCAweDQxLCAweDgzLCAweDEyLCAweDQxLCAweDlmLCAweGQwLCAweGE4LCAweDIyLCAKLSAgICAweDc1LCAweDJmLCAweGIyLCAweDEyLCAweDczLCAweDM1LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAweDM1LCAweDMzLCAweDQyLCAweDIzLCAweDdlLCAweGIwLCAKLSAgICAweDljLCAweDE5LCAweGIyLCAweDAxLCAweGI5LCAweDEyLCAweDMxLCAweDRjLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAKLSAgICAweDAyLCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAKLSAgICAweDMwLCAweDAwLCAweDBjLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAxLCAweDY4LCAweDEyLCAweDQ0LCAweDQwLCAweGNhLCAweGI4LCAweDA5LCAweGIwLCAKLSAgICAweDAwLCAweDEwLCAweDQ0LCAweDAyLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweGRhLCAweGI4LCAweDgwLCAweDAyLCAweDU0LCAweGJmLCAweDdjLCAweDc0LCAKLSAgICAweDVlLCAweDcwLCAweDA4LCAweDY4LCAweDA0LCAweDQ0LCAweDA4LCAweDgwLCAweDAyLCAweDU0LCAweGY3LCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweGNhLCAKLSAgICAweGI4LCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGRhLCAweGI4LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAweDMwLCAweDAwLCAKLSAgICAweDBjLCAweDBhLCAweDYyLCAweDA5LCAweGI2LCAweDM1LCAweDMzLCAweDNlLCAweDIwLCAweDBhLCAweDYyLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAKLSAgICAweDY4LCAweDIwLCAweDQyLCAweDI3LCAweGNhLCAweGI4LCAweDc0LCAweDYxLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDdlLCAweDQ0LCAweDAwLCAweDEwLCAKLSAgICAweDU5LCAweDQ2LCAweDAxLCAweGE5LCAweDA5LCAweGIwLCAweDAwLCAweDEwLCAweDQ0LCAweDAxLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweGRhLCAweGI4LCAKLSAgICAweDgwLCAweDExLCAweGY0LCAweDUyLCAweDI3LCAweDc0LCAweGExLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDdlLCAweDQ0LCAweDAwLCAweDM4LCAweDU5LCAKLSAgICAweDQ2LCAweDAxLCAweGE5LCAweGQwLCAweGE4LCAweDIyLCAweDdjLCAweDc0LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAweDMwLCAKLSAgICAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAKLSAgICAweDAxLCAweDY4LCAweDA0LCAweDQ0LCAweDgwLCAweDgwLCAweDAyLCAweDU0LCAweDdmLCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDA4LCAweDY4LCAweDA0LCAKLSAgICAweDQ0LCAweDAyLCAweDgwLCAweDAyLCAweDU0LCAweGZkLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweDBhLCAweDYyLCAKLSAgICAweDA5LCAweGI2LCAweDM1LCAweDMzLCAweGE1LCAweGZkLCAweGY0LCAweGE1LCAweGZlLCAweGNhLCAweDI4LCAweDNlLCAweDIwLCAweDBhLCAweDYyLCAweGRhLCAKLSAgICAweDI4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAweDY4LCAweDEwLCAweGE1LCAweGVkLCAweDQyLCAweDI4LCAweDQyLCAweDI2LCAweDdlLCAweDQ0LCAKLSAgICAweDAwLCAweDA4LCAweDU5LCAweDQ2LCAweDAxLCAweDk5LCAweDgwLCAweDA0LCAweGE1LCAweGVlLCAweDUyLCAweDI4LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAKLSAgICAweDA0LCAweDY4LCAweDEwLCAweGE1LCAweGVkLCAweDQyLCAweDI5LCAweDQyLCAweDI2LCAweDdlLCAweDQ0LCAweDAwLCAweDA4LCAweDU5LCAweDQ2LCAweDAxLCAKLSAgICAweDk5LCAweDgwLCAweDE1LCAweGE1LCAweGVlLCAweDUyLCAweDI5LCAweDdjLCAweDc0LCAweDVlLCAweDcwLCAweDAyLCAweDc4LCAweDBhLCAweDUyLCAweDI2LCAKLSAgICAweDdlLCAweDQ0LCAweDAwLCAweDIwLCAweDU5LCAweDQ2LCAweDAxLCAweDk5LCAweDEyLCAweDQyLCAweGEyLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweDA0LCAKLSAgICAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDE5LCAweDQwLCAKLSAgICAweDAwLCAweDEwLCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDA5LCAKLSAgICAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDE5LCAweDQwLCAweDAwLCAweDE4LCAweDE5LCAweDMwLCAweDAwLCAKLSAgICAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDJmLCAweGI1LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAKLSAgICAweDA5LCAweGIwLCAweDAwLCAweDBjLCAweDQ0LCAweDQwLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGU1LCAweDU4LCAweGI0LCAweDA3LCAweDIzLCAweDA5LCAKLSAgICAweGIwLCAweDAwLCAweDEwLCAweDRlLCAweGIwLCAweDAyLCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAKLSAgICAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAweDAwLCAweDA0LCAweDU0LCAweGY3LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDE5LCAweDMwLCAKLSAgICAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDJmLCAweGI2LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAKLSAgICAweDAyLCAweGU1LCAweDU4LCAweGI0LCAweDA3LCAweDE4LCAweDA5LCAweDMwLCAweDAwLCAweDBjLCAweDc0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAKLSAgICAweDA5LCAweGIwLCAweDAwLCAweDA0LCAweDQ0LCAweDA4LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDE5LCAweDMwLCAweDAwLCAweDBjLCAweDA5LCAweGIwLCAKLSAgICAweDAwLCAweDBjLCAweDU0LCAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweGQwLCAweGE4LCAweDIyLCAweDc1LCAweDJmLCAweGI0LCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDQxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIwLCAweDAxLCAKLSAgICAweDdlLCAweGEwLCAweGM4LCAweDdjLCAweDY0LCAweDEyLCAweDYxLCAweDM2LCAweDEyLCAweDY0LCAweDg2LCAweGQwLCAweGE4LCAweDIyLCAweDM5LCAweDJlLCAKLSAgICAweDM5LCAweDc1LCAweDM5LCAweGJjLCAweDNhLCAweDAzLCAweDNhLCAweDRhLCAweDNhLCAweDkxLCAweDNhLCAweGQ4LCAweDNiLCAweDFmLCAweDc1LCAweDJmLCAKLSAgICAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDY5LCAweDdlLCAweDI3LCAweDAxLCAweDc5LCAweDJkLCAweDIzLCAKLSAgICAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDA4LCAweDJjLCAweDM4LCAweDBmLCAKLSAgICAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDY5LCAweDdhLCAweDI3LCAweDAxLCAweDc5LCAweDAyLCAweDQ2LCAweDRmLCAweDdlLCAKLSAgICAweDE0LCAweDA0LCAweDJkLCAweDgwLCAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAxLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAKLSAgICAweDZiLCAweDdlLCAweDI3LCAweDAxLCAweDdiLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAKLSAgICAweDE0LCAweGJlLCAweDE0LCAweDBjLCAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDZiLCAweDdhLCAKLSAgICAweDI3LCAweDAxLCAweDdiLCAweDAyLCAweDQ5LCAweDdjLCAweDdlLCAweDE0LCAweDA4LCAweDJkLCAweDgwLCAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAyLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDZkLCAweDdlLCAweDI3LCAweDAxLCAweDdkLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAKLSAgICAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDEwLCAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAKLSAgICAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDZkLCAweDdhLCAweDI3LCAweDAxLCAweDdkLCAweDAyLCAweDRjLCAweGE5LCAweDdlLCAweDE0LCAweDBjLCAKLSAgICAweDJkLCAweDgwLCAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAKLSAgICAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDZmLCAweDdlLCAKLSAgICAweDI3LCAweDAxLCAweDdmLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAKLSAgICAweDE0LCAweDE0LCAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDZmLCAweDdhLCAweDI3LCAweDAxLCAKLSAgICAweDdmLCAweDAyLCAweDRmLCAweGQ2LCAweDdlLCAweDE0LCAweDEwLCAweDJkLCAweDgwLCAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDc1LCAweDJmLCAweDA0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDcxLCAweDdlLCAweDI3LCAweDAxLCAweDgxLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAKLSAgICAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDE4LCAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAKLSAgICAweDdhLCAweDE3LCAweDAxLCAweDcxLCAweDdhLCAweDI3LCAweDAxLCAweDgxLCAweDAyLCAweDUzLCAweDAzLCAweDdlLCAweDE0LCAweDE0LCAweDJkLCAweDgwLCAKLSAgICAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDA1LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDczLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDgzLCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDFjLCAKLSAgICAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDczLCAweDdhLCAweDI3LCAweDAxLCAweDgzLCAweDAyLCAKLSAgICAweDU2LCAweDMwLCAweDdlLCAweDE0LCAweDE4LCAweDJkLCAweDgwLCAweGViLCAweDc1LCAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAKLSAgICAweDA2LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDdlLCAweDE3LCAweDAxLCAweDc1LCAweDdlLCAweDI3LCAweDAxLCAweDg1LCAweDJkLCAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAKLSAgICAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDIwLCAweDJjLCAweDM4LCAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAKLSAgICAweDAxLCAweDc1LCAweDdhLCAweDI3LCAweDAxLCAweDg1LCAweDAyLCAweDU5LCAweDVkLCAweDdlLCAweDE0LCAweDFjLCAweDJkLCAweDgwLCAweGViLCAweDc1LCAKLSAgICAweDJmLCAweDU1LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDA3LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE3LCAweDAxLCAweDc3LCAweDdlLCAweDI3LCAweDAxLCAweDg3LCAweDJkLCAKLSAgICAweDIzLCAweDdlLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDdhLCAweDE5LCAweGIwLCAweDBiLCAweDE0LCAweGJlLCAweDE0LCAweDI0LCAweDJjLCAweDM4LCAKLSAgICAweDBmLCAweDFiLCAweDM0LCAweDc4LCAweGVjLCAweDdhLCAweDE3LCAweDAxLCAweDc3LCAweDdhLCAweDI3LCAweDAxLCAweDg3LCAweDAyLCAweDVjLCAweDhhLCAKLSAgICAweDdlLCAweDE0LCAweDIwLCAweDJkLCAweDgwLCAweGViLCAKLQotLy8gU2VnbWVudCAjMTUsIFN0YXJ0IEFkZHJlc3MgMDBmZjQwMDAsIExlbmd0aCAxMzEwOQotMHhmZiwweDAwLDB4MDAsMHg0MCwweDM1LDB4MzMsCi0gICAgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxNCwgMHg3ZiwgMHhmOCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZCwgMHgzMSwgMHgwYiwgMHgxYSwgCi0gICAgMHg1MCwgMHgxYiwgMHgwYSwgMHg1MCwgMHg3ZSwgMHgxNCwgMHg0MCwgMHgxYiwgMHgwMiwgMHg0MCwgMHg3NCwgMHg3ZSwgMHhmOCwgMHgwMCwgMHg1OSwgMHg3NSwgCi0gICAgMHhiMCwgMHhkZiwgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHg3ZSwgMHhmNCwgMHg0MCwgMHgzMCwgMHgwMiwgMHg0MCwgMHg4YiwgCi0gICAgMHgxMiwgMHg3NCwgMHg0ZSwgMHhmNSwgMHgyZSwgMHg3YSwgMHhhMSwgMHgyZCwgMHg3YSwgMHgxMSwgMHg1OCwgMHgxMiwgMHg2YiwgMHgwMiwgMHgxMiwgMHg0MCwgCi0gICAgMHhlYiwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg2MCwgMHgwMywgMHgxMiwgMHg0MywgMHg3OSwgMHgxMiwgMHg2YiwgMHhkZSwgMHhkMiwgMHhhZiwgMHgwMiwgCi0gICAgMHgzMCwgMHgwMCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHhmZiwgMHg3ZSwgMHgxOCwgMHg0MCwgMHg2MCwgMHg3YSwgMHgxYywgMHgwMCwgMHgwMSwgMHg4OSwgMHgxOCwgCi0gICAgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHgzNSwgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgCi0gICAgMHg5MywgMHgwMCwgMHg4OSwgMHgwOCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHhmZiwgMHg3ZSwgMHgxOCwgMHg0MCwgMHg4MiwgMHg3YSwgMHgxYywgMHgwMCwgMHgwMSwgCi0gICAgMHg4OSwgMHgxOCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MywgMHgwMCwgMHg4OSwgMHgwOCwgMHg3ZSwgMHgwOCwgMHgwMCwgMHgyMCwgMHg3ZSwgCi0gICAgMHg0NCwgMHgwNCwgMHgwMCwgMHg3ZSwgMHg0MCwgMHgwMCwgMHg3ZSwgMHhlNCwgMHg0MCwgMHg5ZCwgMHgwMiwgMHg3MywgMHg1MCwgMHg3ZSwgMHgwOCwgMHgwMSwgCi0gICAgMHg1OSwgMHg3ZSwgMHg0NCwgMHgyYSwgMHhkZCwgMHg3ZSwgMHg0MCwgMHgwMCwgMHg3ZSwgMHhlNCwgMHg0MCwgMHhhZiwgMHgwMiwgMHg3MywgMHg1MCwgMHg3ZSwgCi0gICAgMHgwOCwgMHgwMCwgMHg1OSwgMHg3ZSwgMHg0NCwgMHgwMSwgMHgwMCwgMHg3ZSwgMHg0MCwgMHg1MywgMHg3ZSwgMHhlNCwgMHg0MCwgMHhjMSwgMHgwMiwgMHg3MywgCi0gICAgMHg1MCwgMHg3NSwgMHg1NywgMHgwMSwgMHg3NSwgMHg1NiwgMHgwMCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwOCwgMHg3NSwgMHg1NCwgMHg1OCwgMHg3NSwgMHg1NSwgCi0gICAgMHgwOCwgMHg3NSwgMHg1MSwgMHgwOCwgMHg3NSwgMHg1MywgMHgwMSwgMHg3NSwgMHg4OSwgMHgwMSwgMHg3NSwgMHg4YSwgMHgwMSwgMHg3NSwgMHg4YywgMHgwMCwgCi0gICAgMHhkMiwgMHg4YywgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMiwgMHg3YSwgMHgwNSwgMHg0MiwgMHg4OSwgMHhmNCwgMHg3NSwgMHhiNywgMHg3ZiwgMHg3NSwgMHhiOCwgCi0gICAgMHg3ZiwgMHg3NSwgMHhiMywgMHgwMSwgMHg3NSwgMHhiMiwgMHgwMSwgMHhkMiwgMHhhOSwgMHgyMiwgMHg3NSwgMHhiMCwgMHhkZiwgMHhlNCwgMHhkNSwgMHhlMCwgCi0gICAgMHhmZCwgMHg3NSwgMHhiMCwgMHhlZiwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyZSwgMHg3ZSwgMHhhMCwgMHgwOCwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhmMiwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMiwgMHg0MSwgMHg4MywgMHgwYiwgCi0gICAgMHgyMCwgMHhiZSwgMHgyMSwgMHgyZSwgMHg3OCwgMHhmNiwgMHgyMiwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHg3NCwgMHhiZiwgMHgxOSwgCi0gICAgMHhiMCwgMHgwMCwgMHgwYywgMHg3NCwgMHgxMCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3NCwgMHg4MCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHg3ZSwgCi0gICAgMHg1NCwgMHgwMCwgMHgwMiwgMHgxOSwgMHhhMCwgMHgwMCwgMHgwNCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwMCwgMHg3NCwgMHgwMywgMHgxOSwgMHhiMCwgMHgwMCwgCi0gICAgMHgwYywgMHg3NCwgMHgwNywgMHgyMCwgMHg2OCwgMHgwMiwgMHg3NCwgMHgwZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHgzMCwgMHg2YiwgMHgxNywgMHg3NCwgCi0gICAgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHg3NCwgMHgyOCwgMHgyMCwgMHg2OCwgMHgwMiwgMHg3NCwgMHgyMCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgCi0gICAgMHg3NCwgMHgwMywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhhNywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3NCwgMHgwYywgMHgxOSwgMHhiMCwgCi0gICAgMHgwMCwgMHgxMCwgMHgyMiwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHhlNCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHgwOSwgMHhiMCwgCi0gICAgMHgwMCwgMHgxMCwgMHg1NCwgMHgwOCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHg3NCwgMHhhNywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHgyMiwgMHg3YywgCi0gICAgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHg0MSwgMHhhYSwgMHg4OSwgMHgyNCwgMHg0MSwgMHhiYSwgMHg0MSwgMHhkNywgMHg0MSwgMHhmNCwgCi0gICAgMHg0MiwgMHgxMSwgMHg0MiwgMHgyZSwgMHg0MiwgMHg0YiwgMHg0MiwgMHg2OCwgMHg0MiwgMHg4NSwgMHhjMiwgMHgxMCwgMHhjMiwgMHgxOCwgMHhjMiwgMHgwOCwgCi0gICAgMHg3ZSwgMHgwNCwgMHgwNCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1OSwgMHg3YSwgMHgwNywgMHgwMSwgMHg2OSwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg3OSwgMHg3YSwgMHgwNywgMHgwMSwgMHg4OSwgMHgyMiwgMHhjMiwgMHgxMSwgMHhjMiwgMHgxOSwgMHhjMiwgMHgwOSwgMHg3ZSwgMHgwNCwgMHgwOCwgCi0gICAgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1YiwgMHg3YSwgMHgwNywgMHgwMSwgMHg2YiwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg3YiwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg4YiwgMHgyMiwgMHhjMiwgMHgxMiwgMHhjMiwgMHgxYSwgMHhjMiwgMHgwYSwgMHg3ZSwgMHgwNCwgMHgwYywgMHgyZCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg1ZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2ZCwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg3ZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg4ZCwgCi0gICAgMHgyMiwgMHhjMiwgMHgxMywgMHhjMiwgMHgxYiwgMHhjMiwgMHgwYiwgMHg3ZSwgMHgwNCwgMHgxMCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1ZiwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg2ZiwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg3ZiwgMHg3YSwgMHgwNywgMHgwMSwgMHg4ZiwgMHgyMiwgMHhjMiwgMHgxNCwgCi0gICAgMHhjMiwgMHgxYywgMHhjMiwgMHgwYywgMHg3ZSwgMHgwNCwgMHgxNCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2MSwgMHg3YSwgMHgwNywgMHgwMSwgMHg3MSwgCi0gICAgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg4MSwgMHg3YSwgMHgwNywgMHgwMSwgMHg5MSwgMHgyMiwgMHhjMiwgMHgxNSwgMHhjMiwgMHgxZCwgMHhjMiwgCi0gICAgMHgwZCwgMHg3ZSwgMHgwNCwgMHgxOCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2MywgMHg3YSwgMHgwNywgMHgwMSwgMHg3MywgMHg2ZCwgMHgwMCwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg4MywgMHg3YSwgMHgwNywgMHgwMSwgMHg5MywgMHgyMiwgMHhjMiwgMHgxNiwgMHhjMiwgMHgxZSwgMHhjMiwgMHgwZSwgMHg3ZSwgMHgwNCwgCi0gICAgMHgxYywgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2NSwgMHg3YSwgMHgwNywgMHgwMSwgMHg3NSwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg4NSwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHg5NSwgMHgyMiwgMHhjMiwgMHgxNywgMHhjMiwgMHgxZiwgMHhjMiwgMHgwZiwgMHg3ZSwgMHgwNCwgMHgyMCwgMHgyZCwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg2NywgMHg3YSwgMHgwNywgMHgwMSwgMHg3NywgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg4NywgMHg3YSwgMHgwNywgMHgwMSwgCi0gICAgMHg5NywgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHg0MiwgMHhhZCwgMHg4OSwgMHgyNCwgMHg0MiwgMHhiZCwgMHg0MiwgCi0gICAgMHhkNCwgMHg0MiwgMHhlYiwgMHg0MywgMHgwMiwgMHg0MywgMHgxOSwgMHg0MywgMHgzMCwgMHg0MywgMHg0NywgMHg0MywgMHg1ZSwgMHgzMCwgMHg0MCwgMHgwNywgCi0gICAgMHgyMCwgMHg1OCwgMHgwNCwgMHhjMiwgMHgyOCwgMHg4MCwgMHgwYywgMHgzMCwgMHg0OCwgMHgwNywgMHgyMCwgMHg1MCwgMHgwNCwgMHhjMiwgMHgyOCwgMHg4MCwgCi0gICAgMHgwMiwgMHhkMiwgMHgyOCwgMHgyMiwgMHgzMCwgMHg0MSwgMHgwNywgMHgyMCwgMHg1OSwgMHgwNCwgMHhjMiwgMHgyOSwgMHg4MCwgMHgwYywgMHgzMCwgMHg0OSwgCi0gICAgMHgwNywgMHgyMCwgMHg1MSwgMHgwNCwgMHhjMiwgMHgyOSwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyOSwgMHgyMiwgMHgzMCwgMHg0MiwgMHgwNywgMHgyMCwgMHg1YSwgCi0gICAgMHgwNCwgMHhjMiwgMHgyYSwgMHg4MCwgMHgwYywgMHgzMCwgMHg0YSwgMHgwNywgMHgyMCwgMHg1MiwgMHgwNCwgMHhjMiwgMHgyYSwgMHg4MCwgMHgwMiwgMHhkMiwgCi0gICAgMHgyYSwgMHgyMiwgMHgzMCwgMHg0MywgMHgwNywgMHgyMCwgMHg1YiwgMHgwNCwgMHhjMiwgMHgyYiwgMHg4MCwgMHgwYywgMHgzMCwgMHg0YiwgMHgwNywgMHgyMCwgCi0gICAgMHg1MywgMHgwNCwgMHhjMiwgMHgyYiwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyYiwgMHgyMiwgMHgzMCwgMHg0NCwgMHgwNywgMHgyMCwgMHg1YywgMHgwNCwgMHhjMiwgCi0gICAgMHgyYywgMHg4MCwgMHgwYywgMHgzMCwgMHg0YywgMHgwNywgMHgyMCwgMHg1NCwgMHgwNCwgMHhjMiwgMHgyYywgMHg4MCwgMHgwMiwgMHhkMiwgMHgyYywgMHgyMiwgCi0gICAgMHgzMCwgMHg0NSwgMHgwNywgMHgyMCwgMHg1ZCwgMHgwNCwgMHhjMiwgMHgyZCwgMHg4MCwgMHgwYywgMHgzMCwgMHg0ZCwgMHgwNywgMHgyMCwgMHg1NSwgMHgwNCwgCi0gICAgMHhjMiwgMHgyZCwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyZCwgMHgyMiwgMHgzMCwgMHg0NiwgMHgwNywgMHgyMCwgMHg1ZSwgMHgwNCwgMHhjMiwgMHgyZSwgMHg4MCwgCi0gICAgMHgwYywgMHgzMCwgMHg0ZSwgMHgwNywgMHgyMCwgMHg1NiwgMHgwNCwgMHhjMiwgMHgyZSwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyZSwgMHgyMiwgMHgzMCwgMHg0NywgCi0gICAgMHgwNywgMHgyMCwgMHg1ZiwgMHgwNCwgMHhjMiwgMHgyZiwgMHg4MCwgMHgwYywgMHgzMCwgMHg0ZiwgMHgwNywgMHgyMCwgMHg1NywgMHgwNCwgMHhjMiwgMHgyZiwgCi0gICAgMHg4MCwgMHgwMiwgMHhkMiwgMHgyZiwgMHgyMiwgMHg0NCwgMHg2NiwgMHg0MywgMHg4YSwgMHhiZSwgMHhiMCwgMHgwMiwgMHg0MCwgMHgwMSwgMHgyMiwgMHgyMywgCi0gICAgMHgwYSwgMHg1YiwgMHg0OSwgMHg1NSwgMHg0MywgMHg3NSwgMHg5OSwgMHg1NCwgMHhkMywgMHgyMiwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5NCwgCi0gICAgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHgzNSwgMHgxMiwgMHg0NCwgMHg3YSwgMHg3ZSwgMHgwNCwgMHgyOCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjMSwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHhjMywgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjNywgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgCi0gICAgMHg3ZSwgMHgwNCwgMHg2NiwgMHg3ZiwgMHg3YSwgMHgwNSwgMHg0YiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgxMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgCi0gICAgMHgxZSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMCwgMHg3NCwgMHg0OCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxMywgMHg3NCwgMHgzZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgxNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgCi0gICAgMHgxNiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMCwgMHg3NCwgMHgwOCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMSwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxMywgMHg3NCwgMHgzZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgxNiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgCi0gICAgMHgyZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMCwgMHg3NCwgMHg0OCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxMywgMHg3NCwgMHgzZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgwZiwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwNywgMHgxMiwgMHg0MCwgMHhmYSwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMiwgMHg0MSwgMHg5ZiwgMHgwYiwgMHgyMCwgMHhiZSwgMHgyMSwgCi0gICAgMHgyZSwgMHg3OCwgMHhmNiwgMHhkMiwgMHhhOCwgMHgyMiwgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgCi0gICAgMHgzNSwgMHgxMiwgMHg0NCwgMHg3YSwgMHg3NSwgMHhiMCwgMHhkZiwgMHhjMiwgMHhhOCwgMHgyMiwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgCi0gICAgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3ZSwgMHgyMCwgMHgwNCwgMHg3YywgMHhiMiwgMHhjMiwgMHhkNywgMHgxMywgMHgxMywgMHgxMywgCi0gICAgMHgxMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxMiwgMHhhNSwgMHhkYSwgMHhlNSwgMHgyMiwgMHhjYSwgMHgwOSwgMHgxMiwgMHgzMCwgMHgwZSwgMHgxMCwgMHgwMSwgMHgzNCwgMHhkNSwgMHg1MSwgMHg0MCwgCi0gICAgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNywgCi0gICAgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3ZSwgMHhiMywgCi0gICAgMHg5MSwgMHgwNCwgMHg2MywgMHg1MywgMHgwMSwgMHg3ZSwgMHgwMCwgMHg1NCwgMHgyZSwgMHgwMSwgMHg1MywgMHhhNSwgMHhlNiwgMHhmNSwgMHg1MSwgMHg4MCwgCi0gICAgMHgxMiwgMHgyMCwgMHgwMiwgMHgxZCwgMHg3NSwgMHg1MywgMHgwMCwgMHg4NSwgMHg1NCwgMHg1MSwgMHhkMiwgMHgwMiwgMHg3NCwgMHgwMywgMHg4MCwgMHgwZCwgCi0gICAgMHgzMCwgMHgwMiwgMHgwZSwgMHhjMiwgMHgwMiwgMHg3ZSwgMHgwMCwgMHg1NiwgMHgyZSwgMHgwMSwgMHg1MywgMHhhNSwgMHhlNiwgMHg3YSwgMHhiMywgMHg5MCwgCi0gICAgMHgwMCwgMHhkYSwgMHgwOSwgMHgzMiwgMHg0NSwgMHg2ZiwgMHg0NSwgMHg4YiwgMHg0NSwgMHhhNywgMHg0NSwgMHhjMywgMHg0NSwgMHhkZiwgMHg0NSwgMHhmYiwgCi0gICAgMHg0NiwgMHgxNywgMHg0NiwgMHgzMywgMHhjMCwgMHhkMCwgMHhjMCwgMHhkMSwgMHhjMCwgMHhlMCwgMHhjMCwgMHhmMCwgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgCi0gICAgMHhjYSwgMHgyYiwgMHhkMiwgMHgwMSwgMHg3NSwgMHgyZiwgMHg4OSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHg5MCwgMHgwMCwgMHg2MCwgMHgyOCwgCi0gICAgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgwMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgxMywgMHhjYSwgMHgwYiwgMHhjYSwgMHg1OSwgMHg3YywgMHhiMCwgCi0gICAgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHg0NSwgMHgwNCwgMHg5OSwgMHgyNCwgMHhkYSwgMHg1OSwgMHhkYSwgMHgwYiwgMHhhNSwgMHgwYSwgMHhhNSwgCi0gICAgMHgwOCwgMHhiZSwgMHgwMSwgMHgyZSwgMHg3OCwgMHhlMSwgMHg4MCwgMHhkMiwgMHgzMCwgMHgwNCwgMHgwNSwgMHhjMiwgMHgwNCwgMHgxMiwgMHg2NCwgMHg4NiwgCi0gICAgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHhkMCwgMHhmMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHhkMSwgMHhkMCwgMHhkMCwgMHgzMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4MCwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgCi0gICAgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MSwgMHhhYiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgCi0gICAgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4MSwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgCi0gICAgMHg2OSwgMHg1MiwgMHg2MSwgMHhlYiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgCi0gICAgMHg4MiwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MiwgMHgyYiwgCi0gICAgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4MywgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MiwgMHg2YiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgCi0gICAgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MiwgMHhhYiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgCi0gICAgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4NSwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgCi0gICAgMHg2OSwgMHg1MiwgMHg2MiwgMHhlYiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgCi0gICAgMHg4NiwgMHgxMiwgMHg3MywgMHgzNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MywgMHgyYiwgCi0gICAgMHg4OSwgMHg1NCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgxNCwgMHg3NSwgMHgyZiwgMHg4NywgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MywgMHg2YiwgMHg4OSwgMHg1NCwgMHgyMiwgMHgxMCwgCi0gICAgMHgwOCwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyOCwgMHgwMywgMHhkMiwgMHgwOCwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhMCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgCi0gICAgMHgxNCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyOCwgMHgwMywgMHhkMiwgMHgwOCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgCi0gICAgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg0OSwgMHg0NSwgMHgzMCwgMHgzMCwgMHgwNiwgMHgyMCwgMHhlNiwgCi0gICAgMHg0ZiwgMHhkMiwgMHgwOCwgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2MCwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3OSwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg5OSwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMiwgMHg3YSwgMHgwNSwgMHgzMiwgMHg3YSwgMHgzNywgMHgwMSwgCi0gICAgMHg3OSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg1OSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwOCwgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgCi0gICAgMHg0NywgMHgwMSwgMHg1OSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgCi0gICAgMHg2OSwgMHhmMCwgMHgxMCwgMHg2MCwgMHhjNCwgMHgyMiwgMHhjMiwgMHg2MCwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg3OSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5OSwgMHgyOCwgMHgwNCwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5OSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3OSwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMiwgMHg3YSwgCi0gICAgMHgwNSwgMHgzMiwgMHg3YSwgMHgzNywgMHgwMSwgMHg3OSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg1OSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgCi0gICAgMHgwOCwgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg1OSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgwOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgwNCwgMHgyZCwgCi0gICAgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg1OSwgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgCi0gICAgMHgwMiwgMHg0NiwgMHhjMiwgMHgyMiwgMHhkMiwgMHgwOCwgMHg3ZSwgMHgwNCwgMHgwNCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1OSwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg2OSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgCi0gICAgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgCi0gICAgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhOSwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgCi0gICAgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgCi0gICAgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgCi0gICAgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhhOSwgMHgxYiwgMHgzOCwgMHgyMCwgCi0gICAgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOCwgMHgwYSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMCwgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwMCwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgCi0gICAgMHhhOSwgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgCi0gICAgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgCi0gICAgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgCi0gICAgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwMCwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgCi0gICAgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgCi0gICAgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgCi0gICAgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgCi0gICAgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgCi0gICAgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgCi0gICAgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgCi0gICAgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgCi0gICAgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgCi0gICAgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg0OCwgMHgxZSwgMHg3NSwgMHgyZiwgCi0gICAgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOCwgCi0gICAgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMCwgMHgyMiwgMHhkYSwgMHhiOCwgCi0gICAgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg0OCwgMHgxZSwgMHhkYSwgMHhiOCwgMHgwMiwgMHg0OSwgCi0gICAgMHg0NSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgCi0gICAgMHgwNCwgMHhkMiwgMHg1OCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MCwgCi0gICAgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MCwgMHgxMiwgMHg0MiwgMHhiZCwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgCi0gICAgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgCi0gICAgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgCi0gICAgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg0OCwgMHg3MiwgMHg3NSwgMHgyZiwgCi0gICAgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwOSwgMHgwMSwgMHgyMiwgCi0gICAgMHgyMCwgMHgyOSwgMHgwMywgMHhkMiwgMHgwOSwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhMSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4MSwgMHgwMCwgCi0gICAgMHg4MCwgMHgwNiwgMHgyMCwgMHgyOSwgMHgwMywgMHhkMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgCi0gICAgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg0YywgMHg3MiwgMHgzMCwgMHgzMSwgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwOSwgCi0gICAgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2MSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3YiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5YiwgMHg5ZCwgMHgzMiwgCi0gICAgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzNCwgMHg3YSwgMHgwNSwgMHgzNCwgMHg3YSwgMHgzNywgMHgwMSwgMHg3YiwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg1YiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwYywgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg1YiwgCi0gICAgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgCi0gICAgMHg2MSwgMHhjNCwgMHgyMiwgMHhjMiwgMHg2MSwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg3YiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5YiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg5YiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3YiwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzNCwgMHg3YSwgMHgwNSwgMHgzNCwgMHg3YSwgCi0gICAgMHgzNywgMHgwMSwgMHg3YiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg1YiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwYywgMHgyYywgMHgzOCwgCi0gICAgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg1YiwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgwYywgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgwOCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgCi0gICAgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg1YiwgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg0OSwgMHhlZiwgCi0gICAgMHgyMiwgMHhkMiwgMHgwOSwgMHg3ZSwgMHgwNCwgMHgwOCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1YiwgMHg3YSwgMHgwNywgMHgwMSwgMHg2YiwgMHg3NSwgCi0gICAgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhYiwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgCi0gICAgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhhYiwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgCi0gICAgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgCi0gICAgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMSwgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwMSwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhhYiwgMHg5ZSwgMHgyNCwgCi0gICAgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgCi0gICAgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgCi0gICAgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgCi0gICAgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwMSwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgCi0gICAgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgCi0gICAgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgCi0gICAgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgCi0gICAgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgCi0gICAgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgCi0gICAgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgCi0gICAgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg0YiwgMHg0YiwgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOSwgMHgwYSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMSwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgCi0gICAgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg0YiwgMHg0YiwgMHhkYSwgMHhiOCwgMHgwMiwgMHg0YywgMHg3MiwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1OSwgCi0gICAgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MSwgMHg4MCwgMHgwMiwgMHhjMiwgCi0gICAgMHg1MSwgMHgxMiwgMHg0MiwgMHhkNCwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgCi0gICAgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgCi0gICAgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgCi0gICAgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgCi0gICAgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg0YiwgMHg5ZiwgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwYSwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyYSwgMHgwMywgCi0gICAgMHhkMiwgMHgwYSwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhMiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4MiwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgCi0gICAgMHgyYSwgMHgwMywgMHhkMiwgMHgwYSwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgCi0gICAgMHg2OCwgMHgwMywgMHgxMiwgMHg0ZiwgMHg5ZiwgMHgzMCwgMHgzMiwgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwYSwgMHgyMiwgMHgzMCwgMHhlNiwgCi0gICAgMHgwMiwgMHhkMiwgMHg2MiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3ZCwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZCwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgCi0gICAgMHgwMiwgMHgyZSwgMHgwNSwgMHgzNiwgMHg3YSwgMHgwNSwgMHgzNiwgMHg3YSwgMHgzNywgMHgwMSwgMHg3ZCwgMHg3ZSwgMHgzNywgMHgwMSwgMHg1ZCwgMHg3ZCwgCi0gICAgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxMCwgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg1ZCwgMHg3NSwgMHgyZiwgMHg5NCwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgMHg2MiwgMHhjNCwgMHgyMiwgCi0gICAgMHhjMiwgMHg2MiwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg3ZCwgMHhiZSwgMHgyNCwgCi0gICAgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5ZCwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZCwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg3ZCwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzNiwgMHg3YSwgMHgwNSwgMHgzNiwgMHg3YSwgMHgzNywgMHgwMSwgMHg3ZCwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHg1ZCwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxMCwgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHg1ZCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgCi0gICAgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgxMCwgCi0gICAgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgwYywgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHg1ZCwgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg0ZCwgMHgxYywgMHgyMiwgMHhkMiwgMHgwYSwgCi0gICAgMHg3ZSwgMHgwNCwgMHgwYywgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1ZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2ZCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgCi0gICAgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgCi0gICAgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhZCwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgCi0gICAgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgCi0gICAgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgCi0gICAgMHgyNCwgMHgwMiwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhhZCwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgCi0gICAgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMiwgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgCi0gICAgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwMiwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhhZCwgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgCi0gICAgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgCi0gICAgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgCi0gICAgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgCi0gICAgMHgyMywgMHg0NCwgMHgwMiwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgCi0gICAgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgCi0gICAgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgCi0gICAgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgCi0gICAgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgCi0gICAgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgCi0gICAgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgCi0gICAgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgCi0gICAgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg0ZSwgMHg3OCwgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgCi0gICAgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMiwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgCi0gICAgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg0ZSwgMHg3OCwgMHhkYSwgMHhiOCwgMHgwMiwgMHg0ZiwgMHg5ZiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgCi0gICAgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgCi0gICAgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YSwgMHg4MCwgMHgwMiwgMHhjMiwgCi0gICAgMHg1YSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MiwgMHgxMiwgMHg0MiwgCi0gICAgMHhlYiwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgCi0gICAgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgCi0gICAgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgCi0gICAgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg0ZSwgMHhjYywgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgCi0gICAgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwYiwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyYiwgMHgwMywgMHhkMiwgMHgwYiwgMHgyMiwgCi0gICAgMHg3NSwgMHgyZiwgMHhhMywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4MywgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyYiwgMHgwMywgMHhkMiwgCi0gICAgMHgwYiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgCi0gICAgMHg1MiwgMHhjYywgMHgzMCwgMHgzMywgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwYiwgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2MywgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHg3ZiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZiwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgCi0gICAgMHgzOCwgMHg3YSwgMHgwNSwgMHgzOCwgMHg3YSwgMHgzNywgMHgwMSwgMHg3ZiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg1ZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgCi0gICAgMHhiZSwgMHg0NCwgMHgxNCwgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg1ZiwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgMHg2MywgMHhjNCwgMHgyMiwgMHhjMiwgMHg2MywgMHgyZCwgCi0gICAgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg3ZiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgCi0gICAgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5ZiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3ZiwgMHg5ZCwgCi0gICAgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzOCwgMHg3YSwgMHgwNSwgMHgzOCwgMHg3YSwgMHgzNywgMHgwMSwgMHg3ZiwgMHg3ZSwgMHgzNywgMHgwMSwgCi0gICAgMHg1ZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxNCwgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg1ZiwgMHg3NSwgCi0gICAgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgCi0gICAgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgxNCwgMHgyZCwgMHg5ZCwgMHgyNCwgCi0gICAgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgxMCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg1ZiwgMHgxMiwgCi0gICAgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1MCwgMHg0OSwgMHgyMiwgMHhkMiwgMHgwYiwgMHg3ZSwgMHgwNCwgMHgxMCwgCi0gICAgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg1ZiwgMHg3YSwgMHgwNywgMHgwMSwgMHg2ZiwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgCi0gICAgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhZiwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgCi0gICAgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgCi0gICAgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwMywgMHgwMCwgCi0gICAgMHgyZSwgMHgyNywgMHgwMSwgMHhhZiwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgCi0gICAgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYiwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgCi0gICAgMHgxMywgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgCi0gICAgMHg3ZSwgMHg2NCwgMHgwMywgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhhZiwgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgCi0gICAgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgCi0gICAgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwMywgCi0gICAgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgCi0gICAgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgCi0gICAgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgCi0gICAgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgCi0gICAgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgCi0gICAgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgCi0gICAgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgCi0gICAgMHg3OCwgMHhlNywgMHgwMiwgMHg1MSwgMHhhNSwgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgCi0gICAgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYiwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMywgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgCi0gICAgMHgxMiwgMHg1MSwgMHhhNSwgMHhkYSwgMHhiOCwgMHgwMiwgMHg1MiwgMHhjYywgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgCi0gICAgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgCi0gICAgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YiwgMHhhNSwgMHhmZCwgCi0gICAgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MywgMHgxMiwgMHg0MywgMHgwMiwgMHgwMiwgMHg2MSwgCi0gICAgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgCi0gICAgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgCi0gICAgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgCi0gICAgMHhkYiwgMHgyMiwgMHgwMiwgMHg1MSwgMHhmOSwgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwYywgMHgwMSwgMHgyMiwgMHgyMCwgMHgyYywgMHgwMywgMHhkMiwgMHgwYywgMHgyMiwgMHg3NSwgMHgyZiwgMHhhNCwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4NCwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyYywgMHgwMywgMHhkMiwgMHgwYywgMHgyMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg1NSwgMHhmOSwgMHgzMCwgCi0gICAgMHgzNCwgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwYywgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2NCwgMHg3ZSwgMHgzNywgMHgwMSwgCi0gICAgMHg4MSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhMSwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzYSwgMHg3YSwgMHgwNSwgCi0gICAgMHgzYSwgMHg3YSwgMHgzNywgMHgwMSwgMHg4MSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg2MSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxOCwgCi0gICAgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg2MSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgMHg2NCwgMHhjNCwgMHgyMiwgMHhjMiwgMHg2NCwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgCi0gICAgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4MSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhMSwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhMSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg4MSwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgCi0gICAgMHgyZSwgMHgwNSwgMHgzYSwgMHg3YSwgMHgwNSwgMHgzYSwgMHg3YSwgMHgzNywgMHgwMSwgMHg4MSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg2MSwgMHg3ZCwgMHg0MywgCi0gICAgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxOCwgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg2MSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgxOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgCi0gICAgMHg3ZSwgMHgzNCwgMHgxNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg2MSwgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgCi0gICAgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1MywgMHg3NiwgMHgyMiwgMHhkMiwgMHgwYywgMHg3ZSwgMHgwNCwgMHgxNCwgMHgyZCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg2MSwgMHg3YSwgMHgwNywgMHgwMSwgMHg3MSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgCi0gICAgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiMSwgMHgyZSwgCi0gICAgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgCi0gICAgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgCi0gICAgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwNCwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgCi0gICAgMHhiMSwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgCi0gICAgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgCi0gICAgMHgzYywgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNCwgMHgyMiwgMHg4MCwgCi0gICAgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwNCwgCi0gICAgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhiMSwgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgCi0gICAgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgCi0gICAgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgCi0gICAgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwNCwgMHg3YSwgMHg2OSwgMHhiMCwgCi0gICAgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgCi0gICAgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgCi0gICAgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgCi0gICAgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgCi0gICAgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgCi0gICAgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgCi0gICAgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgCi0gICAgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgCi0gICAgMHg1NCwgMHhkMiwgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYywgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgCi0gICAgMHgxNCwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1NCwgMHhkMiwgCi0gICAgMHhkYSwgMHhiOCwgMHgwMiwgMHg1NSwgMHhmOSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgCi0gICAgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YywgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgCi0gICAgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1NCwgMHgxMiwgMHg0MywgMHgxOSwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgCi0gICAgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgCi0gICAgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgCi0gICAgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgCi0gICAgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgCi0gICAgMHg1NSwgMHgyNiwgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgCi0gICAgMHgxMCwgMHgwZCwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyZCwgMHgwMywgMHhkMiwgMHgwZCwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhNSwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3ZSwgMHgxNCwgMHg4NSwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyZCwgMHgwMywgMHhkMiwgMHgwZCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgCi0gICAgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg1OSwgMHgyNiwgMHgzMCwgMHgzNSwgMHgwNiwgMHgyMCwgCi0gICAgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwZCwgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2NSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg4MywgMHg3ZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhMywgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzYywgMHg3YSwgMHgwNSwgMHgzYywgMHg3YSwgMHgzNywgCi0gICAgMHgwMSwgMHg4MywgMHg3ZSwgMHgzNywgMHgwMSwgMHg2MywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxYywgMHgyYywgMHgzOCwgMHg2OCwgCi0gICAgMHg3YSwgMHg0NywgMHgwMSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgMHg2NSwgMHhjNCwgMHgyMiwgMHhjMiwgMHg2NSwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgCi0gICAgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4MywgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHhhMywgMHgyOCwgCi0gICAgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhMywgMHg3ZSwgMHgzNywgMHgwMSwgMHg4MywgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzYywgCi0gICAgMHg3YSwgMHgwNSwgMHgzYywgMHg3YSwgMHgzNywgMHgwMSwgMHg4MywgMHg3ZSwgMHgzNywgMHgwMSwgMHg2MywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgCi0gICAgMHg0NCwgMHgxYywgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgCi0gICAgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgxYywgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgxOCwgCi0gICAgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg2MywgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgCi0gICAgMHgwMywgMHgwMiwgMHg1NiwgMHhhMywgMHgyMiwgMHhkMiwgMHgwZCwgMHg3ZSwgMHgwNCwgMHgxOCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2MywgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg3MywgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgCi0gICAgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgCi0gICAgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiMywgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgCi0gICAgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgCi0gICAgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgCi0gICAgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwNSwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhiMywgMHgxYiwgMHgzOCwgCi0gICAgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZCwgMHgwYSwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNSwgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwNSwgMHgwMCwgMHgyZSwgMHg2NywgCi0gICAgMHgwMSwgMHhiMywgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgCi0gICAgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgCi0gICAgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgCi0gICAgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwNSwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgCi0gICAgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgCi0gICAgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgCi0gICAgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgCi0gICAgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgCi0gICAgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgCi0gICAgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgCi0gICAgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgCi0gICAgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgCi0gICAgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg1NywgMHhmZiwgMHg3NSwgCi0gICAgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgCi0gICAgMHgzZCwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNSwgMHgyMiwgMHhkYSwgCi0gICAgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1NywgMHhmZiwgMHhkYSwgMHhiOCwgMHgwMiwgCi0gICAgMHg1OSwgMHgyNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgCi0gICAgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgCi0gICAgMHg1NSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1NSwgMHgxMiwgMHg0MywgMHgzMCwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgCi0gICAgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgCi0gICAgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgCi0gICAgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1OCwgMHg1MywgMHg3NSwgCi0gICAgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwZSwgMHgwMSwgCi0gICAgMHgyMiwgMHgyMCwgMHgyZSwgMHgwMywgMHhkMiwgMHgwZSwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhNiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4NiwgCi0gICAgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyZSwgMHgwMywgMHhkMiwgMHgwZSwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgCi0gICAgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg1YywgMHg1MywgMHgzMCwgMHgzNiwgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgCi0gICAgMHgwZSwgMHgyMiwgMHgzMCwgMHhlNiwgMHgwMiwgMHhkMiwgMHg2NiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg4NSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhNSwgMHg5ZCwgCi0gICAgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzZSwgMHg3YSwgMHgwNSwgMHgzZSwgMHg3YSwgMHgzNywgMHgwMSwgMHg4NSwgMHg3ZSwgCi0gICAgMHgzNywgMHgwMSwgMHg2NSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyMCwgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgCi0gICAgMHg2NSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgCi0gICAgMHgxMCwgMHg2NiwgMHhjNCwgMHgyMiwgMHhjMiwgMHg2NiwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgCi0gICAgMHgwMSwgMHg4NSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHhhNSwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhNSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg4NSwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzZSwgMHg3YSwgMHgwNSwgMHgzZSwgCi0gICAgMHg3YSwgMHgzNywgMHgwMSwgMHg4NSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg2NSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyMCwgMHgyYywgCi0gICAgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg2NSwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgwMiwgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyMCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgxYywgMHgyZCwgMHg3ZCwgMHgyNCwgCi0gICAgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg2NSwgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1OSwgCi0gICAgMHhkMCwgMHgyMiwgMHhkMiwgMHgwZSwgMHg3ZSwgMHgwNCwgMHgxYywgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2NSwgMHg3YSwgMHgwNywgMHgwMSwgMHg3NSwgCi0gICAgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgCi0gICAgMHg2OCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiNSwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgCi0gICAgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgCi0gICAgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgCi0gICAgMHg0NywgMHgwMSwgMHhjOSwgMHg3ZSwgMHgyNCwgMHgwNiwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhiNSwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgCi0gICAgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgCi0gICAgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNiwgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwNiwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhiNSwgMHg5ZSwgCi0gICAgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgCi0gICAgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgCi0gICAgMHgzNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgCi0gICAgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwNiwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgCi0gICAgMHgyZiwgMHg5MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgCi0gICAgMHg3YSwgMHgzNSwgMHgzMCwgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgCi0gICAgMHgyNCwgMHgyZCwgMHg4MCwgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgCi0gICAgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgCi0gICAgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgCi0gICAgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgCi0gICAgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgCi0gICAgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg1YiwgMHgyYywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZSwgMHgwYSwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNiwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgCi0gICAgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1YiwgMHgyYywgMHhkYSwgMHhiOCwgMHgwMiwgMHg1YywgMHg1MywgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgCi0gICAgMHg1ZSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NiwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg1NiwgMHgxMiwgMHg0MywgMHg0NywgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgCi0gICAgMHgwMiwgMHg2MSwgMHgxMywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgCi0gICAgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgCi0gICAgMHgzNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1YiwgMHg4MCwgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHgxMCwgMHgwZiwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyZiwgCi0gICAgMHgwMywgMHhkMiwgMHgwZiwgMHgyMiwgMHg3NSwgMHgyZiwgMHhhNywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHg4NywgMHgwMCwgMHg4MCwgMHgwNiwgCi0gICAgMHgyMCwgMHgyZiwgMHgwMywgMHhkMiwgMHgwZiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgCi0gICAgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg1ZiwgMHg4MCwgMHgzMCwgMHgzNywgMHgwNiwgMHgyMCwgMHhlNiwgMHg0ZiwgMHhkMiwgMHgwZiwgMHgyMiwgMHgzMCwgCi0gICAgMHhlNiwgMHgwMiwgMHhkMiwgMHg2NywgMHg3ZSwgMHgzNywgMHgwMSwgMHg4NywgMHg3ZSwgMHgyNywgMHgwMSwgMHhhNywgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgCi0gICAgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0MCwgMHg3YSwgMHgwNSwgMHg0MCwgMHg3YSwgMHgzNywgMHgwMSwgMHg4NywgMHg3ZSwgMHgzNywgMHgwMSwgMHg2NywgCi0gICAgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyNCwgMHgyYywgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg2NywgMHg3NSwgMHgyZiwgCi0gICAgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg2OSwgMHhmMCwgMHgxMCwgMHg2NywgMHhjNCwgCi0gICAgMHgyMiwgMHhjMiwgMHg2NywgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4NywgMHhiZSwgCi0gICAgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHhhNywgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhNywgMHg3ZSwgCi0gICAgMHgzNywgMHgwMSwgMHg4NywgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0MCwgMHg3YSwgMHgwNSwgMHg0MCwgMHg3YSwgMHgzNywgMHgwMSwgCi0gICAgMHg4NywgMHg3ZSwgMHgzNywgMHgwMSwgMHg2NywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyNCwgMHgyYywgMHgzOCwgMHgxMywgMHg3YSwgCi0gICAgMHg0NywgMHgwMSwgMHg2NywgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgCi0gICAgMHg2OSwgMHhmMCwgMHg3NSwgMHgyZiwgMHg5NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgCi0gICAgMHgyNCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2OSwgMHhmMCwgMHg3ZSwgMHgzNCwgMHgyMCwgMHgyZCwgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgCi0gICAgMHg0NywgMHgwMSwgMHg2NywgMHgxMiwgMHg2OSwgMHhmMCwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1YywgMHhmZCwgMHgyMiwgMHhkMiwgCi0gICAgMHgwZiwgMHg3ZSwgMHgwNCwgMHgyMCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg2NywgMHg3YSwgMHgwNywgMHgwMSwgMHg3NywgMHg3NSwgMHgyZiwgMHg5NCwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3NSwgMHgyZiwgMHg5MiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg2OCwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiNywgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgCi0gICAgMHgzOCwgMHgzNCwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgwNSwgMHgzMCwgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHhjOSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgCi0gICAgMHg3ZSwgMHgyNCwgMHgwNywgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhiNywgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgCi0gICAgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZiwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNywgMHgyMiwgMHg4MCwgMHg3ZiwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgCi0gICAgMHgyOCwgMHgyZCwgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwNywgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhiNywgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgCi0gICAgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2YSwgMHg2MywgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgMHgyNCwgCi0gICAgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjOSwgMHgwMiwgMHg2YSwgMHg2MywgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgCi0gICAgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgCi0gICAgMHgyMywgMHgyMywgMHg0NCwgMHgwNywgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgyZiwgMHg5MywgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyYiwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgCi0gICAgMHg3ZSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjYiwgMHgyZSwgMHgzNSwgMHgzMCwgMHg3YSwgMHgzNSwgMHgzMCwgCi0gICAgMHgyMiwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgCi0gICAgMHgyOCwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwNywgMHgwMSwgCi0gICAgMHhjYiwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3ZSwgMHg0NCwgMHgyOCwgCi0gICAgMHgyZCwgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMiwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgCi0gICAgMHhkMCwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgCi0gICAgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgCi0gICAgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg1ZSwgMHg1OSwgMHg3NSwgMHgyZiwgMHg5OSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZiwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgCi0gICAgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNywgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgCi0gICAgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1ZSwgMHg1OSwgMHhkYSwgMHhiOCwgMHgwMiwgMHg1ZiwgMHg4MCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgCi0gICAgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHhhNSwgMHhmZCwgCi0gICAgMHg1ZSwgMHg1MCwgMHgwYSwgMHg2OCwgMHgxZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZiwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg1ZiwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1NywgMHgxMiwgCi0gICAgMHg0MywgMHg1ZSwgMHgwMiwgMHg2MSwgMHgxMywgMHg3NSwgMHgyZiwgMHg5MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgCi0gICAgMHhiMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MSwgMHgxMywgCi0gICAgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MSwgMHgxMywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgCi0gICAgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1ZSwgMHhhZCwgMHg3NSwgMHgyZiwgMHg5NSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgCi0gICAgMHg3NSwgMHgyZiwgMHg5NiwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1OCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OCwgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MCwgMHgwMiwgMHg2MCwgMHhmZiwgCi0gICAgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgCi0gICAgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1OSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgCi0gICAgMHhkMiwgMHg1MSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MSwgMHgwMiwgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgCi0gICAgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YSwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg1YSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MiwgMHgwMiwgCi0gICAgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgCi0gICAgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YiwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgCi0gICAgMHg2OCwgMHgwNCwgMHhkMiwgMHg1MywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1MywgMHgwMiwgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgCi0gICAgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YywgCi0gICAgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YywgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NCwgMHg4MCwgMHgwMiwgMHhjMiwgCi0gICAgMHg1NCwgMHgwMiwgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZCwgMHhhNSwgMHhmZCwgMHg1ZSwgCi0gICAgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1NSwgMHgwMiwgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgCi0gICAgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgCi0gICAgMHhkMiwgMHg1ZSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NiwgMHg4MCwgCi0gICAgMHgwMiwgMHhjMiwgMHg1NiwgMHgwMiwgMHg2MCwgMHhmZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZiwgMHhhNSwgCi0gICAgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1NywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1NywgMHgwMiwgMHg2MCwgMHhmZiwgMHg1NCwgCi0gICAgMHhmMCwgMHhjNCwgMHhhNSwgMHhmZiwgMHhjNCwgMHhhNSwgMHg0ZiwgMHg3NSwgMHgyZiwgMHg5MCwgMHgxMiwgMHg3MywgMHgzNSwgMHhmNSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgyMiwgMHhjYSwgMHgxOSwgMHg1ZSwgMHgyMCwgMHgwNywgMHg0YywgMHhhMiwgMHg3ZSwgMHg3NCwgMHgyYywgMHgyZCwgMHhjYSwgMHg3OSwgCi0gICAgMHg3YSwgMHg3OSwgMHhhMCwgMHgwYiwgMHg3NCwgMHg3YSwgMHg3OSwgMHhiMCwgMHgwYiwgMHg3NCwgMHhkYSwgMHg3OSwgMHg3ZSwgMHgzMCwgMHgwMiwgMHg3ZSwgCi0gICAgMHg2NCwgMHgwMCwgMHgwMiwgMHgwMiwgMHg2MSwgMHg1ZSwgMHhjYSwgMHgxOSwgMHg1ZSwgMHgyMCwgMHgwNywgMHg0YywgMHhhMiwgMHg3ZSwgMHg3NCwgMHgyYywgCi0gICAgMHgyZCwgMHhjYSwgMHg3OSwgMHg3YSwgMHg3OSwgMHhhMCwgMHgwYiwgMHg3NCwgMHg3YSwgMHg3OSwgMHhiMCwgMHgwYiwgMHg3NCwgMHg3YSwgMHg3OSwgMHg2MCwgCi0gICAgMHgwYiwgMHg3NCwgMHhkYSwgMHg3OSwgMHg3ZSwgMHgzMCwgMHgwMywgMHg3ZSwgMHg2NCwgMHgwMCwgMHgwMywgMHgwMiwgMHg2MSwgMHg1ZSwgMHhkMiwgMHgwNCwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHhjYiwgMHgyZCwgMHgyNiwgMHhiZSwgMHgyNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgyZSwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjOSwgCi0gICAgMHg3ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg3ZSwgMHg3OSwgMHhhMCwgMHg3YSwgMHgwOSwgMHhhMCwgMHgwYiwgMHgwNCwgMHgwYiwgMHg3NCwgMHhiZCwgMHgwNCwgCi0gICAgMHg2OCwgMHgyMywgMHhhNSwgMHhkYiwgMHhlZiwgMHg3YSwgMHgyNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgyNSwgMHgzMCwgMHgyZCwgMHgyNiwgMHg3YSwgMHgyNSwgCi0gICAgMHgzMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHhkYSwgMHgxOSwgMHhjMiwgMHhkNywgMHgyMiwgMHg3NSwgMHgyZiwgMHg5YSwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHhkYSwgMHgxOSwgMHhkMiwgMHhkNywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg4MCwgMHhkNywgMHg0OCwgMHhmMSwgMHg0NiwgMHg2NSwgMHg0NywgCi0gICAgMHg1ZiwgMHg0OSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0OCwgMHg1NiwgMHg0NSwgMHgyYSwgMHg0OSwgMHg2ZSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0OSwgMHg3NSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0YywgMHgxZSwgMHg0OSwgMHg5MiwgMHg0YSwgCi0gICAgMHg4YywgMHg0YywgMHg1NywgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0YiwgMHg4MywgMHg0NSwgMHgyYSwgMHg0YywgMHg5YiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0YywgMHhhMiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0ZiwgMHg0YiwgMHg0YywgMHhiZiwgMHg0ZCwgCi0gICAgMHhiOSwgMHg0ZiwgMHg4NCwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0ZSwgMHhiMCwgMHg0NSwgMHgyYSwgMHg0ZiwgMHhjOCwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0ZiwgMHhjZiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1MiwgMHg3OCwgMHg0ZiwgMHhlYywgMHg1MCwgCi0gICAgMHhlNiwgMHg1MiwgMHhiMSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1MSwgMHhkZCwgMHg0NSwgMHgyYSwgMHg1MiwgMHhmNSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1MiwgMHhmYywgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1NSwgMHhhNSwgMHg1MywgMHgxOSwgMHg1NCwgCi0gICAgMHgxMywgMHg1NSwgMHhkZSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1NSwgMHgwYSwgMHg0NSwgMHgyYSwgMHg1NiwgMHgyMiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1NiwgMHgyOSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1OCwgMHhkMiwgMHg1NiwgMHg0NiwgMHg1NywgCi0gICAgMHg0MCwgMHg1OSwgMHgwYiwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1OCwgMHgzNywgMHg0NSwgMHgyYSwgMHg1OSwgMHg0ZiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1OSwgMHg1NiwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1YiwgMHhmZiwgMHg1OSwgMHg3MywgMHg1YSwgCi0gICAgMHg2ZCwgMHg1YywgMHgzOCwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1YiwgMHg2NCwgMHg0NSwgMHgyYSwgMHg1YywgMHg3YywgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1YywgMHg4MywgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1ZiwgMHgyYywgMHg1YywgMHhhMCwgMHg1ZCwgCi0gICAgMHg5YSwgMHg1ZiwgMHg2NSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1ZSwgMHg5MSwgMHg0NSwgMHgyYSwgMHg1ZiwgMHhhOSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg1ZiwgMHhiMCwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgCi0gICAgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHg0NSwgMHgyYSwgMHhjYSwgMHhiOCwgMHg3NSwgMHgyZiwgMHgwMiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwMywgMHgyMCwgMHhlNSwgMHgyMCwgMHgzMCwgMHhlMCwgMHgwNSwgMHgxMiwgMHg2YiwgMHgwNSwgCi0gICAgMHg4MCwgMHgzMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHgxMiwgMHg2NCwgMHg4NiwgMHg4MCwgMHgyOCwgMHgzMCwgMHhlMiwgMHgwNSwgMHgxMiwgMHg2MywgMHhmNSwgCi0gICAgMHg4MCwgMHgyMCwgMHgzMCwgMHhlMywgMHgxZCwgMHgxMiwgMHg2NSwgMHg2MSwgMHg4MCwgMHgxOCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNCwgMHgzMCwgMHhlMSwgCi0gICAgMHgwMywgMHgwMiwgMHg2NywgMHg1ZiwgMHgzMCwgMHhlNiwgMHgwNSwgMHgxMiwgMHg2YywgMHg2YSwgMHg4MCwgMHgwNiwgMHgyMCwgMHhlMiwgMHgwMywgMHgwMiwgCi0gICAgMHgwMCwgMHg4MCwgMHhkYSwgMHhiOCwgMHgzMiwgMHg3NSwgMHgyZiwgMHgxMCwgMHgxMiwgMHg3MywgMHgzNSwgMHhjYSwgMHgwYiwgMHhjYSwgMHgzOSwgMHhjYSwgCi0gICAgMHg1OSwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxYSwgMHg2YywgMHhhYSwgMHhiZSwgMHhiMCwgMHg0MCwgCi0gICAgMHgyOCwgMHgwYSwgMHgxMiwgMHg2NCwgMHgyNCwgMHhkYSwgMHg1OSwgMHhkYSwgMHgzOSwgMHhkYSwgMHgwYiwgMHgyMiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgxNCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjNSwgMHgyZCwgMHgzNSwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgyZiwgCi0gICAgMHg3YSwgMHgzNywgMHgwMSwgMHhjNSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjMywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0NSwgMHhiZSwgMHg0NCwgMHgyYywgMHgyYywgCi0gICAgMHgzOCwgMHgyNSwgMHg3YSwgMHg0NywgMHgwMSwgMHhjMywgMHg3NSwgMHgyZiwgMHgxMSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHhiMSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgxMiwgMHg2NywgMHg5ZiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgxMiwgMHg2NiwgMHgzMCwgMHgyMiwgMHg3NSwgCi0gICAgMHgyZiwgMHgxNiwgMHgxMiwgMHg3MywgMHgzNSwgMHg4MCwgMHhmNCwgMHg3NSwgMHgyZiwgMHgxMiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHhiMSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg5ZSwgMHg0NCwgMHgyYywgMHgyZCwgMHg5ZCwgMHg1NCwgMHgxMiwgMHg2NywgMHg5ZiwgMHg3ZSwgMHgzNCwgMHgyOCwgMHgyZCwgCi0gICAgMHg3ZCwgMHg1NCwgMHgyZCwgMHg0MywgMHg4MCwgMHhiYywgMHg3NSwgMHgyZiwgMHgxOCwgMHgxMiwgMHg3MywgMHgzNSwgMHhjYSwgMHgwOSwgMHhjYSwgMHgzOSwgCi0gICAgMHhjYSwgMHgyYiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHg2MywgMHg5MSwgMHgxYSwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgxNCwgMHg3ZSwgMHhiMCwgMHg4MCwgMHg5YywgMHhiNiwgMHg2MCwgMHgzOCwgMHg2YywgMHhhYSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjYiwgMHg5ZCwgCi0gICAgMHgzNSwgMHg0MCwgMHgzNywgMHg3YSwgMHgzNywgMHgwMSwgMHhjYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhjNywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0NSwgMHhiZSwgCi0gICAgMHg0NCwgMHgyOCwgMHgyYywgMHgzOCwgMHgzYiwgMHg3YSwgMHg0NywgMHgwMSwgMHhjNywgMHg3ZCwgMHg0NSwgMHgxMiwgMHg2OCwgMHhkNCwgMHg3ZSwgMHhiMywgCi0gICAgMHg5MSwgMHgxZSwgMHgyMCwgMHhlNSwgMHgxMywgMHg3NSwgMHgyZiwgMHgxOSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg5MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHhkYSwgMHgyYiwgMHhkYSwgMHgzOSwgMHhkYSwgMHgwOSwgMHgyMiwgMHg4MCwgMHgzNCwgMHgyZCwgMHg1MywgMHg2ZCwgMHgzMywgMHg2MCwgMHgwMiwgCi0gICAgMHg4MCwgMHhjMSwgMHg3ZSwgMHgwNCwgMHgyNCwgMHgyZCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHg3YSwgMHgwNywgMHgwMSwgMHhjNywgMHg4MCwgMHhlMSwgCi0gICAgMHhjYSwgMHg1OSwgMHg5ZSwgMHg0NCwgMHgyOCwgMHgyZCwgMHg5ZCwgMHg1NCwgMHgxMiwgMHg2OCwgMHhkNCwgMHg3ZSwgMHgzNCwgMHgyNCwgMHgyZCwgMHg3ZCwgCi0gICAgMHg1NCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhjNywgMHgxMiwgMHg2OCwgMHhkNCwgMHhkYSwgMHg0OSwgMHg4MCwgMHhiMCwgMHg3ZSwgMHgwZiwgCi0gICAgMHgyYywgMHgzZSwgMHgwYiwgMHgwYywgMHg3YSwgMHgwZiwgMHgyYywgMHgzZSwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxZSwgMHg3NCwgMHg2MCwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg4MCwgMHhhNSwgMHg3ZSwgMHgyZiwgMHgyYywgMHg1ZSwgCi0gICAgMHgwYiwgMHgyYywgMHg3YSwgMHgyZiwgMHgyYywgMHg1ZSwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxZSwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgxYywgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg4MCwgMHgxZiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgCi0gICAgMHgyMiwgMHg3NSwgMHgyZiwgMHgyOCwgMHgxMiwgMHg3MywgMHgzNSwgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgMHg3NCwgMHg2MCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxYSwgMHg3MCwgMHhkYiwgMHg3ZSwgCi0gICAgMHgwZCwgMHgzMCwgMHg3ZSwgMHgxZCwgMHgzNCwgMHg3ZSwgMHgyZCwgMHgzOCwgMHg3ZSwgMHgzZCwgMHgzYywgMHg3ZSwgMHg4NSwgMHg0MCwgMHg3ZCwgMHg5MCwgCi0gICAgMHg0ZCwgMHg5MSwgMHg0ZCwgMHg5MiwgMHg0ZCwgMHg5MywgMHg0ZCwgMHg5NCwgMHg0ZCwgMHg5NSwgMHg0ZCwgMHg5NiwgMHg0ZCwgMHg5NywgMHg0ZCwgMHg5OCwgCi0gICAgMHg2OCwgMHhiOCwgMHg3YSwgMHgxMywgMHg5MSwgMHgxNywgMHg3YSwgMHgwMywgMHg5MSwgMHgxNywgMHg3YSwgMHgzMywgMHg5MSwgMHgxNywgMHg3YSwgMHgyMywgCi0gICAgMHg5MSwgMHgxNywgMHg3YSwgMHg1MywgMHg5MSwgMHgxNywgMHg3YSwgMHg0MywgMHg5MSwgMHgxNywgMHg3YSwgMHg3MywgMHg5MSwgMHgxNywgMHg3YSwgMHg2MywgCi0gICAgMHg5MSwgMHgxNywgMHg3YSwgMHg5MywgMHg5MSwgMHgxNywgMHg3YSwgMHg4MywgMHg5MSwgMHgxNywgMHgzMCwgMHg3MywgMHgyMiwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxNywgMHg3YSwgMHhhMywgMHg5MSwgMHgxNywgMHg3YSwgMHhkMywgMHg5MSwgMHgxNywgMHg3YSwgMHhjMywgMHg5MSwgMHgxNywgMHg3YSwgMHhmMywgMHg5MSwgCi0gICAgMHgxNywgMHg3YSwgMHhlMywgMHg5MSwgMHgxNywgMHg3ZCwgMHg3OCwgMHg3YSwgMHhmMywgMHg5MSwgMHgxNywgMHg3YSwgMHhlMywgMHg5MSwgMHgxNywgMHg3ZSwgCi0gICAgMHhiMywgMHg5MSwgMHgxZSwgMHgzMCwgMHhlNSwgMHgwMywgMHgwMiwgMHg2NSwgMHgzYywgMHg3NSwgMHgyZiwgMHgyOSwgMHgxMiwgMHg3MywgMHgzNSwgMHgyMCwgCi0gICAgMHg3MywgMHgwOCwgMHg3NSwgMHgyZiwgMHgwYSwgMHgxMiwgMHg3MywgMHgzNSwgMHg4MCwgMHgwNiwgMHg3NSwgMHgyZiwgMHgxMiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3NCwgMHg4MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxZSwgMHg2ZCwgMHgwMCwgMHg3ZCwgMHgxMCwgMHg3YSwgMHgwZCwgMHgzMCwgMHg3YSwgMHgwZCwgMHgzNCwgCi0gICAgMHg3YSwgMHgwZCwgMHgzOCwgMHg3YSwgMHgwZCwgMHgzYywgMHg3YSwgMHgwNSwgMHg0MCwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhjNSwgMHg0ZCwgMHgzMywgMHg2OCwgMHgzYiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjMSwgMHg3ZSwgMHg1NCwgMHgyYywgMHgyZCwgCi0gICAgMHg5ZCwgMHg1MCwgMHhiZCwgMHgzNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgzNSwgMHhjYSwgMHgzOSwgMHg3ZSwgMHg2NSwgMHg0YiwgMHg5OSwgMHg2NCwgMHhkYSwgCi0gICAgMHgzOSwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjNSwgMHg5ZCwgMHgwMywgMHg3YSwgMHgwNywgMHgwMSwgMHhjNSwgMHgyZSwgMHgzNywgMHgwMSwgMHhjMSwgMHg3YSwgCi0gICAgMHgzNywgMHgwMSwgMHhjMSwgMHhiZSwgMHgzNCwgMHgyYywgMHgyYywgMHgyOCwgMHhjNywgMHg3ZSwgMHgzNCwgMHgyOCwgMHgyZCwgMHg3YSwgMHgzNywgMHgwMSwgCi0gICAgMHhjMSwgMHg4MCwgMHhiZCwgMHgyMiwgMHg3NSwgMHgyZiwgMHg1MywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNSwgMHg0ZCwgMHg4MCwgMHgxMSwgMHg3NSwgCi0gICAgMHgyZiwgMHg1MSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwYiwgMHgwOCwgMHgxMCwgMHgwYiwgMHgwNSwgMHg5ZSwgMHgzNCwgMHgwMCwgMHgwMiwgMHgyOCwgMHg0ZCwgCi0gICAgMHg3YywgMHhiMiwgMHgyMCwgMHhlNywgMHgyNywgMHg1NCwgMHgwNywgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHgzOSwgMHgxZSwgMHg3YywgMHhiMiwgCi0gICAgMHg1NCwgMHg3OCwgMHgwMywgMHgwMywgMHgwMywgMHg3YywgMHgyYiwgMHg5ZCwgMHgxMywgMHg0MCwgMHgxYSwgMHg2OCwgMHgxMiwgMHg3YSwgMHgxNSwgMHg0ZCwgCi0gICAgMHg3YSwgMHgyNSwgMHg0ZiwgMHg3ZSwgMHg2NCwgMHg2NywgMHgwOSwgMHg3YSwgMHg2NSwgMHg0YiwgMHg4OSwgMHgyNCwgMHgwMiwgMHg2NywgMHgxNywgMHg3ZSwgCi0gICAgMHg2NCwgMHg2NiwgMHg3ZiwgMHg4MCwgMHhmMiwgMHgyZCwgMHgxMywgMHg5ZCwgMHgzMSwgMHhjYSwgMHgzOSwgMHg3ZCwgMHgzMSwgMHgyZCwgMHgxMCwgMHhjYSwgCi0gICAgMHgxOSwgMHhjYSwgMHgyOSwgMHg5OSwgMHgyNCwgMHhkYSwgMHgyOSwgMHhkYSwgMHgwOSwgMHhkYSwgMHgzOSwgMHg4MCwgMHhhMiwgMHg3YSwgMHgxNSwgMHg0ZCwgCi0gICAgMHg3ZSwgMHg2NCwgMHg2NiwgMHhmNSwgMHg0ZCwgMHgzMywgMHg3OCwgMHgwOSwgMHg3YywgMHhiMiwgMHgyMCwgMHhlNywgMHgyYSwgMHg3ZSwgMHg2NCwgMHg2NiwgCi0gICAgMHg3NCwgMHg3YSwgMHg2NSwgMHg0YiwgMHgyMiwgMHg3NSwgMHgyZiwgMHg1MiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgyMSwgMHg0ZCwgMHg3ZSwgMHgwOSwgCi0gICAgMHgzMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgzNCwgMHg3OCwgMHg4OSwgMHg4MCwgMHhkNCwgMHg3NSwgMHgyZiwgMHg1NCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgCi0gICAgMHgxNSwgMHg0ZCwgMHg3ZSwgMHgyNSwgMHg0ZiwgMHg4MCwgMHg5MCwgMHg1ZSwgMHgyMCwgMHgwNywgMHg1NCwgMHg3OCwgMHg3ZSwgMHg0NCwgMHg2NywgMHg3ZCwgCi0gICAgMHgzMCwgMHhlNiwgMHgxNiwgMHg0ZCwgMHgzMywgMHg2OCwgMHgyNiwgMHgxYiwgMHgzNCwgMHg3ZSwgMHgwOSwgMHg0MCwgMHgwYiwgMHgwNCwgMHg3ZSwgMHg0NCwgCi0gICAgMHgzNCwgMHhmYSwgMHgyMCwgMHhlMywgMHgwNCwgMHg3ZSwgMHg0NCwgMHg2NywgMHg4NSwgMHhjYSwgMHgwOSwgMHhjYSwgMHgzOSwgMHg5OSwgMHg0NCwgMHhkYSwgCi0gICAgMHgzOSwgMHhkYSwgMHgwOSwgMHg3ZSwgMHg2NCwgMHg2NiwgMHg3ZiwgMHg0ZCwgMHgzMywgMHg2OCwgMHhhNiwgMHg4OSwgMHg2NCwgMHg3YSwgMHgxNSwgMHg0ZCwgCi0gICAgMHhmNSwgMHg0ZiwgMHg3ZSwgMHg2NCwgMHg2NywgMHg1OCwgMHg4MCwgMHg5OSwgMHg3ZSwgMHgxNSwgMHg0ZCwgMHhlNSwgMHg0ZiwgMHg4MCwgMHhjNCwgMHhjMCwgCi0gICAgMHhkMCwgMHhjMCwgMHhkMSwgMHhjMCwgMHhlMCwgMHhjYSwgMHgxOSwgMHg3NSwgMHgyZiwgMHhmZSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNCwgMHgwMCwgCi0gICAgMHg1MywgMHgwMiwgMHg0MCwgMHg1MiwgMHhkYSwgMHgxOSwgMHhkMCwgMHhlMCwgMHhkMCwgMHhkMSwgMHhkMCwgMHhkMCwgMHgzMiwgMHgwMywgMHhhNSwgMHhjYiwgCi0gICAgMHgxOSwgMHhiMSwgMHg4MCwgMHgwMCwgMHgyMiwgMHgyMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgMHhlMSwgMHg3ZSwgMHhhMCwgMHgwMiwgMHhhNCwgCi0gICAgMHg3ZSwgMHgwNCwgMHg2OCwgMHhiMSwgMHg5ZCwgMHgwNSwgMHg3ZSwgMHhiMCwgMHgyOCwgMHg3YSwgMHhiMywgMHg5NSwgMHgwMCwgMHg4OSwgMHgwNCwgMHhjYSwgCi0gICAgMHgyOSwgMHhiNCwgMHg4MCwgMHhlMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgMHhlMSwgMHg3ZSwgMHgwMCwgMHgyOCwgMHg3YSwgMHgwMywgMHg5NSwgCi0gICAgMHgwMCwgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHg5NSwgMHgwMCwgMHhkYSwgMHgyOSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgCi0gICAgMHhlMSwgMHg3ZSwgMHhhMCwgMHgwMiwgMHhhNCwgMHg3ZSwgMHgwNCwgMHg2OSwgMHhlNiwgMHg5ZCwgMHgwNSwgMHg3ZSwgMHhiMCwgMHgzOCwgMHg3YSwgMHhiMywgCi0gICAgMHg5NSwgMHgwMCwgMHg4OSwgMHgwNCwgMHhjYSwgMHgyOSwgMHhiNCwgMHg4MCwgMHhlMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgMHhlMSwgMHg3ZSwgCi0gICAgMHgwMCwgMHgzOCwgMHg3YSwgMHgwMywgMHg5NSwgMHgwMCwgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHg5NSwgMHgwMCwgMHhkYSwgMHgyOSwgMHgyMiwgCi0gICAgMHhjYSwgMHgyOSwgMHhjYSwgMHgxOSwgMHhjYSwgMHg1OCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgMHhlMSwgMHhkYSwgMHg1OCwgMHg3ZSwgMHg1NCwgCi0gICAgMHgwMiwgMHgyMCwgMHg5YywgMHhiNSwgMHhhNCwgMHg3ZSwgMHg1MCwgMHgzMCwgMHg1ZSwgMHgyMCwgMHgwNywgMHgyYywgMHg1MiwgMHg3YSwgMHg1MywgMHg5NSwgCi0gICAgMHgwMCwgMHgyZSwgMHg1NCwgMHg2YSwgMHgxNywgMHg4OSwgMHg1NCwgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgCi0gICAgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHg5NSwgMHgwMCwgMHhkYSwgMHgxOSwgCi0gICAgMHhkYSwgMHgyOSwgMHgyMiwgMHhjYSwgMHgxOSwgMHhjYSwgMHg1OCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3ZiwgMHhlMSwgMHhkYSwgMHg1OCwgMHg3ZSwgCi0gICAgMHg1NCwgMHgwMiwgMHgzOCwgMHg5YywgMHhiNSwgMHhhNCwgMHg3ZSwgMHg1MCwgMHgyMCwgMHg1ZSwgMHgyMCwgMHgwNywgMHgyYywgMHg1MiwgMHg3YSwgMHg1MywgCi0gICAgMHg5NSwgMHgwMCwgMHgyZSwgMHg1NCwgMHg2YSwgMHg4OCwgMHg4OSwgMHg1NCwgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgCi0gICAgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHhhMywgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHg5NSwgMHgwMCwgMHhkYSwgCi0gICAgMHgxOSwgMHgyMiwgMHgwMiwgMHg2YiwgMHhhOCwgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgMHhjYSwgMHgzYiwgMHhjYSwgMHg0YiwgMHhjYSwgCi0gICAgMHg1YiwgMHhjYSwgMHg2YiwgMHhjYSwgMHg3YiwgMHhjYSwgMHhlYiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHgyYywgCi0gICAgMHg3ZiwgMHhiNCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgxYywgMHhiNCwgMHgwMSwgMHgxOSwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHg1NCwgMHgxNCwgMHg2OCwgCi0gICAgMHgwNSwgMHgxMiwgMHg2YiwgMHg2YywgMHg4MCwgMHgyMywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHgzMCwgMHhlNSwgMHgxYywgMHgxMiwgMHg2YywgMHhhYSwgCi0gICAgMHg4MCwgMHgxNywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHgzMCwgMHhlNSwgMHgwNSwgMHgxMiwgMHg2YywgMHhhYSwgMHg4MCwgMHgwYiwgMHg3ZSwgMHhiMywgCi0gICAgMHg5MSwgMHgxNCwgMHg1NCwgMHgxNCwgMHg2OCwgMHgwMywgMHgxMiwgMHg2YiwgMHg2YywgMHhkYSwgMHhlYiwgMHhkYSwgMHg3YiwgMHhkYSwgMHg2YiwgMHhkYSwgCi0gICAgMHg1YiwgMHhkYSwgMHg0YiwgMHhkYSwgMHgzYiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHgyMCwgMHhlNCwgMHgxOSwgMHg3NSwgCi0gICAgMHgyZiwgMHgwYSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3ZSwgMHg3MCwgMHgwYSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3ZiwgMHhiNCwgCi0gICAgMHgwMSwgMHgxZiwgMHgwMiwgMHg2YywgMHgwNCwgMHgwMiwgMHg3MSwgMHhmMiwgMHg3NSwgMHgyZiwgMHgwYiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHgxNCwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3ZSwgMHhiMywgMHgyYywgMHg3ZiwgMHhiNCwgMHgwMiwgMHgwYywgMHgxMiwgMHg2YiwgMHhiNCwgMHgwMiwgMHg2YiwgCi0gICAgMHhhOCwgMHg3NCwgMHgwNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMiwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHgyYywgMHg3ZiwgMHg3YSwgCi0gICAgMHgwMywgMHgyYywgMHg4MCwgMHgyMiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3NiwgMHg1NCwgMHg2MCwgMHg2MCwgMHgwNSwgMHhiNCwgMHg0MCwgMHgxZSwgMHg4MCwgCi0gICAgMHgxYywgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwNSwgMHgxNSwgMHg3NSwgMHgyZiwgMHg3MSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgCi0gICAgMHgyYywgMHg3OSwgMHg3ZSwgMHhhMCwgMHgwMSwgMHg3YSwgMHhhMywgMHg5MSwgMHgwNiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHgyMiwgMHg3NCwgMHgwMCwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHgyMiwgMHhiZSwgMHg1NywgMHgyYywgMHg3YywgMHgyOCwgCi0gICAgMHgwNCwgMHg3ZSwgMHg1NywgMHgyYywgMHg3YywgMHg3YSwgMHgwZiwgMHgyYywgMHg4MiwgMHg3YSwgMHg1NywgMHgyYywgMHg4NiwgMHg3NCwgMHgxMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxMiwgMHgyMiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxYSwgMHg3MCwgMHg1MywgCi0gICAgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMCwgMHhlNCwgMHg0YywgMHg3ZSwgMHhlZiwgMHgyYywgMHg4MiwgMHg3ZSwgMHhmNywgMHgyYywgMHg4NiwgMHg3ZSwgCi0gICAgMHgwNywgMHgyYywgMHg4NiwgMHg0ZCwgMHgwMCwgMHg2OCwgMHgyMSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHhlMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNywgMHhhMywgCi0gICAgMHhhNSwgMHgwOCwgMHgxYiwgMHhmNCwgMHg2OCwgMHgwNiwgMHhhNSwgMHhiOCwgMHgxMCwgMHhmMCwgMHg4MCwgMHgxOSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHgyYywgMHg3ZiwgMHhiZSwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwZCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHg3ZiwgMHg3NCwgCi0gICAgMHg4MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxZSwgMHg3YSwgMHhlZiwgMHgyYywgMHg4MiwgMHg3YSwgMHhmNywgMHgyYywgMHg4NiwgMHg3NSwgMHgyZiwgMHgwNiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHgwNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMiwgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgCi0gICAgMHhjYSwgMHgzYiwgMHhjYSwgMHg0YiwgMHhjYSwgMHg1YiwgMHhjYSwgMHg2YiwgMHhjYSwgMHg3YiwgMHhjYSwgMHhlYiwgMHg3NSwgMHgyZiwgMHgwMywgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHg3ZSwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgwMSwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHgxMiwgMHg2ZCwgMHgxOSwgMHhkYSwgMHhlYiwgMHhkYSwgMHg3YiwgMHhkYSwgMHg2YiwgMHhkYSwgMHg1YiwgMHhkYSwgCi0gICAgMHg0YiwgMHhkYSwgMHgzYiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHg3NSwgMHgyZiwgMHgwMywgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3ZSwgMHhiMywgMHgyYywgMHg4MCwgMHhiNCwgMHgwMiwgMHgxMSwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHg4MCwgMHg3YSwgMHhiMywgMHgyYywgCi0gICAgMHg3ZiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMiwgMHhiNCwgMHgwMSwgMHg0NiwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNCwgMHgyMCwgCi0gICAgMHhlNiwgMHg0MiwgMHg3ZSwgMHgyMywgMHg5MSwgMHgxYSwgMHg3YywgMHgzMiwgMHg3ZSwgMHgxMywgMHgyYywgMHg4MSwgMHgyYywgMHgyMSwgMHg3YSwgMHgyMywgCi0gICAgMHgyYywgMHg4MSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHgyZSwgMHgwNCwgMHgyYywgMHg4OCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNiwgMHg3YSwgMHgwOSwgMHhiMCwgCi0gICAgMHgwYiwgMHgwNCwgMHhhNSwgMHhkYiwgMHhmNCwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3NSwgMHgyZiwgMHg3MCwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg4MSwgMHg3ZSwgMHhhMywgMHgyYywgMHg3ZCwgMHhiYywgMHhhYiwgMHg3OCwgMHgwMywgMHgxMiwgMHg2ZCwgMHhiOSwgCi0gICAgMHgyMiwgMHgwMiwgMHg3MSwgMHhmMiwgMHhkYSwgMHg1OSwgMHgwMiwgMHg2YywgMHg3YywgMHg3NCwgMHhlMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgCi0gICAgMHgwMywgMHg5MSwgMHgxMCwgMHg3ZSwgMHgxMywgMHg5MSwgMHgxMSwgMHg3ZSwgMHgzMywgMHg5MSwgMHgxMiwgMHg3ZSwgMHgyMywgMHg5MSwgMHgxMywgMHg3ZSwgCi0gICAgMHg1MywgMHg5MSwgMHgxNCwgMHg3ZSwgMHg0MywgMHg5MSwgMHgxNSwgMHg3ZSwgMHg3MywgMHg5MSwgMHgxNiwgMHg3ZSwgMHg2MywgMHg5MSwgMHgxNywgMHg3YSwgCi0gICAgMHgwZiwgMHgyYywgMHg3NiwgMHg3YSwgMHgxZiwgMHgyYywgMHg3YSwgMHg3NSwgMHgyZiwgMHgwNCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgwMSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgxMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgyMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgCi0gICAgMHgzMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg0MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg1MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHg2MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNCwgMHgxMiwgMHg2ZCwgMHg4ZCwgMHgyMiwgMHg2ZCwgMHgwMCwgMHg3ZSwgCi0gICAgMHgxNCwgMHgwMSwgMHgwMiwgMHg3YSwgMHgwNywgMHgyYywgMHg4NiwgMHg3YSwgMHgwMywgMHgyYywgMHg4MSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3NiwgMHgyMCwgCi0gICAgMHhlNywgMHgwZiwgMHg3YSwgMHgyMywgMHgyYywgMHg4MCwgMHg3YSwgMHgzMywgMHgyYywgMHg3ZiwgMHhiZSwgMHgwNywgMHgyYywgMHg3YywgMHg2OCwgMHgwOSwgCi0gICAgMHgyMiwgMHg3YSwgMHgzMywgMHgyYywgMHg4MCwgMHg3YSwgMHgyMywgMHgyYywgMHg3ZiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3NiwgMHg1NCwgMHhlMywgMHgyMywgCi0gICAgMHgyMywgMHgzMCwgMHhlMCwgMHgwMiwgMHhkMiwgMHhlNSwgMHgzMCwgMHhlNywgMHgwMiwgMHhkMiwgMHhlNCwgMHgzMCwgMHhlNSwgMHgwNiwgMHgzMCwgMHhlNCwgCi0gICAgMHgwMywgMHgwMiwgMHg3MSwgMHhmMiwgMHg1NCwgMHgzZSwgMHhmNSwgMHhmMCwgMHgwMywgMHg1NCwgMHgxZiwgMHhjMywgMHgyNSwgMHhmMCwgMHg5MCwgMHg2ZCwgCi0gICAgMHhlNSwgMHg3NSwgMHg4NCwgMHhmZiwgMHg3MywgMHgwMiwgMHg2ZiwgMHhhMCwgMHgwMiwgMHg2ZSwgMHgyZCwgMHgwMiwgMHg3MCwgMHgzOSwgMHgwMiwgMHg3MCwgCi0gICAgMHg1NCwgMHgwMiwgMHg2ZiwgMHgzNywgMHgwMiwgMHg2ZSwgMHhjMiwgMHgwMiwgMHg3MCwgMHg4NSwgMHgwMiwgMHg3MCwgMHg4NSwgMHgwMiwgMHg3MCwgMHg4OCwgCi0gICAgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgCi0gICAgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4OCwgMHgwMiwgMHg3MCwgMHg4ZSwgMHgwMiwgMHg3MSwgMHg2MCwgMHgwMiwgMHg3MCwgMHg4YiwgMHgwMiwgMHg3MCwgCi0gICAgMHg4YiwgMHgwMiwgMHg3MCwgMHg4YiwgMHgwMiwgMHg3MCwgMHg4YiwgMHgwMiwgMHg3MCwgMHg4YiwgMHgwMiwgMHg3MCwgMHg4YiwgMHg3NCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwNiwgMHgyYSwgCi0gICAgMHg3ZSwgMHhiMywgMHgyYywgMHg3OCwgMHg2MCwgMHg3OSwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgMHgyYywgMHg3OSwgMHg3ZSwgMHgxNywgMHgyYywgMHg3YSwgCi0gICAgMHg3NSwgMHgyZiwgMHg3MiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgwMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgxMSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHgxMiwgMHg3MiwgMHgzNywgMHg0MCwgMHg1OCwgMHgwMiwgMHg2YiwgMHhlYiwgMHhiNCwgMHgwOCwgMHgxYywgMHg3NSwgMHgyZiwgMHg3NCwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3YSwgCi0gICAgMHgwYiwgMHhiMCwgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMSwgMHgwMiwgMHg2YiwgMHhlYiwgMHhiNCwgMHgwMCwgMHgzMywgMHg3NSwgMHgyZiwgMHg3NSwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgMHgwYiwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgCi0gICAgMHgzMCwgMHhlMCwgMHgwNywgMHg3NCwgMHgwMiwgMHg3YSwgMHgwYiwgMHhiMCwgMHg4MCwgMHgwNSwgMHg3NCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHgwYiwgCi0gICAgMHgxNCwgMHg3NCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMiwgMHhkYSwgMHgwYiwgMHgwMiwgMHg2YiwgMHhlYiwgMHgwMiwgCi0gICAgMHg3MSwgMHhmMiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3ZSwgMHhiMywgCi0gICAgMHgyYywgMHg3NywgMHhiNCwgMHgwMCwgMHg1ZiwgMHg3NSwgMHgyZiwgMHg3NiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3YiwgMHg1NCwgCi0gICAgMHgwZiwgMHhiNCwgMHgwMiwgMHgwNSwgMHg3ZSwgMHhiMCwgMHg2MCwgMHg4MCwgMHgxNywgMHhiNCwgMHgwMCwgMHgwNSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg4MCwgCi0gICAgMHgwZiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3YiwgMHgyMCwgMHhlNywgMHgwNSwgMHg3ZSwgMHhiMCwgMHg0MCwgMHg4MCwgMHgwMywgMHg3ZSwgMHhiMCwgMHgyMCwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxMSwgMHgzMCwgMHhlMCwgMHgwNCwgMHg3NCwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3NCwgCi0gICAgMHgwMCwgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgMHgwYiwgMHg3YSwgMHgwYiwgMHhiMCwgMHgwYiwgMHgxNCwgCi0gICAgMHg3NCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMiwgMHhkYSwgCi0gICAgMHgwYiwgMHgwMiwgMHg2YiwgMHhlYiwgMHgwMiwgMHg3MSwgMHhmMiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3YiwgMHg1NCwgMHgwZiwgMHhiNCwgMHgwMiwgMHgwNSwgCi0gICAgMHg3ZSwgMHhiMCwgMHg2MCwgMHg4MCwgMHgxNywgMHhiNCwgMHgwMCwgMHgwNSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg4MCwgMHgwZiwgMHg3ZSwgMHhiMywgMHgyYywgCi0gICAgMHg3YiwgMHgyMCwgMHhlNywgMHgwNSwgMHg3ZSwgMHhiMCwgMHg0MCwgMHg4MCwgMHgwMywgMHg3ZSwgMHhiMCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgCi0gICAgMHg3ZSwgMHhiMywgMHgyYywgMHg3OSwgMHhiNCwgMHgwMCwgMHgyNiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwMSwgMHgwZSwgMHg3NSwgMHgyZiwgCi0gICAgMHg3NywgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg4MCwgMHgxYiwgMHhiNCwgMHgwMywgMHgwZSwgMHg3NSwgCi0gICAgMHgyZiwgMHg3OCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMSwgMHg4MCwgMHgwYSwgMHg3NCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMCwgMHgxMiwgMHg3MSwgMHhmMiwgMHgyMiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHgwMiwgMHg2YiwgMHhkZSwgCi0gICAgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwOSwgMHgxZiwgMHg3NSwgMHgyZiwgMHg3OSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgCi0gICAgMHg3OSwgMHhiZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg2OCwgMHgwZCwgMHhjYSwgMHhiOCwgMHgxMiwgMHg0MywgMHg3OSwgMHhkYSwgMHhiOCwgMHg1MCwgMHg3NiwgCi0gICAgMHg3YSwgMHhiMywgMHgzZiwgMHhmMSwgMHg4MCwgMHg2ZCwgMHhiNCwgMHgwNSwgMHgwOCwgMHg3NSwgMHgyZiwgMHg3YSwgMHgxMiwgMHg3MywgMHgzNSwgMHg4MCwgCi0gICAgMHg2MiwgMHhiNCwgMHgwMywgMHgxOSwgMHg3NSwgMHgyZiwgMHg3YiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3OSwgMHhiNCwgMHgwMSwgCi0gICAgMHg1NSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg0NCwgMHgwMSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg4MCwgMHg0NiwgMHhiNCwgMHgwMSwgMHgxOSwgCi0gICAgMHg3NSwgMHgyZiwgMHg3YywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3OSwgMHhiNCwgMHgwMSwgMHgzOSwgMHg3ZSwgMHhiMywgMHgzZiwgCi0gICAgMHhmMiwgMHg1NCwgMHhmZSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg4MCwgMHgyYSwgMHhiNCwgMHgwNywgMHgyYSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3OCwgCi0gICAgMHg2MCwgMHgyNCwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgMHgyYywgMHg3OSwgMHg3ZSwgMHgxNywgMHgyYywgMHg3YSwgMHg3NSwgMHgyZiwgMHg3MywgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3YSwgMHgwMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgxMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg3MiwgCi0gICAgMHg3MSwgMHg0MCwgMHgwMywgMHgwMiwgMHg2YiwgMHhkZSwgMHgwMiwgMHg3MSwgMHhmMiwgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwYiwgMHhmNiwgCi0gICAgMHg3NSwgMHgyZiwgMHg3ZCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgMHg3OSwgMHg3ZSwgMHhhMywgMHgyYywgMHg3YiwgMHg0YywgMHhhYiwgCi0gICAgMHg3OCwgMHhlNCwgMHg4MCwgMHhkZiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgCi0gICAgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgMHhiNCwgMHgwYSwgMHhjZiwgMHg3NSwgMHgyZiwgMHg3ZSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYywgCi0gICAgMHg3OSwgMHg3MCwgMHhjMywgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHg3ZSwgMHg1NCwgCi0gICAgMHgwMCwgMHgwMSwgMHgwMiwgMHg2YiwgMHhlYiwgMHgwMiwgMHg3MSwgMHhmMiwgMHgwMiwgMHg3MSwgMHhmMiwgMHgwMiwgMHg3MSwgMHhmMiwgMHg3ZSwgMHhiMywgCi0gICAgMHgyYywgMHg3NywgMHhiNCwgMHgwNCwgMHgyMCwgMHg3NSwgMHgyZiwgMHhjMywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgCi0gICAgMHgxNywgMHgyYywgMHg3OCwgMHg3ZSwgMHgxOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgxYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg0NywgMHgyYywgMHg3YywgMHgxMiwgCi0gICAgMHg3MywgMHg0MSwgMHgwMiwgMHg3MSwgMHg1YSwgMHhiNCwgMHgwNiwgMHg0MiwgMHg3NSwgMHgyZiwgMHhjMSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHg1OCwgCi0gICAgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZCwgMHhjYSwgMHg3ZSwgMHhkNywgMHgyYywgMHg3OCwgMHg3ZSwgMHg3OCwgMHgyYywgMHg4OCwgCi0gICAgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3NywgMHgyYywgMHg3YywgMHg3NSwgMHgyZiwgMHhjMSwgMHgxMiwgMHg3MywgMHgzNSwgMHhjMCwgMHhhOCwgCi0gICAgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHgxMiwgMHg3MywgMHg3YSwgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgCi0gICAgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHg0MCwgMHg2NSwgMHg4MCwgMHg2MCwgMHhiNCwgMHgwMCwgMHgyNCwgMHhjMiwgMHhhZiwgMHg3ZSwgCi0gICAgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgyYywgMHgzNSwgMHgxMiwgMHg2YiwgMHhkZSwgMHhlNCwgMHg4ZCwgMHhlZiwgCi0gICAgMHg4ZCwgMHhlZiwgMHg4ZCwgMHhlZiwgMHhkNSwgMHhlMCwgMHhmNywgMHhjMCwgMHhkMSwgMHhjYSwgMHgwMiwgMHhmZiwgMHhjYSwgMHgwNiwgMHgwMCwgMHgwMCwgCi0gICAgMHgzMiwgMHhiNCwgMHgwOSwgMHgyMCwgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3ZSwgMHgyMywgMHg5MSwgMHgwNywgMHg3ZSwgMHg1NywgCi0gICAgMHgyYywgMHg3OCwgMHg0ZCwgMHg1NSwgMHg2OCwgMHgwNSwgMHg0ZSwgMHgyMCwgMHgwMiwgMHg4MCwgMHgwMywgMHg1ZSwgMHgyMCwgMHhmZCwgMHg3YSwgMHgyMywgCi0gICAgMHg5MSwgMHgwNywgMHg4MCwgMHgxNiwgMHhiNCwgMHgwNywgMHgxNiwgMHhjMiwgMHhhZiwgMHg3ZSwgMHgwNywgMHgyYywgMHg3YSwgMHg3ZSwgMHgxNywgMHgyYywgCi0gICAgMHg3OCwgMHhjMCwgMHhkMSwgMHhjYSwgMHgxOCwgMHhjYSwgMHgzOCwgMHhjYSwgMHgyOCwgMHgzMiwgMHgwMiwgMHg2YiwgMHhkZSwgMHgwMiwgMHg3MSwgMHhmMiwgCi0gICAgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3ZSwgMHhiMywgMHgyYywgMHg3NywgCi0gICAgMHhiNCwgMHgwMywgMHgxNSwgMHg3NSwgMHgyZiwgMHhjMiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxNywgMHgyYywgCi0gICAgMHg3OCwgMHg3ZSwgMHg1NywgMHgyYywgMHg3YywgMHgwMiwgMHg2YiwgMHhlYiwgMHhiNCwgMHgwNSwgMHg0MSwgMHg3NSwgMHgyZiwgMHhjMCwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgCi0gICAgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNywgMHgyYywgMHg3OCwgMHg3ZSwgMHg0NywgMHgyYywgMHg3YywgCi0gICAgMHgxMiwgMHg3MywgMHg0MSwgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHg3ZSwgMHgwOCwgMHgyYywgCi0gICAgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg1NywgMHgyYywgMHg3YywgMHgwMiwgMHg2YiwgMHhlYiwgMHhiNCwgMHgwMSwgMHgyMCwgMHg3ZSwgCi0gICAgMHgwMCwgMHgwMCwgMHg3ZSwgMHgxMCwgMHgwMSwgMHg3NSwgMHgyZiwgMHg3MiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHgwMSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHgxMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHgxMiwgMHg3MiwgMHgzNywgMHg0MCwgMHgwMywgMHgwMiwgMHg2YiwgMHhlYiwgMHgwMiwgCi0gICAgMHg3MSwgMHhmMiwgMHg3NSwgMHgyZiwgMHgwNywgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHg3NCwgCi0gICAgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNSwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxMSwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNSwgMHg1NCwgMHg2MCwgMHhiZSwgMHhiMCwgMHg0MCwgMHg2OCwgMHgwOCwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgxNSwgMHg4MCwgMHhlZCwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg3NCwgMHgwNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgCi0gICAgMHg3NCwgMHhmZiwgMHg3YSwgMHhiMywgMHgyYywgMHg3ZSwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgCi0gICAgMHg5NCwgMHgwMCwgMHgxMiwgMHg3MiwgMHhiZSwgMHg0MCwgMHgxZiwgMHg3ZSwgMHgwOCwgMHgyYywgMHg4OCwgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgCi0gICAgMHgwYiwgMHhjYSwgMHg0OSwgMHgxMiwgMHg3MywgMHg0MSwgMHhkYSwgMHg1OSwgMHhkYSwgMHgwYiwgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgMHg3YSwgMHg0MywgCi0gICAgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHhjMywgMHgyMiwgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgCi0gICAgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHgxMiwgMHg3MiwgMHhiZSwgMHg0MCwgCi0gICAgMHgzMSwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZiwgMHg2MSwgMHg3ZSwgMHg3OCwgMHgyYywgMHg4OCwgMHg3YSwgCi0gICAgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3NywgMHgyYywgMHg3YywgMHhiZCwgMHg3NCwgMHg3OCwgMHgxNywgMHg3NSwgMHgyZiwgMHhjMSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgxMiwgMHg3MywgMHg3YSwgMHg0MCwgMHgwYywgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgCi0gICAgMHhjMywgMHgyMiwgMHg3ZSwgMHg0MywgMHgyYywgMHgzNSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHhkMywgMHgyMiwgMHg3ZSwgMHgyNCwgCi0gICAgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNCwgMHg3ZiwgMHhjYSwgMHgwYiwgMHgxYSwgMHg1MCwgMHhjNSwgMHhmMCwgMHg3ZCwgMHg2MiwgMHg3ZCwgMHg3NSwgMHg3ZCwgCi0gICAgMHg4NywgMHg3ZSwgMHgzNCwgMHg3ZiwgMHhjMiwgMHg3ZSwgMHgxYiwgMHhiMCwgMHg3ZSwgMHgzNCwgMHg3ZiwgMHgwMywgMHhiNCwgMHgwMSwgMHgwNCwgMHg3ZSwgCi0gICAgMHgzNCwgMHg3ZiwgMHhjYywgMHg3ZSwgMHgxYiwgMHhiMCwgMHhiYywgMHgwYiwgMHg1MCwgMHg0OSwgMHgzZSwgMHgwMCwgMHgzZSwgMHgwMCwgMHgwYSwgMHg1MCwgCi0gICAgMHgyZCwgMHg3NSwgMHgwYiwgMHgzYSwgMHgzMCwgMHg2OSwgMHg1MywgMHgwMCwgMHgwMiwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgMHhiYywgCi0gICAgMHgxYiwgMHg1MCwgMHgzMCwgMHgzZSwgMHgxMCwgMHgzZSwgMHgxMCwgMHgwYSwgMHg1MSwgMHgyZCwgMHgzNSwgMHg2OSwgMHg0MSwgMHgwMCwgMHgwMiwgMHgwYiwgCi0gICAgMHgxYSwgMHgzMCwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgMHhiZSwgMHg0NCwgMHhmZiwgMHhmZiwgMHg3OCwgMHgwNSwgMHg3ZSwgMHgxYiwgCi0gICAgMHg5MCwgMHgwYSwgMHg0OSwgMHg0ZCwgMHg0NCwgMHg2OCwgMHgwYywgMHhiZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHg0NCwgMHgwMCwgCi0gICAgMHhmZiwgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgCi0KLS8vIFNlZ21lbnQgIzE2LCBTdGFydCBBZGRyZXNzIDAwZmY3ZmM2LCBMZW5ndGggNAotMHhmZiwweDAwLDB4YzYsMHg3ZiwweDA0LDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgwMywgMHgwMCwgCi0KLS8vIFNlZ21lbnQgIzE3LCBTdGFydCBBZGRyZXNzIDAwZmY3MzM1LCBMZW5ndGggMzI4Ci0weGZmLDB4MDAsMHgzNSwweDczLDB4NDgsMHgwMSwKLSAgICAweGNhLCAweDA4LCAweDdlLCAweDAxLCAweDJmLCAweDdhLCAweDAzLCAweDNmLCAweGYwLCAweGRhLCAweDA4LCAweDIyLCAweDdlLCAweDFiLCAweGMwLCAweDdhLCAKLSAgICAweDBiLCAweGMwLCAweDBiLCAweDE0LCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDc4LCAweGYyLCAweDIyLCAweDdmLCAweDZmLCAweDdmLCAweGYwLCAweDFiLCAKLSAgICAweGZjLCAweDdjLCAweDU0LCAweDdkLCAweDMyLCAweDgwLCAweDA4LCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweDllLCAKLSAgICAweDQ0LCAweDAwLCAweDEwLCAweDUwLCAweGYyLCAweDJlLCAweDQ0LCAweDAwLCAweDEwLCAweDY4LCAweDA2LCAweGNhLCAweDQ4LCAweDFiLCAweDQ0LCAweDc4LCAKLSAgICAweGZhLCAweDdmLCAweGY2LCAweDg5LCAweGU0LCAweGNhLCAweDZiLCAweDVlLCAweGQ0LCAweDAwLCAweDNmLCAweDY4LCAweDIwLCAweDdlLCAweDg0LCAweDAwLCAKLSAgICAweDQwLCAweDlkLCAweDhkLCAweGRhLCAweDZiLCAweGJkLCAweDg3LCAweDM4LCAweDE2LCAweGNhLCAweDc5LCAweDdkLCAweDc4LCAweDEyLCAweDczLCAweGE0LCAKLSAgICAweGRhLCAweDc5LCAweDQwLCAweDA4LCAweDlkLCAweDc4LCAweDY4LCAweDAyLCAweDgwLCAweDA1LCAweGMyLCAweGQ3LCAweDIyLCAweGRhLCAweDZiLCAweDdlLCAKLSAgICAweGMwLCAweDAzLCAweDdlLCAweGQwLCAweDAwLCAweDdhLCAweGQzLCAweDkwLCAweDAwLCAweDc0LCAweGFhLCAweDM5LCAweGI1LCAweDU1LCAweDU1LCAweDc0LCAKLSAgICAweDU1LCAweDM5LCAweGI1LCAweDJhLCAweGFhLCAweDc0LCAweGEwLCAweDM5LCAweGI1LCAweDU1LCAweDU1LCAweDdlLCAweDA0LCAweDAwLCAweDQwLCAweDlkLCAKLSAgICAweDcwLCAweDUwLCAweDA2LCAweDJkLCAweDcwLCAweDdkLCAweDA3LCAweDZkLCAweDc3LCAweDdjLCAweDMxLCAweDdlLCAweDdiLCAweDAwLCAweDdhLCAweDZiLCAKLSAgICAweDAwLCAweDBiLCAweDdjLCAweDBiLCAweDZjLCAweGE1LCAweGQ5LCAweGYzLCAweDdmLCAweDE2LCAweDFiLCAweDFjLCAweDdlLCAweDU0LCAweDI3LCAweDEwLCAKLSAgICAweDdlLCAweDFiLCAweDEwLCAweGJjLCAweDEwLCAweDY4LCAweDA2LCAweDFiLCAweDU0LCAweDc4LCAweGY1LCAweDgwLCAweDJmLCAweDZkLCAweDAwLCAweDdjLCAKLSAgICAweDIwLCAweDdmLCAweDE2LCAweDlmLCAweDEwLCAweDdmLCAweDI3LCAweDlmLCAweDIwLCAweDdlLCAweDJiLCAweDAwLCAweDdlLCAweDFiLCAweDEwLCAweGJjLCAKLSAgICAweDAxLCAweDc4LCAweDE5LCAweDBiLCAweDJjLCAweDBiLCAweDFjLCAweGE1LCAweGRiLCAweGVmLCAweDdjLCAweGI2LCAweDIwLCAweGUwLCAweDA2LCAweDZjLCAKLSAgICAweGRjLCAweDdhLCAweGQzLCAweDkwLCAweDAwLCAweDRkLCAweDc3LCAweDc4LCAweDkwLCAweGMyLCAweGQ3LCAweDIyLCAweGQyLCAweGQ3LCAweDIyLCAweDAwLCAKLSAgICAweDA0LCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDA2LCAweDA0LCAweDAyLCAweDA0LCAweDAwLCAweDAyLCAweDAxLCAweDA0LCAweDAxLCAweDAyLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAyLCAweDAyLCAweDAyLCAweDAyLCAweDA0LCAweDAwLCAweDA4LCAweDEwLCAKLSAgICAweDAyLCAweDEwLCAweDA0LCAweDAyLCAweDA4LCAweDAwLCAweDAxLCAweDAxLCAweDA4LCAweDdlLCAweDE4LCAweDdmLCAweGJkLCAweDdhLCAweDFjLCAweDAwLCAKLSAgICAweGZlLCAweDBiLCAweDFhLCAweDAwLCAweDVlLCAweDEwLCAweDFmLCAweGJlLCAweDEwLCAweDE0LCAweDM4LCAweDFhLCAweDBhLCAweDUxLCAweDIzLCAweDdlLCAKLSAgICAweDE4LCAweDc0LCAweDI0LCAweDdhLCAweDFjLCAweDAwLCAweGZmLCAweDJkLCAweDM1LCAweDBiLCAweDFhLCAweDUwLCAweDYwLCAweDA4LCAweGE1LCAweGI4LCAKLSAgICAweDAyLCAweDAzLCAweDRlLCAweGEwLCAweDA4LCAweDIyLCAweDgwLCAweGZlLCAKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gSU1BR0VfVkVSU0lPTl9OQU1FID0gewotCTIsIDAsIDMgfTsJCS8vIE1ham9yLCBNaW5vciwgQnVpbGQKLQotI3VuZGVmIElNQUdFX1ZFUlNJT05fTkFNRQotCi0jdW5kZWYgSU1BR0VfQVJSQVlfTkFNRQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bjMuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDk2YjA2Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMy5oCisrKyAvZGV2L251bGwKQEAgLTEsODQ3ICswLDAgQEAKLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS8vKiBFZGdlcG9ydCBCaW5hcnkgSW1hZ2UgKGZvciBUSSBiYXNlZCBwcm9kdWN0cykKLS8vKiBHZW5lcmF0ZWQgYnkgVElCaW4yQyB2Mi4wMCAod2F0Y2hwb3J0KQotLy8qIENvcHlyaWdodCAoQykgMjAwMSBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0KLXN0YXRpYyBpbnQgSU1BR0VfU0laRSA9IDEyOTM4OwotCi1zdHJ1Y3QgRURHRV9GSVJNV0FSRV9WRVJTSU9OX0lORk8KLXsKLQl1bnNpZ25lZCBjaGFyICAgTWFqb3JWZXJzaW9uOwotCXVuc2lnbmVkIGNoYXIgICBNaW5vclZlcnNpb247Ci0JdW5zaWduZWQgc2hvcnQgIEJ1aWxkTnVtYmVyOwotfTsKLQotc3RhdGljIHN0cnVjdCBFREdFX0ZJUk1XQVJFX1ZFUlNJT05fSU5GTyBJTUFHRV9WRVJTSU9OX05BTUUgPQotewotCTQsIDgwLCAwCQkvLyBNYWpvciwgTWlub3IsIEJ1aWxkCi0KLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIElNQUdFX0FSUkFZX05BTUVbXSA9IAotewotLy8gIHN0cnVjdCBJbWFnZUhkcgotLy8gIHsKLS8vICAgICAgV09SRCAgICBMZW5ndGg7Ci0vLyAgICAgIEJZVEUgICAgQ2hlY2tTdW07Ci0vLyAgfTsKLTB4ODcsIDB4MzIsCi0weDlhLAotCi0weDAyLCAweDI3LCAweGJmLCAweDAyLCAweDIxLCAweGIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDFlLCAweDAwLCAweDAwLAotMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMSwgMHgxYSwgMHg4NSwgMHgzZiwgCi0weDhjLCAweDg1LCAweDQwLCAweDhhLCAweGMwLCAweGUwLCAweGMwLCAweGQwLCAweGMwLCAweGYwLCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDAwLCAKLTB4YzAsIDB4MDEsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDQsIDB4YzAsIDB4MDUsIDB4YzAsIDB4MDYsIDB4YzAsIDB4MDcsIDB4ZTUsIDB4M2UsIAotMHgyNCwgMHgwOCwgMHhmOCwgMHhlNiwgMHg2MCwgMHgyYiwgMHhlNSwgMHgzZSwgMHgyNCwgMHgxMCwgMHhmOCwgMHhhNiwgMHg4MSwgMHhlNSwgMHgzZSwgMHg3NSwgCi0weGYwLCAweDIxLCAweGE0LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGY4LCAweGY1LCAweDgzLCAweDc4LCAweDhjLCAweGU1LCAweDgxLCAKLTB4MDQsIDB4YzMsIDB4OTgsIDB4ZjksIDB4OTQsIDB4MjIsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MTEsIDB4ZGMsIDB4ZTYsIDB4ZjAsIDB4MDgsIDB4YTMsIDB4ZDksCi0weGZhLCAweDc0LCAweDA4LCAweDI1LCAweDNlLCAweGY4LCAweDA1LCAweDNlLCAweDA4LCAweGU2LCAweDU0LCAweDgwLCAweDcwLCAweDBjLCAweGU1LCAweDNlLCAKLTB4YjQsIDB4MDcsIDB4ZjMsIDB4NzgsIDB4MDgsIDB4NzUsIDB4M2UsIDB4MDAsIDB4ODAsIDB4ZWYsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MTAsIDB4ZjgsIDB4ODYsIAotMHg4MSwgMHhlNSwgMHgzZSwgMHg3NSwgMHhmMCwgMHgyMSwgMHhhNCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmOCwgMHhmNSwgMHg4MywgCi0weDc4LCAweDhjLCAweGU1LCAweDgxLCAweDA0LCAweGMzLCAweDk4LCAweGY5LCAweGUwLCAweGY2LCAweDA4LCAweGEzLCAweGQ5LCAweGZhLCAweGQwLCAweDA3LCAKLTB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDUsIDB4ZDAsIDB4MDQsIDB4ZDAsIDB4MDMsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ODMsIAotMHhkMCwgMHg4MiwgMHhkMCwgMHhmMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHhlMCwgMHgzMiwgMHgzMCwgMHgwMSwgMHg0ZCwgMHgzMCwgMHhiNCwgMHg0OCwgMHgxMCwgCi0weDAwLCAweDQ1LCAweDkwLCAweGZmLCAweDA4LCAweGUwLCAweDU0LCAweDIwLCAweGY4LCAweDkwLCAweGZmLCAweDQ4LCAweGUwLCAweDU0LCAweDIwLCAweGY5LCAKLTB4OTAsIDB4ZmYsIDB4MTAsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4ZmEsIDB4OTAsIDB4ZmYsIDB4NTAsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4ZmIsIDB4NzQsIDB4MDAsIAotMHhmNSwgMHg4MiwgMHg3NCwgMHhmOCwgMHhmNSwgMHg4MywgMHhlMCwgMHhjOCwgMHhmMCwgMHg2OCwgMHg2MCwgMHgwMiwgMHg3ZSwgMHgwNCwgMHhhMywgMHhlMCwgCi0weGM5LCAweGYwLCAweDY5LCAweDYwLCAweDAyLCAweDdlLCAweDA0LCAweGEzLCAweGUwLCAweGNhLCAweGYwLCAweDZhLCAweDYwLCAweDAyLCAweDdlLCAweDA0LCAKLTB4YTMsIDB4ZTAsIDB4Y2IsIDB4ZjAsIDB4NmIsIDB4NjAsIDB4MDIsIDB4N2UsIDB4MDQsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZDAsIDB4YzAsIDB4ZjAsIAotMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMCwgMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMywgMHhjMCwgMHgwNCwgMHhjMCwgMHgwNSwgCi0weGMwLCAweDA2LCAweGMwLCAweDA3LCAweDc0LCAweDE1LCAweGY1LCAweDgyLCAweDc0LCAweGY5LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDIzLCAweDc0LAotMHg2NiwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmMCwgMHg3MCwgMHgxNiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg3NCwKLTB4MWMsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MDQsIDB4MTQsIDB4ZjAsIDB4NzAsIDB4MDQsIDB4YzIsIDB4OTAsCi0weDgwLCAweGZjLCAweDkwLCAweGZmLCAweDkzLCAweDc0LCAweDgxLCAweGYwLCAweGU1LCAweDgxLCAweDk0LCAweGZkLCAweDQwLCAweDAzLCAweDAyLCAweDExLAotMHhkYywgMHg4NSwgMHg0MSwgMHg4ZCwgMHg4NSwgMHg0MiwgMHg4YiwgMHg3NCwgMHhiMiwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmYSwgMHhmNSwgMHg4MywgMHhlMCwKLTB4YjQsIDB4MDEsIDB4MWIsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4OTAsIDB4ZmYsIDB4NGEsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MmMsIDB4OTAsIDB4ZmYsCi0weDRlLCAweGUwLCAweDMwLCAweGU3LCAweDI1LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweDIwLCAweGI0LCAweDAyLAotMHgxZCwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHg5MCwgMHhmZiwgMHg3YSwgMHhlMCwgMHgzMCwgMHhlNywgMHgwNSwgMHgxMiwgMHgyOCwgMHg0ZSwgMHg4MCwKLTB4MDksIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ODAsIDB4MDQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4YTMsIDB4ZTAsCi0weGI0LCAweDAxLCAweDFiLCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweDkwLCAweGZmLCAweDUyLCAweGUwLCAweDMwLCAweGU3LCAweDJjLCAweDkwLCAweGZmLAotMHg1NiwgMHhlMCwgMHgzMCwgMHhlNywgMHgyNSwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgyNSwgMHhiNCwgMHgwMiwKLTB4MjIsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4OTAsIDB4ZmYsIDB4N2EsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MDUsIDB4MTIsIDB4MjgsIDB4NGUsIDB4ODAsCi0weDA5LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDc0LCAweDAzLCAweGYwLCAweDgwLCAweDA5LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDgwLCAweDAzLAotMHgwMiwgMHgwMiwgMHg5MCwgMHg3NCwgMHgxNiwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMCwgMHgwNCwgMHhmMSwgMHgyMCwKLTB4MDIsIDB4MDMsIDB4MzAsIDB4MDEsIDB4ZWIsIDB4NzQsIDB4MTksIDB4ZjUsIDB4ODIsIDB4NzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmMsCi0weGYwLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlLCAweDY0LCAweDA0LCAweDcwLCAweDBmLCAweGVjLCAweDcwLCAweDYyLCAweDdlLCAweDAxLAotMHgxMiwgMHgwMCwgMHhjOSwgMHg3YywgMHgwYSwgMHg3ZCwgMHhmYSwgMHgwMiwgMHgwMiwgMHg2MSwgMHgxMiwgMHgwMCwgMHhjOSwgMHhlZSwgMHg2NCwgMHgwNCwKLTB4NjAsIDB4MWQsIDB4ZWMsIDB4NzAsIDB4NGIsIDB4N2MsIDB4MGEsIDB4ZWQsIDB4MTQsIDB4ZmQsIDB4NzAsIDB4MTUsIDB4ZWUsIDB4NjQsIDB4MDIsIDB4NjAsCi0weDA3LCAweDdlLCAweDAyLCAweDdkLCAweDMyLCAweDAyLCAweDAyLCAweDYxLCAweDdlLCAweDAxLCAweDdkLCAweGZhLCAweDAyLCAweDAyLCAweDYxLCAweDdjLAotMHgwYSwgMHg3NCwgMHgxOSwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHhhMywgMHhlZCwgMHhmMCwgMHhhMywgMHhlZSwKLTB4ZjAsIDB4MTQsIDB4NjAsIDB4MTgsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4MjAsIDB4MDEsIDB4MDYsIDB4ZDIsIDB4YjEsIDB4YzIsIDB4YjAsIDB4ODAsIDB4MTAsCi0weGMyLCAweGIxLCAweGQyLCAweGIwLCAweDgwLCAweDBhLCAweGMyLCAweGIxLCAweGMyLCAweGIwLCAweDgwLCAweDA0LCAweGQyLCAweGIwLCAweGQyLCAweGIxLAotMHg3OCwgMHgxOSwgMHg3OSwgMHgwOSwgMHg3YSwgMHgwNywgMHhlNywgMHg3MCwgMHgwNCwgMHhhNiwgMHgwMCwgMHg4MCwgMHgwYiwgMHhlNiwgMHg2MCwgMHgwOCwKLTB4MTYsIDB4ZTYsIDB4NzAsIDB4MDQsIDB4ZTcsIDB4NDQsIDB4ODAsIDB4ZjcsIDB4MDgsIDB4MDksIDB4ZGEsIDB4ZWEsIDB4ZTUsIDB4M2QsIDB4NjAsIDB4MTMsCi0weDE0LCAweGY1LCAweDNkLCAweDcwLCAweDBlLCAweGU1LCAweDNlLCAweDI0LCAweDA4LCAweGY4LCAweDc2LCAweDAwLCAweDEyLCAweDExLCAweDU3LCAweGQyLAotMHg4YywgMHhkMiwgMHg4ZCwgMHhkMCwgMHgwNywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwNSwgMHhkMCwgMHgwNCwgMHhkMCwgMHgwMywgMHhkMCwgMHgwMiwgMHhkMCwKLTB4MDEsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4ZmYsCi0weDA0LCAweGUwLCAweDkwLCAweGZhLCAweGI5LCAweGYwLCAweDkwLCAweGZmLCAweDA2LCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZhLCAweGVjLCAweGZmLAotMHhlYSwgMHhmZSwgMHhlZiwgMHhjMywgMHg5NCwgMHgwOCwgMHhlZSwgMHg5NCwgMHgwMSwgMHg1MCwgMHgwMiwgMHg4MCwgMHgwNCwgMHg3ZSwgMHgwMSwgMHg3ZiwKLTB4MDgsIDB4OGUsIDB4M2IsIDB4OGYsIDB4M2MsIDB4OTAsIDB4ZmYsIDB4MDIsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4ZWMsIDB4ZmYsIDB4ZWEsCi0weDkwLCAweGZhLCAweGJkLCAweGYwLCAweGVmLCAweGEzLCAweGYwLCAweDEyLCAweDFjLCAweGUwLCAweGU0LCAweGY1LCAweDRkLCAweGU1LCAweDRkLCAweGMzLAotMHg5NCwgMHgwMiwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxYywgMHhjMSwgMHhlNCwgMHgxMiwgMHgxYSwgMHhlOCwgMHgwNSwgMHg0ZCwgMHgwNCwgMHgxMiwgMHgxYywKLTB4YjIsIDB4ODAsIDB4ZWEsIDB4MTIsIDB4MWMsIDB4ZTAsIDB4OTAsIDB4ZmYsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4NjAsIDB4MjQsIDB4YzAsIDB4NzAsCi0weDAzLCAweDAyLCAweDA4LCAweGYzLCAweDI0LCAweDQwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGZlLAotMHg1NCwgMHgwZiwgMHhmNSwgMHg0ZCwgMHhlZSwgMHgzMCwgMHhlNywgMHgwMywgMHhkMywgMHg4MCwgMHgwMSwgMHhjMywgMHg5MiwgMHgwYSwgMHg5MCwgMHhmZiwKLTB4MDEsIDB4ZTAsIDB4MTIsIDB4MWIsIDB4ZmMsIDB4MDMsIDB4ODQsIDB4MDAsIDB4MDQsIDB4NTcsIDB4MDEsIDB4MDUsIDB4NmEsIDB4MDMsIDB4MDYsIDB4MzEsCi0weDA1LCAweDA2LCAweDczLCAweDA2LCAweDA3LCAweGQ1LCAweDA4LCAweDA4LCAweDFkLCAweDA5LCAweDA4LCAweDc5LCAweDBhLCAweDA4LCAweGI5LCAweDBiLAotMHgwMCwgMHgwMCwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwKLTB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NjQsIDB4MDIsIDB4NDUsIDB4M2IsIDB4NjAsCi0weDAzLCAweDAyLCAweDBmLCAweDZlLCAweGVmLCAweDU0LCAweDFmLCAweDE0LCAweDYwLCAweDJiLCAweDE0LCAweDYwLCAweDQ3LCAweDI0LCAweDAyLCAweDYwLAotMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlZSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxYywgMHhjMSwgMHg3NCwgMHgwMSwgMHgxMiwKLTB4MWEsIDB4ZTgsIDB4NzgsIDB4NjcsIDB4ZTYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4MTIsIDB4MWMsIDB4YzEsIDB4NzQsIDB4MDIsIDB4MTIsIDB4MWEsIDB4ZTgsCi0weDdmLCAweDAyLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUxLCAweDA5LCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDYwLCAweDAzLAotMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhkMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg3ZiwKLTB4MDIsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MGUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZmYsIDB4NjAsIDB4MDcsCi0weDY0LCAweDgwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDBmLCAweGZhLCAweDQwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LAotMHg0ZCwgMHg3MCwgMHgxOSwgMHgzMCwgMHgwYSwgMHgwYiwgMHg5MCwgMHhmZiwgMHg4MCwgMHgxMiwgMHgxYywgMHhiZSwgMHgxMiwgMHgxYSwgMHhlOCwgMHg4MCwKLTB4MjQsIDB4OTAsIDB4ZmYsIDB4ODIsIDB4MTIsIDB4MWMsIDB4YmUsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4ODAsIDB4MTksIDB4MTUsIDB4NGQsIDB4MzAsIDB4MGEsCi0weDBiLCAweDEyLCAweDFkLCAweDU1LCAweDEyLCAweDFjLCAweGJjLCAweDEyLCAweDFhLCAweGU4LCAweDgwLCAweDA5LCAweDEyLCAweDFkLCAweDYzLCAweDEyLAotMHgxYywgMHhiYywgMHgxMiwgMHgxYSwgMHhlOCwgMHgxMiwgMHgxYywgMHhjMSwgMHgxMiwgMHgxYSwgMHhhMiwgMHg2MCwgMHgwNSwgMHg3NCwgMHgwMSwgMHgxMiwKLTB4MWEsIDB4ZTgsIDB4N2YsIDB4MDIsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsCi0weDNjLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLCAweDc5LCAweDE0LCAweDYwLCAweDJkLCAweDE0LCAweDYwLAotMHg1OSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg3MCwgMHgwNCwgMHhhMywgMHhlMCwKLTB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsCi0weDc4LCAweDY3LCAweGU2LCAweDU0LCAweGZlLCAweGY2LCAweGU0LCAweGZmLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUxLCAweDA2LAotMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMCwgMHgwOSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHg2MCwKLTB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTEsIDB4MGMsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZDMsIDB4OTQsIDB4MDEsCi0weDQwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU0LCAweGZmLCAweDAyLCAweDMyLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLCAweDAyLAotMHhhMywgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgwZiwgMHhmYSwgMHg0MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwKLTB4MzUsIDB4MjAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4ZTUsCi0weDRkLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDRkLCAweDcwLCAweDBmLCAweDkwLCAweGZmLCAweDgyLCAweGUwLCAweDU0LCAweGY3LAotMHhmMCwgMHg5MCwgMHhmZiwgMHg4MCwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHgyMiwgMHhlNSwgMHg0ZCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgyMCwgMHgyNCwKLTB4ZmIsIDB4NjAsIDB4MzQsIDB4MjQsIDB4MDYsIDB4NzAsIDB4MzUsIDB4MzAsIDB4MGEsIDB4MGMsIDB4YTIsIDB4MGEsIDB4ZTQsIDB4MzMsIDB4ZmQsIDB4N2YsCi0weDAzLCAweDEyLCAweDJlLCAweDc5LCAweDgwLCAweDI2LCAweGU0LCAweGZkLCAweDdmLCAweDAzLCAweDEyLCAweDJlLCAweDc5LCAweDgwLCAweDFkLCAweDMwLAotMHgwYSwgMHgwYywgMHhhMiwgMHgwYSwgMHhlNCwgMHgzMywgMHhmZCwgMHg3ZiwgMHgwNCwgMHgxMiwgMHgyZSwgMHg3OSwgMHg4MCwgMHgwZSwgMHhlNCwgMHhmZCwKLTB4N2YsIDB4MDQsIDB4MTIsIDB4MmUsIDB4NzksIDB4ODAsIDB4MDUsIDB4N2YsIDB4ODcsIDB4MTIsIDB4MzEsIDB4ZWYsIDB4MTUsIDB4NGQsIDB4MzAsIDB4MGEsCi0weDBiLCAweDEyLCAweDFkLCAweDU1LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDgwLCAweDA5LCAweDEyLCAweDFkLCAweDYzLCAweGY1LAotMHg4MywgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwKLTB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4MTQsIDB4NjAsCi0weDJkLCAweDE0LCAweDYwLCAweDU1LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLAotMHgwNCwgMHhhMywgMHhlMCwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHg2MCwgMHgwMywKLTB4MDIsIDB4MGYsIDB4NmUsIDB4NzgsIDB4NjcsIDB4ZTYsIDB4NDQsIDB4MDEsIDB4ZjYsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsCi0weDIwLCAweGUxLCAweDA2LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGUwLCAweDA3LCAweGU1LCAweDRkLAotMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMSwgMHgwYSwgMHhlNSwgMHg0ZCwgMHhkMywgMHg5NCwgMHgwMSwgMHg0MCwKLTB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsCi0weGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGZmLCAweDEyLCAweDMyLCAweDNmLCAweDQwLCAweDAzLAotMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHg0ZCwKLTB4NzAsIDB4MDksIDB4MzAsIDB4MGEsIDB4MDMsIDB4MDIsIDB4MWUsIDB4MTQsIDB4MDIsIDB4MWQsIDB4ZGYsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweDE1LCAweDRkLCAweDMwLCAweDBhLCAweDBiLCAweDEyLCAweDFkLCAweDU1LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA4LAotMHhmMCwgMHg4MCwgMHgwOSwgMHgxMiwgMHgxZCwgMHg2MywgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwKLTB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsCi0weDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLCAweDc5LCAweDYwLCAweDAzLAotMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg5MCwKLTB4ZmYsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MzUsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MzUsIDB4ZmUsIDB4ZTQsIDB4ZmYsCi0weDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDNjLCAweDQ1LCAweDNiLCAweDcwLAotMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwKLTB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4ZWMsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4M2EsIDB4MTQsIDB4NjAsIDB4NzUsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweGVkLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFjLCAweGUwLCAweDEyLCAweDFlLCAweDBkLCAweDdkLAotMHgwMywgMHgxMiwgMHgwZiwgMHhiNSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgwZiwgMHg3MiwgMHg5MCwgMHhmYSwgMHhiNiwgMHhlMCwKLTB4ZmQsIDB4YTMsIDB4MTIsIDB4MWQsIDB4MmIsIDB4MTIsIDB4MGYsIDB4ZDEsIDB4NTAsIDB4MDIsIDB4ODAsIDB4MDQsIDB4YWUsIDB4M2IsIDB4YWYsIDB4M2MsCi0weDAyLCAweDEwLCAweDAyLCAweDEyLCAweDFjLCAweGUwLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDMwLCAweGU0LCAweDBkLCAweDEyLCAweDFlLCAweDBkLAotMHg3ZCwgMHgxNCwgMHgxMiwgMHgwZiwgMHhiNSwgMHg2MCwgMHgxMCwgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZSwgMHgwZCwgMHg3ZCwgMHgwNCwgMHgxMiwKLTB4MTAsIDB4MDksIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MGYsIDB4NzIsIDB4OTAsIDB4ZmEsIDB4YjYsIDB4ZTAsIDB4ZmQsIDB4YTMsCi0weDEyLCAweDFkLCAweDJiLCAweDEyLCAweDBmLCAweGQxLCAweDUwLCAweDAyLCAweDgwLCAweDA0LCAweGFlLCAweDNiLCAweGFmLCAweDNjLCAweDAyLCAweDEwLAotMHgwMiwgMHgxMiwgMHgxZSwgMHgwZCwgMHg3ZCwgMHgwNSwgMHgxMiwgMHgxMCwgMHgwOSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg3YiwgMHgwMSwKLTB4N2EsIDB4ZmEsIDB4NzksIDB4YjYsIDB4MTIsIDB4MWQsIDB4MjgsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmEsIDB4YjcsIDB4ZTQsCi0weDc1LCAweGYwLCAweDAzLCAweDEyLCAweDFiLCAweDFjLCAweDkwLCAweGZhLCAweGJlLCAweGUwLCAweDkwLCAweGZhLCAweGI1LCAweGYwLCAweGU0LCAweGY1LAotMHg0YywgMHg5MCwgMHhmYSwgMHhiNSwgMHhlMCwgMHhmZiwgMHhlNSwgMHg0YywgMHhjMywgMHg5ZiwgMHg1MCwgMHgyNCwgMHgxMiwgMHgxZCwgMHgyMiwgMHgxMiwKLTB4MTAsIDB4MTQsIDB4ZmYsIDB4ZmQsIDB4OTAsIDB4ZmEsIDB4YjcsIDB4ZTQsIDB4OGQsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4MWMsIDB4OTAsIDB4ZmEsIDB4YjYsCi0weGUwLCAweGMzLCAweDlmLCAweGYwLCAweGQzLCAweDk0LCAweDAwLCAweDUwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDA1LCAweDRjLCAweDgwLCAweGQxLAotMHgxMiwgMHgxZCwgMHgyMiwgMHgxMiwgMHgxMCwgMHgxNCwgMHgyNCwgMHhmZSwgMHhmZiwgMHg5MCwgMHhmYSwgMHhiNiwgMHhmMCwgMHhmZCwgMHhhMywgMHhlNCwKLTB4NzUsIDB4ZjAsIDB4MDIsIDB4MTIsIDB4MWIsIDB4MWMsIDB4N2EsIDB4ZjksIDB4NzksIDB4NzIsIDB4N2IsIDB4MDEsIDB4OGIsIDB4MzYsIDB4OGEsIDB4MzcsCi0weDg5LCAweDM4LCAweGU5LCAweDI0LCAweDAyLCAweGY5LCAweGU0LCAweDNhLCAweGZhLCAweDEyLCAweDFkLCAweDI4LCAweDEyLCAweDI2LCAweDk4LCAweDhmLAotMHg0YywgMHgwNSwgMHg0YywgMHgwNSwgMHg0YywgMHgxMiwgMHgxYywgMHhjMSwgMHhlNSwgMHg0YywgMHgxMiwgMHgxYSwgMHhlOCwgMHgxMiwgMHgxYywgMHhjMSwKLTB4OTAsIDB4MDAsIDB4MDEsIDB4NzQsIDB4MDMsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4YWYsIDB4NGMsIDB4N2UsIDB4MDAsIDB4YzMsIDB4ZWYsIDB4OTUsIDB4M2MsCi0weGVlLCAweDk1LCAweDNiLCAweDUwLCAweDAyLCAweDgwLCAweDA0LCAweGFlLCAweDNiLCAweGFmLCAweDNjLCAweDhlLCAweDM5LCAweDhmLCAweDNhLCAweDAyLAotMHgyYywgMHhkOCwgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzYywgMHg2NCwKLTB4MDEsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLAotMHg3OSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMCwgMHgwNiwgMHgyMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwZiwKLTB4NmUsIDB4NzUsIDB4MzYsIDB4MDAsIDB4NzUsIDB4MzcsIDB4MDAsIDB4NzUsIDB4MzgsIDB4MzIsIDB4MDIsIDB4MGYsIDB4ZjEsIDB4ZTUsIDB4MzUsIDB4MzAsCi0weGU3LCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDNjLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLAotMHhiOSwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhkMywgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg5NCwgMHgwMSwgMHg5MCwgMHhmYSwKLTB4YmQsIDB4ZTAsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUwLCAweDA2LCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJlLCAweGUwLAotMHhmNSwgMHgzMiwgMHhlNSwgMHgzMiwgMHg3MCwgMHgwOCwgMHg0MywgMHgzNSwgMHgwMSwgMHg1MywgMHgzNSwgMHhmZCwgMHg4MCwgMHgwNiwgMHg1MywgMHgzNSwKLTB4ZmUsIDB4NDMsIDB4MzUsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDZlLCAweGU1LCAweDNjLCAweDY0LCAweDAxLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLAotMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwKLTB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsCi0weDAzLCAweDAyLCAweDBmLCAweDZlLCAweDdmLCAweDAxLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLAotMHg2ZSwgMHhlNSwgMHgzYywgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhkMywgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg5NCwKLTB4MDAsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4NjQsCi0weDAxLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU0LCAweGZmLAotMHgwMiwgMHgzMiwgMHg2ZSwgMHg5MCwgMHhmZiwgMHgwMSwgMHgxMiwgMHgxZSwgMHgyNCwgMHhlZiwgMHgxMiwgMHgxYSwgMHhlOCwgMHg5MCwgMHhmYSwgMHhiOSwKLTB4MTIsIDB4MWUsIDB4MjQsIDB4OTAsIDB4MDAsIDB4MDEsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4OTAsIDB4MDAsIDB4MDIsIDB4ZTQsIDB4MTIsIDB4MWEsCi0weGZhLCAweDc0LCAweDAzLCAweDEyLCAweDFjLCAweGIyLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweGZmLCAweGEzLCAweGUwLCAweDg1LCAweDM4LCAweDgyLAotMHg4NSwgMHgzNywgMHg4MywgMHhjZiwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHg5MCwgMHhmZiwgMHgwMSwgMHhlMCwgMHgxMiwgMHgxYiwgMHhmYywgMHgwOSwKLTB4N2IsIDB4MDIsIDB4MDksIDB4OWQsIDB4MDQsIDB4MDksIDB4YmYsIDB4MDUsIDB4MDksIDB4ZWIsIDB4MDYsIDB4MGEsIDB4MDksIDB4MDcsIDB4MGEsIDB4MjcsCi0weDA4LCAweDBhLCAweDQ1LCAweDA5LCAweDBhLCAweDYzLCAweDBiLCAweDBiLCAweDE4LCAweDgwLCAweDBkLCAweGI3LCAweDgxLCAweDBkLCAweGU4LCAweDgyLAotMHgwYiwgMHg1ZiwgMHg4MywgMHgwYiwgMHhhOCwgMHg4NCwgMHgwYiwgMHhjNywgMHg4NSwgMHgwYywgMHgwYywgMHg4NiwgMHgwYywgMHg1NywgMHg4NywgMHgwYywKLTB4ZTgsIDB4ODgsIDB4MGQsIDB4NzMsIDB4ODksIDB4MGEsIDB4ODEsIDB4OTIsIDB4MGEsIDB4ODEsIDB4OTMsIDB4MGQsIDB4YTAsIDB4YjAsIDB4MGUsIDB4OWIsCi0weGMwLCAweDBlLCAweGM3LCAweGMxLCAweDBlLCAweGQ4LCAweGMyLCAweDAwLCAweDAwLCAweDBmLCAweDVkLCAweGU1LCAweDM1LCAweDIwLCAweGU3LCAweDA1LAotMHg3ZiwgMHgwNSwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg3MSwgMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywKLTB4MDAsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MTEsIDB4NWUsIDB4ZTQsIDB4ZmQsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MmYsIDB4YjQsIDB4ZTUsIDB4MzUsIDB4MjAsCi0weGU3LCAweDA1LCAweDdmLCAweDA1LCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDA5LCAweGVmLAotMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwYywgMHgwMiwgMHgxMSwgMHg1ZSwgMHhlNCwgMHhmZCwgMHg3ZiwgMHgwNywgMHgwMiwgMHgyZiwgMHhiNCwgMHhlNSwKLTB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NzEsIDB4MTIsIDB4MWUsIDB4NDIsIDB4NTAsIDB4MDYsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsCi0weDcwLCAweDA1LCAweDdmLCAweDAyLCAweDAyLCAweDMxLCAweGE5LCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDI0LCAweGZlLCAweDI0LCAweGZkLCAweDUwLAotMHgwMiwgMHg4MCwgMHgwMywgMHgwMiwgMHgzMiwgMHgyYywgMHg3ZiwgMHgwNywgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywKLTB4MDIsIDB4MGYsIDB4NzEsIDB4MTIsIDB4MWQsIDB4NzEsIDB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsCi0weDA4LCAweDAyLCAweDExLCAweDVlLCAweDdmLCAweDA3LCAweDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLAotMHg3MSwgMHgxMiwgMHgxZCwgMHg3MSwgMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwOSwgMHgwMiwKLTB4MTEsIDB4NWUsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MzEsIDB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NzEsIDB4MTIsCi0weDFkLCAweDcxLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDA5LCAweGVmLCAweGZkLCAweDdjLCAweDAwLCAweDdmLCAweDBhLCAweDAyLCAweDExLCAweDVlLAotMHg3ZiwgMHgwNywgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg3MSwgMHgxMiwgMHgxZCwgMHg3MSwKLTB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsIDB4MGIsIDB4MDIsIDB4MTEsIDB4NWUsIDB4N2YsIDB4MDcsCi0weDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDcxLCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDAzLAotMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwZSwgMHgwMiwgMHgxMSwgMHg1ZSwgMHg3ZiwgMHgwNywgMHgwMiwgMHgzMSwKLTB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4NTYsIDB4MTIsIDB4MWQsIDB4NzksIDB4NzAsIDB4NGEsIDB4OTAsIDB4ZmYsIDB4MDIsIDB4ZTAsIDB4ZjUsCi0weDRjLCAweGU1LCAweDRjLCAweGI0LCAweDgyLCAweDA1LCAweDc1LCAweDRjLCAweDYxLCAweDgwLCAweDEyLCAweGU1LCAweDRjLCAweGI0LCAweDgzLCAweDA1LAotMHg3NSwgMHg0YywgMHg2MiwgMHg4MCwgMHgwOCwgMHhlNSwgMHg0YywgMHhjNCwgMHg1NCwgMHhmMCwgMHgwNCwgMHhmNSwgMHg0YywgMHgxMiwgMHgxYywgMHgyMiwKLTB4MTIsIDB4MWUsIDB4M2IsIDB4MTIsIDB4MjUsIDB4ZmEsIDB4MTIsIDB4MWQsIDB4ODksIDB4MTIsIDB4MWEsIDB4YmIsIDB4NjAsIDB4MDUsIDB4MTIsIDB4MzIsCi0weDdhLCAweDgwLCAweDA2LCAweDg1LCAweDMzLCAweDM5LCAweDg1LCAweDM0LCAweDNhLCAweDc1LCAweDM2LCAweDAxLCAweDc1LCAweDM3LCAweGY5LCAweDc1LAotMHgzOCwgMHg3NSwgMHgwMiwgMHgyYywgMHhkOCwgMHhlNCwgMHhmZCwgMHg3ZiwgMHgwNSwgMHgwMiwgMHgyZiwgMHhiNCwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2MCwKLTB4MDUsIDB4N2YsIDB4MDUsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWUsIDB4NDIsIDB4NDAsIDB4MDUsIDB4N2YsIDB4MDMsIDB4MDIsIDB4MzEsIDB4YTksCi0weDkwLCAweGZmLCAweDAyLCAweGUwLCAweGY1LCAweDRjLCAweGU1LCAweDRjLCAweGI0LCAweDgyLCAweDA1LCAweDc1LCAweDRjLCAweDYxLCAweDgwLCAweDEyLAotMHhlNSwgMHg0YywgMHhiNCwgMHg4MywgMHgwNSwgMHg3NSwgMHg0YywgMHg2MiwgMHg4MCwgMHgwOCwgMHhlNSwgMHg0YywgMHhjNCwgMHg1NCwgMHhmMCwgMHgwNCwKLTB4ZjUsIDB4NGMsIDB4MTIsIDB4MWMsIDB4MjIsIDB4MDIsIDB4MzIsIDB4MmMsIDB4MTIsIDB4MWUsIDB4NGMsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsIDB4MWQsCi0weDMzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDAwLCAweDAwLCAweDAwLCAweGUwLCAweDkwLCAweGZhLCAweGJhLCAweGYwLCAweDc4LCAweDY4LCAweDEyLAotMHgxYiwgMHhkOCwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHgxYSwgMHhiYiwgMHgzMCwgMHhlNywgMHhmMiwgMHg5MCwgMHgwMCwgMHgwMiwgMHhlNCwgMHgxMiwKLTB4MWEsIDB4ZmEsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZmYsIDB4ZjAsIDB4NzgsIDB4N2MsIDB4ZTYsIDB4ZmMsIDB4MDgsIDB4ZTYsCi0weDhjLCAweDgzLCAweDEyLCAweDFkLCAweDNiLCAweGVmLCAweGYwLCAweDEyLCAweDMyLCAweDg0LCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDkwLAotMHhmYSwgMHhiOSwgMHhlMCwgMHg2NCwgMHgwMSwgMHg3MCwgMHgxZiwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHhmZiwgMHg3ZSwgMHgwMCwgMHg3MCwgMHgwNiwKLTB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTAsIDB4ODAsIDB4MmQsIDB4YzIsIDB4YWYsIDB4ZWYsIDB4ZjQsIDB4NTIsIDB4OTAsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsCi0weDQyLCAweDkwLCAweGQyLCAweGFmLCAweDgwLCAweDFkLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweGZmLCAweDdlLCAweDAwLCAweDcwLCAweDA2LCAweGEzLAotMHhlMCwgMHhmNSwgMHhiMCwgMHg4MCwgMHgwZSwgMHhjMiwgMHhhZiwgMHhlZiwgMHhmNCwgMHg1MiwgMHhiMCwgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg0MiwKLTB4YjAsIDB4ZDIsIDB4YWYsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWMsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4YjQsCi0weDAxLCAweDBhLCAweDEyLCAweDFjLCAweGMxLCAweGU1LCAweDkwLCAweDEyLCAweDFhLCAweGU4LCAweDgwLCAweDA4LCAweDEyLCAweDFjLCAweGMxLCAweGU1LAotMHhiMCwgMHgxMiwgMHgxYSwgMHhlOCwgMHgwMiwgMHgwZiwgMHhmMSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhmZiwgMHgyNCwgMHgxMywgMHgxMiwgMHgxYywKLTB4ZjEsIDB4MjAsIDB4ZTEsIDB4MzMsIDB4MTIsIDB4MWQsIDB4ODAsIDB4ZWYsIDB4MjQsIDB4ZmMsIDB4NjAsIDB4MTgsIDB4MDQsIDB4NzAsIDB4MjgsIDB4OTAsCi0weGZhLCAweGJhLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDgwLCAweDE5LCAweDEyLCAweDFlLAotMHg1NiwgMHhmMCwgMHg4MCwgMHgxMywgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgxMCwKLTB4ZjAsIDB4ODAsIDB4MDQsIDB4MTIsIDB4MWUsIDB4NWQsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsCi0weGZmLCAweDI0LCAweDEzLCAweDEyLCAweDFjLCAweGYxLCAweDIwLCAweGUxLCAweDM5LCAweDEyLCAweDFkLCAweDgwLCAweGVmLCAweDI0LCAweGZjLCAweDYwLAotMHgxYiwgMHgwNCwgMHg3MCwgMHgyZSwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg0NCwgMHgyMCwKLTB4ZjAsIDB4ODAsIDB4MWYsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4ODAsIDB4MTYsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsCi0weDYwLCAweDA5LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDU0LAotMHhkZiwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg4MCwgMHgxMiwgMHgxZCwgMHg3MSwgMHg2MCwgMHg0ZCwgMHgwNCwKLTB4NjAsIDB4MDMsIDB4MDIsIDB4MGMsIDB4ZTMsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4MTIsIDB4MWMsCi0weGVhLCAweDMwLCAweGUxLCAweDZmLCAweDEyLCAweDFlLCAweDJjLCAweDAyLCAweDBjLCAweGUzLCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDU0LCAweGZiLAotMHgxMiwgMHgxYywgMHhlZCwgMHhmZSwgMHgzMCwgMHhlMSwgMHg1YywgMHgzMCwgMHhlMiwgMHgxMSwgMHgzMCwgMHhiNCwgMHgwNSwgMHgxMiwgMHgxZSwgMHgyYywKLTB4ODAsIDB4NTEsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ODAsIDB4NDgsIDB4MzAsIDB4OTUsIDB4MDUsIDB4MTIsIDB4MWUsCi0weDJjLCAweDgwLCAweDQwLCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDgwLCAweDM3LCAweDkwLCAweGZhLCAweGJhLCAweGUwLAotMHg2MCwgMHgxMiwgMHg5MCwgMHhmZiwgMHhiNCwgMHgxMiwgMHgxYywgMHhlYSwgMHgzMCwgMHhlMSwgMHgyOCwgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg0NCwKLTB4MDIsIDB4ZjAsIDB4ODAsIDB4MWYsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4MTIsIDB4MWMsIDB4ZWQsIDB4MzAsIDB4ZTEsIDB4MTMsCi0weDMwLCAweDkzLCAweDA5LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweGI0LCAweGUwLAotMHg1NCwgMHhmZCwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg4MCwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHgyNCwKLTB4ZmMsIDB4NjAsIDB4NDAsIDB4MDQsIDB4NzAsIDB4NzgsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NjAsIDB4MWQsIDB4OTAsIDB4ZmYsIDB4YTIsIDB4ZTAsCi0weDQ0LCAweDQwLCAweGYwLCAweGEzLCAweGUwLCAweGZmLCAweDMwLCAweGU3LCAweDY1LCAweGQyLCAweDAzLCAweGEzLCAweGUwLCAweDU0LCAweGRmLCAweGYwLAotMHg5MCwgMHhmZiwgMHhhMywgMHhlZiwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHg1NSwgMHgzMCwgMHgwMywgMHgwZSwgMHg5MCwgMHhmZiwgMHhhMywgMHhlMCwKLTB4NDQsIDB4ODAsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YTIsIDB4ZTAsIDB4NTQsIDB4YmYsCi0weGYwLCAweDgwLCAweDNiLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDYwLCAweDFkLCAweDkwLCAweGZmLCAweGIyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLAotMHhhMywgMHhlMCwgMHhmZiwgMHgzMCwgMHhlNywgMHgyOCwgMHhkMiwgMHgwNCwgMHhhMywgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwgMHg5MCwgMHhmZiwgMHhiMywKLTB4ZWYsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ODAsIDB4MTgsIDB4MzAsIDB4MDQsIDB4MGUsIDB4OTAsIDB4ZmYsIDB4YjMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsCi0weGMyLCAweDA0LCAweGEzLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDkwLCAweGZmLCAweGIyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweGU0LCAweGZmLAotMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxYywgMHhlMCwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHgyNCwgMHhmYywgMHg2MCwgMHgwZiwgMHgwNCwgMHg3MCwKLTB4MTYsIDB4OTAsIDB4ZmYsIDB4YTYsIDB4ZTAsIDB4MTIsIDB4MWMsIDB4YzEsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4ODAsIDB4MGEsIDB4OTAsIDB4ZmYsIDB4YjYsCi0weGUwLCAweDEyLCAweDFjLCAweGMxLCAweDEyLCAweDFhLCAweGU4LCAweDc1LCAweDM5LCAweDAwLCAweDc1LCAweDNhLCAweDAxLCAweDAyLCAweDJjLCAweGQ4LAotMHg5MCwgMHhmOSwgMHgxNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHhmOSwgMHgxYywgMHg3NCwgMHgxOSwgMHhmMCwgMHg5MCwgMHhmOSwgMHg2NiwgMHg3NCwKLTB4ZmYsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWQsIDB4ZTcsIDB4N2YsCi0weDAzLCAweDEyLCAweDEyLCAweDYxLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDMwLCAweGU0LCAweDA4LCAweDkwLCAweGZmLCAweDkzLCAweDc0LCAweDgwLAotMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHhmZiwgMHhmYywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg3ZiwgMHhmZiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgzMCwKLTB4ZDMsIDB4YzIsIDB4OTAsIDB4YzIsIDB4YWYsIDB4MDAsIDB4ODAsIDB4ZmQsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4ZjUsIDB4NGYsIDB4OTAsIDB4ZmEsIDB4YmYsCi0weDc0LCAweDNlLCAweGYwLCAweGEzLCAweGU0LCAweGYwLCAweDkwLCAweGZhLCAweGI3LCAweGYwLCAweGEzLCAweDc0LCAweDE1LCAweGYwLCAweGUwLCAweDU0LAotMHgzZiwgMHhmZiwgMHhjMywgMHg3NCwgMHg0MCwgMHg5ZiwgMHg5MCwgMHhmYSwgMHhiYywgMHhmMCwgMHhkMywgMHg5NCwgMHgwMCwgMHhlNCwgMHg5NCwgMHgzZSwKLTB4NDAsIDB4MDgsIDB4OTAsIDB4ZmEsIDB4YzAsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmMsIDB4ZjAsIDB4MTIsIDB4MGYsIDB4OTgsIDB4ZTUsIDB4MzEsIDB4NDUsCi0weDMwLCAweDcwLCAweDczLCAweDEyLCAweDFjLCAweGZhLCAweDkwLCAweGZhLCAweGJmLCAweDEyLCAweDFlLCAweDA2LCAweDYwLCAweDI3LCAweGQzLCAweGVmLAotMHg5NCwgMHg0MCwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwOCwgMHg5MCwgMHhmYSwgMHhiYywgMHg3NCwgMHg0MCwgMHhmMCwgMHg4MCwgMHgwOCwgMHg5MCwKLTB4ZmEsIDB4YzAsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmMsIDB4ZjAsIDB4MTIsIDB4MGYsIDB4OTgsIDB4ZTUsIDB4MzEsIDB4NDUsIDB4MzAsIDB4NzAsIDB4NDYsCi0weDEyLCAweDFjLCAweGZhLCAweDgwLCAweGQxLCAweDc1LCAweDRjLCAweDAyLCAweDkwLCAweGZhLCAweGJmLCAweGU0LCAweGYwLCAweGEzLCAweDA0LCAweGYwLAotMHg5MCwgMHhmYSwgMHhiNywgMHhlNCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwZiwgMHhmMCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHg0YywgMHg5MCwKLTB4ZmEsIDB4YzAsIDB4ZTAsIDB4ZjUsIDB4NGEsIDB4N2QsIDB4MGYsIDB4N2MsIDB4MDAsIDB4MTIsIDB4MjksIDB4NjAsIDB4NzUsIDB4MzAsIDB4MDAsIDB4OGYsCi0weDMxLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDRjLCAweGU0LCAweGY1LCAweDJkLCAweGY1LCAweDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LAotMHg5OCwgMHhlNCwgMHhmNSwgMHgzMCwgMHhmNSwgMHgzMSwgMHhhZiwgMHgzMSwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg4MCwgMHgzMCwgMHhlNywKLTB4MTAsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4OTAsIDB4ZjksIDB4NjcsIDB4ZjAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MTUsIDB4YzIsIDB4OTUsIDB4ODAsCi0weDExLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDU0LCAweDBmLCAweDkwLCAweGY5LCAweDY1LCAweGYwLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDAyLAotMHhjMiwgMHg5NCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZSwgMHg0YywgMHhiZiwgMHgwMSwgMHgwNCwgMHhkMiwgMHg5MywgMHg4MCwKLTB4MDIsIDB4YzIsIDB4OTMsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWQsIDB4ODAsIDB4NTQsIDB4MDMsIDB4MTQsIDB4NjAsIDB4MGEsCi0weDE0LCAweDYwLCAweDBmLCAweDE0LCAweDYwLCAweDA4LCAweDI0LCAweDAzLCAweDcwLCAweDJiLCAweGQyLCAweDkxLCAweDgwLCAweDI3LCAweGMyLCAweDkxLAotMHg4MCwgMHgyMywgMHgxMiwgMHgxZSwgMHg1NiwgMHgxMiwgMHgwZiwgMHhjMCwgMHg2MCwgMHgwNCwgMHhkMiwgMHg5MSwgMHg4MCwgMHgxNywgMHg5MCwgMHhmZiwKLTB4YTQsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4MTIsIDB4MGYsIDB4YzAsIDB4ZmYsIDB4YmYsIDB4YTAsIDB4MDQsIDB4YzIsIDB4OTEsIDB4ODAsIDB4MDIsIDB4ZDIsCi0weDkxLCAweDEyLCAweDFlLCAweDU2LCAweGYwLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDU0LCAweDBjLCAweGZmLCAweDEzLCAweDEzLCAweDU0LCAweDNmLAotMHgxNCwgMHg2MCwgMHgwYSwgMHgxNCwgMHg2MCwgMHgwZiwgMHgxNCwgMHg2MCwgMHgwOCwgMHgyNCwgMHgwMywgMHg3MCwgMHgyYiwgMHhkMiwgMHg5MiwgMHg4MCwKLTB4MjcsIDB4YzIsIDB4OTIsIDB4ODAsIDB4MjMsIDB4MTIsIDB4MWUsIDB4NWQsIDB4MTIsIDB4MGYsIDB4ZTAsIDB4NjAsIDB4MDQsIDB4ZDIsIDB4OTIsIDB4ODAsCi0weDE3LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LCAweDEwLCAweDEyLCAweDBmLCAweGUwLCAweGZmLCAweGJmLCAweGEwLCAweDA0LCAweGMyLCAweDkyLAotMHg4MCwgMHgwMiwgMHhkMiwgMHg5MiwgMHgxMiwgMHgxZSwgMHg1ZCwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwKLTB4ZTcsIDB4MDcsIDB4ZTQsIDB4ZmQsIDB4N2YsIDB4MDUsIDB4MDIsIDB4MmYsIDB4YjQsIDB4N2YsIDB4MDUsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MzIsCi0weDdhLCAweDIyLCAweDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGI2LCAweDkwLCAweGZhLCAweGI3LCAweGUwLCAweGY1LCAweDJkLCAweGEzLCAweGUwLAotMHhmNSwgMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhiNywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMywgMHgxMiwgMHgxYiwKLTB4MWMsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzcsIDB4YTksIDB4MzgsIDB4MjIsIDB4YWEsIDB4NGUsIDB4YTksIDB4NGYsIDB4N2IsIDB4ZmYsIDB4OTAsIDB4ZmEsCi0weGI3LCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweDkwLCAweGZhLCAweGJjLCAweGUwLCAweGY1LCAweDRhLCAweDEyLCAweDI5LCAweDYwLCAweDc1LAotMHgzMCwgMHgwMCwgMHg4ZiwgMHgzMSwgMHgyMiwgMHgxMiwgMHgyMywgMHg2MSwgMHg3ZSwgMHgwMCwgMHg4ZSwgMHgzMCwgMHg4ZiwgMHgzMSwgMHhlZiwgMHgyMiwKLTB4ZjAsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4NjEsIDB4OTAsIDB4ZmYsIDB4YTYsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmIsIDB4ZjAsIDB4NTQsIDB4YTAsCi0weDIyLCAweDEyLCAweDI2LCAweDk4LCAweDhmLCAweDRjLCAweDdlLCAweDAwLCAweGMzLCAweGVmLCAweDk1LCAweDNjLCAweGVlLCAweDk1LCAweDNiLCAweDIyLAotMHhmMCwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg2MSwgMHg5MCwgMHhmZiwgMHhiNiwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYiwgMHhmMCwgMHg1NCwgMHhhMCwKLTB4MjIsIDB4NzUsIDB4MzksIDB4MDAsIDB4NzUsIDB4M2EsIDB4MDEsIDB4MDIsIDB4MmMsIDB4ZDgsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZmYsIDB4MDIsCi0weDMyLCAweDNmLCAweDhlLCAweDM5LCAweDhmLCAweDNhLCAweDAyLCAweDJjLCAweGQ4LCAweDEyLCAweDIzLCAweDYxLCAweDdlLCAweDAwLCAweDhlLCAweDMwLAotMHg4ZiwgMHgzMSwgMHhlZiwgMHgyMiwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhiNCwgMHhlMCwgMHgyMiwgMHhlZiwgMHg5MCwKLTB4ZjgsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4ZWUsIDB4NjAsIDB4MGEsIDB4YzAsIDB4MDUsIDB4N2QsIDB4N2YsIDB4ZGQsCi0weGZlLCAweGRlLCAweGZhLCAweGQwLCAweDA1LCAweGVmLCAweGMzLCAweDk0LCAweDE1LCAweDUwLCAweDAzLCAweGQwLCAweGE4LCAweDIyLCAweDEzLCAweDcwLAotMHgwMywgMHhkMCwgMHhhOCwgMHgyMiwgMHhmZiwgMHhkNSwgMHgwNywgMHhmZCwgMHhkMCwgMHhhOCwgMHgyMiwgMHhjMCwgMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwKLTB4MDIsIDB4YzAsIDB4MDQsIDB4YzAsIDB4MDUsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MDgsIDB4ZjgsIDB4ODYsIDB4MDUsIDB4NTMsIDB4MDUsIDB4N2YsIDB4N2MsCi0weGZmLCAweDEyLCAweDEwLCAweGMwLCAweDdmLCAweDAwLCAweDdlLCAweDAwLCAweGU1LCAweDQzLCAweDYwLCAweDQ2LCAweGZjLCAweDkwLCAweGY5LCAweDFkLAotMHhlMCwgMHg1NCwgMHg3ZiwgMHg2ZCwgMHg3MCwgMHgwZiwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwKLTB4YTMsIDB4MTUsIDB4NDMsIDB4ODAsIDB4MDcsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZGMsIDB4ZTYsIDB4ODAsIDB4MjYsIDB4ZGMsIDB4MDYsIDB4ZDAsIDB4ODIsCi0weGQwLCAweDgzLCAweDgwLCAweDFlLCAweGUwLCAweGY4LCAweGEzLCAweGUwLCAweGY5LCAweGEzLCAweGUwLCAweGZhLCAweGQwLCAweDgyLCAweGQwLCAweDgzLAotMHhlOCwgMHhmMCwgMHhhMywgMHhlOSwgMHhmMCwgMHhhMywgMHhlYSwgMHhmMCwgMHhhMywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhhMywgMHhhMywgMHhhMywKLTB4ODAsIDB4ZGEsIDB4MTIsIDB4MTEsIDB4NTcsIDB4ZDAsIDB4MDUsIDB4ZDAsIDB4MDQsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4MjIsCi0weDg1LCAweGE4LCAweDQ0LCAweDc1LCAweGE4LCAweDg4LCAweGVjLCAweDcwLCAweDAyLCAweDdjLCAweDNmLCAweDhjLCAweDNkLCAweDIyLCAweGU1LCAweDNlLAotMHgyNCwgMHgwOCwgMHhmOCwgMHg3NiwgMHgwMCwgMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhmYiwgMHhjMCwgMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwKLTB4YzAsIDB4MDQsIDB4YzAsIDB4MDYsIDB4N2MsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4YzAsIDB4ZTUsIDB4NDMsIDB4NjAsIDB4NDIsIDB4ZmUsIDB4OTAsIDB4ZjksCi0weDFkLCAweGUwLCAweDU0LCAweDdmLCAweDZmLCAweDcwLCAweDBiLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGEzLCAweGEzLCAweDE1LCAweDQzLAotMHg4MCwgMHgwNywgMHhhMywgMHhhMywgMHhhMywgMHhkZSwgMHhlYSwgMHg4MCwgMHgyNiwgMHhkZSwgMHgwNiwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHg4MCwKLTB4ZDgsIDB4ZTAsIDB4ZjgsIDB4YTMsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZTgsIDB4ZjAsIDB4YTMsCi0weGU5LCAweGYwLCAweGEzLCAweGVhLCAweGYwLCAweGEzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRhLCAweDc4LAotMHgwOCwgMHgwOCwgMHg3OSwgMHgxOCwgMHgwOSwgMHg3YywgMHgwMSwgMHhlNiwgMHg1NCwgMHg3ZiwgMHg2ZiwgMHg3MCwgMHgwNiwgMHg3NiwgMHgwMCwgMHg3NywKLTB4MDAsIDB4ODAsIDB4MDYsIDB4MDgsIDB4MDksIDB4MGMsIDB4YmMsIDB4MDgsIDB4ZWUsIDB4MTIsIDB4MTEsIDB4NTcsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDQsCi0weGQwLCAweDAyLCAweGQwLCAweDAxLCAweGQwLCAweDAwLCAweDIyLCAweDc1LCAweDNkLCAweDAwLCAweDg1LCAweDQ0LCAweGE4LCAweDIyLCAweGMwLCAweGYwLAotMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMywgMHhlNSwgMHg0MywgMHgyNCwgMHhlOCwgMHg1MCwgMHgwNSwgMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhmNCwKLTB4ZWYsIDB4NjAsIDB4MzEsIDB4OTAsIDB4MzEsIDB4MTEsIDB4ZTQsIDB4OTMsIDB4YzMsIDB4OWYsIDB4NDAsIDB4MmYsIDB4YzAsIDB4MDQsIDB4N2MsIDB4ZmYsCi0weDEyLCAweDEwLCAweGMwLCAweGQwLCAweDA0LCAweDQzLCAweDA3LCAweDgwLCAweGU1LCAweDQzLCAweDc1LCAweGYwLCAweDAzLCAweGE0LCAweDI0LCAweDFkLAotMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlYywgMHhhMywgMHhmMCwgMHhlZCwgMHhhMywgMHhmMCwgMHgwNSwKLTB4NDMsIDB4MTIsIDB4MTEsIDB4NTcsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ZjAsIDB4MjIsIDB4MDIsIDB4MTEsIDB4ZGMsIDB4YzAsIDB4MDQsCi0weDdjLCAweDIwLCAweGQyLCAweDhjLCAweGQyLCAweDhkLCAweGQ1LCAweDA0LCAweGZkLCAweGQwLCAweDA0LCAweDIyLCAweDc1LCAweGE4LCAweDAwLCAweDc1LAotMHg4OCwgMHgwMCwgMHg3NSwgMHhiOCwgMHgwMCwgMHg3NSwgMHhmMCwgMHgwMCwgMHg3NSwgMHhkMCwgMHgwMCwgMHhlNCwgMHhmOCwgMHg5MCwgMHhmOCwgMHgwNCwKLTB4ZjAsIDB4OTAsIDB4MDAsIDB4MDAsIDB4ZjYsIDB4MDgsIDB4YjgsIDB4MDAsIDB4ZmIsIDB4MDIsIDB4MDAsIDB4MDAsIDB4YzIsIDB4YWYsIDB4ZTQsIDB4OTAsCi0weGZmLCAweDQ4LCAweGYwLCAweDkwLCAweGZmLCAweDUwLCAweGYwLCAweDkwLCAweGZmLCAweDA4LCAweGYwLCAweDkwLCAweGZmLCAweDEwLCAweGYwLCAweDkwLAotMHhmZiwgMHg4MCwgMHhmMCwgMHhhMywgMHhhMywgMHhmMCwgMHhkMiwgMHhiMSwgMHhjMiwgMHhiMCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmZiwgMHgxMiwgMHgxMCwKLTB4MjQsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MjQsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MjQsIDB4ZDIsCi0weGIwLCAweGQyLCAweGIxLCAweDdlLCAweGZmLCAweDdmLCAweGZmLCAweDEyLCAweDEwLCAweDI0LCAweDdlLCAweGZmLCAweDdmLCAweGZmLCAweDEyLCAweDEwLAotMHgyNCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmZiwgMHgxMiwgMHgxMCwgMHgyNCwgMHg4MCwgMHhjYywgMHhjMywgMHhlZSwgMHg5NCwgMHgwMiwgMHg1MCwgMHgwNCwKLTB4N2UsIDB4MDMsIDB4N2YsIDB4ZTgsIDB4ZWYsIDB4ZjQsIDB4ZmYsIDB4ZWUsIDB4ZjQsIDB4ZmUsIDB4MGYsIDB4YmYsIDB4MDAsIDB4MDEsIDB4MGUsIDB4OGYsCi0weDQyLCAweDhlLCAweDQxLCAweDIyLCAweGMzLCAweGVmLCAweDk0LCAweGJjLCAweGVlLCAweDk0LCAweDAyLCAweDUwLCAweDA0LCAweDdlLCAweDA3LCAweDdmLAotMHhkMCwgMHhlZiwgMHhmNCwgMHhmZiwgMHhlZSwgMHhmNCwgMHhmZSwgMHgwZiwgMHhiZiwgMHgwMCwgMHgwMSwgMHgwZSwgMHg4ZiwgMHg0MCwgMHg4ZSwgMHgzZiwKLTB4MjIsIDB4ZWYsIDB4NzAsIDB4MDEsIDB4MjIsIDB4YzAsIDB4MDAsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MTgsIDB4ZjgsCi0weGE2LCAweDA3LCAweGU1LCAweDNlLCAweDI0LCAweDA4LCAweGY4LCAweGM2LCAweDU0LCAweDdmLCAweGY2LCAweGQwLCAweGE4LCAweGU2LCAweDMwLCAweGU3LAotMHgwMywgMHhkMCwgMHgwMCwgMHgyMiwgMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhmNCwgMHhjMCwgMHgwMCwgMHg3ZiwgMHgwMSwgMHhlZiwgMHgyNCwgMHgwOCwKLTB4ZjgsIDB4ZTYsIDB4NjAsIDB4MDksIDB4MGYsIDB4YmYsIDB4MDgsIDB4ZjUsIDB4MTIsIDB4MTEsIDB4YWUsIDB4ODAsIDB4ZWUsIDB4ZDAsIDB4MDAsIDB4MjIsCi0weGMwLCAweGYwLCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDAwLCAweGMwLCAweDA2LCAweGMwLCAweDA0LCAweGVkLCAweDI0LCAweDEwLCAweGY4LAotMHg3NiwgMHg5YSwgMHhlZCwgMHg3NSwgMHhmMCwgMHgyMSwgMHhhNCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmOCwgMHhmNSwgMHg4MywKLTB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTQsIDB4NzgsIDB4MGQsIDB4ZjAsIDB4YTMsIDB4ZDgsIDB4ZmMsIDB4ZWYsIDB4NTQsIDB4N2YsCi0weDc1LCAweGYwLCAweDAyLCAweGE0LCAweDI0LCAweGYzLCAweGY1LCAweDgyLCAweGU1LCAweGYwLCAweDM0LCAweDMwLCAweGY1LCAweDgzLCAweGU0LCAweDkzLAotMHhmZSwgMHg3NCwgMHgwMSwgMHg5MywgMHhmYywgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhlYywgMHhmMCwgMHhhMywgMHhlZSwgMHhmMCwgMHhlZCwgMHgyNCwKLTB4MDgsIDB4ZjgsIDB4ZWYsIDB4NDQsIDB4ODAsIDB4ZjYsIDB4ZDAsIDB4MDQsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsCi0weGQwLCAweGYwLCAweDIyLCAweDc1LCAweDNlLCAweDAwLCAweDc1LCAweDQzLCAweDAwLCAweDdhLCAweDA4LCAweDc5LCAweDE4LCAweDc4LCAweDA4LCAweDc2LAotMHgwMCwgMHg3NywgMHgwMCwgMHgwOCwgMHgwOSwgMHhkYSwgMHhmOCwgMHg5MCwgMHhmOCwgMHgwNCwgMHhlMCwgMHhmYywgMHg5MCwgMHgzMSwgMHgxMSwgMHhlNCwKLTB4OTMsIDB4YzMsIDB4OWMsIDB4NTAsIDB4MDUsIDB4ZTQsIDB4OTAsIDB4ZjgsIDB4MDQsIDB4ZjAsIDB4NzgsIDB4MDgsIDB4NzQsIDB4ODAsIDB4NDQsIDB4N2YsCi0weGY2LCAweDc0LCAweDAxLCAweDQ0LCAweDEwLCAweGY1LCAweDg5LCAweDc1LCAweGI4LCAweDAwLCAweGQyLCAweGFiLCAweGQyLCAweGE5LCAweDIyLCAweDc1LAotMHg4MSwgMHg4YiwgMHhkMiwgMHg4ZSwgMHhkMiwgMHg4YywgMHhkMiwgMHhhZiwgMHhlNSwgMHg0MywgMHg2MCwgMHgzNiwgMHhmZiwgMHg5MCwgMHhmOSwgMHgxZCwKLTB4ZTAsIDB4NTQsIDB4ODAsIDB4NjAsIDB4MjgsIDB4NzgsIDB4MDgsIDB4NzksIDB4MDgsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZmEsIDB4N2IsIDB4MDAsIDB4ZTYsCi0weDU0LCAweDdmLCAweGI1LCAweDAyLCAweDAyLCAweDdiLCAweGZmLCAweDA4LCAweGQ5LCAweGY1LCAweGViLCAweDcwLCAweDEwLCAweGVhLCAweGYwLCAweGMwLAotMHgwNywgMHgxMiwgMHgxMiwgMHg4OSwgMHhhZCwgMHgwNywgMHhhZiwgMHgwMiwgMHgxMiwgMHgxMiwgMHhhMCwgMHhkMCwgMHgwNywgMHhhMywgMHhhMywgMHhhMywKLTB4ZGYsIDB4Y2UsIDB4MTIsIDB4MTEsIDB4YWUsIDB4ODAsIDB4YzEsIDB4OGYsIDB4MjQsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsIDB4MjIsIDB4YjUsIDB4YTMsCi0weGEzLCAweGUwLCAweGEzLCAweDMwLCAweGU3LCAweDI4LCAweDc4LCAweDdlLCAweDEyLCAweDIyLCAweDk5LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDEyLAotMHgyMiwgMHhmYSwgMHgxMiwgMHgyMiwgMHg5ZCwgMHhlMCwgMHgyMCwgMHhlMCwgMHhmNiwgMHgxMiwgMHgyMywgMHg1MCwgMHg3NCwgMHgwMiwgMHhmMCwgMHgxMiwKLTB4MjIsIDB4ZGEsIDB4ZTAsIDB4YTMsIDB4MzAsIDB4ZTUsIDB4MDcsIDB4MTIsIDB4MjMsIDB4NTAsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4NzgsIDB4ODAsCi0weGU2LCAweGZlLCAweDA4LCAweGU2LCAweGZmLCAweDhlLCAweDgzLCAweDI0LCAweDA4LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweGZkLCAweDEyLCAweDIzLAotMHgzOSwgMHg4YSwgMHg4MywgMHgyNCwgMHgwYSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlZCwgMHhmMCwgMHgxMiwgMHgyMywgMHgwNiwgMHgyNCwgMHgwNywgMHgxMiwKLTB4MjIsIDB4YTEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MjMsIDB4NWEsIDB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4ZjksCi0weDE2LCAweGUwLCAweDMwLCAweGU0LCAweDIwLCAweDA4LCAweDEyLCAweDIyLCAweGI3LCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGUwLCAweDI1LAotMHhlMCwgMHhmZiwgMHgwNSwgMHg4MiwgMHhkNSwgMHg4MiwgMHgwMiwgMHgxNSwgMHg4MywgMHgxNSwgMHg4MiwgMHhlMCwgMHgzMywgMHhkMCwgMHg4MiwgMHhkMCwKLTB4ODMsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MjIsIDB4YjUsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4ZWMsIDB4ZmYsIDB4MTIsCi0weDIzLCAweDM5LCAweDhhLCAweDgzLCAweDI0LCAweDA4LCAweDEyLCAweDIyLCAweGExLCAweGVmLCAweGYwLCAweGVkLCAweDEyLCAweDIzLCAweDVhLCAweDI0LAotMHgwNywgMHgxMiwgMHgyMiwgMHhhMSwgMHhlZCwgMHhmMCwgMHgxMiwgMHgyMiwgMHhhOSwgMHhlMCwgMHgzMCwgMHhlNiwgMHgwYSwgMHgxMiwgMHgyMywgMHg0MSwKLTB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTQsIDB4ZjAsIDB4MTIsIDB4MjIsIDB4YTksIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4MWIsIDB4MTIsCi0weDIzLCAweDFlLCAweDI0LCAweDA5LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDYwLCAweDA5LCAweDEyLCAweDIyLCAweGE5LCAweGVmLCAweDQ0LCAweDAyLAotMHhmMCwgMHg4MCwgMHgwNywgMHgxMiwgMHgyMiwgMHhhOSwgMHhlZiwgMHg1NCwgMHhmZCwgMHhmMCwgMHg3OCwgMHg3ZSwgMHgxMiwgMHgyMiwgMHhiNywgMHhhMywKLTB4YTMsIDB4ZTAsIDB4ZmYsIDB4NTMsIDB4MDcsIDB4YzcsIDB4MDgsIDB4ZTYsIDB4ZmMsIDB4MDgsIDB4ZTYsIDB4ZmQsIDB4MTIsIDB4MjIsIDB4ZTAsIDB4YTMsCi0weGUwLCAweDMwLCAweGUzLCAweDEyLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA1LCAweDEyLCAweDIyLCAweGExLCAweGUwLAotMHg5MCwgMHgzMiwgMHg1MSwgMHg5MywgMHg0MiwgMHgwNywgMHg1MywgMHgwNywgMHhmYiwgMHgxMiwgMHgyMywgMHgxZSwgMHgyNCwgMHgwNiwgMHgxMiwgMHgyMiwKLTB4YTEsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MDQsIDB4NTMsIDB4MDcsIDB4ZmMsIDB4NzgsIDB4ODAsIDB4MTIsIDB4MjMsIDB4MjksIDB4MjQsCi0weDA0LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDQyLCAweDA3LCAweDQzLCAweDA3LCAweDgwLCAweDEyLCAweDIzLCAweDM5LCAweGY1LCAweDgyLCAweDhhLAotMHg4MywgMHhhMywgMHhhMywgMHhlZiwgMHhmMCwgMHgxMiwgMHgyMywgMHg1YSwgMHgyNCwgMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHhmZiwgMHg4ZCwKLTB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4NTMsIDB4MDcsIDB4ZGYsCi0weDgwLCAweDAzLCAweDQzLCAweDA3LCAweDIwLCAweGVjLCAweDMwLCAweGU0LCAweDA1LCAweDUzLCAweDA3LCAweGVmLCAweDgwLCAweDAzLCAweDQzLCAweDA3LAotMHgxMCwgMHgxMiwgMHgyMiwgMHhhOSwgMHhlMCwgMHhmZSwgMHg1NCwgMHgwMywgMHg2MCwgMHg3MywgMHg1MywgMHgwNywgMHhkZiwgMHhlZSwgMHgzMCwgMHhlMSwKLTB4NjksIDB4MTIsIDB4MjMsIDB4MWUsIDB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4MTIsIDB4MWIsIDB4ZmMsIDB4MTUsIDB4MmMsIDB4MDAsCi0weDE1LCAweDYwLCAweDAxLCAweDE1LCAweDY1LCAweDAzLCAweDE1LCAweDYwLCAweDA1LCAweDE1LCAweDY1LCAweDA3LCAweDE1LCAweDYwLCAweDA5LCAweDE1LAotMHg2NSwgMHgwYiwgMHgxNSwgMHg2MCwgMHgwZCwgMHgxNSwgMHg2NSwgMHgwZiwgMHgwMCwgMHgwMCwgMHgxNSwgMHg2ZCwgMHhlNSwgMHgyNCwgMHg2NCwgMHgwMywKLTB4NzAsIDB4MjEsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTIsIDB4MGQsIDB4MzAsIDB4YjQsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MDIsIDB4ODAsCi0weDJjLCAweDUzLCAweDA3LCAweGZkLCAweDgwLCAweDI3LCAweDMwLCAweDk1LCAweDA1LCAweDQzLCAweDA3LCAweDAyLCAweDgwLCAweDFmLCAweDUzLCAweDA3LAotMHhmZCwgMHg4MCwgMHgxYSwgMHgzMCwgMHg5MywgMHgwNSwgMHg0MywgMHgwNywgMHgwMiwgMHg4MCwgMHgxMiwgMHg1MywgMHgwNywgMHhmZCwgMHg4MCwgMHgwZCwKLTB4NDMsIDB4MDcsIDB4MDIsIDB4ODAsIDB4MDgsIDB4NTMsIDB4MDcsIDB4ZmQsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4ZmQsIDB4MTIsIDB4MjMsIDB4MjcsCi0weDI0LCAweDA0LCAweDEyLCAweDIyLCAweGExLCAweGVmLCAweGYwLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGZmLAotMHgxMiwgMHgyMiwgMHhhOSwgMHhlMCwgMHhmZSwgMHg1NCwgMHgwMywgMHg3MCwgMHgwMywgMHgwMiwgMHgxNiwgMHg2MCwgMHhlZSwgMHgyMCwgMHhlMSwgMHgwMywKLTB4MDIsIDB4MTYsIDB4NWQsIDB4MDgsIDB4MTIsIDB4MjMsIDB4MjAsIDB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4MTIsIDB4MWIsIDB4ZmMsCi0weDE1LCAweGJmLCAweDAwLCAweDE1LCAweGY1LCAweDAxLCAweDE1LCAweGY1LCAweDAzLCAweDE2LCAweDI5LCAweDA1LCAweDE2LCAweDI5LCAweDA3LCAweDE2LAotMHgwZiwgMHgwOSwgMHgxNiwgMHgwZiwgMHgwYiwgMHgxNiwgMHg0MywgMHgwZCwgMHgxNiwgMHg0MywgMHgwZiwgMHgwMCwgMHgwMCwgMHgxNiwgMHg2MCwgMHhlNSwKLTB4MjQsIDB4NjQsIDB4MDMsIDB4NzAsIDB4MjMsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTIsIDB4MGYsIDB4MzAsIDB4YjEsIDB4MDYsIDB4NTMsCi0weDA3LCAweDdmLCAweDAyLCAweDE2LCAweDYwLCAweDQzLCAweDA3LCAweDgwLCAweDAyLCAweDE2LCAweDYwLCAweDMwLCAweDk0LCAweDA1LCAweDUzLCAweDA3LAotMHg3ZiwgMHg4MCwgMHg3ZCwgMHg0MywgMHgwNywgMHg4MCwgMHg4MCwgMHg3OCwgMHgzMCwgMHg5MiwgMHgwNSwgMHg1MywgMHgwNywgMHg3ZiwgMHg4MCwgMHg3MCwKLTB4NDMsIDB4MDcsIDB4ODAsIDB4ODAsIDB4NmIsIDB4ZTUsIDB4MjQsIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZWYsCi0weGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweDUzLCAweDA3LCAweDdmLCAweDgwLCAweDUxLCAweGU1LAotMHgyNCwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHhmZiwgMHg5ZSwKLTB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4NTMsIDB4MDcsIDB4N2YsIDB4ODAsIDB4MzcsIDB4ZTUsIDB4MjQsIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsIDB4ZmYsCi0weDllLCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweDQzLCAweDA3LAotMHg4MCwgMHg4MCwgMHgxZCwgMHhlNSwgMHgyNCwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHg4MCwKLTB4MDcsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4NDMsIDB4MDcsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4N2YsCi0weDEyLCAweDIyLCAweGRhLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweDMwLCAweGUwLCAweDA1LCAweDQzLCAweDA3LCAweDIwLCAweDgwLCAweDAzLAotMHg1MywgMHgwNywgMHhkZiwgMHhlYywgMHgzMCwgMHhlMywgMHgwNSwgMHg0MywgMHgwNywgMHg0MCwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhiZiwgMHhlYywKLTB4MzAsIDB4ZTAsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4ZWYsIDB4ZWQsIDB4MzAsIDB4ZTQsIDB4MDUsIDB4NDMsCi0weDA3LCAweDA4LCAweDgwLCAweDAzLCAweDUzLCAweDA3LCAweGY3LCAweGVkLCAweDMwLCAweGU1LCAweDA1LCAweDQzLCAweDA3LCAweDA0LCAweDgwLCAweDAzLAotMHg1MywgMHgwNywgMHhmYiwgMHhlZCwgMHgzMCwgMHhlNiwgMHgwNSwgMHg0MywgMHgwNywgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhmZSwgMHhlZCwKLTB4MzAsIDB4ZTcsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4ZmQsIDB4NzgsIDB4N2UsIDB4MTIsIDB4MjIsIDB4ZGMsCi0weGEzLCAweGVmLCAweGYwLCAweDEyLCAweDMyLCAweDg0LCAweDdmLCAweDAwLCAweDIyLCAweDkwLCAweGZmLCAweGZhLCAweDc0LCAweDA4LCAweGYwLCAweGEzLAotMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhmZiwgMHhmOSwgMHg3NCwgMHgwMiwgMHhmMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhjZiwgMHhlNCwKLTB4ZmQsIDB4MTIsIDB4MjMsIDB4NjEsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDMsIDB4MTIsIDB4MWIsIDB4MWMsIDB4MTIsIDB4MTksCi0weDkyLCAweGU1LCAweDIzLCAweDMwLCAweGU3LCAweDAyLCAweGQyLCAweDAyLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDI0LCAweDkwLCAweGZhLAotMHhjZiwgMHhlMCwgMHhmNSwgMHgyZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhjZiwKLTB4ZTQsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MjMsIDB4NzUsIDB4MmQsIDB4MDAsIDB4ZjUsCi0weDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweGU1LCAweDIzLCAweDI0LCAweDgwLCAweDkwLCAweGZmLCAweGY4LCAweGYwLCAweGU1LCAweDIzLAotMHg2NCwgMHgwNywgMHg2MCwgMHgxZSwgMHhlNSwgMHgyMywgMHg2NCwgMHgwNiwgMHg2MCwgMHgxOCwgMHhlNSwgMHgyMywgMHg2NCwgMHgxNCwgMHg2MCwgMHgxMiwKLTB4ZTUsIDB4MjMsIDB4NjQsIDB4NDEsIDB4NjAsIDB4MGMsIDB4ZTUsIDB4MjMsIDB4NjQsIDB4MWEsIDB4NzAsIDB4NDYsIDB4ZTUsIDB4MjQsIDB4NjQsIDB4MDIsCi0weDcwLCAweDQwLCAweGU1LCAweDIzLCAweGI0LCAweDA3LCAweDE2LCAweGQyLCAweDk0LCAweGQyLCAweDk1LCAweGQyLCAweDkyLCAweGQyLCAweDkzLCAweDkwLAotMHhmOSwgMHgxNiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhhMywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgxZSwgMHhlNSwgMHgyMywgMHhiNCwKLTB4NDEsIDB4MTIsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4NDQsIDB4MDYsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4MDYsIDB4ZjAsIDB4ZDIsIDB4YjEsCi0weGQyLCAweGI0LCAweDgwLCAweDA3LCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweGY5LCAweDE3LCAweGUwLCAweDQ0LAotMHgwMSwgMHhmMCwgMHhlNSwgMHgyMywgMHg2NCwgMHg0MiwgMHg2MCwgMHgwYywgMHhlNSwgMHgyMywgMHg2NCwgMHg0MywgMHg2MCwgMHgwNiwgMHhlNSwgMHgyMywKLTB4NjQsIDB4NDQsIDB4NzAsIDB4MmUsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MjMsIDB4YjQsIDB4NDQsIDB4MDQsIDB4N2UsIDB4NDAsCi0weDgwLCAweDAyLCAweDdlLCAweDAwLCAweGVlLCAweDI0LCAweDgwLCAweDRmLCAweDkwLCAweGY5LCAweDE2LCAweGYwLCAweGEzLCAweGUwLCAweGZmLCAweGU1LAotMHgyMywgMHhiNCwgMHg0NCwgMHgwNCwgMHg3ZSwgMHg0MCwgMHg4MCwgMHgwMiwgMHg3ZSwgMHgwMCwgMHhlZSwgMHgyNCwgMHg4MCwgMHg0ZiwgMHg5MCwgMHhmOSwKLTB4MTcsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4MTIsIDB4MTksIDB4OTIsIDB4OTAsIDB4ZmYsCi0weGY1LCAweGU1LCAweDIzLCAweGYwLCAweGU0LCAweGY1LCAweDM1LCAweGY1LCAweDMzLCAweGY1LCAweDM0LCAweGY1LCAweDMyLCAweDEyLCAweDFlLCAweDM0LAotMHgxMiwgMHgxYywgMHhlMCwgMHgxMiwgMHgxZSwgMHgzYiwgMHg5MCwgMHhmOSwgMHg2YSwgMHgxMiwgMHgxYiwgMHhmMywgMHg5MCwgMHhmOSwgMHg2ZiwgMHgxMiwKLTB4MWIsIDB4ZjMsIDB4OTAsIDB4ZmYsIDB4ZmYsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ODMsIDB4ZTAsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ODEsCi0weDc0LCAweDgwLCAweGYwLCAweGEzLCAweDc0LCAweDg0LCAweGYwLCAweDkwLCAweGZmLCAweDgwLCAweGYwLCAweGU0LCAweGY1LCAweDIzLCAweGU1LCAweDIzLCAKLTB4MTIsIDB4MWQsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MjMsIDB4MTIsIDB4MWQsIDB4NjUsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsCi0weDA1LCAweDIzLCAweGU1LCAweDIzLCAweGI0LCAweDA3LCAweGU3LCAweDc4LCAweDdhLCAweDc2LCAweGZlLCAweDA4LCAweDc2LCAweGYwLCAweDkwLCAweDMyLAotMHgwYSwgMHhlNCwgMHg5MywgMHhmZiwgMHg3OCwgMHg3OCwgMHhmNiwgMHhmZCwgMHhhZCwgMHgwNywgMHg5MCwgMHgzMiwgMHgxNywgMHhlNCwgMHg5MywgMHhmZiwKLTB4MDgsIDB4ZjYsIDB4ZmYsIDB4ZWQsIDB4NTQsIDB4MGYsIDB4ZmQsIDB4MTIsIDB4MWQsIDB4NDcsIDB4NzQsIDB4ODQsIDB4ZjAsIDB4ZWQsIDB4NzUsIDB4ZjAsCi0weDA4LCAweGE0LCAweDI0LCAweDQ3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGMzLCAweDc0LCAweGYwLCAKLTB4OWYsIDB4NzgsIDB4N2IsIDB4ZjYsIDB4NzQsIDB4ZmUsIDB4OTQsIDB4MDAsIDB4MTgsIDB4MTIsIDB4MWMsIDB4ZDgsIDB4Y2UsIDB4YzMsIDB4MTMsIDB4Y2UsCi0weDEzLCAweGQ4LCAweGY5LCAweGZmLCAweGVkLCAweDEyLCAweDFkLCAweGE4LCAweGVmLCAweGYwLCAweGVkLCAweDEyLCAweDFkLCAweGNlLCAweGU0LCAweGY1LAotMHgyMywgMHhlNSwgMHgyMywgMHg5MCwgMHgzMiwgMHgwNCwgMHg5MywgMHhmZiwgMHg3OCwgMHg3OCwgMHhmNiwgMHhmZCwgMHhlNSwgMHgyMywgMHgyNSwgMHhlMCwKLTB4MjQsIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MzIsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MDgsIDB4ZjYsIDB4ZWQsIDB4MzAsIDB4ZTcsCi0weDUzLCAweDE4LCAweGU2LCAweDU0LCAweDBmLCAweGY5LCAweDEyLCAweDFkLCAweDQ3LCAweDEyLCAweDFkLCAweGI2LCAweDI0LCAweDQ3LCAweGY1LCAweDgyLAotMHhlNCwgMHgzNCwgMHhmZiwgMHgxMiwgMHgxYywgMHhjOCwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwgMHgxMywgMHhkOCwgMHhmOSwgMHhmZiwgMHhlOSwgMHgxMiwKLTB4MWQsIDB4YTgsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MWMsIDB4Y2YsIDB4Y2UsIDB4YzMsIDB4MTMsIDB4Y2UsIDB4MTMsIDB4ZDgsIDB4ZjksIDB4MTIsIDB4MWQsCi0weGJiLCAweDI0LCAweDQ1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU5LCAweDEyLCAweDFkLCAweGNlLAotMHhlOSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHg0NiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHg3NCwgMHg4MCwgCi0weGYwLCAweDAyLCAweDE5LCAweDY3LCAweDc4LCAweDc4LCAweGU2LCAweDU0LCAweDBmLCAweGY5LCAweDEyLCAweDFkLCAweDlhLCAweDEyLCAweDFkLCAweGI2LAotMHgyNCwgMHgwNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHgxMiwgMHgxYywgMHhjOCwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwgMHgxMywgMHhkOCwKLTB4ZjksIDB4MTIsIDB4MWQsIDB4YmIsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTIsCi0weDFjLCAweGNmLCAweGNlLCAweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LCAweGY5LCAweDEyLCAweDFkLCAweGJiLCAweDI0LCAweDA1LCAweGY1LCAweDgyLAotMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlOSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4MiwgCi0weGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU5LCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAKLTB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MDUsIDB4MjMsIDB4ZTUsIDB4MjMsIDB4NjQsIDB4MDQsIDB4NjAsIDB4MDMsIDB4MDIsIAotMHgxOCwgMHg5MSwgMHg5MCwgMHgzMiwgMHgwOSwgMHhlNCwgMHg5MywgMHhmZiwgMHg3OCwgMHg3OCwgMHhmNiwgMHgxMiwgMHgxZCwgMHg5OCwgMHhlNCwgMHhmMCwKLTB4OTAsIDB4MzIsIDB4MDgsIDB4OTMsIDB4ZmYsIDB4ZjYsIDB4MTIsIDB4MWQsIDB4NDUsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ZmQsIDB4NzQsIDB4MDUsCi0weGYwLCAweDIyLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDIzLCAweDkwLCAweGZhLCAweGNmLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLAotMHgxYiwgMHgzMiwgMHg4NSwgMHhmMCwgMHgyZSwgMHhmNSwgMHgyZCwgMHg3ZCwgMHgwMSwgMHgwMiwgMHgyNiwgMHg5OCwgMHhlNywgMHgwOSwgMHhmNiwgMHgwOCwKLTB4ZGYsIDB4ZmEsIDB4ODAsIDB4NDYsIDB4ZTcsIDB4MDksIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4M2UsIDB4ODgsIDB4ODIsIDB4OGMsIDB4ODMsIAotMHhlNywgMHgwOSwgMHhmMCwgMHhhMywgMHhkZiwgMHhmYSwgMHg4MCwgMHgzMiwgMHhlMywgMHgwOSwgMHhmNiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg3OCwgCi0weGUzLCAweDA5LCAweGYyLCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDcwLCAweDg4LCAweDgyLCAweDhjLCAweDgzLCAweGUzLCAweDA5LCAweGYwLCAweGEzLCAKLTB4ZGYsIDB4ZmEsIDB4ODAsIDB4NjQsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4YTMsIDB4ZjYsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NTgsIAotMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhhMywgMHhmMiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg0YywgMHg4MCwgMHhkMiwgMHg4MCwgMHhmYSwgCi0weDgwLCAweGM2LCAweDgwLCAweGQ0LCAweDgwLCAweDY5LCAweDgwLCAweGYyLCAweDgwLCAweDMzLCAweDgwLCAweDEwLCAweDgwLCAweGE2LCAweDgwLCAweGVhLCAKLTB4ODAsIDB4OWEsIDB4ODAsIDB4YTgsIDB4ODAsIDB4ZGEsIDB4ODAsIDB4ZTIsIDB4ODAsIDB4Y2EsIDB4ODAsIDB4MzMsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIAotMHhlYywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4MywgMHhjYywgMHhmMCwgMHhhMywgMHhjOCwgCi0weGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweDBkLCAweDg5LCAweDgyLCAweDhhLCAKLTB4ODMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjYsIDB4MDgsIDB4ZGYsIDB4ZjksIDB4ZWMsIDB4ZmEsIDB4YTksIDB4ZjAsIDB4ZWQsIDB4ZmIsIDB4MjIsIDB4ODksIAotMHg4MiwgMHg4YSwgMHg4MywgMHhlYywgMHhmYSwgMHhlMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4MywgMHhjYywgMHhmMCwgCi0weGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGRmLCAweGVhLCAweGRlLCAweGU4LCAweDgwLCAweGRiLCAweDg5LCAKLTB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjksIDB4ODAsIDB4Y2MsIDB4ODgsIDB4ZjAsIDB4ZWYsIDB4NjAsIAotMHgwMSwgMHgwZSwgMHg0ZSwgMHg2MCwgMHhjMywgMHg4OCwgMHhmMCwgMHhlZCwgMHgyNCwgMHgwMiwgMHhiNCwgMHgwNCwgMHgwMCwgMHg1MCwgMHhiOSwgMHhmNSwgCi0weDgyLCAweGViLCAweDI0LCAweDAyLCAweGI0LCAweDA0LCAweDAwLCAweDUwLCAweGFmLCAweDIzLCAweDIzLCAweDQ1LCAweDgyLCAweDIzLCAweDkwLCAweDE5LCAKLTB4ZmMsIDB4NzMsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsCi0weGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAKLTB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIAotMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgCi0weGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAKLTB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZjgsIDB4YmIsIDB4MDEsIDB4MGQsIDB4ZTUsIDB4ODIsIAotMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlOCwgMHhmMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgCi0weGM4LCAweGY2LCAweDIyLCAweGJiLCAweGZlLCAweDA1LCAweGU5LCAweDI1LCAweDgyLCAweGM4LCAweGYyLCAweDIyLCAweGM1LCAweGYwLCAweGY4LCAweGEzLCAKLTB4ZTAsIDB4MjgsIDB4ZjAsIDB4YzUsIDB4ZjAsIDB4ZjgsIDB4ZTUsIDB4ODIsIDB4MTUsIDB4ODIsIDB4NzAsIDB4MDIsIDB4MTUsIDB4ODMsIDB4ZTAsIDB4MzgsIAotMHhmMCwgMHgyMiwgMHhhMywgMHhmOCwgMHhlMCwgMHhjNSwgMHhmMCwgMHgyNSwgMHhmMCwgMHhmMCwgMHhlNSwgMHg4MiwgMHgxNSwgMHg4MiwgMHg3MCwgMHgwMiwgCi0weDE1LCAweDgzLCAweGUwLCAweGM4LCAweDM4LCAweGYwLCAweGU4LCAweDIyLCAweGJiLCAweDAxLCAweDEwLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAKLTB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIAotMHhmOCwgMHg4NiwgMHhmMCwgMHgwOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwYSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHhmNSwgMHhmMCwgCi0weDA4LCAweGUyLCAweDIyLCAweGU1LCAweDgzLCAweDJhLCAweGY1LCAweDgzLCAweGU5LCAweDkzLCAweGY1LCAweGYwLCAweGEzLCAweGU5LCAweDkzLCAweDIyLCAKLTB4YmIsIDB4MDEsIDB4MGEsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4ZTUsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZjcsIAotMHgwOSwgMHhhNywgMHhmMCwgMHgxOSwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhmMywgMHhlNSwgMHhmMCwgMHgwOSwgMHhmMywgMHgxOSwgMHgyMiwgMHhmOCwgCi0weGJiLCAweDAxLCAweDExLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU4LCAweGYwLCAweGU1LCAKLTB4ZjAsIDB4YTMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIDB4YzgsIDB4ZjYsIDB4MDgsIDB4YTYsIDB4ZjAsIDB4MjIsIDB4YmIsIAotMHhmZSwgMHgwOSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOCwgMHhmMiwgMHhlNSwgMHhmMCwgMHgwOCwgMHhmMiwgMHgyMiwgMHhhNCwgMHgyNSwgMHg4MiwgMHhmNSwgCi0weDgyLCAweGU1LCAweGYwLCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweDIyLCAweGU2LCAweGZiLCAweDA4LCAweGU2LCAweGZhLCAweDA4LCAweGU2LCAweGY5LCAKLTB4MjIsIDB4ZWIsIDB4ZjYsIDB4MDgsIDB4ZWEsIDB4ZjYsIDB4MDgsIDB4ZTksIDB4ZjYsIDB4MjIsIDB4ZTAsIDB4ZmIsIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4YTMsIAotMHhlMCwgMHhmOSwgMHgyMiwgMHhlYiwgMHhmMCwgMHhhMywgMHhlYSwgMHhmMCwgMHhhMywgMHhlOSwgMHhmMCwgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgCi0weGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxLCAKLTB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsIAotMHg4MCwgMHhkZiwgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHhlNSwgMHg0YywgMHgxMiwgMHgxYSwgMHhlOCwgMHg3NCwgMHgwMSwgMHgyNSwKLTB4MzgsIDB4ZjUsIDB4MzgsIDB4ZTQsIDB4MzUsIDB4MzcsIDB4ZjUsIDB4MzcsIDB4YWIsIDB4MzYsIDB4ZmEsIDB4YTksIDB4MzgsIDB4NzQsIDB4MTEsIDB4MTIsIAotMHgxYSwgMHhlOCwgMHg3NCwgMHgwMSwgMHgyNSwgMHgzOCwgMHhmNSwgMHgzOCwgMHhlNCwgMHgzNSwgMHgzNywgMHhmNSwgMHgzNywgMHg5MCwgMHhmZiwgMHgwNiwKLTB4ZTAsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzcsIDB4YTksIDB4MzgsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4NzQsIDB4MDEsIDB4MjUsIDB4MzgsIDB4ZjUsIDB4MzgsCi0weGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweGFiLCAweDM2LCAweGZhLCAweGE5LCAweDM4LCAweGU0LCAweDEyLCAweDFhLCAweGU4LCAweDA0LCAweDI1LAotMHgzOCwgMHhmNSwgMHgzOCwgMHhlNCwgMHgzNSwgMHgzNywgMHhmNSwgMHgzNywgMHhhYiwgMHgzNiwgMHhmYSwgMHhhOSwgMHgzOCwgMHhlNCwgMHgxMiwgMHgxYSwgCi0weGU4LCAweDA0LCAweDI1LCAweDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweDkwLCAweGZmLCAweDA0LCAweGUwLCAweGFiLAotMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHgxMiwgMHgxYSwgMHhlOCwgMHg3NCwgMHgwMSwgMHgyNSwgMHgzOCwgMHhmNSwgMHgzOCwgMHhlNCwgMHgzNSwKLTB4MzcsIDB4ZjUsIDB4MzcsIDB4OTAsIDB4ZmYsIDB4MDUsIDB4ZTAsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzcsIDB4YTksIDB4MzgsIDB4MTIsIDB4MWEsIDB4ZTgsCi0weDc0LCAweDAxLCAweDI1LCAweDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweDIyLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAKLTB4MDgsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzcsIDB4YTksIDB4MzgsIDB4MjIsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4YzMsIAotMHg3OCwgMHg3YiwgMHhlNiwgMHg5ZCwgMHhmNiwgMHgxOCwgMHhlNiwgMHg5YywgMHhmNiwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHg3OCwgMHgwMywgMHgyMiwgCi0weDc1LCAweDM2LCAweDAxLCAweDc1LCAweDM3LCAweGY5LCAweDc1LCAweDM4LCAweDcyLCAweDIyLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDc0LCAweDEzLAotMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg5MCwgMHhmYSwgMHhiYywgMHhlMCwgMHhmZiwgMHg3ZSwKLTB4MDAsIDB4YzMsIDB4OTAsIDB4ZmEsIDB4YzAsIDB4ZTAsIDB4OWYsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YmYsIDB4ZTAsIDB4OWUsIDB4ZjAsIDB4OTAsIDB4ZmEsCi0weGI3LCAweGVlLCAweDhmLCAweGYwLCAweDEyLCAweDFiLCAweDFjLCAweGVmLCAweDI1LCAweDRmLCAweGY1LCAweDRmLCAweGVlLCAweDM1LCAweDRlLCAweGY1LAotMHg0ZSwgMHgyMiwgMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhiNCwgMHg5MCwgMHhmYSwgMHhiNywgMHhlMCwgMHhmNSwgMHgyZCwgMHhhMywgMHhlMCwKLTB4ZjUsIDB4MmUsIDB4MjIsIDB4NzgsIDB4N2MsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4OGUsIDB4ODMsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIAotMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHgyMiwgMHg1NCwgMHgwZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHg0MCwgMHhmNSwgMHg4MiwgMHhlNCwgCi0weDM0LCAweGZmLCAweGY1LCAweDgzLCAweDIyLCAweGU1LCAweDRkLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDQ4LCAweGY1LCAweDgyLCAweGU0LCAKLTB4MzQsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4NGQsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIAotMHgyMiwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhmZiwgMHgyNCwgMHhmYywgMHgyMiwgMHg5MCwgMHhmZiwgMHgwMCwgMHhlMCwgMHg1NCwgMHgxZiwgMHgyMiwKLTB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZjAsIDB4MjIsIDB4NzUsIDB4MzMsIDB4MDAsIDB4OGYsIDB4MzQsIDB4OTAsIDB4ZjksCi0weDZmLCAweDEyLCAweDFiLCAweGVhLCAweDkwLCAweDAwLCAweDAyLCAweDIyLCAweDU0LCAweDBmLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLAotMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHgyMiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHg0MSwgMHhmNSwgMHg4MiwgCi0weGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweDIyLCAweDc0LCAweDgwLCAweGYwLCAweDA4LCAweGU2LCAweGZmLCAweGU5LCAweDc1LCAweGYwLCAweDA4LCAKLTB4YTQsIDB4MjIsIDB4NzQsIDB4YjIsIDB4MjUsIDB4MjIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmEsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4NzUsIDB4ZjAsCi0weDA4LCAweGE0LCAweDI0LCAweDQyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweDc0LCAweDgwLCAweGYwLCAweDIyLCAweDkwLCAKLTB4ZmYsIDB4ODIsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZmUsIDB4ZTAsIDB4NDQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4ZmYsIAotMHhmYywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHgyMiwgMHg3OCwgMHg2NywgMHhlNiwgMHg1NCwgMHhmZCwgMHhmNiwgMHg5MCwgMHhmZiwgMHhmZCwgMHg3NCwgCi0weDY1LCAweGYwLCAweDIyLCAweDEyLCAweDFiLCAweGNjLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDRlLCAweDIyLCAweDdiLCAweDAxLCAweDdhLAotMHhmYSwgMHg3OSwgMHhiNywgMHgyMiwgMHg5MCwgMHhmZiwgMHg4MCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgyMiwgMHg5MCwgMHhmZiwgMHg4MywgMHhlMCwKLTB4NTQsIDB4N2YsIDB4ZjAsIDB4MjIsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4ZjksIDB4NmEsIDB4MDIsIDB4MWIsIDB4ZWEsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsCi0weDQ0LCAweDAyLCAweGYwLCAweDIyLCAweDc1LCAweDM5LCAweDAxLCAweDc1LCAweDNhLCAweDA5LCAweDIyLCAweDdiLCAweDAxLCAweDdhLCAweGY5LCAweDc5LCAKLTB4NzIsIDB4MjIsIDB4ZDMsIDB4ZTUsIDB4M2MsIDB4OTQsIDB4MDgsIDB4ZTUsIDB4M2IsIDB4OTQsIDB4MDEsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsCi0weGZmLCAweDkwLCAweGZhLCAweGJhLCAweGYwLCAweDIyLCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDU0LCAweGVmLCAweDIyLCAweDkwLCAweGZmLCAweGI0LAotMHhlMCwgMHg1NCwgMHhlZiwgMHgyMiwgMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg4OCwgMHhlZiwgMHhmNiwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgyMiwKLTB4ZmEsIDB4OGUsIDB4ODMsIDB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MjIsIDB4ZTgsIDB4OTAsIDB4MDAsIDB4MGEsCi0weDEyLCAweDIzLCAweDAyLCAweDI0LCAweDBhLCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDkwLCAweDAwLCAweDBiLCAweDEyLCAweDFhLCAweGZhLCAweDEyLAotMHgyMiwgMHhmYSwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHhmNSwgMHg1MywgMHgxMiwgMHgyMywgMHgwNiwgMHgyNCwKLTB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4ZjUsIDB4NTQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NTUsCi0weGU1LCAweDUzLCAweGM0LCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDAxLCAweDc4LCAweDg4LCAweGY2LCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA2LCAKLTB4ZTUsIDB4NTQsIDB4MzAsIDB4ZTEsIDB4MDEsIDB4MDYsIDB4NzgsIDB4ODgsIDB4ZTYsIDB4MTIsIDB4MjIsIDB4ZTcsIDB4OTAsIDB4MDAsIDB4MGMsIDB4ZWYsCi0weDEyLCAweDFhLCAweGZhLCAweDEyLCAweDIyLCAweGI1LCAweGEzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDUzLCAweDA3LCAweDBjLAotMHg1MywgMHgwNiwgMHhlNiwgMHhlNSwgMHg1MywgMHgzMCwgMHhlNSwgMHgwMywgMHg0MywgMHgwNywgMHgwMSwgMHhlNSwgMHg1NCwgMHgyMCwgMHhlNSwgMHgwZSwKLTB4ZTUsIDB4NTMsIDB4NTQsIDB4N2YsIDB4NzAsIDB4MDgsIDB4ZTUsIDB4NTMsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MDIsIDB4ZTUsIDB4NTMsCi0weDMwLCAweGUzLCAweDAzLCAweDQzLCAweDA3LCAweDEwLCAweGU1LCAweDUzLCAweDMwLCAweGUyLCAweDAzLCAweDQzLCAweDA3LCAweDIwLCAweGU1LCAweDUzLAotMHg1NCwgMHgwMywgMHg2MCwgMHgwMywgMHg0MywgMHgwNywgMHg0MCwgMHhlNSwgMHg1MywgMHgzMCwgMHhlMSwgMHgwMywgMHg0MywgMHgwNywgMHg4MCwgMHhlNSwKLTB4NTMsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4NDMsIDB4MDYsIDB4MDEsIDB4ZTUsIDB4NTMsIDB4MzAsIDB4ZTYsIDB4MDMsIDB4NDMsIDB4MDYsIDB4MDgsIDB4ZTUsCi0weDU0LCAweDIwLCAweGU0LCAweDBlLCAweGU1LCAweDUzLCAweDU0LCAweDdmLCAweDcwLCAweDA4LCAweGU1LCAweDUzLCAweDIwLCAweGU3LCAweDAzLCAweDQzLAotMHgwNiwgMHgxMCwgMHg1MywgMHgwNywgMHhmYiwgMHg1MywgMHgwNiwgMHg3OSwgMHg5MCwgMHgwMCwgMHgwNSwgMHhlZSwgMHg4ZiwgMHhmMCwgMHgxMiwgMHgxYiwKLTB4OWYsIDB4ZTUsIDB4NTUsIDB4MzAsIDB4ZTMsIDB4MTIsIDB4NTQsIDB4MzAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4MTIsIDB4MjIsIDB4ZTcsIDB4OTAsCi0weDAwLCAweDA4LCAweGVmLCAweDEyLCAweDFhLCAweGZhLCAweDgwLCAweDBhLCAweDEyLCAweDIyLCAweGU4LCAweDkwLCAweDAwLCAweDA4LCAweGU0LCAweDEyLAotMHgxYSwgMHhmYSwgMHhlNSwgMHg1NSwgMHg1NCwgMHgwMywgMHgxMiwgMHgyMiwgMHhlNywgMHg5MCwgMHgwMCwgMHgwNywgMHhlZiwgMHgxMiwgMHgxYSwgMHhmYSwKLTB4ZTUsIDB4NTUsIDB4NTQsIDB4MDQsIDB4ZmYsIDB4YzMsIDB4MTMsIDB4OTAsIDB4MDAsIDB4MDksIDB4MTIsIDB4MWEsIDB4ZmEsIDB4OTAsIDB4MDAsIDB4MDcsCi0weDEyLCAweDFhLCAweGJiLCAweDcwLCAweDEzLCAweDEyLCAweDIyLCAweGU4LCAweGU5LCAweDI0LCAweDA5LCAweGY5LCAweGU0LCAweDNhLCAweGZhLCAweDEyLAotMHgxYSwgMHhhMiwgMHhmZiwgMHhjMywgMHgxMywgMHgxMiwgMHgxYSwgMHhlOCwgMHgxMiwgMHgyMywgMHgyNywgMHgyNCwgMHgwOCwgMHgxMiwgMHgyMiwgMHhhMSwKLTB4ZTAsIDB4ZmUsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDcsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4ZmQsIDB4ZWUsCi0weGVkLCAweDEyLCAweDIyLCAweGU3LCAweDkwLCAweDAwLCAweDAzLCAweGVlLCAweDhmLCAweGYwLCAweDEyLCAweDFiLCAweDlmLCAweDEyLCAweDMyLCAweDg0LAotMHg3ZCwgMHgwYSwgMHhlNCwgMHhmZiwgMHgxMiwgMHgyZiwgMHhiNCwgMHgwMiwgMHgxMCwgMHhjZSwgMHg5MCwgMHhmYSwgMHhlNiwgMHhlMCwgMHhiNCwgMHgwMywKLTB4MDYsIDB4N2UsIDB4MDAsIDB4N2YsIDB4NDAsIDB4ODAsIDB4MDQsIDB4N2UsIDB4MDAsIDB4N2YsIDB4MDgsIDB4OTAsIDB4ZmEsIDB4ZGEsIDB4ZWUsIDB4ZjAsCi0weGEzLCAweGVmLCAweGYwLCAweDkwLCAweDAwLCAweDA1LCAweDEyLCAweDFhLCAweGJiLCAweGZmLCAweDdlLCAweDAwLCAweDkwLCAweGZhLCAweGQ2LCAweGVlLAotMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHg3MCwgMHgwMywgMHg3ZiwgMHgwOCwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwOCwgMHgxMiwgMHgxYiwgMHg0OCwgMHhmZiwKLTB4OTAsIDB4ZmEsIDB4ZDgsIDB4ZTUsIDB4ZjAsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4YWUsIDB4MDIsIDB4YWYsIDB4MDEsIDB4OGUsIDB4NTAsIDB4OGYsCi0weDUxLCAweDc0LCAweDBhLCAweDI1LCAweDUxLCAweGY1LCAweDUxLCAweGU0LCAweDM1LCAweDUwLCAweGY1LCAweDUwLCAweDkwLCAweGZhLCAweGRiLCAweGUwLAotMHhmZiwgMHgxNCwgMHhmZSwgMHg5MCwgMHhmYSwgMHhkOSwgMHhlMCwgMHg1ZSwgMHhmZSwgMHhjMywgMHhlZiwgMHg5ZSwgMHhmZiwgMHg5MCwgMHhmYSwgMHhkZCwKLTB4ZjAsIDB4YzMsIDB4OTAsIDB4ZmEsIDB4ZDcsIDB4ZTAsIDB4OWYsIDB4OTAsIDB4ZmEsIDB4ZDYsIDB4ZTAsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDYsIDB4YTMsCi0weGUwLCAweDkwLCAweGZhLCAweGRkLCAweGYwLCAweDEyLCAweDIwLCAweGE5LCAweDYwLCAweDAzLCAweGUwLCAweGZmLCAweDIyLCAweDEyLCAweDJlLCAweDJiLAotMHg5MCwgMHhmYSwgMHhkNiwgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHg0ZSwgMHg2MCwgMHgyYiwgMHg5MCwgMHhmYSwgMHhkYSwgMHhlMCwgMHhmYywKLTB4YTMsIDB4ZTAsIDB4ZmQsIDB4ZDMsIDB4ZWYsIDB4OWQsIDB4ZWUsIDB4OWMsIDB4NDAsIDB4MDcsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4ZGQsIDB4ZjAsIDB4ODAsCi0weDA4LCAweDkwLCAweGZhLCAweGQ3LCAweGUwLCAweDkwLCAweGZhLCAweGRkLCAweGYwLCAweDEyLCAweDIwLCAweGE5LCAweDYwLCAweDAzLCAweGUwLCAweGZmLAotMHgyMiwgMHgxMiwgMHgyZSwgMHgyYiwgMHg4MCwgMHhjYSwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHg1MiwgMHhlNCwgMHhmNSwgMHgyZCwgMHhmNSwKLTB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4N2YsIDB4MDAsIDB4MjIsIDB4YWEsIDB4NTAsIDB4YTksIDB4NTEsIDB4N2IsIDB4MDEsIDB4OTAsCi0weGZhLCAweGQ4LCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweDkwLCAweGZhLCAweGRkLCAweGUwLCAweGY1LCAweDRhLCAweDEyLCAweDI5LCAweDYwLAotMHg5MCwgMHhmYSwgMHhkYywgMHhlZiwgMHhmMCwgMHgyMiwgMHhlZiwgMHgyNCwgMHhhZSwgMHg2MCwgMHg1MiwgMHgyNCwgMHhmZSwgMHg2MCwgMHgyZSwgMHgyNCwKLTB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MjEsIDB4NjksIDB4MjQsIDB4MDYsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MjEsIDB4YjEsIDB4NzgsIDB4NzEsIDB4ZTYsCi0weDU0LCAweGZiLCAweGY2LCAweDkwLCAweGZmLCAweGE1LCAweGUwLCAweGY1LCAweDIyLCAweDQ0LCAweDBmLCAweGYwLCAweDc0LCAweDMzLCAweDkwLCAweGZhLAotMHg5NCwgMHhmMCwgMHhlNSwgMHgyMiwgMHhhMywgMHhmMCwgMHg5MCwgMHhmYSwgMHhiMiwgMHg3NCwgMHgwMSwgMHhmMCwgMHgyMiwgMHg3OCwgMHg3MiwgMHhlNiwKLTB4NTQsIDB4ZmIsIDB4ZjYsIDB4OTAsIDB4ZmYsIDB4YjUsIDB4ZTAsIDB4ZjUsIDB4MjIsIDB4NDQsIDB4MGYsIDB4ZjAsIDB4NzQsIDB4NDMsIDB4OTAsIDB4ZmEsCi0weDk2LCAweGYwLCAweGU1LCAweDIyLCAweGEzLCAweGYwLCAweDkwLCAweGZhLCAweGIzLCAweDc0LCAweDAxLCAweGYwLCAweDIyLCAweDkwLCAweGZhLCAweGEwLAotMHhlMCwgMHhhMywgMHgyMCwgMHhlNSwgMHgwMywgMHgwMiwgMHgyMSwgMHhiMSwgMHg5MCwgMHhmZiwgMHhhNiwgMHhlMCwgMHg5MCwgMHhmYSwgMHhjZCwgMHhmMCwKLTB4YTMsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4Y2QsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4MGYsIDB4ZmUsIDB4NjAsIDB4MTAsIDB4OTAsIDB4ZmYsIDB4YTYsIDB4MTIsCi0weDIzLCAweDBkLCAweDkwLCAweGZmLCAweGE2LCAweGUwLCAweDkwLCAweGZhLCAweGNkLCAweGYwLCAweDgwLCAweGU2LCAweDkwLCAweGZhLCAweGNlLCAweGUwLAotMHhmZiwgMHg3NCwgMHgzNCwgMHhmZSwgMHgxMiwgMHgyZCwgMHg4NSwgMHhlZiwgMHg3MCwgMHg1NywgMHg5MCwgMHhmYSwgMHhjZSwgMHhlMCwgMHhmZiwgMHg3NCwKLTB4MzQsIDB4OTAsIDB4ZmEsIDB4OTgsIDB4ZjAsIDB4ZWYsIDB4YTMsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YWEsIDB4ZTAsIDB4YTMsIDB4MzAsIDB4ZTUsCi0weDQwLCAweDkwLCAweGZmLCAweGI2LCAweGUwLCAweDkwLCAweGZhLCAweGNkLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweGZhLCAweGNkLCAweGUwLCAweGZmLAotMHg1NCwgMHgwZiwgMHhmZSwgMHg2MCwgMHgxMCwgMHg5MCwgMHhmZiwgMHhiNiwgMHgxMiwgMHgyMywgMHgwZCwgMHg5MCwgMHhmZiwgMHhiNiwgMHhlMCwgMHg5MCwKLTB4ZmEsIDB4Y2QsIDB4ZjAsIDB4ODAsIDB4ZTYsIDB4OTAsIDB4ZmEsIDB4Y2UsIDB4ZTAsIDB4ZmYsIDB4NzQsIDB4NDQsIDB4ZmUsIDB4MTIsIDB4MmQsIDB4ODUsCi0weGVmLCAweDcwLCAweDBlLCAweDkwLCAweGZhLCAweGNlLCAweGUwLCAweGZmLCAweDc0LCAweDQ0LCAweDkwLCAweGZhLCAweDlhLCAweGYwLCAweGVmLCAweGEzLAotMHhmMCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHhmMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwMCwgMHhjMCwKLTB4MDAsIDB4YzAsIDB4MDEsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDQsIDB4YzAsIDB4MDUsIDB4YzAsIDB4MDYsIDB4YzAsIDB4MDcsIDB4OTAsCi0weGZmLCAweDkyLCAweGUwLCAweGZmLCAweDkwLCAweGZhLCAweGNjLCAweGYwLCAweDkwLCAweGZmLCAweDkyLCAweGU0LCAweGYwLCAweGVmLCAweDEyLCAweDFiLAotMHhmYywgMHgyMiwgMHg2OSwgMHgyNiwgMHgyMiwgMHg2OSwgMHgyZSwgMHgyMiwgMHgwYywgMHgzMCwgMHgyMiwgMHgwYywgMHgzMiwgMHgyMiwgMHgxYSwgMHgzOCwKLTB4MjIsIDB4MmMsIDB4M2EsIDB4MjIsIDB4NWUsIDB4M2UsIDB4MjIsIDB4NDksIDB4NDQsIDB4MjIsIDB4M2UsIDB4NDYsIDB4MjIsIDB4NTQsIDB4NTAsIDB4MjIsCi0weDU0LCAweDUyLCAweDIyLCAweDU0LCAweDU0LCAweDIyLCAweDU0LCAweDU2LCAweDAwLCAweDAwLCAweDIyLCAweDZlLCAweDkwLCAweGZhLCAweGNjLCAweGUwLAotMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMSwgMHg1ZSwgMHg4MCwgMHg2MiwgMHg3YywgMHgwMCwgMHg3ZCwgMHgwMSwgMHg3ZiwgMHgwMywKLTB4MTIsIDB4MTEsIDB4NWUsIDB4OTAsIDB4ZmYsIDB4ZmUsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NTAsIDB4N2MsIDB4MDAsIDB4N2QsIDB4MDEsCi0weDdmLCAweDAyLCAweDEyLCAweDExLCAweDVlLCAweDkwLCAweGZmLCAweGZlLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDgwLCAweDNlLCAweDdjLCAweDAwLAotMHg3ZCwgMHgwMSwgMHg3ZiwgMHgwNSwgMHgxMiwgMHgxMSwgMHg1ZSwgMHg4MCwgMHgzMywgMHg3YywgMHgwMCwgMHg3ZCwgMHgwMSwgMHg3ZiwgMHgwNiwgMHgxMiwKLTB4MTEsIDB4NWUsIDB4ODAsIDB4MjgsIDB4OTAsIDB4ZmEsIDB4Y2MsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MjAsIDB4YzYsIDB4ODAsIDB4MWUsIDB4N2MsIDB4MDAsCi0weDdkLCAweDAxLCAweDdmLCAweDA0LCAweDEyLCAweDExLCAweDVlLCAweDgwLCAweDEzLCAweDEyLCAweDI4LCAweDRlLCAweDgwLCAweDBlLCAweDkwLCAweGZhLAotMHhjYywgMHhlMCwgMHgyNCwgMHgwMCwgMHhmZiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmZSwgMHgxMiwgMHgyZCwgMHg4NSwgMHhkMCwgMHgwNywgMHhkMCwgMHgwNiwKLTB4ZDAsIDB4MDUsIDB4ZDAsIDB4MDQsIDB4ZDAsIDB4MDMsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsCi0weGQwLCAweDgzLCAweGQwLCAweGYwLCAweGQwLCAweGUwLCAweDMyLCAweDc4LCAweDdjLCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweDI0LCAweDA0LCAweDhlLAotMHg4MywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHgyMiwgMHg3NCwgMHgxMywgMHgyNSwgMHgyNCwgMHhmNSwgMHg4MiwgMHhlNCwKLTB4MzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4MjIsIDB4NzgsIDB4ODAsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4MjIsCi0weDc4LCAweDgwLCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweGFhLCAweDA2LCAweGY4LCAweGFjLCAweDAyLCAweDdkLCAweDAxLCAweDdiLCAweGZmLCAweDdhLAotMHgzMiwgMHg3OSwgMHg1NiwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHgwYSwgMHgwMiwgMHgxYSwgMHg3YywgMHg3OCwgMHg4MCwgMHhlNiwgMHhmYywgMHgwOCwgMHhlNiwKLTB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4YTMsIDB4MjIsIDB4ZmYsIDB4OTAsIDB4ZjksIDB4NmYsIDB4MDIsIDB4MWIsIDB4ZWEsIDB4OTAsIDB4ZjksCi0weDZhLCAweDEyLCAweDFiLCAweGVhLCAweDkwLCAweDAwLCAweDA0LCAweDAyLCAweDFhLCAweGJiLCAweDc4LCAweDdlLCAweGU2LCAweGZlLCAweDA4LCAweGU2LAotMHhmZiwgMHgyMiwgMHhlZCwgMHgxMiwgMHgxYSwgMHhmYSwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHg4MiwgMHgyMiwgMHhlZiwgMHhmMCwgMHg5MCwKLTB4ZmEsIDB4Y2UsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4NGUsIDB4ZmUsIDB4ZjAsIDB4ZWYsIDB4NTQsIDB4ZjAsIDB4NGUsIDB4ZjAsIDB4MjIsIDB4NzgsIDB4ODAsCi0weGU2LCAweGZjLCAweDA4LCAweGU2LCAweDhjLCAweDgzLCAweDIyLCAweDc4LCAweDdlLCAweGU2LCAweGZjLCAweDA4LCAweGU2LCAweGZkLCAweDhjLCAweDgzLAotMHgyMiwgMHhhNiwgMHgwNywgMHhlNiwgMHgyNCwgMHg2ZSwgMHhmOCwgMHhlNiwgMHgyMiwgMHg3OCwgMHg3ZSwgMHhlNiwgMHhmYSwgMHgwOCwgMHhlNiwgMHhmYiwKLTB4MjIsIDB4MDgsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4OGUsIDB4ODMsIDB4MjIsIDB4MjYsIDB4ZjYsIDB4MTgsIDB4ZWUsIDB4MzYsIDB4ZjYsIDB4MjIsCi0weGVmLCAweDI0LCAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDNlLCAweGY1LCAweDgzLCAweDIyLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGU1LCAweDgyLAotMHgyMiwgMHg4YiwgMHgyNSwgMHg4YSwgMHgyNiwgMHg4OSwgMHgyNywgMHg4ZCwgMHgyOCwgMHg5MCwgMHhmYSwgMHhkMiwgMHhlNCwgMHhmMCwgMHhhMywgMHg3NCwKLTB4MDIsIDB4ZjAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4ZmEsIDB4NzksIDB4ZDEsIDB4OTAsIDB4ZmEsIDB4ZDIsIDB4ZTAsIDB4ZjUsIDB4MmQsIDB4YTMsIDB4ZTAsCi0weGY1LCAweDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZhLCAweGQxLCAweGUwLCAweDY1LCAweDI4LCAweDYwLCAweDQ2LCAweGEzLAotMHhlMCwgMHhmZiwgMHhhMywgMHhlMCwgMHhhMywgMHhjZiwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHgxMiwgMHgyMywgMHhmMCwgMHg5MCwgMHhmYSwgMHhkMSwKLTB4ZTAsIDB4ZmYsIDB4OTAsIDB4ZmEsIDB4ZDQsIDB4ZTQsIDB4OGYsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4MWMsIDB4MTIsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4ZmEsCi0weGQ0LCAweGUwLCAweGZmLCAweGEzLCAweGUwLCAweDkwLCAweGZhLCAweGQyLCAweGNmLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDkwLCAweGZhLCAweGQxLAotMHhlMCwgMHhhMywgMHg3NSwgMHhmMCwgMHgwMCwgMHgxMiwgMHgxYiwgMHgxYywgMHg5MCwgMHhmYSwgMHhkMiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwNCwgMHgxMiwKLTB4MWIsIDB4MWMsIDB4MDIsIDB4MjMsIDB4NzIsIDB4OTAsIDB4ZmEsIDB4ZDMsIDB4ZTAsIDB4MjQsIDB4MDEsIDB4ZmYsIDB4OTAsIDB4ZmEsIDB4ZDIsIDB4ZTAsCi0weDM0LCAweDAwLCAweGFiLCAweDI1LCAweGFhLCAweDI2LCAweGE5LCAweDI3LCAweDhmLCAweGYwLCAweDEyLCAweDFiLCAweDgwLCAweDdmLCAweDAwLCAweDIyLAotMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhkMSwgMHg5MCwgMHhmYSwgMHhkMiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHgxYiwgMHgxYywKLTB4ODUsIDB4ZjAsIDB4MmUsIDB4ZjUsIDB4MmQsIDB4N2QsIDB4MDEsIDB4MDIsIDB4MjYsIDB4OTgsIDB4OGYsIDB4NjIsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsCi0weDIyLCAweGZhLCAweDhlLCAweDgzLCAweDI0LCAweDBiLCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDQ0LCAweDAyLCAweGYwLAotMHgwOCwgMHgxMiwgMHgyMiwgMHhkYywgMHhlMCwgMHhhMywgMHgzMCwgMHhlNSwgMHgwYywgMHgxMiwgMHgyMywgMHgwNiwgMHgyNCwgMHgwYiwgMHgxMiwgMHgyMiwKLTB4YTEsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4NzgsIDB4N2MsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZmYsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsCi0weGUwLCAweDU0LCAweGI4LCAweGZkLCAweGYwLCAweGU1LCAweDYyLCAweDI0LCAweGZlLCAweDQ0LCAweDIwLCAweGZjLCAweDRkLCAweGYwLCAweGU1LCAweDgyLAotMHgyNCwgMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg1NCwgMHhiOCwgMHhmMCwgMHg0YywgMHhmMCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywKLTB4NzQsIDB4MDMsIDB4ZjAsIDB4MTgsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZmYsIDB4OGUsIDB4ODMsIDB4MjQsIDB4MDUsIDB4MTIsIDB4MjIsIDB4YTEsCi0weGMwLCAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZkLCAweDc0LCAweDk5LCAweDI1LCAweDYyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZhLCAweGY1LAotMHg4MywgMHhlMCwgMHg1NCwgMHhmYywgMHg0NCwgMHgwMywgMHhmYywgMHhlZCwgMHg0YywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhmMCwgMHg4ZiwgMHg4MiwKLTB4OGUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NDQsIDB4ODAsCi0weGYwLCAweDEyLCAweDMyLCAweDg0LCAweDc0LCAweDZlLCAweDI1LCAweDYyLCAweGY4LCAweDc0LCAweDA0LCAweDQ2LCAweGY2LCAweDdmLCAweDAwLCAweDIyLAotMHgxMiwgMHgxMCwgMHg0YiwgMHg3ZiwgMHgwMiwgMHgxMiwgMHgxMiwgMHg2MSwgMHg3OCwgMHg2NywgMHhlNiwgMHg0NCwgMHgwMiwgMHhmNiwgMHhkMiwgMHhiMCwKLTB4ZDIsIDB4YjEsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTQsIDB4ZjAsIDB4ODAsIDB4MzYsCi0weGQyLCAweGIzLCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDkwLCAweGZhLCAweDdlLCAweGYwLCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDkwLCAweGZhLAotMHg3ZiwgMHhmMCwgMHg5MCwgMHhmZiwgMHhhMiwgMHhlMCwgMHg5MCwgMHhmYSwgMHg3YywgMHhmMCwgMHg5MCwgMHhmZiwgMHhiMiwgMHhlMCwgMHg5MCwgMHhmYSwKLTB4N2QsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YTIsIDB4NzQsCi0weDQwLCAweGYwLCAweDkwLCAweGZmLCAweGIyLCAweGYwLCAweDkwLCAweGZhLCAweGU3LCAweGU1LCAweGE4LCAweGYwLCAweDc1LCAweGE4LCAweDgxLCAweDkwLAotMHhmZiwgMHg5MiwgMHhlMCwgMHg2MCwgMHgwNCwgMHhlNCwgMHhmMCwgMHg4MCwgMHhmNiwgMHg5MCwgMHhmZiwgMHhmZCwgMHg3NCwgMHgzYSwgMHhmMCwgMHg0MywKLTB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4OTAsIDB4ZmEsIDB4N2UsIDB4ZTAsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4N2YsCi0weGUwLCAweDkwLCAweGZmLCAweGI0LCAweGYwLCAweDkwLCAweGZhLCAweDdjLCAweGUwLCAweDkwLCAweGZmLCAweGEyLCAweGYwLCAweDkwLCAweGZhLCAweDdkLAotMHhlMCwgMHg5MCwgMHhmZiwgMHhiMiwgMHhmMCwgMHg5MCwgMHhmOSwgMHgxOCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhjMiwgMHhiMywgMHg5MCwgMHhmYSwgMHhlNywKLTB4ZTAsIDB4ZjUsIDB4YTgsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4OGIsIDB4NWMsIDB4OGEsIDB4NWQsIDB4ODksIDB4NWUsIDB4MTIsIDB4MmUsIDB4MGQsIDB4OTAsCi0weGZhLCAweGMzLCAweDEyLCAweDFiLCAweGYzLCAweGFhLCAweDVkLCAweGE5LCAweDVlLCAweDkwLCAweGZhLCAweGM2LCAweDEyLCAweDFiLCAweGYzLCAweDkwLAotMHhmYSwgMHhjNywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwYSwgMHgxMiwgMHgxYiwgMHgxYywgMHg5MCwgMHhmYSwgMHhjNiwgMHgxMiwgMHgxYiwgMHhlYSwgMHhlOSwKLTB4MjQsIDB4MDEsIDB4ZjksIDB4ZTQsIDB4M2EsIDB4ZmEsIDB4OTAsIDB4ZmEsIDB4YzksIDB4MTIsIDB4MWIsIDB4ZjMsIDB4YWIsIDB4NWMsIDB4YWEsIDB4NWQsCi0weGE5LCAweDVlLCAweDEyLCAweDJlLCAweDE5LCAweGUwLCAweGZmLCAweGMzLCAweDEzLCAweGYwLCAweGU0LCAweDc4LCAweDgyLCAweGY2LCAweDkwLCAweGZhLAotMHhjMSwgMHhlMCwgMHhmZiwgMHg3OCwgMHg4MiwgMHhlNiwgMHhjMywgMHg5ZiwgMHg1MCwgMHg0YSwgMHg5MCwgMHhmYSwgMHhjMywgMHgxMiwgMHgyZCwgMHhlZSwKLTB4ZmYsIDB4NzgsIDB4ODMsIDB4ZjYsIDB4OTAsIDB4ZmEsIDB4YzYsIDB4MTIsIDB4MmQsIDB4ZWUsIDB4ZmUsIDB4ZjQsIDB4NWYsIDB4ZmYsIDB4NzgsIDB4ODMsCi0weGY2LCAweDEyLCAweDJkLCAweGViLCAweDVlLCAweDRmLCAweGZmLCAweDc4LCAweDgzLCAweGY2LCAweDEyLCAweDJkLCAweGY0LCAweDc1LCAweGYwLCAweDAyLAotMHgxMiwgMHgxYiwgMHgxYywgMHg5MCwgMHhmYSwgMHhjNywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMiwgMHgxMiwgMHgxYiwgMHgxYywgMHhhYiwgMHg1YywgMHhhYSwKLTB4NWQsIDB4YTksIDB4NWUsIDB4OTAsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MWEsIDB4YmIsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4MTIsIDB4MmUsIDB4MDMsIDB4NzgsCi0weDgyLCAweDA2LCAweDgwLCAweGFhLCAweGU0LCAweDkwLCAweGZhLCAweGMyLCAweGYwLCAweDIyLCAweDhiLCAweDU2LCAweDhhLCAweDU3LCAweDg5LCAweDU4LAotMHg5MCwgMHhmYSwgMHhjMiwgMHg3NCwgMHgwNiwgMHhmMCwgMHhlNCwgMHg5MCwgMHhmYSwgMHhjMSwgMHhmMCwgMHgxMiwgMHgxYSwgMHhhMiwgMHgyNCwgMHg2ZSwKLTB4NjAsIDB4MjYsIDB4MTQsIDB4NzAsIDB4NzAsIDB4MTIsIDB4MmQsIDB4ZGEsIDB4NjAsIDB4MDksIDB4MjQsIDB4MzAsIDB4NzAsIDB4MTIsIDB4MTIsIDB4MjUsCi0weDU2LCAweDgwLCAweDYyLCAweDEyLCAweDJlLCAweDI0LCAweDEyLCAweDFmLCAweGRhLCAweDkwLCAweGZhLCAweGMyLCAweGVmLCAweGYwLCAweDgwLCAweDU1LAotMHg5MCwgMHhmYSwgMHhjMiwgMHg3NCwgMHg4MSwgMHhmMCwgMHg4MCwgMHg0ZCwgMHgxMiwgMHgyZCwgMHhkYSwgMHg2MCwgMHgwOSwgMHgyNCwgMHgzMCwgMHg3MCwKLTB4M2UsIDB4MTIsIDB4MmQsIDB4MzAsIDB4ODAsIDB4M2YsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDMsIDB4ZjksIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZmEsIDB4N2IsCi0weDAxLCAweGMwLCAweDAzLCAweGMwLCAweDAyLCAweGMwLCAweDAxLCAweDEyLCAweDJlLCAweDI0LCAweDkwLCAweDAwLCAweDA1LCAweDEyLCAweDFhLCAweGJiLAotMHhmZCwgMHg5MCwgMHgwMCwgMHgwOCwgMHgxMiwgMHgxYiwgMHg0OCwgMHhmNSwgMHgyZSwgMHg4NSwgMHhmMCwgMHgyZCwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMiwKLTB4ZDAsIDB4MDMsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmEsIDB4YzEsIDB4ZWYsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4ODAsIDB4MDYsIDB4OTAsCi0weGZhLCAweGMyLCAweDc0LCAweDgxLCAweGYwLCAweDkwLCAweGZhLCAweGMyLCAweGUwLCAweDEyLCAweDJlLCAweDI0LCAweDkwLCAweDAwLCAweDAyLCAweDEyLAotMHgxYSwgMHhmYSwgMHg5MCwgMHhmYSwgMHhjMSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg4YiwgMHgyOSwgMHg4YSwgMHgyYSwgMHg4OSwgMHgyYiwgMHg4ZCwgMHgyYywKLTB4ZTUsIDB4MmMsIDB4NzAsIDB4MDMsIDB4YWYsIDB4MmMsIDB4MjIsIDB4MTIsIDB4MmUsIDB4NTMsIDB4NzAsIDB4MTYsIDB4MTIsIDB4MmUsIDB4NzIsIDB4ZTUsCi0weDJkLCAweDkwLCAweGZmLCAweGYxLCAweGYwLCAweDEyLCAweDMxLCAweGQ4LCAweDUwLCAweGYyLCAweDEyLCAweDI3LCAweDI1LCAweDQwLCAweDBiLCAweDdmLAotMHgwMCwgMHgyMiwgMHgxMiwgMHgyZSwgMHg3MiwgMHgxMiwgMHgyNywgMHgyNSwgMHg1MCwgMHhmOCwgMHg5MCwgMHhmZiwgMHhmMywgMHg3NCwgMHhhMSwgMHhmMCwKLTB4ZTUsIDB4MmMsIDB4YjQsIDB4MDEsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ZjEsIDB4ZTQsCi0weGYwLCAweGY1LCAweDJmLCAweGU1LCAweDJjLCAweDE0LCAweGZmLCAweGU1LCAweDJmLCAweGMzLCAweDlmLCAweDUwLCAweDJhLCAweDEyLCAweDMxLCAweGMxLAotMHg0MCwgMHgwMywgMHhhZiwgMHgyZiwgMHgyMiwgMHhjMywgMHhlNSwgMHgyYywgMHg5NSwgMHgyZiwgMHhmZiwgMHhiZiwgMHgwMiwgMHgwNywgMHg5MCwgMHhmZiwKLTB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MTIsIDB4MmUsIDB4NjUsIDB4MDUsIDB4MmYsIDB4NzQsIDB4MDEsIDB4MjUsIDB4MmIsIDB4ZjUsIDB4MmIsCi0weGU0LCAweDM1LCAweDJhLCAweGY1LCAweDJhLCAweDgwLCAweGNjLCAweDEyLCAweDMxLCAweGMxLCAweDQwLCAweDAzLCAweDdmLCAweDE4LCAweDIyLCAweDEyLAotMHgyZSwgMHg2NSwgMHhhZiwgMHgyYywgMHgyMiwgMHg5MCwgMHhmZiwgMHhmMSwgMHhlNSwgMHgyZSwgMHhmMCwgMHgwMiwgMHgzMSwgMHhkOCwgMHgxMiwgMHgxMCwKLTB4NGIsIDB4NzgsIDB4ODQsIDB4MTIsIDB4MjMsIDB4MzEsIDB4MzAsIDB4ZTEsIDB4MDgsIDB4N2YsIDB4MTMsIDB4MTIsIDB4MzEsIDB4YTksIDB4MDIsIDB4MjcsCi0weGJjLCAweDc4LCAweDg0LCAweGU2LCAweGY5LCAweDI0LCAweDEzLCAweDEyLCAweDIyLCAweGFkLCAweGUwLCAweGZmLCAweDMwLCAweGU3LCAweDQwLCAweDU0LAotMHgwMywgMHg2MCwgMHgxZSwgMHhlOSwgMHhiNCwgMHgwMywgMHgwZCwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlMCwgMHg0NCwKLTB4MDQsIDB4ZjAsIDB4ODAsIDB4NDYsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4ODAsCi0weDM5LCAweGU5LCAweGI0LCAweDAzLCAweDBkLCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotMHg4MCwgMHgyOCwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgxYiwgMHhlZiwKLTB4NTQsIDB4MDMsIDB4NjAsIDB4MTQsIDB4ZTksIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4ODAsCi0weDA3LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweGMyLCAweGIzLCAweDkwLCAweGY5LCAweDE4LCAweGUwLCAweDA0LCAweGYwLAotMHhhZiwgMHgwMSwgMHgxMiwgMHgyMiwgMHhlZSwgMHhmZCwgMHgxMiwgMHgyZiwgMHhlNSwgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgxMCwgMHhjZSwgMHg3NSwKLTB4YTgsIDB4NDAsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4OGIsIDB4MDIsIDB4MjgsIDB4MDksIDB4MDIsIDB4MzEsCi0weDhjLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLAotMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwKLTB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsCi0weDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDJiLCAweGE5LCAweGU0LCAweDdlLCAweDAxLCAweDkzLAotMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwKLTB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsCi0weDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLAotMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhlNCwgMHhmNSwKLTB4MjIsIDB4MTIsIDB4MWQsIDB4YzIsIDB4ZTAsIDB4YjQsIDB4MDQsIDB4MGQsIDB4ZTUsIDB4MjIsIDB4MjQsIDB4MDMsIDB4ZmYsIDB4MTIsIDB4MzAsIDB4MTMsCi0weDEyLCAweDFkLCAweGMyLCAweGU0LCAweGYwLCAweDA1LCAweDIyLCAweGU1LCAweDIyLCAweGMzLCAweDk0LCAweDAyLCAweDQwLCAweGUzLCAweGU0LCAweGY1LAotMHgyMiwgMHg3NSwgMHhmMCwgMHgwMiwgMHhlNSwgMHgyMiwgMHg5MCwgMHhmYSwgMHg5NCwgMHgxMiwgMHgxZSwgMHgwMywgMHg2MCwgMHgyYywgMHgxMiwgMHgyZCwKLTB4ODUsIDB4ZWYsIDB4NjAsIDB4NTIsIDB4NzUsIDB4ZjAsIDB4MDIsIDB4ZTUsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4OTQsIDB4MTIsIDB4MWIsIDB4Y2MsIDB4ZTQsCi0weGYwLCAweGEzLCAweGYwLCAweDc1LCAweGYwLCAweDBhLCAweGU1LCAweDIyLCAweDkwLCAweGZhLCAweGEwLCAweDEyLCAweDFiLCAweGNjLCAweGUwLCAweGEzLAotMHgzMCwgMHhlNiwgMHgzMywgMHgxMiwgMHgxZCwgMHhjMiwgMHg3NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHg3NSwgMHhmMCwgMHgwMiwgMHhlNSwgMHgyMiwgMHg5MCwKLTB4ZmEsIDB4OTgsIDB4MTIsIDB4MWUsIDB4MDMsIDB4NjAsIDB4MTYsIDB4MTIsIDB4MmQsIDB4ODUsIDB4ZWYsIDB4NjAsIDB4MTksIDB4NzUsIDB4ZjAsIDB4MDIsCi0weGU1LCAweDIyLCAweDkwLCAweGZhLCAweDk4LCAweDEyLCAweDFiLCAweGNjLCAweGU0LCAweGYwLCAweGEzLCAweGYwLCAweDIyLCAweDA1LCAweDIyLCAweGU1LAotMHgyMiwgMHhjMywgMHg5NCwgMHgwMiwgMHg0MCwgMHg5YiwgMHgyMiwgMHhlNCwgMHhmZiwgMHg5MCwgMHhmZiwgMHg4MywgMHhlMCwgMHg1NCwgMHgwZiwgMHhmZSwKLTB4ZWYsIDB4YzMsIDB4OWUsIDB4NTAsIDB4MTcsIDB4NzQsIDB4ZjAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmUsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0weDEyLCAweDFjLCAweGMxLCAweDEyLCAweDFhLCAweGU4LCAweDBmLCAweDEyLCAweDFjLCAweGIwLCAweDgwLCAweGRkLCAweGVmLCAweGZkLCAweGMzLCAweGU1LAotMHgzYSwgMHg5ZCwgMHhmNSwgMHgzYSwgMHhlNSwgMHgzOSwgMHg5NCwgMHgwMCwgMHhmNSwgMHgzOSwgMHhkMywgMHhlNSwgMHgzYSwgMHg5NCwgMHgwMCwgMHhlNSwKLTB4MzksIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDYsIDB4ZTQsIDB4OTAsIDB4ZmYsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MWQsIDB4ZGYsIDB4MTIsIDB4MWUsCi0weDM0LCAweDEyLCAweDFlLCAweDI2LCAweDEyLCAweDFhLCAweGEyLCAweDI0LCAweDZlLCAweDYwLCAweDFlLCAweDE0LCAweDYwLCAweDFiLCAweDI0LCAweDhlLAotMHg3MCwgMHgyZCwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgxYSwgMHhiYiwgMHhmZiwgMHgyNCwgMHhmYywgMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgxZiwKLTB4ZWYsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsIDB4MGQsIDB4MDIsIDB4MTEsIDB4NWUsIDB4MTIsIDB4MWUsIDB4M2IsIDB4MTIsIDB4MjUsIDB4ZmEsIDB4MTIsCi0weDFkLCAweDg5LCAweDEyLCAweDFhLCAweGJiLCAweDYwLCAweDAzLCAweDAyLCAweDMyLCAweDdhLCAweGU0LCAweGZmLCAweDEyLCAweDMyLCAweDZlLCAweDIyLAotMHg4YiwgMHg0NSwgMHg4YSwgMHg0NiwgMHg4OSwgMHg0NywgMHg4YywgMHg0OCwgMHg4ZCwgMHg0OSwgMHhkMiwgMHgwMCwgMHgxMiwgMHgyZSwgMHg1MywgMHg3MCwKLTB4MTYsIDB4MTIsIDB4MmUsIDB4NzIsIDB4ZTUsIDB4NDgsIDB4OTAsIDB4ZmYsIDB4ZjEsIDB4ZjAsIDB4MTIsIDB4MzEsIDB4ZDgsIDB4NTAsIDB4ZjIsIDB4MTIsCi0weDI5LCAweGQ1LCAweDQwLCAweDBiLCAweDdmLCAweDE4LCAweDIyLCAweDEyLCAweDJlLCAweDcyLCAweDEyLCAweDI5LCAweGQ1LCAweDUwLCAweGY4LCAweGU0LAotMHhmNSwgMHg0YiwgMHhlNSwgMHg0YSwgMHgxNCwgMHhmZiwgMHhlNSwgMHg0YiwgMHhjMywgMHg5ZiwgMHg1MCwgMHgxNywgMHgxMiwgMHgyOSwgMHhjNSwgMHg0MCwKLTB4MDMsIDB4N2YsIDB4MTgsIDB4MjIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4MDEsIDB4MjUsIDB4NDcsIDB4ZjUsIDB4NDcsIDB4ZTQsIDB4MzUsIDB4NDYsIDB4ZjUsCi0weDQ2LCAweDgwLCAweGRmLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDEyLCAweDI5LCAweGM1LCAweDQwLCAweDAzLCAweDdmLAotMHgxOCwgMHgyMiwgMHg3ZiwgMHgwMCwgMHgyMiwgMHhhYiwgMHg0NSwgMHhhYSwgMHg0NiwgMHhhOSwgMHg0NywgMHgxMiwgMHgxYSwgMHhhMiwgMHg5MCwgMHhmZiwKLTB4ZjEsIDB4ZjAsIDB4MDIsIDB4MzEsIDB4ZDgsIDB4OTAsIDB4ZmYsIDB4ZjEsIDB4ZTUsIDB4NDksIDB4ZjAsIDB4MDIsIDB4MzEsIDB4ZDgsIDB4N2IsIDB4MDEsCi0weDdhLCAweGZhLCAweDc5LCAweGNmLCAweGU0LCAweGZkLCAweDEyLCAweDIzLCAweDYxLCAweDkwLCAweGZhLCAweGNmLCAweGU0LCAweDc1LCAweGYwLCAweDA5LAotMHgxMiwgMHgxYiwgMHgxYywgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgyMywgMHg5MCwgMHhmYSwgMHhjZiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwKLTB4MTIsIDB4MWIsIDB4MzIsIDB4ODUsIDB4ZjAsIDB4MmUsIDB4ZjUsIDB4MmQsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmYsIDB4ZjcsCi0weGU1LCAweDIzLCAweDEyLCAweDJhLCAweDM5LCAweDkwLCAweGZmLCAweGY2LCAweGU1LCAweDIzLCAweGYwLCAweDkwLCAweGZhLCAweGNmLCAweGU0LCAweGYwLAotMHhhMywgMHg3NCwgMHgwNiwgMHgxMiwgMHgyYSwgMHgzOSwgMHhlNSwgMHgyMywgMHgzMCwgMHhlMCwgMHgwNywgMHg5MCwgMHhmZiwgMHhmYywgMHg3NCwgMHg5NCwKLTB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4NzQsIDB4OTAsIDB4ZjAsIDB4MjIsIDB4ZjAsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MjMsCi0weDkwLCAweGZhLCAweGNmLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweDFiLCAweDMyLCAweDg1LCAweGYwLCAweDJlLCAweGY1LCAweDJkLCAweDdkLAotMHgwMSwgMHgwMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmZiwgMHg5MywgMHg3NCwgMHg4MSwgMHhmMCwgMHg5MCwgMHhmZiwgMHhmZiwgMHhlMCwgMHg2MCwgMHgwNiwKLTB4OTAsIDB4ZmYsIDB4ZmMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4OTEsIDB4ZTAsIDB4NDQsIDB4OTAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4ZjksCi0weDE2LCAweGYwLCAweGEzLCAweGYwLCAweDEyLCAweDJiLCAweDM5LCAweDEyLCAweDE2LCAweGM5LCAweDEyLCAweDMwLCAweDY5LCAweDdlLCAweDA3LCAweDdmLAotMHhkMCwgMHgxMiwgMHgxMiwgMHgyYSwgMHg3ZSwgMHgwZiwgMHg3ZiwgMHhhMCwgMHgxMiwgMHgxMiwgMHg0NCwgMHhlNCwgMHg3OCwgMHg3NywgMHhmNiwgMHg3OCwKLTB4NzcsIDB4ZTYsIDB4ZmYsIDB4YzMsIDB4OTQsIDB4MDYsIDB4NTAsIDB4MGIsIDB4NzQsIDB4NmUsIDB4MmYsIDB4ZjgsIDB4ZTQsIDB4ZjYsIDB4NzgsIDB4NzcsCi0weDA2LCAweDgwLCAweGVjLCAweDdmLCAweDAzLCAweDEyLCAweDMwLCAweGIyLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDIwLCAweGU0LCAweDA1LCAweDdmLAotMHgwNCwgMHgxMiwgMHgzMCwgMHhiMiwgMHg5MCwgMHhmZiwgMHg5YiwgMHhlNCwgMHhmMCwgMHg5MCwgMHhmZiwgMHg5YSwgMHhmMCwgMHg5MCwgMHhmZiwgMHhlOCwKLTB4ZTAsIDB4NTQsIDB4MWYsIDB4ZjAsIDB4ZDIsIDB4YTgsIDB4MjIsIDB4MTUsIDB4NjUsIDB4YTgsIDB4NjUsIDB4YTYsIDB4MDcsIDB4MzAsIDB4MDgsIDB4MDUsCi0weDEyLCAweDExLCAweGFlLCAweDgwLCAweGY4LCAweGQyLCAweDA4LCAweGE4LCAweDY1LCAweGU2LCAweGZmLCAweGI0LCAweDAzLCAweDBmLCAweDc4LCAweDdjLAotMHg3NiwgMHhmZiwgMHgwOCwgMHg3NiwgMHhlMCwgMHgwOCwgMHg3NiwgMHhmZiwgMHgwOCwgMHg3NiwgMHhhMCwgMHg4MCwgMHgwZCwgMHg3OCwgMHg3YywgMHg3NiwKLTB4ZmYsIDB4MDgsIDB4NzYsIDB4ZTIsIDB4MDgsIDB4NzYsIDB4ZmYsIDB4MDgsIDB4NzYsIDB4YjAsIDB4NzgsIDB4ODAsIDB4NzYsIDB4ZmEsIDB4MDgsIDB4NzYsCi0weDllLCAweGVmLCAweDI0LCAweGZkLCAweDc1LCAweGYwLCAweDBhLCAweGE0LCAweGFlLCAweGYwLCAweDEyLCAweDIzLCAweDQ5LCAweDdiLCAweDAxLCAweDdhLAotMHhmZiwgMHg3OSwgMHg0OCwgMHg3OCwgMHg2OCwgMHgxMiwgMHgxYiwgMHhlMSwgMHhhOCwgMHg2NSwgMHhlNiwgMHgyNCwgMHhmZCwgMHg3NSwgMHhmMCwgMHgwOCwKLTB4YTQsIDB4ZmYsIDB4YWUsIDB4ZjAsIDB4NzgsIDB4NmEsIDB4MTIsIDB4MjMsIDB4NDksIDB4NzksIDB4MDgsIDB4NzgsIDB4NmIsIDB4MTIsIDB4MWIsIDB4ZTEsCi0weDc4LCAweDZkLCAweGVmLCAweDEyLCAweDIzLCAweDQ5LCAweDA1LCAweDY1LCAweDIyLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweDU0LCAweGFiLCAweGYwLAotMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHhmYSwgMHhlNiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhjZiwKLTB4ZTQsIDB4ZjUsIDB4MmQsIDB4ZjUsIDB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4N2UsIDB4MDAsIDB4OTAsIDB4ZmEsIDB4ZTQsIDB4ZWUsCi0weGYwLCAweGEzLCAweGVmLCAweGYwLCAweDY0LCAweDAxLCAweDcwLCAweDEwLCAweDkwLCAweGZhLCAweGNmLCAweGUwLCAweGI0LCAweDUyLCAweDA5LCAweDkwLAotMHhmOSwgMHgxNiwgMHhlMCwgMHg1NCwgMHhlZiwgMHhmMCwgMHg4MCwgMHgyOSwgMHg5MCwgMHhmYSwgMHhlNCwgMHhlMCwgMHg3MCwgMHgwNCwgMHhhMywgMHhlMCwKLTB4NjQsIDB4MDEsIDB4NzAsIDB4MTAsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTAsIDB4YjQsIDB4MTAsIDB4MDksIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4NDQsCi0weDEwLCAweGYwLCAweDgwLCAweDBkLCAweDkwLCAweGZhLCAweGU2LCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDU0LCAweGVmLAotMHhmMCwgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHgyMiwgMHgwMywgMHg2OCwgMHgwMSwgMHhmZiwgMHg0OCwgMHgwMywgMHg2YiwKLTB4MDEsIDB4ZmYsIDB4MDgsIDB4MDIsIDB4NjYsIDB4MDAsIDB4MDAsIDB4NDQsIDB4ZmEsIDB4OTgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDQsIDB4ZmEsCi0weDk0LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDQyLCAweGZhLCAweGIyLCAweDAwLCAweDAwLCAweDQyLCAweGZhLCAweDdlLCAweDAwLCAweDAwLCAweDQyLAotMHhmYSwgMHg3YywgMHgwMCwgMHgwMCwgMHg0MiwgMHhmOSwgMHg2ZCwgMHhmZiwgMHhmZiwgMHg0MiwgMHhmYSwgMHg3YSwgMHgwMCwgMHgwMCwgMHg0MSwgMHhmOSwKLTB4NjYsIDB4ZmYsIDB4NDEsIDB4ZjksIDB4MWMsIDB4MTksIDB4NDEsIDB4ZjksIDB4MTUsIDB4MDAsIDB4NDMsIDB4ZjksIDB4MTksIDB4MGEsIDB4MzIsIDB4MDIsCi0weDQxLCAweGY5LCAweDY4LCAweDIwLCAweDQxLCAweGY5LCAweDY5LCAweDIwLCAweDQxLCAweGY5LCAweDY1LCAweDAwLCAweDQxLCAweGY5LCAweDY3LCAweDAwLAotMHg0NCwgMHhmOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MiwgMHhmOSwgMHgxNiwgMHgwMCwgMHgwMCwgMHg0MSwgMHhmOSwgMHgxOCwgMHgwMCwKLTB4MDEsIDB4MjAsIDB4MDAsIDB4NDEsIDB4ZjgsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4OGEsIDB4ZWYsIDB4ZjYsIDB4MTIsCi0weDJhLCAweGM3LCAweDEyLCAweDIyLCAweGVlLCAweDMwLCAweGUwLCAweDI5LCAweDc4LCAweDdjLCAweDEyLCAweDIyLCAweGI3LCAweGUwLCAweDU0LCAweDdmLAotMHhmMCwgMHg3OCwgMHg2YiwgMHgxMiwgMHgxYiwgMHhkOCwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHgxYSwgMHhiYiwgMHgzMCwgMHhlNywgMHgwOSwgMHg5MCwKLTB4MDAsIDB4MDIsIDB4ZTQsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4ODAsIDB4ZTksIDB4NzgsIDB4N2MsIDB4MTIsIDB4MjIsIDB4YjcsIDB4ZTAsIDB4NDQsIDB4ODAsCi0weGYwLCAweDEyLCAweDIyLCAweGVlLCAweDMwLCAweGUxLCAweDFlLCAweDEyLCAweDIyLCAweDk3LCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDEyLCAweDMyLAotMHgxOSwgMHg3OCwgMHg2OCwgMHgxMiwgMHgxYiwgMHhkOCwgMHg5MCwgMHgwMCwgMHgwMiwgMHg3NCwgMHg4MCwgMHgxMiwgMHgxYSwgMHhmYSwgMHgxMiwgMHgyMiwKLTB4OTcsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MzEsIDB4YTksIDB4MDIsIDB4MTAsIDB4Y2UsCi0weDEyLCAweDEwLCAweDRiLCAweDc4LCAweDg1LCAweGVmLCAweGY2LCAweDEyLCAweDMxLCAweDUwLCAweDEyLCAweDMxLCAweGE5LCAweDc4LCAweDg1LCAweGU2LAotMHhmZiwgMHgyNCwgMHgxMywgMHgxMiwgMHgyMiwgMHhhZCwgMHhlMCwgMHhmZSwgMHgzMCwgMHhlNywgMHgxNiwgMHhlZiwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwKLTB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZmEsIDB4ZjAsIDB4ODAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZjUsIDB4ZjAsIDB4ODAsCi0weDE5LCAweGVlLCAweDU0LCAweDAzLCAweDYwLCAweDE0LCAweGVmLCAweGI0LCAweDAzLCAweDA5LCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDQ0LCAweDIwLAotMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHhmOSwgMHgxOCwgMHhlMCwgMHgxNCwgMHhmMCwKLTB4ZTAsIDB4NzAsIDB4MDIsIDB4ZDIsIDB4YjMsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4MTIsIDB4MWUsIDB4MWMsIDB4ZTUsIDB4M2EsIDB4NjQsIDB4MDksIDB4NzAsCi0weDA0LCAweGU1LCAweDM5LCAweDY0LCAweDAxLCAweDYwLCAweDQ4LCAweGMzLCAweGU1LCAweDNhLCAweDk0LCAweDA4LCAweGU1LCAweDM5LCAweDk0LCAweDAwLAotMHg0MCwgMHgxMSwgMHg3ZiwgMHgwOCwgMHhlZiwgMHhlNSwgMHgzYSwgMHg5NCwgMHgwOCwgMHhmNSwgMHgzYSwgMHhlNSwgMHgzOSwgMHg5NCwgMHgwMCwgMHhmNSwKLTB4MzksIDB4ODAsIDB4MDUsIDB4YWYsIDB4M2EsIDB4MTIsIDB4MWUsIDB4MzQsIDB4ZTQsIDB4ZmUsIDB4ZWUsIDB4YzMsIDB4OWYsIDB4NTAsIDB4MTksIDB4MTIsCi0weDFjLCAweGMxLCAweDEyLCAweDFhLCAweGEyLCAweGZkLCAweDc0LCAweGY4LCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZlLCAweGY1LCAweDgzLAotMHhlZCwgMHhmMCwgMHgwZSwgMHgxMiwgMHgxYywgMHhiMCwgMHg4MCwgMHhlMiwgMHhlZiwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhmZiwgMHg4MSwgMHhmMCwgMHgyMiwKLTB4OGIsIDB4NTksIDB4OGEsIDB4NWEsIDB4ODksIDB4NWIsIDB4MTIsIDB4MmUsIDB4MTksIDB4NzAsIDB4MDUsIDB4YTMsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4MjIsCi0weGFiLCAweDU5LCAweGFhLCAweDVhLCAweGE5LCAweDViLCAweDEyLCAweDJlLCAweDBkLCAweDkwLCAweGZhLCAweGM5LCAweDEyLCAweDFiLCAweGYzLCAweGU1LAotMHg1YiwgMHgyNCwgMHgwMywgMHhmOSwgMHhlNCwgMHgzNSwgMHg1YSwgMHhmYSwgMHg5MCwgMHhmYSwgMHhjMywgMHgxMiwgMHgxYiwgMHhmMywgMHhlNCwgMHg5MCwKLTB4ZmEsIDB4YzIsIDB4ZjAsIDB4NzgsIDB4OGIsIDB4ZjYsIDB4OTAsIDB4ZmEsIDB4YzEsIDB4ZTAsIDB4ZmYsIDB4NzgsIDB4OGIsIDB4ZTYsIDB4YzMsIDB4OWYsCi0weDUwLCAweDEyLCAweDEyLCAweDJkLCAweGViLCAweGZmLCAweDEyLCAweDJkLCAweGY0LCAweDEyLCAweDJlLCAweDA3LCAweDc4LCAweDhiLCAweDA2LCAweDEyLAotMHgyZSwgMHgwMywgMHg4MCwgMHhlMiwgMHgyMiwgMHhhZCwgMHgwNywgMHhhYywgMHgwNiwgMHg5MCwgMHgzMiwgMHgwYSwgMHhlNCwgMHg5MywgMHhmZiwgMHg3OCwKLTB4NzQsIDB4ZjYsIDB4NTQsIDB4MGYsIDB4MTIsIDB4MWQsIDB4YTgsIDB4ZTAsIDB4MDgsIDB4NzYsIDB4MDAsIDB4MDgsIDB4ZjYsIDB4MTgsIDB4MTIsIDB4MWMsCi0weGQ5LCAweGMzLCAweDMzLCAweGNlLCAweDMzLCAweGNlLCAweGQ4LCAweGY5LCAweGZmLCAweDc4LCAweDc1LCAweGVlLCAweGY2LCAweDA4LCAweGVmLCAweGY2LAotMHhlZSwgMHg0NCwgMHhmOCwgMHgxOCwgMHhmNiwgMHhlZiwgMHgwOCwgMHhmNiwgMHg5MCwgMHhmZiwgMHg3YSwgMHhlMCwgMHgyMCwgMHhlNywgMHgwMywgMHg3ZiwKLTB4MDAsIDB4MjIsIDB4NzgsIDB4NzUsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4YTMsIDB4ZWQsCi0weGYwLCAweDkwLCAweGZmLCAweDdhLCAweDc0LCAweDAyLCAweGYwLCAweDdmLCAweDAxLCAweDIyLCAweGFiLCAweDU2LCAweGFhLCAweDU3LCAweGE5LCAweDU4LAotMHg5MCwgMHgwMCwgMHgwMywgMHgxMiwgMHgxYSwgMHhiYiwgMHg1NCwgMHhmMCwgMHgyNCwgMHhhMCwgMHgyMiwgMHg5MCwgMHhmYSwgMHhjOSwgMHgxMiwgMHgxYiwKLTB4ZWEsIDB4MDIsIDB4MWEsIDB4YTIsIDB4OTAsIDB4ZmEsIDB4YzMsIDB4MTIsIDB4MWIsIDB4ZWEsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4OTAsIDB4ZmEsCi0weGNhLCAweGU0LCAweDIyLCAweDkwLCAweGZhLCAweGM0LCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDAyLCAweDFiLCAweDFjLCAweDkwLCAweDAwLCAweDA4LAotMHgxMiwgMHgxYiwgMHg0OCwgMHhhYSwgMHhmMCwgMHhmOSwgMHg3YiwgMHgwMSwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwNSwgMHgxMiwgMHgxYSwgMHhiYiwgMHg5MCwKLTB4ZmEsIDB4YzEsIDB4ZjAsIDB4MjIsIDB4YWIsIDB4NTYsIDB4YWEsIDB4NTcsIDB4YTksIDB4NTgsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4ZGQsIDB4ZTAsIDB4ZmYsCi0weDdlLCAweDAwLCAweGMzLCAweDkwLCAweGZhLCAweGQ3LCAweGUwLCAweDlmLCAweGYwLCAweDkwLCAweGZhLCAweGQ2LCAweGUwLCAweDllLCAweGYwLCAweDkwLAotMHhmYSwgMHhkOCwgMHhlZSwgMHg4ZiwgMHhmMCwgMHgxMiwgMHgxYiwgMHgxYywgMHhlZiwgMHgyNSwgMHg1MSwgMHhmNSwgMHg1MSwgMHhlZSwgMHgzNSwgMHg1MCwKLTB4ZjUsIDB4NTAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4ZmEsCi0weGU2LCAweGUwLCAweDY0LCAweDAzLCAweDIyLCAweDkwLCAweGZmLCAweGYyLCAweGUwLCAweGFiLCAweDI5LCAweGFhLCAweDJhLCAweGE5LCAweDJiLCAweDAyLAotMHgxYSwgMHhlOCwgMHg5MCwgMHhmZiwgMHhmMywgMHg3NCwgMHhhMCwgMHhmMCwgMHgyMiwgMHg4ZiwgMHg2NCwgMHhlZCwgMHg3MCwgMHgwZiwgMHhlNSwgMHg2NCwKLTB4YjQsIDB4MDMsIDB4MDUsIDB4N2YsIDB4MDEsIDB4MDIsIDB4MzEsIDB4ZWYsIDB4N2YsIDB4MDIsIDB4MDIsIDB4MzEsIDB4ZWYsIDB4YWYsIDB4NjQsIDB4MTIsCi0weDJhLCAweGM3LCAweDc0LCAweDZlLCAweDI1LCAweDY0LCAweGY4LCAweGU2LCAweDMwLCAweGUyLCAweDBiLCAweGQyLCAweDA5LCAweDEyLCAweDFkLCAweDMzLAotMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHgwMiwgMHhjMiwgMHgwOSwgMHhlNSwgMHg2NCwgMHhiNCwgMHgwMywgMHgwNywgMHg3ZiwgMHg4MSwgMHgxMiwKLTB4MzEsIDB4ZWYsIDB4ODAsIDB4MDUsIDB4N2YsIDB4ODIsIDB4MTIsIDB4MzEsIDB4ZWYsIDB4MzAsIDB4MDksIDB4MDcsIDB4MTIsIDB4MWQsIDB4MzMsIDB4ZTAsCi0weDQ0LCAweDgwLCAweGYwLCAweDEyLCAweDMyLCAweDg0LCAweDIyLCAweDEyLCAweDEwLCAweDRiLCAweDkwLCAweGZmLCAweGZkLCAweGUwLCAweDQ0LCAweDYwLAotMHhmMCwgMHhkMiwgMHgwMSwgMHg5MCwgMHhmZiwgMHhmYywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHhmZiwgMHgwMCwgMHhlMCwgMHgzMCwgMHhlNywKLTB4MTMsIDB4OTAsIDB4ZmYsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4MzUsIDB4ODAsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4ZTAsIDB4NDQsCi0weDAxLCAweGYwLCAweDgwLCAweDBkLCAweDEyLCAweDFkLCAweGRmLCAweDUzLCAweDM1LCAweDdmLCAweDkwLCAweGZmLCAweGZjLCAweGUwLCAweDU0LCAweGZlLAotMHhmMCwgMHg5MCwgMHhmZiwgMHg4MSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHgxMiwgMHgwMiwgMHhkZSwgMHgxMiwgMHgxZCwgMHhlNywgMHgwMiwgMHgxMCwKLTB4Y2UsIDB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4ODksIDB4ZWYsIDB4ZjYsIDB4ZDIsIDB4MDAsIDB4MTIsIDB4MmEsIDB4YzcsIDB4OTAsIDB4ZjksIDB4NmEsCi0weDEyLCAweDFiLCAweGVhLCAweGU5LCAweDI0LCAweDAzLCAweGY5LCAweGU0LCAweDNhLCAweGZhLCAweGMwLCAweDAyLCAweDc4LCAweDgwLCAweGU2LCAweGZlLAotMHgwOCwgMHhlNiwgMHhhYSwgMHgwNiwgMHhmOCwgMHhhYywgMHgwMiwgMHg3ZCwgMHgwMSwgMHhkMCwgMHgwMiwgMHgxMiwgMHgyMiwgMHhkMywgMHgxMiwgMHgzMiwKLTB4ODQsIDB4NzgsIDB4ODksIDB4ZTYsIDB4ZmYsIDB4MTIsIDB4MTMsIDB4ODcsIDB4MTIsIDB4MzEsIDB4YTksIDB4MDIsIDB4MTAsIDB4Y2UsIDB4OGYsIDB4NjMsCi0weDEyLCAweDJhLCAweGM3LCAweDc4LCAweDdjLCAweDEyLCAweDIyLCAweGI3LCAweGUwLCAweDU0LCAweDNmLCAweGYwLCAweGU1LCAweDgyLCAweDI0LCAweDA0LAotMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg1NCwgMHgzZiwgMHhmMCwgMHgxMiwgMHgyMywgMHg0MSwgMHgyNCwgMHgwYiwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwKLTB4NTQsIDB4ZjgsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4NzQsIDB4NmUsIDB4MjUsIDB4NjMsIDB4ZjgsIDB4NzQsIDB4ZmIsIDB4NTYsIDB4ZjYsIDB4N2YsCi0weDAwLCAweDIyLCAweDEyLCAweDEwLCAweDRiLCAweDEyLCAweDJhLCAweGM3LCAweDEyLCAweDIyLCAweGZhLCAweDI0LCAweDA2LCAweDEyLCAweDIyLCAweDlmLAotMHhlMCwgMHhmZCwgMHgxMiwgMHgyMiwgMHhlOCwgMHg5MCwgMHgwMCwgMHgwMywgMHgxMiwgMHgyMywgMHgwMiwgMHgyNCwgMHgwNSwgMHgxMiwgMHgyMiwgMHhhMSwKLTB4ZTAsIDB4OTAsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4MTIsIDB4MzIsIDB4ODQsIDB4N2QsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MmYsCi0weGI0LCAweDAyLCAweDEwLCAweGNlLCAweGFlLCAweDA1LCAweDEyLCAweDFkLCAweDhlLCAweGVmLCAweDEyLCAweDFhLCAweGZhLCAweDBlLCAweDBlLCAweDBlLAotMHhlZSwgMHhkMywgMHg5NSwgMHgzYywgMHhlNCwgMHg5NSwgMHgzYiwgMHg0MCwgMHgwMiwgMHhhZSwgMHgzYywgMHhlZSwgMHhkMywgMHg5NCwgMHgwOCwgMHg3NCwKLTB4ODAsIDB4OTQsIDB4ODEsIDB4NDAsIDB4MGEsIDB4N2UsIDB4MDMsIDB4OTAsIDB4MDAsIDB4MDIsIDB4NzQsIDB4MDIsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4YWYsCi0weDA2LCAweDEyLCAweDMyLCAweDZlLCAweDIyLCAweGFlLCAweDA3LCAweGVkLCAweDU0LCAweDAzLCAweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDdmLCAweDEwLAotMHgyMiwgMHhlZCwgMHg1NCwgMHg3YywgMHhjMywgMHg5NCwgMHgwNCwgMHg1MCwgMHgwMywgMHg3ZiwgMHgwYiwgMHgyMiwgMHg3NCwgMHg2ZSwgMHgyZSwgMHhmOCwKLTB4NzQsIDB4MDIsIDB4NDYsIDB4ZjYsIDB4NzQsIDB4OTksIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmEsIDB4ZjUsIDB4ODMsIDB4ZWQsIDB4ZjAsCi0weDdmLCAweDAwLCAweDIyLCAweGJmLCAweDAzLCAweDA2LCAweDdjLCAweGZmLCAweDdkLCAweGUwLCAweDgwLCAweDA0LCAweDdjLCAweGZmLCAweDdkLCAweGUyLAotMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwKLTB4NDQsIDB4ODAsIDB4ZjAsIDB4NzQsIDB4NmUsIDB4MmYsIDB4ZjgsIDB4NzQsIDB4MDQsIDB4NDYsIDB4ZjYsIDB4N2YsIDB4MDAsIDB4MjIsIDB4MTIsIDB4MTAsCi0weDRiLCAweGU1LCAweDNhLCAweDY0LCAweDA5LCAweDcwLCAweDA0LCAweGU1LCAweDM5LCAweDY0LCAweDAxLCAweDYwLCAweDE2LCAweDkwLCAweGZmLCAweDgzLAotMHhlMCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhjMywgMHhlNSwgMHgzYSwgMHg5ZiwgMHhlNSwgMHgzOSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNSwgMHgxMiwgMHgyOCwKLTB4ZDcsIDB4ODAsIDB4MDMsIDB4MTIsIDB4MzIsIDB4N2EsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4ZTAsIDB4MjAsIDB4ZTcsIDB4MWYsCi0weGMyLCAweGFmLCAweDdkLCAweGZmLCAweGFjLCAweDA1LCAweDFkLCAweGVjLCAweDYwLCAweDE1LCAweDdlLCAweDA0LCAweDdmLCAweDAwLCAweGVmLCAweDFmLAotMHhhYSwgMHgwNiwgMHg3MCwgMHgwMSwgMHgxZSwgMHg0YSwgMHg2MCwgMHhlYywgMHg5MCwgMHhmZiwgMHg5MiwgMHhlNCwgMHhmMCwgMHg4MCwgMHhlZiwgMHgyMiwKLTB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4NjYsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZmYsIDB4MzAsIDB4ZTAsIDB4MTIsIDB4MzAsIDB4ZTEsIDB4MGYsCi0weDkwLCAweGZmLCAweGZjLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDdmLCAweDA0LCAweDEyLCAweDEyLCAweDYxLCAweDEyLCAweDFkLCAweGY2LCAweDAyLAotMHgxMCwgMHhjZSwgMHg4ZiwgMHgyMywgMHhjMiwgMHgwOCwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgyMiwgMHhjMCwgMHg3OCwgMHg3ZSwgMHgxMiwgMHgyMywKLTB4NDIsIDB4MjQsIDB4MGIsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NTQsIDB4ZjgsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4YWYsIDB4MjMsIDB4MTIsCi0weDEzLCAweDg3LCAweDIyLCAweDhlLCAweDVmLCAweDhmLCAweDYwLCAweGU1LCAweDYwLCAweDE1LCAweDYwLCAweGFlLCAweDVmLCAweDcwLCAweDAyLCAweDE1LAotMHg1ZiwgMHhkMywgMHg5NCwgMHgwMCwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwOSwgMHg3ZSwgMHgwNywgMHg3ZiwgMHhkMCwgMHgxMiwgMHgxMCwgMHgyNCwKLTB4ODAsIDB4ZTUsIDB4MjIsIDB4MTEsIDB4ZGMsIDB4MmUsIDB4YzcsIDB4MjQsIDB4YjAsIDB4MzIsIDB4NjAsIDB4MzAsIDB4OTAsIDB4MzAsIDB4M2UsIDB4MzEsCi0weDZmLCAweDJmLCAweDgyLCAweDI3LCAweDJlLCAweDJjLCAweDgwLCAweDMxLCAweDEyLCAweDMxLCAweDMxLCAweDFlLCAweDY0LCAweDJmLCAweDExLCAweDJjLAotMHgxOCwgMHgwZSwgMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg4NiwgMHgxMiwgMHgyMywgMHgzMSwgMHgyMCwgMHhlMSwgMHgwNywgMHg3ZiwgMHgxMiwgMHgxMiwKLTB4MzEsIDB4YTksIDB4ODAsIDB4MGEsIDB4NzgsIDB4ODYsIDB4ZTYsIDB4ZmYsIDB4MTIsIDB4MjQsIDB4MGEsIDB4MTIsIDB4MzEsIDB4YTksIDB4MDIsIDB4MTAsCi0weGNlLCAweDEyLCAweDEwLCAweDRiLCAweDc4LCAweDg3LCAweDEyLCAweDIzLCAweDMxLCAweDIwLCAweGUyLCAweDA3LCAweDdmLCAweDExLCAweDEyLCAweDMxLAotMHhhOSwgMHg4MCwgMHgwYSwgMHg3OCwgMHg4NywgMHhlNiwgMHhmZiwgMHgxMiwgMHgyZiwgMHg0ZSwgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgxMCwgMHhjZSwKLTB4OGYsIDB4NjEsIDB4MTIsIDB4MmYsIDB4NGUsIDB4YWYsIDB4NjEsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsIDB4MjIsIDB4YzAsIDB4MTIsIDB4MzIsIDB4ODQsCi0weDc0LCAweDZlLCAweDI1LCAweDYxLCAweGY4LCAweDc0LCAweGZkLCAweDU2LCAweGY2LCAweGFmLCAweDYxLCAweDEyLCAweDEzLCAweDg3LCAweDIyLCAweDEyLAotMHgxMCwgMHg0YiwgMHhlNSwgMHgzYSwgMHg2NCwgMHgwOSwgMHg3MCwgMHgwNCwgMHhlNSwgMHgzOSwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwNSwgMHgxMiwgMHgyYywKLTB4ZDgsIDB4ODAsIDB4MDYsIDB4MTIsIDB4MWUsIDB4MTQsIDB4MTIsIDB4MWUsIDB4MWMsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4MTIsIDB4MmEsIDB4NTQsIDB4MTIsCi0weDEzLCAweDAzLCAweDkwLCAweGY4LCAweDA0LCAweGUwLCAweGZmLCAweDYwLCAweDA1LCAweDdkLCAweDAxLCAweDEyLCAweDEyLCAweGEwLCAweDEyLCAweDI5LAotMHhkZSwgMHgxMiwgMHgxMywgMHgzZiwgMHgxMiwgMHgxMSwgMHhiYywgMHg4MCwgMHhlMywgMHgxMiwgMHgxZCwgMHg4ZSwgMHhlZiwgMHgxMiwgMHgxYSwgMHhmYSwKLTB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzQsIDB4ZWYsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MzIsIDB4N2EsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MzIsIDB4NmUsCi0weDIyLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweGZmLCAweDU0LCAweGEwLCAweDYwLCAweGY3LCAweGVmLCAweDMwLCAweGU1LCAweDA4LCAweDkwLCAweGZmLAotMHhmMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHhmZiwgMHg1NCwgMHgyOCwgMHg2MCwKLTB4ZjcsIDB4ZWYsIDB4MzAsIDB4ZTUsIDB4MDgsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIDB4ZWYsCi0weDMwLCAweGU3LCAweDA4LCAweDEyLCAweDFkLCAweDQ1LCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweDIyLCAweGVmLCAweDEyLCAweDFkLCAweDk4LCAweGUwLAotMHg1NCwgMHhkZiwgMHhmMCwgMHgyMiwgMHg4MSwgMHgwMSwgMHg4MiwgMHgwMiwgMHg4MywgMHgwMywgMHg4NywgMHg0MCwgMHgwMCwgMHg0MCwgMHgwMCwgMHg0MCwKLTB4MDAsIDB4NDAsIDB4MDAsIDB4NDAsIDB4MDAsIDB4NDAsIDB4MDAsIDB4MDgsIDB4MDAsIDB4NzgsIDB4N2UsIDB4MTIsIDB4MjIsIDB4YjcsIDB4YTMsIDB4YTMsCi0weGUwLCAweGZmLCAweDMwLCAweGU3LCAweDA2LCAweDU0LCAweDdmLCAweGYwLCAweDQ0LCAweDgwLCAweGYwLCAweDIyLCAweDg1LCAweDNiLCAweDM5LCAweDg1LAotMHgzYywgMHgzYSwgMHg5MCwgMHhmZiwgMHg4MiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhhMywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHgyMiwgMHhlNCwKLTB4ZmUsIDB4ZWUsIDB4OTAsIDB4MzIsIDB4MDQsIDB4OTMsIDB4YjUsIDB4MDcsIDB4MDIsIDB4ZDMsIDB4MjIsIDB4MGUsIDB4YmUsIDB4MDcsIDB4ZjIsIDB4YzMsCi0weDIyLCAweDAwLCAweDA4LCAweDE4LCAweDI4LCAweDM4LCAweDAxLCAweDgxLCAweDkwLCAweDBhLCAweDAyLCAweDAwLCAweDAwLCAweDExLCAweDEzLCAweDAwLAotMHgxMiwgMHgxMCwgMHg0YiwgMHg3ZiwgMHgwMiwgMHgxMiwgMHgxMCwgMHhkYSwgMHgxMiwgMHgxZCwgMHhmNiwgMHgwMiwgMHgxMCwgMHhjZSwgMHg3NSwgMHgzOSwKLTB4MDAsIDB4OGYsIDB4M2EsIDB4MTIsIDB4MWMsIDB4ZTAsIDB4MTIsIDB4MmMsIDB4ZDgsIDB4MjIsIDB4MTIsIDB4MWUsIDB4MWMsIDB4MTIsIDB4MWQsIDB4ZGYsCi0weDEyLCAweDFlLCAweDE0LCAweDIyLCAweGMyLCAweDA4LCAweDIyLAotfTsKLQotI3VuZGVmIElNQUdFX1ZFUlNJT05fTkFNRQotCi0jdW5kZWYgSU1BR0VfQVJSQVlfTkFNRQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fdGkuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb190aS5jCmluZGV4IDA1ZTRmYTcuLjYxZGFlYTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb190aS5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb190aS5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KICNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+CkBAIC01MiwxMyArNTMsNiBAQAogI2RlZmluZSBEUklWRVJfQVVUSE9SICJHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdAa3JvYWguY29tPiBhbmQgRGF2aWQgSWFjb3ZlbGxpIgogI2RlZmluZSBEUklWRVJfREVTQyAiRWRnZXBvcnQgVVNCIFNlcmlhbCBEcml2ZXIiCiAKLQotLyogZmlybXdhcmUgaW1hZ2UgY29kZSAqLwotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbgotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCVBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZQotI2RlZmluZSBJTUFHRV9TSVpFCQlQYWdhYmxlT3BlcmF0aW9uYWxDb2RlU2l6ZQotI2luY2x1ZGUgImlvX2Z3X2Rvd24zLmgiCS8qIERlZmluZSBhcnJheSBPcGVyYXRpb25hbENvZGVJbWFnZVtdICovCi0KICNkZWZpbmUgRVBST01fUEFHRV9TSVpFCQk2NAogCiAKQEAgLTIzMSw3ICsyMjUsOSBAQAogfTsKIAogCi1zdGF0aWMgc3RydWN0IEVER0VfRklSTVdBUkVfVkVSU0lPTl9JTkZPIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbjsKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uOworc3RhdGljIHVuc2lnbmVkIGNoYXIgT3BlcmF0aW9uYWxNaW5vclZlcnNpb247CitzdGF0aWMgdW5zaWduZWQgc2hvcnQgT3BlcmF0aW9uYWxCdWlsZE51bWJlcjsKIAogc3RhdGljIGludCBkZWJ1ZzsKIApAQCAtODg1LDEwICs4ODEsMTMgQEAKIAlfX3U4ICpidWZmZXI7CiAJaW50IGJ1ZmZlcl9zaXplOwogCWludCBpOworCWludCBlcnI7CiAJX191OCBjcyA9IDA7CiAJc3RydWN0IHRpX2kyY19kZXNjICppMmNfaGVhZGVyOwogCXN0cnVjdCB0aV9pMmNfaW1hZ2VfaGVhZGVyICppbWdfaGVhZGVyOwogCXN0cnVjdCB0aV9pMmNfZmlybXdhcmVfcmVjICpmaXJtd2FyZV9yZWM7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCBjaGFyICpmd19uYW1lID0gImVkZ2Vwb3J0L2Rvd24zLmJpbiI7CiAKIAkvLyBJbiBvcmRlciB0byB1cGRhdGUgdGhlIEkyQyBmaXJtd2FyZSB3ZSBtdXN0IGNoYW5nZSB0aGUgdHlwZSAyIHJlY29yZCB0byB0eXBlIDB4RjIuCiAJLy8gVGhpcyB3aWxsIGZvcmNlIHRoZSBVTVAgdG8gY29tZSB1cCBpbiBCb290IE1vZGUuICBUaGVuIHdoaWxlIGluIGJvb3QgbW9kZSwgdGhlIGRyaXZlciAKQEAgLTkwOSwxOSArOTA4LDM0IEBACiAJLy8gU2V0IGVudGlyZSBpbWFnZSBvZiAweGZmcwogCW1lbXNldCAoYnVmZmVyLCAweGZmLCBidWZmZXJfc2l6ZSk7CiAKKwllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgZGV2KTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgaW1hZ2UgXCIlc1wiIGVyciAlZFxuIiwKKwkJICAgICAgIGZ3X25hbWUsIGVycik7CisJCWtmcmVlKGJ1ZmZlcik7CisJCXJldHVybiBlcnI7CisJfQorCisJLyogU2F2ZSBEb3dubG9hZCBWZXJzaW9uIE51bWJlciAqLworCU9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uID0gZnctPmRhdGFbMF07CisJT3BlcmF0aW9uYWxNaW5vclZlcnNpb24gPSBmdy0+ZGF0YVsxXTsKKwlPcGVyYXRpb25hbEJ1aWxkTnVtYmVyID0gZnctPmRhdGFbMl0gfCAoZnctPmRhdGFbM10gPDwgOCk7CisKIAkvLyBDb3B5IHZlcnNpb24gbnVtYmVyIGludG8gZmlybXdhcmUgcmVjb3JkCiAJZmlybXdhcmVfcmVjID0gKHN0cnVjdCB0aV9pMmNfZmlybXdhcmVfcmVjICopYnVmZmVyOwogCi0JZmlybXdhcmVfcmVjLT5WZXJfTWFqb3IJPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uOwotCWZpcm13YXJlX3JlYy0+VmVyX01pbm9yCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbjsKKwlmaXJtd2FyZV9yZWMtPlZlcl9NYWpvcgk9IE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uOworCWZpcm13YXJlX3JlYy0+VmVyX01pbm9yCT0gT3BlcmF0aW9uYWxNaW5vclZlcnNpb247CiAKIAkvLyBQb2ludGVyIHRvIGZ3X2Rvd24gbWVtb3J5IGltYWdlCi0JaW1nX2hlYWRlciA9IChzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlciAqKSZQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VbMF07CisJaW1nX2hlYWRlciA9IChzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlciAqKSZmdy0+ZGF0YVs0XTsKIAogCW1lbWNweSAoYnVmZmVyICsgc2l6ZW9mKHN0cnVjdCB0aV9pMmNfZmlybXdhcmVfcmVjKSwKLQkJJlBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVtzaXplb2Yoc3RydWN0IHRpX2kyY19pbWFnZV9oZWFkZXIpXSwKKwkJJmZ3LT5kYXRhWzQgKyBzaXplb2Yoc3RydWN0IHRpX2kyY19pbWFnZV9oZWFkZXIpXSwKIAkJbGUxNl90b19jcHUoaW1nX2hlYWRlci0+TGVuZ3RoKSk7CiAKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKKwogCWZvciAoaT0wOyBpIDwgYnVmZmVyX3NpemU7IGkrKykgewogCQljcyA9IChfX3U4KShjcyArIGJ1ZmZlcltpXSk7CiAJfQpAQCAtOTM1LDggKzk0OSw4IEBACiAJaTJjX2hlYWRlci0+VHlwZQk9IEkyQ19ERVNDX1RZUEVfRklSTVdBUkVfQkxBTks7CiAJaTJjX2hlYWRlci0+U2l6ZQk9IChfX3UxNilidWZmZXJfc2l6ZTsKIAlpMmNfaGVhZGVyLT5DaGVja1N1bQk9IGNzOwotCWZpcm13YXJlX3JlYy0+VmVyX01ham9yCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbjsKLQlmaXJtd2FyZV9yZWMtPlZlcl9NaW5vcgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb247CisJZmlybXdhcmVfcmVjLT5WZXJfTWFqb3IJPSBPcGVyYXRpb25hbE1ham9yVmVyc2lvbjsKKwlmaXJtd2FyZV9yZWMtPlZlcl9NaW5vcgk9IE9wZXJhdGlvbmFsTWlub3JWZXJzaW9uOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDc1LDExICsxMDg5LDYgQEAKIAkJLy8gT3RoZXJ3aXNlIHdlIHdpbGwgcmVtYWluIGluIGNvbmZpZ3VyaW5nIG1vZGUKIAkJc2VyaWFsLT5wcm9kdWN0X2luZm8uVGlNb2RlID0gVElfTU9ERV9DT05GSUdVUklORzsKIAotCS8vIFNhdmUgRG93bmxvYWQgVmVyc2lvbiBOdW1iZXIKLQlPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uID0gUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb247Ci0JT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbiA9IFBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uOwotCU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5CdWlsZE51bWJlcgkgPSBQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLkJ1aWxkTnVtYmVyOwotCiAJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCS8qIERvd25sb2FkIE1vZGUgKi8KIAkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCkBAIC0xMTU0LDE1ICsxMTYzLDE1IEBACiAJCQkvLyBDaGVjayB2ZXJzaW9uIG51bWJlciBvZiBkb3dubG9hZCB3aXRoIGN1cnJlbnQgdmVyc2lvbiBpbiBJMmMKIAkJCWRvd25sb2FkX2N1cl92ZXIgPSAoZmlybXdhcmVfdmVyc2lvbi0+VmVyX01ham9yIDw8IDgpICsgCiAJCQkJCSAgIChmaXJtd2FyZV92ZXJzaW9uLT5WZXJfTWlub3IpOwotCQkJZG93bmxvYWRfbmV3X3ZlciA9IChPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uIDw8IDgpICsKLQkJCQkJICAgKE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb24pOworCQkJZG93bmxvYWRfbmV3X3ZlciA9IChPcGVyYXRpb25hbE1ham9yVmVyc2lvbiA8PCA4KSArCisJCQkJCSAgIChPcGVyYXRpb25hbE1pbm9yVmVyc2lvbik7CiAKIAkJCWRiZyAoIiVzIC0gPj4+RmlybXdhcmUgVmVyc2lvbnMgRGV2aWNlICVkLiVkICBEcml2ZXIgJWQuJWQiLAogCQkJICAgICBfX2Z1bmNfXywKIAkJCSAgICAgZmlybXdhcmVfdmVyc2lvbi0+VmVyX01ham9yLAogCQkJICAgICBmaXJtd2FyZV92ZXJzaW9uLT5WZXJfTWlub3IsCi0JCQkgICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb24sCi0JCQkgICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb24pOworCQkJICAgICBPcGVyYXRpb25hbE1ham9yVmVyc2lvbiwKKwkJCSAgICAgT3BlcmF0aW9uYWxNaW5vclZlcnNpb24pOwogCiAJCQkvLyBDaGVjayBpZiB3ZSBoYXZlIGFuIG9sZCB2ZXJzaW9uIGluIHRoZSBJMkMgYW5kIHVwZGF0ZSBpZiBuZWNlc3NhcnkKIAkJCWlmIChkb3dubG9hZF9jdXJfdmVyICE9IGRvd25sb2FkX25ld192ZXIpIHsKQEAgLTExNzAsOCArMTE3OSw4IEBACiAJCQkJICAgICBfX2Z1bmNfXywKIAkJCQkgICAgIGZpcm13YXJlX3ZlcnNpb24tPlZlcl9NYWpvciwKIAkJCQkgICAgIGZpcm13YXJlX3ZlcnNpb24tPlZlcl9NaW5vciwKLQkJCQkgICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb24sCi0JCQkJICAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uKTsKKwkJCQkgICAgIE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uLAorCQkJCSAgICAgT3BlcmF0aW9uYWxNaW5vclZlcnNpb24pOwogCiAJCQkJLy8gSW4gb3JkZXIgdG8gdXBkYXRlIHRoZSBJMkMgZmlybXdhcmUgd2UgbXVzdCBjaGFuZ2UgdGhlIHR5cGUgMiByZWNvcmQgdG8gdHlwZSAweEYyLgogCQkJCS8vIFRoaXMgd2lsbCBmb3JjZSB0aGUgVU1QIHRvIGNvbWUgdXAgaW4gQm9vdCBNb2RlLiAgVGhlbiB3aGlsZSBpbiBib290IG1vZGUsIHRoZSBkcml2ZXIgCkBAIC0xMzc3LDYgKzEzODYsOSBAQAogCQlfX3U4IGNzID0gMDsKIAkJX191OCAqYnVmZmVyOwogCQlpbnQgYnVmZmVyX3NpemU7CisJCWludCBlcnI7CisJCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJCWNvbnN0IGNoYXIgKmZ3X25hbWUgPSAiZWRnZXBvcnQvZG93bjMuYmluIjsKIAogCQkvKiBWYWxpZGF0ZSBIYXJkd2FyZSB2ZXJzaW9uIG51bWJlcgogCQkgKiBSZWFkIE1hbnVmYWN0dXJpbmcgRGVzY3JpcHRvciBmcm9tIFRJIEJhc2VkIEVkZ2Vwb3J0CkBAIC0xNDI1LDcgKzE0MzcsMTUgQEAKIAkJLy8gSW5pdGlhbGl6ZSB0aGUgYnVmZmVyIHRvIDB4ZmYgKHBhZCB0aGUgYnVmZmVyKQogCQltZW1zZXQgKGJ1ZmZlciwgMHhmZiwgYnVmZmVyX3NpemUpOwogCi0JCW1lbWNweSAoYnVmZmVyLCAmUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlWzBdLCBQYWdhYmxlT3BlcmF0aW9uYWxDb2RlU2l6ZSk7CisJCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCBkZXYpOworCQlpZiAoZXJyKSB7CisJCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIGltYWdlIFwiJXNcIiBlcnIgJWRcbiIsCisJCQkgICAgICAgZndfbmFtZSwgZXJyKTsKKwkJCWtmcmVlKGJ1ZmZlcik7CisJCQlyZXR1cm4gZXJyOworCQl9CisJCW1lbWNweShidWZmZXIsICZmdy0+ZGF0YVs0XSwgZnctPnNpemUgLSA0KTsKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAKIAkJZm9yKGkgPSBzaXplb2Yoc3RydWN0IHRpX2kyY19pbWFnZV9oZWFkZXIpOyBpIDwgYnVmZmVyX3NpemU7IGkrKykgewogCQkJY3MgPSAoX191OCkoY3MgKyBidWZmZXJbaV0pOwpAQCAtMzExOSw2ICszMTM5LDcgQEAKIE1PRFVMRV9BVVRIT1IoRFJJVkVSX0FVVEhPUik7CiBNT0RVTEVfREVTQ1JJUFRJT04oRFJJVkVSX0RFU0MpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0ZJUk1XQVJFKCJlZGdlcG9ydC9kb3duMy5iaW4iKTsKIAogbW9kdWxlX3BhcmFtKGRlYnVnLCBib29sLCBTX0lSVUdPIHwgU19JV1VTUik7CiBNT0RVTEVfUEFSTV9ERVNDKGRlYnVnLCAiRGVidWcgZW5hYmxlZCBvciBub3QiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5jCmluZGV4IDNkZjhhNjYuLjExZTQzOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uYwpAQCAtMTA1LDYgKzEwNSw4IEBACiAjaW5jbHVkZSA8bGludXgvdHR5X2ZsaXAuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL3NlcmlhbC5oPgpAQCAtMTMzOSwxMyArMTM0MSwxMyBAQAogCXBvcnQtPnR0eSA9IE5VTEw7CiB9CiAKLQogCS8qIGRvd25sb2FkIHRoZSBmaXJtd2FyZSB0byBhIHByZS1yZW51bWVyYXRpb24gZGV2aWNlICovCiBzdGF0aWMgaW50IGtleXNwYW5fZmFrZV9zdGFydHVwIChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsKQogewogCWludCAJCQkJcmVzcG9uc2U7Ci0JY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgCSpyZWNvcmQ7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjIAkqcmVjb3JkOwogCWNoYXIJCQkJKmZ3X25hbWU7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlCQkqZnc7CiAKIAlkYmcoIktleXNwYW4gc3RhcnR1cCB2ZXJzaW9uICUwNHggcHJvZHVjdCAlMDR4IiwKIAkgICAgbGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuYmNkRGV2aWNlKSwKQEAgLTEzNTksNzIgKzEzNjEsNjAgQEAKIAkJLyogU2VsZWN0IGZpcm13YXJlIGltYWdlIG9uIHRoZSBiYXNpcyBvZiBpZFByb2R1Y3QgKi8KIAlzd2l0Y2ggKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkUHJvZHVjdCkpIHsKIAljYXNlIGtleXNwYW5fdXNhMjhfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTI4X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTI4IjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTI4LmZ3IjsKIAkJYnJlYWs7CiAKIAljYXNlIGtleXNwYW5fdXNhMjh4X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2EyOHhfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMjhYIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTI4eC5mdyI7CiAJCWJyZWFrOwogCiAJY2FzZSBrZXlzcGFuX3VzYTI4eGFfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTI4eGFfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMjhYQSI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2EyOHhhLmZ3IjsKIAkJYnJlYWs7CiAKIAljYXNlIGtleXNwYW5fdXNhMjh4Yl9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMjh4Yl9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0EyOFhCIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTI4eGIuZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2ExOV9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMTlfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMTkiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMTkuZnciOwogCQlicmVhazsKIAkJCSAgICAgCiAJY2FzZSBrZXlzcGFuX3VzYTE5cWlfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTE5cWlfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMTlRSSI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2ExOXFpLmZ3IjsKIAkJYnJlYWs7CiAJCQkgICAgIAogCWNhc2Uga2V5c3Bhbl9tcHJfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX21wcl9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJNUFIiOworCQlmd19uYW1lID0gImtleXNwYW4vbXByLmZ3IjsKIAkJYnJlYWs7CiAKIAljYXNlIGtleXNwYW5fdXNhMTlxd19wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMTlxd19maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0ExOVFJIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTE5cXcuZnciOwogCQlicmVhazsKIAkJCSAgICAgCiAJY2FzZSBrZXlzcGFuX3VzYTE4eF9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMTh4X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTE4WCI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2ExOHguZnciOwogCQlicmVhazsKIAkJCSAgICAgCiAJY2FzZSBrZXlzcGFuX3VzYTE5d19wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMTl3X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTE5VyI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2ExOXcuZnciOwogCQlicmVhazsKIAkJCiAJY2FzZSBrZXlzcGFuX3VzYTQ5d19wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhNDl3X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTQ5VyI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2E0OXcuZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2E0OXdsY19wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhNDl3bGNfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBNDlXTEMiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhNDl3bGMuZnciOwogCQlicmVhazsKIAogCWRlZmF1bHQ6Ci0JCXJlY29yZCA9IE5VTEw7Ci0JCWZ3X25hbWUgPSAiVW5rbm93biI7Ci0JCWJyZWFrOworCQlkZXZfZXJyKCZzZXJpYWwtPmRldi0+ZGV2LCAiVW5rbm93biBwcm9kdWN0IElEICglMDR4KVxuIiwKKwkJCWxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkUHJvZHVjdCkpOworCQlyZXR1cm4gMTsKIAl9CiAKLQlpZiAocmVjb3JkID09IE5VTEwpIHsKKwlpZiAocmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgJnNlcmlhbC0+ZGV2LT5kZXYpKSB7CiAJCWRldl9lcnIoJnNlcmlhbC0+ZGV2LT5kZXYsICJSZXF1aXJlZCBrZXlzcGFuIGZpcm13YXJlIGltYWdlICglcykgdW5hdmFpbGFibGUuXG4iLCBmd19uYW1lKTsKIAkJcmV0dXJuKDEpOwogCX0KQEAgLTE0MzQsMTkgKzE0MjQsMjIgQEAKIAkJLyogZG93bmxvYWQgdGhlIGZpcm13YXJlIGltYWdlICovCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQoc2VyaWFsLCAxKTsKIAotCXdoaWxlKHJlY29yZC0+YWRkcmVzcyAhPSAweGZmZmYpIHsKLQkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeShzZXJpYWwsIHJlY29yZC0+YWRkcmVzcywKKwlyZWNvcmQgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZnctPmRhdGE7CisKKwl3aGlsZSAocmVjb3JkKSB7CisJCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkoc2VyaWFsLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAogCQkJCQkgICAgICh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLAotCQkJCQkgICAgIHJlY29yZC0+ZGF0YV9zaXplLCAweGEwKTsKKwkJCQkJICAgICBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbiksIDB4YTApOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7CiAJCQlkZXZfZXJyKCZzZXJpYWwtPmRldi0+ZGV2LCAiZXp1c2Jfd3JpdGVtZW1vcnkgZmFpbGVkIGZvciBLZXlzcGFuIgogCQkJCSJmaXJtd2FyZSAoJWQgJTA0WCAlcCAlZClcbiIsCi0JCQkJcmVzcG9uc2UsIAotCQkJCXJlY29yZC0+YWRkcmVzcywgcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSk7CisJCQkJcmVzcG9uc2UsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkJcmVjb3JkLT5kYXRhLCBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbikpOwogCQkJYnJlYWs7CiAJCX0KLQkJcmVjb3JkKys7CisJCXJlY29yZCA9IGloZXhfbmV4dF9iaW5yZWMocmVjb3JkKTsKIAl9CisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJCS8qIGJyaW5nIGRldmljZSBvdXQgb2YgcmVzZXQuIFJlbnVtZXJhdGlvbiB3aWxsIG9jY3VyIGluIGEKIAkJICAgbW9tZW50IGFuZCB0aGUgbmV3IGRldmljZSB3aWxsIGJpbmQgdG8gdGhlIHJlYWwgZHJpdmVyICovCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQoc2VyaWFsLCAwKTsKQEAgLTI3NTYsNiArMjc0OSwxOSBAQAogTU9EVUxFX0RFU0NSSVBUSU9OKCBEUklWRVJfREVTQyApOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogCitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMjguZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2EyOHguZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2EyOHhhLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMjh4Yi5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTE5LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMTlxaS5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL21wci5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTE5cXcuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2ExOHguZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2ExOXcuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2E0OXcuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2E0OXdsYy5mdyIpOworCiBtb2R1bGVfcGFyYW0oZGVidWcsIGJvb2wsIFNfSVJVR08gfCBTX0lXVVNSKTsKIE1PRFVMRV9QQVJNX0RFU0MoZGVidWcsICJEZWJ1ZyBlbmFibGVkIG9yIG5vdCIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uaAppbmRleCA4ZDZlZDAyLi5iNTJmYjY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5oCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmgKQEAgLTEwMyw5MCArMTAzLDYgQEAKIAkJCQkJIHN0cnVjdCB1c2Jfc2VyaWFsX3BvcnQgKnBvcnQsCiAJCQkJCSBpbnQgcmVzZXRfcG9ydCk7CiAKLS8qIFN0cnVjdCB1c2VkIGZvciBmaXJtd2FyZSAtIGluY3JlYXNlZCBzaXplIG9mIGRhdGEgc2VjdGlvbgotICAgdG8gYWxsb3cgS2V5c3BhbidzICdDJyBmaXJtd2FyZSBzdHJ1Y3QgdG8gYmUgdXNlZCB1bm1vZGlmaWVkICovCi1zdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCB7Ci0JX191MTYgYWRkcmVzczsKLQlfX3U4IGRhdGFfc2l6ZTsKLQlfX3U4IGRhdGFbNjRdOwotfTsKLQotLyogQ29uZGl0aW9uYWxseSBpbmNsdWRlIGZpcm13YXJlIGltYWdlcywgaWYgdGhleSBhcmVuJ3QKLSAgIGluY2x1ZGVkIGNyZWF0ZSBhIG51bGwgcG9pbnRlciBpbnN0ZWFkLiAgQ3VycmVudCAKLSAgIGZpcm13YXJlIGltYWdlcyBhcmVuJ3Qgb3B0aW1pc2VkIHRvIHJlbW92ZSBkdXBsaWNhdGUKLSAgIGFkZHJlc3NlcyBpbiB0aGUgaW1hZ2UgaXRzZWxmLiAqLwotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjgKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2EyOF9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMjhfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WAotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTI4eF9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMjh4X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFhBCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMjh4YV9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMjh4YV9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYQgotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTI4eGJfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTI4eGJfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5Ci0JI2luY2x1ZGUgImtleXNwYW5fdXNhMTlfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTE5X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFJCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMTlxaV9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMTlxaV9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fTVBSCi0gICAgICAgICNpbmNsdWRlICJrZXlzcGFuX21wcl9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fbXByX2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFXCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMTlxd19mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMTlxd19maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMThYCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMTh4X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2ExOHhfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5VwotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTE5d19mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMTl3X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVcKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2E0OXdfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTQ5d19maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBNDlXTEMKLSAgICAgICAgI2luY2x1ZGUgImtleXNwYW5fdXNhNDl3bGNfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTQ5d2xjX2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCiAvKiBWYWx1ZXMgdXNlZCBmb3IgYmF1ZCByYXRlIGNhbGN1bGF0aW9uIC0gZGV2aWNlIHNwZWNpZmljICovCiAjZGVmaW5lCUtFWVNQQU5fSU5WQUxJRF9CQVVEX1JBVEUJCSgtMSkKICNkZWZpbmUJS0VZU1BBTl9CQVVEX1JBVEVfT0sJCQkoMCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX21wcl9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fbXByX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzODgwNWUuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fbXByX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyODYgKzAsMCBAQAotLyoga2V5c3Bhbl9tcHJfZncuaAotIAotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fbXByX2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotc3RhdGljIGNoYXIgdGhlRmlybXdhcmVEYXRlNTNbXSA9Ci0JIjA0LzI2LzIwMDIgIDAyOjQ3cCAgICAgICAgICAgICAgMTEsNTcwIFVTQTUzIjsKLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX21wcl9maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MDAsIDB4MWF9fSwKLSB7MHgwMDFhLCAgNCwgeyAweDUzLCAweGQ4LCAweGVmLCAweDMyfX0sCi0gezB4MDAwMywgMTYsIHsgMHg4ZSwgMHg1NiwgMHg4ZiwgMHg1NywgMHhlNSwgMHg1NywgMHgxNSwgMHg1NywgMHhhZSwgMHg1NiwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1NiwgMHg0ZSwgMHg2MH19LAotIHsweDAwMTMsICA3LCB7IDB4MDUsIDB4MTIsIDB4MGYsIDB4YTIsIDB4ODAsIDB4ZWUsIDB4MjJ9fSwKLSB7MHgwMDIzLCAgMywgeyAweDAyLCAweDAwLCAweDQ2fX0sCi0gezB4MDA0NiwgMTYsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwOH19LAotIHsweDAwNTYsIDE2LCB7IDB4MzAsIDB4OTksIDB4MGUsIDB4MzAsIDB4MGIsIDB4MDcsIDB4YTIsIDB4MGUsIDB4OTIsIDB4OWIsIDB4ODUsIDB4MzYsIDB4OTksIDB4YzIsIDB4OTksIDB4ZDJ9fSwKLSB7MHgwMDY2LCAxNiwgeyAweDEyLCAweDIwLCAweDEyLCAweDAzLCAweDAyLCAweDAyLCAweGY5LCAweGMyLCAweDEyLCAweDMwLCAweDAzLCAweDE5LCAweDdlLCAweDdlLCAweDdmLCAweDQwfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg3NSwgMHgxYSwgMHg3ZSwgMHg3NSwgMHgxYiwgMHg0MCwgMHg3NSwgMHgxNywgMHgwMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxOCwgMHg3ZH19LAotIHsweDAwODYsIDE2LCB7IDB4NzUsIDB4MTksIDB4YzAsIDB4ODAsIDB4MTcsIDB4N2UsIDB4N2QsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MWEsIDB4N2QsIDB4NzUsIDB4MWIsIDB4YzAsIDB4NzV9fSwKLSB7MHgwMDk2LCAxNiwgeyAweDE3LCAweDAxLCAweDdlLCAweDdlLCAweDdmLCAweDQwLCAweDc1LCAweDE4LCAweDdlLCAweDc1LCAweDE5LCAweDQwLCAweDIwLCAweDBiLCAweDAzLCAweDAyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgwMSwgMHg4NCwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgzYywgMHgyMCwgMHgwYywgMHgzNCwgMHgyMCwgMHgwOSwgMHgzMSwgMHg5MH19LAotIHsweDAwYjYsIDE2LCB7IDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4MjksIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWJ9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhLCAweDA1LCAweDNhfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhlNSwgMHgxYiwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHgwMiwgMHgwMiwgMHhmN319LAotIHsweDAwZTYsIDE2LCB7IDB4YzIsIDB4MGIsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4MzAsIDB4MDMsIDB4MTEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4NTR9fSwKLSB7MHgwMGY2LCAxNiwgeyAweDAyLCAweGY1LCAweDFkLCAweGEzLCAweGUwLCAweGY1LCAweDFjLCAweDgwLCAweDExLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgwZiwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MDAsIDB4MjZ9fSwKLSB7MHgwMDI2LCAxMiwgeyAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDVhLCAweDAyLCAweDBhLCAweDMzfX0sCi0gezB4MDEwNiwgNjQsIHsgMHhjNiwgMHhlMCwgMHg1NCwgMHgwMiwgMHhmNSwgMHgxZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgxYywgMHhlNSwgMHgxNywgMHgyNCwgMHhmZiwgMHg5MiwgMHgwMywgMHgzMCwKLSAgMHgwZCwgMHgwZCwgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwMiwgMHhmNywgMHhlNSwKLSAgMHgxZCwgMHg2MCwgMHgwNSwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwMiwgMHhmNywgMHg4NSwgMHgxYywgMHg1MywgMHg4NSwgMHgxOSwgMHg4MiwgMHg4NSwgMHgxOCwKLSAgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgxMiwgMHhmZiwgMHgyMCwgMHgwYywgMHgzYSwgMHgyMCwgMHgwOSwgMHgzNywgMHg5MH19LAotIHsweDAxNDYsIDY0LCB7IDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4MmYsIDB4MzAsIDB4MTAsIDB4MWMsIDB4ODUsIDB4MTksIDB4ODIsIDB4ODUsIDB4MTgsIDB4ODMsIDB4YTMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4ODUsIDB4MTksIDB4ODIsIDB4ODUsIDB4MTgsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4NzUsCi0gIDB4M2EsIDB4MDMsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4NzUsIDB4M2EsIDB4MDIsIDB4ODUsIDB4MTksIDB4ODIsIDB4ODUsIDB4MTgsIDB4ODMsIDB4YTMsIDB4ZTAsCi0gIDB4ZjUsIDB4MzYsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4NzUsIDB4M2EsIDB4MDEsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4MzAsIDB4MDN9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDBlLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDU0LCAweDAyLCAweGY1LCAweDFkLCAweGEzLCAweGUwLCAweGY1LCAweDFjLCAweDgwLCAweDBjLCAweDkwLCAweDdmLAotICAweGM4LCAweGUwLCAweDU0LCAweDAyLCAweGY1LCAweDFkLCAweGEzLCAweGUwLCAweGY1LCAweDFjLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLAotICAweDAzLCAweDAyLCAweDAyLCAweDY4LCAweGU1LCAweDFkLCAweDYwLCAweDA3LCAweGMyLCAweDE0LCAweGMyLCAweDA1LCAweDAyLCAweDAyLCAweGY3LCAweDg1LAotICAweDFjLCAweDUzLCAweDg1LCAweDFiLCAweDgyLCAweDg1LCAweDFhLCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDEyLCAweGZmfX0sCi0gezB4MDFjNiwgNjQsIHsgMHgzMCwgMHgwYywgMHgwMywgMHgwMiwgMHgwMiwgMHg2MCwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwMiwgMHg2MCwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwKLSAgMHgzOCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwMiwgMHg2MCwgMHgzMCwgMHgxMCwgMHgxYiwgMHg4NSwgMHgxYiwgMHg4MiwgMHg4NSwgMHgxYSwgMHg4MywgMHhhMywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHg4NSwgMHgxYiwgMHg4MiwgMHg4NSwgMHgxYSwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwKLSAgMHgzYSwgMHgwMywgMHg4MCwgMHgwZCwgMHg4NSwgMHgxYiwgMHg4MiwgMHg4NSwgMHgxYSwgMHg4MywgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NX19LAotIHsweDAyMDYsIDY0LCB7IDB4M2EsIDB4MDIsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NDAsIDB4MjYsIDB4MzAsIDB4MDMsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsCi0gIDB4ODAsIDB4MDUsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTcsIDB4MjQsIDB4ZmYsIDB4OTIsIDB4MDMsIDB4MjAsIDB4MGQsIDB4MDMsCi0gIDB4MDIsIDB4MDIsIDB4ZjcsIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4MzAsIDB4MTAsCi0gIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDFiLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LAotICAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweGQyLCAweDBiLCAweDAyLCAweDAyLCAweGY3LCAweDc1LCAweDNhLCAweDAxLCAweGMyLCAweDE0LCAweDAyLCAweDAyLAotICAweGY3LCAweDMwLCAweDBjLCAweDAzLCAweDAyLCAweDAyLCAweGY1LCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDAyLCAweGY1LCAweDkwLCAweDdmLCAweDliLAotICAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDc5LCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDFiLCAweDJmfX0sCi0gezB4MDI4NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYiwKLSAgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg5OSwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywKLSAgMHg0MCwgMHgyMiwgMHgzMCwgMHgwMywgMHgwNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHg4MCwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwKLSAgMHhmMCwgMHhlNSwgMHgxNywgMHgyNCwgMHhmZiwgMHg5MiwgMHgwMywgMHgzMCwgMHgwZCwgMHgzNiwgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYn19LAotIHsweDAyYzYsIDY0LCB7IDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MmMsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsIDB4MmYsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsIDB4MmYsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4ZDIsIDB4MGIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4MTQsCi0gIDB4ZDIsIDB4MDEsIDB4MjAsIDB4OTgsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MzUsIDB4YzIsIDB4OTgsIDB4MjAsIDB4MDIsIDB4MDMsIDB4MDIsIDB4MDN9fSwKLSB7MHgwMzA2LCA2NCwgeyAweGEyLCAweDIwLCAweDE1LCAweDI3LCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LAotICAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDEwLCAweDRkLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDNhLCAweDg1LCAweDk5LCAweDU1LCAweGU1LCAweDU1LCAweGI1LAotICAweDQ3LCAweDA0LCAweGQyLCAweDA5LCAweDgwLCAweDJlLCAweGU1LCAweDU1LCAweGI1LCAweDQ2LCAweDA0LCAweGMyLCAweDA5LCAweDgwLCAweDI1fX0sCi0gezB4MDM0NiwgNjQsIHsgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg1NSwgMHhmMCwKLSAgMHgzMCwgMHgxMCwgMHgxMSwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwKLSAgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgwZiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NSwgMHg0MywgMHg1MCwgMHgwMywgMHgwMiwgMHgwNCwgMHgzMywKLSAgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxNiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgwMywgMHgwMn19LAotIHsweDAzODYsIDY0LCB7IDB4MDQsIDB4MzMsIDB4MTUsIDB4MzksIDB4MTUsIDB4MzksIDB4MDUsIDB4MmIsIDB4NDMsIDB4MzQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MzMsIDB4OTAsIDB4N2YsIDB4YjcsCi0gIDB4ZTUsIDB4MzksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MDAsIDB4YzIsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MzMsIDB4MjAsIDB4MTUsIDB4MjcsIDB4YWYsIDB4MzksCi0gIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsCi0gIDB4MTAsIDB4NGQsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjV9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDNhLCAweDg1LCAweDk5LCAweDU1LCAweGU1LCAweDU1LCAweGI1LCAweDQ3LCAweDA0LCAweGQyLCAweDA5LCAweDgwLAotICAweDJlLCAweGU1LCAweDU1LCAweGI1LCAweDQ2LCAweDA0LCAweGMyLCAweDA5LCAweDgwLCAweDI1LCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLAotICAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDU1LCAweGYwLCAweDMwLCAweDEwLCAweDExLCAweGFmLCAweDM5LAotICAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwfX0sCi0gezB4MDQwNiwgNjQsIHsgMHhkMiwgMHgwZiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NSwgMHg0MywgMHg0MCwgMHgyNCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMiwgMHhlNSwKLSAgMHgzOSwgMHhjMywgMHg5NCwgMHg0MCwgMHg0MCwgMHgxNiwgMHgxNSwgMHgzOSwgMHgxNSwgMHgzOSwgMHgwNSwgMHgyYiwgMHg0MywgMHgzNCwgMHgwMSwgMHg4MCwKLSAgMHgwYiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlNSwgMHgzOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgwMCwgMHhkMiwgMHgwMiwgMHhkMiwgMHgwMSwgMHgzMCwgMHgwMSwKLSAgMHgwNSwgMHhjMiwgMHgwMSwgMHgwMiwgMHgwMCwgMHg1NiwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMH19LAotIHsweDA0NDYsIDY0LCB7IDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NTQsIDB4ZTUsIDB4MzQsIDB4NjAsIDB4NTAsIDB4ZTUsIDB4MzEsIDB4NzAsIDB4NGMsCi0gIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTEsIDB4MGIsIDB4ZTQsIDB4ZjUsIDB4MmYsIDB4NzUsIDB4MzQsIDB4MDEsIDB4NzUsIDB4MzEsIDB4MDIsIDB4ODAsIDB4MGUsCi0gIDB4YTIsIDB4MDgsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MmYsIDB4YzIsIDB4MDgsIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4NzUsIDB4MzEsIDB4MTAsIDB4ZTQsIDB4ZjUsCi0gIDB4NTYsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4NTYsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTJ9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDBjLCAweDc5LCAweGZmLCAweDc0LCAweDAwLCAweDI1LCAweDU2LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LAotICAweDU2LCAweGU1LCAweDU2LCAweGI0LCAweDBjLCAweGRiLCAweDkwLCAweDdmLCAweGJkLCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweDdmLCAweGNhLCAweGUwLAotICAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA1LCAweGQxLCAweGU0LCAweGY1LCAweDU2LCAweDc0LCAweDQwLCAweDI1LCAweDU2LCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDU2LCAweDdjLCAweDAwLCAweDdiLCAweDAwLCAweDI0LCAweDNiLCAweGY5fX0sCi0gezB4MDRjNiwgNjQsIHsgMHhlYywgMHgzNCwgMHgwMCwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwYywgMHg5MiwgMHgwNSwgMHg1NiwgMHhlNSwgMHg1NiwgMHhiNCwgMHgxOCwgMHhkYiwgMHhlNSwgMHgzYiwKLSAgMHg2MCwgMHgxMSwgMHg3NSwgMHhjOSwgMHgyMCwgMHg3NSwgMHhjOCwgMHgzNiwgMHg4NSwgMHgzYywgMHhjYSwgMHg4NSwgMHgzZCwgMHhjYiwgMHhlNCwgMHg5MCwKLSAgMHg3ZiwgMHg5ZiwgMHhmMCwgMHhlNSwgMHgzZSwgMHgxMywgMHg5MiwgMHgxMCwgMHg5MiwgMHg5ZiwgMHg4NSwgMHgzZiwgMHgzOCwgMHhlNSwgMHg0MCwgMHgxMywKLSAgMHg5MiwgMHgxNSwgMHhlNSwgMHg0MSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg4MCwgMHgwN319LAotIHsweDA1MDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4NDIsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4N2YsCi0gIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4NDgsIDB4NjAsIDB4MGIsIDB4YzIsIDB4MGMsCi0gIDB4YzIsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NDksIDB4NjAsIDB4MGMsIDB4ZDIsIDB4MDksIDB4NDMsCi0gIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NGEsIDB4NjAsIDB4MGQsIDB4YzIsIDB4YWZ9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGMyLCAweDBiLCAweGQyLCAweDAwLCAweGU0LCAweGY1LCAweDUzLCAweGY1LCAweDNhLCAweGQyLCAweGFmLCAweGU1LCAweDRiLCAweDYwLCAweDA1LCAweDMwLCAweDE1LAotICAweDAyLCAweGQyLCAweDA5LCAweGU1LCAweDRjLCAweDYwLCAweDE1LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLAotICAweDllLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDRkLCAweDYwLCAweDBhLAotICAweGQyLCAweDljLCAweGMyLCAweDk4LCAweDc1LCAweDJjLCAweDAxLCAweDc1LCAweDMxLCAweDFlLCAweGU1LCAweDRlLCAweDYwLCAweDA3LCAweGMyfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg5YywgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgyYywgMHhlNSwgMHg0ZiwgMHg2MCwgMHgwMywgMHhlNCwgMHhmNSwgMHgzOSwgMHhlNSwgMHg1MCwgMHg2MCwgMHgwMiwKLSAgMHhkMiwgMHgwNywgMHhlNSwgMHg1MSwgMHg2MCwgMHgwYSwgMHhlNSwgMHg0ZCwgMHg3MCwgMHgwMiwgMHhmNSwgMHgzMSwgMHhlNSwgMHg1MSwgMHg0MiwgMHgzNCwKLSAgMHhlNSwgMHg1MiwgMHg2MCwgMHgxZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxMiwgMHhmMCwKLSAgMHg3NCwgMHgzMiwgMHhmMCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NCwgMHgzNCwgMHhmMH19LAotIHsweDA1YzYsIDY0LCB7IDB4ZDIsIDB4MDMsIDB4ZDIsIDB4MDIsIDB4ZDIsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4YTIsIDB4MGMsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4NjUsCi0gIDB4MjksIDB4NjAsIDB4MDUsIDB4OGYsIDB4MjksIDB4NDMsIDB4MzQsIDB4MDEsIDB4YTIsIDB4MDksIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4NjUsIDB4MmEsIDB4NjAsCi0gIDB4MDUsIDB4OGYsIDB4MmEsIDB4NDMsIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4MDgsIDB4NjQsIDB4MDgsIDB4ZjUsCi0gIDB4NTcsIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDYsIDB4ODUsIDB4NTcsIDB4MjUsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4NjR9fSwKLSB7MHgwNjA2LCA2NCwgeyAweDEwLCAweGY1LCAweDU3LCAweDY1LCAweDI2LCAweDYwLCAweDA2LCAweDg1LCAweDU3LCAweDI2LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDQwLCAweDY0LAotICAweDQwLCAweGY1LCAweDU3LCAweDY1LCAweDI3LCAweDYwLCAweDA2LCAweDg1LCAweDU3LCAweDI3LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDIwLAotICAweDY0LCAweDIwLCAweGY1LCAweDU3LCAweDY1LCAweDI4LCAweDYwLCAweDA2LCAweDg1LCAweDU3LCAweDI4LCAweDQzLCAweDM0LCAweDAxLCAweDkwLCAweDdmLAotICAweDlhLCAweGUwLCAweDU0LCAweDQwLCAweDY0LCAweDQwLCAweGY1LCAweDU3LCAweDY1LCAweDJlLCAweDYwLCAweDA2LCAweDg1LCAweDU3LCAweDJlfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg0MywgMHgzNCwgMHgwMSwgMHgzMCwgMHgwNywgMHgzNSwgMHhjMiwgMHhhZiwgMHgzMCwgMHgwMiwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwKLSAgMHgyNywgMHhlNSwgMHgzOSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHhlNCwgMHhmNSwgMHgzOSwgMHhjMiwgMHgwMiwgMHhjMiwgMHgwNywKLSAgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgwZiwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiOSwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHgzOSwgMHhkMiwgMHgwMiwgMHhjMiwgMHgwNywgMHhkMiwgMHhhZiwgMHgyMCwgMHgwNSwgMHgzZCwgMHgzMCwgMHgwM319LAotIHsweDA2ODYsIDY0LCB7IDB4MWUsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzMsIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4M2EsCi0gIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4ZDIsIDB4MDUsIDB4NzUsIDB4MTIsIDB4ZmYsIDB4ODAsIDB4MWMsIDB4OTAsIDB4N2YsCi0gIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTUsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4M2EsIDB4MDEsIDB4OTAsCi0gIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4ZDIsIDB4MDUsIDB4NzUsIDB4MTIsIDB4ZmYsIDB4MjAsIDB4MTQsIDB4MzMsIDB4MjAsIDB4MDB9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDA2LCAweGU1LCAweDNhLCAweDY1LCAweDUzLCAweDcwLCAweDJhLCAweDMwLCAweDA1LCAweDFhLCAweDMwLCAweDAzLCAweDA5LCAweGU0LCAweDkwLCAweDdmLCAweGM3LAotICAweGYwLCAweGMyLCAweDAzLCAweDgwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweGMyLCAweDA1LCAweGU0LCAweGY1LAotICAweDUzLCAweGY1LCAweDNhLCAweDMwLCAweDBkLCAweDBhLCAweGMyLCAweDBkLCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLAotICAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA3LCAweGJmLCAweDIwLCAweDA1LCAweDAzLCAweDAyLCAweDA3LCAweGJmLCAweDMwLCAweDBjLCAweDAzfX0sCi0gezB4MDcwNiwgNjQsIHsgMHgwMiwgMHgwNywgMHhiZiwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwNywgMHhiZiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg2MCwgMHgwMywKLSAgMHgwMiwgMHgwNywgMHhiZiwgMHgzMCwgMHgwMywgMHgwYywgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MCwgMHg3NSwgMHg1OCwgMHg3ZSwgMHg3NSwgMHg1OSwgMHg0MCwKLSAgMHg4MCwgMHgwYSwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHhjMCwgMHg3NSwgMHg1OCwgMHg3ZCwgMHg3NSwgMHg1OSwgMHhjMCwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwKLSAgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHg1OSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxM319LAotIHsweDA3NDYsIDY0LCB7IDB4OTIsIDB4MWEsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4NTksIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4ZjUsIDB4NTcsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsCi0gIDB4ZTUsIDB4NTksIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsCi0gIDB4MDUsIDB4M2EsIDB4ZTUsIDB4NTksIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzZ9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGQyLCAweDBiLCAweDgwLCAweDE1LCAweGMyLCAweDBiLCAweDMwLCAweDAzLCAweDA5LCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAzLCAweDgwLAotICAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweDMwLCAweDEwLCAweDA0LCAweGEyLCAweDFhLCAweDkyLCAweDliLCAweGQyLAotICAweDE0LCAweGMyLCAweGFmLCAweDg1LCAweDU3LCAweDk5LCAweDIwLCAweDBiLCAweDBkLCAweDMwLCAweDBkLCAweDBhLCAweGMyLCAweDBkLCAweGMyLCAweDAwLAotICAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBjfX0sCi0gezB4MDdjNiwgNjQsIHsgMHhhNCwgMHgwOSwgMHgxYywgMHgwMCwgMHgwOSwgMHg4OSwgMHgwMSwgMHgwOSwgMHhlNiwgMHgwMywgMHgwNywgMHhlMywgMHgwNiwgMHgwOSwgMHgwZCwgMHgwOCwgMHgwOSwKLSAgMHgwMSwgMHgwOSwgMHgwOCwgMHhlOSwgMHgwYSwgMHgwOCwgMHhmOCwgMHgwYiwgMHgwMCwgMHgwMCwgMHgwYSwgMHgyNCwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwKLSAgMHgyNCwgMHhmZSwgMHg2MCwgMHgxYywgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwOCwgMHg3OSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYSwKLSAgMHgyNCwgMHg3NCwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHg4NywgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYX19LAotIHsweDA4MDYsIDY0LCB7IDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4ZDgsCi0gIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4ZDEsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4Y2EsIDB4NzUsCi0gIDB4ODMsIDB4MGQsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4YzMsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsCi0gIDB4ODIsIDB4OWUsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWYsIDB4ZTAsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTB9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDdjLCAweDAwLCAweDI0LCAweDAwLCAweGY1LCAweDVhLCAweGVjLCAweDNlLCAweGY1LCAweDU5LCAweDc1LCAweDE1LCAweDBkLCAweDc1LCAweDE2LCAweDk5LCAweDc1LAotICAweDgyLCAweDliLCAweDc1LCAweDgzLCAweDBkLCAweGUwLCAweDc1LCAweDEzLCAweDAwLCAweGY1LCAweDE0LCAweGQzLCAweGU1LCAweDE0LCAweDk1LCAweDVhLAotICAweGU1LCAweDEzLCAweDk1LCAweDU5LCAweDQwLCAweDA2LCAweDg1LCAweDU5LCAweDEzLCAweDg1LCAweDVhLCAweDE0LCAweDEyLCAweDBiLCAweGJhLCAweDAyLAotICAweDBhLCAweDJiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDBiLCAweDc1LCAweDU2LCAweGZmLCAweDc1LCAweDU3LCAweDBkLCAweDc1fX0sCi0gezB4MDg4NiwgNjQsIHsgMHg1OCwgMHhkYywgMHg4MCwgMHgyZCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwYiwgMHg3NSwgMHg1NiwgMHhmZiwgMHg3NSwgMHg1NywgMHgwZCwKLSAgMHg3NSwgMHg1OCwgMHhlMCwgMHg4MCwgMHgxYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMiwgMHgwYiwgMHg3NSwgMHg1NiwgMHhmZiwgMHg3NSwKLSAgMHg1NywgMHgwZCwgMHg3NSwgMHg1OCwgMHhmMCwgMHg4MCwgMHgwOSwgMHg3NSwgMHg1NiwgMHhmZiwgMHg3NSwgMHg1NywgMHgwZSwgMHg3NSwgMHg1OCwgMHgxZSwKLSAgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMCwgMHg3NSwgMHg1OSwgMHgwMCwgMHhmNSwgMHg1YSwgMHhhZSwgMHg1NywgMHhhZiwgMHg1OCwgMHg4ZSwgMHgxNX19LAotIHsweDA4YzYsIDY0LCB7IDB4OGYsIDB4MTYsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4OGUsIDB4MTMsIDB4ZjUsIDB4MTQsIDB4ZDMsIDB4OTUsIDB4NWEsCi0gIDB4ZTUsIDB4MTMsIDB4OTUsIDB4NTksIDB4NDAsIDB4MDYsIDB4ODUsIDB4NTksIDB4MTMsIDB4ODUsIDB4NWEsIDB4MTQsIDB4MTIsIDB4MGIsIDB4YmEsIDB4MDIsCi0gIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGEsCi0gIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTEsIDB4MDIsIDB4MGEsIDB4MmIsIDB4MTIsIDB4MGMsIDB4MjQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGVhLCAweGUwLCAweGY1LCAweDEwLCAweDAyLCAweDBhLCAweDJiLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDEwLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBhLCAweDJiLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI3LCAweDE0LCAweDYwLCAweDM0LAotICAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBhLCAweDI0LCAweGEyLCAweDE2LCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLAotICAweDE4LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0fX0sCi0gezB4MDk0NiwgNjQsIHsgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYSwgMHgyYiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwKLSAgMHhmMCwgMHgwMiwgMHgwYSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwKLSAgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMH19LAotIHsweDA5ODYsIDY0LCB7IDB4MDIsIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTcsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGEsCi0gIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGEsIDB4MjQsIDB4YzIsIDB4MTYsIDB4MDIsIDB4MGEsCi0gIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsCi0gIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLAotICAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDQ1LCAweDkwLAotICAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDEwLCAweDI0LCAweDAyLCAweDcwLCAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDY0LAotICAweDAxLCAweDcwLCAweDJhLCAweGQyLCAweDE2LCAweDgwLCAweDJkLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmfX0sCi0gezB4MGEwNiwgNjQsIHsgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwKLSAgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwKLSAgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHhjMiwgMHgxMCwgMHhlNCwgMHhmNSwKLSAgMHgxMCwgMHhmNSwgMHgzNCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwYywgMHhjMiwgMHgwYiwgMHhjMiwgMHgxNCwgMHhjMiwgMHgwZCwgMHhjMiwgMHgxNX19LAotIHsweDBhNDYsIDY0LCB7IDB4YzIsIDB4MTEsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MTIsIDB4YzIsIDB4MGYsIDB4YzIsIDB4MDgsIDB4ZjUsIDB4MzUsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4NTMsIDB4ZjUsCi0gIDB4M2EsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MmYsIDB4ZjUsIDB4MmUsIDB4ZjUsIDB4MmQsIDB4ZjUsIDB4MmMsIDB4ZjUsIDB4MmIsIDB4ZjUsCi0gIDB4MmEsIDB4ZjUsIDB4MjksIDB4ZjUsIDB4MjgsIDB4ZjUsIDB4MjcsIDB4ZjUsIDB4MjYsIDB4ZjUsIDB4MjUsIDB4ZjUsIDB4MjQsIDB4YzIsIDB4MDUsIDB4YzIsCi0gIDB4MTcsIDB4YzIsIDB4MTksIDB4YzIsIDB4MTYsIDB4YzIsIDB4MTgsIDB4YzIsIDB4MDQsIDB4ZDIsIDB4MTMsIDB4YzIsIDB4MDYsIDB4YzIsIDB4MDF9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLAotICAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLAotICAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLAotICAweGUwLCAweDQ0LCAweDBmLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweDc0LCAweDBlLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweGJjLCAweGQyfX0sCi0gezB4MGFjNiwgNjQsIHsgMHgxYSwgMHgxMiwgMHgwZiwgMHg3ZCwgMHhjMiwgMHgxNywgMHgzMCwgMHgwNCwgMHgwMywgMHgxMiwgMHgwNCwgMHg0OCwgMHgzMCwgMHgwNCwgMHgyYSwgMHgzMCwgMHgwNiwKLSAgMHgyNywgMHhjMiwgMHgwNiwgMHhlNSwgMHgxMiwgMHg2MCwgMHgxNiwgMHgxNSwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHgzMCwgMHhlNiwgMHgwNCwKLSAgMHg3ZiwgMHgwMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwgMHg3ZiwgMHg5NiwKLSAgMHg3NCwgMHgyMCwgMHhmMCwgMHgxMiwgMHgwYiwgMHgxNCwgMHg4MCwgMHhjZCwgMHgzMCwgMHgxNywgMHgwNywgMHhjMiwgMHgxNywgMHgxMiwgMHgwN319LAotIHsweDBiMDYsIDY0LCB7IDB4YzAsIDB4ODAsIDB4YzMsIDB4MzAsIDB4MTksIDB4YzAsIDB4YzIsIDB4MTksIDB4MTIsIDB4MGUsIDB4ZGMsIDB4ODAsIDB4YjksIDB4MjIsIDB4ZTUsIDB4MzEsIDB4NjAsCi0gIDB4MDIsIDB4MTUsIDB4MzEsIDB4ZTUsIDB4MzksIDB4NjAsIDB4NTUsIDB4NjUsIDB4MzUsIDB4NzAsIDB4NGIsIDB4ZTUsIDB4MzMsIDB4ZjQsIDB4NjAsIDB4MDIsCi0gIDB4MDUsIDB4MzMsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTUsIDB4NDQsIDB4NDAsIDB4NDMsIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDIsIDB4MWIsIDB4OTAsIDB4N2YsCi0gIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MmQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsIDB4MzksIDB4ZjAsIDB4YzIsIDB4MDIsIDB4ZTQsIDB4ZjV9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweDM5LCAweGY1LCAweDMzLCAweGY1LCAweDM1LCAweDc1LCAweDEyLCAweGZmLCAweDgwLCAweDE5LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwLCAweGUxLCAweDEyLAotICAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM5LCAweGYwLCAweGQyLCAweDAyLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDMzLCAweGY1LCAweDM1LCAweDc1LAotICAweDEyLCAweGZmLCAweGQyLCAweGFmLCAweDgwLCAweDA2LCAweDg1LCAweDM5LCAweDM1LCAweGU0LCAweGY1LCAweDMzLCAweGU1LCAweDJjLCAweDYwLCAweDMwLAotICAweDIwLCAweDBmLCAweDA3LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUwLCAweDBmLCAweGU1LCAweDJkLCAweDYwLCAweDA2LCAweGU0fX0sCi0gezB4MGI4NiwgNjQsIHsgMHhmNSwgMHgyZCwgMHg0MywgMHgzNCwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzMCwgMHg4MCwgMHgxNCwgMHhlNSwgMHgzMCwgMHhkMywgMHg5NSwgMHg0NSwgMHg1MCwgMHgwZCwKLSAgMHhlNSwgMHgzMCwgMHhiNSwgMHg0NSwgMHgwNiwgMHg3NSwgMHgyZCwgMHgwMSwgMHg0MywgMHgzNCwgMHgwMSwgMHgwNSwgMHgzMCwgMHhjMiwgMHgwZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHhkOSwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwNCwgMHg3ZiwgMHgwMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5NiwKLSAgMHhlZiwgMHhmMCwgMHgyMiwgMHhlNSwgMHgxNCwgMHg0NSwgMHgxMywgMHg2MCwgMHg1NywgMHhhZSwgMHgxMywgMHhhZiwgMHgxNCwgMHhkMywgMHhlZn19LAotIHsweDBiYzYsIDY0LCB7IDB4OTQsIDB4NDAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4N2UsIDB4MDAsIDB4N2YsIDB4NDAsIDB4YzMsIDB4ZTUsIDB4MTQsIDB4OWYsIDB4ZjUsIDB4MTQsCi0gIDB4ZTUsIDB4MTMsIDB4OWUsIDB4ZjUsIDB4MTMsIDB4ZTQsIDB4ZmQsIDB4ZWQsIDB4YzMsIDB4OWYsIDB4ZTQsIDB4OWUsIDB4NTAsIDB4MWYsIDB4ODUsIDB4MTYsCi0gIDB4ODIsIDB4ODUsIDB4MTUsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4NzQsIDB4MDAsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsCi0gIDB4ZWMsIDB4ZjAsIDB4MGQsIDB4MDUsIDB4MTYsIDB4ZTUsIDB4MTYsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MTUsIDB4ODAsIDB4ZGEsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYzA2LCA2NCwgeyAweGE5LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGVmLCAweGYwLCAweDIyLAotICAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLAotICAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDIwLCAweGYwLCAweDkwLCAweDdmLAotICAweDk0LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweDc0LCAweDg2fX0sCi0gezB4MGM0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHg4NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwKLSAgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg3NSwgMHg5OCwgMHg0MCwKLSAgMHg0MywgMHhhOCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgxZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHgwZiwgMHhmMCwgMHhkMiwKLSAgMHgwNCwgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMn19LAotIHsweDBjODYsIDY0LCB7IDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsCi0gIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsCi0gIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsCi0gIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTN9fSwKLSB7MHgwY2M2LCA2NCwgeyAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweGU0LCAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDkzLCAweGYwLAotICAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDQ0LCAweDQyLCAweGYwLCAweDkwLCAweDdmLAotICAweDljLCAweDc0LCAweDEwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGJlLCAweGYwLCAweDMwLAotICAweDE2LCAweDA0LCAweDdmLCAweDgwLCAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweDkwLCAweDdmLCAweDk3LCAweGVmLCAweGYwLCAweGU0LCAweDkwfX0sCi0gezB4MGQwNiwgNjQsIHsgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHhmMCwgMHhjMCwKLSAgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwKLSAgMHgwOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgxMiwgMHgwYiwgMHhiYSwgMHhkMCwgMHhkMCwgMHhkMCwKLSAgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhmMCwgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMH19LAotIHsweDBkNDYsIDY0LCB7IDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzQsCi0gIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsCi0gIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweGZmLCAweGZmLCAweDQwLCAweGNkLCAweDA2LCAweDFjLCAweDAxLCAweDAxLCAweDAwLCAweDAxLCAweDAyLAotICAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDQzLCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDA3LAotICAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDgxLCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MGRjNiwgNjQsIHsgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwKLSAgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHgxMCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwKLSAgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyZSwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwKLSAgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MCwgMHgwMH19LAotIHsweDBlMDYsIDY0LCB7IDB4NTMsIDB4MDAsIDB4NDgsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MmQsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MjIsIDB4MDMsIDB4NTUsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NDEsIDB4MDAsIDB4MmQsCi0gIDB4MDAsIDB4MzUsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODN9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDAyLCAweGYwLCAweGQyLCAweDA2LCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLAotICAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LAotICAweDAwLCAweGQyLCAweDE3LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwfX0sCi0gezB4MGU4NiwgNjQsIHsgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwKLSAgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwKLSAgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMH19LAotIHsweDBlYzYsIDY0LCB7IDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsCi0gIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4MTIsIDB4MGMsIDB4Y2EsIDB4MTIsIDB4MGYsIDB4YjMsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsCi0gIDB4ZTcsIDB4MTIsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MGQsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDAsIDB4MDMsIDB4OTAsIDB4N2YsIDB4ZDYsCi0gIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MTIsIDB4MGMsIDB4MjQsIDB4MjIsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NjksIDB4MDAsIDB4MDIsIDB4MGV9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDQyLCAweDAwLCAweDAyLCAweDBkLCAweDQ1LCAweDAwLCAweDAyLCAweDBlLCAweDkwLCAweDAwLCAweDAyLCAweDBmLCAweDEwLCAweDAwLCAweDAyLCAweDBmLCAweDE0LAotICAweDAwLCAweDAyLCAweDBkLCAweDEyLCAweDAwLCAweDAyLCAweDBmLCAweDFjLCAweDAwLCAweDAyLCAweDBlLCAweGI3LCAweDAwLCAweDAyLCAweDBmLCAweDI0LAotICAweDAwLCAweDAyLCAweDBmLCAweDMzLCAweDAwLCAweDAyLCAweDBmLCAweDJjLCAweDAwLCAweDAyLCAweDBmLCAweDU4LCAweGMwLCAweGUwLCAweGMwLCAweDgzLAotICAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLCAweDkwfX0sCi0gezB4MGY0NiwgNjQsIHsgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwKLSAgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwKLSAgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwKLSAgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NH19LAotIHsweDBmODYsIDYxLCB7IDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MDAsIDB4MDMsIDB4OTAsCi0gIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsCi0gIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsCi0gIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjJ9fSwKLSB7MHhmZmZmLAkwLAl7MHgwMH19Ci19OwotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jCmluZGV4IGZmNTQyMDMuLjY0NGExZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jCkBAIC03NiwxOCArNzYsMTQgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL3NlcmlhbC5oPgogCiBzdGF0aWMgaW50IGRlYnVnOwogCi1zdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCB7Ci0JX191MTYgYWRkcmVzczsKLQlfX3U4IGRhdGFfc2l6ZTsKLQlfX3U4IGRhdGFbMTZdOwotfTsKLQogLyogbWFrZSBhIHNpbXBsZSBkZWZpbmUgdG8gaGFuZGxlIGlmIHdlIGFyZSBjb21waWxpbmcga2V5c3Bhbl9wZGEgb3IgeGlyY29tIHN1cHBvcnQgKi8KICNpZiBkZWZpbmVkKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fUERBKSB8fCBkZWZpbmVkKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fUERBX01PRFVMRSkKIAkjZGVmaW5lIEtFWVNQQU4KQEAgLTEwMCwxNCArOTYsNiBAQAogCSN1bmRlZiBYSVJDT00KICNlbmRpZgogCi0jaWZkZWYgS0VZU1BBTgotI2luY2x1ZGUgImtleXNwYW5fcGRhX2Z3LmgiCi0jZW5kaWYKLQotI2lmZGVmIFhJUkNPTQotI2luY2x1ZGUgInhpcmNvbV9wZ3NfZncuaCIKLSNlbmRpZgotCiAvKgogICogVmVyc2lvbiBJbmZvcm1hdGlvbgogICovCkBAIC03MjIsMzggKzcxMCw0NyBAQAogc3RhdGljIGludCBrZXlzcGFuX3BkYV9mYWtlX3N0YXJ0dXAgKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwpCiB7CiAJaW50IHJlc3BvbnNlOwotCWNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICpyZWNvcmQgPSBOVUxMOworCWNvbnN0IGNoYXIgKmZ3X25hbWU7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWNvcmQ7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAogCS8qIGRvd25sb2FkIHRoZSBmaXJtd2FyZSBoZXJlIC4uLiAqLwogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0KHNlcmlhbCwgMSk7CiAKKwlpZiAoMCkgeyA7IH0KICNpZmRlZiBLRVlTUEFOCi0JaWYgKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBLRVlTUEFOX1ZFTkRPUl9JRCkKLQkJcmVjb3JkID0gJmtleXNwYW5fcGRhX2Zpcm13YXJlWzBdOworCWVsc2UgaWYgKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBLRVlTUEFOX1ZFTkRPUl9JRCkKKwkJZndfbmFtZSA9ICJrZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5mdyI7CiAjZW5kaWYKICNpZmRlZiBYSVJDT00KLQlpZiAoKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBYSVJDT01fVkVORE9SX0lEKSB8fAotCSAgICAobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRWZW5kb3IpID09IEVOVFJFR1JBX1ZFTkRPUl9JRCkpCi0JCXJlY29yZCA9ICZ4aXJjb21fcGdzX2Zpcm13YXJlWzBdOworCWVsc2UgaWYgKChsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFZlbmRvcikgPT0gWElSQ09NX1ZFTkRPUl9JRCkgfHwKKwkJIChsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFZlbmRvcikgPT0gRU5UUkVHUkFfVkVORE9SX0lEKSkKKwkJZndfbmFtZSA9ICJrZXlzcGFuX3BkYS94aXJjb21fcGdzLmZ3IjsKICNlbmRpZgotCWlmIChyZWNvcmQgPT0gTlVMTCkgeworCWVsc2UgewogCQllcnIoIiVzOiB1bmtub3duIHZlbmRvciwgYWJvcnRpbmcuIiwgX19mdW5jX18pOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CisJaWYgKHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsIGZ3X25hbWUsICZzZXJpYWwtPmRldi0+ZGV2KSkgeworCQllcnIoImZhaWxlZCB0byBsb2FkIGZpcm13YXJlIFwiJXNcIlxuIiwgZndfbmFtZSk7CisJCXJldHVybiAtRU5PRU5UOworCX0KKwlyZWNvcmQgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZnctPmRhdGE7CiAKLQl3aGlsZShyZWNvcmQtPmFkZHJlc3MgIT0gMHhmZmZmKSB7Ci0JCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkoc2VyaWFsLCByZWNvcmQtPmFkZHJlc3MsCisJd2hpbGUgKHJlY29yZCkgeworCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5KHNlcmlhbCwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKIAkJCQkJICAgICAodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwKLQkJCQkJICAgICByZWNvcmQtPmRhdGFfc2l6ZSwgMHhhMCk7CisJCQkJCSAgICAgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pLCAweGEwKTsKIAkJaWYgKHJlc3BvbnNlIDwgMCkgewogCQkJZXJyKCJlenVzYl93cml0ZW1lbW9yeSBmYWlsZWQgZm9yIEtleXNwYW4gUERBICIKIAkJCSAgICAiZmlybXdhcmUgKCVkICUwNFggJXAgJWQpIiwKLQkJCSAgICByZXNwb25zZSwgCi0JCQkgICAgcmVjb3JkLT5hZGRyZXNzLCByZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplKTsKKwkJCSAgICByZXNwb25zZSwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCSAgICByZWNvcmQtPmRhdGEsIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQotCQlyZWNvcmQrKzsKKwkJcmVjb3JkID0gaWhleF9uZXh0X2JpbnJlYyhyZWNvcmQpOwogCX0KKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAkvKiBicmluZyBkZXZpY2Ugb3V0IG9mIHJlc2V0LiBSZW51bWVyYXRpb24gd2lsbCBvY2N1ciBpbiBhIG1vbWVudAogCSAgIGFuZCB0aGUgbmV3IGRldmljZSB3aWxsIGJpbmQgdG8gdGhlIHJlYWwgZHJpdmVyICovCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQoc2VyaWFsLCAwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYV9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyNTNhY2MuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0vKgotICogVVNCIEtleXNwYW4gUERBIEZpcm13YXJlCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwIEJyaWFuIFdhcm5lcgk8d2FybmVyQGxvdGhhci5jb20+Ci0gKgotICoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBHZW5lcmF0ZWQgZnJvbSBrZXlzcGFuX3BkYS5zIGJ5IGV6dXNiX2NvbnZlcnQucGwKLSAqCi0gKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fcGRhX2Zpcm13YXJlW10gPSB7Ci17IDB4MDAwMCwJMywJezB4MDIsIDB4MDIsIDB4MDB9IH0sCi17IDB4MDAyMywJNCwJezB4MDIsIDB4MDUsIDB4NWYsIDB4MDB9IH0sCi17IDB4MDA0MywJNCwJezB4MDIsIDB4MDEsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDAzMCwJNSwJezB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDEwMCwJMTYsCXsweDAyLCAweDAyLCAweDk2LCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDAxMTAsCTE2LAl7MHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMTIwLAkxNiwJezB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDQsIDB4NjEsIDB4MDAsIDB4MDIsIDB4MDQsIDB4ODksIDB4MDB9IH0sCi17IDB4MDIwMCwJMTYsCXsweDc1LCAweDgxLCAweDVlLCAweGU0LCAweGY1LCAweDMyLCAweGY1LCAweDMzLCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGY1LCAweDM0LCAweGMyLCAweDAwfSB9LAoteyAweDAyMTAsCTE2LAl7MHhjMiwgMHgwMSwgMHhhOSwgMHgwMCwgMHg3NCwgMHhmZSwgMHg5MCwgMHgxMCwgMHgwMCwgMHhmMCwgMHhhMywgMHhkOSwgMHhmYywgMHg3NCwgMHhmZCwgMHg5MH0gfSwKLXsgMHgwMjIwLAkxNiwJezB4MTEsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZDksIDB4ZmMsIDB4NzQsIDB4MDIsIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDIzMCwJMTYsCXsweDk3LCAweGYwLCAweDc0LCAweDg2LCAweDkwLCAweDdmLCAweDllLCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDAyNDAsCTE2LAl7MHhhZiwgMHhlMCwgMHhkMiwgMHhlMCwgMHhmMCwgMHg3NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhhYiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwMjUwLAkxNiwJezB4N2YsIDB4YWMsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWQsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4NzR9IH0sCi17IDB4MDI2MCwJMTYsCXsweDg0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDc0LCAweDAwLCAweGY1LCAweDk4LCAweDc1LCAweGM4LCAweDMwLCAweDdiLCAweDA1LCAweDkxLCAweDIwfSB9LAoteyAweDAyNzAsCTE2LAl7MHhkMiwgMHhjYSwgMHg3NSwgMHg5OCwgMHg1MCwgMHhkMiwgMHhlOCwgMHhkMiwgMHhhZiwgMHhkMiwgMHhhYywgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MH0gfSwKLXsgMHgwMjgwLAkxNiwJezB4N2YsIDB4ZDYsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4NzksIDB4MmUsIDB4N2EsIDB4MDAsIDB4N2IsIDB4MDAsIDB4ZGIsIDB4ZmUsIDB4ZGEsIDB4ZmEsIDB4ZDl9IH0sCi17IDB4MDI5MCwJMTYsCXsweGY2LCAweDc0LCAweDA2LCAweGYwLCAweDgwLCAweGZlLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDg0LCAweGMwLCAweDg1fSB9LAoteyAweDAyYTAsCTE2LAl7MHhjMCwgMHhlMCwgMHhlNSwgMHg5MSwgMHhjMiwgMHhlNCwgMHhmNSwgMHg5MSwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwMmIwLAkxNiwJezB4ZTgsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4YTMsIDB4ZTAsIDB4ZmIsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4ZTksIDB4NTQsIDB4NjAsIDB4YjR9IH0sCi17IDB4MDJjMCwJMTYsCXsweDAwLCAweDAzLCAweDAyLCAweDAzLCAweDM5LCAweGI0LCAweDQwLCAweDZlLCAweGJhLCAweDAwLCAweDBiLCAweDEyLCAweDA0LCAweDIwLCAweDQwLCAweDAzfSB9LAoteyAweDAyZDAsCTE2LAl7MHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwMiwgMHgwMywgMHgwMn0gfSwKLXsgMHgwMmUwLAkxNiwJezB4MDQsIDB4MGEsIDB4YmEsIDB4MDMsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDQsIDB4YmEsIDB4MDQsIDB4MWUsIDB4YmIsIDB4MDAsIDB4MGEsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDJmMCwJMTYsCXsweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwfSB9LAoteyAweDAzMDAsCTE2LAl7MHg3ZiwgMHg5NSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiYSwgMHgwNSwgMHgwMywgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYX0gfSwKLXsgMHgwMzEwLAkxNiwJezB4MDYsIDB4MTksIDB4YmIsIDB4MDAsIDB4MDgsIDB4ZTUsIDB4MzMsIDB4ZDMsIDB4OTUsIDB4MzIsIDB4MDIsIDB4MDMsIDB4ZGUsIDB4YmIsIDB4MDEsIDB4MDh9IH0sCi17IDB4MDMyMCwJMTYsCXsweGU1LCAweDMyLCAweGMzLCAweDk1LCAweDMzLCAweDAyLCAweDAzLCAweGRlLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDA3LCAweDA1LCAweDhiLCAweDM0fSB9LAoteyAweDAzMzAsCTE2LAl7MHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwYSwgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwMCwgMHgyMCwgMHhiOSwgMHg4MCwgMHgxMCwgMHg5MH0gfSwKLXsgMHgwMzQwLAkxNiwJezB4N2YsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4Yjl9IH0sCi17IDB4MDM1MCwJMTYsCXsweDgyLCAweDAyLCAweDgwLCAweGViLCAweGI5LCAweDgxLCAweDAyLCAweDgwLCAweGU2LCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDAxLCAweDBmLCAweGJifSB9LAoteyAweDAzNjAsCTE2LAl7MHgwMCwgMHgwMywgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYiwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwM30gfSwKLXsgMHgwMzcwLAkxNiwJezB4MGYsIDB4YmIsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmIsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MGF9IH0sCi17IDB4MDM4MCwJMTYsCXsweGJhLCAweDA2LCAweDU2LCAweGJjLCAweDAxLCAweDBmLCAweDkwLCAweDdmLCAweGQ0LCAweDc0LCAweDA2LCAweGYwLCAweDkwLCAweDdmLCAweGQ1LCAweDc0fSB9LAoteyAweDAzOTAsCTE2LAl7MHgxMiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiYywgMHgwMiwgMHgxMiwgMHhiYiwgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHhkNCwgMHg3NCwgMHgwNn0gfSwKLXsgMHgwM2EwLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4NzQsIDB4MjQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4YmMsIDB4MDMsIDB4MjksIDB4NzQsIDB4MDQsIDB4YzN9IH0sCi17IDB4MDNiMCwJMTYsCXsweDliLCAweDQwLCAweDU3LCAweDYwLCAweDU1LCAweGViLCAweDJiLCAweDkwLCAweDA2LCAweDQ0LCAweDI1LCAweDgyLCAweGY1LCAweDgyLCAweDc0LCAweDAwfSB9LAoteyAweDAzYzAsCTE2LAl7MHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhlOSwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwM2QwLAkxNiwJezB4ZDUsIDB4ZWEsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmEsIDB4MDgsIDB4MGYsIDB4NzQsIDB4MDEsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDNlMCwJMTYsCXsweDAwLCAweGYwLCAweDc0LCAweDAxLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweGJhLCAweDA5LCAweDAzLCAweDAyLCAweDA0fSB9LAoteyAweDAzZjAsCTE2LAl7MHgwMiwgMHhiYSwgMHgwYSwgMHgwNSwgMHg3NCwgMHgwMCwgMHgwMiwgMHgwMywgMHhkZSwgMHhiYSwgMHgwYiwgMHgwMywgMHgwMiwgMHgwNCwgMHgwMiwgMHgwMn0gfSwKLXsgMHgwNDAwLAkxNiwJezB4MDQsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YjQsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDF9IH0sCi17IDB4MDQxMCwJMTYsCXsweGYwLCAweDgwLCAweDAwLCAweGQwLCAweGUwLCAweGQwLCAweDg1LCAweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyfSB9LAoteyAweDA0MjAsCTE2LAl7MHhlYiwgMHgyMCwgMHhlNywgMHgxZSwgMHhjMywgMHg5NCwgMHgwYSwgMHg1MCwgMHgxOSwgMHhlYiwgMHgyMywgMHgyNCwgMHhmZSwgMHhmNSwgMHg4MiwgMHg3NH0gfSwKLXsgMHgwNDMwLAkxNiwJezB4MDUsIDB4MzQsIDB4MDAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4Y2IsIDB4ZjUsIDB4Y2QsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4Y2EsIDB4ZjUsIDB4Y2N9IH0sCi17IDB4MDQ0MCwJMTYsCXsweGMzLCAweDIyLCAweGQzLCAweDIyLCAweGI5LCAweDQxLCAweDExLCAweGViLCAweDY0LCAweGZmLCAweDU0LCAweDg0LCAweGZiLCAweDkwLCAweDdmLCAweDk4fSB9LAoteyAweDA0NTAsCTE2LAl7MHhlMCwgMHg1NCwgMHg3YiwgMHg0YiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg2NCwgMHhmZiwgMHgwMiwgMHgwM30gfSwKLXsgMHgwNDYwLAkxNiwJezB4ZGUsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4ZTUsIDB4OTEsIDB4YzJ9IH0sCi17IDB4MDQ3MCwJMTYsCXsweGU0LCAweGY1LCAweDkxLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDA0LCAweGYwLCAweDEyLCAweDA1LCAweGEwLCAweGQwLCAweGUwLCAweGQwLCAweDg1fSB9LAoteyAweDA0ODAsCTE2LAl7MHhkMCwgMHg4NCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMH0gfSwKLXsgMHgwNDkwLAkxNiwJezB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4ZTUsIDB4OTEsIDB4YzIsIDB4ZTQsIDB4ZjUsIDB4OTEsIDB4OTAsIDB4N2YsIDB4YWEsIDB4NzQsIDB4MDR9IH0sCi17IDB4MDRhMCwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY5LCAweGU0LCAweGY1LCAweDg2LCAweDkwLCAweDdkLCAweGMwLCAweDc1LCAweDg1LCAweDEwLCAweDg1fSB9LAoteyAweDA0YjAsCTE2LAl7MHgzMiwgMHg4NCwgMHhlMCwgMHgwNSwgMHg4NiwgMHgwNSwgMHg4NCwgMHhmMCwgMHhlNSwgMHg4NCwgMHhiNSwgMHgzMywgMHgwMiwgMHg4MCwgMHgwOSwgMHgwNX0gfSwKLXsgMHgwNGMwLAkxNiwJezB4MzIsIDB4MDUsIDB4ODYsIDB4YTMsIDB4ZDksIDB4ZWMsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4YjEsIDB4MzEsIDB4ZDAsIDB4ZTB9IH0sCi17IDB4MDRkMCwJMTYsCXsweGQwLCAweDg1LCAweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyLCAweGU0LCAweGY1LCAweDg2LCAweDkwLCAweDdmfSB9LAoteyAweDA0ZTAsCTE2LAl7MHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHg0YiwgMHg5MCwgMHg3ZCwgMHgwMCwgMHhlNSwgMHgzMiwgMHhmMCwgMHhhMywgMHhlNSwgMHgzMywgMHhmMCwgMHhhM30gfSwKLXsgMHgwNGYwLAkxNiwJezB4ZTUsIDB4MzAsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4MzEsIDB4ZjAsIDB4YTMsIDB4ZTQsIDB4MzAsIDB4MDAsIDB4MDEsIDB4MDQsIDB4ZjAsIDB4YTMsIDB4MDV9IH0sCi17IDB4MDUwMCwJMTYsCXsweDg2LCAweDkwLCAweDEwLCAweDAwLCAweDc5LCAweDEwLCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGQ5LCAweGY2fSB9LAoteyAweDA1MTAsCTE2LAl7MHgwNSwgMHg4NiwgMHg3NCwgMHhmYywgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHg5MCwgMHgxMSwgMHgwMCwgMHg3OSwgMHgxMCwgMHhlMCwgMHhhMywgMHgwNX0gfSwKLXsgMHgwNTIwLAkxNiwJezB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZDksIDB4ZjYsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4YmQsIDB4NzQsIDB4MjYsIDB4ZjB9IH0sCi17IDB4MDUzMCwJMTYsCXsweDIyLCAweDIwLCAweDAwLCAweDEzLCAweGU1LCAweDMyLCAweGI1LCAweDMzLCAweDAxLCAweDIyLCAweDA1LCAweDMzLCAweDc1LCAweDgzLCAweDEwLCAweDg1fSB9LAoteyAweDA1NDAsCTE2LAl7MHgzMywgMHg4MiwgMHhlMCwgMHhmNSwgMHg5OSwgMHhkMiwgMHgwMCwgMHg3NCwgMHgwMCwgMHhiNSwgMHgzNCwgMHgwMSwgMHgyMiwgMHhlNSwgMHgzMywgMHhkM30gfSwKLXsgMHgwNTUwLAkxNiwJezB4OTUsIDB4MzIsIDB4YzMsIDB4OTUsIDB4MzQsIDB4NDAsIDB4ZjUsIDB4NzUsIDB4MzQsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4MDIsIDB4MDUsIDB4YTAsIDB4YzB9IH0sCi17IDB4MDU2MCwJMTYsCXsweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDg0LCAweGMwLCAweDg1LCAweGMwLCAweGUwLCAweDMwLCAweDk5LCAweDA3LCAweGMyLCAweDk5fSB9LAoteyAweDA1NzAsCTE2LAl7MHhjMiwgMHgwMCwgMHgxMiwgMHgwNSwgMHgzNCwgMHgzMCwgMHg5OCwgMHgwNSwgMHgxMiwgMHgwNSwgMHg4YSwgMHhjMiwgMHg5OCwgMHhkMCwgMHhlMCwgMHhkMH0gfSwKLXsgMHgwNTgwLAkxNiwJezB4ODUsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4NzUsIDB4ODMsIDB4MTEsIDB4ODUsIDB4MzAsIDB4ODJ9IH0sCi17IDB4MDU5MCwJMTYsCXsweDA1LCAweDgyLCAweGU1LCAweDk5LCAweGYwLCAweGU1LCAweDgyLCAweGI1LCAweDMxLCAweDAxLCAweDIyLCAweDA1LCAweDMwLCAweGIxLCAweGEwLCAweDIyfSB9LAoteyAweDA1YTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzOCwgMHgyMCwgMHgwMSwgMHgzNiwgMHhlNSwgMHgzMCwgMHhiNSwgMHgzMSwgMHgwMSwgMHgyMn0gfSwKLXsgMHgwNWIwLAkxNiwJezB4ZTQsIDB4ZjUsIDB4ODYsIDB4NzUsIDB4ODMsIDB4MTEsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4Nzl9IH0sCi17IDB4MDVjMCwJMTYsCXsweDAxLCAweGU1LCAweDMwLCAweGI1LCAweDMxLCAweDAyLCAweDgwLCAweDEwLCAweDA1LCAweDMxLCAweDg1LCAweDMxLCAweDgyLCAweGUwLCAweDA1LCAweDg2fSB9LAoteyAweDA1ZDAsCTE2LAl7MHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHgwOSwgMHhiOSwgMHg0MCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlOSwgMHg2MCwgMHgwMSwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwNWUwLAkxNiwJezB4YzIsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2UsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDVmMCwJMTYsCXsweDdmLCAweGI5LCAweGYwLCAweDIyLCAweGMyLCAweDk5LCAweGY1LCAweDk5LCAweDMwLCAweDk5LCAweGZkLCAweGMyLCAweDk5LCAweDIyLCAweGU1LCAweDVlfSB9LAoteyAweDA2MDAsCTE2LAl7MHhmNiwgMHgzYywgMHhmZCwgMHg4ZiwgMHhmZSwgMHhjOCwgMHhmZiwgMHg2NCwgMHhmZiwgMHhiMiwgMHhmZiwgMHhkOSwgMHhmZiwgMHhlZCwgMHhmZiwgMHhmM30gfSwKLXsgMHgwNjEwLAkxNiwJezB4ZmYsIDB4ZmEsIDB4MTIsIDB4MDEsIDB4MDAsIDB4MDEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MDQsIDB4MDEsIDB4ODksIDB4YWJ9IH0sCi17IDB4MDYyMCwJMTYsCXsweDAxLCAweDAyLCAweDAzLCAweDAxLCAweDA5LCAweDAyLCAweDIwLCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDMyLCAweDA5LCAweDA0LCAweDAwfSB9LAoteyAweDA2MzAsCTE2LAl7MHgwMCwgMHgwMiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMywgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHgwMn0gfSwKLXsgMHgwNjQwLAkxNiwJezB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4NGMsIDB4MDYsIDB4NTAsIDB4MDYsIDB4NzIsIDB4MDYsIDB4YTAsIDB4MDQsIDB4MDMsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDY1MCwJMTYsCXsweDIyLCAweDAzLCAweDQxLCAweDAwLCAweDQzLCAweDAwLCAweDRkLCAweDAwLCAweDQ1LCAweDAwLCAweDIwLCAweDAwLCAweDc1LCAweDAwLCAweDczLCAweDAwfSB9LAoteyAweDA2NjAsCTE2LAl7MHg2MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3NCwgMHgwMH0gfSwKLXsgMHgwNjcwLAkxNiwJezB4NzMsIDB4MDAsIDB4MmUsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NDMsIDB4MDAsIDB4NGQsIDB4MDAsIDB4NDUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDB9IH0sCi17IDB4MDY4MCwJMTYsCXsweDUzLCAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDczLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwfSB9LAoteyAweDA2OTAsCTE2LAl7MHg2YywgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3NCwgMHgwMH0gfSwKLXsgMHgwNmEwLAk2LAl7MHgwNiwgMHgwMywgMHgzNCwgMHgwMCwgMHgzNywgMHgwMH0gfSwKLXsgMHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE4eF9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTh4X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU3YjNiYzAuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTh4X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NDcgKzAsMCBAQAotLyoga2V5c3Bhbl91c2ExOHhfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2ExOHhfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMTh4X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgxMiwgMHhmN319LAotIHsweDAwMDMsIDE2LCB7IDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjB9fSwKLSB7MHgwMDEzLCAxNiwgeyAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDkwfX0sCi0gezB4MDAyMywgMTUsIHsgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgwNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMn19LAotIHsweDAwNDYsIDE2LCB7IDB4MzAsIDB4MDksIDB4MTgsIDB4MTIsIDB4MTMsIDB4MWIsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2MsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4ZDgsIDB4OTB9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDA5LCAweGMyLCAweDAwLCAweDgwLCAweDc3LCAweDMwLCAweDAzLCAweDNiLCAweDkwLCAweDdmfX0sCi0gezB4MDA2NiwgMTYsIHsgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZX19LAotIHsweDAwNzYsIDE2LCB7IDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDQxLCAweDEyLCAweDBjLCAweGJhfX0sCi0gezB4MDA5NiwgMTYsIHsgMHhjMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMn19LAotIHsweDAwYTYsIDE2LCB7IDB4MTIsIDB4MTMsIDB4MWIsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDl9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkfX0sCi0gezB4MDBjNiwgMTYsIHsgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwYywgMHhiYSwgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3Zn19LAotIHsweDAwZDYsIDE2LCB7IDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4NjAsIDB4MTIsIDB4MTEsIDB4ZDYsIDB4OGZ9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDE5LCAweDEyLCAweDEzLCAweDI3LCAweDhmLCAweDM2LCAweGU1LCAweDE5LCAweGMzLCAweDk1LCAweDNhLCAweDUwLCAweDBmLCAweDEyLCAweDEyLCAweGVifX0sCi0gezB4MDBmNiwgMTYsIHsgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNiwgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYiwgMHg1ZSwgMHhjMiwgMHgwYiwgMHhlNSwgMHgxOX19LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDEzLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwZSwgMHgwMH19LAotIHsweDAxMDYsIDY0LCB7IDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzYsIDB4MDIsIDB4ZTUsIDB4MzYsIDB4MzAsIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsCi0gIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2UsCi0gIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzYsIDB4MTIsIDB4MGYsIDB4NGIsIDB4ZTUsIDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsCi0gIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDh9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDkwLCAweDdlLCAweDgwLCAweGU1LCAweDM2LCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDgxLCAweDEyLAotICAweDBjLCAweGRmLCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDkwLCAweDdmLCAweGNlLCAweGUwLCAweDMwLCAweGUxLCAweDA2LAotICAweDIwLCAweDA1LCAweDAzLCAweDAyLCAweDAzLCAweGMxLCAweGMyLCAweDA1LCAweGU0LCAweGY1LCAweDE4LCAweDc0LCAweDQwLCAweDI1LCAweDE4LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhfX0sCi0gezB4MDE4NiwgNjQsIHsgMHg3ZSwgMHg3OSwgMHgwMCwgMHgyNCwgMHgwMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgwMCwgMHhlMCwgMHg2MCwgMHg2OCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgyNCwKLSAgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg0MywgMHg0NiwKLSAgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHhlNCwgMHg5MH19LAotIHsweDAxYzYsIDY0LCB7IDB4N2UsIDB4MTMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MzUsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsCi0gIDB4ZmYsIDB4MTIsIDB4MTAsIDB4NWIsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4N2YsIDB4MDMsCi0gIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NDMsIDB4NDYsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDYsIDB4OTB9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLCAweDEzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLAotICAweDdlLCAweDEzLCAweGYwLCAweDc1LCAweDI1LCAweGZmLCAweDkwLCAweDdlLCAweDA1LCAweGUwLCAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLAotICAweGY1LCAweDQ0LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ0LCAweGYwLCAweDkwLCAweDdlLAotICAweDA3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQyLCAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQyfX0sCi0gezB4MDI0NiwgNjQsIHsgMHg3ZiwgMHg1MywgMHg0MiwgMHhmYywgMHg5MCwgMHg3ZSwgMHgwOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0MiwgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMCwgMHhhNywgMHg5MCwgMHg3ZSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHhjZCwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwKLSAgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MiwgMHg3ZiwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwgMHg3ZSwgMHgwYywKLSAgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZH19LAotIHsweDAyODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MGUsIDB4ZTAsIDB4NjAsCi0gIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTIsIDB4ZTAsIDB4ZjUsIDB4M2EsIDB4YTMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2MsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MTB9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLAotICAweDkwLCAweDdlLCAweDE2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ0LCAweGJmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LAotICAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDEyLCAweDEyLCAweGRmLAotICAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNlLCAweGZkLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyfX0sCi0gezB4MDMwNiwgNjQsIHsgMHgxMSwgMHhiMSwgMHhlNCwgMHhmNSwgMHgyYSwgMHhmNSwgMHgyOSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwKLSAgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3NSwgMHgyOSwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxOCwKLSAgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgxOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0NCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDAzNDYsIDY0LCB7IDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWEsIDB4ZTAsIDB4NjAsIDB4MGYsCi0gIDB4NTMsIDB4M2UsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NzUsIDB4MmIsIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsCi0gIDB4N2UsIDB4MWIsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsIDB4MDEsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4ZTQsCi0gIDB4ZjUsIDB4MmIsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWMsIDB4ZTAsIDB4NjAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTJ9fSwKLSB7MHgwMzg2LCA2NCwgeyAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBiLAotICAweDkwLCAweDdlLCAweDFlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDJjLCAweDAxLCAweGU0LCAweGY1LCAweDM4LCAweGQyLCAweDA3LCAweDkwLCAweDdlLAotICAweDFmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDE1LCAweGYwLAotICAweDc0LCAweDM1LCAweGYwLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM4fX0sCi0gezB4MDNjNiwgNjQsIHsgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOCwgMHgyMCwgMHgxMywgMHg0OSwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwKLSAgMHgzZSwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhkMiwgMHgxMywgMHgxMiwgMHgxMiwgMHhkZiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwKLSAgMHgxOSwgMHg2NSwgMHgyYSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyYSwgMHhkMiwgMHgwNywgMHgxMiwgMHgxMywgMHgzMywgMHhlZiwgMHg1NCwgMHg4MCwKLSAgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNiwgMHhkMiwgMHgwNywgMHgzMCwgMHgwZCwgMHgxMSwgMHgxMn19LAotIHsweDA0MDYsIDY0LCB7IDB4MTMsIDB4MzMsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjUsIDB4ZDIsIDB4MDcsIDB4MjAsCi0gIDB4MWIsIDB4MDMsIDB4MDIsIDB4MDcsIDB4ZWMsIDB4MzAsIDB4MGEsIDB4MTgsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2QsIDB4NDAsCi0gIDB4MDMsIDB4MDIsIDB4MDQsIDB4YWUsIDB4OTAsIDB4N2YsIDB4YzEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsCi0gIDB4MzAsIDB4MDQsIDB4M2IsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzN9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdkLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweDE0LCAweGY1LAotICAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LAotICAweDBkLCAweDQxLCAweDEyLCAweDBkLCAweDA0LCAweGMyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLAotICAweGNjLCAweGUwLCAweDIwLCAweGUxLCAweDMyLCAweDEyLCAweDEzLCAweDZmLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg3YywgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwKLSAgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3YywgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwZCwgMHgwNCwKLSAgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNSwKLSAgMHgzNiwgMHgxMiwgMHgxMiwgMHgyMCwgMHg4ZiwgMHgxOSwgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgzNywgMHhlNSwgMHgxOSwgMHhjMywgMHg5NX19LAotIHsweDA0YzYsIDY0LCB7IDB4M2IsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4NTcsIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzcsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MGMsCi0gIDB4NWUsIDB4YzIsIDB4MGMsIDB4ZTUsIDB4MTksIDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzcsIDB4MDIsIDB4ZTUsIDB4MzcsIDB4MzAsCi0gIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsCi0gIDB4N2QsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzcsIDB4MTIsIDB4MGYsIDB4ODQsIDB4ZTV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LAotICAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4LCAweDkwLCAweDdkLCAweDgwLCAweGU1LCAweDM3LCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDgxLCAweDc1LAotICAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgxLCAweDEyLCAweDBkLCAweDI5LCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDkwLAotICAweDdmLCAweGQwLCAweGUwLCAweDMwLCAweGUxLCAweDA2LCAweDIwLCAweDA2LCAweDAzLCAweDAyLCAweDA3LCAweDk3LCAweGMyLCAweDA2LCAweGU0fX0sCi0gezB4MDU0NiwgNjQsIHsgMHhmNSwgMHgxOCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwKLSAgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHgyMCwgMHgyNCwgMHgyMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwKLSAgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgyMCwgMHhlMCwgMHg2MCwgMHg2OCwKLSAgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgyNCwgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgwM319LAotIHsweDA1ODYsIDY0LCB7IDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MjEsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTEsIDB4MTksIDB4OTAsIDB4N2UsIDB4MjIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4M2YsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MzEsIDB4ZTAsCi0gIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLAotICAweGU1LCAweDQxLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLAotICAweDMzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDc1LCAweDJlLCAweGZmLCAweDkwLCAweDdlLCAweDI1LCAweGUwLAotICAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDQ1LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MDYwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MywKLSAgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0MywgMHg3ZiwgMHg1MywgMHg0MywgMHhmYywgMHg5MCwgMHg3ZSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0MywgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg2NSwgMHg5MCwgMHg3ZSwgMHgyYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg4YiwKLSAgMHhhZiwgMHg0MywgMHgxMiwgMHgxMCwgMHhmMywgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MywgMHg3ZiwgMHhhZn19LAotIHsweDA2NDYsIDY0LCB7IDB4NDMsIDB4MTIsIDB4MTAsIDB4ZjMsIDB4OTAsIDB4N2UsIDB4MmMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDIsCi0gIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsCi0gIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MmUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDEsIDB4ODAsIDB4MDMsCi0gIDB4NTMsIDB4NDcsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjB9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDkwLCAweDdlLCAweDMyLCAweGUwLCAweGY1LCAweDNiLCAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDNkLCAweGEzLCAweGUwLAotICAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdlLCAweDM2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ1LCAweGJmLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MDZjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHgxMiwgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZiwgMHhmZCwKLSAgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHhlNCwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMiwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwKLSAgMHgzNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3NSwgMHgzMiwKLSAgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzOCwgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMH19LAotIHsweDA3MDYsIDY0LCB7IDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MzksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4M2EsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NTMsIDB4M2YsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4NzUsIDB4MzQsIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2IsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDEsIDB4ZTR9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGY1LCAweDM0LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNjLCAweGUwLCAweDYwLCAweDBlLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweGU1LCAweDQxLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLAotICAweDNkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBjLCAweDkwLCAweDdlLCAweDNlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDM1LCAweDAxLCAweGU0LAotICAweGY1LCAweDM5LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDEzfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg3NCwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMSwgMHhmMCwKLSAgMHgzMCwgMHgxYSwgMHg1MiwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOSwgMHgzMCwgMHgxMywgMHg0OSwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwKLSAgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwgMHgzZSwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhjMiwgMHgxMywgMHgxMiwKLSAgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwgMHgxOSwgMHg2NSwgMHgzMywgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgzMywgMHhkMn19LAotIHsweDA3YzYsIDY0LCB7IDB4MDgsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmYsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmYsIDB4ZDIsCi0gIDB4MDgsIDB4MzAsIDB4MGUsIDB4MTEsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmUsIDB4NjAsIDB4MDUsCi0gIDB4ODUsIDB4MTksIDB4MmUsIDB4ZDIsIDB4MDgsIDB4MzAsIDB4MWEsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjMsIDB4OTAsCi0gIDB4N2IsIDB4NDAsIDB4ZTAsIDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsIDB4MTUsIDB4OTAsIDB4N2IsIDB4NDIsIDB4ZTAsIDB4ZjUsIDB4MTYsIDB4OTB9fSwKLSB7MHgwODA2LCA2NCwgeyAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLAotICAweGQzLCAweGYwLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA5LCAweDIwLCAweGU1LCAweDBhLCAweDcwLCAweDQwLAotICAweDMwLCAweDA3LCAweDM5LCAweGU1LCAweDM4LCAweDcwLCAweDM1LCAweGMyLCAweDA3LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LAotICAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1fX0sCi0gezB4MDg0NiwgNjQsIHsgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwKLSAgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOCwgMHgxMCwgMHhlNCwgMHhmNSwgMHgyYywgMHg3NSwgMHgwYSwgMHgwMSwgMHgyMiwKLSAgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMSwgMHg3MCwgMHg0MCwgMHgzMCwgMHgwOCwgMHgzOSwgMHhlNSwgMHgzOSwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwOCwgMHhmNSwKLSAgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMn19LAotIHsweDA4ODYsIDY0LCB7IDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsCi0gIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MTAsIDB4ZTQsCi0gIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MGEsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MzYsIDB4MzAsIDB4MTQsIDB4MmYsIDB4YzIsCi0gIDB4MTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MGUsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDB9fSwKLSB7MHgwOGM2LCA2NCwgeyAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLAotICAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA1LCAweGYwLCAweDc1LCAweDBhLAotICAweDAzLCAweDIyLCAweGU1LCAweDE1LCAweDYwLCAweDMwLCAweDE1LCAweDE1LCAweGU0LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LAotICAweDE0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1fX0sCi0gezB4MDkwNiwgNjQsIHsgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwKLSAgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgwYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwZSwKLSAgMHhlNCwgMHgwYSwgMHgwOCwgMHgwMCwgMHgwYSwgMHg3YywgMHgwMSwgMHgwYSwgMHhlOCwgMHgwMywgMHgwOSwgMHg0NCwgMHgwNiwgMHgwOSwgMHhmYiwgMHgwOCwKLSAgMHgwOSwgMHhmNSwgMHgwOSwgMHgwOSwgMHhkZCwgMHgwYSwgMHgwOSwgMHhlYywgMHgwYiwgMHgwMCwgMHgwMCwgMHgwYiwgMHgzNywgMHg5MCwgMHg3Zn19LAotIHsweDA5NDYsIDY0LCB7IDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MTQsIDB4NjAsIDB4NjEsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDksIDB4ZDMsIDB4NzQsCi0gIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksCi0gIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4N2IsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NzQsIDB4NzUsIDB4ODMsIDB4MTl9fSwKLSB7MHgwOTg2LCA2NCwgeyAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLAotICAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBmLAotICAweDBhLCAweGVhLCAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLCAweGQ1LCAweGYwfX0sCi0gezB4MDljNiwgNjQsIHsgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwOSwgMHgwMiwgMHgwYiwgMHgzZSwgMHgxMiwgMHgwYiwKLSAgMHg0NiwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMn19LAotIHsweDBhMDYsIDY0LCB7IDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsCi0gIDB4YTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MTYsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsCi0gIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LAotICAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyfX0sCi0gezB4MGE4NiwgNjQsIHsgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgxMCwgMHgwMiwgMHgwYiwgMHgzZSwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwKLSAgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwKLSAgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDBhYzYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsCi0gIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsCi0gIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4MTAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjB9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LAotICAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLAotICAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyfX0sCi0gezB4MGI0NiwgNjQsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxOCwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHhlNCwgMHhmNSwKLSAgMHgyNCwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYX19LAotIHsweDBiODYsIDY0LCB7IDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZDIsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2EsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsCi0gIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzYsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MTMsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4NDQsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsCi0gIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4ODEsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDQwLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDc1LCAweDQ2LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLAotICAweDEyLCAweDExLCAweGIxLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDExfX0sCi0gezB4MGMwNiwgNjQsIHsgMHhiMSwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg2YSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiMSwgMHgyMCwgMHgxYiwgMHgwMywgMHgwMiwKLSAgMHgwYywgMHhiNywgMHg3NSwgMHgyZCwgMHgwMSwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwKLSAgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYiwKLSAgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgxMywgMHhmNSwgMHgzNywgMHhjMiwgMHgwOCwgMHhjMiwgMHgwYywgMHhjMiwgMHgwNiwgMHhjMn19LAotIHsweDBjNDYsIDY0LCB7IDB4MDAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MTMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4NzUsIDB4NDUsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDMsIDB4MTIsIDB4MTAsCi0gIDB4ZjMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDEsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4NDcsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzR9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNmLCAweDEyLAotICAweDExLCAweGZiLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLAotICAweDdmLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDhiLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGZiLAotICAweGQyLCAweDEyLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyfX0sCi0gezB4MGNjNiwgNjQsIHsgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwKLSAgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgwOCwKLSAgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwKLSAgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDBkMDYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsCi0gIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsCi0gIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsCi0gIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDV9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LAotICAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLAotICAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweGQyLCAweDE5LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLAotICAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDEwLCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwKLSAgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwKLSAgMHgxYSwgMHgxMiwgMHgxMiwgMHg0NSwgMHhjMiwgMHgxMSwgMHhlNCwgMHhmNSwgMHgwYiwgMHhmNSwgMHgxMywgMHhjMiwgMHgxNywgMHhjMiwgMHgxMn19LAotIHsweDBkYzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YTEsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTcsIDB4NjAsIDB4MTAsIDB4MzAsIDB4MTIsIDB4MDUsIDB4ZDIsCi0gIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MTcsIDB4ODAsIDB4MDgsIDB4MzAsIDB4MTIsIDB4MDUsIDB4YzIsCi0gIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4MzAsIDB4MTEsIDB4MDcsIDB4YzIsIDB4MTEsIDB4MTIsIDB4MDksIDB4MjEsIDB4ODAsIDB4ZDYsIDB4MzAsIDB4MTgsCi0gIDB4ZDMsIDB4YzIsIDB4MTgsIDB4MTIsIDB4MTMsIDB4OTMsIDB4ODAsIDB4Y2MsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmR9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDc1LCAweDgxLCAweDQ3LCAweDAyLCAweDBlLCAweDQ3LCAweDAyLCAweDBkLCAweDZmLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLAotICAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LAotICAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LAotICAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwfX0sCi0gezB4MGU0NiwgNjQsIHsgMHg4MCwgMHg5MCwgMHgxMiwgMHhhYywgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwKLSAgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwKLSAgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwKLSAgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYX19LAotIHsweDBlODYsIDY0LCB7IDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsCi0gIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsCi0gIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksCi0gIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTV9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLAotICAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLAotICAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LAotICAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzfX0sCi0gezB4MGYwNiwgNjQsIHsgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg4ZiwgMHgxOCwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3NSwgMHgxYSwgMHhmZiwgMHg3NSwgMHgxYiwgMHgxOSwgMHg3NSwgMHgxYywKLSAgMHg4NiwgMHhhYiwgMHgxYSwgMHhhYSwgMHgxYiwgMHhhOSwgMHgxYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwZSwgMHhhNSwgMHhiNCwgMHgwMywgMHgxZCwKLSAgMHhhZiwgMHgxOSwgMHgwNSwgMHgxOSwgMHhlZiwgMHhiNSwgMHgxOCwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwZSwgMHg4YywgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwKLSAgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYSwgMHhmZiwgMHhmNSwgMHgxYiwgMHg4OSwgMHgxYywgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMH19LAotIHsweDBmNDYsIDY0LCB7IDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsCi0gIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsCi0gIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsCi0gIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MWEsIDB4ZWYsIDB4NDIsIDB4MzYsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4OGYsIDB4MWF9fSwKLSB7MHgwZjg2LCA2NCwgeyAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLAotICAweGYwLCAweDEyLCAweDEzLCAweDNmLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LAotICAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LCAweDYwLCAweDBhLCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDFhLAotICAweGVmLCAweDQyLCAweDM3LCAweDgwLCAweGNhLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwfX0sCi0gezB4MGZjNiwgNjQsIHsgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwKLSAgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwKLSAgMHgxMSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMH19LAotIHsweDEwMDYsIDY0LCB7IDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsCi0gIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsCi0gIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTB9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLAotICAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzfX0sCi0gezB4MTA4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NH19LAotIHsweDEwYzYsIDY0LCB7IDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsCi0gIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMTA2LCA2NCwgeyAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LAotICAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MTE0NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3Zn19LAotIHsweDExODYsIDY0LCB7IDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsCi0gIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMWM2LCA2NCwgeyAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLAotICAweDEzLCAweDBmLCAweDhmLCAweDFhLCAweDEyLCAweDEzLCAweDBmLCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLAotICAweDEzLCAweDBmLCAweDhmLCAweDFhLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDBmLCAweDhmLCAweDFiLCAweDgwLAotICAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxMywKLSAgMHg2MywgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwKLSAgMHg2NSwgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOCwgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MH19LAotIHsweDEyNDYsIDY0LCB7IDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsCi0gIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTIsIDB4YzgsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsCi0gIDB4MDQsIDB4ZjAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2UsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2UsIDB4NDQsIDB4ODB9fSwKLSB7MHgxMjg2LCA2NCwgeyAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNmLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDExLCAweGZiLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNmLCAweDQ0LCAweDgwLAotICAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDIyLCAweDA1LCAweDBlLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDE0LCAweDAzLCAweDAwLAotICAweDAwLCAweGMxLCAweDExLCAweGMxLCAweDE4LCAweGMxLCAweDk1LCAweGMxLCAweDEwLCAweGMxLCAweDE2LCAweDAxLCAweDBhLCAweDAwLCAweGMxfX0sCi0gezB4MTJjNiwgNjQsIHsgMHgxYiwgMHgwMCwgMHg4ZSwgMHgxOCwgMHg4ZiwgMHgxOSwgMHhlNSwgMHgxOSwgMHgxNSwgMHgxOSwgMHhhZSwgMHgxOCwgMHg3MCwgMHgwMiwgMHgxNSwgMHgxOCwgMHg0ZSwKLSAgMHg2MCwgMHgwNSwgMHgxMiwgMHgwZCwgMHg0ZSwgMHg4MCwgMHhlZSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhlNywgMHgwMCwgMHgwMiwgMHgxM319LAotIHsweDEzMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MGYsIDB4YmQsIDB4MDAsIDB4MDIsIDB4MTAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmfX0sCi0gezB4MTM4NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHgxMiwgMHgwMCwgMHgwMywgMHgxMiwKLSAgMHgwZCwgMHg1ZiwgMHgxMiwgMHgwYiwgMHg0NiwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MThjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MTIsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDB9fSwKLSB7MHgxYTA2LCAyMCwgeyAweDcyLCAweDAwLCAweDEwLCAweDAzLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMwLAotICAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwJMCwJezB4MDB9IH0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOV9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjAyM2M1Mi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOV9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsMjg1ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMTlfZncuaAotIAotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMTlfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotKi8KLQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2ExOV9maXJtd2FyZVtdID0gewotIHsweDAwMjYsIDEwLCB7IDB4MTIsIDB4MGQsIDB4YmYsIDB4MTIsIDB4MGYsIDB4NDcsIDB4MTIsIDB4MGQsIDB4NmIsIDB4MjJ9fSwKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDAwLCAweDFhfX0sCi0gezB4MDAxYSwgIDQsIHsgMHg1MywgMHhkOCwgMHhlZiwgMHgzMn19LAotIHsweDAwMDMsIDE2LCB7IDB4OGUsIDB4MTMsIDB4OGYsIDB4MTQsIDB4ZTUsIDB4MTQsIDB4MTUsIDB4MTQsIDB4YWUsIDB4MTMsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTMsIDB4NGUsIDB4NjB9fSwKLSB7MHgwMDEzLCAgNywgeyAweDA1LCAweDEyLCAweDBmLCAweDM2LCAweDgwLCAweGVlLCAweDIyfX0sCi0gezB4MDAyMywgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwNDYsIDE2LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDh9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDMwLCAweDk5LCAweDBlLCAweDMwLCAweDA4LCAweDA3LCAweGEyLCAweDBiLCAweDkyLCAweDliLCAweDg1LCAweDM1LCAweDk5LCAweGMyLCAweDk5LCAweGQyfX0sCi0gezB4MDA2NiwgMTYsIHsgMHgwZiwgMHgyMCwgMHgwZiwgMHgwMywgMHgwMiwgMHgwNCwgMHgzMSwgMHhjMiwgMHgwZiwgMHgyMCwgMHgwMiwgMHgwMywgMHgwMiwgMHgwMiwgMHg1NiwgMHgyMH19LAotIHsweDAwNzYsIDE2LCB7IDB4MDgsIDB4MDMsIDB4MDIsIDB4MDEsIDB4MjcsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MDksIDB4MzYsIDB4MjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDA2LCAweDMzLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDI5LCAweDMwLCAweDBkLCAweDEyLCAweGFmfX0sCi0gezB4MDA5NiwgMTYsIHsgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5Mn19LAotIHsweDAwYTYsIDE2LCB7IDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTB9fSwKLSB7MHgwMGI2LCAxNiwgeyAweGY1LCAweDM1LCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyfX0sCi0gezB4MDBjNiwgMTYsIHsgMHgwMiwgMHgzMCwgMHgwYSwgMHgwYywgMHhjMiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZn19LAotIHsweDAwZDYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmYsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTB9fSwKLSB7MHgwMGU2LCAxNiwgeyAweGY1LCAweDUwLCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDIwLCAweDA5LCAweDJkLCAweDIwLCAweDA2LCAweDJhLCAweDkwfX0sCi0gezB4MDBmNiwgMTYsIHsgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHgyMCwgMHgzMCwgMHgwZCwgMHgxMSwgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMH19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MGYsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDBjLCAweDYxfX0sCi0gezB4MDEwNiwgNjQsIHsgMHgxMywgMHg5MiwgMHgwYiwgMHhhMywgMHhlMCwgMHhmNSwgMHgzNSwgMHg3NSwgMHgzNywgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHg3NSwgMHgzNywgMHgwMiwgMHg5MCwKLSAgMHg3ZCwgMHhjMSwgMHhlMCwgMHhmNSwgMHgzNSwgMHgwMiwgMHgwNCwgMHgyZiwgMHg3NSwgMHgzNywgMHgwMSwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwKLSAgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwMSwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgzMCwgMHhlMSwKLSAgMHgwNywgMHhjMiwgMHgxMCwgMHhjMiwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg1MCwgMHg5MH19LAotIHsweDAxNDYsIDY0LCB7IDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDEsIDB4YzcsIDB4MjAsIDB4MDYsIDB4NzIsIDB4MjAsIDB4MDAsCi0gIDB4NmYsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4NjUsIDB4MzAsIDB4MGQsIDB4MTAsIDB4OTAsIDB4N2UsCi0gIDB4NDEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4MzcsIDB4MDMsIDB4ODAsIDB4MDksIDB4OTAsIDB4N2UsCi0gIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4MzcsIDB4MDIsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NDAsIDB4MTcsIDB4OTB9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAyLCAweDIwLCAweDBhLCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDBhLCAweDkwLCAweDdmLCAweGJiLAotICAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDJmLCAweDMwLCAweDBkLCAweDEyLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLAotICAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM1LCAweGQyLCAweDA4LCAweDAyLCAweDA0fX0sCi0gezB4MDFjNiwgNjQsIHsgMHgyZiwgMHg3NSwgMHgzNywgMHgwMSwgMHhjMiwgMHgxMCwgMHgwMiwgMHgwNCwgMHgyZiwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwMiwgMHg1MSwgMHgyMCwgMHgwNiwKLSAgMHg3OSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHg2ZiwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywKLSAgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwKLSAgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDAyMDYsIDY0LCB7IDB4ZjUsIDB4OTksIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NDAsIDB4MTcsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDIsIDB4MjAsCi0gIDB4MGEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4YzIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MmYsIDB4MzAsCi0gIDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM1LCAweGQyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDEwLCAweDAyLCAweDA0LCAweDJmLCAweDIwLAotICAweDA4LCAweDAzLCAweDAyLCAweDAzLCAweDA4LCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDUwLCAweDNlLCAweDIwLCAweDA5LCAweDM2LCAweDIwLAotICAweDA2LCAweDMzLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDI5LCAweDMwLCAweDBkLCAweDEyLCAweGFmLAotICAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzfX0sCi0gezB4MDI4NiwgNjQsIHsgMHg5MiwgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmNSwgMHgzNSwgMHgwMiwgMHgwNCwgMHgyZiwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwKLSAgMHgwMiwgMHgzMCwgMHgwYSwgMHgwYywgMHhjMiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwKLSAgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwgMHg5MCwgMHg3ZiwgMHhjN319LAotIHsweDAyYzYsIDY0LCB7IDB4ZTAsIDB4ZjUsIDB4NTAsIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4MjAsIDB4MDksIDB4MmQsIDB4MjAsIDB4MDYsIDB4MmEsIDB4OTAsCi0gIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4MjAsIDB4MzAsIDB4MGQsIDB4MTEsIDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsCi0gIDB4MTMsIDB4OTIsIDB4MGIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MzcsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4NzUsIDB4MzcsIDB4MDIsCi0gIDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4MDIsIDB4MDQsIDB4MmYsIDB4NzUsIDB4MzcsIDB4MDEsIDB4YzIsIDB4MDgsIDB4MDJ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDA0LCAweDJmLCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDUwLCAweDAzLCAweDAyLCAweDAzLCAweGIwLCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDMwLAotICAweGUxLCAweDA3LCAweGMyLCAweDEwLCAweGMyLCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDUwLCAweDkwLAotICAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDAzLCAweGE4LCAweDIwLCAweDA2LCAweDcyLCAweDIwLAotICAweDAwLCAweDZmLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDY1LCAweDMwLCAweDBkLCAweDEwfX0sCi0gezB4MDM0NiwgNjQsIHsgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzNywgMHgwMywgMHg4MCwgMHgwOSwgMHg5MCwKLSAgMHg3ZCwgMHhjMSwgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzNywgMHgwMiwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg0MCwgMHgxNywgMHg5MCwKLSAgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwMiwgMHgyMCwgMHgwYSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHhjMiwgMHgwYSwgMHg5MCwgMHg3ZiwKLSAgMHhiYiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyZiwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMH19LAotIHsweDAzODYsIDY0LCB7IDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsCi0gIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4ZDIsIDB4MDgsIDB4MDIsIDB4MDQsCi0gIDB4MmYsIDB4NzUsIDB4MzcsIDB4MDEsIDB4YzIsIDB4MTAsIDB4MDIsIDB4MDQsIDB4MmYsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmQsIDB4MjAsCi0gIDB4MDYsIDB4NzQsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4NmEsIDB4MzAsIDB4MGQsIDB4MTJ9fSwKLSB7MHgwM2M2LCA2NCwgeyAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLAotICAweDliLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLAotICAweGY1LCAweDk5LCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDQwLCAweDEzLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAyLAotICAweDMwLCAweDBhLCAweDM1LCAweGMyLCAweDBhLCAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweDgwLCAweDJjLCAweDMwLCAweDBkLCAweDEyfX0sCi0gezB4MDQwNiwgNjQsIHsgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwKLSAgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmNSwgMHgzNSwgMHhkMiwgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMiwgMHgxMCwgMHhkMiwgMHgxMiwgMHgyMCwgMHg5OCwgMHgwMywgMHgwMiwgMHgwNSwgMHg2ZCwKLSAgMHhjMiwgMHg5OCwgMHgyMCwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHhkYSwgMHgyMCwgMHgxMSwgMHgyNywgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNn19LAotIHsweDA0NDYsIDY0LCB7IDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MGQsIDB4NGQsIDB4YWYsCi0gIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsCi0gIDB4ODAsIDB4M2EsIDB4ODUsIDB4OTksIDB4MTAsIDB4ZTUsIDB4MTAsIDB4YjUsIDB4NDQsIDB4MDQsIDB4ZDIsIDB4MDYsIDB4ODAsIDB4MmUsIDB4ZTUsIDB4MTAsCi0gIDB4YjUsIDB4NDMsIDB4MDQsIDB4YzIsIDB4MDYsIDB4ODAsIDB4MjUsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjV9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDEwLCAweGYwLCAweDMwLCAweDBkLCAweDExLCAweGFmLCAweDM2LCAweDA1LCAweDM2LCAweDc0LAotICAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDBjLCAweGU1LCAweDM2LAotICAweGMzLCAweDk1LCAweDQwLCAweDUwLCAweDAzLCAweDAyLCAweDA1LCAweDZiLCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDMwLCAweGUxLCAweDE2LCAweGU1LAotICAweDM2LCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDAzLCAweDAyLCAweDA1LCAweDZiLCAweDE1LCAweDM2LCAweDE1LCAweDM2LCAweDA1LCAweDJifX0sCi0gezB4MDRjNiwgNjQsIHsgMHg0MywgMHgzMywgMHgwMSwgMHgwMiwgMHgwNSwgMHg2YiwgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwgMHgzNiwgMHhmMCwgMHg3NSwgMHgzNiwgMHgwMCwgMHhjMiwgMHgwMSwKLSAgMHgwMiwgMHgwNSwgMHg2YiwgMHgyMCwgMHgxMSwgMHgyNywgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgwZCwgMHg0ZCwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHgwMCwKLSAgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHg4MCwgMHgzYSwgMHg4NSwgMHg5OX19LAotIHsweDA1MDYsIDY0LCB7IDB4MTAsIDB4ZTUsIDB4MTAsIDB4YjUsIDB4NDQsIDB4MDQsIDB4ZDIsIDB4MDYsIDB4ODAsIDB4MmUsIDB4ZTUsIDB4MTAsIDB4YjUsIDB4NDMsIDB4MDQsIDB4YzIsIDB4MDYsCi0gIDB4ODAsIDB4MjUsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsCi0gIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4MzAsIDB4MGQsIDB4MTEsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MGMsIDB4ZTUsIDB4MzYsIDB4YzMsIDB4OTUsIDB4NDAsIDB4NDB9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweDI0LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDEyLCAweGU1LCAweDM2LCAweGMzLCAweDk0LCAweDQwLCAweDQwLCAweDE2LCAweDE1LCAweDM2LAotICAweDE1LCAweDM2LCAweDA1LCAweDJiLCAweDQzLCAweDMzLCAweDAxLCAweDgwLCAweDBiLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM2LCAweGYwLCAweDc1LAotICAweDM2LCAweDAwLCAweGQyLCAweDAxLCAweGQyLCAweDEyLCAweDMwLCAweDEyLCAweDA1LCAweGMyLCAweDEyLCAweDAyLCAweDAwLCAweDU2LCAweGQwLCAweGQwLAotICAweGQwLCAweDg2LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDMwLCAweGUxfX0sCi0gezB4MDU4NiwgNjQsIHsgMHgwMywgMHgwMiwgMHgwNiwgMHhhYiwgMHhlNCwgMHhmNSwgMHgxMywgMHg3NCwgMHg0MCwgMHgyNSwgMHgxMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxMywgMHg3YywgMHgwMCwgMHg3YiwgMHgwMCwgMHgyNCwgMHgzOCwgMHhmOSwgMHhlYywgMHgzNCwgMHgwMCwgMHhmYSwKLSAgMHhlZiwgMHgxMiwgMHgwZCwgMHgzMywgMHgwNSwgMHgxMywgMHhlNSwgMHgxMywgMHhiNCwgMHgxOCwgMHhkYiwgMHhlNSwgMHgzOCwgMHg2MCwgMHgwYywgMHg3NSwKLSAgMHhjOSwgMHgyMCwgMHg3NSwgMHhjOCwgMHgzNCwgMHg4NSwgMHgzOSwgMHhjYSwgMHg4NSwgMHgzYSwgMHhjYiwgMHhlNSwgMHgzYiwgMHgxMywgMHg5Mn19LAotIHsweDA1YzYsIDY0LCB7IDB4MGQsIDB4OTIsIDB4OWYsIDB4ZTUsIDB4M2MsIDB4MTMsIDB4OTIsIDB4MGUsIDB4ZTUsIDB4M2QsIDB4MTMsIDB4OTIsIDB4MTEsIDB4ZTUsIDB4M2UsIDB4NjAsIDB4MDksCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsCi0gIDB4ZTUsIDB4M2YsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NjAsIDB4MGIsIDB4YzIsIDB4MDksIDB4YzIsIDB4MDYsIDB4OTAsIDB4N2YsIDB4OTV9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDQ2LCAweDYwLCAweDBjLCAweGQyLCAweDA2LCAweDQzLCAweDMzLCAweDAxLCAweDkwLCAweDdmLCAweDk1LCAweGUwLAotICAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDQ3LCAweDYwLCAweDBkLCAweGMyLCAweGFmLCAweGMyLCAweDA4LCAweGQyLCAweDAwLCAweGU0LCAweGY1LCAweDUwLAotICAweGY1LCAweDM3LCAweGQyLCAweGFmLCAweGU1LCAweDQ4LCAweDYwLCAweDA1LCAweDMwLCAweDExLCAweDAyLCAweGQyLCAweDA2LCAweGU1LCAweDQ5LCAweDYwLAotICAweDE1LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweGUwLCAweDQ0LCAweDAyLCAweGYwfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlNSwgMHg0YSwgMHg2MCwgMHgwYSwgMHhkMiwgMHg5YywgMHhjMiwgMHg5OCwgMHg3NSwgMHgyYywKLSAgMHgwMSwgMHg3NSwgMHgzMSwgMHgxZSwgMHhlNSwgMHg0YiwgMHg2MCwgMHgwNywgMHhjMiwgMHg5YywgMHhlNCwgMHhmNSwgMHgzNiwgMHhmNSwgMHgyYywgMHhlNSwKLSAgMHg0YywgMHg2MCwgMHgwMywgMHhlNCwgMHhmNSwgMHgzNiwgMHhlNSwgMHg0ZCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwNCwgMHhlNSwgMHg0ZSwgMHg2MCwgMHgwYSwKLSAgMHhlNSwgMHg0YSwgMHg3MCwgMHgwMiwgMHhmNSwgMHgzMSwgMHhlNSwgMHg0ZSwgMHg0MiwgMHgzMywgMHhlNSwgMHg0ZiwgMHg2MCwgMHgxZiwgMHg5MH19LAotIHsweDA2ODYsIDY0LCB7IDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4NzQsIDB4MzIsIDB4ZjAsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzQsIDB4MzQsIDB4ZjAsIDB4ZDIsIDB4MDIsIDB4ZDIsIDB4MDEsIDB4ZDIsIDB4MDUsIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4YTIsIDB4MDksIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4NjUsIDB4MjksIDB4NjAsIDB4MDUsIDB4OGYsIDB4MjksIDB4NDMsCi0gIDB4MzMsIDB4MDEsIDB4YTIsIDB4MDYsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4NjUsIDB4MmEsIDB4NjAsIDB4MDUsIDB4OGYsIDB4MmEsIDB4NDMsIDB4MzN9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDA4LCAweGI1LCAweDI1LCAweDBhLCAweGUwLCAweDU0LCAweDA4LCAweDY0LCAweDA4LCAweGY1LCAweDI1LAotICAweDQzLCAweDMzLCAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDEwLCAweGI1LCAweDI2LCAweDBhLCAweGUwLCAweDU0LCAweDEwLCAweDY0LAotICAweDEwLCAweGY1LCAweDI2LCAweDQzLCAweDMzLCAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDQwLCAweGI1LCAweDI3LCAweDBhLCAweGUwLAotICAweDU0LCAweDQwLCAweDY0LCAweDQwLCAweGY1LCAweDI3LCAweDQzLCAweDMzLCAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDIwfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhiNSwgMHgyOCwgMHgwYSwgMHhlMCwgMHg1NCwgMHgyMCwgMHg2NCwgMHgyMCwgMHhmNSwgMHgyOCwgMHg0MywgMHgzMywgMHgwMSwgMHgzMCwgMHgwNCwgMHgzNSwgMHhjMiwKLSAgMHhhZiwgMHgzMCwgMHgwMSwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHhlNSwgMHgzNiwgMHg2MCwgMHgwOSwgMHg5MCwKLSAgMHg3ZiwgMHhiNywgMHhmMCwgMHhlNCwgMHhmNSwgMHgzNiwgMHhjMiwgMHgwMSwgMHhjMiwgMHgwNCwgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwKLSAgMHgyMCwgMHhlMSwgMHgwZiwgMHhlNSwgMHgzNiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhmMCwgMHhlNCwgMHhmNSwgMHgzNiwgMHhkMn19LAotIHsweDA3NDYsIDY0LCB7IDB4MDEsIDB4YzIsIDB4MDQsIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDMsIDB4MzcsIDB4MzAsIDB4MDIsIDB4MWIsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsCi0gIDB4MmQsIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4NzUsIDB4MzcsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsCi0gIDB4NTAsIDB4ZDIsIDB4MDMsIDB4ODAsIDB4MTksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTIsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsCi0gIDB4MTMsIDB4OTIsIDB4MGEsIDB4NzUsIDB4MzcsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTAsIDB4ZDIsIDB4MDMsIDB4MjB9fSwKLSB7MHgwNzg2LCA2NCwgeyAweDEwLCAweDMzLCAweDIwLCAweDAwLCAweDA2LCAweGU1LCAweDM3LCAweDY1LCAweDUwLCAweDcwLCAweDJhLCAweDMwLCAweDAzLCAweDFhLCAweDMwLCAweDAyLCAweDA5LAotICAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAyLCAweDgwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAyLAotICAweGMyLCAweDAzLCAweGU0LCAweGY1LCAweDUwLCAweGY1LCAweDM3LCAweDMwLCAweDBhLCAweDBhLCAweGMyLCAweDBhLCAweGMyLCAweDAwLCAweDkwLCAweDdmLAotICAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweDMwLCAweDEwLCAweDAzLCAweDAyLCAweDA4LCAweGM1LCAweDIwLCAweDAzLCAweDAzLCAweDAyLCAweDA4fX0sCi0gezB4MDdjNiwgNjQsIHsgMHhjNSwgMHgzMCwgMHgwZSwgMHgwYSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgwMiwgMHgwOCwgMHhjNSwgMHgzMCwgMHgwNiwgMHgwMywKLSAgMHgwMiwgMHgwOCwgMHhjNSwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwOCwgMHhjNSwgMHgzMCwgMHgwMiwgMHg2MiwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwKLSAgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwKLSAgMHgxOSwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4M319LAotIHsweDA4MDYsIDY0LCB7IDB4ZTAsIDB4ZjUsIDB4MTQsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsCi0gIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGIsIDB4YWYsIDB4MzcsCi0gIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4ZDIsCi0gIDB4MDgsIDB4ODAsIDB4NmIsIDB4YzIsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDIsIDB4ODAsIDB4NjAsIDB4MzB9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDBkLCAweDEyLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLAotICAweDEzLCAweDkyLCAweDE5LCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LAotICAweDgzLCAweGUwLCAweGY1LCAweDE0LCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDUwLCAweDJhLCAweDMwLCAweDBkLCAweDEyLCAweGFmLCAweDM3LAotICAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwKLSAgMHgzNSwgMHhkMiwgMHgwOCwgMHg4MCwgMHgwOSwgMHhjMiwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMiwgMHgzMCwgMHgwZCwKLSAgMHgwNCwgMHhhMiwgMHgxOSwgMHg5MiwgMHg5YiwgMHhkMiwgMHgxMCwgMHhjMiwgMHhhZiwgMHg4NSwgMHgxNCwgMHg5OSwgMHgyMCwgMHgwOCwgMHgwZCwgMHgzMCwKLSAgMHgwYSwgMHgwYSwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMiwgMHhhZiwgMHg5MH19LAotIHsweDA4YzYsIDY0LCB7IDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NTEsIDB4ZTUsIDB4MzMsIDB4NjAsIDB4NGQsIDB4ZTUsIDB4MzEsIDB4NzAsIDB4NDksIDB4ZTUsIDB4MzMsIDB4MzAsCi0gIDB4ZTEsIDB4MDgsIDB4ZTQsIDB4ZjUsIDB4MmYsIDB4NzUsIDB4MzMsIDB4MDEsIDB4ODAsIDB4MGIsIDB4YTIsIDB4MDUsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MmYsCi0gIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZTQsIDB4ZjUsIDB4MTMsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTMsCi0gIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGMsIDB4ZWQsIDB4ZmYsIDB4NzQsIDB4MDAsIDB4MjUsIDB4MTMsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDEzLCAweGU1LCAweDEzLCAweGI0LCAweDBjLCAweGRiLCAweDkwLCAweDdmLCAweGJkLAotICAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDMxLCAweDEwLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBkLCAweDQ1LCAweDBhLCAweDAzLAotICAweDAwLCAweDBhLCAweDc3LCAweDAxLCAweDBhLCAweGUzLCAweDAzLCAweDA5LCAweDQxLCAweDA2LCAweDA5LCAweGY0LCAweDA4LCAweDA5LCAweGU4LCAweDA5LAotICAweDA5LCAweGQwLCAweDBhLCAweDA5LCAweGRmLCAweDBiLCAweDAwLCAweDAwLCAweDBiLCAweDMyLCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0fX0sCi0gezB4MDk0NiwgNjQsIHsgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MCwgMHg1NywgMHgyNCwgMHgwMiwgMHg3MCwgMHg3NiwgMHg3NCwgMHgwZiwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwKLSAgMHg2NCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwKLSAgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHhiNSwgMHg3NSwgMHg4MywgMHgwZiwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHhhZSwgMHg3NSwKLSAgMHg4MywgMHgwZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHhhNywgMHg3NSwgMHg4MywgMHgwZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHhhMCwgMHg3NSwgMHg4M319LAotIHsweDA5ODYsIDY0LCB7IDB4MGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4N2IsIDB4NzUsIDB4ODMsIDB4MGYsIDB4ZjAsIDB4NzQsIDB4MGYsIDB4OTAsCi0gIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsCi0gIDB4ZmYsIDB4MTIsIDB4MGUsIDB4NDgsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsCi0gIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4Mzl9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDE5LCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDE5LCAweDAyLCAweDBiLAotICAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDE4LCAweDEyLCAweDBkLCAweDZiLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweDAwLAotICAweGU1LCAweDE4LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGU4fX0sCi0gezB4MGEwNiwgNjQsIHsgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMiwgMHgxMywgMHhlNCwgMHgzMywgMHhmZiwKLSAgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxNywgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MH19LAotIHsweDBhNDYsIDY0LCB7IDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsCi0gIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksCi0gIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4Mzl9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDEzLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LAotICAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmfX0sCi0gezB4MGFjNiwgNjQsIHsgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwKLSAgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwKLSAgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwKLSAgMHgxMywgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYX19LAotIHsweDBiMDYsIDY0LCB7IDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsCi0gIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4MjAsIDB4MTUsIDB4MDMsIDB4MDIsIDB4MGJ9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGQzLCAweGU1LCAweDMxLCAweDYwLCAweDAyLCAweDE1LCAweDMxLCAweGU1LCAweDM2LCAweDYwLCAweDRmLCAweDY1LCAweDM0LCAweDcwLCAweDQ1LCAweGU1LCAweDMyLAotICAweGY0LCAweDYwLCAweDAyLCAweDA1LCAweDMyLCAweGU1LCAweDMyLCAweGMzLCAweDk1LCAweDQxLCAweDQwLCAweDNkLCAweGMyLCAweGFmLCAweDMwLCAweDAxLAotICAweDE4LCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweDkwLCAweDdmLCAweGI3LCAweGU1LCAweDM2LCAweGYwLCAweGMyLCAweDAxLAotICAweGU0LCAweGY1LCAweDM2LCAweGY1LCAweDMyLCAweGY1LCAweDM0LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwLCAweGUxfX0sCi0gezB4MGI4NiwgNjQsIHsgMHgwZiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlNSwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzNiwgMHhmNSwgMHgzMiwgMHhmNSwgMHgzNCwgMHhkMiwKLSAgMHhhZiwgMHg4MCwgMHgwNiwgMHg4NSwgMHgzNiwgMHgzNCwgMHhlNCwgMHhmNSwgMHgzMiwgMHhlNSwgMHgyYywgMHg2MCwgMHgyZiwgMHgyMCwgMHgwYywgMHgwNywKLSAgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMCwgMHgwZiwgMHhlNSwgMHgyZCwgMHg2MCwgMHgwNiwgMHhlNCwgMHhmNSwgMHgyZCwgMHg0MywgMHgzMywKLSAgMHgwMSwgMHhlNCwgMHhmNSwgMHgzMCwgMHg4MCwgMHgxNCwgMHhlNSwgMHgzMCwgMHhkMywgMHg5NSwgMHg0MiwgMHg1MCwgMHgwZCwgMHhlNSwgMHgzMH19LAotIHsweDBiYzYsIDY0LCB7IDB4YjUsIDB4NDIsIDB4MDYsIDB4NzUsIDB4MmQsIDB4MDEsIDB4NDMsIDB4MzMsIDB4MDEsIDB4MDUsIDB4MzAsIDB4YzIsIDB4MGMsIDB4MjIsIDB4NzUsIDB4MTIsIDB4MDEsCi0gIDB4YzIsIDB4MTQsIDB4YzIsIDB4MTgsIDB4YzIsIDB4MTMsIDB4YzIsIDB4MTcsIDB4YzIsIDB4MTUsIDB4YzIsIDB4MTIsIDB4ZDIsIDB4MTYsIDB4ZTQsIDB4ZjUsCi0gIDB4MTgsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MTMsCi0gIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzR9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLAotICAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLAotICAweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweGJjLCAweGQyLCAweDE5LCAweDEyLCAweDBlLCAweGRhLCAweGMyLCAweDE0LCAweDMwLAotICAweDE1LCAweDAzLCAweDEyLCAweDA1LCAweDgwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDExLCAweDYwLCAweDA4LCAweGUwLCAweGY1fX0sCi0gezB4MGM0NiwgNjQsIHsgMHgxMSwgMHgxMiwgMHgwYiwgMHg0MSwgMHg4MCwgMHhlYSwgMHgzMCwgMHgxNCwgMHgwNywgMHhjMiwgMHgxNCwgMHgxMiwgMHgwOSwgMHgxZSwgMHg4MCwgMHhlMCwgMHgzMCwKLSAgMHgxOCwgMHhkZCwgMHhjMiwgMHgxOCwgMHgxMiwgMHgwMCwgMHgyNiwgMHg4MCwgMHhkNiwgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwKLSAgMHg3NSwgMHg4MSwgMHg1MCwgMHgwMiwgMHgwYywgMHhhOCwgMHgwMiwgMHgwYiwgMHhkNCwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywKLSAgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOH19LAotIHsweDBjODYsIDY0LCB7IDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsCi0gIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsCi0gIDB4ODAsIDB4OTAsIDB4MGUsIDB4MDQsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsCi0gIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTB9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LAotICAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLAotICAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLAotICAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyfX0sCi0gezB4MGQwNiwgNjQsIHsgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwKLSAgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwKLSAgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwKLSAgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMH19LAotIHsweDBkNDYsIDY0LCB7IDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsCi0gIDB4NzQsIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsCi0gIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTYsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4MDR9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweDc0LCAweDIwLCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LAotICAweDg0LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDkwLAotICAweDdmLCAweGNiLCAweGYwLCAweDc1LCAweDk4LCAweDQwLCAweDQzLCAweGE4LCAweDEwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDFmLCAweGYwLCAweDkwLAotICAweDdmLCAweGRmLCAweDc0LCAweDBmLCAweGYwLCAweGQyLCAweDE1LCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGRjNiwgNjQsIHsgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwKLSAgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgyMCwgMHhmMCwKLSAgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhlMCwgMHg0NCwgMHhmZCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMiwgMHgwYywgMHgyNH19LAotIHsweDBlMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MzAsIDB4MDAsIDB4MDEsIDB4MzMsCi0gIDB4MDEsIDB4MDEsIDB4MzIsIDB4MDAsIDB4MDEsIDB4MzcsIDB4MDAsIDB4MDEsIDB4NTAsIDB4MDAsIDB4MDEsIDB4MzYsIDB4MDAsIDB4MDEsIDB4MzQsIDB4MDAsCi0gIDB4YzEsIDB4MDUsIDB4YzEsIDB4MGMsIDB4YzEsIDB4MDMsIDB4YzEsIDB4MGYsIDB4YzEsIDB4MDQsIDB4YzEsIDB4MGUsIDB4YzEsIDB4MTEsIDB4YzEsIDB4MGEsCi0gIDB4YzEsIDB4MTAsIDB4YzEsIDB4MDgsIDB4YzEsIDB4MDksIDB4YzEsIDB4MDYsIDB4YzEsIDB4MDAsIDB4YzEsIDB4MGQsIDB4YzEsIDB4ODEsIDB4YzF9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDgyLCAweDAwLCAweDhmLCAweDEzLCAweGU0LCAweGY1LCAweDE0LCAweDc1LCAweDE1LCAweGZmLCAweDc1LCAweDE2LCAweDBmLCAweDc1LCAweDE3LCAweGI5LCAweGFiLAotICAweDE1LCAweGFhLCAweDE2LCAweGE5LCAweDE3LCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBkLCAweDA2LCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDE0LAotICAweDA1LCAweDE0LCAweGVmLCAweGI1LCAweDEzLCAweDAxLCAweDIyLCAweDEyLCAweDBjLCAweGVkLCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLAotICAweGE5LCAweDA3LCAweDc1LCAweDE1LCAweGZmLCAweGY1LCAweDE2LCAweDg5LCAweDE3LCAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwfX0sCi0gezB4MGU4NiwgNjQsIHsgMHg3OSwgMHgwMCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwKLSAgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwKLSAgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywKLSAgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxNCwgMHg1MywgMHg5MX19LAotIHsweDBlYzYsIDY0LCB7IDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsCi0gIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MTksCi0gIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MDAsIDB4MDMsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsCi0gIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4MDAsIDB4MDIsIDB4MGUsIDB4YjMsIDB4MDAsIDB4MDIsIDB4MGZ9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDA0LCAweDAwLCAweDAyLCAweDBlLCAweDg5LCAweDAwLCAweDAyLCAweDBmLCAweDBmLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LAotICAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LAotICAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDc0LAotICAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5fX0sCi0gezB4MGY0NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwKLSAgMHgwMSwgMHhmZiwgMHgwMCwgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwNywgMHgwMSwgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwKLSAgMHgwMiwgMHg0MywgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMCwgMHg4MCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwNywgMHhmZiwgMHgwMH19LAotIHsweDBmODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsCi0gIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDEsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MTAsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzN9fSwKLSB7MHgwZmM2LCAyMywgeyAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDBlLCAweDAzLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLAotICAweDYxLCAweDAwLCAweDZjLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwJMCwJezB4MDB9IH0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXFpX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXFpX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhMjY0NzIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlxaV9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsMjg0ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMTlxaV9mdy5oCi0gCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3BuX3VzYTE5cWlfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2ExOXFpX2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwMCwgMHgxYX19LAotIHsweDAwMWEsICA0LCB7IDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9fSwKLSB7MHgwMDAzLCAxNiwgeyAweDhlLCAweDExLCAweDhmLCAweDEyLCAweGU1LCAweDEyLCAweDE1LCAweDEyLCAweGFlLCAweDExLCAweDcwLCAweDAyLCAweDE1LCAweDExLCAweDRlLCAweDYwfX0sCi0gezB4MDAxMywgIDcsIHsgMHgwNSwgMHgxMiwgMHgwZiwgMHg4NCwgMHg4MCwgMHhlZSwgMHgyMn19LAotIHsweDAwMjMsICAzLCB7IDB4MDIsIDB4MDAsIDB4NDZ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDA4fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgzMCwgMHg5OSwgMHgwZSwgMHgzMCwgMHgwYiwgMHgwNywgMHhhMiwgMHgwZSwgMHg5MiwgMHg5YiwgMHg4NSwgMHgzNiwgMHg5OSwgMHhjMiwgMHg5OSwgMHhkMn19LAotIHsweDAwNjYsIDE2LCB7IDB4MTIsIDB4MjAsIDB4MTIsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MWUsIDB4YzIsIDB4MTIsIDB4MjAsIDB4MDMsIDB4MDMsIDB4MDIsIDB4MDIsIDB4NGUsIDB4MjB9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDBiLCAweDAzLCAweDAyLCAweDAxLCAweDI2LCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDNjLCAweDIwLCAweDBjLCAweDM0LCAweDIwfX0sCi0gezB4MDA4NiwgMTYsIHsgMHgwOSwgMHgzMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHgyOSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNX19LAotIHsweDAwOTYsIDE2LCB7IDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWZ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2fX0sCi0gezB4MDBiNiwgMTYsIHsgMHgwMiwgMHgwNCwgMHgxYywgMHhjMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwMywgMHgzMH19LAotIHsweDAwYzYsIDE2LCB7IDB4MGQsIDB4MGMsIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGM4LCAweGUwLCAweDMwLCAweGUxLCAweDA1LCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDUzfX0sCi0gezB4MDBlNiwgMTYsIHsgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgxNiwgMHhmZiwgMHgyMCwgMHgwYywgMHgyYiwgMHgyMCwgMHgwOSwgMHgyOH19LAotIHsweDAwZjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4MjAsIDB4MzAsIDB4MTAsIDB4MTEsIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsIDB4MTN9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDBlLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwMCwgMHgyNn19LAotIHsweDAwMjYsIDEyLCB7IDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4NTQsIDB4MDIsIDB4MGIsIDB4Mjh9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDM2LCAweDc1LCAweDNhLCAweDAzLCAweDAyLCAweDA0LCAweDFjLCAweDc1LCAweDNhLCAweDAyLCAweDkwLCAweDdkLAotICAweGMxLCAweGUwLCAweGY1LCAweDM2LCAweDAyLCAweDA0LCAweDFjLCAweDc1LCAweDNhLCAweDAxLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweGU1LAotICAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDAzLCAweDAyLCAweDAxLCAweGM5LCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDMwLCAweGUxLCAweDA3LAotICAweGMyLCAweDE0LCAweGMyLCAweDA1LCAweDAyLCAweDA0LCAweDFjLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDUzLCAweDkwLCAweDdlfX0sCi0gezB4MDE0NiwgNjQsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgxNiwgMHhmZiwgMHgyMCwgMHgwYywgMHg3MCwgMHgyMCwgMHgwOSwgMHg2ZCwgMHg5MCwgMHg3ZiwgMHg5YiwKLSAgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHg2NSwgMHgzMCwgMHgxMCwgMHgxMCwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywKLSAgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzYSwgMHgwMywgMHg4MCwgMHgwOSwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzYSwKLSAgMHgwMiwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwM319LAotIHsweDAxODYsIDY0LCB7IDB4MjAsIDB4MGQsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MWMsIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MWMsIDB4MzAsCi0gIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4ZDIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4NzUsIDB4M2EsIDB4MDEsIDB4YzIsIDB4MTR9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDAyLCAweDA0LCAweDFjLCAweDMwLCAweDBjLCAweDAzLCAweDAyLCAweDAyLCAweDQ5LCAweDIwLCAweDA5LCAweDc3LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LAotICAweDM4LCAweDcwLCAweDZmLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDk5LCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDQwfX0sCi0gezB4MDIwNiwgNjQsIHsgMHgxNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwMywgMHgyMCwgMHgwZCwgMHgwMywgMHgwMiwgMHgwNCwgMHgxYywgMHhjMiwgMHgwZCwgMHg5MCwKLSAgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgxYywgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwKLSAgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwKLSAgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHhkMiwgMHgwYn19LAotIHsweDAyNDYsIDY0LCB7IDB4MDIsIDB4MDQsIDB4MWMsIDB4YzIsIDB4MTQsIDB4MDIsIDB4MDQsIDB4MWMsIDB4MjAsIDB4MGIsIDB4MDMsIDB4MDIsIDB4MDIsIDB4ZmYsIDB4ZTUsIDB4M2EsIDB4YzMsCi0gIDB4OTUsIDB4NTMsIDB4NTAsIDB4M2MsIDB4MjAsIDB4MGMsIDB4MzQsIDB4MjAsIDB4MDksIDB4MzEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsCi0gIDB4NzAsIDB4MjksIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjV9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweDAyLCAweDA0LCAweDFjLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLAotICAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAzLCAweDMwLCAweDBkLCAweDBjLCAweGMyLCAweDBkLCAweDkwLCAweDdmLCAweGJiLCAweDA0LAotICAweGYwLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDMwLCAweGUxLCAweDA1LCAweGMyLCAweDBiLCAweDAyLAotICAweDA0LCAweDFjLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDUzLCAweDkwLCAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBkfX0sCi0gezB4MDJjNiwgNjQsIHsgMHg3NSwgMHgxNiwgMHhmZiwgMHgyMCwgMHgwYywgMHgyYiwgMHgyMCwgMHgwOSwgMHgyOCwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHgyMCwKLSAgMHgzMCwgMHgxMCwgMHgxMSwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhMywgMHhlMCwgMHhmNSwgMHgzNiwgMHg3NSwgMHgzYSwKLSAgMHgwMywgMHgwMiwgMHgwNCwgMHgxYywgMHg3NSwgMHgzYSwgMHgwMiwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHhmNSwgMHgzNiwgMHgwMiwgMHgwNCwgMHgxYywKLSAgMHg3NSwgMHgzYSwgMHgwMSwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgwM319LAotIHsweDAzMDYsIDY0LCB7IDB4MDIsIDB4MDMsIDB4YTIsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MTQsIDB4YzIsIDB4MDUsIDB4MDIsIDB4MDQsIDB4MWMsCi0gIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4MTYsIDB4ZmYsCi0gIDB4MjAsIDB4MGMsIDB4NzAsIDB4MjAsIDB4MDksIDB4NmQsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4NjUsIDB4MzAsIDB4MTAsCi0gIDB4MTAsIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4M2EsIDB4MDN9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDgwLCAweDA5LCAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDNhLCAweDAyLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDQwLAotICAweDE3LCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAzLCAweDIwLCAweDBkLCAweDAzLCAweDAyLCAweDA0LCAweDFjLCAweGMyLCAweDBkLAotICAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDFjLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LAotICAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhfX0sCi0gezB4MDM4NiwgNjQsIHsgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHhkMiwgMHgwYiwKLSAgMHgwMiwgMHgwNCwgMHgxYywgMHg3NSwgMHgzYSwgMHgwMSwgMHhjMiwgMHgxNCwgMHgwMiwgMHgwNCwgMHgxYywgMHgyMCwgMHgwYywgMHg3NSwgMHgyMCwgMHgwOSwKLSAgMHg3MiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHg2YSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwKLSAgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhZn19LAotIHsweDAzYzYsIDY0LCB7IDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4ZTUsCi0gIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NDAsIDB4MTMsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MzAsIDB4MGQsIDB4MzUsCi0gIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MmMsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsCi0gIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWZ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweGQyLAotICAweDBiLCAweDgwLCAweDAyLCAweGMyLCAweDE0LCAweGQyLCAweDAxLCAweDIwLCAweDk4LCAweDAzLCAweDAyLCAweDA1LCAweDVhLCAweGMyLCAweDk4LCAweDIwLAotICAweDAyLCAweDAzLCAweDAyLCAweDA0LCAweGM3LCAweDIwLCAweDE2LCAweDI3LCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDEwLCAweDRkLCAweGFmLCAweDM5LCAweDA1fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHg4MCwgMHgzYSwgMHg4NSwKLSAgMHg5OSwgMHgxMCwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0NywgMHgwNCwgMHhkMiwgMHgwOSwgMHg4MCwgMHgyZSwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0NiwgMHgwNCwKLSAgMHhjMiwgMHgwOSwgMHg4MCwgMHgyNSwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwKLSAgMHhmNSwgMHg4MywgMHhlNSwgMHgxMCwgMHhmMCwgMHgzMCwgMHgxMCwgMHgxMSwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZn19LAotIHsweDA0ODYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MGYsIDB4ZTUsIDB4MzksIDB4YzMsIDB4OTUsIDB4NDMsCi0gIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NTgsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTYsIDB4ZTUsIDB4MzksIDB4YzMsIDB4OTQsCi0gIDB4NDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NTgsIDB4MTUsIDB4MzksIDB4MTUsIDB4MzksIDB4MDUsIDB4MmIsIDB4NDMsIDB4MzQsIDB4MDEsIDB4MDIsCi0gIDB4MDUsIDB4NTgsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsIDB4MzksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MDAsIDB4YzIsIDB4MDIsIDB4MDIsIDB4MDV9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDU4LCAweDIwLCAweDE2LCAweDI3LCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LAotICAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDEwLCAweDRkLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDNhLCAweDg1LCAweDk5LCAweDEwLCAweGU1LCAweDEwLCAweGI1LAotICAweDQ3LCAweDA0LCAweGQyLCAweDA5LCAweDgwLCAweDJlLCAweGU1LCAweDEwLCAweGI1LCAweDQ2LCAweDA0LCAweGMyLCAweDA5LCAweDgwLCAweDI1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHgxMCwgMHhmMCwKLSAgMHgzMCwgMHgxMCwgMHgxMSwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwKLSAgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgwZiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NSwgMHg0MywgMHg0MCwgMHgyNCwgMHg5MCwgMHg3ZiwgMHhiNiwKLSAgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NCwgMHg0MCwgMHg0MCwgMHgxNiwgMHgxNSwgMHgzOSwgMHgxNSwgMHgzOX19LAotIHsweDA1NDYsIDY0LCB7IDB4MDUsIDB4MmIsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ODAsIDB4MGIsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4MzksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MDAsIDB4ZDIsCi0gIDB4MDIsIDB4ZDIsIDB4MDEsIDB4MzAsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MDEsIDB4MDIsIDB4MDAsIDB4NTYsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsCi0gIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NTEsIDB4ZTUsIDB4MzQsIDB4NjAsCi0gIDB4NGQsIDB4ZTUsIDB4MzEsIDB4NzAsIDB4NDksIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTEsIDB4MDgsIDB4ZTQsIDB4ZjUsIDB4MmYsIDB4NzUsIDB4MzR9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDAxLCAweDgwLCAweDBiLCAweGEyLCAweDA4LCAweGU0LCAweDMzLCAweGY1LCAweDJmLCAweGMyLCAweDA4LCAweGU0LCAweGY1LCAweDM0LCAweGU0LCAweGY1LCAweDExLAotICAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDExLCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBkLCAweDA2LAotICAweGZmLCAweDc0LCAweDAwLCAweDI1LCAweDExLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDExLAotICAweGU1LCAweDExLCAweGI0LCAweDBjLCAweGRiLCAweDkwLCAweDdmLCAweGJkLCAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDMxLCAweDEwLCAweDkwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHg3ZiwgMHhjYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNiwgMHhmMywgMHhlNCwgMHhmNSwgMHgxMSwgMHg3NCwgMHg0MCwgMHgyNSwgMHgxMSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxMSwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMCwgMHgyNCwgMHgzYiwKLSAgMHhmOSwgMHhlYywgMHgzNCwgMHgwMCwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwZCwgMHgxZiwgMHgwNSwgMHgxMSwgMHhlNSwgMHgxMSwgMHhiNCwgMHgxOCwgMHhkYiwKLSAgMHhlNSwgMHgzYiwgMHg2MCwgMHgxMSwgMHg3NSwgMHhjOSwgMHgyMCwgMHg3NSwgMHhjOCwgMHgzNiwgMHg4NSwgMHgzYywgMHhjYSwgMHg4NSwgMHgzZH19LAotIHsweDA2MDYsIDY0LCB7IDB4Y2IsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OWYsIDB4ZjAsIDB4ZTUsIDB4M2UsIDB4MTMsIDB4OTIsIDB4MTAsIDB4OTIsIDB4OWYsIDB4ODUsIDB4M2YsIDB4MzgsIDB4ZTUsCi0gIDB4NDAsIDB4MTMsIDB4OTIsIDB4MTYsIDB4ZTUsIDB4NDEsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ODAsCi0gIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4NDIsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsCi0gIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4NDgsIDB4NjB9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDBiLCAweGMyLCAweDBjLCAweGMyLCAweDA5LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDQ5LCAweDYwLCAweDBjLCAweGQyLAotICAweDA5LCAweDQzLCAweDM0LCAweDAxLCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDRhLCAweDYwLCAweDBkLCAweGMyLAotICAweGFmLCAweGMyLCAweDBiLCAweGQyLCAweDAwLCAweGU0LCAweGY1LCAweDUzLCAweGY1LCAweDNhLCAweGQyLCAweGFmLCAweGU1LCAweDRiLCAweDYwLCAweDA1LAotICAweDMwLCAweDE2LCAweDAyLCAweGQyLCAweDA5LCAweGU1LCAweDRjLCAweDYwLCAweDE1LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDU0LCAweGZkfX0sCi0gezB4MDY4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlNSwgMHg0ZCwKLSAgMHg2MCwgMHgwYSwgMHhkMiwgMHg5YywgMHhjMiwgMHg5OCwgMHg3NSwgMHgyYywgMHgwMSwgMHg3NSwgMHgzMSwgMHgxZSwgMHhlNSwgMHg0ZSwgMHg2MCwgMHgwNywKLSAgMHhjMiwgMHg5YywgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgyYywgMHhlNSwgMHg0ZiwgMHg2MCwgMHgwMywgMHhlNCwgMHhmNSwgMHgzOSwgMHhlNSwgMHg1MCwKLSAgMHg2MCwgMHgwMiwgMHhkMiwgMHgwNywgMHhlNSwgMHg1MSwgMHg2MCwgMHgwYSwgMHhlNSwgMHg0ZCwgMHg3MCwgMHgwMiwgMHhmNSwgMHgzMSwgMHhlNX19LAotIHsweDA2YzYsIDY0LCB7IDB4NTEsIDB4NDIsIDB4MzQsIDB4ZTUsIDB4NTIsIDB4NjAsIDB4MWYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsCi0gIDB4MTIsIDB4ZjAsIDB4NzQsIDB4MzIsIDB4ZjAsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzQsIDB4MzQsCi0gIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4ZDIsIDB4MDIsIDB4ZDIsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4YTIsIDB4MGMsIDB4ZTQsIDB4MzMsCi0gIDB4ZmYsIDB4NjUsIDB4MjksIDB4NjAsIDB4MDUsIDB4OGYsIDB4MjksIDB4NDMsIDB4MzQsIDB4MDEsIDB4YTIsIDB4MDksIDB4ZTQsIDB4MzMsIDB4ZmZ9fSwKLSB7MHgwNzA2LCA2NCwgeyAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDhmLCAweDJhLCAweDQzLCAweDM0LCAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweGZmLCAweDU0LCAweDA4LCAweDY0LAotICAweDA4LCAweGZlLCAweDY1LCAweDI1LCAweDYwLCAweDA1LCAweDhlLCAweDI1LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDEwLCAweDY0LCAweDEwLAotICAweGZlLCAweDY1LCAweDI2LCAweDYwLCAweDA1LCAweDhlLCAweDI2LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDQwLCAweDY0LCAweDQwLCAweGZlLAotICAweDY1LCAweDI3LCAweDYwLCAweDA1LCAweDhlLCAweDI3LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDIwLCAweDY0LCAweDIwLCAweGZlfX0sCi0gezB4MDc0NiwgNjQsIHsgMHg2NSwgMHgyOCwgMHg2MCwgMHgwNSwgMHg4ZSwgMHgyOCwgMHg0MywgMHgzNCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHg1NCwgMHg0MCwgMHg2NCwgMHg0MCwKLSAgMHhmZSwgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNSwgMHg4ZSwgMHgyZSwgMHg0MywgMHgzNCwgMHgwMSwgMHgzMCwgMHgwNywgMHgzNSwgMHhjMiwgMHhhZiwgMHgzMCwKLSAgMHgwMiwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHhlNSwgMHgzOSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiNywKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHgzOSwgMHhjMiwgMHgwMiwgMHhjMiwgMHgwNywgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgyMH19LAotIHsweDA3ODYsIDY0LCB7IDB4ZTEsIDB4MGYsIDB4ZTUsIDB4MzksIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YjksIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDIsIDB4YzIsIDB4MDcsCi0gIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDUsIDB4M2QsIDB4MzAsIDB4MDMsIDB4MWUsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzMsIDB4OTAsCi0gIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4M2EsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4ZDIsCi0gIDB4MDUsIDB4NzUsIDB4MTYsIDB4ZmYsIDB4ODAsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTUsIDB4OTAsIDB4N2R9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDNhLCAweDAxLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDUzLCAweGQyLCAweDA1LCAweDc1LAotICAweDE2LCAweGZmLCAweDIwLCAweDE0LCAweDMzLCAweDIwLCAweDAwLCAweDA2LCAweGU1LCAweDNhLCAweDY1LCAweDUzLCAweDcwLCAweDJhLCAweDMwLCAweDA1LAotICAweDFhLCAweDMwLCAweDAzLCAweDA5LCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAzLCAweDgwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLAotICAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweGMyLCAweDA1LCAweGU0LCAweGY1LCAweDUzLCAweGY1LCAweDNhLCAweDMwLCAweDBkLCAweDBhLCAweGMyfX0sCi0gezB4MDgwNiwgNjQsIHsgMHgwZCwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgwOSwgMHgxNCwgMHgyMCwgMHgwNSwKLSAgMHgwMywgMHgwMiwgMHgwOSwgMHgxNCwgMHgzMCwgMHgwYywgMHgwMywgMHgwMiwgMHgwOSwgMHgxNCwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwOSwgMHgxNCwKLSAgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwOSwgMHgxNCwgMHgzMCwgMHgwMywgMHg2MSwgMHgzMCwgMHgxMCwKLSAgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4M319LAotIHsweDA4NDYsIDY0LCB7IDB4ZTAsIDB4MTMsIDB4OTIsIDB4MWIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsCi0gIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsCi0gIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjV9fSwKLSB7MHgwODg2LCA2NCwgeyAweDM2LCAweGQyLCAweDBiLCAweDgwLCAweDZhLCAweGMyLCAweDBiLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAzLCAweDgwLCAweDVmLCAweDMwLAotICAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLAotICAweGUwLCAweDEzLCAweDkyLCAweDFiLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLAotICAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDJhLCAweDMwLCAweDEwLCAweDEyLCAweGFmfX0sCi0gezB4MDhjNiwgNjQsIHsgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwKLSAgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwKLSAgMHgzNiwgMHhkMiwgMHgwYiwgMHg4MCwgMHgwOSwgMHhjMiwgMHgwYiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMywgMHgzMCwgMHgxMCwKLSAgMHgwNCwgMHhhMiwgMHgxYiwgMHg5MiwgMHg5YiwgMHhkMiwgMHgxNCwgMHhjMiwgMHhhZiwgMHg4ZSwgMHg5OSwgMHgyMCwgMHgwYiwgMHgwZCwgMHgzMH19LAotIHsweDA5MDYsIDY0LCB7IDB4MGQsIDB4MGEsIDB4YzIsIDB4MGQsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGQsIDB4MzEsIDB4MGEsIDB4MTEsIDB4MDAsIDB4MGEsIDB4N2UsIDB4MDEsIDB4MGEsIDB4ZGIsIDB4MDMsIDB4MDksIDB4MzgsCi0gIDB4MDYsIDB4MGEsIDB4MDIsIDB4MDgsIDB4MDksIDB4ZjYsIDB4MDksIDB4MDksIDB4ZGUsIDB4MGEsIDB4MDksIDB4ZWQsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MGIsCi0gIDB4MTksIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MTQsIDB4NjAsIDB4NWEsIDB4MjQsIDB4MDIsIDB4NjB9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDAzLCAweDAyLCAweDBiLCAweDE5LCAweDc0LCAweDBkLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDg3LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLAotICAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLAotICAweGQ4LCAweDc1LCAweDgzLCAweDBkLCAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweGQxLCAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDc1LCAweDgyLCAweGNhLAotICAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDc1LCAweDgyLCAweGMzLCAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwfX0sCi0gezB4MDk4NiwgNjQsIHsgMHgwNCwgMHg3NSwgMHg4MiwgMHg5ZSwgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg3NCwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHg5OSwgMHg5MCwKLSAgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgwYiwgMHg3NSwgMHgxMSwgMHhmZiwgMHg3NSwKLSAgMHgxMiwgMHgwZCwgMHg3NSwgMHgxMywgMHhkYywgMHg4MCwgMHgxYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwYiwgMHg3NSwgMHgxMSwKLSAgMHhmZiwgMHg3NSwgMHgxMiwgMHgwZCwgMHg3NSwgMHgxMywgMHhlMCwgMHg4MCwgMHgwOSwgMHg3NSwgMHgxMSwgMHhmZiwgMHg3NSwgMHgxMiwgMHgwZH19LAotIHsweDA5YzYsIDY0LCB7IDB4NzUsIDB4MTMsIDB4ZjAsIDB4YWEsIDB4MTIsIDB4YTksIDB4MTMsIDB4YWUsIDB4MDIsIDB4ZWUsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsCi0gIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsCi0gIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTUsIDB4MDIsIDB4MGIsIDB4MjAsIDB4MTIsCi0gIDB4MGMsIDB4YjEsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTQsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTV9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDE0LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLAotICAweDYwLCAweDI3LCAweDE0LCAweDYwLCAweDM0LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDE5LCAweGEyLCAweDE3LCAweGU0LCAweDMzLAotICAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDE5LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLAotICAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwKLSAgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxN319LAotIHsweDBhODYsIDY0LCB7IDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsCi0gIDB4MTksIDB4YzIsIDB4MTcsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsCi0gIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODB9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LAotICAweDIwLCAweGYwLCAweDgwLCAweDQ1LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDEwLCAweDI0LCAweDAyLCAweDcwLCAweDM5LAotICAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDY0LCAweDAxLCAweDcwLCAweDJhLCAweGQyLCAweDE3LCAweDgwLCAweDJkLCAweDkwLCAweDdmLCAweGVhLCAweGUwLAotICAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwKLSAgMHgyMiwgMHhjMiwgMHgxMCwgMHhlNCwgMHhmNSwgMHgxNCwgMHhmNSwgMHgzNCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwYywgMHhjMiwgMHgwYiwgMHhjMiwgMHgxNCwKLSAgMHhjMiwgMHgwZCwgMHhjMiwgMHgxNiwgMHhjMiwgMHgxMSwgMHhjMiwgMHgwNywgMHhjMiwgMHgxMiwgMHhjMiwgMHgwZiwgMHhjMiwgMHgwOCwgMHhmNX19LAotIHsweDBiNDYsIDY0LCB7IDB4MzUsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4NTMsIDB4ZjUsIDB4M2EsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MmYsIDB4ZjUsIDB4MmUsIDB4ZjUsIDB4MmQsCi0gIDB4ZjUsIDB4MmMsIDB4ZjUsIDB4MmIsIDB4ZjUsIDB4MmEsIDB4ZjUsIDB4MjksIDB4ZjUsIDB4MjgsIDB4ZjUsIDB4MjcsIDB4ZjUsIDB4MjYsIDB4ZjUsIDB4MjUsCi0gIDB4ZjUsIDB4MjQsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MTgsIDB4YzIsIDB4MWEsIDB4YzIsIDB4MTcsIDB4YzIsIDB4MTksIDB4YzIsIDB4MTUsIDB4YzIsIDB4MDQsCi0gIDB4ZDIsIDB4MTMsIDB4YzIsIDB4MDYsIDB4YzIsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZDIsIDB4ZTh9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LAotICAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLAotICAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBmLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweDc0LCAweDBlLAotICAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweGJjLCAweGQyLCAweDFiLCAweDEyLCAweDBmLCAweDVmLCAweGMyLCAweDE4LCAweDMwLCAweDA0LCAweDAzfX0sCi0gezB4MGJjNiwgNjQsIHsgMHgxMiwgMHgwNSwgMHg2ZCwgMHgzMCwgMHgwNCwgMHgyYSwgMHgzMCwgMHgwNiwgMHgyNywgMHhjMiwgMHgwNiwgMHhlNSwgMHgxNiwgMHg2MCwgMHgxNiwgMHgxNSwgMHgxNiwKLSAgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHgzMCwgMHhlNiwgMHgwNCwgMHg3ZiwgMHgwMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5NiwKLSAgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHgyMCwgMHhmMCwgMHgxMiwgMHgwYywgMHgwYiwgMHg4MCwgMHhjZCwgMHgzMCwKLSAgMHgxOCwgMHgwNywgMHhjMiwgMHgxOCwgMHgxMiwgMHgwOSwgMHgxNSwgMHg4MCwgMHhjMywgMHgzMCwgMHgxYSwgMHhjMCwgMHhjMiwgMHgxYSwgMHgxMn19LAotIHsweDBjMDYsIDY0LCB7IDB4MGYsIDB4YmIsIDB4ODAsIDB4YjksIDB4MjIsIDB4ZTUsIDB4MzEsIDB4NjAsIDB4MDIsIDB4MTUsIDB4MzEsIDB4ZTUsIDB4MzksIDB4NjAsIDB4NTUsIDB4NjUsIDB4MzUsCi0gIDB4NzAsIDB4NGIsIDB4ZTUsIDB4MzMsIDB4ZjQsIDB4NjAsIDB4MDIsIDB4MDUsIDB4MzMsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTUsIDB4NDQsIDB4NDAsIDB4NDMsCi0gIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDIsIDB4MWIsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MmQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsCi0gIDB4MzksIDB4ZjAsIDB4YzIsIDB4MDIsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MTYsIDB4ZmYsIDB4ODB9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDE5LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwLCAweGUxLCAweDEyLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM5LCAweGYwLCAweGQyLCAweDAyLCAweGU0LAotICAweGY1LCAweDM5LCAweGY1LCAweDMzLCAweGY1LCAweDM1LCAweDc1LCAweDE2LCAweGZmLCAweGQyLCAweGFmLCAweDgwLCAweDA2LCAweDg1LCAweDM5LCAweDM1LAotICAweGU0LCAweGY1LCAweDMzLCAweGU1LCAweDJjLCAweDYwLCAweDMwLCAweDIwLCAweDBmLCAweDA3LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUwLAotICAweDBmLCAweGU1LCAweDJkLCAweDYwLCAweDA2LCAweGU0LCAweGY1LCAweDJkLCAweDQzLCAweDM0LCAweDAxLCAweGU0LCAweGY1LCAweDMwLCAweDgwfX0sCi0gezB4MGM4NiwgNjQsIHsgMHgxNCwgMHhlNSwgMHgzMCwgMHhkMywgMHg5NSwgMHg0NSwgMHg1MCwgMHgwZCwgMHhlNSwgMHgzMCwgMHhiNSwgMHg0NSwgMHgwNiwgMHg3NSwgMHgyZCwgMHgwMSwgMHg0MywKLSAgMHgzNCwgMHgwMSwgMHgwNSwgMHgzMCwgMHhjMiwgMHgwZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkOSwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwNCwgMHg3ZiwgMHgwMCwKLSAgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHg3NH19LAotIHsweDBjYzYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4NzQsIDB4ODYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsCi0gIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ODQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4YzcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4NzUsIDB4OTgsIDB4NDAsIDB4NDMsIDB4YTgsIDB4MTAsCi0gIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4MjJ9fSwKLSB7MHgwZDA2LCA2NCwgeyAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLAotICAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLAotICAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LAotICAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwKLSAgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwKLSAgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBkODYsIDY0LCB7IDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MGMsIDB4MDEsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDIsCi0gIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NDMsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDcsCi0gIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LAotICAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDEwLCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LAotICAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDBlLCAweDAzLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLAotICAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBlLCAweGEyLCAweDAwLCAweDAyLCAweDBlfX0sCi0gezB4MGUwNiwgNjQsIHsgMHg3YiwgMHgwMCwgMHgwMiwgMHgwZCwgMHg1NywgMHgwMCwgMHgwMiwgMHgwZSwgMHhjOSwgMHgwMCwgMHgwMiwgMHgwZSwgMHgxMCwgMHgwMCwgMHgwMiwgMHgwZSwgMHgxNCwKLSAgMHgwMCwgMHgwMiwgMHgwZSwgMHgxOCwgMHgwMCwgMHgwMiwgMHgwZSwgMHgxYywgMHgwMCwgMHgwMiwgMHgwZSwgMHhmMCwgMHgwMCwgMHgwMiwgMHgwZSwgMHgyNCwKLSAgMHgwMCwgMHgwMiwgMHgwZiwgMHgxNSwgMHgwMCwgMHgwMiwgMHgwZSwgMHgyYywgMHgwMCwgMHgwMiwgMHgwZiwgMHgzYSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NSwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhlMCwgMHg0NCwgMHgwMn19LAotIHsweDBlNDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmUsIDB4ZjAsIDB4MzAsIDB4MTcsIDB4MDQsIDB4N2YsIDB4ODAsIDB4ODAsIDB4MDIsIDB4N2YsCi0gIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZWYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAyLCAweGYwLCAweGQyLCAweDA2LCAweGQwLCAweDg2LAotICAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLAotICAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLAotICAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzfX0sCi0gezB4MGVjNiwgNjQsIHsgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwKLSAgMHgwMCwgMHhkMiwgMHgxYSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwKLSAgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwKLSAgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NH19LAotIHsweDBmMDYsIDY0LCB7IDB4MDIsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsCi0gIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsCi0gIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsCi0gIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODZ9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLAotICAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLAotICAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDFiLCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDAwLAotICAweDAzLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyLCAweDc0LCAweDAwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhkNiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwZCwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwMCwgMHgwMywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwKLSAgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMiwgMHgxMiwgMHgwZSwgMHgzMywgMHgxMiwgMHgwZiwgMHg5NSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMH19LAotIHsweDBmYzYsICA5LCB7IDB4ZTcsIDB4MDMsIDB4MTIsIDB4MGYsIDB4YTUsIDB4MTIsIDB4MGMsIDB4YjEsIDB4MjJ9fSwKLSB7MHhmZmZmLAkwLAl7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlxd19mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlxd19mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODAzZjhiLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5cXdfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0OCArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTE5cXdfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2ExOXdxX2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMTlxd19maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MDAsIDB4MmR9fSwKLSB7MHgwMDJkLCAgNCwgeyAweDUzLCAweGQ4LCAweGVmLCAweDMyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgxMCwgMHgxOSwgMHgxMiwgMHgwZSwgMHgwZiwgMHhlZiwgMHhjMywgMHg5NSwgMHgxNCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkZiwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MTAsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDAsIDB4ZGYsIDB4MzAsIDB4MGQsIDB4M2UsIDB4OTB9fSwKLSB7MHgwMDY2LCAxNiwgeyAweDdmLCAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDczLCAweDEyLCAweDBlLCAweDBmLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDZhLCAweDkwfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgzNiwgMHgyMCwgMHgwYiwgMHgxMX19LAotIHsweDAwODYsIDE2LCB7IDB4NjAsIDB4MGYsIDB4ZjUsIDB4MjQsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MjksIDB4N2UsIDB4NzUsIDB4MmEsIDB4NDEsIDB4MTIsIDB4MDl9fSwKLSB7MHgwMDk2LCAxNiwgeyAweDEwLCAweGMyLCAweDBkLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDc1LCAweDI2LCAweGZmLCAweDgwLCAweDNjLCAweDkwLCAweDdmLCAweGM4fX0sCi0gezB4MDBhNiwgMTYsIHsgMHhlMCwgMHgyMCwgMHhlMSwgMHgzNSwgMHgxMiwgMHgwZSwgMHgwZiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyYywgMHg5MCwgMHg3ZCwgMHhjMH19LAotIHsweDAwYjYsIDE2LCB7IDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MzYsIDB4MjAsIDB4MGIsIDB4MTEsIDB4NjAsIDB4MGZ9fSwKLSB7MHgwMGM2LCAxNiwgeyAweGY1LCAweDI0LCAweDdlLCAweDdkLCAweDdmLCAweGMxLCAweDc1LCAweDI5LCAweDdkLCAweDc1LCAweDJhLCAweGMxLCAweDEyLCAweDA5LCAweDEwLCAweGQyfX0sCi0gezB4MDBkNiwgMTYsIHsgMHgwZCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg3NSwgMHgyNiwgMHhmZiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwM319LAotIHsweDAwZTYsIDE2LCB7IDB4MDIsIDB4MDEsIDB4NjgsIDB4MTIsIDB4MGMsIDB4ZmYsIDB4OGYsIDB4MzYsIDB4MTIsIDB4MGUsIDB4MWIsIDB4OGYsIDB4MTEsIDB4ZTUsIDB4MzYsIDB4YzN9fSwKLSB7MHgwMGY2LCAxNiwgeyAweDk1LCAweDEzLCAweDUwLCAweDBmLCAweDEyLCAweDBkLCAweGRlLCAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDExLCAweDIwLCAweGU3LCAweDAzfX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MGUsIDB4MDB9fSwKLSB7MHgwMDAzLCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwfX0sCi0gezB4MDAxMywgMTYsIHsgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMH19LAotIHsweDAwMjMsIDEwLCB7IDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDA5LCAweGM1fX0sCi0gezB4MDEwNiwgNjQsIHsgMHgzMCwgMHgxMywgMHg1ZiwgMHhjMiwgMHgxMywgMHhlNSwgMHgzNiwgMHg2MCwgMHg1OSwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgxMSwgMHgwMiwgMHhlNSwgMHgxMSwKLSAgMHgzMCwgMHhlNywgMHgyNCwgMHhlNSwgMHgzNiwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgzNiwgMHgyMCwgMHg4NSwgMHgzNiwgMHgyNCwKLSAgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgyOSwgMHg3ZSwgMHg3NSwgMHgyYSwgMHg4MCwgMHgxMiwgMHgwYiwgMHg5YSwgMHhlNSwgMHgzNiwgMHgyNSwKLSAgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg4MCwgMHgyYSwgMHhlNSwgMHgzNiwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NX19LAotIHsweDAxNDYsIDY0LCB7IDB4MzYsIDB4M2YsIDB4ODUsIDB4MzYsIDB4MjQsIDB4OTAsIDB4N2UsIDB4ODAsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MjksCi0gIDB4N2UsIDB4NzUsIDB4MmEsIDB4ODEsIDB4MTIsIDB4MDksIDB4MzUsIDB4ZTUsIDB4MzYsIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4NzUsIDB4MjYsCi0gIDB4ZmYsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MGUsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzQsIDB4ZTQsIDB4ZjUsCi0gIDB4MzUsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTV9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDM1LCAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDAwLCAweDI0LCAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLAotICAweDEyLCAweDBhLCAweDk3LCAweDA1LCAweDM1LCAweGU1LCAweDM1LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDZlLAotICAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDExLCAweGUwLCAweGZkLCAweDEyLCAweDBjLCAweGRhLCAweDkwLCAweDdlLCAweDAxLCAweGUwLCAweGZmLCAweDEyLAotICAweDBjLCAweDFjLCAweDkwLCAweDdlLCAweDAyLCAweGUwLCAweGZmLCAweDEyLCAweDBjLCAweDQyLCAweGQyLCAweDExLCAweGQyLCAweDEyLCAweDc1fX0sCi0gezB4MDFjNiwgNjQsIHsgMHgzNiwgMHgwNCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgwNSwgMHhjMiwgMHgxMiwgMHg0MywgMHgzNiwgMHhjMCwgMHg5MCwgMHg3ZSwgMHgwNCwgMHhlMCwKLSAgMHhiNCwgMHgwMSwgMHgwNywgMHhjMiwgMHgxMiwgMHg0MywgMHgzNiwgMHgwYiwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZSwgMHgwNCwgMHhlMCwgMHg2MCwgMHgwNywKLSAgMHhjMiwgMHgxMSwgMHg0MywgMHgzNiwgMHgwOSwgMHg4MCwgMHgwMywgMHg0MywgMHgzNiwgMHgwMiwgMHg3ZiwgMHgwMywgMHhhZCwgMHgzNiwgMHgxMiwgMHgwYywKLSAgMHhkYSwgMHg0MywgMHgxYSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxYX19LAotIHsweDAyMDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4MTcsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4MTksIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDcsIDB4ZTAsIDB4NjAsIDB4NDIsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTYsIDB4MDQsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTYsIDB4ZmIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTYsIDB4MTJ9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDBjLCAweGRhLCAweDkwLCAweDdlLCAweDA4LCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDE4LCAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDE4LCAweDdmLCAweDUzLAotICAweDE4LCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDE4LCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDBjLAotICAweDhlLCAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDBjLCAweGI0LCAweGFmLCAweDE4LCAweDEyLCAweDBjLCAweDY4LCAweDkwLCAweDdlLAotICAweDBlLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDFhLCAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDFhfX0sCi0gezB4MDI4NiwgNjQsIHsgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxYSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwYywgMHhlMCwKLSAgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxYSwgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHgxYSwgMHhmZCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxYSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgxMywKLSAgMHhhMywgMHhlMCwgMHgxMywgMHg5MiwgMHgxNCwgMHhhMywgMHhlMCwgMHhmNSwgMHgxNCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxYX19LAotIHsweDAyYzYsIDY0LCB7IDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MWEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MWEsCi0gIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4MTksIDB4YmYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MGQsCi0gIDB4ZDIsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4MTYsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTZ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDEyLCAweDBjLCAweGRhLCAweGU0LCAweGY1LCAweDBlLCAweGY1LCAweDBkLCAweGQyLCAweDBmLCAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLAotICAweDE2LCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDE2LCAweDEyLCAweDBjLCAweGRhLCAweDc1LCAweDBkLCAweDAxLCAweGQyLCAweDBmLCAweDkwLCAweDdlLAotICAweDE4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDE3LCAweDQ0LCAweDA0LCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweGQyLCAweDBiLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDE5LCAweDQwLCAweDkwLCAweDdmfX0sCi0gezB4MDM0NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwKLSAgMHgwZiwgMHg1MywgMHgxNiwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNiwgMHgxMiwgMHgwYywgMHhkYSwgMHg3NSwgMHgwZiwgMHgwMSwgMHhkMiwgMHgwZiwKLSAgMHg5MCwgMHg3ZSwgMHgxYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgxNiwgMHgwMSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNiwgMHgxMiwgMHgwYywgMHhkYSwKLSAgMHhlNCwgMHhmNSwgMHgwZiwgMHhkMiwgMHgwZiwgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NH19LAotIHsweDAzODYsIDY0LCB7IDB4MTIsIDB4ZjAsIDB4ZTUsIDB4MTcsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsCi0gIDB4MTMsIDB4OTAsIDB4N2UsIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MTAsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4ZDIsIDB4MGYsIDB4OTAsCi0gIDB4N2UsIDB4MWYsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsCi0gIDB4ZjAsIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MGQsIDB4YzIsIDB4MGUsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MTZ9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDcxLCAweGU1LCAweDEyLCAweDYwLCAweDAyLCAweDE1LCAweDEyLCAweGU1LCAweDMwLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDMwLCAweDgwLAotICAweDYwLCAweDc1LCAweDMwLCAweDBhLCAweDEyLCAweDBkLCAweGQyLCAweGVmLCAweDU0LCAweDAxLCAweGY1LCAweDM2LCAweDY1LCAweDBlLCAweDYwLCAweDA3LAotICAweDg1LCAweDM2LCAweDBlLCAweGQyLCAweDBmLCAweDgwLCAweDExLCAweDEyLCAweDBlLCAweDI3LCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDM2LCAweDY1LAotICAweDA5LCAweDYwLCAweDA1LCAweDg1LCAweDM2LCAweDA5LCAweGQyLCAweDBmLCAweDEyLCAweDBlLCAweDI3LCAweGVmLCAweDU0LCAweDgwLCAweGY1fX0sCi0gezB4MDQwNiwgNjQsIHsgMHgzNiwgMHg2NSwgMHgwYSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgzNiwgMHgwYSwgMHhkMiwgMHgwZiwgMHgxMiwgMHgwZSwgMHgyNywgMHhlZiwgMHg1NCwgMHgyMCwgMHhmNSwKLSAgMHgzNiwgMHg2NSwgMHgwYiwgMHg2MCwgMHgwOCwgMHg4NSwgMHgzNiwgMHgwYiwgMHgzMCwgMHgxMSwgMHgwMiwgMHhkMiwgMHgwZiwgMHgxMiwgMHgwZSwgMHgyNywKLSAgMHhlZiwgMHg1NCwgMHg0MCwgMHhmNSwgMHgzNiwgMHg2NSwgMHgwYywgMHg2MCwgMHgwOCwgMHg4NSwgMHgzNiwgMHgwYywgMHgzMCwgMHgxMiwgMHgwMiwgMHhkMiwKLSAgMHgwZiwgMHgzMCwgMHgxNiwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMH19LAotIHsweDA0NDYsIDY0LCB7IDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsIDB4MzIsIDB4OTAsIDB4N2IsIDB4NDIsIDB4ZTAsIDB4ZjUsIDB4MzMsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksCi0gIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDUsIDB4MjksIDB4ZTUsIDB4MjcsIDB4NzAsIDB4NDAsIDB4MzAsIDB4MGYsIDB4MzksIDB4ZTUsCi0gIDB4MTIsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MGYsIDB4ZjUsIDB4MzUsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MDgsIDB4MjUsIDB4MzV9fSwKLSB7MHgwNDg2LCA2NCwgeyAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBhLCAweDUxLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDM1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDM1LCAweGU1LCAweDM1LCAweGI0LCAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LAotICAweDA5LCAweGYwLCAweDc1LCAweDEyLCAweDEwLCAweGU0LCAweGY1LCAweDEwLCAweDc1LCAweDI3LCAweDAyLCAweDIyLCAweGU1LCAweDI3LCAweDY0LCAweDAyLAotICAweDcwLCAweDM2LCAweDMwLCAweDA1LCAweDJmLCAweGMyLCAweDA1LCAweGY1LCAweDM1LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJifX0sCi0gezB4MDRjNiwgNjQsIHsgMHgyNSwgMHgzNSwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwYSwgMHg1MSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgzNSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgzNSwgMHhlNSwgMHgzNSwgMHhiNCwgMHgwNSwgMHhkYiwgMHg5MCwgMHg3ZiwKLSAgMHhjMywgMHg3NCwgMHgwNSwgMHhmMCwgMHg3NSwgMHgyNywgMHgwMywgMHgyMiwgMHhlNSwgMHgzMiwgMHg2MCwgMHgzMywgMHg3NSwgMHgzMSwgMHgwMywgMHgxNSwKLSAgMHgzMiwgMHhlNCwgMHhmNSwgMHgzNSwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgzMSwgMHgyNSwgMHgzNSwgMHhmOSwgMHhlZSwgMHgzNH19LAotIHsweDA1MDYsIDY0LCB7IDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGEsIDB4NTEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsCi0gIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzUsIDB4ZTUsIDB4MzUsIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsCi0gIDB4ZjUsIDB4MjcsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGEsIDB4YTksIDB4MDYsIDB4MDgsIDB4MDAsIDB4MDYsIDB4N2MsIDB4MDEsCi0gIDB4MDYsIDB4ZTksIDB4MDMsIDB4MDUsIDB4NGQsIDB4MDYsIDB4MDUsIDB4ZjksIDB4MDgsIDB4MDUsIDB4ZWQsIDB4MDksIDB4MDUsIDB4ZDUsIDB4MGF9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweDA1LCAweGU0LCAweDBiLCAweDAwLCAweDAwLCAweDA3LCAweDM5LCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwLAotICAweDUwLCAweDI0LCAweDAyLCAweDcwLCAweDZmLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LAotICAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLAotICAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweDc0LCAweDc1LCAweDgzLCAweDE5LCAweGYwfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg3NSwgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywKLSAgMHgxOSwgMHhmMCwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNywKLSAgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYiwgMHgxYywgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwKLSAgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NH19LAotIHsweDA1YzYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZTUsIDB4MjUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4ZjUsIDB4MjUsIDB4MDIsIDB4MDcsIDB4NDAsIDB4MTIsIDB4MDcsIDB4NDgsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MjMsIDB4MDIsCi0gIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDJ9fSwKLSB7MHgwNjA2LCA2NCwgeyAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLAotICAweGEyLCAweDAxLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDA3LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLAotICAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweGU0LCAweDkwLCAweDdmLAotICAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwKLSAgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwKLSAgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZSwgMHgyNCwgMHgwMn19LAotIHsweDA2ODYsIDY0LCB7IDB4NjAsIDB4MDMsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDYsIDB4MTIsIDB4MGQsIDB4ZjksIDB4MDIsIDB4MDcsCi0gIDB4NDAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsCi0gIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsCi0gIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLAotICAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotICAweDgwLCAweDU3LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE5LCAweDI0LCAweDAyLCAweDcwLCAweDRiLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweDEyLCAweDBkLCAweGY2LCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0fX0sCi0gezB4MDcwNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwKLSAgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMn19LAotIHsweDA3NDYsIDY0LCB7IDB4ZjAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsCi0gIDB4MjAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsCi0gIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MDgsIDB4N2YsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MDgsIDB4MmYsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDB9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGZhLCAweGU0LCAweDEyLCAweDBhLCAweDk3LCAweDBmLCAweGJmLCAweDA5LCAweGVlLCAweDc1LCAweDEzLCAweDAxLCAweGU0LCAweGY1LCAweDEyLCAweGY1LCAweDMwLAotICAweGY1LCAweDExLCAweGMyLCAweDBmLCAweGMyLCAweDEzLCAweGMyLCAweDBlLCAweGMyLCAweDBiLCAweGMyLCAweDEwLCAweGMyLCAweDA0LCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDc1LCAweDE5LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLCAweDBjLCAweGU0LAotICAweGZkLCAweDEyLCAweDBjLCAweGRhLCAweDdmLCAweDEwLCAweDhmLCAweDE4LCAweDEyLCAweDBjLCAweDY4LCAweDkwLCAweDdmLCAweDk4LCAweDc0fX0sCi0gezB4MDdjNiwgNjQsIHsgMHgxMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHgxNywgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwKLSAgMHgwYywgMHhkYSwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgxNiwgMHgxMiwgMHgwYywgMHhkYSwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgwYywgMHhkYSwgMHg3ZiwKLSAgMHgwMSwgMHgxMiwgMHgwZCwgMHg2YSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgwYywgMHhkYSwgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNn19LAotIHsweDA4MDYsIDY0LCB7IDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4MTIsIDB4MGUsIDB4MGYsIDB4OGYsIDB4MTUsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTYsIDB4NDQsIDB4ODAsCi0gIDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4ZTUsIDB4MTUsIDB4MzAsIDB4ZTcsIDB4MDQsIDB4YzIsIDB4MDgsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MDgsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4MWEsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4ZDIsIDB4MDMsCi0gIDB4MjIsIDB4ZDIsIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MTIsIDB4MGQsIDB4ZjksIDB4ZDIsIDB4ZTh9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LAotICAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLAotICAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweDc0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweDE2LCAweDEyLCAweDBkLAotICAweDI0LCAweGMyLCAweDAyLCAweGU0LCAweGY1LCAweDI4LCAweGY1LCAweDMwLCAweGMyLCAweDA5LCAweGY1LCAweDIzLCAweGMyLCAweDAzLCAweDkwfX0sCi0gezB4MDg4NiwgNjQsIHsgMHg3ZiwgMHhhMSwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgzNCwgMHg2MCwgMHg0OCwgMHgzMCwgMHgwMywgMHgwNSwgMHhkMiwgMHgxNiwKLSAgMHgxMiwgMHgwMCwgMHg0NiwgMHhlNSwgMHgwZiwgMHg2MCwgMHgyMiwgMHhlNSwgMHgyNiwgMHg2MCwgMHgxNiwgMHgxNSwgMHgyNiwgMHg5MCwgMHg3ZiwgMHhkOCwKLSAgMHhlMCwgMHgzMCwgMHhlNiwgMHgwNCwgMHg3ZiwgMHgyMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgzMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwgMHg4MCwKLSAgMHgxYSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHgzMCwgMHhmMCwgMHg4MCwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkOSwgMHhlMCwgMHgzMCwgMHhlMn19LAotIHsweDA4YzYsIDY0LCB7IDB4MDQsIDB4N2YsIDB4MzAsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsCi0gIDB4MzQsIDB4ODAsIDB4MjAsIDB4MzAsIDB4MDMsIDB4MDcsIDB4YzIsIDB4MTYsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MTYsIDB4ZTUsIDB4MGYsIDB4NzAsCi0gIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDksIDB4ZTAsIDB4MzAsIDB4ZTIsIDB4MDQsIDB4N2YsIDB4MzAsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MjAsIDB4OTAsIDB4N2YsCi0gIDB4OTYsIDB4ZWYsIDB4ZjAsIDB4MzAsIDB4MDIsIDB4MDcsIDB4YzIsIDB4MDIsIDB4MTIsIDB4MDUsIDB4MmEsIDB4ODAsIDB4ODYsIDB4MzAsIDB4MGF9fSwKLSB7MHgwOTA2LCA2NCwgeyAweDgzLCAweGMyLCAweDBhLCAweDEyLCAweDBiLCAweDVkLCAweDAyLCAweDA4LCAweDhhLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLAotICAweDI0LCAweGU1LCAweDJhLCAweGY1LCAweDgyLCAweGU1LCAweDI5LCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLAotICAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDI0LCAweGU1LCAweDJhLCAweGY1LCAweDgyLCAweGU1LCAweDI5LCAweGY1LCAweDgzLCAweGMyfX0sCi0gezB4MDk0NiwgNjQsIHsgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwKLSAgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgyNCwgMHhlNSwgMHgyYSwgMHhmNSwgMHg4MiwgMHhlNSwKLSAgMHgyOSwgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwKLSAgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZn19LAotIHsweDA5ODYsIDY0LCB7IDB4MjQsIDB4ZTUsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjksIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsCi0gIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsCi0gIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4Nzh9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDM5LCAweDAyLCAweDBhLCAweDBjLCAweDAyLCAweDA4LCAweDM4LCAweGU0LCAweDkzLCAweGEzLAotICAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LAotICAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LAotICAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyfX0sCi0gezB4MGEwNiwgNjQsIHsgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgwZCwgMHg4YiwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwKLSAgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwKLSAgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwKLSAgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4Mn19LAotIHsweDBhNDYsIDY0LCB7IDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsCi0gIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsCi0gIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjV9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLAotICAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLAotICAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLAotICAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyfX0sCi0gezB4MGFjNiwgNjQsIHsgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywKLSAgMHg3NCwgMHgyMCwgMHhmMCwgMHgzMCwgMHgwMSwgMHgwMywgMHhmZiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwKLSAgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwKLSAgMHgzMCwgMHgwOCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDBiMDYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MjAsIDB4ZjAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjIsIDB4OGYsIDB4MzUsIDB4ZTQsIDB4ZjUsIDB4MzYsIDB4NzUsIDB4MzcsIDB4ZmYsIDB4NzUsIDB4MzgsIDB4MTksCi0gIDB4NzUsIDB4MzksIDB4ODYsIDB4YWIsIDB4MzcsIDB4YWEsIDB4MzgsIDB4YTksIDB4MzksIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MGEsIDB4NmEsIDB4YjQsCi0gIDB4MDMsIDB4MWQsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4ZWYsIDB4YjUsIDB4MzUsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGEsIDB4NTEsIDB4N2V9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDM3LCAweGZmLCAweGY1LCAweDM4LCAweDg5LCAweDM5LCAweDgwLCAweGQ0LCAweDdiLAotICAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDIyLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDM1LCAweDEyLCAweDBhLCAweGNmLCAweDIwLAotICAweDA4LCAweDA3LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLAotICAweDEyLCAweDA5LCAweGI1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweDBlLCAweDMwLCAweDAxLCAweDA1LCAweDEyLCAweDBkfX0sCi0gezB4MGI4NiwgNjQsIHsgMHhiYywgMHg4MCwgMHgwNiwgMHgxMiwgMHgwZCwgMHg0OSwgMHhlZiwgMHg2MCwgMHhlMSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgxMiwKLSAgMHgwNywgMHg0OCwgMHgyMiwgMHgwNSwgMHgyYSwgMHhlNSwgMHgyYSwgMHhhZSwgMHgyOSwgMHg3MCwgMHgwMiwgMHgwNSwgMHgyOSwgMHgxNCwgMHhmNSwgMHg4MiwKLSAgMHg4ZSwgMHg4MywgMHhlNSwgMHgxMSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgyYSwgMHhlNSwgMHgyYSwgMHhhYywgMHgyOSwgMHg3MCwgMHgwMiwKLSAgMHgwNSwgMHgyOSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgyNCwgMHhlNSwgMHgyNCwgMHg2MCwgMHgwN319LAotIHsweDBiYzYsIDY0LCB7IDB4MTIsIDB4MGUsIDB4MWIsIDB4OGYsIDB4MTEsIDB4ODAsIDB4Y2QsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsCi0gIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsCi0gIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsCi0gIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MGF9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLAotICAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0fX0sCi0gezB4MGM0NiwgNjQsIHsgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNX19LAotIHsweDBjODYsIDY0LCB7IDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjB9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE3LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDBkLCAweGVhLCAweDhmLCAweDM3LCAweDEyLCAweDBkfX0sCi0gezB4MGQwNiwgNjQsIHsgMHhlYSwgMHg4ZiwgMHgzOCwgMHhlNSwgMHgzNywgMHg2NSwgMHgzOCwgMHg2MCwgMHgxMiwgMHgxMiwgMHgwZCwgMHhlYSwgMHg4ZiwgMHgzNywgMHhlNSwgMHgzNywgMHg2NSwKLSAgMHgzOCwgMHg2MCwgMHgwNywgMHgxMiwgMHgwZCwgMHhlYSwgMHg4ZiwgMHgzOCwgMHg4MCwgMHhlOCwgMHhhZiwgMHgzNywgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwKLSAgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxNiwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwKLSAgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwZCwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NH19LAotIHsweDBkNDYsIDY0LCB7IDB4MDQsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4MTIsIDB4MDcsIDB4NDgsIDB4MTIsIDB4MGUsIDB4MjcsIDB4ZWYsIDB4MzAsCi0gIDB4ZTYsIDB4MGIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MzYsIDB4NjAsIDB4ZjEsIDB4N2YsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGEsIDB4Y2YsCi0gIDB4N2YsIDB4MDAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTYsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4MTYsIDB4NDQsIDB4ODB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGZkLCAweDEyLCAweDBjLCAweGRhLCAweDIyLCAweDA1LCAweDJiLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDMxLCAweDAzLCAweDAwLCAweDAwLAotICAweGMxLCAweDg2LCAweGMxLCAweDAyLCAweGMxLCAweDBhLCAweGMxLCAweDAxLCAweGMxLCAweDA3LCAweDAxLCAweDI3LCAweDAwLCAweDAwLCAweDhlLCAweDM2LAotICAweDhmLCAweDM3LCAweGU1LCAweDM3LCAweDE1LCAweDM3LCAweGFlLCAweDM2LCAweDcwLCAweDAyLCAweDE1LCAweDM2LCAweDRlLCAweDYwLCAweDA1LCAweDEyLAotICAweDA5LCAweGE0LCAweDgwLCAweGVlLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDBkLCAweDdlfX0sCi0gezB4MGRjNiwgNjQsIHsgMHgwMCwgMHgxMiwgMHgwZCwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwKLSAgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhkMiwKLSAgMHgwMSwgMHgyMiwgMHhjMiwgMHgwMSwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwYiwgMHhjZSwgMHgwMCwgMHgwMiwgMHgwZX19LAotIHsweDBlMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDIsIDB4MGIsIDB4ZjUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBlYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTAwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTBjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTE4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTI0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxOSwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsICA0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLCAwLAl7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTl3X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXdfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzVkNjE5MS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXdfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0NiArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTE5d19mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTE5d19mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2ExOXdfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDBkLCAweDVjfX0sCi0gezB4MDAwMywgMTYsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMH19LAotIHsweDAwMTMsIDE2LCB7IDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwMDIzLCAxNSwgeyAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDE3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgwZiwgMHgxOCwgMHgxMiwgMHgwZCwgMHgzOCwgMHhlZiwgMHhjMywgMHg5NSwgMHgxNCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkOCwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MGYsIDB4YzIsIDB4MGEsIDB4ODAsIDB4NzcsIDB4MzAsIDB4MGMsIDB4M2IsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDBkLCAweDM4LCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdlfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZiwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgxYywgMHgyMCwgMHgwYSwgMHgxMSwgMHg2MH19LAotIHsweDAwODYsIDE2LCB7IDB4MGYsIDB4ZjUsIDB4MjMsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MjcsIDB4N2UsIDB4NzUsIDB4MjgsIDB4NDEsIDB4MTIsIDB4MDgsIDB4MDF9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGMyLCAweDBjLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDMyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxMiwgMHgwZCwgMHgzOCwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZn19LAotIHsweDAwYjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MWMsIDB4MjAsIDB4MGEsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MjMsIDB4N2UsIDB4N2R9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDdmLCAweGMxLCAweDc1LCAweDI3LCAweDdkLCAweDc1LCAweDI4LCAweGMxLCAweDEyLCAweDA4LCAweDAxLCAweGQyLCAweDBjLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHg1ZSwgMHgxMiwgMHgwYywgMHg0MSwgMHg4Zn19LAotIHsweDAwZTYsIDE2LCB7IDB4MWMsIDB4MTIsIDB4MGQsIDB4NDQsIDB4OGYsIDB4MTEsIDB4ZTUsIDB4MWMsIDB4YzMsIDB4OTUsIDB4MTMsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MGQsIDB4MjB9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDExLCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDEyLCAweDVjLCAweGMyLCAweDEyLCAweGU1LCAweDFjfX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MGUsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDA4LCAweGI2fX0sCi0gezB4MDEwNiwgNjQsIHsgMHg2MCwgMHg1NiwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgxMSwgMHgwMiwgMHhlNSwgMHgxMSwgMHgzMCwgMHhlNywgMHgyNCwgMHhlNSwgMHgxYywgMHhkMywgMHg5NCwKLSAgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxYywgMHgyMCwgMHg4NSwgMHgxYywgMHgyMywgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgyNywgMHg3ZSwKLSAgMHg3NSwgMHgyOCwgMHg4MCwgMHgxMiwgMHgwYSwgMHg4NiwgMHhlNSwgMHgxYywgMHgyNSwgMHgxYywgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg4MCwgMHgyNywKLSAgMHhlNSwgMHgxYywgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxYywgMHgzZiwgMHg4NSwgMHgxYywgMHgyMywgMHg5MCwgMHg3ZX19LAotIHsweDAxNDYsIDY0LCB7IDB4ODAsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MjcsIDB4N2UsIDB4NzUsIDB4MjgsIDB4ODEsIDB4MTIsIDB4MDgsIDB4MjYsCi0gIDB4ZTUsIDB4MWMsIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MGQsCi0gIDB4MDMsIDB4MDIsIDB4MDMsIDB4YmEsIDB4ZTQsIDB4ZjUsIDB4MWIsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MWIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MWIsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4NzksIDB4MDAsIDB4MjR9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLCAweDEyLCAweDBhLCAweDBkLCAweDA1LCAweDFiLCAweGU1LCAweDFiLCAweGI0LCAweDIwLCAweGQ3LAotICAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDZlLCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDExLCAweGUwLCAweGZkLCAweDEyLCAweDBjLCAweDFjLAotICAweDkwLCAweDdlLCAweDAxLCAweGUwLCAweGZmLCAweDEyLCAweDBiLCAweDVlLCAweDkwLCAweDdlLCAweDAyLCAweGUwLCAweGZmLCAweDEyLCAweDBiLCAweDg0LAotICAweGQyLCAweDEwLCAweGQyLCAweDExLCAweDc1LCAweDFjLCAweDA0LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDA1LCAweGMyLCAweDExfX0sCi0gezB4MDFjNiwgNjQsIHsgMHg0MywgMHgxYywgMHhjMCwgMHg5MCwgMHg3ZSwgMHgwNCwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNywgMHhjMiwgMHgxMSwgMHg0MywgMHgxYywgMHgwYiwgMHg4MCwgMHgxMCwKLSAgMHg5MCwgMHg3ZSwgMHgwNCwgMHhlMCwgMHg2MCwgMHgwNywgMHhjMiwgMHgxMCwgMHg0MywgMHgxYywgMHgwOSwgMHg4MCwgMHgwMywgMHg0MywgMHgxYywgMHgwMiwKLSAgMHg3ZiwgMHgwMywgMHhhZCwgMHgxYywgMHgxMiwgMHgwYywgMHgxYywgMHg0MywgMHgxOSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0NH19LAotIHsweDAyMDYsIDY0LCB7IDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4MTgsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MTgsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDcsIDB4ZTAsCi0gIDB4NjAsIDB4NDIsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTUsIDB4MDQsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTUsIDB4ZmIsCi0gIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTUsIDB4MTIsIDB4MGMsIDB4MWMsIDB4OTAsIDB4N2UsIDB4MDgsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTd9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDE3LCAweDdmLCAweDUzLCAweDE3LCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDE3LAotICAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDBiLCAweGQwLCAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDBiLCAweGY2LCAweGFmLAotICAweDE3LCAweDEyLCAweDBiLCAweGFhLCAweDkwLCAweDdlLCAweDBlLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDE5LAotICAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDE5LCAweGZlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwfX0sCi0gezB4MDI4NiwgNjQsIHsgMHhlNSwgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwYywgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxOSwgMHgwMiwgMHg4MCwKLSAgMHgwMywgMHg1MywgMHgxOSwgMHhmZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxOSwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgxMywgMHhhMywgMHhlMCwgMHgxMywgMHg5MiwgMHgxMywgMHhhMywgMHhlMCwgMHhmNSwgMHgxNCwgMHhhMywKLSAgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxOSwgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHgxOSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NH19LAotIHsweDAyYzYsIDY0LCB7IDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4MTgsIDB4YmYsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MGQsIDB4MTQsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4MTUsCi0gIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTUsIDB4MTIsIDB4MGMsIDB4MWMsIDB4ZTQsIDB4ZjUsIDB4MGUsIDB4ZjUsIDB4MGQsIDB4ZDIsIDB4MGV9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDE1LCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDE1LCAweDEyLCAweDBjLCAweDFjLCAweDc1LAotICAweDBkLCAweDAxLCAweGQyLCAweDBlLCAweDkwLCAweDdlLCAweDE4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLAotICAweGU1LCAweDE2LCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGQyLCAweDBhLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLAotICAweDQzLCAweDE4LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLCAweGMwfX0sCi0gezB4MDM0NiwgNjQsIHsgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgxNSwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNSwgMHgxMiwgMHgwYywKLSAgMHgxYywgMHg3NSwgMHgwZiwgMHgwMSwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZSwgMHgxYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgxNSwgMHgwMSwgMHhlNCwKLSAgMHhmZiwgMHhhZCwgMHgxNSwgMHgxMiwgMHgwYywgMHgxYywgMHhlNCwgMHhmNSwgMHgwZiwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwKLSAgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMH19LAotIHsweDAzODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MTIsIDB4OTAsIDB4N2UsIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MTAsIDB4MDEsCi0gIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2UsIDB4MWYsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsCi0gIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MGMsIDB4YzIsIDB4MGQsIDB4ZTQsIDB4OTAsCi0gIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MTUsIDB4NzEsIDB4ZTUsIDB4MTIsIDB4NjAsIDB4MDIsIDB4MTUsIDB4MTIsIDB4ZTUsIDB4MmUsIDB4ZDN9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDJlLCAweDgwLCAweDYwLCAweDc1LCAweDJlLCAweDBhLCAweDEyLCAweDBkLCAweDE0LCAweGVmLCAweDU0LCAweDAxLAotICAweGY1LCAweDFjLCAweDY1LCAweDBlLCAweDYwLCAweDA3LCAweDg1LCAweDFjLCAweDBlLCAweGQyLCAweDBlLCAweDgwLCAweDExLCAweDEyLCAweDBkLCAweDUwLAotICAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDFjLCAweDY1LCAweDA5LCAweDYwLCAweDA1LCAweDg1LCAweDFjLCAweDA5LCAweGQyLCAweDBlLCAweDEyLCAweDBkLAotICAweDUwLCAweGVmLCAweDU0LCAweDgwLCAweGY1LCAweDFjLCAweDY1LCAweDBhLCAweDYwLCAweDA1LCAweDg1LCAweDFjLCAweDBhLCAweGQyLCAweDBlfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgxMiwgMHgwZCwgMHg1MCwgMHhlZiwgMHg1NCwgMHgyMCwgMHhmNSwgMHgxYywgMHg2NSwgMHgwYiwgMHg2MCwgMHgwOCwgMHg4NSwgMHgxYywgMHgwYiwgMHgzMCwgMHgxMCwKLSAgMHgwMiwgMHhkMiwgMHgwZSwgMHgxMiwgMHgwZCwgMHg1MCwgMHhlZiwgMHg1NCwgMHg0MCwgMHhmNSwgMHgxYywgMHg2NSwgMHgwYywgMHg2MCwgMHgwOCwgMHg4NSwKLSAgMHgxYywgMHgwYywgMHgzMCwgMHgxMSwgMHgwMiwgMHhkMiwgMHgwZSwgMHgzMCwgMHgxNSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwKLSAgMHgyMywgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgzMCwgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNX19LAotIHsweDA0NDYsIDY0LCB7IDB4MzEsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDUsIDB4MWYsIDB4ZTUsIDB4MjUsCi0gIDB4NzAsIDB4NDAsIDB4MzAsIDB4MGUsIDB4MzksIDB4ZTUsIDB4MTIsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MGUsIDB4ZjUsIDB4MWIsIDB4N2UsIDB4MDAsIDB4N2IsCi0gIDB4MDAsIDB4NzQsIDB4MDgsIDB4MjUsIDB4MWIsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MDksIDB4YzcsIDB4ZmYsIDB4NzR9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDgwLCAweDI1LCAweDFiLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDFiLCAweGU1LCAweDFiLCAweGI0LAotICAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDEyLCAweDEwLCAweGU0LCAweGY1LCAweDEwLCAweDc1LCAweDI1LAotICAweDAyLCAweDIyLCAweGU1LCAweDI1LCAweDY0LCAweDAyLCAweDcwLCAweDM2LCAweDMwLCAweDA1LCAweDJmLCAweGMyLCAweDA1LCAweGY1LCAweDFiLCAweDdlLAotICAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDI5LCAweDI1LCAweDFiLCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDA5LCAweGM3fX0sCi0gezB4MDRjNiwgNjQsIHsgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxYiwgMHhlNSwKLSAgMHgxYiwgMHhiNCwgMHgwNSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwNSwgMHhmMCwgMHg3NSwgMHgyNSwgMHgwMywgMHgyMiwgMHhlNSwgMHgzMCwKLSAgMHg2MCwgMHgzMywgMHg3NSwgMHgyZiwgMHgwMywgMHgxNSwgMHgzMCwgMHhlNCwgMHhmNSwgMHgxYiwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZiwKLSAgMHgyNSwgMHgxYiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwOSwgMHhjNywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxYn19LAotIHsweDA1MDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MWIsIDB4ZTUsIDB4MWIsIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTAsCi0gIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MjUsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGEsIDB4MWYsCi0gIDB4MDUsIDB4ZjYsIDB4MDAsIDB4MDYsIDB4NmEsIDB4MDEsIDB4MDYsIDB4ZDcsIDB4MDMsIDB4MDUsIDB4NDMsIDB4MDYsIDB4MDUsIDB4ZTksIDB4MDgsIDB4MDUsCi0gIDB4ZTMsIDB4MDksIDB4MDUsIDB4Y2IsIDB4MGEsIDB4MDUsIDB4ZGEsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MjcsIDB4OTAsIDB4N2YsIDB4ZWJ9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwLCAweDUwLCAweDI0LCAweDAyLCAweDcwLCAweDZmLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LAotICAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDA0LAotICAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLCAweDc1LCAweDgyLAotICAweDc0LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhfX0sCi0gezB4MDU4NiwgNjQsIHsgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgxMiwKLSAgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYSwgMHg0NSwgMHhlYSwKLSAgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NH19LAotIHsweDA1YzYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MjQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsCi0gIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MjQsIDB4MDIsIDB4MDcsIDB4MmUsIDB4MTIsIDB4MDcsIDB4MzYsIDB4MDIsCi0gIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsCi0gIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTJ9fSwKLSB7MHgwNjA2LCA2NCwgeyAweDAxLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDA3LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LAotICAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0fX0sCi0gezB4MDY0NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwKLSAgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwKLSAgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNiwgMHgxMiwgMHgwZCwgMHg2MywgMHgwMiwgMHgwNywgMHgyZX19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsCi0gIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsCi0gIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsCi0gIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNmM2LCA2NCwgeyAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDU3LAotICAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE5LCAweDI0LCAweDAyLCAweDcwLCAweDRiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLAotICAweGI0LCAweDAxLCAweDA1LCAweDEyLCAweDBkLCAweDYwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLAotICAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwKLSAgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMH19LAotIHsweDA3NDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTgsCi0gIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4ZTQsIDB4ZjUsCi0gIDB4MDgsIDB4N2YsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MDgsIDB4MmYsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MGEsCi0gIDB4MGQsIDB4MGYsIDB4YmYsIDB4MDksIDB4ZWUsIDB4NzUsIDB4MTMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4ZjUsIDB4MmUsIDB4ZjUsIDB4MTF9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGMyLCAweDBlLCAweGMyLCAweDEyLCAweGMyLCAweDBkLCAweGMyLCAweDBhLCAweGMyLCAweDBmLCAweGMyLCAweDA0LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLAotICAweGYwLCAweDc1LCAweDE4LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDBjLAotICAweDFjLCAweDdmLCAweDEwLCAweDhmLCAweDE3LCAweDEyLCAweDBiLCAweGFhLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDdmLCAweDAxLAotICAweDhmLCAweDE2LCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDBjLCAweDFjfX0sCi0gezB4MDdjNiwgNjQsIHsgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgxNSwgMHgxMiwgMHgwYywgMHgxYywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgwYywgMHgxYywgMHg3ZiwgMHgwMSwgMHgxMiwgMHgwYywKLSAgMHhhYywgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgwYywgMHgxYywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NSwgMHgxOSwKLSAgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHhkMiwgMHgwMywgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMH19LAotIHsweDA4MDYsIDY0LCB7IDB4ZjAsIDB4YWYsIDB4MjMsIDB4ZTUsIDB4MjgsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjcsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MjMsIDB4ZTUsIDB4MjgsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjcsIDB4ZjUsIDB4ODMsIDB4YzIsCi0gIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4Zjd9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDIzLCAweGU1LCAweDI4LCAweGY1LCAweDgyLAotICAweGU1LCAweDI3LCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LAotICAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLAotICAweDIzLCAweGU1LCAweDI4LCAweGY1LCAweDgyLCAweGU1LCAweDI3LCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3NCwgMHgwMCwKLSAgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHg3OCwKLSAgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHgzMSwgMHgwMiwgMHgwOCwgMHhmZCwgMHgwMiwgMHgwOSwgMHg0MiwgMHhlNH19LAotIHsweDA4YzYsIDY0LCB7IDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksCi0gIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsCi0gIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsCi0gIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MGMsIDB4Y2QsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmN9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLAotICAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LAotICAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLAotICAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweGQyLCAweDE0LCAweDkwLCAweDdmfX0sCi0gezB4MDk0NiwgNjQsIHsgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgxMiwgMHgwZCwgMHg2MywgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhhZSwgMHg3NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHgxNSwgMHgxMiwgMHgwYywgMHg2NiwgMHhjMiwgMHgwMiwgMHhlNCwgMHhmNX19LAotIHsweDA5ODYsIDY0LCB7IDB4MjYsIDB4ZjUsIDB4MmUsIDB4YzIsIDB4MDgsIDB4YzIsIDB4MDMsIDB4OTAsIDB4N2YsIDB4YTEsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsCi0gIDB4MWEsIDB4NjAsIDB4MTAsIDB4MzAsIDB4MDMsIDB4MDUsIDB4ZDIsIDB4MTUsIDB4MTIsIDB4MDAsIDB4NDYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsCi0gIDB4MWEsIDB4ODAsIDB4MDgsIDB4MzAsIDB4MDMsIDB4MDUsIDB4YzIsIDB4MTUsIDB4MTIsIDB4MDAsIDB4NDYsIDB4MzAsIDB4MDIsIDB4MDcsIDB4YzIsIDB4MDIsCi0gIDB4MTIsIDB4MDUsIDB4MjAsIDB4ODAsIDB4ZDYsIDB4MzAsIDB4MDksIDB4ZDMsIDB4YzIsIDB4MDksIDB4MTIsIDB4MGEsIDB4YmEsIDB4ODAsIDB4Y2N9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLAotICAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LAotICAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLAotICAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1fX0sCi0gezB4MGEwNiwgNjQsIHsgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwKLSAgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwKLSAgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwKLSAgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg4Zn19LAotIHsweDBhNDYsIDY0LCB7IDB4MWIsIDB4ZTQsIDB4ZjUsIDB4MWMsIDB4NzUsIDB4MWQsIDB4ZmYsIDB4NzUsIDB4MWUsIDB4MTksIDB4NzUsIDB4MWYsIDB4ODYsIDB4YWIsIDB4MWQsIDB4YWEsIDB4MWUsCi0gIDB4YTksIDB4MWYsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MDksIDB4ZTAsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MWMsIDB4MDUsIDB4MWMsIDB4ZWYsCi0gIDB4YjUsIDB4MWIsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MDksIDB4YzcsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsCi0gIDB4MWQsIDB4ZmYsIDB4ZjUsIDB4MWUsIDB4ODksIDB4MWYsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjJ9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDA1LCAweDI4LCAweGU1LCAweDI4LCAweGFlLCAweDI3LCAweDcwLCAweDAyLCAweDA1LCAweDI3LCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDExLAotICAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweDA1LCAweDI4LCAweGU1LCAweDI4LCAweGFjLCAweDI3LCAweDcwLCAweDAyLCAweDA1LCAweDI3LCAweDE0LCAweGY1LAotICAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDIzLCAweGU1LCAweDIzLCAweDYwLCAweDA3LCAweDEyLCAweDBkLCAweDQ0LCAweDhmLCAweDExLAotICAweDgwLCAweGNkLCAweDIyLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDFiLCAweDEyLCAweDAwLCAweDAzLCAweDkwLCAweDdmLCAweGQ2fX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHgxMiwgMHgwOCwgMHhhNiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgwZSwgMHgzMCwgMHgwMSwgMHgwNSwKLSAgMHgxMiwgMHgwYywgMHhmZSwgMHg4MCwgMHgwNiwgMHgxMiwgMHgwYywgMHg4YiwgMHhlZiwgMHg2MCwgMHhlMSwgMHgxMiwgMHgwNywgMHgzNiwgMHgyMiwgMHhjMCwKLSAgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwKLSAgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMH19LAotIHsweDBiMDYsIDY0LCB7IDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsCi0gIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsCi0gIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsCi0gIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDB9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGQyLCAweDA5LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LAotICAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MGI4NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxM319LAotIHsweDBiYzYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzR9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLAotICAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE3LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDBkLCAweDJjLCAweDhmLCAweDFkfX0sCi0gezB4MGM0NiwgNjQsIHsgMHgxMiwgMHgwZCwgMHgyYywgMHg4ZiwgMHgxZSwgMHhlNSwgMHgxZCwgMHg2NSwgMHgxZSwgMHg2MCwgMHgxMiwgMHgxMiwgMHgwZCwgMHgyYywgMHg4ZiwgMHgxZCwgMHhlNSwKLSAgMHgxZCwgMHg2NSwgMHgxZSwgMHg2MCwgMHgwNywgMHgxMiwgMHgwZCwgMHgyYywgMHg4ZiwgMHgxZSwgMHg4MCwgMHhlOCwgMHhhZiwgMHgxZCwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxNSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwKLSAgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwYywgMHhlNywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMH19LAotIHsweDBjODYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MWMsIDB4MTIsIDB4MDcsIDB4MzYsIDB4MTIsIDB4MGQsIDB4NTAsCi0gIDB4ZWYsIDB4MzAsIDB4ZTYsIDB4MGIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MWMsIDB4NjAsIDB4ZjEsIDB4N2YsIDB4MDEsIDB4MjIsIDB4MTIsCi0gIDB4MDAsIDB4MDMsIDB4N2YsIDB4MDAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MGMsCi0gIDB4MWMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4MTV9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDQ0LCAweDgwLCAweGZkLCAweDEyLCAweDBjLCAweDFjLCAweDIyLCAweDA1LCAweDI5LCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDJmLCAweDAzLAotICAweDAwLCAweDAwLCAweGMxLCAweDg2LCAweGMxLCAweDAyLCAweGMxLCAweDA5LCAweGMxLCAweDAxLCAweGMxLCAweDA3LCAweDAxLCAweDI1LCAweDAwLCAweDAwLAotICAweDhlLCAweDFjLCAweDhmLCAweDFkLCAweGU1LCAweDFkLCAweDE1LCAweDFkLCAweGFlLCAweDFjLCAweDcwLCAweDAyLCAweDE1LCAweDFjLCAweDRlLCAweDYwLAotICAweDA1LCAweDEyLCAweDA4LCAweDk1LCAweDgwLCAweGVlLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmfX0sCi0gezB4MGQwNiwgNjQsIHsgMHgwZCwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwYywgMHhlNywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwKLSAgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDBkNDYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzIsIDB4ZDIsIDB4MDEsIDB4MjIsIDB4YzIsIDB4MDEsIDB4MjIsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwYiwgMHgxMCwgMHgwMCwgMHgwMiwgMHgwZX19LAotIHsweDBlMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZTYsIDB4MDAsIDB4MDIsIDB4MGIsIDB4MzcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBlYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTAwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTBjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTE4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTI0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwOCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsICA0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOF9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDhiMGEyLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NjYgKzAsMCBAQAotLyoga2V5c3Bhbl91c2EyOF9mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTI4X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMjhfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDI2LCAxMCwgeyAweDEyLCAweDE3LCAweGRiLCAweDEyLCAweDE4LCAweGI1LCAweDEyLCAweDE0LCAweGMzLCAweDIyfX0sCi0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwMCwgMHgxZH19LAotIHsweDAwMWQsICA0LCB7IDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9fSwKLSB7MHgwMDA2LCAxNiwgeyAweDhlLCAweDEyLCAweDhmLCAweDEzLCAweGU1LCAweDEzLCAweDE1LCAweDEzLCAweGFlLCAweDEyLCAweDcwLCAweDAyLCAweDE1LCAweDEyLCAweDRlLCAweDYwfX0sCi0gezB4MDAxNiwgIDcsIHsgMHgwNSwgMHgxMiwgMHgxOCwgMHhhNCwgMHg4MCwgMHhlZSwgMHgyMn19LAotIHsweDAwMDMsICAzLCB7IDB4MDIsIDB4MDAsIDB4NDZ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDA4fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgzMCwgMHg5OSwgMHgwZSwgMHgzMCwgMHgxMSwgMHgwNywgMHhhMiwgMHgxNywgMHg5MiwgMHg5YiwgMHg4NSwgMHg0NiwgMHg5OSwgMHhjMiwgMHg5OSwgMHhkMn19LAotIHsweDAwNjYsIDE2LCB7IDB4MWYsIDB4MzAsIDB4YzEsIDB4MGUsIDB4MzAsIDB4MTIsIDB4MDcsIDB4YTIsIDB4MTgsIDB4OTIsIDB4YzMsIDB4ODUsIDB4NDcsIDB4YzEsIDB4YzIsIDB4YzF9fSwKLSB7MHgwMDc2LCAxNiwgeyAweGQyLCAweDIwLCAweDIwLCAweDFmLCAweDAzLCAweDAyLCAweDA0LCAweDQyLCAweGMyLCAweDFmLCAweDIwLCAweDAzLCAweDAzLCAweDAyLCAweDAyLCAweDY3fX0sCi0gezB4MDA4NiwgMTYsIHsgMHgyMCwgMHgxMSwgMHgwMywgMHgwMiwgMHgwMSwgMHgzOCwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg1MCwgMHgzZSwgMHgyMCwgMHgxMywgMHgzNn19LAotIHsweDAwOTYsIDE2LCB7IDB4MjAsIDB4MGIsIDB4MzMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4MjksIDB4MzAsIDB4MWIsIDB4MTJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzfX0sCi0gezB4MDBiNiwgMTYsIHsgMHg5MiwgMHgxNywgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4M319LAotIHsweDAwYzYsIDE2LCB7IDB4ZTAsIDB4ZjUsIDB4NDYsIDB4MDIsIDB4MDQsIDB4NDAsIDB4YzIsIDB4MTEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjB9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGMyLCAweDAzLCAweDMwLCAweDE1LCAweDBjLCAweGMyLCAweDE1LCAweDkwLCAweDdmLCAweGJmLCAweDA0LCAweGYwLCAweGMyLCAweDExLCAweDAyLCAweDA0fX0sCi0gezB4MDBlNiwgMTYsIHsgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjOX19LAotIHsweDAwZjYsIDE2LCB7IDB4ZTAsIDB4ZjUsIDB4N2MsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTUsIDB4MjAsIDB4MTMsIDB4MmQsIDB4MjAsIDB4MGIsIDB4MmF9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDFiLCAweDAwfX0sCi0gezB4MDAyMywgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwM2IsICAzLCB7IDB4MDIsIDB4MDAsIDB4NDZ9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDE2LCAweDNkfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHgyMCwgMHgzMCwgMHgxYiwgMHgxMSwgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwKLSAgMHgxMywgMHg5MiwgMHgxNywgMHhhMywgMHhlMCwgMHhmNSwgMHg0NiwgMHg3NSwgMHg0YSwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MCwgMHg3NSwgMHg0YSwgMHgwMiwKLSAgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHhmNSwgMHg0NiwgMHgwMiwgMHgwNCwgMHg0MCwgMHg3NSwgMHg0YSwgMHgwMSwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNCwKLSAgMHg0MCwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg1MCwgMHgwMywgMHgwMiwgMHgwMSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMH19LAotIHsweDAxNDYsIDY0LCB7IDB4MzAsIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MjEsIDB4YzIsIDB4MDUsIDB4MDIsIDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4N2MsIDB4OTAsCi0gIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTUsIDB4MzAsIDB4MTMsIDB4MDMsIDB4MDIsIDB4MDEsIDB4ZDgsIDB4MjAsIDB4MGIsIDB4NzIsIDB4MjAsCi0gIDB4MDAsIDB4NmYsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4NjUsIDB4MzAsIDB4MWIsIDB4MTAsIDB4OTAsCi0gIDB4N2UsIDB4NDEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4NGEsIDB4MDMsIDB4ODAsIDB4MDl9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDRhLCAweDAyLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDQwLCAweDE3LCAweDkwLAotICAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAzLCAweDIwLCAweDE1LCAweDAzLCAweDAyLCAweDA0LCAweDQwLCAweGMyLCAweDE1LCAweDkwLCAweDdmLAotICAweGJmLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDQwLCAweDMwLCAweDFiLCAweDEyLCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLAotICAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhfX0sCi0gezB4MDFjNiwgNjQsIHsgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NiwgMHhkMiwgMHgxMSwgMHgwMiwgMHgwNCwKLSAgMHg0MCwgMHg3NSwgMHg0YSwgMHgwMSwgMHhjMiwgMHgyMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHgzMCwgMHgxMywgMHgwMywgMHgwMiwgMHgwMiwgMHg2MiwgMHgyMCwKLSAgMHgwYiwgMHg3OSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHg2ZiwgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZSwKLSAgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxM319LAotIHsweDAyMDYsIDY0LCB7IDB4OTIsIDB4OWIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4ZjUsIDB4OTksIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NDAsIDB4MTcsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDMsCi0gIDB4MjAsIDB4MTUsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDAsIDB4YzIsIDB4MTUsIDB4OTAsIDB4N2YsIDB4YmYsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4NDAsCi0gIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2V9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ2LCAweGQyLCAweDExLCAweDAyLCAweDA0LCAweDQwLCAweGMyLCAweDIxLCAweDAyLCAweDA0LCAweDQwLAotICAweDIwLCAweDExLCAweDAzLCAweDAyLCAweDAzLCAweDE5LCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDNlLCAweDIwLCAweDEzLCAweDM2LAotICAweDIwLCAweDBiLCAweDMzLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDI5LCAweDMwLCAweDFifX0sCi0gezB4MDI4NiwgNjQsIHsgMHgxMiwgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgxNywgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHhmNSwgMHg0NiwgMHgwMiwgMHgwNCwgMHg0MCwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwKLSAgMHhkMiwgMHgwMywgMHgzMCwgMHgxNSwgMHgwYywgMHhjMiwgMHgxNSwgMHg5MCwgMHg3ZiwgMHhiZiwgMHgwNCwgMHhmMCwgMHhjMiwgMHgxMSwgMHgwMn19LAotIHsweDAyYzYsIDY0LCB7IDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MTEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzcsCi0gIDB4ZTAsIDB4ZjUsIDB4N2MsIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTUsIDB4MjAsIDB4MTMsIDB4MmQsIDB4MjAsIDB4MGIsIDB4MmEsCi0gIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4MjAsIDB4MzAsIDB4MWIsIDB4MTEsIDB4OTAsIDB4N2UsIDB4NDEsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4NzUsIDB4NGEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDAsIDB4NzV9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDRhLCAweDAyLCAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweGY1LCAweDQ2LCAweDAyLCAweDA0LCAweDQwLCAweDc1LCAweDRhLCAweDAxLCAweGMyLCAweDExLCAweDAyLAotICAweDA0LCAweDQwLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDAzLCAweDAyLCAweDAzLCAweGMxLCAweDkwLCAweDdmLCAweGM4LCAweGUwLAotICAweDMwLCAweGUxLCAweDA3LCAweGMyLCAweDIxLCAweGMyLCAweDA1LCAweDAyLCAweDA0LCAweDQwLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDdjLAotICAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDE1LCAweDMwLCAweDEzLCAweDAzLCAweDAyLCAweDAzLCAweGI5LCAweDIwLCAweDBifX0sCi0gezB4MDM0NiwgNjQsIHsgMHg3MiwgMHgyMCwgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHg2NSwgMHgzMCwgMHgxYiwgMHgxMCwKLSAgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHg0YSwgMHgwMywgMHg4MCwgMHgwOSwKLSAgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHg0YSwgMHgwMiwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg0MCwgMHgxNywKLSAgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwMywgMHgyMCwgMHgxNSwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MCwgMHhjMiwgMHgxNX19LAotIHsweDAzODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YmYsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4NDAsIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsCi0gIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsCi0gIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4ZDIsIDB4MTEsIDB4MDIsCi0gIDB4MDQsIDB4NDAsIDB4NzUsIDB4NGEsIDB4MDEsIDB4YzIsIDB4MjEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4MzAsIDB4MTMsIDB4MDMsIDB4MDIsIDB4MDR9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDNlLCAweDIwLCAweDBiLCAweDc0LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDZhLCAweDMwLCAweDFiLCAweDEyLAotICAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLAotICAweDkyLCAweDliLCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLAotICAweGUwLCAweGY1LCAweDk5LCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDQwLCAweDEzLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwfX0sCi0gezB4MDQwNiwgNjQsIHsgMHhkMiwgMHgwMywgMHgzMCwgMHgxNSwgMHgzNSwgMHhjMiwgMHgxNSwgMHg5MCwgMHg3ZiwgMHhiZiwgMHgwNCwgMHhmMCwgMHg4MCwgMHgyYywgMHgzMCwgMHgxYiwgMHgxMiwKLSAgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgxNywgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHhmNSwgMHg0NiwgMHhkMiwgMHgxMSwgMHg4MCwgMHgwMiwgMHhjMiwgMHgyMSwgMHhkMiwgMHgyNSwgMHgyMCwgMHgyMCwgMHgwMywgMHgwMn19LAotIHsweDA0NDYsIDY0LCB7IDB4MDgsIDB4MGMsIDB4YzIsIDB4MjAsIDB4MjAsIDB4MDQsIDB4MDMsIDB4MDIsIDB4MDYsIDB4MzEsIDB4MjAsIDB4MTIsIDB4MDMsIDB4MDIsIDB4MDUsIDB4MDIsIDB4ZTUsCi0gIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MTQsIDB4MzYsIDB4MjAsIDB4MGQsIDB4MzMsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsCi0gIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MjAsIDB4MWUsIDB4MjksIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmUsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGJ9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweDAyLCAweDA4LCAweDBhLCAweGMyLAotICAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGU0LCAweGYwLCAweGMyLCAweDA0LCAweDMwLCAweDE2LCAweDBjLCAweGMyLCAweDE2LAotICAweDkwLCAweDdmLCAweGMxLCAweDA0LCAweGYwLCAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNjLCAweGUwLCAweDMwLCAweGUxLAotICAweDA1LCAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGY1LCAweDdkLCAweDkwLCAweDdjLCAweGMwfX0sCi0gezB4MDRjNiwgNjQsIHsgMHhlMCwgMHgxMywgMHg5MiwgMHgxNiwgMHgyMCwgMHgxNCwgMHgyZCwgMHgyMCwgMHgwZCwgMHgyYSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHgyMCwgMHhlNSwgMHgwMywKLSAgMHgyMCwgMHgxZSwgMHgyMCwgMHgzMCwgMHgxZCwgMHgxMSwgMHg5MCwgMHg3YywgMHhjMSwgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhMywgMHhlMCwgMHhmNSwKLSAgMHg0NywgMHg3NSwgMHg0YiwgMHgwMywgMHgwMiwgMHgwOCwgMHgwYSwgMHg3NSwgMHg0YiwgMHgwMiwgMHg5MCwgMHg3YywgMHhjMSwgMHhlMCwgMHhmNSwgMHg0NywKLSAgMHgwMiwgMHgwOCwgMHgwYSwgMHg3NSwgMHg0YiwgMHgwMSwgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHhlNSwgMHg0YiwgMHhjMywgMHg5NX19LAotIHsweDA1MDYsIDY0LCB7IDB4N2QsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YWEsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MjIsIDB4YzIsIDB4MDYsCi0gIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4ZjUsIDB4N2QsIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTYsCi0gIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YTIsIDB4MjAsIDB4MGQsIDB4NzIsIDB4MjAsIDB4MDAsIDB4NmYsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsCi0gIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MjAsIDB4MWUsIDB4NjUsIDB4MzAsIDB4MWQsIDB4MTAsIDB4OTAsIDB4N2QsIDB4NDEsIDB4ZTAsIDB4MTMsIDB4OTJ9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGMzLCAweGEzLCAweGUwLCAweGY1LCAweGMxLCAweDc1LCAweDRiLCAweDAzLCAweDgwLCAweDA5LCAweDkwLCAweDdkLCAweDQxLCAweGUwLCAweGY1LCAweGMxLCAweDc1LAotICAweDRiLCAweDAyLCAweGU1LCAweDRiLCAweGMzLCAweDk1LCAweDdkLCAweDQwLCAweDE3LCAweDkwLCAweDdmLCAweGNiLCAweGU0LCAweGYwLCAweGMyLCAweDA0LAotICAweDIwLCAweDE2LCAweDAzLCAweDAyLCAweDA4LCAweDBhLCAweGMyLCAweDE2LCAweDkwLCAweDdmLCAweGMxLCAweDA0LCAweGYwLCAweDAyLCAweDA4LCAweDBhLAotICAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkfX0sCi0gezB4MDU4NiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHhkMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg3NSwgMHg0YiwgMHgwMSwgMHhjMiwgMHgyMiwKLSAgMHgwMiwgMHgwOCwgMHgwYSwgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgwNiwgMHgyYywgMHgyMCwgMHgwZCwgMHg3OSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwKLSAgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHg2ZiwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MH19LAotIHsweDA1YzYsIDY0LCB7IDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4YzMsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsCi0gIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4YzEsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsCi0gIDB4N2QsIDB4NDAsIDB4MTcsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDQsIDB4MjAsIDB4MTYsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MGEsCi0gIDB4YzIsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4MGEsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGJ9fSwKLSB7MHgwNjA2LCA2NCwgeyAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFlLAotICAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LAotICAweGQyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweGMyLCAweDIyLCAweDAyLCAweDA4LCAweDBhLCAweDIwLCAweDEyLCAweDAzLCAweDAyLCAweDA2LCAweGUzLAotICAweGU1LCAweDRiLCAweGMzLCAweDk1LCAweDdkLCAweDUwLCAweDNlLCAweDIwLCAweDE0LCAweDM2LCAweDIwLCAweDBkLCAweDMzLCAweDkwLCAweDdmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg5YSwgMHhlMCwgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHgyOSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwKLSAgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHgwMiwgMHgwOCwgMHgwYSwKLSAgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwNCwgMHgzMCwgMHgxNiwgMHgwY319LAotIHsweDA2ODYsIDY0LCB7IDB4YzIsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MzAsCi0gIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4ZjUsIDB4N2QsIDB4OTAsIDB4N2QsIDB4NDAsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTYsIDB4MjAsIDB4MTQsIDB4MmQsIDB4MjAsIDB4MGQsIDB4MmEsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4MjAsIDB4ZTUsCi0gIDB4MDMsIDB4MjAsIDB4MWUsIDB4MjAsIDB4MzAsIDB4MWQsIDB4MTEsIDB4OTAsIDB4N2QsIDB4NDEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YTN9fSwKLSB7MHgwNmM2LCA2NCwgeyAweGUwLCAweGY1LCAweDQ3LCAweDc1LCAweDRiLCAweDAzLCAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAyLCAweDkwLCAweDdkLCAweDQxLCAweGUwLCAweGY1LAotICAweDQ3LCAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAxLCAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweGU1LCAweDRiLCAweGMzLCAweDk1LAotICAweDdkLCAweDUwLCAweDAzLCAweDAyLCAweDA3LCAweDhiLCAweDkwLCAweDdmLCAweGNjLCAweGUwLCAweDMwLCAweGUxLCAweDA3LCAweGMyLCAweDIyLCAweGMyLAotICAweDA2LCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGY1LCAweDdkLCAweDkwLCAweDdjLCAweGMwLCAweGUwLCAweDEzfX0sCi0gezB4MDcwNiwgNjQsIHsgMHg5MiwgMHgxNiwgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgwNywgMHg4MywgMHgyMCwgMHgwZCwgMHg3MiwgMHgyMCwgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YSwKLSAgMHhlMCwgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHg2NSwgMHgzMCwgMHgxZCwgMHgxMCwgMHg5MCwgMHg3YywgMHhjMSwgMHhlMCwgMHgxMywgMHg5MiwKLSAgMHhjMywgMHhhMywgMHhlMCwgMHhmNSwgMHhjMSwgMHg3NSwgMHg0YiwgMHgwMywgMHg4MCwgMHgwOSwgMHg5MCwgMHg3YywgMHhjMSwgMHhlMCwgMHhmNSwgMHhjMSwKLSAgMHg3NSwgMHg0YiwgMHgwMiwgMHhlNSwgMHg0YiwgMHhjMywgMHg5NSwgMHg3ZCwgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlNCwgMHhmMH19LAotIHsweDA3NDYsIDY0LCB7IDB4ZDIsIDB4MDQsIDB4MjAsIDB4MTYsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MGEsIDB4YzIsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDgsCi0gIDB4MGEsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsIDB4ZDIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4NzUsIDB4NGIsIDB4MDF9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGMyLCAweDIyLCAweDAyLCAweDA4LCAweDBhLCAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA4LCAweDA4LCAweDIwLCAweDBkLCAweDc0LCAweDkwLCAweDdmLCAweDlhLAotICAweGUwLCAweDIwLCAweGU1LCAweDAzLCAweDIwLCAweDFlLCAweDZhLCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLAotICAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweGMzLCAweGFlLCAweDRiLCAweDA1LCAweDRiLAotICAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGMxLCAweGU1LCAweDRifX0sCi0gezB4MDdjNiwgNjQsIHsgMHhjMywgMHg5NSwgMHg3ZCwgMHg0MCwgMHgxMywgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwNCwgMHgzMCwgMHgxNiwgMHgzNSwgMHhjMiwgMHgxNiwKLSAgMHg5MCwgMHg3ZiwgMHhjMSwgMHgwNCwgMHhmMCwgMHg4MCwgMHgyYywgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwKLSAgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHhkMiwgMHgxMn19LAotIHsweDA4MDYsIDY0LCB7IDB4ODAsIDB4MDIsIDB4YzIsIDB4MjIsIDB4ZDIsIDB4MjUsIDB4MjAsIDB4OTgsIDB4MDMsIDB4MDIsIDB4MDksIDB4M2UsIDB4YzIsIDB4OTgsIDB4MjAsIDB4MDEsIDB4MDMsCi0gIDB4MDIsIDB4MDgsIDB4YjAsIDB4MjAsIDB4MjMsIDB4MjcsIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MWIsIDB4NDksIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4ODAsCi0gIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4YWYsIDB4OTl9fSwKLSB7MHgwODQ2LCA2NCwgeyAweGVmLCAweGI1LCAweDU4LCAweDA0LCAweGQyLCAweDBiLCAweDgwLCAweDJjLCAweGVmLCAweGI1LCAweDU3LCAweDA0LCAweGMyLCAweDBiLCAweDgwLCAweDI0LCAweGFlLAotICAweDQ4LCAweDA1LCAweDQ4LCAweDc0LCAweDgwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDMwLAotICAweDFiLCAweDExLCAweGFlLCAweDQ4LCAweDA1LCAweDQ4LCAweDc0LCAweDgwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLAotICAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDE5LCAweGU1LCAweDQ4LCAweGMzLCAweDk1LCAweDU0LCAweDUwLCAweDAzLCAweDAyLCAweDA5LCAweDNjfX0sCi0gezB4MDg4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxNSwgMHhlNSwgMHg0OCwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwOSwgMHgzYywKLSAgMHgxNSwgMHg0OCwgMHgxNSwgMHg0OCwgMHgwNSwgMHgyZCwgMHhkMiwgMHgwYywgMHgwMiwgMHgwOSwgMHgzYywgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwgMHg0OCwKLSAgMHhmMCwgMHg3NSwgMHg0OCwgMHgwMCwgMHhjMiwgMHgwMSwgMHgwMiwgMHgwOSwgMHgzYywgMHgyMCwgMHgyMywgMHgyNywgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwKLSAgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgxYn19LAotIHsweDA4YzYsIDY0LCB7IDB4NDksIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsCi0gIDB4ZjAsIDB4ODAsIDB4MzYsIDB4YWYsIDB4OTksIDB4ZWYsIDB4YjUsIDB4NTgsIDB4MDQsIDB4ZDIsIDB4MGIsIDB4ODAsIDB4MmMsIDB4ZWYsIDB4YjUsIDB4NTcsCi0gIDB4MDQsIDB4YzIsIDB4MGIsIDB4ODAsIDB4MjQsIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MzAsIDB4MWIsIDB4MTEsIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4MDAsIDB4MmV9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDE5LCAweGU1LCAweDQ4LCAweGMzLCAweDk1LCAweDU0LAotICAweDQwLCAweDIzLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDExLCAweGU1LCAweDQ4LCAweGMzLCAweDk0LCAweDQwLCAweDQwLCAweDE1LAotICAweDE1LCAweDQ4LCAweDE1LCAweDQ4LCAweDA1LCAweDJkLCAweGQyLCAweDBjLCAweDgwLCAweDBiLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDQ4LCAweGYwLAotICAweDc1LCAweDQ4LCAweDAwLCAweGQyLCAweDAxLCAweGQyLCAweDI1LCAweDIwLCAweGMwLCAweDAzLCAweDAyLCAweDBhLCAweDcwLCAweGMyLCAweGMwfX0sCi0gezB4MDk0NiwgNjQsIHsgMHgyMCwgMHgwMiwgMHgwMywgMHgwMiwgMHgwOSwgMHhlMiwgMHgyMCwgMHgyNCwgMHgyNywgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlNSwgMHhjMSwgMHhmMCwgMHgzMCwgMHgxZCwgMHg0OSwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwKLSAgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlNSwgMHhjMCwgMHhmMCwgMHg4MCwgMHgzNiwgMHhhZiwKLSAgMHhjMSwgMHhlZiwgMHhiNSwgMHg3MCwgMHgwNCwgMHhkMiwgMHgwZCwgMHg4MCwgMHgyYywgMHhlZiwgMHhiNSwgMHg2ZiwgMHgwNCwgMHhjMiwgMHgwZH19LAotIHsweDA5ODYsIDY0LCB7IDB4ODAsIDB4MjQsIDB4YWUsIDB4NDksIDB4MDUsIDB4NDksIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZWYsCi0gIDB4ZjAsIDB4MzAsIDB4MWQsIDB4MTEsIDB4YWUsIDB4NDksIDB4MDUsIDB4NDksIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsCi0gIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4YzAsIDB4ZjAsIDB4ZDIsIDB4MWEsIDB4ZTUsIDB4NDksIDB4YzMsIDB4OTUsIDB4NmMsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MGEsCi0gIDB4NmUsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTUsIDB4ZTUsIDB4NDksIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MDN9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDAyLCAweDBhLCAweDZlLCAweDE1LCAweDQ5LCAweDE1LCAweDQ5LCAweDA1LCAweDM5LCAweGQyLCAweDBlLCAweDAyLCAweDBhLCAweDZlLCAweDkwLCAweDdmLCAweGJiLAotICAweGU1LCAweDQ5LCAweGYwLCAweDc1LCAweDQ5LCAweDAwLCAweGMyLCAweDAyLCAweDAyLCAweDBhLCAweDZlLCAweDIwLCAweDI0LCAweDI3LCAweGFlLCAweDQ5LAotICAweDA1LCAweDQ5LCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGU1LCAweGMxLCAweGYwLCAweDMwLAotICAweDFkLCAweDQ5LCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1fX0sCi0gezB4MGEwNiwgNjQsIHsgMHg4MywgMHhlNSwgMHhjMCwgMHhmMCwgMHg4MCwgMHgzNiwgMHhhZiwgMHhjMSwgMHhlZiwgMHhiNSwgMHg3MCwgMHgwNCwgMHhkMiwgMHgwZCwgMHg4MCwgMHgyYywgMHhlZiwKLSAgMHhiNSwgMHg2ZiwgMHgwNCwgMHhjMiwgMHgwZCwgMHg4MCwgMHgyNCwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgzMCwgMHgxZCwgMHgxMSwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHgwMCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlNSwgMHhjMCwgMHhmMCwgMHhkMiwgMHgxYSwgMHhlNSwgMHg0OX19LAotIHsweDBhNDYsIDY0LCB7IDB4YzMsIDB4OTUsIDB4NmMsIDB4NDAsIDB4MjMsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTEsIDB4ZTUsIDB4NDksIDB4YzMsIDB4OTQsIDB4NDAsCi0gIDB4NDAsIDB4MTUsIDB4MTUsIDB4NDksIDB4MTUsIDB4NDksIDB4MDUsIDB4MzksIDB4ZDIsIDB4MGUsIDB4ODAsIDB4MGIsIDB4OTAsIDB4N2YsIDB4YmQsIDB4ZTUsCi0gIDB4NDksIDB4ZjAsIDB4NzUsIDB4NDksIDB4MDAsIDB4ZDIsIDB4MDIsIDB4ZDIsIDB4MjUsIDB4MzAsIDB4MjUsIDB4MDUsIDB4YzIsIDB4MjUsIDB4MDIsIDB4MDAsCi0gIDB4NTYsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4Y2V9fSwKLSB7MHgwYTg2LCA2NCwgeyAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDBiLCAweGE1LCAweGU0LCAweGY1LCAweDEyLCAweDc0LCAweDQwLCAweDI1LCAweDEyLCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDEyLCAweDdjLCAweDAwLCAweDdiLCAweDAwLCAweDI0LCAweDRjLCAweGY5LCAweGVjLAotICAweDM0LCAweDAwLCAweGZhLCAweGVmLCAweDEyLCAweDE1LCAweGNkLCAweDA1LCAweDEyLCAweGU1LCAweDEyLCAweGI0LCAweDE4LCAweGRiLCAweGU1LCAweDRjLAotICAweDYwLCAweDBjLCAweDc1LCAweGM5LCAweDIwLCAweDc1LCAweGM4LCAweDM2LCAweDg1LCAweDRkLCAweGNhLCAweDg1LCAweDRlLCAweGNiLCAweGU1fX0sCi0gezB4MGFjNiwgNjQsIHsgMHg0ZiwgMHgxMywgMHg5MiwgMHgxYiwgMHg5MiwgMHg5ZiwgMHhlNSwgMHg1MCwgMHgxMywgMHg5MiwgMHgxYywgMHhlNSwgMHg1MSwgMHgxMywgMHg5MiwgMHgyMywgMHhlNSwKLSAgMHg1MiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwKLSAgMHg0NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHg1MywgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHgwNywKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg1OSwgMHg2MCwgMHgwYiwgMHhjMiwgMHgxMywgMHhjMiwgMHgwYn19LAotIHsweDBiMDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NWEsIDB4NjAsIDB4MGIsIDB4ZDIsIDB4MGIsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2YsCi0gIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NWIsIDB4NjAsIDB4MGQsIDB4YzIsIDB4YWYsIDB4YzIsIDB4MTEsIDB4ZDIsIDB4MDAsIDB4ZTQsCi0gIDB4ZjUsIDB4N2MsIDB4ZjUsIDB4NGEsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NWMsIDB4NjAsIDB4MDUsIDB4MzAsIDB4MjMsIDB4MDIsIDB4ZDIsIDB4MGIsIDB4ZTUsCi0gIDB4NWQsIDB4NjAsIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZTAsIDB4NDR9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDVlLCAweDYwLCAweDBhLCAweGQyLCAweDljLCAweGMyLCAweDk4LAotICAweDc1LCAweDJlLCAweDAxLCAweDc1LCAweDQwLCAweDI4LCAweGU1LCAweDVmLCAweDYwLCAweDA3LCAweGMyLCAweDljLCAweGU0LCAweGY1LCAweDQ4LCAweGY1LAotICAweDJlLCAweGU1LCAweDYwLCAweDYwLCAweDAzLCAweGU0LCAweGY1LCAweDQ4LCAweGU1LCAweDYxLCAweDYwLCAweDAyLCAweGQyLCAweDA3LCAweGU1LCAweDYyLAotICAweDYwLCAweDA4LCAweGU1LCAweDVlLCAweDcwLCAweDAyLCAweGY1LCAweDQwLCAweGQyLCAweDBjLCAweGU1LCAweDYzLCAweDYwLCAweDE5LCAweDkwfX0sCi0gezB4MGI4NiwgNjQsIHsgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg3NCwgMHgzMiwgMHhmMCwgMHg3NCwgMHgxNSwgMHhmMCwKLSAgMHg3NCwgMHgzNSwgMHhmMCwgMHhkMiwgMHgwMywgMHhkMiwgMHgwMSwgMHhkMiwgMHgwOSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHhhMiwgMHgxMywKLSAgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwgMHgyYiwgMHg2MCwgMHgwNCwgMHg4ZiwgMHgyYiwgMHhkMiwgMHgwYywgMHhhMiwgMHgwYiwgMHhlNCwgMHgzMywgMHhmZiwKLSAgMHg2NSwgMHgyYywgMHg2MCwgMHgwNCwgMHg4ZiwgMHgyYywgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NCwgMHgwOCwgMHg2NX19LAotIHsweDBiYzYsIDY0LCB7IDB4MjcsIDB4NjAsIDB4MDcsIDB4ZTAsIDB4NTQsIDB4MDgsIDB4ZjUsIDB4MjcsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4NDAsIDB4YjUsCi0gIDB4MjksIDB4MDksIDB4ZTAsIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsIDB4ZjUsIDB4MjksIDB4ZDIsIDB4MGMsIDB4MzAsIDB4MDcsIDB4MzUsIDB4YzIsIDB4YWYsCi0gIDB4MzAsIDB4MDEsIDB4MTgsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4ZTUsIDB4NDgsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsCi0gIDB4YjcsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4NDgsIDB4YzIsIDB4MDEsIDB4YzIsIDB4MDcsIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTB9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDIwLCAweGUxLCAweDBmLCAweGU1LCAweDQ4LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI5LCAweGYwLCAweGU0LCAweGY1LCAweDQ4LCAweGQyLCAweDAxLCAweGMyLAotICAweDA3LCAweGQyLCAweGFmLCAweDIwLCAweDA1LCAweDM3LCAweDMwLCAweDAzLCAweDFiLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDJkLAotICAweDkwLCAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDE1LCAweDc1LCAweDRhLCAweDAxLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDdjLAotICAweGQyLCAweDA1LCAweDgwLCAweDE5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDEyLCAweDkwLCAweDdkLCAweGMwLCAweGUwfX0sCi0gezB4MGM0NiwgNjQsIHsgMHgxMywgMHg5MiwgMHgxNSwgMHg3NSwgMHg0YSwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg3YywgMHhkMiwgMHgwNSwgMHgyMCwgMHgyMSwgMHgzMywKLSAgMHgyMCwgMHgwMCwgMHgwNiwgMHhlNSwgMHg0YSwgMHg2NSwgMHg3YywgMHg3MCwgMHgyYSwgMHgzMCwgMHgwNSwgMHgxYSwgMHgzMCwgMHgwMywgMHgwOSwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHhjMiwgMHgwMywgMHg4MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMywgMHhjMiwKLSAgMHgwNSwgMHhlNCwgMHhmNSwgMHg3YywgMHhmNSwgMHg0YSwgMHgzMCwgMHgxNSwgMHgwYSwgMHhjMiwgMHgxNSwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3Zn19LAotIHsweDBjODYsIDY0LCB7IDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MzAsIDB4MjEsIDB4MDMsIDB4MDIsIDB4MGQsIDB4OTQsIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MGQsIDB4OTQsIDB4MzAsCi0gIDB4MWMsIDB4MGEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MDIsIDB4MGQsIDB4OTQsIDB4MzAsIDB4MGIsIDB4MDMsIDB4MDIsCi0gIDB4MGQsIDB4OTQsIDB4MzAsIDB4MTMsIDB4MDMsIDB4MDIsIDB4MGQsIDB4OTQsIDB4MzAsIDB4MDMsIDB4NjIsIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWYsIDB4NGEsCi0gIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTJ9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDJkLCAweGFmLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LAotICAweDEzLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDJhLCAweDMwLCAweDFiLCAweDEyLCAweGFmLCAweDRhLCAweDA1LCAweDRhLCAweDc0LAotICAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE3LCAweGFmLCAweDRhLCAweDA1LAotICAweDRhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ2LCAweGQyfX0sCi0gezB4MGQwNiwgNjQsIHsgMHgxMSwgMHg4MCwgMHg2YiwgMHhjMiwgMHgxMSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHhjMiwgMHgwMywgMHg4MCwgMHg2MCwgMHgzMCwgMHgxYiwgMHgxMiwKLSAgMHhhZiwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgyZCwgMHhhZiwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHhmNSwgMHgxMywgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg1MCwgMHgyYSwgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZiwgMHg0YX19LAotIHsweDBkNDYsIDY0LCB7IDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YWYsCi0gIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDYsCi0gIDB4ZDIsIDB4MTEsIDB4ODAsIDB4MDksIDB4YzIsIDB4MTEsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MzAsIDB4MWIsIDB4MDQsCi0gIDB4YTIsIDB4MmQsIDB4OTIsIDB4OWIsIDB4ZDIsIDB4MjEsIDB4YzIsIDB4YWYsIDB4ODUsIDB4MTMsIDB4OTksIDB4MjAsIDB4MTEsIDB4MGQsIDB4MzB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweDE1LCAweDBhLCAweGMyLCAweDE1LCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGQyLCAweGFmLCAweDkwLCAweDdmLCAweGQwLAotICAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDBlLCAweGI1LCAweGU0LCAweGY1LCAweDEyLCAweDc0LCAweGMwLCAweDI1LCAweDEyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDEyLCAweDdjLCAweDAwLCAweDdiLCAweDAwLCAweDI0LCAweDY0LCAweGY5LAotICAweGVjLCAweDM0LCAweDAwLCAweGZhLCAweGVmLCAweDEyLCAweDE1LCAweGNkLCAweDA1LCAweDEyLCAweGU1LCAweDEyLCAweGI0LCAweDE4LCAweGRifX0sCi0gezB4MGRjNiwgNjQsIHsgMHhlNSwgMHg2NCwgMHg2MCwgMHgwYiwgMHg3NSwgMHg4OSwgMHg2MCwgMHg3NSwgMHg4OCwgMHg0MCwgMHhkMiwgMHhkZiwgMHg4NSwgMHg2NSwgMHg4ZCwgMHhlNSwgMHg2NywKLSAgMHgxMywgMHg5MiwgMHgxZCwgMHg5MiwgMHhjNywgMHhlNSwgMHg2OCwgMHgxMywgMHg5MiwgMHgxZSwgMHhlNSwgMHg2OSwgMHgxMywgMHg5MiwgMHgyNCwgMHhlNSwKLSAgMHg2YSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg1NCwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwKLSAgMHg0NCwgMHgxMCwgMHhmMCwgMHhlNSwgMHg2YiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MH19LAotIHsweDBlMDYsIDY0LCB7IDB4MDcsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4NzEsIDB4NjAsIDB4MGIsIDB4YzIsIDB4MTQsIDB4YzIsIDB4MGQsIDB4OTAsCi0gIDB4N2YsIDB4OTQsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4ZTUsIDB4NzIsIDB4NjAsIDB4MGIsIDB4ZDIsIDB4MGQsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2YsCi0gIDB4OTQsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4ZTUsIDB4NzMsIDB4NjAsIDB4MGQsIDB4YzIsIDB4YWYsIDB4YzIsIDB4MTIsIDB4ZDIsIDB4MDAsIDB4ZTQsCi0gIDB4ZjUsIDB4N2QsIDB4ZjUsIDB4NGIsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NzQsIDB4NjAsIDB4MDUsIDB4MzAsIDB4MjQsIDB4MDIsIDB4ZDIsIDB4MGR9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweGU1LCAweDc1LCAweDYwLCAweDE1LCAweDkwLCAweDdmLCAweDk0LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDQ0LCAweDA4LAotICAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGU1LCAweDc2LCAweDYwLCAweDBhLCAweGQyLCAweGM0LCAweGMyLCAweGMwLAotICAweDc1LCAweDNhLCAweDAxLCAweDc1LCAweDQxLCAweDI4LCAweGU1LCAweDc3LCAweDYwLCAweDA3LCAweGMyLCAweGM0LCAweGU0LCAweGY1LCAweDQ5LCAweGY1LAotICAweDNhLCAweGU1LCAweDc4LCAweDYwLCAweDAzLCAweGU0LCAweGY1LCAweDQ5LCAweGU1LCAweDc5LCAweDYwLCAweDAyLCAweGQyLCAweDA4LCAweGU1fX0sCi0gezB4MGU4NiwgNjQsIHsgMHg3YSwgMHg2MCwgMHgwOCwgMHhlNSwgMHg3NiwgMHg3MCwgMHgwMiwgMHhmNSwgMHg0MSwgMHhkMiwgMHgwZSwgMHhlNSwgMHg3YiwgMHg2MCwgMHgxOSwgMHg5MCwgMHg3ZiwKLSAgMHhkNywgMHg3NCwgMHgxMywgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NCwgMHgzNCwgMHhmMCwgMHg3NCwgMHgxNiwgMHhmMCwKLSAgMHg3NCwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwNCwgMHhkMiwgMHgwMiwgMHhkMiwgMHgwYSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMSwgMHhmMCwgMHhhMiwgMHgxNCwKLSAgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwgMHgzNywgMHg2MCwgMHgwNCwgMHg4ZiwgMHgzNywgMHhkMiwgMHgwZSwgMHhhMiwgMHgwZCwgMHhlNCwgMHgzM319LAotIHsweDBlYzYsIDY0LCB7IDB4ZmYsIDB4NjUsIDB4MzgsIDB4NjAsIDB4MDQsIDB4OGYsIDB4MzgsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4NjUsIDB4MzMsCi0gIDB4NjAsIDB4MDcsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4ZjUsIDB4MzMsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4NTQsIDB4NDAsIDB4YjUsCi0gIDB4MzUsIDB4MDksIDB4ZTAsIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsIDB4ZjUsIDB4MzUsIDB4ZDIsIDB4MGUsIDB4MzAsIDB4MDgsIDB4MzUsIDB4YzIsIDB4YWYsCi0gIDB4MzAsIDB4MDIsIDB4MTgsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4ZTUsIDB4NDksIDB4NjAsIDB4MDksIDB4OTB9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDdmLCAweGJiLCAweGYwLCAweGU0LCAweGY1LCAweDQ5LCAweGMyLCAweDAyLCAweGMyLCAweDA4LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDIwLAotICAweGUxLCAweDBmLCAweGU1LCAweDQ5LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGJkLCAweGYwLCAweGU0LCAweGY1LCAweDQ5LCAweGQyLCAweDAyLCAweGMyLAotICAweDA4LCAweGQyLCAweGFmLCAweDIwLCAweDA2LCAweDM3LCAweDMwLCAweDA0LCAweDFiLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDIwLCAweGUxLCAweDJkLAotICAweDkwLCAweDdkLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDE2LCAweDc1LCAweDRiLCAweDAxLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweGY1fX0sCi0gezB4MGY0NiwgNjQsIHsgMHg3ZCwgMHhkMiwgMHgwNiwgMHg4MCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhjYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgxMiwgMHg5MCwgMHg3YywgMHhjMCwgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgxNiwgMHg3NSwgMHg0YiwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHhmNSwgMHg3ZCwgMHhkMiwgMHgwNiwgMHgyMCwgMHgyMiwgMHgzMywKLSAgMHgyMCwgMHgwMCwgMHgwNiwgMHhlNSwgMHg0YiwgMHg2NSwgMHg3ZCwgMHg3MCwgMHgyYSwgMHgzMCwgMHgwNiwgMHgxYSwgMHgzMCwgMHgwNCwgMHgwOSwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHhjMiwgMHgwNCwgMHg4MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHhkMiwgMHgwNH19LAotIHsweDBmODYsIDY0LCB7IDB4YzIsIDB4MDYsIDB4ZTQsIDB4ZjUsIDB4N2QsIDB4ZjUsIDB4NGIsIDB4MzAsIDB4MTYsIDB4MGEsIDB4YzIsIDB4MTYsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzEsCi0gIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MzAsIDB4MjIsIDB4MDMsIDB4MDIsIDB4MTAsIDB4YTQsIDB4MjAsIDB4MDYsIDB4MDMsIDB4MDIsIDB4MTAsIDB4YTQsIDB4MzAsCi0gIDB4MWUsIDB4MGEsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MDIsIDB4MTAsIDB4YTQsIDB4MzAsIDB4MGQsIDB4MDMsIDB4MDIsCi0gIDB4MTAsIDB4YTQsIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MTAsIDB4YTQsIDB4MzAsIDB4MDQsIDB4NjIsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWZ9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDJkLAotICAweGFmLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LAotICAweDEzLCAweGU1LCAweDRiLCAweGMzLCAweDk1LCAweDdkLCAweDUwLCAweDJhLCAweDMwLCAweDFkLCAweDEyLCAweGFmLCAweDRiLCAweDA1LCAweDRiLCAweDc0LAotICAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFmLCAweDRifX0sCi0gezB4MTAwNiwgNjQsIHsgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHhkMiwgMHgxMiwKLSAgMHg4MCwgMHg2YiwgMHhjMiwgMHgxMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHhjMiwgMHgwNCwgMHg4MCwgMHg2MCwgMHgzMCwgMHgxZCwgMHgxMiwKLSAgMHhhZiwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgyZCwgMHhhZiwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNX19LAotIHsweDEwNDYsIDY0LCB7IDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MTMsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWYsIDB4NGIsIDB4MDUsCi0gIDB4NGIsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWYsCi0gIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsCi0gIDB4ZDIsIDB4MTIsIDB4ODAsIDB4MDksIDB4YzIsIDB4MTIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4MWR9fSwKLSB7MHgxMDg2LCA2NCwgeyAweDA0LCAweGEyLCAweDJkLCAweDkyLCAweGMzLCAweGQyLCAweDIyLCAweGMyLCAweGFmLCAweDg1LCAweDEzLCAweGMxLCAweDIwLCAweDEyLCAweDBkLCAweDMwLCAweDE2LAotICAweDBhLCAweGMyLCAweDE2LCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGMxLCAweDc0LCAweDAxLCAweGYwLCAweGQyLCAweGFmLCAweDkwLCAweDdmLCAweGMyLAotICAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDExLCAweDdhLCAweGU1LCAweDFhLCAweDcwLCAweDQ2LCAweDMwLCAweDBjLCAweDNmLCAweGU1LCAweDQwLAotICAweDcwLCAweDNiLCAweGEyLCAweDA5LCAweDMzLCAweGY1LCAweDMxLCAweGMyLCAweDA5LCAweGMyLCAweDBjLCAweGU0LCAweGY1LCAweDEyLCAweDdlfX0sCi0gezB4MTBjNiwgNjQsIHsgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNiwgMHgyNSwgMHgxMiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgxNSwgMHg4NywgMHhmZiwgMHg3NCwKLSAgMHg4MCwgMHgyNSwgMHgxMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxMiwgMHhlNSwgMHgxMiwKLSAgMHhiNCwgMHgwYywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHg0MCwgMHgxMCwgMHgyMiwgMHg3NSwgMHgxYSwgMHgwMSwKLSAgMHgyMiwgMHhlNSwgMHgxYSwgMHg2NCwgMHgwMSwgMHg3MCwgMHg0NSwgMHgzMCwgMHgwZSwgMHgzZSwgMHhlNSwgMHg0MSwgMHg3MCwgMHgzYSwgMHhhMn19LAotIHsweDExMDYsIDY0LCB7IDB4MGEsIDB4MzMsIDB4ZjUsIDB4M2QsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MGUsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MzIsCi0gIDB4MjUsIDB4MTIsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MTUsIDB4ODcsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTIsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTIsIDB4ZTUsIDB4MTIsIDB4YjQsIDB4MGMsIDB4ZGIsIDB4OTAsCi0gIDB4N2YsIDB4YzMsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4NDEsIDB4MTAsIDB4NzUsIDB4MWEsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MWMsIDB4NjB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDMwLCAweDE1LCAweDFjLCAweGU0LCAweGY1LCAweDEyLCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDFiLCAweDI1LCAweDEyLCAweGY5LCAweGVlLCAweDM0LAotICAweDAwLCAweGZhLCAweDEyLCAweDE1LCAweDg3LCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDEyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LAotICAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDEyLCAweGU1LCAweDEyLCAweGI0LCAweDAzLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLAotICAweGU0LCAweGY1LCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDE2LCAweDE3LCAweDEyLCAweDQwLCAweDAwLCAweDEyfX0sCi0gezB4MTE4NiwgNjQsIHsgMHhiNCwgMHgwMSwgMHgxMywgMHgyMCwgMHgwMywgMHgxMSwgMHg5ZSwgMHgwNiwgMHgxMiwgMHgzMywgMHgwOCwgMHgxMiwgMHgyZCwgMHgwOSwgMHgxMiwgMHgyMCwgMHgwYSwKLSAgMHgxMywgMHg3NiwgMHgwYiwgMHgwMCwgMHgwMCwgMHgxMywgMHg2ZiwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwKLSAgMHg2MCwgMHg0MCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg2OSwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwKLSAgMHhkNSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNywgMHg0YiwgMHg4YiwgMHgxMn19LAotIHsweDExYzYsIDY0LCB7IDB4OGEsIDB4MTMsIDB4ODksIDB4MTQsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MTEsIDB4YWUsIDB4MDIsIDB4ZWUsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsCi0gIDB4ZWYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsCi0gIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTcsIDB4OWEsIDB4OGIsIDB4MTIsIDB4OGEsIDB4MTMsIDB4ODksIDB4MTQsCi0gIDB4ZWEsIDB4NDksIDB4NjAsIDB4MTEsIDB4YWUsIDB4MDIsIDB4ZWUsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsIDB4OTB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLAotICAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDEyLCAweDE0LCAweGMzLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweDAwLCAweDc0LAotICAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmfX0sCi0gezB4MTI0NiwgNjQsIHsgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMiwgMHgyNiwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwKLSAgMHhhMiwgMHgyYiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwKLSAgMHgwMiwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwKLSAgMHgwMiwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NH19LAotIHsweDEyODYsIDY0LCB7IDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsCi0gIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZTgsCi0gIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWF9fSwKLSB7MHgxMmM2LCA2NCwgeyAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDI2LCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLAotICAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLAotICAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzfX0sCi0gezB4MTMwNiwgNjQsIHsgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwKLSAgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgyNiwgMHg4MCwgMHgzZiwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMH19LAotIHsweDEzNDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsCi0gIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsCi0gIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4MjAsIDB4MjgsIDB4MDMsIDB4MDIsIDB4MTQsIDB4YzIsIDB4ZTUsIDB4NDB9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDYwLCAweDAyLCAweDE1LCAweDQwLCAweGU1LCAweDQ4LCAweDYwLCAweDRmLCAweDY1LCAweDQ0LCAweDcwLCAweDQ1LCAweGU1LCAweDQyLCAweGY0LCAweDYwLCAweDAyLAotICAweDA1LCAweDQyLCAweGU1LCAweDQyLCAweGMzLCAweDk1LCAweDU1LCAweDQwLCAweDNkLCAweGMyLCAweGFmLCAweDMwLCAweDAxLCAweDE4LCAweDkwLCAweDdmLAotICAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweDkwLCAweDdmLCAweGI3LCAweGU1LCAweDQ4LCAweGYwLCAweGMyLCAweDAxLCAweGU0LCAweGY1LCAweDQ4LAotICAweGY1LCAweDQyLCAweGY1LCAweDQ0LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwLCAweGUxLCAweDBmLCAweDkwLCAweDdmfX0sCi0gezB4MTNjNiwgNjQsIHsgMHhiOSwgMHhlNSwgMHg0OCwgMHhmMCwgMHhkMiwgMHgwMSwgMHhlNCwgMHhmNSwgMHg0OCwgMHhmNSwgMHg0MiwgMHhmNSwgMHg0NCwgMHhkMiwgMHhhZiwgMHg4MCwgMHgwNiwKLSAgMHg4NSwgMHg0OCwgMHg0NCwgMHhlNCwgMHhmNSwgMHg0MiwgMHhlNSwgMHgyZSwgMHg2MCwgMHgyZCwgMHgyMCwgMHgxOSwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5YiwKLSAgMHhlMCwgMHgzMCwgMHhlMCwgMHgwZSwgMHhlNSwgMHgyZiwgMHg2MCwgMHgwNSwgMHhlNCwgMHhmNSwgMHgyZiwgMHhkMiwgMHgwYywgMHhlNCwgMHhmNSwgMHgzZSwKLSAgMHg4MCwgMHgxMywgMHhlNSwgMHgzZSwgMHhkMywgMHg5NSwgMHg1NiwgMHg1MCwgMHgwYywgMHhlNSwgMHgzZSwgMHhiNSwgMHg1NiwgMHgwNSwgMHg3NX19LAotIHsweDE0MDYsIDY0LCB7IDB4MmYsIDB4MDEsIDB4ZDIsIDB4MGMsIDB4MDUsIDB4M2UsIDB4YzIsIDB4MTksIDB4ZTUsIDB4NDEsIDB4NjAsIDB4MDIsIDB4MTUsIDB4NDEsIDB4ZTUsIDB4NDksIDB4NjAsCi0gIDB4NGYsIDB4NjUsIDB4NDUsIDB4NzAsIDB4NDUsIDB4ZTUsIDB4NDMsIDB4ZjQsIDB4NjAsIDB4MDIsIDB4MDUsIDB4NDMsIDB4ZTUsIDB4NDMsIDB4YzMsIDB4OTUsCi0gIDB4NmQsIDB4NDAsIDB4M2QsIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDIsIDB4MTgsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4OTAsCi0gIDB4N2YsIDB4YmIsIDB4ZTUsIDB4NDksIDB4ZjAsIDB4YzIsIDB4MDIsIDB4ZTQsIDB4ZjUsIDB4NDksIDB4ZjUsIDB4NDMsIDB4ZjUsIDB4NDUsIDB4ODB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDE2LCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDIwLCAweGUxLCAweDBmLCAweDkwLCAweDdmLCAweGJkLCAweGU1LCAweDQ5LCAweGYwLCAweGQyLCAweDAyLCAweGU0LAotICAweGY1LCAweDQ5LCAweGY1LCAweDQzLCAweGY1LCAweDQ1LCAweGQyLCAweGFmLCAweDgwLCAweDA2LCAweDg1LCAweDQ5LCAweDQ1LCAweGU0LCAweGY1LCAweDQzLAotICAweGU1LCAweDNhLCAweDYwLCAweDJkLCAweDIwLCAweDFhLCAweDA3LCAweDkwLCAweDdmLCAweDlhLCAweGUwLCAweDMwLCAweGUyLCAweDBlLCAweGU1LCAweDNiLAotICAweDYwLCAweDA1LCAweGU0LCAweGY1LCAweDNiLCAweGQyLCAweDBlLCAweGU0LCAweGY1LCAweDNmLCAweDgwLCAweDEzLCAweGU1LCAweDNmLCAweGQzfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHg5NSwgMHg2ZSwgMHg1MCwgMHgwYywgMHhlNSwgMHgzZiwgMHhiNSwgMHg2ZSwgMHgwNSwgMHg3NSwgMHgzYiwgMHgwMSwgMHhkMiwgMHgwZSwgMHgwNSwgMHgzZiwgMHhjMiwKLSAgMHgxYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwKLSAgMHgxYywgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNSwgMHgxZCwgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywKLSAgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMywgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3Zn19LAotIHsweDE0YzYsIDY0LCB7IDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTQsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4OWEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NTQsIDB4ZmQsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ODQsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4YzcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4NzUsIDB4OTgsIDB4NDAsIDB4NDMsIDB4YTh9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDEwLCAweGMyLCAweDFiLCAweGMyLCAweDA1LCAweGMyLCAweDIxLCAweGMyLCAweDBiLCAweGMyLCAweDEzLCAweGY1LCAweDdjLCAweGY1LCAweDRhLCAweGMyLCAweDExLAotICAweGMyLCAweDE1LCAweGY1LCAweDQyLCAweGMyLCAweDE5LCAweGY1LCAweDQ0LCAweGY1LCAweDQ4LCAweGMyLCAweDIzLCAweGMyLCAweDFjLCAweGY1LCAweDJkLAotICAweGY1LCAweDJmLCAweGMyLCAweDA3LCAweGMyLCAweDAwLCAweGMyLCAweDFmLCAweGY1LCAweDNlLCAweGMyLCAweDA5LCAweGQyLCAweDBjLCAweGY1LCAweDI2LAotICAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDkwLCAweDdmLCAweGQxLCAweGYwLCAweDc1LCAweGMwLCAweDQwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHg0MywgMHhhOCwgMHg0MCwgMHhjMiwgMHgxZCwgMHhjMiwgMHgwNiwgMHhjMiwgMHgyMiwgMHhjMiwgMHgwZCwgMHhjMiwgMHgxNCwgMHhmNSwgMHg3ZCwgMHhmNSwgMHg0YiwKLSAgMHhjMiwgMHgxMiwgMHhjMiwgMHgxNiwgMHhmNSwgMHg0MywgMHhjMiwgMHgxYSwgMHhmNSwgMHg0NSwgMHhmNSwgMHg0OSwgMHhjMiwgMHgyNCwgMHhjMiwgMHgxZSwKLSAgMHhmNSwgMHgzOSwgMHhmNSwgMHgzYiwgMHhjMiwgMHgwOCwgMHhjMiwgMHgwMCwgMHhjMiwgMHgyMCwgMHhmNSwgMHgzZiwgMHhjMiwgMHgwYSwgMHhkMiwgMHgwZSwKLSAgMHg3NSwgMHgzMiwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHhkMiwgMHgyOH19LAotIHsweDE1ODYsIDY0LCB7IDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsCi0gIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsCi0gIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsCi0gIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTV9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLAotICAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGJiLCAweDAxLCAweDEwLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLAotICAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGYwLCAweGEzLCAweGUwLCAweDIyLCAweDUwLCAweDA5LCAweGU5LCAweDI1LCAweDgyLAotICAweGY4LCAweDg2LCAweGYwLCAweDA4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDBhLCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweGY1fX0sCi0gezB4MTYwNiwgNjQsIHsgMHhmMCwgMHgwOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MywgMHgyYSwgMHhmNSwgMHg4MywgMHhlOSwgMHg5MywgMHhmNSwgMHhmMCwgMHhhMywgMHhlOSwgMHg5MywgMHgyMiwKLSAgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywKLSAgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwKLSAgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHg3ZH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDIsIDB4MTYsIDB4ODQsIDB4MDIsIDB4MTYsIDB4YzksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsCi0gIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsCi0gIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsCi0gIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MTh9fSwKLSB7MHgxNjg2LCA2NCwgeyAweGM1LCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLAotICAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LAotICAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LAotICAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlfX0sCi0gezB4MTZjNiwgNjQsIHsgMHhlNywgMHg4MCwgMHhiZSwgMHg3NSwgMHgxMSwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwKLSAgMHhmZiwgMHhkMywgMHg5MiwgMHgyNiwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwKLSAgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YmMsIDB4ZDIsIDB4YmUsIDB4ZDIsIDB4MmQsCi0gIDB4MTIsIDB4MTgsIDB4N2YsIDB4YzIsIDB4MjcsIDB4YzIsIDB4MjUsIDB4YzIsIDB4MjgsIDB4MzAsIDB4MjgsIDB4MDMsIDB4MTIsIDB4MGEsIDB4ODMsIDB4OTAsCi0gIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTAsIDB4NjAsIDB4MDgsIDB4ZTAsIDB4ZjUsIDB4MTAsIDB4MTIsIDB4MTMsIDB4N2UsIDB4ODAsIDB4ZWEsIDB4MzAsCi0gIDB4MjcsIDB4MDcsIDB4YzIsIDB4MjcsIDB4MTIsIDB4MTEsIDB4N2IsIDB4ODAsIDB4ZTAsIDB4MzAsIDB4MmMsIDB4ZGQsIDB4YzIsIDB4MmMsIDB4MTJ9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDI2LCAweDgwLCAweGQ2LCAweDIyLCAweGU0LCAweGZlLCAweDc1LCAweDE3LCAweGZmLCAweDc1LCAweDE4LCAweDE5LCAweDc1LCAweDE5LCAweDEyLCAweGFiLAotICAweDE3LCAweGFhLCAweDE4LCAweGE5LCAweDE5LCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDE1LCAweGEwLCAweDY0LCAweDAyLCAweDcwLCAweDJkLCAweGFkLAotICAweDA2LCAweDBlLCAweGVkLCAweGI1LCAweDA3LCAweDAxLCAweDIyLCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweDE1LCAweGRmLCAweDg1LCAweGYwLCAweDE1LAotICAweGY1LCAweDE2LCAweDYyLCAweDE1LCAweGU1LCAweDE1LCAweDYyLCAweDE2LCAweGU1LCAweDE2LCAweDYyLCAweDE1LCAweDI5LCAweGZkLCAweGU1fX0sCi0gezB4MTc4NiwgNjQsIHsgMHgxNSwgMHgzYSwgMHhhOSwgMHgwNSwgMHg3NSwgMHgxNywgMHhmZiwgMHhmNSwgMHgxOCwgMHg4OSwgMHgxOSwgMHg4MCwgMHhjMywgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwKLSAgMHg3OSwgMHgwMCwgMHgyMiwgMHg4ZiwgMHgxNSwgMHhlNCwgMHhmNSwgMHgxNiwgMHg3NSwgMHgxNywgMHhmZiwgMHg3NSwgMHgxOCwgMHgxOSwgMHg3NSwgMHgxOSwKLSAgMHg4NiwgMHhhYiwgMHgxNywgMHhhYSwgMHgxOCwgMHhhOSwgMHgxOSwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgxNSwgMHhhMCwgMHhiNCwgMHgwMywgMHgxZCwKLSAgMHhhZiwgMHgxNiwgMHgwNSwgMHgxNiwgMHhlZiwgMHhiNSwgMHgxNSwgMHgwMSwgMHgyMiwgMHgxMiwgMHgxNSwgMHg4NywgMHg3ZSwgMHgwMCwgMHgyOX19LAotIHsweDE3YzYsIDY0LCB7IDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MTcsIDB4ZmYsIDB4ZjUsIDB4MTgsIDB4ODksIDB4MTksIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZjB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLAotICAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLAotICAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLAotICAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDI3LCAweDUzLCAweDkxLCAweGVmLCAweDkwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwKLSAgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwKLSAgMHhkMiwgMHgyYywgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwKLSAgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMH19LAotIHsweDE4ODYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MmQsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MDAsCi0gIDB4MDYsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsCi0gIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4YzF9fSwKLSB7MHgxOGM2LCA2NCwgeyAweGFhLCAweDAxLCAweDFhLCAweDAwLCAweDAzLCAweDFiLCAweDAzLCAweDAwLCAweDAwLCAweGMxLCAweDI3LCAweGMxLCAweDJjLCAweGMxLCAweDI2LCAweGMxLCAweDJiLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwZiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMSwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsIDY0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWE4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MTgsIDB4MzEsIDB4MDAsIDB4MDIsIDB4MWJ9fSwKLSB7MHgxYjA2LCAgOSwgeyAweDA0LCAweDAwLCAweDAyLCAweDE4LCAweDA3LCAweDAwLCAweDAyLCAweDE4LCAweDU4fX0sCi0gezB4ZmZmZiwgIDAsIHsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eF9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzg3ZWQ5Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eF9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQ3ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMjh4X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMjh4X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMjh4X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgxMiwgMHhmN319LAotIHsweDAwMDMsIDE2LCB7IDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjB9fSwKLSB7MHgwMDEzLCAxNiwgeyAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDkwfX0sCi0gezB4MDAyMywgMTUsIHsgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgwNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMn19LAotIHsweDAwNDYsIDE2LCB7IDB4MzAsIDB4MDksIDB4MTgsIDB4MTIsIDB4MTMsIDB4MWIsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2MsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4ZDgsIDB4OTB9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDA5LCAweGMyLCAweDAwLCAweDgwLCAweDc3LCAweDMwLCAweDAzLCAweDNiLCAweDkwLCAweDdmfX0sCi0gezB4MDA2NiwgMTYsIHsgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZX19LAotIHsweDAwNzYsIDE2LCB7IDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDQxLCAweDEyLCAweDBjLCAweGJhfX0sCi0gezB4MDA5NiwgMTYsIHsgMHhjMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMn19LAotIHsweDAwYTYsIDE2LCB7IDB4MTIsIDB4MTMsIDB4MWIsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDl9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkfX0sCi0gezB4MDBjNiwgMTYsIHsgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwYywgMHhiYSwgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3Zn19LAotIHsweDAwZDYsIDE2LCB7IDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4NjAsIDB4MTIsIDB4MTEsIDB4ZDYsIDB4OGZ9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDE5LCAweDEyLCAweDEzLCAweDI3LCAweDhmLCAweDM2LCAweGU1LCAweDE5LCAweGMzLCAweDk1LCAweDNhLCAweDUwLCAweDBmLCAweDEyLCAweDEyLCAweGVifX0sCi0gezB4MDBmNiwgMTYsIHsgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNiwgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYiwgMHg1ZSwgMHhjMiwgMHgwYiwgMHhlNSwgMHgxOX19LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDEzLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwZSwgMHgwMH19LAotIHsweDAxMDYsIDY0LCB7IDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzYsIDB4MDIsIDB4ZTUsIDB4MzYsIDB4MzAsIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsCi0gIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2UsCi0gIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzYsIDB4MTIsIDB4MGYsIDB4NGIsIDB4ZTUsIDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsCi0gIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDh9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDkwLCAweDdlLCAweDgwLCAweGU1LCAweDM2LCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDgxLCAweDEyLAotICAweDBjLCAweGRmLCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDkwLCAweDdmLCAweGNlLCAweGUwLCAweDMwLCAweGUxLCAweDA2LAotICAweDIwLCAweDA1LCAweDAzLCAweDAyLCAweDAzLCAweGMxLCAweGMyLCAweDA1LCAweGU0LCAweGY1LCAweDE4LCAweDc0LCAweDQwLCAweDI1LCAweDE4LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhfX0sCi0gezB4MDE4NiwgNjQsIHsgMHg3ZSwgMHg3OSwgMHgwMCwgMHgyNCwgMHgwMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgwMCwgMHhlMCwgMHg2MCwgMHg2OCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgyNCwKLSAgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg0MywgMHg0NiwKLSAgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHhlNCwgMHg5MH19LAotIHsweDAxYzYsIDY0LCB7IDB4N2UsIDB4MTMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MzUsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsCi0gIDB4ZmYsIDB4MTIsIDB4MTAsIDB4NWIsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4N2YsIDB4MDMsCi0gIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NDMsIDB4NDYsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDYsIDB4OTB9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLCAweDEzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLAotICAweDdlLCAweDEzLCAweGYwLCAweDc1LCAweDI1LCAweGZmLCAweDkwLCAweDdlLCAweDA1LCAweGUwLCAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLAotICAweGY1LCAweDQ0LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ0LCAweGYwLCAweDkwLCAweDdlLAotICAweDA3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQyLCAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQyfX0sCi0gezB4MDI0NiwgNjQsIHsgMHg3ZiwgMHg1MywgMHg0MiwgMHhmYywgMHg5MCwgMHg3ZSwgMHgwOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0MiwgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMCwgMHhhNywgMHg5MCwgMHg3ZSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHhjZCwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwKLSAgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MiwgMHg3ZiwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwgMHg3ZSwgMHgwYywKLSAgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZH19LAotIHsweDAyODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MGUsIDB4ZTAsIDB4NjAsCi0gIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTIsIDB4ZTAsIDB4ZjUsIDB4M2EsIDB4YTMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2MsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MTB9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLAotICAweDkwLCAweDdlLCAweDE2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ0LCAweGJmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LAotICAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDEyLCAweDEyLCAweGRmLAotICAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNlLCAweGZkLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyfX0sCi0gezB4MDMwNiwgNjQsIHsgMHgxMSwgMHhiMSwgMHhlNCwgMHhmNSwgMHgyYSwgMHhmNSwgMHgyOSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwKLSAgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3NSwgMHgyOSwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxOCwKLSAgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgxOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0NCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDAzNDYsIDY0LCB7IDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWEsIDB4ZTAsIDB4NjAsIDB4MGYsCi0gIDB4NTMsIDB4M2UsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NzUsIDB4MmIsIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsCi0gIDB4N2UsIDB4MWIsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsIDB4MDEsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4ZTQsCi0gIDB4ZjUsIDB4MmIsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWMsIDB4ZTAsIDB4NjAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTJ9fSwKLSB7MHgwMzg2LCA2NCwgeyAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBiLAotICAweDkwLCAweDdlLCAweDFlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDJjLCAweDAxLCAweGU0LCAweGY1LCAweDM4LCAweGQyLCAweDA3LCAweDkwLCAweDdlLAotICAweDFmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDE1LCAweGYwLAotICAweDc0LCAweDM1LCAweGYwLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM4fX0sCi0gezB4MDNjNiwgNjQsIHsgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOCwgMHgyMCwgMHgxMywgMHg0OSwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwKLSAgMHgzZSwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhkMiwgMHgxMywgMHgxMiwgMHgxMiwgMHhkZiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwKLSAgMHgxOSwgMHg2NSwgMHgyYSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyYSwgMHhkMiwgMHgwNywgMHgxMiwgMHgxMywgMHgzMywgMHhlZiwgMHg1NCwgMHg4MCwKLSAgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNiwgMHhkMiwgMHgwNywgMHgzMCwgMHgwZCwgMHgxMSwgMHgxMn19LAotIHsweDA0MDYsIDY0LCB7IDB4MTMsIDB4MzMsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjUsIDB4ZDIsIDB4MDcsIDB4MjAsCi0gIDB4MWIsIDB4MDMsIDB4MDIsIDB4MDcsIDB4ZWMsIDB4MzAsIDB4MGEsIDB4MTgsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2QsIDB4NDAsCi0gIDB4MDMsIDB4MDIsIDB4MDQsIDB4YWUsIDB4OTAsIDB4N2YsIDB4YzEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsCi0gIDB4MzAsIDB4MDQsIDB4M2IsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzN9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdkLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweDE0LCAweGY1LAotICAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LAotICAweDBkLCAweDQxLCAweDEyLCAweDBkLCAweDA0LCAweGMyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLAotICAweGNjLCAweGUwLCAweDIwLCAweGUxLCAweDMyLCAweDEyLCAweDEzLCAweDZmLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg3YywgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwKLSAgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3YywgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwZCwgMHgwNCwKLSAgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNSwKLSAgMHgzNiwgMHgxMiwgMHgxMiwgMHgyMCwgMHg4ZiwgMHgxOSwgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgzNywgMHhlNSwgMHgxOSwgMHhjMywgMHg5NX19LAotIHsweDA0YzYsIDY0LCB7IDB4M2IsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4NTcsIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzcsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MGMsCi0gIDB4NWUsIDB4YzIsIDB4MGMsIDB4ZTUsIDB4MTksIDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzcsIDB4MDIsIDB4ZTUsIDB4MzcsIDB4MzAsCi0gIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsCi0gIDB4N2QsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzcsIDB4MTIsIDB4MGYsIDB4ODQsIDB4ZTV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LAotICAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4LCAweDkwLCAweDdkLCAweDgwLCAweGU1LCAweDM3LCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDgxLCAweDc1LAotICAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgxLCAweDEyLCAweDBkLCAweDI5LCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDkwLAotICAweDdmLCAweGQwLCAweGUwLCAweDMwLCAweGUxLCAweDA2LCAweDIwLCAweDA2LCAweDAzLCAweDAyLCAweDA3LCAweDk3LCAweGMyLCAweDA2LCAweGU0fX0sCi0gezB4MDU0NiwgNjQsIHsgMHhmNSwgMHgxOCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwKLSAgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHgyMCwgMHgyNCwgMHgyMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwKLSAgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgyMCwgMHhlMCwgMHg2MCwgMHg2OCwKLSAgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgyNCwgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgwM319LAotIHsweDA1ODYsIDY0LCB7IDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MjEsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTEsIDB4MTksIDB4OTAsIDB4N2UsIDB4MjIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4M2YsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MzEsIDB4ZTAsCi0gIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLAotICAweGU1LCAweDQxLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLAotICAweDMzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDc1LCAweDJlLCAweGZmLCAweDkwLCAweDdlLCAweDI1LCAweGUwLAotICAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDQ1LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MDYwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MywKLSAgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0MywgMHg3ZiwgMHg1MywgMHg0MywgMHhmYywgMHg5MCwgMHg3ZSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0MywgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg2NSwgMHg5MCwgMHg3ZSwgMHgyYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg4YiwKLSAgMHhhZiwgMHg0MywgMHgxMiwgMHgxMCwgMHhmMywgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MywgMHg3ZiwgMHhhZn19LAotIHsweDA2NDYsIDY0LCB7IDB4NDMsIDB4MTIsIDB4MTAsIDB4ZjMsIDB4OTAsIDB4N2UsIDB4MmMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDIsCi0gIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsCi0gIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MmUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDEsIDB4ODAsIDB4MDMsCi0gIDB4NTMsIDB4NDcsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjB9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDkwLCAweDdlLCAweDMyLCAweGUwLCAweGY1LCAweDNiLCAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDNkLCAweGEzLCAweGUwLAotICAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdlLCAweDM2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ1LCAweGJmLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MDZjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHgxMiwgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZiwgMHhmZCwKLSAgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHhlNCwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMiwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwKLSAgMHgzNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3NSwgMHgzMiwKLSAgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzOCwgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMH19LAotIHsweDA3MDYsIDY0LCB7IDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MzksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4M2EsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NTMsIDB4M2YsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4NzUsIDB4MzQsIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2IsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDEsIDB4ZTR9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGY1LCAweDM0LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNjLCAweGUwLCAweDYwLCAweDBlLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweGU1LCAweDQxLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLAotICAweDNkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBjLCAweDkwLCAweDdlLCAweDNlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDM1LCAweDAxLCAweGU0LAotICAweGY1LCAweDM5LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDEzfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg3NCwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMSwgMHhmMCwKLSAgMHgzMCwgMHgxYSwgMHg1MiwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOSwgMHgzMCwgMHgxMywgMHg0OSwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwKLSAgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwgMHgzZSwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhjMiwgMHgxMywgMHgxMiwKLSAgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwgMHgxOSwgMHg2NSwgMHgzMywgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgzMywgMHhkMn19LAotIHsweDA3YzYsIDY0LCB7IDB4MDgsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmYsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmYsIDB4ZDIsCi0gIDB4MDgsIDB4MzAsIDB4MGUsIDB4MTEsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmUsIDB4NjAsIDB4MDUsCi0gIDB4ODUsIDB4MTksIDB4MmUsIDB4ZDIsIDB4MDgsIDB4MzAsIDB4MWEsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjMsIDB4OTAsCi0gIDB4N2IsIDB4NDAsIDB4ZTAsIDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsIDB4MTUsIDB4OTAsIDB4N2IsIDB4NDIsIDB4ZTAsIDB4ZjUsIDB4MTYsIDB4OTB9fSwKLSB7MHgwODA2LCA2NCwgeyAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLAotICAweGQzLCAweGYwLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA5LCAweDIwLCAweGU1LCAweDBhLCAweDcwLCAweDQwLAotICAweDMwLCAweDA3LCAweDM5LCAweGU1LCAweDM4LCAweDcwLCAweDM1LCAweGMyLCAweDA3LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LAotICAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1fX0sCi0gezB4MDg0NiwgNjQsIHsgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwKLSAgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOCwgMHgxMCwgMHhlNCwgMHhmNSwgMHgyYywgMHg3NSwgMHgwYSwgMHgwMSwgMHgyMiwKLSAgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMSwgMHg3MCwgMHg0MCwgMHgzMCwgMHgwOCwgMHgzOSwgMHhlNSwgMHgzOSwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwOCwgMHhmNSwKLSAgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMn19LAotIHsweDA4ODYsIDY0LCB7IDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsCi0gIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MTAsIDB4ZTQsCi0gIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MGEsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MzYsIDB4MzAsIDB4MTQsIDB4MmYsIDB4YzIsCi0gIDB4MTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MGUsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDB9fSwKLSB7MHgwOGM2LCA2NCwgeyAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLAotICAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA1LCAweGYwLCAweDc1LCAweDBhLAotICAweDAzLCAweDIyLCAweGU1LCAweDE1LCAweDYwLCAweDMwLCAweDE1LCAweDE1LCAweGU0LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LAotICAweDE0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1fX0sCi0gezB4MDkwNiwgNjQsIHsgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwKLSAgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgwYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwZSwKLSAgMHhlNCwgMHgwYSwgMHgwOCwgMHgwMCwgMHgwYSwgMHg3YywgMHgwMSwgMHgwYSwgMHhlOCwgMHgwMywgMHgwOSwgMHg0NCwgMHgwNiwgMHgwOSwgMHhmYiwgMHgwOCwKLSAgMHgwOSwgMHhmNSwgMHgwOSwgMHgwOSwgMHhkZCwgMHgwYSwgMHgwOSwgMHhlYywgMHgwYiwgMHgwMCwgMHgwMCwgMHgwYiwgMHgzNywgMHg5MCwgMHg3Zn19LAotIHsweDA5NDYsIDY0LCB7IDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MTQsIDB4NjAsIDB4NjEsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDksIDB4ZDMsIDB4NzQsCi0gIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksCi0gIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4N2IsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NzQsIDB4NzUsIDB4ODMsIDB4MTl9fSwKLSB7MHgwOTg2LCA2NCwgeyAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLAotICAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBmLAotICAweDBhLCAweGVhLCAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLCAweGQ1LCAweGYwfX0sCi0gezB4MDljNiwgNjQsIHsgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwOSwgMHgwMiwgMHgwYiwgMHgzZSwgMHgxMiwgMHgwYiwKLSAgMHg0NiwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMn19LAotIHsweDBhMDYsIDY0LCB7IDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsCi0gIDB4YTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MTYsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsCi0gIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LAotICAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyfX0sCi0gezB4MGE4NiwgNjQsIHsgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgxMCwgMHgwMiwgMHgwYiwgMHgzZSwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwKLSAgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwKLSAgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDBhYzYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsCi0gIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsCi0gIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4MTAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjB9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LAotICAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLAotICAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyfX0sCi0gezB4MGI0NiwgNjQsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxOCwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHhlNCwgMHhmNSwKLSAgMHgyNCwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYX19LAotIHsweDBiODYsIDY0LCB7IDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZDIsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2EsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsCi0gIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzYsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MTMsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4NDQsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsCi0gIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4ODEsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDQwLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDc1LCAweDQ2LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLAotICAweDEyLCAweDExLCAweGIxLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDExfX0sCi0gezB4MGMwNiwgNjQsIHsgMHhiMSwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg2YSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiMSwgMHgyMCwgMHgxYiwgMHgwMywgMHgwMiwKLSAgMHgwYywgMHhiNywgMHg3NSwgMHgyZCwgMHgwMSwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwKLSAgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYiwKLSAgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgxMywgMHhmNSwgMHgzNywgMHhjMiwgMHgwOCwgMHhjMiwgMHgwYywgMHhjMiwgMHgwNiwgMHhjMn19LAotIHsweDBjNDYsIDY0LCB7IDB4MDAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MTMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4NzUsIDB4NDUsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDMsIDB4MTIsIDB4MTAsCi0gIDB4ZjMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDEsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4NDcsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzR9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNmLCAweDEyLAotICAweDExLCAweGZiLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLAotICAweDdmLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDhiLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGZiLAotICAweGQyLCAweDEyLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyfX0sCi0gezB4MGNjNiwgNjQsIHsgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwKLSAgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgwOCwKLSAgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwKLSAgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDBkMDYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsCi0gIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsCi0gIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsCi0gIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDV9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LAotICAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLAotICAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweGQyLCAweDE5LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLAotICAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDEwLCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwKLSAgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwKLSAgMHgxYSwgMHgxMiwgMHgxMiwgMHg0NSwgMHhjMiwgMHgxMSwgMHhlNCwgMHhmNSwgMHgwYiwgMHhmNSwgMHgxMywgMHhjMiwgMHgxNywgMHhjMiwgMHgxMn19LAotIHsweDBkYzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YTEsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTcsIDB4NjAsIDB4MTAsIDB4MzAsIDB4MTIsIDB4MDUsIDB4ZDIsCi0gIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MTcsIDB4ODAsIDB4MDgsIDB4MzAsIDB4MTIsIDB4MDUsIDB4YzIsCi0gIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4MzAsIDB4MTEsIDB4MDcsIDB4YzIsIDB4MTEsIDB4MTIsIDB4MDksIDB4MjEsIDB4ODAsIDB4ZDYsIDB4MzAsIDB4MTgsCi0gIDB4ZDMsIDB4YzIsIDB4MTgsIDB4MTIsIDB4MTMsIDB4OTMsIDB4ODAsIDB4Y2MsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmR9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDc1LCAweDgxLCAweDQ3LCAweDAyLCAweDBlLCAweDQ3LCAweDAyLCAweDBkLCAweDZmLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLAotICAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LAotICAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LAotICAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwfX0sCi0gezB4MGU0NiwgNjQsIHsgMHg4MCwgMHg5MCwgMHgxMiwgMHhhYywgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwKLSAgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwKLSAgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwKLSAgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYX19LAotIHsweDBlODYsIDY0LCB7IDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsCi0gIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsCi0gIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksCi0gIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTV9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLAotICAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLAotICAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LAotICAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzfX0sCi0gezB4MGYwNiwgNjQsIHsgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg4ZiwgMHgxOCwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3NSwgMHgxYSwgMHhmZiwgMHg3NSwgMHgxYiwgMHgxOSwgMHg3NSwgMHgxYywKLSAgMHg4NiwgMHhhYiwgMHgxYSwgMHhhYSwgMHgxYiwgMHhhOSwgMHgxYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwZSwgMHhhNSwgMHhiNCwgMHgwMywgMHgxZCwKLSAgMHhhZiwgMHgxOSwgMHgwNSwgMHgxOSwgMHhlZiwgMHhiNSwgMHgxOCwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwZSwgMHg4YywgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwKLSAgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYSwgMHhmZiwgMHhmNSwgMHgxYiwgMHg4OSwgMHgxYywgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMH19LAotIHsweDBmNDYsIDY0LCB7IDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsCi0gIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsCi0gIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsCi0gIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MWEsIDB4ZWYsIDB4NDIsIDB4MzYsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4OGYsIDB4MWF9fSwKLSB7MHgwZjg2LCA2NCwgeyAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLAotICAweGYwLCAweDEyLCAweDEzLCAweDNmLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LAotICAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LCAweDYwLCAweDBhLCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDFhLAotICAweGVmLCAweDQyLCAweDM3LCAweDgwLCAweGNhLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwfX0sCi0gezB4MGZjNiwgNjQsIHsgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwKLSAgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwKLSAgMHgxMSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMH19LAotIHsweDEwMDYsIDY0LCB7IDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsCi0gIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsCi0gIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTB9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLAotICAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzfX0sCi0gezB4MTA4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NH19LAotIHsweDEwYzYsIDY0LCB7IDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsCi0gIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMTA2LCA2NCwgeyAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LAotICAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MTE0NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3Zn19LAotIHsweDExODYsIDY0LCB7IDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsCi0gIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMWM2LCA2NCwgeyAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLAotICAweDEzLCAweDBmLCAweDhmLCAweDFhLCAweDEyLCAweDEzLCAweDBmLCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLAotICAweDEzLCAweDBmLCAweDhmLCAweDFhLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDBmLCAweDhmLCAweDFiLCAweDgwLAotICAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxMywKLSAgMHg2MywgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwKLSAgMHg2NSwgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHg2MywgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOCwgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MH19LAotIHsweDEyNDYsIDY0LCB7IDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsCi0gIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTIsIDB4YzgsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsCi0gIDB4MDQsIDB4ZjAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2UsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2UsIDB4NDQsIDB4ODB9fSwKLSB7MHgxMjg2LCA2NCwgeyAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNmLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDExLCAweGZiLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNmLCAweDQ0LCAweDgwLAotICAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDIyLCAweDA1LCAweDBlLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDE0LCAweDAzLCAweDAwLAotICAweDAwLCAweGMxLCAweDExLCAweGMxLCAweDE4LCAweGMxLCAweDk1LCAweGMxLCAweDEwLCAweGMxLCAweDE2LCAweDAxLCAweDBhLCAweDAwLCAweGMxfX0sCi0gezB4MTJjNiwgNjQsIHsgMHg5YiwgMHgwMCwgMHg4ZSwgMHgxOCwgMHg4ZiwgMHgxOSwgMHhlNSwgMHgxOSwgMHgxNSwgMHgxOSwgMHhhZSwgMHgxOCwgMHg3MCwgMHgwMiwgMHgxNSwgMHgxOCwgMHg0ZSwKLSAgMHg2MCwgMHgwNSwgMHgxMiwgMHgwZCwgMHg0ZSwgMHg4MCwgMHhlZSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhlNywgMHgwMCwgMHgwMiwgMHgxM319LAotIHsweDEzMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MGYsIDB4YmQsIDB4MDAsIDB4MDIsIDB4MTAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmfX0sCi0gezB4MTM4NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHgxMiwgMHgwMCwgMHgwMywgMHgxMiwKLSAgMHgwZCwgMHg1ZiwgMHgxMiwgMHgwYiwgMHg0NiwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MThjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MTAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDB9fSwKLSB7MHgxYTA2LCAgNCwgeyAweDcyLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwgIDAsICB7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4YV9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4YV9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YjU2Njc4Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eGFfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0OSArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTI4eGFfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2EyOHhhLmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTI4eGFfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDEyLCAweGY5fX0sCi0gezB4MDAwMywgMTYsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMH19LAotIHsweDAwMTMsIDE2LCB7IDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwMDIzLCAxNSwgeyAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDA3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgwOSwgMHgxOCwgMHgxMiwgMHgxMywgMHgyNywgMHhlZiwgMHhjMywgMHg5NSwgMHgzYywgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkOCwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsIDB4MzAsIDB4MDMsIDB4M2IsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDI3LCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdlfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MH19LAotIHsweDAwODYsIDE2LCB7IDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGMsIDB4Yzh9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGMyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDMyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxMiwgMHgxMywgMHgyNywgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOX19LAotIHsweDAwYjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2R9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBjLCAweGM4LCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHg2MCwgMHgxMiwgMHgxMSwgMHhlNCwgMHg4Zn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTksIDB4MTIsIDB4MTMsIDB4MzMsIDB4OGYsIDB4MzYsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTUsIDB4M2EsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4MGZ9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM2LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBiLCAweDVlLCAweGMyLCAweDBiLCAweGU1LCAweDE5fX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MTMsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDBlLCAweDBlfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNiwgMHgwMiwgMHhlNSwgMHgzNiwgMHgzMCwgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwKLSAgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZSwKLSAgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNiwgMHgxMiwgMHgwZiwgMHg1OSwgMHhlNSwgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwKLSAgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOH19LAotIHsweDAxNDYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4ODAsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsCi0gIDB4MGMsIDB4ZWQsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsCi0gIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzEsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTgsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2F9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDdlLCAweDc5LCAweDAwLCAweDI0LCAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLCAweDEyLCAweDBlLCAweGUwLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDY4LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDI0LAotICAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGJmLCAweDdmLCAweDAzLCAweDdkLCAweGNkLCAweDEyLCAweDExLCAweGJmLCAweDQzLCAweDQ2LAotICAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweGU0LCAweDkwfX0sCi0gezB4MDFjNiwgNjQsIHsgMHg3ZSwgMHgxMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgwMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHg0MywgMHg5MCwgMHg3ZSwgMHgwMiwgMHhlMCwKLSAgMHhmZiwgMHgxMiwgMHgxMCwgMHg2OSwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgxMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiZiwgMHg3ZiwgMHgwMywKLSAgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiZiwgMHg0MywgMHg0NiwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNiwgMHg5MH19LAotIHsweDAyMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsCi0gIDB4N2UsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4MjUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsCi0gIDB4ZjUsIDB4NDQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDQsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4MDcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDIsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDJ9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDdmLCAweDUzLCAweDQyLCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQyLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLAotICAweDEwLCAweGI1LCAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweGRiLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDhmLCAweDkwLAotICAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQyLCAweDdmLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDhmLCAweDkwLCAweDdlLCAweDBjLAotICAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZkfX0sCi0gezB4MDI4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwZSwgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgzYSwgMHhhMywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgzYywgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgxMH19LAotIHsweDAyYzYsIDY0LCB7IDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDQsIDB4YmYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsCi0gIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MTIsIDB4ZWQsCi0gIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2UsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTJ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDExLCAweGJmLCAweGU0LCAweGY1LCAweDJhLCAweGY1LCAweDI5LCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLAotICAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGJmLCAweDc1LCAweDI5LCAweDAxLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE4LAotICAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQ0LCAweDQwLCAweDkwLCAweDdmLCAweDk4fX0sCi0gezB4MDM0NiwgNjQsIHsgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwgMHgwZiwKLSAgMHg1MywgMHgzZSwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiZiwgMHg3NSwgMHgyYiwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwKLSAgMHg3ZSwgMHgxYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwgMHgwMSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiZiwgMHhlNCwKLSAgMHhmNSwgMHgyYiwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMn19LAotIHsweDAzODYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGIsCi0gIDB4OTAsIDB4N2UsIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsCi0gIDB4MWYsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsCi0gIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4NTIsIDB4ZTUsIDB4Mzh9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDYwLCAweDAyLCAweDE1LCAweDM4LCAweDIwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLAotICAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGQyLCAweDEzLCAweDEyLCAweDEyLCAweGVkLCAweGVmLCAweDU0LCAweDAxLCAweGY1LAotICAweDE5LCAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJhLCAweGQyLCAweDA3LCAweDEyLCAweDEzLCAweDNmLCAweGVmLCAweDU0LCAweDgwLAotICAweGY1LCAweDE5LCAweDY1LCAweDI2LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI2LCAweGQyLCAweDA3LCAweDMwLCAweDBkLCAweDExLCAweDEyfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgxMywgMHgzZiwgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNSwgMHhkMiwgMHgwNywgMHgyMCwKLSAgMHgxYiwgMHgwMywgMHgwMiwgMHgwNywgMHhlYywgMHgzMCwgMHgwYSwgMHgxOCwgMHgxMiwgMHgxMywgMHg3YiwgMHhlZiwgMHhjMywgMHg5NSwgMHgzZCwgMHg0MCwKLSAgMHgwMywgMHgwMiwgMHgwNCwgMHhhZSwgMHg5MCwgMHg3ZiwgMHhjMSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywKLSAgMHgzMCwgMHgwNCwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHg3YiwgMHhlZiwgMHhjM319LAotIHsweDA0NDYsIDY0LCB7IDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4MTQsIDB4ZjUsCi0gIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2QsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsCi0gIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGQsIDB4MTIsIDB4YzIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsCi0gIDB4Y2MsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzIsIDB4MTIsIDB4MTMsIDB4N2IsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTB9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDdjLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLAotICAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdjLCAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdjLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBkLCAweDEyLAotICAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA1LAotICAweDM2LCAweDEyLCAweDEyLCAweDJlLCAweDhmLCAweDE5LCAweDEyLCAweDEzLCAweDg3LCAweDhmLCAweDM3LCAweGU1LCAweDE5LCAweGMzLCAweDk1fX0sCi0gezB4MDRjNiwgNjQsIHsgMHgzYiwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHg2MywgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNywgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYywKLSAgMHg1ZSwgMHhjMiwgMHgwYywgMHhlNSwgMHgxOSwgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNywgMHgwMiwgMHhlNSwgMHgzNywgMHgzMCwKLSAgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwKLSAgMHg3ZCwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNywgMHgxMiwgMHgwZiwgMHg5MiwgMHhlNX19LAotIHsweDA1MDYsIDY0LCB7IDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsCi0gIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDgsIDB4OTAsIDB4N2QsIDB4ODAsIDB4ZTUsIDB4MzcsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4ODEsIDB4NzUsCi0gIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsIDB4MGQsIDB4MzcsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZDAsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MDYsIDB4MDMsIDB4MDIsIDB4MDcsIDB4OTcsIDB4YzIsIDB4MDYsIDB4ZTR9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGY1LCAweDE4LCAweDc0LCAweGMwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LAotICAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDIwLCAweDI0LCAweDIwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLAotICAweDEyLCAweDBlLCAweGUwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDIwLCAweGUwLCAweDYwLCAweDY4LAotICAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDI0LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDEyLCAweDA5LCAweDdmLCAweDAzfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMiwgMHgwOSwgMHg0MywgMHg0NywgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlNSwgMHg0NywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgyMSwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMSwgMHgyNywgMHg5MCwgMHg3ZSwgMHgyMiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg0ZCwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgzMSwgMHhlMCwKLSAgMHhmZCwgMHgxMiwgMHgxMiwgMHgwOSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMiwgMHgwOSwgMHg0MywgMHg0NywgMHg4MCwgMHg5MH19LAotIHsweDA1YzYsIDY0LCB7IDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsCi0gIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsCi0gIDB4MzMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4NzUsIDB4MmUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MjUsIDB4ZTAsCi0gIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4NDUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGU1LCAweDQ1LCAweGYwLCAweDkwLCAweDdlLCAweDI3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQzLAotICAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQzLCAweDdmLCAweDUzLCAweDQzLCAweGZjLCAweDkwLCAweDdlLCAweDI5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQzLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDczLCAweDkwLCAweDdlLCAweDJiLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDk5LAotICAweGFmLCAweDQzLCAweDEyLCAweDExLCAweDAxLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQzLCAweDdmLCAweGFmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg0MywgMHgxMiwgMHgxMSwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgyYywgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMiwKLSAgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhmZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywKLSAgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMSwgMHg4MCwgMHgwMywKLSAgMHg1MywgMHg0NywgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMH19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MzIsIDB4ZTAsIDB4ZjUsIDB4M2IsIDB4YTMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2QsIDB4YTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MzYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDUsIDB4YmYsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDEyLCAweDEzLCAweDU3LCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNmLCAweGZkLAotICAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDA5LCAweGU0LCAweGY1LCAweDMzLCAweGY1LCAweDMyLCAweGQyLCAweDA4LCAweDkwLCAweDdlLAotICAweDM3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDA5LCAweDc1LCAweDMyLAotICAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDM4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgzOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0NSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgzYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgzZiwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgwOSwKLSAgMHg3NSwgMHgzNCwgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMSwgMHhlNH19LAotIHsweDA3NDYsIDY0LCB7IDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MDksIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2MsIDB4ZTAsIDB4NjAsIDB4MGUsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4M2QsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2UsIDB4M2UsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MzUsIDB4MDEsIDB4ZTQsCi0gIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2YsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTN9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE2LCAweGYwLCAweDc0LCAweDM2LCAweGYwLCAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGQxLCAweGYwLAotICAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM5LCAweDYwLCAweDAyLCAweDE1LCAweDM5LCAweDMwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LAotICAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLCAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGMyLCAweDEzLCAweDEyLAotICAweDEzLCAweDU3LCAweGVmLCAweDU0LCAweDAxLCAweGY1LCAweDE5LCAweDY1LCAweDMzLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDMzLCAweGQyfX0sCi0gezB4MDdjNiwgNjQsIHsgMHgwOCwgMHgxMiwgMHgxMywgMHg5MywgMHhlZiwgMHg1NCwgMHg4MCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyZiwgMHhkMiwKLSAgMHgwOCwgMHgzMCwgMHgwZSwgMHgxMSwgMHgxMiwgMHgxMywgMHg5MywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNSwKLSAgMHg4NSwgMHgxOSwgMHgyZSwgMHhkMiwgMHgwOCwgMHgzMCwgMHgxYSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwKLSAgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgxNSwgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNSwgMHgxNiwgMHg5MH19LAotIHsweDA4MDYsIDY0LCB7IDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDksIDB4MjAsIDB4ZTUsIDB4MGEsIDB4NzAsIDB4NDAsCi0gIDB4MzAsIDB4MDcsIDB4MzksIDB4ZTUsIDB4MzgsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDcsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM4LCAweDEwLCAweGU0LCAweGY1LCAweDJjLCAweDc1LCAweDBhLCAweDAxLCAweDIyLAotICAweGU1LCAweDBhLCAweDY0LCAweDAxLCAweDcwLCAweDQwLCAweDMwLCAweDA4LCAweDM5LCAweGU1LCAweDM5LCAweDcwLCAweDM1LCAweGMyLCAweDA4LCAweGY1LAotICAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgwZSwgMHg5YSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwKLSAgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgxMCwgMHhlNCwKLSAgMHhmNSwgMHgzNSwgMHg3NSwgMHgwYSwgMHgwMiwgMHgyMiwgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgzNiwgMHgzMCwgMHgxNCwgMHgyZiwgMHhjMiwKLSAgMHgxNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwZSwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMH19LAotIHsweDA4YzYsIDY0LCB7IDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsCi0gIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDUsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4NzUsIDB4MGEsCi0gIDB4MDMsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4NjAsIDB4MzAsIDB4MTUsIDB4MTUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MTQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwOTA2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDAzLCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDBhLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBlLAotICAweGYyLCAweDBhLCAweDA4LCAweDAwLCAweDBhLCAweDdjLCAweDAxLCAweDBhLCAweGU4LCAweDAzLCAweDA5LCAweDQ0LCAweDA2LCAweDA5LCAweGZiLCAweDA4LAotICAweDA5LCAweGY1LCAweDA5LCAweDA5LCAweGRkLCAweDBhLCAweDA5LCAweGVjLCAweDBiLCAweDAwLCAweDAwLCAweDBiLCAweDM3LCAweDkwLCAweDdmfX0sCi0gezB4MDk0NiwgNjQsIHsgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgxNCwgMHg2MCwgMHg2MSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwOSwgMHhkMywgMHg3NCwKLSAgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwKLSAgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3YiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3NCwgMHg3NSwgMHg4MywgMHgxOX19LAotIHsweDA5ODYsIDY0LCB7IDB4ZjAsIDB4NzUsIDB4ODIsIDB4NjYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsCi0gIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGYsCi0gIDB4MTgsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjB9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDA5LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDA5LCAweDAyLCAweDBiLCAweDNlLCAweDEyLCAweDBiLAotICAweDQ2LCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyfX0sCi0gezB4MGEwNiwgNjQsIHsgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwKLSAgMHhhMiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxNiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwKLSAgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3Zn19LAotIHsweDBhNDYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsCi0gIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDJ9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDEwLCAweDAyLCAweDBiLCAweDNlLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LAotICAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLAotICAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwKLSAgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwKLSAgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwKLSAgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgxMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMH19LAotIHsweDBiMDYsIDY0LCB7IDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsCi0gIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsCi0gIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLAotICAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE4LAotICAweGYwLCAweGU0LCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweGU0LCAweGY1LAotICAweDI0LCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhfX0sCi0gezB4MGI4NiwgNjQsIHsgMHhlNCwgMHgxMiwgMHgwZSwgMHhlMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYSwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwKLSAgMHhmNSwgMHgxMywgMHhmNSwgMHgzNiwgMHhjMiwgMHgwNywgMHhjMiwgMHgwYiwgMHhjMiwgMHgwNSwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgxMywKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NSwgMHg0NCwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwKLSAgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiZiwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4ZiwgMHg5MCwgMHg3Zn19LAotIHsweDBiYzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDAsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4NDYsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsCi0gIDB4MTIsIDB4MTEsIDB4YmYsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YmYsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTF9fSwKLSB7MHgwYzA2LCA2NCwgeyAweGJmLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDc4LCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGJmLCAweDdmLCAweDEzLCAweDdkLCAweDAxLAotICAweDEyLCAweDExLCAweGJmLCAweDIwLCAweDFiLCAweDAzLCAweDAyLCAweDBjLCAweGM1LCAweDc1LCAweDJkLCAweDAxLCAweDc1LCAweDE4LCAweDAxLCAweDdiLAotICAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhLCAweGU0LCAweDEyLCAweDBlLCAweGUwLCAweDA1LCAweDE4LAotICAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNiLCAweDAxLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDEzLCAweGY1LCAweDM3fX0sCi0gezB4MGM0NiwgNjQsIHsgMHhjMiwgMHgwOCwgMHhjMiwgMHgwYywgMHhjMiwgMHgwNiwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgxMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwKLSAgMHhmMCwgMHg3NSwgMHg0NSwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMiwKLSAgMHgwOSwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MywgMHgxMiwgMHgxMSwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg3ZiwgMHgwMSwKLSAgMHg4ZiwgMHg0MSwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMH19LAotIHsweDBjODYsIDY0LCB7IDB4NzUsIDB4NDcsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MDksIDB4ZTQsIDB4ZmYsCi0gIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTIsIDB4MDksIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4OTksCi0gIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTIsIDB4MDksIDB4N2YsIDB4MTMsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MTIsIDB4MDksIDB4ZDJ9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDEyLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LAotICAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweDA1LAotICAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLAotICAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweDA1fX0sCi0gezB4MGQwNiwgNjQsIHsgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwKLSAgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNX19LAotIHsweDBkNDYsIDY0LCB7IDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsCi0gIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsCi0gIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4ZDIsIDB4MTksIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDEwLCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwLCAweGQyLCAweGU4LCAweDQzLAotICAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LAotICAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLAotICAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweDFhfX0sCi0gezB4MGRjNiwgNjQsIHsgMHgxMiwgMHgxMiwgMHg1MywgMHhjMiwgMHgxMSwgMHhlNCwgMHhmNSwgMHgwYiwgMHhmNSwgMHgxMywgMHhjMiwgMHgxNywgMHhjMiwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhhMSwKLSAgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxNywgMHg2MCwgMHgxMCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhkMiwgMHgxYSwgMHgxMiwKLSAgMHgwMCwgMHg0NiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxNywgMHg4MCwgMHgwOCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhjMiwgMHgxYSwgMHgxMiwKLSAgMHgwMCwgMHg0NiwgMHgzMCwgMHgxMSwgMHgwNywgMHhjMiwgMHgxMSwgMHgxMiwgMHgwOSwgMHgyMSwgMHg4MCwgMHhkNiwgMHgzMCwgMHgxOCwgMHhkM319LAotIHsweDBlMDYsIDY0LCB7IDB4YzIsIDB4MTgsIDB4MTIsIDB4MTMsIDB4OWYsIDB4ODAsIDB4Y2MsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4NDcsCi0gIDB4MDIsIDB4MGUsIDB4NTUsIDB4MDIsIDB4MGQsIDB4N2QsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsCi0gIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsCi0gIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDEyLAotICAweGJhLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLAotICAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LAotICAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4fX0sCi0gezB4MGU4NiwgNjQsIHsgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwKLSAgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwKLSAgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwKLSAgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNX19LAotIHsweDBlYzYsIDY0LCB7IDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsCi0gIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsCi0gIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsCi0gIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDF9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLAotICAweGRmLCAweDhmLCAweDE4LCAweGU0LCAweGY1LCAweDE5LCAweDc1LCAweDFhLCAweGZmLCAweDc1LCAweDFiLCAweDE5LCAweDc1LCAweDFjLCAweDg2LCAweGFiLAotICAweDFhLCAweGFhLCAweDFiLCAweGE5LCAweDFjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBlLCAweGIzLCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDE5LAotICAweDA1LCAweDE5LCAweGVmLCAweGI1LCAweDE4LCAweDAxLCAweDIyLCAweDEyLCAweDBlLCAweDlhLCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlfX0sCi0gezB4MGY0NiwgNjQsIHsgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYSwgMHhmZiwgMHhmNSwgMHgxYiwgMHg4OSwgMHgxYywgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwKLSAgMHgwMCwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwKLSAgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywgMHgwYywgMHg3MCwKLSAgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwgMHg2MH19LAotIHsweDBmODYsIDY0LCB7IDB4MGEsIDB4MTIsIDB4MTMsIDB4MzMsIDB4OGYsIDB4MWEsIDB4ZWYsIDB4NDIsIDB4MzYsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsCi0gIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsCi0gIDB4MTMsIDB4NGIsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsCi0gIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4ODcsIDB4OGYsIDB4MWEsIDB4ZWZ9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDQyLCAweDM3LCAweDgwLCAweGNhLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LAotICAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LAotICAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLAotICAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDExfX0sCi0gezB4MTAwNiwgNjQsIHsgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwKLSAgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwKLSAgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwKLSAgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDEwNDYsIDY0LCB7IDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjB9fSwKLSB7MHgxMDg2LCA2NCwgeyAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0fX0sCi0gezB4MTBjNiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywKLSAgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYn19LAotIHsweDExMDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDV9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LAotICAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwfX0sCi0gezB4MTE4NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwKLSAgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNX19LAotIHsweDExYzYsIDY0LCB7IDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsIDB4MWIsCi0gIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsIDB4MWIsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsIDB4MTMsIDB4MWIsCi0gIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4MWIsIDB4OGYsIDB4MWIsIDB4ODAsIDB4ZTh9fSwKLSB7MHgxMjA2LCA2NCwgeyAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBmLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBkLAotICAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLCAweDZmLCAweDhmLCAweDFhLCAweDEyLCAweDEzLCAweDZmLCAweDhmLAotICAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLCAweDEzLCAweDZmLCAweDhmLCAweDFhLCAweGU1LCAweDFhLCAweDY1fX0sCi0gezB4MTI0NiwgNjQsIHsgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHg2ZiwgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOCwgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwKLSAgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwKLSAgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxMiwgMHhkNiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwKLSAgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZSwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiZiwgMHg5MCwgMHg3Zn19LAotIHsweDEyODYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2UsIDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsIDB4MTEsCi0gIDB4YmYsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2YsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MDksIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2YsIDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsCi0gIDB4MTIsIDB4MDksIDB4MjIsIDB4MDUsIDB4MGUsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MTQsIDB4MDMsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMmM2LCA2NCwgeyAweGMxLCAweDExLCAweGMxLCAweDE4LCAweGMxLCAweDk1LCAweGMxLCAweDEwLCAweGMxLCAweDE2LCAweDAxLCAweDBhLCAweDAwLCAweGMxLCAweDliLCAweDAwLCAweDhlLAotICAweDE4LCAweDhmLCAweDE5LCAweGU1LCAweDE5LCAweDE1LCAweDE5LCAweGFlLCAweDE4LCAweDcwLCAweDAyLCAweDE1LCAweDE4LCAweDRlLCAweDYwLCAweDA1LAotICAweDEyLCAweDBkLCAweDVjLCAweDgwLCAweGVlLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLAotICAweGZmLCAweDIyLCAweDUzLCAweGQ4LCAweGVmLCAweDMyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBmLCAweGY1LCAweDAwLCAweDAyLCAweDEzfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhjYiwgMHgwMCwgMHgwMiwgMHgxMCwgMHgxYywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MH19LAotIHsweDEzNDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmZ9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDEyLCAweDAwLCAweDAzLCAweDEyLCAweDBkLCAweDZkLCAweDEyLCAweDBiLAotICAweDQ2LCAweDIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxNSwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsICA0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLCAgMCwgezB4MDB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eGJfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eGJfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjVmY2FkNC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhiX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NDggKzAsMCBAQAotLyoga2V5c3Bhbl91c2EyOHhiX2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMjl4Yl9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTI4eGJfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDAwLCAweDJkfX0sCi0gezB4MDAyZCwgIDQsIHsgMHg1MywgMHhkOCwgMHhlZiwgMHgzMn19LAotIHsweDAwNDYsIDE2LCB7IDB4MzAsIDB4MDksIDB4MTgsIDB4MTIsIDB4MTMsIDB4MzMsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2MsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4ZDgsIDB4OTB9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDA5LCAweGMyLCAweDAwLCAweDgwLCAweDc3LCAweDMwLCAweDAzLCAweDNiLCAweDkwLCAweDdmfX0sCi0gezB4MDA2NiwgMTYsIHsgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHgzMywgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZX19LAotIHsweDAwNzYsIDE2LCB7IDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDQxLCAweDEyLCAweDBjLCAweGNjfX0sCi0gezB4MDA5NiwgMTYsIHsgMHhjMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMn19LAotIHsweDAwYTYsIDE2LCB7IDB4MTIsIDB4MTMsIDB4MzMsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDl9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkfX0sCi0gezB4MDBjNiwgMTYsIHsgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwYywgMHhjYywgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3Zn19LAotIHsweDAwZDYsIDE2LCB7IDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4NjAsIDB4MTIsIDB4MTEsIDB4ZjUsIDB4OGZ9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDE5LCAweDEyLCAweDEzLCAweDNmLCAweDhmLCAweDM2LCAweGU1LCAweDE5LCAweGMzLCAweDk1LCAweDNhLCAweDUwLCAweDBmLCAweDEyLCAweDEzLCAweDFifX0sCi0gezB4MDBmNiwgMTYsIHsgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNiwgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYiwgMHg1ZSwgMHhjMiwgMHgwYiwgMHhlNSwgMHgxOX19LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDEzLCAweDAwfX0sCi0gezB4MDAwMywgMTYsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MH19LAotIHsweDAwMTMsIDE2LCB7IDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDB9fSwKLSB7MHgwMDIzLCAxMCwgeyAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwZSwgMHgxMn19LAotIHsweDAxMDYsIDY0LCB7IDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzYsIDB4MDIsIDB4ZTUsIDB4MzYsIDB4MzAsIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsCi0gIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2UsCi0gIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzYsIDB4MTIsIDB4MGYsIDB4NWQsIDB4ZTUsIDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsCi0gIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDh9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDkwLCAweDdlLCAweDgwLCAweGU1LCAweDM2LCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDgxLCAweDEyLAotICAweDBjLCAweGYxLCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDkwLCAweDdmLCAweGNlLCAweGUwLCAweDMwLCAweGUxLCAweDA2LAotICAweDIwLCAweDA1LCAweDAzLCAweDAyLCAweDAzLCAweGMxLCAweGU0LCAweGY1LCAweDE4LCAweDc0LCAweDQwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5fX0sCi0gezB4MDE4NiwgNjQsIHsgMHgwMCwgMHgyNCwgMHgwMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwZSwgMHhlNCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwKLSAgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgwMCwgMHhlMCwgMHg2MCwgMHg2OCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgyNCwgMHg3ZiwgMHgwMSwKLSAgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3ZiwgMHgwMywgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhkMCwgMHg0MywgMHg0NiwgMHg4MCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgxM319LAotIHsweDAxYzYsIDY0LCB7IDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4NTQsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTAsIDB4N2EsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsCi0gIDB4MTIsIDB4MTEsIDB4ZDAsIDB4NDMsIDB4NDYsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsCi0gIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDB9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGYwLCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLCAweDEzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLCAweDdlLCAweDEzLAotICAweGYwLCAweDc1LCAweDI1LCAweGZmLCAweDkwLCAweDdlLCAweDA1LCAweGUwLCAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDQ0LAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ0LCAweGYwLCAweDkwLCAweDdlLCAweDA3LCAweGUwLAotICAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQyLCAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQyLCAweDdmLCAweDUzfX0sCi0gezB4MDI0NiwgNjQsIHsgMHg0MiwgMHhmYywgMHg5MCwgMHg3ZSwgMHgwOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0MiwgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHhjNiwKLSAgMHg5MCwgMHg3ZSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHhlYywgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHhhMCwgMHg5MCwgMHg3ZSwgMHgwMywKLSAgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MiwgMHg3ZiwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHhhMCwgMHg5MCwgMHg3ZSwgMHgwYywgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZCwgMHg5MCwgMHg3Zn19LAotIHsweDAyODYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MGUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsCi0gIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsCi0gIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTIsIDB4ZTAsIDB4ZjUsIDB4M2EsIDB4YTMsIDB4ZTAsIDB4MTMsCi0gIDB4OTIsIDB4MGQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2MsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MTAsIDB4ODAsIDB4MDN9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDUzLCAweDQ2LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLAotICAweDE2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ0LCAweGJmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LAotICAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDEyLCAweDEzLCAweDBmLCAweGVmLCAweDU0LAotICAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNlLCAweGZkLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGQwfX0sCi0gezB4MDMwNiwgNjQsIHsgMHhlNCwgMHhmNSwgMHgyYSwgMHhmNSwgMHgyOSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwgMHgwMiwgMHhlNCwKLSAgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3NSwgMHgyOSwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxOCwgMHhlMCwgMHg2MCwKLSAgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwKLSAgMHgwMCwgMHg5MCwgMHg3ZSwgMHgxOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0NCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxM319LAotIHsweDAzNDYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWEsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NTMsIDB4M2UsCi0gIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4NzUsIDB4MmIsIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWIsCi0gIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsIDB4MDEsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4ZTQsIDB4ZjUsIDB4MmIsCi0gIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWMsIDB4ZTAsIDB4NjAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTV9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDQwLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBiLCAweDkwLCAweDdlLAotICAweDFlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDJjLCAweDAxLCAweGU0LCAweGY1LCAweDM4LCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDFmLCAweGUwLAotICAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDE1LCAweGYwLCAweDc0LCAweDM1LAotICAweGYwLCAweGQyLCAweDAzLCAweGMyLCAweDA1LCAweGU0LCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweDMwLCAweDFhLCAweDU0LCAweGU1LCAweDM4fX0sCi0gezB4MDNjNiwgNjQsIHsgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOCwgMHgyMCwgMHgxMywgMHg0YiwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwKLSAgMHg0MCwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhkMiwgMHgxMywgMHgxMiwgMHgxMywgMHgwZiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwKLSAgMHgxOSwgMHg2NSwgMHgyYSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyYSwgMHhkMiwgMHgwNywgMHgxMiwgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHg4MCwKLSAgMHg2NCwgMHg4MCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNiwgMHhkMiwgMHgwNywgMHgzMCwgMHgwZH19LAotIHsweDA0MDYsIDY0LCB7IDB4MTEsIDB4MTIsIDB4MTMsIDB4NGIsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjUsIDB4ZDIsCi0gIDB4MDcsIDB4MjAsIDB4MWIsIDB4MDMsIDB4MDIsIDB4MDcsIDB4ZjAsIDB4MzAsIDB4MGEsIDB4MTgsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4YzMsIDB4OTUsCi0gIDB4M2QsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4YjAsIDB4OTAsIDB4N2YsIDB4YzEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDAsCi0gIDB4ODAsIDB4NzcsIDB4MzAsIDB4MDQsIDB4M2IsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4ODd9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdkLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGUwLAotICAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkLCAweDdmLCAweDQxLCAweDc1LCAweDBjLAotICAweDdkLCAweDc1LCAweDBkLCAweDQxLCAweDEyLCAweDBkLCAweDE2LCAweGMyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDgwLCAweDM5LAotICAweDkwLCAweDdmLCAweGNjLCAweGUwLCAweDIwLCAweGUxLCAweDMyLCAweDEyLCAweDEzLCAweDg3LCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHgyOSwgMHg5MCwgMHg3YywgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwKLSAgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3YywgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwKLSAgMHgwZCwgMHgxNiwgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywKLSAgMHgwMiwgMHgwNSwgMHgzOCwgMHgxMiwgMHgxMiwgMHgzZiwgMHg4ZiwgMHgxOSwgMHgxMiwgMHgxMywgMHg5MywgMHg4ZiwgMHgzNywgMHhlNSwgMHgxOX19LAotIHsweDA0YzYsIDY0LCB7IDB4YzMsIDB4OTUsIDB4M2IsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzcsIDB4MjAsIDB4ZTcsIDB4MDMsCi0gIDB4MzAsIDB4MGMsIDB4NWUsIDB4YzIsIDB4MGMsIDB4ZTUsIDB4MTksIDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzcsIDB4MDIsIDB4ZTUsCi0gIDB4MzcsIDB4MzAsIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksCi0gIDB4MDgsIDB4N2UsIDB4N2QsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzcsIDB4MTIsIDB4MGZ9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDk2LCAweGU1LCAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLAotICAweDAzLCAweDc1LCAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4LCAweDkwLCAweDdkLCAweDgwLCAweGU1LCAweDM3LCAweGYwLCAweDdlLCAweDdkLCAweDdmLAotICAweDgxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgxLCAweDEyLCAweDBkLCAweDNiLCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGJiLAotICAweGYwLCAweDkwLCAweDdmLCAweGQwLCAweGUwLCAweDMwLCAweGUxLCAweDA2LCAweDIwLCAweDA2LCAweDAzLCAweDAyLCAweDA3LCAweDk5LCAweGU0fX0sCi0gezB4MDU0NiwgNjQsIHsgMHhmNSwgMHgxOCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwKLSAgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHgyMCwgMHgyNCwgMHgyMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwKLSAgMHgxMiwgMHgwZSwgMHhlNCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgyMCwgMHhlMCwgMHg2MCwgMHg2OCwKLSAgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgyNCwgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHg3ZiwgMHgwM319LAotIHsweDA1ODYsIDY0LCB7IDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTIsIDB4MWEsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MjEsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTEsIDB4MzgsIDB4OTAsIDB4N2UsIDB4MjIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4NWUsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MzEsIDB4ZTAsCi0gIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MWEsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTIsIDB4MWEsIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLAotICAweGU1LCAweDQxLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLAotICAweDMzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDc1LCAweDJlLCAweGZmLCAweDkwLCAweDdlLCAweDI1LCAweGUwLAotICAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDQ1LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MDYwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MywKLSAgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0MywgMHg3ZiwgMHg1MywgMHg0MywgMHhmYywgMHg5MCwgMHg3ZSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0MywgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg4NCwgMHg5MCwgMHg3ZSwgMHgyYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHhhYSwKLSAgMHhhZiwgMHg0MywgMHgxMiwgMHgxMSwgMHgxMiwgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MywgMHg3ZiwgMHhhZn19LAotIHsweDA2NDYsIDY0LCB7IDB4NDMsIDB4MTIsIDB4MTEsIDB4MTIsIDB4OTAsIDB4N2UsIDB4MmMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDIsCi0gIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsCi0gIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MmUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDEsIDB4ODAsIDB4MDMsCi0gIDB4NTMsIDB4NDcsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjB9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDkwLCAweDdlLCAweDMyLCAweGUwLCAweGY1LCAweDNiLCAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDNkLCAweGEzLCAweGUwLAotICAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdlLCAweDM2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ1LCAweGJmLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MDZjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHgxMiwgMHgxMywgMHg2MywgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZiwgMHhmZCwKLSAgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgxYSwgMHhlNCwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMiwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwKLSAgMHgzNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgxYSwgMHg3NSwgMHgzMiwKLSAgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzOCwgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMH19LAotIHsweDA3MDYsIDY0LCB7IDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MzksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4M2EsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NTMsIDB4M2YsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MWEsCi0gIDB4NzUsIDB4MzQsIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2IsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDEsIDB4ZTR9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDFhLCAweGU0LCAweGY1LCAweDM0LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNjLCAweGUwLCAweDYwLCAweDBlLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweGU1LCAweDQxLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLAotICAweDNkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBjLCAweDkwLCAweDdlLCAweDNlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDM1LCAweDAxLCAweGU0LAotICAweGY1LCAweDM5LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDEzfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg3NCwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwNCwgMHhjMiwgMHgwNiwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhkMSwgMHhmMCwgMHgzMCwgMHgxYSwgMHg1NCwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOSwgMHgzMCwgMHgxMywgMHg0YiwgMHhlNSwgMHgxMywKLSAgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwgMHg0MCwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhjMiwKLSAgMHgxMywgMHgxMiwgMHgxMywgMHg2MywgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwgMHgxOSwgMHg2NSwgMHgzMywgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOX19LAotIHsweDA3YzYsIDY0LCB7IDB4MzMsIDB4ZDIsIDB4MDgsIDB4MTIsIDB4MTMsIDB4OWYsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4NjQsIDB4ODAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmYsIDB4NjAsIDB4MDUsCi0gIDB4ODUsIDB4MTksIDB4MmYsIDB4ZDIsIDB4MDgsIDB4MzAsIDB4MGUsIDB4MTEsIDB4MTIsIDB4MTMsIDB4OWYsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksCi0gIDB4NjUsIDB4MmUsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmUsIDB4ZDIsIDB4MDgsIDB4MzAsIDB4MWEsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsCi0gIDB4MjAsIDB4ZTEsIDB4MjMsIDB4OTAsIDB4N2IsIDB4NDAsIDB4ZTAsIDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsIDB4MTUsIDB4OTAsIDB4N2IsIDB4NDJ9fSwKLSB7MHgwODA2LCA2NCwgeyAweGUwLCAweGY1LCAweDE2LCAweDkwLCAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LAotICAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweGQzLCAweGYwLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA5LCAweDI0LAotICAweGU1LCAweDBhLCAweDcwLCAweDQwLCAweDMwLCAweDA3LCAweDM5LCAweGU1LCAweDM4LCAweDcwLCAweDM1LCAweGMyLCAweDA3LCAweGY1LCAweDE4LCAweDdlLAotICAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDllfX0sCi0gezB4MDg0NiwgNjQsIHsgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOCwgMHgxMCwgMHhlNCwgMHhmNSwgMHgyYywKLSAgMHg3NSwgMHgwYSwgMHgwMSwgMHgyMiwgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMSwgMHg3MCwgMHg0MCwgMHgzMCwgMHgwOCwgMHgzOSwgMHhlNSwgMHgzOSwgMHg3MCwKLSAgMHgzNSwgMHhjMiwgMHgwOCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZX19LAotIHsweDA4ODYsIDY0LCB7IDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWUsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsCi0gIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsCi0gIDB4NzUsIDB4MzksIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MGEsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MzYsCi0gIDB4MzAsIDB4MTQsIDB4MmYsIDB4YzIsIDB4MTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MGUsIDB4MjUsIDB4MTh9fSwKLSB7MHgwOGM2LCA2NCwgeyAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDllLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LAotICAweDA1LCAweGYwLCAweDc1LCAweDBhLCAweDAzLCAweDIyLCAweGU1LCAweDE1LCAweDYwLCAweDMwLCAweDE1LCAweDE1LCAweGU0LCAweGY1LCAweDE4LCAweDdlLAotICAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDE0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDllfX0sCi0gezB4MDkwNiwgNjQsIHsgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgwYSwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhlOSwgMHhlMCwgMHgxMiwgMHgwZSwgMHhmNiwgMHgwYSwgMHgwYywgMHgwMCwgMHgwYSwgMHg4MCwgMHgwMSwgMHgwYSwgMHhlYywgMHgwMywgMHgwOSwgMHg0OCwKLSAgMHgwNiwgMHgwOSwgMHhmZiwgMHgwOCwgMHgwOSwgMHhmOSwgMHgwOSwgMHgwOSwgMHhlMSwgMHgwYSwgMHgwOSwgMHhmMCwgMHgwYiwgMHgwMCwgMHgwMH19LAotIHsweDA5NDYsIDY0LCB7IDB4MGIsIDB4M2IsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MTQsIDB4NjAsIDB4NjEsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsCi0gIDB4MDIsIDB4MDksIDB4ZDcsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsCi0gIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsCi0gIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4N2IsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODJ9fSwKLSB7MHgwOTg2LCA2NCwgeyAweDc0LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLAotICAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc0LCAweDE5LAotICAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGVhLAotICAweGUwLCAweGZmLCAweDEyLCAweDBmLCAweDFjLCAweGVhLCAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5fX0sCi0gezB4MDljNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwOSwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwOSwgMHgwMiwKLSAgMHgwYiwgMHg0MiwgMHgxMiwgMHgwYiwgMHg0YSwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MH19LAotIHsweDBhMDYsIDY0LCB7IDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsCi0gIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MTYsIDB4ZTQsIDB4MzMsCi0gIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsCi0gIDB4NDIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDJ9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LAotICAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLAotICAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLAotICAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlfX0sCi0gezB4MGE4NiwgNjQsIHsgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwKLSAgMHgxMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwKLSAgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4M319LAotIHsweDBhYzYsIDY0LCB7IDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsCi0gIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsCi0gIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4MTAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjR9fSwKLSB7MHgwYjA2LCA2NCwgeyAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LAotICAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwfX0sCi0gezB4MGI0NiwgNjQsIHsgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwKLSAgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxOCwgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhkZSwgMHhmMCwgMHhlNCwgMHhmNSwgMHgyNCwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOX19LAotIHsweDBiODYsIDY0LCB7IDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZTQsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2EsCi0gIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzYsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MDAsCi0gIDB4YzIsIDB4MDksIDB4YzIsIDB4MTMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4NDQsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDIsIDB4MTJ9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDEwLCAweGEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDQwLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDc1LCAweDQ2LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLAotICAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGQwLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNlLCAweDEyLAotICAweDExLCAweGQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1fX0sCi0gezB4MGMwNiwgNjQsIHsgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg4OSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhkMCwKLSAgMHg3ZiwgMHgxMywgMHg3ZCwgMHgwOSwgMHgxMiwgMHgxMSwgMHhkMCwgMHgyMCwgMHgxYiwgMHgwMywgMHgwMiwgMHgwYywgMHhjOSwgMHg3NSwgMHgyZCwgMHgwMSwKLSAgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwKLSAgMHgwZSwgMHhlNCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYiwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOX19LAotIHsweDBjNDYsIDY0LCB7IDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzcsIDB4YzIsIDB4MDgsIDB4YzIsIDB4MGMsIDB4YzIsIDB4MDYsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MTMsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4NzUsIDB4NDUsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsCi0gIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MWEsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDMsIDB4MTIsIDB4MTEsIDB4MTIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGEsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDEsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDQ3LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLAotICAweDEyLCAweDFhLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNmLCAweDEyLCAweDEyLCAweDFhLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDEyLCAweDFhLCAweDdmLAotICAweDAxLCAweDEyLCAweDEyLCAweGFhLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDEyLCAweDFhLCAweDdmLCAweDEzLCAweDdkLCAweDA5fX0sCi0gezB4MGNjNiwgNjQsIHsgMHgxMiwgMHgxMiwgMHgxYSwgMHhkMiwgMHgxMiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwKLSAgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywKLSAgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwKLSAgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MH19LAotIHsweDBkMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsCi0gIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsCi0gIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjV9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLAotICAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LAotICAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLAotICAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweGQyLCAweDE5LCAweDkwLCAweDdmLCAweDkyfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwKLSAgMHhmMCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwKLSAgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwZCwgMHhmMH19LAotIHsweDBkYzYsIDY0LCB7IDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MWEsIDB4MTIsIDB4MTIsIDB4NjQsIDB4YzIsIDB4MTEsIDB4ZTQsIDB4ZjUsIDB4MGIsIDB4ZjUsIDB4MTMsIDB4YzIsIDB4MTcsIDB4YzIsCi0gIDB4MTIsIDB4OTAsIDB4N2YsIDB4YTEsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTcsIDB4NjAsIDB4MTAsIDB4MzAsIDB4MTIsCi0gIDB4MDUsIDB4ZDIsIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MTcsIDB4ODAsIDB4MDgsIDB4MzAsIDB4MTIsCi0gIDB4MDUsIDB4YzIsIDB4MWEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4MzAsIDB4MTEsIDB4MDcsIDB4YzIsIDB4MTEsIDB4MTIsIDB4MDksIDB4MjUsIDB4ODB9fSwKLSB7MHgwZTA2LCA2NCwgeyAweGQ2LCAweDMwLCAweDE4LCAweGQzLCAweGMyLCAweDE4LCAweDEyLCAweDEzLCAweGFiLCAweDgwLCAweGNjLCAweDIyLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LAotICAweGZkLCAweDc1LCAweDgxLCAweDQ3LCAweDAyLCAweDBlLCAweDU5LCAweDAyLCAweDBkLCAweDgxLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLAotICAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LAotICAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwfX0sCi0gezB4MGU0NiwgNjQsIHsgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwKLSAgMHg0MCwgMHg4MCwgMHg5MCwgMHgxMiwgMHhjYiwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwKLSAgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwKLSAgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhM319LAotIHsweDBlODYsIDY0LCB7IDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsCi0gIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsCi0gIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsCi0gIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjJ9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLAotICAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LAotICAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLAotICAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzfX0sCi0gezB4MGYwNiwgNjQsIHsgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwKLSAgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg4ZiwgMHgxOCwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3NSwgMHgxYSwgMHhmZiwgMHg3NSwgMHgxYiwgMHgxOSwKLSAgMHg3NSwgMHgxYywgMHg4NiwgMHhhYiwgMHgxYSwgMHhhYSwgMHgxYiwgMHhhOSwgMHgxYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwZSwgMHhiNywgMHhiNCwKLSAgMHgwMywgMHgxZCwgMHhhZiwgMHgxOSwgMHgwNSwgMHgxOSwgMHhlZiwgMHhiNSwgMHgxOCwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwZSwgMHg5ZSwgMHg3ZX19LAotIHsweDBmNDYsIDY0LCB7IDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MWEsIDB4ZmYsIDB4ZjUsIDB4MWIsIDB4ODksIDB4MWMsIDB4ODAsIDB4ZDQsIDB4N2IsCi0gIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsCi0gIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4MDUsIDB4MGQsIDB4ZTUsCi0gIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTV9fSwKLSB7MHgwZjg2LCA2NCwgeyAweDA4LCAweGU1LCAweDA4LCAweDYwLCAweDBhLCAweDEyLCAweDEzLCAweDNmLCAweDhmLCAweDFhLCAweGVmLCAweDQyLCAweDM2LCAweDgwLCAweGNhLCAweDIyLCAweDhmLAotICAweDFhLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLAotICAweGU1LCAweDFhLCAweGYwLCAweDEyLCAweDEzLCAweDU3LCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLAotICAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LCAweDYwLCAweDBhLCAweDEyLCAweDEzfX0sCi0gezB4MGZjNiwgNjQsIHsgMHg5MywgMHg4ZiwgMHgxYSwgMHhlZiwgMHg0MiwgMHgzNywgMHg4MCwgMHhjYSwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywKLSAgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwKLSAgMHgyNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgwNywgMHhmMCwgMHhlNCwgMHg5MCwKLSAgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHgyMn19LAotIHsweDEwMDYsIDY0LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTEsCi0gIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsCi0gIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsCi0gIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDh9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwfX0sCi0gezB4MTA4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMn19LAotIHsweDEwYzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsCi0gIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTh9fSwKLSB7MHgxMTA2LCA2NCwgeyAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLAotICAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MTE0NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwKLSAgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDExODYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGJ9fSwKLSB7MHgxMWM2LCA2NCwgeyAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LAotICAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE3LCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLAotICAweDI3LCAweDhmLCAweDFhLCAweDEyLCAweDEzLCAweDI3LCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyfX0sCi0gezB4MTIwNiwgNjQsIHsgMHgxMywgMHgyNywgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHgyNywgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOCwKLSAgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxM319LAotIHsweDEyNDYsIDY0LCB7IDB4N2IsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjUsCi0gIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MWIsIDB4ODAsIDB4ZTgsIDB4YWYsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsCi0gIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsCi0gIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTIsIDB4ZTcsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDR9fSwKLSB7MHgxMjg2LCA2NCwgeyAweDA0LCAweGYwLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNlLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDExLCAweGQwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNlLCAweDQ0LCAweDgwLCAweGZkLCAweDEyLAotICAweDExLCAweGQwLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNmLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDEyLCAweDFhLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNmLCAweDQ0LCAweDgwfX0sCi0gezB4MTJjNiwgNjQsIHsgMHhmZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHgyMiwgMHgwNSwgMHgwZSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgxNCwgMHgwMywgMHgwMCwgMHgwMCwKLSAgMHhjMSwgMHgxMSwgMHhjMSwgMHgxOCwgMHhjMSwgMHg5NSwgMHhjMSwgMHgxMCwgMHhjMSwgMHgxNiwgMHgwMSwgMHgwYSwgMHgwMCwgMHhjMSwgMHg5YiwgMHgwMCwKLSAgMHg4ZSwgMHgxOCwgMHg4ZiwgMHgxOSwgMHhlNSwgMHgxOSwgMHgxNSwgMHgxOSwgMHhhZSwgMHgxOCwgMHg3MCwgMHgwMiwgMHgxNSwgMHgxOCwgMHg0ZSwgMHg2MCwKLSAgMHgwNSwgMHgxMiwgMHgwZCwgMHg2MCwgMHg4MCwgMHhlZSwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMiwgMHgxMCwgMHgwNiwgMHgwMCwgMHgwMiwgMHgxM319LAotIHsweDEzMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDIsIDB4MTAsIDB4MmQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmfX0sCi0gezB4MTM4NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHgxMiwgMHgwZiwgMHhjZiwgMHgxMiwgMHgwZCwgMHg3MSwgMHgxMiwgMHgwYiwgMHg0YSwgMHgyMiwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MThjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MTAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDB9fSwKLSB7MHgxYTA2LCAgNCwgeyAweDcyLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwgIDAsIHsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2E0OXdfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTQ5d19mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzI0ZGFjLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTQ5d19mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDY0ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhNDl3X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhNDl3X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhNDl3X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgxOCwgMHhmYn19LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGU0LCAweGZmLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGU1LCAweDE1fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgyNCwgMHgwNCwgMHhmZCwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmYSwgMHhhOSwgMHgwNSwgMHg3YiwgMHgwMSwgMHhlZiwgMHg3YywgMHgwMCwgMHgyOSwgMHhmOX19LAotIHsweDAwNjYsIDE2LCB7IDB4ZWMsIDB4M2EsIDB4ZmEsIDB4ZWUsIDB4MTIsIDB4MTEsIDB4ZjEsIDB4MGYsIDB4YmYsIDB4MjIsIDB4ZDcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDUsIDB4ZjV9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDAxLCAweDM0LCAweGU1LCAweDE1LCAweDI0LCAweDA5fX0sCi0gezB4MDA4NiwgMTYsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwYSwgMHhmNSwgMHg4Mn19LAotIHsweDAwOTYsIDE2LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NDcsIDB4ZTV9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGNmLCAweGYwLCAweDgwLCAweDQxfX0sCi0gezB4MDBiNiwgMTYsIHsgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNiwgMHg3Nn19LAotIHsweDAwYzYsIDE2LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MDAsIDB4MDN9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweDdmLCAweDAxLCAweGU1LCAweDE1LCAweDI0LCAweDA4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZkLCAweDEyfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxNiwgMHg0NywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgzMH19LAotIHsweDAwZjYsIDE2LCB7IDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjB9fSwKLSB7MHgwMDAzLCAxNiwgeyAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0fX0sCi0gezB4MDAxMywgMTYsIHsgMHgwMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNH19LAotIHsweDAwMjMsIDE2LCB7IDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDFiLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgxMCwgMHg5NX19LAotIHsweDAxMDYsIDY0LCB7IDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGN9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDNmLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDBkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDAyLCAweDRmLCAweGU1fX0sCi0gezB4MDE4NiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgxNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg0NywgMHhlNX19LAotIHsweDAxYzYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MGUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGZ9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDJmLCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDEwLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE1LCAweGU3LCAweGU1LCAweDE1LCAweDI0LCAweDExLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE2LCAweDE3LCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LCAweDgyLCAweGU0fX0sCi0gezB4MDI0NiwgNjQsIHsgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHhiNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHg0NCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNX19LAotIHsweDAyODYsIDY0LCB7IDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4NDQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTR9fSwKLSB7MHgwMmM2LCA2NCwgeyAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDE2LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDM1LCAweGY1LCAweDgyfX0sCi0gezB4MDMwNiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNX19LAotIHsweDAzNDYsIDY0LCB7IDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2IsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsCi0gIDB4MTUsIDB4MjQsIDB4MTksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4Nzh9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDFhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDZiLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGJmLCAweGYwLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0fX0sCi0gezB4MDNjNiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgxMiwgMHgwMCwKLSAgMHgzNiwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNiwgMHg0NywgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyYn19LAotIHsweDA0MDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWIsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NDcsIDB4ZTV9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDE1LCAweDI0LCAweDJiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLAotICAweGU1LCAweDE1LCAweDI0LCAweDFjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDcwLCAweDBlLCAweGU1LAotICAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDJhLCAweDkwLCAweDc4LCAweDQxLAotICAweDc0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlZiwgMHg2MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNX19LAotIHsweDA0YzYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWUsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NDcsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZTV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDFmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDBlLAotICAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI3LCAweGU1LCAweDE1LAotICAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAxLCAweGZmLCAweGYwLCAweGZkLCAweGU0LAotICAweGZmLCAweDEyLCAweDE2LCAweDQ3LCAweGU1LCAweDE1LCAweDI0LCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzfX0sCi0gezB4MDU0NiwgNjQsIHsgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMSwgMHhmNSwgMHg4Mn19LAotIHsweDA1ODYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MWYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDIzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDAzLCAweDEyLCAweDE4LCAweDg1LCAweGU1LCAweDE1LCAweDI0LCAweDI0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLAotICAweDYwLCAweDFiLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA4LAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweGZmLCAweGU1LCAweDE2LCAweGY0LCAweGZlLCAweGVmLCAweDVlLCAweGYwLCAweGU1LCAweDE1fX0sCi0gezB4MDYwNiwgNjQsIHsgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxNiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NSwgMHgxNiwKLSAgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgxMiwgMHgwMywgMHgwNywgMHg4MywgMHgwMCwgMHgwNywgMHhmNywgMHgwMSwgMHgwOCwKLSAgMHg2MywgMHgwMywgMHgwNiwgMHg0YywgMHgwNiwgMHgwNywgMHg3NCwgMHgwOCwgMHgwNywgMHg2OCwgMHgwOSwgMHgwNywgMHg1MCwgMHgwYSwgMHgwN319LAotIHsweDA2NDYsIDY0LCB7IDB4NWYsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MDgsIDB4YjIsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWMsIDB4MTQsIDB4NzAsIDB4MDMsCi0gIDB4MDIsIDB4MDYsIDB4ZmUsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDcsIDB4NDYsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsCi0gIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsCi0gIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MDQsIDB4N2YsIDB4MDMsIDB4ODB9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDAyLCAweDdmLCAweDAyLCAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweDZkLCAweDc1LCAweDgzLCAweDE5LAotICAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDVmLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LAotICAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDMwLCAweGUxLCAweDA0LCAweDdmLCAweDY0LCAweDgwLAotICAweDAyLCAweDdmLCAweDMyLCAweDc1LCAweDgyLCAweDFhLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweGVmLCAweGUwfX0sCi0gezB4MDZjNiwgNjQsIHsgMHhmZSwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMCwgMHg3YywgMHgwMCwgMHgyNCwgMHgwMCwgMHhmNSwgMHgxOSwgMHhlYywgMHgzZSwgMHhmNSwgMHgxOCwgMHg3NSwgMHgzMywKLSAgMHgxOSwgMHg3NSwgMHgzNCwgMHgxMiwgMHg3NSwgMHg4MiwgMHgxNCwgMHg3NSwgMHg4MywgMHgxOSwgMHhlMCwgMHg3NSwgMHgyNywgMHgwMCwgMHhmNSwgMHgyOCwKLSAgMHhkMywgMHhlNSwgMHgyOCwgMHg5NSwgMHgxOSwgMHhlNSwgMHgyNywgMHg5NSwgMHgxOCwgMHg0MCwgMHgwNiwgMHg4NSwgMHgxOCwgMHgyNywgMHg4NSwgMHgxOSwKLSAgMHgyOCwgMHgxMiwgMHgxMywgMHgxMiwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNCwgMHgyYn19LAotIHsweDA3MDYsIDY0LCB7IDB4ZWEsIDB4NDksIDB4NjAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTAsIDB4NzUsIDB4MTgsIDB4MDAsIDB4ZjUsIDB4MTksIDB4YWUsIDB4MDIsIDB4YWYsIDB4MDEsCi0gIDB4OGUsIDB4MzMsIDB4OGYsIDB4MzQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4OGUsIDB4MjcsIDB4ZjUsIDB4MjgsCi0gIDB4ZDMsIDB4OTUsIDB4MTksIDB4ZTUsIDB4MjcsIDB4OTUsIDB4MTgsIDB4NDAsIDB4MDYsIDB4ODUsIDB4MTgsIDB4MjcsIDB4ODUsIDB4MTksIDB4MjgsIDB4MTIsCi0gIDB4MTMsIDB4MTIsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Yjl9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDI1LCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDI1LCAweDAyLCAweDA4LAotICAweGI5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDIyLCAweDEyLCAweDBhLCAweGI4LCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweDAwLAotICAweGU1LCAweDIyLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGU4fX0sCi0gezB4MDc4NiwgNjQsIHsgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMiwgMHgwMCwgMHhlNCwgMHgzMywgMHhmZiwKLSAgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwNiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MH19LAotIHsweDA3YzYsIDY0LCB7IDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsCi0gIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksCi0gIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDgsIDB4Yjl9fSwKLSB7MHgwODA2LCA2NCwgeyAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDAwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LAotICAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmfX0sCi0gezB4MDg0NiwgNjQsIHsgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwKLSAgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwKLSAgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwKLSAgMHgwMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYX19LAotIHsweDA4ODYsIDY0LCB7IDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsCi0gIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MTEsIDB4NTQsIDB4MGYsIDB4NzB9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDAzLCAweDAyLCAweDA5LCAweGIyLCAweDEyLCAweDE2LCAweGE1LCAweGVmLCAweDIwLCAweGUxLCAweDc1LCAweDEyLCAweDE3LCAweDAzLCAweGVmLCAweDE0LCAweGY1LAotICAweDE5LCAweDEyLCAweDE4LCAweGNjLCAweGVmLCAweDI1LCAweDE5LCAweGZmLCAweGU0LCAweDMzLCAweGZlLCAweGMzLCAweGVmLCAweDk0LCAweDgwLCAweGVlLAotICAweDY0LCAweDgwLCAweDk0LCAweDgwLCAweDUwLCAweDU5LCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLAotICAweGZmLCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDMwLCAweGUwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyfX0sCi0gezB4MDkwNiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMCwgMHhlMiwgMHgxMiwgMHhlNSwgMHgxOSwgMHg2MCwgMHgwZSwgMHhmNSwgMHgyMywgMHhlZiwgMHgyNCwKLSAgMHgwMSwgMHhmNSwgMHgyZCwgMHhlNCwgMHgzZSwgMHhmNSwgMHgyYywgMHgxMiwgMHgxNCwgMHhhZCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNCwgMHhlM319LAotIHsweDA5NDYsIDY0LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4NWQsIDB4MTIsIDB4MTgsCi0gIDB4Y2MsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2IsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4ZWYsIDB4YzMsCi0gIDB4OWUsIDB4NTAsIDB4NDgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsCi0gIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2J9fSwKLSB7MHgwOTg2LCA2NCwgeyAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE2LCAweDQyLAotICAweDEzLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDEwLCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDI0LCAweDgwLCAweDAzLCAweDEyLCAweDEyLCAweGExLCAweDEyLCAweDE2LCAweGQ0LCAweGVmLCAweDMwLAotICAweGUxLCAweDAzLCAweDAyLCAweDBhLCAweGI3LCAweDEyLCAweDE3LCAweGQyLCAweDhmLCAweDE5LCAweDEyLCAweDE4LCAweGQ4LCAweGU1LCAweDE1fX0sCi0gezB4MDljNiwgNjQsIHsgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOSwgMHhjMywgMHg5ZiwgMHg1MCwgMHgyOCwgMHgxMiwgMHgxOCwgMHhiNCwKLSAgMHhlZiwgMHgzMCwgMHhlMCwgMHgyMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHgyMCwgMHhlNywgMHgxMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDBhMDYsIDY0LCB7IDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGEsIDB4YjcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NzAsIDB4MDMsIDB4MDIsIDB4MGEsIDB4YjcsIDB4YjQsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4MjksIDB4ZTUsIDB4MTl9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDIzLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLAotICAweGEzLCAweGEzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweDhjLCAweDJjLCAweGY1LCAweDJkLCAweDEyLCAweDEzLCAweGRkLCAweGU1LCAweDE5LCAweDI1LAotICAweGUwLCAweGZmLCAweDEyLCAweDE1LCAweDE5LCAweDIyLCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDNmLAotICAweDg1LCAweDE5LCAweDIzLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MGE4NiwgNjQsIHsgMHhmZiwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywKLSAgMHhlZiwgMHhmMCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHgyNCwgMHgwMSwKLSAgMHhmNSwgMHgyZCwgMHhlNCwgMHgzZSwgMHhmNSwgMHgyYywgMHgxMiwgMHgxNCwgMHg2YywgMHhlNSwgMHgxOSwgMHgwNCwgMHhmZiwgMHgxMiwgMHgxNSwgMHgxOSwKLSAgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhmMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5Nn19LAotIHsweDBhYzYsIDY0LCB7IDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NGEsIDB4MDQsIDB4ZjAsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsCi0gIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MWYsIDB4ZjAsIDB4OTAsIDB4NzgsCi0gIDB4NDMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4OWYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzV9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGVmLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDEyLCAweDBmLCAweDEyLAotICAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGVmLCAweGYwLAotICAweDc1LCAweDE2LCAweDAxLCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLAotICAweDdlLCAweDdlLCAweDdmLCAweDQwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweDc0LCAweDdlLCAweGYwLCAweGEzLCAweDc0fX0sCi0gezB4MGI0NiwgNjQsIHsgMHg0MCwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZSwgMHhmMCwKLSAgMHhhMywgMHg3NCwgMHg4MCwgMHhmMCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwKLSAgMHg5NiwgMHg3NCwgMHhkZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgwZiwgMHgxMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhkZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHhlNSwgMHgxNX19LAotIHsweDBiODYsIDY0LCB7IDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4YzAsIDB4ODUsCi0gIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4MDAsCi0gIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2UsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4N2UsCi0gIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4YmYsIDB4ZjB9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDc1LCAweDE2LCAweDA0LCAweDEyLCAweDBmLCAweDEyLCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLAotICAweDdmLCAweDk2LCAweDc0LCAweGJmLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAyLCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDQwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLAotICAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LCAweDQwLCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDgwLCAweDg1LCAweDE1LCAweDgyLCAweDg1fX0sCi0gezB4MGMwNiwgNjQsIHsgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwgMHg4MCwgMHhmMCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHg3ZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgwZiwgMHgxMiwKLSAgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHg3ZiwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NH19LAotIHsweDBjNDYsIDY0LCB7IDB4MDMsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4YzAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4NzQsIDB4N2MsIDB4ZjAsIDB4YTMsIDB4NzQsCi0gIDB4YzAsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4MDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2QsCi0gIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDksIDB4ZDIsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MTAsIDB4MDQsIDB4NTQsCi0gIDB4MDMsIDB4ZjUsIDB4MTAsIDB4MTQsIDB4NjAsIDB4MWYsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MTQsIDB4NjAsIDB4NDMsIDB4MjQsIDB4MDMsIDB4NzB9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDUyLCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGVmLCAweGYwLAotICAweDc1LCAweDE2LCAweDAxLCAweDgwLCAweDNkLCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLAotICAweDdmLCAweDk2LCAweDc0LCAweGRmLCAweGYwLCAweDc1LCAweDE2LCAweDAyLCAweDgwLCAweDI4LCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LAotICAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGJmLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDgwLCAweDEzfX0sCi0gezB4MGNjNiwgNjQsIHsgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHg3ZiwgMHhmMCwgMHg3NSwKLSAgMHgxNiwgMHgwOCwgMHhlNSwgMHgzMiwgMHg1NSwgMHgxNiwgMHg3MCwgMHgwMywgMHgwMiwgMHgwZSwgMHgxMSwgMHhlNSwgMHgxNiwgMHhmNCwgMHhmZiwgMHg1MiwKLSAgMHgzMiwgMHhlNSwgMHgyNiwgMHg1NCwgMHg3ZiwgMHhmZSwgMHg3MCwgMHgwZiwgMHhlNSwgMHgyYSwgMHg1NSwgMHgxNiwgMHg2MCwgMHgyNCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHhlMCwgMHg0NSwgMHgxNiwgMHhmMCwgMHg4MCwgMHgxYiwgMHhiZSwgMHgyMCwgMHgxOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNX19LAotIHsweDBkMDYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDksIDB4ZTQsIDB4ZjUsIDB4MmEsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsCi0gIDB4NWYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MDMsCi0gIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsCi0gIDB4MDMsIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGUsIDB4MTEsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4MTIsIDB4MDB9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDM2LCAweGVmLCAweDU0LCAweDAxLCAweGZmLCAweGY1LCAweDE5LCAweGU1LCAweDE1LCAweDI0LCAweDJjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDZmLCAweDYwLCAweDA3LCAweGU1LCAweDE5LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweDEyLCAweDE4LCAweGU0LCAweDhmLAotICAweDE5LCAweGU1LCAweDE1LCAweDI0LCAweDI3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE5LAotICAweDU0LCAweDEwLCAweGZlLCAweDZmLCAweDYwLCAweDA2LCAweGVlLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0fX0sCi0gezB4MGQ4NiwgNjQsIHsgMHgyOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOSwgMHg1NCwgMHg4MCwgMHhmZSwgMHg2ZiwgMHg2MCwKLSAgMHgwNiwgMHhlZSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOSwgMHg1NCwgMHgyMCwgMHhmZSwgMHg2ZiwgMHg2MCwgMHgxNSwgMHhlZSwgMHhmMCwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlNCwgMHgwNCwgMHhlNSwgMHgxNn19LAotIHsweDBkYzYsIDY0LCB7IDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTIsIDB4NTUsIDB4MTYsIDB4ZmYsIDB4ZjUsIDB4MTksIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NmYsIDB4NjAsIDB4MTYsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTUsIDB4MDQsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTcsIDB4NTUsCi0gIDB4MTYsIDB4ZmYsIDB4ZjUsIDB4MTksIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwZTA2LCA2NCwgeyAweGUwLCAweDZmLCAweDYwLCAweDA3LCAweGU1LCAweDE5LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweDIyLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDBmLAotICAweDExLCAweGU1LCAweDI0LCAweDE0LCAweDYwLCAweDJhLCAweDE0LCAweDYwLCAweDQxLCAweDE0LCAweDYwLCAweDU4LCAweDE0LCAweDYwLCAweDZmLCAweDI0LAotICAweDA0LCAweDYwLCAweDAzLCAweDAyLCAweDBlLCAweGNmLCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLAotICAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGVmLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDEyLCAweDEyLCAweGExLCAweDc1LCAweDI0LCAweDAxfX0sCi0gezB4MGU0NiwgNjQsIHsgMHgyMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhkZiwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgxMiwgMHhhMSwgMHg3NSwgMHgyNCwgMHgwMiwgMHgyMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhiZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMiwgMHgxMiwgMHhhMSwKLSAgMHg3NSwgMHgyNCwgMHgwMywgMHgyMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MH19LAotIHsweDBlODYsIDY0LCB7IDB4N2YsIDB4OTYsIDB4NzQsIDB4N2YsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MTIsIDB4YTEsIDB4NzUsIDB4MjQsIDB4MDQsIDB4MjIsIDB4MzAsIDB4MDQsCi0gIDB4MzMsIDB4YzIsIDB4MDQsIDB4NTMsIDB4MTMsIDB4ZGYsIDB4ZTQsIDB4ZjUsIDB4MTksIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmUsIDB4MjUsCi0gIDB4MTksIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MTEsIDB4YWIsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTksIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTksIDB4ZTUsIDB4MTksIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTB9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweDc1LCAweDI0LCAweDA1LCAweDIyLCAweGU1LCAweDM2LCAweDYwLCAweDNiLCAweGQ1LCAweDM2LCAweDBhLCAweDUzLAotICAweDEzLCAweGVmLCAweDMwLCAweDBhLCAweDA0LCAweGQyLCAweDA5LCAweGMyLCAweDBhLCAweGU0LCAweGY1LCAweDE5LCAweDdlLCAweDAwLCAweDdiLCAweDAwLAotICAweDc0LCAweDM1LCAweDI1LCAweDE5LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDExLCAweGFiLCAweGZmLCAweDc0LCAweDgwLCAweDI1LAotICAweDE5LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE5LCAweGU1LCAweDE5LCAweGI0fX0sCi0gezB4MGYwNiwgNjQsIHsgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgyNCwgMHgyMiwgMHhlNCwgMHhmNSwgMHgxYSwgMHg3ZSwgMHgwMCwKLSAgMHg3YiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNSwgMHgxYSwgMHhmOSwgMHhlZSwgMHgzNSwgMHgxNCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgxMSwgMHhmMSwgMHgwNSwKLSAgMHgxYSwgMHhlNSwgMHgxYSwgMHhiNCwgMHgzYywgMHhlOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNX19LAotIHsweDBmNDYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsCi0gIDB4MTIsIDB4MTYsIDB4NDcsIDB4N2YsIDB4MTAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MTUsIDB4YjcsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDB9fSwKLSB7MHgwZjg2LCA2NCwgeyAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweDc0LCAweDgwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDE2LCAweDQ3LCAweGU0LCAweGZmLAotICAweDdlLCAweGEzLCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVlLCAweGYwLCAweGZkLAotICAweDEyLCAweDE2LCAweDQ3LCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmfX0sCi0gezB4MGZjNiwgNjQsIHsgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxNiwgMHg0NywgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxNSwgMHg0ZiwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxNiwKLSAgMHg0NywgMHgyMiwgMHg1MywgMHgxMywgMHgzZiwgMHg5MCwgMHg3YiwgMHhmMSwgMHhlMCwgMHgzMCwgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwKLSAgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwKLSAgMHgwOCwgMHhjMSwgMHg5MCwgMHg3YywgMHgzMSwgMHhlMCwgMHgzMCwgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNH19LAotIHsweDEwMDYsIDY0LCB7IDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MDgsIDB4YzEsIDB4OTAsCi0gIDB4N2MsIDB4NzEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsCi0gIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTIsIDB4MDgsIDB4YzEsIDB4OTAsIDB4N2MsIDB4YjEsIDB4ZTAsCi0gIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweDk2LCAweDc0LCAweDdmLCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDA4LCAweGMxLCAweDA1LCAweDExLCAweGU1LCAweDExLCAweDU0LCAweDBmLCAweGY1LAotICAweDE4LCAweDcwLCAweDFmLCAweDkwLCAweDc4LCAweDQxLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDkwLCAweDdmLCAweDk5LCAweGUwLCAweGY1LCAweDE3LAotICAweDkwLCAweDc4LCAweDQxLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDkwLCAweDdmLCAweDk5LCAweGUwLCAweGY0LCAweGY1LCAweDEyLCAweDEyLCAweDExLAotICAweDIxLCAweDIyLCAweGU1LCAweDE4LCAweGI0LCAweDAxLCAweDA0LCAweDEyLCAweDBjLCAweDczLCAweDIyLCAweDkwLCAweDdmLCAweGMyLCAweGUwfX0sCi0gezB4MTA4NiwgNjQsIHsgMHgyMCwgMHhlMSwgMHgwOCwgMHhlNSwgMHgxMywgMHg2MCwgMHgwNCwgMHgxMiwgMHgwZSwgMHgxMiwgMHgyMiwgMHgxMiwgMHgwYywgMHg3MywgMHgyMiwgMHg3OCwgMHg3ZiwKLSAgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHgzNywgMHgwMiwgMHgxMCwgMHhkYywgMHgwMiwgMHgxMiwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywKLSAgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwKLSAgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMH19LAotIHsweDEwYzYsIDY0LCB7IDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsCi0gIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MTgsIDB4NTAsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsCi0gIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsCi0gIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4Zjh9fSwKLSB7MHgxMTA2LCA2NCwgeyAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LAotICAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDMwLCAweGUxLAotICAweDAzLCAweDAyLCAweDExLCAweGFhLCAweGMyLCAweDA5LCAweDkwLCAweDdiLCAweDQwLCAweGUwLCAweDE0LCAweDYwLCAweDI2LCAweDE0LCAweDYwLCAweDNiLAotICAweDE0LCAweDYwLCAweDUwLCAweDI0LCAweDgzLCAweDYwLCAweDY0LCAweDI0LCAweDgwLCAweDcwLCAweDYzLCAweDdlLCAweDdiLCAweDdmLCAweGMwfX0sCi0gezB4MTE0NiwgNjQsIHsgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgwMCwKLSAgMHg0NiwgMHg4MCwgMHg0YiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwKLSAgMHg3NCwgMHhkZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHgzMywgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwKLSAgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhiZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMn19LAotIHsweDExODYsIDY0LCB7IDB4MDAsIDB4NDYsIDB4ODAsIDB4MWIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTYsCi0gIDB4NzQsIDB4N2YsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MDMsIDB4MTIsIDB4MTcsIDB4NWMsIDB4ZTQsIDB4OTAsCi0gIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsCi0gIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDF9fSwKLSB7MHgxMWM2LCA2NCwgeyAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LAotICAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LAotICAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLAotICAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwKLSAgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywKLSAgMHg4MCwgMHhkZiwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgwMCwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMCwKLSAgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMH19LAotIHsweDEyNDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsCi0gIDB4OTAsIDB4N2YsIDB4YWYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MGIsCi0gIDB4MTIsIDB4MTgsIDB4MTQsIDB4YzIsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MmIsIDB4ZjUsIDB4MzEsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MDIsIDB4NzUsIDB4MjksCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDYsIDB4NzUsIDB4MzIsIDB4MGYsIDB4ZTAsIDB4ZjUsIDB4MjZ9fSwKLSB7MHgxMjg2LCA2NCwgeyAweDMwLCAweDAyLCAweDAzLCAweDEyLCAweDBmLCAweGQ5LCAweDMwLCAweDAxLCAweDA3LCAweGMyLCAweDAxLCAweDEyLCAweDA2LCAweDI5LCAweDgwLCAweGUyLCAweDMwLAotICAweDA4LCAweGRmLCAweGMyLCAweDA4LCAweDEyLCAweDE4LCAweDM1LCAweDgwLCAweGQ4LCAweDIyLCAweGU1LCAweDEzLCAweDU1LCAweDE2LCAweDYwLCAweDZhLAotICAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDVjLCAweGU1LCAweDE2LAotICAweGY0LCAweDUyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGZmLCAweGU0LCAweDM1LCAweDE0LCAweGZlLCAweGU0LCAweGZkLCAweDBmfX0sCi0gezB4MTJjNiwgNjQsIHsgMHhlZiwgMHhhYSwgMHgwNiwgMHg3MCwgMHgwMSwgMHgwZSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhmYywgMHg3NCwgMHg4MCwgMHgyZCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHgwZCwgMHhiZCwgMHgwYiwgMHhlMiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwKLSAgMHgwYiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgxMCwgMHhmMCwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNX19LAotIHsweDEzMDYsIDY0LCB7IDB4MjQsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MjgsIDB4NDUsIDB4MjcsIDB4NjAsCi0gIDB4NTcsIDB4YWUsIDB4MjcsIDB4YWYsIDB4MjgsIDB4ZDMsIDB4ZWYsIDB4OTQsIDB4NDAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4N2UsIDB4MDAsCi0gIDB4N2YsIDB4NDAsIDB4YzMsIDB4ZTUsIDB4MjgsIDB4OWYsIDB4ZjUsIDB4MjgsIDB4ZTUsIDB4MjcsIDB4OWUsIDB4ZjUsIDB4MjcsIDB4ZTQsIDB4ZmQsIDB4ZWQsCi0gIDB4YzMsIDB4OWYsIDB4ZTQsIDB4OWUsIDB4NTAsIDB4MWYsIDB4ODUsIDB4MzQsIDB4ODIsIDB4ODUsIDB4MzMsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4NzR9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweDAwLCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweDBkLCAweDA1LCAweDM0LCAweGU1LCAweDM0LCAweDcwLAotICAweDAyLCAweDA1LCAweDMzLCAweDgwLCAweGRhLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGVmLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU0LAotICAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGYwfX0sCi0gezB4MTM4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0YSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwKLSAgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHgzMCwgMHgwMCwgMHgwNywgMHhlNSwgMHgyOSwgMHg1NCwgMHhmMCwgMHhmZiwKLSAgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHhlZiwgMHg0NCwgMHgwOCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMH19LAotIHsweDEzYzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4ZjAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MmQsIDB4ZTUsIDB4MmQsIDB4YWUsIDB4MmMsIDB4NzAsIDB4MDIsCi0gIDB4MDUsIDB4MmMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MTgsIDB4ZjAsIDB4MDUsIDB4MmQsIDB4ZTUsCi0gIDB4MmQsIDB4YWMsIDB4MmMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MmMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTV9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDIzLCAweGU1LCAweDIzLCAweDYwLCAweDFmLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGMwLAotICAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZlLCAweDEyLCAweDE4LCAweGQ4LCAweDhmLCAweDFhLCAweGVlLCAweDRmLCAweGQwLCAweDgyLCAweGQwLCAweDgzLAotICAweGYwLCAweDgwLCAweGI1LCAweDIyLCAweDhmLCAweDFhLCAweGU0LCAweGY1LCAweDFiLCAweDc1LCAweDFjLCAweGZmLCAweDc1LCAweDFkLCAweDE5LCAweDc1LAotICAweDFlLCAweDg2LCAweGFiLCAweDFjLCAweGFhLCAweDFkLCAweGE5LCAweDFlLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDExLCAweGM0LCAweGI0fX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMywgMHgxZCwgMHhhZiwgMHgxYiwgMHgwNSwgMHgxYiwgMHhlZiwgMHhiNSwgMHgxYSwgMHgwMSwgMHgyMiwgMHgxMiwgMHgxMSwgMHhhYiwgMHg3ZSwgMHgwMCwgMHgyOSwKLSAgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYywgMHhmZiwgMHhmNSwgMHgxZCwgMHg4OSwgMHgxZSwgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwKLSAgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0ZiwgMHg3NCwgMHhjMCwgMHhmMCwKLSAgMHhlNCwgMHg5MCwgMHg3OCwgMHg1MCwgMHhmMCwgMHhlNSwgMHgyYywgMHg5MCwgMHg3OCwgMHg1MSwgMHhmMCwgMHhhZSwgMHgyYywgMHhlNSwgMHgyZH19LAotIHsweDE0ODYsIDY0LCB7IDB4OTAsIDB4NzgsIDB4NTIsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTQsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTcsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTUsIDB4ZjAsIDB4OTAsCi0gIDB4NzgsIDB4NTUsIDB4ZTAsIDB4NjAsIDB4ZmEsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4OTAsIDB4NzgsIDB4NGYsCi0gIDB4ZjAsIDB4YWUsIDB4MmMsIDB4ZTUsIDB4MmQsIDB4OTAsIDB4NzgsIDB4NTAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTEsIDB4NzQsIDB4YzAsIDB4ZjB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweGU0LCAweDkwLCAweDc4LCAweDUyLCAweGYwLCAweDkwLCAweDc4LCAweDU0LCAweGU1LCAweDIzLCAweGYwLCAweDkwLCAweDc4LCAweDU3LCAweDc0LCAweDA0LCAweGYwLAotICAweGU0LCAweDkwLCAweDc4LCAweDU1LCAweGYwLCAweDkwLCAweDc4LCAweDU1LCAweGUwLCAweDYwLCAweGZhLCAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLCAweDBmLCAweDE0LCAweDYwLCAweDEzLCAweDE0LCAweDYwLAotICAweDE3LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM3LCAweGVmLCAweGYwLCAweDgwLCAweDEzLCAweDkwLCAweDdmLCAweGM5LCAweGVmLCAweGYwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwKLSAgMHgyYSwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwKLSAgMHgwZiwgMHgxNCwgMHg2MCwgMHgxMywgMHgxNCwgMHg2MCwgMHgxNywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhlZiwgMHhmMCwgMHg4MCwgMHgxMywKLSAgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwgMHhiYiwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNSwgMHg5MH19LAotIHsweDE1NDYsIDY0LCB7IDB4N2YsIDB4YmQsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MmEsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NDcsIDB4OTAsIDB4NzgsCi0gIDB4NDEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NDcsIDB4MjIsIDB4YzAsIDB4ZTB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweGMwLCAweGYwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLAotICAweDc1LCAweGQwLCAweDA4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAxLCAweGYwLCAweDEyLCAweDEzLCAweDEyLCAweGQwLAotICAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGYwLCAweGQwLCAweGUwLCAweDMyLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDc4LCAweDQxfX0sCi0gezB4MTVjNiwgNjQsIHsgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwKLSAgMHgwNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNX19LAotIHsweDE2MDYsIDY0LCB7IDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsCi0gIDB4MDYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA3LCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDkwLAotICAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDQxfX0sCi0gezB4MTY4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZSwgMHgxNCwgMHg2MCwgMHgxMSwKLSAgMHgxNCwgMHg2MCwgMHgxNCwgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMH19LAotIHsweDE2YzYsIDY0LCB7IDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2MsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MGUsIDB4MTQsIDB4NjAsIDB4MTEsIDB4MTQsCi0gIDB4NjAsIDB4MTQsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjR9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLCAweDBlLCAweDE0LCAweDYwLCAweDExLCAweDE0LCAweDYwLAotICAweDE0LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGZmLCAweDIyLCAweDkwLAotICAweDdmLCAweGNiLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGZmLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLAotICAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwKLSAgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHhmNSwgMHgzNiwgMHg0MywgMHgxMywgMHgxMCwgMHhhMywgMHhlMCwKLSAgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHg5MCwgMHg3YiwgMHg0MywgMHhlMCwgMHhmNSwKLSAgMHgzNywgMHhhMywgMHhlMCwgMHg1NCwgMHhmMCwgMHhmNSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYSwgMHgyMiwgMHhjMCwgMHhlMH19LAotIHsweDE3ODYsIDY0LCB7IDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4NTMsIDB4OTEsCi0gIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsCi0gIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsCi0gIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDEyLCAweDE4LCAweGMwLCAweGFlLCAweDA3LAotICAweDEyLCAweDE4LCAweGMwLCAweGFkLCAweDA3LCAweGVlLCAweDZkLCAweDYwLCAweDEwLCAweDEyLCAweDE4LCAweGMwLCAweGFlLCAweDA3LCAweGVlLCAweDZkLAotICAweDYwLCAweDA3LCAweDEyLCAweDE4LCAweGMwLCAweGFkLCAweDA3LCAweDgwLCAweGVjLCAweGFmLCAweDA2LCAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LAotICAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MTgwNiwgNjQsIHsgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwKLSAgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgwYiwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwKLSAgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxOCwgMHg2YiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywKLSAgMHg3YywgMHgxMiwgMHgxOCwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgwYSwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MTIsIDB4MTgsIDB4NmIsIDB4MTIsIDB4MTgsIDB4OWUsIDB4MTIsIDB4MGEsIDB4YjgsIDB4MjIsIDB4MDMsIDB4MzUsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MmUsCi0gIDB4ODEsIDB4MDAsIDB4MDAsIDB4YzEsIDB4ODUsIDB4YzEsIDB4ODEsIDB4YzEsIDB4MDgsIDB4YzEsIDB4MDAsIDB4YzEsIDB4MDYsIDB4MDEsIDB4MjIsIDB4MDAsCi0gIDB4MDEsIDB4MjQsIDB4MDAsIDB4MDAsIDB4OGUsIDB4MTgsIDB4OGYsIDB4MTksIDB4ZTUsIDB4MTksIDB4MTUsIDB4MTksIDB4YWUsIDB4MTgsIDB4NzAsIDB4MDIsCi0gIDB4MTUsIDB4MTgsIDB4NGUsIDB4NjAsIDB4MDgsIDB4MTIsIDB4MTcsIDB4ZjMsIDB4MTIsIDB4MTcsIDB4ZjMsIDB4ODAsIDB4ZWIsIDB4MjIsIDB4ZTV9fSwKLSB7MHgxODg2LCA2NCwgeyAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDA0LCAweGZmLCAweDQ0LCAweDEwLCAweDkwLCAweDdmLAotICAweGQ3LCAweGYwLCAweGVmLCAweDQ0LCAweDMwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDBkLAotICAweDdlLCAweDAwLCAweDEyLCAweDE4LCAweDZiLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLAotICAweDc0LCAweDAyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwfX0sCi0gezB4MThjNiwgNjQsIHsgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwKLSAgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwKLSAgMHg3NCwgMHgwNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MGEsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDQsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MmQsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NzQsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MjAsCi0gIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDB9fSwKLSB7MHgxYTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWE0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDE3LCAweDg0LCAweDAwLCAweDAyLCAweDFifX0sCi0gezB4MWIwNiwgMjEsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgxNywgMHgzMiwgMHgwMCwgMHgwMiwgMHgxNywgMHhhYiwgMHgwMCwgMHgwMiwgMHgxYiwgMHgxMCwgMHgwMCwgMHgwMiwgMHgxYiwgMHgxNCwKLSAgMHgwMCwgMHgwMiwgMHgxNSwgMHg4NH19LAotIHsweGZmZmYsIDAsIHsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2E0OXdsY19mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhNDl3bGNfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmVmMDZhMy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2E0OXdsY19mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDc2ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhNDl3X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhNDl3X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMwotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotc3RhdGljIGNoYXIgdGhlRmlybXdhcmVEYXRlNDlbXSA9Ci0JIjAyLzE0LzIwMDIgIDAyOjM3cCAgICAgICAgICAgICAgMTksMzQ3IFVTQTQ5IjsKLQotCi0KLXN0YXRpYyBjaGFyIHRoZUZpcm13YXJlRGF0ZTY1W10gPQotCSIwMS8zMS8yMDAzICAwOTozNGEgICAgICAgICAgICAgIDE5LDMzMSBVU0E2NSI7Ci0KLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhNDl3bGNfZmlybXdhcmVbXSA9IHsKLSB7MHg3ZjkyLCAgMSwgeyAweDAxfX0sCi0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgxOCwgMHhmYn19LAotIHsweDAwMzYsIDEzLCB7IDB4ZTUsIDB4MTEsIDB4MDQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGU0LCAweGZmLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGU1LCAweDE1fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgyNCwgMHgwNCwgMHhmZCwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmYSwgMHhhOSwgMHgwNSwgMHg3YiwgMHgwMSwgMHhlZiwgMHg3YywgMHgwMCwgMHgyOSwgMHhmOX19LAotIHsweDAwNjYsIDE2LCB7IDB4ZWMsIDB4M2EsIDB4ZmEsIDB4ZWUsIDB4MTIsIDB4MTEsIDB4ZWMsIDB4MGYsIDB4YmYsIDB4MjIsIDB4ZDcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDUsIDB4ZjV9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDAxLCAweDM0LCAweGU1LCAweDE1LCAweDI0LCAweDA5fX0sCi0gezB4MDA4NiwgMTYsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwYSwgMHhmNSwgMHg4Mn19LAotIHsweDAwOTYsIDE2LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsIDB4ZTV9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGNmLCAweGYwLCAweDgwLCAweDQxfX0sCi0gezB4MDBiNiwgMTYsIHsgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgwMCwgMHgwM319LAotIHsweDAwYzYsIDE2LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4YWJ9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweDdmLCAweDAxLCAweGU1LCAweDE1LCAweDI0LCAweDA4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZkLCAweDEyfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxNiwgMHg2YiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgzMH19LAotIHsweDAwZjYsIDE2LCB7IDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjB9fSwKLSB7MHgwMDAzLCAxNiwgeyAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0fX0sCi0gezB4MDAxMywgMTYsIHsgMHhmMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNH19LAotIHsweDAwMjMsIDE2LCB7IDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDFiLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgxMCwgMHg5MH19LAotIHsweDAxMDYsIDY0LCB7IDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGN9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDNmLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDBkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDAyLCAweDRmLCAweGU1fX0sCi0gezB4MDE4NiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgxNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg2YiwgMHhlNX19LAotIHsweDAxYzYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MGUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGZ9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDJmLCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDEwLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE2LCAweDBiLCAweGU1LCAweDE1LCAweDI0LCAweDExLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE2LCAweDNiLCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LCAweDgyLCAweGU0fX0sCi0gezB4MDI0NiwgNjQsIHsgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHhkYiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHg0NCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNX19LAotIHsweDAyODYsIDY0LCB7IDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4NDQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTR9fSwKLSB7MHgwMmM2LCA2NCwgeyAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDE2LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDM1LCAweGY1LCAweDgyfX0sCi0gezB4MDMwNiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNX19LAotIHsweDAzNDYsIDY0LCB7IDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2IsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsCi0gIDB4MTUsIDB4MjQsIDB4MTksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4Nzh9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDFhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDZiLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGJmLCAweGYwLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0fX0sCi0gezB4MDNjNiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMSwgMHhmMCwgMHgxMiwgMHgwMCwKLSAgMHgzNiwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNiwgMHg2YiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyYn19LAotIHsweDA0MDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWIsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NmIsIDB4ZTV9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDE1LCAweDI0LCAweDJiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLAotICAweGU1LCAweDE1LCAweDI0LCAweDFjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDcwLCAweDBlLCAweGU1LAotICAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDJhLCAweDkwLCAweDc4LCAweDQxLAotICAweDc0LCAweGYyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlZiwgMHg2MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNX19LAotIHsweDA0YzYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWUsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NmIsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZTV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDFmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDBlLAotICAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI3LCAweGU1LCAweDE1LAotICAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAxLCAweGZmLCAweGYwLCAweGZkLCAweGU0LAotICAweGZmLCAweDEyLCAweDE2LCAweDZiLCAweGU1LCAweDE1LCAweDI0LCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzfX0sCi0gezB4MDU0NiwgNjQsIHsgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMSwgMHhmNSwgMHg4Mn19LAotIHsweDA1ODYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MWYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDIzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDAzLCAweDEyLCAweDE4LCAweDdhLCAweGU1LCAweDE1LCAweDI0LCAweDI0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLAotICAweDYwLCAweDIzLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA4LAotICAweGYwLCAweGU1LCAweDE2LCAweGM0LCAweDU0LCAweGYwLCAweGZmLCAweDQyLCAweDExLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDRmLCAweGYwfX0sCi0gezB4MDYwNiwgNjQsIHsgMHg5MCwgMHg3OCwgMHg0MSwgMHhlMCwgMHg0ZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg2MCwgMHgyNCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwKLSAgMHhmNywgMHhmMCwgMHhlNSwgMHgxNiwgMHhjNCwgMHg1NCwgMHhmMCwgMHhmNCwgMHhmZiwgMHg1MiwgMHgxMSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1ZiwKLSAgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhlMCwgMHg1ZiwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgxMSwgMHhmZX19LAotIHsweDA2NDYsIDY0LCB7IDB4MDcsIDB4OTksIDB4MDAsIDB4MDgsIDB4MGQsIDB4MDEsIDB4MDgsIDB4NzksIDB4MDMsIDB4MDYsIDB4NjIsIDB4MDYsIDB4MDcsIDB4OGEsIDB4MDgsIDB4MDcsIDB4N2UsCi0gIDB4MDksIDB4MDcsIDB4NjYsIDB4MGEsIDB4MDcsIDB4NzUsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MDgsIDB4YzgsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsCi0gIDB4ZmUsIDB4NjAsIDB4MWMsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDcsIDB4MTQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDcsIDB4NWMsCi0gIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2Z9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDMwLAotICAweGUwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLAotICAweDc1LCAweDgyLCAweDZkLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLAotICAweDVmLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhfX0sCi0gezB4MDZjNiwgNjQsIHsgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNCwgMHg3ZiwgMHg2NCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgzMiwgMHg3NSwgMHg4MiwgMHgxYSwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlZiwgMHhlMCwgMHhmZSwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMCwgMHg3YywgMHgwMCwgMHgyNCwgMHgwMCwgMHhmNSwgMHgxOCwKLSAgMHhlYywgMHgzZSwgMHhmNSwgMHgxNywgMHg3NSwgMHgzMywgMHgxOSwgMHg3NSwgMHgzNCwgMHgxMiwgMHg3NSwgMHg4MiwgMHgxNCwgMHg3NSwgMHg4MywgMHgxOSwKLSAgMHhlMCwgMHg3NSwgMHgyNywgMHgwMCwgMHhmNSwgMHgyOCwgMHhkMywgMHhlNSwgMHgyOCwgMHg5NSwgMHgxOCwgMHhlNSwgMHgyNywgMHg5NSwgMHgxN319LAotIHsweDA3MDYsIDY0LCB7IDB4NDAsIDB4MDYsIDB4ODUsIDB4MTcsIDB4MjcsIDB4ODUsIDB4MTgsIDB4MjgsIDB4MTIsIDB4MTMsIDB4MGQsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTQsIDB4NWYsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTAsIDB4NzUsIDB4MTcsIDB4MDAsCi0gIDB4ZjUsIDB4MTgsIDB4YWUsIDB4MDIsIDB4YWYsIDB4MDEsIDB4OGUsIDB4MzMsIDB4OGYsIDB4MzQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmUsCi0gIDB4YTMsIDB4ZTAsIDB4OGUsIDB4MjcsIDB4ZjUsIDB4MjgsIDB4ZDMsIDB4OTUsIDB4MTgsIDB4ZTUsIDB4MjcsIDB4OTUsIDB4MTcsIDB4NDAsIDB4MDZ9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweDg1LCAweDE3LCAweDI3LCAweDg1LCAweDE4LCAweDI4LCAweDEyLCAweDEzLCAweDBkLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLAotICAweDdmLCAweDAwLCAweGU1LCAweDI1LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweGY1LCAweDI1LCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDIyLCAweDEyLCAweDBhfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhjZSwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwKLSAgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwKLSAgMHg1YiwgMHhhMiwgMHgwMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwNiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHhlNH19LAotIHsweDA3YzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsCi0gIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsCi0gIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsCi0gIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4YjR9fSwKLSB7MHgwODA2LCA2NCwgeyAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyLAotICAweDYwLCAweDAzLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDAwLCAweDAyLCAweDA4LAotICAweGNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLAotICAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0fX0sCi0gezB4MDg0NiwgNjQsIHsgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwKLSAgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MH19LAotIHsweDA4ODYsIDY0LCB7IDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4MDAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsCi0gIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjB9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyLAotICAweGU1LCAweDEyLCAweDU0LCAweDBmLCAweDcwLCAweDAzLCAweDAyLCAweDA5LCAweGM4LCAweDEyLCAweDE2LCAweDlhLCAweGVmLCAweDIwLCAweGUxLCAweDc1LAotICAweDEyLCAweDE2LCAweGY4LCAweGVmLCAweDE0LCAweGY1LCAweDE4LCAweDEyLCAweDE4LCAweGM1LCAweGVmLCAweDI1LCAweDE4LCAweGZmLCAweGU0LCAweDMzLAotICAweGZlLCAweGMzLCAweGVmLCAweDk0LCAweDgwLCAweGVlLCAweDY0LCAweDgwLCAweDk0LCAweDgwLCAweDUwLCAweDU5LCAweDg1LCAweDE1LCAweDgyfX0sCi0gezB4MDkwNiwgNjQsIHsgMHg4NSwgMHgxNCwgMHg4MywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgxMSwgMHhlNSwKLSAgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHgwZiwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHhlNSwKLSAgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMCwgMHhlMiwgMHgxMiwgMHhlNX19LAotIHsweDA5NDYsIDY0LCB7IDB4MTgsIDB4NjAsIDB4MGUsIDB4ZjUsIDB4MjMsIDB4ZWYsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4MmQsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4MmMsIDB4MTIsIDB4MTQsIDB4YTAsCi0gIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTQsIDB4ZDcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4NWQsIDB4MTIsIDB4MTgsIDB4YzUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2IsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4ZWYsIDB4YzMsIDB4OWUsIDB4NTAsIDB4NDgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmYsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwOTg2LCA2NCwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdiLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDEwLCAweGU1LCAweDE1LAotICAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDI0LCAweDgwLCAweDAzLCAweDEyfX0sCi0gezB4MDljNiwgNjQsIHsgMHgxMiwgMHg5YywgMHgxMiwgMHgxNiwgMHhjOSwgMHhlZiwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwYSwgMHhjZCwgMHgxMiwgMHgxNywgMHhjNywgMHg4ZiwgMHgxOCwKLSAgMHgxMiwgMHgxOCwgMHhkMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHhjMywKLSAgMHg5ZiwgMHg1MCwgMHgyOCwgMHgxMiwgMHgxOCwgMHhhOSwgMHhlZiwgMHgzMCwgMHhlMCwgMHgyMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNX19LAotIHsweDBhMDYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4ZTcsIDB4MTIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGEsIDB4Y2QsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MGEsCi0gIDB4Y2QsIDB4YjQsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLAotICAweDMwLCAweGU3LCAweDI5LCAweGU1LCAweDE4LCAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE4LCAweDIwLCAweDg1LCAweDE4LCAweDIzLAotICAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweDhjLCAweDJjLCAweGY1LCAweDJkLAotICAweDEyLCAweDEzLCAweGNmLCAweGU1LCAweDE4LCAweDI1LCAweGUwLCAweGZmLCAweDEyLCAweDE1LCAweDBkLCAweDIyLCAweGU1LCAweDE4LCAweGQzfX0sCi0gezB4MGE4NiwgNjQsIHsgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOCwgMHgzZiwgMHg4NSwgMHgxOCwgMHgyMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywKLSAgMHhhMywgMHhlMCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywKLSAgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHgyNCwgMHgwMSwgMHhmNSwgMHgyZCwgMHhlNCwgMHgzZSwgMHhmNSwgMHgyYywgMHgxMiwgMHgxNCwgMHgxZH19LAotIHsweDBhYzYsIDY0LCB7IDB4ZTUsIDB4MTgsIDB4MDQsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4MGQsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsCi0gIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NGEsIDB4MDQsIDB4ZjAsCi0gIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MmYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDMsIDB4NzQsIDB4ZjcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjB9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweDlmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLAotICAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJlLCAweGYwLAotICAweDc1LCAweDE2LCAweDAxLCAweDEyLCAweDBmLCAweDI4LCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJlLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyfX0sCi0gezB4MGI0NiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywKLSAgMHg3NCwgMHg3ZSwgMHhmMCwgMHhhMywgMHg3NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwKLSAgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZSwgMHhmMCwgMHhhMywgMHg3NCwgMHg4MCwgMHhmMCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZCwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgwZn19LAotIHsweDBiODYsIDY0LCB7IDB4MjgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsCi0gIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4YzAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsCi0gIDB4YzAsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4MDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzR9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDdlLCAweGYwLCAweGEzLCAweDc0LCAweDAwLCAweGYwLCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDJiLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDEyLCAweDBmLCAweDI4LCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LAotICAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJiLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweGU1LCAweDE1LAotICAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAyLCAweGYwLCAweDdlLCAweDdkLCAweDdmfX0sCi0gezB4MGMwNiwgNjQsIHsgMHg0MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwKLSAgMHg4MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwgMHg4MCwgMHhmMCwKLSAgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyNywgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgwZiwgMHgyOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNX19LAotIHsweDBjNDYsIDY0LCB7IDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4YzAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsCi0gIDB4ODMsIDB4NzQsIDB4N2MsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4MDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsCi0gIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDl9fSwKLSB7MHgwYzg2LCA2NCwgeyAweGU0LCAweGY1LCAweDExLCAweGQyLCAweDAyLCAweDIyLCAweGU1LCAweDEwLCAweDA0LCAweDU0LCAweDAzLCAweGY1LCAweDEwLCAweDE0LCAweDYwLCAweDFmLCAweDE0LAotICAweDYwLCAweDMxLCAweDE0LCAweDYwLCAweDQzLCAweDI0LCAweDAzLCAweDcwLCAweDUyLCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLAotICAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJlLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDgwLCAweDNkLCAweDdlLCAweDdjLAotICAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJkLCAweGYwLCAweDc1fX0sCi0gezB4MGNjNiwgNjQsIHsgMHgxNiwgMHgwMiwgMHg4MCwgMHgyOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgyYiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHg4MCwgMHgxMywgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwKLSAgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyNywgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHhlNSwgMHgzMiwgMHg1NSwgMHgxNiwgMHg3MCwKLSAgMHgwMywgMHgwMiwgMHgwZSwgMHgyNywgMHhlNSwgMHgxNiwgMHhmNCwgMHg1MiwgMHgzMiwgMHhlNSwgMHgyNiwgMHg1NCwgMHg3ZiwgMHhmZiwgMHg3MH19LAotIHsweDBkMDYsIDY0LCB7IDB4MTcsIDB4ZTUsIDB4MmEsIDB4NTUsIDB4MTYsIDB4NjAsIDB4MzQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4ZmUsIDB4ZTUsIDB4MTYsIDB4YzQsIDB4NTQsIDB4ZjAsCi0gIDB4ZjQsIDB4ZmQsIDB4ZWUsIDB4NWQsIDB4ZjAsIDB4ODAsIDB4MjMsIDB4YmYsIDB4MjAsIDB4MjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTEsIDB4ZTQsIDB4ZjUsIDB4MmEsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsCi0gIDB4ZmYsIDB4ZTUsIDB4MTYsIDB4YzQsIDB4NTQsIDB4ZjAsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjV9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDAzLCAweGUwLCAweDE0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM0LCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDAzLCAweGUwLCAweDE0LCAweGYwLCAweGUwLCAweDYwLCAweDAzLCAweDAyLAotICAweDBlLCAweDI3LCAweDc0LCAweDBhLCAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweGVmLCAweDU0LCAweDAxLCAweGZmLCAweGY1LCAweDE4LCAweGU1LCAweDE1LAotICAweDI0LCAweDJjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDZmLCAweDYwLCAweDA3LCAweGU1LCAweDE4fX0sCi0gezB4MGQ4NiwgNjQsIHsgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHgxMiwgMHgxOCwgMHhlMSwgMHg4ZiwgMHgxOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNywgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHg1NCwgMHgxMCwgMHhmZSwgMHg2ZiwgMHg2MCwgMHgwNiwgMHhlZSwgMHhmMCwKLSAgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmZiwgMHhlNSwgMHgxOCwgMHg1NCwgMHg4MCwgMHhmZSwgMHg2ZiwgMHg2MCwgMHgwNiwgMHhlZSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxM319LAotIHsweDBkYzYsIDY0LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4MjAsCi0gIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MTUsIDB4ZWUsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTQsIDB4MDQsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4NDAsIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MTUsIDB4ZWV9fSwKLSB7MHgwZTA2LCA2NCwgeyAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU1LCAweDA0LCAweGU1LAotICAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDMwLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLAotICAweDIyLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDBmLCAweDI3LCAweGU1LCAweDI0LCAweDE0LCAweDYwLCAweDJhLCAweDE0LCAweDYwLCAweDQxLCAweDE0LAotICAweDYwLCAweDU4LCAweDE0LCAweDYwLCAweDZmLCAweDI0LCAweDA0LCAweDYwLCAweDAzLCAweDAyLCAweDBlLCAweGU1LCAweDdlLCAweDdiLCAweDdmfX0sCi0gezB4MGU0NiwgNjQsIHsgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZSwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwKLSAgMHgxMiwgMHg5YywgMHg3NSwgMHgyNCwgMHgwMSwgMHgyMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZCwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgxMiwgMHg5YywgMHg3NSwgMHgyNCwgMHgwMiwgMHgyMiwKLSAgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyYn19LAotIHsweDBlODYsIDY0LCB7IDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTIsIDB4MTIsIDB4OWMsIDB4NzUsIDB4MjQsIDB4MDMsIDB4MjIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MTIsIDB4OWMsCi0gIDB4NzUsIDB4MjQsIDB4MDQsIDB4MjIsIDB4MzAsIDB4MDQsIDB4MzMsIDB4YzIsIDB4MDQsIDB4NTMsIDB4MTMsIDB4ZGYsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4N2UsCi0gIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmUsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MTEsIDB4YTZ9fSwKLSB7MHgwZWM2LCA2NCwgeyAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDAzLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweDc1LCAweDI0LCAweDA1LCAweDIyLCAweGU1LCAweDM2LAotICAweDYwLCAweDNiLCAweGQ1LCAweDM2LCAweDBhLCAweDUzLCAweDEzLCAweGVmLCAweDMwLCAweDBhLCAweDA0LCAweGQyLCAweDA5LCAweGMyLCAweDBhLCAweGU0LAotICAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDM1LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhfX0sCi0gezB4MGYwNiwgNjQsIHsgMHgxMiwgMHgxMSwgMHhhNiwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwKLSAgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgyNCwKLSAgMHgyMiwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNSwgMHgxOSwgMHhmOSwgMHhlZSwgMHgzNSwgMHgxNCwKLSAgMHhmYSwgMHhlNCwgMHgxMiwgMHgxMSwgMHhlYywgMHgwNSwgMHgxOSwgMHhlNSwgMHgxOSwgMHhiNCwgMHgzYywgMHhlOCwgMHhlNSwgMHgxNSwgMHgyNH19LAotIHsweDBmNDYsIDY0LCB7IDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsIDB4N2YsIDB4MTAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MTUsIDB4ZGIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzR9fSwKLSB7MHgwZjg2LCA2NCwgeyAweGYyLCAweGYwLCAweDdmLCAweDAxLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLAotICAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDgwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDBmLCAweGU0LAotICAweGZkLCAweDEyLCAweDE2LCAweDZiLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0fX0sCi0gezB4MGZjNiwgNjQsIHsgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZSwgMHhmMCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg2YiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMSwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxNiwgMHg2YiwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxNSwgMHg0MywKLSAgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxNiwgMHg2YiwgMHgyMiwgMHg1MywgMHgxMywgMHgzZiwgMHg5MCwgMHg3YiwgMHhmMSwgMHhlMCwgMHgzMCwKLSAgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDEwMDYsIDY0LCB7IDB4NzQsIDB4MmUsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsIDB4MDgsIDB4ZDcsIDB4OTAsIDB4N2MsIDB4MzEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsCi0gIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsIDB4NzUsCi0gIDB4MTYsIDB4MDIsIDB4MTIsIDB4MDgsIDB4ZDcsIDB4OTAsIDB4N2MsIDB4NzEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsCi0gIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmIsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDR9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweDEyLCAweDA4LCAweGQ3LCAweDkwLCAweDdjLCAweGIxLCAweGUwLCAweDMwLCAweGUzLCAweDE2LCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLAotICAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDI3LCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDA4LCAweGQ3LCAweDA1LAotICAweDEyLCAweGU1LCAweDEyLCAweDU0LCAweDBmLCAweGY1LCAweDE3LCAweDcwLCAweDA0LCAweDEyLCAweDExLCAweDFjLCAweDIyLCAweGU1LCAweDE3LCAweGI0LAotICAweDAxLCAweDA0LCAweDEyLCAweDBjLCAweDhjLCAweDIyLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDIwLCAweGUxLCAweDA4LCAweGU1LCAweDEzfX0sCi0gezB4MTA4NiwgNjQsIHsgMHg2MCwgMHgwNCwgMHgxMiwgMHgwZSwgMHgyOCwgMHgyMiwgMHgxMiwgMHgwYywgMHg4YywgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwKLSAgMHg4MSwgMHgzNywgMHgwMiwgMHgxMCwgMHhkNywgMHgwMiwgMHgxMiwgMHgyNCwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwKLSAgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywKLSAgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNH19LAotIHsweDEwYzYsIDY0LCB7IDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsCi0gIDB4OTAsIDB4MTgsIDB4NDUsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksCi0gIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsCi0gIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzV9fSwKLSB7MHgxMTA2LCA2NCwgeyAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLAotICAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDExLCAweGE1LCAweGMyLAotICAweDA5LCAweDkwLCAweDdiLCAweDQwLCAweGUwLCAweDE0LCAweDYwLCAweDI2LCAweDE0LCAweDYwLCAweDNiLCAweDE0LCAweDYwLCAweDUwLCAweDI0LCAweDgzLAotICAweDYwLCAweDY0LCAweDI0LCAweDgwLCAweDcwLCAweDYzLCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1fX0sCi0gezB4MTE0NiwgNjQsIHsgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZSwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHg0YiwgMHg3ZSwgMHg3YywKLSAgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZCwgMHhmMCwgMHg3NSwgMHgxNiwKLSAgMHgwMiwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHgzMywgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyYiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHgxYiwgMHg3ZX19LAotIHsweDExODYsIDY0LCB7IDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsIDB4NzUsIDB4MTYsCi0gIDB4MDgsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MDMsIDB4MTIsIDB4MTcsIDB4NTEsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4MjIsIDB4YmIsCi0gIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsCi0gIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjV9fSwKLSB7MHgxMWM2LCA2NCwgeyAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLAotICAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLAotICAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLAotICAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywKLSAgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg5MCwgMHg3ZiwgMHhhZSwKLSAgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgwMCwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwKLSAgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZn19LAotIHsweDEyNDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsIDB4NzQsIDB4MDEsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MGIsIDB4MTIsIDB4MTgsIDB4MDksIDB4YzIsIDB4MDEsCi0gIDB4ZTQsIDB4ZjUsIDB4MmIsIDB4ZjUsIDB4MzEsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MDIsIDB4NzUsIDB4MjksIDB4MGYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsCi0gIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDYsIDB4NzUsIDB4MzIsIDB4MGYsIDB4ZTAsIDB4ZjUsIDB4MjYsIDB4MzAsIDB4MDIsIDB4MDMsIDB4MTIsIDB4MGZ9fSwKLSB7MHgxMjg2LCA2NCwgeyAweGVmLCAweDMwLCAweDAxLCAweDA3LCAweGMyLCAweDAxLCAweDEyLCAweDA2LCAweDNmLCAweDgwLCAweGUyLCAweDMwLCAweDA4LCAweGRmLCAweGMyLCAweDA4LCAweDEyLAotICAweDE4LCAweDJhLCAweDgwLCAweGQ4LCAweDIyLCAweGU1LCAweDEzLCAweDU1LCAweDE2LCAweDYwLCAweDZhLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDVjLCAweGU1LCAweDE2LCAweGY0LCAweDUyLCAweDEzLCAweGU1LCAweDE1LAotICAweDI0LCAweDI2LCAweGZmLCAweGU0LCAweDM1LCAweDE0LCAweGZlLCAweGU0LCAweGZkLCAweDBmLCAweGVmLCAweGFhLCAweDA2LCAweDcwLCAweDAxfX0sCi0gezB4MTJjNiwgNjQsIHsgMHgwZSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhmYywgMHg3NCwgMHg4MCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwKLSAgMHg4MywgMHhlYywgMHhmMCwgMHgwZCwgMHhiZCwgMHgwYiwgMHhlMiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNH19LAotIHsweDEzMDYsIDY0LCB7IDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MjgsIDB4NDUsIDB4MjcsIDB4NjAsIDB4NTcsIDB4YWUsIDB4MjcsIDB4YWYsIDB4MjgsCi0gIDB4ZDMsIDB4ZWYsIDB4OTQsIDB4NDAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4N2UsIDB4MDAsIDB4N2YsIDB4NDAsIDB4YzMsIDB4ZTUsIDB4MjgsCi0gIDB4OWYsIDB4ZjUsIDB4MjgsIDB4ZTUsIDB4MjcsIDB4OWUsIDB4ZjUsIDB4MjcsIDB4ZTQsIDB4ZmQsIDB4ZWQsIDB4YzMsIDB4OWYsIDB4ZTQsIDB4OWUsIDB4NTAsCi0gIDB4MWYsIDB4ODUsIDB4MzQsIDB4ODIsIDB4ODUsIDB4MzMsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4NzQsIDB4MDAsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTR9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweDBkLCAweDA1LCAweDM0LCAweGU1LCAweDM0LCAweDcwLCAweDAyLCAweDA1LCAweDMzLCAweDgwLCAweGRhLAotICAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LAotICAweGVmLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBmLCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDRhLCAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweGYwfX0sCi0gezB4MTM4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhmZiwgMHhmMCwgMHgzMCwgMHgwMCwgMHgwNywgMHhlNSwgMHgyOSwgMHg1NCwgMHgwZiwgMHhmZiwKLSAgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxZiwgMHhmMCwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHhkZn19LAotIHsweDEzYzYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4MjIsIDB4OGYsIDB4MTksIDB4MDUsIDB4MmQsIDB4ZTUsIDB4MmQsIDB4YWUsIDB4MmMsCi0gIDB4NzAsIDB4MDIsIDB4MDUsIDB4MmMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4MTIsIDB4MTgsIDB4ZWYsIDB4MDUsCi0gIDB4MmQsIDB4ZTUsIDB4MmQsIDB4YWMsIDB4MmMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MmMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsCi0gIDB4MTUsIDB4MjMsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MWYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTR9fSwKLSB7MHgxNDA2LCA2NCwgeyAweGY1LCAweDgzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZlLCAweDEyLCAweDE4LCAweGQzLCAweDhmLCAweDE5LCAweGVlLCAweDRmLCAweGQwLCAweDgyLAotICAweGQwLCAweDgzLCAweGYwLCAweDgwLCAweGI1LCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweGU1LCAweDExLCAweGYwLCAweDkwLCAweDc4LCAweDRmLCAweDc0LAotICAweGMwLCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDUwLCAweGYwLCAweGU1LCAweDJjLCAweDkwLCAweDc4LCAweDUxLCAweGYwLCAweGFlLCAweDJjLCAweGU1LAotICAweDJkLCAweDkwLCAweDc4LCAweDUyLCAweGYwLCAweDkwLCAweDc4LCAweDU0LCAweGU1LCAweDIzLCAweGYwLCAweDkwLCAweDc4LCAweDU3LCAweDc0fX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg1NSwKLSAgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhlMCwgMHg2MCwgMHhmYSwgMHgyMiwgMHg4ZiwgMHgxOSwgMHhlNCwgMHhmNSwgMHgxYSwgMHg3NSwgMHgxYiwgMHhmZiwKLSAgMHg3NSwgMHgxYywgMHgxOSwgMHg3NSwgMHgxZCwgMHg4NiwgMHhhYiwgMHgxYiwgMHhhYSwgMHgxYywgMHhhOSwgMHgxZCwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwKLSAgMHgxMSwgMHhiZiwgMHhiNCwgMHgwMywgMHgxZCwgMHhhZiwgMHgxYSwgMHgwNSwgMHgxYSwgMHhlZiwgMHhiNSwgMHgxOSwgMHgwMSwgMHgyMiwgMHgxMn19LAotIHsweDE0ODYsIDY0LCB7IDB4MTEsIDB4YTYsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MWIsIDB4ZmYsIDB4ZjUsIDB4MWMsIDB4ODksIDB4MWQsCi0gIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4ZTUsCi0gIDB4MmMsIDB4OTAsIDB4NzgsIDB4NGYsIDB4ZjAsIDB4YWUsIDB4MmMsIDB4ZTUsIDB4MmQsIDB4OTAsIDB4NzgsIDB4NTAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTEsCi0gIDB4NzQsIDB4YzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTIsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTQsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDc4LCAweDU3LCAweDc0LCAweDA0LCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDU1LCAweGYwLCAweDkwLCAweDc4LCAweDU1LCAweGUwLCAweDYwLCAweGZhLCAweDIyLAotICAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLCAweDBmLCAweDE0LAotICAweDYwLCAweDEzLCAweDE0LCAweDYwLCAweDE3LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM3LCAweGVmLCAweGYwLCAweDgwLCAweDEzLCAweDkwLCAweDdmLAotICAweGM5LCAweGVmLCAweGYwLCAweDgwLCAweDBjLCAweDkwLCAweDdmLCAweGNiLCAweGVmLCAweGYwLCAweDgwLCAweDA1LCAweDkwLCAweDdmLCAweGNkfX0sCi0gezB4MTUwNiwgNjQsIHsgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgyYSwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZiwgMHgxNCwgMHg2MCwgMHgxMywgMHgxNCwgMHg2MCwgMHgxNywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiNywKLSAgMHhlZiwgMHhmMCwgMHg4MCwgMHgxMywgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwgMHhiYiwgMHhlZiwgMHhmMCwKLSAgMHg4MCwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhiZCwgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgyYSwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNH19LAotIHsweDE1NDYsIDY0LCB7IDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsCi0gIDB4MTYsIDB4NmIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsCi0gIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZjAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODZ9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDA4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAxLCAweGYwLAotICAweDEyLCAweDEzLCAweDBkLCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLAotICAweGYwLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0fX0sCi0gezB4MTVjNiwgNjQsIHsgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywKLSAgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3Zn19LAotIHsweDE2MDYsIDY0LCB7IDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsCi0gIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmZ9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLAotICAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxfX0sCi0gezB4MTY4NiwgNjQsIHsgMHg3NCwgMHhmNywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlZCwgMHhmMCwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwKLSAgMHg2MCwgMHgwZSwgMHgxNCwgMHg2MCwgMHgxMSwgMHgxNCwgMHg2MCwgMHgxNCwgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjY319LAotIHsweDE2YzYsIDY0LCB7IDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsCi0gIDB4MGUsIDB4MTQsIDB4NjAsIDB4MTEsIDB4MTQsIDB4NjAsIDB4MTQsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4YjgsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4ZmYsCi0gIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDBlLCAweDE0LCAweDYwLCAweDExLCAweDE0LCAweDYwLCAweDE0LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLAotICAweGM5LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGZmLCAweDIyLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLAotICAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2fX0sCi0gezB4MTc0NiwgNjQsIHsgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHhmNSwgMHgzNiwKLSAgMHg0MywgMHgxMywgMHgxMCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwKLSAgMHg5MCwgMHg3YiwgMHg0MywgMHhlMCwgMHhmNSwgMHgzNywgMHhhMywgMHhlMCwgMHg1NCwgMHhmMCwgMHhmNSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwKLSAgMHgwYSwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NX19LAotIHsweDE3ODYsIDY0LCB7IDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsCi0gIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsCi0gIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsCi0gIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDMyLCAweDEyLCAweDE4LCAweGI3LCAweGFlLCAweDA3LCAweDEyLCAweDE4LCAweGI3LCAweGFkLCAweDA3LCAweGVlLCAweDZkLCAweDYwLCAweDEwLCAweDEyLCAweDE4LAotICAweGI3LCAweGFlLCAweDA3LCAweGVlLCAweDZkLCAweDYwLCAweDA3LCAweDEyLCAweDE4LCAweGI3LCAweGFkLCAweDA3LCAweDgwLCAweGVjLCAweGFmLCAweDA2LAotICAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLAotICAweGY5LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgwYiwgMHgwNCwKLSAgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxOCwgMHg2MCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwKLSAgMHhmNywgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHg3NywgMHgxMiwgMHgxNywgMHhmOSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgwYSwKLSAgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgxOCwgMHg2MCwgMHgxMiwgMHgxOCwgMHg5MywgMHgxMiwgMHgwYSwgMHhjZSwgMHgyMiwgMHgwM319LAotIHsweDE4NDYsIDY0LCB7IDB4MzUsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MmUsIDB4ODEsIDB4MDAsIDB4MDAsIDB4YzEsIDB4ODUsIDB4YzEsIDB4ODEsIDB4YzEsIDB4MDgsIDB4YzEsIDB4MDAsCi0gIDB4YzEsIDB4MDYsIDB4MDEsIDB4MjIsIDB4MDAsIDB4MDEsIDB4MjQsIDB4MDAsIDB4MDAsIDB4OGUsIDB4MTcsIDB4OGYsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4MTUsCi0gIDB4MTgsIDB4YWUsIDB4MTcsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTcsIDB4NGUsIDB4NjAsIDB4MDgsIDB4MTIsIDB4MTcsIDB4ZTgsIDB4MTIsIDB4MTcsIDB4ZTgsCi0gIDB4ODAsIDB4ZWIsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDA0LCAweGZmLCAweDQ0LCAweDEwLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGVmLCAweDQ0LCAweDMwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDBkLCAweDdlLCAweDAwLCAweDEyLCAweDE4LCAweDYwLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLAotICAweGYwLCAweDIyLCAweGU1LCAweDExLCAweDI0LCAweDAyLCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweGU1LCAweDExLCAweDI0LCAweDAzLCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweGU1fX0sCi0gezB4MThjNiwgNjQsIHsgMHgxMSwgMHgyNCwgMHgwNCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNSwgMHgxMSwgMHgyNCwgMHgwNSwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNSwgMHgxMSwgMHgyNCwgMHgwNiwgMHg5MCwgMHg3OCwKLSAgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHhlNSwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHhmZn19LAotIHsweDE5MDYsIDY0LCB7IDB4ZmYsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MmEsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDQsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MjQsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDEsIDB4MDAsIDB4MmQsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MzksIDB4MDAsIDB4NTcsIDB4MDAsIDB4NGMsIDB4MDAsIDB4NDMsIDB4MDAsIDB4MjIsCi0gIDB4MDMsIDB4NTUsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NDEsIDB4MDAsIDB4MmQsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MjAsIDB4MDB9fSwKLSB7MHgxYTA2LCA2NCwgeyAweDMyLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMzLCAweDAwLCAweDZhLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDMzLCAweDAwLCAweDMxLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWE0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDE3LCAweDc5LCAweDAwLCAweDAyLCAweDFifX0sCi0gezB4MWIwNiwgMjEsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgxNywgMHgyNywgMHgwMCwgMHgwMiwgMHgxNywgMHhhMCwgMHgwMCwgMHgwMiwgMHgxYiwgMHgxMCwgMHgwMCwgMHgwMiwgMHgxYiwgMHgxNCwKLSAgMHgwMCwgMHgwMiwgMHgxNSwgMHg3OH19LAotIHsweGZmZmYsICAwLCB7IDB4MDB9fSwKLX07Ci0KLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzM0MTAuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC90aV9md18zNDEwLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxZTg4NTcuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzM0MTAuaAorKysgL2Rldi9udWxsCkBAIC0xLDg4NSArMCwwIEBACi0vKiB2aTogdHM9OCBzdz04Ci0gKgotICogVEkgMzQxMCBVU0IgU2VyaWFsIERyaXZlciBGaXJtd2FyZSBIZWFkZXIKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQgVGV4YXMgSW5zdHJ1bWVudHMKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICovCi0KLSNpZm5kZWYgX1RJX0ZXXzM0MTBfSF8KLSNkZWZpbmUgX1RJX0ZXXzM0MTBfSF8KLQotLyogZmlybXdhcmUgOS8xMC8wNCBGVzM0MTBfU3BlY2lhbF9TdGFydFdkb2dPblN0YXJ0UG9ydCAqLwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciB0aV9md18zNDEwW10gPSB7Ci0weEMyLCAweDM1LAkvKiBmaXJtd2FyZSBpbWFnZSBsZW5ndGggZXhjbHVkaW5nIGhlYWRlciwgbGl0dGxlIGVuZGlhbiAqLwotMHgwMCwgCQkvKiBwbGFjZWhvbGRlciBmb3IgY2hlY2tzdW0gKi8KLQotMHgwMiwweDAwLDB4MWUsMHgwMiwweDFhLDB4ZGIsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHgzMiwweGNiLDB4ZmYsMHhmZiwKLTB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4MzMsMHg3NiwweDc1LDB4ODEsCi0weGNlLDB4OTAsMHhmZCwweGU4LDB4ODUsMHg4MywweGEwLDB4MTIsMHgzNCwweGVhLDB4ZWMsMHg0ZCwweDYwLDB4NmEsMHg3OCwweGFiLAotMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsMHg5YywweGZhLDB4NzgsMHg3ZiwweDgwLDB4MDMsMHg3NiwweDAwLDB4MTgsMHhiOCwKLTB4NjUsMHhmYSwweDc4LDB4MjAsMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsMHgyMCwweGZhLDB4OTAsMHhmZCwweGRkLDB4YWUsCi0weDgzLDB4YWYsMHg4MiwweDkwLDB4ZmIsMHhmOCwweDEyLDB4MDAsMHhhMSwweDYwLDB4MDUsMHhlNCwweGYwLDB4YTMsMHg4MCwweGY2LAotMHg5MCwweGZkLDB4ZTgsMHhhOCwweDgyLDB4OTAsMHhmZCwweGU4LDB4YTksMHg4MiwweGU4LDB4YzMsMHg5OSwweDUwLDB4MDUsMHg3NiwKLTB4MDAsMHgwOCwweDgwLDB4ZjYsMHg5MCwweDAwLDB4ZmYsMHgxMiwweDAwLDB4YWEsMHg5MCwweDAxLDB4MDMsMHgxMiwweDAwLDB4YWEsCi0weDkwLDB4MDEsMHgwNywweDEyLDB4MDAsMHhhYSwweDkwLDB4MDEsMHgwYiwweDEyLDB4MDAsMHhjOCwweDkwLDB4MDEsMHgxMSwweDEyLAotMHgwMCwweGM4LDB4OTAsMHgwMSwweDE3LDB4MTIsMHgwMCwweGM4LDB4NzUsMHhkMCwweDAwLDB4MTIsMHgzMywweGM4LDB4MDIsMHgwMSwKLTB4MWQsMHhlZiwweDY1LDB4ODIsMHg3MCwweDAzLDB4ZWUsMHg2NSwweDgzLDB4MjIsMHhlNCwweDkzLDB4ZjgsMHg3NCwweDAxLDB4OTMsCi0weGY5LDB4NzQsMHgwMiwweDkzLDB4ZmUsMHg3NCwweDAzLDB4OTMsMHhmNSwweDgyLDB4OGUsMHg4MywweGU4LDB4NjksMHg3MCwweDAxLAotMHgyMiwweGU0LDB4OTMsMHhmNiwweGEzLDB4MDgsMHg4MCwweGY0LDB4ZTQsMHg5MywweGZjLDB4NzQsMHgwMSwweDkzLDB4ZmQsMHg3NCwKLTB4MDIsMHg5MywweGZlLDB4NzQsMHgwMywweDkzLDB4ZmYsMHg3NCwweDA0LDB4OTMsMHhmOCwweDc0LDB4MDUsMHg5MywweGY1LDB4ODIsCi0weDg4LDB4ODMsMHgxMiwweDAwLDB4YTEsMHg3MCwweDAxLDB4MjIsMHhlNCwweDkzLDB4YTMsMHhhOCwweDgzLDB4YTksMHg4MiwweDhjLAotMHg4MywweDhkLDB4ODIsMHhmMCwweGEzLDB4YWMsMHg4MywweGFkLDB4ODIsMHg4OCwweDgzLDB4ODksMHg4MiwweDgwLDB4ZTMsMHgyMSwKLTB4MjEsMHgwNCwweDkyLDB4ODAsMHg4MCwweDA0LDB4OTIsMHhhYywweGFlLDB4MDQsMHg5MiwweGZkLDB4ZTgsMHgwNCwweDk0LDB4MDQsCi0weDk0LDB4ZmIsMHhmMywweDA0LDB4OTksMHgwNCwweDk0LDB4ZmIsMHhmMywweDA0LDB4ZjksMHgwNCwweGY5LDB4ODAsMHhmZSwweGQwLAotMHhmMCwweDMwLDB4ZjAsMHgwOSwweDIwLDB4ZjMsMHgwMywweGY2LDB4ODAsMHgxMCwweGY3LDB4ODAsMHgwZCwweDMwLDB4ZjEsMHgwOSwKLTB4MjAsMHhmMywweDAzLDB4ZjIsMHg4MCwweDA0LDB4ZjMsMHg4MCwweDAxLDB4ZjAsMHgyMCwweGY0LDB4MDQsMHhmYywweGQwLDB4ZTAsCi0weGNjLDB4MjIsMHhjYywweGMwLDB4ZTAsMHgxMiwweDAxLDB4NWEsMHgwMiwweDAxLDB4NGIsMHhiYywweDAwLDB4MDUsMHhkMCwweGYwLAotMHhhYywweGYwLDB4MjIsMHhjMywweDEzLDB4ZGMsMHhmYywweDAyLDB4MDEsMHgyMSwweGJmLDB4MDAsMHgwOSwweGVkLDB4MjUsMHg4MiwKLTB4NzUsMHhmMCwweDAxLDB4ZjgsMHhlNiwweDIyLDB4YmYsMHgwMSwweDBmLDB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsCi0weDgzLDB4ZjUsMHg4MywweDc1LDB4ZjAsMHgwNCwweGUwLDB4MjIsMHhlZCwweDI1LDB4ODIsMHg3NSwweGYwLDB4MDIsMHhmOCwweGUyLAotMHgyMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjUsMHhmMCwweGMzLDB4ZTQsMHg5MywweGEzLDB4YzUsMHhmMCwweDk1LDB4ZjAsMHhjMCwKLTB4ZTAsMHhjMywweGQwLDB4ZjAsMHhlNCwweDkzLDB4YTMsMHg5NSwweGYwLDB4NDAsMHgxMiwweGEzLDB4YTMsMHhjMywweGU1LDB4ZjAsCi0weDMzLDB4NTAsMHgwMiwweDA1LDB4ODMsMHgyNSwweDgyLDB4ZjUsMHg4MiwweDUwLDB4MDIsMHgwNSwweDgzLDB4NzQsMHgwMSwweDkzLAotMHhjMCwweGUwLDB4ZTQsMHg5MywweGMwLDB4ZTAsMHgyMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjUsMHhmMCwweGU0LDB4OTMsMHg3MCwKLTB4MDksMHg3NCwweDAxLDB4OTMsMHg3MCwweDA0LDB4YTMsMHhhMywweDgwLDB4MGMsMHg3NCwweDAyLDB4OTMsMHg2NSwweGYwLDB4NjAsCi0weDA1LDB4YTMsMHhhMywweGEzLDB4ODAsMHhlNywweDc0LDB4MDEsMHg5MywweGMwLDB4ZTAsMHhlNCwweDkzLDB4YzAsMHhlMCwweDIyLAotMHgxMiwweDAyLDB4NWIsMHgwMiwweDAxLDB4ZjIsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAxLDB4ZjIsMHgxMiwweDAyLDB4ZDMsMHgwMiwKLTB4MDEsMHhmMiwweDMwLDB4ZTAsMHgwNywweDIwLDB4ZTMsMHgwMiwweGU2LDB4MjIsMHhlNywweDIyLDB4MzAsMHhlMSwweDA3LDB4MjAsCi0weGUzLDB4MDIsMHhlMiwweDIyLDB4ZTMsMHgyMiwweDMwLDB4ZTIsMHgwMiwweGUwLDB4MjIsMHhlNCwweDkzLDB4MjIsMHgxMiwweDAyLAotMHhkMywweDAyLDB4MDIsMHgxYSwweDEyLDB4MDIsMHhhZiwweDAyLDB4MDIsMHgxYSwweGFiLDB4ZjAsMHgxMiwweDAyLDB4MjQsMHhjYiwKLTB4YzUsMHhmMCwweGNiLDB4MjIsMHgzMCwweGUwLDB4MTAsMHgyMCwweGUzLDB4MDYsMHhlNiwweGY1LDB4ZjAsMHgwOCwweGU2LDB4MjIsCi0weGU3LDB4ZjUsMHhmMCwweDA5LDB4ZTcsMHgxOSwweDIyLDB4MzAsMHhlMSwweDEwLDB4MjAsMHhlMywweDA2LDB4ZTIsMHhmNSwweGYwLAotMHgwOCwweGUyLDB4MjIsMHhlMywweGY1LDB4ZjAsMHgwOSwweGUzLDB4MTksMHgyMiwweDMwLDB4ZTIsMHgwNiwweGUwLDB4ZjUsMHhmMCwKLTB4YTMsMHhlMCwweDIyLDB4ZTQsMHg5MywweGY1LDB4ZjAsMHg3NCwweDAxLDB4OTMsMHgyMiwweGJiLDB4MDAsMHgwMywweDc0LDB4MDksCi0weDIyLDB4YmIsMHgwMSwweDA3LDB4ODksMHg4MiwweDhhLDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiYiwweDAyLDB4MDcsMHg4OSwweDgyLAotMHg4YSwweDgzLDB4NzQsMHgxMCwweDIyLDB4NzQsMHgwYSwweDIyLDB4MDIsMHgwMiwweDdiLDB4YmIsMHgwMCwweDA3LDB4ZTksMHgyNSwKLTB4ODIsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJiLDB4MDEsMHgwZCwweGU5LDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlYSwweDM1LDB4ODMsCi0weGY1LDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiYiwweDAyLDB4MGQsMHhlOSwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWEsMHgzNSwweDgzLAotMHhmNSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZTksMHgyNSwweDgyLDB4ZjgsMHg3NCwweDAyLDB4MjIsMHgwMiwweDAyLDB4YWYsMHhiZiwKLTB4MDAsMHgwNSwweGVkLDB4ZjgsMHg3NCwweDAxLDB4MjIsMHhiZiwweDAxLDB4MDcsMHg4ZCwweDgyLDB4OGUsMHg4MywweDc0LDB4MDQsCi0weDIyLDB4YmYsMHgwMiwweDA3LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg3NCwweDEwLDB4MjIsMHhlZCwweGY4LDB4NzQsMHgwMiwweDIyLAotMHgwMiwweDAyLDB4ZDMsMHhiZiwweDAwLDB4MDcsMHhlZCwweDI1LDB4ODIsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJmLDB4MDEsMHgwZCwKLTB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsMHg4MywweGY1LDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiZiwweDAyLDB4MGQsCi0weGVkLDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlZSwweDM1LDB4ODMsMHhmNSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZWQsMHgyNSwweDgyLAotMHhmOCwweDc0LDB4MDIsMHgyMiwweDAyLDB4MDMsMHgwNywweGMwLDB4ZTAsMHgxMiwweDAyLDB4NWIsMHgwMiwweDAzLDB4MWYsMHhjMCwKLTB4ZTAsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAzLDB4MWYsMHhjMCwweGUwLDB4MTIsMHgwMiwweGQzLDB4MDIsMHgwMywweDFmLDB4MzAsCi0weGUwLDB4MGIsMHgyMCwweGUzLDB4MDQsMHhkMCwweGUwLDB4ZjYsMHgyMiwweGQwLDB4ZTAsMHhmNywweDIyLDB4MzAsMHhlMSwweDBiLAotMHgyMCwweGUzLDB4MDQsMHhkMCwweGUwLDB4ZjIsMHgyMiwweGQwLDB4ZTAsMHhmMywweDIyLDB4ZDAsMHhlMCwweGYwLDB4MjIsMHhjOSwKLTB4Y2QsMHhjOSwweGNhLDB4Y2UsMHhjYSwweGNiLDB4Y2YsMHhjYiwweDEyLDB4MDMsMHg1MiwweGVkLDB4ZjksMHhlZSwweGZhLDB4ZWYsCi0weGZiLDB4MjIsMHhiYiwweDAwLDB4MmYsMHhiZiwweDAwLDB4MGEsMHhmYSwweGVkLDB4ZjgsMHhlNywweGY2LDB4MDgsMHgwOSwweGRhLAotMHhmYSwweDIyLDB4YmYsMHgwMSwweDEyLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmOCwweDAyLDB4MDMsMHg2ZiwweDA5LDB4YTMsMHhlNywKLTB4ZjAsMHhkOCwweGZhLDB4MjIsMHgwMiwweDAzLDB4N2EsMHhmYSwweGVkLDB4ZjgsMHhlNywweGYyLDB4MDgsMHgwOSwweGRhLDB4ZmEsCi0weDIyLDB4MDIsMHgwMywweDg0LDB4YmIsMHgwMSwweDRkLDB4YmYsMHgwMCwweDE0LDB4ODksMHg4MiwweDhhLDB4ODMsMHhmOSwweGVkLAotMHhmOCwweDAyLDB4MDMsMHg5NiwweDA4LDB4YTMsMHhlMCwweGY2LDB4ZDksMHhmYSwweDIyLDB4MDIsMHgwMywweGE3LDB4YmYsMHgwMSwKLTB4MjIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGZiLDB4MDgsMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZTAsCi0weGEzLDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGYwLDB4YTMsMHhkYiwweGVhLDB4ZDgsMHhlOCwweDIyLAotMHgwMiwweDAzLDB4Y2EsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY5LDB4ZWQsMHhmOCwweGUwLDB4ZjIsMHgwOCwweGEzLDB4ZDksMHhmYSwKLTB4MjIsMHgwMiwweDAzLDB4ZDQsMHhiYiwweDAyLDB4NGQsMHhiZiwweDAwLDB4MTIsMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsCi0weGY4LDB4MDIsMHgwMywweGU2LDB4MDgsMHhhMywweGU0LDB4OTMsMHhmNiwweGQ5LDB4ZjksMHgyMiwweGJmLDB4MDEsMHgyMywweDhkLAotMHg4MiwweDhlLDB4ODMsMHhmYiwweDA4LDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGU0LDB4OTMsMHhhMywKLTB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGYwLDB4YTMsMHhkYiwweGU5LDB4ZDgsMHhlNywweDIyLDB4MDIsCi0weDA0LDB4MTksMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsMHhmOCwweGU0LDB4OTMsMHhmMiwweDA4LDB4YTMsMHhkOSwweGY5LAotMHgyMiwweDAyLDB4MDQsMHgyYSwweGJmLDB4MDAsMHgwZCwweGZhLDB4ZWQsMHhmOCwweGUzLDB4ZjYsMHgwOCwweDA5LDB4ZGEsMHhmYSwKLTB4MjIsMHgwMiwweDA0LDB4MzQsMHhiZiwweDAxLDB4MTIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY4LDB4MDIsMHgwNCwweDQxLDB4MDksCi0weGEzLDB4ZTMsMHhmMCwweGQ4LDB4ZmEsMHgyMiwweDAyLDB4MDQsMHg0YywweGZhLDB4ZWQsMHhmOCwweGUzLDB4ZjIsMHgwOCwweDA5LAotMHhkYSwweGZhLDB4MjIsMHgwMiwweDA0LDB4NTYsMHhlNiwweGZiLDB4MDgsMHhlNiwweGZhLDB4MDgsMHhlNiwweGY5LDB4MDQsMHhmNiwKLTB4MTgsMHg3MCwweDAxLDB4MDYsMHgyMiwweGU2LDB4ZmYsMHgwOCwweGU2LDB4ZmUsMHgwOCwweGU2LDB4ZmQsMHgyMiwweGVmLDB4ZjAsCi0weGEzLDB4ZWUsMHhmMCwweGEzLDB4ZWQsMHhmMCwweDIyLDB4ZWIsMHhmMCwweGEzLDB4ZWEsMHhmMCwweGEzLDB4ZTksMHhmMCwweDIyLAotMHhlMCwweGZmLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZkLDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwKLTB4ZjksMHgyMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHhmOSwweDAwLDB4NjEsMHgwNSwweDY4LDB4MDAsCi0weDI2LDB4MDUsMHg4ZiwweDAwLDB4MzMsMHgwYSwweDAwLDB4MDAsMHg2MSwweDBhLDB4NmMsMHgwMCwweDY2LDB4MTUsMHgxZCwweDAwLAotMHg2MSwweDBjLDB4ZjAsMHgwMCwweDYxLDB4MDksMHhhMCwweDAwLDB4NjEsMHgwOSwweGQ3LDB4MDAsMHg2MSwweDBkLDB4YjcsMHgwMCwKLTB4NjEsMHgwYiwweGU4LDB4MDAsMHg2MSwweDBhLDB4MTMsMHgwMCwweDYxLDB4MGEsMHg0OCwweDAwLDB4NjEsMHgxNywweDE1LDB4MDAsCi0weDMzLDB4MTcsMHgyOCwweDAwLDB4MzQsMHgxZCwweGY2LDB4MDAsMHg0MywweDFlLDB4YTEsMHgwMCwweDQ0LDB4MjAsMHgwZSwweDAwLAotMHg0NCwweDFmLDB4ZmMsMHgwMCwweDQ3LDB4MWUsMHhjOCwweDAwLDB4NDcsMHgxZiwweDZkLDB4MDAsMHg0ZCwweDFmLDB4YmUsMHgwMCwKLTB4NGYsMHgxZSwweGVhLDB4MDAsMHg1OCwweDMyLDB4NTYsMHgwMCwweDYxLDB4N2MsMHhjYywweDdkLDB4ZmYsMHgxMiwweDFjLDB4YTcsCi0weDIyLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHgyMCwweGU3LDB4MmQsMHhjMiwweGFmLDB4YWUsMHg1OSwweGFmLDB4NTgsMHg3NSwweDVhLAotMHgyMCwweGU1LDB4NWEsMHgxNCwweGM1LDB4NWEsMHg2MCwweDE5LDB4ZTQsMHhmZSwweDdmLDB4MDUsMHhlZSwweDRmLDB4Y2UsMHgyNCwKLTB4ZmYsMHhjZSwweGNmLDB4MzQsMHhmZiwweGNmLDB4NjAsMHgwNywweGU0LDB4OTAsMHhmZiwweDkyLDB4ZjAsMHg4MCwweGVkLDB4ODAsCi0weGUwLDB4OGUsMHg1OSwweDhmLDB4NTgsMHgyMiwweDEyLDB4MDUsMHgwMSwweDdkLDB4MDcsMHg3YywweGI3LDB4MTIsMHgzMiwweDcyLAotMHg3ZCwweDBmLDB4N2MsMHg2ZSwweDEyLDB4MzIsMHg4YywweDc4LDB4OWQsMHg3YSwweDA2LDB4ZTQsMHhmNiwweDA4LDB4ZGEsMHhmYywKLTB4N2EsMHgwNiwweDEyLDB4MDUsMHhjNCwweDdjLDB4MDMsMHgxMiwweDBlLDB4NGMsMHgxMiwweDIxLDB4NGEsMHhlNCwweGZlLDB4ZmYsCi0weDdjLDB4MGYsMHgxMiwweDMxLDB4ZmIsMHhkMiwweGE4LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHhlNCwweDkwLDB4ZmMsMHgzOCwweGYwLAotMHg5MCwweGZmLDB4ZjAsMHhlMCwweDMwLDB4ZTQsMHgwOCwweDc0LDB4MDEsMHg5MCwweGZjLDB4MzksMHhmMCwweDgwLDB4MDUsMHhlNCwKLTB4OTAsMHhmYywweDM5LDB4ZjAsMHg3ZCwweDBhLDB4N2MsMHgwMCwweDEyLDB4MjUsMHgyNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsCi0weDMwLDB4ZTYsMHg5MCwweGZjLDB4MzksMHhlMCwweDE0LDB4NzAsMHgwZSwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgxMCwweGYwLAotMHg3YywweDAwLDB4MTIsMHgyNSwweGJmLDB4ODAsMHgxOSwweDkwLDB4ZmMsMHgzOSwweGUwLDB4NzAsMHgwZSwweDkwLDB4ZmYsMHhmMCwKLTB4ZTAsMHg1NCwweGVmLDB4ZjAsMHg3YywweDAwLDB4MTIsMHgyNSwweGJmLDB4ODAsMHgwNSwweDdjLDB4MTcsMHgxMiwweDI1LDB4YmYsCi0weDEyLDB4MzEsMHg2OSwweDIyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGFiLDB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LAotMHgyMCwweGYwLDB4MjIsMHg4YywweDM3LDB4OGQsMHgzNiwweDc4LDB4ODIsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4ZWQsMHhmZSwKLTB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHg3OCwweDgwLDB4ZjYsMHg3OCwweDgyLDB4ZTYsCi0weGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLAotMHg1NCwweDBmLDB4ZmMsMHg3ZCwweDgwLDB4MTIsMHgxNywweDQ2LDB4NzgsMHg4MCwweGU2LDB4NzAsMHgwZCwweGFkLDB4M2EsMHhhZSwKLTB4MzksMHhhZiwweDM4LDB4ZTQsMHgxMiwweDAzLDB4MGYsMHg3YywweDA4LDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmUsCi0weGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg4MCwweDFlLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LAotMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDI1LDB4ZTAsMHg0NCwKLTB4MDEsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDAyLDB4MDYsMHhkMCwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsCi0weGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAyLDB4MGUsMHg1NCwweGZlLDB4OTAsMHhmZiwweGYzLAotMHhmMCwweDgwLDB4MmIsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwKLTB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhlYiwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGJmLDB4NDAsCi0weDBkLDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LDB4ZTQsMHgxMiwweDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg3OCwweDgyLAotMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwKLTB4MGUsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhiZiwweDQwLDB4MGQsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsCi0weGU0LDB4MTIsMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLAotMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDIsMHgwZSwweDQ0LDB4MDEsMHg5MCwweGZmLDB4ZjMsMHhmMCwKLTB4NzgsMHg4MywweGU2LDB4MjQsMHgwMywweGY2LDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNiwweDc4LDB4ODAsMHhlNiwweDI0LDB4ZmUsCi0weDUwLDB4MDksMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDgwLDB4MDcsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LAotMHgwMiwweGYwLDB4ZTQsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDc4LDB4ODEsMHg3NiwweDAwLDB4NzgsMHg4MCwweGU2LDB4MjQsMHhmZiwKLTB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweDc4LDB4ODEsMHhlNiwweDdmLDB4MDAsMHhmZSwweGVjLDB4ZDMsMHg5ZSwweGVmLDB4NjQsCi0weDgwLDB4Y2QsMHg2NCwweDgwLDB4OWQsMHg0MCwweDJmLDB4MTIsMHgwOCwweGE0LDB4NDAsMHgwZiwweDc4LDB4ODEsMHhlNiwweGFkLAotMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LDB4MTIsMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4OTAsMHhmZiwweGYyLDB4ZTAsMHhmYywKLTB4NzgsMHg4MiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlYywweGYwLDB4NzgsMHg4MSwweDA2LDB4YTMsMHg3OCwweDgyLDB4YTYsCi0weDgzLDB4MDgsMHhhNiwweDgyLDB4ODAsMHhiNSwweDEyLDB4MDgsMHhhNCwweDQwLDB4MGYsMHg3OCwweDgxLDB4ZTYsMHhhZCwweDNhLAotMHhhZSwweDM5LDB4YWYsMHgzOCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDkwLDB4ZmYsMHhmMiwweGUwLDB4ZmMsMHg3OCwKLTB4ODIsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmMCwweDc4LDB4ODAsMHhlNiwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsCi0weDM4LDB4MTIsMHgwMywweDBmLDB4N2MsMHgwMCwweDIyLDB4OGMsMHgzNywweDhkLDB4MzYsMHg3OCwweDgyLDB4ZWQsMHhmNiwweDA4LAotMHhlYywweGY2LDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4NzgsMHg4MSwKLTB4ZjYsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsCi0weDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGZjLDB4N2QsMHg4MSwweDEyLDB4MTcsMHg0NiwweDc4LDB4ODEsMHhlNiwweDcwLAotMHgwMywweDdjLDB4MDgsMHgyMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZSwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwKLTB4ZmQsMHhmMCwweDgwLDB4MWIsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsCi0weDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4MjUsMHhlMCwweDkwLDB4ZmYsMHhmMywweGYwLDB4ODAsMHg1YiwweDc4LAotMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDYsMHgxMiwKLTB4MDIsMHgwZSwweDU0LDB4ZmUsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDgwLDB4MjEsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsCi0weGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhlYiwweDkwLAotMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwKLTB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDkwLDB4ZmYsCi0weGYxLDB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg4MywweGU2LDB4MjQsMHgwYSwweGY2LAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY2LDB4NzgsMHg4MCwweDc2LDB4MDAsMHg3OCwweDgxLDB4ZTYsMHgyNCwweGZmLDB4ZmMsMHhlNCwKLTB4MzQsMHhmZiwweGZkLDB4NzgsMHg4MCwweGU2LDB4N2YsMHgwMCwweGZlLDB4ZWMsMHhkMywweDllLDB4ZWYsMHg2NCwweDgwLDB4Y2QsCi0weDY0LDB4ODAsMHg5ZCwweDQwLDB4MjEsMHg3OCwweDgyLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4OTAsMHhmZiwweGYxLAotMHhmMCwweDEyLDB4MDgsMHhiZiwweDQwLDB4MDMsMHg3YywweDE4LDB4MjIsMHg3OCwweDgwLDB4MDYsMHg3OCwweDgzLDB4MDYsMHhlNiwKLTB4MTgsMHg3MCwweDAxLDB4MDYsMHg4MCwweGMzLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3OCwweDgyLDB4ODYsCi0weDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhiZiwweDQwLDB4MDMsMHg3YywweDE4LAotMHgyMiwweDdjLDB4MDAsMHgyMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MjAsMHhlNywweDEyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwKLTB4ZTUsMHgwOSwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgyMCwweGYwLDB4YzMsMHgyMiwweDgwLDB4ZTcsMHhkMywweDIyLDB4OTAsCi0weGZmLDB4ZjAsMHhlMCwweDIwLDB4ZTMsMHgxMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MzAsMHhlNSwweDA5LDB4OTAsMHhmZiwweGYwLAotMHhlMCwweDQ0LDB4MjAsMHhmMCwweGMzLDB4MjIsMHg4MCwweGU3LDB4ZDMsMHgyMiwweDhjLDB4NDIsMHg4ZCwweDQxLDB4N2MsMHgwMCwKLTB4ZWQsMHg1NCwweGYwLDB4ZmQsMHhlYywweDcwLDB4MDMsMHhlZCwweDY0LDB4MzAsMHg3MCwweDA1LDB4NzUsMHgzZSwweDAzLDB4ODAsCi0weDAzLDB4NzUsMHgzZSwweDA0LDB4YWMsMHgzZSwweDEyLDB4MGYsMHg2OSwweDc1LDB4ODMsMHgwMCwweDg1LDB4ODMsMHg0MCwweGU1LAotMHg0MSwweDU0LDB4MGYsMHhmNSwweDNmLDB4ZTUsMHg0MCwweDcwLDB4MDQsMHhlNSwweDNmLDB4NjQsMHgwMywweDcwLDB4MzUsMHhlNSwKLTB4M2UsMHgyNCwweGZkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweDAyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsCi0weGUwLDB4MzAsMHhlNiwweDA1LDB4MTIsMHgxMCwweDRiLDB4ODAsMHgxOSwweGU1LDB4M2UsMHgyNCwweDlkLDB4ZjgsMHhjNiwweDU0LAotMHhmYiwweGY2LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHg3NCwKLTB4MGYsMHhmMCwweDgwLDB4NTksMHhlNSwweDQwLDB4NzAsMHgwNCwweGU1LDB4M2YsMHg2NCwweDA0LDB4NzAsMHg0OCwweGU1LDB4M2UsCi0weDI0LDB4ZmQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLAotMHgzMCwweGU1LDB4MDcsMHhhYywweDQyLDB4YWQsMHg0MSwweDEyLDB4MWMsMHgzYywweGU1LDB4NDIsMHgzMCwweGUyLDB4MTUsMHg3OCwKLTB4YWQsMHhlNiwweDMwLDB4ZTAsMHgwZiwweDc4LDB4YWQsMHhlNiwweDMwLDB4ZTEsMHgwOSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsCi0weDA0LDB4MTIsMHgzMSwweGZiLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweDc0LDB4MGYsMHhmMCwweDgwLDB4MDcsMHhlNCwweGZjLDB4N2QsMHhlZSwweDEyLDB4MWMsMHgzYywweGMyLDB4MDMsMHgyMiwKLTB4MTIsMHgzMCwweGU2LDB4MTIsMHgwZiwweDY5LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsMHhmYywweDM4LDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwweGZjLDB4MzksMHhmMCwweGMyLDB4MDMsMHg3ZCwweDAyLDB4N2MsMHgwMCwKLTB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweGVjLDB4MjQsCi0weDlkLDB4ZjgsMHhlNiwweDMwLDB4ZTEsMHgwNywweDdjLDB4MTMsMHgxMiwweDI1LDB4YmYsMHg4MCwweDBmLDB4OTAsMHhmYywweDM5LAotMHhlMCwweGZkLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDEzLDB4YzgsMHgxMiwweDI1LDB4YmYsMHgxMiwweDMxLDB4NjksMHgyMiwKLTB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHg3ZCwweDAwLDB4MTIsMHgwZiwweDA5LDB4MTIsMHgyNSwweGJmLDB4MTIsCi0weDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4ZWMsMHgyNCwweDlkLDB4ZjgsMHhlNiwweDMwLAotMHhlMiwweDA3LDB4N2MsMHgxMywweDEyLDB4MjUsMHhiZiwweDgwLDB4MWIsMHg3OCwweDk1LDB4ZTYsMHgyNCwweDlkLDB4ZjgsMHhlNiwKLTB4MjAsMHhlMSwweDA3LDB4N2MsMHgxMiwweDEyLDB4MjUsMHhiZiwweDgwLDB4MGEsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MTMsCi0weGVjLDB4MTIsMHgyNSwweGJmLDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweGVjLAotMHgyNCwweDlkLDB4ZjgsMHhlNiwweDIwLDB4ZTIsMHgwNywweDdjLDB4MTEsMHgxMiwweDI1LDB4YmYsMHg4MCwweDBhLDB4NzgsMHg5NSwKLTB4ZTYsMHhmYywweDEyLDB4MTQsMHhlZCwweDEyLDB4MjUsMHhiZiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4NzgsCi0weDk1LDB4ZWMsMHhmNiwweDEyLDB4MGYsMHg2OSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLDB4ZmMsMHgzZiwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYSwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsMHhmYywweDQwLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAzLDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGY1LDB4NjIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwweDYzLDB4OGMsMHg2MSwweGU0LDB4ZWMsMHgzMywweDMzLDB4NTQsCi0weDAxLDB4NzgsMHg5NSwweGY2LDB4NjAsMHgwOCwweGU1LDB4NjIsMHgzMCwweGUxLDB4MDMsMHg3OCwweDk1LDB4MDYsMHg3OCwweDk1LAotMHhlNiwweDkwLDB4ZmMsMHg0MSwweGYwLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4ZmQsMHhhMywweGUwLDB4NTQsMHgwYywweGZjLDB4ZWQsMHg1NCwweGU2LDB4OGMsMHg2NSwweGY1LDB4NjQsCi0weGU1LDB4NjEsMHgzMCwweGU1LDB4MDMsMHg0MywweDY1LDB4MDEsMHhlNSwweDYyLDB4MjAsMHhlNSwweDBlLDB4ZTUsMHg2MSwweDU0LAotMHg3ZiwweDcwLDB4MDgsMHhlNSwweDYxLDB4MjAsMHhlNywweDAzLDB4NDMsMHg2NSwweDAyLDB4ZTUsMHg2MSwweDMwLDB4ZTMsMHgwMywKLTB4NDMsMHg2NSwweDEwLDB4ZTUsMHg2MSwweDMwLDB4ZTIsMHgwMywweDQzLDB4NjUsMHgyMCwweGU1LDB4NjEsMHg1NCwweDAzLDB4NjAsCi0weDAzLDB4NDMsMHg2NSwweDQwLDB4ZTUsMHg2MSwweDMwLDB4ZTEsMHgwMywweDQzLDB4NjUsMHg4MCwweGU1LDB4NjEsMHgzMCwweGU0LAotMHgwMywweDQzLDB4NjQsMHgwMSwweGU1LDB4NjEsMHgzMCwweGU2LDB4MDMsMHg0MywweDY0LDB4MDgsMHhlNSwweDYyLDB4MjAsMHhlNCwKLTB4MGUsMHhlNSwweDYxLDB4NTQsMHg3ZiwweDcwLDB4MDgsMHhlNSwweDYxLDB4MjAsMHhlNywweDAzLDB4NDMsMHg2NCwweDEwLDB4NTMsCi0weDY1LDB4ZmIsMHg1MywweDY0LDB4NzksMHhhZCwweDY0LDB4ZTUsMHg2NSwweDkwLDB4ZmMsMHgzYSwweGNkLDB4ZjAsMHhhMywweGNkLAotMHhmMCwweGU1LDB4NjMsMHgzMCwweGUzLDB4MGQsMHhlNSwweDYzLDB4NTQsMHgzMCwweGM0LDB4NTQsMHgwZiwweDkwLDB4ZmMsMHgzZCwKLTB4ZjAsMHg4MCwweDA1LDB4ZTQsMHg5MCwweGZjLDB4M2QsMHhmMCwweGU1LDB4NjMsMHg1NCwweDAzLDB4OTAsMHhmYywweDNjLDB4ZjAsCi0weGU1LDB4NjMsMHg1NCwweDA0LDB4YzMsMHgxMywweDkwLDB4ZmMsMHgzZSwweGYwLDB4OTAsMHhmYywweDNjLDB4ZTAsMHg3MCwweDBlLAotMHg3ZCwweDM1LDB4N2UsMHhmYywweDdmLDB4MDEsMHg3NCwweDAxLDB4OTAsMHgwMCwweDA5LDB4MTIsMHgwMSwweDQyLDB4NzgsMHhhOSwKLTB4ZTYsMHgyNCwweDA4LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4N2MsMHgwMCwweGZkLDB4NzgsCi0weGE5LDB4ZTYsMHgyNCwweDA3LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4N2YsMHgwMCwweDRjLAotMHhmZSwweGVmLDB4NGQsMHg5MCwweGZjLDB4MzgsMHhmMCwweGEzLDB4Y2UsMHhmMCwweGNlLDB4YzIsMHgwMywweDdkLDB4MGEsMHg3YywKLTB4MDAsMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4NzgsCi0weDlhLDB4NzYsMHgwMSwweDA4LDB4NzYsMHhmYywweDA4LDB4NzYsMHgzOCwweDc4LDB4OTcsMHg3NiwweDBjLDB4NzgsMHg5YSwweDEyLAotMHgwNCwweDY1LDB4MTIsMHgwMiwweDE0LDB4NzgsMHg5OCwweGNiLDB4ZjYsMHhjYiwweDA4LDB4ZjYsMHg3ZiwweDAwLDB4ZWYsMHgyNCwKLTB4ZWEsMHg0MCwweDFmLDB4ZTQsMHhlZiwweDI1LDB4ZTAsMHg5MCwweDM1LDB4MmMsMHhmZCwweDkzLDB4Y2QsMHgwNCwweDkzLDB4NzgsCi0weDk5LDB4NjYsMHg3MCwweDAzLDB4ZWQsMHgxOCwweDY2LDB4NzAsMHgwNiwweDc4LDB4OTcsMHg3NiwweDAwLDB4ODAsMHgwMywweDBmLAotMHg4MCwweGRjLDB4NzgsMHg5NiwweGVmLDB4ZjYsMHg3OCwweDlhLDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMiwKLTB4MGUsMHg3OCwweDk4LDB4Y2IsMHhmNiwweGNiLDB4MDgsMHhmNiwweDU0LDB4MDQsMHhjYiwweDU0LDB4ODYsMHg0YiwweDYwLDB4MDQsCi0weDc4LDB4OTcsMHg3NiwweDBiLDB4NzgsMHg5OSwweGU2LDB4MzAsMHhlMywweDEzLDB4NzgsMHg5YSwweDEyLDB4MDQsMHg2NSwweDkwLAotMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmYiwweDUwLDB4MDQsMHg3OCwweDk3LDB4NzYsMHgwZCwweDc4LDB4OTksMHhlNiwKLTB4NTQsMHhjMCwweDdkLDB4MDAsMHg2NCwweGMwLDB4NGQsMHg3MCwweDA0LDB4NzgsMHg5NywweDc2LDB4MGIsMHg3OCwweDlhLDB4MTIsCi0weDA0LDB4NjUsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZjLDB4NTAsMHgwNCwweDc4LDB4OTcsMHg3NiwweDBmLAotMHg3OCwweDlhLDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmZCwweDUwLDB4MDQsMHg3OCwKLTB4OTcsMHg3NiwweDBlLDB4NzgsMHg5YSwweDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwOSwweDEyLDB4MDEsMHhlYywweDI0LDB4ZmQsCi0weDUwLDB4MDQsMHg3OCwweDk3LDB4NzYsMHgwYSwweDc4LDB4OTcsMHhlNiwweDcwLDB4MmEsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLAotMHgwZiwweDY5LDB4NzgsMHg5YSwweDEyLDB4MDQsMHg2NSwweDc4LDB4YTcsMHhlNiwweGY5LDB4NzgsMHhhNiwweGU2LDB4ZmEsMHg3YiwKLTB4MDEsMHg3NCwweDBhLDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweGMyLDB4MDMsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MTEsCi0weDA3LDB4NzgsMHg5NywweGVjLDB4ZjYsMHg3OCwweDk3LDB4ZTYsMHhmYywweDEyLDB4MjUsMHhiZiwweDEyLDB4MzEsMHg2OSwweDIyLAotMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweDEyLDB4MGYsMHg2OSwweDc4LDB4OTUsMHhlNiwweDI0LDB4ZmQsMHg3NSwKLTB4ZjAsMHgwYSwweGE0LDB4MjQsMHgxNCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4YWMsMHg4MiwweGFkLDB4ODMsCi0weDc4LDB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmOSwweGVkLDB4ZmEsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLAotMHgwMywweGE3LDB4YzIsMHgwMywweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgxMSwweDA3LDB4MTIsMHgzMSwweDY5LDB4MjIsMHg4ZCwKLTB4MmIsMHg4YywweDJhLDB4ZWQsMHg2MCwweDQwLDB4NzUsMHgyNywweDAxLDB4NzUsMHgyOSwweDQ4LDB4NzUsMHgyOCwweGZmLDB4ZTUsCi0weDJhLDB4MjQsMHhmZCwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsMHhlYywweDdjLDB4MDMsMHgyNSwweGUwLDB4Y2QsMHgzMywweGNkLAotMHhkYywweGY5LDB4ZmMsMHhlNSwweDI5LDB4MmMsMHhmNSwweDI5LDB4ZTUsMHgyOCwweDNkLDB4ZjUsMHgyOCwweGFkLDB4MjksMHhhZSwKLTB4MjgsMHhhZiwweDI3LDB4NzQsMHg4MCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweDc0LDB4ODAsMHg5MCwweDAwLDB4MDIsCi0weDEyLDB4MDMsMHgxNywweDEyLDB4MGYsMHhiNywweGU1LDB4MmIsMHgxNCwweDYwLDB4M2IsMHg3NSwweDI3LDB4MDEsMHg3NSwweDI5LAotMHgwOCwweDc1LDB4MjgsMHhmZiwweGU1LDB4MmEsMHgyNCwweGZkLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweGVjLDB4N2MsMHgwMywKLTB4MjUsMHhlMCwweGNkLDB4MzMsMHhjZCwweGRjLDB4ZjksMHhmYywweGU1LDB4MjksMHgyYywweGY1LDB4MjksMHhlNSwweDI4LDB4M2QsCi0weGY1LDB4MjgsMHhhZCwweDI5LDB4YWUsMHgyOCwweGFmLDB4MjcsMHhlNCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweGU0LAotMHg5MCwweDAwLDB4MDIsMHgxMiwweDAzLDB4MTcsMHgyMiwweDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4ZWMsMHgyNCwKLTB4OWQsMHhmOCwweGU2LDB4MzAsMHhlMiwweDA5LDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDE0LDB4ZWQsMHhkMiwweDAwLDB4NzgsCi0weDk1LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwweDc4LDB4OTYsMHg3NiwweDAwLDB4OTAsMHhmYywweDM5LDB4ZTAsMHgzMCwweGU3LAotMHgwNCwweDc4LDB4OTYsMHg3NiwweDAxLDB4NzgsMHg5NiwweGU2LDB4ZmQsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MGQsMHgyZiwKLTB4YzIsMHgwMywweDMwLDB4MDAsMHgwNywweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgxMywweGVjLDB4N2MsMHgwMCwweDEyLDB4MjUsCi0weGJmLDB4MTIsMHgzMSwweDY5LDB4MjIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGUwLDB4MDIsMHg4MCwweGVkLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmOCwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHg4MCwweGYwLDB4MjIsMHhjMiwweDAzLDB4OGMsMHg1OCwKLTB4MTIsMHgwZiwweDY5LDB4NzgsMHhhNiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHg3OSwweDVkLDB4N2EsMHgzNSwweDdiLDB4MGEsCi0weDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsMHgxMiwweDBlLDB4MDUsMHhhYywweDU4LDB4N2QsMHgwMiwweDEyLDB4MGQsMHgyZiwweGMyLAotMHgwMywweGFjLDB4NTgsMHgxMiwweDExLDB4MDcsMHgyMiwweDhkLDB4NTMsMHg4ZSwweDUyLDB4OGYsMHg1MSwweDhjLDB4NTAsMHgxMiwKLTB4MGYsMHg2OSwweDc1LDB4NGYsMHgwMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDIwLDB4ZTQsMHgxZiwweGU1LDB4NGYsMHgyNCwweGY2LDB4NDAsMHgxOSwweDA1LDB4NGYsMHhjMiwweDAzLAotMHg3YywweDE4LDB4MTIsMHgzMiwweGE5LDB4OTAsMHhmZiwweDkzLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhiMiwweGIzLDB4YWMsMHg1MCwKLTB4MTIsMHgwZiwweDY5LDB4ODAsMHhkMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDIwLDB4ZTQsMHgwNSwweGMyLDB4MDMsMHg3YywweDAyLDB4MjIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LAotMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDBmLDB4NjAsMHgxNiwweDc4LDB4YTksMHhlNiwKLTB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4MGYsMHhmMCwweGMyLDB4MDMsCi0weDdjLDB4MDEsMHgyMiwweDc4LDB4YTgsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHhhZCwweDUzLDB4YWUsMHg1MiwweGFmLAotMHg1MSwweDEyLDB4MDMsMHgwZiwweGMyLDB4MDMsMHg3YywweDAwLDB4MjIsMHg4ZCwweDMxLDB4OGMsMHgzMCwweDEyLDB4MTQsMHhlZCwKLTB4ZTUsMHgzMSwweDYwLDB4MGYsMHhlNSwweDMwLDB4YjQsMHgwMywweDBhLDB4N2MsMHgwMSwweDEyLDB4MjQsMHhlZSwweDdjLDB4ODEsCi0weDEyLDB4MjQsMHhlZSwweGFjLDB4MzAsMHgxMiwweDBmLDB4NjksMHhlNSwweDMxLDB4NjAsMHgxYSwweDc4LDB4YWEsMHg4NiwweDgzLAotMHgwOCwweDg2LDB4ODIsMHhlMCwweDU0LDB4ZTcsMHhmMCwweGEzLDB4YTMsMHhhMywweGEzLDB4ZTAsMHg1NCwweGU3LDB4ZjAsMHhhYywKLTB4MzAsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDJmLDB4NzgsMHhhNiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHg3OSwweDY3LDB4N2EsCi0weDM1LDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsMHhjMiwweDAzLDB4ZTUsMHgzMCwweDI0LDB4OWQsMHhmOCwweGM2LAotMHg1NCwweGZkLDB4ZjYsMHhhYywweDMwLDB4MTIsMHgxMSwweDA3LDB4MjIsMHg4YywweDI2LDB4MzAsMHgwMywweDA1LDB4MTIsMHgzMiwKLTB4NDgsMHg4MCwweGY4LDB4N2MsMHgwYSwweDEyLDB4MzEsMHg1YiwweGQyLDB4MDMsMHhlNSwweDI2LDB4MjQsMHhmZCwweDc4LDB4YTMsCi0weGY2LDB4NzAsMHgwNywweDc4LDB4YWEsMHg3NiwweGZmLDB4MDgsMHg3NiwweGUwLDB4NzgsMHhhMywweGU2LDB4NzUsMHhmMCwweDEwLAotMHhhNCwweGFkLDB4ZjAsMHhmYywweDI0LDB4YTAsMHg3OCwweGE5LDB4ZjYsMHhlZCwweDM0LDB4ZmYsMHgxOCwweGY2LDB4NzgsMHhhMywKLTB4ZTYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MDAsMHhmYywweGU0LDB4MzQsMHhmYywweGZkLDB4NzgsMHhhNiwweGVkLDB4ZjYsCi0weDA4LDB4ZWMsMHhmNiwweDEyLDB4MzEsMHhmNCwweDIyLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNywweDIyLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHg4MCwweGYwLDB4MjIsMHg3OCwweGFhLDB4ODYsMHg4MywweDA4LAotMHg4NiwweDgyLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHhhZCwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmYywweGU0LDB4M2QsMHg4YywKLTB4ODIsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGY4LDB4ZjAsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4NzQsMHgwZiwweGYwLDB4MjIsMHg3OCwweGFhLDB4ODYsMHg4MywweDA4LAotMHg4NiwweDgyLDB4ZTAsMHg1NCwweDNmLDB4ZjAsMHhhZCwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmYywweGU0LDB4M2QsMHg4YywKLTB4ODIsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDNmLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweGE0LDB4ZjgsMHhlNiwweGZjLDB4NzgsCi0weGFiLDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGEzLAotMHhlNiwweDI0LDB4YTQsMHhmOCwweGU2LDB4ZmMsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDU0LDB4ZmIsMHg0NCwweDAyLDB4ZjUsMHgyNiwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTUsMHgwMywweDQzLDB4MjYsMHgwMSwweDc4LDB4YTksMHhlNiwKLTB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTAsMHgwMywweDEyLDB4MGYsCi0weGI3LDB4ZTUsMHgyNiwweGZjLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGVjLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4NzQsMHgwZiwweGYwLDB4NzgsMHhhYSwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDQ0LDB4ODAsMHhmMCwweGEzLDB4YTMsCi0weGEzLDB4YTMsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDIyLDB4OGMsMHgyYSwweDEyLDB4MGYsMHg2OSwweDc4LDB4YTcsMHhlNiwweDI0LAotMHgwOCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGZjLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYSwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDA3LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhNiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwKLTB4ZmQsMHhhMywweGUwLDB4ZmMsMHhlZCwweGZlLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwOCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHhlYywweGZlLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNywweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg4YywweDI5LDB4OGQsMHgyOCwweGMzLDB4ZWMsMHg5NCwweDA1LDB4ZWQsMHg5NCwKLTB4MGMsMHg0MCwweDA1LDB4NzUsMHgyNywweDdjLDB4ODAsMHgzMywweGQzLDB4ZTUsMHgyOSwweDk0LDB4MDEsMHhlNSwweDI4LDB4OTQsCi0weDAzLDB4NDAsMHgwNSwweDc1LDB4MjcsMHgzYywweDgwLDB4MjMsMHhkMywweGU1LDB4MjksMHg5NCwweDgxLDB4ZTUsMHgyOCwweDk0LAotMHgwMSwweDQwLDB4MDUsMHg3NSwweDI3LDB4MTgsMHg4MCwweDEzLDB4ZDMsMHhlNSwweDI5LDB4OTQsMHg2MCwweGU1LDB4MjgsMHg5NCwKLTB4MDAsMHg0MCwweDA1LDB4NzUsMHgyNywweDBjLDB4ODAsMHgwMywweDc1LDB4MjcsMHgwOCwweGFmLDB4MjcsMHhlNCwweGVmLDB4NTQsCi0weDdjLDB4NDQsMHg4MywweGZmLDB4OGYsMHgyNywweGU1LDB4MjcsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDEsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNSwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGEzLDB4ZTYsCi0weDI0LDB4YTQsMHhmOCwweGVjLDB4ZjYsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHhmNSwweDI3LDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGUzLDB4MTcsMHg1MywweDI3LDB4YzcsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDA1LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDM1LDB4NTgsMHg5MywweDQyLDB4MjcsMHg1MywweDI3LAotMHhmYiwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg2MCwKLTB4MDMsMHg0MywweDI3LDB4MDQsMHg1MywweDI3LDB4ZmMsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0MiwweDI3LDB4NDMsMHgyNywweDgwLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhOSwweGU2LAotMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwKLTB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwweDI3LDB4NzgsMHhhNywweGU2LDB4MjQsCi0weDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGUxLDB4MDUsMHg1MywweDI3LAotMHhkZiwweDgwLDB4MDMsMHg0MywweDI3LDB4MjAsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU0LDB4MDUsMHg1MywweDI3LDB4ZWYsMHg4MCwweDAzLDB4NDMsMHgyNywweDEwLDB4NzgsCi0weGE3LDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4YjQsMHgwMiwweDAzLAotMHg0MywweDI3LDB4MDIsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDMsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweGY1LDB4MjcsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg3MCwweDA1LDB4NTMsMHgyNywweDdmLDB4ODAsMHgwMywweDQzLDB4MjcsMHg4MCwweDc4LDB4YTcsMHhlNiwKLTB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlMCwweDA1LDB4NDMsCi0weDI3LDB4MjAsMHg4MCwweDAzLDB4NTMsMHgyNywweGRmLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMywweDA1LDB4NDMsMHgyNywweDQwLDB4ODAsMHgwMywweDUzLDB4MjcsMHhiZiwKLTB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTAsCi0weDA1LDB4NDMsMHgyNywweDEwLDB4ODAsMHgwMywweDUzLDB4MjcsMHhlZiwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlNCwweDA1LDB4NDMsMHgyNywweDA4LDB4ODAsMHgwMywKLTB4NTMsMHgyNywweGY3LDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGEzLDB4ZTAsMHgzMCwweGU1LDB4MDUsMHg0MywweDI3LDB4MDQsMHg4MCwweDAzLDB4NTMsMHgyNywweGZiLDB4NzgsMHhhNywweGU2LAotMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGU2LDB4MDUsMHg0MywKLTB4MjcsMHgwMSwweDgwLDB4MDMsMHg1MywweDI3LDB4ZmUsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTcsMHgwNSwweDQzLDB4MjcsMHgwMiwweDgwLDB4MDMsMHg1MywweDI3LAotMHhmZCwweGU1LDB4MjcsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MDMsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlYywweGYwLDB4YzIsMHgwMywweDdjLDB4MDAsMHgyMiwweDhkLDB4MjcsMHg4YywweDI2LDB4ZWQsMHg1NCwweDAzLDB4MTQsCi0weDYwLDB4MDMsMHg3YywweDEwLDB4MjIsMHhlNSwweDI3LDB4NTQsMHg3YywweDI0LDB4ZmMsMHg0MCwweDAzLDB4N2MsMHgwYiwweDIyLAotMHhlNSwweDI2LDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg0NCwweDAyLDB4ZjYsMHg3YywweDAwLDB4MjIsMHg4YywweDMwLDB4MTIsMHgwZiwKLTB4NjksMHhlNSwweDMwLDB4MjQsMHg5ZCwweGY4LDB4ZTYsMHgyMCwweGUyLDB4NGYsMHhhYywweDMwLDB4N2QsMHgwMiwweDEyLDB4MGQsCi0weDJmLDB4ZTUsMHgzMCwweDI0LDB4ZmUsMHg0NCwweDI4LDB4ZmMsMHg3OCwweGFhLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLAotMHhmMCwweGFmLDB4ODMsMHhlNSwweDgyLDB4MjQsMHgwNCwweGZlLDB4ZTQsMHgzZiwweGZmLDB4ZWMsMHg4ZSwweDgyLDB4OGYsMHg4MywKLTB4ZjAsMHg3YywweDAzLDB4OGMsMHgyYywweGU1LDB4MmMsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDEsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyYywweGZjLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNSwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3NSwweDJkLDB4MDEsMHg3NSwweDJmLDB4NDgsMHg3NSwKLTB4MmUsMHhmZiwweGU1LDB4MzAsMHgyNCwweGZkLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweGVjLDB4N2MsMHgwMywweDI1LDB4ZTAsCi0weGNkLDB4MzMsMHhjZCwweGRjLDB4ZjksMHhmYywweGU1LDB4MmYsMHgyYywweGY1LDB4MmYsMHhlNSwweDJlLDB4M2QsMHhmNSwweDJlLAotMHg3OCwweGFiLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhlNywKLTB4ZjUsMHgyYywweGFkLDB4MmYsMHhhZSwweDJlLDB4YWYsMHgyZCwweGU0LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMywweDE3LDB4ZTQsCi0weDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweDEyLDB4MDEsMHhlNiwweDMwLDB4ZTUsMHgwMywweDQzLDB4MmMsMHgxMCwweGU1LAotMHgyYywweGZjLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywKLTB4ZjAsMHgxMiwweDEwLDB4NGIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHhjMiwweDAzLDB4ZmMsMHhlNSwweDMwLDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg0NCwweDA0LDB4ZjYsMHg4YywweDJjLAotMHhlNSwweDMwLDB4NTQsMHgwZiwweGM0LDB4NTQsMHhmMCwweDdlLDB4MDAsMHhmZiwweGVlLDB4ZWYsMHg0NCwweDA0LDB4N2QsMHgwMCwKLTB4ZmYsMHhlYywweDRlLDB4ZmMsMHhlZCwweDRmLDB4ZmQsMHgxMiwweDFjLDB4YTcsMHg3YywweDAwLDB4MjIsMHg4YywweDJmLDB4MTIsCi0weDBmLDB4NjksMHgxMiwweDBmLDB4ZWIsMHg3OCwweGFhLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4NTQsMHgwOCwweGYwLAotMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4NTQsMHgwOCwweGYwLDB4YWMsMHgyZiwweDdkLDB4MDIsMHgxMiwweDBkLDB4MmYsMHhjMiwKLTB4MDMsMHhlNSwweDJmLDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg1NCwweGZiLDB4ZjYsMHg3YywweDAwLDB4MjIsMHgxMiwweDMwLDB4ZTYsCi0weDc4LDB4OTYsMHhlYywweGY2LDB4ZWMsMHgyNCwweDlkLDB4ZjgsMHhlNiwweDMwLDB4ZTEsMHgwYSwweDdkLDB4MDAsMHg3YywweDEzLAotMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHg3OCwweDk2LDB4ZTYsMHgyNCwweDlkLDB4ZjgsMHhjNiwweDQ0LDB4MDEsMHhmNiwKLTB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwweDBmLDB4NjksMHg3OCwweDk2LDB4ZTYsMHgyNCwweGZkLDB4NzUsMHhmMCwweDBhLDB4YTQsCi0weDI0LDB4MTQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweDc4LDB4YTYsMHhlNiwweGZhLDB4MDgsMHhlNiwweGY5LAotMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhhNywweDc4LDB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4NzksMHg2NywKLTB4N2EsMHgzNSwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4MTIsMHgwZiwweGI3LDB4YzIsMHgwMywweDc4LDB4OTYsCi0weGU2LDB4ZmMsMHgxMiwweDExLDB4MDcsMHg3OCwweDk1LDB4ZWMsMHhmNiwweGVjLDB4NjAsMHgwYSwweDdkLDB4MDAsMHg3YywweDA4LAotMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwweDc4LDB4YTksMHhlNiwKLTB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MTAsMHg1NCwweGRmLDB4ZmMsCi0weDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LAotMHg5NSwweGVjLDB4ZjYsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwKLTB4NjksMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsCi0weGVmLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDY5LAotMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgxMCwKLTB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDY5LDB4NzgsCi0weGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgyMCwweGYwLAotMHhjMiwweDAzLDB4N2MsMHhmMCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDY5LDB4NzgsMHhhOSwKLTB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNCwweDE1LDB4YzIsCi0weDAzLDB4NzgsMHg5NiwweGU2LDB4NDQsMHgxMCwweDdmLDB4MDAsMHhmZSwweDdjLDB4MDcsMHgxMiwweDMxLDB4ZmIsMHgxMiwweDMxLAotMHg2OSwweDAyLDB4MTcsMHgxNCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweDU0LDB4Y2YsMHhmMCwweGMyLDB4MDMsMHg3YywweGM4LDB4MTIsMHgzMiwweGE5LDB4NzgsMHg5NiwweGU2LDB4ZmMsCi0weDEyLDB4MGYsMHg2OSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhlMCwweDQ0LDB4MzAsMHhmMCwweGMyLDB4MDMsMHg3YywweGYwLDB4MTIsMHgzMiwweGE5LDB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwKLTB4MGYsMHg2OSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsCi0weDMwLDB4ZTQsMHgxNCwweGMyLDB4MDMsMHg3OCwweDk2LDB4ZTYsMHg0NCwweDEwLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgwNywweDEyLAotMHgzMSwweGZiLDB4MTIsMHgzMSwweDY5LDB4ODAsMHg1ZCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZWYsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZGYsMHhmMCwweDc4LDB4OTYsMHhlNiwweDI0LDB4ZmQsMHg3NSwweGYwLAotMHgwYSwweGE0LDB4MjQsMHgxNCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4YWMsMHg4MiwweGFkLDB4ODMsMHg3OCwKLTB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmOSwweGVkLDB4ZmEsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsCi0weGE3LDB4YzIsMHgwMywweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgxMSwweDA3LDB4N2QsMHgwMCwweDdjLDB4MGIsMHgxMiwweDI1LAotMHgyNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4ZTQsMHg5MCwweGZjLDB4MzksMHhmMCwweDdkLDB4MDIsMHg3YywKLTB4MDAsMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDdjLDB4MDAsMHgxMiwweDI1LDB4YmYsCi0weDEyLDB4MzEsMHg2OSwweDIyLDB4NzQsMHgzYywweDkwLDB4ZmIsMHhlMCwweGYwLDB4NzQsMHgzZSwweDkwLDB4ZmIsMHhlMCwweGYwLAotMHhlNCwweDkwLDB4ZmMsMHgyOCwweGYwLDB4MjIsMHg4ZCwweDM1LDB4OGMsMHgzNCwweGVjLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywKLTB4ZDMsMHg0MCwweDAyLDB4ODAsMHgyOCwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDgsMHhhOCwweDM1LDB4YzYsCi0weDI1LDB4ZTAsMHhmNiwweDgwLDB4MTgsMHhiNCwweDA0LDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4YTgsMHgzNSwweGM2LAotMHgyNSwweGUwLDB4MjUsMHhlMCwweGY2LDB4ODAsMHgwNiwweGE4LDB4MzUsMHg3NiwweDAwLDB4ODAsMHgwMCwweDIyLDB4OGMsMHgzYywKLTB4OGQsMHgzYiwweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDc1LDB4NjYsMHgwNiwweDc1LDB4NjcsMHgwMCwweDkwLDB4ZmMsCi0weDI5LDB4MTIsMHgwNCwweDZlLDB4MTIsMHgwMSwweGU2LDB4YjQsMHg4MCwweDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLAotMHgxOCwweDQ3LDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDAzLDB4MTIsMHgwMSwweGVjLDB4NTQsMHhmMCwKLTB4YjQsMHgzMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg1ZiwweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsCi0weDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhmZCwweGViLDB4ZmUsMHg3ZiwweDAxLDB4OTAsMHhmYywweDJjLDB4MTIsMHgwNCwweDZlLAotMHhlZSwweGNkLDB4OTAsMHgzNSwweDcxLDB4ZmMsMHhlNCwweDkzLDB4ZmYsMHg3NCwweDAxLDB4OTMsMHhmZSwweGY5LDB4ZWYsMHhmYSwKLTB4N2IsMHgwMSwweGVhLDB4ZmYsMHhlOSwweGZlLDB4ZWMsMHhjMywweDllLDB4ZWQsMHg5ZiwweDQwLDB4MjUsMHg5MCwweDM1LDB4NzMsCi0weGU0LDB4OTMsMHhmZCwweDc0LDB4MDEsMHg5MywweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4ZWUsMHhjZCwweGZjLAotMHg5MCwweGZjLDB4MmUsMHhlMCwweGQzLDB4OWMsMHg5MCwweGZjLDB4MmQsMHhlMCwweDlkLDB4NTAsMHgwNSwweDc1LDB4NjYsMHg4MCwKLTB4ODAsMHgzMywweDEyLDB4MTksMHg2NSwweDgwLDB4MmUsMHhiNCwweDYwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBiLDB4YWMsCi0weDNjLDB4YWQsMHgzYiwweDEyLDB4MDcsMHg3NywweDhjLDB4NjYsMHg4MCwweDFiLDB4YjQsMHgxMCwweDAzLDB4YjMsMHg0MCwweDEwLAotMHhjMywweGI0LDB4MjAsMHgwMywweGIzLDB4NDAsMHgwOSwweGMzLDB4YjQsMHg0MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwKLTB4NzUsMHg2NiwweDgxLDB4ODAsMHgwMCwweDgwLDB4NzUsMHhiNCwweDgxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDZiLDB4OTAsCi0weGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDMsMHgxMiwweDAxLDB4ZWMsMHg1NCwweGYwLDB4YjQsMHgzMCwweDAyLAotMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFkLDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwKLTB4MGUsMHhmYSwweGZkLDB4ZWIsMHhmZSwweDdmLDB4MDEsMHg5MCwweGZjLDB4MmYsMHgxMiwweDA0LDB4NmUsMHgxMiwweDE4LDB4Y2YsCi0weDgwLDB4MzYsMHhiNCwweDYwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDEzLDB4NzUsMHgzYSwweDY3LDB4ZTQsMHhmNSwweDM5LAotMHhmNSwweDM4LDB4YWMsMHgzYywweGFkLDB4M2IsMHgxMiwweDA1LDB4ZDMsMHg4YywweDY2LDB4ODAsMHgxYiwweGI0LDB4MTAsMHgwMywKLTB4YjMsMHg0MCwweDEwLDB4YzMsMHhiNCwweDIwLDB4MDMsMHhiMywweDQwLDB4MDksMHhjMywweGI0LDB4NDAsMHgwMiwweDgwLDB4MDMsCi0weGQzLDB4NDAsMHgwMCwweDc1LDB4NjYsMHg4MSwweDgwLDB4MDAsMHg4MCwweDAyLDB4ODAsMHgwMCwweGU1LDB4NjYsMHhmYywweDkwLAotMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4ZWMsMHg5MCwweDAwLDB4MDIsMHgxMiwweDAzLDB4MTcsMHhhYywweDY3LDB4MjIsMHg5MCwKLTB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDYwLDB4MDQsMHg3NCwweDAxLDB4ODAsCi0weDAxLDB4ZTQsMHhhMiwweGUwLDB4OTIsMHgwMSwweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweGVkLDB4MjQsMHgwMywweGZkLAotMHg1MCwweDAxLDB4MGUsMHg5MCwweGZjLDB4MmMsMHgxMiwweDA0LDB4NmUsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwKLTB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweGY1LDB4NjcsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4ZmMsCi0weDdkLDB4NjcsMHgxMiwweDE3LDB4NDYsMHhlNSwweDY3LDB4NzAsMHgwNCwweDc1LDB4NjYsMHgwOCwweDIyLDB4NzUsMHg2NiwweDAwLAotMHg3OCwweDg0LDB4NzYsMHgwMCwweDc4LDB4ODQsMHhlNiwweGMzLDB4OTUsMHg2NywweDUwLDB4MzgsMHg5MCwweGZjLDB4MmYsMHgxMiwKLTB4MDQsMHg4MCwweDEyLDB4MDEsMHhlNiwweGZjLDB4OTAsMHhmYywweDJjLDB4MTIsMHgwNCwweDgwLDB4ZWMsMHgxMiwweDAzLDB4MGYsCi0weDMwLDB4MDEsMHgwZSwweDkwLDB4ZmMsMHgzMSwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmMsMHgzMCwweDcwLDB4MDMsMHhlMCwweDA0LAotMHhmMCwweDc4LDB4ODQsMHgwNiwweDkwLDB4ZmMsMHgyZSwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmMsMHgyZCwweDcwLDB4MDMsMHhlMCwKLTB4MDQsMHhmMCwweDgwLDB4YzAsMHgyMiwweDkwLDB4ZmMsMHgyYSwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsMHhlZCwweGZlLDB4ZWMsCi0weGZkLDB4N2YsMHgwMSwweGVkLDB4MjQsMHgwYSwweGZkLDB4NTAsMHgwMSwweDBlLDB4OTAsMHhmYywweDMyLDB4MTIsMHgwNCwweDZlLAotMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4YjQsMHgwMSwKLTB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDE3LDB4OTAsMHhmYywweDMyLDB4MTIsMHgwNCwweDgwLDB4MGQsMHhlZCwweDcwLDB4MDEsCi0weDBlLDB4OTAsMHhmYywweDJmLDB4MTIsMHgwNCwweDZlLDB4NzgsMHg4OCwweDc2LDB4MDEsMHg4MCwweDRlLDB4YjQsMHgwMiwweDAyLAotMHg4MCwweDAzLDB4ZDMsMHg0MCwweDE5LDB4OTAsMHhmYywweDMyLDB4MTIsMHgwNCwweDgwLDB4ZWQsMHgyNCwweDAyLDB4ZmQsMHg1MCwKLTB4MDEsMHgwZSwweDkwLDB4ZmMsMHgyZiwweDEyLDB4MDQsMHg2ZSwweDc4LDB4ODgsMHg3NiwweDAyLDB4ODAsMHgyZCwweGI0LDB4MDQsCi0weDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxOSwweDkwLDB4ZmMsMHgzMiwweDEyLDB4MDQsMHg4MCwweGVkLDB4MjQsMHgwNCwweGZkLAotMHg1MCwweDAxLDB4MGUsMHg5MCwweGZjLDB4MmYsMHgxMiwweDA0LDB4NmUsMHg3OCwweDg4LDB4NzYsMHgwNCwweDgwLDB4MGMsMHhiNCwKLTB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsMHg3NSwweDY2LDB4MDgsMHgyMiwweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsCi0weDgwLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4ZjUsMHg2NywweDc4LDB4ODUsMHg3NiwweDAwLDB4NzgsMHg4NSwweGU2LAotMHhjMywweDk1LDB4NjcsMHg0MCwweDAzLDB4MDIsMHgxYSwweGNkLDB4NzgsMHg4NiwweDc2LDB4MDAsMHg3OCwweDg2LDB4ZTYsMHhjMywKLTB4NzgsMHg4OCwweDk2LDB4NTAsMHg3NiwweDkwLDB4ZmMsMHgyYywweDEyLDB4MDQsMHg4MCwweDEyLDB4MDEsMHhlNiwweGZjLDB4OTAsCi0weGZjLDB4MzIsMHgxMiwweDA0LDB4ODksMHgxMiwweDAxLDB4ZTAsMHhmNCwweDVjLDB4ZmMsMHgxMiwweDAxLDB4ZTAsMHhmOCwweDkwLAotMHhmYywweDJmLDB4MTIsMHgwNCwweDgwLDB4ZTgsMHhjMCwweGUwLDB4MTIsMHgwMSwweGU2LDB4YzgsMHhkMCwweGUwLDB4YzgsMHg1OCwKLTB4NGMsMHhmYywweDkwLDB4ZmMsMHgyYywweDEyLDB4MDQsMHg4MCwweGVjLDB4MTIsMHgwMywweDBmLDB4NzgsMHg4NywweGVjLDB4ZjYsCi0weDkwLDB4ZmMsMHgzMSwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmMsMHgzMCwweDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHgwOSwweGU5LAotMHg3MCwweDAxLDB4MGEsMHg5MCwweGZjLDB4MzIsMHgxMiwweDA0LDB4NzcsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwKLTB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDMwLDB4ZTQsMHgwZSwweDkwLDB4ZmMsMHgyZSwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmMsCi0weDJkLDB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDc4LDB4ODYsMHgwNiwweDgwLDB4ODEsMHg3OCwweDg4LDB4ZTYsMHhmZCwweGU0LAotMHhmZSwweGZmLDB4ZWUsMHhjZCwweGZjLDB4OTAsMHhmYywweDMxLDB4ZTAsMHgyYywweGYwLDB4OTAsMHhmYywweDMwLDB4ZTAsMHgzZCwKLTB4ZjAsMHg3OCwweDg4LDB4ZTYsMHhmZCwweGU0LDB4ZmUsMHhmZiwweGVlLDB4Y2QsMHhmYywweDkwLDB4ZmMsMHgzNCwweGUwLDB4MmMsCi0weGYwLDB4OTAsMHhmYywweDMzLDB4ZTAsMHgzZCwweGYwLDB4NzgsMHg4NSwweDA2LDB4MDIsMHgxYSwweDBkLDB4NzUsMHg2NiwweDAwLAotMHgyMiwweGU1LDB4M2QsMHgwNSwweDNkLDB4MDQsMHg3MCwweDAyLDB4YjIsMHhiMCwweDIyLDB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwKLTB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMCwweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsCi0weGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWYsMHhjMCwweGUwLDB4OTAsMHhmZiwweDkyLAotMHhlMCwweDEyLDB4MDEsMHhiNywweDFiLDB4MjksMHgzMCwweDFiLDB4MjksMHgzMiwweDFiLDB4MzgsMHgzOCwweDFiLDB4NGEsMHgzYSwKLTB4MWIsMHg1YywweDNlLDB4MWIsMHg3NCwweDQ0LDB4MWIsMHg2OCwweDQ2LDB4MWIsMHg4MCwweDUwLDB4MWIsMHhjMiwweDUyLDB4MWIsCi0weGExLDB4NTQsMHgxYiwweGUzLDB4NTYsMHgwMCwweDAwLDB4MWMsMHgwNCwweDkwLDB4ZmYsMHg5MiwweGUwLDB4N2YsMHgwMCwweGZlLAotMHg3YywweDAxLDB4MTIsMHgzMSwweGZiLDB4MDIsMHgxYywweDE0LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDAzLDB4MTIsMHgzMSwKLTB4ZmIsMHg3NCwweDIwLDB4OTAsMHhmZiwweGZlLDB4ZjAsMHgwMiwweDFjLDB4MTQsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDIsCi0weDEyLDB4MzEsMHhmYiwweDc0LDB4NDAsMHg5MCwweGZmLDB4ZmUsMHhmMCwweDAyLDB4MWMsMHgxNCwweGU0LDB4ZmYsMHgwNCwweGZlLAotMHg3YywweDA0LDB4MTIsMHgzMSwweGZiLDB4MDIsMHgxYywweDE0LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA1LDB4MTIsMHgzMSwKLTB4ZmIsMHgwMiwweDFjLDB4MTQsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDYsMHgxMiwweDMxLDB4ZmIsMHgwMiwweDFjLDB4MTQsCi0weDkwLDB4ZmYsMHhhNSwweGUwLDB4N2QsMHgwMCwweDkwLDB4ZmIsMHhmOCwweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZiLAotMHhmOSwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmYiwweGY4LDB4ZTAsMHg0NCwweDMzLDB4ZmQsMHgxMiwweDFjLDB4YTcsMHg4MCwKLTB4NzMsMHg5MCwweGZmLDB4YjUsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZiLDB4ZmEsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsCi0weGZiLDB4ZmIsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmIsMHhmYSwweGUwLDB4NDQsMHg0MywweGZkLDB4MTIsMHgxYywweGE3LAotMHg4MCwweDUyLDB4OTAsMHhmZiwweGE2LDB4ZTAsMHg3ZCwweDAwLDB4OTAsMHhmYiwweGZjLDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwKLTB4OTAsMHhmYiwweGZkLDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZiLDB4ZmMsMHhlMCwweDQ0LDB4MzQsMHhmZCwweDEyLDB4MWMsCi0weGE3LDB4ODAsMHgzMSwweDkwLDB4ZmYsMHhiNiwweGUwLDB4N2QsMHgwMCwweDkwLDB4ZmIsMHhmZSwweGNkLDB4ZjAsMHhhMywweGNkLAotMHhmMCwweDkwLDB4ZmIsMHhmZiwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmYiwweGZlLDB4ZTAsMHg0NCwweDQ0LDB4ZmQsMHgxMiwKLTB4MWMsMHhhNywweDgwLDB4MTAsMHg5MCwweGZmLDB4OTIsMHhlMCwweDdkLDB4MDAsMHhmYywweGVkLDB4NDQsMHhhYSwweGZkLDB4MTIsCi0weDFjLDB4YTcsMHg4MCwweDAwLDB4ZTQsMHg5MCwweGZmLDB4OTIsMHhmMCwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLAotMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDAsMHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwKLTB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyLDB4MDUsMHg4MSwweDA1LDB4ODEsCi0weDA1LDB4ODEsMHgwNSwweDgxLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg5MCwweGZmLAotMHg1YSwweGUwLDB4MjAsMHhlNywweDAyLDB4ODAsMHhmNywweDkwLDB4ZmYsMHg1OSwweGUwLDB4N2QsMHgwMCwweGE4LDB4ODEsMHgxOCwKLTB4Y2QsMHhmNiwweGNkLDB4MDgsMHhmNiwweDdkLDB4MDMsMHhhOCwweDgxLDB4ZTYsMHgxOCwweGZjLDB4ZTYsMHhjYywweDI1LDB4ZTAsCi0weGNjLDB4MzMsMHhjYywweGRkLDB4ZjksMHhjYywweGY2LDB4Y2MsMHgwOCwweGY2LDB4YTgsMHg4MSwweDE4LDB4ZTYsMHg0NCwweGY4LAotMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4YTgsMHg4MSwweDE4LDB4ODYsMHg4MywKLTB4MDgsMHg4NiwweDgyLDB4ZWQsMHhmMCwweGEzLDB4ZWMsMHhmMCwweDc0LDB4MDIsMHg5MCwweGZmLDB4NWEsMHhmMCwweDE1LDB4ODEsCi0weDE1LDB4ODEsMHgxNSwweDgxLDB4MTUsMHg4MSwweDIyLDB4ZTUsMHg4MSwweDI0LDB4MDUsMHhmNSwweDgxLDB4ZTQsMHhhOCwweDgxLAotMHgxOCwweGY2LDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDkwLDB4ZmIsMHhmNSwKLTB4ZTAsMHgyNCwweGY4LDB4NTAsMHgwMywweDAyLDB4MWQsMHhjOCwweGU0LDB4YTgsMHg4MSwweDE4LDB4MTgsMHhmNiwweGE4LDB4ODEsCi0weDE4LDB4ZTYsMHhmZSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHg3ZiwweDAwLAotMHhlZiwweDI0LDB4ZjgsMHg0MCwweDRkLDB4ZTQsMHhlZiwweDI1LDB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywKLTB4ZjUsMHg4MywweGUwLDB4ZmIsMHhhMywweGUwLDB4NmMsMHg3MCwweDAzLDB4ZmEsMHhlYiwweDZkLDB4NzAsMHgwOSwweDc0LDB4MDEsCi0weGE4LDB4ODEsMHgxOCwweDE4LDB4ZjYsMHg4MCwweDJiLDB4ZTQsMHhlZiwweDI1LDB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZjLDB4ZjUsMHg4MywweDdhLDB4MDAsMHhlMCwweDU0LDB4ZjAsMHhjYywweGY4LDB4Y2MsMHhjZCwweGY5LDB4Y2QsMHhmYiwKLTB4NzgsMHgwMCwweGU5LDB4NTQsMHhmMCwweGY5LDB4ZWEsMHg2OCwweDcwLDB4MDIsMHhlYiwweDY5LDB4NzAsMHgwMSwweDBlLDB4MGYsCi0weDgwLDB4YWUsMHhhOCwweDgxLDB4MTgsMHhlZSwweGY2LDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZWQsMHhmNiwweDA4LAotMHhlYywweGY2LDB4YTgsMHg4MSwweGVmLDB4ZjYsMHhhOCwweDgxLDB4MTgsMHgxOCwweGU2LDB4NzAsMHg3OSwweGE4LDB4ODEsMHgxOCwKLTB4ZTYsMHgyNCwweGY3LDB4NDAsMHg3MSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGU2LDB4NTQsMHgwZiwweGE4LDB4ODEsCi0weGY2LDB4NjQsMHgwNCwweDYwLDB4MTcsMHhhOCwweDgxLDB4ZTYsMHg2NCwweDAzLDB4NjAsMHgxMCwweGE4LDB4ODEsMHgxOCwweDE4LAotMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDEyLDB4MWMsMHgzYywweDgwLDB4NGEsMHg3YywweDBhLDB4MTIsMHgzMSwKLTB4NWIsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4OTAsMHhmYiwweGY0LDB4ZTAsCi0weDI1LDB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlZCwweGYwLDB4YTMsMHhlYywweGYwLAotMHg5MCwweGZiLDB4ZjQsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDA0LDB4NTQsMHgwNywweGZmLDB4OTAsMHhmYiwweGY0LDB4ZjAsMHg5MCwKLTB4ZmIsMHhmNSwweGUwLDB4MDQsMHhmMCwweDEyLDB4MzEsMHhmNCwweDkwLDB4ZmIsMHhmNiwweGUwLDB4NzAsMHgwOCwweGU0LDB4ZmUsCi0weGZmLDB4N2MsMHgwZiwweDEyLDB4MzEsMHhmYiwweDgwLDB4MjcsMHg5MCwweGZiLDB4ZjcsMHhlMCwweDA0LDB4ZjAsMHg1NCwweDNmLAotMHg3MCwweDFkLDB4OTAsMHhmYiwweGY3LDB4ZTAsMHg0NCwweGZlLDB4N2QsMHgwMCwweGZjLDB4OTAsMHhmYiwweGY0LDB4ZTAsMHgyNSwKLTB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlZCwweGYwLDB4YTMsMHhlYywweGYwLDB4ZTUsCi0weDgxLDB4MjQsMHhmYiwweGY1LDB4ODEsMHgyMiwweDc4LDB4OGIsMHg3NiwweDAwLDB4NzgsMHg4YywweDc2LDB4MDAsMHg3NCwweDAxLAotMHg5MCwweGZiLDB4ZjYsMHhmMCwweDEyLDB4MzAsMHhlNiwweDkwLDB4ZmIsMHhmNSwweGUwLDB4NjAsMHg1NywweDdjLDB4MGEsMHgxMiwKLTB4MzEsMHg1YiwweDkwLDB4ZmIsMHhmMywweGUwLDB4MjUsMHhlMCwweDI0LDB4N2QsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsCi0weDgzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYywweDkwLDB4ZmIsMHhmMywweGUwLDB4MjUsMHhlMCwweDI0LDB4N2QsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGEzLDB4ZjAsMHg5MCwweGZiLDB4ZjMsMHhlMCwweGZmLDB4ZTQsMHhlZiwKLTB4MDQsMHg1NCwweDA3LDB4ZmYsMHg5MCwweGZiLDB4ZjMsMHhmMCwweDkwLDB4ZmIsMHhmNSwweGUwLDB4MTQsMHhmMCwweDc4LDB4ODksCi0weGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHgxMiwweDMxLDB4ZjQsMHg3OCwweDg5LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDEyLAotMHgwOCwweGRhLDB4ODAsMHhhMywweDEyLDB4MzIsMHg0OCwweDkwLDB4ZmYsMHg5MywweGUwLDB4NDQsMHgwMSwweGYwLDB4YjIsMHhiMywKLTB4NzgsMHg4YiwweDA2LDB4YjYsMHgwMCwweDExLDB4NzgsMHg4YiwweDc2LDB4MDAsMHg3OCwweDhjLDB4ZTYsMHhmNCwweDA0LDB4MDQsCi0weGEyLDB4ZTAsMHg5MiwweGI0LDB4NzgsMHg4YywweGY2LDB4MDIsMHgxZSwweDA3LDB4ZTQsMHg5MCwweGZiLDB4ZjYsMHhmMCwweDkwLAotMHhmYiwweGY1LDB4ZTAsMHg3ZCwweDAwLDB4ZmMsMHhlZCwweDQ0LDB4Y2YsMHhmZCwweDEyLDB4MWMsMHgzYywweDEyLDB4MzEsMHg2OSwKLTB4MjIsMHgxMiwweDMwLDB4ZTYsMHhlNSwweDcwLDB4NjQsMHg0OSwweDQ1LDB4NmYsMHg2MCwweDE1LDB4OTAsMHhmZiwweDgzLDB4ZTAsCi0weDU0LDB4MGYsMHg3ZCwweDAwLDB4ZDMsMHg5NSwweDcwLDB4ZWQsMHg5NSwweDZmLDB4NTAsMHgwNSwweDEyLDB4MmYsMHgyZiwweDgwLAotMHgwMywweDEyLDB4MmYsMHhmZiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4ZTUsMHg3MCwweDY0LDB4NDksMHg0NSwKLTB4NmYsMHg2MCwweDA1LDB4MTIsMHgzMCwweDM5LDB4ODAsMHgwZSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NDQsMHgwOCwweGYwLDB4OTAsCi0weGZmLDB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4OGMsMHg1NCwweGVjLAotMHg1NCwweGYwLDB4YjQsMHgxMCwweDE1LDB4NzUsMHg2YSwweDM1LDB4NzUsMHg2OSwweGZjLDB4NzUsMHg2OCwweDAxLDB4ZTUsMHg2YSwKLTB4MjQsMHgwMywweGY1LDB4NmEsMHhlNSwweDY5LDB4MzQsMHgwMCwweGY1LDB4NjksMHhlNCwweGY1LDB4NTcsMHhmNSwweDU2LDB4ZTUsCi0weDU2LDB4YzMsMHg5NCwweDAxLDB4NTAsMHgyNywweGU1LDB4NTQsMHg1NCwweDBmLDB4ZmMsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLAotMHg2OCwweDEyLDB4MGUsMHg3NywweDhjLDB4NTUsMHhlYywweDYwLDB4MDIsMHg4MCwweDEyLDB4MDUsMHg2YSwweGU1LDB4NmEsMHg3MCwKLTB4MDIsMHgwNSwweDY5LDB4MDUsMHg1NywweGU1LDB4NTcsMHg3MCwweDAyLDB4MDUsMHg1NiwweDgwLDB4ZDIsMHhlNSwweDU0LDB4NTQsCi0weDBmLDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg1NCwweGZlLDB4ZjYsMHhlNSwweDU0LDB4NTQsMHgwZiwweDdmLDB4MDAsMHhmZSwweDdjLAotMHgxMiwweDEyLDB4MzEsMHhmYiwweGU1LDB4NTUsMHgxNCwweDcwLDB4MDksMHg3ZCwweDAwLDB4N2MsMHgwOSwweDEyLDB4MjUsMHgyNiwKLTB4ODAsMHgwNywweGFkLDB4NTcsMHg3YywweDAwLDB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsCi0weDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHgzMCwweGU3LDB4MTMsMHg5MCwweGZmLAotMHg4MywweGUwLDB4NDQsMHg4MCwweGYwLDB4NDMsMHg2ZCwweDgwLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwKLTB4MTEsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDUzLDB4NmQsMHg3ZiwweDkwLDB4ZmYsMHhmYywweGUwLDB4NTQsCi0weGZlLDB4ZjAsMHg5MCwweGZmLDB4ODEsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDEyLDB4MjUsMHhkOSwweDkwLDB4ZmYsMHhmZSwweGUwLAotMHg0NCwweDA1LDB4ZjAsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwKLTB4ZTYsMHg3YywweDAxLDB4MTIsMHgzMiwweGE5LDB4NzgsMHhhZCwweGU2LDB4NDQsMHgwMiwweGY2LDB4NzQsMHhmZSwweGZjLDB4MDQsCi0weGZkLDB4MTIsMHgxYywweGE3LDB4OTAsMHhmZiwweDVhLDB4ZTAsMHgzMCwweGU3LDB4MDIsMHg4MCwweGY3LDB4ZTQsMHhmNSwweDRlLAotMHg3NSwweDRkLDB4MTAsMHhhYywweDRlLDB4YWQsMHg0ZCwweGU1LDB4NGUsMHgxNSwweDRlLDB4NzAsMHgwMiwweDE1LDB4NGQsMHhlYywKLTB4NGQsMHg2MCwweDAyLDB4ODAsMHhlZSwweDQzLDB4ODcsMHgwMSwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4N2MsCi0weDAyLDB4MTIsMHgzMSwweDc1LDB4NzgsMHhhZCwweGU2LDB4NTQsMHhmZCwweGY2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLAotMHhlNiwweDc4LDB4YWQsMHhlNiwweDMwLDB4ZTAsMHgyYywweDc4LDB4YWQsMHhlNiwweDMwLDB4ZTEsMHgyNiwweDc4LDB4YWQsMHhlNiwKLTB4ZmMsMHhmNSwweDgzLDB4MTgsMHhlNiwweDQ0LDB4ZjAsMHhmZCwweDEyLDB4MWMsMHgzYywweDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsCi0weDIwLDB4ZjAsMHg3YywweDAyLDB4MTIsMHgzMiwweGE5LDB4NzgsMHhhZCwweGU2LDB4NTQsMHhmZCwweGY2LDB4NzQsMHgxYSwweDkwLAotMHhmZiwweGZlLDB4ZjAsMHg3OCwweGFkLDB4ZTYsMHhmYywweGY1LDB4ODMsMHgxOCwweGU2LDB4NDQsMHhmMSwweGZkLDB4MTIsMHgxYywKLTB4M2MsMHgxMiwweDMxLDB4NjksMHgyMiwweDc1LDB4NmQsMHgwMCwweDkwLDB4ZmYsMHhmZiwweGUwLDB4NjAsMHgwMywweDQzLDB4NmQsCi0weDAxLDB4NzUsMHg2ZSwweDAwLDB4ZTQsMHhmNSwweDZjLDB4ZjUsMHg2YiwweGU0LDB4ZjUsMHg2ZiwweDc1LDB4NzAsMHg0OSwweDc0LAotMHg4NCwweDkwLDB4ZmYsMHg4MiwweGYwLDB4NzQsMHg4NCwweDkwLDB4ZmYsMHg4MCwweGYwLDB4NzQsMHg4MCwweDkwLDB4ZmYsMHg1OCwKLTB4ZjAsMHg3NCwweDgwLDB4OTAsMHhmZiwweDVhLDB4ZjAsMHhhZCwweDQ2LDB4YWYsMHg0NSwweDdlLDB4MDAsMHhlZSwweDI0LDB4ZmUsCi0weDUwLDB4MDMsMHgwMiwweDIxLDB4MjQsMHhlNCwweGVlLDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDdmLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGY4LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlNCwweGVmLDB4NTQsMHg4MCwweGZkLDB4ZTQsMHhlZiwweDU0LDB4MGYsMHgxNCwKLTB4ZmYsMHhlZCwweDYwLDB4MzgsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweDc0LDB4OTAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHg4MCwweDM0LDB4ZTQsMHhlZiwweDc1LDB4ZjAsCi0weDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDkwLDB4ZjAsMHhlNCwweGVmLAotMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlNCwKLTB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsCi0weDBlLDB4MDIsMHgyMCwweDhkLDB4OGQsMHg0NiwweDhlLDB4NDQsMHg4ZiwweDQ1LDB4NzQsMHg3ZiwweDkwLDB4ZmYsMHhmZCwweGYwLAotMHg3NCwweDkwLDB4OTAsMHhmZiwweGZjLDB4ZjAsMHgyMiwweDhjLDB4NTgsMHhlYywweDI0LDB4ZjYsMHg1MCwweDA2LDB4ZTUsMHg1OCwKLTB4MjQsMHgzNywweGZjLDB4MjIsMHhlNSwweDU4LDB4MjQsMHgzMCwweGZjLDB4MjIsMHgxMiwweDI1LDB4MjMsMHhlYywweDcwLDB4MDMsCi0weDAyLDB4MjIsMHg1ZSwweDc1LDB4NWMsMHgwMywweGFlLDB4NWIsMHg3ZiwweDAwLDB4ZTUsMHg1YywweDE1LDB4NWMsMHg2NCwweDgwLAotMHgyNCwweDdmLDB4NTAsMHgzNSwweGVmLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmIsMHhmNSwweDgzLDB4ZTAsMHhmZSwKLTB4MjQsMHhmZSwweDUwLDB4MWUsMHhlZiwweDdkLDB4MDAsMHhmYywweGU0LDB4ZmIsMHg3NCwweDc0LDB4YzMsMHg5YywweGZhLDB4ZWIsCi0weDlkLDB4ZmIsMHhlZSwweDdkLDB4MDAsMHhmYywweGVhLDB4YzMsMHg5YywweGVkLDB4NjQsMHg4MCwweGNiLDB4NjQsMHg4MCwweDliLAotMHg1MCwweDAyLDB4ODAsMHgwNSwweGVmLDB4MmUsMHhmZiwweDgwLDB4YzEsMHg4ZSwweDViLDB4OGYsMHg1YSwweGU1LDB4NWMsMHg2NCwKLTB4ODAsMHgyNCwweDdmLDB4NTAsMHgwMywweDAyLDB4MjIsMHg1ZSwweGU1LDB4NWEsMHgyNCwweDhlLDB4NTAsMHgwMywweDAyLDB4MjIsCi0weDVlLDB4ODUsMHg1YSwweDVkLDB4NzUsMHg1YiwweDAwLDB4YWUsMHg1YSwweGFmLDB4NWIsMHg5MCwweDM1LDB4OWMsMHhlNCwweDkzLAotMHhmNSwweDVjLDB4ZTUsMHg1YywweDE1LDB4NWMsMHg2NCwweDgwLDB4MjQsMHg3ZiwweDUwLDB4MTgsMHhlZSwweDI0LDB4MDAsMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmIsMHhmNSwweDgzLDB4ZTAsMHhmYywweGVmLDB4OTAsMHgzNSwweDljLDB4OTMsMHg2YywweDcwLDB4MDQsCi0weDBlLDB4MGYsMHg4MCwweGRlLDB4OGUsMHg1YSwweDhmLDB4NWIsMHhlNSwweDVjLDB4NjQsMHg4MCwweDI0LDB4N2YsMHg0MCwweDZlLAotMHg3NSwweDVlLDB4MDEsMHg3NSwweDYwLDB4ZTgsMHg3NSwweDVmLDB4ZmYsMHhlNSwweDVkLDB4MjQsMHgwMiwweGY1LDB4NWEsMHg3NSwKLTB4NWMsMHgwNywweGU1LDB4NWMsMHgzMywweDQwLDB4NTcsMHhhZCwweDYwLDB4YWUsMHg1ZiwweGFmLDB4NWUsMHhlNSwweDVjLDB4ZjUsCi0weDgyLDB4MzMsMHg5NSwweGUwLDB4ZjUsMHg4MywweDEyLDB4MDEsMHhlYywweGM0LDB4NTQsMHgwZiwweGZjLDB4MTIsMHgyMSwweDM3LAotMHhlNSwweDVhLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmIsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDA1LDB4NWEsMHgwNSwKLTB4NWEsMHhhZCwweDYwLDB4YWUsMHg1ZiwweGFmLDB4NWUsMHhlNSwweDVjLDB4ZjUsMHg4MiwweDMzLDB4OTUsMHhlMCwweGY1LDB4ODMsCi0weDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhmYywweDEyLDB4MjEsMHgzNywweGU1LDB4NWEsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZiLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHgwNSwweDVhLDB4MDUsMHg1YSwweDE1LDB4NWMsMHg4MCwweGE0LDB4NzQsMHgwMiwKLTB4OTAsMHhmOCwweDUxLDB4ZjAsMHg5MCwweGY4LDB4NmIsMHg3OSwweDc1LDB4N2EsMHgzNSwweDdiLDB4MjcsMHg3OCwweDAxLDB4MTIsCi0weDAzLDB4ZjUsMHg3NSwweDZhLDB4MzUsMHg3NSwweDY5LDB4ZmMsMHg3NSwweDY4LDB4MDEsMHhlNCwweDkwLDB4ZmYsMHg4MywweGYwLAotMHg3NCwweDgwLDB4OTAsMHhmZiwweDgxLDB4ZjAsMHg3NSwweDU5LDB4MDIsMHhlNSwweDU5LDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwKLTB4N2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGY4LDB4ZjUsMHg4MywweGUwLDB4NzgsMHg4ZiwweGY2LDB4ZmMsMHg1NCwweDBmLDB4MTQsCi0weGZjLDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhlNSwweDU5LDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDgxLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGY4LDB4ZjUsMHg4MywweGUwLDB4NzgsMHg5MiwweDc2LDB4ZmQsMHgwOCwweDc2LDB4ZTgsMHhmYywweDc4LDB4OGYsMHhlNiwKLTB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsCi0weDhmLDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVjLAotMHhmMCwweDc4LDB4OTIsMHhlNiwweGZmLDB4MDgsMHhlNiwweDdlLDB4MDMsMHhjZiwweGMzLDB4MTMsMHhjZiwweDEzLDB4ZGUsMHhmOSwKLTB4ZmUsMHg3OCwweDhmLDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDksMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsCi0weDgzLDB4ZWUsMHhmMCwweDc4LDB4OGYsMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0YSwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHg3OCwweDkwLDB4ZWMsMHhmNiwweDdkLDB4MDAsMHg3OCwweDkzLDB4ZTYsMHgyYywKLTB4ZjYsMHgxOCwweGU2LDB4M2QsMHhmNiwweDc4LDB4OTIsMHhlNiwweGZkLDB4MDgsMHhlNiwweDdjLDB4MDMsMHhjZCwweGMzLDB4MTMsCi0weGNkLDB4MTMsMHhkYywweGY5LDB4ZmMsMHg3OCwweDhmLDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGQsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4OGYsMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg5MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsCi0weDc4LDB4OGYsMHhlNiwweGZmLDB4N2UsMHgwMCwweGVlLDB4MjQsMHhmZSwweDUwLDB4MDMsMHgwMiwweDI0LDB4ZGQsMHhlNCwweGVlLAotMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4N2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGY4LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlNCwKLTB4ZWYsMHg1NCwweDgwLDB4ZmEsMHhlNCwweGVmLDB4NTQsMHgwZiwweDE0LDB4ZmYsMHhlNCwweGVlLDB4NzUsMHhmMCwweDA3LDB4YTQsCi0weDI0LDB4ODEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGY4LDB4ZjUsMHg4MywweGUwLDB4NzgsMHg5MCwweGY2LDB4ZTQsMHhlZSwweDEzLAotMHgxMywweDU0LDB4ODAsMHgyNCwweGYwLDB4ZjgsMHhlNCwweDM0LDB4ZmQsMHhmOSwweGU4LDB4ZmMsMHhlOSwweGZkLDB4OGEsMHg1YSwKLTB4ZWEsMHg3MCwweDAzLDB4MDIsMHgyNCwweDRhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg5MCwweGU2LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LAotMHhhNCwweDI0LDB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHhlZCwweGZiLDB4ZWMsMHg3YSwKLTB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsCi0weDQ5LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4NzgsMHg5MCwweGU2LDB4N2IsMHgwMCwweGZhLAotMHhlYywweDJhLDB4ZmMsMHhlZCwweDNiLDB4ZmQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLDB4YzMsMHgxMywweGNiLDB4MTMsMHhkYSwKLTB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsCi0weDgzLDB4ZWEsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLAotMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHgwMiwweDI0LDB4ZDksMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsCi0weDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3OCwweDkwLDB4ZTYsMHhmYSwweGU0LAotMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwKLTB4ZWQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLDB4YzMsMHgxMywweGNiLDB4MTMsMHhkYSwweGY5LDB4ZmEsMHhlNCwweGVmLDB4NzUsCi0weGYwLDB4MDgsMHhhNCwweDI0LDB4MDksMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHg3OCwweDkwLAotMHhlNiwweDdiLDB4MDAsMHhmYSwweGVjLDB4MmEsMHhmYywweGVkLDB4M2IsMHhmZCwweGZiLDB4ZWMsMHg3YSwweDAzLDB4Y2IsMHhjMywKLTB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZCwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwYSwweGY1LAotMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZSwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4MGUsMHgwMiwweDIzLDB4NjYsMHg4ZSwweDU5LDB4NzgsCi0weDkyLDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDc4LDB4OGYsMHhlZiwweGY2LDB4MTIsMHgyMCwweDU1LDB4MjIsMHg4YywweDI2LAotMHhlYywweDMwLDB4ZTcsMHgxOCwweGU1LDB4MjYsMHg1NCwweDBmLDB4MTQsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGRmLDB4ZjAsMHg4MCwweDE2LDB4ZTUsMHgyNiwweDU0LDB4MGYsCi0weDE0LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LAotMHhkZiwweGYwLDB4MjIsMHg3YywweDAwLDB4MjIsMHhlYywweDkwLDB4ZmMsMHgzNywweGYwLDB4OGMsMHgyNCwweGVkLDB4MjQsMHgwMywKLTB4ZjUsMHgyNSwweDdkLDB4MDAsMHhkMywweDk1LDB4NzIsMHhlZCwweDk1LDB4NzEsMHg0MCwweDAzLDB4ODUsMHg3MiwweDI1LDB4ZTUsCi0weDI1LDB4MjQsMHhiNywweDUwLDB4MDksMHg3NSwweDI1LDB4MDMsMHg3NCwweDAyLDB4OTAsMHhmYywweDM3LDB4ZjAsMHhhYywweDI1LAotMHgxMiwweDMwLDB4MjQsMHgyMiwweGU0LDB4ZjUsMHg2YywweGY1LDB4NmIsMHgxMiwweDI1LDB4NWQsMHgyMiwweDkwLDB4ZmMsMHgzNSwKLTB4ZTAsMHg2NSwweDczLDB4NjAsMHgwZSwweDc0LDB4MDQsMHg5MCwweGZjLDB4MzcsMHhmMCwweGU0LDB4ZjUsMHg2YiwweDc1LDB4NmMsCi0weDAzLDB4ODAsMHg0NiwweDdkLDB4NzMsMHhlNCwweGZlLDB4ZmYsMHg3OSwweDM1LDB4N2EsMHhmYywweDdiLDB4MDEsMHg3NCwweDA1LAotMHg3OCwweDAwLDB4MTIsMHgwMywweDNmLDB4ZTUsMHg2YywweDI0LDB4MDMsMHhmNSwweDZjLDB4ZTUsMHg2YiwweDM0LDB4MDAsMHhmNSwKLTB4NmIsMHhlNSwweDZjLDB4ZDMsMHg5NSwweDcyLDB4ZTUsMHg2YiwweDk1LDB4NzEsMHg0MCwweDA2LDB4ODUsMHg3MiwweDZjLDB4ODUsCi0weDcxLDB4NmIsMHhkMywweGU1LDB4NmMsMHg5NCwweDQ4LDB4ZTUsMHg2YiwweDk0LDB4MDAsMHg0MCwweDBjLDB4NzQsMHgwMiwweDkwLAotMHhmYywweDM3LDB4ZjAsMHhlNCwweGY1LDB4NmIsMHg3NSwweDZjLDB4MDMsMHhhYywweDZjLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhlYywKLTB4OTAsMHhmYywweDM3LDB4ZjAsMHhlNCwweGY1LDB4NmMsMHhmNSwweDZiLDB4OGMsMHgzMiwweGVjLDB4NjAsMHgwNSwweDEyLDB4MzAsCi0weDE1LDB4ODAsMHgwNSwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweDkwLDB4ZmYsMHg5MywweGUwLDB4NDQsMHgwMSwweGYwLAotMHhiMiwweGIzLDB4OTAsMHhmZiwweDA0LDB4ZTAsMHhmNSwweDRhLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhlZCwKLTB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZiwweGEzLDB4ZTAsMHg3ZSwweDAwLDB4ZmYsCi0weGU0LDB4ZmUsMHhlYywweDRlLDB4ZmMsMHhlZCwweDRmLDB4ZmQsMHhjMywweGVjLDB4OTQsMHg0OCwweGVkLDB4OTQsMHgwMCwweDUwLAotMHgyMiwweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHg5MCwKLTB4ZmYsMHgwNiwweGUwLDB4ZmYsMHhhMywweGUwLDB4N2UsMHgwMCwweGZmLDB4ZTQsMHhmZSwweGVjLDB4NGUsMHhmYywweGVkLDB4NGYsCi0weGZkLDB4ODAsMHgwNCwweGU0LDB4ZmQsMHg3YywweDQ4LDB4OGMsMHg3MiwweDhkLDB4NzEsMHg5MCwweGZmLDB4MDIsMHhlMCwweGZkLAotMHhhMywweGUwLDB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHg5MCwweGZmLDB4MDIsMHhlMCwweGZmLDB4YTMsMHhlMCwKLTB4N2UsMHgwMCwweGZmLDB4ZTQsMHhmZSwweGVjLDB4NGUsMHhmNSwweDRjLDB4ZWQsMHg0ZiwweGY1LDB4NGIsMHg3NSwweDZhLDB4MzUsCi0weDc1LDB4NjksMHhmYywweDc1LDB4NjgsMHgwMSwweDdkLDB4MzUsMHg3ZSwweGZjLDB4N2YsMHgwMSwweDc5LDB4NzMsMHhlNCwweGZhLAotMHhmYiwweDc0LDB4MDUsMHg3OCwweDAwLDB4MTIsMHgwMywweDNmLDB4NzUsMHg0OSwweDAwLDB4ZTUsMHg0OSwweDI0LDB4ZmUsMHg0MCwKLTB4MTksMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHhlNCwweDEyLDB4MDMsMHgwZiwweDA1LDB4NDksMHgwZCwweGVkLDB4NzAsCi0weDAxLDB4MGUsMHg4ZCwweDZhLDB4OGUsMHg2OSwweDhmLDB4NjgsMHg4MCwweGUxLDB4NzUsMHg2YSwweDM1LDB4NzUsMHg2OSwweGZjLAotMHg3NSwweDY4LDB4MDEsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4NjAsMHhiNCwweDAwLDB4MDIsMHg4MCwweDA2LDB4ZDMsMHg1MCwKLTB4MDMsMHgwMiwweDJjLDB4NmQsMHhlNSwweDRhLDB4NTQsMHgwZiwweGY1LDB4NDksMHhlNSwweDRhLDB4NTQsMHg4MCwweGEyLDB4ZTAsCi0weDkyLDB4MDIsMHg5MCwweGZmLDB4MDEsMHhlMCwweDEyLDB4MDEsMHg4MSwweDAwLDB4MGIsMHgyYywweDY4LDB4MjYsMHhlNSwweDI4LAotMHgwMywweDJjLDB4NjgsMHgyOSwweDBmLDB4MmMsMHg2OCwweDI5LDB4ZjIsMHgyYSwweDI2LDB4MmIsMHg4ZCwweDJiLDB4OTAsMHgyYiwKLTB4ZDAsMHgyYywweDExLDB4MmMsMHgzZiwweGU1LDB4NmQsMHgzMCwweGU3LDB4MGUsMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDgsCi0weGU1LDB4NzIsMHg2NCwweDAyLDB4NDUsMHg3MSwweDYwLDB4MDMsMHgwMiwweDJjLDB4NmEsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LAotMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MjksMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MjgsMHgwMCwKLTB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4NzQsMHgwMSwweDEyLDB4MDMsMHgwZiwweDc4LDB4YWQsMHhlNiwweDMwLDB4ZTAsCi0weDBiLDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4NzQsMHgwMiwweDEyLDB4MDMsMHgwZiwweDdjLDB4MDIsMHgxMiwweDMwLAotMHgyNCwweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxYiwweGU1LDB4NmQsMHgyMCwweGUxLDB4MDcsMHhlNSwKLTB4NGEsMHg2MCwweDAzLDB4MDIsMHgyOCwweDAwLDB4ZTUsMHg0YSwweDI0LDB4ZmUsMHg1MCwweDAzLDB4MDIsMHgyOCwweDAwLDB4N2MsCi0weDAyLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyNywweGZlLAotMHhlNSwweDZkLDB4MjAsMHhlMSwweDBkLDB4ZTUsMHg0YSwweDYwLDB4MDksMHhlNSwweDRhLDB4NjQsMHg4MCwweDYwLDB4MDMsMHgwMiwKLTB4MjgsMHgwMCwweGFjLDB4NGEsMHgxMiwweDMwLDB4YWIsMHg0MCwweDAzLDB4MDIsMHgyOCwweDAwLDB4ZTUsMHg0OSwweDcwLDB4MjUsCi0weDMwLDB4MDIsMHgxMSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NTQsMHgwOCwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweDEyLAotMHgwMywweDBmLDB4ODAsMHgwZiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NTQsMHgwOCwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwKLTB4MTIsMHgwMywweDBmLDB4ODAsMHgzZCwweDE1LDB4NDksMHgzMCwweDAyLDB4MWQsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsCi0weDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwOCwweGFkLDB4NmEsMHhhZSwweDY5LAotMHhhZiwweDY4LDB4MTIsMHgwMywweDBmLDB4ODAsMHgxYiwweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4MTIsCi0weDAzLDB4MGYsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHgxMiwweDAxLDB4ZTYsMHg2MCwweDBiLDB4YWQsMHg2YSwweGFlLAotMHg2OSwweGFmLDB4NjgsMHg3NCwweDAxLDB4MTIsMHgwMywweDBmLDB4N2MsMHgwMiwweDEyLDB4MzAsMHgyNCwweDIyLDB4ODAsMHgwMCwKLTB4MDIsMHgyYywweDZhLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgwNiwweGU1LDB4NzIsMHg0NSwweDcxLDB4NjAsMHgwMywweDAyLDB4MmMsCi0weDZhLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxYSwweGU1LAotMHg0YywweDE0LDB4NDUsMHg0YiwweDcwLDB4MDQsMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MjksMHgwYywweDc4LDB4YWQsMHhlNiwKLTB4NTQsMHhmZSwweGY2LDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsCi0weDJhLDB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwOCwweGU1LDB4NmQsMHgyMCwweGUwLDB4MDMsMHgwMiwweDI5LDB4MGMsMHhlNSwweDZkLAotMHgzMCwweGUwLDB4MDQsMHhlNSwweDRhLDB4NzAsMHgwYiwweGU1LDB4NmQsMHgzMCwweGUxLDB4MDksMHhlNSwweDRhLDB4MjQsMHhmZSwKLTB4NTAsMHgwMywweDAyLDB4MjksMHgwYywweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDYsCi0weGQzLDB4NTAsMHgwMywweDAyLDB4MjksMHgwYSwweGU1LDB4NGMsMHg0NSwweDRiLDB4NjAsMHgwMywweDAyLDB4MjksMHgwYywweGFjLAotMHg0YSwweDEyLDB4MzAsMHhhYiwweDQwLDB4MDMsMHgwMiwweDI5LDB4MGMsMHhlNSwweDZkLDB4MjAsMHhlMSwweDA3LDB4ZTUsMHg2ZCwKLTB4MjAsMHhlMCwweDAyLDB4ODAsMHg3NywweGU1LDB4NmQsMHgzMCwweGUwLDB4MDYsMHhlNSwweDQ5LDB4NjAsMHgwMiwweDgwLDB4NmMsCi0weGU1LDB4NDksMHg3MCwweDBmLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg5MCwweGZmLDB4ODAsMHhlMCwweDU0LAotMHhmNywweGYwLDB4MjIsMHhlNSwweDQ5LDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwOSwweDdkLDB4MDEsMHg3YywKLTB4MDMsMHgxMiwweDBmLDB4MDksMHg4MCwweDExLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwOSwweDdkLDB4MDEsCi0weDdjLDB4MDQsMHgxMiwweDBmLDB4MDksMHg4MCwweDAwLDB4MTUsMHg0OSwweDMwLDB4MDIsMHgxNSwweGU1LDB4NDksMHg3NSwweGYwLAotMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg4MCwKLTB4MTMsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsCi0weGUwLDB4NTQsMHhmNywweGYwLDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4ODAsMHgwMCwweDAyLDB4MmMsMHg2YSwweGU1LAotMHg2ZCwweDIwLDB4ZTcsMHgwNiwweGU1LDB4NzIsMHg0NSwweDcxLDB4NjAsMHgwMywweDAyLDB4MmMsMHg2YSwweDkwLDB4ZmYsMHgwMCwKLTB4ZTAsMHg1NCwweDFmLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxYSwweGU1LDB4NGMsMHgxNCwweDQ1LDB4NGIsCi0weDcwLDB4MDQsMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MjksMHhlZiwweDc4LDB4YWQsMHhlNiwweDQ0LDB4MDEsMHhmNiwweDdjLAotMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgyOSwweGU1LDB4NmQsMHgyMCwKLTB4ZTEsMHgwOCwweGU1LDB4NmQsMHgyMCwweGUwLDB4MDMsMHgwMiwweDI5LDB4ZWYsMHhlNSwweDZkLDB4MzAsMHhlMCwweDA0LDB4ZTUsCi0weDQ5LDB4NzAsMHgwYiwweGU1LDB4NmQsMHgzMCwweGUxLDB4MDgsMHhlNSwweDQ5LDB4MjQsMHhmZSwweDUwLDB4MDIsMHg4MCwweDdmLAotMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDZmLDB4ZTUsMHg0YywKLTB4NDUsMHg0YiwweDYwLDB4MDIsMHg4MCwweDY5LDB4YWMsMHg0YSwweDEyLDB4MzAsMHhhYiwweDQwLDB4MDIsMHg4MCwweDYwLDB4ZTUsCi0weDZkLDB4MjAsMHhlMSwweDA3LDB4ZTUsMHg2ZCwweDIwLDB4ZTAsMHgwMiwweDgwLDB4NTQsMHhlNSwweDQ5LDB4NzAsMHgxNCwweDMwLAotMHgwMiwweDA5LDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwKLTB4MDgsMHhmMCwweDIyLDB4ZTUsMHg2ZCwweDMwLDB4ZTEsMHgzMywweDE1LDB4NDksMHgzMCwweDAyLDB4MTUsMHhlNSwweDQ5LDB4NzUsCi0weGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgwOCwweGYwLAotMHg4MCwweDEzLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwKLTB4ODMsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweDgwLDB4MDIsMHg4MCwweDAwLDB4MDIsCi0weDJjLDB4NmEsMHhlNSwweDZkLDB4MjAsMHhlNywweDEyLDB4ZTUsMHg3MiwweDQ1LDB4NzEsMHg3MCwweDBjLDB4ZTUsMHg0YSwweDcwLAotMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLDB4NmEsMHhlNSwweDRjLDB4OTAsMHhmZiwKLTB4ZmYsMHhmMCwweDkwLDB4ZmYsMHhmZiwweGUwLDB4NjAsMHgwNSwweDQzLDB4NmQsMHgwMSwweDgwLDB4MDMsMHg1MywweDZkLDB4ZmUsCi0weDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweGU1LDB4NmQsMHgzMCwweGU3LDB4MGUsMHhlNSwweDcyLDB4NDUsMHg3MSwweDYwLAotMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLDB4NmEsMHhhZCwweDRiLDB4ZTUsMHg0YywKLTB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHhiZCwweDAwLDB4MDIsMHg4MCwweDAzLDB4MDIsMHgyYiwweDg4LDB4YjQsCi0weDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDMyLDB4ZTUsMHg0YSwweDcwLDB4MDUsMHhlNSwweDRjLDB4ZmMsMHg2MCwweDAzLAotMHgwMiwweDJiLDB4OGEsMHg3NSwweDZhLDB4NDAsMHg3NSwweDY5LDB4ZjgsMHg3NSwweDY4LDB4MDEsMHhkMywweGU1LDB4NzIsMHg5NCwKLTB4MTIsMHhlNSwweDcxLDB4OTQsMHgwMCwweDQwLDB4MDYsMHhlNCwweGZkLDB4N2MsMHgxMiwweDgwLDB4MDQsMHhhYywweDcyLDB4YWQsCi0weDcxLDB4OGMsMHg3MCwweDhkLDB4NmYsMHgxMiwweDMwLDB4MzksMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLAotMHg1OSwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyYiwweDhhLDB4ZTUsMHg0YywweGZjLDB4NzAsMHgyNywweDc1LDB4NmEsMHg1MiwKLTB4NzUsMHg2OSwweGY4LDB4NzUsMHg2OCwweDAxLDB4ZDMsMHhlNSwweDcyLDB4OTQsMHgxOSwweGU1LDB4NzEsMHg5NCwweDAwLDB4NDAsCi0weDA2LDB4ZTQsMHhmZCwweDdjLDB4MTksMHg4MCwweDA0LDB4YWMsMHg3MiwweGFkLDB4NzEsMHg4YywweDcwLDB4OGQsMHg2ZiwweDEyLAotMHgzMCwweDM5LDB4ODAsMHgyNSwweDc1LDB4NmEsMHg2YiwweDc1LDB4NjksMHhmOCwweDc1LDB4NjgsMHgwMSwweGQzLDB4ZTUsMHg3MiwKLTB4OTQsMHgyNywweGU1LDB4NzEsMHg5NCwweDAwLDB4NDAsMHgwNiwweGU0LDB4ZmQsMHg3YywweDI3LDB4ODAsMHgwNCwweGFjLDB4NzIsCi0weGFkLDB4NzEsMHg4YywweDcwLDB4OGQsMHg2ZiwweDEyLDB4MzAsMHgzOSwweDIyLDB4YjQsMHgwMywweDAyLDB4ODAsMHgwNiwweGQzLAotMHg1MCwweDAzLDB4MDIsMHgyYiwweDg4LDB4ZTUsMHg0YywweGY1LDB4NDksMHg3MCwweDBmLDB4OTAsMHhmZiwweDA0LDB4ZTAsMHhmZCwKLTB4YTMsMHhlMCwweDRkLDB4NjAsMHgwMywweDAyLDB4MmIsMHg4YSwweDgwLDB4MTgsMHg5MCwweGZiLDB4MDIsMHhlMCwweGZkLDB4YTMsCi0weGUwLDB4ZmMsMHg5MCwweGZmLDB4MDUsMHhlMCwweDZjLDB4NzAsMHgwNywweDkwLDB4ZmYsMHgwNCwweGUwLDB4NmQsMHg2MCwweDAyLAotMHg4MCwweDY4LDB4ZTQsMHhmNSwweDcwLDB4ZjUsMHg2ZiwweDdmLDB4MDAsMHhlNSwweDQ5LDB4MTQsMHhjNSwweDQ5LDB4NjAsMHgwZiwKLTB4ZWYsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYiwweGY1LDB4ODMsMHhlMCwweDJmLDB4ZmYsMHg4MCwweGVhLDB4OGYsCi0weDRhLDB4ZTUsMHg0YSwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGUwLDB4N2QsMHgwMCwweGQzLAotMHg5NSwweDcyLDB4ZWQsMHg5NSwweDcxLDB4NDAsMHgwNiwweGFjLDB4NzIsMHhhZCwweDcxLDB4ODAsMHgwZiwweGU1LDB4NGEsMHgyNCwKLTB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGUwLDB4N2QsMHgwMCwweGZjLDB4OGMsMHg3MCwweDhkLDB4NmYsCi0weGU1LDB4NGEsMHgyNCwweDAwLDB4ZmMsMHhlNCwweDM0LDB4ZmIsMHhmZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg4ZCwweDZhLAotMHg4ZSwweDY5LDB4OGYsMHg2OCwweDEyLDB4MzAsMHgzOSwweDIyLDB4ODAsMHgwMCwweDAyLDB4MmMsMHg2YSwweDAyLDB4MmMsMHg2YSwKLTB4ZTUsMHg2ZCwweDMwLDB4ZTcsMHgxOSwweGU1LDB4NzIsMHgxNCwweDQ1LDB4NzEsMHg3MCwweDEyLDB4ZTUsMHg0YSwweDcwLDB4MGUsCi0weGU1LDB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLAotMHg2YSwweGU1LDB4NmQsMHgyMCwweGUwLDB4MDgsMHhlNSwweDZkLDB4MjAsMHhlMSwweDAzLDB4MDIsMHgyYywweDZhLDB4NzUsMHg2YSwKLTB4NmUsMHhlNCwweGY1LDB4NjksMHhmNSwweDY4LDB4ZTQsMHhmNSwweDZmLDB4MDQsMHhmNSwweDcwLDB4MTIsMHgzMCwweDM5LDB4MjIsCi0weGU1LDB4NmQsMHgyMCwweGU3LDB4MTIsMHhlNSwweDcyLDB4NDUsMHg3MSwweDcwLDB4MGMsMHhlNSwweDRhLDB4NzAsMHgwOCwweDkwLAotMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsMHg2YSwweGU1LDB4NmQsMHgyMCwweGUwLDB4MDcsMHhlNSwKLTB4NmQsMHgyMCwweGUxLDB4MDIsMHg4MCwweDc0LDB4ODUsMHg0YywweDZlLDB4ZTUsMHg2ZSwweDcwLDB4MDgsMHg0MywweDZkLDB4MDEsCi0weDUzLDB4NmQsMHhmZCwweDgwLDB4MDYsMHg1MywweDZkLDB4ZmUsMHg0MywweDZkLDB4MDIsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LAotMHgyMiwweGU1LDB4NmQsMHgzMCwweGU3LDB4MWEsMHhlNSwweDcyLDB4MTQsMHg0NSwweDcxLDB4NzAsMHgxMywweGU1LDB4NGEsMHg3MCwKLTB4MGYsMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDksMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHgxNCwweDYwLDB4MDIsCi0weDgwLDB4MzgsMHhlNSwweDZkLDB4MjAsMHhlMSwweDAyLDB4ODAsMHgzMSwweDdjLDB4MDEsMHgxMiwweDMwLDB4MjQsMHgyMiwweGU1LAotMHg2ZCwweDIwLDB4ZTcsMHgxNSwweGU1LDB4NzIsMHg0NSwweDcxLDB4NzAsMHgwZiwweGU1LDB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOSwKLTB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4MTQsMHg2MCwweDAyLDB4ODAsMHgwZiwweGU1LDB4NmQsMHgyMCwweGUxLDB4MDIsCi0weDgwLDB4MDgsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHg4MCwweDAwLDB4MDIsMHgyZiwweDJiLDB4YjQsMHg0MCwweDAyLAotMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyZiwweDIxLDB4OTAsMHhmZiwweDAxLDB4ZTAsMHg5MCwweGZjLDB4MzUsMHhmMCwKLTB4ZTUsMHg0YSwweDkwLDB4ZmMsMHgzNiwweGYwLDB4ZTQsMHg5MCwweGZjLDB4MzcsMHhmMCwweGU1LDB4NmEsMHgyNCwweDAzLDB4ZjUsCi0weDZhLDB4ZTUsMHg2OSwweDM0LDB4MDAsMHhmNSwweDY5LDB4YWQsMHg0YiwweGU1LDB4NGMsMHg4NSwweDZhLDB4ODIsMHg4NSwweDY5LAotMHg4MywweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZmLDB4MDEsMHhlMCwweDEyLDB4MDEsMHhiNywweDJjLDB4ZDgsMHgwMSwKLTB4MmMsMHhmZSwweDAyLDB4MmQsMHgyOCwweDAzLDB4MmQsMHg1MiwweDA0LDB4MmQsMHhhMCwweDA1LDB4MmQsMHhkZCwweDA2LDB4MmUsCi0weDAzLDB4MDcsMHgyZSwweDI5LDB4MDgsMHgyZSwweDU1LDB4MDksMHgyZSwweDdiLDB4MGIsMHgyZSwweGExLDB4MGMsMHgyZSwweGIwLAotMHg4MCwweDJlLDB4YjAsMHg4MSwweDAwLDB4MDAsMHgyZiwweDBlLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwKLTB4MjUsMHhiZiwweDIyLDB4N2QsMHgyNCwweDdlLDB4MzUsMHg3ZiwweDAyLDB4NzksMHgzOCwweDdhLDB4ZmMsMHg3YiwweDAxLDB4NzQsCi0weDA4LDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweDdkLDB4MDgsMHg3YywweDAwLDB4MTIsMHgyNSwweDI2LDB4MjIsMHhlNSwweDZkLAotMHgyMCwweGU3LDB4MDYsMHg3YywweDA1LDB4MTIsMHgyNSwweGJmLDB4MjIsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwKLTB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDEwLDB4MTIsMHgzMSwweGZiLDB4MjIsCi0weDdkLDB4MDAsMHg3YywweDA3LDB4MTIsMHgyNSwweDI2LDB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLAotMHgyNSwweGJmLDB4MjIsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwKLTB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDExLDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3ZCwweDAwLDB4N2MsMHgwNywweDEyLDB4MjUsCi0weDI2LDB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsMHhiZiwweDIyLDB4ZTUsMHg0YSwweGI0LAotMHgwNSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwYSwweDEyLDB4MzEsMHhmYiwKLTB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA4LDB4MTIsCi0weDMxLDB4ZmIsMHgyMiwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLAotMHgwMCwweGZlLDB4N2MsMHgxMywweDEyLDB4MzEsMHhmYiwweDIyLDB4N2QsMHgwMCwweDdjLDB4MDcsMHgxMiwweDI1LDB4MjYsMHgyMiwKLTB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgzNCwweGQzLDB4ZTUsMHg3MiwweDk0LDB4NDgsMHhlNSwweDcxLDB4OTQsMHgwMCwweDUwLDB4MDYsCi0weGU1LDB4NzIsMHg0NSwweDcxLDB4NzAsMHgwNiwweDdjLDB4MDIsMHgxMiwweDI1LDB4YmYsMHgyMiwweGU1LDB4NGEsMHhiNCwweDAxLAotMHgwMywweGIzLDB4NDAsMHgwYiwweGMzLDB4YjQsMHgwMywweDAwLDB4NDAsMHgwOSwweGI0LDB4MDYsMHgwMCwweDUwLDB4MDQsMHgxMiwKLTB4MzAsMHhkMSwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsMHgyNSwweDVkLDB4MjIsMHhlNSwweDZkLDB4MjAsCi0weGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLAotMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE2LDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHgxMiwKLTB4MjUsMHg1ZCwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsCi0weDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTksMHgxMiwweDMxLDB4ZmIsMHgyMiwweDdjLAotMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsMHgyNSwweDVkLDB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDIzLDB4NzQsMHg4MSwKLTB4OTAsMHhmZiwweDkzLDB4ZjAsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsCi0weGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE3LDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLAotMHgyMiwweDEyLDB4MjUsMHg1ZCwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwKLTB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTgsMHgxMiwweDMxLDB4ZmIsCi0weDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsMHgyNSwweDVkLDB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDFkLAotMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwKLTB4ZmUsMHg3YywweDE1LDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHgxMiwweDI1LDB4NWQsCi0weDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweDEyLDB4MjUsMHg1ZCwweDIyLAotMHhlNSwweDZkLDB4MzAsMHhlNywweDIwLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NzAsMHgxMCwweDkwLDB4ZmYsMHgwMSwKLTB4ZTAsMHhiNCwweDgwLDB4MDUsMHgxMiwweDI1LDB4NTQsMHg4MCwweDAzLDB4MTIsMHgyNSwweDVkLDB4MjIsMHg3ZCwweDAwLDB4N2MsCi0weDA1LDB4MTIsMHgyNSwweDI2LDB4MjIsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDA2LDB4N2MsMHgwNSwweDEyLAotMHgyNSwweGJmLDB4MjIsMHhkMywweGU1LDB4NzIsMHg5NCwweDQ4LDB4ZTUsMHg3MSwweDk0LDB4MDAsMHg1MCwweDBiLDB4YzMsMHhlNSwKLTB4NzIsMHg5NCwweDA3LDB4ZTUsMHg3MSwweDk0LDB4MDAsMHg1MCwweDA2LDB4N2MsMHgwMywweDEyLDB4MjUsMHhiZiwweDIyLDB4ZTUsCi0weDRhLDB4YjQsMHgwNSwweDA0LDB4MTIsMHgzMCwweGQxLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHhlNSwweDZkLAotMHgzMCwweGU3LDB4MDgsMHg3ZCwweDAwLDB4N2MsMHgwNSwweDEyLDB4MjUsMHgyNiwweDIyLDB4N2MsMHgwNSwweDEyLDB4MjUsMHhiZiwKLTB4MjIsMHhiNCwweDIwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4ODAsMHgwMCwweDEyLDB4MmYsMHhmZiwweDIyLDB4NzUsCi0weDQzLDB4MDAsMHg5MCwweGZmLDB4ODMsMHhlMCwweDU0LDB4MGYsMHhkMywweDk1LDB4NDMsMHg0MCwweDI0LDB4ZTUsMHg0MywweDI0LAotMHhmMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmUsMHhmNSwweDgzLDB4ZTAsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHgxMiwKLTB4MDMsMHgwZiwweDA1LDB4NDMsMHgwZCwweGVkLDB4NzAsMHgwMSwweDBlLDB4OGQsMHg2YSwweDhlLDB4NjksMHg4ZiwweDY4LDB4ODAsCi0weGQxLDB4ZTUsMHg0MywweDdkLDB4MDAsMHhmYywweGMzLDB4ZTUsMHg3MCwweDljLDB4ZjUsMHg3MCwweGU1LDB4NmYsMHg5ZCwweGY1LAotMHg2ZiwweGU1LDB4NzAsMHg0NSwweDZmLDB4NjAsMHgwNiwweGU0LDB4OTAsMHhmZiwweDgzLDB4ZjAsMHgyMiwweDkwLDB4ZmYsMHg4MiwKLTB4ZTAsMHg0NCwweDA4LDB4ZjAsMHhlNCwweGY1LDB4NmYsMHg3NSwweDcwLDB4NDksMHg5MCwweGZjLDB4MzUsMHhlMCwweGI0LDB4MDUsCi0weDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg0MCwweDkwLDB4ZmMsMHgzNiwweGUwLDB4ZjUsMHg0MywweGI0LDB4MDUsMHgwMiwweDgwLAotMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwYiwweDEyLDB4MzEsMHhmYiwweDIyLDB4YjQsMHgwMSwKLTB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA5LDB4MTIsMHgzMSwweGZiLDB4MjIsCi0weGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0MywweDdmLDB4MDAsMHhmZSwweDdjLAotMHgxNCwweDEyLDB4MzEsMHhmYiwweDIyLDB4MjIsMHhiNCwweDgwLDB4MDAsMHg0MCwweDIzLDB4YjQsMHg4MiwweDAwLDB4NTAsMHgxZSwKLTB4N2MsMHgzNSwweDdkLDB4ZmMsMHgxMiwweDE3LDB4N2UsMHg3ZCwweDAwLDB4OGMsMHg2YywweDhkLDB4NmIsMHg5MCwweGZjLDB4MzcsCi0weGUwLDB4NjAsMHgwNSwweDEyLDB4MmYsMHhmZiwweDgwLDB4MDUsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHgyMiwweDkwLAotMHhmZiwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLDB4ZmYsMHg4MCwKLTB4ZTAsMHg0NCwweDA4LDB4ZjAsMHgyMiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsMHgwOCwweGYwLDB4OTAsMHhmZiwweDgwLDB4ZTAsCi0weDQ0LDB4MDgsMHhmMCwweDIyLDB4OGMsMHgyMywweDdkLDB4MDAsMHg4YywweDcwLDB4OGQsMHg2ZiwweDc1LDB4NmEsMHgzNSwweDc1LAotMHg2OSwweGZjLDB4NzUsMHg2OCwweDAxLDB4MTIsMHgzMCwweDM5LDB4MjIsMHg5MCwweGZmLDB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwKLTB4ZTUsMHg3MCwweDY0LDB4NDksMHg0NSwweDZmLDB4NzAsMHgwMSwweDIyLDB4YzMsMHhlNSwweDcwLDB4OTQsMHgwOCwweGU1LDB4NmYsCi0weDk0LDB4MDAsMHg0MCwweDE1LDB4NzUsMHgyMSwweDA4LDB4ZTUsMHgyMSwweDdkLDB4MDAsMHhmYywweGMzLDB4ZTUsMHg3MCwweDljLAotMHhmNSwweDcwLDB4ZTUsMHg2ZiwweDlkLDB4ZjUsMHg2ZiwweDgwLDB4MDksMHg4NSwweDcwLDB4MjEsMHhlNCwweGY1LDB4NmYsMHg3NSwKLTB4NzAsMHg0OSwweDc1LDB4MjIsMHgwMCwweGU1LDB4MjIsMHhjMywweDk1LDB4MjEsMHg1MCwweDI2LDB4YWQsMHg2YSwweGFlLDB4NjksCi0weGFmLDB4NjgsMHgxMiwweDAxLDB4ZTYsMHhmYywweGU1LDB4MjIsMHgyNCwweGY4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZSwweGY1LAotMHg4MywweGVjLDB4ZjAsMHgwNSwweDIyLDB4MGQsMHhlZCwweDcwLDB4MDEsMHgwZSwweDhkLDB4NmEsMHg4ZSwweDY5LDB4OGYsMHg2OCwKLTB4ODAsMHhkMywweGU1LDB4MjEsMHg1NCwweDdmLDB4OTAsMHhmZiwweDgxLDB4ZjAsMHgyMiwweDhjLDB4NDgsMHg3ZiwweDAwLDB4ZWYsCi0weDI0LDB4ZmQsMHg0MCwweDE5LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg3ZiwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmOCwweGY1LDB4ODMsMHhlMCwweDY1LDB4NDgsMHg3MCwweDAyLDB4ZDMsMHgyMiwweDBmLDB4ODAsMHhlMiwweDhmLDB4NDcsMHhjMywKLTB4MjIsMHg4NSwweDcyLDB4NzAsMHg4NSwweDcxLDB4NmYsMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4ZjcsMHhmMCwweDkwLDB4ZmYsCi0weDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHgyMiwweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDYsMHhjMCwweDA3LAotMHhlNSwweDc4LDB4MjQsMHgwOCwweGY4LDB4ODYsMHgwNiwweDUzLDB4MDYsMHg3ZiwweDdjLDB4ZmYsMHgxMiwweDMxLDB4NWIsMHg3YywKLTB4MDAsMHg3ZCwweDAwLDB4ZTUsMHg3YiwweDYwLDB4NDYsMHhmZiwweDkwLDB4ZmQsMHg5NSwweGUwLDB4NTQsMHg3ZiwweDZlLDB4NzAsCi0weDBmLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsMHhhMywweDE1LDB4N2IsMHg4MCwweDA3LAotMHhhMywweGEzLDB4YTMsMHhkZiwweGU2LDB4ODAsMHgyNiwweGRmLDB4MDYsMHhkMCwweDgyLDB4ZDAsMHg4MywweDgwLDB4MWUsMHhlMCwKLTB4ZjgsMHhhMywweGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhkMCwweDgyLDB4ZDAsMHg4MywweGU4LDB4ZjAsMHhhMywweGU5LDB4ZjAsCi0weGEzLDB4ZWEsMHhmMCwweGEzLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHg4MCwweGRhLDB4MTIsMHgzMSwweGY0LAotMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDIsMHhkMCwweDAxLDB4ZDAsMHgwMCwweDIyLDB4ODUsMHhhOCwweDdhLDB4NzUsMHhhOCwKLTB4ODgsMHhlYywweDcwLDB4MDIsMHg3YywweDNmLDB4OGMsMHg3OSwweDIyLDB4ZTUsMHg3OCwweDI0LDB4MDgsMHhmOCwweDc2LDB4MDAsCi0weDEyLDB4MzIsMHg0OCwweDgwLDB4ZmIsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDA2LDB4YzAsMHgwNywweGFlLAotMHgwNCwweDdjLDB4ZmYsMHgxMiwweDMxLDB4NWIsMHhlNSwweDdiLDB4NjAsMHg0MiwweGZmLDB4OTAsMHhmZCwweDk1LDB4ZTAsMHg1NCwKLTB4N2YsMHg2ZSwweDcwLDB4MGIsMHhjMCwweDgzLDB4YzAsMHg4MiwweGEzLDB4YTMsMHhhMywweDE1LDB4N2IsMHg4MCwweDA3LDB4YTMsCi0weGEzLDB4YTMsMHhkZiwweGVhLDB4ODAsMHgyNiwweGRmLDB4MDYsMHhkMCwweDgyLDB4ZDAsMHg4MywweDgwLDB4ZDgsMHhlMCwweGY4LAotMHhhMywweGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhkMCwweDgyLDB4ZDAsMHg4MywweGU4LDB4ZjAsMHhhMywweGU5LDB4ZjAsMHhhMywKLTB4ZWEsMHhmMCwweGEzLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHg4MCwweGRhLDB4NzgsMHgwOCwweDA4LDB4NzksCi0weDE4LDB4MDksMHg3YywweDAxLDB4ZTYsMHg1NCwweDdmLDB4NmUsMHg3MCwweDA2LDB4NzYsMHgwMCwweDc3LDB4MDAsMHg4MCwweDA2LAotMHgwOCwweDA5LDB4MGMsMHhiYywweDA4LDB4ZWUsMHgxMiwweDMxLDB4ZjQsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDIsMHhkMCwKLTB4MDEsMHhkMCwweDAwLDB4MjIsMHg3NSwweDc5LDB4MDAsMHg4NSwweDdhLDB4YTgsMHgyMiwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsCi0weDgzLDB4YzMsMHhlNSwweDdiLDB4MjQsMHhlOCwweDUwLDB4MDUsMHgxMiwweDMyLDB4NDgsMHg4MCwweGY0LDB4ZWMsMHg2MCwweDMxLAotMHg5MCwweDM1LDB4MjMsMHhlNCwweDkzLDB4YzMsMHg5YywweDQwLDB4MjgsMHhjMCwweDA0LDB4N2MsMHhmZiwweDEyLDB4MzEsMHg1YiwKLTB4ZDAsMHgwNCwweDQzLDB4MDQsMHg4MCwweGU1LDB4N2IsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4OTUsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmQsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGVmLDB4YTMsMHhmMCwweGVlLDB4YTMsMHhmMCwweDA1LDB4N2IsMHgxMiwweDMxLAotMHhmNCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweDIyLDB4YzAsMHgwNCwweDdjLDB4MjAsMHhkMiwweDhjLDB4ZDIsMHg4ZCwKLTB4ZDUsMHgwNCwweGZkLDB4ZDAsMHgwNCwweDIyLDB4NzUsMHhhOCwweDAwLDB4NzUsMHg4OCwweDAwLDB4NzUsMHhiOCwweDAwLDB4NzUsCi0weGYwLDB4MDAsMHg3NSwweGQwLDB4MDAsMHhlNCwweGY4LDB4OTAsMHgwMCwweDAwLDB4ZjYsMHgwOCwweGI4LDB4MDAsMHhmYiwweDAyLAotMHgwMCwweDAwLDB4YzMsMHhlZCwweDk0LDB4MDIsMHg1MCwweDA0LDB4N2QsMHgwMywweDdjLDB4ZTgsMHhlYywweGY0LDB4ZmMsMHhlZCwKLTB4ZjQsMHhmZCwweDBjLDB4YmMsMHgwMCwweDAxLDB4MGQsMHg4YywweDdmLDB4OGQsMHg3ZSwweDIyLDB4YzMsMHhlYywweDk0LDB4YmMsCi0weGVkLDB4OTQsMHgwMiwweDUwLDB4MDQsMHg3ZCwweDA3LDB4N2MsMHhkMCwweGVjLDB4ZjQsMHhmYywweGVkLDB4ZjQsMHhmZCwweDBjLAotMHhiYywweDAwLDB4MDEsMHgwZCwweDhjLDB4N2QsMHg4ZCwweDdjLDB4MjIsMHhlYywweDcwLDB4MDEsMHgyMiwweGMwLDB4MDAsMHhlNSwKLTB4NzgsMHgyNCwweDE4LDB4ZjgsMHhhNiwweDA0LDB4ZTUsMHg3OCwweDI0LDB4MDgsMHhmOCwweGM2LDB4NTQsMHg3ZiwweGY2LDB4ZTYsCi0weDMwLDB4ZTcsMHgwMywweGQwLDB4MDAsMHgyMiwweDEyLDB4MzIsMHg0OCwweDgwLDB4ZjQsMHhjMiwweDhjLDB4ODUsMHg3YywweDhjLAotMHg4NSwweDdkLDB4OGEsMHhkMiwweDhjLDB4YzAsMHhlMCwweGMwLDB4ZDAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwKLTB4MDAsMHhjMCwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4YzAsMHgwNSwweGMwLDB4MDYsMHhjMCwweDA3LDB4MTIsCi0weDFhLDB4ZDEsMHhlNSwweDc4LDB4MjQsMHgwOCwweGY4LDB4ZTYsMHg2MCwweDI0LDB4ZTUsMHg3OCwweDI0LDB4MTAsMHhmOCwweGE2LAotMHg4MSwweGU1LDB4NzgsMHg3NSwweGYwLDB4MjEsMHhhNCwweDI0LDB4OGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywKLTB4NzgsMHhhZSwweGU1LDB4ODEsMHgwNCwweGMzLDB4OTgsMHhmOSwweGU2LDB4ZjAsMHgwOCwweGEzLDB4ZDksMHhmYSwweDc0LDB4MDgsCi0weDI1LDB4NzgsMHhmOCwweDA1LDB4NzgsMHgwOCwweGU2LDB4NTQsMHg4MCwweDcwLDB4MGMsMHhlNSwweDc4LDB4YjQsMHgwNywweGYzLAotMHg3OCwweDA4LDB4NzUsMHg3OCwweDAwLDB4ODAsMHhlZiwweGU1LDB4NzgsMHgyNCwweDEwLDB4ZjgsMHg4NiwweDgxLDB4ZTUsMHg3OCwKLTB4NzUsMHhmMCwweDIxLDB4YTQsMHgyNCwweDhkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHg3OCwweGFlLDB4ZTUsCi0weDgxLDB4MDQsMHhjMywweDk4LDB4ZjksMHhlMCwweGY2LDB4MDgsMHhhMywweGQ5LDB4ZmEsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLAotMHgwNSwweGQwLDB4MDQsMHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwKLTB4ZjAsMHhkMCwweGQwLDB4ZDAsMHhlMCwweDMyLDB4YzAsMHhlMCwweGMwLDB4ZDAsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsCi0weGMyLDB4OGUsMHg4NSwweDdlLDB4OGQsMHg4NSwweDdmLDB4OGIsMHhkMiwweDhlLDB4NzgsMHgxOSwweDc5LDB4MDksMHg3YSwweDA3LAotMHhlNywweDcwLDB4MDQsMHhhNiwweDAwLDB4ODAsMHgwYiwweGU2LDB4NjAsMHgwOCwweDE2LDB4ZTYsMHg3MCwweDA0LDB4ZTcsMHg0NCwKLTB4ODAsMHhmNywweDA4LDB4MDksMHhkYSwweGVhLDB4ZTUsMHg3OSwweDYwLDB4MTMsMHgxNCwweGY1LDB4NzksMHg3MCwweDBlLDB4ZTUsCi0weDc4LDB4MjQsMHgwOCwweGY4LDB4NzYsMHgwMCwweDEyLDB4MzEsMHhmNCwweGQyLDB4OGMsMHhkMiwweDhkLDB4ZDAsMHgwMiwweGQwLAotMHgwMSwweGQwLDB4MDAsMHhkMCwweGQwLDB4ZDAsMHhlMCwweDMyLDB4NzUsMHg4MSwweGFkLDB4NzQsMHgyYSwweDkwLDB4ZmYsMHg5MywKLTB4ZjAsMHg3NSwweDdmLDB4MzAsMHg3NSwweDdlLDB4ZjgsMHg3NSwweDdkLDB4NjAsMHg3NSwweDdjLDB4ZjAsMHgxMiwweDA1LDB4MzYsCi0weDEyLDB4MzQsMHg3YywweDEyLDB4MTcsMHgzNCwweDkwLDB4ZmYsMHg5MywweGUwLDB4NDQsMHgwMSwweGYwLDB4YjIsMHhiMywweDEyLAotMHgzNCwweGE2LDB4MTIsMHgzMiwweDU2LDB4ODAsMHhkYSwweDIyLDB4YzAsMHgwMCwweDdjLDB4MDEsMHhlYywweDI0LDB4MDgsMHhmOCwKLTB4ZTYsMHg2MCwweDA5LDB4MGMsMHhiYywweDA4LDB4ZjUsMHgxMiwweDMyLDB4NDgsMHg4MCwweGVlLDB4ZDAsMHgwMCwweDIyLDB4YzAsCi0weGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAwLDB4YzAsMHgwNiwweGMwLDB4MDcsMHhlZCwweDI0LDB4MTAsMHhmOCwweDc2LAotMHhiYywweGVkLDB4NzUsMHhmMCwweDIxLDB4YTQsMHgyNCwweDhkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhjMCwKLTB4ODIsMHhjMCwweDgzLDB4YTMsMHhhMywweGU0LDB4NzgsMHgwZCwweGYwLDB4YTMsMHhkOCwweGZjLDB4ZWMsMHg1NCwweDdmLDB4NzUsCi0weGYwLDB4MDIsMHhhNCwweDI0LDB4ZWYsMHhmNSwweDgyLDB4ZTUsMHhmMCwweDM0LDB4MzQsMHhmNSwweDgzLDB4ZTQsMHg5MywweGZlLAotMHg3NCwweDAxLDB4OTMsMHhmNSwweDgyLDB4OGUsMHg4MywweGU0LDB4OTMsMHhmZSwweDc0LDB4MDEsMHg5MywweGZmLDB4ZDAsMHg4MywKLTB4ZDAsMHg4MiwweGVmLDB4ZjAsMHhhMywweGVlLDB4ZjAsMHhlZCwweDI0LDB4MDgsMHhmOCwweGVjLDB4NDQsMHg4MCwweGY2LDB4ZDAsCi0weDA3LDB4ZDAsMHgwNiwweGQwLDB4MDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHgyMiwweDc1LDB4NzgsMHgwMCwweDc1LAotMHg3YiwweDAwLDB4N2EsMHgwOCwweDc5LDB4MTgsMHg3OCwweDA4LDB4NzYsMHgwMCwweDc3LDB4MDAsMHgwOCwweDA5LDB4ZGEsMHhmOCwKLTB4ZTQsMHg3OCwweDA4LDB4NzQsMHg4MCwweDQ0LDB4N2YsMHhmNiwweDc0LDB4MDEsMHg0NCwweDEwLDB4ZjUsMHg4OSwweDc1LDB4YjgsCi0weDA4LDB4ZDIsMHhhYiwweGQyLDB4YTksMHgyMiwweDc1LDB4ODEsMHhhZCwweGQyLDB4OGUsMHhkMiwweDhjLDB4ZDIsMHhhZiwweGU1LAotMHg3YiwweDYwLDB4MzIsMHhmZiwweDkwLDB4ZmQsMHg5NSwweGUwLDB4NTQsMHg4MCwweDYwLDB4MjQsMHg3OCwweDA4LDB4NzksMHgwOCwKLTB4ZTAsMHg1NCwweDdmLDB4ZmEsMHg3YiwweDAwLDB4ZTYsMHg1NCwweDdmLDB4YjUsMHgwMiwweDAyLDB4N2IsMHhmZiwweDA4LDB4ZDksCi0weGY1LDB4ZWIsMHg3MCwweDBjLDB4ZWEsMHhmMCwweDEyLDB4MzMsMHhmOCwweGFkLDB4MDQsMHhhYywweDAyLDB4MTIsMHgzNCwweDBmLAotMHhhMywweGEzLDB4YTMsMHhkZiwweGQyLDB4MTIsMHgzMiwweDQ4LDB4ODAsMHhjNSwweDdjLDB4MDEsMHg3ZCwweDAwLDB4MjIsMHgwNCwKLTB4ZjUsMHgwNCwweGU5LDB4MDQsMHhlZCwweDA0LDB4ZTEsMHgwNCwweGRkLDB4MDQsMHhkOSwweDA0LDB4ZTUsMHgwNCwweGYxLDB4MDQsCi0weDlkLDB4MDQsMHhhMSwweDA0LDB4Y2QsMHgwNCwweGQxLDB4MDQsMHg5OSwweDA0LDB4OTksMHgwNCwweDk5LDB4MDQsMHhkNSwweDA0LAotMHhiNSwweDA0LDB4YWQsMHgwNCwweGIxLDB4MDQsMHhhOSwweDA0LDB4YzEsMHgwNCwweGJkLDB4MDQsMHhiOSwweDA0LDB4YzUsMHgwNCwKLTB4YzksMHgwNCwweGE1LDB4MTksMHgwMSwweDAzLDB4MDAsMHgyMiwweDAwLDB4NDgsMHgwMiwweDAwLDB4NDgsMHgwZSwweDMwLDB4MTQsCi0weDIwLDB4YzgsMHgxYSwweGQwLDB4MTgsMHgwYSwweDBjLDB4MDUsMHgwNiwweDAyLDB4MDMsMHgwMSwweDAyLDB4MDAsMHgwMSwweGNlLAotMHgwMSwweDgxLDB4MDEsMHgwMCwweDAwLDB4YzAsMHgwMCwweDgwLDB4MDAsMHg2MCwweDAwLDB4MzAsMHgwMCwweDE4LDB4MDAsMHgxMCwKLTB4MDAsMHgwOCwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwMSwweDAwLDB4MDgsMHgxOCwweDM4LDB4MjgsMHgwYywweDA1LDB4MTAsCi0weDBhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDMsMHgwMSwweDEwLDB4MGEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweGZiLDB4ZTAsMHhmYiwweGYyLDB4MDksMHgwMiwweDI3LDB4MDAsMHgwMSwweDAyLDB4MDAsMHhhMCwweDMyLDB4MDksMHgwNCwKLTB4MDAsMHgwMCwweDAzLDB4ZmYsMHgwMCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODEsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsCi0weDAxLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODMsMHgwMywweDAyLDB4MDAsMHgwMSwweDIyLDB4MDMsMHg1NCwweDAwLAotMHg1NSwweDAwLDB4NTMsMHgwMCwweDQyLDB4MDAsMHgzMywweDAwLDB4MzQsMHgwMCwweDMxLDB4MDAsMHgzMCwweDAwLDB4MjAsMHgwMCwKLTB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsCi19OwotCi0jZW5kaWYgLyogaWZuZGVmIF9USV9GV18zNDEwX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfZndfNTA1Mi5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzUwNTIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmNjZjQwYS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfZndfNTA1Mi5oCisrKyAvZGV2L251bGwKQEAgLTEsODg1ICswLDAgQEAKLS8qIHZpOiB0cz04IHN3PTgKLSAqCi0gKiBUSSA1MDUyIFVTQiBTZXJpYWwgRHJpdmVyIEZpcm13YXJlIEhlYWRlcgotICoKLSAqIENvcHlyaWdodCAoQykgMjAwNCBUZXhhcyBJbnN0cnVtZW50cwotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKi8KLQotI2lmbmRlZiBfVElfRldfNTA1Ml9IXwotI2RlZmluZSBfVElfRldfNTA1Ml9IXwotCi0vKiBmaXJtd2FyZSA5LzE4LzA0ICovCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHRpX2Z3XzUwNTJbXSA9IHsKLTB4QzEsIDB4MzUsCS8qIGZpcm13YXJlIGltYWdlIGxlbmd0aCBleGNsdWRpbmcgaGVhZGVyLCBsaXR0bGUgZW5kaWFuICovCi0weDAwLCAJCS8qIHBsYWNlaG9sZGVyIGZvciBjaGVja3N1bSAqLwotCi0weDAyLDB4MDAsMHgxZSwweDAyLDB4MWIsMHgzMiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMiwweDMyLDB4NmEsMHhmZiwweGZmLAotMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHgzMywweDE1LDB4NzUsMHg4MSwKLTB4YzgsMHg5MCwweGZlLDB4ZjAsMHg4NSwweDgzLDB4YTAsMHgxMiwweDM0LDB4N2QsMHhlYywweDRkLDB4NjAsMHg2YSwweDc4LDB4YTUsCi0weDgwLDB4MDMsMHg3NiwweDAwLDB4MTgsMHhiOCwweDk2LDB4ZmEsMHg3OCwweDc5LDB4ODAsMHgwMywweDc2LDB4MDAsMHgxOCwweGI4LAotMHg1ZiwweGZhLDB4NzgsMHgyMCwweDgwLDB4MDMsMHg3NiwweDAwLDB4MTgsMHhiOCwweDIwLDB4ZmEsMHg5MCwweGZlLDB4ZTUsMHhhZSwKLTB4ODMsMHhhZiwweDgyLDB4OTAsMHhmZCwweDAwLDB4MTIsMHgwMCwweGExLDB4NjAsMHgwNSwweGU0LDB4ZjAsMHhhMywweDgwLDB4ZjYsCi0weDkwLDB4ZmUsMHhmMCwweGE4LDB4ODIsMHg5MCwweGZlLDB4ZjAsMHhhOSwweDgyLDB4ZTgsMHhjMywweDk5LDB4NTAsMHgwNSwweDc2LAotMHgwMCwweDA4LDB4ODAsMHhmNiwweDkwLDB4MDAsMHhmZiwweDEyLDB4MDAsMHhhYSwweDkwLDB4MDEsMHgwMywweDEyLDB4MDAsMHhhYSwKLTB4OTAsMHgwMSwweDA3LDB4MTIsMHgwMCwweGFhLDB4OTAsMHgwMSwweDBiLDB4MTIsMHgwMCwweGM4LDB4OTAsMHgwMSwweDExLDB4MTIsCi0weDAwLDB4YzgsMHg5MCwweDAxLDB4MTcsMHgxMiwweDAwLDB4YzgsMHg3NSwweGQwLDB4MDAsMHgxMiwweDMzLDB4NjcsMHgwMiwweDAxLAotMHgxZCwweGVmLDB4NjUsMHg4MiwweDcwLDB4MDMsMHhlZSwweDY1LDB4ODMsMHgyMiwweGU0LDB4OTMsMHhmOCwweDc0LDB4MDEsMHg5MywKLTB4ZjksMHg3NCwweDAyLDB4OTMsMHhmZSwweDc0LDB4MDMsMHg5MywweGY1LDB4ODIsMHg4ZSwweDgzLDB4ZTgsMHg2OSwweDcwLDB4MDEsCi0weDIyLDB4ZTQsMHg5MywweGY2LDB4YTMsMHgwOCwweDgwLDB4ZjQsMHhlNCwweDkzLDB4ZmMsMHg3NCwweDAxLDB4OTMsMHhmZCwweDc0LAotMHgwMiwweDkzLDB4ZmUsMHg3NCwweDAzLDB4OTMsMHhmZiwweDc0LDB4MDQsMHg5MywweGY4LDB4NzQsMHgwNSwweDkzLDB4ZjUsMHg4MiwKLTB4ODgsMHg4MywweDEyLDB4MDAsMHhhMSwweDcwLDB4MDEsMHgyMiwweGU0LDB4OTMsMHhhMywweGE4LDB4ODMsMHhhOSwweDgyLDB4OGMsCi0weDgzLDB4OGQsMHg4MiwweGYwLDB4YTMsMHhhYywweDgzLDB4YWQsMHg4MiwweDg4LDB4ODMsMHg4OSwweDgyLDB4ODAsMHhlMywweDIxLAotMHgyMSwweDA0LDB4OTIsMHg3YSwweDdhLDB4MDQsMHg5MiwweGE2LDB4YTgsMHgwNCwweDkyLDB4ZmUsMHhmMCwweDA0LDB4OTQsMHgwNCwKLTB4OTQsMHhmYiwweGZiLDB4MDQsMHg5OSwweDA0LDB4OTQsMHhmYiwweGZiLDB4MDQsMHhmOSwweDA0LDB4ZjksMHg4MCwweGZlLDB4ZDAsCi0weGYwLDB4MzAsMHhmMCwweDA5LDB4MjAsMHhmMywweDAzLDB4ZjYsMHg4MCwweDEwLDB4ZjcsMHg4MCwweDBkLDB4MzAsMHhmMSwweDA5LAotMHgyMCwweGYzLDB4MDMsMHhmMiwweDgwLDB4MDQsMHhmMywweDgwLDB4MDEsMHhmMCwweDIwLDB4ZjQsMHgwNCwweGZjLDB4ZDAsMHhlMCwKLTB4Y2MsMHgyMiwweGNjLDB4YzAsMHhlMCwweDEyLDB4MDEsMHg1YSwweDAyLDB4MDEsMHg0YiwweGJjLDB4MDAsMHgwNSwweGQwLDB4ZjAsCi0weGFjLDB4ZjAsMHgyMiwweGMzLDB4MTMsMHhkYywweGZjLDB4MDIsMHgwMSwweDIxLDB4YmYsMHgwMCwweDA5LDB4ZWQsMHgyNSwweDgyLAotMHg3NSwweGYwLDB4MDEsMHhmOCwweGU2LDB4MjIsMHhiZiwweDAxLDB4MGYsMHhlZCwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWUsMHgzNSwKLTB4ODMsMHhmNSwweDgzLDB4NzUsMHhmMCwweDA0LDB4ZTAsMHgyMiwweGVkLDB4MjUsMHg4MiwweDc1LDB4ZjAsMHgwMiwweGY4LDB4ZTIsCi0weDIyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhmNSwweGYwLDB4YzMsMHhlNCwweDkzLDB4YTMsMHhjNSwweGYwLDB4OTUsMHhmMCwweGMwLAotMHhlMCwweGMzLDB4ZDAsMHhmMCwweGU0LDB4OTMsMHhhMywweDk1LDB4ZjAsMHg0MCwweDEyLDB4YTMsMHhhMywweGMzLDB4ZTUsMHhmMCwKLTB4MzMsMHg1MCwweDAyLDB4MDUsMHg4MywweDI1LDB4ODIsMHhmNSwweDgyLDB4NTAsMHgwMiwweDA1LDB4ODMsMHg3NCwweDAxLDB4OTMsCi0weGMwLDB4ZTAsMHhlNCwweDkzLDB4YzAsMHhlMCwweDIyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhmNSwweGYwLDB4ZTQsMHg5MywweDcwLAotMHgwOSwweDc0LDB4MDEsMHg5MywweDcwLDB4MDQsMHhhMywweGEzLDB4ODAsMHgwYywweDc0LDB4MDIsMHg5MywweDY1LDB4ZjAsMHg2MCwKLTB4MDUsMHhhMywweGEzLDB4YTMsMHg4MCwweGU3LDB4NzQsMHgwMSwweDkzLDB4YzAsMHhlMCwweGU0LDB4OTMsMHhjMCwweGUwLDB4MjIsCi0weDEyLDB4MDIsMHg1YiwweDAyLDB4MDEsMHhmMiwweDEyLDB4MDIsMHhhZiwweDAyLDB4MDEsMHhmMiwweDEyLDB4MDIsMHhkMywweDAyLAotMHgwMSwweGYyLDB4MzAsMHhlMCwweDA3LDB4MjAsMHhlMywweDAyLDB4ZTYsMHgyMiwweGU3LDB4MjIsMHgzMCwweGUxLDB4MDcsMHgyMCwKLTB4ZTMsMHgwMiwweGUyLDB4MjIsMHhlMywweDIyLDB4MzAsMHhlMiwweDAyLDB4ZTAsMHgyMiwweGU0LDB4OTMsMHgyMiwweDEyLDB4MDIsCi0weGQzLDB4MDIsMHgwMiwweDFhLDB4MTIsMHgwMiwweGFmLDB4MDIsMHgwMiwweDFhLDB4YWIsMHhmMCwweDEyLDB4MDIsMHgyNCwweGNiLAotMHhjNSwweGYwLDB4Y2IsMHgyMiwweDMwLDB4ZTAsMHgxMCwweDIwLDB4ZTMsMHgwNiwweGU2LDB4ZjUsMHhmMCwweDA4LDB4ZTYsMHgyMiwKLTB4ZTcsMHhmNSwweGYwLDB4MDksMHhlNywweDE5LDB4MjIsMHgzMCwweGUxLDB4MTAsMHgyMCwweGUzLDB4MDYsMHhlMiwweGY1LDB4ZjAsCi0weDA4LDB4ZTIsMHgyMiwweGUzLDB4ZjUsMHhmMCwweDA5LDB4ZTMsMHgxOSwweDIyLDB4MzAsMHhlMiwweDA2LDB4ZTAsMHhmNSwweGYwLAotMHhhMywweGUwLDB4MjIsMHhlNCwweDkzLDB4ZjUsMHhmMCwweDc0LDB4MDEsMHg5MywweDIyLDB4YmIsMHgwMCwweDAzLDB4NzQsMHgwOSwKLTB4MjIsMHhiYiwweDAxLDB4MDcsMHg4OSwweDgyLDB4OGEsMHg4MywweDc0LDB4MDQsMHgyMiwweGJiLDB4MDIsMHgwNywweDg5LDB4ODIsCi0weDhhLDB4ODMsMHg3NCwweDEwLDB4MjIsMHg3NCwweDBhLDB4MjIsMHgwMiwweDAyLDB4N2IsMHhiYiwweDAwLDB4MDcsMHhlOSwweDI1LAotMHg4MiwweGY4LDB4NzQsMHgwMSwweDIyLDB4YmIsMHgwMSwweDBkLDB4ZTksMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVhLDB4MzUsMHg4MywKLTB4ZjUsMHg4MywweDc0LDB4MDQsMHgyMiwweGJiLDB4MDIsMHgwZCwweGU5LDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlYSwweDM1LDB4ODMsCi0weGY1LDB4ODMsMHg3NCwweDEwLDB4MjIsMHhlOSwweDI1LDB4ODIsMHhmOCwweDc0LDB4MDIsMHgyMiwweDAyLDB4MDIsMHhhZiwweGJmLAotMHgwMCwweDA1LDB4ZWQsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJmLDB4MDEsMHgwNywweDhkLDB4ODIsMHg4ZSwweDgzLDB4NzQsMHgwNCwKLTB4MjIsMHhiZiwweDAyLDB4MDcsMHg4ZCwweDgyLDB4OGUsMHg4MywweDc0LDB4MTAsMHgyMiwweGVkLDB4ZjgsMHg3NCwweDAyLDB4MjIsCi0weDAyLDB4MDIsMHhkMywweGJmLDB4MDAsMHgwNywweGVkLDB4MjUsMHg4MiwweGY4LDB4NzQsMHgwMSwweDIyLDB4YmYsMHgwMSwweDBkLAotMHhlZCwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWUsMHgzNSwweDgzLDB4ZjUsMHg4MywweDc0LDB4MDQsMHgyMiwweGJmLDB4MDIsMHgwZCwKLTB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsMHg4MywweGY1LDB4ODMsMHg3NCwweDEwLDB4MjIsMHhlZCwweDI1LDB4ODIsCi0weGY4LDB4NzQsMHgwMiwweDIyLDB4MDIsMHgwMywweDA3LDB4YzAsMHhlMCwweDEyLDB4MDIsMHg1YiwweDAyLDB4MDMsMHgxZiwweGMwLAotMHhlMCwweDEyLDB4MDIsMHhhZiwweDAyLDB4MDMsMHgxZiwweGMwLDB4ZTAsMHgxMiwweDAyLDB4ZDMsMHgwMiwweDAzLDB4MWYsMHgzMCwKLTB4ZTAsMHgwYiwweDIwLDB4ZTMsMHgwNCwweGQwLDB4ZTAsMHhmNiwweDIyLDB4ZDAsMHhlMCwweGY3LDB4MjIsMHgzMCwweGUxLDB4MGIsCi0weDIwLDB4ZTMsMHgwNCwweGQwLDB4ZTAsMHhmMiwweDIyLDB4ZDAsMHhlMCwweGYzLDB4MjIsMHhkMCwweGUwLDB4ZjAsMHgyMiwweGM5LAotMHhjZCwweGM5LDB4Y2EsMHhjZSwweGNhLDB4Y2IsMHhjZiwweGNiLDB4MTIsMHgwMywweDUyLDB4ZWQsMHhmOSwweGVlLDB4ZmEsMHhlZiwKLTB4ZmIsMHgyMiwweGJiLDB4MDAsMHgyZiwweGJmLDB4MDAsMHgwYSwweGZhLDB4ZWQsMHhmOCwweGU3LDB4ZjYsMHgwOCwweDA5LDB4ZGEsCi0weGZhLDB4MjIsMHhiZiwweDAxLDB4MTIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY4LDB4MDIsMHgwMywweDZmLDB4MDksMHhhMywweGU3LAotMHhmMCwweGQ4LDB4ZmEsMHgyMiwweDAyLDB4MDMsMHg3YSwweGZhLDB4ZWQsMHhmOCwweGU3LDB4ZjIsMHgwOCwweDA5LDB4ZGEsMHhmYSwKLTB4MjIsMHgwMiwweDAzLDB4ODQsMHhiYiwweDAxLDB4NGQsMHhiZiwweDAwLDB4MTQsMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsCi0weGY4LDB4MDIsMHgwMywweDk2LDB4MDgsMHhhMywweGUwLDB4ZjYsMHhkOSwweGZhLDB4MjIsMHgwMiwweDAzLDB4YTcsMHhiZiwweDAxLAotMHgyMiwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZmIsMHgwOCwweGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhlMCwKLTB4YTMsMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZjAsMHhhMywweGRiLDB4ZWEsMHhkOCwweGU4LDB4MjIsCi0weDAyLDB4MDMsMHhjYSwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZjksMHhlZCwweGY4LDB4ZTAsMHhmMiwweDA4LDB4YTMsMHhkOSwweGZhLAotMHgyMiwweDAyLDB4MDMsMHhkNCwweGJiLDB4MDIsMHg0ZCwweGJmLDB4MDAsMHgxMiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjksMHhlZCwKLTB4ZjgsMHgwMiwweDAzLDB4ZTYsMHgwOCwweGEzLDB4ZTQsMHg5MywweGY2LDB4ZDksMHhmOSwweDIyLDB4YmYsMHgwMSwweDIzLDB4OGQsCi0weDgyLDB4OGUsMHg4MywweGZiLDB4MDgsMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZTQsMHg5MywweGEzLAotMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZjAsMHhhMywweGRiLDB4ZTksMHhkOCwweGU3LDB4MjIsMHgwMiwKLTB4MDQsMHgxOSwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjksMHhlZCwweGY4LDB4ZTQsMHg5MywweGYyLDB4MDgsMHhhMywweGQ5LDB4ZjksCi0weDIyLDB4MDIsMHgwNCwweDJhLDB4YmYsMHgwMCwweDBkLDB4ZmEsMHhlZCwweGY4LDB4ZTMsMHhmNiwweDA4LDB4MDksMHhkYSwweGZhLAotMHgyMiwweDAyLDB4MDQsMHgzNCwweGJmLDB4MDEsMHgxMiwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZjgsMHgwMiwweDA0LDB4NDEsMHgwOSwKLTB4YTMsMHhlMywweGYwLDB4ZDgsMHhmYSwweDIyLDB4MDIsMHgwNCwweDRjLDB4ZmEsMHhlZCwweGY4LDB4ZTMsMHhmMiwweDA4LDB4MDksCi0weGRhLDB4ZmEsMHgyMiwweDAyLDB4MDQsMHg1NiwweGU2LDB4ZmIsMHgwOCwweGU2LDB4ZmEsMHgwOCwweGU2LDB4ZjksMHgwNCwweGY2LAotMHgxOCwweDcwLDB4MDEsMHgwNiwweDIyLDB4ZTYsMHhmZiwweDA4LDB4ZTYsMHhmZSwweDA4LDB4ZTYsMHhmZCwweDIyLDB4ZWYsMHhmMCwKLTB4YTMsMHhlZSwweGYwLDB4YTMsMHhlZCwweGYwLDB4MjIsMHhlYiwweGYwLDB4YTMsMHhlYSwweGYwLDB4YTMsMHhlOSwweGYwLDB4MjIsCi0weGUwLDB4ZmYsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmQsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLAotMHhmOSwweDIyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweGY5LDB4MDAsMHg1YiwweDA1LDB4NzMsMHgwMCwKLTB4MjYsMHgwNSwweDlhLDB4MDAsMHgzMywweDBhLDB4MGIsMHgwMCwweDViLDB4MGEsMHg3NywweDAwLDB4NjAsMHgxNSwweDUyLDB4MDAsCi0weDViLDB4MGMsMHhmYiwweDAwLDB4NWIsMHgwOSwweGFiLDB4MDAsMHg1YiwweDA5LDB4ZTIsMHgwMCwweDViLDB4MGQsMHhjMiwweDAwLAotMHg1YiwweDBiLDB4ZjMsMHgwMCwweDViLDB4MGEsMHgxZSwweDAwLDB4NWIsMHgwYSwweDUzLDB4MDAsMHg1YiwweDE3LDB4NGEsMHgwMCwKLTB4MzMsMHgxNywweDYwLDB4MDAsMHgzNCwweDFlLDB4NGQsMHgwMCwweDQzLDB4MWUsMHhmMCwweDAwLDB4NDQsMHgyMCwweDVkLDB4MDAsCi0weDQ0LDB4MjAsMHg0YiwweDAwLDB4NDcsMHgxZiwweDE3LDB4MDAsMHg0NywweDFmLDB4YmMsMHgwMCwweDRkLDB4MjAsMHgwZCwweDAwLAotMHg0ZiwweDFmLDB4MzksMHgwMCwweDU4LDB4MzEsMHhmNSwweDAwLDB4NWIsMHg3YywweGNjLDB4N2QsMHhmZiwweDEyLDB4MWMsMHhmZSwKLTB4MjIsMHg3NCwweDkwLDB4OTAsMHhmZiwweDkxLDB4ZjAsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDIwLDB4ZTcsMHgyZCwweGMyLDB4YWYsCi0weGFlLDB4NTksMHhhZiwweDU4LDB4NzUsMHg1YSwweDIwLDB4ZTUsMHg1YSwweDE0LDB4YzUsMHg1YSwweDYwLDB4MTksMHhlNCwweGZlLAotMHg3ZiwweDA1LDB4ZWUsMHg0ZiwweGNlLDB4MjQsMHhmZiwweGNlLDB4Y2YsMHgzNCwweGZmLDB4Y2YsMHg2MCwweDA3LDB4ZTQsMHg5MCwKLTB4ZmYsMHg5MiwweGYwLDB4ODAsMHhlZCwweDgwLDB4ZTAsMHg4ZSwweDU5LDB4OGYsMHg1OCwweDIyLDB4MTIsMHgwNSwweDAxLDB4N2QsCi0weDA3LDB4N2MsMHhiNywweDEyLDB4MzIsMHgxMSwweDdkLDB4MGYsMHg3YywweDZlLDB4MTIsMHgzMiwweDJiLDB4NzgsMHg5NywweDdhLAotMHgwNiwweGU0LDB4ZjYsMHgwOCwweGRhLDB4ZmMsMHg3YSwweDA2LDB4MTIsMHgwNSwweGNmLDB4N2MsMHgwMywweDEyLDB4MGUsMHg1NywKLTB4N2MsMHgwNCwweDEyLDB4MGUsMHg1NywweDEyLDB4MjEsMHg4YiwweGU0LDB4ZmUsMHhmZiwweDdjLDB4MGYsMHgxMiwweDMxLDB4OWEsCi0weGQyLDB4YTgsMHgyMiwweDEyLDB4MzAsMHg4NSwweGU0LDB4OTAsMHhmZCwweDQwLDB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDMwLAotMHhlNCwweDA4LDB4NzQsMHgwMSwweDkwLDB4ZmQsMHg0MSwweGYwLDB4ODAsMHgwNSwweGU0LDB4OTAsMHhmZCwweDQxLDB4ZjAsMHg3ZCwKLTB4MGEsMHg3YywweDAwLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg5MCwweGZkLDB4NDEsCi0weGUwLDB4MTQsMHg3MCwweDBlLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDEwLDB4ZjAsMHg3YywweDAwLDB4MTIsMHgyNSwweDRhLAotMHg4MCwweDE5LDB4OTAsMHhmZCwweDQxLDB4ZTAsMHg3MCwweDBlLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGVmLDB4ZjAsMHg3YywKLTB4MDAsMHgxMiwweDI1LDB4NGEsMHg4MCwweDA1LDB4N2MsMHgxNywweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4OTAsCi0weGZmLDB4ZjAsMHhlMCwweDU0LDB4YWIsMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgyMCwweGYwLDB4MjIsMHg4YywweDM3LAotMHg4ZCwweDM2LDB4NzgsMHg3YywweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwKLTB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweDc4LDB4N2EsMHhmNiwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsCi0weGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4ZmMsMHg3ZCwweDdhLAotMHgxMiwweDE3LDB4OWQsMHg3OCwweDdhLDB4ZTYsMHg3MCwweDBkLDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LDB4ZTQsMHgxMiwKLTB4MDMsMHgwZiwweDdjLDB4MDgsMHgyMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZSwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsCi0weDU0LDB4ZmQsMHhmMCwweDgwLDB4MWUsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLAotMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4MjUsMHhlMCwweDQ0LDB4MDEsMHg5MCwweGZmLDB4ZjMsMHhmMCwKLTB4MDIsMHgwNiwweGRiLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsCi0weDkwLDB4MDAsMHgwNiwweDEyLDB4MDIsMHgwZSwweDU0LDB4ZmUsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDgwLDB4MmIsMHg3OCwweDdjLAotMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwKLTB4MGUsMHhmYSwweGViLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4Y2EsMHg0MCwweDBkLDB4YWQsMHgzYSwweGFlLDB4MzksCi0weGFmLDB4MzgsMHhlNCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLAotMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHg5MCwweGZmLDB4ZjEsMHhmMCwKLTB4MTIsMHgwOCwweGNhLDB4NDAsMHgwZCwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweGU0LDB4MTIsMHgwMywweDBmLDB4N2MsCi0weDE4LDB4MjIsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLAotMHgwMCwweDA2LDB4MTIsMHgwMiwweDBlLDB4NDQsMHgwMSwweDkwLDB4ZmYsMHhmMywweGYwLDB4NzgsMHg3ZCwweGU2LDB4MjQsMHgwMywKLTB4ZjYsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY2LDB4NzgsMHg3YSwweGU2LDB4MjQsMHhmZSwweDUwLDB4MDksMHg5MCwweGZmLDB4ZjAsCi0weGUwLDB4NTQsMHhmZCwweGYwLDB4ODAsMHgwNywweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgwMiwweGYwLDB4ZTQsMHg5MCwweGZmLAotMHhmMSwweGYwLDB4NzgsMHg3YiwweDc2LDB4MDAsMHg3OCwweDdhLDB4ZTYsMHgyNCwweGZmLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwKLTB4NzgsMHg3YiwweGU2LDB4N2YsMHgwMCwweGZlLDB4ZWMsMHhkMywweDllLDB4ZWYsMHg2NCwweDgwLDB4Y2QsMHg2NCwweDgwLDB4OWQsCi0weDQwLDB4MmYsMHgxMiwweDA4LDB4YWYsMHg0MCwweDBmLDB4NzgsMHg3YiwweGU2LDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LAotMHgxMiwweDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg5MCwweGZmLDB4ZjIsMHhlMCwweGZjLDB4NzgsMHg3YywweDg2LDB4ODMsMHgwOCwKLTB4ODYsMHg4MiwweGVjLDB4ZjAsMHg3OCwweDdiLDB4MDYsMHhhMywweDc4LDB4N2MsMHhhNiwweDgzLDB4MDgsMHhhNiwweDgyLDB4ODAsCi0weGI1LDB4MTIsMHgwOCwweGFmLDB4NDAsMHgwZiwweDc4LDB4N2IsMHhlNiwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweDEyLAotMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4OTAsMHhmZiwweGYyLDB4ZTAsMHhmYywweDc4LDB4N2MsMHg4NiwweDgzLDB4MDgsMHg4NiwKLTB4ODIsMHhlYywweGYwLDB4NzgsMHg3YSwweGU2LDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LDB4MTIsMHgwMywweDBmLDB4N2MsCi0weDAwLDB4MjIsMHg4YywweDM3LDB4OGQsMHgzNiwweDc4LDB4N2MsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4ZWQsMHhmZSwweGVjLAotMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHg3OCwweDdiLDB4ZjYsMHg3OCwweDdjLDB4ZTYsMHhmZCwKLTB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsCi0weDBmLDB4ZmMsMHg3ZCwweDdiLDB4MTIsMHgxNywweDlkLDB4NzgsMHg3YiwweGU2LDB4NzAsMHgwMywweDdjLDB4MDgsMHgyMiwweDkwLAotMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDgwLDB4MWIsMHg3OCwKLTB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsCi0weDAyLDB4MGUsMHgyNSwweGUwLDB4OTAsMHhmZiwweGYzLDB4ZjAsMHg4MCwweDViLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LAotMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDIsMHgwZSwweDU0LDB4ZmUsMHg5MCwKLTB4ZmYsMHhmMywweGYwLDB4ODAsMHgyMSwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsCi0weDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHhmYSwweGViLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LAotMHhjYSwweDQwLDB4MDMsMHg3YywweDE4LDB4MjIsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywKLTB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4Y2EsCi0weDQwLDB4MDMsMHg3YywweDE4LDB4MjIsMHg3OCwweDdkLDB4ZTYsMHgyNCwweDBhLDB4ZjYsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY2LAotMHg3OCwweDdhLDB4NzYsMHgwMCwweDc4LDB4N2IsMHhlNiwweDI0LDB4ZmYsMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLDB4NzgsMHg3YSwKLTB4ZTYsMHg3ZiwweDAwLDB4ZmUsMHhlYywweGQzLDB4OWUsMHhlZiwweDY0LDB4ODAsMHhjZCwweDY0LDB4ODAsMHg5ZCwweDQwLDB4MjEsCi0weDc4LDB4N2MsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhjYSwweDQwLAotMHgwMywweDdjLDB4MTgsMHgyMiwweDc4LDB4N2EsMHgwNiwweDc4LDB4N2QsMHgwNiwweGU2LDB4MTgsMHg3MCwweDAxLDB4MDYsMHg4MCwKLTB4YzMsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDc4LDB4N2MsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsCi0weDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGNhLDB4NDAsMHgwMywweDdjLDB4MTgsMHgyMiwweDdjLDB4MDAsMHgyMiwweDkwLAotMHhmZiwweGYwLDB4ZTAsMHgyMCwweGU3LDB4MTIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDMwLDB4ZTUsMHgwOSwweDkwLDB4ZmYsMHhmMCwKLTB4ZTAsMHg0NCwweDIwLDB4ZjAsMHhjMywweDIyLDB4ODAsMHhlNywweGQzLDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDIwLDB4ZTMsCi0weDEyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwweGU1LDB4MDksMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MjAsMHhmMCwweGMzLAotMHgyMiwweDgwLDB4ZTcsMHhkMywweDIyLDB4OGMsMHg0MiwweDhkLDB4NDEsMHg3YywweDAwLDB4ZWQsMHg1NCwweGYwLDB4ZmQsMHhlYywKLTB4NzAsMHgwMywweGVkLDB4NjQsMHgzMCwweDcwLDB4MDUsMHg3NSwweDNlLDB4MDMsMHg4MCwweDAzLDB4NzUsMHgzZSwweDA0LDB4YWMsCi0weDNlLDB4MTIsMHgwZiwweDdjLDB4NzUsMHg4MywweDAwLDB4ODUsMHg4MywweDQwLDB4ZTUsMHg0MSwweDU0LDB4MGYsMHhmNSwweDNmLAotMHhlNSwweDQwLDB4NzAsMHgwNCwweGU1LDB4M2YsMHg2NCwweDAzLDB4NzAsMHgzNSwweGU1LDB4M2UsMHgyNCwweGZkLDB4NzUsMHhmMCwKLTB4MGEsMHhhNCwweDI0LDB4MGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNiwweDA1LDB4MTIsCi0weDEwLDB4NjcsMHg4MCwweDE5LDB4ZTUsMHgzZSwweDI0LDB4OTcsMHhmOCwweGM2LDB4NTQsMHhmYiwweGY2LDB4NzgsMHhhMywweGU2LAotMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDgwLDB4NTksMHhlNSwKLTB4NDAsMHg3MCwweDA0LDB4ZTUsMHgzZiwweDY0LDB4MDQsMHg3MCwweDQ4LDB4ZTUsMHgzZSwweDI0LDB4ZmQsMHg3NSwweGYwLDB4MGEsCi0weGE0LDB4MjQsMHgwYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU1LDB4MDcsMHhhYywweDQyLAotMHhhZCwweDQxLDB4MTIsMHgxYywweDkzLDB4ZTUsMHg0MiwweDMwLDB4ZTIsMHgxNSwweDc4LDB4YTcsMHhlNiwweDMwLDB4ZTAsMHgwZiwKLTB4NzgsMHhhNywweGU2LDB4MzAsMHhlMSwweDA5LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA0LDB4MTIsMHgzMSwweDlhLDB4NzgsCi0weGEzLDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDgwLAotMHgwNywweGU0LDB4ZmMsMHg3ZCwweGVlLDB4MTIsMHgxYywweDkzLDB4YzIsMHgwMywweDIyLDB4MTIsMHgzMCwweDg1LDB4MTIsMHgwZiwKLTB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsCi0weGZkLDB4NDAsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhlMCwweDkwLDB4ZmQsMHg0MSwweGYwLDB4YzIsMHgwMywweDdkLDB4MDIsMHg3YywweDAwLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwKLTB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4ZWMsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDMwLDB4ZTEsCi0weDA3LDB4N2MsMHgxMywweDEyLDB4MjUsMHg0YSwweDgwLDB4MGYsMHg5MCwweGZkLDB4NDEsMHhlMCwweGZkLDB4NzgsMHg4ZiwweGU2LAotMHhmYywweDEyLDB4MTMsMHhmZCwweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwKLTB4ZWMsMHhmNiwweDdkLDB4MDAsMHgxMiwweDBmLDB4MGIsMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsCi0weDg1LDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhlYywweDI0LDB4OTcsMHhmOCwweGU2LDB4MzAsMHhlMiwweDA3LDB4N2MsMHgxMywweDEyLAotMHgyNSwweDRhLDB4ODAsMHgxYiwweDc4LDB4OGYsMHhlNiwweDI0LDB4OTcsMHhmOCwweGU2LDB4MjAsMHhlMSwweDA3LDB4N2MsMHgxMiwKLTB4MTIsMHgyNSwweDRhLDB4ODAsMHgwYSwweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgxNCwweDIxLDB4MTIsMHgyNSwweDRhLDB4MTIsCi0weDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4ZWMsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDIwLAotMHhlMiwweDA3LDB4N2MsMHgxMSwweDEyLDB4MjUsMHg0YSwweDgwLDB4MGEsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MTUsMHgyMiwKLTB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLDB4ZWMsMHhmNiwweDEyLDB4MGYsCi0weDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLAotMHhmZCwweDQ3LDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBhLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHg5MCwweGZkLDB4NDgsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDMsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4ZjUsMHg1YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweGY1LDB4NWQsMHg4YywweDViLDB4ZTQsMHhlYywweDMzLDB4MzMsMHg1NCwweDAxLDB4NzgsMHg4ZiwweGY2LDB4NjAsCi0weDA4LDB4ZTUsMHg1YywweDMwLDB4ZTEsMHgwMywweDc4LDB4OGYsMHgwNiwweDc4LDB4OGYsMHhlNiwweDkwLDB4ZmQsMHg0OSwweGYwLAotMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZmQsMHhhMywKLTB4ZTAsMHg1NCwweDBjLDB4ZmMsMHhlZCwweDU0LDB4ZTYsMHg4YywweDVmLDB4ZjUsMHg1ZSwweGU1LDB4NWIsMHgzMCwweGU1LDB4MDMsCi0weDQzLDB4NWYsMHgwMSwweGU1LDB4NWMsMHgyMCwweGU1LDB4MGUsMHhlNSwweDViLDB4NTQsMHg3ZiwweDcwLDB4MDgsMHhlNSwweDViLAotMHgyMCwweGU3LDB4MDMsMHg0MywweDVmLDB4MDIsMHhlNSwweDViLDB4MzAsMHhlMywweDAzLDB4NDMsMHg1ZiwweDEwLDB4ZTUsMHg1YiwKLTB4MzAsMHhlMiwweDAzLDB4NDMsMHg1ZiwweDIwLDB4ZTUsMHg1YiwweDU0LDB4MDMsMHg2MCwweDAzLDB4NDMsMHg1ZiwweDQwLDB4ZTUsCi0weDViLDB4MzAsMHhlMSwweDAzLDB4NDMsMHg1ZiwweDgwLDB4ZTUsMHg1YiwweDMwLDB4ZTQsMHgwMywweDQzLDB4NWUsMHgwMSwweGU1LAotMHg1YiwweDMwLDB4ZTYsMHgwMywweDQzLDB4NWUsMHgwOCwweGU1LDB4NWMsMHgyMCwweGU0LDB4MGUsMHhlNSwweDViLDB4NTQsMHg3ZiwKLTB4NzAsMHgwOCwweGU1LDB4NWIsMHgyMCwweGU3LDB4MDMsMHg0MywweDVlLDB4MTAsMHg1MywweDVmLDB4ZmIsMHg1MywweDVlLDB4ZjksCi0weGFkLDB4NWUsMHhlNSwweDVmLDB4OTAsMHhmZCwweDQyLDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweGU1LDB4NWQsMHgzMCwweGUzLAotMHgwZCwweGU1LDB4NWQsMHg1NCwweDMwLDB4YzQsMHg1NCwweDBmLDB4OTAsMHhmZCwweDQ1LDB4ZjAsMHg4MCwweDA1LDB4ZTQsMHg5MCwKLTB4ZmQsMHg0NSwweGYwLDB4ZTUsMHg1ZCwweDU0LDB4MDMsMHg5MCwweGZkLDB4NDQsMHhmMCwweGU1LDB4NWQsMHg1NCwweDA0LDB4YzMsCi0weDEzLDB4OTAsMHhmZCwweDQ2LDB4ZjAsMHg5MCwweGZkLDB4NDQsMHhlMCwweDcwLDB4MGUsMHg3ZCwweDNkLDB4N2UsMHhmZCwweDdmLAotMHgwMSwweDc0LDB4MDEsMHg5MCwweDAwLDB4MDksMHgxMiwweDAxLDB4NDIsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA4LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg3YywweDAwLDB4ZmQsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA3LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg3ZiwweDAwLDB4NGMsMHhmZSwweGVmLDB4NGQsMHg5MCwweGZkLAotMHg0MCwweGYwLDB4YTMsMHhjZSwweGYwLDB4Y2UsMHhjMiwweDAzLDB4N2QsMHgwYSwweDdjLDB4MDAsMHgxMiwweDI0LDB4YjEsMHgxMiwKLTB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHg3OCwweDk0LDB4NzYsMHgwMSwweDA4LDB4NzYsCi0weGZkLDB4MDgsMHg3NiwweDQwLDB4NzgsMHg5MSwweDc2LDB4MGMsMHg3OCwweDk0LDB4MTIsMHgwNCwweDY1LDB4MTIsMHgwMiwweDE0LAotMHg3OCwweDkyLDB4Y2IsMHhmNiwweGNiLDB4MDgsMHhmNiwweDdmLDB4MDAsMHhlZiwweDI0LDB4ZWIsMHg0MCwweDFmLDB4ZTQsMHhlZiwKLTB4MjUsMHhlMCwweDkwLDB4MzQsMHhiZiwweGZkLDB4OTMsMHhjZCwweDA0LDB4OTMsMHg3OCwweDkzLDB4NjYsMHg3MCwweDAzLDB4ZWQsCi0weDE4LDB4NjYsMHg3MCwweDA2LDB4NzgsMHg5MSwweDc2LDB4MDAsMHg4MCwweDAzLDB4MGYsMHg4MCwweGRjLDB4NzgsMHg5MCwweGVmLAotMHhmNiwweDc4LDB4OTQsMHgxMiwweDA0LDB4NjUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDAyLDB4MGUsMHg3OCwweDkyLDB4Y2IsMHhmNiwKLTB4Y2IsMHgwOCwweGY2LDB4NTQsMHgwNCwweGNiLDB4NTQsMHgwNiwweDRiLDB4NjAsMHgwNCwweDc4LDB4OTEsMHg3NiwweDBiLDB4NzgsCi0weDkzLDB4ZTYsMHgzMCwweGUzLDB4MTMsMHg3OCwweDk0LDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLAotMHgyNCwweGZiLDB4NTAsMHgwNCwweDc4LDB4OTEsMHg3NiwweDBkLDB4NzgsMHg5MywweGU2LDB4NTQsMHhjMCwweDdkLDB4MDAsMHg2NCwKLTB4YzAsMHg0ZCwweDcwLDB4MDQsMHg3OCwweDkxLDB4NzYsMHgwYiwweDc4LDB4OTQsMHgxMiwweDA0LDB4NjUsMHg5MCwweDAwLDB4MDQsCi0weDEyLDB4MDEsMHhlYywweDI0LDB4ZmMsMHg1MCwweDA0LDB4NzgsMHg5MSwweDc2LDB4MGYsMHg3OCwweDk0LDB4MTIsMHgwNCwweDY1LAotMHg5MCwweDAwLDB4MDYsMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZkLDB4NTAsMHgwNCwweDc4LDB4OTEsMHg3NiwweDBlLDB4NzgsMHg5NCwKLTB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDA5LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmZCwweDUwLDB4MDQsMHg3OCwweDkxLDB4NzYsCi0weDBhLDB4NzgsMHg5MSwweGU2LDB4NzAsMHgyYSwweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHg5NCwweDEyLAotMHgwNCwweDY1LDB4NzgsMHhhMSwweGU2LDB4ZjksMHg3OCwweGEwLDB4ZTYsMHhmYSwweDdiLDB4MDEsMHg3NCwweDBhLDB4NzgsMHgwMCwKLTB4MTIsMHgwMywweDNmLDB4YzIsMHgwMywweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgxMSwweDIzLDB4NzgsMHg5MSwweGVjLDB4ZjYsCi0weDc4LDB4OTEsMHhlNiwweGZjLDB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLAotMHhlYywweGY2LDB4MTIsMHgwZiwweDdjLDB4NzgsMHg4ZiwweGU2LDB4MjQsMHhmZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHgxYywKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHhhYywweDgyLDB4YWQsMHg4MywweDc4LDB4YTAsMHg4NiwweDgzLDB4MDgsCi0weDg2LDB4ODIsMHhlYywweGY5LDB4ZWQsMHhmYSwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGE3LDB4YzIsMHgwMywweDc4LAotMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDExLDB4MjMsMHgxMiwweDMxLDB4MDgsMHgyMiwweDhkLDB4MmIsMHg4YywweDJhLDB4ZWQsMHg2MCwKLTB4NDAsMHg3NSwweDI3LDB4MDEsMHg3NSwweDI5LDB4NDgsMHg3NSwweDI4LDB4ZmYsMHhlNSwweDJhLDB4MjQsMHhmZCwweGZjLDB4ZTQsCi0weDM0LDB4ZmYsMHhmZCwweGVjLDB4N2MsMHgwMywweDI1LDB4ZTAsMHhjZCwweDMzLDB4Y2QsMHhkYywweGY5LDB4ZmMsMHhlNSwweDI5LAotMHgyYywweGY1LDB4MjksMHhlNSwweDI4LDB4M2QsMHhmNSwweDI4LDB4YWQsMHgyOSwweGFlLDB4MjgsMHhhZiwweDI3LDB4NzQsMHg4MCwKLTB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMywweDE3LDB4NzQsMHg4MCwweDkwLDB4MDAsMHgwMiwweDEyLDB4MDMsMHgxNywweDEyLDB4MGYsCi0weGQzLDB4ZTUsMHgyYiwweDE0LDB4NjAsMHgzYiwweDc1LDB4MjcsMHgwMSwweDc1LDB4MjksMHgwOCwweDc1LDB4MjgsMHhmZiwweGU1LAotMHgyYSwweDI0LDB4ZmQsMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLDB4ZWMsMHg3YywweDAzLDB4MjUsMHhlMCwweGNkLDB4MzMsMHhjZCwKLTB4ZGMsMHhmOSwweGZjLDB4ZTUsMHgyOSwweDJjLDB4ZjUsMHgyOSwweGU1LDB4MjgsMHgzZCwweGY1LDB4MjgsMHhhZCwweDI5LDB4YWUsCi0weDI4LDB4YWYsMHgyNywweGU0LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMywweDE3LDB4ZTQsMHg5MCwweDAwLDB4MDIsMHgxMiwweDAzLAotMHgxNywweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhlYywweDI0LDB4OTcsMHhmOCwweGU2LDB4MzAsMHhlMiwKLTB4MDksMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MTUsMHgyMiwweGQyLDB4MDAsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MGYsCi0weDdjLDB4NzgsMHg5MCwweDc2LDB4MDAsMHg5MCwweGZkLDB4NDEsMHhlMCwweDMwLDB4ZTcsMHgwNCwweDc4LDB4OTAsMHg3NiwweDAxLAotMHg3OCwweDkwLDB4ZTYsMHhmZCwweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgwZCwweDNhLDB4YzIsMHgwMywweDMwLDB4MDAsMHgwNywKLTB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDE0LDB4MjEsMHg3YywweDAwLDB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsCi0weDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDAxLAotMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwKLTB4ZTAsMHgwMiwweDgwLDB4ZWQsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHg1NCwweGY4LDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgyMiwweGMyLDB4MDMsMHg4YywweDU4LDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMCwKLTB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweDc5LDB4ZWUsMHg3YSwweDM0LDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsCi0weDEyLDB4MGUsMHgxMCwweGFjLDB4NTgsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDNhLDB4YzIsMHgwMywweGFjLDB4NTgsMHgxMiwweDExLAotMHgyMywweDIyLDB4OGQsMHg1MywweDhlLDB4NTIsMHg4ZiwweDUxLDB4OGMsMHg1MCwweDEyLDB4MGYsMHg3YywweDc1LDB4NGYsMHgwMCwKLTB4NzgsMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDIwLDB4ZTQsCi0weDE2LDB4ZTUsMHg0ZiwweDI0LDB4ZjYsMHg0MCwweDEwLDB4MDUsMHg0ZiwweGMyLDB4MDMsMHg3YywweDE4LDB4MTIsMHgzMiwweDQ4LAotMHhhYywweDUwLDB4MTIsMHgwZiwweDdjLDB4ODAsMHhkOSwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDIwLDB4ZTQsMHgwNSwweGMyLDB4MDMsMHg3YywweDAyLDB4MjIsMHg3OCwweGEzLDB4ZTYsCi0weDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDBmLDB4NjAsMHgxNiwweDc4LAotMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4MGYsMHhmMCwKLTB4YzIsMHgwMywweDdjLDB4MDEsMHgyMiwweDc4LDB4YTIsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHhhZCwweDUzLDB4YWUsCi0weDUyLDB4YWYsMHg1MSwweDEyLDB4MDMsMHgwZiwweGMyLDB4MDMsMHg3YywweDAwLDB4MjIsMHg4ZCwweDMxLDB4OGMsMHgzMCwweDEyLAotMHgxNSwweDIyLDB4ZTUsMHgzMSwweDYwLDB4MjAsMHhlNSwweDMwLDB4YjQsMHgwMywweDBjLDB4N2MsMHgwMSwweDEyLDB4MjQsMHg3YywKLTB4N2MsMHg4MSwweDEyLDB4MjQsMHg3YywweDgwLDB4MGYsMHhlNSwweDMwLDB4YjQsMHgwNCwweDBhLDB4N2MsMHgwMiwweDEyLDB4MjQsCi0weDdjLDB4N2MsMHg4MiwweDEyLDB4MjQsMHg3YywweGFjLDB4MzAsMHgxMiwweDBmLDB4N2MsMHhlNSwweDMxLDB4NjAsMHgxYSwweDc4LAotMHhhNCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDU0LDB4ZTcsMHhmMCwweGEzLDB4YTMsMHhhMywweGEzLDB4ZTAsMHg1NCwKLTB4ZTcsMHhmMCwweGFjLDB4MzAsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDNhLDB4NzgsMHhhMCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsCi0weDc5LDB4ZjgsMHg3YSwweDM0LDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsMHhjMiwweDAzLDB4ZTUsMHgzMCwweDI0LAotMHg5NywweGY4LDB4YzYsMHg1NCwweGZkLDB4ZjYsMHhhYywweDMwLDB4MTIsMHgxMSwweDIzLDB4MjIsMHg4YywweDI2LDB4MzAsMHgwMywKLTB4MDUsMHgxMiwweDMxLDB4ZTcsMHg4MCwweGY4LDB4N2MsMHgwYSwweDEyLDB4MzAsMHhmYSwweGQyLDB4MDMsMHhlNSwweDI2LDB4MjQsCi0weGZkLDB4NzgsMHg5ZCwweGY2LDB4NzAsMHgwOSwweDc4LDB4YTQsMHg3NiwweGZmLDB4MDgsMHg3NiwweGUwLDB4ODAsMHgwNywweDc4LAotMHhhNCwweDc2LDB4ZmYsMHgwOCwweDc2LDB4ZTIsMHg3OCwweDlkLDB4ZTYsMHg3NSwweGYwLDB4MTAsMHhhNCwweGFkLDB4ZjAsMHhmYywKLTB4MjQsMHhhMCwweDc4LDB4YTMsMHhmNiwweGVkLDB4MzQsMHhmZiwweDE4LDB4ZjYsMHg3OCwweDlkLDB4ZTYsMHg3NSwweGYwLDB4MGEsCi0weGE0LDB4MjQsMHgwOCwweGZjLDB4ZTQsMHgzNCwweGZkLDB4ZmQsMHg3OCwweGEwLDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDEyLAotMHgzMSwweDkzLDB4MjIsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHgzMCwweGU3LDB4MjIsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgyMiwweDc4LDB4YTQsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg1NCwKLTB4N2YsMHhmMCwweGFkLDB4ODMsMHhlNSwweDgyLDB4MjQsMHgwNCwweGZjLDB4ZTQsMHgzZCwweDhjLDB4ODIsMHhmNSwweDgzLDB4ZTAsCi0weDU0LDB4N2YsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhlMCwweDU0LDB4ZjgsMHhmMCwweDc4LDB4YTUsMHhlNiwweDI0LDB4MDEsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDc4LDB4YTUsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHg3NCwweDBmLDB4ZjAsMHgyMiwweDc4LDB4YTQsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg1NCwKLTB4M2YsMHhmMCwweGFkLDB4ODMsMHhlNSwweDgyLDB4MjQsMHgwNCwweGZjLDB4ZTQsMHgzZCwweDhjLDB4ODIsMHhmNSwweDgzLDB4ZTAsCi0weDU0LDB4M2YsMHhmMCwweDc4LDB4OWQsMHhlNiwweDI0LDB4OWUsMHhmOCwweGU2LDB4ZmMsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDAxLAotMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4OWQsMHhlNiwweDI0LDB4OWUsMHhmOCwKLTB4ZTYsMHhmYywweDc4LDB4YTUsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsCi0weGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LAotMHhmYiwweDQ0LDB4MDIsMHhmNSwweDI2LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNSwweDAzLDB4NDMsMHgyNiwweDAxLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMCwweDAzLDB4MTIsMHgwZiwweGQzLDB4ZTUsMHgyNiwweGZjLAotMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwKLTB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4NzQsMHgwZiwweGYwLDB4NzgsCi0weGE0LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4NDQsMHg4MCwweGYwLDB4YTMsMHhhMywweGEzLDB4YTMsMHhlMCwweDQ0LAotMHg4MCwweGYwLDB4MjIsMHg4YywweDJhLDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwOCwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBhLDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDcsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGEwLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsCi0weGVkLDB4ZmUsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA4LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVlLAotMHhmMCwweGVjLDB4ZmUsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA3LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZWUsMHhmMCwweDhjLDB4MjksMHg4ZCwweDI4LDB4YzMsMHhlYywweDk0LDB4MDIsMHhlZCwweDk0LDB4MDYsMHg0MCwweDA1LDB4NzUsCi0weDI3LDB4N2MsMHg4MCwweDMzLDB4ZDMsMHhlNSwweDI5LDB4OTQsMHg4MSwweGU1LDB4MjgsMHg5NCwweDAxLDB4NDAsMHgwNSwweDc1LAotMHgyNywweDNjLDB4ODAsMHgyMywweGQzLDB4ZTUsMHgyOSwweDk0LDB4YzAsMHhlNSwweDI4LDB4OTQsMHgwMCwweDQwLDB4MDUsMHg3NSwKLTB4MjcsMHgxOCwweDgwLDB4MTMsMHhkMywweGU1LDB4MjksMHg5NCwweDMwLDB4ZTUsMHgyOCwweDk0LDB4MDAsMHg0MCwweDA1LDB4NzUsCi0weDI3LDB4MGMsMHg4MCwweDAzLDB4NzUsMHgyNywweDA4LDB4YWYsMHgyNywweGU0LDB4ZWYsMHg1NCwweDdjLDB4NDQsMHg4MywweGZmLAotMHg4ZiwweDI3LDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwMSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGU1LDB4MjcsMHhmYywweDc4LDB4OWQsMHhlNiwweDI0LDB4OWUsMHhmOCwweGVjLAotMHhmNiwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwKLTB4MjcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsCi0weDMwLDB4ZTMsMHgxNywweDUzLDB4MjcsMHhjNywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLDB4MzQsMHhlOSwweDkzLDB4NDIsMHgyNywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTcsMHgwNSwweDQzLDB4MjcsMHg0MCwweDgwLDB4MDMsCi0weDUzLDB4MjcsMHhiZiwweDUzLDB4MjcsMHhmYiwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDYwLDB4MDMsMHg0MywweDI3LDB4MDQsMHg1MywweDI3LDB4ZmMsMHg3OCwweGExLDB4ZTYsMHgyNCwKLTB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0MiwweDI3LDB4NDMsMHgyNywweDgwLDB4ZTUsCi0weDI3LDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLAotMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwKLTB4MjcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsCi0weDMwLDB4ZTEsMHgwNSwweDUzLDB4MjcsMHhkZiwweDgwLDB4MDMsMHg0MywweDI3LDB4MjAsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLAotMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU0LDB4MDUsMHg1MywweDI3LDB4ZWYsMHg4MCwKLTB4MDMsMHg0MywweDI3LDB4MTAsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHhiNCwweDAyLDB4MDMsMHg0MywweDI3LDB4MDIsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LAotMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDMsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGY1LDB4MjcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA5LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg3MCwweDA1LDB4NTMsMHgyNywweDdmLDB4ODAsMHgwMywweDQzLAotMHgyNywweDgwLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywKLTB4ZTAsMHgzMCwweGUwLDB4MDUsMHg0MywweDI3LDB4MjAsMHg4MCwweDAzLDB4NTMsMHgyNywweGRmLDB4NzgsMHhhMSwweGU2LDB4MjQsCi0weDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMywweDA1LDB4NDMsMHgyNywweDQwLAotMHg4MCwweDAzLDB4NTMsMHgyNywweGJmLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMCwweDA1LDB4NDMsMHgyNywweDEwLDB4ODAsMHgwMywweDUzLDB4MjcsMHhlZiwweDc4LDB4YTEsCi0weGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlNCwweDA1LAotMHg0MywweDI3LDB4MDgsMHg4MCwweDAzLDB4NTMsMHgyNywweGY3LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGU1LDB4MDUsMHg0MywweDI3LDB4MDQsMHg4MCwweDAzLDB4NTMsCi0weDI3LDB4ZmIsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLAotMHhlMCwweDMwLDB4ZTYsMHgwNSwweDQzLDB4MjcsMHgwMSwweDgwLDB4MDMsMHg1MywweDI3LDB4ZmUsMHg3OCwweGExLDB4ZTYsMHgyNCwKLTB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTcsMHgwNSwweDQzLDB4MjcsCi0weDAyLDB4ODAsMHgwMywweDUzLDB4MjcsMHhmZCwweGU1LDB4MjcsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDMsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4YzIsMHgwMywweDdjLDB4MDAsMHgyMiwweDhkLDB4MjcsMHg4YywKLTB4MjYsMHhlZCwweDU0LDB4MDMsMHgxNCwweDYwLDB4MDMsMHg3YywweDEwLDB4MjIsMHhlNSwweDI3LDB4NTQsMHg3YywweDI0LDB4ZmMsCi0weDQwLDB4MDMsMHg3YywweDBiLDB4MjIsMHhlNSwweDI2LDB4MjQsMHg5NywweGY4LDB4YzYsMHg0NCwweDAyLDB4ZjYsMHg3YywweDAwLAotMHgyMiwweDhjLDB4MzAsMHgxMiwweDBmLDB4N2MsMHhlNSwweDMwLDB4MjQsMHg5NywweGY4LDB4ZTYsMHgyMCwweGUyLDB4NGYsMHhhYywKLTB4MzAsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDNhLDB4ZTUsMHgzMCwweDI0LDB4ZmUsMHg0NCwweDI4LDB4ZmMsMHg3OCwweGE0LDB4ODYsCi0weDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmMCwweGFmLDB4ODMsMHhlNSwweDgyLDB4MjQsMHgwNCwweGZlLDB4ZTQsMHgzZiwweGZmLAotMHhlYywweDhlLDB4ODIsMHg4ZiwweDgzLDB4ZjAsMHg3YywweDAzLDB4OGMsMHgyYywweGU1LDB4MmMsMHhmYywweDc4LDB4YTUsMHhlNiwKLTB4MjQsMHgwMSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyYywweGZjLDB4NzgsCi0weGE1LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3NSwweDJkLAotMHgwMSwweDc1LDB4MmYsMHg0OCwweDc1LDB4MmUsMHhmZiwweGU1LDB4MzAsMHgyNCwweGZkLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwKLTB4ZWMsMHg3YywweDAzLDB4MjUsMHhlMCwweGNkLDB4MzMsMHhjZCwweGRjLDB4ZjksMHhmYywweGU1LDB4MmYsMHgyYywweGY1LDB4MmYsCi0weGU1LDB4MmUsMHgzZCwweGY1LDB4MmUsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg1NCwweGU3LDB4ZjUsMHgyYywweGFkLDB4MmYsMHhhZSwweDJlLDB4YWYsMHgyZCwweGU0LDB4OTAsMHgwMCwKLTB4MDIsMHgxMiwweDAzLDB4MTcsMHhlNCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweDEyLDB4MDEsMHhlNiwweDMwLDB4ZTUsCi0weDAzLDB4NDMsMHgyYywweDEwLDB4ZTUsMHgyYywweGZjLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHgxMiwweDEwLDB4NjcsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhjMiwweDAzLDB4ZmMsMHhlNSwweDMwLDB4MjQsMHg5NywweGY4LDB4YzYsCi0weDQ0LDB4MDQsMHhmNiwweDhjLDB4MmMsMHhlNSwweDMwLDB4NTQsMHgwZiwweGM0LDB4NTQsMHhmMCwweDdlLDB4MDAsMHhmZiwweGVlLAotMHhlZiwweDQ0LDB4MDQsMHg3ZCwweDAwLDB4ZmYsMHhlYywweDRlLDB4ZmMsMHhlZCwweDRmLDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg3YywKLTB4MDAsMHgyMiwweDhjLDB4MmYsMHgxMiwweDBmLDB4N2MsMHgxMiwweDEwLDB4MDcsMHg3OCwweGE0LDB4ODYsMHg4MywweDA4LDB4ODYsCi0weDgyLDB4ZTAsMHg1NCwweDA4LDB4ZjAsMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4NTQsMHgwOCwweGYwLDB4YWMsMHgyZiwweDdkLAotMHgwMiwweDEyLDB4MGQsMHgzYSwweGMyLDB4MDMsMHhlNSwweDJmLDB4MjQsMHg5NywweGY4LDB4YzYsMHg1NCwweGZiLDB4ZjYsMHg3YywKLTB4MDAsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OTAsMHhlYywweGY2LDB4ZWMsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDMwLDB4ZTEsCi0weDBhLDB4N2QsMHgwMCwweDdjLDB4MTMsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHg3OCwweDkwLDB4ZTYsMHgyNCwweDk3LAotMHhmOCwweGM2LDB4NDQsMHgwMSwweGY2LDB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweDkwLDB4ZTYsMHgyNCwKLTB4ZmQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweDc4LDB4YTAsCi0weGU2LDB4ZmEsMHgwOCwweGU2LDB4ZjksMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhhNywweDc4LDB4YTAsMHg4NiwweDgzLAotMHgwOCwweDg2LDB4ODIsMHg3OSwweGY4LDB4N2EsMHgzNCwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4MTIsMHgwZiwKLTB4ZDMsMHhjMiwweDAzLDB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwweDExLDB4MjMsMHg3OCwweDhmLDB4ZWMsMHhmNiwweGVjLDB4NjAsCi0weDBhLDB4N2QsMHgwMCwweDdjLDB4MDgsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHg3OCwweDkwLDB4ZTYsMHhmYywweDEyLAotMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwKLTB4NDQsMHgxMCwweDU0LDB4ZGYsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHg0OCwweDc4LAotMHg5MCwweGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGVmLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHg0OCwweDc4LDB4OTAsCi0weGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg0NCwweDEwLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHg0OCwweDc4LDB4OTAsMHhlNiwKLTB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHg0NCwweDIwLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhmMCwweDEyLDB4MzIsMHg0OCwweDc4LDB4OTAsMHhlNiwweGZjLAotMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHgzMCwweGU0LDB4MTUsMHhjMiwweDAzLDB4NzgsMHg5MCwweGU2LDB4NDQsMHgxMCwweDdmLDB4MDAsMHhmZSwweDdjLDB4MDcsCi0weDEyLDB4MzEsMHg5YSwweDEyLDB4MzEsMHgwOCwweDAyLDB4MTcsMHg0OSwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4Y2YsMHhmMCwweGMyLDB4MDMsMHg3YywweGM4LDB4MTIsMHgzMiwKLTB4NDgsMHg3OCwweDkwLDB4ZTYsMHhmYywweDEyLDB4MGYsMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MzAsMHhmMCwweGMyLDB4MDMsMHg3YywweGYwLDB4MTIsMHgzMiwweDQ4LAotMHg3OCwweDkwLDB4ZTYsMHhmYywweDEyLDB4MGYsMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTQsMHgxNCwweGMyLDB4MDMsMHg3OCwweDkwLDB4ZTYsMHg0NCwweDEwLDB4N2YsCi0weDAwLDB4ZmUsMHg3YywweDA3LDB4MTIsMHgzMSwweDlhLDB4MTIsMHgzMSwweDA4LDB4ODAsMHg1ZCwweDc4LDB4YTMsMHhlNiwweDI0LAotMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZWYsMHhmMCwweDc4LDB4YTMsMHhlNiwKLTB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZGYsMHhmMCwweDc4LDB4OTAsCi0weGU2LDB4MjQsMHhmZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHgxYywweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLAotMHhhYywweDgyLDB4YWQsMHg4MywweDc4LDB4YTAsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmOSwweGVkLDB4ZmEsMHg3YiwKLTB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGE3LDB4YzIsMHgwMywweDc4LDB4OTAsMHhlNiwweGZjLDB4MTIsMHgxMSwweDIzLDB4N2QsCi0weDAwLDB4N2MsMHgwYiwweDEyLDB4MjQsMHhiMSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4OTAsMHhmZiwweDkxLAotMHhlMCwweDkwLDB4ZmQsMHg0MSwweGYwLDB4N2QsMHgwMiwweDdjLDB4MDAsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHgyMiwKLTB4MTIsMHgzMCwweDg1LDB4OTAsMHhmZCwweDQwLDB4ZTAsMHhmNCwweGZjLDB4OTAsMHhmZiwweDkxLDB4ZTAsMHg1YywweGY1LDB4MzMsCi0weDkwLDB4ZmQsMHg0MSwweGUwLDB4ZmMsMHg5MCwweGZkLDB4NDAsMHhlMCwweDVjLDB4NDIsMHgzMywweGU1LDB4MzMsMHg5MCwweGZmLAotMHg5MSwweGYwLDB4N2MsMHgwMCwweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4NzQsMHgzYywweDkwLDB4ZmIsMHhlOCwKLTB4ZjAsMHg3NCwweDNlLDB4OTAsMHhmYiwweGU4LDB4ZjAsMHhlNCwweDkwLDB4ZmQsMHgzMCwweGYwLDB4MjIsMHg4ZCwweDM1LDB4OGMsCi0weDM0LDB4ZWMsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAyLDB4ODAsMHgyOCwweGI0LDB4MDIsMHgwMiwweDgwLAotMHgwMywweGQzLDB4NDAsMHgwOCwweGE4LDB4MzUsMHhjNiwweDI1LDB4ZTAsMHhmNiwweDgwLDB4MTgsMHhiNCwweDA0LDB4MDIsMHg4MCwKLTB4MDMsMHhkMywweDQwLDB4MGEsMHhhOCwweDM1LDB4YzYsMHgyNSwweGUwLDB4MjUsMHhlMCwweGY2LDB4ODAsMHgwNiwweGE4LDB4MzUsCi0weDc2LDB4MDAsMHg4MCwweDAwLDB4MjIsMHg4YywweDNjLDB4OGQsMHgzYiwweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDc1LAotMHg2MCwweDA2LDB4NzUsMHg2MSwweDAwLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDZlLDB4MTIsMHgwMSwweGU2LDB4YjQsMHg4MCwKLTB4MDIsMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgxOCwweDllLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsCi0weDAwLDB4MDMsMHgxMiwweDAxLDB4ZWMsMHg1NCwweGYwLDB4YjQsMHgzMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg1ZiwweDkwLAotMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhmZCwweGViLDB4ZmUsMHg3ZiwKLTB4MDEsMHg5MCwweGZkLDB4MzQsMHgxMiwweDA0LDB4NmUsMHhlZSwweGNkLDB4OTAsMHgzNSwweDAyLDB4ZmMsMHhlNCwweDkzLDB4ZmYsCi0weDc0LDB4MDEsMHg5MywweGZlLDB4ZjksMHhlZiwweGZhLDB4N2IsMHgwMSwweGVhLDB4ZmYsMHhlOSwweGZlLDB4ZWMsMHhjMywweDllLAotMHhlZCwweDlmLDB4NDAsMHgyNSwweDkwLDB4MzUsMHgwNCwweGU0LDB4OTMsMHhmZCwweDc0LDB4MDEsMHg5MywweGZjLDB4ZWQsMHhmZSwKLTB4ZWMsMHhmZCwweDdmLDB4MDEsMHhlZSwweGNkLDB4ZmMsMHg5MCwweGZkLDB4MzYsMHhlMCwweGQzLDB4OWMsMHg5MCwweGZkLDB4MzUsCi0weGUwLDB4OWQsMHg1MCwweDA1LDB4NzUsMHg2MCwweDgwLDB4ODAsMHgzMywweDEyLDB4MTksMHhiYywweDgwLDB4MmUsMHhiNCwweDYwLAotMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGIsMHhhYywweDNjLDB4YWQsMHgzYiwweDEyLDB4MDcsMHg4MiwweDhjLDB4NjAsMHg4MCwKLTB4MWIsMHhiNCwweDEwLDB4MDMsMHhiMywweDQwLDB4MTAsMHhjMywweGI0LDB4MjAsMHgwMywweGIzLDB4NDAsMHgwOSwweGMzLDB4YjQsCi0weDQwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4NzUsMHg2MCwweDgxLDB4ODAsMHgwMCwweDgwLDB4NzUsMHhiNCwweDgxLAotMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NmIsMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDMsMHgxMiwKLTB4MDEsMHhlYywweDU0LDB4ZjAsMHhiNCwweDMwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFkLDB4OTAsMHhmZCwweDMxLDB4MTIsCi0weDA0LDB4ODAsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHhmYSwweGZkLDB4ZWIsMHhmZSwweDdmLDB4MDEsMHg5MCwweGZkLAotMHgzNywweDEyLDB4MDQsMHg2ZSwweDEyLDB4MTksMHgyNiwweDgwLDB4MzYsMHhiNCwweDYwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwKLTB4MTMsMHg3NSwweDNhLDB4NjEsMHhlNCwweGY1LDB4MzksMHhmNSwweDM4LDB4YWMsMHgzYywweGFkLDB4M2IsMHgxMiwweDA1LDB4ZGUsCi0weDhjLDB4NjAsMHg4MCwweDFiLDB4YjQsMHgxMCwweDAzLDB4YjMsMHg0MCwweDEwLDB4YzMsMHhiNCwweDIwLDB4MDMsMHhiMywweDQwLAotMHgwOSwweGMzLDB4YjQsMHg0MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwweDc1LDB4NjAsMHg4MSwweDgwLDB4MDAsMHg4MCwKLTB4MDIsMHg4MCwweDAwLDB4ZTUsMHg2MCwweGZjLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4ZWMsMHg5MCwweDAwLDB4MDIsCi0weDEyLDB4MDMsMHgxNywweGFjLDB4NjEsMHgyMiwweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNCwweDEyLAotMHgwMSwweGVjLDB4NjAsMHgwNCwweDc0LDB4MDEsMHg4MCwweDAxLDB4ZTQsMHhhMiwweGUwLDB4OTIsMHgwMSwweDkwLDB4ZmQsMHgzMSwKLTB4MTIsMHgwNCwweDgwLDB4ZWQsMHgyNCwweDAzLDB4ZmQsMHg1MCwweDAxLDB4MGUsMHg5MCwweGZkLDB4MzQsMHgxMiwweDA0LDB4NmUsCi0weDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweGY1LDB4NjEsMHg5MCwweDAwLAotMHgwNCwweDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhmYywweDdkLDB4NjEsMHgxMiwweDE3LDB4OWQsMHhlNSwweDYxLDB4NzAsMHgwNCwKLTB4NzUsMHg2MCwweDA4LDB4MjIsMHg3NSwweDYwLDB4MDAsMHg3OCwweDdlLDB4NzYsMHgwMCwweDc4LDB4N2UsMHhlNiwweGMzLDB4OTUsCi0weDYxLDB4NTAsMHgzOCwweDkwLDB4ZmQsMHgzNywweDEyLDB4MDQsMHg4MCwweDEyLDB4MDEsMHhlNiwweGZjLDB4OTAsMHhmZCwweDM0LAotMHgxMiwweDA0LDB4ODAsMHhlYywweDEyLDB4MDMsMHgwZiwweDMwLDB4MDEsMHgwZSwweDkwLDB4ZmQsMHgzOSwweGUwLDB4MDQsMHhmMCwKLTB4OTAsMHhmZCwweDM4LDB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDc4LDB4N2UsMHgwNiwweDkwLDB4ZmQsMHgzNiwweGUwLDB4MDQsCi0weGYwLDB4OTAsMHhmZCwweDM1LDB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDgwLDB4YzAsMHgyMiwweDkwLDB4ZmQsMHgzMiwweGUwLAotMHhmZCwweGEzLDB4ZTAsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweGVkLDB4MjQsMHgwYSwweGZkLDB4NTAsMHgwMSwKLTB4MGUsMHg5MCwweGZkLDB4M2EsMHgxMiwweDA0LDB4NmUsMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDQsCi0weDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDE3LDB4OTAsMHhmZCwweDNhLAotMHgxMiwweDA0LDB4ODAsMHgwZCwweGVkLDB4NzAsMHgwMSwweDBlLDB4OTAsMHhmZCwweDM3LDB4MTIsMHgwNCwweDZlLDB4NzgsMHg4MiwKLTB4NzYsMHgwMSwweDgwLDB4NGUsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDE5LDB4OTAsMHhmZCwweDNhLDB4MTIsCi0weDA0LDB4ODAsMHhlZCwweDI0LDB4MDIsMHhmZCwweDUwLDB4MDEsMHgwZSwweDkwLDB4ZmQsMHgzNywweDEyLDB4MDQsMHg2ZSwweDc4LAotMHg4MiwweDc2LDB4MDIsMHg4MCwweDJkLDB4YjQsMHgwNCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxOSwweDkwLDB4ZmQsMHgzYSwKLTB4MTIsMHgwNCwweDgwLDB4ZWQsMHgyNCwweDA0LDB4ZmQsMHg1MCwweDAxLDB4MGUsMHg5MCwweGZkLDB4MzcsMHgxMiwweDA0LDB4NmUsCi0weDc4LDB4ODIsMHg3NiwweDA0LDB4ODAsMHgwYywweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsMHg3NSwweDYwLAotMHgwOCwweDIyLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4ZjUsMHg2MSwKLTB4NzgsMHg3ZiwweDc2LDB4MDAsMHg3OCwweDdmLDB4ZTYsMHhjMywweDk1LDB4NjEsMHg0MCwweDAzLDB4MDIsMHgxYiwweDI0LDB4NzgsCi0weDgwLDB4NzYsMHgwMCwweDc4LDB4ODAsMHhlNiwweGMzLDB4NzgsMHg4MiwweDk2LDB4NTAsMHg3NiwweDkwLDB4ZmQsMHgzNCwweDEyLAotMHgwNCwweDgwLDB4MTIsMHgwMSwweGU2LDB4ZmMsMHg5MCwweGZkLDB4M2EsMHgxMiwweDA0LDB4ODksMHgxMiwweDAxLDB4ZTAsMHhmNCwKLTB4NWMsMHhmYywweDEyLDB4MDEsMHhlMCwweGY4LDB4OTAsMHhmZCwweDM3LDB4MTIsMHgwNCwweDgwLDB4ZTgsMHhjMCwweGUwLDB4MTIsCi0weDAxLDB4ZTYsMHhjOCwweGQwLDB4ZTAsMHhjOCwweDU4LDB4NGMsMHhmYywweDkwLDB4ZmQsMHgzNCwweDEyLDB4MDQsMHg4MCwweGVjLAotMHgxMiwweDAzLDB4MGYsMHg3OCwweDgxLDB4ZWMsMHhmNiwweDkwLDB4ZmQsMHgzOSwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmQsMHgzOCwKLTB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDA5LDB4ZTksMHg3MCwweDAxLDB4MGEsMHg5MCwweGZkLDB4M2EsMHgxMiwweDA0LDB4NzcsCi0weDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDMwLDB4ZTQsMHgwZSwweDkwLAotMHhmZCwweDM2LDB4ZTAsMHgwNCwweGYwLDB4OTAsMHhmZCwweDM1LDB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDc4LDB4ODAsMHgwNiwKLTB4ODAsMHg4MSwweDc4LDB4ODIsMHhlNiwweGZkLDB4ZTQsMHhmZSwweGZmLDB4ZWUsMHhjZCwweGZjLDB4OTAsMHhmZCwweDM5LDB4ZTAsCi0weDJjLDB4ZjAsMHg5MCwweGZkLDB4MzgsMHhlMCwweDNkLDB4ZjAsMHg3OCwweDgyLDB4ZTYsMHhmZCwweGU0LDB4ZmUsMHhmZiwweGVlLAotMHhjZCwweGZjLDB4OTAsMHhmZCwweDNjLDB4ZTAsMHgyYywweGYwLDB4OTAsMHhmZCwweDNiLDB4ZTAsMHgzZCwweGYwLDB4NzgsMHg3ZiwKLTB4MDYsMHgwMiwweDFhLDB4NjQsMHg3NSwweDYwLDB4MDAsMHgyMiwweGU1LDB4M2QsMHgwNSwweDNkLDB4MDQsMHg3MCwweDAyLDB4YjIsCi0weGIwLDB4MjIsMHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LAotMHhjMCwweGUwLDB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwKLTB4ZTAsMHhlZiwweGMwLDB4ZTAsMHg5MCwweGZmLDB4OTIsMHhlMCwweDEyLDB4MDEsMHhiNywweDFiLDB4ODAsMHgzMCwweDFiLDB4ODAsCi0weDMyLDB4MWIsMHg4ZiwweDM4LDB4MWIsMHhhMSwweDNhLDB4MWIsMHhiMywweDNlLDB4MWIsMHhjYiwweDQ0LDB4MWIsMHhiZiwweDQ2LAotMHgxYiwweGQ3LDB4NTAsMHgxYywweDE5LDB4NTIsMHgxYiwweGY4LDB4NTQsMHgxYywweDNhLDB4NTYsMHgwMCwweDAwLDB4MWMsMHg1YiwKLTB4OTAsMHhmZiwweDkyLDB4ZTAsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDAxLDB4MTIsMHgzMSwweDlhLDB4MDIsMHgxYywweDZiLDB4ZTQsCi0weGZmLDB4MDQsMHhmZSwweDdjLDB4MDMsMHgxMiwweDMxLDB4OWEsMHg3NCwweDIwLDB4OTAsMHhmZiwweGZlLDB4ZjAsMHgwMiwweDFjLAotMHg2YiwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwMiwweDEyLDB4MzEsMHg5YSwweDc0LDB4NDAsMHg5MCwweGZmLDB4ZmUsMHhmMCwKLTB4MDIsMHgxYywweDZiLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA0LDB4MTIsMHgzMSwweDlhLDB4MDIsMHgxYywweDZiLDB4ZTQsCi0weGZmLDB4MDQsMHhmZSwweDdjLDB4MDUsMHgxMiwweDMxLDB4OWEsMHgwMiwweDFjLDB4NmIsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLAotMHgwNiwweDEyLDB4MzEsMHg5YSwweDAyLDB4MWMsMHg2YiwweDkwLDB4ZmYsMHhhNSwweGUwLDB4N2QsMHgwMCwweDkwLDB4ZmQsMHgwMCwKLTB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLDB4ZmQsMHgwMSwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmZCwweDAwLDB4ZTAsCi0weDQ0LDB4MzMsMHhmZCwweDEyLDB4MWMsMHhmZSwweDgwLDB4NzMsMHg5MCwweGZmLDB4YjUsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZkLAotMHgwMiwweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZkLDB4MDMsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmQsMHgwMiwKLTB4ZTAsMHg0NCwweDQzLDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg4MCwweDUyLDB4OTAsMHhmZiwweGE2LDB4ZTAsMHg3ZCwweDAwLDB4OTAsCi0weGZkLDB4MDQsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmZCwweDA1LDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZkLAotMHgwNCwweGUwLDB4NDQsMHgzNCwweGZkLDB4MTIsMHgxYywweGZlLDB4ODAsMHgzMSwweDkwLDB4ZmYsMHhiNiwweGUwLDB4N2QsMHgwMCwKLTB4OTAsMHhmZCwweDA2LDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLDB4ZmQsMHgwNywweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsCi0weGZkLDB4MDYsMHhlMCwweDQ0LDB4NDQsMHhmZCwweDEyLDB4MWMsMHhmZSwweDgwLDB4MTAsMHg5MCwweGZmLDB4OTIsMHhlMCwweDdkLAotMHgwMCwweGZjLDB4ZWQsMHg0NCwweGFhLDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg4MCwweDAwLDB4ZTQsMHg5MCwweGZmLDB4OTIsMHhmMCwKLTB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDAsCi0weGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLAotMHhkMCwweGUwLDB4MzIsMHgwNSwweDgxLDB4MDUsMHg4MSwweDA1LDB4ODEsMHgwNSwweDgxLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwKLTB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDkwLDB4ZmYsMHg2YSwweGUwLDB4MjAsMHhlNywweDAyLDB4ODAsMHhmNywweDkwLDB4ZmYsCi0weDY5LDB4ZTAsMHg3ZCwweDAwLDB4YTgsMHg4MSwweDE4LDB4Y2QsMHhmNiwweGNkLDB4MDgsMHhmNiwweDdkLDB4MDMsMHhhOCwweDgxLAotMHhlNiwweDE4LDB4ZmMsMHhlNiwweGNjLDB4MjUsMHhlMCwweGNjLDB4MzMsMHhjYywweGRkLDB4ZjksMHhjYywweGY2LDB4Y2MsMHgwOCwKLTB4ZjYsMHhhOCwweDgxLDB4MTgsMHhlNiwweDQ0LDB4ZjgsMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLDB4MDgsCi0weGU2LDB4ZmMsMHhhOCwweDgxLDB4MTgsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWQsMHhmMCwweGEzLDB4ZWMsMHhmMCwweDc0LAotMHgwMiwweDkwLDB4ZmYsMHg2YSwweGYwLDB4MTUsMHg4MSwweDE1LDB4ODEsMHgxNSwweDgxLDB4MTUsMHg4MSwweDIyLDB4ZTUsMHg4MSwKLTB4MjQsMHgwNSwweGY1LDB4ODEsMHhlNCwweGE4LDB4ODEsMHgxOCwweGY2LDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZWQsCi0weGY2LDB4MDgsMHhlYywweGY2LDB4OTAsMHhmYiwweGZkLDB4ZTAsMHgyNCwweGY4LDB4NTAsMHgwMywweDAyLDB4MWUsMHgxZiwweGU0LAotMHhhOCwweDgxLDB4MTgsMHgxOCwweGY2LDB4YTgsMHg4MSwweDE4LDB4ZTYsMHhmZSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwKLTB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDdmLDB4MDAsMHhlZiwweDI0LDB4ZjgsMHg0MCwweDRkLDB4ZTQsMHhlZiwweDI1LDB4ZTAsCi0weDI0LDB4ODUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGUwLDB4ZmIsMHhhMywweGUwLDB4NmMsMHg3MCwweDAzLAotMHhmYSwweGViLDB4NmQsMHg3MCwweDA5LDB4NzQsMHgwMSwweGE4LDB4ODEsMHgxOCwweDE4LDB4ZjYsMHg4MCwweDJiLDB4ZTQsMHhlZiwKLTB4MjUsMHhlMCwweDI0LDB4ODUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweDdhLDB4MDAsMHhlMCwweDU0LDB4ZjAsCi0weGNjLDB4ZjgsMHhjYywweGNkLDB4ZjksMHhjZCwweGZiLDB4NzgsMHgwMCwweGU5LDB4NTQsMHhmMCwweGY5LDB4ZWEsMHg2OCwweDcwLAotMHgwMiwweGViLDB4NjksMHg3MCwweDAxLDB4MGUsMHgwZiwweDgwLDB4YWUsMHhhOCwweDgxLDB4MTgsMHhlZSwweGY2LDB4YTgsMHg4MSwKLTB4MTgsMHgxOCwweDE4LDB4MTgsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4YTgsMHg4MSwweGVmLDB4ZjYsMHhhOCwweDgxLDB4MTgsCi0weDE4LDB4ZTYsMHg3MCwweDc5LDB4YTgsMHg4MSwweDE4LDB4ZTYsMHgyNCwweGY3LDB4NDAsMHg3MSwweGE4LDB4ODEsMHgxOCwweDE4LAotMHgxOCwweDE4LDB4ZTYsMHg1NCwweDBmLDB4YTgsMHg4MSwweGY2LDB4NjQsMHgwNCwweDYwLDB4MTcsMHhhOCwweDgxLDB4ZTYsMHg2NCwKLTB4MDMsMHg2MCwweDEwLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDEyLDB4MWMsCi0weDkzLDB4ODAsMHg0YSwweDdjLDB4MGEsMHgxMiwweDMwLDB4ZmEsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLAotMHgwOCwweGU2LDB4ZmMsMHg5MCwweGZiLDB4ZmMsMHhlMCwweDI1LDB4ZTAsMHgyNCwweDg1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwKLTB4ZjUsMHg4MywweGVkLDB4ZjAsMHhhMywweGVjLDB4ZjAsMHg5MCwweGZiLDB4ZmMsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDA0LDB4NTQsCi0weDA3LDB4ZmYsMHg5MCwweGZiLDB4ZmMsMHhmMCwweDkwLDB4ZmIsMHhmZCwweGUwLDB4MDQsMHhmMCwweDEyLDB4MzEsMHg5MywweDkwLAotMHhmYiwweGZlLDB4ZTAsMHg3MCwweDA4LDB4ZTQsMHhmZSwweGZmLDB4N2MsMHgwZiwweDEyLDB4MzEsMHg5YSwweDgwLDB4MjcsMHg5MCwKLTB4ZmIsMHhmZiwweGUwLDB4MDQsMHhmMCwweDU0LDB4M2YsMHg3MCwweDFkLDB4OTAsMHhmYiwweGZmLDB4ZTAsMHg0NCwweGZlLDB4N2QsCi0weDAwLDB4ZmMsMHg5MCwweGZiLDB4ZmMsMHhlMCwweDI1LDB4ZTAsMHgyNCwweDg1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LAotMHg4MywweGVkLDB4ZjAsMHhhMywweGVjLDB4ZjAsMHhlNSwweDgxLDB4MjQsMHhmYiwweGY1LDB4ODEsMHgyMiwweDc4LDB4ODUsMHg3NiwKLTB4MDAsMHg3OCwweDg2LDB4NzYsMHgwMCwweDc0LDB4MDEsMHg5MCwweGZiLDB4ZmUsMHhmMCwweDEyLDB4MzAsMHg4NSwweDkwLDB4ZmIsCi0weGZkLDB4ZTAsMHg2MCwweDU5LDB4N2MsMHgwYSwweDEyLDB4MzAsMHhmYSwweDkwLDB4ZmIsMHhmYiwweGUwLDB4MjUsMHhlMCwweDI0LAotMHg4NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYywweDkwLDB4ZmIsMHhmYiwKLTB4ZTAsMHgyNSwweGUwLDB4MjQsMHg4NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGEzLDB4ZjAsCi0weDkwLDB4ZmIsMHhmYiwweGUwLDB4ZmYsMHhlNCwweGVmLDB4MDQsMHg1NCwweDA3LDB4ZmYsMHg5MCwweGZiLDB4ZmIsMHhmMCwweDkwLAotMHhmYiwweGZkLDB4ZTAsMHgxNCwweGYwLDB4NzgsMHg4MywweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHgxMiwweDMxLDB4OTMsMHhiMiwKLTB4YjMsMHg3OCwweDgzLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDEyLDB4MDgsMHhlNSwweDgwLDB4YTEsMHgxMiwweDMxLDB4ZTcsCi0weDc4LDB4ODUsMHgwNiwweGI2LDB4MDAsMHgxMSwweDc4LDB4ODUsMHg3NiwweDAwLDB4NzgsMHg4NiwweGU2LDB4ZjQsMHgwNCwweDA0LAotMHhhMiwweGUwLDB4OTIsMHhiNCwweDc4LDB4ODYsMHhmNiwweDgwLDB4ODUsMHhlNCwweDkwLDB4ZmIsMHhmZSwweGYwLDB4OTAsMHhmYiwKLTB4ZmQsMHhlMCwweDdkLDB4MDAsMHhmYywweGVkLDB4NDQsMHhjZiwweGZkLDB4MTIsMHgxYywweDkzLDB4MTIsMHgzMSwweDA4LDB4MjIsCi0weDEyLDB4MzAsMHg4NSwweGU1LDB4NmEsMHg2NCwweDQ5LDB4NDUsMHg2OSwweDYwLDB4MTUsMHg5MCwweGZmLDB4ODMsMHhlMCwweDU0LAotMHgwZiwweDdkLDB4MDAsMHhkMywweDk1LDB4NmEsMHhlZCwweDk1LDB4NjksMHg1MCwweDA1LDB4MTIsMHgyZSwweGNlLDB4ODAsMHgwMywKLTB4MTIsMHgyZiwweDllLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHhlNSwweDZhLDB4NjQsMHg0OSwweDQ1LDB4NjksCi0weDYwLDB4MDUsMHgxMiwweDJmLDB4ZDgsMHg4MCwweDBlLDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg5MCwweGZmLAotMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg4YywweDU0LDB4ZWMsMHg1NCwKLTB4ZjAsMHhiNCwweDEwLDB4MTUsMHg3NSwweDY0LDB4M2QsMHg3NSwweDYzLDB4ZmQsMHg3NSwweDYyLDB4MDEsMHhlNSwweDY0LDB4MjQsCi0weDAzLDB4ZjUsMHg2NCwweGU1LDB4NjMsMHgzNCwweDAwLDB4ZjUsMHg2MywweGU0LDB4ZjUsMHg1NywweGY1LDB4NTYsMHhlNSwweDU2LAotMHhjMywweDk0LDB4MDEsMHg1MCwweDI3LDB4ZTUsMHg1NCwweDU0LDB4MGYsMHhmYywweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwKLTB4MTIsMHgwZSwweDgyLDB4OGMsMHg1NSwweGVjLDB4NjAsMHgwMiwweDgwLDB4MTIsMHgwNSwweDY0LDB4ZTUsMHg2NCwweDcwLDB4MDIsCi0weDA1LDB4NjMsMHgwNSwweDU3LDB4ZTUsMHg1NywweDcwLDB4MDIsMHgwNSwweDU2LDB4ODAsMHhkMiwweGU1LDB4NTQsMHg1NCwweDBmLAotMHgyNCwweDk3LDB4ZjgsMHhjNiwweDU0LDB4ZmUsMHhmNiwweGU1LDB4NTQsMHg1NCwweDBmLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxMiwKLTB4MTIsMHgzMSwweDlhLDB4ZTUsMHg1NSwweDE0LDB4NzAsMHgwOSwweDdkLDB4MDAsMHg3YywweDA5LDB4MTIsMHgyNCwweGIxLDB4ODAsCi0weDA3LDB4YWQsMHg1NywweDdjLDB4MDAsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDkwLAotMHhmZiwweGZjLDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweGZmLDB4MDAsMHhlMCwweDMwLDB4ZTcsMHgxMywweDkwLDB4ZmYsMHg4MywKLTB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg0MywweDY3LDB4ODAsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTEsCi0weDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsMHgwOCwweGYwLDB4NTMsMHg2NywweDdmLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg1NCwweGZlLAotMHhmMCwweDkwLDB4ZmYsMHg4MSwweGUwLDB4NDQsMHg4MCwweGYwLDB4MTIsMHgyNSwweDY0LDB4OTAsMHhmZiwweGZlLDB4ZTAsMHg0NCwKLTB4MDUsMHhmMCwweDkwLDB4ZmYsMHhmYywweGUwLDB4NTQsMHhmZCwweGYwLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsCi0weDdjLDB4MDEsMHgxMiwweDMyLDB4NDgsMHg3OCwweGE3LDB4ZTYsMHg0NCwweDAyLDB4ZjYsMHg3NCwweGZlLDB4ZmMsMHgwNCwweGZkLAotMHgxMiwweDFjLDB4ZmUsMHg5MCwweGZmLDB4NmEsMHhlMCwweDMwLDB4ZTcsMHgwMiwweDgwLDB4ZjcsMHhlNCwweGY1LDB4NGUsMHg3NSwKLTB4NGQsMHgxMCwweGFjLDB4NGUsMHhhZCwweDRkLDB4ZTUsMHg0ZSwweDE1LDB4NGUsMHg3MCwweDAyLDB4MTUsMHg0ZCwweGVjLDB4NGQsCi0weDYwLDB4MDIsMHg4MCwweGVlLDB4NDMsMHg4NywweDAxLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3YywweDAyLAotMHgxMiwweDMxLDB4MTQsMHg3OCwweGE3LDB4ZTYsMHg1NCwweGZkLDB4ZjYsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwKLTB4NzgsMHhhNywweGU2LDB4MzAsMHhlMCwweDJjLDB4NzgsMHhhNywweGU2LDB4MzAsMHhlMSwweDI2LDB4NzgsMHhhNywweGU2LDB4ZmMsCi0weGY1LDB4ODMsMHgxOCwweGU2LDB4NDQsMHhmMCwweGZkLDB4MTIsMHgxYywweDkzLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg0NCwweDIwLAotMHhmMCwweDdjLDB4MDIsMHgxMiwweDMyLDB4NDgsMHg3OCwweGE3LDB4ZTYsMHg1NCwweGZkLDB4ZjYsMHg3NCwweDFhLDB4OTAsMHhmZiwKLTB4ZmUsMHhmMCwweDc4LDB4YTcsMHhlNiwweGZjLDB4ZjUsMHg4MywweDE4LDB4ZTYsMHg0NCwweGYxLDB4ZmQsMHgxMiwweDFjLDB4OTMsCi0weDEyLDB4MzEsMHgwOCwweDIyLDB4NzUsMHg2NywweDAwLDB4NzUsMHg2OCwweDAwLDB4ZTQsMHhmNSwweDY2LDB4ZjUsMHg2NSwweGU0LAotMHhmNSwweDY5LDB4NzUsMHg2YSwweDQ5LDB4NzQsMHg4NCwweDkwLDB4ZmYsMHg4MiwweGYwLDB4NzQsMHg4NCwweDkwLDB4ZmYsMHg4MCwKLTB4ZjAsMHg3NCwweDgwLDB4OTAsMHhmZiwweDY4LDB4ZjAsMHg3NCwweDgwLDB4OTAsMHhmZiwweDZhLDB4ZjAsMHhhZCwweDQ2LDB4YWYsCi0weDQ1LDB4N2UsMHgwMCwweGVlLDB4MjQsMHhmYywweDUwLDB4MDMsMHgwMiwweDIxLDB4NmEsMHhlNCwweGVlLDB4NzUsMHhmMCwweDA3LAotMHhhNCwweDI0LDB4M2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlNCwweGVmLDB4NTQsMHg4MCwKLTB4ZmQsMHhlNCwweGVmLDB4NTQsMHgwZiwweDE0LDB4ZmYsMHhlZCwweDYwLDB4MzgsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsCi0weDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweDc0LDB4OTAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLAotMHgwOCwweGE0LDB4MjQsMHg0YSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhlZiwKLTB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsCi0weDgwLDB4MzQsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LAotMHg4MywweDc0LDB4OTAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDBlLDB4MDIsMHgyMCwweGQzLDB4OGQsMHg0NiwweDhlLDB4NDQsMHg4ZiwweDQ1LAotMHg3NCwweDdmLDB4OTAsMHhmZiwweGZkLDB4ZjAsMHg3NCwweDkwLDB4OTAsMHhmZiwweGZjLDB4ZjAsMHg5MCwweGZjLDB4MTksMHhlMCwKLTB4MzAsMHhlNiwweDA3LDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHgyMiwweDkwLDB4ZmMsMHgwZCwweGUwLDB4MTQsCi0weDcwLDB4MDQsMHg5MCwweGZjLDB4MGMsMHhlMCwweDcwLDB4MzksMHg5MCwweGZjLDB4MDAsMHg3OSwweDA2LDB4N2EsMHgzNSwweDdiLAotMHgxMiwweDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsMHg3ZiwweDAwLDB4ZWYsMHgzMywweDQwLDB4MTUsMHhlZiwweDkwLDB4MzUsMHg0ZCwKLTB4OTMsMHhmYywweGVmLDB4MjQsMHg4MCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDBmLDB4ODAsCi0weGU3LDB4OGYsMHg1OSwweDkwLDB4ZmMsMHgyYiwweDc5LDB4MTgsMHg3YSwweDM1LDB4N2IsMHgzNSwweDc4LDB4MDEsMHgxMiwweDAzLAotMHhmNSwweGU0LDB4OTAsMHhmZiwweGZmLDB4ZjAsMHg3NCwweDUxLDB4OTAsMHhmZiwweGZhLDB4ZjAsMHg3NCwweDA0LDB4OTAsMHhmZiwKLTB4ZmIsMHhmMCwweDc0LDB4NTMsMHg5MCwweGZmLDB4ZjgsMHhmMCwweDc0LDB4NTEsMHg5MCwweGZmLDB4ZjksMHhmMCwweDc0LDB4NTUsCi0weDkwLDB4ZmYsMHhmNywweGYwLDB4NzQsMHg5MywweDkwLDB4ZmYsMHhmNiwweGYwLDB4NzQsMHgzMiwweDkwLDB4ZmYsMHhmNSwweGYwLAotMHg3NSwweDY0LDB4M2QsMHg3NSwweDYzLDB4ZmQsMHg3NSwweDYyLDB4MDEsMHhlNCwweDkwLDB4ZmYsMHg4MywweGYwLDB4NzQsMHg4MCwKLTB4OTAsMHhmZiwweDgxLDB4ZjAsMHg3NSwweDU4LDB4MDQsMHhlNSwweDU4LDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDNmLDB4ZjUsCi0weDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4NzgsMHg4OSwweGY2LDB4ZmMsMHg1NCwweDBmLDB4MTQsMHhmYywweDc4LAotMHg4OSwweGVjLDB4ZjYsMHhlNSwweDU4LDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywKLTB4ZjUsMHg4MywweGUwLDB4NzgsMHg4YywweDc2LDB4ZjgsMHgwOCwweDc2LDB4MDAsMHhmYywweDc4LDB4ODksMHhlNiwweDc1LDB4ZjAsCi0weDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg4OSwweGU2LAotMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwKLTB4OGMsMHhlNiwweGZmLDB4MDgsMHhlNiwweDdlLDB4MDMsMHhjZiwweGMzLDB4MTMsMHhjZiwweDEzLDB4ZGUsMHhmOSwweGZlLDB4NzgsCi0weDg5LDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDksMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVlLAotMHhmMCwweDc4LDB4ODksMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0YSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwKLTB4ODMsMHg3NCwweDgwLDB4ZjAsMHg3OCwweDhhLDB4ZWMsMHhmNiwweDdkLDB4MDAsMHg3OCwweDhkLDB4ZTYsMHgyYywweGY2LDB4MTgsCi0weGU2LDB4M2QsMHhmNiwweDc4LDB4OGMsMHhlNiwweGZkLDB4MDgsMHhlNiwweDdjLDB4MDMsMHhjZCwweGMzLDB4MTMsMHhjZCwweDEzLAotMHhkYywweGY5LDB4ZmMsMHg3OCwweDg5LDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4ODksMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg4YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHg3OCwweDg5LAotMHhlNiwweGZmLDB4N2UsMHgwMCwweGVlLDB4MjQsMHhmYywweDUwLDB4MDMsMHgwMiwweDI0LDB4NmIsMHhlNCwweGVlLDB4NzUsMHhmMCwKLTB4MDcsMHhhNCwweDI0LDB4M2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlNCwweGVmLDB4NTQsCi0weDgwLDB4ZmEsMHhlNCwweGVmLDB4NTQsMHgwZiwweDE0LDB4ZmYsMHhlNCwweGVlLDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDQxLAotMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4NzgsMHg4YSwweGY2LDB4ZWUsMHg3NSwweGYwLDB4ODAsMHhhNCwKLTB4MjQsMHgwOCwweGY4LDB4ZTUsMHhmMCwweDM0LDB4ZjgsMHhmOSwweGU4LDB4ZmMsMHhlOSwweGZkLDB4OGEsMHg1OSwweGVhLDB4NzAsCi0weDAzLDB4MDIsMHgyMywweGQ4LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg4YSwweGU2LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwKLTB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHhlZCwweGZiLDB4ZWMsMHg3YSwweDAzLDB4Y2IsCi0weGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OSwweGY1LAotMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4NzgsMHg4YSwweGU2LDB4N2IsMHgwMCwweGZhLDB4ZWMsMHgyYSwKLTB4ZmMsMHhlZCwweDNiLDB4ZmQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLDB4YzMsMHgxMywweGNiLDB4MTMsMHhkYSwweGY5LDB4ZmEsCi0weGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLAotMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywKLTB4NzQsMHg4MCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsCi0weGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHgwMiwweDI0LDB4NjcsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LAotMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3OCwweDhhLDB4ZTYsMHhmYSwweGU0LDB4ZWYsMHg3NSwKLTB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweGVkLDB4ZmIsCi0weGVjLDB4N2EsMHgwMywweGNiLDB4YzMsMHgxMywweGNiLDB4MTMsMHhkYSwweGY5LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LAotMHhhNCwweDI0LDB4MDksMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHg3OCwweDhhLDB4ZTYsMHg3YiwKLTB4MDAsMHhmYSwweGVjLDB4MmEsMHhmYywweGVkLDB4M2IsMHhmZCwweGZiLDB4ZWMsMHg3YSwweDAzLDB4Y2IsMHhjMywweDEzLDB4Y2IsCi0weDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZCwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwYSwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4MGUsMHgwMiwweDIyLDB4ZjQsMHg4ZSwweDU4LDB4NzgsMHg4YywweGVkLAotMHhmNiwweDA4LDB4ZWMsMHhmNiwweDc4LDB4ODksMHhlZiwweGY2LDB4MTIsMHgyMCwweGE0LDB4MjIsMHg4YywweDI2LDB4ZWMsMHgzMCwKLTB4ZTcsMHgxOCwweGU1LDB4MjYsMHg1NCwweDBmLDB4MTQsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGRmLDB4ZjAsMHg4MCwweDE2LDB4ZTUsMHgyNiwweDU0LDB4MGYsMHgxNCwweDc1LAotMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZGYsMHhmMCwKLTB4MjIsMHhlYywweDkwLDB4ZmQsMHgzZiwweGYwLDB4OGMsMHgyNCwweGVkLDB4MjQsMHgwMywweGY1LDB4MjUsMHg3ZCwweDAwLDB4ZDMsCi0weDk1LDB4NmMsMHhlZCwweDk1LDB4NmIsMHg0MCwweDAzLDB4ODUsMHg2YywweDI1LDB4ZTUsMHgyNSwweDI0LDB4YjcsMHg1MCwweDA5LAotMHg3NSwweDI1LDB4MDMsMHg3NCwweDAyLDB4OTAsMHhmZCwweDNmLDB4ZjAsMHhhYywweDI1LDB4MTIsMHgyZiwweGMzLDB4MjIsMHhlNCwKLTB4ZjUsMHg2NiwweGY1LDB4NjUsMHgxMiwweDI0LDB4ZTgsMHgyMiwweDkwLDB4ZmQsMHgzZCwweGUwLDB4NjUsMHg2ZCwweDYwLDB4MGUsCi0weDc0LDB4MDQsMHg5MCwweGZkLDB4M2YsMHhmMCwweGU0LDB4ZjUsMHg2NSwweDc1LDB4NjYsMHgwMywweDgwLDB4NDYsMHg3ZCwweDZkLAotMHhlNCwweGZlLDB4ZmYsMHg3OSwweDNkLDB4N2EsMHhmZCwweDdiLDB4MDEsMHg3NCwweDA1LDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwKLTB4ZTUsMHg2NiwweDI0LDB4MDMsMHhmNSwweDY2LDB4ZTUsMHg2NSwweDM0LDB4MDAsMHhmNSwweDY1LDB4ZTUsMHg2NiwweGQzLDB4OTUsCi0weDZjLDB4ZTUsMHg2NSwweDk1LDB4NmIsMHg0MCwweDA2LDB4ODUsMHg2YywweDY2LDB4ODUsMHg2YiwweDY1LDB4ZDMsMHhlNSwweDY2LAotMHg5NCwweDQ4LDB4ZTUsMHg2NSwweDk0LDB4MDAsMHg0MCwweDBjLDB4NzQsMHgwMiwweDkwLDB4ZmQsMHgzZiwweGYwLDB4ZTQsMHhmNSwKLTB4NjUsMHg3NSwweDY2LDB4MDMsMHhhYywweDY2LDB4MTIsMHgyZiwweGMzLDB4MjIsMHhlYywweDkwLDB4ZmQsMHgzZiwweGYwLDB4ZTQsCi0weGY1LDB4NjYsMHhmNSwweDY1LDB4OGMsMHgzMiwweGVjLDB4NjAsMHgwNSwweDEyLDB4MmYsMHhiNCwweDgwLDB4MDUsMHg3YywweDAwLAotMHgxMiwweDJmLDB4YzMsMHgyMiwweDkwLDB4ZmYsMHgwNCwweGUwLDB4ZjUsMHg0YSwweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmQsMHhhMywKLTB4ZTAsMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmYsMHhhMywweGUwLDB4N2UsCi0weDAwLDB4ZmYsMHhlNCwweGZlLDB4ZWMsMHg0ZSwweGZjLDB4ZWQsMHg0ZiwweGZkLDB4YzMsMHhlYywweDk0LDB4NDgsMHhlZCwweDk0LAotMHgwMCwweDUwLDB4MjIsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZkLDB4YTMsMHhlMCwweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwKLTB4ZmMsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZmLDB4YTMsMHhlMCwweDdlLDB4MDAsMHhmZiwweGU0LDB4ZmUsMHhlYywweDRlLDB4ZmMsCi0weGVkLDB4NGYsMHhmZCwweDgwLDB4MDQsMHhlNCwweGZkLDB4N2MsMHg0OCwweDhjLDB4NmMsMHg4ZCwweDZiLDB4OTAsMHhmZiwweDAyLAotMHhlMCwweGZkLDB4YTMsMHhlMCwweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4OTAsMHhmZiwweDAyLDB4ZTAsMHhmZiwKLTB4YTMsMHhlMCwweDdlLDB4MDAsMHhmZiwweGU0LDB4ZmUsMHhlYywweDRlLDB4ZjUsMHg0YywweGVkLDB4NGYsMHhmNSwweDRiLDB4NzUsCi0weDY0LDB4M2QsMHg3NSwweDYzLDB4ZmQsMHg3NSwweDYyLDB4MDEsMHg3ZCwweDNkLDB4N2UsMHhmZCwweDdmLDB4MDEsMHg3OSwweDZkLAotMHhlNCwweGZhLDB4ZmIsMHg3NCwweDA1LDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweDc1LDB4NDksMHgwMCwweGU1LDB4NDksMHgyNCwKLTB4ZmUsMHg0MCwweDE5LDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLDB4ZTQsMHgxMiwweDAzLDB4MGYsMHgwNSwweDQ5LDB4MGQsCi0weGVkLDB4NzAsMHgwMSwweDBlLDB4OGQsMHg2NCwweDhlLDB4NjMsMHg4ZiwweDYyLDB4ODAsMHhlMSwweDc1LDB4NjQsMHgzZCwweDc1LAotMHg2MywweGZkLDB4NzUsMHg2MiwweDAxLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDYwLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwNiwKLTB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyYywweDEyLDB4ZTUsMHg0YSwweDU0LDB4MGYsMHhmNSwweDQ5LDB4ZTUsMHg0YSwweDU0LDB4ODAsCi0weGEyLDB4ZTAsMHg5MiwweDAyLDB4OTAsMHhmZiwweDAxLDB4ZTAsMHgxMiwweDAxLDB4ODEsMHgwMCwweDBiLDB4MmMsMHgwZCwweDI2LAotMHg2NywweDI3LDB4ODUsMHgyYywweDBkLDB4MjgsMHg5MSwweDJjLDB4MGQsMHgyOSwweDc0LDB4MjksMHhhOCwweDJiLDB4MGYsMHgyYiwKLTB4MTIsMHgyYiwweDUyLDB4MmIsMHhiNiwweDJiLDB4ZTQsMHhlNSwweDY3LDB4MzAsMHhlNywweDBlLDB4ZTUsMHg0YywweDQ1LDB4NGIsCi0weDcwLDB4MDgsMHhlNSwweDZjLDB4NjQsMHgwMiwweDQ1LDB4NmIsMHg2MCwweDAzLDB4MDIsMHgyYywweDBmLDB4OTAsMHhmZiwweDAwLAotMHhlMCwweDU0LDB4MWYsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDI5LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwKLTB4MjcsMHg4MiwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweDc0LDB4MDEsMHgxMiwweDAzLDB4MGYsMHg3OCwweGE3LDB4ZTYsCi0weDMwLDB4ZTAsMHgwYiwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweDc0LDB4MDIsMHgxMiwweDAzLDB4MGYsMHg3YywweDAyLAotMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWIsMHhlNSwweDY3LDB4MjAsMHhlMSwKLTB4MDcsMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MjcsMHg4MiwweGU1LDB4NGEsMHgyNCwweGZlLDB4NTAsMHgwMywweDAyLDB4MjcsCi0weDgyLDB4N2MsMHgwMiwweDEyLDB4MmYsMHhjMywweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLAotMHgyNywweDgwLDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwZCwweGU1LDB4NGEsMHg2MCwweDA5LDB4ZTUsMHg0YSwweDY0LDB4ODAsMHg2MCwKLTB4MDMsMHgwMiwweDI3LDB4ODIsMHhhYywweDRhLDB4MTIsMHgzMCwweDRhLDB4NDAsMHgwMywweDAyLDB4MjcsMHg4MiwweGU1LDB4NDksCi0weDcwLDB4MjUsMHgzMCwweDAyLDB4MTEsMHg5MCwweGZmLDB4ODAsMHhlMCwweDU0LDB4MDgsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLAotMHg2MiwweDEyLDB4MDMsMHgwZiwweDgwLDB4MGYsMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4MDgsMHhhZCwweDY0LDB4YWUsMHg2MywKLTB4YWYsMHg2MiwweDEyLDB4MDMsMHgwZiwweDgwLDB4M2QsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDFkLDB4ZTUsMHg0OSwweDc1LDB4ZjAsCi0weDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4MDgsMHhhZCwweDY0LAotMHhhZSwweDYzLDB4YWYsMHg2MiwweDEyLDB4MDMsMHgwZiwweDgwLDB4MWIsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwKLTB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwOCwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsCi0weDYyLDB4MTIsMHgwMywweDBmLDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLDB4MTIsMHgwMSwweGU2LDB4NjAsMHgwYiwweGFkLAotMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLDB4NzQsMHgwMSwweDEyLDB4MDMsMHgwZiwweDdjLDB4MDIsMHgxMiwweDJmLDB4YzMsMHgyMiwKLTB4ODAsMHgwMCwweDAyLDB4MmMsMHgwZiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MDYsMHhlNSwweDZjLDB4NDUsMHg2YiwweDYwLDB4MDMsCi0weDAyLDB4MmMsMHgwZiwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLAotMHgxYSwweGU1LDB4NGMsMHgxNCwweDQ1LDB4NGIsMHg3MCwweDA0LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI4LDB4OGUsMHg3OCwKLTB4YTcsMHhlNiwweDU0LDB4ZmUsMHhmNiwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsCi0weGQzLDB4NDAsMHgyYSwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDgsMHhlNSwweDY3LDB4MjAsMHhlMCwweDAzLDB4MDIsMHgyOCwweDhlLAotMHhlNSwweDY3LDB4MzAsMHhlMCwweDA0LDB4ZTUsMHg0YSwweDcwLDB4MGIsMHhlNSwweDY3LDB4MzAsMHhlMSwweDA5LDB4ZTUsMHg0YSwKLTB4MjQsMHhmZSwweDUwLDB4MDMsMHgwMiwweDI4LDB4OGUsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhiNCwweDAyLDB4MDIsCi0weDgwLDB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwweDI4LDB4OGMsMHhlNSwweDRjLDB4NDUsMHg0YiwweDYwLDB4MDMsMHgwMiwweDI4LAotMHg4ZSwweGFjLDB4NGEsMHgxMiwweDMwLDB4NGEsMHg0MCwweDAzLDB4MDIsMHgyOCwweDhlLDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwNywKLTB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwMiwweDgwLDB4NzcsMHhlNSwweDY3LDB4MzAsMHhlMCwweDA2LDB4ZTUsMHg0OSwweDYwLDB4MDIsCi0weDgwLDB4NmMsMHhlNSwweDQ5LDB4NzAsMHgwZiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NTQsMHhmNywweGYwLDB4OTAsMHhmZiwweDgwLAotMHhlMCwweDU0LDB4ZjcsMHhmMCwweDIyLDB4ZTUsMHg0OSwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDksMHg3ZCwKLTB4MDEsMHg3YywweDAzLDB4MTIsMHgwZiwweDBiLDB4ODAsMHgxMSwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDksCi0weDdkLDB4MDEsMHg3YywweDA0LDB4MTIsMHgwZiwweDBiLDB4ODAsMHgwMCwweDE1LDB4NDksMHgzMCwweDAyLDB4MTUsMHhlNSwweDQ5LAotMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmNywKLTB4ZjAsMHg4MCwweDEzLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsCi0weGY1LDB4ODMsMHhlMCwweDU0LDB4ZjcsMHhmMCwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweDgwLDB4MDAsMHgwMiwweDJjLAotMHgwZiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MDYsMHhlNSwweDZjLDB4NDUsMHg2YiwweDYwLDB4MDMsMHgwMiwweDJjLDB4MGYsMHg5MCwKLTB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWEsMHhlNSwweDRjLDB4MTQsCi0weDQ1LDB4NGIsMHg3MCwweDA0LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI5LDB4NzEsMHg3OCwweGE3LDB4ZTYsMHg0NCwweDAxLAotMHhmNiwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MjksMHhlNSwKLTB4NjcsMHgyMCwweGUxLDB4MDgsMHhlNSwweDY3LDB4MjAsMHhlMCwweDAzLDB4MDIsMHgyOSwweDcxLDB4ZTUsMHg2NywweDMwLDB4ZTAsCi0weDA0LDB4ZTUsMHg0OSwweDcwLDB4MGIsMHhlNSwweDY3LDB4MzAsMHhlMSwweDA4LDB4ZTUsMHg0OSwweDI0LDB4ZmUsMHg1MCwweDAyLAotMHg4MCwweDdmLDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg2ZiwKLTB4ZTUsMHg0YywweDQ1LDB4NGIsMHg2MCwweDAyLDB4ODAsMHg2OSwweGFjLDB4NGEsMHgxMiwweDMwLDB4NGEsMHg0MCwweDAyLDB4ODAsCi0weDYwLDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwNywweGU1LDB4NjcsMHgyMCwweGUwLDB4MDIsMHg4MCwweDU0LDB4ZTUsMHg0OSwweDcwLAotMHgxNCwweDMwLDB4MDIsMHgwOSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NDQsMHgwOCwweGYwLDB4ODAsMHgwNywweDkwLDB4ZmYsMHg4MiwKLTB4ZTAsMHg0NCwweDA4LDB4ZjAsMHgyMiwweGU1LDB4NjcsMHgzMCwweGUxLDB4MzMsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDE1LDB4ZTUsCi0weDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDQ0LAotMHgwOCwweGYwLDB4ODAsMHgxMywweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHg4MCwweDAyLDB4ODAsCi0weDAwLDB4MDIsMHgyYywweDBmLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxMiwweGU1LDB4NmMsMHg0NSwweDZiLDB4NzAsMHgwYywweGU1LAotMHg0YSwweDcwLDB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywweDBmLDB4ZTUsMHg0YywKLTB4OTAsMHhmZiwweGZmLDB4ZjAsMHg5MCwweGZmLDB4ZmYsMHhlMCwweDYwLDB4MDUsMHg0MywweDY3LDB4MDEsMHg4MCwweDAzLDB4NTMsCi0weDY3LDB4ZmUsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhlNSwweDY3LDB4MzAsMHhlNywweDBlLDB4ZTUsMHg2YywweDQ1LAotMHg2YiwweDYwLDB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywweDBmLDB4YWQsMHg0YiwKLTB4ZTUsMHg0YywweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4YmQsMHgwMCwweDAyLDB4ODAsMHgwMywweDAyLDB4MmIsCi0weDBhLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgzMiwweGU1LDB4NGEsMHg3MCwweDA1LDB4ZTUsMHg0YywweGZjLAotMHg2MCwweDAzLDB4MDIsMHgyYiwweDBjLDB4NzUsMHg2NCwweDAwLDB4NzUsMHg2MywweGZjLDB4NzUsMHg2MiwweDAxLDB4ZDMsMHhlNSwKLTB4NmMsMHg5NCwweDEyLDB4ZTUsMHg2YiwweDk0LDB4MDAsMHg0MCwweDA2LDB4ZTQsMHhmZCwweDdjLDB4MTIsMHg4MCwweDA0LDB4YWMsCi0weDZjLDB4YWQsMHg2YiwweDhjLDB4NmEsMHg4ZCwweDY5LDB4MTIsMHgyZiwweGQ4LDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLAotMHhkMywweDQwLDB4NTksMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MmIsMHgwYywweGU1LDB4NGMsMHhmYywweDcwLDB4MjcsMHg3NSwKLTB4NjQsMHgxMiwweDc1LDB4NjMsMHhmYywweDc1LDB4NjIsMHgwMSwweGQzLDB4ZTUsMHg2YywweDk0LDB4MTksMHhlNSwweDZiLDB4OTQsCi0weDAwLDB4NDAsMHgwNiwweGU0LDB4ZmQsMHg3YywweDE5LDB4ODAsMHgwNCwweGFjLDB4NmMsMHhhZCwweDZiLDB4OGMsMHg2YSwweDhkLAotMHg2OSwweDEyLDB4MmYsMHhkOCwweDgwLDB4MjUsMHg3NSwweDY0LDB4MmIsMHg3NSwweDYzLDB4ZmMsMHg3NSwweDYyLDB4MDEsMHhkMywKLTB4ZTUsMHg2YywweDk0LDB4MzUsMHhlNSwweDZiLDB4OTQsMHgwMCwweDQwLDB4MDYsMHhlNCwweGZkLDB4N2MsMHgzNSwweDgwLDB4MDQsCi0weGFjLDB4NmMsMHhhZCwweDZiLDB4OGMsMHg2YSwweDhkLDB4NjksMHgxMiwweDJmLDB4ZDgsMHgyMiwweGI0LDB4MDMsMHgwMiwweDgwLAotMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MmIsMHgwYSwweGU1LDB4NGMsMHhmNSwweDQ5LDB4NzAsMHgwZiwweDkwLDB4ZmYsMHgwNCwKLTB4ZTAsMHhmZCwweGEzLDB4ZTAsMHg0ZCwweDYwLDB4MDMsMHgwMiwweDJiLDB4MGMsMHg4MCwweDE4LDB4OTAsMHhmYywweDgyLDB4ZTAsCi0weGZkLDB4YTMsMHhlMCwweGZjLDB4OTAsMHhmZiwweDA1LDB4ZTAsMHg2YywweDcwLDB4MDcsMHg5MCwweGZmLDB4MDQsMHhlMCwweDZkLAotMHg2MCwweDAyLDB4ODAsMHg2OCwweGU0LDB4ZjUsMHg2YSwweGY1LDB4NjksMHg3ZiwweDAwLDB4ZTUsMHg0OSwweDE0LDB4YzUsMHg0OSwKLTB4NjAsMHgwZiwweGVmLDB4MjQsMHg4MCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsMHgyZiwweGZmLDB4ODAsCi0weGVhLDB4OGYsMHg0YSwweGU1LDB4NGEsMHgyNCwweDgwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweDdkLAotMHgwMCwweGQzLDB4OTUsMHg2YywweGVkLDB4OTUsMHg2YiwweDQwLDB4MDYsMHhhYywweDZjLDB4YWQsMHg2YiwweDgwLDB4MGYsMHhlNSwKLTB4NGEsMHgyNCwweDgwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweDdkLDB4MDAsMHhmYywweDhjLDB4NmEsCi0weDhkLDB4NjksMHhlNSwweDRhLDB4MjQsMHg4MCwweGZjLDB4ZTQsMHgzNCwweGZjLDB4ZmQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLAotMHg4ZCwweDY0LDB4OGUsMHg2MywweDhmLDB4NjIsMHgxMiwweDJmLDB4ZDgsMHgyMiwweDgwLDB4MDAsMHgwMiwweDJjLDB4MGYsMHgwMiwKLTB4MmMsMHgwZiwweGU1LDB4NjcsMHgzMCwweGU3LDB4MTksMHhlNSwweDZjLDB4MTQsMHg0NSwweDZiLDB4NzAsMHgxMiwweGU1LDB4NGEsCi0weDcwLDB4MGUsMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLAotMHgwMiwweDJjLDB4MGYsMHhlNSwweDY3LDB4MjAsMHhlMCwweDA4LDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwMywweDAyLDB4MmMsMHgwZiwKLTB4NzUsMHg2NCwweDY4LDB4ZTQsMHhmNSwweDYzLDB4ZjUsMHg2MiwweGU0LDB4ZjUsMHg2OSwweDA0LDB4ZjUsMHg2YSwweDEyLDB4MmYsCi0weGQ4LDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDI3LDB4ZTUsMHg2YywweDQ1LDB4NmIsMHg3MCwweDIxLDB4ZTUsMHg0YSwweDcwLAotMHgxZCwweGU1LDB4NGMsMHg2NCwweDAyLDB4NDUsMHg0YiwweDYwLDB4MGQsMHhlNSwweDRjLDB4MTQsMHg0NSwweDRiLDB4NjAsMHgwNiwKLTB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsCi0weDBmLDB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwOCwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDMsMHgwMiwweDJjLDB4MGYsMHg4NSwweDRjLAotMHg2OCwweGU1LDB4NjgsMHg3MCwweDA4LDB4NDMsMHg2NywweDAxLDB4NTMsMHg2NywweGZkLDB4ODAsMHgxMywweGU1LDB4NjgsMHg2NCwKLTB4MDIsMHg2MCwweDA3LDB4ZTUsMHg2OCwweDE0LDB4NjAsMHgwMiwweDgwLDB4NjUsMHg1MywweDY3LDB4ZmUsMHg0MywweDY3LDB4MDIsCi0weDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweGU1LDB4NjcsMHgzMCwweGU3LDB4MWEsMHhlNSwweDZjLDB4MTQsMHg0NSwweDZiLAotMHg3MCwweDEzLDB4ZTUsMHg0YSwweDcwLDB4MGYsMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDksMHg5MCwweGZmLDB4MDAsMHhlMCwKLTB4NTQsMHgxZiwweDE0LDB4NjAsMHgwMiwweDgwLDB4MzgsMHhlNSwweDY3LDB4MjAsMHhlMSwweDAyLDB4ODAsMHgzMSwweDdjLDB4MDEsCi0weDEyLDB4MmYsMHhjMywweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxNSwweGU1LDB4NmMsMHg0NSwweDZiLDB4NzAsMHgwZiwweGU1LAotMHg0YywweDQ1LDB4NGIsMHg3MCwweDA5LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4MTQsMHg2MCwweDAyLDB4ODAsMHgwZiwKLTB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwMiwweDgwLDB4MDgsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHg4MCwweDAwLDB4MDIsCi0weDJlLDB4Y2EsMHhiNCwweDQwLDB4MDIsMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyZSwweGMwLDB4OTAsMHhmZiwweDAxLAotMHhlMCwweDkwLDB4ZmQsMHgzZCwweGYwLDB4ZTUsMHg0YSwweDkwLDB4ZmQsMHgzZSwweGYwLDB4ZTQsMHg5MCwweGZkLDB4M2YsMHhmMCwKLTB4ZTUsMHg2NCwweDI0LDB4MDMsMHhmNSwweDY0LDB4ZTUsMHg2MywweDM0LDB4MDAsMHhmNSwweDYzLDB4YWQsMHg0YiwweGU1LDB4NGMsCi0weDg1LDB4NjQsMHg4MiwweDg1LDB4NjMsMHg4MywweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZmLDB4MDEsMHhlMCwweDEyLAotMHgwMSwweGI3LDB4MmMsMHg3ZCwweDAxLDB4MmMsMHhhMywweDAyLDB4MmMsMHhjZCwweDAzLDB4MmMsMHhmNywweDA0LDB4MmQsMHg0NSwKLTB4MDUsMHgyZCwweDgyLDB4MDYsMHgyZCwweGE4LDB4MDcsMHgyZCwweGNlLDB4MDgsMHgyZCwweGY0LDB4MDksMHgyZSwweDFhLDB4MGIsCi0weDJlLDB4NDAsMHgwYywweDJlLDB4NGYsMHg4MCwweDJlLDB4NGYsMHg4MSwweDAwLDB4MDAsMHgyZSwweGFkLDB4ZTUsMHg2NywweDIwLAotMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsMHg0YSwweDIyLDB4N2QsMHhiNywweDdlLDB4MzQsMHg3ZiwweDAyLDB4NzksMHg0MCwKLTB4N2EsMHhmZCwweDdiLDB4MDEsMHg3NCwweDA4LDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweDdkLDB4MDgsMHg3YywweDAwLDB4MTIsCi0weDI0LDB4YjEsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MDYsMHg3YywweDA1LDB4MTIsMHgyNSwweDRhLDB4MjIsMHhlNSwweDRhLAotMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywKLTB4MTAsMHgxMiwweDMxLDB4OWEsMHgyMiwweDdkLDB4MDAsMHg3YywweDA3LDB4MTIsMHgyNCwweGIxLDB4MjIsMHhlNSwweDY3LDB4MjAsCi0weGU3LDB4MDYsMHg3YywweDA1LDB4MTIsMHgyNSwweDRhLDB4MjIsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LAotMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDExLDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3ZCwKLTB4MDAsMHg3YywweDA3LDB4MTIsMHgyNCwweGIxLDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsCi0weDRhLDB4MjIsMHhlNSwweDRhLDB4YjQsMHgwNSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLAotMHg3YywweDBhLDB4MTIsMHgzMSwweDlhLDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwKLTB4MDQsMHhmZSwweDdjLDB4MDgsMHgxMiwweDMxLDB4OWEsMHgyMiwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsCi0weDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxMywweDEyLDB4MzEsMHg5YSwweDIyLDB4N2QsMHgwMCwweDdjLAotMHgwNywweDEyLDB4MjQsMHhiMSwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgzNCwweGQzLDB4ZTUsMHg2YywweDk0LDB4NDgsMHhlNSwKLTB4NmIsMHg5NCwweDAwLDB4NTAsMHgwNiwweGU1LDB4NmMsMHg0NSwweDZiLDB4NzAsMHgwNiwweDdjLDB4MDIsMHgxMiwweDI1LDB4NGEsCi0weDIyLDB4ZTUsMHg0YSwweGI0LDB4MDEsMHgwMywweGIzLDB4NDAsMHgwYiwweGMzLDB4YjQsMHgwMywweDAwLDB4NDAsMHgwOSwweGI0LAotMHgwNiwweDAwLDB4NTAsMHgwNCwweDEyLDB4MzAsMHg3MCwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4MTIsMHgyNCwKLTB4ZTgsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsCi0weDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE2LDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3YywweDA3LAotMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsMHhlOCwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwKLTB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTksCi0weDEyLDB4MzEsMHg5YSwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4MTIsMHgyNCwweGU4LDB4MjIsMHhlNSwweDY3LAotMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwKLTB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE3LDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsCi0weDEyLDB4MjQsMHhlOCwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLAotMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTgsMHgxMiwweDMxLDB4OWEsMHgyMiwKLTB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4MTIsMHgyNCwweGU4LDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDFkLDB4ZTUsCi0weDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLAotMHg3YywweDE1LDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsMHgxMiwweDI0LDB4ZTgsMHgyMiwKLTB4ZTUsMHg2NywweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsMHhlOCwweDIyLDB4ZTUsCi0weDY3LDB4MzAsMHhlNywweDIwLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NzAsMHgxMCwweDkwLDB4ZmYsMHgwMSwweGUwLAotMHhiNCwweDgwLDB4MDUsMHgxMiwweDI0LDB4ZGYsMHg4MCwweDAzLDB4MTIsMHgyNCwweGU4LDB4MjIsMHg3ZCwweDAwLDB4N2MsMHgwNSwKLTB4MTIsMHgyNCwweGIxLDB4MjIsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsCi0weDRhLDB4MjIsMHhkMywweGU1LDB4NmMsMHg5NCwweDQ4LDB4ZTUsMHg2YiwweDk0LDB4MDAsMHg1MCwweDBiLDB4YzMsMHhlNSwweDZjLAotMHg5NCwweDA3LDB4ZTUsMHg2YiwweDk0LDB4MDAsMHg1MCwweDA2LDB4N2MsMHgwMywweDEyLDB4MjUsMHg0YSwweDIyLDB4ZTUsMHg0YSwKLTB4YjQsMHgwNSwweDA0LDB4MTIsMHgzMCwweDcwLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsMHhlNSwweDY3LDB4MzAsCi0weGU3LDB4MDgsMHg3ZCwweDAwLDB4N2MsMHgwNSwweDEyLDB4MjQsMHhiMSwweDIyLDB4N2MsMHgwNSwweDEyLDB4MjUsMHg0YSwweDIyLAotMHhiNCwweDIwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4ODAsMHgwMCwweDEyLDB4MmYsMHg5ZSwweDIyLDB4NzUsMHg0MywKLTB4MDAsMHg5MCwweGZmLDB4ODMsMHhlMCwweDU0LDB4MGYsMHhkMywweDk1LDB4NDMsMHg0MCwweDI0LDB4ZTUsMHg0MywweDI0LDB4ZjAsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmUsMHhmNSwweDgzLDB4ZTAsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLDB4NjIsMHgxMiwweDAzLAotMHgwZiwweDA1LDB4NDMsMHgwZCwweGVkLDB4NzAsMHgwMSwweDBlLDB4OGQsMHg2NCwweDhlLDB4NjMsMHg4ZiwweDYyLDB4ODAsMHhkMSwKLTB4ZTUsMHg0MywweDdkLDB4MDAsMHhmYywweGMzLDB4ZTUsMHg2YSwweDljLDB4ZjUsMHg2YSwweGU1LDB4NjksMHg5ZCwweGY1LDB4NjksCi0weGU1LDB4NmEsMHg0NSwweDY5LDB4NjAsMHgwNiwweGU0LDB4OTAsMHhmZiwweDgzLDB4ZjAsMHgyMiwweDkwLDB4ZmYsMHg4MiwweGUwLAotMHg0NCwweDA4LDB4ZjAsMHhlNCwweGY1LDB4NjksMHg3NSwweDZhLDB4NDksMHg5MCwweGZkLDB4M2QsMHhlMCwweGI0LDB4MDUsMHgwMiwKLTB4ODAsMHgwMywweGQzLDB4NDAsMHg0MCwweDkwLDB4ZmQsMHgzZSwweGUwLDB4ZjUsMHg0MywweGI0LDB4MDUsMHgwMiwweDgwLDB4MDMsCi0weGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwYiwweDEyLDB4MzEsMHg5YSwweDIyLDB4YjQsMHgwMSwweDAyLAotMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA5LDB4MTIsMHgzMSwweDlhLDB4MjIsMHhiNCwKLTB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0MywweDdmLDB4MDAsMHhmZSwweDdjLDB4MTQsCi0weDEyLDB4MzEsMHg5YSwweDIyLDB4MjIsMHhiNCwweDgwLDB4MDAsMHg0MCwweDIzLDB4YjQsMHg4MiwweDAwLDB4NTAsMHgxZSwweDdjLAotMHgzZCwweDdkLDB4ZmQsMHgxMiwweDE3LDB4ZDUsMHg3ZCwweDAwLDB4OGMsMHg2NiwweDhkLDB4NjUsMHg5MCwweGZkLDB4M2YsMHhlMCwKLTB4NjAsMHgwNSwweDEyLDB4MmYsMHg5ZSwweDgwLDB4MDUsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHgyMiwweDkwLDB4ZmYsCi0weDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLDB4ZmYsMHg4MCwweGUwLAotMHg0NCwweDA4LDB4ZjAsMHgyMiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsMHgwOCwweGYwLDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg0NCwKLTB4MDgsMHhmMCwweDIyLDB4OGMsMHgyMywweDdkLDB4MDAsMHg4YywweDZhLDB4OGQsMHg2OSwweDc1LDB4NjQsMHgzZCwweDc1LDB4NjMsCi0weGZkLDB4NzUsMHg2MiwweDAxLDB4MTIsMHgyZiwweGQ4LDB4MjIsMHg5MCwweGZmLDB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweGU1LAotMHg2YSwweDY0LDB4NDksMHg0NSwweDY5LDB4NzAsMHgwMSwweDIyLDB4YzMsMHhlNSwweDZhLDB4OTQsMHgwOCwweGU1LDB4NjksMHg5NCwKLTB4MDAsMHg0MCwweDE1LDB4NzUsMHgyMSwweDA4LDB4ZTUsMHgyMSwweDdkLDB4MDAsMHhmYywweGMzLDB4ZTUsMHg2YSwweDljLDB4ZjUsCi0weDZhLDB4ZTUsMHg2OSwweDlkLDB4ZjUsMHg2OSwweDgwLDB4MDksMHg4NSwweDZhLDB4MjEsMHhlNCwweGY1LDB4NjksMHg3NSwweDZhLAotMHg0OSwweDc1LDB4MjIsMHgwMCwweGU1LDB4MjIsMHhjMywweDk1LDB4MjEsMHg1MCwweDI2LDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwKLTB4NjIsMHgxMiwweDAxLDB4ZTYsMHhmYywweGU1LDB4MjIsMHgyNCwweGY4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZSwweGY1LDB4ODMsCi0weGVjLDB4ZjAsMHgwNSwweDIyLDB4MGQsMHhlZCwweDcwLDB4MDEsMHgwZSwweDhkLDB4NjQsMHg4ZSwweDYzLDB4OGYsMHg2MiwweDgwLAotMHhkMywweGU1LDB4MjEsMHg1NCwweDdmLDB4OTAsMHhmZiwweDgxLDB4ZjAsMHgyMiwweDhjLDB4NDgsMHg3ZiwweDAwLDB4ZWYsMHgyNCwKLTB4ZmIsMHg0MCwweDE5LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHgzZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsCi0weGY1LDB4ODMsMHhlMCwweDY1LDB4NDgsMHg3MCwweDAyLDB4ZDMsMHgyMiwweDBmLDB4ODAsMHhlMiwweDhmLDB4NDcsMHhjMywweDIyLAotMHg4NSwweDZjLDB4NmEsMHg4NSwweDZiLDB4NjksMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4ZjcsMHhmMCwweDkwLDB4ZmYsMHg4MywKLTB4ZTAsMHg1NCwweDdmLDB4ZjAsMHgyMiwweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDYsMHhjMCwweDA3LDB4ZTUsCi0weDcyLDB4MjQsMHgwOCwweGY4LDB4ODYsMHgwNiwweDUzLDB4MDYsMHg3ZiwweDdjLDB4ZmYsMHgxMiwweDMwLDB4ZmEsMHg3YywweDAwLAotMHg3ZCwweDAwLDB4ZTUsMHg3NSwweDYwLDB4NDYsMHhmZiwweDkwLDB4ZmUsMHg5ZCwweGUwLDB4NTQsMHg3ZiwweDZlLDB4NzAsMHgwZiwKLTB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsMHhhMywweDE1LDB4NzUsMHg4MCwweDA3LDB4YTMsCi0weGEzLDB4YTMsMHhkZiwweGU2LDB4ODAsMHgyNiwweGRmLDB4MDYsMHhkMCwweDgyLDB4ZDAsMHg4MywweDgwLDB4MWUsMHhlMCwweGY4LAotMHhhMywweGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhkMCwweDgyLDB4ZDAsMHg4MywweGU4LDB4ZjAsMHhhMywweGU5LDB4ZjAsMHhhMywKLTB4ZWEsMHhmMCwweGEzLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHg4MCwweGRhLDB4MTIsMHgzMSwweDkzLDB4ZDAsCi0weDA3LDB4ZDAsMHgwNiwweGQwLDB4MDIsMHhkMCwweDAxLDB4ZDAsMHgwMCwweDIyLDB4ODUsMHhhOCwweDc0LDB4NzUsMHhhOCwweDg4LAotMHhlYywweDcwLDB4MDIsMHg3YywweDNmLDB4OGMsMHg3MywweDIyLDB4ZTUsMHg3MiwweDI0LDB4MDgsMHhmOCwweDc2LDB4MDAsMHgxMiwKLTB4MzEsMHhlNywweDgwLDB4ZmIsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDA2LDB4YzAsMHgwNywweGFlLDB4MDQsCi0weDdjLDB4ZmYsMHgxMiwweDMwLDB4ZmEsMHhlNSwweDc1LDB4NjAsMHg0MiwweGZmLDB4OTAsMHhmZSwweDlkLDB4ZTAsMHg1NCwweDdmLAotMHg2ZSwweDcwLDB4MGIsMHhjMCwweDgzLDB4YzAsMHg4MiwweGEzLDB4YTMsMHhhMywweDE1LDB4NzUsMHg4MCwweDA3LDB4YTMsMHhhMywKLTB4YTMsMHhkZiwweGVhLDB4ODAsMHgyNiwweGRmLDB4MDYsMHhkMCwweDgyLDB4ZDAsMHg4MywweDgwLDB4ZDgsMHhlMCwweGY4LDB4YTMsCi0weGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhkMCwweDgyLDB4ZDAsMHg4MywweGU4LDB4ZjAsMHhhMywweGU5LDB4ZjAsMHhhMywweGVhLAotMHhmMCwweGEzLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHg4MCwweGRhLDB4NzgsMHgwOCwweDA4LDB4NzksMHgxOCwKLTB4MDksMHg3YywweDAxLDB4ZTYsMHg1NCwweDdmLDB4NmUsMHg3MCwweDA2LDB4NzYsMHgwMCwweDc3LDB4MDAsMHg4MCwweDA2LDB4MDgsCi0weDA5LDB4MGMsMHhiYywweDA4LDB4ZWUsMHgxMiwweDMxLDB4OTMsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDIsMHhkMCwweDAxLAotMHhkMCwweDAwLDB4MjIsMHg3NSwweDczLDB4MDAsMHg4NSwweDc0LDB4YTgsMHgyMiwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywKLTB4YzMsMHhlNSwweDc1LDB4MjQsMHhlOCwweDUwLDB4MDUsMHgxMiwweDMxLDB4ZTcsMHg4MCwweGY0LDB4ZWMsMHg2MCwweDMxLDB4OTAsCi0weDM0LDB4YjYsMHhlNCwweDkzLDB4YzMsMHg5YywweDQwLDB4MjgsMHhjMCwweDA0LDB4N2MsMHhmZiwweDEyLDB4MzAsMHhmYSwweGQwLAotMHgwNCwweDQzLDB4MDQsMHg4MCwweGU1LDB4NzUsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4OWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmUsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGVmLDB4YTMsMHhmMCwweGVlLDB4YTMsMHhmMCwweDA1LDB4NzUsMHgxMiwweDMxLDB4OTMsCi0weGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweDIyLDB4YzAsMHgwNCwweDdjLDB4MjAsMHhkMiwweDhjLDB4ZDIsMHg4ZCwweGQ1LAotMHgwNCwweGZkLDB4ZDAsMHgwNCwweDIyLDB4NzUsMHhhOCwweDAwLDB4NzUsMHg4OCwweDAwLDB4NzUsMHhiOCwweDAwLDB4NzUsMHhmMCwKLTB4MDAsMHg3NSwweGQwLDB4MDAsMHhlNCwweGY4LDB4OTAsMHgwMCwweDAwLDB4ZjYsMHgwOCwweGI4LDB4MDAsMHhmYiwweDAyLDB4MDAsCi0weDAwLDB4YzMsMHhlZCwweDk0LDB4MDIsMHg1MCwweDA0LDB4N2QsMHgwMywweDdjLDB4ZTgsMHhlYywweGY0LDB4ZmMsMHhlZCwweGY0LAotMHhmZCwweDBjLDB4YmMsMHgwMCwweDAxLDB4MGQsMHg4YywweDc5LDB4OGQsMHg3OCwweDIyLDB4YzMsMHhlYywweDk0LDB4YmMsMHhlZCwKLTB4OTQsMHgwMiwweDUwLDB4MDQsMHg3ZCwweDA3LDB4N2MsMHhkMCwweGVjLDB4ZjQsMHhmYywweGVkLDB4ZjQsMHhmZCwweDBjLDB4YmMsCi0weDAwLDB4MDEsMHgwZCwweDhjLDB4NzcsMHg4ZCwweDc2LDB4MjIsMHhlYywweDcwLDB4MDEsMHgyMiwweGMwLDB4MDAsMHhlNSwweDcyLAotMHgyNCwweDE4LDB4ZjgsMHhhNiwweDA0LDB4ZTUsMHg3MiwweDI0LDB4MDgsMHhmOCwweGM2LDB4NTQsMHg3ZiwweGY2LDB4ZTYsMHgzMCwKLTB4ZTcsMHgwMywweGQwLDB4MDAsMHgyMiwweDEyLDB4MzEsMHhlNywweDgwLDB4ZjQsMHhjMiwweDhjLDB4ODUsMHg3NiwweDhjLDB4ODUsCi0weDc3LDB4OGEsMHhkMiwweDhjLDB4YzAsMHhlMCwweGMwLDB4ZDAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAwLAotMHhjMCwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4YzAsMHgwNSwweGMwLDB4MDYsMHhjMCwweDA3LDB4MTIsMHgxYiwKLTB4MjgsMHhlNSwweDcyLDB4MjQsMHgwOCwweGY4LDB4ZTYsMHg2MCwweDI0LDB4ZTUsMHg3MiwweDI0LDB4MTAsMHhmOCwweGE2LDB4ODEsCi0weGU1LDB4NzIsMHg3NSwweGYwLDB4MjEsMHhhNCwweDI0LDB4OTUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweDc4LAotMHhhOCwweGU1LDB4ODEsMHgwNCwweGMzLDB4OTgsMHhmOSwweGU2LDB4ZjAsMHgwOCwweGEzLDB4ZDksMHhmYSwweDc0LDB4MDgsMHgyNSwKLTB4NzIsMHhmOCwweDA1LDB4NzIsMHgwOCwweGU2LDB4NTQsMHg4MCwweDcwLDB4MGMsMHhlNSwweDcyLDB4YjQsMHgwNywweGYzLDB4NzgsCi0weDA4LDB4NzUsMHg3MiwweDAwLDB4ODAsMHhlZiwweGU1LDB4NzIsMHgyNCwweDEwLDB4ZjgsMHg4NiwweDgxLDB4ZTUsMHg3MiwweDc1LAotMHhmMCwweDIxLDB4YTQsMHgyNCwweDk1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHg3OCwweGE4LDB4ZTUsMHg4MSwKLTB4MDQsMHhjMywweDk4LDB4ZjksMHhlMCwweGY2LDB4MDgsMHhhMywweGQ5LDB4ZmEsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDUsCi0weGQwLDB4MDQsMHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLAotMHhkMCwweGQwLDB4ZDAsMHhlMCwweDMyLDB4YzAsMHhlMCwweGMwLDB4ZDAsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMiwKLTB4OGUsMHg4NSwweDc4LDB4OGQsMHg4NSwweDc5LDB4OGIsMHhkMiwweDhlLDB4NzgsMHgxOSwweDc5LDB4MDksMHg3YSwweDA3LDB4ZTcsCi0weDcwLDB4MDQsMHhhNiwweDAwLDB4ODAsMHgwYiwweGU2LDB4NjAsMHgwOCwweDE2LDB4ZTYsMHg3MCwweDA0LDB4ZTcsMHg0NCwweDgwLAotMHhmNywweDA4LDB4MDksMHhkYSwweGVhLDB4ZTUsMHg3MywweDYwLDB4MTMsMHgxNCwweGY1LDB4NzMsMHg3MCwweDBlLDB4ZTUsMHg3MiwKLTB4MjQsMHgwOCwweGY4LDB4NzYsMHgwMCwweDEyLDB4MzEsMHg5MywweGQyLDB4OGMsMHhkMiwweDhkLDB4ZDAsMHgwMiwweGQwLDB4MDEsCi0weGQwLDB4MDAsMHhkMCwweGQwLDB4ZDAsMHhlMCwweDMyLDB4NzUsMHg4MSwweGE3LDB4NzUsMHg5MCwweDAwLDB4NzUsMHg3OSwweDMwLAotMHg3NSwweDc4LDB4ZjgsMHg3NSwweDc3LDB4NjAsMHg3NSwweDc2LDB4ZjAsMHgxMiwweDA1LDB4M2MsMHgxMiwweDM0LDB4MGYsMHgxMiwKLTB4MTcsMHg4YiwweDEyLDB4MzQsMHgzOSwweDEyLDB4MzEsMHhmNSwweDgwLDB4ZTMsMHgyMiwweGMwLDB4MDAsMHg3YywweDAxLDB4ZWMsCi0weDI0LDB4MDgsMHhmOCwweGU2LDB4NjAsMHgwOSwweDBjLDB4YmMsMHgwOCwweGY1LDB4MTIsMHgzMSwweGU3LDB4ODAsMHhlZSwweGQwLAotMHgwMCwweDIyLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMCwweGMwLDB4MDYsMHhjMCwweDA3LDB4ZWQsMHgyNCwKLTB4MTAsMHhmOCwweDc2LDB4YjYsMHhlZCwweDc1LDB4ZjAsMHgyMSwweGE0LDB4MjQsMHg5NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsCi0weGY1LDB4ODMsMHhjMCwweDgyLDB4YzAsMHg4MywweGEzLDB4YTMsMHhlNCwweDc4LDB4MGQsMHhmMCwweGEzLDB4ZDgsMHhmYywweGVjLAotMHg1NCwweDdmLDB4NzUsMHhmMCwweDAyLDB4YTQsMHgyNCwweDgyLDB4ZjUsMHg4MiwweGU1LDB4ZjAsMHgzNCwweDM0LDB4ZjUsMHg4MywKLTB4ZTQsMHg5MywweGZlLDB4NzQsMHgwMSwweDkzLDB4ZjUsMHg4MiwweDhlLDB4ODMsMHhlNCwweDkzLDB4ZmUsMHg3NCwweDAxLDB4OTMsCi0weGZmLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhlZiwweGYwLDB4YTMsMHhlZSwweGYwLDB4ZWQsMHgyNCwweDA4LDB4ZjgsMHhlYywweDQ0LAotMHg4MCwweGY2LDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDAwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4MjIsMHg3NSwKLTB4NzIsMHgwMCwweDc1LDB4NzUsMHgwMCwweDdhLDB4MDgsMHg3OSwweDE4LDB4NzgsMHgwOCwweDc2LDB4MDAsMHg3NywweDAwLDB4MDgsCi0weDA5LDB4ZGEsMHhmOCwweGU0LDB4NzgsMHgwOCwweDc0LDB4ODAsMHg0NCwweDdmLDB4ZjYsMHg3NCwweDAxLDB4NDQsMHgxMCwweGY1LAotMHg4OSwweDc1LDB4YjgsMHgwOCwweGQyLDB4YWIsMHhkMiwweGE5LDB4MjIsMHg3NSwweDgxLDB4YTcsMHhkMiwweDhlLDB4ZDIsMHg4YywKLTB4ZDIsMHhhZiwweGU1LDB4NzUsMHg2MCwweDMyLDB4ZmYsMHg5MCwweGZlLDB4OWQsMHhlMCwweDU0LDB4ODAsMHg2MCwweDI0LDB4NzgsCi0weDA4LDB4NzksMHgwOCwweGUwLDB4NTQsMHg3ZiwweGZhLDB4N2IsMHgwMCwweGU2LDB4NTQsMHg3ZiwweGI1LDB4MDIsMHgwMiwweDdiLAotMHhmZiwweDA4LDB4ZDksMHhmNSwweGViLDB4NzAsMHgwYywweGVhLDB4ZjAsMHgxMiwweDMzLDB4OGIsMHhhZCwweDA0LDB4YWMsMHgwMiwKLTB4MTIsMHgzMywweGEyLDB4YTMsMHhhMywweGEzLDB4ZGYsMHhkMiwweDEyLDB4MzEsMHhlNywweDgwLDB4YzUsMHg3YywweDAxLDB4N2QsCi0weDAwLDB4MjIsMHgwNCwweGY1LDB4MDQsMHhlOSwweDA0LDB4ZWQsMHgwNCwweGUxLDB4MDQsMHhkZCwweDA0LDB4ZDksMHgwNCwweGU1LAotMHgwNCwweGYxLDB4MDQsMHg5ZCwweDA0LDB4YTEsMHgwNCwweGNkLDB4MDQsMHhkMSwweDA0LDB4OTksMHgwNCwweDk5LDB4MDQsMHg5OSwKLTB4MDQsMHhkNSwweDA0LDB4YjUsMHgwNCwweGFkLDB4MDQsMHhiMSwweDA0LDB4YTksMHgwNCwweGMxLDB4MDQsMHhiZCwweDA0LDB4YjksCi0weDA0LDB4YzUsMHgwNCwweGM5LDB4MDQsMHhhNSwweDE5LDB4MDEsMHgwMywweDAwLDB4MjIsMHgwMCwweDQ4LDB4MDIsMHgwMCwweDI0LAotMHgwZiwweDE4LDB4MGEsMHgxMCwweDY0LDB4MGQsMHg2OCwweDBjLDB4MDUsMHgwNiwweDAyLDB4MDMsMHgwMSwweDAxLDB4ODEsMHgwMSwKLTB4MDAsMHgwMCwweGU3LDB4MDAsMHhjMCwweDAwLDB4ODAsMHgwMCwweDYwLDB4MDAsMHg0MCwweDAwLDB4MzAsMHgwMCwweDE4LDB4MDAsCi0weDBjLDB4MDAsMHgwOCwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwMSwweDAwLDB4MDgsMHgxOCwweDM4LDB4MjgsMHgwNiwweDAyLAotMHgxMCwweDBhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg4MSwweDEwLDB4MGEsMHgwMiwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweGZiLDB4ZTgsMHhmYiwweGZhLDB4MTIsMHgwMSwweDEwLDB4MDEsMHhmZiwweDAwLDB4MDAsMHgwOCwweDUxLDB4MDQsCi0weDVmLDB4NTAsMHgxNiwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDIsMHgwOSwweDAyLDB4MzUsMHgwMCwweDAxLDB4MDIsMHgwMCwweGUwLAotMHgwMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDUsMHhmZiwweDAwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHg4MSwweDAyLDB4NDAsMHgwMCwKLTB4MDAsMHgwNywweDA1LDB4MDEsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHg4MiwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsCi0weDA1LDB4MDIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHg4NSwweDAzLDB4MDIsMHgwMCwweDAxLDB4MDQsMHgwMywweDA5LAotMHgwNCwweDI0LDB4MDMsMHg1NCwweDAwLDB4NjUsMHgwMCwweDc4LDB4MDAsMHg2MSwweDAwLDB4NzMsMHgwMCwweDIwLDB4MDAsMHg0OSwKLTB4MDAsMHg2ZSwweDAwLDB4NzMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NzUsMHgwMCwweDZkLDB4MDAsMHg2NSwweDAwLDB4NmUsCi0weDAwLDB4NzQsMHgwMCwweDczLDB4MDAsMHgyYSwweDAzLDB4NTQsMHgwMCwweDU1LDB4MDAsMHg1MywweDAwLDB4NDIsMHgwMCwweDM1LAotMHgwMCwweDMwLDB4MDAsMHgzNSwweDAwLDB4MzIsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg2OSwKLTB4MDAsMHg2MSwweDAwLDB4NmMsMHgwMCwweDIwLDB4MDAsMHg1MCwweDAwLDB4NmYsMHgwMCwweDcyLDB4MDAsMHg3NCwweDAwLDB4MjIsCi0weDAzLDB4NTQsMHgwMCwweDU1LDB4MDAsMHg1MywweDAwLDB4NDIsMHgwMCwweDM1LDB4MDAsMHgzMCwweDAwLDB4MzUsMHgwMCwweDMyLAotMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwKLTB4MDAsCi19OwotCi0jZW5kaWYgLyogaWZuZGVmIF9USV9GV181MDUyX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfdXNiXzM0MTBfNTA1Mi5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL3RpX3VzYl8zNDEwXzUwNTIuYwppbmRleCBhMWM4YWVmLi5hMjZhNjI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfdXNiXzM0MTBfNTA1Mi5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC90aV91c2JfMzQxMF81MDUyLmMKQEAgLTg0LDExICs4NCw5IEBACiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KIAogI2luY2x1ZGUgInRpX3VzYl8zNDEwXzUwNTIuaCIKLSNpbmNsdWRlICJ0aV9md18zNDEwLmgiCQkvKiBmaXJtd2FyZSBpbWFnZSBmb3IgMzQxMCAqLwotI2luY2x1ZGUgInRpX2Z3XzUwNTIuaCIJCS8qIGZpcm13YXJlIGltYWdlIGZvciA1MDUyICovCi0KIAogLyogRGVmaW5lcyAqLwogCkBAIC0xOTQsOCArMTkyLDggQEAKIHN0YXRpYyBpbnQgdGlfd3JpdGVfYnl0ZShzdHJ1Y3QgdGlfZGV2aWNlICp0ZGV2LCB1bnNpZ25lZCBsb25nIGFkZHIsCiAJX191OCBtYXNrLCBfX3U4IGJ5dGUpOwogCi1zdGF0aWMgaW50IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHN0cnVjdCB0aV9kZXZpY2UgKnRkZXYsCi0JdW5zaWduZWQgY2hhciAqZmlybXdhcmUsIHVuc2lnbmVkIGludCBmaXJtd2FyZV9zaXplKTsKK3N0YXRpYyBpbnQgdGlfZG93bmxvYWRfZmlybXdhcmUoc3RydWN0IHRpX2RldmljZSAqdGRldiwgY2hhciAqZndfbmFtZSk7CisKIAogLyogY2lyY3VsYXIgYnVmZmVyICovCiBzdGF0aWMgc3RydWN0IGNpcmNfYnVmICp0aV9idWZfYWxsb2Modm9pZCk7CkBAIC0zMjAsNiArMzE4LDkgQEAKIE1PRFVMRV9WRVJTSU9OKFRJX0RSSVZFUl9WRVJTSU9OKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAorTU9EVUxFX0ZJUk1XQVJFKCJ0aV8zNDEwLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoInRpXzUwNTIuZnciKTsKKwogbW9kdWxlX3BhcmFtKGRlYnVnLCBib29sLCBTX0lSVUdPIHwgU19JV1VTUik7CiBNT0RVTEVfUEFSTV9ERVNDKGRlYnVnLCAiRW5hYmxlIGRlYnVnZ2luZywgMD1ubywgMT15ZXMiKTsKIApAQCAtNDMxLDExICs0MzIsOSBAQAogCWlmIChkZXYtPmRlc2NyaXB0b3IuYk51bUNvbmZpZ3VyYXRpb25zID09IDEpIHsKIAogCQlpZiAodGRldi0+dGRfaXNfMzQxMCkKLQkJCXN0YXR1cyA9IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHRkZXYsIHRpX2Z3XzM0MTAsCi0JCQkJc2l6ZW9mKHRpX2Z3XzM0MTApKTsKKwkJCXN0YXR1cyA9IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHRkZXYsICJ0aV8zNDEwLmZ3Iik7CiAJCWVsc2UKLQkJCXN0YXR1cyA9IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHRkZXYsIHRpX2Z3XzUwNTIsCi0JCQkJc2l6ZW9mKHRpX2Z3XzUwNTIpKTsKKwkJCXN0YXR1cyA9IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHRkZXYsICJ0aV81MDUyLmZ3Iik7CiAJCWlmIChzdGF0dXMpCiAJCQlnb3RvIGZyZWVfdGRldjsKIApAQCAtMTY1OCw4ICsxNjU3LDkgQEAKIAogCiBzdGF0aWMgaW50IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHN0cnVjdCB0aV9kZXZpY2UgKnRkZXYsCi0JdW5zaWduZWQgY2hhciAqZmlybXdhcmUsIHVuc2lnbmVkIGludCBmaXJtd2FyZV9zaXplKQorCQkJCWNoYXIgKmZ3X25hbWUpCiB7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAlpbnQgc3RhdHVzID0gMDsKIAlpbnQgYnVmZmVyX3NpemU7CiAJaW50IHBvczsKQEAgLTE2NzIsMTYgKzE2NzIsMjkgQEAKIAl1bnNpZ25lZCBpbnQgcGlwZSA9IHVzYl9zbmRidWxrcGlwZShkZXYsCiAJCXRkZXYtPnRkX3NlcmlhbC0+cG9ydFswXS0+YnVsa19vdXRfZW5kcG9pbnRBZGRyZXNzKTsKIAotCiAJYnVmZmVyX3NpemUgPSBUSV9GSVJNV0FSRV9CVUZfU0laRSArIHNpemVvZihzdHJ1Y3QgdGlfZmlybXdhcmVfaGVhZGVyKTsKKworCWlmIChyZXF1ZXN0X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgJmRldi0+ZGV2KSkgeworCQlkZXZfZXJyKCZkZXYtPmRldiwgIiVzIC0gZmFpbGVkIHRvIGxvYWQgZmlybXdhcmUgXCIlc1wiXG4iLAorCQkJX19mdW5jX18sIGZ3X25hbWUpOworCQlyZXR1cm4gLUVOT0VOVDsKKwl9CisJaWYgKGZ3LT5zaXplID4gYnVmZmVyX3NpemUpIHsKKwkJZGV2X2VycigmZGV2LT5kZXYsICIlcyAtIGZpcm13YXJlIFwiJXNcIiBpcyB0b28gbGFyZ2VcbiIsCisJCQlfX2Z1bmNfXywgZndfbmFtZSk7CisJCXJlbGVhc2VfZmlybXdhcmUoZncpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKIAlidWZmZXIgPSBrbWFsbG9jKGJ1ZmZlcl9zaXplLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWJ1ZmZlcikgewogCQlkZXZfZXJyKCZkZXYtPmRldiwgIiVzIC0gb3V0IG9mIG1lbW9yeVxuIiwgX19mdW5jX18pOworCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCi0JbWVtY3B5KGJ1ZmZlciwgZmlybXdhcmUsIGZpcm13YXJlX3NpemUpOwotCW1lbXNldChidWZmZXIrZmlybXdhcmVfc2l6ZSwgMHhmZiwgYnVmZmVyX3NpemUtZmlybXdhcmVfc2l6ZSk7CisJbWVtY3B5KGJ1ZmZlciwgZnctPmRhdGEsIGZ3LT5zaXplKTsKKwltZW1zZXQoYnVmZmVyK2Z3LT5zaXplLCAweGZmLCBidWZmZXJfc2l6ZS1mdy0+c2l6ZSk7CiAKIAlmb3IocG9zID0gc2l6ZW9mKHN0cnVjdCB0aV9maXJtd2FyZV9oZWFkZXIpOyBwb3MgPCBidWZmZXJfc2l6ZTsgcG9zKyspCiAJCWNzID0gKF9fdTgpKGNzICsgYnVmZmVyW3Bvc10pOwpAQCAtMTY5OSw2ICsxNzEyLDcgQEAKIAl9CiAKIAlrZnJlZShidWZmZXIpOworCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCiAJaWYgKHN0YXR1cykgewogCQlkZXZfZXJyKCZkZXYtPmRldiwgIiVzIC0gZXJyb3IgZG93bmxvYWRpbmcgZmlybXdhcmUsICVkXG4iLCBfX2Z1bmNfXywgc3RhdHVzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXQuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXQuYwppbmRleCBmMDdlOGE0Li42NjVhYTc3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0LmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL3doaXRlaGVhdC5jCkBAIC04MSw3ICs4MSw4IEBACiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9zZXJpYWwuaD4KLSNpbmNsdWRlICJ3aGl0ZWhlYXRfZncuaCIJCS8qIGZpcm13YXJlIGZvciB0aGUgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIGRldmljZSAqLworI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogI2luY2x1ZGUgIndoaXRlaGVhdC5oIgkJCS8qIFdoaXRlSEVBVCBzcGVjaWZpYyBjb21tYW5kcyAqLwogCiBzdGF0aWMgaW50IGRlYnVnOwpAQCAtMjc5LDM3ICsyODAsNTIgQEAKICovCiBzdGF0aWMgaW50IHdoaXRlaGVhdF9maXJtd2FyZV9kb3dubG9hZCAoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKQogewotCWludCByZXNwb25zZTsKLQljb25zdCBzdHJ1Y3Qgd2hpdGVoZWF0X2hleF9yZWNvcmQgKnJlY29yZDsKLQkKKwlpbnQgcmVzcG9uc2UsIHJldCA9IC1FTk9FTlQ7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpsb2FkZXJfZncgPSBOVUxMLCAqZmlybXdhcmVfZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjb3JkOworCiAJZGJnKCIlcyIsIF9fZnVuY19fKTsKLQkKKworCWlmIChyZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZpcm13YXJlX2Z3LCAid2hpdGVoZWF0LmZ3IiwKKwkJCQkgICZzZXJpYWwtPmRldi0+ZGV2KSkgeworCQllcnIoIiVzIC0gcmVxdWVzdCBcIndoaXRlaGVhdC5md1wiIGZhaWxlZCIsIF9fZnVuY19fKTsKKwkJZ290byBvdXQ7CisJfQorCWlmIChyZXF1ZXN0X2loZXhfZmlybXdhcmUoJmxvYWRlcl9mdywgIndoaXRlaGVhdF9sb2FkZXIuZnciLAorCQkJICAgICAmc2VyaWFsLT5kZXYtPmRldikpIHsKKwkJZXJyKCIlcyAtIHJlcXVlc3QgXCJ3aGl0ZWhlYXRfbG9hZGVyLmZ3XCIgZmFpbGVkIiwgX19mdW5jX18pOworCQlnb3RvIG91dDsKKwl9CisJcmV0ID0gMDsKIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldCAoc2VyaWFsLCAxKTsKIAotCXJlY29yZCA9ICZ3aGl0ZWhlYXRfbG9hZGVyWzBdOwotCXdoaWxlIChyZWNvcmQtPmFkZHJlc3MgIT0gMHhmZmZmKSB7Ci0JCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkgKHNlcmlhbCwgcmVjb3JkLT5hZGRyZXNzLCAKLQkJCQkodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUsIDB4YTApOworCXJlY29yZCA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilsb2FkZXJfZnctPmRhdGE7CisJd2hpbGUgKHJlY29yZCkgeworCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkJCSAgICAgICh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLAorCQkJCQkgICAgICBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbiksIDB4YTApOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXp1c2Jfd3JpdGVtZW1vcnkgZmFpbGVkIGZvciBsb2FkZXIgKCVkICUwNFggJXAgJWQpIiwKLQkJCQlfX2Z1bmNfXywgcmVzcG9uc2UsIHJlY29yZC0+YWRkcmVzcywgcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSk7CisJCQkgICAgX19mdW5jX18sIHJlc3BvbnNlLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJICAgIHJlY29yZC0+ZGF0YSwgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9Ci0JCSsrcmVjb3JkOworCQlyZWNvcmQgPSBpaGV4X25leHRfYmlucmVjKHJlY29yZCk7CiAJfQogCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQgKHNlcmlhbCwgMCk7CiAKLQlyZWNvcmQgPSAmd2hpdGVoZWF0X2Zpcm13YXJlWzBdOwotCXdoaWxlIChyZWNvcmQtPmFkZHJlc3MgPCAweDFiNDApIHsKLQkJKytyZWNvcmQ7Ci0JfQotCXdoaWxlIChyZWNvcmQtPmFkZHJlc3MgIT0gMHhmZmZmKSB7Ci0JCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkgKHNlcmlhbCwgcmVjb3JkLT5hZGRyZXNzLCAKLQkJCQkodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUsIDB4YTMpOworCXJlY29yZCA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwl3aGlsZSAocmVjb3JkICYmIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkcikgPCAweDFiNDApCisJCXJlY29yZCA9IGloZXhfbmV4dF9iaW5yZWMocmVjb3JkKTsKKwl3aGlsZSAocmVjb3JkKSB7CisJCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkgKHNlcmlhbCwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCQkJICAgICAgKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsCisJCQkJCSAgICAgIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSwgMHhhMyk7CiAJCWlmIChyZXNwb25zZSA8IDApIHsKIAkJCWVycigiJXMgLSBlenVzYl93cml0ZW1lbW9yeSBmYWlsZWQgZm9yIGZpcnN0IGZpcm13YXJlIHN0ZXAgKCVkICUwNFggJXAgJWQpIiwgCi0JCQkJX19mdW5jX18sIHJlc3BvbnNlLCByZWNvcmQtPmFkZHJlc3MsIHJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUpOworCQkJICAgIF9fZnVuY19fLCByZXNwb25zZSwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCSAgICByZWNvcmQtPmRhdGEsIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQogCQkrK3JlY29yZDsKQEAgLTMxNywyMSArMzMzLDI1IEBACiAJCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQgKHNlcmlhbCwgMSk7CiAKLQlyZWNvcmQgPSAmd2hpdGVoZWF0X2Zpcm13YXJlWzBdOwotCXdoaWxlIChyZWNvcmQtPmFkZHJlc3MgPCAweDFiNDApIHsKLQkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeSAoc2VyaWFsLCByZWNvcmQtPmFkZHJlc3MsIAotCQkJCSh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSwgMHhhMCk7CisJcmVjb3JkID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZpcm13YXJlX2Z3LT5kYXRhOworCXdoaWxlIChyZWNvcmQgJiYgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSA8IDB4MWI0MCkgeworCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkJCSAgICAgICh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLAorCQkJCQkgICAgICBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbiksIDB4YTApOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXp1c2Jfd3JpdGVtZW1vcnkgZmFpbGVkIGZvciBzZWNvbmQgZmlybXdhcmUgc3RlcCAoJWQgJTA0WCAlcCAlZCkiLCAKLQkJCQlfX2Z1bmNfXywgcmVzcG9uc2UsIHJlY29yZC0+YWRkcmVzcywgcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSk7CisJCQkgICAgX19mdW5jX18sIHJlc3BvbnNlLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJICAgIHJlY29yZC0+ZGF0YSwgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9CiAJCSsrcmVjb3JkOwogCX0KLQorCXJldCA9IDA7CiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQgKHNlcmlhbCwgMCk7Ci0KLQlyZXR1cm4gMDsKKyBvdXQ6CisJcmVsZWFzZV9maXJtd2FyZShsb2FkZXJfZncpOworCXJlbGVhc2VfZmlybXdhcmUoZmlybXdhcmVfZncpOworCXJldHVybiByZXQ7CiB9CiAKIApAQCAtMTUwMyw2ICsxNTIzLDkgQEAKIE1PRFVMRV9ERVNDUklQVElPTiggRFJJVkVSX0RFU0MgKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAorTU9EVUxFX0ZJUk1XQVJFKCJ3aGl0ZWhlYXQuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgid2hpdGVoZWF0X2xvYWRlci5mdyIpOworCiBtb2R1bGVfcGFyYW0odXJiX3Bvb2xfc2l6ZSwgaW50LCAwKTsKIE1PRFVMRV9QQVJNX0RFU0ModXJiX3Bvb2xfc2l6ZSwgIk51bWJlciBvZiB1cmJzIHRvIHVzZSBmb3IgYnVmZmVyaW5nIik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXRfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXRfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGUwYmRjNy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNjY5ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICoKLSAqICAgICAgd2hpdGVoZWF0LmggIC0tICBDb25uZWN0VGVjaCBXaGl0ZUhFQVQgRmlybXdhcmUuCi0gKgotICogICAgICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMiAgQ29ubmVjdFRlY2ggSW5jIChodHRwOi8vd3d3LmNvbm5lY3R0ZWNoLmNvbS8pCi0gKgotICogICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogICAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogICAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgotICoKLSAqICgxMC8wOS8yMDAyKSBTdHVhcnQgTWFjRG9uYWxkCi0gKglGaXJtd2FyZSA0LjA2Ci0gKgotICogKDA0LzA5LzIwMDApIGdraAotICoJVXBkYXRlZCB0aGUgZmlybXdhcmUgd2l0aCB0aGUgbGF0ZXN0IHByb3ZpZGVkIGJ5IENvbm5lY3RUZWNoLgotICoKLSAqICgwMS8xNi8yMDAwKSBna2gKLSAqCUZpeGVkIG15IGludGVsIGhleCBwcm9jZXNzaW5nIHRvb2wsIHNvIG5vdyB0aGUgZmlybXdhcmUgYWN0dWFsbHkKLSAqCW1hdGNoZXMgdGhlIG9yaWdpbmFsIGZpbGUgKHRoaXMgd2FzIGNhdXNpbmcgYSBmZXcgcHJvYmxlbXMuLi4pCi0gKgotICogKDAxLzE1LzIwMDApIGdraAotICoJQWRkZWQgZGVidWcgbG9hZGVyIGZpcm13YXJlIGlmIERFQlVHIGlzICNkZWZpbmVkOgotICoJCVBvcnQgMSBMRUQgZmxhc2hlcyB3aGVuIHRoZSB2ZW5kX2F4IHByb2dyYW0gaXMgcnVubmluZwotICoJCVBvcnQgMiBMRUQgZmxhc2hlcyB3aGVuIGFueSBTRVRVUCBjb21tYW5kIGFycml2ZXMKLSAqCQlQb3J0IDMgTEVEIGZsYXNoZXMgd2hlbiBhbnkgdmFsaWQgVkVORE9SIHJlcXVlc3Qgb2NjdXJzCi0gKgkJUG9ydCA0IExFRCBmbGFzaGVzIHdoZW4gdGhlIEVYVEVSTkFMIFJBTSBET1dOTE9BRCByZXF1ZXN0IG9jY3VycwotICoKLSAqIHZlcnNpb24gMS4wICgwMS8wOS8yMDAwKSBna2gKLSAqCU9yaWdpbmFsIGZpcm13YXJlIGZyb20gQ29ubmVjdFRlY2ggbWFzc2FnZWQgYSBsaXR0bGUgdG8gYmUgcHJvZ3JhbQotICoJcmVhZGFibGUuCi0gKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0jZGVmaW5lIHdoaXRlaGVhdF9EQVRFICIyMDAwMDEwNiIKLQotc3RydWN0IHdoaXRlaGVhdF9oZXhfcmVjb3JkIHsKLQlfX3UxNglhZGRyZXNzOwotCV9fdTgJZGF0YV9zaXplOwotCV9fdTgJZGF0YVsxNl07Ci19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IHdoaXRlaGVhdF9oZXhfcmVjb3JkIHdoaXRlaGVhdF9maXJtd2FyZVtdID0gewoteyAweDAwMDAsCTMsCXsweDAyLCAweDk3LCAweGUzfSB9LAoteyAweDAwMDMsCTMsCXsweDAyLCAweDEzLCAweDEyfSB9LAoteyAweDAwMGIsCTMsCXsweDAyLCAweDBiLCAweGI1fSB9LAoteyAweDAwMzMsCTMsCXsweDAyLCAweDA4LCAweDFjfSB9LAoteyAweDAwNDMsCTMsCXsweDAyLCAweDBhLCAweDAwfSB9LAoteyAweDAwNWIsCTMsCXsweDAyLCAweDgzLCAweDNifSB9LAoteyAweDAzNzAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg3MywgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHhlNywgMHgyNH0gfSwKLXsgMHgwMzgwLAkxNiwJezB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NGYsIDB4MjQsIDB4ZmIsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NjQsIDB4MTQsIDB4NzAsIDB4MDN9IH0sCi17IDB4MDM5MCwJMTYsCXsweDAyLCAweDA0LCAweDUyLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDNhLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDQ5LCAweDI0fSB9LAoteyAweDAzYTAsCTE2LAl7MHgwNSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg5ZSwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MH0gfSwKLXsgMHgwM2IwLAkxNiwJezB4MzYsIDB4MjQsIDB4MDIsIDB4NzAsIDB4N2IsIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDV9IH0sCi17IDB4MDNjMCwJMTYsCXsweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBhLCAweDk5LCAweGVhLCAweDQ5LCAweDYwLCAweDBkfSB9LAoteyAweDAzZDAsCTE2LAl7MHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhiNH0gfSwKLXsgMHgwM2UwLAkxNiwJezB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGEsIDB4NTgsIDB4ZWF9IH0sCi17IDB4MDNmMCwJMTYsCXsweDQ5LCAweDYwLCAweDMzLCAweDEyLCAweGEyLCAweDNiLCAweGY1LCAweDRlLCAweDkwLCAweDdmLCAweGVlLCAweGUwLCAweGZmLCAweGU1LCAweDRlLCAweGQzfSB9LAoteyAweDA0MDAsCTE2LAl7MHg5ZiwgMHg0MCwgMHgwMywgMHhlMCwgMHhmNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhkMywgMHg5NCwgMHg0MCwgMHg0MCwgMHgwMywgMHg3NSwgMHg0ZSwgMHg0MH0gfSwKLXsgMHgwNDEwLAkxNiwJezB4YWUsIDB4MDIsIDB4YWYsIDB4MDEsIDB4N2MsIDB4N2YsIDB4N2QsIDB4MDAsIDB4YWIsIDB4NGUsIDB4MTIsIDB4OTEsIDB4MzcsIDB4OTAsIDB4N2YsIDB4YjV9IH0sCi17IDB4MDQyMCwJMTYsCXsweGU1LCAweDRlLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1fSB9LAoteyAweDA0MzAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyMSwgMHhmMH0gfSwKLXsgMHgwNDQwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MjEsIDB4MDJ9IH0sCi17IDB4MDQ1MCwJMTYsCXsweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDM1LCAweGQyLCAweDAyLCAweDQzLCAweDg4LCAweDEwLCAweGQyLCAweGViLCAweGQyfSB9LAoteyAweDA0NjAsCTE2LAl7MHhhOCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgzNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMH0gfSwKLXsgMHgwNDcwLAkxNiwJezB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDJ9IH0sCi17IDB4MDQ4MCwJMTYsCXsweDcwLCAweDViLCAweGEyLCAweDAwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDA1LCAweGU0LCAweDMzLCAweDRmLCAweDkwfSB9LAoteyAweDA0OTAsCTE2LAl7MHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHhlNH0gfSwKLXsgMHgwNGEwLAkxNiwJezB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTB9IH0sCi17IDB4MDRiMCwJMTYsCXsweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1fSB9LAoteyAweDA0YzAsCTE2LAl7MHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHgwNGQwLAkxNiwJezB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4YjR9IH0sCi17IDB4MDRlMCwJMTYsCXsweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0fSB9LAoteyAweDA0ZjAsCTE2LAl7MHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgwMCwgMHgwMn0gfSwKLXsgMHgwNTAwLAkxNiwJezB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9IH0sCi17IDB4MDUxMCwJMTYsCXsweDcwLCAweDM0LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGZmLCAweDU0LCAweDA3LCAweGZlLCAweGY1LCAweDRlLCAweGVmLCAweDMwLCAweGU3LCAweDAzfSB9LAoteyAweDA1MjAsCTE2LAl7MHg0MywgMHg0ZSwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhkNywgMHhlNSwgMHg0ZSwgMHhmMCwgMHhlNSwgMHg0ZSwgMHg0NCwgMHgyMCwgMHhmMCwgMHhlZiwgMHhmNH0gfSwKLXsgMHgwNTMwLAkxNiwJezB4NTQsIDB4ODAsIDB4ZmQsIDB4YzQsIDB4NTQsIDB4MGYsIDB4MmUsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2Z9IH0sCi17IDB4MDU0MCwJMTYsCXsweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDU2LCAweDkwfSB9LAoteyAweDA1NTAsCTE2LAl7MHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNH0gfSwKLXsgMHgwNTYwLAkxNiwJezB4MDEsIDB4MDQsIDB4ZDIsIDB4MDAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4OTB9IH0sCi17IDB4MDU3MCwJMTYsCXsweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmfSB9LAoteyAweDA1ODAsCTE2LAl7MHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4M30gfSwKLXsgMHgwNTkwLAkxNiwJezB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDVhMCwJMTIsCXsweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwfSB9LAoteyAweDA1YWMsCTEsCXsweDIyfSB9LAoteyAweDA1YWQsCTE2LAl7MHg3NSwgMHg0YSwgMHhmZiwgMHg3NSwgMHg0OSwgMHhmZiwgMHg3NSwgMHg0OCwgMHgwZiwgMHg3NSwgMHg0NywgMHgwMCwgMHhkMiwgMHgwMywgMHhjMiwgMHgwNn0gfSwKLXsgMHgwNWJkLAkxNiwJezB4YzIsIDB4MDIsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MDEsIDB4OTAsIDB4MDMsIDB4MDAsIDB4NzQsIDB4MTksIDB4ZjAsIDB4ZTQsIDB4OTB9IH0sCi17IDB4MDVjZCwJMTYsCXsweDAxLCAweGJjLCAweGYwLCAweGMyLCAweDA0LCAweDkwLCAweDAxLCAweGMwLCAweGYwLCAweGEzLCAweGYwLCAweGMyLCAweGFmLCAweGMyLCAweGE4LCAweDEyfSB9LAoteyAweDA1ZGQsCTE2LAl7MHgwYywgMHgyMiwgMHhlNCwgMHg5MCwgMHgwMiwgMHhhZiwgMHhmMCwgMHg5MCwgMHgwMSwgMHhiZCwgMHhmMCwgMHg5MCwgMHgwMSwgMHgwMCwgMHhmMCwgMHhhM30gfSwKLXsgMHgwNWVkLAkxNiwJezB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTN9IH0sCi17IDB4MDVmZCwJMTYsCXsweDc0LCAweDA4LCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDAwLCAweDEyLCAweDE5LCAweGMxLCAweDc1LCAweDRjLCAweDEyLCAweDc1LCAweDRkLCAweDBhfSB9LAoteyAweDA2MGQsCTE2LAl7MHg5MCwgMHgwMSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgwNSwgMHg0ZCwgMHhlNSwgMHg0ZCwgMHhhYywgMHg0YywgMHg3MCwgMHgwMiwgMHgwNSwgMHg0YywgMHgxNH0gfSwKLXsgMHgwNjFkLAkxNiwJezB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MGMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTV9IH0sCi17IDB4MDYyZCwJMTYsCXsweDRkLCAweGFjLCAweDRjLCAweDcwLCAweDAyLCAweDA1LCAweDRjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDAxfSB9LAoteyAweDA2M2QsCTE2LAl7MHgwZCwgMHhlMCwgMHhmZiwgMHgwNSwgMHg0ZCwgMHhlNSwgMHg0ZCwgMHhhYywgMHg0YywgMHg3MCwgMHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgwNjRkLAkxNiwJezB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MGUsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWMsIDB4NGMsIDB4NzB9IH0sCi17IDB4MDY1ZCwJMTYsCXsweDAyLCAweDA1LCAweDRjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDEyLCAweDBhLCAweGU0LCAweDkzLCAweGZmfSB9LAoteyAweDA2NmQsCTE2LAl7MHg3NCwgMHgwMSwgMHg5MywgMHg5MCwgMHgwMSwgMHgxYywgMHhjZiwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxYywgMHhlMCwgMHhmZn0gfSwKLXsgMHgwNjdkLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZmUsIDB4ZWYsIDB4NmUsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4MWMsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4NmYsIDB4ZmYsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDY4ZCwJMTYsCXsweDAxLCAweDFjLCAweGUwLCAweDZmLCAweGYwLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweGU0LCAweGZjLCAweGZkLCAweDc1LCAweDUyLCAweDEwfSB9LAoteyAweDA2OWQsCTE2LAl7MHg3NSwgMHg1MywgMHgwMiwgMHg3NSwgMHg1NCwgMHgxMiwgMHg3NSwgMHg1NSwgMHhhYywgMHgxMiwgMHg5NCwgMHgyNiwgMHg3NSwgMHg0YywgMHgxMiwgMHg3NX0gfSwKLXsgMHgwNmFkLAkxNiwJezB4NGQsIDB4YjIsIDB4OTAsIDB4MDEsIDB4MGQsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWMsIDB4NGMsIDB4NzAsIDB4MDIsIDB4MDV9IH0sCi17IDB4MDZiZCwJMTYsCXsweDRjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDAxLCAweDBlLCAweGUwLCAweGZmLCAweDA1LCAweDRkLCAweGU1fSB9LAoteyAweDA2Y2QsCTE2LAl7MHg0ZCwgMHhhYywgMHg0YywgMHg3MCwgMHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNmRkLAkxNiwJezB4OTIsIDB4ZTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4MjQsIDB4NDEsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWMsIDB4NGMsIDB4NzB9IH0sCi17IDB4MDZlZCwJMTYsCXsweDAyLCAweDA1LCAweDRjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDRkLCAweGU1LCAweDRkLCAweGFlLCAweDRjfSB9LAoteyAweDA2ZmQsCTE2LAl7MHg3MCwgMHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNCwgMHhmMCwgMHg3NSwgMHg4MiwgMHgxMCwgMHg3NSwgMHg4M30gfSwKLXsgMHgwNzBkLAkxNiwJezB4MDEsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4MTgsIDB4MTJ9IH0sCi17IDB4MDcxZCwJMTYsCXsweGEzLCAweGVlLCAweDdlLCAweDAxLCAweDdmLCAweDE4LCAweDEyLCAweDg2LCAweGJlLCAweDkwLCAweDAxLCAweDE4LCAweGUwLCAweGZjLCAweGEzLCAweGUwfSB9LAoteyAweDA3MmQsCTE2LAl7MHhmZCwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHg3NSwgMHg1MiwgMHgwYSwgMHg3NSwgMHg1MywgMHgwNiwgMHg3NSwgMHg1NCwgMHgxMn0gfSwKLXsgMHgwNzNkLAkxNiwJezB4NzUsIDB4NTUsIDB4YjgsIDB4MTIsIDB4OTQsIDB4MjYsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmZ9IH0sCi17IDB4MDc0ZCwJMTYsCXsweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0fSB9LAoteyAweDA3NWQsCTE2LAl7MHgxZiwgMHhmMCwgMHhkMiwgMHhhZiwgMHgyMCwgMHgwMSwgMHgyZSwgMHgyMCwgMHgwMSwgMHgyYiwgMHhhMiwgMHgwMywgMHg5MiwgMHgwNywgMHgxMiwgMHgwOX0gfSwKLXsgMHgwNzZkLAkxNiwJezB4YzUsIDB4NzUsIDB4NDYsIDB4NTAsIDB4NzUsIDB4NDUsIDB4NmQsIDB4NzUsIDB4NDQsIDB4MzMsIDB4NzUsIDB4NDMsIDB4MDAsIDB4MjAsIDB4MDEsIDB4ZTR9IH0sCi17IDB4MDc3ZCwJMTYsCXsweDdmLCAweGZmLCAweDdlLCAweGZmLCAweDdkLCAweGZmLCAweDdjLCAweGZmLCAweDc4LCAweDQzLCAweDEyLCAweGEzLCAweGQ3LCAweGVjLCAweDRkLCAweDRlfSB9LAoteyAweDA3OGQsCTE2LAl7MHg0ZiwgMHg2MCwgMHhkMSwgMHg4MCwgMHhlOCwgMHgzMCwgMHgwMSwgMHgwNSwgMHgxMiwgMHgwMywgMHg3MCwgMHhjMiwgMHgwMSwgMHgzMCwgMHgwNiwgMHgwYX0gfSwKLXsgMHgwNzlkLAkxNiwJezB4MTIsIDB4MDksIDB4ZmIsIDB4NTAsIDB4MDMsIDB4MTIsIDB4MGEsIDB4ZTgsIDB4YzIsIDB4MDYsIDB4MTIsIDB4OTYsIDB4NWUsIDB4OTAsIDB4MDEsIDB4YmR9IH0sCi17IDB4MDdhZCwJMTYsCXsweGUwLCAweDYwLCAweDBjLCAweDEyLCAweDkyLCAweDAxLCAweGU0LCAweDkwLCAweDAxLCAweGJkLCAweGYwLCAweDkwLCAweDdmLCAweGQzLCAweGYwLCAweDkwfSB9LAoteyAweDA3YmQsCTE2LAl7MHgwMiwgMHhhZiwgMHhlMCwgMHhiNCwgMHgwZiwgMHgwMywgMHgxMiwgMHg5OSwgMHhiOSwgMHgxMiwgMHhhMCwgMHg5NSwgMHhlNCwgMHhmZiwgMHg3NCwgMHgwMX0gfSwKLXsgMHgwN2NkLAkxNiwJezB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZmUsIDB4OTAsIDB4MDEsIDB4YmMsIDB4ZTAsIDB4NWUsIDB4NjB9IH0sCi17IDB4MDdkZCwJMTYsCXsweDE0LCAweDc0LCAweDI4LCAweDJmLCAweGY4LCAweGU2LCAweGQzLCAweDk0LCAweDBhLCAweDQwLCAweDA0LCAweDdlLCAweDAxLCAweDgwLCAweDAyLCAweDdlfSB9LAoteyAweDA3ZWQsCTE2LAl7MHgwMCwgMHg4ZSwgMHg0YiwgMHg4MCwgMHgwMywgMHg3NSwgMHg0YiwgMHgwMSwgMHg3NCwgMHg2OCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMH0gfSwKLXsgMHgwN2ZkLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTUsIDB4NGIsIDB4ZjAsIDB4MGYsIDB4YmYsIDB4MDQsIDB4YzUsIDB4ZTUsIDB4MmMsIDB4ZDMsIDB4OTQsIDB4MGEsIDB4NDAsIDB4MDR9IH0sCi17IDB4MDgwZCwJMTQsCXsweDdmLCAweDAxLCAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweDkwLCAweDIwLCAweDZjLCAweGVmLCAweGYwLCAweDAyLCAweDA3LCAweDkyfSB9LAoteyAweDA4MWIsCTEsCXsweDIyfSB9LAoteyAweDA4MWMsCTQsCXsweDUzLCAweGQ4LCAweGVmLCAweDMyfSB9LAoteyAweDA4MjAsCTE2LAl7MHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5MywgMHhlMCwgMHg0NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwODMwLAkxNiwJezB4OTUsIDB4ZTAsIDB4NDQsIDB4YzAsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTB9IH0sCi17IDB4MDg0MCwJMTYsCXsweDU0LCAweGZlLCAweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDA4fSB9LAoteyAweDA4NTAsCTE2LAl7MHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg3Zn0gfSwKLXsgMHgwODYwLAkxNiwJezB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NTAsIDB4MGUsIDB4N2YsIDB4MDIsIDB4N2R9IH0sCi17IDB4MDg3MCwJMTYsCXsweGZmLCAweDEyLCAweDgyLCAweGVhLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0fSB9LAoteyAweDA4ODAsCTE2LAl7MHgwMiwgMHhmMCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5Nn0gfSwKLXsgMHgwODkwLAkxNiwJezB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTR9IH0sCi17IDB4MDhhMCwJMTYsCXsweGJmLCAweGYwLCAweDdmLCAweDMyLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDQwLCAweGYwfSB9LAoteyAweDA4YjAsCTgsCXsweDdmLCAweDMyLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDIyfSB9LAoteyAweDA4YjgsCTE2LAl7MHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMn0gfSwKLXsgMHgwOGM4LAkxNiwJezB4MDksIDB4YWUsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NTAsIDB4MGUsIDB4N2YsIDB4MDIsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4ODIsIDB4ZWF9IH0sCi17IDB4MDhkOCwJMTYsCXsweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDdmLCAweDA1fSB9LAoteyAweDA4ZTgsCTE2LAl7MHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgwOGY4LAkxNiwJezB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDl9IH0sCi17IDB4MDkwOCwJMTYsCXsweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweGU1fSB9LAoteyAweDA5MTgsCTE2LAl7MHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5MywgMHhlMCwgMHg1NCwgMHhjZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NX0gfSwKLXsgMHgwOTI4LAk4LAl7MHhlMCwgMHg1NCwgMHgzZiwgMHhmMCwgMHgxMiwgMHgwYiwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwOTMwLAkxNiwJezB4OTAsIDB4MGEsIDB4ZjQsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4NzYsIDB4OTAsIDB4N2YsIDB4OTMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTR9IH0sCi17IDB4MDk0MCwJMTYsCXsweDc0LCAweDNjLCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweGM2LCAweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlfSB9LAoteyAweDA5NTAsCTE2LAl7MHhlNCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhjZn0gfSwKLXsgMHgwOTYwLAkxNiwJezB4ZjAsIDB4N2YsIDB4MGEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4MjAsIDB4NzAsIDB4ZTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGZ9IH0sCi17IDB4MDk3MCwJMTYsCXsweGY1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDUwLCAweDA3LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU0LCAweDkwfSB9LAoteyAweDA5ODAsCTE2LAl7MHg3ZiwgMHg5NywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwYn0gfSwKLXsgMHgwOTkwLAkxNiwJezB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4NzQsIDB4MTJ9IH0sCi17IDB4MDlhMCwJMTQsCXsweGYwLCAweDEyLCAweDA4LCAweDIwLCAweDc1LCAweDgyLCAweGY0LCAweDc1LCAweDgzLCAweDBhLCAweDc0LCAweGZmLCAweGYwLCAweDIyfSB9LAoteyAweDA5YWUsCTE2LAl7MHg4ZSwgMHg1ZCwgMHg4ZiwgMHg1ZSwgMHhlNSwgMHg1ZSwgMHgxNSwgMHg1ZSwgMHhhZSwgMHg1ZCwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1ZCwgMHg0ZSwgMHg2MH0gfSwKLXsgMHgwOWJlLAk3LAl7MHgwNSwgMHgxMiwgMHgwOSwgMHhlYSwgMHg4MCwgMHhlZSwgMHgyMn0gfSwKLXsgMHgwOWM1LAkxNiwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MDcsIDB4MDQsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MDlkNSwJMTYsCXsweDAyLCAweGYwLCAweDdmLCAweGQwLCAweDdlLCAweDA3LCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwfSB9LAoteyAweDA5ZTUsCTUsCXsweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyfSB9LAoteyAweDA5ZWEsCTE2LAl7MHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOX0gfSwKLXsgMHgwOWZhLAkxLAl7MHgyMn0gfSwKLXsgMHgwOWZiLAk1LAl7MHgxMiwgMHgwOCwgMHhiOCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwYTAwLAkxNiwJezB4MDIsIDB4MGMsIDB4NGUsIDB4MDAsIDB4MDIsIDB4MGMsIDB4ODEsIDB4MDAsIDB4MDIsIDB4MGMsIDB4NjYsIDB4MDAsIDB4MDIsIDB4MGMsIDB4YzAsIDB4MDB9IH0sCi17IDB4MGExMCwJMTYsCXsweDAyLCAweDBjLCAweGFhLCAweDAwLCAweDAyLCAweDBhLCAweGVkLCAweDAwLCAweDAyLCAweDBhLCAweGVlLCAweDAwLCAweDAyLCAweDBhLCAweGVmLCAweDAwfSB9LAoteyAweDBhMjAsCTE2LAl7MHgwMiwgMHgwYywgMHhkYiwgMHgwMCwgMHgwMiwgMHgwZCwgMHhjYiwgMHgwMCwgMHgwMiwgMHgwZCwgMHgxNywgMHgwMCwgMHgwMiwgMHgwZSwgMHgyYiwgMHgwMH0gfSwKLXsgMHgwYTMwLAkxNiwJezB4MDIsIDB4MGQsIDB4NTMsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OGIsIDB4MDAsIDB4MDIsIDB4MGQsIDB4OGYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ZWIsIDB4MDB9IH0sCi17IDB4MGE0MCwJMTYsCXsweDAyLCAweDBhLCAweGYwLCAweDAwLCAweDAyLCAweDBhLCAweGYyLCAweDAwLCAweDAyLCAweDBhLCAweGYxLCAweDAwLCAweDAyLCAweDBhLCAweGYzLCAweDAwfSB9LAoteyAweDBhNTAsCTgsCXsweDAyLCAweDBmLCAweDRiLCAweDAwLCAweDAyLCAweDBmLCAweDYxLCAweDAwfSB9LAoteyAweDBhNTgsCTIsCXsweDhmLCAweDRmfSB9LAoteyAweDBhNWEsCTE2LAl7MHhlNCwgMHhmNSwgMHg1MCwgMHg3NSwgMHg1MSwgMHhmZiwgMHg3NSwgMHg1MiwgMHgxMiwgMHg3NSwgMHg1MywgMHg2YSwgMHhhYiwgMHg1MSwgMHhhYSwgMHg1Mn0gfSwKLXsgMHgwYTZhLAkxNiwJezB4YTksIDB4NTMsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4NTQsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4NTAsIDB4MDUsIDB4NTAsIDB4ZWZ9IH0sCi17IDB4MGE3YSwJMTYsCXsweGI1LCAweDRmLCAweDAxLCAweDIyLCAweDEyLCAweGEyLCAweDNiLCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1fSB9LAoteyAweDBhOGEsCTE0LAl7MHg1MSwgMHhmZiwgMHhmNSwgMHg1MiwgMHg4OSwgMHg1MywgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwYTk4LAkxLAl7MHgyMn0gfSwKLXsgMHgwYTk5LAkxNiwJezB4ZTQsIDB4ZmUsIDB4NzUsIDB4NTEsIDB4ZmYsIDB4NzUsIDB4NTIsIDB4MTIsIDB4NzUsIDB4NTMsIDB4MTIsIDB4YWIsIDB4NTEsIDB4YWEsIDB4NTIsIDB4YTl9IH0sCi17IDB4MGFhOSwJMTYsCXsweDUzLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweGEyLCAweDU0LCAweDY0LCAweDAyLCAweDcwLCAweDJkLCAweGFkLCAweDA2LCAweDBlLCAweGVkLCAweGI1fSB9LAoteyAweDBhYjksCTE2LAl7MHgwNywgMHgwMSwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHhhMiwgMHhhZCwgMHg4NSwgMHhmMCwgMHg0ZiwgMHhmNSwgMHg1MCwgMHg2MiwgMHg0Zn0gfSwKLXsgMHgwYWM5LAkxNiwJezB4ZTUsIDB4NGYsIDB4NjIsIDB4NTAsIDB4ZTUsIDB4NTAsIDB4NjIsIDB4NGYsIDB4MjksIDB4ZmQsIDB4ZTUsIDB4NGYsIDB4M2EsIDB4YTksIDB4MDUsIDB4NzV9IH0sCi17IDB4MGFkOSwJMTQsCXsweDUxLCAweGZmLCAweGY1LCAweDUyLCAweDg5LCAweDUzLCAweDgwLCAweGMzLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwfSB9LAoteyAweDBhZTcsCTEsCXsweDIyfSB9LAoteyAweDBhZTgsCTUsCXsweDEyLCAweDA4LCAweDIwLCAweGQzLCAweDIyfSB9LAoteyAweDBhZWQsCTEsCXsweDMyfSB9LAoteyAweDBhZWUsCTEsCXsweDMyfSB9LAoteyAweDBhZWYsCTEsCXsweDMyfSB9LAoteyAweDBhZjAsCTEsCXsweDMyfSB9LAoteyAweDBhZjEsCTEsCXsweDMyfSB9LAoteyAweDBhZjIsCTEsCXsweDMyfSB9LAoteyAweDBhZjMsCTEsCXsweDMyfSB9LAoteyAweDBhZjQsCTMsCXsweDAwLCAweDA0LCAweDA3fSB9LAoteyAweDBiMDAsCTksCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDc0fSB9LAoteyAweDBiN2QsCTE2LAl7MHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwYjhkLAkxNiwJezB4NTMsIDB4OGUsIDB4ZjcsIDB4ZTUsIDB4ODksIDB4NTQsIDB4ZjEsIDB4NDQsIDB4MDEsIDB4ZjUsIDB4ODksIDB4NzUsIDB4OGMsIDB4YjEsIDB4ZDIsIDB4YTl9IH0sCi17IDB4MGI5ZCwJMTYsCXsweDc1LCAweDk4LCAweDQwLCAweDc1LCAweGNiLCAweGZmLCAweDc1LCAweGNhLCAweGYzLCAweDc1LCAweGM4LCAweDM0LCAweGU0LCAweGZmLCAweDdmLCAweDA1fSB9LAoteyAweDBiYWQsCTcsCXsweDc4LCAweDI4LCAweGU0LCAweGY2LCAweDA4LCAweGRmLCAweGZjfSB9LAoteyAweDBiYjQsCTEsCXsweDIyfSB9LAoteyAweDBiYjUsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwMCwgMHhjMCwgMHgwMCwgMHhjMCwgMHgwNiwgMHhjMH0gfSwKLXsgMHgwYmM1LAkxLAl7MHgwN30gfSwKLXsgMHgwYmM2LAkxNiwJezB4MzAsIDB4MDQsIDB4MTYsIDB4NzUsIDB4OGMsIDB4ZjgsIDB4NzUsIDB4OGEsIDB4MzAsIDB4N2YsIDB4MmYsIDB4YWUsIDB4MDcsIDB4MWYsIDB4ZWUsIDB4NjB9IH0sCi17IDB4MGJkNiwJMTYsCXsweDNjLCAweDkwLCAweDIwLCAweDAwLCAweDc0LCAweDU1LCAweGYwLCAweDgwLCAweGYyLCAweDc1LCAweDhjLCAweGIxLCAweDdmLCAweDI4LCAweGVmLCAweGQzfSB9LAoteyAweDBiZTYsCTE2LAl7MHg5NCwgMHgyYywgMHg1MCwgMHgwOSwgMHhhOCwgMHgwNywgMHhlNiwgMHg2MCwgMHgwMSwgMHgxNiwgMHgwZiwgMHg4MCwgMHhmMSwgMHg5MCwgMHgwMywgMHgwMH0gfSwKLXsgMHgwYmY2LAkxNiwJezB4ZTAsIDB4NjAsIDB4MDIsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YzAsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MGUsIDB4OTB9IH0sCi17IDB4MGMwNiwJMTMsCXsweDAxLCAweGMxLCAweGUwLCAweDI0LCAweGZmLCAweGYwLCAweDkwLCAweDAxLCAweGMwLCAweGUwLCAweDM0LCAweGZmLCAweGYwfSB9LAoteyAweDBjMTMsCTE1LAl7MHhkMCwgMHgwNywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwYzIyLAkxNiwJezB4ZDIsIDB4MDAsIDB4NzUsIDB4OGUsIDB4MTAsIDB4MTIsIDB4MDksIDB4MzAsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NDAsIDB4MDgsIDB4OTB9IH0sCi17IDB4MGMzMiwJMTYsCXsweDdmLCAweDkyLCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweDA1LCAweGU0LCAweDkwLCAweDdmLCAweDkyLCAweGYwLCAweDEyLCAweDgwLCAweDAwLCAweDEyfSB9LAoteyAweDBjNDIsCTEyLAl7MHgwZiwgMHg3ZCwgMHgxMiwgMHg5NCwgMHhmNywgMHgxMiwgMHgxYiwgMHgwYywgMHgxMiwgMHgwYiwgMHg4ZCwgMHgyMn0gfSwKLXsgMHgwYzRlLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZDIsIDB4MDEsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDF9IH0sCi17IDB4MGM1ZSwJOCwJezB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGM2NiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBjNzYsCTExLAl7MHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwYzgxLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MGM5MSwJMTYsCXsweDdmLCAweGQ4LCAweGUwLCAweDcwLCAweDBkLCAweDkwLCAweDdmLCAweGQ5LCAweGUwLCAweDcwLCAweDA3LCAweGU1LCAweDJjLCAweDcwLCAweDAzLCAweDc1fSB9LAoteyAweDBjYTEsCTksCXsweDJjLCAweDE0LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBjYWEsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgxMCwgMHhmMCwgMHhkMH0gfSwKLXsgMHgwY2JhLAk2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwY2MwLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4MzAsIDB4MDIsIDB4MDIsIDB4ZDIsIDB4MDYsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGNkMCwJMTEsCXsweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBjZGIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwY2ViLAkxNiwJezB4YTksIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTAsIDB4MTMsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4OTAsIDB4MjB9IH0sCi17IDB4MGNmYiwJMTYsCXsweDA0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDIwLCAweDAxLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzfSB9LAoteyAweDBkMGIsCTEyLAl7MHg3NSwgMHgyYywgMHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDE3LAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGQyNywJMTYsCXsweGE5LCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDM0LCAweDMwLCAweGUxLCAweDEzLCAweGU1LCAweDMyLCAweDMwLCAweGUxLCAweDA3LCAweDkwLCAweDIwfSB9LAoteyAweDBkMzcsCTE2LAl7MHgwYywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwOSwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwM30gfSwKLXsgMHgwZDQ3LAkxMiwJezB4NzUsIDB4MmMsIDB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQ1MywJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBkNjMsCTE2LAl7MHhhOSwgMHg3NCwgMHgwOCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgzMCwgMHhlMiwgMHgxMywgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMiwgMHgwNywgMHg5MCwgMHgyMH0gfSwKLXsgMHgwZDczLAkxNiwJezB4MTQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MTEsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDN9IH0sCi17IDB4MGQ4MywJMTIsCXsweDc1LCAweDJjLCAweDE0LCAweGQwLCAweGQwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkOGYsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwZDlmLAkxNiwJezB4YTksIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTMsIDB4MTMsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTMsIDB4MDcsIDB4OTAsIDB4MjB9IH0sCi17IDB4MGRhZiwJMTYsCXsweDFjLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDIwLCAweDE5LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzfSB9LAoteyAweDBkYmYsCTEyLAl7MHg3NSwgMHgyYywgMHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZGNiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MGRkYiwJMTYsCXsweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDAyLCAweGYwLCAweGU1LCAweDM0LCAweDIwfSB9LAoteyAweDBkZWIsCTE2LAl7MHhlMCwgMHgwNiwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg4MCwgMHgyMiwgMHhlNSwgMHgzMSwgMHgzMCwgMHhlMCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjN30gfSwKLXsgMHgwZGZiLAkxNiwJezB4ZTAsIDB4OTAsIDB4MDIsIDB4ZjgsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4ZTUsIDB4MjIsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4OTAsIDB4MjAsIDB4MDQsIDB4ZTB9IH0sCi17IDB4MGUwYiwJMTYsCXsweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDAxLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzLCAweDc1LCAweDJjfSB9LAoteyAweDBlMWIsCTE2LAl7MHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZTJiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MGUzYiwJMTYsCXsweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDM0LCAweDIwfSB9LAoteyAweDBlNGIsCTE2LAl7MHhlMSwgMHgwNiwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg4MCwgMHgyMiwgMHhlNSwgMHgzMSwgMHgzMCwgMHhlMSwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjOX0gfSwKLXsgMHgwZTViLAkxNiwJezB4ZTAsIDB4OTAsIDB4MDIsIDB4ZjksIDB4ZjAsIDB4ODAsIDB4MTMsIDB4ZTUsIDB4MjIsIDB4MzAsIDB4ZTEsIDB4MDcsIDB4OTAsIDB4MjAsIDB4MGMsIDB4ZTB9IH0sCi17IDB4MGU2YiwJMTYsCXsweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDA5LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzLCAweDc1LCAweDJjfSB9LAoteyAweDBlN2IsCTE2LAl7MHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZThiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MGU5YiwJMTYsCXsweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDA4LCAweGYwLCAweGU1LCAweDM0LCAweDIwfSB9LAoteyAweDBlYWIsCTE2LAl7MHhlMiwgMHgwNiwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg4MCwgMHgyMiwgMHhlNSwgMHgzMSwgMHgzMCwgMHhlMiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYn0gfSwKLXsgMHgwZWJiLAkxNiwJezB4ZTAsIDB4OTAsIDB4MDIsIDB4ZmEsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4ZTUsIDB4MjIsIDB4MzAsIDB4ZTIsIDB4MDcsIDB4OTAsIDB4MjAsIDB4MTQsIDB4ZTB9IH0sCi17IDB4MGVjYiwJMTYsCXsweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDExLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzLCAweDc1LCAweDJjfSB9LAoteyAweDBlZGIsCTE2LAl7MHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZWViLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MGVmYiwJMTYsCXsweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDEwLCAweGYwLCAweGU1LCAweDM0LCAweDIwfSB9LAoteyAweDBmMGIsCTE2LAl7MHhlMywgMHgwNiwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHg4MCwgMHgyMiwgMHhlNSwgMHgzMSwgMHgzMCwgMHhlMywgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZH0gfSwKLXsgMHgwZjFiLAkxNiwJezB4ZTAsIDB4OTAsIDB4MDIsIDB4ZmIsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4ZTUsIDB4MjIsIDB4MzAsIDB4ZTMsIDB4MDcsIDB4OTAsIDB4MjAsIDB4MWMsIDB4ZTB9IH0sCi17IDB4MGYyYiwJMTYsCXsweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDE5LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzLCAweDc1LCAweDJjfSB9LAoteyAweDBmM2IsCTE2LAl7MHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZjRiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4ODAsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGY1YiwJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGY2MSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDgwLCAweGYwLCAweDkwfSB9LAoteyAweDBmNzEsCTEyLAl7MHgwMSwgMHhiZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZjdkLAkxNiwJezB4OTAsIDB4MDEsIDB4MjAsIDB4MTIsIDB4YTMsIDB4ZmEsIDB4MDAsIDB4MDAsIDB4MjUsIDB4ODAsIDB4OTAsIDB4MDEsIDB4MjQsIDB4NzQsIDB4MDgsIDB4ZjB9IH0sCi17IDB4MGY4ZCwJMTYsCXsweGEzLCAweDc0LCAweDAxLCAweGYwLCAweGEzLCAweDc0LCAweDZlLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweDc0LCAweDEzLCAweGYwLCAweGEzLCAweDc0fSB9LAoteyAweDBmOWQsCTE2LAl7MHgxMSwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHhmZn0gfSwKLXsgMHgwZmFkLAkxNiwJezB4MDQsIDB4YTMsIDB4ZjAsIDB4ZWYsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDEsIDB4ZjksIDB4NzQsIDB4MDMsIDB4MzUsIDB4ZjAsIDB4YTh9IH0sCi17IDB4MGZiZCwJMTYsCXsweDAxLCAweGZjLCAweDdkLCAweDAxLCAweDdiLCAweDAxLCAweDdhLCAweDAxLCAweDc5LCAweDFmLCAweDdlLCAweDAwLCAweDdmLCAweDBkLCAweDEyLCAweGEyfSB9LAoteyAweDBmY2QsCTE2LAl7MHgxMiwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgxZiwgMHgxMiwgMHg4NywgMHhhNiwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHgwNCwgMHhmMCwgMHhlMCwgMHhjM30gfSwKLXsgMHgwZmRkLAkxNiwJezB4OTQsIDB4MDQsIDB4NDAsIDB4YzcsIDB4ZTQsIDB4ZjUsIDB4MjcsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MGZlZCwJMTYsCXsweGMzLCAweDk0LCAweDA0LCAweDUwLCAweDFhLCAweDc0LCAweGY4LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGU0fSB9LAoteyAweDBmZmQsCTE2LAl7MHhmMCwgMHg3NCwgMHgyMywgMHgyZiwgMHhmOCwgMHhlNCwgMHhmNiwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHgwNCwgMHhmMCwgMHg4MCwgMHhkYywgMHhlNH0gfSwKLXsgMHgxMDBkLAkxNiwJezB4ZjUsIDB4MzQsIDB4ZTUsIDB4YzAsIDB4NjAsIDB4MmYsIDB4OTAsIDB4MDEsIDB4MWUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTB9IH0sCi17IDB4MTAxZCwJMTYsCXsweGZmLCAweGQzLCAweDk0LCAweDA0LCAweDUwLCAweDFmLCAweGVmLCAweDE0LCAweGZmLCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyfSB9LAoteyAweDEwMmQsCTE2LAl7MHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0MiwgMHgzNCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgxZSwgMHgxMiwgMHg4NCwgMHg0MSwgMHg5MCwgMHgwMSwgMHgxZX0gfSwKLXsgMHgxMDNkLAkxNiwJezB4ZTAsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4ZDcsIDB4ZTQsIDB4ZjUsIDB4M2UsIDB4ZjUsIDB4MjIsIDB4ZjUsIDB4MzEsIDB4ZjUsIDB4MzIsIDB4OTAsIDB4MDF9IH0sCi17IDB4MTA0ZCwJMTYsCXsweDFlLCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweGZmLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDEwNWQsCTE2LAl7MHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmMCwgMHhmZSwgMHg3NCwgMHhjNSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMX0gfSwKLXsgMHgxMDZkLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZWUsIDB4ZjAsIDB4NzQsIDB4M2EsIDB4MmYsIDB4ZjgsIDB4YTYsIDB4MDYsIDB4NzQsIDB4MzYsIDB4MmYsIDB4ZjgsIDB4ZTQsIDB4ZjZ9IH0sCi17IDB4MTA3ZCwJMTYsCXsweDc0LCAweDJkLCAweDJmLCAweGY4LCAweGU0LCAweGY2LCAweDc0LCAweGZjLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzfSB9LAoteyAweDEwOGQsCTE2LAl7MHhlNCwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHgwNCwgMHhmMCwgMHhlMCwgMHhiNCwgMHgwNCwgMHhiNiwgMHg5MCwgMHgyMCwgMHg2MCwgMHhlMH0gfSwKLXsgMHgxMDlkLAk0LAl7MHg1NCwgMHgwZiwgMHhmNSwgMHg0ZX0gfSwKLXsgMHgxMGExLAkxNiwJezB4NzAsIDB4MDMsIDB4MDIsIDB4MTEsIDB4MjYsIDB4ZTQsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4ZmYsIDB4YzN9IH0sCi17IDB4MTBiMSwJMTYsCXsweDk0LCAweDA0LCAweDUwLCAweGU0LCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDU1fSB9LAoteyAweDEwYzEsCTE2LAl7MHg0ZSwgMHg2MCwgMHg1YSwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHhmZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgxMGQxLAkxNiwJezB4ZTQsIDB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZWUsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MTBlMSwJMTYsCXsweGU0LCAweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGUwLCAweGVlLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDEwZjEsCTE2LAl7MHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhhZiwgMHgwNiwgMHhlZSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNX0gfSwKLXsgMHgxMTAxLAkxNiwJezB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTB9IH0sCi17IDB4MTExMSwJMTYsCXsweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzLCAweDdkLCAweDA2LCAweDEyLCAweDgzLCAweGRmLCAweDkwLCAweDAxLCAweDFlfSB9LAoteyAweDExMjEsCTYsCXsweGUwLCAweDA0LCAweGYwLCAweDgwLCAweDg1LCAweDIyfSB9LAoteyAweDExMjcsCTIsCXsweGFjLCAweDA3fSB9LAoteyAweDExMjksCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlYywgMHgyNSwgMHhlMCwgMHg0NCwgMHg0MSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMH0gfSwKLXsgMHgxMTM5LAkxNiwJezB4N2IsIDB4M2MsIDB4YWYsIDB4MDMsIDB4MWIsIDB4ZWYsIDB4NzAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MTE0OSwJMTYsCXsweDdmLCAweGE2LCAweGUwLCAweGZkLCAweDdkLCAweDMyLCAweGFmLCAweDA1LCAweDFkLCAweGVmLCAweDYwLCAweGQ0LCAweDgwLCAweGY4LCAweDkwLCAweDdmfSB9LAoteyAweDExNTksCTE2LAl7MHhhNSwgMHhlMCwgMHhmZCwgMHgzMCwgMHhlMCwgMHhkYywgMHgyMCwgMHhlMSwgMHgwOSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHhmZiwgMHg3Zn0gfSwKLXsgMHgxMTY5LAkxNiwJezB4ZjksIDB4MjIsIDB4ZWQsIDB4MzAsIDB4ZTIsIDB4MGMsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2UsIDB4ZmYsIDB4N2Z9IH0sCi17IDB4MTE3OSwJMTYsCXsweGZhLCAweDIyLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGZkLCAweDdiLCAweDFlfSB9LAoteyAweDExODksCTE2LAl7MHhhZiwgMHgwMywgMHgxYiwgMHhlZiwgMHg3MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNn0gfSwKLXsgMHgxMTk5LAkxNiwJezB4ZTAsIDB4ZmQsIDB4N2QsIDB4MzIsIDB4YWYsIDB4MDUsIDB4MWQsIDB4ZWYsIDB4NjAsIDB4ODYsIDB4ODAsIDB4ZjgsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTB9IH0sCi17IDB4MTFhOSwJMTYsCXsweGZkLCAweDIwLCAweGUwLCAweGRjLCAweDdiLCAweDNjLCAweGFmLCAweDAzLCAweDFiLCAweGVmLCAweDcwLCAweDE5LCAweDkwLCAweDdmLCAweGE1LCAweGUwfSB9LAoteyAweDExYjksCTE2LAl7MHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmZCwgMHg3ZCwgMHgzMiwgMHhhZiwgMHgwNSwgMHgxZCwgMHhlZiwgMHg3MCwgMHgwM30gfSwKLXsgMHgxMWM5LAkxNiwJezB4MDIsIDB4MTEsIDB4MjksIDB4ODAsIDB4ZjUsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4ZmQsIDB4MzAsIDB4ZTAsIDB4ZDksIDB4MzAsIDB4ZTIsIDB4MDl9IH0sCi17IDB4MTFkOSwJMTYsCXsweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdlLCAweGZmLCAweDdmLCAweGZhLCAweDIyLCAweGMyLCAweGFmLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0fSB9LAoteyAweDExZTksCTEyLAl7MHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmZCwgMHhkMiwgMHhhZiwgMHhmZiwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgxMWY1LAkxLAl7MHgyMn0gfSwKLXsgMHgxMjAwLAkxNiwJezB4MTIsIDB4MDEsIDB4MDAsIDB4MDEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NDAsIDB4MTAsIDB4MDcsIDB4MDEsIDB4ODAsIDB4NDIsIDB4MDAsIDB4MDEsIDB4MDJ9IH0sCi17IDB4MTIxMCwJMTYsCXsweDAzLCAweDAxLCAweDA5LCAweDAyLCAweDU4LCAweDAwLCAweDAxLCAweDAxLCAweDA0LCAweDgwLCAweDNjLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBhfSB9LAoteyAweDEyMjAsCTE2LAl7MHhmZiwgMHhmZiwgMHhmZiwgMHgwNSwgMHgwNywgMHgwNSwgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwgMHgwMiwgMHg0MH0gfSwKLXsgMHgxMjMwLAkxNiwJezB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MTI0MCwJMTYsCXsweDA3LCAweDA1LCAweDgzLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1fSB9LAoteyAweDEyNTAsCTE2LAl7MHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHg4NywgMHgwMn0gfSwKLXsgMHgxMjYwLAkxNiwJezB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MjQsIDB4MDN9IH0sCi17IDB4MTI3MCwJMTYsCXsweDQzLCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDY1LCAweDAwLCAweDYzLCAweDAwLCAweDc0LCAweDAwLCAweDIwLCAweDAwfSB9LAoteyAweDEyODAsCTE2LAl7MHg1NCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2MywgMHgwMCwgMHg2OCwgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMH0gfSwKLXsgMHgxMjkwLAkxNiwJezB4MmUsIDB4MDAsIDB4MTgsIDB4MDMsIDB4NTcsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NDgsIDB4MDB9IH0sCi17IDB4MTJhMCwJMTYsCXsweDQ1LCAweDAwLCAweDQxLCAweDAwLCAweDU0LCAweDAwLCAweDJkLCAweDAwLCAweDM0LCAweDAwLCAweDFhLCAweDAzLCAweDU4LCAweDAwLCAweDU4LCAweDAwfSB9LAoteyAweDEyYjAsCTE2LAl7MHgyZCwgMHgwMCwgMHg1OCwgMHgwMCwgMHg1OCwgMHgwMCwgMHgyZCwgMHgwMCwgMHg1OCwgMHgwMCwgMHg1OCwgMHgwMCwgMHg1OCwgMHgwMCwgMHg1OCwgMHgwMH0gfSwKLXsgMHgxMmMwLAkxNiwJezB4NTgsIDB4MDAsIDB4NTgsIDB4MDAsIDB4MmEsIDB4MDMsIDB4NDMsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjYsIDB4MDAsIDB4NjksIDB4MDB9IH0sCi17IDB4MTJkMCwJMTYsCXsweDY3LCAweDAwLCAweDc1LCAweDAwLCAweDcyLCAweDAwLCAweDYxLCAweDAwLCAweDc0LCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwfSB9LAoteyAweDEyZTAsCTE2LAl7MHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMCwgMHgyMiwgMHgwM30gfSwKLXsgMHgxMmYwLAkxNiwJezB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjYsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NjMsIDB4MDB9IH0sCi17IDB4MTMwMCwJMTYsCXsweDY1LCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwfSB9LAoteyAweDEzMTAsCTIsCXsweDAwLCAweDAwfSB9LAoteyAweDEzMTIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHhmMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHhjMCwgMHhkMH0gfSwKLXsgMHgxMzIyLAkxNiwJezB4NzUsIDB4ODYsIDB4MDAsIDB4NzUsIDB4ZDAsIDB4MTgsIDB4OTAsIDB4MjAsIDB4NjAsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4ZjUsIDB4ZjAsIDB4NzAsIDB4MTF9IH0sCi17IDB4MTMzMiwJMTYsCXsweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGYwLCAweGQwLCAweGUwfSB9LAoteyAweDEzNDIsCTE2LAl7MHgzMiwgMHg3NSwgMHg4NiwgMHgwMCwgMHgxMCwgMHhmMCwgMHgwYiwgMHgxMCwgMHhmMSwgMHgxMiwgMHgxMCwgMHhmMiwgMHgxOSwgMHgxMCwgMHhmMywgMHgyMH0gfSwKLXsgMHgxMzUyLAkxNiwJezB4ODAsIDB4ZDQsIDB4ZTUsIDB4MjgsIDB4NzAsIDB4MDMsIDB4NzUsIDB4MjgsIDB4MTQsIDB4MDIsIDB4MTMsIDB4N2MsIDB4ZTUsIDB4MjksIDB4NzAsIDB4MDN9IH0sCi17IDB4MTM2MiwJMTYsCXsweDc1LCAweDI5LCAweDE0LCAweDAyLCAweDE1LCAweDBkLCAweGU1LCAweDJhLCAweDcwLCAweDAzLCAweDc1LCAweDJhLCAweDE0LCAweDAyLCAweDE2LCAweDllfSB9LAoteyAweDEzNzIsCTE2LAl7MHhlNSwgMHgyYiwgMHg3MCwgMHgwMywgMHg3NSwgMHgyYiwgMHgxNCwgMHgwMiwgMHgxOCwgMHgyZiwgMHg5MCwgMHgyMCwgMHgwMiwgMHhlMCwgMHg1NCwgMHgzZn0gfSwKLXsgMHgxMzgyLAkxNiwJezB4MjAsIDB4ZTIsIDB4M2EsIDB4MjAsIDB4ZTEsIDB4MGIsIDB4MjAsIDB4ZTQsIDB4MGIsIDB4MjAsIDB4ZTUsIDB4MTQsIDB4NjAsIDB4MDksIDB4MDIsIDB4MTN9IH0sCi17IDB4MTM5MiwJMTYsCXsweDQzLCAweDAyLCAweDE0LCAweDY1LCAweDAyLCAweDEzLCAweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweGY1LCAweDNhLCAweDAyLCAweDEzLCAweDQzfSB9LAoteyAweDEzYTIsCTE2LAl7MHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg0MywgMHgyZCwgMHgwMSwgMHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHg4MiwgMHhmOCwgMHg0MywgMHg4MiwgMHgwNX0gfSwKLXsgMHgxM2IyLAkxNiwJezB4ZTAsIDB4NDIsIDB4MzYsIDB4NTMsIDB4ODIsIDB4ZmIsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4MzAsIDB4ZTEsIDB4MDJ9IH0sCi17IDB4MTNjMiwJMTYsCXsweDgwLCAweGU4LCAweGY1LCAweDg1LCAweGU1LCAweDMyLCAweDMwLCAweGUwLCAweDBhLCAweDUzLCAweDgyLCAweGY4LCAweDQzLCAweDgyLCAweDA0LCAweGUwfSB9LAoteyAweDEzZDIsCTE2LAl7MHg1NCwgMHhmZSwgMHhmMCwgMHhlNSwgMHg4NSwgMHgyMCwgMHhlMywgMHg1NiwgMHg5MCwgMHgyMCwgMHg1MCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg5MCwgMHgyMH0gfSwKLXsgMHgxM2UyLAkxNiwJezB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTMsIDB4MDUsIDB4ODZ9IH0sCi17IDB4MTNmMiwJMTYsCXsweDkwLCAweDdlLCAweDgwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwLCAweGEzLCAweGU1LCAweDg0LCAweGYwLCAweDA1LCAweDg2LCAweDkwLCAweDdmfSB9LAoteyAweDE0MDIsCTE2LAl7MHhlNSwgMHhlNSwgMHgzZiwgMHhmZCwgMHgwMywgMHgwMywgMHgwMywgMHhmZSwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMH0gfSwKLXsgMHgxNDEyLAkxNiwJezB4ZGUsIDB4ZjYsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MTQyMiwJMTYsCXsweDdmLCAweGI3LCAweGVkLCAweGYwLCAweDkwLCAweDIwLCAweDAxLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDdmLCAweDQwfSB9LAoteyAweDE0MzIsCTE2LAl7MHg5MCwgMHg3ZSwgMHg4MCwgMHgwNSwgMHg4NiwgMHg5MCwgMHgyMCwgMHgwMCwgMHhlNSwgMHg4NCwgMHhmZSwgMHgyNCwgMHgwNSwgMHhmZCwgMHg4ZCwgMHg4NH0gfSwKLXsgMHgxNDQyLAkxNiwJezB4ZTAsIDB4OGUsIDB4ODQsIDB4MzAsIDB4ZTAsIDB4MDksIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZWYsIDB4MDV9IH0sCi17IDB4MTQ1MiwJMTYsCXsweDg2LCAweGMzLCAweDc0LCAweDQwLCAweDlmLCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDA1LCAweDg2LCAweGEzLCAweGUwLCAweDU0LCAweGZlLCAweGYwfSB9LAoteyAweDE0NjIsCTE2LAl7MHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHgyZCwgMHhmYSwgMHhlNSwgMHgyMywgMHg2MCwgMHgwOCwgMHg3NSwgMHgyMywgMHgwMCwgMHhkMiwgMHhlNywgMHhmZX0gfSwKLXsgMHgxNDcyLAkxNiwJezB4ODAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MTQsIDB4ZmYsIDB4OTAsIDB4MjAsIDB4NTAsIDB4NzR9IH0sCi17IDB4MTQ4MiwJMTYsCXsweDAwLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwfSB9LAoteyAweDE0OTIsCTE2LAl7MHg3ZiwgMHhlMywgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZSwgMHg0MCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMCwgMHhhMywgMHhlNSwgMHg4NCwgMHhmMH0gfSwKLXsgMHgxNGEyLAkxNiwJezB4MDUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZTUsIDB4ZWUsIDB4MzAsIDB4ZTcsIDB4MDgsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4MjQsIDB4MzgsIDB4ZjAsIDB4MDV9IH0sCi17IDB4MTRiMiwJMTYsCXsweDg2LCAweGVlLCAweDU0LCAweDdmLCAweGZlLCAweDU0LCAweDA3LCAweGZiLCAweGVlLCAweDU0LCAweDc4LCAweDYwLCAweDMwLCAweDAzLCAweDAzLCAweDAzfSB9LAoteyAweDE0YzIsCTE2LAl7MHgzMCwgMHhlMywgMHgwNCwgMHg3NCwgMHgwNywgMHg3YiwgMHgwOCwgMHhmZCwgMHhmYywgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMH0gfSwKLXsgMHgxNGQyLAkxNiwJezB4ZTAsIDB4ZGQsIDB4ZjYsIDB4ZWIsIDB4ZmUsIDB4NjAsIDB4MTksIDB4ZWMsIDB4NjQsIDB4MDcsIDB4NzAsIDB4MTEsIDB4OGIsIDB4MjMsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MTRlMiwJMTYsCXsweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwLCAweDgwLCAweDFiLCAweGUwLCAweGRlLCAweGZkfSB9LAoteyAweDE0ZjIsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwMX0gfSwKLXsgMHgxNTAyLAkxNiwJezB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4OTAsIDB4MjAsIDB4MGEsIDB4ZTAsIDB4NTR9IH0sCi17IDB4MTUxMiwJMTYsCXsweDNmLCAweDIwLCAweGUyLCAweDNhLCAweDIwLCAweGUxLCAweDBiLCAweDIwLCAweGU0LCAweDBiLCAweDIwLCAweGU1LCAweDE0LCAweDYwLCAweDA5LCAweDAyfSB9LAoteyAweDE1MjIsCTE2LAl7MHgxMywgMHg0MywgMHgwMiwgMHgxNSwgMHhmNiwgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHhmNSwgMHgzYiwgMHgwMiwgMHgxM30gfSwKLXsgMHgxNTMyLAkxNiwJezB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4NDMsIDB4MmUsIDB4MDEsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4ODIsIDB4ZjgsIDB4NDMsIDB4ODJ9IH0sCi17IDB4MTU0MiwJMTYsCXsweDA1LCAweGUwLCAweDQyLCAweDM3LCAweDUzLCAweDgyLCAweGZiLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDMwLCAweGUxfSB9LAoteyAweDE1NTIsCTE2LAl7MHgwMiwgMHg4MCwgMHhlOCwgMHhmNSwgMHg4NSwgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMSwgMHgwYSwgMHg1MywgMHg4MiwgMHhmOCwgMHg0MywgMHg4MiwgMHgwNH0gfSwKLXsgMHgxNTYyLAkxNiwJezB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTUsIDB4ODUsIDB4MjAsIDB4ZTMsIDB4NTYsIDB4OTAsIDB4MjAsIDB4NTAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MTU3MiwJMTYsCXsweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGUzLCAweDA1fSB9LAoteyAweDE1ODIsCTE2LAl7MHg4NiwgMHg5MCwgMHg3ZSwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMCwgMHhhMywgMHhlNSwgMHg4NCwgMHhmMCwgMHgwNSwgMHg4NiwgMHg5MH0gfSwKLXsgMHgxNTkyLAkxNiwJezB4N2YsIDB4ZTUsIDB4ZTUsIDB4NDAsIDB4ZmQsIDB4MDMsIDB4MDMsIDB4MDMsIDB4ZmUsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjB9IH0sCi17IDB4MTVhMiwJMTYsCXsweGYwLCAweGRlLCAweGY2LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwfSB9LAoteyAweDE1YjIsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiOSwgMHhlZCwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwOSwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg3Zn0gfSwKLXsgMHgxNWMyLAkxNiwJezB4NDAsIDB4OTAsIDB4N2UsIDB4MDAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MjAsIDB4MDgsIDB4ZTUsIDB4ODQsIDB4ZmUsIDB4MjQsIDB4MDUsIDB4ZmQsIDB4OGR9IH0sCi17IDB4MTVkMiwJMTYsCXsweDg0LCAweGUwLCAweDhlLCAweDg0LCAweDMwLCAweGUwLCAweDA5LCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGVmfSB9LAoteyAweDE1ZTIsCTE2LAl7MHgwNSwgMHg4NiwgMHhjMywgMHg3NCwgMHg0MCwgMHg5ZiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhmMCwgMHgwNSwgMHg4NiwgMHhhMywgMHhlMCwgMHg1NCwgMHhmZX0gfSwKLXsgMHgxNWYyLAkxNiwJezB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4MmUsIDB4ZmEsIDB4ZTUsIDB4MjQsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MjQsIDB4MDAsIDB4ZDIsIDB4ZTd9IH0sCi17IDB4MTYwMiwJMTYsCXsweGZlLCAweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDE2LCAweDkwLCAweDkwLCAweDIwLCAweDUwfSB9LAoteyAweDE2MTIsCTE2LAl7MHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMH0gfSwKLXsgMHgxNjIyLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2QsIDB4YzAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODR9IH0sCi17IDB4MTYzMiwJMTYsCXsweGYwLCAweDA1LCAweDg2LCAweDkwLCAweDdmLCAweGU1LCAweGVlLCAweDMwLCAweGU3LCAweDA4LCAweDA1LCAweDg2LCAweGUwLCAweDI0LCAweDM4LCAweGYwfSB9LAoteyAweDE2NDIsCTE2LAl7MHgwNSwgMHg4NiwgMHhlZSwgMHg1NCwgMHg3ZiwgMHhmZSwgMHg1NCwgMHgwNywgMHhmYiwgMHhlZSwgMHg1NCwgMHg3OCwgMHg2MCwgMHgzMCwgMHgwMywgMHgwM30gfSwKLXsgMHgxNjUyLAkxNiwJezB4MDMsIDB4MzAsIDB4ZTMsIDB4MDQsIDB4NzQsIDB4MDcsIDB4N2IsIDB4MDgsIDB4ZmQsIDB4ZmMsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTB9IH0sCi17IDB4MTY2MiwJMTYsCXsweGUwLCAweGUwLCAweGRkLCAweGY2LCAweGViLCAweGZlLCAweDYwLCAweDE5LCAweGVjLCAweDY0LCAweDA3LCAweDcwLCAweDExLCAweDhiLCAweDI0LCAweDkwfSB9LAoteyAweDE2NzIsCTE2LAl7MHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg4MCwgMHgxYiwgMHhlMCwgMHhkZX0gfSwKLXsgMHgxNjgyLAkxNCwJezB4ZmQsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjB9IH0sCi17IDB4MTY5MCwJMTYsCXsweDkwLCAweDIwLCAweDA5LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDkwLCAweDIwfSB9LAoteyAweDE2YTAsCTE2LAl7MHgxMiwgMHhlMCwgMHg1NCwgMHgzZiwgMHgyMCwgMHhlMiwgMHgzYSwgMHgyMCwgMHhlMSwgMHgwYiwgMHgyMCwgMHhlNCwgMHgwYiwgMHgyMCwgMHhlNSwgMHgxNH0gfSwKLXsgMHgxNmIwLAkxNiwJezB4NjAsIDB4MDksIDB4MDIsIDB4MTMsIDB4NDMsIDB4MDIsIDB4MTcsIDB4ODcsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4ZjV9IH0sCi17IDB4MTZjMCwJMTYsCXsweDNjLCAweDAyLCAweDEzLCAweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweDQzLCAweDJmLCAweDAxLCAweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDgyfSB9LAoteyAweDE2ZDAsCTE2LAl7MHhmOCwgMHg0MywgMHg4MiwgMHgwNSwgMHhlMCwgMHg0MiwgMHgzOCwgMHg1MywgMHg4MiwgMHhmYiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHgwMiwgMHgxM30gfSwKLXsgMHgxNmUwLAkxNiwJezB4NDMsIDB4MzAsIDB4ZTEsIDB4MDIsIDB4ODAsIDB4ZTgsIDB4ZjUsIDB4ODUsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTIsIDB4MGEsIDB4NTMsIDB4ODIsIDB4Zjh9IH0sCi17IDB4MTZmMCwJMTYsCXsweDQzLCAweDgyLCAweDA0LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU1LCAweDg1LCAweDIwLCAweGUzLCAweDU2LCAweDkwLCAweDIwLCAweDUwLCAweDc0fSB9LAoteyAweDE3MDAsCTE2LAl7MHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgxNzEwLAkxNiwJezB4N2YsIDB4ZTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2QsIDB4ODAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjB9IH0sCi17IDB4MTcyMCwJMTYsCXsweDA1LCAweDg2LCAweDkwLCAweDdmLCAweGU1LCAweGU1LCAweDQxLCAweGZkLCAweDAzLCAweDAzLCAweDAzLCAweGZlLCAweGYwLCAweGYwLCAweGYwLCAweGYwfSB9LAoteyAweDE3MzAsCTE2LAl7MHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhkZSwgMHhmNiwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OH0gfSwKLXsgMHgxNzQwLAkxNiwJezB4NzQsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZWQsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MTEsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MDJ9IH0sCi17IDB4MTc1MCwJMTYsCXsweDEzLCAweDQzLCAweDdmLCAweDQwLCAweDkwLCAweDdkLCAweDgwLCAweDA1LCAweDg2LCAweDkwLCAweDIwLCAweDEwLCAweGU1LCAweDg0LCAweGZlLCAweDI0fSB9LAoteyAweDE3NjAsCTE2LAl7MHgwNSwgMHhmZCwgMHg4ZCwgMHg4NCwgMHhlMCwgMHg4ZSwgMHg4NCwgMHgzMCwgMHhlMCwgMHgwOSwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNX0gfSwKLXsgMHgxNzcwLAkxNiwJezB4ODYsIDB4ZGYsIDB4ZWYsIDB4MDUsIDB4ODYsIDB4YzMsIDB4NzQsIDB4NDAsIDB4OWYsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4YTN9IH0sCi17IDB4MTc4MCwJMTYsCXsweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDJmLCAweGZhLCAweGU1LCAweDI1LCAweDYwLCAweDA4LCAweDc1LCAweDI1fSB9LAoteyAweDE3OTAsCTE2LAl7MHgwMCwgMHhkMiwgMHhlNywgMHhmZSwgMHg4MCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgxOCwgMHgyMX0gfSwKLXsgMHgxN2EwLAkxNiwJezB4OTAsIDB4MjAsIDB4NTAsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTB9IH0sCi17IDB4MTdiMCwJMTYsCXsweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGUzLCAweDA1LCAweDg2LCAweDkwLCAweDdkLCAweDQwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwfSB9LAoteyAweDE3YzAsCTE2LAl7MHhhMywgMHhlNSwgMHg4NCwgMHhmMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhlNSwgMHhlZSwgMHgzMCwgMHhlNywgMHgwOCwgMHgwNSwgMHg4NiwgMHhlMH0gfSwKLXsgMHgxN2QwLAkxNiwJezB4MjQsIDB4MzgsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZWUsIDB4NTQsIDB4N2YsIDB4ZmUsIDB4NTQsIDB4MDcsIDB4ZmIsIDB4ZWUsIDB4NTQsIDB4NzgsIDB4NjB9IH0sCi17IDB4MTdlMCwJMTYsCXsweDMwLCAweDAzLCAweDAzLCAweDAzLCAweDMwLCAweGUzLCAweDA0LCAweDc0LCAweDA3LCAweDdiLCAweDA4LCAweGZkLCAweGZjLCAweGUwLCAweGUwLCAweGUwfSB9LAoteyAweDE3ZjAsCTE2LAl7MHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhkZCwgMHhmNiwgMHhlYiwgMHhmZSwgMHg2MCwgMHgxOSwgMHhlYywgMHg2NCwgMHgwNywgMHg3MCwgMHgxMX0gfSwKLXsgMHgxODAwLAkxNiwJezB4OGIsIDB4MjUsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4ODB9IH0sCi17IDB4MTgxMCwJMTYsCXsweDFiLCAweGUwLCAweGRlLCAweGZkLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwfSB9LAoteyAweDE4MjAsCTE2LAl7MHhmMCwgMHg5MCwgMHgyMCwgMHgxMSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg5MH0gfSwKLXsgMHgxODMwLAkxNiwJezB4MjAsIDB4MWEsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4MjAsIDB4ZTIsIDB4M2EsIDB4MjAsIDB4ZTEsIDB4MGIsIDB4MjAsIDB4ZTQsIDB4MGIsIDB4MjAsIDB4ZTV9IH0sCi17IDB4MTg0MCwJMTYsCXsweDE0LCAweDYwLCAweDA5LCAweDAyLCAweDEzLCAweDQzLCAweDAyLCAweDE5LCAweDE4LCAweDAyLCAweDEzLCAweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwfSB9LAoteyAweDE4NTAsCTE2LAl7MHhmNSwgMHgzZCwgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg0MywgMHgzMCwgMHgwMSwgMHgwMiwgMHgxMywgMHg0MywgMHg1M30gfSwKLXsgMHgxODYwLAkxNiwJezB4ODIsIDB4ZjgsIDB4NDMsIDB4ODIsIDB4MDUsIDB4ZTAsIDB4NDIsIDB4MzksIDB4NTMsIDB4ODIsIDB4ZmIsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4MDJ9IH0sCi17IDB4MTg3MCwJMTYsCXsweDEzLCAweDQzLCAweDMwLCAweGUxLCAweDAyLCAweDgwLCAweGU4LCAweGY1LCAweDg1LCAweGU1LCAweDMyLCAweDMwLCAweGUzLCAweDBhLCAweDUzLCAweDgyfSB9LAoteyAweDE4ODAsCTE2LAl7MHhmOCwgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlNSwgMHg4NSwgMHgyMCwgMHhlMywgMHg1NiwgMHg5MCwgMHgyMCwgMHg1MH0gfSwKLXsgMHgxODkwLAkxNiwJezB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjB9IH0sCi17IDB4MThhMCwJMTYsCXsweDkwLCAweDdmLCAweGUzLCAweDA1LCAweDg2LCAweDkwLCAweDdkLCAweDAwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwLCAweGEzLCAweGU1LCAweDg0fSB9LAoteyAweDE4YjAsCTE2LAl7MHhmMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhlNSwgMHhlNSwgMHg0MiwgMHhmZCwgMHgwMywgMHgwMywgMHgwMywgMHhmZSwgMHhmMCwgMHhmMCwgMHhmMH0gfSwKLXsgMHgxOGMwLAkxNiwJezB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZGUsIDB4ZjYsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjB9IH0sCi17IDB4MThkMCwJMTYsCXsweDU4LCAweDc0LCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweGJkLCAweGVkLCAweGYwLCAweDkwLCAweDIwLCAweDE5LCAweGUwLCAweDU0LCAweGZlLCAweGYwfSB9LAoteyAweDE4ZTAsCTE2LAl7MHgwMiwgMHgxMywgMHg0MywgMHg3ZiwgMHg0MCwgMHg5MCwgMHg3ZCwgMHgwMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHgyMCwgMHgxOCwgMHhlNSwgMHg4NCwgMHhmZX0gfSwKLXsgMHgxOGYwLAkxNiwJezB4MjQsIDB4MDUsIDB4ZmQsIDB4OGQsIDB4ODQsIDB4ZTAsIDB4OGUsIDB4ODQsIDB4MzAsIDB4ZTAsIDB4MDksIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTN9IH0sCi17IDB4MTkwMCwJMTYsCXsweDA1LCAweDg2LCAweGRmLCAweGVmLCAweDA1LCAweDg2LCAweGMzLCAweDc0LCAweDQwLCAweDlmLCAweDkwLCAweDdmLCAweGJkLCAweGYwLCAweDA1LCAweDg2fSB9LAoteyAweDE5MTAsCTE2LAl7MHhhMywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHgzMCwgMHhmYSwgMHhlNSwgMHgyNiwgMHg2MCwgMHgwOCwgMHg3NX0gfSwKLXsgMHgxOTIwLAkxNiwJezB4MjYsIDB4MDAsIDB4ZDIsIDB4ZTcsIDB4ZmUsIDB4ODAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MTl9IH0sCi17IDB4MTkzMCwJMTYsCXsweGIyLCAweDkwLCAweDIwLCAweDUwLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyfSB9LAoteyAweDE5NDAsCTE2LAl7MHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMywgMHgwNSwgMHg4NiwgMHg5MCwgMHg3YywgMHhjMCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NX0gfSwKLXsgMHgxOTUwLAkxNiwJezB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZTUsIDB4ZWUsIDB4MzAsIDB4ZTcsIDB4MDgsIDB4MDUsIDB4ODZ9IH0sCi17IDB4MTk2MCwJMTYsCXsweGUwLCAweDI0LCAweDM4LCAweGYwLCAweDA1LCAweDg2LCAweGVlLCAweDU0LCAweDdmLCAweGZlLCAweDU0LCAweDA3LCAweGZiLCAweGVlLCAweDU0LCAweDc4fSB9LAoteyAweDE5NzAsCTE2LAl7MHg2MCwgMHgzMCwgMHgwMywgMHgwMywgMHgwMywgMHgzMCwgMHhlMywgMHgwNCwgMHg3NCwgMHgwNywgMHg3YiwgMHgwOCwgMHhmZCwgMHhmYywgMHhlMCwgMHhlMH0gfSwKLXsgMHgxOTgwLAkxNiwJezB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZGQsIDB4ZjYsIDB4ZWIsIDB4ZmUsIDB4NjAsIDB4MTksIDB4ZWMsIDB4NjQsIDB4MDcsIDB4NzB9IH0sCi17IDB4MTk5MCwJMTYsCXsweDExLCAweDhiLCAweDI2LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwfSB9LAoteyAweDE5YTAsCTE2LAl7MHg4MCwgMHgxYiwgMHhlMCwgMHhkZSwgMHhmZCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NH0gfSwKLXsgMHgxOWIwLAkxNiwJezB4MDAsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MTksIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDN9IH0sCi17IDB4MTljMCwJMSwJezB4MzJ9IH0sCi17IDB4MTljMSwJNCwJezB4YWQsIDB4MDcsIDB4YWMsIDB4MDZ9IH0sCi17IDB4MTljNSwJMTYsCXsweDc5LCAweDA2LCAweGVkLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDNjLCAweGY1LCAweDgzLCAweGUwLCAweGZhLCAweGEzLCAweGUwLCAweGZifSB9LAoteyAweDE5ZDUsCTE2LAl7MHg0YSwgMHg3MCwgMHgwMywgMHgwMiwgMHgxYiwgMHgwOSwgMHhlOSwgMHhiNCwgMHgwNywgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHgxYSwgMHhkYiwgMHg5MH0gfSwKLXsgMHgxOWU1LAkxNiwJezB4MTksIDB4ZWIsIDB4ZjgsIDB4MjgsIDB4MjgsIDB4NzMsIDB4MDIsIDB4MWEsIDB4YjksIDB4MDIsIDB4MWEsIDB4NzEsIDB4MDIsIDB4MWEsIDB4NWEsIDB4MDJ9IH0sCi17IDB4MTlmNSwJMTYsCXsweDFhLCAweDQwLCAweDAyLCAweDFhLCAweDJmLCAweDAyLCAweDFhLCAweDFhLCAweDAyLCAweDFhLCAweDAwLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0fSB9LAoteyAweDFhMDUsCTE2LAl7MHg4MCwgMHhmMCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHgyNSwgMHhlMCwgMHg0NCwgMHhhMCwgMHg5MCwgMHg3ZiwgMHhhNn0gfSwKLXsgMHgxYTE1LAkxNiwJezB4ZjAsIDB4MTksIDB4MDIsIDB4MWEsIDB4ZGIsIDB4MTksIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTAsIDB4YzMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MGF9IH0sCi17IDB4MWEyNSwJMTYsCXsweGEzLCAweGEzLCAweGUwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDAyLCAweDFhLCAweGRiLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGEzLCAweGEzfSB9LAoteyAweDFhMzUsCTE2LAl7MHhlMCwgMHhhMywgMHhlMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHgxOSwgMHgwMiwgMHgxYSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NH0gfSwKLXsgMHgxYTQ1LAkxNiwJezB4ODAsIDB4ZjAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4NDQsIDB4YTEsIDB4OTAsIDB4N2YsIDB4YTZ9IH0sCi17IDB4MWE1NSwJMTYsCXsweGYwLCAweDE5LCAweDAyLCAweDFhLCAweGRiLCAweGViLCAweDY0LCAweDAxLCAweDRhLCAweDcwLCAweDA4LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0fSB9LAoteyAweDFhNjUsCTE2LAl7MHgyMCwgMHhmMCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmNSwgMHg1OSwgMHgxOSwgMHg4MCwgMHg2YSwgMHhlZCwgMHgyNCwgMHgwNCwgMHhmNX0gfSwKLXsgMHgxYTc1LAkxNiwJezB4ODIsIDB4ZTQsIDB4M2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4NjQsIDB4MDIsIDB4NGUsIDB4NzAsIDB4MDgsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MWE4NSwJMTYsCXsweGE1LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDE5LCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGZmLCAweGVkLCAweDI0LCAweDA2LCAweGY1LCAweDgyfSB9LAoteyAweDFhOTUsCTE2LAl7MHhlNCwgMHgzYywgMHhmNSwgMHg4MywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNSwgMHg4M30gfSwKLXsgMHgxYWE1LAkxNiwJezB4ZWYsIDB4ZjAsIDB4ZWQsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2MsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4ZmYsIDB4ZjUsIDB4ZjAsIDB4MTJ9IH0sCi17IDB4MWFiNSwJMTYsCXsweGEyLCAweDgxLCAweDgwLCAweDIyLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGZmfSB9LAoteyAweDFhYzUsCTE2LAl7MHhlZCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzYywgMHhmNSwgMHg4MywgMHhlMCwgMHhmYSwgMHhhMywgMHhlMCwgMHhmNSwgMHg4MiwgMHg4YX0gfSwKLXsgMHgxYWQ1LAkxNiwJezB4ODMsIDB4ZWYsIDB4ZjAsIDB4N2YsIDB4MDgsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4ZjUsIDB4NTksIDB4MzAsIDB4ZTAsIDB4ZjcsIDB4MzB9IH0sCi17IDB4MWFlNSwJMTYsCXsweGUyLCAweDA3LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA2LCAweDIyLCAweGU5LCAweGQzLCAweDk0LCAweDAyLCAweDUwLCAweDAzLCAweDAyfSB9LAoteyAweDFhZjUsCTE2LAl7MHgxOSwgMHhjNywgMHhlNSwgMHg1OSwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgxOSwgMHhjNywgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MH0gfSwKLXsgMHgxYjA1LAk2LAl7MHhmMCwgMHg3ZiwgMHgwNywgMHgyMiwgMHg3ZiwgMHgwOH0gfSwKLXsgMHgxYjBiLAkxLAl7MHgyMn0gfSwKLXsgMHgxYjBjLAkxNiwJezB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NTAsIDB4MWMsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4N2YsIDB4MDJ9IH0sCi17IDB4MWIxYywJMTYsCXsweDdkLCAweGZmLCAweDEyLCAweDgyLCAweGVhLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDdmLCAweDAzLCAweDdkLCAweGZmfSB9LAoteyAweDFiMmMsCTQsCXsweDEyLCAweDgyLCAweGVhLCAweDIyfSB9LAoteyAweDgwMDAsCTE2LAl7MHg3YiwgMHhmZiwgMHg3YSwgMHgxMiwgMHg3OSwgMHgxYiwgMHg5MCwgMHgwMCwgMHgwNCwgMHgxMiwgMHhhMiwgMHg1NCwgMHhmZCwgMHg4YiwgMHg1MCwgMHg3NX0gfSwKLXsgMHg4MDEwLAkxNiwJezB4NTEsIDB4MTIsIDB4NzUsIDB4NTIsIDB4MjQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZTEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTAsIDB4ZjAsIDB4ZjUsIDB4NGV9IH0sCi17IDB4ODAyMCwJMTYsCXsweGY1LCAweDRmLCAweDkwLCAweDAyLCAweGFlLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDgwMzAsCTE2LAl7MHhhOSwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHhlNCwgMHhmYywgMHhlYywgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNX0gfSwKLXsgMHg4MDQwLAkxNiwJezB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MGMsIDB4YmMsIDB4MTAsIDB4ZWUsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZGR9IH0sCi17IDB4ODA1MCwJMTYsCXsweGYwLCAweGFmLCAweDA1LCAweDFkLCAweGVmLCAweDcwLCAweDAzLCAweDAyLCAweDgxLCAweGM2LCAweGFiLCAweDUwLCAweGFhLCAweDUxLCAweGE5LCAweDUyfSB9LAoteyAweDgwNjAsCTE2LAl7MHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg1NCwgMHg2NCwgMHgwNSwgMHg2MCwgMHgwMywgMHgwMiwgMHg4MSwgMHhiNSwgMHg5MCwgMHgwMCwgMHgwM30gfSwKLXsgMHg4MDcwLAkxNiwJezB4MTIsIDB4YTIsIDB4NTQsIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4ODEsIDB4M2MsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4YTIsIDB4NTR9IH0sCi17IDB4ODA4MCwJMTYsCXsweGZmLCAweDU0LCAweDdmLCAweGZjLCAweGQzLCAweDk0LCAweDA3LCAweDUwLCAweDAzLCAweDAyLCAweDgxLCAweDE2LCAweGVjLCAweGMzLCAweDk0LCAweDEwfSB9LAoteyAweDgwOTAsCTE2LAl7MHg0MCwgMHgwMywgMHgwMiwgMHg4MSwgMHgxNiwgMHhlZiwgMHgzMCwgMHhlNywgMHg0MiwgMHhlNSwgMHg0ZiwgMHhhZSwgMHg0ZSwgMHg3OCwgMHgwMiwgMHhjZX0gfSwKLXsgMHg4MGEwLAkxNiwJezB4YzMsIDB4MTMsIDB4Y2UsIDB4MTMsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4NzQsIDB4ZjAsIDB4MmMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjV9IH0sCi17IDB4ODBiMCwJMTYsCXsweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweGUwLCAweGUwLCAweGZmLCAweGVjLCAweDI0LCAweGY4LCAweGZlLCAweDc0LCAweDAxLCAweGE4LCAweDA2fSB9LAoteyAweDgwYzAsCTE2LAl7MHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHhlMCwgMHhmMCwgMHg5MCwgMHgwMiwgMHhhZSwgMHhlMH0gfSwKLXsgMHg4MGQwLAkxNiwJezB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGQsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4M2UsIDB4ZTUsIDB4NGYsIDB4YWUsIDB4NGUsIDB4Nzh9IH0sCi17IDB4ODBlMCwJMTYsCXsweDAyLCAweGNlLCAweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LCAweGY5LCAweGZmLCAweDc0LCAweGU4LCAweDJjLCAweGY1LCAweDgyLCAweGU0LCAweDM0fSB9LAoteyAweDgwZjAsCTE2LAl7MHg3ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMSwgMHhlMCwgMHhmZiwgMHhlYywgMHgyNCwgMHhmOCwgMHhmZSwgMHg3NCwgMHgwMX0gfSwKLXsgMHg4MTAwLAkxNiwJezB4YTgsIDB4MDYsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4ZTEsIDB4ZjAsIDB4OTAsIDB4MDJ9IH0sCi17IDB4ODExMCwJMTYsCXsweGFlLCAweGUwLCAweDA0LCAweGYwLCAweDgwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweDkwLCAweDAwLCAweDA0LCAweDEyLCAweGEyLCAweDU0LCAweDI1fSB9LAoteyAweDgxMjAsCTE2LAl7MHg0ZiwgMHhmNSwgMHg0ZiwgMHhlNCwgMHgzNSwgMHg0ZSwgMHhmNSwgMHg0ZSwgMHg5MCwgMHgwMCwgMHgwNSwgMHgxMiwgMHhhMiwgMHg1NCwgMHhmZSwgMHhlNH0gfSwKLXsgMHg4MTMwLAkxNiwJezB4MjUsIDB4NGYsIDB4ZjUsIDB4NGYsIDB4ZWUsIDB4MzUsIDB4NGUsIDB4ZjUsIDB4NGUsIDB4MDIsIDB4ODEsIDB4YjgsIDB4YWIsIDB4NTAsIDB4YWEsIDB4NTF9IH0sCi17IDB4ODE0MCwJMTYsCXsweGE5LCAweDUyLCAweDkwLCAweDAwLCAweDAzLCAweDEyLCAweGEyLCAweDU0LCAweGZmLCAweDY0LCAweDAyLCAweDYwLCAweDA1LCAweGVmLCAweDY0LCAweDAzfSB9LAoteyAweDgxNTAsCTE2LAl7MHg3MCwgMHg2MCwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHhhMiwgMHg1NCwgMHhmZiwgMHg1NCwgMHg3ZiwgMHhmYywgMHhkMywgMHg5NCwgMHgwNywgMHg1MH0gfSwKLXsgMHg4MTYwLAkxNiwJezB4NGUsIDB4ZWYsIDB4MzAsIDB4ZTcsIDB4MWUsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZTAsIDB4ZmYsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDQsIDB4MDgsIDB4ODB9IH0sCi17IDB4ODE3MCwJMTYsCXsweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGZlLCAweDRmLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDRlfSB9LAoteyAweDgxODAsCTE2LAl7MHhmMCwgMHg4MCwgMHgzNSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhlMCwgMHhmZiwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNCwgMHgwOCwgMHg4MCwgMHgwMiwgMHhjM30gfSwKLXsgMHg4MTkwLAkxNiwJezB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZmUsIDB4NGYsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWQsIDB4ZTAsIDB4NGUsIDB4ZjAsIDB4ZWN9IH0sCi17IDB4ODFhMCwJMTYsCXsweDI1LCAweGUwLCAweDI0LCAweGM1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweDgwLCAweDA5LCAweDdmfSB9LAoteyAweDgxYjAsCTE2LAl7MHhmZiwgMHgyMiwgMHg3ZiwgMHhmZiwgMHgyMiwgMHg3ZiwgMHhmZiwgMHgyMiwgMHg3NCwgMHgwNywgMHgyNSwgMHg1MiwgMHhmNSwgMHg1MiwgMHhlNCwgMHgzNX0gfSwKLXsgMHg4MWMwLAkxNiwJezB4NTEsIDB4ZjUsIDB4NTEsIDB4MDIsIDB4ODAsIDB4NTEsIDB4MjAsIDB4MDMsIDB4MGQsIDB4OTAsIDB4MDIsIDB4YWUsIDB4ZTAsIDB4NjAsIDB4MDcsIDB4OTB9IH0sCi17IDB4ODFkMCwJOCwJezB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4ODFkOCwJMSwJezB4MjJ9IH0sCi17IDB4ODFkOSwJNCwJezB4OGUsIDB4NTksIDB4OGYsIDB4NWF9IH0sCi17IDB4ODFkZCwJMTYsCXsweDc1LCAweDViLCAweDAzLCAweGU1LCAweDVhLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU5LCAweGY1LCAweDgzLCAweGUwLCAweGZlfSB9LAoteyAweDgxZWQsCTE2LAl7MHhhMywgMHhlMCwgMHg0ZSwgMHg3MCwgMHgwMywgMHgwMiwgMHg4MiwgMHhlNywgMHhlNSwgMHg1YiwgMHg2MCwgMHg0ZSwgMHgxNCwgMHg2MCwgMHgzOCwgMHgxNH0gfSwKLXsgMHg4MWZkLAkxNiwJezB4NjAsIDB4MjAsIDB4MTQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4ODIsIDB4OGIsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODV9IH0sCi17IDB4ODIwZCwJMTYsCXsweDVhLCAweDgyLCAweDg1LCAweDU5LCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweDI1LCAweGUwLCAweDQ0LCAweGEwLCAweDkwLCAweDdmLCAweGE2LCAweGYwfSB9LAoteyAweDgyMWQsCTE2LAl7MHg4MCwgMHg2YywgMHg4NSwgMHg1YSwgMHg4MiwgMHg4NSwgMHg1OSwgMHg4MywgMHhlMCwgMHhjMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwOSwgMHhhMywgMHhhM30gfSwKLXsgMHg4MjJkLAkxNiwJezB4ZTAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4ODAsIDB4NTcsIDB4MTUsIDB4NWIsIDB4ODUsIDB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4YTN9IH0sCi17IDB4ODIzZCwJMTYsCXsweGEzLCAweGUwLCAweGEzLCAweGUwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDgwLCAweDQ0LCAweGU1LCAweDVhLCAweDI0LCAweDA2LCAweGY1LCAweDgyfSB9LAoteyAweDgyNGQsCTE2LAl7MHhlNCwgMHgzNSwgMHg1OSwgMHhmNSwgMHg4MywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNX0gfSwKLXsgMHg4MjVkLAkxNiwJezB4ODMsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ZTUsIDB4NWEsIDB4MjR9IH0sCi17IDB4ODI2ZCwJMTYsCXsweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU5LCAweGY1LCAweDgzLCAweDc0LCAweGZmLCAweGY1LCAweGYwLCAweDEyLCAweGEyLCAweDgxLCAweDg1fSB9LAoteyAweDgyN2QsCTE2LAl7MHg1YSwgMHg4MiwgMHg4NSwgMHg1OSwgMHg4MywgMHhhMywgMHhhMywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg4MSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHg4MjhkLAkxNiwJezB4YTUsIDB4ZTAsIDB4ZjUsIDB4NWMsIDB4MzAsIDB4ZTAsIDB4ZjcsIDB4MzAsIDB4ZTIsIDB4MDcsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDZ9IH0sCi17IDB4ODI5ZCwJMTYsCXsweDIyLCAweGU1LCAweDVjLCAweDIwLCAweGUxLCAweDBhLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA3LCAweDIyfSB9LAoteyAweDgyYWQsCTE2LAl7MHhlNSwgMHg1YiwgMHg3MCwgMHgzMSwgMHg3ZiwgMHgwMSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NH0gfSwKLXsgMHg4MmJkLAkxNiwJezB4ODAsIDB4ZjAsIDB4ODUsIDB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4NDQsIDB4YTAsIDB4OTB9IH0sCi17IDB4ODJjZCwJMTYsCXsweDdmLCAweGE2LCAweGYwLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweGY1LCAweDVjLCAweDMwLCAweGUwLCAweGY3LCAweDMwLCAweGUxLCAweGQ1LCAweDc1fSB9LAoteyAweDgyZGQsCTEyLAl7MHg1YiwgMHgwMywgMHgwMiwgMHg4MSwgMHhlMCwgMHgxNSwgMHg1YiwgMHgwMiwgMHg4MSwgMHhlMCwgMHg3ZiwgMHgwOH0gfSwKLXsgMHg4MmU5LAkxLAl7MHgyMn0gfSwKLXsgMHg4MmVhLAkyLAl7MHhhZSwgMHgwN30gfSwKLXsgMHg4MmVjLAkxNiwJezB4N2MsIDB4MDIsIDB4ZWMsIDB4MTQsIDB4NjAsIDB4MTUsIDB4MTQsIDB4NzAsIDB4MWUsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjB9IH0sCi17IDB4ODJmYywJMTYsCXsweGVlLCAweDI1LCAweGUwLCAweDQ0LCAweDQwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDgwLCAweDBjLCAweDkwLCAweDdmLCAweGE2LCAweGVkLCAweGYwfSB9LAoteyAweDgzMGMsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHhmYiwgMHgzMCwgMHhlMCwgMHhmOCwgMHhiY30gfSwKLXsgMHg4MzFjLAkxNiwJezB4MDIsIDB4MGEsIDB4MjAsIDB4ZTEsIDB4MDcsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDcsIDB4MjIsIDB4ZWIsIDB4MzAsIDB4ZTIsIDB4MGF9IH0sCi17IDB4ODMyYywJMTQsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA2LCAweDIyLCAweGRjLCAweGI2LCAweDdmLCAweDA4fSB9LAoteyAweDgzM2EsCTEsCXsweDIyfSB9LAoteyAweDgzM2IsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMiwgMHhhOSwgMHg5MCwgMHgwMywgMHgwMCwgMHg3NCwgMHgxOSwgMHhmMCwgMHhkMiwgMHhhOX0gfSwKLXsgMHg4MzRiLAkxNSwJezB4NTMsIDB4OTEsIDB4N2YsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4ODM1YSwJMTYsCXsweGVmLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFiLCAweDgyLCAweGZhLCAweGY1fSB9LAoteyAweDgzNmEsCTE2LAl7MHg4MywgMHhhMywgMHhlNCwgMHhmMCwgMHg4YiwgMHg4MiwgMHg4YSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHhmNSwgMHg2MSwgMHg3NCwgMHhiZn0gfSwKLXsgMHg4MzdhLAkxNiwJezB4ZjAsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4YTN9IH0sCi17IDB4ODM4YSwJMTYsCXsweGEzLCAweGEzLCAweGU0LCAweGYwLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzLCAweGYwLCAweGY5LCAweGVkLCAweDYwLCAweDFkLCAweDc0LCAweDAxfSB9LAoteyAweDgzOWEsCTE2LAl7MHg3ZSwgMHgwMCwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwNSwgMHhjMywgMHgzMywgMHhjZSwgMHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZiwgMHhlNH0gfSwKLXsgMHg4M2FhLAkxNiwJezB4ZWYsIDB4NTUsIDB4MzEsIDB4NjAsIDB4MDQsIDB4NzksIDB4MDksIDB4ODAsIDB4MDIsIDB4NzksIDB4MGQsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4YTN9IH0sCi17IDB4ODNiYSwJMTYsCXsweGEzLCAweGEzLCAweDc0LCAweGJmLCAweGYwLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDhifSB9LAoteyAweDgzY2EsCTE2LAl7MHg4MiwgMHg4YSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlNSwgMHg2MSwgMHhmMCwgMHhhZSwgMHgwMiwgMHhhZiwgMHgwMywgMHg4ZiwgMHg4MiwgMHg4ZX0gfSwKLXsgMHg4M2RhLAk0LAl7MHg4MywgMHhhMywgMHhlOSwgMHhmMH0gfSwKLXsgMHg4M2RlLAkxLAl7MHgyMn0gfSwKLXsgMHg4M2RmLAk0LAl7MHg4ZiwgMHg2MSwgMHg4ZCwgMHg2Mn0gfSwKLXsgMHg4M2UzLAkxNiwJezB4ZTQsIDB4ZjUsIDB4NjcsIDB4NzQsIDB4M2YsIDB4MmYsIDB4ZjgsIDB4NzYsIDB4MDgsIDB4N2YsIDB4ODAsIDB4N2UsIDB4MjUsIDB4N2QsIDB4MDAsIDB4N2N9IH0sCi17IDB4ODNmMywJMTYsCXsweDAwLCAweGFiLCAweDY2LCAweGFhLCAweDY1LCAweGE5LCAweDY0LCAweGE4LCAweDYzLCAweGQzLCAweDEyLCAweGEzLCAweGIzLCAweDQwLCAweDI2LCAweDdmfSB9LAoteyAweDg0MDMsCTE2LAl7MHgwMCwgMHg3ZSwgMHg5NiwgMHg3ZCwgMHgwMCwgMHg3YywgMHgwMCwgMHhhOCwgMHg2MywgMHhkMywgMHgxMiwgMHhhMywgMHhiMywgMHg1MCwgMHgwYywgMHg3NX0gfSwKLXsgMHg4NDEzLAkxNiwJezB4NjcsIDB4NDAsIDB4NzQsIDB4M2YsIDB4MjUsIDB4NjEsIDB4ZjgsIDB4NzYsIDB4MTAsIDB4ODAsIDB4MGEsIDB4NzUsIDB4NjcsIDB4ODAsIDB4NzQsIDB4M2Z9IH0sCi17IDB4ODQyMywJMTYsCXsweDI1LCAweDYxLCAweGY4LCAweDc2LCAweDM4LCAweGU1LCAweDY3LCAweDQ1LCAweDYyLCAweDQ0LCAweDAxLCAweGZmLCAweGU1LCAweDYxLCAweDc1LCAweGYwfSB9LAoteyAweDg0MzMsCTEzLAl7MHgwOCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMH0gfSwKLXsgMHg4NDQwLAkxLAl7MHgyMn0gfSwKLXsgMHg4NDQxLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4NTcsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjJ9IH0sCi17IDB4ODQ1MSwJMTYsCXsweGU1LCAweDU3LCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGY1fSB9LAoteyAweDg0NjEsCTE2LAl7MHg1OCwgMHg4ZiwgMHg1OSwgMHhlNSwgMHg1NywgMHgyNSwgMHhlMCwgMHgyNCwgMHhjNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4M30gfSwKLXsgMHg4NDcxLAkxNiwJezB4ZTAsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjV9IH0sCi17IDB4ODQ4MSwJMTYsCXsweDgzLCAweGU0LCAweGYwLCAweDc0LCAweDIzLCAweDI1LCAweDU3LCAweGY4LCAweGU0LCAweGY2LCAweGU1LCAweDU5LCAweDI0LCAweDA0LCAweGY1LCAweDgyfSB9LAoteyAweDg0OTEsCTE2LAl7MHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMywgMHhmMCwgMHhlNSwgMHg1NywgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNH0gfSwKLXsgMHg4NGExLAkxNiwJezB4MDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmV9IH0sCi17IDB4ODRiMSwJMTYsCXsweGEzLCAweGUwLCAweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzLCAweDdkLCAweDA2LCAweGFmLCAweDU3LCAweDEyLCAweDgzfSB9LAoteyAweDg0YzEsCTE2LAl7MHhkZiwgMHhhZiwgMHg1NywgMHg3ZCwgMHgwMSwgMHgxMiwgMHg4MywgMHg1YSwgMHg4NSwgMHg1OSwgMHg4MiwgMHg4NSwgMHg1OCwgMHg4MywgMHhhMywgMHhhM30gfSwKLXsgMHg4NGQxLAkxNiwJezB4ZTAsIDB4MjAsIDB4ZTAsIDB4NDMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NTksIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjV9IH0sCi17IDB4ODRlMSwJMTYsCXsweDgzLCAweGUwLCAweGU1LCAweDU5LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU4LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1fSB9LAoteyAweDg0ZjEsCTE2LAl7MHg1NywgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlMCwgMHhmY30gfSwKLXsgMHg4NTAxLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjYsIDB4OGUsIDB4NjUsIDB4OGQsIDB4NjQsIDB4OGMsIDB4NjN9IH0sCi17IDB4ODUxMSwJMTYsCXsweDdkLCAweDA2LCAweGFmLCAweDU3LCAweDEyLCAweDgzLCAweGRmLCAweDc0LCAweGY4LCAweDI1LCAweDU3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyfSB9LAoteyAweDg1MjEsCTE2LAl7MHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHg1NywgMHgyNSwgMHhlMCwgMHhmZiwgMHhjMywgMHg3NCwgMHgwYywgMHg5ZiwgMHg3NSwgMHhmMCwgMHg0MH0gfSwKLXsgMHg4NTMxLAkxNiwJezB4YTQsIDB4MjQsIDB4NDAsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ZjAsIDB4MzQsIDB4N2IsIDB4YWYsIDB4ODIsIDB4ZmUsIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTB9IH0sCi17IDB4ODU0MSwJMTYsCXsweDI0LCAweGVmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGVlLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweGFmLCAweDU3fSB9LAoteyAweDg1NTEsCTE1LAl7MHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0MiwgMHgzNCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4NTYwLAkxLAl7MHgyMn0gfSwKLXsgMHg4NTYxLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4NTcsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjJ9IH0sCi17IDB4ODU3MSwJMTYsCXsweGFmLCAweDU3LCAweGU0LCAweGZkLCAweDEyLCAweDgzLCAweDVhLCAweDc0LCAweGY4LCAweDI1LCAweDU3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyfSB9LAoteyAweDg1ODEsCTE2LAl7MHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHg1NywgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH0gfSwKLXsgMHg4NTkxLAkxNiwJezB4MjAsIDB4YWYsIDB4ODIsIDB4ZjUsIDB4NTksIDB4OGYsIDB4NWEsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTR9IH0sCi17IDB4ODVhMSwJMTYsCXsweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZjLCAweGYwLCAweGU1LCAweDU3LCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDBjfSB9LAoteyAweDg1YjEsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHg1NywgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNH0gfSwKLXsgMHg4NWMxLAkxNiwJezB4MDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmV9IH0sCi17IDB4ODVkMSwJMTYsCXsweGEzLCAweGUwLCAweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzLCAweDdkLCAweDA2LCAweGFmLCAweDU3LCAweDEyLCAweDgzfSB9LAoteyAweDg1ZTEsCTE2LAl7MHhkZiwgMHhlNSwgMHg1YSwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OSwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgwOX0gfSwKLXsgMHg4NWYxLAkxNiwJezB4ODUsIDB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NTgsIDB4YWYsIDB4NTcsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDh9IH0sCi17IDB4ODYwMSwJMTYsCXsweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY0LCAweDUyLCAweDM0LCAweGU1LCAweDU3LCAweDI1LCAweGUwLCAweDI0LCAweGM2LCAweGY1fSB9LAoteyAweDg2MTEsCTE2LAl7MHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMCwgMHhlMSwgMHgwZiwgMHhlNSwgMHg1NywgMHgyNSwgMHhlMCwgMHgyNCwgMHhjN30gfSwKLXsgMHg4NjIxLAkxMSwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4ODYyYywJMSwJezB4MjJ9IH0sCi17IDB4ODYyZCwJNCwJezB4OGUsIDB4NTcsIDB4OGYsIDB4NTh9IH0sCi17IDB4ODYzMSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGY1LCAweDU5LCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyfSB9LAoteyAweDg2NDEsCTE2LAl7MHhlNSwgMHg1OSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMH0gfSwKLXsgMHg4NjUxLAkxNiwJezB4NTQsIDB4MDMsIDB4NzAsIDB4NjYsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MjgsIDB4ZTV9IH0sCi17IDB4ODY2MSwJMTYsCXsweDU5LCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGUwLCAweGZjfSB9LAoteyAweDg2NzEsCTE2LAl7MHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2M30gfSwKLXsgMHg4NjgxLAkxNiwJezB4N2QsIDB4MDIsIDB4YWYsIDB4NTksIDB4MTIsIDB4ODMsIDB4ZGYsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4MzB9IH0sCi17IDB4ODY5MSwJMTYsCXsweGUxLCAweDI4LCAweGU1LCAweDU5LCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1fSB9LAoteyAweDg2YTEsCTE2LAl7MHg4MywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZH0gfSwKLXsgMHg4NmIxLAkxMiwJezB4NjQsIDB4OGMsIDB4NjMsIDB4N2QsIDB4MDQsIDB4YWYsIDB4NTksIDB4MTIsIDB4ODMsIDB4ZGYsIDB4N2YsIDB4MDB9IH0sCi17IDB4ODZiZCwJMSwJezB4MjJ9IH0sCi17IDB4ODZiZSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZkLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGZjLCAweGVkfSB9LAoteyAweDg2Y2UsCTE2LAl7MHg2YywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhmMCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhjMCwgMHg4MywgMHhjMH0gfSwKLXsgMHg4NmRlLAkxNiwJezB4ODIsIDB4ZTAsIDB4ZmQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4ZWQsIDB4NmMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjB9IH0sCi17IDB4ODZlZSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGZkLCAweGVjLCAweDZkLCAweGQwfSB9LAoteyAweDg2ZmUsCTE2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhmMCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZCwgMHg4Zn0gfSwKLXsgMHg4NzBlLAkxNiwJezB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4ZWQsIDB4NmMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjAsIDB4OGYsIDB4ODJ9IH0sCi17IDB4ODcxZSwJMTYsCXsweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZkLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGUwfSB9LAoteyAweDg3MmUsCTE2LAl7MHhmYywgMHhlZCwgMHg2YywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhmMCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhjMCwgMHg4MywgMHhjMH0gfSwKLXsgMHg4NzNlLAkxNiwJezB4ODIsIDB4ZTAsIDB4ZmQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4ZWQsIDB4NmYsIDB4ZDAsIDB4ODIsIDB4ZDB9IH0sCi17IDB4ODc0ZSwJMywJezB4ODMsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4ODc1MSwJNCwJezB4YWQsIDB4MDcsIDB4YWMsIDB4MDZ9IH0sCi17IDB4ODc1NSwJMTYsCXsweDc5LCAweDBkLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmfSB9LAoteyAweDg3NjUsCTE2LAl7MHgyMiwgMHg4YywgMHg1NywgMHg4ZCwgMHg1OCwgMHhlZSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH0gfSwKLXsgMHg4Nzc1LAkxNiwJezB4MDMsIDB4YWYsIDB4ODIsIDB4ZmUsIDB4YWQsIDB4MDEsIDB4MTksIDB4ZWQsIDB4NjAsIDB4MjQsIDB4MGYsIDB4ZWYsIDB4YWMsIDB4MDYsIDB4NzAsIDB4MDF9IH0sCi17IDB4ODc4NSwJMTYsCXsweDBlLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweGZkLCAweDA1LCAweDU4LCAweGU1LCAweDU4LCAweGFhLCAweDU3LCAweDcwLCAweDAyfSB9LAoteyAweDg3OTUsCTE2LAl7MHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHg2ZCwgMHg2MCwgMHhkOSwgMHg3ZiwgMHgwMSwgMHgyMiwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4N2E1LAkxLAl7MHgyMn0gfSwKLXsgMHg4N2E2LAk0LAl7MHg4ZSwgMHg1NywgMHg4ZiwgMHg1OH0gfSwKLXsgMHg4N2FhLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4NWUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjJ9IH0sCi17IDB4ODdiYSwJMTYsCXsweGU1LCAweDVlLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGY1fSB9LAoteyAweDg3Y2EsCTE2LAl7MHg1ZiwgMHg4ZiwgMHg2MCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhM30gfSwKLXsgMHg4N2RhLAkxNiwJezB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4N2IsIDB4MDgsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzgsIDB4MDAsIDB4ZDMsIDB4MTIsIDB4YTN9IH0sCi17IDB4ODdlYSwJMTYsCXsweGIzLCAweDQwLCAweDEwLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweDEyLCAweGEzLCAweGZhLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDg3ZmEsCTE2LAl7MHgwOCwgMHg4MCwgMHgyZSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhM30gfSwKLXsgMHg4ODBhLAkxNiwJezB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDgsIDB4NzksIDB4MDcsIDB4NzgsIDB4MDAsIDB4YzMsIDB4MTIsIDB4YTN9IH0sCi17IDB4ODgxYSwJMTYsCXsweGIzLCAweDUwLCAweDBlLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweDEyLCAweGEzLCAweGZhLCAweDAwLCAweDA3LCAweDA4fSB9LAoteyAweDg4MmEsCTE2LAl7MHgwMCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmOCwgMHhhMywgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYX0gfSwKLXsgMHg4ODNhLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZmIsIDB4N2YsIDB4MDAsIDB4N2UsIDB4NTAsIDB4N2QsIDB4NDYsIDB4N2MsIDB4MDAsIDB4MTIsIDB4YTMsIDB4MjEsIDB4OGYsIDB4NWN9IH0sCi17IDB4ODg0YSwJMTYsCXsweDhlLCAweDViLCAweDhkLCAweDVhLCAweDhjLCAweDU5LCAweDdiLCAweDBhLCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDc4LCAweDAwLCAweDEyLCAweGEzfSB9LAoteyAweDg4NWEsCTE2LAl7MHgyMSwgMHhhZiwgMHgwMywgMHg4ZiwgMHg1ZCwgMHhhZiwgMHg1YywgMHhhZSwgMHg1YiwgMHhhZCwgMHg1YSwgMHhhYywgMHg1OSwgMHg3YiwgMHgwYSwgMHg3YX0gfSwKLXsgMHg4ODZhLAkxNiwJezB4MDAsIDB4NzksIDB4MDAsIDB4NzgsIDB4MDAsIDB4MTIsIDB4YTMsIDB4MjEsIDB4OGYsIDB4NWMsIDB4OGUsIDB4NWIsIDB4OGQsIDB4NWEsIDB4OGMsIDB4NTl9IH0sCi17IDB4ODg3YSwJMTYsCXsweGU1LCAweDVkLCAweGMzLCAweDk0LCAweDA1LCAweDQwLCAweDE1LCAweGU1LCAweDVjLCAweDI0LCAweDAxLCAweGY1LCAweDVjLCAweGU0LCAweDM1LCAweDVifSB9LAoteyAweDg4OGEsCTE2LAl7MHhmNSwgMHg1YiwgMHhlNCwgMHgzNSwgMHg1YSwgMHhmNSwgMHg1YSwgMHhlNCwgMHgzNSwgMHg1OSwgMHhmNSwgMHg1OSwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NX0gfSwKLXsgMHg4ODlhLAkxNiwJezB4NWYsIDB4ODMsIDB4YTMsIDB4ZTQsIDB4ZjAsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NDR9IH0sCi17IDB4ODhhYSwJMTYsCXsweDgwLCAweGYwLCAweDg1LCAweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGU1LCAweDVjLCAweGYwLCAweGFmLCAweDVjLCAweGFlLCAweDViLCAweGFkfSB9LAoteyAweDg4YmEsCTE2LAl7MHg1YSwgMHhhYywgMHg1OSwgMHg3OCwgMHgwOCwgMHgxMiwgMHhhMywgMHhjNCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NSwgMHg1ZiwgMHg4MywgMHhhMywgMHhlZn0gfSwKLXsgMHg4OGNhLAkxNiwJezB4ZjAsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ZTQsIDB4ZjV9IH0sCi17IDB4ODhkYSwJMTYsCXsweDVkLCAweGU1LCAweDU4LCAweDI0LCAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDMwLCAweGUwfSB9LAoteyAweDg4ZWEsCTE2LAl7MHgyMywgMHg1NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlMH0gfSwKLXsgMHg4OGZhLAkxNiwJezB4NTQsIDB4ZmQsIDB4ZjAsIDB4YWYsIDB4NWUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmN9IH0sCi17IDB4ODkwYSwJMTYsCXsweDQyLCAweDIyLCAweDgwLCAweDM2LCAweDc0LCAweDAxLCAweDdlLCAweDAwLCAweGE4LCAweDVlLCAweDA4LCAweDgwLCAweDA1LCAweGMzLCAweDMzLCAweGNlfSB9LAoteyAweDg5MWEsCTE2LAl7MHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZiwgMHhlNCwgMHhlZiwgMHg1NSwgMHgyMiwgMHg2MCwgMHgxZiwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNCwgMHhmNX0gfSwKLXsgMHg4OTJhLAkxNiwJezB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4YWYsIDB4NWUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDd9IH0sCi17IDB4ODkzYSwJMTYsCXsweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY0LCAweDUyLCAweDIyLCAweGU1LCAweDU4LCAweDI0LCAweDA4LCAweGY1LCAweDgyfSB9LAoteyAweDg5NGEsCTE2LAl7MHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhiNCwgMHg2MiwgMHgwNSwgMHg0MywgMHg1ZCwgMHgwYSwgMHg4MCwgMHgxYSwgMHhlZn0gfSwKLXsgMHg4OTVhLAkxNiwJezB4YjQsIDB4NzIsIDB4MDUsIDB4NDMsIDB4NWQsIDB4MDgsIDB4ODAsIDB4MTEsIDB4ZWYsIDB4YjQsIDB4NzQsIDB4MDUsIDB4NDMsIDB4NWQsIDB4MDIsIDB4ODB9IH0sCi17IDB4ODk2YSwJMTYsCXsweDA4LCAweGVmLCAweDY0LCAweDZlLCAweDYwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGU1LCAweDU4LCAweDI0LCAweDBiLCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDg5N2EsCTE2LAl7MHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgzMCwgMHhlMywgMHgwMywgMHg0MywgMHg1ZCwgMHg4MCwgMHhlZiwgMHgzMCwgMHhlNywgMHgxMn0gfSwKLXsgMHg4OThhLAkxNiwJezB4NDMsIDB4NWQsIDB4NDAsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDR9IH0sCi17IDB4ODk5YSwJMTYsCXsweDAyLCAweGYwLCAweGU1LCAweDU4LCAweDI0LCAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGUxfSB9LAoteyAweDg5YWEsCTE2LAl7MHgyMCwgMHhhZiwgMHg1ZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0MiwgMHgzMn0gfSwKLXsgMHg4OWJhLAkxNiwJezB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODB9IH0sCi17IDB4ODljYSwJMTYsCXsweDEwLCAweGFmLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY0LCAweDUyfSB9LAoteyAweDg5ZGEsCTE2LAl7MHgzMiwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgzMCwgMHhlNH0gfSwKLXsgMHg4OWVhLAkxNiwJezB4MTEsIDB4YWUsIDB4NWUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDYsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NDIsIDB4MzF9IH0sCi17IDB4ODlmYSwJMTYsCXsweDgwLCAweDEwLCAweGFlLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA2LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY0fSB9LAoteyAweDhhMGEsCTE2LAl7MHg1MiwgMHgzMSwgMHhlZiwgMHgyMCwgMHhlMSwgMHgwMywgMHgzMCwgMHhlNCwgMHgwMywgMHhlNCwgMHhmNSwgMHg1ZCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NX0gfSwKLXsgMHg4YTFhLAkxNiwJezB4NWYsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTN9IH0sCi17IDB4OGEyYSwJMTYsCXsweGU0LCAweGYwLCAweGU1LCAweDVkLCAweGYwLCAweGU1LCAweDU4LCAweDI0LCAweDBhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzfSB9LAoteyAweDhhM2EsCTE2LAl7MHhlMCwgMHhmZiwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNX0gfSwKLXsgMHg4YTRhLAkxNiwJezB4NTgsIDB4MjQsIDB4MGEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDV9IH0sCi17IDB4OGE1YSwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LCAweDU4LCAweDI0LCAweDA5LCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDhhNmEsCTE2LAl7MHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNX0gfSwKLXsgMHg4YTdhLAkxNiwJezB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4OGE4YSwJMTYsCXsweGU1LCAweDYwLCAweDI0LCAweDA3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDg1LCAweDYwLCAweDgyfSB9LAoteyAweDhhOWEsCTE2LAl7MHg4NSwgMHg1ZiwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlNCwgMHhmMCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NSwgMHg1ZiwgMHg4MywgMHhhMywgMHhhM30gfSwKLXsgMHg4YWFhLAkxNiwJezB4ZjAsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmV9IH0sCi17IDB4OGFiYSwJMTYsCXsweGEzLCAweGUwLCAweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzLCAweDdkLCAweDA2LCAweGFmLCAweDVlLCAweDEyLCAweDgzfSB9LAoteyAweDhhY2EsCTE2LAl7MHhkZiwgMHg3NSwgMHg1ZCwgMHgwOCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMH0gfSwKLXsgMHg4YWRhLAkxNiwJezB4NjAsIDB4MDMsIDB4NDMsIDB4NWQsIDB4MTAsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODN9IH0sCi17IDB4OGFlYSwJMTYsCXsweGUwLCAweDU0LCAweDAzLCAweDQ1LCAweDVkLCAweGYwLCAweGU1LCAweDU4LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1fSB9LAoteyAweDhhZmEsCTE2LAl7MHg4MywgMHhlMCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNSwgMHg0MCwgMHgwNiwgMHhlZSwgMHhkMywgMHg5NCwgMHgwOCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZn0gfSwKLXsgMHg4YjBhLAkxNiwJezB4MjIsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4YzMsIDB4OTR9IH0sCi17IDB4OGIxYSwJMTYsCXsweDAxLCAweDQwLCAweDA2LCAweGVkLCAweGQzLCAweDk0LCAweDAyLCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVkLCAweDE0LCAweGZmLCAweDI1fSB9LAoteyAweDhiMmEsCTE2LAl7MHhlMCwgMHgyNSwgMHhlMCwgMHhmZiwgMHhlZSwgMHgyNCwgMHhmYiwgMHg0ZiwgMHhmNSwgMHg1ZCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwNywgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4YjNhLAkxNiwJezB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjQsIDB4ZDAsIDB4NjAsIDB4MTgsIDB4MTQsIDB4NjAsIDB4MWEsIDB4MjQsIDB4YzMsIDB4NjB9IH0sCi17IDB4OGI0YSwJMTYsCXsweDFlLCAweDE0LCAweDYwLCAweDA5LCAweDI0LCAweDBhLCAweDcwLCAweDE0LCAweDQzLCAweDVkLCAweDE4LCAweDgwLCAweDEyLCAweDQzLCAweDVkLCAweDA4fSB9LAoteyAweDhiNWEsCTE2LAl7MHg4MCwgMHgwZCwgMHg0MywgMHg1ZCwgMHgzOCwgMHg4MCwgMHgwOCwgMHg0MywgMHg1ZCwgMHgyOCwgMHg4MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHg4NX0gfSwKLXsgMHg4YjZhLAkxNiwJezB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTUsIDB4NWQsIDB4ZjAsIDB4NzQsIDB4MDEsIDB4N2UsIDB4MDAsIDB4YTh9IH0sCi17IDB4OGI3YSwJMTYsCXsweDVlLCAweDA4LCAweDgwLCAweDA1LCAweGMzLCAweDMzLCAweGNlLCAweDMzLCAweGNlLCAweGQ4LCAweGY5LCAweGZmLCAweGU0LCAweGVmLCAweDU1LCAweDM0fSB9LAoteyAweDhiOGEsCTE2LAl7MHg2MCwgMHgwNywgMHhhZiwgMHg1ZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHg4MywgMHg1YSwgMHhhYSwgMHg1NywgMHhhOSwgMHg1OCwgMHg3YiwgMHgwMSwgMHhjMH0gfSwKLXsgMHg4YjlhLAkxNiwJezB4MDMsIDB4YzAsIDB4MDEsIDB4ZTUsIDB4NWUsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDEsIDB4ZjksIDB4NzQsIDB4MDMsIDB4MzUsIDB4ZjB9IH0sCi17IDB4OGJhYSwJMTYsCXsweGE4LCAweDAxLCAweGZjLCAweGFkLCAweDAzLCAweGQwLCAweDAxLCAweGQwLCAweDAzLCAweDdlLCAweDAwLCAweDdmLCAweDBkLCAweDEyLCAweGEyLCAweDEyfSB9LAoteyAweDhiYmEsCTIsCXsweDdmLCAweDAwfSB9LAoteyAweDhiYmMsCTEsCXsweDIyfSB9LAoteyAweDhiYmQsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlZX0gfSwKLXsgMHg4YmNkLAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWQsIDB4ODIsIDB4ZmMsIDB4OTAsIDB4MDF9IH0sCi17IDB4OGJkZCwJMTYsCXsweDJjLCAweDc0LCAweDA4LCAweGYwLCAweGVlLCAweDA0LCAweGEzLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGU1fSB9LAoteyAweDhiZWQsCTE2LAl7MHg4MiwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHgwMSwgMHgyZiwgMHhmMCwgMHg4ZH0gfSwKLXsgMHg4YmZkLAkxNiwJezB4ODIsIDB4OGMsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTR9IH0sCi17IDB4OGMwZCwJMTYsCXsweDFlLCAweDkwLCAweDAxLCAweDMwLCAweGYwLCAweDc0LCAweDJkLCAweDJlLCAweGY4LCAweGU2LCAweGEzLCAweGYwLCAweGFmLCAweDA2LCAweDc0LCAweDAxfSB9LAoteyAweDhjMWQsCTE2LAl7MHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNSwgMHg1NywgMHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMX0gfSwKLXsgMHg4YzJkLAkxNiwJezB4NDAsIDB4MGQsIDB4OTAsIDB4MjAsIDB4NzgsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4NzUsIDB4NTgsIDB4MDAsIDB4ZjUsIDB4NTksIDB4ODAsIDB4MDksIDB4N2Z9IH0sCi17IDB4OGMzZCwJMTYsCXsweDAyLCAweDEyLCAweDExLCAweDI3LCAweDhlLCAweDU4LCAweDhmLCAweDU5LCAweGMzLCAweGU1LCAweDU4LCAweDY0LCAweDgwLCAweDk0LCAweDgwLCAweDQwfSB9LAoteyAweDhjNGQsCTE2LAl7MHhkYSwgMHhlNSwgMHg1NywgMHg1NSwgMHg1OSwgMHg5MCwgMHgwMSwgMHgzMiwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgyYywgMHg3ZCwgMHgwNywgMHgxMn0gfSwKLXsgMHg4YzVkLAk0LAl7MHg5MSwgMHg2YSwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4YzYxLAkxLAl7MHgyMn0gfSwKLXsgMHg4YzYyLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZWV9IH0sCi17IDB4OGM3MiwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGZlLCAweDkwLCAweDAxfSB9LAoteyAweDhjODIsCTE2LAl7MHgzMywgMHg3NCwgMHgwYSwgMHhmMCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNX0gfSwKLXsgMHg4YzkyLAkxNiwJezB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4MDEsIDB4MzQsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MzMsIDB4N2QsIDB4MDIsIDB4MTIsIDB4OTF9IH0sCi17IDB4OGNhMiwJMywJezB4NmEsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGNhNSwJMSwJezB4MjJ9IH0sCi17IDB4OGNhNiwJNCwJezB4OGUsIDB4NTcsIDB4OGYsIDB4NTh9IH0sCi17IDB4OGNhYSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVlfSB9LAoteyAweDhjYmEsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZCwgMHg4MiwgMHhmYywgMHg4NSwgMHg1OH0gfSwKLXsgMHg4Y2NhLAkxNiwJezB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4ZWQsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2MsIDB4ZjV9IH0sCi17IDB4OGNkYSwJMTYsCXsweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDQzLCAweGVlLCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDBjLCAweGY1LCAweDgyfSB9LAoteyAweDhjZWEsCTE2LAl7MHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgyMCwgMHhlZSwgMHgyNSwgMHhlMCwgMHgyNCwgMHhjNiwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4Y2ZhLAkxNiwJezB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4ZjAsIDB4N2YsIDB4NjAsIDB4ZWQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4OGQwYSwJMTYsCXsweGU0LCAweDNjLCAweGY1LCAweDgzLCAweGUwLCAweDVmLCAweGI1LCAweDA3LCAweGYyLCAweGFlLCAweDA0LCAweGFmLCAweDA1LCAweGVmLCAweDI0LCAweDA0fSB9LAoteyAweDhkMWEsCTEyLAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzZSwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4ZDI2LAkxLAl7MHgyMn0gfSwKLXsgMHg4ZDI3LAk0LAl7MHhhZCwgMHgwNywgMHhhYywgMHgwNn0gfSwKLXsgMHg4ZDJiLAkxNiwJezB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZWV9IH0sCi17IDB4OGQzYiwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGZlLCAweDhkLCAweDgyfSB9LAoteyAweDhkNGIsCTE2LAl7MHg4YywgMHg4MywgMHhhMywgMHhlMCwgMHg2MCwgMHgwZiwgMHhlZiwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzZSwgMHhmNSwgMHg4MywgMHhlMH0gfSwKLXsgMHg4ZDViLAkxNiwJezB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MGQsIDB4ZWYsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTR9IH0sCi17IDB4OGQ2YiwJNCwJezB4ZmUsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGQ2ZiwJMSwJezB4MjJ9IH0sCi17IDB4OGQ3MCwJNCwJezB4YWQsIDB4MDcsIDB4YWMsIDB4MDZ9IH0sCi17IDB4OGQ3NCwJMTYsCXsweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVlfSB9LAoteyAweDhkODQsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmZSwgMHg4ZCwgMHg4Mn0gfSwKLXsgMHg4ZDk0LAkxNiwJezB4OGMsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MGQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4NDB9IH0sCi17IDB4OGRhNCwJMTYsCXsweGYwLCAweDgwLCAweDBiLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDhkYjQsCTEsCXsweDIyfSB9LAoteyAweDhkYjUsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhhZn0gfSwKLXsgMHg4ZGM1LAkxNiwJezB4MDYsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NDIsIDB4M2UsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGRkNSwJMSwJezB4MjJ9IH0sCi17IDB4OGRkNiwJNCwJezB4OGUsIDB4NTcsIDB4OGYsIDB4NTh9IH0sCi17IDB4OGRkYSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGUwLCAweGY1LCAweDVjLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGY1LCAweDU5LCAweGQzfSB9LAoteyAweDhkZWEsCTE2LAl7MHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlNSwgMHg1OSwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MCwgMHgxZn0gfSwKLXsgMHg4ZGZhLAkxNiwJezB4MTQsIDB4NjAsIDB4MjgsIDB4MjQsIDB4MDMsIDB4NzAsIDB4MmUsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4NWEsIDB4N2UsIDB4NzUsIDB4NWJ9IH0sCi17IDB4OGUwYSwJMTYsCXsweDgwLCAweDgwLCAweDIyLCAweDdlLCAweDdlLCAweDdmLCAweDAwLCAweDc1LCAweDVhLCAweDdlLCAweDc1LCAweDViLCAweDAwLCAweDgwLCAweDE2LCAweDdlfSB9LAoteyAweDhlMWEsCTE2LAl7MHg3ZCwgMHg3ZiwgMHg4MCwgMHg3NSwgMHg1YSwgMHg3ZCwgMHg3NSwgMHg1YiwgMHg4MCwgMHg4MCwgMHgwYSwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHgwMCwgMHg3NX0gfSwKLXsgMHg4ZTJhLAkxNiwJezB4NWEsIDB4N2QsIDB4NzUsIDB4NWIsIDB4MDAsIDB4ZTUsIDB4NWMsIDB4NzAsIDB4MWIsIDB4ODUsIDB4NWIsIDB4ODIsIDB4ODUsIDB4NWEsIDB4ODMsIDB4NzR9IH0sCi17IDB4OGUzYSwJMTYsCXsweGZmLCAweGYwLCAweGU1LCAweDU5LCAweDI1LCAweGUwLCAweDI0LCAweGI1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0fSB9LAoteyAweDhlNGEsCTE2LAl7MHgwMSwgMHhmMCwgMHg4MCwgMHg0OCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwMiwgMHhmZiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmZSwgMHhlNSwgMHg1YywgMHg2MH0gfSwKLXsgMHg4ZTVhLAkxNiwJezB4MjMsIDB4MGYsIDB4ZWYsIDB4YWMsIDB4MDYsIDB4NzAsIDB4MDEsIDB4MGUsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MDV9IH0sCi17IDB4OGU2YSwJMTYsCXsweDViLCAweGU1LCAweDViLCAweGFhLCAweDVhLCAweDcwLCAweDAyLCAweDA1LCAweDVhLCAweDE0LCAweGY1LCAweDgyLCAweDhhLCAweDgzLCAweGVkLCAweGYwfSB9LAoteyAweDhlN2EsCTE2LAl7MHgxNSwgMHg1YywgMHg4MCwgMHhkOSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHhlNSwgMHg1OSwgMHgyNX0gfSwKLXsgMHg4ZThhLAkxNCwJezB4ZTAsIDB4MjQsIDB4YjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGU5OCwJMSwJezB4MjJ9IH0sCi17IDB4OGU5OSwJMTYsCXsweGVmLCAweDI0LCAweDA1LCAweGY1LCAweDU4LCAweGU0LCAweDNlLCAweGY1LCAweDU3LCAweDkwLCAweDAxLCAweDM1LCAweDc0LCAweDA3LCAweGYwLCAweDkwfSB9LAoteyAweDhlYTksCTE2LAl7MHgwMSwgMHg3YSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHgzNiwgMHhmMCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhM30gfSwKLXsgMHg4ZWI5LAkxNiwJezB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4OGUsIDB4NTksIDB4ZjUsIDB4NWEsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODN9IH0sCi17IDB4OGVjOSwJMTYsCXsweGUwLCAweDI0LCAweDllLCAweDYwLCAweDYxLCAweDI0LCAweGY5LCAweDYwLCAweDBlLCAweDI0LCAweGYxLCAweDcwLCAweDAzLCAweDAyLCAweDhmLCAweDdhfSB9LAoteyAweDhlZDksCTE2LAl7MHgyNCwgMHgxNCwgMHg2MCwgMHgwMywgMHgwMiwgMHg4ZiwgMHhjOCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZX0gfSwKLXsgMHg4ZWU5LAkxNiwJezB4YTMsIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4ZTQsIDB4OWYsIDB4ZjUsIDB4NWMsIDB4NzQsIDB4MDEsIDB4OWUsIDB4ZjUsIDB4NWIsIDB4ZDMsIDB4ZTUsIDB4NWN9IH0sCi17IDB4OGVmOSwJMTYsCXsweDk0LCAweDNmLCAweGU1LCAweDViLCAweDk0LCAweDAwLCAweDQwLCAweDA2LCAweDc1LCAweDViLCAweDAwLCAweDc1LCAweDVjLCAweDNmLCAweGQzLCAweGU1fSB9LAoteyAweDhmMDksCTE2LAl7MHg1YSwgMHg5NSwgMHg1YywgMHhlNSwgMHg1OSwgMHg5NSwgMHg1YiwgMHg1MCwgMHgwMywgMHgwMiwgMHg4ZiwgMHhjYiwgMHhhZSwgMHg1YiwgMHhhZiwgMHg1Y30gfSwKLXsgMHg4ZjE5LAkxNiwJezB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZWUsIDB4ZjAsIDB4ZmUsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4OGV9IH0sCi17IDB4OGYyOSwJMTYsCXsweDU5LCAweGY1LCAweDVhLCAweDAyLCAweDhmLCAweGNiLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZlLCAweGEzfSB9LAoteyAweDhmMzksCTE2LAl7MHhlMCwgMHhmZiwgMHhjMywgMHg3NCwgMHgzMCwgMHg5ZiwgMHhmNSwgMHg1YywgMHhlNCwgMHg5ZSwgMHhmNSwgMHg1YiwgMHhkMywgMHhlNSwgMHg1YywgMHg5NH0gfSwKLXsgMHg4ZjQ5LAkxNiwJezB4MTAsIDB4ZTUsIDB4NWIsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDYsIDB4NzUsIDB4NWIsIDB4MDAsIDB4NzUsIDB4NWMsIDB4MTAsIDB4ZDMsIDB4ZTUsIDB4NWF9IH0sCi17IDB4OGY1OSwJMTYsCXsweDk1LCAweDVjLCAweGU1LCAweDU5LCAweDk1LCAweDViLCAweDQwLCAweDZhLCAweGFlLCAweDViLCAweGFmLCAweDVjLCAweDg1LCAweDU4LCAweDgyLCAweDg1fSB9LAoteyAweDhmNjksCTE2LAl7MHg1NywgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlZSwgMHhmMCwgMHhmZSwgMHhhMywgMHhlZiwgMHhmMCwgMHg4ZSwgMHg1OSwgMHhmNSwgMHg1YSwgMHg4MH0gfSwKLXsgMHg4Zjc5LAkxNiwJezB4NTEsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4ZTQsIDB4OWZ9IH0sCi17IDB4OGY4OSwJMTYsCXsweGY1LCAweDVjLCAweGU0LCAweDllLCAweGY1LCAweDViLCAweDQ1LCAweDVjLCAweDYwLCAweDBiLCAweGQzLCAweGU1LCAweDVjLCAweDk0LCAweDNmLCAweGU1fSB9LAoteyAweDhmOTksCTE2LAl7MHg1YiwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNiwgMHg3NSwgMHg1YiwgMHgwMCwgMHg3NSwgMHg1YywgMHgzZiwgMHhkMywgMHhlNSwgMHg1YSwgMHg5NSwgMHg1Y30gfSwKLXsgMHg4ZmE5LAkxNiwJezB4ZTUsIDB4NTksIDB4OTUsIDB4NWIsIDB4NDAsIDB4MWMsIDB4YWUsIDB4NWIsIDB4YWYsIDB4NWMsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODN9IH0sCi17IDB4OGZiOSwJMTYsCXsweGEzLCAweGEzLCAweGEzLCAweGVlLCAweGYwLCAweGZlLCAweGEzLCAweGVmLCAweGYwLCAweDhlLCAweDU5LCAweGY1LCAweDVhLCAweDgwLCAweDAzLCAweDdmfSB9LAoteyAweDhmYzksCTE2LAl7MHgwMSwgMHgyMiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhlMCwgMHgyNCwgMHg5ZSwgMHg3MCwgMHgwMywgMHgwMiwgMHg5MCwgMHg4Yn0gfSwKLXsgMHg4ZmQ5LAkxNiwJezB4MjQsIDB4ZjksIDB4NjAsIDB4NTgsIDB4MjQsIDB4ZjEsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OTAsIDB4ZGIsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MDMsIDB4MDJ9IH0sCi17IDB4OGZlOSwJMTYsCXsweDkxLCAweDFmLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweGQzLCAweDk0fSB9LAoteyAweDhmZjksCTE2LAl7MHhmZiwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHg5MSwgMHgxZiwgMHg5MCwgMHgwMSwgMHg3NSwgMHhlZiwgMHhmMCwgMHhlNSwgMHg1YX0gfSwKLXsgMHg5MDA5LAkxNiwJezB4MTUsIDB4NWEsIDB4YWUsIDB4NTksIDB4NzAsIDB4MDIsIDB4MTUsIDB4NTksIDB4NGUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OTEsIDB4MWYsIDB4OTAsIDB4MDF9IH0sCi17IDB4OTAxOSwJMTYsCXsweDc1LCAweGUwLCAweGZmLCAweDA0LCAweGYwLCAweGE4LCAweDA3LCAweGU2LCAweGZmLCAweDkwLCAweDAxLCAweDdhLCAweGU0LCAweDc1LCAweGYwLCAweDAxfSB9LAoteyAweDkwMjksCTE2LAl7MHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg4MCwgMHhkMiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NX0gfSwKLXsgMHg5MDM5LAkxNiwJezB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4OTQsIDB4ODAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDN9IH0sCi17IDB4OTA0OSwJMTYsCXsweDAyLCAweDkxLCAweDFmLCAweGQzLCAweGVmLCAweDk0LCAweGZmLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDkxLCAweDFmLCAweDkwfSB9LAoteyAweDkwNTksCTE2LAl7MHgwMSwgMHg3NiwgMHhlZiwgMHhmMCwgMHhlNSwgMHg1YSwgMHgxNSwgMHg1YSwgMHhhZSwgMHg1OSwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1OSwgMHg0ZSwgMHg3MH0gfSwKLXsgMHg5MDY5LAkxNiwJezB4MDMsIDB4MDIsIDB4OTEsIDB4MWYsIDB4OTAsIDB4MDEsIDB4NzYsIDB4ZTAsIDB4ZmYsIDB4MDQsIDB4ZjAsIDB4YTgsIDB4MDcsIDB4ZTYsIDB4ZmYsIDB4OTB9IH0sCi17IDB4OTA3OSwJMTYsCXsweDAxLCAweDdhLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyLCAweGY1LCAweDgzLCAweGVmLCAweGYwfSB9LAoteyAweDkwODksCTE2LAl7MHg4MCwgMHhkMiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHhjMywgMHg5NH0gfSwKLXsgMHg5MDk5LAkxNiwJezB4MjAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4OTEsIDB4MWYsIDB4ZDMsIDB4ZWYsIDB4OTQsIDB4MmYsIDB4ZWUsIDB4OTQsIDB4MDB9IH0sCi17IDB4OTBhOSwJMTYsCXsweDUwLCAweDc0LCAweDkwLCAweDAxLCAweDc3LCAweGVmLCAweGYwLCAweGU1LCAweDVhLCAweDE1LCAweDVhLCAweGFlLCAweDU5LCAweDcwLCAweDAyLCAweDE1fSB9LAoteyAweDkwYjksCTE2LAl7MHg1OSwgMHg0ZSwgMHg2MCwgMHg2MiwgMHg5MCwgMHgwMSwgMHg3NywgMHhlMCwgMHhmZiwgMHgwNCwgMHhmMCwgMHhhOCwgMHgwNywgMHhlNiwgMHhmZiwgMHg5MH0gfSwKLXsgMHg5MGM5LAkxNiwJezB4MDEsIDB4N2EsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjB9IH0sCi17IDB4OTBkOSwJMTYsCXsweDgwLCAweGQ1LCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweGEzLCAweGUwLCAweDkwLCAweDAxLCAweDc4fSB9LAoteyAweDkwZTksCTE2LAl7MHhjZiwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHhlNSwgMHg1YSwgMHgxNSwgMHg1YSwgMHhhZSwgMHg1OSwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1OSwgMHg0ZX0gfSwKLXsgMHg5MGY5LAkxNiwJezB4NjAsIDB4MjQsIDB4OTAsIDB4MDEsIDB4NzgsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjV9IH0sCi17IDB4OTEwOSwJMTYsCXsweDgzLCAweGUwLCAweGZmLCAweDkwLCAweDAxLCAweDdhLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyfSB9LAoteyAweDkxMTksCTE2LAl7MHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgzNSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4M30gfSwKLXsgMHg5MTI5LAkxMywJezB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4MDQsIDB4ZmQsIDB4MTIsIDB4OTEsIDB4NmEsIDB4N2YsIDB4MDB9IH0sCi17IDB4OTEzNiwJMSwJezB4MjJ9IH0sCi17IDB4OTEzNywJMTYsCXsweDhlLCAweDYyLCAweDhmLCAweDYzLCAweDhjLCAweDY0LCAweDhkLCAweDY1LCAweGFmLCAweDAzLCAweDFiLCAweGVmLCAweDYwLCAweDI0LCAweDA1LCAweDYzfSB9LAoteyAweDkxNDcsCTE2LAl7MHhlNSwgMHg2MywgMHhhZSwgMHg2MiwgMHg3MCwgMHgwMiwgMHgwNSwgMHg2MiwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHhmZiwgMHgwNX0gfSwKLXsgMHg5MTU3LAkxNiwJezB4NjUsIDB4ZTUsIDB4NjUsIDB4YWMsIDB4NjQsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NjQsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjB9IH0sCi17IDB4OTE2NywJMywJezB4ODAsIDB4ZDYsIDB4MjJ9IH0sCi17IDB4OTE2YSwJNiwJezB4OGQsIDB4NWQsIDB4YWIsIDB4MDcsIDB4YWEsIDB4MDZ9IH0sCi17IDB4OTE3MCwJMTYsCXsweDc1LCAweDYxLCAweDQwLCAweDc1LCAweDYwLCAweDBkLCAweDc1LCAweDVmLCAweDAzLCAweDc1LCAweDVlLCAweDAwLCAweDkwLCAweDdmLCAweGMyLCAweGUwfSB9LAoteyAweDkxODAsCTE2LAl7MHgyMCwgMHhlMSwgMHhmOSwgMHhhZiwgMHg2MSwgMHhhZSwgMHg2MCwgMHhhZCwgMHg1ZiwgMHhhYywgMHg1ZSwgMHhlYywgMHg0ZCwgMHg0ZSwgMHg0ZiwgMHg3MH0gfSwKLXsgMHg5MTkwLAkxNiwJezB4MDgsIDB4OTAsIDB4N2YsIDB4YzIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4ZDcsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTZ9IH0sCi17IDB4OTFhMCwJMTYsCXsweGFmLCAweDAzLCAweGFlLCAweDAyLCAweDdjLCAweDdiLCAweDdkLCAweDgwLCAweGFiLCAweDVkLCAweDEyLCAweDkxLCAweDM3LCAweDkwLCAweDdmLCAweGMzfSB9LAoteyAweDkxYjAsCTgsCXsweGU1LCAweDVkLCAweGYwLCAweDdmLCAweDAxLCAweDIyLCAweDdmLCAweDAwfSB9LAoteyAweDkxYjgsCTEsCXsweDIyfSB9LAoteyAweDkxYjksCTE2LAl7MHg5MCwgMHgwMSwgMHg4NCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhhMywgMHhlNSwgMHgzMywgMHhmMCwgMHg5MCwgMHgwYSwgMHhmNSwgMHhlNCwgMHg5MywgMHg5MH0gfSwKLXsgMHg5MWM5LAkxNiwJezB4MDEsIDB4ODYsIDB4ZjAsIDB4OTAsIDB4MGEsIDB4ZjYsIDB4ZTQsIDB4OTMsIDB4OTAsIDB4MDEsIDB4ODcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4MDEsIDB4N2N9IH0sCi17IDB4OTFkOSwJMTYsCXsweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweDc0LCAweDEwLCAweGYwLCAweGEzLCAweDc0LCAweDAxfSB9LAoteyAweDkxZTksCTE2LAl7MHhmMCwgMHhhMywgMHg3NCwgMHg4OCwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHg3YywgMHgxMiwgMHgxOSwgMHhjMSwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHg4NH0gfSwKLXsgMHg5MWY5LAk3LAl7MHg3ZCwgMHgxNCwgMHgxMiwgMHg5MSwgMHg2YSwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg5MjAwLAkxLAl7MHgyMn0gfSwKLXsgMHg5MjAxLAkxNiwJezB4N2UsIDB4N2IsIDB4N2YsIDB4NDAsIDB4NzUsIDB4NGUsIDB4N2IsIDB4NzUsIDB4NGYsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZTAsIDB4ZmYsIDB4ODV9IH0sCi17IDB4OTIxMSwJMTYsCXsweDRlLCAweDUxLCAweDg1LCAweDRmLCAweDUyLCAweGU1LCAweDUyLCAweDI0LCAweDAxLCAweGY1LCAweDU2LCAweGU0LCAweDM1LCAweDUxLCAweGY1LCAweDU1fSB9LAoteyAweDkyMjEsCTE2LAl7MHhlNCwgMHhmNSwgMHg1MCwgMHg4NSwgMHg1MiwgMHg4MiwgMHg4NSwgMHg1MSwgMHg4MywgMHhlMCwgMHhmZSwgMHgxNCwgMHhiNCwgMHgwYywgMHgwMCwgMHg1MH0gfSwKLXsgMHg5MjMxLAkxNiwJezB4NWIsIDB4OTAsIDB4OTIsIDB4MzksIDB4ZjgsIDB4MjgsIDB4MjgsIDB4NzMsIDB4MDIsIDB4OTIsIDB4NWQsIDB4MDIsIDB4OTIsIDB4NWQsIDB4MDIsIDB4OTJ9IH0sCi17IDB4OTI0MSwJMTYsCXsweDY3LCAweDAyLCAweDkyLCAweDcxLCAweDAyLCAweDkyLCAweDcxLCAweDAyLCAweDkyLCAweDcxLCAweDAyLCAweDkyLCAweDg1LCAweDAyLCAweDkyLCAweDVkfSB9LAoteyAweDkyNTEsCTE2LAl7MHgwMiwgMHg5MiwgMHg3YiwgMHgwMiwgMHg5MiwgMHg1ZCwgMHgwMiwgMHg5MiwgMHg4ZCwgMHgwMiwgMHg5MiwgMHg1ZCwgMHhlZiwgMHg2NCwgMHgwMiwgMHg2MH0gfSwKLXsgMHg5MjYxLAkxNiwJezB4MmIsIDB4NzUsIDB4NTAsIDB4ZmYsIDB4ODAsIDB4MjYsIDB4ZWYsIDB4NjQsIDB4MGUsIDB4NjAsIDB4MjEsIDB4NzUsIDB4NTAsIDB4ZmYsIDB4ODAsIDB4MWN9IH0sCi17IDB4OTI3MSwJMTYsCXsweGVmLCAweDY0LCAweDAzLCAweDYwLCAweDE3LCAweDc1LCAweDUwLCAweGZmLCAweDgwLCAweDEyLCAweGVmLCAweDY0LCAweDAzLCAweDYwLCAweDBkLCAweDc1fSB9LAoteyAweDkyODEsCTE2LAl7MHg1MCwgMHhmZiwgMHg4MCwgMHgwOCwgMHhlZiwgMHg2NCwgMHgwNiwgMHg2MCwgMHgwMywgMHg3NSwgMHg1MCwgMHhmZiwgMHhlNSwgMHg1MCwgMHg2MCwgMHgxNX0gfSwKLXsgMHg5MjkxLAkxNiwJezB4OTAsIDB4MDEsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4YTMsIDB4ZWUsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4OTgsIDB4N2QsIDB4MDIsIDB4MTJ9IH0sCi17IDB4OTJhMSwJMTYsCXsweDkxLCAweDZhLCAweGFmLCAweDUwLCAweDIyLCAweGU0LCAweGY1LCAweDUwLCAweDg1LCAweDUyLCAweDgyLCAweDg1LCAweDUxLCAweDgzLCAweGUwLCAweDE0fSB9LAoteyAweDkyYjEsCTE2LAl7MHhiNCwgMHgwZiwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHg5MywgMHhjZiwgMHg5MCwgMHg5MiwgMHhjMCwgMHhmOCwgMHgyOCwgMHgyOCwgMHg3MywgMHgwMn0gfSwKLXsgMHg5MmMxLAkxNiwJezB4OTIsIDB4ZWQsIDB4MDIsIDB4OTIsIDB4ZjksIDB4MDIsIDB4OTMsIDB4MDUsIDB4MDIsIDB4OTMsIDB4NTMsIDB4MDIsIDB4OTMsIDB4NWUsIDB4MDIsIDB4OTN9IH0sCi17IDB4OTJkMSwJMTYsCXsweDY5LCAweDAyLCAweDkzLCAweDc0LCAweDAyLCAweDkzLCAweDdmLCAweDAyLCAweDkzLCAweDhhLCAweDAyLCAweDkzLCAweDk1LCAweDAyLCAweDkzLCAweGEwfSB9LAoteyAweDkyZTEsCTE2LAl7MHgwMiwgMHg5MywgMHhhNywgMHgwMiwgMHg5MywgMHhjZiwgMHgwMiwgMHg5MywgMHhiMiwgMHgwMiwgMHg5MywgMHhiZCwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NX0gfSwKLXsgMHg5MmYxLAkxNiwJezB4MTIsIDB4ODQsIDB4NDEsIDB4OGYsIDB4NTAsIDB4MDIsIDB4OTMsIDB4ZDIsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4ODUsIDB4NjEsIDB4OGZ9IH0sCi17IDB4OTMwMSwJMTYsCXsweDUwLCAweDAyLCAweDkzLCAweGQyLCAweDg1LCAweDU1LCAweDUzLCAweDg1LCAweDU2LCAweDU0LCAweGU1LCAweDU0LCAweDI0LCAweDAxLCAweGZmLCAweGU0fSB9LAoteyAweDkzMTEsCTE2LAl7MHgzNSwgMHg1MywgMHhmZSwgMHgxMiwgMHg4NiwgMHhiZSwgMHhhZiwgMHg1NCwgMHhhZSwgMHg1MywgMHgxMiwgMHg4NywgMHg1MSwgMHg4ZiwgMHg1MCwgMHhlZn0gfSwKLXsgMHg5MzIxLAkxNiwJezB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4OTMsIDB4ZDIsIDB4YWYsIDB4NTQsIDB4YWUsIDB4NTMsIDB4MTIsIDB4ODcsIDB4YTYsIDB4OGYsIDB4NTB9IH0sCi17IDB4OTMzMSwJMTYsCXsweGU1LCAweDUwLCAweDcwLCAweDAzLCAweDAyLCAweDkzLCAweGQyLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzLCAweDgzLCAweGUwLCAweDc1LCAweGYwfSB9LAoteyAweDkzNDEsCTE2LAl7MHgwZCwgMHhhNCwgMHgyNCwgMHhmNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhhZiwgMHg4MiwgMHhmZSwgMHgxMiwgMHg4NywgMHhhNiwgMHgwMn0gfSwKLXsgMHg5MzUxLAkxNiwJezB4OTMsIDB4ZDIsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4OGMsIDB4YTYsIDB4OGYsIDB4NTAsIDB4ODAsIDB4NzQsIDB4YWYsIDB4NTYsIDB4YWV9IH0sCi17IDB4OTM2MSwJMTYsCXsweDU1LCAweDEyLCAweDhkLCAweDI3LCAweDhmLCAweDUwLCAweDgwLCAweDY5LCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDhkLCAweDcwLCAweDhmfSB9LAoteyAweDkzNzEsCTE2LAl7MHg1MCwgMHg4MCwgMHg1ZSwgMHhhZiwgMHg0ZiwgMHhhZSwgMHg0ZSwgMHgxMiwgMHg4ZSwgMHg5OSwgMHg4ZiwgMHg1MCwgMHg4MCwgMHg1MywgMHhhZiwgMHg1Nn0gfSwKLXsgMHg5MzgxLAkxNiwJezB4YWUsIDB4NTUsIDB4MTIsIDB4OGIsIDB4YmQsIDB4OGYsIDB4NTAsIDB4ODAsIDB4NDgsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4ODYsIDB4MmR9IH0sCi17IDB4OTM5MSwJMTYsCXsweDhmLCAweDUwLCAweDgwLCAweDNkLCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDhjLCAweDYyLCAweDhmLCAweDUwLCAweDgwLCAweDMyLCAweDEyfSB9LAoteyAweDkzYTEsCTE2LAl7MHg5MSwgMHhiOSwgMHg4ZiwgMHg1MCwgMHg4MCwgMHgyYiwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NSwgMHgxMiwgMHg4ZCwgMHhiNSwgMHg4ZiwgMHg1MCwgMHg4MH0gfSwKLXsgMHg5M2IxLAkxNiwJezB4MjAsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4OGQsIDB4ZDYsIDB4OGYsIDB4NTAsIDB4ODAsIDB4MTUsIDB4YWYsIDB4NGYsIDB4YWUsIDB4NGV9IH0sCi17IDB4OTNjMSwJMTYsCXsweDdjLCAweDAyLCAweDdkLCAweGFmLCAweDdiLCAweDQwLCAweDEyLCAweDkxLCAweDM3LCAweGU0LCAweGY1LCAweDUwLCAweDgwLCAweDAzLCAweDc1LCAweDUwfSB9LAoteyAweDkzZDEsCTE2LAl7MHhmZiwgMHhlNSwgMHg1MCwgMHg2MCwgMHgxZCwgMHg5MCwgMHgwMSwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg4NSwgMHg1MiwgMHg4MiwgMHg4NSwgMHg1MX0gfSwKLXsgMHg5M2UxLAkxNiwJezB4ODMsIDB4ZTAsIDB4OTAsIDB4MDEsIDB4OTksIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4OTgsIDB4N2QsIDB4MDIsIDB4MTIsIDB4OTEsIDB4NmEsIDB4YWZ9IH0sCi17IDB4OTNmMSwJMTYsCXsweDUwLCAweDIyLCAweDg1LCAweDUyLCAweDgyLCAweDg1LCAweDUxLCAweDgzLCAweGUwLCAweGZmLCAweDE0LCAweDI0LCAweGZhLCAweDUwLCAweDA0LCAweDI0fSB9LAoteyAweDk0MDEsCTE2LAl7MHhmZSwgMHg3MCwgMHgxZiwgMHg5MCwgMHgwMSwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHg4NSwgMHg1NiwgMHg4MiwgMHg4NX0gfSwKLXsgMHg5NDExLAkxNiwJezB4NTUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4MDEsIDB4OWEsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4OTgsIDB4N2QsIDB4MDMsIDB4MTIsIDB4OTEsIDB4NmF9IH0sCi17IDB4OTQyMSwJNCwJezB4OGYsIDB4NTAsIDB4YWYsIDB4NTB9IH0sCi17IDB4OTQyNSwJMSwJezB4MjJ9IH0sCi17IDB4OTQyNiwJOCwJezB4OGYsIDB4NTEsIDB4OGUsIDB4NTAsIDB4OGQsIDB4NGYsIDB4OGMsIDB4NGV9IH0sCi17IDB4OTQyZSwJMTYsCXsweDc1LCAweDU4LCAweDAxLCAweDc1LCAweDU5LCAweDljLCAweGU0LCAweGY1LCAweDU3LCAweGFmLCAweDUzLCAweDE1LCAweDUzLCAweGVmLCAweDcwLCAweDAzfSB9LAoteyAweDk0M2UsCTE2LAl7MHgwMiwgMHg5NCwgMHhjNCwgMHhhZiwgMHg1MiwgMHhlNCwgMHhmYywgMHhmZCwgMHhmZSwgMHhmOCwgMHhmOSwgMHhmYSwgMHhhYiwgMHgwNywgMHhhZiwgMHg1MX0gfSwKLXsgMHg5NDRlLAkxNiwJezB4YWUsIDB4NTAsIDB4YWQsIDB4NGYsIDB4YWMsIDB4NGUsIDB4MTIsIDB4YTMsIDB4MjEsIDB4YWYsIDB4MDMsIDB4OGYsIDB4NTYsIDB4YWYsIDB4NTEsIDB4YWV9IH0sCi17IDB4OTQ1ZSwJMTYsCXsweDUwLCAweGFkLCAweDRmLCAweGFjLCAweDRlLCAweGMwLCAweDA0LCAweGMwLCAweDA1LCAweGMwLCAweDA2LCAweGMwLCAweDA3LCAweGFmLCAweDUyLCAweGU0fSB9LAoteyAweDk0NmUsCTE2LAl7MHhmYywgMHhmZCwgMHhmZSwgMHhmOCwgMHhmOSwgMHhmYSwgMHhhYiwgMHgwNywgMHhkMCwgMHgwNywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwNSwgMHhkMCwgMHgwNH0gfSwKLXsgMHg5NDdlLAkxNiwJezB4MTIsIDB4YTMsIDB4MjEsIDB4OGYsIDB4NTEsIDB4OGUsIDB4NTAsIDB4OGQsIDB4NGYsIDB4OGMsIDB4NGUsIDB4ZTUsIDB4NTYsIDB4MjQsIDB4MzAsIDB4ZjV9IH0sCi17IDB4OTQ4ZSwJMTYsCXsweDU2LCAweGQzLCAweDk0LCAweDM5LCAweDQwLCAweDA2LCAweDc0LCAweDA3LCAweDI1LCAweDU2LCAweGY1LCAweDU2LCAweDA1LCAweDU5LCAweGU1LCAweDU5fSB9LAoteyAweDk0OWUsCTE2LAl7MHhhZSwgMHg1OCwgMHg3MCwgMHgwMiwgMHgwNSwgMHg1OCwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNCwgMHhmMCwgMHgwNSwgMHg1OSwgMHhlNX0gfSwKLXsgMHg5NGFlLAkxNiwJezB4NTksIDB4YWUsIDB4NTgsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTgsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4NTYsIDB4ZjAsIDB4MDV9IH0sCi17IDB4OTRiZSwJMTYsCXsweDU3LCAweDA1LCAweDU3LCAweDAyLCAweDk0LCAweDM3LCAweGU1LCAweDU5LCAweDE1LCAweDU5LCAweDcwLCAweDAyLCAweDE1LCAweDU4LCAweGFmLCAweDU3fSB9LAoteyAweDk0Y2UsCTE2LAl7MHgxNSwgMHg1NywgMHhlZiwgMHg2MCwgMHgyMywgMHhlNSwgMHg1OSwgMHgxNSwgMHg1OSwgMHhhZSwgMHg1OCwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1OCwgMHhmNX0gfSwKLXsgMHg5NGRlLAkxNiwJezB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NTUsIDB4ZTUsIDB4NTUsIDB4YWMsIDB4NTQsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTQsIDB4MTR9IH0sCi17IDB4OTRlZSwJOCwJezB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4ZDZ9IH0sCi17IDB4OTRmNiwJMSwJezB4MjJ9IH0sCi17IDB4OTRmNywJMTYsCXsweGU0LCAweDkwLCAweDAxLCAweGM5LCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweGNhLCAweDkwLCAweDAxLCAweGJlLCAweGVlLCAweGYwLCAweGEzLCAweGVmfSB9LAoteyAweDk1MDcsCTEwLAl7MHhmMCwgMHg5MCwgMHgwMSwgMHhjMiwgMHhlZSwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHgyMn0gfSwKLXsgMHg5NTExLAkxNiwJezB4YWEsIDB4MDcsIDB4YTksIDB4MDUsIDB4OTAsIDB4MDEsIDB4YzksIDB4ZTAsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjEsIDB4YWMsIDB4MDIsIDB4NzR9IH0sCi17IDB4OTUyMSwJMTYsCXsweDAxLCAweDdlLCAweDAwLCAweGE4LCAweDA0LCAweDA4LCAweDgwLCAweDA1LCAweGMzLCAweDMzLCAweGNlLCAweDMzLCAweGNlLCAweGQ4LCAweGY5LCAweGZmfSB9LAoteyAweDk1MzEsCTE2LAl7MHhlNCwgMHhlZiwgMHg1NSwgMHgzNCwgMHg2MCwgMHg0NSwgMHhlYSwgMHgwNCwgMHhmZiwgMHg5MCwgMHgwMSwgMHhjMiwgMHhlMCwgMHhmYywgMHhhMywgMHhlMH0gfSwKLXsgMHg5NTQxLAkxNiwJezB4ZmQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4YTMsIDB4ZTksIDB4ZjAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4YTN9IH0sCi17IDB4OTU1MSwJMTYsCXsweGViLCAweGYwLCAweDkwLCAweDAxLCAweGMyLCAweGU0LCAweDc1LCAweGYwLCAweDAzLCAweDEyLCAweGEyLCAweDgxLCAweGZjLCAweGQzLCAweGU1LCAweGYwfSB9LAoteyAweDk1NjEsCTE2LAl7MHg5NCwgMHg4NywgMHhlYywgMHg5NCwgMHgwMiwgMHg0MCwgMHgwYSwgMHg5MCwgMHgwMSwgMHhjMiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHhjYX0gfSwKLXsgMHg5NTcxLAkxNiwJezB4ZjAsIDB4YzIsIDB4YWYsIDB4OTAsIDB4MDEsIDB4YzksIDB4ZTAsIDB4MDQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4N2YsIDB4MDEsIDB4MjIsIDB4N2YsIDB4MDB9IH0sCi17IDB4OTU4MSwJMSwJezB4MjJ9IH0sCi17IDB4OTU4MiwJMTYsCXsweDkwLCAweDAxLCAweGM5LCAweGUwLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDU1LCAweDkwLCAweDAxLCAweGJlLCAweGUwLCAweGZjLCAweGEzLCAweGUwfSB9LAoteyAweDk1OTIsCTE2LAl7MHhhYSwgMHgwNCwgMHhmOSwgMHg3YiwgMHgwMSwgMHhjMCwgMHgwMywgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMSwgMHhhYSwgMHgwNiwgMHhhOSwgMHgwNywgMHhhOH0gfSwKLXsgMHg5NWEyLAkxNiwJezB4MDEsIDB4YWMsIDB4MDIsIDB4YWQsIDB4MDMsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDMsIDB4N2UsIDB4MDAsIDB4N2YsIDB4MDMsIDB4MTJ9IH0sCi17IDB4OTViMiwJMTYsCXsweGEyLCAweDEyLCAweDkwLCAweDAxLCAweGJlLCAweGU0LCAweDc1LCAweGYwLCAweDAzLCAweDEyLCAweGEyLCAweDgxLCAweGZjLCAweGQzLCAweGU1LCAweGYwfSB9LAoteyAweDk1YzIsCTE2LAl7MHg5NCwgMHg4NywgMHhlYywgMHg5NCwgMHgwMiwgMHg0MCwgMHgwYSwgMHg5MCwgMHgwMSwgMHhiZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHhjYX0gfSwKLXsgMHg5NWQyLAkxNiwJezB4ZjAsIDB4YzIsIDB4YWYsIDB4OTAsIDB4MDEsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4N2YsIDB4MDEsIDB4MjIsIDB4N2YsIDB4MDB9IH0sCi17IDB4OTVlMiwJMSwJezB4MjJ9IH0sCi17IDB4OTVlMywJMTYsCXsweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDIwLCAweGUxLCAweDczLCAweDdlLCAweDdiLCAweDdmLCAweDgwLCAweDc1LCAweDUzLCAweDdiLCAweDc1LCAweDU0fSB9LAoteyAweDk1ZjMsCTE2LAl7MHg4MCwgMHhlNSwgMHg1NCwgMHgyNCwgMHgwMSwgMHhmZiwgMHhlNCwgMHgzNSwgMHg1MywgMHhhOSwgMHgwNywgMHg3YiwgMHgwMSwgMHg4YiwgMHg1NSwgMHhmNX0gfSwKLXsgMHg5NjAzLAkxNiwJezB4NTYsIDB4ODksIDB4NTcsIDB4ZmUsIDB4MTIsIDB4OTUsIDB4ODIsIDB4ZWYsIDB4NjAsIDB4NTAsIDB4YWIsIDB4NTUsIDB4YWEsIDB4NTYsIDB4YTksIDB4NTd9IH0sCi17IDB4OTYxMywJMTYsCXsweDEyLCAweGEyLCAweDNiLCAweDE0LCAweGZmLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweGEyLCAweDU0LCAweGI0LCAweDAyLCAweDE2LCAweGMyLCAweGFmfSB9LAoteyAweDk2MjMsCTE2LAl7MHhlZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NH0gfSwKLXsgMHg5NjMzLAkxNiwJezB4MDQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4NzQsIDB4MDEsIDB4N2UsIDB4MDAsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDUsIDB4YzMsIDB4MzMsIDB4Y2V9IH0sCi17IDB4OTY0MywJMTYsCXsweDMzLCAweGNlLCAweGQ4LCAweGY5LCAweGZmLCAweGU0LCAweGVmLCAweDU1LCAweDM0LCAweDYwLCAweDBmLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzfSB9LAoteyAweDk2NTMsCTEwLAl7MHg4MywgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwNCwgMHhmMH0gfSwKLXsgMHg5NjVkLAkxLAl7MHgyMn0gfSwKLXsgMHg5NjVlLAkxNiwJezB4MTIsIDB4OTUsIDB4ZTMsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4NzQsIDB4M2EsIDB4MjUsIDB4NGUsIDB4ZjgsIDB4ZTYsIDB4NTQsIDB4ZjAsIDB4ZjUsIDB4NGZ9IH0sCi17IDB4OTY2ZSwJMTYsCXsweDc0LCAweGM1LCAweDI1LCAweDRlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAxLCAweGY1LCAweDgzLCAweGUwLCAweDY1LCAweDRmLCAweGZmLCAweGM0fSB9LAoteyAweDk2N2UsCTE2LAl7MHg1NCwgMHgwZiwgMHhmNSwgMHg1MCwgMHg2MCwgMHgyMiwgMHg3NCwgMHhjNSwgMHgyNSwgMHg0ZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMSwgMHhmNX0gfSwKLXsgMHg5NjhlLAkxNiwJezB4ODMsIDB4ZTUsIDB4NGYsIDB4ZjAsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDEsIDB4ZTUsIDB4NGYsIDB4NDUsIDB4NTAsIDB4ZmIsIDB4MTIsIDB4OTUsIDB4MTF9IH0sCi17IDB4OTY5ZSwJMTYsCXsweGVmLCAweDcwLCAweDA1LCAweDEyLCAweDk1LCAweGUzLCAweDgwLCAweGVjLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGMzLCAweDk0LCAweDA0LCAweDQwfSB9LAoteyAweDk2YWUsCTE2LAl7MHhiNSwgMHgxMiwgMHg5NSwgMHhlMywgMHhlNSwgMHgzZSwgMHg2MCwgMHg0OCwgMHhlNCwgMHhmNSwgMHg0ZSwgMHhhZiwgMHg0ZSwgMHg3NCwgMHgwMSwgMHhhOH0gfSwKLXsgMHg5NmJlLAkxNiwJezB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjUsIDB4NGYsIDB4NTUsIDB4M2UsIDB4NjAsIDB4MjksIDB4ZTUsIDB4NGV9IH0sCi17IDB4OTZjZSwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU2fSB9LAoteyAweDk2ZGUsCTE2LAl7MHgxNiwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwNCwgMHg3YiwgMHg4MCwgMHgxMiwgMHg5NSwgMHgxMSwgMHhlZiwgMHg3MCwgMHgwNSwgMHgxMiwgMHg5NSwgMHhlM30gfSwKLXsgMHg5NmVlLAkxNiwJezB4ODAsIDB4ZWYsIDB4ZTUsIDB4NGYsIDB4ZjQsIDB4NTIsIDB4M2UsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4YmJ9IH0sCi17IDB4OTZmZSwJMTYsCXsweDkwLCAweDAzLCAweDAwLCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDk3LCAweGRmLCAweDc0LCAweDE5LCAweGYwLCAweGU1LCAweDMzLCAweGMzLCAweDk0fSB9LAoteyAweDk3MGUsCTE2LAl7MHgwMSwgMHg0MCwgMHgwZCwgMHg5MCwgMHgyMCwgMHg3OCwgMHhlMCwgMHg1NCwgMHgwZiwgMHg3NSwgMHg1MSwgMHgwMCwgMHhmNSwgMHg1MiwgMHg4MCwgMHgwOX0gfSwKLXsgMHg5NzFlLAkxNiwJezB4N2YsIDB4MDIsIDB4MTIsIDB4MTEsIDB4MjcsIDB4OGUsIDB4NTEsIDB4OGYsIDB4NTIsIDB4YzMsIDB4ZTUsIDB4NTEsIDB4NjQsIDB4ODAsIDB4OTQsIDB4ODB9IH0sCi17IDB4OTcyZSwJMTYsCXsweDQwLCAweGRhLCAweDkwLCAweDAxLCAweGJjLCAweGUwLCAweDY1LCAweDUyLCAweGYwLCAweDYwLCAweDM3LCAweGU0LCAweGY1LCAweDRlLCAweGFmLCAweDRlfSB9LAoteyAweDk3M2UsCTE2LAl7MHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNSwgMHg0ZiwgMHg5MCwgMHgwMSwgMHhiY30gfSwKLXsgMHg5NzRlLAkxNiwJezB4ZTAsIDB4NTUsIDB4NGYsIDB4NjAsIDB4MTQsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDgsIDB4ZTUsIDB4NGYsIDB4NTUsIDB4NTIsIDB4ZmIsIDB4MTIsIDB4OTV9IH0sCi17IDB4OTc1ZSwJMTYsCXsweDExLCAweGVmLCAweDcwLCAweDA1LCAweDEyLCAweDk1LCAweGUzLCAweDgwLCAweGVjLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGMzLCAweDk0LCAweDA0fSB9LAoteyAweDk3NmUsCTE2LAl7MHg0MCwgMHhjYywgMHg5MCwgMHgwMSwgMHhiYywgMHhlNSwgMHg1MiwgMHhmMCwgMHhlNCwgMHhmNSwgMHg0ZSwgMHhjMiwgMHhhZiwgMHg3NCwgMHgzNiwgMHgyNX0gfSwKLXsgMHg5NzdlLAkxNiwJezB4NGUsIDB4ZjgsIDB4ZTYsIDB4ZjUsIDB4NGYsIDB4ZTQsIDB4ZjYsIDB4ZDIsIDB4YWYsIDB4NTMsIDB4NGYsIDB4MWUsIDB4ZTUsIDB4NGYsIDB4NjAsIDB4MTF9IH0sCi17IDB4OTc4ZSwJMTYsCXsweGFmLCAweDRlLCAweDdkLCAweDAyLCAweGFiLCAweDRmLCAweDEyLCAweDk1LCAweDExLCAweGVmLCAweDcwLCAweDA1LCAweDEyLCAweDk1LCAweGUzLCAweDgwfSB9LAoteyAweDk3OWUsCTE2LAl7MHhlZiwgMHg3NCwgMHgyZCwgMHgyNSwgMHg0ZSwgMHhmOCwgMHhlNiwgMHhmNSwgMHg0ZiwgMHg3NCwgMHhmYywgMHgyNSwgMHg0ZSwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHg5N2FlLAkxNiwJezB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjUsIDB4NGYsIDB4NjAsIDB4MTEsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDQsIDB4YWIsIDB4NGYsIDB4MTJ9IH0sCi17IDB4OTdiZSwJMTYsCXsweDk1LCAweDExLCAweGVmLCAweDcwLCAweDA1LCAweDEyLCAweDk1LCAweGUzLCAweDgwLCAweGVmLCAweDc0LCAweGZjLCAweDI1LCAweDRlLCAweGY1LCAweDgyfSB9LAoteyAweDk3Y2UsCTE2LAl7MHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlNSwgMHg0ZiwgMHhmMCwgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MH0gfSwKLXsgMHg5N2RlLAk0LAl7MHg5YSwgMHgxMiwgMHg5NSwgMHhlM30gfSwKLXsgMHg5N2UyLAkxLAl7MHgyMn0gfSwKLXsgMHg5N2UzLAkxMiwJezB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4NjcsIDB4MDIsIDB4OTgsIDB4MmF9IH0sCi17IDB4OTdlZiwJMTYsCXsweDAyLCAweDA1LCAweGFkLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyfSB9LAoteyAweDk3ZmYsCTE2LAl7MHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzM30gfSwKLXsgMHg5ODBmLAkxNiwJezB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGZ9IH0sCi17IDB4OTgxZiwJMTYsCXsweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDk4LCAweDZmLCAweGU0LCAweDdlfSB9LAoteyAweDk4MmYsCTE2LAl7MHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5M30gfSwKLXsgMHg5ODNmLAkxNiwJezB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTN9IH0sCi17IDB4OTg0ZiwJMTYsCXsweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhfSB9LAoteyAweDk4NWYsCTE2LAl7MHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZX0gfSwKLXsgMHg5ODZmLAkxNiwJezB4NjAsIDB4MjQsIDB4MDIsIDB4OGEsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4ODEsIDB4ODIsIDB4ODQsIDB4ODh9IH0sCi17IDB4OTg3ZiwJMTYsCXsweDkwLCAweGEwLCAweGMwLCAweGMxLCAweGMyLCAweGM0LCAweGM4LCAweGQwLCAweGUwLCAweGUxLCAweGUyLCAweGU0LCAweGU4LCAweGYwLCAweGYxLCAweGYyfSB9LAoteyAweDk4OGYsCTgsCXsweGY0LCAweGY4LCAweGY5LCAweGZhLCAweGZjLCAweGZkLCAweGZlLCAweGZmfSB9LAoteyAweDk4OTcsCTEsCXsweDAwfSB9LAoteyAweDk4OTgsCTgsCXsweDhiLCAweDU5LCAweDhhLCAweDVhLCAweDg5LCAweDViLCAweDhkLCAweDVjfSB9LAoteyAweDk4YTAsCTE2LAl7MHhlNCwgMHhmNSwgMHg1ZCwgMHhmNSwgMHg1ZSwgMHhhZiwgMHg1YywgMHgxNSwgMHg1YywgMHhlZiwgMHg2MCwgMHgzNiwgMHhhYiwgMHg1OSwgMHgwNSwgMHg1Yn0gfSwKLXsgMHg5OGIwLAkxNiwJezB4ZTUsIDB4NWIsIDB4YWEsIDB4NWEsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NWEsIDB4MTQsIDB4ZjksIDB4MTIsIDB4YTIsIDB4M2IsIDB4ZmYsIDB4ZTUsIDB4NWR9IH0sCi17IDB4OThjMCwJMTYsCXsweGU1LCAweDVlLCAweDZmLCAweDI1LCAweGUwLCAweGZmLCAweGU0LCAweDMzLCAweGZlLCAweDc0LCAweDk1LCAweDJmLCAweGY1LCAweDgyLCAweGVlLCAweDM0fSB9LAoteyAweDk4ZDAsCTE2LAl7MHg5ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg1ZCwgMHhmZiwgMHhlNCwgMHg5MywgMHhmNSwgMHg1ZCwgMHg3NCwgMHgwMSwgMHg5MywgMHg2ZiwgMHhmNSwgMHg1ZX0gfSwKLXsgMHg5OGUwLAk2LAl7MHg4MCwgMHhjMywgMHhhZSwgMHg1ZCwgMHhhZiwgMHg1ZX0gfSwKLXsgMHg5OGU2LAkxLAl7MHgyMn0gfSwKLXsgMHg5OGU3LAkxMSwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTh9IH0sCi17IDB4OThmMiwJMTYsCXsweDkwLCAweDIwLCAweDYwLCAweGUwLCAweDU0LCAweDBmLCAweGZlLCAweDMwLCAweGUwLCAweDA1LCAweDkwLCAweDIwLCAweDAyLCAweGUwLCAweGZmLCAweGVlfSB9LAoteyAweDk5MDIsCTE2LAl7MHgzMCwgMHhlMSwgMHgwNSwgMHg5MCwgMHgyMCwgMHgwYSwgMHhlMCwgMHhmZiwgMHhlZSwgMHgzMCwgMHhlMiwgMHgwNSwgMHg5MCwgMHgyMCwgMHgxMiwgMHhlMH0gfSwKLXsgMHg5OTEyLAkxNiwJezB4ZmYsIDB4ZWUsIDB4MzAsIDB4ZTMsIDB4MDUsIDB4OTAsIDB4MjAsIDB4MWEsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZTAsIDB4YjUsIDB4MWV9IH0sCi17IDB4OTkyMiwJMTAsCXsweDA0LCAweGU0LCAweGYwLCAweDgwLCAweDA1LCAweDkwLCAweDAxLCAweGM0LCAweGVlLCAweGYwfSB9LAoteyAweDk5MmMsCTksCXsweGQwLCAweGQwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDk5MzUsCTIsCXsweGE5LCAweDAzfSB9LAoteyAweDk5MzcsCTE2LAl7MHhlZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhYiwgMHg4MiwgMHhmYSwgMHhlNX0gfSwKLXsgMHg5OTQ3LAkxNiwJezB4NWMsIDB4NDUsIDB4NWQsIDB4ZjUsIDB4NWUsIDB4ZTksIDB4NjAsIDB4MTQsIDB4OGEsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4OTk1NywJMTYsCXsweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDRkLCAweGYwLCAweGU0LCAweGZlLCAweDgwLCAweDEzLCAweGViLCAweDI0LCAweDA0LCAweGY1fSB9LAoteyAweDk5NjcsCTE2LAl7MHg4MiwgMHhlNCwgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlZCwgMHhmNCwgMHhmYywgMHhlZiwgMHg1YywgMHhmMCwgMHhhZSwgMHg1ZSwgMHhlYn0gfSwKLXsgMHg5OTc3LAkxNiwJezB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTUsIDB4NWUsIDB4ZmMsIDB4YjUsIDB4MDYsIDB4MDMsIDB4YWZ9IH0sCi17IDB4OTk4NywJMTYsCXsweDA1LCAweDIyLCAweGU1LCAweDVjLCAweDVjLCAweGZlLCAweGU1LCAweDVkLCAweDVjLCAweGZkLCAweGU5LCAweDYwLCAweDE2LCAweGVlLCAweDcwLCAweDA0fSB9LAoteyAweDk5OTcsCTE2LAl7MHg3ZiwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHhhZSwgMHgwNywgMHhlZCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3Zn0gfSwKLXsgMHg5OWE3LAkxNiwJezB4MDAsIDB4YWQsIDB4MDcsIDB4ZWUsIDB4NjAsIDB4MDMsIDB4YWYsIDB4NWMsIDB4MjIsIDB4ZWQsIDB4NjAsIDB4MDMsIDB4YWYsIDB4NWQsIDB4MjIsIDB4N2Z9IH0sCi17IDB4OTliNywJMSwJezB4MDB9IH0sCi17IDB4OTliOCwJMSwJezB4MjJ9IH0sCi17IDB4OTliOSwJMTYsCXsweDc1LCAweDU1LCAweDAyLCAweDc1LCAweDU2LCAweGIwLCAweDkwLCAweDAzLCAweDM1LCAweDc0LCAweDBmLCAweGYwLCAweDg1LCAweDU2LCAweDgyLCAweDg1fSB9LAoteyAweDk5YzksCTE2LAl7MHg1NSwgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHg5MCwgMHgwMywgMHgzNywgMHhmMCwgMHg4NSwgMHg1NiwgMHg4MiwgMHg4NSwgMHg1NSwgMHg4MywgMHhlMH0gfSwKLXsgMHg5OWQ5LAkxNiwJezB4OTAsIDB4MDMsIDB4MzYsIDB4ZjAsIDB4OTAsIDB4MDMsIDB4MzgsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4NzUsIDB4NTcsIDB4MDMsIDB4NzUsIDB4NTgsIDB4Mzl9IH0sCi17IDB4OTllOSwJMTYsCXsweGVmLCAweDE0LCAweGI0LCAweDBiLCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDllLCAweDVkLCAweDkwLCAweDk5LCAweGZhLCAweGY4LCAweDI4LCAweDI4fSB9LAoteyAweDk5ZjksCTE2LAl7MHg3MywgMHgwMiwgMHg5YSwgMHgxYiwgMHgwMiwgMHg5YSwgMHhiYSwgMHgwMiwgMHg5YiwgMHhiZiwgMHgwMiwgMHg5YiwgMHhkZSwgMHgwMiwgMHg5YiwgMHhkZX0gfSwKLXsgMHg5YTA5LAkxNiwJezB4MDIsIDB4OWMsIDB4OTQsIDB4MDIsIDB4OWMsIDB4Y2YsIDB4MDIsIDB4OWMsIDB4ZjQsIDB4MDIsIDB4OWQsIDB4YjIsIDB4MDIsIDB4OWQsIDB4ZTIsIDB4MDJ9IH0sCi17IDB4OWExOSwJMTYsCXsweDllLCAweDBlLCAweGU0LCAweGY1LCAweDRlLCAweGU1LCAweDRlLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDlhMjksCTE2LAl7MHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmNSwgMHg1MywgMHg4ZiwgMHg1NCwgMHhlNCwgMHhmZiwgMHhlNCwgMHhmZSwgMHhlZiwgMHg2MCwgMHgxMCwgMHg3NH0gfSwKLXsgMHg5YTM5LAkxNiwJezB4OGEsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjQsIDB4ZjUsIDB4NGYsIDB4ODAsIDB4MGQsIDB4NzR9IH0sCi17IDB4OWE0OSwJMTYsCXsweDhhLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDRmLCAweGU1LCAweDU0LCAweDI0LCAweDA3fSB9LAoteyAweDlhNTksCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1MywgMHhmNSwgMHg4MywgMHhlNSwgMHg0ZiwgMHhmMCwgMHhlMCwgMHhmNSwgMHg1MCwgMHg2NSwgMHg0ZiwgMHg2MH0gfSwKLXsgMHg5YTY5LAkxNiwJezB4MzgsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ZTUsIDB4NGUsIDB4MDQsIDB4ZmQsIDB4MDUsIDB4NTgsIDB4ZTUsIDB4NTgsIDB4YWEsIDB4NTd9IH0sCi17IDB4OWE3OSwJMTYsCXsweDcwLCAweDAyLCAweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhhLCAweDgzLCAweGVkLCAweGYwLCAweDA1LCAweDU4LCAweGU1LCAweDU4LCAweGFjfSB9LAoteyAweDlhODksCTE2LAl7MHg1NywgMHg3MCwgMHgwMiwgMHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlNSwgMHg0ZiwgMHhmMCwgMHg4NSwgMHg1OCwgMHg4Mn0gfSwKLXsgMHg5YTk5LAkxNiwJezB4ODUsIDB4NTcsIDB4ODMsIDB4ZTUsIDB4NTAsIDB4ZjAsIDB4MDIsIDB4OWUsIDB4NjMsIDB4MGUsIDB4YmUsIDB4MjQsIDB4OGYsIDB4MGYsIDB4ZWYsIDB4NjR9IH0sCi17IDB4OWFhOSwJMTYsCXsweDAyLCAweDcwLCAweDg3LCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweDY0LCAweDA0LCAweDYwLCAweDAzLCAweDAyLCAweDlhLCAweDFlLCAweDAyLCAweDllfSB9LAoteyAweDlhYjksCTE2LAl7MHg2MywgMHhlNCwgMHhmNSwgMHg0ZSwgMHhhZiwgMHg0ZSwgMHhlNCwgMHhmZCwgMHgxMiwgMHg4MywgMHg1YSwgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhkM30gfSwKLXsgMHg5YWM5LAkxNiwJezB4OTQsIDB4MDMsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4MDAsIDB4MDQsIDB4NzQsIDB4OTgsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ZTcsIDB4ZjAsIDB4ZTQsIDB4ZjV9IH0sCi17IDB4OWFkOSwJMTYsCXsweDUwLCAweDdlLCAweDIwLCAweDdmLCAweDAwLCAweDc1LCAweDUzLCAweDIwLCAweDc1LCAweDU0LCAweDAwLCAweGY1LCAweDRlLCAweGFmLCAweDRlLCAweDc0fSB9LAoteyAweDlhZTksCTE2LAl7MHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNSwgMHg0ZiwgMHg5MCwgMHgwMSwgMHhjNCwgMHhmMH0gfSwKLXsgMHg5YWY5LAkxNiwJezB4OTAsIDB4MDEsIDB4YzAsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4ODUsIDB4NTQsIDB4ODIsIDB4ODUsIDB4NTMsIDB4ODMsIDB4YTN9IH0sCi17IDB4OWIwOSwJMTYsCXsweDc0LCAweDAyLCAweGYwLCAweDkwLCAweDAxLCAweGM0LCAweGUwLCAweGI1LCAweDRmLCAweDM0LCAweDkwLCAweDAxLCAweGMwLCAweGUwLCAweDcwLCAweDAyfSB9LAoteyAweDliMTksCTE2LAl7MHhhMywgMHhlMCwgMHg3MCwgMHhlZiwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHhlNSwgMHg0ZSwgMHgwNCwgMHhmZiwgMHgwNSwgMHg1OCwgMHhlNSwgMHg1OH0gfSwKLXsgMHg5YjI5LAkxNiwJezB4YWMsIDB4NTcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4NTgsIDB4ODJ9IH0sCi17IDB4OWIzOSwJMTYsCXsweDg1LCAweDU3LCAweDgzLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDAxLCAweGM0LCAweGYwLCAweDc1LCAweDUwLCAweGZmLCAweDkwLCAweDAxfSB9LAoteyAweDliNDksCTE2LAl7MHhjNCwgMHhlMCwgMHhmZiwgMHg2MCwgMHgzNywgMHhlNCwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHhlNSwgMHg0ZSwgMHgwNCwgMHhmZSwgMHgwNSwgMHg1OH0gfSwKLXsgMHg5YjU5LAkxNiwJezB4ZTUsIDB4NTgsIDB4YWMsIDB4NTcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWUsIDB4ZjAsIDB4MDV9IH0sCi17IDB4OWI2OSwJMTYsCXsweDU4LCAweGU1LCAweDU4LCAweGFjLCAweDU3LCAweDcwLCAweDAyLCAweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwfSB9LAoteyAweDliNzksCTE2LAl7MHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhlNSwgMHg0ZiwgMHhmMCwgMHg3NSwgMHg1MCwgMHhmZiwgMHhlNSwgMHg1MCwgMHg3MCwgMHgxNn0gfSwKLXsgMHg5Yjg5LAkxNiwJezB4NzQsIDB4MDgsIDB4MjUsIDB4NTQsIDB4ZjUsIDB4NTQsIDB4ZTQsIDB4MzUsIDB4NTMsIDB4ZjUsIDB4NTMsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4NjR9IH0sCi17IDB4OWI5OSwJMTYsCXsweDA0LCAweDYwLCAweDAzLCAweDAyLCAweDlhLCAweGU2LCAweGU0LCAweGY1LCAweDRlLCAweGFmLCAweDRlLCAweDdkLCAweDAxLCAweDEyLCAweDgzLCAweDVhfSB9LAoteyAweDliYTksCTE2LAl7MHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhkMywgMHg5NCwgMHgwMywgMHg0MCwgMHhmMCwgMHg5MCwgMHgwMCwgMHgwNCwgMHg3NCwgMHgxMywgMHhmMCwgMHhhM30gfSwKLXsgMHg5YmI5LAkxNiwJezB4NzQsIDB4MTIsIDB4ZjAsIDB4MDIsIDB4OWUsIDB4NjMsIDB4ODUsIDB4NTYsIDB4ODIsIDB4ODUsIDB4NTUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmYsIDB4NzR9IH0sCi17IDB4OWJjOSwJMTYsCXsweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDkwLCAweDAyLCAweGY3LCAweGYwLCAweDkwLCAweDAxfSB9LAoteyAweDliZDksCTE2LAl7MHhjNCwgMHhmMCwgMHgwMiwgMHg5ZSwgMHg2MywgMHg5MCwgMHgwMSwgMHhjMCwgMHg3NCwgMHgwMywgMHhmMCwgMHhhMywgMHg3NCwgMHhlOCwgMHhmMCwgMHhlNH0gfSwKLXsgMHg5YmU5LAkxNiwJezB4ZjUsIDB4NTAsIDB4OTAsIDB4MDIsIDB4ZjcsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZTAsIDB4YjUsIDB4MDcsIDB4MTksIDB4OTAsIDB4MDF9IH0sCi17IDB4OWJmOSwJMTYsCXsweGMwLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDcwLCAweGVhLCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweDg1LCAweDU4LCAweDgyLCAweDg1fSB9LAoteyAweDljMDksCTE2LAl7MHg1NywgMHg4MywgMHg3NCwgMHhmZiwgMHhmMCwgMHhmNSwgMHg1MCwgMHhlNSwgMHg1MCwgMHg2MCwgMHgwMywgMHgwMiwgMHg5ZSwgMHg2MywgMHg5MCwgMHgwMX0gfSwKLXsgMHg5YzE5LAkxNiwJezB4YzAsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YzAsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NzAsIDB4ZjZ9IH0sCi17IDB4OWMyOSwJMTYsCXsweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDQwLCAweDBkLCAweDkwLCAweDIwLCAweDc4LCAweGUwLCAweDU0LCAweDBmLCAweDc1LCAweDUxLCAweDAwfSB9LAoteyAweDljMzksCTE2LAl7MHhmNSwgMHg1MiwgMHg4MCwgMHgwOSwgMHg3ZiwgMHgwMiwgMHgxMiwgMHgxMSwgMHgyNywgMHg4ZSwgMHg1MSwgMHg4ZiwgMHg1MiwgMHhjMywgMHhlNSwgMHg1MX0gfSwKLXsgMHg5YzQ5LAkxNiwJezB4NjQsIDB4ODAsIDB4OTQsIDB4ODAsIDB4NDAsIDB4ZGEsIDB4ZTUsIDB4NTIsIDB4NTQsIDB4MGYsIDB4ZjUsIDB4NTAsIDB4OTAsIDB4MDIsIDB4ZjcsIDB4ZTB9IH0sCi17IDB4OWM1OSwJMTYsCXsweDU1LCAweDUwLCAweDcwLCAweDA0LCAweDdmLCAweDAxLCAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweDhmLCAweDRmLCAweDg1LCAweDU2LCAweDgyLCAweDg1fSB9LAoteyAweDljNjksCTE2LAl7MHg1NSwgMHg4MywgMHhhMywgMHhlMCwgMHhiNCwgMHgwNSwgMHgwYywgMHhlNSwgMHg0ZiwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3Zn0gfSwKLXsgMHg5Yzc5LAkxNiwJezB4MDAsIDB4OGYsIDB4NGYsIDB4ZTUsIDB4NGYsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OWUsIDB4NjMsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ODV9IH0sCi17IDB4OWM4OSwJMTYsCXsweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGU1LCAweDUwLCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweGU0LCAweGZmLCAweGZkLCAweDEyLCAweDgzfSB9LAoteyAweDljOTksCTE2LAl7MHg1YSwgMHg3ZSwgMHgyMCwgMHg3ZiwgMHgwMCwgMHg3NSwgMHg1MywgMHgyMCwgMHg3NSwgMHg1NCwgMHgwMCwgMHg4NSwgMHg1NCwgMHg4MiwgMHg4NSwgMHg1M30gfSwKLXsgMHg5Y2E5LAkxNiwJezB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODUsIDB4NTQsIDB4ODIsIDB4ODUsIDB4NTMsIDB4ODMsIDB4NzQsIDB4MDF9IH0sCi17IDB4OWNiOSwJMTYsCXsweGYwLCAweGEzLCAweGU0LCAweGYwLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDU0LCAweDdmfSB9LAoteyAweDljYzksCTE2LAl7MHhmMCwgMHhkMiwgMHgwNCwgMHgwMiwgMHg5ZSwgMHg2MywgMHhjMiwgMHgwNCwgMHg3ZSwgMHgyMCwgMHg3ZiwgMHgwMCwgMHg3NSwgMHg1MywgMHgyMCwgMHg3NX0gfSwKLXsgMHg5Y2Q5LAkxNiwJezB4NTQsIDB4MDAsIDB4ZTUsIDB4NTQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTZ9IH0sCi17IDB4OWNlOSwJMTYsCXsweGYxLCAweGU0LCAweGZmLCAweDdkLCAweDAxLCAweDEyLCAweDgzLCAweDVhLCAweDAyLCAweDllLCAweDYzLCAweGU0LCAweGY1LCAweDUwLCAweGY1LCAweDRlfSB9LAoteyAweDljZjksCTE2LAl7MHhhZiwgMHg0ZSwgMHhlNCwgMHhmZCwgMHgxMiwgMHg4MywgMHg1YSwgMHhlNSwgMHg0ZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNX0gfSwKLXsgMHg5ZDA5LAkxNiwJezB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWYsIDB4ODIsIDB4ZjUsIDB4NTMsIDB4OGYsIDB4NTQsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDR9IH0sCi17IDB4OWQxOSwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZjLCAweGYwLCAweGFmLCAweDRlLCAweDdkLCAweDAxLCAweDdifSB9LAoteyAweDlkMjksCTE2LAl7MHgwMSwgMHg3NSwgMHg1YywgMHg4MCwgMHg3NSwgMHg1ZCwgMHg0MCwgMHgxMiwgMHg5OSwgMHgzNSwgMHg4ZiwgMHg1MCwgMHhlNSwgMHg1MCwgMHg3MCwgMHgxMX0gfSwKLXsgMHg5ZDM5LAkxNiwJezB4YWYsIDB4NGUsIDB4N2QsIDB4MDIsIDB4N2IsIDB4MDEsIDB4NzUsIDB4NWMsIDB4MTAsIDB4NzUsIDB4NWQsIDB4MjAsIDB4MTIsIDB4OTksIDB4MzUsIDB4OGZ9IH0sCi17IDB4OWQ0OSwJMTYsCXsweDUwLCAweGU1LCAweDUwLCAweDcwLCAweDEwLCAweGFmLCAweDRlLCAweDdkLCAweDAxLCAweGZiLCAweDc1LCAweDVjLCAweDgwLCAweDc1LCAweDVkLCAweDQwfSB9LAoteyAweDlkNTksCTE2LAl7MHgxMiwgMHg5OSwgMHgzNSwgMHg4ZiwgMHg1MCwgMHhlNSwgMHg1MCwgMHg3MCwgMHgxMCwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMiwgMHhmYiwgMHg3NSwgMHg1Y30gfSwKLXsgMHg5ZDY5LAkxNiwJezB4MTAsIDB4NzUsIDB4NWQsIDB4MjAsIDB4MTIsIDB4OTksIDB4MzUsIDB4OGYsIDB4NTAsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4ODMsIDB4NWF9IH0sCi17IDB4OWQ3OSwJMTYsCXsweGU1LCAweDUwLCAweDYwLCAweDI2LCAweGU0LCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweGU1LCAweDRlLCAweDA0LCAweGZmLCAweDA1LCAweDU4LCAweGU1fSB9LAoteyAweDlkODksCTE2LAl7MHg1OCwgMHhhYywgMHg1NywgMHg3MCwgMHgwMiwgMHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg4NSwgMHg1OH0gfSwKLXsgMHg5ZDk5LAkxNiwJezB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4ZTUsIDB4NTAsIDB4ZjAsIDB4MDIsIDB4OWUsIDB4NjMsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4ZDMsIDB4OTR9IH0sCi17IDB4OWRhOSwJMTYsCXsweDAzLCAweDUwLCAweDAzLCAweDAyLCAweDljLCAweGY5LCAweDAyLCAweDllLCAweDYzLCAweGU0LCAweDkwLCAweDAzLCAweDU5LCAweGYwLCAweGEzLCAweGYwfSB9LAoteyAweDlkYjksCTE2LAl7MHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHg3NCwgMHgxMCwgMHhmMCwgMHhhMywgMHg3NCwgMHg5ZSwgMHhmMCwgMHhhMywgMHg3NH0gfSwKLXsgMHg5ZGM5LAkxNiwJezB4ODUsIDB4ZjAsIDB4N2UsIDB4MDMsIDB4N2YsIDB4NTksIDB4MTIsIDB4ODEsIDB4ZDksIDB4ZWYsIDB4NjQsIDB4MDgsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OWV9IH0sCi17IDB4OWRkOSwJMTYsCXsweDYzLCAweGU0LCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweGU0LCAweDkwLCAweDAzLCAweDU5LCAweGYwLCAweGEzLCAweGYwfSB9LAoteyAweDlkZTksCTE2LAl7MHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHg3NCwgMHgxMCwgMHhmMCwgMHhhMywgMHhlNSwgMHg1NywgMHhmMCwgMHhhMywgMHhlNX0gfSwKLXsgMHg5ZGY5LAkxNiwJezB4NTgsIDB4ZjAsIDB4N2UsIDB4MDMsIDB4N2YsIDB4NTksIDB4MTIsIDB4MTksIDB4YzEsIDB4ZWYsIDB4NjQsIDB4MDgsIDB4NjAsIDB4NWMsIDB4ZTQsIDB4OTB9IH0sCi17IDB4OWUwOSwJMTYsCXsweDAzLCAweDM4LCAweGYwLCAweDgwLCAweDU1LCAweGU1LCAweDU2LCAweDI0LCAweDAyLCAweGZmLCAweGU0LCAweDM1LCAweDU1LCAweGZhLCAweGE5LCAweDA3fSB9LAoteyAweDllMTksCTE2LAl7MHg3YiwgMHgwMSwgMHg3ZCwgMHgxMCwgMHgxMiwgMHg5OCwgMHg5OCwgMHhlZiwgMHg0ZSwgMHg3MCwgMHgzMiwgMHg5MCwgMHgwMywgMHg1OSwgMHhmMCwgMHhhM30gfSwKLXsgMHg5ZTI5LAkxNiwJezB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTUsIDB4NTYsIDB4MjQsIDB4MDIsIDB4OTB9IH0sCi17IDB4OWUzOSwJMTYsCXsweDAzLCAweDYwLCAweGYwLCAweGU0LCAweDM1LCAweDU1LCAweDkwLCAweDAzLCAweDVmLCAweGYwLCAweDdlLCAweDAzLCAweDdmLCAweDU5LCAweDEyLCAweDgxfSB9LAoteyAweDllNDksCTE2LAl7MHhkOSwgMHhlZiwgMHg2NCwgMHgwOCwgMHg2MCwgMHgxNCwgMHhlNCwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHg4MCwgMHgwZCwgMHhlNCwgMHg5MCwgMHgwM30gfSwKLXsgMHg5ZTU5LAkxNiwJezB4MzgsIDB4ZjAsIDB4ODAsIDB4MDYsIDB4OTAsIDB4MDMsIDB4MzgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YzAsIDB4ZTQsIDB4ZjAsIDB4YTN9IH0sCi17IDB4OWU2OSwJMTYsCXsweDc0LCAweDBhLCAweGYwLCAweDkwLCAweDAxLCAweGMwLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDcwLCAweGY2LCAweDdlLCAweDAzLCAweDdmfSB9LAoteyAweDllNzksCTExLAl7MHgzNSwgMHg3ZCwgMHgyNCwgMHgxMiwgMHg5MSwgMHg2YSwgMHhlNCwgMHg5MCwgMHgwMiwgMHhhZiwgMHhmMH0gfSwKLXsgMHg5ZTg0LAkxLAl7MHgyMn0gfSwKLXsgMHg5ZTg1LAkxNiwJezB4ZmYsIDB4ZmUsIDB4ZmMsIDB4ZjgsIDB4ZjAsIDB4ZTAsIDB4YzAsIDB4ODAsIDB4MDAsIDB4MDEsIDB4MDMsIDB4MDcsIDB4MGYsIDB4MWYsIDB4M2YsIDB4N2Z9IH0sCi17IDB4OWU5NSwJMTYsCXsweDAwLCAweDAwLCAweGMwLCAweGMxLCAweGMxLCAweDgxLCAweDAxLCAweDQwLCAweGMzLCAweDAxLCAweDAzLCAweGMwLCAweDAyLCAweDgwLCAweGMyLCAweDQxfSB9LAoteyAweDllYTUsCTE2LAl7MHhjNiwgMHgwMSwgMHgwNiwgMHhjMCwgMHgwNywgMHg4MCwgMHhjNywgMHg0MSwgMHgwNSwgMHgwMCwgMHhjNSwgMHhjMSwgMHhjNCwgMHg4MSwgMHgwNCwgMHg0MH0gfSwKLXsgMHg5ZWI1LAkxNiwJezB4Y2MsIDB4MDEsIDB4MGMsIDB4YzAsIDB4MGQsIDB4ODAsIDB4Y2QsIDB4NDEsIDB4MGYsIDB4MDAsIDB4Y2YsIDB4YzEsIDB4Y2UsIDB4ODEsIDB4MGUsIDB4NDB9IH0sCi17IDB4OWVjNSwJMTYsCXsweDBhLCAweDAwLCAweGNhLCAweGMxLCAweGNiLCAweDgxLCAweDBiLCAweDQwLCAweGM5LCAweDAxLCAweDA5LCAweGMwLCAweDA4LCAweDgwLCAweGM4LCAweDQxfSB9LAoteyAweDllZDUsCTE2LAl7MHhkOCwgMHgwMSwgMHgxOCwgMHhjMCwgMHgxOSwgMHg4MCwgMHhkOSwgMHg0MSwgMHgxYiwgMHgwMCwgMHhkYiwgMHhjMSwgMHhkYSwgMHg4MSwgMHgxYSwgMHg0MH0gfSwKLXsgMHg5ZWU1LAkxNiwJezB4MWUsIDB4MDAsIDB4ZGUsIDB4YzEsIDB4ZGYsIDB4ODEsIDB4MWYsIDB4NDAsIDB4ZGQsIDB4MDEsIDB4MWQsIDB4YzAsIDB4MWMsIDB4ODAsIDB4ZGMsIDB4NDF9IH0sCi17IDB4OWVmNSwJMTYsCXsweDE0LCAweDAwLCAweGQ0LCAweGMxLCAweGQ1LCAweDgxLCAweDE1LCAweDQwLCAweGQ3LCAweDAxLCAweDE3LCAweGMwLCAweDE2LCAweDgwLCAweGQ2LCAweDQxfSB9LAoteyAweDlmMDUsCTE2LAl7MHhkMiwgMHgwMSwgMHgxMiwgMHhjMCwgMHgxMywgMHg4MCwgMHhkMywgMHg0MSwgMHgxMSwgMHgwMCwgMHhkMSwgMHhjMSwgMHhkMCwgMHg4MSwgMHgxMCwgMHg0MH0gfSwKLXsgMHg5ZjE1LAkxNiwJezB4ZjAsIDB4MDEsIDB4MzAsIDB4YzAsIDB4MzEsIDB4ODAsIDB4ZjEsIDB4NDEsIDB4MzMsIDB4MDAsIDB4ZjMsIDB4YzEsIDB4ZjIsIDB4ODEsIDB4MzIsIDB4NDB9IH0sCi17IDB4OWYyNSwJMTYsCXsweDM2LCAweDAwLCAweGY2LCAweGMxLCAweGY3LCAweDgxLCAweDM3LCAweDQwLCAweGY1LCAweDAxLCAweDM1LCAweGMwLCAweDM0LCAweDgwLCAweGY0LCAweDQxfSB9LAoteyAweDlmMzUsCTE2LAl7MHgzYywgMHgwMCwgMHhmYywgMHhjMSwgMHhmZCwgMHg4MSwgMHgzZCwgMHg0MCwgMHhmZiwgMHgwMSwgMHgzZiwgMHhjMCwgMHgzZSwgMHg4MCwgMHhmZSwgMHg0MX0gfSwKLXsgMHg5ZjQ1LAkxNiwJezB4ZmEsIDB4MDEsIDB4M2EsIDB4YzAsIDB4M2IsIDB4ODAsIDB4ZmIsIDB4NDEsIDB4MzksIDB4MDAsIDB4ZjksIDB4YzEsIDB4ZjgsIDB4ODEsIDB4MzgsIDB4NDB9IH0sCi17IDB4OWY1NSwJMTYsCXsweDI4LCAweDAwLCAweGU4LCAweGMxLCAweGU5LCAweDgxLCAweDI5LCAweDQwLCAweGViLCAweDAxLCAweDJiLCAweGMwLCAweDJhLCAweDgwLCAweGVhLCAweDQxfSB9LAoteyAweDlmNjUsCTE2LAl7MHhlZSwgMHgwMSwgMHgyZSwgMHhjMCwgMHgyZiwgMHg4MCwgMHhlZiwgMHg0MSwgMHgyZCwgMHgwMCwgMHhlZCwgMHhjMSwgMHhlYywgMHg4MSwgMHgyYywgMHg0MH0gfSwKLXsgMHg5Zjc1LAkxNiwJezB4ZTQsIDB4MDEsIDB4MjQsIDB4YzAsIDB4MjUsIDB4ODAsIDB4ZTUsIDB4NDEsIDB4MjcsIDB4MDAsIDB4ZTcsIDB4YzEsIDB4ZTYsIDB4ODEsIDB4MjYsIDB4NDB9IH0sCi17IDB4OWY4NSwJMTYsCXsweDIyLCAweDAwLCAweGUyLCAweGMxLCAweGUzLCAweDgxLCAweDIzLCAweDQwLCAweGUxLCAweDAxLCAweDIxLCAweGMwLCAweDIwLCAweDgwLCAweGUwLCAweDQxfSB9LAoteyAweDlmOTUsCTE2LAl7MHhhMCwgMHgwMSwgMHg2MCwgMHhjMCwgMHg2MSwgMHg4MCwgMHhhMSwgMHg0MSwgMHg2MywgMHgwMCwgMHhhMywgMHhjMSwgMHhhMiwgMHg4MSwgMHg2MiwgMHg0MH0gfSwKLXsgMHg5ZmE1LAkxNiwJezB4NjYsIDB4MDAsIDB4YTYsIDB4YzEsIDB4YTcsIDB4ODEsIDB4NjcsIDB4NDAsIDB4YTUsIDB4MDEsIDB4NjUsIDB4YzAsIDB4NjQsIDB4ODAsIDB4YTQsIDB4NDF9IH0sCi17IDB4OWZiNSwJMTYsCXsweDZjLCAweDAwLCAweGFjLCAweGMxLCAweGFkLCAweDgxLCAweDZkLCAweDQwLCAweGFmLCAweDAxLCAweDZmLCAweGMwLCAweDZlLCAweDgwLCAweGFlLCAweDQxfSB9LAoteyAweDlmYzUsCTE2LAl7MHhhYSwgMHgwMSwgMHg2YSwgMHhjMCwgMHg2YiwgMHg4MCwgMHhhYiwgMHg0MSwgMHg2OSwgMHgwMCwgMHhhOSwgMHhjMSwgMHhhOCwgMHg4MSwgMHg2OCwgMHg0MH0gfSwKLXsgMHg5ZmQ1LAkxNiwJezB4NzgsIDB4MDAsIDB4YjgsIDB4YzEsIDB4YjksIDB4ODEsIDB4NzksIDB4NDAsIDB4YmIsIDB4MDEsIDB4N2IsIDB4YzAsIDB4N2EsIDB4ODAsIDB4YmEsIDB4NDF9IH0sCi17IDB4OWZlNSwJMTYsCXsweGJlLCAweDAxLCAweDdlLCAweGMwLCAweDdmLCAweDgwLCAweGJmLCAweDQxLCAweDdkLCAweDAwLCAweGJkLCAweGMxLCAweGJjLCAweDgxLCAweDdjLCAweDQwfSB9LAoteyAweDlmZjUsCTE2LAl7MHhiNCwgMHgwMSwgMHg3NCwgMHhjMCwgMHg3NSwgMHg4MCwgMHhiNSwgMHg0MSwgMHg3NywgMHgwMCwgMHhiNywgMHhjMSwgMHhiNiwgMHg4MSwgMHg3NiwgMHg0MH0gfSwKLXsgMHhhMDA1LAkxNiwJezB4NzIsIDB4MDAsIDB4YjIsIDB4YzEsIDB4YjMsIDB4ODEsIDB4NzMsIDB4NDAsIDB4YjEsIDB4MDEsIDB4NzEsIDB4YzAsIDB4NzAsIDB4ODAsIDB4YjAsIDB4NDF9IH0sCi17IDB4YTAxNSwJMTYsCXsweDUwLCAweDAwLCAweDkwLCAweGMxLCAweDkxLCAweDgxLCAweDUxLCAweDQwLCAweDkzLCAweDAxLCAweDUzLCAweGMwLCAweDUyLCAweDgwLCAweDkyLCAweDQxfSB9LAoteyAweGEwMjUsCTE2LAl7MHg5NiwgMHgwMSwgMHg1NiwgMHhjMCwgMHg1NywgMHg4MCwgMHg5NywgMHg0MSwgMHg1NSwgMHgwMCwgMHg5NSwgMHhjMSwgMHg5NCwgMHg4MSwgMHg1NCwgMHg0MH0gfSwKLXsgMHhhMDM1LAkxNiwJezB4OWMsIDB4MDEsIDB4NWMsIDB4YzAsIDB4NWQsIDB4ODAsIDB4OWQsIDB4NDEsIDB4NWYsIDB4MDAsIDB4OWYsIDB4YzEsIDB4OWUsIDB4ODEsIDB4NWUsIDB4NDB9IH0sCi17IDB4YTA0NSwJMTYsCXsweDVhLCAweDAwLCAweDlhLCAweGMxLCAweDliLCAweDgxLCAweDViLCAweDQwLCAweDk5LCAweDAxLCAweDU5LCAweGMwLCAweDU4LCAweDgwLCAweDk4LCAweDQxfSB9LAoteyAweGEwNTUsCTE2LAl7MHg4OCwgMHgwMSwgMHg0OCwgMHhjMCwgMHg0OSwgMHg4MCwgMHg4OSwgMHg0MSwgMHg0YiwgMHgwMCwgMHg4YiwgMHhjMSwgMHg4YSwgMHg4MSwgMHg0YSwgMHg0MH0gfSwKLXsgMHhhMDY1LAkxNiwJezB4NGUsIDB4MDAsIDB4OGUsIDB4YzEsIDB4OGYsIDB4ODEsIDB4NGYsIDB4NDAsIDB4OGQsIDB4MDEsIDB4NGQsIDB4YzAsIDB4NGMsIDB4ODAsIDB4OGMsIDB4NDF9IH0sCi17IDB4YTA3NSwJMTYsCXsweDQ0LCAweDAwLCAweDg0LCAweGMxLCAweDg1LCAweDgxLCAweDQ1LCAweDQwLCAweDg3LCAweDAxLCAweDQ3LCAweGMwLCAweDQ2LCAweDgwLCAweDg2LCAweDQxfSB9LAoteyAweGEwODUsCTE2LAl7MHg4MiwgMHgwMSwgMHg0MiwgMHhjMCwgMHg0MywgMHg4MCwgMHg4MywgMHg0MSwgMHg0MSwgMHgwMCwgMHg4MSwgMHhjMSwgMHg4MCwgMHg4MSwgMHg0MCwgMHg0MH0gfSwKLXsgMHhhMDk1LAkxNiwJezB4ZTQsIDB4ZmYsIDB4NzQsIDB4ZjgsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDJ9IH0sCi17IDB4YTBhNSwJMTYsCXsweGExLCAweDM4LCAweDc0LCAweDNhLCAweDJmLCAweGY4LCAweGU2LCAweDIwLCAweGU1LCAweDAzLCAweDAyLCAweGExLCAweDM4LCAweGVmLCAweDc1LCAweGYwfSB9LAoteyAweGEwYjUsCTE2LAl7MHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZCwgMHg4MiwgMHhmYywgMHhmNSwgMHg4MywgMHhlNSwgMHg4Mn0gfSwKLXsgMHhhMGM1LAkxNiwJezB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4NjAsIDB4NjQsIDB4NjAsIDB4NzAsIDB4NjN9IH0sCi17IDB4YTBkNSwJMTYsCXsweGVmLCAweDI1LCAweGUwLCAweDI0LCAweGVmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGU0LCAweDc1LCAweGYwLCAweDAxfSB9LAoteyAweGEwZTUsCTE2LAl7MHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNSwgMHg4MywgMHhlMCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhmMCwgMHg3NCwgMHhmOH0gfSwKLXsgMHhhMGY1LAkxNiwJezB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4NzAsIDB4MzYsIDB4ZWYsIDB4MjUsIDB4ZTB9IH0sCi17IDB4YTEwNSwJMTYsCXsweDI0LCAweGM3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGVmLCAweDI1LCAweGUwLCAweGZlLCAweGMzfSB9LAoteyAweGExMTUsCTE2LAl7MHg3NCwgMHgwYywgMHg5ZSwgMHg3NSwgMHhmMCwgMHg0MCwgMHhhNCwgMHgyNCwgMHg0MCwgMHhmNSwgMHg4MiwgMHhlNSwgMHhmMCwgMHgzNCwgMHg3YiwgMHhhZH0gfSwKLXsgMHhhMTI1LAkxNiwJezB4ODIsIDB4ZmMsIDB4ZWYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4ZWYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjB9IH0sCi17IDB4YTEzNSwJMTIsCXsweGEzLCAweGVkLCAweGYwLCAweDBmLCAweGVmLCAweDY0LCAweDA0LCAweDYwLCAweDAzLCAweDAyLCAweGEwLCAweDk3fSB9LAoteyAweGExNDEsCTEsCXsweDIyfSB9LAoteyAweGExNDIsCTE2LAl7MHhlNywgMHgwOSwgMHhmNiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg0NiwgMHhlNywgMHgwOSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHgzZX0gfSwKLXsgMHhhMTUyLAkxNiwJezB4ODgsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTcsIDB4MDksIDB4ZjAsIDB4YTMsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4MzIsIDB4ZTMsIDB4MDksIDB4ZjYsIDB4MDh9IH0sCi17IDB4YTE2MiwJMTYsCXsweGRmLCAweGZhLCAweDgwLCAweDc4LCAweGUzLCAweDA5LCAweGYyLCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDcwLCAweDg4LCAweDgyLCAweDhjLCAweDgzfSB9LAoteyAweGExNzIsCTE2LAl7MHhlMywgMHgwOSwgMHhmMCwgMHhhMywgMHhkZiwgMHhmYSwgMHg4MCwgMHg2NCwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhhMywgMHhmNiwgMHgwOH0gfSwKLXsgMHhhMTgyLAkxNiwJezB4ZGYsIDB4ZmEsIDB4ODAsIDB4NTgsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4YTMsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NGN9IH0sCi17IDB4YTE5MiwJMTYsCXsweDgwLCAweGQyLCAweDgwLCAweGZhLCAweDgwLCAweGM2LCAweDgwLCAweGQ0LCAweDgwLCAweDY5LCAweDgwLCAweGYyLCAweDgwLCAweDMzLCAweDgwLCAweDEwfSB9LAoteyAweGExYTIsCTE2LAl7MHg4MCwgMHhhNiwgMHg4MCwgMHhlYSwgMHg4MCwgMHg5YSwgMHg4MCwgMHhhOCwgMHg4MCwgMHhkYSwgMHg4MCwgMHhlMiwgMHg4MCwgMHhjYSwgMHg4MCwgMHgzM30gfSwKLXsgMHhhMWIyLAkxNiwJezB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZWMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2MsIDB4YzUsIDB4ODN9IH0sCi17IDB4YTFjMiwJMTYsCXsweGNjLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwfSB9LAoteyAweGExZDIsCTE2LAl7MHgwZCwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHhhMywgMHhmNiwgMHgwOCwgMHhkZiwgMHhmOSwgMHhlYywgMHhmYSwgMHhhOSwgMHhmMH0gfSwKLXsgMHhhMWUyLAkxNiwJezB4ZWQsIDB4ZmIsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZWMsIDB4ZmEsIDB4ZTAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2N9IH0sCi17IDB4YTFmMiwJMTYsCXsweGM1LCAweDgzLCAweGNjLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGRmLCAweGVhLCAweGRlfSB9LAoteyAweGEyMDIsCTE2LAl7MHhlOCwgMHg4MCwgMHhkYiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHhhMywgMHhmMiwgMHgwOCwgMHhkZiwgMHhmOSwgMHg4MCwgMHhjY30gfSwKLXsgMHhhMjEyLAkxNiwJezB4ODgsIDB4ZjAsIDB4ZWQsIDB4MjQsIDB4MDIsIDB4YjQsIDB4MDQsIDB4MDAsIDB4NTAsIDB4YzIsIDB4ZjUsIDB4ODIsIDB4ZWIsIDB4MjQsIDB4MDIsIDB4YjR9IH0sCi17IDB4YTIyMiwJMTYsCXsweDA0LCAweDAwLCAweDUwLCAweGI4LCAweDIzLCAweDIzLCAweDQ1LCAweDgyLCAweGY1LCAweDgyLCAweGVmLCAweDRlLCAweDYwLCAweGFlLCAweGVmLCAweDYwfSB9LAoteyAweGEyMzIsCTksCXsweDAxLCAweDBlLCAweGU1LCAweDgyLCAweDIzLCAweDkwLCAweGExLCAweDkyLCAweDczfSB9LAoteyAweGEyM2IsCTE2LAl7MHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMn0gfSwKLXsgMHhhMjRiLAk5LAl7MHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHhhMjU0LAkxNiwJezB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTB9IH0sCi17IDB4YTI2NCwJMTYsCXsweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyfSB9LAoteyAweGEyNzQsCTEzLAl7MHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHhhMjgxLAkxNiwJezB4YzUsIDB4ZjAsIDB4ZjgsIDB4YTMsIDB4ZTAsIDB4MjgsIDB4ZjAsIDB4YzUsIDB4ZjAsIDB4ZjgsIDB4ZTUsIDB4ODIsIDB4MTUsIDB4ODIsIDB4NzAsIDB4MDJ9IH0sCi17IDB4YTI5MSwJNiwJezB4MTUsIDB4ODMsIDB4ZTAsIDB4MzgsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4YTI5NywJMTYsCXsweGEzLCAweGY4LCAweGUwLCAweGM1LCAweGYwLCAweDI1LCAweGYwLCAweGYwLCAweGU1LCAweDgyLCAweDE1LCAweDgyLCAweDcwLCAweDAyLCAweDE1LCAweDgzfSB9LAoteyAweGEyYTcsCTYsCXsweGUwLCAweGM4LCAweDM4LCAweGYwLCAweGU4LCAweDIyfSB9LAoteyAweGEyYWQsCTE2LAl7MHhiYiwgMHgwMSwgMHgxMCwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhmMH0gfSwKLXsgMHhhMmJkLAkxNiwJezB4YTMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ODYsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmV9IH0sCi17IDB4YTJjZCwJMTYsCXsweDBhLCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweGY1LCAweGYwLCAweDA4LCAweGUyLCAweDIyLCAweGU1LCAweDgzLCAweDJhLCAweGY1LCAweDgzfSB9LAoteyAweGEyZGQsCTgsCXsweGU5LCAweDkzLCAweGY1LCAweGYwLCAweGEzLCAweGU5LCAweDkzLCAweDIyfSB9LAoteyAweGEyZTUsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHg3NSwgMHg4MiwgMHgwMCwgMHhlZiwgMHgyZiwgMHhmZiwgMHhlZSwgMHgzMywgMHhmZSwgMHhjZCwgMHgzMywgMHhjZCwgMHhjY30gfSwKLXsgMHhhMmY1LAkxNiwJezB4MzMsIDB4Y2MsIDB4YzUsIDB4ODIsIDB4MzMsIDB4YzUsIDB4ODIsIDB4OWIsIDB4ZWQsIDB4OWEsIDB4ZWMsIDB4OTksIDB4ZTUsIDB4ODIsIDB4OTgsIDB4NDB9IH0sCi17IDB4YTMwNSwJMTYsCXsweDBjLCAweGY1LCAweDgyLCAweGVlLCAweDliLCAweGZlLCAweGVkLCAweDlhLCAweGZkLCAweGVjLCAweDk5LCAweGZjLCAweDBmLCAweGQ1LCAweGYwLCAweGQ2fSB9LAoteyAweGEzMTUsCTE2LAl7MHhlNCwgMHhjZSwgMHhmYiwgMHhlNCwgMHhjZCwgMHhmYSwgMHhlNCwgMHhjYywgMHhmOSwgMHhhOCwgMHg4MiwgMHgyMiwgMHhiOCwgMHgwMCwgMHhjMSwgMHhiOX0gfSwKLXsgMHhhMzI1LAkxNiwJezB4MDAsIDB4NTksIDB4YmEsIDB4MDAsIDB4MmQsIDB4ZWMsIDB4OGIsIDB4ZjAsIDB4ODQsIDB4Y2YsIDB4Y2UsIDB4Y2QsIDB4ZmMsIDB4ZTUsIDB4ZjAsIDB4Y2J9IH0sCi17IDB4YTMzNSwJMTYsCXsweGY5LCAweDc4LCAweDE4LCAweGVmLCAweDJmLCAweGZmLCAweGVlLCAweDMzLCAweGZlLCAweGVkLCAweDMzLCAweGZkLCAweGVjLCAweDMzLCAweGZjLCAweGVifSB9LAoteyAweGEzNDUsCTE2LAl7MHgzMywgMHhmYiwgMHgxMCwgMHhkNywgMHgwMywgMHg5OSwgMHg0MCwgMHgwNCwgMHhlYiwgMHg5OSwgMHhmYiwgMHgwZiwgMHhkOCwgMHhlNSwgMHhlNCwgMHhmOX0gfSwKLXsgMHhhMzU1LAkxNiwJezB4ZmEsIDB4MjIsIDB4NzgsIDB4MTgsIDB4ZWYsIDB4MmYsIDB4ZmYsIDB4ZWUsIDB4MzMsIDB4ZmUsIDB4ZWQsIDB4MzMsIDB4ZmQsIDB4ZWMsIDB4MzMsIDB4ZmN9IH0sCi17IDB4YTM2NSwJMTYsCXsweGM5LCAweDMzLCAweGM5LCAweDEwLCAweGQ3LCAweDA1LCAweDliLCAweGU5LCAweDlhLCAweDQwLCAweDA3LCAweGVjLCAweDliLCAweGZjLCAweGU5LCAweDlhfSB9LAoteyAweGEzNzUsCTE2LAl7MHhmOSwgMHgwZiwgMHhkOCwgMHhlMCwgMHhlNCwgMHhjOSwgMHhmYSwgMHhlNCwgMHhjYywgMHhmYiwgMHgyMiwgMHg3NSwgMHhmMCwgMHgxMCwgMHhlZiwgMHgyZn0gfSwKLXsgMHhhMzg1LAkxNiwJezB4ZmYsIDB4ZWUsIDB4MzMsIDB4ZmUsIDB4ZWQsIDB4MzMsIDB4ZmQsIDB4Y2MsIDB4MzMsIDB4Y2MsIDB4YzgsIDB4MzMsIDB4YzgsIDB4MTAsIDB4ZDcsIDB4MDd9IH0sCi17IDB4YTM5NSwJMTYsCXsweDliLCAweGVjLCAweDlhLCAweGU4LCAweDk5LCAweDQwLCAweDBhLCAweGVkLCAweDliLCAweGZkLCAweGVjLCAweDlhLCAweGZjLCAweGU4LCAweDk5LCAweGY4fSB9LAoteyAweGEzYTUsCTE0LAl7MHgwZiwgMHhkNSwgMHhmMCwgMHhkYSwgMHhlNCwgMHhjZCwgMHhmYiwgMHhlNCwgMHhjYywgMHhmYSwgMHhlNCwgMHhjOCwgMHhmOSwgMHgyMn0gfSwKLXsgMHhhM2IzLAkxNiwJezB4ZWIsIDB4OWYsIDB4ZjUsIDB4ZjAsIDB4ZWEsIDB4OWUsIDB4NDIsIDB4ZjAsIDB4ZTksIDB4OWQsIDB4NDIsIDB4ZjAsIDB4ZTgsIDB4OWMsIDB4NDUsIDB4ZjB9IH0sCi17IDB4YTNjMywJMSwJezB4MjJ9IH0sCi17IDB4YTNjNCwJMTYsCXsweGU4LCAweDYwLCAweDBmLCAweGVjLCAweGMzLCAweDEzLCAweGZjLCAweGVkLCAweDEzLCAweGZkLCAweGVlLCAweDEzLCAweGZlLCAweGVmLCAweDEzLCAweGZmfSB9LAoteyAweGEzZDQsCTMsCXsweGQ4LCAweGYxLCAweDIyfSB9LAoteyAweGEzZDcsCTE2LAl7MHgwOCwgMHgwOCwgMHgwOCwgMHhlNiwgMHhjZiwgMHgyZiwgMHhmNiwgMHgxOCwgMHhlNiwgMHhjZSwgMHgzZSwgMHhmNiwgMHgxOCwgMHhlNiwgMHhjZCwgMHgzZH0gfSwKLXsgMHhhM2U3LAk3LAl7MHhmNiwgMHgxOCwgMHhlNiwgMHhjYywgMHgzYywgMHhmNiwgMHgyMn0gfSwKLXsgMHhhM2VlLAkxMiwJezB4ZWMsIDB4ZjAsIDB4YTMsIDB4ZWQsIDB4ZjAsIDB4YTMsIDB4ZWUsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4YTNmYSwJMTYsCXsweGE4LCAweDgyLCAweDg1LCAweDgzLCAweGYwLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDEyLCAweGE0LCAweDExLCAweDEyLCAweGE0LCAweDExLCAweDEyfSB9LAoteyAweGE0MGEsCTE2LAl7MHhhNCwgMHgxMSwgMHgxMiwgMHhhNCwgMHgxMSwgMHhlNCwgMHg3MywgMHhlNCwgMHg5MywgMHhhMywgMHhjNSwgMHg4MywgMHhjNSwgMHhmMCwgMHhjNSwgMHg4M30gfSwKLXsgMHhhNDFhLAkxNiwJezB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4ZjAsIDB4YTMsIDB4YzUsIDB4ODMsIDB4YzUsIDB4ZjAsIDB4YzUsIDB4ODMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4Yzh9IH0sCi17IDB4YTQyYSwJMSwJezB4MjJ9IH0sCi17IDB4ZmZmZiwJMCwJezB4MDB9IH0KLX07Ci0KLSNpZmRlZiBERUJVRwotc3RhdGljIGNvbnN0IHN0cnVjdCB3aGl0ZWhlYXRfaGV4X3JlY29yZCB3aGl0ZWhlYXRfbG9hZGVyW10gPSB7Ci17IDB4MDAwMCwJMywJezB4MDIsIDB4MDksIDB4OGR9IH0sCi17IDB4MDAzMywJMywJezB4MDIsIDB4MGUsIDB4NzB9IH0sCi17IDB4MDA0MywJMywJezB4MDIsIDB4MGIsIDB4MDB9IH0sCi17IDB4MDA0YiwJMywJezB4MDIsIDB4MDUsIDB4YjN9IH0sCi17IDB4MDEwMCwJMTYsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDU0LCAweDEwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDUwLCAweGY1LCAweDBmLCAweDEzLCAweGU0fSB9LAoteyAweDAxMTAsCTE2LAl7MHgzMywgMHhmNSwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgyNCwgMHg1ZSwgMHhiNCwgMHgwNywgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwM30gfSwKLXsgMHgwMTIwLAkxNiwJezB4N2MsIDB4OTAsIDB4MDEsIDB4MjgsIDB4ZjgsIDB4MjgsIDB4MjgsIDB4NzMsIDB4MDIsIDB4MDEsIDB4YmMsIDB4MDIsIDB4MDEsIDB4YmMsIDB4MDIsIDB4MDF9IH0sCi17IDB4MDEzMCwJMTYsCXsweDkxLCAweDAyLCAweDAxLCAweDNkLCAweDAyLCAweDAxLCAweDUzLCAweDAyLCAweDAxLCAweDZmLCAweDAyLCAweDAxLCAweDlhLCAweDkwLCAweDdmLCAweDAwfSB9LAoteyAweDAxNDAsCTE2LAl7MHhlNSwgMHgxMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMH0gfSwKLXsgMHgwMTUwLAkxNiwJezB4MDIsIDB4MDMsIDB4N2MsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDE2MCwJMTYsCXsweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDAzLCAweDdjLCAweDEyfSB9LAoteyAweDAxNzAsCTE2LAl7MHgwYSwgMHg4OSwgMHg1MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwZn0gfSwKLXsgMHgwMTgwLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDN9IH0sCi17IDB4MDE5MCwJMTYsCXsweDdjLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDBmLCAweDAyLCAweDAzLCAweDdjLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDA3LCAweGYwfSB9LAoteyAweDAxYTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhlOCwgMHg3ZX0gfSwKLXsgMHgwMWIwLAkxNiwJezB4MDMsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4ZDIsIDB4MDYsIDB4MTIsIDB4MGQsIDB4MGQsIDB4MDIsIDB4MDMsIDB4N2MsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9IH0sCi17IDB4MDFjMCwJMTYsCXsweDc1LCAweDI5LCAweDAwLCAweGY1LCAweDJhLCAweGEzLCAweGUwLCAweGZlLCAweGU0LCAweGVlLCAweDQyLCAweDI5LCAweDkwLCAweDdmLCAweGVlLCAweGUwfSB9LAoteyAweDAxZDAsCTE2LAl7MHg3NSwgMHgyYiwgMHgwMCwgMHhmNSwgMHgyYywgMHhhMywgMHhlMCwgMHhmZSwgMHhlNCwgMHhlZSwgMHg0MiwgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMH0gfSwKLXsgMHgwMWUwLAkxNiwJezB4NjQsIDB4YzAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDIsIDB4YzksIDB4ZTUsIDB4MmMsIDB4NDUsIDB4MmIsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4N2N9IH0sCi17IDB4MDFmMCwJMTYsCXsweGMzLCAweGU1LCAweDJjLCAweDk0LCAweDQwLCAweGU1LCAweDJiLCAweDk0LCAweDAwLCAweDUwLCAweDA4LCAweDg1LCAweDJiLCAweDJkLCAweDg1LCAweDJjfSB9LAoteyAweDAyMDAsCTE2LAl7MHgyZSwgMHg4MCwgMHgwNiwgMHg3NSwgMHgyZCwgMHgwMCwgMHg3NSwgMHgyZSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg2NCwgMHhhMywgMHg3MH0gfSwKLXsgMHgwMjEwLAkxNiwJezB4MzQsIDB4ZjUsIDB4MzEsIDB4ZjUsIDB4MzIsIDB4YzMsIDB4ZTUsIDB4MzIsIDB4OTUsIDB4MmUsIDB4ZTUsIDB4MzEsIDB4OTUsIDB4MmQsIDB4NTAsIDB4NWN9IH0sCi17IDB4MDIyMCwJMTYsCXsweGU1LCAweDJhLCAweDI1LCAweDMyLCAweGY1LCAweDgyLCAweGU1LCAweDMxLCAweDM1LCAweDI5LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDc0LCAweDAwfSB9LAoteyAweDAyMzAsCTE2LAl7MHgyNSwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgzMiwgMHhlNSwgMHgzMiwgMHg3MH0gfSwKLXsgMHgwMjQwLAkxNiwJezB4MDIsIDB4MDUsIDB4MzEsIDB4ODAsIDB4ZDAsIDB4ZTQsIDB4ZjUsIDB4MzEsIDB4ZjUsIDB4MzIsIDB4YzMsIDB4ZTUsIDB4MzIsIDB4OTUsIDB4MmUsIDB4ZTV9IH0sCi17IDB4MDI1MCwJMTYsCXsweDMxLCAweDk1LCAweDJkLCAweDUwLCAweDE4LCAweDc0LCAweDAwLCAweDI1LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzfSB9LAoteyAweDAyNjAsCTE2LAl7MHg3NCwgMHhjZCwgMHhmMCwgMHgwNSwgMHgzMiwgMHhlNSwgMHgzMiwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMSwgMHg4MCwgMHhkZCwgMHhhZiwgMHgyYSwgMHhhZX0gfSwKLXsgMHgwMjcwLAkxNiwJezB4MjksIDB4YWQsIDB4MmUsIDB4N2EsIDB4N2YsIDB4NzksIDB4MDAsIDB4N2IsIDB4MDAsIDB4MTIsIDB4MGIsIDB4ZjQsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZTV9IH0sCi17IDB4MDI4MCwJMTYsCXsweDJlLCAweGYwLCAweGU1LCAweDJlLCAweDI1LCAweDJhLCAweGY1LCAweDJhLCAweGU1LCAweDJkLCAweDM1LCAweDI5LCAweGY1LCAweDI5LCAweGMzLCAweGU1fSB9LAoteyAweDAyOTAsCTE2LAl7MHgyYywgMHg5NSwgMHgyZSwgMHhmNSwgMHgyYywgMHhlNSwgMHgyYiwgMHg5NSwgMHgyZCwgMHhmNSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHhmZn0gfSwKLXsgMHgwMmEwLAkxNiwJezB4YzQsIDB4NTQsIDB4MGYsIDB4NzUsIDB4MmYsIDB4MDAsIDB4ZjUsIDB4MzAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4ZTUsIDB4MmYsIDB4OTQsIDB4MDAsIDB4NTB9IH0sCi17IDB4MDJiMCwJMTYsCXsweDBjLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweGU3LCAweDgwLCAweGY0LCAweDkwLCAweDdmLCAweGI0fSB9LAoteyAweDAyYzAsCTE2LAl7MHhlMCwgMHgyMCwgMHhlMiwgMHgwMywgMHgwMiwgMHgwMSwgMHhlNywgMHg4MCwgMHhmNCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHg2NCwgMHg0MCwgMHg2MH0gfSwKLXsgMHgwMmQwLAkxNiwJezB4MDMsIDB4MDIsIDB4MDMsIDB4N2MsIDB4ZTUsIDB4MmMsIDB4NDUsIDB4MmIsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4N2MsIDB4ZTQsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDJlMCwJMTYsCXsweGM1LCAweGYwLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDc1LCAweDJmLCAweDAwLCAweGY1LCAweDMwLCAweGQzfSB9LAoteyAweDAyZjAsCTE2LAl7MHg5NCwgMHgwMCwgMHhlNSwgMHgyZiwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwOSwgMHg4MH0gfSwKLXsgMHgwMzAwLAkxNiwJezB4ZjcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4ZjksIDB4OTAsIDB4N2YsIDB4YzUsIDB4ZTAsIDB4NzUsIDB4MmQsIDB4MDAsIDB4ZjV9IH0sCi17IDB4MDMxMCwJMTYsCXsweDJlLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDY0LCAweGEzLCAweDcwLCAweDM4LCAweDkwLCAweDIwLCAweDZiLCAweGYwLCAweGY1LCAweDMxLCAweGY1fSB9LAoteyAweDAzMjAsCTE2LAl7MHgzMiwgMHhjMywgMHhlNSwgMHgzMiwgMHg5NSwgMHgyZSwgMHhlNSwgMHgzMSwgMHg5NSwgMHgyZCwgMHg1MCwgMHgzNCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgzMn0gfSwKLXsgMHgwMzMwLAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MmEsIDB4MjUsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTV9IH0sCi17IDB4MDM0MCwJMTYsCXsweDMxLCAweDM1LCAweDI5LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDMyLCAweGU1LCAweDMyLCAweDcwLCAweDAyLCAweDA1LCAweDMxLCAweDgwfSB9LAoteyAweDAzNTAsCTE2LAl7MHhkMCwgMHhhZiwgMHgyYSwgMHhhZSwgMHgyOSwgMHhhZCwgMHgyZSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHhjMCwgMHg3YiwgMHhjMCwgMHgxMiwgMHgwYywgMHg4MH0gfSwKLXsgMHgwMzYwLAkxNiwJezB4ZTUsIDB4MmUsIDB4MjUsIDB4MmEsIDB4ZjUsIDB4MmEsIDB4ZTUsIDB4MmQsIDB4MzUsIDB4MjksIDB4ZjUsIDB4MjksIDB4YzMsIDB4ZTUsIDB4MmMsIDB4OTV9IH0sCi17IDB4MDM3MCwJMTMsCXsweDJlLCAweGY1LCAweDJjLCAweGU1LCAweDJiLCAweDk1LCAweDJkLCAweGY1LCAweDJiLCAweDAyLCAweDAyLCAweGQ0LCAweGMzfSB9LAoteyAweDAzN2QsCTEsCXsweDIyfSB9LAoteyAweDAzN2UsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg1NiwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHhkMiwgMHgyNH0gfSwKLXsgMHgwMzhlLAkxNiwJezB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NDYsIDB4MjQsIDB4ZmIsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NTAsIDB4MTQsIDB4NzAsIDB4MDN9IH0sCi17IDB4MDM5ZSwJMTYsCXsweDAyLCAweDA0LCAweDRhLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDNlLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDQ0LCAweDI0fSB9LAoteyAweDAzYWUsCTE2LAl7MHgwNSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg5YSwgMHgxMiwgMHgwZSwgMHg3YiwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwM2JlLAkxNiwJezB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsIDB4NDAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NjksIDB4NzQsIDB4MTEsIDB4OTB9IH0sCi17IDB4MDNjZSwJMTYsCXsweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwfSB9LAoteyAweDAzZGUsCTE2LAl7MHhmZiwgMHgxMiwgMHgwYiwgMHg1OCwgMHg4YiwgMHgyNiwgMHg4YSwgMHgyNywgMHg4OSwgMHgyOCwgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMn0gfSwKLXsgMHgwM2VlLAkxNiwJezB4ZWUsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTB9IH0sCi17IDB4MDNmZSwJMTYsCXsweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBjfSB9LAoteyAweDA0MGUsCTE2LAl7MHgzZiwgMHg4YiwgMHgyNiwgMHg4YSwgMHgyNywgMHg4OSwgMHgyOCwgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMiwgMHhlZSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNDFlLAkxNiwJezB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTB9IH0sCi17IDB4MDQyZSwJMTYsCXsweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGFifSB9LAoteyAweDA0M2UsCTE2LAl7MHgxMiwgMHgwZSwgMHg1MiwgMHgwMiwgMHgwNSwgMHhhYiwgMHgxMiwgMHgwZSwgMHg2MCwgMHgwMiwgMHgwNSwgMHhhYiwgMHgxMiwgMHgwYSwgMHhmNywgMHgwMn0gfSwKLXsgMHgwNDRlLAkxNiwJezB4MDUsIDB4YWIsIDB4MTIsIDB4MDgsIDB4ZjEsIDB4MDIsIDB4MDUsIDB4YWIsIDB4MTIsIDB4MGUsIDB4N2QsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YWJ9IH0sCi17IDB4MDQ1ZSwJMTYsCXsweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyfSB9LAoteyAweDA0NmUsCTE2LAl7MHgwMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwMiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMH0gfSwKLXsgMHgwNDdlLAkxNiwJezB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDB9IH0sCi17IDB4MDQ4ZSwJMTYsCXsweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGVjLCAweGUwfSB9LAoteyAweDA0OWUsCTE2LAl7MHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNH0gfSwKLXsgMHgwNGFlLAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTN9IH0sCi17IDB4MDRiZSwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxfSB9LAoteyAweDA0Y2UsCTE2LAl7MHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHgxMiwgMHgwZSwgMHg3ZiwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMH0gfSwKLXsgMHgwNGRlLAkxNiwJezB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjR9IH0sCi17IDB4MDRlZSwJMTYsCXsweDAxLCAweDA1LCAweGMyLCAweDAwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1fSB9LAoteyAweDA0ZmUsCTE2LAl7MHhhYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNH0gfSwKLXsgMHgwNTBlLAkxNiwJezB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2Z9IH0sCi17IDB4MDUxZSwJMTYsCXsweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmfSB9LAoteyAweDA1MmUsCTE2LAl7MHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg2ZSwgMHg5MH0gfSwKLXsgMHgwNTNlLAkxNiwJezB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NjUsIDB4MTIsIDB4MGUsIDB4ODEsIDB4NTAsIDB4NjAsIDB4OTAsIDB4N2YsIDB4ZTh9IH0sCi17IDB4MDU0ZSwJMTYsCXsweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDU0LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0fSB9LAoteyAweDA1NWUsCTE2LAl7MHhkMiwgMHgwMCwgMHg4MCwgMHg0OSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYX0gfSwKLXsgMHgwNTZlLAkxNiwJezB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTB9IH0sCi17IDB4MDU3ZSwJMTYsCXsweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxfSB9LAoteyAweDA1OGUsCTE2LAl7MHhmMCwgMHg4MCwgMHgxYSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMSwgMHhlNCwgMHg5MCwgMHgyMCwgMHg2YX0gfSwKLXsgMHgwNTllLAkxNiwJezB4ZjAsIDB4MTIsIDB4MDEsIDB4MDAsIDB4NTAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjR9IH0sCi17IDB4MDVhZSwJNCwJezB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9IH0sCi17IDB4MDViMiwJMSwJezB4MjJ9IH0sCi17IDB4MDViMywJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDA1YzMsCTE2LAl7MHhkMCwgMHhjMCwgMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMywgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhhNX0gfSwKLXsgMHgwNWQzLAkxNiwJezB4ZTAsIDB4MzAsIDB4ZTIsIDB4MDYsIDB4NzUsIDB4MGQsIDB4MDYsIDB4MDIsIDB4MDYsIDB4N2YsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4MjAsIDB4ZTF9IH0sCi17IDB4MDVlMywJMTYsCXsweDBjLCAweGU1LCAweDBkLCAweDY0LCAweDAyLCAweDYwLCAweDA2LCAweDc1LCAweDBkLCAweDA3LCAweDAyLCAweDA2LCAweDdmLCAweGFmLCAweDBkLCAweGVmfSB9LAoteyAweDA1ZjMsCTE2LAl7MHgyNCwgMHhmZSwgMHg2MCwgMHg0OCwgMHgxNCwgMHg2MCwgMHgyYywgMHgyNCwgMHhmZSwgMHg2MCwgMHg3NywgMHgyNCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMn0gfSwKLXsgMHgwNjAzLAkxNiwJezB4MDYsIDB4N2YsIDB4YWIsIDB4MDksIDB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWYsIDB4MGMsIDB4MDUsIDB4MGMsIDB4OGYsIDB4ODIsIDB4NzUsIDB4ODN9IH0sCi17IDB4MDYxMywJMTYsCXsweDAwLCAweDEyLCAweDA3LCAweDg1LCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweGU1LCAweDBjLCAweDY1LCAweDA4LCAweDcwLCAweDVlLCAweDc1LCAweDBkfSB9LAoteyAweDA2MjMsCTE2LAl7MHgwNSwgMHg4MCwgMHg1OSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhhYiwgMHgwOSwgMHhhYSwgMHgwYSwgMHhhOSwgMHgwYiwgMHhhZSwgMHgwYywgMHg4ZX0gfSwKLXsgMHgwNjMzLAkxNiwJezB4ODIsIDB4NzUsIDB4ODMsIDB4MDAsIDB4MTIsIDB4MDcsIDB4YjIsIDB4NzUsIDB4MGQsIDB4MDIsIDB4ODAsIDB4NDAsIDB4ZTUsIDB4MDgsIDB4MjQsIDB4ZmV9IH0sCi17IDB4MDY0MywJMTYsCXsweGI1LCAweDBjLCAweDA3LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweGU1LCAweDA4LCAweDE0LCAweGI1LCAweDBjLCAweDBhfSB9LAoteyAweDA2NTMsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhhYiwgMHgwOX0gfSwKLXsgMHgwNjYzLAkxNiwJezB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWUsIDB4MGMsIDB4OGUsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MDAsIDB4MTIsIDB4MDcsIDB4YjIsIDB4MDUsIDB4MGN9IH0sCi17IDB4MDY3MywJMTYsCXsweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweGU0LCAweGY1LCAweDBkLCAweDUzLCAweDkxLCAweGRmLCAweGQwfSB9LAoteyAweDA2ODMsCTE2LAl7MHgwNywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwMywgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMH0gfSwKLXsgMHgwNjkzLAkxMCwJezB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MDY5ZCwJMTYsCXsweGMyLCAweDA0LCAweGQyLCAweDA1LCAweGU0LCAweGY1LCAweDI1LCAweGMyLCAweDAzLCAweGMyLCAweDAwLCAweGMyLCAweDAyLCAweGMyLCAweDAxLCAweDEyfSB9LAoteyAweDA2YWQsCTE2LAl7MHgwZSwgMHg3NCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOX0gfSwKLXsgMHgwNmJkLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4YzAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDZjZCwJMTYsCXsweDdmLCAweDkzLCAweDc0LCAweDMwLCAweGYwLCAweDEyLCAweDBhLCAweDE5LCAweDc1LCAweDI0LCAweDQ4LCAweDc1LCAweDIzLCAweDkyLCAweDc1LCAweDIyfSB9LAoteyAweDA2ZGQsCTE2LAl7MHgwMCwgMHg3NSwgMHgyMSwgMHgwMCwgMHhlNCwgMHhmZiwgMHhmZSwgMHg3ZSwgMHgwNSwgMHg5MCwgMHgyMCwgMHg2OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHhhM30gfSwKLXsgMHgwNmVkLAkxNiwJezB4ZGUsIDB4ZmMsIDB4N2UsIDB4MDAsIDB4N2YsIDB4MDUsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWV9IH0sCi17IDB4MDZmZCwJMTYsCXsweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweDEyLCAweDBlLCAweDY4LCAweDMwLCAweDAxLCAweDBhLCAweGU0LCAweDkwLCAweDIwLCAweDY5fSB9LAoteyAweDA3MGQsCTE2LAl7MHhmMCwgMHgxMiwgMHgwMywgMHg3ZSwgMHhjMiwgMHgwMSwgMHgzMCwgMHgwNCwgMHgxYSwgMHgxMiwgMHgwZSwgMHg3NywgMHg1MCwgMHgxMywgMHgxMiwgMHgwOX0gfSwKLXsgMHgwNzFkLAkxNiwJezB4MDAsIDB4MzAsIDB4MDAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4ZjMsIDB4MTIsIDB4MGQsIDB4OGIsIDB4MTIsIDB4MGV9IH0sCi17IDB4MDcyZCwJMTYsCXsweDc5LCAweGMyLCAweDAzLCAweDdmLCAweGZmLCAweDdlLCAweGZmLCAweDdkLCAweGZmLCAweDdjLCAweGZmLCAweDc4LCAweDIxLCAweDEyLCAweDA4LCAweDFkfSB9LAoteyAweDA3M2QsCTE2LAl7MHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3OCwgMHgwMCwgMHhjMywgMHgxMiwgMHgwOCwgMHgwYywgMHg3MCwgMHgxYiwgMHg3NSwgMHgyNH0gfSwKLXsgMHgwNzRkLAkxNiwJezB4NDgsIDB4NzUsIDB4MjMsIDB4OTIsIDB4ZjUsIDB4MjIsIDB4ZjUsIDB4MjEsIDB4NjMsIDB4MjUsIDB4ZmYsIDB4OTAsIDB4MjAsIDB4NjgsIDB4ZTUsIDB4MjV9IH0sCi17IDB4MDc1ZCwJMTQsCXsweGYwLCAweGEzLCAweDc0LCAweDAxLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweDEyLCAweDA4LCAweGZmLCAweDgwLCAweDlifSB9LAoteyAweDA3NmIsCTEsCXsweDIyfSB9LAoteyAweDA3NmMsCTE2LAl7MHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMn0gfSwKLXsgMHgwNzdjLAk5LAl7MHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHgwNzg1LAkxNiwJezB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTB9IH0sCi17IDB4MDc5NSwJMTYsCXsweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyfSB9LAoteyAweDA3YTUsCTEzLAl7MHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHgwN2IyLAkxNiwJezB4ZjgsIDB4YmIsIDB4MDEsIDB4MGQsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTgsIDB4ZjB9IH0sCi17IDB4MDdjMiwJMTYsCXsweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGM4LCAweGY2LCAweDIyLCAweGJiLCAweGZlLCAweDA1LCAweGU5LCAweDI1LCAweDgyLCAweGM4fSB9LAoteyAweDA3ZDIsCTIsCXsweGYyLCAweDIyfSB9LAoteyAweDA3ZDQsCTE2LAl7MHhiYiwgMHgwMSwgMHgxMCwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhmMH0gfSwKLXsgMHgwN2U0LAkxNiwJezB4YTMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ODYsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmV9IH0sCi17IDB4MDdmNCwJMTYsCXsweDBhLCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweGY1LCAweGYwLCAweDA4LCAweGUyLCAweDIyLCAweGU1LCAweDgzLCAweDJhLCAweGY1LCAweDgzfSB9LAoteyAweDA4MDQsCTgsCXsweGU5LCAweDkzLCAweGY1LCAweGYwLCAweGEzLCAweGU5LCAweDkzLCAweDIyfSB9LAoteyAweDA4MGMsCTE2LAl7MHhlYiwgMHg5ZiwgMHhmNSwgMHhmMCwgMHhlYSwgMHg5ZSwgMHg0MiwgMHhmMCwgMHhlOSwgMHg5ZCwgMHg0MiwgMHhmMCwgMHhlOCwgMHg5YywgMHg0NSwgMHhmMH0gfSwKLXsgMHgwODFjLAkxLAl7MHgyMn0gfSwKLXsgMHgwODFkLAkxNiwJezB4MDgsIDB4MDgsIDB4MDgsIDB4ZTYsIDB4MmYsIDB4ZmYsIDB4ZjYsIDB4MTgsIDB4ZTYsIDB4M2UsIDB4ZmUsIDB4ZjYsIDB4MTgsIDB4ZTYsIDB4M2QsIDB4ZmR9IH0sCi17IDB4MDgyZCwJNywJezB4ZjYsIDB4MTgsIDB4ZTYsIDB4M2MsIDB4ZmMsIDB4ZjYsIDB4MjJ9IH0sCi17IDB4MDgzNCwJNCwJezB4OGMsIDB4MzQsIDB4OGQsIDB4MzV9IH0sCi17IDB4MDgzOCwJMTYsCXsweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweGMwLCAweGYwLCAweGU0LCAweGY1LCAweDM2LCAweGY1LCAweDM3LCAweGMzLCAweGU1LCAweDM3LCAweDk1fSB9LAoteyAweDA4NDgsCTE2LAl7MHgzNSwgMHhlNSwgMHgzNiwgMHg5NSwgMHgzNCwgMHg1MCwgMHg2OSwgMHhlZiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNiwgMHgzZSwgMHhmNX0gfSwKLXsgMHgwODU4LAkxNiwJezB4ODMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZjQsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4ZWYsIDB4MjUsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzZ9IH0sCi17IDB4MDg2OCwJMTYsCXsweDNlLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGVmLCAweDI1LCAweDM3LCAweGY1LCAweDgyLCAweGU1LCAweDM2fSB9LAoteyAweDA4NzgsCTE2LAl7MHgzZSwgMHhmNSwgMHg4MywgMHg3NCwgMHhhYSwgMHhmMCwgMHg2NCwgMHhhYSwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhlZiwgMHgyNSwgMHgzNywgMHhmNX0gfSwKLXsgMHgwODg4LAkxNiwJezB4ODIsIDB4ZTUsIDB4MzYsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4NTUsIDB4ZjAsIDB4NjQsIDB4NTUsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4YWR9IH0sCi17IDB4MDg5OCwJMTYsCXsweDM3LCAweGU1LCAweDM3LCAweDJmLCAweGY1LCAweDgyLCAweGU1LCAweDM2LCAweDNlLCAweGY1LCAweDgzLCAweGVkLCAweGYwLCAweGZjLCAweGFjLCAweDA1fSB9LAoteyAweDA4YTgsCTE2LAl7MHhlZCwgMHg2YywgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHgwNSwgMHgzNywgMHhlNSwgMHgzNywgMHg3MCwgMHgwMiwgMHgwNSwgMHgzNiwgMHg4MCwgMHg4Y30gfSwKLXsgMHgwOGI4LAkxNiwJezB4ZTQsIDB4ZjUsIDB4MzYsIDB4ZjUsIDB4MzcsIDB4YzMsIDB4ZTUsIDB4MzcsIDB4OTUsIDB4MzUsIDB4ZTUsIDB4MzYsIDB4OTUsIDB4MzQsIDB4NTAsIDB4Mjd9IH0sCi17IDB4MDhjOCwJMTYsCXsweGVmLCAweDI1LCAweDM3LCAweGY1LCAweDgyLCAweGU1LCAweDM2LCAweDNlLCAweGY1LCAweDgzLCAweGUwLCAweDY1LCAweDM3LCAweDYwLCAweDAyLCAweGMzfSB9LAoteyAweDA4ZDgsCTE2LAl7MHgyMiwgMHhlZiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNiwgMHgzZSwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHgwNSwgMHgzNywgMHhlNX0gfSwKLXsgMHgwOGU4LAk4LAl7MHgzNywgMHg3MCwgMHgwMiwgMHgwNSwgMHgzNiwgMHg4MCwgMHhjZSwgMHhkM30gfSwKLXsgMHgwOGYwLAkxLAl7MHgyMn0gfSwKLXsgMHgwOGYxLAkxNCwJezB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MDhmZiwJMSwJezB4MjJ9IH0sCi17IDB4MDkwMCwJOSwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4NzR9IH0sCi17IDB4MDk3ZCwJMTYsCXsweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyfSB9LAoteyAweDA5OGQsCTEyLAl7MHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHgzYSwgMHgwMiwgMHgwOSwgMHhkNH0gfSwKLXsgMHgwOTk5LAkxNiwJezB4MDIsIDB4MDYsIDB4OWQsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjJ9IH0sCi17IDB4MDlhOSwJMTYsCXsweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzfSB9LAoteyAweDA5YjksCTE2LAl7MHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZn0gfSwKLXsgMHgwOWM5LAkxNiwJezB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MGUsIDB4MmQsIDB4ZTQsIDB4N2V9IH0sCi17IDB4MDlkOSwJMTYsCXsweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzfSB9LAoteyAweDA5ZTksCTE2LAl7MHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhM30gfSwKLXsgMHgwOWY5LAkxNiwJezB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2F9IH0sCi17IDB4MGEwOSwJMTYsCXsweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlfSB9LAoteyAweDBhMTksCTE2LAl7MHhlNCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHg3ZiwgMHgwYSwgMHhmZSwgMHgxMiwgMHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHg4OX0gfSwKLXsgMHgwYTI5LAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4Y2YsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGEzOSwJMTYsCXsweDk2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDBkLCAweGQ1LCAweDdmLCAweDA1LCAweDdlLCAweDAwfSB9LAoteyAweDBhNDksCTE2LAl7MHgxMiwgMHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg3ZiwgMHgwNX0gfSwKLXsgMHgwYTU5LAkxNiwJezB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDB9IH0sCi17IDB4MGE2OSwJMTYsCXsweDEyLCAweDBkLCAweGQ1LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDdmLCAweDMyLCAweDdlLCAweDAwLCAweDEyLCAweDBkfSB9LAoteyAweDBhNzksCTE2LAl7MHhkNSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHhkNSwgMHgyMn0gfSwKLXsgMHgwYTg5LAkxNiwJezB4NzUsIDB4MzMsIDB4MDEsIDB4ZTUsIDB4MzMsIDB4NjAsIDB4MWIsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MGUsIDB4MTgsIDB4N2YsIDB4MDAsIDB4N2UsIDB4MGV9IH0sCi17IDB4MGE5OSwJMTYsCXsweDdkLCAweDAwLCAweDdjLCAweDAxLCAweDEyLCAweDA4LCAweDM0LCAweGU0LCAweDMzLCAweGY1LCAweDMzLCAweDcwLCAweDA1LCAweDdmLCAweDBmLCAweDEyfSB9LAoteyAweDBhYTksCTE2LAl7MHgwZSwgMHgxOCwgMHhlNSwgMHgzMywgMHg2MCwgMHgxYiwgMHg3ZiwgMHgwMiwgMHgxMiwgMHgwZSwgMHgxOCwgMHg3ZiwgMHgwMCwgMHg3ZSwgMHg4MCwgMHg3ZH0gfSwKLXsgMHgwYWI5LAkxNiwJezB4MDAsIDB4N2MsIDB4ODAsIDB4MTIsIDB4MDgsIDB4MzQsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MzMsIDB4NzAsIDB4MDUsIDB4N2YsIDB4MGYsIDB4MTIsIDB4MGV9IH0sCi17IDB4MGFjOSwJMTYsCXsweDE4LCAweGU1LCAweDMzLCAweDYwLCAweDFiLCAweDdmLCAweDAzLCAweDEyLCAweDBlLCAweDE4LCAweDdmLCAweDAwLCAweDdlLCAweDIwLCAweDdkLCAweDQwfSB9LAoteyAweDBhZDksCTE2LAl7MHg3YywgMHg1YiwgMHgxMiwgMHgwOCwgMHgzNCwgMHhlNCwgMHgzMywgMHhmNSwgMHgzMywgMHg3MCwgMHgwNSwgMHg3ZiwgMHgwZiwgMHgxMiwgMHgwZSwgMHgxOH0gfSwKLXsgMHgwYWU5LAkxMywJezB4ZTUsIDB4MzMsIDB4NjAsIDB4MDUsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MGUsIDB4MTgsIDB4ZTUsIDB4MzMsIDB4MjQsIDB4ZmZ9IH0sCi17IDB4MGFmNiwJMSwJezB4MjJ9IH0sCi17IDB4MGFmNywJOCwJezB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGFmZiwJMSwJezB4MzJ9IH0sCi17IDB4MGIwMCwJMTYsCXsweDAyLCAweDBkLCAweGE1LCAweDAwLCAweDAyLCAweDBkLCAweGVjLCAweDAwLCAweDAyLCAweDBkLCAweDcwLCAweDAwLCAweDAyLCAweDBkLCAweGJkLCAweDAwfSB9LAoteyAweDBiMTAsCTE2LAl7MHgwMiwgMHgwZSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmZiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4MywgMHgwMCwgMHgwMiwgMHgwZSwgMHg4NCwgMHgwMH0gfSwKLXsgMHgwYjIwLAkxNiwJezB4MDIsIDB4MGUsIDB4ODUsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODcsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODgsIDB4MDB9IH0sCi17IDB4MGIzMCwJMTYsCXsweDAyLCAweDBlLCAweDg5LCAweDAwLCAweDAyLCAweDBlLCAweDhhLCAweDAwLCAweDAyLCAweDBlLCAweDhiLCAweDAwLCAweDAyLCAweDBlLCAweDhjLCAweDAwfSB9LAoteyAweDBiNDAsCTE2LAl7MHgwMiwgMHgwZSwgMHg4ZCwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4ZSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4ZiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg5MCwgMHgwMH0gfSwKLXsgMHgwYjUwLAk4LAl7MHgwMiwgMHgwZSwgMHg5MSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg5MiwgMHgwMH0gfSwKLXsgMHgwYjU4LAkxNiwJezB4ZTQsIDB4ZmUsIDB4NzUsIDB4MmIsIDB4ZmYsIDB4NzUsIDB4MmMsIDB4MTEsIDB4NzUsIDB4MmQsIDB4MTIsIDB4YWIsIDB4MmIsIDB4YWEsIDB4MmMsIDB4YTl9IH0sCi17IDB4MGI2OCwJMTYsCXsweDJkLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDA3LCAweDg1LCAweDY0LCAweDAyLCAweDcwLCAweDJkLCAweGFkLCAweDA2LCAweDBlLCAweGVkLCAweGI1fSB9LAoteyAweDBiNzgsCTE2LAl7MHgwNywgMHgwMSwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHgwNywgMHhkNCwgMHg4NSwgMHhmMCwgMHgyOSwgMHhmNSwgMHgyYSwgMHg2MiwgMHgyOX0gfSwKLXsgMHgwYjg4LAkxNiwJezB4ZTUsIDB4MjksIDB4NjIsIDB4MmEsIDB4ZTUsIDB4MmEsIDB4NjIsIDB4MjksIDB4MjksIDB4ZmQsIDB4ZTUsIDB4MjksIDB4M2EsIDB4YTksIDB4MDUsIDB4NzV9IH0sCi17IDB4MGI5OCwJMTQsCXsweDJiLCAweGZmLCAweGY1LCAweDJjLCAweDg5LCAweDJkLCAweDgwLCAweGMzLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwfSB9LAoteyAweDBiYTYsCTEsCXsweDIyfSB9LAoteyAweDBiYTcsCTYsCXsweGFiLCAweDA3LCAweGFhLCAweDA2LCAweGFjLCAweDA1fSB9LAoteyAweDBiYWQsCTE2LAl7MHhlNCwgMHhmZCwgMHhlNSwgMHgxMSwgMHg2MCwgMHgxMSwgMHhlYSwgMHhmZiwgMHhhZSwgMHgwNSwgMHgwZCwgMHhlZSwgMHgyNCwgMHgxMCwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgwYmJkLAkxNiwJezB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZWIsIDB4YWUsIDB4MDUsIDB4MGQsIDB4NzQsIDB4MTAsIDB4MmUsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MGJjZCwJMTYsCXsweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGViLCAweGYwLCAweGFmLCAweDA1LCAweDBkLCAweDc0LCAweDEwLCAweDJmLCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDBiZGQsCTE2LAl7MHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHhhZiwgMHgwZiwgMHg3YSwgMHgwZiwgMHg3YiwgMHgxMCwgMHgxMiwgMHgwZCwgMHg1MSwgMHg3Zn0gfSwKLXsgMHgwYmVkLAk2LAl7MHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHhkNX0gfSwKLXsgMHgwYmYzLAkxLAl7MHgyMn0gfSwKLXsgMHgwYmY0LAkxMCwJezB4OGUsIDB4MzMsIDB4OGYsIDB4MzQsIDB4OGQsIDB4MzUsIDB4OGEsIDB4MzYsIDB4OGIsIDB4Mzd9IH0sCi17IDB4MGJmZSwJMTYsCXsweGU0LCAweGZkLCAweGY1LCAweDM4LCAweGU1LCAweDExLCAweDYwLCAweDEyLCAweGU1LCAweDMzLCAweGZmLCAweGFlLCAweDA1LCAweDBkLCAweGVlLCAweDI0fSB9LAoteyAweDBjMGUsCTE2LAl7MHgxMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHgzNCwgMHhhZSwgMHgwNSwgMHgwZCwgMHg3NH0gfSwKLXsgMHgwYzFlLAkxNiwJezB4MTMsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4MzQsIDB4ZjAsIDB4YWYsIDB4MGYsIDB4N2EsIDB4MGZ9IH0sCi17IDB4MGMyZSwJMTYsCXsweDdiLCAweDEzLCAweDEyLCAweDBkLCAweDUxLCAweGFmLCAweDBmLCAweGFkLCAweDM1LCAweGFiLCAweDM3LCAweGFhLCAweDM2LCAweDEyLCAweDBkLCAweDMyfSB9LAoteyAweDBjM2UsCTEsCXsweDIyfSB9LAoteyAweDBjM2YsCTIsCXsweDhmLCAweDI5fSB9LAoteyAweDBjNDEsCTE2LAl7MHhlNCwgMHhmNSwgMHgyYSwgMHg3NSwgMHgyYiwgMHhmZiwgMHg3NSwgMHgyYywgMHgxMSwgMHg3NSwgMHgyZCwgMHgzMiwgMHhhYiwgMHgyYiwgMHhhYSwgMHgyY30gfSwKLXsgMHgwYzUxLAkxNiwJezB4YTksIDB4MmQsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MDcsIDB4ODUsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MmEsIDB4MDUsIDB4MmEsIDB4ZWZ9IH0sCi17IDB4MGM2MSwJMTYsCXsweGI1LCAweDI5LCAweDAxLCAweDIyLCAweDEyLCAweDA3LCAweDZjLCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1fSB9LAoteyAweDBjNzEsCTE0LAl7MHgyYiwgMHhmZiwgMHhmNSwgMHgyYywgMHg4OSwgMHgyZCwgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwYzdmLAkxLAl7MHgyMn0gfSwKLXsgMHgwYzgwLAkxMCwJezB4OGUsIDB4MzMsIDB4OGYsIDB4MzQsIDB4OGQsIDB4MzUsIDB4OGEsIDB4MzYsIDB4OGIsIDB4Mzd9IH0sCi17IDB4MGM4YSwJMTYsCXsweGU0LCAweGY1LCAweDM4LCAweGU1LCAweDM4LCAweGMzLCAweDk1LCAweDM1LCAweDUwLCAweDIwLCAweDA1LCAweDM0LCAweGU1LCAweDM0LCAweGFlLCAweDMzfSB9LAoteyAweDBjOWEsCTE2LAl7MHg3MCwgMHgwMiwgMHgwNSwgMHgzMywgMHgxNCwgMHhmZiwgMHhlNSwgMHgzNywgMHgyNSwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgzNiwgMHhmNX0gfSwKLXsgMHgwY2FhLAkxMCwJezB4ODMsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MGIsIDB4YTcsIDB4MDUsIDB4MzgsIDB4ODAsIDB4ZDl9IH0sCi17IDB4MGNiNCwJMSwJezB4MjJ9IH0sCi17IDB4MGNiNSwJMTYsCXsweGE5LCAweDA3LCAweGU1LCAweDBkLCAweDcwLCAweDI1LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU5LCAweDI1LCAweGUwfSB9LAoteyAweDBjYzUsCTE2LAl7MHg0NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4ZCwgMHgwOCwgMHhhZiwgMHgwMywgMHhhOSwgMHgwNywgMHg3NSwgMHgwOSwgMHgwMSwgMHg4YX0gfSwKLXsgMHgwY2Q1LAkxMywJezB4MGEsIDB4ODksIDB4MGIsIDB4ZTQsIDB4ZjUsIDB4MGMsIDB4NzUsIDB4MGQsIDB4MDMsIDB4ZDMsIDB4MjIsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MGNlMiwJMTYsCXsweGE5LCAweDA3LCAweGU1LCAweDBkLCAweDcwLCAweDIzLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU5LCAweDI1LCAweGUwfSB9LAoteyAweDBjZjIsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4ZCwgMHgwOCwgMHhhZiwgMHgwMywgMHhhOSwgMHgwNywgMHg3NSwgMHgwOSwgMHgwMSwgMHg4YSwgMHgwYSwgMHg4OX0gfSwKLXsgMHgwZDAyLAkxMSwJezB4MGIsIDB4ZTQsIDB4ZjUsIDB4MGMsIDB4NzUsIDB4MGQsIDB4MDEsIDB4ZDMsIDB4MjIsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MGQwZCwJMTYsCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDA2LCAweDA0LCAweGUwLCAweDQ0fSB9LAoteyAweDBkMWQsCTE2LAl7MHgwMiwgMHhmMCwgMHg3ZiwgMHhkMCwgMHg3ZSwgMHgwNywgMHgxMiwgMHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMH0gfSwKLXsgMHgwZDJkLAk1LAl7MHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwZDMyLAkxNiwJezB4MTIsIDB4MGMsIDB4YjUsIDB4ZTUsIDB4MGQsIDB4MjQsIDB4ZmEsIDB4NjAsIDB4MTAsIDB4MTQsIDB4NjAsIDB4MDcsIDB4MjQsIDB4MDcsIDB4NzAsIDB4ZjN9IH0sCi17IDB4MGQ0MiwJMTUsCXsweDdmLCAweDA4LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA3LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA2LCAweDIyfSB9LAoteyAweDBkNTEsCTE2LAl7MHgxMiwgMHgwYywgMHhlMiwgMHhlNSwgMHgwZCwgMHgyNCwgMHhmYSwgMHg2MCwgMHgxMCwgMHgxNCwgMHg2MCwgMHgwNywgMHgyNCwgMHgwNywgMHg3MCwgMHhmM30gfSwKLXsgMHgwZDYxLAkxNSwJezB4N2YsIDB4MDgsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDcsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDYsIDB4MjJ9IH0sCi17IDB4MGQ3MCwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBkODAsCTExLAl7MHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDhiLAkxNiwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MTIsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MTQsIDB4N2UsIDB4MDAsIDB4MTJ9IH0sCi17IDB4MGQ5YiwJMTAsCXsweDBkLCAweGQ1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDIyfSB9LAoteyAweDBkYTUsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhkMiwgMHgwMSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMX0gfSwKLXsgMHgwZGI1LAk4LAl7MHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZGJkLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZDIsIDB4MDMsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDh9IH0sCi17IDB4MGRjZCwJOCwJezB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGRkNSwJMTYsCXsweDhlLCAweDM5LCAweDhmLCAweDNhLCAweGU1LCAweDNhLCAweDE1LCAweDNhLCAweGFlLCAweDM5LCAweDcwLCAweDAyLCAweDE1LCAweDM5LCAweDRlLCAweDYwfSB9LAoteyAweDBkZTUsCTcsCXsweDA1LCAweDEyLCAweDBlLCAweDQxLCAweDgwLCAweGVlLCAweDIyfSB9LAoteyAweDBkZWMsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMiwgMHhmMCwgMHhkMH0gfSwKLXsgMHgwZGZjLAk2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZTAyLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGUxMiwJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGUxOCwJMTYsCXsweGFlLCAweDA3LCAweDdmLCAweDIxLCAweDdkLCAweDAxLCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGFiLCAweDgyfSB9LAoteyAweDBlMjgsCTUsCXsweGZhLCAweDEyLCAweDBkLCAweDUxLCAweDIyfSB9LAoteyAweDBlMmQsCTE2LAl7MHg1MCwgMHgwZiwgMHgwMCwgMHhjMCwgMHhmOSwgMHhhNCwgMHhiMCwgMHg5OSwgMHg5MiwgMHg4MiwgMHhmOCwgMHg4MCwgMHg5OCwgMHg4OCwgMHg4MywgMHhjNn0gfSwKLXsgMHgwZTNkLAkzLAl7MHhhMSwgMHg4NiwgMHg4ZX0gfSwKLXsgMHgwZTQwLAkxLAl7MHgwMH0gfSwKLXsgMHgwZTQxLAkxNiwJezB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4Zjl9IH0sCi17IDB4MGU1MSwJMSwJezB4MjJ9IH0sCi17IDB4MGU1MiwJMTQsCXsweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDBlLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweGQzLCAweDIyfSB9LAoteyAweDBlNjAsCTgsCXsweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDBlLCAweGQzLCAweDIyfSB9LAoteyAweDBlNjgsCTgsCXsweGU0LCAweGY1LCAweDBkLCAweGQyLCAweGU5LCAweGQyLCAweGFmLCAweDIyfSB9LAoteyAweDBlNzAsCTQsCXsweDUzLCAweGQ4LCAweGVmLCAweDMyfSB9LAoteyAweDBlNzQsCTMsCXsweGQyLCAweDAwLCAweDIyfSB9LAoteyAweDBlNzcsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNzksCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlN2IsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlN2QsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlN2YsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlODEsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlODMsCTEsCXsweDMyfSB9LAoteyAweDBlODQsCTEsCXsweDMyfSB9LAoteyAweDBlODUsCTEsCXsweDMyfSB9LAoteyAweDBlODYsCTEsCXsweDMyfSB9LAoteyAweDBlODcsCTEsCXsweDMyfSB9LAoteyAweDBlODgsCTEsCXsweDMyfSB9LAoteyAweDBlODksCTEsCXsweDMyfSB9LAoteyAweDBlOGEsCTEsCXsweDMyfSB9LAoteyAweDBlOGIsCTEsCXsweDMyfSB9LAoteyAweDBlOGMsCTEsCXsweDMyfSB9LAoteyAweDBlOGQsCTEsCXsweDMyfSB9LAoteyAweDBlOGUsCTEsCXsweDMyfSB9LAoteyAweDBlOGYsCTEsCXsweDMyfSB9LAoteyAweDBlOTAsCTEsCXsweDMyfSB9LAoteyAweDBlOTEsCTEsCXsweDMyfSB9LAoteyAweDBlOTIsCTEsCXsweDMyfSB9LAoteyAweDExMDAsCTE2LAl7MHgxMiwgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NywgMHgwNSwgMHgxMCwgMHgyNywgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMn0gfSwKLXsgMHgxMTEwLAkxNiwJezB4MDAsIDB4MDEsIDB4MDksIDB4MDIsIDB4MjAsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDMsIDB4YTAsIDB4MDAsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDJ9IH0sCi17IDB4MTEyMCwJMTYsCXsweGZmLCAweDAwLCAweDAwLCAweDA0LCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwfSB9LAoteyAweDExMzAsCTE2LAl7MHgwMCwgMHgwMCwgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHgyNiwgMHgwMywgMHg0MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHg2OCwgMHgwMH0gfSwKLXsgMHgxMTQwLAkxNiwJezB4NmYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDMsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzMsIDB4MDB9IH0sCi17IDB4MTE1MCwJMTYsCXsweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDI4LCAweDAzLCAweDQ2LCAweDAwfSB9LAoteyAweDExNjAsCTE2LAl7MHg2OSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHgyMCwgMHgwMH0gfSwKLXsgMHgxMTcwLAkxNiwJezB4NDYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NTcsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzIsIDB4MDB9IH0sCi17IDB4MTE4MCwJMTYsCXsweDZiLCAweDAwLCAweDczLCAweDAwLCAweDJhLCAweDAzLCAweDQzLCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDY2LCAweDAwLCAweDY5LCAweDAwfSB9LAoteyAweDExOTAsCTE2LAl7MHg2NywgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMH0gfSwKLXsgMHgxMWEwLAkxNiwJezB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDAsIDB4MjIsIDB4MDN9IH0sCi17IDB4MTFiMCwJMTYsCXsweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY2LCAweDAwLCAweDYxLCAweDAwLCAweDYzLCAweDAwfSB9LAoteyAweDExYzAsCTE2LAl7MHg2NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMH0gfSwKLXsgMHgxMWQwLAkyLAl7MHgwMCwgMHgwMH0gfSwKLXsgMHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKLQotI2Vsc2UKLQotc3RhdGljIGNvbnN0IHN0cnVjdCB3aGl0ZWhlYXRfaGV4X3JlY29yZCB3aGl0ZWhlYXRfbG9hZGVyW10gPSB7Ci17IDB4MDAwMCwJMywJezB4MDIsIDB4MDksIDB4OGR9IH0sCi17IDB4MDAzMywJMywJezB4MDIsIDB4MDgsIDB4ZmJ9IH0sCi17IDB4MDA0MywJMywJezB4MDIsIDB4MGIsIDB4MDB9IH0sCi17IDB4MDA0YiwJMywJezB4MDIsIDB4MDUsIDB4YWF9IH0sCi17IDB4MDEwMCwJMTYsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDU0LCAweDEwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDUwLCAweGY1LCAweDBmLCAweDEzLCAweGU0fSB9LAoteyAweDAxMTAsCTE2LAl7MHgzMywgMHhmNSwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgyNCwgMHg1ZSwgMHhiNCwgMHgwNywgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwM30gfSwKLXsgMHgwMTIwLAkxNiwJezB4NzgsIDB4OTAsIDB4MDEsIDB4MjgsIDB4ZjgsIDB4MjgsIDB4MjgsIDB4NzMsIDB4MDIsIDB4MDEsIDB4YmMsIDB4MDIsIDB4MDEsIDB4YmMsIDB4MDIsIDB4MDF9IH0sCi17IDB4MDEzMCwJMTYsCXsweDkxLCAweDAyLCAweDAxLCAweDNkLCAweDAyLCAweDAxLCAweDUzLCAweDAyLCAweDAxLCAweDZmLCAweDAyLCAweDAxLCAweDlhLCAweDkwLCAweDdmLCAweDAwfSB9LAoteyAweDAxNDAsCTE2LAl7MHhlNSwgMHgxMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMH0gfSwKLXsgMHgwMTUwLAkxNiwJezB4MDIsIDB4MDMsIDB4NzgsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDE2MCwJMTYsCXsweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDAzLCAweDc4LCAweDEyfSB9LAoteyAweDAxNzAsCTE2LAl7MHgwYSwgMHg4OSwgMHg1MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwZn0gfSwKLXsgMHgwMTgwLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDN9IH0sCi17IDB4MDE5MCwJMTYsCXsweDc4LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDBmLCAweDAyLCAweDAzLCAweDc4LCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDA3LCAweGYwfSB9LAoteyAweDAxYTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhlOCwgMHg3ZX0gfSwKLXsgMHgwMWIwLAkxNiwJezB4MDMsIDB4MTIsIDB4MGQsIDB4OTQsIDB4ZDIsIDB4MDYsIDB4MTIsIDB4MGMsIDB4Y2MsIDB4MDIsIDB4MDMsIDB4NzgsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9IH0sCi17IDB4MDFjMCwJMTYsCXsweDc1LCAweDI4LCAweDAwLCAweGY1LCAweDI5LCAweGEzLCAweGUwLCAweGZlLCAweGU0LCAweGVlLCAweDQyLCAweDI4LCAweDkwLCAweDdmLCAweGVlLCAweGUwfSB9LAoteyAweDAxZDAsCTE2LAl7MHg3NSwgMHgyYSwgMHgwMCwgMHhmNSwgMHgyYiwgMHhhMywgMHhlMCwgMHhmZSwgMHhlNCwgMHhlZSwgMHg0MiwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMH0gfSwKLXsgMHgwMWUwLAkxNiwJezB4NjQsIDB4YzAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDIsIDB4YzksIDB4ZTUsIDB4MmIsIDB4NDUsIDB4MmEsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4Nzh9IH0sCi17IDB4MDFmMCwJMTYsCXsweGMzLCAweGU1LCAweDJiLCAweDk0LCAweDQwLCAweGU1LCAweDJhLCAweDk0LCAweDAwLCAweDUwLCAweDA4LCAweDg1LCAweDJhLCAweDJjLCAweDg1LCAweDJifSB9LAoteyAweDAyMDAsCTE2LAl7MHgyZCwgMHg4MCwgMHgwNiwgMHg3NSwgMHgyYywgMHgwMCwgMHg3NSwgMHgyZCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg2NCwgMHhhMywgMHg3MH0gfSwKLXsgMHgwMjEwLAkxNiwJezB4MzQsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MzEsIDB4YzMsIDB4ZTUsIDB4MzEsIDB4OTUsIDB4MmQsIDB4ZTUsIDB4MzAsIDB4OTUsIDB4MmMsIDB4NTAsIDB4NWN9IH0sCi17IDB4MDIyMCwJMTYsCXsweGU1LCAweDI5LCAweDI1LCAweDMxLCAweGY1LCAweDgyLCAweGU1LCAweDMwLCAweDM1LCAweDI4LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDc0LCAweDAwfSB9LAoteyAweDAyMzAsCTE2LAl7MHgyNSwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgzMSwgMHhlNSwgMHgzMSwgMHg3MH0gfSwKLXsgMHgwMjQwLAkxNiwJezB4MDIsIDB4MDUsIDB4MzAsIDB4ODAsIDB4ZDAsIDB4ZTQsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MzEsIDB4YzMsIDB4ZTUsIDB4MzEsIDB4OTUsIDB4MmQsIDB4ZTV9IH0sCi17IDB4MDI1MCwJMTYsCXsweDMwLCAweDk1LCAweDJjLCAweDUwLCAweDE4LCAweDc0LCAweDAwLCAweDI1LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzfSB9LAoteyAweDAyNjAsCTE2LAl7MHg3NCwgMHhjZCwgMHhmMCwgMHgwNSwgMHgzMSwgMHhlNSwgMHgzMSwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMCwgMHg4MCwgMHhkZCwgMHhhZiwgMHgyOSwgMHhhZX0gfSwKLXsgMHgwMjcwLAkxNiwJezB4MjgsIDB4YWQsIDB4MmQsIDB4N2EsIDB4N2YsIDB4NzksIDB4MDAsIDB4N2IsIDB4MDAsIDB4MTIsIDB4MGIsIDB4ZjQsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZTV9IH0sCi17IDB4MDI4MCwJMTYsCXsweDJkLCAweGYwLCAweGU1LCAweDJkLCAweDI1LCAweDI5LCAweGY1LCAweDI5LCAweGU1LCAweDJjLCAweDM1LCAweDI4LCAweGY1LCAweDI4LCAweGMzLCAweGU1fSB9LAoteyAweDAyOTAsCTE2LAl7MHgyYiwgMHg5NSwgMHgyZCwgMHhmNSwgMHgyYiwgMHhlNSwgMHgyYSwgMHg5NSwgMHgyYywgMHhmNSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHhmZn0gfSwKLXsgMHgwMmEwLAkxNiwJezB4YzQsIDB4NTQsIDB4MGYsIDB4NzUsIDB4MmUsIDB4MDAsIDB4ZjUsIDB4MmYsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4ZTUsIDB4MmUsIDB4OTQsIDB4MDAsIDB4NTB9IH0sCi17IDB4MDJiMCwJMTYsCXsweDBjLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweGU3LCAweDgwLCAweGY0LCAweDkwLCAweDdmLCAweGI0fSB9LAoteyAweDAyYzAsCTE2LAl7MHhlMCwgMHgyMCwgMHhlMiwgMHgwMywgMHgwMiwgMHgwMSwgMHhlNywgMHg4MCwgMHhmNCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHg2NCwgMHg0MCwgMHg2MH0gfSwKLXsgMHgwMmQwLAkxNiwJezB4MDMsIDB4MDIsIDB4MDMsIDB4NzgsIDB4ZTUsIDB4MmIsIDB4NDUsIDB4MmEsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4NzgsIDB4ZTQsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDJlMCwJMTYsCXsweGM1LCAweGYwLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDc1LCAweDJlLCAweDAwLCAweGY1LCAweDJmLCAweGQzfSB9LAoteyAweDAyZjAsCTE2LAl7MHg5NCwgMHgwMCwgMHhlNSwgMHgyZSwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwOSwgMHg4MH0gfSwKLXsgMHgwMzAwLAkxNiwJezB4ZjcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4ZjksIDB4OTAsIDB4N2YsIDB4YzUsIDB4ZTAsIDB4NzUsIDB4MmMsIDB4MDAsIDB4ZjV9IH0sCi17IDB4MDMxMCwJMTYsCXsweDJkLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDY0LCAweGEzLCAweDcwLCAweDM0LCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGMzLCAweGU1LCAweDMxfSB9LAoteyAweDAzMjAsCTE2LAl7MHg5NSwgMHgyZCwgMHhlNSwgMHgzMCwgMHg5NSwgMHgyYywgMHg1MCwgMHgzNCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH0gfSwKLXsgMHgwMzMwLAkxLAl7MHg3ZX0gfSwKLXsgMHgwMzMxLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MjksIDB4MjUsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzAsIDB4MzUsIDB4MjgsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MDM0MSwJMTYsCXsweGVmLCAweGYwLCAweDA1LCAweDMxLCAweGU1LCAweDMxLCAweDcwLCAweDAyLCAweDA1LCAweDMwLCAweDgwLCAweGQwLCAweGFmLCAweDI5LCAweGFlLCAweDI4fSB9LAoteyAweDAzNTEsCTE2LAl7MHhhZCwgMHgyZCwgMHg3YSwgMHg3ZSwgMHg3OSwgMHhjMCwgMHg3YiwgMHhjMCwgMHgxMiwgMHgwYywgMHgzZiwgMHhlNSwgMHgyZCwgMHgyNSwgMHgyOSwgMHhmNX0gfSwKLXsgMHgwMzYxLAkxNiwJezB4MjksIDB4ZTUsIDB4MmMsIDB4MzUsIDB4MjgsIDB4ZjUsIDB4MjgsIDB4YzMsIDB4ZTUsIDB4MmIsIDB4OTUsIDB4MmQsIDB4ZjUsIDB4MmIsIDB4ZTUsIDB4MmF9IH0sCi17IDB4MDM3MSwJOSwJezB4OTUsIDB4MmMsIDB4ZjUsIDB4MmEsIDB4MDIsIDB4MDIsIDB4ZDQsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MDM3YSwJMTYsCXsweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDUyLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweGNlLCAweDI0fSB9LAoteyAweDAzOGEsCTE2LAl7MHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg0MiwgMHgyNCwgMHhmYiwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg0YywgMHgxNCwgMHg3MCwgMHgwM30gfSwKLXsgMHgwMzlhLAkxNiwJezB4MDIsIDB4MDQsIDB4NDYsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4M2EsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDAsIDB4MjR9IH0sCi17IDB4MDNhYSwJMTYsCXsweDA1LCAweDYwLCAweDAzLCAweDAyLCAweDA1LCAweDk2LCAweDEyLCAweDBlLCAweDQ0LCAweDQwLCAweDAzLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmfSB9LAoteyAweDAzYmEsCTE2LAl7MHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MCwgMHg0MCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg2OSwgMHg3NCwgMHgxMSwgMHg5MH0gfSwKLXsgMHgwM2NhLAkxNiwJezB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9IH0sCi17IDB4MDNkYSwJMTYsCXsweGZmLCAweDEyLCAweDBiLCAweDU4LCAweDhiLCAweDI1LCAweDhhLCAweDI2LCAweDg5LCAweDI3LCAweGVhLCAweDQ5LCAweDYwLCAweDExLCAweGFlLCAweDAyfSB9LAoteyAweDAzZWEsCTE2LAl7MHhlZSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MH0gfSwKLXsgMHgwM2ZhLAkxNiwJezB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MDh9IH0sCi17IDB4MDQwYSwJMTYsCXsweGJhLCAweDhiLCAweDI1LCAweDhhLCAweDI2LCAweDg5LCAweDI3LCAweGVhLCAweDQ5LCAweDYwLCAweDExLCAweGFlLCAweDAyLCAweGVlLCAweDkwLCAweDdmfSB9LAoteyAweDA0MWEsCTE2LAl7MHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMH0gfSwKLXsgMHgwNDJhLAkxNiwJezB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTJ9IH0sCi17IDB4MDQzYSwJMTYsCXsweDEyLCAweDBlLCAweDFmLCAweDAyLCAweDA1LCAweGEyLCAweDEyLCAweDBlLCAweDJkLCAweDAyLCAweDA1LCAweGEyLCAweDEyLCAweDBhLCAweGY3LCAweDAyfSB9LAoteyAweDA0NGEsCTE2LAl7MHgwNSwgMHhhMiwgMHgxMiwgMHgwZSwgMHgxMSwgMHgwMiwgMHgwNSwgMHhhMiwgMHgxMiwgMHgwZSwgMHg0NiwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhMn0gfSwKLXsgMHgwNDVhLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTJ9IH0sCi17IDB4MDQ2YSwJMTYsCXsweDAwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDAyLCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwfSB9LAoteyAweDA0N2EsCTE2LAl7MHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHgwNDhhLAkxNiwJezB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTB9IH0sCi17IDB4MDQ5YSwJMTYsCXsweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0fSB9LAoteyAweDA0YWEsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhM30gfSwKLXsgMHgwNGJhLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDF9IH0sCi17IDB4MDRjYSwJMTYsCXsweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDEyLCAweDBlLCAweDQ4LCAweDQwLCAweDAzLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGU4LCAweGUwfSB9LAoteyAweDA0ZGEsCTE2LAl7MHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNH0gfSwKLXsgMHgwNGVhLAkxNiwJezB4MDEsIDB4MDUsIDB4YzIsIDB4MDAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDV9IH0sCi17IDB4MDRmYSwJMTYsCXsweGEyLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0fSB9LAoteyAweDA1MGEsCTE2LAl7MHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3Zn0gfSwKLXsgMHgwNTFhLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWZ9IH0sCi17IDB4MDUyYSwJMTYsCXsweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDY5LCAweDkwfSB9LAoteyAweDA1M2EsCTE2LAl7MHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg2MCwgMHgxMiwgMHgwZSwgMHg0YSwgMHg1MCwgMHg1YiwgMHg5MCwgMHg3ZiwgMHhlOH0gfSwKLXsgMHgwNTRhLAkxNiwJezB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDR9IH0sCi17IDB4MDU1YSwJMTYsCXsweGQyLCAweDAwLCAweDgwLCAweDQ0LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDNiLCAweDkwLCAweDdmLCAweGVhfSB9LAoteyAweDA1NmEsCTE2LAl7MHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMH0gfSwKLXsgMHgwNTdhLAkxNiwJezB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDF9IH0sCi17IDB4MDU4YSwJMTYsCXsweGYwLCAweDgwLCAweDE1LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDBjLCAweDEyLCAweDAxLCAweDAwLCAweDUwfSB9LAoteyAweDA1OWEsCTE2LAl7MHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwNWFhLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MDViYSwJMTYsCXsweGQwLCAweGMwLCAweDAwLCAweGMwLCAweDAxLCAweGMwLCAweDAyLCAweGMwLCAweDAzLCAweGMwLCAweDA2LCAweGMwLCAweDA3LCAweDkwLCAweDdmLCAweGE1fSB9LAoteyAweDA1Y2EsCTE2LAl7MHhlMCwgMHgzMCwgMHhlMiwgMHgwNiwgMHg3NSwgMHgwZCwgMHgwNiwgMHgwMiwgMHgwNiwgMHg3NiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHgyMCwgMHhlMX0gfSwKLXsgMHgwNWRhLAkxNiwJezB4MGMsIDB4ZTUsIDB4MGQsIDB4NjQsIDB4MDIsIDB4NjAsIDB4MDYsIDB4NzUsIDB4MGQsIDB4MDcsIDB4MDIsIDB4MDYsIDB4NzYsIDB4YWYsIDB4MGQsIDB4ZWZ9IH0sCi17IDB4MDVlYSwJMTYsCXsweDI0LCAweGZlLCAweDYwLCAweDQ4LCAweDE0LCAweDYwLCAweDJjLCAweDI0LCAweGZlLCAweDYwLCAweDc3LCAweDI0LCAweDA0LCAweDYwLCAweDAzLCAweDAyfSB9LAoteyAweDA1ZmEsCTE2LAl7MHgwNiwgMHg3NiwgMHhhYiwgMHgwOSwgMHhhYSwgMHgwYSwgMHhhOSwgMHgwYiwgMHhhZiwgMHgwYywgMHgwNSwgMHgwYywgMHg4ZiwgMHg4MiwgMHg3NSwgMHg4M30gfSwKLXsgMHgwNjBhLAkxNiwJezB4MDAsIDB4MTIsIDB4MDgsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4ZTUsIDB4MGMsIDB4NjUsIDB4MDgsIDB4NzAsIDB4NWUsIDB4NzUsIDB4MGR9IH0sCi17IDB4MDYxYSwJMTYsCXsweDA1LCAweDgwLCAweDU5LCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGFiLCAweDA5LCAweGFhLCAweDBhLCAweGE5LCAweDBiLCAweGFlLCAweDBjLCAweDhlfSB9LAoteyAweDA2MmEsCTE2LAl7MHg4MiwgMHg3NSwgMHg4MywgMHgwMCwgMHgxMiwgMHgwOCwgMHg0ZiwgMHg3NSwgMHgwZCwgMHgwMiwgMHg4MCwgMHg0MCwgMHhlNSwgMHgwOCwgMHgyNCwgMHhmZX0gfSwKLXsgMHgwNjNhLAkxNiwJezB4YjUsIDB4MGMsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ZTUsIDB4MDgsIDB4MTQsIDB4YjUsIDB4MGMsIDB4MGF9IH0sCi17IDB4MDY0YSwJMTYsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweGU0LCAweGY1LCAweDBkLCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGFiLCAweDA5fSB9LAoteyAweDA2NWEsCTE2LAl7MHhhYSwgMHgwYSwgMHhhOSwgMHgwYiwgMHhhZSwgMHgwYywgMHg4ZSwgMHg4MiwgMHg3NSwgMHg4MywgMHgwMCwgMHgxMiwgMHgwOCwgMHg0ZiwgMHgwNSwgMHgwY30gfSwKLXsgMHgwNjZhLAkxNiwJezB4ODAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4NTMsIDB4OTEsIDB4ZGYsIDB4ZDB9IH0sCi17IDB4MDY3YSwJMTYsCXsweDA3LCAweGQwLCAweDA2LCAweGQwLCAweDAzLCAweGQwLCAweDAyLCAweGQwLCAweDAxLCAweGQwLCAweDAwLCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwfSB9LAoteyAweDA2OGEsCTEwLAl7MHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwNjk0LAkxNiwJezB4OGMsIDB4MzMsIDB4OGQsIDB4MzQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4YzAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzUsIDB4ZjUsIDB4MzZ9IH0sCi17IDB4MDZhNCwJMTYsCXsweGMzLCAweGU1LCAweDM2LCAweDk1LCAweDM0LCAweGU1LCAweDM1LCAweDk1LCAweDMzLCAweDUwLCAweDY5LCAweGVmLCAweDI1LCAweDM2LCAweGY1LCAweDgyfSB9LAoteyAweDA2YjQsCTE2LAl7MHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHg3NCwgMHhmZiwgMHhmMCwgMHhmNCwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhlZiwgMHgyNSwgMHgzNn0gfSwKLXsgMHgwNmM0LAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4ZWYsIDB4MjUsIDB4MzZ9IH0sCi17IDB4MDZkNCwJMTYsCXsweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweDc0LCAweGFhLCAweGYwLCAweDY0LCAweGFhLCAweDYwLCAweDAyLCAweGMzLCAweDIyfSB9LAoteyAweDA2ZTQsCTE2LAl7MHhlZiwgMHgyNSwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHg3NCwgMHg1NSwgMHhmMCwgMHg2NCwgMHg1NSwgMHg2MH0gfSwKLXsgMHgwNmY0LAkxNiwJezB4MDIsIDB4YzMsIDB4MjIsIDB4YWQsIDB4MzYsIDB4ZTUsIDB4MzYsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZWR9IH0sCi17IDB4MDcwNCwJMTYsCXsweGYwLCAweGZjLCAweGFjLCAweDA1LCAweGVkLCAweDZjLCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweDA1LCAweDM2LCAweGU1LCAweDM2LCAweDcwLCAweDAyfSB9LAoteyAweDA3MTQsCTE2LAl7MHgwNSwgMHgzNSwgMHg4MCwgMHg4YywgMHhlNCwgMHhmNSwgMHgzNSwgMHhmNSwgMHgzNiwgMHhjMywgMHhlNSwgMHgzNiwgMHg5NSwgMHgzNCwgMHhlNSwgMHgzNX0gfSwKLXsgMHgwNzI0LAkxNiwJezB4OTUsIDB4MzMsIDB4NTAsIDB4MjcsIDB4ZWYsIDB4MjUsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjV9IH0sCi17IDB4MDczNCwJMTYsCXsweDM2LCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGVmLCAweDI1LCAweDM2LCAweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweGU0fSB9LAoteyAweDA3NDQsCTEzLAl7MHhmMCwgMHgwNSwgMHgzNiwgMHhlNSwgMHgzNiwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzNSwgMHg4MCwgMHhjZSwgMHhkMywgMHgyMn0gfSwKLXsgMHgwNzUxLAkxNiwJezB4YzIsIDB4MDQsIDB4ZDIsIDB4MDUsIDB4YzIsIDB4MDMsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MDIsIDB4YzIsIDB4MDEsIDB4MTIsIDB4MGUsIDB4M2QsIDB4ZDJ9IH0sCi17IDB4MDc2MSwJMTYsCXsweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDA3NzEsCTE2LAl7MHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MywgMHg3NH0gfSwKLXsgMHgwNzgxLAkxNiwJezB4MzAsIDB4ZjAsIDB4MTIsIDB4MGEsIDB4MTksIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTB9IH0sCi17IDB4MDc5MSwJMTYsCXsweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweDEyLCAweDBlLCAweDM1LCAweDIwLCAweDAxLCAweDQyLCAweDc1LCAweDI0LCAweDAwLCAweDc1LCAweDIzfSB9LAoteyAweDA3YTEsCTE2LAl7MHgwMCwgMHg3NSwgMHgyMiwgMHgwMCwgMHg3NSwgMHgyMSwgMHgwMCwgMHg3ZiwgMHg0OCwgMHg3ZSwgMHg5MiwgMHg3ZCwgMHgwMCwgMHg3YywgMHgwMCwgMHhhYn0gfSwKLXsgMHgwN2IxLAkxNiwJezB4MjQsIDB4YWEsIDB4MjMsIDB4YTksIDB4MjIsIDB4YTgsIDB4MjEsIDB4YzMsIDB4MTIsIDB4MDgsIDB4YTksIDB4NTAsIDB4ZGIsIDB4MjAsIDB4MDEsIDB4ZDh9IH0sCi17IDB4MDdjMSwJMTYsCXsweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDc4LCAweDAwLCAweGU1LCAweDI0LCAweDI0LCAweDAxLCAweGY1LCAweDI0LCAweGVhLCAweDM1LCAweDIzLCAweGY1fSB9LAoteyAweDA3ZDEsCTE2LAl7MHgyMywgMHhlOSwgMHgzNSwgMHgyMiwgMHhmNSwgMHgyMiwgMHhlOCwgMHgzNSwgMHgyMSwgMHhmNSwgMHgyMSwgMHg4MCwgMHhjYSwgMHgzMCwgMHgwMSwgMHgwNX0gfSwKLXsgMHgwN2UxLAkxNiwJezB4MTIsIDB4MDMsIDB4N2EsIDB4YzIsIDB4MDEsIDB4MzAsIDB4MDQsIDB4MWEsIDB4MTIsIDB4MGUsIDB4NDAsIDB4NTAsIDB4MTMsIDB4MTIsIDB4MDksIDB4MDB9IH0sCi17IDB4MDdmMSwJMTYsCXsweDMwLCAweDAwLCAweDA3LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweGYzLCAweDEyLCAweDBkLCAweDRhLCAweDEyLCAweDBlLCAweDQyfSB9LAoteyAweDA4MDEsCTgsCXsweGMyLCAweDAzLCAweDEyLCAweDA4LCAweGZmLCAweDgwLCAweGQ2LCAweDIyfSB9LAoteyAweDA4MDksCTE2LAl7MHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMn0gfSwKLXsgMHgwODE5LAk5LAl7MHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHgwODIyLAkxNiwJezB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTB9IH0sCi17IDB4MDgzMiwJMTYsCXsweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyfSB9LAoteyAweDA4NDIsCTEzLAl7MHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHgwODRmLAkxNiwJezB4ZjgsIDB4YmIsIDB4MDEsIDB4MGQsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTgsIDB4ZjB9IH0sCi17IDB4MDg1ZiwJMTYsCXsweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGM4LCAweGY2LCAweDIyLCAweGJiLCAweGZlLCAweDA1LCAweGU5LCAweDI1LCAweDgyLCAweGM4fSB9LAoteyAweDA4NmYsCTIsCXsweGYyLCAweDIyfSB9LAoteyAweDA4NzEsCTE2LAl7MHhiYiwgMHgwMSwgMHgxMCwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhmMH0gfSwKLXsgMHgwODgxLAkxNiwJezB4YTMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ODYsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmV9IH0sCi17IDB4MDg5MSwJMTYsCXsweDBhLCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweGY1LCAweGYwLCAweDA4LCAweGUyLCAweDIyLCAweGU1LCAweDgzLCAweDJhLCAweGY1LCAweDgzfSB9LAoteyAweDA4YTEsCTgsCXsweGU5LCAweDkzLCAweGY1LCAweGYwLCAweGEzLCAweGU5LCAweDkzLCAweDIyfSB9LAoteyAweDA4YTksCTE2LAl7MHhlYiwgMHg5ZiwgMHhmNSwgMHhmMCwgMHhlYSwgMHg5ZSwgMHg0MiwgMHhmMCwgMHhlOSwgMHg5ZCwgMHg0MiwgMHhmMCwgMHhlOCwgMHg5YywgMHg0NSwgMHhmMH0gfSwKLXsgMHgwOGI5LAkxLAl7MHgyMn0gfSwKLXsgMHgwOGJhLAkyLAl7MHg4ZiwgMHgyOH0gfSwKLXsgMHgwOGJjLAkxNiwJezB4ZTQsIDB4ZjUsIDB4MjksIDB4NzUsIDB4MmEsIDB4ZmYsIDB4NzUsIDB4MmIsIDB4MTEsIDB4NzUsIDB4MmMsIDB4MzIsIDB4YWIsIDB4MmEsIDB4YWEsIDB4MmJ9IH0sCi17IDB4MDhjYywJMTYsCXsweGE5LCAweDJjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDA4LCAweDIyLCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDI5LCAweDA1LCAweDI5LCAweGVmfSB9LAoteyAweDA4ZGMsCTE2LAl7MHhiNSwgMHgyOCwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwOCwgMHgwOSwgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NX0gfSwKLXsgMHgwOGVjLAkxNCwJezB4MmEsIDB4ZmYsIDB4ZjUsIDB4MmIsIDB4ODksIDB4MmMsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDB9IH0sCi17IDB4MDhmYSwJMSwJezB4MjJ9IH0sCi17IDB4MDhmYiwJNCwJezB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9IH0sCi17IDB4MDhmZiwJMSwJezB4MjJ9IH0sCi17IDB4MDkwMCwJOSwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4NzR9IH0sCi17IDB4MDk3ZCwJMTYsCXsweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyfSB9LAoteyAweDA5OGQsCTEyLAl7MHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHgzOSwgMHgwMiwgMHgwOSwgMHhkNH0gfSwKLXsgMHgwOTk5LAkxNiwJezB4MDIsIDB4MDcsIDB4NTEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjJ9IH0sCi17IDB4MDlhOSwJMTYsCXsweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzfSB9LAoteyAweDA5YjksCTE2LAl7MHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZn0gfSwKLXsgMHgwOWM5LAkxNiwJezB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MGQsIDB4ZWMsIDB4ZTQsIDB4N2V9IH0sCi17IDB4MDlkOSwJMTYsCXsweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzfSB9LAoteyAweDA5ZTksCTE2LAl7MHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhM30gfSwKLXsgMHgwOWY5LAkxNiwJezB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2F9IH0sCi17IDB4MGEwOSwJMTYsCXsweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlfSB9LAoteyAweDBhMTksCTE2LAl7MHhlNCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHg3ZiwgMHgwYSwgMHhmZSwgMHgxMiwgMHgwZCwgMHg5NCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHg4OX0gfSwKLXsgMHgwYTI5LAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4Y2YsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MGQsIDB4OTQsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGEzOSwJMTYsCXsweDk2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDBkLCAweDk0LCAweDdmLCAweDA1LCAweDdlLCAweDAwfSB9LAoteyAweDBhNDksCTE2LAl7MHgxMiwgMHgwZCwgMHg5NCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg3ZiwgMHgwNX0gfSwKLXsgMHgwYTU5LAkxNiwJezB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4OTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDB9IH0sCi17IDB4MGE2OSwJMTYsCXsweDEyLCAweDBkLCAweDk0LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDdmLCAweDMyLCAweDdlLCAweDAwLCAweDEyLCAweDBkfSB9LAoteyAweDBhNzksCTE2LAl7MHg5NCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHg5NCwgMHgyMn0gfSwKLXsgMHgwYTg5LAkxNiwJezB4NzUsIDB4MzIsIDB4MDEsIDB4ZTUsIDB4MzIsIDB4NjAsIDB4MWIsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MGQsIDB4ZDcsIDB4N2YsIDB4MDAsIDB4N2UsIDB4MGV9IH0sCi17IDB4MGE5OSwJMTYsCXsweDdkLCAweDAwLCAweDdjLCAweDAxLCAweDEyLCAweDA2LCAweDk0LCAweGU0LCAweDMzLCAweGY1LCAweDMyLCAweDcwLCAweDA1LCAweDdmLCAweDBmLCAweDEyfSB9LAoteyAweDBhYTksCTE2LAl7MHgwZCwgMHhkNywgMHhlNSwgMHgzMiwgMHg2MCwgMHgxYiwgMHg3ZiwgMHgwMiwgMHgxMiwgMHgwZCwgMHhkNywgMHg3ZiwgMHgwMCwgMHg3ZSwgMHg4MCwgMHg3ZH0gfSwKLXsgMHgwYWI5LAkxNiwJezB4MDAsIDB4N2MsIDB4ODAsIDB4MTIsIDB4MDYsIDB4OTQsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MzIsIDB4NzAsIDB4MDUsIDB4N2YsIDB4MGYsIDB4MTIsIDB4MGR9IH0sCi17IDB4MGFjOSwJMTYsCXsweGQ3LCAweGU1LCAweDMyLCAweDYwLCAweDFiLCAweDdmLCAweDAzLCAweDEyLCAweDBkLCAweGQ3LCAweDdmLCAweDAwLCAweDdlLCAweDIwLCAweDdkLCAweDQwfSB9LAoteyAweDBhZDksCTE2LAl7MHg3YywgMHg1YiwgMHgxMiwgMHgwNiwgMHg5NCwgMHhlNCwgMHgzMywgMHhmNSwgMHgzMiwgMHg3MCwgMHgwNSwgMHg3ZiwgMHgwZiwgMHgxMiwgMHgwZCwgMHhkN30gfSwKLXsgMHgwYWU5LAkxNCwJezB4ZTUsIDB4MzIsIDB4NjAsIDB4MDUsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MGQsIDB4ZDcsIDB4ZTUsIDB4MzIsIDB4MjQsIDB4ZmYsIDB4MjJ9IH0sCi17IDB4MGFmNywJOCwJezB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGFmZiwJMSwJezB4MzJ9IH0sCi17IDB4MGIwMCwJMTYsCXsweDAyLCAweDBkLCAweDY0LCAweDAwLCAweDAyLCAweDBkLCAweGFiLCAweDAwLCAweDAyLCAweDBkLCAweDJmLCAweDAwLCAweDAyLCAweDBkLCAweDdjLCAweDAwfSB9LAoteyAweDBiMTAsCTE2LAl7MHgwMiwgMHgwZCwgMHhjMSwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmZiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg0YywgMHgwMCwgMHgwMiwgMHgwZSwgMHg0ZCwgMHgwMH0gfSwKLXsgMHgwYjIwLAkxNiwJezB4MDIsIDB4MGUsIDB4NGUsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NGYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTAsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTEsIDB4MDB9IH0sCi17IDB4MGIzMCwJMTYsCXsweDAyLCAweDBlLCAweDUyLCAweDAwLCAweDAyLCAweDBlLCAweDUzLCAweDAwLCAweDAyLCAweDBlLCAweDU0LCAweDAwLCAweDAyLCAweDBlLCAweDU1LCAweDAwfSB9LAoteyAweDBiNDAsCTE2LAl7MHgwMiwgMHgwZSwgMHg1NiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1NywgMHgwMCwgMHgwMiwgMHgwZSwgMHg1OCwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1OSwgMHgwMH0gfSwKLXsgMHgwYjUwLAk4LAl7MHgwMiwgMHgwZSwgMHg1YSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1YiwgMHgwMH0gfSwKLXsgMHgwYjU4LAkxNiwJezB4ZTQsIDB4ZmUsIDB4NzUsIDB4MmEsIDB4ZmYsIDB4NzUsIDB4MmIsIDB4MTEsIDB4NzUsIDB4MmMsIDB4MTIsIDB4YWIsIDB4MmEsIDB4YWEsIDB4MmIsIDB4YTl9IH0sCi17IDB4MGI2OCwJMTYsCXsweDJjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDA4LCAweDIyLCAweDY0LCAweDAyLCAweDcwLCAweDJkLCAweGFkLCAweDA2LCAweDBlLCAweGVkLCAweGI1fSB9LAoteyAweDBiNzgsCTE2LAl7MHgwNywgMHgwMSwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHgwOCwgMHg3MSwgMHg4NSwgMHhmMCwgMHgyOCwgMHhmNSwgMHgyOSwgMHg2MiwgMHgyOH0gfSwKLXsgMHgwYjg4LAkxNiwJezB4ZTUsIDB4MjgsIDB4NjIsIDB4MjksIDB4ZTUsIDB4MjksIDB4NjIsIDB4MjgsIDB4MjksIDB4ZmQsIDB4ZTUsIDB4MjgsIDB4M2EsIDB4YTksIDB4MDUsIDB4NzV9IH0sCi17IDB4MGI5OCwJMTQsCXsweDJhLCAweGZmLCAweGY1LCAweDJiLCAweDg5LCAweDJjLCAweDgwLCAweGMzLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwfSB9LAoteyAweDBiYTYsCTEsCXsweDIyfSB9LAoteyAweDBiYTcsCTE2LAl7MHhhYiwgMHgwNywgMHhhYSwgMHgwNiwgMHhhYywgMHgwNSwgMHhlNCwgMHhmZCwgMHhlNSwgMHgxMSwgMHg2MCwgMHgxMSwgMHhlYSwgMHhmZiwgMHhhZSwgMHgwNX0gfSwKLXsgMHgwYmI3LAkxNiwJezB4MGQsIDB4ZWUsIDB4MjQsIDB4MTAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZWIsIDB4YWUsIDB4MDV9IH0sCi17IDB4MGJjNywJMTYsCXsweDBkLCAweDc0LCAweDEwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGViLCAweGYwLCAweGFmLCAweDA1LCAweDBkfSB9LAoteyAweDBiZDcsCTE2LAl7MHg3NCwgMHgxMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHhhZiwgMHgwZiwgMHg3YSwgMHgwZn0gfSwKLXsgMHgwYmU3LAkxMywJezB4N2IsIDB4MTAsIDB4MTIsIDB4MGQsIDB4MTAsIDB4N2YsIDB4MGEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4OTQsIDB4MjJ9IH0sCi17IDB4MGJmNCwJMTYsCXsweDhlLCAweDMyLCAweDhmLCAweDMzLCAweDhkLCAweDM0LCAweDhhLCAweDM1LCAweDhiLCAweDM2LCAweGU0LCAweGZkLCAweGY1LCAweDM3LCAweGU1LCAweDExfSB9LAoteyAweDBjMDQsCTE2LAl7MHg2MCwgMHgxMiwgMHhlNSwgMHgzMiwgMHhmZiwgMHhhZSwgMHgwNSwgMHgwZCwgMHhlZSwgMHgyNCwgMHgxMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZn0gfSwKLXsgMHgwYzE0LAkxNiwJezB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MzMsIDB4YWUsIDB4MDUsIDB4MGQsIDB4NzQsIDB4MTMsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9IH0sCi17IDB4MGMyNCwJMTYsCXsweDBmLCAweGY1LCAweDgzLCAweGU1LCAweDMzLCAweGYwLCAweGFmLCAweDBmLCAweDdhLCAweDBmLCAweDdiLCAweDEzLCAweDEyLCAweDBkLCAweDEwLCAweGFmfSB9LAoteyAweDBjMzQsCTExLAl7MHgwZiwgMHhhZCwgMHgzNCwgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNSwgMHgxMiwgMHgwYywgMHhmMSwgMHgyMn0gfSwKLXsgMHgwYzNmLAkxNiwJezB4OGUsIDB4MzIsIDB4OGYsIDB4MzMsIDB4OGQsIDB4MzQsIDB4OGEsIDB4MzUsIDB4OGIsIDB4MzYsIDB4ZTQsIDB4ZjUsIDB4MzcsIDB4ZTUsIDB4MzcsIDB4YzN9IH0sCi17IDB4MGM0ZiwJMTYsCXsweDk1LCAweDM0LCAweDUwLCAweDIwLCAweDA1LCAweDMzLCAweGU1LCAweDMzLCAweGFlLCAweDMyLCAweDcwLCAweDAyLCAweDA1LCAweDMyLCAweDE0LCAweGZmfSB9LAoteyAweDBjNWYsCTE2LAl7MHhlNSwgMHgzNiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgzNSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHgxMiwgMHgwYiwgMHhhN30gfSwKLXsgMHgwYzZmLAk1LAl7MHgwNSwgMHgzNywgMHg4MCwgMHhkOSwgMHgyMn0gfSwKLXsgMHgwYzc0LAkxNiwJezB4YTksIDB4MDcsIDB4ZTUsIDB4MGQsIDB4NzAsIDB4MjUsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTksIDB4MjUsIDB4ZTB9IH0sCi17IDB4MGM4NCwJMTYsCXsweDQ0LCAweDAxLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDhkLCAweDA4LCAweGFmLCAweDAzLCAweGE5LCAweDA3LCAweDc1LCAweDA5LCAweDAxLCAweDhhfSB9LAoteyAweDBjOTQsCTEzLAl7MHgwYSwgMHg4OSwgMHgwYiwgMHhlNCwgMHhmNSwgMHgwYywgMHg3NSwgMHgwZCwgMHgwMywgMHhkMywgMHgyMiwgMHhjMywgMHgyMn0gfSwKLXsgMHgwY2ExLAkxNiwJezB4YTksIDB4MDcsIDB4ZTUsIDB4MGQsIDB4NzAsIDB4MjMsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTksIDB4MjUsIDB4ZTB9IH0sCi17IDB4MGNiMSwJMTYsCXsweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDhkLCAweDA4LCAweGFmLCAweDAzLCAweGE5LCAweDA3LCAweDc1LCAweDA5LCAweDAxLCAweDhhLCAweDBhLCAweDg5fSB9LAoteyAweDBjYzEsCTExLAl7MHgwYiwgMHhlNCwgMHhmNSwgMHgwYywgMHg3NSwgMHgwZCwgMHgwMSwgMHhkMywgMHgyMiwgMHhjMywgMHgyMn0gfSwKLXsgMHgwY2NjLAkxNiwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MDYsIDB4MDQsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MGNkYywJMTYsCXsweDAyLCAweGYwLCAweDdmLCAweGQwLCAweDdlLCAweDA3LCAweDEyLCAweDBkLCAweDk0LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwfSB9LAoteyAweDBjZWMsCTUsCXsweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyfSB9LAoteyAweDBjZjEsCTE2LAl7MHgxMiwgMHgwYywgMHg3NCwgMHhlNSwgMHgwZCwgMHgyNCwgMHhmYSwgMHg2MCwgMHgxMCwgMHgxNCwgMHg2MCwgMHgwNywgMHgyNCwgMHgwNywgMHg3MCwgMHhmM30gfSwKLXsgMHgwZDAxLAkxNSwJezB4N2YsIDB4MDgsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDcsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDYsIDB4MjJ9IH0sCi17IDB4MGQxMCwJMTYsCXsweDEyLCAweDBjLCAweGExLCAweGU1LCAweDBkLCAweDI0LCAweGZhLCAweDYwLCAweDEwLCAweDE0LCAweDYwLCAweDA3LCAweDI0LCAweDA3LCAweDcwLCAweGYzfSB9LAoteyAweDBkMjAsCTE1LAl7MHg3ZiwgMHgwOCwgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNywgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNiwgMHgyMn0gfSwKLXsgMHgwZDJmLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGQzZiwJMTEsCXsweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkNGEsCTE2LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgxMiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgxNCwgMHg3ZSwgMHgwMCwgMHgxMn0gfSwKLXsgMHgwZDVhLAkxMCwJezB4MGQsIDB4OTQsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MGQ2NCwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGQyLCAweDAxLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxfSB9LAoteyAweDBkNzQsCTgsCXsweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkN2MsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhkMiwgMHgwMywgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOH0gfSwKLXsgMHgwZDhjLAk4LAl7MHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDk0LAkxNiwJezB4OGUsIDB4MzgsIDB4OGYsIDB4MzksIDB4ZTUsIDB4MzksIDB4MTUsIDB4MzksIDB4YWUsIDB4MzgsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MzgsIDB4NGUsIDB4NjB9IH0sCi17IDB4MGRhNCwJNywJezB4MDUsIDB4MTIsIDB4MGUsIDB4MDAsIDB4ODAsIDB4ZWUsIDB4MjJ9IH0sCi17IDB4MGRhYiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAyLCAweGYwLCAweGQwfSB9LAoteyAweDBkYmIsCTYsCXsweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkYzEsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgxMCwgMHhmMCwgMHhkMH0gfSwKLXsgMHgwZGQxLAk2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZGQ3LAkxNiwJezB4YWUsIDB4MDcsIDB4N2YsIDB4MjEsIDB4N2QsIDB4MDEsIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4YWIsIDB4ODJ9IH0sCi17IDB4MGRlNywJNSwJezB4ZmEsIDB4MTIsIDB4MGQsIDB4MTAsIDB4MjJ9IH0sCi17IDB4MGRlYywJMTYsCXsweDUwLCAweDBmLCAweDAwLCAweGMwLCAweGY5LCAweGE0LCAweGIwLCAweDk5LCAweDkyLCAweDgyLCAweGY4LCAweDgwLCAweDk4LCAweDg4LCAweDgzLCAweGM2fSB9LAoteyAweDBkZmMsCTMsCXsweGExLCAweDg2LCAweDhlfSB9LAoteyAweDBkZmYsCTEsCXsweDAwfSB9LAoteyAweDBlMDAsCTE2LAl7MHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOX0gfSwKLXsgMHgwZTEwLAkxLAl7MHgyMn0gfSwKLXsgMHgwZTExLAkxNCwJezB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGUxZiwJMTQsCXsweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDBlLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweGQzLCAweDIyfSB9LAoteyAweDBlMmQsCTgsCXsweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDBlLCAweGQzLCAweDIyfSB9LAoteyAweDBlMzUsCTgsCXsweGU0LCAweGY1LCAweDBkLCAweGQyLCAweGU5LCAweGQyLCAweGFmLCAweDIyfSB9LAoteyAweDBlM2QsCTMsCXsweGQyLCAweDAwLCAweDIyfSB9LAoteyAweDBlNDAsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNDIsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNDQsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNDYsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNDgsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNGEsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNGMsCTEsCXsweDMyfSB9LAoteyAweDBlNGQsCTEsCXsweDMyfSB9LAoteyAweDBlNGUsCTEsCXsweDMyfSB9LAoteyAweDBlNGYsCTEsCXsweDMyfSB9LAoteyAweDBlNTAsCTEsCXsweDMyfSB9LAoteyAweDBlNTEsCTEsCXsweDMyfSB9LAoteyAweDBlNTIsCTEsCXsweDMyfSB9LAoteyAweDBlNTMsCTEsCXsweDMyfSB9LAoteyAweDBlNTQsCTEsCXsweDMyfSB9LAoteyAweDBlNTUsCTEsCXsweDMyfSB9LAoteyAweDBlNTYsCTEsCXsweDMyfSB9LAoteyAweDBlNTcsCTEsCXsweDMyfSB9LAoteyAweDBlNTgsCTEsCXsweDMyfSB9LAoteyAweDBlNTksCTEsCXsweDMyfSB9LAoteyAweDBlNWEsCTEsCXsweDMyfSB9LAoteyAweDBlNWIsCTEsCXsweDMyfSB9LAoteyAweDExMDAsCTE2LAl7MHgxMiwgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NywgMHgwNSwgMHgxMCwgMHgyNywgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMn0gfSwKLXsgMHgxMTEwLAkxNiwJezB4MDAsIDB4MDEsIDB4MDksIDB4MDIsIDB4MjAsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDMsIDB4YTAsIDB4MDAsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDJ9IH0sCi17IDB4MTEyMCwJMTYsCXsweGZmLCAweDAwLCAweDAwLCAweDA0LCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwfSB9LAoteyAweDExMzAsCTE2LAl7MHgwMCwgMHgwMCwgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHgyNiwgMHgwMywgMHg0MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHg2OCwgMHgwMH0gfSwKLXsgMHgxMTQwLAkxNiwJezB4NmYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDMsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzMsIDB4MDB9IH0sCi17IDB4MTE1MCwJMTYsCXsweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDI4LCAweDAzLCAweDQ2LCAweDAwfSB9LAoteyAweDExNjAsCTE2LAl7MHg2OSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHgyMCwgMHgwMH0gfSwKLXsgMHgxMTcwLAkxNiwJezB4NDYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NTcsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzIsIDB4MDB9IH0sCi17IDB4MTE4MCwJMTYsCXsweDZiLCAweDAwLCAweDczLCAweDAwLCAweDJhLCAweDAzLCAweDQzLCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDY2LCAweDAwLCAweDY5LCAweDAwfSB9LAoteyAweDExOTAsCTE2LAl7MHg2NywgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMH0gfSwKLXsgMHgxMWEwLAkxNiwJezB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDAsIDB4MjIsIDB4MDN9IH0sCi17IDB4MTFiMCwJMTYsCXsweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY2LCAweDAwLCAweDYxLCAweDAwLCAweDYzLCAweDAwfSB9LAoteyAweDExYzAsCTE2LAl7MHg2NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMH0gfSwKLXsgMHgxMWQwLAkyLAl7MHgwMCwgMHgwMH0gfSwKLXsgMHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3hpcmNvbV9wZ3NfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmZjc0YTYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3hpcmNvbV9wZ3NfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi0vKgotICogVVNCIFhpcmNvbSBQR1MgRmlybXdhcmUKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAgQnJpYW4gV2FybmVyICAgICAgICA8d2FybmVyQGxvdGhhci5jb20+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDEgQ3Jpc3RpYW4gTS4gQ3JhY2l1bmVzY3UJPGNyaXN0aUBkbnQucm8+Ci0gKgotICogICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogICAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogICAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIEdlbmVyYXRlZCBmcm9tIHhpcmNvbV9wZ3MuUyBieSBlenVzYl9jb252ZXJ0X3gucGwKLSAqLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgeGlyY29tX3Bnc19maXJtd2FyZVtdID0gewoteyAweDAwMDAsCTMsCXsweDAyLCAweDAyLCAweDAwfSB9LAoteyAweDAwMjMsCTQsCXsweDAyLCAweDA1LCAweDliLCAweDAwfSB9LAoteyAweDAwMzAsCTUsCXsweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDAwNDMsCTQsCXsweDAyLCAweDAxLCAweDAwLCAweDAwfSB9LAoteyAweDAxMDAsCTE2LAl7MHgwMiwgMHgwMiwgMHhiYSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMTEwLAkxNiwJezB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDEyMCwJMTYsCXsweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDA0LCAweDg1LCAweDAwLCAweDAyLCAweDA0LCAweGI5LCAweDAwfSB9LAoteyAweDAyMDAsCTE2LAl7MHg3NSwgMHg4MSwgMHg1ZSwgMHhlNCwgMHhmNSwgMHgzMiwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMCwgMHhmNSwgMHgzMSwgMHhmNSwgMHgzNCwgMHhjMiwgMHgwMH0gfSwKLXsgMHgwMjEwLAkxNiwJezB4YzIsIDB4MDEsIDB4YTksIDB4MDAsIDB4NzQsIDB4ZmUsIDB4OTAsIDB4MTAsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZDksIDB4ZmMsIDB4NzQsIDB4ZmQsIDB4OTB9IH0sCi17IDB4MDIyMCwJMTYsCXsweDExLCAweDAwLCAweGYwLCAweGEzLCAweGQ5LCAweGZjLCAweDkwLCAweDdmLCAweDk0LCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0fSB9LAoteyAweDAyMzAsCTE2LAl7MHhlZiwgMHhmMCwgMHg3NCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHg3NCwgMHg0MH0gfSwKLXsgMHgwMjQwLAkxNiwJezB4OTAsIDB4N2YsIDB4OWQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4NzQsIDB4ODIsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZjB9IH0sCi17IDB4MDI1MCwJMTYsCXsweDkwLCAweDdmLCAweDk1LCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweGQyLCAweGUwLCAweGYwLCAweDc0LCAweDAxLCAweDkwfSB9LAoteyAweDAyNjAsCTE2LAl7MHg3ZiwgMHhhYiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZH0gfSwKLXsgMHgwMjcwLAkxNiwJezB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4NzQsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZjAsIDB4NzQsIDB4MjAsIDB4OTB9IH0sCi17IDB4MDI4MCwJMTYsCXsweDdmLCAweDljLCAweGYwLCAweDc0LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDc0LCAweDUzLCAweGY1LCAweDk4LCAweDc1LCAweGM4LCAweDMwfSB9LAoteyAweDAyOTAsCTE2LAl7MHg3YiwgMHgwNSwgMHg5MSwgMHg0NCwgMHhkMiwgMHhjYSwgMHg3NSwgMHg5OCwgMHg1MCwgMHhkMiwgMHhlOCwgMHhkMiwgMHhhZiwgMHhkMiwgMHhhYywgMHg3NH0gfSwKLXsgMHgwMmEwLAkxNiwJezB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4NzksIDB4MmUsIDB4N2EsIDB4MDAsIDB4N2IsIDB4MDAsIDB4ZGJ9IH0sCi17IDB4MDJiMCwJMTYsCXsweGZlLCAweGRhLCAweGZhLCAweGQ5LCAweGY2LCAweDc0LCAweDA2LCAweGYwLCAweDgwLCAweGZlLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzfSB9LAoteyAweDAyYzAsCTE2LAl7MHhjMCwgMHg4NCwgMHhjMCwgMHg4NSwgMHhjMCwgMHhlMCwgMHhlNSwgMHg5MSwgMHhjMiwgMHhlNCwgMHhmNSwgMHg5MSwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NH0gfSwKLXsgMHgwMmQwLAkxNiwJezB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4YTMsIDB4ZTAsIDB4ZmIsIDB4YTMsIDB4ZTAsIDB4ZmN9IH0sCi17IDB4MDJlMCwJMTYsCXsweGU5LCAweDU0LCAweDYwLCAweGI0LCAweDAwLCAweDAzLCAweDAyLCAweDAzLCAweDVkLCAweGI0LCAweDQwLCAweDZlLCAweGJhLCAweDAwLCAweDBiLCAweDEyfSB9LAoteyAweDAyZjAsCTE2LAl7MHgwNCwgMHg0NCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNCwgMHgyNiwgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYSwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZX0gfSwKLXsgMHgwMzAwLAkxNiwJezB4YmEsIDB4MDIsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDMsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NjgsIDB4YmEsIDB4MDQsIDB4MWUsIDB4YmJ9IH0sCi17IDB4MDMxMCwJMTYsCXsweDAwLCAweDBhLCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweDkwLCAweDdmLCAweDk4LCAweGUwfSB9LAoteyAweDAzMjAsCTE2LAl7MHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHhiYSwgMHgwNSwgMHgwM30gfSwKLXsgMHgwMzMwLAkxNiwJezB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDYsIDB4MTksIDB4YmIsIDB4MDAsIDB4MDgsIDB4ZTUsIDB4MzMsIDB4ZDMsIDB4OTUsIDB4MzIsIDB4MDIsIDB4MDR9IH0sCi17IDB4MDM0MCwJMTYsCXsweDAyLCAweGJiLCAweDAxLCAweDA4LCAweGU1LCAweDMyLCAweGMzLCAweDk1LCAweDMzLCAweDAyLCAweDA0LCAweDAyLCAweDAyLCAweDA0LCAweDJlLCAweGJhfSB9LAoteyAweDAzNTAsCTE2LAl7MHgwNywgMHgwNSwgMHg4YiwgMHgzNCwgMHgwMiwgMHgwNCwgMHgyNiwgMHgwMiwgMHgwNCwgMHgyZSwgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYSwgMHgwMCwgMHgyMH0gfSwKLXsgMHgwMzYwLAkxNiwJezB4YjksIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjB9IH0sCi17IDB4MDM3MCwJMTYsCXsweDAyLCAweDA0LCAweDI2LCAweGI5LCAweDgyLCAweDAyLCAweDgwLCAweGViLCAweGI5LCAweDgxLCAweDAyLCAweDgwLCAweGU2LCAweDAyLCAweDA0LCAweDJlfSB9LAoteyAweDAzODAsCTE2LAl7MHhiYSwgMHgwMSwgMHgwZiwgMHhiYiwgMHgwMCwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYiwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyNiwgMHgwMn0gfSwKLXsgMHgwMzkwLAkxNiwJezB4MDQsIDB4MmUsIDB4YmEsIDB4MDMsIDB4MGYsIDB4YmIsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmIsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDR9IH0sCi17IDB4MDNhMCwJMTYsCXsweDI2LCAweDAyLCAweDA0LCAweDJlLCAweGJhLCAweDA2LCAweDU2LCAweGJjLCAweDAxLCAweDBmLCAweDkwLCAweDdmLCAweGQ0LCAweDc0LCAweDA2LCAweGYwfSB9LAoteyAweDAzYjAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhkNSwgMHg3NCwgMHg1YSwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHhiYywgMHgwMiwgMHgxMiwgMHhiYiwgMHgwMCwgMHg2ZiwgMHg5MH0gfSwKLXsgMHgwM2MwLAkxNiwJezB4N2YsIDB4ZDQsIDB4NzQsIDB4MDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4NzQsIDB4NmMsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4YmMsIDB4MDN9IH0sCi17IDB4MDNkMCwJMTYsCXsweDI5LCAweDc0LCAweDA0LCAweGMzLCAweDliLCAweDQwLCAweDU3LCAweDYwLCAweDU1LCAweGViLCAweDJiLCAweDkwLCAweDA2LCAweDhjLCAweDI1LCAweDgyfSB9LAoteyAweDAzZTAsCTE2LAl7MHhmNSwgMHg4MiwgMHg3NCwgMHgwMCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYSwgMHg5MCwgMHg3ZiwgMHhkNH0gfSwKLXsgMHgwM2YwLAkxNiwJezB4ZTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZWEsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDgsIDB4MGZ9IH0sCi17IDB4MDQwMCwJMTYsCXsweDc0LCAweDAxLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweDc0LCAweDAxLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweGJhfSB9LAoteyAweDA0MTAsCTE2LAl7MHgwOSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyNiwgMHhiYSwgMHgwYSwgMHgwNSwgMHg3NCwgMHgwMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiYSwgMHgwYiwgMHgwM30gfSwKLXsgMHgwNDIwLAkxNiwJezB4MDIsIDB4MDQsIDB4MjYsIDB4MDIsIDB4MDQsIDB4MmUsIDB4OTAsIDB4N2YsIDB4YjQsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MDksIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDQzMCwJMTYsCXsweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDAwLCAweGQwLCAweGUwLCAweGQwLCAweDg1LCAweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwfSB9LAoteyAweDA0NDAsCTE2LAl7MHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHhlYiwgMHgyMCwgMHhlNywgMHgxZSwgMHhjMywgMHg5NCwgMHgwYSwgMHg1MCwgMHgxOSwgMHhlYiwgMHgyMywgMHgyNH0gfSwKLXsgMHgwNDUwLAkxNiwJezB4NDYsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4MDYsIDB4MzQsIDB4MDAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4Y2IsIDB4ZjUsIDB4Y2QsIDB4YTMsIDB4ZTB9IH0sCi17IDB4MDQ2MCwJMTYsCXsweGY1LCAweGNhLCAweGY1LCAweGNjLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAweGI5LCAweDQxLCAweDExLCAweGViLCAweDY0LCAweGZmLCAweDU0LCAweDgwfSB9LAoteyAweDA0NzAsCTE2LAl7MHhmYiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHg0YiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMH0gfSwKLXsgMHgwNDgwLAkxNiwJezB4NjQsIDB4ZmYsIDB4MDIsIDB4MDQsIDB4MDIsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODUsIDB4YzB9IH0sCi17IDB4MDQ5MCwJMTYsCXsweGUwLCAweGU1LCAweDkxLCAweGMyLCAweGU0LCAweGY1LCAweDkxLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDA0LCAweGYwLCAweDc0LCAweDIwLCAweDkwfSB9LAoteyAweDA0YTAsCTE2LAl7MHg3ZiwgMHg5YywgMHhmMCwgMHgxMiwgMHgwNSwgMHhkYywgMHg3NCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHg4NX0gfSwKLXsgMHgwNGIwLAkxNiwJezB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzB9IH0sCi17IDB4MDRjMCwJMTYsCXsweDg0LCAweGMwLCAweDg1LCAweGMwLCAweGUwLCAweDc0LCAweDEwLCAweDkwLCAweDdmLCAweDljLCAweGYwLCAweGU1LCAweDkxLCAweGMyLCAweGU0LCAweGY1fSB9LAoteyAweDA0ZDAsCTE2LAl7MHg5MSwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmOSwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MH0gfSwKLXsgMHgwNGUwLAkxNiwJezB4N2QsIDB4YzAsIDB4NzUsIDB4ODUsIDB4MTAsIDB4ODUsIDB4MzIsIDB4ODQsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4MDUsIDB4ODQsIDB4ZjAsIDB4ZTUsIDB4ODR9IH0sCi17IDB4MDRmMCwJMTYsCXsweGI1LCAweDMzLCAweDAyLCAweDgwLCAweDA5LCAweDA1LCAweDMyLCAweDA1LCAweDg2LCAweGEzLCAweGQ5LCAweGVjLCAweDgwLCAweDAwLCAweDkwLCAweDdmfSB9LAoteyAweDA1MDAsCTE2LAl7MHhjOSwgMHhmMCwgMHhiMSwgMHg2ZCwgMHg3NCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4NH0gfSwKLXsgMHgwNTEwLAkxNiwJezB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTF9IH0sCi17IDB4MDUyMCwJMTYsCXsweDRiLCAweDkwLCAweDdkLCAweDAwLCAweGU1LCAweDMyLCAweGYwLCAweGEzLCAweGU1LCAweDMzLCAweGYwLCAweGEzLCAweGU1LCAweDMwLCAweGYwLCAweGEzfSB9LAoteyAweDA1MzAsCTE2LAl7MHhlNSwgMHgzMSwgMHhmMCwgMHhhMywgMHhlNCwgMHgzMCwgMHgwMCwgMHgwMSwgMHgwNCwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHg5MCwgMHgxMCwgMHgwMH0gfSwKLXsgMHgwNTQwLAkxNiwJezB4NzksIDB4MTAsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZDksIDB4ZjYsIDB4MDUsIDB4ODYsIDB4NzQsIDB4ZmN9IH0sCi17IDB4MDU1MCwJMTYsCXsweGYwLCAweGEzLCAweDA1LCAweDg2LCAweDkwLCAweDExLCAweDAwLCAweDc5LCAweDEwLCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1fSB9LAoteyAweDA1NjAsCTE2LAl7MHg4NiwgMHhkOSwgMHhmNiwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHg3NCwgMHgyNiwgMHhmMCwgMHgyMiwgMHgyMCwgMHgwMCwgMHgxM30gfSwKLXsgMHgwNTcwLAkxNiwJezB4ZTUsIDB4MzIsIDB4YjUsIDB4MzMsIDB4MDEsIDB4MjIsIDB4MDUsIDB4MzMsIDB4NzUsIDB4ODMsIDB4MTAsIDB4ODUsIDB4MzMsIDB4ODIsIDB4ZTAsIDB4ZjV9IH0sCi17IDB4MDU4MCwJMTYsCXsweDk5LCAweGQyLCAweDAwLCAweDc0LCAweDAwLCAweGI1LCAweDM0LCAweDAxLCAweDIyLCAweGU1LCAweDMzLCAweGQzLCAweDk1LCAweDMyLCAweGMzLCAweDk1fSB9LAoteyAweDA1OTAsCTE2LAl7MHgzNCwgMHg0MCwgMHhmNSwgMHg3NSwgMHgzNCwgMHgwMCwgMHhkMiwgMHgwMSwgMHgwMiwgMHgwNSwgMHhkYywgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMH0gfSwKLXsgMHgwNWEwLAkxNiwJezB4ODMsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4MzAsIDB4OTksIDB4MDcsIDB4YzIsIDB4OTksIDB4YzIsIDB4MDAsIDB4MTIsIDB4MDV9IH0sCi17IDB4MDViMCwJMTYsCXsweDcwLCAweDMwLCAweDk4LCAweDA1LCAweDEyLCAweDA1LCAweGM2LCAweGMyLCAweDk4LCAweGQwLCAweGUwLCAweGQwLCAweDg1LCAweGQwLCAweDg0LCAweGQwfSB9LAoteyAweDA1YzAsCTE2LAl7MHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHg3NSwgMHg4MywgMHgxMSwgMHg4NSwgMHgzMCwgMHg4MiwgMHgwNSwgMHg4MiwgMHhlNSwgMHg5OX0gfSwKLXsgMHgwNWQwLAkxNiwJezB4ZjAsIDB4ZTUsIDB4ODIsIDB4YjUsIDB4MzEsIDB4MDEsIDB4MjIsIDB4MDUsIDB4MzAsIDB4YjEsIDB4ZGMsIDB4MjIsIDB4NzQsIDB4MTAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDVlMCwJMTYsCXsweDljLCAweGYwLCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDNlLCAweDIwLCAweDAxLCAweDNjLCAweGU1LCAweDMwLCAweGI1LCAweDMxfSB9LAoteyAweDA1ZjAsCTE2LAl7MHgwMSwgMHgyMiwgMHhlNCwgMHhmNSwgMHg4NiwgMHg3NSwgMHg4MywgMHgxMSwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZSwgMHgwMCwgMHhmMCwgMHhhMywgMHgwNX0gfSwKLXsgMHgwNjAwLAkxNiwJezB4ODYsIDB4NzksIDB4MDEsIDB4ZTUsIDB4MzAsIDB4YjUsIDB4MzEsIDB4MDIsIDB4ODAsIDB4MTAsIDB4MDUsIDB4MzEsIDB4ODUsIDB4MzEsIDB4ODIsIDB4ZTB9IH0sCi17IDB4MDYxMCwJMTYsCXsweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweDA5LCAweGI5LCAweDQwLCAweGU5LCAweDc0LCAweDEwLCAweDkwLCAweDdmLCAweDljLCAweGYwfSB9LAoteyAweDA2MjAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiOSwgMHhlOSwgMHg2MCwgMHgwMSwgMHhmMCwgMHgyMiwgMHhjMiwgMHgwMSwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgwNjMwLAkxNiwJezB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZjAsIDB4MjIsIDB4YzIsIDB4OTksIDB4ZjUsIDB4OTl9IH0sCi17IDB4MDY0MCwJMTYsCXsweDMwLCAweDk5LCAweGZkLCAweGMyLCAweDk5LCAweDIyLCAweGU1LCAweDVlLCAweGY2LCAweDNjLCAweGZkLCAweDhmLCAweGZlLCAweGM4LCAweGZmLCAweDY0fSB9LAoteyAweDA2NTAsCTE2LAl7MHhmZiwgMHhiMiwgMHhmZiwgMHhkOSwgMHhmZiwgMHhlZCwgMHhmZiwgMHhmMywgMHhmZiwgMHhmYSwgMHgxMiwgMHgwMSwgMHgwMCwgMHgwMSwgMHhmZiwgMHhmZn0gfSwKLXsgMHgwNjYwLAkxNiwJezB4ZmYsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MDQsIDB4MDEsIDB4ODksIDB4YWIsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDEsIDB4MDksIDB4MDIsIDB4MjAsIDB4MDB9IH0sCi17IDB4MDY3MCwJMTYsCXsweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDAyLCAweGZmLCAweGZmLCAweGZmLCAweDAwLCAweDA3LCAweDA1fSB9LAoteyAweDA2ODAsCTE2LAl7MHg4MiwgMHgwMywgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHg5NCwgMHgwNiwgMHg5OH0gfSwKLXsgMHgwNjkwLAkxNiwJezB4MDYsIDB4YmEsIDB4MDYsIDB4ZTgsIDB4MDQsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MjIsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NDMsIDB4MDAsIDB4NGQsIDB4MDB9IH0sCi17IDB4MDZhMCwJMTYsCXsweDQ1LCAweDAwLCAweDIwLCAweDAwLCAweDc1LCAweDAwLCAweDczLCAweDAwLCAweDYyLCAweDAwLCAweDIwLCAweDAwLCAweDc3LCAweDAwLCAweDY5LCAweDAwfSB9LAoteyAweDA2YjAsCTE2LAl7MHg2NCwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MywgMHgwMCwgMHgyZSwgMHgwMywgMHg0MSwgMHgwMCwgMHg0MywgMHgwMH0gfSwKLXsgMHgwNmMwLAkxNiwJezB4NGQsIDB4MDAsIDB4NDUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzMsIDB4MDB9IH0sCi17IDB4MDZkMCwJMTYsCXsweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLCAweDAwLCAweDIwLCAweDAwLCAweDc3LCAweDAwLCAweDY5LCAweDAwfSB9LAoteyAweDA2ZTAsCTE0LAl7MHg2NCwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3NCwgMHgwMCwgMHgwNiwgMHgwMywgMHgzNCwgMHgwMCwgMHgzNywgMHgwMH0gfSwKLXsgMHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vS2NvbmZpZyBiL2RyaXZlcnMvdmlkZW8vS2NvbmZpZwppbmRleCBlMGM1Zjk2Li45Yjg4N2VmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL0tjb25maWcKKysrIGIvZHJpdmVycy92aWRlby9LY29uZmlnCkBAIC03LDcgKzcsNyBAQAogCiBzb3VyY2UgImRyaXZlcnMvY2hhci9hZ3AvS2NvbmZpZyIKIAotc291cmNlICJkcml2ZXJzL2NoYXIvZHJtL0tjb25maWciCitzb3VyY2UgImRyaXZlcnMvZ3B1L2RybS9LY29uZmlnIgogCiBjb25maWcgVkdBU1RBVEUKICAgICAgICB0cmlzdGF0ZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvS2NvbmZpZyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L0tjb25maWcKaW5kZXggZGNkODA3My4uMzBiZjdmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvS2NvbmZpZworKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9LY29uZmlnCkBAIC0xMTIsMyArMTEyLDEwIEBACiAJaGVscAogCSAgSWYgeW91IGhhdmUgYSBJbnRlbCBMRTgwNTc4IChDYXJpbGxvIFJhbmNoKSBzYXkgWSB0byBlbmFibGUgdGhlCiAJICBiYWNrbGlnaHQgZHJpdmVyLgorCitjb25maWcgQkFDS0xJR0hUX1BXTQorCXRyaXN0YXRlICJHZW5lcmljIFBXTSBiYXNlZCBCYWNrbGlnaHQgRHJpdmVyIgorCWRlcGVuZHMgb24gQkFDS0xJR0hUX0NMQVNTX0RFVklDRSAmJiBIQVZFX1BXTQorCWhlbHAKKwkgIElmIHlvdSBoYXZlIGEgTENEIGJhY2tsaWdodCBhZGp1c3RhYmxlIGJ5IFBXTSwgc2F5IFkgdG8gZW5hYmxlCisJICB0aGlzIGRyaXZlci4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L01ha2VmaWxlIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvTWFrZWZpbGUKaW5kZXggMzNmNmM3Yy4uYjUxYTdjZCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvTWFrZWZpbGUKKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvTWFrZWZpbGUKQEAgLTEwLDMgKzEwLDQgQEAKIG9iai0kKENPTkZJR19CQUNLTElHSFRfT01BUDEpCSs9IG9tYXAxX2JsLm8KIG9iai0kKENPTkZJR19CQUNLTElHSFRfUFJPR0VBUikgKz0gcHJvZ2Vhcl9ibC5vCiBvYmotJChDT05GSUdfQkFDS0xJR0hUX0NBUklMTE9fUkFOQ0gpICs9IGNyX2JsbGNkLm8KK29iai0kKENPTkZJR19CQUNLTElHSFRfUFdNKQkrPSBwd21fYmwubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzM4ZDBlCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMKQEAgLTAsMCArMSwxODUgQEAKKy8qCisgKiBsaW51eC9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYworICoKKyAqIHNpbXBsZSBQV00gYmFzZWQgYmFja2xpZ2h0IGNvbnRyb2wsIGJvYXJkIGNvZGUgaGFzIHRvIHNldHVwCisgKiAxKSBwaW4gY29uZmlndXJhdGlvbiBzbyBQV00gd2F2ZWZvcm1zIGNhbiBvdXRwdXQKKyAqIDIpIHBsYXRmb3JtX2RhdGEgY2FzdHMgdG8gdGhlIFBXTSBpZCAoMC8xLzIvMyBvbiBQWEEpCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZiLmg+CisjaW5jbHVkZSA8bGludXgvYmFja2xpZ2h0Lmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvcHdtLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgorCitzdHJ1Y3QgcHdtX2JsX2RhdGEgeworCXN0cnVjdCBwd21fZGV2aWNlCSpwd207CisJdW5zaWduZWQgaW50CQlwZXJpb2Q7CisJaW50CQkJKCpub3RpZnkpKGludCBicmlnaHRuZXNzKTsKK307CisKK3N0YXRpYyBpbnQgcHdtX2JhY2tsaWdodF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkKK3sKKwlzdHJ1Y3QgcHdtX2JsX2RhdGEgKnBiID0gZGV2X2dldF9kcnZkYXRhKCZibC0+ZGV2KTsKKwlpbnQgYnJpZ2h0bmVzcyA9IGJsLT5wcm9wcy5icmlnaHRuZXNzOworCWludCBtYXggPSBibC0+cHJvcHMubWF4X2JyaWdodG5lc3M7CisKKwlpZiAoYmwtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTkspCisJCWJyaWdodG5lc3MgPSAwOworCisJaWYgKGJsLT5wcm9wcy5mYl9ibGFuayAhPSBGQl9CTEFOS19VTkJMQU5LKQorCQlicmlnaHRuZXNzID0gMDsKKworCWlmIChwYi0+bm90aWZ5KQorCQlicmlnaHRuZXNzID0gcGItPm5vdGlmeShicmlnaHRuZXNzKTsKKworCWlmIChicmlnaHRuZXNzID09IDApIHsKKwkJcHdtX2NvbmZpZyhwYi0+cHdtLCAwLCBwYi0+cGVyaW9kKTsKKwkJcHdtX2Rpc2FibGUocGItPnB3bSk7CisJfSBlbHNlIHsKKwkJcHdtX2NvbmZpZyhwYi0+cHdtLCBicmlnaHRuZXNzICogcGItPnBlcmlvZCAvIG1heCwgcGItPnBlcmlvZCk7CisJCXB3bV9lbmFibGUocGItPnB3bSk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3Moc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQoreworCXJldHVybiBibC0+cHJvcHMuYnJpZ2h0bmVzczsKK30KKworc3RhdGljIHN0cnVjdCBiYWNrbGlnaHRfb3BzIHB3bV9iYWNrbGlnaHRfb3BzID0geworCS51cGRhdGVfc3RhdHVzCT0gcHdtX2JhY2tsaWdodF91cGRhdGVfc3RhdHVzLAorCS5nZXRfYnJpZ2h0bmVzcwk9IHB3bV9iYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3MsCit9OworCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhICpkYXRhID0gcGRldi0+ZGV2LnBsYXRmb3JtX2RhdGE7CisJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsOworCXN0cnVjdCBwd21fYmxfZGF0YSAqcGI7CisJaW50IHJldDsKKworCWlmICghZGF0YSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoZGF0YS0+aW5pdCkgeworCQlyZXQgPSBkYXRhLT5pbml0KCZwZGV2LT5kZXYpOworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJcGIgPSBremFsbG9jKHNpemVvZigqcGIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXBiKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX2FsbG9jOworCX0KKworCXBiLT5wZXJpb2QgPSBkYXRhLT5wd21fcGVyaW9kX25zOworCXBiLT5ub3RpZnkgPSBkYXRhLT5ub3RpZnk7CisKKwlwYi0+cHdtID0gcHdtX3JlcXVlc3QoZGF0YS0+cHdtX2lkLCAiYmFja2xpZ2h0Iik7CisJaWYgKElTX0VSUihwYi0+cHdtKSkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJ1bmFibGUgdG8gcmVxdWVzdCBQV00gZm9yIGJhY2tsaWdodFxuIik7CisJCXJldCA9IFBUUl9FUlIocGItPnB3bSk7CisJCWdvdG8gZXJyX3B3bTsKKwl9CisKKwlibCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIocGRldi0+bmFtZSwgJnBkZXYtPmRldiwKKwkJCXBiLCAmcHdtX2JhY2tsaWdodF9vcHMpOworCWlmIChJU19FUlIoYmwpKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHRcbiIpOworCQlyZXQgPSBQVFJfRVJSKGJsKTsKKwkJZ290byBlcnJfYmw7CisJfQorCisJYmwtPnByb3BzLm1heF9icmlnaHRuZXNzID0gZGF0YS0+bWF4X2JyaWdodG5lc3M7CisJYmwtPnByb3BzLmJyaWdodG5lc3MgPSBkYXRhLT5kZnRfYnJpZ2h0bmVzczsKKwliYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhibCk7CisKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBibCk7CisJcmV0dXJuIDA7CisKK2Vycl9ibDoKKwlwd21fZnJlZShwYi0+cHdtKTsKK2Vycl9wd206CisJa2ZyZWUocGIpOworZXJyX2FsbG9jOgorCWlmIChkYXRhLT5leGl0KQorCQlkYXRhLT5leGl0KCZwZGV2LT5kZXYpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcHdtX2JhY2tsaWdodF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhICpkYXRhID0gcGRldi0+ZGV2LnBsYXRmb3JtX2RhdGE7CisJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHB3bV9ibF9kYXRhICpwYiA9IGRldl9nZXRfZHJ2ZGF0YSgmYmwtPmRldik7CisKKwliYWNrbGlnaHRfZGV2aWNlX3VucmVnaXN0ZXIoYmwpOworCXB3bV9jb25maWcocGItPnB3bSwgMCwgcGItPnBlcmlvZCk7CisJcHdtX2Rpc2FibGUocGItPnB3bSk7CisJcHdtX2ZyZWUocGItPnB3bSk7CisJa2ZyZWUocGIpOworCWlmIChkYXRhLT5leGl0KQorCQlkYXRhLT5leGl0KCZwZGV2LT5kZXYpOworCXJldHVybiAwOworfQorCisjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJCSBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHB3bV9ibF9kYXRhICpwYiA9IGRldl9nZXRfZHJ2ZGF0YSgmYmwtPmRldik7CisKKwlwd21fY29uZmlnKHBiLT5wd20sIDAsIHBiLT5wZXJpb2QpOworCXB3bV9kaXNhYmxlKHBiLT5wd20pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwliYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhibCk7CisJcmV0dXJuIDA7Cit9CisjZWxzZQorI2RlZmluZSBwd21fYmFja2xpZ2h0X3N1c3BlbmQJTlVMTAorI2RlZmluZSBwd21fYmFja2xpZ2h0X3Jlc3VtZQlOVUxMCisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcHdtX2JhY2tsaWdodF9kcml2ZXIgPSB7CisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInB3bS1iYWNrbGlnaHQiLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9LAorCS5wcm9iZQkJPSBwd21fYmFja2xpZ2h0X3Byb2JlLAorCS5yZW1vdmUJCT0gcHdtX2JhY2tsaWdodF9yZW1vdmUsCisJLnN1c3BlbmQJPSBwd21fYmFja2xpZ2h0X3N1c3BlbmQsCisJLnJlc3VtZQkJPSBwd21fYmFja2xpZ2h0X3Jlc3VtZSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHB3bV9iYWNrbGlnaHRfaW5pdCh2b2lkKQoreworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoJnB3bV9iYWNrbGlnaHRfZHJpdmVyKTsKK30KK21vZHVsZV9pbml0KHB3bV9iYWNrbGlnaHRfaW5pdCk7CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBwd21fYmFja2xpZ2h0X2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmcHdtX2JhY2tsaWdodF9kcml2ZXIpOworfQorbW9kdWxlX2V4aXQocHdtX2JhY2tsaWdodF9leGl0KTsKKworTU9EVUxFX0RFU0NSSVBUSU9OKCJQV00gYmFzZWQgQmFja2xpZ2h0IERyaXZlciIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYl9kZGMuYyBiL2RyaXZlcnMvdmlkZW8vZmJfZGRjLmMKaW5kZXggYTBkZjYzMi4uMGNmOTZlYiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYl9kZGMuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiX2RkYy5jCkBAIC0xMDYsNiArMTA2LDcgQEAKIAlhbGdvX2RhdGEtPnNldHNkYShhbGdvX2RhdGEtPmRhdGEsIDEpOwogCWFsZ29fZGF0YS0+c2V0c2NsKGFsZ29fZGF0YS0+ZGF0YSwgMSk7CiAKKwlhZGFwdGVyLT5jbGFzcyB8PSBJMkNfQ0xBU1NfRERDOwogCXJldHVybiBlZGlkOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiX2RlZmlvLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiX2RlZmlvLmMKaW5kZXggMjQ4NDNmZC4uNTlkZjEzMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYl9kZWZpby5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJfZGVmaW8uYwpAQCAtNzQsNiArNzQsNyBAQAogewogCXN0cnVjdCBmYl9pbmZvICppbmZvID0gdm1hLT52bV9wcml2YXRlX2RhdGE7CiAJc3RydWN0IGZiX2RlZmVycmVkX2lvICpmYmRlZmlvID0gaW5mby0+ZmJkZWZpbzsKKwlzdHJ1Y3QgcGFnZSAqY3VyOwogCiAJLyogdGhpcyBpcyBhIGNhbGxiYWNrIHdlIGdldCB3aGVuIHVzZXJzcGFjZSBmaXJzdCB0cmllcyB0bwogCXdyaXRlIHRvIHRoZSBwYWdlLiB3ZSBzY2hlZHVsZSBhIHdvcmtxdWV1ZS4gdGhhdCB3b3JrcXVldWUKQEAgLTgzLDcgKzg0LDI0IEBACiAKIAkvKiBwcm90ZWN0IGFnYWluc3QgdGhlIHdvcmtxdWV1ZSBjaGFuZ2luZyB0aGUgcGFnZSBsaXN0ICovCiAJbXV0ZXhfbG9jaygmZmJkZWZpby0+bG9jayk7Ci0JbGlzdF9hZGQoJnBhZ2UtPmxydSwgJmZiZGVmaW8tPnBhZ2VsaXN0KTsKKworCS8qIHdlIGxvb3AgdGhyb3VnaCB0aGUgcGFnZWxpc3QgYmVmb3JlIGFkZGluZyBpbiBvcmRlcgorCXRvIGtlZXAgdGhlIHBhZ2VsaXN0IHNvcnRlZCAqLworCWxpc3RfZm9yX2VhY2hfZW50cnkoY3VyLCAmZmJkZWZpby0+cGFnZWxpc3QsIGxydSkgeworCQkvKiB0aGlzIGNoZWNrIGlzIHRvIGNhdGNoIHRoZSBjYXNlIHdoZXJlIGEgbmV3CisJCXByb2Nlc3MgY291bGQgc3RhcnQgd3JpdGluZyB0byB0aGUgc2FtZSBwYWdlCisJCXRocm91Z2ggYSBuZXcgcHRlLiB0aGlzIG5ldyBhY2Nlc3MgY2FuIGNhdXNlIHRoZQorCQlta3dyaXRlIGV2ZW4gd2hlbiB0aGUgb3JpZ2luYWwgcHMncyBwdGUgaXMgbWFya2VkCisJCXdyaXRhYmxlICovCisJCWlmICh1bmxpa2VseShjdXIgPT0gcGFnZSkpCisJCQlnb3RvIHBhZ2VfYWxyZWFkeV9hZGRlZDsKKwkJZWxzZSBpZiAoY3VyLT5pbmRleCA+IHBhZ2UtPmluZGV4KQorCQkJYnJlYWs7CisJfQorCisJbGlzdF9hZGRfdGFpbCgmcGFnZS0+bHJ1LCAmY3VyLT5scnUpOworCitwYWdlX2FscmVhZHlfYWRkZWQ6CiAJbXV0ZXhfdW5sb2NrKCZmYmRlZmlvLT5sb2NrKTsKIAogCS8qIGNvbWUgYmFjayBhZnRlciBkZWxheSB0byBwcm9jZXNzIHRoZSBkZWZlcnJlZCBJTyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYm1lbS5jIGIvZHJpdmVycy92aWRlby9mYm1lbS5jCmluZGV4IDc3NmY3ZmMuLjMzZWJkYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJtZW0uYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZibWVtLmMKQEAgLTEzMjYsMjAgKzEzMjYsMjcgQEAKIAogCWlmIChmYmlkeCA+PSBGQl9NQVgpCiAJCXJldHVybiAtRU5PREVWOworCWxvY2tfa2VybmVsKCk7CiAjaWZkZWYgQ09ORklHX0tNT0QKIAlpZiAoIShpbmZvID0gcmVnaXN0ZXJlZF9mYltmYmlkeF0pKQogCQl0cnlfdG9fbG9hZChmYmlkeCk7CiAjZW5kaWYgLyogQ09ORklHX0tNT0QgKi8KLQlpZiAoIShpbmZvID0gcmVnaXN0ZXJlZF9mYltmYmlkeF0pKQotCQlyZXR1cm4gLUVOT0RFVjsKLQlpZiAoIXRyeV9tb2R1bGVfZ2V0KGluZm8tPmZib3BzLT5vd25lcikpCi0JCXJldHVybiAtRU5PREVWOworCWlmICghKGluZm8gPSByZWdpc3RlcmVkX2ZiW2ZiaWR4XSkpIHsKKwkJcmVzID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQorCWlmICghdHJ5X21vZHVsZV9nZXQoaW5mby0+ZmJvcHMtPm93bmVyKSkgeworCQlyZXMgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gaW5mbzsKIAlpZiAoaW5mby0+ZmJvcHMtPmZiX29wZW4pIHsKIAkJcmVzID0gaW5mby0+ZmJvcHMtPmZiX29wZW4oaW5mbywxKTsKIAkJaWYgKHJlcykKIAkJCW1vZHVsZV9wdXQoaW5mby0+ZmJvcHMtPm93bmVyKTsKIAl9CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZnNsLWRpdS1mYi5jIGIvZHJpdmVycy92aWRlby9mc2wtZGl1LWZiLmMKaW5kZXggNzEyZGFiYy4uMDlkN2UyMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mc2wtZGl1LWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mc2wtZGl1LWZiLmMKQEAgLTEzMjQsNyArMTMyNCw3IEBACiB7CiAJc3RydWN0IGZzbF9kaXVfZGF0YSAqbWFjaGluZV9kYXRhOwogCi0JbWFjaGluZV9kYXRhID0gZGV2X2dldF9kcnZkYXRhKCZkZXYtPmRldik7CisJbWFjaGluZV9kYXRhID0gZGV2X2dldF9kcnZkYXRhKCZvZmRldi0+ZGV2KTsKIAlkaXNhYmxlX2xjZGMobWFjaGluZV9kYXRhLT5mc2xfZGl1X2luZm9bMF0pOwogCiAJcmV0dXJuIDA7CkBAIC0xMzM0LDcgKzEzMzQsNyBAQAogewogCXN0cnVjdCBmc2xfZGl1X2RhdGEgKm1hY2hpbmVfZGF0YTsKIAotCW1hY2hpbmVfZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgmZGV2LT5kZXYpOworCW1hY2hpbmVfZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldik7CiAJZW5hYmxlX2xjZGMobWFjaGluZV9kYXRhLT5mc2xfZGl1X2luZm9bMF0pOwogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ludGVsZmIvaW50ZWxmYl9pMmMuYyBiL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiX2kyYy5jCmluZGV4IGNhOTVmMDkuLmZjZjlmYWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiX2kyYy5jCisrKyBiL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiX2kyYy5jCkBAIC0xMDAsNyArMTAwLDggQEAKIAogc3RhdGljIGludCBpbnRlbGZiX3NldHVwX2kyY19idXMoc3RydWN0IGludGVsZmJfaW5mbyAqZGluZm8sCiAJCQkJIHN0cnVjdCBpbnRlbGZiX2kyY19jaGFuICpjaGFuLAotCQkJCSBjb25zdCB1MzIgcmVnLCBjb25zdCBjaGFyICpuYW1lKQorCQkJCSBjb25zdCB1MzIgcmVnLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCSBpbnQgY2xhc3MpCiB7CiAJaW50IHJjOwogCkBAIC0xMDgsNiArMTA5LDcgQEAKIAljaGFuLT5yZWcJCQk9IHJlZzsKIAlzbnByaW50ZihjaGFuLT5hZGFwdGVyLm5hbWUsIHNpemVvZihjaGFuLT5hZGFwdGVyLm5hbWUpLAogCQkgImludGVsZmIgJXMiLCBuYW1lKTsKKwljaGFuLT5hZGFwdGVyLmNsYXNzCQk9IGNsYXNzOwogCWNoYW4tPmFkYXB0ZXIub3duZXIJCT0gVEhJU19NT0RVTEU7CiAJY2hhbi0+YWRhcHRlci5pZAkJPSBJMkNfSFdfQl9JTlRFTEZCOwogCWNoYW4tPmFkYXB0ZXIuYWxnb19kYXRhCQk9ICZjaGFuLT5hbGdvOwpAQCAtMTQ1LDcgKzE0Nyw3IEBACiAKIAkvKiBzZXR1cCB0aGUgRERDIGJ1cyBmb3IgYW5hbG9nIG91dHB1dCAqLwogCWludGVsZmJfc2V0dXBfaTJjX2J1cyhkaW5mbywgJmRpbmZvLT5vdXRwdXRbaV0uZGRjX2J1cywgR1BJT0EsCi0JCQkgICAgICAiQ1JURERDX0EiKTsKKwkJCSAgICAgICJDUlRERENfQSIsIEkyQ19DTEFTU19EREMpOwogCWkrKzsKIAogCS8qIG5lZWQgdG8gYWRkIHRoZSBvdXRwdXQgYnVzc2VzIGZvciBlYWNoIGRldmljZQpAQCAtMTU5LDkgKzE2MSw5IEBACiAJY2FzZSBJTlRFTF84NjVHOgogCQlkaW5mby0+b3V0cHV0W2ldLnR5cGUgPSBJTlRFTEZCX09VVFBVVF9EVk87CiAJCWludGVsZmJfc2V0dXBfaTJjX2J1cyhkaW5mbywgJmRpbmZvLT5vdXRwdXRbaV0uZGRjX2J1cywKLQkJCQkgICAgICBHUElPRCwgIkRWT0REQ19EIik7CisJCQkJICAgICAgR1BJT0QsICJEVk9ERENfRCIsIEkyQ19DTEFTU19EREMpOwogCQlpbnRlbGZiX3NldHVwX2kyY19idXMoZGluZm8sICZkaW5mby0+b3V0cHV0W2ldLmkyY19idXMsCi0JCQkJICAgICAgR1BJT0UsICJEVk9JMkNfRSIpOworCQkJCSAgICAgIEdQSU9FLCAiRFZPSTJDX0UiLCAwKTsKIAkJaSsrOwogCQlicmVhazsKIAljYXNlIElOVEVMXzkxNUc6CkBAIC0xNzQsNyArMTc2LDcgQEAKIAkJLyogU0RWTyBwb3J0cyBoYXZlIGEgc2luZ2xlIGNvbnRyb2wgYnVzIC0gMiBkZXZpY2VzICovCiAJCWRpbmZvLT5vdXRwdXRbaV0udHlwZSA9IElOVEVMRkJfT1VUUFVUX1NEVk87CiAJCWludGVsZmJfc2V0dXBfaTJjX2J1cyhkaW5mbywgJmRpbmZvLT5vdXRwdXRbaV0uaTJjX2J1cywKLQkJCQkgICAgICBHUElPRSwgIlNEVk9DVFJMX0UiKTsKKwkJCQkgICAgICBHUElPRSwgIlNEVk9DVFJMX0UiLCAwKTsKIAkJLyogVE9ETzogaW5pdGlhbGl6ZSB0aGUgU0RWTyAqLwogCQkvKiBJODMwU0RWT0luaXQocFNjcm4sIGksIERWT0IpOyAqLwogCQlpKys7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL21hdHJveC9pMmMtbWF0cm94ZmIuYyBiL2RyaXZlcnMvdmlkZW8vbWF0cm94L2kyYy1tYXRyb3hmYi5jCmluZGV4IDRiYWFiN2IuLjc1ZWU1YTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vbWF0cm94L2kyYy1tYXRyb3hmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vbWF0cm94L2kyYy1tYXRyb3hmYi5jCkBAIC0xMDQsNyArMTA0LDkgQEAKIH07CiAKIHN0YXRpYyBpbnQgaTJjX2J1c19yZWcoc3RydWN0IGkyY19iaXRfYWRhcHRlciogYiwgc3RydWN0IG1hdHJveF9mYl9pbmZvKiBtaW5mbywgCi0JCXVuc2lnbmVkIGludCBkYXRhLCB1bnNpZ25lZCBpbnQgY2xvY2ssIGNvbnN0IGNoYXIqIG5hbWUpIHsKKwkJdW5zaWduZWQgaW50IGRhdGEsIHVuc2lnbmVkIGludCBjbG9jaywgY29uc3QgY2hhciAqbmFtZSwKKwkJaW50IGNsYXNzKQorewogCWludCBlcnI7CiAKIAliLT5taW5mbyA9IG1pbmZvOwpAQCAtMTE0LDYgKzExNiw3IEBACiAJc25wcmludGYoYi0+YWRhcHRlci5uYW1lLCBzaXplb2YoYi0+YWRhcHRlci5uYW1lKSwgbmFtZSwKIAkJbWluZm8tPmZiY29uLm5vZGUpOwogCWkyY19zZXRfYWRhcGRhdGEoJmItPmFkYXB0ZXIsIGIpOworCWItPmFkYXB0ZXIuY2xhc3MgPSBjbGFzczsKIAliLT5hZGFwdGVyLmFsZ29fZGF0YSA9ICZiLT5iYWM7CiAJYi0+YWRhcHRlci5kZXYucGFyZW50ID0gJkFDQ0VTU19GQklORk8ocGNpZGV2KS0+ZGV2OwogCWItPmJhYyA9IG1hdHJveF9pMmNfYWxnb190ZW1wbGF0ZTsKQEAgLTE1OSwyMiArMTYyLDI5IEBACiAJc3dpdGNoIChBQ0NFU1NfRkJJTkZPKGNoaXApKSB7CiAJCWNhc2UgTUdBXzIwNjQ6CiAJCWNhc2UgTUdBXzIxNjQ6Ci0JCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMxLCBtaW5mbywgRERDMUJfREFUQSwgRERDMUJfQ0xLLCAiRERDOmZiJXUgIzAiKTsKKwkJCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPmRkYzEsIG1pbmZvLAorCQkJCQkgIEREQzFCX0RBVEEsIEREQzFCX0NMSywKKwkJCQkJICAiRERDOmZiJXUgIzAiLCBJMkNfQ0xBU1NfRERDKTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgotCQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+ZGRjMSwgbWluZm8sIEREQzFfREFUQSwgRERDMV9DTEssICJEREM6ZmIldSAjMCIpOworCQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+ZGRjMSwgbWluZm8sCisJCQkJCSAgRERDMV9EQVRBLCBEREMxX0NMSywKKwkJCQkJICAiRERDOmZiJXUgIzAiLCBJMkNfQ0xBU1NfRERDKTsKIAkJCWJyZWFrOwogCX0KIAlpZiAoZXJyKQogCQlnb3RvIGZhaWxfZGRjMTsKIAlpZiAoQUNDRVNTX0ZCSU5GTyhkZXZmbGFncy5kdWFsaGVhZCkpIHsKLQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+ZGRjMiwgbWluZm8sIEREQzJfREFUQSwgRERDMl9DTEssICJEREM6ZmIldSAjMSIpOworCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMyLCBtaW5mbywKKwkJCQkgIEREQzJfREFUQSwgRERDMl9DTEssCisJCQkJICAiRERDOmZiJXUgIzEiLCBJMkNfQ0xBU1NfRERDKTsKIAkJaWYgKGVyciA9PSAtRU5PREVWKSB7CiAJCQlwcmludGsoS0VSTl9JTkZPICJpMmMtbWF0cm94ZmI6IFZHQS0+VFYgcGx1ZyBkZXRlY3RlZCwgRERDIHVuYXZhaWxhYmxlLlxuIik7CiAJCX0gZWxzZSBpZiAoZXJyKQogCQkJcHJpbnRrKEtFUk5fSU5GTyAiaTJjLW1hdHJveGZiOiBDb3VsZCBub3QgcmVnaXN0ZXIgc2Vjb25kYXJ5IG91dHB1dCBpMmMgYnVzLiBDb250aW51aW5nIGFueXdheS5cbiIpOwogCQkvKiBSZWdpc3RlciBtYXZlbiBidXMgZXZlbiBvbiBHNDUwL0c1NTAgKi8KLQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+bWF2ZW4sIG1pbmZvLCBNQVRfREFUQSwgTUFUX0NMSywgIk1BVkVOOmZiJXUiKTsKKwkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+bWF2ZW4sIG1pbmZvLAorCQkJCSAgTUFUX0RBVEEsIE1BVF9DTEssICJNQVZFTjpmYiV1IiwgMCk7CiAJCWlmIChlcnIpCiAJCQlwcmludGsoS0VSTl9JTkZPICJpMmMtbWF0cm94ZmI6IENvdWxkIG5vdCByZWdpc3RlciBNYXZlbiBpMmMgYnVzLiBDb250aW51aW5nIGFueXdheS5cbiIpOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vcHhhZmIuYyBiL2RyaXZlcnMvdmlkZW8vcHhhZmIuYwppbmRleCBmYWZlN2RiLi5kMDc0NjI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL3B4YWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9weGFmYi5jCkBAIC0xNzkyLDExICsxNzkyLDQ5IEBACiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGludCBfX2RldmV4aXQgcHhhZmJfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgcHhhZmJfaW5mbyAqZmJpID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJaW50IGlycTsKKwlzdHJ1Y3QgZmJfaW5mbyAqaW5mbzsKKworCWlmICghZmJpKQorCQlyZXR1cm4gMDsKKworCWluZm8gPSAmZmJpLT5mYjsKKworCXVucmVnaXN0ZXJfZnJhbWVidWZmZXIoaW5mbyk7CisKKwlweGFmYl9kaXNhYmxlX2NvbnRyb2xsZXIoZmJpKTsKKworCWlmIChmYmktPmZiLmNtYXAubGVuKQorCQlmYl9kZWFsbG9jX2NtYXAoJmZiaS0+ZmIuY21hcCk7CisKKwlpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKGRldiwgMCk7CisJZnJlZV9pcnEoaXJxLCBmYmkpOworCisJZG1hX2ZyZWVfd3JpdGVjb21iaW5lKCZkZXYtPmRldiwgZmJpLT5tYXBfc2l6ZSwKKwkJCQkJZmJpLT5tYXBfY3B1LCBmYmktPm1hcF9kbWEpOworCisJaW91bm1hcChmYmktPm1taW9fYmFzZSk7CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCXJlbGVhc2VfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxKTsKKworCWNsa19wdXQoZmJpLT5jbGspOworCWtmcmVlKGZiaSk7CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcHhhZmJfZHJpdmVyID0gewogCS5wcm9iZQkJPSBweGFmYl9wcm9iZSwKKwkucmVtb3ZlIAk9IHB4YWZiX3JlbW92ZSwKIAkuc3VzcGVuZAk9IHB4YWZiX3N1c3BlbmQsCiAJLnJlc3VtZQkJPSBweGFmYl9yZXN1bWUsCiAJLmRyaXZlcgkJPSB7CisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAogCQkubmFtZQk9ICJweGEyeHgtZmIiLAogCX0sCiB9OwpAQCAtMTgwOSw3ICsxODQ3LDEzIEBACiAJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmcHhhZmJfZHJpdmVyKTsKIH0KIAorc3RhdGljIHZvaWQgX19leGl0IHB4YWZiX2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmcHhhZmJfZHJpdmVyKTsKK30KKwogbW9kdWxlX2luaXQocHhhZmJfaW5pdCk7Cittb2R1bGVfZXhpdChweGFmYl9leGl0KTsKIAogTU9EVUxFX0RFU0NSSVBUSU9OKCJsb2FkYWJsZSBmcmFtZWJ1ZmZlciBkcml2ZXIgZm9yIFBYQSIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9zZ2l2d2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL3NnaXZ3ZmIuYwppbmRleCA0ZmIxNjI0Li5mNTI1MmMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL3NnaXZ3ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL3NnaXZ3ZmIuYwpAQCAtMjEsOCArMjEsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL210cnIuaD4KLQotI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KKyNpbmNsdWRlIDxhc20vdmlzd3Mvc2dpdncuaD4KIAogI2RlZmluZSBJTkNMVURFX1RJTUlOR19UQUJMRV9EQVRBCiAjZGVmaW5lIERCRV9SRUdfQkFTRSBwYXItPnJlZ3MKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8veGVuLWZiZnJvbnQuYyBiL2RyaXZlcnMvdmlkZW8veGVuLWZiZnJvbnQuYwppbmRleCA2MTlhNmY4Li40N2VkMzliIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL3hlbi1mYmZyb250LmMKKysrIGIvZHJpdmVycy92aWRlby94ZW4tZmJmcm9udC5jCkBAIC0xOCw2ICsxOCw3IEBACiAgKiBmcmFtZSBidWZmZXIuCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2NvbnNvbGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2ZiLmg+CkBAIC00MiwzNyArNDMsNjggQEAKIAlzdHJ1Y3QgeGVuZmJfcGFnZQkqcGFnZTsKIAl1bnNpZ25lZCBsb25nIAkJKm1mbnM7CiAJaW50CQkJdXBkYXRlX3dhbnRlZDsgLyogWEVORkJfVFlQRV9VUERBVEUgd2FudGVkICovCisJaW50CQkJZmVhdHVyZV9yZXNpemU7IC8qIFhFTkZCX1RZUEVfUkVTSVpFIG9rICovCisJc3RydWN0IHhlbmZiX3Jlc2l6ZQlyZXNpemU7CQkvKiBwcm90ZWN0ZWQgYnkgcmVzaXplX2xvY2sgKi8KKwlpbnQJCQlyZXNpemVfZHB5OwkvKiBkaXR0byAqLworCXNwaW5sb2NrX3QJCXJlc2l6ZV9sb2NrOwogCiAJc3RydWN0IHhlbmJ1c19kZXZpY2UJKnhiZGV2OwogfTsKIAotc3RhdGljIHUzMiB4ZW5mYl9tZW1fbGVuID0gWEVORkJfV0lEVEggKiBYRU5GQl9IRUlHSFQgKiBYRU5GQl9ERVBUSCAvIDg7CisjZGVmaW5lIFhFTkZCX0RFRkFVTFRfRkJfTEVOIChYRU5GQl9XSURUSCAqIFhFTkZCX0hFSUdIVCAqIFhFTkZCX0RFUFRIIC8gOCkKIAorZW51bSB7IEtQQVJBTV9NRU0sIEtQQVJBTV9XSURUSCwgS1BBUkFNX0hFSUdIVCwgS1BBUkFNX0NOVCB9Oworc3RhdGljIGludCB2aWRlb1tLUEFSQU1fQ05UXSA9IHsgMiwgWEVORkJfV0lEVEgsIFhFTkZCX0hFSUdIVCB9OworbW9kdWxlX3BhcmFtX2FycmF5KHZpZGVvLCBpbnQsIE5VTEwsIDApOworTU9EVUxFX1BBUk1fREVTQyh2aWRlbywKKwkiVmlkZW8gbWVtb3J5IHNpemUgaW4gTUIsIHdpZHRoLCBoZWlnaHQgaW4gcGl4ZWxzIChkZWZhdWx0IDIsODAwLDYwMCkiKTsKKworc3RhdGljIHZvaWQgeGVuZmJfbWFrZV9wcmVmZXJyZWRfY29uc29sZSh2b2lkKTsKIHN0YXRpYyBpbnQgeGVuZmJfcmVtb3ZlKHN0cnVjdCB4ZW5idXNfZGV2aWNlICopOwotc3RhdGljIHZvaWQgeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShzdHJ1Y3QgeGVuZmJfaW5mbyAqKTsKK3N0YXRpYyB2b2lkIHhlbmZiX2luaXRfc2hhcmVkX3BhZ2Uoc3RydWN0IHhlbmZiX2luZm8gKiwgc3RydWN0IGZiX2luZm8gKik7CiBzdGF0aWMgaW50IHhlbmZiX2Nvbm5lY3RfYmFja2VuZChzdHJ1Y3QgeGVuYnVzX2RldmljZSAqLCBzdHJ1Y3QgeGVuZmJfaW5mbyAqKTsKIHN0YXRpYyB2b2lkIHhlbmZiX2Rpc2Nvbm5lY3RfYmFja2VuZChzdHJ1Y3QgeGVuZmJfaW5mbyAqKTsKIAorc3RhdGljIHZvaWQgeGVuZmJfc2VuZF9ldmVudChzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbywKKwkJCSAgICAgdW5pb24geGVuZmJfb3V0X2V2ZW50ICpldmVudCkKK3sKKwl1MzIgcHJvZDsKKworCXByb2QgPSBpbmZvLT5wYWdlLT5vdXRfcHJvZDsKKwkvKiBjYWxsZXIgZW5zdXJlcyAheGVuZmJfcXVldWVfZnVsbCgpICovCisJbWIoKTsJCQkvKiBlbnN1cmUgcmluZyBzcGFjZSBhdmFpbGFibGUgKi8KKwlYRU5GQl9PVVRfUklOR19SRUYoaW5mby0+cGFnZSwgcHJvZCkgPSAqZXZlbnQ7CisJd21iKCk7CQkJLyogZW5zdXJlIHJpbmcgY29udGVudHMgdmlzaWJsZSAqLworCWluZm8tPnBhZ2UtPm91dF9wcm9kID0gcHJvZCArIDE7CisKKwlub3RpZnlfcmVtb3RlX3ZpYV9pcnEoaW5mby0+aXJxKTsKK30KKwogc3RhdGljIHZvaWQgeGVuZmJfZG9fdXBkYXRlKHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvLAogCQkJICAgIGludCB4LCBpbnQgeSwgaW50IHcsIGludCBoKQogewogCXVuaW9uIHhlbmZiX291dF9ldmVudCBldmVudDsKLQl1MzIgcHJvZDsKIAorCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZihldmVudCkpOwogCWV2ZW50LnR5cGUgPSBYRU5GQl9UWVBFX1VQREFURTsKIAlldmVudC51cGRhdGUueCA9IHg7CiAJZXZlbnQudXBkYXRlLnkgPSB5OwogCWV2ZW50LnVwZGF0ZS53aWR0aCA9IHc7CiAJZXZlbnQudXBkYXRlLmhlaWdodCA9IGg7CiAKLQlwcm9kID0gaW5mby0+cGFnZS0+b3V0X3Byb2Q7CiAJLyogY2FsbGVyIGVuc3VyZXMgIXhlbmZiX3F1ZXVlX2Z1bGwoKSAqLwotCW1iKCk7CQkJLyogZW5zdXJlIHJpbmcgc3BhY2UgYXZhaWxhYmxlICovCi0JWEVORkJfT1VUX1JJTkdfUkVGKGluZm8tPnBhZ2UsIHByb2QpID0gZXZlbnQ7Ci0Jd21iKCk7CQkJLyogZW5zdXJlIHJpbmcgY29udGVudHMgdmlzaWJsZSAqLwotCWluZm8tPnBhZ2UtPm91dF9wcm9kID0gcHJvZCArIDE7CisJeGVuZmJfc2VuZF9ldmVudChpbmZvLCAmZXZlbnQpOworfQogCi0Jbm90aWZ5X3JlbW90ZV92aWFfaXJxKGluZm8tPmlycSk7CitzdGF0aWMgdm9pZCB4ZW5mYl9kb19yZXNpemUoc3RydWN0IHhlbmZiX2luZm8gKmluZm8pCit7CisJdW5pb24geGVuZmJfb3V0X2V2ZW50IGV2ZW50OworCisJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mKGV2ZW50KSk7CisJZXZlbnQucmVzaXplID0gaW5mby0+cmVzaXplOworCisJLyogY2FsbGVyIGVuc3VyZXMgIXhlbmZiX3F1ZXVlX2Z1bGwoKSAqLworCXhlbmZiX3NlbmRfZXZlbnQoaW5mbywgJmV2ZW50KTsKIH0KIAogc3RhdGljIGludCB4ZW5mYl9xdWV1ZV9mdWxsKHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvKQpAQCAtODQsMTIgKzExNiwyOCBAQAogCXJldHVybiBwcm9kIC0gY29ucyA9PSBYRU5GQl9PVVRfUklOR19MRU47CiB9CiAKK3N0YXRpYyB2b2lkIHhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaW5mby0+cmVzaXplX2xvY2ssIGZsYWdzKTsKKwlpZiAoaW5mby0+cmVzaXplX2RweSkgeworCQlpZiAoIXhlbmZiX3F1ZXVlX2Z1bGwoaW5mbykpIHsKKwkJCWluZm8tPnJlc2l6ZV9kcHkgPSAwOworCQkJeGVuZmJfZG9fcmVzaXplKGluZm8pOworCQl9CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmluZm8tPnJlc2l6ZV9sb2NrLCBmbGFncyk7Cit9CisKIHN0YXRpYyB2b2lkIHhlbmZiX3JlZnJlc2goc3RydWN0IHhlbmZiX2luZm8gKmluZm8sCiAJCQkgIGludCB4MSwgaW50IHkxLCBpbnQgdywgaW50IGgpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgeTIgPSB5MSArIGggLSAxOwogCWludCB4MiA9IHgxICsgdyAtIDE7CisJaW50IHkyID0geTEgKyBoIC0gMTsKKworCXhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KGluZm8pOwogCiAJaWYgKCFpbmZvLT51cGRhdGVfd2FudGVkKQogCQlyZXR1cm47CkBAIC0yMjIsNiArMjcwLDU3IEBACiAJcmV0dXJuIHJlczsKIH0KIAorc3RhdGljIGludAoreGVuZmJfY2hlY2tfdmFyKHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKK3sKKwlzdHJ1Y3QgeGVuZmJfaW5mbyAqeGVuZmJfaW5mbzsKKwlpbnQgcmVxdWlyZWRfbWVtX2xlbjsKKworCXhlbmZiX2luZm8gPSBpbmZvLT5wYXI7CisKKwlpZiAoIXhlbmZiX2luZm8tPmZlYXR1cmVfcmVzaXplKSB7CisJCWlmICh2YXItPnhyZXMgPT0gdmlkZW9bS1BBUkFNX1dJRFRIXSAmJgorCQkgICAgdmFyLT55cmVzID09IHZpZGVvW0tQQVJBTV9IRUlHSFRdICYmCisJCSAgICB2YXItPmJpdHNfcGVyX3BpeGVsID09IHhlbmZiX2luZm8tPnBhZ2UtPmRlcHRoKSB7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBDYW4ndCByZXNpemUgcGFzdCBpbml0aWFsIHdpZHRoIGFuZCBoZWlnaHQgKi8KKwlpZiAodmFyLT54cmVzID4gdmlkZW9bS1BBUkFNX1dJRFRIXSB8fCB2YXItPnlyZXMgPiB2aWRlb1tLUEFSQU1fSEVJR0hUXSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXF1aXJlZF9tZW1fbGVuID0gdmFyLT54cmVzICogdmFyLT55cmVzICogeGVuZmJfaW5mby0+cGFnZS0+ZGVwdGggLyA4OworCWlmICh2YXItPmJpdHNfcGVyX3BpeGVsID09IHhlbmZiX2luZm8tPnBhZ2UtPmRlcHRoICYmCisJICAgIHZhci0+eHJlcyA8PSBpbmZvLT5maXgubGluZV9sZW5ndGggLyAoWEVORkJfREVQVEggLyA4KSAmJgorCSAgICByZXF1aXJlZF9tZW1fbGVuIDw9IGluZm8tPmZpeC5zbWVtX2xlbikgeworCQl2YXItPnhyZXNfdmlydHVhbCA9IHZhci0+eHJlczsKKwkJdmFyLT55cmVzX3ZpcnR1YWwgPSB2YXItPnlyZXM7CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGludCB4ZW5mYl9zZXRfcGFyKHN0cnVjdCBmYl9pbmZvICppbmZvKQoreworCXN0cnVjdCB4ZW5mYl9pbmZvICp4ZW5mYl9pbmZvOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwl4ZW5mYl9pbmZvID0gaW5mby0+cGFyOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnhlbmZiX2luZm8tPnJlc2l6ZV9sb2NrLCBmbGFncyk7CisJeGVuZmJfaW5mby0+cmVzaXplLnR5cGUgPSBYRU5GQl9UWVBFX1JFU0laRTsKKwl4ZW5mYl9pbmZvLT5yZXNpemUud2lkdGggPSBpbmZvLT52YXIueHJlczsKKwl4ZW5mYl9pbmZvLT5yZXNpemUuaGVpZ2h0ID0gaW5mby0+dmFyLnlyZXM7CisJeGVuZmJfaW5mby0+cmVzaXplLnN0cmlkZSA9IGluZm8tPmZpeC5saW5lX2xlbmd0aDsKKwl4ZW5mYl9pbmZvLT5yZXNpemUuZGVwdGggPSBpbmZvLT52YXIuYml0c19wZXJfcGl4ZWw7CisJeGVuZmJfaW5mby0+cmVzaXplLm9mZnNldCA9IDA7CisJeGVuZmJfaW5mby0+cmVzaXplX2RweSA9IDE7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmeGVuZmJfaW5mby0+cmVzaXplX2xvY2ssIGZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBmYl9vcHMgeGVuZmJfZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfcmVhZAk9IGZiX3N5c19yZWFkLApAQCAtMjMwLDYgKzMyOSw4IEBACiAJLmZiX2ZpbGxyZWN0CT0geGVuZmJfZmlsbHJlY3QsCiAJLmZiX2NvcHlhcmVhCT0geGVuZmJfY29weWFyZWEsCiAJLmZiX2ltYWdlYmxpdAk9IHhlbmZiX2ltYWdlYmxpdCwKKwkuZmJfY2hlY2tfdmFyCT0geGVuZmJfY2hlY2tfdmFyLAorCS5mYl9zZXRfcGFyICAgICA9IHhlbmZiX3NldF9wYXIsCiB9OwogCiBzdGF0aWMgaXJxcmV0dXJuX3QgeGVuZmJfZXZlbnRfaGFuZGxlcihpbnQgcnEsIHZvaWQgKmRldl9pZCkKQEAgLTI1OCw2ICszNTksOCBAQAogewogCXN0cnVjdCB4ZW5mYl9pbmZvICppbmZvOwogCXN0cnVjdCBmYl9pbmZvICpmYl9pbmZvOworCWludCBmYl9zaXplOworCWludCB2YWw7CiAJaW50IHJldDsKIAogCWluZm8gPSBremFsbG9jKHNpemVvZigqaW5mbyksIEdGUF9LRVJORUwpOwpAQCAtMjY1LDE4ICszNjgsMzUgQEAKIAkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIC1FTk9NRU0sICJhbGxvY2F0aW5nIGluZm8gc3RydWN0dXJlIik7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KKworCS8qIExpbWl0IGtlcm5lbCBwYXJhbSB2aWRlb3JhbSBhbW91bnQgdG8gd2hhdCBpcyBpbiB4ZW5zdG9yZSAqLworCWlmICh4ZW5idXNfc2NhbmYoWEJUX05JTCwgZGV2LT5vdGhlcmVuZCwgInZpZGVvcmFtIiwgIiVkIiwgJnZhbCkgPT0gMSkgeworCQlpZiAodmFsIDwgdmlkZW9bS1BBUkFNX01FTV0pCisJCQl2aWRlb1tLUEFSQU1fTUVNXSA9IHZhbDsKKwl9CisKKwkvKiBJZiByZXF1ZXN0ZWQgcmVzIGRvZXMgbm90IGZpdCBpbiBhdmFpbGFibGUgbWVtb3J5LCB1c2UgZGVmYXVsdCAqLworCWZiX3NpemUgPSB2aWRlb1tLUEFSQU1fTUVNXSAqIDEwMjQgKiAxMDI0OworCWlmICh2aWRlb1tLUEFSQU1fV0lEVEhdICogdmlkZW9bS1BBUkFNX0hFSUdIVF0gKiBYRU5GQl9ERVBUSCAvIDgKKwkgICAgPiBmYl9zaXplKSB7CisJCXZpZGVvW0tQQVJBTV9XSURUSF0gPSBYRU5GQl9XSURUSDsKKwkJdmlkZW9bS1BBUkFNX0hFSUdIVF0gPSBYRU5GQl9IRUlHSFQ7CisJCWZiX3NpemUgPSBYRU5GQl9ERUZBVUxUX0ZCX0xFTjsKKwl9CisKIAlkZXYtPmRldi5kcml2ZXJfZGF0YSA9IGluZm87CiAJaW5mby0+eGJkZXYgPSBkZXY7CiAJaW5mby0+aXJxID0gLTE7CiAJaW5mby0+eDEgPSBpbmZvLT55MSA9IElOVF9NQVg7CiAJc3Bpbl9sb2NrX2luaXQoJmluZm8tPmRpcnR5X2xvY2spOworCXNwaW5fbG9ja19pbml0KCZpbmZvLT5yZXNpemVfbG9jayk7CiAKLQlpbmZvLT5mYiA9IHZtYWxsb2MoeGVuZmJfbWVtX2xlbik7CisJaW5mby0+ZmIgPSB2bWFsbG9jKGZiX3NpemUpOwogCWlmIChpbmZvLT5mYiA9PSBOVUxMKQogCQlnb3RvIGVycm9yX25vbWVtOwotCW1lbXNldChpbmZvLT5mYiwgMCwgeGVuZmJfbWVtX2xlbik7CisJbWVtc2V0KGluZm8tPmZiLCAwLCBmYl9zaXplKTsKIAotCWluZm8tPm5yX3BhZ2VzID0gKHhlbmZiX21lbV9sZW4gKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOworCWluZm8tPm5yX3BhZ2VzID0gKGZiX3NpemUgKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOwogCiAJaW5mby0+bWZucyA9IHZtYWxsb2Moc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogaW5mby0+bnJfcGFnZXMpOwogCWlmICghaW5mby0+bWZucykKQEAgLTI4Nyw4ICs0MDcsNiBAQAogCWlmICghaW5mby0+cGFnZSkKIAkJZ290byBlcnJvcl9ub21lbTsKIAotCXhlbmZiX2luaXRfc2hhcmVkX3BhZ2UoaW5mbyk7Ci0KIAkvKiBhYnVzaW5nIGZyYW1lYnVmZmVyX2FsbG9jKCkgdG8gYWxsb2NhdGUgcHNldWRvX3BhbGV0dGUgKi8KIAlmYl9pbmZvID0gZnJhbWVidWZmZXJfYWxsb2Moc2l6ZW9mKHUzMikgKiAyNTYsIE5VTEwpOwogCWlmIChmYl9pbmZvID09IE5VTEwpCkBAIC0zMDEsOSArNDE5LDkgQEAKIAlmYl9pbmZvLT5zY3JlZW5fYmFzZSA9IGluZm8tPmZiOwogCiAJZmJfaW5mby0+ZmJvcHMgPSAmeGVuZmJfZmJfb3BzOwotCWZiX2luZm8tPnZhci54cmVzX3ZpcnR1YWwgPSBmYl9pbmZvLT52YXIueHJlcyA9IGluZm8tPnBhZ2UtPndpZHRoOwotCWZiX2luZm8tPnZhci55cmVzX3ZpcnR1YWwgPSBmYl9pbmZvLT52YXIueXJlcyA9IGluZm8tPnBhZ2UtPmhlaWdodDsKLQlmYl9pbmZvLT52YXIuYml0c19wZXJfcGl4ZWwgPSBpbmZvLT5wYWdlLT5kZXB0aDsKKwlmYl9pbmZvLT52YXIueHJlc192aXJ0dWFsID0gZmJfaW5mby0+dmFyLnhyZXMgPSB2aWRlb1tLUEFSQU1fV0lEVEhdOworCWZiX2luZm8tPnZhci55cmVzX3ZpcnR1YWwgPSBmYl9pbmZvLT52YXIueXJlcyA9IHZpZGVvW0tQQVJBTV9IRUlHSFRdOworCWZiX2luZm8tPnZhci5iaXRzX3Blcl9waXhlbCA9IFhFTkZCX0RFUFRIOwogCiAJZmJfaW5mby0+dmFyLnJlZCA9IChzdHJ1Y3QgZmJfYml0ZmllbGQpezE2LCA4LCAwfTsKIAlmYl9pbmZvLT52YXIuZ3JlZW4gPSAoc3RydWN0IGZiX2JpdGZpZWxkKXs4LCA4LCAwfTsKQEAgLTMxNSw5ICs0MzMsOSBAQAogCWZiX2luZm8tPnZhci52bW9kZSA9IEZCX1ZNT0RFX05PTklOVEVSTEFDRUQ7CiAKIAlmYl9pbmZvLT5maXgudmlzdWFsID0gRkJfVklTVUFMX1RSVUVDT0xPUjsKLQlmYl9pbmZvLT5maXgubGluZV9sZW5ndGggPSBpbmZvLT5wYWdlLT5saW5lX2xlbmd0aDsKKwlmYl9pbmZvLT5maXgubGluZV9sZW5ndGggPSBmYl9pbmZvLT52YXIueHJlcyAqIFhFTkZCX0RFUFRIIC8gODsKIAlmYl9pbmZvLT5maXguc21lbV9zdGFydCA9IDA7Ci0JZmJfaW5mby0+Zml4LnNtZW1fbGVuID0geGVuZmJfbWVtX2xlbjsKKwlmYl9pbmZvLT5maXguc21lbV9sZW4gPSBmYl9zaXplOwogCXN0cmNweShmYl9pbmZvLT5maXguaWQsICJ4ZW4iKTsKIAlmYl9pbmZvLT5maXgudHlwZSA9IEZCX1RZUEVfUEFDS0VEX1BJWEVMUzsKIAlmYl9pbmZvLT5maXguYWNjZWwgPSBGQl9BQ0NFTF9OT05FOwpAQCAtMzM0LDYgKzQ1Miw4IEBACiAJZmJfaW5mby0+ZmJkZWZpbyA9ICZ4ZW5mYl9kZWZpbzsKIAlmYl9kZWZlcnJlZF9pb19pbml0KGZiX2luZm8pOwogCisJeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShpbmZvLCBmYl9pbmZvKTsKKwogCXJldCA9IHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKGZiX2luZm8pOwogCWlmIChyZXQpIHsKIAkJZmJfZGVmZXJyZWRfaW9fY2xlYW51cChmYl9pbmZvKTsKQEAgLTM0OCw2ICs0NjgsNyBAQAogCWlmIChyZXQgPCAwKQogCQlnb3RvIGVycm9yOwogCisJeGVuZmJfbWFrZV9wcmVmZXJyZWRfY29uc29sZSgpOwogCXJldHVybiAwOwogCiAgZXJyb3Jfbm9tZW06CkBAIC0zNTgsMTIgKzQ3OSwzNCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBfX2RldmluaXQgdm9pZAoreGVuZmJfbWFrZV9wcmVmZXJyZWRfY29uc29sZSh2b2lkKQoreworCXN0cnVjdCBjb25zb2xlICpjOworCisJaWYgKGNvbnNvbGVfc2V0X29uX2NtZGxpbmUpCisJCXJldHVybjsKKworCWFjcXVpcmVfY29uc29sZV9zZW0oKTsKKwlmb3IgKGMgPSBjb25zb2xlX2RyaXZlcnM7IGM7IGMgPSBjLT5uZXh0KSB7CisJCWlmICghc3RyY21wKGMtPm5hbWUsICJ0dHkiKSAmJiBjLT5pbmRleCA9PSAwKQorCQkJYnJlYWs7CisJfQorCXJlbGVhc2VfY29uc29sZV9zZW0oKTsKKwlpZiAoYykgeworCQl1bnJlZ2lzdGVyX2NvbnNvbGUoYyk7CisJCWMtPmZsYWdzIHw9IENPTl9DT05TREVWOworCQljLT5mbGFncyAmPSB+Q09OX1BSSU5UQlVGRkVSOyAvKiBkb24ndCBwcmludCBhZ2FpbiAqLworCQlyZWdpc3Rlcl9jb25zb2xlKGMpOworCX0KK30KKwogc3RhdGljIGludCB4ZW5mYl9yZXN1bWUoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbyA9IGRldi0+ZGV2LmRyaXZlcl9kYXRhOwogCiAJeGVuZmJfZGlzY29ubmVjdF9iYWNrZW5kKGluZm8pOwotCXhlbmZiX2luaXRfc2hhcmVkX3BhZ2UoaW5mbyk7CisJeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShpbmZvLCBpbmZvLT5mYl9pbmZvKTsKIAlyZXR1cm4geGVuZmJfY29ubmVjdF9iYWNrZW5kKGRldiwgaW5mbyk7CiB9CiAKQEAgLTM5MSwyMCArNTM0LDIzIEBACiAJcmV0dXJuIHBmbl90b19tZm4odm1hbGxvY190b19wZm4oYWRkcmVzcykpOwogfQogCi1zdGF0aWMgdm9pZCB4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvKQorc3RhdGljIHZvaWQgeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbywKKwkJCQkgICBzdHJ1Y3QgZmJfaW5mbyAqZmJfaW5mbykKIHsKIAlpbnQgaTsKKwlpbnQgZXBkID0gUEFHRV9TSVpFIC8gc2l6ZW9mKGluZm8tPm1mbnNbMF0pOwogCiAJZm9yIChpID0gMDsgaSA8IGluZm8tPm5yX3BhZ2VzOyBpKyspCiAJCWluZm8tPm1mbnNbaV0gPSB2bWFsbG9jX3RvX21mbihpbmZvLT5mYiArIGkgKiBQQUdFX1NJWkUpOwogCi0JaW5mby0+cGFnZS0+cGRbMF0gPSB2bWFsbG9jX3RvX21mbihpbmZvLT5tZm5zKTsKLQlpbmZvLT5wYWdlLT5wZFsxXSA9IDA7Ci0JaW5mby0+cGFnZS0+d2lkdGggPSBYRU5GQl9XSURUSDsKLQlpbmZvLT5wYWdlLT5oZWlnaHQgPSBYRU5GQl9IRUlHSFQ7Ci0JaW5mby0+cGFnZS0+ZGVwdGggPSBYRU5GQl9ERVBUSDsKLQlpbmZvLT5wYWdlLT5saW5lX2xlbmd0aCA9IChpbmZvLT5wYWdlLT5kZXB0aCAvIDgpICogaW5mby0+cGFnZS0+d2lkdGg7Ci0JaW5mby0+cGFnZS0+bWVtX2xlbmd0aCA9IHhlbmZiX21lbV9sZW47CisJZm9yIChpID0gMDsgaSAqIGVwZCA8IGluZm8tPm5yX3BhZ2VzOyBpKyspCisJCWluZm8tPnBhZ2UtPnBkW2ldID0gdm1hbGxvY190b19tZm4oJmluZm8tPm1mbnNbaSAqIGVwZF0pOworCisJaW5mby0+cGFnZS0+d2lkdGggPSBmYl9pbmZvLT52YXIueHJlczsKKwlpbmZvLT5wYWdlLT5oZWlnaHQgPSBmYl9pbmZvLT52YXIueXJlczsKKwlpbmZvLT5wYWdlLT5kZXB0aCA9IGZiX2luZm8tPnZhci5iaXRzX3Blcl9waXhlbDsKKwlpbmZvLT5wYWdlLT5saW5lX2xlbmd0aCA9IGZiX2luZm8tPmZpeC5saW5lX2xlbmd0aDsKKwlpbmZvLT5wYWdlLT5tZW1fbGVuZ3RoID0gZmJfaW5mby0+Zml4LnNtZW1fbGVuOwogCWluZm8tPnBhZ2UtPmluX2NvbnMgPSBpbmZvLT5wYWdlLT5pbl9wcm9kID0gMDsKIAlpbmZvLT5wYWdlLT5vdXRfY29ucyA9IGluZm8tPnBhZ2UtPm91dF9wcm9kID0gMDsKIH0KQEAgLTUwNCw2ICs2NTAsMTEgQEAKIAkJCXZhbCA9IDA7CiAJCWlmICh2YWwpCiAJCQlpbmZvLT51cGRhdGVfd2FudGVkID0gMTsKKworCQlpZiAoeGVuYnVzX3NjYW5mKFhCVF9OSUwsIGRldi0+b3RoZXJlbmQsCisJCQkJICJmZWF0dXJlLXJlc2l6ZSIsICIlZCIsICZ2YWwpIDwgMCkKKwkJCXZhbCA9IDA7CisJCWluZm8tPmZlYXR1cmVfcmVzaXplID0gdmFsOwogCQlicmVhazsKIAogCWNhc2UgWGVuYnVzU3RhdGVDbG9zaW5nOgpAQCAtNTQ3LDQgKzY5OCw2IEBACiBtb2R1bGVfaW5pdCh4ZW5mYl9pbml0KTsKIG1vZHVsZV9leGl0KHhlbmZiX2NsZWFudXApOwogCitNT0RVTEVfREVTQ1JJUFRJT04oIlhlbiB2aXJ0dWFsIGZyYW1lYnVmZmVyIGRldmljZSBmcm9udGVuZCIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0FMSUFTKCJ4ZW46dmZiIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3dhdGNoZG9nL2Jvb2tlX3dkdC5jIGIvZHJpdmVycy93YXRjaGRvZy9ib29rZV93ZHQuYwppbmRleCBjMWJhMGRiLi43NzA4MjQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3dhdGNoZG9nL2Jvb2tlX3dkdC5jCisrKyBiL2RyaXZlcnMvd2F0Y2hkb2cvYm9va2Vfd2R0LmMKQEAgLTU1LDcgKzU1LDcgQEAKIAogc3RhdGljIHZvaWQgYm9va2Vfd2R0X3Bpbmcodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShfX2Jvb2tlX3dkdF9waW5nLCBOVUxMLCAwLCAwKTsKKwlvbl9lYWNoX2NwdShfX2Jvb2tlX3dkdF9waW5nLCBOVUxMLCAwKTsKIH0KIAogc3RhdGljIHZvaWQgX19ib29rZV93ZHRfZW5hYmxlKHZvaWQgKmRhdGEpCkBAIC0xMzEsNyArMTMxLDcgQEAKIAlzcGluX2xvY2soJmJvb2tlX3dkdF9sb2NrKTsKIAlpZiAoYm9va2Vfd2R0X2VuYWJsZWQgPT0gMCkgewogCQlib29rZV93ZHRfZW5hYmxlZCA9IDE7Ci0JCW9uX2VhY2hfY3B1KF9fYm9va2Vfd2R0X2VuYWJsZSwgTlVMTCwgMCwgMCk7CisJCW9uX2VhY2hfY3B1KF9fYm9va2Vfd2R0X2VuYWJsZSwgTlVMTCwgMCk7CiAJCXByaW50ayhLRVJOX0lORk8gIlBvd2VyUEMgQm9vay1FIFdhdGNoZG9nIFRpbWVyIEVuYWJsZWQgIgogCQkJCSIod2R0X3BlcmlvZD0lZClcbiIsIGJvb2tlX3dkdF9wZXJpb2QpOwogCX0KQEAgLTE3Nyw3ICsxNzcsNyBAQAogCWlmIChib29rZV93ZHRfZW5hYmxlZCA9PSAxKSB7CiAJCXByaW50ayhLRVJOX0lORk8gIlBvd2VyUEMgQm9vay1FIFdhdGNoZG9nIFRpbWVyIEVuYWJsZWQgIgogCQkJCSIod2R0X3BlcmlvZD0lZClcbiIsIGJvb2tlX3dkdF9wZXJpb2QpOwotCQlvbl9lYWNoX2NwdShfX2Jvb2tlX3dkdF9lbmFibGUsIE5VTEwsIDAsIDApOworCQlvbl9lYWNoX2NwdShfX2Jvb2tlX3dkdF9lbmFibGUsIE5VTEwsIDApOwogCX0KIAlzcGluX3VubG9jaygmYm9va2Vfd2R0X2xvY2spOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9NYWtlZmlsZSBiL2RyaXZlcnMveGVuL01ha2VmaWxlCmluZGV4IDM3YWYwNGYuLjM2MzI4NmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL01ha2VmaWxlCisrKyBiL2RyaXZlcnMveGVuL01ha2VmaWxlCkBAIC0xLDQgKzEsNCBAQAotb2JqLXkJKz0gZ3JhbnQtdGFibGUubyBmZWF0dXJlcy5vIGV2ZW50cy5vCitvYmoteQkrPSBncmFudC10YWJsZS5vIGZlYXR1cmVzLm8gZXZlbnRzLm8gbWFuYWdlLm8KIG9iai15CSs9IHhlbmJ1cy8KIG9iai0kKENPTkZJR19YRU5fWEVOQ09NTSkJKz0geGVuY29tbS5vCiBvYmotJChDT05GSUdfWEVOX0JBTExPT04pCSs9IGJhbGxvb24ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vYmFsbG9vbi5jIGIvZHJpdmVycy94ZW4vYmFsbG9vbi5jCmluZGV4IGFiMjViYTYuLjU5MWJjMjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2JhbGxvb24uYworKysgYi9kcml2ZXJzL3hlbi9iYWxsb29uLmMKQEAgLTIyNSw3ICsyMjUsNyBAQAogCQlwYWdlID0gYmFsbG9vbl9uZXh0X3BhZ2UocGFnZSk7CiAJfQogCi0JcmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpZnJhbWVfbGlzdDsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQsIGZyYW1lX2xpc3QpOwogCXJlc2VydmF0aW9uLm5yX2V4dGVudHMgICA9IG5yX3BhZ2VzOwogCXJjID0gSFlQRVJWSVNPUl9tZW1vcnlfb3AoCiAJCVhFTk1FTV9wb3B1bGF0ZV9waHlzbWFwLCAmcmVzZXJ2YXRpb24pOwpAQCAtMzIxLDcgKzMyMSw3IEBACiAJCWJhbGxvb25fYXBwZW5kKHBmbl90b19wYWdlKHBmbikpOwogCX0KIAotCXJlc2VydmF0aW9uLmV4dGVudF9zdGFydCA9ICh1bnNpZ25lZCBsb25nKWZyYW1lX2xpc3Q7CisJc2V0X3hlbl9ndWVzdF9oYW5kbGUocmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0LCBmcmFtZV9saXN0KTsKIAlyZXNlcnZhdGlvbi5ucl9leHRlbnRzICAgPSBucl9wYWdlczsKIAlyZXQgPSBIWVBFUlZJU09SX21lbW9yeV9vcChYRU5NRU1fZGVjcmVhc2VfcmVzZXJ2YXRpb24sICZyZXNlcnZhdGlvbik7CiAJQlVHX09OKHJldCAhPSBucl9wYWdlcyk7CkBAIC0zNjgsNyArMzY4LDcgQEAKIH0KIAogLyogUmVzZXRzIHRoZSBYZW4gbGltaXQsIHNldHMgbmV3IHRhcmdldCwgYW5kIGtpY2tzIG9mZiBwcm9jZXNzaW5nLiAqLwotdm9pZCBiYWxsb29uX3NldF9uZXdfdGFyZ2V0KHVuc2lnbmVkIGxvbmcgdGFyZ2V0KQorc3RhdGljIHZvaWQgYmFsbG9vbl9zZXRfbmV3X3RhcmdldCh1bnNpZ25lZCBsb25nIHRhcmdldCkKIHsKIAkvKiBObyBuZWVkIGZvciBsb2NrLiBOb3QgcmVhZC1tb2RpZnktd3JpdGUgdXBkYXRlcy4gKi8KIAliYWxsb29uX3N0YXRzLmhhcmRfbGltaXQgICA9IH4wVUw7CkBAIC00ODMsNyArNDgzLDcgQEAKIAkJLmV4dGVudF9vcmRlciA9IDAsCiAJCS5kb21pZCAgICAgICAgPSBET01JRF9TRUxGCiAJfTsKLQlyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQgPSAodW5zaWduZWQgbG9uZykmbWZuOworCXNldF94ZW5fZ3Vlc3RfaGFuZGxlKHJlc2VydmF0aW9uLmV4dGVudF9zdGFydCwgJm1mbik7CiAJc2V0X3B0ZV9hdCgmaW5pdF9tbSwgYWRkciwgcHRlLCBfX3B0ZV9tYSgwdWxsKSk7CiAJc2V0X3BoeXNfdG9fbWFjaGluZShfX3BhKGFkZHIpID4+IFBBR0VfU0hJRlQsIElOVkFMSURfUDJNX0VOVFJZKTsKIAlyZXQgPSBIWVBFUlZJU09SX21lbW9yeV9vcChYRU5NRU1fZGVjcmVhc2VfcmVzZXJ2YXRpb24sICZyZXNlcnZhdGlvbik7CkBAIC01MTksNyArNTE5LDcgQEAKIAkJCQkuZXh0ZW50X29yZGVyID0gMCwKIAkJCQkuZG9taWQgICAgICAgID0gRE9NSURfU0VMRgogCQkJfTsKLQkJCXJlc2VydmF0aW9uLmV4dGVudF9zdGFydCA9ICh1bnNpZ25lZCBsb25nKSZnbWZuOworCQkJc2V0X3hlbl9ndWVzdF9oYW5kbGUocmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0LCAmZ21mbik7CiAJCQlyZXQgPSBIWVBFUlZJU09SX21lbW9yeV9vcChYRU5NRU1fZGVjcmVhc2VfcmVzZXJ2YXRpb24sCiAJCQkJCQkgICAmcmVzZXJ2YXRpb24pOwogCQkJaWYgKHJldCA9PSAxKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vZXZlbnRzLmMgYi9kcml2ZXJzL3hlbi9ldmVudHMuYwppbmRleCA3NmU1YjczLi4zMzJkZDYzNyAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vZXZlbnRzLmMKKysrIGIvZHJpdmVycy94ZW4vZXZlbnRzLmMKQEAgLTM1NSw3ICszNTUsNyBAQAogCiAJc3Bpbl9sb2NrKCZpcnFfbWFwcGluZ191cGRhdGVfbG9jayk7CiAKLQlpZiAoVkFMSURfRVZUQ0hOKGV2dGNobikgJiYgKC0taXJxX2JpbmRjb3VudFtpcnFdID09IDApKSB7CisJaWYgKCgtLWlycV9iaW5kY291bnRbaXJxXSA9PSAwKSAmJiBWQUxJRF9FVlRDSE4oZXZ0Y2huKSkgewogCQljbG9zZS5wb3J0ID0gZXZ0Y2huOwogCQlpZiAoSFlQRVJWSVNPUl9ldmVudF9jaGFubmVsX29wKEVWVENITk9QX2Nsb3NlLCAmY2xvc2UpICE9IDApCiAJCQlCVUcoKTsKQEAgLTM3NSw3ICszNzUsNyBAQAogCQlldnRjaG5fdG9faXJxW2V2dGNobl0gPSAtMTsKIAkJaXJxX2luZm9baXJxXSA9IElSUV9VTkJPVU5EOwogCi0JCWR5bmFtaWNfaXJxX2luaXQoaXJxKTsKKwkJZHluYW1pY19pcnFfY2xlYW51cChpcnEpOwogCX0KIAogCXNwaW5fdW5sb2NrKCZpcnFfbWFwcGluZ191cGRhdGVfbG9jayk7CkBAIC01NTcsNiArNTU3LDMzIEBACiAJcHV0X2NwdSgpOwogfQogCisvKiBSZWJpbmQgYSBuZXcgZXZlbnQgY2hhbm5lbCB0byBhbiBleGlzdGluZyBpcnEuICovCit2b2lkIHJlYmluZF9ldnRjaG5faXJxKGludCBldnRjaG4sIGludCBpcnEpCit7CisJLyogTWFrZSBzdXJlIHRoZSBpcnEgaXMgbWFza2VkLCBzaW5jZSB0aGUgbmV3IGV2ZW50IGNoYW5uZWwKKwkgICB3aWxsIGFsc28gYmUgbWFza2VkLiAqLworCWRpc2FibGVfaXJxKGlycSk7CisKKwlzcGluX2xvY2soJmlycV9tYXBwaW5nX3VwZGF0ZV9sb2NrKTsKKworCS8qIEFmdGVyIHJlc3VtZSB0aGUgaXJxPC0+ZXZ0Y2huIG1hcHBpbmdzIGFyZSBhbGwgY2xlYXJlZCBvdXQgKi8KKwlCVUdfT04oZXZ0Y2huX3RvX2lycVtldnRjaG5dICE9IC0xKTsKKwkvKiBFeHBlY3QgaXJxIHRvIGhhdmUgYmVlbiBib3VuZCBiZWZvcmUsCisJICAgc28gdGhlIGJpbmRjb3VudCBzaG91bGQgYmUgbm9uLTAgKi8KKwlCVUdfT04oaXJxX2JpbmRjb3VudFtpcnFdID09IDApOworCisJZXZ0Y2huX3RvX2lycVtldnRjaG5dID0gaXJxOworCWlycV9pbmZvW2lycV0gPSBta19pcnFfaW5mbyhJUlFUX0VWVENITiwgMCwgZXZ0Y2huKTsKKworCXNwaW5fdW5sb2NrKCZpcnFfbWFwcGluZ191cGRhdGVfbG9jayk7CisKKwkvKiBuZXcgZXZlbnQgY2hhbm5lbHMgYXJlIGFsd2F5cyBib3VuZCB0byBjcHUgMCAqLworCWlycV9zZXRfYWZmaW5pdHkoaXJxLCBjcHVtYXNrX29mX2NwdSgwKSk7CisKKwkvKiBVbm1hc2sgdGhlIGV2ZW50IGNoYW5uZWwuICovCisJZW5hYmxlX2lycShpcnEpOworfQorCiAvKiBSZWJpbmQgYW4gZXZ0Y2huIHNvIHRoYXQgaXQgZ2V0cyBkZWxpdmVyZWQgdG8gYSBzcGVjaWZpYyBjcHUgKi8KIHN0YXRpYyB2b2lkIHJlYmluZF9pcnFfdG9fY3B1KHVuc2lnbmVkIGlycSwgdW5zaWduZWQgdGNwdSkKIHsKQEAgLTY0Nyw2ICs2NzQsODkgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgdm9pZCByZXN0b3JlX2NwdV92aXJxcyh1bnNpZ25lZCBpbnQgY3B1KQoreworCXN0cnVjdCBldnRjaG5fYmluZF92aXJxIGJpbmRfdmlycTsKKwlpbnQgdmlycSwgaXJxLCBldnRjaG47CisKKwlmb3IgKHZpcnEgPSAwOyB2aXJxIDwgTlJfVklSUVM7IHZpcnErKykgeworCQlpZiAoKGlycSA9IHBlcl9jcHUodmlycV90b19pcnEsIGNwdSlbdmlycV0pID09IC0xKQorCQkJY29udGludWU7CisKKwkJQlVHX09OKGlycV9pbmZvW2lycV0udHlwZSAhPSBJUlFUX1ZJUlEpOworCQlCVUdfT04oaXJxX2luZm9baXJxXS5pbmRleCAhPSB2aXJxKTsKKworCQkvKiBHZXQgYSBuZXcgYmluZGluZyBmcm9tIFhlbi4gKi8KKwkJYmluZF92aXJxLnZpcnEgPSB2aXJxOworCQliaW5kX3ZpcnEudmNwdSA9IGNwdTsKKwkJaWYgKEhZUEVSVklTT1JfZXZlbnRfY2hhbm5lbF9vcChFVlRDSE5PUF9iaW5kX3ZpcnEsCisJCQkJCQkmYmluZF92aXJxKSAhPSAwKQorCQkJQlVHKCk7CisJCWV2dGNobiA9IGJpbmRfdmlycS5wb3J0OworCisJCS8qIFJlY29yZCB0aGUgbmV3IG1hcHBpbmcuICovCisJCWV2dGNobl90b19pcnFbZXZ0Y2huXSA9IGlycTsKKwkJaXJxX2luZm9baXJxXSA9IG1rX2lycV9pbmZvKElSUVRfVklSUSwgdmlycSwgZXZ0Y2huKTsKKwkJYmluZF9ldnRjaG5fdG9fY3B1KGV2dGNobiwgY3B1KTsKKworCQkvKiBSZWFkeSBmb3IgdXNlLiAqLworCQl1bm1hc2tfZXZ0Y2huKGV2dGNobik7CisJfQorfQorCitzdGF0aWMgdm9pZCByZXN0b3JlX2NwdV9pcGlzKHVuc2lnbmVkIGludCBjcHUpCit7CisJc3RydWN0IGV2dGNobl9iaW5kX2lwaSBiaW5kX2lwaTsKKwlpbnQgaXBpLCBpcnEsIGV2dGNobjsKKworCWZvciAoaXBpID0gMDsgaXBpIDwgWEVOX05SX0lQSVM7IGlwaSsrKSB7CisJCWlmICgoaXJxID0gcGVyX2NwdShpcGlfdG9faXJxLCBjcHUpW2lwaV0pID09IC0xKQorCQkJY29udGludWU7CisKKwkJQlVHX09OKGlycV9pbmZvW2lycV0udHlwZSAhPSBJUlFUX0lQSSk7CisJCUJVR19PTihpcnFfaW5mb1tpcnFdLmluZGV4ICE9IGlwaSk7CisKKwkJLyogR2V0IGEgbmV3IGJpbmRpbmcgZnJvbSBYZW4uICovCisJCWJpbmRfaXBpLnZjcHUgPSBjcHU7CisJCWlmIChIWVBFUlZJU09SX2V2ZW50X2NoYW5uZWxfb3AoRVZUQ0hOT1BfYmluZF9pcGksCisJCQkJCQkmYmluZF9pcGkpICE9IDApCisJCQlCVUcoKTsKKwkJZXZ0Y2huID0gYmluZF9pcGkucG9ydDsKKworCQkvKiBSZWNvcmQgdGhlIG5ldyBtYXBwaW5nLiAqLworCQlldnRjaG5fdG9faXJxW2V2dGNobl0gPSBpcnE7CisJCWlycV9pbmZvW2lycV0gPSBta19pcnFfaW5mbyhJUlFUX0lQSSwgaXBpLCBldnRjaG4pOworCQliaW5kX2V2dGNobl90b19jcHUoZXZ0Y2huLCBjcHUpOworCisJCS8qIFJlYWR5IGZvciB1c2UuICovCisJCXVubWFza19ldnRjaG4oZXZ0Y2huKTsKKworCX0KK30KKwordm9pZCB4ZW5faXJxX3Jlc3VtZSh2b2lkKQoreworCXVuc2lnbmVkIGludCBjcHUsIGlycSwgZXZ0Y2huOworCisJaW5pdF9ldnRjaG5fY3B1X2JpbmRpbmdzKCk7CisKKwkvKiBOZXcgZXZlbnQtY2hhbm5lbCBzcGFjZSBpcyBub3QgJ2xpdmUnIHlldC4gKi8KKwlmb3IgKGV2dGNobiA9IDA7IGV2dGNobiA8IE5SX0VWRU5UX0NIQU5ORUxTOyBldnRjaG4rKykKKwkJbWFza19ldnRjaG4oZXZ0Y2huKTsKKworCS8qIE5vIElSUSA8LT4gZXZlbnQtY2hhbm5lbCBtYXBwaW5ncy4gKi8KKwlmb3IgKGlycSA9IDA7IGlycSA8IE5SX0lSUVM7IGlycSsrKQorCQlpcnFfaW5mb1tpcnFdLmV2dGNobiA9IDA7IC8qIHphcCBldmVudC1jaGFubmVsIGJpbmRpbmcgKi8KKworCWZvciAoZXZ0Y2huID0gMDsgZXZ0Y2huIDwgTlJfRVZFTlRfQ0hBTk5FTFM7IGV2dGNobisrKQorCQlldnRjaG5fdG9faXJxW2V2dGNobl0gPSAtMTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKwkJcmVzdG9yZV9jcHVfdmlycXMoY3B1KTsKKwkJcmVzdG9yZV9jcHVfaXBpcyhjcHUpOworCX0KK30KKwogc3RhdGljIHN0cnVjdCBpcnFfY2hpcCB4ZW5fZHluYW1pY19jaGlwIF9fcmVhZF9tb3N0bHkgPSB7CiAJLm5hbWUJCT0gInhlbi1keW4iLAogCS5tYXNrCQk9IGRpc2FibGVfZHluaXJxLApkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYyBiL2RyaXZlcnMveGVuL2dyYW50LXRhYmxlLmMKaW5kZXggNTJiNmI0MS4uZTllMTExNiAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYworKysgYi9kcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jCkBAIC00NzEsMTQgKzQ3MSwxNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdudHRhYl9yZXN1bWUodm9pZCkKK2ludCBnbnR0YWJfcmVzdW1lKHZvaWQpCiB7CiAJaWYgKG1heF9ucl9ncmFudF9mcmFtZXMoKSA8IG5yX2dyYW50X2ZyYW1lcykKIAkJcmV0dXJuIC1FTk9TWVM7CiAJcmV0dXJuIGdudHRhYl9tYXAoMCwgbnJfZ3JhbnRfZnJhbWVzIC0gMSk7CiB9CiAKLXN0YXRpYyBpbnQgZ250dGFiX3N1c3BlbmQodm9pZCkKK2ludCBnbnR0YWJfc3VzcGVuZCh2b2lkKQogewogCWFyY2hfZ250dGFiX3VubWFwX3NoYXJlZChzaGFyZWQsIG5yX2dyYW50X2ZyYW1lcyk7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9tYW5hZ2UuYyBiL2RyaXZlcnMveGVuL21hbmFnZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViNTQ2ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3hlbi9tYW5hZ2UuYwpAQCAtMCwwICsxLDI1MiBAQAorLyoKKyAqIEhhbmRsZSBleHRlcm4gcmVxdWVzdHMgZm9yIHNodXRkb3duLCByZWJvb3QgYW5kIHN5c3JxCisgKi8KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNycS5oPgorI2luY2x1ZGUgPGxpbnV4L3N0b3BfbWFjaGluZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZyZWV6ZXIuaD4KKworI2luY2x1ZGUgPHhlbi94ZW5idXMuaD4KKyNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+CisjaW5jbHVkZSA8eGVuL2h2Yy1jb25zb2xlLmg+CisjaW5jbHVkZSA8eGVuL3hlbi1vcHMuaD4KKworI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJjYWxsLmg+CisjaW5jbHVkZSA8YXNtL3hlbi9wYWdlLmg+CisKK2VudW0gc2h1dGRvd25fc3RhdGUgeworCVNIVVRET1dOX0lOVkFMSUQgPSAtMSwKKwlTSFVURE9XTl9QT1dFUk9GRiA9IDAsCisJU0hVVERPV05fU1VTUEVORCA9IDIsCisJLyogQ29kZSAzIGlzIFNIVVRET1dOX0NSQVNILCB3aGljaCB3ZSBkb24ndCB1c2UgYmVjYXVzZSB0aGUgZG9tYWluIGNhbiBvbmx5CisJICAgcmVwb3J0IGEgY3Jhc2gsIG5vdCBiZSBpbnN0cnVjdGVkIHRvIGNyYXNoIQorCSAgIEhBTFQgaXMgdGhlIHNhbWUgYXMgUE9XRVJPRkYsIGFzIGZhciBhcyB3ZSdyZSBjb25jZXJuZWQuICBUaGUgdG9vbHMgdXNlCisJICAgdGhlIGRpc3RpbmN0aW9uIHdoZW4gd2UgcmV0dXJuIHRoZSByZWFzb24gY29kZSB0byB0aGVtLiAgKi8KKwkgU0hVVERPV05fSEFMVCA9IDQsCit9OworCisvKiBJZ25vcmUgbXVsdGlwbGUgc2h1dGRvd24gcmVxdWVzdHMuICovCitzdGF0aWMgZW51bSBzaHV0ZG93bl9zdGF0ZSBzaHV0dGluZ19kb3duID0gU0hVVERPV05fSU5WQUxJRDsKKworI2lmZGVmIENPTkZJR19QTV9TTEVFUAorc3RhdGljIGludCB4ZW5fc3VzcGVuZCh2b2lkICpkYXRhKQoreworCWludCAqY2FuY2VsbGVkID0gZGF0YTsKKwlpbnQgZXJyOworCisJQlVHX09OKCFpcnFzX2Rpc2FibGVkKCkpOworCisJbG9hZF9jcjMoc3dhcHBlcl9wZ19kaXIpOworCisJZXJyID0gZGV2aWNlX3Bvd2VyX2Rvd24oUE1TR19TVVNQRU5EKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAieGVuX3N1c3BlbmQ6IGRldmljZV9wb3dlcl9kb3duIGZhaWxlZDogJWRcbiIsCisJCSAgICAgICBlcnIpOworCQlyZXR1cm4gZXJyOworCX0KKworCXhlbl9tbV9waW5fYWxsKCk7CisJZ250dGFiX3N1c3BlbmQoKTsKKwl4ZW5fcHJlX3N1c3BlbmQoKTsKKworCS8qCisJICogVGhpcyBoeXBlcmNhbGwgcmV0dXJucyAxIGlmIHN1c3BlbmQgd2FzIGNhbmNlbGxlZAorCSAqIG9yIHRoZSBkb21haW4gd2FzIG1lcmVseSBjaGVja3BvaW50ZWQsIGFuZCAwIGlmIGl0CisJICogaXMgcmVzdW1pbmcgaW4gYSBuZXcgZG9tYWluLgorCSAqLworCSpjYW5jZWxsZWQgPSBIWVBFUlZJU09SX3N1c3BlbmQodmlydF90b19tZm4oeGVuX3N0YXJ0X2luZm8pKTsKKworCXhlbl9wb3N0X3N1c3BlbmQoKmNhbmNlbGxlZCk7CisJZ250dGFiX3Jlc3VtZSgpOworCXhlbl9tbV91bnBpbl9hbGwoKTsKKworCWRldmljZV9wb3dlcl91cCgpOworCisJaWYgKCEqY2FuY2VsbGVkKSB7CisJCXhlbl9pcnFfcmVzdW1lKCk7CisJCXhlbl9jb25zb2xlX3Jlc3VtZSgpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBkb19zdXNwZW5kKHZvaWQpCit7CisJaW50IGVycjsKKwlpbnQgY2FuY2VsbGVkID0gMTsKKworCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9TVVNQRU5EOworCisjaWZkZWYgQ09ORklHX1BSRUVNUFQKKwkvKiBJZiB0aGUga2VybmVsIGlzIHByZWVtcHRpYmxlLCB3ZSBuZWVkIHRvIGZyZWV6ZSBhbGwgdGhlIHByb2Nlc3NlcworCSAgIHRvIHByZXZlbnQgdGhlbSBmcm9tIGJlaW5nIGluIHRoZSBtaWRkbGUgb2YgYSBwYWdldGFibGUgdXBkYXRlCisJICAgZHVyaW5nIHN1c3BlbmQuICovCisJZXJyID0gZnJlZXplX3Byb2Nlc3NlcygpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ4ZW4gc3VzcGVuZDogZnJlZXplIGZhaWxlZCAlZFxuIiwgZXJyKTsKKwkJcmV0dXJuOworCX0KKyNlbmRpZgorCisJZXJyID0gZGV2aWNlX3N1c3BlbmQoUE1TR19TVVNQRU5EKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAieGVuIHN1c3BlbmQ6IGRldmljZV9zdXNwZW5kICVkXG4iLCBlcnIpOworCQlnb3RvIG91dDsKKwl9CisKKwlwcmludGsoInN1c3BlbmRpbmcgeGVuYnVzLi4uXG4iKTsKKwkvKiBYWFggdXNlIG5vcm1hbCBkZXZpY2UgdHJlZT8gKi8KKwl4ZW5idXNfc3VzcGVuZCgpOworCisJZXJyID0gc3RvcF9tYWNoaW5lX3J1bih4ZW5fc3VzcGVuZCwgJmNhbmNlbGxlZCwgMCk7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBzdGFydCB4ZW5fc3VzcGVuZDogJWRcbiIsIGVycik7CisJCWdvdG8gb3V0OworCX0KKworCWlmICghY2FuY2VsbGVkKQorCQl4ZW5idXNfcmVzdW1lKCk7CisJZWxzZQorCQl4ZW5idXNfc3VzcGVuZF9jYW5jZWwoKTsKKworCWRldmljZV9yZXN1bWUoKTsKKworCS8qIE1ha2Ugc3VyZSB0aW1lciBldmVudHMgZ2V0IHJldHJpZ2dlcmVkIG9uIGFsbCBDUFVzICovCisJY2xvY2tfd2FzX3NldCgpOworb3V0OgorI2lmZGVmIENPTkZJR19QUkVFTVBUCisJdGhhd19wcm9jZXNzZXMoKTsKKyNlbmRpZgorCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9JTlZBTElEOworfQorI2VuZGlmCS8qIENPTkZJR19QTV9TTEVFUCAqLworCitzdGF0aWMgdm9pZCBzaHV0ZG93bl9oYW5kbGVyKHN0cnVjdCB4ZW5idXNfd2F0Y2ggKndhdGNoLAorCQkJICAgICBjb25zdCBjaGFyICoqdmVjLCB1bnNpZ25lZCBpbnQgbGVuKQoreworCWNoYXIgKnN0cjsKKwlzdHJ1Y3QgeGVuYnVzX3RyYW5zYWN0aW9uIHhidDsKKwlpbnQgZXJyOworCisJaWYgKHNodXR0aW5nX2Rvd24gIT0gU0hVVERPV05fSU5WQUxJRCkKKwkJcmV0dXJuOworCisgYWdhaW46CisJZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX3N0YXJ0KCZ4YnQpOworCWlmIChlcnIpCisJCXJldHVybjsKKworCXN0ciA9IChjaGFyICopeGVuYnVzX3JlYWQoeGJ0LCAiY29udHJvbCIsICJzaHV0ZG93biIsIE5VTEwpOworCS8qIElnbm9yZSByZWFkIGVycm9ycyBhbmQgZW1wdHkgcmVhZHMuICovCisJaWYgKFhFTkJVU19JU19FUlJfUkVBRChzdHIpKSB7CisJCXhlbmJ1c190cmFuc2FjdGlvbl9lbmQoeGJ0LCAxKTsKKwkJcmV0dXJuOworCX0KKworCXhlbmJ1c193cml0ZSh4YnQsICJjb250cm9sIiwgInNodXRkb3duIiwgIiIpOworCisJZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDApOworCWlmIChlcnIgPT0gLUVBR0FJTikgeworCQlrZnJlZShzdHIpOworCQlnb3RvIGFnYWluOworCX0KKworCWlmIChzdHJjbXAoc3RyLCAicG93ZXJvZmYiKSA9PSAwIHx8CisJICAgIHN0cmNtcChzdHIsICJoYWx0IikgPT0gMCkgeworCQlzaHV0dGluZ19kb3duID0gU0hVVERPV05fUE9XRVJPRkY7CisJCW9yZGVybHlfcG93ZXJvZmYoZmFsc2UpOworCX0gZWxzZSBpZiAoc3RyY21wKHN0ciwgInJlYm9vdCIpID09IDApIHsKKwkJc2h1dHRpbmdfZG93biA9IFNIVVRET1dOX1BPV0VST0ZGOyAvKiA/ICovCisJCWN0cmxfYWx0X2RlbCgpOworI2lmZGVmIENPTkZJR19QTV9TTEVFUAorCX0gZWxzZSBpZiAoc3RyY21wKHN0ciwgInN1c3BlbmQiKSA9PSAwKSB7CisJCWRvX3N1c3BlbmQoKTsKKyNlbmRpZgorCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0lORk8gIklnbm9yaW5nIHNodXRkb3duIHJlcXVlc3Q6ICVzXG4iLCBzdHIpOworCQlzaHV0dGluZ19kb3duID0gU0hVVERPV05fSU5WQUxJRDsKKwl9CisKKwlrZnJlZShzdHIpOworfQorCitzdGF0aWMgdm9pZCBzeXNycV9oYW5kbGVyKHN0cnVjdCB4ZW5idXNfd2F0Y2ggKndhdGNoLCBjb25zdCBjaGFyICoqdmVjLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCWNoYXIgc3lzcnFfa2V5ID0gJ1wwJzsKKwlzdHJ1Y3QgeGVuYnVzX3RyYW5zYWN0aW9uIHhidDsKKwlpbnQgZXJyOworCisgYWdhaW46CisJZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX3N0YXJ0KCZ4YnQpOworCWlmIChlcnIpCisJCXJldHVybjsKKwlpZiAoIXhlbmJ1c19zY2FuZih4YnQsICJjb250cm9sIiwgInN5c3JxIiwgIiVjIiwgJnN5c3JxX2tleSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJVbmFibGUgdG8gcmVhZCBzeXNycSBjb2RlIGluICIKKwkJICAgICAgICJjb250cm9sL3N5c3JxXG4iKTsKKwkJeGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDEpOworCQlyZXR1cm47CisJfQorCisJaWYgKHN5c3JxX2tleSAhPSAnXDAnKQorCQl4ZW5idXNfcHJpbnRmKHhidCwgImNvbnRyb2wiLCAic3lzcnEiLCAiJWMiLCAnXDAnKTsKKworCWVyciA9IHhlbmJ1c190cmFuc2FjdGlvbl9lbmQoeGJ0LCAwKTsKKwlpZiAoZXJyID09IC1FQUdBSU4pCisJCWdvdG8gYWdhaW47CisKKwlpZiAoc3lzcnFfa2V5ICE9ICdcMCcpCisJCWhhbmRsZV9zeXNycShzeXNycV9rZXksIE5VTEwpOworfQorCitzdGF0aWMgc3RydWN0IHhlbmJ1c193YXRjaCBzaHV0ZG93bl93YXRjaCA9IHsKKwkubm9kZSA9ICJjb250cm9sL3NodXRkb3duIiwKKwkuY2FsbGJhY2sgPSBzaHV0ZG93bl9oYW5kbGVyCit9OworCitzdGF0aWMgc3RydWN0IHhlbmJ1c193YXRjaCBzeXNycV93YXRjaCA9IHsKKwkubm9kZSA9ICJjb250cm9sL3N5c3JxIiwKKwkuY2FsbGJhY2sgPSBzeXNycV9oYW5kbGVyCit9OworCitzdGF0aWMgaW50IHNldHVwX3NodXRkb3duX3dhdGNoZXIodm9pZCkKK3sKKwlpbnQgZXJyOworCisJZXJyID0gcmVnaXN0ZXJfeGVuYnVzX3dhdGNoKCZzaHV0ZG93bl93YXRjaCk7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBzZXQgc2h1dGRvd24gd2F0Y2hlclxuIik7CisJCXJldHVybiBlcnI7CisJfQorCisJZXJyID0gcmVnaXN0ZXJfeGVuYnVzX3dhdGNoKCZzeXNycV93YXRjaCk7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBzZXQgc3lzcnEgd2F0Y2hlclxuIik7CisJCXJldHVybiBlcnI7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2h1dGRvd25fZXZlbnQoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpub3RpZmllciwKKwkJCSAgdW5zaWduZWQgbG9uZyBldmVudCwKKwkJCSAgdm9pZCAqZGF0YSkKK3sKKwlzZXR1cF9zaHV0ZG93bl93YXRjaGVyKCk7CisJcmV0dXJuIE5PVElGWV9ET05FOworfQorCitzdGF0aWMgaW50IF9faW5pdCBzZXR1cF9zaHV0ZG93bl9ldmVudCh2b2lkKQoreworCXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgeGVuc3RvcmVfbm90aWZpZXIgPSB7CisJCS5ub3RpZmllcl9jYWxsID0gc2h1dGRvd25fZXZlbnQKKwl9OworCXJlZ2lzdGVyX3hlbnN0b3JlX25vdGlmaWVyKCZ4ZW5zdG9yZV9ub3RpZmllcik7CisKKwlyZXR1cm4gMDsKK30KKworc3Vic3lzX2luaXRjYWxsKHNldHVwX3NodXRkb3duX2V2ZW50KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY2xpZW50LmMgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NsaWVudC5jCmluZGV4IDBmODZiMGYuLjk2NzhiM2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY2xpZW50LmMKKysrIGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jbGllbnQuYwpAQCAtMTE3LDcgKzExNyw3IEBACiAJY2hhciAqcGF0aDsKIAogCXZhX3N0YXJ0KGFwLCBwYXRoZm10KTsKLQlwYXRoID0ga3Zhc3ByaW50ZihHRlBfS0VSTkVMLCBwYXRoZm10LCBhcCk7CisJcGF0aCA9IGt2YXNwcmludGYoR0ZQX05PSU8gfCBfX0dGUF9ISUdILCBwYXRoZm10LCBhcCk7CiAJdmFfZW5kKGFwKTsKIAogCWlmICghcGF0aCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jb21tcy5jIGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jb21tcy5jCmluZGV4IDZlZmJlM2YuLjA5MGM2MWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY29tbXMuYworKysgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NvbW1zLmMKQEAgLTIwMyw3ICsyMDMsNiBAQAogaW50IHhiX2luaXRfY29tbXModm9pZCkKIHsKIAlzdHJ1Y3QgeGVuc3RvcmVfZG9tYWluX2ludGVyZmFjZSAqaW50ZiA9IHhlbl9zdG9yZV9pbnRlcmZhY2U7Ci0JaW50IGVycjsKIAogCWlmIChpbnRmLT5yZXFfcHJvZCAhPSBpbnRmLT5yZXFfY29ucykKIAkJcHJpbnRrKEtFUk5fRVJSICJYRU5CVVMgcmVxdWVzdCByaW5nIGlzIG5vdCBxdWllc2NlbnQgIgpAQCAtMjE2LDE4ICsyMTUsMjAgQEAKIAkJaW50Zi0+cnNwX2NvbnMgPSBpbnRmLT5yc3BfcHJvZDsKIAl9CiAKLQlpZiAoeGVuYnVzX2lycSkKLQkJdW5iaW5kX2Zyb21faXJxaGFuZGxlcih4ZW5idXNfaXJxLCAmeGJfd2FpdHEpOworCWlmICh4ZW5idXNfaXJxKSB7CisJCS8qIEFscmVhZHkgaGF2ZSBhbiBpcnE7IGFzc3VtZSB3ZSdyZSByZXN1bWluZyAqLworCQlyZWJpbmRfZXZ0Y2huX2lycSh4ZW5fc3RvcmVfZXZ0Y2huLCB4ZW5idXNfaXJxKTsKKwl9IGVsc2UgeworCQlpbnQgZXJyOworCQllcnIgPSBiaW5kX2V2dGNobl90b19pcnFoYW5kbGVyKHhlbl9zdG9yZV9ldnRjaG4sIHdha2Vfd2FpdGluZywKKwkJCQkJCTAsICJ4ZW5idXMiLCAmeGJfd2FpdHEpOworCQlpZiAoZXJyIDw9IDApIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiWEVOQlVTIHJlcXVlc3QgaXJxIGZhaWxlZCAlaVxuIiwgZXJyKTsKKwkJCXJldHVybiBlcnI7CisJCX0KIAotCWVyciA9IGJpbmRfZXZ0Y2huX3RvX2lycWhhbmRsZXIoCi0JCXhlbl9zdG9yZV9ldnRjaG4sIHdha2Vfd2FpdGluZywKLQkJMCwgInhlbmJ1cyIsICZ4Yl93YWl0cSk7Ci0JaWYgKGVyciA8PSAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiWEVOQlVTIHJlcXVlc3QgaXJxIGZhaWxlZCAlaVxuIiwgZXJyKTsKLQkJcmV0dXJuIGVycjsKKwkJeGVuYnVzX2lycSA9IGVycjsKIAl9CiAKLQl4ZW5idXNfaXJxID0gZXJyOwotCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3hzLmMgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3hzLmMKaW5kZXggMjI3ZDUzYi4uN2YyZjkxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c194cy5jCisrKyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYwpAQCAtMjgzLDkgKzI4Myw5IEBACiAJY2hhciAqYnVmZmVyOwogCiAJaWYgKHN0cmxlbihuYW1lKSA9PSAwKQotCQlidWZmZXIgPSBrYXNwcmludGYoR0ZQX0tFUk5FTCwgIiVzIiwgZGlyKTsKKwkJYnVmZmVyID0ga2FzcHJpbnRmKEdGUF9OT0lPIHwgX19HRlBfSElHSCwgIiVzIiwgZGlyKTsKIAllbHNlCi0JCWJ1ZmZlciA9IGthc3ByaW50ZihHRlBfS0VSTkVMLCAiJXMvJXMiLCBkaXIsIG5hbWUpOworCQlidWZmZXIgPSBrYXNwcmludGYoR0ZQX05PSU8gfCBfX0dGUF9ISUdILCAiJXMvJXMiLCBkaXIsIG5hbWUpOwogCXJldHVybiAoIWJ1ZmZlcikgPyBFUlJfUFRSKC1FTk9NRU0pIDogYnVmZmVyOwogfQogCkBAIC0yOTcsNyArMjk3LDcgQEAKIAkqbnVtID0gY291bnRfc3RyaW5ncyhzdHJpbmdzLCBsZW4pOwogCiAJLyogVHJhbnNmZXIgdG8gb25lIGJpZyBhbGxvYyBmb3IgZWFzeSBmcmVlaW5nLiAqLwotCXJldCA9IGttYWxsb2MoKm51bSAqIHNpemVvZihjaGFyICopICsgbGVuLCBHRlBfS0VSTkVMKTsKKwlyZXQgPSBrbWFsbG9jKCpudW0gKiBzaXplb2YoY2hhciAqKSArIGxlbiwgR0ZQX05PSU8gfCBfX0dGUF9ISUdIKTsKIAlpZiAoIXJldCkgewogCQlrZnJlZShzdHJpbmdzKTsKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CkBAIC03NTEsNyArNzUxLDcgQEAKIAl9CiAKIAotCW1zZyA9IGttYWxsb2Moc2l6ZW9mKCptc2cpLCBHRlBfS0VSTkVMKTsKKwltc2cgPSBrbWFsbG9jKHNpemVvZigqbXNnKSwgR0ZQX05PSU8gfCBfX0dGUF9ISUdIKTsKIAlpZiAobXNnID09IE5VTEwpIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJZ290byBvdXQ7CkBAIC03NjMsNyArNzYzLDcgQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JYm9keSA9IGttYWxsb2MobXNnLT5oZHIubGVuICsgMSwgR0ZQX0tFUk5FTCk7CisJYm9keSA9IGttYWxsb2MobXNnLT5oZHIubGVuICsgMSwgR0ZQX05PSU8gfCBfX0dGUF9ISUdIKTsKIAlpZiAoYm9keSA9PSBOVUxMKSB7CiAJCWtmcmVlKG1zZyk7CiAJCWVyciA9IC1FTk9NRU07CmRpZmYgLS1naXQgYS9maXJtd2FyZS9NYWtlZmlsZSBiL2Zpcm13YXJlL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0ZjJmYjMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9NYWtlZmlsZQpAQCAtMCwwICsxLDE3NSBAQAorIworIyBrYnVpbGQgZmlsZSBmb3IgZmlybXdhcmUvCisjCisKKyMgQ3JlYXRlICQoZndhYnMpIGZyb20gJChDT05GSUdfRVhUUkFfRklSTVdBUkVfRElSKSAtLSBpZiBpdCBkb2Vzbid0IGhhdmUgYQorIyBsZWFkaW5nIC8sIGl0J3MgcmVsYXRpdmUgdG8gJChzcmN0cmVlKS4KK2Z3ZGlyIDo9ICQoc3Vic3QgIiwsJChDT05GSUdfRVhUUkFfRklSTVdBUkVfRElSKSkKK2Z3YWJzIDo9ICQoYWRkcHJlZml4ICQoc3JjdHJlZSkvLCQoZmlsdGVyLW91dCAvJSwkKGZ3ZGlyKSkpJChmaWx0ZXIgLyUsJChmd2RpcikpCisKK2Z3LWV4dGVybmFsLXkgOj0gJChzdWJzdCAiLCwkKENPTkZJR19FWFRSQV9GSVJNV0FSRSkpCisKKyMgVGhlcmUgYXJlIHRocmVlIGNhc2VzIHRvIGNhcmUgYWJvdXQ6CisjIDEuIEJ1aWxkaW5nIGtlcm5lbCB3aXRoIENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUw9eSAtLSAkKGZ3LXNoaXBwZWQteSkgc2hvdWxkCisjICAgIGluY2x1ZGUgdGhlIGZpcm13YXJlIGZpbGVzIHRvIGluY2x1ZGUsIGFjY29yZGluZyB0byAuY29uZmlnCisjIDIuICdtYWtlIG1vZHVsZXNfaW5zdGFsbCcsIHdoaWNoIHdpbGwgaW5zdGFsbCBmaXJtd2FyZSBmb3IgbW9kdWxlcywgYW5kIAorIyAgICBfYWxzb18gZm9yIHRoZSBpbi1rZXJuZWwgZHJpdmVycyB3aGVuIENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUw9bgorIyAzLiAnbWFrZSBmaXJtd2FyZV9pbnN0YWxsJywgd2hpY2ggaW5zdGFsbHMgYWxsIGZpcm13YXJlLCB1bmNvbmRpdGlvbmFsbHkuCisKKyMgRm9yIHRoZSBmb3JtZXIgdHdvIGNhc2VzIHdlIHdhbnQgJChmdy1zaGlwcGVkLXkpIGFuZCAkKGZ3LXNoaXBwZWQtbSkgdG8gYmUKKyMgYWNjdXJhdGUuIEluIHRoZSBsYXR0ZXIgY2FzZSBpdCBkb2Vzbid0IG1hdHRlciAtLSBpdCdsbCB1c2UgJChmdy1zaGlwcGVkLWFsbCkuCisjIEJ1dCBiZSBhd2FyZSB0aGF0IHRoZSBjb25maWcgZmlsZSBtaWdodCBub3QgYmUgaW5jbHVkZWQgYXQgYWxsLgorCitmdy1zaGlwcGVkLSQoQ09ORklHX0FUQVJJX0RTUDU2SykgKz0gZHNwNTZrL2Jvb3RzdHJhcC5iaW4KK2Z3LXNoaXBwZWQtJChDT05GSUdfQVRNX0FNQkFTU0FET1IpICs9IGF0bXNhcjExLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX0NPTVBVVE9ORSkgKz0gaW50ZWxsaXBvcnQyLmJpbgorZnctc2hpcHBlZC0kKENPTkZJR19EVkJfVFRVU0JfQlVER0VUKSArPSB0dHVzYi1idWRnZXQvZHNwYm9vdGNvZGUuYmluCitmdy1zaGlwcGVkLSQoQ09ORklHX1NNQ1RSKSArPSB0cl9zbWN0ci5iaW4KK2Z3LXNoaXBwZWQtJChDT05GSUdfU05EX0tPUkcxMjEyKSArPSBrb3JnL2sxMjEyLmRzcAorZnctc2hpcHBlZC0kKENPTkZJR19TTkRfTUFFU1RSTzMpICs9IGVzcy9tYWVzdHJvM19hc3NwX2tlcm5lbC5mdyBcCisJCQkJICAgICBlc3MvbWFlc3RybzNfYXNzcF9taW5pc3JjLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1NORF9TQjE2X0NTUCkgKz0gc2IxNi9tdWxhd19tYWluLmNzcCBzYjE2L2FsYXdfbWFpbi5jc3AgXAorCQkJCSAgICAgc2IxNi9pbWFfYWRwY21faW5pdC5jc3AgXAorCQkJCSAgICAgc2IxNi9pbWFfYWRwY21fcGxheWJhY2suY3NwIFwKKwkJCQkgICAgIHNiMTYvaW1hX2FkcGNtX2NhcHR1cmUuY3NwCitmdy1zaGlwcGVkLSQoQ09ORklHX1NORF9ZTUZQQ0kpICs9IHlhbWFoYS9kczFfY3RybC5mdyB5YW1haGEvZHMxX2RzcC5mdyBcCisJCQkJICAgeWFtYWhhL2RzMWVfY3RybC5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfREFCVVNCKSArPSBkYWJ1c2IvZmlybXdhcmUuZncgZGFidXNiL2JpdHN0cmVhbS5iaW4KK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX0VNSTI2KSArPSBlbWkyNi9sb2FkZXIuZncgZW1pMjYvZmlybXdhcmUuZncgXAorCQkJCSAgZW1pMjYvYml0c3RyZWFtLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9FTUk2MikgKz0gZW1pNjIvbG9hZGVyLmZ3IGVtaTYyL2JpdHN0cmVhbS5mdyBcCisJCQkJICBlbWk2Mi9zcGRpZi5mdyBlbWk2Mi9taWRpLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9LQVdFVEgpICs9IGthd2V0aC9uZXdfY29kZS5iaW4ga2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4gXAorCQkJCSAgIGthd2V0aC9uZXdfY29kZV9maXguYmluIFwKKwkJCQkgICBrYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4KK2lmZGVmIENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUwKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX01QUikgKz0ga2V5c3Bhbi9tcHIuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE4WCkgKz0ga2V5c3Bhbi91c2ExOHguZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5KSArPSBrZXlzcGFuL3VzYTE5LmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFJKSArPSBrZXlzcGFuL3VzYTE5cWkuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5UVcpICs9IGtleXNwYW4vdXNhMTlxdy5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlXKSArPSBrZXlzcGFuL3VzYTE5dy5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjgpICs9IGtleXNwYW4vdXNhMjguZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WEEpICs9IGtleXNwYW4vdXNhMjh4YS5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYQikgKz0ga2V5c3Bhbi91c2EyOHhiLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFgpICs9IGtleXNwYW4vdXNhMjh4LmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVcpICs9IGtleXNwYW4vdXNhNDl3LmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVdMQykgKz0ga2V5c3Bhbi91c2E0OXdsYy5mdworZWxzZQorZnctc2hpcHBlZC0gOj0ga2V5c3Bhbi9tcHIuZncga2V5c3Bhbi91c2ExOHguZncga2V5c3Bhbi91c2ExOS5mdwlcCisJa2V5c3Bhbi91c2ExOXFpLmZ3IGtleXNwYW4vdXNhMTlxdy5mdyBrZXlzcGFuL3VzYTE5dy5mdwkJXAorCWtleXNwYW4vdXNhMjguZncga2V5c3Bhbi91c2EyOHhhLmZ3IGtleXNwYW4vdXNhMjh4Yi5mdwkJXAorCWtleXNwYW4vdXNhMjh4LmZ3IGtleXNwYW4vdXNhNDl3LmZ3IGtleXNwYW4vdXNhNDl3bGMuZncKK2VuZGlmCitmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfVEkpICs9IHRpXzM0MTAuZncgdGlfNTA1Mi5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0VER0VQT1JUKSArPSBlZGdlcG9ydC9ib290LmZ3IGVkZ2Vwb3J0L2Jvb3QyLmZ3IFwKKwkJCQkJICAgIGVkZ2Vwb3J0L2Rvd24uZncgZWRnZXBvcnQvZG93bjIuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9FREdFUE9SVF9USSkgKz0gZWRnZXBvcnQvZG93bjMuYmluCitmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfV0hJVEVIRUFUKSArPSB3aGl0ZWhlYXRfbG9hZGVyLmZ3IHdoaXRlaGVhdC5mdyBcCisJCQkJCSAgICMgd2hpdGVoZWF0X2xvYWRlcl9kZWJ1Zy5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fUERBKSArPSBrZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX1hJUkNPTSkgKz0ga2V5c3Bhbl9wZGEveGlyY29tX3Bncy5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfVklDQU0pICs9IHZpY2FtL2Zpcm13YXJlLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1ZJREVPX0NQSUEyKSArPSBjcGlhMi9zdHYwNjcyX3ZwNC5iaW4KKworZnctc2hpcHBlZC1hbGwgOj0gJChmdy1zaGlwcGVkLXkpICQoZnctc2hpcHBlZC1tKSAkKGZ3LXNoaXBwZWQtKQorCisjIERpcmVjdG9yaWVzIHdoaWNoIHdlIF9taWdodF8gbmVlZCB0byBjcmVhdGUsIHNvIHdlIGhhdmUgYSBydWxlIGZvciB0aGVtLgorZmlybXdhcmUtZGlycyA6PSAkKHNvcnQgJChwYXRzdWJzdCAlLCQob2JqdHJlZSkvJChvYmopLyUvLCQoZGlyICQoZnctZXh0ZXJuYWwteSkgJChmdy1zaGlwcGVkLWFsbCkpKSkKKworcXVpZXRfY21kX21rZGlyID0gTUtESVIgICAkKHBhdHN1YnN0ICQob2JqdHJlZSkvJSwlLCRAKQorICAgICAgY21kX21rZGlyID0gbWtkaXIgLXAgJEAKKworcXVpZXRfY21kX2loZXggID0gSUhFWCAgICAkQAorICAgICAgY21kX2loZXggID0gJChPQkpDT1BZKSAtSWloZXggLU9iaW5hcnkgJDwgJEAKKworcXVpZXRfY21kX2loZXgyZncgID0gSUhFWDJGVyAkQAorICAgICAgY21kX2loZXgyZncgID0gJChvYmp0cmVlKS8kKG9iaikvaWhleDJmdyAkPCAkQAorCitxdWlldF9jbWRfaDE2dG9mdyAgPSBIMTZUT0ZXICRACisgICAgICBjbWRfaDE2dG9mdyAgPSAkKG9ianRyZWUpLyQob2JqKS9paGV4MmZ3IC13ICQ8ICRACisKK3F1aWV0X2NtZF9md2JpbiA9IE1LX0ZXICAgJEAKKyAgICAgIGNtZF9md2JpbiA9IEZXTkFNRT0iJChwYXRzdWJzdCBmaXJtd2FyZS8lLmdlbi5TLCUsJEApIjsJCSAgICAgXAorCQkgIEZXU1RSPSIkKHN1YnN0IC8sXywkKHN1YnN0IC4sXywkKHN1YnN0IC0sXywkKHBhdHN1YnN0CSAgICAgXAorCQkJCWZpcm13YXJlLyUuZ2VuLlMsJSwkQCkpKSkiOwkJICAgICBcCisJCSAgQVNNX1dPUkQ9JChpZiAkKENPTkZJR182NEJJVCksLnF1YWQsLmxvbmcpOwkJICAgICBcCisJCSAgQVNNX0FMSUdOPSQoaWYgJChDT05GSUdfNjRCSVQpLDMsMik7CQkJICAgICBcCisJCSAgUFJPR0JJVFM9JChpZiAkKENPTkZJR19BUk0pLCUsQClwcm9nYml0czsJCSAgICAgXAorCQkgIGVjaG8gIi8qIEdlbmVyYXRlZCBieSBmaXJtd2FyZS9NYWtlZmlsZSAqLyIJCT4gJEA7XAorCQkgIGVjaG8gIiAgICAuc2VjdGlvbiAucm9kYXRhIgkJCQk+PiRAO1wKKwkJICBlY2hvICIgICAgLnAyYWxpZ24gJCR7QVNNX0FMSUdOfSIJCQk+PiRAO1wKKwkJICBlY2hvICJfZndfJCR7RldTVFJ9X2JpbjoiCQkJCT4+JEA7XAorCQkgIGVjaG8gIiAgICAuaW5jYmluIFwiJCgyKVwiIgkJCQk+PiRAO1wKKwkJICBlY2hvICJfZndfZW5kOiIJCQkJCT4+JEA7XAorCQkgIGVjaG8gIiAgIC5zZWN0aW9uIC5yb2RhdGEuc3RyLFwiYU1TXCIsJCR7UFJPR0JJVFN9LDEiCT4+JEA7XAorCQkgIGVjaG8gIiAgICAucDJhbGlnbiAkJHtBU01fQUxJR059IgkJCT4+JEA7XAorCQkgIGVjaG8gIl9md18kJHtGV1NUUn1fbmFtZToiCQkJCT4+JEA7XAorCQkgIGVjaG8gIiAgICAuc3RyaW5nIFwiJCRGV05BTUVcIiIJCQk+PiRAO1wKKwkJICBlY2hvICIgICAgLnNlY3Rpb24gLmJ1aWx0aW5fZncsXCJhXCIsJCR7UFJPR0JJVFN9Igk+PiRAO1wKKwkJICBlY2hvICIgICAgLnAyYWxpZ24gJCR7QVNNX0FMSUdOfSIJCQk+PiRAO1wKKwkJICBlY2hvICIgICAgJCR7QVNNX1dPUkR9IF9md18kJHtGV1NUUn1fbmFtZSIJCT4+JEA7XAorCQkgIGVjaG8gIiAgICAkJHtBU01fV09SRH0gX2Z3XyQke0ZXU1RSfV9iaW4iCQk+PiRAO1wKKwkJICBlY2hvICIgICAgJCR7QVNNX1dPUkR9IF9md19lbmQgLSBfZndfJCR7RldTVFJ9X2JpbiIJPj4kQDsKKworIyBPbmUgb2YgdGhlc2UgZmlsZXMgd2lsbCBjaGFuZ2UsIG9yIGNvbWUgaW50byBleGlzdGVuY2UsIHdoZW5ldmVyCisjIHRoZSBjb25maWd1cmF0aW9uIGNoYW5nZXMgYmV0d2VlbiAzMi1iaXQgYW5kIDY0LWJpdC4gVGhlIC5TIGZpbGVzCisjIG5lZWQgdG8gY2hhbmdlIHdoZW4gdGhhdCBoYXBwZW5zLgord29yZHNpemVfZGVwcyA6PSAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnLzY0Yml0LmggaW5jbHVkZS9jb25maWcvMzJiaXQuaCBcCisJCWluY2x1ZGUvY29uZmlnL3BwYzMyLmggaW5jbHVkZS9jb25maWcvcHBjNjQuaCBcCisJCWluY2x1ZGUvY29uZmlnL3N1cGVyaDMyLmggaW5jbHVkZS9jb25maWcvc3VwZXJoNjQuaCBcCisJCWluY2x1ZGUvY29uZmlnL3g4Nl8zMi5oIGluY2x1ZGUvY29uZmlnL3g4Nl82NC5oKQorCisjIFdvcmthcm91bmQgZm9yIG1ha2UgPCAzLjgxLCB3aGVyZSAuU0VDT05ERVhQQU5TSU9OIGRvZXNuJ3Qgd29yay4KKyMgSXQnbGwgZW5kIHVwIGRlcGVuZGluZyBvbiB0aGVzZSB0YXJnZXRzLCBzbyBtYWtlIHRoZW0gYSBQSE9OWSBydWxlIHdoaWNoCisjIGRlcGVuZHMgb24gX2FsbF8gdGhlIGRpcmVjdG9yaWVzIGluICQoZmlybXdhcmUtZGlycyksIGFuZCBpdCdsbCB3b3JrIG91dCBPSy4KK1BIT05ZICs9ICQob2JqdHJlZSkvJCQoJSkgJChvYmp0cmVlKS8kKG9iaikvJCQoJSkKKyQob2JqdHJlZSkvJCQoJSkgJChvYmp0cmVlKS8kKG9iaikvJCQoJSk6ICQoZmlybXdhcmUtZGlycykKKwlAdHJ1ZQorCisjIEZvciB0aGUgJCQoZGlyICUpIHRyaWNrLCB3aGVyZSB3ZSBuZWVkICUgdG8gYmUgZXhwYW5kZWQgZmlyc3QuCisuU0VDT05ERVhQQU5TSU9OOgorCiskKHBhdHN1YnN0ICUsJChvYmopLyUuZ2VuLlMsICQoZnctc2hpcHBlZC15KSk6ICU6ICQod29yZHNpemVfZGVwcykgXAorCQl8ICQob2JqdHJlZSkvJCQoZGlyICUpCisJJChjYWxsIGNtZCxmd2JpbiwkKHBhdHN1YnN0ICUuZ2VuLlMsJSwkQCkpCiskKHBhdHN1YnN0ICUsJChvYmopLyUuZ2VuLlMsICQoZnctZXh0ZXJuYWwteSkpOiAlOiAkKHdvcmRzaXplX2RlcHMpIFwKKwkJaW5jbHVkZS9jb25maWcvZXh0cmEvZmlybXdhcmUvZGlyLmggfCAkKG9ianRyZWUpLyQkKGRpciAlKQorCSQoY2FsbCBjbWQsZndiaW4sJChmd2FicykvJChwYXRzdWJzdCAkKG9iaikvJS5nZW4uUywlLCRAKSkKKworIyBUaGUgLm8gZmlsZXMgZGVwZW5kIG9uIHRoZSBiaW5hcmllcyBkaXJlY3RseTsgdGhlIC5TIGZpbGVzIGRvbid0LgorJChwYXRzdWJzdCAlLCQob2JqKS8lLmdlbi5vLCAkKGZ3LXNoaXBwZWQteSkpOiAlLmdlbi5vOiAlCiskKHBhdHN1YnN0ICUsJChvYmopLyUuZ2VuLm8sICQoZnctZXh0ZXJuYWwteSkpOiAkKG9iaikvJS5nZW4ubzogJChmd2RpcikvJQorCisjIC5paGV4IGlzIHVzZWQganVzdCBhcyBhIHNpbXBsZSB3YXkgdG8gaG9sZCBiaW5hcnkgZmlsZXMgaW4gYSBzb3VyY2UgdHJlZQorIyB3aGVyZSBiaW5hcmllcyBhcmUgZnJvd25lZCB1cG9uLiBUaGV5IGFyZSBkaXJlY3RseSBjb252ZXJ0ZWQgd2l0aCBvYmpjb3B5LgorJChvYmopLyU6ICQob2JqKS8lLmloZXggfCAkKG9ianRyZWUpLyQob2JqKS8kJChkaXIgJSkKKwkkKGNhbGwgY21kLGloZXgpCisKKyMgLkhFWCBpcyBhbHNvIEludGVsIEhFWCwgYnV0IHdoZXJlIHRoZSBvZmZzZXQgYW5kIGxlbmd0aCBpbiBlYWNoIHJlY29yZAorIyBpcyBhY3R1YWxseSBtZWFuaW5nZnVsLCBiZWNhdXNlIHRoZSBmaXJtd2FyZSBoYXMgdG8gYmUgbG9hZGVkIGluIGEgY2VydGFpbgorIyBvcmRlciByYXRoZXIgdGhhbiBhcyBhIHNpbmdsZSBiaW5hcnkgYmxvYi4gVGh1cywgd2UgY29udmVydCB0aGVtIGludG8gb3VyCisjIG1vcmUgY29tcGFjdCBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleCByZWNvcmRzICg8bGludXgvaWhleC5oPikKKyQob2JqKS8lLmZ3OiAkKG9iaikvJS5IRVggJChvYmopL2loZXgyZncgfCAkKG9ianRyZWUpLyQob2JqKS8kJChkaXIgJSkKKwkkKGNhbGwgY21kLGloZXgyZncpCisKKyMgLkgxNiBpcyBvdXIgb3duIG1vZGlmaWVkIGZvcm0gb2YgSW50ZWwgSEVYLCB3aXRoIDE2LWJpdCBsZW5ndGggZm9yIHJlY29yZHMuCiskKG9iaikvJS5mdzogJChvYmopLyUuSDE2ICQob2JqKS9paGV4MmZ3IHwgJChvYmp0cmVlKS8kKG9iaikvJCQoZGlyICUpCisJJChjYWxsIGNtZCxoMTZ0b2Z3KQorCiskKGZpcm13YXJlLWRpcnMpOgorCSQoY2FsbCBjbWQsbWtkaXIpCisKK29iai15CQkJCSArPSAkKHBhdHN1YnN0ICUsJS5nZW4ubywgJChmdy1leHRlcm5hbC15KSkKK29iai0kKENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUwpICs9ICQocGF0c3Vic3QgJSwlLmdlbi5vLCAkKGZ3LXNoaXBwZWQteSkpCisKKyMgUmVtb3ZlIC5TIGZpbGVzIGFuZCBiaW5hcmllcyBjcmVhdGVkIGZyb20gaWhleAorIyAoZHVyaW5nICdtYWtlIGNsZWFuJyAuY29uZmlnIGlzbid0IGluY2x1ZGVkIHNvIHRoZXkncmUgYWxsIGluICQoZnctc2hpcHBlZC0pKQordGFyZ2V0cyA6PSAkKGZ3LXNoaXBwZWQtKSAkKHBhdHN1YnN0ICQob2JqKS8lLCUsIFwKKwkJCQkkKHNoZWxsIGZpbmQgJChvYmopIC1uYW1lIFwqLmdlbi5TIDI+L2Rldi9udWxsKSkKKworIyBXaXRob3V0IHRoaXMsIGJ1aWx0LWluLm8gd29uJ3QgYmUgY3JlYXRlZCB3aGVuIGl0J3MgZW1wdHksIGFuZCB0aGUKKyMgZmluYWwgdm1saW51eCBsaW5rIHdpbGwgZmFpbC4KK29iai1uIDo9IGR1bW15CisKK2hvc3Rwcm9ncy15IDo9IGloZXgyZncKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL1dIRU5DRSBiL2Zpcm13YXJlL1dIRU5DRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmM1MWIyCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvV0hFTkNFCkBAIC0wLDAgKzEsMzQxIEBACisgICAgICAgICAgICAgKioqKioqKioqKgorICAgICAgICAgICAgICogV0hFTkNFICoKKyAgICAgICAgICAgICAqKioqKioqKioqCisKK1RoaXMgZmlsZSBhdHRlbXB0cyB0byBkb2N1bWVudCB0aGUgb3JpZ2luIGFuZCBsaWNlbnNpbmcgaW5mb3JtYXRpb24sCitpZiBrbm93biwgZm9yIGVhY2ggcGllY2Ugb2YgZmlybXdhcmUgZGlzdHJpYnV0ZWQgZm9yIHVzZSB3aXRoIHRoZSBMaW51eAora2VybmVsLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IGtvcmcxMjEyIC0tIEtvcmcgMTIxMiBJTyBhdWRpbyBkZXZpY2UKKworRmlsZToga29yZy9rMTIxMi5kc3AKKworTGljZW5jZTogVW5rbm93bgorCitGb3VuZCBpbiBhbHNhLWZpcm13YXJlIHBhY2thZ2UgaW4gaGV4IGZvcm07IG5vIGxpY2Vuc2luZyBpbmZvcm1hdGlvbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBtYWVzdHJvMyAtLSBFU1MgQWxsZWdybyBNYWVzdHJvMyBhdWRpbyBkZXZpY2UKKworRmlsZTogZXNzL21hZXN0cm8zX2Fzc3Bfa2VybmVsLmZ3CitGaWxlOiBlc3MvbWFlc3RybzNfYXNzcF9taW5pc3JjLmZ3CisKK0xpY2VuY2U6IFVua25vd24KKworRm91bmQgaW4gYWxzYS1maXJtd2FyZSBwYWNrYWdlIGluIGhleCBmb3JtIHdpdGggYSBjb21tZW50IGNsYWltaW5nIHRvCitiZSBHUEx2MissIGJ1dCB3aXRob3V0IHNvdXJjZSAtLSBhbmQgd2l0aCBhbm90aGVyIGNvbW1lbnQgc2F5aW5nICJFU1MKK2Ryb3BzIGJpbmFyeSBkc3AgY29kZSBpbWFnZXMgb24gb3VyIGhlYWRzLCBidXQgd2UgZG9uJ3QgZ2V0IHRvIHNlZQorc3BlY3Mgb24gdGhlIGRzcC4iCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogeW1mcGNpIC0tIFlhbWFoYSBZTUY3MjQvNzQwLzc0NC83NTQgYXVkaW8gZGV2aWNlcworCitGaWxlOiB5YW1haGEvZHMxX2N0cmwuZncKK0ZpbGU6IHlhbWFoYS9kczFfZHNwLmZ3CitGaWxlOiB5YW1haGEvZHMxZV9jdHJsLmZ3CisKK0xpY2VuY2U6IFVua25vd24KKworRm91bmQgYWxzYS1maXJtd2FyZSBwYWNrYWdlIGluIGhleCBmb3JtLCB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWVudDoKKyAgIENvcHlyaWdodCAoYykgMTk5Ny0xOTk5IFlhbWFoYSBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBzbWN0ciAtLSBTTUMgSVNBL01DQSBUb2tlbiBSaW5nIGFkYXB0ZXIKKworRmlsZTogdHJfc21jdHIuYmluCitJbmZvOiBNQ1QuQklOIHY2LjNDMSAwMy8wMS85NQorCitPcmlnaW5hbCBsaWNlbmNlIGluZm86CisKKyAqIFRoaXMgZmlybXdhcmUgaXMgbGljZW5zZWQgdG8geW91IHN0cmljdGx5IGZvciB1c2UgaW4gY29uanVuY3Rpb24KKyAqIHdpdGggdGhlIHVzZSBvZiBTTUMgVG9rZW5SaW5nIGFkYXB0ZXJzLiBUaGVyZSBpcyBubyB3YXJhbnR5CisgKiBleHByZXNzZWQgb3IgaW1wbGllZCBhYm91dCBpdHMgZml0bmVzcyBmb3IgYW55IHB1cnBvc2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjoga2F3ZXRoIC0tIFVTQiBLTFNJIEtMNVVTQjEwMS1iYXNlZCBFdGhlcm5ldCBkZXZpY2UKKworRmlsZToga2F3ZXRoL25ld19jb2RlLmJpbgorRmlsZToga2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4KK0ZpbGU6IGthd2V0aC90cmlnZ2VyX2NvZGUuYmluCitGaWxlOiBrYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4KKworTGljZW5jZTogVW5rbm93bgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiB0aGUga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiB0dHVzYi1idWRnZXQgLS0gVGVjaG5vdHJlbmQvSGF1cHBhdWdlIE5vdmEtVVNCIGRldmljZXMKKworRmlsZTogdHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbgorCitMaWNlbmNlOiBVbmtub3duCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIHRoZSBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IGtleXNwYW4gLS0gVVNCIEtleXNwYW4gVVNBLXh4eCBzZXJpYWwgZGV2aWNlCisKK0ZpbGU6IGtleXNwYW4vbXByLmZ3CitGaWxlOiBrZXlzcGFuL3VzYTE4eC5mdworRmlsZToga2V5c3Bhbi91c2ExOS5mdworRmlsZToga2V5c3Bhbi91c2ExOXFpLmZ3CitGaWxlOiBrZXlzcGFuL3VzYTE5cXcuZncKK0ZpbGU6IGtleXNwYW4vdXNhMTl3LmZ3CitGaWxlOiBrZXlzcGFuL3VzYTI4LmZ3CitGaWxlOiBrZXlzcGFuL3VzYTI4eGEuZncKK0ZpbGU6IGtleXNwYW4vdXNhMjh4Yi5mdworRmlsZToga2V5c3Bhbi91c2EyOHguZncKK0ZpbGU6IGtleXNwYW4vdXNhNDl3LmZ3CitGaWxlOiBrZXlzcGFuL3VzYTQ5d2xjLmZ3CisKK0NvbnZlcnRlZCBmcm9tIEludGVsIEhFWCBmaWxlcywgdXNlZCBpbiBvdXIgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGloZXguCisKK09yaWdpbmFsIGxpY2VuY2UgaW5mb3JtYXRpb246CisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IGtleXNwYW5fcGRhIC0tIFVTQiBLZXlzcGFuIFBEQSBzaW5nbGUtcG9ydCBzZXJpYWwgZGV2aWNlCisKK0ZpbGU6IGtleXNwYW5fcGRhL2tleXNwYW5fcGRhLmZ3CitTb3VyY2U6IGtleXNwYW5fcGRhL2tleXNwYW5fcGRhLlMKKworRmlsZToga2V5c3Bhbl9wZGEveGlyY29tX3Bncy5mdworU291cmNlOiBrZXlzcGFuX3BkYS94aXJjb21fcGdzLlMKKworTGljZW5jZTogR1BMdjIrCisKK0NvbXBpbGVkIGZyb20gb3JpZ2luYWwgODA1MSBzb3VyY2UgaW50byBJbnRlbCBIRVgsIHVzZWQgaW4gb3VyIGJpbmFyeSBpaGV4IGZvcm0uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogZW1pMjYgLS0gRU1JIDJ8NiBVU0IgQXVkaW8gaW50ZXJmYWNlCisKK0ZpbGU6IGVtaTI2L2JpdHN0cmVhbS5mdworSW5mbzogVkVSU0lPTj0xLjEuMS4xMzEgREFURT0yMDAxZGVjMDYKKworRmlsZTogZW1pMjYvZmlybXdhcmUuZncKK0luZm86IFZFUlNJT049MS4wLjIuOTE2IERBVEU9MTIuMDIuMjAwMgorCitGaWxlOiBlbWkyNi9sb2FkZXIuZncKKworQ29udmVydGVkIGZyb20gSW50ZWwgSEVYIGZpbGVzLCB1c2VkIGluIG91ciBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleC4KKworT3JpZ2luYWwgbGljZW5jZSBpbmZvcm1hdGlvbjoKKy8qCisgKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCisgKgorICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCisgKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKKyAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCisgKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCisgKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisgKiBpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKyAqIGluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisgKgorICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCisgKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCisgKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCisgKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgorICovCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogZW1pNjIgLS0gRU1JIDZ8Mm0gVVNCIEF1ZGlvIGludGVyZmFjZQorCitGaWxlOiBlbWk2Mi9iaXRzdHJlYW0uZncKK0luZm86IFZFUlNJT049MS4wLjAuMTkxIERBVEU9IDIwMDJvY3QyOAorCitGaWxlOiBlbWk2Mi9sb2FkZXIuZncKK1NvdXJjZTogRU1JTE9BRC5IRVgKK0luZm86IFZFUlNJT049MS4wLjIuMDAyIERBVEU9MTAuMDEuMjAwMgorCitGaWxlOiBlbWk2Mi9taWRpLmZ3CitTb3VyY2U6IEVNSTYyTUZXLkhFWAorSW5mbzogVkVSU0lPTj0xLjA0LjA2MiBEQVRFPTE2LjEwLjIwMDIKKworRmlsZTogZW1pNjIvc3BkaWYuZncKK1NvdXJjZTogRU1JNjJTRlcuSEVYCitJbmZvOiBWRVJTSU9OPTEuMDQuMDYyIERBVEU9MTYuMTAuMjAwMgorCitDb252ZXJ0ZWQgZnJvbSBJbnRlbCBIRVggZmlsZXMsIHVzZWQgaW4gb3VyIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBpaGV4LgorCitPcmlnaW5hbCBsaWNlbmNlIGluZm9ybWF0aW9uOiBOb25lCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogdHVfdXNiXzM0MTBfNTA1MiAtLSBVU0IgVEkgMzQxMC81MDUyIHNlcmlhbCBkZXZpY2UKKworRmlsZTogdGlfMzQxMC5mdworSW5mbzogZmlybXdhcmUgOS8xMC8wNCBGVzM0MTBfU3BlY2lhbF9TdGFydFdkb2dPblN0YXJ0UG9ydAorCitGaWxlOiB0aV81MDUyLmZ3CitJbmZvOiBmaXJtd2FyZSA5LzE4LzA0CisKK0xpY2VuY2U6IEFsbGVnZWRseSBHUEx2MissIGJ1dCBubyBzb3VyY2UgdmlzaWJsZS4gTWFya2VkOgorCSBDb3B5cmlnaHQgKEMpIDIwMDQgVGV4YXMgSW5zdHJ1bWVudHMKKworRm91bmQgaW4gaGV4IGZvcm0gaW4ga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiB3aGl0ZWhlYXQgLS0gVVNCIENvbm5lY3RUZWNoIFdoaXRlSEVBVCBzZXJpYWwgZGV2aWNlCisKK0ZpbGU6IHdoaXRlaGVhdC5mdworVmVyc2lvbjogNC4wNgorCitGaWxlOiB3aGl0ZWhlYXRfbG9hZGVyLmZ3CitGaWxlOiB3aGl0ZWhlYXRfbG9hZGVyX2RlYnVnLmZ3CisKK0xpY2VuY2U6IEFsbGVnZWRseSBHUEx2MiwgYnV0IG5vIHNvdXJjZSB2aXNpYmxlLiBNYXJrZWQ6CisJIENvcHlyaWdodCAoQykgMjAwMC0yMDAyICBDb25uZWN0VGVjaCBJbmMKKworRGVidWcgbG9hZGVyIGNsYWltcyB0aGUgZm9sbG93aW5nIGJlaGF2aW91cjoKKwlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKwlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKworQ29udmVydGVkIGZyb20gSW50ZWwgSEVYIGZpbGVzLCB1c2VkIGluIG91ciBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBpcDIgLS0gQ29tcHV0b25lIEludGVsbGlQb3J0IFBsdXMgc2VyaWFsIGRldmljZQorCitGaWxlOiBpbnRlbGxpcG9ydDIuYmluCisKK0xpY2VuY2U6IFVua25vd24KKworRm91bmQgaW4gaGV4IGZvcm0gaW4ga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBDUGlBMiAtLSBjYW1lcmFzIGJhc2VkIG9uIFZpc2lvbidzIENQaUEyCisKK0ZpbGU6IGNwaWEyL3N0djA2NzJfdnA0LmJpbgorCitMaWNlbmNlOiBBbGxlZ2VkbHkgR1BMdjIrLCBidXQgbm8gc291cmNlIHZpc2libGUuIE1hcmtlZDoKKwlDb3B5cmlnaHQgKEMpIDIwMDEgU1RNaWNyb2VsZWN0cm9uaWNzLCBJbmMuCisJQ29udGFjdDogIHN0ZXZlLm1pbGxlckBzdC5jb20KKwlEZXNjcmlwdGlvbjogVGhpcyBmaWxlIGNvbnRhaW5zIHBhdGNoIGRhdGEgZm9yIHRoZSBDUGlBMiAoc3R2MDY3MikgVlA0LgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IERBQlVTQiAtLSBEaWdpdGFsIEF1ZGlvIEJyb2FkY2FzdGluZyAoREFCKSBSZWNlaXZlciBmb3IgVVNCIGFuZCBMaW51eAorCitGaWxlOiBkYWJ1c2IvZmlybXdhcmUuZncKK0ZpbGU6IGRhYnVzYi9iaXRzdHJlYW0uYmluCisKK0xpY2VuY2U6IERpc3RyaWJ1dGFibGUKKworICogQ29weXJpZ2h0IChDKSAxOTk5IEJheUNvbSBHbWJICisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCByZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlCisgKiBjb2RlIHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBjb21tZW50IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBVU0JfVklDQU0gLS0gVVNCIDNjb20gSG9tZUNvbm5lY3QgKGFrYSB2aWNhbSkKKworRmlsZTogdmljYW0vZmlybXdhcmUuZncKKworTGljZW5jZTogVW5rbm93bgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IFVTQl9TRVJJQUxfRURHRVBPUlQgLSBVU0IgSW5zaWRlIE91dCBFZGdlcG9ydCBTZXJpYWwgRHJpdmVyCisKK0ZpbGU6IGVkZ2Vwb3J0L2Jvb3QuZncKK0ZpbGU6IGVkZ2Vwb3J0L2Jvb3QyLmZ3CitGaWxlOiBlZGdlcG9ydC9kb3duLmZ3CitGaWxlOiBlZGdlcG9ydC9kb3duMi5mdworCitMaWNlbmNlOiBBbGxlZ2VkbHkgR1BMdjIrLCBidXQgbm8gc291cmNlIHZpc2libGUuIE1hcmtlZDoKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQorLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgorLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IFVTQl9TRVJJQUxfRURHRVBPUlRfVEkgLSBVU0IgSW5zaWRlIE91dCBFZGdlcG9ydCBTZXJpYWwgRHJpdmVyCisoVEkgRGV2aWNlcykKKworRmlsZTogZWRnZXBvcnQvZG93bjMuYmluCisKK0xpY2VuY2U6CisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyogRWRnZXBvcnQgQmluYXJ5IEltYWdlIChmb3IgVEkgYmFzZWQgcHJvZHVjdHMpCisvLyogR2VuZXJhdGVkIGJ5IFRJQmluMkMgdjIuMDAgKHdhdGNocG9ydCkKKy8vKiBDb3B5cmlnaHQgKEMpIDIwMDEgSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworRm91bmQgaW4gaGV4IGZvcm0gaW4ga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBBVEFSSV9EU1A1NksgLSBBdGFyaSBEU1A1Nmsgc3VwcG9ydAorCitGaWxlOiBkc3A1NmsvYm9vdHN0cmFwLmJpbgorU291cmNlOiBkc3A1NmsvYm9vdHN0cmFwLmFzbQorCitMaWNlbmNlOiBHUEx2MiBvciBsYXRlcgorCitEU1A1NjAwMSBhc3NlbWJsZXIsIHBvc3NpYmx5IGJ1aWxkYWJsZSB3aXRoIGE1NiBmcm9tIAoraHR0cDovL3d3dy56ZG9tYWluLmNvbS9hNTYuaHRtbAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IFNORF9TQjE2X0NTUCAtIFNvdW5kIEJsYXN0ZXIgMTYvQVdFIENTUCBzdXBwb3J0CisKK0ZpbGU6IHNiMTYvbXVsYXdfbWFpbi5jc3AKK0ZpbGU6IHNiMTYvYWxhd19tYWluLmNzcAorRmlsZTogc2IxNi9pbWFfYWRwY21faW5pdC5jc3AKK0ZpbGU6IHNiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcAorRmlsZTogc2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AKKworTGljZW5jZTogQWxsZWdlZGx5IEdQTHYyKywgYnV0IG5vIHNvdXJjZSB2aXNpYmxlLiBNYXJrZWQ6CisvKgorICogIENvcHlyaWdodCAoYykgMTk5NCBDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZC4KKyAqICBNaWNyb2NvZGUgZmlsZXMgZm9yIFNCMTYgQWR2YW5jZWQgU2lnbmFsIFByb2Nlc3NvcgorICovCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIGtlcm5lbCBzb3VyY2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9maXJtd2FyZS9hdG1zYXIxMS5IRVggYi9maXJtd2FyZS9hdG1zYXIxMS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZkZGMxOQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2F0bXNhcjExLkhFWApAQCAtMCwwICsxLDIwNCBAQAorOjA0MDAwMDAwQTBEMEYwMDA5QworOjJDMDA4MDAwNDAxQTY4MDAwMDAwMDAwMDMzNUIwMDdDMTM2MDAwMDUzMzVCMTAwMDNDMUFBMEMwMzc1QTAxODAwMzQwMDAwODAwMDAwMDAwMTc2MEZGRkIzMzVCNDAwMDIwCis6MkMwMEFDMDA0MDFBNzAwMDEzNjAwMDAzMjQxQjBGQzBBRjlCNDUwMDI1MDgwMDA4MDM0MDAwMDg0MjAwMDAxMDhGODEwQzkwMzIyMjAwMDIxMDQwMDAwMzNDMDNBMEQxNzQKKzoyQzAwRDgwMDI0NjNGODEwMDA2MEY4MDkyNDIxMDAwMTEwMDAwMDFBQUY4MTBDOTA4MjAyMDAxMUFGOTAwQzQ4MDQ0MTAwMEEzNDQyMDA4MDk2N0QwMDAyOTYwMjAwMTJBNAorOjJDMDEwNDAwMDAwMDAwMDAxMDVEMDAxMTAwMDAwMDAwMDQxMTAxNjFBNjYyMDAwMjEwMDAwMDBEQUU2MjAwMEMzNDg0ODAwMEEyMDIwMDExNEQwMUZGRkYwMDAwMDAwMDVFCis6MkMwMTMwMDA4RjgzNEMwMDAwMDAwMDAwQUY4MzBGRUMwMEUwRjgwOTAzRTAzODIxMDAwNDE0MDAwNDQwRkZGNzAwMDAwMDAwQUY4MDQ2MEM4RTEwMDAwODREMDFGRkZGMzYKKzoyQzAxNUMwMDAwMDAwMDAwOEY4MzRDMDA0OTAwMDAxREFGODMwRkVDOEY4MjBDQkM4RjlEMEM0QzI0NDIwMDAxOTdCRTAwMDBBRjgyMENCQzEzQzAwMDA5QUNBMjAwRDg3MgorOjJDMDE4ODAwQTdBMDAwMDAzQzAxMDBEMTAwM0UwODI1OTQyMjAwMkMwNDExMDEzRkE0MjIwMDAyQUMyMjAwMENBQzIwMDAxMDhGOUUwQzU0MjdCRDAwMDIxN0JFMDAwMjhDCis6MkMwMUI0MDA4Q0EyMDBDMDhGOUQwQzUwOEY5NzBGQzhBRjlEMEM0QzEyRTIwMDA1ODc4MDQwMDIzQzAyQTBEMTI0NDJGOTRDMDA0MEY4MDkwMDAwMDAwMDAwRTBGODA5NEEKKzoyQzAxRTAwMDAzRTAzODIxNDUwMEZGREM4RTExMDAwQzNDMTMwMEQxMDAxMTExMDIyQzQzMDQwMDEwNjBGRkI5MDAwMjExODAwMjYyOTgyMThFNzYwMDNDMzIyMjAwMDhDMQorOjJDMDIwQzAwMTQ0MEZGQjc4RTc3MDAzNDhFNzUwMDMwM0MwM0NGQjAxNkMwMDAwMzAyRDUxMDJCMDQxMTAwQkUwMDAwMDAwMDEwNDBGRkE2MDA3MDE4MjY0RDAxRkZGRkU1Cis6MkMwMjM4MDAwMDAwMDAwMDhGODI0QzAwQUY5NzRDMDBBRjgyMEZFQ0FDNzYwMDEwMDI2MDkwMjEzMjIyMDAwMjEwNDAwMDA3OEY5NDRBMDA5NjAyMDAzQTM0ODQwMDA0OTIKKzoyQzAyNjQwMDE0NDAwMDAzQUY4MjBGQkMzQzAyOTAwMEFGODIwRkJDOEUxMDAwMDgzMjk0M0YwMDhFMTEwMDBDMjY5NEZGMDAxMjgwMDA3MzNDMTMwMEQxNDkwMTAwNzE2MgorOjJDMDI5MDAwMzIzNzAwMDgxNkUwMDA2RjAwMTExMTAyMkM0MzA0MDAxMDYwMDA2QzAwMDJCOTgwMDAwNDE3NDAwNDQwMDAzQTAyNzc5ODIxMTI3MjAwMjMyNkQ2MDAzMEUwCis6MkMwMkJDMDBBRTU2MDAzQzhFNzYwMDNDOEU3NzAwMzQ4RTc1MDAzMDNDMDNDRkIwMTZDMDAwMDMwMkQ1MTAyQjA0MTEwMDkxMDAwMDAwMDAxMDQwMDA2MDJFODIxMDAwNkIKKzoyQzAyRTgwMDE0NDAwMDA5MDA3MDE4MjY0RDAxRkZGRjAwMDAwMDAwOEY4MjRDMDBBRjk3NEMwMEFDNzYwMDEwQUU0MjAwMzQxMDAwRkZEMEFGODA0NjBDMDBFMEY4MDkwRAorOjJDMDMxNDAwMDNFMDM4MjEzQzAzQ0ZCMDAwNzAxODI2QUU0NjAwMzQ0RDAxRkZGRjAwMDAwMDAwOEY4MjRDMDBBRjk3NEMwMEFGODIwRkVDQUM3NjAwMTAxMDAwRkZDMzgyCis6MkMwMzQwMDBBRjgwNDYwQzAyRDUxMDJCMTA0MDAwNDIzQzE3Q0ZCMDJFODIxMDAwMTQ0MDAwMDYwMkYwQjgyNjREMDFGRkZGMDAwMDAwMDBBRUY2MDAxMDEwMDBGRkI4RTkKKzoyQzAzNkMwMEFGODA0NjBDMDBFMEY4MDkwM0UwMzgyMTREMDFGRkZGMDAwMDAwMDA4RjgyNEMwMEFGODY0QzAwQUVGNjAwMTBBRjgyMEZFQzEwMDBGRkFFQUY4MDQ2MEM3RgorOjJDMDM5ODAwMzA4NEZGRkI4RTU3MDAzODMyNDJGRkMwMDAwMjExODJBNzgyMEZCOEFGOTcwRkI0ODY1RDAwMkE4NjVFMDAwOEE3OUQwRkJBMjc5RDBGMTgzM0RFMDA2MDRCCis6MkMwM0M0MDAwM0JFRTgyMTAwMUVGMEMyMDNCRUU4MjE4Rjk3MEM1ODREMDFGRkZGMDAwMDAwMDA4RjgzNEMwMDhGQTIwMDFDMTJFMzAwMDMzQzAzMEM0MDNDMUVDMDAwOEIKKzoyQzAzRjAwMEFGOUUwRkJDQUM2MjBGQjQ4RkEzMDAxODI0NDIwMDBDMTQ0MzAwMDJBRjgwNDYwQzhGQTIwMDE0QUU0MDAwM0NBRkEyMDAxQzhFNzYwMDNDOEU3NzAwMzQwRAorOjJDMDQxQzAwOEU3NTAwMzAzQzAzQ0ZCMDE2QzAwMDAzMDJENTEwMkIwNDExMDAzQzAwMDAwMDAwMDA3MDE4MjY0RDAxRkZGRjAwMDAwMDAwQUNBNTAwRTQxMDQwMDAzMkQ2Cis6MkMwNDQ4MDBBRjk3NEMwMDEwMDBGRjdGQUM3NjAwMTAwMDA0MTc0MDA0NDAwMDA3MjZENjAwMzBBRTU2MDAzQzAwRTBGODA5MDNFMDM4MjFBRjgwNDYwQzEwMDBGRjM5M0UKKzoyQzA0NzQwMEFFNDYwMDM0OEU1NzAwMzgzMjQyRkZDMDAwMDIxMTgyQTc4MjBGQjhBRjk3MEZCNDhGOTcwQzU4MDBFMEY4MDkwM0UwMzgyMTEyRTYwMDAzM0MwMzBDNDAyOQorOjJDMDRBMDAwM0MwMkMwMDBBRjgyMEZCQzg2NUQwMDJBODY1RTAwMDhBNzlEMEZCQTI3OUQwRjE4MzNERTAwNjAwM0JFRTgyMTAwMUVGMEMyMDNCRUU4MjE4RkEyMDAxQzIzCis6MkMwNENDMDA0RDAxRkZGRjAwMDAwMDAwOEY5NzRDMDBBQzYyMEZCNDMwODRGRkZCOEZBMzAwMTgyNDQyMDAwQzE0NDMwMDAyQUY4MDQ2MEM4RkEyMDAxNEFFNDAwMDNDQzIKKzoyQzA0RjgwMEFGQTIwMDFDNEQwMUZGRkYwMDAwMDAwMEFDQTUwMEU0MTAwMEZGMTNBRjk3NEMwMDAwRTBGODA5MDNFMDM4MjExMDAwRkYwRjAwMDAwMDAwMTA0MDAwNUI1MAorOjJDMDUyNDAwODY3RTAwMDgyNzlEMEYxODMzREUwMDYwMDNCRUU4MjEwMDFFMTBDMjAzQTJFODIxOEZCNzAwMDg4RkEyMDAwQzhFRjYwMDA0MTJFMjAwMjg4NjYyMDAwOEJDCis6MkMwNTUwMDA4MjAzMDAxMDAwMDIxNzQwMDQ0MTAwMTkyNDYzMDAwMTEwNjAwMDE3M0MwMkQxQjAwMDUwMTAyNjREMDFGRkZGMDAwMDAwMDA4RjlFNEMwMEFDNTYwMDEwMDgKKzoyQzA1N0MwMDI2RDZGRkZFODYwMjAwMTAzQzAzQ0ZCMDM0NjMyMDAwQTY2MjAwMkE4RUUyMDAwMDI2RjcwMDA4QUU2MjAwMzg4RkEyMDAyMEFGQjcwMDA4MjQxN0ZGRkY0NgorOjJDMDVBODAwMDJDMkE4MjE0RDAxRkZGRjAwMDAwMDAwQUY5RTRDMDAwM0UwMDAwOEFFNzUwMDMwOEVFMjAwMDAyNkY3MDAwOEFFNjIwMDM4OEZBMjAwMjBBRkI3MDAwOERCCis6MkMwNUQ0MDAyNDE3RkZGRkE2NzcwMDJBMDJDMkE4MjEzQzAzQ0ZCMDAzRTAwMDA4QUU3NTAwMzAwMDFFMThDMjAwNjUxODIxOEM2MzAwQzg4RkEyMDAxMDAwMDAwMDAwNjQKKzoyQzA2MDAwMDAwNjJCMDIzMUVDMDAwMDM4RkExMDAwNDEyQzAwMDFCMDAyMkIwMjMyRUMzMDA0MTE0NjAwMDAyM0MxNTAwNDAyNDE2MDA0MDAwMTYxRTgwMDAwMzE4ODI5RQorOjJDMDYyQzAwMDA3NTE4MjU0RDAxRkZGRjAwMDAwMDAwOEY5NTRDMDAwMDFFQjg0MDAwNzcxODIxQUM2MjREMDAwMDU2MTAyMTE0NDEwMDAyMjc4MzBEMDA4RkEyMDAwMDRECis6MkMwNjU4MDAwMkUzQjgyMUFGQTIwMDEwMDJENzE4MjFBRkEzMDAwQzREMDFGRkZGMDAwMDAwMDA4RUY2MDAwNDEwMDBGRkI1QUY5NTRDMDAzQzE2REVBREFFNzYwMDNDODIKKzoyQzA2ODQwMEFFNjAwMDM4MjZENUZGRkYwMDAwMTAyMTAzRTAwMDA4QUU3NTAwMzAyQzQzMEFCMjEwNjAwMDA1MkM0MzI0QjIxMDAwMDAwNDI0MDIwQUIyMTAwMDAwMDJBRgorOjJDMDZCMDAwMjQwMjI0QjExMDYwRkZGRDMwNDMwMUZGMDAwMzE4NDAzQzFEQTBEMTI3QkRENkNDMDA3RDE4MjE5NDYzMDAwMDAwMDJFQTQyMDAwMzFDMDAyN0JERkZGQkMxCis6MkMwNkRDMDAwM0UwMDAwODAzQTMxMDA2MjQwMzBGQzBBRjgzNDUwMDEwMDAwMDAyMDEyMDYwMjEzQzBDQ0ZCMDExRTAwMDU2MDE4OTYwMjY4NUZFMDAwMDAwMDAwMDAwODkKKzoyQzA3MDgwMDEzQzAwMDQ3M0MwMkNGQjAwN0MwMDAyRDAwMUUxRjgwMDQ2MTAwMzQwMDFFMUZDMDA0NjAwMDA5M0MwMkQzQjAwMEUwRjgwOTAzRTAzODIxNEQwMUZGRkYxMAorOjJDMDczNDAwMDAwMDAwMDA4Rjg2NEMwMDhGOTkwRkVDMTAwMDAwMEJBRjk5NEMwMDAxRTI3ODI2MDBFMEY4MDkwM0UwMzgyMTREMDFGRkZGMDAwMDAwMDA4Rjg2NEMwMDFCCis6MkMwNzYwMDBBRjk5NEMwMEFERUYyMDEwM0MwMkQzQjAwMUUyNzgyNjhGODIwRkMwOEY4MzBGQzRBRjgyNEQwMDhERTIwMDA0QTVFMDAwMDBBQzYyMDAwMDhDNjIwMDAwOTQKKzoyQzA3OEMwMDI0MDIwMzgwQUY4MjREMDA4RjgyNEQwMDhGODIwRjE0MjQ2MzAwMDQxNDYyMDAwMjI0MTlGRkZGOEY4MzBGMTBBQ0E1MDBFNEFGODMwRkM0NEQwMUZGRkY5MworOjJDMDdCODAwMDAwMDAwMDA4RjgyNEM4MDEwMDAwMDFGQURFMjAwM0MwMEUwRjgwOTAzRTAzODIxNEQwMUZGRkYwMDAwMDAwMEE1RTAwMDAwOEY4NjRDMDAxNTgwMDAyMjM4Cis6MkMwN0U0MDBBRjhGNDU0MDEwMDAwMDE3MDFFMjc4MjYwMEUwRjgwOTAzRTAzODIxNEQwMUZGRkYwMDAwMDAwMDhGODY0QzAwQUY5OTRDMDBBREVGMjAxMDNDMDJDRkIwOTcKKzoyQzA4MTAwMDAxRTI3ODI2QTVFMDAwMDA0RDAxRkZGRjAwMDAwMDAwMTAwMDAwMDc4Rjk5NEMwMDAwRTBGODA5MDNFMDM4MjE0RDAxRkZGRjAwMDAwMDAwOEY4NjRDMDAxNQorOjJDMDgzQzAwOEY5OTBGRUMxNTgwMDAwQUFGOEY0NTAwMDAwMDc4MjExMDAwMDAxNEFGMTkwMDE0MDBFMEY4MDkwM0UwMzgyMTREMDFGRkZGMDAwMDAwMDAxMTgwRkZGOEMxCis6MkMwODY4MDA4Rjg2NEMwMDg1MjIwMDAwMDEyMDc4MjEwNDQwMDAwQThEMjkwMDA4MTMwQjAwMDQwMDBDMTYwMkFGMTkwMDE0OEQ3OTAwMTQwMTYwQzAyMUFGOTk0QzAwODQKKzoyQzA4OTQwMEFEOEU0MDEwMzA0MjAwM0YwMUMyNzAyMTAwMDQxNzgwMDQ0MDAxOEI4RjgyNEEwMDMwODE4MDAwMzA0MjAwMDQxNDQwRkY4RDhENEIwMDAwMTAyMDAwMEM0NworOjJDMDhDMDAwMzA4NDdGRkY4RjgyMEM0ODAxMjBGMDIxMjQ0MzAwMzQ4QzVEMDAwQzI0NDIwMDA0QUZERDAwMEMxNDYyRkZGQzI3REUwMDA0QTUyMTAwMDAxMDAwRkY4MkUwCis6MkMwOEVDMDAyNTA4MDAwODExNjAwMDU4MDAwMDAwMDA4NTdEMDAwODhENjMwMDBDOTU2MjAwMEE4RDQxMDAwNDA3QTEwMDI2MDA2MjE4MjFBNTYzMDAwQTAwMDMxQzAyNkQKKzoyQzA5MTgwMDA0MTEwMUEwMDAwMzE4QzAwMDFEMTZDMDA0NDEwMDFGMjdBMjAwODAwMDAyMUNDMDA0NjEwMDBFMDA0MEU4MjEyN0JEMDA4MDk1NjIwMDAwOTU2MzAwMDI5MworOjJDMDk0NDAwMzQ0MjAwMENBRDIyMDAwQzI0MDIwMTAwQTUyMjAwMTA5NTYyMDAyQ0E1MjMwMDE0QTUyMjAwMTJBNTIwMDAxNjM0MDI4MDAwQTUyMjAwMDBBNTdEMDAwOEQyCis6MkMwOTcwMDAwN0EwMDAwQzhGODIwQzRDOEY4MzBDNTAyNDQxRkZFODAwMjNGMDJCMTNDMDAwMDIwMDIwMTAyMTI0NDIwNDAwOTQ1RTAwMDAyNDQxRkZGRTE3QzBGRkY5OTQKKzoyQzA5OUMwMEFENjIwMDEwQTQ0QjAwMDAxNDJCMDAxQ0FENDAwMDAwQUQ0MDAwMDQyNTRBMDAwODMxNDIwMDdGMTQ0MDAwMEUwMDA0MTc4MDA0NDEwMDAzOEY4MjBGRTAzQQorOjJDMDlDODAwMTAwMDAwMDYzNDg0MDAwMTM0ODQwMDAyMjQ0MjAwMDgzNDQyMTAwMDM4NDIxMDAwQUY4MjBGRTAzNTRBMDEwMDM5NEEwMTAwMzk0MjAwODBBRjgyMEZFNEI5Cis6MkMwOUY0MDAwMDFEMTRDMDA0NDEwMDAzMzNBMkVGRkYxMDAwRkYzQ0E1NjIwMDA4MDdBMDAwOUYzM0EyRkZGRTEwMDAwMDIxQTU2MjAwMDg4RDYyMDAyNDAwMUQxQ0MwMUQKKzoyQzBBMjAwMDA0NjEwMDA0QUQ0MjAwMDAzM0EzRUZGRjEwMDBGRjMxQTU2MzAwMDgwN0EwMDAwNTMzQTNGRkZFQTU2MzAwMDg4RDRCMDAwMDEwMDBGRkFBMDAwMDAwMDAxRQorOjJDMEE0QzAwMTAwMDAwOEUyNTA4MDAwODI1NEEwMDA4MzE0MjAwN0YxNDQwMDAwRTAwMDQxNzgwMDQ0MTAwMDM4RjgyMEZFMDEwMDAwMDA2MzQ4NDAwMDEzNDg0MDAwMjc0Cis6MkMwQTc4MDAyNDQyMDAwODM0NDIxMDAwMzg0MjEwMDBBRjgyMEZFMDM1NEEwMTAwMzk0QTAxMDAzOTQyMDA4MEFGODIwRkU0MTEwMDAwMDM4RDRCMDAwMDEwMDBGRjkzMDMKKzoyQzBBQTQwMDI1MDhGRkY4OEY4MjBGRDg4RjgzMEZEQzhGODEwRkQ0MTA2MjAwMUQyNDYyMDAwODREMDFGRkZGMDAwMDAwMDA4RjhDNEMwMDg0N0YwMDAwM0MxRTAwRDExQworOjJDMEFEMDAwMzNGRDAzRkYwMDFENTk4MDAxN0U1ODIxODU3RTAwMDgwMDFERTkwMDAwMUUwRjAwMDNFMUY4MjUwN0UwMDAwM0FGODIwRkRDODc5RTBDQTAyNzhCMEM5ODZFCis6MkMwQUZDMDAwN0MxMDA0MjNDMDIwODQwM0MwMUY3QjA4RDYyMDAyMDAwMjMwODI2QUMyMjAwMDA4QzYyMDAwNDk0NjMwMDAyMjQ0MkZGRjgwMDQzMTAyMTEwMDAwMDRFMTIKKzoyQzBCMjgwMEFENjIwMDIwOEY4MjBGRDA4NzgzMENBMDE0MjIwMDA3Mjc4QjBDOTg0MTAwMDA1MTNDMDE4MDAwQUNBMTAwRTA4Q0ExMDBDNDAwMDAwMDAwMTAyMjAwNEM0RQorOjJDMEI1NDAwMDAyMkU4MjM4RjlGMEYwQzA3QTEwMDAyQUY4MTBGRDQwM0UyRTgyMzJGQTMwMDQxMTQ2MDAwMDIzQzFFMDA0MDI0MUQwMDQwMDAxRDFFODAwMDAzMTg4MjU2Cis6MkMwQjgwMDAwMDdFMTgyNTREMDFGRkZGMDAwMDAwMDA4RjhDNEMwMEFDNjI0Q0MwMDA1RDEwMjExNDVGMDAwMjI3ODMwQ0MwOEY4MjBGMDgwM0EzRjAyMUFGODIwRkQwNTkKKzoyQzBCQUMwMEFGOUUwRkQ4NEQwMUZGRkYwMDAwMDAwMDEwMDBGRkMzMjQ2MjAwMDg4RDYzMDAwQzhEN0QwMDEwQTU2MzAwMEExM0EwMDAwMjAwMDMxQzAyQTdBMDAwMDBGOAorOjJDMEJEODAwMDAwMzE4QzAwNDExMDBFRjAwNjgxODIxNEQwMUZGRkYwMDAwMDAwMDhGODIwQzQ0OEY4MzBDNDBBRDYyMDAxMEE1NjMwMDA0QTU2MzAwMDYxMDAwMDAyMUZDCis6MkMwQzA0MDBBRjhDNEMwMEE1N0QwMDAwOEM3RDAwMDQ5NDYzMDAwMkFDNUQ0QzQwMjdBMjAwMDhBRDYyMDAxODAzQTNFODIxMjdCREZGRjRBRDdEMDAxQzI3QkQwMDA0RDQKKzoyQzBDMzAwMEFEN0QwMDIwMzdDMTgwMDEwMDFFMTdDMDA0NDFGRkUwQTU2MTAwMDg0RDAxRkZGRjAwMDAwMDAwOEY4MjBDNDQ4RjgzMEM0MEFENjIwMDEwQTU2MzAwMDQ3OAorOjJDMEM1QzAwQTU2MzAwMDY4RjgyMEZEODhGODMwRkRDNEQwMUZGRkYwMDAwMDAwMDE0NjJGRjk1MjQ2MjAwMDhBRjhDNEMwMDg3ODMwQ0EwMjc4QjBDOTgwNDYxRkU5N0Y4Cis6MkMwQzg4MDAwMDA0MTcwMDA0NDAwMDA1OTU2MjAwMDAxMTc4MDAwNjAwMDAwMDAwQUYwRTAwMTBBNzBEMDAwNDMwODRGRkY3OTU2RDAwMDQ4RDZFMDAxMDI1QURGRkQwNzUKKzoyQzBDQjQwMDA1QTFGRThGQUQyMjAwMEMzQzBDRkZCMDAxODk2MDI2MDAwRDE4MjIyNUFEMDAzMDhEN0UwMDE4OEQ2MTAwMUM0RDAxRkZGRjAwMDAwMDAwMTAzRTAwMzZCOQorOjJDMENFMDAwOEY5RDRDMDAzQzAxMDg0MEFDM0U0QzQwMjdERTAwMDgxMUEwMDAxN0FEN0UwMDE4MDAwREY2MDAwMTlFNjAyNTREMDFGRkZGMDAwMDAwMDBBRDhFNDAxMDVGCis6MkMwRDBDMDA4RjhEMEM0MDk1N0UwMDA2OEY4RTBDNDQwM0NERjAyMUE1N0UwMDA2MDAwQ0Y3ODIwMDBDMEUwMjAzQzFGMDIxMDAxRTBGODAwMDBDNjIwMDAwMEM2MjAyQzIKKzoyQzBEMzgwMDAxODE2MDI1MzNERTAwM0MwMTlFNjAyMTM0MDEwMDAxMTAwMDAwMDhBNTIxMDAwMDk1N0UwMDA2NEQwMUZGRkYwMDAwMDAwMDhGOEQwQzQwOEY4RTBDNDRDRAorOjJDMEQ2NDAwMDNDREYwMjFBNTdFMDAwNjREMDFGRkZGMDAwMDAwMDAwMUEzRjAyQjE3QzAwMDA4MDAwM0Y2MDAwMUEzNjgyMzAxOUU2MDI1MDE4OTYwMjY0RDAxRkZGN0NGCis6MkMwRDkwMDAwMDAwMDAwMDEwMDBGRTU4QUY5RDRDMDA4RDdFMDAxODhENjEwMDFDMDAwMDAwMDAxNDNFRkZDRTAwNkQxODIzNEQwMUZGRkYwMDAwMDAwMDJDNjEwMDA4NjQKKzoyQzBEQkMwMDEwMjAwMDE3OTU2MTAwMDgwMDAwMDAwMDAwMDFGRjgwMDdFMDAwMEIzNDIxMDAwMjAwNkQxODIxMDAwMzFFMDAwMTgzNjAyNTAxODk2MDI2MjQwRDAwMkNDMAorOjJDMERFODAwQTU2MTAwMDg0RDAxRkZGRjAwMDAwMDAwMTAwMEZFNDBBRjlENEMwMDNDMUYwQzQwQUZGRTRGQTgzMDIxRkZGREE1NjEwMDA4M0MwQ0QzQ0YzNThDRTAwMDZFCis6MkMwRTE0MDAxMDAwMDAwODM0MDMwMDAyM0MxRjBDNDBBRkZFNEZBODExQTBGRkY5MDAwREY2MDAzNDAzMDAwMzAxOUU2MDI1MDE4OTYwMjYzNDg0MDAwODM0NDIwMDAyQzQKKzoyQzBFNDAwMEFEMjIwMDBDOTU2MjAwMDZBNTIzMDAwMEFEMjIwMDM4NEQwMUZGRkYwMDAwMDAwMDg1N0UwMDA4OEY4MjBGQTg5NzgzMEZBQ0FEMjIwMDA0MzNDMTdGRkZBNgorOjJDMEU2QzAwQUQ2MDAwMTBBNTYxMDAwODEwNjBGRTIwQUY5RDRDMDBBNTdFMDAwODAwMDMxOTAwMzA2MzNGRjBBNTYzMDAwMDhGODIwRkIwM0MwMzA4NDBBQzYyNEM0MDA3Cis6MkMwRTk4MDAyNDQzMDAwOEFENjMwMDE4OTc4MzBGQUUyNDQyRkZGNDAwNjIxODIxQUQ2MzAwMUM0RDAxRkZGRjAwMDAwMDAwOEY4RDBDNDA4RjgzMEM0NEE1NkQwMDA0NzQKKzoyQzBFQzQwMEE1NkQwMDA2QUQ2MzAwMTAxMDAwRkUwQUFGOUQ0QzAwOEY4MjBGRTAwMDA0MEZDMDhDNDMwMDAwMDQyMTAwMUI4RjlGMEZFNDhDNUQwMDA0QUM0MDAwMDQzQQorOjJDMEVGMDAwMTA2MDAwMEVBQzQwMDAwMDAwMDAwMDAwOTQ2MjAwMjgwMDAwMDAwMDAwNUYxMDIwOEM0MTAwMDQwMDAwMDAwMDEwMjAwMDAzQUM0MzAwMDQxMDAwMDAwMkI2Cis6MkMwRjFDMDBBQzIzMDAyNEFDNDMwMDAwMTdBM0ZGRjQ4QzYzMDAyNDhGODIwRkUwM0JGRjAwODAyNDQyMDAwODM0NDIxMDAwMzg0MjEwMDBBRjgyMEZFMEFGOUYwRkU0NkUKKzoyQzBGNDgwMDEwMDBGRTU3MzA4NEZGRkUxMDYwMDAxMDAwMDAwMDAwOTQ3RDAwMjgwMDAwMDAwMDAzQkZFODIwOEZBMTAwMDRBRkEzMDAwNDEwMjAwMDAzOEM1RTAwMDQzOQorOjJDMEY3NDAwMTAwMDAwMDJBQzIzMDAyNEFGQTMwMDAwOEM2MTAwMjQxN0MzRkU0OEFDNDEwMDAwQUM0MDAwMDRBQzQwMDAwMDEwMDBGRTQ0MzA4NEZGRkQyQzYyMDEwMDZGCis6MkMwRkEwMDAxNDQwMDAwRTAwNkExMDIxMzE0MzAwN0YwMTQzMTgyMzAwNDMxODIzMzA2MjAwN0ZBNTYyMDAyODAwNjIxODIzMDAwMzE5MDI4RjgyMEZFMDI0NjNGRkY4QkYKKzoyQzBGQ0MwMDAwNjIxODIxMzQ2MzEwMDAxMDAwMDAwMzM4NjMxMDAwMzQ0MzAxMDAzODYzMDEwMDhDNjIwMDA0MDAwMDAwMDAxMDQwMDAwM0FDNkIwMDA0MDNFMDAwMDg5QQorOjBDMEZGODAwQUM0QjAwMjQwM0UwMDAwOEFDNkIwMDAwRDAKKzowMjAwMDAwNEEwRDA4QQorOjJDRDUwMDAwMDAwMDAwMDJBMEQwRTAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwNjAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwODAwMDAwMDAyQTBEMEQ2NDgwMDAwMDAwMEY3Cis6MkNENTJDMDAwMDAwMDg4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQzMTMyMDAyNDMxMzIwMDI0MzEzMjAwMDAwMDAwMDAyNDRENDM1MjI0MjA0MzZGQjIKKzoyQ0Q1NTgwMDcwNzk3MjY5Njc2ODc0MjAyODYzMjkyMDRENjE2NDY3NjUyMDRFNjU3NDc3NkY3MjZCNzMyMDRDNzQ2NDIwMzEzOTM5MzUyRTIwNDE2QzZDMjA3MjY5Njc0QworOjJDRDU4NDAwNjg3NDczMjA3MjY1NzM2NTcyNzY2NTY0MkUwMDRENjE2NDY3NjUyMDQxNkQ2MjYxNzM3MzYxNjQ2RjcyMjA3NjMxMkUzMDMxMDAwMDAwMDAwMDAwMDAwMTJDCis6MkNENUIwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoyQ0Q1REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjJDRDYwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MENENjM0MDAwMDAwMDAwMEZGRjA0MDAwMDAwMDAwMDBCQgorOjJDRjAwMDAwMEMzNDNFMkQwMDAwMDAwMDNDMUNBMEQxMjc5QzU2MzgzQzFEQTBEMTI3QkRERkQwM0MwOEEwRDEyNTA4REZEMEFGODc4MDA4MEMzNDNDMTMwMDAwMDAwMEU0Cis6MkNGMDJDMDAyNDA0MDAwMzAwOTcwMDBEM0MwOEJGQzAzNTA4MDIzMDhEMDgwMDAwMDAwMDAwMDAwMTAwMDAwODAwMDAwMDAwMjdCREZGRDBBRkJGMDAxQ0FGQjEwMDE4NjQKKzoyQ0YwNTgwMEFGQjAwMDE0M0MxMUZGRjAwMDAwODAyMTNDMTgwMDU2MzcxODNCNzkyNjE5MDIwMDE3MjAwMDAyMDMxOTAwMUEwMDA3MDAwRDI0MDFGRkZGMTcyMTAwMDU2QgorOjJDRjA4NDAwMDAwMDAwMDAzQzAxODAwMDE3MDEwMDAyMDAwMDAwMDAwMDA2MDAwRDAwMDAxMDEyMDAxMDE4NDAzQzA1QTBEMTI0QTVENkNDMDBBMzIwMjFBNDgyMDAwMEM1Cis6MkNGMEIwMDAyNjEwMDAwMTJBMDEwMjAwMTQyMEZGRUEwMDAwMDAwMDNDMDZBMEQxMjRDNkY5RTQzQzA3QTBEMTI0RTdENjQ4QUNFNjAwMDAzQzA4QTBEMTI1MDhGQjE0RDkKKzoyQ0YwREMwMEFDRTgwMDA0M0MwOUEwRDEyNTI5RkM5NEFDRTkwMDA4M0MwQUEwRDEyNTRBRkNENEFDRUEwMDBDM0MwQkEwRDEyNTZCRkJBOEFDRUIwMDEwM0MwQ0EwRDE1QworOjJDRjEwODAwMjU4Q0ZCQzRBQ0VDMDAxNDNDMERBMEQxMjVBREZCRTBBQ0VEMDAxODNDMEVBMEQxMjVDRUZCRkNBQ0VFMDAxQzNDMEZBMEQxMjVFRkZDMThBQ0VGMDAyMEFECis6MkNGMTM0MDAzQzE4QTBEMTI3MThGQzM0QUNGODAwMjQzQzE5QTBEMTI3MzlGQzUwQUNGOTAwMjgzQzAyQTBEMTI0NDJGQzYwQUNFMjAwMkMzQzAzQTBEMTI0NjNGQzcwQTYKKzoyQ0YxNjAwMEFDRTMwMDMwM0MwNEEwRDEyNDg0RkM4MEFDRTQwMDM0M0MwNUEwRDEyNEE1RkNCNEFDRTUwMDM4M0MwNkEwRDEyNEM2RkUwOEFDRTYwMDNDM0MwOEEwRDExMQorOjJDRjE4QzAwMjUwOEZFOTBBQ0U4MDA0MDNDMDlBMEQxMjUyOUZBMzhBQ0U5MDA0NDNDMEFBMEQxMjU0QUZBNzRBQ0VBMDA0ODI0MTAwMDEzM0MwQkEwRDEyNTZCRjlEOEU3Cis6MkNGMUI4MDAwMDEwNjA4MDNDMEVBMEQxMjVDRUQ2NDgwMUNDNjgyMUFEQUIwMDAwMjYxMDAwMDEyQTAxMDAyMDE0MjBGRkY2MDAwMDAwMDA4Rjk4ODAwMDAwMDAwMDAwNkYKKzoyQ0YxRTQwMEFGMDAwMTAwOEY4MjgwMDAyNDE5MDNGRkE0NTkwMjAyMDAwMDgwMjE4Rjg2ODAwMDI0MDMwRkZGMDAxMDIwNDAyNEM3MDM4MDAwRTQyODIxQTRBMzAwMDBDMQorOjJDRjIxMDAwMjYxMDAwMDEyQTAxMDAwODE0MjBGRkY3MDAwMDAwMDA4Rjg5ODAwMDM0MDg5QzQwQUQyODAzQTA4RjhCODAwMDNDMEEwMEZGMzU0QUZGRkZBRDZBMDNBNEZDCis6MkNGMjNDMDAwMDAwODAyMThGOEY4MDAwMjQwQzBGRkYwMDEwNjg0MDI1RjgwMzAwMDMwRDcwMjFBNUNDMDAwMDI2MTAwMDAxMkEwMTAwMDgxNDIwRkZGNzAwMDAwMDAwQUIKKzoyQ0YyNjgwMDhGODI4MDAwMzQxOTlDNDBBQzU5MDMyMDhGODQ4MDAwM0MwMzAwRkYzNDYzRkZGRkFDODMwMzI0OEY4NjgwMDAyNDA1MDJGRkE0QzUwMjAyM0MwOEEwQzAwQworOjJDRjI5NDAwMzUwODAxODAzQzA5QTBEMTI1MjlENUI4MjUwQTAwMjg4RDBCMDAwMDhEMEMwMDA0QUQyQjAwMDBBRDJDMDAwNDI1MDgwMDA4MTUwQUZGRkEyNTI5MDAwODFCCis6MkNGMkMwMDA0MDAyNjAwMDAwMDAwMDAwQUZBMjAwMjgyNDAzMDAyMjNDMDRBMEUwMzQ4NDAwMTRBQzgzMDAwMDhGQTUwMDI4MDAwMDAwMDAzNEE2MTAwMTAwQzAxMDIxQ0IKKzoyQ0YyRUMwMEFGQTYwMDI4M0MwN0ZGQkYzNEU3RkZGRjAwQzczODI0MDBFMDEwMjFBRkE3MDAyODQwODc2MDAwMDAwMDAwMDAzQzA4MDAwMjM1MDhEODkwM0MwOUZGRkU1OQorOjJDRjMxODAwMzUyOTAxMzBBRDI4MDAwMDhGQUEwMDI4M0MwQkYwMDAwMTRCNTgyNTAxNjAxMDIxQUZBQjAwMjgwMTYwNjAyMTQwOEM2MDAwMDAwMDAwMDAwMDAwODAyMTQxCis6MkNGMzQ0MDAwMDEwNzA4MDAyMkU3ODIxQURFMDAwMDAyNjEwMDAwMTJBMDEwNDAwMTQyMEZGRkEwMDAwMDAwMDI0MTgwMDAxM0MxOUEwRThBRjM4MDAwMDI0MDIwMDExN0MKKzoyQ0YzNzAwMDNDMDNBMEYwMzQ2MzAwMTdBMDYyMDAwMDNDMDRGMEVCMzQ4NDAwNzAzQzA1RkZGMDM0QTU0QTAwQUNBNDAwMDAzQzA2RkNFQjM0QzYwMDcwQUNBNjAwMDAyNworOjJDRjM5QzAwM0MwN0ZGRjAzNEU3NDcwMEFDRTAwMDAwMDAwMDgwMjEzQzA4RkZGMDM1MDgwRkMwM0MwOUZGRjAzNTI5NDUwMEFEMjgwMDAwMjYxMDAwMDEyQTAxMDAwNDMzCis6MkNGM0M4MDAxNDIwRkZGODAwMDAwMDAwMDAwMDgwMjEzQzBBREVBRDAwMTA1OTgwM0MwMTAwRDEwMDJCMDgyMUFDMkEwMDNDM0MwMTAwRDEwMDJCMDgyMUFDMjAwMDMwQzEKKzoyQ0YzRjQwMDNDMDEwMEQxMDAyQjA4MjFBQzIwMDAzODI0MERGRkZGM0MwMTAwRDEwMDJCMDgyMUFDMkQwMDE0MDAxMDcxMDAzQzAxMDBEMTAwMkIwODIxQTQyRTAwMDA1NAorOjJDRjQyMDAwM0MwMTAwRDEwMDJCMDgyMUE0MjAwMDA0MjQxODAwMjAzQzAxMDBEMTAwMkIwODIxQTQzODAwMDgzQzAxMDBEMTAwMkIwODIxQUMyMDAwMTAyNjEwMDAwMTdGCis6MkNGNDRDMDAyQTAxMDQwMDE0MjBGRkUwMDAwMDAwMDAwMDAwODAyMTAwMTAxOEMwM0MwNUEwRDEyNEE1RTAwMDAwQTMyMDIxQUM4MDAwMDAzQzA3QTBEMTI0RTdFMDAwQkYKKzoyQ0Y0NzgwMDI0RTgwMDA0MDEwMzMwMjFBQ0MwMDAwMDI2MTAwMDAxMkEwMTAwMDkxNDIwRkZGMzAwMDAwMDAwMjQwOTAzODAzQzBBRkZGMDM1NEE0RDAwQUQ0OTAwMDA1RgorOjJDRjRBNDAwM0MwQ0EwODAzNThDMDA5Q0FEODAwMDAwM0MwREEwODAzNUFEMDBBMEFEQTAwMDAwM0MwRTExMDAzQzBGQTA4MDM1RUYwMEE4QURFRTAwMDA0MTAxMDAwM0EwCis6MkNGNEQwMDAwMDAwMDAwMDQxMDBGRkZGMDAwMDAwMDAzQzE4QTA4MDM3MTgwMEUwOEYxOTAwMDAzQzAxQTBEMUFDMzlENkM4MEMzNDNENDMwMzIwMjAyMThGQjAwMDE0REUKKzoyQ0Y0RkMwMDhGQkYwMDFDOEZCMTAwMTgwM0UwMDAwODI3QkQwMDMwMDA4MEI4MjEzQzFDRkZGMEEzODAwQzg0QTM4MDBDODg4RjkwNDQwMDAwMDAyMDIxQUY4MDBDQkM3RQorOjJDRjUyODAwMjQwMjAwQTgyNzgzMEYwMDJDNUQwMDQwMTdBMDAwMEMzQzFERkZCMDAzQTNFODI2QUZCNzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RDAxRkZGRkY2Cis6MkNGNTU0MDAwMDAwMDAwMDI0NDJGRkMwMjQ2MzAwNDAxMDAwRkZGMzI2RjcwMDQwMTA0MDAwMEQwMDAwMDAwMDAwMDJFRTAwM0MwMTAwNDAwM0ExRTgyNTNDMDFGRkYwOTkKKzoyQ0Y1ODAwMDAzQTFFODI2MDNBM0U4MjZBRkI3NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDREMDFGRkZGMDAwMDAwMDAzQzA1QTA4MDhGODIwRjA4MDAwMDAwMDA3RQorOjJDRjVBQzAwQUY4MjBGRDRBRjgyMEZEMEFDQTIwMEM0OEY4MjBGMTAwMDAwMDAwMDAwMDIxRDgyQUY4MzBGQzAwMDAzMUQ4MDAwNDMxMDIzM0MwMUEwODAwMDQxMTAyNTQyCis6MkNGNUQ4MDBBRjgyMEZDNEFGODIwRjEwOEY4MjBGMTQwMDAwMDAwMDAwNDMxMDIzM0MwMUEwODAwMDQxMTAyNUFGODIwRjE0MjQwMzAwMDMyNzlEMEYxODI0QkUwMEM4MjMKKzoyQ0Y2MDQwMDI3ODEwRDAwOEZBMjAwMDAwMDAwMDAwMEFGQTIwMDEwQUZDMjAwMDBBRkExMDAwOEFGQTEwMDBDOEZBMjAwMTQwMDAwMDAwMEFGQTIwMDFDMjdCRDAwMjRCNAorOjJDRjYzMDAwMjdERTAwMDQyNDIxMDA0MDE0NjBGRkYzMjQ2M0ZGRkY4RjgyMEYwMDAwMDAwMDAwQUY4MjBGQzhBQ0EyMDBDMDI3ODIwODAwMjQwMzAwMEZBQzQwMDAwMDJDCis6MkNGNjVDMDAyNDQyMDAwNDE0NjBGRkZEMjQ2M0ZGRkY4RjgzMEZDMDAwMDAwMDAwQUY4MzREMDA4RjgzNEQwMDhGODMwRjE0OEY4MjBGMTAyNDYzRkZGQ0FDNDAwMDAwOTEKKzoyQ0Y2ODgwMDE0NDNGRkZFMjQ0MjAwMDQyNDAyMDM4MEFGODI0RDAwMjc5RDBGMTgyN0ExMDA5MDhGQTIwMDE0OEZBMzAwMTgwMDAwMDAwMDAwNjIxODIzMkM3RjAwNDAxNworOjJDRjZCNDAwMTdFMDAwMDkzQzFGMDA0MDM3RkYwODAwMDNBMEYwMjE0RDAxRkZGRjAwMDAwMDAwQUZFMjAwMDAyNDQyMDA0MDEwMDBGRkY2MjQ2M0ZGQzAxMDYwMDAwNjU5Cis6MkNGNkUwMDAzN0ZGMDgwMDAwMDMxRTAwMDNFM0Y4MjU0RDAxRkZGRjAwMDAwMDAwQUZFMjAwMDAyN0JEMDAyNDE3QTFGRkU4MDAwMDAwMDAwMDAwMzgyMThGQzIwMDE0NUEKKzoyQ0Y3MEMwMDhGQzMwMDE4MDAwMDAwMDAwMDYyMTgyMzJDN0YwMDQwMTNFMDAwMDQzQzFGMDA0MDAwMDMwRTAwMTAwMDAwMDIwM0UxRjgyNTI0MDMwMDQwMzdGRjA4MDA4NAorOjJDRjczODAwMjQxRTAzRTcwMDAwMDgyMTREMDFGRkZGMDAwMDAwMDBBRkUyMDAwMDAwMjMwODIxNDkwMEZGRkIwMDAwMDAwMDg3ODA0MDAyMTdDMEZGRjgyN0RFRkZGRkNBCis6MkNGNzY0MDAxNEUwMDAwNDM0RTc0MDAwMDNFN0Y4MjUxMDAwRkZGMEFGODEwQzYwQUY4MTBDNUMzQzAxQTBEMThDMjJENkM4MDAwMDAwMDAzQzAxQTA4MEFDMjIwMEUwRTcKKzoyQ0Y3OTAwMDNDMDFBMDgwOEMyMDAwRTBBRjgwMEZCNEE3ODAwRkI4QTc4MDBGQkFBNzgwMEZCQ0E3ODAwRkJFMjc4MjBDQzBBRjgyMEZEQ0FGODIwRkQ4M0MwMkEwRDE1NgorOjJDRjdCQzAwMjQ0MkRBQ0NBRjgyMEM0Q0FGODIwQzUwMjQ0MjA0MDBBRjgyMEM1NDI0MDIwMDFFM0MwM0ZGRjAyNDdEMDA0MEFDN0QwMDA4MDNBMDE4MjExNDQwRkZGQzU1Cis6MkNGN0U4MDAyNDQyRkZGRjNDMURGRkYwQUM3RDAwMDgzQzAyQzcwNDM0NDJERDdCQUY4MjBDNTgzQzA3MDAwMDI0RTcwMTU4MDgzNDNGQTkwMDAwMDAwMDhFNjIwMDM4QjkKKzoyQ0Y4MTQwMDAwMDAwMDAwMTQ0MDAwMDU4RjgzMEM5NDEyQTAwMDIyMjQ2MzAwMDExMDAwMDAyMEFGODMwQzk0QUY4MjBGQjQzMjYyRkZDMDAwMDIxMTgyODY2MzAwMkE3MAorOjJDRjg0MDAwQTc4MjBGQjgzQzAyQTAwMEFGODIwRkJDQTc4MzBGQkE4NjdFMDAwODI3OUQwRjE4MzNERTAwNjAwM0JFRTgyMTAwMUVGMEMyMDNCRUU4MjE4RkEyMDAxQ0M2Cis6MkNGODZDMDAzQzAzMEM0MDREMDFGRkZGMDAwMDAwMDA4Rjk3NEMwMEFDNjIwRkI0OEZBMzAwMTgyNDQyMDAwQzE0NDMwMDAzMDAwMDAwMDA4RkEyMDAxNDAwMDAwMDAwRkIKKzoyQ0Y4OTgwMEFGQTIwMDFDNEQwMUZGRkYwMDAwMDAwMEFDQTUwMEU0QUY5NzRDMDAwM0UwMDAwOEFFNjAwMDNDM0MwREEwRDEyNUFERDUwMDExQTAwMDIxMDAwMDAwMDA1QworOjJDRjhDNDAwOERBOTAwMDAwMDAwMDAwMDExMjAwMDFEMDAwMDAwMDA4REFBMDAwNDhEQUIwMDA4OERBQzAwMEMwMDA5NDc0MDA1MDEwMDA0MDAwMDAwMDAzQzA4QTBEMTg1Cis6MkNGOEYwMDAyNTA4RDYzODAxNDg1MDIxMDAwOTQ3ODAwNTAxMDAwNzAwMDAwMDAwMTE4MDAwMEQwMDAwMDAwMEFENDAwMDAwMjU0QTAwMDQxMDAwRkZGQjI1OENGRkZDNjYKKzoyQ0Y5MUMwMDExODAwMDA3MDAwMDAwMDA4RDZFMDAwMDI1NkIwMDA0QUQ0RTAwMDAyNTRBMDAwNDEwMDBGRkY5MjU4Q0ZGRkMxMDAwRkZFMTI1QUQwMDEwMDNFMDAwMDhCOQorOjJDRjk0ODAwMDAwMDAwMDAzQzAyMTA0MEFDNTc0RkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RDAxRkZGRjAwMDAwMDAwOEY4MjBGRkMwMDAwMDAwMDVCCis6MkNGOTc0MDAzMDQyMDAxRjAwMDIxMDgwM0MxN0EwRDEwMkUyQjgyMTI2RjdENjQ4OEVGNzAwMDAwMDAwMDAwMDAyRTAwMDA4MDAwMDAwMDAyNDAyRkZGRkFGODIwRkZDQjkKKzoyQ0Y5QTAwMDhGOTcwRkM4M0MwMjEwNDBBQzU3MEZGMDhGODIwRjA0MjZGNzAwMTAxNkUyMDAwNEFGOTcwRkM4OEY5NzBGMDAwMDAwMDAwMEFGOTcwRkM4NEQwMUZGRkZBNgorOjJDRjlDQzAwMDAwMDAwMDAwM0UwMDAwODAwMDAwMDAwM0MxRkEwRDEyN0ZGRjAyQzEwMDBGRkVEOEY5NzBGRjAzQzAyMDBEMTMyRjcwM0ZGMDAxN0I5ODAwMkUyQjgyNUFBCis6MkNGOUY4MDBBRUUwMDAzQzI0MDJGRkZGQUVFMjAwMzBBRUUyMDAxNDk3ODMwRkY0OTc4MjBGRjgzQzFEMDAwMDI3QkQwNjk4QTZFMzAwMDhBNkUyMDAwMkFGOUYwRkU4MTkKKzoyQ0ZBMjQwMDAzQTBGODA5QTZFMjAwMkM4RjlGMEZFODEwMDBGRkQ5QUVFMjAwMEM4Rjk3MEZGMDNDMDIwMEQxMzJGNzAzRkYwMDE3Qjk4MDAyRTJCODI1OTc4MjBGRjQyOQorOjJDRkE1MDAwM0MwMzAwMDAyNDYzMDY5OEE2RTIwMDAyQUY5RjBGRTgwMDYwRjgwOUE2RTIwMDJDOEY5RjBGRTgxMDAwRkZDQUFFRTIwMDBDOEY5NzBGRjAzQzAyMDBEMTc0Cis6MkNGQTdDMDAzMkY3MDNGRjAwMTdCOTgwMDJFMkI4MjU5NzgyMEZGNDAwMDAwMDAwOTZFMzAwMDhBNkUyMDAwODAwNDMxMDI2MzA0MjAwNjAxMDQwRkZCRDhFRTIwMDNDRjIKKzoyQ0ZBQTgwMEFFRTAwMDNDMTA0MEZGQkEzQzAyODgwMEFGODIwRkJDOEVFMjAwMzhBRUUwMDAzODMwNjMwMDYwMjc5RDBGMTgwM0EzRTgyMTAwMDMxOEMyMDNBM0U4MjExNgorOjJDRkFENDAwOEZBMzAwMUMxMDQwRkZBRkFGODIwRkI0M0MwMjBDNDBBQzQzMEZCNDhGQTIwMDE4MjQ2MzAwMEMxNDQzMDAwMzAwMDAwMDAwOEZBMzAwMTQwMDAwMDAwMDBFCis6MkNGQjAwMDBBRkEzMDAxQzREMDFGRkZGMDAwMDAwMDAxMDAwRkZBMjAwMDAwMDAwOEY5NzBGRjAzQzAyMDBEMUE3OTcwRkI4MDAxN0I5ODAzMkY3RkZDMDAyRTJCODIxNDAKKzoyQ0ZCMkMwMEFFRTAwMDMwM0MwMkRFQUQ4RUUzMDAzQ0FFRTIwMDNDOEVFMjAwMzgxMDYwRkY5NUFFRTAwMDM4M0MwMzg4MDBBRjgzMEZCQzg2RTMwMDA4Mjc5NzBGMTgyMQorOjJDRkI1ODAwMzA2MzAwNjAwMkUzQjgyMTAwMDMxOEMyMDJFM0I4MjE4RUUzMDAxQzEwNDBGRjhBQUY4MjBGQjQzQzAyMEM0MEFDNDMwRkI0OEVFMjAwMTgyNDYzMDAwQzg0Cis6MkNGQjg0MDAxNDQzMDAwMzAwMDAwMDAwOEVFMzAwMTQwMDAwMDAwMEFFRTMwMDFDNEQwMUZGRkYwMDAwMDAwMDEwMDBGRjdEMDAwMDAwMDA4RjgyMEZGMDhGOTcwRkY0QjgKKzoyQ0ZCQjAwMDkwNDEwMDAwMDAwMDAwMDAwMDM3MDgyNTEwMDBGRjc2QTA0MTAwMDA4RjgyMEZGMDhGOTcwRkY0OTQ0MTAwMDAwMDAwMDAwMDAwMzcwODI1MTAwMEZGNkY5RQorOjJDRkJEQzAwQTQ0MTAwMDA4RjgyMEZGMDhGOTcwRkY0OEM0MTAwMDAwMDAwMDAwMDAwMzcwODI1MTAwMEZGNjhBQzQxMDAwMDhGODIwRkYwOEY5NzBGRjQ5MDQxMDAwMDQwCis6MkNGQzA4MDAwMkUwQjgyNzAwMzcwODI0MTAwMEZGNjFBMDQxMDAwMDhGODIwRkYwOEY5NzBGRjQ5NDQxMDAwMDAyRTBCODI3MDAzNzA4MjQxMDAwRkY1QUE0NDEwMDAwREIKKzoyQ0ZDMzQwMDhGODIwRkYwOEY5NzBGRjQ4QzQxMDAwMDAyRTBCODI3MDAzNzA4MjQxMDAwRkY1M0FDNDEwMDAwOEY4MjBGRjA4Rjk3MEZGNDEwMDBGRjRGQTA1NzAwMDA5RAorOjJDRkM2MDAwOEY4MjBGRjA4Rjk3MEZGNDEwMDBGRjRCQTQ1NzAwMDA4RjgyMEZGMDhGOTcwRkY0MTAwMEZGNDdBQzU3MDAwMDhGODIwRkYwMDAwMDAwMDA4QzQyMDAwMDdBCis6MkNGQzhDMDAxMDAwRkY0MkFGODIwRkY0M0MwMUEwQzI4QzIyQzAwMDAwMDAwMDAwQUY4MjBGRjAzQzAxQTBDMjhDMjJDMDA0MTAwMEZGM0FBRjgyMEZGNDNDMDFBMEQxNEUKKzoyQ0ZDQjgwMDhDMjJENUFDMDAwMDAwMDBBRjgyMEZGMDNDMDFBMEQxOEMyMkQ1QjAxMDAwRkYzMkFGODIwRkY0M0MwMkEwRjBBQzQwMDAwMDkwNTcwMTUzMDAwMDAwMDA3NgorOjJDRkNFNDAwQTM5NzBDODA5MDU3MDE1NzAwMDAwMDAwQTM5NzBDODE5MDU3MDE1QjAwMDAwMDAwQTM5NzBDODc5MDU3MDE1RjAwMDAwMDAwQTM5NzBDODY5MDU3MDE2M0JBCis6MkNGRDEwMDAwMDAwMDAwMDMyRjcwMDA3QTM5NzBDODU5MDU3MDE5MzAwMDAwMDAwQTM5NzBDOEI5MDU3MDE5NzAwMDAwMDAwQTM5NzBDOEE5MDU3MDE5QjAwMDAwMDAwQUUKKzoyQ0ZEM0MwMDMyRjcwMDA3QTM5NzBDODk5MDU3MDAwQjAwMDAwMDAwMzJGNzAwRTAwMDE3MDk0MjkwNTcwMDQ3MDAwMDAwMDAzMkY3MDA3ODAwMzcwODI1OTA1NzAwNjdCRQorOjJDRkQ2ODAwMDAwMDAwMDAzMkY3MDAwRjAwMTdCOUMwMDAzNzA4MjU5MDU3MDBDNzAwMDAwMDAwMzJGNzAwMkYwMDE3QkFDMDAwMzcwODI1OTA1NzAxNDcwMDAwMDAwMDE5Cis6MkNGRDk0MDAzMkY3MDAxRTAwMTdCQzAwMDAzNzA4MjU5MDU3MDE4MzAwMDAwMDAwMzJGNzAwNjAwMDE3QkMwMDAwMzcwODI1QUY4MTBDOEMzQzAyMTg0MDhGOTcwRkM4M0YKKzoyQ0ZEQzAwMDAwMDAwMDAwOEY5NzBGRjAwMDAwMDAwMEFDNTcwQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQwMUZGRkYxNworOjJDRkRFQzAwMDAwMDAwMDAzQzAyQTBEMTI0NDJGOTk4QUY4MDBDOTBBRjgwMEM5NDAwNDAwMDA4MDAwMDAwMDA4Nzk3MEZGMDNDMTMwMEQxQTY3NzAwMDgzQzAzMDAwMEMyCis6MkNGRTE4MDAyNDYzMDUyMEFGOUYwRkU4MDA2MEY4MDkyNDAyMDAwMThGOUYwRkU4MTA0MEZFREE5Nzk3MEZGMDI3ODMwRjE4MDA3NzE4MjEwMDE3QjhDMjAyRTNCODIxRkIKKzoyQ0ZFNDQwMDNDMDI4ODAwQUY4MjBGQkM4RTYyMDAzOEE3ODAwRkI4QUY4MjBGQjQ4RUUzMDAxQzNDMDIwQzQwQUM0MzBGQjQ4RUUyMDAxODI0NjMwMDBDMTQ0MzAwMDQ4NworOjJDRkU3MDAwQUVFMzAwMUM4RUUzMDAxNDAwMDAwMDAwQUVFMzAwMUM0RDAxRkZGRjAwMDAwMDAwMTAwMEZGREYwMDAwMDAwMDhGODIwQzVDOEY4MzBDNjBBRjgyMEZGMDI2Cis6MkNGRTlDMDAxMDAwRkVCRUFGODMwRkY0MjM4OTA4MDAwMTIwMTgyMTI0MDIwMDBGMjA2QzAwNDBBQzZDMDAwODAxODAxODIxMTQ0MEZGRkMyMDQyRkZGRkFDNjkwMDA4ODQKKzoyQ0ZFQzgwMDI3OEIwQzk4QTU2MDAwMDAyNDAzRkZGRkFENjMwMDE0MzQwMjAwMDEzNDQyMDAyMEE1NjIwMDA4Mjc4QTBFMDAwMTQwMTAyMTAwMDAxODIxQUM0MDAwMDAzOAorOjJDRkVGNDAwMjQ2MzAwMDQyQzZDMDEwMDE1ODBGRkZDMjQ0MjAwMDQzQzAyQTBEMTI0NDJFMDAwQUY4MjBGRTAzQzE4MDBEMTAxMjA2MDIxMDAwMDY4MjEwMDAwNzgyMUM2Cis6MjhGRjIwMDAwMDAwNTgyMTAwMDA0MDIxNDAwMjYwMDAwMDAwMDAwMDM0NDI0MDAxNDA4MjYwMDAzQzAyMDAwMDI0NDIwNkY4MDA0MDAwMDgwMDAwMDAwMDdBCis6MDAwMDAwMDFGRgorLyoKKyAgTWFkZ2UgQW1iYXNzYWRvciBBVE0gQWRhcHRlciBtaWNyb2NvZGUuCisgIENvcHlyaWdodCAoQykgMTk5NS0xOTk5ICBNYWRnZSBOZXR3b3JrcyBMdGQuCisKKyAgVGhpcyBtaWNyb2NvZGUgZGF0YSBpcyBwbGFjZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbAorICBQdWJsaWMgTGljZW5zZS4gVGhlIEdQTCBpcyBjb250YWluZWQgaW4gL3Vzci9kb2MvY29weXJpZ2h0L0dQTCBvbiBhCisgIERlYmlhbiBzeXN0ZW0gYW5kIGluIHRoZSBmaWxlIENPUFlJTkcgaW4gdGhlIExpbnV4IGtlcm5lbCBzb3VyY2UuCisKKyAgV2Ugd291bGQgcHJlZmVyIHlvdSBub3QgdG8gZGlzdHJpYnV0ZSBtb2RpZmllZCB2ZXJzaW9ucyB3aXRob3V0CisgIGNvbnN1bHRhdGlvbiBhbmQgbm90IHRvIGFzayBmb3IgYXNzZW1ibHkvb3RoZXIgbWljcm9jb2RlIHNvdXJjZS4KKyovCisKK0ZpcnN0IHJlY29yZCBpcyBzdGFydCBhZGRyZXNzIGluIGEgX19iZTMyLgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvY3BpYTIvc3R2MDY3Ml92cDQuYmluLmloZXggYi9maXJtd2FyZS9jcGlhMi9zdHYwNjcyX3ZwNC5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDBiOWNmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvY3BpYTIvc3R2MDY3Ml92cDQuYmluLmloZXgKQEAgLTAsMCArMSw3MyBAQAorOjEwMDAwMDAwMDFCQ0UzMDJFMzAzRTMwNEUzMDVFMzA2RTMwNzkzNDRFRgorOjEwMDAxMDAwNTZENDkzNEU1NjUxOTM0RTUxRDY5MzRFNEY1NDkzNEVDMQorOjEwMDAyMDAwOTI0RjkyQTQ5MzA1OTJGNDkzMUI5MjkyOTFFNjkyMzY4QQorOjEwMDAzMDAwOTI3NDkyNEE5MjhDOTI4RUM4RDAwQjQyMDJBMENBOTJCRAorOjEwMDA0MDAwMDkwMkM5MTAwQTBBMEE4MUUzQjhFM0IwRTNBOEUzQTBGMQorOjEwMDA1MDAwRTM5OEUzOTBFMTAwQ0ZENzBBMTJDQzk1MDhCMjBBMThEMgorOjEwMDA2MDAwRTEwMDAxRUUwQzA4NEExMkM4MThGMDlBQzAyMkYzMUNGNQorOjEwMDA3MDAwNEExM0YzMTRDOEEwRjIxNEYyMUNFQjEzRDNBMjYzMTZCNAorOjEwMDA4MDAwNDg5RUYwMThBNDAzRjM5M0MwNThGNzEzNTE5Q0U5MjAzRAorOjEwMDA5MDAwQ0ZFRjYzRjk5MjJFRDM1RjYzRkE5MjJFRDM2NzYzRkI5RgorOjEwMDBBMDAwOTIyRUQzNkZFOTFBNjMxNjQ4QTdGMDIwQTQwNkYzOTRBMgorOjEwMDBCMDAwQzAyN0Y3MTRGNTEzNTE5REY2MTM2MzE4QzQyMENCRUYzNgorOjEwMDBDMDAwNjNGQzkyMkVEMzc3NjNGRDkyMkVEMzdGNjNGRTkyMkUzNAorOjEwMDBEMDAwRDM4NzYzRkY5MjJFRDM4RjY0Mzg5MjJFRDM5NzY0MzlERgorOjEwMDBFMDAwOTIyRUQzOUZFMTAwRjUzQUY0M0JGN0JGRjJCQ0YyM0QwQworOjEwMDBGMDAwRTEwMDgwODc5MDgwNTFENTAyMjIwMjMyNEJEM0Y3MTE2NAorOjEwMDEwMDAwMEJEQUUxMDAwRTAyMDI0MDBEQjVFMzAyNDg1NUU1MTI5QworOjEwMDExMDAwQTQwMUU4MUJFMzkwRjAxOEE0MDFFOEJGOERCODRCRDEwRgorOjEwMDEyMDAwNEJEODBCQ0IwQkMyRTEwMEUzMDJFMzAzNTJEMzYwNTk3RgorOjEwMDEzMDAwRTY5MzBEMjI1MkQ0RTY5MzBEMkFFMzk4RTM5MEUxMDA3MgorOjEwMDE0MDAwMDI1RDAyNjNFMzAyQzgxMjAyQ0FDODUyMDJDMjgyNjg5OAorOjEwMDE1MDAwRTMwMkM4MTQwMkNBQzg5MDAyQzIwQUQwQzk5MzBBREFEQworOjEwMDE2MDAwQ0NEMjBBRTI2MzEyMDJEQTBBOTgwQUEwMEFBOEUzOTA0MworOjEwMDE3MDAwRTEwMEUzMDIwQUQwQzk5MzBBREFDQ0QyMEFFMjYzMTJBMAorOjEwMDE4MDAwMDJEQTBBOTgwQUEwMEFBODQ5OTFFNTZBQTQwNEM4MTJFQQorOjEwMDE5MDAwMDJDQUM4NTI4Mjg5QzgxNDAyQ0FDODkwMDJDMkUzOTAzNworOjEwMDFBMDAwRTEwMDA4NjBFMTAwNDg1M0U4OTcwODVBRTEwMEUzMDJFMworOjEwMDFCMDAwRTMwMzU0RDM2MDU5RTY5MzBENTJFMzk4RTM5MEUxMDBEMgorOjEwMDFDMDAwMDI5Q0UzMDI1NTEzOTMxNzU1MTM5MzE3RTM5MEUxMDAzNAorOjEwMDFEMDAwNzUzMEUzMDJFMzAzNTU1NTYwNTlFNjkzMERCMkUzOTg5OQorOjEwMDFFMDAwRTM5MEUxMDAwMkFFRTc5MkU5MThFQTlBRTg5OEU4MTA5NQorOjEwMDFGMDAwRTgxMUU4NTFEMkRBRDJGM0U4MTNEMkZBRTg1MEQyRUFBMQorOjEwMDIwMDAwRThEMEU4RDFEMzBBMDMwOTQ4MjNFNTJDQTAwMzQ4MjQwOQorOjEwMDIxMDAwRUExQzAzMDhEMkUzRDMwM0QzMTNFMTAwMDJDQjA1OTMxNgorOjEwMDIyMDAwNTc5M0YwOUFBQzBCRTMwNzkyRUFFMjlGRTUwNkUzQjAzRQorOjEwMDIzMDAwQTAwMkVCMUU4MkQ3RUExRUUyM0I4NTlCRTkxRUM4OTAxNgorOjEwMDI0MDAwODU5NDAyREUwNTgwNTc5M0YwQkFBQzA2OTJFQUUyQkZDRAorOjEwMDI1MDAwRTUwNkEwMDFFQkJGODU4OEU5M0VDODkwODU4MUU5M0VBRgorOjEwMDI2MDAwRjBCQUYzMzlGMDNBNjAxN0YwM0FDMDkwRjBCQUUxMDAxMgorOjEwMDI3MDAwMDAzRkUzMDJFMzAzNTgxMDYwNTlFNjkzMERBMjU4MTJDMQorOjEwMDI4MDAwRTY5MzBEQUFFMzk4RTM5MEUxMDAwMzAxRTEwMDAzMDM4NAorOjEwMDI5MDAwOUI3RDhCOEJFMzAyRTMwMzU4NTY2MDU5RTY5MzBEQkFCRQorOjEwMDJBMDAwRTM5OEUzOTBFMTAwMDMwRjkzMTFFMTAwRTMwMjRBMTFBOAorOjEwMDJCMDAwMEI0MjkxQUZFMzkwRTEwMEYyOTFGMDkxQTNGRUUxMDBENworOjEwMDJDMDAwNjA5MkMwNUZGMDEzRjAxMzU5NUJFMjEzRjAxMTVBMTlGQQorOjEwMDJEMDAwRTIxM0UxMDAwMDAwMDMyNzY4NjE3NjYxNkU2MTAwMDZBOQorOjEwMDJFMDAwMDMyQ0UzMDJFMzAzRTkzODU5MTU1OTVBRjI5QUJDMEI3RgorOjEwMDJGMDAwQTQwQTU5MUVGMzExRjAxQUUyQkI1OTE1RjAxMTE5MkE3QworOjEwMDMwMDAwRTUwMkE0MDFFQkJGRTM5OEUzOTBFMTAwMDM0MjE5Mjg2MgorOjEwMDMxMDAwRTEwMEU5MzA2MDc5RTEwMEUzMDNFMzA3NjA3OTkzNEU5RgorOjEwMDMyMDAwRTNCOEUzOThFMTAwRTkxQUYwMUZFMjMzRjA5MUUyOTJCQQorOjA4MDMzMDAwRTAzMkYwMzFFMTAwMDAwMEIxCis6MDAwMDAwMDFGRgorCisgIENvcHlyaWdodCAyMDAxLCBTVE1pY3JvbGVjdHJvbmljcywgSW5jLgorICBDb250YWN0OiAgc3RldmUubWlsbGVyQHN0LmNvbQorCisgIERlc2NyaXB0aW9uOgorICAgICBUaGlzIGZpbGUgY29udGFpbnMgcGF0Y2ggZGF0YSBmb3IgdGhlIENQaUEyIChzdHYwNjcyKSBWUDQuCisKKyAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZGFidXNiL2JpdHN0cmVhbS5iaW4uaWhleCBiL2Zpcm13YXJlL2RhYnVzYi9iaXRzdHJlYW0uYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAyMWE0YgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2RhYnVzYi9iaXRzdHJlYW0uYmluLmloZXgKQEAgLTAsMCArMSw3NjEgQEAKKzoxMDAwMDAwMDAwMDkwRkYwMEZGMDBGRjAwRkYwMDAwMDAxNjEwMDBEN0MKKzoxMDAwMTAwMDY0NjE2Mjc1NzM2Mjc0NzIyRTZFNjM2NDAwNjIwMDBCQjkKKzoxMDAwMjAwMDczMzEzMDc4NkM3NjcxMzEzMDMwMDA2MzAwMEIzMTM5QzgKKzoxMDAwMzAwMDM5MzkyRjMwMzkyRjMyMzQwMDY0MDAwOTMxMzAzQTM0RTUKKzoxMDAwNDAwMDMyM0EzNDM2MDA2NTAwMDAyRUMwRkYyMDE3NUY5RjVCRjgKKzoxMDAwNTAwMEZFRkJCQkI3QkJCQkZCQkZBRkVGRkJERkI3RkJGQjdGNjEKKzoxMDAwNjAwMEJGQjdFRkYyRkZGQkZFRkZGRkVGRkZGRUZGQkZGRkZGOUIKKzoxMDAwNzAwMEZGRkZBRkZGRkFGRkZGRkZDOUZGRkZGRkRGRkZGRkZGM0IKKzoxMDAwODAwMEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQkZGQTNGRkZCRTQKKzoxMDAwOTAwMEZFRkZCRkVGRTNGRUZGQkZFM0ZFRkZCRjZGRkJGNkZGMTgKKzoxMDAwQTAwMEJGRkY0N0ZGRkY5RkVFRjlGRUNGOUZFRkZCQ0Y5QkVFMTkKKzoxMDAwQjAwMEY4RkVFRjhGRUVGQkZFMEJGRkZGRkZGRkZGRkZGRkZGRTIKKzoxMDAwQzAwMEZGRkZCRkZGRkZGQkZGRkZCRkZGRkZGQzE3RkZGRkZGQUYKKzoxMDAwRDAwMEZGRkZGRjdGRkZGRkZGN0ZGRkZGRkJGRkZGN0ZGRkZGQjQKKzoxMDAwRTAwMEZDM0ZGRkZGRkZGRkZGRkZGRkZGRkZGQkZGRkZGRkZGRTcKKzoxMDAwRjAwMEZGRkZGRkZGRkZGRTVGRkZGRkZERkZGRkRCRkZGREZGRDkKKzoxMDAxMDAwMDc3RkZGREZGRkZERkZFRkRGRkZGRjJGRkZGRkZGRkZGQjkKKzoxMDAxMTAwMEZGRkRGRkZGRkZGREZGRkZGRkZGRkZGRkZGRkZGRkUxMTEKKzoxMDAxMjAwMDdGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGM0ZGRkZGMUYKKzoxMDAxMzAwMEZGRkZGRkZGRTNGRkZGRkZGRkZGRkZGRkZGRkZGRkJGMkIKKzoxMDAxNDAwMEZGRkVGRkZGRkZGRkZGRkZGRjY3RkZGRkZGRkZGRkZGNTgKKzoxMDAxNTAwMDdGRkZGRkZGN0ZGRkZGRkZGRkZGREZGRkZGRkYyRkZGOUYKKzoxMDAxNjAwMEYzRkRGRjdGREVGN0ZERkY3RkY3N0RGRjdGREZGN0JENEMKKzoxMDAxNzAwMEZGN0ZGRjFGRkZFRkZCRkVGRkJGRUZGQkZFRkZFRkZCNkQKKzoxMDAxODAwMEZFRkZCRkVGRkJGRUZGRkYzRkZFN0Y5RkU3RjlGRTdGMTUKKzoxMDAxOTAwMDlGRTdGQTdGOUZFN0Y5RkU3RjlGRTdGRkZDN0ZCRkJGRTYKKzoxMDAxQTAwMEVGRkJGRUZGQkZFRkZCQjdCRkVGRkJGRUZGQkZFRkZCQjkKKzoxMDAxQjAwMEZGRTBGREY5RkU3RjlGRTdGOUZFN0Y5REY5RkU3RDlENDMKKzoxMDAxQzAwMEU3RjlGRTdGOUZFREVERkZGREZGN0ZERkY3RkRGRjdGOEUKKzoxMDAxRDAwMERGRkRGRjdGREZGN0ZERkY3RkRGRkY5QkZGRUZGQkZFMTQKKzoxMDAxRTAwMEZCQkZFRkJCRkVGRkFGQkJCRUZGQkZFRkZCRkVGRkZGRTIKKzoxMDAxRjAwMEI3QkZEQkY2QkRCRjZCREJGNkY5QkY1QkQ2RjlCRjZGRjAKKzoxMDAyMDAwMERCRjZGREJGRkYwRUZGRkZGRkZGNUZGRkY3RkZGRjdGODYKKzoxMDAyMTAwMEY3QkRGRkZGRkZGRkZGRkZGRkRGOUZGRkZGRkZGRUZGQjkKKzoxMDAyMjAwMEZGRUZGRUZFRkZGRjc3RkZGQkZCRkZGRkZGRkZGODNGNDcKKzoxMDAyMzAwMEZGRkRGRkZGRkZGREZGRkZGRkZGRkZGRkZGRkZGRkZGRDIKKzoxMDAyNDAwMEZGRkZGRkY0N0ZGRkZFRkRCRUZGREZGRUZGRkZFRjdGM0UKKzoxMDAyNTAwMEZGQ0ZGRkNGRkZGRkZGREZFNkZGRkY3RkRGRjdERDdGOTEKKzoxMDAyNjAwMDdGREZGN0ZGN0ZERkQ3RkRGRjdGREZGN0ZGQ0RGRkYyRjcKKzoxMDAyNzAwMEZGRkY0RjdGRjRGRkZGRkZFN0VGRkZGRkZGRkZGRkZGRjEKKzoxMDAyODAwMEZGRkZCQkZGRUZGRkZFRkZGRkZGRUZGRkZGRUZGRkZCRjcKKzoxMDAyOTAwMEZGRkZGRkZGRkZGRkZGNjVFRkZGRkY3RkZGRkRFRkZGQUEKKzoxMDAyQTAwMEZGRkZGRUZGRkZGRkZGRkZGRkZGRkZGRUNGREZGRUZGQjEKKzoxMDAyQjAwMEZGRkJGRkZGRkZGRkYzRkZGRkZGRkZGRkZGRkZGRkZGNUUKKzoxMDAyQzAwMEZFREZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGNUYKKzoxMDAyRDAwMEZGRkZGRkZGRkZGRUJGRkZGRkZGRTM3RkZGRkZGRkZGMEIKKzoxMDAyRTAwMEZGRkZFRkVCRkZGRUJGRkZFQkZGRkM3RkZGRkZGRkVFMkIKKzoxMDAyRjAwMEZGRkZGRkZGRkZGRkRERkZENkZGRkRCRkZGRkJGRkZFQTAKKzoxMDAzMDAwMEZERkZGRkZERUZGRkZGRkZGRkZGRkZERUZGRkZGRkZGMzIKKzoxMDAzMTAwMEZGRkZCRkZGRkRGRjdGQkZGRjVGREZGRkZGQkY3N0ZGNzcKKzoxMDAzMjAwMEZGRkY3RkQ3RkZGRkZGRkZGRkMzRkZGRkZGRkZERkVGRjEKKzoxMDAzMzAwMEZGRkZGRUZCRkZGRkRGQkZGRkZGRkZGRkVERkZCN0ZGOEMKKzoxMDAzNDAwMEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQkQKKzoxMDAzNTAwMEZGRkZGRkFGN0ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGN0QKKzoxMDAzNjAwMEZGRkZGRkZGRkZGRkZGRkZERkJGREZGM0ZERkJGRjVCRDMKKzoxMDAzNzAwMEZERkZCRkVGRjdGRkZGN0RGRkZGRkZGRkY4M0JGRkJGNzQKKzoxMDAzODAwMDZGRkZGRUZGQkZGRkVCN0RGRkVGRkJGRUZGRkZGRkZGRjkKKzoxMDAzOTAwMEZGRjI3RkZDRkYzRkRGRURGRUZGRkZGRkZGRUY1RkY3QTgKKzoxMDAzQTAwMEI1RkZFRkZGRkZGRkUwM0Y5RjlFRkZGRkVGRkZERkZGODcKKzoxMDAzQjAwMEJGNUZCRkNGRjNGRkZGRkZGRkZGRkY2OUFGMzNGREZGNUQKKzoxMDAzQzAwMEZCRkZGRkZGRkZGQ0ZGN0ZEOUZGREZGRkZGRkZGRkY1MTQKKzoxMDAzRDAwMEEzREY2RURFRkZGRkJERkZGRkZFRkZGRkZGRkVFN0ZEQjkKKzoxMDAzRTAwMEZGRkZGRkY5RUZDNkZFQjdBREU1RjlGRkZGRkZDRkZGNTcKKzoxMDAzRjAwMEZGRkZDREZCN0ZGRkZGRkZGOUY2MEZERkVDQ0Y3RkZGQTUKKzoxMDA0MDAwMEZCN0ZGRkZGRkZGREZGRkVGOUZEN0ZGRjdGRkZGOTVCMzUKKzoxMDA0MTAwMEZGNzNEQ0ZEN0JERkZGRkZGRjdCRkZGRkY3NTNENkZGQTIKKzoxMDA0MjAwMEZGRkZGRkQ4OUZGRUZGRUY3RkVFRkZGRkZGRkJFREVEMkQKKzoxMDA0MzAwMEZERkZGRUZGRkZGQjdGRkZFMjdGRkY2RkQ4NTdGN0ZGNTcKKzoxMDA0NDAwMEZGRkZERkZGRThGRkZGRkRGRkZGRkM3RkZGRTRGRkZCOTcKKzoxMDA0NTAwMEVGRkJGRURGQjdFREZGRkVERjdGRkZGRTdGQjdGRkZGQTUKKzoxMDA0NjAwMEZGRkY4OUZGRkZDRkYzRkU3RkZGRUZGRkZFN0U3RkZCRTUKKzoxMDA0NzAwMEZGRkZGRkZGRkZGRkZGRjFGRkVCN0FENUJGNkZEQkJFOTIKKzoxMDA0ODAwMEZEQjdEOEY2RTVCRjZGRkJGRUY1QkQ3RTA2RkZERkY3RDMKKzoxMDA0OTAwMEZCRjZGRjNGRkZEQkZGRkY2RkZCRjdGRkZGRkZGQkZFRkUKKzoxMDA0QTAwMEY3QUZGRkI3RURFRkY3RkVGRkZGREZGRkZFRkZFRkZGNTgKKzoxMDA0QjAwMEZGRkZGRkJGRjdGQzFGRUVGQkZFQkRGRjdGNUZEN0ZEMTkKKzoxMDA0QzAwMEZCNDNGRkZGRkRGRjVGRkZGN0ZGRjkzRkZGQ0ZGM0ZEQUEKKzoxMDA0RDAwMEY3N0VFRkE3RjlGRThGQTdFOUYzN0U5RkZCRjhGRkZGRkEKKzoxMDA0RTAwMDNGRkQ3RjVGREZGREZGRkY1RkZGRkQ1RkZGRkY3RkZERTQKKzoxMDA0RjAwMDdGRkQ5RkZGRTBGRkZBRjhCRTZGOUZFNkY4QkUzRjlBRDAKKzoxMDA1MDAwMEY5QkU2RjlGRTJGOUZFNkY5RkY5RkZGNUZEN0ZDRkRGMjgKKzoxMDA1MTAwMEZERkQ3RkZGRjVGRkZGRkZGN0Y1RkQwRkRCRkZEM0ZGQ0QKKzoxMDA1MjAwMEVCRkFGRkZGQkZGRkZBRkZGRkNCRkJGRUZGRkZFQkZBOEIKKzoxMDA1MzAwMEZFRkZGRkI3RkZGRkZGRkZCRkZGREZGNUZGRkZEN0ZGQTYKKzoxMDA1NDAwMEZGRkZERkQ3RjVGRjdGRkU0RkZGRkRGRjdGN0ZGRkFEOTIKKzoxMDA1NTAwMEVCRkJGRkFERkZGRkZGRkZBRkVCRkJGRkZDMERGRkZGNzIKKzoxMDA1NjAwMERGRDJGREZGRkZGREY2RkZGRjdGRkZGRjFGRkZGRkZGNTUKKzoxMDA1NzAwMEZGRkIzRjdERUIzMkZFQkYyRkVCRkFBRUJERTBGQTdFMTQKKzoxMDA1ODAwMEJGQURFQkZBRkVCRkY1N0ZGRkRFRkVFM0ZCRkZGRkZGMzMKKzoxMDA1OTAwMERGRUY0RkRGRkY3RkRGRkZGN0ZGRkZGODdGRkZGRkVGQUEKKzoxMDA1QTAwMEZCRkZGRkZGRUZGRkZGREZFREZCREZGRkJGRkZGRkZGMDUKKzoxMDA1QjAwMDgxRkZGRkZGRkYzRkZGRkZGRkZGRkVEREZFRUZGREZGQkYKKzoxMDA1QzAwMEZGRkJGRUY3RkY5M0ZERkI3RUZGRkU4N0U5RkY3RkIzOTYKKzoxMDA1RDAwMDlGRkVGRUZGQUZGREZFN0UzRkZFNjdGRkZGRjdGRkZGQzIKKzoxMDA1RTAwMEZDRjdERkZERkY3RkZGRkY3RjZERkZGRkZFRkZGRjJGQUIKKzoxMDA1RjAwMEZGQkZGRkZGRUVGRkJFRkZGRkZFRkZFRkZGRkZGRUZGQUYKKzoxMDA2MDAwMEVGRkZGRkZBNUZGRkZGRkJGRkZGRUZGRkZCRkVGREZGQ0EKKzoxMDA2MTAwMEZFRkZGQkZGRkZGRjdGRkZGRUJGREZGRkZCRkZGRkY3REMKKzoxMDA2MjAwMEZDRkRGRkZGRkZGRkZGN0ZGRkZGRkZGRkZGRjI3RkZGRUMKKzoxMDA2MzAwMEZGRkZGRjdGRkZGRkZGRkZGM0ZGRkZGRkVGRkJGRkZGNkEKKzoxMDA2NDAwMEZGREZFMkZGRkZGQkZGRkZGRkZGRkZGRkZCRTdGRkZEMTkKKzoxMDA2NTAwMEZGRkZGRkJGRkZGRkZGRURFRkZERkZGRkRGRDdGNUZENjIKKzoxMDA2NjAwMDdGNURGREZGN0ZERjk3RjRGRDdCNUZGRkM5RkZGQkZFMzIKKzoxMDA2NzAwMEZGQkZGRjVGRkZGRkY3RkZFRkZERkZFRkZGRkZGRkZGOTQKKzoxMDA2ODAwMEZGRjdGRkQ3RkQ3RDdGRkZGRkZGRkZFRkRGRjdGREZGRTgKKzoxMDA2OTAwMEJCRkZGRjdGRkZGRUUzRkZGOUZFN0ZCRkVGRkJGRUZGMjcKKzoxMDA2QTAwMEJGRjlGRUZGOUZFRkY5RkVGRkJGRjNEQUZGMzdDREYzOEYKKzoxMDA2QjAwMDdDREYzN0NERjM3RjM3Q0RGMzdDREYzN0NDRjM3RjVBNDgKKzoxMDA2QzAwMEJERjZGREJGNkZEQkY2RkRCRjZGREVGREJGNkZEQkY2NzYKKzoxMDA2RDAwMEZEQkY2RkZFRjE2RkVCN0FERUI3QURFQjdBREVCN0FGNDEKKzoxMDA2RTAwMDdBREVCN0FERUI3QURFQjdGRjdFRkZGRUNEQjM2Q0RCMTMKKzoxMDA2RjAwMDM2Q0RCMzZDREVDREIzNkNEQjM2Q0RCMzZDREZDOUJGQUEKKzoxMDA3MDAwMEY3QkRFRjdBOUVBN0E5RUE3QUI3QkRFQTdCREVBN0JENUYKKzoxMDA3MTAwMENBNzI4RDkxRkZFRkZCRkVGRkJGRUZGQkZFRjdFRkZCMTEKKzoxMDA3MjAwMEZFRkZCRkVGRkJGRUZGRkU4N0ZGRjZGREJGNkZEQkY2QjAKKzoxMDA3MzAwMEZEQkY2RkY2RkRCRjZGREJGNkZEQkY2RkZFNEZGRkJGNjYKKzoxMDA3NDAwMEVGQkJFRUZCQkVFRkJCRUZCRUVGQkJFRUZCQkVFRkJCMDYKKzoxMDA3NTAwMEVGRkM1RkZGRkZGRjNGQ0ZGM0ZDRkYzRkNGRkNGRjNGMEUKKzoxMDA3NjAwMENGRjNGQ0ZGM0ZDRkZEOUZGRUJGQUZFQkZBRkVCRkFGNjUKKzoxMDA3NzAwMEVCRkVCRkFGRUJGQUZFQkZBRkVCRkZFMTZGRkRGRjdGMUMKKzoxMDA3ODAwMERGRjdGREZGN0ZERkZERkY3RkRGRjdGREZGN0ZERkZGOEYKKzoxMDA3OTAwMDdBQkZGQkZFREZCN0VERkI3RURGQjdGQjdFREZCN0VEOTkKKzoxMDA3QTAwMEZCN0VERkI3RkZDOUZGRkZCRkVGRkJGRUZGQkZFRkZCMjUKKzoxMDA3QjAwMEZGQkZFRkZCRkVGRkJGRUVGQkZFQkJGRkZFRkZCRkVGODkKKzoxMDA3QzAwMEZCRkVGRkJGRUZGRUZGQkZFRkZCRkVGRjNGQ0ZGRkU3RUMKKzoxMDA3RDAwMEZFRkZGNUZENzc1REQ3MzVERDc3RDdGNUNEN0I1REQ3QUUKKzoxMDA3RTAwMEY1REQ3N0ZFMjdGRkZGOEJFMkY4QkUyRjhCRTJGOUFGMzYKKzoxMDA3RjAwMDhCRTJGOEJFMkY4QkUyRjlGRTFGRkY1RkQ3RjVGRDdGN0UKKzoxMDA4MDAwMDVGRDdGNUZGNUZEN0Y1RkQ3RjVGRDdGNUZGRkEzRkZFQjYKKzoxMDA4MTAwMEJGQUZFQkZBRkVCRkFGRUJFQ0JGQUZFQkZBRkVCRkFGODMKKzoxMDA4MjAwMEVCRkZGRTdGRkQ3RkZGRkZGRkZGRkZGRkZGRkZGRkZGRUYKKzoxMDA4MzAwMEZGRkZGRkZGRkZGRkZGRTZGRkZBREZGN0ZERkY3RkRGQjAKKzoxMDA4NDAwMEY3RkNGRkRGRjdGREZGN0ZERkY3RkRGRkY1RkZGRkZGQTEKKzoxMDA4NTAwMEZGRkZGRkZGRkZGRkZCRkZGRkZGRkZGRkZGRkZGRkZGQUMKKzoxMDA4NjAwMEZGMDJGRkZFQkZBQkVCRkFCRUJGMjNFQkRFMUZBRkVBMUEKKzoxMDA4NzAwMEZBRkVBRkFGRUJGRDk3RkZGM0ZDN0IxRkNGRjFGQzdGRTAKKzoxMDA4ODAwMDFGRjFGQzc3MUZDREYxRkNGRjFGRkU4N0ZGQUZFRkZBRDIKKzoxMDA4OTAwMEZFRkZBRkVGRkFGREJGMkJGQjdFQkZCRkVCRkJGQkZCMDkKKzoxMDA4QTAwMERGRkZGQkY3RkZGRjdGRjdGN0ZGRkRERkZFRkNERkZGNUEKKzoxMDA4QjAwMERGRkZGREZGREFCRkZGQkJFRkZCRjlGRkJFRUZGQkZCODYKKzoxMDA4QzAwMEJGRUZGQkZFRkZCRkVGRkJGRkY3N0ZGREQ3RkZGRjdGMTMKKzoxMDA4RDAwMEZGRkZGRkZFRjdGRkZFRkZGN0ZGRkY3RkZGRkZFQ0ZGQ0QKKzoxMDA4RTAwMEZGRkVERkJGRkZGQkZFRkZCQjY4QUUxRkFFRkJGQkZGRTMKKzoxMDA4RjAwMEZGQkZGRkQ1RkY3RkZGRkZGN0ZFRkVGRkJGRUY5RkZEQUUKKzoxMDA5MDAwMDdGRkZDQkZGRkZERkZGRkZCQkY3QkZGRkZGRkZGRkRGNzcKKzoxMDA5MTAwMEZGQkZGQkZGRkZGRkRFM0ZGRkZGRkZGRkZGQTdGRkZGNjQKKzoxMDA5MjAwMEZGRkZFRkZGN0ZGQkZERkI3RkZGRkZGRkZGQ0ZGMzdDQjAKKzoxMDA5MzAwMEZGN0Y4RDdGRkZGRkZGRkZGQkZGRjdGQkZFRkRGRkZGNEMKKzoxMDA5NDAwMEZGRkZGN0ZERkY3RkZEMUZGREZGRkZGRkZGQkZERkZGODUKKzoxMDA5NTAwMEZGRkU1Q0ZGNkRGRjdGQUJFN0YxRkZGRDlGRkZGRkFEOEIKKzoxMDA5NjAwMEVCN0EzRjFGRkZGRkZFQkZBRkYzREVGNUZGOEZGQkRGMkMKKzoxMDA5NzAwMEU2N0ZGRkRGRjNGREZGN0VGRkZGRkZGRkZGRkRGN0YzRTUKKzoxMDA5ODAwMDdGREZGN0VGRkZGNjNGOUZERkZGRkZFRUZGRkZFRkZCOUQKKzoxMDA5OTAwMEZGRkZGOUZCRkU0RkJGRUZCQkZGNjlBRkFGRkNGRjNGQUYKKzoxMDA5QTAwMERERkZGQ0JGOEZGRkZERjNCRkVEOUVGQ0JGNkZGNUQzRjYKKzoxMDA5QjAwMERGRkZEQkQ2RjVFRkZERkVGRkI5RkYxRkQyQTlBRkZGQ0EKKzoxMDA5QzAwMERCRjdCRkVGNDZGRkZGQURFQjdBREZFRkY3RkY3RkY3MTcKKzoxMDA5RDAwMDlGRURGRjdGRkZBREVCN0ZGNTZGRkZGREZCRDZGNEY3REIKKzoxMDA5RTAwMEZCRjk3RTdGRkY1RkMyRkVCRkZERkIzM0RGRjk1QkZGREMKKzoxMDA5RjAwMEZGREQ2NzdEQ0ZFRkRCRUNGRjc3RERGN0ZERkZGRkRFOEYKKzoxMDBBMDAwMEE3QkZENDlGRkZGRkJGRUZGRUZGREZFRkJCRkZGRkVGRUUKKzoxMDBBMTAwMEVCRkFGRkVGQkRGQkZGRTI3RkZGREZERkY3RkRCRkJCQzAKKzoxMDBBMjAwMDczRjdGRDdGREZERUY3QkZFQURCRjZGRkQ2RkZGRjY2NzkKKzoxMDBBMzAwMEZGQkVGRkJGNkJEOUY2REZGRkZCN0U3RkI3N0VGRkZFRjkKKzoxMDBBNDAwMEZGQ0RGRkZFN0ZGRkZDRkQzRkZCRkJGN0ZGRkZGQkY2NEIKKzoxMDBBNTAwMDdERkU3RkZGRkNGRkI5RkZGOUZBRkVCRkFGNUJENkVENkQKKzoxMDBBNjAwMEFEN0JGNkY5QkZFRkY4RkFGRUJGRkVFNkZGRkZGN0ZEM0MKKzoxMDBBNzAwMEZGN0ZCRkVGRjNGRkZGNkZGN0ZFRkZGRkY3RkRGRUY3MEUKKzoxMDBBODAwMEVGRkZGQkVGRkI3RURFRkVGRkJGRkZGRUZGRkZGQkZGODYKKzoxMDBBOTAwMEZGRUZGQjZGRkMxRkZFRTdGRkZGRkZFRkZGRDNCNEJCRDEKKzoxMDBBQTAwMEZGRkZGREJGNkZFM0ZFRkZCRkZDQkZGN0NGRjdGREZGMEEKKzoxMDBBQjAwMDJGREZBQkVBRkZERkU3RUE5QUFGRUZGQkZFRkZGNTNGODAKKzoxMDBBQzAwMEZEN0VGRkQ3RjVGQkZGRkRGN0ZGN0ZGRUY3RkRGRkQ3QUMKKzoxMDBBRDAwMEZGRDc3RkVFN0ZGQTc5RkUyRjhCRTZGOUZFM0Y5RUY5NzYKKzoxMDBBRTAwMEJFMkYwQkU3RjlGRTJGOUZGREZGRkU3RDdGNUZEN0ZGMzcKKzoxMDBBRjAwMEZGN0ZGRkZERkY3RjVGOTdGRkZEN0Y1RkZGRTNGRkZGNEUKKzoxMDBCMDAwMEZBRkVCRkFGRkJGQkZGRkZDRkVCRkVCRkFGRkZGQUZFNkUKKzoxMDBCMTAwMEJGRkY4N0ZGRkZGNUZGRkZGRkZGRkRGRjdGRkZGRkZGMjkKKzoxMDBCMjAwMEZCRkZGRkY1RkZGRkZFMEZGRkZERUJGRkZGRjdGRkVGMDIKKzoxMDBCMzAwMDdCREZGRUZGRkZERkY3RkRFQjdGREZGRjVGRkZGRkZGRTgKKzoxMDBCNDAwMEZGRkRCRkZGN0VGQUJGQzdEQkY3QkQzRkZCRkZGNkZGMzAKKzoxMDBCNTAwMEZBQUZGRkVCRkFGRTNGMkZFQUZBM0VBREM5QkFGNkFEQTcKKzoxMDBCNjAwMEFGRUJGQUY2QkZGRTdGRkZGRkZERkZGMTdGM0ZDRkYxNTYKKzoxMDBCNzAwMEVGRkY3RkZGQkNERkRGRjdEREZGRTA3RkZGRkZGRUZGNjIKKzoxMDBCODAwMEZBRUNCQjdGNUZGRkZCRUNGRkVGQjdGRkY3RkZGRkI1QjIKKzoxMDBCOTAwMEZGRkY3RkZGRkZGRkVFREY1RkRGREVGRkFFRTc3N0ZGRTgKKzoxMDBCQTAwMEZGREZGN0ZGRTNGRkZBQkJGRUZGQUZGREZCRkVCRkFCQ0UKKzoxMDBCQjAwMEY5RkVGRkJGN0ZCRkZFQkRGRUQ3RkY5RkZERkZCRUVGNkIKKzoxMDBCQzAwMEZGRUVGREJCNUJFRkZGN0ZFRkZGRUZGRjdGRkY0RkZGMTAKKzoxMDBCRDAwMEVGRkJCQ0ZDRkZGRkZGRkVGRUZERkFGRUZCRkZGREYzOUIKKzoxMDBCRTAwMEZCRkZGODVGRkZGRkQ3RjVGRERGRUZGRkYzREM1RkNFMjQKKzoxMDBCRjAwMEY1QkRGRkZGRDdGRkZGRjkzRkZGREZGN0ZGRkVGRkZENkEKKzoxMDBDMDAwMEZGRkJGRkY3Qjk3REZFREZGRkZGRkZGRkY5N0ZGRkZFNzAKKzoxMDBDMTAwMEZGRkY3RkZGRkVGRkZGRjdGNkZGQkZGMUY4RkZGRkZGQ0IKKzoxMDBDMjAwMEZGRTBGRkZGRkZGRkY5RkZGRkZGRkZGRkVGRUZGRkZGMTkKKzoxMDBDMzAwMDlCRkI3RkZGRkZGRkMxRkZERkZGM0Y1RkQ3QkZFRkJCMjYKKzoxMDBDNDAwMERFRUVGRjdGREZGRkZFRjU3RkRGRkY5OUZGRkZGQUZGOUMKKzoxMDBDNTAwMEJGRkRFQjdBRkZCN0ZFRkVGRkZGRUZGRkZGRkRCRkZGMUIKKzoxMDBDNjAwMDk3RkZGREY3RkY3RkY3RkZGRkZENUZGRUYzRjlERkRGODMKKzoxMDBDNzAwMEZGRkZGQ0ZGRkY4M0ZGRkZGRUZGOUVFQ0ZCRUVGRjlGRUQKKzoxMDBDODAwMEJGRUZGRkZFRUQ3QkZGRkZGRkYxNUFGRkZGRkRGRjdDOTMKKzoxMDBDOTAwMDY5M0JERkZGN0YxRkRGRkZGREJBRkZGRkZCRkY1QkJEOEYKKzoxMDBDQTAwMEZGRkZGRkZGRDdCNkVERTlGRkQ2QkQ2RjVGRkJGRkVGOUMKKzoxMDBDQjAwMEZGNUZGRUY2NkZGRkZGRkZGRkY3RUI3QURGRkY5RjdGMUYKKzoxMDBDQzAwMDdGRkZCN0ZGRkZGRURGRkY2Q0ZGRkJGRkJCNkZFQkZFOUQKKzoxMDBDRDAwMENDRjdBNUZBNUNGNTc1QkJCN0RGRkU2RjVGQzVCRkZENEUKKzoxMDBDRTAwMDdCRkVGRjk1RTcyOUNGNEZGNTkxRUU2QkRGRUZGRDU0Q0IKKzoxMDBDRjAwMEY1QkRCMUZGRUZFRUZCQkVCRkFGRkVERUJENkZEQUYyQkEKKzoxMDBEMDAwMEZGQUZCRUZGRkZGRDdFQTdGRkY3RkZCRkVGN0JGNkZENDYKKzoxMDBEMTAwMEJENEFGMjg1ODVCRjVCRkVCNUZERkFGRjRGRkZGRURGRTIKKzoxMDBEMjAwMEZGRURGRkJGRkZCRjdGRkVGRkI3NkRGRkY3QkZCRkVGNTgKKzoxMDBEMzAwMEZEMUZGRkZFN0RGRjY3RkZGRkZGM0Y3RkZFQkZGRkU3NTkKKzoxMDBENDAwMERGRTdGRkVGNkJGQzFGRkZCRkVGRkJGRURFQkZBRkZBN0QKKzoxMDBENTAwMEZGQjZFRkY5RkVGRjhGRUZEQkVGQUI2RkZCRkVGRkZGQTAKKzoxMDBENjAwMEVGRkRGRjdGRkZGRkRFRkZGRkVGRkZGRkZGM0ZGRjZDQTkKKzoxMDBENzAwMEZGQkZGQkZGRkVGRkZCRkVERkZGRkZFRkZGRkZCRkZGM0QKKzoxMDBEODAwMEZGRkVGQkZGRDU3RkZGRkZFRkZCRkZGRkJGRUY0M0I1OEMKKzoxMDBEOTAwMEZENkZDRkQ2QkUzRjdGREJGRUMzRkZGREZGQUZFQkZCOUEKKzoxMDBEQTAwMEZDRkYzRUVGRThGQUJEQ0RBQUZFRkU3RENGRkZCN0ZGMDgKKzoxMDBEQjAwMEY3RkZGRkZGRkRGRjc1Q0Q1MkQ3RkRGQkY3RERGQkVGMjIKKzoxMDBEQzAwMEVCRkZGRjRGRkZCRjlGRTdGOUZDN0Y4QkMzRjlBRjhGQUUKKzoxMDBERDAwMEU3RTlCRTdGOUZFNkY5RkM1RkZGRkZGN0ZERkY3QTVGNjMKKzoxMDBERTAwMEQ3RURGRkZGRDdGRkREN0ZFN0ZGRkNGRkZDM0ZGRkZGRjUKKzoxMDBERjAwMEZGRkJGRkZFQkZBRkZGRkRGRkVGRkZFQkZGRkZGRkZGQkUKKzoxMDBFMDAwMEZGRjc3RkZGN0ZERkZGRkRGRDdGRkVGN0ZEN0ZERkZGNDkKKzoxMDBFMTAwMEZERkZGRkRGRkJGRkVFRkZGQkZGRjdGREZGN0FERkY1RDYKKzoxMDBFMjAwMEZERkFERkY3RkNGRjdGREZCRkVERkZDOUZGREZGRkJGOEMKKzoxMDBFMzAwMDJGRkJGRkJDQURGRkY3RkZGRkVGRDNGRjdEQkY2RkZGQzEKKzoxMDBFNDAwMEZBRkZGRUJGQUVFQUZBQkVBREE1RUJDRUJGQTdFQjVBRTYKKzoxMDBFNTAwMERFQkRBRjZCRkQ1N0ZGRkZGNDdGMUY3RkZERkY3RjM2QzkKKzoxMDBFNjAwMEYwREY3OUZGRkZGRkY3RkRCRkZGODdGRkZCRjNGQ0ZGMUMKKzoxMDBFNzAwMEZGRkZGRjdFRkZCRkRGRkZGRkZGRkZGRkZEQkZGODlGMEMKKzoxMDBFODAwMEZGRkZGRkZGQkZGRkZGRkRGN0ZDQkRGRkZFRkZGRkZGMDIKKzoxMDBFOTAwMEZGRkZGQkY5QkZGRkZGRUJFMkZFRkZCRkVGQTlCQTJGOTkKKzoxMDBFQTAwMEVCRjlGRTc3REZGN0ZGRkZGOTdGRkZGRjdGRUZEN0ZGNUIKKzoxMDBFQjAwMEZERkZGQkY1RkZCRjZGREZGRkZGRkRGRkZGRjBGRkZGNTMKKzoxMDBFQzAwMEZGM0ZDRkZGQkFFRTlCQkZFRUQ3RkVDREVGRkZERkJGRjgKKzoxMDBFRDAwMEZGRkZDNUZGRkZGRDdGNEZGREY2RDlGRjRGRDZGREJGREEKKzoxMDBFRTAwMDZFRkZGRkY0N0ZGRjdGOEJGRkZGRkZGRkY3RkZGOUZFMzEKKzoxMDBFRjAwMDM3RkZEOUZCRjVBRkZERkZGRkZCRkZGRjA3RkZGRkZGNEMKKzoxMDBGMDAwMEZCRjdGRkZERkY3Q0ZBN0U0RkZDREYxREM3RkZGRkZGRjUKKzoxMDBGMTAwMEZGQUVGRkZGRkZGRkZERkJGRkZGRkVGRUZDRkY3RjdGM0QKKzoxMDBGMjAwMEJGRUZGRUZGRkZGRjVGRkRGRkZGRkZGRDZGNUFENzdCQTcKKzoxMDBGMzAwMEJFNUZGRTM5RkZGN0ZGRjdGREZFQUExRkZGRkZGRkZGQjEKKzoxMDBGNDAwMEZFRkVBQkFGRkRGRUJGRkZGN0ZGN0ZGRThGRTNGQkVFQzQKKzoxMDBGNTAwMDdGRkZGRkZGRkZFQkZCRkZGREJGRUZERkZGRkZGRkZGQUIKKzoxMDBGNjAwMEZGRkZGRkZCRTQzRkZGREZGRkZGRkZGRkYzRUZCQkZCRjQKKzoxMDBGNzAwMEJGRUZCQkZGRDdCRkZGRkZGRjI5QUZGN0ZGRkZGQkZGQUYKKzoxMDBGODAwMEZCRTZGRjBGRkIzRkRGMEZGRkFGRkZGRkZGRjVDM0RGMDgKKzoxMDBGOTAwMDVGRkZGRkZGRkU2QkNBQkVCQ0ZGOUZGMkJGRkZGRUZBMDIKKzoxMDBGQTAwMEZGRkZFRjE2RkZGRkZGRkZGRkZDREY5N0ZENzlGRjM3MjUKKzoxMDBGQjAwMEU3N0ZGRkZGQjVGRkZGRjYyRkZGRkRGQkZFRkZGRkZEMDUKKzoxMDBGQzAwMDVGNTc1RkZGREI1MkRGRkZGREJGRkZGRkZDREJGRjdCRjcKKzoxMDBGRDAwMEI1RkQ3RkZGNzE5QzZFRkZGNjM1QTU5QkZGRkZGREZGMDIKKzoxMDBGRTAwMEZGREI5RTdGRkVFRkZCRkZGRkJERUZGRkRFQjdGOTRCQTAKKzoxMDBGRjAwMEZGRjVFRkZGRkZGRkU4N0VGRkVBREZGN0ZGRkQ2OTVCMkMKKzoxMDEwMDAwMEZDOUZFRjc4RDZGRkVCRUZGRkZGRkZFOEZGRkZFREZGNjAKKzoxMDEwMTAwMEZGRkZGRkUzRjlGNkJGRkZGRkZFREZGRjdGRkZGRkZGRUMKKzoxMDEwMjAwMEQxRkZGRkU3RkZGRkZGRkZFN0Y5RkZCRjdGRDlGRkZEMUMKKzoxMDEwMzAwMEZFN0ZGRkZFRkZGOUZGRkJENkRGQkZFRjVCRDZGRkJGRjIKKzoxMDEwNDAwMEZCRjZGRkJGRUZGOEY2RERCRUZFMTZGRkJGRUZGRkZFQkIKKzoxMDEwNTAwMEZGQkZFRkZGRkZGRjZGRkJGRkZGRkY2RkYzRkZGN0VGMzgKKzoxMDEwNjAwMEZCRkZCRkZGRUZGRUZGQkZGRkZGRkZCRUJGRkZFRkZGQjYKKzoxMDEwNzAwMDdGRUZGRkZEMTdGQjdCRkZGRkZEN0ZEQkY2RjQ3RkZBQzEKKzoxMDEwODAwMEZFRjVCRkVCRTNGN0ZGRkZFOUJGRkZBRkY3RkRGMzdFMzAKKzoxMDEwOTAwMDhGQTNFQUZGQ0JGM0VFRkZCRkVGRjdGOUZGRkU3RkZGNzEKKzoxMDEwQTAwMEZGRkZGRkY1RkJGNkZGRjUyRkZFRkJEN0JGRkZCRURGMEYKKzoxMDEwQjAwMDlGRkZGMEZGRkZGOUZFN0Y4RkEzRjhGRTZGOUZGOUY2MDkKKzoxMDEwQzAwMDJGOUZFN0Y5RkUyRjlGRTFGRkZGRkY3RkRGRjdGNUZEODEKKzoxMDEwRDAwMDdGN0ZGNUZGOUY1RkZCRkVGRjdGRkZGRkNCRkZGRkZCRTcKKzoxMDEwRTAwMEZFRkZCRkFGRkJGRUZGREZGRUZFQkZGN0ZGRkZGRkZGMTAKKzoxMDEwRjAwMEZGQzdGRkZGRkRGRjdGRERGN0ZERkZGRkQ3RkZGRDdGOTAKKzoxMDExMDAwMEZGRkJGREZGRkZGRUVGN0ZGREVGRkJGRUZCRkRGRjdGMjMKKzoxMDExMTAwMERGRkRGRjdBREZGN0ZERkZGRkZGRkYxRkZGRkZEM0Y3QzQKKzoxMDExMjAwMEZGRkY2RkRCRkZGRkVGQ0JGNEZGRkZGRkZGRkZGRkZFRDMKKzoxMDExMzAwMDI5RkZFOERBNzY5RkFGNkFEQUZFMzVFQkRBRDZCRkFCODUKKzoxMDExNDAwMEVCN0FERUJGRDc3RkZGRkVGRkJGRUZGRERGNzdCRkZEOEUKKzoxMDExNTAwMDM3RUZGRkVGRkYzRkZGRkZGRkZFN0ZGRkZGRkZGNzdFNTEKKzoxMDExNjAwMERGRkZGRkZGRkFCNzdGRkZGRkZFRkZGRkZGRkY4OUZGRjMKKzoxMDExNzAwMEZGRkZGRkZGRkZGRkZGRkZGRjlGRkJGRkZGRkZFN0ZGRkIKKzoxMDExODAwMEZGRkZGRkFBRkZBQkZCRkFFRkJGRkZERkZBN0JCOUZFNjEKKzoxMDExOTAwMEZFRkZGREZGRjdGRTNGRkZCN0ZGRjdFRUZGN0ZFRkZGMUMKKzoxMDExQTAwMEZGN0ZGRjFGRkJGRkJGRkJGRUZGQkRGRkZGMkZGRkJGNEEKKzoxMDExQjAwMEZGN0ZERkZBRkZGRkZDRUVGNUYzQkVGQjBGRUZGM0JFQTAKKzoxMDExQzAwMEVGRkM1RkZGNUFGRkY3REZGRkZGRkVENUZDNUZGQkYyOEUKKzoxMDExRDAwMEZGRkYyRkJCRjNGRkZGQkZGRkVGRkZFRkZGRkZGRkZGOUYKKzoxMDExRTAwMEJGRkZGRkZEN0JGRkRGQjlGRkZCRkZEODdGRkZGRkZGRTYKKzoxMDExRjAwMEZCRkZGQzdGMUZCRkUwREZGN0VGRkZGRDdGRkVERkZGQTAKKzoxMDEyMDAwMEUwRkZGRkZERUZGQkZGRkVGN0RGRkZFQjVGRkZGN0ZGMDgKKzoxMDEyMTAwMEZGRkZGRkJGRkZGREZGRkRGRkZGRkZGN0ZERkYzQkRDMTMKKzoxMDEyMjAwMEZENkQ3QjVGNTdGNUZEN0Y1RkZGQjFGRkVCRkZGRkZGQkMKKzoxMDEyMzAwMEZCRkJGRUZGQkZGQkJFRkZCRkVGRkJGRUZGQUZGRUY3RkEKKzoxMDEyNDAwMERGREZGRkZGRkY3RkNGRjNGOEZGRDdGQkZGNUZCRkY3QzUKKzoxMDEyNTAwMEZCRkY3RkZFMjNGRkZGRkU3RkYzRkZGQkZFRkZGRkYzOUQKKzoxMDEyNjAwMEZGRkZGNUY5RkYzRkZGRkZGMDlBRkZCRTdGRkZGQ0Y5OUMKKzoxMDEyNzAwMEZGRkRBRkVCRkVCRkZGQ0ZGM0ZFN0ZGRkZGNUJCREZGQzgKKzoxMDEyODAwMEJDRUJGRkQ3RDRBRkFGRkRGRkNGRjdGREZGN0ZERkY3OUMKKzoxMDEyOTAwMEZERkVGRjZGRkZGQkZGRkZGRkZEN0Y1RUZEQkZEQkY2ODcKKzoxMDEyQTAwMEZEQkY2RkZCRUVGREZGN0FGRkZBRkJGRjNGRkJCNzVGNzEKKzoxMDEyQjAwMEQ2RjcxRjcxREM3NzFEQzczMURDNzdERkY5QkZGNTVCMkYKKzoxMDEyQzAwMEY0RDc5REFFRkZCRkZEQkZEQkY2RkRCRjZGREJGNkZFQzMKKzoxMDEyRDAwMDNEODFGRkVCRkVGRUZFRkZFQjdBREY3RDc3N0RGNTc5NEEKKzoxMDEyRTAwMERGNTdEREY1N0Q3RUU2RkZENjNGQkY3RkZGRDRGNTNGQkMKKzoxMDEyRjAwMEJGRkJCRUVGQjNFRUZCOUVFRkJCRkU4QkZGRkVERkI3ODcKKzoxMDEzMDAwMEVERkZGN0ZERkVGRkVGQkJFRUZGQkVFRkJCRUVFQkZDMkMKKzoxMDEzMTAwMDFGRkZGRkZERkZFN0ZGRjdGREZGRUZGRUZGQkZFRkZCNDYKKzoxMDEzMjAwMEZFRkZCRkVCRkExRkZGQjdFRjVCRkVGRkFGRUJEREU3QTIKKzoxMDEzMzAwMERFNzc5REU3NzlERTc3OURCRkU2NkZGRkZFRkZCRkVGQUIKKzoxMDEzNDAwMEZCRkVGREJGNkZGNkZEQkY2RkRCRjZGREJGRkY3RUZGNEYKKzoxMDEzNTAwMEZGRkJGRUZFRkZFRkZCRkRFRjdFRjdCREVGN0JERUY3NTEKKzoxMDEzNjAwMEJERUZGRkQ1RkZCRkZGRUZGRUZGRkMzRjBGRTdGRTdGQTYKKzoxMDEzNzAwMDlGRTdGOUZFN0Y5RkU3RkVGM0ZGRkVERkFEREY2N0VFM0QKKzoxMDEzODAwMEZCQkZFRkZFRkZCRkVGRkJGRUZGQkZFRkZGMjNGRkZGNDMKKzoxMDEzOTAwMEZGRkY3RkZGRjNCQ0RCRkVGQkZGRkJCRUY3RkJGRjdGMjYKKzoxMDEzQTAwMERGRkZDRkZCRkY5RkUzRjlCRTNGOEZFNzc5RkY5REU3QUMKKzoxMDEzQjAwMEY5RkU3RjlGRTdGOUZFNUZGRkNGRjdGRkZGRkZERkY3NDMKKzoxMDEzQzAwMEZFN0ZFN0Y5RkU3RkZGRkZGQkZFRkZGRkJGRkZCRkJGMTIKKzoxMDEzRDAwMEZGRkVGRkJGRUZGRkZERkZGRkZGRkZGRkZGRjdGREZGN0EKKzoxMDEzRTAwMEZGM0ZGRkJGRkZGN0ZGRkY3RkRGRkZGRkZGRkZGRkZGQjUKKzoxMDEzRjAwMEZGRkZGRkZGRkZFOEVGRkY1RkY3QkZGOUZFREZCN0ZEN0QKKzoxMDE0MDAwMEZGREZGN0ZERkY3RkRGRjdGREZGRERGRkYyRkZCRkZGMkYKKzoxMDE0MTAwMEZGQkZGRkZGMkZGMkZGQkYyRjdCRDJGN0JGMkZGRkJCMTYKKzoxMDE0MjAwMEZGRUU4RkFGRUJGQUZFM0ZBNzY5Q0U4RkE0RUFGQUVFOEMKKzoxMDE0MzAwMEI3QUVFQkZEQzdGRkY3RjdGRkZGRkZGRkZGN0YzRUYzMDAKKzoxMDE0NDAwMDc0RkYzRjRGRkZFN0ZGM0ZGRUE3RkZGRkRGRjdCN0ZGNDgKKzoxMDE0NTAwMEY3RkZCQUVGMzdFQkZCRkVCRkZCRkVGM0ZGRjlERkZGNTEKKzoxMDE0NjAwMEJGRkZGRkZGQkZGRkZGRkZGRERGRkZGREZGRkZGQkZFMzUKKzoxMDE0NzAwMEZERkZGQkJGRkUzRkVERkZERkJFM0RBN0ZCRkEzRkU2RjIKKzoxMDE0ODAwMEUxRkVGRTNGRUZFM0RGRjU3RkZFRkY3RUZGRkZGRkZGQTQKKzoxMDE0OTAwMEVGNkZGNkZGN0RFRkQ3REVGRjdERUZGRkYyRkZGRkZGN0YKKzoxMDE0QTAwMEZGRkZGRjdCREVGQkU2RUVFRjM3NkVGMzdFRUIzN0VGMDEKKzoxMDE0QjAwMEZGQzFGRkZFRkZGN0VGRkZGRkZGQkYzRkQyREZCRjJGRjAKKzoxMDE0QzAwMDdCRTJGRkZFM0JCRERCRkZGRUZGRkZGRkZGRkZFRkZFMEEKKzoxMDE0RDAwMEZGRkJGRkZGQkZGRkZCREZGRkJGRkZCN0ZGRkZCRkVGNUMKKzoxMDE0RTAwMEZGRkZGRkZGRkZGRjBGRkY3RkZGMUZFRkYxRkRGRkY2ODUKKzoxMDE0RjAwMEFGRkZGRkZGRkZGRkVGRkZGRkZGRkU5RkZGRkZGRjc3NDUKKzoxMDE1MDAwMEVGRjdGQkZGRkU1RkZGRkZCRkNGRkJGN0RERjdGNUZGNTgKKzoxMDE1MTAwMDVGRDVGNUZEN0Y1RkQ3RjVGRkZCMEZGRkZGQTlFQTdBRTcKKzoxMDE1MjAwMEZGQUY4RkZFREZBRkVGRkJGRUZGQkZFRkZCREZFNTVGM0YKKzoxMDE1MzAwMEZGRkZGRkZGRkZCRDU3RkZGRjZGNzdCRkY3RkJGRjdGODkKKzoxMDE1NDAwMEJGRjdGRkZDQkZGRjlGRkZGRkVGRkZGRUZGRkZGRjFGODcKKzoxMDE1NTAwMENGRkZGQ0ZGRkZGRkZGRkI2NUFGRjM3Q0ZGM0ZERkZGMkIKKzoxMDE1NjAwMEZERTlGRTdGRTdGRkZFN0ZGRkZGRkZGRkZERTNERkZCRkYKKzoxMDE1NzAwMERCRjZGREVGNUJGQkZGREZGQ0ZGM0ZERkYzRkRGRjdGRjMKKzoxMDE1ODAwMERGRUY2NkZGREZBREVCN0FERUY3RjdFN0Q5RkQ5RjY3QTgKKzoxMDE1OTAwMEQ5RjY3RDlGRTdERkY1NDdGRDY1NUJENkY0RkVGRkVGRUIKKzoxMDE1QTAwMEZGNkRGNkREQjc2RERCNzZEQ0I3N0RGQTlCRjY2RDlERTIKKzoxMDE1QjAwMDY3NTlERkY3RERGRkVCRkVCRkFGRUJGQUZFQkZBRkUzMkUKKzoxMDE1QzAwMEQxOUZGRkJEQkZFRkZFRjdCRkJGRjdENzdGRERGNzlEMTAKKzoxMDE1RDAwMERGN0ZERkY3RkZFMDdGRkRDMURGRjdGREM3N0Y3RkZCMjgKKzoxMDE1RTAwMEZGQkJFQ0ZCM0VGRkJGRUNGQkZGRDg3RkJGNkNGRkJFMzkKKzoxMDE1RjAwMEZGQkZFREZGRUZGRUZCQkZFRkZCRkVGRkJGRUVGRkM1NDIKKzoxMDE2MDAwMEZGQUY2RkZGRkNGRDNGRTdGRkZFRkZFRkZCRkVGRkJGRkQKKzoxMDE2MTAwMEVGRkJGRUJGODlGRUZBQkFGRUJGQUZGQkY2RjVEOTdENDAKKzoxMDE2MjAwMDk3NjVEOTc0NUQ5NzY1RDNGRUQ2RkZCRkY3RkRGRjdGNDEKKzoxMDE2MzAwMEJGQ0ZGQkZFRkZFRkZCRkVGRkJGRUZGQkZGRjY4RkZCMTUKKzoxMDE2NDAwMEZGRUZGQjdFREJGRUZGQkVFRkVFRkJCRUVGQkJFRUZCNzQKKzoxMDE2NTAwMEJFRkZGRkRGRkY0M0ZGRkZGQkVGNUZCN0ZFN0ZFN0Y5NTIKKzoxMDE2NjAwMEZFN0Y5RkU3RjlGRTdGRjlCRkZFQUY3N0ZERkYyRkFGNEIKKzoxMDE2NzAwMEE3RkVGRkVGRkJGRUZGQkZFRkZCRkVGRkYxN0ZFRkRGRkIKKzoxMDE2ODAwMEZGOTdGNUVGRkZERkZGRkZCRkZGQkZGRkZGRkVGRkZGOEQKKzoxMDE2OTAwMEZGRTBGRkZGRjlGRTJGOEJFM0Y4QkU3NzlGRjlEQTc3QzMKKzoxMDE2QTAwMDlERTc3OURFNzc5RkRERkZGREZEN0Y1RkQ3RkRGRjdGNDMKKzoxMDE2QjAwMEU3RkU3Rjk3RTdGQkZFRkZCRkVGRkZBQkZGRUZGQUZFMTIKKzoxMDE2QzAwMEJGQUZGRkZBRkZGRkRGRkZGQkZGRjdGREZGN0ZERkZGOEQKKzoxMDE2RDAwMDY3RkZGN0Y1RkZGRkZGREZGREZGRkZGRkZGRkZGRkZGRTYKKzoxMDE2RTAwMEZGRkZGRkZGRkZFRkZGQkRFQkZGRkZGN0FERUJGRkRGRkUKKzoxMDE2RjAwMEZERkYzRkRGRjdGREZGN0ZERkZGNUZGRkY3RkZGRkZEMzAKKzoxMDE3MDAwMEJGRkZDQkY0RkY3RkQzRjdGRDNGN0ZEM0Y3RkZGQzNGNTUKKzoxMDE3MTAwMEZGRUFGQUJFQUZBQkVCQkFGNDk1NkI1MkQ0QUQyRjRBRTkKKzoxMDE3MjAwMEQyRjZCRkQyN0ZGNzNGRkZGRkYzN0ZGRkZGRjdGRkJBOEQKKzoxMDE3MzAwMERGRkJGREZGQkZGRkZCRkZGODdGRUFGRkZFRkVERkZGRTEKKzoxMDE3NDAwMEY3RkY3RkJCRkZGRkJGREZGQkZGRkZCRkZGQjE3RkZGRTcKKzoxMDE3NTAwMEZCRUZGRkZGRkZGRkZGQkZDRkZFRkZGRkVGRkZGN0ZGMzYKKzoxMDE3NjAwMEZGRkZGMUZGNjlCRUZBQkZBRkUyRkZGRUZEQUZGM0ZFODAKKzoxMDE3NzAwMEZGQkZFRkZCRkNGRkZGMDdGRDk1REJERjdGREZBRkZGNjgKKzoxMDE3ODAwMEY3QUYzNkZFQkY2NUVCRjZGRTlGNkZGRTA3RkZDRkZGOUMKKzoxMDE3OTAwMEY4RkVGRkNGRkZGNkZBRTdGQkZFRkZCQkVERjlGRkZGMTgKKzoxMDE3QTAwMEZGNUZGRkZGRkY3NUZGRUY3RUZERTBFODVFRDNFNUY5MjkKKzoxMDE3QjAwMDNFNUZEN0Y3RkZGQTJGRkJGRkZGRkZGRkZFRkZGRjdGMjQKKzoxMDE3QzAwMDdGRDdGNTdENUY1N0Q1RjVFRkZGRjM3RkZDN0ZGRkM3MzAKKzoxMDE3RDAwMEYxRkZGRjFGQ0ZCMEZGM0ZDRkYzRkNGRjNGQ0VGRkU0OTEKKzoxMDE3RTAwMEZGREY3RkZFRjdCQkZGRkZERkVGRUVGRkJGRUZGQkZFOEMKKzoxMDE3RjAwMEJGQkZFRkZGRDFGRkZGRkZGREZCRkZGREZGRkI5RkU5MzkKKzoxMDE4MDAwMEZFN0Y5RkU3RjlGRTdGQkZGRkIzRkZGRkY3RkZGRkFGNEMKKzoxMDE4MTAwMEY3RkZCNjNGRUJGQUZFQkZBRkVCRkFGRUJGRkVBN0ZGNDYKKzoxMDE4MjAwMEZGRkZGRkZGRjdGRkZGRkZGRTlGRjdGOUZGN0Y5RkU3MzcKKzoxMDE4MzAwMEZGRkZGRUFGNkZGRkZGRkY5RkZGREZGRjdENUZEREZGNUQKKzoxMDE4NDAwMEZCQkZFN0JCRkZGQkRGNkQ1RjdFRkZGRkZGRkZGRkZGMUYKKzoxMDE4NTAwMEVCRjdGRkU3RUZGN0ZGRkY3RkZGRjdGRkZDOEZGRkVGRUYKKzoxMDE4NjAwMEZERkVGRkJFRjRGMjdERDdDRkZGM0ZGRkZGRkZGRkZGN0UKKzoxMDE4NzAwMEZGQ0Y2QkZGQkYzRkZCRjJGQzdGRUJGRjlGRkFGRkZGNDkKKzoxMDE4ODAwMDNGRkZGM0ZGRkZGRDcwRjdGRkZGQkZGRkZCRDdGRUY1NDQKKzoxMDE4OTAwMDc3RkYxNURENzdGREZGN0ZERkY3RkJDREJGRkZGREZGOTYKKzoxMDE4QTAwMEZGREYzN0NERjlFQ0ZFRUZCQkY0RkIzRjRGQjNGRkZEOUQKKzoxMDE4QjAwMENCRkZFOTdFNTQ5RkU1NEJCN0ZGREQ3REM3NzFERDc3MzgKKzoxMDE4QzAwMDVERDc3NUNEN0ZENkZGRDNGNkY5M0Y2RDk1QUY3RkZFMUYKKzoxMDE4RDAwMEZGRUZGQkZFRkZCRkVGRkJGRUY2QzdGRkFEN0JDQUZGQ0UKKzoxMDE4RTAwMEJGQkZFRkZERTNERkI3RURGQjdFREYzN0VERTNGQkRGRUYKKzoxMDE4RjAwMEZGNTI1QzE1RkRDRjdGREZGRUVGRUZGQkZFRkZCRkVDN0QKKzoxMDE5MDAwMDdCRkVGRkZFM0U3RkRBRjdGREZGN0ZGRkZGRkJFRkJCQjUKKzoxMDE5MTAwMDZGRkJGRUZGQkZFRkZCRkZGNzdERkZEOEZGRkRCRjdGMzMKKzoxMDE5MjAwMEZCRkZGRjlGRkJGRTdGOUZFN0Y5RkU3RjlGRUE3RkY2QUQKKzoxMDE5MzAwMEJGQkQ2QTVBRjZFNUJGNzc1RjZEREQ3NzVERDc3NUREQjAKKzoxMDE5NDAwMDc3RkZBNUJGQ0ZGQkZGRkZCRkNGRkJGREZGQkZGM0ZFQzAKKzoxMDE5NTAwMEZGQkZFRkZCRkVGRkZEQUJGRkJGQkZGRkZCRkY3RkVGNTYKKzoxMDE5NjAwMEZGQkVGQkVFRkJCRUVGQkJFRUZCQkZGRkI1RkZEMEJDODcKKzoxMDE5NzAwMEZEMkY0QkY3RkZGRjlGRjlGRTdGOUZFN0Y5RkU3RjlGNEIKKzoxMDE5ODAwMEZBOEZGREFCRkFEQUJGQUZCM0ZERkZCRkZCRkVGRkJGQkYKKzoxMDE5OTAwMEVGRkJGRUY3QkZGRjlGRkY3N0Y3QkRGRDc3REZGRjdFMTEKKzoxMDE5QTAwMERGRURCQkZFRkZCRUVGRkJGRUZGRkEzRkZGQkU2RjhGMUEKKzoxMDE5QjAwMEU2RjlGRTdGOUZDN0ZFN0Y5RkU3RjlGRTdGOUZFN0ZCNkIKKzoxMDE5QzAwMDdGRkY3RkNGRkZGREZGRkZERkZCQUZCRkVGRkZGRUZGMUUKKzoxMDE5RDAwMDlGRUZGQkZGRkNGRkZCRkVGRkZGRkZGRkZFRkZGRkY3OUMKKzoxMDE5RTAwMEZGRkZGRkZGRkZGRkZGRkZGRkY1RkZGRkZGM0ZERkY3RjkKKzoxMDE5RjAwMEZGRkY3RkVGRkVGRkJGRkZGQkZGRkZCRkVGRkZCMzdGRTgKKzoxMDFBMDAwMEZGN0I1RUY3RkRGRjdCN0ZGN0ZGN0ZERkY3RkRGRjdGNEIKKzoxMDFBMTAwMERGRjdGRjE3RkZGRkZGN0ZGRkZGRERGNkZDQkZDQkYyMTUKKzoxMDFBMjAwMEJDQkYyRkNCRjJGQ0JGRkU4RkZGRkE3RUJGQTdFQkRBNjUKKzoxMDFBMzAwMEZDQkZBRjdBRkVCRkFGRUFGQUZFQkZBRkY0REZGRUZGMzYKKzoxMDFBNDAwMEYzM0M3RjNFRkZDRkY4QkY4RkUzRjhGRTNGOEZFN0U4MjAKKzoxMDFBNTAwMEZGRkM5RkZGRkZDRkVCQjNFN0ZCN0JGM0ZFRkZDRkRCOEEKKzoxMDFBNjAwMEZCRkJCRjZGNkZERkVDN0ZGRkZGRjdGREZERkZGRkZGQUQKKzoxMDFBNzAwMEZGQjJCRkZGREVGREJERUZGQkY2REZFQUU3REJGRUJCM0IKKzoxMDFBODAwMEZGRUJGQkJGOUY4RkU4RkUzRjhGQTNGOEZFM0Y4RkZGNkEKKzoxMDFBOTAwMEY4N0VGREZEN0ZGRkZCQ0RGRkZERkY1RkVGRkRGRkZGNEMKKzoxMDFBQTAwMERGRjdGREZGQkU5MEZGRkZFRUZGM0ZCRkYzQkJGRUI3Q0EKKzoxMDFBQjAwMEFCRkFGRUFGQURFQUZBREVBQkZGNjNGRkZFRjJGRkIzQjcKKzoxMDFBQzAwMEZGREZFRTdERkYwM0YxRjQzRjFGQzNGMUVDN0ZGRTZGRkMKKzoxMDFBRDAwMEZGRkJGQkZGOUZGRkJGRkY3QjVGRkRGRkRGRjdGREZEMTAKKzoxMDFBRTAwMDdGN0ZERkZFQ0ZGQkZGRkZBRkZCRkYxRkVGQTVGREJGM0IKKzoxMDFBRjAwMERGRkI3REZGQkZERkZCRkZGRDNCRkZGRkZGRkZGRkZEQzgKKzoxMDFCMDAwMEFGRjNGRkZCN0ZCRkQ3RkJCRjdGQkJGN0ZGRjg3RkZGQzQKKzoxMDFCMTAwMEZBNUZEN0ZGREY3RkVGRkZGRjdGREJGN0ZERkY3RkRGQTAKKzoxMDFCMjAwMEI3RkJFQ0ZGRkZGN0JGRUZGREZDRkJGRkVGRjBGRTNGNjUKKzoxMDFCMzAwMDhGRTNGOEZFM0Y4RkVGOERGRkZGRUY3RkJGRkZGQkZGQ0YKKzoxMDFCNDAwMERCQkZGRkZGRkZGRkZGRkZGRkZGRkZFRkQ4RkYyRTdGOTEKKzoxMDFCNTAwMEJFRUZGRTZFRkZCRkY5RkZGRkYzRkZGRkZGRkZGRkZGQ0EKKzoxMDFCNjAwMEZDNjZCRTQ3RjM3RkRGRkU4NzlGRkZGRkZGRkZFN0ZGQjcKKzoxMDFCNzAwMEZGRkZGRkZGRkZENjZGN0NGQjRGRDJGRkZEMkJGRUZGNjkKKzoxMDFCODAwMEZGRkQ1RkQ3RDVGNTdERkZGRkZGQkY5QkZGRkZERkI3RjEKKzoxMDFCOTAwMEZGRkZERkZGM0ZDRkZFN0ZCRkVGRkJGQ0ZGM0ZGRkQ5MjMKKzoxMDFCQTAwMEJGRkU5N0VDOEZCN0ZFOUI3REZEQjdERDc3MURDNzcxM0MKKzoxMDFCQjAwMERENzc1REQ3RjM2RkZEM0Y3M0REQUZGRDdBRkZGRkFGREMKKzoxMDFCQzAwMEZFRkRCRkVGRkJGRUZGQkZFRjY2N0ZGRkZGQkZCRkZGNjYKKzoxMDFCRDAwMEZCRkZGN0RGRkRGQjdEREZCN0NERjM3QzVGM0Y5MTNGODAKKzoxMDFCRTAwMEZGM0RFRjdCRkZGQ0ZGQ0FFRkZFRkZCREVGRkIxRUU3RjMKKzoxMDFCRjAwMEJCRUM3RkIzRkZGRDlGRkZGRkZFRkZGRjdGQkZGQkZFNDAKKzoxMDFDMDAwMEZGQkZFRkZCRUVGQkJGREY2N0ZGRkZCRkVGREJGRkJDRkMKKzoxMDFDMTAwMEZFN0ZGQkZGOUZFRkY5RkU3RjlGRTdGOUZFODdGRkVFNTgKKzoxMDFDMjAwMEZCQkVFNUJGRUZGOUQ3NjVGN0RERTc3RERGNzc1REQ3NzEKKzoxMDFDMzAwMDdGRjg5QkZFRkZCRkVGRkJGRkZGQkZFRkZCRkY3RkNGRjgKKzoxMDFDNDAwMEYzRkNGRkJGRUZGRkRCM0ZFRkZCRkVGRkRGRkZGRUZCMjEKKzoxMDFDNTAwMEJCRUZCRkVGQkJFRUZCQkVFRkJCRkZGQzdGRkQzQjVCMTMKKzoxMDFDNjAwMEQ2RTVGRDRGQzNGQkZGQkZFRkZCRkVGRkJGRUZGQkZGNjIKKzoxMDFDNzAwMEI0RkZGQUJDOEZCMkU5RDIyRUNGRkJGRkJGRUZGQkZFNjEKKzoxMDFDODAwMEZGQkZFRkZCRkZFQ0ZGRkRGRDdGREZGN0U0REY1RkZGNTIKKzoxMDFDOTAwMEZGRkJGRkZGRkZGRkZGRkZGRkZGQzNGRkVGRTZGOEZFQzUKKzoxMDFDQTAwMDNGOEI4M0Y5RkU3RkU3RjlGRTdGOUZFN0Y5RkU3RjE3MDEKKzoxMDFDQjAwMEZERkZGRkZGN0Y1RkY3MkNGRkZGRkZGRTdGRkZFN0Y5RDAKKzoxMDFDQzAwMEZFN0Y5RkZFMkZGRkZGRUZGRkZFQkZFRkFERkZGRjdGMDkKKzoxMDFDRDAwMEZGRkZGRkZGRkZGRkZGRkZGRURGRkZERkZGRkRGRDdGRDkKKzoxMDFDRTAwMERGRjdGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkEzRkZFRjIKKzoxMDFDRjAwMEY3RkRFRjdBRkZCMUJERkY3RkY3RkRGRjdGREZGN0ZENTcKKzoxMDFEMDAwMEZGN0ZGMzI3RkZERkZGRERGRkZDOUJGRkNCRkNCRjJGMzcKKzoxMDFEMTAwMENCRjJGQ0JGMkZDOUZGREVGRkRGQUZFQkRBRkVCQkFGQkMKKzoxMDFEMjAwMEVCRjhGN0FGRThGQUZFQkZBRkVCRjJGRkZERkZGRkVGMTYKKzoxMDFEMzAwMEJERDdCRkZGRkZERThGQjhERTM3OERBMzc4REEzRjhGQzgKKzoxMDFENDAwMEZGQTFGRkZGRkJGQkZGRkZGRkZGQTdCREZCNzZGREJGNzIKKzoxMDFENTAwMEVGREJGRUJCQkZGRTI3N0ZGRkZFRkVGREY1RkZFRkY1Q0QKKzoxMDFENjAwMERGMUZFN0ZERkY3RkRGRjdGREZGRkZDREZEQUVGRkZBRDEKKzoxMDFENzAwMDNFM0ZBQkZERjg3RThGRTNGOEZFM0U4RkUzRjhGRkZFQkIKKzoxMDFEODAwMDFGRUZERkJGRkVERURGRDlGRkRGQkNGRkZGN0ZGRkVGMEUKKzoxMDFEOTAwMEZEN0ZERkY3RjkzRkZFRkZGRjZGRkVERUJGRjdFREVBRTUKKzoxMDFEQTAwMEZEOEY4M0Y4RUEzRjhGRUZGRkY0N0ZGRkVGRUY3QkYzQzgKKzoxMDFEQjAwMEYxNUZGRkZGRjEzQjdGREZGN0ZERkZGRkZGRkZFMEZGN0MKKzoxMDFEQzAwMEZGRkZGN0ZGNkZGRjdGRkZGRkY3REVGN0JGRUZGQkY3QzgKKzoxMDFERDAwMEZERkZGRkY1RkFGRkZGRkJFN0ZGRjNGODdGRjNERkZGRkYKKzoxMDFERTAwMEZGRkZGRkZGRkZGRjFGRUZCQkZGRkZGRkZGRkZGRkZEMzkKKzoxMDFERjAwMEZGN0ZGRjlGRkZGRkZGRkZGRkZGRkZDRkZGMzdGRkZGQ0IKKzoxMDFFMDAwMDdGREY3NzVERTdGQ0ZGQkZGN0Y1RkJGRkZGRDdGNUZCNTMKKzoxMDFFMTAwMEZGRkY0NUZEN0ZFQUZEQkVCRkRGRjdGRkZGREJGQkZFRjcKKzoxMDFFMjAwMEZGQkZFRkZGRkZGRkZCNUY3RkZGRkVGRkZGRkZGRkZGMzcKKzoxMDFFMzAwMEZGRkVGRkVGRkRGRjdGREZGRkVGRkJGODBGRjNGRkY5ODIKKzoxMDFFNDAwMDJFRkJGRUZDRjNFRkZGRkZCRkZGRkJFN0ZGRkU3RUZGNzUKKzoxMDFFNTAwMEMwNkJDRkZGMzRERkYxRkRGRkVGRkZGRkZGREZGN0ZEQ0EKKzoxMDFFNjAwMENGN0Y5Q0ZERkQ2Q0Y3RkZGNkZERUIyQjlGRkZGQ0ZFOEIKKzoxMDFFNzAwMDdFRkZGRkZGRkZEN0YzRjdGRkZCRTFCRkZGRUI3QURFNEIKKzoxMDFFODAwMEQ3RkJGRkY5RkVGRkZGRjNERTdGRkRFNzdGRkZGREJCMjIKKzoxMDFFOTAwMEZGRkY3RUNDRjZBRjVGN0ZGRUY0N0RGN0ZEQkI2RURCMTAKKzoxMDFFQTAwMEI3RkZGN0RGNjZGRkZGRjczRENGREVCREZGRkZERURCRUQKKzoxMDFFQjAwMDhERjc3RURGQjdFRjdGRkZGNjg3RkZGRkVGRkVERUJGMTgKKzoxMDFFQzAwMEZGRkZGRkJCRUZGREZGN0JERUY3M0ZGRkJGRkJEQkZGNEQKKzoxMDFFRDAwMEYyQjZGREJEN0ZFN0ZGRkZGRjZGRjdGRkZGRkZGRTc3NjUKKzoxMDFFRTAwMEZGQkZGOEFGRkZERkJGRkZCRjdGRkJGRkZGRkZEQkZFRTIKKzoxMDFFRjAwMEZGQkZGRkZBRkZGREZGRjY3RkZGOUZGRkZGM0ZFRkY4RjkKKzoxMDFGMDAwMEVFN0U5RkJBRkVCRjhGRUZGRUZFRjlGRkZBN0ZGRTdFRTgKKzoxMDFGMTAwMEJGQUZGQjk2RkQ5RkVGNUU2NUJFRUY1QkI2RkZCRUUzMTYKKzoxMDFGMjAwMEZGQjVCRkZGRkRGRjdGRkZFRkRGRkVGRkJGRkJGRUZGNDMKKzoxMDFGMzAwMEJGQ0ZGRkZGRkZGRDlCRkZGRUZCRkVERkZGN0ZGRkY3MzUKKzoxMDFGNDAwMEZFRkZERkZCRkJGRUZGRkZGRkZGRkZCN0ZFRkFGRkFCNkQKKzoxMDFGNTAwMEVGRkZGREI1N0I3RkZCRjdGREZGRkZEREZGRUY4RkZGQTEKKzoxMDFGNjAwMDJGRkZGQjdDRkYzRkRGNzNFQkZFM0ZGRkVGRkJGRUZGMkUKKzoxMDFGNzAwMEVGRkRGRkJGRkQwRkZGRkZGRkY1RjlGRjdGRDdGREZGNkYKKzoxMDFGODAwMERGRkZGN0ZCRkY3RkJGRkZGRkYwOUZGRkZFN0Y4QkUzQ0QKKzoxMDFGOTAwMEY5REUyNzlCRTZCRTdGOUJDM0Y4REU3RjlERTdGRTdGRDEKKzoxMDFGQTAwMEZGRkY1RkQ3RkZGRkZGNEZGQkZGRkY3RkZGQUZGRjlGRUQKKzoxMDFGQjAwMDdGRkJGRkU4RkZGRkZFQkZBRkZGRkZGRUJGRUZGN0ZGQjYKKzoxMDFGQzAwMEJGRkZGRkZGRkZGRkY3RkZGQ0ZGRkZGRDdGRkZGRkZGRUUKKzoxMDFGRDAwMEZEM0ZDRkZGRkZGRkZGRjdGRkZEN0ZGRkZGOTNGRkZGRjkKKzoxMDFGRTAwMDdBREZGN0ZGRkY3QjdGQjdFRkZGRkZGREJGRkRGQkZGNTIKKzoxMDFGRjAwMEY3RkZEN0ZGRkZGRkZDOUY2RkNCRkZGNEJCREZENkZERTIKKzoxMDIwMDAwMEJGMkZEM0Y3RkZERkZGQ0ZGRkZBQkVCREFGNkFEQUJFNDcKKzoxMDIwMTAwMEJCQUIzQUJFMkRBRUVCREFGNjNGQURGNURERkZDRkYxNEYKKzoxMDIwMjAwMEZGRjk3RkZGNzNGRUZGQ0ZDM0Y0RjcyRkYzRkZGQ0ZGMzEKKzoxMDIwMzAwMDdDMUZGRjNGNEZGRjdFRkZFRkJERjZGRUZGMkJFRkRDNjcKKzoxMDIwNDAwMEZCRkRGRkZCRkZFQTdCRkZGRkZGRkZGRkZCRjdERkZGNkYKKzoxMDIwNTAwMEUzN0RGRkI3RkZCRkZGRkZERkZGRjhGRkJGRkZCRkVCNzEKKzoxMDIwNjAwMEU3RkFGRTNEQkZFOUZDQkZGRkZBRkJGRUZGRkZGRkQ5MjkKKzoxMDIwNzAwMEZGRkZGRkY2N0ZGRkY2N0RGRkRGQ0ZGREJGRkJFRjdFQUIKKzoxMDIwODAwMEZGN0ZGRkZGRDNGRkZERkJGRkZCRkZGRkZGRUZGRkJGNjYKKzoxMDIwOTAwMEZFRkZGN0VGRkZGRkZGRkJGRjg3RkZGREZGRkZGRkZGRTcKKzoxMDIwQTAwMDdCRkVGRkZFM0JGN0Y3RkYzRkZGRkZGRkZGRkYwRkZGNEEKKzoxMDIwQjAwMEZGRkZGRkZCRkZGRkZGRjdGRkZGQURGRkZFRjdGRkZGOTcKKzoxMDIwQzAwMDVGRkZGRkRGRkZGREZGRjVGRkRGRkZCREZGRTlGRkM3OUMKKzoxMDIwRDAwMEYzRkZGRkY3RkZGM0ZGRjgzQkZGRkY3QkRGQkZGQkVGRjMKKzoxMDIwRTAwMEZCRkZGQkY3RjdCQkZGRkZGRkZGRkJGRkZFN0ZGMzdGNkQKKzoxMDIwRjAwMDVFQjdCRkZEN0ZGRkY5N0ZGQkZGRUJGRDdGN0ZGRkVGNEIKKzoxMDIxMDAwMEZCRTAzRkZFQkZCRkRGRkY3RUZGRjdGRkZGRkVCRkZGMkQKKzoxMDIxMTAwMERCNzhGRkZGRkZFRUExQkZGNURFRkJGN0ZGRkJGRkZGNjQKKzoxMDIxMjAwMEZGRkZGQkZGRkZEN0ZGRkZGRkZGRUZGMEZGRkZGRkYzMTYKKzoxMDIxMzAwMEY3RkZFRkZGRTdDRkZGRkJGRkVGRkZGRjlGOUZFRkZDRjYKKzoxMDIxNDAwMDE2QkZGRUYzRTRGRkZGQzZGRkU3RkZGRkZERkZCRkZGODMKKzoxMDIxNTAwMEZGM0ZGRkJGRDZBRjdGRkU2QjdFN0ZGRkFGRkZGRkJGQUUKKzoxMDIxNjAwMEZGNUZGRkZFRkZGRkZFRkZGRkJEREJGRkZFNUZGMkZGMzUKKzoxMDIxNzAwMEZGNUZGRkZGRkZGRkZGRkZFRjdGRkZGRkZGRkZERUJGMDAKKzoxMDIxODAwMEZGRkZFRkZCNzdGRUJEN0Y1RkZGRkZGRkRGNkZFREZGMjAKKzoxMDIxOTAwMEZERkY3RkZENkZGRkZGNzdEQUNGRkQ1RkZGQkZGRkZGMjIKKzoxMDIxQTAwMERGN0ZGRkZCRkZGRkZGRkY2NjdGRkZGRUJGRTdCRkZBOUEKKzoxMDIxQjAwMEZGRkVGRkZGRkZERkZGNTlFRkZGRUZGQjdGODlGRkZGMTAKKzoxMDIxQzAwMEU5RkY2RkZGRjVGRkZGRkZGRkZGN0ZGMkY3RkZGRkVGNzQKKzoxMDIxRDAwMEY4N0ZGQkZGRkRGRkZGRDlGRkVGQkJGRkZGRkZCRkVGNjYKKzoxMDIxRTAwMERFRkZGRjlGN0ZERkZGRjdGRkZGRkZGRkRGRkZGRkFGOTgKKzoxMDIxRjAwMEZGRkZGNzNGRUI5RkZFN0Y5RTdGOUZGRTg3RkZFRERCOUMKKzoxMDIyMDAwMDU2RkZCRkFGMEJEMkZGRUZEQjZFN0RCRDZGRjhGRTNGMTkKKzoxMDIyMTAwMEZBNUJGRkZEQkZFRkZGQkY2RkRCRTZGRkZGM0ZGRkRGQjYKKzoxMDIyMjAwMEZFRkZGRkZGRkZEQTNGRkZGQkZFRkVGRkZGREZGN0JEMTQKKzoxMDIyMzAwMEZGRkRGRkZFRkZGQkZGRkZGRkZGRjE1RkZEOUZERkZERTcKKzoxMDIyNDAwMEZGRkQ3RkZGRkZGRkZGNzZGQUZGRkY3RkUzRjhGRkFFQTIKKzoxMDIyNTAwMEZGRkI3RTlENzNGRkZBN0ZERkZGRkY3RkZGRkJDREZGNUMKKzoxMDIyNjAwMDdGRUZGQkZGRkRGRkY3N0Y3RkVGRkZFREZGRkZGRkI1ODgKKzoxMDIyNzAwMEZGQkZGRkJGRkRFRkRCRjdGRjkzRkZFRkUyRjlCRTdGOEMKKzoxMDIyODAwMDhCRTdGOUZFNkJFN0Y5RkU3RjlGRTdGOUZFN0Y0N0ZGREIKKzoxMDIyOTAwMEZGRkRGRjlGRkZEN0ZGRkZGRkZGRjVGRjlGRkZGN0ZFNEIKKzoxMDIyQTAwMEZGQkZGRTZGRkZGRkZCRkZGRkZGQUZGRkZGRkY3RkZCRTcKKzoxMDIyQjAwMEZGRkVGRkZGRkZGRkZGRkRERkZGRkZGN0ZGRkZGRkRGNzkKKzoxMDIyQzAwMEZGRkZGRjVGRkZGRkZGRkY1RkZCRkVGRkY4MzdGRkZGMzIKKzoxMDIyRDAwMEVGRkY3RkZFQkZGRkZGRkVCRkZGRkY3RkZGQkZGREZGRTIKKzoxMDIyRTAwMDdGRkE3RkZGRkY2RkZGRkY3REZGQ0ZGRkZGRkY0RkZGRjUKKzoxMDIyRjAwMEYyRkZGRkZGRkZGRkZBQkZGRkFFRUJGQUZFQkJBREVCNTUKKzoxMDIzMDAwMEZBRjdBRjZCRkFGNkJGMjVFOUYyN0Y0NUZGRkZGREY3NUQKKzoxMDIzMTAwMEY3QkZGRkRGRkZGRkJGRkJGRkRGRjNGRkY3M0ZDRkZGOUQKKzoxMDIzMjAwMEExRkZGRkJGRTdGRkZGN0ZGRjNERkZGRkZGRjdGRjJGOEQKKzoxMDIzMzAwMEZGRkJGNTdGRkU1N0ZGRkZGRkZGRkZGRkZGRkZGRkY3RUMKKzoxMDIzNDAwMDNGRkZGRUZGRkZGRkZERkVGN0VFQUZGRUVFRTdGQUZGRjkKKzoxMDIzNTAwMEZFOURGOTVFRkVGRkVCRkZGRkRGQTdGRkZGRkZGQ0RCNEIKKzoxMDIzNjAwMEZGRkZGRjdFRkJGRkZGRUZGQkZERkZEQkZGRkZGRkVGNEMKKzoxMDIzNzAwMEZGRkZGRkZEQkZGRUJGRkY2RjdGRkZGN0ZGRkZGOUZGMEUKKzoxMDIzODAwMEY3RkZCRkRFRjdGRkZGRkZGQTdGRkRCRjVGRkZGRkJGNzUKKzoxMDIzOTAwMEZGRURGRkY3QkZGRkZGRUZGRkRGRkZGRkZGRTZGRkZCRjQKKzoxMDIzQTAwMDdGRkZGRkZGRkZGRkY3RkZGRkZGRkZGRkZGRkZFQkZGRDkKKzoxMDIzQjAwMEZERkZGNUZGRjY3RkRGQkRDRkZGRkZGRkZGREZGRkZGNzQKKzoxMDIzQzAwMEZGRjlGRkZGRkZGRkZGRTNGRkVFQkZGRjdERUZGRUZGMjMKKzoxMDIzRDAwMEZGRkZCRkZGRkZGRkZGRkVGRkZGRkZGRkU3RkZCNUFFMDEKKzoxMDIzRTAwMEZGRkZCNkZFQkZGRkZGQkZGRkZGRkZGRkZGRkZGRkZGQzcKKzoxMDIzRjAwMEZGMjdGRkVGRkU3RkRGRkY3RUZGRkZGRkZGRkZGRkZGRjcKKzoxMDI0MDAwMEZGRkZGREZGRjdGOTlGRkY1RkZGRkZGRkZGRkZGRjdGNkMKKzoxMDI0MTAwMEZGRkZGRUZGRkZGRkZGRkZGRkZGRkYwRkZGRTdCRkZFMTYKKzoxMDI0MjAwMEZGQkZGRkZGRkZGRkZDQkZGRkZGRkVGRkZGRkZGRkM0N0IKKzoxMDI0MzAwMDZCRkYyOTFGRkJBRkZGRkZGRkZGRkZFRjFCRkVGRkZDNDIKKzoxMDI0NDAwMDZGRkZGRkZENkFGN0Q3RjVCRkZGRkVGRkZGRkZGRkZGM0UKKzoxMDI0NTAwMEZFQkZGRkZGRkFGRkZGRjdGQkREQkZGRkU3RkZGRkZGNTgKKzoxMDI0NjAwMEZGRkZGRkZGRkZGRDdGRkZGRkY1RkZGRkY3RkRCM0VGNkUKKzoxMDI0NzAwMEZEN0U1REZGRkRGRkZGRkZGRDdGRDJGNUZCN0VDQkI3NEQKKzoxMDI0ODAwMEZGRkZGRkM2RkZGREVFNjNGRkZGRkZGRkZGRjZGRDY1RTkKKzoxMDI0OTAwMDVCREZGRkQ1RkZGRkZGRjZFN0JGRjdBOUZGRkZFREZGMEIKKzoxMDI0QTAwMEZGRkZGRkZGRUJGRkZGRkZBRkZGRkZGRkY4MUJGRkUzQTcKKzoxMDI0QjAwMEQwQkZGRkUxRkZGRkZGRkZGRkQ3RkZGRkZGNUZGRkZGODEKKzoxMDI0QzAwMEZGRkZBRkZGREI3NkJGRkY3RkZGQkZFRkZFRkZCRkVGN0EKKzoxMDI0RDAwMEZCRkVGRkZGRkZCRkYyN0ZGRjlGRkVCREZFN0ZGRkZGMDIKKzoxMDI0RTAwMEZGRkZGRkZGRkZGRkZGRkZGRkY3M0ZFQzdGRjY5NUJCMEUKKzoxMDI0RjAwMEVGRjhGRUZDQkYyRkRBRkNCRjJGQ0JGMkZDQkZFRkZGRTMKKzoxMDI1MDAwMEE5QkZDRkZCRkZGRkZGRkVEREI3NkRGNkQ5QjY2RDlCMTAKKzoxMDI1MTAwMDc2RDlCRkZCRkRBM0ZGQkZFRkZGRUZGRkZGRkY3RkRGMUMKKzoxMDI1MjAwMEZERUY3QkRFRjdGREVGN0ZGRkZGMDVGRkZBRkU3RkVGOUMKKzoxMDI1MzAwMEUzRkZGRkZEN0ZGRkZGRkZGRjVGRkZGRkZEN0ZGQkFGQkYKKzoxMDI1NDAwMEZGNjNDOEZGQkZFRkZGRkZGQTdGRkZGRkZGRkU5RkY3QUMKKzoxMDI1NTAwMEZGRkFCRkZFOUZGQjdGRkZGRkVGRDdGRkZGRjVGRkZGRjcKKzoxMDI1NjAwMEZGRkZGRDdGRkZGRkJGRkZGOUJGRkZCRTI3OUZFN0Y5MUEKKzoxMDI1NzAwMEZFN0Y4QkU3RkU3RjlGRTJGOUZFN0Y5RkU3RjE3RkZGMDMKKzoxMDI1ODAwMEZGRkZGQkZFRkZGRkZGRDdGRkZGRkZGRkY1RkZGRkZGOTIKKzoxMDI1OTAwMEQ3RkZGQUZGRkVGRkZGRkZGREZGRkZGRkFGRjdGRkZGRDMKKzoxMDI1QTAwMEZGRUJGRkZGRkZBRkZGQzRGRkY3RkZGRkVGRkZGRkZGRjIKKzoxMDI1QjAwMEZGNUZGRkZGRkZGRkQ3RkZGRkZGRkZGRkVCRkZGQjdBOTAKKzoxMDI1QzAwMERGRjdGREZGRkZGRUJGRkZGRjdGRkZBRkZGRkZGRkY3NUUKKzoxMDI1RDAwMEVGRTNGRkRERDJGRkRGRkZGRkYyRkNCRkNCRjZGREJGNzUKKzoxMDI1RTAwMDJGQ0JGRjdGREZERUFGRkZEQUVFQkZBRkU5RkFGNEJEM0UKKzoxMDI1RjAwMEFGNUFBRUJCQUI2QkRBREVCRkFERDc1RUZGRkZCRkZDNDEKKzoxMDI2MDAwMEZGREZGREZGRkZGRkZGREZGN0ZGRkZGRkZGRkRGRkZBMkIKKzoxMDI2MTAwMDFGRkZGRUZCRUZCRkZERkZGREJENzdGRkZGRkZGRjlEMkYKKzoxMDI2MjAwMEVGRkZGRkZGRUY3REZGRkJGRUVGRkZGRkZGRkZGRkY3NzkKKzoxMDI2MzAwMEZGRkZGRkZGRkZGRkZGRUVCRkU0RkJGRkZFM0ZGRUZGREMKKzoxMDI2NDAwMEZGRkZGRkFGRUFGRUJGQUZFQkZBRkVGRkZGRkY1NUY2NUQKKzoxMDI2NTAwMEZGRkVGN0ZGN0ZGRkVCRjc1RkM1RkQ3RjVGRDdGNUZGNUQKKzoxMDI2NjAwMDZGRkJGRjhBRkZGRkZGRkZFQkZGRkZGRkZGRkJCRkJGMUIKKzoxMDI2NzAwMEVGRkJGRkZGRkZGRkZCRkY3N0RGRkJGRkZEN0ZFRkZGQzAKKzoxMDI2ODAwMEZGRkZCRjdGRkZERkJGRkZGQkZGRkZGRkZFRUZERkZGQUYKKzoxMDI2OTAwMEZFRkY5RkVGN0RGRkY3RkY3RkZGRkZERkY3RkRGRkVGRkYKKzoxMDI2QTAwMERGRkZERkZGRkZGRkZGRkZGRkZGRkZGRkZERkZGRkZCODAKKzoxMDI2QjAwMEZERkZCRkRGRDFGRkY4M0JGRkZGRkZGRkZGRkZGRkZGODUKKzoxMDI2QzAwMDdFREJGREZGNzdEQkI3N0RCRkZCRkZGODdGRUQ3QjVFMzkKKzoxMDI2RDAwMEZGRkVGRkZGNEZEN0ZEN0ZERkQ3RjVGRjdGRkZGRkZGMzcKKzoxMDI2RTAwMEYyM0ZGRUZGQkZGRkZGRkZGRkJGRUZGRUZGM0JFRUZGMkUKKzoxMDI2RjAwMEZDRUZGRkZGRkY4NUZGRkRGRUZGRjVGRkZGRkVGRkRGQTUKKzoxMDI3MDAwMEZCRkY1RkJGRkZGREZGRkZGRkZGQThGRkZGOUY5RUZGRDcKKzoxMDI3MTAwMEZGRkY3RkYzRkZGRkNGRkZGN0ZERkY3RkZGRkZGQzE2RkIKKzoxMDI3MjAwMEJGQ0ZBM0U1RUY3RkZGRjNFNEZGQ0Y5M0ZDRkYzRkNGRTUKKzoxMDI3MzAwMEZGRkZGRkQ2MEY3REJGNkVGQkY0RkNBRjZEREI3N0I3RkQKKzoxMDI3NDAwMDZEREJGNkZEQkZGRkZGRkZCRjlCRkFERUI3QjdFREY5MEMKKzoxMDI3NTAwMDdFQjdBQ0VCRDZCM0FERUI3QURGRkZGRkZGRDhCRkZGQTAKKzoxMDI3NjAwMEI3RUQ5RjZGRERGNzY4REIzN0IzNkNEQjM2Q0RCMzdGM0EKKzoxMDI3NzAwMEZGN0ZGNTZGRkRFRjc5M0RGNzkzRTQ3QTlFQURFQTdBM0UKKzoxMDI3ODAwMDlFRjdCREVGRkZGRkZGNzY3RkZCQzZGRkJCRUZEQUZFRDQKKzoxMDI3OTAwMEZEQkZGQkZFRkZCRkVGRkJGRkZGRkJGRkE1RkZGREFCOTgKKzoxMDI3QTAwMDZGNzhERTE3OEY3OURGRkRGRjdGREZGN0ZERkZGRkZCMUYKKzoxMDI3QjAwMEZGRkJGRkVGRkJFRkZCRkVGRkJCREFGM0VGM0JDRUYzREMKKzoxMDI3QzAwMEJDRUYzRkNGREZGRkI3RkZGRkZGQ0Y3M0ZGQkZFRkZGRDAKKzoxMDI3RDAwMEYzRkYzRkNGRjNGQ0ZGM0RDRjlGRkUwN0ZGQUZFQkZFQzQKKzoxMDI3RTAwMEZEQkZFRkVCRkFGRkFGRUJGQUZFQkZBRkZCRkUzRkZCMjcKKzoxMDI3RjAwMDlCRkY3RkRGRkZGM0ZFRkZERUY3QkY3QkRFRjdCREVGNjIKKzoxMDI4MDAwMDdCRkVGRkZGREYzRkZFRkZCN0ZGRUZGN0ZGQkZFREZFRjEKKzoxMDI4MTAwMERGQjdFREZCN0VERkZGRkZGRkZENUZFRkVCRkFGRUY1QkQKKzoxMDI4MjAwMEJGNkZGRkZGRkZGRkZGRkZGRkZGRkZGRUY4RkZBOEZGRTcKKzoxMDI4MzAwMEZGQkZFRkZCNkFGQkI3RUZGQkZGQkZFRkZCRkVGRkJGODYKKzoxMDI4NDAwMEVGRkJGRkUwRkZGRkZEN0Y1Q0Q3N0RERkYzNUNGNUNEQTUKKzoxMDI4NTAwMDczNUVEN0I1RkQ3RkVGRkZEQkZGRkZFMkY4QkUyRjhGODIKKzoxMDI4NjAwMEU3RjhCRTZCRTJGOEJFMkY4QkUyRjlGRTdGRTdGRkQ3RjkKKzoxMDI4NzAwMEY1RkQ3RkZGRjdGNUZEN0ZEN0Y1RkQ3RjVGRDdGNUZGMEUKKzoxMDI4ODAwMEZGRkY4RkZGQUZFQkZBRkZGRkJGRUJGQUZGMkZFQkZBNzMKKzoxMDI4OTAwMEZFQkZBRkVCRkZGRkZFNUZGRjVGRkZGRkZERkZGRkQ3NTgKKzoxMDI4QTAwMEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkJGRkVCN0ZEQzMKKzoxMDI4QjAwMEZGN0VERkY3QURGRjdGRjdGREZGN0ZERkY3RkRGRjdGRDcKKzoxMDI4QzAwMEY2N0ZGRkZGRkZEQkY2RkNBRkZGRkZGRkZGRjdGRkZGMjkKKzoxMDI4RDAwMEZGRkZGRkZGRkZFQ0JGRkZBRkVCRkFGNkFCOEZFQkZBQUEKKzoxMDI4RTAwMEY3QTVFQkZBQkVCRkFGRUJGQUZGNkRGRkZGN0ZERjMzNUIKKzoxMDI4RjAwMERERkY3RkZFRjdGQzdGRkJGRkZGRkZGRkZGRkZGRkE5NzAKKzoxMDI5MDAwMEZGRkRGRkZGRkVGRkZGREZGRkZGRUZFRkZERkY3RkZGOUMKKzoxMDI5MTAwMEZGRkZGRkZFQTdGRkZGRkY3N0RGRjdGRDlGN0ZGRTc3M0IKKzoxMDI5MjAwMEVGRkZGRkZGRkZGRkZGRkZGRkFGQkZBRkZGRjlCRUJGMkUKKzoxMDI5MzAwMDhGRkJGRUZFRUZGQkZFRkZCRkVGRkJGRkZGRkRERjZGMzgKKzoxMDI5NDAwMEVGRkY3RkZGQkZCRkRGRkZGQ0ZGREZGN0ZERUY3RkRGQTQKKzoxMDI5NTAwMEZGRkZGRjNGRjZGRkNGRkZEQkZCRjdGRkVCN0FGRkZGNDkKKzoxMDI5NjAwMEZGQkZFRkZCRkZGRkZGRkU2REZERkY1RkZCRkZGRkY3MEMKKzoxMDI5NzAwMEZGNUZGNUZGRkZGRkZGRkZGRkZGRkZGRkY4RkZGQkZGMUMKKzoxMDI5ODAwMEZGRkRGRkZGRkZGRkU3RjZCRkZGRkZGRkZGRkJGRkZGQkUKKzoxMDI5OTAwMEZGQzlGRkZGRkZCREZGQkZBRkVGRUYzRkQxRkM3RkZCRTQKKzoxMDI5QTAwMEM3RkZGRkZGRkZGRkUzRkZGRkZGRkZGREZGRkY3N0ZGMTUKKzoxMDI5QjAwMERGQjdGREY3RkRGN0ZGRkZGRkZGRkY1N0ZGRjdBNUZEQUYKKzoxMDI5QzAwMDNGREZCRkJGRkU3RkZGRkZGRkRGRkFGREZGRkZGRkZFMjAKKzoxMDI5RDAwMDg3RkZFOUZGRkVFRkJGRUZGRUZFRkZFRkZGRkZGRkZGMDgKKzoxMDI5RTAwMEZGRkZGRkZGRkE5RkZGM0ZGRkZERkQ1N0RGRkRGM0ZGRjYKKzoxMDI5RjAwMERGRkRGRjVGREZGNUZERkZGRkY5OEZGRkZGRkZFRTdGREMKKzoxMDJBMDAwMEZGRkZCRjVFRkVFQ0ZCM0Y3RjlGRUZGOUZGRkZDRDZCNEIKKzoxMDJBMTAwMEZGRkZGRkM1RjNGQ0ZBMzhGRkFGM0ZFRTdGOUZGRkQ5MDIKKzoxMDJBMjAwMEZGRkZGRDdBRjdGRkYzRkZBRjZGREJGMkI5RTlGQkZGQzIKKzoxMDJBMzAwMEZGRkZGRUZGRkZFRkZGRkJDNUJGRkZFRkZGNUVCN0FEODAKKzoxMDJBNDAwMENENzk3Q0ZGRkZGRkZGRkZGRkZGRkZGRkZEOTNGRkVGNEYKKzoxMDJBNTAwMEVBRkVCRkVGNUJEMkNERjU2RDc3REZGN0ZERkY3RkRGREQKKzoxMDJBNjAwMEZGRkY2NkZGRDU2NTdENUY3NTlENjU3RkQ2RkI0RkZGRDgKKzoxMDJBNzAwMEZGRkZGRkZGRkZGRkY2QzdGRkJGRUZGQUZFRkZCRkVCNTEKKzoxMDJBODAwMEZGREZGRjdFRkZGRkVGRkQ3RUQ3RkY3OERGRkY1RkRGMTkKKzoxMDJBOTAwMEY1QkY3RkRGQzVGRjNGRjY3RUZGMEZFRkYyM0VCRkZGQzIKKzoxMDJBQTAwMEZCM0ZGRkZCN0ZGRkIzRkVGQkY2RkRGRkRBRjdGREZGMDkKKzoxMDJBQjAwMDdGREZGN0JGRkZGQTdGRkZGRkZGRkY5RkZGRjNEQ0Y5MjgKKzoxMDJBQzAwMEJGQ0VFN0Y5RkU3RjlGRTdGRkZGRTI3RkZFRkZCRkVGOEMKKzoxMDJBRDAwMEVCRkFGRjlGNjcxRUZGOEZFN0Y4RkU3RjhGRUZGRkJEQ0EKKzoxMDJBRTAwMEJGRkZGQkZGRkZERkY3RkZGQ0ZGQkZGRkZGRkZGRkZGQTUKKzoxMDJBRjAwMEZGRkZGRkZEQjNGRkZGRUZGRkZGQkZFREZGRkJFRUZFQUMKKzoxMDJCMDAwMEZGRkZFRkZGRkVGRkZGRkZGRkI1RkZCN0ZERkQ2RUZGMEQKKzoxMDJCMTAwMEZGRkVGRDJGRDhGRUJGOEZFQkY5RkUzRkZGRkFDRkZGODAKKzoxMDJCMjAwMEU3RDlGQUJGREY3N0ZDRkIzRkFCRkVGRkJGRUZGQkZFNTEKKzoxMDJCMzAwMEZGRkZFRTFGRkZERkY3RkZGRkZGNUY5NzM1QkY1RUZFNzIKKzoxMDJCNDAwMEJGRUZGRkY3RkRGRkZGRkFCRkZGQkU2RjlGRTdGOEJFQzUKKzoxMDJCNTAwMDJGOEI2Njk0N0Q5REU3RjlGRTdGOUZFN0YxN0ZGRkZGNTYKKzoxMDJCNjAwMEZGRjdGNUZEN0Y1RkZCRkQ5RUZGRkJGRUZGRkZFRkZGMjUKKzoxMDJCNzAwMEZGQTBGRkZGRkZCRkVGRUJGQUZFQkZCN0Y3RjdGRkZGQzYKKzoxMDJCODAwMEZERkZGRkZGRkZGRkRERkZGREZGRkZGRkQ3RkZGRkZGQTMKKzoxMDJCOTAwMDdGRjVGRkZGRUZGRkZGRkZCRkZGRkZBQkZFRkJGRUZGNzkKKzoxMDJCQTAwMEY3QUZGRkZGREVGN0VCNUZERkY3RkRGRjdGREZGRkZGMzQKKzoxMDJCQjAwMEIzRkZDOUZFRkZGRkZGRkZENkZGRkZDQkZGRkZERkZGMjUKKzoxMDJCQzAwMEZGRkZGRkZGRkM4RkZGQkFCRUJGQUZFQjc4RkVCN0FERDQKKzoxMDJCRDAwMDNBRkVCN0FGRUI3QUZFQkZBRkZGOUZGRkZGREZGQ0ZGMTAKKzoxMDJCRTAwMEZGRkVDM0ZFRkZGRjMzRkNGRkJGREZGM0ZGRkZCQjlGMTIKKzoxMDJCRjAwMEZGRkZGRkVCREZGRkZGQUZGNzZGRjlCRkVGRkRGRkZGNTkKKzoxMDJDMDAwMEZGRkZGRkUzN0ZGRkZGRkZGQkZGRkZCRkZERkJGN0ZGQzIKKzoxMDJDMTAwMERGRjdGRkZFRUY1RkJERkZGQUZGRjhGRkJGQUZGQkZFODAKKzoxMDJDMjAwMEZFM0ZFRkU4RkZERkYzRkRGRkZGRkZGRkZGRURGRkZCRTAKKzoxMDJDMzAwMEZERkZBRkZGRkZGRUZFQkZEQkZGRkZGRkJGRkZERkZGQkMKKzoxMDJDNDAwMEZERkZDQkZGRkZGRkZGRkZCRjZGRkY3RkI3QjNGRkZGQUUKKzoxMDJDNTAwMERGRkZGQkVGRkZGRkZGMDdGRkZCRkZGRkZGRURGRkY1RDAKKzoxMDJDNjAwMDdDRkY3RkZFRkZGRkVGQ0ZGRkZCRkZGRjJGRkZGRkZGOEMKKzoxMDJDNzAwMEZGRjNGRkZCRkZGRUZGRkZGRkZGRkZGRkJGRkZGRkZGQjUKKzoxMDJDODAwMEZEMUJGRkZGRkZGRkZGRkZGRkZGRkU3Q0ZGRkZGRkZGQkUKKzoxMDJDOTAwMEVGRkZGRkZGRkZGQkJGN0ZGREZGRkZGRkZGRkZGRkZGMUEKKzoxMDJDQTAwMERCRkZGRkZGRkZGRkZGRkRGRkZGRjA3RkZGRkZGRkZGRTkKKzoxMDJDQjAwMEZGRkZGRkZGRkZGQkZGREZGRkZGRkZGRkZGRkRCRkZFOEIKKzoxMDJDQzAwMDdGRkZGRkZGRkZGRkZGRkZGRkVGRkVGRkJGRkZGRkZGRTUKKzoxMDJDRDAwMEZGRkZFRkZBQjVGRkZGRkZGN0Y3RkZGRkZGRkZERkZCOTcKKzoxMDJDRTAwMEZDRkZGRkZFRkY3RkRGQkZGRkNCQkZGOUZFN0Y5RkU3NEIKKzoxMDJDRjAwMEY5RkU3Rjk3RTFGRTc5OUZFN0ZERkU3RkRGRkUzN0ZGNUMKKzoxMDJEMDAwMEZCREVERUJERUZGM0ZFRkJBRkVCRkVGRkZGQ0ZGRkZFMTIKKzoxMDJEMTAwMEZGQkZGRjhGRkZFRkZCRkVGRkJGRTdGOTVFN0ZFRkZCMUIKKzoxMDJEMjAwMERBRkZCRkVGRkJGRUZGRkQxRkZGRkZGRkZGRkZGRkRGMkYKKzoxMDJEMzAwMEZGRkY3RkZGRkZGN0ZCN0ZGRkZGRkZGRkZDM0ZGRkJGQjIKKzoxMDJENDAwMEVGRkJGRUZGQkZFRjdCN0ZCRkVGRkJGRUZGQjVFRkZCQUYKKzoxMDJENTAwMEJGRkE3RkZDRkYzRkNGRjNGQ0ZGM0ZDRkJDRkYzRkVGNEQKKzoxMDJENjAwMEYzRkNGRTNGQ0ZGRkVFRUZGQkZFRkZCRkVGRkI2QUQ3QUEKKzoxMDJENzAwMEI3RkJGOEZGQjdFRkJBRkVGRkJGN0ZFOUZGRjk3RTVGNTEKKzoxMDJEODAwMDk3RTVGOUZFN0ZCRkY5N0U1RjlGRTVGQkZFNUZCN0ZGMkEKKzoxMDJEOTAwMEEzRkZGN0ZERkY3RkRGRjdGREZGNUVGNzdERkY3N0RGMjYKKzoxMDJEQTAwMEY3RkRGRjdGRkZEN0ZGRkZGRkZGRkZGRkZEREZGQjdGOEIKKzoxMDJEQjAwMEZGRkZFRkZGRkVGQkZGRkZCRkZFOEZGRkRGRjdGREZEMTUKKzoxMDJEQzAwMDdGREZGN0ZEM0VERkY1QkRGRjdGREZGN0ZERjdGRjlGRkMKKzoxMDJERDAwMEZGRkZGRkZGRkZGRkZGRkZGRkZERkZCRUZGRkZGRkZGNDYKKzoxMDJERTAwMEZGRkZGRkZEM0ZGRkRGRjdGREZGN0ZERkY3RkRGRkNGQjkKKzoxMDJERjAwMDc3RkNGRjVGREZGN0ZERkZGNDdGRkZGRkZGRkZGRkZGQzMKKzoxMDJFMDAwMEZGRkZGRkZGRkZGRkZGRkZGRkZERkZGRkZGRUVGRkZGRTUKKzoxMDJFMTAwMEZGRkZGRkZGRkZGRkZGRkZFREZCRkZGRkJGRkZGRkZGMTgKKzoxMDJFMjAwMEZGRkZFOUZGRkZGRkZGRkZGRkZCRkZGRkZGRDNGRkZGRjgKKzoxMDJFMzAwMEJGM0ZGQkZGRkZGRkZCRjNGRkZGRkZGRkZGRkZGRkZGQjYKKzoxMDJFNDAwMEZGRkZGRkZGRkZGRUZGRjdGRkZGRkZGRjE3RkZGRkZGODMKKzoxMDJFNTAwMERGRkZGREZGRkZGRkZGRkZERkRGRkZGREZGRkZERkY3MEUKKzoxMDJFNjAwMEZGNEZGRkZGRkZGRkZGRkZGRkZGRkZGRUZGRkZGRkZEMjUKKzoxMDJFNzAwMEZGRkZGRkZGRkVGRjlGRkZGRkZGRkZGRkZGRkZGRkZGQzMKKzoxMDJFODAwMEZERkZGRkZGRkZGRjdGRkZGRkZGN0EzRkZGRkZGRkZGMTkKKzoxMDJFOTAwMEZGRkZGRjdGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYyQ0YKKzoxMDJFQTAwMDdGRkZGQkZFRkZCRkVGRjhGRUZGQkZGQkZFRkY4RkVDRDcKKzoxMDJFQjAwMEZCRkVGRkJGRjhGN0ZFRkZCRkVGRkJGRUZEQkZDRkVDNTEKKzoxMDJFQzAwMEZGM0ZFRkRCRjhGRkJGQ0ZGRkY5RkZGRkJGRkZGQkZGQzcKKzoxMDJFRDAwMEZGRkZFRkZCREZGRkZGRkZGRkZGQkZGRkZGRkZCQkZGQkEKKzoxMDJFRTAwMEVGRkJGRUVGQkZFRUVCRkJGRUZGRUZGRUVFQkZGRUVCRjgKKzoxMDJFRjAwMEZGRUZGRjE3RkY3RUVCQkJGRUJGQkVGQkVGNUJGN0JEMzcKKzowQTJGMDAwMEZCQ0ZCRkJGQkJGQjdFQ0NFRkZGOTEKKzowMDAwMDAwMUZGCisKKyAqIENvcHlyaWdodCAoQykgMTk5OSBCYXlDb20gR21iSAorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgcmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZQorICogY29kZSByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgY29tbWVudCB3aXRob3V0CisgKiBtb2RpZmljYXRpb24uCmRpZmYgLS1naXQgYS9maXJtd2FyZS9kYWJ1c2IvZmlybXdhcmUuSEVYIGIvZmlybXdhcmUvZGFidXNiL2Zpcm13YXJlLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzI1OGRmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZGFidXNiL2Zpcm13YXJlLkhFWApAQCAtMCwwICsxLDY0OSBAQAorOjAyMDAwMDAwMjE1Nzg2Cis6MDMwMDAzMDAwMjAxNjY5MQorOjAzMDAwQjAwMDIwMTY2ODkKKzowMzAwMTMwMDAyMDE2NjgxCis6MDMwMDFCMDAwMjAxNjY3OQorOjAzMDAyMzAwMDIwMTY2NzEKKzowMzAwMkIwMDAyMDE2NjY5Cis6MDMwMDMzMDAwMjAzMEZCNgorOjAzMDAzQjAwMDIwMTY2NTkKKzowMzAwNDMwMDAyMDEwMEI3Cis6MDMwMDRCMDAwMjAxNjY0OQorOjAzMDA1MzAwMDIwMTY2NDEKKzowMzAwNUIwMDAyMDRCRERGCis6MDMwMDYzMDAwMjAxNjczMAorOjAzMDEwMDAwMDIwQzVBOTQKKzowMzAxMDQwMDAyMDFFRDA4Cis6MDMwMTA4MDAwMjAyNTE5RgorOjAzMDEwQzAwMDIwMjdDNzAKKzowMzAxMTAwMDAyMDJFNDA0Cis6MDEwMTE0MDAzMkI4Cis6MDEwMTE4MDAzMkI0Cis6MDMwMTFDMDAwMjA1RkREQworOjAzMDEyMDAwMDIwMDAwREEKKzowMzAxMjQwMDAyMDAwMEQ2Cis6MDMwMTI4MDAwMjA0M0M5MgorOjAzMDEyQzAwMDIwNDZBNjAKKzowMzAxMzAwMDAyMDAwMENBCis6MDMwMTM0MDAwMjAwMDBDNgorOjAzMDEzODAwMDIwMDAwQzIKKzowMzAxM0MwMDAyMDAwMEJFCis6MDMwMTQwMDAwMjAwMDBCQQorOjAzMDE0NDAwMDIwMDAwQjYKKzowMzAxNDgwMDAyMDAwMEIyCis6MDMwMTRDMDAwMjAwMDBBRQorOjAzMDE1MDAwMDIwMDAwQUEKKzowMzAxNTQwMDAyMDAwMEE2Cis6MEEwMTU3MDA3NTgxN0ZFNTgyNjAwMzAyMDE2MUZCCis6MDUwMTYxMDAxMjA3NkYyMTY0OEMKKzowMTAxNjYwMDMyNjYKKzowRTAxNjcwMEMwRDBDMDg2QzA4MkMwODNDMEUwOTA3Rjk3RTAwOQorOjBFMDE3NTAwNDQ4MEYwOTA3RjY5RjBGMEYwRjBGMEYwRjBGMEQwCis6MEUwMTgzMDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwNEUKKzowRTAxOTEwMEYwRjBGMEYwRjBGMEYwRjBGMEYwOTA3Rjk3RTA3QQorOjAzMDE5RjAwNTU3RkYwOTkKKzowRTAxQTIwMDkwN0Y5QUUwMzBFNDIzOTA3RjY4RjBGMEYwRjA1OAorOjBFMDFCMDAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMDIxCis6MEUwMUJFMDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwMTMKKzowRTAxQ0MwMEU1RDhDMkUzRjVEOEQwRTBEMDgzRDA4MkQwODY0QgorOjAzMDFEQTAwRDBEMDMyNTAKKzowODAxREQwMDc1ODYwMDkwRkZDMzdDMDU0QworOjA3MDFFNTAwQTNFNTgyNDU4MzcwRjlEOAorOjAxMDFFQzAwMjJGMAorOjBFMDFFRDAwQzBFMEMwRjBDMDgyQzA4M0MwMDJDMDAzQzBEMDFBCis6MEUwMUZCMDA3NUQwMDBDMDg2NzU4NjAwRTU5MUMyRTRGNTkxQ0UKKzowRDAyMDkwMDkwODgwMEUwRjU0MTkwN0ZBQjc0MDJGMDkwMEEKKzowOTAyMTYwMDdGQUI3NDAyRjBFNTMyNjAyMUI3Cis6MDQwMjFGMDA3QTAwN0IwMEU2Cis6MEIwMjIzMDBDM0VBOTQxOEVCNjQ4MDk0ODA1MDEyMzIKKzowRTAyMkUwMDkwN0Y2OUYwRjBGMEYwRjBGMEYwRjAwQUJBMDAwNgorOjAyMDIzQzAwMDEwQkI0Cis6MDIwMjNFMDA4MEUzNUIKKzowMjAyNDAwMEQwODY2NgorOjBFMDI0MjAwRDBEMEQwMDNEMDAyRDA4M0QwODJEMEYwRDBFMDU0Cis6MDEwMjUwMDAzMjdCCis6MEUwMjUxMDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwMzUKKzowRTAyNUYwMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTA3RkFCNzQ0MAorOjA0MDI2RDAwMDRGMEQwODY0MworOjBCMDI3MTAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMjlCCis6MEUwMjdDMDBDMEUwQzBGMEMwODJDMDgzQzAwMkMwMDNDMDA0NTYKKzowRTAyOEEwMEMwMDVDMDA2QzAwN0MwMDBDMDAxQzBEMDc1RDBCRQorOjBEMDI5ODAwMDBDMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTBFNgorOjBDMDJBNTAwN0ZBQjc0MDhGMDc1NkUwMDc1NkYwMjEyREMKKzowNjAyQjEwMDExNDQ3NTcwMzk3NTVGCis6MDYwMkI3MDA3MTBDNzU3MjAyMTJDOQorOjBDMDJCRDAwMTE3NTkwN0ZENkU0RjA3NUQ4MjBEMDg2MzMKKzowRTAyQzkwMEQwRDBEMDAxRDAwMEQwMDdEMDA2RDAwNUQwMDQ5MAorOjBEMDJENzAwRDAwM0QwMDJEMDgzRDA4MkQwRjBEMEUwMzIyRQorOjBFMDJFNDAwQzBFMEMwRjBDMDgyQzA4M0MwRDA3NUQwMDBDMEEyCis6MEUwMkYyMDA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwN0ZBQjc0QUQKKzowNDAzMDAwMDEwRjBEMDg2QTMKKzowQjAzMDQwMEQwRDBEMDgzRDA4MkQwRjBEMEUwMzIwNworOjBFMDMwRjAwQzBFMEMwRjBDMDgyQzA4M0MwMDJDMDAzQzAwNEMyCis6MEUwMzFEMDBDMDA1QzAwNkMwMDdDMDAwQzAwMUMwRDA3NUQwMkEKKzowQzAzMkIwMDAwQzA4Njc1ODYwMDc1NkUwMDc1NkYwMkJDCis6MDcwMzM3MDAxMjExNDQ3NTcwNDA3NUJFCis6MDYwMzNFMDA3MTBDNzU3MjAyMTI0MQorOjBFMDM0NDAwMTE3NTkwN0ZENjc0MDJGMDkwN0ZENjc0MDZGMDhCCis6MDUwMzUyMDA3NUQ4MTBEMDg2RjMKKzowRTAzNTcwMEQwRDBEMDAxRDAwMEQwMDdEMDA2RDAwNUQwMDQwMQorOjBEMDM2NTAwRDAwM0QwMDJEMDgzRDA4MkQwRjBEMEUwMzI5RgorOjBEMDM3MjAwOTA3RkE1NzQ4MEYwOTA3RkE2NzQ5QUYwMTIyMQorOjBDMDM3RjAwMTAxQjkwN0ZBNkU1NDJGMDEyMTAxQjkwQUUKKzowRDAzOEIwMDdGQTZFNTQzRjAxMjEwMUI5MDdGQTU3NDQwODMKKzowMTAzOTgwMEYwNzQKKzowMTAzOTkwMDIyNDEKKzowRDAzOUEwMDkwN0ZBNTc0ODBGMDkwN0ZBNjc0OUFGMDEyRjkKKzowQzAzQTcwMDEwMUI5MDdGQTZFNTQ0RjAxMjEwMUI5MDg0Cis6MEMwM0IzMDA3RkE2RTU0NUYwMTIxMDFCOTA3RkE2RTUyOAorOjBCMDNCRjAwNDZGMDEyMTAxQjkwN0ZBNTc0NDBGMDY4Cis6MDEwM0NBMDAyMjEwCis6MEEwM0NCMDA3NTQ0MDI3NTQ1MDA3NTQ2MDAxMkU2Cis6MDkwM0Q1MDAwMzlBNzU0MjAzNzU0MzAwMTJGRQorOjAyMDNERTAwMDM3MkE4Cis6MDEwM0UwMDAyMkZBCis6MEMwM0UxMDA5MDg4MDBFNTM2RjA5MDg4MDA3NDEwMjUyQworOjA5MDNFRDAwMzZGMDEyMDFERDc1NDIwMTc1QzQKKzowOTAzRjYwMDQzMTgxMjAzNzI3NTQ0MDI3NUVDCis6MDkwM0ZGMDA0NTAwNzU0NjAwMTIwMzlBNzVEMQorOjA4MDQwODAwNDIwMzc1NDM0NDEyMDM3MjI0Cis6MDEwNDEwMDAyMkM5Cis6MEUwNDExMDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwNzMKKzowRTA0MUYwMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTA3RkFBNzQ3RgorOjA0MDQyRDAwMDJGMEQwODY4MworOjBCMDQzMTAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMkQ5Cis6MEUwNDNDMDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwNDgKKzowRTA0NEEwMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTA3RkE5NzQ1NQorOjA3MDQ1ODAwMDRGMDc1MzAwMUQwODZBRAorOjBCMDQ1RjAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMkFCCis6MEUwNDZBMDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwMUEKKzowRTA0NzgwMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTA3RkFBNzQyNgorOjA3MDQ4NjAwMDRGMDc1MzEwMUQwODY3RQorOjBCMDQ4RDAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMjdECis6MEUwNDk4MDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwRUMKKzowQzA0QTYwMDg2NzU4NjAwRTU5MUMyRTVGNTkxRDA4NkQwCis6MEIwNEIyMDBEMEQwRDA4M0QwODJEMEYwRDBFMDMyNTgKKzowRTA0QkQwMEMwRTBDMEYwQzA4MkMwODNDMEQwNzVEMDAwQzBDNworOjBDMDRDQjAwODY3NTg2MDBFNTkxQzJFN0Y1OTFEMDg2QTkKKzowQjA0RDcwMEQwRDBEMDgzRDA4MkQwRjBEMEUwMzIzMworOjBDMDRFMjAwOTA3RkVBRTBGQThBMjA5MDdGOTZFNEYwMTgKKzowMTA0RUUwMDIyRUIKKzowNzA0RUYwMDkwN0ZFQUUwRkE4QTIxODgKKzowMTA0RjYwMDIyRTMKKzowRTA0RjcwMDkwMTcxM0UwRkE5MDE3MTVFMEZCNzQ4MDJBRkFCNAorOjBFMDUwNTAwNzQ4MDJCRkJFQTAzMDM1NDNGRkNFQUM0MjM1NDJBCis6MEUwNTEzMDAxRkZBMkNGQUVCMDMwMzU0M0ZGQ0VCQzQyMzU0RjUKKzowQjA1MjEwMDFGRkIyQ0ZCOTAxNzBBRTBGQzYwMDI5RgorOjAyMDUyQzAwN0EwMDUzCis6MDcwNTJFMDA5MDE3MENFMEZDNjAwMkQ1Cis6MDIwNTM1MDA3QjAwNDkKKzowQjA1MzcwMEVBMkJGQ0MzMTNGNTNBNzU0NDAyOEI1RAorOjA3MDU0MjAwNDU4QTQ2MTIwMzlBNzU3OQorOjA5MDU0OTAwNkUwODc1NkYwMDEyMTE0NDc1NzMKKzowNDA1NTIwMDcwNDc3NTcxMDgKKzowODA1NTYwMDBDNzU3MjAyMTIxMTc1ODU4QgorOjA1MDU1RTAwM0E3MzEyMTFBMDI4Cis6MDEwNTYzMDAyMjc1Cis6MEUwNTY0MDA5MDdGOTZFMEZBOTA3Rjk2NzQ4MDY1MDJGMDkwOEEKKzowRTA1NzIwMDdGRUJFMEZBOTA3RkVBRTBGQjkwN0ZFRkUwRkM4OQorOjBFMDU4MDAwMzM5NUUwRkQ4QzA1N0MwMDkwN0ZFRUUwRkUzM0FECis6MEUwNThFMDA5NUUwRkZFQzJFRkNFRDNGRkQ5MDdGRTlFMEZFRDYKKzowNTA1OUMwMEJFMDEwMjgwMDMxNgorOjAzMDVBMTAwMDIwNUY5NTcKKzowNjA1QTQwMEJDMDEyMUJEMDAxRTk4Cis6MEUwNUFBMDBFQUM0MDM1NEY4RkNFQjI1RTBGRDJDMjQwMEZDMTEKKzowRTA1QjgwMEU0MzQxN0ZEOTA3RUMwRTBGRThDODI4RDgzRjA0RgorOjAyMDVDNjAwODAzMTgyCis6MEUwNUM4MDBFQUM0MDM1NEY4RkFFQjI1RTBGQjJBRkEyNDAwRkIKKzowRTA1RDYwMEZCRTQzNDE3RkM5MDdFQzBFMEZEOEI4MjhDODMyQQorOjBFMDVFNDAwRjA3NDAxMkEyNDAwRkFFNDM0MTdGQjkwN0VDMTYzCis6MDcwNUYyMDBFMEZDOEE4MjhCODNGMDFDCis6MDMwNUY5MDA3NTM4MDE1MQorOjAxMDVGQzAwMjJEQworOjBFMDVGRDAwQzBFMEMwRjBDMDgyQzA4M0MwMDJDMDAzQzAwNEQyCis6MEUwNjBCMDBDMDA1QzAwNkMwMDdDMDAwQzAwMUMwRDA3NUQwMzkKKzowRDA2MTkwMDAwQzA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwNjEKKzowRDA2MjYwMDdGQUE3NDAxRjAxMjA1NjQ3NTM3MDBEMDg2QkMKKzowRTA2MzMwMEQwRDBEMDAxRDAwMEQwMDdEMDA2RDAwNUQwMDQyMgorOjBEMDY0MTAwRDAwM0QwMDJEMDgzRDA4MkQwRjBEMEUwMzJDMAorOjBFMDY0RTAwOTA3RkVCRTBGQTkwN0ZFQUUwRkI5MDdGRUVFMDE5Cis6MEUwNjVDMDBGQzMzOTVFMEZEOTA3Rjk2RTBGRTkwN0Y5Njc0NTMKKzowRTA2NkEwMDgwNjUwNkYwOTA3RjAwNzQwMUYwRUFDNDAzNTQyRQorOjBFMDY3ODAwRjhGRUVCMjVFMEZCMkVGRTI0MDBGQkU0MzQxNzE5Cis6MEUwNjg2MDBGRjhCODI4RjgzRTBGQjc0MDEyRTI0MDBGRUU0QzQKKzowRTA2OTQwMDM0MTdGRjhFODI4RjgzRTBGRTkwN0ZFOUUwRkYzNworOjAzMDZBMjAwQkY4MTBBMEIKKzowQTA2QTUwMDkwN0YwMEVCRjA5MDdGMDFFRUYwNzMKKzowODA2QUYwMDkwN0ZFOUUwRkJCQjgyMUExOQorOjAzMDZCNzAwQkEwMTBDNzkKKzowQzA2QkEwMDkwN0YwMEU0RjA5MDdGMDFFNEYwODAwQkUyCis6MEIwNkM2MDA5MDdGMDBFNEYwOTA3RjAxNzRCNUYwMUQKKzowODA2RDEwMDkwN0ZFOUUwRkJCQjgzMUJGNQorOjAzMDZEOTAwQkEwMTBENTYKKzowRDA2REMwMDkwN0YwMDc0MDFGMDkwN0YwMUU0RjA4MDBCMkUKKzowQjA2RTkwMDkwN0YwMEU0RjA5MDdGMDE3NDEyRjA5RAorOjA4MDZGNDAwOTA3RkU5RTBGQkJCODQxQ0QwCis6MDMwNkZDMDBCQTAxMEQzMworOjBEMDZGRjAwOTA3RjAwNzQwMUYwOTA3RjAxRTRGMDgwMEMwQQorOjBDMDcwQzAwOTA3RjAwNzQ4MEYwOTA3RjAxNzQwMUYwNzkKKzowNTA3MTgwMDkwN0ZCNUVDRjAzQworOjAxMDcxRDAwMjJCOQorOjBDMDcxRTAwNzUzNjBEOTA4ODAwNzQxREYwNzU2QjgwMUUKKzowQTA3MkEwMDc1NkMzQzEyMTBFMjc1NkI4MDc1Q0YKKzowOTA3MzQwMDZDMEYxMjEwRTI3NTZCODA3NTY4Cis6MDkwNzNEMDA2QzA2MTIxMEUyNzU2QjgwNzU2OAorOjA3MDc0NjAwNkMwMTEyMTBFMjdBMDBDMQorOjAzMDc0RDAwQkFGRjAwRjAKKzowMjA3NTAwMDUwMEE0RAorOjBBMDc1MjAwQzAwMjEyMDFEREQwMDIwQTgwRjE5RQorOjBBMDc1QzAwNzU2QjgwNzU2QzNDMTIxMEUyNzU5RAorOjA4MDc2NjAwNkI4MDc1NkMwRjEyMTBFMkFDCis6MDEwNzZFMDAyMjY4Cis6MEUwNzZGMDA5MDdGQTFFNEYwOTA3RkFGNzQwMUYwOTA3RjkyMzQKKzowRTA3N0QwMDc0MDJGMDc1OEUzMTc1ODkyMTc1ODgwMDc1Qzg3QgorOjBFMDc4QjAwMDA3NThENDA3NTk4NDA3NUMwNDA3NTg3MDA3NUVCCis6MDkwNzk5MDAyMDAwNzUyMTAwNzUyMjAwNzU5NQorOjA1MDdBMjAwMjMwMDc1NDcwMDczCis6MDcwN0E3MDBDM0U1NDc5NDIwNTAxMTQ3Cis6MEQwN0FFMDBFNTQ3MjQwMEY1ODJFNDM0MTdGNTgzRTRGMEZDCis6MDQwN0JCMDAwNTQ3ODBFODg2Cis6MDkwN0JGMDBFNEY1NDBGNTNGRTRGNTNDRjVEQQorOjA3MDdDODAwM0JFNEY1M0VGNTNENzUzMQorOjBCMDdDRjAwMzIwMDc1MzcwMDc1MzkwMDkwN0Y5M0YxCis6MEUwN0RBMDA3NDNDRjA5MDdGOUM3NEZGRjA5MDdGOTY3NDgwQ0EKKzowRTA3RTgwMEYwOTA3Rjk0NzQ3MEYwOTA3RjlENzQ4RkYwOTA2RAorOjBFMDdGNjAwN0Y5N0U0RjA5MDdGOTU3NEMyRjA5MDdGOTg3NDI2Cis6MEUwODA0MDAyOEYwOTA3RjlFNzQyOEYwOTA3RkYwRTRGMDkwMzIKKzowRTA4MTIwMDdGRjFFNEYwOTA3RkYyRTRGMDkwN0ZGM0U0RjBFOQorOjBFMDgyMDAwOTA3RkY0RTRGMDkwN0ZGNUU0RjA5MDdGRjZFNDMyCis6MEUwODJFMDBGMDkwN0ZGN0U0RjA5MDdGRjhFNEYwOTA3RkY5MEYKKzowRTA4M0MwMDc0MzhGMDkwN0ZGQTc0QTBGMDkwN0ZGQjc0QTBFNworOjBFMDg0QTAwRjA5MDdGRkM3NEEwRjA5MDdGRkQ3NEEwRjA5MDAxCis6MEUwODU4MDA3RkZFNzRBMEYwOTA3RkZGNzRBMEYwOTA3RkUwMTAKKzowRTA4NjYwMDc0MDNGMDkwN0ZFMTc0MDFGMDkwN0ZERDc0ODBFOAorOjBCMDg3NDAwRjAxMjEyNDMxMjA3MUU3QTAwN0IwMEY2Cis6MDkwODdGMDBDM0VBOTQxRUVCOTQwMDUwMTcyQgorOjBDMDg4ODAwOTA4ODAwRTBGNTQ3OTA4ODBCRTBGNTQ3RjEKKzowOTA4OTQwMDkwN0Y2OEYwMEFCQTAwMDEwQjI0Cis6MDIwODlEMDA4MEUwRjkKKzowQzA4OUYwMDEyMDNFMTkwN0ZENkU0RjA3QTAwN0IwMEE5Cis6MEQwOEFCMDA4QTA0OEIwNUMzRUE5NEUwRUI5NDJFNTAxQUVBCis6MEUwOEI4MDBDMDAyQzAwM0MwMDRDMDA1MTIwMURERDAwNUQwOEYKKzowQTA4QzYwMDA0RDAwM0QwMDIwQUJBMDAwMTBCQUYKKzowMjA4RDAwMDgwRDlDRAorOjBEMDhEMjAwOTA3RkQ2NzQwMkYwOTA3RkQ2NzQwNkYwOTBFRgorOjBFMDhERjAwN0ZERTc0MDVGMDkwN0ZERjc0MDVGMDkwN0ZBQzMzCis6MEUwOEVEMDBFNEYwOTA3RkFENzQwNUYwNzVBODgwNzVGODEwRUEKKzowRDA4RkIwMDkwN0ZBRTc0MEJGMDkwN0ZFMjc0ODhGMDkwNTcKKzowQzA5MDgwMDdGQUI3NDA4RjA3NUU4MTE3NTMyMDE3NUMyCis6MEMwOTE0MDAzMTAwNzUzMDAwQzAwNEMwMDUxMjA0Rjc2QgorOjBBMDkyMDAwRDAwNUQwMDQ3NTM0MDA3NTM1MDFEMAorOjBEMDkyQTAwOTA3RkFFNzQwM0YwOEMwMkJBMDAwMjgwMDNDRgorOjAzMDkzNzAwMDIwQTNGNzIKKzowQzA5M0EwMDg1MzMzNDkwN0Y5RDc0OEZGMDkwN0Y5NzgwCis6MEUwOTQ2MDA3NDA4RjA5MDdGOUQ3NDg4RjA5MDdGOUFFMEZBMUMKKzowQzA5NTQwMDc0MDU1QUY1MzM5MDdGOUQ3NDhGRjA5MDZECis6MEQwOTYwMDA3Rjk3NzQwMkYwOTA3RjlENzQ4MkYwRTUzMzY0Cis6MEQwOTZEMDAyNUUwRkE5MDdGOUFFMDU0MDVGQjRBRjUzMzJGCis6MDIwOTdBMDA2MDBDMEYKKzowQzA5N0MwMDkwN0Y5NkUwRkE5MDdGOTY3NDgwNEFGMDFECis6MEIwOTg4MDA3NTZFMDA3NTZGMDBDMDA0QzAwNTEyMDIKKzowRTA5OTMwMDExNDREMDA1RDAwNDkwMTcxM0UwRkE3NDgwMkFBNgorOjA2MDlBMTAwRkFFNTMzQjQwNDI5NUQKKzowMzA5QTcwMEJBQTAwMEYzCis6MDIwOUFBMDA1MDI0RDcKKzowRDA5QUMwMDkwMTcxM0UwMDRGQjBCOTAxNzEzRUJGMDkwNzUKKzowRTA5QjkwMDE3MTNFMEZCOTAxNzE1RjBDMDAyQzAwNEMwMDUzNAorOjA5MDlDNzAwMTIwNEY3RDAwNUQwMDREMDAyOUYKKzowNTA5RDAwMEU1MzNCNDAyMjYyRQorOjA2MDlENTAwQzM3NDA0OUE1MDIwRDcKKzowRDA5REIwMDkwMTcxM0UwRkExQTFBOTAxNzEzRUFGMDkwMjMKKzowRDA5RTgwMDE3MTNFMEZBOTAxNzE1RjBDMDA0QzAwNTEyQjcKKzowNjA5RjUwMDA0RjdEMDA1RDAwNDU4Cis6MDUwOUZCMDBFNTMzQjQwODFEMDYKKzowNDBBMDAwMEU1MzQ3MDE5NTAKKzowQTBBMDQwMDc0MDEyNTM1NTQwRkY1MzU4NTM1RDIKKzowQzBBMEUwMDc1NzU3NjAwQzAwNEMwMDUxMjEzRkVEMDAwCis6MDMwQTFBMDAwNUQwMDQwMAorOjA1MEExRDAwRTUzM0I0MDExREVBCis6MDQwQTIyMDBFNTM0NzAxOTJFCis6MEEwQTI2MDBFNTM1MjRGRjU0MEZGNTM1ODUzNTQyCis6MEMwQTMwMDA3NTc1NzYwMEMwMDRDMDA1MTIxM0ZFRDBERQorOjAzMEEzQzAwMDVEMDA0REUKKzowRTBBM0YwMEMwMDRDMDA1MTIwMURERDAwNUQwMDQ5MDdGOTZFMgorOjBFMEE0RDAwRTBGQTkwN0Y5Njc0N0Y1QUYwOTA3Rjk3NzQwOEJECis6MEEwQTVCMDBGMEMzRUM5NDAwRUQ5NDAyNDAwODkzCis6MDgwQTY1MDA5MDdGOTZFMEZBMjBFNjA4RkMKKzowODBBNkQwMEMzRTQ5Qzc0MDg5RDUwMTNDMgorOjBFMEE3NTAwOTA3Rjk2RTBGQTkwN0Y5Njc0NDA2NTAyRjA3Q0M4Cis6MDUwQTgzMDAwMDdEMDA4MDA1NkMKKzowNTBBODgwMDBDQkMwMDAxMEQ5MworOjA1MEE4RDAwRTUzOEI0MDEwRTg0Cis6MEQwQTkyMDBDMDA0QzAwNTEyMDRGN0QwMDVEMDA0NzUzODZCCis6MDEwQTlGMDAwMDU2Cis6MDcwQUEwMDBFNTMxNzAwMzAyMDkyQTkxCis6MEEwQUE3MDA5MDdGQzlFMEZBNzAwMzAyMEMyREU1Cis6MEUwQUIxMDA5MDdGOTZFMEZBOTA3Rjk2NzQ4MDY1MDJGMDkwMzgKKzowOTBBQkYwMDdEQzBFMEZBQkEyQzAyODAwM0FDCis6MDMwQUM4MDAwMjBCMzZFOAorOjA1MEFDQjAwNzUzMjAwN0IwMDA0Cis6MDMwQUQwMDBCQjY0MDAwNAorOjAyMEFEMzAwNTAxQ0I1Cis6MEUwQUQ1MDBDMDAyQzAwM0MwMDRDMDA1MTIwMURERDAwNUQwNzAKKzowRDBBRTMwMDA0RDAwM0QwMDI5MDg4MEZFMEY1NDcwQjgwOEYKKzowMTBBRjAwMERGMjYKKzowRDBBRjEwMEMwMDJDMDA0QzAwNTEyMDcxRTEyMDNFMTEyNkUKKzowQzBBRkUwMDA0RjdEMDA1RDAwNEQwMDI3NTZFMDA3NTFFCis6MEQwQjBBMDA2RjAxQzAwMkMwMDRDMDA1MTIxMTQ0RDAwNUU3Cis6MDkwQjE3MDBEMDA0RDAwMjc1NzA0RDc1NzExNworOjBCMEIyMDAwMEM3NTcyMDJDMDAyQzAwNEMwMDUxMjc4Cis6MEIwQjJCMDAxMTc1RDAwNUQwMDREMDAyMDIwQzJEODMKKzowMzBCMzYwMEJBMkEzQjlECis6MEQwQjM5MDA5MDdGOTg3NDIwRjBDMDAyQzAwNEMwMDUxMjI3Cis6MEUwQjQ2MDAwMURERDAwNUQwMDREMDAyOTA3Rjk4NzQyOEYwMTUKKzowMjBCNTQwMDdCMDAyNAorOjAzMEI1NjAwQkIwQTAwRDcKKzowNTBCNTkwMDQwMDMwMjBDMkQxOQorOjBFMEI1RTAwQzAwMkMwMDNDMDA0QzAwNTEyMDFEREQwMDVEMEU2Cis6MDgwQjZDMDAwNEQwMDNEMDAyMEI4MEUyNkIKKzowMzBCNzQwMEJBMkIxQTdGCis6MDgwQjc3MDA5MDdGQzlFMEZCQkI0MDEyQjYKKzowRTBCN0YwMEMwMDJDMDA0QzAwNTEyMTIwNUQwMDVEMDA0RDA3QgorOjA0MEI4RDAwMDIwMjBDMkQyNworOjAzMEI5MTAwQkExMDFGNzgKKzowRTBCOTQwMDkwN0Y5NkUwRkI5MDdGOTY3NDgwNjUwM0YwQzAyMgorOjBFMEJBMjAwMDJDMDA0QzAwNTEyMTAzREQwMDVEMDA0RDAwMkUwCis6MDMwQkIwMDAwMjBDMkQwNworOjAzMEJCMzAwQkExMTEyNjIKKzowRTBCQjYwMEMwMDJDMDA0QzAwNTEyMTA2QUQwMDVEMDA0RDBFMQorOjA0MEJDNDAwMDIwMjBDMkRGMAorOjAzMEJDODAwQkExMjEyNEMKKzowRTBCQ0IwMEMwMDJDMDA0QzAwNTEyMTA4RkQwMDVEMDA0RDBBNworOjA0MEJEOTAwMDIwMjBDMkREQgorOjAzMEJERDAwQkExMzBCM0QKKzowQjBCRTAwMDkwN0RDMUUwRkI5MDg4MDBGMDgwNDI5NworOjAzMEJFQjAwQkExNDExMjgKKzowRTBCRUUwMEMwMDJDMDA0QzAwNTEyMTFEREQwMDVEMDA0RDAzNQorOjAzMEJGQzAwMDI4MDJFNDYKKzowMzBCRkYwMEJBMTUxRDA3Cis6MEMwQzAyMDA5MDdEQzFFMEY1NzU5MDdEQzJFMEY1NzZCNAorOjBFMEMwRTAwQzAwMkMwMDRDMDA1MTIxM0ZFRDAwNUQwMDREMEYxCis6MDMwQzFDMDAwMjgwMEU0NQorOjAzMEMxRjAwQkExNjBCRjcKKzowQjBDMjIwMEMwMDRDMDA1MTIxM0EzRDAwNUQwMDRDRAorOjBCMEMyRDAwOTA3RkM5RTRGMDc1MzEwMDAyMDkyQTM1Cis6MDEwQzM4MDAyMjk5Cis6MDcwQzM5MDA1MzU1NTA0NTRFNDQwMEU1Cis6MDcwQzQwMDA1MjQ1NTM1NTRENDUwMERDCis6MDYwQzQ3MDAyMDU2NkY2QzIwMDAzNgorOjBEMEM0RDAwNDQ0MTQyNTU1MzQyMjA3NjMxMkUzMDMwMDA5NAorOjBFMEM1QTAwQzBFMEMwRjBDMDgyQzA4M0MwMDJDMDAzQzAwNDZFCis6MEUwQzY4MDBDMDA1QzAwNkMwMDdDMDAwQzAwMUMwRDA3NUQwRDYKKzowRDBDNzYwMDAwQzA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwRkUKKzowRTBDODMwMDdGQUI3NDAxRjA5MDdGRThFMEZBOTA3RkU5RTAyQgorOjA2MEM5MTAwRkJCQjAwMDI4MDAzMjIKKzowMzBDOTcwMDAyMEQzODEzCis6MDMwQzlBMDBCQTgwMTQwOQorOjBFMEM5RDAwOTA3RjAwNzQwMUYwOTA3RjAxRTRGMDkwN0ZCNTJECis6MDYwQ0FCMDA3NDAyRjAwMjBFQ0QwMAorOjA1MENCMTAwQkE4MjAyODAwMzdECis6MDMwQ0I2MDAwMjBEMUQwRgorOjA4MENCOTAwOTA3RkVDRTBGQ0JDMDEwMDlGCis6MDIwQ0MxMDA0MDIxRDAKKzowNjBDQzMwMEMzNzQwNzlDNDAxQkY2Cis6MEUwQ0M5MDBFQzI0RkYyNUUwRkQyNEM2RjU4MkU0MzQ3RkY1MUYKKzowRDBDRDcwMDgzRTBGRDUzMDUwMTkwN0YwMEVERjA4MDJCQzAKKzowMzBDRTQwMEJDODEwMEQwCis6MDIwQ0U3MDA0MDIxQUEKKzowNjBDRTkwMEMzNzQ4NzlDNDAxQjUwCis6MEUwQ0VGMDBFQzI0N0YyNUUwRkMyNEI2RjU4MkU0MzQ3RkY1OEEKKzowRDBDRkQwMDgzRTBGQzUzMDQwMTkwN0YwMEVDRjA4MDA1QzMKKzowNTBEMEEwMDkwN0YwMEU0RjAwMQorOjBFMEQwRjAwOTA3RjAxRTRGMDkwN0ZCNTc0MDJGMDAyMEVDREVCCis6MDUwRDFEMDBCQTgxMDI4MDAzMTEKKzowMzBEMjIwMDAyMEVDNUY5Cis6MEUwRDI1MDA5MDdGMDBFNEYwOTA3RjAxRTRGMDkwN0ZCNTc0QzEKKzowNTBEMzMwMDAyRjAwMjBFQ0RFQworOjAzMEQzODAwQkIwMTJEQ0YKKzowNjBEM0IwMEJBMDAwMzAyMEVDRDE4Cis6MDMwRDQxMDBCQTAyMTFFMgorOjBEMEQ0NDAwNzU1OTAwQzAwMkMwMDMxMjBFRjBEMDAzRDA5QworOjA0MEQ1MTAwMDIwMjBFQ0RCRgorOjA1MEQ1NTAwQkEyMTAyODAwMzM5Cis6MDMwRDVBMDAwMjBFQ0RCOQorOjBCMEQ1RDAwNzUzNzAxOTA3RkM1RTRGMDAyMEVDRDU5Cis6MDMwRDY4MDBCQjAzMUZBQgorOjA2MEQ2QjAwQkEwMDAzMDIwRUNERTgKKzowNTBENzEwMEJBMDIwMjgwMDMzQworOjAzMEQ3NjAwMDIwRUNEOUQKKzowRDBENzkwMDc1NTkwMUMwMDJDMDAzMTIwRUYwRDAwM0QwNjYKKzowNDBEODYwMDAyMDIwRUNEOEEKKzowMzBEOEEwMEJCMDY1NDUxCis6MDUwRDhEMDBCQTgwMDI4MDAzQTIKKzowMzBEOTIwMDAyMEVDNTg5Cis6MDgwRDk1MDA5MDdGRUJFMEZDQkMwMTE1QUUKKzowQzBEOUQwMDdDRkI3RDBGOEQwNjdGMDA5MDdGRDRFRTY0Cis6MDkwREE5MDBGMDkwN0ZENUVDRjAwMjBFQ0RCNAorOjBBMERCMjAwOTA3RkVCRTBGQ0JDMDIwMjgwMDMxRQorOjAzMERCQzAwMDIwRUM1NUYKKzowQTBEQkYwMDkwN0ZFQUUwRkNCQzAwMDI4MDAzMTQKKzowMzBEQzkwMDAyMEVDNTUyCis6MEMwRENDMDA3QzNCN0QwRjhEMDY3RjAwOTA3RkQ0RUVGNQorOjA5MEREODAwRjA5MDdGRDVFQ0YwMDIwRUNEODUKKzowNjBERTEwMEJCMDcwMzAyMEVDNTcyCis6MDMwREU3MDBCQjA4MTAzNgorOjBEMERFQTAwQUM0ODkwN0YwMEVDRjA5MDdGQjU3NDAxRjBGNAorOjAzMERGNzAwMDIwRUNEMUMKKzowMzBERkEwMEJCMDkzMTAxCis6MDUwREZEMDBCQTAwMDI4MDAzQjIKKzowMzBFMDIwMDAyMEVDNTE4Cis6MEUwRTA1MDA5MDdGRUFFMEZDQzM3NDAxOUM1MDAzMDIwRUM1MEUKKzowODBFMTMwMDkwN0ZFQUUwRkNCQzAwMEEzQworOjBBMEUxQjAwOTAxNzIxRTRGMDkwMTcyMkU0RjA5NAorOjA5MEUyNTAwOTA3RkVBRTBGNTQ4MDIwRUNERDEKKzowMzBFMkUwMEJCMEEyN0Q1Cis6MDUwRTMxMDBCQTgxMDI4MDAzRkMKKzowMzBFMzYwMDAyMEVDNUU0Cis6MEUwRTM5MDA5MDdGRUNFMEZBMjQyMEZBRTQzNDE3RkM4QTgyNjEKKzowRTBFNDcwMDhDODNFMEZBOTA3RjAwRjA5MDdGQjU3NDAxRjA4QworOjAzMEU1NTAwMDIwRUNEQkQKKzowNTBFNTgwMEJCMEIwMjgwMDM0QQorOjAzMEU1RDAwMDIwRUE5RDkKKzowRDBFNjAwMDkwMTcyMEU0RjA5MDdGRUNFMEZBQkEwMTFBNDAKKzowODBFNkQwMDkwN0ZFREUwRkFCQTAwMTJEQgorOjBFMEU3NTAwOTA3RkVBRTBGQTkwMTcyMUYwQzAwMzEyMDRFMjI5Cis6MDQwRTgzMDBEMDAzODA0NkQyCis6MDgwRTg3MDA5MDdGRUNFMEZBQkEwMjNFOTQKKzowODBFOEYwMDkwN0ZFREUwRkFCQTAwMzY5NQorOjBEMEU5NzAwQzAwMzEyMDRFRkQwMDM5MDdGRUFFMEZBOTA1MAorOjA1MEVBNDAwMTcyMkYwODAyNDdDCis6MDUwRUE5MDBCQjEyMDI4MDE3REUKKzowNTBFQUUwMEJCODEwMjgwMEQ3NAorOjA1MEVCMzAwQkI4MzAyODAwODcyCis6MDUwRUI4MDBCQjgyMDI4MDAzNzMKKzowMzBFQkQwMEJCODQwNUVFCis6MDUwRUMwMDAxMjA2NEU4MDA4M0YKKzowODBFQzUwMDkwN0ZCNDc0MDNGMDgwMDY3NQorOjA2MEVDRDAwOTA3RkI0NzQwMkYwRjYKKzowMjBFRDMwMEQwODZDNworOjBFMEVENTAwRDBEMEQwMDFEMDAwRDAwN0QwMDZEMDA1RDAwNDc4Cis6MEQwRUUzMDBEMDAzRDAwMkQwODNEMDgyRDBGMEQwRTAzMjE2Cis6MEIwRUYwMDA5MDdGRUNFMEY1NUFDMzk0MDE0MDFEMTgKKzowNzBFRkIwMEMzNzQwNzk1NUE0MDE2NkQKKzowRDBGMDIwMEU1NUEyNEZGMjVFMEZBMjRDNkY1ODJFNDM0MDgKKzowOTBGMEYwMDdGRjU4M0FBNTlFQUYwODAyMjYzCis6MDcwRjE4MDBDM0U1NUE5NDgxNDAxQjYwCis6MDcwRjFGMDBDMzc0ODc5NTVBNDAxNENBCis6MEQwRjI2MDBFNTVBMjRGRjI1RTBGQTI0QjZGNTgyRTQzNEY0Cis6MDcwRjMzMDA3RkY1ODNBQTU5RUFGMEUzCis6MDEwRjNBMDAyMjk0Cis6MEUwRjNCMDAwOTAyQkEwMDAzMDEwMDQwMDAwOTA0MDAwMDAwOTIKKzowRTBGNDkwMDAxMDEwMDAwMDkyNDAxMDAwMTNEMDAwMTAxMEMxRQorOjBFMEY1NzAwMjQwMjAxMTAwNzAwMDIwMzAwMDAwMDBEMjQwNjEyCis6MEUwRjY1MDAwMzAxMDIxNTAwMDMwMDAzMDAwMDA5MjQwMzAyMkIKKzowRTBGNzMwMDAxMDEwMDAxMDAwOTI0MDMwNDAyMDMwMDAzMDAzMQorOjBFMEY4MTAwMDkyNDAzMDUwMzA2MDAwMTAwMDkwNDAxMDAwMDE1Cis6MEUwRjhGMDAwMTAyMDAwMDA5MDQwMTAxMDEwMTAyMDAwMDA3MzcKKzowRTBGOUQwMDI0MDEwMjAxMDEwMDBCMjQwMjAxMDIwMjEwMDFENgorOjBFMEZBQjAwODBCQjAwMDkwNTg4MDUwMDAxMDEwMDAwMDcyNTM0Cis6MEUwRkI5MDAwMTAwMDAwMDAwMDkwNDAyMDAwMjAwMDAwMDAwMTgKKzowRTBGQzcwMDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDAwMDBGQworOjBFMEZENTAwMDkwNDAyMDEwMzAwMDAwMDAwMDcwNTgyMDI0MDJCCis6MEUwRkUzMDAwMDAwMDcwNTAyMDI0MDAwMDAwOTA1ODkwNUEwNzQKKzowQTBGRjEwMDAxMDEwMDAwMDBGRkZGRkZGRjAwRjgKKzowRTBGRkIwMDEyMDEwMDAxMDAwMDAwNDA0NzA1OTk5OTAwMDExNQorOjBFMTAwOTAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDA5MDJCQTEzCis6MDQxMDE3MDAwMDAzMDEwMEQxCis6MDIxMDFCMDA3QTAwNTkKKzowMzEwMUQwMEJBMDUwMDExCis6MDIxMDIwMDA1MDE3NjcKKzowODEwMjIwMDkwN0ZBNUUwRkIzMEUwMDUyMgorOjA1MTAyQTAwOTAwMDAxODAwREEzCis6MEExMDJGMDBDMDAyMTIwMURERDAwMjBBODBFNEM1Cis6MDMxMDM5MDA5MDAwMDEyMworOjAxMTAzQzAwMjI5MQorOjBFMTAzRDAwOTA3REMxRTBGOUEzRTBGQUEzRTBGQjdDMDA3RDBBCis6MDQxMDRCMDA3RUVCNjAxMkM2Cis6MEUxMDRGMDA4OTgyOEE4M0UwQTNBOTgyQUE4MzhDODI4RDgzODIKKzowNDEwNUQwMEYwMENEQkVFQ0EKKzowODEwNjEwMDkwN0RDM0UwOTA3RkI5RjAxRgorOjAxMTA2OTAwMjI2NAorOjBFMTA2QTAwOTA3REMxRTBGOUEzRTBGQUEzRTBGQjdDQzQ3RDE5Cis6MDQxMDc4MDA3REVCNjBFNUM3Cis6MEUxMDdDMDA4QzgyOEQ4M0UwMEM4OTgyOEE4M0YwQTNBOTgyODYKKzowNDEwOEEwMEFBODNEQkVFNkMKKzowMTEwOEUwMDIyM0YKKzowRTEwOEYwMDkwN0ZBNTc0ODBGMDA1ODY5MDdEQzFFMDA1ODZGNworOjBFMTA5RDAwQTNGMDEyMTAxQjkwN0ZBNjA1ODZBM0EzRTBGOTE2Cis6MDUxMEFCMDA2MDE2QTMwNTg2OUMKKzowRDEwQjAwMDkwN0ZBNjA1ODZFMEEzMDU4NkYwQzAwMTEyMjIKKzowNjEwQkQwMDEwMUJEMDAxRDlFRDZCCis6MDYxMEMzMDA5MDdGQTU3NDQwRjBDRgorOjAxMTBDOTAwMjIwNAorOjA4MTBDQTAwOTA4ODAyNzQwMUYwN0EwMDI1Cis6MDMxMEQyMDBCQUZGMDA2MgorOjAyMTBENTAwNTAwQUJGCis6MEExMEQ3MDBDMDAyMTIwMURERDAwMjBBODBGMTEwCis6MDExMEUxMDAyMkVDCis6MDUxMEUyMDBFNTZCQjRDMDA4M0QKKzowODEwRTcwMDkwODgwM0U1NkNGMDgwMDYxRgorOjA2MTBFRjAwOTA4ODAyRTU2Q0YwQTAKKzowNDEwRjUwMDdBMDA3QjAwMDIKKzowQjEwRjkwMEMzRUE5NDMyRUI2NDgwOTQ4MDUwMDczRgorOjA1MTEwNDAwMEFCQTAwMDEwQjE2Cis6MDIxMTA5MDA4MEVFNzYKKzowMTExMEIwMDIyQzEKKzowQTExMEMwMDkwODgwM0U1NkRGMDA1Mzk3QTAwQzQKKzowMzExMTYwMEJBMjgwMEY0Cis6MDIxMTE5MDA1MDAzODEKKzowMzExMUIwMDBBODBGODRGCis6MDUxMTFFMDBFNTM5QjQxMDA4RTIKKzowODExMjMwMDkwODgwMjc0QzBGMDgwMEVGOAorOjA1MTEyQjAwRTUzOUI0MjAwOUM0Cis6MDkxMTMwMDA5MDg4MDI3NDgwRjA3NTM5MDAwQQorOjAyMTEzOTAwN0EwMDNBCis6MDMxMTNCMDBCQTI4MDBDRgorOjAyMTEzRTAwNTAwMzVDCis6MDMxMTQwMDAwQTgwRjgyQQorOjAxMTE0MzAwMjI4OQorOjA0MTE0NDAwRTU2RjYwMDJGMQorOjAyMTE0ODAwODAwNzFFCis6MDcxMTRBMDA3QTAwNzUzOTAwODAwNUYxCis6MDUxMTUxMDA3QTQwNzUzOTEwMjEKKzowOTExNTYwMEU1NkUyQUZBRTU2RTI1MzlGNTczCis6MEExMTVGMDAzOTkwODgwMjc0ODAyQUYwN0EwMEFCCis6MDgxMTY5MDBDM0VBNjQ4MDk0QTg1MDAzNUUKKzowMzExNzEwMDBBODBGNUZDCis6MDExMTc0MDAyMjU4Cis6MDYxMTc1MDBBQTcwQUI3MUFDNzIyMAorOjBDMTE3QjAwOEE4MjhCODM4Q0YwMTIxNEVFRkQ2MDE4NDkKKzowRDExODcwMDhENkRDMDAyQzAwM0MwMDQxMjExMENEMDA0MTUKKzowOTExOTQwMEQwMDNEMDAyMEFCQTAwMDEwQkRECis6MDIxMTlEMDA4MERDRjQKKzowMTExOUYwMDIyMkQKKzowRDExQTAwMEU1NzNDNDU0MEZGQTUzMDIwRkMzNzQwOTlBOEIKKzowMjExQUQwMDUwMDZFQQorOjA2MTFBRjAwNzQzNzJBRkI4MDA0RTYKKzowNDExQjUwMDc0MzAyQUZCNkQKKzowQzExQjkwMDhCNkRDMDAzMTIxMTBDRDAwM0FBNzM1M0ZECis6MDgxMUM1MDAwMjBGQzM3NDA5OUE1MDA2RTEKKzowNjExQ0QwMDc0MzcyQUZCODAwNEM4Cis6MDQxMUQzMDA3NDMwMkFGQjRGCis6MDUxMUQ3MDA4QjZEMTIxMTBDRUMKKzowMTExREMwMDIyRjAKKzowNzExREQwMDkwN0RDM0UwRkE2MDBGRjIKKzowQzExRTQwMDkwN0RDMUUwRjU2RTkwN0RDMkUwRjU2RkRCCis6MDMxMUYwMDAxMjExNDQ5NQorOjBDMTFGMzAwOTA3REZGRTRGMDc1NzBDNDc1NzE3RDc1OEYKKzowNTExRkYwMDcyMDExMjExNzVFMAorOjAxMTIwNDAwMjJDNworOjAyMTIwNTAwN0EwNDY5Cis6MDMxMjA3MDBCQTQwMDBFQQorOjAyMTIwQTAwNTAzNjVDCis6MEUxMjBDMDBFQTI0QzBGNTgyRTQzNDdERjU4M0UwRkI3QzAwMkIKKzowMzEyMUEwMEJDMDgwMDBECis6MDIxMjFEMDA1MDIwNUYKKzowNjEyMUYwMDhCMDVFRDMwRTcwQjJBCis6MEIxMjI1MDA5MDdGOTY3NDQyRjA3NEMzRjA4MDA4QzQKKzowODEyMzAwMDkwN0Y5NkU0RjA3NDgxRjA1OAorOjA3MTIzODAwRUIyNUUwRkIwQzgwREI1RAorOjAzMTIzRjAwMEE4MEM1NUQKKzowMTEyNDIwMDIyODkKKzowNDEyNDMwMDdBMDA3QkVGQzMKKzowMzEyNDcwMEJBMTAwMERBCis6MDIxMjRBMDA1MDIwMzIKKzowRTEyNEMwMDc0MTEyQkZCMjQwMEZDRTQzNDE4RkQ4QzgyOEQwMQorOjBFMTI1QTAwODNFNEYwRUEyNDAwRjU4MkU0MzQxOUY1ODNFNDFECis6MDQxMjY4MDBGMDBBODBEQjJECis6MDExMjZDMDAyMjVGCis6MEUxMjZEMDA3NEY4MjQwMEY1ODI3NDAzMzQ4NEY1ODNFNEYwRjEKKzowRTEyN0IwMDc0RjkyNDAwRjU4Mjc0MDMzNDg0RjU4M0U0RjBFMgorOjBFMTI4OTAwNzRGQTI0MDBGNTgyNzQwMzM0ODRGNTgzRTRGMEQzCis6MEUxMjk3MDA3NEZCMjQwMEY1ODI3NDAzMzQ4NEY1ODNFNEYwQzQKKzowRTEyQTUwMDc0RkYyNDAwRjU4Mjc0MDMzNDg0RjU4M0U0RjBCMgorOjAxMTJCMzAwMjIxOAorOjBFMTJCNDAwMTIwM0NCMTIxMjZEN0FDMDdCODc3QzAxNzQwMThECis6MEUxMkMyMDAyQUZERTQzQkZFOEMwNzhBODI4QjgzOENGMDc0M0QKKzowRTEyRDAwMDAxMTIxNEJGMkRGQUU0M0VGQjhGMDQ4RDgyOEVCNgorOjBFMTJERTAwODM4RkYwNzQwNjEyMTRCRjc0MDEyQUZERTQzQkU2Cis6MEUxMkVDMDBGRThDMDc4QTgyOEI4MzhDRjBFNDEyMTRCRjc0OTAKKzowRTEyRkEwMDAxMkRGQUU0M0VGQjhGMDQ4RDgyOEU4MzhGRjA2RgorOjBFMTMwODAwNzQwQjEyMTRCRjc0MDEyQUZERTQzQkZFOEMwNzI3Cis6MEUxMzE2MDA4QTgyOEI4MzhDRjA3NDA4MTIxNEJGNzQwMTJEMzAKKzowRTEzMjQwMEZBRTQzRUZCOEYwNDhEODI4RTgzOEZGMDc0MDFGRAorOjBFMTMzMjAwMTIxNEJGMkFGREU0M0JGRThDMDc4QTgyOEI4M0Q3Cis6MEUxMzQwMDA4Q0YwRTQxMjE0QkY3NDAxMkRGQUU0M0VGQjhGMTIKKzowRTEzNEUwMDA0OEQ4MjhFODM4RkYwNzQwMzEyMTRCRjdEMDAxNQorOjAzMTM1QzAwQkQwNjAwQ0IKKzowMjEzNUYwMDUwMTIyQQorOjBCMTM2MTAwOEE4MjhCODM4Q0YwMEFCQTAwMDEwQjFCCis6MDcxMzZDMDBFNDEyMTRCRjBEODBFOTNCCis6MEQxMzczMDA4QTgyOEI4MzhDRjBFNTc0MTIxNEJGNzRGOTJDCis6MEUxMzgwMDAyNDAwRjU4Mjc0MDMzNDg0RjU4Mzc0MEZGMDc0MzYKKzowRTEzOEUwMEZFMjQwMEY1ODI3NDAzMzQ4NEY1ODM3NDAxRjBBQworOjA2MTM5QzAwMTIwM0UxMTIwNEY3NDgKKzowMTEzQTIwMDIyMjgKKzowRDEzQTMwMDkwN0RDMUUwRkEyNDAwRkJFNDM0MTlGQzkwQjkKKzowRTEzQjAwMDdEQzJFMEZEOEI4MjhDODNGMDc1RjAxMUVBQTQwMworOjAzMTNCRTAwRkE3QjAwQjcKKzowMzEzQzEwMEJCMTAwMDVFCis6MDIxM0M0MDA1MDI0QjMKKzowRTEzQzYwMEVBMjQwMEZDRTQzNDE4RkRFQjJDRkNFNDNERkRCMQorOjBFMTNENDAwNzQwNDJCMjRDMEY1ODJFNDM0N0RGNTgzRTBGRTIyCis6MDgxM0UyMDA4QzgyOEQ4M0YwMEI4MEQ3OTMKKzowRTEzRUEwMEVBMjQwMEZBRTQzNDE4RkI3NDEwMkFGNTgyRTRCOQorOjA1MTNGODAwM0JGNTgzRTRGMDY5Cis6MDExM0ZEMDAyMkNECis6MDQxM0ZFMDBFNTc2NjAwMjJFCis6MDIxNDAyMDA4MDE2NTIKKzowQzE0MDQwMDc0MEY1NTc1RkE4QTc1MjQwMEY1ODJFNDE3Cis6MEExNDEwMDAzNDE5RjU4M0UwRjU3NDEyMTJCNEVDCis6MEExNDFBMDAxMjEwQ0E3NTZFMDA3NTZGMDAxMjAzCis6MDYxNDI0MDAxMTQ0NzU3MEI5NzU1QQorOjA2MTQyQTAwNzExNDc1NzIwMjEyM0MKKzowQjE0MzAwMDExNzVFNTc2QjQwMjA0NzQwMTgwMDEyMAorOjAxMTQzQjAwRTRDQworOjAzMTQzQzAwRkE3MDBGMzQKKzowQzE0M0YwMDc0MDEyNTc1RjU3M0MwMDIxMjExQTBEMEQ1Cis6MDMxNDRCMDAwMjgwMEExMgorOjBBMTQ0RTAwODU3NTczQzAwMjEyMTFBMEQwMDJEMAorOjBDMTQ1ODAwNzU2RTAwNzU2RjAxQzAwMjEyMTE0NEQwQzcKKzowNDE0NjQwMDAyRUE3MDFBMEUKKzowRDE0NjgwMDc1RjAxMUU1NzVBNEZBMjQwMEZBRTQzNDE4QkIKKzowOTE0NzUwMEZCOEE3MDhCNzE3NTcyMDExMjgzCis6MDQxNDdFMDAxMTc1ODAzNjJFCis6MDIxNDgyMDA3QTAwRUUKKzowMzE0ODQwMEJBMTAwMDlCCis6MDIxNDg3MDA1MDJGRTQKKzowRDE0ODkwMEVBMjQwMEY1ODJFNDM0MTlGNTgzRTBGQkU1NjgKKzowNDE0OTYwMDc1QjUwMzFCMEEKKzowRTE0OUEwMDc1RjAxMUVBQTRGQjI0MDBGQkU0MzQxOEZDOEI2RgorOjA5MTRBODAwNzA4QzcxNzU3MjAxQzAwMjEyMTIKKzowNDE0QjEwMDExNzVEMDAyREYKKzowMzE0QjUwMDBBODBDQ0RFCis6MDExNEI4MDAyMjExCis6MDYxNEI5MDA1MDcyNkY2NzIwMDA3NQorOjBFMTRCRjAwQzhDMEUwQzhDMEUwRTVGMDYwMEIxNDYwMEYxNDc4Cis6MDcxNENEMDA2MDExMTQ2MDEyODAxNThDCis6MDcxNEQ0MDBEMEUwQTg4MkY2ODAwRUIzCis6MDUxNERCMDBEMEUwRjA4MDA5RTMKKzowNDE0RTAwMEQwRTA4MDA1RDMKKzowNTE0RTQwMEQwRTBBODgyRjIzNworOjA0MTRFOTAwQzhEMEUwQzhCRgorOjAxMTRFRDAwMjJEQworOjBFMTRFRTAwQzhDMEUwRTVGMDYwMEQxNDYwMEYxNDYwMEYxNDJDCis6MDYxNEZDMDA2MDEwNzRGRjgwMEY3OAorOjA1MTUwMjAwQTg4MkU2ODAwQTRBCis6MDMxNTA3MDBFMDgwMDc3QQorOjA0MTUwQTAwRTQ5MzgwMDNFMworOjAzMTUwRTAwQTg4MkUyQ0UKKzowNDE1MTEwMEY4RDBFMEM4NjYKKzowMTE1MTUwMDIyQjMKKzowMDAwMDAwMUZGCisKKyAqIENvcHlyaWdodCAoQykgMTk5OSBCYXlDb20gR21iSAorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgcmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZQorICogY29kZSByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgY29tbWVudCB3aXRob3V0CisgKiBtb2RpZmljYXRpb24uCmRpZmYgLS1naXQgYS9maXJtd2FyZS9kc3A1NmsvYm9vdHN0cmFwLmFzbSBiL2Zpcm13YXJlL2RzcDU2ay9ib290c3RyYXAuYXNtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwZDg5MTkKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9kc3A1NmsvYm9vdHN0cmFwLmFzbQpAQCAtMCwwICsxLDk4IEBACis7IEF1dGhvcjogRnJlZGVyaWsgTm9yaW5nIDxub3JpbmdAbm9jcmV3Lm9yZz4KKzsKKzsgVGhpcyBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKzsgTGljZW5zZS4gIFNlZSB0aGUgZmlsZSBDT1BZSU5HIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIGFyY2hpdmUKKzsgZm9yIG1vcmUgZGV0YWlscy4KKworOyBEU1A1NmsgbG9hZGVyCisKKzsgSG9zdCBJbnRlcmZhY2UKK01fQkNSICAgRVFVICAgICAkRkZGRSAgICAgICAgICAgOyBQb3J0IEEgQnVzIENvbnRyb2wgUmVnaXN0ZXIKK01fUEJDICAgRVFVICAgICAkRkZFMCAgICAgICAgICAgOyBQb3J0IEIgQ29udHJvbCBSZWdpc3RlcgorTV9QQkREUiBFUVUgICAgICRGRkUyICAgICAgICAgICA7IFBvcnQgQiBEYXRhIERpcmVjdGlvbiBSZWdpc3RlcgorTV9QQkQgICBFUVUgICAgICRGRkU0ICAgICAgICAgICA7IFBvcnQgQiBEYXRhIFJlZ2lzdGVyCitNX1BDQyAgIEVRVSAgICAgJEZGRTEgICAgICAgICAgIDsgUG9ydCBDIENvbnRyb2wgUmVnaXN0ZXIKK01fUENERFIgRVFVICAgICAkRkZFMyAgICAgICAgICAgOyBQb3J0IEMgRGF0YSBEaXJlY3Rpb24gUmVnaXN0ZXIKK01fUENEICAgRVFVICAgICAkRkZFNSAgICAgICAgICAgOyBQb3J0IEMgRGF0YSBSZWdpc3RlcgorCitNX0hDUiAgIEVRVSAgICAgJEZGRTggICAgICAgICAgIDsgSG9zdCBDb250cm9sIFJlZ2lzdGVyCitNX0hTUiAgIEVRVSAgICAgJEZGRTkgICAgICAgICAgIDsgSG9zdCBTdGF0dXMgUmVnaXN0ZXIKK01fSFJYICAgRVFVICAgICAkRkZFQiAgICAgICAgICAgOyBIb3N0IFJlY2VpdmUgRGF0YSBSZWdpc3RlcgorTV9IVFggICBFUVUgICAgICRGRkVCICAgICAgICAgICA7IEhvc3QgVHJhbnNtaXQgRGF0YSBSZWdpc3RlcgorCis7IFNTSSwgU3luY2hyb25vdXMgU2VyaWFsIEludGVyZmFjZQorTV9SWCAgICBFUVUgICAgICRGRkVGICAgICAgICAgICA7IFNlcmlhbCBSZWNlaXZlIERhdGEgUmVnaXN0ZXIKK01fVFggICAgRVFVICAgICAkRkZFRiAgICAgICAgICAgOyBTZXJpYWwgVHJhbnNtaXQgRGF0YSBSZWdpc3RlcgorTV9DUkEgICBFUVUgICAgICRGRkVDICAgICAgICAgICA7IFNTSSBDb250cm9sIFJlZ2lzdGVyIEEKK01fQ1JCICAgRVFVICAgICAkRkZFRCAgICAgICAgICAgOyBTU0kgQ29udHJvbCBSZWdpc3RlciBCCitNX1NSICAgIEVRVSAgICAgJEZGRUUgICAgICAgICAgIDsgU1NJIFN0YXR1cyBSZWdpc3RlcgorTV9UU1IgICBFUVUgICAgICRGRkVFICAgICAgICAgICA7IFNTSSBUaW1lIFNsb3QgUmVnaXN0ZXIKKworOyBFeGNlcHRpb24gUHJvY2Vzc2luZworTV9JUFIgICBFUVUgICAgICRGRkZGICAgICAgICAgICA7IEludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlcgorCisgICAgICAgIG9yZyAgICAgUDokMAorc3RhcnQgICBqbXAgICAgIDwkNDAKKworICAgICAgICBvcmcgICAgIFA6JDQwCis7ICAgICAgIDsgWmVybyAxNjM4NCBEU1AgWCBhbmQgWSB3b3JkcworOyAgICAgICBjbHIgICAgIEEgIzAscjAKKzsgICAgICAgY2xyICAgICBCICMwLHI0Cis7ICAgICAgIGRvICAgICAgIzY0LDxfYmxvY2sxCis7ICAgICAgIHJlcCAgICAgIzI1NgorOyAgICAgICBtb3ZlICAgIEEsWDoocjApKyBCLFk6KHI0KSsKKztfYmxvY2sxICAgICAgICA7IFplcm8gKDMyNzY4LTUxMikgUHJvZ3JhbSB3b3JkcworOyAgICAgICBjbHIgICAgIEEgIzUxMixyMAorOyAgICAgICBkbyAgICAgICMxMjYsPF9ibG9jazIKKzsgICAgICAgcmVwICAgICAjMjU2Cis7ICAgICAgIG1vdmUgICAgQSxQOihyMCkrCis7X2Jsb2NrMgorCisgICAgICAgIDsgQ29weSBEU1AgcHJvZ3JhbSBjb250cm9sCisgICAgICAgIG1vdmUgICAgI3JlYWwscjAKKyAgICAgICAgbW92ZSAgICAjdXBsb2FkLHIxCisgICAgICAgIGRvICAgICAgI3VwbG9hZF9lbmQtdXBsb2FkLDxfY29weQorICAgICAgICBtb3ZlICAgIFA6KHIwKSsseDAKKyAgICAgICAgbW92ZSAgICB4MCxQOihyMSkrCitfY29weSAgIG1vdmVwICAgIz40LFg6PDxNX0hDUgorICAgICAgICBtb3ZlcCAgICM+JGMwMCxYOjw8TV9JUFIKKyAgICAgICAgYW5kICAgICAjPCRmZSxtcgorICAgICAgICBqbXAgICAgIHVwbG9hZAorCityZWFsCisgICAgICAgIG9yZyAgICAgUDokN2VhOQordXBsb2FkCisgICAgICAgIG1vdmVwICAgIz4xLFg6PDxNX1BCQworICAgICAgICBtb3ZlcCAgICM+MCxYOjw8TV9CQ1IKKworbmV4dCAgICBqY2xyICAgICMwLFg6PDxNX0hTUiwqCisgICAgICAgIG1vdmVwICAgWDo8PE1fSFJYLEEKKyAgICAgICAgbW92ZSAgICAjPjMseDAKKyAgICAgICAgY21wICAgICB4MCxBICM+MSx4MAorICAgICAgICBqZXEgICAgIDwkMAorX2dldF9hZGRyZXNzCisgICAgICAgIGpjbHIgICAgIzAsWDo8PE1fSFNSLF9nZXRfYWRkcmVzcworICAgICAgICBtb3ZlcCAgIFg6PDxNX0hSWCxyMAorX2dldF9sZW5ndGgKKyAgICAgICAgamNsciAgICAjMCxYOjw8TV9IU1IsX2dldF9sZW5ndGgKKyAgICAgICAgbW92ZXAgICBYOjw8TV9IUlgseTAKKyAgICAgICAgY21wICAgICB4MCxBICM+Mix4MAorICAgICAgICBqZXEgICAgIGxvYWRfWAorICAgICAgICBjbXAgICAgIHgwLEEKKyAgICAgICAgamVxICAgICBsb2FkX1kKKworbG9hZF9QICBkbyAgICAgIHkwLF9sb2FkCisgICAgICAgIGpjbHIgICAgIzAsWDo8PE1fSFNSLCoKKyAgICAgICAgbW92ZXAgICBYOjw8TV9IUlgsUDoocjApKworX2xvYWQgICBqbXAgICAgIG5leHQKK2xvYWRfWCAgZG8gICAgICB5MCxfbG9hZAorICAgICAgICBqY2xyICAgICMwLFg6PDxNX0hTUiwqCisgICAgICAgIG1vdmVwICAgWDo8PE1fSFJYLFg6KHIwKSsKK19sb2FkICAgam1wICAgICBuZXh0Citsb2FkX1kgIGRvICAgICAgeTAsX2xvYWQKKyAgICAgICAgamNsciAgICAjMCxYOjw8TV9IU1IsKgorICAgICAgICBtb3ZlcCAgIFg6PDxNX0hSWCxZOihyMCkrCitfbG9hZCAgIGptcCAgICAgbmV4dAorCit1cGxvYWRfZW5kCisgICAgICAgIGVuZApkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZHNwNTZrL2Jvb3RzdHJhcC5iaW4uaWhleCBiL2Zpcm13YXJlL2RzcDU2ay9ib290c3RyYXAuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjMzZjIxZgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2RzcDU2ay9ib290c3RyYXAuYmluLmloZXgKQEAgLTAsMCArMSwyNiBAQAorOjEwMDAwMDAwMEMwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwMDAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMDA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwMDA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwMDBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwMDBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwMDBDMDAwNjBGNDAwMDAwMDRGNjFGNDAwMDA3RUE5MDYyRTgwMDA1RAorOjEwMDBEMDAwMDA0NzA3RDg4NDA3NTk4NDA4RjRBODAwMDAwNDA4RjRFRQorOjEwMDBFMDAwQkYwMDBDMDAwMEZFQjgwQUYwODAwMDdFQTkwOEY0QTA1MgorOjEwMDBGMDAwMDAwMDAxMDhGNEJFMDAwMDAwMEFBOTgwMDA3RUFEMDhERgorOjEwMDEwMDAwNEUyQjQ0RjQwMDAwMDAwMzQ0RjQ0NTAwMDAwMTBFQTAwRgorOjEwMDExMDAwMDAwQUE5ODAwMDdFQjUwODUwMkIwQUE5ODAwMDdFQjg4RAorOjEwMDEyMDAwMDg0NjJCNDRGNDQ1MDAwMDAyMEFGMEFBMDA3RUM5MjBDQworOjEwMDEzMDAwMDA0NTBBRjBBQTAwN0VEMDA2QzYwMDAwN0VDNjBBQTlDNQorOjEwMDE0MDAwODAwMDdFQzQwODU4NkIwQUYwODAwMDdFQUQwNkM2MDBCMQorOjEwMDE1MDAwMDA3RUNEMEFBOTgwMDA3RUNCMDg1OEFCMEFGMDgwMDA1MworOjEwMDE2MDAwN0VBRDA2QzYwMDAwN0VENDBBQTk4MDAwN0VEMjA4NTg2MworOjA3MDE3MDAwRUIwQUYwODAwMDdFQURGOAorOjAwMDAwMDAxRkYKKy8qIERTUDU2MDAxIGJvb3RzdHJhcCBjb2RlICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lZGdlcG9ydC9ib290LkgxNiBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Jvb3QuSDE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiZjhlOTEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lZGdlcG9ydC9ib290LkgxNgpAQCAtMCwwICsxLDI5IEBACis6MDAwNDAwMDAwMDAxMEMwMDAyRUQKKzowMDAyMDAwMDA0MDBGRkZCCis6MDAwNjAwMDAwMDAyMDA4MDAyMDAwMzczCis6MDAwMzAwMEIwMDAyMDAwQkU1Cis6MDAwMzAwMTMwMDAyMDFCODJGCis6MDAwMzAwMUIwMDAyMDAxQkM1Cis6MDAwMzAwMjMwMDAyMDAyM0I1Cis6MDAwMzAwMkIwMDAyMDAyQkE1Cis6MDAwMzAwMzMwMDAyMDAzMzk1Cis6MDAwMzAwM0IwMDAyMDAzQjg1Cis6MDAwMzAwNDMwMDAyMDFCREZBCis6MDAwMzAwNEIwMDAyMDFEMERGCis6MDAwMzAwNTMwMDAyMDEyMTg2Cis6MDAwMzAwN0IwMDAyMDA3QjA1Cis6MDE2NjAwODAwMDdFQjAwMDdBQjMzRkYyN0VGODAwMjM3RTAwMDE3RTEwMDAxMjA3NUY2OTIwMDAwQUJFMjQwMDAwNzgwNTc1OTAwRDgwMDM3NTkwMUREMkI1N0UwMDAwQTVEOEZENzVBODAwNzVCMTAwQTlENTg3Q0EyOTEyMDlDQzEyMDlBMEY1MDk3QUExMjAxMjAxRTZEQTI5QTlEMEM3N0UwMDA1N0EwMUYxNzVFMTEwQTlEN0Y0QTlEN0U0QTVEOEYxNzVGMTAwNzVFMTNGNzVBMjAzNzVBMzAwNzVDMDAwNzVDMTAwQTlEMUIxQTlEMEIxQTlENUQzRDJBRkU0N0UwNDI4MDA4REVGMUIwNDc4RkEwNEE5MzREMzAzMzBFMEVFQkUyNDAwMDA3ODA1NjM5MDMwODBFM0IyOTU4MERGQkVCMDAyMjJDMEQwQTkyMERGMEZBOTMxREYwMzAyMDFCNTc1MDgwMTEyMDgzMzgwRkU3NTA4RkUxMjA4MzM3NUE4MDA3RUIzM0ZGMjMwRTA0QjMwMDE0NkMyOTI3RTI0ODAwMDdFMTEwOTc0MDgxOUIyMDAxMDc0MEUxOUIyMDAwNDJFMjQwMTAwQTVEOUVEN0UyNDgwMDA3RTExMDlFNEQ1RTBGRDA5QjIwMDA4MjBFMDBBMDlCMjAwMDAwOUIyMDAxODgwRUIyRTI0MDEwMEE1RDlFNDQzOTAzMEQyQUE4MDA1RDJBQTQzOTAzNEQyQUZBOUQxODcwMDAwMDAwMDAwQTkxMURGMDNBOUQyREY3NTA4RkYxMjA4MzNDMEQxQ0EwMkZGQ0EwNjgzMDAzMkQwRDAzMkMyOEJDMkFBMzI3NTA4MDgxMjA4MzNBOUMwQjFBOUM1RDNBOUM2RDNBOUQyQjEzMkNBQjg3NTA4MDIxMjA4MzNFNUMwNTQwMzY4MDUxMjAxRUU4MEY1REFCODMyQUUKKzowMDAxMUJDQTAwMDAxQQorOjA2NEQwMUU2MDBFNDdBQjMzRkYxMDIwMjYzQ0EwQkNBMUJDQTJCQ0EzQkNBNEJDQTVCQ0E2QkNBN0JDQUVCQzBGMTdFQjMwMTJCQjQwMDAyODAxOUI0MDExNjMwQzAwODc1RjEwMDEyMDI0RDgwMUYzMEMxMUM3NUYxMDAxMjAyREU4MDE0MzBDMTA4NzVGMTAwMTIwMkRFODAwOTMwQzAwNjc1RjEwMDEyMDI0REQwRjFEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMkMyQzA3RUIzMDEyQkI0MDIwNzEyMDI2RjAyMDI2MzIyQjQwMUZDMDIwMkE5N0UwMDAwN0EwMzAxMkI3QTAzMDEyQzIyN0VCMzAxMjM1NDYwNjAwNUI0NDAxNTgwMTM3RUIzMDEyNEI0MDUwQzc1MDg3MTEyMDgzMzdFQjMwMTI2RjU4RjIyNzVGNjAwMjJCRTU3MDEyOTI4MDQ3RTU3MDEyOTdBMEYwMTJFN0E1NzAxMzIwMjAyQTk3RUVGMDEyRTdFRjcwMTMyN0UwNzAxMzI0RDAwNjgyMTdFMDAwMDdFRUJCMEY1RjNBM0E1MDgxQkY0NjgwNEE1QjgwOEYwN0FFRjAxMkU3QUY3MDEzMjc1MDgwNjEyMDgzMzdBMDFGNjIyQzJDMTc1MDgwMzEyMDgzM0E5MzZFMjE2RTVGNTU0QzA2ODA3QTlEN0Y0QTkyN0Y0RkM1M0UxM0Y0M0YyODgwMjAzNTU3RUIzMDEyQ0I0MDIwRkE5RDRFNDdFQjAwMDdBQjMwMTJDN0FCMzAxMkIyMkI0MDEzOTdFMjFFNjdDMzI3RTEzMDEyRDJDMjE3QTIzMDEyRDdFMDAwMDJFMDQwMTM0RTVFMzdBMDlCMDBCMDRBNURCRjZBOUQ0RTQ3NTA4NzAxMjA4MzM3RUIzMDEyRDdFQTMwMTJBQkNBQjc4MDMxMjAzRUMyMjAyMDc1NUU1RTZCNDA4NjVBOUM0RTI3RTAxRTM3RTExRTM3RTMxRTM3RTIxRTM3RTUxRTM3RTQxRTM3RTcxRTM3RTYxRTM3QTBGMDEyMzdBMUYwMTI3NzUwODA0MTIwODMzN0EwMTA4MTIwODMzN0ExMTA4MTIwODMzN0EyMTA4MTIwODMzN0EzMTA4MTIwODMzN0E0MTA4MTIwODMzN0E1MTA4MTIwODMzN0E2MTA4MTIwODMzN0E3MTA4MTIwODMzQTlENEU0QTlEN0Y0QTlDNkUyMTIwM0MwMjI2RDAwN0UxNDAxMDI3QTA3MDEzMjdBMDMwMTJEN0VCMzAxMjMyMEU3MEY3QTIzMDEyQzdBMzMwMTJCQkUwNzAxMjk2ODA5MjI3QTMzMDEyQzdBMjMwMTJCN0VCMzAxMjM1NEUzMjMyMzMwRTAwMkQyRTUzMEU3MDJEMkU0MzBFNTA2MzBFNDAzMDIwNzU1NTQzRUY1RjAwMzU0MUZDMzI1RjA5MDA0MTg3NTg0RkY3MzAyMDU2QzAyMDQ2MDAyMDYwOTAyMDYyNDAyMDUwNTAyMDRDNjAyMDYzRDAyMDYzRDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0NjAyMDZGQTAyMDY0MzAyMDY0MzAyMDY0MzAyMDY0MzAyMDY0MzAyMDY0MzdFQjMwMTI0QjQwNjJBN0VCMzAxMjU2MDU2N0MwQjdFMTMwMTI2N0UxNzAxMjc3NTA4NzIxMjA4MzM3QTAxMDgxMjA4MzM3QTExMDgxMjA4MzMxMjA3NUY0MDM1MDIwMjk0QjQwODEwNzUwODc0MTIwODMzN0VCMzNGRjFGNUYzNzVGNjAxMjJCNDAwMUM3NTA4NzUxMjA4MzM3RUIzM0ZGMjMwRTAwNTc1RjMwMjgwMDM3NUYzMDA3NUYzMDA3NUY2MDIyMjAyMDc1NTdFQjMwMTI0QjQwMDM1NzUwODc2MTIwODMzN0VCMzAxMjg1NDBGRjVGMTdFQjMwMTI4MjBFNzA5RTVFMTMwRTcwRDc0MDE4MDBCRTVFMTMwRTYwNDc0MDE4MDAyNzQwMDUzRjE4MEY1RjM3NUYzMDA3NUY2MDIyMjAyMDc1NUMwRjE3RUIzMDEyODU0MEY0MkYxN0VCMzAxMjZCNDAwNDU3RUIzMDEyNEI0MDEyNDc1MDg3NzEyMDgzMzdFQjMwMTI4NTQwRjc4MDU1M0UxM0Y4MDM3N0VCMzAxMjgyMEU3MDU1M0UxN0Y4MDJCNTNFMUJGODAyNkI0MDMxNzc1MDg3ODEyMDgzMzdFQjMwMTI4MjBFNzA1NDNFMTgwODAxMTQzRTE0MDgwMEM0M0UxQzBEMEYxNzUwODA3MTIwODMzMjJEMEYxMDIwMjkwN0VCMzAxMjRCNDA5MjM3NTA4NzkxMjA4MzM3RUIzMDEyNkJFQjMzRkYxNjgxMUNBQjhDMEYxMTIwMTFERDBGMURBQjg1MDc2N0FCMzNGRjE4MDZEQjQwNTA4NzUwODdBMTIwODMzODA2MkI0MDMxOTc1MDg3QjEyMDgzMzdFQjMwMTI2QjQwMTU1N0VCMzNGRjI0NDAxN0FCMzNGRjI4MDQ2QjQwMTE5NzUwODdDMTIwODMzN0VCMzAxMjZCNDAxMzk3RUIzM0ZGMjU0RkU3QUIzM0ZGMjgwMkFCNDA3MkE3RUIzMDEyNTYwMjQ3QzBCN0UxMzAxMjY3RTE3MDEyNzc1MDg3MzEyMDgzMzdBMDEwODEyMDgzMzdBMTEwODEyMDgzMzEyMDc4QjQwMDMwMjAyOTAwMjA3NTU3RUIzMDEyNEI0MEJGNjc1MDg3RDEyMDgzMzdFQjMwMTI2N0VBMzAxMjg0Q0FCNzhFNDgwREY3RUIzMDEyNEI0MEFEQjc1MDg3RTEyMDgzMzdFQjMwMTI2NzBDRkY1RjM3NUY2MDEyMjAyMDc1NTAyMDc1NTAyMDc1NTdFQjMwMTI0QjQwNDIwNzUwOEMzMTIwODMzN0UwNDAwMDE3RTE3MDEyNTdFMTgwMTM0N0ExQzAwMDA3RTQ3MDEyOTEyMDgzRjAyMDZGNEI0MDYzQTc1MDhDMTEyMDgzMzdFNTgwMDAwN0E1QzAwRkU3RENBN0VENzAxMjU3RTc4MDEzNDdBN0MwMDAwN0U3NzAxMjk3NTA4QzExMjA4MzNDMEE4QzA4N0MyQUZBOUQ1ODcxMjA4RDZEMDg3RDBBODQwNEY4MDRBQjQwMDFDQzJBRkE5RDU4NzEyMDI5MEU0OERFRjhERUY4REVGRDVFMEY3QzBEMUNBMDJGRkNBMDYwMDAwMzJCNDA5MTI3RTU3MDEyNTRENTU2ODA1QTlEMkIxODAwM0E5QzJCMTgwMTZCNDA3MTZDMkFGN0UwNzAxMjc3RTE3MDEyNUMwRDFDQTE4Q0EzOENBMjgzMjAyMDI5MDAyMDc1NTdFQjMwMTI0QjQwMzE1NzUwOEMyMTIwODMzN0UwNDAwMDE3RTE3MDEyNTdFNTcwMTI5MDIwMjk0QjQwNTM5NzUwOEMwMTIwODMzQzBBOEMwODdDMkFGQTlENTg3N0UwODAxMzQ3QTBDMDAwMDdFMjQwMEZFN0UzNzAxMjU3RTQ3MDEyOTEyMDgzRkQwODdEMEE4N0UwODAxMzQ3QTBDMDAwMDdFNTcwMTI5MDIwMjk0MDIwNzU1NzUwODA3MTIwODMzNDNFMUMwMjJDMEE4QzA4N0MyQUZBOUQ1ODcxMjA3Q0E0MDE5N0UwODAxMzQ3QTBDMDAwMENBMEJDQTQ5MTIwODNGREE1OURBMEJEMDg3RDBBOEMzMjJEMDg3RDBBODIyQzBBOEMwODdDMkFGQTlENTg3MTIwN0NBNDAyQjdFNTgwMDAwN0E1QzAwRkU3RjYxN0U3ODAxMzQ3QTdDMDAwMDdFNzcwMTI5QkQ3NDc4MTE3NTA4QzExMjA4MzMxMjA4RDY0MDA2RDA4N0QwQThDMzIyRDA4N0QwQThEMzIyN0UyNDAwRkU3RTM0N0ZDQTBCMUE1MEM1RjA3RDYyN0Q3NTdEODc3RTM0N0YwMzdFMUJCMEJDMEI1MDQ5M0UwMDNFMDAwQTUwMkQ3NTBCM0EzMDY5NTMwMDAyQkQzODUwMDIyRDM4QkMxQjUwMzAzRTEwM0UxMDBBNTEyRDM1Njk0MTAwMDIwQjFBMzBCRDM4NTAwMjJEMzhCRTQ0RkZGRjc4MDU3RTFCOTAwQTQ5NEQ0NDY4MENCRTQ0MDBGRjI4MDQ3RTQ0MDBGRkMzMjJEMzIyMzQKKzowMDQwN0ZDMDAwNDAwMTAyMDBDQTFCMDEwQzAyMDAwMDdDMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxN0YwMDAwMDAwMDAwMDA1RAorOjEzOTcwODMzMDBDQTA4N0UwMTA4N0EwMzNGRjBEQTA4MjI4MDUwMEIxQTYwMEIzNTBCMUE3MDBCMzUwQjFBODAwQjM1MEIxQTkwMEIzNTBCMUFBMDBCMzUwQjFBQjAwQjM1MEIxQUMwMEIzNTBCMUFEMDBCMzUxQjBBNjAwQjE1MUIwQTcwMEIxNTFCMEE4MDBCMTUxQjBBOTAwQjE1MUIwQUEwMEIxNTFCMEFCMDBCMTUxQjBBQzAwQjE1MUIwQUQwMEIxNTlFNDQwMDEwNTBBQTJFNDQwMDEwNjgwRTdFMUJDMDdBMEJDMDBCMTQwQjM0MUI0NDc4RjIyMjdGNkY3RkYwMUJGQzdDNTQ3RDMyODAwOENBMUJDQTFCQ0ExQkNBMUI5RTQ0MDAxMDUwRjIyRTQ0MDAxMDY4MDZDQTQ4MUI0NDc4RkE3RkY2ODlFNENBNkI1RUQ0MDAzRjY4MjA3RTg0MDA0MDlEOEREQTZCQkQ4NzM4MTZDQTc5N0Q3ODEyMDkwMERBNzk0MDA4OUQ3ODY4MDI4MDA1QzJENzIyREE2QjQzOTAzMDc0QUEzOUI1NTU1NTc0NTUzOUI1MkFBQTc0QTAzOUI1NTU1NTdFMDQwMDQwOUQ3MDUwMDYyRDcwN0QwNzZENzc3QzMxN0U3QjAwN0E2QjAwMEI3QzBCNkNBNUQ5RjM3RjE2MUIxQzdFNTQyNzEwN0UxQjEwQkMxMDY4MDYxQjU0NzhGNTgwMkM2RDAwN0MyMDdGMTY5RjEwN0YyNzlGMjA3RTJCMDA3RTFCMTBCQzAxNzgxNjBCMkMwQjFDQTVEQkVGN0NCNjIwRTAwMzYzOTAzMDRENzc3ODkzQzJENzIyRDJENzIyMDAwNDAwMDQwMDAwMDYwNDAyMDQwMDAyMDEwNDAxMDIwMDAwMDAwMDAwMDAwMDAwMDIwMjAyMDIwMjA0MDAwODEwMDIxMDA0MDIwODAwMDEwMTA4N0UxODdGQkQ3QTFDMDBGRjBCMUEwMEJFMTAxNDM4MUEwQTUxMjM3RTE4MDk3NjdBMUMwMEZGMkQzNTBCMUE1MDYwMDhBNUI4MDIwMzRFQTAwODIyODBGRTdFRTg3RkJGN0FFQzAwRkZFMEY1MjI1NEMwNjgxNjdFRTg3RkJFN0FFQzAwRkZFMDYwMEMxMjA5QTBGNTA5N0FBMTIwMDIwRjBBMjJDMjk1RDI5NDEyMTlGQjUzOTBDRjEyMTlGQjgwRjEwRDBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEQwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTQ1NjQ2NzY1NzA2RjcyNzQyRjM0MjAyRDIwNDg2MTcyNjQ3NzYxNzI2NTIwNDQ2OTYxNjc2RTZGNzM3NDY5NjM3MzJDMjA1MjY1NzYyMDMxMkUzMDMwM0IyMDQzNkY3MDc5NzI2OTY3Njg3NDIwMzEzOTM5MzgyMDQ5NkU3MzY5NjQ2NTIwNEY3NTc0MjA0RTY1NzQ3NzZGNzI2QjczMEQwQTAwNTA2MTczNzMwMDQ2NDE0OTRDMjAyMTIxMDA1MDYxNzM3MzIwMjAyMDIwMDA0NjQxNDk0QzIwMjEyMTIwMDAwRDBBNDQ2NTc0NjU2Mzc0MjA1MjYxNkQzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE1MjYxNkQyMDU0NjU3Mzc0M0EyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTQxNjQ2NDcyNjU3MzczMjA2MjY5NzQyMDMwMkQzMTM0MjA3NDY1NzM3NDNBMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNTc3MjZGNzQ2NTIwNDE2NDY0NzI2NTczNzMzQTIwMzAzMDNBMDAyMDIwNzc2OTc0NjgyMDY0NjE3NDYxM0EyMDAwMkMyMDYxNkU2NDIwNzI2NTYxNjQzQTIwMDAwRDBBNEY2RTY1MjA2RjcyMjA2MjZGNzQ2ODIwNkY2NjIwNzQ2ODY1MjA2NjZGNkM2QzZGNzc2OTZFNjcyMDQxNjQ2NDcyNjU3MzczMjA2MjY5NzQ3MzIwNkM2OTczNzQ2NTY0MjA2MTcyNjUyMDczNjg2RjcyNzQ2NTY0MEQwQTc0NkYyMDczNkY2RDY1NzQ2ODY5NkU2NzNBMjAwMDIwNjE2RTY0MjAwMDBEMEE0NDY1NzQ2NTYzNzQyMDU1NjE3Mjc0M0EyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTUzNjM3MjYxNzQ2MzY4MjA1MDYxNjQyQzQ2Njk0NjZGMjA0NTZFNjE2MjZDNjUyMDI2MjA1MjUzNTQzQTIwMDAwRDBBMEEyMDIwMjA1NTYxNzI3NDIwNTQ2NTczNzQ3MzIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjA1MDZGNzI3NDMxMjAyMDIwNTA2RjcyNzQzMjIwMjAyMDUwNkY3Mjc0MzMyMDIwMjA1MDZGNzI3NDM0MEQwQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQwMDBEMEE1MDZGNzI3NDIwNDQ2NTYzNkY2NDY1NzIzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE0NDY5Njc2OTc0NjE2QzIwNEM2RjZGNzA2MjYxNjM2QjNBMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE0MTZFNjE2QzZGNjcyMDRDNkY2RjcwNjI2MTYzNkIzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE1MjU4NDQyQzU0NTg0NDIwNzQ2RjIwNTI1NDUzMkM0MzU0NTMyQzUyNDkyMDUzNjg2RjcyNzQzQTIwMjAyMDIwMjAwMDBEMEE1MjU4NDQyQzU0NTg0NDIwNzQ2RjIwNDQ1NDUyMkM0NDUzNTIyQzQzNDQyMDUzNjg2RjcyNzQzQTIwMjAyMDIwMjAwMDBEMEE1MjU0NTM1QjQzNTQ1MzJDNTI0OTVEMjA3NDZGMjA0NDU0NTIyQzQ0NTM1MjJDNDM0NDIwNTM2ODZGNzI3NDNBMjAwMDBEMEE1MjU0NTM1QjQzNTQ1MzJDNDM0NDVEMjA3NDZGMjA0NDUzNTIyQzUyNDkyMDUzNjg2RjcyNzQzQTIwMjAyMDIwMjAwMDBEMEE0NDU0NTI1QjQ0NTM1MjJDNDM0NDVEMjA3NDZGMjA1MjU0NTMyQzQzNTQ1MzJDNTI0OTIwNTM2ODZGNzI3NDNBMjAwMDBEMEE0NDU0NTIyMDc0NkYyMDQzNTQ1MzJDNDM0NDIwNTM2ODZGNzI3NDNBMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE1MjU0NTMyMDc0NkYyMDQzNTQ1MzJDNTI0OTIwNEM2RjZGNzA2MjYxNjM2QjNBMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE1MjU0NTMyMDc0NkYyMDQzNTQ1MzJDNDM0NDIwNEM2RjZGNzA2MjYxNjM2QjNBMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE0NDU0NTIyMDc0NkYyMDQ0NTM1MjJDNDM0NDIwNEM2RjZGNzA2MjYxNjM2QjNBMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEEwQTIwMjAyMDQ1MjA1MjIwNTIyMDRGMjA1MjIwMjEyMTIxMkMyMDQ1MjA1MjIwNTIyMDRGMjA1MjIwMjEyMTIxMjAyQzIwNDUyMDUyMjA1MjIwNEYyMDUyMjAyMTIxMjEwRDBBMEE0NDY5NjE2NzZFNkY3Mzc0Njk2MzczMjA2RTZGNzcyMDc3Njk2QzZDMjA2NTZFNzQ2NTcyMjA2MTIwNjQ2NTYyNzU2NzIwNkM2RjZGNzAyMDZGNjYyMDc0Njg2NTIwNjY2OTcyNzM3NDIwNjQ2NTc0NjU2Mzc0NjU2NDIwNjU3MjcyNkY3MjJFMDAwRDBBMEE0RTZGMjA0ODYxNzI2NDc3NjE3MjY1MjA2NTcyNzI2RjcyNzMyMDY0NjU3NDY1NjM3NDY1NjQyRTBEMEEwMDQzNkY3MDc5Njk2RTY3MjA2MzZGNjQ2NTIwNjY3MjZGNkQyMDRENjE3Mzc0NjU3MjIwNzQ2RjIwNTM2QzYxNzY2NTI3NzMyMDQ1NDU3MDcyNkY2RDIwMkUyRTJFMDA0NDZGNkU2NTBEMEEwQTJEM0UyMDU0NzU3MjZFMjA3NTZFNjk3NDIwNkY2NjY2MkMyMDY0Njk3MzYzNkY2RTZFNjU2Mzc0MjA2MzYxNjI2QzY1MjA2MTZFNjQyMDcyNzU2RTIwNzM3NDYxNkU2NDYxNkM2RjZFNjUyMDY0Njk2MTY3NkU2RjczNzQ2OTYzNzMyRTAwQzJBRkMyMDlDMjBBNzU5MDBEMjAxNzAyRDJCNTQzOTAzMDZDMDA3RTEwMDMxMjBGMzg3RTY4MEEwMTdBNkMwMEZGMTIxQTkzMEIwMDMwQjQwMjgwMjQwMjFCM0MyMDA5MURDMjk0RDI5NTEyMTlGQjUzOTBDRjEyMTlGQkMyOTVEMjk0MTIxOUZCQTVEOUU2NDM5MDMwMTIxOUZCMjI3RTY4MEE5NDdBNkMwMEZGMTIxQTkzN0VFNDEwMDA3RTQwNTU3QUU5NDAwQkU0N0U1MEFBN0FFOTUwMUJFNEJFRTk0MDY4MTk3RTY4MEE3QTdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOTEzN0FFOTQwN0VFOTEwODBGODdFNjgwQTc1N0E2QzAwRkYxMjFBOTMwQjAwN0U2ODBBRDg3QTZDMDBGRjEyMUE5MzdFNzgwMDAwN0U3MDBFN0VBNEZGRkY3RUI0QkZGRjdEQ0IwRUM0N0REQzVEREI2Q0JCN0RGQTVFRjQ3RkZGN0E3QkIwMEJCMDdERkI1RUY0N0ZGRjdBN0JCMDBCQjA3REZDNUVGNDdGRkY3QTdCQjAwQkIwN0RGRDVFRjQ3RkZGN0E3QkIwNkNCQjdERkE1RUY0N0ZGRkJFN0JCMDc4NDEwQkIwN0RGQjVFRjQ3RkZGQkU3QkIwNzgzNDBCQjA3REZDNUVGNDdGRkZCRTdCQjA3ODI3MEJCMDdERkQ1RUY0N0ZGRkJFN0JCMDc4MUEwQkIwQkVDNEZGRkU3ODkyMEVCNEE1REY4QjdFNjgwQTgyN0E2QzAwRkYxMjFBOTM4MDc3Q0E1QkNBNkI3RTY4MEE4QjdBNkMwMEZGMTIxQTkzN0U2ODBCMkE3QTZDMDBGRjEyMUE5MzBBNDcxMjFBQzk3RTY4MEI3OTdBNkMwMEZGMTIxQTkzNkM3N0RBNkJDQTZCMEI3MDBFQzRCRUM0RkZGRjc4RjYxQjcwMEE0NzEyMUFDOTEyMUEwODMwMDkzMERBNkJEQTVCNkNCQjdFNzgwMDAwN0RGQTVFRjQ3RkZGN0E3QkIwN0RGQjVFRjQ3RkZGN0E3QkIwN0RGQzVFRjQ3RkZGN0E3QkIwN0RGRDVFRjQ3RkZGN0E3QkIwODBENDdFNjgwQUI2N0E2QzAwRkYxMjFBOTMzMDE3MEU3RTc4MDQyMDdBN0MwMDAwN0U0NDdCRTA4MDBDN0U3ODAwMDA3QTdDMDAwMTdFNDQ4MDAwMEIwMDdFNDAzQTdDNTQ3RjU3N0Q4NDZDNjY3QTVCNTAwQjVDMEI1MEE1REUwMjBCNTAxQjg0NzhGMDdDNTQ3RjU3N0Q4NDZDNjZCRTVCNTA3ODFBMEI1QzBCNTBBNURFMDIwQjUwMUI4NDc4RUU3RTY4MEE3NTdBNkMwMEZGMTIxQTkzODA0QjdGNDU3RTY4MEE3QTdBNkMwMEZGMTIxQTkzN0U2ODBBRkE3QTZDMDBGRjEyMUE5MzdENEIxMjFBQzk3RTY4MEIwRjdBNkMwMEZGMTIxQTkzNkM4ODdDOTUxMjFBQzk3RTY4MEIxRDdBNkMwMEZGMTIxQTkzN0U0QjkwMTIxQUM5MTIxQTA4MzAwOTA1N0U0QjkwODBGQjdFNjgwQjdGN0E2QzAwRkYxMjFBOTMwQjAwRDI5MjdFMjQ4MDAwMDlCMjAwMDhCRUIwMDE3ODBCMDlCMjAwMTRCRUIwNjA3ODAyODAxNzdFNjgwQTdBN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MTEwOUIyMDAwODgwRkE3RTY4MEE3NTdBNkMwMEZGMTIxQTkzN0U2ODBCQTE3QTZDMDBGRjEyMUE5MzBCMDBDMjkyMTIxOUVFN0UyNDgwMDA3RUEwNTUxOUEyMDAxQzdFQjAwMTE5QjIwMDA4MDlCMjAwMUNCQ0FCNzgzNzA5QjIwMDA4NUVCMEMwQkVCMEMwNzgyQjdFQTBBQTE5QTIwMDFDNkNCQjE5QjIwMDA4MDlCMjAwMUNCQ0FCNzgxNjA5QjIwMDA4NUVCMEMwNzgwRDdFNjgwQTc1N0E2QzAwRkYxMjFBOTM4MDFCN0U2ODBBN0E3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkwQTE5QTIwMDFDMDlCMjAwMUM4MEY2N0U2ODBCQzM3QTZDMDBGRjEyMUE5MzdFNjgwQzQ1N0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTdFQjAwMTE5QjIwMDFDMkUyNDAxMDAwQkIwQTVEOUYzN0UyNDgwMDA3RTExMDk3RUIwMDEwQjAwMDlBMjAwMUNCQ0FCNzgxNjdFNjgwQTgyN0E2QzAwRkYxMjFBOTMyRTI0MDEwMDBCQjBBNUQ5RTI4MDI1N0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDlFNDdFMjQ4MDAwN0UxMTA5MDlBMjAwMUMyRTI0MDEwMEE1RDlGNTgwRUM3RTY4MEM2OTdBNkMwMEZGMTIxQTkzMTIxMzhBN0UyNDgwMDA3RTExMDkwQjAwNzQxMDE5QjIwMDEwMTIxMzAzMkUyNDAxMDBBNUQ5RUU3RTY4MEM4RDdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwRTQxOUIyMDAxMDEyMTMwMzJFMjQwMTAwQTVEOUVGMzAwMDAzMDIxOEI3MDIxM0JCNzQwNzE5QjIwMDA4MTIxOUZCMDlCMjAwMDAwOUIyMDAxNDA5QjIwMDAwMDlCMjAwMTQwOUIyMDAwMDA5QjIwMDE0MDlCMjAwMDAwOUIyMDAxNEMyMEI3RUIwNTUxMjEzNjQ3RUIwQUExMjEzNjQ3RUIwMDAxMjEzNjQ3RUIwRkYxMjEzNjQzMDBCMEY3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MjI3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMjIxOUIyMDAwMDEyMTlFRTA5QTIwMDAwQkNBQjc4MDEyMjIwMDkwM0QyMEIyMjEyMUEwODE5QjIwMDAwMTIxOUVFMDlBMjAwMDA4MEYzRDI5MjEyMTlFRUMyOTIxMjE5RUU3RTI0ODAwMDdFMTEwOTc0ODAxOUIyMDAwQzdFNTQwMDAyMTlBMjAwMDQxOUIyMDAwMDc0MDMxOUIyMDAwQzJFMjQwMTAwQTVEOUUxMjI3RTY4MENCMTdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwMTIxOUVFMDlCMjAwMTg3RUEwNTUxOUEyMDAwMDEyMTlFRTA5QjIwMDE4NUVCMDA1NzgwRDdFNjgwQTgyN0E2QzAwRkYxMjFBOTM4MDFBN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkwOTE5QTIwMDAwMTIxOUVFODBGNzJFMjQwMTAwQTVEOUI2N0U2ODBDRDU3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDEyMTlFRTA5QjIwMDE4N0VBMDU1MTlBMjAwMDAxMjE5RUUwOUIyMDAxODVFQjAwQTc4MEQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzODAxQTdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MDkxOUEyMDAwMDEyMTlFRTgwRjcyRTI0MDEwMEE1RDlCNjMwMDQwMzAyMTY4QzdFNjgwQ0Y5N0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMEE3ODNDN0VBMDAxMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAxMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwQTc4MTQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDlFNjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgwRDQxN0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMDU3ODNDN0VBMDAyMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAyMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwNTc4MTQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDlFNjdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgwRDg5N0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA3RUEwMDIxOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDUwQkVCMDUwNzgxRjZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDUwNzgwRDdFNjgwQTgyN0E2QzAwRkYxMjFBOTM4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkwRjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTJFMjQwMTAwQTVEOUEyN0U2ODBERDE3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDA5QjIwMDE4N0VBMDAxMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjBBMEJFQjBBMDc4MUY2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjBBMDc4MEQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzODAyMDdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MEY3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDgwRjEyRTI0MDEwMEE1RDk5RTAyMTgyQjdFNjgwRDFEN0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMDY3ODNDN0VBMDAxMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAxMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwNjc4MTQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDlFNjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgwRDY1N0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMDk3ODNDN0VBMDAyMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAyMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwOTc4MTQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDlFNjdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgwREFEN0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA3RUEwMDIxOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDkwQkVCMDkwNzgxRjZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDkwNzgwRDdFNjgwQTgyN0E2QzAwRkYxMjFBOTM4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkwRjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTJFMjQwMTAwQTVEOUEyMDIxOEI3MzAxNzAzMDIxOTNCQzI4QTEyMTkyMjdFMjQ4MDAwN0UxMTA5NkNBQTE5QTIwMDA0MTIxOUVFMEIwMDdFQTAwODE5QTIwMDEwMTIxOUVFMjA4QjNFMjA4OTNCN0VBMDA4MTlBMjAwMDQwOUEyMDAxMDRFQTAwMjE5QTIwMDEwMTIxOUVFMzA4QjIzMzA4OTIwMDlBMjAwMTA1RUEwRkQxOUEyMDAxMDEyMTlFRTdFQTAwMDE5QTIwMDA0MTIxOUVFMjA4QjA1MjA4OTAyODAxQTEyMUEwODMwMDkxNDdFQTAwMjE5QTIwMDEwMDAwMDVFQTBGRDE5QTIwMDEwMDAwMDgwRUMyRTI0MDEwMEE1RDk4OTAyMTkzQjIwMTdGQTEyMTM4QTEyMTkyMjdFMjQ4MDAwN0UxMTA5MEIwMDIwODkyNjdFQTBGRjE5QTIwMDA0MTIxOUVFN0VCMDU1MTlCMjAwMDAxMjE5RUUzMDg5MEY3RUEwMDAxOUEyMDAwNDEyMTlFRTIwODkwMjgwMjYxMjFBMDgzMDA5MjA3RUEwRkYxOUEyMDAwNDEyMTlFRTdFQjA1NTE5QjIwMDAwMTIxOUVFN0VBMDAwMTlBMjAwMDQxMjE5RUU4MEUwMkUyNDAxMDBBNUQ5QTgwMjE5M0I3RTI0ODAwMDdFMTEwOTdFQTAwODE5QTIwMDEwMTIxOUVFMkUyNDAxMDBBNUQ5RUYyMjMwMEExOTdFNjgwREY1N0E2QzAwRkYxMjFBOTNEMjA5MTIxOUVFMTIxOUVFMTIxOUVFMDIwRjEwMzAxNzFDN0U2ODBFNkY3QTZDMDBGRjEyMUE5MzdFNjgwRTkxN0E2QzAwRkYxMjFBOTMxMjFCM0MwMjE5RTYwQjAwN0U3ODE5QTA3QTdDMDBGRjdGNjc3QTZDMDAwMDdFNzAzRTdFN0JCMDdBNkJCMDBCN0MwQjZDQTVERkYzN0U3ODE5QTA3QTdDMDAwMDg5Nzg3RTc4MDAwMDdBN0MwMEZFN0U2ODdGQkY3QTZDMDBGRTc0QUEzOUI3NTU1NTc0NTUzOUI3MkFBQTc0QTAzOUI3NTU1NTZDOTk3QTZCOTA3RTU0MjcxMDdFNkI4MEJDODk2ODA4MUI1NDc4RjU4QUZGMTlERThBRkYxOUU2MTIxQTA4N0U2QjgwODBGQjdFMTBGRjEyMUE4NTgwRjhDQUY5N0VGNDAwRkYxQkY0NzhGQ0RBRjkyMkNBRjk3RUY0MDAwMDFCRjQ3OEZDREFGOTIyMjAwOTE5RDIwQTEyMTlGQkMyOTVEMjk0MTIxOUZCMTIxOUZCMTIxOUZCMTIxOUZCNDM5MDMwMjJDQTBCN0UxMDAzN0MzMDZDMjIwQjIwOUUzMDBBNTBGOTJFMzAwQjFCMjA2ODE4MTIxOUZCMTIxOUZCNTM5MENGMTIxOUZCMTIxOUZCMTIxOUZCNDM5MDMwQTVEQUU4MTIxOUZCMTIxOUZCMUIzMDY4MTkxMjE5RkIxMjE5RkJDMjk1RDI5NDEyMTlGQjEyMTlGQjEyMTlGQjQzOTAzMEE1REJFNzdFMjAwQTEyMTlGQkE1REFGQUE1RDlBN0RBMEIyMjIwMDkwQTEyMTlGQkIyOTQxMjE5RkJCMjk0MjIzMDE3MzIyMDA5MkZDQTJCQ0E3QjdFNzg4MDAwN0E3QzAwRkUxMjFCMUM3RTZCQTA1Q0FBNjgxMDI5QjcwMDE0NTQ2MDY4RjgzOUE3MDAwMDBCNkM4MEU5MTIxOUVFRDJCNURBN0JEQTJCMjIxMjFBRDQ3RTY4MDAwQjEyMUE5MzIyQ0E1OUNBNUI3RUI0MDAwQjdDQjhDNDEyMUIwNDdDQjgxMjFCMDQ3Q0I5QzQxMjFCMDQ3Q0I5MTIxQjA0N0VCMDY4N0FCOUIwMEJCNDZDQkI3QUI5QjBEQTU5REE1QjIyNUVCMDBGN0NBQjlFQTAwQTQwMDUyRUIwMzc4MDAzMkVCMDMwN0FCOUIwMEJCNDIyQzJCNUMyOTIxMjE5RUU3NDgwMzlCNzAwMEM3RTU0MDAwNjM5QTcwMDA0MzlCNzAwMDA3NDAzMzlCNzAwMEMyMjdFNzgwMDAwN0E3QzAwRkY3RTU4MDAwMDdBNUMwMDAxN0Y2NTdFNzQyMDAwMTIwOEQ2NDA1NDdFNzg3QzAwN0E3QzAwRkY3RTU4MDAwMDdBNUMwMDAxN0U2ODdDMDA3QTZDMDAwMTdFNzQwNDAwMTIwOEQ2NDAzMzc0ODAxMjFCQjE0MDJDNTM5MENGRDIwODdFMDQwMDA4N0UxNDAwMDA4NEE1REJGQ0E1REFGOUE1RDlGNjc0NDAxMjFCQjE0MDBFN0U2ODBFQzA3QTZDMDBGRjEyMUE5MzAyMTlFNkMyOTVEMjk0ODBGRUY1MEE3RTc4MDAwQTdBN0MwMDAwN0U2ODdGQkY3QTZDMDAwMTdFNzQwMDAxMDIwOEQ2RDIKKzowMDAwMDAwMDAxRkYKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQorLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgorLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisvLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lZGdlcG9ydC9ib290Mi5IMTYgYi9maXJtd2FyZS9lZGdlcG9ydC9ib290Mi5IMTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIxNDI5NQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Jvb3QyLkgxNgpAQCAtMCwwICsxLDI4IEBACis6MDAwNDAwMDAwMDAyMDAwMDAzRjcKKzowMDAyMDAwMDA0MDBGRkZCCis6MDAwNjAwMDAwMDAyMDA4MDAyMDAwMzczCis6MDAwMzAwMEIwMDAyMDAwQkU1Cis6MDAwMzAwMTMwMDAyMDI1NjkwCis6MDAwMzAwMUIwMDAyMDAxQkM1Cis6MDAwMzAwMjMwMDAyMDAyM0I1Cis6MDAwMzAwMkIwMDAyMDAyQkE1Cis6MDAwMzAwMzMwMDAyMDAzMzk1Cis6MDAwMzAwM0IwMDAyMDAzQjg1Cis6MDAwMzAwNDMwMDAyMDA0Mzc1Cis6MDAwMzAwNEIwMDAyMDA0QjY1Cis6MDAwMzAwNTMwMDAyMDFGNUIyCis6MDAwMzAwN0IwMDAyMDA3QjA1Cis6MDIxNjAwODAwMDdFQjM5MTAxMjBFMzBDN0VCMzNGRjI1NEZFN0FCMzNGRjI4MDBBN0VCMzNGRjI0NDAxN0FCMzNGRjI3NDAwN0FCMzkxMDA3NDAxN0FCMzkxMTI3RUY4MDAyNDdFMDAwMTdFMTAwMDEyMDlEMDY5MjAwMDBBNUU0MDFGQkUyNDAwMDA3ODA5N0UwMDAzN0EwMzkwMDA4MDA3N0UwMDAyN0EwMzkwMDA3NUIwREY3RTAwMDE3QTAzOTQwMDdBMDMwMTI0N0UwMDAxN0EwMzkzMDA3RTAwMDBBNUQ4RkQ3NUE4MDA3NUIxMDBDQTI5MTIwQzY2MTIwQzM3RjUyMTdBQTEyMDIwMDkwODIwMEEwQTdFQjAwQzgwMDg3RUIwMDA4MDAzN0VCMDA4N0FCMzkyMDAxMjAyOTZEQTI5NzQxMDdBQjM5MTAxN0UyMDA0N0NCMkMyRDcxMzEzMTMxMzdBQjM5MTAwNzQwMDdBQjM5MTEwNzQ2MDdBQjM5MTFDNzQwMjdBQjM5MTEyQTVEQURGNzQwMDdBQjM5MTAwNzQ2MDdBQjM5MTFDNzQxMDdBQjM5MTA2NzQxMDdBQjM5MTA3NzQzNDdBQjM5MTEzNzQzRjdBQjM5MTE0NzQwMjdBQjM5MTA2NzQwMTdBQjM5MTA3NzQwMzdBQjM5MTA2NzQ0NDdBQjM5MTA3NzRFRjdBQjM5MTA0NzQwNzdBQjM5MTA2N0VCMzkxMDc3QUIxMEE3NTA5MDFEMkFBRDJBRkU0N0U2MDAyNEQyMjc4MDM3RTYwMDM3Qzc2N0UwNDI4MDA4REVGMUIwNDc4RkEwNDdFMjAwNzdBMjM5MTA2N0UyMzkxMDc3RTMxMEFCQzMyNjgyMjdBMjEwQTdFMjEwOTY4MTdDQUI4NzQwMzdBQjM5MTA2N0VCMzkxMDc0NDAyN0FCMzkxMDdEQUI4NzUwOTAwMzBFMEMxNkM2NzdBNjM5MDAwODBCOUJFQjAwMjIyQzBEMDc1MDhGRTEyMEFDMDc0MDI3QUIzOTEwNjc0MDA3QUIzOTEwNzc0MDM3QUIzOTEwNjc0MDA3QUIzOTEwNzc0MDI3QUIzOTEwNDdFQjMzRkYyMzBFMDA4NzQxODdBQjM5MTAxODAwNjc0MTA3QUIzOTEwMTc0MTA3QUIzOTEwNDAyMDIzNjc1MDhGRjEyMEFDMDc0MDE3QUIzOTEwNDc0MDM3QUIzOTEwNjdFQjM5MTA3NTRGQzdBQjM5MTA3MzJDQUI4NzUwODAyMTIwQUMwN0VCMzkxMDMyMEU1MDgzMEUwMkIxMjAyOUU4MEYxN0VCMzkxMDQzMEUwMDVEQUI4MDIwMjM5MzBFMTA1REFCODAyMDFGNTMwRTYwNTEyMDQwMzgwRDUzMEUyMDVEQUI4MDIwMDgwODBDQkRBQjgzMjZECis6MDgyQTAyOTYwMEU0N0FCMzNGRjEwMjAzNDFDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUI3NDAwN0FCMzkxMDA3RUIzMDEyRUI0MDAwMjgwMUNCNDAxMTk3RUIzOTExNDU0MTQ2ODA1MTIwMzA1ODAyMzdFQjM5MTE0MzBFNTFDMTIwNDQzODAxNzdFQjM5MTE0MzBFNTA1MTIwNDQzODAwQjdFQjM5MTE0NTQxNDY4MDMxMjAzMDVEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMjIwRTQxOTc1MDgwQTEyMEFDMDdFQjMwMTJENzAwQTdFQjMwMTJFQjQwMTFGMDIwMzlEMDIwOThCNzUwODBCMTIwQUMwNzQxNDdBQjM5MTE0N0VCMzAxMkVCNDAyMEMxMjAzNEQwMjAzNDE3NDA0N0FCMzkxMTQyMjdFMDAwMDdBMDMwMTJFN0EwMzAxMkYyMjdFQjMwMTI1NTQ2MDYwMDVCNDQwMUU4MDFDN0VCMzAxMjZCNDA1MTU3NTA4NzExMjBBQzA3RUIzMDEyODdFQTAwMTdBQTM5MTA2N0FCMzkxMDcyMjc0MDA3QUIzOTEwMDc0MTA3QUIzOTExMjIyQkU1NzAxMkIyODA0N0U1NzAxMkI3QTBGMDEzMTdBNTcwMTM1NzQxMDdBQjM5MTEyMjI3NDAwN0FCMzkxMDA3RUIzOTExQTcwNTM3RUIzOTExNDIwRTQ0QzdFRUYwMTMxN0VGNzAxMzU3RTA3MDEzNTREMDA2ODIxN0UwMDAwRTA3QUIzOTExN0EzQTUwODFCRjQ2ODA2QTVCODEwRjA4MDE5N0VCMDAwN0FCMzAxMkVCRTAwMTA2ODBEN0VCMDAwN0FCMzAxMkU3NDgwN0FCMzkxMUU3QUVGMDEzMTdBRjcwMTM1NzUwODA2MTIwQUMwNzQwNDdBQjM5MTE0MjJDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUI3NTA4MDMxMjBBQzA3NDAwN0FCMzAxMkQ3NDAwN0FCMzkxMDA3NDAxN0FCMzkxMTIxMjA0QjJEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMjc1MDgwMzEyMEFDMDdFQjMwMTJGQjQwMjExNzQwMDdBQjMwMTJGN0FCMzAxMkU3NDIwN0FCMzkxMTQyMkI0MDE0NjdFQjM5MTA0MjBFNjQyN0UyMzkxMUE3QzMyN0UxMzAxMzAyQzIxN0EyMzAxMzA3RTAwMDAyRTA0MDEzNzdFQjM5MTE2N0EwOUIwMEIwNEE1REJGNDc0MjA3QUIzOTExNDc1MDg3MDEyMEFDMDdFQjMwMTMwN0VBMzAxMkNCQ0FCNzgwMzEyMDU1MjIyMDIwOThCREE1OTAyMDQxNTc0RTA3QUIzOTEwMDdFMDM5MTEwN0UxMzkxMTE3RTMzOTExMjdFMjM5MTEzN0U1MzkxMTQ3RTQzOTExNTdFNzM5MTE2N0U2MzkxMTc3QTBGMDEyNTdBMUYwMTI5NzUwODA0MTIwQUMwN0EwMTA4MTIwQUMwN0ExMTA4MTIwQUMwN0EyMTA4MTIwQUMwN0EzMTA4MTIwQUMwN0E0MTA4MTIwQUMwN0E1MTA4MTIwQUMwN0E2MTA4MTIwQUMwN0E3MTA4MTIwQUMwNzQwMDdBQjM5MTAwNzQ0MDdBQjM5MTA0MTIwNTI2MjI2RDAwN0UxNDAxMDI3QTA3MDEzNTdBMDMwMTMwN0VCMzAxMjUyMEU3MEY3QTIzMDEyRjdBMzMwMTJFQkUwNzAxMkI2ODA5MjI3QTMzMDEyRjdBMjMwMTJFN0VCMzAxMjU1NEUzMjMyMzMwRTAwMkQyRTUzMEU3MDJEMkU0MzBFNTA2MzBFNDAzMDIwOThCNTQzRUY1RjAwMzU0MUZDMzI1RjA5MDA1N0U3NTg0RkY3MzAyMDczOTAyMDVDNjAyMDdEMjAyMDdFRDAyMDZEMDAyMDY1QjAyMDgxRTAyMDgxRTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyNzAyMDhGOTAyMDgyNDAyMDgyNDAyMDgyNDAyMDgyNDAyMDgyNDAyMDgyNDc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMwMTI2QjQwNjJBN0VCMzAxMjc2MDc5N0MwQjdFMTMwMTI4N0UxNzAxMjk3NTA4NzIxMjBBQzA3QTAxMDgxMjBBQzA3QTExMDgxMjBBQzAxMjA5RDA0MDU4MDIwMzg0QjQwODFDNzUwODc0MTIwQUMwN0VCMzNGRjE3RTA4MDEzNzdBMEMwMDAwN0EwQkIwN0U1NDAwMDEwMjAzODRCNDAwMzM3NTA4NzUxMjBBQzA3RTA4MDEzNzdBMEMwMDAwQ0EwQjdFQjMzRkYyMzBFMDA3NzQwMjdBMEJCMDgwMDU3NDAwN0EwQkIwMEIxNDc0MDA3QTBCQjA3RTU0MDAwMkRBMEIwMjAzODQwMjA5OEI3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMDEyNkI0MDA1Rjc1MDg3NjEyMEFDMDdFQjMwMTJBNTQwRkI0MDIwNTdFQjA2MDgwMTdCNDAwMDU3RUIwMDA4MDBGN0VCMzAxMkEyMEU3MDU3RUIwNDA4MDAzN0VCMDIwN0FCMzkxMDA3RUIzOTExMTMwRTAwNDc0MDE4MDAyNzQwMDdFMDgwMTM3N0EwQzAwMDBDQTBCN0EwQkIwMEIxNDc0MDA3QTBCQjA3NDAwN0FCMzkxMDA3RTU0MDAwMkRBMEIwMjAzODQwMjA5OEI3RUIzMDEyQTU0MEZCNDAyMDU3RUIwNjA4MDE3QjQwMDA1N0VCMDAwODAwRjdFQjMwMTJBMjBFNzA1N0VCMDQwODAwMzdFQjAyMDdBQjM5MTAwN0VCMzAxMjhCNDAwMjY3RUIzMDEyNkI0MDEwRTc1MDg3NzEyMEFDMDc0MDE3QUIzOTExMjgwMUJCNDAzMEU3NTA4NzgxMjBBQzA3NDAxN0FCMzkxMTE4MDBBNzQwMDdBQjM5MTAwMTIwOThCMjI3NDAwN0FCMzkxMDAwMjAzNzc3RUIzMDEyNkI0MDkxRjc1MDg3OTEyMEFDMDdFQjMwMTI4QkVCMzNGRjE2ODBEQ0FCODEyMDFGMURBQjg1MDc2N0FCMzNGRjE4MDZEQjQwNTA4NzUwODdBMTIwQUMwODA2MkI0MDMxOTc1MDg3QjEyMEFDMDdFQjMwMTI4QjQwMTU1N0VCMzNGRjI0NDAxN0FCMzNGRjI4MDQ2QjQwMTE5NzUwODdDMTIwQUMwN0VCMzAxMjhCNDAxMzk3RUIzM0ZGMjU0RkU3QUIzM0ZGMjgwMkFCNDA3MkE3RUIzMDEyNzYwMjQ3QzBCN0UxMzAxMjg3RTE3MDEyOTc1MDg3MzEyMEFDMDdBMDEwODEyMEFDMDdBMTEwODEyMEFDMDEyMEEwQTQwMDMwMjAzNzcwMjA5OEI3RUIzMDEyNkI0MEJGNjc1MDg3RDEyMEFDMDdFQjMwMTI4N0VBMzAxMkE0Q0FCNzhFNDgwREY3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMDEyNkI0MEFDRjc1MDg3RTEyMEFDMDdFQjMwMTI4NzBDMzdFMDgwMTM3N0EwQzAwMDA3QTBCQjA3RTU0MDAwMTAyMDM4NDAyMDk4QjAyMDk4QjAyMDk4QjdFQjMwMTI2QjQwNDIwNzUwOEMzMTIwQUMwN0UwNDAwMDE3RTE3MDEyNzdFMTgwMTM3N0ExQzAwMDA3RTQ3MDEyQjEyMEFDQzAyMDhGM0I0MDY0Mjc1MDhDMTEyMEFDMDdFNTgwMDAwN0E1QzAwRkU3RENBN0VENzAxMjc3RTc4MDEzNzdBN0MwMDAwN0U3NzAxMkI3NTA4QzExMjBBQzBDMEE4QzJBRjdFNDAwMTdBNDM5NDAwMTIwQjYzN0U0MzAxMjQ3QTQzOTQwMEQwQTg0MDY1ODA2MEI0MDAyNEMyQUY3RUIwMDE3QUIzOTQwMDdBQjMwMTI0MTIwMzc3RTQ4REVGOERFRjhERUZENUUwRjdDMEQxQ0EwMkZGQ0EwNjAwMDAzMkI0MDkyMDc0MDM3QUIzOTEwNjdFMjM5MTA3N0U1NzAxMjc0RDU1NjgwNTRFMjAwMjgwMDM1RTIwRkQ3QTIzOTEwNzgwMTZCNDA3MTZDMkFGN0UwNzAxMjk3RTE3MDEyN0MwRDFDQTE4Q0EzOENBMjgzMjAyMDM3NzAyMDk4Qjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMwMTI2QjQwMzE1NzUwOEMyMTIwQUMwN0UwNDAwMDE3RTE3MDEyNzdFNTcwMTJCMDIwMzg0QjQwNTQxNzUwOEMwMTIwQUMwQzBBOEMyQUY3RTQwMDE3QTQzOTQwMDdFMDgwMTM3N0EwQzAwMDA3RTI0MDBGRTdFMzcwMTI3N0U0NzAxMkIxMjBBQ0M3RTQzMDEyNDdBNDM5NDAwRDBBODdFMDgwMTM3N0EwQzAwMDA3RTU3MDEyQjAyMDM4NEI0MDEyMDdFMDAwMDdFMTAwMTc1MDg3MjEyMEFDMDdBMDEwODEyMEFDMDdBMTEwODEyMEFDMDEyMDlEMDQwMDMwMjAzODQwMjA5OEI3NTA4MDcxMjBBQzA3RUIwMDI3QUIzOTAwMDc0MDA3QUIzOTEwMDc0NDA3QUIzOTExNTc0MDE3QUIzOTExMTdFQjM5MTE1NTQ2MEJFQjA0MDY4MDg3NDIwN0FCMzkxMTU4MEVENzQwMTdBQjM5MTEyNzQwNDdBQjM5MTE0NzRGRjdBQjMwMTJEMjJDMEE4QzJBRjdFNDAwMTdBNDM5NDAwMTIwQTU3NDAxRjdFMDgwMTM3N0EwQzAwMDBDQTBCQ0E0OTEyMEFDQ0RBNTlEQTBCN0U0MzAxMjQ3QTQzOTQwMEQwQThDMzIyN0U0MzAxMjQ3QTQzOTQwMEQwQTgyMkMwQThDMkFGN0U0MDAxN0E0Mzk0MDAxMjBBNTc0MDMxN0U1ODAwMDA3QTVDMDBGRTdGNjE3RTc4MDEzNzdBN0MwMDAwN0U3NzAxMkJCRDc0NzgxNzc1MDhDMTEyMEFDMDEyMEI2MzQwMEM3RTQzMDEyNDdBNDM5NDAwRDBBOEMzMjI3RTQzMDEyNDdBNDM5NDAwRDBBOEQzMjI3RTI0MDBGRTdFMzQ3RkNBMEIxQTUwQzVGMDdENjI3RDc1N0Q4NzdFMzQ3RjAzN0UxQkIwQkMwQjUwNDkzRTAwM0UwMDBBNTAyRDc1MEIzQTMwNjk1MzAwMDJCRDM4NTAwMjJEMzhCQzFCNTAzMDNFMTAzRTEwMEE1MTJEMzU2OTQxMDAwMjBCMUEzMEJEMzg1MDAyMkQzOEJFNDRGRkZGNzgwNTdFMUI5MDBBNDk0RDQ0NjgwQ0JFNDQwMEZGMjgwNDdFNDQwMEZGQzMyMkQzMjI0OAorOjAwNDA3RkMwMDA0MDAxMDIwMEQ3MzEwMjAwMDMwMDAwN0MwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjE3RjAwMDAwMDAwMDAwMDQ0Cis6MTA0MzBBQzAwMENBMDg3RTAxMDg3QTAzM0ZGMERBMDgyMjgwNTAwQjFBNjAwQjM1MEIxQTcwMEIzNTBCMUE4MDBCMzUwQjFBOTAwQjM1MEIxQUEwMEIzNTBCMUFCMDBCMzUwQjFBQzAwQjM1MEIxQUQwMEIzNTFCMEE2MDBCMTUxQjBBNzAwQjE1MUIwQTgwMEIxNTFCMEE5MDBCMTUxQjBBQTAwQjE1MUIwQUIwMEIxNTFCMEFDMDBCMTUxQjBBRDAwQjE1OUU0NDAwMTA1MEFBMkU0NDAwMTA2ODBFN0UxQkMwN0EwQkMwMEIxNDBCMzQxQjQ0NzhGMjIyN0Y2RjdGRjAxQkZDN0M1NDdEMzI4MDA4Q0ExQkNBMUJDQTFCQ0ExQjlFNDQwMDEwNTBGMjJFNDQwMDEwNjgwNkNBNDgxQjQ0NzhGQTdGRjY4OUU0Q0E2QjVFRDQwMDNGNjgyMDdFODQwMDQwOUQ4RERBNkJCRDg3MzgxNkNBNzk3RDc4MTIwQjhEREE3OTQwMDg5RDc4NjgwMjgwMDVDMkQ3MjJEQTZCN0VDMDAzN0VEMDAwN0FEMzkwMDA3NEFBMzlCNTU1NTU3NDU1MzlCNTJBQUE3NEEwMzlCNTU1NTU3RTA0MDA0MDlENzA1MDA2MkQ3MDdEMDc2RDc3N0MzMTdFN0IwMDdBNkIwMDBCN0MwQjZDQTVEOUYzN0YxNjFCMUM3RTU0MjcxMDdFMUIxMEJDMTA2ODA2MUI1NDc4RjU4MDJGNkQwMDdDMjA3RjE2OUYxMDdGMjc5RjIwN0UyQjAwN0UxQjEwQkMwMTc4MTkwQjJDMEIxQ0E1REJFRjdDQjYyMEUwMDY2Q0RDN0FEMzkwMDA0RDc3Nzg5MEMyRDcyMkQyRDcyMjAwMDQwMDA0MDAwMDA2MDQwMjA0MDAwMjAxMDQwMTAyMDAwMDAwMDAwMDAwMDAwMDAyMDIwMjAyMDIwNDAwMDgxMDAyMTAwNDAyMDgwMDAxMDEwODdFMTg3RkJEN0ExQzAwRkYwQjFBMDA1RTEwMUZCRTEwMTQzODFBMEE1MTIzN0UxODBDMEQ3QTFDMDBGRjJEMzUwQjFBNTA2MDA4QTVCODAyMDM0RUEwMDgyMjgwRkU3RUU4N0ZCRjdBRUMwMEZGRTBGNTIzNTRDMDY4Mzg3RUU4N0ZCRTdBRUMwMEZGRTA2MDJFMTIwQzM3RjUyMTdBQTEyMDIwMDkwQzIwMEExMjdFQjAwRTdBQjM5MjAwODAxMDdFQjAwMjdBQjM5MjAwODAwNzdFQjAwQTdBQjM5MjAwN0FCMTBEMDIwQ0M0MjI3RUIwMDI3QUIzOTAwMDEyMTkwQzdFQjAwMzdBQjM5MDAwMTIxOTBDODBFQUMyQUZDMjExQzIxMjc1QjBERjdFMDAwMTdBMDM5MzAwN0UwMDAwN0EwMzkwMDA2QzAwN0UxMDAzMTIwQ0Y1N0U2ODJDNjY3QTZDMDBGRjEyMTlDNDBCMDA4MDMyMDIxQTZFMjAxMTJCN0VCMDAxN0FCMzkwMDAxMjE5MEM3RUIwMDM3QUIzOTAwMDEyMTkwQzdFQjAwMjdBQjM5MDAwMTIxOTBDQTVEOURDN0VCMDAwN0FCMzkwMDAxMjE5MEMyMjdFNjgyQ0Y5N0E2QzAwRkYxMjE5QzQ3RUU0MTAwMDdFNDA1NTdBRTk0MDBCRTQ3RTUwQUE3QUU5NTAxQkU0QkVFOTQwNjgxOTdFNjgyQ0RGN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMTM3QUU5NDA3RUU5MTA4MEY4N0U2ODJDREE3QTZDMDBGRjEyMTlDNDBCMDA3RTY4MkQzRDdBNkMwMEZGMTIxOUM0N0U3ODAwMDA3RTcwMEU3RUE0RkZGRjdFQjRCRkZGN0RDQjBFQzQ3RERDNUREQjZDQkI3REZBNUVGNDdGRkY3QTdCQjAwQkIwN0RGQjVFRjQ3RkZGN0E3QkIwMEJCMDdERkM1RUY0N0ZGRjdBN0JCMDBCQjA3REZENUVGNDdGRkY3QTdCQjA2Q0JCN0RGQTVFRjQ3RkZGQkU3QkIwNzg0MTBCQjA3REZCNUVGNDdGRkZCRTdCQjA3ODM0MEJCMDdERkM1RUY0N0ZGRkJFN0JCMDc4MjcwQkIwN0RGRDVFRjQ3RkZGQkU3QkIwNzgxQTBCQjBCRUM0RkZGRTc4OTIwRUI0QTVERjhCN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwNzdDQTVCQ0E2QjdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQ3RTY4MkQ4RjdBNkMwMEZGMTIxOUM0MEE0NzEyMTlGQTdFNjgyRERFN0E2QzAwRkYxMjE5QzQ2Qzc3REE2QkNBNkIwQjcwMEVDNEJFQzRGRkZGNzhGNjFCNzAwQTQ3MTIxOUZBMTIxOTE5MzAxMTMwREE2QkRBNUI2Q0JCN0U3ODAwMDA3REZBNUVGNDdGRkY3QTdCQjA3REZCNUVGNDdGRkY3QTdCQjA3REZDNUVGNDdGRkY3QTdCQjA3REZENUVGNDdGRkY3QTdCQjA4MEQ0N0U2ODJEMUI3QTZDMDBGRjEyMTlDNDMwMUYwRTdFNzgwNDIwN0E3QzAwMDA3RTQ0N0JFMDgwMEM3RTc4MDAwMDdBN0MwMDAxN0U0NDgwMDAwQjAwN0U0MDNBN0M1NDdGNTc3RDg0NkM2NjdBNUI1MDBCNUMwQjUwQTVERTAyMEI1MDFCODQ3OEYwN0M1NDdGNTc3RDg0NkM2NkJFNUI1MDc4MUEwQjVDMEI1MEE1REUwMjBCNTAxQjg0NzhFRTdFNjgyQ0RBN0E2QzAwRkYxMjE5QzQ4MDRCN0Y0NTdFNjgyQ0RGN0E2QzAwRkYxMjE5QzQ3RTY4MkQ1RjdBNkMwMEZGMTIxOUM0N0Q0QjEyMTlGQTdFNjgyRDc0N0E2QzAwRkYxMjE5QzQ2Qzg4N0M5NTEyMTlGQTdFNjgyRDgyN0E2QzAwRkYxMjE5QzQ3RTRCOTAxMjE5RkExMjE5MTkzMDExMDU3RTRCOTA4MEZCN0U2ODJFMjg3QTZDMDBGRjEyMTlDNDBCMDA3RUIwODA3QUIzOTEwMDdFQTA1NTdBQTM5MTEwN0VCMzkxMDc3RUIzOTExMEJDQUI3ODIwN0VBMEFBN0FBMzkxMTA3RUIzOTEwNzdFQjM5MTEwQkNBQjc4MEQ3RTY4MkNEQTdBNkMwMEZGMTIxOUM0ODAxQjdFNjgyQ0RGN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMEE3QUEzOTExMDdFQjM5MTEwODBGNjdFNjgyRTRBN0E2QzAwRkYxMjE5QzQxMjEyMzEwQjAwN0VFNDEwMDA3RUEwQTVDQUE4N0FFOUEwN0VCMDMwN0FCMzk1MDA3RUU5QTA3RUIwMDA3QUIzOTUwMDEyMTkwQzBCRTU3RUIwMjA3QUIzOTUwMDdFRTlCMDdFQjAwMDdBQjM5NTAwN0VFOUIwREFBOEJDQUI3ODBEN0U2ODJDREE3QTZDMDBGRjEyMTlDNDgwMUQ3RTY4MkNERjdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTBDN0VCMDM4N0FCMzk1MDA3RUU5QjA4MEZCODAwMDdFNjgyREU0N0E2QzAwRkYxMjE5QzQwQjAwNzVCMERGN0UyNDgwMDAwOUIyMDAwOEJFQjAwMTc4MEIwOUIyMDAxNEJFQjA2MDc4MDI4MDE3N0U2ODJDREY3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTExMTA5QjIwMDA4ODBGQTdFNjgyQ0RBN0E2QzAwRkYxMjE5QzQ3RTY4MkUwNjdBNkMwMEZGMTIxOUM0MEIwMDc1QjBFRjEyMThGRjdFMjQ4MDAwN0VBMDU1MTlBMjAwMUM3RUIwMDExOUIyMDAwODA5QjIwMDFDQkNBQjc4MzcwOUIyMDAwODVFQjBDMEJFQjBDMDc4MkI3RUEwQUExOUEyMDAxQzZDQkIxOUIyMDAwODA5QjIwMDFDQkNBQjc4MTYwOUIyMDAwODVFQjBDMDc4MEQ3RTY4MkNEQTdBNkMwMEZGMTIxOUM0ODAxQjdFNjgyQ0RGN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMEExOUEyMDAxQzA5QjIwMDFDODBGNjdFNjgyRTZDN0E2QzAwRkYxMjE5QzQ3RTY4MkVFRTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjE3RUIwMDExOUIyMDAxQzJFMjQwMTAwMEJCMEE1RDlGMzdFMjQ4MDAwN0UxMTIxN0VCMDAxMEIwMDA5QTIwMDFDQkNBQjc4MTY3RTY4MkNFNzdBNkMwMEZGMTIxOUM0MkUyNDAxMDAwQkIwQTVEOUUyODAyNTdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExRTQ3RTI0ODAwMDdFMTEyMTA5QTIwMDFDMkUyNDAxMDBBNUQ5RjU4MEVDN0U2ODJGMTI3QTZDMDBGRjEyMTlDNDEyMTIzMTdFMjQ4MDAwN0UxMTIxMEIwMDc0MTAxOUIyMDAxMDEyMTFBQTJFMjQwMTAwQTVEOUVFN0U2ODJGMzY3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMEU0MTlCMjAwMTAxMjExQUEyRTI0MDEwMEE1RDlFRjMwMDAwMzAyMTczQjAyMTI2QTc0MDcxOUIyMDAwODEyMTkwQzA5QjIwMDAwMDlCMjAwMTQwOUIyMDAwMDA5QjIwMDE0MDlCMjAwMDAwOUIyMDAxNDA5QjIwMDAwMDlCMjAwMTRDMjEzN0VCMDU1MTIxMjBCN0VCMEFBMTIxMjBCN0VCMDAwMTIxMjBCN0VCMEZGMTIxMjBCMzAxMzBGN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTIyN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDIyMTlCMjAwMDAxMjE4RkYwOUEyMDAwMEJDQUI3ODAxMjIyMDExMDNEMjEzMjIxMjE5MTkxOUIyMDAwMDEyMThGRjA5QTIwMDAwODBGMzc1QjBERjEyMThGRjc1QjBFRjEyMThGRjdFMjQ4MDAwN0UxMTIxNzQ4MDE5QjIwMDBDN0U1NDAwMDIxOUEyMDAwNDE5QjIwMDAwNzQwMzE5QjIwMDBDNzQwNjE5QjIwMDA4MkUyNDAxMDBBNUQ5REIyMjdFNjgyRjVBN0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDAxMjE4RkYwOUIyMDAxODdFQTA1NTE5QTIwMDAwMTIxOEZGMDlCMjAwMTg1RUIwMDU3ODBEN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwMUE3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTA5MTlBMjAwMDAxMjE4RkY4MEY3MkUyNDAxMDBBNUQ5QjY3RTY4MkY3RTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwMTIxOEZGMDlCMjAwMTg3RUEwNTUxOUEyMDAwMDEyMThGRjA5QjIwMDE4NUVCMDBBNzgwRDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQ4MDFBN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwOTE5QTIwMDAwMTIxOEZGODBGNzJFMjQwMTAwQTVEOUI2MzAwNDAzMDIxNTlGN0U2ODJGQTI3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjAwQTc4M0M3RUEwMDExOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAzMTlBMjAwMTA3RUEwMDExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDBBNzgxNDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQyRTI0MDEwMEE1RDk5RTgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMUU2N0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxN0U2ODJGRUE3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjAwNTc4M0M3RUEwMDIxOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAzMTlBMjAwMTA3RUEwMDIxOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDA1NzgxNDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQyRTI0MDEwMEE1RDk5RTgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMUU2N0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxN0U2ODMwMzI3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDdFQTAwMjE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwNTBCRUIwNTA3ODFGNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwNTA3ODBEN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTBGN0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxMkUyNDAxMDBBNUQ5QTI3RTY4MzA3QTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwMDlCMjAwMTg3RUEwMDExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMEEwQkVCMEEwNzgxRjZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMEEwNzgwRDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQ4MDIwN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwRjdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTJFMjQwMTAwQTVEOTlFN0U2ODMwOUU3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDIwQjEyNjdFQTAwMjE5QTIwMDEwMTIxOEZGMzBCMTE5NkNBQTE5QTIwMDEwMTIxOEZGMjBCMTBEN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTBGN0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxMkUyNDAxMDBBNUQ5QUUwMjE3M0I3RTY4MkZDNjdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDA2NzgzQzdFQTAwMTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDMxOUEyMDAxMDdFQTAwMTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwMDY3ODE0N0U2ODJDRTc3QTZDMDBGRjEyMTlDNDJFMjQwMTAwQTVEOTlFODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExRTY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjE3RTY4MzAwRTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDA5NzgzQzdFQTAwMjE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDMxOUEyMDAxMDdFQTAwMjE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwMDk3ODE0N0U2ODJDRTc3QTZDMDBGRjEyMTlDNDJFMjQwMTAwQTVEOTlFODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExRTY3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDgwRjE3RTY4MzA1NjdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwN0VBMDAyMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjA5MEJFQjA5MDc4MUY2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjA5MDc4MEQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0ODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMEY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjEyRTI0MDEwMEE1RDlBMjIwMUY2ODEyMTIzMTEyMTdBOTdFMjQ4MDAwN0UxMTIxMEIwMDIwODkyNjdFQTBGRjE5QTIwMDA0MTIxOEZGN0VCMDU1MTlCMjAwMDAxMjE4RkYzMDg5MEY3RUEwMDAxOUEyMDAwNDEyMThGRjIwODkwMjgwMjYxMjE5MTkzMDExMjA3RUEwRkYxOUEyMDAwNDEyMThGRjdFQjA1NTE5QjIwMDAwMTIxOEZGN0VBMDAwMTlBMjAwMDQxMjE4RkY4MEUwMkUyNDAxMDBBNUQ5QTgwMjE3QzIwMjE4NEM3RTI0ODAwMDdFMTEyMTdFQTAwODE5QTIwMDEwMTIxOEZGMkUyNDAxMDBBNUQ5RUYyMjMwMUYwMzAyMTg0Q0MyOEExMjE3QTkwQjAwMTIxODE2MjA4QjI0NzQwMzdBQjM5MTA2NzQwMjdBQjM5MTA3NzQwQzdBQjM5MTA2NzQwMDdBQjM5MTA3MTIxOTBDMzA4QjA2MTIxODE2MzA4QkFEMTIxOTE5MzAxMUE3MTIxODE2NzQwMzdBQjM5MTA2NzQwMjdBQjM5MTA3MTIxOTBDMTIxODE2ODBFOTdFQTAwMDc0MDI3QUIzOTEwNjdBQTM5MTA3NzQwMzdBQjM5MTA2N0FBMzkxMDcxMjE4RkY3NEVGN0FCMzkxMDQ3NDgwN0FCMzkxMDM3NDBDN0FCMzkxMDY3NDA4N0FCMzkxMDcxMjE5MEMyMjMwMTIxOTdFNjgzMEMyN0E2QzAwRkYxMjE5QzREMjExMTIxOEZGMTIxOEZGMTIxOEZGMDIwQ0NBMzAxRjFDN0U2ODMxM0M3QTZDMDBGRjEyMTlDNDdFNjgzMTVFN0E2QzAwRkYxMjE5QzQxMjFBNkUwMjE4RjcwQjAwN0U3ODE4QjE3QTdDMDBGRjdGNjc3QTZDMDAwMDdFNzAzRTdFN0JCMDdBNkJCMDBCN0MwQjZDQTVERkYzN0U3ODE4QjE3QTdDMDAwMDg5Nzg3RTc4MDAwMDdBN0MwMEZFN0U2ODdGQkY3QTZDMDBGRTc0QUEzOUI3NTU1NTc0NTUzOUI3MkFBQTc0QTAzOUI3NTU1NTZDOTk3QTZCOTA3RTU0MjcxMDdFNkI4MEJDODk2ODA4MUI1NDc4RjU4QUZGMThFRjhBRkYxOEY3MTIxOTE5N0U2QjgwODBGQjdFMTBGRjEyMTlBQzgwRjhDQUY5N0VGNDAwRkYxQkY0NzhGQ0RBRjkyMkNBRjk3RUY0MDAwMDFCRjQ3OEZDREFGOTIyMjAxMTIwRDIxMjEyMTkwQzdFQjAwMjdBQjM5MDAwMTIxOTBDMTIxOTBDMTIxOTBDMTIxOTBDN0VCMDAwN0FCMzkwMDAyMkNBMEI3RTEwMDM3QzMwNkMyMjBCMjA5RTMwMEE1MEY5MkUzMDBCMUIyMDY4MjAxMjE5MEMxMjE5MEM3RUIwMDM3QUIzOTAwMDEyMTkwQzEyMTkwQzEyMTkwQzdFQjAwMDdBQjM5MDAwQTVEQUUwMTIxOTBDMTIxOTBDMUIzMDY4MjAxMjE5MEMxMjE5MEM3RUIwMDI3QUIzOTAwMDEyMTkwQzEyMTkwQzEyMTkwQzdFQjAwMDdBQjM5MDAwQTVEQkUwN0UyMDBBMTIxOTBDQTVEQUZBQTVEOTk4REEwQjIyMjAxMTE0MTIxOTBDN0VCMDAxN0FCMzkwMDAxMjE5MEM3RUIwMDA3QUIzOTAwMDIyMzAxRjMyMjAxMTJGQ0EyQkNBN0I3RTc4ODAwMDdBN0MwMEZFMTIxQTREN0U2QkEwNUNBQTY4MTAyOUI3MDAxNDU0NjA2OEY4MzlBNzAwMDAwQjZDODBFOTEyMThGRkQyQjVEQTdCREEyQjIyMTIxQTA1N0U2ODAwMEMxMjE5QzQyMkNBNTlDQTVCN0VCNDAwMEM3Q0I4QzQxMjFBMzU3Q0I4MTIxQTM1N0NCOUM0MTIxQTM1N0NCOTEyMUEzNTdFQjA2ODdBQjlCMDBCQjQ2Q0JCN0FCOUIwREE1OURBNUIyMjVFQjAwRjdDQUI5RUEwMEE0MDA1MkVCMDM3ODAwMzJFQjAzMDdBQjlCMDBCQjQyMkMyQjU3NUIwRUYxMjE4RkY3NDgwMzlCNzAwMEM3RTU0MDAwNjM5QTcwMDA0MzlCNzAwMDA3NDAzMzlCNzAwMEMyMjdFNzgwMDAwN0E3QzAwRkY3RTU4MDAwMDdBNUMwMDAxN0Y2NTdFNzQyMDAwMTIwQjYzNDA1ODdFNzg3QzAwN0E3QzAwRkY3RTU4MDAwMDdBNUMwMDAxN0U2ODdDMDA3QTZDMDAwMTdFNzQwNDAwMTIwQjYzNDAzNzc0ODAxMjFBRUE0MDMwN0UwMDAzN0EwMzkwMDBEMjEwN0UwNDAwMDg3RTE0MDAwMDg0QTVEQkZDQTVEQUY5QTVEOUY2NzQ0MDEyMUFFQTQwMEU3RTY4MzE4RDdBNkMwMEZGMTIxOUM0MDIxOEY3N0VCMDAyN0FCMzkwMDA4MEZFRjUwQjdFNzgwMDBCN0E3QzAwMDA3RTY4N0ZCRjdBNkMwMDAxN0U3NDAwMDEwMjBCNjM3NAorOjAwMDAwMDAwMDFGRgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCisvLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2CisvLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisvLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24uSDE2IGIvZmlybXdhcmUvZWRnZXBvcnQvZG93bi5IMTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2UzNmZlMQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24uSDE2CkBAIC0wLDAgKzEsMjkgQEAKKzowMDA0MDAwMDAwMDExMDAwMDRFNworOjAwMDIwMDAwMDQwMEZGRkIKKzowMDA2MDAwMDAwMDIwMDgwMDI0NEIwODIKKzowMDAzMDAwQjAwMDI0NDcyM0EKKzowMDAzMDAxMzAwMDIwMDEzRDUKKzowMDAzMDAxQjAwMDIwMDFCQzUKKzowMDAzMDAyMzAwMDIwMDIzQjUKKzowMDAzMDAyQjAwMDIwMDJCQTUKKzowMDAzMDAzMzAwMDIwMDMzOTUKKzowMDAzMDAzQjAwMDIwMDNCODUKKzowMDAzMDA0MzAwMDIwMDQzNzUKKzowMDAzMDA0QjAwMDI2RUM0N0UKKzowMDAzMDA1MzAwMDI3NThEQTYKKzowMDAzMDA3QjAwMDIwMDdCMDUKKzowMDA3MDA4MDAwN0UxNDAwMDAwMjQwNTE1NAorOjA4ODIzMDAwMDAxMjM3MjgxMjMwM0UxMjMwNTQxMjMwRTUxMjMxNjgxMjM1MjAxMjM4NTgxMjMxMTUxMjMxNDAxMjMwQTA4MEUwRTUyMzYwMTk3RTE0MDAwMDA5QjEwMUNGQjQwMDAyODAwNTE0MTlCMTAxQ0ZBNTBCQkUzMTJGNzhFQjIyQzJBRjdFQjMzRkYxQjQwMTBBQzBGMTc1RjEwMjEyNzBFRkQwRjFEMkFGMjJDMkFGRTUyMjYwNDM3RTA3MDFFMUJFMDQwMzgwMzgzOTdFMDQ4MDAwN0UyMDAwMTM1MDIxMDlBMDAwMDQ0RUEwMDUxOUEwMDAwNDBBMzIwOTUzNjc4RTVFNTEyNzY4MEIwOUEwMDAxMDRFQTAwMTE5QTAwMDEwMkUwNDAxMDBBNTBBQkUyMTJGNzhEMTc1MjIwMEQyQUYyMkMyQUY3RTIwMDA3RTMwMDE3Q0IyMjMwQTJCNDkzMjAxOEZCRTM0MDAwMDY4MTI3RUIxMjFBNTRCN0FCMTIxQ0ExOTQ5MjIzMEQ1OTkyNERBMTkzRTMwQTUwQUJFMjEyRjc4RDZEMkFGMjI0NjBGNDk2NzRDQkY1MDE3NTM2RjU2Qzc1QTFGNUQ3N0MyQUZFNTMyNjAxNDdFMjAwMDEzNTAwN0NBQjgxMjMxMDJEQUI4QTUwQUJFMjEyRjc4RUZEMkFGMjJDQTI4MTI2N0FCREEyODQwMDkwQTIyMDlCMjY3OEVGNDUyMzIyMkMyQUZFNTM0NjAxNDdFMjAwMDEzNTAwN0NBQjgxMjMxMzJEQUI4QTUwQUJFMjEyRjc4RUZEMkFGMjJDQTI4MEEyMjA5NDIwMDNFMTI2OUMyREEyODIyQzJBRkU1MzU2MDE0N0UyMDAwMTM1MDA3Q0FCODEyMzE1RERBQjhBNTBBQkUyMTJGNzhFRkQyQUYyMkNBMjg3RTQwMDAxMjZDNUJEQTI4MjJDMkFGRTUyMzYwMTQ3RTIwMDAxMzUwMDdDQUI4MTIzMTg1REFCOEE1MEFCRTIxMkY3OEVGRDJBRjIyN0NCMjIzMEEyQjQ5MjIzMTkwODkyNDMxQTAzMjEwMzI4MDMyRjAzMzYwMzNEMDM0NDAzNEIwN0UyNzAxOEZCRTI0MDAwMDc4MjQ3RTI0ODAwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjQ5MzA3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDE5RjY4MEQ3QTI3MDE5RjdFNjA5QzdBNjMwMUNGODAyRTdFNjMwMUNGQTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxODZDMDA3QTAzMDFDRkMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI3MDE5MUJFMjQwMDAwNzgyNDdFMjQ4MTAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNEM4ODdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMUExNjgwRDdBMjcwMUExN0U2MDlDN0E2MzAxRDA4MDJFN0U2MzAxRDBBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjE5NkMwMDdBMDMwMUQwQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjcwMTkzQkUyNDAwMDA3ODI0N0UyNDgyMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0RkUwN0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxQTM2ODBEN0EyNzAxQTM3RTYwOUM3QTYzMDFEMTgwMkU3RTYzMDFEMUE1QkUwMDI2N0U2MDAxN0VCMDAwN0VBMEM4MTI2MkI2NDAxODc1MzFCMzEyN0MxNUMyMUE2QzAwN0EwMzAxRDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNzAxOTVCRTI0MDAwMDc4MjQ3RTI0ODMwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjUzMzg3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDFBNTY4MEQ3QTI3MDFBNTdFNjA5QzdBNjMwMUQyODAyRTdFNjMwMUQyQTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxQjZDMDA3QTAzMDFEMkMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI3MDE5N0JFMjQwMDAwNzgyNDdFMjQ4NDAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTY5MDdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMUE3NjgwRDdBMjcwMUE3N0U2MDlDN0E2MzAxRDM4MDJFN0U2MzAxRDNBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjFDNkMwMDdBMDMwMUQzQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjcwMTk5QkUyNDAwMDA3ODI0N0UyNDg1MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1OUU4N0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxQTk2ODBEN0EyNzAxQTk3RTYwOUM3QTYzMDFENDgwMkU3RTYzMDFENEE1QkUwMDI2N0U2MDAxN0VCMDAwN0VBMEM4MTI2MkI2NDAxODc1MzFCMzEyN0MxNUMyMUQ2QzAwN0EwMzAxRDRDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNzAxOUJCRTI0MDAwMDc4MjQ3RTI0ODYwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjVENDA3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDFBQjY4MEQ3QTI3MDFBQjdFNjA5QzdBNjMwMUQ1ODAyRTdFNjMwMUQ1QTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxRTZDMDA3QTAzMDFENUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI3MDE5REJFMjQwMDAwNzgyNDdFMjQ4NzAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNjA5ODdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMUFENjgwRDdBMjcwMUFEN0U2MDlDN0E2MzAxRDY4MDJFN0U2MzAxRDZBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjFGNkMwMDdBMDMwMUQ2QzBGMTc1RjEwMTEyNkZEOUQwRjEyMkMyQUZFNTI0NjAxNDdFMjAwMDEzNTAwN0NBQjgxMjM1M0REQUI4QTUwQUJFMjEyRjc4RUZEMkFGMjI3Q0IyMjMwQTJCNDkyMjM1NDg4OTI0MzU1ODM1OTIzNUNDMzYwNjM2NDAzNjdBMzZCNDM2RUU3RTI0ODAwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjQ5MzA3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjIwQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4MTAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNEM4ODdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDgyMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0RkUwN0QyMURBMTk1RUIwMDE3RUEwOTAxMjYyOTM0MDEyNzUzMUI4MTI3QzE1QzIyMkMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODMwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjUzMzg3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjIzQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NDAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTY5MDdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjRDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg1MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1OUU4N0QyMURBMTk1RUIwMDE3RUEwOTAxMjYyOTM0MDEyNzUzMUI4MTI3QzE1QzIyNUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODYwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjVENDA3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjI2QzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NzAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNjA5ODdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjdDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyQzJBRkU1MzM2MDE0N0UyMDAwMTM1MDA3Q0FCODEyMzc0NURBQjhBNTBBQkUyMTJGNzhFRkQyQUYyMjdDQjIyMzBBMkI0OTIyMzc1MDg5MjQzNzYwMzc3RjM3OUUzN0JEMzdEQzM3RkIzODFBMzgzOTdFMjQ4MDAwQ0ExOTdEMTIxMjQ4MUJEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDgxMDBDQTE5N0QxMjEyNEI3M0RBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODIwMENBMTk3RDEyMTI0RUNCREExOTEwMDQwMjgwMENEMjAxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4MzAwQ0ExOTdEMTIxMjUyMjNEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg0MDBDQTE5N0QxMjEyNTU3QkRBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODUwMENBMTk3RDEyMTI1OEQzREExOTEwMDQwMjgwMENEMjAxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NjAwQ0ExOTdEMTIxMjVDMkJEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg3MDBDQTE5N0QxMjEyNUY4M0RBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjJDMkFGQzBGMTc1RjEwMUE5MzJGMjFBN0UwNzAxRTFCRTA0MDAwMDc4MTBFNUY1MzM4MkU3NDAwOTg1MzEzMTEyN0MxNTc1RjYwMEQwRjFEMkFGMjI0NworOjNDMTU0MDAwMDA3RTA0MDAwMTdFMTQ3RkY4N0UyNDAwRkU3RDMxMEIxQTUwMUIwQTUwN0UxNDQwMUIwMjQwNkE3RUY4MDA2RkQyMDRDMjk0RDI5NTdFRjQ0MDJDMDI0MDdDMTI3RDMwRjUyRjdBQTEzMDdBMTE2RTEyNzVDQTEyNDBEQzdFQjMzRkYxNjAwMzEyNDNENDc1RjEwMDEyNzY2RkQyQUYwMjMwMDA3RTA0MDBGRjdFMTg0MDVGN0ExQzAwMDE4OTE4QTkyNTg3MDNBOUQ1ODdEMjkzODkwODdFMDQwMEZGN0UxODQwNzg3QTFDMDAwMTg5MThDMjkzODkwODdFMDgwMDIwN0U0NDA0MDA3RTQwMDA3RUU0NDA4RTAyN0MzMDdFMDgwMTZGN0U0NDI4N0M3RTQwMDA3RUU0NDBBMDAyN0MzMDdFMDgwMDZGN0U0NDAxMDA3RTQwNTM3RUU0NDBCMjAyN0MzMDc1NkQyMDc1NkMzMDdFMDQwMDA4NzU2QTU4NzU2QjA4NzU2NzA4NzU2OTAxNzU4OTAxNzU4QTAxNzU4QzAwRDI4QzdFMDQwMDAyN0EwNTU4ODlGNDc1Qjc3Rjc1Qjg3Rjc1QjMwNzc1QjIwN0QyQTkyMkQyOTJFNEQ1RTBGREMyOTI3RTI0ODAwMDdFMTEyRjdFQTAwODE5QTIwMDEwMkUyNDAxMDBBNUQ5RjI3RTIwMDAxMjQxN0UwQjIwQkUyMTJGNzhGNjIyN0UwNDgwMDA0QzAyNzRCRjE5QjAwMDBDNzQxMDE5QjAwMDA4NzQ4MDE5QjAwMDBDN0U1NDAwMDIxOUEwMDAwNDE5QjAwMDAwNzQwMzE5QjAwMDBDNzQwN0E5MjAzMDBCQTkzNTMwMDVCRTIwMDEyODAyNzQwRjE5QjAwMDA0QTkzMzMwMTg3NEJGMTlCMDAwMEM3NDI4QTkyMDMwMDI3NDIwMTlCMDAwMDQ3NDAzMTlCMDAwMEM3NEE3MTlCMDAwMDg3NDBDMTlCMDAwMTAyMjdFMDQ4MDAwNEMwMkU0MTlCMDAwMDQwOUIwMDAxMDU0MDgxOUIwMDAxMDc0QTcxOUIwMDAwODIyN0NCMjIzMEEyQjQ5MjI0MUE1ODkyNDQxQjU0MUQ0NDFGMzQyMTI0MjMxNDI1MDQyNkY0MjhFQzIxMEMyMThDMjIwQzIwODdFMDQwOUUzN0EwNzAxNkY3QTA3MDE3RjZEMDA3QTA3MDE4RjdBMDcwMTlGMjJDMjExQzIxOUMyMjFDMjA5N0UwNDBERTM3QTA3MDE3MTdBMDcwMTgxNkQwMDdBMDcwMTkxN0EwNzAxQTEyMkMyMTJDMjFBQzIyMkMyMEE3RTA0MTFFMzdBMDcwMTczN0EwNzAxODM2RDAwN0EwNzAxOTM3QTA3MDFBMzIyQzIxM0MyMUJDMjIzQzIwQjdFMDQxNUUzN0EwNzAxNzU3QTA3MDE4NTZEMDA3QTA3MDE5NTdBMDcwMUE1MjJDMjE0QzIxQ0MyMjRDMjBDN0UwNDE5RTM3QTA3MDE3NzdBMDcwMTg3NkQwMDdBMDcwMTk3N0EwNzAxQTcyMkMyMTVDMjFEQzIyNUMyMEQ3RTA0MURFMzdBMDcwMTc5N0EwNzAxODk2RDAwN0EwNzAxOTk3QTA3MDFBOTIyQzIxNkMyMUVDMjI2QzIwRTdFMDQyMUUzN0EwNzAxN0I3QTA3MDE4QjZEMDA3QTA3MDE5QjdBMDcwMUFCMjJDMjE3QzIxRkMyMjdDMjBGN0UwNDI1RTM3QTA3MDE3RDdBMDcwMThENkQwMDdBMDcwMTlEN0EwNzAxQUQyMjdDQjIyMzBBMkI0OTIyNDJCODg5MjQ0MkM4NDJFOTQzMEE0MzJCNDM0QzQzNkQ0MzhFNDNBRjMwNTAwNzIwNjgwNEMyMjg4MDE2MzA0MDA3MjA2MDA0QzIyODgwMEMzMDQ4MDcyMDU4MDRDMjI4ODAwMkQyMjgyMjMwNTEwNzIwNjkwNEMyMjk4MDE2MzA0MTA3MjA2MTA0QzIyOTgwMEMzMDQ5MDcyMDU5MDRDMjI5ODAwMkQyMjkyMjMwNTIwNzIwNkEwNEMyMkE4MDE2MzA0MjA3MjA2MjA0QzIyQTgwMEMzMDRBMDcyMDVBMDRDMjJBODAwMkQyMkEyMjMwNTMwNzIwNkIwNEMyMkI4MDE2MzA0MzA3MjA2MzA0QzIyQjgwMEMzMDRCMDcyMDVCMDRDMjJCODAwMkQyMkIyMjMwNTQwNzIwNkMwNEMyMkM4MDE2MzA0NDA3MjA2NDA0QzIyQzgwMEMzMDRDMDcyMDVDMDRDMjJDODAwMkQyMkMyMjMwNTUwNzIwNkQwNEMyMkQ4MDE2MzA0NTA3MjA2NTA0QzIyRDgwMEMzMDREMDcyMDVEMDRDMjJEODAwMkQyMkQyMjMwNTYwNzIwNkUwNEMyMkU4MDE2MzA0NjA3MjA2NjA0QzIyRTgwMEMzMDRFMDcyMDVFMDRDMjJFODAwMkQyMkUyMjMwNTcwNzIwNkYwNEMyMkY4MDE2MzA0NzA3MjA2NzA0QzIyRjgwMEMzMDRGMDcyMDVGMDRDMjJGODAwMkQyMkYyMjQ0Mzg0M0U1QkVCMDAyNDAwMTIyMjMwQTVCNDk1NTQzRDA5OTU0RDMyMkE5QzU4NzEyNDQ0MzdFMDQwNUUzN0EwNzAxRDc3QTA3MDFEOTdFMDQwMUUzN0EwNzAxREQ3QTA3MDFERjdFMDQ3NEFEN0EwNTYxNzVGMTAxNzVFMTFGNzVFNDA0NzVGNDA0NzVGMTAyNzVFMTAzNzVFNDA0NzVGNDA0NDNBMjFDMTI0MEVCN0UyMDAwMTI0MTlBMEIyMEJFMjEyRjc4RjZEMkE4MjJBOUQ1ODcxMjQ0NDNEMjkyQzJBODIyNzVBMzAwNTNBMjAzNzVDMTAwNTNDMDAzN0UwMDA1N0EwMUYxNDNGNDgwNDNFNDgwRTVGMjU0N0Y0NDA4RjVGMkU1RTI1NDdGNDQwOEY1RTI3NUUxMTBBNUQ4RTEyMkNBMDkxMjMwMjAxMDAxMTJENTY3MUU2MzY5MDE3RTAwNkEyRTAxNjlBNUU2RjU2NzgwMTIyMDAyMUU3NTY5MDA4NTZBNjdEMjAyNzQwMDgwMEQzMDAyMEZDMjAyN0UwMDZDMkUwMTY5QTVFNjUzOTBDRjQyOTBEQTA5MzJDMEQwQzBEMUMwRTBDMEYwQ0EwQkNBMUJDQTJCRDIwMTc1MzE4OTEyN0MxNTdFMTQ4MDAwMDlCMTAwMDgyMEUwMDMwMjQ1NEYyMDc4NUFBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1NjcyMDc5NEJBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1N0ZBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1OTcyMDdBMzBBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1QUZBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1QzdBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1REZBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1RjczMDA0MENDMjA0QzBGMTc1RjEwMTEyNkZEOUQwRjFEQTJCREExQkRBMEJEMEYwRDBFMEQwRDFEMEQwMzI3NTMxODAxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzMkJDQTA2QzY0NDg5NTQ3NTMxODExMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzNkJDQTA2QzY0NDg5NTQ3NTMxODIxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzQUJDQTA2QzY0NDg5NTQ3NTMxODMxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzRUJDQTA2QzY0NDg5NTQ3NTMxODQxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjY0MkJDQTA2QzY0NDg5NTQ3NTMxODUxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjY0NkJDQTA2QzY0NDg5NTQ3NTMxODYxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjY0QUJDQTA2QzY0NDg5NTQ3NTMxODcxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjY0RUJDQTA2QzY0NDg5NTQxMDA4MDEyMjIwMjgwM0QyMDgyMjc1MzFBMDEyN0MxNTdFMTQ4MDAwODAwNjIwMjgwM0QyMDgyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI0OTMwMjBFNjAzRDIwODIyMzAzMDQ5RDI3MDdFMzcwMThGN0UyNzAxQUY5RDMyNDAzMTdEMDIyRTA1NDg3QTA1NDg3QTM3MDE4RjdFMzcwMTZGN0Q0MzJENDJCRTQ0MERFMjM4Njg3QTQ3MDE2Rjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzBDNDIyQzI3MDJEMjM2ODc4NkQzMzgwMUE3RTI3MDE4RkJFMjQwMDAwNjg2QUJFMjcwMUFGMjgwNDdFMjcwMUFGN0UzNzAxOEY5RDMyN0QwMjJFMDU0ODdBMDU0ODdBMzcwMThGN0UzNzAxNkY3RDQzMkQ0MkJFNDQwREUyMzgxMzdBNDcwMTZGNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDBERTM5RDI0MTI2NTJCN0UzNDA5RTM3RDI0MkQ0MzdBNDcwMTZGMTI2NTJCQkUyNTIwNzgwMzAyNDY3RjIyRDIwODdFMDQwOUUzN0EwNzAxNkY3QTA3MDE3Rjc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQkYyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDAwMDJFMjcwMUJGMUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzgwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMDIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwMDAwMkU2NzAxQkY5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDAwN0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNDdFMzc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzODBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEwMjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI0N0UzREFCODAyNDkzMDA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNjg4MDAyQzI2OEE1RkQ1RTUwMjA2ODA0RDI2MDgwMDJDMjYwQTVGRDVFNTA4MDY4MDREMjU4ODAwMkMyNTgxMjQyQzgwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI0ODM1NzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjEwMDkwMTIyMjAyOTAzRDIwOTIyNzUzMUExMTI3QzE1N0UxNDgxMDA4MDA2MjAyOTAzRDIwOTIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjRDODgyMEU2MDNEMjA5MjIzMDMxNDlEMjcxN0UzNzAxOTE3RTI3MDFCMTlEMzI0MDMxN0QwMjJFMDU0QTdBMDU0QTdBMzcwMTkxN0UzNzAxNzE3RDQzMkQ0MkJFNDQxMUUyMzg2ODdBNDcwMTcxNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3MUM0MjJDMjcxMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTkxQkUyNDAwMDA2ODZBQkUyNzAxQjEyODA0N0UyNzAxQjE3RTM3MDE5MTlEMzI3RDAyMkUwNTRBN0EwNTRBN0EzNzAxOTE3RTM3MDE3MTdENDMyRDQyQkU0NDExRTIzODEzN0E0NzAxNzE3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MTFFMzlEMjQxMjY1MkI3RTM0MERFMzdEMjQyRDQzN0E0NzAxNzExMjY1MkJCRTI1MjA3ODAzMDI0OUQ3MjJEMjA5N0UwNDBERTM3QTA3MDE3MTdBMDcwMTgxNzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFDMTJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwMTAwMkUyNzAxQzExQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzOTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjExMjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDAxMDAyRTY3MDFDMTlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDE3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI0QjNCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM5MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTEyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjRCM0JEQUI4MDI0Qzg4MDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2OTgwMDJDMjY5QTVGRDVFNTAyMDY4MDREMjYxODAwMkMyNjFBNUZENUU1MDgwNjgwNEQyNTk4MDAyQzI1OTEyNDJFOTAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjRCOEQ3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyMTAwQTAxMjIyMDJBMDNEMjBBMjI3NTMxQTIxMjdDMTU3RTE0ODIwMDgwMDYyMDJBMDNEMjBBMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNEZFMDIwRTYwM0QyMEEyMjMwMzI0OUQyNzI3RTM3MDE5MzdFMjcwMUIzOUQzMjQwMzE3RDAyMkUwNTRDN0EwNTRDN0EzNzAxOTM3RTM3MDE3MzdENDMyRDQyQkU0NDE1RTIzODY4N0E0NzAxNzM3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUxMjY1MkIxMDcyQzQyMkMyNzIyRDIzNjg3ODZEMzM4MDFBN0UyNzAxOTNCRTI0MDAwMDY4NkFCRTI3MDFCMzI4MDQ3RTI3MDFCMzdFMzcwMTkzOUQzMjdEMDIyRTA1NEM3QTA1NEM3QTM3MDE5MzdFMzcwMTczN0Q0MzJENDJCRTQ0MTVFMjM4MTM3QTQ3MDE3Mzc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTAyNjUyQjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTlFNDQxNUUzOUQyNDEyNjUyQjdFMzQxMUUzN0QyNDJENDM3QTQ3MDE3MzEyNjUyQkJFMjUyMDc4MDMwMjREMkYyMkQyMEE3RTA0MTFFMzdBMDcwMTczN0EwNzAxODM3NTMxOTQxMjdDMTU3NTMxMDAxMjdDMTUyMjc1MzE5MjEyN0MxNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4NzA3RTM3MDFFMTdFMjcwMUMzMkUyNDAwMDIyRDMyQkUzNDA0MDAzODNDN0QwMjJFMDU0NjdBMDU0NjdBMzcwMUUxN0UzNzAxREY3RDQzMkQ0MkJFNDQwNUUyMzg0NDdBNDcwMURGN0UyNDAyMDAyRTI3MDFDMzFCMzgyMDBCMzU3QTUxMzExMjdDMTVCRTUwMzg3ODAzMDI2NjE2MDI2NUZCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNBMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTIyMjgwN0Q3QTUxMzExMjdDMTU5RTQ0MDVFMzlEMjQ3RTY0MDIwMDJFNjcwMUMzOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNjVGQjdFMzQwMUUzN0QyNDJENDM3QTQ3MDFERjAyNjVGQjdBMzlDMDdFMzQwMUUzN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMjdBNjlCMDdBNzk3MDBCMzU3NTMxOTMxMjdDMTU3QTcxMzExMjdDMTVCRDA0NjgyOTdBMDcwMURGN0U0NzAxRTEyRDQzN0E0NzAxRTEyRTM1NDY3QTM1NDYyMjA5QjEwMDE0MjBFMDEzMjI3RTA0MDFFMzgwMkE3RTA0MDFFMzgwMkM3RTA0MDFFMzgwRDFEMjA0N0UwNzAxRTE3RTI0MDNGRTlEMjAyODQwN0UwNzAxREY3RTQ0MDVFMzdENjAwQjA0QkQwNDY4RDA3RDcwMEIwNEJEMDQ2OENFN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjRFOTM3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0EwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMjIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNEU5M0RBQjgwMjRGRTAwOUIxMDAxODdFQTA4ODc1MzE5MDEyN0MxNUY1MzExMjdDMTVBNUZDNUVCMEYwQTVGRDA5QjEwMDE4NEM0QjVFQjBGMEJDQjU3OEYxNUU0MDBGNEM1NDdDQjU1RTUwMEI2ODJBQTVGRDVFNTAxMDY4MDREMjZBODAwMkMyNkFBNUZENUU1MDIwNjgwNEQyNjI4MDAyQzI2MkE1RkQ1RTUwODA2ODA0RDI1QTgwMDJDMjVBMTI0MzBBMDI2MjkzNzUzMTkxMTI3QzE1MDlCMTAwMTQ3QUIxMzExMjdDMTUyMEUwMDhEMjA0N0VBMDgwMDI2MjkzRDIwNDMwRTEwNjdFQTA4MDEyNjI5M0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MkI2MDlCMTAwMTQyMEUwREIyMjAyNEVFNTc1MzE5NTEyN0MxNTIyNzUzMTk2MTI3QzE1MjIxMDBCMDEyMjIwMkIwM0QyMEIyMjc1MzFBMzEyN0MxNTdFMTQ4MzAwODAwNjIwMkIwM0QyMEIyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1MzM4MjBFNjAzRDIwQjIyMzAzMzQ5RDI3MzdFMzcwMTk1N0UyNzAxQjU5RDMyNDAzMTdEMDIyRTA1NEU3QTA1NEU3QTM3MDE5NTdFMzcwMTc1N0Q0MzJENDJCRTQ0MTlFMjM4Njg3QTQ3MDE3NTc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzNDNDIyQzI3MzJEMjM2ODc4NkQzMzgwMUE3RTI3MDE5NUJFMjQwMDAwNjg2QUJFMjcwMUI1MjgwNDdFMjcwMUI1N0UzNzAxOTU5RDMyN0QwMjJFMDU0RTdBMDU0RTdBMzcwMTk1N0UzNzAxNzU3RDQzMkQ0MkJFNDQxOUUyMzgxMzdBNDcwMTc1NzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDE5RTM5RDI0MTI2NTJCN0UzNDE1RTM3RDI0MkQ0MzdBNDcwMTc1MTI2NTJCQkUyNTIwNzgwMzAyNTA4NzIyRDIwQjdFMDQxNUUzN0EwNzAxNzU3QTA3MDE4NTc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQzUyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDMwMDJFMjcwMUM1MUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0IwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMzIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwMzAwMkU2NzAxQzU5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDAzN0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNTFFQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQjBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEzMjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1MUVCREFCODAyNTMzODA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNkI4MDAyQzI2QkE1RkQ1RTUwMjA2ODA0RDI2MzgwMDJDMjYzQTVGRDVFNTA4MDY4MDREMjVCODAwMkMyNUIxMjQzMkIwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI1MjNENzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjEwMEMwMTIyMjAyQzAzRDIwQzIyNzUzMUE0MTI3QzE1N0UxNDg0MDA4MDA2MjAyQzAzRDIwQzIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjU2OTAyMEU2MDNEMjBDMjIzMDM0NDlEMjc0N0UzNzAxOTc3RTI3MDFCNzlEMzI0MDMxN0QwMjJFMDU1MDdBMDU1MDdBMzcwMTk3N0UzNzAxNzc3RDQzMkQ0MkJFNDQxREUyMzg2ODdBNDcwMTc3NzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3NEM0MjJDMjc0MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTk3QkUyNDAwMDA2ODZBQkUyNzAxQjcyODA0N0UyNzAxQjc3RTM3MDE5NzlEMzI3RDAyMkUwNTUwN0EwNTUwN0EzNzAxOTc3RTM3MDE3NzdENDMyRDQyQkU0NDFERTIzODEzN0E0NzAxNzc3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MURFMzlEMjQxMjY1MkI3RTM0MTlFMzdEMjQyRDQzN0E0NzAxNzcxMjY1MkJCRTI1MjA3ODAzMDI1M0RGMjJEMjBDN0UwNDE5RTM3QTA3MDE3NzdBMDcwMTg3NzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFDNzJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwNDAwMkUyNzAxQzcxQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQzBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE0MjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDA0MDAyRTY3MDFDNzlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDQ3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1NTQzNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNDMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTQyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjU1NDNEQUI4MDI1NjkwMDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2QzgwMDJDMjZDQTVGRDVFNTAyMDY4MDREMjY0ODAwMkMyNjRBNUZENUU1MDgwNjgwNEQyNUM4MDAyQzI1QzEyNDM0QzAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjU1OTU3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyMTAwRDAxMjIyMDJEMDNEMjBEMjI3NTMxQTUxMjdDMTU3RTE0ODUwMDgwMDYyMDJEMDNEMjBEMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNTlFODIwRTYwM0QyMEQyMjMwMzU0OUQyNzU3RTM3MDE5OTdFMjcwMUI5OUQzMjQwMzE3RDAyMkUwNTUyN0EwNTUyN0EzNzAxOTk3RTM3MDE3OTdENDMyRDQyQkU0NDIxRTIzODY4N0E0NzAxNzk3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUxMjY1MkIxMDc1QzQyMkMyNzUyRDIzNjg3ODZEMzM4MDFBN0UyNzAxOTlCRTI0MDAwMDY4NkFCRTI3MDFCOTI4MDQ3RTI3MDFCOTdFMzcwMTk5OUQzMjdEMDIyRTA1NTI3QTA1NTI3QTM3MDE5OTdFMzcwMTc5N0Q0MzJENDJCRTQ0MjFFMjM4MTM3QTQ3MDE3OTc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTAyNjUyQjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTlFNDQyMUUzOUQyNDEyNjUyQjdFMzQxREUzN0QyNDJENDM3QTQ3MDE3OTEyNjUyQkJFMjUyMDc4MDMwMjU3MzcyMkQyMEQ3RTA0MURFMzdBMDcwMTc5N0EwNzAxODk3NTMxOTQxMjdDMTU3NTMxMDAxMjdDMTUyMjc1MzE5MjEyN0MxNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4NzA3RTM3MDFFMTdFMjcwMUM5MkUyNDAwMDIyRDMyQkUzNDA0MDAzODNDN0QwMjJFMDU0NjdBMDU0NjdBMzcwMUUxN0UzNzAxREY3RDQzMkQ0MkJFNDQwNUUyMzg0NDdBNDcwMURGN0UyNDA1MDAyRTI3MDFDOTFCMzgyMDBCMzU3QTUxMzExMjdDMTVCRTUwMzg3ODAzMDI2NjE2MDI2NUZCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNEMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTUyMjgwN0Q3QTUxMzExMjdDMTU5RTQ0MDVFMzlEMjQ3RTY0MDUwMDJFNjcwMUM5OUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNjVGQjdFMzQwMUUzN0QyNDJENDM3QTQ3MDFERjAyNjVGQjdBMzlDMDdFMzQwMUUzN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNTdBNjlCMDdBNzk3MDBCMzU3NTMxOTMxMjdDMTU3QTcxMzExMjdDMTVCRDA0NjgyOTdBMDcwMURGN0U0NzAxRTEyRDQzN0E0NzAxRTEyRTM1NDY3QTM1NDYyMjA5QjEwMDE0MjBFMDEzMjI3RTA0MDFFMzgwMkE3RTA0MDFFMzgwMkM3RTA0MDFFMzgwRDFEMjA0N0UwNzAxRTE3RTI0MDNGRTlEMjAyODQwN0UwNzAxREY3RTQ0MDVFMzdENjAwQjA0QkQwNDY4RDA3RDcwMEIwNEJEMDQ2OENFN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjU4OUI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0QwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNTIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNTg5QkRBQjgwMjU5RTgwOUIxMDAxODdFQTA4ODc1MzE5MDEyN0MxNUY1MzExMjdDMTVBNUZDNUVCMEYwQTVGRDA5QjEwMDE4NEM0QjVFQjBGMEJDQjU3OEYxNUU0MDBGNEM1NDdDQjU1RTUwMEI2ODJBQTVGRDVFNTAxMDY4MDREMjZEODAwMkMyNkRBNUZENUU1MDIwNjgwNEQyNjU4MDAyQzI2NUE1RkQ1RTUwODA2ODA0RDI1RDgwMDJDMjVEMTI0MzZEMDI2MjkzNzUzMTkxMTI3QzE1MDlCMTAwMTQ3QUIxMzExMjdDMTUyMEUwMDhEMjA0N0VBMDgwMDI2MjkzRDIwNDMwRTEwNjdFQTA4MDEyNjI5M0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MkI2MDlCMTAwMTQyMEUwREIyMjAyNThFRDc1MzE5NTEyN0MxNTIyNzUzMTk2MTI3QzE1MjIxMDBFMDEyMjIwMkUwM0QyMEUyMjc1MzFBNjEyN0MxNTdFMTQ4NjAwODAwNjIwMkUwM0QyMEUyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1RDQwMjBFNjAzRDIwRTIyMzAzNjQ5RDI3NjdFMzcwMTlCN0UyNzAxQkI5RDMyNDAzMTdEMDIyRTA1NTQ3QTA1NTQ3QTM3MDE5QjdFMzcwMTdCN0Q0MzJENDJCRTQ0MjVFMjM4Njg3QTQ3MDE3Qjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzZDNDIyQzI3NjJEMjM2ODc4NkQzMzgwMUE3RTI3MDE5QkJFMjQwMDAwNjg2QUJFMjcwMUJCMjgwNDdFMjcwMUJCN0UzNzAxOUI5RDMyN0QwMjJFMDU1NDdBMDU1NDdBMzcwMTlCN0UzNzAxN0I3RDQzMkQ0MkJFNDQyNUUyMzgxMzdBNDcwMTdCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDI1RTM5RDI0MTI2NTJCN0UzNDIxRTM3RDI0MkQ0MzdBNDcwMTdCMTI2NTJCQkUyNTIwNzgwMzAyNUE4RjIyRDIwRTdFMDQyMUUzN0EwNzAxN0I3QTA3MDE4Qjc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQ0IyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDYwMDJFMjcwMUNCMUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0UwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNjIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwNjAwMkU2NzAxQ0I5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDA2N0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNUJGMzc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE2MjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1QkYzREFCODAyNUQ0MDA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNkU4MDAyQzI2RUE1RkQ1RTUwMjA2ODA0RDI2NjgwMDJDMjY2QTVGRDVFNTA4MDY4MDREMjVFODAwMkMyNUUxMjQzOEUwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI1QzQ1NzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjEwMEYwMTIyMjAyRjAzRDIwRjIyNzUzMUE3MTI3QzE1N0UxNDg3MDA4MDA2MjAyRjAzRDIwRjIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjYwOTgyMEU2MDNEMjBGMjIzMDM3NDlEMjc3N0UzNzAxOUQ3RTI3MDFCRDlEMzI0MDMxN0QwMjJFMDU1NjdBMDU1NjdBMzcwMTlEN0UzNzAxN0Q3RDQzMkQ0MkJFNDQyOUUyMzg2ODdBNDcwMTdENzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3N0M0MjJDMjc3MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTlEQkUyNDAwMDA2ODZBQkUyNzAxQkQyODA0N0UyNzAxQkQ3RTM3MDE5RDlEMzI3RDAyMkUwNTU2N0EwNTU2N0EzNzAxOUQ3RTM3MDE3RDdENDMyRDQyQkU0NDI5RTIzODEzN0E0NzAxN0Q3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MjlFMzlEMjQxMjY1MkI3RTM0MjVFMzdEMjQyRDQzN0E0NzAxN0QxMjY1MkJCRTI1MjA3ODAzMDI1REU3MjJEMjBGN0UwNDI1RTM3QTA3MDE3RDdBMDcwMThENzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFDRDJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwNzAwMkUyNzAxQ0QxQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRjBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE3MjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDA3MDAyRTY3MDFDRDlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDc3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1RjRCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNGMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTcyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjVGNEJEQUI4MDI2MDk4MDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2RjgwMDJDMjZGQTVGRDVFNTAyMDY4MDREMjY3ODAwMkMyNjdBNUZENUU1MDgwNjgwNEQyNUY4MDAyQzI1RjEyNDNBRjAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjVGOUQ3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjY4ODAwMkMyNjhBNUZENUU1MDIwNjgwNEQyNjA4MDAyQzI2MEE1RkQ1RTUwODA2ODA0RDI1ODgwMDJDMjU4MDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjY5ODAwMkMyNjlBNUZENUU1MDIwNjgwNEQyNjE4MDAyQzI2MUE1RkQ1RTUwODA2ODA0RDI1OTgwMDJDMjU5MDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZBODAwMkMyNkFBNUZENUU1MDIwNjgwNEQyNjI4MDAyQzI2MkE1RkQ1RTUwODA2ODA0RDI1QTgwMDJDMjVBMDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZCODAwMkMyNkJBNUZENUU1MDIwNjgwNEQyNjM4MDAyQzI2M0E1RkQ1RTUwODA2ODA0RDI1QjgwMDJDMjVCMDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZDODAwMkMyNkNBNUZENUU1MDIwNjgwNEQyNjQ4MDAyQzI2NEE1RkQ1RTUwODA2ODA0RDI1QzgwMDJDMjVDMDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZEODAwMkMyNkRBNUZENUU1MDIwNjgwNEQyNjU4MDAyQzI2NUE1RkQ1RTUwODA2ODA0RDI1RDgwMDJDMjVEMDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZFODAwMkMyNkVBNUZENUU1MDIwNjgwNEQyNjY4MDAyQzI2NkE1RkQ1RTUwODA2ODA0RDI1RTgwMDJDMjVFMDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZGODAwMkMyNkZBNUZENUU1MDIwNjgwNEQyNjc4MDAyQzI2N0E1RkQ1RTUwODA2ODA0RDI1RjgwMDJDMjVGMDI2MjdGNTRGMEM0QTVGRkM0QTU0Rjc1MzE5MDEyN0MxNUY1MzExMjdDMTUyMkNBMTk1RTIwMDc0Q0EyN0U3NDI5RTNDQTc5N0E3OUEwMEI3NDdBNzlCMDBCNzREQTc5N0UzMDAyN0U2NDAwMDIwMjYyREVDQTE5NUUyMDA3NENBMjdFNzQyOUUzQ0E3OTdBNzlBMDBCNzQ3QTc5QjAwQjc0N0E3OTYwMEI3NERBNzk3RTMwMDM3RTY0MDAwMzAyNjJERUQyMDQ3RTI3MDFFMTJEMjZCRTI0MDQwMDM4MkU3RTA3MDFERjdFNDQwNUUzN0U3OUEwN0EwOUEwMEIwNDBCNzRCRDA0NjgyM0E1REJFRjdBMjcwMUUxN0UyNTQ2MkQyNjdBMjU0NjdBMDcwMURGREExOUMyRDcyMjc1MzE5QTEyN0MxNURBMTlEMkQ3MjI3RTA0MDFFMzgwRDc0OEI2NDYyNTQ3MUM0OTE1NDRDNjQ0QzY0ODFCNDRDNjQ5NTk0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDk2MDQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjRDMEU0OTdENEE3NDRDNkQ0NEM2NDRDNjRCNzM0NEM2NENCMTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0Q0I4NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NEY2NjRDRDU0RENDNEZDNTQ0QzY0NEM2NEVDQjQ0QzY1MDA5NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjUwMTA0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1MkJFNTAyRDUxMjQ1MzFENDRDNjQ0QzY1MjIzNDRDNjUzNjE0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NTM2ODQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjU2MTY1Mzg1NTQ3QzU2NzU0NEM2NDRDNjU1N0I0NEM2NTZCOTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1NkMwNDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NTk2RTU2REQ1N0Q0NTlDRDQ0QzY0NEM2NThEMzQ0QzY1QTExNDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjVBMTg0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1Q0M2NUEzNTVCMkM1RDI1NDRDNjQ0QzY1QzJCNDRDNjVENjk0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NUQ3MDQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjYwMUU1RDhENUU4NDYwN0Q0NEM2NDRDNjVGODM0NEM2NjBDMTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY2MEM4NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2Q0EyOTFFNTA0MDBEN0U1NDBCMTA5Q0I1QTQyRTU0NjU0ODg5NTQ3RTM5MDA3QTE5MDAwQjM0ODBFOTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzVEQTI5MjIxRTUwNDAwRDdFNTQwQjFDOUNCNUE0MkU1NDY2MTY4OTU0N0UxOTAwN0EzOTAwMEIzNDgwRTk3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1MjI2Nzk2Njk2MzY5N0I2QTQ5NkFFNDZCOEU2QkE5NkMzQjZCQzQ2QzA1Njk5NjY5QUE3Q0IzQkVCMDBCMjgxNDc1MzEwOTEyN0MxNTc1NkQxMEMwRjE3NUYxMDE0M0UxQzBEMEYxMjJDMEE4QzJBRjIzNkNBQTJFNTQ2NzRCMEI1ODUwODk1NDAxMDIwNDA4MTAyMDQwODA3NTMxQjAxMjdDMTUwQTMyMDlCMzY3OEU0MjMyMTk0MzAwMzZEMEE4MjI3Q0IyMjMwQTNCNDkzMzY3Q0IwQTIyMDkzMjAwMzYwOUIyNjc4RUE1QkIwMDA1RjQ1MjMzODAwMjQyMzM4OTM0NjdEQjY4MDk2ODM3Njg2NTY4OTM2OEMxNjhFRjY5MUQxMjQxQjVEMjI4RDIwOEMyNDBDMjQ4QzIzOEMyMzA2RDAwN0EwMzAxQ0Y3RTA0MDAyMDdBMDcwMUFGN0UwNDAwMzg3QTA3MDFCRjEyNDExNjEyNjBDRjAyNjk0QjEyNDFENEQyMjlEMjA5QzI0MUMyNDlDMjM5QzIzMTZEMDA3QTAzMDFEMDdFMDQwMDIwN0EwNzAxQjE3RTA0MDAzODdBMDcwMUMxMTI0MTE2MTI2MTA1MDI2OTRCMTI0MUYzRDIyQUQyMEFDMjQyQzI0QUMyM0FDMjMyNkQwMDdBMDMwMUQxN0UwNDAwMjA3QTA3MDFCMzdFMDQwMDM4N0EwNzAxQzMxMjQxMTYxMjYxM0IwMjY5NEIxMjQyMTJEMjJCRDIwQkMyNDNDMjRCQzIzQkMyMzM2RDAwN0EwMzAxRDI3RTA0MDAyMDdBMDcwMUI1N0UwNDAwMzg3QTA3MDFDNTEyNDExNjEyNjE3MTAyNjk0QjEyNDIzMUQyMkNEMjBDQzI0NEMyNENDMjNDQzIzNDZEMDA3QTAzMDFEMzdFMDQwMDIwN0EwNzAxQjc3RTA0MDAzODdBMDcwMUM3MTI0MTE2MTI2MUE3MDI2OTRCMTI0MjUwRDIyREQyMERDMjQ1QzI0REMyM0RDMjM1NkQwMDdBMDMwMUQ0N0UwNDAwMjA3QTA3MDFCOTdFMDQwMDM4N0EwNzAxQzkxMjQxMTYxMjYxREQwMjY5NEIxMjQyNkZEMjJFRDIwRUMyNDZDMjRFQzIzRUMyMzY2RDAwN0EwMzAxRDU3RTA0MDAyMDdBMDcwMUJCN0UwNDAwMzg3QTA3MDFDQjEyNDExNjEyNjIxMzAyNjk0QjEyNDI4RUQyMkZEMjBGQzI0N0MyNEZDMjNGQzIzNzZEMDA3QTAzMDFENjdFMDQwMDIwN0EwNzAxQkQ3RTA0MDAzODdBMDcwMUNEMTI0MTE2MTI2MjQ5MDI2OTRCN0VBMEQwN0U2MDBGMTI2MkI2NDAwQ0MwRjE3NUYxMDExMjZGRDlEMEYxQzJENzIyNzUzMUIxMTI3QzE1MEE1MjIzNkQwMDU5MDUwMDQ4MTI0MTdFMTI0MTlBRDBBODIyNzUzMUIyMTI3QzE1MEEyMjA5QjI2NzhFNDIyMzdFQjA5QzE5QjIwMUNGMTIzMTg1RDBBODIyNzUzMUI3MTI3QzE1MEEyMjA5QjI2NzhFNDIyNDEyMzUzREQwQTgyMjc1MzFCOTEyN0MxNTBBMzIwOUIzNjc4RTQyMzQxOTQzMDAzRTEyNjlDMkQwQTgyMjdDQjIyMzBBMEI3Q0I0MjBFMDA0NkQzMzgwMDQ0OTMwMDE4RjdFQTBEOEE1RUZDQTBCQ0EyOTEyNjJCNkRBMjlEQTBCNDA2Mjc1MzFCQTEyN0MxNTdDQjQzMEUwMUU2RDMzNTkzMDAxOEY3RTM0MDlFMzBBODI3RTk0MDQwMEFEODkyRDM5NTkzMDAxNkY1OTMwMDE3RjdDQjQzMEUxMTA3RTA0ODAwMDRDMDIwOUIwMDAwODQ0MDQxOUIwMDAwODBBMDIwOUIwNjc4RTQyMjFGNDUyMzQ3Q0IyMjMwQTBCQ0ExOTQ5MDAzMEQ1OTkwNERBMTlDMEYxNzVGMTAxMTI2RkQ5RDBGMUMyRDcyMjdFMDQ4MDAwNEMwMjA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDgxOTMwMDAwQzdDNzQ1RTcwMDE2ODEyNDQ0MENBQjgwOUIwMDAxMDQ0MDIxOUIwMDAxMERBQjg4MDAyNTRCRjdDNzQ1RTcwMDg2ODA0NDQwODgwMDI1NEY3MDkzMDAwMENDQUI4NzRCRjE5QjAwMDBDREFCODE5QjAwMDA4MTkzMDAwMEMwQTYyMDlCNjY3OEUzRTIwMEE2MjdDNzQ1RTcwMDI2ODIwNDIyN0NBQjg3NDYxMTlCMDAwMDg3RTQ0MDAxMDU5NDYwMUJGMDlCMDAwMTA0NDAxMTlCMDAwMTBEQUI4ODAxMUY0NTIyNzc0QTExOUIwMDAwODdFNDQwMDM4NTk0NjAxQkZEMEE4MjI3Qzc0N0UwNDgwMDA0QzAyMEE2MjA5QjY2NzhFQTVGREY0QTVGRUNBMjgzRTIwMEE2MkE1RUU1MjI2N0U0NDAwMjA1OTQ2MDFBRkRBMjgwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA4N0M3NDVFNzAwMTY4MEM0NDgwQ0FCOEE1RUQ0MjJBREFCODgwMEE1NDdGQ0FCOEE1RUU1MjJBREFCODdDNzQ1RTcwMDg2ODA0NDQwMjgwMDI1NEZEMTlCMDAwMDgxOTMwMDAwQzdDNzQ1RTcwMDI2ODEwQTVFRDQyMjg0MjI2N0U0NDAwMDg1OTQ2MDFBRjgwMDRBNUVFNTIyODdDNzQ1RTcwMDQ2ODEwQTVFRDQyMjk0MjI2N0U0NDAwMDg1OTQ2MDFBRjgwMEJBNUVFNTIyOTdDNzQ1RTcwMDI3ODAwMTI0MkFERDBBODIyN0UwNDgwMDA0QzAyMDkzMDAwMEM3NEJGMTlCMDAwMEMxOTQwMDAxMDE5MzAwMDBDRDBBODIyN0UwNDgwMDA0QzAyMDkzMDAwMEM3NEJGMTlCMDAwMEMxOTQwMDAxODE5MzAwMDBDRDBBODIyNzUzMUI1MTI3QzE1N0UwNDgwMDA0QzAyMDlCMDAwMEM0NDQwMTlCMDAwMENFNTZFQjQwNzIzMDlCMDAwMTA0RUIwMDIxOUIwMDAxMDA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDQ1NEY3MTlCMDAwMDQxOTMwMDAwQ0QwQTgyMjc1MzFCNjEyN0MxNTdFMDQ4MDAwNEMwMkU1NkVCNDA3MTgwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA0NDQwODE5QjAwMDA0MTkzMDAwMEMwOUIwMDAwQzU0QkYxOUIwMDAwQ0QwQTgyMjc1MzFCNDEyN0MxNTdBMjEzMTEyN0MxNTdBNDEzMTEyN0MxNTBBMzIwOUIzNjc4RTQyMzUxMjZDNUJEMEE4MjI3RUIwMDE3RUEwQzg3QzY0MTI2MkI2NDAxMzBBMzIwOUIzNjc4RUY0NTIzNUMwRjE3NUYxMDExMjZGRDlEMEYxMjI2QzhDNkNEMzZEMUE2RDYxNkRBODZERUY2RTM2NkU3RDc1MzE1NTEyN0MxNTc1MzEwMDEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMTdGN0UyNzAxOEYyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MERFMjM4MEYxQjM0NzhFQzdBMTcwMTdGN0EyNzAxOEYwMjQ2MEY3RTE0MDlFMzgwRUI3NTMxNTUxMjdDMTU3NTMxMDExMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE4MTdFMjcwMTkxMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDExRTIzODBGMUIzNDc4RUM3QTE3MDE4MTdBMjcwMTkxMDI0OTY3N0UxNDBERTM4MEVCNzUzMTU1MTI3QzE1NzUzMTAyMTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1N0UxNzAxODM3RTI3MDE5MzJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQxNUUyMzgwRjFCMzQ3OEVDN0ExNzAxODM3QTI3MDE5MzAyNENCRjdFMTQxMUUzODBFQjc1MzE1NTEyN0MxNTc1MzEwMzEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMTg1N0UyNzAxOTUyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MTlFMjM4MEYxQjM0NzhFQzdBMTcwMTg1N0EyNzAxOTUwMjUwMTc3RTE0MTVFMzgwRUI3NTMxNTUxMjdDMTU3NTMxMDQxMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE4NzdFMjcwMTk3MkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDFERTIzODBGMUIzNDc4RUM3QTE3MDE4NzdBMjcwMTk3MDI1MzZGN0UxNDE5RTM4MEVCNzUzMTU1MTI3QzE1NzUzMTA1MTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1N0UxNzAxODk3RTI3MDE5OTJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQyMUUyMzgwRjFCMzQ3OEVDN0ExNzAxODk3QTI3MDE5OTAyNTZDNzdFMTQxREUzODBFQjc1MzE1NTEyN0MxNTc1MzEwNjEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMThCN0UyNzAxOUIyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MjVFMjM4MEYxQjM0NzhFQzdBMTcwMThCN0EyNzAxOUIwMjVBMUY3RTE0MjFFMzgwRUI3NTMxNTUxMjdDMTU3NTMxMDcxMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE4RDdFMjcwMTlEMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDI5RTIzODBGMUIzNDc4RUM3QTE3MDE4RDdBMjcwMTlEMDI1RDc3N0UxNDI1RTM4MEVCQ0FCOEMwRjE3NTMxMDIxMjdDMTVFNUMwNTQwMzY4MDUxMjc1Q0Q4MEY1MzBDMjA4NzVGMTAxMTI2RkQ5ODAxNDMwQzMwODc1RjEwMTEyNkVGRDgwMDkzMEM0MDY3NUYxMDIxMjcwRTlEMEYxREFCODMyNzUzMTEwMTI3QzE1Q0EwQkNBMzlDQTU5QzJDM0E5MjFFMjVDRTVFNTU0QzA2ODRGRTVFNjZDQUE3RTM3MDFEQjJEMzVCRTM0MDQwMDM4NEE3QTM3MDFEQjdFMzcwMUQ5N0Q0MzJENDVCRTQ0MDlFMjM4NDA3QTQ3MDFEOTc1MzExMTEyN0MxNTdBQjEzMTEyN0MxNTEyNzFCOEE5MjFFNTFGQTlENEU0QTkyNEU0RkNDMkMzQTkyMUUyM0JFNUU1NTRDMDc4QjQxMjc0NUFEQTU5REEzOURBMEIyMjgwMjk4MDU4NzUzMTE2MTI3QzE1ODBFRDc1MzExMjEyN0MxNTdBQjEzMTEyN0MxNTlFNDQwOUUzOUQ1NDEyNzFCODdFMzQwNUUzN0Q1NDJENDM4MEExRTVFNTU0MDM3ODEyNzUzMTEzMTI3QzE1N0UwRjI5RkYwQjBDN0EwRjI5RkY4MEE3NzUzMTE0MTI3QzE1N0UwRjJBMDMwQjBDN0EwRjJBMDNBOUQ3RTRBOTI3RTRGQzgwOUQ3NTMxMTUxMjdDMTU3RTBGMkEwNzBCMEM3QTBGMkEwNzgwRTU3NTMxMTgxMjdDMTVDQTA5Q0EzOUNBMkJDMkMyQTkyMUYyNTJFNUY1MzM4MkU3NDA0NDdFMzcwMUUxN0U1NDAwNDA5RDM1NDA0MzdBMzcwMUUxN0UzNzAxREQ3RDQzMkQ0NUJFNDQwNUUyMzg1MjdBNDcwMUREN0Q0NTEyNzMxNkE5MjBGNTIyNzUzMTE5MTI3QzE1N0E5MTMxMTI3QzE1N0E4MUY3N0E5MUY2RTVGNTMzODJFNzUwQkNEQTJCREEzOURBMDkyMjgwNDE4MDY0MkQ1MzZEMzM3MEI3N0UwNDAxRTM3QTA3MDFERjdBMDcwMUREQTkzMkYyREY4NTMwMzExMjdDMTU3NUY2MDA4MEQ0Q0E1OTlFNDQwNUUzOUQ1NDEyNzMxNjdFMzQwMUUzN0Q1NDJENDM3QTQ3MDFERDEyNzMxNkRBNDk4MDk5RTVGNTU0MDM3ODFGN0UwRjI5RUYwQjBDN0EwRjI5RUY4MDlEN0UwRjI5RjcwQjBDN0EwRjI5RjdBOUQ3RjRBOTI3RjRGQzgwOEE3RTBGMjlGMzBCMEM3QTBGMjlGMzgwRUJFNUY1NTQwMzc4MUY3RTJGMkEwRjBCMkM3QTJGMkEwRjgwMzQ3RTJGMkExNzBCMkM3QTJGMkExN0E5RDdGNEE5MjdGNEZDODAyMTdFMkYyQTEzMEIyQzdBMkYyQTEzODBFQkRBMkJEQTFCREEwQjIyNzUzMTI4MTI3QzE1Q0EwQkNBMUJDQTJCQzJDNEE5MjFGMkI2RTVGNTMzNzJFNzQwRTA3RTBENDY3RTFENEE3RTJENEU3RTNENTI3RTg1NTY3RDkwNEQ5MTREOTI0RDkzNEQ5NDREOTU0RDk2NEQ5NzREOTg2ODcyN0ExMUYzN0EwMUYzN0EzMUYzN0EyMUYzN0E1MUYzN0E0MUYzN0E3MUYzN0E2MUYzN0E5MUYzN0E4MUYzMzA3QjFBN0FCMUYzN0FBMUYzN0FEMUYzN0FDMUYzN0FGMUYzN0FFMUYzN0Q3ODdBRjFGMzdBRTFGM0E5MzBGNTAzMDI3MEQ2NzUzMTI5MTI3QzE1MjA3QjBCNzUzMTBBMTI3QzE1NzVGNjBBODAwOTc1MzExMjEyN0MxNTc1RjYxMjZEMDA3RDEwN0EwRDQ2N0EwRDRBN0EwRDRFN0EwRDUyN0EwNTU2REEyQkRBMUJEQTBCMjIxRUIwNDAwQzdFQTAwQUE0N0UwNDcyRkI5RDA1ODkwNDdFQTFFMzdBMzlBMDBCMzQ4MEVBQjQ0MEUzN0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTIyMUVCMDQwMEM3RUEwMEFBNDdFMDQ3NDU5OUQwNTg5MDQ3RTM5QTA3QUExRjMwQjM0ODBFQUI0NDBFMzBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUyMkMyQUY3RTM3MDFEQjREMzM2ODNCN0UwNzAxRDc3RTU0MDlFMzlENTBCRDM1NDAwMjdEMzVDQTM5N0U2NTYxOTk2NERBMzk3RTA3MDFEQjlEMDM3QTA3MDFEQjJFMzcwMUQ3N0EzNzAxRDdCRTM0MDlFMjI4Qzc3RTM0MDVFMzdBMzcwMUQ3ODBCREQyQUYyMjc1MzE1MzEyN0MxNTdFMTU2MzgwMTE3NTMxNTExMjdDMTUwQjA4MTAwQjA1OUUzNDAwMDIyODREN0NCMjIwRTcyNzU0MDcyMzBBMkI0OTIyNkM3QzdDQjI1NDc4MDMwMzAzN0MyQjlEMTM0MDFBNjgxMjdBMTU2MzdBMjU2NTdFNjQ3NTM3N0E2NTYxODkyNDAyNzU0NTdFNjQ3NEFEODBGMjJEMTM5RDMxQ0EzOTdEMzEyRDEwQ0ExOUNBMjk5OTI0REEyOURBMDlEQTM5ODBBMjdBMTU2MzdFNjQ3NTIzNEQzMzc4MDk3Q0IyMjBFNzJBN0U2NDc0QTI3QTY1NjEyMjc1MzE1MjEyN0MxNTdFMjE2MzdFMDkzMDBCMDQxQjM0Nzg4OTgwRDQ3NTMxNTQxMjdDMTU3RTE1NjM3RTI1NjU4MDkwNUUyMDA3NTQ3ODdFNDQ3NUMxMzBFNjE2NEQzMzY4MjYxQjM0N0UwOTQwMEIwNDdFNDQ2NzYzMjBFMzA0N0U0NDc1QzlDQTA5Q0EzOTk5NDREQTM5REEwOTdFNjQ3NEFENEQzMzY4QTY4OTY0N0ExNTYzRjU2NTdFNjQ3NTg2ODA5OTdFMTU2M0U1NjU4MEM0QzBEMEMwRDFDMEUwQ0ExOUE5MjBERjEyQTkyMURGMUI3NTMxMDExMjdDMTU1M0RGRjcxMjQwREM4MDBENzUzMUZFMTI3QzE1N0UxNDAwNTMwMjQwNTFEQTE5RDBFMEQwRDFEMEQwMzIwM0E1Q0IxOUIxODAwMDIyMjIwMjc2NDJDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUJDMEYxN0VCMzJBMzNCNDAwMDI4MDE5QjQwMTE2MzBDMDA4NzVGMTAwMTI3NjJDODAxRjMwQzExQzc1RjEwMDEyNzZCRDgwMTQzMEMxMDg3NUYxMDAxMjc2QkQ4MDA5MzBDMDA2NzVGMTAwMTI3NjJDRDBGMURBRUJEQTdCREE2QkRBNUJEQTRCREEzQkRBMkJEQTFCREEwQjIyQzJDMDdFQjMyQTMzQjQwMjA3MTI3NjRFMDI3NjQyMjJCNDAxRkMwMjc2ODg3RTAwMDA3QTAzMkEzMzdBMDMyQTM0MjI3RUIzMkEyQjU0NjA2MDA1QjQ0MDE1ODAxMzdFQjMyQTJDQjQwNTBDNzUzMTcxMTI3QzE1N0VCMzJBMkVGNThGMjI3NUY2MDAyMkJFNTcyQTMxMjgwNDdFNTcyQTMxN0EwRjJBMzY3QTU3MkEzQTAyNzY4ODdFRUYyQTM2N0VGNzJBM0E3RTA3MkEzQTREMDA2ODIxN0UwMDAwN0VFQkIwRjVGM0EzQTUwODFCRjQ2ODA0QTVCODA4RjA3QUVGMkEzNjdBRjcyQTNBNzUzMTA2MTI3QzE1N0EwMUY2MjJDMkMxNzUzMTAzMTI3QzE1QTkzNkUyMTZFNUY1NTRDMDY4MDdBOUQ3RjRBOTI3RjRGQzUzRTEzRjQzRjI4ODAyNzcyOTdFQjMyQTM0QjQwMjA0QTlENEU0MjJCNDAxMzk3RTIxRTY3QzMyN0UxMzJBMzUyQzIxN0EyMzJBMzU3RTAwMDAyRTA0MkEzQ0U1RTM3QTA5QjAwQjA0QTVEQkY2QTlENEU0NzUzMTcwMTI3QzE1N0VCMzJBMzU3RUEzMkEzMkJDQUI3ODAzMTI3N0MwMjIwMjdCMjlFNUU2QjQwODY1QTlDNEUyN0UwMUUzN0UxMUUzN0UzMUUzN0UyMUUzN0U1MUUzN0U0MUUzN0U3MUUzN0U2MUUzN0EwRjJBMkI3QTFGMkEyRjc1MzEwNDEyN0MxNTdBMDEzMTEyN0MxNTdBMTEzMTEyN0MxNTdBMjEzMTEyN0MxNTdBMzEzMTEyN0MxNTdBNDEzMTEyN0MxNTdBNTEzMTEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNUE5RDRFNEE5RDdGNEE5QzZFMjEyNzc5NDIyNkQwMDdFMTQwMTAyN0EwNzJBM0E3QTAzMkEzNTdFQjMyQTJCMjBFNzBGN0EyMzJBMzQ3QTMzMkEzM0JFMDcyQTMxNjgwOTIyN0EzMzJBMzQ3QTIzMkEzMzdFQjMyQTJCNTRFMzIzMjMzMEUwMDJEMkU1MzBFNzAyRDJFNDMwRTUwNjMwRTQwMzAyN0IyOTU0M0VGNUYwMDM1NDFGQzMyNUYwOTA3N0VDNzU4NEZGNzMwMjc5NDAwMjc4MzQwMjc5REQwMjc5RjgwMjc4RDkwMjc4OUEwMjdBMTEwMjdBMTEwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMUEwMjdBQ0UwMjdBMTcwMjdBMTcwMjdBMTcwMjdBMTcwMjdBMTcwMjdBMTc3RUIzMkEyQ0I0MDYyQTdFQjMyQTJENjA1NjdDMEI3RTEzMkEyRTdFMTcyQTJGNzUzMTcyMTI3QzE1N0EwMTMxMTI3QzE1N0ExMTMxMTI3QzE1MTI3QjMzNDAzNTAyNzY3M0I0MDgxMDc1MzE3NDEyN0MxNTdFQjMzRkYxRjVGMzc1RjYwMTIyQjQwMDFDNzUzMTc1MTI3QzE1N0VCMzNGRjIzMEUwMDU3NUYzMDI4MDAzNzVGMzAwNzVGMzAwNzVGNjAyMjIwMjdCMjk3RUIzMkEyQ0I0MDAzNTc1MzE3NjEyN0MxNTdFQjMyQTMwNTQwRkY1RjE3RUIzMkEzMDIwRTcwOUU1RTEzMEU3MEQ3NDAxODAwQkU1RTEzMEU2MDQ3NDAxODAwMjc0MDA1M0YxODBGNUYzNzVGMzAwNzVGNjAyMjIwMjdCMjlDMEYxN0VCMzJBMzA1NDBGNDJGMTdFQjMyQTJFQjQwMDQ1N0VCMzJBMkNCNDAxMjQ3NTMxNzcxMjdDMTU3RUIzMkEzMDU0MEY3ODA1NTNFMTNGODAzNzdFQjMyQTMwMjBFNzA1NTNFMTdGODAyQjUzRTFCRjgwMjZCNDAzMTc3NTMxNzgxMjdDMTU3RUIzMkEzMDIwRTcwNTQzRTE4MDgwMTE0M0UxNDA4MDBDNDNFMUMwRDBGMTc1MzEwNzEyN0MxNTIyRDBGMTAyNzY2RjdFQjMyQTJDQjQwOTIzNzUzMTc5MTI3QzE1N0VCMzJBMkVCRUIzM0ZGMTY4MTFDQUI4QzBGMTEyNDNENEQwRjFEQUI4NTA3NjdBQjMzRkYxODA2REI0MDUwODc1MzE3QTEyN0MxNTgwNjJCNDAzMTk3NTMxN0IxMjdDMTU3RUIzMkEyRUI0MDE1NTdFQjMzRkYyNDQwMTdBQjMzRkYyODA0NkI0MDExOTc1MzE3QzEyN0MxNTdFQjMyQTJFQjQwMTM5N0VCMzNGRjI1NEZFN0FCMzNGRjI4MDJBQjQwNzJBN0VCMzJBMkQ2MDI0N0MwQjdFMTMyQTJFN0UxNzJBMkY3NTMxNzMxMjdDMTU3QTAxMzExMjdDMTU3QTExMzExMjdDMTUxMjdCNUY0MDAzMDI3NjZGMDI3QjI5N0VCMzJBMkNCNDBCRjY3NTMxN0QxMjdDMTU3RUIzMkEyRTdFQTMyQTMwNENBQjc4RTQ4MERGN0VCMzJBMkNCNDBBREI3NTMxN0UxMjdDMTU3RUIzMkEyRTcwQ0ZGNUYzNzVGNjAxMjIwMjdCMjkwMjdCMjkwMjdCMjk3RUIzMkEyQ0I0MDQyMDc1MzFDMzEyN0MxNTdFMDQwMDAxN0UxNzJBMkQ3RTE4MkEzQzdBMUMwMDAwN0U0NzJBMzExMjdDMjEwMjdBQzhCNDA2M0E3NTMxQzExMjdDMTU3RTU4MDAwMDdBNUMwMEZFN0RDQTdFRDcyQTJEN0U3ODJBM0M3QTdDMDAwMDdFNzcyQTMxNzUzMUMxMTI3QzE1QzBBOEMwODdDMkFGQTlENTg3MTI3QzVBRDA4N0QwQTg0MDRGODA0QUI0MDAxQ0MyQUZBOUQ1ODcxMjc2NkZFNDhERUY4REVGOERFRkQ1RTBGN0MwRDFDQTAyRkZDQTA2MDAwMDMyQjQwOTEyN0U1NzJBMkQ0RDU1NjgwNUE5RDJCMTgwMDNBOUMyQjE4MDE2QjQwNzE2QzJBRjdFMDcyQTJGN0UxNzJBMkRDMEQxQ0ExOENBMzhDQTI4MzIwMjc2NkYwMjdCMjk3RUIzMkEyQ0I0MDMxNTc1MzFDMjEyN0MxNTdFMDQwMDAxN0UxNzJBMkQ3RTU3MkEzMTAyNzY3M0I0MDUzOTc1MzFDMDEyN0MxNUMwQThDMDg3QzJBRkE5RDU4NzdFMDgyQTNDN0EwQzAwMDA3RTI0MDBGRTdFMzcyQTJEN0U0NzJBMzExMjdDMjFEMDg3RDBBODdFMDgyQTNDN0EwQzAwMDA3RTU3MkEzMTAyNzY3MzAyN0IyOTc1MzEwNzEyN0MxNTQzRTFDMDIyQzBBOEMwODdDMkFGQTlENTg3MTI3QjlFNDAxOTdFMDgyQTNDN0EwQzAwMDBDQTBCQ0E0OTEyN0MyMURBNTlEQTBCRDA4N0QwQThDMzIyRDA4N0QwQTgyMkMwQThDMDg3QzJBRkE5RDU4NzEyN0I5RTQwMkI3RTU4MDAwMDdBNUMwMEZFN0Y2MTdFNzgyQTNDN0E3QzAwMDA3RTc3MkEzMUJENzQ3ODExNzUzMUMxMTI3QzE1MTI3QzVBNDAwNkQwODdEMEE4QzMyMkQwODdEMEE4RDMyMjdFMjQwMEZFN0UzNDdGQ0EwQjFBNTBDNUYwN0Q2MjdENzU3RDg3N0UzNDdGQzI3RTFCQjA3RTM0N0YwM0I0MDEwNDdFMzQ3RkNDN0UxQkIwQkMwQjUwNDkzRTAwM0UwMDBBNTAyRDc1MEIzQTMwNjk1MzAwMDJCRDM4NTAwMjJEMzhCQzFCNTAzMDNFMTAzRTEwMEE1MTJEMzU2OTQxMDAwMjBCMUEzMEJEMzg1MDAyMkQzOEJFNDRGRkZGNzgwNTdFMUI5MDBBNDk0RDQ0NjgwQ0JFNDQwMEZGMjgwNDdFNDQwMEZGQzMyMkQzMjJGQQorOjAwMDQ3RkM2MDAwMTEwMDQwMEEyCis6MDE0QTdDMTUwMENBMDg3RTAxMzE3QTAzM0ZGMERBMDgyMjdFMUJDMDdBMEJDMDBCMTQwQjM0MUI0NDc4RjIyMjdGNkY3RkYwMUJGQzdDNTQ3RDMyODAwOENBMUJDQTFCQ0ExQkNBMUI5RTQ0MDAxMDUwRjIyRTQ0MDAxMDY4MDZDQTQ4MUI0NDc4RkE3RkY2ODlFNENBNkI1RUQ0MDAzRjY4MjA3RTg0MDA0MDlEOEREQTZCQkQ4NzM4MTZDQTc5N0Q3ODEyN0M4NERBNzk0MDA4OUQ3ODY4MDI4MDA1QzJENzIyREE2QjQzOTAzMDc0QUEzOUI1NTU1NTc0NTUzOUI1MkFBQTc0QTAzOUI1NTU1NTdFMDQwMDQwOUQ3MDUwMDYyRDcwN0QwNzZENzc3QzMxN0U3QjAwN0E2QjAwMEI3QzBCNkNBNUQ5RjM3RjE2MUIxQzdFNTQyNzEwN0UxQjEwQkMxMDY4MDYxQjU0NzhGNTgwMkM2RDAwN0MyMDdGMTY5RjEwN0YyNzlGMjA3RTJCMDA3RTFCMTBCQzAxNzgxNjBCMkMwQjFDQTVEQkVGN0NCNjIwRTAwMzYzOTAzMDRENzc3ODkzQzJENzIyRDJENzIyMDAwNDAwMDQ0MjA4MDYwNDAyMDQwMDAyMDEwNDAxMDI4MjA4MDAwMDAwMDAwMDAwMDIwMjAyMDIwMjA0MDIwODEwMDIxMDA0MDIwODAwMDEwMTA4MDAwMTAwMDIwMDAyMDIwODAyMDQyMDA0N0UxODdGQkQ3QTFDMDBGRTBCMUEwMDVFMTAxRkJFMTAxQTM4MUEwQTUxMjM3RTE4N0NGQTdBMUMwMEZGMkQzNTBCMUE1MDYwMDhBNUI4MDIwMzRFQTAwODIyODBGRTczCis6MDAwMDAwMDAwMUZGCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKKy8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKKy8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisvLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZWRnZXBvcnQvZG93bjIuSDE2IGIvZmlybXdhcmUvZWRnZXBvcnQvZG93bjIuSDE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNGI0ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lZGdlcG9ydC9kb3duMi5IMTYKQEAgLTAsMCArMSwyOSBAQAorOjAwMDQwMDAwMDAwMjAwMDAwM0Y3Cis6MDAwMjAwMDAwNDAwRkZGQgorOjAwMDYwMDAwMDAwMjAwODAwMjQ1MTQxRAorOjAwMDMwMDBCMDAwMjQ0QTUwNworOjAwMDMwMDEzMDAwMjYzQUJEQQorOjAwMDMwMDFCMDAwMjAwMUJDNQorOjAwMDMwMDIzMDAwMjAwMjNCNQorOjAwMDMwMDJCMDAwMjAwMkJBNQorOjAwMDMwMDMzMDAwMjAwMzM5NQorOjAwMDMwMDNCMDAwMjAwM0I4NQorOjAwMDMwMDQzMDAwMjAwNDM3NQorOjAwMDMwMDRCMDAwMjAwNEI2NQorOjAwMDMwMDUzMDAwMjY3NUZFMgorOjAwMDMwMDdCMDAwMjAwN0IwNQorOjAwMDcwMDgwMDA3RTE0MDAwMDAyNDA1MjUzCis6MEI2NjMwMDAwMDEyMzA2NDEyMzBGRjEyMzEyRjEyMzBCMDgwRjJFNTIzNjAxOTdFMTQwMDAwMDlCMTAxQjlCNDAwMDI4MDA1MTQxOUIxMDFCOUE1MEFCRTIxMkU3OEVCMjJDMkFGN0VCMzNGRjFCNDAxMDMxMjY1NjdEMkFGMjJDMkFGN0VCMzNGRjFCNDAxMUQ3NDQwN0FCMzkxMDA3RUIzOTExQTZDQUE2MDBGQ0EwQkNBMzlDQTU5MTI2NDI0REE1OURBMzlEQTBCRDJBRjIyQzJBRkU1MjI2MDQzN0UwNzAxQ0JCRTA0MDM4MDM4Mzk3RTA0ODAwMDdFMjAwMDEzNTAyMTA5QTAwMDA0NEVBMDA1MTlBMDAwMDQwQTMyMDk1MzM1MzM1RTUxMjc2ODBCMDlBMDAwMTA0RUEwMDExOUEwMDAxMDJFMDQwMTAwQTUwQUJFMjEyRTc4RDE3NTIyMDBEMkFGMjJDMkFGRTUyNjYwMzY3RTIwMDA3RTMwMDFFNTI2QTU1QjY4MjE3Q0IyMjMwQTJCNDkzMjAxNzlCRTM0MDAwMDY4MTI3RUIxMjFBNTRCN0FCMTIxQ0ExOTQ5MjIzMEVGOTkyNERBMTkzRTMwQTUwQUJFMjEyRTc4RDBEMkFGMjI0NjRGNDk3QzRDQTk0RkQ2NTMwMzU2MzA1OTVENUM4QUMyQUZFNTI0NjAxNDdFMjAwMDEzNTAwN0NBQjgxMjMxMUNEQUI4QTUwQUJFMjEyRTc4RUZEMkFGMjJDQTI4MTIzNTRDREEyODQwMDkwQTIyMDlCMjM1MzNGNDUyMjQyMkMyQUZFNTIzNjAxNDdFMjAwMDEzNTAwN0NBQjgxMjMxNENEQUI4QTUwQUJFMjEyRTc4RUZEMkFGMjI3Q0IyMjMwQTJCNDkyMjMxNTc4OTI0MzE2NzMxRDAzMjM5MzJBMjMzMEIzMzc0MzNERDM0NDY3RTI3MDE3OUJFMjQwMDAwNzgyNDdFMjQ4MDAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNDk0NTdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTg5NjgwRDdBMjcwMTg5N0U2MDlDN0E2MzAxQjk4MDI3N0U2MzAxQjlBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjE4NkMwMDdBMDMwMUI5MTI2NDg2MjI3RTI3MDE3QkJFMjQwMDAwNzgyNDdFMjQ4MTAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNEM3MjdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMThCNjgwRDdBMjcwMThCN0U2MDlDN0E2MzAxQkE4MDI3N0U2MzAxQkFBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjE5NkMwMDdBMDMwMUJBMTI2NDg2MjI3RTI3MDE3REJFMjQwMDAwNzgyNDdFMjQ4MjAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNEY5RjdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMThENjgwRDdBMjcwMThEN0U2MDlDN0E2MzAxQkI4MDI3N0U2MzAxQkJBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFBNkMwMDdBMDMwMUJCMTI2NDg2MjI3RTI3MDE3RkJFMjQwMDAwNzgyNDdFMjQ4MzAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTJDQzdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMThGNjgwRDdBMjcwMThGN0U2MDlDN0E2MzAxQkM4MDI3N0U2MzAxQkNBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFCNkMwMDdBMDMwMUJDMTI2NDg2MjI3RTI3MDE4MUJFMjQwMDAwNzgyNDdFMjQ4NDAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTVGOTdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTkxNjgwRDdBMjcwMTkxN0U2MDlDN0E2MzAxQkQ4MDI3N0U2MzAxQkRBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFDNkMwMDdBMDMwMUJEMTI2NDg2MjI3RTI3MDE4M0JFMjQwMDAwNzgyNDdFMjQ4NTAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTkyNjdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTkzNjgwRDdBMjcwMTkzN0U2MDlDN0E2MzAxQkU4MDI3N0U2MzAxQkVBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFENkMwMDdBMDMwMUJFMTI2NDg2MjI3RTI3MDE4NUJFMjQwMDAwNzgyNDdFMjQ4NjAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNUM1MzdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTk1NjgwRDdBMjcwMTk1N0U2MDlDN0E2MzAxQkY4MDI3N0U2MzAxQkZBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFFNkMwMDdBMDMwMUJGMTI2NDg2MjI3RTI3MDE4N0JFMjQwMDAwNzgyNDdFMjQ4NzAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNUY4MDdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTk3NjgwRDdBMjcwMTk3N0U2MDlDN0E2MzAxQzA4MDI3N0U2MzAxQzBBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFGNkMwMDdBMDMwMUMwMTI2NDg2MjJDMkFGN0UwNzAxQ0JCRTA0MDAwMDc4Mjg3NDIwN0FCMzkxMDA3RUIzOTExNTMwRTUxQjdFQjM5MTFBQkVCMDNGMzgwQzg1MzEyRjEyNzMzNTc0ODA3QUIzOTExRTc0MjA3QUIzOTExNUQyQUYyMjM1M0IzNkU4MzcwMDM3MUIzN0I2Mzg0RTM4NjkzOEZCMzg4NDM4QzU3Q0IzQkVCMDA5MjgyMjc1MkYwOTEyNzMzNTc1NTcwMjc0MjA3QUIzOTEwMDc0MDE3QUIzOTExMTc0NDA3QUIzOTEwMDc0MDE3QUIzOTExMTIyQzBBOEMyQUYyMzZDQUEyRTU0MzRFNjBCNTg1MDg5NTQwMTAyMDQwODEwMjA0MDgwNzUyRkIwMTI3MzM1MEEyMjA5QjIzNTMzNDIyNEQwQTgyMjdDQjIyMzBBM0I0OTMzMzU1Nzg5MzQzNTY3MzU5NTM1QzMzNUYxMzYxRjM2NEQzNjdCMzZBOTEyNDFCQUQyMjhEMjA4QzI0MEMyNDhDMjM4QzIzMDZEMDA3QTAzMDFCOTdFMDQwMDIwN0EwNzAxOTk3RTA0MDAzODdBMDcwMUE5MTI0MTI3MTI1RkI3MDIzNkQ3MTI0MUQ3RDIyOUQyMDlDMjQxQzI0OUMyMzlDMjMxNkQwMDdBMDMwMUJBN0UwNDAwMjA3QTA3MDE5QjdFMDQwMDM4N0EwNzAxQUIxMjQxMjcxMjVGRTAwMjM2RDcxMjQxRjREMjJBRDIwQUMyNDJDMjRBQzIzQUMyMzI2RDAwN0EwMzAxQkI3RTA0MDAyMDdBMDcwMTlEN0UwNDAwMzg3QTA3MDFBRDEyNDEyNzEyNjAwOTAyMzZENzEyNDIxMUQyMkJEMjBCQzI0M0MyNEJDMjNCQzIzMzZEMDA3QTAzMDFCQzdFMDQwMDIwN0EwNzAxOUY3RTA0MDAzODdBMDcwMUFGMTI0MTI3MTI2MDMyMDIzNkQ3MTI0MjJFRDIyQ0QyMENDMjQ0QzI0Q0MyM0NDMjM0NkQwMDdBMDMwMUJEN0UwNDAwMjA3QTA3MDFBMTdFMDQwMDM4N0EwNzAxQjExMjQxMjcxMjYwNUIwMjM2RDcxMjQyNEJEMjJERDIwREMyNDVDMjREQzIzREMyMzU2RDAwN0EwMzAxQkU3RTA0MDAyMDdBMDcwMUEzN0UwNDAwMzg3QTA3MDFCMzEyNDEyNzEyNjA4NDAyMzZENzEyNDI2OEQyMkVEMjBFQzI0NkMyNEVDMjNFQzIzNjZEMDA3QTAzMDFCRjdFMDQwMDIwN0EwNzAxQTU3RTA0MDAzODdBMDcwMUI1MTI0MTI3MTI2MEFEMDIzNkQ3MTI0Mjg1RDIyRkQyMEZDMjQ3QzI0RkMyM0ZDMjM3NkQwMDdBMDMwMUMwN0UwNDAwMjA3QTA3MDFBNzdFMDQwMDM4N0EwNzAxQjcxMjQxMjcxMjYwRDYwMjM2RDc3RUEwRDA3RTYwMEYxMjYxMzY0MDA1MTI2NDg2QzJENzIyNzUyRkIxMTI3MzM1MEE1MjIzNkQwMDU5MDUwMDMyMTI0MTgzMTI0MTlGRDBBODIyNzUyRkIyMTI3MzM1MEEyMjA5QjIzNTMzNDIyMzdFQjA5QzE5QjIwMUI5MTIzMTRDRDBBODIyN0UwNDgwMDA0QzAyMDkzMDAwMEM3NEJGMTlCMDAwMEMwOUIwMDAwODE5MzAwMDBDN0M3NDVFNzAwMTY4MTI0NDQwQ0FCODA5QjAwMDEwNDQwMjE5QjAwMDEwREFCODgwMDI1NEJGN0M3NDVFNzAwODY4MDQ0NDA4ODAwMjU0RjcwOTMwMDAwQ0NBQjg3NEJGMTlCMDAwMENEQUI4MTlCMDAwMDgxOTMwMDAwQzBBNjIwOUI2MzUzMzNFMjAwQTYyN0M3NDVFNzAwMjY4MjA0MjI3Q0FCODc0NjExOUIwMDAwODdFNDQwMDEwNTk0NjAxQTkwOUIwMDAxMDQ0MDExOUIwMDAxMERBQjg4MDExRjQ1MjI3NzRBMTE5QjAwMDA4N0U0NDAwMzg1OTQ2MDFBOUQwQTgyMjdDNzQ3RTA0ODAwMDRDMDIwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA4N0M3NDVFNzAwMTY4MDQ0NDgwODAwMjU0N0Y3Qzc0NUU3MDA4NjgwNDQ0MDI4MDAyNTRGRDE5QjAwMDA4MTkzMDAwMEMwQTYyMDlCNjM1MzNBNUZERjRBNUZFQ0EyODNFMjAwQTYyREEyODdDNzQ1RTcwMDI2ODEwQTVFRDQyMjg0MjI2N0U0NDAwMDg1OTQ2MDE5OTgwMDRBNUVFNTIyODdDNzQ1RTcwMDQ2ODEwQTVFRDQyMjk0MjI2N0U0NDAwMDg1OTQ2MDE5OTgwMTVBNUVFNTIyOTdDNzQ1RTcwMDI3ODBBNTIyNjdFNDQwMDIwNTk0NjAxOTkxMjQyQTJEMEE4MjI3RTA0ODAwMDRDMDIwOTMwMDAwQzc0QkYxOUIwMDAwQzE5NDAwMDEwMTkzMDAwMENEMEE4MjI3RTA0ODAwMDRDMDIwOTMwMDAwQzc0QkYxOUIwMDAwQzE5NDAwMDE4MTkzMDAwMENEMEE4MjI3NTJGQjUxMjczMzU3RTA0ODAwMDRDMDIwOUIwMDAwQzQ0NDAxOUIwMDAwQ0U1NThCNDA3MjMwOUIwMDAxMDRFQjAwMjE5QjAwMDEwMDkzMDAwMEM3NEJGMTlCMDAwMEMwOUIwMDAwNDU0RjcxOUIwMDAwNDE5MzAwMDBDRDBBODIyNzUyRkI2MTI3MzM1N0UwNDgwMDA0QzAyRTU1OEI0MDcxODA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDQ0NDA4MTlCMDAwMDQxOTMwMDAwQzA5QjAwMDBDNTRCRjE5QjAwMDBDRDBBODIyNzUyRkI0MTI3MzM1N0EyMTJGMTI3MzM1N0E0MTJGMTI3MzM1N0VCMDAxN0VBMEM4N0M2NDEyNjEzNjEyNjQ4NkQwQTgyMjM5MkUzOTc1MzlCQzNBMDMzQTRBM0E5MTNBRDgzQjFGNzUyRjU1MTI3MzM1NzUyRjAwMTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNjk3RTI3MDE3OTJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQwODJDMzgwRjFCMzQ3OEVDN0ExNzAxNjk3QTI3MDE3OTAyNDY0RjdFMTQwNDJEODBFQjc1MkY1NTEyNzMzNTc1MkYwMTEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTZCN0UyNzAxN0IyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MEMyQzM4MEYxQjM0NzhFQzdBMTcwMTZCN0EyNzAxN0IwMjQ5N0M3RTE0MDgyRDgwRUI3NTJGNTUxMjczMzU3NTJGMDIxMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3RTE3MDE2RDdFMjcwMTdEMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDEwMkMzODBGMUIzNDc4RUM3QTE3MDE2RDdBMjcwMTdEMDI0Q0E5N0UxNDBDMkQ4MEVCNzUyRjU1MTI3MzM1NzUyRjAzMTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNkY3RTI3MDE3RjJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQxNDJDMzgwRjFCMzQ3OEVDN0ExNzAxNkY3QTI3MDE3RjAyNEZENjdFMTQxMDJEODBFQjc1MkY1NTEyNzMzNTc1MkYwNDEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTcxN0UyNzAxODEyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MTgyQzM4MEYxQjM0NzhFQzdBMTcwMTcxN0EyNzAxODEwMjUzMDM3RTE0MTQyRDgwRUI3NTJGNTUxMjczMzU3NTJGMDUxMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3RTE3MDE3MzdFMjcwMTgzMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDFDMkMzODBGMUIzNDc4RUM3QTE3MDE3MzdBMjcwMTgzMDI1NjMwN0UxNDE4MkQ4MEVCNzUyRjU1MTI3MzM1NzUyRjA2MTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNzU3RTI3MDE4NTJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQyMDJDMzgwRjFCMzQ3OEVDN0ExNzAxNzU3QTI3MDE4NTAyNTk1RDdFMTQxQzJEODBFQjc1MkY1NTEyNzMzNTc1MkYwNzEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTc3N0UyNzAxODcyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MjQyQzM4MEYxQjM0NzhFQzdBMTcwMTc3N0EyNzAxODcwMjVDOEE3RTE0MjAyRDgwRUI2NAorOjMzMzU0MDAwMDA3RTA0MDAwMTdFMTQ3RkY4N0UyNDAwRkU3RDMxMEIxQTUwMUIwQTUwN0UxNDQwMUIwMjQwNzQ3RUY4MDA1OTc1QjBERjdFQjAwMTdBQjM5MDAwN0VGNDQwMzAwMjQwOEIxMjc0NEVGNTJFN0FBMTJEN0ExMTU4MTI2QjAyMTI0MEVCN0VCMzNGRjE2MDAzMTI0Mzc5MTI2QkRFRDJBRjAyMzAwMDdFMDQwMEZGN0UxODQwNjA3QTFDMDAwMTg5MTg3RUIwMDE3QUIzOTQwMDdBQjMyQzM1N0VCMDAxN0FCMzkzMDA4OTA4N0UwNDAwRkY3RTE4NDA4MjdBMUMwMDAxODkxODdFQjAwMDdBQjM5MzAwODkwODdFMDgwMDIwN0U0NDA0MDA3RTQwMDA3RUU0NDA5RDAyNzM1MDdFMDgwMTU5N0U0NDJBREQ3RTQwMDA3RUU0NDBBRjAyNzM1MDdFMDgwMDU5N0U0NDAxMDA3RTQwNTM3RUU0NDBDMTAyNzM1MDc1NTcwMTc1NTYwMDdFMDQwMDA4NzU1NDU4NzU1NTA4NzU1MTA4NzU1MzAxNzU4OTAxNzU4QTAxNzU4QzAwRDI4QzdFMDQwMDAyN0EwNTQyODlGNDc1Qjc3Rjc1Qjg3Rjc1QjMwMTc1QjIwMUQyQTkyMjc1QjBERkU0RDVFMEZENzVCMEVGN0UyNDgwMDA3RTExMkU3RUEwMDgxOUEyMDAxMDJFMjQwMTAwQTVEOUYyN0UyMDAwMTI0MTgzMEIyMEJFMjEyRTc4RjYyMjdFMDQ4MDAwNEMwMjc0QkYxOUIwMDAwQzc0MTAxOUIwMDAwODc0ODAxOUIwMDAwQzdFNTQwMDAyMTlBMDAwMDQxOUIwMDAwMDc0MDMxOUIwMDAwQzc0MDcyMDY4MDI3NDBGMTlCMDAwMDQzMDZCMTc3NEJGMTlCMDAwMEM3NDI4MjA2ODAyNzQyMDE5QjAwMDA0NzQwMzE5QjAwMDBDNzRBNzE5QjAwMDA4NzQwQzE5QjAwMDEwMjI3RTA0ODAwMDRDMDJFNDE5QjAwMDA0MDlCMDAwMTA1NDA4MTlCMDAwMTA3NEE3MTlCMDAwMDgyMjdDQjIyMzBBMkI0OTIyNDFBQTg5MjQ0MUJBNDFENzQxRjQ0MjExNDIyRTQyNEI0MjY4NDI4NUMyMTBDMjE4QzIwODdFMDQwNDJEN0EwNzAxNTk3QTA3MDE2OTZEMDA3QTA3MDE3OTdBMDcwMTg5MjJDMjExQzIxOUMyMDk3RTA0MDgyRDdBMDcwMTVCN0EwNzAxNkI2RDAwN0EwNzAxN0I3QTA3MDE4QjIyQzIxMkMyMUFDMjBBN0UwNDBDMkQ3QTA3MDE1RDdBMDcwMTZENkQwMDdBMDcwMTdEN0EwNzAxOEQyMkMyMTNDMjFCQzIwQjdFMDQxMDJEN0EwNzAxNUY3QTA3MDE2RjZEMDA3QTA3MDE3RjdBMDcwMThGMjJDMjE0QzIxQ0MyMEM3RTA0MTQyRDdBMDcwMTYxN0EwNzAxNzE2RDAwN0EwNzAxODE3QTA3MDE5MTIyQzIxNUMyMURDMjBEN0UwNDE4MkQ3QTA3MDE2MzdBMDcwMTczNkQwMDdBMDcwMTgzN0EwNzAxOTMyMkMyMTZDMjFFQzIwRTdFMDQxQzJEN0EwNzAxNjU3QTA3MDE3NTZEMDA3QTA3MDE4NTdBMDcwMTk1MjJDMjE3QzIxRkMyMEY3RTA0MjAyRDdBMDcwMTY3N0EwNzAxNzc2RDAwN0EwNzAxODc3QTA3MDE5NzIyN0NCMjIzMEEyQjQ5MjI0MkFEODkyNDQyQkQ0MkQ0NDJFQjQzMDI0MzE5NDMzMDQzNDc0MzVFMzA0MDA3MjA1ODA0QzIyODgwMEMzMDQ4MDcyMDUwMDRDMjI4ODAwMkQyMjgyMjMwNDEwNzIwNTkwNEMyMjk4MDBDMzA0OTA3MjA1MTA0QzIyOTgwMDJEMjI5MjIzMDQyMDcyMDVBMDRDMjJBODAwQzMwNEEwNzIwNTIwNEMyMkE4MDAyRDIyQTIyMzA0MzA3MjA1QjA0QzIyQjgwMEMzMDRCMDcyMDUzMDRDMjJCODAwMkQyMkIyMjMwNDQwNzIwNUMwNEMyMkM4MDBDMzA0QzA3MjA1NDA0QzIyQzgwMDJEMjJDMjIzMDQ1MDcyMDVEMDRDMjJEODAwQzMwNEQwNzIwNTUwNEMyMkQ4MDAyRDIyRDIyMzA0NjA3MjA1RTA0QzIyRTgwMEMzMDRFMDcyMDU2MDRDMjJFODAwMkQyMkUyMjMwNDcwNzIwNUYwNEMyMkY4MDBDMzA0RjA3MjA1NzA0QzIyRjgwMDJEMjJGMjI0NDY2NDM4QUJFQjAwMjQwMDEyMjIzMEE1QjQ5NTU0Mzc1OTk1NEQzMjI3RUIwMDA3QUIzOTQwMDdBQjMyQzM1MTI0NDdBN0UwNDI4MkQ3QTA3MDFDMTdBMDcwMUMzN0UwNDI0MkQ3QTA3MDFDNzdBMDcwMUM5N0UwNDY2N0Y3QTA1NEI3NDIwN0FCMzkxMDA3NDYwN0FCMzkxMUM3NDEyN0FCMzkxMDY3NDQwN0FCMzkxMDc3NDFFN0FCMzkxMTA3NDQ4N0FCMzkxMTI3NDEwN0FCMzkxMTM3NDNGN0FCMzkxMTQ3NDQwN0FCMzkxMDA3NDYwN0FCMzkxMUM3NDE0N0FCMzkxMDY3NDQwN0FCMzkxMDc3NDE2N0FCMzkxMTA3NDA4N0FCMzkxMTE3NDIwN0FCMzkxMTM3NDNGN0FCMzkxMTQ3NDYwN0FCMzkxMDA3NDYwN0FCMzkxMUM3NDE2N0FCMzkxMDY3NDIwN0FCMzkxMDc3NDJGN0FCMzkxMTA3NDQ4N0FCMzkxMTI3NDEwN0FCMzkxMTM3NDNGN0FCMzkxMTQ3NDAyN0FCMzkxMDY3NDBGN0FCMzkxMDcxMjQwRkE3RTIwMDAxMjQxOUYwQjIwQkUyMTJFNzhGNkQyQTgyMjdFQjAwMTdBQjM5NDAwN0FCMzJDMzUxMjQ0N0E3NUIwREZDMkE4MjI3NDAyN0FCMzkxMDY3NDAxN0FCMzkxMDc3RTIwMDQ3Q0IyQzJENzEzMTMxMzEzN0FCMzkxMDA3NDYwN0FCMzkxMUM3NDAyN0FCMzkxMTJBNURBRTUyMkNBMDkxMjMwMEUxMDAxMzRENTUxNDA3NDAwN0FCMzkxMDA3NDAyN0FCMzkxMDY3RUIzOTEwNzc0MDM3QUIzOTEwNjdFQjM5MTA3N0VCMzkxMTQ3RUIzOTEwNDYzNTMwMTdFMDA1NDJFMDE1M0E1RTZGNTUxODAxMjIwMDIxRDc1NTMwMDg1NTQ1MUQyMDI3NDAzODAwRDMwMDIwRUMyMDI3RTAwNTYyRTAxNTNBNUU2N0FCMzkwMDBEQTA5MzI0NTZGNDU4QjQ1QTc0NUMzNDVERjQ1RkI0NjE3NDYzM0MwRDBDMEQxQzBFMEMwRjBDQTBCQ0ExQkNBMkJEMjAxNzUyRjg5MTI3MzM1N0VCMzkwMDA2MDI4N0UxNDgwMDA3RTAwMDAxMzUwMTNDQTBCQ0E1OTdDQjAyMzBBMkI0OTIyNDUwNDk5MjREQTU5REEwQkE1MEFBNTA4QkUwMTJFNzhFMTgwRDIzMDA0MDVDMjA0MTI2NDg2REEyQkRBMUJEQTBCRDBGMEQwRTBEMEQxRDBEMDMyMDlCMTAwMDgyMEUwMTQ3NTJGODAxMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYxQUI4OTU0MjIwOUIxMDAwODIwRTAxNDc1MkY4MTEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjFFQjg5NTQyMjA5QjEwMDA4MjBFMDE0NzUyRjgyMTI3MzM1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MjJCODk1NDIyMDlCMTAwMDgyMEUwMTQ3NTJGODMxMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYyNkI4OTU0MjIwOUIxMDAwODIwRTAxNDc1MkY4NDEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjJBQjg5NTQyMjA5QjEwMDA4MjBFMDE0NzUyRjg1MTI3MzM1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MkVCODk1NDIyMDlCMTAwMDgyMEUwMTQ3NTJGODYxMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzMkI4OTU0MjIwOUIxMDAwODIwRTAxNDc1MkY4NzEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjM2Qjg5NTQyMjEwMDgwMTIyMjAyODAzRDIwODIyNzUyRkEwMTI3MzM1N0UxNDgwMDA4MDA2MjAyODAzRDIwODIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjQ5NDUzMDMwMDYyMEU2NEZEMjA4MjIzMEU2MDJEMjYwN0UzNzAxNzk3RTI3MDE5OTlEMzI0MDMxN0QwMjJFMDUzMjdBMDUzMjdBMzcwMTc5N0UzNzAxNTk3RDQzMkQ0MkJFNDQwODJDMzg2ODdBNDcwMTU5NzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2MEM0MjJDMjYwMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTc5QkUyNDAwMDA2ODZBQkUyNzAxOTkyODA0N0UyNzAxOTk3RTM3MDE3OTlEMzI3RDAyMkUwNTMyN0EwNTMyN0EzNzAxNzk3RTM3MDE1OTdENDMyRDQyQkU0NDA4MkMzODEzN0E0NzAxNTk3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MDgyRDlEMjQxMjY5RjA3RTM0MDQyRDdEMjQyRDQzN0E0NzAxNTkxMjY5RjBCRTI1MjA3ODAzMDI0NkMyMjJEMjA4N0UwNDA0MkQ3QTA3MDE1OTdBMDcwMTY5NzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFBOTJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwMDAwMkUyNzAxQTkxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM4MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTAyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDAwMDJFNjcwMUE5OUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMDdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjQ4MUU3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzgwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMDIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNDgxRURBQjgwMjQ5NDUwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1ODgwMDJDMjU4QTVGRDVFNTA4MDY4MDREMjUwODAwMkMyNTAxMjQyQkQwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI0ODcyNzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMDkwMTIyMjAyOTAzRDIwOTIyNzUyRkExMTI3MzM1N0UxNDgxMDA4MDA2MjAyOTAzRDIwOTIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjRDNzIzMDMxMDYyMEU2NEZEMjA5MjIzMEU2MDJEMjYxN0UzNzAxN0I3RTI3MDE5QjlEMzI0MDMxN0QwMjJFMDUzNDdBMDUzNDdBMzcwMTdCN0UzNzAxNUI3RDQzMkQ0MkJFNDQwQzJDMzg2ODdBNDcwMTVCNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2MUM0MjJDMjYxMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTdCQkUyNDAwMDA2ODZBQkUyNzAxOUIyODA0N0UyNzAxOUI3RTM3MDE3QjlEMzI3RDAyMkUwNTM0N0EwNTM0N0EzNzAxN0I3RTM3MDE1QjdENDMyRDQyQkU0NDBDMkMzODEzN0E0NzAxNUI3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MEMyRDlEMjQxMjY5RjA3RTM0MDgyRDdEMjQyRDQzN0E0NzAxNUIxMjY5RjBCRTI1MjA3ODAzMDI0OUVGMjJEMjA5N0UwNDA4MkQ3QTA3MDE1QjdBMDcwMTZCNzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFBQjJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwMTAwMkUyNzAxQUIxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM5MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTEyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDEwMDJFNjcwMUFCOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMTdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjRCNEI3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzkwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMTIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNEI0QkRBQjgwMjRDNzIwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1OTgwMDJDMjU5QTVGRDVFNTA4MDY4MDREMjUxODAwMkMyNTExMjQyRDQwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI0QjlGNzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEEwMTIyMjAyQTAzRDIwQTIyNzUyRkEyMTI3MzM1N0UxNDgyMDA4MDA2MjAyQTAzRDIwQTIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjRGOUYzMDMyMDYyMEU2NEZEMjBBMjIzMEU2MDJEMjYyN0UzNzAxN0Q3RTI3MDE5RDlEMzI0MDMxN0QwMjJFMDUzNjdBMDUzNjdBMzcwMTdEN0UzNzAxNUQ3RDQzMkQ0MkJFNDQxMDJDMzg2ODdBNDcwMTVENzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2MkM0MjJDMjYyMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTdEQkUyNDAwMDA2ODZBQkUyNzAxOUQyODA0N0UyNzAxOUQ3RTM3MDE3RDlEMzI3RDAyMkUwNTM2N0EwNTM2N0EzNzAxN0Q3RTM3MDE1RDdENDMyRDQyQkU0NDEwMkMzODEzN0E0NzAxNUQ3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MTAyRDlEMjQxMjY5RjA3RTM0MEMyRDdEMjQyRDQzN0E0NzAxNUQxMjY5RjBCRTI1MjA3ODAzMDI0RDFDMjJEMjBBN0UwNDBDMkQ3QTA3MDE1RDdBMDcwMTZENzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFBRDJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwMjAwMkUyNzAxQUQxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNBMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTIyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDIwMDJFNjcwMUFEOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMjdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjRFNzg3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0EwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMjIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNEU3OERBQjgwMjRGOUYwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1QTgwMDJDMjVBQTVGRDVFNTA4MDY4MDREMjUyODAwMkMyNTIxMjQyRUIwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI0RUNDNzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEIwMTIyMjAyQjAzRDIwQjIyNzUyRkEzMTI3MzM1N0UxNDgzMDA4MDA2MjAyQjAzRDIwQjIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjUyQ0MzMDMzMDYyMEU2NEZEMjBCMjIzMEU2MDJEMjYzN0UzNzAxN0Y3RTI3MDE5RjlEMzI0MDMxN0QwMjJFMDUzODdBMDUzODdBMzcwMTdGN0UzNzAxNUY3RDQzMkQ0MkJFNDQxNDJDMzg2ODdBNDcwMTVGNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2M0M0MjJDMjYzMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTdGQkUyNDAwMDA2ODZBQkUyNzAxOUYyODA0N0UyNzAxOUY3RTM3MDE3RjlEMzI3RDAyMkUwNTM4N0EwNTM4N0EzNzAxN0Y3RTM3MDE1RjdENDMyRDQyQkU0NDE0MkMzODEzN0E0NzAxNUY3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MTQyRDlEMjQxMjY5RjA3RTM0MTAyRDdEMjQyRDQzN0E0NzAxNUYxMjY5RjBCRTI1MjA3ODAzMDI1MDQ5MjJEMjBCN0UwNDEwMkQ3QTA3MDE1RjdBMDcwMTZGNzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFBRjJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwMzAwMkUyNzAxQUYxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNCMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTMyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDMwMDJFNjcwMUFGOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMzdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjUxQTU3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0IwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMzIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNTFBNURBQjgwMjUyQ0MwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1QjgwMDJDMjVCQTVGRDVFNTA4MDY4MDREMjUzODAwMkMyNTMxMjQzMDIwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI1MUY5NzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEMwMTIyMjAyQzAzRDIwQzIyNzUyRkE0MTI3MzM1N0UxNDg0MDA4MDA2MjAyQzAzRDIwQzIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjU1RjkzMDM0MDYyMEU2NEZEMjBDMjIzMEU2MDJEMjY0N0UzNzAxODE3RTI3MDFBMTlEMzI0MDMxN0QwMjJFMDUzQTdBMDUzQTdBMzcwMTgxN0UzNzAxNjE3RDQzMkQ0MkJFNDQxODJDMzg2ODdBNDcwMTYxNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2NEM0MjJDMjY0MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTgxQkUyNDAwMDA2ODZBQkUyNzAxQTEyODA0N0UyNzAxQTE3RTM3MDE4MTlEMzI3RDAyMkUwNTNBN0EwNTNBN0EzNzAxODE3RTM3MDE2MTdENDMyRDQyQkU0NDE4MkMzODEzN0E0NzAxNjE3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MTgyRDlEMjQxMjY5RjA3RTM0MTQyRDdEMjQyRDQzN0E0NzAxNjExMjY5RjBCRTI1MjA3ODAzMDI1Mzc2MjJEMjBDN0UwNDE0MkQ3QTA3MDE2MTdBMDcwMTcxNzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFCMTJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwNDAwMkUyNzAxQjExQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNDMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTQyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDQwMDJFNjcwMUIxOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNDdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjU0RDI3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0MwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNDIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNTREMkRBQjgwMjU1RjkwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1QzgwMDJDMjVDQTVGRDVFNTA4MDY4MDREMjU0ODAwMkMyNTQxMjQzMTkwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI1NTI2NzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEQwMTIyMjAyRDAzRDIwRDIyNzUyRkE1MTI3MzM1N0UxNDg1MDA4MDA2MjAyRDAzRDIwRDIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjU5MjYzMDM1MDYyMEU2NEZEMjBEMjIzMEU2MDJEMjY1N0UzNzAxODM3RTI3MDFBMzlEMzI0MDMxN0QwMjJFMDUzQzdBMDUzQzdBMzcwMTgzN0UzNzAxNjM3RDQzMkQ0MkJFNDQxQzJDMzg2ODdBNDcwMTYzNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2NUM0MjJDMjY1MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTgzQkUyNDAwMDA2ODZBQkUyNzAxQTMyODA0N0UyNzAxQTM3RTM3MDE4MzlEMzI3RDAyMkUwNTNDN0EwNTNDN0EzNzAxODM3RTM3MDE2MzdENDMyRDQyQkU0NDFDMkMzODEzN0E0NzAxNjM3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MUMyRDlEMjQxMjY5RjA3RTM0MTgyRDdEMjQyRDQzN0E0NzAxNjMxMjY5RjBCRTI1MjA3ODAzMDI1NkEzMjJEMjBEN0UwNDE4MkQ3QTA3MDE2MzdBMDcwMTczNzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFCMzJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwNTAwMkUyNzAxQjMxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNEMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTUyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDUwMDJFNjcwMUIzOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNTdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjU3RkY3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0QwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNTIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNTdGRkRBQjgwMjU5MjYwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1RDgwMDJDMjVEQTVGRDVFNTA4MDY4MDREMjU1ODAwMkMyNTUxMjQzMzAwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI1ODUzNzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEUwMTIyMjAyRTAzRDIwRTIyNzUyRkE2MTI3MzM1N0UxNDg2MDA4MDA2MjAyRTAzRDIwRTIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjVDNTMzMDM2MDYyMEU2NEZEMjBFMjIzMEU2MDJEMjY2N0UzNzAxODU3RTI3MDFBNTlEMzI0MDMxN0QwMjJFMDUzRTdBMDUzRTdBMzcwMTg1N0UzNzAxNjU3RDQzMkQ0MkJFNDQyMDJDMzg2ODdBNDcwMTY1NzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2NkM0MjJDMjY2MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTg1QkUyNDAwMDA2ODZBQkUyNzAxQTUyODA0N0UyNzAxQTU3RTM3MDE4NTlEMzI3RDAyMkUwNTNFN0EwNTNFN0EzNzAxODU3RTM3MDE2NTdENDMyRDQyQkU0NDIwMkMzODEzN0E0NzAxNjU3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MjAyRDlEMjQxMjY5RjA3RTM0MUMyRDdEMjQyRDQzN0E0NzAxNjUxMjY5RjBCRTI1MjA3ODAzMDI1OUQwMjJEMjBFN0UwNDFDMkQ3QTA3MDE2NTdBMDcwMTc1NzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFCNTJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwNjAwMkUyNzAxQjUxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNFMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTYyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDYwMDJFNjcwMUI1OUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNjdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjVCMkM3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0UwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNjIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNUIyQ0RBQjgwMjVDNTMwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1RTgwMDJDMjVFQTVGRDVFNTA4MDY4MDREMjU2ODAwMkMyNTYxMjQzNDcwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI1QjgwNzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEYwMTIyMjAyRjAzRDIwRjIyNzUyRkE3MTI3MzM1N0UxNDg3MDA4MDA2MjAyRjAzRDIwRjIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjVGODAzMDM3MDYyMEU2NEZEMjBGMjIzMEU2MDJEMjY3N0UzNzAxODc3RTI3MDFBNzlEMzI0MDMxN0QwMjJFMDU0MDdBMDU0MDdBMzcwMTg3N0UzNzAxNjc3RDQzMkQ0MkJFNDQyNDJDMzg2ODdBNDcwMTY3NzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2N0M0MjJDMjY3MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTg3QkUyNDAwMDA2ODZBQkUyNzAxQTcyODA0N0UyNzAxQTc3RTM3MDE4NzlEMzI3RDAyMkUwNTQwN0EwNTQwN0EzNzAxODc3RTM3MDE2NzdENDMyRDQyQkU0NDI0MkMzODEzN0E0NzAxNjc3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MjQyRDlEMjQxMjY5RjA3RTM0MjAyRDdEMjQyRDQzN0E0NzAxNjcxMjY5RjBCRTI1MjA3ODAzMDI1Q0ZEMjJEMjBGN0UwNDIwMkQ3QTA3MDE2NzdBMDcwMTc3NzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFCNzJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwNzAwMkUyNzAxQjcxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNGMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTcyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDcwMDJFNjcwMUI3OUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNzdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjVFNTk3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0YwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNzIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNUU1OURBQjgwMjVGODAwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1RjgwMDJDMjVGQTVGRDVFNTA4MDY4MDREMjU3ODAwMkMyNTcxMjQzNUUwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI1RUFENzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1ODgwMDJDMjU4QTVGRDVFNTA4MDY4MDREMjUwODAwMkMyNTAwMjYwRkY3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNTk4MDAyQzI1OUE1RkQ1RTUwODA2ODA0RDI1MTgwMDJDMjUxMDI2MEZGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAyMDY4MDREMjVBODAwMkMyNUFBNUZENUU1MDgwNjgwNEQyNTI4MDAyQzI1MjAyNjBGRjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1QjgwMDJDMjVCQTVGRDVFNTA4MDY4MDREMjUzODAwMkMyNTMwMjYwRkY3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNUM4MDAyQzI1Q0E1RkQ1RTUwODA2ODA0RDI1NDgwMDJDMjU0MDI2MEZGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAyMDY4MDREMjVEODAwMkMyNURBNUZENUU1MDgwNjgwNEQyNTU4MDAyQzI1NTAyNjBGRjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1RTgwMDJDMjVFQTVGRDVFNTA4MDY4MDREMjU2ODAwMkMyNTYwMjYwRkY3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNUY4MDAyQzI1RkE1RkQ1RTUwODA2ODA0RDI1NzgwMDJDMjU3MDI2MEZGNTRGMEM0QTVGRkM0QTU0Rjc1MkY5MDEyNzMzNUY1MkYxMjczMzUyMkNBMTk1RTIwMDc0Q0EyN0U3NDJDMkRDQTc5N0E3OUEwMEI3NDdBNzlCMDBCNzREQTc5N0UzMDAyN0U2NDAwMDIwMjYxNUVDQTE5NUUyMDA3NENBMjdFNzQyQzJEQ0E3OTdBNzlBMDBCNzQ3QTc5QjAwQjc0N0E3OTYwMEI3NERBNzk3RTMwMDM3RTY0MDAwMzAyNjE1RUQyMDQ3RTI3MDFDQjJEMjZCRTI0MDQwMDM4MkU3RTA3MDFDOTdFNDQyODJEN0U3OUEwN0EwOUEwMEIwNDBCNzRCRDA0NjgyM0E1REJFRjdBMjcwMUNCN0UyNTMwMkQyNjdBMjUzMDdBMDcwMUM5REExOUMyRDcyMjc1MkY5QTEyNzMzNURBMTlEMkQ3MjI3RTA0MjQyRDgwRDc0OEYxNDY2NTQ3NUY0OTJBNDUyQTQ1MkE0ODU2NDUyQTQ5NkU0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDk3NTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTRDMUU0OTkyNEE4QzRDNTc0NTJBNDUyQTRCODM0NTJBNEM5QjQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0Q0EyNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNEY0QjRDQkY0REI5NEY4NDQ1MkE0NTJBNEVCMDQ1MkE0RkM4NDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTRGQ0Y0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1Mjc4NEZFQzUwRTY1MkIxNDUyQTQ1MkE1MURENDUyQTUyRjU0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNTJGQzQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTU1QTU1MzE5NTQxMzU1REU0NTJBNDUyQTU1MEE0NTJBNTYyMjQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1NjI5NDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNThEMjU2NDY1NzQwNTkwQjQ1MkE0NTJBNTgzNzQ1MkE1OTRGNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTU5NTY0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1QkZGNTk3MzVBNkQ1QzM4NDUyQTQ1MkE1QjY0NDUyQTVDN0M0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNUM4MzQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTVGMkM1Q0EwNUQ5QTVGNjU0NTJBNDUyQTVFOTE0NTJBNUZBOTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1RkIwNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBQ0FCODc1MkYwMjEyNzMzNTdFQjM5MTAzMjBFNTIwMzBFMDA1MTI2QjA1ODAzMDMwRTEwNTEyNjQ4NjgwMjgzMEUyMDUxMjYzRjU4MDIwMzBFMzFEMTI2NTYxODAxODdFQjM5MTA0MzBFMTAzMDI2NzVGMzBFNjA1MTI2QzZBODAwNjIwRTIwMzAyMDA4MERBQjgzMjc1MkYxMDEyNzMzNUNBMEJDQTM5Q0E1OTc0NDA3QUIzOTEwMDdFQjM5MTFBNkNBQUJFQjA0MDI4MEExMjY0MjREQTU5REEzOURBMEIyMjc0MjA3QUIzOTExNDgwRjE3RTM3MDFDNTJEMzVCRTM0MDQwMDM4MkY3QTM3MDFDNTdFMzcwMUMzN0Q0MzJENDVCRTQ0MkMyQzM4MjU3QTQ3MDFDMzc1MkYxMTEyNzMzNTdBQjEyRjEyNzMzNTEyNjc5Rjc0MjA3QUIzOTExNDEyNjYzMDIyNzUyRjE2MTI3MzM1ODBGNDc1MkYxMjEyNzMzNTdBQjEyRjEyNzMzNTlFNDQyQzJEOUQ1NDEyNjc5RjdFMzQyODJEN0Q1NDJENDM4MEJDNzUyRjE4MTI3MzM1Q0EwOUNBMzlDQTJCNzQyMDdBQjM5MTAwN0U2MzkxMUE3NDEwN0FCMzkxMTQ3RUIwODA5Q0I2NjAzODZDQUE3RTM3MDFDQjlEMzU0MDM3N0EzNzAxQ0I3RTM3MDFDNzdENDMyRDQ1QkU0NDI4MkMzODNCN0E0NzAxQzc3RDQ1MTI2OEQ0N0VCMzkxMUUyMEU1MTM3NTJGMTkxMjczMzU3QTkxMkYxMjczMzVEQTJCREEzOURBMDkyMjgwMzQyRDUzNkQzMzYwMDI4MEMxN0UwNDI0MkQ3QTA3MDFDOTdBMDcwMUM3ODBFMUNBNTk5RTQ0MjgyRDlENTQxMjY4RDQ3RTM0MjQyRDdENTQyRDQzN0E0NzAxQzcxMjY4RDREQTQ5ODBCMDdFMEYyQzNFMEIwQzdBMEYyQzNFNzQyMDdBQjM5MTFFNzQ2MDdBQjM5MTFDNzQwMjdBQjM5MTEyODBBNTdFMkYyQzVFMEIyQzdBMkYyQzVFNzQyMDdBQjM5MTFFNzQ2MDdBQjM5MTFDNzQwMjdBQjM5MTEyODAxRkRBMkJEQTFCREEwQjIyNzUyRjI4MTI3MzM1Q0EwQkNBMUJDQTJCNzQ2MDdBQjM5MTAwNzQxMDdBQjM5MTE0N0VCMzkxMUE3MERCN0UwRDMwN0UxRDM0N0UyRDM4N0UzRDNDN0U4NTQwN0Q5MDREOTE0RDkyNEQ5MzREOTQ0RDk1NEQ5NjREOTc0RDk4NjhCODdBMTM5MTE3N0EwMzkxMTc3QTMzOTExNzdBMjM5MTE3N0E1MzkxMTc3QTQzOTExNzdBNzM5MTE3N0E2MzkxMTc3QTkzOTExNzdBODM5MTE3MzA3MzIyN0FCMzkxMTc3QUEzOTExNzdBRDM5MTE3N0FDMzkxMTc3QUYzOTExNzdBRTM5MTE3N0Q3ODdBRjM5MTE3N0FFMzkxMTc3RUIzOTExRTMwRTUwMzAyNjUzQzc1MkYyOTEyNzMzNTIwNzMwODc1MkYwQTEyNzMzNTgwMDY3NTJGMTIxMjczMzU3NDgwN0FCMzkxMUU2RDAwN0QxMDdBMEQzMDdBMEQzNDdBMEQzODdBMEQzQzdBMDU0MERBMkJEQTFCREEwQjIyN0UzNzAxQzU0RDMzNjgzQjdFMDcwMUMxN0U1NDJDMkQ5RDUwQkQzNTQwMDI3RDM1Q0EzOTdFNjU0Qjk5NjREQTM5N0UwNzAxQzU5RDAzN0EwNzAxQzUyRTM3MDFDMTdBMzcwMUMxQkUzNDJDMkMyOEM3N0UzNDI4MkQ3QTM3MDFDMTgwQkQyMjc1MkY1MzEyNzMzNTdFMTU0RDgwMTE3NTJGNTExMjczMzUwQjA4MTAwQjA1OUUzNDAwMDIyODREN0NCMjIwRTcyNzU0MDcyMzBBMkI0OTIyMzkxRTdDQjI1NDc4MDMwMzAzN0MyQjlEMTM0MDFBNjgxMjdBMTU0RDdBMjU0RjdFNjQ2NzA5N0E2NTRCODkyNDAyNjcxNzdFNjQ2NjdGODBGMjJEMTM5RDMxQ0EzOTdEMzEyRDEwQ0ExOUNBMjk5OTI0REEyOURBMDlEQTM5ODBBMjdBMTU0RDdFNjQ2NkY1NEQzMzc4MDk3Q0IyMjBFNzJBN0U2NDY2NzQ3QTY1NEIyMjc1MkY1MjEyNzMzNTdFMjE0RDdFMDkzMDBCMDQxQjM0Nzg4OTgwRDQ3NTJGNTQxMjczMzU3RTE1NEQ3RTI1NEY4MDkwNUUyMDA3NTQ3ODdFNDQ2NzdEMzBFNjE2NEQzMzY4MjYxQjM0N0UwOTQwMEIwNDdFNDQzNEZBMjBFMzA0N0U0NDY3ODVDQTA5Q0EzOTk5NDREQTM5REEwOTdFNjQ2NjdGNEQzMzY4QTY4OTY0N0ExNTRERjU0RjdFNjQ2NzU4ODA5OTdFMTU0REU1NEY4MEM0QzBEMEMwRDFDMEUwQ0ExOTc1MkZGRTEyNzMzNTdFMTQwMDUzMDI0MDUyREExOUQwRTBEMEQxRDBEMDMyMDNBNUNCMTlCMTgwMDAyMjIyN0UyNDAwMDA3RkUxN0VBMDAyQTQ3RTA0NjhCMTlEMDU3RUIwMjg3QUIzOTUwMDg5MDRDQTI5QjQ4MEUyN0UyNDAwMDA3RkUxN0UwMDI4N0EwMzk1MDBFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBMzdFMDAwMDdBMDM5NTAwREEyOTIyN0UyNDAwMDA3RkUxN0VBMDAyQTQ3RTA0NjlFNjlEMDU3RUIwMzg3QUIzOTUwMDg5MDRDQTI5QjQ4MEUyN0UyNDAwMDA3RkUxN0UwMDM4N0EwMzk1MDBFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBMzdFMDAwMDdBMDM5NTAwREEyOTIyQ0EyOUNBMTlDQTU4N0UyNDAwMDA3RkUxREE1ODdFNTQwMjIwOUNCNUE0N0U1MDMwNUUyMDA3MkM1MjdBNTM5NTAwMkU1NDZBMTc4OTU0RTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTM3RTAwMDA3QTAzOTUwMERBMTlEQTI5MjJDQTE5Q0E1ODdFMjQwMDAwN0ZFMURBNTg3RTU0MDIzODlDQjVBNDdFNTAyMDVFMjAwNzJDNTI3QTUzOTUwMDJFNTQ2QTg4ODk1NEUwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzN0UwMDAwN0EwMzk1MDBEQTE5MjIwMjZCQThDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUI3NDAwN0FCMzkxMDA3RUIzMkM3RkI0MDAwMjgwMUNCNDAxMTk3RUIzOTExNDU0MTQ2ODA1MTI2QjZDODAyMzdFQjM5MTE0MzBFNTFDMTI2Q0FBODAxNzdFQjM5MTE0MzBFNTA1MTI2Q0FBODAwQjdFQjM5MTE0NTQxNDY4MDMxMjZCNkNEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMjIwRTQxOTc1MkYwQTEyNzMzNTdFQjMyQzdFNzAwQTdFQjMyQzdGQjQwMTFGMDI2QzA0MDI3MUYyNzUyRjBCMTI3MzM1NzQxNDdBQjM5MTE0N0VCMzJDN0ZCNDAyMEMxMjZCQjQwMjZCQTg3NDA0N0FCMzkxMTQyMjdFMDAwMDdBMDMyQzdGN0EwMzJDODAyMjdFQjMyQzc2NTQ2MDYwMDVCNDQwMUU4MDFDN0VCMzJDNzdCNDA1MTU3NTJGNzExMjczMzU3RUIzMkM3OTdFQTAwMTdBQTM5MTA2N0FCMzkxMDcyMjc0MDA3QUIzOTEwMDc0MTA3QUIzOTExMjIyQkU1NzJDN0MyODA0N0U1NzJDN0M3QTBGMkM4MjdBNTcyQzg2NzQxMDdBQjM5MTEyMjI3NDAwN0FCMzkxMDA3RUIzOTExQTcwNTM3RUIzOTExNDIwRTQ0QzdFRUYyQzgyN0VGNzJDODY3RTA3MkM4NjREMDA2ODIxN0UwMDAwRTA3QUIzOTExN0EzQTUwODFCRjQ2ODA2QTVCODEwRjA4MDE5N0VCMDAwN0FCMzJDN0ZCRTAwMTA2ODBEN0VCMDAwN0FCMzJDN0Y3NDgwN0FCMzkxMUU3QUVGMkM4MjdBRjcyQzg2NzUyRjA2MTI3MzM1NzQwNDdBQjM5MTE0MjJDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUI3NTJGMDMxMjczMzU3NDAwN0FCMzJDN0U3NDAwN0FCMzkxMDA3NDAxN0FCMzkxMTIxMjZEMTlEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMjc1MkYwMzEyNzMzNTdFQjMyQzgwQjQwMjExNzQwMDdBQjMyQzgwN0FCMzJDN0Y3NDIwN0FCMzkxMTQyMkI0MDE0NjdFQjM5MTA0MjBFNjQyN0UyMzkxMUE3QzMyN0UxMzJDODEyQzIxN0EyMzJDODE3RTAwMDAyRTA0MkM4ODdFQjM5MTE2N0EwOUIwMEIwNEE1REJGNDc0MjA3QUIzOTExNDc1MkY3MDEyNzMzNTdFQjMyQzgxN0VBMzJDN0RCQ0FCNzgwMzEyNkRCOTIyMDI3MUYyREE1OTAyNkM3Qzc0RTA3QUIzOTEwMDdFMDM5MTEwN0UxMzkxMTE3RTMzOTExMjdFMjM5MTEzN0U1MzkxMTQ3RTQzOTExNTdFNzM5MTE2N0U2MzkxMTc3QTBGMkM3NjdBMUYyQzdBNzUyRjA0MTI3MzM1N0EwMTJGMTI3MzM1N0ExMTJGMTI3MzM1N0EyMTJGMTI3MzM1N0EzMTJGMTI3MzM1N0E0MTJGMTI3MzM1N0E1MTJGMTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1NzQwMDdBQjM5MTAwNzQ0MDdBQjM5MTA0MTI2RDhEMjI2RDAwN0UxNDAxMDI3QTA3MkM4NjdBMDMyQzgxN0VCMzJDNzYyMEU3MEY3QTIzMkM4MDdBMzMyQzdGQkUwNzJDN0M2ODA5MjI3QTMzMkM4MDdBMjMyQzdGN0VCMzJDNzY1NEUzMjMyMzMwRTAwMkQyRTUzMEU3MDJEMkU0MzBFNTA2MzBFNDAzMDI3MUYyNTQzRUY1RjAwMzU0MUZDMzI1RjA5MDZERTU3NTg0RkY3MzAyNkZBMDAyNkUyRDAyNzAzOTAyNzA1NDAyNkYzNzAyNkVDMjAyNzA4NTAyNzA4NTAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4RTAyNzE2MDAyNzA4QjAyNzA4QjAyNzA4QjAyNzA4QjAyNzA4QjAyNzA4Qjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMyQzc3QjQwNjJBN0VCMzJDNzg2MDc5N0MwQjdFMTMyQzc5N0UxNzJDN0E3NTJGNzIxMjczMzU3QTAxMkYxMjczMzU3QTExMkYxMjczMzUxMjcyMzc0MDU4MDI2QkVCQjQwODFDNzUyRjc0MTI3MzM1N0VCMzNGRjE3RTA4MkM4ODdBMEMwMDAwN0EwQkIwN0U1NDAwMDEwMjZCRUJCNDAwMzM3NTJGNzUxMjczMzU3RTA4MkM4ODdBMEMwMDAwQ0EwQjdFQjMzRkYyMzBFMDA3NzQwMjdBMEJCMDgwMDU3NDAwN0EwQkIwMEIxNDc0MDA3QTBCQjA3RTU0MDAwMkRBMEIwMjZCRUIwMjcxRjI3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMkM3N0I0MDA1Rjc1MkY3NjEyNzMzNTdFQjMyQzdCNTQwRkI0MDIwNTdFQjA2MDgwMTdCNDAwMDU3RUIwMDA4MDBGN0VCMzJDN0IyMEU3MDU3RUIwNDA4MDAzN0VCMDIwN0FCMzkxMDA3RUIzOTExMTMwRTAwNDc0MDE4MDAyNzQwMDdFMDgyQzg4N0EwQzAwMDBDQTBCN0EwQkIwMEIxNDc0MDA3QTBCQjA3NDAwN0FCMzkxMDA3RTU0MDAwMkRBMEIwMjZCRUIwMjcxRjI3RUIzMkM3QjU0MEZCNDAyMDU3RUIwNjA4MDE3QjQwMDA1N0VCMDAwODAwRjdFQjMyQzdCMjBFNzA1N0VCMDQwODAwMzdFQjAyMDdBQjM5MTAwN0VCMzJDNzlCNDAwMjY3RUIzMkM3N0I0MDEwRTc1MkY3NzEyNzMzNTc0MDE3QUIzOTExMjgwMUJCNDAzMEU3NTJGNzgxMjczMzU3NDAxN0FCMzkxMTE4MDBBNzQwMDdBQjM5MTAwMTI3MUYyMjI3NDAwN0FCMzkxMDAwMjZCREU3RUIzMkM3N0I0MDkxRjc1MkY3OTEyNzMzNTdFQjMyQzc5QkVCMzNGRjE2ODBEQ0FCODEyNDM3OURBQjg1MDc2N0FCMzNGRjE4MDZEQjQwNTA4NzUyRjdBMTI3MzM1ODA2MkI0MDMxOTc1MkY3QjEyNzMzNTdFQjMyQzc5QjQwMTU1N0VCMzNGRjI0NDAxN0FCMzNGRjI4MDQ2QjQwMTE5NzUyRjdDMTI3MzM1N0VCMzJDNzlCNDAxMzk3RUIzM0ZGMjU0RkU3QUIzM0ZGMjgwMkFCNDA3MkE3RUIzMkM3ODYwMjQ3QzBCN0UxMzJDNzk3RTE3MkM3QTc1MkY3MzEyNzMzNTdBMDEyRjEyNzMzNTdBMTEyRjEyNzMzNTEyNzI3MTQwMDMwMjZCREUwMjcxRjI3RUIzMkM3N0I0MEJGNjc1MkY3RDEyNzMzNTdFQjMyQzc5N0VBMzJDN0I0Q0FCNzhFNDgwREY3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMkM3N0I0MEFDRjc1MkY3RTEyNzMzNTdFQjMyQzc5NzBDMzdFMDgyQzg4N0EwQzAwMDA3QTBCQjA3RTU0MDAwMTAyNkJFQjAyNzFGMjAyNzFGMjAyNzFGMjdFQjMyQzc3QjQwNDIwNzUyRkMzMTI3MzM1N0UwNDAwMDE3RTE3MkM3ODdFMTgyQzg4N0ExQzAwMDA3RTQ3MkM3QzEyNzM0MTAyNzE1QUI0MDY0Mjc1MkZDMTEyNzMzNTdFNTgwMDAwN0E1QzAwRkU3RENBN0VENzJDNzg3RTc4MkM4ODdBN0MwMDAwN0U3NzJDN0M3NTJGQzExMjczMzVDMEE4QzJBRjdFNDAwMTdBNDM5NDAwMTI3MzdBN0U0MzJDMzU3QTQzOTQwMEQwQTg0MDY1ODA2MEI0MDAyNEMyQUY3RUIwMDE3QUIzOTQwMDdBQjMyQzM1MTI2QkRFRTQ4REVGOERFRjhERUZENUUwRjdDMEQxQ0EwMkZGQ0EwNjAwMDAzMkI0MDkyMDc0MDM3QUIzOTEwNjdFMjM5MTA3N0U1NzJDNzg0RDU1NjgwNTRFMjAwMjgwMDM1RTIwRkQ3QTIzOTEwNzgwMTZCNDA3MTZDMkFGN0UwNzJDN0E3RTE3MkM3OEMwRDFDQTE4Q0EzOENBMjgzMjAyNkJERTAyNzFGMjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMyQzc3QjQwMzE1NzUyRkMyMTI3MzM1N0UwNDAwMDE3RTE3MkM3ODdFNTcyQzdDMDI2QkVCQjQwNTQxNzUyRkMwMTI3MzM1QzBBOEMyQUY3RTQwMDE3QTQzOTQwMDdFMDgyQzg4N0EwQzAwMDA3RTI0MDBGRTdFMzcyQzc4N0U0NzJDN0MxMjczNDE3RTQzMkMzNTdBNDM5NDAwRDBBODdFMDgyQzg4N0EwQzAwMDA3RTU3MkM3QzAyNkJFQkI0MDEyMDdFMDAwMDdFMTAwMTc1MkY3MjEyNzMzNTdBMDEyRjEyNzMzNTdBMTEyRjEyNzMzNTEyNzIzNzQwMDMwMjZCRUIwMjcxRjI3NTJGMDcxMjczMzU3RUIwMDI3QUIzOTAwMDc0MDA3QUIzOTEwMDc0NDA3QUIzOTExNTc0MDE3QUIzOTExMTdFQjM5MTE1NTQ2MEJFQjA0MDY4MDg3NDIwN0FCMzkxMTU4MEVENzQwMTdBQjM5MTEyNzQwNDdBQjM5MTE0NzRGRjdBQjMyQzdFMjJDMEE4QzJBRjdFNDAwMTdBNDM5NDAwMTI3MkJFNDAxRjdFMDgyQzg4N0EwQzAwMDBDQTBCQ0E0OTEyNzM0MURBNTlEQTBCN0U0MzJDMzU3QTQzOTQwMEQwQThDMzIyN0U0MzJDMzU3QTQzOTQwMEQwQTgyMkMwQThDMkFGN0U0MDAxN0E0Mzk0MDAxMjcyQkU0MDMxN0U1ODAwMDA3QTVDMDBGRTdGNjE3RTc4MkM4ODdBN0MwMDAwN0U3NzJDN0NCRDc0NzgxNzc1MkZDMTEyNzMzNTEyNzM3QTQwMEM3RTQzMkMzNTdBNDM5NDAwRDBBOEMzMjI3RTQzMkMzNTdBNDM5NDAwRDBBOEQzMjI3RTI0MDBGRTdFMzQ3RkNBMEIxQTUwQzVGMDdENjI3RDc1N0Q4NzdFMzQ3RkMyN0UxQkIwN0UzNDdGMDNCNDAxMDQ3RTM0N0ZDQzdFMUJCMEJDMEI1MDQ5M0UwMDNFMDAwQTUwMkQ3NTBCM0EzMDY5NTMwMDAyQkQzODUwMDIyRDM4QkMxQjUwMzAzRTEwM0UxMDBBNTEyRDM1Njk0MTAwMDIwQjFBMzBCRDM4NTAwMjJEMzhCRTQ0RkZGRjc4MDU3RTFCOTAwQTQ5NEQ0NDY4MENCRTQ0MDBGRjI4MDQ3RTQ0MDBGRkMzMjJEMzIyNzQKKzowMDA0N0ZDNjAwMDIwMDAzMDBCMgorOjAxNDg3MzM1MDBDQTA4N0UwMTJGN0EwMzNGRjBEQTA4MjI3RTFCQzA3QTBCQzAwQjE0MEIzNDFCNDQ3OEYyMjI3RjZGN0ZGMDFCRkM3QzU0N0QzMjgwMDhDQTFCQ0ExQkNBMUJDQTFCOUU0NDAwMTA1MEYyMkU0NDAwMTA2ODA2Q0E0ODFCNDQ3OEZBN0ZGNjg5RTRDQTZCNUVENDAwM0Y2ODIwN0U4NDAwNDA5RDhEREE2QkJEODczODE2Q0E3OTdENzgxMjczQTREQTc5NDAwODlENzg2ODAyODAwNUMyRDcyMkRBNkI3RUMwMDM3RUQwMDA3QUQzOTAwMDc0QUEzOUI1NTU1NTc0NTUzOUI1MkFBQTc0QTAzOUI1NTU1NTdFMDQwMDQwOUQ3MDUwMDYyRDcwN0QwNzZENzc3QzMxN0U3QjAwN0E2QjAwMEI3QzBCNkNBNUQ5RjM3RjE2MUIxQzdFNTQyNzEwN0UxQjEwQkMxMDY4MDYxQjU0NzhGNTgwMkY2RDAwN0MyMDdGMTY5RjEwN0YyNzlGMjA3RTJCMDA3RTFCMTBCQzAxNzgxOTBCMkMwQjFDQTVEQkVGN0NCNjIwRTAwNjZDREM3QUQzOTAwMDRENzc3ODkwQzJENzIyRDJENzIyMDAwNDAwMDQwMDAwMDYwNDAyMDQwMDAyMDEwNDAxMDIwMDAwMDAwMDAwMDAwMDAwMDIwMjAyMDIwMjA0MDAwODEwMDIxMDA0MDIwODAwMDEwMTA4N0UxODdGQkQ3QTFDMDBGRTBCMUEwMDVFMTAxRkJFMTAxNDM4MUEwQTUxMjM3RTE4NzQyNDdBMUMwMEZGMkQzNTBCMUE1MDYwMDhBNUI4MDIwMzRFQTAwODIyODBGRUNCCis6MDAwMDAwMDAwMUZGCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKKy8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKKy8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisvLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZWRnZXBvcnQvZG93bjMuYmluLmloZXggYi9maXJtd2FyZS9lZGdlcG9ydC9kb3duMy5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTM1ZTUyCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZWRnZXBvcnQvZG93bjMuYmluLmloZXgKQEAgLTAsMCArMSw4MTUgQEAKKzoxMDAwMDAwMDA0NTAwMDAwODczMjlBMDIyN0JGMDIyMUIyMDAwMDAwOEMKKzoxMDAwMTAwMDAwMDAwMjAwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDAwMjAwMDAwMDAwMjAxMUE4NTNGOEM4NTQwOEFDMEUwQzBEMEMwMjQKKzoxMDAwMzAwMEYwQzA4MkMwODNDMDAwQzAwMUMwMDJDMDAzQzAwNEMwQzEKKzoxMDAwNDAwMDA1QzAwNkMwMDdFNTNFMjQwOEY4RTY2MDJCRTUzRTI0MUYKKzoxMDAwNTAwMDEwRjhBNjgxRTUzRTc1RjAyMUE0MjQwNUY1ODJFNDM0NkMKKzoxMDAwNjAwMEY4RjU4Mzc4OENFNTgxMDRDMzk4Rjk5NDIyNDAwMzAyNjMKKzoxMDAwNzAwMDExRENFNkYwMDhBM0Q5RkE3NDA4MjUzRUY4MDUzRTA4MUQKKzoxMDAwODAwMEU2NTQ4MDcwMENFNTNFQjQwN0YzNzgwODc1M0UwMDgwQjYKKzoxMDAwOTAwMEVGRTUzRTI0MTBGODg2ODFFNTNFNzVGMDIxQTQyNDA1QTUKKzoxMDAwQTAwMEY1ODJFNDM0RjhGNTgzNzg4Q0U1ODEwNEMzOThGOUUwQUYKKzoxMDAwQjAwMEY2MDhBM0Q5RkFEMDA3RDAwNkQwMDVEMDA0RDAwM0QwRDMKKzoxMDAwQzAwMDAyRDAwMUQwMDBEMDgzRDA4MkQwRjBEMEQwRDBFMDMyQTYKKzoxMDAwRDAwMDMwMDE0RDMwQjQ0ODEwMDA0NTkwRkYwOEUwNTQyMEY4M0UKKzoxMDAwRTAwMDkwRkY0OEUwNTQyMEY5OTBGRjEwRTA1NDIwRkE5MEZGNzAKKzoxMDAwRjAwMDUwRTA1NDIwRkI3NDAwRjU4Mjc0RjhGNTgzRTBDOEYwRkEKKzoxMDAxMDAwMDY4NjAwMjdFMDRBM0UwQzlGMDY5NjAwMjdFMDRBM0UwOTcKKzoxMDAxMTAwMENBRjA2QTYwMDI3RTA0QTNFMENCRjA2QjYwMDI3RTA0NEEKKzoxMDAxMjAwMDIyQzBFMEMwRDBDMEYwQzA4MkMwODNDMDAwQzAwMUMwMDcKKzoxMDAxMzAwMDAyQzAwM0MwMDRDMDA1QzAwNkMwMDc3NDE1RjU4Mjc0NzAKKzoxMDAxNDAwMEY5RjU4M0UwNjAyMzc0NjZGNTgyNzRGOUY1ODNFMDE0QjEKKzoxMDAxNTAwMEYwNzAxNjc0RkZGMDc0MUNGNTgyNzRGOUY1ODNFMDYwOUEKKzoxMDAxNjAwMDA0MTRGMDcwMDRDMjkwODBGQzkwRkY5Mzc0ODFGMEU1NTkKKzoxMDAxNzAwMDgxOTRGRDQwMDMwMjExREM4NTQxOEQ4NTQyOEI3NEIyNzAKKzoxMDAxODAwMEY1ODI3NEZBRjU4M0UwQjQwMTFCQzA4MkMwODM5MEZGNEUKKzoxMDAxOTAwMDRBRTAzMEU3MkM5MEZGNEVFMDMwRTcyNUQwODNEMDgyNTQKKzoxMDAxQTAwMDc0MDJGMDgwMjBCNDAyMURDMDgyQzA4MzkwRkY3QUUwMDgKKzoxMDAxQjAwMDMwRTcwNTEyMjg0RTgwMDlEMDgzRDA4Mjc0MDNGMDgwODYKKzoxMDAxQzAwMDA0RDA4M0QwODJBM0UwQjQwMTFCQzA4MkMwODM5MEZGMUYKKzoxMDAxRDAwMDUyRTAzMEU3MkM5MEZGNTZFMDMwRTcyNUQwODNEMDgyMDQKKzoxMDAxRTAwMDc0MDJGMDgwMjVCNDAyMjJDMDgyQzA4MzkwRkY3QUUwQkUKKzoxMDAxRjAwMDMwRTcwNTEyMjg0RTgwMDlEMDgzRDA4Mjc0MDNGMDgwNDYKKzoxMDAyMDAwMDA5RDA4M0QwODI4MDAzMDIwMjkwNzQxNkY1ODI3NEY5QkIKKzoxMDAyMTAwMEY1ODNFMDIwMDRGMTIwMDIwMzMwMDFFQjc0MTlGNTgyMkMKKzoxMDAyMjAwMDc0RjlGNTgzRTAxNEZDRjBBM0UwRkRBM0UwRkU2NDA0QTAKKzoxMDAyMzAwMDcwMEZFQzcwNjI3RTAxMTIwMEM5N0MwQTdERkEwMjAyMjYKKzoxMDAyNDAwMDYxMTIwMEM5RUU2NDA0NjAxREVDNzA0QjdDMEFFRDE0NzEKKzoxMDAyNTAwMEZENzAxNUVFNjQwMjYwMDc3RTAyN0QzMjAyMDI2MTdFNEYKKzoxMDAyNjAwMDAxN0RGQTAyMDI2MTdDMEE3NDE5RjU4Mjc0RjlGNTgzNDIKKzoxMDAyNzAwMEVDRjBBM0VERjBBM0VFRjAxNDYwMTgyMEUxMEYyMDAxRTQKKzoxMDAyODAwMDA2RDJCMUMyQjA4MDEwQzJCMUQyQjA4MDBBQzJCMUMyMkYKKzoxMDAyOTAwMEIwODAwNEQyQjBEMkIxNzgxOTc5MDk3QTA3RTc3MDA0MzYKKzoxMDAyQTAwMEE2MDA4MDBCRTY2MDA4MTZFNjcwMDRFNzQ0ODBGNzA4QjUKKzoxMDAyQjAwMDA5REFFQUU1M0Q2MDEzMTRGNTNENzAwRUU1M0UyNDA4QzkKKzoxMDAyQzAwMEY4NzYwMDEyMTE1N0QyOENEMjhERDAwN0QwMDZEMDA1MDcKKzoxMDAyRDAwMEQwMDREMDAzRDAwMkQwMDFEMDAwRDA4M0QwODJEMEYwOUYKKzoxMDAyRTAwMEQwRDBEMEUwMzI5MEZGMDRFMDkwRkFCOUYwOTBGRjA2NTEKKzoxMDAyRjAwMEUwRkNBM0UwRkFFQ0ZGRUFGRUVGQzM5NDA4RUU5NDAxMDEKKzoxMDAzMDAwMDUwMDI4MDA0N0UwMTdGMDg4RTNCOEYzQzkwRkYwMkUwMEMKKzoxMDAzMTAwMEZDQTNFMEZBRUNGRkVBOTBGQUJERjBFRkEzRjAxMjFDQTgKKzoxMDAzMjAwMEUwRTRGNTRERTU0REMzOTQwMjUwMEYxMjFDQzFFNDEyRjgKKzoxMDAzMzAwMDFBRTgwNTREMDQxMjFDQjI4MEVBMTIxQ0UwOTBGRjAwN0UKKzoxMDAzNDAwMEUwRkY1NDYwMjRDMDcwMDMwMjA4RjMyNDQwNjAwMzAyRkQKKzoxMDAzNTAwMDBGNkU5MEZBQjlFMEZFNTQwRkY1NERFRTMwRTcwM0QzN0YKKzoxMDAzNjAwMDgwMDFDMzkyMEE5MEZGMDFFMDEyMUJGQzAzODQwMDA0ODkKKzoxMDAzNzAwMDU3MDEwNTZBMDMwNjMxMDUwNjczMDYwN0Q1MDgwODFERUYKKzoxMDAzODAwMDA5MDg3OTBBMDhCOTBCMDAwMDBGNkVFNTM1MjBFNzAzNkMKKzoxMDAzOTAwMDAyMEY2RTkwRkFCREUwNzAwMkEzRTA2MDAzMDIwRjZFRTAKKzoxMDAzQTAwMEU1M0M2NDAyNDUzQjYwMDMwMjBGNkVFRjU0MUYxNDYwOEUKKzoxMDAzQjAwMDJCMTQ2MDQ3MjQwMjYwMDMwMjBGNkVFRTYwMDMwMjBGRUQKKzoxMDAzQzAwMDZFMTIxQ0MxNzQwMTEyMUFFODc4NjdFNjMwRTAwODEyNTgKKzoxMDAzRDAwMDFDQzE3NDAyMTIxQUU4N0YwMjAyMzI2RUU1MzUyMEUxNzgKKzoxMDAzRTAwMDA5OTBGQUI5RTA2MDAzMDIwRjZFOTBGQUI5RTBEMzk0NzUKKzoxMDAzRjAwMDAxNDAwMzAyMEY2RTdGMDIwMjMyNkVFNTM1MjBFMTBFRUUKKzoxMDA0MDAwMDkwRkFCOUUwRkY2MDA3NjQ4MDYwMDMwMjBGNkUxMjBGN0MKKzoxMDA0MTAwMEZBNDAwMzAyMEY2RUU1NEQ3MDE5MzAwQTBCOTBGRjgwMTEKKzoxMDA0MjAwMDEyMUNCRTEyMUFFODgwMjQ5MEZGODIxMjFDQkUxMjFBRkYKKzoxMDA0MzAwMEU4ODAxOTE1NEQzMDBBMEIxMjFENTUxMjFDQkMxMjFBRkEKKzoxMDA0NDAwMEU4ODAwOTEyMUQ2MzEyMUNCQzEyMUFFODEyMUNDMTEyQUEKKzoxMDA0NTAwMDFBQTI2MDA1NzQwMTEyMUFFODdGMDIwMjMyNkVFNTM1QjUKKzoxMDA0NjAwMDMwRTcwMzAyMEY2RUU1M0M0NTNCNjAwMzAyMEY2RTEyNUUKKzoxMDA0NzAwMDFENzkxNDYwMkQxNDYwNTkyNDAyNjAwMzAyMEY2RTkwRTAKKzoxMDA0ODAwMEZBQkRFMDcwMDRBM0UwNjQwMTYwMDMwMjBGNkU5MEZBMEQKKzoxMDA0OTAwMEI5RTA2MDAzMDIwRjZFNzg2N0U2NTRGRUY2RTRGRjAyRUYKKzoxMDA0QTAwMDMyNkVFNTM1MjBFMTA2MjBFMDAzMDIwRjZFRTUzNTMwQkYKKzoxMDA0QjAwMEUwMDk5MEZBQjlFMDYwMDMwMjBGNkVFNTM1MzBFMTBDMTcKKzoxMDA0QzAwMDkwRkFCOUUwRDM5NDAxNDAwMzAyMEY2RUU0RkYwMjMyQzgKKzoxMDA0RDAwMDZFOTBGQUJERTA3MDAyQTNFMDYwMDMwMjBGNkUxMjBGOEYKKzoxMDA0RTAwMEZBNDAwMzAyMEY2RUU1MzUyMEUxMDYyMEUwMDMwMjBGMUIKKzoxMDA0RjAwMDZFRTUzNTMwRTAwN0U1NEQ2MDAzMDIwRjZFRTU0RDcwQTcKKzoxMDA1MDAwMDBGOTBGRjgyRTA1NEY3RjA5MEZGODBFMDU0RjdGMDIyNjQKKzoxMDA1MTAwMEU1NEQyNEZFNjAyMDI0RkI2MDM0MjQwNjcwMzUzMDBBNEIKKzoxMDA1MjAwMDBDQTIwQUU0MzNGRDdGMDMxMjJFNzk4MDI2RTRGRDdGQkUKKzoxMDA1MzAwMDAzMTIyRTc5ODAxRDMwMEEwQ0EyMEFFNDMzRkQ3RjA0RDkKKzoxMDA1NDAwMDEyMkU3OTgwMEVFNEZEN0YwNDEyMkU3OTgwMDU3Rjg3QkMKKzoxMDA1NTAwMDEyMzFFRjE1NEQzMDBBMEIxMjFENTVGNTgzRTA1NEY3OUIKKzoxMDA1NjAwMEYwODAwOTEyMUQ2M0Y1ODNFMDU0RjdGMEU0RkYwMjMyRDYKKzoxMDA1NzAwMDZFRTUzNTMwRTcwMzAyMEY2RUU1M0M0NTNCNjAwMzAyNTQKKzoxMDA1ODAwMDBGNkUxMjFENzkxNDYwMkQxNDYwNTUyNDAyNjAwMzAyNTEKKzoxMDA1OTAwMDBGNkU5MEZBQkRFMDcwMDRBM0UwNjQwMTYwMDMwMjBGRTcKKzoxMDA1QTAwMDZFOTBGQUI5RTA2MDAzMDIwRjZFNzg2N0U2NDQwMUY2RDgKKzoxMDA1QjAwMEU0RkYwMjMyNkVFNTM1MjBFMTA2MjBFMDAzMDIwRjZFMTMKKzoxMDA1QzAwMEU1MzUzMEUwMDdFNTRENjAwMzAyMEY2RUU1MzUzMEUxQkIKKzoxMDA1RDAwMDBBRTU0REQzOTQwMTQwMDMwMjBGNkVFNEZGMDIzMjZFMzAKKzoxMDA1RTAwMDkwRkFCREUwNzAwMkEzRTA2MDAzMDIwRjZFOTBGQUI5Q0EKKzoxMDA1RjAwMEUwRkYxMjMyM0Y0MDAzMDIwRjZFRTUzNTIwRTEwNjIwOTYKKzoxMDA2MDAwMEUwMDMwMjBGNkVFNTRENzAwOTMwMEEwMzAyMUUxNDAyNkEKKzoxMDA2MTAwMDFEREZFNTM1MjBFMTAzMDIwRjZFMTU0RDMwMEEwQjEyODgKKzoxMDA2MjAwMDFENTVGNTgzRTA0NDA4RjA4MDA5MTIxRDYzRjU4M0UwNTEKKzoxMDA2MzAwMDQ0MDhGMEU0RkYwMjMyNkVFNTM1MzBFNzAzMDIwRjZFNDYKKzoxMDA2NDAwMEU1M0M0NTNCNjAwMzAyMEY2RTkwRkFCOUUwNjAwMzAyOUYKKzoxMDA2NTAwMDBGNkUxMjFENzk2MDAzMDIwRjZFRTUzNTMwRTEwMzAyNjMKKzoxMDA2NjAwMDBGNkU5MEZBQkVFMDkwRkZGRkYwRTA2MDA1NDMzNTAxQTkKKzoxMDA2NzAwMDgwMDM1MzM1RkVFNEZGMDIzMjZFRTUzNTIwRTcwMzAyQzYKKzoxMDA2ODAwMDBGNkVFNTNDNDUzQjcwMDMwMjBGNkUxMjFENzk2MDAzNEYKKzoxMDA2OTAwMDAyMEY2RTkwRkFCREUwRkNBM0UwRkRFQzI0RkU2MDNBOTAKKzoxMDA2QTAwMDE0NjA3NTI0MDI2MDAzMDIwRjZFRUQ2MDAzMDIwRjZFOEEKKzoxMDA2QjAwMDEyMUNFMDEyMUUwRDdEMDMxMjBGQjU2MDAzMDIwRjZFQjcKKzoxMDA2QzAwMDEyMEY3MjkwRkFCNkUwRkRBMzEyMUQyQjEyMEZEMTUwM0IKKzoxMDA2RDAwMDAyODAwNEFFM0JBRjNDMDIxMDAyMTIxQ0UwOTBGOTE2RkYKKzoxMDA2RTAwMEUwMzBFNDBEMTIxRTBEN0QxNDEyMEZCNTYwMTAwMjBGRTQKKzoxMDA2RjAwMDZFMTIxRTBEN0QwNDEyMTAwOTYwMDMwMjBGNkUxMjBGQTAKKzoxMDA3MDAwMDcyOTBGQUI2RTBGREEzMTIxRDJCMTIwRkQxNTAwMjgwOTkKKzoxMDA3MTAwMDA0QUUzQkFGM0MwMjEwMDIxMjFFMEQ3RDA1MTIxMDA5MDMKKzoxMDA3MjAwMDYwMDMwMjBGNkU3QjAxN0FGQTc5QjYxMjFEMjg3RDAxRjMKKzoxMDA3MzAwMDEyMjY5ODkwRkFCN0U0NzVGMDAzMTIxQjFDOTBGQUJFQ0IKKzoxMDA3NDAwMEUwOTBGQUI1RjBFNEY1NEM5MEZBQjVFMEZGRTU0Q0MzNjMKKzoxMDA3NTAwMDlGNTAyNDEyMUQyMjEyMTAxNEZGRkQ5MEZBQjdFNDhENTEKKzoxMDA3NjAwMEYwMTIxQjFDOTBGQUI2RTBDMzlGRjBEMzk0MDA1MDAzMjQKKzoxMDA3NzAwMDAyMEY2RTA1NEM4MEQxMTIxRDIyMTIxMDE0MjRGRUZGQjAKKzoxMDA3ODAwMDkwRkFCNkYwRkRBM0U0NzVGMDAyMTIxQjFDN0FGOTc5MTkKKzoxMDA3OTAwMDcyN0IwMThCMzY4QTM3ODkzOEU5MjQwMkY5RTQzQUZBMDgKKzoxMDA3QTAwMDEyMUQyODEyMjY5ODhGNEMwNTRDMDU0QzEyMUNDMUU1RDEKKzoxMDA3QjAwMDRDMTIxQUU4MTIxQ0MxOTAwMDAxNzQwMzEyMUFGQUFGMEQKKzoxMDA3QzAwMDRDN0UwMEMzRUY5NTNDRUU5NTNCNTAwMjgwMDRBRTNCNUYKKzoxMDA3RDAwMEFGM0M4RTM5OEYzQTAyMkNEODAyMEY2RUU1MzUyMEU3RjgKKzoxMDA3RTAwMDAzMDIwRjZFRTUzQzY0MDE0NTNCNjAwMzAyMEY2RTkwMEYKKzoxMDA3RjAwMEZBQjlFMDYwMDMwMjBGNkU5MEZBQkRFMDcwMDJBM0UwNjgKKzoxMDA4MDAwMDYwMDMwMjBGNkUxMjFENzk2MDAzMDIwRjZFRTUzNTIwNDIKKzoxMDA4MTAwMEUwMDYyMEUxMDMwMjBGNkU3NTM2MDA3NTM3MDA3NTM4NkIKKzoxMDA4MjAwMDMyMDIwRkYxRTUzNTMwRTcwMzAyMEY2RUU1M0M0NTNCNDAKKzoxMDA4MzAwMDYwMDMwMjBGNkU5MEZBQjlFMDYwMDMwMjBGNkVEMzkwNkUKKzoxMDA4NDAwMEZBQkVFMDk0MDE5MEZBQkRFMDk0MDA0MDAzMDIwRjZFRkUKKzoxMDA4NTAwMDEyMUQ3OTYwMDMwMjBGNkVFNTM1MjBFMDA2MjBFMTAzRUEKKzoxMDA4NjAwMDAyMEY2RTkwRkFCRUUwRjUzMkU1MzI3MDA4NDMzNTAxQjIKKzoxMDA4NzAwMDUzMzVGRDgwMDY1MzM1RkU0MzM1MDJFNEZGMDIzMjZFRTgKKzoxMDA4ODAwMEU1MzUyMEU3MDMwMjBGNkVFNTNDNjQwMTQ1M0I2MDAzNUMKKzoxMDA4OTAwMDAyMEY2RTkwRkFCOUUwNjAwMzAyMEY2RTkwRkFCREUwQUQKKzoxMDA4QTAwMDcwMDJBM0UwNjAwMzAyMEY2RTEyMUQ3OTY0MDE2MDAzMDEKKzoxMDA4QjAwMDAyMEY2RUU1MzUyMEUxMDMwMjBGNkU3RjAxMDIzMjZFRkEKKzoxMDA4QzAwMEU1MzUzMEU3MDMwMjBGNkVFNTNDNDUzQjYwMDMwMjBGNjAKKzoxMDA4RDAwMDZFRDM5MEZBQkVFMDk0MDA5MEZBQkRFMDk0MDA0MDAzMUQKKzoxMDA4RTAwMDAyMEY2RTEyMUQ3OTY0MDE2MDAzMDIwRjZFRTUzNTIwNjAKKzoxMDA4RjAwMEUxMDMwMjBGNkVFNEZGMDIzMjZFOTBGRjAxMTIxRTI0MkMKKzoxMDA5MDAwMEVGMTIxQUU4OTBGQUI5MTIxRTI0OTAwMDAxRUYxMjFBQTEKKzoxMDA5MTAwMEZBOTAwMDAyRTQxMjFBRkE3NDAzMTIxQ0IyOTBGQUJEQTMKKzoxMDA5MjAwMEUwRkZBM0UwODUzODgyODUzNzgzQ0ZGMEEzRUZGMDkwMTYKKzoxMDA5MzAwMEZGMDFFMDEyMUJGQzA5N0IwMjA5OUQwNDA5QkYwNTA5QTgKKzoxMDA5NDAwMEVCMDYwQTA5MDcwQTI3MDgwQTQ1MDkwQTYzMEIwQjE4NzAKKzoxMDA5NTAwMDgwMERCNzgxMERFODgyMEI1RjgzMEJBODg0MEJDNzg1RTAKKzoxMDA5NjAwMDBDMEM4NjBDNTc4NzBDRTg4ODBENzM4OTBBODE5MjBBNTMKKzoxMDA5NzAwMDgxOTMwREEwQjAwRTlCQzAwRUM3QzEwRUQ4QzIwMDAwNUYKKzoxMDA5ODAwMDBGNURFNTM1MjBFNzA1N0YwNTAyMzFBOTEyMUQ3MTYwNzUKKzoxMDA5OTAwMDAzMDQ3MDA5RUZGRDdDMDA3RjA3MDIxMTVFRTRGRDdGMTgKKzoxMDA5QTAwMDA3MDIyRkI0RTUzNTIwRTcwNTdGMDUwMjMxQTkxMjFEQTYKKzoxMDA5QjAwMDcxNjAwMzA0NzAwOUVGRkQ3QzAwN0YwQzAyMTE1RUU0OUUKKzoxMDA5QzAwMEZEN0YwNzAyMkZCNEU1MzUzMEU3MDMwMjBGNzExMjFFRDkKKzoxMDA5RDAwMDQyNTAwNkU1M0M0NTNCNzAwNTdGMDIwMjMxQTk5MEZBODIKKzoxMDA5RTAwMEI5RTAyNEZFMjRGRDUwMDI4MDAzMDIzMjJDN0YwNzAyNkUKKzoxMDA5RjAwMDMxQTlFNTM1MzBFNzAzMDIwRjcxMTIxRDcxNjAwMzA0NjAKKzoxMDBBMDAwMDcwMDlFRkZEN0MwMDdGMDgwMjExNUU3RjA3MDIzMUE5QUIKKzoxMDBBMTAwMEU1MzUzMEU3MDMwMjBGNzExMjFENzE2MDAzMDQ3MDA5QTAKKzoxMDBBMjAwMEVGRkQ3QzAwN0YwOTAyMTE1RTdGMDcwMjMxQTlFNTM1RTkKKzoxMDBBMzAwMDMwRTcwMzAyMEY3MTEyMUQ3MTYwMDMwNDcwMDlFRkZEQUUKKzoxMDBBNDAwMDdDMDA3RjBBMDIxMTVFN0YwNzAyMzFBOUU1MzUzMEU3OUQKKzoxMDBBNTAwMDAzMDIwRjcxMTIxRDcxNjAwMzA0NzAwOUVGRkQ3QzAwMjkKKzoxMDBBNjAwMDdGMEIwMjExNUU3RjA3MDIzMUE5RTUzNTMwRTcwMzAyRjMKKzoxMDBBNzAwMDBGNzExMjFENzE2MDAzMDQ3MDA5RUZGRDdDMDA3RjBFODEKKzoxMDBBODAwMDAyMTE1RTdGMDcwMjMxQTlFNTM1MzBFNzU2MTIxRDc5NjQKKzoxMDBBOTAwMDcwNEE5MEZGMDJFMEY1NENFNTRDQjQ4MjA1NzU0QzYxNUMKKzoxMDBBQTAwMDgwMTJFNTRDQjQ4MzA1NzU0QzYyODAwOEU1NENDNDU0NTMKKzoxMDBBQjAwMEYwMDRGNTRDMTIxQzIyMTIxRTNCMTIyNUZBMTIxRDg5NUQKKzoxMDBBQzAwMDEyMUFCQjYwMDUxMjMyN0E4MDA2ODUzMzM5ODUzNDNBQjIKKzoxMDBBRDAwMDc1MzYwMTc1MzdGOTc1Mzg3NTAyMkNEOEU0RkQ3RjA1MzgKKzoxMDBBRTAwMDAyMkZCNDEyMUQ3OTYwMDU3RjA1MDIzMUE5MTIxRTQyNDIKKzoxMDBBRjAwMDQwMDU3RjAzMDIzMUE5OTBGRjAyRTBGNTRDRTU0Q0I0QkMKKzoxMDBCMDAwMDgyMDU3NTRDNjE4MDEyRTU0Q0I0ODMwNTc1NEM2MjgwOUEKKzoxMDBCMTAwMDA4RTU0Q0M0NTRGMDA0RjU0QzEyMUMyMjAyMzIyQzEyOEQKKzoxMDBCMjAwMDFFNEMxMjJBQzcxMjFEMzNFMDU0N0ZGMDAwMDAwMEUwNzMKKzoxMDBCMzAwMDkwRkFCQUYwNzg2ODEyMUJEODkwMDAwMjEyMUFCQjMwRjMKKzoxMDBCNDAwMEU3RjI5MDAwMDJFNDEyMUFGQTkwRkFCQUUwNDQ4MEZGNDkKKzoxMDBCNTAwMEYwNzg3Q0U2RkMwOEU2OEM4MzEyMUQzQkVGRjAxMjMyNDUKKzoxMDBCNjAwMDg0RTRGRjAyMzFBOTkwRkFCOUUwNjQwMTcwMUY5MEZBQTEKKzoxMDBCNzAwMEJERTBGRjdFMDA3MDA2QTNFMEY1OTA4MDJEQzJBRkVGRDAKKzoxMDBCODAwMEY0NTI5MDkwRkFCRUUwNDI5MEQyQUY4MDFEOTBGQUJEMzAKKzoxMDBCOTAwMEUwRkY3RTAwNzAwNkEzRTBGNUIwODAwRUMyQUZFRkY0NzgKKzoxMDBCQTAwMDUyQjA5MEZBQkVFMDQyQjBEMkFGRTRGRjAyMzFBOTEyRDcKKzoxMDBCQjAwMDFDRTA5MEZBQjlFMEI0MDEwQTEyMUNDMUU1OTAxMjFBQzcKKzoxMDBCQzAwMEU4ODAwODEyMUNDMUU1QjAxMjFBRTgwMjBGRjE5MEZBOTEKKzoxMDBCRDAwMEI5RTBGRjI0MTMxMjFDRjEyMEUxMzMxMjFEODBFRjI0MzEKKzoxMDBCRTAwMEZDNjAxODA0NzAyODkwRkFCQUUwNjAwOTkwRkZBNEUwNTUKKzoxMDBCRjAwMDQ0MTBGMDgwMTkxMjFFNTZGMDgwMTM5MEZBQkFFMDYwOEIKKzoxMDBDMDAwMDA5OTBGRkI0RTA0NDEwRjA4MDA0MTIxRTVERjBFNEZGOTAKKzoxMDBDMTAwMDAyMzFBOTkwRkFCOUUwRkYyNDEzMTIxQ0YxMjBFMTM5NDYKKzoxMDBDMjAwMDEyMUQ4MEVGMjRGQzYwMUIwNDcwMkU5MEZBQkFFMDYwNjUKKzoxMDBDMzAwMDA5OTBGRkE0RTA0NDIwRjA4MDFGOTBGRkE0RTA1NERGNUYKKzoxMDBDNDAwMEYwODAxNjkwRkFCQUUwNjAwOTkwRkZCNEUwNDQyMEYwMUEKKzoxMDBDNTAwMDgwMDc5MEZGQjRFMDU0REZGMEU0RkYwMjMxQTkxMjFERDkKKzoxMDBDNjAwMDgwMTIxRDcxNjA0RDA0NjAwMzAyMENFMzkwRkFCQUUwM0IKKzoxMDBDNzAwMDYwMEY5MEZGQTQxMjFDRUEzMEUxNkYxMjFFMkMwMjBDRDAKKzoxMDBDODAwMEUzOTBGRkE0RTA1NEZCMTIxQ0VERkUzMEUxNUMzMEUyODcKKzoxMDBDOTAwMDExMzBCNDA1MTIxRTJDODA1MTkwRkZBNEUwNTRGREYwRDkKKzoxMDBDQTAwMDgwNDgzMDk1MDUxMjFFMkM4MDQwOTBGRkE0RTA1NEZEMzIKKzoxMDBDQjAwMEYwODAzNzkwRkFCQUUwNjAxMjkwRkZCNDEyMUNFQTMwNkMKKzoxMDBDQzAwMEUxMjg5MEZGQjRFMDQ0MDJGMDgwMUY5MEZGQjRFMDU0QUMKKzoxMDBDRDAwMEZCMTIxQ0VEMzBFMTEzMzA5MzA5OTBGRkI0RTA0NDAyQTUKKzoxMDBDRTAwMEYwODAwNzkwRkZCNEUwNTRGREYwRTRGRjAyMzFBOTEyNTgKKzoxMDBDRjAwMDFEODA5MEZBQjlFMDI0RkM2MDQwMDQ3MDc4OTBGQUJBNDQKKzoxMDBEMDAwMEUwNjAxRDkwRkZBMkUwNDQ0MEYwQTNFMEZGMzBFNzY1MDMKKzoxMDBEMTAwMEQyMDNBM0UwNTRERkYwOTBGRkEzRUY1NDdGRjA4MDU1OUYKKzoxMDBEMjAwMDMwMDMwRTkwRkZBM0UwNDQ4MEYwQzIwM0EzRTA0NDIwMTAKKzoxMDBEMzAwMEYwOTBGRkEyRTA1NEJGRjA4MDNCOTBGQUJBRTA2MDFENTMKKzoxMDBENDAwMDkwRkZCMkUwNDQ0MEYwQTNFMEZGMzBFNzI4RDIwNEEzRDQKKzoxMDBENTAwMEUwNTRERkYwOTBGRkIzRUY1NDdGRjA4MDE4MzAwNDBFQzIKKzoxMDBENjAwMDkwRkZCM0UwNDQ4MEYwQzIwNEEzRTA0NDIwRjA5MEZGODEKKzoxMDBENzAwMEIyRTA1NEJGRjBFNEZGMDIzMUE5MTIxQ0UwOTBGQUI5Q0UKKzoxMDBEODAwMEUwMjRGQzYwMEYwNDcwMTY5MEZGQTZFMDEyMUNDMTEyNTQKKzoxMDBEOTAwMDFBRTg4MDBBOTBGRkI2RTAxMjFDQzExMjFBRTg3NTM5RjEKKzoxMDBEQTAwMDAwNzUzQTAxMDIyQ0Q4OTBGOTE1NzQwMUYwOTBGOTFDRTUKKzoxMDBEQjAwMDc0MTlGMDkwRjk2Njc0RkZGMEU0RkYwMjMxQTlFNEZGQzIKKzoxMDBEQzAwMDEyMzFBOTEyMURFNzdGMDMxMjEyNjE5MEY5MTZFMDMwNkIKKzoxMDBERDAwMEU0MDg5MEZGOTM3NDgwRjA4MDEwOTBGRkZDRTA1NDdGNTMKKzoxMDBERTAwMEYwN0ZGRjdFMDAxMjMwRDNDMjkwQzJBRjAwODBGREU0REUKKzoxMDBERjAwMEY1NEVGNTRGOTBGQUJGNzQzRUYwQTNFNEYwOTBGQUI3QzkKKzoxMDBFMDAwMEYwQTM3NDE1RjBFMDU0M0ZGRkMzNzQ0MDlGOTBGQUJDMDgKKzoxMDBFMTAwMEYwRDM5NDAwRTQ5NDNFNDAwODkwRkFDMEUwOTBGQUJDMEQKKzoxMDBFMjAwMEYwMTIwRjk4RTUzMTQ1MzA3MDczMTIxQ0ZBOTBGQUJGM0EKKzoxMDBFMzAwMDEyMUUwNjYwMjdEM0VGOTQ0MEVFOTQwMDQwMDg5MEZBMEIKKzoxMDBFNDAwMEJDNzQ0MEYwODAwODkwRkFDMEUwOTBGQUJDRjAxMjBGMzkKKzoxMDBFNTAwMDk4RTUzMTQ1MzA3MDQ2MTIxQ0ZBODBEMTc1NEMwMjkwRUQKKzoxMDBFNjAwMEZBQkZFNEYwQTMwNEYwOTBGQUI3RTRGMEEzNzQwRkYwMzMKKzoxMDBFNzAwMDdCMDA3QTAwNzk0QzkwRkFDMEUwRjU0QTdEMEY3QzAwNDcKKzoxMDBFODAwMDEyMjk2MDc1MzAwMDhGMzE3QjAwN0EwMDc5NENFNEY1Q0YKKzoxMDBFOTAwMDJERjUyRTdEMDExMjI2OThFNEY1MzBGNTMxQUYzMTAyQTMKKzoxMDBFQTAwMDMxQTkxMjFEODAzMEU3MTBFMDU0MEY5MEY5NjdGMEQzOUMKKzoxMDBFQjAwMDk0MDA0MDE1QzI5NTgwMTE5MEZBQkFFMDU0MEY5MEY5NTEKKzoxMDBFQzAwMDY1RjBEMzk0MDA0MDAyQzI5NEU0RkYwMjMxQTkxMjFFREYKKzoxMDBFRDAwMDRDQkYwMTA0RDI5MzgwMDJDMjkzRTRGRjAyMzFBOTEyRjUKKzoxMDBFRTAwMDFEODA1NDAzMTQ2MDBBMTQ2MDBGMTQ2MDA4MjQwMzcwRkEKKzoxMDBFRjAwMDJCRDI5MTgwMjdDMjkxODAyMzEyMUU1NjEyMEZDMDYwMDAKKzoxMDBGMDAwMDA0RDI5MTgwMTc5MEZGQTRFMDQ0MTAxMjBGQzBGRkJGREQKKzoxMDBGMTAwMEEwMDRDMjkxODAwMkQyOTExMjFFNTZGMDkwRkFCQUUwNUIKKzoxMDBGMjAwMDU0MENGRjEzMTM1NDNGMTQ2MDBBMTQ2MDBGMTQ2MDA4MkMKKzoxMDBGMzAwMDI0MDM3MDJCRDI5MjgwMjdDMjkyODAyMzEyMUU1RDEyNEUKKzoxMDBGNDAwMDBGRTA2MDA0RDI5MjgwMTc5MEZGQjRFMDQ0MTAxMjBGQkIKKzoxMDBGNTAwMEUwRkZCRkEwMDRDMjkyODAwMkQyOTIxMjFFNURGMEU0QjQKKzoxMDBGNjAwMEZGMDIzMUE5RTUzNTMwRTcwN0U0RkQ3RjA1MDIyRkI0MjQKKzoxMDBGNzAwMDdGMDUwMjMxQTkxMjMyN0EyMjdCMDE3QUZBNzlCNjkwODIKKzoxMDBGODAwMEZBQjdFMEY1MkRBM0UwRjUyRTdEMDExMjI2OTg5MEZBMzAKKzoxMDBGOTAwMEI3RTQ3NUYwMDMxMjFCMUNBQjM2QUEzN0E5MzgyMkFBOTYKKzoxMDBGQTAwMDRFQTk0RjdCRkY5MEZBQjdFMEZDQTNFMEZEOTBGQUJDOUUKKzoxMDBGQjAwMEUwRjU0QTEyMjk2MDc1MzAwMDhGMzEyMjEyMjM2MTdFREMKKzoxMDBGQzAwMDAwOEUzMDhGMzFFRjIyRjA3RjAxMTIxMjYxOTBGRkE2NjgKKzoxMDBGRDAwMEUwOTBGQUJCRjA1NEEwMjIxMjI2OTg4RjRDN0UwMEMzRkEKKzoxMDBGRTAwMEVGOTUzQ0VFOTUzQjIyRjA3RjAxMTIxMjYxOTBGRkI2MjcKKzoxMDBGRjAwMEUwOTBGQUJCRjA1NEEwMjI3NTM5MDA3NTNBMDEwMjJDM0EKKzoxMDEwMDAwMEQ4OTBGQUI5RTBGRjAyMzIzRjhFMzk4RjNBMDIyQ0Q4REQKKzoxMDEwMTAwMDEyMjM2MTdFMDA4RTMwOEYzMUVGMjI3RDAxMTIyNjk4REYKKzoxMDEwMjAwMDkwRkFCNEUwMjJFRjkwRjgwNEYwMjJDMEE4QzJBRkVFMkMKKzoxMDEwMzAwMDYwMEFDMDA1N0Q3RkRERkVERUZBRDAwNUVGQzM5NDE1QTIKKzoxMDEwNDAwMDUwMDNEMEE4MjIxMzcwMDNEMEE4MjJGRkQ1MDdGREQwRUIKKzoxMDEwNTAwMEE4MjJDMDAwQzAwMUMwMDJDMDA0QzAwNUU1M0UyNDA4QUIKKzoxMDEwNjAwMEY4ODYwNTUzMDU3RjdDRkYxMjEwQzA3RjAwN0UwMEU1RTcKKzoxMDEwNzAwMDQzNjA0NkZDOTBGOTFERTA1NDdGNkQ3MDBGQzA4M0MwNDMKKzoxMDEwODAwMDgyQTNFMEZFQTNFMEZGQTMxNTQzODAwN0EzQTNBM0RDOTQKKzoxMDEwOTAwMEU2ODAyNkRDMDZEMDgyRDA4MzgwMUVFMEY4QTNFMEY5NEIKKzoxMDEwQTAwMEEzRTBGQUQwODJEMDgzRThGMEEzRTlGMEEzRUFGMEEzQUEKKzoxMDEwQjAwMEMwODNDMDgyQTNBM0EzODBEQTEyMTE1N0QwMDVEMDA0NDUKKzoxMDEwQzAwMEQwMDJEMDAxRDAwMDIyODVBODQ0NzVBODg4RUM3MDAyMTcKKzoxMDEwRDAwMDdDM0Y4QzNEMjJFNTNFMjQwOEY4NzYwMDEyMTFBRTgwNUMKKzoxMDEwRTAwMEZCQzAwMEMwMDFDMDAyQzAwNEMwMDY3Q0ZGMTIxMEMwREIKKzoxMDEwRjAwMEU1NDM2MDQyRkU5MEY5MURFMDU0N0Y2RjcwMEJDMDgzQTIKKzoxMDExMDAwMEMwODJBM0EzQTMxNTQzODAwN0EzQTNBM0RFRUE4MDI2N0UKKzoxMDExMTAwMERFMDZEMDgyRDA4MzgwRDhFMEY4QTNFMEY5QTNFMEZBMUQKKzoxMDExMjAwMEQwODJEMDgzRThGMEEzRTlGMEEzRUFGMEEzQzA4M0MwQTMKKzoxMDExMzAwMDgyQTNBM0EzODBEQTc4MDgwODc5MTgwOTdDMDFFNjU0MTEKKzoxMDExNDAwMDdGNkY3MDA2NzYwMDc3MDA4MDA2MDgwOTBDQkMwOEVFRjkKKzoxMDExNTAwMDEyMTE1N0QwMDZEMDA0RDAwMkQwMDFEMDAwMjI3NTNEMjQKKzoxMDExNjAwMDAwODU0NEE4MjJDMEYwQzA4MkMwODNDM0U1NDMyNEU4QzAKKzoxMDExNzAwMDUwMDUxMjExQUU4MEY0RUY2MDMxOTAzMTExRTQ5M0MzNDkKKzoxMDExODAwMDlGNDAyRkMwMDQ3Q0ZGMTIxMEMwRDAwNDQzMDc4MEU1QUQKKzoxMDExOTAwMDQzNzVGMDAzQTQyNDFERjU4MkU0MzRGOUY1ODNFRkYwRTAKKzoxMDExQTAwMEVDQTNGMEVEQTNGMDA1NDMxMjExNTdEMDgzRDA4MkQwMDkKKzoxMDExQjAwMEYwMjIwMjExRENDMDA0N0MyMEQyOENEMjhERDUwNEZEM0IKKzoxMDExQzAwMEQwMDQyMjc1QTgwMDc1ODgwMDc1QjgwMDc1RjAwMDc1MDgKKzoxMDExRDAwMEQwMDBFNEY4OTBGODA0RjA5MDAwMDBGNjA4QjgwMEZCQTYKKzoxMDExRTAwMDAyMDAwMEMyQUZFNDkwRkY0OEYwOTBGRjUwRjA5MEZGODMKKzoxMDExRjAwMDA4RjA5MEZGMTBGMDkwRkY4MEYwQTNBM0YwRDJCMUMyRUUKKzoxMDEyMDAwMEIwN0VGRjdGRkYxMjEwMjQ3RUZGN0ZGRjEyMTAyNDdFMkUKKzoxMDEyMTAwMEZGN0ZGRjEyMTAyNEQyQjBEMkIxN0VGRjdGRkYxMjEwRTkKKzoxMDEyMjAwMDI0N0VGRjdGRkYxMjEwMjQ3RUZGN0ZGRjEyMTAyNDgwOTgKKzoxMDEyMzAwMENDQzNFRTk0MDI1MDA0N0UwMzdGRThFRkY0RkZFRUY0OUIKKzoxMDEyNDAwMEZFMEZCRjAwMDEwRThGNDI4RTQxMjJDM0VGOTRCQ0VFMTEKKzoxMDEyNTAwMDk0MDI1MDA0N0UwNzdGRDBFRkY0RkZFRUY0RkUwRkJGNDAKKzoxMDEyNjAwMDAwMDEwRThGNDA4RTNGMjJFRjcwMDEyMkMwMDBDMEE4MDcKKzoxMDEyNzAwMEMyQUZFNTNFMjQxOEY4QTYwN0U1M0UyNDA4RjhDNjU0OTgKKzoxMDEyODAwMDdGRjZEMEE4RTYzMEU3MDNEMDAwMjIxMjExQUU4MEY0M0EKKzoxMDEyOTAwMEMwMDA3RjAxRUYyNDA4RjhFNjYwMDkwRkJGMDhGNTEyQ0YKKzoxMDEyQTAwMDExQUU4MEVFRDAwMDIyQzBGMEMwODJDMDgzQzAwMEMwNkEKKzoxMDEyQjAwMDA2QzAwNEVEMjQxMEY4NzY5QUVENzVGMDIxQTQyNDA1RkIKKzoxMDEyQzAwMEY1ODJFNDM0RjhGNTgzQzA4MkMwODNBM0EzRTQ3ODBERUIKKzoxMDEyRDAwMEYwQTNEOEZDRUY1NDdGNzVGMDAyQTQyNEYzRjU4MkU1NjcKKzoxMDEyRTAwMEYwMzQzMEY1ODNFNDkzRkU3NDAxOTNGQ0QwODNEMDgyMTQKKzoxMDEyRjAwMEVDRjBBM0VFRjBFRDI0MDhGOEVGNDQ4MEY2RDAwNEQwMzMKKzoxMDEzMDAwMDA2RDAwMEQwODNEMDgyRDBGMDIyNzUzRTAwNzU0MzAwMTUKKzoxMDEzMTAwMDdBMDg3OTE4NzgwODc2MDA3NzAwMDgwOURBRjg5MEY4RTIKKzoxMDEzMjAwMDA0RTBGQzkwMzExMUU0OTNDMzlDNTAwNUU0OTBGODA0NzAKKzoxMDEzMzAwMEYwNzgwODc0ODA0NDdGRjY3NDAxNDQxMEY1ODk3NUI4MUMKKzoxMDEzNDAwMDAwRDJBQkQyQTkyMjc1ODE4QkQyOEVEMjhDRDJBRkU1REUKKzoxMDEzNTAwMDQzNjAzNkZGOTBGOTFERTA1NDgwNjAyODc4MDg3OTA4RDIKKzoxMDEzNjAwMEUwNTQ3RkZBN0IwMEU2NTQ3RkI1MDIwMjdCRkYwOEQ5ODgKKzoxMDEzNzAwMEY1RUI3MDEwRUFGMEMwMDcxMjEyODlBRDA3QUYwMjEyNDgKKzoxMDEzODAwMDEyQTBEMDA3QTNBM0EzREZDRTEyMTFBRTgwQzE4RjI0NzkKKzoxMDEzOTAwMDEyMkFDNzEyMjJCNUEzQTNFMEEzMzBFNzI4Nzg3RTEyNTEKKzoxMDEzQTAwMDIyOTlFMDQ0MDFGMDEyMjJGQTEyMjI5REUwMjBFMEY2OTgKKzoxMDEzQjAwMDEyMjM1MDc0MDJGMDEyMjJEQUUwQTMzMEU1MDcxMjIzNjAKKzoxMDEzQzAwMDUwRTA0NDAxRjA3ODgwRTZGRTA4RTZGRjhFODMyNDA4QjIKKzoxMDEzRDAwMDEyMjJBMUUwRkQxMjIzMzk4QTgzMjQwQTEyMjJBMUVERjAKKzoxMDEzRTAwMEYwMTIyMzA2MjQwNzEyMjJBMUUwRkYxMjIzNUEyNDA5MzcKKzoxMDEzRjAwMDEyMjJBMUVGRjA5MEY5MTZFMDMwRTQyMDA4MTIyMkI3OTMKKzoxMDE0MDAwMEMwODNDMDgyQTNFMDI1RTBGRjA1ODJENTgyMDIxNTgzNTgKKzoxMDE0MTAwMDE1ODJFMDMzRDA4MkQwODNGMEEzRUZGMDEyMjJCNUUwNDIKKzoxMDE0MjAwMEZDQTNFMEZERUNGRjEyMjMzOThBODMyNDA4MTIyMkExRDkKKzoxMDE0MzAwMEVGRjBFRDEyMjM1QTI0MDcxMjIyQTFFREYwMTIyMkE5OTcKKzoxMDE0NDAwMEUwMzBFNjBBMTIyMzQxMjQwOTEyMjJBMUU0RjAxMjIyMUMKKzoxMDE0NTAwMEE5RTBGRjMwRTcxQjEyMjMxRTI0MDkxMjIyQTFFMDYwM0QKKzoxMDE0NjAwMDA5MTIyMkE5RUY0NDAyRjA4MDA3MTIyMkE5RUY1NEZEQ0QKKzoxMDE0NzAwMEYwNzg3RTEyMjJCN0EzQTNFMEZGNTMwN0M3MDhFNkZDNkIKKzoxMDE0ODAwMDA4RTZGRDEyMjJFMEEzRTAzMEUzMTI4RDgyOEM4M0U1QjIKKzoxMDE0OTAwMDgyMjQwNTEyMjJBMUUwOTAzMjUxOTM0MjA3NTMwN0ZCQTgKKzoxMDE0QTAwMDEyMjMxRTI0MDYxMjIyQTFFMDYwMDM0MzA3MDQ1MzA3RkYKKzoxMDE0QjAwMEZDNzg4MDEyMjMyOTI0MDQxMjIyQTFFMDQyMDc0MzA3NkEKKzoxMDE0QzAwMDgwMTIyMzM5RjU4MjhBODNBM0EzRUZGMDEyMjM1QTI0RDIKKzoxMDE0RDAwMDA0MTIyMkExRTBGRjhEODI4QzgzQTNBM0UwRkNBM0UwOTEKKzoxMDE0RTAwMEZEMzBFMTA1NTMwN0RGODAwMzQzMDcyMEVDMzBFNDA1QkUKKzoxMDE0RjAwMDUzMDdFRjgwMDM0MzA3MTAxMjIyQTlFMEZFNTQwMzYwNTQKKzoxMDE1MDAwMDczNTMwN0RGRUUzMEUxNjkxMjIzMUUyNDA5MTIyMkExNzIKKzoxMDE1MTAwMEUwMTIxQkZDMTUyQzAwMTU2MDAxMTU2NTAzMTU2MDA1MTQKKzoxMDE1MjAwMDE1NjUwNzE1NjAwOTE1NjUwQjE1NjAwRDE1NjUwRjAwMkMKKzoxMDE1MzAwMDAwMTU2REU1MjQ2NDAzNzAyMTkwRjkxNkUwMzBFMjBEOEEKKzoxMDE1NDAwMDMwQjQwNTQzMDcwMjgwMkM1MzA3RkQ4MDI3MzA5NTA1RjIKKzoxMDE1NTAwMDQzMDcwMjgwMUY1MzA3RkQ4MDFBMzA5MzA1NDMwNzAyOUIKKzoxMDE1NjAwMDgwMTI1MzA3RkQ4MDBENDMwNzAyODAwODUzMDdGRDgwNUEKKzoxMDE1NzAwMDAzNTMwN0ZEMTIyMzI3MjQwNDEyMjJBMUVGRjA4RDgyQ0EKKzoxMDE1ODAwMDhDODNBM0EzQTNFMEZGMTIyMkE5RTBGRTU0MDM3MDAzRkYKKzoxMDE1OTAwMDAyMTY2MEVFMjBFMTAzMDIxNjVEMDgxMjIzMjAyNDA5RTIKKzoxMDE1QTAwMDEyMjJBMUUwMTIxQkZDMTVCRjAwMTVGNTAxMTVGNTAzNzEKKzoxMDE1QjAwMDE2MjkwNTE2MjkwNzE2MEYwOTE2MEYwQjE2NDMwRDE2QzcKKzoxMDE1QzAwMDQzMEYwMDAwMTY2MEU1MjQ2NDAzNzAyMzkwRjkxNkUwRDEKKzoxMDE1RDAwMDMwRTIwRjMwQjEwNjUzMDc3RjAyMTY2MDQzMDc4MDAyRTYKKzoxMDE1RTAwMDE2NjAzMDk0MDU1MzA3N0Y4MDdENDMwNzgwODA3ODMwRjQKKzoxMDE1RjAwMDkyMDU1MzA3N0Y4MDcwNDMwNzgwODA2QkU1MjRCNDAzMTYKKzoxMDE2MDAwMDA5OTBGRjlFRTA1NEVGRjA4MDA3OTBGRjlFRTA1NERGQ0EKKzoxMDE2MTAwMEYwNTMwNzdGODA1MUU1MjRCNDAzMDk5MEZGOUVFMDQ0MTYKKzoxMDE2MjAwMDEwRjA4MDA3OTBGRjlFRTA0NDIwRjA1MzA3N0Y4MDM3NDIKKzoxMDE2MzAwMEU1MjRCNDAzMDk5MEZGOUVFMDU0RUZGMDgwMDc5MEZGOEIKKzoxMDE2NDAwMDlFRTA1NERGRjA0MzA3ODA4MDFERTUyNEI0MDMwOTkwMzkKKzoxMDE2NTAwMEZGOUVFMDQ0MTBGMDgwMDc5MEZGOUVFMDQ0MjBGMDQzOUUKKzoxMDE2NjAwMDA3ODA4MDAzNTMwNzdGMTIyMkRBRTBGQ0EzRTBGRDMwRkQKKzoxMDE2NzAwMEUwMDU0MzA3MjA4MDAzNTMwN0RGRUMzMEUzMDU0MzA3MTEKKzoxMDE2ODAwMDQwODAwMzUzMDdCRkVDMzBFMDA1NDMwNzEwODAwMzUzNEQKKzoxMDE2OTAwMDA3RUZFRDMwRTQwNTQzMDcwODgwMDM1MzA3RjdFRDMwMEIKKzoxMDE2QTAwMEU1MDU0MzA3MDQ4MDAzNTMwN0ZCRUQzMEU2MDU0MzA3RDgKKzoxMDE2QjAwMDAxODAwMzUzMDdGRUVEMzBFNzA1NDMwNzAyODAwMzUzMjMKKzoxMDE2QzAwMDA3RkQ3ODdFMTIyMkRDQTNFRkYwMTIzMjg0N0YwMDIyMjUKKzoxMDE2RDAwMDkwRkZGQTc0MDhGMEEzNzQxNkYwOTBGRkY5NzQwMkYwMEEKKzoxMDE2RTAwMDdCMDE3QUZBNzlDRkU0RkQxMjIzNjE5MEZBQ0ZFNDc1OTkKKzoxMDE2RjAwMEYwMDMxMjFCMUMxMjE5OTJFNTIzMzBFNzAyRDIwMjdCODEKKzoxMDE3MDAwMDAwN0EwMDc5MjQ5MEZBQ0ZFMEY1MkRBM0UwRjUyRTdENDQKKzoxMDE3MTAwMDAxMTIyNjk4OTBGQUNGRTRGMEEzNzQwQkYwN0IwMDdBQzQKKzoxMDE3MjAwMDAwNzkyMzc1MkQwMEY1MkU3RDAxMTIyNjk4RTUyMzI0REUKKzoxMDE3MzAwMDgwOTBGRkY4RjBFNTIzNjQwNzYwMUVFNTIzNjQwNjYwRUYKKzoxMDE3NDAwMDE4RTUyMzY0MTQ2MDEyRTUyMzY0NDE2MDBDRTUyMzY0MEEKKzoxMDE3NTAwMDFBNzA0NkU1MjQ2NDAyNzA0MEU1MjNCNDA3MTZEMjk0NUIKKzoxMDE3NjAwMEQyOTVEMjkyRDI5MzkwRjkxNkUwNDQwMkYwQTNFMDQ0Q0QKKzoxMDE3NzAwMDAyRjA4MDFFRTUyM0I0NDExMjkwRjkxNkUwNDQwNkYwMTEKKzoxMDE3ODAwMEEzRTA0NDA2RjBEMkIxRDJCNDgwMDc5MEY5MTZFMDQ0NDkKKzoxMDE3OTAwMDAxRjA5MEY5MTdFMDQ0MDFGMEU1MjM2NDQyNjAwQ0U1QTQKKzoxMDE3QTAwMDIzNjQ0MzYwMDZFNTIzNjQ0NDcwMkU5MEY5MTZFMEZGM0QKKzoxMDE3QjAwMEU1MjNCNDQ0MDQ3RTQwODAwMjdFMDBFRTI0ODA0RjkwRjYKKzoxMDE3QzAwMEY5MTZGMEEzRTBGRkU1MjNCNDQ0MDQ3RTQwODAwMjdFRDYKKzoxMDE3RDAwMDAwRUUyNDgwNEY5MEY5MTdGMDkwRkFDRkU0RjBBMzc0NTQKKzoxMDE3RTAwMDBERjAxMjE5OTI5MEZGRjVFNTIzRjBFNEY1MzVGNTMzOEQKKzoxMDE3RjAwMEY1MzRGNTMyMTIxRTM0MTIxQ0UwMTIxRTNCOTBGOTZBQzkKKzoxMDE4MDAwMDEyMUJGMzkwRjk2RjEyMUJGMzkwRkZGRkU0RjA5MEZGQUYKKzoxMDE4MTAwMDgzRTBFNEYwOTBGRjgxNzQ4MEYwQTM3NDg0RjA5MEZGODMKKzoxMDE4MjAwMDgwRjBFNEY1MjNFNTIzMTIxRDU3RjU4M0U0RjBFNTIzNkEKKzoxMDE4MzAwMDEyMUQ2NUY1ODNFNEYwMDUyM0U1MjNCNDA3RTc3ODdBMDQKKzoxMDE4NDAwMDc2RkUwODc2RjA5MDMyMEFFNDkzRkY3ODc4RjZGREFERTQKKzoxMDE4NTAwMDA3OTAzMjE3RTQ5M0ZGMDhGNkZGRUQ1NDBGRkQxMjFEQjkKKzoxMDE4NjAwMDQ3NzQ4NEYwRUQ3NUYwMDhBNDI0NDdGNTgyRTQzNEZGNTIKKzoxMDE4NzAwMEY1ODNFRkYwQzM3NEYwOUY3ODdCRjY3NEZFOTQwMDE4NDQKKzoxMDE4ODAwMDEyMUNEOENFQzMxM0NFMTNEOEY5RkZFRDEyMURBOEVGNEEKKzoxMDE4OTAwMEYwRUQxMjFEQ0VFNEY1MjNFNTIzOTAzMjA0OTNGRjc4OUEKKzoxMDE4QTAwMDc4RjZGREU1MjMyNUUwMjQwQkY1ODJFNDM0MzJGNTgzNTgKKzoxMDE4QjAwMEU0OTMwOEY2RUQzMEU3NTMxOEU2NTQwRkY5MTIxRDQ3OEMKKzoxMDE4QzAwMDEyMURCNjI0NDdGNTgyRTQzNEZGMTIxQ0M4Q0VDMzEzQTAKKzoxMDE4RDAwMENFMTNEOEY5RkZFOTEyMURBOEVGRjAxMjFDQ0ZDRUMzMkEKKzoxMDE4RTAwMDEzQ0UxM0Q4RjkxMjFEQkIyNDQ1RjU4MkU0MzRGRkY1NUQKKzoxMDE4RjAwMDgzRUZGMEU5MTIxRENFRTk3NUYwMDhBNDI0NDZGNTgyQzUKKzoxMDE5MDAwMEU0MzRGRkY1ODM3NDgwRjAwMjE5Njc3ODc4RTY1NDBGQTkKKzoxMDE5MTAwMEY5MTIxRDlBMTIxREI2MjQwN0Y1ODJFNDM0RkYxMjFDMzkKKzoxMDE5MjAwMEM4Q0VDMzEzQ0UxM0Q4RjkxMjFEQkIyNDAxRjU4MkU0MkYKKzoxMDE5MzAwMDM0RkZGNTgzRUZGMDEyMUNDRkNFQzMxM0NFMTNEOEY5Q0EKKzoxMDE5NDAwMDEyMURCQjI0MDVGNTgyRTQzNEZGRjU4M0VGRjBFOTc1NDEKKzoxMDE5NTAwMEYwMDhBNDI0MDJGNTgyRTQzNEZGRjU4M0U0RjBFOTc1OEQKKzoxMDE5NjAwMEYwMDhBNDI0MDZGNTgyRTQzNEZGRjU4M0U0RjAwNTIzQUYKKzoxMDE5NzAwMEU1MjM2NDA0NjAwMzAyMTg5MTkwMzIwOUU0OTNGRjc4MzAKKzoxMDE5ODAwMDc4RjYxMjFEOThFNEYwOTAzMjA4OTNGRkY2MTIxRDQ1ODgKKzoxMDE5OTAwMEU0RjA5MEZGRkQ3NDA1RjAyMjdCMDA3QTAwNzkyMzkwM0IKKzoxMDE5QTAwMEZBQ0ZFNDc1RjAwMTEyMUIzMjg1RjAyRUY1MkQ3RDAxODIKKzoxMDE5QjAwMDAyMjY5OEU3MDlGNjA4REZGQTgwNDZFNzA5RjIwOERGMTEKKzoxMDE5QzAwMEZBODAzRTg4ODI4QzgzRTcwOUYwQTNERkZBODAzMkUzNTUKKzoxMDE5RDAwMDA5RjYwOERGRkE4MDc4RTMwOUYyMDhERkZBODA3MDg4RjgKKzoxMDE5RTAwMDgyOEM4M0UzMDlGMEEzREZGQTgwNjQ4OTgyOEE4M0UwMzIKKzoxMDE5RjAwMEEzRjYwOERGRkE4MDU4ODk4MjhBODNFMEEzRjIwOERGMjEKKzoxMDFBMDAwMEZBODA0QzgwRDI4MEZBODBDNjgwRDQ4MDY5ODBGMjgwQ0YKKzoxMDFBMTAwMDMzODAxMDgwQTY4MEVBODA5QTgwQTg4MERBODBFMjgwRjUKKzoxMDFBMjAwMENBODAzMzg5ODI4QTgzRUNGQUU0OTNBM0M4QzU4MkM4NEEKKzoxMDFBMzAwMENDQzU4M0NDRjBBM0M4QzU4MkM4Q0NDNTgzQ0NERkU5QjQKKzoxMDFBNDAwMERFRTc4MDBEODk4MjhBODNFNDkzQTNGNjA4REZGOUVDNTAKKzoxMDFBNTAwMEZBQTlGMEVERkIyMjg5ODI4QTgzRUNGQUUwQTNDOEM1REIKKzoxMDFBNjAwMDgyQzhDQ0M1ODNDQ0YwQTNDOEM1ODJDOENDQzU4M0NDMDIKKzoxMDFBNzAwMERGRUFERUU4ODBEQjg5ODI4QTgzRTQ5M0EzRjIwOERGNzEKKzoxMDFBODAwMEY5ODBDQzg4RjBFRjYwMDEwRTRFNjBDMzg4RjBFRDI0NDEKKzoxMDFBOTAwMDAyQjQwNDAwNTBCOUY1ODJFQjI0MDJCNDA0MDA1MEFGNDQKKzoxMDFBQTAwMDIzMjM0NTgyMjM5MDE5RkM3M0JCMDEwNjg5ODI4QTgzMTQKKzoxMDFBQjAwMEUwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0MEQKKzoxMDFBQzAwMDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwOTgKKzoxMDFBRDAwMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4QjcKKzoxMDFBRTAwMEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCN0QKKzoxMDFBRjAwMDAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzOUQKKzoxMDFCMDAwMDIyRjhCQjAxMERFNTgyMjlGNTgyRTU4MzNBRjU4M0U4RTkKKzoxMDFCMTAwMEYwMjI1MDA2RTkyNTgyQzhGNjIyQkJGRTA1RTkyNTgyOUYKKzoxMDFCMjAwMEM4RjIyMkM1RjBGOEEzRTAyOEYwQzVGMEY4RTU4MjE1NjgKKzoxMDFCMzAwMDgyNzAwMjE1ODNFMDM4RjAyMkEzRjhFMEM1RjAyNUYwQUEKKzoxMDFCNDAwMEYwRTU4MjE1ODI3MDAyMTU4M0UwQzgzOEYwRTgyMkJCMDgKKzoxMDFCNTAwMDAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMEEzRUIKKzoxMDFCNjAwMEUwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRTBBNDkKKzoxMDFCNzAwMEU5MjU4MkY4RTJGNUYwMDhFMjIyRTU4MzJBRjU4M0U5MTcKKzoxMDFCODAwMDkzRjVGMEEzRTk5MzIyQkIwMTBBODk4MjhBODNGMEU1RTkKKzoxMDFCOTAwMEYwQTNGMDIyNTAwNkY3MDlBN0YwMTkyMkJCRkUwNkYzQzYKKzoxMDFCQTAwMEU1RjAwOUYzMTkyMkY4QkIwMTExRTU4MjI5RjU4MkU1NzgKKzoxMDFCQjAwMDgzM0FGNTgzRThGMEU1RjBBM0YwMjI1MDA5RTkyNTgyQTUKKzoxMDFCQzAwMEM4RjYwOEE2RjAyMkJCRkUwOUU5MjU4MkM4RjJFNUYwQjYKKzoxMDFCRDAwMDA4RjIyMkE0MjU4MkY1ODJFNUYwMzU4M0Y1ODMyMkU2MUEKKzoxMDFCRTAwMEZCMDhFNkZBMDhFNkY5MjJFQkY2MDhFQUY2MDhFOUY2NTkKKzoxMDFCRjAwMDIyRTBGQkEzRTBGQUEzRTBGOTIyRUJGMEEzRUFGMEEzRDIKKzoxMDFDMDAwMEU5RjAyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwQ0IKKzoxMDFDMTAwMDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOEYKKzoxMDFDMjAwMDkzNjg2MEVGQTNBM0EzODBERkFCMzZBQTM3QTkzOEU1OUEKKzoxMDFDMzAwMDRDMTIxQUU4NzQwMTI1MzhGNTM4RTQzNTM3RjUzN0FCMUUKKzoxMDFDNDAwMDM2RkFBOTM4NzQxMTEyMUFFODc0MDEyNTM4RjUzOEU0MDcKKzoxMDFDNTAwMDM1MzdGNTM3OTBGRjA2RTBBQjM2QUEzN0E5MzgxMjFBQTgKKzoxMDFDNjAwMEU4NzQwMTI1MzhGNTM4RTQzNTM3RjUzN0FCMzZGQUE5OEQKKzoxMDFDNzAwMDM4RTQxMjFBRTgwNDI1MzhGNTM4RTQzNTM3RjUzN0FCN0YKKzoxMDFDODAwMDM2RkFBOTM4RTQxMjFBRTgwNDI1MzhGNTM4RTQzNTM3NkQKKzoxMDFDOTAwMEY1Mzc5MEZGMDRFMEFCMzZBQTM3QTkzODEyMUFFODc0N0EKKzoxMDFDQTAwMDAxMjUzOEY1MzhFNDM1MzdGNTM3OTBGRjA1RTBBQjM2RDgKKzoxMDFDQjAwMEFBMzdBOTM4MTIxQUU4NzQwMTI1MzhGNTM4RTQzNTM3RkYKKzoxMDFDQzAwMEY1MzcyMkY1ODNFMDU0MDhBQjM2QUEzN0E5MzgyMkY1NTgKKzoxMDFDRDAwMDgzRUZGMEZEN0MwMEMzNzg3QkU2OURGNjE4RTY5Q0Y2NkEKKzoxMDFDRTAwMEU2RkUwOEU2NzgwMzIyNzUzNjAxNzUzN0Y5NzUzODcyMTUKKzoxMDFDRjAwMDIyRTA0NDA0RjA3NDEzMkZGNTgyRTQzNEY5RjU4M0UwMTQKKzoxMDFEMDAwMDIyOTBGQUJDRTBGRjdFMDBDMzkwRkFDMEUwOUZGMDkwMDIKKzoxMDFEMTAwMEZBQkZFMDlFRjA5MEZBQjdFRThGRjAxMjFCMUNFRjI1OTEKKzoxMDFEMjAwMDRGRjU0RkVFMzU0RUY1NEUyMjdCMDE3QUZBNzlCNDkwOUQKKzoxMDFEMzAwMEZBQjdFMEY1MkRBM0UwRjUyRTIyNzg3Q0U2RkUwOEU2NjIKKzoxMDFENDAwMDhFODMyNDA0RjU4MkU0MzU4M0Y1ODMyMjU0MEY3NUYwRTUKKzoxMDFENTAwMDA4QTQyNDQwRjU4MkU0MzRGRkY1ODMyMkU1NEQ3NUYwQjQKKzoxMDFENjAwMDA4QTQyNDQ4RjU4MkU0MzRGRjIyRTU0RDc1RjAwOEE0NjgKKzoxMDFENzAwMDI0MDhGNTgyRTQzNEZGMjI5MEZBQjlFMEZGMjRGQzIyMjMKKzoxMDFEODAwMDkwRkYwMEUwNTQxRjIyOTBGQUJFRTA5MEZBQkFGMDIyRDEKKzoxMDFEOTAwMDc1MzMwMDhGMzQ5MEY5NkYxMjFCRUE5MDAwMDIyMjU0QzEKKzoxMDFEQTAwMDBGNzVGMDA4QTQyNDAwRjU4MkU0MzRGRkY1ODMyMjc1NTIKKzoxMDFEQjAwMEYwMDhBNDI0NDFGNTgyRTQzNEZGRjU4MzIyNzQ4MEYwMTYKKzoxMDFEQzAwMDA4RTZGRkU5NzVGMDA4QTQyMjc0QjIyNTIyRjU4MkU0NDIKKzoxMDFERDAwMDM0RkFGNTgzMjI3NUYwMDhBNDI0NDJGNTgyRTQzNEZGMzYKKzoxMDFERTAwMEY1ODM3NDgwRjAyMjkwRkY4MkUwNDQwOEYwMjI5MEZGOTcKKzoxMDFERjAwMEZFRTA0NDAzRjA5MEZGRkNFMDU0RkRGMDIyNzg2N0U2M0IKKzoxMDFFMDAwMDU0RkRGNjkwRkZGRDc0NjVGMDIyMTIxQkNDRTBGRUEzOUEKKzoxMDFFMTAwMEUwRkY0RTIyN0IwMTdBRkE3OUI3MjI5MEZGODBFMDQ0RkUKKzoxMDFFMjAwMDA4RjAyMjkwRkY4M0UwNTQ3RkYwMjJFMEZGOTBGOTZBRUYKKzoxMDFFMzAwMDAyMUJFQTkwRkZBNEUwNDQwMkYwMjI3NTM5MDE3NTNBRDIKKzoxMDFFNDAwMDA5MjI3QjAxN0FGOTc5NzIyMkQzRTUzQzk0MDhFNTNCQkIKKzoxMDFFNTAwMDk0MDEyMjkwRkFCRUUwRkY5MEZBQkFGMDIyOTBGRkE0MUIKKzoxMDFFNjAwMEUwNTRFRjIyOTBGRkI0RTA1NEVGMjIxMjEwNEI3ODg4MzgKKzoxMDFFNzAwMEVGRjYxMjJBQzcxMjIyRkE4RTgzMjQwOTEyMjJBMUUwNTkKKzoxMDFFODAwMEZEMTIyMkU4OTAwMDBBMTIyMzAyMjQwQTEyMjJBMUUwODUKKzoxMDFFOTAwMDkwMDAwQjEyMUFGQTEyMjJGQUY1ODI4RTgzQTNBM0EzRTIKKzoxMDFFQTAwMEUwRjU1MzEyMjMwNjI0MDQxMjIyQTFFMEY1NTQ4RjgyOTgKKzoxMDFFQjAwMDhFODNBM0EzRTBGNTU1RTU1M0M0MTMxMzEzNTQwMTc4OUYKKzoxMDFFQzAwMDg4RjZEMzk0MDA0MDA2RTU1NDMwRTEwMTA2Nzg4OEU2QjAKKzoxMDFFRDAwMDEyMjJFNzkwMDAwQ0VGMTIxQUZBMTIyMkI1QTNBM0UwMjcKKzoxMDFFRTAwMEZFQTNFMEZGNTMwNzBDNTMwNkU2RTU1MzMwRTUwMzQzM0EKKzoxMDFFRjAwMDA3MDFFNTU0MjBFNTBFRTU1MzU0N0Y3MDA4RTU1MzIwQjMKKzoxMDFGMDAwMEU3MDM0MzA3MDJFNTUzMzBFMzAzNDMwNzEwRTU1MzMwOEIKKzoxMDFGMTAwMEUyMDM0MzA3MjBFNTUzNTQwMzYwMDM0MzA3NDBFNTUzQkUKKzoxMDFGMjAwMDMwRTEwMzQzMDc4MEU1NTMzMEU0MDM0MzA2MDFFNTUzMDIKKzoxMDFGMzAwMDMwRTYwMzQzMDYwOEU1NTQyMEU0MEVFNTUzNTQ3RjcwNzEKKzoxMDFGNDAwMDA4RTU1MzIwRTcwMzQzMDYxMDUzMDdGQjUzMDY3OTkwMzcKKzoxMDFGNTAwMDAwMDVFRThGRjAxMjFCOUZFNTU1MzBFMzEyNTQzMEZGNjEKKzoxMDFGNjAwMEM0NTQwRjEyMjJFNzkwMDAwOEVGMTIxQUZBODAwQTEyRTYKKzoxMDFGNzAwMDIyRTg5MDAwMDhFNDEyMUFGQUU1NTU1NDAzMTIyMkU3MDkKKzoxMDFGODAwMDkwMDAwN0VGMTIxQUZBRTU1NTU0MDRGRkMzMTM5MDAwQUUKKzoxMDFGOTAwMDA5MTIxQUZBOTAwMDA3MTIxQUJCNzAxMzEyMjJFOEU5MEMKKzoxMDFGQTAwMDI0MDlGOUU0M0FGQTEyMUFBMkZGQzMxMzEyMUFFODEyMkEKKzoxMDFGQjAwMDIzMjcyNDA4MTIyMkExRTBGRThEODI4QzgzRTU4MjI0NEYKKzoxMDFGQzAwMDA3MTIyMkExRTBGREVFRUQxMjIyRTc5MDAwMDNFRThGNTIKKzoxMDFGRDAwMEYwMTIxQjlGMTIzMjg0N0QwQUU0RkYxMjJGQjQwMjEwMEMKKzoxMDFGRTAwMENFOTBGQUU2RTBCNDAzMDY3RTAwN0Y0MDgwMDQ3RTAwRDcKKzoxMDFGRjAwMDdGMDg5MEZBREFFRUYwQTNFRkYwOTAwMDA1MTIxQUJCMUEKKzoxMDIwMDAwMEZGN0UwMDkwRkFENkVFRjBBM0VGRjA3MDAzN0YwODIyNzcKKzoxMDIwMTAwMDkwMDAwODEyMUI0OEZGOTBGQUQ4RTVGMEYwQTNFRkYwMEIKKzoxMDIwMjAwMEFFMDJBRjAxOEU1MDhGNTE3NDBBMjU1MUY1NTFFNDM1M0YKKzoxMDIwMzAwMDUwRjU1MDkwRkFEQkUwRkYxNEZFOTBGQUQ5RTA1RUZFMTYKKzoxMDIwNDAwMEMzRUY5RUZGOTBGQURERjBDMzkwRkFEN0UwOUY5MEZBQkQKKzoxMDIwNTAwMEQ2RTA5NDAwNTAwNkEzRTA5MEZBRERGMDEyMjBBOTYwQ0IKKzoxMDIwNjAwMDAzRTBGRjIyMTIyRTJCOTBGQUQ2RTBGRUEzRTBGRjRFRjMKKzoxMDIwNzAwMDYwMkI5MEZBREFFMEZDQTNFMEZERDNFRjlERUU5QzQwRUMKKzoxMDIwODAwMDA3RTA5MEZBRERGMDgwMDg5MEZBRDdFMDkwRkFEREYwRjIKKzoxMDIwOTAwMDEyMjBBOTYwMDNFMEZGMjIxMjJFMkI4MENBN0IwMDdBNTcKKzoxMDIwQTAwMDAwNzk1MkU0RjUyREY1MkU3RDAxMTIyNjk4N0YwMDIyNEQKKzoxMDIwQjAwMEFBNTBBOTUxN0IwMTkwRkFEOEUwRkNBM0UwRkQ5MEZBNjgKKzoxMDIwQzAwMERERTBGNTRBMTIyOTYwOTBGQURDRUZGMDIyRUYyNEFFNTEKKzoxMDIwRDAwMDYwNTIyNEZFNjAyRTI0RkU3MDAzMDIyMTY5MjQwNjYwRjMKKzoxMDIwRTAwMDAzMDIyMUIxNzg3MUU2NTRGQkY2OTBGRkE1RTBGNTIyREEKKzoxMDIwRjAwMDQ0MEZGMDc0MzM5MEZBOTRGMEU1MjJBM0YwOTBGQUIyMTIKKzoxMDIxMDAwMDc0MDFGMDIyNzg3MkU2NTRGQkY2OTBGRkI1RTBGNTIyRjgKKzoxMDIxMTAwMDQ0MEZGMDc0NDM5MEZBOTZGMEU1MjJBM0YwOTBGQUIzREUKKzoxMDIxMjAwMDc0MDFGMDIyOTBGQUEwRTBBMzIwRTUwMzAyMjFCMTkwMEYKKzoxMDIxMzAwMEZGQTZFMDkwRkFDREYwQTNGMDkwRkFDREUwRkY1NDBGQTcKKzoxMDIxNDAwMEZFNjAxMDkwRkZBNjEyMjMwRDkwRkZBNkUwOTBGQUNEM0UKKzoxMDIxNTAwMEYwODBFNjkwRkFDRUUwRkY3NDM0RkUxMjJEODVFRjcwMjkKKzoxMDIxNjAwMDU3OTBGQUNFRTBGRjc0MzQ5MEZBOThGMEVGQTNGMDIyODMKKzoxMDIxNzAwMDkwRkFBQUUwQTMzMEU1NDA5MEZGQjZFMDkwRkFDREYwRTcKKzoxMDIxODAwMEEzRjA5MEZBQ0RFMEZGNTQwRkZFNjAxMDkwRkZCNjEyNUUKKzoxMDIxOTAwMDIzMEQ5MEZGQjZFMDkwRkFDREYwODBFNjkwRkFDRUUwMDUKKzoxMDIxQTAwMEZGNzQ0NEZFMTIyRDg1RUY3MDBFOTBGQUNFRTBGRjc0OUUKKzoxMDIxQjAwMDQ0OTBGQTlBRjBFRkEzRjAyMkMwRTBDMEYwQzA4M0MwRDAKKzoxMDIxQzAwMDgyQzBEMDc1RDAwMEMwMDBDMDAxQzAwMkMwMDNDMDA0RUUKKzoxMDIxRDAwMEMwMDVDMDA2QzAwNzkwRkY5MkUwRkY5MEZBQ0NGMDkwRDcKKzoxMDIxRTAwMEZGOTJFNEYwRUYxMjFCRkMyMjY5MjYyMjY5MkUyMjBDREEKKzoxMDIxRjAwMDMwMjIwQzMyMjIxQTM4MjIyQzNBMjI1RTNFMjI0OTQ0RTYKKzoxMDIyMDAwMDIyM0U0NjIyNTQ1MDIyNTQ1MjIyNTQ1NDIyNTQ1NjAwMDQKKzoxMDIyMTAwMDAwMjI2RTkwRkFDQ0UwRkQ3QzAwN0YwMTEyMTE1RTgwRkUKKzoxMDIyMjAwMDYyN0MwMDdEMDE3RjAzMTIxMTVFOTBGRkZFRTA0NDIwN0UKKzoxMDIyMzAwMEYwODA1MDdDMDA3RDAxN0YwMjEyMTE1RTkwRkZGRUUwNzUKKzoxMDIyNDAwMDQ0NDBGMDgwM0U3QzAwN0QwMTdGMDUxMjExNUU4MDMzQUEKKzoxMDIyNTAwMDdDMDA3RDAxN0YwNjEyMTE1RTgwMjg5MEZBQ0NFMEZGQTEKKzoxMDIyNjAwMDEyMjBDNjgwMUU3QzAwN0QwMTdGMDQxMjExNUU4MDEzNDcKKzoxMDIyNzAwMDEyMjg0RTgwMEU5MEZBQ0NFMDI0MDBGRkU0MzRGRkZFREEKKzoxMDIyODAwMDEyMkQ4NUQwMDdEMDA2RDAwNUQwMDREMDAzRDAwMkQwQkYKKzoxMDIyOTAwMDAxRDAwMEQwRDBEMDgyRDA4M0QwRjBEMEUwMzI3ODdDOTIKKzoxMDIyQTAwMEU2RkUwOEU2MjQwNDhFODNGNTgyRTQzNTgzRjU4MzIyNzYKKzoxMDIyQjAwMDc0MTMyNTI0RjU4MkU0MzRGOUY1ODMyMjc4ODBFNkZFNTAKKzoxMDIyQzAwMDA4RTZGNTgyOEU4MzIyNzg4MEU2RkUwOEU2QUEwNkY4MDQKKzoxMDIyRDAwMEFDMDI3RDAxN0JGRjdBMzI3OTU2N0UwMDdGMEEwMjFBQkEKKzoxMDIyRTAwMDdDNzg4MEU2RkMwOEU2RjU4MjhDODNBM0EzMjJGRjkwMkQKKzoxMDIyRjAwMEY5NkYwMjFCRUE5MEY5NkExMjFCRUE5MDAwMDQwMjFBQjUKKzoxMDIzMDAwMEJCNzg3RUU2RkUwOEU2RkYyMkVEMTIxQUZBOEY4MjhFNzcKKzoxMDIzMTAwMDgzRTU4MjIyRUZGMDkwRkFDRUUwNTQwRjRFRkVGMEVGMEMKKzoxMDIzMjAwMDU0RjA0RUYwMjI3ODgwRTZGQzA4RTY4QzgzMjI3ODdFMUEKKzoxMDIzMzAwMEU2RkMwOEU2RkQ4QzgzMjJBNjA3RTYyNDZFRjhFNjIyN0EKKzoxMDIzNDAwMDc4N0VFNkZBMDhFNkZCMjIwOEU2RkUwOEU2OEU4MzIyOUYKKzoxMDIzNTAwMDI2RjYxOEVFMzZGNjIyRUYyNDBCRjU4MkU0M0VGNTgzREUKKzoxMDIzNjAwMDIyOEI4MjhBODNFNTgyMjI4QjI1OEEyNjg5Mjc4RDI4RTMKKzoxMDIzNzAwMDkwRkFEMkU0RjBBMzc0MDJGMDdCMDE3QUZBNzlEMTkwNUEKKzoxMDIzODAwMEZBRDJFMEY1MkRBM0UwRjUyRTdEMDExMjI2OTg5MEZBMDEKKzoxMDIzOTAwMEQxRTA2NTI4NjA0NkEzRTBGRkEzRTBBM0NGRjBBM0VGNjAKKzoxMDIzQTAwMEYwMTIyM0YwOTBGQUQxRTBGRjkwRkFENEU0OEZGMDEyMEIKKzoxMDIzQjAwMDFCMUMxMjIzRjA5MEZBRDRFMEZGQTNFMDkwRkFEMkNGRDYKKzoxMDIzQzAwMEYwQTNFRkYwOTBGQUQxRTBBMzc1RjAwMDEyMUIxQzkwN0YKKzoxMDIzRDAwMEZBRDJFNDc1RjAwNDEyMUIxQzAyMjM3MjkwRkFEM0UwQzcKKzoxMDIzRTAwMDI0MDFGRjkwRkFEMkUwMzQwMEFCMjVBQTI2QTkyNzhGNUEKKzoxMDIzRjAwMEYwMTIxQjgwN0YwMDIyN0IwMTdBRkE3OUQxOTBGQUQyMDkKKzoxMDI0MDAwMEU0NzVGMDAxMTIxQjFDODVGMDJFRjUyRDdEMDEwMjI2Q0UKKzoxMDI0MTAwMDk4OEY2MjEyMkFDNzEyMjJGQThFODMyNDBCMTIyMkExRUQKKzoxMDI0MjAwMEUwNTRGQkYwNDQwMkYwMDgxMjIyRENFMEEzMzBFNTBDOUIKKzoxMDI0MzAwMDEyMjMwNjI0MEIxMjIyQTFFMDQ0MDFGMDc4N0NFNkZFNzAKKzoxMDI0NDAwMDA4RTZGRkY1ODI4RTgzRTA1NEI4RkRGMEU1NjIyNEZFRDUKKzoxMDI0NTAwMDQ0MjBGQzRERjBFNTgyMjQwNDEyMjJBMUUwNTRCOEYwOUYKKzoxMDI0NjAwMDRDRjA4RjgyOEU4M0EzNzQwM0YwMThFNkZFMDhFNkZGMUIKKzoxMDI0NzAwMDhFODMyNDA1MTIyMkExQzA4M0MwODJFMEZENzQ5OTI1QjkKKzoxMDI0ODAwMDYyRjU4MkU0MzRGQUY1ODNFMDU0RkM0NDAzRkNFRDRDM0QKKzoxMDI0OTAwMEQwODJEMDgzRjA4RjgyOEU4M0UwNDQ4MEYwRTU4MjI0NjYKKzoxMDI0QTAwMDA0MTIyMkExRTA0NDgwRjAxMjMyODQ3NDZFMjU2MkY4OTYKKzoxMDI0QjAwMDc0MDQ0NkY2N0YwMDIyMTIxMDRCN0YwMjEyMTI2MTc4REMKKzoxMDI0QzAwMDY3RTY0NDAyRjZEMkIwRDJCMTkwRjkxNkUwMzBFNzA3RTEKKzoxMDI0RDAwMDkwRkY5RUU0RjA4MDM2RDJCMzkwRkZBNEUwOTBGQTdFQTUKKzoxMDI0RTAwMEYwOTBGRkI0RTA5MEZBN0ZGMDkwRkZBMkUwOTBGQTdDQzkKKzoxMDI0RjAwMEYwOTBGRkIyRTA5MEZBN0RGMDkwRkZBNDc0MzBGMDkwN0QKKzoxMDI1MDAwMEZGQjRGMDkwRkZBMjc0NDBGMDkwRkZCMkYwOTBGQUU3QjEKKzoxMDI1MTAwMEU1QThGMDc1QTg4MTkwRkY5MkUwNjAwNEU0RjA4MEY2RjEKKzoxMDI1MjAwMDkwRkZGRDc0M0FGMDQzODcwMTAwMDAwMDkwRkE3RUUwQ0UKKzoxMDI1MzAwMDkwRkZBNEYwOTBGQTdGRTA5MEZGQjRGMDkwRkE3Q0UwNzYKKzoxMDI1NDAwMDkwRkZBMkYwOTBGQTdERTA5MEZGQjJGMDkwRjkxOEUwRDEKKzoxMDI1NTAwMDYwMDJDMkIzOTBGQUU3RTBGNUE4MDIxMENFOEI1QzhBNjUKKzoxMDI1NjAwMDVEODk1RTEyMkUwRDkwRkFDMzEyMUJGM0FBNURBOTVFNUYKKzoxMDI1NzAwMDkwRkFDNjEyMUJGMzkwRkFDN0U0NzVGMDBBMTIxQjFDRkUKKzoxMDI1ODAwMDkwRkFDNjEyMUJFQUU5MjQwMUY5RTQzQUZBOTBGQUM5NzIKKzoxMDI1OTAwMDEyMUJGM0FCNUNBQTVEQTk1RTEyMkUxOUUwRkZDMzEzRjgKKzoxMDI1QTAwMEYwRTQ3ODgyRjY5MEZBQzFFMEZGNzg4MkU2QzM5RjUwQUIKKzoxMDI1QjAwMDRBOTBGQUMzMTIyREVFRkY3ODgzRjY5MEZBQzYxMjJERDgKKzoxMDI1QzAwMEVFRkVGNDVGRkY3ODgzRjYxMjJERUI1RTRGRkY3ODgzMEIKKzoxMDI1RDAwMEY2MTIyREY0NzVGMDAyMTIxQjFDOTBGQUM3RTQ3NUYwODgKKzoxMDI1RTAwMDAyMTIxQjFDQUI1Q0FBNURBOTVFOTAwMDA0MTIxQUJCMTAKKzoxMDI1RjAwMDMwRTQwMzEyMkUwMzc4ODIwNjgwQUFFNDkwRkFDMkYwMzcKKzoxMDI2MDAwMDIyOEI1NjhBNTc4OTU4OTBGQUMyNzQwNkYwRTQ5MEZBRTEKKzoxMDI2MTAwMEMxRjAxMjFBQTIyNDZFNjAyNjE0NzA3MDEyMkREQTYwQjYKKzoxMDI2MjAwMDA5MjQzMDcwMTIxMjI1NTY4MDYyMTIyRTI0MTIxRkRBRUQKKzoxMDI2MzAwMDkwRkFDMkVGRjA4MDU1OTBGQUMyNzQ4MUYwODA0RDEyOEEKKzoxMDI2NDAwMDJEREE2MDA5MjQzMDcwM0UxMjJEMzA4MDNGRTU1ODI0ODkKKzoxMDI2NTAwMDAzRjlFNDM1NTdGQTdCMDFDMDAzQzAwMkMwMDExMjJFMTIKKzoxMDI2NjAwMDI0OTAwMDA1MTIxQUJCRkQ5MDAwMDgxMjFCNDhGNTJFOUQKKzoxMDI2NzAwMDg1RjAyREQwMDFEMDAyRDAwMzEyMjY5ODkwRkFDMUVGMzgKKzoxMDI2ODAwMEYwRTRBM0YwODAwNjkwRkFDMjc0ODFGMDkwRkFDMkUwMDAKKzoxMDI2OTAwMDEyMkUyNDkwMDAwMjEyMUFGQTkwRkFDMUUwRkYyMjhCNDcKKzoxMDI2QTAwMDI5OEEyQTg5MkI4RDJDRTUyQzcwMDNBRjJDMjIxMjJFMUYKKzoxMDI2QjAwMDUzNzAxNjEyMkU3MkU1MkQ5MEZGRjFGMDEyMzFEODUwQTIKKzoxMDI2QzAwMEYyMTIyNzI1NDAwQjdGMDAyMjEyMkU3MjEyMjcyNTUwNkUKKzoxMDI2RDAwMEY4OTBGRkYzNzRBMUYwRTUyQ0I0MDEwNzkwRkZGMEUwNEYKKzoxMDI2RTAwMDQ0MDJGMDkwRkZGMUU0RjBGNTJGRTUyQzE0RkZFNTJGMDQKKzoxMDI2RjAwMEMzOUY1MDJBMTIzMUMxNDAwM0FGMkYyMkMzRTUyQzk1NEUKKzoxMDI3MDAwMDJGRkZCRjAyMDc5MEZGRjBFMDQ0MDJGMDEyMkU2NTA1OTQKKzoxMDI3MTAwMDJGNzQwMTI1MkJGNTJCRTQzNTJBRjUyQTgwQ0MxMjMxQjQKKzoxMDI3MjAwMEMxNDAwMzdGMTgyMjEyMkU2NUFGMkMyMjkwRkZGMUU1RTUKKzoxMDI3MzAwMDJFRjAwMjMxRDgxMjEwNEI3ODg0MTIyMzMxMzBFMTA4ODgKKzoxMDI3NDAwMDdGMTMxMjMxQTkwMjI3QkM3ODg0RTZGOTI0MTMxMjIyRTAKKzoxMDI3NTAwMEFERTBGRjMwRTc0MDU0MDM2MDFFRTlCNDAzMEQ5MEZGODUKKzoxMDI3NjAwMDlFRTA1NEZFRjBFMDQ0MDRGMDgwNDY5MEZGOUVFMDU0NkEKKzoxMDI3NzAwMEZERjBFMDQ0MDhGMDgwMzlFOUI0MDMwRDkwRkY5RUUwREQKKzoxMDI3ODAwMDU0RkJGMEUwNDQwMUYwODAyODkwRkY5RUUwNTRGN0YwMDUKKzoxMDI3OTAwMEUwNDQwMkYwODAxQkVGNTQwMzYwMTRFOUI0MDMwOTkwOTUKKzoxMDI3QTAwMEZGQTRFMDU0REZGMDgwMDc5MEZGQjRFMDU0REZGMEMyRjQKKzoxMDI3QjAwMEIzOTBGOTE4RTAwNEYwQUYwMTEyMjJFRUZEMTIyRkU1RkMKKzoxMDI3QzAwMDEyMzFBOTAyMTBDRTc1QTg0MDc4N0ZFNEY2RDhGRDc1QzUKKzoxMDI3RDAwMDgxOEIwMjI4MDkwMjMxOENFNDkzQTNGOEU0OTNBMzQwOEYKKzoxMDI3RTAwMDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3OEMKKzoxMDI3RjAwMDI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODcKKzoxMDI4MDAwMDgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwQkUKKzoxMDI4MTAwMDkwMkJBOUU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5RUYKKzoxMDI4MjAwMDU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4QkUKKzoxMDI4MzAwMDQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyNTEKKzoxMDI4NDAwMEM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGQkYKKzoxMDI4NTAwMEU5REVFNzgwQkVFNEY1MjIxMjFEQzJFMEI0MDQwREU1MTYKKzoxMDI4NjAwMDIyMjQwM0ZGMTIzMDEzMTIxREMyRTRGMDA1MjJFNTIyRDgKKzoxMDI4NzAwMEMzOTQwMjQwRTNFNEY1MjI3NUYwMDJFNTIyOTBGQTk0NTUKKzoxMDI4ODAwMDEyMUUwMzYwMkMxMjJEODVFRjYwNTI3NUYwMDJFNTIyQjYKKzoxMDI4OTAwMDkwRkE5NDEyMUJDQ0U0RjBBM0YwNzVGMDBBRTUyMjkwQjQKKzoxMDI4QTAwMEZBQTAxMjFCQ0NFMEEzMzBFNjMzMTIxREMyNzQwNEYwNzAKKzoxMDI4QjAwMDIyNzVGMDAyRTUyMjkwRkE5ODEyMUUwMzYwMTYxMjJEN0UKKzoxMDI4QzAwMDg1RUY2MDE5NzVGMDAyRTUyMjkwRkE5ODEyMUJDQ0U0QUUKKzoxMDI4RDAwMEYwQTNGMDIyMDUyMkU1MjJDMzk0MDI0MDlCMjJFNEZGRUMKKzoxMDI4RTAwMDkwRkY4M0UwNTQwRkZFRUZDMzlFNTAxNzc0RjAyRkY1NTYKKzoxMDI4RjAwMDgyRTQzNEZFRjU4M0UwMTIxQ0MxMTIxQUU4MEYxMjFDQTgKKzoxMDI5MDAwMEIwODBEREVGRkRDM0U1M0E5REY1M0FFNTM5OTQwMEY1NzkKKzoxMDI5MTAwMDM5RDNFNTNBOTQwMEU1Mzk5NDAwNDAwNkU0OTBGRjgzMEEKKzoxMDI5MjAwMEYwMjIxMjFEREYxMjFFMzQxMjFFMjYxMjFBQTIyNDZFNkQKKzoxMDI5MzAwMDYwMUUxNDYwMUIyNDhFNzAyRDkwMDAwMTEyMUFCQkZGQzQKKzoxMDI5NDAwMDI0RkM2MDAzMDQ3MDFGRUZGRDdDMDA3RjBEMDIxMTVFMEMKKzoxMDI5NTAwMDEyMUUzQjEyMjVGQTEyMUQ4OTEyMUFCQjYwMDMwMjMyQTUKKzoxMDI5NjAwMDdBRTRGRjEyMzI2RTIyOEI0NThBNDY4OTQ3OEM0ODhENjUKKzoxMDI5NzAwMDQ5RDIwMDEyMkU1MzcwMTYxMjJFNzJFNTQ4OTBGRkYxQzQKKzoxMDI5ODAwMEYwMTIzMUQ4NTBGMjEyMjlENTQwMEI3RjE4MjIxMjJFQTYKKzoxMDI5OTAwMDcyMTIyOUQ1NTBGOEU0RjU0QkU1NEExNEZGRTU0QkMzMTQKKzoxMDI5QTAwMDlGNTAxNzEyMjlDNTQwMDM3RjE4MjIwNTRCNzQwMTI1M0IKKzoxMDI5QjAwMDQ3RjU0N0U0MzU0NkY1NDY4MERGOTBGRkYwRTA0NDAxRjcKKzoxMDI5QzAwMEYwMTIyOUM1NDAwMzdGMTgyMjdGMDAyMkFCNDVBQTQ2OUEKKzoxMDI5RDAwMEE5NDcxMjFBQTI5MEZGRjFGMDAyMzFEODkwRkZGMUU1NTkKKzoxMDI5RTAwMDQ5RjAwMjMxRDg3QjAxN0FGQTc5Q0ZFNEZEMTIyMzYxRjQKKzoxMDI5RjAwMDkwRkFDRkU0NzVGMDA5MTIxQjFDN0IwMDdBMDA3OTIzNTIKKzoxMDJBMDAwMDkwRkFDRkU0NzVGMDAxMTIxQjMyODVGMDJFRjUyRDdEODIKKzoxMDJBMTAwMDAxMTIyNjk4OTBGRkY3RTUyMzEyMkEzOTkwRkZGNkU1NzgKKzoxMDJBMjAwMDIzRjA5MEZBQ0ZFNEYwQTM3NDA2MTIyQTM5RTUyMzMwOUMKKzoxMDJBMzAwMEUwMDc5MEZGRkM3NDk0RjAyMjkwRkZGQzc0OTBGMDIyNjkKKzoxMDJBNDAwMEYwN0IwMDdBMDA3OTIzOTBGQUNGRTQ3NUYwMDExMjFCMzUKKzoxMDJBNTAwMDMyODVGMDJFRjUyRDdEMDEwMjI2OTg5MEZGOTM3NDgxMkEKKzoxMDJBNjAwMEYwOTBGRkZGRTA2MDA2OTBGRkZDNzQxMEYwOTBGRjkxODMKKzoxMDJBNzAwMEUwNDQ5MEYwRTQ5MEY5MTZGMEEzRjAxMjJCMzkxMjE2MEUKKzoxMDJBODAwMEM5MTIzMDY5N0UwNzdGRDAxMjEyMkE3RTBGN0ZBMDEyRjIKKzoxMDJBOTAwMDEyNDRFNDc4NzdGNjc4NzdFNkZGQzM5NDA2NTAwQjc0MTcKKzoxMDJBQTAwMDZFMkZGOEU0RjY3ODc3MDY4MEVDN0YwMzEyMzBCMjkwNTAKKzoxMDJBQjAwMEY5MTZFMDIwRTQwNTdGMDQxMjMwQjI5MEZGOUJFNEYwQTkKKzoxMDJBQzAwMDkwRkY5QUYwOTBGRkU4RTA1NDFGRjBEMkE4MjIxNTY1MUQKKzoxMDJBRDAwMEE4NjVBNjA3MzAwODA1MTIxMUFFODBGOEQyMDhBODY1Q0YKKzoxMDJBRTAwMEU2RkZCNDAzMEY3ODdDNzZGRjA4NzZFMDA4NzZGRjA4RUYKKzoxMDJBRjAwMDc2QTA4MDBENzg3Qzc2RkYwODc2RTIwODc2RkYwODc2NkYKKzoxMDJCMDAwMEIwNzg4MDc2RkEwODc2OUVFRjI0RkQ3NUYwMEFBNEFFQzAKKzoxMDJCMTAwMEYwMTIyMzQ5N0IwMTdBRkY3OTQ4Nzg2ODEyMUJFMUE4RkIKKzoxMDJCMjAwMDY1RTYyNEZENzVGMDA4QTRGRkFFRjA3ODZBMTIyMzQ5MkIKKzoxMDJCMzAwMDc5MDg3ODZCMTIxQkUxNzg2REVGMTIyMzQ5MDU2NTIyNDUKKzoxMDJCNDAwMDkwRkZGMEUwNTRBQkYwRTA0NDIwRjA5MEZBRTY3NDAyMUQKKzoxMDJCNTAwMEYwN0IwMTdBRkE3OUNGRTRGNTJERjUyRTdEMDExMjI2NkUKKzoxMDJCNjAwMDk4N0UwMDkwRkFFNEVFRjBBM0VGRjA2NDAxNzAxMDkwMEMKKzoxMDJCNzAwMEZBQ0ZFMEI0NTIwOTkwRjkxNkUwNTRFRkYwODAyOTkwQjIKKzoxMDJCODAwMEZBRTRFMDcwMDRBM0UwNjQwMTcwMTA5MEZBQ0ZFMEI0QkUKKzoxMDJCOTAwMDEwMDk5MEY5MTZFMDQ0MTBGMDgwMEQ5MEZBRTY3NDAzRTUKKzoxMDJCQTAwMEYwOTBGOTE2RTA1NEVGRjA5MEZGRjBFMDQ0MjBGMDIyQUUKKzoxMDJCQjAwMDAzNjgwMUZGNDgwMzZCMDFGRjA4MDI2NjAwMDA0NEZBNDYKKzoxMDJCQzAwMDk4MDAwMDAwMDA0NEZBOTQwMDAwMDAwMDQyRkFCMjAwQUQKKzoxMDJCRDAwMDAwNDJGQTdFMDAwMDQyRkE3QzAwMDA0MkY5NkRGRkZGREQKKzoxMDJCRTAwMDQyRkE3QTAwMDA0MUY5NjZGRjQxRjkxQzE5NDFGOTE1RDIKKzoxMDJCRjAwMDAwNDNGOTE5MEEzMjAyNDFGOTY4MjA0MUY5NjkyMDQxN0MKKzoxMDJDMDAwMEY5NjUwMDQxRjk2NzAwNDRGODAwMDAwMDAwMDA0MkY5NEUKKzoxMDJDMTAwMDE2MDAwMDQxRjkxODAwMDEyMDAwNDFGODA0MDAwMDEyREMKKzoxMDJDMjAwMDEwNEI3ODhBRUZGNjEyMkFDNzEyMjJFRTMwRTAyOTc4OEMKKzoxMDJDMzAwMDdDMTIyMkI3RTA1NDdGRjA3ODZCMTIxQkQ4OTAwMDAyMTAKKzoxMDJDNDAwMDEyMUFCQjMwRTcwOTkwMDAwMkU0MTIxQUZBODBFOTc4MDAKKzoxMDJDNTAwMDdDMTIyMkI3RTA0NDgwRjAxMjIyRUUzMEUxMUUxMjIyRjQKKzoxMDJDNjAwMDk3RTA1NDdGRjAxMjMyMTk3ODY4MTIxQkQ4OTAwMDAyNTYKKzoxMDJDNzAwMDc0ODAxMjFBRkExMjIyOTdFMDQ0ODBGMDEyMzI4NEU0MkYKKzoxMDJDODAwMEZGMTIzMUE5MDIxMENFMTIxMDRCNzg4NUVGRjYxMjMxRTcKKzoxMDJDOTAwMDUwMTIzMUE5Nzg4NUU2RkYyNDEzMTIyMkFERTBGRTMwRjAKKzoxMDJDQTAwMEU3MTZFRkI0MDMwOTkwRkY5RUUwNTRGQUYwODAyMjkwRkIKKzoxMDJDQjAwMEZGOUVFMDU0RjVGMDgwMTlFRTU0MDM2MDE0RUZCNDAzNjYKKzoxMDJDQzAwMDA5OTBGRkE0RTA0NDIwRjA4MDA3OTBGRkI0RTA0NDIwODYKKzoxMDJDRDAwMEYwOTBGOTE4RTAxNEYwRTA3MDAyRDJCMzAyMTBDRTEyQjYKKzoxMDJDRTAwMDFFMUNFNTNBNjQwOTcwMDRFNTM5NjQwMTYwNDhDM0U1RDcKKzoxMDJDRjAwMDNBOTQwOEU1Mzk5NDAwNDAxMTdGMDhFRkU1M0E5NDA4Q0EKKzoxMDJEMDAwMEY1M0FFNTM5OTQwMEY1Mzk4MDA1QUYzQTEyMUUzNEU0RkUKKzoxMDJEMTAwMEZFRUVDMzlGNTAxOTEyMUNDMTEyMUFBMkZENzRGODJFQTgKKzoxMDJEMjAwMEY1ODJFNDM0RkVGNTgzRURGMDBFMTIxQ0IwODBFMkVGODQKKzoxMDJEMzAwMDU0N0Y5MEZGODFGMDIyOEI1OThBNUE4OTVCMTIyRTE5OTkKKzoxMDJENDAwMDcwMDVBMzc0MDhGMDIyQUI1OUFBNUFBOTVCMTIyRTBEODQKKzoxMDJENTAwMDkwRkFDOTEyMUJGM0U1NUIyNDAzRjlFNDM1NUFGQTkwQTMKKzoxMDJENjAwMEZBQzMxMjFCRjNFNDkwRkFDMkYwNzg4QkY2OTBGQUMxMjIKKzoxMDJENzAwMEUwRkY3ODhCRTZDMzlGNTAxMjEyMkRFQkZGMTIyREY0NkIKKzoxMDJEODAwMDEyMkUwNzc4OEIwNjEyMkUwMzgwRTIyMkFEMDdBQzA2QzYKKzoxMDJEOTAwMDkwMzIwQUU0OTNGRjc4NzRGNjU0MEYxMjFEQThFMDA4RUQKKzoxMDJEQTAwMDc2MDAwOEY2MTgxMjFDRDlDMzMzQ0UzM0NFRDhGOUZGRkIKKzoxMDJEQjAwMDc4NzVFRUY2MDhFRkY2RUU0NEY4MThGNkVGMDhGNjkwQTAKKzoxMDJEQzAwMEZGN0FFMDIwRTcwMzdGMDAyMjc4NzVFNkZFMDhFNkY1NEIKKzoxMDJERDAwMDgyOEU4M0VDRjBBM0VERjA5MEZGN0E3NDAyRjA3RjAxMTUKKzoxMDJERTAwMDIyQUI1NkFBNTdBOTU4OTAwMDAzMTIxQUJCNTRGMDI0REMKKzoxMDJERjAwMEEwMjI5MEZBQzkxMjFCRUEwMjFBQTI5MEZBQzMxMjFCNkYKKzoxMDJFMDAwMEVBRUYxMjFBRTg5MEZBQ0FFNDIyOTBGQUM0RTQ3NUYwRTQKKzoxMDJFMTAwMDAxMDIxQjFDOTAwMDA4MTIxQjQ4QUFGMEY5N0IwMTIyM0EKKzoxMDJFMjAwMDkwMDAwNTEyMUFCQjkwRkFDMUYwMjJBQjU2QUE1N0E5MUUKKzoxMDJFMzAwMDU4MjI5MEZBRERFMEZGN0UwMEMzOTBGQUQ3RTA5RkYwQzEKKzoxMDJFNDAwMDkwRkFENkUwOUVGMDkwRkFEOEVFOEZGMDEyMUIxQ0VGQUQKKzoxMDJFNTAwMDI1NTFGNTUxRUUzNTUwRjU1MDIyOTBGRkYwRTA1NEZFMkIKKzoxMDJFNjAwMEYwRTA1NEZERjA5MEZBRTZFMDY0MDMyMjkwRkZGMkUwMTcKKzoxMDJFNzAwMEFCMjlBQTJBQTkyQjAyMUFFODkwRkZGMzc0QTBGMDIyMkEKKzoxMDJFODAwMDhGNjRFRDcwMEZFNTY0QjQwMzA1N0YwMTAyMzFFRjdGQkQKKzoxMDJFOTAwMDAyMDIzMUVGQUY2NDEyMkFDNzc0NkUyNTY0RjhFNjMwN0YKKzoxMDJFQTAwMEUyMEJEMjA5MTIxRDMzRTA1NDdGRjA4MDAyQzIwOUU1MjMKKzoxMDJFQjAwMDY0QjQwMzA3N0Y4MTEyMzFFRjgwMDU3RjgyMTIzMUVGMDYKKzoxMDJFQzAwMDMwMDkwNzEyMUQzM0UwNDQ4MEYwMTIzMjg0MjIxMjEwQzAKKzoxMDJFRDAwMDRCOTBGRkZERTA0NDYwRjBEMjAxOTBGRkZDRTA0NDAyMjMKKzoxMDJFRTAwMEYwOTBGRjAwRTAzMEU3MTM5MEZGODNFMDQ0ODBGMDQzNzAKKzoxMDJFRjAwMDM1ODA5MEZGRkNFMDQ0MDFGMDgwMEQxMjFEREY1MzM1NUEKKzoxMDJGMDAwMDdGOTBGRkZDRTA1NEZFRjA5MEZGODFFMDQ0ODBGMDEyREYKKzoxMDJGMTAwMDAyREUxMjFERTcwMjEwQ0UxMjEwNEI3ODg5RUZGNkQyQjYKKzoxMDJGMjAwMDAwMTIyQUM3OTBGOTZBMTIxQkVBRTkyNDAzRjlFNDNBNkQKKzoxMDJGMzAwMEZBQzAwMjc4ODBFNkZFMDhFNkFBMDZGOEFDMDI3RDAxMzcKKzoxMDJGNDAwMEQwMDIxMjIyRDMxMjMyODQ3ODg5RTZGRjEyMTM4NzEyM0MKKzoxMDJGNTAwMDMxQTkwMjEwQ0U4RjYzMTIyQUM3Nzg3QzEyMjJCN0UwMDMKKzoxMDJGNjAwMDU0M0ZGMEU1ODIyNDA0MTIyMkExRTA1NDNGRjAxMjIzRTIKKzoxMDJGNzAwMDQxMjQwQjEyMjJBMUUwNTRGOEYwMTIzMjg0NzQ2RTI1MjEKKzoxMDJGODAwMDYzRjg3NEZCNTZGNjdGMDAyMjEyMTA0QjEyMkFDNzEyMDgKKzoxMDJGOTAwMDIyRkEyNDA2MTIyMjlGRTBGRDEyMjJFODkwMDAwMzEyN0EKKzoxMDJGQTAwMDIzMDIyNDA1MTIyMkExRTA5MDAwMDQxMjFBRkExMjMyMjAKKzoxMDJGQjAwMDg0N0QwMkU0RkYxMjJGQjQwMjEwQ0VBRTA1MTIxRDhFRTYKKzoxMDJGQzAwMEVGMTIxQUZBMEUwRTBFRUVEMzk1M0NFNDk1M0I0MDAyM0EKKzoxMDJGRDAwMEFFM0NFRUQzOTQwODc0ODA5NDgxNDAwQTdFMDM5MDAwNDYKKzoxMDJGRTAwMDAyNzQwMjEyMUFGQUFGMDYxMjMyNkUyMkFFMDdFRDU0QzQKKzoxMDJGRjAwMDAzNjQwMTYwMDM3RjEwMjJFRDU0N0NDMzk0MDQ1MDAzRUEKKzoxMDMwMDAwMDdGMEIyMjc0NkUyRUY4NzQwMjQ2RjY3NDk5MkVGNTgyQTgKKzoxMDMwMTAwMEU0MzRGQUY1ODNFREYwN0YwMDIyQkYwMzA2N0NGRjdERTgKKzoxMDMwMjAwMEUwODAwNDdDRkY3REUyOEQ4MjhDODNFMDQ0ODBGMEU1Q0IKKzoxMDMwMzAwMDgyMjQwNDEyMjJBMUUwNDQ4MEYwNzQ2RTJGRjg3NDA0RkMKKzoxMDMwNDAwMDQ2RjY3RjAwMjIxMjEwNEJFNTNBNjQwOTcwMDRFNTM5MTgKKzoxMDMwNTAwMDY0MDE2MDE2OTBGRjgzRTA1NDBGRkZDM0U1M0E5RkU1REIKKzoxMDMwNjAwMDM5OTQwMDQwMDUxMjI4RDc4MDAzMTIzMjdBMDIxMENFMUMKKzoxMDMwNzAwMDkwRkZGQ0UwMjBFNzFGQzJBRjdERkZBQzA1MURFQzYwQjgKKzoxMDMwODAwMDE1N0UwNDdGMDBFRjFGQUEwNjcwMDExRTRBNjBFQzkwQjcKKzoxMDMwOTAwMEZGOTJFNEYwODBFRjIyMTIxMDRCNzg2NkU2RkUwOEU2MUQKKzoxMDMwQTAwMEZGMzBFMDEyMzBFMTBGOTBGRkZDRTA0NDIwRjA3RjA0OUQKKzoxMDMwQjAwMDEyMTI2MTEyMURGNjAyMTBDRThGMjNDMjA4MTIyQUM3MDcKKzoxMDMwQzAwMDEyMjJDMDc4N0UxMjIzNDIyNDBCMTIyMkExRTA1NEY4NkYKKzoxMDMwRDAwMEYwMTIzMjg0QUYyMzEyMTM4NzIyOEU1RjhGNjBFNTYwNzcKKzoxMDMwRTAwMDE1NjBBRTVGNzAwMjE1NUZEMzk0MDBFRTk0MDA0MDA5NDYKKzoxMDMwRjAwMDdFMDc3RkQwMTIxMDI0ODBFNTIyMTFEQzJFQzcyNEIwNzkKKzoxMDMxMDAwMDMyNjAzMDkwMzAzRTMxNkYyRjgyMjcyRTJDODAzMTEyNkEKKzoxMDMxMTAwMDMxMzExRTY0MkYxMTJDMTgwRTEyMTA0Qjc4ODYxMjIzOTkKKzoxMDMxMjAwMDMxMjBFMTA3N0YxMjEyMzFBOTgwMEE3ODg2RTZGRjEyNkEKKzoxMDMxMzAwMDI0MEExMjMxQTkwMjEwQ0UxMjEwNEI3ODg3MTIyMzMxQzMKKzoxMDMxNDAwMDIwRTIwNzdGMTExMjMxQTk4MDBBNzg4N0U2RkYxMjJGNEIKKzoxMDMxNTAwMDRFMTIzMUE5MDIxMENFOEY2MTEyMkY0RUFGNjExMjJBOEEKKzoxMDMxNjAwMEM3MTIyMkMwMTIzMjg0NzQ2RTI1NjFGODc0RkQ1NkY2QkYKKzoxMDMxNzAwMEFGNjExMjEzODcyMjEyMTA0QkU1M0E2NDA5NzAwNEU1MUYKKzoxMDMxODAwMDM5NjQwMTYwMDUxMjJDRDg4MDA2MTIxRTE0MTIxRTFDMTAKKzoxMDMxOTAwMDAyMTBDRTEyMkE1NDEyMTMwMzkwRjgwNEUwRkY2MDA1QzcKKzoxMDMxQTAwMDdEMDExMjEyQTAxMjI5REUxMjEzM0YxMjExQkM4MEUzMUUKKzoxMDMxQjAwMDEyMUQ4RUVGMTIxQUZBRTRGNTMzRjUzNEVGNjAwMzAyQjQKKzoxMDMxQzAwMDMyN0FFNEZGMTIzMjZFMjI5MEZGRjBFMEZGNTRBMDYwRUEKKzoxMDMxRDAwMEY3RUYzMEU1MDg5MEZGRjA0NDIwRjBDMzIyRDMyMjkwQUYKKzoxMDMxRTAwMEZGRjBFMEZGNTQyODYwRjdFRjMwRTUwODkwRkZGMDQ0NkYKKzoxMDMxRjAwMDIwRjBDMzIyRDMyMkVGMzBFNzA4MTIxRDQ1RTA1NERGNTAKKzoxMDMyMDAwMEYwMjJFRjEyMUQ5OEUwNTRERkYwMjI4MTAxODIwMjgzNDgKKzoxMDMyMTAwMDAzODc0MDAwNDAwMDQwMDA0MDAwNDAwMDQwMDAwODAwOUMKKzoxMDMyMjAwMDc4N0UxMjIyQjdBM0EzRTBGRjMwRTcwNjU0N0ZGMDQ0NzQKKzoxMDMyMzAwMDgwRjAyMjg1M0IzOTg1M0MzQTkwRkY4MkUwNTRGN0YwREMKKzoxMDMyNDAwMEEzRTA1NDdGRjAyMkU0RkVFRTkwMzIwNDkzQjUwNzAyMkYKKzoxMDMyNTAwMEQzMjIwRUJFMDdGMkMzMjIwMDA4MTgyODM4MDE4MTkwM0QKKzoxMDMyNjAwMDBBMDIwMDAwMTExMzAwMTIxMDRCN0YwMjEyMTBEQTEyMzIKKzoxMDMyNzAwMDFERjYwMjEwQ0U3NTM5MDA4RjNBMTIxQ0UwMTIyQ0Q4QzAKKzowRTMyODAwMDIyMTIxRTFDMTIxRERGMTIxRTE0MjJDMjA4MjI3MgorOjAwMDAwMDAxRkYKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vKiBFZGdlcG9ydCBCaW5hcnkgSW1hZ2UgKGZvciBUSSBiYXNlZCBwcm9kdWN0cykKKy8vKiBHZW5lcmF0ZWQgYnkgVElCaW4yQyB2Mi4wMCAod2F0Y2hwb3J0KQorLy8qIENvcHlyaWdodCAoQykgMjAwMSBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZW1pMjYvYml0c3RyZWFtLkhFWCBiL2Zpcm13YXJlL2VtaTI2L2JpdHN0cmVhbS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ0ZDNmNgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VtaTI2L2JpdHN0cmVhbS5IRVgKQEAgLTAsMCArMSw0MzkxIEBACis6MTA4MDEwMDBGRkZGRkZGRkFBOTk1NTY2MzAwMDgwMDEwMDAwMDAwN0FFCis6MTA4MDIwMDAzMDAxNjAwMTAwMDAwMDBCMzAwMTIwMDEwMDgwM0YyRDc1Cis6MTA4MDMwMDAzMDAwQzAwMTAwMDAwMDAwMzAwMDgwMDEwMDAwMDAwOTk1Cis6MTA4MDQwMDAzMDAwMjAwMTAwMDAwMDAwMzAwMDgwMDEwMDAwMDAwMTJECis6MTA4MDUwMDAzMDAwNDAwMDUwMDAzRTA0MDgxMjEwMDAwMDAwMDAwMEY0Cis6MTA4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTA4MDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwNEJDCis6MTA4MDgwMDA4MDAwMDAwMDAwMDAwMDAwMDAxMjEwMDAwMDAwMDAwMDRFCis6MTA4MDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTA4MEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDA4NDBDCis6MTA4MEIwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDNFCis6MTA4MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTA4MEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDk4Cis6MTA4MEUwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMENFCis6MTA4MEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTA4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTA4MTEwMDA4MDAwMDAwMDAwMDAwMDAwMDAxMjAwMDAwMDAwMDAwMENECis6MTA4MTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTA4MTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDNCCis6MTA4MTQwMDA4MDAwMDAwMDAwMDAwMDAwMDgxMzAwMDAwMDAwMDAwMDk0Cis6MTA4MTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTA4MTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTA4MTcwMDA5MDAwMDAwMDAwMDAwMDAwMDAxMjAwMDAwMDAwMDAwMDVECis6MTA4MTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTA4MTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDVCCis6MTA4MUEwMDA5MDAwMDAwMDAwMDAwMDAwRjcxMDAxMTQwMDI1MDAwNUY5Cis6MTA4MUIwMDA0MDAxNTAwMDk0MDAxNTAwMDc0MDAxRDAwMDk0MDAyNUI0Cis6MTA4MUMwMDA4MDAxNjAwMkQ4MDBGNjAwMkY4MDAyRTAwNEQ4Mzc0NDE2Cis6MTA4MUQwMDA5MDAwMDAwMDAwMDAwMDAwQzAwNUYyMDBDQzkwMzkyMEEzCis6MTA4MUUwMDAwRDk4MDNEMjAwRTc4MDM3MDQwRUYxODM3RTAwREY5MDA0Cis6MTA4MUYwMDAzMUU0OEY3OTAzN0MyMERGMjIzM0MwMENGMDIyMzAwMDgxCis6MTA4MjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMDYyMDA4MDI0MjIyMDI2Cis6MTA4MjEwMDAwODk4MTJFMjAwOEI4MTIwOTQwODc0MDIyRTAwOEEwMUQzCis6MTA4MjIwMDAyMkM4MDg5MjAyM0Q4MDhCNjAyMjgwMDhCMDAyMjAwNEEwCis6MTA4MjMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM4MDBBMDAwMjAwMEY5Cis6MTA4MjQwMDAwQjEwMDJDMDAwQTEwMDI0MDk0QTMyMDI0ODAwQjEwMDBDCis6MTA4MjUwMDA2MkMwMDlBMDQ2Q0MyNDkzNDkyQTgwNDgzMDIyNjIwMTlBCis6MTA4MjYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE4MTJBODAwMjIwMDQ1Cis6MTA4MjcwMDAwODkwMDJFMDAwODk4MDIyNDQwOEIwMTJBODAwQTk0MEJBCis6MTA4MjgwMDAyMkMwMDg5MDgyQUMwMDlCMDQyQUM0MDhCMDAyNzAwNDhCCis6MTA4MjkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNDg0MDBFOTgwQjI2NDY3Cis6MTA4MkEwMDA0REEwMDNFQTIwRTlDMDM2NDAwRUIwMDM0NDAwRkI5MDI1Cis6MTA4MkIwMDBCMjg4MERCQzAzRUMwODVCMDAzODYwMkNCMDYzNDAwNDRFCis6MTA4MkMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MjZERDkwMzc0MDlGCis6MTA4MkQwMDA0RkUwMTNGMjgwRkQwMDNEQTAwRDcwMDM3NTAwNUUwMEJECis6MTA4MkUwMDAzRkE0MERGOTAzNUMxMEVCMDAzNzIwMEYzMDAzQjgwMEZBCis6MTA4MkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBFOTgwMzI0MDQ3Cis6MTA4MzAwMDAwQ0ExODNFODAwRTkwMDMyNDIwRUIwMDNBQzQ4RTkwMDVBCis6MTA4MzEwMDAzQTgwMEVBNDAzRUMwMEVCMDBCMjAzMEVCMDBCMTAwNDg1Cis6MTA4MzIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJFODA4OUQxMjA0MEY4Cis6MTA4MzMwMDAwOEEwMDJDMDAwODE4MDIyNTgwOEY1MDIyRjQwOEIwMDVGCis6MTA4MzQwMDAyMEMwMDgzMDQzN0MwMDg3MDAyMjQwMDhGMDAyMzIwMDQxCis6MTA4MzUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQyMDE5QTQ0MjhBMjBECis6MTA4MzYwMDAwODE4MDJDMDgwQTE4MEEwMDAwODMwMDI4RTAwQUIwMDc3Cis6MTA4MzcwMDAyQzQwMEEzMDAyMEMwMEEzMDAyMDQ0MEEzMDAyMzgwMENFCis6MTA4MzgwMDA1MDAwMDAwMDAwMDAwMDAwNjAwMTMyMDA5NjgyMkJBMjI1Cis6MTA4MzkwMDA4ODVBMDJGMjAwMDU4MDI5QTAwODc4NDJCRTAwOEU4NDI3Cis6MTA4M0EwMDAyRjYxMEFEODAyNEUxMEE3ODAyMDI4MDg3ODAyMTgwMEYyCis6MTA4M0IwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDBGMjI0Mzg4MDU3Cis6MTA4M0MwMDAyQzFBMDNDNDAwRTA1OEEwODAyRTMwMDM4ODQxRTMwMjM5Cis6MTA4M0QwMDAzQzQwMDYyMDAzOEMwMEUzMDAxMDAwMEUzMTQzMTIwMkUzCis6MTA4M0UwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDk4MDBFRTAxMzc4NEVFCis6MTA4M0YwMDA5RkQ5MDNGMDQ4RkQxMDM3QzAwN0IwMDM1QzAwRjYxMEFBCis6MTA4NDAwMDAzM0MwMERFMTAzRUQyMERGMTAzRjQ4MEZGMDIzRDAwNjBECis6MTA4NDEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDJDQjgwMzBDMDJFCis6MTA4NDIwMDAwQ0EwMDNFMjAyQzkwMDNBNDAwREI2MDM2NDAwRUIwMDYxCis6MTA4NDMwMDAzRUMwMEZCMDAzRUQwMEZCMDEzRUUwMENCMDAyRUEwMENECis6MTA4NDQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDA4NzAwMjFDMDY3Cis6MTA4NDUwMDAyODYwMDJEMDAwODUwMDJEODA0OEYwODIxQzAwQjcwMDAzCis6MTA4NDYwMDAyRDAwMEI1MDAyREMwMEI3QTAyRjgwMjg3QTAyRDIwNDI2Cis6MTA4NDcwMDA2MDAwMDAwMDAwMDAwMDAwQzEwMEJFMDA4NzgwMjFFMDE1Cis6MTA4NDgwMDAyODY4MDJENzAwODQ4MDJERTA0OTc5MDY1MzA5QjU4MDE5Cis6MTA4NDkwMDAyREUyMEI3ODAyREU4MEI3OTAyREIwMDg3OTAyRjAwMDUzCis6MTA4NEEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMTA4MzAxMjhDODAwCis6MTA4NEIwMDAwODIwMDJDMjA2ODEwMDJDQzg4ODMwNjIwRTIxQjNBMEI5Cis6MTA4NEMwMDAyQ0MxMEJCNjAyQ0MwMEIzMDAyQ0UwMDgzMDAyRDIwNDYxCis6MTA4NEQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBDQTQwQjA4MDhECis6MTA4NEUwMDAwQzJDMDJGODAwQzYyMDNGOTAwREEwMDM3QjAxRUVFMEFCCis6MTA4NEYwMDAzRkI0MEZFQzAzRTgwMEZBMDAzRkEwMENBMDAzRkEwNDFECis6MTA4NTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUzMDBGODA5MjYwMEI5Cis6MTA4NTEwMDAwRkMxODNFMDEwRjg0MDNDMDAwRjgwMDNFMDAxRjgwMDM5Cis6MTA4NTIwMDAzRTAwMEY4MTAzRTAwNEY4MDAzRTEwMEY4MDAzRDIwMEVDCis6MTA4NTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDJDOTAwM0U0MEM2Cis6MTA4NTQwMDA0RjkwNjMyNjg0MzkwMkIyNDAwQzkxMDMyNDAwRjkwMDU1Cis6MTA4NTUwMDAzRTQwMEY5MDAzMjQwMEYxMDAzQTQ0MEY5MDAzQzIwNDAwCis6MTA4NTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDQ1MDA4OTQwMkU0MERCCis6MTA4NTcwMDAwODkyMEEyNDAwQjkzMTIyNjA4ODk0OEEyNDIwQjkwMDI0Cis6MTA4NTgwMDAyRTQwMEI5MDAyMjQwMEI5MDAyMjY4MEI5MDAyRTAwMEZDCis6MTA4NTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0QTA4RDg0MkY0MDZBCis6MTA4NUEwMDAwQkQxMDIyNDAwQjkwMDIyNEEwODEwMDIyQzQwQjkwMDY1Cis6MTA4NUIwMDAyRTQwMEI5MDAyMjQwMEI5MDAyQTQwMEI5MDAyQzYwMDA2Cis6MTA4NUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDE0MDA4NTgwMkQ0MEQ5Cis6MTA4NUQwMDAwODUwMDIwNDBDQjkwMEEwNTAwODE0MjIwNDAwQjEwMDk1Cis6MTA4NUUwMDAyQzQwMEIxMDAyMDQwMEIxMjgyMDRBMEIxMzAyQzIwMUQ4Cis6MTA4NUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBDMDUwM0U4MDg4Cis6MTA4NjAwMDAwRkMwNDMyMDAwRjgwMDMwMDAyQzgwMjMyMDAwRjg1MUQ4Cis6MTA4NjEwMDAzRTE0OEY4NTBCMjE0MEY4NzAzQTA4MEY4NDgzRUUwM0Q3Cis6MTA4NjIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREM0MDBGOTA0M0U0MDA2Cis6MTA4NjMwMDAwRjkwMjNENDAwRkQwMDNGNTAwRjk0MDNGNDA0RkQwMDdECis6MTA4NjQwMDAzRjQxOEZEMDQzRTUwQ0Y5MDIzRjRBMEY5MjAzRTYwMjA3Cis6MTA4NjUwMDA3MDAwMDAwMDAwMDAwMDAwODgwNUQ0MDFGRDAwM0Q0MENFCis6MTA4NjYwMDAwQ0QwMTNGNDAwRDUwMDMzNkExQ0RDODMzNDAwRDEwNDMxCis6MTA4NjcwMDAzRTUwMEM5MTAzRTZDMEREQjAzMzZBMkM5QzgzRTYwMENCCis6MTA4NjgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDlGODgwMkUwMEEzCis6MTA4NjkwMDA4ODgwMDBFODAwQkEwMDIyQjAwODhFMDIyODAwODhBODZFCis6MTA4NkEwMDAyNjI4MDg4QTIyRTIwMDg4RTQyMjMwMDg4QzAyQ0UwNEMwCis6MTA4NkIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTI4MkU0MDcyCis6MTA4NkMwMDAwODEwMDJDNDAwOTkwMDIwNDI0ODEwMDI2NDAxOTE4MDAxCis6MTA4NkQwMDAyQzQ4MDgxMDAyQzRDMDgxNDAyMDRBMDgxMjAyQzIwMTdFCis6MTA4NkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0OTRBOTAyMkU0MDlDCis6MTA4NkYwMDAwQTkwMDI2NDAwQjkwMDgyNjAwODkwMDI2NjAwODkxMDQ2Cis6MTA4NzAwMDAyNDYyMDg5MDAyRTQwMDg5MDIyMjQwMTg5MDAyQzYwNDA0Cis6MTA4NzEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU2MDBCOTA0M0U0MDIzCis6MTA4NzIwMDAwQzkwMTNFNDAwRDFDMDEyNTAyODkwMDM0NDAwRDkwMEVCCis6MTA4NzMwMDAzRTQwMjg5MjAzRTQwMkQ5MDAzMjQyOEM5MDEyRTgwNEIxCis6MTA4NzQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE2MjBGOTAwM0U0MTUyCis6MTA4NzUwMDAyRDkwMDNFNDAwRjkyMDNFNDA0RjkwMDFBNDAwRjkwMDYxCis6MTA4NzYwMDAzNjQwOEY5MjA3RTQwMEYxMDBCRTQwMEY5MDAzQ0EwMDJDCis6MTA4NzcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBDODAwM0UyMDlCCis6MTA4NzgwMDAwQzgwMDNFMDQwRjgwMDM2MTIyQzAwMDNFMEMwRjgwMDMzCis6MTA4NzkwMDAzMjEwMEQ4NDAzQTAwMEY4MDIzRTA4MEY4MDAwQ0EwNEM2Cis6MTA4N0EwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTNBOTA4RTAwMkRBMDU3Cis6MTA4N0IwMDA4MEU4MDJGQTAwQkU0MDIzODAwOEU4MDJGQTAwOEEwMDNFCis6MTA4N0MwMDAzNjgwMDhBMDAyRTgwMEJBMDAyRjgwMEJBMDAzOEEwMEMwCis6MTA4N0QwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTQ2MDI4MzAwMkM4MEI1Cis6MTA4N0UwMDAwODIyNDJDNjgwQjE2MDJFRjQwODM4MjJDRTAwQTMwMEQxCis6MTA4N0YwMDAyMEMwMDgzMDAyQUMwMEIxMDAyRTQwMEIzMDAyQ0EwMDhECis6MTA4ODAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDI4NTAxMkRDMkUyCis6MTA4ODEwMDBBODQ0MDJENDAwQkQwMTI5NDAxODY4RDJEQzAwOEY4MDMyCis6MTA4ODIwMDAyNUNDMjg3MzQyREM4MEI1MzAyREMwMUI3MjAyRTgwMEQ1Cis6MTA4ODMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDRDNjgyM0RFMEMxCis6MTA4ODQwMDAwQzQ4MTJENjEwRjU4MDNDQTAwQzcwMDNERTAwRTc5MEI3Cis6MTA4ODUwMDAyM0VBMDQ3QTAzOUUwMEY1ODAzREUwMEY3QTAzRUEwMkUyCis6MTA4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDgwREFDMDA5QzAwM0VDMEFECis6MTA4ODcwMDAwRjgwMDNFNDEwRjkwMDM2MDEwRkEwMDNDMDAwRUIwMEU1Cis6MTA4ODgwMDAzRUQ4NEVCMDgzRUMwMEY5MDAzRUMwMEZCNDQzODIwNkUwCis6MTA4ODkwMDA2MDAwMDAwMDAwMDAwMDAwQzAwNURFMDBDRjg0MzFFMDcxCis6MTA4OEEwMDAwRUM4NDNENjAwQ0Q4MDMzRTBDREQ5MDMzQTAwRkY4ODBGCis6MTA4OEIwMDAzM0UwMEZGOTEzRkUyNEZEODAzRjIwMENGNjgzMTAwMEY3Cis6MTA4OEMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDA4NTAwMjFDNDc5Cis6MTA4OEQwMDAyODQwODJEMDAwRDUwMDIzODA0OEM5MDIxQzAwQjcwMDgwCis6MTA4OEUwMDAyMUMwMEI3MTAyREU4MEI1MTAyREMwMjhGMDAyMkEwNEQxCis6MTA4OEYwMDA2MDAwMDAwMDAwMDAwMDAwMTAwMDlDMDA5NjAwMjFDMEY1Cis6MTA4OTAwMDAwQTQxMDJGNTQwOEQwMDIxNDAwOTUyMDI5ODIwQjcwMDJCCis6MTA4OTEwMDAyMUMwMEI3MDA2REM4MEI1MDAyREMwMDg3MDAyMDQwMDc5Cis6MTA4OTIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNENDMTA5ODAwMDBDMDdGCis6MTA4OTMwMDA4ODA0ODJDMDAwOTEwNDIwMDMwOTAwMDI4QTAwQjMwQTVGCis6MTA4OTQwMDAyMEM0OEIzNDAyQ0MwMEI5MDAyQ0MwMDAzMDAyMTgwNEMzCis6MTA4OTUwMDAzMDAwMDAwMDAwMDAwMDAwRjgxNUFDMDBEQjAwQjBDMEUzCis6MTA4OTYwMDAwRTlDMDJDNTAwQzExMEIyQzAwREIwMEJBNzA4RkYwMERECis6MTA4OTcwMDBCM0MwMEZGQTAzRkMwMEZEMDAzRUQ0MENGMDBCMkUwNDM0Cis6MTA4OTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDRFRDAwM0U0MEFDCis6MTA4OTkwMDAwRjg0MDNFNTQwRjk0MDNFNjBDRUI0NDM2NDAwRkI4MEExCis6MTA4OUEwMDAzRUMyMEZCMDEzRUMwMEY5MDIzRUMwNEZCMDAzRTEwMDJECis6MTA4OUIwMDAzMDAwMDAwMDAwMDAwMDAwOTAxMEZGMDBDRTAwMzNDMDI3Cis6MTA4OUMwMDAwRUMwMDc3NDA0RUMwMDExODAwQ0NBMDNGRTYwRkYwMEE3Cis6MTA4OUQwMDAzRkMwMEZGMDgzM0MwMEREMDBCMzUwMkNGMDAzMjAwNEI3Cis6MTA4OUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwMDRDMDQ4QjBCMjI3MDVFCis6MTA4OUYwMDAwODA4MDM2NzIwOEE4OEEyMDAyODg0MDJFNzAwQkIwMEQ5Cis6MTA4QTAwMDAzRUMwMEJCMDAyMkMwMEI5MDAyMjYxMDhCMDAzNjA0MEU4Cis6MTA4QTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjIwMjJFMkU2Cis6MTA4QTIwMDAwQThDMDIyNjAwQTk4MDJBQzAwOEI0NDJFRDAwQkIwMENGCis6MTA4QTMwMDAyRUMwMEIzMDAyMkMwMEI5MDAyMDgwMDgzMDAyNjAwMEVDCis6MTA4QTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBFMDE4MTAwQTBDMEVBCis6MTA4QTUwMDAwODgxMDI0NDAwODEwMDI4ODEwODMyMDJDQzAwQjMwMDYyCis6MTA4QTYwMDAyOEMwMEIzMDAyMEM4MEIxMDAyMEMwMDgzMDEyNDIwMTM3Cis6MTA4QTcwMDAwMDAwMDAwMDAwMDAwMDAwODAwRDZDMDBDMjAxMzJDMDQ4Cis6MTA4QTgwMDAyRTgwMTYyQzA4RTkwMDNBNDAwQzgwMDNFQzAwRjcwMDE5Cis6MTA4QTkwMDAyRkMwMEZGMDBCMkMwMEQ5MDAzMDQwMENGMDAzNjAwMzA2Cis6MTA4QUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwREY4MDhGRjAwM0ZDMENCCis6MTA4QUIwMDAwRkMyMTdGQzAwRjcwMDM3MDAwRjg0MDNGQzAwRkYwMDEzCis6MTA4QUMwMDAzRkMwMEZGMDAzRUQwMEZEMDAzRjQwMEZGMDAzRTgwNjRDCis6MTA4QUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBDRjMwMTc0ODA3Cis6MTA4QUUwMDAwQzU5MDNCOTAwREYyODM1MjQwRDgyQTM3QzgwRkYwMEQ4Cis6MTA4QUYwMDAzRkM4MEZGMjAzRTRBMEVGODAzRkUxOENEODQzMzAwMDgxCis6MTA4QjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVENDg4OTM0QTM3MDYwCis6MTA4QjEwMDAyOEIwMjM2MDAwOEJDMDIyNDAwOEI0ODIyRjQwQkZEMTEwCis6MTA4QjIwMDA2RkY0OEVCRDAyRTcwMEJCODAzQUUwMDg5ODBBMjgwNDgzCis6MTA4QjMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0QjA5MTAwQTg1MDdCCis6MTA4QjQwMDAwOEIyMDJDODg0OTMwMDI0NDkwQjAyMDI0QzAwQjMwNDBCCis6MTA4QjUwMDAyQ0MwMEIzMDQyODQwMEIzMDAyRTAwMEFCMDEyMjIwMTU4Cis6MTA4QjYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMUFDMDI5OTE4MkE0NEY3Cis6MTA4QjcwMDAwOEI4ODJBMjAxQkIwMDI4NjAwQUEwMTI2QzAwQkIwMEVBCis6MTA4QjgwMDA2RUMwMEFCMDAyRTQwMEJCMDAyQTAwMkFCMDAyMzgwNDFBCis6MTA4QjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMUU0MDhEQUMwM0E2MDA0Cis6MTA4QkEwMDAwQzE4MEFFQjA0REIwMDM2RTAwNzg1ODM2QzAwRkIwMDQxCis6MTA4QkIwMDAyRUMwMEZCMDQzRTQwMEVCMDAzRTg4MEUxODAzMTAwNEYzCis6MTA4QkMwMDA3MDAwMDAwMDAwMDAwMDAwRTA0MTlDMTBFOTAwMzc2MEU4Cis6MTA4QkQwMDA4N0YwMTc3MDAwQ0YwMTM3QzA0Qzk4MDNCQzAwRkIwMDMyCis6MTA4QkUwMDAzRkMyMEZGMDAzRTQwMEZGNDAzRkU0MEREOTAzRjAwMDYzCis6MTA4QkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE0MDBGNDAwMzA0MEJECis6MTA4QzAwMDAwRkI0MDM5OTAwRkIwMDNFQzAwRDA0MjMyQzA4RkI4ODIxCis6MTA4QzEwMDAzMkMwMEZCMDAzRTYwMERCMTAzRTAyMEZCMDgzRDAwNDc5Cis6MTA4QzIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCOTUwQTI0ODM4Cis6MTA4QzMwMDA4QkIwMDMyMDAwRDc4MDJFRDgwMDgwMDIzQzAwQkY4MDdDCis6MTA4QzQwMDAyM0U4OEJGMDAyRjQ0MDhCNDAwQzQyMDNCNjAyRjIwMEEyCis6MTA4QzUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMjQ0MDBDOEU1Cis6MTA4QzYwMDAwQjMwMTI4QzAwQTM4MDI0QzgwQjAwMEFDQzAwQjM0NDQ0Cis6MTA4QzcwMDAwNEMwMUIzNjAyQzUwMTgzMEMyQ0EwMEIzMDAyRjgwMDg3Cis6MTA4QzgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDhCNzkwMjE2NDgxCis6MTA4QzkwMDAwQkY4MDI0QTA0OTc4MTJGRTQwQTc4MDI5RTAwQjc4MEZECis6MTA4Q0EwMDAyMUUwOEI3ODgyRDY4Njg3ODQyREEwMEI3ODAyQzAwMEM1Cis6MTA4Q0IwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA0MDBGMjAwMzBDMDNFCis6MTA4Q0MwMDAwRjMwMDM4QzAwRTMwQTNDQzAwRjE4MDM4QzAwRjMwMjQyCis6MTA4Q0QwMDAzMEMwMUYzMDAxQzY4MEMzMDAzQ0MwMEYxMjAzREEwMjRGCis6MTA4Q0UwMDAwMDAwMDAwMDAwMDAwMDAwNDAwREJDMDBGRjAwM0Y0MUZDCis6MTA4Q0YwMDAwRkYwMDNCODA4RkYwODNGQzAwREYwMDMzQzIwRkYwODQ5Cis6MTA4RDAwMDAzQkQyMEZGMDAzRjQ0MEVGMDAzRkM0MEZEMDAzRDAwNjc2Cis6MTA4RDEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDBGRTAwMzJDMjcwCis6MTA4RDIwMDAwQzMwMEIyNjAwRkI4MDM2QzAwREEwMDNFQzAwRkJFMEVFCis6MTA4RDMwMDAzMkQwMEZCODQzNjQ0NERCMDQzRTgwMEZCMDAzRTIwMDNFCis6MTA4RDQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCNzAwQTFDMEE2Cis6MTA4RDUwMDA4ODcwMDMxMDAwQjcyMDIxQzAwODcwMDJEQzgwQjMzMDk3Cis6MTA4RDYwMDAzMUM4MEI3NDAyMTQwMDg3NDAyREMwNEI3MDAyRDIwMDMyCis6MTA4RDcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDk2MjBCNjgwMjBFMEU3Cis6MTA4RDgwMDAyOEY4MDI5NDEwQjc4MTI3RTIwOTc4MDJERTAwQjdBMDI0Cis6MTA4RDkwMDBBOUU4MEIzODAyNzYwMDg3ODAyREEwMEI1ODAyRjAwMDVFCis6MTA4REEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENFMTBCMzAwMjBDNEQyCis6MTA4REIwMDAwODIwMDI4MDEwQjMwMDIyQzgwOEIwMDJDQzExQjMwMjEwCis6MTA4REMwMDAyOEMwMEIzMDAyMDQwMDkzODAyQ0QyMEIxMDAyRDIwNDc2Cis6MTA4REQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGRTQwMzJBMEFFCis6MTA4REUwMDAwQ0U0MDM5ODgwRkEwMDM3QTAwREUwODNFODAwRkUwMDUxCis6MTA4REYwMDAzQTgwMEJBMDAzNjgwMEQ4QTAzRjkwMEZBMDAzRkEwNEFDCis6MTA4RTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDhGODA4M0UwMDk0Cis6MTA4RTEwMDAwRjgwMDMyMDAwRjg0MDNFMDAwRjgwMDNFMDAwRjgwNEJDCis6MTA4RTIwMDAzMDEwMEY4MDAzRTAwMkU4MDAzRTAwMEY4MDAzRDIwMDA0Cis6MTA4RTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGMTAwMzI0MEEzCis6MTA4RTQwMDAwRTkwODNBNDAwQzk4MDNFNDAwRTkwMDNBNDAwRjkwMDU4Cis6MTA4RTUwMDAzRTQwMEM5MDAzRTQwMEM4MDAzRTQwOEY5MDAzMDIwNEEzCis6MTA4RTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTQwQTA2MkVGCis6MTA4RTcwMDAwODEwMDIyNDEwODkwMDJFNDAwODkwMDIyNDAwQjkwMDM2Cis6MTA4RTgwMDAyRTUyMDg5NDAyQzQwMDg5NDAyRTQwMEIxMDAzNjAxMDNCCis6MTA4RTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTE4MjI0NDRBCis6MTA4RUEwMDAwQTkwMDJBQzAwODkxMDJFQzAwQTkwMDJBNDAwQjk4MDdBCis6MTA4RUIwMDAyRTYwMDg5ODAyRTYwMjg5MDgyRTQwMEI5MDAyMDYwMEY4Cis6MTA4RUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODBCMTIwQTA0ODE5Cis6MTA4RUQwMDAwODkwMDIyNDA4ODEyMzJDNTAwODEwMDIwNDgwQjEyMDNECis6MTA4RUUwMDAyQzQ4MjgxMjAyRTQ4MDgxMjAyQzQwMEI5ODAyNDIwNTc1Cis6MTA4RUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODUwMzIwMDkyCis6MTA4RjAwMDAwRTg1MDNBMUUwQ0EwMDNFMDAwRTg1MDNBMDAwRjgwMDE0Cis6MTA4RjEwMDAyRTAwOUNBMDAzRTAwMEM4MjgzRTAwMEY4MDAzMkUwMTE1Cis6MTA4RjIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBGNTEwM0Y0NDgwCis6MTA4RjMwMDAwRkQwMDNGNDAwRjExMDNENDA4RkQ0MDNFNDUwRjkxMDNBCis6MTA4RjQwMDAzRTQ1MEY5MTAzRDQ0MEZDMDAzRkMwOEZEMDIzRTYwNDgwCis6MTA4RjUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2MjBDREE4MzM0MDk2Cis6MTA4RjYwMDA4REQwMDMyNjgwQ0QwMDNENTAwQzlBMDM2NDAwRjlBMEZCCis6MTA4RjcwMDA3QTZBMEY5QTYzRTY4MEM5ODAzRTQwMEY5MDAzMDYwMDJDCis6MTA4RjgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDA4OEUwMzYwMEFBCis6MTA4RjkwMDAwODgwMEEyMTQyQzgwMDJFMjkwQ0E0NDIyMDAwQjg0MEIzCis6MTA4RkEwMDAyRTAwMEI4MTAyRTEwMDg4MDIzQTAxMEJDMDAyMEUwNDgwCis6MTA4RkIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDI4MTA4MjQ0MEMxCis6MTA4RkMwMDAwOTEwMDIwNDAwOTEwMDJDNDA0QjE0MDI0NDAwQjUxMDFCCis6MTA4RkQwMDAyOTQwMEI1MDAyRjUwMEI1MDAyRDQwMEJEMDAyMDIwMUQ0Cis6MTA4RkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE2MDE4OTAwMjY0MDUyCis6MTA4RkYwMDAwODk0MDIyNDAxODkwMDJFNDAxQTkwMDI2QzAwQkYwMkRFCis6MTA5MDAwMDAyRjQwMEJEMDAyRjQwMkJEODAyQjQwOEJEODNBMDYwNENGCis6MTA5MDEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBDOTA1MzY0MTEyCis6MTA5MDIwMDAwRDFDMDMyNDAwRDkwMDNFNDIyRjk0MDM2NDAwRjkwMDc0Cis6MTA5MDMwMDAzQTQwMEY5MDAzQzQwMEY5MDAzRTcwMEYxMDAzMjgwNDVCCis6MTA5MDQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg0MDhGOTI0M0U0MDYwCis6MTA5MDUwMDAwRjkxMDNFNDAwRjkwMDNFNDEwRDEwMDNBNDAwRjkwMDU0Cis6MTA5MDYwMDAzRTQwMEY5MDAzRTQwMEM5MDAzRTY0MEY5MDAzQ0EwMDI1Cis6MTA5MDcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDhDODgwMzIwMjM0Cis6MTA5MDgwMDAwRjgwMDMwMDAwQzgwODNBMTBDRTg0MDNFMDAwRkMwMDAzCis6MTA5MDkwMDAzRjAwOEZDMDAzRjA4MEZDMDAzRjE4MEZDMDQzQ0EwNDlDCis6MTA5MEEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4RTAwQTE4MDlDCis6MTA5MEIwMDAwQkUwMDIyODAwREVDMjIzOTAwMEEwMDJFODAwQkEwMDA0Cis6MTA5MEMwMDAyRTgwMEJBMDAyRTgwMEZBMDAyRTgwMEJBMDAyQ0EwMDNFCis6MTA5MEQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5OTgxNjBDMDlECis6MTA5MEUwMDAwQjEwMDIwQzAwOTAxMDJBRkMwQjMwMDJDQzAwQjMwMEQ1Cis6MTA5MEYwMDAyQ0MwMEIzMDAyQ0MwMEIzMDAyQ0MwMEIzMDAyQ0EwMEQ1Cis6MTA5MTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDODI5NTQwMjFDMDFBCis6MTA5MTEwMDAwQjUwMDIxQzgwOTA4MDIzMDEwOTcyMTJEQzAwQjYwMDAzCis6MTA5MTIwMDAyRDAwMEI0MDAyRDAwMEI0MDkyRDAwNEI0MDgyRTgwMDE2Cis6MTA5MTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFODBERDgwQjFFMDkzCis6MTA5MTQwMDAwRkRBMDMwRjgwRDQ4MDM5RTAwQjdBMDNERTAwRjU4MDVDCis6MTA5MTUwMDAzRDIwMEY0ODAzRDYxMEY2ODEzREUwOEY2ODAzRUEwMkY4Cis6MTA5MTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBFRDAwM0UwMDAzCis6MTA5MTcwMDAwRjkxMEJFQzEwRjgwMDNFMDAwRUIwMDNFQzAwRjgwMDZECis6MTA5MTgwMDAzRUMwNEZCMDAzRTgwMEU5MDEzRTAwMEY5MDAzQzIwNjY1Cis6MTA5MTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMjBCRjgxMzNBNDM1Cis6MTA5MUEwMDA4QzE5MDMzRTAwQ0Q4MDNGRTAwRkY4ODMzRTAwRUY4MDM2Cis6MTA5MUIwMDAzRkUwMEZGOTEzRkExMEZEODAzRkE0MEZEODAzQzAwMDYxCis6MTA5MUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCRjIwMzFDMjA4Cis6MTA5MUQwMDAwODVBMDIzQzAyODcwMDJEOTQwQjcwMEExQzQwODYxMDJFCis6MTA5MUUwMDAyRDAwMEI0MDAyRDQwMEY2MDAyRDQwNEI2MDAyRUEwNDMzCis6MTA5MUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzAxMjM4MDE4Cis6MTA5MjAwMDAyODUwMDIxQzAwODQwMDJEQzAwQjMwMDIxQzAwQjUwMDQ5Cis6MTA5MjEwMDAyRDAwMEI0MDA2RDA0MEI0MDgyRDgwMEI0ODAyQzAwMDQyCis6MTA5MjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDBCMzA4QTAyMEEzCis6MTA5MjMwMDAwODExOEEwRTAwODAwMDJDOTAwQjM3MDIwQzAwOTAwMDYxCis6MTA5MjQwMDAyQ0MwMEIzMDQyQ0MwNEEzODAyQzUwMEIzMDAyQzgwNDNECis6MTA5MjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBGOTgwMzI2MDVBCis6MTA5MjYwMDAwQ0Q0MDMzQzgwODgwMDNFRDAwRkY4MDMyODAwRkEwMDlECis6MTA5MjcwMDAzRUMwMEZCMDA3RUMwMUJCODAzRTU0MEZCMDA2RUEwNEJECis6MTA5MjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVFMDhGOTgwM0FDMDk1Cis6MTA5MjkwMDAwRjkwMDNFQzAwRjg0MDNFNTgwRkIwNDNFOTAwRUI0NDU4Cis6MTA5MkEwMDAzRTAwMEY4MDAzRTAwREY4MDAzRTgwMEY4MDAzRTAwMEQ5Cis6MTA5MkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDRjAwMzM0MDRGCis6MTA5MkMwMDAwQ0QwMDMzQzMwQ0MwMDNCQzAyREYwMDNEODAyQ0MwMEM2Cis6MTA5MkQwMDAzRDAwMENDMDAzRjQwMEVFMDIzNzQwMENFMDAzQzA0NDM0Cis6MTA5MkUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMTg4Mzg0MjAwMDFFCis6MTA5MkYwMDA0QTEwMDIwQzAwQTg0ODJFNjAwOEIwMDJFOTAwODk0MDFDCis6MTA5MzAwMDAyRUMwMDhCMDAyRTgxMEIxMDEyMDgwMEE5MDAzQTA0MEVFCis6MTA5MzEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjgyMjIwODU1Cis6MTA5MzIwMDAwODkwMDIyQzE0ODgwNDJDMDgwOEIwMTJFODAwOEEwMDY3Cis6MTA5MzMwMDAyRUMwMEFCMDAyRTgwMUI5MDAyNjA0MDg5MDAyRTAwMDNECis6MTA5MzQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzgwQTJDMDYwCis6MTA5MzUwMDAwQTkyMDIyQzAwQTIwMDJDMDAwODM0MDJDODAwODMwMEVDCis6MTA5MzYwMDAyQzAwMjgwMDAyQzQwMUJBMDAyMkMwMDIyMDA2QzIwMTVCCis6MTA5MzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDQTAwQjIwMEY4Cis6MTA5MzgwMDAwQzkyMEIyQzA0QzgwNDNBMDAwQ0I0MDNFODAwQzgwMDhCCis6MTA5MzkwMDAyRTAwMEM4MDMzRTE0MEU4MDAzNjAwMEM4MDAzQzAwMzRGCis6MTA5M0EwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwM0QwMDc4Cis6MTA5M0IwMDAwRkQxMEJGQzAxRkMwMDNGMDAwRkYwMDNEODAwRkQwMEIzCis6MTA5M0MwMDAzRkMwMEZGMDAzRkM4MEZGMDAzRkMwMEZGMDA3QTgwNjZFCis6MTA5M0QwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUYzMDBDRjgwMzU2MDcxCis6MTA5M0UwMDA0RTY4NDM1QzAwRTc4MDM5QzAwQ0MxMDM3RTAwQ0YzNDc3Cis6MTA5M0YwMDAzNUUxNERGMjAzN0MwMERGMzgzRkM4MEZGODAzRjAwMDgxCis6MTA5NDAwMDA3MDAwMDAwMDAwMDAwMDAwQzAxOEM4MDBEQjg0MjI2MDZCCis6MTA5NDEwMDAwOEFDMEEyQzAwOEI4MDIyMzAwODkxMjIyQzkwMjc2MTA2Cis6MTA5NDIwMDAyMkNBODhGQzIyQkYwMDhCNjIyRkQwMDlCODAzQjAwNDg3Cis6MTA5NDMwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUUyODBBOTAyMjQ0MEJFCis6MTA5NDQwMDA4MjM0NDIwNDAwQTkwMDI4QzU0ODMyMDI0QzIwODMzMEVGCis6MTA5NDUwMDAyMEMwMDgzMTAyMEQwMEIzMjAyQ0M0MEIzMDAyRjIwMUYxCis6MTA5NDYwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUFBMDJCOTA0MjI2MERDCis6MTA5NDcwMDAyOEIyMDIyNjAwODk4ODAyQzAwODMxMTJFQzAwOEIwMDU1Cis6MTA5NDgwMDAyQUQwMDhCMDAyQUMwMDJCMDAyRUMwMEJCMDAyQjAwNEYyCis6MTA5NDkwMDA2MDAwMDAwMDAwMDAwMDAwQzAwNUUyMDBFMzAwMzYyMDhDCis6MTA5NEEwMDAwRUE0NjM2RTAwRTFDMDFBQzEwQzgwMDM2ODcwQ0IwMDhCCis6MTA5NEIwMDAzNjgwMERCMDAzNEMwMEZCMDQzRUMxMEZCMDAzRDAwNDU2Cis6MTA5NEMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI4MDRERjAwM0YwMDcxCis6MTA5NEQwMDAwRkU4MDNGQzAwRkQwMDNGMDAyQjk4MDMzQTAwNzcwMEUzCis6MTA5NEUwMDAyN0U0MEZGMDAzRkMwMERGMDAzRUMwMERGMDQzRjgwMDVFCis6MTA5NEYwMDA2MDAwMDAwMDAwMDAwMDAwNTAwMEE0NjhDQjIwM0E5MEZCCis6MTA5NTAwMDAwRjI0QTNBQzAwRTk1MDNBQzAwRUI0ODMyQzA4RUIwMDQyCis6MTA5NTEwMDAzQTkwMEVCMDhCRUM4MEZCMDAzRUMwMEVCMDAzOTAwNDdFCis6MTA5NTIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwMTBBMDA4QkEwMjA4MDdECis6MTA5NTMwMDAwREE4MDIyQzA0ODk0MDI4RTgwOEIyMDIyQzAwQUYwMEQ0Cis6MTA5NTQwMDAwMjgwMDg3QzAzM0Q4MDNGMDAyRkMwMDhCMDAyMzYwMDM3Cis6MTA5NTUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ5MDAwMzQwMjhDMDcyCis6MTA5NTYwMDAyQjI4NEEyODAwQTEwMDY4RDIwQTIwNDJBNDAxQTMwMEE3Cis6MTA5NTcwMDAwMjQwMEEzNDAyMEQwMDMzMDAyQ0MwMEEzMDAwQjgwMDRCCis6MTA5NTgwMDA1MDAwMDAwMDAwMDAwMDAwQjgwMTFBMDA4NzkwMjFFNDlDCis6MTA5NTkwMDAyQkM4MTIzQTAwODVDMDJCMjEyODY4MDJCNjAwQTc4NDg4Cis6MTA5NUEwMDAyMzYwMDgzODgwMUUwMEI3ODAyREUwMDg3ODAyMkUwMDY2Cis6MTA5NUIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDBDMTAwMzg1NEM2Cis6MTA5NUMwMDAwRjI2ODM4MDAwRTAzNDI4QzgwRTJDMEI4QzAwRTMwMEFCCis6MTA5NUQwMDA3ODQ1MEUzMDAzOEU4MEYzMDAzQ0M4MEUzMDAzOTIwMkIzCis6MTA5NUUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI4MDBGNTAyM0Y0NEVDCis6MTA5NUYwMDAwRDkwMDNGODAwQkQxNDFGQzAwRkUxMjM1QzQ0OUY0MjhGCis6MTA5NjAwMDAzRkMwMEZGNDgyN0Q0MEZGMTAzRkMwNEY3MDA3RDAwNjZGCis6MTA5NjEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDJDQjAwMzhDMDkwCis6MTA5NjIwMDAzQ0EwMDNFQzAwRTkwMDNFQzAwQ0IwMDMyMDA0RkIyMTg5Cis6MTA5NjMwMDAzRTgwNEZCNDAzQ0YwMENCMDAzRUNDNEZCMDQzRUEwMDk2Cis6MTA5NjQwMDA3MDAwMDAwMDAwMDAwMDAwQzg5MTk4MDA4NzAwMjFDMDUxCis6MTA5NjUwMDAwODQwMDJEQzA0QjUwMDJEMDAyRDcwMDIxQzFDQjcwMjZFCis6MTA5NjYwMDAyREMwMEI3MjAyREMwMDg3NDAyRENBOEI3MDAyRjIwNDAxCis6MTA5NjcwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEJBMDA4Nzg4MkJFMDM2Cis6MTA5NjgwMDAxODc4MjJENjExQTQ4MjJGRTAwODc4MDIxMjAwQjc5NDJECis6MTA5NjkwMDA2RDYwNEI3QTAyREU0MEI3QTAyREUwMEI3ODA2RTAwMDRCCis6MTA5NkEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEM5MTI4MzgyMjhENDYyCis6MTA5NkIwMDA5ODAwMDZFRjA1QjE5MDJDQzEwOUI0MDIwQzA0QjMwMTY3Cis6MTA5NkMwMDA2Q0YwMEIzMDAyQ0MwMEJCMDAyRUMwMEIzMDAyRDIwNDc5Cis6MTA5NkQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4NDBDQTgwM0JBMDQwCis6MTA5NkUwMDA0Q0U1MDJGODgwRUUwMDNEODAyQ0UwMEYzODgwRkEwMDU3Cis6MTA5NkYwMDAzRkE5MEZBMDAzRTgwMEJBMDIzRTgwOEJBMDAzRkEwNDQyCis6MTA5NzAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMTBGODAwMjYwMkExCis6MTA5NzEwMDAwRjg0MDNFMDI0RjgwMDNFMDA0RjgwQTNFMDMwRjgwMEZGCis6MTA5NzIwMDAzNjAyMEY4MDIzRTAwNDA4MDAzRTAwMEY4MDAzRDIwMEMxCis6MTA5NzMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBEOTAwQjY0MTJECis6MTA5NzQwMDA0RTk5MEJBNDAwNjkxMDNFNDAwQzkwMDNBNDEwQzkwMDcwCis6MTA5NzUwMDAzRTQwMEQ5MjAzRTYwMEY5MDAzQTQwMEU5MDAzQzIwNDI5Cis6MTA5NzYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4MTAwMjA0MkZFCis6MTA5NzcwMDAwODE0OUEyNDAwODkwMDZFNTAwMDkwMDIyNDEwRDkwMjI3Cis6MTA5NzgwMDA2RTQwMEI5NDAzQTcwMEI5MDAyMjQwMDg5MDAzRTAwMDRDCis6MTA5NzkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTA2MDA5OTAwQTY0MTE2Cis6MTA5N0EwMDAwQTkwMDYyQzAwQTkwOTZFNTAwODkxMDI4NDA0ODkwMEQxCis6MTA5N0IwMDAwRTQwMEI5NDAyRTU0OUI5MDAwQTQwMEE5MDAyQzYwMDI3Cis6MTA5N0MwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA2MDA4MTAwMjI0MDY0Cis6MTA5N0QwMDAwODEyMjIwNDgxQTEwMDJDNDAwODE2MDIwNDAwOTEyMEU2Cis6MTA5N0UwMDAyQzQwMEIxMjQyODQ4OUIxMjAyMDQ4MDgxMDAyQzIwMThCCis6MTA5N0YwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBEODAwMzYwMEY1Cis6MTA5ODAwMDAwQTgwMDNBMTQwRTgwMDJFMDAwQzAwMjNBMTQwQzg1MEFDCis6MTA5ODEwMDAyRTE0MEQ4MDAzRTAwMEY4NTAzQTAwMEU4MDAzRUUwMzkyCis6MTA5ODIwMDA1MDAwMDAwMDAwMDAwMDAwODgxREQ0MDBGNTAwQkY0MDdCCis6MTA5ODMwMDAwRkQxMDNGNDQ0REQwMjNENTAyQkQxMjNGNDAwRjkxMDg1Cis6MTA5ODQwMDAzRjQwMEQ5MTAzQTQ0OEY5MTIzRTRFMUY5MDAzQTYwMjFCCis6MTA5ODUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUY0MDBDNTA0M0I0MDMzCis6MTA5ODYwMDAwRkQ4MDNBNzgwRkQwMEIzNjgwREQ4NDNBNTEwQzlBMDg5Cis6MTA5ODcwMDAzMjUxNEY1QTQzMzYwMEM5QTA3QTY4MEJEMDAzQzYwMTUzCis6MTA5ODgwMDA3MDAwMDAwMDAwMDAwMDAwNzgxOENBODg4ODAyMDIwMEZBCis6MTA5ODkwMDA4RDg0MjIyMzQyRjgwMDIyMDQyODhBQTJBQTk0ODhFOTBGCis6MTA5OEEwMDAyMEE4MEE4MDBBMjE0MDgwRTIyRTI4MEI4MDAyQ0UwNEU0Cis6MTA5OEIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM0MjBBMTA0QThDMDNBCis6MTA5OEMwMDAwQjFDMkEyNDAwMzkwNDIwNDAyQTFFMDJFNDgwQjExMDE3Cis6MTA5OEQwMDAyQTQ4MDkxNDQ2MDQwMDgxMzgyQzVCMEIxMDAyRDIwMDgwCis6MTA5OEUwMDAzMDAwMDAwMDAwMDAwMDAwMTgwNUE0MTJBOTI0MjI0MDQ2Cis6MTA5OEYwMDAyOTkwMDIyNDAwMzkwMDAyNTgwODE4MTBFNjAxQjkwMDI2Cis6MTA5OTAwMDBBQTQ0MDg5MDAyMjQwMDg5MDAwRTQxMEI5MDAyQzYwNDZDCis6MTA5OTEwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNUU0MDBFMTAxMkE2NEVFCis6MTA5OTIwMDAyRjk0MTMyNDAyNzE2MDEyNjA0RDkwMDBDNTAyRjkwMDVCCis6MTA5OTMwMDAzQTQwMEY5MDIzMjQwMkM5MDIzQTQwMEY5MDAyRTgwNEYzCis6MTA5OTQwMDA1MDAwMDAwMDAwMDAwMDAwNjgwMUE0MDBEOTAwM0U2MDQzCis6MTA5OTUwMDBBRjkwODM2NDg4RjkyMDNFNjIwMzkwODNBNDAwQzkwMDFECis6MTA5OTYwMDAzNjYwMEYxMDAzQzQwMEY5MDA3RTQwMEY5MDAzREEwMDQ4Cis6MTA5OTcwMDA2MDAwMDAwMDAwMDAwMDAwMjgwMEExMDBDODgyMzIwMDQyCis6MTA5OTgwMDA2RjAwMDNBMDAwRDg0MDMwMDAwRTgwMDM2MDA0RjgwMThGCis6MTA5OTkwMDAzRTEwNEY4MDhCMjIwMEY4MDAzMjAxMEU4MDAzQ0EwNDczCis6MTA5OUEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwMTM4MDAwRTAwQTk5MEVGCis6MTA5OUIwMDAyRkU2MjA4ODAwOUU4MDIzODAwQUU4MDMyODAwQkEwMDUyCis6MTA5OUMwMDAxODgwMERFQzAyMzg4MEJBMDBBMjgwMDhBMDAzOEEwMDNCCis6MTA5OUQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTZDMDI4MzgwMjBDOEMxCis6MTA5OUUwMDAwQjIwMDIwQzAxOTIxMDY4QzAzQTNDMDJDQzEwM0IwMkUyCis6MTA5OUYwMDAwQ0MwMjgzQzAyNEUwMEIzMDAyOEMwMjgzMDAyQ0EwMDI4Cis6MTA5QTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE0MDA4NzQyMkJDMDlECis6MTA5QTEwMDAyOTcwMjI5QzAwQjYwMDJCQzIwQTYwODYxQzAwQjcyMTY4Cis6MTA5QTIwMDAyOUMwMDA3NDAyNUMwMDM3OTEwMUUwMDg3NDAyQTgwMEFDCis6MTA5QTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBDNzgwMjFFMEQwCis6MTA5QTQwMDAyRjc4MDI5RTAwOTY4MDM5RTAyRUY4MDNERTMwRjdEMEEyCis6MTA5QTUwMDAyREYyMDA3ODAzNTIwMEY3QTIzQkUwMEU3ODA3RUEwMkVECis6MTA5QTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREI0MDBGQjAwMENDMDU2Cis6MTA5QTcwMDAwRjMwMDNFQzEwRDMwMEI0QzAyRjgwMDM2QzQ4RkIwMDAwCis6MTA5QTgwMDAzRUM4NEQ5MDAzQTQwMEZCMjAxRUMwMEZCMDAzQzIwNkM5Cis6MTA5QTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBDQzgwMkIyQ0MwCis6MTA5QUEwMDAyRkY4MDM3RTAwNkU4MDNCQTEwREQ4NDMzRTAwRkY5MDRGCis6MTA5QUIwMDAzM0UwMEZFOTMzRkUwMENGQzAzRkUyMEZEODAzQzAwMDEwCis6MTA5QUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMUI0NDA4NzAwMjEwNENECis6MTA5QUQwMDAwODc4MDIxQzAwODYwMDIxQzAyODkwMDJEQzAwQjcxMDI0Cis6MTA5QUUwMDAyMUMwMEY3MzAyQ0MwMDg3MDAyREMwMEI1MDAyRUEwMDhBCis6MTA5QUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlEMDBBNDAwMjk0ODU0Cis6MTA5QjAwMDA2QUYwODI0QzAwQUUwMEExQzQyOTc0MDI1QzQwQTMxMDJDCis6MTA5QjEwMDA2MUMyMEI2MDA2QzgwMDg3MDAyREMwMEI1MDAyQzAwNDU0Cis6MTA5QjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEU2MDFBMzAyMjA0MEY1Cis6MTA5QjMwMDAyODNDMDIwQzAwODM0MjIwQzgwODEwMDJDRDAwQjMwMDZDCis6MTA5QjQwMDAyOEYwMEIzMDAyQ0MwMTgzMDQyQ0MwODMxMDAyQzgwNDFGCis6MTA5QjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFBODBFQjAwMzhDMDBCCis6MTA5QjYwMDAwQTkwMDM3QzIyQTI0MDMyNDgwREIwMEIzRTAwRkYwMDU5Cis6MTA5QjcwMDAzM0Y0MEY5MDAzRUMwMDhGMDIzRkMwMEY5MDAzRUEwNDEwCis6MTA5QjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEUwMDBEOTAyM0VDMDNDCis6MTA5QjkwMDAwRUI2MDNFQzAwRkEyMDNFQzA0RjI0MjNBQzYwRkIwMDVECis6MTA5QkEwMDBBNkMwMEU5MDAzRTQwMEZCMDAzQ0MxMEY5MDAzRTAwMDUwCis6MTA5QkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEY4MDJDRjAwMzNFMDg4Cis6MTA5QkMwMDAyQ0YwMTNCQzAwMkUxMEIxNjQyRUYwMDIzQzAwRkYwMkZBCis6MTA5QkQwMDAzRkMxNERFQzYzRkUwMEI3MDAzQkMwMENEODAzQzA0NDRFCis6MTA5QkUwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDZDMjg4MTgxMjJFMDI5Cis6MTA5QkYwMDAwQTM4MDIzQzA0QkFDOTMyRTAyMDg0MDIyQzAwQkIwMEJGCis6MTA5QzAwMDAyRUMwMEI5QzAyRTc4MUJCMDQyMkMwMEE5OTAyRTAwMDJGCis6MTA5QzEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI4NDA4ODgwMjI4ODk1Cis6MTA5QzIwMDAyOEJDNDJBQzAwQkEwMDJBODAwODg0MDJBQzAwQkIwMDA5Cis6MTA5QzMwMDAyRUMwMEJCMDgyRTg5MEFCMDA2MkMwMDhCMDEyRTAwMDBBCis6MTA5QzQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDA4OTAwMkE4MDk1Cis6MTA5QzUwMDAyOEIyMDIwQzAwQkEwMDIwQzAwODAwMDI4QzAwQjMwMDM5Cis6MTA5QzYwMDAyQ0MwMEIzMDIwNEMxNEIzMDAyMEMwMDgzMDAyQzIwMUJECis6MTA5QzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDY4MDBDODAwQjJDMDM1Cis6MTA5QzgwMDAyQ0IyMDNBQzAwRkEwMDNBQzA0RUE1MDNCQzAwRkYwMEEyCis6MTA5QzkwMDAzRkMwMDlBMDAzRTkwNEVGMDBCQUMwMENCMDAxQzAwMTQ1Cis6MTA5Q0EwMDAxMDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGNTAwMzVDMDA1Cis6MTA5Q0IwMDBBRjM0MDNGQzAwRjQwMDM5QzAwRkMyMDM3QzAwRkYwMTg1Cis6MTA5Q0MwMDAzRkMwMEZGMDAzRkNBMEZGMDAzRkMwMEZGMDAzRTgwNTBBCis6MTA5Q0QwMDA2MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBGRjI5M0QyMERFCis6MTA5Q0UwMDA4RUMxMDMzMjQ4REM4MDIzMjUwRUYyMDMzQ0MwREY4NEEyCis6MTA5Q0YwMDAzM0M5MEZGMjAzRkMwMENGODAzMzQwMENGMjAzMzAwMDc1Cis6MTA5RDAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDQzBCQjYwMkUwODU2Cis6MTA5RDEwMDAwODgxMDIyMDA0ODgyMDIwNDgwOEYxODIyREMwODMwMDk5Cis6MTA5RDIwMDAyMkQ0MDlGNTAyRkMwODhCMDEyMjQwMjhCNDAyMjAwNDQ5Cis6MTA5RDMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMjBCMzA5MkM4MjEwCis6MTA5RDQwMDAwODEwMTZBMDEwOTAwODI4NDgwQTMyMDIwQzAwQkIwMDI4Cis6MTA5RDUwMDAyQ0MwMEIzMDAyQ0MwMjkzMDEyMDAwOEEzMTIyRTIwMTk4Cis6MTA5RDYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDRCQjAwMkM4MDk3Cis6MTA5RDcwMDAwODg2MDJBMDIwQTAwMDJBNjAwQUIwMTAyQzAwQUIwQ0JDCis6MTA5RDgwMDA2RUMwMDlCMDAyQ0MwMDlCMDAyMjYwMEFCMDAyRjAwNDUxCis6MTA5RDkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUVDMDBCQjAwM0UzNDM1Cis6MTA5REEwMDAwOEEwMEI4MzAwRDkwMjNBRTAyRUIwMEIyQzAwRjg4MEZCCis6MTA5REIwMDAzRUMwNEZCMDAzRUMwMENBNDBCMjcyMEVCMDBCQzAwNEZDCis6MTA5REMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMTBGQjAwM0YwMDNDCis6MTA5REQwMDAwREY4MTM3MDQ4REQ0MDM3QzI4REYwMDNEQzAwRERDODlDCis6MTA5REUwMDAxM0MwMEZGMDAzRkMwMEVFNDA3RjQwMEQ3MDAzMzgwMEZECis6MTA5REYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjAxMzJDMDE5Cis6MTA5RTAwMDAwNDEwMDMyMDQwRTgxMDNBQzAwREIwMDNBQzA4Rjg0MDNECis6MTA5RTEwMDBCMkMwMkNCMDMzQTQ4MkRBNDBCQTQwMEZCMDAzRDAwNEYxCis6MTA5RTIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNDMDhCRjgwMjJDOEQ4Cis6MTA5RTMwMDAwOEI3MDAyMzQ0ODhEMDIyRDAwODcwODJGQzAwQjJFMDJBCis6MTA5RTQwMDAwM0Y0MDhGNTAyMzcwNDhCRDEyMjYwNEJGRDAyRjIwMEM3Cis6MTA5RTUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMzEwQTQ0MEVBCis6MTA5RTYwMDAwODAwMDI0ODAwQTA0MjJBRDAwMTMwMDI4QzAwQjM4MEQyCis6MTA5RTcwMDAyQ0MwMDkzMTAyQ0MwMDg5MDAyMkU4MDMzODAyRjgwMDI2Cis6MTA5RTgwMDA1MDAwMDAwMDAwMDAwMDAwNjAwMTFFMDBCNzgwMjc2NDQxCis6MTA5RTkwMDA2ODRBMDI1MjAwOEM4MDIxRTAwODc4MDJERTAwQjc4MDE4Cis6MTA5RUEwMDAyREUyMTkzOTAyNUUzMDg1OTgyMUU0MEI3OTAyRDgwMDQxCis6MTA5RUIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGMzIwMzQwMEJGCis6MTA5RUMwMDAwQ0I4MDM0ODgwRTIyMjM4QzAwRDMwMDM4QzAwRjMwMDQ4Cis6MTA5RUQwMDAzRUMwMEQzMTAzRUMwMENCMDAzODA2MEYzMDgzRDIwMkI4Cis6MTA5RUUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDBGRjAwM0IwMTFFCis6MTA5RUYwMDAwRkQwMDM5MDAwRjYwMDNGQzAwRkY0MDFGQzAwRkYwMUZCCis6MTA5RjAwMDAzM0MyMEVGNTEzQkMwMEVEMDAzRkM0MEZGMDAzRDAwNkMyCis6MTA5RjEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDBGQjAwM0NDMDUxCis6MTA5RjIwMDAwRUEwMDE2NDAxRDgwMDMyRTAyQ0I1MDMyQzAwRjIwMDMxCis6MTA5RjMwMDA3QUMwMERCNDAzMkQ4MEM5MDIzMkMwMENCMDAzMkEwMEQwCis6MTA5RjQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDODBCNzAwMkRDMDg4Cis6MTA5RjUwMDAwRDYwMDJEMDAxODQwMDIxQzAwODMwMDIxRDAwQjcwMDRFCis6MTA5RjYwMDAyMUM4MEJGNDAzMUVDMDg2MDAyMUMwMDg3QzAzNTIwNEU0Cis6MTA5RjcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFQzBCNzkwMkRFMDBGCis6MTA5RjgwMDAwODc4MDZENjAxQjQ4MjIxRTAwODc4MEExRTAwQjVDMDIwCis6MTA5RjkwMDAyOUU4MDk3ODAyMzZDMTk3ODAyOEIwMEE3QTAyMzAwMDkxCis6MTA5RkEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCQjAwMkNFMEEyCis6MTA5RkIwMDAwOTM1ODJDMEMxQTA1MTIwRTQwODMwMDI4QzAwQkJDNDI2Cis6MTA5RkMwMDAyMEMwMEIzMDAyMDYwMDkzMThBQUIwMkEzMDBBNTIwNEFGCis6MTA5RkQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGQTAxM0RBQ0M4Cis6MTA5RkUwMDA0Q0VDMTM3ODEwRjY4MEIzOTAwQ0EwMDMyODAwRkUwMDEwCis6MTA5RkYwMDAzQTgxMERBMDBGMkE4MERFMDQzQkEwMEVBMDAzM0EwNDk0Cis6MTBBMDAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDBGODAwM0UwMDkyCis6MTBBMDEwMDAwRDgwMDJFMTAwRDg0ODNFMTIwRjgwMTM2MDAwRjg2MDA2Cis6MTBBMDIwMDAzRTAwMDc4MDAzQTAwMkU4MDQyNjA4MDU4MDAzOTIwMDkyCis6MTBBMDMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGOTA0M0E0MDdECis6MTBBMDQwMDAwQzEyMDMyNDgyQzkwMDM2NDQwRjEwMDMyNDAwRjkwMEM3Cis6MTBBMDUwMDAzNjQwMDQ5MDAzMDQwMEM5MDAxMjQwMEM5MDAzMDIwNDJGCis6MTBBMDYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTgxMjI0MDNDCis6MTBBMDcwMDAwODkwMUEyNDAwODkwMDIyNjgwQjk5MDIyNDAwQjkwMDc0Cis6MTBBMDgwMDAyMjQwNjg5MDBBMjQwMDg5MDBBMjQwMDg5MDBBMjAwMDFCCis6MTBBMDkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTEwMjJFMEE0Cis6MTBBMEEwMDAwODk0MDAwNDA0OEIwODI2QzAwQjkwMDIyNDA0QjkwQzA5Cis6MTBBMEIwMDAyNDQwMEExMDAyMjQwMDIzMDIyQTQwQTgxMDAyMDYwMEFECis6MTBBMEMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0OTBCMTIwMjI0MDdECis6MTBBMEQwMDAwODEyMDIwQzEwODEwMkEwNTAwQjEyMDIwNDgwQjEwNTdDCis6MTBBMEUwMDAwMDQ4MEExMDAyMDRBMEExMDAyODRBMDgxMjAwMDIwMTM4Cis6MTBBMEYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODUwQkExNEU0Cis6MTBBMTAwMDAwQzg1MDMwMTQyQzg1MDM0MDAwRjg1MDMyMTQwRjgwMDNDCis6MTBBMTEwMDAzNjAwMEU4MDEzMjA4MEUwMDAxQTA4MEMwMDAzMkUwMzg2Cis6MTBBMTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0NDRGOTEwM0Y0MDdBCis6MTBBMTMwMDAyRkQxMTNGNDA0RjUwMDNGNDAwRjkxMEJFNDQwRkYyOEFBCis6MTBBMTQwMDBCRTRFMEQ5NjgzRDRBMkREMjgzNzRBMEY5MzgzRTYwNkQwCis6MTBBMTUwMDA3MDAwMDAwMDAwMDAwMDAwOTgwNUU0MTBDRDAwM0Y0MEIyCis6MTBBMTYwMDAwRkQwMDMzNTAyNUQwMTMxNDQwRkQwMDMyNDAwRjkwMDA0Cis6MTBBMTcwMDAzMjYwMEM5ODgzRTY0MEQ5MDAzNjZBMEM5RTgzMjYwMTMzCis6MTBBMTgwMDA2MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDA4ODAwMkUwMDkxCis6MTBBMTkwMDAwQjgwNDIwMjgwOEEwMDIyMjA4ODgwMDMyMDA4Qjg4MjM3Cis6MTBBMUEwMDAyMjIxMDg4ODgyRTI0Mjg4QTgyMjIwMDhDRTAyMEUwNERBCis6MTBBMUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDI4MTAwNjg0MDczCis6MTBBMUMwMDAwQjEwMDI4NDAxQjkwMDIwNDA0OTEwMEEwNDAwQjUwOEIwCis6MTBBMUQwMDAyMTQ2MDg1MDAyRDQwMDhEMjAyNTRBMEI1MDAyNDIwMTJFCis6MTBBMUUwMDAzMDAwMDAwMDAwMDAwMDAwMTgxMUE0MDA4OTA0NkU1NDIzCis6MTBBMUYwMDAwQjEwMTJBNDAxQTkwMEEyNDAxODkwMTYyNDAwQjkwMDY3Cis6MTBBMjAwMDAyMzQwMThEMDAyRjQwMDhENDAyMTRBMEJEMDAyNDYwNEFFCis6MTBBMjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBDOTAwM0E1MEYyCis6MTBBMjIwMDA4Rjk2MEI4NDAyRjEwMTMwNDg4RDkwMDMyNDEwRjkwMEMxCis6MTBBMjMwMDBCMjQwMkM5MDAzRTY0MEQxQzAzNjUwMkY5MDBCNjgwNEZBCis6MTBBMjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAwM0U2MDNBCis6MTBBMjUwMDAwRjk5QzM2NDAwRDkyODNFNDAwRDkwMDNBNDAwRjk0MDMzCis6MTBBMjYwMDAzRTQwMEY5MDAzRTQyMEY5NDAzRTQwMEM5MDAzOEEwMEVBCis6MTBBMjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODAxMzYwMDc3Cis6MTBBMjgwMDA4RjgwMDNFMDAyRjgwNDMyMDAwRDgwNDMyMDAyQ0MwMEVFCis6MTBBMjkwMDAzRjAwMEZDMDEzOTAwMkRDNDAzRjEwNENDMDIzMEEwNDYzCis6MTBBMkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBCQTAwMjI4MERECis6MTBBMkIwMDAwQkU4MjBGODAwNEVDMDIzQTAwOEEwMDM2ODAwOEEwMDI1Cis6MTBBMkMwMDAyRTgwMUZBMDAyMkEwNjhBMDAyRUEwMDI2MDAzMEEwMDI4Cis6MTBBMkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTZDMDBCMzAwMjBDMDEyCis6MTBBMkUwMDAwQjNEMDJDMDAzMjMwMDIwRTAwMUIwMDY0QzAwOEIwMEIwCis6MTBBMkYwMDAyRUMwNEIzMDAyOEUwODgzODAyQ0M0MDAzNDhFNEEwMDVFCis6MTBBMzAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDODBCNTgwNjFDMDZBCis6MTBBMzEwMDAwQjQwMDJENDAwODQwODIzQzIwODUwMDI1RUMwODQwMUFFCis6MTBBMzIwMDAyRDAwOEEwODAyMTAyNDg0MDg2RDAwMEEwMzEyMjgwMEY4Cis6MTBBMzMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGNTgyMjE2MDE3Cis6MTBBMzQwMDAwRjc4MDNENjA0QUU4MDMxRTAwRDU4MjM3RTAwQzY4MDFFCis6MTBBMzUwMDAyREUwMEI3ODAzOEUwMEQ3ODIzREYwMEM3QTAzNkEwMjYxCis6MTBBMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGMTAwQkFEODk5Cis6MTBBMzcwMDAwRjgwMDNFNDEyRjgwMEJFODAwRTEwMDNFQzAwRjkwMDE5Cis6MTBBMzgwMDAzRTAwNUY4MDAzRTAwOEY4MDQzQzAwMEY4MDAzQzIwNjMzCis6MTBBMzkwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMjBGRjgwM0ZGMDRDCis6MTBBM0EwMDAwRkY4MDNEMjAwRUY4NEIzNjEwQ0I5MDNGRTAwRkY4MDA1Cis6MTBBM0IwMDAzM0UwMENGODEzMjIxMUNEOTAzRjYwMENFODAzMTAwMDNECis6MTBBM0MwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBGNTAwMkRDMEU2Cis6MTBBM0QwMDAwQjAwMDJENDA0ODQyMDIzNDAwODVBMDJEQzAwQjQwMDlECis6MTBBM0UwMDAyMTAwMjhDMjAyMUUwNDg2MDQyRDg4MDhEMDAyMkEwNEY3Cis6MTBBM0YwMDA2MDAwMDAwMDAwMDAwMDAwMTAwMDlDMDBCNTAwMkQ0MDJGCis6MTBBNDAwMDAwQjcwMDJGNDIwQTcwNDIxQzAwQTUwMDJEQzAwQkUwMDM5Cis6MTBBNDEwMDAyMUMwMDg3MDEyMDAwMDg1MDAyRDQwODg2ODBBMDQwMEUxCis6MTBBNDIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNENDMDBBMTAwMkVDMDNECis6MTBBNDMwMDAxQjA4MDZDNDIwODAwMDIwOTgxQTEwMDJDQzAwQjEwODI2Cis6MTBBNDQwMDAyMDAwMDgwMDAyMEMwMTgyQzAyQ0FDMjg5MDIyMTgwNEM1Cis6MTBBNDUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBCMzAwM0U0MDIyCis6MTBBNDYwMDAwRkJBMDNFNTAyRTkwNDMyOTBBRUIwMDNGQzEwRkI0MEUyCis6MTBBNDcwMDBCMjAwMEM4MDBCMkMwMjgyMTgzRkEwMENEMDAzMkUwNERCCis6MTBBNDgwMDA2MDAwMDAwMDAwMDAwMDAwOTAwMEVDMDRGQjAxM0U0MDcyCis6MTBBNDkwMDAwRkI2NDNFNDAwRjgwMDNFODAwMTkwMDNFQzAwRjg4MTIxCis6MTBBNEEwMDAzRUQwMERCNDUzRTAwMEY5NDAzRTQwMEZBMDAzRTAwMDYxCis6MTBBNEIwMDAzMDAwMDAwMDAwMDAwMDAwODAxMERDMDJDRDgwMzM2MDFFCis6MTBBNEMwMDAyQ0RBMDNGQzAwRUMwMDMzNDAwRkYyMDM3QzA0RkUwMEE2Cis6MTBBNEQwMDAzMjAwMENDODAzM0MwMENFMDAzMTgwMENEMTAzMjQwNEIwCis6MTBBNEUwMDAzMDAwMDAwMDAwMDAwMDAwOTEwNDZDMDAwOTAwMkE2NEE0Cis6MTBBNEYwMDAwODhFMDJDMjEwQTAxMDNFMTAwQjk4MDJFQzAwQjkwMEFBCis6MTBBNTAwMDAwMkQ4MDhCRTIyMjAwMDg5MDAyMjUwMDhBMDAyMjA0MDY0Cis6MTBBNTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDAwQjIwMjI0MEVECis6MTBBNTIwMDAwOEEwMDJFNTQyQUIwNDIyMTgwQkIwMDI2QzAwQjMwMDk1Cis6MTBBNTMwMDAyMDA0MDgwMTAyMDAwNEE4NDAyMjEwMDg4MDAyMjAwMDI0Cis6MTBBNTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDg4MzAwMjg0MEMwCis6MTBBNTUwMDAwODA0MDJDNDAyQTgwMDJDMDAwQjEyMDJDQzAwQjAwMEI4Cis6MTBBNTYwMDAyMEMwNDAzMDAyMEMwMDhCMDBBOEMwMDgzMDAyMDIxMTRECis6MTBBNTcwMDAwMDAwMDAwMDAwMDAwMDAwODAwRDZDMDBDOTAwMzM0MEE2Cis6MTBBNTgwMDAwQ0IwMDNFQzAyRUIwMDMyNDAwRkIwMDM2QzAwRkEwMDk5Cis6MTBBNTkwMDAzMjAwMEM4MDAzMjA4MEM4MDAzMDAwMEM4MDAzMjAwM0IwCis6MTBBNUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGRDAwM0Y0MDJBCis6MTBBNUIwMDAwRkMyMTNGMDAwRjQwMDNGMDA0RkQ0MDNGQzAwRjUwMDdECis6MTBBNUMwMDAzRkMwOEZGMDAzRkM0MEZGMDAzN0MwMkZGMDAzRTgwNkM4Cis6MTBBNUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwMDBDQzAwMzMwMDU3Cis6MTBBNUUwMDAwRUQwMEIzMzAwQ0MwMDMzRTAwRkMwODM3QzAwQ0YyMEIzCis6MTBBNUYwMDA3QjA5OENGODAzRkU1MENGMzgzRkUxMERDMjAzRjAwMDE5Cis6MTBBNjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUyMDA5ODA4MjA4MDI4Cis6MTBBNjEwMDAwODk4MDIyMDAwODhEMDIyRTAwRUI0MjI3RDE5OUY2OTlDCis6MTBBNjIwMDAyRTkwMDgzMDkyMjg4MURCNjQyRUUxODgxNkEyRTAwNDg3Cis6MTBBNjMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM4MDA5MDI0MjAwMUMwCis6MTBBNjQwMDAwODEwMTYwMDgyODMwMTI4QzEwQjAyODIwQ0UwQTMxMEJGCis6MTBBNjUwMDAyODBFMUI5MjAyODQ4NDkzMjAyRUMwMDgzMTAyRTIwMTRFCis6MTBBNjYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE4MTA5ODAwMjI4MEIzCis6MTBBNjcwMDAwODkwMDIwMDYwOEExMDJBQzAwQTIwMDI2QzE4QkIwMEYxCis6MTBBNjgwMDA2RTYwMkI5MDAyNDYyMDhCMDAyRUMyMDhCMTgyRjAwNDJGCis6MTBBNjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMUU0MDJDQjAwQjI0MDY2Cis6MTBBNkEwMDAyQzkyMDMyNzAwODgwMEJBQzAwRjg4MDMyQzAwRUIwNDBCCis6MTBBNkIwMDAzQUEwQ0YyQ0EzRUQwMDlCMDAzQ0YwMkQ4QzMzRDAwNEFFCis6MTBBNkMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MDRFRjAwM0ZDMDkzCis6MTBBNkQwMDAwRDUxMDNGMDAwRjE4MTM3QzAwRUY0MDM5QzEwQ0YwMDQwCis6MTBBNkUwMDAzRDgwMENFQzA3QjgwOEZGMDIxRkM0MEZDODAzRjgwMDM4Cis6MTBBNkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMDlFMDBDMzAwMzg0MEQxCis6MTBBNzAwMDAwQzkyMDNBNDgwRkIyMDNBQzAwRDk0MDMyQzQwRkIwMDY0Cis6MTBBNzEwMDAzRTAxMEY4MDAzRTUwMEVCMDAzQUMwMEQ4NDBCMTAwNEVFCis6MTBBNzIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDg4QjAyMjJDMDk5Cis6MTBBNzMwMDAwODkyMDMyMTAwOEI0ODIyQzAwQkI3MDIzRDQwM0YwMTI1Cis6MTBBNzQwMDAyMjc0MEI5MDAyMjgwNEJGMDBCMkMwMEI4NTAyMzIwMEI1Cis6MTBBNzUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQwMDE4MDAwMjgwMEVCCis6MTBBNzYwMDAwODJDMTI4ODQwQjA0MDA4QzAwQjE4MDIwRTAwQjMwMDNECis6MTBBNzcwMDAyODIwMTEzMDAyMEMwMEIzMDAyNDAwMDkwMDA2MzgwMDI0Cis6MTBBNzgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTEyMDA4NDgwMjFBMDgxCis6MTBBNzkwMDAyODY4MTIzQTAwODQ4MDI1RTA4QjU4MDIxRTQwQjc4MjU4Cis6MTBBN0EwMDAyMUE2MEI3ODAyMUEwMEI3ODAyMTIwMEI1ODAyMDgwMDVFCis6MTBBN0IwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDBDODIxMzgwOUQ3Cis6MTBBN0MwMDAwQzI4MDM4MDAxRjEwMDM4QzAwRDg1MDIwQzAwRkIwMDRECis6MTBBN0QwMDAzODg1MEYxMDAzOEMwMEVCMTAzQ0M4MEQzMDAzMTIwMkJCCis6MTBBN0UwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDk4MDBGQzAxM0Y4MEI4Cis6MTBBN0YwMDAwRjY4MDNEMDQwRkMwMDNCQzAwREMwMDNGQzIwRkYwMEVECis6MTBBODAwMDAzQkM1MEZGMDBCQjQ0MEZGMTgzRjAwMEZGMTAzRDAwNjFCCis6MTBBODEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDBFQjAwQjA0MTZCCis6MTBBODIwMDAwQ0EwMDNFMDA0Q0EwNEIwRTAwRUIwMDNFQzgwQ0IyMDFGCis6MTBBODMwMDAzMjgxMENBMDAzRUUwMERCMDAzRTAwMEVCMDAzMkEwMEM0Cis6MTBBODQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDQ4NzAwMjFDMDNGCis6MTBBODUwMDA0ODYwMDJGMDAwODcwMDIxQzAwODcwMDJGQ0EwODMyODM1Cis6MTBBODYwMDBBMzgwMDg2MDAyREMwMDg3MjAyREMwMEI3MDAyMTIwNDU4Cis6MTBBODcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlDMDJBMzgwMjE2MDc2Cis6MTBBODgwMDAwODY4MDJEMjAwODc4MDIxRTAyOTc4MDJERTgwODc5MDY0Cis6MTBBODkwMDAyMUEwMTk0ODAyRkUwMDk3ODAyREUwMEEzODgyMzAwMDdFCis6MTBBOEEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDE4MzgwMjBDMDdDCis6MTBBOEIwMDAwODIwNDJDMDMwODM3MEEwQzA4OTM0MDJDQzAyODMwMERCCis6MTBBOEMwMDA2MEMwMjkwMDAyQ0UwMDgzMDAyQ0M4MEJCQzAyMTIwNDE5Cis6MTBBOEQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE5MDBFQUUyMzI5MDE0Cis6MTBBOEUwMDAyQ0UwMDNGQjAyQ0VDMDMyODAwRkU0MDNFODAwOEEwMEI0Cis6MTBBOEYwMDAzMzg4MEQ2NEMzRkEwMERBMDAzRDkwMEVFMDBCM0EwNDkxCis6MTBBOTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEMwMjRGODA4M0UxMjZCCis6MTBBOTEwMDAwRkMwMDNFMDQ4RjAwMDNFMDAwRTgwOTNDMDAwRjgwMDM2Cis6MTBBOTIwMDA3RTAxMEU4MEMyRTA0MEY4MDA3RTAwOEY4NDAzRDIwMERBCis6MTBBOTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU1MDBDMTAxMzI0OEFFCis6MTBBOTQwMDAwQzk4MDNFNjQwQzkwMDMyNDAwRjkwMDM2NjAwQzkwMDJFCis6MTBBOTUwMDAxODYxMEM5MDAzNjQyMEY5MDUzRTQwMEM5MDgzMDIwNEJBCis6MTBBOTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY2MjA4OTAwMjA1MkIyCis6MTBBOTcwMDAyODEwQzIyNjAyQTkwMDIyNDAwQjkwMEEyNzAwQTkwMDM1Cis6MTBBOTgwMDAyMjcwMDg5MDAyMjQwOEI5MDAyRTQwMEE5MDBBMjAwMDg0Cis6MTBBOTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDI4RDAwMjM0MDc0Cis6MTBBOUEwMDAwOEQxMDI4NDIwODkwMDIyNjAwQjExRjIyNEIwODEwMEJBCis6MTBBOUIwMDAyQTQ2MDg5MDQyNjQwOEI5MDAyRTQwMDg5MjAyMDYwMDE4Cis6MTBBOUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDE0ODA4NTIwMjM0ODk3Cis6MTBBOUQwMDAwODUyMDI4NDA4ODEwMDIwNDAwQjEyMDIwNDgwQTEyMDRBCis6MTBBOUUwMDAyODQ5Mjg5MDAyMDQwMDMxMjAyRTQwMDgzMjAyMDIwMTNBCis6MTBBOUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBDODUwQjIxNDU0Cis6MTBBQTAwMDAwQ0MwMDNBMTQwQzgwMEIyMDAwNzg1MDMyMTQwQzg1MDE0Cis6MTBBQTEwMDAzQTE1MEM4NTAzNjE0MEY4NTEzRTAwMkM4NTAzMkUwMzQ2Cis6MTBBQTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREM0NDhGOTEwM0U0NDhBCis6MTBBQTMwMDA0RjkxMDM3NDAwRjU0NDNFNDAwRkQxMDNFNDQwRjkxMEY4Cis6MTBBQTQwMDAzNzQ0MEZEMDAzRDQwMEY5MTAzRkMwMEZEMTAzRTYwNkZFCis6MTBBQTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUY2QTBERDhDMzM3OEFGCis6MTBBQTYwMDAwRURBMDMzNTAwQ0RBMDMzNDAwREY4MEIzNjgxRTk4MEI2Cis6MTBBQTcwMDAzMzcwMEM5MTAzRTQ0MEY5QzAzRUMwMEZEQzAzQzYwMDA0Cis6MTBBQTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDRCODQwMjAzQ0Q1Cis6MTBBQTkwMDAwQzg1MDIwMjg0OEE0MDIyMDAwODhGODIyMzAwQjhFOEQ1Cis6MTBBQUEwMDAyMjIwMDg4ODAyRTIwMEI4RDAyRTAwMEI4QzAyQ0UwNENGCis6MTBBQUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDA5MTAwNjA0ODVDCis6MTBBQUMwMDA0QjEwMDIwNDhBODE0MDYwNDA0OTEwMDI4REEwQTE0MUQwCis6MTBBQUQwMDAyMDUwMDkxMjIyQzQ4MEIxMjAyQzQwNEIzRTAyQzIwMUZBCis6MTBBQUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDhCOTA0QTA0MDgwCis6MTBBQUYwMDA0OEIwMDIyNDAwODkwMDgyNDAwODkwQTZBNDAwQjkwNDRFCis6MTBBQjAwMDAyMjU0Mjk5NTAyRTU0MEI5MDA2RTQwMEI5MjAyQzYwNDFBCis6MTBBQjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNUU0MDA5MTAwMzI0MDQ5Cis6MTBBQjIwMDAwRjkwMDkyNDAwODk5MDMyNDAwRDk0MDNBNDAwRTkwMjlCCis6MTBBQjMwMDA3MjYwMEQ5NDAzRTQwMUY5MDEzRTYwMEY5MDAzRTgwNDk0Cis6MTBBQjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0NDBGOTAwM0U0MDExCis6MTBBQjUwMDA0RjkwMDNFNzEwRjk4MDNFNDAwRjEwMTM2NDAwRjEwMDlFCis6MTBBQjYwMDBCRTQwMEU5MDAzRTYwOEY5MDEzRTY0MEY5MDAzQ0EwMDUwCis6MTBBQjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgwMEEwMDBGODAwMzIwODdCCis6MTBBQjgwMDAwQzAxMEIyMDQwQzg0MDMyMDAwRTg0ODMyMDAwRjgwNEUyCis6MTBBQjkwMDAzRTA0MEY4MDAzMjEwMEU4MDAzRTEwMEY4ODAzQ0EwNDIyCis6MTBBQkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM4MDAzRTA0MjM4MDNCCis6MTBBQkIwMDAwOEVDMTIzOTQ0QTYwMDI4ODEwOEUwMDAzODA4QkEwMEUxCis6MTBBQkMwMDAzRjgwMEJBMDAyQTgwMDhBMDIyRTgwMEJFMDAyQ0EwMDgwCis6MTBBQkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTQ4MDAzMTAwMjREMDlCCis6MTBBQkUwMDAwODNFMTJBRTA4ODFBMDJDQzAwQTM4MDA0QzAwQjMwMDA5Cis6MTBBQkYwMDA2RUMwMEEzMDAyMEMwMEEzMDA2Q0MwMEIzMDAyQ0EwMDA5Cis6MTBBQzAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE4MDBCNTEwMjVDMDkxCis6MTBBQzEwMDAyODYwMTI5MDEwQTUwODJEQzIwODY0MjI1ODE4QjcwMEE5Cis6MTBBQzIwMDAyRDgwMEI3OTAyQkVDMDg3MDE2REMwMEI2MDAyRTgwMDY5Cis6MTBBQzMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGNTg0MzUyMDM4Cis6MTBBQzQwMDA4QzE4MDI5MjEwQzU4MDNENjAwRUM4MEI1QTA4NzdGMzJECis6MTBBQzUwMDAzREEwMEZGODAzMUVCMEU3ODUzREUwMEY3ODAzRUEwMjQwCis6MTBBQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGMTA0QkEwMTYzCis6MTBBQzcwMDAwRkEwNDM2MDA5RTEwMDM4NDAwRUEwMDNBODE0RkIyMDk4Cis6MTBBQzgwMDAzQTgwMEZCNDFCNEM4MEZCMjkzRUMwMEZCMDIzQzIwNjk0Cis6MTBBQzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZBMDBDRDgwM0JFMEVECis6MTBBQ0EwMDA0RUY4MDNGMjAyRDQ4MTNCRTA4RTk4MDczRTQ0RUY5MUM4Cis6MTBBQ0IwMDAzRkUwNEZGQzA3RUVEMENGOTgzM0U0MEZGODAzQzAwMDFECis6MTBBQ0MwMDA3MDAwMDAwMDAwMDAwMDAwQTgwMTk4MDA4NTEwMkRDNDRECis6MTBBQ0QwMDAwRDExMDJGMDAwODUyMDMxQzQwQjdCMDAzODQwRDcxMEU1Cis6MTBBQ0UwMDAyRDgwMEI3MDYyRkVFMTg3MTQzOUMwMEI2MDAyRUEwNDBDCis6MTBBQ0YwMDA2MDAwMDAwMDAwMDAwMDAwMDAxMEJDNDBBNTAwMjk0MERBCis6MTBBRDAwMDAwQjUwODJEQzQwODQwNDJEQzAwQjEwMDY1ODQ0QTcxMDYxCis6MTBBRDEwMDAyRDgwMEI3MTAyREMwMDg3MDQyMUMyMEI1MDAyQzAxMDkxCis6MTBBRDIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMEFBMTAxMkM0MEVCCis6MTBBRDMwMDA4OTE4MDJDMTAwQTEwODIwQzAwQjM0MDY0MDAwOTMwNTA5Cis6MTBBRDQwMDAyQzE0MEIzQzg2Q0UxMDgzMDEyOEYxMEIxNDAyQzgwNDhFCis6MTBBRDUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUEwMDBFRDAwM0FDMDdGCis6MTBBRDYwMDAwN0JDNjNFRDAwODE0MDNFQzAwRTg4MDM2NDAwRUYwMDI1Cis6MTBBRDcwMDA3RTUwMEZGMDAyRkQ0MkNGMDA3MkMwMUZCNDAzRUEwNDAwCis6MTBBRDgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU4MDA5OTAwM0VFMDQ0Cis6MTBBRDkwMDA0RkI0ODNFRDkwMDk0MDNFQzAwRkExODNBODAxRUIwMUExCis6MTBBREEwMDAzRTAwMEZCMTEzRUMwQ0ZCMDAzQUMwNUYyMDIzRTAwMDIzCis6MTBBREIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEY4MDBGRDA0M0ZCMDZBCis6MTBBREMwMDAwRDYwMDMzRTAwQ0QwMDMzRjAwRkYyMDFGMDAwRkYwM0YxCis6MTBBREQwMDAzRjAzMEZGMDAxRkMwMEZCMDIzM0MyMEZGMEUzMDA0NDFECis6MTBBREUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZBMDBCOTAyMkVBMEJCCis6MTBBREYwMDA0QUFDMDIwRTgwRjlDMDM2RTEwQkEwMDIyQTA4QkIwMDYzCis6MTBBRTAwMDAyRTIwMEVCMDAyRUMwMEVCMDAyMkMwOEJCMDAyMjA0MERFCis6MTBBRTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwMTIzMDBBOTAwMjhDMEVECis6MTBBRTIwMDAwOUIyMjI2QzQwODk4OTJBQzAwQjE0MDYyNjAwQUIwMkE1Cis6MTBBRTMwMDA2RUUwMDlCMDA2NkMwMEIzMDIyMkMwMEJCMDAyMjAwMDI1Cis6MTBBRTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA4MDBCMTAwMkNDMDExCis6MTBBRTUwMDAwQTMwMDIyQzAwQkIwMDY0QzAwQjMyMEEwODAwMzMwMDI5Cis6MTBBRTYwMDA2QzgwMDIzMDQ2Q0MxOEEzMDAyMEMwMEIyODAyMDIxMUNGCis6MTBBRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTY4MDBFOTAwMzhDMTgzCis6MTBBRTgwMDAwREIxMEIyQzAwODkwMDNBQzAwQjkwMDM2MDAwRkYwMjRCCis6MTBBRTkwMDAzRTgwMEZGMDAzRkM4MEZGMDAzMkMwOEY4MDBCMDAwMzY4Cis6MTBBRUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxMUQ4MDBGRDA0M0ZDMEM5Cis6MTBBRUIwMDAyRkYyMDNGQzExRUYwMDNGQzAwRkY0NDM3MDAwRkYwMEJFCis6MTBBRUMwMDAzRjAwNDZGMDAzRkQwMEVGMDAzRkMwMEZDMDAzRTgwNjVGCis6MTBBRUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZFMDBGRjgwM0RFMEEzCis6MTBBRUUwMDAwQ0Y5MTNERTAwN0Y4MEIzRTAwRkZDMDNCRTQwQ0Y4MDdGCis6MTBBRUYwMDAzM0YwMEZGODAzN0MwNENDODAzM0EwMENGMDBCMzAwMTRFCis6MTBBRjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUwMjA4ODAwMkUyMDZCCis6MTBBRjEwMDAwODgyMTJFMDgwQTg4MTIyMDIwQjgwMDIyMDgwQTg4MDkzCis6MTBBRjIwMDAyMjA4MEI4MDAyMkMwMjg4MDRBQTIwMDhCMDAyMjAwNDA4Cis6MTBBRjMwMDAyMDAwMDAwMDAwMDAwMDAwODgwNUVDMDBBMzA4MkM4MDIxCis6MTBBRjQwMDAwODMyMDJDNDIwQTMwMDI4NDAwQjkyMDI4NDAwQTkwMTA5Cis6MTBBRjUwMDAyOEM4MUIxMjgyQ0M0MEE4MDAyNEUwMEEzMDQyMjIwMUZCCis6MTBBRjYwMDAzMDAwMDAwMDAwMDAwMDAwQzAxMUE4ODBBODAyMkU0MEEwCis6MTBBRjcwMDA2ODgwMTBDODAwQjg0MDJBOTAwQkEwMDAyODAwQUEwOERBCis6MTBBRjgwMDAyQTAyMDMyMDAyOEMwMEE4ODgyRTIwMEFCMDAyMzAwNDc2Cis6MTBBRjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUU4MDRGQTAwM0M0MDlBCis6MTBBRkEwMDAwQ0EwMDNFODAwRUIwMDNBQzAwRjIwNTNBODAwRTM0MEQ4Cis6MTBBRkIwMDAyQTQwMEZBMDAzNkMwMEE4ODAzNDIwMUVCMDAzMTAwNEE4Cis6MTBBRkMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MDA5RDkxM0Y4MDhGCis6MTBBRkQwMDAwRkRBMjNGNDAwQ0MyMDM3MDAwN0QwMTM3NDAwQkMwMDM0Cis6MTBBRkUwMDBCNzgwMEJEMDQzN0MwMERDMDQzQjAwNkRGMDAzRjgwMDFECis6MTBBRkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE4MDBGQTgwM0EwMDQ1Cis6MTBCMDAwMDAyQ0EwMEIyMDAyQ0I2MjNFNTAwRTg4MDMyMDAwRDkxMEVBCis6MTBCMDEwMDAzRTcwOEM4MDMzRUM4MEQ4NDAzQTAyMERCMDAzMTAwNEFGCis6MTBCMDIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwMTBDMDAzOTgwMjJDMDkwCis6MTBCMDMwMDAwQzlEODIyQzEwRDA0MDJFQTAwOEI4MDM0RTAyOEE0MEVFCis6MTBCMDQwMDAwRUEwMERCMDAzM0QwMEQwOTAzNjEwMEJGMDAyQjIwMDAwCis6MTBCMDUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMTAwNjBDMEFFCis6MTBCMDYwMDA4QTE4MDI4QzA4ODA0MDBDQTAwMjMwMDJDRTAwODI0ODcwCis6MTBCMDcwMDAyQzgwMkIzMDA2OEMwMDgxMDIyMDkwMDlCMDAyMzgwMDExCis6MTBCMDgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTEyMDBCNjkwQTMzMDI0Cis6MTBCMDkwMDAwOEU4MjJCMjE0ODc4MDJENjAwODQ5MTIxMjYxOTU5MDQ5Cis6MTBCMEEwMDAyRDYxMEE0ODE2MUU4MDk1ODAyNTIwMEI3ODAyODgwMEE1Cis6MTBCMEIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGMTAwMjg4QzRGCis6MTBCMEMwMDA4RTEwMDM4NDgwODAwMDJDMDIwQTlBMDJFNDAwRDAwMEQzCis6MTBCMEQwMDAzRTgwMEI5MTAzOEU4MEMyMDgzODgwMERCMDAzMTIwMkFGCis6MTBCMEUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREIwMDBGNjAwM0Y0NERBCis6MTBCMEYwMDAwRjIxMTM3ODAwRkYwMDNEQzAwRkUwMDM3ODAwRUYwNDNDCis6MTBCMTAwMDAzRjQwOERFODAzREMwNEY2MDAzRjAwMEZGMDgzRDAwNkRCCis6MTBCMTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDBFODgwMzI0MDYwCis6MTBCMTIwMDAwRjg4MEIyODAwNzgwMjNFODAwRTI4MDMyODAwQ0E4MDcyCis6MTBCMTMwMDAzMjAwMEZBMDAzRUMwMEM5ODAzMjgwMEZCMDAzMkEwMDU4Cis6MTBCMTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMThDMDA4RjAwQTE4MEZBCis6MTBCMTUwMDAwQjcwNDIxNDAwQjcwMDJENDEwQjUwNDIxNDAwQTUwMEEzCis6MTBCMTYwMDBBMUMwMEI1MDAyRkM4MEE1MDAyMTAwMEJGMjAyMTIwNENBCis6MTBCMTcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMEJBMDBBNDgwMjkzMDc4Cis6MTBCMTgwMDA0QjQ4MDY1MjA4QjQ4MDJEMjAwQjQ4NDIzMjAwODQ4MDgwCis6MTBCMTkwMDAyMTIwMEI0ODEyREU0MDg2ODEyOUEwMEI3ODBBMzAwMDVFCis6MTBCMUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDA4MzA1MjBFMENGCis6MTBCMUIwMDAwQjM0MDI2QzEwQjMwMDJDQzAwQjM2NEEwRDBEQTMwMEVCCis6MTBCMUMwMDAyMEMwMEIzNDgyQ0MwMkEyMDAyODAwMEIzMDAyMTIwNEYzCis6MTBCMUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE5MjBFQTQwMzBBMDdGCis6MTBCMUUwMDAwN0EwNDM2OTQwRkEwMDNDODAwRkEwMDMwODQwQ0EwMDUyCis6MTBCMUYwMDAzMEEwMEZBNDAzRTgwMENFMDAzQjk4MEZBMDAzM0EwNDUwCis6MTBCMjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEQyMDBGQzA4M0YwMDgxCis6MTBCMjEwMDAwQkMyMDNCMDAwRkMwMDNGMDAwRkMwMDNGMDAwRkMwMEI1Cis6MTBCMjIwMDAzRjA0MEZDMDAzRTAwMEY4MDBCNjAyMEY4MDAzRDIwMDE1Cis6MTBCMjMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBEOTAwM0U2ODYzCis6MTBCMjQwMDA0QzkxMDFFNDA4QzkwMDNFNDAyQzkyMDNFNDAyQzlBMERECis6MTBCMjUwMDAzRTcwMEU5MDAzQzY0MkM5MDAzRTQwMEYxMDAzMDIwNDI4Cis6MTBCMjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTg2MEU2MDQ5Cis6MTBCMjcwMDAwODk4MDJFNDA4ODkxMDJFNjAwODkwMDJFNDAwODkwQzA2Cis6MTBCMjgwMDAyRTYwMDg5MDAyRTY4ODg5MDAyRTQwMEI5MDAyQTAwMEY0Cis6MTBCMjkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA5RDEwMkY0MDQxCis6MTBCMkEwMDAyOEQwMDZGNDAyQUQwMDJGNjAwOEQwMDJGNDAwOEQwMDEzCis6MTBCMkIwMDAyRjQwMEFEMDAyRTQwMDg5MDAyRTYwMEI5MDAyMDYwMEE1Cis6MTBCMkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDM0MDA4NTAwMkQ0MDBDCis6MTBCMkQwMDAwODU4MDJENDAwQTUwMjJENDAwODUwMDBENDAwODUwMDczCis6MTBCMkUwMDAyRDQwMDg1NDAyQzQ4MDgxMDAyQzYwMEIxNDAyODIwMTlFCis6MTBCMkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBEODUyM0UwMDgwCis6MTBCMzAwMDAwQzA1MDNFMTQwRTgwNDNFMTQwQzg1MDNFMTQwQzgwMDRECis6MTBCMzEwMDAzRTE0MEVDMDAzRTAwMEMwMDIzRTAwNEY4MDIzMkUwMzA3Cis6MTBCMzIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0MDBGOTAxM0U0MEFDCis6MTBCMzMwMDA0RjkwMTNFNDAwRDkwMDFFNDAwRjkwMDNDNDEwRjEwMDk5Cis6MTBCMzQwMDAxRTQwMEY5MDAzRTRFMEZEMjgzRjQwMEY5NDAzRTYwNjAzCis6MTBCMzUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUE0MDBGRDAwM0Y0MDQwCis6MTBCMzYwMDA0RDUwMDJFNDAwOTUwNDMzNDAyOEQwMDNGNDAwRkQwMDYyCis6MTBCMzcwMDAzMzQwMEY5MTAzMzQwMENENDAzMzQwMEY5ODgxMDYwMEQ1Cis6MTBCMzgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMTBCODAwMkUwMDJGCis6MTBCMzkwMDAwQjgwMDJFMDEwQjgwMDIyMDAwODgwMDJFMDAwQjgwMDM0Cis6MTBCM0EwMDAyMjAwMEI4ODAzQzI4MDg4ODAyMjAwMEI4QzAyMEUwNENFCis6MTBCM0IwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNEM0MDBCMTAwMkNDMEYwCis6MTBCM0MwMDAwQjEwMDJDNDAwQkIwMDIyNDAwODEwMDJDNDAxQjkwMEU3Cis6MTBCM0QwMDAyMDQwMUI5MDAyMDQyMjg5MDAyMDYwMEIxMjgyMDIwMThGCis6MTBCM0UwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0NDRCOTAwMkVDMDMxCis6MTBCM0YwMDA0QjkwMDJFNDEwQjkwMjAyNDAwODkxNDJFNDAwQjk4MDg3Cis6MTBCNDAwMDAyMjQwMEI5MjAyQzQwMDk5NDAyMjQwNEI5MDEyMDYwNDQ1Cis6MTBCNDEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU2MDBCOTAxM0U1OEUxCis6MTBCNDIwMDAwRDkwMDNFNjAwRDEwMDMyNjAwQzk4MDJFNjQwRjkwMDZFCis6MTBCNDMwMDBCMjQwMEYxODAzMjQwMEM5ODAzMjUwMEY5MDIzMjgwNDEzCis6MTBCNDQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAwM0U0MjQ2Cis6MTBCNDUwMDAwQjkwMDNFNzA4RjkwMEJFNDgwRjkwMDNFNDAwRjkwMEUxCis6MTBCNDYwMDAzRTQwMEY5ODAzQTQwMEU5QTBCRTQwMEYxMDBCNEEwMDE1Cis6MTBCNDcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBEODAxM0UwMDdECis6MTBCNDgwMDAwRjgwOEIyMDAwRjgyMDNFMDEwRjgxMDNFMDAwRjgwOEI4Cis6MTBCNDkwMDAzQTAwMEM4MDAzRTAwMEQ4NDAzMjAwMEY4MDEzMEEwNDA5Cis6MTBCNEEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4QTgwMkY5MTVECis6MTBCNEIwMDAwQkVFMDIyODAxQkUwMDIwODAwQkEwMDJFQTgwQjY0OEY1Cis6MTBCNEMwMDAyMjgwMERBMDAyRkEwMjg2NDFBM0E2MEJBMDAzMEEwMDY3Cis6MTBCNEQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5MzgwMkNDMEI0Cis6MTBCNEUwMDAwQjMwMDIwQzEwQjMwMDI4QzAwQjM4MDJDQzAwQjMwMEE0Cis6MTBCNEYwMDAyOEMwMDkzMDAyQzYwMTgzNjAyMDcwMEIzMDBBNEEwMDYwCis6MTBCNTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTJFODg4NTA4MkQ4MDVBCis6MTBCNTEwMDA0QkY4MDYxQzgwQjcwMDIxQzAwQjUwMDJENDAwQjYwMEM3Cis6MTBCNTIwMDAyOTYwMDk3MDAyRDBBMDhEMDAyMTQwMEIzMjAyMjgwMDUyCis6MTBCNTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBENTgwM0RFMDhCCis6MTBCNTQwMDA4Rjc4MDMxRTg0Qjc4MjNENjAwRjU5MDNERTAwRjc4MEI5Cis6MTBCNTUwMDAyOTYwMTU3ODAzREUwMEM3ODAzMTYwMEY3QzAzNkEwMjIyCis6MTBCNTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDNDBFOTAwM0U4MDIzCis6MTBCNTcwMDAwRkEwMDNFRDMwRkIwMDM2QzEwRjk2MDNFNDAwQjMwMENCCis6MTBCNTgwMDAzNDQwMEZCNzgzRUM0MDIxMDAzRTQwMEZCMDAzQzIwNkE5Cis6MTBCNTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRjgxMzNFMEI1Cis6MTBCNUEwMDAwRkY5MDNERTIwQ0Y4MTNGRTAwNzc4MDMzRTAwRkY4MEU0Cis6MTBCNUIwMDAzRkUwMDRGODEzRkUwMkRFODAzMzYwMEZGODAzMDAwMDYyCis6MTBCNUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCNzAwMjFDNDFBCis6MTBCNUQwMDAwQjVBMDJEQzQ4ODY1MDJEQzAwQjMxMDI5NDYwQjQxODFGCis6MTBCNUUwMDAyRDQwNDg3MDAyRTgwMEE1MTAyMTQwMEI3MTAyMkEwNDhBCis6MTBCNUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCRDAwMjE0MjJGCis6MTBCNjAwMDAwQjcwMDJGQzAyODUwMDI1NDAwQjUwMDI5QzAwQjcwMDI1Cis6MTBCNjEwMDAyRjQwMjg3MTAyREMwMEE2MDAyMUMwMEI3MDAyMDAwMDQwCis6MTBCNjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNDZEODBCMTIwQTA1MDE4Cis6MTBCNjMwMDAwQkIyMDZDRTAwQTAzNDJFRjAwQjE4MDI4NTIwQjM0QUMwCis6MTBCNjQwMDAyQzU0ODgzODAyQ0MxMEExMDAyMEIwMEIzMDAyMDgwNDIyCis6MTBCNjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJFODBGMzA4MTA1NDYwCis6MTBCNjYwMDAwQjg4MTNGRjAwQzA4MDNFNjQwRkI0ODMwNzAwRjlDMDRECis6MTBCNjcwMDAzRUYwMENGQzEzRjQwMEVBMDAzMjcwMEZGMDBCMkEwNEM5Cis6MTBCNjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGOTAwM0UxMEE3Cis6MTBCNjkwMDAwNzkxMDNFQ0MwNTgwMDNFNDQwRjkyMDNFNDAwRjkwMDA4Cis6MTBCNkEwMDAzRUMwOEZCMzAzRTAwMEJCMDBCRTQ0MEZCMDAzRTAwMDE4Cis6MTBCNkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDJDRDA0MzNFMDY3Cis6MTBCNkMwMDAwQ0MwMDMzQzA4RkUwMDMzNjAyQ0QwMDJCNDgwQ0YwMEQ1Cis6MTBCNkQwMDAzRjUyMDdGMDEzRkMwMENFMTAzMzQyMENCMDAzQzA0NEJECis6MTBCNkUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDA4OTAwMkFCMEQ2Cis6MTBCNkYwMDAwODg4MDIyQzAwQkEwMDM2NDQwODkwMDAyNjAwREJDMEZGCis6MTBCNzAwMDAyRTQwMEJCMDAyRUMwMDgzQzAyODQwMEFCMDAyRTA0MDlCCis6MTBCNzEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjAwMjIwOEIzCis6MTBCNzIwMDAxQUEyMDIyQzEwQjkyMDIyNDAwODMwMDIyQzA0QUE1NDdDCis6MTBCNzMwMDAyRUMwMEJCMDEyQ0MwMDhCMDgyMjQwMDhCMDAyRTAwMEYzCis6MTBCNzQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzA0MkEwMEYwCis6MTBCNzUwMDAwQTA4ODIwQzAwQjgwMDY0NDAwODMwMDJBNDAwQjAwMDVGCis6MTBCNzYwMDAyQ0MwOEIzMDEwQzgwMjhCMDAyQTQwMEEzMDAyQzIwMTY0Cis6MTBCNzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDOTAwMzIwMDU1Cis6MTBCNzgwMDAxQTgyMDMzQzAwRjkwMDMyNDAwQ0QxMDNBQzAwRUIwMEZDCis6MTBCNzkwMDAzRTQwMEZGMDAzRUQwMEMzMDAzMkMwOENCMDAzQzAwMzg1Cis6MTBCN0EwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGNTAwM0YwMDYwCis6MTBCN0IwMDAwRDgwNEJGQzAwN0MwMDNGNDAwRkQyMEI3NDAwREYwMDdCCis6MTBCN0MwMDAxRDQwOEZGMDAzRkNBMEZGMDAzRjgwMEZGMDAzRTgwNjUwCis6MTBCN0QwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBERjg0M0JFMEJBCis6MTBCN0UwMDAwRkY4MEIzRTAwRUM4MDMzRTEwQzMwMDMzQzgwQ0Y0ODc3Cis6MTBCN0YwMDAzN0MwMEU0MDAzRTBDMEM3OTFCMzA0MENGMDAzMzAwMDIzCis6MTBCODAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVGMDQ4QjgwMjI0MUQ3Cis6MTBCODEwMDAwQkIwODIyRTAwODg4MEEyRTAwQUEyOTJBRDgwODc0MkZGCis6MTBCODIwMDAyM0Q4OEFBRDAyRTBDMDhCMDAyMDRDNDhBNDAyMjAwNDNCCis6MTBCODMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDNThCQjAwMjg4MEM0Cis6MTBCODQwMDAwQkIyNDIyNDAwQTgwMDJBQzAwQTEwMDIwNDYwQTMyMDAwCis6MTBCODUwMDAyNEQyMDgwMDQyOEM4MzlCMDEyMDQ5MDgzM0MyMjIwMTc0Cis6MTBCODYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDBBQjg4MjJBMEYyCis6MTBCODcwMDAwQkI4MDIyNjBDQTgwMDJBQzAwQTkyMDJBNDAwQUIwNjRDCis6MTBCODgwMDAyMkMwMEFCMDAyRTgwMDlCMDAwMjQwMDhBMDQyMzAwNDM3Cis6MTBCODkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBEMzgwM0FFMDlBCis6MTBCOEEwMDAwRjE4MDEwNjAwRTgzMDM4NjYwRUI4MDMyQTQwRUIwMDk2Cis6MTBCOEIwMDAzNkMxMEU5NjAzRTI4MERBMDgzMjgwMkNCQjAzMTAwNEY2Cis6MTBCOEMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMTlDMDBERjAwM0ZDMEFECis6MTBCOEQwMDAwRkQwMDNGNDAwREM4MDM3NjAwRkU4MDNGQTAwREYwMUNCCis6MTBCOEUwMDAzRkMwMEZDMDQzRTY0Q0VGQTAzRjQ0MEZBMDAzRjgwMDU5Cis6MTBCOEYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDNDBEQjAwMzY4MDFCCis6MTBCOTAwMDAwQzk4MDMyNjAwRjgwMDNFQzAwRTE4MDM4NDAyRTMwMUUxCis6MTBCOTEwMDAzOEMxMEVCNDAzQUM4MENBMTgzQUQwMkMzMDAzMTAwNERFCis6MTBCOTIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNGNDBCOTg4MkU4MEJDCis6MTBCOTMwMDAwOEJDMDJBMzAwQjAwMDBFQzAwOEIwMDYyMDAwOEYwNEFGCis6MTBCOTQwMDAyM0MxMDhCOTEyMkYwMDgzODAzNjQwMDhBRDAyMzIwMEFGCis6MTBCOTUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMjAwMkNDMEQ4Cis6MTBCOTYwMDAwOTMyMDI4NDAwMzMwMDJDQjIwQTM2MTI4QzA4OTMwNTg3Cis6MTBCOTcwMDAyMEMwMEIxODAyRUQwMDkxODA2QTAwMDgxMDAyMzgwMDA4Cis6MTBCOTgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDBCNzgwMkRFMEU0Cis6MTBCOTkwMDAwOTc4MDI5NzQwQjQ4MDJGQTAwOEU4MDIwRTQwOTc4MkYxCis6MTBCOUEwMDAyMUUwOTg2ODgyMUExODlEOTAyREExMTg1ODAyMDgwMDZECis6MTBCOUIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDQzBGMzAwM0VDMDNBCis6MTBCOUMwMDAwREIwNDM4NDQwRjAwMDNDODIwRTM4MTI4QzQ0RjMzMEJBCis6MTBCOUQwMDBCQUMxMUUxMDQ3OEUyMkQxMTAzODE4MEMzMDgzMTIwMkMzCis6MTBCOUUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDNDBGRjAwM0ZDMDAwCis6MTBCOUYwMDAwRUUwMDNGNDQwRkMwMDNEQzQwRkQwMDFGNDQxRUYxODA5Cis6MTBCQTAwMDAzRkM0MUZGMDAzRjg0OEVGMTQzMzgwMEZDMTAzRDAwNjgyCis6MTBCQTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUZDNDBGQjAwM0VDMEU0Cis6MTBCQTIwMDAwRjk4MDMyNDAwQ0IwMDNFNDAwRkIwMDNBODAwREIyODkyCis6MTBCQTMwMDAzRUM0MUY5MDIzRUMwMENBMDAzMkUwMEM5MDAzRUEwMEUxCis6MTBCQTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDODBCNzAwMkRDMDZECis6MTBCQTUwMDA0QjUwNTIxNDAwRDQwMTJEODAwQjYwMDJEODAwQTcyMDU3Cis6MTBCQTYwMDAyREM1MEI0MDE2REMwMDg0MDAyM0MwMDg0MDAyRDIwNDIwCis6MTBCQTcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFODBCNzgwMkRFMDQ0Cis6MTBCQTgwMDAwQjc4MEE5NjAwOTQ4MDJENjAxQjc4MDZEMjAwQTc4MDYwCis6MTBCQTkwMDAyREUwMEI3ODIyREUwMDg3ODIyMUUwMDg1ODAyRjAwMEJBCis6MTBCQUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCM0U0MkNDMENCCis6MTBCQUIwMDAxQjIxMDI4MTAwOTAwMDJDQzgwQjM5MDJDRTAwQTMwMDhDCis6MTBCQUMwMDAyQ0MwMEIzMDAyQ0QwMDhCMjAyMEYwMDhCMjAyRDIwNDMzCis6MTBCQUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGRUEwM0Y4MjMyCis6MTBCQUUwMDAwRkU4MDM5ODMwRDYwMDNGQTAwRkUwMDNCQUMwRkEwMDc5Cis6MTBCQUYwMDAzRTgwMEZFQzMzRjgwMkNFMDBCM0I4MkNFQzgzRkEwNDhFCis6MTBCQjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMThGODQwM0UwMDFGCis6MTBCQjEwMDAwRjgwMDI2MDg0RjgwNTJFMDQ4RjgwNDFFMDAwNzgwMkQ3Cis6MTBCQjIwMDAzRTAwMEY4MTgzRTAyMEY4MDBCRTAyMEY4MDAzRDIwMEE4Cis6MTBCQjMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU2MThGOTIwM0U0MDI4Cis6MTBCQjQwMDAwRjlDMDNFNDQwQzkwMDMyNjEwQzkwMTNDNDA4QzkwMTgyCis6MTBCQjUwMDAzRTQxMEYxODAzMjQwMEM5QTAzMjQwMEY5ODQzMDIwNDRECis6MTBCQjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY1MDBCMUMwMjI0MEU5Cis6MTBCQjcwMDAwQjlDMDJFNzEwODkwMDI4NDQwODk0MjJFNDEwODkwMEY1Cis6MTBCQjgwMDAyRTQwMEI5RjIyMjY2MDg5ODAyMjQwMEI5MTBBMjAwMEM0Cis6MTBCQjkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0ODBCOTAwMkVDMDJECis6MTBCQkEwMDA0QkI0MDJFNDIwODkyMDIyNDAwODk0MDJFQzAwODkwMDcyCis6MTBCQkIwMDAyRTQxMEI5MDAyMDQwMDg5NDAyMjQwMEI5MDAyMDYwMEE3Cis6MTBCQkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMTA0MjA0MDEwCis6MTBCQkQwMDA4QjEwMDJFNDA1ODEwMDI4NDAyODEyMTJDNDgyODEyMEMzCis6MTBCQkUwMDAyQzQ4MEIxMjBBMDQ4MjgxMDAyMDQ4MEIxMjAyMDIwMTI5Cis6MTBCQkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDY4QTBGQTAyM0UxNDJBCis6MTBCQzAwMDAwRjg1MDNFMDAwQzgwMDMyMDAwQzg1MDNDMTQwQzg1MzEzCis6MTBCQzEwMDAzRTE0MEY4MDAzMDE0OEMwNTBCMjE0MEY4NTAzMkUwMzU5Cis6MTBCQzIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0MDBGRDAwQkY0MDJGCis6MTBCQzMwMDAwRjUwMTNENDAyRkQwMDJGQzAwRkQxMDNGNDQwRjkxMEIwCis6MTBCQzQwMDAzRTQ0MEZEMTAzRjQ0MEZGMDBCRjQ0MEZEMTAzRTYwNjhBCis6MTBCQzUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2QTBGRDAxM0U0NDUxCis6MTBCQzYwMDAwRkQxMDNENDAwQzUwMDMzNDEwRkRCMDMyNzIwRDlFMEY3Cis6MTBCQzcwMDBCMjcwMEREQTgzRjY0MENGMTAzMjc4MkREQTAzMDYwMDY5Cis6MTBCQzgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDBCODAwMkUyODBECis6MTBCQzkwMDAwQjg4NDJFMDEwRDgwMDIyMDAwQjhDMEEyMzAwODhDMEQ5Cis6MTBCQ0EwMDAyMjI4MDg4NDAyQzI4MDgwQTAyMjMwNDhBQTgyMEUwNDgyCis6MTBCQ0IwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwMkM0MDY2Cis6MTBCQ0MwMDA4QjEyMDJDNDAwOTkwMjI4NDA4QjE2MDI4NDgxOTEzMEE1Cis6MTBCQ0QwMDAyMDU4MDkxMDAyQzUwMDgxMDA2NDREMDgzNDAyMDIwMTk5Cis6MTBCQ0UwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUFDMENCOTA0MkU0OENDCis6MTBCQ0YwMDAwQjk0MDZFNDAwOTk0MEFBNDAwQjkyMjJBNDAwODkwMDBDCis6MTBCRDAwMDA2MDQwMDg5NDAyRTQwMDg5ODBBNjUwMDg5MjAyMDYwNDZDCis6MTBCRDEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTk4M0U0ODEzCis6MTBCRDIwMDAwRjk4MDNFNTIwRDkwMDNBNjQwRjk0ODNBNEMwRDkwMjg4Cis6MTBCRDMwMDA3MjQwNEQ5MDQyRTQ4MkM5NDAzNjQwMEM5MDBCMjgwNDdBCis6MTBCRDQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUFDMjhGOTg4M0U0MDg3Cis6MTBCRDUwMDAwRjk5MTNFNzAwRjlDMDM2NjAwRjkwMDM2NjAwRjEwMEY5Cis6MTBCRDYwMDA3RTQwMEY5OTA3RTQ2MEY5MDAzODQwMEY5ODAzQ0EwMDNECis6MTBCRDcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODEwMzIwMDUxCis6MTBCRDgwMDAwRjgyMEIyMTAwRTgwMDM2MDQwQzg2MDNFMTAwRDgwMDg2Cis6MTBCRDkwMDAzMjAwMEY4MDAzNjEwMEM4MDAzMjAwMEYwMDAzMEEwNDY0Cis6MTBCREEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MjBCRTAwMjI4MDlFCis6MTBCREIwMDAyOEVDMDIxOTA0ODIwMDAzODAwREU0ODJFODAwOEEwMTY1Cis6MTBCREMwMDBBQTgwOEJFRDgyM0I4MDhFOTAzNjgwMEJFMDAzNEEwMDg4Cis6MTBCREQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTQyMDBCMzgwMjBDMEExCis6MTBCREUwMDA2QjM0MTY0MEMwODMxMDI0NzI4OEIwMDJFQzAwODMwMENDCis6MTBCREYwMDAyNEMwMEIwNDAyNkYwOTlCMDAyNEMwMEIzMDAyMEEwMDEwCis6MTBCRTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE0MDBCNzgwMjNFNEVGCis6MTBCRTEwMDAyODc4ODI3NDE0OEYwMDYxRTAwOTUwMTJEQzA0ODcyMkI0Cis6MTBCRTIwMDAyNUM4MUI3ODAyMTQwMDk0NDBBNUMwMEI2MDIyNjgwMDRFCis6MTBCRTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODEyMjBCNzgwQjFFMDE4Cis6MTBCRTQwMDA4RkY4MDMxMjAyRTc4MDM1RTAwQzY4MDZDRkMyQ0ZCMDRFCis6MTBCRTUwMDAyNUY0MEY1ODAzNUEwMkQ1ODA3NUZBNEZGODAzMkEwMkM5Cis6MTBCRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREE1OTBGMzAwM0RDMDg4Cis6MTBCRTcwMDA0RkIwMTNBODA0RkIwMDNDQzAwRjgwNDNFQzgwRUI2MDg0Cis6MTBCRTgwMDAzQUM5MEYzMDAzRUMwMEU5MDAzRUM4MEZBMDAzQzIwNjE4Cis6MTBCRTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUY2MDBFRTgwM0ZFMEJBCis6MTBCRUEwMDAwRDg5MDNEMjQwRTU4MTM5RTAzQ0Y5MDdGRTAwQ0Y4OEQ3Cis6MTBCRUIwMDAzRkUwMEZFODAzRjIwOENFODAzM0UwMENGODAzMDAwMDA3Cis6MTBCRUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTk0NDRDNjAwMkZDMEJDCis6MTBCRUQwMDAwODU4MDJEMEM0ODUyNDIxOTAwODU0MTJEQzgyMDcwMDNGCis6MTBCRUUwMDAyREMwMEI3MDA2RDQwMDhFNDgyMUMwMEE2MDAyMkEwNEJGCis6MTBCRUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBBNzQwMkRDMDcyCis6MTBCRjAwMDAwODQyMDJEMDAwQUQwMDI5QzAwODcwMjJEQzI4ODcwMDVBCis6MTBCRjEwMDAyREMwMEI0MDAyOTgwMDk3MDBBMEM0MDg3MDAyMDAwMERBCis6MTBCRjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDg5MzAwMkNFMDRBCis6MTBCRjMwMDAwODNDMjJDMTAwODEwMDIwODA4ODE1MDJDRTMwODMwMDk5Cis6MTBCRjQwMDAyQ0MwMEIzQzAyQ0MwNDkzQzAyMEY0NEEwQzgyMDgwNEExCis6MTBCRjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUEwMDBFM0MwMUZFMEIyCis6MTBCRjYwMDA2QzEwODNFMDA0RUIwMDNBNTI0Q0I0MDNGRTAyQ0YwMEE1Cis6MTBCRjcwMDAzRkMwMEY4NDQzRTEwMkQ4QzIzM0MwMEM4NDBCMkEwNEIzCis6MTBCRjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU5MDBFQjEwM0VDNEVCCis6MTBCRjkwMDAwRTk0MDNFNDAwRkIxODNFQzIwRkI2MDNFQzAwRkIwMTU1Cis6MTBCRkEwMDAzRUMwMEYzNTAzQzQyOEVBNDIzRUMwMEY4MTAzRTAwMEMzCis6MTBCRkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDNDBGRjAwMzNDMDEyCis6MTBCRkMwMDAwQ0MwQTMzMDI4Q0RBMDMzQzAwQ0U4MDMwQzAwRUYwNTUzCis6MTBCRkQwMDAzREMwMENDQTgzM0MwMENEMDgzRkMyMENBMDAzQzA0NDQ2Cis6MTBCRkUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDY3MDBCQjgwMjBDMDFBCis6MTBCRkYwMDAwOEFBMDIwODAwQTEwMTM0RDEwOEE0MTIyQzAwOEIwMDY5Cis6MTBDMDAwMDA2RUMwODhCMjAyMkMwODg5ODAyRUMwMEFBODAzQTA0MDA2Cis6MTBDMDEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDBCQTgwQTJDMEMzCis6MTBDMDIwMDAwOEE4MEFBMDAwOEIwMEEyQzA0ODExMDJBQzA0OEIwMDMzCis6MTBDMDMwMDAyRUMwMDA4MDEyMkEwODhCMTQyQ0MwMDg4ODAyRTAwMDUxCis6MTBDMDQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBCMjAwMjJDMDA0Cis6MTBDMDUwMDAwOEIyMTI4MDAwQUIwMTI0QzAwODAwMDIwQzA0ODMwMDY3Cis6MTBDMDYwMDAyQ0MwMDgzMDAyMDcwMDgyMDAyNEMwMDgwODAyODIwMUE4Cis6MTBDMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBGQjAwMzJDMDVBCis6MTBDMDgwMDAwQ0EyMDNBMDAwQzkwMDMyQzAyNDk0MDMzQzAyQ0YwMERDCis6MTBDMDkwMDAyRkMwMDQ4MDBCMDkwMkNCMDEzRkMwMkNBMDAzQzAwM0JBCis6MTBDMEEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOURDMDBGRDAyM0ZDMEFECis6MTBDMEIwMDA0RkU0MTM3MDAwRkQwMDNGQzAwRkMyODNGQzAwRkYwMDdGCis6MTBDMEMwMDAzRkMwMEZGMDAzRkMwMEZGMDAzRkMwMEZDMDAzQTgwNkY1Cis6MTBDMEQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMjBFRjMwM0YwNEFECis6MTBDMEUwMDA2Qzg4MDMzQTQyRTQ5MTNGMEQwRDQ4MDMzQ0MwRkYwMkM3Cis6MTBDMEYwMDAzMzQ0MENGNDAzRkM4MkRGMzAzMzYwMERGMTAzMzAwMDc1Cis6MTBDMTAwMDA3MDAwMDAwMDAwMDAwMDAwQTAxMEVEMDA4QjcwMkUxOEUxCis6MTBDMTEwMDA4ODIyNEEyQzgyRUEyNjJFMEMwQkI4NDIzRDgwQkY5MDIyCis6MTBDMTIwMDAyQTU0MjhCNDAyQ0QwMERCNDAyQTRBNDgzMDAyQTAwNDM5Cis6MTBDMTMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDQjBBMzAwNkMxMEE3Cis6MTBDMTQwMDAwOTAwODIyMDgyQTAyMDJDODg0QjgwMDAwQzQwQjMwMTgzCis6MTBDMTUwMDAyMDQ4MEIzNjAyOENFMDgzNjQyNDQwMjgzMjAyMjIwMUZFCis6MTBDMTYwMDA3MDAwMDAwMDAwMDAwMDAwRTAxMUFDMDA4QjAwMkUwMDA5Cis6MTBDMTcwMDAwOTgwODBBNjAwQkExMTJFODgwQkIwMDAyQzAwQkIwMkVCCis6MTBDMTgwMDAwMjQwMDlCMDAyRUMwMDhCMDAyQ0M4MDhCODgyQjAwNDUxCis6MTBDMTkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBFQjAwM0U5MjQzCis6MTBDMUEwMDAwRDgwMDMwQTIwRTkwMDNFNTA0NTgwMDEyQzA0RjMwMDc1Cis6MTBDMUIwMDA5MDYwMDlCMDAzRUMwMDhCMDIyNjUwOERCQzAzMTAwNDg0Cis6MTBDMUMwMDA3MDAwMDAwMDAwMDAwMDAwQzAwMUJDMDBGRjAyM0Y4MEMyCis6MTBDMUQwMDAwRUY5MDI3QzIyQUYwMDNGNjAwM0MwMEJGQzEwRkYwMDkxCis6MTBDMUUwMDAzRjRBNEVGMDAzRkMwMEY3MDAyQjYwMEY3MDAzRjgwMDhECis6MTBDMUYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjAwQjAwMDM4Cis6MTBDMjAwMDAwRjgyMEJBOTAwQzkwMDMyRDIwRkEwODNBQzAwQ0IxMDYzCis6MTBDMjEwMDAzRTQwMENCMDAzRUMwMERCMDAzMjUwMkM5NTAzMTAwNEMwCis6MTBDMjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNDMDRCRjAyMjI4MDdFCis6MTBDMjMwMDAwQjk4MDAyOTAwQ0I0MDIyQzAwQjI0MDIzQzA4OEY1MEYxCis6MTBDMjQwMDAyRTUwMERGMDAyRkQ0MjhGNTgyMkUwNDhCNTAyMzIwMDE4Cis6MTBDMjUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTZDMDBCMzAwMjQ0MDM2Cis6MTBDMjYwMDA0Qjk0MDA0OTAwOTA4MDA0MzAwOTAwMEU0QzAwODM4MEZDCis6MTBDMjcwMDAyQ0MwMDkzMDIyNkU0MjgzODAyMDQ4MDgzODAyMzgwMEUyCis6MTBDMjgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDBCNzgwNjUyMDYzCis6MTBDMjkwMDAwQjc4ODI3QTA4OENDMDI1QTM0Qjc4MDI1RTA0ODc4NEQxCis6MTBDMkEwMDAyRDYxODk3ODAyREUwNDg3ODBFOTYyMDg3ODAyMDgwMDNGCis6MTBDMkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGQjAwMzQ0ODZCCis6MTBDMkMwMDAwRjNCMDM0ODAwOTM0ODM0NTAwRDAwMDM2QzAwQzMxMDJCCis6MTBDMkQwMDAxQ0MyMDUzMDAzQ0M0MENCMDAzMjQwMEMyMDAzMTIwMkJDCis6MTBDMkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMjBGRjAxMDM0MEQyCis6MTBDMkYwMDAwRkYwMjMxQzAwRkYwMDNCODAwRkIwMjMzQzAyRkY1MEQ3Cis6MTBDMzAwMDAzREM0MEZGMTAzRUMwMEVGMDBCN0MwMEZFMTAzRDAwNjBFCis6MTBDMzEwMDA2MDAwMDAwMDAwMDAwMDAwODgwNUVDMDBGQjAyM0VFMDI5Cis6MTBDMzIwMDAwQzgwMDM0ODAyQzg4MTMyMDAwRjkwNDJFQ0EwRkIxMDQxCis6MTBDMzMwMDAzRUUwMENCMTAzRUM0MEZCMTAzMjQwMUZGMDAzMkEwMDNBCis6MTBDMzQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCNzI0MkQ4MDAwCis6MTBDMzUwMDAwODcwNDJEODEwOEMwMjIxNDAwQjUwMDJERDAwRTcyMDBCCis6MTBDMzYwMDAyRjQwMDg3MDAyREMwNUI3MDAyMUMwMEJGMDAyMTIwNDU4Cis6MTBDMzcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzkwMkY0MDQ5Cis6MTBDMzgwMDAwQTY4MDI3QTAwOTc4MDIxRTAwQjc4MDJERTAwQjc4MDBECis6MTBDMzkwMDAyREUwMDg3ODA2REUwMEI3QTAyMTYwMEI3ODQyMzAwMDVGCis6MTBDM0EwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCMzAwMkNDMEE2Cis6MTBDM0IwMDAwQTM0MDJDODAwODM0QTIwRjgwQjMxMDJDQzAwQTMwMEUzCis6MTBDM0MwMDAyQ0MwMDgzMDAyQ0MwMEIzMDAyMEIyMEIyMDQyMTIwNDczCis6MTBDM0QwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBCQTAwM0Y4ODA3Cis6MTBDM0UwMDAyRUUwNDM1OTg4REUwMDMzQjAwRjZDMDNFODAwRkEwMEZBCis6MTBDM0YwMDAzRTgwMkNBMDAzRTgwNEZBMDAyM0I4MEZFMDhCM0EwNDM3Cis6MTBDNDAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDRGODAxM0UwMDY5Cis6MTBDNDEwMDAwOTgyMjFFMDAwRjg0MEJFMTQwRjg0ODFFMDAwRTgwMEFBCis6MTBDNDIwMDAzRTAwMUY4MDAzRTAwMEY4MDBCRTAwMEY4ODAzRDIwMDJBCis6MTBDNDMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBFMTAwMzI0MDdECis6MTBDNDQwMDAwQzkwNDNFNDIwRDkwMDNDNDQwODkwMDMyNDAwRjkwMUY3Cis6MTBDNDUwMDAzRTQ4MEYxMDQzMjUwMEM5MDBCMjQwMEM5MDAzMDIwNDZGCis6MTBDNDYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTAwQTA0MDFCCis6MTBDNDcwMDAwODk4MDJFNjA4QTk2MDJFNDkwODk0MDIyNDAwQjkwMDMxCis6MTBDNDgwMDAyRTcwMEI5MDAyMjYwMjg5MDBBMDQwMEE5MDBBMjAwMDFDCis6MTBDNDkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTAwMjI0MDMwCis6MTBDNEEwMDAwODk4MDRFNjAwOTk4MDJFNDAwQUIxMDIyNDAwQjkwMEUxCis6MTBDNEIwMDAwRTQwMEI5MDBBMDQwMDgxMDEyMkMwMDgxMDAyMDYwMDAxCis6MTBDNEMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODBCMTIwMjI0ODYxCis6MTBDNEQwMDAwODE4MDZDNDAwQTEwMDJDNDgyQTMwMDIwNDgwQjEyMkFBCis6MTBDNEUwMDAyQzQ4MEIxMjAyMDU4MDgxNjAyMjUwMEExNDAyMDIwMUJFCis6MTBDNEYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODUwMzIxNDQ4Cis6MTBDNTAwMDAwQzg1MDNFMTQwRDg1MDNFMTQwRTgwMEIyMTQwRkEwMDA4Cis6MTBDNTEwMDAzRTk0MEY4NTAzMjAwMEMwMDAzMjAwMEM4MDAzMkUwM0UwCis6MTBDNTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0NDFGOTEwM0Q0NTU2Cis6MTBDNTMwMDAwRkQwMDNGNDAwRkYwMDNGNDUwREQwMDNFNDQwRjkxMDk1Cis6MTBDNTQwMDAzRjQ0MEY5MTAzRTQ0MkY5MTAzRjQwMEZENDAzRTYwNjQ1Cis6MTBDNTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU0MDBGOTAwM0U0MEYzCis6MTBDNTYwMDAwQ0QwMDNGNDA4OEQwMjNGNDAwRkQwMDNFNDAwQ0QwMDRGCis6MTBDNTcwMDAzMzQwMEM5MDAzMjQwMEY5MDAzMjQwNEM5ODIzMDYwMDBECis6MTBDNTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDBFODAwMkUwMEZECis6MTBDNTkwMDA0ODgwMDJFODAwRDAwMDJFODAwQjgwMTJFMDAyODgwMDY0Cis6MTBDNUEwMDBBMjAwMEE4MDEyMjIwMEI4ODEyMjI4MDhDRjAyMEUwNEJECis6MTBDNUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwMkM0MDVECis6MTBDNUMwMDAyODEwMDJDNDAwODEwMDJDNDAwQjEwMDJDNDAwOTEwMDBFCis6MTBDNUQwMDAyNjQwMDkxMDAyNTRBMEI1MkNBNTQyMDg1MDgyMDIwMTQxCis6MTBDNUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDBBOTAwMkU1MEUzCis6MTBDNUYwMDA1ODkwMDJFNDgwOUIwMDJFNDU4QjkyMDJFNDAwOTkwMDQzCis6MTBDNjAwMDAyNjQ0MEI5MDAyNjQwOEI1MDAyNTRBMDg1MTAyMDYwNDJFCis6MTBDNjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTAwM0U1NDk2Cis6MTBDNjIwMDAwQzkwNDNDNDAwQzk5MDNFNzAwRjk4MDNFNDAwRDkwMEY5Cis6MTBDNjMwMDAzNDYwNEQ5MDBBNjQwMEY5MDAzNjQwMkM5RTAzMjgwNEIzCis6MTBDNjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAwM0M0MDM4Cis6MTBDNjUwMDAwRjlDMDNFNjMwRjkwMDNFNjIwRjkwMDNFNDAwRTkwMDBFCis6MTBDNjYwMDAzQTQwNEU5MDAzQTQwMDc5MEMzQTQwMEY5MDFCQ0EwMDQ4Cis6MTBDNjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODAwM0UwMDRDCis6MTBDNjgwMDAwQzgxMTNFMTA4Qzg0ODMyMDAzQzgwMDNDMDAwRjAxMDYwCis6MTBDNjkwMDAzRTA2MEM4MDAzRjAwOENDMDAzMzA0MENDMDAzMEEwNEVGCis6MTBDNkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBCQTAwMkU4MEFECis6MTBDNkIwMDAwOEVDNDJGQTIwOEUwMDIzQTAwOEU4NDJFODAwQkU4MDgxCis6MTBDNkMwMDAyRjgwMDhBMDAyRTgwMERBMDAyMjgwNDhFMDAyMEEwMDc5Cis6MTBDNkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMzAwMkNDMDAyCis6MTBDNkUwMDAwOTM0ODJDOTAwODM4MDIwRjAwODMwODJDQzAwQjM4MEY2Cis6MTBDNkYwMDAyQ0YwMDhCMDAyQzEyMDgwMDBBMDMyMDgwMDAyMEEwMDFECis6MTBDNzAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDQzBCNzAxMkZDOEFECis6MTBDNzEwMDA4OTUwMDJEODAyODdDNDIxRTI0ODcwODJEQzAwQjcwMDQ5Cis6MTBDNzIwMDAyQzQwMDg3MjAyQ0UwMDk3MDgyM0MwMDg3MDAyMjgwMDJGCis6MTBDNzMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGN0UxM0RFOEVFCis6MTBDNzQwMDAyRDY4MDNGMjAwQzc4MEIwRTAwODY4MDNERjgwRjY4MDQwCis6MTBDNzUwMDAzREUwOEM3RTAzREEwMENDODAzMTIwMENDODBCMkEwMjJECis6MTBDNzYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDhGQjAwM0NDMEY5Cis6MTBDNzcwMDAwRTgwMDNFMDA4RjkwMDNFNDAwRkIwMDJFQzAwRkEwMDIyCis6MTBDNzgwMDAzRTQwMkZCMDAzRTQwMEZCMDAzQ0MwMkZCMDAzQzIwNkM0Cis6MTBDNzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRjkyN0ZFQTNDCis6MTBDN0EwMDAwQ0Y4MDNGRTAwQ0NBMDNGMjAwREY5MDMzRTAwQ0Y4MDIzCis6MTBDN0IwMDAzMzYwMEZGODAzRjYwMEVGODQzM0UwMkNDODAzMDAwMDY5Cis6MTBDN0MwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCNzAwMkZDOEY2Cis6MTBDN0QwMDAwODU0MDJEODAwRDYwNDJEMDEwODY5MDIxQzAwODUwMDA3Cis6MTBDN0UwMDAyMTQzMEI3MDAzOUFDMDhDMDBBMzAyMDhGMTAyMkEwNEIzCis6MTBDN0YwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzAxMkRDQzhDCis6MTBDODAwMDAwODcwMDJENDAwOTQyODJEQzIwOEMyMDI1QzAwODYwMDgxCis6MTBDODEwMDAyMTgwMEI3MTAyREMwMEE3MTAyMUMwMDg0ODAyNDAwMEYzCis6MTBDODIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDhCMzAwMkNGMDExCis6MTBDODMwMDAwODA1MDJDMDIwOTA4MDJFMDAwODAwODI0QzAyODAwMDczCis6MTBDODQwMDBBMDYxMEIzMDAyQTAwMDgwMDBBMDMwODhCMTBBNDgwNDJCCis6MTBDODUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBGRjAwMkRDODNCCis6MTBDODYwMDAwQzNEMDNFNDAwREIwMjNFRjAyQzkwNEI3QzAwQzEwMDQ5Cis6MTBDODcwMDAzMjIwNEZGMDEzRTAwMEU4MDEzMjAwOENBQzAzNkEwNDcwCis6MTBDODgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjA0M0VDMkRECis6MTBDODkwMDA0RkIwMDNFMDA0RkE0MDNFQzI0RTk4MjNBQzEwRjgwMEJCCis6MTBDOEEwMDAzRTUwMDdCMDEzQUMwMEZCMDAzRUMyMEY5MjAzQTAwMDQ1Cis6MTBDOEIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDRjAwM0ZDMDhECis6MTBDOEMwMDAwQ0M4MjMzNjgyQ0Y4MDNGODAwQ0UwMDNFQzAwRjkyMEI3Cis6MTBDOEQwMDAzM0MwMEVGMDAzRjgxMERDMDAzMzAwNENFODIxMDA0NEI0Cis6MTBDOEUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDBBQjAwMkVDMDhFCis6MTBDOEYwMDA0QThENDIyMTAwOEI0MjJFRDIwOEIwMDNFQzAwQjg4ODRBCis6MTBDOTAwMDAzNDYyMERCMDAyRTQwMDhCMDAyMkMwMDg5MDBBMjA0MDdGCis6MTBDOTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjAwMkVDMERECis6MTBDOTIwMDAwOEEwMDIwRDAwODkxMDJFMDgyODkyMDJFQzA0QkIwMDFBCis6MTBDOTMwMDAyMkEwMDhCMDAyNjQwMkIzMDIyMEMwMDhBMjAyQTAwMDM0Cis6MTBDOTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBBMzAwMkVDMEZFCis6MTBDOTUwMDAwQTkwMjIwQzEwODAwMDJDMDAxODAyODJDQzAwQjAwMDNCCis6MTBDOTYwMDAyNjQwMDkzMDAyQzgyMDgwMDAyMDAwMDgxMDA2ODIwMUZECis6MTBDOTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDQjAwMkVDMDg1Cis6MTBDOTgwMDAwQ0ExMDIyNDAwODgwMDNDMDAwQzgwMDNFQzAwRkIwMDlBCis6MTBDOTkwMDAzMjgwMEVCMDAzQ0M4MERCMDAzMkMwMENBMDAzODAwM0Q5Cis6MTBDOUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwM0ZDMDgwCis6MTBDOUIwMDA0RkMyMTNENDEwRkMwMDNGMDAwRjAwMDNCQzAwRkMwMDZBCis6MTBDOUMwMDAzRjQwMEZGMDIzRTAxMkZDMDFCRjAwMEZEMDAzNjgwMkNDCis6MTBDOUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBDNzgwMzNDMEVDCis6MTBDOUUwMDA4QkI0MDNCMEMwQ0YyRTFGMEM0RkMzMDMzMDgwRkYwMUE4Cis6MTBDOUYwMDAzRjA4MEZGMDAwN0MwMEZGMjEzM0U0MENFMDAzMzAwMDFGCis6MTBDQTAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVFMDA4QjgyMjNGMDE4Cis6MTBDQTEwMDAwQkI1MTIwRDg4ODhDMDBFOTgwQjg2MDIyMTAwQkJDMDkyCis6MTBDQTIwMDAyRUU0NEJGNzgzMkY0NEJGOTAyMkM4NDhBNjgyMjAwNEVGCis6MTBDQTMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMDk4QTAwMjA1MDZBCis6MTBDQTQwMDA0QkIyMEE4MENDODMwMTBDOEMwQjIzMEEwNDYwQjMxNDE0Cis6MTBDQTUwMDAyNDQwNEIzMDAyQ0MxMEIzMDAyMEM4RTkxMTA2NjIwMTFCCis6MTBDQTYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDE4QTgwQTI0NEU0Cis6MTBDQTcwMDAwQkIwMDJBMTA0ODg0MDJFQTAwQjIwMDIyODIwQkI0MDRFCis6MTBDQTgwMDAyRTQwMEJCMDAyMkMwOEJCMDAyMkMwMDlCMDAyNzAwNDdCCis6MTBDQTkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBDMzgzMzJFMDlECis6MTBDQUEwMDA4RjAwMDNBMDAyQ0JDNDNFMjgwNzhCMDMyMTAwRjlDMEVFCis6MTBDQUIwMDAzRTEwMEZCMDAzRUMwMDdCMDAzMkMwMERBMDAzNTAwNDA5Cis6MTBDQUMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMTlDMDJGRjAwM0ZFMDU5Cis6MTBDQUQwMDAwRkY0NDM1RTgwRkM5NDNGMDAwRkMwMkJGMjUwRkQyMTA5Cis6MTBDQUUwMDA3RTg0OEZGMDAzNkMwQ0ZGMDAzRkMwMEU2MjAzQjgwMDIxCis6MTBDQUYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBFQjAwMzI0MDdECis6MTBDQjAwMDAyQzgwMDM2OTAwQ0IzMEIyMDA0RkIzNDNFNTAwQ0I0MDJCCis6MTBDQjEwMDA3MjE4MkNCMDAzRUMyOEMzMjEzQUMxMEY5NDAzMTAwNEZGCis6MTBDQjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNDMDA4QjIwMjI1MEJGCis6MTBDQjMwMDAwOEIwMDIyODAwODhDMDJBMDA4QkI0MDJFODAwREIwMDlECis6MTBDQjQwMDA2MjMwMDhGMDAyRkMwMDhGODAyMkMwMEI5NTQ3MzIwMDUzCis6MTBDQjUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMTAwMjBDMkQxCis6MTBDQjYwMDA0ODMwMDI0OTgwODM0MjYwMTIwQjMwMDJDODAwODIwMkMyCis6MTBDQjcwMDAyQzMwMDlCMDAyQ0YwMTgzNTAyQUMwMEIyMDAyQjgwMDJDCis6MTBDQjgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDA5RDgwQTBFMDc5Cis6MTBDQjkwMDAwODc5MjI1RTYwODc5MDI5QTAwQjc4MDJDNjAwOTI4MUY2Cis6MTBDQkEwMDAwNUUwMDk3ODAyREU0MDg3ODAyMUUwMEIyOTAyMDgwMEI5Cis6MTBDQkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDNDBGMjAwMzBDMEI3Cis6MTBDQkMwMDAwODNBMDM0NDA0QzMxNDMwQzAwRjIyMDNDQzgwQzIwMENGCis6MTBDQkQwMDBBNEQyMEQzMDEzQ0MyMEMzMDAzOEM0NEYwNDQzMTIwMjNBCis6MTBDQkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDlDMDBFRTAwM0ZFMDNGCis6MTBDQkYwMDAwRjcwMDNCNDAyRjQxMDNGQzA4RkEwMDNGQzAwN0UwMDRFCis6MTBDQzAwMDAzQkMwMEVGMDgzRUMwMEY3MDAzRkMwMEZDMDAzRDAwNjFFCis6MTBDQzEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUZDMDBGOTAwM0VDMDE0Cis6MTBDQzIwMDAwRkEwMDNBQTEyQ0IwMTMyODAwRkIwMTMyODE0Rjk4MDkxCis6MTBDQzMwMDAzQTQwMDNCNDAzRUM0MkNCMTgzRUMwMEZCMDAzMkEwMEM1Cis6MTBDQzQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlEMDBCNTAwMkRDNEQ4Cis6MTBDQzUwMDAwQjcwNEI3QzAwODQwMDIxODAwQjcwMDI5NDEwQjIwMDlBCis6MTBDQzYwMDAyOUMwMEI3MjgyREMwMDg3MjAyREMxMEU3MDAyMTIwNEQ1Cis6MTBDQzcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzgwMkRFMEIyCis6MTBDQzgwMDAwQjY4MDI5RTAwODM4MDIxRTA1QjM4MDIxRTAwQjRDMDY2Cis6MTBDQzkwMDAyNUUwMDk3ODMyQ0UwMDk3ODAyREUwMEI1QzRFMzAwMDA1Cis6MTBDQ0EwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCMzQ0MkNDMDU5Cis6MTBDQ0IwMDAwQjNDMDJDQzQwOTMwODIwRTAwQjMwMDI4QzEwQjNDMDM4Cis6MTBDQ0MwMDAyOEQ4MUIzMDAyQ0MwODkzMDE2Q0MwMEFCODgyMTIwNDI5Cis6MTBDQ0QwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGNjEwM0U4MEJCCis6MTBDQ0UwMDA0QkVEODNCODAwQ0VFNEIzQTMwRkUwMDMzODAwRkUwMEExCis6MTBDQ0YwMDAzQjgwMERBMDAyRTgwMERBMDAzRTgwMEZFODAyM0EwNDEzCis6MTBDRDAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMTBGODQwM0UwMDE1Cis6MTBDRDEwMDAwRjgwMTM2MDAwRTAwMDNFMDA0MzA4MDNFMDAwRjgwOEM1Cis6MTBDRDIwMDAzQTAwMEY4MDAzRTAwMEU4NDAzRTAwMEU4MDIzRDIwMDZFCis6MTBDRDMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEM0MDBEOUMwQkU0MDUwCis6MTBDRDQwMDAwRjkwMDNFNjAwRjkwMDMyNDAwMTlBMDMyNDAwRjkwMDM1Cis6MTBDRDUwMDAzRTQwMEY5MDAzQzQ0MDA5MTAwRTQwMEY5QTAzMDIwNDk2Cis6MTBDRDYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDQ4OTA0QTI2MDE4Cis6MTBDRDcwMDA4QjlEODBBNjAwQjk4MDIyNDA0ODk4MDIyNDAwQjkwMDBCCis6MTBDRDgwMDAyRTQwOEI5MDAyRTQ5NDg5NjAyRTQwMEI5NDBCMjAwMDdGCis6MTBDRDkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA5OTA4QUU0OEFCCis6MTBDREEwMDA0QjEwMDJFNTgxQjkxMDIwNDQxQjk0MDIyNDEwQjkwMEY1Cis6MTBDREIwMDA2RTYwMEI5MDAyRTQwMDg5MDAyRTQwMEI5NDAyMDYwMDg2Cis6MTBDREMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODA4OTAwQTA2ODAyCis6MTBDREQwMDAwQjEyMDI4NDg5QjEyMDIwNDgxQTEyMTIwNDgwQjEyMjU5Cis6MTBDREUwMDAwQzQ4MEIxMjAyQzQ4MUExMjAyQzQwMEIxMjAyMDIwMTNDCis6MTBDREYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBEODAwQkUwMDc4Cis6MTBDRTAwMDAwRjA1MEJFMTQwRjgwMDMyMTQwRjg1MDMyMTQwRjgwMEI0Cis6MTBDRTEwMDAyRTgwMEY4NTEzRTAwMkM4MDAzRTE0MEYwNTAxMkUwMzdCCis6MTBDRTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0NDBGRDAwQkY0NEQ5Cis6MTBDRTMwMDAwRkQxMDNGNDQwN0QxMEJGNDQ0NUYxMkJGNDQwRkQxMEE5Cis6MTBDRTQwMDAzRjQ0MEY5MTAzRTQ0MEQ5MTAzRTQwMEZEMTAzQTYwNkEyCis6MTBDRTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MDBGRDAwMUY2MkQxCis6MTBDRTYwMDAwRkQ4ODIzNjAwQkRBMDNCNjgwQ0RDODMyNkM4RDlBMDUxCis6MTBDRTcwMDAzMzYwMEQ5OTgzNTYyMEQ1QTgyRTQ0MENEODgzODYwNEEwCis6MTBDRTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxNDhCODAwMkUwMERCCis6MTBDRTkwMDAwQjBBODIyMjIwQjg1MDIyQkEwODhBMjIyMjgwODgwMEY3Cis6MTBDRUEwMDAyMjAxMDgwQzAyMjAwMDg4MDAyRTI4ODg4ODAyQ0UwNDY3Cis6MTBDRUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwMkM0MDU0Cis6MTBDRUMwMDAxQjEwMEE4NDQwQjEwMDI4NTgwQTMyMDIwNTAwOTk0MDFDCis6MTBDRUQwMDAyMDY1MDkxMDQyQzQwMDkxMDAyQzQwMEEzMDgyQzIwMTMyCis6MTBDRUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE0MDBCOTAwMkU0MERFCis6MTBDRUYwMDAxQjkwMDJBNTgwQjkxMDIyNDgwODEwNDIwNDEwMDkwMEI2Cis6MTBDRjAwMDAyMjQwMDg5MDAyRTQwMDlCMDAyQzQwMEE5NDIyQzYwNEIwCis6MTBDRjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTIwM0U0MDgxCis6MTBDRjIwMDAwRjkwMTNBNzEwRjk2MEJBNTAyRTlDMEEyNTg0RDFGMEY3Cis6MTBDRjMwMDBCMjYwMEQ5MDAzRTQwMEQ5MDAzRTQwMEU5MDAzQTgwMEJCCis6MTBDRjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MENGOTkwM0U2QTY3Cis6MTBDRjUwMDA4RjkwMjM2NjAwRjEwODNDNDAwRjlDNDNFNDQwRjk4MDI5Cis6MTBDRjYwMDAzQTQ0MEY5MDAzMjQwNEU5MDIzRTQwMkQ5MTEzQ0EwMDc1Cis6MTBDRjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBFODIwM0UwMTMyCis6MTBDRjgwMDAwQzAwMDNBMTIwRTg1MDMyMTAyQzhDMDMyMTAwRTgwMDkzCis6MTBDRjkwMDAzMjAyMEYwMDEzMjA4OEM4MDgzMjAwMEY4QzAzQ0EwMDI5Cis6MTBDRkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MjA4RUUzMkY5MEJDCis6MTBDRkIwMDAwQUUwMDYzQjAwRUUwNDIzOTAwOEUwMDIyODA4OEEwMkZCCis6MTBDRkMwMDA3NTkwOEJBMDQxNTg5MDhFODAyQTgxMEJFMDAzOEExMEM3Cis6MTBDRkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRFMDBBMzAwNkM2MDI3Cis6MTBDRkUwMDAwODM4MUE4RTQwQTA4MDIwQ0MwOTMwMDIwQzA1QTMwNDFBCis6MTBDRkYwMDAyOEM0MEIzMDAyMEQwMTgzQzAyMEMwMEIzMDAyQ0EwMEQwCis6MTBEMDAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDg4NzAwMkQ2MkYzCis6MTBEMDEwMDAwQjcwOTIxQzA4QTAwMDYxQzAwOTYwMDYxQzgwQTcwMDZDCis6MTBEMDIwMDAyMUMwMEI3MjAyNTgwMTg3ODgyOUMwMEI2MDEyQTgwMDJBCis6MTBEMDMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBFNjgwM0Q2MERGCis6MTBEMDQwMDAwQzc4NDI5NjAwRTQ4MEEzNjAwRDc4MDMzRjAwRTM4MEYzCis6MTBEMDUwMDAyMUUwMEY3QjAzMTYwOEM3ODAzMUUyNEY3ODQzRUEwMkQ0Cis6MTBEMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxRDhDMDFGODAwM0M0MDlBCis6MTBEMDcwMDAwRUIwMDJFQzAwRjgwMTNFNDA0RTMwMzNFRDIwREIwMUYzCis6MTBEMDgwMDBCRUMwMEZCNDAzRUMwMEZCMDAzRUQ4MEZBMDAzQzIwNkU1Cis6MTBEMDkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBDNzg0MjM2MDVGCis6MTBEMEEwMDAwQzc4MEJCRTAwRkQ4MDNGRTAwRkVCMDMzRTAwQ0Y4MDBECis6MTBEMEIwMDAzQjI1MENGODgzN0U0MENEODAzM0UyMEJGOTAzMDAwMDYyCis6MTBEMEMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDI4NzAwMTU0OEI1Cis6MTBEMEQwMDAwODcwMDIxNDIwQjYwMDM1OUE0OUM4MDM5Qzg0QTcwMDQyCis6MTBEMEUwMDAzOUQwMEE3MDAyMUEwOEE0MDAyMUMwMDk2MTQyMkEwNDNBCis6MTBEMEYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDA4NzAwMjE0MDRDCis6MTBEMTAwMDAwODcxMDI5NDAwQjUwMDJENDAwQkYxMjI1QzAyMDcwODYzCis6MTBEMTEwMDAyQzUwMDg3MDAyNTAwMDg3MDAyREM0MEI1MDQyMDAwMEI0Cis6MTBEMTIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDA4MzAyMjQ0MEY2Cis6MTBEMTMwMDAxODNEMEEwMTAwQjA1ODI0MjAwOTMwMDI4RjQwODNFMEQ2Cis6MTBEMTQwMDAyQ0MxMEEzMDQyMDgwMEIzMDE2Q0MwMDkwODE2MDgwNDVCCis6MTBEMTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNThDMDA4QjAwMzI0MDU5Cis6MTBEMTYwMDAwQzI1MDNBODQ4Rjg4MTNFODAwRjgwNjM3QzAwQ0I4MEFCCis6MTBEMTcwMDAzQUMwMENGMDAzNkMwMENBMDJCRkMwMEY5ODhCMkEwNDlGCis6MTBEMTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGOTAwM0U1MDRDCis6MTBEMTkwMDAyRkE0MEJDODAwRjA0MDNFRDAwRkEwMzNFQzIwRkIwNEJFCis6MTBEMUEwMDA3QUUwMEZCMDAzRUQwOEU5MDMzMkMwMEQ5MDAzRTAwMDEwCis6MTBEMUIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEVDNDBFRTAwM0VDMDE2Cis6MTBEMUMwMDAwQ0RBMDM3MDA0Q0MwMkIxQTAwRUYwMjNFQzAwRkYwMEQ3Cis6MTBEMUQwMDAzNzIwQ0RCMDczRUM4OEZCODAzRkMwMEYzMDAzMDA0NDk0Cis6MTBEMUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZFMDA4ODgwMkNFMTA3Cis6MTBEMUYwMDAwODk0MEFBOTAyODg0MDIyRDAwOEI5NDJFQzA0QkIwMDc2Cis6MTBEMjAwMDAyQ0Q0MERCMDAyRUQyMEJCRDAyRUMwMEJCMDAyQTA0MDNDCis6MTBEMjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI0MDBBQjgwMkVGMDBDCis6MTBEMjIwMDAyOUEwODI2RDAwODgwODIyMDQwODkwNDJFQzAwQkIwMDBGCis6MTBEMjMwMDAyQTgxMDhCMDAyRTQwOUJBMDQyRUMxNEI5ODgyMjAwMDZBCis6MTBEMjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA4MzAwMkNDMDFGCis6MTBEMjUwMDAwQTIxMDI4NDEwODIwMEUwMDAxODBBMTJDQzAwQjMwMEY4Cis6MTBEMjYwMDAwQ0MwMDkzMDAyQ0M5MEIwMDAyQ0MwMEIxMDAyODIwMTFGCis6MTBEMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDY0MDBFQjAwM0UwMDE0Cis6MTBEMjgwMDAyQ0I0MDM2NDA4ODgwMEIyMDAwQ0IyNDNGQzAwRkIwMDFECis6MTBEMjkwMDA1NjAwMENGMDAxRTQwMEZCMDAzRkMwMEY4MDBCMDAwM0MwCis6MTBEMkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREY0MDBGRjAwM0Y0MEZGCis6MTBEMkIwMDAyREYwNjFGMDAwRjQwMDI3MDEwREIxMTFGQzAwRkYwMjE4Cis6MTBEMkMwMDAwN0MwMEZGMDAzRUM0MEZGMDAzRkMwMEZDMDAzNjgwNjJCCis6MTBEMkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUY2MDBFRjkwM0Q0QzFCCis6MTBEMkUwMDAyQ0MwMTNGNDA4RkQyMDM3NEM4RTgyODM3NDg0RENDMjdBCis6MTBEMkYwMDAzRkQ4MERGMjAzRUNDMEZGODEzRjAwMENGODAzRjAwMEIzCis6MTBEMzAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEU2MDA4QjI0MkU1Q0ZFCis6MTBEMzEwMDAwODhEMDJGRjQ4Qjk5MDJGNTQwQjg0ODIzRTQwQTA4MEI0Cis6MTBEMzIwMDAyRUM0MEFGQzQyRUQ4MEI5ODAyRTYwMEE5ODEyRTAwNEY3Cis6MTBEMzMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUU0MDFBMzAwMjg0ODM4Cis6MTBEMzQwMDAwQTAwNDJDNDAwQjEwMDJDNDkwQjBBNDIwNEEyOTEyMUY4Cis6MTBEMzUwMDAyQ0M5MDgzMTAyOENDMUEzMDAyQzQwMDgxODAyQTIwMTdDCis6MTBEMzYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUEwMjA4QjgyMkU0NDM5Cis6MTBEMzcwMDA1ODgwMDJFNDAwQkIxMDJFNDAwQkExMTIwQzAxODkxMDUyCis6MTBEMzgwMDAyRUMwMEFCMDAyRUMwMUI4ODAyRUUyMEFBMTAyRjAwNDFECis6MTBEMzkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVCNDBFQjQwM0U2MEU0Cis6MTBEM0EwMDAwRTg3MzNFNDAwQjlBMTM2QzAwRUE4MEIyNjAwREFDMDAwCis6MTBEM0IwMDAzRUMwOERCMDAzRUMwMEZCODUzRUUxMDhCODAzOTAwNTRDCis6MTBEM0MwMDAyMDAwMDAwMDAwMDAwMDAwRTAwMUI4MDBGRjAyMkY2MDE0Cis6MTBEM0QwMDAwM0U4ODNGQzEwRkQ4MDFGNDAxRkQwMTNCRTQwRUUwNDA1Cis6MTBEM0UwMDAzRkMwMEZGMDQzRkMwOEZEMDAzQ0MwMEZEMDExRjgwMDE3Cis6MTBEM0YwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE0MDBEQjAwQjI0MDBDCis6MTBENDAwMDAwRTk0MDMyNDAwRDkwMEJBQzAwQzIwMDNFNDkwRkIwMDYyCis6MTBENDEwMDAzQUMwMENCMDAzRUMwMUZBMDAzRUQwMkM5ODAzOTAwNDAzCis6MTBENDIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTAzMDA4QjAwMjI0ODE3Cis6MTBENDMwMDAwODg0MjIyQzAwQjkwMDIyQzAwOEEwMDJFRDAwOEJBMEI1Cis6MTBENDQwMDAyMUMwMDhGMDAyRkMwMEI5ODAyRUMwMDhBMDAyMzIwMDAyCis6MTBENDUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ1MjA5MzAwMjJGODk1Cis6MTBENDYwMDAwQjMwMEE4NDQwQjIwMDIwNDAwODEwMDJDNDAwODA4MEMzCis6MTBENDcwMDAyOEMwMjgzOTAyNEMwMEIxMDAyQ0MwMDgzMDAyQjgwMDg2Cis6MTBENDgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTM2MDA5RjgwMjE2MDU1Cis6MTBENDkwMDAwOTM4MDI5RTAwQjJDMDIwNjA0ODQ4MTJENkM2ODZEMDI1Cis6MTBENEEwMDAyMUUwMDg3ODAwREU4MEI3ODIyREUwMDhGODAyMDgwMDRECis6MTBENEIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMjBEMzEwMzBDOEQ1Cis6MTBENEMwMDAwRjMwMDM4NDAwRjEwMDMwNDAyNDE5MDNFNEMwRTA0MDMxCis6MTBENEQwMDAzQUMwMEMzMjAzQ0U4MEIxMjgzQ0MwMEMzMDEzOTIwMjBCCis6MTBENEUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDlDMDBFNjAwN0ZDMDFFCis6MTBENEYwMDAwRUYwMjM3NDQwRkYxMDNGNDA0RkQwMDNGQ0QyQ0UwNDA3Cis6MTBENTAwMDAzRkMwMEZGNDAzRkMwMEZFMDAzRkMwMEY3MTAzRDAxMkI4Cis6MTBENTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVFMDBDQjAwMTZDMDZGCis6MTBENTIwMDAwRDgwMDMyNzIwQ0IwMDNFQzIwQUIwNTNFNDI4QzE4MUZFCis6MTBENTMwMDAzMkMxMEVCOTAzMkMwMEYxODAzNUUwMENCODAzMkEwNDg3Cis6MTBENTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDI4NzEwMkQ0MDcwCis6MTBENTUwMDAwODcwMDM1QzAwQTcwMDJENDAyODcwMDJENDA0ODcwNEUzCis6MTBENTYwMDBBMUQwMEI3MjAyMUQwMEY3MDAyMUMwMEQ1MDAyMTIwNDYxCis6MTBENTcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDA4NTgwMjVFMEUzCis6MTBENTgwMDAwOTc4MDIzNzAzODc4MDJGRTAwODc4MTJDNjEwOEQ4MDUzCis6MTBENTkwMDAyNUU4MEIzODAyMUU4MEJDODQyNUUwMDg1ODAyNzAwMDg0Cis6MTBENUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENEODA4Mzg4MkNDMEJCCis6MTBENUIwMDAwODNDMDI0RTAxQTNEMjJFQzQwOEIxMDJDQzAwODM4MEU1Cis6MTBENUMwMDAyNEMxMEIzMDAyMEMwMEIzNDBBMEQyMDkzMDEyNTIwMDJCCis6MTBENUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJBMDBDQUMwMzY4MDI0Cis6MTBENUUwMDAwRDY3MTMyODAwQ0UwMDNFQTAwQ0VEMDNFODAwQ0VFMDRFCis6MTBENUYwMDAzNjgwMUVBMDBCMjgwNEZFMDBCN0IyMENFMDBCN0EwMEE4Cis6MTBENjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwNDBGODEwMkUxMDBDCis6MTBENjEwMDAwRjgwMDNFMDAxRDgwQTNFMDAwRjgwMDNDMDAyRjgwODIzCis6MTBENjIwMDAzQTAwMEY4MDAzRTAxMEU4MjBCRTAwMEY4MDEzOTIwMDQ0Cis6MTBENjMwMDAyMDAwMDAwMDAwMDAwMDAwMDgxMEU1MDBGQjAwM0U0MDU0Cis6MTBENjQwMDAwQzkxMDMyNjAwNjE4MDMyNDAwQzkwMDMyNDAwQzkwMDM1Cis6MTBENjUwMDAxRTQwMEM5QzAzRTQwMUY5MDAzRTQwMEY5MDAzQzIwMDAxCis6MTBENjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY3MDBCOTAwMkM0MDdBCis6MTBENjcwMDAwMDlDMDJBNjAwNzkwMDIyNDAyODkwMDIyNDAwODkwMDI0Cis6MTBENjgwMDAyQzQ0MDg5ODAyRTQwMEI5ODAyRTQwMEI5MDAyRTAwMTdGCis6MTBENjkwMDAwMDAwMDAwMDAwMDAwMDAwMTgwMTI0MDBCQjAwMjY1MDFDCis6MTBENkEwMDAyODkwODIyNDg0OTkyMDIyNDA0OTkwMDIyNDAwODkwMEY1Cis6MTBENkIwMDAyRTQwMDg5MDAyRTQwMEI5NjAyRTQwMEI5MDAyQzYwNDkwCis6MTBENkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA2MDBCMTAwMkU0OEUxCis6MTBENkQwMDAwODEyMDI4NDgwQjEyMEEwNDgwOTEyMEEwNDgwODEwMDQ3Cis6MTBENkUwMDAyQzQ4MjgxMjQyQzQ4ODMxMDAyQzQwMEIxODAyQzIwMTc5Cis6MTBENkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBGODUwMzYxNDczCis6MTBENzAwMDAwQzgwMDMyMDAwRTgwMDMyMTQwQzg1MDMyMTQwQzg1MDJGCis6MTBENzEwMDAzRTE0MEM4MDAzRTE0MDM4MDAzRTAwOEY4MDAzRUUwMzhFCis6MTBENzIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREQ0MDBGQjA0M0Q0NEEwCis6MTBENzMwMDAwRjUxMjNENDQ4RUQxMDNENDQ0RUQxMjNGNDQyRkQwMDU3Cis6MTBENzQwMDAzRTQ0OEY5MTAzRTQ1OEZEMDAzRjUwMEY1MDAzRTYwNjFFCis6MTBENzUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY0MDBGOTAwM0Q0MEQyCis6MTBENzYwMDAwQ0QwMDNGNDAwREQwMjNFNDAwQzkwMDNFNDQwQzkxMEVECis6MTBENzcwMDAzNzQwMDdEMDA3MjQwMEU1MDAyRjZBMEY3MDAzMDYwMDJBCis6MTBENzgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDBCODAwM0EwMDBGCis6MTBENzkwMDA4MDgwMDJFMDAwODgwMDJFMDAwQTgwNTNBMjgwMkNBMDI2Cis6MTBEN0EwMDAyMjAwMEI4MDBBMjAwMEI4MDAyRTEwMDk4MDAzMEUwNDBFCis6MTBEN0IwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwNkM0MDBCCis6MTBEN0MwMDAyQTEwMDI4NDAxODE4MDJFNDAwOTEwMDJGNDAwOEQwNDg5Cis6MTBEN0QwMDAyMDQwMEIxMDAyODQwMEIxMDAyQzQwMEI5ODAyNDIwMTQzCis6MTBEN0UwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE0MjBCOTAwMkE0MEI5Cis6MTBEN0YwMDA4OEI0MDJFNjAxQTkyMDJFNDgwQTkwMDBBNDQwQUQ0MDVBCis6MTBEODAwMDAyMjQwMEI5MDEyQTQwNEI5MDEyRTQxMEI5MDAyMDYwNDkxCis6MTBEODEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOUMwM0U2MEI4Cis6MTBEODIwMDAwQzk0MTNBNjAyRDk0MjFDNjAwQzlFMDFDNjA0QzEwMEQwCis6MTBEODMwMDBCMjQwMUY5MDAyQTQwMEU5MDgzRTY4NEY5ODBCNjgwNEFDCis6MTBEODQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE2NDBGOTIwMzg3MDk4Cis6MTBEODUwMDAwRjkxMDNFNDAwRDk4MDNFNDAwRjlDMTNBNDAwRjkwMDBGCis6MTBEODYwMDAzRTQwMEYxMDAzNjQxMEY5MEEzRTUwMEQ5QTAzQ0EwMDlGCis6MTBEODcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEExMDBEODA0M0UwMDU1Cis6MTBEODgwMDAwQzgxMTNDMDAyRDgyMDNFMDAyRDg0MDNFMDAwQ0MwODk4Cis6MTBEODkwMDAzQTAwMEY4MDQzRTAwMEY4NDEzMjAwMDc4MThCMEEwNDEwCis6MTBEOEEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTNBNjA4QTAwMkZBODMwCis6MTBEOEIwMDAwQUUwMjJFODAyN0U0ODJFODAwOEEwNDJFODA0OEUwMDlBCis6MTBEOEMwMDAyM0E4MEJBODgyRTgwMEVFMDBBMjgwNEI2MDAyMEEwMEE5Cis6MTBEOEQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5MzAwNkNDMEQwCis6MTBEOEUwMDAwODMwMDJDQzAwMTM4MTJDQzAwODMwMDJDRTQwODI0MEE4Cis6MTBEOEYwMDAyOEUwMEIzODAyQ0MwMEIzMTAyNEMwOEIzODAyMEEwMDk5Cis6MTBEOTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDA4NzIwMkZDMDcyCis6MTBEOTEwMDAwQTcwMDJEQzBBQjYwMDJDQzg4ODcyMDZEODAwODYwMDlECis6MTBEOTIwMDAyMUMwMEI3MDAyREM4NEFGODBBNUMwMEJEMDAyMjgwMEEwCis6MTBEOTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBENzgwM0RBMEE1Cis6MTBEOTQwMDAxQzc4MTNENjAyRDc4MDNERUMwODdFMjNGRTAwQ0U4MEUzCis6MTBEOTUwMDAzOTYwMEY3ODAzREYwMEY2ODA3NUUwMEY3ODAzMkEwMjQ0Cis6MTBEOTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxRDhDMDBGQjEwM0U4MDNECis6MTBEOTcwMDAxRkEwMjFDQzAwRkEwMDNFQzAwRUIwMDNFODAyRkEwMDVFCis6MTBEOTgwMDAzRTQwMEZCMDEzRUMwMEVBMDEzQUMwMEY5MDAzQzIwNjBDCis6MTBEOTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZDMDBGRjgwM0Y2MDA4Cis6MTBEOUEwMDAwODk5MDc3RTAwREQ4MDNGRTIwQ0Y4MDNGNjAyREY4MDc1Cis6MTBEOUIwMDBCM0UwMENGODAzM0U0MUNDODAzM0U0MEZGODAzQzAwMDIxCis6MTBEOUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDNDBCNzAwMkRDMEFFCis6MTBEOUQwMDAwRDVBMjJEQzgwNzUwMDJEQzAwODcxMDJGMDIwODcwMEVFCis6MTBEOUUwMDAyMUMwMEE3MDAyMUMwMEQ0MjgyMUMwMEI3MjAyRUEwNDc0Cis6MTBEOUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDNDBCNzAwMkQwMDA3Cis6MTBEQTAwMDAwODcyMjJGNDAwODcwMDJEQzIwODcwMDJENDAwODc4MEJCCis6MTBEQTEwMDAyNTQwMDkzMDAyNUMwMUFEMDAyOUQwNEI3MDAyQzAwMEU2Cis6MTBEQTIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDBCQkM4MkNBMDg3Cis6MTBEQTMwMDAwOTIwMDJDRTAwQTMwMDJDRTBBODNENDJDMjAwOEI4MDRBCis6MTBEQTQwMDAyNDQwMEIzMDBBNkMwOEEzNDBBOEUwMEIzNDAyQzgwNDQxCis6MTBEQTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFEMDBGRjQ4M0MyODgxCis6MTBEQTYwMDAwQ0E5MjM2QzgwOEIwMDNGQzAwQ0ZDMDNFQzAwRDg4MDE5Cis6MTBEQTcwMDAzNDQwMEQzMDAzN0MwMkEzNDAzODY4MEYyNDAzRUEwNENECis6MTBEQTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVEODhGQjAwM0U1MEI4Cis6MTBEQTkwMDAwRkExMDNFQzA0M0FDMDNFQzAwRkIwODNFODAyRjgxMEI3Cis6MTBEQUEwMDAzQTQxMEU5MDAzQUMwMDlCMDhCNjQwMEY4MTAzRTAwMEEyCis6MTBEQUIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGRjAwQjMyMDU3Cis6MTBEQUMwMDAwQzUwMTMxQzA5Q0Q4MzMzQzA4MzcwMDAzQzAwREMxMDY0Cis6MTBEQUQwMDAzMjYwMEVGMTQzMkMwMENFMDQzQjcwMENGMDgzMDA0NDA2Cis6MTBEQUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDY3ODBCQjAxNjIyMTVCCis6MTBEQUYwMDA4QTg5MjAyQzAwODBFMDIyQzAwQkIwMDNEODEwOEMwNDRGCis6MTBEQjAwMDAyMjQwMDU5MDAyQUMwMEQ4ODAzNjQwMEE5MDAyMjA0MEE2Cis6MTBEQjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI2MDBCQjAwMjIwNjY3Cis6MTBEQjIwMDAwODgwMDIyRTAwODgyMDIyQzAwOUIwMDJBNDAwOTkwMEJCCis6MTBEQjMwMDA2MkM0MDhCMDA2MkMwMDg4ODAyMjQxMDhBMDAyMjAwMEEwCis6MTBEQjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBCMzAwMjA0MDZBCis6MTBEQjUwMDAwQTAwODIwQzAwODAwMDIwQzAwQjMwMjJBMDAwODEwMDRGCis6MTBEQjYwMDBBMEMwMDkzMDAyOEMwMDkwMDAyNDQwMEEyODAyMDIwMTYzCis6MTBEQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYwMDBGQjAyMjAwMDFCCis6MTBEQjgwMDAyQzkyMDMyQzAyODgwMDMxQzAwQkI1MDJBNDAwRDEwNEYyCis6MTBEQjkwMDAzMjQwMEU5MDAzMkM0MEM5MDAzQTQwOENBMDAzMDAwMzkxCis6MTBEQkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREY0MDBGRjAwMkYwMDQ2Cis6MTBEQkIwMDAwRkMwMDNEQzAwRkMwMDNGQzEwRkYwNDNGMDAwRkQwMDhDCis6MTBEQkMwMDAzRjQwNEZEMDAzRkMwMEY1MDAzRjQwMEZFMDAzRTgwNjY0Cis6MTBEQkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUQ4ODBDQzAwQjcwNDMxCis6MTBEQkUwMDA0RUUxMDMzQzIwREYxMDMxODAwNkYwMDM3RjAwRkZDMEQwCis6MTBEQkYwMDAzQkMwMEVGMjAzNUUwMEVGMTAzM0QwMkNGMjAzMzAwMDc2Cis6MTBEQzAwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMEU5MDA4OEM2MjA1QzIxCis6MTBEQzEwMDAwOEE0NTc2NTAwOEY1MjJBRjAwOUZDMDIwNDAwQkIwMERCCis6MTBEQzIwMDAyREQ5MDk3NDgzNjQyODgzNDQyMjg0ODgwNjgyMzAwNEIxCis6MTBEQzMwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUM5MDA4MDEwMjAwODY2Cis6MTBEQzQwMDAwODMxMTIwNEIyQTMwMDIwODQxQjM0MDIwQzgwQjMyMERDCis6MTBEQzUwMDAyQ0M3MDkzNjAyOEM4MDkzNDBBQ0M4MDgzMTI4MzIwMUE5Cis6MTBEQzYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE5MDA4ODAwQTI1MDRDCis6MTBEQzcwMDAwODM1MDIyNDAwOEIwNDJFQzEwOUIwMDIyNDk0QkIwMDk1Cis6MTBEQzgwMDAyRUMwMEJCMDAyQ0M2MDhCMDAyRTgwMDg4MDAwMzAwNEM4Cis6MTBEQzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUU3MDJDQjE4QjI4MDExCis6MTBEQ0EwMDAyQ0FDMEEyRTA4RUIwMDMyMTI0RUIwMDMyQjgwRkIwMDg2Cis6MTBEQ0IwMDAzQUMwMEFCMDAzQUIwOEVCMDQyRTQ4MENCODgzMDAwNDRBCis6MTBEQ0MwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI2ODBGRjgwMzlDQTRCCis6MTBEQ0QwMDAwREU4MDNENjQwRTcwNDNCNjY0RTcwMDNCODAwRkYwMTMxCis6MTBEQ0UwMDAzRkMwNkNGMDAzNzAwNkU3MDAzMTA0MEZDMTQzRjgwMDM5Cis6MTBEQ0YwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMDg1MDBDQjQwMzI5MDIyCis6MTBERDAwMDAyRkIwMEI2NDgwRkIwOEJBMTAwREIwQTcyRDAwRkIwNEU4Cis6MTBERDEwMDAzRUMwOEVCMDAzNkQwMERCMDEzMjQwOEMzMzAzOTAwNEIzCis6MTBERDIwMDAyMDAwMDAwMDAwMDAwMDAwQzAwNTI0MDA4M0UwQTJEMDE1Cis6MTBERDMwMDA0MEIwMDIyNTA0QkY4MEEwNTAwOEY4MDIyMDAwOEIwMkVBCis6MTBERDQwMDAyRkQwMDhGMDAyMjQwMDhGODAzNjAxMDg4NDQyMzYwMDZDCis6MTBERDUwMDA0MDAwMDAwMDAwMDAwMDAwRTgwNTQ0MDA4MzQ4MjBDNEEzCis6MTBERDYwMDAwOTAwMDI0NjAwQjMwMUE4OTAxOTMwMTI4QzAwQTMwNEU4Cis6MTBERDcwMDAyRUUyMEFCMDAyMEMwMDgzNDkyOEMwMDkzQzAyMzgwMDk4Cis6MTBERDgwMDA1MDAwMDAwMDAwMDAwMDAwRjAwMTM2MDQ4MzgwMjFFMTEzCis6MTBERDkwMDAwODM4MTIxRTI4QjM5ODIxQTAxOTM4ODI5NjAwODc4MzZDCis6MTBEREEwMDAyREUyMDg3ODIyMzY4Qzg3ODAyREUwMDk3OTAyM0UwMDJBCis6MTBEREIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA0MDBDMzMwMzBDOEU0Cis6MTBEREMwMDA0RDAwMEI0QzgwRjMxMjM4QzAwRDNBMDI4QzgwRjMwMEVBCis6MTBEREQwMDAzQ0MwMEUzMDBCMEUwMEMzMEMzQUMwMEQzMDAzMTIwMkQzCis6MTBEREUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI0MDZGRjEwM0ZDMDBFCis6MTBEREYwMDAwRkIwMTNCQzAwRkYxMDdGQzAwRUYxQTM3QzAwRkYxMjE4Cis6MTBERTAwMDAzRkMyMEZGNTIzQkM0MUVGMTgzNzgwQUVDMDAzNTAwNjY4Cis6MTBERTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDBEQjAwM0VEQTFFCis6MTBERTIwMDAwQzgwMDM2NjEwOEIwMDMyODA4Q0I2MDM0QTAwNEI4MDU2Cis6MTBERTMwMDAzMkM4MENCNDAzMEExMERCMDAzRUMxMENCMDQzMkEwMDA4Cis6MTBERTQwMDA3MDAwMDAwMDAwMDAwMDAwQzgxMUI0MDA4NzA0MkNDMDVFCis6MTBERTUwMDAwRDcwMDMxQzA4ODc0ODIwODEwRDcyODI1QzAwRDcwMDdBCis6MTBERTYwMDAyMUNDMjhGMDAyMUMxMDg3MjAyQzAwMDg0MDBBMzIwNDI0Cis6MTBERTcwMDA2MDAwMDAwMDAwMDAwMDAwODAwMDk2MDBCNzgxMkRFMEU3Cis6MTBERTgwMDAwODQ4MDIwRTA0ODc4MDIxRTAwODc4MDIzRTAxODc4MDVFCis6MTBERTkwMDAyMUUwMTg3OTAyM0EwMTk3QTAyRDYwMDgzODAyMjAwMDhECis6MTBERUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEM2MDBBM0M2MkNDMERCCis6MTBERUIwMDAwOTMwMDIwQzAxODMwMDIwRTAwOTMwMDI0RTAwOTMwMDdCCis6MTBERUMwMDAyMEMwNDkzMDIyMEY2NDgzMDI2Q0Q0MjgzMDAyMTIwNDJGCis6MTBERUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxMUFCODBGQUUwM0M4ODUwCis6MTBERUUwMDAwQ0UwMDIyODAyQ0EwMEIzQTkwQ0EwMDMzQjEwQ0EwMDMwCis6MTBERUYwMDBBMjgwMENBMDBCMzgwMERBMDAzRkIwMENFNjAzM0EwNDE1Cis6MTBERjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEMwMjA5ODA4M0UwMEFCCis6MTBERjEwMDAwRjgwMEJFMTAwRjgwMTNDMTA0RjAwMDNBMDQwRjgwMDE3Cis6MTBERjIwMDAzRTEwMEU4MDAzRTAwMEY4MDAzQzAyMkYwNDkzRDIwMDY0Cis6MTBERjMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBDMUMxMzI0MEMxCis6MTBERjQwMDAwQzk4MDMyNjQwRjkwMDMyNDAwQzk4MDMyNDI0RjkwMDcxCis6MTBERjUwMDAzQzYwMEMxMDAzQTQwMEY5ODIzMjQwMEM5MDAzMDIwNEQwCis6MTBERjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTAwMjI1MDlFCis6MTBERjcwMDAwRDk4MDIyNTgwQjkwMDIyNTIwRDlDMDIyNDAwQjkwMEEwCis6MTBERjgwMDAyRTYwMDg5MDQyMjQwMEI5NDAzNjQwMDg5MDBBMjAwMEQ0Cis6MTBERjkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA4RDAwMjM0MDQwCis6MTBERkEwMDAwODEyMDIyNDAwQTExMEEyNjAwODkyOEEyNDAwQjkwMTdDCis6MTBERkIwMDAyRTQ2MDg5MDAyQTQwMEIxNTAyMjQwMjg5MDgyMDYwMDBDCis6MTBERkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODQ4NTIwQTFEODVGCis6MTBERkQwMDAwOTEwMDIwNDgwQjMyMDIwNDAyOTEyMDYwNDAwQjEwMTc4Cis6MTBERkUwMDAyQzQ4MjgxMjAyMDQwMEIxMjAyNDQ4MDgxMjAyMDIwMTIxCis6MTBERkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDI4QTAwQjMwMDdDCis6MTBFMDAwMDAwQzA1MDMyMTQwRTA1MEIyMDAyQzgwMDIyMTQwRjA1MDZBCis6MTBFMDEwMDAzQzE0MEM4NTEzQTE1MEY4NTAzMjE0MEM4NTIzMkUwM0E4Cis6MTBFMDIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBGOTEwM0U0NDJDCis6MTBFMDMwMDAwRkQ0MEJGNDQ0RjkxMDNGNTA0RjExMDNGNDAwRjkwMEQyCis6MTBFMDQwMDAzRTQ0MEY5MTUzRjQxNEY5MTAzRjQ0MEZEMTAzRTYwMkZDCis6MTBFMDUwMDA3MDAwMDAwMDAwMDAwMDAwOTgwNUU2QTBERDg4QjM2NkFGCis6MTBFMDYwMDAwQ0RDODMzNjg4QkRBMDM3NkEwQ0RBMEIyNTAyQzk0MDY4Cis6MTBFMDcwMDAzRjc4NEY5OEIzRTUwNENEQTA3Mjc4MENEODhCMjYxNDY2Cis6MTBFMDgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUzMDA4ODQyMjIzMUQ4Cis6MTBFMDkwMDAwODBBMDIyMkEwQjhGOTIyMTAwRDg0MTI2QTgwODg4MDMyCis6MTBFMEEwMDAyRTIwMEIwODAyRTI4MEE4QThBMjM4NDhBODAyMEUwMDgxCis6MTBFMEIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM0QTI4MTAwMjA0ODk0Cis6MTBFMEMwMDAwODEyNDI0NTAwQjEwMDI0NDAwOTE0MDIyNDAwODEyMEI2Cis6MTBFMEQwMDAyQzU4MEIxMDgyQzQwNDkxNDA2NDZDMDgzMDgyMTIwNUU1Cis6MTBFMEUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDA4OTAwMjI0MTAzCis6MTBFMEYwMDAwODkwOEE2NDgwQjkwMDIyNTAwOTkwMDY2NDA4OTkwMDRCCis6MTBFMTAwMDAyRTQwMEI5MDA2QzQwMUI5MDIyNjYxODg5MDAyMDYwNEQ1Cis6MTBFMTEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBDOTAwMjI0MERCCis6MTBFMTIwMDAyQzk0MjM2NDAwQjkwMDM2NDAwOTkwMTMwNTAwQzkwMEZGCis6MTBFMTMwMDAzRTQwNEY5MDEzRTVDMEQ5MDAyNjQwMkM5NDAzMjgwMEEwCis6MTBFMTQwMDA3MDAwMDAwMDAwMDAwMDAwNjgwMUE0MDJFOTA4M0M0MEUzCis6MTBFMTUwMDAwRjkwMEJBNDAwRjEwMDNFNDEwRjkwNDNBNDg4RTkwNDA2Cis6MTBFMTYwMDAzRTQwMEY5MDAzRTYwMEUxMDAzQTQwOUY5MjYzREEwMEUwCis6MTBFMTcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMDgwMTBFMDAxMzIwMDY0Cis6MTBFMTgwMDA4RjgwMDMyMDAwRDgwODMwMDE4QzAwMDNFMTAyQzgwNDBFCis6MTBFMTkwMDAzRTAwMEM4MDBCMjEwMEM4MDA3ODAwMEY4NjAzMEEwMEE3Cis6MTBFMUEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4RTQwMkI4MjdGCis6MTBFMUIwMDAwQkEwMDIzQTAwOEU4MDIzODIwOEUyMDIyODEwOEEwMDE3Cis6MTBFMUMwMDAyRjk4MjhBMDEyMjgwMDhFMjAyRTgwNEJFNDAyMEEwMEVGCis6MTBFMUQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDJBMjQwMjA4MDAyCis6MTBFMUUwMDAwQkIwMDI0RTQwOTNDMEEwMjAwODM2MDI4QzAwOTMwMDcyCis6MTBFMUYwMDAyQ0UyMDgzMDA2NEMxMjkzMDgyOEMwMEJCMDAyMEEwMDJCCis6MTBFMjAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDg4MjQwMjk0MENFCis6MTBFMjEwMDAwQjcwMDI1RTA4ODQwODIzNDAwODcwMDYxQzgwODcwMDhCCis6MTBFMjIwMDAyRDIwMDg3OTEyNUMwMDk0MDAyREMwMEIzMDQyMjgwMDhDCis6MTBFMjMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFMDBFNDgwMzFBMTdBCis6MTBFMjQwMDAwRjU4MTM3NjAwRDA4MDMxQzAwQzM4MDNCRTgwRDc4MUMwCis6MTBFMjUwMDAzRjIwOEM3OTAzN0YwMUQ2ODAzOUU4NEY2ODAzMkEwMDdDCis6MTBFMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREJFMDBGQTAwM0UwMDkzCis6MTBFMjcwMDA4Rjk2MEJBNDAwRUEwMDNDQzAwRjkwMDNBQzIwRkI0MDNCCis6MTBFMjgwMDAyRTAwMEZCMjAzQURBMEVBMDAzRUMwMEZBMDFCQzIwNEQ3Cis6MTBFMjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMDhERTgxMzNBNDlECis6MTBFMkEwMDAwRUZDMTMzRTAwRkM4MDEzMjAwQzY4MDMzRTIwRkZDOEM4Cis6MTBFMkIwMDAzRjYwMURGODAzN0UwMEM3ODAzM0UyMENEODAzMTAwMEQ2Cis6MTBFMkMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDA4NjQxMzFDNENECis6MTBFMkQwMDAwODc5NDI5QzAwQkMxMDIxNDA4NTM1MDM1QzAwQjcwMEUyCis6MTBFMkUwMDAyREMwMDg3MjAyMkMwMEE3MDEzN0MwMDg1MTQyMkEwMDM1Cis6MTBFMkYwMDA2MDAwMDAwMDAwMDAwMDAwMTAwMDhDNDA4MjAwMjQ4MUJCCis6MTBFMzAwMDAwOEQ4MDIxNDIwQjUwMDIwNDAwOTYwMDIxQzQwQjcwMDY0Cis6MTBFMzEwMDAyQzQwMEIzMDIyREMwMDk3MDAyMUM0MDg0MDAyNDQwMDRFCis6MTBFMzIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNEVDMDA5MjA2MjA5MDI1Cis6MTBFMzMwMDAzODE1MDI4NjAwQjgwMDYwNTAwOTMwMDI0RTAxQkIwMDVCCis6MTBFMzQwMDAyRTQwMEIzMDAyQ0UyMEIzMDAyNEYwNDgwMjBBNTgwNEJECis6MTBFMzUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBDQTAwQTY5NDEwCis6MTBFMzYwMDAyQzkwMDMyRTAwRkIwNUIyODUwRDkwMDMzRjkwRkYwMDFCCis6MTBFMzcwMDA3RTgwMUZGMDQzRkMyMTlBMDAzM0M4M0NCMjAzNkEwNDNDCis6MTBFMzgwMDA2MDAwMDAwMDAwMDAwMDAwOTAwMEVDMDJFQTQwM0Q4MEM4Cis6MTBFMzkwMDAwRjEwOTNFRDAwRkI0MDNFOTA4RjMwMDNFQzgwRkIwMEFDCis6MTBFM0EwMDAzRTkxMUNCMDAzMkMxMEU4MDAzRUM4MUY5MDAzQTUxMDNFCis6MTBFM0IwMDAzMDAwMDAwMDAwMDAwMDAwODAxMEZDMDJFNDAwNzNBMEE4Cis6MTBFM0MwMDAwQ0ZDMDM3QzAyRkYxMDEzQzQxQ0MwMDMzQzAwRkYwMEM0Cis6MTBFM0QwMDAzN0UwMERGMDAzRkMwMEVEODAzMUMwMEMzMjYzMjAwNDA3Cis6MTBFM0UwMDAzMDAwMDAwMDAwMDAwMDAwODQwMDZDMDA4QUMwMjJCMUYwCis6MTBFM0YwMDA4QUI4NDM0QTEwREIyMDIwRjAwQTk0MDM2QzAwQkIwNzY0Cis6MTBFNDAwMDAyMkI4MDhCMDAyRUMxMUU4QzBCMkMwMkE5MjFBMjAwMDZCCis6MTBFNDEwMDAxMDAwMDAwMDAwMDAwMDAwODAwMTJDMDBBQTgwMjI5ODVCCis6MTBFNDIwMDAwODkwMDIyRjAzQkIwMTJBODMwOEIyNEUyQzA0QUIwMkQyCis6MTBFNDMwMDAyMkM0MjhCMDIyRUMwOUIzNTA2MkMwMDhCMDAyMjAwMDA4Cis6MTBFNDQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDE4MzAwNjA4MDEwCis6MTBFNDUwMDAwODEyMEE0NDAwOTMwMDJBODA0QTMwMDIwQzAwQjMwMERDCis6MTBFNDYwMDA2MEMwMDgzMDAyQ0MwMEIzMDI2MEMwMDgwMDQ2MDIwMTYwCis6MTBFNDcwMDAwMDAwMDAwMDAwMDAwMDAwODAwRDZDMDBFODAyMjI4MDE3Cis6MTBFNDgwMDAyQ0YyNDMyQzAwRkIwMEJBQzAwOEE1MDIzQzAwRUYwMEIwCis6MTBFNDkwMDAzNkMwNERGMDEzRkQ1MUZCMDAzMkMwMENCMDAzMjAwMTFCCis6MTBFNEEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDA3RTA0M0Y4MDIyCis6MTBFNEIwMDAwRjMxNDNGMDAyRkYwMDM3QzAwRkYwMDNGQzA4RkYwMEVDCis6MTBFNEMwMDAzRkMwMEZGMDAzRkMwMEVGMDAzQkMwMEZDMDAzRTgxNjk1Cis6MTBFNEQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYyNDBGQzgwM0YyNEY2Cis6MTBFNEUwMDAwREQ4NTNENjA0REYzMjNGQ0M0Q0MwNDNGQzAwREY2MDc0Cis6MTBFNEYwMDAzN0MwMEZDNDAzN0NEMERGMjAzM0Q4MERGODQzRjAwMEMxCis6MTBFNTAwMDA3MDAwMDAwMDAwMDAwMDAwODAxOEU4ODBCMDAxMkUwOEI0Cis6MTBFNTEwMDA4ODkwMDJFQzIwOEI3MDJGQ0MwOEIzODJGREUwQkY0MEM2Cis6MTBFNTIwMDAyMkQ4MEI5MzAyRkRDMEFGMTAyOEYwMDhCQzEyRjAwNEYzCis6MTBFNTMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0MDBCMDAwMkUwMTdCCis6MTBFNTQwMDAwQTEyODJFQzgwQjMwMDJDQzgwQTAwMzI4QzAwQTMzMDdGCis6MTBFNTUwMDAyMEQyMDkwMDAyOEM4MDgzMDAyOEQ4MEIzNDEyRjIwMUVCCis6MTBFNTYwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUFDMDFCODAyMkUwMEUxCis6MTBFNTcwMDAwQTkwMTJFQzEwOEIwMDJFQzAwQUIwMDBFQzAwQjMwMDIxCis6MTBFNTgwMDAyMkMxMEI5MjAyQ0MwMUFCMDAyQUMwMDJCMDAyRjAwNEZGCis6MTBFNTkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUUwMDBGQTBDM0VDMEUyCis6MTBFNUEwMDAwRkEwMTNFRTIwREIwMDNFQzAyRTg4NTNFQzAwRkIwMEQyCis6MTBFNUIwMDBCMkMwOEZBQzgzQUMwOERCMDAxQUMwNEZCMDAzQzAwNEZDCis6MTBFNUMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI4MDBGRTAwM0ZDMDQ1Cis6MTBFNUQwMDAyREUwMDNGRTgwN0YwMDNGQzAwREQyMDNGQzAwQkYwMTkxCis6MTBFNUUwMDAzRUMwMERDODAzRkMwQ0ZGMDAzRkMwMDlGMDIzRjgwMDNCCis6MTBFNUYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE0MDBGQTQwMzJDMTlBCis6MTBFNjAwMDAwRkEwMDMyOTA4REIwMDNFQzAwRTg1MDNFQzIwQ0IwMEUxCis6MTBFNjEwMDAzQUMwMEVBNDAzRUMwMEZCMDAzQUMyMEVCMDAzMTAwNDkzCis6MTBFNjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCQTYwMjBDMEQ3Cis6MTBFNjMwMDAwQkEwMDIwODAwQUYwMDJGRDAwQkI1MDJGRTAyOEYwMDI2Cis6MTBFNjQwMDAyRkMwMEQ4MDBBM0MwMEI3MDAyM0MyMDVGMDIyMzYwMDFGCis6MTBFNjUwMDA0MDAwMDAwMDAwMDAwMDAwQzAwNDQwMDBCMTg4MjAwMDFECis6MTBFNjYwMDAwQjEwMDIwQzAwODMwMDJFQzgwQjA4MDY0RDQwODMwMERGCis6MTBFNjcwMDAyMEMwMDgzMDA2MEMwODkzMjAwQUUwNEEzMDAyMzgwMDE3Cis6MTBFNjgwMDA1MDAwMDAwMDAwMDAwMDAwMjAxMDVBMDBCNTkwMjEyMDJBCis6MTBFNjkwMDAwQjU4NDIzRTAwQTc4MDJERTAwQjY5MDJERTQwODc5MkI2Cis6MTBFNkEwMDAyREUwMDkxODAyOUUwMUI3ODAyOUUwMDM3MDAyM0UwMEE4Cis6MTBFNkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODQ0MDBGMTAxMzAwMDY0Cis6MTBFNkMwMDA1RjE4MDMwQzEwODMwMDNDQzQwRTA0MDNFQzAwODMwMEFECis6MTBFNkQwMDAzMEM0MEMzMTAzOEMwMEYzMDAzOEM4MEUzMTAzMTIwMjMxCis6MTBFNkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxNUJDMDBGRDA0QkYwNDU1Cis6MTBFNkYwMDA0RjU4MDNGODA4RUYwODNGQzAwRkYwMDFGQzAwRkY0QzMzCis6MTBFNzAwMDAzRkMxMEZEMDAzM0MwMEY3MDAzN0MyMEQ3MjAzRDAwNkEzCis6MTBFNzEwMDA2MDAwMDAwMDAwMDAwMDAwMDgwNUUyMDBEQjAwMzJDMERECis6MTBFNzIwMDA0REE4MDMyQzA4RkIwMDdFQzg4RkIwMEI2RjQ1RUJDMkQxCis6MTBFNzMwMDAzNkMwMDdBMDAzRUYyMENCNTBCMkMwMEM3OTAzMkEwMEVCCis6MTBFNzQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxOTk4MDA4RjAwMjFDMEYwCis6MTBFNzUwMDAwQjYwMDM1QzAwMzcwMDJERDIwQjMwMDIwQ0E4ODcyNDFECis6MTBFNzYwMDAyMUQwMDk3MDAyREQ4ODg3MkEyM0U4MDg3MDAyMzIwNDZDCis6MTBFNzcwMDA2MDAwMDAwMDAwMDAwMDAwMjAwMEI2MDA5NzgwMjFFMDRCCis6MTBFNzgwMDAwQjY4MDIxRTAwQjc4MDJERTg4QjQ4ODIxRTgwQTM4NDkwCis6MTBFNzkwMDAyNUU4MEI2ODAyQ0UwMjg3ODAyMUUwMDg3QTAyMjAwMDdCCis6MTBFN0EwMDAyMDAwMDAwMDAwMDAwMDAwNjgwNENDMDg4MzgyMjBFMDA0Cis6MTBFN0IwMDA4QjJBMDI0ODQwQjMwMDJDQzAwQjMwODIwQzAwODMwMDJGCis6MTBFN0MwMDAwMEMxMDkzMTAyQ0MwMDgzMDAyMEMwMDgzMDBBMTIwNEM1Cis6MTBFN0QwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUU4MDBEQUEwMzJBOEQwCis6MTBFN0UwMDA4REE4MDMzQjAwRkEwMDNFODAwRkU0MDM2ODAwRUEwMkI0Cis6MTBFN0YwMDAzNjgwMEZFNDAzRTgwMENBMDAzMjgwMkNBMDAzM0EwNEZDCis6MTBFODAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMUEwMTBGODAwQkUyMEQ5Cis6MTBFODEwMDA4RkMxMDNFMDI0RjgwMDNFMTAwRjg0MDNFMDAwRjgwMUVDCis6MTBFODIwMDAzRTAwMEY4MDAzRTAwMEY4MDFCRTEwMEY4MDAzRDIwMDBECis6MTBFODMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEE0MDBGOTQwMzI0MDQxCis6MTBFODQwMDBDRjkwMDNFNDAwQzkwMDBFNTAwRjFBMDMyNjAwRjkwMDEwCis6MTBFODUwMDAzRTQwMEY5MDgxRTQwMEY5ODAzMjQwMEM5MDAzQzIwNEU2Cis6MTBFODYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDRCMTA0MjI0MDc1Cis6MTBFODcwMDAwQjkwMDJFNDAwQTkwMDJFNTMwQjkyMEEyNjQ4QjkwNDFCCis6MTBFODgwMDAyRTQwMEI5MDAyRTQwMEI5ODAwMjUwMDg5MDAyRTAwMDk0Cis6MTBFODkwMDAxMDAwMDAwMDAwMDAwMDAwMzgwNTI0MDBCRDAwMjM0MEU3Cis6MTBFOEEwMDAwQkQwMTJDNDAwODkwMjJFNDAwQjkwMjIyNDAwQjkwMDI0Cis6MTBFOEIwMDAyRTQwMEI5MDAyRTQwMEIxMjAyMDQwNjg5MDIyQzYwMDU4Cis6MTBFOEMwMDA0MDAwMDAwMDAwMDAwMDAwMjgxNDE0MDBCRjEyQTE0MDA2Cis6MTBFOEQwMDAwQjUwMDJDNDAwQTEyMDJDNDgwQjEyMDIwNDEwQjExMUVECis6MTBFOEUwMDAyQzQ4MEIxMzIyQzQwMEIxNDAyMDVBMDgxMDAyQzIwMTY4Cis6MTBFOEYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODQwMzIxNDM0Cis6MTBFOTAwMDAwRjQ1MDNFMTQwQzg1MDNFMTU4Rjg1MDMyMUU4Rjg2OEE0Cis6MTBFOTEwMDAzRTE0MEY4NDAzRTFFMEYwMjgzMkE4Q0M4MDIzRUUwM0ZDCis6MTBFOTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxNUM0MTBGOTIwM0U0MDdGCis6MTBFOTMwMDAwRjkwMDNGNDAwRjkxMDNFNDQwRkQxMDNFNDAwRjkyMEQ2Cis6MTBFOTQwMDAzRTQ0MEZEMzAzRTQwMEY5MDBCRTQwMEY5NDAzRTYwNkYzCis6MTBFOTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUU0MDBGRDEwMzM0MEI2Cis6MTBFOTYwMDAwQ0QwMDMyNDAwRDkwMDNGNDA0Q0QwMDNGNjAwRkQ5MEFBCis6MTBFOTcwMDAzQTQwMEM5MDAzRTZBMEZEQTgzNzY4MENEODgzMjYwMDI3Cis6MTBFOTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDhDOEEwMjIwMDVECis6MTBFOTkwMDAwODgwMDIyMDAwODgwMDJFMDAwQzgwMTJFMDAwQjg4MDYxCis6MTBFOUEwMDAyMjAwMEQwQTAyRTM4MEIwQzAyMDM0MDg4NDAzNEUwNDI0Cis6MTBFOUIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwMDg0MDlBMTAwMjA0MTUwCis6MTBFOUMwMDAwODkwMDIyNDAwOTEwMDJDNDAwODEwMDJDNTAwQjE2MDlDCis6MTBFOUQwMDAyMDQwMDgxMEEyQzQyMEIxMjgyNDRBMDgxMDAyNTIwMTg1Cis6MTBFOUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNEE0MDE4MTAwQTI0MDgzCis6MTBFOUYwMDBBODkwMDAyNTQwODkwMTJDNDAwODk0MDJFNDAwQjkwMDQ5Cis6MTBFQTAwMDAyQTQwMDk5MDAyRTQwMUI5MDQyMjQxNDg5MDAyNDYwNEQ4Cis6MTBFQTEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNEE1MjBFOTAwMzI0MEMyCis6MTBFQTIwMDA0QzEwMEIyNjAwRDkwMDNFNDAyQzk4MDNFNDAwRjkwMDVFCis6MTBFQTMwMDBCMjQwMEM5MDAzRTQwMEY5MDAzNjQwMkM5MDAzNjgwNEM3Cis6MTBFQTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgwMUE0MDBFOTAwM0U0MDAyCis6MTBFQTUwMDAwRjkwMDNFNjAwRjkwMDNFNDAwRTlBMDNFNDAwRjkwMDJGCis6MTBFQTYwMDAzNjQwMEY5MDAzRTQwMEY5MDAzQzQwMEY5MDAzREEwMEI5Cis6MTBFQTcwMDA2MDAwMDAwMDAwMDAwMDAwMDgxMEExMDBGODAwMzIwMDUzCis6MTBFQTgwMDAwRjgwMTNBMDAwQzgwMDMyMDQ4QzgwMDNBMEMwRjgwMERGCis6MTBFQTkwMDAzQTAwMEY4MDAzMjAwMEMwMDkzMjAwNEM4MDAxMEEwNEI0Cis6MTBFQUEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBCRTAwMjA4MDkzCis6MTBFQUIwMDAwQkUwMDI4ODAwQUEwMDAzQTAwQUU2MDJGQTAwOEEwMDFFCis6MTBFQUMwMDAzMjgwMEJBMDAyMjgwMDhFODBBMzgwMjgyMDAyOEEwMEJBCis6MTBFQUQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTZDMDBCMzQ4MjA0MDAyCis6MTBFQUUwMDAwQjEwMDIwQzAwODMwMDIwQzAwODM0ODI4RTA0OTkwMEIxCis6MTBFQUYwMDAwQUMwMUIzMDAyMEMwMjkwNTAyMDYwMDgzMDAyMEEwMDRECis6MTBFQjAwMDA1MDAwMDAwMDAwMDAwMDAwODAxMTFDODBCRDBBMjE0ODU4Cis6MTBFQjEwMDAwQjUyMDI5QzQwQTNBMDIwODAwQTYwMDJDRTAwODUyMEY4Cis6MTBFQjIwMDAyMUM0MEI3QTA2MUU4MDk1MjAyMTkwMDg3MDAyMjgwMENGCis6MTBFQjMwMDA0MDAwMDAwMDAwMDAwMDAwODgwODFFODBGNzgwQjE3OUM2Cis6MTBFQjQwMDAwRkRCMDIzRTIwQzdBMEIxNjBDQzc4MTM5NjAwRjFGMDM1Cis6MTBFQjUwMDAzOUUyMEY3QjEzMEYwMEQ0QTAzMTYwMkM3MDAzMkEwMjFFCis6MTBFQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxNUFDMDBGNzAwM0U0MDY3Cis6MTBFQjcwMDAwRjkwMDNFRDgwRkIxMDNFNDAwQkIwMjNFQzAwRjkyMDFBCis6MTBFQjgwMDAzQUQ4MEZCMDBCRUQ4MUVEMTAzRTgwMEYzMDAzQzIwNjc2Cis6MTBFQjkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNEJFMjBFRTgwMzM2MDMyCis6MTBFQkEwMDAwQ0Q4ODMxRTAwNkY4MDMzRTAwRkI4MTEzMjA0RjU4MDVCCis6MTBFQkIwMDAzM0UwMEZGODgzMkY0MEZFODBCM0UwMENGODAzMTAwMDIxCis6MTBFQkMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxODlDMDBCQzAwQTE0NEQ4Cis6MTBFQkQwMDAwODEwMDM1QzAwOEYwMDIxODAwQkVBMjIxQzgwQjUwMTI1Cis6MTBFQkUwMDAyMUMwMEJGMDAyMUU4MEJFMDAyMzgwMkE3MDAyMkEwNDdFCis6MTBFQkYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMjBBNzAwMjM0MEVGCis6MTBFQzAwMDAwQjUwMEEzQzAwQTcwMDI1QzAwQTQzMDIxMDAwQjUwMEMzCis6MTBFQzEwMDAyMUMwMEI3MDgyMUM4MEI0MDAyMUMwMDg3MDAyMDQwMDY3Cis6MTBFQzIwMDAyMDAwMDAwMDAwMDAwMDAwMjAwNDhFMDRCMzAwMjI0MEY5Cis6MTBFQzMwMDAwOTE0MDI0QzAwODMwMDIwQzAwQjI0ODIwNDAwQjEwMEEwCis6MTBFQzQwMDAyMEMwOEIzQTAyMkMwMUIwMDAyMDgwMEEzMDAyMUEwNDQ2Cis6MTBFQzUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNTlFMDBFQjA0MzM0MEM3Cis6MTBFQzYwMDAyRERDMDMxRDYwRUYwMDMyMDBDRjlBMDMyODAwRkQwMDY5Cis6MTBFQzcwMDAzM0MxOEJGQzBCM0MwMEZDMDAzMjgwMEM5MDAzMkEwNDU3Cis6MTBFQzgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEFDMTBGODAwM0U0MDcyCis6MTBFQzkwMDAwRTk4MjNBQzA0RkIwMDNDMDAwRjg0MjBFRDAwRjkwMDJCCis6MTBFQ0EwMDAzRUMwNEZCMDAzRUMwMEZEMDAzRTgwMEY5MDAzRTQwMDM3Cis6MTBFQ0IwMDAzMDAwMDAwMDAwMDAwMDAwMjExMEZDMDBDRjgwMzM0MDM1Cis6MTBFQ0MwMDAwQ0QwODNGQzAwRUYwMDNGNDAwQ0YxNDEzMDEwQ0QwMDMwCis6MTBFQ0QwMDAzRkMwMDA3MDEzM0MwMEU0MDBCMUQwMEMxMDAzMjAwNENFCis6MTBFQ0UwMDAzMDAwMDAwMDAwMDAwMDAwQTEwNDJDMDA4QUU0MkE0MDRCCis6MTBFQ0YwMDAyODkwMDJFQzAwOEIwMDNFMDIwQTgwMDIyQzgyODkwNERDCis6MTBFRDAwMDAyRUMxMEFCMDBBMkMwMDg5MDIyMkYyMkE5ODAyMjAwMEExCis6MTBFRDEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDI4MDE0MkE0MDMyCis6MTBFRDIwMDAwODkwMDJFQzA4QUIwNDJFODQwODEwODI4MDEwODkwMzNFCis6MTBFRDMwMDAyQ0MwNEFCMDIyMkMwMEFBMDAyMjgwMDg5MTAyMjAwMDk4Cis6MTBFRDQwMDA0MDAwMDAwMDAwMDAwMDAwMDgxNDJDMDA4MDAwMjg0MDUzCis6MTBFRDUwMDAwODExMDJFQzAwODMwMDJDODEwQTAwNUE4ODAwMDEwMDhGCis6MTBFRDYwMDAyQ0MwMEEzMDAyMEMwMDgyMDAyMDgwMEExMDAyMDIwMTJFCis6MTBFRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDOTAwM0E0MEQ3Cis6MTBFRDgwMDAwQ0Q0MDNGQzAwRUIwMDNFNDAwQzkyMDNBMDAwNEQwMEFECis6MTBFRDkwMDAzRkMwMEVGMDMzM0M4MEU4MDAzMkMwMEM5MDAzMjAwM0VCCis6MTBFREEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxMUZDMDBGQzAwM0Q0MEVECis6MTBFREIwMDAwRjUwMDNGQzAyM0YwNDNCMDE0RkM0MTM3MDAwRkQwMEUxCis6MTBFREMwMDAzRkMwMUZGMDAxRkM0MEZDMDAzRkMwMEZEMDEzRTgwNjFECis6MTBFREQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUY4RTBGRjgwM0RDMEFBCis6MTBFREUwMDAwREYzODJGMDgwRkY0MDMxQ0IwQ0YzMDNGRDA0RUZDMTQzCis6MTBFREYwMDAzM0UwMEY3OTAzRkUwMENGNDIzM0YwNENGODAzMzAwMENDCis6MTBFRTAwMDA3MDAwMDAwMDAwMDAwMDAwRTAxMEU5MDhCOTgxMkZGMDU4Cis6MTBFRTEwMDAwOEY0NTJFOTIwQkY0MDIzRjAwQUYzMDJGRDA4OEIwMEZBCis6MTBFRTIwMDAzNkUwMEI4MDIyRTg4MDhGNDAyMkMwMDhCMDgyMzAwNDk4Cis6MTBFRTMwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUNDMDBCMTgwMkNDNUU3Cis6MTBFRTQwMDAwOTMyNDJDOEMwQjMzMTIwQzEwODMyMDJDQ0Q0QkIyMDQxCis6MTBFRTUwMDA2OEMwMEIzMDAyQ0MyMDkzNjAyMDg4MDgzMjAyMzIwMTU3Cis6MTBFRTYwMDA3MDAwMDAwMDAwMDAwMDAwRTAxNUEwMDBCQjgwMkVDMDc0Cis6MTBFRTcwMDAwOEIwMDJFQTAwQkIwMDYyQzEwQUIwMDJDQzAwQUIwMERECis6MTBFRTgwMDAyRUMwMEJBMDAwRTgwMDgzMDAyMkMxMDgzMDAyMzAwNDJECis6MTBFRTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUU4OTBGQjgwM0VDMDBDCis6MTBFRUEwMDAwREIwMDNFMjEwRkIwMDMyQzA0Q0IwMTNFQzAwRTk1NDhCCis6MTBFRUIwMDAzQUMwMEZCMDAzRTYwMENCMDBCMjQwMENCMDAzMDQwNDJDCis6MTBFRUMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI4MDBGRjAwM0ZDMDNCCis6MTBFRUQwMDA4RkYwMDNGMDAwRjcwMkJGQzEwRkYwMjNGQzAwREYwNjQ0Cis6MTBFRUUwMDAzN0MwOEZDOTA3RkE5MkZGMDQzRjUwMkZGMDAzRjgwMDk0Cis6MTBFRUYwMDA2MDAwMDAwMDAwMDAwMDAwNTAxMEFDMDBDOTAwM0VDMkRECis6MTBFRjAwMDAwRUIwMjNFNDAwRUIwMDNBQzgwRUIwMDNFQzAwRjkwMEE5Cis6MTBFRjEwMDAzRUMwMEZCNDAzQTQwMEZCMDAzRTgwMEZCMDgzRDAwNEJBCis6MTBFRjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTI4MDA4Qjc0MkRDMEUwCis6MTBFRjMwMDAwOEYwMDJFNDAwOEYwMDIxRjAwOEYwMDJGQzEwRDMwMDdBCis6MTBFRjQwMDAyRUMwMEI5MDEyMkMwMEVGMDAyRUMwMEJCNjAyRjYwMDY0Cis6MTBFRjUwMDA0MDAwMDAwMDAwMDAwMDAwRTgwNTQ4MDBBMzAwMkNDNEE5Cis6MTBFRjYwMDAwQTMwMDJDMDAwQTMwMDY4RjAwQTMwMTJDQzA0QTIwMEVDCis6MTBFRjcwMDAyQ0MwMEIzMDAyRUMwMEIzMDEyRUMwMEIzNDAyRjgwMEExCis6MTBFRjgwMDA1MDAwMDAwMDAwMDAwMDAwQjAwMTBDMDA4NzgwMkRFODU4Cis6MTBFRjkwMDAwODc4NDJEQTAwODc4MDI1RTAwODc5MDJDRTAwOTY4MDYyCis6MTBFRkEwMDAyREUwMEJEOTAyREUwMEE3ODAyREUwMEI3ODAyRkMwMERCCis6MTBFRkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDNDBFMzEwM0NDMDg2Cis6MTBFRkMwMDAwQTM4MDNFODAwRUIwMDM4QzIwQTMwMDNDQzAwRTM0MDAzCis6MTBFRkQwMDAzQ0MwMEYzNDAzQ0QwMEYzMjAzQzg4MEYzMDAzRDIwMjM1Cis6MTBFRkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI0ODBGRjA0M0ZDODg2Cis6MTBFRkYwMDAwRkYwODNGODQwRkYxODNCQzAwRkY0ODNGQzAwRUUwMkQzCis6MTBGMDAwMDAzRkMwMEZGMDAzM0MwMEVGMDgzRjgwMEZGMDEzRDAwNjI1Cis6MTBGMDEwMDA2MDAwMDAwMDAwMDAwMDAwODgwNUU4MDBDQjAwM0VGMjIwCis6MTBGMDIwMDA0REIyMTNFODA0Q0IwMTMyRjg0REIyMTM2RDIwRjgwMDU1Cis6MTBGMDMwMDAzRUMwMEYzMDAzMjQwMEZCMDAzRTQwOEZCODAzMkEwMDdGCis6MTBGMDQwMDA3MDAwMDAwMDAwMDAwMDAwQzgxMThDMDA4NjAwMkNDMDc5Cis6MTBGMDUwMDAwODczMDJEODEyODczMDIwQ0IwOEYyMDIxRDA1QjUwMEQ0Cis6MTBGMDYwMDAyREMwMEI2MDAzNTAxMEI3MDkyREMwMEJGMDAyMzIwNDA1Cis6MTBGMDcwMDA2MDAwMDAwMDAwMDAwMDAwODAwMDlFMDA4NzgwMkRFNEZBCis6MTBGMDgwMDAwOTdBMDJDRTAxODc4MDIxRUMwOTc4MDI1RTgwQjdDMDQwCis6MTBGMDkwMDAyREUwMEJGODAyMUUwMEI3QTAyRDYwMEI3ODAyMjAwMEI3Cis6MTBGMEEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEVFMDA4MjgwMkNDMDA4Cis6MTBGMEIwMDAwODMwMDJFQzAwODMwMEEwQzAwODMwMDIwQzAwQjM4MENFCis6MTBGMEMwMDAyQ0MxMEIzMDAyNEUwMEIzMDAyQ0YxMEIzMDBBMTIwNDlECis6MTBGMEQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJBODBDNjAwM0U4MDQ1Cis6MTBGMEUwMDAwREEwMDNGODQwQ0EwMDMyODAwREEwMTM2ODAwRkUwMjk0Cis6MTBGMEYwMDA3RTgwMEZFRDgzMzkxMEZBMDAzRjhDMEZBMDAzM0EwNDk1Cis6MTBGMTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMTJGODkwM0UwMDlGCis6MTBGMTEwMDAwRjgwMDNFMDAwRjgwNTNFMDAwRTAwMDNFMDAwRjg4MEQ5Cis6MTBGMTIwMDAzRTAwMEY4MDAzRTA2MEY4MDA3RTAwMEY4MDAzRDIwMEY1Cis6MTBGMTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBDOTgwMzI2NEM0Cis6MTBGMTQwMDAwRjkwNDNFNDA2QzEwNDNBNDAwRjkwMDNFNDAwRTkwMDQ1Cis6MTBGMTUwMDAzMjQwMEY5MDAzMjQwMEMxMDEzMjQwMEM5MDAzQzIwNERFCis6MTBGMTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OUMwMjI0MERDCis6MTBGMTcwMDAwQjkwMDIyNDAwODkwMDIyNTAxQjkwMjIyNDAwODEwMDYxCis6MTBGMTgwMDAyMjQwMEI5MDIyMjQwOEM5MDAyMDQwMDg5NDAyRTAwMDhECis6MTBGMTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA5OTIwMjI0MDAzCis6MTBGMUEwMDAwQjEwMDJBNDAwODkwMDJBNTgwQjkwMDI4NDAwQTkwMEM5Cis6MTBGMUIwMDAyMjQwMEIxMDBBMDQwMDk5MDIyMkMxMDg5MDgyQzYwMDY2Cis6MTBGMUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA5MTAyQTBDOEY0Cis6MTBGMUQwMDAwQjEyMDIwNDgwODEyMjIwNDg5QjEyMDIwNDkwODkwMUI0Cis6MTBGMUUwMDAyMDQwMEIxMDAyMDQwMjgxMjIyMjQwMDgxMDAyQzIwMUJBCis6MTBGMUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDJEQTAxMzIwMTk5Cis6MTBGMjAwMDAwRjg1MDNBMTQwQzA1MDNBMDE4Qjg1MjNBMTQ0RTg1MEVCCis6MTBGMjEwMDBCMjAwMEY4NTAzMjE0OEQ4NTEzMjE0MkM4NTAzRUUwMzI4Cis6MTBGMjIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY1MDBFRDAyM0U0NDczCis6MTBGMjMwMDAwRjkxMDNGNDQwRjkxMDNFNDQwRjkxMDNFNDQwRkQwMEE4Cis6MTBGMjQwMDAzRTQwMEZEMDAzRjQwMEU5MTBCRjQwMEY5MDAzNjYwNjY0Cis6MTBGMjUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2MjFDNTAwMzM2OEJBCis6MTBGMjYwMDAwRjlBMDM2Rjg4QzlDMDMzNjgwQzlFMDMyNzgwRDk0MDZBCis6MTBGMjcwMDAzRTQwMEY5MDAzQzUxMEQ5RTgzNjUwMENEMDAzRTYwMDhECis6MTBGMjgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDg4ODAwODIwMEQzCis6MTBGMjkwMDAwQjhFODJFQkM4ODhFMDIyMDAyODg4NDJBMjgwOEE4MEY4Cis6MTBGMkEwMDAyMjAwMEJBQTAyRTIwMDg4QzAyMkE5MDg4QTAzOEUwNDY5Cis6MTBGMkIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM0MDA4MTAwMjBEMDlDCis6MTBGMkMwMDAwQjExMzI4NDg0ODE2MDYwNTAwODE2MDYwNTAwOTEyMDdECis6MTBGMkQwMDAyMDQwMEIxMDgyRTQwOTkxMjAyNDQwMDgxMEMyRDIwMTgyCis6MTBGMkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDQ4OTA0MjI0MEVBCis6MTBGMkYwMDAwQjkwMDJDNDAwQTkwMDIyNDEwMDkwMDJBNDAwODEwMEVBCis6MTBGMzAwMDAyMjQwMEI5MjIyRTU4MDk5MDEyMjYxMDg5MDAyODYwNDM2Cis6MTBGMzEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNEE1ODI4MTkwMzI0MDJGCis6MTBGMzIwMDAwRjkwMTM2NzAyQzkwMDMyNDAwQzkwMjMyNDA0RDlDMDA3Cis6MTBGMzMwMDBCMjQwMEY5QzAzRTYwMEQ5MDAzNjUwMEM5MDAzRTgwNDVECis6MTBGMzQwMDA3MDAwMDAwMDAwMDAwMDAwNjgwMEE2ODBGOTAwM0U0MDQ4Cis6MTBGMzUwMDAwRjkwMDNFNzAwRDkwMEJDNDIwRjkwNTNFNDA0RjkxMDZBCis6MTBGMzYwMDAzRTQwMEY5ODAzRTYwNEUxMDAzRTQwMkY5MDAzREEwMDkwCis6MTBGMzcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMDgxMTA0ODEwMzIwOEQyCis6MTBGMzgwMDAwQzgwMEYyMTAyQzgwMDNBMDQwRjgwMDc2MDAwRjg0MDhCCis6MTBGMzkwMDBCMjAwMEY4NDBCMjAwMEQ4MDAzNjEwMEM4MDAzQ0EwNDgyCis6MTBGM0EwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNDI4MDQ4RTgwMjM4MDM0Cis6MTBGM0IwMDAwOEEwNDIyODAwOEEwMDIzQTA0QkEwMDJFODAwQkEwMDVGCis6MTBGM0MwMDA3NjgwMEJBMDAyMDgwMDhBMDAzMjgwMDhFMDAzQ0EwMEExCis6MTBGM0QwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA4MjAwMjBEMDAyCis6MTBGM0UwMDAwODMwMDIwQzAwOUIwMDI4QzAxQUIwMDI2QzAwQjMwMjY3Cis6MTBGM0YwMDAyMEMwMEIzMDAyMEMwMEEzMDAyMkMwMjgzNDgyQ0EwMEI3Cis6MTBGNDAwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFDMDA4NzAwMjBFMEU4Cis6MTBGNDEwMDAwODc4MDIwQzAwOTcyMDI1QzAwQjcxMDJEQzgxQjcyMDEwCis6MTBGNDIwMDAyMUMwMEI3QTQyM0M4MDg3MjAyMUMwMDg3MDAyRTgwMDhFCis6MTBGNDMwMDA0MDAwMDAwMDAwMDAwMDAwMjgwODBFODJDNzgwQjFFMEY0Cis6MTBGNDQwMDAyQ0ZBMDYxRTA4RDNCMTM5NjA0RTc4MTI1RUEwRkZGMDg4Cis6MTBGNDUwMDAyMUUwMEZGODAzMUYwOEUzQTAzM0UwMEM2ODAzRUEwMjgxCis6MTBGNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDNDBGQjAwM0VDMDkyCis6MTBGNDcwMDAwRkIyMDNFREE4RUIxMDNBODAwRkIwQzNFQzQwRkIwMEQ1Cis6MTBGNDgwMDAzRUMwMEZCMDgzRUM4MEVCNzBCRUM0MEZCMDAzODIwNkE5Cis6MTBGNDkwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMDBDRTgwQjM2MDY4Cis6MTBGNEEwMDAwRkZDODM3RTIwRUZCMDNCRTAwRkI4MDMzRTAwQ0Y4MTFFCis6MTBGNEIwMDAzRkUwOEZGODgzRUY0MEZGQzIzM0UxMENGODAzRDAwMDQ4Cis6MTBGNEMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDODI4NzE4MjE4MEI1Cis6MTBGNEQwMDAwQjMwMDIxQzYwRDcxMDIxRDAwQjdCMDIzQzAwRDcwMDAwCis6MTBGNEUwMDAyREMwMEI3MDAyREUwMEJGMDBBM0M0MDg3MDAzQUEwNDg1Cis6MTBGNEYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMEJDMTE4NzAwMjFDMDc3Cis6MTBGNTAwMDAwQjMwMDIxQzAwOTMyMDY5QzAwQjcwMDIxQzAwODcwMEE2Cis6MTBGNTEwMDAyREMwMEI3MTAyREMyMEI3MTAyMUMwMDg2MDAyODQwMEVFCis6MTBGNTIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNENEMDA4MzQwMjBDMEQ3Cis6MTBGNTMwMDA0QjMwMDIwQzAxODMwMDIwQzAwQjMwMDIwQzAwOTM4MDgyCis6MTBGNTQwMDAyQ0MwMEIzMDAyQ0MwMUIzMDAyMEMwMDgzMDIyOTgwNDNDCis6MTBGNTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJGMjBDQUMwMzI4MEEzCis6MTBGNTYwMDAwRkYwMDMzRTAwOUYwMDNBODAwRkYwMEIzQzAwQ0Y5ODU1Cis6MTBGNTcwMDAzRUMwMEZGNjAzRkYwMEZGMDAzMUUwMkNCMDAzQUUwNEU1Cis6MTBGNTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMENDODBGQjAwM0U1MEM2Cis6MTBGNTkwMDAwRkIwMDNBQzAyRkIwMDdFNTAwRkIwMDNFQzAwRkIwMDg5Cis6MTBGNUEwMDAzRUMwMEZCMjAzRUMyMEYzMDAzRUM2MEY5MDAzQTAwMDU0Cis6MTBGNUIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDJDRjk4NzNDODZBCis6MTBGNUMwMDAwRjcwMDMzQzAwRkYwMDMzMjgwRkIwMDIxQzAwNEYwMEY3Cis6MTBGNUQwMDAzRkMwMEZGMDAzRkMwMEZGMDEzM0MwMENFNDAzRTQwNDYwCis6MTBGNUUwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDZDMDA4MzgwQTJGODVFCis6MTBGNUYwMDAwQkIwNDIyQzAwQkIwMDMyMTAwRkIwMDM2QzA0QUIwMDA4Cis6MTBGNjAwMDAyRUMwMEJCMDEyRUMwNEVCMDAyMkMwNEE5NDgyRTAwMDQyCis6MTBGNjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTZDMDA4QTAwMjIwMDNECis6MTBGNjIwMDAwQkIwMDIyQzAwQjMwMEEyQzAwQjMwMDJBQzAwQUIwNDQ0Cis6MTBGNjMwMDAyRUMwMEJCMDQyRUMwMEJCMDAyMkMwMDhCMDIyRTAwMDlDCis6MTBGNjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwMDBDMDA4QjAxMjAwMEJBCis6MTBGNjUwMDAwQjMwMDYwQzAwQjMwMDIwQzAwQTMyMEFDQzAwQTMwMDE1Cis6MTBGNjYwMDAyQ0MwMEIzMDAyQ0MwMEEzMDAyMkMwNEEwMDEyQzIwMTAxCis6MTBGNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODZDMDA4QjA0MjJDMEE1Cis6MTBGNjgwMDAwRkYxMDMxQzAwRkYwNDMyQzAwQkYyMDNCQzAwRUYwMEJCCis6MTBGNjkwMDAzRUMwMDdGMDAzRkM4MEZGMDBCMkMwMENBMDAzRTAwM0YzCis6MTBGNkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOURDMDBGNTAwM0ZDMDgxCis6MTBGNkIwMDAwRkYwMDNGQzAxRkYwMjNCQzAwRkYxMDM3QzAwRkYwMEQxCis6MTBGNkMwMDAzRkMwMEZGMDEzRkM0MEVGMDAzRkMwMEZDMDAzRTgwNjNGCis6MTBGNkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUYyNDBDQzgwMzcyMDEwCis6MTBGNkUwMDAwQ0Q4MDNCMDQ0RkMwODNGMEUwRkMxMDNGQzAwQ0M5NEJGCis6MTBGNkYwMDAzRjBBMkVDNDAzN0Q4MENGMTAzRkMwMEZDMDgzMzAwMDZGCis6MTBGNzAwMDA3MDAwMDAwMDAwMDAwMDAwODAwOEUwOTA4ODAyMjI4MTY0Cis6MTBGNzEwMDAwODkyMTNBNDQwM0I2MDIyMTgwQjgxMDJGQ0Q0ODEwMEE0Cis6MTBGNzIwMDAzQUIwMEE5NDAyM0Q0MEFGNjMyRkRGMEI5ODAwMjAwNEVCCis6MTBGNzMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUUwMDA4ODAwMjA0MDQ0Cis6MTBGNzQwMDA4ODMwODJDMDAwQjAwODI4ODAwQTEwMDJDQzIwODAwMUQ2Cis6MTBGNzUwMDAyQzQwMUIwNjAyOEM5MDkzNjA2OEMwNEEwMDQyMjIwMTM0Cis6MTBGNzYwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUEwMDI4ODAwMjJDMDU4Cis6MTBGNzcwMDAwOEIwMDJFNDIwQkI4ODI2OTgwQjgwNDJDQzE4OEEwMDhGCis6MTBGNzgwMDAyRUMyMUI5ODAyQUMwMEFCMDAyRUMwMEI5ODgyMzAwNDM2Cis6MTBGNzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxMUUzQzBDQjAyMzIwMDU2Cis6MTBGN0EwMDAyQzgwMDNBRTA4QjkwMDNFNzAwRkI5MDNFQzAyNDg0ODQ0Cis6MTBGN0IwMDAzQ0MwMEY4QzkzRUMwMERCMDAxQUMwMEVBQzAzMTAwNEFECis6MTBGN0MwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUIyMDBGRjAwQkI4MEZDCis6MTBGN0QwMDAwRkMwNDNCNjQwQkQwMDNCNjAwRkU4MDNGQzAwRkY5NDQwCis6MTBGN0UwMDAzQkU0MEU2MDBGNkMwOEVGMDEzRkMwMEY2MDAzRjgwMEIwCis6MTBGN0YwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEExMDBGQjAwM0U2MDFGCis6MTBGODAwMDAwRkEwMDNFRDAwRjk0MDNBMDAwRjkwMDNFQzAyQzkwNDg5Cis6MTBGODEwMDAzMkQwMEY5MDAzMkMwOERCMDBCNkMwMERCNDAzRDAwNDI3Cis6MTBGODIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTAwMDBCMzg5MkVFMEExCis6MTBGODMwMDAwQkE0MDNBNDAxQjkwMDJFMDEwQjkwNDJGQzEwODk1MEM3Cis6MTBGODQwMDBBMkMwOERCNDAyM0M0NDhGMDAyM0MwMDhCMDAyRjIwMDc1Cis6MTBGODUwMDA0MDAwMDAwMDAwMDAwMDAwQzAwNDBDMDBCMDgwMkUwMDNBCis6MTBGODYwMDAwQjEyMDJDODAwQkEwMDJDQzAwQjIwMDJDQzAwQTIwMDcwCis6MTBGODcwMDAyMDAwMkIyRDlBMkU0MjgzMDAyOEMwMDgyMDAyRjgwMDc5Cis6MTBGODgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMDFFMDRCNDgwMkRBMEU1Cis6MTBGODkwMDAwQjU4MDI5MjAwQjY4MDJERTAwQjY4MDJERTQwQTY4MDc1Cis6MTBGOEEwMDAyMTI0Mjk0ODAyMUU4MDg3ODA2OUUwMDg2MTAyQzgwMDdGCis6MTBGOEIwMDA0MDAwMDAwMDAwMDAwMDAwNDgxODBDMDBGMDMwM0M0Q0Y0Cis6MTBGOEMwMDAwRjMyMDNDODgwQjIwMDM4ODAwRjFCMDNFQzAwRTAzMDE5Cis6MTBGOEQwMDAzMDA0MEZCMTAzMEU4NUNCMDAzQUMwMEMzMTAzRDIwMkM1Cis6MTBGOEUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxQ0JDMDBGQzExM0ZDNEYwCis6MTBGOEYwMDAwRkI4MTNCMDA0RkUwMjNGODAwRkMwMDNGRDAwREYxMkZCCis6MTBGOTAwMDAxRDA0MEZEMDQzQkMwMUVGMTAzM0M0MEVGMzAzRDAwNjI3Cis6MTBGOTEwMDA2MDAwMDAwMDAwMDAwMDAwMDgwNUVFMDBDQjAwM0UwMDgzCis6MTBGOTIwMDAwRjgwMDMyODAwRjgwMDNFNDAzREIwMDNFRjA4QzkwMEY3Cis6MTBGOTMwMDAzQTAwMENBMDAzRUM5OEZCMjAzMkQyMENBODAzMkEwMjU4Cis6MTBGOTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDA4NzAxMkQ4MDFECis6MTBGOTUwMDAwQjQwNDIxQzA0MzcwMEExNDAwODYwMDJDQzgwODcwMEE1Cis6MTBGOTYwMDAyRDgwMkU3MDAyRENBOUI3MjgyMUQwMDg3MDAyMTIwMDY5Cis6MTBGOTcwMDA2MDAwMDAwMDAwMDAwMDAwMjAwMEJFMDI4NzgwMkQ2MEIzCis6MTBGOTgwMDA0QkU4MDI1QTAxQjQ4ODI4RTA4ODc4QzJERTUyODZDMDZCCis6MTBGOTkwMDAyOTYwMDg2ODAyREU0MEIzOTJFMUU4MjgyODAyNzAwMDdFCis6MTBGOUEwMDAyMDAwMDAwMDAwMDAwMDAwNjgxNENDMDA4QjgwMkVDMEY2Cis6MTBGOUIwMDAwQjIwMDI0RDgwOUIyMDIwRTAwODM4MDJDQzAwODM4MDgxCis6MTBGOUMwMDAyQ0MwMEFCMDAyQ0MwOEIzMDAyMEMwMDgzMTAyNTIwNDk3Cis6MTBGOUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgwNUE4MDBDQUUwM0U4MEZBCis6MTBGOUUwMDAxRkE0MEI3OTAwRkUwMDNGODIxREUwMDNFODAwQ0U0MDFCCis6MTBGOUYwMDAzQjg4MkNFNDAzRTgwMUZBMDAzMjgwMENFODAzN0EwNDI3Cis6MTBGQTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgxMUEwMDBGODA5M0UwMDVFCis6MTBGQTEwMDA4RkMwODNBMDE4RjgwMDNDMjAwRjg4MDNFMDAwRjgwODhFCis6MTBGQTIwMDAzRTIwMEU4MDgzRTEwMUYwMDAzQzAwMEY4MDBCOTIwMDJECis6MTBGQTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEE0MDBGOTQyMzI0MDJECis6MTBGQTQwMDA0Qzk4MDMwNDAwQzkwMDNBNDAwRjkwMjMyNDAwQjk4MTY4Cis6MTBGQTUwMDAzQzQwMEM5MjAzMjQwMEY5MDUzMjQwNkM5MEMzQzIwNDcwCis6MTBGQTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDI0MTRCOTAwQTI1NEZCCis6MTBGQTcwMDAwODlCMUEyNDAyODkwMDIyNDAyODkwMDJBNDAwQjk5MDExCis6MTBGQTgwMDAyRTQwMjg5QzgyMjUwNEI5MDAyMjQwMDg5ODEyRTAwMEVDCis6MTBGQTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBBRDAwMjM0MDA1Cis6MTBGQUEwMDAwODUwMDI2NDAwODkwMDJBNDAwODEwMDI2NDAwQjkwMDZFCis6MTBGQUIwMDA2RTQwMDg5MDAyMjUwMEE5MDAyMjQwMDg5MTA2QzYwMDY5Cis6MTBGQUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDE0MDBCNTEwQTE0NDJDCis6MTBGQUQwMDAyODUwMDI0NDgwODEzMDIwNDgwODEyMDI4NDQwQjE4MEJFCis6MTBGQUUwMDA2Q0M4MDgxMjAyMDQ4MEIxMzQyMDQ4MDgxMjAyQzIwMTE2Cis6MTBGQUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBFODQwMzI5MEI2Cis6MTBGQjAwMDAwQ0M1MDM2MTQwQzA0MDNBMTQwRjg1MDMyMUIwRjg1MDgyCis6MTBGQjEwMDAzRTAwMEM4NTAzMjE0MEY4NDBCMDE0MEM4MDAzRUUwMTM4Cis6MTBGQjIwMDA1MDAwMDAwMDAwMDAwMDAwQjgxREM0MDRGOTIyMEU0ODc3Cis6MTBGQjMwMDAwRjEwMTNCNDQwRkQzMDNGNDQ0RkQxMDBFNDg0RkYwMTY3Cis6MTBGQjQwMDAzRDQ0MEZEMTBCRTQ0MEY5MzAzRTQ0MEZEMTAzRTYwNEFECis6MTBGQjUwMDA3MDAwMDAwMDAwMDAwMDAwMzgwNUU0MDBERDQwM0Y1MDY4Cis6MTBGQjYwMDAwQ0QwMDMyQzAwQzkwMDM2NDAwRjkwMTMyNzA0RjUwMTc4Cis6MTBGQjcwMDAzNzQwMENGMDAzRjYyMEY5QTgzMjY4MENEMDAzQzYwMDE5Cis6MTBGQjgwMDA3MDAwMDAwMDAwMDAwMDAwMTgwMEUwMDA4OEEwMkUyODhGCis6MTBGQjkwMDAyODgwMDIyMDAwODhBMDIyMDAwQjgwMEE2MjgwQjgwMDIyCis6MTBGQkEwMDAyMjAwMDg4MDAyRTEwMEI4RTAyMjNBMDhBMDAyQ0UwNDU4Cis6MTBGQkIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwMDg0MDI4MTAwMkU0MDU4Cis6MTBGQkMwMDAwODEwMEE0NDAyODEwODI0NDAwQTEwMDI0NTgwQjkwMDQ2Cis6MTBGQkQwMDAyNDQwMjkxMDAyQzQwMEIxMDgyNDQ0MDgxMDAyQzIwMUM0Cis6MTBGQkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNEE0MDQ4OTAxMkU1MEM5Cis6MTBGQkYwMDA0OEIyMDI2NDAwOTEwMDIyNDYwQjkwMDI2NDAwQjkwMUYxCis6MTBGQzAwMDAyNkMwMDlCMDEyRTQwMEIxMDAyNjQwMDg5MDAyQzYwNEU0Cis6MTBGQzEwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNEU0MDBDOTAwM0M0MEI3Cis6MTBGQzIwMDAwQzkwMDM2NDAwQzkwMjM2NTAwRTkzMDMyNDAwRjk5MDJGCis6MTBGQzMwMDAzNjQ4MEQ5NDgzRTQwOEY5MDBCNjQwMEM5NDAzRTgwNEI4Cis6MTBGQzQwMDA3MDAwMDAwMDAwMDAwMDAwNjgxMEE0MDBFOTAwM0U0MEMxCis6MTBGQzUwMDAwRjkwMTNBNDAwRTkwMjJFNjEwNTkwMDNBNDAwRjkwMDlGCis6MTBGQzYwMDAzQTQwMEU5MDQzRTQxMEY5MDAzODQwMkY5MDAzQ0EwMDQ4Cis6MTBGQzcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBEODAxMzIwNDNECis6MTBGQzgwMDAwRjgwNDNDMDAxQzgwMEIyMDEwQzgwMDMyMDAwQzg0MEFGCis6MTBGQzkwMDAzMDAwOEM4NDgzRTAwMEM4MDAzMjAwNkM4NDAzQ0EwNDA2Cis6MTBGQ0EwMDAyMDAwMDAwMDAwMDAwMDAwMDgwNDI4MDBCQTAwMjM4MEEzCis6MTBGQ0IwMDAwQkVBMDJFODAwQUEwMDIyODAwOEEwMDIyODAwODYyMEExCis6MTBGQ0MwMDAzN0EwOERFNDAyRjgwMERBMDAyMjgwMDhBMDAyQ0EwMDAyCis6MTBGQ0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNTZDMDBCMzAwMjBDMEQ4Cis6MTBGQ0UwMDAwQkI4MDI0QzA0ODMwMDIwQzAwOEIwMDIwQzAyODMwMDUxCis6MTBGQ0YwMDAyMDQwMjgzNDAyQ0U5MDgzMDBBMEMwMDgzMDAyQ0EwMDAxCis6MTBGRDAwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFDQzBCNTg4MjE0MDA4Cis6MTBGRDEwMDAwQjcwMDJEQzgwQTMyMDIxRTA0ODMyNDIwRTkwOEUwMTVECis6MTBGRDIwMDA2NTUwMDk3MDAyREUyMDkzMjEyMUMwMDg3MDAyRTgwMEFFCis6MTBGRDMwMDA0MDAwMDAwMDAwMDAwMDAwMjgxODFFMDBGRjgwQjFBMDU1Cis6MTBGRDQwMDAwRjQ4MDI3RTAwODdBMDMzRTAyODdBMEIxRjAwQzQ4MDkyCis6MTBGRDUwMDAzMTYwOEM1ODAzRkUwMEM3QzgzM0U4MEM1ODAzRUEwMjMwCis6MTBGRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGRjAwM0UwMDg1Cis6MTBGRDcwMDAwRjkwMjNFQ0EwRkI0MDNFQzA4RkI1MDNFRDgwRjgwMDUwCis6MTBGRDgwMDAzQzQwMEZCMDAzRTgwMEZCMDIzRUQwMEY5MDAzQzIwNkQ4Cis6MTBGRDkwMDA2MDAwMDAwMDAwMDAwMDAwNjAwNEJFMDBGRjgwM0ZFMDQzCis6MTBGREEwMDAwRkQ5MDNGRTIwQ0ZDODMzRUE4RkZDMDMzRjAwRkQ4MDRDCis6MTBGREIwMDAzRjYwMEVFODAzRjIwMENGODAyRkZFMEM3ODAzMDAwMEI2Cis6MTBGREMwMDA3MDAwMDAwMDAwMDAwMDAwQTgwMDlDMDBCNTAyMkRDMERCCis6MTBGREQwMDAwQjU4NDJEQzgwQ0YwMDIxQzEwQjMwMTIxQzQwQjQwMjEyCis6MTBGREUwMDAyRDQ2MDg3MTEyQzgwMEU3MDAyREM0MDg3MDAzNkEwNDhDCis6MTBGREYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzAwMkQwMjIxCis6MTBGRTAwMDAwQjQ2MDJEQzA4OTcwMDIxQzkwQTMwMjIxQzAwQjQwMDBFCis6MTBGRTEwMDAyRDQwMEE1MDgyQzQwMEI3MDAyQ0M4Mjg1MDAyNDAxMDYwCis6MTBGRTIwMDAyMDAwMDAwMDAwMDAwMDAwNDAxNDhDMThCMzAwMkUyMEI5Cis6MTBGRTMwMDAwQjE4MDJDRjRBODNDMjIwQzEwQjM0MjIwQzA0Qjg1OERECis6MTBGRTQwMDAyQzQwMEIyODAyQzgwMEEzMDAyQ0MwMDgxNDAyNDgwNDUwCis6MTBGRTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgwNUJDMDBGQjAwM0U4MDUwCis6MTBGRTYwMDAwRkEwMDJGQzAwREZBMEIzQzAwRUYwMEIzQzAwRkJDMEYzCis6MTBGRTcwMDAzQ0EwMEVCRDAzRUMwMEZGMDAzRkMwMEMzMDAzNkEwNDQxCis6MTBGRTgwMDA2MDAwMDAwMDAwMDAwMDAwQTAxMEVDMDBGOTAwM0UwMTNFCis6MTBGRTkwMDA4RkIxNDNFQzAwRjMwMDNFQzA0RkIwMTNFQzAwRkIwMDA5Cis6MTBGRUEwMDAzRTgwMEM4NDAzRTEwMDczMDAzRUMxMEZCMjQzRTAwMENBCis6MTBGRUIwMDAzMDAwMDAwMDAwMDAwMDAwMDE1MEZDMTBGRjgwMzdDMDNGCis6MTBGRUMwMDAwQ0UwMDNGQzIwRkYwODMzQzAwRkYwODNCQzAwRkYwMEYwCis6MTBGRUQwMDAzM0MwMkU0MDAzMUMwMUNGMDAxMUMwNENEMDAzMDA0NDlFCis6MTBGRUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDRCMzAyMjI3MkE0Cis6MTBGRUYwMDAwOEExMTZFQzAwQkIwNDIyQzAwQkIwNDJFQzAwQkExOUZBCis6MTBGRjAwMDBCNkQwMDg5QzRBMjY4MERCMDAyMkMwMDg5MDAzNjA0MERGCis6MTBGRjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDBCOTEwNjIyMEQ1Cis6MTBGRjIwMDA0OEEwMDJFQzAwQkIwMDIyQzAwQkIwMDJFQzEwQkIwMEVBCis6MTBGRjMwMDA2NjA4MEFBODEyMjYxMDlCMDAyQUMwMjhCMDI2MjAwMEI2Cis6MTBGRjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwMDBDMDBCOTAwMjAwMDg0Cis6MTBGRjUwMDAwODMyMDJDQzA0QjMwMDIwQzA0QjMwMDJDQzAwQjMwMDA2Cis6MTBGRjYwMDAyMDAwMDgwMDAyMDEwMDkzMDAyOEMwMDgzMDA2NDIxMTVBCis6MTBGRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQzZDMDBGOTAwQjI0MDBFCis6MTBGRjgwMDAwQzgyMDJEQzAxRkYwMEIyQzAwQkYxMDNCQzAwRjkwMERGCis6MTBGRjkwMDAyNjQwMkU4MDAzMjEwNENGMDBCQkMwMEM5MDAzMDAwMzM5Cis6MTBGRkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRDAwM0Y0MENDCis6MTBGRkIwMDAwRjgxMDNGQzAwRkYwMDNGQzAwRkYwMjNGQzAwRkMwMDlBCis6MTBGRkMwMDAyRDQwMkZDMDAzRjA4OEZGMDAzN0MwOEZEMDAzRTgwMjE4Cis6MTBGRkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZFNDBGRjgwMzNDMjNBCis6MTBGRkUwMDAwQ0Y4MDM3Q0EwRkY5MDNGQzQyQ0I0MDNCQzgwQ0Y0MDJFCis6MTBGRkYwMDAzN0UwMEZGMTkzNkU0NEJGMzAzRjIwMkNGODYzRjAwNERDCis6MTA4MDEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDMDBFQjIwMjNGMDU2Cis6MTA4MDIwMDAwOEI4NTIzRDAwQjMwMDJFREMwOEY0NDIxQzQyOEI0MERECis6MTA4MDMwMDAyMkM4MEJGNjAzNkM4OEJCMzAyRTAwMDhCMjAyRTAwNEE1Cis6MTA4MDQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMDBCQjA4MjBDMDA0Cis6MTA4MDUwMDAwODMwMDI0Q0EwQjMyMDI2ODA4ODM2MDJDQ0EwOTM2MDYyCis6MTA4MDYwMDBBNEMyMEEzMjQyNEM5MEIzMjAyQzBCODgzMDgyRTIwMTI5Cis6MTA4MDcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDhCQjIyQTJDMEM4Cis6MTA4MDgwMDAwOEIwMDIyQzAwQkIwMDJFOTAwOEIwMDJFQzAwOUIwMDUwCis6MTA4MDkwMDAyMkMwMEJCMDAyNkMwMEJCMDIyRTIwMDhCMDAyRjAwMDIwCis6MTA4MEEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBCMTgzMzJDMDA5Cis6MTA4MEIwMDAwQzFBMDM2QzEwRkIwMDM0QzAwQ0IwMDNFQzA4REEwMDlGCis6MTA4MEMwMDAzNkMwMEVCMDBCNkMwMEZCMDAzRTI4MENCMDAyRDAwMDk2Cis6MTA4MEQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMDBFRDgwM0ZDMDI3Cis6MTA4MEUwMDAwRkQ0MDNFQzAwRkYwMDNGQzgwRkIwMDMzQzAwRUU0MDhDCis6MTA4MEYwMDAzRkMwMEY3MDAzRkMwMEZGMDAzRjgwMEZGMDAzRjgwMDRCCis6MTA4MTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjIwQjBDMDg4Cis6MTA4MTEwMDAwRkI0MDNBQzAyQ0IwMDMyOTAwRUIwMDM2QzAwRUIwMDQ2Cis6MTA4MTIwMDAzQUMwMENCMDAyRUMwMEZCMDAzRTkxMEZCMDAzOTAwMDhGCis6MTA4MTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCQjgwMjNEN0YxCis6MTA4MTQwMDAwQjkwMDIzQzE0OEIwMDZBMDgyOEYwMDBCQzAwODMwMEVFCis6MTA4MTUwMDBCRUMwODhGMDEzMkMwMEVGMDAyRTgwMEJCMDA3QjIwMEQ5Cis6MTA4MTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMzQwMjBEMEJCCis6MTA4MTcwMDAwQjI4MDI4QzAwODMwMTIwQzAxQUI4MDA2QzEwQTEwMEVCCis6MTA4MTgwMDA2OEMwMkEzMDAyOEMwMEIzMDIyRTAwNEIzMDAyRjgwNDgzCis6MTA4MTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDBCN0EwMjFFMEY4Cis6MTA4MUEwMDAwQkVDQzIxRTA0ODc4MDI5RTQwODc5ODI5RTQwQUY5MEMwCis6MTA4MUIwMDAyOUUwMEEzODAwMUUwMEE3OTAyRDI0MEI3ODAyODgwMEMxCis6MTA4MUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDNTBGQjA5MzBDMENGCis6MTA4MUQwMDAwRjIwMDI4QzQwQzMwMDIwQzAwQTM4MDM0QzQ0RTEwMDQ5Cis6MTA4MUUwMDBBQUMwMEUzMTQzOEUwMEYzMDAzQzAwMEYzMDAzRDIwMkQwCis6MTA4MUYwMDAwMDAwMDAwMDAwMDAwMDAwNDA0REJDMDBGRjIwM0ZEMDA4Cis6MTA4MjAwMDA0RjcwMDNGQzAwRkYwMDNEQzAwRkYzNDNGQzQwRDcwMDVDCis6MTA4MjEwMDBCRkMwMERGNEMzRkM0MEZGMDAzRjQwMEZGMDAzRDAwNjg5Cis6MTA4MjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDBGQjAwMzJEMDU4Cis6MTA4MjMwMDAwRDkwMDFFREMwRkIwMDNFQzAxRkJBMDNBQ0MwQzgwMEVBCis6MTA4MjQwMDAzMkUwOERCNDQzRUMwMEZCMDAzNkEwMENCMDAzNkEwMEIyCis6MTA4MjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCNzAwMjFDODE5Cis6MTA4MjYwMDAwODYwMDJEQzIwQjcwMDJEQzAwRjc0QTIxQzI4RDYwMEM1Cis6MTA4MjcwMDAzNUMwMDg3MjAyNUMwOEI3NDRBMTgwNDg3MDAyMTIwMDQxCis6MTA4MjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzgwMjBFNEY1Cis6MTA4MjkwMDAwOTc4MjZERTAwQjc4MDJERTIwQTcwMTI4Qzg4ODE4MDcyCis6MTA4MkEwMDAyMUUwMDk3ODAyREUwMEIzQTAyNUEwMjg3ODAyNzAwNDNFCis6MTA4MkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDFCQjgwMjBDMDVBCis6MTA4MkMwMDAwODMwNDJFQzAwQjMwMDJDQzAwQTMwMjIwQzAwOTMwMEFFCis6MTA4MkQwMDAyNEMxMDgzMDAyQ0MwMEIzMDAyMEUwMDhCMDAyMTIwNDMwCis6MTA4MkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGQTA4QjI4MDg1Cis6MTA4MkYwMDAwREUyMDNFODAwRkEwMDNGODAwQUEwMDNBODAwQ0U1MDc4Cis6MTA4MzAwMDAzMjgwMDVBMDAzRTgwMEZBMDAzN0E4MENBMDAzN0EwNDI1Cis6MTA4MzEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMDYwMDhGODAwM0MwMDE5Cis6MTA4MzIwMDAwRjg4MDFFMDAwRjgwNDNDMDA0RjAwMTNDMDAwRjgwMDgzCis6MTA4MzMwMDAzRTAwMEY4MDAzNjAwMEY4MDIzRTAxMEY4MDAzRDIwMDcwCis6MTA4MzQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGOTkwMTI0MDI2Cis6MTA4MzUwMDAwQzkwMDNBNDAwQzkwMDNFNzAwRTk0MzMyNDA4QzkwMDk5Cis6MTA4MzYwMDAyQTQwMEI5MDAzRTQwMEY5MDAzQTQwMEY5MDAzMDIwNDA2Cis6MTA4MzcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTQyMjI2MDY4Cis6MTA4MzgwMDAwODEwMDIyNDAwODkwMzJFNDAwODkwMDJBNDAxODEwNEYxCis6MTA4MzkwMDAzRTQwMEI5MDAyRTQwMEI5MDIyMjQwMEU5MDAyMjAwMDAxCis6MTA4M0EwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTQwMkE0QTBGCis6MTA4M0IwMDAwODkxMDJBNDAwODkwMDJFNDAxQTkwMEEyNDA0ODkwMDIyCis6MTA4M0MwMDAyQTQwMEI5MDAyRTQwMEIxMDAyQTQwMEI5MDAyMDYwMDA0Cis6MTA4M0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMTAxQTg0OEFCCis6MTA4M0UwMDA4ODkwMDIwNDgwODE0MDJDNTAxODE0MEE4NDEwODk0MDFGCis6MTA4M0YwMDAyQzQwMEIxMDAyQzQwMDMxMjAyMDQwMEExMDBBMDIwMTU4Cis6MTA4NDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGMDUwM0EwMDhDCis6MTA4NDEwMDAyQ0EwMDJBMTQyQzgwMDNFMDBERTAwMjMyMTQyODgwMEI5Cis6MTA4NDIwMDAzODE0MEY4NTAzRTE0MEY4NTAzODE0MEYwNTAzMkUwMTZFCis6MTA4NDMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0MDhGRDAwMzY0NEQ0Cis6MTA4NDQwMDAwRkQwMDM2NDQwRjkwMDNENTAwRjk0MDNFNTAwN0Q0MEQ4Cis6MTA4NDUwMDAzRTQwMEY5NDAzRTQwMEY5MTAzRjQwMEU5MDAzRTYwNDAxCis6MTA4NDYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU0MDBGRDQwMzM2OEMzCis6MTA4NDcwMDAwQ0QwMDNFNzgxRjkwMDMzNzgwREQ4MTMyNkEwQ0RBMEU2Cis6MTA4NDgwMDAzMjQwMEQ5QjAzMjQwMEY5QTAzQzQ0MkM5MDA3ODYwMDQ5Cis6MTA4NDkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDBCOEEwQTIxMDNBCis6MTA4NEEwMDAxODgwMDM4Mjg0Qjg4MDM2MkMyRTBGMDJBM0EwRDhFMDU3Cis6MTA4NEIwMDAzNjIyOEIwODAzNDJBMEY4RTAyRTI4MDg4ODAyQ0UwNDVBCis6MTA4NEMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwQTA1MDBBCis6MTA4NEQwMDAyODMwMDJDNTgwQjEwODIwNDAwOTEwQTI0NDA4ODE0ODE0Cis6MTA4NEUwMDAyMDQwMEIxNDAyMDQ4MEIxMzgyQzQ4MDgxMjgyODIwMTBCCis6MTA4NEYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE0MDBCMTAwMjI0MDJDCis6MTA4NTAwMDAwODkyMDJFNDAwQjkwMjI2NTg0QTkwMDJFNDA4OTk0MDExCis6MTA4NTEwMDAyNjQwMEI5MDAyNjQwOEI5MDEyQzQ4MDg5MDEyQzYwNDRBCis6MTA4NTIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTgwMzI0MDY3Cis6MTA4NTMwMDAwODk4ODNFNDA0QjkwMTMwNDAwRDkwMEI2NDAyQzkwMDJGCis6MTA4NTQwMDAzMjQwMEY5MDAzMjQwMEY5MDAxRTU4MEM5MDAzQTgwNDM5Cis6MTA4NTUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTIwM0M0MDQ5Cis6MTA4NTYwMDAwRjk4MDNBNDAwQjkwMDNFNDI4RTEwNEI4NDA0RjkwMDFBCis6MTA4NTcwMDAzRTQwOEY5MDAzRTQwMEU5MDAzRTQwMEY5MDAzQ0EwMEE0Cis6MTA4NTgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBEODAwMzIwOEExCis6MTA4NTkwMDAwRjg0ODNBMDA0QzgwNDNFMDA4MzgwMDEyMDAwQzAwMDMzCis6MTA4NUEwMDAzMjAwMEYwMDAzQTAwMEM4MDAzMjEwNEU4MDEzQ0EwNDJFCis6MTA4NUIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4RTkwQTM4MDA1Cis6MTA4NUMwMDAwQkU0MDIyODAwQ0EwMDJGODA0QUEwMTNBODAwQUEwMENBCis6MTA4NUQwMDAzNjgxMEJBMDAyMjgwMDhBMDAyMjgwMDhBMDAzOEEwMEFFCis6MTA4NUUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5M0MwMjBEMDhGCis6MTA4NUYwMDAwQjM0MDI4QzAwOEIwMDJDRjA4QjE4MDI0QzAwODMwMDkzCis6MTA4NjAwMDA2MEMwMEIzMDAyOEMwMjgzMDAyOEMxMEEzMDAyQ0EwMDBECis6MTA4NjEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDBCNDBCNjlDMDYzCis6MTA4NjIwMDAwOTU4MDYxRTgwOTcxMDJGQzI0ODcwODI5QzgwQTcwOEE4Cis6MTA4NjMwMDAyNUNDMEI3MDAyMUU4MTg3QTJBQkM0MDg3MzAyRTgwMDMwCis6MTA4NjQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFMTBEQzg0MjFFMDhCCis6MTA4NjUwMDAwRjc4NDI5RjAyQzc4ODNERTAyRjcxMDM0RTAwQ0Y4MDA0Cis6MTA4NjYwMDAyMUUyMEY3ODgzOUU0OUNGRDAzOUU4MEU3ODAzRUEwMkUxCis6MTA4NjcwMDAwMDAwMDAwMDAwMDAwMDAwMDg0REFDNDBDQTAwMzYwMEI5Cis6MTA4NjgwMDA4RjMwMjNFQ0E4RUI0MDNDQzAwRjk2NDNFRDgwRkIwMEZECis6MTA4NjkwMDAzRUQ4OEZCMTQzRUQ4MEZCMjAzNkNBMEZCMEEzODIwNkNGCis6MTA4NkEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFODBGQzgwMzFFMDVBCis6MTA4NkIwMDAwNUFBMTBGRTQ0RkY5MDNGRTFDRkY5MTczRjIwRDc4MDc1Cis6MTA4NkMwMDA4QkU0MEZGODAzM0UzMEZGODAzN0UwMEZGODAwNDAwMEU2Cis6MTA4NkQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCRDEwMjFDMDI3Cis6MTA4NkUwMDAwODRBMDJEQ0MwQjcwMDJEQzIwQ0QzMDIxQzgwODcwMEYwCis6MTA4NkYwMDAyOUMwNEI3MjAyMUMwMEI3MDEyMUMwMEJGMDEyMkEwNEUyCis6MTA4NzAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDOTAzNDAwMjE4MDA4Cis6MTA4NzEwMDAwOTcwMDA1QzBDQjcwMDJEQzQwODUwMUEwQzAwOTcwMEJCCis6MTA4NzIwMDAyMUMwNEIzMDAyMUMwMEI3MDAyNUMwMEI3MDAyNDAwMDc2Cis6MTA4NzMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDBCMDAwNjAwMDA5Cis6MTA4NzQwMDAwODNFMDJDQzAwQjMwMjBDRTAyQkIwMDIwQzAwOTMwMEY4Cis6MTA4NzUwMDAyOEMwMEJCMDAyMkMxMEIzMDAyMEQ2MDMzMDAyMDgwNDRFCis6MTA4NzYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBGQjAwQjIwMEIzCis6MTA4NzcwMDAwNUJFMDM3QzAwRkYwMDNFMjAwQ0IwMDMzQzAwRDk4MDA2Cis6MTA4NzgwMDAzM0MwOEJGMDAzM0MwMEZGMDAzN0UwMEZGMDAzNkEwNEI2Cis6MTA4NzkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjA0M0UwMEQwCis6MTA4N0EwMDAwRkE0MjNDQzAwRkIwMDNFODEwODkwMDNFQzAwRTkxNEU5Cis6MTA4N0IwMDAzRUMwMEZCMDAzRUMxMEZCMDAzRUMwMEZCMDAzRTAwMDYyCis6MTA4N0MwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGRjAwMzc4MEI2Cis6MTA4N0QwMDAwRkZBMDNGQzAwQ0YwMDNGOTAwNkRDMjMzQzAwRkQxMEE1Cis6MTA4N0UwMDAzM0MwMEZGMDBCM0MwMDQzMDAzM0MwMEZGMDAzQzA0NDE0Cis6MTA4N0YwMDAzMDAwMDAwMDAwMDAwMDAwODEwMDZDMDlCQjE5MjIzMjJCCis6MTA4ODAwMDAwQkJFMDM2QzAwOEIwMDJDOTAwREI4MDJBQzAwQjEwMEM1Cis6MTA4ODEwMDBGMkMwMEJCMDEyQUMwMDhCMDAyMkMwMEJCMDAzQTA0MDIyCis6MTA4ODIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMTBCMzAwMjYyMDdFCis6MTA4ODMwMDAwQjkwMTJFQzAxOEIwMDJBQzIwQTkwMDIyQzAwQkIwMEE0Cis6MTA4ODQwMDBBMkMwMEJCMDAyMkMwMEFCMDAyQUMwMEJCMDAyRTAwMEFCCis6MTA4ODUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDFCMzAwMjAwMEVDCis6MTA4ODYwMDAwQjAwMDI4QzAwODMwMDJFQzAwQjM0MDI4QzAwQkIwMDc2Cis6MTA4ODcwMDAyMEMwMEIzMDAyMEQwMEEzMDBBMEMwMEIzMDAyODIwMTBCCis6MTA4ODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBCQjA0MzY4MEZBCis6MTA4ODkwMDAwRkIyMDJGQzAyQ0YwMjM4QzAwRUYwMDMzQzAwRkIwMDE2Cis6MTA4OEEwMDAyM0MwMEZGMDAzM0QwMkVGMDAzM0MwMEZGMDQzQzAwM0JECis6MTA4OEIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwM0YwMDcxCis6MTA4OEMwMDAwRkY0MjM3QzAwRkYwMDNGQzAwREQwMDNGQzAwRkYwMDJECis6MTA4OEQwMDAzQkMwMEZGMDAzRkM4OERGMDAzRkMwMEZGMDAzQTgwNjg5Cis6MTA4OEUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwNTBDRTEyMzNEMDMwCis6MTA4OEYwMDA0Qzg2ODMzMDgwNUY2ODMzQzQwRkYzODMzQ0MwQ0MzODMwCis6MTA4OTAwMDBCMzA4MENDNjAzRjFBMEZGMDAzMzI0MENDMjAzRjAwMDJGCis6MTA4OTEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDODBEMjIwMjNEOEZFCis6MTA4OTIwMDAwRDk2MDI4ODYwQUY0MDIzREMwQkY2MDIzQ0MyODg2MEUzCis6MTA4OTMwMDAyMjUyMDg5MTIyRTEwMEI3MjRBMjQ4OEE4NDgyNjAwNDZFCis6MTA4OTQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0MDA4MTAwRTBDNDgxCis6MTA4OTUwMDAwQTAwMDIwNDgwQTMyMEE4QzAxQjMwMEEwQzAwQTAwMDVCCis6MTA4OTYwMDAyODBDMDkwMjAyQzQ4MEIzMUMyMjA4MTkwMzAyRTIxMTc4Cis6MTA4OTcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE0MDA5OTgwNjJDMEQzCis6MTA4OTgwMDAwQkEwMzJBNDUxQUIwMDJBQzA4QkIwMDAwQzAwQTlDMEQwCis6MTA4OTkwMDAyQTIxMDhCODIyRTIwMEJCMDAyMjg0MUJBODQyNzAwNEVFCis6MTA4OUEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUUyMDBDQkM5MzJDMEFBCis6MTA4OUIwMDAwRThCMTMyMjEwREIwMTMyQzAwRkIwMEIyQzAwNjg4MTJDCis6MTA4OUMwMDAzQTIyMkM4ODIzRTMwMEZCMDAzMDMwOEQ5QzgzRDAwNEI2Cis6MTA4OUQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJBNDBGNzA0M0VDMjUxCis6MTA4OUUwMDAwREQ4MjNEODAwN0IwMDM3QzAwRjcwMzNGQzEwRDIwMEE1Cis6MTA4OUYwMDAzNUMwOEZDMDAzRjQwMEY3MDIzRkUwMEU4MDAzRjgwMDlCCis6MTA4QTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMDgxMjBDODA4MzBDMDU1Cis6MTA4QTEwMDAwQzAwODMyNDQwQzM4OTNBQzAwRUIwMEIyQzA4Qzk0ODBGCis6MTA4QTIwMDA3MjU0MEY5MTAzRUQwMkVCOEEzQTYyOEM4MDBCMTAwNEIyCis6MTA4QTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJCMDQ4ODQwQTNDMkVECis6MTA4QTQwMDAwMkFFMTIyNzQyOEY0NDIzQzIwQkY0MDIzRDAwMEE0MEJCCis6MTA4QTUwMDAyMkUwMEJCNTAyRUMyMDhGNDRBMjQwOERCRDIzMzIwMEYyCis6MTA4QTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ5NDA4MzgxMjRDMTZGCis6MTA4QTcwMDAwODI4MDIwMTAwOTMwMEEwRTgwQTMwODI4RjYwQjM5MEJBCis6MTA4QTgwMDA2MEI4MEIyODEyNEEwMDkzMDAyMDkwMDkyMDAyNzgwMDU5Cis6MTA4QTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDI4N0E4MjVFMDExCis6MTA4QUEwMDAwQTdCMDIxQTA0ODc4MDIxRTQwQjc4ODI4RTAyOTY5MTU5Cis6MTA4QUIwMDAyMTIxMEI2OTQwREI0MDk3OTIyM0EwODk1ODgyMDgwMDRFCis6MTA4QUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODI1ODJDMzAwMzRDMEI4Cis6MTA4QUQwMDAwQzlCNDMwOEQwRDMyMDM4QzAwRUIwMDM4QzAwQjMwMEU5Cis6MTA4QUUwMDAyMDgwMDcxMDAzRTAwMEQzMTAzODE4MEQzMDAzNTIwMjI1Cis6MTA4QUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI0MDA3RjIwMUJEMERCCis6MTA4QjAwMDAwRkYxMDNGODQwRUYwMDNGQzAwRkI0MDM3QzIwQ0YwNDA3Cis6MTA4QjEwMDBCRjQwMEZGMDAzRTQxMEVGMTgzREMwMEZFMDAzRDAwNjk0Cis6MTA4QjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDBFMzAwQjJDNEY3Cis6MTA4QjMwMDAwQ0EwMDMyNDAwREI2ODMyQzgwQ0I0MDNFQzgwQzg4MEFFCis6MTA4QjQwMDBCNkUwMENBMDAzMkUwMENCRTBCMjYwMENCODBCMkEwMEZDCis6MTA4QjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDI4NzAwQTFDOEJFCis6MTA4QjYwMDAwODcwMDIxQzA4OTcwMjIxRDQwODc0MDJEQ0MwMDcwMEI4Cis6MTA4QjcwMDAyMUMwODg3MDAyMTgwMDgzMDgyMUMwMDg1MDAyMTIwNDI2Cis6MTA4QjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMjBBRDgwMjlFMEQxCis6MTA4QjkwMDAwODU4MDIxRTAwOTdCMDIxRTgwODc4MDJERTEwMTU4MDAwCis6MTA4QkEwMDAyMUExMDg0ODAyNUUwMDg3QTQ2NUEwMDg3ODAyMzAwMDcxCis6MTA4QkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENGMTA4MTcwQThDMDAxCis6MTA4QkMwMDAzODMwMEEwRDAwOTMwMEEwQzEyODMwMDJDQzAyODM4OEZGCis6MTA4QkQwMDAyMEUwMzgzNDBBNEQ3MjgzMDAyNEU4MjgzNDgyMTIwNERECis6MTA4QkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJBNDBFRUMwQkE4MDc2Cis6MTA4QkYwMDAwQ0UwMDMzOTEwREEwMDMyODAwQ0EwMDNFODAwREVDODc0Cis6MTA4QzAwMDAzM0EwMENFMDAzN0IwMENBMDAzN0IxMENFNDIzM0EwNDI0Cis6MTA4QzEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEMxMDBGODAwMzYwMEJECis6MTA4QzIwMDAwRjgwMDNDMDIwMzgwMDNFMDAwRjAwMDNFMDAwRjgwMjcwCis6MTA4QzMwMDAzQTI0MEY4MDgzQTAwMUY4MDQzQTA0MEQ4MDEzRDIwMDc3Cis6MTA4QzQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0NDRDMTAwMzI0MDgxCis6MTA4QzUwMDAwQzkwMzIyNDBDQzEwNjM4NDAwRDkwMDkwNDAwRDkwMDU0Cis6MTA4QzYwMDAzRTQwMEYxODAzMjQwMEY5MDEzRTQwMEY5MDAzQzIwNDU4Cis6MTA4QzcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDY4OTAwMkE1MEQzCis6MTA4QzgwMDAwODk0MEEyNDAwODk0MjIyNTAwQTkwMTIyNTAwODkwMDgzCis6MTA4QzkwMDAyRTUwMEI5QzBBMjUxMEI5MDAyRTUwMEI5MDAyRTAwMEJDCis6MTA4Q0EwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MjA4OTAwMjA0MjY4Cis6MTA4Q0IwMDAwODEwQzJBQzEwODkwODJBNDIwOTkwMDIyNDIwOTkwMEE5Cis6MTA4Q0MwMDAyRTQyMEFCMTgyMkMyMEI5MDA2RTQyMEI5MDAyQzYwMERGCis6MTA4Q0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA4MzAwMjg0ODUxCis6MTA4Q0UwMDAwODEyNjI4QzgwODEwMDIwNDAwMjEwMDI4NDgwODEyMDYyCis6MTA4Q0YwMDAyQzQ5MEIxMjA2MDQ4NEIzMDI2QzQwMEIxMjAyQzIwMTExCis6MTA4RDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDQxRTBDODc4MzAxNEY5Cis6MTA4RDEwMDA0QzA1MTNBMTQyQzA3ODM4MUUwRDg3ODMwMTQwRDA1MDA2Cis6MTA4RDIwMDAzQzE0MEUwNTAzMDE0MEY4NzgzQzE0MEYwNTAzRUUwM0Q0Cis6MTA4RDMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREZDMDBGRjAwMEU0NEUxCis6MTA4RDQwMDAyRkYxMDM3NDQwRjkwMDNFNDAwRDkwMDM2NDQwRkQxMDg0Cis6MTA4RDUwMDAzRjQ0MEZEMTAxRjQ0MEY5MDEzRkMwMEZEMTAzRTYwNkIzCis6MTA4RDYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2MjJFOTg4QjI0MDBCCis6MTA4RDcwMDAwRjkwMDMyNDE2Qzk4QzM2N0I4RjlDODNBNzkwQzkwMDYzCis6MTA4RDgwMDAzRTUwMDQ5NDEzMjQ1MEM5RTAzRTUwMEY5MDAzMDYwMDU3Cis6MTA4RDkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUyODA4OEEwMjIyODQ3Cis6MTA4REEwMDAwQjhBMDIyQTgwODhBNDIyMzAwODhFMEEyMjAyODhBMDE4Cis6MTA4REIwMDAyRTI4ODhBQTEyMjI5MDg4RjQyRTIwMEJDODAyMEUwNEI2Cis6MTA4REMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUQ0MjBBNTA4MjE0MjYyCis6MTA4REQwMDAwQjUwODIxNDMxODUwODI1NDAwQTUwMjI5NDQwODUwOEEyCis6MTA4REUwMDA2RDQwMDg1MDAyNTQwMjk1MDAyRDQ4MEI1MDgyNDIwMUZDCis6MTA4REYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNTg0MDA4RDEwMjM0MDUyCis6MTA4RTAwMDAwQkQwMDAzNDAxOEQwMDIzNDE1OEQwMDIzNDAwOEQwODZFCis6MTA4RTEwMDAyRjUwMDhEMjAyNzQ4MDlEMDAyRjQ4MEJEQzAyNDYwNEJDCis6MTA4RTIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU3NDBFOUMwMzI0MEVCCis6MTA4RTMwMDAwRjkwMDkyNjAwQzkwNDM2NDAxRjkwMjNBNDA4Qzk0MDlBCis6MTA4RTQwMDAzRTQwMEM5NDBCNjQyMEQ5MDIzRTQxMEY5NDAzNjgwNDA5Cis6MTA4RTUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTgwM0U0MERFCis6MTA4RTYwMDAwRjE0MDNDNTA4RjkwMDNFNDAxRjkwMjNFNDAwRjkwMEU5Cis6MTA4RTcwMDAzQzQwQUY5ODAzODYwMEU5MDAzRTQwMEYxMDBCOEEwMDhCCis6MTA4RTgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEIwMDBEQzQwQjMwMENCCis6MTA4RTkwMDAwRkMwMDMzMTAyQzQwNEIxMDAzQzQwMDMxMDAwRkM0MDg5Cis6MTA4RUEwMDAzMzAwMENDNDAzQjEwMENDMDBCMzAwMENDNDAzQ0EwNEVCCis6MTA4RUIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4QTgwMjJBMDcxCis6MTA4RUMwMDAwQkEwMDIyQTAwOEE4NDIyQTEwOEEwMDIyODA4QkEwMTY1Cis6MTA4RUQwMDAyMjgwMDhBMDJCMjgwMDhBODAyQTgwMDhFMDAyQ0EwMDhECis6MTA4RUUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDI5QjgxMjBFMEFCCis6MTA4RUYwMDA4QjM4MDZDRTAwOTM4MDIwQzAwODM4MDIwQzAwQjM4MDY3Cis6MTA4RjAwMDA2Q0UwMEFCMDAyNEMwMDkzMDAyMEUwMDgzMDAyQ0EwMDc2Cis6MTA4RjEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTEwMDQ4MDA4MjEwMkExCis6MTA4RjIwMDA0QjQ0MDZEMDIwOTAwODIxMDI4MDQ0MDIxMDAwQjRDMEI3Cis6MTA4RjMwMDAyRDEwNDg0MDAyMDAwMDk0ODkyOTMwMDg0MDAyRTgwMEMyCis6MTA4RjQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODMyMDBENjgwMzFBMEQ4Cis6MTA4RjUwMDAwRkU4MEJDQTAwRDY4MDIzQTAwNEY4MEIxQTAwRkY4MDhDCis6MTA4RjYwMDBCRkEwMkVDODEzREEwMjVFODA3M0EwMkM3ODAzRUEwMjM5Cis6MTA4RjcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGOTAwM0U0MEE5Cis6MTA4RjgwMDAwRjkwMDMyNDAwRTkwMDNFNDAwRTgwMDNFNDAwRjgwMDQ3Cis6MTA4RjkwMDAzMjQwMEZCMDAzRTQwMUU5MDQzNjQwMEY4MDAzQzIwNkZCCis6MTA4RkEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBDRDgwMzM2MDdFCis6MTA4RkIwMDAwQ0Q4NDMzNjAwQ0Q4MDMzNjAwQ0Q5MjNCRTAwNEQ4MEUxCis6MTA4RkMwMDAzMzYwMDhGODBCM0UwMEZEODQzRjYwMEZGOTAzQzAwMERBCis6MTA4RkQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTkwMDRERTAwMjM4MDUzCis6MTA4RkUwMDAwODYwMDJCODIwOEUwNDIzODAwODY4MDIxMDAwOEUyMERBCis6MTA4RkYwMDAyMzgyMDg0MDAyMTIwMEY2MDAyRDgwMEI0MUEwRUEwNEYzCis6MTA5MDAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDkwMDA4NDAwMjEwMENCCis6MTA5MDEwMDAwODQxMDI1MDQwOTQwMDIxMDAwQTUyMDJEODAwODUwMjAzCis6MTA5MDIwMDAyNTA0MDg0MDIyMTgwOEI0MDAyRDEwMEI3ODQwQzAwMDE5Cis6MTA5MDMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEVFMjI5MzAwMjBDMDU5Cis6MTA5MDQwMDAwODM4MDJFQzAwOTMwMDIwQzEyQTIwMDI2NDAyODIxMDNBCis6MTA5MDUwMDAyNEYwMEEzQzQyMjQyOEIzMDAyQ0UwMEI4ODgyQzgwNDg4Cis6MTA5MDYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFEMDBDQjAwQjJDMDI5Cis6MTA5MDcwMDBBQ0JFMDM2RTAyREIwMEIyQzAxRUEwMDNFNDAwQ0ExMTQ2Cis6MTA5MDgwMDBCNkQwQUNCQzAzMjQwMEZCMDAzRUMwQ0Y4NDAzRUEwNDhFCis6MTA5MDkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEUwNDBGODAwM0MwMDlDCis6MTA5MEEwMDAyRjgyMDNBMDAwRTgwMDNFMDAxRDkwMTNBODAwRjkwMEU1Cis6MTA5MEIwMDAzQTAwODE4MzQzRTgwMEU4MDMzRTA0MEZCMDAzRTAwMDc4Cis6MTA5MEMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEUwMDBENjAwMzc4MEYyCis6MTA5MEQwMDAwQ0EwMDNGODAwQ0UwMDMzODAwREEwMTMyMDA4Q0UwMEIyCis6MTA5MEUwMDAzMzgyMEM0MDczMzAxOENFMDAxRjgwNEZDMTQzMDA0NEMwCis6MTA5MEYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDdDMDA4RDAwMjM0MDRGCis6MTA5MTAwMDAwQUQwMDJGNDAwOEQwMDIzNDAwOEQ0ODAzRTQyOEQ0MEY2Cis6MTA5MTEwMDAyMzQwMDhGMDAyM0U0MDhEMDAwRjQwMEJGNDAyMjA0MDM3Cis6MTA5MTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA5OTAwQTY0MEZGCis6MTA5MTMwMDAwODkwMDZFNDAwOTEwMDIwNDA4ODAwMDIyNDA4ODA0MDQ2Cis6MTA5MTQwMDAyMDQwMEFCMDAyMjQwMDg5MDAwRTQwMEI4NDAyMjAwMDU3Cis6MTA5MTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDA4MjAwMjA4MEExCis6MTA5MTYwMDAwQTIxMDZDODAxODIwMDIwODAwODMyODIwODA4ODMwMDk0Cis6MTA5MTcwMDA2MDgwMEEwMDEyMDg4MDgyMDAyQzgwMEIzMDBBMDIwMUY1Cis6MTA5MTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYwMDBEODAwMzYwMDY0Cis6MTA5MTkwMDAwQzg0MjNFMDAwQzgwMDMyMDAwRDgyMEIyMDAyQzgwMEJFCis6MTA5MUEwMDAzMjAwMEUwMDAzMjAwMkM4MDAzRTAwMEY4MDAzMDAwM0JGCis6MTA5MUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBCRjAwM0ZDMEU4Cis6MTA5MUMwMDAwRkYwMDNGQzAwRkYwMEJGQzA4RkIwMDNGQzA4RkYwMkRDCis6MTA5MUQwMDAzRkMwMERGMDAzRUQwMEZGMDIzRkMwMEZGMDAzRTgwNkIzCis6MTA5MUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwMUYwOENGRjAwM0Q2MDM2Cis6MTA5MUYwMDAyQ0IyODM3QzkwREYzODMxRTAwRkY4MDMzQzAwRkYyMDc1Cis6MTA5MjAwMDAzRkM0MEVGNDAzN0MwMEY0ODAzMzAwMERGODAzRjAwMDNCCis6MTA5MjEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUxMjBCQjYyMkU0MkMwCis6MTA5MjIwMDAyOEY0NDIzRTQwOEY0NDIyRTAwQkIwODM3RjQ0QkZDMTBDCis6MTA5MjMwMDAyRERDMkFGNjAyM0Y0NUI4ODAyMjYxODhCODAyRTAwNDlFCis6MTA5MjQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM1ODBCMjE4MkVDODVDCis6MTA5MjUwMDAyOTMwMzIwQzA4QjMyMDIwQzA0QjkyMDIwQzAwQjM0MERFCis6MTA5MjYwMDAyQ0MwODkzNDEyNEMwMEIwMDAyNEMxNDkzMDAyRTIwMTA0Cis6MTA5MjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMUE0MDBCQTBDMkVFMDM1Cis6MTA5MjgwMDBBOUIwMDYyQzAwOEIwMEEyQzAwQjkwMDA2QzAwQkIwMEE0Cis6MTA5MjkwMDAyRUMwMEIzMDAyNkMwMEJBODAyNkYwMDhCMDAyRjAwNDM5Cis6MTA5MkEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMUVFMDBGQkM0M0U3OEFBCis6MTA5MkIwMDAyREIwMDM2QzA4RkIwMDMyQzA4QjI0ODMyQzAwRkIwMDE0Cis6MTA5MkMwMDAzRUMwOEZCMDBCNkMwOEIyRTAxNjYwOERCMDIzRDAwNEE2Cis6MTA5MkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJFOThGRjQwM0ZDMEE5Cis6MTA5MkUwMDAwRTcwMDNEQzAwRkYwMDNGQzAwRkUwMDNGQzAwRkYwMDM2Cis6MTA5MkYwMDAzRkMwMEVGMDAzQUMwMEZFMDBCOUMwMEZGMDAzRjgwMDUxCis6MTA5MzAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFEMDBGQTQwM0VEMEI4Cis6MTA5MzEwMDAwRUIyMDNFQzAwQzMwMDNFQzAwQ0EwMDMyQzAxRkIwMDA2Cis6MTA5MzIwMDAzQ0MwMEVCODAzRUMwMERBMDAzQUQwNEZCMDIzRDAwNEIyCis6MTA5MzMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCQTAwMkNDMDZFCis6MTA5MzQwMDAwOEY0MDdCQzE0REYwMDNFQzAxQUEwNTJCQzAwQkYwNEUyCis6MTA5MzUwMDAzRkMwOEFGMDAzQkMwMEZBMDAyMkM4MEZCMDAzRjIwMDNECis6MTA5MzYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ4MDFCMTAwNkNDMkIwCis6MTA5MzcwMDAwQTMwNDJDQzAwODMwNTJDQzAwODMwMDI4QzAxQjMwNEIzCis6MTA5MzgwMDAyQ0MwMEEzMDIyOEMwMDgwODAyOEMwMEIzMDIyRjgwMENDCis6MTA5MzkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDhCNzgwNkZFMEIwCis6MTA5M0EwMDAxODc4MDI4RTQwQjc4MDJERTAwQTc4MDI5RTAwQjc4MEMwCis6MTA5M0IwMDAyOUUxMEE3ODAyOUUwMUJDODAyOUU0MEI3ODAyQzgwMEVBCis6MTA5M0MwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA5NDBGMTIwM0NDNEIzCis6MTA5M0QwMDAwRTM5MDJDQzAwQzMwMDJDQzQwODkyMDM4Qzg4QjMxMDUxCis6MTA5M0UwMDAyQ0M0MEVCMDA3OEMwMEMyMDgzOEMwMEYzMDQzRDIwMjI0Cis6MTA5M0YwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMTBGQzAwN0ZDMDA5Cis6MTA5NDAwMDAwRkYwODNGQzIxREYwODNCQzA4RjkwMDFGQzIxRkYwQzkzCis6MTA5NDEwMDAzRkMyMEZGMTAzRUMwMEVGMDA3N0MwMUVGMDAzOTAwNjhGCis6MTA5NDIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDFGOTAwMzJDMDVCCis6MTA5NDMwMDAwRkIyMDNFRTkwREJFMTNBQzA0RDM4MTMyRDMwRkIwMDQ0Cis6MTA5NDQwMDAzRUUwNEZCQTQzMkM0MEZBMDAzRkMwOENCMDAzRUEwMDI0Cis6MTA5NDUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCMTAwMjFDMDE1Cis6MTA5NDYwMDAwQjcxMDJDQzIwQTcyODIxQzAwQjcwMTM1QzA4QjcxMDI5Cis6MTA5NDcwMDAyREM0NEIzNDgzMUNDMUI3MDIyREMwMUE3MDAyRDIwNDE0Cis6MTA5NDgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlBMjBCNEM0MjVBMkMzCis6MTA5NDkwMDAwQjc4MDZERTAwODM4MDI5RTAxQkY4MDI1RTgwQTdBMDFGCis6MTA5NEEwMDAyREM4MEE3MjAyMUUwMEE2ODAyOEUwMDg3ODAyRjAwMDhCCis6MTA5NEIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEVEMDBCMzQwMjRDMzY5Cis6MTA5NEMwMDAwQjMwNDJDQzAwQTMwMDIwQzAxQjM0MDI0QzAwQjMwMDgwCis6MTA5NEQwMDAyQ0MwNEIzMDAyMEMwMEIzODgyQ0Q0MEEzMDAyRDIwNENBCis6MTA5NEUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4MDBGRTQwQjdBMDAyCis6MTA5NEYwMDAwRkEwMDNFODAwREEwMDNBODAwRkUyMDM2ODAwRkEwMEU4Cis6MTA5NTAwMDAzRTgwMEZBMDBCMjgwMEVFRTAzRkIwMDRBMDAzRkEwNDU5Cis6MTA5NTEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDRGMDA4M0ExMDdECis6MTA5NTIwMDAwRjg0MDNFMDEwRjgwMDNFMDA0RjgwODNFMDAwRjgwMDU1Cis6MTA5NTMwMDAzQzAwMEY4MDAzODAwMEY4NDAzRTA5MEY4MDAzRDIwMEZBCis6MTA5NTQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MjBFOTAwMzI0NDcwCis6MTA5NTUwMDAwQzkwMDMyNDAwRjkwMDNFNDAwRjkwMTNFNDAwQjkwMDgyCis6MTA5NTYwMDAxRTQwMEMxMDAzMjQwMEM5QTAzQzY0MEM5MDAzODIwNDJDCis6MTA5NTcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTAwMjI2OEMwCis6MTA5NTgwMDAwODEzMDIyNDA4RjkwMDJFNDgxQjkwMDJFNDAwQjkwMEQ5Cis6MTA5NTkwMDAzRTQwMEM5MDAyMjQwOEY5NDAyRTYwMEE5MDA2RTAwMDNDCis6MTA5NUEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwMTI0MDBBOTAwMjA0MDY1Cis6MTA5NUIwMDAwODkwMDIyNDAwQjkwMTJFNDAwQjkwMDJFNDAwQjkwMDhCCis6MTA5NUMwMDAyRTQwMDg5MjIyMjQwMDg5MDAyRTQwMDg5MDAyQzYwMEY2Cis6MTA5NUQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODA4MTIxRTA1MEU5Cis6MTA5NUUwMDAyODE2MEEwNDgwQTE0MDJDNDA0QjE0MjJDNDAwQjEwMDZDCis6MTA5NUYwMDAyQzUwMDkxNDAyMDQwNEIxMDAyQzQwMEExMDAyQzIwMUNDCis6MTA5NjAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBFODUwMzIwMDhBCis6MTA5NjEwMDA4QzgwMDIyMDAwQjgwMDNFMDAwQjgwMzNFMDEwRjgwMDgwCis6MTA5NjIwMDAzRTAwMEM4MDAzMjAwOENBMDAzRTAwMEM4MDAzQUUwM0ZECis6MTA5NjMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREZDNDBGRDEwMkY0MTZDCis6MTA5NjQwMDA0RjkxMDNFNDQwRjk0MDNFNDA0RkQwNjNFNTAwRjk0MEJDCis6MTA5NjUwMDAzQTUwMkU5NDAzNjUwMEVEMDAzRjUwMEY5MDAzRTYwNjRDCis6MTA5NjYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUU2MDBGOUUwMzM1MDFCCis6MTA5NjcwMDAwQ0RBMDNBNjAwRDk4MDNGNDAwRjkxMDNBNjAwRjk4OEI5Cis6MTA5NjgwMDAzRTY4MENERTAzNjYwMEVEMDAzQjY5MEM5MDAzQzYwMEVCCis6MTA5NjkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDhCOEUwMjAyMDUxCis6MTA5NkEwMDAxODhFMjZFMTAwODBBMDJFMDA0Qjg4NDJFMTUwQjg0MDgxCis6MTA5NkIwMDAyRTJBMEQwQTAyMjAwOEI4MDAyRTE0MEQ4MDAyQ0UwNEI2Cis6MTA5NkMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM1MDBCMTYwMjA0MDI3Cis6MTA5NkQwMDAwODMxQTJDNTAwOTE0ODJDNDAxQjEyMDI4NDAwQjEwMDQxCis6MTA5NkUwMDAyQzUwMDkxNjAyMDUwMEEzMDQyODQwMDgxMDAyQzIwMUVDCis6MTA5NkYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUE0MDBCOTA4MjA3MEU4Cis6MTA5NzAwMDAyODkwMDJFNDAwODkwMDJFNDAwQjkwMDJFNDA4QjkwMzdGCis6MTA5NzEwMDAyQzQwMjk5MDAyNjQwMEI5MDAyRTYyMDk5MDAyQzYwNDEwCis6MTA5NzIwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNUU1MDBGOUQwQjI3MDY0Cis6MTA5NzMwMDAwODkwMDNFNDAwRDkwNDNFNDAwRjkwMDNBNDEwRjkwMkZFCis6MTA5NzQwMDAzRTQwMEQ5MDJCNjQwMEU5OEQzQTYwMEM5MDAzRTgwNEQ0Cis6MTA5NzUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTgwM0U0MkQzCis6MTA5NzYwMDAwRjkwMDNFNDAwRjkwMDNFNDAwRjlBMDNFNDAwRjkwMDczCis6MTA5NzcwMDAzRTQwMkYxMDAzQTQwMEY5MjIzQzQwNEY5MDAzQ0EwMDQyCis6MTA5NzgwMDA2MDAwMDAwMDAwMDAwMDAwMjgwMEEwMDBGMDQwMzIwMDRGCis6MTA5NzkwMDAwQzgwMDNDMDAwRjgwMDMyMjAxRjgwMDNFMDAwQzgwMEU2Cis6MTA5N0EwMDAzMjAwMEM4MDAyMjAwMEM4QzAzRTAwMEM4MDAzQ0EwNEI2Cis6MTA5N0IwMDAyMDAwMDAwMDAwMDAwMDAwMjgxNTI4MTBCQTAwMjNBMDk3Cis6MTA5N0MwMDAwQUU0MDJFODAwQkEwMDJCQTEwQkEwMDJFODAwQUEwMEZDCis6MTA5N0QwMDAyQTgxMEFBMDAzRTgwOERFMDAyRTgwMEFBMDAyQ0EwMDNGCis6MTA5N0UwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMzA0QTBCMUI4Cis6MTA5N0YwMDAwODM2MjJDQzAwQjMwMDIwRTQwQjMwMDJDQzAwODMwMEZBCis6MTA5ODAwMDAyMEMwMDgxODAyMEMwMDkxMDEyQ0MwMDgzMDA2Q0EwMEM0Cis6MTA5ODEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDQzhCMzIxMjFDMkJDCis6MTA5ODIwMDAyQTcwMDJEQzAwQjdBMDI5QzAwQjcyMDJDRTAwQTc4MTBCCis6MTA5ODMwMDAyOUMwNEE3NDAyRkUwMDk3MDEyQ0MwMEE3MDEyRTgwMDg5Cis6MTA5ODQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFODBGN0MwMzFFMEMyCis6MTA5ODUwMDAwQzQ4MDNERTExRjc4MDIxRTAwQjdBMDNERTAwQzM4MEExCis6MTA5ODYwMDAzM0Q4NkM3ODAzM0UwMEQ2ODAzREUwMEM3ODAzRUEwMkUyCis6MTA5ODcwMDAwMDAwMDAwMDAwMDAwMDAwMDgwREFDMDhGQjgwM0VDMEE2Cis6MTA5ODgwMDAwRkQwMDNFQzA0RkIzQzNFQzAwRkI2MDc2QzAxRkIwMDlECis6MTA5ODkwMDAzRUQwMEY5NDA3RUMwMUVBMDAzRUMwMEZCMDAzQzIwNkIxCis6MTA5OEEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMUZFMDBDRkE0M0I2MDRCCis6MTA5OEIwMDAwOEQ5MDM3RTAwQ0Y4MDNGMjU0RkZDODdCRTAwQ0Y4MEI0Cis6MTA5OEMwMDA3RkZDMENGQzAzN0MwMEY2OTAzM0UwMEZGODAzQzAwMDMzCis6MTA5OEQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDg4RjI4MjE0MEEzCis6MTA5OEUwMDAwOEQwMDIxQzQwQTcyMDMxMDQxQjc4MDJEQzgwRDcwMDdFCis6MTA5OEYwMDAyRkM0MUFEMDAyMUU0OEI2MDA2MUMwMEI3MDA2RUEwNERECis6MTA5OTAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDhDMDA4NzMwNjk0NDA3Cis6MTA5OTEwMDAwODUwMjIwQzAwODcwMTJENDQ4QjcwMDY4QzEwODcwMEE0Cis6MTA5OTIwMDAyOUM5MDg1MDAyMUM0NEE2MDA2MUMwMEI3MDAyQzAwMDg3Cis6MTA5OTMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENEMDA4Mzg4NjA0MDVCCis6MTA5OTQwMDAwMDEwMDI0QzAwMkIwMDJDNDExQjMwMDJDQzAwOTMwMDc1Cis6MTA5OTUwMDAyQ0MwMEEzMDQyMEMwMEIyNDAyMEYxMEIzMDAyQzgwNDg3Cis6MTA5OTYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJENDFDRkMwQkFGMEQzCis6MTA5OTcwMDAyODkwMUI2QzA4Q0YwMDJDQzAwRkYwMDNBQzAwOEIwMEFDCis6MTA5OTgwMDAzRkMwNkNCMDRCMkMwMUZCNDAyMkM4MEZCMDAzRUEwNDZGCis6MTA5OTkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDRGQjA0M0ZENEU1Cis6MTA5OUEwMDAwRjEwMDNBQzAwRkIwMDMyQzA1RkIwMDNFQzAwRkIwNEZGCis6MTA5OUIwMDAzRUMwNEYxMDEzRUMwMEZCODgzRUMwNEZCMDAzRTAwMEU4Cis6MTA5OUMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDNzAwMzM2MjFFCis6MTA5OUQwMDAwQ0MwMEIzQzAwRUYwMDMzRTAxQ0YwMTMzQzA4RjcwMDE4Cis6MTA5OUUwMDAzMUMwMEVEODAzQkMwMEZFMDAzREM2MENGMDAzQzA0NERECis6MTA5OUYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDBDQjAzMjI0NzBGCis6MTA5QTAwMDAwODk4NDIyQzAwOUIwMDJBQzAwQUIwMDIyQzAwQkIwNDFDCis6MTA5QTEwMDAyQUMwMEFCMDAyQUMwOEZBMDAyRTYwMDhCMDAyRTA0MDhBCis6MTA5QTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA5QjAwMjA0MDdBCis6MTA5QTMwMDAwODk4MDIyQzAwQkIwMDIyODgwODMwMDIyQzAwQkIwMEQyCis6MTA5QTQwMDAyMkMwOEE5MjAyQUMwMEFBODAyRUMwMDhCMDA2RTAwMEI0Cis6MTA5QTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzAwQTA0MDRCCis6MTA5QTYwMDAwODEwMDIwQzAwQjMwMDI4ODAwQTMyMTIwQzAwQjMwNDY0Cis6MTA5QTcwMDAyOEMwMEEzMDIyOEMyMEIyMDAyQ0MwMDgzMDAyQzIwMTVCCis6MTA5QTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDJDQjAwMzA0MDIwCis6MTA5QTkwMDAxQzk0MDMyQzAwRUYwMDMyQzA4OEYwOEIyQzAwRkIwMERDCis6MTA5QUEwMDAzM0MwQUVGMDAzQUM4MEVBMDEzRUMwMkNCMDAzQzAwMzZCCis6MTA5QUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwMkY0MDJGCis6MTA5QUMwMDAwN0QyODNGQzAwREYwNDNGQzAwRkIwMDNGQzAwRkYwMDlGCis6MTA5QUQwMDAzRkMwMEZEMDBCRUMwMEVFMDAzRjQwMEZGMDAzRTgwNjU0Cis6MTA5QUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUY1MDBDRjA4M0Y0OEVFCis6MTA5QUYwMDAwRkMzOTM3MEQwREMzMDNGRDgwQ0IyMDMzQ0MwRkY0MEEyCis6MTA5QjAwMDAzM0M0MkNGMTAzNjI1MEZDMzQzMzAwMEY1QzAzRjAwMENCCis6MTA5QjEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEM0ODA4QjAwMkY1QUVECis6MTA5QjIwMDAwQkE2MTIyMUMwODk3MDJGREMwOEYyQzIzREQwQkY0MEM1Cis6MTA5QjMwMDAzN0RDODhGNTBBMjA4MEU4MTAyQTE2MEI5MDAyRTAwNDMyCis6MTA5QjQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUMwMDA4MzA4MkM0NDlECis6MTA5QjUwMDAwQjAyMDIwQzAwODAwMDJDQzgwODMzNDI4QzkwQjMzMEZBCis6MTA5QjYwMDAyOEM4NEEzMjEyODAwQ0IwQTAyODI4MEIxMjAyRTIwMTQ5Cis6MTA5QjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUEyMDA4QjAwMkU0OEZECis6MTA5QjgwMDAwQkEwMjIyMDIwODg4MDJFQzAyOEIwMEFBQzAwQkIwMDg5Cis6MTA5QjkwMDAyRUMwMEFCMDAyQTAwMEFCODIyQUEwMEJCMjAyRjAwNEQxCis6MTA5QkEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUU3MDBDQjAwM0VDMDUwCis6MTA5QkIwMDBDRjlDMEIyMTAwRDg4ODNFQzAwQ0IwMDNBQzAwRkIwMDRBCis6MTA5QkMwMDAzQUMwMEVCMDQzRTg0MEY4ODAzQTYwMEY5ODAzRDAwNEUyCis6MTA5QkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MDBGRjAwMEZFMDkyCis6MTA5QkUwMDAwN0ExMDNFODAyRkIwMDNGQzAwRjcwMjM3QzAwRkYwMkM3Cis6MTA5QkYwMDAzNUMwNERCMDAzNzQyMEZDMDEzRjAwMEZGODAzRjgwMDlFCis6MTA5QzAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE1MDBDQjAwQkE0MDNBCis6MTA5QzEwMDAwQzE0MEIyRjIyQzk0MDMyQzA4RUIwMDNBQzAwRkIwMEU1Cis6MTA5QzIwMDAzRUMwMEVCMDAzRTQwMEM5MDAzMjAwMkM5MDAzMTAwNEMzCis6MTA5QzMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwMTI0MDA4RjAwMjI0MDI2Cis6MTA5QzQwMDAyQ0E1NDIyOTAwOEIwNEEzQzEwREYwMEEzQzAwQkYwMEUzCis6MTA5QzUwMDAzRkMwMDhGMDAxNjkwMERBMDUyMkQwMDg5NDAzNzIwMEMxCis6MTA5QzYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTYwNDA4MzAxMjBDMENCCis6MTA5QzcwMDAwOTAwMDIyMDAwODI2MDIyQzAwODMwNDI0QzEwQkIwMjYyCis6MTA5QzgwMDAyQ0MwMDhCMDEyMDUwMDlCMDAyMDgyMDkzMjAyMzgwMDY3Cis6MTA5QzkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2OTA4NzgwMjBFMEE2Cis6MTA5Q0EwMDAwODU4MDIxNjE0ODQ4MTIxRTAyOTM5MDI1RTAwQjc4MDI5Cis6MTA5Q0IwMDAyOEUwMDg3ODAyN0E4MDk2ODEyMUUwMDlGODAyNDgwMEJECis6MTA5Q0MwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDk4QjEwMzg0NERDCis6MTA5Q0QwMDA0RDI1MTIwQzAwQzIxMDIyQzgwQTM4MDNDQzAwRjMxMDI0Cis6MTA5Q0UwMDAyQ0MwMEMzMDAzOEFDMEQ5MTAzMjQwMkQxMDAzMTIwMjUwCis6MTA5Q0YwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDODBGRjAwM0Y0MDRECis6MTA5RDAwMDAwRkYwMDNGNDQwRUQwMDNGQzAwRUYzMDNCQzA0RkYwMDZFCis6MTA5RDEwMDAzRkMyMEZGMDBCRDQwMEZGMTBCRjgwMEVGMDAzRDAwNjNGCis6MTA5RDIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUZBMDBDQjAyM0VDMDYxCis6MTA5RDMwMDAwRjkwMDNBMDAwQ0IwMDNBQ0EwQ0IzMTNBRjI0Q0I0ODVBCis6MTA5RDQwMDAxRUM4MEZCNjAzMkMwMEZBMDAzRUMwMEY5MDAzRUEwMEI1Cis6MTA5RDUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDg4NzIwMkRDNEZFCis6MTA5RDYwMDAwQjUwMTJEQzA0ODcwMDJDQzAwODcwQTIxRDAwQTc0MDE1Cis6MTA5RDcwMDAyNUNCOEI3NDgyMUMwMEI3MDAyREMxMEI3MDAyRDIwNDVFCis6MTA5RDgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlBMDE4NzkwMkRFMEY0Cis6MTA5RDkwMDAwQjc4MDJDRTAwODY4MDJERTQyOTdBMDI5RTgwODdBMDZGCis6MTA5REEwMDA2REU4MEI3ODAyMUUwMEI1ODAyRDYwMEI3ODAyRjAwMDg0Cis6MTA5REIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENEMDA4MzAyMkNFMEM5Cis6MTA5REMwMDAwQjMwMDJDQzAwODNFMDJDQzAwODMwMDIwQzAwQTMwMDUyCis6MTA5REQwMDAyNEMwMEJCMDAyMEUyMEIzMDgyQ0MwMEIzMDAyRDIwNEZBCis6MTA5REUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4ODJDQTAwM0VBODVDCis6MTA5REYwMDAwRkUwMDNGODAyOEU4MDNFODAwREEwNUJBODAwQ0EwMDMxCis6MTA5RTAwMDAzRTgwMEZBMDAzM0I4MEZFNDIyRjgwMEZBODAzRkEwNDgwCis6MTA5RTEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMjBGODAwM0UwMDY0Cis6MTA5RTIwMDAwRjA2MDNDMDAwRjgxMTNFMDAwRjAwMDNFMDAwRjgwMDI5Cis6MTA5RTMwMDAzNjAwMEY4MDBCRTAwMEY4MDQzRTIwMEY4MTAzRDIwMEIzCis6MTA5RTQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGOTAwM0U0MDZGCis6MTA5RTUwMDAwQzlBMDMyNDQwQzlDMDNFNDA0QzkwMDMyNDAwRjkwMEYyCis6MTA5RTYwMDAzNjQwMDc5MDAzMjQwMEM5MDQzMjYwMEY5MDAzQzIwNEY3Cis6MTA5RTcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTAyMkU0MEExCis6MTA5RTgwMDAwQTkyMDIyNTAyODlFMDJFNDA5ODkwMDIyNDAwQjkwMDJGCis6MTA5RTkwMDAyMjQwMDk5MDAyMDQwMEQ5MDAyMjQ0MEI5QzAyRTAwMEY5Cis6MTA5RUEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTJDMDBCOTAwMkM0MDM0Cis6MTA5RUIwMDAwODkwMDIyNDI4ODkwMDJDNDA2ODkwNDIyNDBDQjEwNEE4Cis6MTA5RUMwMDAyNjQwMEI5MDBBMkM4MDgxMDAyMjQwQ0I5MjgyQzYwMDUzCis6MTA5RUQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMTIwMkM0OEVECis6MTA5RUUwMDAwQTEyMDIwNDgwODEyMTJDNEMwODExMDIwNDA4QjExMENFCis6MTA5RUYwMDAyMDRDMDkxMjAyMjQwMTkxMjBBMDQ4MEIxMDAyQzIwMTNCCis6MTA5RjAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDQxRTBGODUwM0UxNEQxCis6MTA5RjEwMDAwQzg1MDMyMTQwQzg1MDNFMTAwODA2ODMwMUYwRjg2ODA0Cis6MTA5RjIwMDAzNjEwMEYwNTAzMjk0MEM4NTAzMjk0MEY4NTAzRUUwMzA1Cis6MTA5RjMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0MDBGOTEwM0Y0NDlDCis6MTA5RjQwMDAwRkQxMEJGNDQwRkQxMjJFNEMwMzkyMEJFNDAwRjkyMENDCis6MTA5RjUwMDAzRTRDMEY5MTAzRkMwMEZEMTAzRjQ0MEZEMDAzRTYwNjdBCis6MTA5RjYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MjBDOTAxM0U0MDA2Cis6MTA5RjcwMDAwRkQwMDMzQzAwQkQwMDMyNjMwQzlFNDMyNzAwRTlDMEI0Cis6MTA5RjgwMDAzRTY4MEM5ODAzMzQwMEY5MTAzRjQwMEZEMDAzQzYwMDIwCis6MTA5RjkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEMyMjBEODAwMkUwMDIxCis6MTA5RkEwMDAwQjgwNTIyODA0QjgwMDIyMzgwODg4MDM2MjAwODhGMDI5Cis6MTA5RkIwMDAyRTNBNDg4RjBBMjAwMEIwODAyRTAwMEI4MDAyQ0UwNDdCCis6MTA5RkMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0ODA4MTAwMkM0MDIzCis6MTA5RkQwMDAwQjEwMDIwNDAwQjEwMDIwNDI0ODE0NDIwNTgwQTEyMDY5Cis6MTA5RkUwMDAyQzQ0MDgxMDgyMDQwMEIxMjAyQzQwMEIxMDAyQzIwMTQ2Cis6MTA5RkYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE1MDE5OTAwMkU0MDE3Cis6MTBBMDAwMDAwQjkwMDIyNDQwQkIwMTIyNDEwODkwMTIyNDAwQTkwMEI5Cis6MTBBMDEwMDAyQzQwMDgxMDQwMjQwOEI5NDA2RTUwMEI5MjAyQzYwNDMwCis6MTBBMDIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU3MTRDOTA1M0U0MUQzCis6MTBBMDMwMDAwRjkwMEIyNDA0RjkwOEIyNDAyQzkwMEEyNDAwRTkwMDg4Cis6MTBBMDQwMDAzRTQwMkM5MDAzMjcwMEY5ODAzRTYwMEY5MDAzRTgwNDA3Cis6MTBBMDUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg0ODhGOTAwM0U0OERDCis6MTBBMDYwMDAwRjk5MDNFNjAwRjkwMjNDNDBBRjEwMDNFNDEyRDkwNDUzCis6MTBBMDcwMDAzRTQwMEY5MDAzRTUwMEY5QzAzRTY0MEY5MDgzQ0EwMDk0Cis6MTBBMDgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEExMDBDODAwM0UwMDkxCis6MTBBMDkwMDAwRjgwMDMyMTAwQzg0MEIyMDAwQzgwMDMyMDEwQzgwMENDCis6MTBBMEEwMDAzMjAwMEM4MDAzRTA4MEY4MDQzMjAwMkM4MDBCMEEwNDlDCis6MTBBMEIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBDQTAwMkU4MEIzCis6MTBBMEMwMDAwQkU4MEEzODEwOEVDMDIyODAwREEwMDIyODAwMEEwNDc2Cis6MTBBMEQwMDAwMjgwMjhBMDAyRkIwMEJBMDAzN0IwNDhFQTAyMEEwMDVBCis6MTBBMEUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5MzAxMkNDMDM3Cis6MTBBMEYwMDA4QkIwNDIwQzkwOUIyMDIwQzA0ODMwNDIyQzAwODMwMDQzCis6MTBBMTAwMDAyMEMwMDgzMDAyQ0Q0MEIzMDAyNEM4MDgzODAyMEEwMDNECis6MTBBMTEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE0MDA4NzAwMkRDMEM2Cis6MTBBMTIwMDAwQjI0MDYxNjAwOTMwODIxQzgwOTMxMDIwQzgwODdBMDcxCis6MTBBMTMwMDAyMUMwMTg3MjAyREMwMEI3QjQyNEUzMDg3ODAyMjgwMEJBCis6MTBBMTQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDI5N0EwM0RGMDlCCis6MTBBMTUwMDAwRjQ4MDMzRTAwRDY4MDMwRTAyQzdBMDIxRTgyQzNGMDA2Cis6MTBBMTYwMDAzM0VDMEM3QzAzRDYwMEY3ODAzNUUwMENEODAzMkEwMkQwCis6MTBBMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxOUE1QTBGQjAwM0VDQTc2Cis6MTBBMTgwMDAwRjgwMDNFQzAyRUEwMDNFQzYwRkI0MEJFRDQwRkIwMDZCCis6MTBBMTkwMDBCRUMwMEZCNjQzRTAwMEZCMDIzRTgwMEY5MDAzQzIwNjM0Cis6MTBBMUEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDJDRjg4M0ZFMEQ0Cis6MTBBMUIwMDAwQ0I5MDNGRTAwREQ4MTMzRTA4Q0ZDMDMzRjA0Q0Y4MDRCCis6MTBBMUMwMDAzM0UyNEZGQzAzM0UwMENGQzAzMzY0MENGODAzQzAwMDAxCis6MTBBMUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTk0NDA4NzAwMkZDMTBCCis6MTBBMUUwMDAwRDY5QTJEMDQwQkMwMDIzQzAwOEYwMDI5QzAwODcwMDhCCis6MTBBMUYwMDAyMUMwMEI3MDBBM0MwNDg3MTAyMTRDMDg2MDAyRUEwNDVECis6MTBBMjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlFMDA4NzAwMkRDMERDCis6MTBBMjEwMDAwOTYyMDJEODAwOTcwMDIxQzQwODcwMDIwQzQwOTcwMDIwCis6MTBBMjIwMDAyMUM0MEIzMDAyNTgwMEE3MDgyMTgwMDg2MDgyQzAwMEJBCis6MTBBMjMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEU0MjU4MzAwMkNDMDUyCis6MTBBMjQwMDAwOTIyMDJDQzIwQjIwMDIwQzAyOEIwMDI4QzAwOTMwMDZBCis6MTBBMjUwMDAyMEMwMEIzMDQyNkMyMDgzMDgyMEUyMDhCODAyQzgwNEZBCis6MTBBMjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUE0MDBDRjAwM0ZDMDhGCis6MTBBMjcwMDAwRDlDMDNFODAwREI4MDMzQzAwQ0YwMEIzQzA2REYwMEQ0Cis6MTBBMjgwMDBCM0MwMEJGMDA3NjgwMEVGNDAzMkE4MENBODAzRUEwNDQzCis6MTBBMjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjAwMkVDMDA5Cis6MTBBMkEwMDAwRjk0MDNDNTQwRkEzMDNFQzAwRkIwMDM2QzAwRUIwMEMyCis6MTBBMkIwMDAzRUMwMEYzMDEzQUQ0MEZCMDIzRUQwMEZCNDAzRTAwMEIwCis6MTBBMkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEU0MDBDNzAwMzFDMUIwCis6MTBBMkQwMDA4Q0QwMDMzNDAwQ0QwMDNEQzAwQ0YwMDE3QzAwREIwMUNDCis6MTBBMkUwMDAzREMwNENGMDBCMzAwMkMzMDAzMjAwMEZEMDAzMDA0NERECis6MTBBMkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZFNDA4QjAwMkFDMDg2Cis6MTBBMzAwMDAyODg0NDIyMjgwODg4MDNBQzAwREIwMDJBQzA4OEIwMEJECis6MTBBMzEwMDAyRUMwMDhCMDAyMjMyMDhCMDAyMjMwOEI4QzAyMjA0MEZDCis6MTBBMzIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI0MDA4QjAwMjJDMDA3Cis6MTBBMzMwMDAwODM4ODYyQTAwODk4MDJBQzAwOEIwMDJDQzAwOUIwMDE5Cis6MTBBMzQwMDAyRUMwMDhCMDQyMjYwMDhCMDAyMjcxMEI4QzAyMjAwMDI4Cis6MTBBMzUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzAwMjhDMDNBCis6MTBBMzYwMDAwODMyNDIwMDAwODEwMDI4QzAwOTMwNTI4QzA4ODMwMDY2Cis6MTBBMzcwMDAyQ0MwMTgzMDA2MDAwMDgzMDBBMDAwMEIwMDAyMDIwMTcwCis6MTBBMzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDc0MDI4QjAwMzNDMENDCis6MTBBMzkwMDAwQzkyMEIyMDAyQzgwMDNCQzAwQ0Y1MDNGQzAwREYwMTRGCis6MTBBM0EwMDAzRkMxMDRGMDMzMjE0MENGMDAzMjAwMEY4MDBCMDAwMzg3Cis6MTBBM0IwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGRjAwM0ZDMDlBCis6MTBBM0MwMDAwRkM0MDNGMDAwOUMwMDNCQzAwRkYwMDNGQzAwRkYwMDMzCis6MTBBM0QwMDAyRkMwMEZGMDAzRjA4MEZGMDAzRjAwMEZDMDAzRTgwNjFFCis6MTBBM0UwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwQzBGRkEwMzEyNDk0Cis6MTBBM0YwMDAwRUYwNjMxMDA0RUY2NDNGQzA0Q0YzMDMxQzgwREYwOEQxCis6MTBBNDAwMDAzN0MwMEZGMDAzRjBBMEZDMDAzMTA4MkNEMjAzRjAwMDlECis6MTBBNDEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUxMDBCQkMxMjI0ODc1Cis6MTBBNDIwMDAwOEZEMDIyRTAwOTcwMDJGQzI0ODcxMjM3RTQwQkYwMDE2Cis6MTBBNDMwMDAyMUM1NEJGNTAyRUYwMEJCNDAzNkUwMDhBODAyRTAwNDVFCis6MTBBNDQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM1ODRCMzExQTJDOUQ3Cis6MTBBNDUwMDAwQTMwMDIwMDAxQjMzMDI4QzQwODMyNDIwQzAwQTMwOEJECis6MTBBNDYwMDBBMENBMEEzMjgyODAxMEIwNDEyNDExMDgzMTAyRTIwMUYwCis6MTBBNDcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE1MDBCQjAwMjJFMTM0Cis6MTBBNDgwMDAyOEIwMDIyQzgwOUIwMDJFQzAwOEIwMDI2QzAwQjMwMEU0Cis6MTBBNDkwMDAyMkMwMEJCMDAwRUMyMEJCMDAyNkMwMDg4MDAyRjAwNEY0Cis6MTBBNEEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUUzNDBGNzA0MzJDMEU3Cis6MTBBNEIwMDA0RUIwMjMyRTIwRUIwMDFFQzAwQ0IwMDEyQzAwRkIwMDgwCis6MTBBNEMwMDAzNkMwMUZCMDAzRTE0MEZCMDAzNjk4MEM5MDAzRDAwNDY3Cis6MTBBNEQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI2MDRGRjAyM0ZDMDcxCis6MTBBNEUwMDAwRkYwMDNGRTAwRUYwMjNEQzAwRkYwMjNGQzAwRkYwMDYxCis6MTBBNEYwMDAzRkMwNEZGMDAzRkMwMEY0MDAzQjQwMEZBMDEzRjgwMEY2Cis6MTBBNTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFBMjBFQjEwMzZDMEUwCis6MTBBNTEwMDAwREIwMDdFQzIwREIwMDMyQzAwQ0IwMDI2QzIwRUIwMDY5Cis6MTBBNTIwMDAzRUMxMERCMDAzRTAyMERCQTAzMjkwNENCMDBCMTAwNDE0Cis6MTBBNTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJEMDA4RjgwMjBDMTExCis6MTBBNTQwMDAwODcwMTJDRjAwOEYwMEEzQzAwREYwMDIzQzAwOEYwMEY2Cis6MTBBNTUwMDAzN0MwODhGMDAyRUMwMDg4MDAyMDQwMDg4MDAyMzIwMEZBCis6MTBBNTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBBMzgwMjQ4MUIyCis6MTBBNTcwMDAwOTMwMDZDQzQwOTMwMDI4QzEwOEIwMDJDRjQwQTMwMEE4Cis6MTBBNTgwMDAyQ0MwMDkzMDAyQ0QwMDkwNDA2MDQwMjgxMDAyMzgwMEY1Cis6MTBBNTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTBFMDA4NzgwMjNFMDMyCis6MTBBNUEwMDA0ODc5MDJERTQxOTc4MDI5RTAxOTc4MDY5RTAwODc4MDZECis6MTBBNUIwMDAyNUUwMDg3ODAyRDIwMzgzODAyMUEwMDg2ODAyMDgwMDAxCis6MTBBNUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBBMzAwMzRDMDU4Cis6MTBBNUQwMDAwRDMwNDJDQzAxRDMxMDNBQzUwQzM5MDNDQzAwRTMwNDUyCis6MTBBNUUwMDAzQ0M0MEQzMDAzQ0UwMEQwMDAzMDQwMEMzMDAzMTIwMkNBCis6MTBBNUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDBGNzAwM0ZDMDRDCis6MTBBNjAwMDAxRkYwNTNGQzAwRUYwODM3RDEwRkYwODM3QzAwRjc0MEI4Cis6MTBBNjEwMDAzRkMxMEZGMTAzRDAwMEZGMDBCRjg0MEZDODAzRDAwNjc1Cis6MTBBNjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUUwMDBGQjAwM0VFMDI0Cis6MTBBNjMwMDAyQ0JFODNFQzAwRUI0MDNFQzAwRkI0MDNFRDIwRkIxMEJBCis6MTBBNjQwMDBCNkQyMEZCNDgzRUMwMERCODAzNkMxMEM5MDIxMkEwMDE3Cis6MTBBNjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDBCNzAwMkZDMEY3Cis6MTBBNjYwMDAwODM2MDIwQzA4ODczMDJERDk4QjcyODZERDAwQjMyMEE2Cis6MTBBNjcwMDAyMUM4MEI3NDAyRDAwMjg0MDBBMDAwMjgyMDAyMTIwNDFBCis6MTBBNjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlBMDBCNzgwMkRFMENDCis6MTBBNjkwMDAwODdBMDI5RDAwQTdBMDJERTAwQjc4MDI5RTgwQTc4MDdCCis6MTBBNkEwMDAyMUU0MDg3QTI2OUUxODgzMDQyMUUwMDg3ODBBNzAwMEM1Cis6MTBBNkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCMzAwMkNFMDkzCis6MTBBNkMwMDA1ODMwMTIwRTgyODMwMDJDQzAwQjMwMDJDQzAxQjMwMDM0Cis6MTBBNkQwMDAyMEMxMEIzMDAyQzAwODg4RDIyMDIwMDgwMDAyNTIwNDlBCis6MTBBNkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4NjBGQTAwM0Y4MjZBCis6MTBBNkYwMDAwQ0EwMDNGQTAwQUEwMDFFODA4RkEwMDNFODAwRjIwMDVECis6MTBBNzAwMDAzMjgwMUZBMDAzRTgwMERBMDAzNjg4QUNFMDAzN0EwNDQ4Cis6MTBBNzEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUxMDBGODAwM0UyMDVBCis6MTBBNzIwMDA0RjgwMDNFMTAwRjAwMDNDMDAwQjgwMDNFMDAwRjgwMkUyCis6MTBBNzMwMDAzQTAwMEY4MDQzRjEwMEZDMEEzRDAwMEZDMDAzOTIwMDc1Cis6MTBBNzQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU2MDBDOTkwM0U0MDA0Cis6MTBBNzUwMDAwRjkyMDNFNDAwRDkwMDMyNDAwNDkwMDdFNzAwRjkxMDlCCis6MTBBNzYwMDAzMDQwMEM5MDQzRTQwOUQ5ODAyMjQwMkMxMDBCMDIwNEE1Cis6MTBBNzcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0NjA4OUMwMkU0MEFBCis6MTBBNzgwMDAwQjk4MjZDNTgwODkwMDIyNDAyODkwMTJFNzEwQjkwMDU2Cis6MTBBNzkwMDAzNjQwMjg5MDEyQzU4M0M5ODBCNjQwMDg5MDAyMjAwMDM4Cis6MTBBN0EwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTA0MDA4OTQwMkU0MTQwCis6MTBBN0IwMDA0QjkwMDJFNDAwOTkwMEEyNDAwQTkwMDJFNTAwQjkwMDIzCis6MTBBN0MwMDBFMjQxMDg5MDQyRTQwMDlENTBBQjRBMDhEMDI2MDYwMEMyCis6MTBBN0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODI4MTIwMkM1MDhBCis6MTBBN0UwMDAwQjEwMDJFNDAwODE0MDIwNTA0QTE0MzJDNDAwQjE0MEYyCis6MTBBN0YwMDAyNDUxMTgxNDEyRDQwMDg1NDAyRDQwMDg1MDA2MDIwMTNGCis6MTBBODAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBDODAwM0UwMERDCis6MTBBODEwMDAwRjgwMDJFMDAwRDgwMDMyMDAwQTgwMDJFMDEwRjgwMDQ5Cis6MTBBODIwMDAzMjAwMDQ4MDAzRTAwMEQ4MDAzQTAwMENDMDAzMkUwMzdECis6MTBBODMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBGOTEwM0Y0MTU2Cis6MTBBODQwMDAwRjk0MDNGNTAwRjk0MDNFNTAwRDk0MDNFNTEwRjk0MEQ0Cis6MTBBODUwMDAzRTUwNEY5NDAzQzUwMEU5NDEzNjUwMEY5NDAzRTYwNjdECis6MTBBODYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MDBGREE4M0E0MDQ2Cis6MTBBODcwMDAwQ0Q4MjMzNjAwRTlBMDNFNzgwRjlFMDNCNjgwQ0RFMkM3Cis6MTBBODgwMDAzMjY4MEM5QjAzMzY4MjREQTAzNzY4OEM5ODAzMDYwMDEzCis6MTBBODkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEVCQTBCODQwMjAyMDNECis6MTBBOEEwMDAwODg1MDIyMTUxODhDMDJFMjkwQjhFMDJFMTAwRDhFMEQ0Cis6MTBBOEIwMDAyMjMyMEQ4RDIzNjE0ODk4RDRBMjEwMjg4NDAyMEUwNDAwCis6MTBBOEMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM1MDBCMzAwMkE0QTVGCis6MTBBOEQwMDAyODEwNEVBNDA4QTE2ODI4NDQwQjE0MDJDNTAwODE0MDJBCis6MTBBOEUwMDBBMDUwMDgxMDAyMDQwMjkxMkEyMDQ0MjgxNDRBMDIwMUIwCis6MTBBOEYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUFDODBCOTAwMjI0MDc0Cis6MTBBOTAwMDA0ODkwMDZBNDAwQTkwMDJFNDAwQjkwMjJFNDAwOTkwMDc0Cis6MTBBOTEwMDAyMjQwMDkxMDAyNjQwMjk5MDAyMjQwMDg5MDAyMDYwNEI1Cis6MTBBOTIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTAwMzg1OEE1Cis6MTBBOTMwMDAwQzkwNTM4NDE0QTkwNDNFNDAwRjkwMDNFNDAwQzkwMDE2Cis6MTBBOTQwMDAzMjQwMEM5MDAzMjQwNEQ5MDBCNjQwNEM5MDBCMjgwNEVDCis6MTBBOTUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAyM0U0OTM4Cis6MTBBOTYwMDAwRjEwNDM2NDAwRDkwMDNFNDAwRjkwMDNDNDAwRjEwMjcxCis6MTBBOTcwMDAzRTQwMEY5MDAzQzQwMkU5MDQzQzQwMEYxQzAzQ0EwMDkwCis6MTBBOTgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEExODBDODIwM0UwMEU4Cis6MTBBOTkwMDA4QzgwMEIyMDAwRTgwMjNFMDAwRjgwMDNBMDgyQzgwMERDCis6MTBBOUEwMDA2QzAwMEY4MDAzMjAxMEM4MDAzMjAyMEM4MDAzMEEwNEUwCis6MTBBOUIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM4MDA4NjAwMkU4MERFCis6MTBBOUMwMDA2OEE4ODAzQTAwOEEwMDJFODAwQkEwMDJGODAwOEEwMDU2Cis6MTBBOUQwMDAyRTgwMEJBMDBBM0EwMDhFMTAyMzgwMDhBMDAzMEEwMEU0Cis6MTBBOUUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTREMDA4MzAwMkNDMDNFCis6MTBBOUYwMDAwODM4MDAwQzYwMjMwMDJDQzAwQjMwMDJDQzQwODMwMEQwCis6MTBBQTAwMDAyQ0MwMEIzMDAyMEMwMjhBODBBMEUwMjgzMDBBNEEwMEQ5Cis6MTBBQTEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE2MjA4NzAyMkRDMTk4Cis6MTBBQTIwMDA0ODcwMTI3QzAwQTcyMDJEQzkwQjcyMDBEQzAwODcwODNCCis6MTBBQTMwMDAyREM0MUIzMjAyMUQwMTg3NDIyMUMyMDg3MDAyMjgwMDZBCis6MTBBQTQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFMDJDNzgwM0RFQzY2Cis6MTBBQTUwMDAwQzU4MDMxRTAwRTc4MDNERUMwRjdGMDM5NjAwQzc4MDczCis6MTBBQTYwMDAyREUyMDc3OTAzMEEwNkMzODAzMDIwOEMzODAzNkEwMjdFCis6MTBBQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGQjAwM0VDMDBDCis6MTBBQTgwMDAwRjEwNDM4QzAwREIzODNFRDgwRkIwMDNDQzA0RkI0NERFCis6MTBBQTkwMDAzRUMwOEZCNjEzRUMwMkZGMDIzRTAwMEZCMDAzQzIwNkE5Cis6MTBBQUEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZBMDBGRjgwMzFFM0I0Cis6MTBBQUIwMDAwRUY4MjNGRTAyREY4MEI3RTIwRUY4MDM3RTAwNkREMEIxCis6MTBBQUMwMDAzM0UwMENGODlCNzZDMERGODRCM0UwMDRGODAzQzAwMEU5Cis6MTBBQUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTkwNDBCNzAyMjFDNERGCis6MTBBQUUwMDAwODdCNDJEQzAwODcwMDIxQzQwQjMwMDAxMDgwOEQwMDAxCis6MTBBQUYwMDAyM0MwMERGMjAyMDQ0MjhGMDAyOUM4Mjg3MDAyRUEwNDI0Cis6MTBBQjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDk0MDBCNjAwMjNDMEI4Cis6MTBBQjEwMDAwQTcyMDI4QzAwODcwMDIxQzAwQTMwMDIwNDAxQTcwMkQ5Cis6MTBBQjIwMDAyMUMwMDg3MDQyMDA4QTg3MDAyMUMwMjg3MDAyQzAwMDNFCis6MTBBQjMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEM1MDBCMDAwQTBEMERDCis6MTBBQjQwMDAwOEIwMDJDOTQyOEIwMDIwQzAwQjMwMjIwNDAwODMwMEYxCis6MTBBQjUwMDBBMEMwNDkzMDAyNDU0MDkzQzBBOEQ0MDAzNTAyQzgwNEMzCis6MTBBQjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBCQjAwMzFDMEEwCis6MTBBQjcwMDAwRUIwMjNDRDAwREYwMDM3QzAwRUYwMDE2ODAwRTMwMDA3Cis6MTBBQjgwMDAzM0MwMUNGMDAzNDUwMERBQzg5MkQ0MkNCNDAzRUEwNEE1Cis6MTBBQjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU1MjBGQjAwM0VDMEQ3Cis6MTBBQkEwMDAwRkIwMDNFQzAwRkIwMDNFQzA0RkIwMDNBRDAwRkIwMDU0Cis6MTBBQkIwMDA3RUMwMUYzMDAzQTQ4MEU5MjAzQ0MwMEYzMjAzRTAwMEI4Cis6MTBBQkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDNzAwMzNDMkFDCis6MTBBQkQwMDAyQ0YwMDMzRTIwREIwMDEzQzAwQzcwMDMzQzgwRUYwNDFDCis6MTBBQkUwMDA3M0MxMEZGMDIyMzAwMEM2MDBCMkMwMENGMDAzMDA0NDY1Cis6MTBBQkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwMDY5MDA4QjQ0QTJDMTA5Cis6MTBBQzAwMDA4OEIwMDM2QzAwOEIwMDIyQzAyOEIwMEEyRDAwQkIwMDY2Cis6MTBBQzEwMDA2MkMwMEJCMDAyMjYwMjhCODAyMkMwMDhCMDAzMjA0MDI1Cis6MTBBQzIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI4MDE4QTA4MjJDMEYyCis6MTBBQzMwMDAwOEIyMDI2QzQwOUIwMDI4QzA0OEIwMTYyOTA0QjkwMTM0Cis6MTBBQzQwMDAyMkMwNDlCMDA2QUUwOThCODAyMkUwNDhCMDAyMjAwMDQ1Cis6MTBBQzUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDI4MjAwMjJDMDQyCis6MTBBQzYwMDA4OEIwMDI0NDAwODMwMDI4QzAwODMwMDIwODAwQjEwMDA4Cis6MTBBQzcwMDAyMEMwMEIzMDAyOEMwMDgzODAyMEUwMDgzMDBBMDIwMUUzCis6MTBBQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDY0MDBDQTAwMzNDMDk2Cis6MTBBQzkwMDAwQ0IyMDMyQzAwREYwMDNCQzA0Q0Y1MTMyQzA0RUYwMDdBCis6MTBBQ0EwMDBBM0MwMERGMDAzQTg0MENCMDBCMjAwMkNCMDAzMDAwM0ZBCis6MTBBQ0IwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREYwMDBGNDAwM0ZDMEE0Cis6MTBBQ0MwMDAwRkIxMDNGMDAwRkYwMDM3QzAwRkYwMDNGQzAwRkYwMERFCis6MTBBQ0QwMDAzRkMwMDdGMDBCN0MwOEZGMDEzRjAwMEZGMDAzQTgwNjAwCis6MTBBQ0UwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwQzVFRDMzM0JDQzUzCis6MTBBQ0YwMDAwQ0YwMDMzMDQwRkYyNTNGQ0MwQ0YzODMzQ0QwREY0ODAxCis6MTBBRDAwMDAzNzMwNENGMzAzRkQ4MENGMjgzM0Q4MENGMTAzMzAwMEVCCis6MTBBRDEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDRDBCQjMxMjBDQzlGCis6MTBBRDIwMDA4OEYzNDIyMDUwQkY5MDJGQzQwQUY2MDI3REMwOEY0MEE2Cis6MTBBRDMwMDAyNjQwOEZGNjAyRkQwMEZGMDgzOUM4MDhGNjAyQTAwNDdECis6MTBBRDQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0ODBBMTIwMjhDOTUwCis6MTBBRDUwMDAwODMwOUEwMDA5QjMwMDJDQzAyMDMwMDI0QzkwODMyMEE4Cis6MTBBRDYwMDAwMjA4MEIzMzEyQ0Q4MDkzMjAyNEQ4MDgzNDIyMjIwMTBDCis6MTBBRDcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMUFFMDBCQjEwMjJDMDM3Cis6MTBBRDgwMDAwOEIwMDIyNjAxM0IwMTZFQzAwOEIwMDI0QzA4OEIwMERGCis6MTBBRDkwMDBBMjg5MEJCMDAyRUMwMEFCMDA2QUMxMjhCMDAyQjAwNDdCCis6MTBBREEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNTZFMDBFOEMxM0FDMERECis6MTBBREIwMDAyQ0IwNDMyNjAwRkIwNjNFQzEwQ0IwMEIyQzAyQ0IwMDhFCis6MTBBREMwMDAzNDIyOUZCMDQzRUMwMDlCMDIzNkMxOENCMDAzMTAwNEM4Cis6MTBBREQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMDBGQzgwM0REMERECis6MTBBREUwMDAyRkYwMDNGQzAwRkIwMDNEQzAwNzMwMDNCQzAwRUYwNDY0Cis6MTBBREYwMDAzRkUwNUVCMDAxRkMwMEZGMDAxQkMwMEZGMDAzRjgwMDU1Cis6MTBBRTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBDQjAxM0VDOTEzCis6MTBBRTEwMDAwQ0IwMTcyMDg0RUIwMEIyQzEwREIwMDM2QzAwQzMwMDZFCis6MTBBRTIwMDAzMjUwMEZCMDAzMEM0MEMzMDA3RUMwMEMzMDAzMTAwNDNFCis6MTBBRTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDA4QTU4MkVFMDA5Cis6MTBBRTQwMDA0OEYwMDIyRDAwRUYwMTIzQzAwOEYwMjIzQzA0OEY2MDdGCis6MTBBRTUwMDAzNjU0MEJGMDBBM0Q0MDhGMDAyRkMwMDhGMDAzNzIwMEZCCis6MTBBRTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQwMDA4OTgwMkMxMDM4Cis6MTBBRTcwMDAwOEIwMDI0OTAwQTNBMDI0QzAwOTMwMDI0QzAwODNDOUQ1Cis6MTBBRTgwMDAyMDkwNDIzMDEyNEQwMDgzMDA2QUMwMDkzMDAyMzgwMDIxCis6MTBBRTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2MDA4NTgwNkQ2MjU3Cis6MTBBRUEwMDAwODdFMDI1NjQwMjc4MDI1RTAxOTc4MDYwRTAwODM4MDMwCis6MTBBRUIwMDA2MUEwMEI3ODAyNEUwMDg3ODI2REUwMDk3OTAyNDgwMDlDCis6MTBBRUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODJDMDJDMzYxM0M4OERDCis6MTBBRUQwMDAyQ0JBMTI0OTEwRTMyQzM2QzAwRDMwNTM0QzQ0QzMwMDM5Cis6MTBBRUUwMDAyMDAxMEYzMTAzNEMwMEMzMDEzQ0MwMkRCMTAzMTIwMkZECis6MTBBRUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDBGRjAwM0YwMEZCCis6MTBBRjAwMDA0RkYxMDlCMDAwRkYwMDNCQzAwRUY0MDFGRDI0RkY0MEVCCis6MTBBRjEwMDBCRkMwMDdGMDAzQkMwMDZGMTAzRkM0MUVGMTgzRDAwNjEyCis6MTBBRjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUM0MDBFODA0MzIwMDMyCis6MTBBRjMwMDAwQ0I2MDNFODAyQ0IwMDM2Q0EwRkI1MDNBRDAwRkIyMDA4Cis6MTBBRjQwMDAzRTQwMEZCMzAzRUM4MEZCQTgzMkM2OENCNjAzMkEwMDQ4Cis6MTBBRjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDJFNjAwMjAwMDhDCis6MTBBRjYwMDAwODczMDJEQzAwODc3MDJERDAwQkYwMDIxQzg0QjcyMDIwCis6MTBBRjcwMDAyREMwMEI3MDgyREQyNEI3NDAzNEM5Mjg3MjgyOTIwNDQwCis6MTBBRjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMEJFMDJBQzgwQTEyMEY0Cis6MTBBRjkwMDAwODc5MDBDRTA0ODc4MDY1RTAwQjdBMDI5RTAwQjc5MEE2Cis6MTBBRkEwMDA2REEwMEI3ODAyREUwMEI3ODAyMUUwMDg3ODAyMzAwMDQ3Cis6MTBBRkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEVEODJBQkUwMjBFNDE3Cis6MTBBRkMwMDAwODMwMDJFRTA0ODMwMDJDQzExQjMwMDIwQzA4QjMwMEQxCis6MTBBRkQwMDA2NEY2MEJCMDAyQ0MwNEIzMDAyNkMwMDgzMDAyOTIwNDIxCis6MTBBRkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJCODBFRTQ5MzFBMEYxCis6MTBBRkYwMDAyQ0EwMDNGQTAwQ0EwMjM2ODAwRkEwMDNBODAwRkEwMkIwCis6MTBCMDAwMDAzRjkwMEZBMDYzRTgwMEZBMDAzMjgwMENBMDIzM0EwNEJFCis6MTBCMDEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMEFFODAwM0UwODcwCis6MTBCMDIwMDAwRjgwMDNFMzUwRjAwMDNFMDAwRjgwMTNFMDAwRjgwMEIzCis6MTBCMDMwMDAzRTAwMEY4MDAzRTAwMUY4MDE3RTAwMEY4MDAzRDIwMDg0Cis6MTBCMDQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0NDBDOUExMzI0MEI4Cis6MTBCMDUwMDAyMDExMDFBNjQwQzk4NDM2NDAwRDkwMDM0NDAwNDEwMEYwCis6MTBCMDYwMDAzMjQwMEY5MDBCMjQwMEY5MDAzRTQwNEMxMDAzMDIwNEM0Cis6MTBCMDcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTgyQTI0MENCCis6MTBCMDgwMDAwODlDMDIyNTAwODlDODIyNDAwODkwNDIyNDAwODkyMDlCCis6MTBCMDkwMDAyMjYwMEI5MDAyMjQxMEI5MDAyRTQwMDg5MDAzNjAwMDNCCis6MTBCMEEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA4OTA0MjJDQUQ2Cis6MTBCMEIwMDAwQTkwMEEyNTAyODkyMDIwNDAyODEwMDI2NDAxQTkwMDc0Cis6MTBCMEMwMDAyMjRCMEI5MDAyMjQwMUI5MDAyRTQxMjg5MDAyMDYwMDY5Cis6MTBCMEQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0OTA4MUEwMjA0ODA3Cis6MTBCMEUwMDAwQTMyMDIwNDgwODEwMDIwNDQwODExMDIwNEQwQTEyMDA5Cis6MTBCMEYwMDAyMDQwMEIxMTAyMDYwMEIxMzEyQzQ4MDgxNDAyNDIwMTE1Cis6MTBCMTAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDJDODU0MzIxNDc1Cis6MTBCMTEwMDAwRTg1MDMyMTQ0QzgyOEIyMUE0Qzg2OTM2MTE0RTg1MDY2Cis6MTBCMTIwMDAyMjE0MEY4NjgzMjE0MEYwNDAxRTE0MEMwMDAzMkUwM0NFCis6MTBCMTMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxRDc0NDRGNTEwM0Y0NENBCis6MTBCMTQwMDAwRDkxMDM3NDQwRjkwMDNFNDgwQjkyMDNFNEMyRDkxMEZDCis6MTBCMTUwMDBCRjQwMEY5MjAzRTUwNEY5MzAzRTQ0MEY5NDQzRTYwNkU2Cis6MTBCMTYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MjJDREExMzM2MTM4Cis6MTBCMTcwMDAwQ0Q4RDMzNDEwQ0RBODNFNjA4RTlDOTNBNzA4Q0Q4MDA4Cis6MTBCMTgwMDAzMzQwMEU5QUQzMzZBMEM5ODAzMjYwMEM5OTAzMDYwMDcyCis6MTBCMTkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUzODg4QUEwMjAyODFBCis6MTBCMUEwMDAwODgwMjIyMDEyODg0MDJDMjgwODhBMDIyMjAwODgwMDY5Cis6MTBCMUIwMDAyMjAwMEI4QzAzMjEwMDg4RDBBMjNFMjg4RDAyMEUwNEIxCis6MTBCMUMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUNFMjBBMTQ4MjA1MkY5Cis6MTBCMUQwMDAyOTEwMDIyNDAzODEwMDJDNTIwQTEwMTI4NTEwOTE0MDdDCis6MTBCMUUwMDBBNDQwMEExMjgyNDQwMDkxMjgyNDQwMjgxMjAyMDIwMTNECis6MTBCMUYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDBBOTE0MjI0MEVGCis6MTBCMjAwMDAwOTkwMDJBNDAxODkwNDJDNDAwODkwMDIyNDAwOTkwMEFFCis6MTBCMjEwMDAyMjQ0NEIxMDQyMjQxNDk5MDAyNjQwMDgxMDAyMDYwNEQwCis6MTBCMjIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0NDBFOTQwQjI3ODkyCis6MTBCMjMwMDAwRDkwMEIyNDIyQzkwMzNFNDEwRTkwMDNBNDAyRDkwMEI1Cis6MTBCMjQwMDAxNjU4MDY5MDBCNjQwMkQ5MDAzNjQwMEM5MDBCMjgwNDY3Cis6MTBCMjUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg0MDBEOTgwM0U0QUYwCis6MTBCMjYwMDAwRTkwMDM2NDIwRjkwODNFNDEwRjkwMDNFNDAwRTEwOENBCis6MTBCMjcwMDAzRTQwMEY5MDAzQzQwMEUxMDAzODQwMEY5MDAzQ0EwMDI1Cis6MTBCMjgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDlGMDQwQjAxMDhECis6MTBCMjkwMDA0QzAwMEIyMDAwRjgwMDNBMDAxQzAwMDNFMDAwQzgwMDNFCis6MTBCMkEwMDAzNjAwMEM4MDAzMjAwMEM4MDAzMjAwMEY4MDAzMEEwNDFGCis6MTBCMkIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDAzRTg4MjNBMjhFCis6MTBCMkMwMDA0OEUwMDAxOTgwQkU4ODJFODAwREEwNDJFODAwOEUwMDY0Cis6MTBCMkQwMDAyMzkwMDhBMDBBM0EwMERBMDAzNjgwMEJBMDBBMEEwMDgwCis6MTBCMkUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMzgwMjBFMDcyCis6MTBCMkYwMDAyODMwQzIwRjEwQjM0MDI4QzAwQjMwMDJFQzExODM0MDNECis6MTBCMzAwMDAyOEQyMEEzMDAyMENDMDgzMDAyMEMwMEIzMDAyMEEwMDkxCis6MTBCMzEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDBCNjAwMjFDMDg5Cis6MTBCMzIwMDAwODIwQzIxQzEwQjUwMDJEQzgwQTcyMDJEQzQwODUwODM2Cis6MTBCMzMwMDAyOUEyMUE3MjIyMEMwMDkzMzAwNUM0MEIzMjIyMjgwMDc1Cis6MTBCMzQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODE2MDBCMjgwMzEyMDc0Cis6MTBCMzUwMDAwQzU4MDMxRTAwRjc4MDM5RjgwQjdDMjJDRTQwQ0Y4MEJBCis6MTBCMzYwMDA5QjYwMkUzQjAzMUEwMEM3QTgxMUUwMEY3ODAzMkEwMjQ2Cis6MTBCMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREE0MDBGQTAwM0VDMDBDCis6MTBCMzgwMDAwRjkwMjNFODAwRkIwMDNFRDAyREI2MDNFRDAyRjkwMDNDCis6MTBCMzkwMDAzMjQwMERCMDA3RUMwMEZCNjAzRUM4MEZCNTAzQzIwNjlCCis6MTBCM0EwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRjgwMzNBMEU4Cis6MTBCM0IwMDAwQ0Y4MEIzMjQwQ0U4MTM3RjAwQ0JDMDNGRTAwRkY4NDRBCis6MTBCM0MwMDAzM0UwMkNGODgzRTYwMkNGODUzM0YwMENGQzAzMDAxNDQ1Cis6MTBCM0QwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCRTAwMzVDNkVGCis6MTBCM0UwMDAyODMwMDIzMDQwODcwMDIzQzAwODdBMDJEQzAwQkUwMDBCCis6MTBCM0YwMDAyM0MwMDg3MDEyRkUwMDg3MDAyMUMwMDhGMDAyMkEwNDUyCis6MTBCNDAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDk1MjBCNjAwMjA4MEQxCis6MTBCNDEwMDAwODMxMDI1QzAxODcwMDI1QzAwODcyMDJEQzAwQjYwMDFBCis6MTBCNDIwMDAyMUQwMDk3MDAyRDQwODkzMDAyMEMwMDg3MDAyMDAwMEU3Cis6MTBCNDMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEM0MDBCMEUwMjQ2MEUwCis6MTBCNDQwMDAwODIwMDY0ODAxODAwMDIwQzAwODMwMDJDQzA0QjMwMDY4Cis6MTBCNDUwMDAyMDg0MEIzMDAyRTgwMDlCMDAyMEMwMDgzMDAyMDgwNDYyCis6MTBCNDYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBCOUUwMzI4MEY4Cis6MTBCNDcwMDA2Q0IwMjM2RjAwQzMwMDM3QzEzQ0YwMDNGQzAwRkEwMDNFCis6MTBCNDgwMDBCMEMwMDlGMDAzRUMxMERGMDA3M0MwMENGMDBCMkEwMDExCis6MTBCNDkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMTBGODAwM0U0MjU4Cis6MTBCNEEwMDAwRjI0MDNBODYwRjgwMDNDQzEwRkIwMDNFQzAwRjk0MDgyCis6MTBCNEIwMDAzRTgwMDRCMDIzRTEwMEVCMDAzRUMwMEZCMDAzRTAwMDhCCis6MTBCNEMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEY0MDBFRTAwM0QzMEVDCis6MTBCNEQwMDAwQ0MwMDMxNDAwQ0NBMEIzQzA0QzcwMDM1QzEwREYwMEEwCis6MTBCNEUwMDAzRjAwMENGMDAzRjgwMENGMDAyM0MwMENGMDAzMDA0MDM1Cis6MTBCNEYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDY0MDBCQTgxMkU1ODcyCis6MTBCNTAwMDAwODg4MDIyNzgwODkyMDIyQzAyOEIwMDIyQzAwODg4MzY2Cis6MTBCNTEwMDAyRTIwMDVCMDYyRTMwMDhCMDAyQUMwMDhCMDAzNjA0MDEzCis6MTBCNTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI2MDBCOTgxMkU0MEI4Cis6MTBCNTMwMDAwODhDMDYyNjAwODgwMDIyQzAwOEIwMTY2QzAwOTg4ODg3Cis6MTBCNTQwMDAyRTIwMDhCMDA0RTMwMTBCMDAyOEMwMDgzMDAyMjAwMEMwCis6MTBCNTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMDAwMkNDMEZGCis6MTBCNTYwMDAyODAwMEUwMDEwODAwMDIwQzAwODMyMDIwQzAwODAwNDY5Cis6MTBCNTcwMDAyRTIwMDkzMDAyQzQxMjgzMDAyOEMwMDgzMDAyNDIwMTg0Cis6MTBCNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBGQTAwM0UwMDBBCis6MTBCNTkwMDAyQzkxMDMyMDAwOEEwMDMzQzAwQ0YwMDM3QzAwRDgwMEZCCis6MTBCNUEwMDAyRTQwMENGMDAzRTA4MENGMDAzQkMwMENGMDAzMDAwMzAyCis6MTBCNUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGQzAxM0Y0MDA2Cis6MTBCNUMwMDAwRkMwMTNGMDAwRjQwMDNGQzEwRkY0MjNGQzA4RkMwMDhGCis6MTBCNUQwMDAzRjAwMEZGMDAzRjA0MEZGMDAzRkMwMEZGMDAzRTgwNjBDCis6MTBCNUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMjBDRDEwMzlDODJDCis6MTBCNUYwMDAwREMxMDMzQzgwRUY5MDIzRDgwRkY4MDBGRTAwQ0Y4MEYwCis6MTBCNjAwMDAxRkQwMEZGOTAzRkYwMEU3QzAzM0M0MEZGMDAzQjAwMEYxCis6MTBCNjEwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMEZFMDI4OTQwMjNGMDBFCis6MTBCNjIwMDAwODg1MTAzQzAwOEIwMEEzREM0QkIyODJFQzIwOEIwMDIxCis6MTBCNjMwMDAyNkMwNEJCMDAyRUMxMEI5MDQyQUM5MEJCNTgwRjAwNDQ3Cis6MTBCNjQwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUNDMDA4MTY0MjhDNDYwCis6MTBCNjUwMDAwOUIyMEEwQ0YwQTMyMDIwQzgwQjMyMDJFQzAyODMwOEM2Cis6MTBCNjYwMDAyQ0M4MDkzMjAyQ0M4MEFCQTAyMEM4MEIzMjAwQjIwMTNBCis6MTBCNjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMTA4OTAwMjJDMDVFCis6MTBCNjgwMDAwOEIyMTIyQzAyMEIwMDIyQzAwQkI4MDJFQzAwOEIwMDk3Cis6MTBCNjkwMDAyNkMwNEJCMDQ2RUMwMEI5MDAwQUMwMEJCMDAyRjAwNDYzCis6MTBCNkEwMDA2MDAwMDAwMDAwMDAwMDAwRDAxNUVDMTBDOUUwM0FDMEI2Cis6MTBCNkIwMDAwRDI4MDMyQzAwRUIxMDMyQzAwRjgyMDNDNDAwQ0IwMDE2Cis6MTBCNkMwMDAzRUMxMEZCMDA2RUMwOEU5MDBCMkMwMEZCMDEzOTAwNDAxCis6MTBCNkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMTlDMDBGNUEwM0ZDMEU5Cis6MTBCNkUwMDAwRkU4MDNGQzA4RkYwMDNGQzA4RkMwMDNGQzAwRkYwMDExCis6MTBCNkYwMDAzN0MwMEZGMDAzRkMwMEZGMDQzRUMwMEZGMDAzRjgwMDVBCis6MTBCNzAwMDA2MDAwMDAwMDAwMDAwMDAwNTAxMEFDMDBGOTQwMzRDMEEwCis6MTBCNzEwMDAwREI0MDMyQzAwREI0MDNFQzAyQzgwMDM2NDA4RkIxMEZBCis6MTBCNzIwMDAzRUM2OEZCMDAzRUMwMEY5ODAzMkMwMENCMDBCMTQwNDlECis6MTBCNzMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNFMjBFOUM4MzdENDAyCis6MTBCNzQwMDA0OEFBMjIxQzAwOEIwMDZGRTAwODg1ODJFRDQwQkI4NDc0Cis6MTBCNzUwMDAyRkMwNEJCODAzQUQ0MEIzMDAyM0Q0MDhGNzAyMzIwMDJBCis6MTBCNzYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwMTRDMDBCMTY0QTRDMEYzCis6MTBCNzcwMDAwOTIwMEEwQzA0QjgwMDZDQzAwODM4MDJDODQwQjM4MDI1Cis6MTBCNzgwMDAyQ0QxMEIzMDAyQ0MwNEIzMDAyOEMwMDgzMDAyM0EwMEEwCis6MTBCNzkwMDA1MDAwMDAwMDAwMDAwMDAwQjAwMTFFMDBBNTgwMjVFMDYwCis6MTBCN0EwMDA4ODNBMTIxRTAwQTY5MDJERTIwODc5MDJEQTAwQjc4MkNDCis6MTBCN0IwMDAyREUwMDM3ODgyOUUwMEJDQzEyOUUwMDg3ODAyMkMxMDlECis6MTBCN0MwMDA0MDAwMDAwMDAwMDAwMDAwNDkwODBDMDBGMzAwMzRDMEY1Cis6MTBCN0QwMDAwRDNFMDMwQzAwRjA0MDJFQzAwQzMwNDNDODAwRjMwMEI3Cis6MTBCN0UwMDAzQ0MwMDczMDAzQ0M4MEYyMDAzOEMwMEMzMDAzMTIwMjlBCis6MTBCN0YwMDAwMDAwMDAwMDAwMDAwMDAwNDAxOUJEMjBGNzAwM0ZDMjFCCis6MTBCODAwMDAwRkYxMEJEQzIwREUwNDNGRDIwN0YwMTNGODQwRkYwMEZECis6MTBCODEwMDAzRkMwMDdGMDAzRkMwMEZEMDAzN0MwMEY3MDAzRDAwNkU3Cis6MTBCODIwMDA2MDAwMDAwMDAwMDAwMDAwQUEwNUNGMDBEQzAwM0VDQTU2Cis6MTBCODMwMDAwRkEwMDBBQzkyQzkwMDMyQzAwRkIwMTFBNDA4RkIwMEU5Cis6MTBCODQwMDAyRUMwNEZCMDIzRUMwMEY5MDAzRUM0MEZCMDAzRUEwMDU1Cis6MTBCODUwMDA3MDAwMDAwMDAwMDAwMDAwQzg5MTlDMDA4NDAwMDFDMDNFCis6MTBCODYwMDA0QjcwMjIxQ0MwODcwMDIxQzA0QjcwMDIxQzAwQjcwMTI2Cis6MTBCODcwMDAyNUQ4MEI3MDIyREMwMEI2MDAyREMwMEI3MjIyRjIwNDFBCis6MTBCODgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMDlFODA5NzgwQTlFMDFBCis6MTBCODkwMDAwQkY4MDJDRTA4ODU4MDI5RTgwQkZDMDIxNzAwQjc4MDYwCis6MTBCOEEwMDAyREUwOEI3ODAyREUwMEI0QzAyREU4MEI3OTAyRTAwMEI5Cis6MTBCOEIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDA4MzA4QTBDMDU1Cis6MTBCOEMwMDA4QjNDMDI0QzAwODMwMEEwQzAxQjNDMEEwRjI5QjMwMDM0Cis6MTBCOEQwMDAyNEMwMEIzMDAyQ0MwMEIzODAyQ0MwMEIzMDAyRDIwNDQ5Cis6MTBCOEUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBERTAwM0E4MEVCCis6MTBCOEYwMDAwRkVBMDJFODAwQ0UwMDNBODAwRkUwMDMzODAwRkEwMEI5Cis6MTBCOTAwMDAzRTgwMEZBMDAzRTgwMEZFMDAzRTgwMEJBMDAzRkEwNDc3Cis6MTBCOTEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDBGODA0QkEwMUU4Cis6MTBCOTIwMDAwRjgyMEI4MDA0Rjg4MDNFMDAwRjg2MDM2MDAwRjgwMDUxCis6MTBCOTMwMDAzNjAwMEY4MDIzRTEwMEY4MDAzRTAwMEY4MDAzRDIwMEE0Cis6MTBCOTQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDFGOTAwMzI0MDVGCis6MTBCOTUwMDAwRjkwMDNFNDAwNDkwMDMyNDAwQjkwMDMyNDAwNDkwMDlCCis6MTBCOTYwMDAzQzQwMEQ5MDAzRTQwOEM5MDAzRTYwMEM5MDAzMDIwNEMzCis6MTBCOTcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTQwQTI2NEIwCis6MTBCOTgwMDAwQjE4MDIyNTAwRDE1MDM2NTA0RTkwMEEyNDAyODk0MEVGCis6MTBCOTkwMDAzQTUxMDg5NDAyRTUyMjg5NDQyRTYwMjg5MDBBMjAwMDNBCis6MTBCOUEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwMTI0MDBCMTA4MjI0MDJGCis6MTBCOUIwMDA0QjkyODJBNTAwQTkwODIyNTAwQTEwMDIwQzAwQTk0MDRGCis6MTBCOUMwMDA2RTUwMEI5NDAyQzQwNDg5NDQ2QzQ4ODgxMDAyNDYwMEVGCis6MTBCOUQwMDA0MDAwMDAwMDAwMDAwMDAwMDAwNDA0MDBCMTQwRTA0MDBFCis6MTBCOUUwMDAxQjE0MEEwNDAwQjkwMDI0NDAxQTEwMjIwNDAwQTEwMDBDCis6MTBCOUYwMDAyODQwMEExMDEyQzQwMDgxMDI2QzQwMDgxMjAyNDIwMTYxCis6MTBCQTAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDhCMDAwMzIwMDI3Cis6MTBCQTEwMDA0RjgwMDJBMTUwRTA1MDMyMTQwRUE1MjMyMTQwRTg1MDdGCis6MTBCQTIwMDAzRTE0MEY4NTAzRTE0MEM4NTAxRTE0MEM4NTQzNkUwMzdECis6MTBCQTMwMDA1MDAwMDAwMDAwMDAwMDAwRDgxOUU1MDBGRDQwM0U1MDE1Cis6MTBCQTQwMDAwRjc0MDNBNTAwNUQwMDNFNTAwQTUwMTNGNDAwRDkwMEE2Cis6MTBCQTUwMDAzQTUwMEQ5MDEzRTQwMEZGMDAzRTUwMEY5MTAzQTYwNkVDCis6MTBCQTYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2OTBCREU4MjM2QjkwCis6MTBCQTcwMDAwQkRBMEIzNjgwQzkwMDMyNjg0NjkwNDNFNDAwNDkwMDc3Cis6MTBCQTgwMDAzMjY4MEM5MDAzMjQ0MEY5MDAzMjYwMEM5QzAzQzYwMTFDCis6MTBCQTkwMDA2MDAwMDAwMDAwMDAwMDAwNzgxMEUxMDBCOEUwQTIxMTkyCis6MTBCQUEwMDAwQjhFMEEyMzIyODg4MDJBMzEyODg4MDI2MjAwODg4MDJGCis6MTBCQUIwMDBBMjMwMjg4ODhBMjIwMEI4QThBMjM5MDhDQTAyQ0UwNDc3Cis6MTBCQUMwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM1MDgyMTAwMDA0MENCCis6MTBCQUQwMDAwMzE0ODI4NTgwQUQwODIxNTI5ODUwODIzNDIzODUwODUyCis6MTBCQUUwMDAyMTUyMDg1MDA2NTQwMEI1MjAyMTVBMDk1NDAyRDIwMUFGCis6MTBCQUYwMDAzMDAwMDAwMDAwMDAwMDAwMTgxMUE0MDBCOTYxMjI0MENECis6MTBCQjAwMDAwQjkwMDYwNDAwQUQwMDY5NDAwOEQwMDI3NDAwODUwMDY3Cis6MTBCQjEwMDAwMTQwMDA3MDA2NzQwNEI1MDAyMzQwMDlEMDAyQzYwNDM5Cis6MTBCQjIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNEE0MDBFOTAwMzI0MDAyCis6MTBCQjMwMDA0Rjk1MEJBNDAwRTkwMDMyNDA4QzkwMDMyNDAwQzkwMDBCCis6MTBCQjQwMDAzMjQwMEM5MDAzNjQwOEY5MDAzMjQwM0Q5MDAzRTgwNDUxCis6MTBCQjUwMDA3MDAwMDAwMDAwMDAwMDAwNjgwMUE0MDhGOTAwM0U0MEU5Cis6MTBCQjYwMDA0RjkwOEJFNDA0RDkwMTNFNDAwRDkwMDM2NDAwRDkwMTRECis6MTBCQjcwMDAzRTQwMEY5MDAzQTQwMEY5MDAzQzQwMEU5MDAzREEwMDExCis6MTBCQjgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODQwMzYyMEVGCis6MTBCQjkwMDAxNzg0MDMyMDIxQzgwMDdFMDIyQzgwNDMyMDAwRTgwMjg1Cis6MTBCQkEwMDAzRTAxMEY4MDAzRTAwMEM4NDAxRTAwMEY4MDAzQ0EwNDVFCis6MTBCQkIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTJBODhCNjAyMjNBMDBCCis6MTBCQkMwMDAwQkVDNDIyQjAwRDI4MDZFQjEwOEEwMjIwODAwRUEwNEUwCis6MTBCQkQwMDAzQTgwOUZBMDAzQTgwMDhBMDQyRTgwMEJBODAyQ0EwMDA2Cis6MTBCQkUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMjAwQTRFMTY1Cis6MTBCQkYwMDA4QkI0MzI0NzQ1ODM5MDJDRjQ0QjM4MTIwRTQ0QTMwMThBCis6MTBCQzAwMDAyQ0MwNEIzMDAyQ0UwMDkzMDA2Q0MwMEIzODAyQ0EwMDJGCis6MTBCQzEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDBCNzQ0MjFDMjM5Cis6MTBCQzIwMDAwQjU0MDI1NDA1ODcwMDJDNDA5QjZDMDIxODEwQTcwNDhCCis6MTBCQzMwMDAyOUMwMEE3MDAyOUIwMDk3MDQwRDgwMEI2MDgyRTgwMDA3Cis6MTBCQzQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGMzgwMzVFMDVFCis6MTBCQzUwMDAwQjM4MDI1MjEwODQ4MDJEQTAwRkY4MEIxRTAwRTY4MEQ2Cis6MTBCQzYwMDAxREEwMEI2ODAzRkUwMkQ2ODAzREUwMEY3ODAzRUEwMkI4Cis6MTBCQzcwMDAwMDAwMDAwMDAwMDAwMDAwMEExREFDMDBGQjAwM0VDMUY3Cis6MTBCQzgwMDA4QjkwMEI4MDBBQjgwMTJFMDAwQ0IwMDNFODAwRkEwMDdDCis6MTBCQzkwMDAzRUMwMEZBMDQzRUMwMEVCMDAzRTgwMEZBNjIzQzIwMjgzCis6MTBCQ0EwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRTgwMzMyMDYwCis6MTBCQ0IwMDA0RUM5MTJGNjUwRUY5MDNGRTAwQzE5MDBCNjQyQ0YyMTZBCis6MTBCQ0MwMDAzRkUwMEVGOTAyRTZDMEZGODAzRkUwNENEQzAzNDAwMDlECis6MTBCQ0QwMDA3MDAwMDAwMDAwMDAwMDAwQUExMTk0MDBCNzAwODE0MDJECis6MTBCQ0UwMDAwODAzMDIxNEM0ODcwMTJEQzgwODZBMTIzODQwODcwMjZECis6MTBCQ0YwMDAyREMwMDg3MTEyRDI4MEI3MDAyRDgwMDg2MDAyMkEwNDdFCis6MTBCRDAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzEwMjE4MENGCis6MTBCRDEwMDAwOEY0MTI5NDA0QTYwMDJDQzAxOEQyMDIxNDQ4ODYxMDBECis6MTBCRDIwMDAyRDgwMEE2MTMyRDQwMEI2MTgyREM0MDg1ODAyMDAxMEM0Cis6MTBCRDMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEM0MDBCMzAwMjBDMDU4Cis6MTBCRDQwMDA0MEIwMjIwNDAwODI4MTBDQzAwODMwMEEwQTAwOEEwMDM4Cis6MTBCRDUwMDAyRUMwMDhBMDAyQzQwMEJCMDAyRTgwMDgyMDAyMDgwNEU4Cis6MTBCRDYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBGQjAwQTBDMERGCis6MTBCRDcwMDAyNDk0MjNBQzEwRUJBMDBFQzAwQ0IwMDIyRTIwQzkwMEZFCis6MTBCRDgwMDAyRTQwMEU5MDAzRUMwMEY5ODAzRTQwNkNBMDBCMkEwNDdDCis6MTBCRDkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMENDMDBGQjAwM0VDMEZFCis6MTBCREEwMDA4OTkwMDMyQzAwRkIwMjNFNDA0RkEwMDM2RDAxRkI0MTM0Cis6MTBCREIwMDAzRUMwOEZCNDAzRTgwMEZCMjAzRTUwMEZBNDAzRTAwMDE4Cis6MTBCREMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBDMzIwQjJDMEUxCis6MTBCREQwMDAwREQwMDMzODAwQ0QwMDNGODAwREYwMDNGQzAwRkQwMkM0Cis6MTBCREUwMDAzNjAwMENEMDAzM0YwOEZDMDQxMkMwMENBMDAzQzA0NDcyCis6MTBCREYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDZDMDI4QkM4MjJDMEVDCis6MTBCRTAwMDAwODk4MEEyQTQwODkyMDJFMDE4RUIwMTJFQzgwQkJGMERGCis6MTBCRTEwMDAyMkU1MDhCRDAyMkUwMEJCOTAyMkVEMDhBMjAyRTAwMDQwCis6MTBCRTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjAxMjIwMEEzCis6MTBCRTMwMDA0OUE4MUUwNDAwOEIwMTJFQzA0OTkwMDJFNDAwQjkwMEZECis6MTBCRTQwMDAyMjQwMEE5MDAyMkMwMEI5MDAyQTQwMDg4MDAyRTAwMDNCCis6MTBCRTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA4MTAwMjA0MEIxCis6MTBCRTYwMDAwODIwMDIwNDAwODMwMDJDQzAwQTIwNDJDQzAwQjMwMDRBCis6MTBCRTcwMDAyMEMwMDIzMDAyMDg4NEIzMDQwODQwMDgyMDAyQzIxMTI2Cis6MTBCRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDA4QjAwQjI4MDdDCis6MTBCRTkwMDAwREIxMDMyNDAyQ0IwMTNFQzA0RDkwNDNFNDAwRjkwMEY0Cis6MTBCRUEwMDBCMjAwMkU5MDBCMkM4MEY4MDBCQUMwMkM4MDAzQzAwMzg3Cis6MTBCRUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREY0MDA3RDAwM0ZDMDA1Cis6MTBCRUMwMDAwRjcyMDNENDAwRkYwMDNGQzAwRUYxNDdGQzAwRkYwMERCCis6MTBCRUQwMDAzQkMwMERGMDEzRkM1MEZGMDAzN0MwMEZFMDAzRTgwNjM1Cis6MTBCRUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwQzRDQzMzM0YwNDI3Cis6MTBCRUYwMDAyQ0Y2MDMzODYwQ0M5MEIzMjAwRkYxMjNGMDYwRkYwMUUzCis6MTBCRjAwMDAyM0M4MENGMjhBM0M4MURGMzAzRjY0MENEODAzMzAwNDM0Cis6MTBCRjEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUwQzI4QTMwMkUxODdGCis6MTBCRjIwMDAwOEY1MzBBNTk0NTgyMjIyMjE0QkYzMDJFMTAwOUY3MEJFCis6MTBCRjMwMDAyQkU0MEFGNDEyMUQ0MEFGNzIyQzQ5MkYzMDgyQTAwNjY4Cis6MTBCRjQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0ODA4MEEwMkM5ODBDCis6MTBCRjUwMDAwODMyMjIwODAwODIwMDI4MDAwMzMyMDJDMDg0QjMwQzk5Cis6MTBCRjYwMDAyMEMwNTgzMjkyOEMzMEEzMjAyRUMwNDgxMjQyNjIwMTY5Cis6MTBCRjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE4MDA4QjAwMkUyMEZCCis6MTBCRjgwMDAwOEIwMEEyMDAxOTgwMDJBMjIwQkIwMDJFNjAwOUIwMEFDCis6MTBCRjkwMDAyMkMwMEFCMDEyQUMwNEFCMDAyRUMwMDNCMDAyRjAwMDA1Cis6MTBCRkEwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUU1MDBDODAwM0VCMDgxCis6MTBCRkIwMDAwQ0IwMDMyOTAwQzgwMDNBMjA0RkIwMDNFMjIwRkIwMTc3Cis6MTBCRkMwMDBCMEMwMENCMDAzMkMwMEZCMDIzQzQxMEM5MDQzNDgwNDcxCis6MTBCRkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUEyODBGRTQwM0UwMDcyCis6MTBCRkUwMDAwRkYwNjNFQzAwQkZDNDE3NDIwRkYwMDNFQzAwRkYwMDNBCis6MTBCRkYwMDAxRkMxMEZCMDAzNUMwMEZCMDAzRjQwNEZGMDAwQjgwMEQyCis6MTBDMDAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE1MDJDODAwM0U5MDQzCis6MTBDMDEwMDAyQ0IwMEIwMTA2Q0IwMTNFNTA1RkIwMTMyMTEwQ0IwMEJBCis6MTBDMDIwMDA3RUMwMENCMDBCMkMwMENCMDAzMkMwMEM5MDAzMTAwNDZGCis6MTBDMDMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTI4MDE4QkQwMkMzNDJGCis6MTBDMDQwMDA0OEZGMDIzMDAwQUEwNDJFNjkwRkYwMDM2ODEwREYwMEQ5Cis6MTBDMDUwMDAyRkQ0MERGMDAyM0UwMDVGMDRCNkMwMDhCMDAzNzIwMDlBCis6MTBDMDYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTY5OTA4MTgwMkMwMDg1Cis6MTBDMDcwMDA0OEI4MDIwODA5OTkwMDRDQjAwQjMwMDIwQzAwOEIwMDQ0Cis6MTBDMDgwMDAyQ0MwMDlCMDQwMEM0MDgzMDAwMDQwMEE5MDAyMzAwMEYwCis6MTBDMDkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2MDA4NDg4MkRFNEZDCis6MTBDMEEwMDA0ODM5MDIxNjAwQjQ4MDJERTAwQTdCMDY1RTAwOTc4MEI2Cis6MTBDMEIwMDAyREUyMDk3ODAyMUU5MDk3ODAyNTY0OEE3ODAyNDgwMDU0Cis6MTBDMEMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBEMDA4MTEwMkM5NjgwCis6MTBDMEQwMDAwODMxMjMwQzAwOTAyMDNDQzQxQkI4MDIwODQwQzMwMDY4Cis6MTBDMEUwMDAyQ0M0MEQzMDAzMEU0MEMzMTAzMEMwNEUxMDA3MUExMjdFCis6MTBDMEYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDA3RDA1M0ZDNUExCis6MTBDMTAwMDAwRkIxMEJGNDAwRUYwMDFGNDUwRkYwNDNGQzAxRkY0MDlGCis6MTBDMTEwMDAzREM0MUZGMDA2RkMxMEZGMDAzQkMxMkRGMTAzRDAwNjBCCis6MTBDMTIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDRDQjA0M0VBMDY1Cis6MTBDMTMwMDA0NEI2MDMyODA0Q0I4MDMyODAwRkIzOTM2MDA4RkIyMDAxCis6MTBDMTQwMDAzRUQyMUZCMzAzMkQ4MEZCNjE3RTQwOEM5ODAzMkEwMEYyCis6MTBDMTUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTg0MEM4NjA1MkRDMDBFCis6MTBDMTYwMDAwOEY0ODI4QzkwODUwMEExQzAwQkYwMDI1QzAwMzcwMEJGCis6MTBDMTcwMDAyREQwMEI3MTAyMUNDOEI3NDgyRDQwMEE3MDAyMTIwNDYyCis6MTBDMTgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDA4NzgwMkRBMTFDCis6MTBDMTkwMDA2MDc4NEExNkQwQTc4MDI5RTAwQjc4NTI5NjAxQjc5MEI0Cis6MTBDMUEwMDAyREU4MEI3QTIyNUU0MEI3QTAyRkUxNDg1MDIyMzAwMEU0Cis6MTBDMUIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMTA4Mzg0MkNDMDM0Cis6MTBDMUMwMDAwODMwMDJBNDEwODNDQjI4RTAwQjMwMkE0RjQwOTMwMEE0Cis6MTBDMUQwMDAyQ0MwMEIzMDAyNEMxMEIzMDIyQ0MwQUEzMDAyMTIwNDQ3Cis6MTBDMUUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4MDBDRUEwM0Y4MDNECis6MTBDMUYwMDA0Q0EwMkIzQTAwQ0U0MDNCQjgwRkEwMDNCOTAwQkEwMEM4Cis6MTBDMjAwMDAzRTgwMEZBMDAzNjgwMEZBMDA3RTgwMUNBMDBCM0EwNDU5Cis6MTBDMjEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDJGODAwM0UwNDVBCis6MTBDMjIwMDA4RjAwMDNFMDRBRjgxMDI2MTgwRjgwMDNBMDgwRjgwMjYwCis6MTBDMjMwMDAzRTAwOEYwMDBCQTAwMEY4MDIzRTAwMEY4MDEzRDIwMERBCis6MTBDMjQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MjBDOTAwMzI0MDY3Cis6MTBDMjUwMDA0RDk5MDMyNDAwQzkwMjNFNjgwRjkwMDIyNDAwRTkwMEIyCis6MTBDMjYwMDAzMDQwOEM5MDAzMDQ0MEM5MDAzRTQwMEM5MDAzMDIwNDBGCis6MTBDMjcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MjA4OTA2MjI1MDg1Cis6MTBDMjgwMDA4QjlDQzIyNDAwRDkwMTJFNDAwQjkwNDIyNDA4QjkwMTk2Cis6MTBDMjkwMDAyMjQ2MEQ5MDBBMjYwMjg5MDAyQzQwMEExMDAyMjAwMDM2Cis6MTBDMkEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwMTA2MDA5MTQwNDI3MERDCis6MTBDMkIwMDAwQjkwMTIyQzAyOEIwMDJFNDAwQjEwMjJFNDEwQjEwMEM4Cis6MTBDMkMwMDBBMjQwNDg5MDEyMjQwODk5MDIyRTQwMDg5MDAyMDYwMENECis6MTBDMkQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0OTI5MTIwRTA0OEEzCis6MTBDMkUwMDAwQjEyMDIwNDAyOTExMDJDQzAwQjEwMDY4NEMwQjExMDc2Cis6MTBDMkYwMDAyMDQ4ODkxMTAyMDU4MDkxNDAyRTQ0MkE5NDAyMDIwMUFGCis6MTBDMzAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBEODUwMzAxNDVCCis6MTBDMzEwMDAwRjg1MEIyMUUwODA0MDNFMDAwRjg3OEJFMTBDRjg2QzBECis6MTBDMzIwMDAzMjAwODQwNjgzMjAwNEQ4MjgzRTEwMEMwMDAzMkUwMzFDCis6MTBDMzMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBBRDEwM0Y0NTgzCis6MTBDMzQwMDAwRjkxMDNGQzE4N0QyMDFGNDEwRjkwMDM3NEMwRjkyMTQ5Cis6MTBDMzUwMDAzRTQ0MEY5MjAxRTQ0MEU5MDAzRDQ4NEZEMDAzRTYwNjE5Cis6MTBDMzYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY3ODBGREUwMzM3MDQ5Cis6MTBDMzcwMDAwQ0RBMDMyNjIwQzk0MDMxNDAwRTlBMDMyNDAwRjk4MENDCis6MTBDMzgwMDAzQjYwMEY5QzgzMzZBMEY5QTFCMDQwMEY5MTAzQzYwMDFCCis6MTBDMzkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUyOTBCOEEwMjIyOEQxCis6MTBDM0EwMDAyODg4MEEyMjAyODhBMDIyMDAwODg4MDJDMjgwQjg4ODUxCis6MTBDM0IwMDAyMjA0MEI4RTAzMjI4MEI4RDAyQTIwMEI4ODAyQ0UwNEUwCis6MTBDM0MwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM1ODBCMTYxMDA1ODgxCis6MTBDM0QwMDA0ODE2OEEwNEEwODkwMTIyNDAxQTE0ODgwNDIwQjE0MDFBCis6MTBDM0UwMDAyODQwMEIxMDBBMDQyMEIxMkMyMDRBMEIxMjAyQzIwMTczCis6MTBDM0YwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE1OTBCQjQwMjA0MDEwCis6MTBDNDAwMDAwODkwMDIyNDQwODk0MjYyNTgwODEwMDJFNTAwQjkwM0VFCis6MTBDNDEwMDAyMkMwMEI5MDAyQTQxNDMxMDAyQTQ0MEI5MDAyQzYwNERGCis6MTBDNDIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxMEE1MDBGOTAxMzI0MEVCCis6MTBDNDMwMDA4QzkwMDMyNzAwQzE5NDMwNDAwRTkwMDMyNDAwRjkwMDMzCis6MTBDNDQwMDAzQTQwMEY5MDAzMjQwMEY5MDAzMjYwMDc5MDI3RTgwNTc2Cis6MTBDNDUwMDAyMDAwMDAwMDAwMDAwMDAwMjgwMEE0MThGOTAwQkU0NERECis6MTBDNDYwMDAwRjkwMDNDNDAwRjkwMEJFNjE4RjkwMDNBNDAwRjEwMDk3Cis6MTBDNDcwMDAxRTQwMEYxMDAzMjQwOEY5MDA3RTQwMEY5MDAzQ0EwMEVECis6MTBDNDgwMDAyMDAwMDAwMDAwMDAwMDAwMjgxMEExODFGODAwMzIwNDA0Cis6MTBDNDkwMDAwQzAwRDMyMTAwRDgwNDNBMTQ5QzgwMDMyMTAxQzgwMDY5Cis6MTBDNEEwMDAzNjAwMEM4MDEzMjAxMEM4MDAzMjAwMkM4MDAzQ0EwNDEwCis6MTBDNEIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNDNBMDBCRTg0MjM4NTBDCis6MTBDNEMwMDAwOEVDODM2ODA0OEEwMDJGOTA0REEwMDIyODAxREEwMDRFCis6MTBDNEQwMDAyM0IwMEFBMDAyMkEwOERBMDEyMjgwMEZBMDAyQ0EwMEIzCis6MTBDNEUwMDAwMDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCQkYwMjBDMDQ4Cis6MTBDNEYwMDAwODNDMEEwQzAwOTMwMTI4Qzg4OTMwMDY0QzAwODMwMkNFCis6MTBDNTAwMDAyQ0Y2MDgzMDAyMDQwMEEzMDAyMEMwMEEzMDAyQ0EwMDQyCis6MTBDNTEwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFEMTFCMzAwQTBDMDY5Cis6MTBDNTIwMDAwODUwMDI1QzEwODcwMTZEODE0OTMyNTIxRUMzODcwMDlBCis6MTBDNTMwMDAyOEUwMEEzMjI2MUYwMDM3MDAyM0UwMEI3MjAyQzgwMEYxCis6MTBDNTQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwODEyMDBCNzgyMzEyMERGCis6MTBDNTUwMDAwODA4MzcwRjA4RDdFMDM5NjAxOTdBMEI1RTBDODNCMkYwCis6MTBDNTYwMDA3REUwMEM3QTBCM0UwMkFGQTBCMUUwMEU3QTAzQ0EwMjY2Cis6MTBDNTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREEwMTBGQjAwM0VDMEVECis6MTBDNTgwMDA2RkIwNDNFQzExRkIwMDNFNDAwRkI1MDNFQzIwRkI1MEI1Cis6MTBDNTkwMDAzNjAwMEZCNTQzRTVBMURCNzgzRUMwMEZCNDAzQzIwNkY5Cis6MTBDNUEwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMDBGRkEwM0ZBMDZBCis6MTBDNUIwMDAwREM5MTMzRTAwQ0ZEMDNERTgwMkZGMTMzRTAwQ0Y4MkVECis6MTBDNUMwMDAzRjYwMENGQzIzM0UxMEVGODAzM0YyMENGQzgzMTAwMDI0Cis6MTBDNUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDNDBCNTAxMkREMEEzCis6MTBDNUUwMDAwODU4MDIxQzQwNTcxMDJENUEyODMxMDJCQzAxOTcxMEUwCis6MTBDNUYwMDAyRDAwMEE3MDAyODQwNENGMDAyOUMwMEFGMDAyMkEwNDI4Cis6MTBDNjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDkwMDBCNzJBMkQ4MkFBCis6MTBDNjEwMDAwODQyMjIzQzAwODcxMTBEQ0M4ODMyMDIxRDAwOTcwMDkxCis6MTBDNjIwMDAyQ0M0MDgzMDAyMTQwMEE3MDAyM0MwMDk3MDgyMDAwMDQ3Cis6MTBDNjMwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNEMwMjBCMDIwMkM1MDNBCis6MTBDNjQwMDAwODEwMDIyREMwOTNFMjJDMjEwODMwMDIwRTA4OTMwMDNFCis6MTBDNjUwMDAyQzQwMEEzMDAyOEMwMDkzMDAyQUMwMEIzMDAyMTgwNEQwCis6MTBDNjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBGOEMwM0U4MEJCCis6MTBDNjcwMDAyQ0EwMEIzRjAwQzc2MDNFRDAwQ0YwMEIzQzAwQ0YwMDVECis6MTBDNjgwMDAzRTgwMENGMDBCMkMwMEVGMDAzM0MxMERGMDBCMkEwNEEwCis6MTBDNjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDNDBGMzQwM0U1MENECis6MTBDNkEwMDA4RUI0MDNFQzEwRkIwMDNFMDkwRkIwMTNFQzQyRUIwMDFDCis6MTBDNkIwMDAzQzAwOEZCMDEzQzQxMUUzMDAzRUMwMEVCMDAzRTAwMDk1Cis6MTBDNkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGQzgwMzEyMjVFCis6MTBDNkQwMDAwQ0E4MDMzQzAwQ0YwMDMzQTAwRUYwMDNEQzAwQ0YwMDE5Cis6MTBDNkUwMDAxRkYwMENGMDAzRjQwMENGMDIzM0MwMENGMDAyMDA1NDMyCis6MTBDNkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZGMDBCQkMwMjI3MDA5Cis6MTBDNzAwMDAwQUI5NDIyQzEwOEIwMDc2MTE4M0IwMDJFQzEwQUIwMEZBCis6MTBDNzEwMDAyRUIwMEFCMDAzRUMwNDhCMDBBMkMwMjhCMDAyMjA0MDY3Cis6MTBDNzIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTY1NDBCODIwMjI0NDkxCis6MTBDNzMwMDA1ODM0MEEyQzAwOEIwMDIyODQ0QkIwMDJFQzAwOEIwMDkyCis6MTBDNzQwMDA2RUMwMDhCMDQyRTYwNDhCMDAwMkMwMDgzMDAyQTAwMUFGCis6MTBDNzUwMDA0MDAwMDAwMDAwMDAwMDAwMEMwMDAwMDBCMTAwMjBDMEZDCis6MTBDNzYwMDAwQTMwMEEwQzAwOEIwMzI0ODAwQjMwMDJDQzAwQTMwMDlCCis6MTBDNzcwMDA2QzAwMEEzMDAyOEQwMDgzMDAyMEMwMTgzMDAyODIwMDU1Cis6MTBDNzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODY0MDBGODAwMzAwMDE1Cis6MTBDNzkwMDA0Q0EwMEIyQzAyQ0YwMDIyNDAwRUY1MDNGQzAwQ0YwMTcxCis6MTBDN0EwMDAzRTAwMENGMDEyREQwMkNGMDIzM0MwNENGMDBCODAwM0QwCis6MTBDN0IwMDAxMDAwMDAwMDAwMDAwMDAwQTQxOUYwMDBGQzAwM0Y0MDQxCis6MTBDN0MwMDAwRkIxMDNEQzAwQkYwMTNGMDAwRkYyMjNGQzEwRkYwMDlDCis6MTBDN0QwMDAzRjAwMEZGMDAxRjQ4NEZGMDAzREMwNEZGMDEzNjgwNkU2Cis6MTBDN0UwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZFNDBERjgwMzNDODdDCis6MTBDN0YwMDAwQ0Y4MDMzQzBBOUZDMDNGRjAwOEI4MDIzRTAwRkY4MERGCis6MTBDODAwMDAzRkQ4MENGOTYxMkU0MDZGOTAzRkU0OEZGMTgzMzAwMEU4Cis6MTBDODEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDMDQ4QjgwMjNGMDBBCis6MTBDODIwMDAwOEI4MDIzRDQwQUIwMDBFMDg0ODIyODI2QzIwQkIwMEQ1Cis6MTBDODMwMDAyRkQwNDhCMDAyMkMwMEJCMDAyRUMxMEJCMDAyMzAwNDM4Cis6MTBDODQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMDI4MzAxQTBDNTc0Cis6MTBDODUwMDAwOEIwNEE0Q0EwODAyNDI4QzgwOTMyMDI0QzAwQjMwODEyCis6MTBDODYwMDAyRUQxMjlCMjNBMEM4NEEzMjEyQ0M4NEJCMjBBMzIwMTMyCis6MTBDODcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDg4QjAwMjJDMDUyCis6MTBDODgwMDAwOEIwMDI0QzAwODgyMTI0MjEwOUIwNDY2QzAwQkIwNjg4Cis6MTBDODkwMDAyRUMwMDlCMDAyMkMxMEJCMDAyRUMwMEJCMDAyMzAwNDE5Cis6MTBDOEEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBDQjAwMzJDMDJBCis6MTBDOEIwMDAwQ0I5MDI2QzAwQ0JDODNBQzAyRDkwMEIyQzA4RkIwMEMxCis6MTBDOEMwMDAzRUMwMEQzMDQyMkMwMEVCMDAzRUMwMEZCMDEzMDAwNDAwCis6MTBDOEQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMDBFRjAwM0RDMDVGCis6MTBDOEUwMDAwRkYwMDNCQzA2RUY4MjNGNDA0RUM5ODNCQzAwRkYwMDNGCis6MTBDOEYwMDA3RkMwMUNGMDEzN0MwMEZGMDQzRkMwMEZGMDAzRjgwMDYyCis6MTBDOTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjAyM0VDMEQwCis6MTBDOTEwMDAwRUIwMDNBQzIwRDg0MDNFQzA4QzkwMEIyQzAwRkIwMDI2Cis6MTBDOTIwMDAzRUM5MERCMDMzRUMwOEZCMDIzRUMwMEZCMDBCNTQwNEZGCis6MTBDOTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCMzAwMkZDMDNDCis6MTBDOTQwMDAwQjMwMTJGQzAwODhBMDJFNDAyODk0MDIyQzEwQkIwNDRGCis6MTBDOTUwMDAyREMwMjhCMDAyRUMwMEJCMDAyRUMwMEI3MjA2MzIwMEM2Cis6MTBDOTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTZDMDBCMzAwMkNFMDc3Cis6MTBDOTcwMDAwQTEwMDJDRDAwOTMwMDJDQzAwOEIwMDI0QzAwQjMwMDk2Cis6MTBDOTgwMDAyOEMwMDgzMDAyQ0MwMEIzMDAyQ0MwMEIzMDAyM0EwMEEzCis6MTBDOTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFNDBCNzgwMkRFMjgyCis6MTBDOUEwMDAwQjU4MDJERTAyOTc4MTJGQTAwODY4MDI1RTAwQjc4MTUzCis6MTBDOUIwMDAyRkUwMDg3OTAyREUwMEI3ODEyREUwMEI3ODAyM0MwMDAxCis6MTBDOUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGMzAwM0NDMERDCis6MTBDOUQwMDAwRTMyMDNDQzgwRDMwMDNDQzQwQzM5MDM0QzA4RjMxQTRDCis6MTBDOUUwMDAzQ0M2MEQzMDAzQ0UyMEYzMDgzQ0MwMEYzMDAzNTIwMjhBCis6MTBDOUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREFDMDBGQjAwMkVDMDQ1Cis6MTBDQTAwMDAwQkIwMDNDQzIwRUIwMDNDODAwRkIwNDFBQzAwRkIwMDJFCis6MTBDQTEwMDAzQ0MyMEZCMDAzRUM0MEZCMDAzRUMwMEYzMDAzRDAwNjE5Cis6MTBDQTIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVFMDJDMzgwMzBDRUM4Cis6MTBDQTMwMDAwRDk4MDNBQ0EwQzM4MEIyQzAwRkIwMDNFQzAwRkIwMEE0Cis6MTBDQTQwMDAzRUQyNEZCMDA5MkUwODRCMDEzRUMwMjRCMDAzRUEwMDhECis6MTBDQTUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDA4NzAxMjFDMDA4Cis6MTBDQTYwMDA0ODUwMTI0QzAwODcwMDM1QzA0QjYwMDJEQzA0QjcwMTBGCis6MTBDQTcwMDAyREMwMEI3MDAyMUMwMDg3MDAyREMxMEM3MjAyRjIwNDQ1Cis6MTBDQTgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDA4NzgwMjNFMERFCis6MTBDQTkwMDAwOEY4MDJERTgwOEY4MTIxRTA0Qjc4MTJERTA0Mzc4MEI3Cis6MTBDQUEwMDAyREU4MEJGODAyM0UxODg3ODAyRkUwMDk3OTAyRTAwMDlDCis6MTBDQUIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDA4MzAwQTBDMDRCCis6MTBDQUMwMDAyODMwNDI0QzAwODMwMDI0QzAwQjM4MDZDQzA0QjMwMDRECis6MTBDQUQwMDAyQ0MwMEIzMDAyMEMwMjgzMDAyQ0MwMDgzMDAyRDIwNEEwCis6MTBDQUUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBDQTAwMzE4MEY2Cis6MTBDQUYwMDAwOEUwMDI5ODAyQ0UwMDMzODQwQkVBMDNFODAwQkEwMDkzCis6MTBDQjAwMDAzRjgxMEZBMDAzMjgwMENBMDAzRTgwMERFMDAzRkEwNDE1Cis6MTBDQjEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDBGODAwM0UwMDU3Cis6MTBDQjIwMDAwRTg0MjNBMDAwRjgwMDNBMTAwRjgwMDNFMDAwRjgwMDA0Cis6MTBDQjMwMDAzRTEwMEY4MDEzRTAwMEY4MDAzRTAwMEQ4MDAzRDIwMDhECis6MTBDQjQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDFGOTAwM0U0MDQxCis6MTBDQjUwMDAwQzlBMTNFNDAwQzkwMDNFNDAwQzk4MjNFNDgwRjkwMENECis6MTBDQjYwMDAzRTQwMkM5ODAzNjQwMEY5MDAzRTQwMEM5MDAzQzIwNDQwCis6MTBDQjcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDRCOTAwMkU0MDcyCis6MTBDQjgwMDA2ODlDMjJFNDAyODkwMTdDNTA4RDk4MjJFNDgwQjkyMEJGCis6MTBDQjkwMDAyRTUwNDgxMDBCMjUwMEI5NDQyQzQwMjg5MDAwRTAwMDhFCis6MTBDQkEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTAwMkU1MEZECis6MTBDQkIwMDAwODkwMDJFNDA0ODkwMDJFNTAwQTkyMDJFNDAwQjkwMEIxCis6MTBDQkMwMDAyQzQwMDg5MTAyMjQwMEI5MDAyRTQwMDg5MDAyQzYwMEIzCis6MTBDQkQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA1MDBCMTAxMkM0MEU2Cis6MTBDQkUwMDA0ODMwMDJFNDAwODEwMDJBNDA0QjEwMDJDNDAwQjEwMDJBCis6MTBDQkYwMDAwQ0MwMDg5MDAyMEMwMEIzMDAyRTQwNDgxMjAyQzIwMTgzCis6MTBDQzAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBCODAxM0UwMDA4Cis6MTBDQzEwMDAxQzgwMDdFMTUwQzg1MDJFMTQxRTg1MDNFMTQxRjg1MEQ2Cis6MTBDQzIwMDAzRTE0MEM4NTEzMjE0OEY4NTAzRTE0MEM4NTQzRUUwMzQ2Cis6MTBDQzMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxOUM0MDBGOTAwM0U1MUE3Cis6MTBDQzQwMDAwRjUwMDNFNTAwRkQwMDNGNDAxREQwMDNGNDEwRjkwMDM0Cis6MTBDQzUwMDAzRTUwMEY1MDAwOTQwMEY5MDAzRDQwMEY5MTAzRTYwNjRFCis6MTBDQzYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwMUU0NTBDRDAwMzE2MEE5Cis6MTBDQzcwMDAwNEQwMDMzNjgwQzE0MjJFNTAxRjk0MDNFNTAwRTkwMjIwCis6MTBDQzgwMDAyRTcyMEE5MDIyMDUwOEU5NDAzRTUwNDA5QzAzMjYwMDdGCis6MTBDQzkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEMyODI4ODAwMjIxNUQ5Cis6MTBDQ0EwMDAwODgwMDIyMzU4ODhBMDJFMjgwQkFBNDJFMjgyODg4MDlFCis6MTBDQ0IwMDAyRTM4Mjg4ODAyMjI4MEI4QTAzQTI4MDhDRDAyMEUwNDE3Cis6MTBDQ0MwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDA4MTAwQTY0MEZDCis6MTBDQ0QwMDAyODEwMEEyNDI2OTUwMDBENDAwQjUwMDI3NDAwODUwODg4Cis6MTBDQ0UwMDAyRjQwNzlEMkFBMTQwMEE1MDEyRjQwMzg1MDAyMTIwMTFBCis6MTBDQ0YwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDQ4OTAwMjY0MDAwCis6MTBDRDAwMDAwODkxMDIyNDEwOUQwODJGNDAwQkQwMDJGNDAwOEQwMkUwCis6MTBDRDEwMDAyRjQwMDlEMDAwMzQwMEJEMDAwQjQwMTg3MDAyMDYwNEZCCis6MTBDRDIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUM0MDBDOTA1MzY0MUU1Cis6MTBDRDMwMDA0QzkwNjMyNDAwRDkwMDNFNDAwQjkwMDM0NDA4QzkwMDg2Cis6MTBDRDQwMDAzRTQwMTUxMDAzMjQwMEU5MDAzQzQwMEM5MDAzMjgwNEU5Cis6MTBDRDUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDRGOTAwM0E0MDFGCis6MTBDRDYwMDA0Rjk4MDNFNDAwRTk5OTNFNDA0RjkwMDNFNDIwRjkwQTBDCis6MTBDRDcwMDAzRTQwMEU5MDQzNjQyNEY5MDgzQTQyMEY5MDhCREEwMDRCCis6MTBDRDgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBDODAwMTIwMDkxCis6MTBDRDkwMDAwQzgwNDNFMDAwQzg0MDMyMDAwRjg0NTNFMDEwRjgwMERDCis6MTBDREEwMDAzRTAwMEQ4MDIzMjAwMEQ4MDAzRTAwMEY4MDAzMEEwNEJGCis6MTBDREIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM4MDI4MjAwQTE4ODQxCis6MTBDREMwMDAwODYwMjJDODAwOEE0MDM2QTEwQkEwMDJFOTEwQkE0NENDCis6MTBDREQwMDAyQzgwMENBNDEyMjkwMjhBNDQyRTk4MEJBNDAyMEEwMDZCCis6MTBDREUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMTA4MzAwMjBFMEY3Cis6MTBDREYwMDAxODMwOTJDNDA4OTM0MDIwRTAwQjMwMDJDRDAwQjM0MEJECis6MTBDRTAwMDAyQ0MwMEIzQTQyQ0QwMDgzNDAyQ0QwMEIzODAyNEEwMDk0Cis6MTBDRTEwMDA1MDAwMDAwMDAwMDAwMDAwQTA0MTFDMDA4NzAwMjFDMDVECis6MTBDRTIwMDAyODcwMDJEMTAwOUQ4MDI1QzI0QjYwMDJEQzA4QjcwMjQ5Cis6MTBDRTMwMDAyQ0MwMEE3NDAyRkUwMDg3MDAyREMwMEIzNDAyNjgwMDZCCis6MTBDRTQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBDNzg0MzFFMDc4Cis6MTBDRTUwMDAwQzY4MDNENjAwOTc4MDMxQTAwRjU4MTNERTA4Rjc4MkM0Cis6MTBDRTYwMDAzREEwMEZGODBCREUwMEM3ODAzREUwMEY3ODhCNkEwMjEzCis6MTBDRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFEODBGMzAwM0VDMTZFCis6MTBDRTgwMDAwRkEwMjNDMDAyRTkwMDNFODEwRjgwMDNFQzAwRkIwMEVECis6MTBDRTkwMDAzRUMwMERCMDEzMkMwMEVCMDAzRUMwMEZCMDAzODIwMjY5Cis6MTBDRUEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZGMzJDNzgwMzM2MDEyCis6MTBDRUIwMDAwRjc4MDMzRUM4NEU4MDIzNjQwQ0Y4MDMzQTAwQ0U4MEZFCis6MTBDRUMwMDAxM0VDMDZEODAzM0EwMERFODAzM0E0MENDODAzRDAwMDZDCis6MTBDRUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDA4NzEwMDFDMDM1Cis6MTBDRUUwMDAwQjcwMDIxODUwODQwMDJCNDQwODYwMTI5ODAwODYxM0JGCis6MTBDRUYwMDAyMUM0ODg1MDAyMTg4MDg2MDAyMTgwMDg2MTAyRUEwNDVCCis6MTBDRjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDA4NzAwMjE0MDNECis6MTBDRjEwMDAwQkYxMDI1QzgwMDYwMDIxMDA4OEQwMDI1QzAwODcwMEQzCis6MTBDRjIwMDAyMDg5OEFGMTAyMUMwODg3MTAyMTgxODg0ODAyQzYwMEU2Cis6MTBDRjMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMTA4MzA0QTBDMUQ5Cis6MTBDRjQwMDAwQjMwMEE0ODBDODgwNjYwMzgwODA0NDJFQzAxOEIwNDU4Cis6MTBDRjUwMDAyMkMxMDgzMDBBMkMwMDhCMDAyMjgwMDAyMDAyRDgwNDU1Cis6MTBDRjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBDMzAwMjI4MEIzCis6MTBDRjcwMDA4RjkwMDM2NDBBQ0IwMkIyRjIyMDM1MTI2NDBBQzkwMDEyCis6MTBDRjgwMDBCMjQwMEVBMDAzMjQwQUM5MDBBMjQwMkNBMDAzRUUwNDY0Cis6MTBDRjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjAwM0M4MDBFCis6MTBDRkEwMDAwRjkwMDNBNTAwREI0MDNFRDA0REI0MTNBNDA4RkIwMTU1Cis6MTBDRkIwMDAzRUMwMUNBMDAzNkMwMEZCMDQzRTUwNEZBNDAzRTAwMEU1Cis6MTBDRkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGRjAwMzNDMDMyCis6MTBDRkQwMDAwQ0U4NDMyNjAwREY4MEIzRTAwRkY4MDM3QzAwQ0QwMEFGCis6MTBDRkUwMDAzMzA0MENFMDIzMzQ0MENEMDAyMzQwMENFMDAzRTAwNDg0Cis6MTBDRkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMTBCQjAwQTJEMkQxCis6MTBEMDAwMDAwODI4MDIwNDYwOEIxOTIyQzYwRUIxOEEyRTQwOEI5MDJDCis6MTBEMDEwMDAyMkMxMDhBNDgyMkMwMDhCOTAyMjY0NDhBNDAyRTAwMDY0Cis6MTBEMDIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDBCQjAwMjIwMDYyCis6MTBEMDMwMDAwODkxMkUyNDAwOUIwMDIyQzA4QkIwMTIyMDA0ODgwMDhGCis6MTBEMDQwMDAyMjQwMDgxMDIyMjAwMDg4MDEyQUQwMDg4MDQyRTAwMEY3Cis6MTBEMDUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBCMzA0MjA4MDIxCis6MTBEMDYwMDAwODEwMDYwNDEwODMwMDIwQzA4QkIwMTIwMDAwODIwMDVDCis6MTBEMDcwMDAyMEMwMjgxMDQyMDkwNjgyMDAyOEMwMDgyMDAyQzIwMUYwCis6MTBEMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDdDMDBCQjAwMzI0MEVBCis6MTBEMDkwMDAyQ0IwMDMyNDAwRDMwMDMyQzA1RkI1MDMwQzAyQzEwMEUyCis6MTBEMEEwMDBCMjAwMENCMDBCMDUwMEMxMDBCOEMwMkM4MDEzRTAwMzI3Cis6MTBEMEIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxRERDMDBGRjAwMUZDMEE5Cis6MTBEMEMwMDA4N0YwMDFGNDAwRkYwMDNGQzAwRTcwNDNGQzEwN0YwMEFBCis6MTBEMEQwMDAzRkMwMEY3MDAzRkMwMEZGMDAzN0MwMEZFMDAzRTgwNkZECis6MTBEMEUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYxODRGRTYxMzFEODJFCis6MTBEMEYwMDAwQ0IyQzNGQ0UwQ0M4MDdCQzAwRUYxMDM3Q0UwQ0M4MzlGCis6MTBEMTAwMDAzRjIwMEZGMENCMzI0NERDODQzRjI1NENGMjQzMzAwMDBCCis6MTBEMTEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEU0NDhCMDEwMjJEQzI1Cis6MTBEMTIwMDAwOEI2MDJGRDkyODg4NTIzRjQ0MEYxMDJFRDAwODgyREI3Cis6MTBEMTMwMDAwRTYwMEJCQzEyMkMxMEE4ODIyRTAwMEFGQzIyQTAwNDQ4Cis6MTBEMTQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUMwODBCMzIyMjhDMDI1Cis6MTBEMTUwMDAwODMwODJDQzAxODgwMDJDQzA0QTMyMDJDQzAwMDEwMTg4Cis6MTBEMTYwMDAyODAwNEJCMDAyQTAwMDgwMDAyQzA5MDgzNDAyNjIwMUE0Cis6MTBEMTcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDRCMjEwMkFDMTBECis6MTBEMTgwMDAwOEIwMDJFQzEwODk4MDIyQzAwOEIwMDJFQzA4ODgwMEM4Cis6MTBEMTkwMDAyRTQwODNCMDAyQTA0MEI5ODAyQzIxMEFCMDAyRjAwNEQ2Cis6MTBEMUEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBGQTAwQkFDMDZBCis6MTBEMUIwMDAyQ0IwNDNFQzAwQzA4MDNFQzA4RUIwMDM0QzBDQzgxMEI1Cis6MTBEMUMwMDAzRTgwOEZCMDAzODIxMEQ4ODIzRTI4MENCMDBCNTAwNEYyCis6MTBEMUQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI2ODBGRDAyMzdDMUQxCis6MTBEMUUwMDAwRkIwMDNGQzAwRkQwMDNFQzAwRkIwNTNGQzAyRkYwMTc2Cis6MTBEMUYwMDAyRkE0OEJGMDgzN0MwMEFEMDIyRjQwMDM3MDAzQjgwMDk2Cis6MTBEMjAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjA0MzJDMEQxCis6MTBEMjEwMDA0Q0IwMjMyQzAwRjg0MDNFQzIwQ0IwMDMyQzAwRkI0MTY0Cis6MTBEMjIwMDAzMkMyMEZCMDQzMkQwMEM4NTAzRTQwMENCMDBCMTAwNDZBCis6MTBEMjMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJGOTBCOTUwMDNDMDc2Cis6MTBEMjQwMDAxOEYwMUEzQzAwQjkzMjJERTAzOEYwNjAzQzA0RjkwMEM3Cis6MTBEMjUwMDAzRUYwMEI3QzgwMkMwMEQ5QzAyRTQwMERGMDAyMzIwMDM1Cis6MTBEMjYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRCMjRCMjEwMDJDMUE1Cis6MTBEMjcwMDAyODMwMDI2QzA0QjJDMTJDQzAwODMwMDAwQzAwQjIwMDhGCis6MTBEMjgwMDAyODI0MDMzQzBBMDAwMDgyQzgyQ0EwMDgzMDAyMzgwMDgxCis6MTBEMjkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2MDBCNDgwMjFFNENFCis6MTBEMkEwMDA0ODdCMDI1RTAwQjY4MDZERTI0ODc5MjIxRTQwQUM4NDY1Cis6MTBEMkIwMDAyREUwMEJGQTAwNTI0MDk2ODAyREU4MTkzODAyMDgwMDQ0Cis6MTBEMkMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4NDBGMzEwQjBDNDBGCis6MTBEMkQwMDAwODNBMDI0QzkwRjMxMDNDQ0MwODMxMDMwQzQ5QjA0MEEyCis6MTBEMkUwMDAzMDA1MEYzMDA3MjE0MDQzMDEzRUMyMUMzMDQzMTIwMjdCCis6MTBEMkYwMDAwMDAwMDAwMDAwMDAwMDAwNDAwREJDMTBGQzEwM0ZDNTA1Cis6MTBEMzAwMDAwRkYxMDFCQzA0RkYwNDNGQzQwRkIxNEJGQzY0RjcwMEY0Cis6MTBEMzEwMDAzN0MwMEY3MjUzQUM0NEZGMDEzRkM5MEZGNDAzRDAwNjZFCis6MTBEMzIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDhGQTAwM0VFMEU0Cis6MTBEMzMwMDAwQ0IwMDMyQzAwQ0IwMjNFQ0EwRkIyMDcyRTAwREIwMjVBCis6MTBEMzQwMDAzMjA4MEYzMTAzMkMwMENCMDQzRTgwMEMzNTAzMkEwMDM5Cis6MTBEMzUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDBCNTAwMkRDOEM2Cis6MTBEMzYwMDAwODcwMEExQzIyODcwMDJEQzkwQkYyODI5QzgwQTYwMDNGCis6MTBEMzcwMDAwOThCMEI3MDBBMUMwMjg1MDAyRDQwMDg3MDAyOTIwNDc0Cis6MTBEMzgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzgwMkNFQzkwCis6MTBEMzkwMDAwODdCMDI1RTQwODU4OTJERUM4QjdCMDI0RTg0OEY4MDVBCis6MTBEM0EwMDAyNTY0MEJGQTAyMTIwODk3ODA2RkUxMDg3QTAyMzAwMEI4Cis6MTBEM0IwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMjBCMzY0MkNDMDAyCis6MTBEM0MwMDAwODMwMDYwQzEwODM4QTZDQzA1QjMwNDJDQzAwQUIxMDc2Cis6MTBEM0QwMDAyQ0YyMEIzMDAyMEQwMDkzMDQyQ0Q1MDgzMDBBOTIwNDc1Cis6MTBEM0UwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJCMDBGRUMwM0U4MEQ5Cis6MTBEM0YwMDAyQ0EwMDM2ODAwQzY0MDNGODAwRkEwMDI2ODAwQ0U0NDA2Cis6MTBENDAwMDAzNjkwNEY2MDAzMUI3MERFRDgzRkEwMEMyMDAzM0EwNDE3Cis6MTBENDEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwNDBGODEwM0UwMEZFCis6MTBENDIwMDAwRjgwMDNBMDEwRjg0MjNFMTAxRjgwMDNBMDAwRTgwQ0ZDCis6MTBENDMwMDAzQTA0MUY4MDAzRTAwMEU4NDU3RTAyMkY4MDAzRDIwMEZCCis6MTBENDQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMDY0MDBFOTgwMzI0MDU1Cis6MTBENDUwMDAwRjkwMEIwNDA4RDk4MDM2NDAwRjEwMTMyNDA4RjkwMEYwCis6MTBENDYwMDA3MjcwMEY5MTEzMjQxMEM5MTAzRTY5MEM5MDAzMDIwNENFCis6MTBENDcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDhCOTgwMjI0MEYxCis6MTBENDgwMDAwQjEwMDIyNDAwODlDNDIyNTIwQjkwNDIyNDAwQjkwMEUwCis6MTBENDkwMDAyMkUwMEI5MDEyMjQwNEQ5NEEyRTYwMDg5MDAzNjAwMDA5Cis6MTBENEEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCMTE4MjI0MDAwCis6MTBENEIwMDAwQjkwMDIyNDAwOEIyMDI2NDkwQjkwMDI2NDAwQjkwMEQ3Cis6MTBENEMwMDBBMjQwMEI5MDhBMjQwMDhCMDAyQzQwQTg5MDAyMDYwMEZBCis6MTBENEQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODRCMTIwQTA0OEJGCis6MTBENEUwMDAwQjExMDYwNDAwODMwMDAwNDA0QjExMDIwNDQ5QjExMEU3Cis6MTBENEYwMDAyODQwMEIxMDAyMjQ0MTkxMDAyQzUwMDgxMDAyNDIwMUQ4Cis6MTBENTAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDY5NDBFODUwMzIxNDJGCis6MTBENTEwMDAwRjg2OTMyMUUyQzgwMDM2MEEwQjg2OEI2MUE4Rjg0MDdCCis6MTBENTIwMDAyMjgwMEY4MkEzMjEwOEM4MDIzRTAwMEM4MDQzMkUwM0Y0Cis6MTBENTMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDhGRDEyM0U0NDE5Cis6MTBENTQwMDAwRjEyMDNDNDAwN0QwMTFFNDAwQjkyMDNFNDgwRjUyMEZFCis6MTBENTUwMDAzNjQwMEY5MDAzRDQ5MDdEMDAzRDQwMEY5NDAzRTYwNkMzCis6MTBENTYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwMUY2QzFERDg4MzI3MjcyCis6MTBENTcwMDAwQzk4MDMyNjIyREQwMDNGNjIyQzk5ODM0NkEwQzk0MDA3Cis6MTBENTgwMDBCMjQwMEZEODAzMjQwMEZEMDAzMzUxMkNEODgzMDYwMDhECis6MTBENTkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUzQzI4OEMwMjIzMDk0Cis6MTBENUEwMDAwODhDNDIyMjExOEEwMTJFMDAwODg4NTIyMzAwODBBMzkxCis6MTBENUIwMDAyQTAwNEI4MDQyMjJBMEI4MDAyMjI4MDg4NDAyOEUwNDUwCis6MTBENUMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDA4MTJEMjA0ODQ0Cis6MTBENUQwMDA2ODE0ODAwNDIwODEwMDJFNDAwQjEyMTIwNDI0ODEyMDQ0Cis6MTBENUUwMDAyMDQwMEI5NDMyMDQ5MEI5MDAyMDQwNDgxMDRBMDIwMUI4Cis6MTBENUYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDA4OTIwMjI0MERGCis6MTBENjAwMDAwODkwMTIyNDAwODkwMDJFNDAwODkwMDIyNDA4ODk0MEM2Cis6MTBENjEwMDAyMjUwMEJCMDAyMjQyMEI5MDlBMjQ0MDg5MDAyODYwNENCCis6MTBENjIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBEOTA4QjI0MDJFCis6MTBENjMwMDA0QzEwMjMwNDA0RDlDMTNFNDA4RjkwMEIwNDA4QzE0MDE0Cis6MTBENjQwMDAxMjQwMEY5MDQzMjQwNEYxNDEzMDc4MEM5MDAzMjgwNEQ5Cis6MTBENjUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg2NjRGOTgwM0U0MDUwCis6MTBENjYwMDAwRjkwMEJFNDAwRjk5ODNFNDAyRjEwMDNBNDAyRjkxMDJDCis6MTBENjcwMDAzRTQwMEY5MDBCRTY0MEY5OTAzRTYwMEY5MDAzQ0EwMEM5Cis6MTBENjgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBDODQxMzIwMDI3Cis6MTBENjkwMDAwQzgwMDcyMDEwQzgxMDNFMEMwRTgwMDNFMDA0QzgwMDY4Cis6MTBENkEwMDBCQTAwMEY4MTQzMjAwMEY4NzAzRTAwMEYwMDBCMEEwNEZGCis6MTBENkIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM5MDI4RTIwQTM4MDExCis6MTBENkMwMDAyOEUwMEEzODEwQUUwNDNEQTE4RUUwMDJGODAwOEUwMDdBCis6MTBENkQwMDA3NjgwMEI2MDAzNzgwMEJFNDAyRjgyMEJBMDAzQ0EwMDQ3Cis6MTBENkUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTREMDA4Qjg4MjJDMDhCCis6MTBENkYwMDAxODMwMDIwQzAwODM0NDJDRDAxQjMwMTJDQzA2ODMwMDVGCis6MTBENzAwMDAyMEMxMEIzMDgyMEMwMUIzMDAyQzQwMEIzMDAyMEEwMDA4Cis6MTBENzEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDA4NTAwMjBDQzhCCis6MTBENzIwMDAwODcwMDYxQzg0QTcwMTI5QzAwQjcyMjJEQzgwODczNDk0Cis6MTBENzMwMDA2MTgwMEIxMDAyNUMwMEI3MDAyREMwMEI3MDAyRTgwMDg2Cis6MTBENzQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODBFMDA4QzgwMzFFMEJFCis6MTBENzUwMDAwQ0ZFMDIzRjAwQzU4MDJERTAwRTc4MDNERkEwQzdBMEJECis6MTBENzYwMDAyMTYwMEY3ODAzMUU4MEY3ODAzREUwMEY3ODAzMkEwMkM2Cis6MTBENzcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGOTAwM0VDMEUxCis6MTBENzgwMDAwRkIwMDNFQzAwRkEwMDNFQzAwNkIwMDNFQzgwRkIyOEFCCis6MTBENzkwMDAzNkQ4NEZBMDAzRUMxMEZBMDAzRTUwMEYzMDAzQzIwNkZCCis6MTBEN0EwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZBMDBDQzgwQjNFMDNCCis6MTBEN0IwMDAwRkY4MDMzRTAwQ0Y5MDNGNjA0RkY4QzMzRTAwRUY4MDZDCis6MTBEN0MwMDAzM0YwMEM3QTAzM0U3MEM1OTAzM0YxMEM3ODAzMDAwMEZGCis6MTBEN0QwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMUI4MDA4NzAwMjFDMDAwCis6MTBEN0UwMDAwQjcwNEExQzAwODcxMDJEQzA0QjcxMEEzQzQ0OEYxMkVECis6MTBEN0YwMDAyMTg2MEQ3MjAyMUUwMDg3MDAyMzQwMDg3MDBBMkEwNDQ5Cis6MTBEODAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDA4NDAwMjVDMEIzCis6MTBEODEwMDAwQjcxMEEwQzAwQTcxMjJEODQwQjcwMEExQzAwQjcwOEFDCis6MTBEODIwMDAyMzQwMDlGMzFBNUM4Njk3MDgyNTQwMDg3MDAyMDAwMDFGCis6MTBEODMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMjA4MTIwMjZDMDIxCis6MTBEODQwMDAwQjMwMDIyQzAwODI0MjJDODAwQjMwMjIwQzA4OUI4MDczCis6MTBEODUwMDAyMEUwMDkyMDAyNEQwODkyMDAyNEU1MDgzMDBBMDgwNDVGCis6MTBEODYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFFODJDQUUwQjdDMDdBCis6MTBEODcwMDAwRkYwMTMzQzBBQzlDODNFNDAwRkYwMDMzQzA0RkY4NDdDCis6MTBEODgwMDAzMkMwMEQ5MDEzN0MwMEQ5MDBGNkMwMkMxMDAzMkEwNDdFCis6MTBEODkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU0MDBGMzAwM0FDMUQ2Cis6MTBEOEEwMDA0RkIwMDNFQzAwRjkwODNDMDAwRjMwMTNFQzAwRUIwNDIwCis6MTBEOEIwMDBCRTE4MEY5MDIzQUM2MEU5MDIzQTQwNEY5MDAzRTAwMDlECis6MTBEOEMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBDQTAwMzNDMDVFCis6MTBEOEQwMDAwQ0YwMDNGQzAwQ0QwMjdGNDAwQ0YwNDIzQzAwQ0YwODZFCis6MTBEOEUwMDAzNzEwMEZEMDAzRkMxMENEMDgzRjY2MkNEOTAzMDA0NDNECis6MTBEOEYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDYzODA4QkUwMjJDMDQzCis6MTBEOTAwMDAwOEIwMjJFQzAwRDg4MDZFMjA2OEIwMUEyQzAxRkIwMDExCis6MTBEOTEwMDAyMjE4MEI4ODQzNEMwMDg4QTAyQ0MwMUQ5MDAyMjA0MDg4Cis6MTBEOTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwMTA4ODA4QjIwMjJDMDUxCis6MTBEOTMwMDAwOEIwMjJFQzAwODg4ODJFNjI0OEIwMUFDQzAwOEIwMDE4Cis6MTBEOTQwMDAyNkMwNEE4ODAyRUMwMDA4ODQyRTQwMDk5MDAyMjAwMDdDCis6MTBEOTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDA4MzAwNjBDMEQ4Cis6MTBEOTYwMDAwODMwMDJDQzAwOTAwNjZDMDAwODMwMDI4QzAwQTMwNDQyCis6MTBEOTcwMDAyMDAwOEIwMDA2NEMyMTgwMDA2Q0MwNDkxMDBBMDIwMTc3Cis6MTBEOTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDQTAwQjJDMUUxCis6MTBEOTkwMDA4OEI0MDNFQzEwQzgwMDJFMDAwQ0IwMEJCQzA4OEYwMDNDCis6MTBEOUEwMDAzNjAwMDY4MDAzRUM4MEM4MDIzRkMxMEM5MDAzMDAwM0UwCis6MTBEOUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREYwMDBGRjAwM0ZDMDZDCis6MTBEOUMwMDAwRjcyODNGQzE4RkMwMzNGMDA4RjcwMDM3QzAwRkYwMDg0Cis6MTBEOUQwMDAzRDAwMEZDMDIzOEMwNkZDMDAzRjQwMEVEMDAzRTgwNjNDCis6MTBEOUUwMDA3MDAwMDAwMDAwMDAwMDAwMDBDNTQxMDM3MDQwREMxMDIyCis6MTBEOUYwMDAzNzA0MERDMTAzNzA0MERDMTAzNzA0MERDMTAxNzA0MEM1Cis6MTBEQTAwMDA5QzEwMTcxNDA1QzEwMzcwNDBEQzEwMTcwNDBEQzAzMUMxCis6MTBEQTEwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ0MDU3MTAxNUM0MEVBCis6MTBEQTIwMDA1NzEwMTVDNDA1MjEwMTVDNDA1NzEwMTVDNDAxNzEwMTQwCis6MTBEQTMwMDA1QzQwMTcxMDA1QzQwNTcxMDU1QzQxNTcxMDE1QzAxMUY1Cis6MTBEQTQwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDAyMDEyMDgwNDgyMEZCCis6MTBEQTUwMDAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MERDCis6MTBEQTYwMDA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTIwODA0ODAyMEU3Cis6MTBEQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMDA2MDAwNTgwMDZFCis6MTBEQTgwMDAxNjAwMDU4MDAxNjAwMDU4MDAxNjAwMDU4MDA1NjAwMDQyCis6MTBEQTkwMDA1ODAwMTYxODAxODAwMTYwMDA1ODAwNTYwMDA1ODAyMENCCis6MTBEQUEwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ4MDUyMjAxMUM4MEE1Cis6MTBEQUIwMDA0NzIwMTFDODA0NzIwMTVDODA1NzIwMTFDODA0NzI0MUNDCis6MTBEQUMwMDA1QzgwNTcyMDExQzgwNDcyMDExQzgwNDcyMDE1QzAzMUFBCis6MTBEQUQwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQwMDA2MDAwMTgwMDc5Cis6MTBEQUUwMDAwNjAwMDE4MDAwNjAwMDE4MDAwNjAwMDE4MDAwNjAwMDUwCis6MTBEQUYwMDAxODAwMDYwMDAxODAwMDYwMDAxODAwMDYwMDAxODAzMTU3Cis6MTBEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ4MDQyMjAxMDg4MDU5Cis6MTBEQjEwMDA0MjIwMTA4ODA0MjIwMTA4ODA0MjIwMTA4MDA0MjMwMTQyCis6MTBEQjIwMDAwODgwNDIyMDEwODgwNDIyMDEwODAwNDIyMDEwODAyMTMxCis6MTBEQjMwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTRBMDU0MjgxNTBBMDFFCis6MTBEQjQwMDA0NDJDMTEwQjA0NDI4MTEwRTA1NDI4MTEwMjAwNDI4MTQwCis6MTBEQjUwMDAxMEEwNDQzODExMEIwNTQyODExMDIxMTQyODE1MDAzMTAyCis6MTBEQjYwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDBDMDE1NzAwNTRDMDZECis6MTBEQjcwMDAxNTMwMDQ0QzAxMTMwMDU0QzAxNTcwMDU0QzAxNTMwMEJFCis6MTBEQjgwMDA1NEMwMTUzMDg1NEMwMTEzMDA1NEMwMTUzMDA1NDAyMTk4Cis6MTBEQjkwMDA0MDAwMDAwMDAwMDAwMDAwMDA4MDAwMDA0MDAwMTAwMDc1Cis6MTBEQkEwMDAwNDAwMDA0MDAwMTAwMDEwNjIwNDAwMDEwODA0NDEwMDVECis6MTBEQkIwMDAxMDAwNDQxODExMDAwMDEwMDAxMDgwMDQwMDAxMDEyMDIyCis6MTBEQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTYwMDIwODAwODIwMDI0Cis6MTBEQkQwMDAyMDgwMDg2MDAyMTgwMDgyMDAyMDgwMDgyMDAwMDgyMEIxCis6MTBEQkUwMDA4MjAwMDA4MDgwMjAwMjE4MDA4MjAwMjA4MDA4MDEzMTFECis6MTBEQkYwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQwMDU2NDAxNTgwMDBFCis6MTBEQzAwMDA1NjAwMTU4MDA1NjAwMTU4MDA1NjQwMTU4MDA1NjAwMURBCis6MTBEQzEwMDA1ODAwNTYwMDE1ODAwNTYwMDE1ODAwNzYwMDE1ODAzMUM3Cis6MTBEQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQwMDM2MDAwRDgwMEI0Cis6MTBEQzMwMDAzNjAwMEQ4MDAzNjAwMDk4MDAzNjAwMUQ4ODA1NjAwMEU2Cis6MTBEQzQwMDBEODAwMTYwMDBEODAwMzYwMDBEODgwNDYwMDBEODAzMTlBCis6MTBEQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQyMDQzMDgxMEMyMERDCis6MTBEQzYwMDA0MzA4MTBDMjA0MzA4MTBDMjI0MTA4MThDMjA0MzA4OUQ0Cis6MTBEQzcwMDAwQzIwMDMwODEwQzIwNDMwODEwQzIwNDMwODEwQzAxMDhGCis6MTBEQzgwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDAwMDAzMDAwMEMwMDg4Cis6MTBEQzkwMDAwMzAwMDBDMDAwMzAwMDBDMDAwMzAwMDBDMDAwMzAwMDkyCis6MTBEQ0EwMDAwQzAwMDMwMDAwQzAwMDMwMDAwQzAwMDMwMDAwQzAwMUE1Cis6MTBEQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAyMDEzMDgwNEMyMEM1Cis6MTBEQ0MwMDAxMzA4MDRDMjAxMzA4MDRDMjAxMzA4MDRDMzAxMzA4MEMzCis6MTBEQ0QwMDA0QzIwMTMwODA0QzIwMTMwODA0QzMwMTMwODA0QzAyMUNBCis6MTBEQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQyMDU2MDgxNTgyMENGCis6MTBEQ0YwMDA1NjA4MTE4MjA1NjA4MTU4MjA1NjA4MTE4MzAwNjA4MTAyCis6MTBERDAwMDA1ODIwNDYwODExODIwNDYwODExODMwNTYwODE1ODAzMDZBCis6MTBERDEwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQyMDAyMDgwMDgyMEU0Cis6MTBERDIwMDAwMjA4MDA4MjAwMjA4MDA4MjAwMjA4MDA4MjAwMzA4MDYzCis6MTBERDMwMDAwODIwMDIwMDAwODIwMDIwODAwODIwMDMwODAwODAzMUIzCis6MTBERDQwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQyMDQ2MDgxMTgyMEFGCis6MTBERDUwMDA0NjQ4MTE5MjA0NjA4MTE5MjA0NjI4MTE4MjAwMzQ4MUJFCis6MTBERDYwMDAxODIwNDY0ODExOTIwNDYwODExODIwNDMwODExODAxMTQwCis6MTBERDcwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTYwMDQ1ODAxNTYwMENCCis6MTBERDgwMDA1NTgwMTU2MDA0NTgwMTE2MDA1NTgwMDE2MDA0MTgwMTgzCis6MTBERDkwMDA1NjAwNDU4MDExNjAwNDU4MDExNjAwNDE4MDExNDAzMTQxCis6MTBEREEwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDA2MDE0MTgwNTA2MDJCCis6MTBEREIwMDAxNDE4MDUwNjAxNDE4MDUwNjAwNDE4MDUwNjAwNDE4MEQyCis6MTBEREMwMDAxMDYwMTQxODA1MDYwMTQxODA1MDYwMTQxODA1MDAyMEU5Cis6MTBEREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDEwMDgwNDAyMDYwCis6MTBEREUwMDAxMDQ4MDQxMjAxMDA4MDQxMjAxMDA4MDQwMjAxMDQ4MDQwCis6MTBEREYwMDA0MDIwNTA0ODA0MTIwMTAwODQ0MDIwMTAwODA0MDAyMEY0Cis6MTBERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ2MDM1MTgwRDQ2MEZGCis6MTBERTEwMDAzMDE4MEQ0NjAzNTE4MEQ1NjAzNTE4MEQ0NjAzMDU4MDM2Cis6MTBERTIwMDBENDYwMTUxODBENDYwMzExODBENDYwMzUxODBENDAzMUFCCis6MTBERTMwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQ2MDU3MTgwNUM2MEQ1Cis6MTBERTQwMDA5NzE4MTVDNjA1NzE4MTVDMjA1NzE4MTVDNjAzNzA4MTk3Cis6MTBERTUwMDA1QzYwNTcxODExQzYwNTMxODE1QzYwNzcxODE1QzAzMUI4Cis6MTBERTYwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQ2MDM3MTgwREM2MEY3Cis6MTBERTcwMDAzNzE4MERDNjAzNzE4MERENjAzNzE4MDVDNjAxNzU4MTNFCis6MTBERTgwMDBEQzYwMzcxODBEQzYwMzcxODQ1QzYwMTcxODE5QzAxMTY3Cis6MTBERTkwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQ2MDU3MTgxNUM2MDQ0Cis6MTBERUEwMDA1NzE4MTQ4NjA1NzE4MTVDNjA1NzE4MDVDNjA0MzE4MUM2Cis6MTBERUIwMDA1QzYwNTcxODE1QzYwNTcxODA1QzYwNDMxODE1QzAxMTY5Cis6MTBERUMwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAyMDEyMDgwNDgyMEY3Cis6MTBERUQwMDAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxNzA4MDA4Cis6MTBERUUwMDA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTcwODA0ODAwMDdFCis6MTBERUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDE2MTgwNTg2MDgyCis6MTBERjAwMDAxNjE4NDE4NjAxNjE4MDE4NjAwNjNDMDU4NjA0NjE4MDEwCis6MTBERjEwMDAxODYwMTYxODAxODYwMDYxODA1ODYwNTYxODE1ODAxMDI4Cis6MTBERjIwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQwMDU3MDAxNUMwMDlBCis6MTBERjMwMDA1NzAwMTVDMDA0NzAwMTVDMDA1NzAwMTBDMDA0NzAwMDQ5Cis6MTBERjQwMDAxQzAwNDcwMDExQzAwNDcwMDE1QzAwNDcwMDAxQzAxMUIzCis6MTBERjUwMDA1MDAwMDAwMDAwMDAwMDAwMDA0NTQyMDA2MDgwMTgyMEQyCis6MTBERjYwMDAwNjA4MDE4MjAwNjA4MDE4MjAwNjA4MDA4MjAwNjA4MDk4Cis6MTBERjcwMDAxODIwMDYwODAxODIwMDYwODAxODIwMDYwODAxODAxMTIwCis6MTBERjgwMDA0MDAwMDAwMDAwMDAwMDAwMDAwNTQyMDQyMDgxMDgyMDNECis6MTBERjkwMDA0MjA4MTA4MjA0MjA4MTA4MjA0MjA4MTE4MjA0MjA4MDU3Cis6MTBERkEwMDAwODIwNDIwODEwODIwNDIwODEwODIwNDIwODAwODAxMUM1Cis6MTBERkIwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQyMDU0MDgxNTAyMEE0Cis6MTBERkMwMDA1NDA4MTUwMjA1NDA4MTEwMjA1NDBDMTU0MjAwNDA4MTcwCis6MTBERkQwMDA1MDIwNDQwODExMDIwNTQwODExMDIwMTQwODA1MDAxMTRBCis6MTBERkUwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMTAzMDE1MEMwNTQzMDQ4Cis6MTBERkYwMDAxNTA4MDU0MjAxNTBDMDU0MzAxNTBDMDU0MzAxNTBDMEFFCis6MTBFMDAwMDA1NDMwMTUwQzA1NDIwMTUwQzA1NDMwMTUwQzA1NDAxMDE5Cis6MTBFMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDA0MjAwMTA4MDI2Cis6MTBFMDIwMDAwNDIwMDE4ODAwNjIwMDEwODAwNDAwMTEwODAwNDIwMEYyCis6MTBFMDMwMDAxMDgwMDQyMDAxMDgwMDQyMDExMDgwMDQyMDAxMDAwMDJCCis6MTBFMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQyMDIwMDgwODAyMDI3Cis6MTBFMDUwMDAyMDA4MDgwMjAyMjA4MDgwMjAyMDI4MDAwMjAyMDA4MDgwCis6MTBFMDYwMDA4MDIwMjAwQTA4MDIwMjAwODAwMDIwMjAwODA4MDAxMUY5Cis6MTBFMDcwMDA1MDAwMDAwMDAwMDAwMDAwMDA0NTQwMDU2MDAxNTgwMDBECis6MTBFMDgwMDA1NjAwMDU4MDA1NjAwMTU4MDg1NjAwMTU4MDA3NjAwMjlCCis6MTBFMDkwMDA1ODAwNTY0MDE1ODAwNTYwMDMxODAwNzYwMDE1ODAxMTYxCis6MTBFMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQwMDM2MDAwRDgwMDMwCis6MTBFMEIwMDAzNjAwMEQ4MDAxNjAwMEQ4MEEzNjAwMEQ4MDA1NzAwOTE5Cis6MTBFMEMwMDBEODAxMzYwMDBEODAwMzYwMDBEODAwNTcwMDBEODAwMDk1Cis6MTBFMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzMDAxMEMwMEZGCis6MTBFMEUwMDA0MzAwMTBDMDAwMzAwMTBDMDA0MzIwMTBDMDA0NjAwMTQ4Cis6MTBFMEYwMDAwQzAwNDM0MDUwQzEwNDMwMDEwQzAwNDYwMDEwQzAwMDI5Cis6MTBFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMDAwMEMwMEQzCis6MTBFMTEwMDAwMTAwMDBDMDAwMzAwMDBDMDAwMzAwMDBEMDAwMjAwMDBGCis6MTBFMTIwMDAwQzAwMDM0MDAwQzAwMDMwMDAwRDAwMDIwMDAwQzAwMEUxCis6MTBFMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDEzMTQwNEM1MENDCis6MTBFMTQwMDAxMzEwMDRDNDAxMzE0MDRDNTAxMzE0MDRDNTExMzE0MTYzCis6MTBFMTUwMDA0QzUwMTMxNDA0QzUwMTMxNDA0QzUwMTMxNDA0QzAwMDNBCis6MTBFMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzMDU2OEMxNUEzMEQ0Cis6MTBFMTcwMDA1NjhDMTFBMzA0NjhDMTFBMzA1NjhDMTFBMzA1NjhDMENGCis6MTBFMTgwMDA1QTMwNDY4QzExQTMwNDY4QzE1QTMwMTY4QzE1ODAwMDkxCis6MTBFMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDgwMDU3Cis6MTBFMUEwMDAwMjAwMDA4MDAwMjAwMDA4MDAwMjIwMDA5MDAwMjAwMEYzCis6MTBFMUIwMDAwODAwMDI0MDAwODAwMDIwMDAwOTAwMDIwMDAwODAwMEVBCis6MTBFMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDQ2MjAxMTg4NDA0Cis6MTBFMUQwMDA0NjIxMTE4ODQ0NjIxMTE4ODQ0NjAxMTE4ODQ0NjIxMDU2Cis6MTBFMUUwMDAxODg0NDYyMTExODg0NDYyMTExODg0MDYyMTExODAwMDg4Cis6MTBFMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU1MDExNTQwNDIxCis6MTBFMjAwMDA1NTAxMTE0MDQ1NTAxMTE0MDA0NTAxMTE0MDQ0NTAwMDgyCis6MTBFMjEwMDAxNDA0NDUwMDE1NDA0NDUwMTExNDA0NTUwMTExNDAwMEU4Cis6MTBFMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MjE0MjA4NTA4MkE5Cis6MTBFMjMwMDAxNDIwODUwODIxNDIwODUwODIwNDIwODUwODIxNDIwOEM0Cis6MTBFMjQwMDA1MDgyMTQyMDA1MDgyMTQyMDg1MDgyMTQyMDg1MDAwMEM1Cis6MTBFMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMDEwMjgwNDBBMDUxCis6MTBFMjYwMDAxMDI4MDQwQTAxMDI4MDQwQTAxMDI4NDAwQTAxMDI4MDAwCis6MTBFMjcwMDA0MEEwMTAyODQ0MEEwMTAyODA0MEEwMTAyODA0MDAwMDk5Cis6MTBFMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMDM1MzAwRDRDMDk4Cis6MTBFMjkwMDAzNTMwMEQ0QzAxNTMwMEQ0QzAzNTEwMEM0QzAzNTMwMEU1Cis6MTBFMkEwMDBENEMwMzUzMDBENEMwMzUzMDBENEMwMzUzMDBENDAwMDgwCis6MTBFMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDU3MjAxNUM4MDAyCis6MTBFMkMwMDAxNzIwMDVDODA2NzIwMTVDODA1NzIwMTVDODAyNzIwMTJDCis6MTBFMkQwMDA1QzgwNTcyMDE1QzgwNTcyMDE1QzgwMzcyMDExQzAwMDkyCis6MTBFMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzMTg0MEM2MTIzMUFBCis6MTBFMkYwMDA4NDhDMjEyMzA4NDhDNjEyMzA4NDBDNjEyMzEwNDhDMjQ0Cis6MTBFMzAwMDAxMjMxODQ4QzAxMjMwODQ4QzYxMjMxMDQ4QzYxMDAwMDRDCis6MTBFMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkY0RkZGRDNGRjlGCis6MTBFMzIwMDBGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRjIzCis6MTBFMzMwMDBEM0ZGRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZEMDAwMENECis6MTBFMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTBFMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTBFMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTBFMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDREIwRkI2QzJDRDQyCis6MTBFMzgwMDBCMEIzNkMyQ0RCMEIzNkMyREZCMEIzNkMyQ0RCMEI3RTc2Cis6MTBFMzkwMDBDMkNEQjBCN0ZEMkNEQjBCMzZDMkNEQjBCMzZDMDAwMEU0Cis6MTBFM0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzM0M0RkNGMTMzMzlBCis6MTBFM0IwMDBDNENDRjEzMzNDNENDRjEzM0ZDNENDRjEzMzNDNENGRkM1Cis6MTBFM0MwMDAxMzMzQzRDRkZEMzMzQzRDQ0YxMzMzQzRDQ0YxMDAwMDI2Cis6MTBFM0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCN0U0RURGOTNCNzBECis6MTBFM0UwMDBFNEVDNzkzQjFFNEVERjkzQkZFNDhERjkzQjc4NEVGRkEyCis6MTBFM0YwMDA5M0I3RTRFREZEM0IxRTRFREY5M0I3ODRFREY5MDAwMENCCis6MTBFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDI3MDQwOUMxMEFECis6MTBFNDEwMDAyNzFDMDlDMTAxMzA0MDFDMTA2NzA0MDlDMTAyNzA0MTZBCis6MTBFNDIwMDA5QzExMDcxNDAxQzEwMjcwNDA5QzUwMDcxQzAxQzAwMEUwCis6MTBFNDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDU3MTAxNUM0MEM1Cis6MTBFNDQwMDA1NzEwNTVDNDAxMzEwMDVDNDA1NzEwMTVDNDA1NzEwMUM3Cis6MTBFNDUwMDBEQzQwMTcxODFEQzQwNTcxMDU1QzQwNTcxMDFEQzAwMDM1Cis6MTBFNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDEyMDgwNDgyMEExCis6MTBFNDcwMDAxMjAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MEJBCis6MTBFNDgwMDA0ODIwMTIwODA0ODIwMTIwODA0ODYwMTIwODA0ODAwMDlECis6MTBFNDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDAwMTgwMDA0Cis6MTBFNEEwMDAwNjAwNDE4MDAwNjAwMDE4MDA0NjAwMDE4MDAwNjAwMDA2Cis6MTBFNEIwMDAxMDAwMDYxMDAxODAwMDYwMDAxODIwNDYxMDAxODAwMDQ2Cis6MTBFNEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQ3MjAxMUM4MDMxCis6MTBFNEQwMDA0NzIwMTFDODA0NzIwMTFDODAwNzIwMTFDODA0NzMwMDcyCis6MTBFNEUwMDAxQzgwNDcyMDExQ0MwNDcyMDExQzgwNDcyMDExQzAwMDAxCis6MTBFNEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDAwMTgwMEE0Cis6MTBFNTAwMDAwNjAwMDE4NDAwNjAwMDE4MDAwNjAwMDE4MDAwNjA0MEUxCis6MTBFNTEwMDAxODAwMDYwNDAxODEwMDYwMDAxODAwMDYxNDAxODAwMDQ0Cis6MTBFNTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQyMjAxMDg4MDM0Cis6MTBFNTMwMDA0MjcwMTA4QzA0MjIwMTA4QzAwMjIwMTA4ODA0MjIwMEJFCis6MTBFNTQwMDAwODgwNDI1MDEwMDgwNDIyMDEwOTAwNDI0MDEwODAwMDU3Cis6MTBFNTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFMDQ0QTgxMTJBMDBDCis6MTBFNTYwMDA0NEE4MTEyQTA0NEE4MTEyQTAwNEE4MTEyQTA0NEI4MDRECis6MTBFNTcwMDAxMkEwNDQ4ODAxMkUwNDRBODExMjIwMDQ5ODAxMDAwMDUwCis6MTBFNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDBFMDA1MzAwMTRDMDhFCis6MTBFNTkwMDAwNTMwMDE0QzAwNTMwMDE0RTAwNTMwMDE0QzAwNTMwMERECis6MTBFNUEwMDAwNEMwMDUzMDAwNEMwMDAzMDAxNEMwMDUzMDAwNDAxMENBCis6MTBFNUIwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDA0MDA0MDAwMTAwMDNGCis6MTBFNUMwMDAwNDU4MDEwNDAwNDAwMDEwMDAwNDAwMDEwMDAwNDEwMDU0Cis6MTBFNUQwMDAwNDAwNDQ1ODEwNDQwMDAwMDAxMTgwMDQ1MDEwNDAzMEUyCis6MTBFNUUwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDQwMDIwMDAwODAwMEExCis6MTBFNUYwMDAyMDAwMDgwMDQwMDAwMDAwMDAyMDAwMDgwMDAyMDAwMDg5Cis6MTBFNjAwMDA4NDAwMDAwMDA4NDAwMjAwMDA4MDAwMjAwMDA4NDAzMDI0Cis6MTBFNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDQwMDA2MDAxMTgwMDc5Cis6MTBFNjIwMDA0NjAwMDE4MDA2NjAwMTk4MDA0NjAwMTE4MDA0NjAwMUU4Cis6MTBFNjMwMDAxODAwNDYwMDExODAwNDIwMDExODAwNjYwMDExODAzMDg3Cis6MTBFNjQwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMTQwMDA2MDAwOTgwMDgxCis6MTBFNjUwMDAyNjAwMDk4MDAyNjAwMTk4MDAwNjAwMEM4MDAyNjAwMDFDCis6MTBFNjYwMDAxODAwMDYwMDAxODAwMjYwMDA5ODgwMDYwMDAxODIwMDA4Cis6MTBFNjcwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQyMDAzMDgxMEMyMEY2Cis6MTBFNjgwMDA0MzA4MTBDMjI0MzA4MThDMjAwMzA4MTBDMjA0MjA4MDZCCis6MTBFNjkwMDAwQzIwMDMwODE4QzIwNDMwODEwQzIwNDMwODE4QzAxMTU0Cis6MTBFNkEwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAzMDAwMEMwMDlFCis6MTBFNkIwMDAwMzAwMDBDMDQwMzAwMDBDMDAwMzAwMDA4MDAwMzAwMDY4Cis6MTBFNkMwMDAwQzAwMDMyMDAwQzAwMDMwMDAwQzAwMDMyMDAwQzAwMDNDCis6MTBFNkQwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTAyMTAzMDgwMEMyMDBCCis6MTBFNkUwMDAwMzA4MDBDMjAwMzA4MDBDMjAwMzA4MDBDMjAxMjA4MDEzCis6MTBFNkYwMDAwQzIwMDMyQzAwQzIwMDMwODAwQzMwNDMyQzAwQzAwMEUyCis6MTBFNzAwMDA0MDAwMDAwMDAwMDAwMDAwNDA0NTQyMDQ2MDgxMTgyMEU1Cis6MTBFNzEwMDA0NjA4MTE4MjA0NjA4MDE4MjA0NjA4MTE4MjA0NjA4MTM2Cis6MTBFNzIwMDAxODIwNDYwQzExQzIwNDYwODExODMwNDYwQzExQzAxMTJCCis6MTBFNzMwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTQyMDAyMDgwMDgyMDNFCis6MTBFNzQwMDAwMjI4MDA4MjAwMjA4MDA4MjAwMjA4MDA4MjAwMjA4MDI5Cis6MTBFNzUwMDAwODIwMDIwODAxODIwMDIwODAwODIwMDMwODAxODAwMEIwCis6MTBFNzYwMDAwMDAwMDAwMDAwMDAwMDAwNTAwMTQyMDQ2MDgxMTgyMEY5Cis6MTBFNzcwMDA0NjI4MTE4MjA0NjA4MDE4MjA0NjA4MTE4MjA0NjA4MUI2Cis6MTBFNzgwMDAxODIwNDYwODEwODIwNDYwODExODIwNDMwODEwODAwMDc5Cis6MTBFNzkwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQwMDQ1MDAxMTQwMDRCCis6MTBFN0EwMDA0NTAwMTE0MDI1MDAwMDE0MDA0NTAwMTE0MDA0NTAwMUFGCis6MTBFN0IwMDAxNDAwNDUwMDAwNDAwNDUwMDE0MDAwMDEwMDAwNDIxMUQ3Cis6MTBFN0MwMDA1MDAwMDAwMDAwMDAwMDAwNDgwMDA2MDA0MTgwMTA2MDdBCis6MTBFN0QwMDAwNDE4MDEwNjAwNDE4MDEwNjAwNDE4MDEwNjAwNDE4MDAxCis6MTBFN0UwMDAxMDYwMDQxODAxMDYwMDQxODAxMDYwMDQxODAxMDAwMDQ4Cis6MTBFN0YwMDAwMDAwMDAwMDAwMDAwMDAwNDgwMDAyMDUwMDgwNDAyMUU5Cis6MTBFODAwMDAxMDA4MDQwMDAxMDA4MDQwMjAxMDA4MDQwMjAxMDA4MDZDCis6MTBFODEwMDA0MDIwNTAwODE0MDIxMTAwODQ0MDIwMTAwODE0MDAwMDA5Cis6MTBFODIwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQ2MDE1MTgwRDQ2MDE3Cis6MTBFODMwMDAzNTE4MEQ0NjAzNTE4MEQ0NjAxNTE4MEQ0NjAzNTE4MERDCis6MTBFODQwMDA1NDYwMTUxODBENDYwMzUxODBENDYwMzUxODBENDAxMUUxCis6MTBFODUwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMTQ2MDQ3MTgxMUM2MEFGCis6MTBFODYwMDA0NTE4MTFENjA0NzE4MTFDNjA2NzE4MTFDNjA0NzE4MUE2Cis6MTBFODcwMDA5QzYwNDcxODExQzYwNDcxODExQzYwNjcxODExQzAwMEE0Cis6MTBFODgwMDAwMDAwMDAwMDAwMDAwMDAwNDAwNTQ2MDI3MTgwOUM2MDBFCis6MTBFODkwMDAyNzE4MDlDNjAwNzE4MDlDNjA2NzE4MDlDNjAyNzE4MDNDCis6MTBFOEEwMDA5QzYxMjcxODAxQzYwMjcxODA5QzYwMDcxODAxQzAwMDk2Cis6MTBFOEIwMDAwMDAwMDAwMDAwMDAwMDAwNTA0NTQ2MDU3MTgxNUM2MENBCis6MTBFOEMwMDA1NzE4NTVENjAxNzE4MTVDNjA1NzE4MTVDNjA1NzE4MUJFCis6MTBFOEQwMDA1QzYwNTcxODE4QzYwNTcxODE1QzYwNDMxODE4ODIxMTc2Cis6MTBFOEUwMDA1MDAwMDAwMDAwMDAwMDAwNDAwNDUyMDEyMDgwNDgyMDM5Cis6MTBFOEYwMDAxMjQ4MDQ5MDAxMjA4MDQ5MjAxMjA4MDQ4MjAxMjQ4MERCCis6MTBFOTAwMDA0ODIwMTI0ODAwOTIwMTIwODA0ODIwMTc0ODA0ODAwMUM2Cis6MTBFOTEwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDA2MDA2MTgwMTg2MDU4Cis6MTBFOTIwMDAwNjNDMDE4NjAwNjE4MDE4NjA0NjE4MDE4NjAwNjE4MEZGCis6MTBFOTMwMDAxODYwMDYxODAxODYwMDYxODAxODYwNDYxODAxODAwMTgxCis6MTBFOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MTYwMDQ3ODAxMUUwMDhCCis6MTBFOTUwMDA0NzgwMTFFMDI0NzgwMTFFMDAwNzgwMTFFMDA0NzgwMTRGCis6MTBFOTYwMDAxRTAwNDc4MDExRTAwNDM4MDExRTAwNDc4MDExQzAxMUNECis6MTBFOTcwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTEyMDA2MDgwMTgyMERDCis6MTBFOTgwMDAwNjQ4MDE5MjAwNjA4MDE5MjAwNjA4MDE4MjAwNjQ4MDE4Cis6MTBFOTkwMDAxODIwMDY0ODAxOTMwMDIwODAxODIwMDY0ODAxODAwMEI2Cis6MTBFOUEwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTQyMDQyMDgxMDgyMDE3Cis6MTBFOUIwMDA0MjA4MTA4MjA0MjA4MTA4MjAwMjA4MTA4MjA0MjA4MTZECis6MTBFOUMwMDAwODIwNDIwODEwOEEwNDYwODEwODIwNDIwODEwODAwMDU0Cis6MTBFOUQwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQyMDQ0MDgxMTAyMDdCCis6MTBFOUUwMDA0NDA4MTEwMjA0NDA4MTEwMjAwNDA4MTEwMjA0NDA4MUVGCis6MTBFOUYwMDAxMDIxNDQwODAxMDIwNDUwODExMDIwMDQwODAxMDAxMTc0Cis6MTBFQTAwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMDAzMDA1MEMwMTQzMDFGCis6MTBFQTEwMDAwNTBDMDE0MzAwNTBDMDE0MzAwNTBDMDE0MzAwNTA4MDI4Cis6MTBFQTIwMDAxNDMwMDUwODAxNEEwMDUwQzAxNDMwMDUwODAxNDAwMEE4Cis6MTBFQTMwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDA4MDA0MjAwMTA4MEJDCis6MTBFQTQwMDAwNDIwMDEwODAwNDIwMDEwODAwNDIwMDEwODAwNDIwMDU4Cis6MTBFQTUwMDAxMDgwMDQyMDExMDAwMDQyMDAxMDgwMDQyMDExMDAxMERBCis6MTBFQTYwMDA0MDAwMDAwMDAwMDAwMDAwNDA0NTQyMDIwMDgwODAyMDdECis6MTBFQTcwMDAyMDA4MDgwMjAwMDA4MDgwMjAyMDA4MDgwMjAyMDA4MDkwCis6MTBFQTgwMDA4MDIwMjAwODA4MDIwMjAwODA4MDIwMjAwODA4MDAxMTUxCis6MTBFQTkwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTQwMDA2MDAxMTgwMDJDCis6MTBFQUEwMDA0NjAwMTE4MDA2NjAwMTE4MDA0NjAwMTE4MDA0NjAwMUQ0Cis6MTBFQUIwMDAxODAwNDYwMDExODAwNDYwMDExODAwNjYwMDExODAxMEUzCis6MTBFQUMwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTQwMDI2NDAwOTgwMEM3Cis6MTBFQUQwMDAyNjAwMDk5MDA2NjAwMTk4MDAyNjQwMDk4MDAyNjAwMDI3Cis6MTBFQUUwMDA5ODAwMjYwMDAwOTAwMjYwMDA5ODAwMDcwMDAxODAwMDU2Cis6MTBFQUYwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTYwMDQzODA1MEUwMEUyCis6MTBFQjAwMDA0MzgwMTBFMDQ0MzgwMTBFMDA0MzgwMTBFMDA0MzgwMUQ3Cis6MTBFQjEwMDAwRTAwNDM4MDE4QTAwNDM4MDEwRTAwNDY4MDE4ODAxMUIyCis6MTBFQjIwMDA1MDAwMDAwMDAwMDAwMDAwNTAwMDAxMDAzMDQwMEMxMEI4Cis6MTBFQjMwMDAwMzA0MDBDNTAwMzA0MDBDMTAwMzE0MDBDMTAwMzA0MDM1Cis6MTBFQjQwMDAwQzEwMDMwNDAwODc0MDMwNDAwQzEwMDIwNDAwODAwMEM5Cis6MTBFQjUwMDAwMDAwMDAwMDAwMDAwMDAwNDAwNDA1MDAzNTQwMEM1MDlCCis6MTBFQjYwMDAwMzE0MDBENTA0MzE0MTBDNTAwMzVDMDBDNTAwMzEwMDkyCis6MTBFQjcwMDAwQzUwMDMxMDAwOTQwMDMxNDAwQzUwNDMxMDAwQzIwMEIwCis6MTBFQjgwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQzMDUyMEMxMTgzMDhGCis6MTBFQjkwMDA0NjBDMTE5NzAwNjBDMDE4MzA0NjFDMTE4MzA0NjBDMUY4Cis6MTBFQkEwMDAxODMwNTIwQzExODcwNDYwQzExODMwNDYwQzExODAxMUM2Cis6MTBFQkIwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTAwMDAyMTQwMDgwMDVCCis6MTBFQkMwMDAwMjAwMDA4MDAwMjAwMDA4MDAwMjAwMDA4MDAwMjAwMEY5Cis6MTBFQkQwMDAwODAwMDIwMDAwODAwMDIwMDAwODAwMDIwMDAwODAwMDAxCis6MTBFQkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTQ4NDQyMjAxMTg4NDk5Cis6MTBFQkYwMDA0NjIxMTE5ODAwNjIxMDE4ODQ0NDIwMTE4ODQ0NjIxMTQzCis6MTBFQzAwMDAxODg0NDIyMTExODA0NDYyMTExODg0NDYyMTExODAwMDI5Cis6MTBFQzEwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQwMDQ1MDExMTQwNEIyCis6MTBFQzIwMDA0NTAwMTE0MTAwNTAxMDE0MDA0NTAxMTE0MDQ0NTAxMTlECis6MTBFQzMwMDAxNDA0NDUwMTAxNDA0NDUwMTExNDA0MDUwMTAxNDAxMTIwCis6MTBFQzQwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMDA4MjA0MjA4MTA4MjMwCis6MTBFQzUwMDAwNDIwMDEwODIwNDIwODEwODIwNDIwODEwODIwNDIwODc0Cis6MTBFQzYwMDAxMDgyMDQyMjgxMDgyMDUyMDgxMDhBMDQyMjgxMDAwMEE4Cis6MTBFQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDBBMDEwMjg0NDBBMTFFCis6MTBFQzgwMDAxMDI4MDAwQTAxMDI4MDQwQTAxMDI4MDQwQTAxMDI4MDE2Cis6MTBFQzkwMDA0MEEwMTAyQzE0MEEwMDAyODA0MEIwMTAyQzE0MDAwMDc4Cis6MTBFQ0EwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTREMDM1MzQwRDREMDU4Cis6MTBFQ0IwMDAzNTMwMEM0RDAzNTM0MEQ0RDAzNTM0MEQ0RDAzNTM0MDAzCis6MTBFQ0MwMDBENEQwMzUzNDBENEQwMjEzNDBENEQwMzUzNDBENDAxMTFECis6MTBFQ0QwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTA4MDQ3MjAxMUM4MDg4Cis6MTBFQ0UwMDA0NzIwMTVDODA0NzIwMTFDODA0NzIwMTFDODA0NzIxMTA2Cis6MTBFQ0YwMDAxQzgwNDcyNjExQzg0NDcyMDExQzkwNjcyNjExQzAwMDcxCis6MTBFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzMDg0MEM2MTIzMThGCis6MTBFRDEwMDA4NDhDMDEwMzA4NDhDNjEyMzA4NDBDNjEyMzE4NDhDMjUxCis6MTBFRDIwMDAxMjMxODQ4QzAxMDMwODQ4QzYxMjMxMDQ4QzAxMDAwMEEyCis6MTBFRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkY0RkZGRDNGRjc1Cis6MTBFRDQwMDBGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkY5Cis6MTBFRDUwMDBEM0ZGRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZEMDAwMEEzCis6MTBFRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTBFRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTBFRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTBFRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJERkIwRkI2QzJDREY3Cis6MTBFREEwMDBCMEI3RkQzRkZCMEIzNkMyREZCMEZCNkMyQ0RCMEI3RTNDCis6MTBFREIwMDBDMkNEQjBCN0ZEM0ZGQjBCMzZDMkNERjRCN0ZEMDAwMEFFCis6MTBFREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzRkM0RkNGMTMzM0IwCis6MTBFREQwMDBDNENGRkQzRkZDNENDRjEzM0ZDNEZDRjEzMzNDNENGRjkwCis6MTBFREUwMDAxMzMzQzRDRkZEM0ZGQzRDQ0YxMzMzRjRDRkZEMDAwMEYxCis6MTBFREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCN0U0RURGOTNCN0UzCis6MTBFRTAwMDBFNEVERjkzRkZFNEVERjkzQjdFNEVERjkzQjdFNEVDN0VDCis6MTBFRTEwMDA5M0I3RTRFQzYxMjMxRTRFREY5M0I3ODRFQzYxMDAwMEVFCis6MTBFRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzUyNEExNEEyNEVBCis6MTBFRTMwMDA2MzAxMTQwMjQ0MDA4MTBCMjg3MTAyMTA4MjQwMzgxMUQyCis6MTBFRTQwMDA0MTA0NTAwODE4ODI4NzM4MzFDMzJDNTIwQTEwMDAwMDQwCis6MTBFRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDUxMjgxNDQ4MDBFCis6MTBFRTYwMDA3MTIxMUMwQTA3MUE4MTAyQTA1MjIwMTQ0ODA3MTI4MTNFCis6MTBFRTcwMDBDNjgwNjAyMDA4ODg0NzAyMDE0QTgwNzAyMDEwMDAwMDg4Cis6MTBFRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQzUyQzAxNEEwMDQ0Cis6MTBFRTkwMDA1MjA5MUM4MDA3MjQyMTA4MDg3MTAyMTA4MDQ1MjBBMTE2Cis6MTBFRUEwMDA0OTI4NTIwMTE0QzA0NTAwOTFDNDAwNzIwMjEwMDAwMEFDCis6MTBFRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDcyMDAxQzEwMDY3Cis6MTBFRUMwMDA3MTA5MTA4MDA3MDAwMTAxMDA3MDA4MTg4MDA3MDAwMTE3Cis6MTBFRUQwMDA4OTIwNTIwMTBDODA0NjMwODE0NTA0NjAwMDEwMDAwMEZBCis6MTBFRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QzIwMjIwMDA4OEFFCis6MTBFRUYwMDAyMDIyMDAwOEMyMjI4MDQwODgwMjIyMDAwODgyMEFBMDQ0Cis6MTBFRjAwMDAwQ0E4MDIyMjAwMDg4MDBBMDA4MDhDMDIyMjAwMDAwMDY3Cis6MTBFRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAyNDMwMDAwNDAyMDQ0Cis6MTBFRjIwMDAzMDA4MDQ0MDQxMzAxMEM4MDAwMDAwMDAwMjAzMDAxMDA3Cis6MTBFRjMwMDBDMDAwMTEwODAwQzI0MzEwODBDMDIwMDEwODAwMDIwMDc4Cis6MTBFRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4QzMwQTIwQzE4Qzc3Cis6MTBFRjUwMDAxMjIyMDQ4ODAxMzYyMEMzMDgxMjI4MDQwODAxMDQwMDg0Cis6MTBFRjYwMDA0QUE4MjIwMTA0Qzg0MTI2MzBDMDg4MDIyMTAwMDIwMEJDCis6MTBFRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDAwQTEwQzE4MDI2Cis6MTBFRjgwMDAzMjIxMEM4ODQzMDI4MDQ0ODAxMjI5MDQwODQyMEE5MEVFCis6MTBFRjkwMDA4QTgwMDAyMDA0NDgwMzBBMTA4MjgwMDAyMDAwMDIwMEJBCis6MTBFRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBODcwMkExODBBQzAxCis6MTBFRkIwMDA0MzI5MTQ4QTg0MDJBMTAwQUM0MTIwMTAwODA2MjYzMTlFCis6MTBFRkMwMDA4MEE0NjAyMDE0NEE0NDMyODE4MUFDNjAyQTE4MDIwMDc3Cis6MTBFRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDcyMjAxQzU4MEIyCis6MTBFRkUwMDA3MzIxMUNDODA3MkEwMTBDODA3MjIwMTA0ODQ3MjYxMTgzCis6MTBFRkYwMDBDNTgwNzMyMDFDODgwNzJBMTE0OTgwNzAyMDE0MDIwMEU0Cis6MTBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAwNDUxMDMxQzkwQzlECis6MTBGMDEwMDA3MzAyMUNDMDQ3MDQwMTBBMEM1MTBBMTA4MjQ3MjAzMUI4Cis6MTBGMDIwMDBDODAwNzIwMjFDNDAwNTMwMTFDNDAwNzIwMTE4MDIwMEIxCis6MTBGMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDgxMDEwMDYyNDAxNDUwNDM0Cis6MTBGMDQwMDA1MTgxMTg5MDQ3MTQwMTA0MDQ3MTg4MTAxMjA1MzQwMThECis6MTBGMDUwMDA0NDA0NTE0MDE4RDAwNzM4MDFDNDA0NTIwMTE0QzIwNEJBCis6MTBGMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcwMDIxODkwQzYzCis6MTBGMDcwMDA2MDAxMUNEMDQ1MjQwMUMxMEM0MjAxMDAwMEM1MjAzMUIzCis6MTBGMDgwMDA0MTA4NDAwMDE4ODA0NTAwMjE0MTBDNzA0MjFDQzIwMDFDCis6MTBGMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDExQzgwQzQyMEVECis6MTBGMEEwMDAzMTA4MTA0MjQyMDg4MEM2MjAzMTA5MDAyMDAzMUM5MDFDCis6MTBGMEIwMDBDNDIwMDE0OTBDNDI0MzEwODA0NDIwMzEwODEwMDAwMDU0Cis6MTBGMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwODMyMDMwNDgwQ0U5Cis6MTBGMEQwMDAzMjQwMTA5MDgxMjQyMEM4MDQzMjQwMTAyMEMzMjA4MDg4Cis6MTBGMEUwMDBDODAwMDI0QTBDQTAwMTI0MTBDODA4MzI0MTEwMDAwMEQ4Cis6MTBGMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDkwMDMwMDAwQzkwNEEwCis6MTBGMTAwMDAzMDQwMDA5MDAwMjAwMDgwMDAxMDQwMTAwMDQwMjAxMDhGCis6MTBGMTEwMDBDMjAwMDA4MDA4MjA0MzA4MTA4MTAwMzI0MDBDQzAwNDY3Cis6MTBGMTIwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDMwMDA0MDAwMDAwMDRGCis6MTBGMTMwMDAxMDAwMDBGMDEwMjAwMDAwMDAxMDAwMDBGMDEwODA0MENGCis6MTBGMTQwMDAwMDAwMDA0MDAwRjAxMDkwODAwMDAwMDAwMDAwQzAwMEFGCis6MTBGMTUwMDAwMDAwMDAwMDAwMDAwMDAwM0MzQzEwODA5MDQwMDAwMEQ3Cis6MTBGMTYwMDAwMDgwMTA5MEEwOTAwMDAwMDAwMDAwMTA5MDgwODAwMEFGCis6MTBGMTcwMDAwMDAwMDAwMDEwOTA4MDkwMDAwMDAwMDA0MDEwOEYwRkYxCis6MTBGMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0QzZCQTA2QzAxQ0Y5Cis6MTBGMTkwMDA0OTI4NjExNDJCMUMwRTQwM0ZEOUJGRDlBQUJDMUE1RjY1Cis6MTBGMUEwMDAwMDEwQTY1MDNCNjFCMzI1QkM0MDE5QkZGRkU5ODAwMEE5Cis6MTBGMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwOTIxNDk0ODAwQzc5Cis6MTBGMUMwMDAwNzNGMkI5NDg2MTQ4NDgwMjgwMDAwNDkxNDA0ODYxMjdCCis6MTBGMUQwMDA4MDAwNDEyNzM0RDA5MDg0OTIwMDJEOEEyMTFFODAwMDI3Cis6MTBGMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhBMjc1Cis6MTBGMUYwMDBCMTAxMDEwMDAwMDAwMDA4ODRCMTc4MjgwMDAwMDAwMDdGCis6MTBGMjAwMDAwOEIxMzIxNDE0MDAwMDAwMDAwOEE4MjM1NDIxNDAwMDYzCis6MTBGMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEYyCis6MTBGMjIwMDAwMDAwMDAyRkZGRkVGN0MwMDAwMDAwMDAyRkQ3RkVFRjA4Cis6MTBGMjMwMDBDMDAwMDAwMDAwM0ZGRjdGRkZDMDAwMDAwMDAwMDAwMDkyCis6MTBGMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEMyCis6MTBGMjUwMDAwMDAwMDAwRkVGNzdGRkMwMDAwMDAwMDAzRUZGRkVFRjUwCis6MTBGMjYwMDA0MDAwMDAwMDAwM0ZGRkJGRkY0MDAwMDAwMDAwMDAwMDIyCis6MTBGMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDkyCis6MTBGMjgwMDAwMDAwMDAzRkZGREZGRkMwMDAwMDAwMDAzRkZGRkZGRjY2Cis6MTBGMjkwMDBDMDAwMDAwMDAwM0Y3RjJGRkZDMDAwMDAwMDAwMDAwMDAyCis6MTBGMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDYyCis6MTBGMkIwMDAwMDAwMDAxRkZGRkZFRkMwMDAwMDAwMDAxRkVGRUZFRjk2Cis6MTBGMkMwMDBDMDAwMDAwMDAwMkZGRkZGRkZDMDAwMDAwMDAwMDAwMDkyCis6MTBGMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDMyCis6MTBGMkUwMDAwMDAwMDAzRkZGRUZGRkMwMDAwMDAwMDAyRkFGREZGRjc2Cis6MTBGMkYwMDBDMDAwMDAwMDAwM0ZFRkZGRjdDMDAwMDAwMDAwMDAwMDZBCis6MTBGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDAxCis6MTBGMzEwMDAwMDAwMDAzRkRGREZGRkMwMDAwMDAwMDAzRkZGRkZGRkY1Cis6MTBGMzIwMDBDMDAwMDAwMDAwMUZGRkRGRkZDMDAwMDAwMDAwMDAwMDYxCis6MTBGMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQzQyNEExMDAyQzE2Cis6MTBGMzQwMDA1MjBCMThDMjg2MkNBMTgwMzg2MjBBMDg0MEM0MkNBMTM2Cis6MTBGMzUwMDAwODI4NDIwQjE0MDA4NTE0QTEwODI4NDMwQTEwMDAwMDU1Cis6MTBGMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQxMjAxMDM4MEZCCis6MTBGMzcwMDA2MTIwMTAwODA3MTI0MTQyODA3MDIwMUMwODA0MUEwMTA1Cis6MTBGMzgwMDA4NDgxNDAyMDE4MDg0NjM2ODEwNTgwNjMyMDEwMDAwMUUyCis6MTBGMzkwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwODQyNDIxMDAwQzE4Cis6MTBGM0EwMDA1MjAyMTQwMDg3MjgyMTgxMDg3MjA2MUM4Mjg0MjAyMUMxCis6MTBGM0IwMDA0ODE4NDIwMzU0ODA0NTMwMjU0QTE4NTMwMjEwMDAwMTcyCis6MTBGM0MwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQyMjAxMDE4MDZECis6MTBGM0QwMDA0MjIwMThDODQ0MjIwMTgwODQ0MjIwMUM4ODA0MjIwMTUzCis6MTBGM0UwMDAwMDgwNDAyMDEwODg0NDM2MDE0MDgwNDEwMDEwMDAwMDE5Cis6MTBGM0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAwODIwMDAwQzE5Cis6MTBGNDAwMDAyMjAzMDQ0MDgxMDAyMDg0MDgwMzAwMDA4MEMyMDAyMDAxCis6MTBGNDEwMDBDNDA4MDAwMzA4ODg4MjE2QTA0MDg4MzIyMjgwMDAwMEI5Cis6MTBGNDIwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAyMDEwMDgwMDQyMDJECis6MTBGNDMwMDAxMDA4MENDMjEyMTA4NEM4MjIxMjA4MDQwMjAzMDA4OEFCCis6MTBGNDQwMDAwMDIxMDAwQzBDNDA0MTMwMDA4NDIwMTAwODAwMDIwMDE0Cis6MTBGNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4ODIwNjIwMDg4QzYwCis6MTBGNDYwMDAzMjIyMEM4ODgxMjYyMDREODgyMzIyODA4ODgzMDYyMDIyCis6MTBGNDcwMDAwODg4MDAyMzA0OEE4MTM2MjA0Qjg4MzIyMjAwMDAwMDRECis6MTBGNDgwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDIwMjAwMDk4MERGCis6MTBGNDkwMDAzMjIwMDQ4ODYwMjIwMDg5ODQwMDIwMDg5ODAwMDIwMDNECis6MTBGNEEwMDAwMDgwMDAyMDAwMDgwMjNBODA0ODgwMzAyMDAwMDIwMERFCis6MTBGNEIwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDBBQzQxQUExODBBODkzCis6MTBGNEMwMDA0MTJBMTBDQUM3MUFBMTA0QUQ3MTJBMTg0QUQ0MDZCMTNDCis6MTBGNEQwMDAwMEE4NzEyQTEwMDg4NDI2MjkwNkFDNTIyQTEwMDIwMEJFCis6MTBGNEUwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDQyQTAxNDE4MDFDCis6MTBGNEYwMDA0MjIwMUMwMDA0MEEwMTA5ODQ1MTIwMUM4ODQ0MDIwMTk2Cis6MTBGNTAwMDAwODgwNDAyMDEwNEE0NzAyMDE0ODgwNjMyMDEwMDIwMDEyCis6MTBGNTEwMDA4MDAwMDAwMDAwMDAwMDAwMDgwMDAwQzQxMDIxODEwQ0UxCis6MTBGNTIwMDA0MTAyMEMwMEMwMjA2MTBEMEU3MjAyMUM0MEM0MDgzMTYzCis6MTBGNTMwMDAwNDE4NDIwMjEwODA4NzIwQjFDNDBDNTMwMjEwMDAwMDRFCis6MTBGNTQwMDAwMDAwMDAwMDAwMDAwMDAwMDgxMDIwMDcyNDAxQ0MwMDhCCis6MTBGNTUwMDA3MjQwMTQwMDA0MjQwMTA4MDA3MzQxMTBDMDA3MzAxMUU4Cis6MTBGNTYwMDBDQzAwNzEwMTEwMDIwNDIwODE0NjEwNDI0MDEwMDIwNEI4Cis6MTBGNTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAwQzUxMDIxMDAwODg1Cis6MTBGNTgwMDA2MjAyMUM5MEM1MjQyMTAwMEM3MDgyMUMxMEM0MjAzMTIyCis6MTBGNTkwMDA4ODAyNDAwNjFDMDA4NTAwQTEwMDBDNDA0MjAwMDIwMEM5Cis6MTBGNUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyMDUxNDgwMDEyMDdGCis6MTBGNUIwMDAzMDA4MEM0MjA2MDA4MDAxMjQ1MTA4MEMwMjQxMDA4MEYyCis6MTBGNUMwMDA0QzIwMDAwODBDMzA0MjA0MDAwNDIwMDAwODAwMDAwMDE5Cis6MTBGNUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwQzYyNDIwMDAwQzA1Cis6MTBGNUUwMDAzMkMyMDQ4MEM3MzAyMDAwMEM1M0MyMDQxMEMyMjg3MEZECis6MTBGNUYwMDAwQzA5MDIwMjRDODA4MTA0MzAwOTBDMDI0MjEwMDAwMDA4Cis6MTBGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDgwMDEzODAwMDIwMDJGCis6MTBGNjEwMDAxMjQwMEMyMDA3MzQwNDAyMDA2MzAxMDgxMDAwMjQxMDdCCis6MTBGNjIwMDAwNDAwMDIwMTA0ODIwMTA4ODAwOTEwMDI0MDEwMDAwNDU1Cis6MTBGNjMwMDAzMDAwMDAwMDAwMDAwMDAwMDAwMDMwMjAxMDgwMDAwMEJBCis6MTBGNjQwMDAyMDgwMDBGMDIwMTA4MDAwMDAyMDgwMDBEMDgwMDAwMDhBCis6MTBGNjUwMDA0MDAwMDAwMDAwMzAxMDAwODAwMDAwMDAwMDAwQ0M0MDlFCis6MTBGNjYwMDAwMDAwMDAwMDAwMDAwMDAwM0MzQzEwODA4MDAwMDAwMDEyCis6MTBGNjcwMDAwMDAwMTA5MDgwODAwMDAwMDAwMDAwMTA5MDgwMDA5MDNBCis6MTBGNjgwMDA4MDAwMTAwMDAwMTBBMDgwMDAwMDAwMjAwMDEwOEMwOEY2Cis6MTBGNjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0MUFCRTE3ODAwMEM3Cis6MTBGNkEwMDAzRTQwMjY2RkJBRTMyNDgwMDAxNjU5QkQ4MjgxODJEODdECis6MTBGNkIwMDA4MDAwMDAxOTk5ODY4MDY0ODBDMDNGRDk5OTgwMDAwMTNDCis6MTBGNkMwMDBGMDAwMDAwMDAwMDAwMDAwMDAwMDA2MTYwMjk0MDAxNjgyCis6MTBGNkQwMDBDMDE2OTQ4MjkwMTYxMDgwMjExODI4MjgwMjBBMDIwODY5Cis6MTBGNkUwMDA4MDAwMDAwMDAwMDI4MjgwMTQwMDAxMTQxMUEwNDAwMDdDCis6MTBGNkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4NDdFCis6MTBGNzAwMDAwMjg0QTg4MDAwMDAwMDA4OTEyMjg0NDFBMjA4MjQwMUZDCis6MTBGNzEwMDAzMDAwMDAwMDAwMDAwMDAwMDAwODg0MDE0NDAxMDAwMEU3Cis6MTBGNzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMERECis6MTBGNzMwMDAwMDAwMDAzRUY3RkZGN0MwMDAwMDAwMDAyRkU3QjdGRjEyCis6MTBGNzQwMDBDMDAwMDAwMDAwMkZGRTdGRjdDMDAwMDAwMDAwMDAwMDk2Cis6MTBGNzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEFECis6MTBGNzYwMDAwMDAwMDAzNkJGRkVERkMwMDAwMDAwMDAwRkY3REZGRjIzCis6MTBGNzcwMDBDMDAwMDAwMDAwM0RCN0I3RUZDMDAwMDAwMDAwMDAwMDZGCis6MTBGNzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDdECis6MTBGNzkwMDAwMDAwMDAxRkRGREZGRkMwMDAwMDAwMDAwRkRGREZGRjAxCis6MTBGN0EwMDBDMDAwMDAwMDAwM0ZFRkZGRkZDMDAwMDAwMDAwMDAwMEFECis6MTBGN0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDRECis6MTBGN0MwMDAwMDAwMDAzRkJGN0ZGRkMwMDAwMDAwMDAzRkZGN0ZGNzQ5Cis6MTBGN0QwMDBDMDAwMDAwMDAwM0ZERkZGRkZDMDAwMDAwMDAwMDAwMDhECis6MTBGN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDFECis6MTBGN0YwMDAwMDAwMDAzRjdFRkZGRjQwMDAwMDAwMDAzRkZFRkZGRkQzCis6MTBGODAwMDBDMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMDAwMDAwMDAwMDNDCis6MTBGODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEVDCis6MTBGODIwMDAwMDAwMDAzN0ZGNkZGRkMwMDAwMDAwMDAzRkZGRkZGRjM4Cis6MTBGODMwMDBDMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMDAwMDAwMDAwMDBDCis6MTBGODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI4Cis6MTBGODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6MTBGODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4Cis6MTBGODcwMDAwMDAwMDAwMDAwMDAwMDAwMzAwMDIwMDEwMjAwMDAwMDM1Cis6MTBGODgwMDAzMDAwNDMwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY5Cis6MTBGODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6MTBGOEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4Cis6MTBGOEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4Cis6MTBGOEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM4Cis6MTBGOEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6MTBGOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Cis6MTBGOEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMDAwMDAwMDAzMEU4Cis6MTBGOTAwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM3Cis6MTBGOTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6MTBGOTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3Cis6MTBGOTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM3Cis6MTBGOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI3Cis6MTBGOTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDMwQzAwMEM3Cis6MTBGOTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk3Cis6MTBGOTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3Cis6MTBGOTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTBGOTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6MTBGOUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU3Cis6MTBGOUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDMwQzAzMDQ3Cis6MTBGOUMwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTBGOUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6MTBGOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Cis6MTBGOUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Cis6MTBGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MTBGQTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMDAwMDAwMDAwRkM4Cis6MTBGQTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2Cis6MTBGQTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM2Cis6MTBGQTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTBGQTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6MTBGQTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk2Cis6MTBGQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMDAwMDAwMDAzRjQ4Cis6MTBGQTgwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTBGQTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6MTBGQUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2Cis6MTBGQUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ2Cis6MTBGQUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM2Cis6MTBGQUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMzBDMDMwQzAwRjI4Cis6MTBGQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Cis6MTBGQUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTBGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTBGQjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTBGQjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ1Cis6MTBGQjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMzZCMDBDMDAwQ0YyQzhDCis6MTBGQjQwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTBGQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6MTBGQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTBGQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTBGQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTBGQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDBGMDAwMDQ3Cis6MTBGQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTBGQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTBGQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTBGQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTBGQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTBGQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMEYwMDBGMDAzMEM3Cis6MTBGQzAwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTBGQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTBGQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTBGQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTBGQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTBGQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDNGQzAwMEE2Cis6MTBGQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTBGQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTBGQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTBGQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTBGQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTBGQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwM0ZDMDNGQzAzMDI2Cis6MTBGQ0MwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTBGQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTBGQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTBGQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTBGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTBGRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDBGMDAwRkE3Cis6MTBGRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTBGRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTBGRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTBGRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTBGRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTBGRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMEYwMDBGMDAzRjI3Cis6MTBGRDgwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTBGRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTBGREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTBGREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTBGREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTBGREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwM0ZDMDNGQzAwRjA3Cis6MTBGREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTBGREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTBGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTBGRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTBGRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTBGRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDYzMzVEODBDMDAwRkRBQzQzCis6MTBGRTQwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTBGRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTBGRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTBGRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTBGRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTBGRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTBGRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTBGRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTBGRUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTBGRUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTBGRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTBGRUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMDAwMDAwMDAzMEUyCis6MTBGRjAwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTBGRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTBGRjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MTBGRjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTBGRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTBGRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDMwQzAwMEMxCis6MTBGRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTBGRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTBGRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTBGRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTBGRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTBGRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDMwQzAzMDQxCis6MTBGRkMwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTBGRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTBGRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTBGRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTA4MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTA4MDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMDAwMDAwMDAwRjMyCis6MTA4MDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTA4MDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTA4MDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTA4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTA4MDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTA4MDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMDAwMDAwMDAzRkIyCis6MTA4MDkwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTA4MEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTA4MEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTA4MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTA4MEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTA4MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMzBDMDMwQzAwRjkyCis6MTA4MEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTA4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTA4MTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTA4MTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTA4MTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTA4MTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMzc0QzBDMDAwRjBFQzRDCis6MTA4MTUwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTA4MTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTA4MTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTA4MTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTA4MTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTA4MUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDBGMDAwMEIxCis6MTA4MUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTA4MUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTA4MUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTA4MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTA4MUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTA4MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMEYwMDBGMDAzMDMwCis6MTA4MjEwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTA4MjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTA4MjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTA4MjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTA4MjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTA4MjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDNGQzAwMDEwCis6MTA4MjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTA4MjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTA4MjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTA4MkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTA4MkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTA4MkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTg2MTA4MDMwODIzRDkwCis6MTA4MkQwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTA4MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTA4MkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTA4MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTA4MzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTA4MzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDBGMDAwRjExCis6MTA4MzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTA4MzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTA4MzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTA4MzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTA4MzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTA4MzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMEYwMDBGMDAzRjkxCis6MTA4MzkwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTA4M0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTA4M0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTA4M0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTA4M0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTA4M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwM0ZDMDNGQzAwRjcxCis6MTA4M0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTA4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6MTA4NDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCis6MTA4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCis6MTA4NDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCis6MTA4NDQwMDAwMDAwMDAwMDAwMDAwMDAwMzc2NTI1RTQ4MDAwQjA4OENGCis6MTA4NDUwMDBBQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTA4NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6MTA4NDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCis6MTA4NDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6MTA4NDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERDCis6MTA4NEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENDCis6MTA4NEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCis6MTA4NEMwMDAwMDAwMDAwMDMwMDAyMDAxMDIwMjAwMDAzMDAwNDMwMEU0Cis6MTA4NEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCis6MTA4NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCis6MTA4NEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCis6MTA4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZCCis6MTA4NTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVCCis6MTA4NTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRCCis6MTA4NTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCCis6MTA4NTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTA4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTA4NTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTA4NTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTA4NTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTA4NTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTA4NUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTA4NUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTA4NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTA4NUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTA4NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTA4NUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdCCis6MTA4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTA4NjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTA4NjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTA4NjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTA4NjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6MTA4NjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFBCis6MTA4NjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBCis6MTA4NjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZBCis6MTA4NjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6MTA4NjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERBCis6MTA4NkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENBCis6MTA4NkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJBCis6MTA4NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFBCis6MTA4NkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlBCis6MTA4NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhBCis6MTA4NkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdBCis6MTA4NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY5Cis6MTA4NzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU5Cis6MTA4NzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ5Cis6MTA4NzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM5Cis6MTA4NzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI5Cis6MTA4NzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5Cis6MTA4NzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5Cis6MTA4NzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY5Cis6MTA4NzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU5Cis6MTA4NzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ5Cis6MTA4N0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM5Cis6MTA4N0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI5Cis6MTA4N0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE5Cis6MTA4N0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk5Cis6MTA4N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg5Cis6MTA4N0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc5Cis6MTA4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6MTA4ODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4Cis6MTA4ODIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4Cis6MTA4ODMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM4Cis6MTA4ODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6MTA4ODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Cis6MTA4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4Cis6MTA4ODcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY4Cis6MTA4ODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU4Cis6MTA4ODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ4Cis6MTA4OEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM4Cis6MTA4OEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI4Cis6MTA4OEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6MTA4OEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4Cis6MTA4OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4Cis6MTA4OEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc4Cis6MTA4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6MTA4OTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU3Cis6MTA4OTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ3Cis6MTA4OTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM3Cis6MTA4OTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6MTA4OTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Cis6MTA4OTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Cis6MTA4OTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY3Cis6MTA4OTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6MTA4OTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3Cis6MTA4OUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM3Cis6MTA4OUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI3Cis6MTA4OUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE3Cis6MTA4OUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk3Cis6MTA4OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3Cis6MTA4OUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTA4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6MTA4QTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2Cis6MTA4QTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ2Cis6MTA4QTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM2Cis6MTA4QTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6MTA4QTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Cis6MTA4QTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTA4QTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MTA4QTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6MTA4QTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2Cis6MTA4QUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM2Cis6MTA4QUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTA4QUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6MTA4QUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk2Cis6MTA4QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2Cis6MTA4QUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc2Cis6MTA4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6MTA4QjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTA4QjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTA4QjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTA4QjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTA4QjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTA4QjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Cis6MTA4QjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTA4QjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTA4QjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ1Cis6MTA4QkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1Cis6MTA4QkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI1Cis6MTA4QkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6MTA4QkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTA4QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTA4QkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTA4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTA4QzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTA4QzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTA4QzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTA4QzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTA4QzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTA4QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTA4QzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTA4QzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTA4QzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTA4Q0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTA4Q0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTA4Q0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTA4Q0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTA4Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTA4Q0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTA4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTA4RDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTA4RDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTA4RDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTA4RDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTA4RDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTA4RDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTA4RDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTA4RDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTA4RDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTA4REEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTA4REIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTA4REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTA4REQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTA4REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTA4REYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTA4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTA4RTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTA4RTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTA4RTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTA4RTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTA4RTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTA4RTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyCis6MTA4RTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTA4RTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTA4RTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTA4RUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTA4RUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTA4RUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTA4RUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTA4RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTA4RUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTA4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTA4RjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTA4RjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTA4RjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTA4RjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTA4RjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTA4RjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTA4RjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTA4RjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTA4RjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MTA4RkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTA4RkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTA4RkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEExCis6MTA4RkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTA4RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTA4RkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTA5MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTA5MDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTA5MDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTA5MDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTA5MDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTA5MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTA5MDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTA5MDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTA5MDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTA5MEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTA5MEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTA5MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTA5MEQwMDAzMDAwMDAwMTAwMDA0NDcyMzAwMDgwMDEwMDAwMDAwM0Y1Cis6MTA5MEUwMDAzMDAwNDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTA5MEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTA5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTA5MTEwMDAwMDAwMDAwMDMwMDA4MDAxMDAwMDAwMDUzMDAwQTAwMUM4Cis6MTA5MTIwMDAwMDAwMDAwMDMwMDAwMDAxMDAwMEUxNUEwMDAwMDAwMEQzCis6MEM5MTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjAwMDAwMDAxRkYKKy8qCisgKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCisgKgorICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCisgKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKKyAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCisgKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCisgKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisgKiBpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKyAqIGluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisgKgorICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCisgKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCisgKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCisgKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgorICoKKy8vLyBWRVJTSU9OPTEuMS4xLjEzMQorLy8gREFURT0yMDAxZGVjMDYKKy8vIFBST0RVQ1Q9RU1JIDJ8NgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZW1pMjYvZmlybXdhcmUuSEVYIGIvZmlybXdhcmUvZW1pMjYvZmlybXdhcmUuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjYTQwMGUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lbWkyNi9maXJtd2FyZS5IRVgKQEAgLTAsMCArMSwxMjYxIEBACis6MDMwMDAwMDAwMjQzNTY2MgorOjAzMDAwMzAwMDI0QkNERTAKKzowMzAwMEIwMDAyNEJEMkQzCis6MDMwMDEzMDAwMjRCOTIwQgorOjAzMDAxQjAwMDI0QkQ1QzAKKzowMzAwMjMwMDAyMUIzOTg0Cis6MDMwMDJCMDAwMjQzRTJBQgorOjAzMDAzMzAwMDIzRkYzOTYKKzowMzAwM0IwMDAyNEJDMEI1Cis6MDMwMDQzMDAwMjQ3MDA3MQorOjAzMDA0QjAwMDIzRkZDNzUKKzowMzAwNTMwMDAyMzdGQTc3Cis6MDMwMDVCMDAwMjRCQzc4RQorOjAzMDA2MzAwMDI0NkZDNTYKKzoxMDA1MDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MDEwMTAwMDEwMTAyMEYKKzoxMDA1MTAwMDAwMDEwOTAyQjgwMTAzMDEwMDgwQTAwOTA0MDAwMDAwRTUKKzoxMDA1MjAwMDAxMDEwMDAwMEEyNDAxMDAwMTU2MDAwMjAxMDIwQzI0MEUKKzoxMDA1MzAwMDAyMDEwMTAxMDAwNjAwMDAwMDAwMTUyNDA2MDUwMTAyNjkKKzoxMDA1NDAwMDAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OUYKKzoxMDA1NTAwMDI0MDMwMjA0MDMwMDA1MDAwQzI0MDIwMzAxMDIwMDAyMkMKKzoxMDA1NjAwMDAwMDAwMDAwMEQyNDA2MDYwMzAyMDMwMDAwMDAwMDAwNDYKKzoxMDA1NzAwMDAwMDkyNDAzMDQwMTAxMDAwNjAwMDkwNDAxMDAwMDAxMzAKKzoxMDA1ODAwMDAyMDAwMDA5MDQwMTAxMDIwMTAyMDAwMDA3MjQwMTAxMjgKKzoxMDA1OTAwMDAwMDEwMDExMjQwMjAxMDIwMjEwMDM0NEFDMDA4MEJCRTAKKzoxMDA1QTAwMDAwMDA3NzAxMDkwNTBBMDU4NDAxMDEwMDhGMDcyNTAxNzQKKzoxMDA1QjAwMDAxMDAwMDAwMDkwNThGMDEwMzAwMDEwNjAwMDkwNDAxODQKKzoxMDA1QzAwMDAyMDIwMTAyMDAwMDA3MjQwMTAxMDAwMTAwMEUyNDAyQzIKKzoxMDA1RDAwMDAxMDYwMjEwMDI0NEFDMDA4MEJCMDAwOTA1MEEwNTRDNkMKKzoxMDA1RTAwMDAyMDEwMDhGMDcyNTAxMDEwMDAwMDAwOTA1OEYwMTAzQUEKKzoxMDA1RjAwMDAwMDEwNjAwMDkwNDAxMDMwMjAxMDIwMDAwMDcyNDAxQjIKKzoxMDA2MDAwMDAxMDAwMTAwMEUyNDAyMDEwNjAzMTgwMjQ0QUMwMDgwMjAKKzoxMDA2MTAwMEJCMDAwOTA1MEEwNTcyMDMwMTAwOEYwNzI1MDEwMTAwQ0YKKzoxMDA2MjAwMDAwMDAwOTA1OEYwMTAzMDAwMTA2MDAwOTA0MDEwNDAyMEUKKzoxMDA2MzAwMDAxMDIwMDAwMDcyNDAxMDEwMDAxMDAwQjI0MDIwMTAyNTUKKzoxMDA2NDAwMDAzMTgwMTAwNzcwMTA5MDUwQTA1NDYwMjAxMDA4RjA3MUEKKzoxMDA2NTAwMDI1MDEwMTAwMDAwMDA5MDU4RjAxMDMwMDAxMDYwMDA5QzIKKzoxMDA2NjAwMDA0MDIwMDAwMDEwMjAwMDAwOTA0MDIwMTAxMDEwMjAwNkQKKzoxMDA2NzAwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDIwMTAyMDIxMDAzRkEKKzoxMDA2ODAwMDQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU4QzA1ODQwMTAxQTIKKzoxMDA2OTAwMDAwMDAwNzI1MDEwMTAyMDAwMDA5MDQwMjAyMDEwMTAyMTUKKzoxMDA2QTAwMDAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMjAxMDIwMzE4QzQKKzoxMDA2QjAwMDAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNThDMDU0NjAyQUQKKzoxMDA2QzAwMDAxMDAwMDA3MjUwMTAxMDIwMDAwMDUwQzA5MDFBMTAxM0MKKzoxMDA2RDAwMDA1MEMwOUU5MDUwQzA5RUExNTAwMjUwMTk1MDI3NTAxQ0IKKzoxMDA2RTAwMDgxNDI5NTAxNzUwNjgxMDEwNTBDMDkwMDA1MEMwOTAwODAKKzoxMDA2RjAwMDE1MDAyNTAxOTUwMjc1MDE5MTA2OTUwMTc1MDY5MTAzNzYKKzoxMDA3MDAwMEMwMDQwMzA5MDQxODAzNDUwMDREMDA0MTAwNDcwMDQ5OTcKKzoxMDA3MTAwMDAwNDMwMDIwMDA0NzAwNkQwMDYyMDA0ODAwMUUwMzQ1QjIKKzoxMDA3MjAwMDAwNkQwMDYxMDA2NzAwNjkwMDYzMDAyMDAwNDUwMDREMTYKKzoxMDA3MzAwMDAwNDkwMDIwMDAzMjAwN0MwMDM2MDAyQTAzNDMwMDZGOEQKKzoxMDA3NDAwMDAwNkUwMDY2MDA2OTAwNjcwMDc1MDA3MjAwNjEwMDc0NDkKKzoxMDA3NTAwMDAwNjkwMDZGMDA2RTAwMjAwMDUzMDA3NDAwNzIwMDY5OTEKKzoxMDA3NjAwMDAwNkUwMDY3MDAyMjAzNDkwMDZFMDA3NDAwNjUwMDcyOEQKKzoxMDA3NzAwMDAwNjYwMDYxMDA2MzAwNjUwMDIwMDA1MzAwNzQwMDcyOTEKKzowOTA3ODAwMDAwNjkwMDZFMDA2NzAwMDAwMDMyCis6MTAwNzg5MDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTgzCis6MDEwNzk5MDAyMjNECis6MTAwNzlBMDA5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkU5Cis6MTAwN0FBMDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTA4REUwQzBFMEU1Cis6MTAwN0JBMDA4Q0UwQzBFMEMwODJDMDgzMDU4NkMwODRDMDg1RTUxODhECis6MTAwN0NBMDBCNDAyMDMwMjA3RDlCNDAxMDMwMjA3REUwMjA3RkE3RDY1Cis6MTAwN0RBMDAwMTAyMDgxNkU1MTkxNEY1MTlDM0I1MTMwMzAyMDdGNTQyCis6MTAwN0VBMDA1MDA5QjQwMEVBNzUxOTBBMDIwN0Q5N0QwMDAyMDgxNkYxCis6MTAwN0ZBMDBFNTE5MTRGNTE5QzNCNTE0MDMwMjA4MTE1MDA5QjQwMDE4Cis6MTAwODBBMDBDRTc1MTkwQTAyMDdEOTdEMDIwMjA4MTY3QzA1OTA3RjY3Cis6MTAwODFBMDA5OUUwNTQ0MERDMDMwMjA4NDNCNDAwMUQ5MDdGRTM3NDVFCis6MTAwODJBMDA3QkYwQTM3NDgwRjA5MDdGRTI3NDQwRjA5MDdGRTVGMDUzCis6MTAwODNBMDA5MDdGRTI3NDAwRjAwMjA4MTgwNTg2OTA3RkUyNzQ4MEM3Cis6MTAwODRBMDBGMDkwNzk2NUUwQjQwMTAzMDIwODlFQjQwMjAzMDIwODNECis6MTAwODVBMDA5NkI0MDMwMzAyMDg4RUI0MDQwMzAyMDg4NkI0MDUwMzlGCis6MTAwODZBMDAwMjA4N0VCNDA2MDMwMjA4NzYwMjA4RjQwNTg2OTA3RjIxCis6MTAwODdBMDA2QzAyMDhFOTA1ODY5MDdGNkMwMjA4REQwNTg2OTA3Rjg4Cis6MTAwODhBMDA2QzAyMDhDRjA1ODY5MDdGNkMwMjA4QzAwNTg2OTA3RkFGCis6MTAwODlBMDA2QzAyMDhCMjA1ODY5MDdGNkNGMDAwRjAwMEYwMDBGMDYwCis6MTAwOEFBMDAwREVEQjQyREY0MDIwOEY0RjBGMEYwRjBGMEYwMERFREQ3Cis6MTAwOEJBMDBCNDJERjUwMjA4RjRGMDAwRjAwMEYwMDBGMDBERURCNEVDCis6MTAwOENBMDAzMUY0MDIwOEY0RjBGMEYwRjBGMEYwMERFREI0MzFGNTg3Cis6MTAwOERBMDAwMjA4RjRGMEYwRjBGMDBERURCNDYxRjcwMjA4RjRGMDVDCis6MTAwOEVBMDBGMEYwRjBGMEYwMERFREI0NjFGNTkwN0ZFMjc0MDBGMEY1Cis6MTAwOEZBMDBEMDg1RDA4NDA1ODZEMDgzRDA4MkQwRTBGQ0QwRTBGREJDCis6MDUwOTBBMDBEMEUwRkVEMEUwOEEKKzowNjA5MEYwMEZGRDBFMEQwRDAyMjcxCis6MTAwOTE1MDBDMEQwQzBFMEMwODJDMDgzOTA3RjZGRTUwQ0YwRTUwRENDCis6MEQwOTI1MDBGMEU1MEVGMEQwODNEMDgyRDBFMEQwRDAyMkRCCis6MTAwOTMyMDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTBDMDgyQzA4M0UzCis6MTAwOTQyMDAwNTg2QzA4NEMwODU5MDc5NzBFMEZGQkYwMDAzMDIwQTZCCis6MTAwOTUyMDBCODkwN0Y5NkUwNDQ4MEYwOTA3RkUyNzQ4MEYwOTA3RkMwCis6MTAwOTYyMDA2MkUwMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5NkUwNTQ3RjBCCis6MTAwOTcyMDBGMDkwN0ZFMjc0ODBGMDkwNzk4OEUwQjQwMTAzMDIwOTdDCis6MTAwOTgyMDBCRUI0MDIwMzAyMDlDM0I0MDMwMzAyMDlBQ0I0MDQwM0Y0Cis6MTAwOTkyMDAwMjA5OUEwNTg2MDIwQUIyRUY1NDAzRkVFRjAzMDM1NERBCis6MTAwOUEyMDAzRkZGOTA3RjYzMDU4NjAyMDlDOUVGNTQwM0ZFRUYwMzAwCis6MTAwOUIyMDAwMzU0M0ZGRjkwN0Y2MzA1ODYwMjBBMzYwNTg2MDIwQUNBCis6MTAwOUMyMDBBNTA1ODYwMjBBOEVFMEUwRTBFMEUwRTAwNTg2RTBFMEQwCis6MTAwOUQyMDBFMDA1ODZFMEUwRTBFMEUwRTAwNTg2RTBFMEUwMDU4NkI0Cis6MTAwOUUyMDBFMEUwRTBFMEUwRTAwNTg2RTBFMEUwMDU4NkUwRTBFMDZGCis6MTAwOUYyMDBFMEUwRTAwNTg2RTBFMEUwMDU4NkRGQ0FFRUI0MDAwMzUxCis6MTAwQTAyMDAwMjBBQjJCNDAxMDMwMjBBMjVFMEUwRTBFMEUwRTAwNUY4Cis6MTAwQTEyMDA4NkUwRTBFMDA1ODZFMEUwRTBFMEUwRTAwNTg2RTBFMDk4Cis6MTAwQTIyMDBFMDA1ODZFMEUwRTBFMEUwRTAwNTg2RTBFMEUwMDU4NjYzCis6MTAwQTMyMDAwMjBBQjJFMEUwRTBFMDA1ODZFMEUwMDU4NkUwRTBFMDAwCis6MEQwQTQyMDBFMDA1ODZFMEUwMDU4NkUwRTBFMEUwMDU4NkU2Cis6MTAwQTRGMDBFMEUwMDU4NkUwRTBFMEUwMDU4NkUwRTAwNTg2REZENjQxCis6MTAwQTVGMDBFRUI0MDAwMzAyMEFCMkI0MDEwMzAyMEE4MEUwRTBFMDQwCis6MTAwQTZGMDBFMDA1ODZFMEUwMDU4NkUwRTBFMEUwMDU4NkUwRTAwNUYxCis6MTAwQTdGMDA4NkUwRTBFMEUwMDU4NkUwRTAwNTg2MDIwQUIyRTBFMDBECis6MTAwQThGMDBFMEUwRTBFMEUwRTBFMEUwRTBFMEUwRTBFMEUwRTBFMDU3Cis6MTAwQTlGMDBERkVDMDIwQUIyRTBFMEUwRTBFMEUwRTBFMEUwRTBFMDFFCis6MTAwQUFGMDBFMERGRjI5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODZEMDJECis6MEUwQUJGMDA4M0QwODJEMEUwRkVEMEUwRkZEMEUwRDBEMDIyODUKKzoxMDBBQ0QwMEMwODJDMDgzQzBFMEU4QzBFMDc4RDFFODE0Rjg3MEZCQzQKKzowQTBBREQwMEQwRTBGOEQwRTBEMDgzRDA4MjIyRjAKKzoxMDBBRTcwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMDhERTBDMEUwQTUKKzoxMDBBRjcwMDhDRTBDMEUwNzU4NjAwQzA4MkMwODMwNTg2QzA4NEMwRDQKKzoxMDBCMDcwMDg1N0UwMDkwNzk4RUUwQjQwMDE2NzQwMUYwOTAwNkNBRDUKKzoxMDBCMTcwMEEzQTNBM0EzQTNBM0EzRTBGRjkwNzk4REYwMDIwQjM5QUUKKzoxMDBCMjcwMDkwNzk4REUwRkY5MDc5OEZFMEZEOTA3OTkwRTBGQzAyNUQKKzoxMDBCMzcwMDBCNDY5MDA2Q0EwNTg2OTA3RjAwMDU4NjAyMEI1MThERUQKKzoxMDBCNDcwMDg0OEM4NTA1ODY5MDdGMDAwNTg2RTBBMzA1ODZGMEEzNDMKKzoxMDBCNTcwMDBFRUVCNDQwMDMwMjBCNkMwNTg2REZFRTkwNzk4RTc0QkYKKzoxMDBCNjcwMDAwRjAwMjBCODIwNTg2QUQ4NEFDODU5MDc5OEZFREYwOUQKKzoxMDBCNzcwMDkwNzk5MEVDRjA5MDc5OEQxRkVGRjA5MDdGQjVFRUYwQzMKKzoxMDBCODcwMEQwODVEMDg0MDU4NkQwODNEMDgyRDBFMEZDRDBFMEZEMkMKKzowQjBCOTcwMEQwRTBGRUQwRTBGRkQwRTBEMEQwMjI4NAorOjEwMEJBMjAwQzBEMEMwRTBDMDgyQzA4MzkwN0ZBRUUwNTRFMEYwOTAzRAorOjEwMEJCMjAwN0Y5NkUwNDQwODU0RkJGMDkwN0Y5N0UwNTRCRkYwOTA5QQorOjEwMEJDMjAwN0ZFMzc0N0JGMDkwN0ZFNDc0NDBGMDkwNzk3OEUwOTA1QQorOjEwMEJEMjAwN0I0MEYwOTA3RkUyNzQ0OEYwOTA3RkU1RTA5MDdGRTIwNgorOjEwMEJFMjAwNzQwMEYwOTA3Rjk2RTA1NEY3NDQwNEYwOTA3RkUzNzQzMQorOjEwMEJGMjAwN0JGMDkwN0ZFNDc0NDBGMDkwNzk3OUUwOTA3QjQwRjA1NAorOjEwMEMwMjAwOTA3RkUyNzQ0OEYwOTA3RkU1RTA5MDdGRTI3NDAwRjAxQworOjEwMEMxMjAwOTA3Rjk2RTA1NEYzRjA5MDdGQUVFMDQ0MUZGMEQwODNEMworOjA3MEMyMjAwRDA4MkQwRTBEMEQwMjIwNworOjEwMEMyOTAwQzBEMEMwRTBDMDgzQzA4MjkwNzkyRkUwNjRGRkMzMjRBNAorOjBCMEMzOTAwMDFGMEQwODJEMDgzRDBFMEQwRDAyMkE4Cis6MTAwQzQ0MDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkFFCis6MDkwQzU0MDBFMzIyODk4MjhBODNFNDkzMjJFMQorOjEwMEM1RDAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTA0QworOjEwMEM2RDAwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjI5NgorOjBEMEM3RDAwRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCMAorOjEwMEM4QTAwQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDE0OQorOjAyMEM5QTAwRjMyMjQzCis6MTAwQzlDMDBGOEJCMDEwREU1ODIyOUY1ODJFNTgzM0FGNTgzRThGMDhFCis6MTAwQ0FDMDAyMjUwMDZFOTI1ODJDOEY2MjJCQkZFMDVFOTI1ODJDODNBCis6MDIwQ0JDMDBGMjIyMjIKKzoxMDBDQkUwMEMyRDVFQzMwRTcwOUIyRDVFNEMzOURGREU0OUNGQ0VFNTEKKzoxMDBDQ0UwMDMwRTcxNUIyRDVFNEMzOUZGRkU0OUVGRTEyMEU0MEMzN0IKKzoxMDBDREUwMEU0OURGREU0OUNGQzgwMDMxMjBFNDAzMEQ1MDdDM0U0NzYKKzowNjBDRUUwMDlGRkZFNDlFRkUyMkMwCis6MTAwQ0Y0MDBDNUYwRjhBM0UwMjhGMEM1RjBGOEU1ODIxNTgyNzAwMjhCCis6MDYwRDA0MDAxNTgzRTAzOEYwMjIyNworOjEwMEQwQTAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjAyNworOjEwMEQxQTAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkUwNAorOjEwMEQyQTAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODM0QQorOjA4MEQzQTAwRTk5M0Y1RjBBM0U5OTMyMjBGCis6MTAwRDQyMDBFODhGRjBBNENDOEJGMEE0MkNGQ0U5OEVGMEE0MkNGQzUwCis6MTAwRDUyMDA4QUYwRURBNDJDRkNFQThFRjBBNENEQThGMDhCRjBBNENFCis6MTAwRDYyMDAyRENDMzgyNUYwRkRFOThGRjBBNDJDQ0QzNUYwRkNFQjJECis6MTAwRDcyMDA4RUYwQTRGRUE5RjBFQjhGRjBBNENGQzVGMDJFQ0QzOUYyCis6MEYwRDgyMDBGRUU0M0NGQ0VBQTQyRENFMzVGMEZERTQzQ0ZDMjI1RgorOjEwMEQ5MTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjBCOAorOjAxMERBMTAwMjIyRgorOjEwMERBMjAwQkIwMTBERTU4MjI5RjU4MkU1ODMzQUY1ODMwMjBFQTFBNgorOjEwMERCMjAwNTAwN0U5MjU4MkY4MDIwRTk1QkJGRTA3RTkyNTgyRjg2NQorOjEwMERDMjAwMDIwRUFERTU4MjI5RjU4MkU1ODMzQUY1ODMwMjBFQjk3QQorOjEwMEREMjAwQkIwMTBERTU4MjI5RjU4MkU1ODMzQUY1ODMwMjBFRDU0MgorOjEwMERFMjAwNTAwN0U5MjU4MkY4MDIwRUM5QkJGRTA3RTkyNTgyRjgwMQorOjA0MERGMjAwMDIwRUUxMjJFQQorOjEwMERGNjAwQkIwMTBERTU4MjI5RjU4MkU1ODMzQUY1ODMwMjBGMDZFQworOjEwMEUwNjAwNTAwN0U5MjU4MkY4MDIwRUVEQkJGRTA3RTkyNTgyRjhCOAorOjA0MEUxNjAwMDIwRjM3MjI2RQorOjEwMEUxQTAwRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM2NworOjEwMEUyQTAwOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjA3QgorOjA2MEUzQTAwRUZBM0EzQTM4MERGN0IKKzoxMDBFNDAwMEJDMDAwQkJFMDAyOUVGOERGMDg0RkZBREYwMjJFNENDOTYKKzoxMDBFNTAwMEY4NzVGMDA4RUYyRkZGRUUzM0ZFRUMzM0ZDRUU5REVDNUYKKzoxMDBFNjAwMDk4NDAwNUZDRUU5REZFMEZENUYwRTlFNENFRkQyMkVEQTUKKzoxMDBFNzAwMEY4RjVGMEVFODQyMEQyMUNGRUFERjA3NUYwMDhFRjJGRUYKKzoxMDBFODAwMEZGRUQzM0ZENDAwNzk4NTAwNkQ1RjBGMjIyQzM5OEZERTAKKzowNTBFOTAwMDBGRDVGMEVBMjI3RAorOjBDMEU5NTAwRTZGQzA4RTZGRDA4RTZGRTA4RTZGRjIyODkKKzowQzBFQTEwMEUwRkNBM0UwRkRBM0UwRkVBM0UwRkYyMkM0Cis6MEMwRUFEMDBFMkZDMDhFMkZEMDhFMkZFMDhFMkZGMjI4MQorOjEwMEVCOTAwRTQ5M0ZDQTNFNDkzRkRBM0U0OTNGRUEzRTQ5M0ZGMjI0QworOjBDMEVDOTAwRUNGNjA4RURGNjA4RUVGNjA4RUZGNjIyNTUKKzowQzBFRDUwMEVDRjBBM0VERjBBM0VFRjBBM0VGRjAyMjkwCis6MEMwRUUxMDBFQ0YyMDhFREYyMDhFRUYyMDhFRkYyMjI0RAorOjEwMEVFRDAwRDA4M0QwODJFNDkzRjYwODc0MDE5M0Y2MDg3NDAyOTNDQworOjA5MEVGRDAwRjYwODc0MDM5M0Y2NzQwNDczMDMKKzoxMDBGMDYwMEE4ODI4NTgzRjBEMDgzRDA4MjEyMEYxRDEyMEYxRDEyODYKKzoxMDBGMTYwMDBGMUQxMjBGMURFNDczRTQ5M0EzQzU4M0M1RjBDNTgzQUIKKzoxMDBGMjYwMEM4QzU4MkM4RjBBM0M1ODNDNUYwQzU4M0M4QzU4MkM4MzUKKzowMTBGMzYwMDIyOTgKKzoxMDBGMzcwMEQwODNEMDgyRTQ5M0YyMDg3NDAxOTNGMjA4NzQwMjkzODkKKzowOTBGNDcwMEYyMDg3NDAzOTNGMjc0MDQ3M0MwCis6MTAwRjUwMDBDMkFGRDIyQzkwN0Y5Mzc0MzBGMDkwN0Y5Qzc0QkZGMDFFCis6MTAwRjYwMDA5MDdGOTZFMDU0MzBGMDkwN0Y5NDc0MzBGMDkwN0Y5REE1Cis6MTAwRjcwMDA3NENGRjA5MDdGOTc3NEEwRjA5MDdGOTU3NENDRjBFNERDCis6MTAwRjgwMDA5MDdGOUVGMEMyMkRDMjJBQzIyQkMyMkU5MDc5NzQwNDhCCis6MTAwRjkwMDBGMDEyMkU5NDEyNDlFMjEyNEJFNjEyMzIwRDEyM0IwRDYyCis6MTAwRkEwMDAxMjQxRkQxMjNFOTlFNTFGNzAxODc1MUYwMTEyMTdGRkJGCis6MTAwRkIwMDAxMjJGRkYxMjQ5QzgxMjRCRDgxMjRCREExMjQ5NkYxMjg2Cis6MTAwRkMwMDAxQjQwMTIzOThEOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDdFCis6MTAwRkQwMDA0NDFGRjA5MDdGQUM3NEZGRjA5MDdGQURGMDkwN0ZERTA3Cis6MTAwRkUwMDBGMDkwN0ZERkYwOTA3RkFCRjA5MDdGQTlGMDkwN0ZBQTI4Cis6MTAwRkYwMDBGMDUzOTFFRjQzRDgyMEQyRTg0M0Q4MjA0M0E4ODAyMjcxCis6MTAxMDAwMDA5MDc5NjNFMDE0NjA0NDE0NzAwMjIxRDAxNDcwMDI0MTlFCis6MTAxMDEwMDBEOTE0NzAwMjYxRDcyNDA0NjAwMjgxNTZFNDkwNzk3ODczCis6MTAxMDIwMDBGMDkwNzk3QkUwOTA3OTc5RjA0NDAxRjA1NEZERjA5MEY0Cis6MTAxMDMwMDA3OTdCRjBFNDkwNzk4OEYwQTJBRjMzRjUxMkMyQUYxMjU5Cis6MTAxMDQwMDAwQkEyRTUxMjcwMDI4MTU2RDJBRjIyOTA3OTJERTA2NDk2Cis6MTAxMDUwMDAwMTcwNzk5MDdGRjJGMDkwN0ZGMzc0MzBGMDkwN0ZGRjExCis6MTAxMDYwMDA3NEZDRjBFNDkwNzk3OEYwOTA3OTdCRTA5MDc5NzlGMEY1Cis6MTAxMDcwMDA0NDAxRjA0NDAyRjA5MDc5N0JGMEEyQUZFNDMzRjUxMjIyCis6MTAxMDgwMDBDMkFGMTIwQkEyOTA3OTc4NzQwMkYwOTA3OTg0RTA5MDRDCis6MTAxMDkwMDA3OTc5RjA5MDc5N0ZFMEI0MDEwOTkwNzk3OUUwNTRGRTk0Cis6MTAxMEEwMDBGMDgwMDc5MDc5NzlFMDQ0MDFGMDkwNzk3OUUwNTRGRDdGCis6MTAxMEIwMDBGMDU0RkJGMDkwNzk4NEYwMTIwQkEyOTA3OTgyNzQwNEMyCis6MTAxMEMwMDBGMDkwNzk4ODE0RjBFNTEyNjAwMkQyQUY5MDc5MkRFMEFCCis6MTAxMEQwMDA2NDAyNzA3OTkwN0ZGMkYwOTA3RkYzNzQzNEYwOTA3RjI3Cis6MTAxMEUwMDBGRjc0RkNGMEU0OTA3OTc4RjA5MDc5N0JFMDkwNzk3OTY2Cis6MTAxMEYwMDBGMDQ0MDFGMDQ0MDJGMDkwNzk3QkYwQTJBRkU0MzNGNUM0Cis6MTAxMTAwMDAxMkMyQUYxMjBCQTI5MDc5Nzg3NDAyRjA5MDc5ODRFMDQ5Cis6MTAxMTEwMDA5MDc5NzlGMDkwNzk3RkUwQjQwMTA5OTA3OTc5RTA1NDgxCis6MTAxMTIwMDBGRUYwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTc5RTA0NDBECis6MTAxMTMwMDAwMkYwNTRGQkYwOTA3OTg0RjAxMjBCQTI5MDc5ODI3NDQzCis6MTAxMTQwMDAwNEYwOTA3OTg4MTRGMEU1MTI2MDAyRDJBRjkwNzkyRDA2Cis6MTAxMTUwMDBFMDY0MDM2MDAyODE1NjkwN0ZGMkYwOTA3RkYzNzQ2NDQ0Cis6MTAxMTYwMDBGMDkwN0ZGRjc0RkNGMEU0OTA3OTc4RjA5MDc5N0JFMDY4Cis6MTAxMTcwMDA5MDc5NzlGMDQ0MDFGMDQ0MDJGMDkwNzk3QkYwQTJBRkNECis6MTAxMTgwMDBFNDMzRjUxMkMyQUYxMjBCQTI5MDc5Nzg3NDAyRjA5MDlBCis6MTAxMTkwMDA3OTg0RTA5MDc5NzlGMDkwNzk3RkUwQjQwMTA5OTA3OUQxCis6MTAxMUEwMDA3OUUwNTRGRUYwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTdECis6MTAxMUIwMDA3OUUwNDQwNEYwOTA3OTg0RjAxMjBCQTI5MDc5ODI3NDYzCis6MTAxMUMwMDAwNEYwOTA3OTg4MTRGMEU1MTI3MDAyODE1NkQyQUYyMkIzCis6MTAxMUQwMDA5MDc5MkRFMDY0MDE3MDdBOTA3RkYyRjA5MDdGRjM3NDQzCis6MTAxMUUwMDA4OEYwOTA3RkZGNzRGQ0YwRTQ5MDc5NzhGMDkwNzk3QjQwCis6MTAxMUYwMDBFMDkwNzk3OUYwNDQwMUYwNTRGREYwOTA3OTdCRjBBMjExCis6MTAxMjAwMDBBRkU0MzNGNTEyQzJBRjEyMEJBMjkwNzk3ODc0MDJGMEZBCis6MTAxMjEwMDA5MDc5ODRFMDkwNzk3OUYwOTA3OTdGRTBCNDAxMDk5MDM5Cis6MTAxMjIwMDA3OTc5RTA1NEZFRjA4MDA3OTA3OTc5RTA0NDAxRjA5MEZDCis6MTAxMjMwMDA3OTc5RTA1NEZERjA1NEZCRjA5MDc5ODRGMDEyMEJBMjIwCis6MTAxMjQwMDA5MDc5ODI3NDBDRjA5MDc5ODg3NDAxRjBFNTEyNjAwMjU0Cis6MTAxMjUwMDBEMkFGOTA3OTJERTA2NDAyNjAwMjgxNTY5MDdGRjJGMDY3Cis6MTAxMjYwMDA5MDdGRjM3NDk0RjA5MDdGRkY3NEZDRjBFNDkwNzk3OEIxCis6MTAxMjcwMDBGMDkwNzk3QkUwOTA3OTc5RjA0NDAxRjA1NEZERjA5MEEyCis6MTAxMjgwMDA3OTdCRjBBMkFGRTQzM0Y1MTJDMkFGMTIwQkEyOTA3OUQyCis6MTAxMjkwMDA3ODc0MDJGMDkwNzk4NEUwOTA3OTc5RjA5MDc5N0ZFMDI5Cis6MTAxMkEwMDBCNDAxMDk5MDc5NzlFMDU0RkVGMDgwMDc5MDc5NzlFMEYzCis6MTAxMkIwMDA0NDAxRjA5MDc5NzlFMDQ0MDJGMDU0RkJGMDkwNzk4NDk1Cis6MTAxMkMwMDBGMDEyMEJBMjkwNzk4Mjc0MENGMDkwNzk4ODc0MDFGMDdFCis6MTAxMkQwMDBFNTEyNzAwMjgxNTZEMkFGMjI5MDc5MkRFMDY0MDE3MDQwCis6MTAxMkUwMDA3NzkwN0ZGMkYwOTA3RkYzNzRDQ0YwOTA3RkZGNzRGQ0U2Cis6MTAxMkYwMDBGMEU0OTA3OTc4RjA5MDc5N0JFMDkwNzk3OUYwNTRGQzgzCis6MTAxMzAwMDBGMDkwNzk3QkYwQTJBRkU0MzNGNTEyQzJBRjEyMEJBMkRBCis6MTAxMzEwMDA5MDc5Nzg3NDAyRjA5MDc5ODRFMDkwNzk3OUYwOTA3OUZFCis6MTAxMzIwMDA3RkUwQjQwMTA5OTA3OTc5RTA1NEZFRjA4MDA3OTA3OTZDCis6MTAxMzMwMDA3OUUwNDQwMUYwOTA3OTc5RTA1NEZERjA1NEZCRjA5MEFECis6MTAxMzQwMDA3OTg0RjAxMjBCQTI5MDc5ODI3NDEyRjA5MDc5ODg3NEVCCis6MTAxMzUwMDAwMkYwRTUxMjYwMDJEMkFGOTA3OTJERTA2NDAyNzA3NzVFCis6MTAxMzYwMDA5MDdGRjJGMDkwN0ZGMzc0RTBGMDkwN0ZGRjc0RkNGMEQ4Cis6MTAxMzcwMDBFNDkwNzk3OEYwOTA3OTdCRTA5MDc5NzlGMDU0RkNGMDAyCis6MTAxMzgwMDA5MDc5N0JGMEEyQUZFNDMzRjUxMkMyQUYxMjBCQTI5MEJBCis6MTAxMzkwMDA3OTc4NzQwMkYwOTA3OTg0RTA5MDc5NzlGMDkwNzk3RjhGCis6MTAxM0EwMDBFMEI0MDEwOTkwNzk3OUUwNTRGRUYwODAwNzkwNzk3OUYyCis6MTAxM0IwMDBFMDQ0MDFGMDkwNzk3OUUwNDQwMkYwNTRGQkYwOTA3OTM4Cis6MTAxM0MwMDA4NEYwMTIwQkEyOTA3OTgyNzQxMkYwOTA3OTg4NzQwMkUyCis6MTAxM0QwMDBGMEU1MTI2MDAyRDJBRjkwNzkyREUwNjQwMzcwNzc5MDRGCis6MTAxM0UwMDA3RkYyRjA5MDdGRjM3NDk0RjA5MDdGRkY3NEZDRjBFNDUwCis6MTAxM0YwMDA5MDc5NzhGMDkwNzk3QkUwOTA3OTc5RjA1NEZFRjA0NDIwCis6MTAxNDAwMDAwMkYwOTA3OTdCRjBBMkFGRTQzM0Y1MTJDMkFGMTIwQjc5Cis6MTAxNDEwMDBBMjkwNzk3ODc0MDJGMDkwNzk4NEUwOTA3OTc5RjA5MEQ0Cis6MTAxNDIwMDA3OTdGRTBCNDAxMDk5MDc5NzlFMDU0RkVGMDgwMDc5MDZCCis6MTAxNDMwMDA3OTc5RTA0NDAxRjA5MDc5NzlFMDQ0MDRGMDkwNzk4NDdFCis6MTAxNDQwMDBGMDEyMEJBMjkwNzk4Mjc0MDZGMDkwNzk4ODc0MDRGMEZGCis6MDcxNDUwMDBFNTEyNjAwMkQyQUYyMjk5Cis6MTAxNDU3MDBDMjI4QzIyOTkwN0ZFOEUwMTIwRTFBMTQ4NDAwMTRFMDEzCis6MTAxNDY3MDAwMTE0RjYwMjE2N0MyMTE2QkUyMjE1OTE4MDE1RDE4MTMyCis6MTAxNDc3MDAxNjJFODIxNkNGQTExNzA1QTIwMDAwMTcwQTkwN0ZFOTQyCis6MTAxNDg3MDBFMDE0NjAxMTI0RkU2MDI4MjRGRTYwM0IyNEZDNzA0MEI5Cis6MTAxNDk3MDAxMjRBMkFFMTE2MTI0QkUwNDAwMkUxMTY5MDdGRUFFMDc5Cis6MTAxNEE3MDBCNDAxMDRDMjJBRTExNjkwN0ZCNEUwNDQwMUYwRTExNkNBCis6MTAxNEI3MDAxMjRCRTI5MDdGRUFFMEI0MDEwNEQyMkFFMTE2OTA3RjUyCis6MTAxNEM3MDBCNEUwNDQwMUYwRTExNjkwN0ZCNEUwNDQwMUYwRTExNjg2Cis6MTAxNEQ3MDA5MDdGQjRFMDQ0MDFGMEUxMTY5MDdGRTlFMDI0RjU3MEQ1Cis6MTAxNEU3MDAwNTEyNDc5Q0UxMTY5MDdGQjRFMDQ0MDFGMEUxMTY5MEE1Cis6MTAxNEY3MDA3RkU5RTAyNEZENjA1NDI0MDI2MDAyQTE4ODEyNEJFMERBCis6MTAxNTA3MDA0MDAyRTExNjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NEY3Cis6MTAxNTE3MDA4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MjYxCis6MTAxNTI3MDBFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxM0ZECis6MTAxNTM3MDAxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMEFCCis6MTAxNTQ3MDBFMTE2OTA3RkI0RTA0NDAxRjBFMTE2MTI0QkUyNDAwMjRECis6MTAxNTU3MDBFMTE2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRjgyCis6MTAxNTY3MDBDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDc4Cis6MTAxNTc3MDA3RkY1ODM3NDAxRjBFMTE2OTA3RkI0RTA0NDAxRjBFMTU4Cis6MTAxNTg3MDAxNjkwN0ZCNEUwNDQwMUYwRTExNjkwN0ZFOUUwNjAxMjI1Cis6MTAxNTk3MDAyNEY4NjAwOTI0MDI3MDI5MTIxNzFFRTExNjEyNEJBMEM1Cis6MTAxNUE3MDBFMTE2MTI0QkRFQTIyQUU0MzNGRjI1RTBGRkEyMkJFNDZCCis6MTAxNUI3MDAzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjBFMTIxCis6MTAxNUM3MDAxNjkwN0ZCNEUwNDQwMUYwRTExNjkwN0ZFOUUwNjAzN0MwCis6MTAxNUQ3MDAyNEY2NjAyRTI0MDQ3MDQxOTA3RkVCRTAyNERFNjAwRTM5Cis6MTAxNUU3MDAwNDcwMTZEMjI5OTA3RkI0RTA0NDAxRjBFMTE2RDIyOUE1Cis6MTAxNUY3MDA5MDdGQjRFMDQ0MDFGMEUxMTY5MDdGQjRFMDQ0MDFGMDNECis6MTAxNjA3MDBFMTE2MTI0NDYzRTExNjEyNEJERUU0OTA3RjAwRjBBMzZCCis6MTAxNjE3MDBGMDkwN0ZCNTc0MDJGMEUxMTYyMDI5MDc5MDdGQjRFMEJGCis6MTAxNjI3MDA0NDAxRjBDMjI5RTExNjkwN0ZFOUUwMjRGNDYwMzQyNEY0Cis6MTAxNjM3MDAwQzcwMzkxMjRCREU5MDdGRUNFMEY0NTQ4MEZGQzQ1NEY5Cis6MTAxNjQ3MDAwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTNCCis6MTAxNjU3MDA4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMjFGCis6MTAxNjY3MDBGMEUxMTY5MDdGQjRFMDQ0MDFGMEUxMTY5MDdGQjRFMDFBCis6MTAxNjc3MDA0NDAxRjBFMTE2OTA3RkU5RTAyNEY2NjAxMjE0NjAxQTQ1Cis6MTAxNjg3MDAyNDAyNzAxREQyMjg5MDdGQjRFMDQ0MDFGMDgwMTJEMjZBCis6MTAxNjk3MDAyODkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUQ0Cis6MTAxNkE3MDBGMDIwMjgwRjkwNzk4NTc0MDFGMDEyNDk2RjkwN0ZDNTVCCis6MTAxNkI3MDA3NDAyRjBDMjI4ODA1ODkwNzk4Njc0MDFGMDEyNDk2RjNECis6MTAxNkM3MDA5MDdGQzU3NDAyRjA4MDQ3OTA3RkU5RTAyNEZFNjAxMkE2Cis6MTAxNkQ3MDAxNDYwMUEyNDAyNzAxREQyMjg5MDdGQjRFMDQ0MDFGMEYwCis6MTAxNkU3MDA4MDEyRDIyODkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNDQ1Cis6MTAxNkY3MDBFMDQ0MDFGMDIwMjgwMzEyMUE3QkMyMjg4MDExMTIyQzIzCis6MTAxNzA3MDAyQjgwMEMxMjRCRTQ1MDA3OTA3RkI0RTA0NDAxRjA5MDFCCis6MDcxNzE3MDA3RkI0RTA0NDAyRjAyMjYwCis6MTAxNzFFMDAxMjRCREM0MDAyRTFFMzkwN0ZFQkUwMjRGRTYwMUUxNEVFCis6MTAxNzJFMDA2MDQ2MTQ2MDZFMTQ3MDAyRTFENDI0MDQ2MDAyRTFEQ0ExCis6MTAxNzNFMDA3NDA1OTA3RkQ0RjA3NDAwOTA3RkQ1RjAyMjkwN0ZFQUVDCis6MTAxNzRFMDBFMEZGMTIzRkEyOEIzMzhBMzQ4OTM1RUE0OTYwMTFDRTBECis6MTAxNzVFMDBFQUNFRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjk2Cis6MTAxNzZFMDA5MDdGQjRFMDQ0MDFGMDIyOTA3RkVBRTBGRjEyNDgwMDNGCis6MTAxNzdFMDA4QjMzOEEzNDg5MzVFQTQ5NjAxMUNFRUFDRUVFOTA3RkZBCis6MTAxNzhFMDBENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkI0RTA0NDM0Cis6MTAxNzlFMDAwMUYwMjI5MDdGRUFFMEZGOTA3RUMwRTBGREEzRTBGQjI3Cis6MTAxN0FFMDAxMjQ0RDI4QjMzOEEzNDg5MzVFQTQ5NjAxMUNFRUFDRTlGCis6MTAxN0JFMDBFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkRGCis6MTAxN0NFMDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjE3Cis6MDUxN0RFMDBCNEUwNDQwMUYwM0QKKzowMTE3RTMwMDIyRTMKKzoxMDE3RTQwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGNDcKKzowQjE3RjQwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzI1MAorOjAxMTdGRjAwMjJDNworOjEwMTgwMDAwRTQ5MDc4MTVGMDdCMDE5MDc4MTIwNEYwQTM3NDc4RjBERQorOjEwMTgxMDAwQTM3NDU4RjA5MDc4MTJFMEZCQTNFMEZBQTNFMEY5OTBFQgorOjEwMTgyMDAwMDAwMTEyMEM1REZGOTA3OTlBRTA2RjYwMTg5MDc4MTVCNgorOjEwMTgzMDAwRTBDMzk0MDY1MDBGRTAwNEYwOTA3ODEzRTQ3NUYwMEZDNQorOjEwMTg0MDAwMTIwQ0Y0ODBDRjkwNzgxNUUwQjQwNjA4OTA3RkI0RTBENQorOjEwMTg1MDAwNDQwMUYwMjI5MDc4MTJFMEZCQTNFMEZBQTNFMEY5MTIzMQorOjEwMTg2MDAwMEM0NEZGMjRCRjcwMDI0MTdBMjRFMDcwMDI0MTRDMjRGMgorOjEwMTg3MDAwMjE2MDAyNDE3MzkwNzk5N0UwMjRGRTcwMDIyMTlBMTQ0RQorOjEwMTg4MDAwNzAwMjIxRUYyNDAyNjAwMjQxNDQ5MDc5MkRFMEEzRjAyMAorOjEwMTg5MDAwOTA3OTIzRTBGRkU0RkNGREZFRkJGQTc5MDFGODEyMEREQworOjEwMThBMDAwNDJDOEVDQzhDOUVEQzlDQUVFQ0FDQkVGQ0I5MDc5MjJDOQorOjEwMThCMDAwRTBGRUU0RkNGRDJCRkJFQTNFRkFFRDM5RjlFQzM4RjhFQQorOjEwMThDMDAwOTA3OTIxRTBGRkU0RkVFQjJGRkZFRTNBRkVFRDM5RkRDQgorOjEwMThEMDAwRUMzOEZDOTA3ODEyRTBGQkEzRTBGQUEzRTBGOTkwMDA2QQorOjEwMThFMDAwMDIxMjBERDI5MDAwMDIxMjBEQTI3QjQ0N0FBQzc5MDA1NAorOjEwMThGMDAwNzgwMEMzMTIwRDkxNzAwNTkwNzkyRDA0RjA5MDc4MTI0NAorOjEwMTkwMDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwMjEyMERBMjdCODBCNQorOjEwMTkxMDAwN0FCQjc5MDA3ODAwQzMxMjBEOTE3MDA2OTA3OTJENzQwRQorOjEwMTkyMDAwMDJGMDkwNzgxMkUwRkJBM0UwRkFBM0UwRjk5MDAwMDI0NQorOjEwMTkzMDAwMTIwREEyN0IwMDdBNzc3OTAxNzgwMEMzMTIwRDkxNzBBNQorOjEwMTk0MDAwMDY5MDc5MkQ3NDAzRjA5MDc5MkRFMEZGQjQwMTA5NzVBQworOjEwMTk1MDAwMEM2Nzc1MEQwNjc1MEUwQkVGQjQwMjA4RTRGNTBDRjU3NworOjEwMTk2MDAwMEQ3NTBFMENFRkI0MDMwOEU0RjUwQ0Y1MEQ3NTBFMThBQgorOjEwMTk3MDAwRUZCNDAzMEQ5MDc5MkVFMDY0MDM2MDA1RDIyRjEyM0Q4MQorOjEwMTk4MDAwNzk5MDc5MkRFMDY0MDM2MDBBQTNFMEI0MDMwNUMyMkZDNworOjEwMTk5MDAwMTIzRDc5MTIxMDAwMTIyODAxMjI5MDc5MjNFMEZGRTQxMQorOjEwMTlBMDAwRkNGREZFRkJGQTc5MDFGODEyMEQ0MkM4RUNDOEM5RUQ0NgorOjEwMTlCMDAwQzlDQUVFQ0FDQkVGQ0I5MDc5MjJFMEZFRTRGQ0ZEMkI0NgorOjEwMTlDMDAwRkJFQTNFRkFFRDM5RjlFQzM4Rjg5MDc5MjFFMEZGRTREMgorOjEwMTlEMDAwRkVFQjJGRkZFRTNBRkVFRDM5RkRFQzM4RkM5MDc4MTI2RAorOjEwMTlFMDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwNjEyMEREMjIyOTBFQQorOjEwMTlGMDAwNzkyM0UwRkZFNEZDRkRGRUZCRkE3OTAxRjgxMjBENDJDOQorOjEwMUEwMDAwQzhFQ0M4QzlFREM5Q0FFRUNBQ0JFRkNCOTA3OTIyRTBDOQorOjEwMUExMDAwRkVFNEZDRkQyQkZCRUEzRUZBRUQzOUY5RUMzOEY4OTBEOAorOjEwMUEyMDAwNzkyMUUwRkZFNEZFRUIyRkZGRUUzQUZFRUQzOUZERUMwRAorOjEwMUEzMDAwMzhGQzkwNzgxMkUwRkJBM0UwRkFBM0UwRjk5MDAwMEFFQQorOjEwMUE0MDAwMTIwREQyMjI5MDdGQjRFMDQ0MDFGMDIyOTA3OTk3RTAwOQorOjEwMUE1MDAwMTQ3MDE4OTA3OTIxRTBGRjkwNzgxMkUwRkJBM0UwRkE2RgorOjEwMUE2MDAwQTNFMEY5OTAwMDBFRUYxMjBDOUMyMjkwN0ZCNEUwNDRBQQorOjBBMUE3MDAwMDFGMDIyOTA3RkI0RTA0NDAxRjA4MQorOjAxMUE3QTAwMjI0OQorOjEwMUE3QjAwRTRGRkZFN0IwMTkwNzgwRjA0RjBBMzc0NzhGMEEzNzQ1RAorOjEwMUE4QjAwMkJGMDkwNzgwRkUwRkJBM0UwRkFBM0UwRjk5MDAwMDJCMworOjEwMUE5QjAwMTIwQzVERkQ5MDdGRUNFMDZENjAxM0VGQzM5NDA1NTA2RAorOjEwMUFBQjAwMEQwRjkwNzgxMEU0NzVGMDAzMTIwQ0Y0ODBENDhEMzM4NQorOjEwMUFCQjAwOTA3ODBGRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTEyMEM4MQorOjEwMUFDQjAwNURGRDkwN0ZFREUwNkQ2MDEzRUVDMzk0MEI1MDBEMEUzQQorOjEwMUFEQjAwOTA3ODEwRTQ3NUYwMDMxMjBDRjQ4MEQ0OTA3RkVERTA1NQorOjEwMUFFQjAwRjUzNEVGNjQwNTYwMDNCRTBCMDg5MDdGQjRFMDQ0MDE0RQorOjEwMUFGQjAwRjAyMjkwNzgwRkUwRkJBM0UwRkFBM0UwRjkxMjBDNDQ3QworOjEwMUIwQjAwRkYyNEYwNjAwODI0MEY3MDBFMTI0OTJBMjIxMjRCODMxNworOjBFMUIxQjAwOTA3OTIwRTUzNEYwMjI5MDdGQjRFMDQ0MDFGMDkwCis6MDExQjI5MDAyMjk5Cis6MEYxQjJBMDA5MDdGRUFFMEI0RkYwNDEyMzQxNjIyMTIzODAwMjIzMgorOjA3MUIzOTAwNTM5OEZFNTM5OEZEMzJBMgorOjEwMUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwMUI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwMUI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwMUI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwMUI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwMUI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwMUJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwMUJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwMUJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwMUJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwMUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwMUJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMUMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwMUMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwMUMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMUM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwMUM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwMUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjBFMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAxRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAxRUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAxRURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAxRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAxRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAxRjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAxRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAxRjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MDIxRjNFMDAwMDAwQTEKKzoxMDFGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDFGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDFGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDFGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDFGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDFGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDFGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDFGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDFGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDFGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDFGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDFGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDIwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDIwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDIwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDIwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKKzoxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKKzoxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKKzoxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKKzoxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKKzoxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKKzoxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKKzoxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzowRTIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjM3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjM4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjM5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjNBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjNCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjNDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjNERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjNFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjNGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjQwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjQxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjQyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjQzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjQ0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjQ1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjQ2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjQ3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjQ4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjQ5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjRBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjRCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjRDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjRERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjRFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjRGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjUwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjUxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjUzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjU0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjU2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjU3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjU4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjU5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjVBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjEwMjVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwMjYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQworOjEwMjYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwMjYzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwMjY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwMjY1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwMjY2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwMjY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwMjY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwMjY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjEwMjZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjEwMjZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwMjZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwMjZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjBFMjZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyNkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyNzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyNzFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyNzJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyNzNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyNzRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyNzVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyNzZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyNzdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyNzhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyNzlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyN0FDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyN0JDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyN0NDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyN0RDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyN0VDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MDUyN0ZDMDAwMDAwMDAwMDIyQjYKKzoxMDI4MDEwMDkwNzk2NEUwMTQ2MDQ2MTQ3MDAyNDEzQzI0MDI2MDAyMzUKKzoxMDI4MTEwMDgxMkE5MDdGRkM3NENDRjA5MDdGRkY3NEZDRjA5MDc5NUEKKzoxMDI4MjEwMDc4NzQwMUYwOTA3OTdDRTA5MDc5NzlGMDU0RkRGMDQ0NkUKKzoxMDI4MzEwMDAxRjA5MDc5N0NGMEEyQUZFNDMzRjUxMkMyQUYxMjBCMzQKKzoxMDI4NDEwMEEyRTUxMjYwMDJEMkFGRTQ5MDc5N0FGMDIyOTA3OTJENUMKKzoxMDI4NTEwMEUwNjQwMTYwMDIwMUYxOTA3RkZDNzRDQ0YwOTA3RkZGOTUKKzoxMDI4NjEwMDc0RkNGMDkwNzk3ODc0MDFGMDkwNzk3Q0UwOTA3OTc5M0EKKzoxMDI4NzEwMEYwNDQwMUYwNDQwMkYwOTA3OTdFRTBCNDAxMDk5MDc5Q0UKKzoxMDI4ODEwMDc5RTA0NDA0RjA4MDA3OTA3OTc5RTA1NEZCRjA5MDc5ODUKKzoxMDI4OTEwMDc5RTA5MDc5N0NGMEEyQUZFNDMzRjUxMkMyQUYxMjBCNkMKKzoxMDI4QTEwMEEyOTA3OTc4NzQwMkYwOTA3OTg0RTA5MDc5NzlGMDkwMkYKKzoxMDI4QjEwMDc5N0ZFMEI0MDEwOTkwNzk3OUUwNTRGRUYwODAwNzkwQzYKKzoxMDI4QzEwMDc5NzlFMDQ0MDFGMDkwNzk3OUUwNTRGREYwNTRGQkYwMUUKKzoxMDI4RDEwMDkwNzk4NEYwMTIwQkEyOTA3OTdBNzQwMUYwOTA3OTY1NjUKKzoxMDI4RTEwMEYwRTUxMjYwMDJEMkFGRTQ5MDc5OENGMDkwNzk4QkYwMzAKKzoxMDI4RjEwMDkwNzkyREUwNjQwMjYwMDIyMTk2OTA3RkZDNzRDOEYwMEIKKzoxMDI5MDEwMDkwN0ZGRjc0RkNGMDkwNzk3ODc0MDFGMDkwNzk3Q0UwMEQKKzoxMDI5MTEwMDkwNzk3OUYwNDQwMUYwNDQwMkYwOTA3OTdFRTBCNDAxQkQKKzoxMDI5MjEwMDA5OTA3OTc5RTA0NDA0RjA4MDA3OTA3OTc5RTA1NEZCQ0IKKzoxMDI5MzEwMEYwOTA3OTc5RTA5MDc5N0NGMEEyQUZFNDMzRjUxMkMyOUUKKzoxMDI5NDEwMEFGMTIwQkEyOTA3OTc4NzQwMkYwOTA3OTg0RTA5MDc5QkIKKzoxMDI5NTEwMDc5RjA5MDc5N0ZFMEI0MDEwOTkwNzk3OUUwNTRGRUYwNDMKKzoxMDI5NjEwMDgwMDc5MDc5NzlFMDQ0MDFGMDkwNzk3OUUwNDQwMkYwQjAKKzoxMDI5NzEwMDU0RkJGMDkwNzk4NEYwMTIwQkEyOTA3OTdBNzQwMUYwRjMKKzoxMDI5ODEwMDkwNzk2NTc0MDNGMEU1MTI2MDAyRDJBRkU0OTA3OThDMUUKKzoxMDI5OTEwMEYwOTA3OThCRjA5MDc5MkRFMDY0MDM2MDAyODEyQTkwQTgKKzoxMDI5QTEwMDdGRkM3NDk4RjA5MDdGRkY3NEZDRjA5MDc5Nzg3NDAxNEIKKzoxMDI5QjEwMEYwOTA3OTdDRTA5MDc5NzlGMDQ0MDFGMDQ0MDJGMDkwNTQKKzoxMDI5QzEwMDc5N0VFMEI0MDEwOTkwNzk3OUUwNDQwNEYwODAwNzkwQzAKKzoxMDI5RDEwMDc5NzlFMDU0RkJGMDkwNzk3OUUwOTA3OTdDRjBBMkFGQkQKKzoxMDI5RTEwMEU0MzNGNTEyQzJBRjEyMEJBMjkwNzk3ODc0MDJGMDkwMjEKKzoxMDI5RjEwMDc5ODRFMDkwNzk3OUYwOTA3OTdGRTBCNDAxMDk5MDc5NTgKKzoxMDJBMDEwMDc5RTA1NEZFRjA4MDA3OTA3OTc5RTA0NDAxRjA5MDc5MDMKKzoxMDJBMTEwMDc5RTA1NEZERjA0NDA0RjA5MDc5ODRGMDEyMEJBMjkwMTcKKzoxMDJBMjEwMDc5N0E3NDAxRjA5MDc5NjU3NDA1RjBFNTEyNjAwMkQyNEIKKzoxMDJBMzEwMEFGRTQ5MDc5OENGMDkwNzk4QkYwMjI5MDc5MkRFMDY0NUQKKzoxMDJBNDEwMDAxNjAwMjQxRTA5MDdGRkM3NEI0RjA5MDdGRkY3NEZDNjAKKzoxMDJBNTEwMEYwOTA3OTc4NzQwMUYwOTA3OTdDRTA5MDc5NzlGMDU0NzQKKzoxMDJBNjEwMEZFRjA0NDAyRjA5MDc5N0VFMEI0MDEwOTkwNzk3OUUwQkEKKzoxMDJBNzEwMDQ0MDRGMDgwMDc5MDc5NzlFMDU0RkJGMDkwNzk3OUUwOTMKKzoxMDJBODEwMDkwNzk3Q0YwQTJBRkU0MzNGNTEyQzJBRjEyMEJBMjkwQTEKKzoxMDJBOTEwMDc5Nzg3NDAyRjA5MDc5ODRFMDkwNzk3OUYwOTA3OTdGNzcKKzoxMDJBQTEwMEUwQjQwMTA5OTA3OTc5RTA1NEZFRjA4MDA3OTA3OTc5REEKKzoxMDJBQjEwMEUwNDQwMUYwOTA3OTc5RTA1NEZERjA1NEZCRjA5MDc5MTUKKzoxMDJBQzEwMDg0RjAxMjBCQTI5MDc5N0E3NDAxRjA5MDc5NjUwNEYwODgKKzoxMDJBRDEwMEU1MTI2MDAyRDJBRkU0OTA3OThDRjA5MDc5OEJGMDkwOUUKKzoxMDJBRTEwMDc5MkRFMDY0MDI2MDAyNjE4NTkwN0ZGQzc0QjBGMDkwMDIKKzoxMDJBRjEwMDdGRkY3NEZDRjA5MDc5Nzg3NDAxRjA5MDc5N0NFMDkwMUMKKzoxMDJCMDEwMDc5NzlGMDU0RkVGMDQ0MDJGMDkwNzk3RUUwQjQwMTA5NDUKKzoxMDJCMTEwMDkwNzk3OUUwNDQwNEYwODAwNzkwNzk3OUUwNTRGQkYwRjIKKzoxMDJCMjEwMDkwNzk3OUUwOTA3OTdDRjBBMkFGRTQzM0Y1MTJDMkFGRUQKKzoxMDJCMzEwMDEyMEJBMjkwNzk3ODc0MDJGMDkwNzk4NEUwOTA3OTc5RkYKKzoxMDJCNDEwMEYwOTA3OTdGRTBCNDAxMDk5MDc5NzlFMDU0RkVGMDgwNEEKKzoxMDJCNTEwMDA3OTA3OTc5RTA0NDAxRjA5MDc5NzlFMDQ0MDJGMDU0RUEKKzoxMDJCNjEwMEZCRjA5MDc5ODRGMDEyMEJBMjkwNzk3QTc0MDFGMDkwQzUKKzoxMDJCNzEwMDc5NjU3NDA0RjBFNTEyNjAwMkQyQUZFNDkwNzk4Q0YwQ0IKKzoxMDJCODEwMDkwNzk4QkYwOTA3OTJERTA2NDAzNjAwMjgxMkE5MDdGMjcKKzoxMDJCOTEwMEZDNzQ2OEYwOTA3RkZGNzRGQ0YwOTA3OTc4NzQwMUYwMTgKKzoxMDJCQTEwMDkwNzk3Q0UwOTA3OTc5RjA1NEZFRjA0NDAyRjA5MDc5Q0MKKzoxMDJCQjEwMDdFRTBCNDAxMDk5MDc5NzlFMDQ0MDRGMDgwMDc5MDc5Q0UKKzoxMDJCQzEwMDc5RTA1NEZCRjA5MDc5NzlFMDkwNzk3Q0YwQTJBRkU0NjAKKzoxMDJCRDEwMDMzRjUxMkMyQUYxMjBCQTI5MDc5Nzg3NDAyRjA5MDc5OUEKKzoxMDJCRTEwMDg0RTA5MDc5NzlGMDkwNzk3RkUwQjQwMTA5OTA3OTc5NjYKKzoxMDJCRjEwMEUwNTRGRUYwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTc5MTIKKzoxMDJDMDEwMEUwNTRGREYwNDQwNEYwOTA3OTg0RjAxMjBCQTI5MDc5MjUKKzoxMDJDMTEwMDdBNzQwMUYwOTA3OTY1NzQwNkYwRTUxMjYwMDJEMkFGMjIKKzowQTJDMjEwMEU0OTA3OThDRjA5MDc5OEJGMDIyOUEKKzoxMDJDMkIwMEU0RkY3QjAxOTA3ODE2MDRGMEEzNzQ3OEYwQTM3NDU4M0EKKzoxMDJDM0IwMEYwOTA3ODE2RTBGQkEzRTBGQUEzRTBGOTkwMDAwMTEyMDQKKzoxMDJDNEIwMDBDNURGRTkwN0ZFQ0UwNkU2MDEzRUZDMzk0MDY1MDBEQUQKKzoxMDJDNUIwMDBGOTA3ODE3RTQ3NUYwMEYxMjBDRjQ4MEQ0QkYwNjA4QjAKKzoxMDJDNkIwMDkwN0ZCNEUwNDQwMUYwMjI5MDc4MTZFMEZCQTNFMEZBRTkKKzoxMDJDN0IwMEEzRTBGOTEyMEM0NEZGMjQ5RjcwMDJDMTY2MjQyMTYwNkIKKzoxMDJDOEIwMDAyQzE4QzkwN0ZFOUUwMjQ3RTcwMDJBMTMwMTQ3MDAyQTcKKzoxMDJDOUIwMEExQzgyNDAyNjAwMkMxNUU5MDAwMDIxMjBEQTI3QjQ0MDcKKzoxMDJDQUIwMDdBQUM3OTAwNzgwMEMzMTIwRDkxNzAxMzkwN0YwMDc0ODkKKzoxMDJDQkIwMDQ0RjBBMzc0QUNGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwRjAKKzoxMDJDQ0IwMDc4MTZFMEZCQTNFMEZBQTNFMEY5OTAwMDAyMTIwREEyNDQKKzoxMDJDREIwMDdCODA3QUJCNzkwMDc4MDBDMzEyMEQ5MTcwMTM5MDdGQzMKKzoxMDJDRUIwMDAwNzQ4MEYwQTM3NEJCRjBFNEEzRjA5MDdGQjU3NDAzODEKKzoxMDJDRkIwMEYwOTA3ODE2RTBGQkEzRTBGQUEzRTBGOTkwMDAwMjEyNDMKKzoxMDJEMEIwMDBEQTI3QjAwN0E3Nzc5MDE3ODAwQzMxMjBEOTE2MDAyRDYKKzoxMDJEMUIwMEMxOTM5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MDdGQzAKKzoxMDJEMkIwMEI1NzQwM0YwMjI5MDc4MTZFMEZCQTNFMEZBQTNFMEY5NjgKKzoxMDJEM0IwMDkwMDAwNjEyMERBMjdCNDQ3QUFDNzkwMDc4MDBDMzEyODYKKzoxMDJENEIwMDBEOTE3MDEzOTA3RjAwNzQ0NEYwQTM3NEFDRjBFNEEzNjYKKzoxMDJENUIwMEYwOTA3RkI1NzQwM0YwOTA3ODE2RTBGQkEzRTBGQUEzMzQKKzoxMDJENkIwMEUwRjk5MDAwMDYxMjBEQTI3QjgwN0FCQjc5MDA3ODAwMDcKKzoxMDJEN0IwMEMzMTIwRDkxNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwOUQKKzoxMDJEOEIwMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzgxNkUwRkJBM0UwMUEKKzoxMDJEOUIwMEZBQTNFMEY5OTAwMDA2MTIwREEyN0IwMDdBNzc3OTAxNzUKKzoxMDJEQUIwMDc4MDBDMzEyMEQ5MTYwMDJDMTkzOTA3RjAwRjBBMzc0NjEKKzoxMDJEQkIwMDc3RjBBMzc0MDFGMDkwN0ZCNTc0MDNGMDIyOTA3ODE2MkUKKzoxMDJEQ0IwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMEExMjBEQTI3QjQ0MEEKKzoxMDJEREIwMDdBQUM3OTAwNzgwMEMzMTIwRDkxNzAxMzkwN0YwMDc0NTgKKzoxMDJERUIwMDQ0RjBBMzc0QUNGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwQkYKKzoxMDJERkIwMDc4MTZFMEZCQTNFMEZBQTNFMEY5OTAwMDBBMTIwREEyMEIKKzoxMDJFMEIwMDdCODA3QUJCNzkwMDc4MDBDMzEyMEQ5MTcwMTM5MDdGOTEKKzoxMDJFMUIwMDAwNzQ4MEYwQTM3NEJCRjBFNEEzRjA5MDdGQjU3NDAzNEYKKzoxMDJFMkIwMEYwOTA3ODE2RTBGQkEzRTBGQUEzRTBGOTkwMDAwQTEyMDkKKzoxMDJFM0IwMDBEQTI3QjAwN0E3Nzc5MDE3ODAwQzMxMjBEOTE3MDQ4NEYKKzoxMDJFNEIwMDkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwN0ZCNTc0QkEKKzoxMDJFNUIwMDAzRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGRTlFMDI0NUMKKzoxMDJFNkIwMDdGNzAxNjkwNzgxNkUwRkJBM0UwRkFBM0UwRjk5MDAwRDAKKzoxMDJFN0IwMDBFMTIwQzVEOTA3RjAwRjAyMjkwN0ZCNEUwNDQwMUYwQzUKKzowODJFOEIwMDIyOTA3RkI0RTA0NDAxRjA0NQorOjAxMkU5MzAwMjIxQworOjEwMkU5NDAwNzUzNjI1NzUzNzI0OTA3OTc0RTA2NDAxNzA1NEYwRjUyMworOjEwMkVBNDAwMzU3NTIyMDFFNTIyNjQwMTcwNDg5MDdGQTVFMDQ0ODBENQorOjEwMkVCNDAwRjA5MDdGQTZFNTM2RjAxMjQ2QzA3NDRGMjUzNUY1ODJCMgorOjEwMkVDNDAwRTQzNDc5RjU4M0UwOTA3RkE2RjAxMjQ2QzA3NDM1MjU4QQorOjEwMkVENDAwMzVGNTgyRTQzNDc5RjU4M0UwOTA3RkE2RjAxMjQ2QzA5QworOjEwMkVFNDAwOTA3RkE1NzQ0MEYwMTIwQUNEMDUzNUU1MzVDMzk0MERFNQorOjEwMkVGNDAwNDBCMjkwNzk3NUUwNjQwMTYwMDJFMURFRjA5MDc5MjBERgorOjEwMkYwNDAwRTA2NDA1NjAwMkUxOEQ3QjAxOTA3OTVDMDRGMEEzNzRCOAorOjEwMkYxNDAwNzhGMEEzNzRCMkYwNzUzMzA3OTA3OTVDRTBGQkEzRTAxQQorOjEwMkYyNDAwRkFBM0UwRjk5MDAwMDExMjBDNUQ3MDBGOTAwMDA0MTJGNgorOjEwMkYzNDAwMEM1RDkwNzkyRkYwMTIwQzI5ODAwNjkwNzkyRjc0RkY4NAorOjEwMkY0NDAwRjBFNEY1MzU3NTIyMDE3NTM0MDJFNTIyNjQwMTcwMzkyNworOjEwMkY1NDAwOTA3RkE1RTA0NDgwRjA5MDdGQTZFNTM2RjAxMjQ2QzA0RAorOjEwMkY2NDAwQUYzNDA1MzQ5MDdGQTZFRkYwMTI0NkMwOTA3OTJGRTA3RAorOjEwMkY3NDAwOTA3RkE2RjAxMjQ2QzA5MDdGQTU3NDQwRjAxMjBBQ0Q0RgorOjEwMkY4NDAwMDUzNUU1MzVDMzk0MDY0MEMxOTA3OTIwRTA2NDA2NzBBOAorOjEwMkY5NDAwNDk3QjAxOTA3OTVGMDRGMEEzNzQ3OEYwQTM3NEZGRjA4NworOjEwMkZBNDAwNzUzMzAzOTA3OTVGRTBGQkEzRTBGQUEzRTBGOTkwMDBBNgorOjEwMkZCNDAwMDExMjBDNUQ3MDFDOTAwMDA0MTIwQzVEOTA3OTMzRjBDQQorOjEwMkZDNDAwNzAwMzc0RkZGMDkwNzkzM0UwNTQ3RkZGRjAyNUUwRjA1NAorOjBBMkZENDAwODAwNUU0OTA3OTMzRjAxMjQ3REYyNgorOjAxMkZERTAwMjJEMAorOjEwMkZERjAwOTA3OTc4NzQwM0YwOTA3OTgzRTA5MDc5NzlGMEEyQUZDQgorOjEwMkZFRjAwRTQzM0Y1MTJDMkFGMTIwQkEyRTUxMjYwMDJEMkFGMjI4OAorOjAxMkZGRjAwMjJBRgorOjEwMzAwMDAwRTRGRTkwNzkyMEUwRkRCNDA1MTE5MDc4MjU3NDAxRjA3QworOjEwMzAxMDAwQTM3NDc4RjBBMzc0QjJGMDc1MzUwN0VEQjQwNjExOTA3RgorOjEwMzAyMDAwNzgyNTc0MDFGMEEzNzQ3OEYwQTM3NEZGRjA3NTM1MDM2QworOjEwMzAzMDAwOTA3RkVCRTAxNDYwMTExNDYwNUIyNDAyNjAwMjQxMDU5NAorOjEwMzA0MDAwOTA3RkI0RTA0NDAxRjAyMjkwN0ZFOUUwMjQ3RjcwM0Q1RQorOjEwMzA1MDAwRTRGRkVGQzM5NTM1NTAyRjkwNzgyNUUwRkJBM0UwRkEwRAorOjEwMzA2MDAwQTNFMEY5OTAwMDAxMTIwQzVERkRDQ0VFQ0MwRTc0MDBEMworOjEwMzA3MDAwMkNGNTgyRTQzNDdGRjU4M0VERjA5MDc4MjZFNDc1RjA0QQorOjEwMzA4MDAwMEIxMjBDRjQwRjgwQ0I5MDdGQjVFRUYwMjI5MDdGQjQ0MgorOjEwMzA5MDAwRTA0NDAxRjAyMjkwN0ZFOUUwMjQ3RTYwNjQxNDcwMDIzNQorOjEwMzBBMDAwMjE1NTE0NzAwMjIxQTkyNDAzNjAwMjIxRkRFNEZGRUZFMQorOjEwMzBCMDAwQzM5NTM1NTA0NjkwNzgyNUUwRkJBM0UwRkFBM0UwRjlFQworOjEwMzBDMDAwOTAwMDAzMTIwQzVERkRDQ0VFQ0MwRTc0MDAyQ0Y1ODI0QQorOjEwMzBEMDAwRTQzNDdGRjU4M0VERjA5MDAwMDQxMjBDNURGRENDRUUzRQorOjEwMzBFMDAwQ0MwRTc0MDAyQ0Y1ODJFNDM0N0ZGNTgzRURGMDkwNzhGQgorOjEwMzBGMDAwMjZFNDc1RjAwQjEyMENGNDBGODBCNDkwN0ZCNUVFRjA1RgorOjEwMzEwMDAwMjJFNEZGRUZDMzk1MzU1MDQ2OTA3ODI1RTBGQkEzRTAxRAorOjEwMzExMDAwRkFBM0UwRjk5MDAwMDUxMjBDNURGRENDRUVDQzBFNzQyNAorOjEwMzEyMDAwMDAyQ0Y1ODJFNDM0N0ZGNTgzRURGMDkwMDAwNjEyMEM1QworOjEwMzEzMDAwNURGRENDRUVDQzBFNzQwMDJDRjU4MkU0MzQ3RkY1ODM3QgorOjEwMzE0MDAwRURGMDkwNzgyNkU0NzVGMDBCMTIwQ0Y0MEY4MEI0OTAzQgorOjEwMzE1MDAwN0ZCNUVFRjAyMkU0RkZFRkMzOTUzNTUwNDY5MDc4MjUxOQorOjEwMzE2MDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwNzEyMEM1REZEQ0NCMAorOjEwMzE3MDAwRUVDQzBFNzQwMDJDRjU4MkU0MzQ3RkY1ODNFREYwOTBGNAorOjEwMzE4MDAwMDAwODEyMEM1REZEQ0NFRUNDMEU3NDAwMkNGNTgyRTQzMAorOjEwMzE5MDAwMzQ3RkY1ODNFREYwOTA3ODI2RTQ3NUYwMEIxMjBDRjQ5MworOjEwMzFBMDAwMEY4MEI0OTA3RkI1RUVGMDIyRTRGRkVGQzM5NTM1NTA2OQorOjEwMzFCMDAwNDY5MDc4MjVFMEZCQTNFMEZBQTNFMEY5OTAwMDA5MTIxRAorOjEwMzFDMDAwMEM1REZEQ0NFRUNDMEU3NDAwMkNGNTgyRTQzNDdGRjU2MgorOjEwMzFEMDAwODNFREYwOTAwMDBBMTIwQzVERkRDQ0VFQ0MwRTc0MDA3NQorOjEwMzFFMDAwMkNGNTgyRTQzNDdGRjU4M0VERjA5MDc4MjZFNDc1RjBEOQorOjEwMzFGMDAwMEIxMjBDRjQwRjgwQjQ5MDdGQjVFRUYwMjI5MDdGQjRFOAorOjBDMzIwMDAwRTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwQjMKKzowMTMyMEMwMDIyOUYKKzoxMDMyMEQwMDdCMDE3QTc4NzkyQjkwNzgwMEVCRjBBM0VBRjBBM0U5QjMKKzoxMDMyMUQwMEYwNzQwMTEyMEM4QTkwNzgwMEUwRkJBM0UwRkFBM0UwQjEKKzoxMDMyMkQwMEY5OTAwMDAxNzQwMTEyMEM5QzkwMDAwMkU0MTIwQzlDQTgKKzoxMDMyM0QwMDkwNzgwMUU0NzVGMDAzMTIwQ0Y0OTA3ODAwRTBGQkEzOTQKKzoxMDMyNEQwMEUwRkFBM0UwRjk3NDEwMTIwQzhBOTA3ODAwRTBGQkEzNjkKKzoxMDMyNUQwMEUwRkFBM0UwRjk5MDAwMDE3NDA1MTIwQzlDOTAwMDAyQjUKKzoxMDMyNkQwMEU0MTIwQzlDOTA3ODAxRTQ3NUYwMDMxMjBDRjQ5MDc4NDQKKzoxMDMyN0QwMDAwRTBGQkEzRTBGQUEzRTBGOTc0MDIxMjBDOEE5MDc4NDcKKzoxMDMyOEQwMDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTc0MDIxMjBDMzgKKzoxMDMyOUQwMDlDOTAwMDAyRTQxMjBDOUM5MDc4MDFFNDc1RjAwMzEyRUUKKzoxMDMyQUQwMDBDRjQ5MDc4MDBFMEZCQTNFMEZBQTNFMEY5NzQwMTEyQUUKKzoxMDMyQkQwMDBDOEE5MDc4MDBFMEZCQTNFMEZBQTNFMEY5OTAwMDAxRkUKKzoxMDMyQ0QwMDc0MDMxMjBDOUM5MDAwMDJFNDEyMEM5QzkwNzgwMUU0QTMKKzoxMDMyREQwMDc1RjAwMzEyMENGNDkwNzgwMEUwRkJBM0UwRkFBM0UwODQKKzoxMDMyRUQwMEY5NzQxMDEyMEM4QTkwNzgwMEUwRkJBM0UwRkFBM0UwQzkKKzoxMDMyRkQwMEY5OTAwMDAxNzQwNjEyMEM5QzkwMDAwMkU0MTIwQzlDRDMKKzoxMDMzMEQwMDkwNzgwMUU0NzVGMDAzMTIwQ0Y0OTA3ODAwRTBGQkEzQzMKKzoxMDMzMUQwMEUwRkFBM0UwRjk3NDAyMTIwQzhBOTA3ODAwRTBGQkEzQTYKKzoxMDMzMkQwMEUwRkFBM0UwRjk5MDAwMDE3NDA0MTIwQzlDOTAwMDAyRTUKKzoxMDMzM0QwMEU0MTIwQzlDOTA3ODAxRTQ3NUYwMDMxMjBDRjQ5MDc4NzMKKzoxMDMzNEQwMDAwRTBGQkEzRTBGQUEzRTBGOTc0MDIxMjBDOEE5MDc4NzYKKzoxMDMzNUQwMDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTc0MDQxMjBDNjUKKzoxMDMzNkQwMDlDOTAwMDAyNzQwNDEyMEM5QzkwNzgwMUU0NzVGMDAzOUIKKzoxMDMzN0QwMDEyMENGNDkwNzgwMEUwRkJBM0UwRkFBM0UwRjk3NDAyREMKKzoxMDMzOEQwMDEyMEM4QTkwNzgwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMUMKKzoxMDMzOUQwMDAxNzQwMzEyMEM5QzkwMDAwMjc0MDQxMjBDOUM5MDc4MjIKKzoxMDMzQUQwMDAxRTQ3NUYwMDMxMjBDRjQ5MDc4MDBFMEZCQTNFMEZBNTEKKzoxMDMzQkQwMEEzRTBGOTc0MDIxMjBDOEE5MDc4MDBFMEZCQTNFMEZBMDYKKzoxMDMzQ0QwMEEzRTBGOTkwMDAwMTc0MDIxMjBDOUM5MDAwMDI3NDA0QTkKKzoxMDMzREQwMDEyMEM5QzkwNzgwMUU0NzVGMDAzMTIwQ0Y0OTA3ODAwQjcKKzoxMDMzRUQwMEUwRkJBM0UwRkFBM0UwRjk3NDAyMTIwQzhBOTA3ODAwRDYKKzoxMDMzRkQwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMDE3NDAxMTIwQzlDMkMKKzowODM0MEQwMDkwMDAwMjc0MDQxMjBDOUNGMworOjAxMzQxNTAwMjI5NAorOjEwMzQxNjAwRTRGRTkwNzkyMEUwRkRCNDA1MTE5MDc4MUY3NDAxRjA2OAorOjEwMzQyNjAwQTM3NDc4RjBBMzc0QjJGMDc1MzUwN0VEQjQwNjExOTA2NQorOjEwMzQzNjAwNzgxRjc0MDFGMEEzNzQ3OEYwQTM3NEZGRjA3NTM1MDM1OAorOjEwMzQ0NjAwOTA3OTk5RTAxNDYwMTExNDYwNUIyNDAyNjAwMkMxMDY1MQorOjEwMzQ1NjAwOTA3RkI0RTA0NDAxRjAyMjkwNzk5N0UwMTQ3MDNFRTQ0NgorOjEwMzQ2NjAwRkZFRkMzOTUzNTUwMkZDREVFQ0QwRTc0MjEyREY1ODI4RAorOjEwMzQ3NjAwRTQzNDc5RjU4M0UwRkQ5MDc4MUZFMEZCQTNFMEZBQTMzRQorOjEwMzQ4NjAwRTBGOTkwMDAwMUVEMTIwQzlDOTA3ODIwRTQ3NUYwMEJBOQorOjEwMzQ5NjAwMTIwQ0Y0MEY4MENCOTA3OTc1NzQwMUYwMjI5MDdGQjRGMgorOjEwMzRBNjAwRTA0NDAxRjAyMjkwNzk5N0UwMjRGRTYwNjMxNDcwMDJGNAorOjEwMzRCNjAwQTE2NDE0NzAwMkExQjIyNDAzNjAwMkExRkVFNEZGRUYyRQorOjEwMzRDNjAwQzM5NTM1NTA0NENERUVDRDBFNzQyMTJERjU4MkU0MzRFRQorOjEwMzRENjAwNzlGNTgzRTBGRDkwNzgxRkUwRkJBM0UwRkFBM0UwRjkxRAorOjEwMzRFNjAwOTAwMDAzRUQxMjBDOUNDREVFQ0QwRTc0MjEyREY1ODJDRAorOjEwMzRGNjAwRTQzNDc5RjU4M0UwOTAwMDA0MTIwQzlDOTA3ODIwRTQ4MworOjEwMzUwNjAwNzVGMDBCMTIwQ0Y0MEY4MEI2OTA3OTc1NzQwMUYwMjJFOQorOjEwMzUxNjAwRTRGRkVGQzM5NTM1NDAwMkMxMERDREVFQ0QwRTc0MjEwQgorOjEwMzUyNjAwMkRGNTgyRTQzNDc5RjU4M0UwRkQ5MDc4MUZFMEZCQTM2NgorOjEwMzUzNjAwRTBGQUEzRTBGOTkwMDAwNUVEMTIwQzlDQ0RFRUNEMEU1RAorOjEwMzU0NjAwNzQyMTJERjU4MkU0MzQ3OUY1ODNFMDkwMDAwNjEyMEM5RgorOjEwMzU1NjAwOUM5MDc4MjBFNDc1RjAwQjEyMENGNDBGODBCNEU0RkYxNQorOjEwMzU2NjAwRUZDMzk1MzU0MDAyQzEwRENERUVDRDBFNzQyMTJERjU3QworOjEwMzU3NjAwODJFNDM0NzlGNTgzRTBGRDkwNzgxRkUwRkJBM0UwRkE1RQorOjEwMzU4NjAwQTNFMEY5OTAwMDA3RUQxMjBDOUNDREVFQ0QwRTc0MjE1MAorOjEwMzU5NjAwMkRGNTgyRTQzNDc5RjU4M0UwOTAwMDA4MTIwQzlDOTBCNgorOjEwMzVBNjAwNzgyMEU0NzVGMDBCMTIwQ0Y0MEY4MEI0RTRGRkVGQzMzRgorOjEwMzVCNjAwOTUzNTUwNTNDREVFQ0QwRTc0MjEyREY1ODJFNDM0NzkzOAorOjEwMzVDNjAwRjU4M0UwRkQ5MDc4MUZFMEZCQTNFMEZBQTNFMEY5OTAxNQorOjEwMzVENjAwMDAwOUVEMTIwQzlDQ0RFRUNEMEU3NDIxMkRGNTgyRTQ4MgorOjEwMzVFNjAwMzQ3OUY1ODNFMDkwMDAwQTEyMEM5QzkwNzgyMEU0NzVGQgorOjEwMzVGNjAwRjAwQjEyMENGNDBGODBCNjkwN0ZCNEUwNDQwMUYwMjI3OQorOjA3MzYwNjAwOTA3RkI0RTA0NDAxRjBFNQorOjAxMzYwRDAwMjI5QQorOjEwMzYwRTAwRTRGRTkwNzkyMEUwRkRCNDA1MTA5MDc4Mjg3NDAxRjA2NgorOjEwMzYxRTAwQTM3NDc4RjBBMzc0QjJGMDdGMDdFREI0MDYxMDkwNzgxRgorOjEwMzYyRTAwMjg3NDAxRjBBMzc0NzhGMEEzNzRGRkYwN0YwMzkwNzhGMAorOjEwMzYzRTAwMjhFMEZCQTNFMEZBQTNFMEY5MTIwQzQ0RkQ5MDdGRUEyOAorOjEwMzY0RTAwRTA2RDYwMTJFRUMzOUY1MDBEOTA3ODI5RTQ3NUYwMEI3QgorOjEwMzY1RTAwMTIwQ0Y0MEU4MEQ4OTA3RkVCRTAxNDYwMTExNDYwNDZDQgorOjEwMzY2RTAwMjQwMjYwMDJFMTlBOTA3RkI0RTA0NDAxRjAyMjkwN0Y0MAorOjEwMzY3RTAwRTlFMDI0N0Y3MDI4RUU2RjcwMDg5MDdGQjRFMDQ0MDE3QgorOjEwMzY4RTAwRjAyMjkwNzgyOEUwRkJBM0UwRkFBM0UwRjk5MDAwMDE4NQorOjEwMzY5RTAwMTIwQzVEOTA3RjAwRjA5MDdGQjU3NDAxRjAyMjkwN0Y0OAorOjEwMzZBRTAwQjRFMDQ0MDFGMDIyOTA3RkU5RTAyNDdFNjA0MDE0NjA5MworOjEwMzZCRTAwNkYxNDcwMDJFMTYwMjQwMzYwMDJFMTkyRUU2RjcwMDhGNQorOjEwMzZDRTAwOTA3RkI0RTA0NDAxRjAyMjkwNzgyOEUwRkJBM0UwRkE2QQorOjEwMzZERTAwQTNFMEY5OTAwMDAzMTIwQzVEOTA3RjAwRjA5MDAwMDRCRgorOjEwMzZFRTAwMTIwQzVEOTA3RjAxRjA5MDdGQjU3NDAyRjAyMkVFNkZBOAorOjEwMzZGRTAwNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDc4MjhFMEZCQTM5QworOjEwMzcwRTAwRTBGQUEzRTBGOTkwMDAwNTEyMEM1RDkwN0YwMEYwOTBCNgorOjEwMzcxRTAwMDAwNjEyMEM1RDkwN0YwMUYwOTA3RkI1NzQwMkYwMjJDRQorOjEwMzcyRTAwRUU2RjcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3ODI4RTBBQworOjEwMzczRTAwRkJBM0UwRkFBM0UwRjk5MDAwMDcxMjBDNUQ5MDdGMDA2NgorOjEwMzc0RTAwRjA5MDAwMDgxMjBDNUQ5MDdGMDFGMDkwN0ZCNTc0MDIyRQorOjEwMzc1RTAwRjAyMkVFNkY3MDA4OTA3RkI0RTA0NDAxRjAyMjkwNzg3MgorOjEwMzc2RTAwMjhFMEZCQTNFMEZBQTNFMEY5OTAwMDA5MTIwQzVEOTBBQgorOjEwMzc3RTAwN0YwMEYwOTAwMDBBMTIwQzVEOTA3RjAxRjA5MDdGQjVGMworOjEwMzc4RTAwNzQwMkYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTAwNgorOjAzMzc5RTAwNDQwMUYwRjMKKzowMTM3QTEwMDIyMDUKKzoxMDM3QTIwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwQTEKKzoxMDM3QjIwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGNUMKKzoxMDM3QzIwMEMwRTA1MzkxRUY5MDdGQUI3NDEwRjA5MDc5ODNFMDU0OTYKKzoxMDM3RDIwMEZERjAxMjJGREZEMEUwRkZEMEUwRkVEMEUwRkREMEUwMjAKKzoxMDM3RTIwMEZDRDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwQzUKKzowODM3RjIwMDgyRDA4M0QwRjBEMEUwMzI1OAorOjA2MzdGQTAwNTM5MUJGRDIyNjMyRkMKKzoxMDM4MDAwMEU0RkU5MDc5MjBFMEZEQjQwNTEwOTA3ODIyNzQwMUYwNzgKKzoxMDM4MTAwMEEzNzQ3OEYwQTM3NEIyRjA3RjA3RURCNDA2MTA5MDc4MkIKKzoxMDM4MjAwMDIyNzQwMUYwQTM3NDc4RjBBMzc0RkZGMDdGMDM5MDc4MDIKKzoxMDM4MzAwMDIyRTBGQkEzRTBGQUEzRTBGOTEyMEM0NEZEOTA3OTk4OTIKKzoxMDM4NDAwMEUwNkQ2MDEyRUVDMzlGNTAwRDkwNzgyM0U0NzVGMDBCOEQKKzoxMDM4NTAwMDEyMENGNDBFODBEODkwNzk5OUUwMTQ2MDExMTQ2MDQ4MkQKKzoxMDM4NjAwMDI0MDI2MDAyMjE4NTkwN0ZCNEUwNDQwMUYwMjI5MDc5MjcKKzoxMDM4NzAwMDk3RTAxNDcwMkJFRTZGNzAwOTkwN0ZCNEUwNDQwMUYwNzQKKzoxMDM4ODAwMDgwMTc5MDc5MjFFMEZEOTA3ODIyRTBGQkEzRTBGQUEzNzUKKzoxMDM4OTAwMEUwRjk5MDAwMDFFRDEyMEM5QzkwNzk3NTc0MDFGMDIyMTIKKzoxMDM4QTAwMDkwN0ZCNEUwNDQwMUYwMjI5MDc5OTdFMDI0RkU2MDQzRDkKKzoxMDM4QjAwMDE0NjA2RTE0NzAwMjIxNEYyNDAzNjAwMjIxN0RFRTZGQUMKKzoxMDM4QzAwMDcwMDk5MDdGQjRFMDQ0MDFGMDgwMjE5MDc5MjFFMEZERkYKKzoxMDM4RDAwMDkwNzgyMkUwRkJBM0UwRkFBM0UwRjk5MDAwMDNFRDEyNTgKKzoxMDM4RTAwMDBDOUM5MDc5MjJFMDkwMDAwNDEyMEM5QzkwNzk3NTc0RTUKKzoxMDM4RjAwMDAxRjAyMkVFNkY3MDA4OTA3RkI0RTA0NDAxRjAyMjkwNTYKKzoxMDM5MDAwMDc5MjFFMEZEOTA3ODIyRTBGQkEzRTBGQUEzRTBGOTkwQjIKKzoxMDM5MTAwMDAwMDVFRDEyMEM5QzkwNzkyMkUwOTAwMDA2MTIwQzlDQTAKKzoxMDM5MjAwMDIyRUU2RjcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3OTIxN0MKKzoxMDM5MzAwMEUwRkQ5MDc4MjJFMEZCQTNFMEZBQTNFMEY5OTAwMDA3MTUKKzoxMDM5NDAwMEVEMTIwQzlDOTA3OTIyRTA5MDAwMDgxMjBDOUMyMkVFNjMKKzoxMDM5NTAwMDZGNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDc5MjFFMEZFN0UKKzoxMDM5NjAwMDkwNzgyMkUwRkJBM0UwRkFBM0UwRjk5MDAwMDlFRTEyQzAKKzoxMDM5NzAwMDBDOUM5MDc5MjJFMDkwMDAwQTEyMEM5QzIyOTA3RkI0NUIKKzowQzM5ODAwMEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDJDCis6MDEzOThDMDAyMjE4Cis6MTAzOThEMDBBMkFGRTQzM0Y1MTJFNDkwNzk4M0YwMTIyRkRGOTA3RjJDCis6MTAzOTlEMDBFMDc0OTBGMDkwN0ZFMTc0MDRGMEU0OTA3RkRERjA5MDlFCis6MTAzOUFEMDA3RkExRjA1MzhFRjg3NTg4MDU3NUI4MjA3NUY4MDE0MzIxCis6MTAzOUJEMDA4RTMwRjVDODc1Q0E3Rjc1Q0JGODQzQTgyMDkwNzk3NDAxCis6MTAzOUNEMDAwNEYwQzIyMkU0RjUwRjkwNzk3OEYwQTNGMDkwNzk2MkJCCis6MTAzOUREMDBGMEEzRjBBM0YwOTA3OTY2RjBBM0YwOTA3OTdCRjBBM0JCCis6MTAzOUVEMDBGMDkwNzk4NEYwOTA3OTdERjA5MDc5NzVGMEEzRjBBMzQzCis6MTAzOUZEMDBGMEMyMjNDMjI0QzIyNUMyMjZDMjIwOTA3RjlCRTBGNUNGCis6MTAzQTBEMDAwQTU0MjBGNTBBNzAwNjkwNzk3RUYwODAwNjkwNzk3RTMyCis6MTAzQTFEMDA3NDAxRjA5MDdGOUJFMEY1MEE1NDAyRjUwQTcwMDY5MDUwCis6MTAzQTJEMDA3OTdGRjA4MDA2OTA3OTdGNzQwMUYwOTA3OTc4NzQwMjM3Cis6MTAzQTNEMDBGMDkwNzk4NEUwOTA3OTc5RjA5MDc5N0ZFMEI0MDEwOTg0Cis6MTAzQTREMDA5MDc5NzlFMDU0RkVGMDgwMDc5MDc5NzlFMDQ0MDFGMEE3Cis6MTAzQTVEMDA5MDc5NzlFMDkwNzk4NEYwMTIwQkEyOTA3OTc4NzQwMUM1Cis6MTAzQTZEMDBGMDkwNzk3Q0UwOTA3OTc5RjA5MDc5N0VFMEI0MDEwOTVECis6MTAzQTdEMDA5MDc5NzlFMDQ0MDRGMDgwMDc5MDc5NzlFMDU0RkJGMDc3Cis6MTAzQThEMDA5MDc5NzlFMDkwNzk3Q0YwMTIwQkEyRTQ5MDc5NzhGMDNFCis6MTAzQTlEMDBBMzA0RjBFNDkwNzk4OEYwMTIwQkEyOTA3RkZDNzRERDAyCis6MTAzQUFEMDBGMDkwN0ZGRjc0RkZGMDkwNzk3ODc0MDFGMEEzRjAxMjFECis6MTAzQUJEMDAwQkEyRTQ5MDc5N0FGMDkwNzk4MzA0RjAxMjJGREZFNDcxCis6MTAzQUNEMDA5MDc5MzBGMDkwNzk4NUYwQTNGMEEzRjAxMjJFOTQ5MEI4Cis6MTAzQUREMDA3OTJENzQwMkYwOTA3OTg4MTRGMEMyMkZFNDkwNzk2OEYyCis6MTAzQUVEMDBGMDkwNzk4QUYwOTA3OTZBRjBBM0YwNzUxMzA4NzUxNDQ3Cis6MTAzQUZEMDAwOEY1MTZGNTE1RjUxNzkwNzk4Q0YwOTA3OThCRjAyMjY1Cis6MTAzQjBEMDA3QjAxN0E3ODc5NTg5MDc4MDNFQkYwQTNFQUYwQTNFOTdBCis6MTAzQjFEMDBGMDc0NDAxMjBDOEE5MDc4MDNFMEZCQTNFMEZBQTNFMDY2Cis6MTAzQjJEMDBGOTkwMDAwMTc0MEExMjBDOUM5MDAwMDIxMjBERjYwMDFGCis6MTAzQjNEMDAwMEJCODA5MDAwMDYxMjBERjYwMDAwQUM0NDkwMDAwQTA4Cis6MTAzQjREMDAxMjBERjYwMDAxNzcwMDkwNzgwNEU0NzVGMDBGMTIwQzU5Cis6MTAzQjVEMDBGNDkwNzgwM0UwRkJBM0UwRkFBM0UwRjk3NDQwMTIwQ0IzCis6MTAzQjZEMDA4QTkwNzgwM0UwRkJBM0UwRkFBM0UwRjk5MDAwMDE3NERBCis6MTAzQjdEMDA4QzEyMEM5QzkwMDAwMjEyMERGNjAwMDBCQjgwOTAwMDgwCis6MTAzQjhEMDAwNjEyMERGNjAwMDBBQzQ0OTAwMDBBMTIwREY2MDAwMTZECis6MTAzQjlEMDA3NzAwOTA3ODA0RTQ3NUYwMEYxMjBDRjQ5MDc4MDNFMDQwCis6MTAzQkFEMDBGQkEzRTBGQUEzRTBGOTc0NDAxMjBDOEE5MDc4MDNFMENECis6MTAzQkJEMDBGQkEzRTBGQUEzRTBGOTkwMDAwMTc0OEYxMjBDOUM5MDI2Cis6MTAzQkNEMDA3ODA0RTQ3NUYwMEYxMjBDRjQ5MDc4MDNFMEZCQTNFMDk5Cis6MTAzQkREMDBGQUEzRTBGOTc0NDExMjBDOEE5MDc4MDNFMEZCQTNFMDlDCis6MTAzQkVEMDBGQUEzRTBGOTkwMDAwMTc0ODQxMjBDOUM5MDc4MDRFNDFGCis6MTAzQkZEMDA3NUYwMEYxMjBDRjQ5MDc4MDNFMEZCQTNFMEZBQTNFMDRDCis6MTAzQzBEMDBGOTc0NjExMjBDOEE5MDc4MDNFMEZCQTNFMEZBQTNFMDRCCis6MTAzQzFEMDBGOTkwMDAwMTc0ODExMjBDOUM5MDc4MDRFNDc1RjAwRkZBCis6MTAzQzJEMDAxMjBDRjQ5MDc4MDNFMEZCQTNFMEZBQTNFMEY5NzQ2MUMxCis6MTAzQzNEMDAxMjBDOEE5MDc4MDNFMEZCQTNFMEZBQTNFMEY5OTAwMDYwCis6MDYzQzREMDAwMTc0MDExMjBDOUM0MQorOjAxM0M1MzAwMjI0RQorOjEwM0M1NDAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTBFQQorOjEwM0M2NDAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZBNQorOjAyM0M3NDAwQzBFMEFFCis6MTAzQzc2MDA5MDdGQTJFMEY1MEI5MDdGNzRFMDkwNzk3MEYwOTA3RkQyCis6MTAzQzg2MDA3NUUwOTA3OTcxRjA5MDc5ODNFMEZGRkU1NDAyRkU3MDQyCis6MTAzQzk2MDAwREVGNDQwMkYwMTIyRkRGOTA3OTc0NzQwMUYwRTUwQkZBCis6MTAzQ0E2MDAyMEUyMjg5MDc5NzBFMEZFQTNFMDdDMDAyNDAwRjUxMTY0Cis6MTAzQ0I2MDBFQzNFRjUxMDkwNzk4MkUwRkRBRTEwQUYxMTEyMENCRTBECis6MTAzQ0M2MDA5MDc5NzBFRkYwOTA3OTg5NzQwMUYwMTI0ODQzMTI0OEE4Cis6MTAzQ0Q2MDA3NjkwNzk4OUUwNjQwMTcwMzIxMjQxMDg5MDc5ODlFNDFFCis6MTAzQ0U2MDBGMDkwN0Y5OEUwNDQ0MEYwOTA3RjlFRTA0NDQwRjA5MDUyCis6MTAzQ0Y2MDA3Rjk1NzQ4MEYwNzVFODAxMTIwOTMyNzVFODBEOTA3RkEyCis6MTAzRDA2MDA5NTc0QzBGMDc1RTgwREQyMjA4MDA1NzVFODAxQzIyMEQzCis6MTAzRDE2MDAyMDIwMkI5MDc5MkRFMEZGQjQwMTA5NzUwQzY3NzUwREY1Cis6MTAzRDI2MDAwNjc1MEUwQkVGQjQwMjA5NzUwQzAwNzUwRDAwNzUwRUM1Cis6MTAzRDM2MDAwQ0VGQjQwMzA5NzUwQzAwNzUwRDAwNzUwRTE4NzVDQUU1Cis6MTAzRDQ2MDA2Rjc1Q0JGRUQyQ0E1MzkxRUY5MDdGQUI3NDAyRjBGMDQxCis6MTAzRDU2MDBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMDJDCis6MTAzRDY2MDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODJEMDgzRDBGMDFECis6MDMzRDc2MDBEMEUwMzI2OAorOjEwM0Q3OTAwNzUzMzI1NzUzNDI0OTA3OTVDNzQwMUYwQTM3NDc4RjA1NworOjEwM0Q4OTAwQTM3NEIyRjAyMDJGMDJDMTE3RTRGNTM1NzUyMjAxOTAxMgorOjEwM0Q5OTAwNzk1Q0UwRkJBM0UwRkFBM0UwRjk5MDAwMDQxMjBDNUQ2MgorOjEwM0RBOTAwRjUzNjc1MzUwNjc0NDIyNTM1RjU4MkU0MzQ3OUY1ODM5RgorOjEwM0RCOTAwRTUzNkYwMDUzNUU1MzVCNDBDRUJFNTM1QzM5NDBENDAzMgorOjEwM0RDOTAwMDJDMTk4RTUyMjY0MDE2MDAyQzE5ODkwN0ZBNUUwNDQ5MAorOjEwM0REOTAwODBGMDkwN0ZBNkU1MzNGMDEyNDZDMDc0NEYyNTM1RjU4MworOjEwM0RFOTAwODJFNDM0NzlGNTgzRTA5MDdGQTZGMDEyNDZDMDc0NDJFQworOjEwM0RGOTAwMjUzNUY1ODJFNDM0NzlGNTgzRTA5MDdGQTZGMDEyNDYwMworOjEwM0UwOTAwQzA5MDdGQTU3NDQwRjAxMjBBQ0QwNTM1ODBBQ0U0RjU2OQorOjEwM0UxOTAwMzU3NTIyMDE5MDc5NUNFMEZCQTNFMEZBQTNFMEY5OTAwMworOjEwM0UyOTAwMDAwNDEyMEM1REY1MzY3NTM1MDY3NDM1MjUzNUY1ODJCNQorOjEwM0UzOTAwRTQzNDc5RjU4M0U1MzZGMDA1MzVFNTM1QjQwQ0VCRTU4MQorOjEwM0U0OTAwMzVDMzk0MEQ1MDQ5RTUyMjY0MDE3MDQzOTA3RkE1RTA4NAorOjEwM0U1OTAwNDQ4MEYwOTA3RkE2RTUzM0YwMTI0NkMwNzQ0RjI1MzVCMworOjEwM0U2OTAwRjU4MkU0MzQ3OUY1ODNFMDkwN0ZBNkYwMTI0NkMwNzRCOAorOjEwM0U3OTAwMzUyNTM1RjU4MkU0MzQ3OUY1ODNFMDkwN0ZBNkYwMTI5MworOjBGM0U4OTAwNDZDMDkwN0ZBNTc0NDBGMDEyMEFDRDA1MzU4MEIwNzkKKzowMTNFOTgwMDIyMDcKKzoxMDNFOTkwMDkwNzgwOTc0MDFGMEEzNzQ3OEYwQTM3NEIyRjBFNEZGODgKKzoxMDNFQTkwMEZFOTA3ODA5RTBGQkEzRTBGQUEzRTBGOUVGMTIwQzhBOEYKKzoxMDNFQjkwMDkwNzgwOUUwRkJBM0UwRkFBM0UwRjk5MDAwMDFFNDEyOEQKKzoxMDNFQzkwMDBDOUM5MDAwMDI3NDE1MTIwQzlDOTAwMDAzRTQxMjBDRDcKKzoxMDNFRDkwMDlDOTAwMDA0NzRGRjEyMEM5QzkwMDAwNUU0MTIwQzlDNDkKKzoxMDNFRTkwMDkwMDAwNjc0QzMxMjBDOUM5MDAwMDdFNDEyMEM5QzkwN0QKKzoxMDNFRjkwMDAwMDhFNDEyMEM5QzkwMDAwOUU0MTIwQzlDOTAwMDBBNDIKKzoxMDNGMDkwMDc0MDExMjBDOUM5MDc4MEFFNDc1RjAwQjEyMENGNDBGRjIKKzoxMDNGMTkwMDBFQkUwNzhEOTA3ODA5NzQwMUYwQTM3NDc4RjBBMzc0MkMKKzoxMDNGMjkwMEZGRjBFNEZGRkU5MDc4MDlFMEZCQTNFMEZBQTNFMEY5RDMKKzoxMDNGMzkwMEVGMTIwQzhBOTA3ODA5RTBGQkEzRTBGQUEzRTBGOTkwNkMKKzoxMDNGNDkwMDAwMDFFNDEyMEM5QzkwMDAwMjc0MTUxMjBDOUM5MDAwNjQKKzoxMDNGNTkwMDAzRTQxMjBDOUM5MDAwMDQ3NDgwMTIwQzlDOTAwMDA1RTAKKzoxMDNGNjkwMEU0MTIwQzlDOTAwMDA2NzRDMzEyMEM5QzkwMDAwN0U0QTgKKzoxMDNGNzkwMDEyMEM5QzkwMDAwOEU0MTIwQzlDOTAwMDA5RTQxMjBDQUQKKzoxMDNGODkwMDlDOTAwMDBBNzQwMTEyMEM5QzkwNzgwQUU0NzVGMDBCNUQKKzowODNGOTkwMDEyMENGNDBGMEVCRTAzOERBMworOjAxM0ZBMTAwMjJGRAorOjEwM0ZBMjAwRTRGRTc1M0RGRjc1M0UwNTc1M0YxMkFCM0RBQTNFQTk4NQorOjEwM0ZCMjAwM0Y5MDAwMDExMjBDNUQ2NDAyNzAyRkNERUVDRDBFRUQyQworOjEwM0ZDMjAwNkY3MDAxMjI5MDAwMDIxMjBEMEE4NUYwM0JGNTNDNjJFRgorOjEwM0ZEMjAwM0JFNTNCNjIzQ0U1M0M2MjNCMjlGREU1M0IzQUM5RURGMgorOjEwM0ZFMjAwQzk3NTNERkZGNTNFODkzRjgwQzE3QjAwN0EwMDc5MDBBQgorOjAxM0ZGMjAwMjJBQworOjA5M0ZGMzAwNTNEOEVGNDNEODIwQzIyRDMyNEYKKzowNDNGRkMwMDUzOTFERjMyQ0MKKzoxMDQwMDAwMDkwNzk4N0UwQjQwMTFEOTA3OTg1RTBCNDAxMDMxMjQyRjQKKzoxMDQwMTAwMEFBOTA3OTg2RTBCNDAxMDMxMjE4MDBFNDkwNzk4NUYwNDMKKzoxMDQwMjAwMEEzRjBBM0YwMTIyRTk0OTA3RjlCRTBGNTBBNTQwMkY1QzIKKzoxMDQwMzAwMDBBNzAwNDkwNzk3RkYwOTA3RjlCRTBGNTBBNTQwMkZGQUMKKzoxMDQwNDAwMEY1MEFCRjAyMDY5MDc5N0Y3NDAxRjA5MDdGOUJFMEY1M0UKKzoxMDQwNTAwMDBBNTQyMEY1MEE3MDA0OTA3OTdFRjA5MDdGOUJFMEY1NzkKKzoxMDQwNjAwMDBBNTQyMEZGRjUwQUJGMjAwNjkwNzk3RTc0MDFGMDkwNzMKKzoxMDQwNzAwMDc5N0ZFMEZGOTA3OTgxRTA2RjYwMzg5MDc5Nzg3NDAyMDEKKzoxMDQwODAwMEYwOTA3OTg0RTA5MDc5NzlGMEVGQjQwMTA2RTA1NEZFODUKKzoxMDQwOTAwMEYwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTc5RTA5MDc5QTcKKzoxMDQwQTAwMDg0RjBBMkFGRTQzM0Y1MTJDMkFGMTIwQkEyRTUxMjYwQTYKKzoxMDQwQjAwMDAyRDJBRjkwNzk3RUUwRkY5MDc5ODBFMDZGNjAzODkwMTcKKzoxMDQwQzAwMDc5Nzg3NDAxRjA5MDc5N0NFMDkwNzk3OUYwRUZCNDAxMUYKKzoxMDQwRDAwMDA2RTA0NDA0RjA4MDA3OTA3OTc5RTA1NEZCRjA5MDc5OTEKKzoxMDQwRTAwMDc5RTA5MDc5N0NGMEEyQUZFNDMzRjUxMkMyQUYxMjBCMDUKKzoxMDQwRjAwMEEyRTUxMjYwMDJEMkFGOTA3OTdGRTA5MDc5ODFGMDkwRDIKKzowODQxMDAwMDc5N0VFMDkwNzk4MEYwMjI0NQorOjEwNDEwODAwOTA3OTJERTA2NDAxNzAzNTkwNzk3MEUwRkZEMzk0MkQ5QgorOjEwNDExODAwNDAyQjkwNzk2OTc0MDFGMDkwNzk2OEUwMDRGMEUwRDM1RAorOjEwNDEyODAwOTQwRjQwMTlFNEYwRUZEMzk0MzE0MDA4OTA3OTJENzQzRQorOjEwNDEzODAwMDNGMDgwMDY5MDc5MkQ3NDAyRjAxMjEwMDA5MDc5MkQwQQorOjEwNDE0ODAwRTBCNDAyMkM5MDc5NzBFMEZGQzM5NDJGNTAyMkVGRDM5MworOjEwNDE1ODAwOTQyQTQwMUM5MDc5Njk3NDAxRjA5MDc5NjhFMDA0RjAyMQorOjEwNDE2ODAwRTBEMzk0MEY0MDBBRTRGMDkwNzkyRDA0RjAxMjEwMDA4NworOjEwNDE3ODAwOTA3OTJERTBCNDAyMjY5MDc5NzBFMEQzOTQzMTQwMURGNworOjEwNDE4ODAwOTA3OTY5NzQwMUYwOTA3OTY4RTAwNEYwRTBEMzk0MEZCNQorOjEwNDE5ODAwNDAwQkU0RjA5MDc5MkQ3NDAzRjAxMjEwMDA5MDc5MkQwMworOjEwNDFBODAwRTA2NDAzNzAzRjkwNzk3MEUwRkZDMzk0NUY1MDM1OTBFRQorOjEwNDFCODAwNzk2OTc0MDFGMDkwNzk2OEUwMDRGMEUwRDM5NDBGNDBENQorOjEwNDFDODAwMjNFNEYwRUZDMzk0MkY1MDBDRUZEMzk0MkE0MDA2OTBDOQorOjEwNDFEODAwNzkyRDc0MDFGMEVGRDM5NDJGNDAwNjkwNzkyRDc0MDI1NQorOjEwNDFFODAwRjAxMjEwMDA5MDc5NjlFMDcwMDU5MDc5NjhGMDIyRTQ4NworOjA1NDFGODAwOTA3OTY5RjAyMjNFCis6MTA0MUZEMDA3QjAxN0E3ODc5NEM5MDc4MDZFQkYwQTNFQUYwQTNFOThECis6MTA0MjBEMDBGMEU0MTIwQzhBOTA3ODA2RTBGQkEzRTBGQUEzRTBGOTQzCis6MTA0MjFEMDA5MDAwMDE3NDAxMTIwQzlDOTA3ODA3RTQ3NUYwMDMxMjY0Cis6MTA0MjJEMDAwQ0Y0OTA3ODA2RTBGQkEzRTBGQUEzRTBGOUU0MTIwQzlECis6MTA0MjNEMDA4QTkwNzgwNkUwRkJBM0UwRkFBM0UwRjk5MDAwMDE3NDAwCis6MTA0MjREMDAwMjEyMEM5QzkwNzgwN0U0NzVGMDAzMTIwQ0Y0OTA3ODMwCis6MTA0MjVEMDAwNkUwRkJBM0UwRkFBM0UwRjlFNDEyMEM4QTkwNzgwNkRECis6MTA0MjZEMDBFMEZCQTNFMEZBQTNFMEY5OTAwMDAxNzQwMzEyMEM5Q0FCCis6MTA0MjdEMDA5MDc4MDdFNDc1RjAwMzEyMENGNDkwNzgwNkUwRkJBMzM4Cis6MTA0MjhEMDBFMEZBQTNFMEY5RTQxMjBDOEE5MDc4MDZFMEZCQTNFMEQzCis6MEM0MjlEMDBGQUEzRTBGOTkwMDAwMTc0MDQxMjBDOUNEQworOjAxNDJBOTAwMjJGMgorOjEwNDJBQTAwRTRGRkZFN0IwMTkwNzgwQzA0RjBBMzc0NzhGMEEzNzQwOQorOjEwNDJCQTAwMkJGMDkwNzgwQ0UwRkJBM0UwRkFBM0UwRjk5MDAwMDI1RgorOjEwNDJDQTAwMTIwQzVERkQ5MDc5OUFFMDZENjAxM0VGQzM5NDA1NTA2RQorOjEwNDJEQTAwMEQwRjkwNzgwREU0NzVGMDAzMTIwQ0Y0ODBENDhEMzMzMQorOjEwNDJFQTAwOTA3ODBDRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTEyMEMyRAorOjEwNDJGQTAwNURGRDkwNzk5QkUwRkM2RDYwMTNFRUMzOTQwQjUwMEQ0RAorOjEwNDMwQTAwMEU5MDc4MERFNDc1RjAwMzEyMENGNDgwRDM4QzM0RUYyMAorOjEwNDMxQTAwNjQwNTYwMDNCRTBCMDg5MDdGQjRFMDQ0MDFGMDIyOTA2QworOjEwNDMyQTAwNzgwQ0UwRkJBM0UwRkFBM0UwRjkxMjBDNDRGRjI0RjBCNgorOjEwNDMzQTAwNjAwODI0MEU3MDBFMTI0OTREMjI5MDc5MjBFNTM0RjA1RgorOjBCNDM0QTAwMTIxQjJBMjI5MDdGQjRFMDQ0MDFGMDE3Cis6MDE0MzU1MDAyMjQ1Cis6MEM0MzU2MDA3ODdGRTRGNkQ4RkQ3NTgxM0YwMjQzOUQ5RQorOjEwNDM2MjAwMDI0OEE5RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjI4MAorOjEwNDM3MjAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzM1QworOjEwNDM4MjAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REYyQgorOjEwNDM5MjAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwNDY2MUU0N0UxNAorOjEwNDNBMjAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTMyMAorOjEwNDNCMjAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNFNworOjEwNDNDMjAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0ExMgorOjEwNDNEMjAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVDQQorOjEwNDNFMjAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTA1NQorOjEwNDNGMjAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUYxMAorOjEwNDQwMjAwQzBFMEMyQ0FDMkNGOTA3OTdBRTBCNDAxMUYxMjRCQUVBQgorOjEwNDQxMjAwMTI0NzU4NTNBOEEwOTA3RkFFRTRGMDEyMDdBQTEyNEI5RAorOjEwNDQyMjAwQjc5MDdGQUU3NDFGRjA0M0E4MDU4MDAzNTNBOEEwNTMzMgorOjEwNDQzMjAwQThGQTc1RTgwMTEyMDkxNTc1RTgwRDQzQTgwNUQwRTA0MAorOjEwNDQ0MjAwRkZEMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMEUwRkEwRgorOjEwNDQ1MjAwRDBFMEY5RDBFMEY4RDBEMEQwODJEMDgzRDBGMEQwRTA1NAorOjAxNDQ2MjAwMzIyNworOjEwNDQ2MzAwOTA3RkVDRTBGNTA5MTQ2MDFEMTQ2MDJBMTQ2MDM3MTQ4MgorOjEwNDQ3MzAwNjA0NDI0MDQ3MDUwOTA3OTYyRTA5MDdGMDBGMDkwN0Y1NAorOjEwNDQ4MzAwQjU3NDAxRjA4MDQ3OTA3OTYzRTA5MDdGMDBGMDkwN0ZFRQorOjEwNDQ5MzAwQjU3NDAxRjA4MDM3OTA3OTY0RTA5MDdGMDBGMDkwN0ZFRAorOjEwNDRBMzAwQjU3NDAxRjA4MDI3OTA3OTY2RTA5MDdGMDBGMDkwN0ZFQgorOjEwNDRCMzAwQjU3NDAxRjA4MDE3OTA3OTY3RTA5MDdGMDBGMDkwN0ZFQQorOjBGNDRDMzAwQjU3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjBEMzIyN0MKKzowNDQ0RDIwMDhEMzY4QjM3NjEKKzoxMDQ0RDYwMDEyM0ZBMkVBNDk2MDU3MTIwQzQ0N0UwMDI5RkZFRTNBQzkKKzoxMDQ0RTYwMEM5RUZDOTc1MzhGRkY1Mzk4OTNBQUIzOEFBMzlBOTNBRkYKKzoxMDQ0RjYwMDkwMDAwMTEyMEM1REZGNjQwNDYwMDVFRjY0MDU3MDJFRTgKKzoxMDQ1MDYwMEVGQjQwNDE1OTAwMDAyMTIwQzVENjUzNjcwMEI5MDAwMzYKKzoxMDQ1MTYwMDAzMTIwQzVENjUzNzcwMDEyMjEyMEM0NDdFMDAyOUZGRTAKKzoxMDQ1MjYwMEVFM0FDOUVGQzk3NTM4RkZGNTM5ODkzQTgwQkM3QjAwODgKKzowNDQ1MzYwMDdBMDA3OTAwOEUKKzowMTQ1M0EwMDIyNUUKKzoxMDQ1M0IwMEU0RkY3QjAxOTA3ODFDMDRGMEEzNzQ3OEYwQTM3NDRDMTcKKzoxMDQ1NEIwMEYwOTA3ODFDRTBGQkEzRTBGQUEzRTBGOTkwMDAwMjEyRDQKKzoxMDQ1NUIwMDBDNURGRTkwN0ZFQ0UwNkU2MDEzRUZDMzk0MDQ1MDBEODYKKzoxMDQ1NkIwMDkwNzgxREU0NzVGMDAzMTIwQ0Y0MEY4MEQ0QkYwNDA5OEUKKzoxMDQ1N0IwMDkwN0ZCNEUwNDQwMUYwODAxNDkwNzkyMUUwRkY5MDc4QjMKKzoxMDQ1OEIwMDFDRTBGQkEzRTBGQUEzRTBGOUVGMTIwQzhBOTA3RkM1QzUKKzowMzQ1OUIwMDc0MDFGMEI4Cis6MDE0NTlFMDAyMkZBCis6MEU0NTlGMDBDMEUwQzA4M0MwODJDMEQwRUVDMEUwRUZDMEUwM0MKKzoxMDQ1QUQwMDkwNzk4NUUwNjQwMTYwMDVBM0UwQjQwMTJEOTA3OTg3RDEKKzoxMDQ1QkQwMDc0MDFGMEU0RkY5MDdGQzVFMEZFRUZDMzlFNTAxQjc0QzUKKzoxMDQ1Q0QwMEMwMkZGNTgyRTQzNDdFRjU4M0UwRkU3NDIxMkZGNTgyNTEKKzoxMDQ1REQwMEU0MzQ3OUY1ODNFRUYwMEY4MERCNTM5MUVGOTA3RkFBRjEKKzowNDQ1RUQwMEUwNDQwMUYwQjUKKzowRjQ1RjEwMEQwRTBGRkQwRTBGRUQwRDBEMDgyRDA4M0QwRTAzMjM3Cis6MTA0NjAwMDBFNEZGN0IwMTkwNzgxOTA0RjBBMzc0NzhGMEEzNzQ0QzU0Cis6MTA0NjEwMDBGMDkwNzgxOUUwRkJBM0UwRkFBM0UwRjk5MDAwMDIxMjExCis6MTA0NjIwMDAwQzVERkU5MDdGRUNFMDZFNjAxM0VGQzM5NDA0NTAwREMwCis6MTA0NjMwMDA5MDc4MUFFNDc1RjAwMzEyMENGNDBGODBENEJGMDQwOENDCis6MTA0NjQwMDA5MDdGQjRFMDQ0MDFGMDIyOTA3ODE5RTBGQkEzRTBGQUY3Cis6MTA0NjUwMDBBM0UwRjkxMjBDNDQ5MDdGMDBGMDkwN0ZCNTc0MDFGMDU0Cis6MDE0NjYwMDAyMjM3Cis6MTA0NjYxMDAwMTE4MDIwMTE5MEEwMTFDMDBDMTI4QzEyOTAxMUYwMUY5Cis6MEY0NjcxMDA0NDc5OUYwMDAwMDAwMDQxNzlBMzAwNDE3OUE0MDAyMworOjA0NDY4MDAwNDE3OTg5MDBGMworOjEwNDY4NDAwMDEyMjAxNDE3OTMxRkY0MTc5MzQwMDRENzkzNTNGM0ZCMQorOjEwNDY5NDAwMDAwODAwMDEwMDAwMDAwMDAwMDAxNTRENzk0MjNGM0Y3MgorOjEwNDZBNDAwMDYwODA0MDcwMDAwMDAwMDAwMDAxNTRENzk0RjBBMEFBRgorOjBCNDZCNDAwMDkwMDAxMDkwMjAzMDQwNTA2MDcwOEM1Cis6MDE0NkJGMDAwMEZBCis6MTA0NkMwMDAxMjBBQ0Q5MDdGQTVFMEY1MjFFNTIxNTQwMUY1MjE2NDgyCis6MTA0NkQwMDAwMTYwMjhFNTIyNjQwMTcwMjI5MDdGQTVFMEY1MjE1NDU1Cis6MTA0NkUwMDAwMkY1MjE3MDAzNzUyMjAxOTA3RkE1RTBGNTIxNTQwNEE1Cis6MEM0NkYwMDBGRkY1MjFCRjA0RDM3NTIyMDE4MENFMjIwQgorOjA0NDZGQzAwNTNEOEY3MzI2NgorOjEwNDcwMDAwMDI0OUZBMDAwMjNDNTQwMDAyMTdFNDAwMDI0QTEyMDA3NworOjEwNDcxMDAwMDIzN0EyMDAwMjQ3RkYwMDAyNEE0MTAwMDI0NTlGMDAwMworOjEwNDcyMDAwMDI0OThFMDAwMjQ5QUIwMDAyNEE1ODAwMDI0QTZGMDA1QgorOjEwNDczMDAwMDI0QTg2MDAwMjRBOUQwMDAyNEFCNDAwMDI0QUNCMDBBNworOjEwNDc0MDAwMDI0QUUyMDAwMjRBRjkwMDAyNEIxMDAwMDI0QjI3MDAyNQorOjA4NDc1MDAwMDI0QjNFMDAwMjRCNTUwMDM0Cis6MTA0NzU4MDBFNTE4NzAxNDkwNzk4Q0UwMDRGMDkwNzk4QkUwQzM5NDlDCis6MTA0NzY4MDAwMDQwMTVFMDE0RjA4MDEwOTA3OThCRTAwNEYwQTNFMDhECis6MTA0Nzc4MDBDMzk0MDA0MDAzRTAxNEYwOTA3OThCRTBEMzk0MTQ0MDg0Cis6MTA0Nzg4MDAwNEU0RjUxOEYwOTA3OThDRTBEMzk0MTQ0MDA1NzUxODdBCis6MDQ0Nzk4MDAwMUU0RjAyMjI2Cis6MTA0NzlDMDA5MDdGRDdFMEY1MzM5MDdGRUNFMEY1MDkxNDYwMTExNEFECis6MTA0N0FDMDA2MDFCMjQwMjcwMjQ5MDdGRUFFMDkwNzk2MkYwODAyMUYzCis6MTA0N0JDMDA5MDdGRUFFMDkwNzk2M0YwMTIxMDAwODAxNDkwN0ZFQTA5Cis6MTA0N0NDMDBFMDkwNzk2NEYwMTIyODAxODAwNzkwN0ZCNEUwNDQwMUY2Cis6MDI0N0RDMDBGMEQzMTgKKzowMTQ3REUwMDIyQjgKKzoxMDQ3REYwMDkwNzk3ODc0MDRGMDkwNzkzM0UwOTA3OTc5RjBBMkFGMDIKKzoxMDQ3RUYwMEU0MzNGNTEyQzJBRjEyMEJBMkU1MTI2MDAyRDJBRjIyNzAKKzowMTQ3RkYwMDMyODcKKzowMjQ4MDAwMDhGMzZGMQorOjEwNDgwMjAwRTRGNTM3NzUzOEZGNzUzOTA3NzUzQTAxQUIzOEFBMzlCRgorOjEwNDgxMjAwQTkzQTkwMDAwMTEyMEM1REI0MDMxRkFGMzcwNTM3RUZDMAorOjEwNDgyMjAwNjUzNjcwMDEyMjEyMEM0NDdFMDAyOUZGRUUzQUM5RUY3MAorOjEwNDgzMjAwQzk3NTM4RkZGNTM5ODkzQTgwRDI3QjAwN0EwMDc5MDA1MAorOjAxNDg0MjAwMjI1MworOjEwNDg0MzAwMzAyNjJGQzIyNjkwNzkyREUwRkZCNDAxMDlFNEY1MEM0MAorOjEwNDg1MzAwNzUwREY4NzUwRTBBRUZCNDAyMDlFNEY1MEM3NTBERjA0OQorOjEwNDg2MzAwNzUwRTBCRUZCNDAzMDlFNEY1MEM3NTBERjg3NTBFMTcwRgorOjAzNDg3MzAwRDIyMjIyMkMKKzoxMDQ4NzYwMDMwMjUyRkMyMjU5MDc5MkRFMEZGQjQwMTA5NzUwQ0MwQjMKKzoxMDQ4ODYwMDc1MEQxNDc1MEUwQkVGQjQwMjA5RTRGNTBDNzUwRDEwRDkKKzoxMDQ4OTYwMDc1MEUwQ0VGQjQwMzA5RTRGNTBDNzUwRDE4NzUwRTE4QkEKKzowMzQ4QTYwMEQyMjIyMkY5Cis6MTA0OEE5MDBFNEY1MzIxMjBGNTAyMDJFMTBFNTMyQzM5NDAyNTAwOTVDCis6MTA0OEI5MDAwNTMyRDIzMDEyNDkwNTgwRUQzMDJFMDUxMjE0NTdDMjQ3Cis6MEY0OEM5MDAyRTMwMkQwNjEyMDc5QTEyNDhEOTEyNDAwMDgwRUFBRAorOjAxNDhEODAwMjJCRAorOjEwNDhEOTAwOTA3RkQ2RTBGNTFENTQ4MEY1MUQ2NDgwNzAxREMyQUYzMAorOjEwNDhFOTAwRTA0NDgwRjBFMDQ0MDFGMDdGMEM3RTAwMTI0QjZDOTBCNAorOjBDNDhGOTAwN0ZENkUwNTRGRUYwNTM4N0ZFRDJBRjIyQzEKKzoxMDQ5MDUwMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDMwMDRFMDQ0RkEKKzoxMDQ5MTUwMDAyRjA3RkRDN0UwNTEyNEI2QzkwN0ZENkUwNTRGN0YwRjkKKzowNTQ5MjUwMEUwNDQwNEYwMjI1MworOjEwNDkyQTAwOTA3RkVCRTAxNDcwMTQ5MDdGRTlFMDI0N0Y3MDA0MTIwQQorOjEwNDkzQTAwNDYwMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQyNAorOjAzNDk0QTAwMDFGMDIyNTcKKzoxMDQ5NEQwMDkwN0ZFQkUwMTQ3MDEzOTA3RkU5RTAxNDcwMDQxMjQ1MzIKKzoxMDQ5NUQwMDNCMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxMEIKKzowMjQ5NkQwMEYwMjIzNgorOjEwNDk2RjAwRTRGRjc0RTgyRkY1ODJFNDM0N0ZGNTgzRTBGRTc0OTY1QworOjBFNDk3RjAwMkZGNTgyRTQzNDc5RjU4M0VFRjAwRkJGMDhFNEUzCis6MDE0OThEMDAyMjA3Cis6MTA0OThFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDJGMDUzCis6MEQ0OTlFMDA5MDdGQjc3NDAzRjBEMDgyRDA4M0QwRTAzMjU4Cis6MTA0OUFCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDJGMDM1Cis6MEQ0OUJCMDA5MDdGQzc3NDAzRjBEMDgyRDA4M0QwRTAzMjJCCis6MTA0OUM4MDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMkI5Cis6MEE0OUQ4MDA0QjZDOTA3RkQ2RTA1NEZFRjAyMkY1Cis6MTA0OUUyMDBFNEY1MUE3NTFCMDE5MDc5OTEwNEYwQTNGMEU0QTNGMEE5Cis6MDg0OUYyMDBBMzc0MEFGMEU0QTNGMDIyMTMKKzoxMDQ5RkEwMEMwRTBDMDgzQzA4MkQyMkU1MzkxRUY5MDdGQUI3NDAxODYKKzowODRBMEEwMEYwRDA4MkQwODNEMEUwMzIyRAorOjEwNEExMjAwQzBFMEMwODNDMDgyRDIyRDUzOTFFRjkwN0ZBQjc0MDg2NworOjA4NEEyMjAwRjBEMDgyRDA4M0QwRTAzMjE1Cis6MTA0QTJBMDA5MDdGRUFFMEY1MDhFNDkwNzk2MkYwQTNGMEEzRjA5MEIxCis6MDc0QTNBMDA3OTY2RjBBM0YwRDMyMjFFCis6MTA0QTQxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDFGMEEwCis6MDc0QTUxMDBEMDgyRDA4M0QwRTAzMkQ3Cis6MTA0QTU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDRGMDg2Cis6MDc0QTY4MDBEMDgyRDA4M0QwRTAzMkMwCis6MTA0QTZGMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDRGMDZFCis6MDc0QTdGMDBEMDgyRDA4M0QwRTAzMkE5Cis6MTA0QTg2MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDhGMDU0Cis6MDc0QTk2MDBEMDgyRDA4M0QwRTAzMjkyCis6MTA0QTlEMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDhGMDNDCis6MDc0QUFEMDBEMDgyRDA4M0QwRTAzMjdCCis6MTA0QUI0MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MTBGMDFFCis6MDc0QUM0MDBEMDgyRDA4M0QwRTAzMjY0Cis6MTA0QUNCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MTBGMDA2Cis6MDc0QURCMDBEMDgyRDA4M0QwRTAzMjRECis6MTA0QUUyMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MjBGMEUwCis6MDc0QUYyMDBEMDgyRDA4M0QwRTAzMjM2Cis6MTA0QUY5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MjBGMEM4Cis6MDc0QjA5MDBEMDgyRDA4M0QwRTAzMjFFCis6MTA0QjEwMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0NDBGMDkxCis6MDc0QjIwMDBEMDgyRDA4M0QwRTAzMjA3Cis6MTA0QjI3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0NDBGMDc5Cis6MDc0QjM3MDBEMDgyRDA4M0QwRTAzMkYwCis6MTA0QjNFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0ODBGMDIzCis6MDc0QjRFMDBEMDgyRDA4M0QwRTAzMkQ5Cis6MTA0QjU1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0ODBGMDBCCis6MDc0QjY1MDBEMDgyRDA4M0QwRTAzMkMyCis6MTA0QjZDMDA4RTMzOEYzNEU1MzQxNTM0QUUzMzcwMDIxNTMzNEU2MDBBCis6MDc0QjdDMDAwNTEyMDc4OTgwRUUyMkZCCis6MEY0QjgzMDA5MDdGRUFFMEI0RkYwNDEyMzAwMDIyMTIzNjBFMjJCNworOjBFNEI5MjAwQzBFMEMyOEJEMjI0MzAyMzAyQzIyM0QwRTAzMjE2Cis6MEU0QkEwMDA5MDdGMDBFNTA4RjA5MDdGQjU3NDAxRjBEMzIyRkQKKzowOTRCQUUwMDMwMjQwNUMyMjQ3NTE4MDEyMjBGCis6MDk0QkI3MDAzMDIzMDVDMjIzRTRGNTE4MjJBNQorOjA3NEJDMDAwNTNDMEZFNTNDMEZEMzI5QgorOjA2NEJDNzAwNTM5MTdGRDIyNTMyNUMKKzowNTRCQ0QwMEMyODlEMjIzMzI3MQorOjAzNEJEMjAwQzI4RDMyNUYKKzowMzRCRDUwMEMyOEYzMjVBCis6MDI0QkQ4MDBEMzIyRTYKKzowMjRCREEwMEQzMjJFNAorOjAyNEJEQzAwRDMyMkUyCis6MDI0QkRFMDBEMzIyRTAKKzowMjRCRTAwMEQzMjJERQorOjAyNEJFMjAwRDMyMkRDCis6MDI0QkU0MDBDMzIyRUEKKzowMTRCRTYwMDIyQUMKKzowMDAwMDAwMUZGCisvKgorICogVGhpcyBmaXJtd2FyZSBpcyBmb3IgdGhlIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZQorICoKKyAqIFRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIEVtYWdpYworICogYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkCisgKiBvciBwdWJsaWMgYWNjZXNzIHRvIHRoaXMgZmlybXdhcmUgd2hpY2ggaXMgYSB0cmFkZSBzZWNyZXQgb2YgRW1hZ2ljLAorICogYW5kIHdoaWNoIG1heSBub3QgYmUgcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0bworICogYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgRW1hZ2ljJ3Mgd3JpdHRlbiBjb25zZW50LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIHRoZQorICogRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlLiBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZgorICogYW55IGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiBwYXJ0LAorICogcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4KKyAqLworLyoKK1ZFUlNJT049MS4wLjIuOTE2CitEQVRFPTEyLjAyLjIwMDIKKyovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lbWkyNi9sb2FkZXIuSEVYIGIvZmlybXdhcmUvZW1pMjYvbG9hZGVyLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2M0MzlmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZW1pMjYvbG9hZGVyLkhFWApAQCAtMCwwICsxLDExNiBAQAorOjAzMDAwMDAwMDIwMzFDREMKKzowMzAwNDMwMDAyMDQwMEI0Cis6MTAwMTAwMDA5MDdGRTlFMDI0NUI2MDYwMjQwMjYwMDMwMjAxQkU5MEZFCis6MTAwMTEwMDA3RkVBRTA3NTBBMDBGNTBCQTNFMEZFRTRFRTQyMEE5MEU4Cis6MTAwMTIwMDA3RkVFRTA3NTE1MDBGNTE2QTNFMEZFRTRFRTQyMTVFNTVFCis6MTAwMTMwMDAxNjQ1MTU3MDAzMDIwMUJFRTQ5MDdGQzVGMDkwN0ZCNEIwCis6MTAwMTQwMDBFMDIwRTNGOTkwN0ZDNUUwRjUwQzEyMDI3N0FGMEM3RTVBCis6MTAwMTUwMDAwMEVGMjUwQkY1MEJFRTM1MEFGNTBBQzNFNTE2OUZGNTAyCis6MTAwMTYwMDAxNkU1MTU5RUY1MTU4MEM3OTA3RkVBRTA3NTBBMDBGNTQzCis6MTAwMTcwMDAwQkEzRTBGRUU0RUU0MjBBOTA3RkVFRTA3NTE1MDBGNTc5Cis6MTAwMTgwMDAxNkEzRTBGRUU0RUU0MjE1RTUxNjQ1MTU2MDMwRTQ5MDU2Cis6MTAwMTkwMDA3RkM1RjA5MDdGQjRFMDIwRTNGOTkwN0ZDNUUwRjUwQ0Q3Cis6MTAwMUEwMDAxMjAyOEZBRjBDN0UwMEVGMjUwQkY1MEJFRTM1MEFGNTMyCis6MEYwMUIwMDAwQUMzRTUxNjlGRjUxNkU1MTU5RUY1MTU4MENBQzMxRgorOjAxMDFCRjAwMjIxRAorOjEwMDFDMDAwQzIyMEQyRTg0M0Q4MjA5MDdGQUI3NEZGRjA5MDdGQTk4MworOjEwMDFEMDAwRjA5MDdGQUFGMDUzOTFFRjkwN0Y5NUUwNDRDMEYwOTBBQgorOjEwMDFFMDAwN0Y5OEUwNDRDMEYwOTA3RjlFRTA0NEMwRjBFNDkwN0ZCMAorOjEwMDFGMDAwOTRGMDkwN0Y5REUwNDQwRkYwOTA3Rjk3RTA1NEYwRjBGMgorOjEwMDIwMDAwOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUZCQworOjEwMDIxMDAwOTA3Rjk3RTA1NEYwRjAyMDIwNDI3NTE0MDA3NTEzMDA5MQorOjEwMDIyMDAwNzUxMjAwNzUxMTAwN0Y0ODdFOTI3RDAwN0MwMEFCMTQzMgorOjEwMDIzMDAwQUExM0E5MTJBODExQzMxMjA0OUE1MERCMjAyMEQ4N0E1RAorOjEwMDI0MDAwMDA3OTAwNzgwMEU1MTQyNDAxRjUxNEVBMzUxM0Y1MTM1QworOjEwMDI1MDAwRTkzNTEyRjUxMkU4MzUxMUY1MTE4MENBMzAyMEZEMTI4QQorOjEwMDI2MDAwMDEwMDUwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQ3NworOjA2MDI3MDAwMDJGMEMyMjA4MEU2NEUKKzowMTAyNzYwMDIyNjUKKzoxMDAyNzcwMEU1MENGRkU1MEJGNTgyRTUwQUY1ODM3NTkyN0U3NEMwMDAKKzowODAyODcwMEY4RTIwOEYwQTNERkZBMjJGRgorOjEwMDI4RjAwOTA3Rjk2ODU4MzkyQTg4Mjc5MDI5MDAwMDBFMEI0MDA1NworOjEwMDI5RjAwMzc3NDAxRjA5MDdGOTNFMDU0RkNGMDkwN0Y5NkUwNTQxOAorOjEwMDJBRjAwRkNGMDkwN0Y5Q0UwNDQwM0YwOTA3Rjk0RTA1NDdGRjA0QgorOjEwMDJCRjAwOTA3Rjk3RTA0NDgwRjA5MDdGOURFMDQ0ODBGMDkwN0ZBNgorOjEwMDJDRjAwOTdFMDU0N0ZGMDQ0ODBGMEU1MENGRjkwN0VDMEUwRjU5RQorOjEwMDJERjAwMjhFNEEyNDczM0YyNjlGMkU0QTI0NjMzRjI2OUYyRTQ2QQorOjEwMDJFRjAwQTI0NTMzRjI2OUYyRTRBMjQ0MzNGMjY5RjJFNEEyNDM4NQorOjEwMDJGRjAwMzNGMjY5RjJFNEEyNDIzM0YyNjlGMkU0QTI0MTMzRjIzQgorOjBEMDMwRjAwNjlGMkU0QTI0MDMzRjI2OUYyQTNERkMyMjJEQQorOjBDMDMxQzAwNzg3RkU0RjZEOEZENzU4MTI5MDIwMzYzQTgKKzoxMDAzMjgwMDAyMDFDMEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMkEKKzoxMDAzMzgwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzRDYKKzoxMDAzNDgwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGQTUKKzoxMDAzNTgwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDA0ODRFNDdFQUQKKzoxMDAzNjgwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzOUEKKzoxMDAzNzgwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzNjEKKzoxMDAzODgwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBOEMKKzoxMDAzOTgwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFNDQKKzoxMDAzQTgwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGOTcKKzowQjAzQjgwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJBMAorOjEwMDNDMzAwQzBFMEMwODNDMDgyRDIyMDUzOTFFRjkwN0ZBQjc0MDExMQorOjA4MDNEMzAwRjBEMDgyRDA4M0QwRTAzMkFCCis6MTAwM0RCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDAyRjBEMDJBCis6MDYwM0VCMDA4MkQwODNEMEUwMzI1NQorOjAxMDNGMTAwMzJEOQorOjAxMDNGMjAwMzJEOAorOjAxMDNGMzAwMzJENworOjAxMDNGNDAwMzJENgorOjAxMDNGNTAwMzJENQorOjAxMDNGNjAwMzJENAorOjAxMDNGNzAwMzJEMworOjAxMDNGODAwMzJEMgorOjAxMDNGOTAwMzJEMQorOjAxMDNGQTAwMzJEMAorOjAxMDNGQjAwMzJDRgorOjAxMDNGQzAwMzJDRQorOjAxMDNGRDAwMzJDRAorOjAxMDNGRTAwMzJDQworOjAxMDNGRjAwMzJDQgorOjEwMDQwMDAwMDIwM0MzMDAwMjAzREIwMDAyMDNBODAwMDIwNDZFMDAyMworOjEwMDQxMDAwMDIwNDU4MDAwMjAzRjEwMDAyMDNGMjAwMDIwM0YzMDA5OQorOjEwMDQyMDAwMDIwM0Y0MDAwMjAzRjUwMDAyMDNGNjAwMDIwM0Y3MDBFMgorOjEwMDQzMDAwMDIwM0Y4MDAwMjAzRjkwMDAyMDNGQTAwMDIwM0ZCMDBDMgorOjEwMDQ0MDAwMDIwM0ZDMDAwMjAzRkQwMDAyMDNGRTAwMDIwM0ZGMDBBMgorOjA4MDQ1MDAwMDIwNEFCMDAwMjA0QUMwMDQxCis6MTAwNDU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjBEMDlFCis6MDYwNDY4MDA4MkQwODNEMEUwMzJENworOjEwMDQ2RTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwOEYwRDA5MAorOjA2MDQ3RTAwODJEMDgzRDBFMDMyQzEKKzoxMDA0ODQwMDAyMEEwMDBGMDEwQzExMDQwRDAwMDAwMDAwNDEwMDAwREQKKzowMTA0OTQwMDAwNjcKKzowNDA0OTUwMDAyMTcwMDAwNEEKKzowMTA0OTkwMDAwNjIKKzoxMDA0OUEwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwQjgKKzowMTA0QUEwMDIyMkYKKzowMTA0QUIwMDMyMUUKKzowMTA0QUMwMDMyMUQKKzoxMDExMDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MDEwMTAwMDEwMTAyMDMKKzoxMDExMTAwMDAwMDEwOTAyMjAwMDAxMDEwM0EwMDAwOTA0MDAwMDAyRUYKKzoxMDExMjAwMEZGMDAwMDA0MDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwOUMKKzoxMDExMzAwMDAwMDAwNDAzMDkwNDI2MDM0MTAwNkUwMDYzMDA2ODAwRjgKKzoxMDExNDAwMDZGMDA3MjAwMjAwMDQzMDA2ODAwNjkwMDcwMDA3MzAwQTcKKzoxMDExNTAwMDJDMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI4MDM0NjAwOEEKKzoxMDExNjAwMDY5MDA3MjAwNkQwMDc3MDA2MTAwNzIwMDY1MDAyMDAwNjgKKzoxMDExNzAwMDQ2MDA3MjAwNjEwMDZEMDA2NTAwNTcwMDZGMDA3MjAwNEMKKzoxMDExODAwMDZCMDA3MzAwMkEwMzQzMDA2RjAwNkUwMDY2MDA2OTAwNjUKKzoxMDExOTAwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTAwRTYKKzoxMDExQTAwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMjAzODMKKzoxMDExQjAwMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzAwMDMKKzoxMDExQzAwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjMKKzowMjExRDAwMDAwMDAxRAorOjAwMDAwMDAxRkYKKy8qCisgKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCisgKgorICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCisgKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKKyAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCisgKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCisgKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCisgKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCisgKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCisgKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgorICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lbWk2Mi9iaXRzdHJlYW0uSEVYIGIvZmlybXdhcmUvZW1pNjIvYml0c3RyZWFtLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzZlY2MzCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZW1pNjIvYml0c3RyZWFtLkhFWApAQCAtMCwwICsxLDQzNzIgQEAKKzoxMDgwMTAwMEZGRkZGRkZGQUE5OTU1NjYzMDAwODAwMTAwMDAwMDA3QUUKKzoxMDgwMjAwMDMwMDE2MDAxMDAwMDAwMEIzMDAxMjAwMTAwODAzRjJENzUKKzoxMDgwMzAwMDMwMDBDMDAxMDAwMDAwMDAzMDAwODAwMTAwMDAwMDA5OTUKKzoxMDgwNDAwMDMwMDAyMDAxMDAwMDAwMDAzMDAwODAwMTAwMDAwMDAxMkQKKzoxMDgwNTAwMDMwMDA0MDAwNTAwMDNFMDQwODEyMTAwMDAwMDAwMDAwRjQKKzoxMDgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDgwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDA0QkMKKzoxMDgwODAwMDgwMDAwMDAwMDAwMDAwMDAwMDEyMTAwMDAwMDAwMDAwNEUKKzoxMDgwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDgwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDg0MEMKKzoxMDgwQjAwMDgwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwM0UKKzoxMDgwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDgwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwOTgKKzoxMDgwRTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwQ0UKKzoxMDgwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDgxMTAwMDgwMDAwMDAwMDAwMDAwMDAwMDEyMDAwMDAwMDAwMDAwQ0QKKzoxMDgxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDgxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0M0IKKzoxMDgxNDAwMDgwMDAwMDAwMDAwMDAwMDAwODEzMDAwMDAwMDAwMDAwOTQKKzoxMDgxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDgxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDgxNzAwMDkwMDAwMDAwMDAwMDAwMDAwMDEyMDAwMDAwMDAwMDAwNUQKKzoxMDgxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDgxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0NUIKKzoxMDgxQTAwMDkwMDAwMDAwMDAwMDAwMDBGNzEwMDExNDAwMjUwMDA1RjkKKzoxMDgxQjAwMDQwMDE1MDAwOTQwMDE1MDAwNzQwMDFEMDAwOTQwMDI1QjQKKzoxMDgxQzAwMDgwMDE2MDAyRDgwMEY2MDAyRjgwMDJFMDA0RDgzNzQ0MTYKKzoxMDgxRDAwMDkwMDAwMDAwMDAwMDAwMDBDMDA1RjIwMENDOTAzOTIwQTMKKzoxMDgxRTAwMDBEOTgwM0QyMDBFNzgwMzcwNDBFRjE4MzdFMDBERjkwMDQKKzoxMDgxRjAwMDMxRTQ4Rjc5MDM3QzIwREYyMjMzQzAwQ0YwMjIzMDAwODEKKzoxMDgyMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwNjIwMDgwMjQyMjIwMjYKKzoxMDgyMTAwMDA4OTgxMkUyMDA4QjgxMjA5NDA4NzQwMjJFMDA4QTAxRDMKKzoxMDgyMjAwMDIyQzgwODkyMDIzRDgwOEI2MDIyODAwOEIwMDIyMDA0QTAKKzoxMDgyMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzgwMEEwMDAyMDAwRjkKKzoxMDgyNDAwMDBCMTAwMkMwMDBBMTAwMjQwOTRBMzIwMjQ4MDBCMTAwMEMKKzoxMDgyNTAwMDYyQzAwOUEwNDZDQzI0OTM0OTJBODA0ODMwMjI2MjAxOUEKKzoxMDgyNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTgxMkE4MDAyMjAwNDUKKzoxMDgyNzAwMDA4OTAwMkUwMDA4OTgwMjI0NDA4QjAxMkE4MDBBOTQwQkEKKzoxMDgyODAwMDIyQzAwODkwODJBQzAwOUIwNDJBQzQwOEIwMDI3MDA0OEIKKzoxMDgyOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE0ODQwMEU5ODBCMjY0NjcKKzoxMDgyQTAwMDREQTAwM0VBMjBFOUMwMzY0MDBFQjAwMzQ0MDBGQjkwMjUKKzoxMDgyQjAwMEIyODgwREJDMDNFQzA4NUIwMDM4NjAyQ0IwNjM0MDA0NEUKKzoxMDgyQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQyNkREOTAzNzQwOUYKKzoxMDgyRDAwMDRGRTAxM0YyODBGRDAwM0RBMDBENzAwMzc1MDA1RTAwQkQKKzoxMDgyRTAwMDNGQTQwREY5MDM1QzEwRUIwMDM3MjAwRjMwMDNCODAwRkEKKzoxMDgyRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEU5ODAzMjQwNDcKKzoxMDgzMDAwMDBDQTE4M0U4MDBFOTAwMzI0MjBFQjAwM0FDNDhFOTAwNUEKKzoxMDgzMTAwMDNBODAwRUE0MDNFQzAwRUIwMEIyMDMwRUIwMEIxMDA0ODUKKzoxMDgzMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkU4MDg5RDEyMDQwRjgKKzoxMDgzMzAwMDA4QTAwMkMwMDA4MTgwMjI1ODA4RjUwMjJGNDA4QjAwNUYKKzoxMDgzNDAwMDIwQzAwODMwNDM3QzAwODcwMDIyNDAwOEYwMDIzMjAwNDEKKzoxMDgzNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDIwMTlBNDQyOEEyMEQKKzoxMDgzNjAwMDA4MTgwMkMwODBBMTgwQTAwMDA4MzAwMjhFMDBBQjAwNzcKKzoxMDgzNzAwMDJDNDAwQTMwMDIwQzAwQTMwMDIwNDQwQTMwMDIzODAwQ0UKKzoxMDgzODAwMDUwMDAwMDAwMDAwMDAwMDA2MDAxMzIwMDk2ODIyQkEyMjUKKzoxMDgzOTAwMDg4NUEwMkYyMDAwNTgwMjlBMDA4Nzg0MkJFMDA4RTg0MjcKKzoxMDgzQTAwMDJGNjEwQUQ4MDI0RTEwQTc4MDIwMjgwODc4MDIxODAwRjIKKzoxMDgzQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwMEYyMjQzODgwNTcKKzoxMDgzQzAwMDJDMUEwM0M0MDBFMDU4QTA4MDJFMzAwMzg4NDFFMzAyMzkKKzoxMDgzRDAwMDNDNDAwNjIwMDM4QzAwRTMwMDEwMDAwRTMxNDMxMjAyRTMKKzoxMDgzRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOTgwMEVFMDEzNzg0RUUKKzoxMDgzRjAwMDlGRDkwM0YwNDhGRDEwMzdDMDA3QjAwMzVDMDBGNjEwQUEKKzoxMDg0MDAwMDMzQzAwREUxMDNFRDIwREYxMDNGNDgwRkYwMjNEMDA2MEQKKzoxMDg0MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMkNCODAzMEMwMkUKKzoxMDg0MjAwMDBDQTAwM0UyMDJDOTAwM0E0MDBEQjYwMzY0MDBFQjAwNjEKKzoxMDg0MzAwMDNFQzAwRkIwMDNFRDAwRkIwMTNFRTAwQ0IwMDJFQTAwQ0QKKzoxMDg0NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMDg3MDAyMUMwNjcKKzoxMDg0NTAwMDI4NjAwMkQwMDA4NTAwMkQ4MDQ4RjA4MjFDMDBCNzAwMDMKKzoxMDg0NjAwMDJEMDAwQjUwMDJEQzAwQjdBMDJGODAyODdBMDJEMjA0MjYKKzoxMDg0NzAwMDYwMDAwMDAwMDAwMDAwMDBDMTAwQkUwMDg3ODAyMUUwMTUKKzoxMDg0ODAwMDI4NjgwMkQ3MDA4NDgwMkRFMDQ5NzkwNjUzMDlCNTgwMTkKKzoxMDg0OTAwMDJERTIwQjc4MDJERTgwQjc5MDJEQjAwODc5MDJGMDAwNTMKKzoxMDg0QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MxMDgzMDEyOEM4MDAKKzoxMDg0QjAwMDA4MjAwMkMyMDY4MTAwMkNDODg4MzA2MjBFMjFCM0EwQjkKKzoxMDg0QzAwMDJDQzEwQkI2MDJDQzAwQjMwMDJDRTAwODMwMDJEMjA0NjEKKzoxMDg0RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMENBNDBCMDgwOEQKKzoxMDg0RTAwMDBDMkMwMkY4MDBDNjIwM0Y5MDBEQTAwMzdCMDFFRUUwQUIKKzoxMDg0RjAwMDNGQjQwRkVDMDNFODAwRkEwMDNGQTAwQ0EwMDNGQTA0MUQKKzoxMDg1MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTMwMEY4MDkyNjAwQjkKKzoxMDg1MTAwMDBGQzE4M0UwMTBGODQwM0MwMDBGODAwM0UwMDFGODAwMzkKKzoxMDg1MjAwMDNFMDAwRjgxMDNFMDA0RjgwMDNFMTAwRjgwMDNEMjAwRUMKKzoxMDg1MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMkM5MDAzRTQwQzYKKzoxMDg1NDAwMDRGOTA2MzI2ODQzOTAyQjI0MDBDOTEwMzI0MDBGOTAwNTUKKzoxMDg1NTAwMDNFNDAwRjkwMDMyNDAwRjEwMDNBNDQwRjkwMDNDMjA0MDAKKzoxMDg1NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NDUwMDg5NDAyRTQwREIKKzoxMDg1NzAwMDA4OTIwQTI0MDBCOTMxMjI2MDg4OTQ4QTI0MjBCOTAwMjQKKzoxMDg1ODAwMDJFNDAwQjkwMDIyNDAwQjkwMDIyNjgwQjkwMDJFMDAwRkMKKzoxMDg1OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjRBMDhEODQyRjQwNkEKKzoxMDg1QTAwMDBCRDEwMjI0MDBCOTAwMjI0QTA4MTAwMjJDNDBCOTAwNjUKKzoxMDg1QjAwMDJFNDAwQjkwMDIyNDAwQjkwMDJBNDAwQjkwMDJDNjAwMDYKKzoxMDg1QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MTQwMDg1ODAyRDQwRDkKKzoxMDg1RDAwMDA4NTAwMjA0MENCOTAwQTA1MDA4MTQyMjA0MDBCMTAwOTUKKzoxMDg1RTAwMDJDNDAwQjEwMDIwNDAwQjEyODIwNEEwQjEzMDJDMjAxRDgKKzoxMDg1RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEMwNTAzRTgwODgKKzoxMDg2MDAwMDBGQzA0MzIwMDBGODAwMzAwMDJDODAyMzIwMDBGODUxRDgKKzoxMDg2MTAwMDNFMTQ4Rjg1MEIyMTQwRjg3MDNBMDgwRjg0ODNFRTAzRDcKKzoxMDg2MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFEQzQwMEY5MDQzRTQwMDYKKzoxMDg2MzAwMDBGOTAyM0Q0MDBGRDAwM0Y1MDBGOTQwM0Y0MDRGRDAwN0QKKzoxMDg2NDAwMDNGNDE4RkQwNDNFNTBDRjkwMjNGNEEwRjkyMDNFNjAyMDcKKzoxMDg2NTAwMDcwMDAwMDAwMDAwMDAwMDA4ODA1RDQwMUZEMDAzRDQwQ0UKKzoxMDg2NjAwMDBDRDAxM0Y0MDBENTAwMzM2QTFDREM4MzM0MDBEMTA0MzEKKzoxMDg2NzAwMDNFNTAwQzkxMDNFNkMwRERCMDMzNkEyQzlDODNFNjAwQ0IKKzoxMDg2ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwOUY4ODAyRTAwQTMKKzoxMDg2OTAwMDg4ODAwMEU4MDBCQTAwMjJCMDA4OEUwMjI4MDA4OEE4NkUKKzoxMDg2QTAwMDI2MjgwODhBMjJFMjAwODhFNDIyMzAwODhDMDJDRTA0QzAKKzoxMDg2QjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMjgyRTQwNzIKKzoxMDg2QzAwMDA4MTAwMkM0MDA5OTAwMjA0MjQ4MTAwMjY0MDE5MTgwMDEKKzoxMDg2RDAwMDJDNDgwODEwMDJDNEMwODE0MDIwNEEwODEyMDJDMjAxN0UKKzoxMDg2RTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQ5NEE5MDIyRTQwOUMKKzoxMDg2RjAwMDBBOTAwMjY0MDBCOTAwODI2MDA4OTAwMjY2MDA4OTEwNDYKKzoxMDg3MDAwMDI0NjIwODkwMDJFNDAwODkwMjIyNDAxODkwMDJDNjA0MDQKKzoxMDg3MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTYwMEI5MDQzRTQwMjMKKzoxMDg3MjAwMDBDOTAxM0U0MDBEMUMwMTI1MDI4OTAwMzQ0MDBEOTAwRUIKKzoxMDg3MzAwMDNFNDAyODkyMDNFNDAyRDkwMDMyNDI4QzkwMTJFODA0QjEKKzoxMDg3NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTYyMEY5MDAzRTQxNTIKKzoxMDg3NTAwMDJEOTAwM0U0MDBGOTIwM0U0MDRGOTAwMUE0MDBGOTAwNjEKKzoxMDg3NjAwMDM2NDA4RjkyMDdFNDAwRjEwMEJFNDAwRjkwMDNDQTAwMkMKKzoxMDg3NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEM4MDAzRTIwOUIKKzoxMDg3ODAwMDBDODAwM0UwNDBGODAwMzYxMjJDMDAwM0UwQzBGODAwMzMKKzoxMDg3OTAwMDMyMTAwRDg0MDNBMDAwRjgwMjNFMDgwRjgwMDBDQTA0QzYKKzoxMDg3QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1M0E5MDhFMDAyREEwNTcKKzoxMDg3QjAwMDgwRTgwMkZBMDBCRTQwMjM4MDA4RTgwMkZBMDA4QTAwM0UKKzoxMDg3QzAwMDM2ODAwOEEwMDJFODAwQkEwMDJGODAwQkEwMDM4QTAwQzAKKzoxMDg3RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NDYwMjgzMDAyQzgwQjUKKzoxMDg3RTAwMDA4MjI0MkM2ODBCMTYwMkVGNDA4MzgyMkNFMDBBMzAwRDEKKzoxMDg3RjAwMDIwQzAwODMwMDJBQzAwQjEwMDJFNDAwQjMwMDJDQTAwOEQKKzoxMDg4MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwMjg1MDEyREMyRTIKKzoxMDg4MTAwMEE4NDQwMkQ0MDBCRDAxMjk0MDE4NjhEMkRDMDA4RjgwMzIKKzoxMDg4MjAwMDI1Q0MyODczNDJEQzgwQjUzMDJEQzAxQjcyMDJFODAwRDUKKzoxMDg4MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwNEM2ODIzREUwQzEKKzoxMDg4NDAwMDBDNDgxMkQ2MTBGNTgwM0NBMDBDNzAwM0RFMDBFNzkwQjcKKzoxMDg4NTAwMDIzRUEwNDdBMDM5RTAwRjU4MDNERTAwRjdBMDNFQTAyRTIKKzoxMDg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwODBEQUMwMDlDMDAzRUMwQUQKKzoxMDg4NzAwMDBGODAwM0U0MTBGOTAwMzYwMTBGQTAwM0MwMDBFQjAwRTUKKzoxMDg4ODAwMDNFRDg0RUIwODNFQzAwRjkwMDNFQzAwRkI0NDM4MjA2RTAKKzoxMDg4OTAwMDYwMDAwMDAwMDAwMDAwMDBDMDA1REUwMENGODQzMUUwNzEKKzoxMDg4QTAwMDBFQzg0M0Q2MDBDRDgwMzNFMENERDkwMzNBMDBGRjg4MEYKKzoxMDg4QjAwMDMzRTAwRkY5MTNGRTI0RkQ4MDNGMjAwQ0Y2ODMxMDAwRjcKKzoxMDg4QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMDg1MDAyMUM0NzkKKzoxMDg4RDAwMDI4NDA4MkQwMDBENTAwMjM4MDQ4QzkwMjFDMDBCNzAwODAKKzoxMDg4RTAwMDIxQzAwQjcxMDJERTgwQjUxMDJEQzAyOEYwMDIyQTA0RDEKKzoxMDg4RjAwMDYwMDAwMDAwMDAwMDAwMDAxMDAwOUMwMDk2MDAyMUMwRjUKKzoxMDg5MDAwMDBBNDEwMkY1NDA4RDAwMjE0MDA5NTIwMjk4MjBCNzAwMkIKKzoxMDg5MTAwMDIxQzAwQjcwMDZEQzgwQjUwMDJEQzAwODcwMDIwNDAwNzkKKzoxMDg5MjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0Q0MxMDk4MDAwMEMwN0YKKzoxMDg5MzAwMDg4MDQ4MkMwMDA5MTA0MjAwMzA5MDAwMjhBMDBCMzBBNUYKKzoxMDg5NDAwMDIwQzQ4QjM0MDJDQzAwQjkwMDJDQzAwMDMwMDIxODA0QzMKKzoxMDg5NTAwMDMwMDAwMDAwMDAwMDAwMDBGODE1QUMwMERCMDBCMEMwRTMKKzoxMDg5NjAwMDBFOUMwMkM1MDBDMTEwQjJDMDBEQjAwQkE3MDhGRjAwREQKKzoxMDg5NzAwMEIzQzAwRkZBMDNGQzAwRkQwMDNFRDQwQ0YwMEIyRTA0MzQKKzoxMDg5ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwNEVEMDAzRTQwQUMKKzoxMDg5OTAwMDBGODQwM0U1NDBGOTQwM0U2MENFQjQ0MzY0MDBGQjgwQTEKKzoxMDg5QTAwMDNFQzIwRkIwMTNFQzAwRjkwMjNFQzA0RkIwMDNFMTAwMkQKKzoxMDg5QjAwMDMwMDAwMDAwMDAwMDAwMDA5MDEwRkYwMENFMDAzM0MwMjcKKzoxMDg5QzAwMDBFQzAwNzc0MDRFQzAwMTE4MDBDQ0EwM0ZFNjBGRjAwQTcKKzoxMDg5RDAwMDNGQzAwRkYwODMzQzAwREQwMEIzNTAyQ0YwMDMyMDA0QjcKKzoxMDg5RTAwMDMwMDAwMDAwMDAwMDAwMDA4MTAwNEMwNDhCMEIyMjcwNUUKKzoxMDg5RjAwMDA4MDgwMzY3MjA4QTg4QTIwMDI4ODQwMkU3MDBCQjAwRDkKKzoxMDhBMDAwMDNFQzAwQkIwMDIyQzAwQjkwMDIyNjEwOEIwMDM2MDQwRTgKKzoxMDhBMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMjAyMkUyRTYKKzoxMDhBMjAwMDBBOEMwMjI2MDBBOTgwMkFDMDA4QjQ0MkVEMDBCQjAwQ0YKKzoxMDhBMzAwMDJFQzAwQjMwMDIyQzAwQjkwMDIwODAwODMwMDI2MDAwRUMKKzoxMDhBNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEUwMTgxMDBBMEMwRUEKKzoxMDhBNTAwMDA4ODEwMjQ0MDA4MTAwMjg4MTA4MzIwMkNDMDBCMzAwNjIKKzoxMDhBNjAwMDI4QzAwQjMwMDIwQzgwQjEwMDIwQzAwODMwMTI0MjAxMzcKKzoxMDhBNzAwMDAwMDAwMDAwMDAwMDAwMDA4MDBENkMwMEMyMDEzMkMwNDgKKzoxMDhBODAwMDJFODAxNjJDMDhFOTAwM0E0MDBDODAwM0VDMDBGNzAwMTkKKzoxMDhBOTAwMDJGQzAwRkYwMEIyQzAwRDkwMDMwNDAwQ0YwMDM2MDAzMDYKKzoxMDhBQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDBERjgwOEZGMDAzRkMwQ0IKKzoxMDhBQjAwMDBGQzIxN0ZDMDBGNzAwMzcwMDBGODQwM0ZDMDBGRjAwMTMKKzoxMDhBQzAwMDNGQzAwRkYwMDNFRDAwRkQwMDNGNDAwRkYwMDNFODA2NEMKKzoxMDhBRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMENGMzAxNzQ4MDcKKzoxMDhBRTAwMDBDNTkwM0I5MDBERjI4MzUyNDBEODJBMzdDODBGRjAwRDgKKzoxMDhBRjAwMDNGQzgwRkYyMDNFNEEwRUY4MDNGRTE4Q0Q4NDMzMDAwODEKKzoxMDhCMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUQ0ODg5MzRBMzcwNjAKKzoxMDhCMTAwMDI4QjAyMzYwMDA4QkMwMjI0MDA4QjQ4MjJGNDBCRkQxMTAKKzoxMDhCMjAwMDZGRjQ4RUJEMDJFNzAwQkI4MDNBRTAwODk4MEEyODA0ODMKKzoxMDhCMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzRCMDkxMDBBODUwN0IKKzoxMDhCNDAwMDA4QjIwMkM4ODQ5MzAwMjQ0OTBCMDIwMjRDMDBCMzA0MEIKKzoxMDhCNTAwMDJDQzAwQjMwNDI4NDAwQjMwMDJFMDAwQUIwMTIyMjAxNTgKKzoxMDhCNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDExQUMwMjk5MTgyQTQ0RjcKKzoxMDhCNzAwMDA4Qjg4MkEyMDFCQjAwMjg2MDBBQTAxMjZDMDBCQjAwRUEKKzoxMDhCODAwMDZFQzAwQUIwMDJFNDAwQkIwMDJBMDAyQUIwMDIzODA0MUEKKzoxMDhCOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDExRTQwOERBQzAzQTYwMDQKKzoxMDhCQTAwMDBDMTgwQUVCMDREQjAwMzZFMDA3ODU4MzZDMDBGQjAwNDEKKzoxMDhCQjAwMDJFQzAwRkIwNDNFNDAwRUIwMDNFODgwRTE4MDMxMDA0RjMKKzoxMDhCQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDQxOUMxMEU5MDAzNzYwRTgKKzoxMDhCRDAwMDg3RjAxNzcwMDBDRjAxMzdDMDRDOTgwM0JDMDBGQjAwMzIKKzoxMDhCRTAwMDNGQzIwRkYwMDNFNDAwRkY0MDNGRTQwREQ5MDNGMDAwNjMKKzoxMDhCRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTQwMEY0MDAzMDQwQkQKKzoxMDhDMDAwMDBGQjQwMzk5MDBGQjAwM0VDMDBEMDQyMzJDMDhGQjg4MjEKKzoxMDhDMTAwMDMyQzAwRkIwMDNFNjAwREIxMDNFMDIwRkIwODNEMDA0NzkKKzoxMDhDMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEI5NTBBMjQ4MzgKKzoxMDhDMzAwMDhCQjAwMzIwMDBENzgwMkVEODAwODAwMjNDMDBCRjgwN0MKKzoxMDhDNDAwMDIzRTg4QkYwMDJGNDQwOEI0MDBDNDIwM0I2MDJGMjAwQTIKKzoxMDhDNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIyNDQwMEM4RTUKKzoxMDhDNjAwMDBCMzAxMjhDMDBBMzgwMjRDODBCMDAwQUNDMDBCMzQ0NDQKKzoxMDhDNzAwMDA0QzAxQjM2MDJDNTAxODMwQzJDQTAwQjMwMDJGODAwODcKKzoxMDhDODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwOEI3OTAyMTY0ODEKKzoxMDhDOTAwMDBCRjgwMjRBMDQ5NzgxMkZFNDBBNzgwMjlFMDBCNzgwRkQKKzoxMDhDQTAwMDIxRTA4Qjc4ODJENjg2ODc4NDJEQTAwQjc4MDJDMDAwQzUKKzoxMDhDQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDQwMEYyMDAzMEMwM0UKKzoxMDhDQzAwMDBGMzAwMzhDMDBFMzBBM0NDMDBGMTgwMzhDMDBGMzAyNDIKKzoxMDhDRDAwMDMwQzAxRjMwMDFDNjgwQzMwMDNDQzAwRjEyMDNEQTAyNEYKKzoxMDhDRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDBEQkMwMEZGMDAzRjQxRkMKKzoxMDhDRjAwMDBGRjAwM0I4MDhGRjA4M0ZDMDBERjAwMzNDMjBGRjA4NDkKKzoxMDhEMDAwMDNCRDIwRkYwMDNGNDQwRUYwMDNGQzQwRkQwMDNEMDA2NzYKKzoxMDhEMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMEZFMDAzMkMyNzAKKzoxMDhEMjAwMDBDMzAwQjI2MDBGQjgwMzZDMDBEQTAwM0VDMDBGQkUwRUUKKzoxMDhEMzAwMDMyRDAwRkI4NDM2NDQ0REIwNDNFODAwRkIwMDNFMjAwM0UKKzoxMDhENDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEI3MDBBMUMwQTYKKzoxMDhENTAwMDg4NzAwMzEwMDBCNzIwMjFDMDA4NzAwMkRDODBCMzMwOTcKKzoxMDhENjAwMDMxQzgwQjc0MDIxNDAwODc0MDJEQzA0QjcwMDJEMjAwMzIKKzoxMDhENzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOTYyMEI2ODAyMEUwRTcKKzoxMDhEODAwMDI4RjgwMjk0MTBCNzgxMjdFMjA5NzgwMkRFMDBCN0EwMjQKKzoxMDhEOTAwMEE5RTgwQjM4MDI3NjAwODc4MDJEQTAwQjU4MDJGMDAwNUUKKzoxMDhEQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0UxMEIzMDAyMEM0RDIKKzoxMDhEQjAwMDA4MjAwMjgwMTBCMzAwMjJDODA4QjAwMkNDMTFCMzAyMTAKKzoxMDhEQzAwMDI4QzAwQjMwMDIwNDAwOTM4MDJDRDIwQjEwMDJEMjA0NzYKKzoxMDhERDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZFNDAzMkEwQUUKKzoxMDhERTAwMDBDRTQwMzk4ODBGQTAwMzdBMDBERTA4M0U4MDBGRTAwNTEKKzoxMDhERjAwMDNBODAwQkEwMDM2ODAwRDhBMDNGOTAwRkEwMDNGQTA0QUMKKzoxMDhFMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwOEY4MDgzRTAwOTQKKzoxMDhFMTAwMDBGODAwMzIwMDBGODQwM0UwMDBGODAwM0UwMDBGODA0QkMKKzoxMDhFMjAwMDMwMTAwRjgwMDNFMDAyRTgwMDNFMDAwRjgwMDNEMjAwMDQKKzoxMDhFMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEYxMDAzMjQwQTMKKzoxMDhFNDAwMDBFOTA4M0E0MDBDOTgwM0U0MDBFOTAwM0E0MDBGOTAwNTgKKzoxMDhFNTAwMDNFNDAwQzkwMDNFNDAwQzgwMDNFNDA4RjkwMDMwMjA0QTMKKzoxMDhFNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5NDBBMDYyRUYKKzoxMDhFNzAwMDA4MTAwMjI0MTA4OTAwMkU0MDA4OTAwMjI0MDBCOTAwMzYKKzoxMDhFODAwMDJFNTIwODk0MDJDNDAwODk0MDJFNDAwQjEwMDM2MDEwM0IKKzoxMDhFOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MTgyMjQ0NEEKKzoxMDhFQTAwMDBBOTAwMkFDMDA4OTEwMkVDMDBBOTAwMkE0MDBCOTgwN0EKKzoxMDhFQjAwMDJFNjAwODk4MDJFNjAyODkwODJFNDAwQjkwMDIwNjAwRjgKKzoxMDhFQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MEIxMjBBMDQ4MTkKKzoxMDhFRDAwMDA4OTAwMjI0MDg4MTIzMkM1MDA4MTAwMjA0ODBCMTIwM0QKKzoxMDhFRTAwMDJDNDgyODEyMDJFNDgwODEyMDJDNDAwQjk4MDI0MjA1NzUKKzoxMDhFRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NTAzMjAwOTIKKzoxMDhGMDAwMDBFODUwM0ExRTBDQTAwM0UwMDBFODUwM0EwMDBGODAwMTQKKzoxMDhGMTAwMDJFMDA5Q0EwMDNFMDAwQzgyODNFMDAwRjgwMDMyRTAxMTUKKzoxMDhGMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEY1MTAzRjQ0ODAKKzoxMDhGMzAwMDBGRDAwM0Y0MDBGMTEwM0Q0MDhGRDQwM0U0NTBGOTEwM0EKKzoxMDhGNDAwMDNFNDUwRjkxMDNENDQwRkMwMDNGQzA4RkQwMjNFNjA0ODAKKzoxMDhGNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTYyMENEQTgzMzQwOTYKKzoxMDhGNjAwMDhERDAwMzI2ODBDRDAwM0Q1MDBDOUEwMzY0MDBGOUEwRkIKKzoxMDhGNzAwMDdBNkEwRjlBNjNFNjgwQzk4MDNFNDAwRjkwMDMwNjAwMkMKKzoxMDhGODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwMDg4RTAzNjAwQUEKKzoxMDhGOTAwMDA4ODAwQTIxNDJDODAwMkUyOTBDQTQ0MjIwMDBCODQwQjMKKzoxMDhGQTAwMDJFMDAwQjgxMDJFMTAwODgwMjNBMDEwQkMwMDIwRTA0ODAKKzoxMDhGQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMjgxMDgyNDQwQzEKKzoxMDhGQzAwMDA5MTAwMjA0MDA5MTAwMkM0MDRCMTQwMjQ0MDBCNTEwMUIKKzoxMDhGRDAwMDI5NDAwQjUwMDJGNTAwQjUwMDJENDAwQkQwMDIwMjAxRDQKKzoxMDhGRTAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTYwMTg5MDAyNjQwNTIKKzoxMDhGRjAwMDA4OTQwMjI0MDE4OTAwMkU0MDFBOTAwMjZDMDBCRjAyREUKKzoxMDkwMDAwMDJGNDAwQkQwMDJGNDAyQkQ4MDJCNDA4QkQ4M0EwNjA0Q0YKKzoxMDkwMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEM5MDUzNjQxMTIKKzoxMDkwMjAwMDBEMUMwMzI0MDBEOTAwM0U0MjJGOTQwMzY0MDBGOTAwNzQKKzoxMDkwMzAwMDNBNDAwRjkwMDNDNDAwRjkwMDNFNzAwRjEwMDMyODA0NUIKKzoxMDkwNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODQwOEY5MjQzRTQwNjAKKzoxMDkwNTAwMDBGOTEwM0U0MDBGOTAwM0U0MTBEMTAwM0E0MDBGOTAwNTQKKzoxMDkwNjAwMDNFNDAwRjkwMDNFNDAwQzkwMDNFNjQwRjkwMDNDQTAwMjUKKzoxMDkwNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwOEM4ODAzMjAyMzQKKzoxMDkwODAwMDBGODAwMzAwMDBDODA4M0ExMENFODQwM0UwMDBGQzAwMDMKKzoxMDkwOTAwMDNGMDA4RkMwMDNGMDgwRkMwMDNGMTgwRkMwNDNDQTA0OUMKKzoxMDkwQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhFMDBBMTgwOUMKKzoxMDkwQjAwMDBCRTAwMjI4MDBERUMyMjM5MDAwQTAwMkU4MDBCQTAwMDQKKzoxMDkwQzAwMDJFODAwQkEwMDJFODAwRkEwMDJFODAwQkEwMDJDQTAwM0UKKzoxMDkwRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDk5ODE2MEMwOUQKKzoxMDkwRTAwMDBCMTAwMjBDMDA5MDEwMkFGQzBCMzAwMkNDMDBCMzAwRDUKKzoxMDkwRjAwMDJDQzAwQjMwMDJDQzAwQjMwMDJDQzAwQjMwMDJDQTAwRDUKKzoxMDkxMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUM4Mjk1NDAyMUMwMUEKKzoxMDkxMTAwMDBCNTAwMjFDODA5MDgwMjMwMTA5NzIxMkRDMDBCNjAwMDMKKzoxMDkxMjAwMDJEMDAwQjQwMDJEMDAwQjQwOTJEMDA0QjQwODJFODAwMTYKKzoxMDkxMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0U4MEREODBCMUUwOTMKKzoxMDkxNDAwMDBGREEwMzBGODBENDgwMzlFMDBCN0EwM0RFMDBGNTgwNUMKKzoxMDkxNTAwMDNEMjAwRjQ4MDNENjEwRjY4MTNERTA4RjY4MDNFQTAyRjgKKzoxMDkxNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEVEMDAzRTAwMDMKKzoxMDkxNzAwMDBGOTEwQkVDMTBGODAwM0UwMDBFQjAwM0VDMDBGODAwNkQKKzoxMDkxODAwMDNFQzA0RkIwMDNFODAwRTkwMTNFMDAwRjkwMDNDMjA2NjUKKzoxMDkxOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUyMEJGODEzM0E0MzUKKzoxMDkxQTAwMDhDMTkwMzNFMDBDRDgwM0ZFMDBGRjg4MzNFMDBFRjgwMzYKKzoxMDkxQjAwMDNGRTAwRkY5MTNGQTEwRkQ4MDNGQTQwRkQ4MDNDMDAwNjEKKzoxMDkxQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEJGMjAzMUMyMDgKKzoxMDkxRDAwMDA4NUEwMjNDMDI4NzAwMkQ5NDBCNzAwQTFDNDA4NjEwMkUKKzoxMDkxRTAwMDJEMDAwQjQwMDJENDAwRjYwMDJENDA0QjYwMDJFQTA0MzMKKzoxMDkxRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MDEyMzgwMTgKKzoxMDkyMDAwMDI4NTAwMjFDMDA4NDAwMkRDMDBCMzAwMjFDMDBCNTAwNDkKKzoxMDkyMTAwMDJEMDAwQjQwMDZEMDQwQjQwODJEODAwQjQ4MDJDMDAwNDIKKzoxMDkyMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMEIzMDhBMDIwQTMKKzoxMDkyMzAwMDA4MTE4QTBFMDA4MDAwMkM5MDBCMzcwMjBDMDA5MDAwNjEKKzoxMDkyNDAwMDJDQzAwQjMwNDJDQzA0QTM4MDJDNTAwQjMwMDJDODA0M0QKKzoxMDkyNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEY5ODAzMjYwNUEKKzoxMDkyNjAwMDBDRDQwMzNDODA4ODAwM0VEMDBGRjgwMzI4MDBGQTAwOUQKKzoxMDkyNzAwMDNFQzAwRkIwMDdFQzAxQkI4MDNFNTQwRkIwMDZFQTA0QkQKKzoxMDkyODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUUwOEY5ODAzQUMwOTUKKzoxMDkyOTAwMDBGOTAwM0VDMDBGODQwM0U1ODBGQjA0M0U5MDBFQjQ0NTgKKzoxMDkyQTAwMDNFMDAwRjgwMDNFMDBERjgwMDNFODAwRjgwMDNFMDAwRDkKKzoxMDkyQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMENGMDAzMzQwNEYKKzoxMDkyQzAwMDBDRDAwMzNDMzBDQzAwM0JDMDJERjAwM0Q4MDJDQzAwQzYKKzoxMDkyRDAwMDNEMDAwQ0MwMDNGNDAwRUUwMjM3NDAwQ0UwMDNDMDQ0MzQKKzoxMDkyRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMxODgzODQyMDAwMUUKKzoxMDkyRjAwMDRBMTAwMjBDMDBBODQ4MkU2MDA4QjAwMkU5MDA4OTQwMUMKKzoxMDkzMDAwMDJFQzAwOEIwMDJFODEwQjEwMTIwODAwQTkwMDNBMDQwRUUKKzoxMDkzMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCODIyMjA4NTUKKzoxMDkzMjAwMDA4OTAwMjJDMTQ4ODA0MkMwODA4QjAxMkU4MDA4QTAwNjcKKzoxMDkzMzAwMDJFQzAwQUIwMDJFODAxQjkwMDI2MDQwODkwMDJFMDAwM0QKKzoxMDkzNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzODBBMkMwNjAKKzoxMDkzNTAwMDBBOTIwMjJDMDBBMjAwMkMwMDA4MzQwMkM4MDA4MzAwRUMKKzoxMDkzNjAwMDJDMDAyODAwMDJDNDAxQkEwMDIyQzAwMjIwMDZDMjAxNUIKKzoxMDkzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMENBMDBCMjAwRjgKKzoxMDkzODAwMDBDOTIwQjJDMDRDODA0M0EwMDBDQjQwM0U4MDBDODAwOEIKKzoxMDkzOTAwMDJFMDAwQzgwMzNFMTQwRTgwMDM2MDAwQzgwMDNDMDAzNEYKKzoxMDkzQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAzRDAwNzgKKzoxMDkzQjAwMDBGRDEwQkZDMDFGQzAwM0YwMDBGRjAwM0Q4MDBGRDAwQjMKKzoxMDkzQzAwMDNGQzAwRkYwMDNGQzgwRkYwMDNGQzAwRkYwMDdBODA2NkUKKzoxMDkzRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1RjMwMENGODAzNTYwNzEKKzoxMDkzRTAwMDRFNjg0MzVDMDBFNzgwMzlDMDBDQzEwMzdFMDBDRjM0NzcKKzoxMDkzRjAwMDM1RTE0REYyMDM3QzAwREYzODNGQzgwRkY4MDNGMDAwODEKKzoxMDk0MDAwMDcwMDAwMDAwMDAwMDAwMDBDMDE4QzgwMERCODQyMjYwNkIKKzoxMDk0MTAwMDA4QUMwQTJDMDA4QjgwMjIzMDA4OTEyMjJDOTAyNzYxMDYKKzoxMDk0MjAwMDIyQ0E4OEZDMjJCRjAwOEI2MjJGRDAwOUI4MDNCMDA0ODcKKzoxMDk0MzAwMDMwMDAwMDAwMDAwMDAwMDBDODA1RTI4MEE5MDIyNDQwQkUKKzoxMDk0NDAwMDgyMzQ0MjA0MDBBOTAwMjhDNTQ4MzIwMjRDMjA4MzMwRUYKKzoxMDk0NTAwMDIwQzAwODMxMDIwRDAwQjMyMDJDQzQwQjMwMDJGMjAxRjEKKzoxMDk0NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1QUEwMkI5MDQyMjYwREMKKzoxMDk0NzAwMDI4QjIwMjI2MDA4OTg4MDJDMDA4MzExMkVDMDA4QjAwNTUKKzoxMDk0ODAwMDJBRDAwOEIwMDJBQzAwMkIwMDJFQzAwQkIwMDJCMDA0RjIKKzoxMDk0OTAwMDYwMDAwMDAwMDAwMDAwMDBDMDA1RTIwMEUzMDAzNjIwOEMKKzoxMDk0QTAwMDBFQTQ2MzZFMDBFMUMwMUFDMTBDODAwMzY4NzBDQjAwOEIKKzoxMDk0QjAwMDM2ODAwREIwMDM0QzAwRkIwNDNFQzEwRkIwMDNEMDA0NTYKKzoxMDk0QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjgwNERGMDAzRjAwNzEKKzoxMDk0RDAwMDBGRTgwM0ZDMDBGRDAwM0YwMDJCOTgwMzNBMDA3NzAwRTMKKzoxMDk0RTAwMDI3RTQwRkYwMDNGQzAwREYwMDNFQzAwREYwNDNGODAwNUUKKzoxMDk0RjAwMDYwMDAwMDAwMDAwMDAwMDA1MDAwQTQ2OENCMjAzQTkwRkIKKzoxMDk1MDAwMDBGMjRBM0FDMDBFOTUwM0FDMDBFQjQ4MzJDMDhFQjAwNDIKKzoxMDk1MTAwMDNBOTAwRUIwOEJFQzgwRkIwMDNFQzAwRUIwMDM5MDA0N0UKKzoxMDk1MjAwMDIwMDAwMDAwMDAwMDAwMDBDODAxMEEwMDhCQTAyMDgwN0QKKzoxMDk1MzAwMDBEQTgwMjJDMDQ4OTQwMjhFODA4QjIwMjJDMDBBRjAwRDQKKzoxMDk1NDAwMDAyODAwODdDMDMzRDgwM0YwMDJGQzAwOEIwMDIzNjAwMzcKKzoxMDk1NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDkwMDAzNDAyOEMwNzIKKzoxMDk1NjAwMDJCMjg0QTI4MDBBMTAwNjhEMjBBMjA0MkE0MDFBMzAwQTcKKzoxMDk1NzAwMDAyNDAwQTM0MDIwRDAwMzMwMDJDQzAwQTMwMDBCODAwNEIKKzoxMDk1ODAwMDUwMDAwMDAwMDAwMDAwMDBCODAxMUEwMDg3OTAyMUU0OUMKKzoxMDk1OTAwMDJCQzgxMjNBMDA4NUMwMkIyMTI4NjgwMkI2MDBBNzg0ODgKKzoxMDk1QTAwMDIzNjAwODM4ODAxRTAwQjc4MDJERTAwODc4MDIyRTAwNjYKKzoxMDk1QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwMEMxMDAzODU0QzYKKzoxMDk1QzAwMDBGMjY4MzgwMDBFMDM0MjhDODBFMkMwQjhDMDBFMzAwQUIKKzoxMDk1RDAwMDc4NDUwRTMwMDM4RTgwRjMwMDNDQzgwRTMwMDM5MjAyQjMKKzoxMDk1RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjgwMEY1MDIzRjQ0RUMKKzoxMDk1RjAwMDBEOTAwM0Y4MDBCRDE0MUZDMDBGRTEyMzVDNDQ5RjQyOEYKKzoxMDk2MDAwMDNGQzAwRkY0ODI3RDQwRkYxMDNGQzA0RjcwMDdEMDA2NkYKKzoxMDk2MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMkNCMDAzOEMwOTAKKzoxMDk2MjAwMDNDQTAwM0VDMDBFOTAwM0VDMDBDQjAwMzIwMDRGQjIxODkKKzoxMDk2MzAwMDNFODA0RkI0MDNDRjAwQ0IwMDNFQ0M0RkIwNDNFQTAwOTYKKzoxMDk2NDAwMDcwMDAwMDAwMDAwMDAwMDBDODkxOTgwMDg3MDAyMUMwNTEKKzoxMDk2NTAwMDA4NDAwMkRDMDRCNTAwMkQwMDJENzAwMjFDMUNCNzAyNkUKKzoxMDk2NjAwMDJEQzAwQjcyMDJEQzAwODc0MDJEQ0E4QjcwMDJGMjA0MDEKKzoxMDk2NzAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQkEwMDg3ODgyQkUwMzYKKzoxMDk2ODAwMDE4NzgyMkQ2MTFBNDgyMkZFMDA4NzgwMjEyMDBCNzk0MkQKKzoxMDk2OTAwMDZENjA0QjdBMDJERTQwQjdBMDJERTAwQjc4MDZFMDAwNEIKKzoxMDk2QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0QzkxMjgzODIyOEQ0NjIKKzoxMDk2QjAwMDk4MDAwNkVGMDVCMTkwMkNDMTA5QjQwMjBDMDRCMzAxNjcKKzoxMDk2QzAwMDZDRjAwQjMwMDJDQzAwQkIwMDJFQzAwQjMwMDJEMjA0NzkKKzoxMDk2RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1Qjg0MENBODAzQkEwNDAKKzoxMDk2RTAwMDRDRTUwMkY4ODBFRTAwM0Q4MDJDRTAwRjM4ODBGQTAwNTcKKzoxMDk2RjAwMDNGQTkwRkEwMDNFODAwQkEwMjNFODA4QkEwMDNGQTA0NDIKKzoxMDk3MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxMEY4MDAyNjAyQTEKKzoxMDk3MTAwMDBGODQwM0UwMjRGODAwM0UwMDRGODBBM0UwMzBGODAwRkYKKzoxMDk3MjAwMDM2MDIwRjgwMjNFMDA0MDgwMDNFMDAwRjgwMDNEMjAwQzEKKzoxMDk3MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEQ5MDBCNjQxMkQKKzoxMDk3NDAwMDRFOTkwQkE0MDA2OTEwM0U0MDBDOTAwM0E0MTBDOTAwNzAKKzoxMDk3NTAwMDNFNDAwRDkyMDNFNjAwRjkwMDNBNDAwRTkwMDNDMjA0MjkKKzoxMDk3NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDgxMDAyMDQyRkUKKzoxMDk3NzAwMDA4MTQ5QTI0MDA4OTAwNkU1MDAwOTAwMjI0MTBEOTAyMjcKKzoxMDk3ODAwMDZFNDAwQjk0MDNBNzAwQjkwMDIyNDAwODkwMDNFMDAwNEMKKzoxMDk3OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MDYwMDk5MDBBNjQxMTYKKzoxMDk3QTAwMDBBOTAwNjJDMDBBOTA5NkU1MDA4OTEwMjg0MDQ4OTAwRDEKKzoxMDk3QjAwMDBFNDAwQjk0MDJFNTQ5QjkwMDBBNDAwQTkwMDJDNjAwMjcKKzoxMDk3QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDYwMDgxMDAyMjQwNjQKKzoxMDk3RDAwMDA4MTIyMjA0ODFBMTAwMkM0MDA4MTYwMjA0MDA5MTIwRTYKKzoxMDk3RTAwMDJDNDAwQjEyNDI4NDg5QjEyMDIwNDgwODEwMDJDMjAxOEIKKzoxMDk3RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEQ4MDAzNjAwRjUKKzoxMDk4MDAwMDBBODAwM0ExNDBFODAwMkUwMDBDMDAyM0ExNDBDODUwQUMKKzoxMDk4MTAwMDJFMTQwRDgwMDNFMDAwRjg1MDNBMDAwRTgwMDNFRTAzOTIKKzoxMDk4MjAwMDUwMDAwMDAwMDAwMDAwMDA4ODFERDQwMEY1MDBCRjQwN0IKKzoxMDk4MzAwMDBGRDEwM0Y0NDRERDAyM0Q1MDJCRDEyM0Y0MDBGOTEwODUKKzoxMDk4NDAwMDNGNDAwRDkxMDNBNDQ4RjkxMjNFNEUxRjkwMDNBNjAyMUIKKzoxMDk4NTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RjQwMEM1MDQzQjQwMzMKKzoxMDk4NjAwMDBGRDgwM0E3ODBGRDAwQjM2ODBERDg0M0E1MTBDOUEwODkKKzoxMDk4NzAwMDMyNTE0RjVBNDMzNjAwQzlBMDdBNjgwQkQwMDNDNjAxNTMKKzoxMDk4ODAwMDcwMDAwMDAwMDAwMDAwMDA3ODE4Q0E4ODg4MDIwMjAwRkEKKzoxMDk4OTAwMDhEODQyMjIzNDJGODAwMjIwNDI4OEFBMkFBOTQ4OEU5MEYKKzoxMDk4QTAwMDIwQTgwQTgwMEEyMTQwODBFMjJFMjgwQjgwMDJDRTA0RTQKKzoxMDk4QjAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzQyMEExMDRBOEMwM0EKKzoxMDk4QzAwMDBCMUMyQTI0MDAzOTA0MjA0MDJBMUUwMkU0ODBCMTEwMTcKKzoxMDk4RDAwMDJBNDgwOTE0NDYwNDAwODEzODJDNUIwQjEwMDJEMjAwODAKKzoxMDk4RTAwMDMwMDAwMDAwMDAwMDAwMDAxODA1QTQxMkE5MjQyMjQwNDYKKzoxMDk4RjAwMDI5OTAwMjI0MDAzOTAwMDI1ODA4MTgxMEU2MDFCOTAwMjYKKzoxMDk5MDAwMEFBNDQwODkwMDIyNDAwODkwMDBFNDEwQjkwMDJDNjA0NkMKKzoxMDk5MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDA1RTQwMEUxMDEyQTY0RUUKKzoxMDk5MjAwMDJGOTQxMzI0MDI3MTYwMTI2MDREOTAwMEM1MDJGOTAwNUIKKzoxMDk5MzAwMDNBNDAwRjkwMjMyNDAyQzkwMjNBNDAwRjkwMDJFODA0RjMKKzoxMDk5NDAwMDUwMDAwMDAwMDAwMDAwMDA2ODAxQTQwMEQ5MDAzRTYwNDMKKzoxMDk5NTAwMEFGOTA4MzY0ODhGOTIwM0U2MjAzOTA4M0E0MDBDOTAwMUQKKzoxMDk5NjAwMDM2NjAwRjEwMDNDNDAwRjkwMDdFNDAwRjkwMDNEQTAwNDgKKzoxMDk5NzAwMDYwMDAwMDAwMDAwMDAwMDAyODAwQTEwMEM4ODIzMjAwNDIKKzoxMDk5ODAwMDZGMDAwM0EwMDBEODQwMzAwMDBFODAwMzYwMDRGODAxOEYKKzoxMDk5OTAwMDNFMTA0RjgwOEIyMjAwRjgwMDMyMDEwRTgwMDNDQTA0NzMKKzoxMDk5QTAwMDIwMDAwMDAwMDAwMDAwMDAyODAxMzgwMDBFMDBBOTkwRUYKKzoxMDk5QjAwMDJGRTYyMDg4MDA5RTgwMjM4MDBBRTgwMzI4MDBCQTAwNTIKKzoxMDk5QzAwMDE4ODAwREVDMDIzODgwQkEwMEEyODAwOEEwMDM4QTAwM0IKKzoxMDk5RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NkMwMjgzODAyMEM4QzEKKzoxMDk5RTAwMDBCMjAwMjBDMDE5MjEwNjhDMDNBM0MwMkNDMTAzQjAyRTIKKzoxMDk5RjAwMDBDQzAyODNDMDI0RTAwQjMwMDI4QzAyODMwMDJDQTAwMjgKKzoxMDlBMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTQwMDg3NDIyQkMwOUQKKzoxMDlBMTAwMDI5NzAyMjlDMDBCNjAwMkJDMjBBNjA4NjFDMDBCNzIxNjgKKzoxMDlBMjAwMDI5QzAwMDc0MDI1QzAwMzc5MTAxRTAwODc0MDJBODAwQUMKKzoxMDlBMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEM3ODAyMUUwRDAKKzoxMDlBNDAwMDJGNzgwMjlFMDA5NjgwMzlFMDJFRjgwM0RFMzBGN0QwQTIKKzoxMDlBNTAwMDJERjIwMDc4MDM1MjAwRjdBMjNCRTAwRTc4MDdFQTAyRUQKKzoxMDlBNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQjQwMEZCMDAwQ0MwNTYKKzoxMDlBNzAwMDBGMzAwM0VDMTBEMzAwQjRDMDJGODAwMzZDNDhGQjAwMDAKKzoxMDlBODAwMDNFQzg0RDkwMDNBNDAwRkIyMDFFQzAwRkIwMDNDMjA2QzkKKzoxMDlBOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMENDODAyQjJDQzAKKzoxMDlBQTAwMDJGRjgwMzdFMDA2RTgwM0JBMTBERDg0MzNFMDBGRjkwNEYKKzoxMDlBQjAwMDMzRTAwRkU5MzNGRTAwQ0ZDMDNGRTIwRkQ4MDNDMDAwMTAKKzoxMDlBQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExQjQ0MDg3MDAyMTA0Q0QKKzoxMDlBRDAwMDA4NzgwMjFDMDA4NjAwMjFDMDI4OTAwMkRDMDBCNzEwMjQKKzoxMDlBRTAwMDIxQzAwRjczMDJDQzAwODcwMDJEQzAwQjUwMDJFQTAwOEEKKzoxMDlBRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUQwMEE0MDAyOTQ4NTQKKzoxMDlCMDAwMDZBRjA4MjRDMDBBRTAwQTFDNDI5NzQwMjVDNDBBMzEwMkMKKzoxMDlCMTAwMDYxQzIwQjYwMDZDODAwODcwMDJEQzAwQjUwMDJDMDA0NTQKKzoxMDlCMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0RTYwMUEzMDIyMDQwRjUKKzoxMDlCMzAwMDI4M0MwMjBDMDA4MzQyMjBDODA4MTAwMkNEMDBCMzAwNkMKKzoxMDlCNDAwMDI4RjAwQjMwMDJDQzAxODMwNDJDQzA4MzEwMDJDODA0MUYKKzoxMDlCNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUE4MEVCMDAzOEMwMEIKKzoxMDlCNjAwMDBBOTAwMzdDMjJBMjQwMzI0ODBEQjAwQjNFMDBGRjAwNTkKKzoxMDlCNzAwMDMzRjQwRjkwMDNFQzAwOEYwMjNGQzAwRjkwMDNFQTA0MTAKKzoxMDlCODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTAwMEQ5MDIzRUMwM0MKKzoxMDlCOTAwMDBFQjYwM0VDMDBGQTIwM0VDMDRGMjQyM0FDNjBGQjAwNUQKKzoxMDlCQTAwMEE2QzAwRTkwMDNFNDAwRkIwMDNDQzEwRjkwMDNFMDAwNTAKKzoxMDlCQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRjgwMkNGMDAzM0UwODgKKzoxMDlCQzAwMDJDRjAxM0JDMDAyRTEwQjE2NDJFRjAwMjNDMDBGRjAyRkEKKzoxMDlCRDAwMDNGQzE0REVDNjNGRTAwQjcwMDNCQzAwQ0Q4MDNDMDQ0NEUKKzoxMDlCRTAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NkMyODgxODEyMkUwMjkKKzoxMDlCRjAwMDBBMzgwMjNDMDRCQUM5MzJFMDIwODQwMjJDMDBCQjAwQkYKKzoxMDlDMDAwMDJFQzAwQjlDMDJFNzgxQkIwNDIyQzAwQTk5MDJFMDAwMkYKKzoxMDlDMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1Mjg0MDg4ODAyMjg4OTUKKzoxMDlDMjAwMDI4QkM0MkFDMDBCQTAwMkE4MDA4ODQwMkFDMDBCQjAwMDkKKzoxMDlDMzAwMDJFQzAwQkIwODJFODkwQUIwMDYyQzAwOEIwMTJFMDAwMEEKKzoxMDlDNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMDg5MDAyQTgwOTUKKzoxMDlDNTAwMDI4QjIwMjBDMDBCQTAwMjBDMDA4MDAwMjhDMDBCMzAwMzkKKzoxMDlDNjAwMDJDQzAwQjMwMjA0QzE0QjMwMDIwQzAwODMwMDJDMjAxQkQKKzoxMDlDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjgwMEM4MDBCMkMwMzUKKzoxMDlDODAwMDJDQjIwM0FDMDBGQTAwM0FDMDRFQTUwM0JDMDBGRjAwQTIKKzoxMDlDOTAwMDNGQzAwOUEwMDNFOTA0RUYwMEJBQzAwQ0IwMDFDMDAxNDUKKzoxMDlDQTAwMDEwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEY1MDAzNUMwMDUKKzoxMDlDQjAwMEFGMzQwM0ZDMDBGNDAwMzlDMDBGQzIwMzdDMDBGRjAxODUKKzoxMDlDQzAwMDNGQzAwRkYwMDNGQ0EwRkYwMDNGQzAwRkYwMDNFODA1MEEKKzoxMDlDRDAwMDYwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMEZGMjkzRDIwREUKKzoxMDlDRTAwMDhFQzEwMzMyNDhEQzgwMjMyNTBFRjIwMzNDQzBERjg0QTIKKzoxMDlDRjAwMDMzQzkwRkYyMDNGQzAwQ0Y4MDMzNDAwQ0YyMDMzMDAwNzUKKzoxMDlEMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUNDMEJCNjAyRTA4NTYKKzoxMDlEMTAwMDA4ODEwMjIwMDQ4ODIwMjA0ODA4RjE4MjJEQzA4MzAwOTkKKzoxMDlEMjAwMDIyRDQwOUY1MDJGQzA4OEIwMTIyNDAyOEI0MDIyMDA0NDkKKzoxMDlEMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MyMEIzMDkyQzgyMTAKKzoxMDlENDAwMDA4MTAxNkEwMTA5MDA4Mjg0ODBBMzIwMjBDMDBCQjAwMjgKKzoxMDlENTAwMDJDQzAwQjMwMDJDQzAyOTMwMTIwMDA4QTMxMjJFMjAxOTgKKzoxMDlENjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwNEJCMDAyQzgwOTcKKzoxMDlENzAwMDA4ODYwMkEwMjBBMDAwMkE2MDBBQjAxMDJDMDBBQjBDQkMKKzoxMDlEODAwMDZFQzAwOUIwMDJDQzAwOUIwMDIyNjAwQUIwMDJGMDA0NTEKKzoxMDlEOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RUMwMEJCMDAzRTM0MzUKKzoxMDlEQTAwMDA4QTAwQjgzMDBEOTAyM0FFMDJFQjAwQjJDMDBGODgwRkIKKzoxMDlEQjAwMDNFQzA0RkIwMDNFQzAwQ0E0MEIyNzIwRUIwMEJDMDA0RkMKKzoxMDlEQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMxMEZCMDAzRjAwM0MKKzoxMDlERDAwMDBERjgxMzcwNDhERDQwMzdDMjhERjAwM0RDMDBEREM4OUMKKzoxMDlERTAwMDEzQzAwRkYwMDNGQzAwRUU0MDdGNDAwRDcwMDMzODAwRkQKKzoxMDlERjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDEzMkMwMTkKKzoxMDlFMDAwMDA0MTAwMzIwNDBFODEwM0FDMDBEQjAwM0FDMDhGODQwM0QKKzoxMDlFMTAwMEIyQzAyQ0IwMzNBNDgyREE0MEJBNDAwRkIwMDNEMDA0RjEKKzoxMDlFMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0MwOEJGODAyMkM4RDgKKzoxMDlFMzAwMDA4QjcwMDIzNDQ4OEQwMjJEMDA4NzA4MkZDMDBCMkUwMkEKKzoxMDlFNDAwMDAzRjQwOEY1MDIzNzA0OEJEMTIyNjA0QkZEMDJGMjAwQzcKKzoxMDlFNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIzMTBBNDQwRUEKKzoxMDlFNjAwMDA4MDAwMjQ4MDBBMDQyMkFEMDAxMzAwMjhDMDBCMzgwRDIKKzoxMDlFNzAwMDJDQzAwOTMxMDJDQzAwODkwMDIyRTgwMzM4MDJGODAwMjYKKzoxMDlFODAwMDUwMDAwMDAwMDAwMDAwMDA2MDAxMUUwMEI3ODAyNzY0NDEKKzoxMDlFOTAwMDY4NEEwMjUyMDA4QzgwMjFFMDA4NzgwMkRFMDBCNzgwMTgKKzoxMDlFQTAwMDJERTIxOTM5MDI1RTMwODU5ODIxRTQwQjc5MDJEODAwNDEKKzoxMDlFQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEYzMjAzNDAwQkYKKzoxMDlFQzAwMDBDQjgwMzQ4ODBFMjIyMzhDMDBEMzAwMzhDMDBGMzAwNDgKKzoxMDlFRDAwMDNFQzAwRDMxMDNFQzAwQ0IwMDM4MDYwRjMwODNEMjAyQjgKKzoxMDlFRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMEZGMDAzQjAxMUUKKzoxMDlFRjAwMDBGRDAwMzkwMDBGNjAwM0ZDMDBGRjQwMUZDMDBGRjAxRkIKKzoxMDlGMDAwMDMzQzIwRUY1MTNCQzAwRUQwMDNGQzQwRkYwMDNEMDA2QzIKKzoxMDlGMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwMEZCMDAzQ0MwNTEKKzoxMDlGMjAwMDBFQTAwMTY0MDFEODAwMzJFMDJDQjUwMzJDMDBGMjAwMzEKKzoxMDlGMzAwMDdBQzAwREI0MDMyRDgwQzkwMjMyQzAwQ0IwMDMyQTAwRDAKKzoxMDlGNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUM4MEI3MDAyREMwODgKKzoxMDlGNTAwMDBENjAwMkQwMDE4NDAwMjFDMDA4MzAwMjFEMDBCNzAwNEUKKzoxMDlGNjAwMDIxQzgwQkY0MDMxRUMwODYwMDIxQzAwODdDMDM1MjA0RTQKKzoxMDlGNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUVDMEI3OTAyREUwMEYKKzoxMDlGODAwMDA4NzgwNkQ2MDFCNDgyMjFFMDA4NzgwQTFFMDBCNUMwMjAKKzoxMDlGOTAwMDI5RTgwOTc4MDIzNkMxOTc4MDI4QjAwQTdBMDIzMDAwOTEKKzoxMDlGQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEJCMDAyQ0UwQTIKKzoxMDlGQjAwMDA5MzU4MkMwQzFBMDUxMjBFNDA4MzAwMjhDMDBCQkM0MjYKKzoxMDlGQzAwMDIwQzAwQjMwMDIwNjAwOTMxOEFBQjAyQTMwMEE1MjA0QUYKKzoxMDlGRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZBMDEzREFDQzgKKzoxMDlGRTAwMDRDRUMxMzc4MTBGNjgwQjM5MDBDQTAwMzI4MDBGRTAwMTAKKzoxMDlGRjAwMDNBODEwREEwMEYyQTgwREUwNDNCQTAwRUEwMDMzQTA0OTQKKzoxMEEwMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMEY4MDAzRTAwOTIKKzoxMEEwMTAwMDBEODAwMkUxMDBEODQ4M0UxMjBGODAxMzYwMDBGODYwMDYKKzoxMEEwMjAwMDNFMDAwNzgwMDNBMDAyRTgwNDI2MDgwNTgwMDM5MjAwOTIKKzoxMEEwMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEY5MDQzQTQwN0QKKzoxMEEwNDAwMDBDMTIwMzI0ODJDOTAwMzY0NDBGMTAwMzI0MDBGOTAwQzcKKzoxMEEwNTAwMDM2NDAwNDkwMDMwNDAwQzkwMDEyNDAwQzkwMDMwMjA0MkYKKzoxMEEwNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5ODEyMjQwM0MKKzoxMEEwNzAwMDA4OTAxQTI0MDA4OTAwMjI2ODBCOTkwMjI0MDBCOTAwNzQKKzoxMEEwODAwMDIyNDA2ODkwMEEyNDAwODkwMEEyNDAwODkwMEEyMDAwMUIKKzoxMEEwOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MTAyMkUwQTQKKzoxMEEwQTAwMDA4OTQwMDA0MDQ4QjA4MjZDMDBCOTAwMjI0MDRCOTBDMDkKKzoxMEEwQjAwMDI0NDAwQTEwMDIyNDAwMjMwMjJBNDBBODEwMDIwNjAwQUQKKzoxMEEwQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ5MEIxMjAyMjQwN0QKKzoxMEEwRDAwMDA4MTIwMjBDMTA4MTAyQTA1MDBCMTIwMjA0ODBCMTA1N0MKKzoxMEEwRTAwMDAwNDgwQTEwMDIwNEEwQTEwMDI4NEEwODEyMDAwMjAxMzgKKzoxMEEwRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NTBCQTE0RTQKKzoxMEExMDAwMDBDODUwMzAxNDJDODUwMzQwMDBGODUwMzIxNDBGODAwM0MKKzoxMEExMTAwMDM2MDAwRTgwMTMyMDgwRTAwMDFBMDgwQzAwMDMyRTAzODYKKzoxMEExMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQ0NEY5MTAzRjQwN0EKKzoxMEExMzAwMDJGRDExM0Y0MDRGNTAwM0Y0MDBGOTEwQkU0NDBGRjI4QUEKKzoxMEExNDAwMEJFNEUwRDk2ODNENEEyREQyODM3NEEwRjkzODNFNjA2RDAKKzoxMEExNTAwMDcwMDAwMDAwMDAwMDAwMDA5ODA1RTQxMENEMDAzRjQwQjIKKzoxMEExNjAwMDBGRDAwMzM1MDI1RDAxMzE0NDBGRDAwMzI0MDBGOTAwMDQKKzoxMEExNzAwMDMyNjAwQzk4ODNFNjQwRDkwMDM2NkEwQzlFODMyNjAxMzMKKzoxMEExODAwMDYwMDAwMDAwMDAwMDAwMDAzODEwRTAwMDg4MDAyRTAwOTEKKzoxMEExOTAwMDBCODA0MjAyODA4QTAwMjIyMDg4ODAwMzIwMDhCODgyMzcKKzoxMEExQTAwMDIyMjEwODg4ODJFMjQyODhBODIyMjAwOENFMDIwRTA0REEKKzoxMEExQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMjgxMDA2ODQwNzMKKzoxMEExQzAwMDBCMTAwMjg0MDFCOTAwMjA0MDQ5MTAwQTA0MDBCNTA4QjAKKzoxMEExRDAwMDIxNDYwODUwMDJENDAwOEQyMDI1NEEwQjUwMDI0MjAxMkUKKzoxMEExRTAwMDMwMDAwMDAwMDAwMDAwMDAxODExQTQwMDg5MDQ2RTU0MjMKKzoxMEExRjAwMDBCMTAxMkE0MDFBOTAwQTI0MDE4OTAxNjI0MDBCOTAwNjcKKzoxMEEyMDAwMDIzNDAxOEQwMDJGNDAwOEQ0MDIxNEEwQkQwMDI0NjA0QUUKKzoxMEEyMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEM5MDAzQTUwRjIKKzoxMEEyMjAwMDhGOTYwQjg0MDJGMTAxMzA0ODhEOTAwMzI0MTBGOTAwQzEKKzoxMEEyMzAwMEIyNDAyQzkwMDNFNjQwRDFDMDM2NTAyRjkwMEI2ODA0RkEKKzoxMEEyNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDAzRTYwM0EKKzoxMEEyNTAwMDBGOTlDMzY0MDBEOTI4M0U0MDBEOTAwM0E0MDBGOTQwMzMKKzoxMEEyNjAwMDNFNDAwRjkwMDNFNDIwRjk0MDNFNDAwQzkwMDM4QTAwRUEKKzoxMEEyNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4MDEzNjAwNzcKKzoxMEEyODAwMDhGODAwM0UwMDJGODA0MzIwMDBEODA0MzIwMDJDQzAwRUUKKzoxMEEyOTAwMDNGMDAwRkMwMTM5MDAyREM0MDNGMTA0Q0MwMjMwQTA0NjMKKzoxMEEyQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMEJBMDAyMjgwREQKKzoxMEEyQjAwMDBCRTgyMEY4MDA0RUMwMjNBMDA4QTAwMzY4MDA4QTAwMjUKKzoxMEEyQzAwMDJFODAxRkEwMDIyQTA2OEEwMDJFQTAwMjYwMDMwQTAwMjgKKzoxMEEyRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NkMwMEIzMDAyMEMwMTIKKzoxMEEyRTAwMDBCM0QwMkMwMDMyMzAwMjBFMDAxQjAwNjRDMDA4QjAwQjAKKzoxMEEyRjAwMDJFQzA0QjMwMDI4RTA4ODM4MDJDQzQwMDM0OEU0QTAwNUUKKzoxMEEzMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUM4MEI1ODA2MUMwNkEKKzoxMEEzMTAwMDBCNDAwMkQ0MDA4NDA4MjNDMjA4NTAwMjVFQzA4NDAxQUUKKzoxMEEzMjAwMDJEMDA4QTA4MDIxMDI0ODQwODZEMDAwQTAzMTIyODAwRjgKKzoxMEEzMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEY1ODIyMTYwMTcKKzoxMEEzNDAwMDBGNzgwM0Q2MDRBRTgwMzFFMDBENTgyMzdFMDBDNjgwMUUKKzoxMEEzNTAwMDJERTAwQjc4MDM4RTAwRDc4MjNERjAwQzdBMDM2QTAyNjEKKzoxMEEzNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEYxMDBCQUQ4OTkKKzoxMEEzNzAwMDBGODAwM0U0MTJGODAwQkU4MDBFMTAwM0VDMDBGOTAwMTkKKzoxMEEzODAwMDNFMDA1RjgwMDNFMDA4RjgwNDNDMDAwRjgwMDNDMjA2MzMKKzoxMEEzOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUyMEZGODAzRkYwNEMKKzoxMEEzQTAwMDBGRjgwM0QyMDBFRjg0QjM2MTBDQjkwM0ZFMDBGRjgwMDUKKzoxMEEzQjAwMDMzRTAwQ0Y4MTMyMjExQ0Q5MDNGNjAwQ0U4MDMxMDAwM0QKKzoxMEEzQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEY1MDAyREMwRTYKKzoxMEEzRDAwMDBCMDAwMkQ0MDQ4NDIwMjM0MDA4NUEwMkRDMDBCNDAwOUQKKzoxMEEzRTAwMDIxMDAyOEMyMDIxRTA0ODYwNDJEODgwOEQwMDIyQTA0RjcKKzoxMEEzRjAwMDYwMDAwMDAwMDAwMDAwMDAxMDAwOUMwMEI1MDAyRDQwMkYKKzoxMEE0MDAwMDBCNzAwMkY0MjBBNzA0MjFDMDBBNTAwMkRDMDBCRTAwMzkKKzoxMEE0MTAwMDIxQzAwODcwMTIwMDAwODUwMDJENDA4ODY4MEEwNDAwRTEKKzoxMEE0MjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0Q0MwMEExMDAyRUMwM0QKKzoxMEE0MzAwMDFCMDgwNkM0MjA4MDAwMjA5ODFBMTAwMkNDMDBCMTA4MjYKKzoxMEE0NDAwMDIwMDAwODAwMDIwQzAxODJDMDJDQUMyODkwMjIxODA0QzUKKzoxMEE0NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEIzMDAzRTQwMjIKKzoxMEE0NjAwMDBGQkEwM0U1MDJFOTA0MzI5MEFFQjAwM0ZDMTBGQjQwRTIKKzoxMEE0NzAwMEIyMDAwQzgwMEIyQzAyODIxODNGQTAwQ0QwMDMyRTA0REIKKzoxMEE0ODAwMDYwMDAwMDAwMDAwMDAwMDA5MDAwRUMwNEZCMDEzRTQwNzIKKzoxMEE0OTAwMDBGQjY0M0U0MDBGODAwM0U4MDAxOTAwM0VDMDBGODgxMjEKKzoxMEE0QTAwMDNFRDAwREI0NTNFMDAwRjk0MDNFNDAwRkEwMDNFMDAwNjEKKzoxMEE0QjAwMDMwMDAwMDAwMDAwMDAwMDA4MDEwREMwMkNEODAzMzYwMUUKKzoxMEE0QzAwMDJDREEwM0ZDMDBFQzAwMzM0MDBGRjIwMzdDMDRGRTAwQTYKKzoxMEE0RDAwMDMyMDAwQ0M4MDMzQzAwQ0UwMDMxODAwQ0QxMDMyNDA0QjAKKzoxMEE0RTAwMDMwMDAwMDAwMDAwMDAwMDA5MTA0NkMwMDA5MDAyQTY0QTQKKzoxMEE0RjAwMDA4OEUwMkMyMTBBMDEwM0UxMDBCOTgwMkVDMDBCOTAwQUEKKzoxMEE1MDAwMDAyRDgwOEJFMjIyMDAwODkwMDIyNTAwOEEwMDIyMDQwNjQKKzoxMEE1MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDBCMjAyMjQwRUQKKzoxMEE1MjAwMDA4QTAwMkU1NDJBQjA0MjIxODBCQjAwMjZDMDBCMzAwOTUKKzoxMEE1MzAwMDIwMDQwODAxMDIwMDA0QTg0MDIyMTAwODgwMDIyMDAwMjQKKzoxMEE1NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwODgzMDAyODQwQzAKKzoxMEE1NTAwMDA4MDQwMkM0MDJBODAwMkMwMDBCMTIwMkNDMDBCMDAwQjgKKzoxMEE1NjAwMDIwQzA0MDMwMDIwQzAwOEIwMEE4QzAwODMwMDIwMjExNEQKKzoxMEE1NzAwMDAwMDAwMDAwMDAwMDAwMDA4MDBENkMwMEM5MDAzMzQwQTYKKzoxMEE1ODAwMDBDQjAwM0VDMDJFQjAwMzI0MDBGQjAwMzZDMDBGQTAwOTkKKzoxMEE1OTAwMDMyMDAwQzgwMDMyMDgwQzgwMDMwMDAwQzgwMDMyMDAzQjAKKzoxMEE1QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEZEMDAzRjQwMkEKKzoxMEE1QjAwMDBGQzIxM0YwMDBGNDAwM0YwMDRGRDQwM0ZDMDBGNTAwN0QKKzoxMEE1QzAwMDNGQzA4RkYwMDNGQzQwRkYwMDM3QzAyRkYwMDNFODA2QzgKKzoxMEE1RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjAwMENDMDAzMzAwNTcKKzoxMEE1RTAwMDBFRDAwQjMzMDBDQzAwMzNFMDBGQzA4MzdDMDBDRjIwQjMKKzoxMEE1RjAwMDdCMDk4Q0Y4MDNGRTUwQ0YzODNGRTEwREMyMDNGMDAwMTkKKzoxMEE2MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTIwMDk4MDgyMDgwMjgKKzoxMEE2MTAwMDA4OTgwMjIwMDA4OEQwMjJFMDBFQjQyMjdEMTk5RjY5OUMKKzoxMEE2MjAwMDJFOTAwODMwOTIyODgxREI2NDJFRTE4ODE2QTJFMDA0ODcKKzoxMEE2MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzgwMDkwMjQyMDAxQzAKKzoxMEE2NDAwMDA4MTAxNjAwODI4MzAxMjhDMTBCMDI4MjBDRTBBMzEwQkYKKzoxMEE2NTAwMDI4MEUxQjkyMDI4NDg0OTMyMDJFQzAwODMxMDJFMjAxNEUKKzoxMEE2NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTgxMDk4MDAyMjgwQjMKKzoxMEE2NzAwMDA4OTAwMjAwNjA4QTEwMkFDMDBBMjAwMjZDMThCQjAwRjEKKzoxMEE2ODAwMDZFNjAyQjkwMDI0NjIwOEIwMDJFQzIwOEIxODJGMDA0MkYKKzoxMEE2OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDExRTQwMkNCMDBCMjQwNjYKKzoxMEE2QTAwMDJDOTIwMzI3MDA4ODAwQkFDMDBGODgwMzJDMDBFQjA0MEIKKzoxMEE2QjAwMDNBQTBDRjJDQTNFRDAwOUIwMDNDRjAyRDhDMzNEMDA0QUUKKzoxMEE2QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQwNEVGMDAzRkMwOTMKKzoxMEE2RDAwMDBENTEwM0YwMDBGMTgxMzdDMDBFRjQwMzlDMTBDRjAwNDAKKzoxMEE2RTAwMDNEODAwQ0VDMDdCODA4RkYwMjFGQzQwRkM4MDNGODAwMzgKKzoxMEE2RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwOUUwMEMzMDAzODQwRDEKKzoxMEE3MDAwMDBDOTIwM0E0ODBGQjIwM0FDMDBEOTQwMzJDNDBGQjAwNjQKKzoxMEE3MTAwMDNFMDEwRjgwMDNFNTAwRUIwMDNBQzAwRDg0MEIxMDA0RUUKKzoxMEE3MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwODhCMDIyMkMwOTkKKzoxMEE3MzAwMDA4OTIwMzIxMDA4QjQ4MjJDMDBCQjcwMjNENDAzRjAxMjUKKzoxMEE3NDAwMDIyNzQwQjkwMDIyODA0QkYwMEIyQzAwQjg1MDIzMjAwQjUKKzoxMEE3NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDAwMTgwMDAyODAwRUIKKzoxMEE3NjAwMDA4MkMxMjg4NDBCMDQwMDhDMDBCMTgwMjBFMDBCMzAwM0QKKzoxMEE3NzAwMDI4MjAxMTMwMDIwQzAwQjMwMDI0MDAwOTAwMDYzODAwMjQKKzoxMEE3ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTIwMDg0ODAyMUEwODEKKzoxMEE3OTAwMDI4NjgxMjNBMDA4NDgwMjVFMDhCNTgwMjFFNDBCNzgyNTgKKzoxMEE3QTAwMDIxQTYwQjc4MDIxQTAwQjc4MDIxMjAwQjU4MDIwODAwNUUKKzoxMEE3QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwMEM4MjEzODA5RDcKKzoxMEE3QzAwMDBDMjgwMzgwMDFGMTAwMzhDMDBEODUwMjBDMDBGQjAwNEQKKzoxMEE3RDAwMDM4ODUwRjEwMDM4QzAwRUIxMDNDQzgwRDMwMDMxMjAyQkIKKzoxMEE3RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOTgwMEZDMDEzRjgwQjgKKzoxMEE3RjAwMDBGNjgwM0QwNDBGQzAwM0JDMDBEQzAwM0ZDMjBGRjAwRUQKKzoxMEE4MDAwMDNCQzUwRkYwMEJCNDQwRkYxODNGMDAwRkYxMDNEMDA2MUIKKzoxMEE4MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMEVCMDBCMDQxNkIKKzoxMEE4MjAwMDBDQTAwM0UwMDRDQTA0QjBFMDBFQjAwM0VDODBDQjIwMUYKKzoxMEE4MzAwMDMyODEwQ0EwMDNFRTAwREIwMDNFMDAwRUIwMDMyQTAwQzQKKzoxMEE4NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwNDg3MDAyMUMwM0YKKzoxMEE4NTAwMDQ4NjAwMkYwMDA4NzAwMjFDMDA4NzAwMkZDQTA4MzI4MzUKKzoxMEE4NjAwMEEzODAwODYwMDJEQzAwODcyMDJEQzAwQjcwMDIxMjA0NTgKKzoxMEE4NzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUMwMkEzODAyMTYwNzYKKzoxMEE4ODAwMDA4NjgwMkQyMDA4NzgwMjFFMDI5NzgwMkRFODA4NzkwNjQKKzoxMEE4OTAwMDIxQTAxOTQ4MDJGRTAwOTc4MDJERTAwQTM4ODIzMDAwN0UKKzoxMEE4QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMTgzODAyMEMwN0MKKzoxMEE4QjAwMDA4MjA0MkMwMzA4MzcwQTBDMDg5MzQwMkNDMDI4MzAwREIKKzoxMEE4QzAwMDYwQzAyOTAwMDJDRTAwODMwMDJDQzgwQkJDMDIxMjA0MTkKKzoxMEE4RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTkwMEVBRTIzMjkwMTQKKzoxMEE4RTAwMDJDRTAwM0ZCMDJDRUMwMzI4MDBGRTQwM0U4MDA4QTAwQjQKKzoxMEE4RjAwMDMzODgwRDY0QzNGQTAwREEwMDNEOTAwRUUwMEIzQTA0OTEKKzoxMEE5MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwQzAyNEY4MDgzRTEyNkIKKzoxMEE5MTAwMDBGQzAwM0UwNDhGMDAwM0UwMDBFODA5M0MwMDBGODAwMzYKKzoxMEE5MjAwMDdFMDEwRTgwQzJFMDQwRjgwMDdFMDA4Rjg0MDNEMjAwREEKKzoxMEE5MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTUwMEMxMDEzMjQ4QUUKKzoxMEE5NDAwMDBDOTgwM0U2NDBDOTAwMzI0MDBGOTAwMzY2MDBDOTAwMkUKKzoxMEE5NTAwMDE4NjEwQzkwMDM2NDIwRjkwNTNFNDAwQzkwODMwMjA0QkEKKzoxMEE5NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjYyMDg5MDAyMDUyQjIKKzoxMEE5NzAwMDI4MTBDMjI2MDJBOTAwMjI0MDBCOTAwQTI3MDBBOTAwMzUKKzoxMEE5ODAwMDIyNzAwODkwMDIyNDA4QjkwMDJFNDAwQTkwMEEyMDAwODQKKzoxMEE5OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMjhEMDAyMzQwNzQKKzoxMEE5QTAwMDA4RDEwMjg0MjA4OTAwMjI2MDBCMTFGMjI0QjA4MTAwQkEKKzoxMEE5QjAwMDJBNDYwODkwNDI2NDA4QjkwMDJFNDAwODkyMDIwNjAwMTgKKzoxMEE5QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MTQ4MDg1MjAyMzQ4OTcKKzoxMEE5RDAwMDA4NTIwMjg0MDg4MTAwMjA0MDBCMTIwMjA0ODBBMTIwNEEKKzoxMEE5RTAwMDI4NDkyODkwMDIwNDAwMzEyMDJFNDAwODMyMDIwMjAxM0EKKzoxMEE5RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEM4NTBCMjE0NTQKKzoxMEFBMDAwMDBDQzAwM0ExNDBDODAwQjIwMDA3ODUwMzIxNDBDODUwMTQKKzoxMEFBMTAwMDNBMTUwQzg1MDM2MTQwRjg1MTNFMDAyQzg1MDMyRTAzNDYKKzoxMEFBMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFEQzQ0OEY5MTAzRTQ0OEEKKzoxMEFBMzAwMDRGOTEwMzc0MDBGNTQ0M0U0MDBGRDEwM0U0NDBGOTEwRjgKKzoxMEFBNDAwMDM3NDQwRkQwMDNENDAwRjkxMDNGQzAwRkQxMDNFNjA2RkUKKzoxMEFBNTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RjZBMEREOEMzMzc4QUYKKzoxMEFBNjAwMDBFREEwMzM1MDBDREEwMzM0MDBERjgwQjM2ODFFOTgwQjYKKzoxMEFBNzAwMDMzNzAwQzkxMDNFNDQwRjlDMDNFQzAwRkRDMDNDNjAwMDQKKzoxMEFBODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwNEI4NDAyMDNDRDUKKzoxMEFBOTAwMDBDODUwMjAyODQ4QTQwMjIwMDA4OEY4MjIzMDBCOEU4RDUKKzoxMEFBQTAwMDIyMjAwODg4MDJFMjAwQjhEMDJFMDAwQjhDMDJDRTA0Q0YKKzoxMEFBQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMDkxMDA2MDQ4NUMKKzoxMEFBQzAwMDRCMTAwMjA0OEE4MTQwNjA0MDQ5MTAwMjhEQTBBMTQxRDAKKzoxMEFBRDAwMDIwNTAwOTEyMjJDNDgwQjEyMDJDNDA0QjNFMDJDMjAxRkEKKzoxMEFBRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwOEI5MDRBMDQwODAKKzoxMEFBRjAwMDQ4QjAwMjI0MDA4OTAwODI0MDA4OTBBNkE0MDBCOTA0NEUKKzoxMEFCMDAwMDIyNTQyOTk1MDJFNTQwQjkwMDZFNDAwQjkyMDJDNjA0MUEKKzoxMEFCMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDA1RTQwMDkxMDAzMjQwNDkKKzoxMEFCMjAwMDBGOTAwOTI0MDA4OTkwMzI0MDBEOTQwM0E0MDBFOTAyOUIKKzoxMEFCMzAwMDcyNjAwRDk0MDNFNDAxRjkwMTNFNjAwRjkwMDNFODA0OTQKKzoxMEFCNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQ0MEY5MDAzRTQwMTEKKzoxMEFCNTAwMDRGOTAwM0U3MTBGOTgwM0U0MDBGMTAxMzY0MDBGMTAwOUUKKzoxMEFCNjAwMEJFNDAwRTkwMDNFNjA4RjkwMTNFNjQwRjkwMDNDQTAwNTAKKzoxMEFCNzAwMDYwMDAwMDAwMDAwMDAwMDAyODAwQTAwMEY4MDAzMjA4N0IKKzoxMEFCODAwMDBDMDEwQjIwNDBDODQwMzIwMDBFODQ4MzIwMDBGODA0RTIKKzoxMEFCOTAwMDNFMDQwRjgwMDMyMTAwRTgwMDNFMTAwRjg4MDNDQTA0MjIKKzoxMEFCQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzgwMDNFMDQyMzgwM0IKKzoxMEFCQjAwMDA4RUMxMjM5NDRBNjAwMjg4MTA4RTAwMDM4MDhCQTAwRTEKKzoxMEFCQzAwMDNGODAwQkEwMDJBODAwOEEwMjJFODAwQkUwMDJDQTAwODAKKzoxMEFCRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NDgwMDMxMDAyNEQwOUIKKzoxMEFCRTAwMDA4M0UxMkFFMDg4MUEwMkNDMDBBMzgwMDRDMDBCMzAwMDkKKzoxMEFCRjAwMDZFQzAwQTMwMDIwQzAwQTMwMDZDQzAwQjMwMDJDQTAwMDkKKzoxMEFDMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTgwMEI1MTAyNUMwOTEKKzoxMEFDMTAwMDI4NjAxMjkwMTBBNTA4MkRDMjA4NjQyMjU4MThCNzAwQTkKKzoxMEFDMjAwMDJEODAwQjc5MDJCRUMwODcwMTZEQzAwQjYwMDJFODAwNjkKKzoxMEFDMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEY1ODQzNTIwMzgKKzoxMEFDNDAwMDhDMTgwMjkyMTBDNTgwM0Q2MDBFQzgwQjVBMDg3N0YzMkQKKzoxMEFDNTAwMDNEQTAwRkY4MDMxRUIwRTc4NTNERTAwRjc4MDNFQTAyNDAKKzoxMEFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEYxMDRCQTAxNjMKKzoxMEFDNzAwMDBGQTA0MzYwMDlFMTAwMzg0MDBFQTAwM0E4MTRGQjIwOTgKKzoxMEFDODAwMDNBODAwRkI0MUI0QzgwRkIyOTNFQzAwRkIwMjNDMjA2OTQKKzoxMEFDOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkEwMENEODAzQkUwRUQKKzoxMEFDQTAwMDRFRjgwM0YyMDJENDgxM0JFMDhFOTgwNzNFNDRFRjkxQzgKKzoxMEFDQjAwMDNGRTA0RkZDMDdFRUQwQ0Y5ODMzRTQwRkY4MDNDMDAwMUQKKzoxMEFDQzAwMDcwMDAwMDAwMDAwMDAwMDBBODAxOTgwMDg1MTAyREM0NEQKKzoxMEFDRDAwMDBEMTEwMkYwMDA4NTIwMzFDNDBCN0IwMDM4NDBENzEwRTUKKzoxMEFDRTAwMDJEODAwQjcwNjJGRUUxODcxNDM5QzAwQjYwMDJFQTA0MEMKKzoxMEFDRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDEwQkM0MEE1MDAyOTQwREEKKzoxMEFEMDAwMDBCNTA4MkRDNDA4NDA0MkRDMDBCMTAwNjU4NDRBNzEwNjEKKzoxMEFEMTAwMDJEODAwQjcxMDJEQzAwODcwNDIxQzIwQjUwMDJDMDEwOTEKKzoxMEFEMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwQUExMDEyQzQwRUIKKzoxMEFEMzAwMDg5MTgwMkMxMDBBMTA4MjBDMDBCMzQwNjQwMDA5MzA1MDkKKzoxMEFENDAwMDJDMTQwQjNDODZDRTEwODMwMTI4RjEwQjE0MDJDODA0OEUKKzoxMEFENTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QTAwMEVEMDAzQUMwN0YKKzoxMEFENjAwMDA3QkM2M0VEMDA4MTQwM0VDMDBFODgwMzY0MDBFRjAwMjUKKzoxMEFENzAwMDdFNTAwRkYwMDJGRDQyQ0YwMDcyQzAxRkI0MDNFQTA0MDAKKzoxMEFEODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTgwMDk5MDAzRUUwNDQKKzoxMEFEOTAwMDRGQjQ4M0VEOTAwOTQwM0VDMDBGQTE4M0E4MDFFQjAxQTEKKzoxMEFEQTAwMDNFMDAwRkIxMTNFQzBDRkIwMDNBQzA1RjIwMjNFMDAwMjMKKzoxMEFEQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRjgwMEZEMDQzRkIwNkEKKzoxMEFEQzAwMDBENjAwMzNFMDBDRDAwMzNGMDBGRjIwMUYwMDBGRjAzRjEKKzoxMEFERDAwMDNGMDMwRkYwMDFGQzAwRkIwMjMzQzIwRkYwRTMwMDQ0MUQKKzoxMEFERTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkEwMEI5MDIyRUEwQkIKKzoxMEFERjAwMDRBQUMwMjBFODBGOUMwMzZFMTBCQTAwMjJBMDhCQjAwNjMKKzoxMEFFMDAwMDJFMjAwRUIwMDJFQzAwRUIwMDIyQzA4QkIwMDIyMDQwREUKKzoxMEFFMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDAxMjMwMEE5MDAyOEMwRUQKKzoxMEFFMjAwMDA5QjIyMjZDNDA4OTg5MkFDMDBCMTQwNjI2MDBBQjAyQTUKKzoxMEFFMzAwMDZFRTAwOUIwMDY2QzAwQjMwMjIyQzAwQkIwMDIyMDAwMjUKKzoxMEFFNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDgwMEIxMDAyQ0MwMTEKKzoxMEFFNTAwMDBBMzAwMjJDMDBCQjAwNjRDMDBCMzIwQTA4MDAzMzAwMjkKKzoxMEFFNjAwMDZDODAwMjMwNDZDQzE4QTMwMDIwQzAwQjI4MDIwMjExQ0YKKzoxMEFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NjgwMEU5MDAzOEMxODMKKzoxMEFFODAwMDBEQjEwQjJDMDA4OTAwM0FDMDBCOTAwMzYwMDBGRjAyNEIKKzoxMEFFOTAwMDNFODAwRkYwMDNGQzgwRkYwMDMyQzA4RjgwMEIwMDAzNjgKKzoxMEFFQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDExRDgwMEZEMDQzRkMwQzkKKzoxMEFFQjAwMDJGRjIwM0ZDMTFFRjAwM0ZDMDBGRjQ0MzcwMDBGRjAwQkUKKzoxMEFFQzAwMDNGMDA0NkYwMDNGRDAwRUYwMDNGQzAwRkMwMDNFODA2NUYKKzoxMEFFRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkUwMEZGODAzREUwQTMKKzoxMEFFRTAwMDBDRjkxM0RFMDA3RjgwQjNFMDBGRkMwM0JFNDBDRjgwN0YKKzoxMEFFRjAwMDMzRjAwRkY4MDM3QzA0Q0M4MDMzQTAwQ0YwMEIzMDAxNEUKKzoxMEFGMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTAyMDg4MDAyRTIwNkIKKzoxMEFGMTAwMDA4ODIxMkUwODBBODgxMjIwMjBCODAwMjIwODBBODgwOTMKKzoxMEFGMjAwMDIyMDgwQjgwMDIyQzAyODgwNEFBMjAwOEIwMDIyMDA0MDgKKzoxMEFGMzAwMDIwMDAwMDAwMDAwMDAwMDA4ODA1RUMwMEEzMDgyQzgwMjEKKzoxMEFGNDAwMDA4MzIwMkM0MjBBMzAwMjg0MDBCOTIwMjg0MDBBOTAxMDkKKzoxMEFGNTAwMDI4QzgxQjEyODJDQzQwQTgwMDI0RTAwQTMwNDIyMjAxRkIKKzoxMEFGNjAwMDMwMDAwMDAwMDAwMDAwMDBDMDExQTg4MEE4MDIyRTQwQTAKKzoxMEFGNzAwMDY4ODAxMEM4MDBCODQwMkE5MDBCQTAwMDI4MDBBQTA4REEKKzoxMEFGODAwMDJBMDIwMzIwMDI4QzAwQTg4ODJFMjAwQUIwMDIzMDA0NzYKKzoxMEFGOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTgwNEZBMDAzQzQwOUEKKzoxMEFGQTAwMDBDQTAwM0U4MDBFQjAwM0FDMDBGMjA1M0E4MDBFMzQwRDgKKzoxMEFGQjAwMDJBNDAwRkEwMDM2QzAwQTg4MDM0MjAxRUIwMDMxMDA0QTgKKzoxMEFGQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQwMDlEOTEzRjgwOEYKKzoxMEFGRDAwMDBGREEyM0Y0MDBDQzIwMzcwMDA3RDAxMzc0MDBCQzAwMzQKKzoxMEFGRTAwMEI3ODAwQkQwNDM3QzAwREMwNDNCMDA2REYwMDNGODAwMUQKKzoxMEFGRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTgwMEZBODAzQTAwNDUKKzoxMEIwMDAwMDJDQTAwQjIwMDJDQjYyM0U1MDBFODgwMzIwMDBEOTEwRUEKKzoxMEIwMTAwMDNFNzA4QzgwMzNFQzgwRDg0MDNBMDIwREIwMDMxMDA0QUYKKzoxMEIwMjAwMDIwMDAwMDAwMDAwMDAwMDBDODAxMEMwMDM5ODAyMkMwOTAKKzoxMEIwMzAwMDBDOUQ4MjJDMTBEMDQwMkVBMDA4QjgwMzRFMDI4QTQwRUUKKzoxMEIwNDAwMDBFQTAwREIwMDMzRDAwRDA5MDM2MTAwQkYwMDJCMjAwMDAKKzoxMEIwNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIxMDA2MEMwQUUKKzoxMEIwNjAwMDhBMTgwMjhDMDg4MDQwMENBMDAyMzAwMkNFMDA4MjQ4NzAKKzoxMEIwNzAwMDJDODAyQjMwMDY4QzAwODEwMjIwOTAwOUIwMDIzODAwMTEKKzoxMEIwODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTIwMEI2OTBBMzMwMjQKKzoxMEIwOTAwMDA4RTgyMkIyMTQ4NzgwMkQ2MDA4NDkxMjEyNjE5NTkwNDkKKzoxMEIwQTAwMDJENjEwQTQ4MTYxRTgwOTU4MDI1MjAwQjc4MDI4ODAwQTUKKzoxMEIwQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEYxMDAyODhDNEYKKzoxMEIwQzAwMDhFMTAwMzg0ODA4MDAwMkMwMjBBOUEwMkU0MDBEMDAwRDMKKzoxMEIwRDAwMDNFODAwQjkxMDM4RTgwQzIwODM4ODAwREIwMDMxMjAyQUYKKzoxMEIwRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjAwMEY2MDAzRjQ0REEKKzoxMEIwRjAwMDBGMjExMzc4MDBGRjAwM0RDMDBGRTAwMzc4MDBFRjA0M0MKKzoxMEIxMDAwMDNGNDA4REU4MDNEQzA0RjYwMDNGMDAwRkYwODNEMDA2REIKKzoxMEIxMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMEU4ODAzMjQwNjAKKzoxMEIxMjAwMDBGODgwQjI4MDA3ODAyM0U4MDBFMjgwMzI4MDBDQTgwNzIKKzoxMEIxMzAwMDMyMDAwRkEwMDNFQzAwQzk4MDMyODAwRkIwMDMyQTAwNTgKKzoxMEIxNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOEMwMDhGMDBBMTgwRkEKKzoxMEIxNTAwMDBCNzA0MjE0MDBCNzAwMkQ0MTBCNTA0MjE0MDBBNTAwQTMKKzoxMEIxNjAwMEExQzAwQjUwMDJGQzgwQTUwMDIxMDAwQkYyMDIxMjA0Q0EKKzoxMEIxNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwQkEwMEE0ODAyOTMwNzgKKzoxMEIxODAwMDRCNDgwNjUyMDhCNDgwMkQyMDBCNDg0MjMyMDA4NDgwODAKKzoxMEIxOTAwMDIxMjAwQjQ4MTJERTQwODY4MTI5QTAwQjc4MEEzMDAwNUUKKzoxMEIxQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMDgzMDUyMEUwQ0YKKzoxMEIxQjAwMDBCMzQwMjZDMTBCMzAwMkNDMDBCMzY0QTBEMERBMzAwRUIKKzoxMEIxQzAwMDIwQzAwQjM0ODJDQzAyQTIwMDI4MDAwQjMwMDIxMjA0RjMKKzoxMEIxRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTkyMEVBNDAzMEEwN0YKKzoxMEIxRTAwMDA3QTA0MzY5NDBGQTAwM0M4MDBGQTAwMzA4NDBDQTAwNTIKKzoxMEIxRjAwMDMwQTAwRkE0MDNFODAwQ0UwMDNCOTgwRkEwMDMzQTA0NTAKKzoxMEIyMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRDIwMEZDMDgzRjAwODEKKzoxMEIyMTAwMDBCQzIwM0IwMDBGQzAwM0YwMDBGQzAwM0YwMDBGQzAwQjUKKzoxMEIyMjAwMDNGMDQwRkMwMDNFMDAwRjgwMEI2MDIwRjgwMDNEMjAwMTUKKzoxMEIyMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEQ5MDAzRTY4NjMKKzoxMEIyNDAwMDRDOTEwMUU0MDhDOTAwM0U0MDJDOTIwM0U0MDJDOUEwREQKKzoxMEIyNTAwMDNFNzAwRTkwMDNDNjQyQzkwMDNFNDAwRjEwMDMwMjA0MjgKKzoxMEIyNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5ODYwRTYwNDkKKzoxMEIyNzAwMDA4OTgwMkU0MDg4OTEwMkU2MDA4OTAwMkU0MDA4OTBDMDYKKzoxMEIyODAwMDJFNjAwODkwMDJFNjg4ODkwMDJFNDAwQjkwMDJBMDAwRjQKKzoxMEIyOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDlEMTAyRjQwNDEKKzoxMEIyQTAwMDI4RDAwNkY0MDJBRDAwMkY2MDA4RDAwMkY0MDA4RDAwMTMKKzoxMEIyQjAwMDJGNDAwQUQwMDJFNDAwODkwMDJFNjAwQjkwMDIwNjAwQTUKKzoxMEIyQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MzQwMDg1MDAyRDQwMEMKKzoxMEIyRDAwMDA4NTgwMkQ0MDBBNTAyMkQ0MDA4NTAwMEQ0MDA4NTAwNzMKKzoxMEIyRTAwMDJENDAwODU0MDJDNDgwODEwMDJDNjAwQjE0MDI4MjAxOUUKKzoxMEIyRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEQ4NTIzRTAwODAKKzoxMEIzMDAwMDBDMDUwM0UxNDBFODA0M0UxNDBDODUwM0UxNDBDODAwNEQKKzoxMEIzMTAwMDNFMTQwRUMwMDNFMDAwQzAwMjNFMDA0RjgwMjMyRTAzMDcKKzoxMEIzMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQwMEY5MDEzRTQwQUMKKzoxMEIzMzAwMDRGOTAxM0U0MDBEOTAwMUU0MDBGOTAwM0M0MTBGMTAwOTkKKzoxMEIzNDAwMDFFNDAwRjkwMDNFNEUwRkQyODNGNDAwRjk0MDNFNjA2MDMKKzoxMEIzNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1QTQwMEZEMDAzRjQwNDAKKzoxMEIzNjAwMDRENTAwMkU0MDA5NTA0MzM0MDI4RDAwM0Y0MDBGRDAwNjIKKzoxMEIzNzAwMDMzNDAwRjkxMDMzNDAwQ0Q0MDMzNDAwRjk4ODEwNjAwRDUKKzoxMEIzODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAxMEI4MDAyRTAwMkYKKzoxMEIzOTAwMDBCODAwMkUwMTBCODAwMjIwMDA4ODAwMkUwMDBCODAwMzQKKzoxMEIzQTAwMDIyMDAwQjg4MDNDMjgwODg4MDIyMDAwQjhDMDIwRTA0Q0UKKzoxMEIzQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA0QzQwMEIxMDAyQ0MwRjAKKzoxMEIzQzAwMDBCMTAwMkM0MDBCQjAwMjI0MDA4MTAwMkM0MDFCOTAwRTcKKzoxMEIzRDAwMDIwNDAxQjkwMDIwNDIyODkwMDIwNjAwQjEyODIwMjAxOEYKKzoxMEIzRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQ0NEI5MDAyRUMwMzEKKzoxMEIzRjAwMDRCOTAwMkU0MTBCOTAyMDI0MDA4OTE0MkU0MDBCOTgwODcKKzoxMEI0MDAwMDIyNDAwQjkyMDJDNDAwOTk0MDIyNDA0QjkwMTIwNjA0NDUKKzoxMEI0MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTYwMEI5MDEzRTU4RTEKKzoxMEI0MjAwMDBEOTAwM0U2MDBEMTAwMzI2MDBDOTgwMkU2NDBGOTAwNkUKKzoxMEI0MzAwMEIyNDAwRjE4MDMyNDAwQzk4MDMyNTAwRjkwMjMyODA0MTMKKzoxMEI0NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDAzRTQyNDYKKzoxMEI0NTAwMDBCOTAwM0U3MDhGOTAwQkU0ODBGOTAwM0U0MDBGOTAwRTEKKzoxMEI0NjAwMDNFNDAwRjk4MDNBNDAwRTlBMEJFNDAwRjEwMEI0QTAwMTUKKzoxMEI0NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEQ4MDEzRTAwN0QKKzoxMEI0ODAwMDBGODA4QjIwMDBGODIwM0UwMTBGODEwM0UwMDBGODA4QjgKKzoxMEI0OTAwMDNBMDAwQzgwMDNFMDAwRDg0MDMyMDAwRjgwMTMwQTA0MDkKKzoxMEI0QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhBODAyRjkxNUQKKzoxMEI0QjAwMDBCRUUwMjI4MDFCRTAwMjA4MDBCQTAwMkVBODBCNjQ4RjUKKzoxMEI0QzAwMDIyODAwREEwMDJGQTAyODY0MUEzQTYwQkEwMDMwQTAwNjcKKzoxMEI0RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzODAyQ0MwQjQKKzoxMEI0RTAwMDBCMzAwMjBDMTBCMzAwMjhDMDBCMzgwMkNDMDBCMzAwQTQKKzoxMEI0RjAwMDI4QzAwOTMwMDJDNjAxODM2MDIwNzAwQjMwMEE0QTAwNjAKKzoxMEI1MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMkU4ODg1MDgyRDgwNUEKKzoxMEI1MTAwMDRCRjgwNjFDODBCNzAwMjFDMDBCNTAwMkQ0MDBCNjAwQzcKKzoxMEI1MjAwMDI5NjAwOTcwMDJEMEEwOEQwMDIxNDAwQjMyMDIyODAwNTIKKzoxMEI1MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEQ1ODAzREUwOEIKKzoxMEI1NDAwMDhGNzgwMzFFODRCNzgyM0Q2MDBGNTkwM0RFMDBGNzgwQjkKKzoxMEI1NTAwMDI5NjAxNTc4MDNERTAwQzc4MDMxNjAwRjdDMDM2QTAyMjIKKzoxMEI1NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUM0MEU5MDAzRTgwMjMKKzoxMEI1NzAwMDBGQTAwM0VEMzBGQjAwMzZDMTBGOTYwM0U0MDBCMzAwQ0IKKzoxMEI1ODAwMDM0NDAwRkI3ODNFQzQwMjEwMDNFNDAwRkIwMDNDMjA2QTkKKzoxMEI1OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZGODEzM0UwQjUKKzoxMEI1QTAwMDBGRjkwM0RFMjBDRjgxM0ZFMDA3NzgwMzNFMDBGRjgwRTQKKzoxMEI1QjAwMDNGRTAwNEY4MTNGRTAyREU4MDMzNjAwRkY4MDMwMDAwNjIKKzoxMEI1QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEI3MDAyMUM0MUEKKzoxMEI1RDAwMDBCNUEwMkRDNDg4NjUwMkRDMDBCMzEwMjk0NjBCNDE4MUYKKzoxMEI1RTAwMDJENDA0ODcwMDJFODAwQTUxMDIxNDAwQjcxMDIyQTA0OEEKKzoxMEI1RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEJEMDAyMTQyMkYKKzoxMEI2MDAwMDBCNzAwMkZDMDI4NTAwMjU0MDBCNTAwMjlDMDBCNzAwMjUKKzoxMEI2MTAwMDJGNDAyODcxMDJEQzAwQTYwMDIxQzAwQjcwMDIwMDAwNDAKKzoxMEI2MjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0NkQ4MEIxMjBBMDUwMTgKKzoxMEI2MzAwMDBCQjIwNkNFMDBBMDM0MkVGMDBCMTgwMjg1MjBCMzRBQzAKKzoxMEI2NDAwMDJDNTQ4ODM4MDJDQzEwQTEwMDIwQjAwQjMwMDIwODA0MjIKKzoxMEI2NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkU4MEYzMDgxMDU0NjAKKzoxMEI2NjAwMDBCODgxM0ZGMDBDMDgwM0U2NDBGQjQ4MzA3MDBGOUMwNEQKKzoxMEI2NzAwMDNFRjAwQ0ZDMTNGNDAwRUEwMDMyNzAwRkYwMEIyQTA0QzkKKzoxMEI2ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEY5MDAzRTEwQTcKKzoxMEI2OTAwMDA3OTEwM0VDQzA1ODAwM0U0NDBGOTIwM0U0MDBGOTAwMDgKKzoxMEI2QTAwMDNFQzA4RkIzMDNFMDAwQkIwMEJFNDQwRkIwMDNFMDAwMTgKKzoxMEI2QjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMkNEMDQzM0UwNjcKKzoxMEI2QzAwMDBDQzAwMzNDMDhGRTAwMzM2MDJDRDAwMkI0ODBDRjAwRDUKKzoxMEI2RDAwMDNGNTIwN0YwMTNGQzAwQ0UxMDMzNDIwQ0IwMDNDMDQ0QkQKKzoxMEI2RTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwMDg5MDAyQUIwRDYKKzoxMEI2RjAwMDA4ODgwMjJDMDBCQTAwMzY0NDA4OTAwMDI2MDBEQkMwRkYKKzoxMEI3MDAwMDJFNDAwQkIwMDJFQzAwODNDMDI4NDAwQUIwMDJFMDQwOUIKKzoxMEI3MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMDAyMjA4QjMKKzoxMEI3MjAwMDFBQTIwMjJDMTBCOTIwMjI0MDA4MzAwMjJDMDRBQTU0N0MKKzoxMEI3MzAwMDJFQzAwQkIwMTJDQzAwOEIwODIyNDAwOEIwMDJFMDAwRjMKKzoxMEI3NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzMDQyQTAwRjAKKzoxMEI3NTAwMDBBMDg4MjBDMDBCODAwNjQ0MDA4MzAwMkE0MDBCMDAwNUYKKzoxMEI3NjAwMDJDQzA4QjMwMTBDODAyOEIwMDJBNDAwQTMwMDJDMjAxNjQKKzoxMEI3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEM5MDAzMjAwNTUKKzoxMEI3ODAwMDFBODIwMzNDMDBGOTAwMzI0MDBDRDEwM0FDMDBFQjAwRkMKKzoxMEI3OTAwMDNFNDAwRkYwMDNFRDAwQzMwMDMyQzA4Q0IwMDNDMDAzODUKKzoxMEI3QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEY1MDAzRjAwNjAKKzoxMEI3QjAwMDBEODA0QkZDMDA3QzAwM0Y0MDBGRDIwQjc0MDBERjAwN0IKKzoxMEI3QzAwMDFENDA4RkYwMDNGQ0EwRkYwMDNGODAwRkYwMDNFODA2NTAKKzoxMEI3RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMERGODQzQkUwQkEKKzoxMEI3RTAwMDBGRjgwQjNFMDBFQzgwMzNFMTBDMzAwMzNDODBDRjQ4NzcKKzoxMEI3RjAwMDM3QzAwRTQwMDNFMEMwQzc5MUIzMDQwQ0YwMDMzMDAwMjMKKzoxMEI4MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUYwNDhCODAyMjQxRDcKKzoxMEI4MTAwMDBCQjA4MjJFMDA4ODgwQTJFMDBBQTI5MkFEODA4NzQyRkYKKzoxMEI4MjAwMDIzRDg4QUFEMDJFMEMwOEIwMDIwNEM0OEE0MDIyMDA0M0IKKzoxMEI4MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0M1OEJCMDAyODgwQzQKKzoxMEI4NDAwMDBCQjI0MjI0MDBBODAwMkFDMDBBMTAwMjA0NjBBMzIwMDAKKzoxMEI4NTAwMDI0RDIwODAwNDI4QzgzOUIwMTIwNDkwODMzQzIyMjAxNzQKKzoxMEI4NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwMEFCODgyMkEwRjIKKzoxMEI4NzAwMDBCQjgwMjI2MENBODAwMkFDMDBBOTIwMkE0MDBBQjA2NEMKKzoxMEI4ODAwMDIyQzAwQUIwMDJFODAwOUIwMDAyNDAwOEEwNDIzMDA0MzcKKzoxMEI4OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEQzODAzQUUwOUEKKzoxMEI4QTAwMDBGMTgwMTA2MDBFODMwMzg2NjBFQjgwMzJBNDBFQjAwOTYKKzoxMEI4QjAwMDM2QzEwRTk2MDNFMjgwREEwODMyODAyQ0JCMDMxMDA0RjYKKzoxMEI4QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxOUMwMERGMDAzRkMwQUQKKzoxMEI4RDAwMDBGRDAwM0Y0MDBEQzgwMzc2MDBGRTgwM0ZBMDBERjAxQ0IKKzoxMEI4RTAwMDNGQzAwRkMwNDNFNjRDRUZBMDNGNDQwRkEwMDNGODAwNTkKKzoxMEI4RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUM0MERCMDAzNjgwMUIKKzoxMEI5MDAwMDBDOTgwMzI2MDBGODAwM0VDMDBFMTgwMzg0MDJFMzAxRTEKKzoxMEI5MTAwMDM4QzEwRUI0MDNBQzgwQ0ExODNBRDAyQzMwMDMxMDA0REUKKzoxMEI5MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0Y0MEI5ODgyRTgwQkMKKzoxMEI5MzAwMDA4QkMwMkEzMDBCMDAwMEVDMDA4QjAwNjIwMDA4RjA0QUYKKzoxMEI5NDAwMDIzQzEwOEI5MTIyRjAwODM4MDM2NDAwOEFEMDIzMjAwQUYKKzoxMEI5NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIyMDAyQ0MwRDgKKzoxMEI5NjAwMDA5MzIwMjg0MDAzMzAwMkNCMjBBMzYxMjhDMDg5MzA1ODcKKzoxMEI5NzAwMDIwQzAwQjE4MDJFRDAwOTE4MDZBMDAwODEwMDIzODAwMDgKKzoxMEI5ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMEI3ODAyREUwRTQKKzoxMEI5OTAwMDA5NzgwMjk3NDBCNDgwMkZBMDA4RTgwMjBFNDA5NzgyRjEKKzoxMEI5QTAwMDIxRTA5ODY4ODIxQTE4OUQ5MDJEQTExODU4MDIwODAwNkQKKzoxMEI5QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MENDMEYzMDAzRUMwM0EKKzoxMEI5QzAwMDBEQjA0Mzg0NDBGMDAwM0M4MjBFMzgxMjhDNDRGMzMwQkEKKzoxMEI5RDAwMEJBQzExRTEwNDc4RTIyRDExMDM4MTgwQzMwODMxMjAyQzMKKzoxMEI5RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkM0MEZGMDAzRkMwMDAKKzoxMEI5RjAwMDBFRTAwM0Y0NDBGQzAwM0RDNDBGRDAwMUY0NDFFRjE4MDkKKzoxMEJBMDAwMDNGQzQxRkYwMDNGODQ4RUYxNDMzODAwRkMxMDNEMDA2ODIKKzoxMEJBMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RkM0MEZCMDAzRUMwRTQKKzoxMEJBMjAwMDBGOTgwMzI0MDBDQjAwM0U0MDBGQjAwM0E4MDBEQjI4OTIKKzoxMEJBMzAwMDNFQzQxRjkwMjNFQzAwQ0EwMDMyRTAwQzkwMDNFQTAwRTEKKzoxMEJBNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUM4MEI3MDAyREMwNkQKKzoxMEJBNTAwMDRCNTA1MjE0MDBENDAxMkQ4MDBCNjAwMkQ4MDBBNzIwNTcKKzoxMEJBNjAwMDJEQzUwQjQwMTZEQzAwODQwMDIzQzAwODQwMDJEMjA0MjAKKzoxMEJBNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUU4MEI3ODAyREUwNDQKKzoxMEJBODAwMDBCNzgwQTk2MDA5NDgwMkQ2MDFCNzgwNkQyMDBBNzgwNjAKKzoxMEJBOTAwMDJERTAwQjc4MjJERTAwODc4MjIxRTAwODU4MDJGMDAwQkEKKzoxMEJBQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzRTQyQ0MwQ0IKKzoxMEJBQjAwMDFCMjEwMjgxMDA5MDAwMkNDODBCMzkwMkNFMDBBMzAwOEMKKzoxMEJBQzAwMDJDQzAwQjMwMDJDRDAwOEIyMDIwRjAwOEIyMDJEMjA0MzMKKzoxMEJBRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZFQTAzRjgyMzIKKzoxMEJBRTAwMDBGRTgwMzk4MzBENjAwM0ZBMDBGRTAwM0JBQzBGQTAwNzkKKzoxMEJBRjAwMDNFODAwRkVDMzNGODAyQ0UwMEIzQjgyQ0VDODNGQTA0OEUKKzoxMEJCMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxOEY4NDAzRTAwMUYKKzoxMEJCMTAwMDBGODAwMjYwODRGODA1MkUwNDhGODA0MUUwMDA3ODAyRDcKKzoxMEJCMjAwMDNFMDAwRjgxODNFMDIwRjgwMEJFMDIwRjgwMDNEMjAwQTgKKzoxMEJCMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTYxOEY5MjAzRTQwMjgKKzoxMEJCNDAwMDBGOUMwM0U0NDBDOTAwMzI2MTBDOTAxM0M0MDhDOTAxODIKKzoxMEJCNTAwMDNFNDEwRjE4MDMyNDAwQzlBMDMyNDAwRjk4NDMwMjA0NEQKKzoxMEJCNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjUwMEIxQzAyMjQwRTkKKzoxMEJCNzAwMDBCOUMwMkU3MTA4OTAwMjg0NDA4OTQyMkU0MTA4OTAwRjUKKzoxMEJCODAwMDJFNDAwQjlGMjIyNjYwODk4MDIyNDAwQjkxMEEyMDAwQzQKKzoxMEJCOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQ4MEI5MDAyRUMwMkQKKzoxMEJCQTAwMDRCQjQwMkU0MjA4OTIwMjI0MDA4OTQwMkVDMDA4OTAwNzIKKzoxMEJCQjAwMDJFNDEwQjkwMDIwNDAwODk0MDIyNDAwQjkwMDIwNjAwQTcKKzoxMEJCQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIxMDQyMDQwMTAKKzoxMEJCRDAwMDhCMTAwMkU0MDU4MTAwMjg0MDI4MTIxMkM0ODI4MTIwQzMKKzoxMEJCRTAwMDJDNDgwQjEyMEEwNDgyODEwMDIwNDgwQjEyMDIwMjAxMjkKKzoxMEJCRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjhBMEZBMDIzRTE0MkEKKzoxMEJDMDAwMDBGODUwM0UwMDBDODAwMzIwMDBDODUwM0MxNDBDODUzMTMKKzoxMEJDMTAwMDNFMTQwRjgwMDMwMTQ4QzA1MEIyMTQwRjg1MDMyRTAzNTkKKzoxMEJDMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQwMEZEMDBCRjQwMkYKKzoxMEJDMzAwMDBGNTAxM0Q0MDJGRDAwMkZDMDBGRDEwM0Y0NDBGOTEwQjAKKzoxMEJDNDAwMDNFNDQwRkQxMDNGNDQwRkYwMEJGNDQwRkQxMDNFNjA2OEEKKzoxMEJDNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTZBMEZEMDEzRTQ0NTEKKzoxMEJDNjAwMDBGRDEwM0Q0MDBDNTAwMzM0MTBGREIwMzI3MjBEOUUwRjcKKzoxMEJDNzAwMEIyNzAwRERBODNGNjQwQ0YxMDMyNzgyRERBMDMwNjAwNjkKKzoxMEJDODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwMEI4MDAyRTI4MEQKKzoxMEJDOTAwMDBCODg0MkUwMTBEODAwMjIwMDBCOEMwQTIzMDA4OEMwRDkKKzoxMEJDQTAwMDIyMjgwODg0MDJDMjgwODBBMDIyMzA0OEFBODIwRTA0ODIKKzoxMEJDQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDAyQzQwNjYKKzoxMEJDQzAwMDhCMTIwMkM0MDA5OTAyMjg0MDhCMTYwMjg0ODE5MTMwQTUKKzoxMEJDRDAwMDIwNTgwOTEwMDJDNTAwODEwMDY0NEQwODM0MDIwMjAxOTkKKzoxMEJDRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QUMwQ0I5MDQyRTQ4Q0MKKzoxMEJDRjAwMDBCOTQwNkU0MDA5OTQwQUE0MDBCOTIyMkE0MDA4OTAwMEMKKzoxMEJEMDAwMDYwNDAwODk0MDJFNDAwODk4MEE2NTAwODkyMDIwNjA0NkMKKzoxMEJEMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5OTgzRTQ4MTMKKzoxMEJEMjAwMDBGOTgwM0U1MjBEOTAwM0E2NDBGOTQ4M0E0QzBEOTAyODgKKzoxMEJEMzAwMDcyNDA0RDkwNDJFNDgyQzk0MDM2NDAwQzkwMEIyODA0N0EKKzoxMEJENDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQUMyOEY5ODgzRTQwODcKKzoxMEJENTAwMDBGOTkxM0U3MDBGOUMwMzY2MDBGOTAwMzY2MDBGMTAwRjkKKzoxMEJENjAwMDdFNDAwRjk5MDdFNDYwRjkwMDM4NDAwRjk4MDNDQTAwM0QKKzoxMEJENzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4MTAzMjAwNTEKKzoxMEJEODAwMDBGODIwQjIxMDBFODAwMzYwNDBDODYwM0UxMDBEODAwODYKKzoxMEJEOTAwMDMyMDAwRjgwMDM2MTAwQzgwMDMyMDAwRjAwMDMwQTA0NjQKKzoxMEJEQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgyMEJFMDAyMjgwOUUKKzoxMEJEQjAwMDI4RUMwMjE5MDQ4MjAwMDM4MDBERTQ4MkU4MDA4QTAxNjUKKzoxMEJEQzAwMEFBODA4QkVEODIzQjgwOEU5MDM2ODAwQkUwMDM0QTAwODgKKzoxMEJERDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NDIwMEIzODAyMEMwQTEKKzoxMEJERTAwMDZCMzQxNjQwQzA4MzEwMjQ3Mjg4QjAwMkVDMDA4MzAwQ0MKKzoxMEJERjAwMDI0QzAwQjA0MDI2RjA5OUIwMDI0QzAwQjMwMDIwQTAwMTAKKzoxMEJFMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTQwMEI3ODAyM0U0RUYKKzoxMEJFMTAwMDI4Nzg4Mjc0MTQ4RjAwNjFFMDA5NTAxMkRDMDQ4NzIyQjQKKzoxMEJFMjAwMDI1QzgxQjc4MDIxNDAwOTQ0MEE1QzAwQjYwMjI2ODAwNEUKKzoxMEJFMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MTIyMEI3ODBCMUUwMTgKKzoxMEJFNDAwMDhGRjgwMzEyMDJFNzgwMzVFMDBDNjgwNkNGQzJDRkIwNEUKKzoxMEJFNTAwMDI1RjQwRjU4MDM1QTAyRDU4MDc1RkE0RkY4MDMyQTAyQzkKKzoxMEJFNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQTU5MEYzMDAzREMwODgKKzoxMEJFNzAwMDRGQjAxM0E4MDRGQjAwM0NDMDBGODA0M0VDODBFQjYwODQKKzoxMEJFODAwMDNBQzkwRjMwMDNFQzAwRTkwMDNFQzgwRkEwMDNDMjA2MTgKKzoxMEJFOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RjYwMEVFODAzRkUwQkEKKzoxMEJFQTAwMDBEODkwM0QyNDBFNTgxMzlFMDNDRjkwN0ZFMDBDRjg4RDcKKzoxMEJFQjAwMDNGRTAwRkU4MDNGMjA4Q0U4MDMzRTAwQ0Y4MDMwMDAwMDcKKzoxMEJFQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTQ0NEM2MDAyRkMwQkMKKzoxMEJFRDAwMDA4NTgwMkQwQzQ4NTI0MjE5MDA4NTQxMkRDODIwNzAwM0YKKzoxMEJFRTAwMDJEQzAwQjcwMDZENDAwOEU0ODIxQzAwQTYwMDIyQTA0QkYKKzoxMEJFRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEE3NDAyREMwNzIKKzoxMEJGMDAwMDA4NDIwMkQwMDBBRDAwMjlDMDA4NzAyMkRDMjg4NzAwNUEKKzoxMEJGMTAwMDJEQzAwQjQwMDI5ODAwOTcwMEEwQzQwODcwMDIwMDAwREEKKzoxMEJGMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwODkzMDAyQ0UwNEEKKzoxMEJGMzAwMDA4M0MyMkMxMDA4MTAwMjA4MDg4MTUwMkNFMzA4MzAwOTkKKzoxMEJGNDAwMDJDQzAwQjNDMDJDQzA0OTNDMDIwRjQ0QTBDODIwODA0QTEKKzoxMEJGNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QTAwMEUzQzAxRkUwQjIKKzoxMEJGNjAwMDZDMTA4M0UwMDRFQjAwM0E1MjRDQjQwM0ZFMDJDRjAwQTUKKzoxMEJGNzAwMDNGQzAwRjg0NDNFMTAyRDhDMjMzQzAwQzg0MEIyQTA0QjMKKzoxMEJGODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTkwMEVCMTAzRUM0RUIKKzoxMEJGOTAwMDBFOTQwM0U0MDBGQjE4M0VDMjBGQjYwM0VDMDBGQjAxNTUKKzoxMEJGQTAwMDNFQzAwRjM1MDNDNDI4RUE0MjNFQzAwRjgxMDNFMDAwQzMKKzoxMEJGQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkM0MEZGMDAzM0MwMTIKKzoxMEJGQzAwMDBDQzBBMzMwMjhDREEwMzNDMDBDRTgwMzBDMDBFRjA1NTMKKzoxMEJGRDAwMDNEQzAwQ0NBODMzQzAwQ0QwODNGQzIwQ0EwMDNDMDQ0NDYKKzoxMEJGRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NjcwMEJCODAyMEMwMUEKKzoxMEJGRjAwMDA4QUEwMjA4MDBBMTAxMzREMTA4QTQxMjJDMDA4QjAwNjkKKzoxMEMwMDAwMDZFQzA4OEIyMDIyQzA4ODk4MDJFQzAwQUE4MDNBMDQwMDYKKzoxMEMwMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMEJBODBBMkMwQzMKKzoxMEMwMjAwMDA4QTgwQUEwMDA4QjAwQTJDMDQ4MTEwMkFDMDQ4QjAwMzMKKzoxMEMwMzAwMDJFQzAwMDgwMTIyQTA4OEIxNDJDQzAwODg4MDJFMDAwNTEKKzoxMEMwNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEIyMDAyMkMwMDQKKzoxMEMwNTAwMDA4QjIxMjgwMDBBQjAxMjRDMDA4MDAwMjBDMDQ4MzAwNjcKKzoxMEMwNjAwMDJDQzAwODMwMDIwNzAwODIwMDI0QzAwODA4MDI4MjAxQTgKKzoxMEMwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEZCMDAzMkMwNUEKKzoxMEMwODAwMDBDQTIwM0EwMDBDOTAwMzJDMDI0OTQwMzNDMDJDRjAwREMKKzoxMEMwOTAwMDJGQzAwNDgwMEIwOTAyQ0IwMTNGQzAyQ0EwMDNDMDAzQkEKKzoxMEMwQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5REMwMEZEMDIzRkMwQUQKKzoxMEMwQjAwMDRGRTQxMzcwMDBGRDAwM0ZDMDBGQzI4M0ZDMDBGRjAwN0YKKzoxMEMwQzAwMDNGQzAwRkYwMDNGQzAwRkYwMDNGQzAwRkMwMDNBODA2RjUKKzoxMEMwRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMyMEVGMzAzRjA0QUQKKzoxMEMwRTAwMDZDODgwMzNBNDJFNDkxM0YwRDBENDgwMzNDQzBGRjAyQzcKKzoxMEMwRjAwMDMzNDQwQ0Y0MDNGQzgyREYzMDMzNjAwREYxMDMzMDAwNzUKKzoxMEMxMDAwMDcwMDAwMDAwMDAwMDAwMDBBMDEwRUQwMDhCNzAyRTE4RTEKKzoxMEMxMTAwMDg4MjI0QTJDODJFQTI2MkUwQzBCQjg0MjNEODBCRjkwMjIKKzoxMEMxMjAwMDJBNTQyOEI0MDJDRDAwREI0MDJBNEE0ODMwMDJBMDA0MzkKKzoxMEMxMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0NCMEEzMDA2QzEwQTcKKzoxMEMxNDAwMDA5MDA4MjIwODJBMDIwMkM4ODRCODAwMDBDNDBCMzAxODMKKzoxMEMxNTAwMDIwNDgwQjM2MDI4Q0UwODM2NDI0NDAyODMyMDIyMjAxRkUKKzoxMEMxNjAwMDcwMDAwMDAwMDAwMDAwMDBFMDExQUMwMDhCMDAyRTAwMDkKKzoxMEMxNzAwMDA5ODA4MEE2MDBCQTExMkU4ODBCQjAwMDJDMDBCQjAyRUIKKzoxMEMxODAwMDAyNDAwOUIwMDJFQzAwOEIwMDJDQzgwOEI4ODJCMDA0NTEKKzoxMEMxOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEVCMDAzRTkyNDMKKzoxMEMxQTAwMDBEODAwMzBBMjBFOTAwM0U1MDQ1ODAwMTJDMDRGMzAwNzUKKzoxMEMxQjAwMDkwNjAwOUIwMDNFQzAwOEIwMjI2NTA4REJDMDMxMDA0ODQKKzoxMEMxQzAwMDcwMDAwMDAwMDAwMDAwMDBDMDAxQkMwMEZGMDIzRjgwQzIKKzoxMEMxRDAwMDBFRjkwMjdDMjJBRjAwM0Y2MDAzQzAwQkZDMTBGRjAwOTEKKzoxMEMxRTAwMDNGNEE0RUYwMDNGQzAwRjcwMDJCNjAwRjcwMDNGODAwOEQKKzoxMEMxRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDBCMDAwMzgKKzoxMEMyMDAwMDBGODIwQkE5MDBDOTAwMzJEMjBGQTA4M0FDMDBDQjEwNjMKKzoxMEMyMTAwMDNFNDAwQ0IwMDNFQzAwREIwMDMyNTAyQzk1MDMxMDA0QzAKKzoxMEMyMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0MwNEJGMDIyMjgwN0UKKzoxMEMyMzAwMDBCOTgwMDI5MDBDQjQwMjJDMDBCMjQwMjNDMDg4RjUwRjEKKzoxMEMyNDAwMDJFNTAwREYwMDJGRDQyOEY1ODIyRTA0OEI1MDIzMjAwMTgKKzoxMEMyNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NkMwMEIzMDAyNDQwMzYKKzoxMEMyNjAwMDRCOTQwMDQ5MDA5MDgwMDQzMDA5MDAwRTRDMDA4MzgwRkMKKzoxMEMyNzAwMDJDQzAwOTMwMjI2RTQyODM4MDIwNDgwODM4MDIzODAwRTIKKzoxMEMyODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMEI3ODA2NTIwNjMKKzoxMEMyOTAwMDBCNzg4MjdBMDg4Q0MwMjVBMzRCNzgwMjVFMDQ4Nzg0RDEKKzoxMEMyQTAwMDJENjE4OTc4MDJERTA0ODc4MEU5NjIwODc4MDIwODAwM0YKKzoxMEMyQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEZCMDAzNDQ4NkIKKzoxMEMyQzAwMDBGM0IwMzQ4MDA5MzQ4MzQ1MDBEMDAwMzZDMDBDMzEwMkIKKzoxMEMyRDAwMDFDQzIwNTMwMDNDQzQwQ0IwMDMyNDAwQzIwMDMxMjAyQkMKKzoxMEMyRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMyMEZGMDEwMzQwRDIKKzoxMEMyRjAwMDBGRjAyMzFDMDBGRjAwM0I4MDBGQjAyMzNDMDJGRjUwRDcKKzoxMEMzMDAwMDNEQzQwRkYxMDNFQzAwRUYwMEI3QzAwRkUxMDNEMDA2MEUKKzoxMEMzMTAwMDYwMDAwMDAwMDAwMDAwMDA4ODA1RUMwMEZCMDIzRUUwMjkKKzoxMEMzMjAwMDBDODAwMzQ4MDJDODgxMzIwMDBGOTA0MkVDQTBGQjEwNDEKKzoxMEMzMzAwMDNFRTAwQ0IxMDNFQzQwRkIxMDMyNDAxRkYwMDMyQTAwM0EKKzoxMEMzNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEI3MjQyRDgwMDAKKzoxMEMzNTAwMDA4NzA0MkQ4MTA4QzAyMjE0MDBCNTAwMkREMDBFNzIwMEIKKzoxMEMzNjAwMDJGNDAwODcwMDJEQzA1QjcwMDIxQzAwQkYwMDIxMjA0NTgKKzoxMEMzNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3OTAyRjQwNDkKKzoxMEMzODAwMDBBNjgwMjdBMDA5NzgwMjFFMDBCNzgwMkRFMDBCNzgwMEQKKzoxMEMzOTAwMDJERTAwODc4MDZERTAwQjdBMDIxNjAwQjc4NDIzMDAwNUYKKzoxMEMzQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzMDAyQ0MwQTYKKzoxMEMzQjAwMDBBMzQwMkM4MDA4MzRBMjBGODBCMzEwMkNDMDBBMzAwRTMKKzoxMEMzQzAwMDJDQzAwODMwMDJDQzAwQjMwMDIwQjIwQjIwNDIxMjA0NzMKKzoxMEMzRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEJBMDAzRjg4MDcKKzoxMEMzRTAwMDJFRTA0MzU5ODhERTAwMzNCMDBGNkMwM0U4MDBGQTAwRkEKKzoxMEMzRjAwMDNFODAyQ0EwMDNFODA0RkEwMDIzQjgwRkUwOEIzQTA0MzcKKzoxMEM0MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwNEY4MDEzRTAwNjkKKzoxMEM0MTAwMDA5ODIyMUUwMDBGODQwQkUxNDBGODQ4MUUwMDBFODAwQUEKKzoxMEM0MjAwMDNFMDAxRjgwMDNFMDAwRjgwMEJFMDAwRjg4MDNEMjAwMkEKKzoxMEM0MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEUxMDAzMjQwN0QKKzoxMEM0NDAwMDBDOTA0M0U0MjBEOTAwM0M0NDA4OTAwMzI0MDBGOTAxRjcKKzoxMEM0NTAwMDNFNDgwRjEwNDMyNTAwQzkwMEIyNDAwQzkwMDMwMjA0NkYKKzoxMEM0NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5MDBBMDQwMUIKKzoxMEM0NzAwMDA4OTgwMkU2MDhBOTYwMkU0OTA4OTQwMjI0MDBCOTAwMzEKKzoxMEM0ODAwMDJFNzAwQjkwMDIyNjAyODkwMEEwNDAwQTkwMEEyMDAwMUMKKzoxMEM0OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MDAyMjQwMzAKKzoxMEM0QTAwMDA4OTgwNEU2MDA5OTgwMkU0MDBBQjEwMjI0MDBCOTAwRTEKKzoxMEM0QjAwMDBFNDAwQjkwMEEwNDAwODEwMTIyQzAwODEwMDIwNjAwMDEKKzoxMEM0QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MEIxMjAyMjQ4NjEKKzoxMEM0RDAwMDA4MTgwNkM0MDBBMTAwMkM0ODJBMzAwMjA0ODBCMTIyQUEKKzoxMEM0RTAwMDJDNDgwQjEyMDIwNTgwODE2MDIyNTAwQTE0MDIwMjAxQkUKKzoxMEM0RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NTAzMjE0NDgKKzoxMEM1MDAwMDBDODUwM0UxNDBEODUwM0UxNDBFODAwQjIxNDBGQTAwMDgKKzoxMEM1MTAwMDNFOTQwRjg1MDMyMDAwQzAwMDMyMDAwQzgwMDMyRTAzRTAKKzoxMEM1MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQ0MUY5MTAzRDQ1NTYKKzoxMEM1MzAwMDBGRDAwM0Y0MDBGRjAwM0Y0NTBERDAwM0U0NDBGOTEwOTUKKzoxMEM1NDAwMDNGNDQwRjkxMDNFNDQyRjkxMDNGNDAwRkQ0MDNFNjA2NDUKKzoxMEM1NTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTQwMEY5MDAzRTQwRjMKKzoxMEM1NjAwMDBDRDAwM0Y0MDg4RDAyM0Y0MDBGRDAwM0U0MDBDRDAwNEYKKzoxMEM1NzAwMDMzNDAwQzkwMDMyNDAwRjkwMDMyNDA0Qzk4MjMwNjAwMEQKKzoxMEM1ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwMEU4MDAyRTAwRkQKKzoxMEM1OTAwMDQ4ODAwMkU4MDBEMDAwMkU4MDBCODAxMkUwMDI4ODAwNjQKKzoxMEM1QTAwMEEyMDAwQTgwMTIyMjAwQjg4MTIyMjgwOENGMDIwRTA0QkQKKzoxMEM1QjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDAyQzQwNUQKKzoxMEM1QzAwMDI4MTAwMkM0MDA4MTAwMkM0MDBCMTAwMkM0MDA5MTAwMEUKKzoxMEM1RDAwMDI2NDAwOTEwMDI1NEEwQjUyQ0E1NDIwODUwODIwMjAxNDEKKzoxMEM1RTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMEE5MDAyRTUwRTMKKzoxMEM1RjAwMDU4OTAwMkU0ODA5QjAwMkU0NThCOTIwMkU0MDA5OTAwNDMKKzoxMEM2MDAwMDI2NDQwQjkwMDI2NDA4QjUwMDI1NEEwODUxMDIwNjA0MkUKKzoxMEM2MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5MDAzRTU0OTYKKzoxMEM2MjAwMDBDOTA0M0M0MDBDOTkwM0U3MDBGOTgwM0U0MDBEOTAwRjkKKzoxMEM2MzAwMDM0NjA0RDkwMEE2NDAwRjkwMDM2NDAyQzlFMDMyODA0QjMKKzoxMEM2NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDAzQzQwMzgKKzoxMEM2NTAwMDBGOUMwM0U2MzBGOTAwM0U2MjBGOTAwM0U0MDBFOTAwMEUKKzoxMEM2NjAwMDNBNDA0RTkwMDNBNDAwNzkwQzNBNDAwRjkwMUJDQTAwNDgKKzoxMEM2NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4MDAzRTAwNEMKKzoxMEM2ODAwMDBDODExM0UxMDhDODQ4MzIwMDNDODAwM0MwMDBGMDEwNjAKKzoxMEM2OTAwMDNFMDYwQzgwMDNGMDA4Q0MwMDMzMDQwQ0MwMDMwQTA0RUYKKzoxMEM2QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMEJBMDAyRTgwQUQKKzoxMEM2QjAwMDA4RUM0MkZBMjA4RTAwMjNBMDA4RTg0MkU4MDBCRTgwODEKKzoxMEM2QzAwMDJGODAwOEEwMDJFODAwREEwMDIyODA0OEUwMDIwQTAwNzkKKzoxMEM2RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIzMDAyQ0MwMDIKKzoxMEM2RTAwMDA5MzQ4MkM5MDA4MzgwMjBGMDA4MzA4MkNDMDBCMzgwRjYKKzoxMEM2RjAwMDJDRjAwOEIwMDJDMTIwODAwMEEwMzIwODAwMDIwQTAwMUQKKzoxMEM3MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUNDMEI3MDEyRkM4QUQKKzoxMEM3MTAwMDg5NTAwMkQ4MDI4N0M0MjFFMjQ4NzA4MkRDMDBCNzAwNDkKKzoxMEM3MjAwMDJDNDAwODcyMDJDRTAwOTcwODIzQzAwODcwMDIyODAwMkYKKzoxMEM3MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEY3RTEzREU4RUUKKzoxMEM3NDAwMDJENjgwM0YyMDBDNzgwQjBFMDA4NjgwM0RGODBGNjgwNDAKKzoxMEM3NTAwMDNERTA4QzdFMDNEQTAwQ0M4MDMxMjAwQ0M4MEIyQTAyMkQKKzoxMEM3NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwOEZCMDAzQ0MwRjkKKzoxMEM3NzAwMDBFODAwM0UwMDhGOTAwM0U0MDBGQjAwMkVDMDBGQTAwMjIKKzoxMEM3ODAwMDNFNDAyRkIwMDNFNDAwRkIwMDNDQzAyRkIwMDNDMjA2QzQKKzoxMEM3OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZGOTI3RkVBM0MKKzoxMEM3QTAwMDBDRjgwM0ZFMDBDQ0EwM0YyMDBERjkwMzNFMDBDRjgwMjMKKzoxMEM3QjAwMDMzNjAwRkY4MDNGNjAwRUY4NDMzRTAyQ0M4MDMwMDAwNjkKKzoxMEM3QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEI3MDAyRkM4RjYKKzoxMEM3RDAwMDA4NTQwMkQ4MDBENjA0MkQwMTA4NjkwMjFDMDA4NTAwMDcKKzoxMEM3RTAwMDIxNDMwQjcwMDM5QUMwOEMwMEEzMDIwOEYxMDIyQTA0QjMKKzoxMEM3RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MDEyRENDOEMKKzoxMEM4MDAwMDA4NzAwMkQ0MDA5NDI4MkRDMjA4QzIwMjVDMDA4NjAwODEKKzoxMEM4MTAwMDIxODAwQjcxMDJEQzAwQTcxMDIxQzAwODQ4MDI0MDAwRjMKKzoxMEM4MjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwOEIzMDAyQ0YwMTEKKzoxMEM4MzAwMDA4MDUwMkMwMjA5MDgwMkUwMDA4MDA4MjRDMDI4MDAwNzMKKzoxMEM4NDAwMEEwNjEwQjMwMDJBMDAwODAwMEEwMzA4OEIxMEE0ODA0MkIKKzoxMEM4NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEZGMDAyREM4M0IKKzoxMEM4NjAwMDBDM0QwM0U0MDBEQjAyM0VGMDJDOTA0QjdDMDBDMTAwNDkKKzoxMEM4NzAwMDMyMjA0RkYwMTNFMDAwRTgwMTMyMDA4Q0FDMDM2QTA0NzAKKzoxMEM4ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDQzRUMyREQKKzoxMEM4OTAwMDRGQjAwM0UwMDRGQTQwM0VDMjRFOTgyM0FDMTBGODAwQkIKKzoxMEM4QTAwMDNFNTAwN0IwMTNBQzAwRkIwMDNFQzIwRjkyMDNBMDAwNDUKKzoxMEM4QjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMENGMDAzRkMwOEQKKzoxMEM4QzAwMDBDQzgyMzM2ODJDRjgwM0Y4MDBDRTAwM0VDMDBGOTIwQjcKKzoxMEM4RDAwMDMzQzAwRUYwMDNGODEwREMwMDMzMDA0Q0U4MjEwMDQ0QjQKKzoxMEM4RTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwMEFCMDAyRUMwOEUKKzoxMEM4RjAwMDRBOEQ0MjIxMDA4QjQyMkVEMjA4QjAwM0VDMDBCODg4NEEKKzoxMEM5MDAwMDM0NjIwREIwMDJFNDAwOEIwMDIyQzAwODkwMEEyMDQwN0YKKzoxMEM5MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMDAyRUMwREQKKzoxMEM5MjAwMDA4QTAwMjBEMDA4OTEwMkUwODI4OTIwMkVDMDRCQjAwMUEKKzoxMEM5MzAwMDIyQTAwOEIwMDI2NDAyQjMwMjIwQzAwOEEyMDJBMDAwMzQKKzoxMEM5NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEEzMDAyRUMwRkUKKzoxMEM5NTAwMDBBOTAyMjBDMTA4MDAwMkMwMDE4MDI4MkNDMDBCMDAwM0IKKzoxMEM5NjAwMDI2NDAwOTMwMDJDODIwODAwMDIwMDAwODEwMDY4MjAxRkQKKzoxMEM5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMENCMDAyRUMwODUKKzoxMEM5ODAwMDBDQTEwMjI0MDA4ODAwM0MwMDBDODAwM0VDMDBGQjAwOUEKKzoxMEM5OTAwMDMyODAwRUIwMDNDQzgwREIwMDMyQzAwQ0EwMDM4MDAzRDkKKzoxMEM5QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAzRkMwODAKKzoxMEM5QjAwMDRGQzIxM0Q0MTBGQzAwM0YwMDBGMDAwM0JDMDBGQzAwNkEKKzoxMEM5QzAwMDNGNDAwRkYwMjNFMDEyRkMwMUJGMDAwRkQwMDM2ODAyQ0MKKzoxMEM5RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMEM3ODAzM0MwRUMKKzoxMEM5RTAwMDhCQjQwM0IwQzBDRjJFMUYwQzRGQzMwMzMwODBGRjAxQTgKKzoxMEM5RjAwMDNGMDgwRkYwMDA3QzAwRkYyMTMzRTQwQ0UwMDMzMDAwMUYKKzoxMENBMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUUwMDhCODIyM0YwMTgKKzoxMENBMTAwMDBCQjUxMjBEODg4OEMwMEU5ODBCODYwMjIxMDBCQkMwOTIKKzoxMENBMjAwMDJFRTQ0QkY3ODMyRjQ0QkY5MDIyQzg0OEE2ODIyMDA0RUYKKzoxMENBMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MwOThBMDAyMDUwNkEKKzoxMENBNDAwMDRCQjIwQTgwQ0M4MzAxMEM4QzBCMjMwQTA0NjBCMzE0MTQKKzoxMENBNTAwMDI0NDA0QjMwMDJDQzEwQjMwMDIwQzhFOTExMDY2MjAxMUIKKzoxMENBNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwMThBODBBMjQ0RTQKKzoxMENBNzAwMDBCQjAwMkExMDQ4ODQwMkVBMDBCMjAwMjI4MjBCQjQwNEUKKzoxMENBODAwMDJFNDAwQkIwMDIyQzA4QkIwMDIyQzAwOUIwMDI3MDA0N0IKKzoxMENBOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEMzODMzMkUwOUQKKzoxMENBQTAwMDhGMDAwM0EwMDJDQkM0M0UyODA3OEIwMzIxMDBGOUMwRUUKKzoxMENBQjAwMDNFMTAwRkIwMDNFQzAwN0IwMDMyQzAwREEwMDM1MDA0MDkKKzoxMENBQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxOUMwMkZGMDAzRkUwNTkKKzoxMENBRDAwMDBGRjQ0MzVFODBGQzk0M0YwMDBGQzAyQkYyNTBGRDIxMDkKKzoxMENBRTAwMDdFODQ4RkYwMDM2QzBDRkYwMDNGQzAwRTYyMDNCODAwMjEKKzoxMENBRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEVCMDAzMjQwN0QKKzoxMENCMDAwMDJDODAwMzY5MDBDQjMwQjIwMDRGQjM0M0U1MDBDQjQwMkIKKzoxMENCMTAwMDcyMTgyQ0IwMDNFQzI4QzMyMTNBQzEwRjk0MDMxMDA0RkYKKzoxMENCMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0MwMDhCMjAyMjUwQkYKKzoxMENCMzAwMDA4QjAwMjI4MDA4OEMwMkEwMDhCQjQwMkU4MDBEQjAwOUQKKzoxMENCNDAwMDYyMzAwOEYwMDJGQzAwOEY4MDIyQzAwQjk1NDczMjAwNTMKKzoxMENCNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIxMDAyMEMyRDEKKzoxMENCNjAwMDQ4MzAwMjQ5ODA4MzQyNjAxMjBCMzAwMkM4MDA4MjAyQzIKKzoxMENCNzAwMDJDMzAwOUIwMDJDRjAxODM1MDJBQzAwQjIwMDJCODAwMkMKKzoxMENCODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMDlEODBBMEUwNzkKKzoxMENCOTAwMDA4NzkyMjVFNjA4NzkwMjlBMDBCNzgwMkM2MDA5MjgxRjYKKzoxMENCQTAwMDA1RTAwOTc4MDJERTQwODc4MDIxRTAwQjI5MDIwODAwQjkKKzoxMENCQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEM0MEYyMDAzMEMwQjcKKzoxMENCQzAwMDA4M0EwMzQ0MDRDMzE0MzBDMDBGMjIwM0NDODBDMjAwQ0YKKzoxMENCRDAwMEE0RDIwRDMwMTNDQzIwQzMwMDM4QzQ0RjA0NDMxMjAyM0EKKzoxMENCRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOUMwMEVFMDAzRkUwM0YKKzoxMENCRjAwMDBGNzAwM0I0MDJGNDEwM0ZDMDhGQTAwM0ZDMDA3RTAwNEUKKzoxMENDMDAwMDNCQzAwRUYwODNFQzAwRjcwMDNGQzAwRkMwMDNEMDA2MUUKKzoxMENDMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RkMwMEY5MDAzRUMwMTQKKzoxMENDMjAwMDBGQTAwM0FBMTJDQjAxMzI4MDBGQjAxMzI4MTRGOTgwOTEKKzoxMENDMzAwMDNBNDAwM0I0MDNFQzQyQ0IxODNFQzAwRkIwMDMyQTAwQzUKKzoxMENDNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUQwMEI1MDAyREM0RDgKKzoxMENDNTAwMDBCNzA0QjdDMDA4NDAwMjE4MDBCNzAwMjk0MTBCMjAwOUEKKzoxMENDNjAwMDI5QzAwQjcyODJEQzAwODcyMDJEQzEwRTcwMDIxMjA0RDUKKzoxMENDNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3ODAyREUwQjIKKzoxMENDODAwMDBCNjgwMjlFMDA4MzgwMjFFMDVCMzgwMjFFMDBCNEMwNjYKKzoxMENDOTAwMDI1RTAwOTc4MzJDRTAwOTc4MDJERTAwQjVDNEUzMDAwMDUKKzoxMENDQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzNDQyQ0MwNTkKKzoxMENDQjAwMDBCM0MwMkNDNDA5MzA4MjBFMDBCMzAwMjhDMTBCM0MwMzgKKzoxMENDQzAwMDI4RDgxQjMwMDJDQzA4OTMwMTZDQzAwQUI4ODIxMjA0MjkKKzoxMENDRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEY2MTAzRTgwQkIKKzoxMENDRTAwMDRCRUQ4M0I4MDBDRUU0QjNBMzBGRTAwMzM4MDBGRTAwQTEKKzoxMENDRjAwMDNCODAwREEwMDJFODAwREEwMDNFODAwRkU4MDIzQTA0MTMKKzoxMENEMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxMEY4NDAzRTAwMTUKKzoxMENEMTAwMDBGODAxMzYwMDBFMDAwM0UwMDQzMDgwM0UwMDBGODA4QzUKKzoxMENEMjAwMDNBMDAwRjgwMDNFMDAwRTg0MDNFMDAwRTgwMjNEMjAwNkUKKzoxMENEMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwQzQwMEQ5QzBCRTQwNTAKKzoxMENENDAwMDBGOTAwM0U2MDBGOTAwMzI0MDAxOUEwMzI0MDBGOTAwMzUKKzoxMENENTAwMDNFNDAwRjkwMDNDNDQwMDkxMDBFNDAwRjlBMDMwMjA0OTYKKzoxMENENjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNDg5MDRBMjYwMTgKKzoxMENENzAwMDhCOUQ4MEE2MDBCOTgwMjI0MDQ4OTgwMjI0MDBCOTAwMEIKKzoxMENEODAwMDJFNDA4QjkwMDJFNDk0ODk2MDJFNDAwQjk0MEIyMDAwN0YKKzoxMENEOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDk5MDhBRTQ4QUIKKzoxMENEQTAwMDRCMTAwMkU1ODFCOTEwMjA0NDFCOTQwMjI0MTBCOTAwRjUKKzoxMENEQjAwMDZFNjAwQjkwMDJFNDAwODkwMDJFNDAwQjk0MDIwNjAwODYKKzoxMENEQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MDg5MDBBMDY4MDIKKzoxMENERDAwMDBCMTIwMjg0ODlCMTIwMjA0ODFBMTIxMjA0ODBCMTIyNTkKKzoxMENERTAwMDBDNDgwQjEyMDJDNDgxQTEyMDJDNDAwQjEyMDIwMjAxM0MKKzoxMENERjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEQ4MDBCRTAwNzgKKzoxMENFMDAwMDBGMDUwQkUxNDBGODAwMzIxNDBGODUwMzIxNDBGODAwQjQKKzoxMENFMTAwMDJFODAwRjg1MTNFMDAyQzgwMDNFMTQwRjA1MDEyRTAzN0IKKzoxMENFMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQ0MEZEMDBCRjQ0RDkKKzoxMENFMzAwMDBGRDEwM0Y0NDA3RDEwQkY0NDQ1RjEyQkY0NDBGRDEwQTkKKzoxMENFNDAwMDNGNDQwRjkxMDNFNDQwRDkxMDNFNDAwRkQxMDNBNjA2QTIKKzoxMENFNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYwMEZEMDAxRjYyRDEKKzoxMENFNjAwMDBGRDg4MjM2MDBCREEwM0I2ODBDREM4MzI2QzhEOUEwNTEKKzoxMENFNzAwMDMzNjAwRDk5ODM1NjIwRDVBODJFNDQwQ0Q4ODM4NjA0QTAKKzoxMENFODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTE0OEI4MDAyRTAwREIKKzoxMENFOTAwMDBCMEE4MjIyMjBCODUwMjJCQTA4OEEyMjIyODA4ODAwRjcKKzoxMENFQTAwMDIyMDEwODBDMDIyMDAwODgwMDJFMjg4ODg4MDJDRTA0NjcKKzoxMENFQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDAyQzQwNTQKKzoxMENFQzAwMDFCMTAwQTg0NDBCMTAwMjg1ODBBMzIwMjA1MDA5OTQwMUMKKzoxMENFRDAwMDIwNjUwOTEwNDJDNDAwOTEwMDJDNDAwQTMwODJDMjAxMzIKKzoxMENFRTAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTQwMEI5MDAyRTQwREUKKzoxMENFRjAwMDFCOTAwMkE1ODBCOTEwMjI0ODA4MTA0MjA0MTAwOTAwQjYKKzoxMENGMDAwMDIyNDAwODkwMDJFNDAwOUIwMDJDNDAwQTk0MjJDNjA0QjAKKzoxMENGMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5MjAzRTQwODEKKzoxMENGMjAwMDBGOTAxM0E3MTBGOTYwQkE1MDJFOUMwQTI1ODREMUYwRjcKKzoxMENGMzAwMEIyNjAwRDkwMDNFNDAwRDkwMDNFNDAwRTkwMDNBODAwQkIKKzoxMENGNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwQ0Y5OTAzRTZBNjcKKzoxMENGNTAwMDhGOTAyMzY2MDBGMTA4M0M0MDBGOUM0M0U0NDBGOTgwMjkKKzoxMENGNjAwMDNBNDQwRjkwMDMyNDA0RTkwMjNFNDAyRDkxMTNDQTAwNzUKKzoxMENGNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEU4MjAzRTAxMzIKKzoxMENGODAwMDBDMDAwM0ExMjBFODUwMzIxMDJDOEMwMzIxMDBFODAwOTMKKzoxMENGOTAwMDMyMDIwRjAwMTMyMDg4QzgwODMyMDAwRjhDMDNDQTAwMjkKKzoxMENGQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgyMDhFRTMyRjkwQkMKKzoxMENGQjAwMDBBRTAwNjNCMDBFRTA0MjM5MDA4RTAwMjI4MDg4QTAyRkIKKzoxMENGQzAwMDc1OTA4QkEwNDE1ODkwOEU4MDJBODEwQkUwMDM4QTEwQzcKKzoxMENGRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEUwMEEzMDA2QzYwMjcKKzoxMENGRTAwMDA4MzgxQThFNDBBMDgwMjBDQzA5MzAwMjBDMDVBMzA0MUEKKzoxMENGRjAwMDI4QzQwQjMwMDIwRDAxODNDMDIwQzAwQjMwMDJDQTAwRDAKKzoxMEQwMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwODg3MDAyRDYyRjMKKzoxMEQwMTAwMDBCNzA5MjFDMDhBMDAwNjFDMDA5NjAwNjFDODBBNzAwNkMKKzoxMEQwMjAwMDIxQzAwQjcyMDI1ODAxODc4ODI5QzAwQjYwMTJBODAwMkEKKzoxMEQwMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEU2ODAzRDYwREYKKzoxMEQwNDAwMDBDNzg0Mjk2MDBFNDgwQTM2MDBENzgwMzNGMDBFMzgwRjMKKzoxMEQwNTAwMDIxRTAwRjdCMDMxNjA4Qzc4MDMxRTI0Rjc4NDNFQTAyRDQKKzoxMEQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEOEMwMUY4MDAzQzQwOUEKKzoxMEQwNzAwMDBFQjAwMkVDMDBGODAxM0U0MDRFMzAzM0VEMjBEQjAxRjMKKzoxMEQwODAwMEJFQzAwRkI0MDNFQzAwRkIwMDNFRDgwRkEwMDNDMjA2RTUKKzoxMEQwOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEM3ODQyMzYwNUYKKzoxMEQwQTAwMDBDNzgwQkJFMDBGRDgwM0ZFMDBGRUIwMzNFMDBDRjgwMEQKKzoxMEQwQjAwMDNCMjUwQ0Y4ODM3RTQwQ0Q4MDMzRTIwQkY5MDMwMDAwNjIKKzoxMEQwQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMjg3MDAxNTQ4QjUKKzoxMEQwRDAwMDA4NzAwMjE0MjBCNjAwMzU5QTQ5QzgwMzlDODRBNzAwNDIKKzoxMEQwRTAwMDM5RDAwQTcwMDIxQTA4QTQwMDIxQzAwOTYxNDIyQTA0M0EKKzoxMEQwRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMDg3MDAyMTQwNEMKKzoxMEQxMDAwMDA4NzEwMjk0MDBCNTAwMkQ0MDBCRjEyMjVDMDIwNzA4NjMKKzoxMEQxMTAwMDJDNTAwODcwMDI1MDAwODcwMDJEQzQwQjUwNDIwMDAwQjQKKzoxMEQxMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMDgzMDIyNDQwRjYKKzoxMEQxMzAwMDE4M0QwQTAxMDBCMDU4MjQyMDA5MzAwMjhGNDA4M0UwRDYKKzoxMEQxNDAwMDJDQzEwQTMwNDIwODAwQjMwMTZDQzAwOTA4MTYwODA0NUIKKzoxMEQxNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1OEMwMDhCMDAzMjQwNTkKKzoxMEQxNjAwMDBDMjUwM0E4NDhGODgxM0U4MDBGODA2MzdDMDBDQjgwQUIKKzoxMEQxNzAwMDNBQzAwQ0YwMDM2QzAwQ0EwMkJGQzAwRjk4OEIyQTA0OUYKKzoxMEQxODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEY5MDAzRTUwNEMKKzoxMEQxOTAwMDJGQTQwQkM4MDBGMDQwM0VEMDBGQTAzM0VDMjBGQjA0QkUKKzoxMEQxQTAwMDdBRTAwRkIwMDNFRDA4RTkwMzMyQzAwRDkwMDNFMDAwMTAKKzoxMEQxQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRUM0MEVFMDAzRUMwMTYKKzoxMEQxQzAwMDBDREEwMzcwMDRDQzAyQjFBMDBFRjAyM0VDMDBGRjAwRDcKKzoxMEQxRDAwMDM3MjBDREIwNzNFQzg4RkI4MDNGQzAwRjMwMDMwMDQ0OTQKKzoxMEQxRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkUwMDg4ODAyQ0UxMDcKKzoxMEQxRjAwMDA4OTQwQUE5MDI4ODQwMjJEMDA4Qjk0MkVDMDRCQjAwNzYKKzoxMEQyMDAwMDJDRDQwREIwMDJFRDIwQkJEMDJFQzAwQkIwMDJBMDQwM0MKKzoxMEQyMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjQwMEFCODAyRUYwMEMKKzoxMEQyMjAwMDI5QTA4MjZEMDA4ODA4MjIwNDA4OTA0MkVDMDBCQjAwMEYKKzoxMEQyMzAwMDJBODEwOEIwMDJFNDA5QkEwNDJFQzE0Qjk4ODIyMDAwNkEKKzoxMEQyNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDgzMDAyQ0MwMUYKKzoxMEQyNTAwMDBBMjEwMjg0MTA4MjAwRTAwMDE4MEExMkNDMDBCMzAwRjgKKzoxMEQyNjAwMDBDQzAwOTMwMDJDQzkwQjAwMDJDQzAwQjEwMDI4MjAxMUYKKzoxMEQyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjQwMEVCMDAzRTAwMTQKKzoxMEQyODAwMDJDQjQwMzY0MDg4ODAwQjIwMDBDQjI0M0ZDMDBGQjAwMUQKKzoxMEQyOTAwMDU2MDAwQ0YwMDFFNDAwRkIwMDNGQzAwRjgwMEIwMDAzQzAKKzoxMEQyQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjQwMEZGMDAzRjQwRkYKKzoxMEQyQjAwMDJERjA2MUYwMDBGNDAwMjcwMTBEQjExMUZDMDBGRjAyMTgKKzoxMEQyQzAwMDA3QzAwRkYwMDNFQzQwRkYwMDNGQzAwRkMwMDM2ODA2MkIKKzoxMEQyRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjYwMEVGOTAzRDRDMUIKKzoxMEQyRTAwMDJDQzAxM0Y0MDhGRDIwMzc0QzhFODI4Mzc0ODREQ0MyN0EKKzoxMEQyRjAwMDNGRDgwREYyMDNFQ0MwRkY4MTNGMDAwQ0Y4MDNGMDAwQjMKKzoxMEQzMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTYwMDhCMjQyRTVDRkUKKzoxMEQzMTAwMDA4OEQwMkZGNDhCOTkwMkY1NDBCODQ4MjNFNDBBMDgwQjQKKzoxMEQzMjAwMDJFQzQwQUZDNDJFRDgwQjk4MDJFNjAwQTk4MTJFMDA0RjcKKzoxMEQzMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1RTQwMUEzMDAyODQ4MzgKKzoxMEQzNDAwMDBBMDA0MkM0MDBCMTAwMkM0OTBCMEE0MjA0QTI5MTIxRjgKKzoxMEQzNTAwMDJDQzkwODMxMDI4Q0MxQTMwMDJDNDAwODE4MDJBMjAxN0MKKzoxMEQzNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTAyMDhCODIyRTQ0MzkKKzoxMEQzNzAwMDU4ODAwMkU0MDBCQjEwMkU0MDBCQTExMjBDMDE4OTEwNTIKKzoxMEQzODAwMDJFQzAwQUIwMDJFQzAxQjg4MDJFRTIwQUExMDJGMDA0MUQKKzoxMEQzOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUI0MEVCNDAzRTYwRTQKKzoxMEQzQTAwMDBFODczM0U0MDBCOUExMzZDMDBFQTgwQjI2MDBEQUMwMDAKKzoxMEQzQjAwMDNFQzA4REIwMDNFQzAwRkI4NTNFRTEwOEI4MDM5MDA1NEMKKzoxMEQzQzAwMDIwMDAwMDAwMDAwMDAwMDBFMDAxQjgwMEZGMDIyRjYwMTQKKzoxMEQzRDAwMDAzRTg4M0ZDMTBGRDgwMUY0MDFGRDAxM0JFNDBFRTA0MDUKKzoxMEQzRTAwMDNGQzAwRkYwNDNGQzA4RkQwMDNDQzAwRkQwMTFGODAwMTcKKzoxMEQzRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTQwMERCMDBCMjQwMEMKKzoxMEQ0MDAwMDBFOTQwMzI0MDBEOTAwQkFDMDBDMjAwM0U0OTBGQjAwNjIKKzoxMEQ0MTAwMDNBQzAwQ0IwMDNFQzAxRkEwMDNFRDAyQzk4MDM5MDA0MDMKKzoxMEQ0MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MDMwMDhCMDAyMjQ4MTcKKzoxMEQ0MzAwMDA4ODQyMjJDMDBCOTAwMjJDMDA4QTAwMkVEMDA4QkEwQjUKKzoxMEQ0NDAwMDIxQzAwOEYwMDJGQzAwQjk4MDJFQzAwOEEwMDIzMjAwMDIKKzoxMEQ0NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDUyMDkzMDAyMkY4OTUKKzoxMEQ0NjAwMDBCMzAwQTg0NDBCMjAwMjA0MDA4MTAwMkM0MDA4MDgwQzMKKzoxMEQ0NzAwMDI4QzAyODM5MDI0QzAwQjEwMDJDQzAwODMwMDJCODAwODYKKzoxMEQ0ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMzYwMDlGODAyMTYwNTUKKzoxMEQ0OTAwMDA5MzgwMjlFMDBCMkMwMjA2MDQ4NDgxMkQ2QzY4NkQwMjUKKzoxMEQ0QTAwMDIxRTAwODc4MDBERTgwQjc4MjJERTAwOEY4MDIwODAwNEQKKzoxMEQ0QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMyMEQzMTAzMEM4RDUKKzoxMEQ0QzAwMDBGMzAwMzg0MDBGMTAwMzA0MDI0MTkwM0U0QzBFMDQwMzEKKzoxMEQ0RDAwMDNBQzAwQzMyMDNDRTgwQjEyODNDQzAwQzMwMTM5MjAyMEIKKzoxMEQ0RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOUMwMEU2MDA3RkMwMUUKKzoxMEQ0RjAwMDBFRjAyMzc0NDBGRjEwM0Y0MDRGRDAwM0ZDRDJDRTA0MDcKKzoxMEQ1MDAwMDNGQzAwRkY0MDNGQzAwRkUwMDNGQzAwRjcxMDNEMDEyQjgKKzoxMEQ1MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUUwMENCMDAxNkMwNkYKKzoxMEQ1MjAwMDBEODAwMzI3MjBDQjAwM0VDMjBBQjA1M0U0MjhDMTgxRkUKKzoxMEQ1MzAwMDMyQzEwRUI5MDMyQzAwRjE4MDM1RTAwQ0I4MDMyQTA0ODcKKzoxMEQ1NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMjg3MTAyRDQwNzAKKzoxMEQ1NTAwMDA4NzAwMzVDMDBBNzAwMkQ0MDI4NzAwMkQ0MDQ4NzA0RTMKKzoxMEQ1NjAwMEExRDAwQjcyMDIxRDAwRjcwMDIxQzAwRDUwMDIxMjA0NjEKKzoxMEQ1NzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMDg1ODAyNUUwRTMKKzoxMEQ1ODAwMDA5NzgwMjM3MDM4NzgwMkZFMDA4NzgxMkM2MTA4RDgwNTMKKzoxMEQ1OTAwMDI1RTgwQjM4MDIxRTgwQkM4NDI1RTAwODU4MDI3MDAwODQKKzoxMEQ1QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0Q4MDgzODgyQ0MwQkIKKzoxMEQ1QjAwMDA4M0MwMjRFMDFBM0QyMkVDNDA4QjEwMkNDMDA4MzgwRTUKKzoxMEQ1QzAwMDI0QzEwQjMwMDIwQzAwQjM0MEEwRDIwOTMwMTI1MjAwMkIKKzoxMEQ1RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkEwMENBQzAzNjgwMjQKKzoxMEQ1RTAwMDBENjcxMzI4MDBDRTAwM0VBMDBDRUQwM0U4MDBDRUUwNEUKKzoxMEQ1RjAwMDM2ODAxRUEwMEIyODA0RkUwMEI3QjIwQ0UwMEI3QTAwQTgKKzoxMEQ2MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTA0MEY4MTAyRTEwMEMKKzoxMEQ2MTAwMDBGODAwM0UwMDFEODBBM0UwMDBGODAwM0MwMDJGODA4MjMKKzoxMEQ2MjAwMDNBMDAwRjgwMDNFMDEwRTgyMEJFMDAwRjgwMTM5MjAwNDQKKzoxMEQ2MzAwMDIwMDAwMDAwMDAwMDAwMDAwODEwRTUwMEZCMDAzRTQwNTQKKzoxMEQ2NDAwMDBDOTEwMzI2MDA2MTgwMzI0MDBDOTAwMzI0MDBDOTAwMzUKKzoxMEQ2NTAwMDFFNDAwQzlDMDNFNDAxRjkwMDNFNDAwRjkwMDNDMjAwMDEKKzoxMEQ2NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjcwMEI5MDAyQzQwN0EKKzoxMEQ2NzAwMDAwOUMwMkE2MDA3OTAwMjI0MDI4OTAwMjI0MDA4OTAwMjQKKzoxMEQ2ODAwMDJDNDQwODk4MDJFNDAwQjk4MDJFNDAwQjkwMDJFMDAxN0YKKzoxMEQ2OTAwMDAwMDAwMDAwMDAwMDAwMDAxODAxMjQwMEJCMDAyNjUwMUMKKzoxMEQ2QTAwMDI4OTA4MjI0ODQ5OTIwMjI0MDQ5OTAwMjI0MDA4OTAwRjUKKzoxMEQ2QjAwMDJFNDAwODkwMDJFNDAwQjk2MDJFNDAwQjkwMDJDNjA0OTAKKzoxMEQ2QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDYwMEIxMDAyRTQ4RTEKKzoxMEQ2RDAwMDA4MTIwMjg0ODBCMTIwQTA0ODA5MTIwQTA0ODA4MTAwNDcKKzoxMEQ2RTAwMDJDNDgyODEyNDJDNDg4MzEwMDJDNDAwQjE4MDJDMjAxNzkKKzoxMEQ2RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEY4NTAzNjE0NzMKKzoxMEQ3MDAwMDBDODAwMzIwMDBFODAwMzIxNDBDODUwMzIxNDBDODUwMkYKKzoxMEQ3MTAwMDNFMTQwQzgwMDNFMTQwMzgwMDNFMDA4RjgwMDNFRTAzOEUKKzoxMEQ3MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERDQwMEZCMDQzRDQ0QTAKKzoxMEQ3MzAwMDBGNTEyM0Q0NDhFRDEwM0Q0NDRFRDEyM0Y0NDJGRDAwNTcKKzoxMEQ3NDAwMDNFNDQ4RjkxMDNFNDU4RkQwMDNGNTAwRjUwMDNFNjA2MUUKKzoxMEQ3NTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjQwMEY5MDAzRDQwRDIKKzoxMEQ3NjAwMDBDRDAwM0Y0MDBERDAyM0U0MDBDOTAwM0U0NDBDOTEwRUQKKzoxMEQ3NzAwMDM3NDAwN0QwMDcyNDAwRTUwMDJGNkEwRjcwMDMwNjAwMkEKKzoxMEQ3ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwMEI4MDAzQTAwMEYKKzoxMEQ3OTAwMDgwODAwMkUwMDA4ODAwMkUwMDBBODA1M0EyODAyQ0EwMjYKKzoxMEQ3QTAwMDIyMDAwQjgwMEEyMDAwQjgwMDJFMTAwOTgwMDMwRTA0MEUKKzoxMEQ3QjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDA2QzQwMEIKKzoxMEQ3QzAwMDJBMTAwMjg0MDE4MTgwMkU0MDA5MTAwMkY0MDA4RDA0ODkKKzoxMEQ3RDAwMDIwNDAwQjEwMDI4NDAwQjEwMDJDNDAwQjk4MDI0MjAxNDMKKzoxMEQ3RTAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTQyMEI5MDAyQTQwQjkKKzoxMEQ3RjAwMDg4QjQwMkU2MDFBOTIwMkU0ODBBOTAwMEE0NDBBRDQwNUEKKzoxMEQ4MDAwMDIyNDAwQjkwMTJBNDA0QjkwMTJFNDEwQjkwMDIwNjA0OTEKKzoxMEQ4MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5QzAzRTYwQjgKKzoxMEQ4MjAwMDBDOTQxM0E2MDJEOTQyMUM2MDBDOUUwMUM2MDRDMTAwRDAKKzoxMEQ4MzAwMEIyNDAxRjkwMDJBNDAwRTkwODNFNjg0Rjk4MEI2ODA0QUMKKzoxMEQ4NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTY0MEY5MjAzODcwOTgKKzoxMEQ4NTAwMDBGOTEwM0U0MDBEOTgwM0U0MDBGOUMxM0E0MDBGOTAwMEYKKzoxMEQ4NjAwMDNFNDAwRjEwMDM2NDEwRjkwQTNFNTAwRDlBMDNDQTAwOUYKKzoxMEQ4NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTEwMEQ4MDQzRTAwNTUKKzoxMEQ4ODAwMDBDODExM0MwMDJEODIwM0UwMDJEODQwM0UwMDBDQzA4OTgKKzoxMEQ4OTAwMDNBMDAwRjgwNDNFMDAwRjg0MTMyMDAwNzgxOEIwQTA0MTAKKzoxMEQ4QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1M0E2MDhBMDAyRkE4MzAKKzoxMEQ4QjAwMDBBRTAyMkU4MDI3RTQ4MkU4MDA4QTA0MkU4MDQ4RTAwOUEKKzoxMEQ4QzAwMDIzQTgwQkE4ODJFODAwRUUwMEEyODA0QjYwMDIwQTAwQTkKKzoxMEQ4RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzMDA2Q0MwRDAKKzoxMEQ4RTAwMDA4MzAwMkNDMDAxMzgxMkNDMDA4MzAwMkNFNDA4MjQwQTgKKzoxMEQ4RjAwMDI4RTAwQjM4MDJDQzAwQjMxMDI0QzA4QjM4MDIwQTAwOTkKKzoxMEQ5MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwMDg3MjAyRkMwNzIKKzoxMEQ5MTAwMDBBNzAwMkRDMEFCNjAwMkNDODg4NzIwNkQ4MDA4NjAwOUQKKzoxMEQ5MjAwMDIxQzAwQjcwMDJEQzg0QUY4MEE1QzAwQkQwMDIyODAwQTAKKzoxMEQ5MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEQ3ODAzREEwQTUKKzoxMEQ5NDAwMDFDNzgxM0Q2MDJENzgwM0RFQzA4N0UyM0ZFMDBDRTgwRTMKKzoxMEQ5NTAwMDM5NjAwRjc4MDNERjAwRjY4MDc1RTAwRjc4MDMyQTAyNDQKKzoxMEQ5NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEOEMwMEZCMTAzRTgwM0QKKzoxMEQ5NzAwMDFGQTAyMUNDMDBGQTAwM0VDMDBFQjAwM0U4MDJGQTAwNUUKKzoxMEQ5ODAwMDNFNDAwRkIwMTNFQzAwRUEwMTNBQzAwRjkwMDNDMjA2MEMKKzoxMEQ5OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkMwMEZGODAzRjYwMDgKKzoxMEQ5QTAwMDA4OTkwNzdFMDBERDgwM0ZFMjBDRjgwM0Y2MDJERjgwNzUKKzoxMEQ5QjAwMEIzRTAwQ0Y4MDMzRTQxQ0M4MDMzRTQwRkY4MDNDMDAwMjEKKzoxMEQ5QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUM0MEI3MDAyREMwQUUKKzoxMEQ5RDAwMDBENUEyMkRDODA3NTAwMkRDMDA4NzEwMkYwMjA4NzAwRUUKKzoxMEQ5RTAwMDIxQzAwQTcwMDIxQzAwRDQyODIxQzAwQjcyMDJFQTA0NzQKKzoxMEQ5RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUM0MEI3MDAyRDAwMDcKKzoxMERBMDAwMDA4NzIyMkY0MDA4NzAwMkRDMjA4NzAwMkQ0MDA4NzgwQkIKKzoxMERBMTAwMDI1NDAwOTMwMDI1QzAxQUQwMDI5RDA0QjcwMDJDMDAwRTYKKzoxMERBMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMEJCQzgyQ0EwODcKKzoxMERBMzAwMDA5MjAwMkNFMDBBMzAwMkNFMEE4M0Q0MkMyMDA4QjgwNEEKKzoxMERBNDAwMDI0NDAwQjMwMEE2QzA4QTM0MEE4RTAwQjM0MDJDODA0NDEKKzoxMERBNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUQwMEZGNDgzQzI4ODEKKzoxMERBNjAwMDBDQTkyMzZDODA4QjAwM0ZDMDBDRkMwM0VDMDBEODgwMTkKKzoxMERBNzAwMDM0NDAwRDMwMDM3QzAyQTM0MDM4NjgwRjI0MDNFQTA0Q0QKKzoxMERBODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUQ4OEZCMDAzRTUwQjgKKzoxMERBOTAwMDBGQTEwM0VDMDQzQUMwM0VDMDBGQjA4M0U4MDJGODEwQjcKKzoxMERBQTAwMDNBNDEwRTkwMDNBQzAwOUIwOEI2NDAwRjgxMDNFMDAwQTIKKzoxMERBQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZGMDBCMzIwNTcKKzoxMERBQzAwMDBDNTAxMzFDMDlDRDgzMzNDMDgzNzAwMDNDMDBEQzEwNjQKKzoxMERBRDAwMDMyNjAwRUYxNDMyQzAwQ0UwNDNCNzAwQ0YwODMwMDQ0MDYKKzoxMERBRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0Njc4MEJCMDE2MjIxNUIKKzoxMERBRjAwMDhBODkyMDJDMDA4MEUwMjJDMDBCQjAwM0Q4MTA4QzA0NEYKKzoxMERCMDAwMDIyNDAwNTkwMDJBQzAwRDg4MDM2NDAwQTkwMDIyMDQwQTYKKzoxMERCMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjYwMEJCMDAyMjA2NjcKKzoxMERCMjAwMDA4ODAwMjJFMDA4ODIwMjJDMDA5QjAwMkE0MDA5OTAwQkIKKzoxMERCMzAwMDYyQzQwOEIwMDYyQzAwODg4MDIyNDEwOEEwMDIyMDAwQTAKKzoxMERCNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEIzMDAyMDQwNkEKKzoxMERCNTAwMDBBMDA4MjBDMDA4MDAwMjBDMDBCMzAyMkEwMDA4MTAwNEYKKzoxMERCNjAwMEEwQzAwOTMwMDI4QzAwOTAwMDI0NDAwQTI4MDIwMjAxNjMKKzoxMERCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjAwMEZCMDIyMDAwMUIKKzoxMERCODAwMDJDOTIwMzJDMDI4ODAwMzFDMDBCQjUwMkE0MDBEMTA0RjIKKzoxMERCOTAwMDMyNDAwRTkwMDMyQzQwQzkwMDNBNDA4Q0EwMDMwMDAzOTEKKzoxMERCQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjQwMEZGMDAyRjAwNDYKKzoxMERCQjAwMDBGQzAwM0RDMDBGQzAwM0ZDMTBGRjA0M0YwMDBGRDAwOEMKKzoxMERCQzAwMDNGNDA0RkQwMDNGQzAwRjUwMDNGNDAwRkUwMDNFODA2NjQKKzoxMERCRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RDg4MENDMDBCNzA0MzEKKzoxMERCRTAwMDRFRTEwMzNDMjBERjEwMzE4MDA2RjAwMzdGMDBGRkMwRDAKKzoxMERCRjAwMDNCQzAwRUYyMDM1RTAwRUYxMDMzRDAyQ0YyMDMzMDAwNzYKKzoxMERDMDAwMDcwMDAwMDAwMDAwMDAwMDBDMDEwRTkwMDg4QzYyMDVDMjEKKzoxMERDMTAwMDA4QTQ1NzY1MDA4RjUyMkFGMDA5RkMwMjA0MDBCQjAwREIKKzoxMERDMjAwMDJERDkwOTc0ODM2NDI4ODM0NDIyODQ4ODA2ODIzMDA0QjEKKzoxMERDMzAwMDMwMDAwMDAwMDAwMDAwMDBDODA1QzkwMDgwMTAyMDA4NjYKKzoxMERDNDAwMDA4MzExMjA0QjJBMzAwMjA4NDFCMzQwMjBDODBCMzIwREMKKzoxMERDNTAwMDJDQzcwOTM2MDI4QzgwOTM0MEFDQzgwODMxMjgzMjAxQTkKKzoxMERDNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTkwMDg4MDBBMjUwNEMKKzoxMERDNzAwMDA4MzUwMjI0MDA4QjA0MkVDMTA5QjAwMjI0OTRCQjAwOTUKKzoxMERDODAwMDJFQzAwQkIwMDJDQzYwOEIwMDJFODAwODgwMDAzMDA0QzgKKzoxMERDOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RTcwMkNCMThCMjgwMTEKKzoxMERDQTAwMDJDQUMwQTJFMDhFQjAwMzIxMjRFQjAwMzJCODBGQjAwODYKKzoxMERDQjAwMDNBQzAwQUIwMDNBQjA4RUIwNDJFNDgwQ0I4ODMwMDA0NEEKKzoxMERDQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjY4MEZGODAzOUNBNEIKKzoxMERDRDAwMDBERTgwM0Q2NDBFNzA0M0I2NjRFNzAwM0I4MDBGRjAxMzEKKzoxMERDRTAwMDNGQzA2Q0YwMDM3MDA2RTcwMDMxMDQwRkMxNDNGODAwMzkKKzoxMERDRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwODUwMENCNDAzMjkwMjIKKzoxMEREMDAwMDJGQjAwQjY0ODBGQjA4QkExMDBEQjBBNzJEMDBGQjA0RTgKKzoxMEREMTAwMDNFQzA4RUIwMDM2RDAwREIwMTMyNDA4QzMzMDM5MDA0QjMKKzoxMEREMjAwMDIwMDAwMDAwMDAwMDAwMDBDMDA1MjQwMDgzRTBBMkQwMTUKKzoxMEREMzAwMDQwQjAwMjI1MDRCRjgwQTA1MDA4RjgwMjIwMDA4QjAyRUEKKzoxMERENDAwMDJGRDAwOEYwMDIyNDAwOEY4MDM2MDEwODg0NDIzNjAwNkMKKzoxMERENTAwMDQwMDAwMDAwMDAwMDAwMDBFODA1NDQwMDgzNDgyMEM0QTMKKzoxMERENjAwMDA5MDAwMjQ2MDBCMzAxQTg5MDE5MzAxMjhDMDBBMzA0RTgKKzoxMERENzAwMDJFRTIwQUIwMDIwQzAwODM0OTI4QzAwOTNDMDIzODAwOTgKKzoxMEREODAwMDUwMDAwMDAwMDAwMDAwMDBGMDAxMzYwNDgzODAyMUUxMTMKKzoxMEREOTAwMDA4MzgxMjFFMjhCMzk4MjFBMDE5Mzg4Mjk2MDA4NzgzNkMKKzoxMEREQTAwMDJERTIwODc4MjIzNjhDODc4MDJERTAwOTc5MDIzRTAwMkEKKzoxMEREQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDQwMEMzMzAzMEM4RTQKKzoxMEREQzAwMDREMDAwQjRDODBGMzEyMzhDMDBEM0EwMjhDODBGMzAwRUEKKzoxMERERDAwMDNDQzAwRTMwMEIwRTAwQzMwQzNBQzAwRDMwMDMxMjAyRDMKKzoxMERERTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjQwNkZGMTAzRkMwMEUKKzoxMERERjAwMDBGQjAxM0JDMDBGRjEwN0ZDMDBFRjFBMzdDMDBGRjEyMTgKKzoxMERFMDAwMDNGQzIwRkY1MjNCQzQxRUYxODM3ODBBRUMwMDM1MDA2NjgKKzoxMERFMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMERCMDAzRURBMUUKKzoxMERFMjAwMDBDODAwMzY2MTA4QjAwMzI4MDhDQjYwMzRBMDA0QjgwNTYKKzoxMERFMzAwMDMyQzgwQ0I0MDMwQTEwREIwMDNFQzEwQ0IwNDMyQTAwMDgKKzoxMERFNDAwMDcwMDAwMDAwMDAwMDAwMDBDODExQjQwMDg3MDQyQ0MwNUUKKzoxMERFNTAwMDBENzAwMzFDMDg4NzQ4MjA4MTBENzI4MjVDMDBENzAwN0EKKzoxMERFNjAwMDIxQ0MyOEYwMDIxQzEwODcyMDJDMDAwODQwMEEzMjA0MjQKKzoxMERFNzAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwOTYwMEI3ODEyREUwRTcKKzoxMERFODAwMDA4NDgwMjBFMDQ4NzgwMjFFMDA4NzgwMjNFMDE4NzgwNUUKKzoxMERFOTAwMDIxRTAxODc5MDIzQTAxOTdBMDJENjAwODM4MDIyMDAwOEQKKzoxMERFQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0QzYwMEEzQzYyQ0MwREIKKzoxMERFQjAwMDA5MzAwMjBDMDE4MzAwMjBFMDA5MzAwMjRFMDA5MzAwN0IKKzoxMERFQzAwMDIwQzA0OTMwMjIwRjY0ODMwMjZDRDQyODMwMDIxMjA0MkYKKzoxMERFRDAwMDMwMDAwMDAwMDAwMDAwMDBFODExQUI4MEZBRTAzQzg4NTAKKzoxMERFRTAwMDBDRTAwMjI4MDJDQTAwQjNBOTBDQTAwMzNCMTBDQTAwMzAKKzoxMERFRjAwMEEyODAwQ0EwMEIzODAwREEwMDNGQjAwQ0U2MDMzQTA0MTUKKzoxMERGMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwQzAyMDk4MDgzRTAwQUIKKzoxMERGMTAwMDBGODAwQkUxMDBGODAxM0MxMDRGMDAwM0EwNDBGODAwMTcKKzoxMERGMjAwMDNFMTAwRTgwMDNFMDAwRjgwMDNDMDIyRjA0OTNEMjAwNjQKKzoxMERGMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEMxQzEzMjQwQzEKKzoxMERGNDAwMDBDOTgwMzI2NDBGOTAwMzI0MDBDOTgwMzI0MjRGOTAwNzEKKzoxMERGNTAwMDNDNjAwQzEwMDNBNDAwRjk4MjMyNDAwQzkwMDMwMjA0RDAKKzoxMERGNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5MDAyMjUwOUUKKzoxMERGNzAwMDBEOTgwMjI1ODBCOTAwMjI1MjBEOUMwMjI0MDBCOTAwQTAKKzoxMERGODAwMDJFNjAwODkwNDIyNDAwQjk0MDM2NDAwODkwMEEyMDAwRDQKKzoxMERGOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDhEMDAyMzQwNDAKKzoxMERGQTAwMDA4MTIwMjI0MDBBMTEwQTI2MDA4OTI4QTI0MDBCOTAxN0MKKzoxMERGQjAwMDJFNDYwODkwMDJBNDAwQjE1MDIyNDAyODkwODIwNjAwMEMKKzoxMERGQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4NDg1MjBBMUQ4NUYKKzoxMERGRDAwMDA5MTAwMjA0ODBCMzIwMjA0MDI5MTIwNjA0MDBCMTAxNzgKKzoxMERGRTAwMDJDNDgyODEyMDIwNDAwQjEyMDI0NDgwODEyMDIwMjAxMjEKKzoxMERGRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MjhBMDBCMzAwN0MKKzoxMEUwMDAwMDBDMDUwMzIxNDBFMDUwQjIwMDJDODAwMjIxNDBGMDUwNkEKKzoxMEUwMTAwMDNDMTQwQzg1MTNBMTUwRjg1MDMyMTQwQzg1MjMyRTAzQTgKKzoxMEUwMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEY5MTAzRTQ0MkMKKzoxMEUwMzAwMDBGRDQwQkY0NDRGOTEwM0Y1MDRGMTEwM0Y0MDBGOTAwRDIKKzoxMEUwNDAwMDNFNDQwRjkxNTNGNDE0RjkxMDNGNDQwRkQxMDNFNjAyRkMKKzoxMEUwNTAwMDcwMDAwMDAwMDAwMDAwMDA5ODA1RTZBMEREODhCMzY2QUYKKzoxMEUwNjAwMDBDREM4MzM2ODhCREEwMzc2QTBDREEwQjI1MDJDOTQwNjgKKzoxMEUwNzAwMDNGNzg0Rjk4QjNFNTA0Q0RBMDcyNzgwQ0Q4OEIyNjE0NjYKKzoxMEUwODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTMwMDg4NDIyMjMxRDgKKzoxMEUwOTAwMDA4MEEwMjIyQTBCOEY5MjIxMDBEODQxMjZBODA4ODgwMzIKKzoxMEUwQTAwMDJFMjAwQjA4MDJFMjgwQThBOEEyMzg0OEE4MDIwRTAwODEKKzoxMEUwQjAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzRBMjgxMDAyMDQ4OTQKKzoxMEUwQzAwMDA4MTI0MjQ1MDBCMTAwMjQ0MDA5MTQwMjI0MDA4MTIwQjYKKzoxMEUwRDAwMDJDNTgwQjEwODJDNDA0OTE0MDY0NkMwODMwODIxMjA1RTUKKzoxMEUwRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMDg5MDAyMjQxMDMKKzoxMEUwRjAwMDA4OTA4QTY0ODBCOTAwMjI1MDA5OTAwNjY0MDg5OTAwNEIKKzoxMEUxMDAwMDJFNDAwQjkwMDZDNDAxQjkwMjI2NjE4ODkwMDIwNjA0RDUKKzoxMEUxMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEM5MDAyMjQwREIKKzoxMEUxMjAwMDJDOTQyMzY0MDBCOTAwMzY0MDA5OTAxMzA1MDBDOTAwRkYKKzoxMEUxMzAwMDNFNDA0RjkwMTNFNUMwRDkwMDI2NDAyQzk0MDMyODAwQTAKKzoxMEUxNDAwMDcwMDAwMDAwMDAwMDAwMDA2ODAxQTQwMkU5MDgzQzQwRTMKKzoxMEUxNTAwMDBGOTAwQkE0MDBGMTAwM0U0MTBGOTA0M0E0ODhFOTA0MDYKKzoxMEUxNjAwMDNFNDAwRjkwMDNFNjAwRTEwMDNBNDA5RjkyNjNEQTAwRTAKKzoxMEUxNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwODAxMEUwMDEzMjAwNjQKKzoxMEUxODAwMDhGODAwMzIwMDBEODA4MzAwMThDMDAwM0UxMDJDODA0MEUKKzoxMEUxOTAwMDNFMDAwQzgwMEIyMTAwQzgwMDc4MDAwRjg2MDMwQTAwQTcKKzoxMEUxQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhFNDAyQjgyN0YKKzoxMEUxQjAwMDBCQTAwMjNBMDA4RTgwMjM4MjA4RTIwMjI4MTA4QTAwMTcKKzoxMEUxQzAwMDJGOTgyOEEwMTIyODAwOEUyMDJFODA0QkU0MDIwQTAwRUYKKzoxMEUxRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMkEyNDAyMDgwMDIKKzoxMEUxRTAwMDBCQjAwMjRFNDA5M0MwQTAyMDA4MzYwMjhDMDA5MzAwNzIKKzoxMEUxRjAwMDJDRTIwODMwMDY0QzEyOTMwODI4QzAwQkIwMDIwQTAwMkIKKzoxMEUyMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwODgyNDAyOTQwQ0UKKzoxMEUyMTAwMDBCNzAwMjVFMDg4NDA4MjM0MDA4NzAwNjFDODA4NzAwOEIKKzoxMEUyMjAwMDJEMjAwODc5MTI1QzAwOTQwMDJEQzAwQjMwNDIyODAwOEMKKzoxMEUyMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0UwMEU0ODAzMUExN0EKKzoxMEUyNDAwMDBGNTgxMzc2MDBEMDgwMzFDMDBDMzgwM0JFODBENzgxQzAKKzoxMEUyNTAwMDNGMjA4Qzc5MDM3RjAxRDY4MDM5RTg0RjY4MDMyQTAwN0MKKzoxMEUyNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQkUwMEZBMDAzRTAwOTMKKzoxMEUyNzAwMDhGOTYwQkE0MDBFQTAwM0NDMDBGOTAwM0FDMjBGQjQwM0IKKzoxMEUyODAwMDJFMDAwRkIyMDNBREEwRUEwMDNFQzAwRkEwMUJDMjA0RDcKKzoxMEUyOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUwOERFODEzM0E0OUQKKzoxMEUyQTAwMDBFRkMxMzNFMDBGQzgwMTMyMDBDNjgwMzNFMjBGRkM4QzgKKzoxMEUyQjAwMDNGNjAxREY4MDM3RTAwQzc4MDMzRTIwQ0Q4MDMxMDAwRDYKKzoxMEUyQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMDg2NDEzMUM0Q0QKKzoxMEUyRDAwMDA4Nzk0MjlDMDBCQzEwMjE0MDg1MzUwMzVDMDBCNzAwRTIKKzoxMEUyRTAwMDJEQzAwODcyMDIyQzAwQTcwMTM3QzAwODUxNDIyQTAwMzUKKzoxMEUyRjAwMDYwMDAwMDAwMDAwMDAwMDAxMDAwOEM0MDgyMDAyNDgxQkIKKzoxMEUzMDAwMDA4RDgwMjE0MjBCNTAwMjA0MDA5NjAwMjFDNDBCNzAwNjQKKzoxMEUzMTAwMDJDNDAwQjMwMjJEQzAwOTcwMDIxQzQwODQwMDI0NDAwNEUKKzoxMEUzMjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0RUMwMDkyMDYyMDkwMjUKKzoxMEUzMzAwMDM4MTUwMjg2MDBCODAwNjA1MDA5MzAwMjRFMDFCQjAwNUIKKzoxMEUzNDAwMDJFNDAwQjMwMDJDRTIwQjMwMDI0RjA0ODAyMEE1ODA0QkQKKzoxMEUzNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMENBMDBBNjk0MTAKKzoxMEUzNjAwMDJDOTAwMzJFMDBGQjA1QjI4NTBEOTAwMzNGOTBGRjAwMUIKKzoxMEUzNzAwMDdFODAxRkYwNDNGQzIxOUEwMDMzQzgzQ0IyMDM2QTA0M0MKKzoxMEUzODAwMDYwMDAwMDAwMDAwMDAwMDA5MDAwRUMwMkVBNDAzRDgwQzgKKzoxMEUzOTAwMDBGMTA5M0VEMDBGQjQwM0U5MDhGMzAwM0VDODBGQjAwQUMKKzoxMEUzQTAwMDNFOTExQ0IwMDMyQzEwRTgwMDNFQzgxRjkwMDNBNTEwM0UKKzoxMEUzQjAwMDMwMDAwMDAwMDAwMDAwMDA4MDEwRkMwMkU0MDA3M0EwQTgKKzoxMEUzQzAwMDBDRkMwMzdDMDJGRjEwMTNDNDFDQzAwMzNDMDBGRjAwQzQKKzoxMEUzRDAwMDM3RTAwREYwMDNGQzAwRUQ4MDMxQzAwQzMyNjMyMDA0MDcKKzoxMEUzRTAwMDMwMDAwMDAwMDAwMDAwMDA4NDAwNkMwMDhBQzAyMkIxRjAKKzoxMEUzRjAwMDhBQjg0MzRBMTBEQjIwMjBGMDBBOTQwMzZDMDBCQjA3NjQKKzoxMEU0MDAwMDIyQjgwOEIwMDJFQzExRThDMEIyQzAyQTkyMUEyMDAwNkIKKzoxMEU0MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDAxMkMwMEFBODAyMjk4NUIKKzoxMEU0MjAwMDA4OTAwMjJGMDNCQjAxMkE4MzA4QjI0RTJDMDRBQjAyRDIKKzoxMEU0MzAwMDIyQzQyOEIwMjJFQzA5QjM1MDYyQzAwOEIwMDIyMDAwMDgKKzoxMEU0NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMTgzMDA2MDgwMTAKKzoxMEU0NTAwMDA4MTIwQTQ0MDA5MzAwMkE4MDRBMzAwMjBDMDBCMzAwREMKKzoxMEU0NjAwMDYwQzAwODMwMDJDQzAwQjMwMjYwQzAwODAwNDYwMjAxNjAKKzoxMEU0NzAwMDAwMDAwMDAwMDAwMDAwMDA4MDBENkMwMEU4MDIyMjgwMTcKKzoxMEU0ODAwMDJDRjI0MzJDMDBGQjAwQkFDMDA4QTUwMjNDMDBFRjAwQjAKKzoxMEU0OTAwMDM2QzA0REYwMTNGRDUxRkIwMDMyQzAwQ0IwMDMyMDAxMUIKKzoxMEU0QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMDdFMDQzRjgwMjIKKzoxMEU0QjAwMDBGMzE0M0YwMDJGRjAwMzdDMDBGRjAwM0ZDMDhGRjAwRUMKKzoxMEU0QzAwMDNGQzAwRkYwMDNGQzAwRUYwMDNCQzAwRkMwMDNFODE2OTUKKzoxMEU0RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjI0MEZDODAzRjI0RjYKKzoxMEU0RTAwMDBERDg1M0Q2MDRERjMyM0ZDQzRDQzA0M0ZDMDBERjYwNzQKKzoxMEU0RjAwMDM3QzAwRkM0MDM3Q0QwREYyMDMzRDgwREY4NDNGMDAwQzEKKzoxMEU1MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDE4RTg4MEIwMDEyRTA4QjQKKzoxMEU1MTAwMDg4OTAwMkVDMjA4QjcwMkZDQzA4QjM4MkZERTBCRjQwQzYKKzoxMEU1MjAwMDIyRDgwQjkzMDJGREMwQUYxMDI4RjAwOEJDMTJGMDA0RjMKKzoxMEU1MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQwMEIwMDAyRTAxN0IKKzoxMEU1NDAwMDBBMTI4MkVDODBCMzAwMkNDODBBMDAzMjhDMDBBMzMwN0YKKzoxMEU1NTAwMDIwRDIwOTAwMDI4QzgwODMwMDI4RDgwQjM0MTJGMjAxRUIKKzoxMEU1NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1QUMwMUI4MDIyRTAwRTEKKzoxMEU1NzAwMDBBOTAxMkVDMTA4QjAwMkVDMDBBQjAwMEVDMDBCMzAwMjEKKzoxMEU1ODAwMDIyQzEwQjkyMDJDQzAxQUIwMDJBQzAwMkIwMDJGMDA0RkYKKzoxMEU1OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTAwMEZBMEMzRUMwRTIKKzoxMEU1QTAwMDBGQTAxM0VFMjBEQjAwM0VDMDJFODg1M0VDMDBGQjAwRDIKKzoxMEU1QjAwMEIyQzA4RkFDODNBQzA4REIwMDFBQzA0RkIwMDNDMDA0RkMKKzoxMEU1QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjgwMEZFMDAzRkMwNDUKKzoxMEU1RDAwMDJERTAwM0ZFODA3RjAwM0ZDMDBERDIwM0ZDMDBCRjAxOTEKKzoxMEU1RTAwMDNFQzAwREM4MDNGQzBDRkYwMDNGQzAwOUYwMjNGODAwM0IKKzoxMEU1RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTQwMEZBNDAzMkMxOUEKKzoxMEU2MDAwMDBGQTAwMzI5MDhEQjAwM0VDMDBFODUwM0VDMjBDQjAwRTEKKzoxMEU2MTAwMDNBQzAwRUE0MDNFQzAwRkIwMDNBQzIwRUIwMDMxMDA0OTMKKzoxMEU2MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEJBNjAyMEMwRDcKKzoxMEU2MzAwMDBCQTAwMjA4MDBBRjAwMkZEMDBCQjUwMkZFMDI4RjAwMjYKKzoxMEU2NDAwMDJGQzAwRDgwMEEzQzAwQjcwMDIzQzIwNUYwMjIzNjAwMUYKKzoxMEU2NTAwMDQwMDAwMDAwMDAwMDAwMDBDMDA0NDAwMEIxODgyMDAwMUQKKzoxMEU2NjAwMDBCMTAwMjBDMDA4MzAwMkVDODBCMDgwNjRENDA4MzAwREYKKzoxMEU2NzAwMDIwQzAwODMwMDYwQzA4OTMyMDBBRTA0QTMwMDIzODAwMTcKKzoxMEU2ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDEwNUEwMEI1OTAyMTIwMkEKKzoxMEU2OTAwMDBCNTg0MjNFMDBBNzgwMkRFMDBCNjkwMkRFNDA4NzkyQjYKKzoxMEU2QTAwMDJERTAwOTE4MDI5RTAxQjc4MDI5RTAwMzcwMDIzRTAwQTgKKzoxMEU2QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4NDQwMEYxMDEzMDAwNjQKKzoxMEU2QzAwMDVGMTgwMzBDMTA4MzAwM0NDNDBFMDQwM0VDMDA4MzAwQUQKKzoxMEU2RDAwMDMwQzQwQzMxMDM4QzAwRjMwMDM4QzgwRTMxMDMxMjAyMzEKKzoxMEU2RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDE1QkMwMEZEMDRCRjA0NTUKKzoxMEU2RjAwMDRGNTgwM0Y4MDhFRjA4M0ZDMDBGRjAwMUZDMDBGRjRDMzMKKzoxMEU3MDAwMDNGQzEwRkQwMDMzQzAwRjcwMDM3QzIwRDcyMDNEMDA2QTMKKzoxMEU3MTAwMDYwMDAwMDAwMDAwMDAwMDAwODA1RTIwMERCMDAzMkMwREQKKzoxMEU3MjAwMDREQTgwMzJDMDhGQjAwN0VDODhGQjAwQjZGNDVFQkMyRDEKKzoxMEU3MzAwMDM2QzAwN0EwMDNFRjIwQ0I1MEIyQzAwQzc5MDMyQTAwRUIKKzoxMEU3NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODE5OTgwMDhGMDAyMUMwRjAKKzoxMEU3NTAwMDBCNjAwMzVDMDAzNzAwMkREMjBCMzAwMjBDQTg4NzI0MUQKKzoxMEU3NjAwMDIxRDAwOTcwMDJERDg4ODcyQTIzRTgwODcwMDIzMjA0NkMKKzoxMEU3NzAwMDYwMDAwMDAwMDAwMDAwMDAyMDAwQjYwMDk3ODAyMUUwNEIKKzoxMEU3ODAwMDBCNjgwMjFFMDBCNzgwMkRFODhCNDg4MjFFODBBMzg0OTAKKzoxMEU3OTAwMDI1RTgwQjY4MDJDRTAyODc4MDIxRTAwODdBMDIyMDAwN0IKKzoxMEU3QTAwMDIwMDAwMDAwMDAwMDAwMDA2ODA0Q0MwODgzODIyMEUwMDQKKzoxMEU3QjAwMDhCMkEwMjQ4NDBCMzAwMkNDMDBCMzA4MjBDMDA4MzAwMkYKKzoxMEU3QzAwMDAwQzEwOTMxMDJDQzAwODMwMDIwQzAwODMwMEExMjA0QzUKKzoxMEU3RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1RTgwMERBQTAzMkE4RDAKKzoxMEU3RTAwMDhEQTgwMzNCMDBGQTAwM0U4MDBGRTQwMzY4MDBFQTAyQjQKKzoxMEU3RjAwMDM2ODAwRkU0MDNFODAwQ0EwMDMyODAyQ0EwMDMzQTA0RkMKKzoxMEU4MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAxQTAxMEY4MDBCRTIwRDkKKzoxMEU4MTAwMDhGQzEwM0UwMjRGODAwM0UxMDBGODQwM0UwMDBGODAxRUMKKzoxMEU4MjAwMDNFMDAwRjgwMDNFMDAwRjgwMUJFMTAwRjgwMDNEMjAwMEQKKzoxMEU4MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwQTQwMEY5NDAzMjQwNDEKKzoxMEU4NDAwMENGOTAwM0U0MDBDOTAwMEU1MDBGMUEwMzI2MDBGOTAwMTAKKzoxMEU4NTAwMDNFNDAwRjkwODFFNDAwRjk4MDMyNDAwQzkwMDNDMjA0RTYKKzoxMEU4NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNEIxMDQyMjQwNzUKKzoxMEU4NzAwMDBCOTAwMkU0MDBBOTAwMkU1MzBCOTIwQTI2NDhCOTA0MUIKKzoxMEU4ODAwMDJFNDAwQjkwMDJFNDAwQjk4MDAyNTAwODkwMDJFMDAwOTQKKzoxMEU4OTAwMDEwMDAwMDAwMDAwMDAwMDAzODA1MjQwMEJEMDAyMzQwRTcKKzoxMEU4QTAwMDBCRDAxMkM0MDA4OTAyMkU0MDBCOTAyMjI0MDBCOTAwMjQKKzoxMEU4QjAwMDJFNDAwQjkwMDJFNDAwQjEyMDIwNDA2ODkwMjJDNjAwNTgKKzoxMEU4QzAwMDQwMDAwMDAwMDAwMDAwMDAyODE0MTQwMEJGMTJBMTQwMDYKKzoxMEU4RDAwMDBCNTAwMkM0MDBBMTIwMkM0ODBCMTIwMjA0MTBCMTExRUQKKzoxMEU4RTAwMDJDNDgwQjEzMjJDNDAwQjE0MDIwNUEwODEwMDJDMjAxNjgKKzoxMEU4RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NDAzMjE0MzQKKzoxMEU5MDAwMDBGNDUwM0UxNDBDODUwM0UxNThGODUwMzIxRThGODY4QTQKKzoxMEU5MTAwMDNFMTQwRjg0MDNFMUUwRjAyODMyQThDQzgwMjNFRTAzRkMKKzoxMEU5MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODE1QzQxMEY5MjAzRTQwN0YKKzoxMEU5MzAwMDBGOTAwM0Y0MDBGOTEwM0U0NDBGRDEwM0U0MDBGOTIwRDYKKzoxMEU5NDAwMDNFNDQwRkQzMDNFNDAwRjkwMEJFNDAwRjk0MDNFNjA2RjMKKzoxMEU5NTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RTQwMEZEMTAzMzQwQjYKKzoxMEU5NjAwMDBDRDAwMzI0MDBEOTAwM0Y0MDRDRDAwM0Y2MDBGRDkwQUEKKzoxMEU5NzAwMDNBNDAwQzkwMDNFNkEwRkRBODM3NjgwQ0Q4ODMyNjAwMjcKKzoxMEU5ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwOEM4QTAyMjAwNUQKKzoxMEU5OTAwMDA4ODAwMjIwMDA4ODAwMkUwMDBDODAxMkUwMDBCODgwNjEKKzoxMEU5QTAwMDIyMDAwRDBBMDJFMzgwQjBDMDIwMzQwODg0MDM0RTA0MjQKKzoxMEU5QjAwMDMwMDAwMDAwMDAwMDAwMDA0ODAwODQwOUExMDAyMDQxNTAKKzoxMEU5QzAwMDA4OTAwMjI0MDA5MTAwMkM0MDA4MTAwMkM1MDBCMTYwOUMKKzoxMEU5RDAwMDIwNDAwODEwQTJDNDIwQjEyODI0NEEwODEwMDI1MjAxODUKKzoxMEU5RTAwMDcwMDAwMDAwMDAwMDAwMDAxODE0QTQwMTgxMDBBMjQwODMKKzoxMEU5RjAwMEE4OTAwMDI1NDA4OTAxMkM0MDA4OTQwMkU0MDBCOTAwNDkKKzoxMEVBMDAwMDJBNDAwOTkwMDJFNDAxQjkwNDIyNDE0ODkwMDI0NjA0RDgKKzoxMEVBMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE0QTUyMEU5MDAzMjQwQzIKKzoxMEVBMjAwMDRDMTAwQjI2MDBEOTAwM0U0MDJDOTgwM0U0MDBGOTAwNUUKKzoxMEVBMzAwMEIyNDAwQzkwMDNFNDAwRjkwMDM2NDAyQzkwMDM2ODA0QzcKKzoxMEVBNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODAxQTQwMEU5MDAzRTQwMDIKKzoxMEVBNTAwMDBGOTAwM0U2MDBGOTAwM0U0MDBFOUEwM0U0MDBGOTAwMkYKKzoxMEVBNjAwMDM2NDAwRjkwMDNFNDAwRjkwMDNDNDAwRjkwMDNEQTAwQjkKKzoxMEVBNzAwMDYwMDAwMDAwMDAwMDAwMDAwODEwQTEwMEY4MDAzMjAwNTMKKzoxMEVBODAwMDBGODAxM0EwMDBDODAwMzIwNDhDODAwM0EwQzBGODAwREYKKzoxMEVBOTAwMDNBMDAwRjgwMDMyMDAwQzAwOTMyMDA0QzgwMDEwQTA0QjQKKzoxMEVBQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMEJFMDAyMDgwOTMKKzoxMEVBQjAwMDBCRTAwMjg4MDBBQTAwMDNBMDBBRTYwMkZBMDA4QTAwMUUKKzoxMEVBQzAwMDMyODAwQkEwMDIyODAwOEU4MEEzODAyODIwMDI4QTAwQkEKKzoxMEVBRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NkMwMEIzNDgyMDQwMDIKKzoxMEVBRTAwMDBCMTAwMjBDMDA4MzAwMjBDMDA4MzQ4MjhFMDQ5OTAwQjEKKzoxMEVBRjAwMDBBQzAxQjMwMDIwQzAyOTA1MDIwNjAwODMwMDIwQTAwNEQKKzoxMEVCMDAwMDUwMDAwMDAwMDAwMDAwMDA4MDExMUM4MEJEMEEyMTQ4NTgKKzoxMEVCMTAwMDBCNTIwMjlDNDBBM0EwMjA4MDBBNjAwMkNFMDA4NTIwRjgKKzoxMEVCMjAwMDIxQzQwQjdBMDYxRTgwOTUyMDIxOTAwODcwMDIyODAwQ0YKKzoxMEVCMzAwMDQwMDAwMDAwMDAwMDAwMDA4ODA4MUU4MEY3ODBCMTc5QzYKKzoxMEVCNDAwMDBGREIwMjNFMjBDN0EwQjE2MENDNzgxMzk2MDBGMUYwMzUKKzoxMEVCNTAwMDM5RTIwRjdCMTMwRjAwRDRBMDMxNjAyQzcwMDMyQTAyMUUKKzoxMEVCNjAwMDAwMDAwMDAwMDAwMDAwMDAwODE1QUMwMEY3MDAzRTQwNjcKKzoxMEVCNzAwMDBGOTAwM0VEODBGQjEwM0U0MDBCQjAyM0VDMDBGOTIwMUEKKzoxMEVCODAwMDNBRDgwRkIwMEJFRDgxRUQxMDNFODAwRjMwMDNDMjA2NzYKKzoxMEVCOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA0QkUyMEVFODAzMzYwMzIKKzoxMEVCQTAwMDBDRDg4MzFFMDA2RjgwMzNFMDBGQjgxMTMyMDRGNTgwNUIKKzoxMEVCQjAwMDMzRTAwRkY4ODMyRjQwRkU4MEIzRTAwQ0Y4MDMxMDAwMjEKKzoxMEVCQzAwMDcwMDAwMDAwMDAwMDAwMDBBODE4OUMwMEJDMDBBMTQ0RDgKKzoxMEVCRDAwMDA4MTAwMzVDMDA4RjAwMjE4MDBCRUEyMjFDODBCNTAxMjUKKzoxMEVCRTAwMDIxQzAwQkYwMDIxRTgwQkUwMDIzODAyQTcwMDIyQTA0N0UKKzoxMEVCRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMyMEE3MDAyMzQwRUYKKzoxMEVDMDAwMDBCNTAwQTNDMDBBNzAwMjVDMDBBNDMwMjEwMDBCNTAwQzMKKzoxMEVDMTAwMDIxQzAwQjcwODIxQzgwQjQwMDIxQzAwODcwMDIwNDAwNjcKKzoxMEVDMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDA0OEUwNEIzMDAyMjQwRjkKKzoxMEVDMzAwMDA5MTQwMjRDMDA4MzAwMjBDMDBCMjQ4MjA0MDBCMTAwQTAKKzoxMEVDNDAwMDIwQzA4QjNBMDIyQzAxQjAwMDIwODAwQTMwMDIxQTA0NDYKKzoxMEVDNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1OUUwMEVCMDQzMzQwQzcKKzoxMEVDNjAwMDJEREMwMzFENjBFRjAwMzIwMENGOUEwMzI4MDBGRDAwNjkKKzoxMEVDNzAwMDMzQzE4QkZDMEIzQzAwRkMwMDMyODAwQzkwMDMyQTA0NTcKKzoxMEVDODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQUMxMEY4MDAzRTQwNzIKKzoxMEVDOTAwMDBFOTgyM0FDMDRGQjAwM0MwMDBGODQyMEVEMDBGOTAwMkIKKzoxMEVDQTAwMDNFQzA0RkIwMDNFQzAwRkQwMDNFODAwRjkwMDNFNDAwMzcKKzoxMEVDQjAwMDMwMDAwMDAwMDAwMDAwMDAyMTEwRkMwMENGODAzMzQwMzUKKzoxMEVDQzAwMDBDRDA4M0ZDMDBFRjAwM0Y0MDBDRjE0MTMwMTBDRDAwMzAKKzoxMEVDRDAwMDNGQzAwMDcwMTMzQzAwRTQwMEIxRDAwQzEwMDMyMDA0Q0UKKzoxMEVDRTAwMDMwMDAwMDAwMDAwMDAwMDBBMTA0MkMwMDhBRTQyQTQwNEIKKzoxMEVDRjAwMDI4OTAwMkVDMDA4QjAwM0UwMjBBODAwMjJDODI4OTA0REMKKzoxMEVEMDAwMDJFQzEwQUIwMEEyQzAwODkwMjIyRjIyQTk4MDIyMDAwQTEKKzoxMEVEMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMjgwMTQyQTQwMzIKKzoxMEVEMjAwMDA4OTAwMkVDMDhBQjA0MkU4NDA4MTA4MjgwMTA4OTAzM0UKKzoxMEVEMzAwMDJDQzA0QUIwMjIyQzAwQUEwMDIyODAwODkxMDIyMDAwOTgKKzoxMEVENDAwMDQwMDAwMDAwMDAwMDAwMDAwODE0MkMwMDgwMDAyODQwNTMKKzoxMEVENTAwMDA4MTEwMkVDMDA4MzAwMkM4MTBBMDA1QTg4MDAwMTAwOEYKKzoxMEVENjAwMDJDQzAwQTMwMDIwQzAwODIwMDIwODAwQTEwMDIwMjAxMkUKKzoxMEVENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEM5MDAzQTQwRDcKKzoxMEVEODAwMDBDRDQwM0ZDMDBFQjAwM0U0MDBDOTIwM0EwMDA0RDAwQUQKKzoxMEVEOTAwMDNGQzAwRUYwMzMzQzgwRTgwMDMyQzAwQzkwMDMyMDAzRUIKKzoxMEVEQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDExRkMwMEZDMDAzRDQwRUQKKzoxMEVEQjAwMDBGNTAwM0ZDMDIzRjA0M0IwMTRGQzQxMzcwMDBGRDAwRTEKKzoxMEVEQzAwMDNGQzAxRkYwMDFGQzQwRkMwMDNGQzAwRkQwMTNFODA2MUQKKzoxMEVERDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjhFMEZGODAzREMwQUEKKzoxMEVERTAwMDBERjM4MkYwODBGRjQwMzFDQjBDRjMwM0ZEMDRFRkMxNDMKKzoxMEVERjAwMDMzRTAwRjc5MDNGRTAwQ0Y0MjMzRjA0Q0Y4MDMzMDAwQ0MKKzoxMEVFMDAwMDcwMDAwMDAwMDAwMDAwMDBFMDEwRTkwOEI5ODEyRkYwNTgKKzoxMEVFMTAwMDA4RjQ1MkU5MjBCRjQwMjNGMDBBRjMwMkZEMDg4QjAwRkEKKzoxMEVFMjAwMDM2RTAwQjgwMjJFODgwOEY0MDIyQzAwOEIwODIzMDA0OTgKKzoxMEVFMzAwMDMwMDAwMDAwMDAwMDAwMDBDODA1Q0MwMEIxODAyQ0M1RTcKKzoxMEVFNDAwMDA5MzI0MkM4QzBCMzMxMjBDMTA4MzIwMkNDRDRCQjIwNDEKKzoxMEVFNTAwMDY4QzAwQjMwMDJDQzIwOTM2MDIwODgwODMyMDIzMjAxNTcKKzoxMEVFNjAwMDcwMDAwMDAwMDAwMDAwMDBFMDE1QTAwMEJCODAyRUMwNzQKKzoxMEVFNzAwMDA4QjAwMkVBMDBCQjAwNjJDMTBBQjAwMkNDMDBBQjAwREQKKzoxMEVFODAwMDJFQzAwQkEwMDBFODAwODMwMDIyQzEwODMwMDIzMDA0MkQKKzoxMEVFOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RTg5MEZCODAzRUMwMEMKKzoxMEVFQTAwMDBEQjAwM0UyMTBGQjAwMzJDMDRDQjAxM0VDMDBFOTU0OEIKKzoxMEVFQjAwMDNBQzAwRkIwMDNFNjAwQ0IwMEIyNDAwQ0IwMDMwNDA0MkMKKzoxMEVFQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjgwMEZGMDAzRkMwM0IKKzoxMEVFRDAwMDhGRjAwM0YwMDBGNzAyQkZDMTBGRjAyM0ZDMDBERjA2NDQKKzoxMEVFRTAwMDM3QzA4RkM5MDdGQTkyRkYwNDNGNTAyRkYwMDNGODAwOTQKKzoxMEVFRjAwMDYwMDAwMDAwMDAwMDAwMDA1MDEwQUMwMEM5MDAzRUMyREQKKzoxMEVGMDAwMDBFQjAyM0U0MDBFQjAwM0FDODBFQjAwM0VDMDBGOTAwQTkKKzoxMEVGMTAwMDNFQzAwRkI0MDNBNDAwRkIwMDNFODAwRkIwODNEMDA0QkEKKzoxMEVGMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MjgwMDhCNzQyREMwRTAKKzoxMEVGMzAwMDA4RjAwMkU0MDA4RjAwMjFGMDA4RjAwMkZDMTBEMzAwN0EKKzoxMEVGNDAwMDJFQzAwQjkwMTIyQzAwRUYwMDJFQzAwQkI2MDJGNjAwNjQKKzoxMEVGNTAwMDQwMDAwMDAwMDAwMDAwMDBFODA1NDgwMEEzMDAyQ0M0QTkKKzoxMEVGNjAwMDBBMzAwMkMwMDBBMzAwNjhGMDBBMzAxMkNDMDRBMjAwRUMKKzoxMEVGNzAwMDJDQzAwQjMwMDJFQzAwQjMwMTJFQzAwQjM0MDJGODAwQTEKKzoxMEVGODAwMDUwMDAwMDAwMDAwMDAwMDBCMDAxMEMwMDg3ODAyREU4NTgKKzoxMEVGOTAwMDA4Nzg0MkRBMDA4NzgwMjVFMDA4NzkwMkNFMDA5NjgwNjIKKzoxMEVGQTAwMDJERTAwQkQ5MDJERTAwQTc4MDJERTAwQjc4MDJGQzAwREIKKzoxMEVGQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEM0MEUzMTAzQ0MwODYKKzoxMEVGQzAwMDBBMzgwM0U4MDBFQjAwMzhDMjBBMzAwM0NDMDBFMzQwMDMKKzoxMEVGRDAwMDNDQzAwRjM0MDNDRDAwRjMyMDNDODgwRjMwMDNEMjAyMzUKKzoxMEVGRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjQ4MEZGMDQzRkM4ODYKKzoxMEVGRjAwMDBGRjA4M0Y4NDBGRjE4M0JDMDBGRjQ4M0ZDMDBFRTAyRDMKKzoxMEYwMDAwMDNGQzAwRkYwMDMzQzAwRUYwODNGODAwRkYwMTNEMDA2MjUKKzoxMEYwMTAwMDYwMDAwMDAwMDAwMDAwMDA4ODA1RTgwMENCMDAzRUYyMjAKKzoxMEYwMjAwMDREQjIxM0U4MDRDQjAxMzJGODREQjIxMzZEMjBGODAwNTUKKzoxMEYwMzAwMDNFQzAwRjMwMDMyNDAwRkIwMDNFNDA4RkI4MDMyQTAwN0YKKzoxMEYwNDAwMDcwMDAwMDAwMDAwMDAwMDBDODExOEMwMDg2MDAyQ0MwNzkKKzoxMEYwNTAwMDA4NzMwMkQ4MTI4NzMwMjBDQjA4RjIwMjFEMDVCNTAwRDQKKzoxMEYwNjAwMDJEQzAwQjYwMDM1MDEwQjcwOTJEQzAwQkYwMDIzMjA0MDUKKzoxMEYwNzAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwOUUwMDg3ODAyREU0RkEKKzoxMEYwODAwMDA5N0EwMkNFMDE4NzgwMjFFQzA5NzgwMjVFODBCN0MwNDAKKzoxMEYwOTAwMDJERTAwQkY4MDIxRTAwQjdBMDJENjAwQjc4MDIyMDAwQjcKKzoxMEYwQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0RUUwMDgyODAyQ0MwMDgKKzoxMEYwQjAwMDA4MzAwMkVDMDA4MzAwQTBDMDA4MzAwMjBDMDBCMzgwQ0UKKzoxMEYwQzAwMDJDQzEwQjMwMDI0RTAwQjMwMDJDRjEwQjMwMEExMjA0OUQKKzoxMEYwRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkE4MEM2MDAzRTgwNDUKKzoxMEYwRTAwMDBEQTAwM0Y4NDBDQTAwMzI4MDBEQTAxMzY4MDBGRTAyOTQKKzoxMEYwRjAwMDdFODAwRkVEODMzOTEwRkEwMDNGOEMwRkEwMDMzQTA0OTUKKzoxMEYxMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxMkY4OTAzRTAwOUYKKzoxMEYxMTAwMDBGODAwM0UwMDBGODA1M0UwMDBFMDAwM0UwMDBGODgwRDkKKzoxMEYxMjAwMDNFMDAwRjgwMDNFMDYwRjgwMDdFMDAwRjgwMDNEMjAwRjUKKzoxMEYxMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEM5ODAzMjY0QzQKKzoxMEYxNDAwMDBGOTA0M0U0MDZDMTA0M0E0MDBGOTAwM0U0MDBFOTAwNDUKKzoxMEYxNTAwMDMyNDAwRjkwMDMyNDAwQzEwMTMyNDAwQzkwMDNDMjA0REUKKzoxMEYxNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5QzAyMjQwREMKKzoxMEYxNzAwMDBCOTAwMjI0MDA4OTAwMjI1MDFCOTAyMjI0MDA4MTAwNjEKKzoxMEYxODAwMDIyNDAwQjkwMjIyNDA4QzkwMDIwNDAwODk0MDJFMDAwOEQKKzoxMEYxOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDk5MjAyMjQwMDMKKzoxMEYxQTAwMDBCMTAwMkE0MDA4OTAwMkE1ODBCOTAwMjg0MDBBOTAwQzkKKzoxMEYxQjAwMDIyNDAwQjEwMEEwNDAwOTkwMjIyQzEwODkwODJDNjAwNjYKKzoxMEYxQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDkxMDJBMEM4RjQKKzoxMEYxRDAwMDBCMTIwMjA0ODA4MTIyMjA0ODlCMTIwMjA0OTA4OTAxQjQKKzoxMEYxRTAwMDIwNDAwQjEwMDIwNDAyODEyMjIyNDAwODEwMDJDMjAxQkEKKzoxMEYxRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MkRBMDEzMjAxOTkKKzoxMEYyMDAwMDBGODUwM0ExNDBDMDUwM0EwMThCODUyM0ExNDRFODUwRUIKKzoxMEYyMTAwMEIyMDAwRjg1MDMyMTQ4RDg1MTMyMTQyQzg1MDNFRTAzMjgKKzoxMEYyMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjUwMEVEMDIzRTQ0NzMKKzoxMEYyMzAwMDBGOTEwM0Y0NDBGOTEwM0U0NDBGOTEwM0U0NDBGRDAwQTgKKzoxMEYyNDAwMDNFNDAwRkQwMDNGNDAwRTkxMEJGNDAwRjkwMDM2NjA2NjQKKzoxMEYyNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTYyMUM1MDAzMzY4QkEKKzoxMEYyNjAwMDBGOUEwMzZGODhDOUMwMzM2ODBDOUUwMzI3ODBEOTQwNkEKKzoxMEYyNzAwMDNFNDAwRjkwMDNDNTEwRDlFODM2NTAwQ0QwMDNFNjAwOEQKKzoxMEYyODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwODg4MDA4MjAwRDMKKzoxMEYyOTAwMDBCOEU4MkVCQzg4OEUwMjIwMDI4ODg0MkEyODA4QTgwRjgKKzoxMEYyQTAwMDIyMDAwQkFBMDJFMjAwODhDMDIyQTkwODhBMDM4RTA0NjkKKzoxMEYyQjAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzQwMDgxMDAyMEQwOUMKKzoxMEYyQzAwMDBCMTEzMjg0ODQ4MTYwNjA1MDA4MTYwNjA1MDA5MTIwN0QKKzoxMEYyRDAwMDIwNDAwQjEwODJFNDA5OTEyMDI0NDAwODEwQzJEMjAxODIKKzoxMEYyRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwNDg5MDQyMjQwRUEKKzoxMEYyRjAwMDBCOTAwMkM0MDBBOTAwMjI0MTAwOTAwMkE0MDA4MTAwRUEKKzoxMEYzMDAwMDIyNDAwQjkyMjJFNTgwOTkwMTIyNjEwODkwMDI4NjA0MzYKKzoxMEYzMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE0QTU4MjgxOTAzMjQwMkYKKzoxMEYzMjAwMDBGOTAxMzY3MDJDOTAwMzI0MDBDOTAyMzI0MDREOUMwMDcKKzoxMEYzMzAwMEIyNDAwRjlDMDNFNjAwRDkwMDM2NTAwQzkwMDNFODA0NUQKKzoxMEYzNDAwMDcwMDAwMDAwMDAwMDAwMDA2ODAwQTY4MEY5MDAzRTQwNDgKKzoxMEYzNTAwMDBGOTAwM0U3MDBEOTAwQkM0MjBGOTA1M0U0MDRGOTEwNkEKKzoxMEYzNjAwMDNFNDAwRjk4MDNFNjA0RTEwMDNFNDAyRjkwMDNEQTAwOTAKKzoxMEYzNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwODExMDQ4MTAzMjA4RDIKKzoxMEYzODAwMDBDODAwRjIxMDJDODAwM0EwNDBGODAwNzYwMDBGODQwOEIKKzoxMEYzOTAwMEIyMDAwRjg0MEIyMDAwRDgwMDM2MTAwQzgwMDNDQTA0ODIKKzoxMEYzQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA0MjgwNDhFODAyMzgwMzQKKzoxMEYzQjAwMDA4QTA0MjI4MDA4QTAwMjNBMDRCQTAwMkU4MDBCQTAwNUYKKzoxMEYzQzAwMDc2ODAwQkEwMDIwODAwOEEwMDMyODAwOEUwMDNDQTAwQTEKKzoxMEYzRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDgyMDAyMEQwMDIKKzoxMEYzRTAwMDA4MzAwMjBDMDA5QjAwMjhDMDFBQjAwMjZDMDBCMzAyNjcKKzoxMEYzRjAwMDIwQzAwQjMwMDIwQzAwQTMwMDIyQzAyODM0ODJDQTAwQjcKKzoxMEY0MDAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUMwMDg3MDAyMEUwRTgKKzoxMEY0MTAwMDA4NzgwMjBDMDA5NzIwMjVDMDBCNzEwMkRDODFCNzIwMTAKKzoxMEY0MjAwMDIxQzAwQjdBNDIzQzgwODcyMDIxQzAwODcwMDJFODAwOEUKKzoxMEY0MzAwMDQwMDAwMDAwMDAwMDAwMDAyODA4MEU4MkM3ODBCMUUwRjQKKzoxMEY0NDAwMDJDRkEwNjFFMDhEM0IxMzk2MDRFNzgxMjVFQTBGRkYwODgKKzoxMEY0NTAwMDIxRTAwRkY4MDMxRjA4RTNBMDMzRTAwQzY4MDNFQTAyODEKKzoxMEY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUM0MEZCMDAzRUMwOTIKKzoxMEY0NzAwMDBGQjIwM0VEQThFQjEwM0E4MDBGQjBDM0VDNDBGQjAwRDUKKzoxMEY0ODAwMDNFQzAwRkIwODNFQzgwRUI3MEJFQzQwRkIwMDM4MjA2QTkKKzoxMEY0OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUwMENFODBCMzYwNjgKKzoxMEY0QTAwMDBGRkM4MzdFMjBFRkIwM0JFMDBGQjgwMzNFMDBDRjgxMUUKKzoxMEY0QjAwMDNGRTA4RkY4ODNFRjQwRkZDMjMzRTEwQ0Y4MDNEMDAwNDgKKzoxMEY0QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUM4Mjg3MTgyMTgwQjUKKzoxMEY0RDAwMDBCMzAwMjFDNjBENzEwMjFEMDBCN0IwMjNDMDBENzAwMDAKKzoxMEY0RTAwMDJEQzAwQjcwMDJERTAwQkYwMEEzQzQwODcwMDNBQTA0ODUKKzoxMEY0RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwQkMxMTg3MDAyMUMwNzcKKzoxMEY1MDAwMDBCMzAwMjFDMDA5MzIwNjlDMDBCNzAwMjFDMDA4NzAwQTYKKzoxMEY1MTAwMDJEQzAwQjcxMDJEQzIwQjcxMDIxQzAwODYwMDI4NDAwRUUKKzoxMEY1MjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0Q0QwMDgzNDAyMEMwRDcKKzoxMEY1MzAwMDRCMzAwMjBDMDE4MzAwMjBDMDBCMzAwMjBDMDA5MzgwODIKKzoxMEY1NDAwMDJDQzAwQjMwMDJDQzAxQjMwMDIwQzAwODMwMjI5ODA0M0MKKzoxMEY1NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkYyMENBQzAzMjgwQTMKKzoxMEY1NjAwMDBGRjAwMzNFMDA5RjAwM0E4MDBGRjAwQjNDMDBDRjk4NTUKKzoxMEY1NzAwMDNFQzAwRkY2MDNGRjAwRkYwMDMxRTAyQ0IwMDNBRTA0RTUKKzoxMEY1ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQ0M4MEZCMDAzRTUwQzYKKzoxMEY1OTAwMDBGQjAwM0FDMDJGQjAwN0U1MDBGQjAwM0VDMDBGQjAwODkKKzoxMEY1QTAwMDNFQzAwRkIyMDNFQzIwRjMwMDNFQzYwRjkwMDNBMDAwNTQKKzoxMEY1QjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMkNGOTg3M0M4NkEKKzoxMEY1QzAwMDBGNzAwMzNDMDBGRjAwMzMyODBGQjAwMjFDMDA0RjAwRjcKKzoxMEY1RDAwMDNGQzAwRkYwMDNGQzAwRkYwMTMzQzAwQ0U0MDNFNDA0NjAKKzoxMEY1RTAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NkMwMDgzODBBMkY4NUUKKzoxMEY1RjAwMDBCQjA0MjJDMDBCQjAwMzIxMDBGQjAwMzZDMDRBQjAwMDgKKzoxMEY2MDAwMDJFQzAwQkIwMTJFQzA0RUIwMDIyQzA0QTk0ODJFMDAwNDIKKzoxMEY2MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1NkMwMDhBMDAyMjAwM0QKKzoxMEY2MjAwMDBCQjAwMjJDMDBCMzAwQTJDMDBCMzAwMkFDMDBBQjA0NDQKKzoxMEY2MzAwMDJFQzAwQkIwNDJFQzAwQkIwMDIyQzAwOEIwMjJFMDAwOUMKKzoxMEY2NDAwMDQwMDAwMDAwMDAwMDAwMDAwODAwMEMwMDhCMDEyMDAwQkEKKzoxMEY2NTAwMDBCMzAwNjBDMDBCMzAwMjBDMDBBMzIwQUNDMDBBMzAwMTUKKzoxMEY2NjAwMDJDQzAwQjMwMDJDQzAwQTMwMDIyQzA0QTAwMTJDMjAxMDEKKzoxMEY2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NkMwMDhCMDQyMkMwQTUKKzoxMEY2ODAwMDBGRjEwMzFDMDBGRjA0MzJDMDBCRjIwM0JDMDBFRjAwQkIKKzoxMEY2OTAwMDNFQzAwN0YwMDNGQzgwRkYwMEIyQzAwQ0EwMDNFMDAzRjMKKzoxMEY2QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5REMwMEY1MDAzRkMwODEKKzoxMEY2QjAwMDBGRjAwM0ZDMDFGRjAyM0JDMDBGRjEwMzdDMDBGRjAwRDEKKzoxMEY2QzAwMDNGQzAwRkYwMTNGQzQwRUYwMDNGQzAwRkMwMDNFODA2M0YKKzoxMEY2RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1RjI0MENDODAzNzIwMTAKKzoxMEY2RTAwMDBDRDgwM0IwNDRGQzA4M0YwRTBGQzEwM0ZDMDBDQzk0QkYKKzoxMEY2RjAwMDNGMEEyRUM0MDM3RDgwQ0YxMDNGQzAwRkMwODMzMDAwNkYKKzoxMEY3MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDA4RTA5MDg4MDIyMjgxNjQKKzoxMEY3MTAwMDA4OTIxM0E0NDAzQjYwMjIxODBCODEwMkZDRDQ4MTAwQTQKKzoxMEY3MjAwMDNBQjAwQTk0MDIzRDQwQUY2MzJGREYwQjk4MDAyMDA0RUIKKzoxMEY3MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1RTAwMDg4MDAyMDQwNDQKKzoxMEY3NDAwMDg4MzA4MkMwMDBCMDA4Mjg4MDBBMTAwMkNDMjA4MDAxRDYKKzoxMEY3NTAwMDJDNDAxQjA2MDI4QzkwOTM2MDY4QzA0QTAwNDIyMjAxMzQKKzoxMEY3NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1QTAwMjg4MDAyMkMwNTgKKzoxMEY3NzAwMDA4QjAwMkU0MjBCQjg4MjY5ODBCODA0MkNDMTg4QTAwOEYKKzoxMEY3ODAwMDJFQzIxQjk4MDJBQzAwQUIwMDJFQzAwQjk4ODIzMDA0MzYKKzoxMEY3OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDExRTNDMENCMDIzMjAwNTYKKzoxMEY3QTAwMDJDODAwM0FFMDhCOTAwM0U3MDBGQjkwM0VDMDI0ODQ4NDQKKzoxMEY3QjAwMDNDQzAwRjhDOTNFQzAwREIwMDFBQzAwRUFDMDMxMDA0QUQKKzoxMEY3QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjIwMEZGMDBCQjgwRkMKKzoxMEY3RDAwMDBGQzA0M0I2NDBCRDAwM0I2MDBGRTgwM0ZDMDBGRjk0NDAKKzoxMEY3RTAwMDNCRTQwRTYwMEY2QzA4RUYwMTNGQzAwRjYwMDNGODAwQjAKKzoxMEY3RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTEwMEZCMDAzRTYwMUYKKzoxMEY4MDAwMDBGQTAwM0VEMDBGOTQwM0EwMDBGOTAwM0VDMDJDOTA0ODkKKzoxMEY4MTAwMDMyRDAwRjkwMDMyQzA4REIwMEI2QzAwREI0MDNEMDA0MjcKKzoxMEY4MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MDAwMEIzODkyRUUwQTEKKzoxMEY4MzAwMDBCQTQwM0E0MDFCOTAwMkUwMTBCOTA0MkZDMTA4OTUwQzcKKzoxMEY4NDAwMEEyQzA4REI0MDIzQzQ0OEYwMDIzQzAwOEIwMDJGMjAwNzUKKzoxMEY4NTAwMDQwMDAwMDAwMDAwMDAwMDBDMDA0MEMwMEIwODAyRTAwM0EKKzoxMEY4NjAwMDBCMTIwMkM4MDBCQTAwMkNDMDBCMjAwMkNDMDBBMjAwNzAKKzoxMEY4NzAwMDIwMDAyQjJEOUEyRTQyODMwMDI4QzAwODIwMDJGODAwNzkKKzoxMEY4ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAwMUUwNEI0ODAyREEwRTUKKzoxMEY4OTAwMDBCNTgwMjkyMDBCNjgwMkRFMDBCNjgwMkRFNDBBNjgwNzUKKzoxMEY4QTAwMDIxMjQyOTQ4MDIxRTgwODc4MDY5RTAwODYxMDJDODAwN0YKKzoxMEY4QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODE4MEMwMEYwMzAzQzRDRjQKKzoxMEY4QzAwMDBGMzIwM0M4ODBCMjAwMzg4MDBGMUIwM0VDMDBFMDMwMTkKKzoxMEY4RDAwMDMwMDQwRkIxMDMwRTg1Q0IwMDNBQzAwQzMxMDNEMjAyQzUKKzoxMEY4RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFDQkMwMEZDMTEzRkM0RjAKKzoxMEY4RjAwMDBGQjgxM0IwMDRGRTAyM0Y4MDBGQzAwM0ZEMDBERjEyRkIKKzoxMEY5MDAwMDFEMDQwRkQwNDNCQzAxRUYxMDMzQzQwRUYzMDNEMDA2MjcKKzoxMEY5MTAwMDYwMDAwMDAwMDAwMDAwMDAwODA1RUUwMENCMDAzRTAwODMKKzoxMEY5MjAwMDBGODAwMzI4MDBGODAwM0U0MDNEQjAwM0VGMDhDOTAwRjcKKzoxMEY5MzAwMDNBMDAwQ0EwMDNFQzk4RkIyMDMyRDIwQ0E4MDMyQTAyNTgKKzoxMEY5NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMDg3MDEyRDgwMUQKKzoxMEY5NTAwMDBCNDA0MjFDMDQzNzAwQTE0MDA4NjAwMkNDODA4NzAwQTUKKzoxMEY5NjAwMDJEODAyRTcwMDJEQ0E5QjcyODIxRDAwODcwMDIxMjAwNjkKKzoxMEY5NzAwMDYwMDAwMDAwMDAwMDAwMDAyMDAwQkUwMjg3ODAyRDYwQjMKKzoxMEY5ODAwMDRCRTgwMjVBMDFCNDg4MjhFMDg4NzhDMkRFNTI4NkMwNkIKKzoxMEY5OTAwMDI5NjAwODY4MDJERTQwQjM5MkUxRTgyODI4MDI3MDAwN0UKKzoxMEY5QTAwMDIwMDAwMDAwMDAwMDAwMDA2ODE0Q0MwMDhCODAyRUMwRjYKKzoxMEY5QjAwMDBCMjAwMjREODA5QjIwMjBFMDA4MzgwMkNDMDA4MzgwODEKKzoxMEY5QzAwMDJDQzAwQUIwMDJDQzA4QjMwMDIwQzAwODMxMDI1MjA0OTcKKzoxMEY5RDAwMDMwMDAwMDAwMDAwMDAwMDBFODA1QTgwMENBRTAzRTgwRkEKKzoxMEY5RTAwMDFGQTQwQjc5MDBGRTAwM0Y4MjFERTAwM0U4MDBDRTQwMUIKKzoxMEY5RjAwMDNCODgyQ0U0MDNFODAxRkEwMDMyODAwQ0U4MDM3QTA0MjcKKzoxMEZBMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODExQTAwMEY4MDkzRTAwNUUKKzoxMEZBMTAwMDhGQzA4M0EwMThGODAwM0MyMDBGODgwM0UwMDBGODA4OEUKKzoxMEZBMjAwMDNFMjAwRTgwODNFMTAxRjAwMDNDMDAwRjgwMEI5MjAwMkQKKzoxMEZBMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwQTQwMEY5NDIzMjQwMkQKKzoxMEZBNDAwMDRDOTgwMzA0MDBDOTAwM0E0MDBGOTAyMzI0MDBCOTgxNjgKKzoxMEZBNTAwMDNDNDAwQzkyMDMyNDAwRjkwNTMyNDA2QzkwQzNDMjA0NzAKKzoxMEZBNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0MjQxNEI5MDBBMjU0RkIKKzoxMEZBNzAwMDA4OUIxQTI0MDI4OTAwMjI0MDI4OTAwMkE0MDBCOTkwMTEKKzoxMEZBODAwMDJFNDAyODlDODIyNTA0QjkwMDIyNDAwODk4MTJFMDAwRUMKKzoxMEZBOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEFEMDAyMzQwMDUKKzoxMEZBQTAwMDA4NTAwMjY0MDA4OTAwMkE0MDA4MTAwMjY0MDBCOTAwNkUKKzoxMEZBQjAwMDZFNDAwODkwMDIyNTAwQTkwMDIyNDAwODkxMDZDNjAwNjkKKzoxMEZBQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MTQwMEI1MTBBMTQ0MkMKKzoxMEZBRDAwMDI4NTAwMjQ0ODA4MTMwMjA0ODA4MTIwMjg0NDBCMTgwQkUKKzoxMEZBRTAwMDZDQzgwODEyMDIwNDgwQjEzNDIwNDgwODEyMDJDMjAxMTYKKzoxMEZBRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEU4NDAzMjkwQjYKKzoxMEZCMDAwMDBDQzUwMzYxNDBDMDQwM0ExNDBGODUwMzIxQjBGODUwODIKKzoxMEZCMTAwMDNFMDAwQzg1MDMyMTQwRjg0MEIwMTQwQzgwMDNFRTAxMzgKKzoxMEZCMjAwMDUwMDAwMDAwMDAwMDAwMDBCODFEQzQwNEY5MjIwRTQ4NzcKKzoxMEZCMzAwMDBGMTAxM0I0NDBGRDMwM0Y0NDRGRDEwMEU0ODRGRjAxNjcKKzoxMEZCNDAwMDNENDQwRkQxMEJFNDQwRjkzMDNFNDQwRkQxMDNFNjA0QUQKKzoxMEZCNTAwMDcwMDAwMDAwMDAwMDAwMDAzODA1RTQwMERENDAzRjUwNjgKKzoxMEZCNjAwMDBDRDAwMzJDMDBDOTAwMzY0MDBGOTAxMzI3MDRGNTAxNzgKKzoxMEZCNzAwMDM3NDAwQ0YwMDNGNjIwRjlBODMyNjgwQ0QwMDNDNjAwMTkKKzoxMEZCODAwMDcwMDAwMDAwMDAwMDAwMDAxODAwRTAwMDg4QTAyRTI4OEYKKzoxMEZCOTAwMDI4ODAwMjIwMDA4OEEwMjIwMDBCODAwQTYyODBCODAwMjIKKzoxMEZCQTAwMDIyMDAwODgwMDJFMTAwQjhFMDIyM0EwOEEwMDJDRTA0NTgKKzoxMEZCQjAwMDMwMDAwMDAwMDAwMDAwMDA0ODAwODQwMjgxMDAyRTQwNTgKKzoxMEZCQzAwMDA4MTAwQTQ0MDI4MTA4MjQ0MDBBMTAwMjQ1ODBCOTAwNDYKKzoxMEZCRDAwMDI0NDAyOTEwMDJDNDAwQjEwODI0NDQwODEwMDJDMjAxQzQKKzoxMEZCRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE0QTQwNDg5MDEyRTUwQzkKKzoxMEZCRjAwMDQ4QjIwMjY0MDA5MTAwMjI0NjBCOTAwMjY0MDBCOTAxRjEKKzoxMEZDMDAwMDI2QzAwOUIwMTJFNDAwQjEwMDI2NDAwODkwMDJDNjA0RTQKKzoxMEZDMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDA0RTQwMEM5MDAzQzQwQjcKKzoxMEZDMjAwMDBDOTAwMzY0MDBDOTAyMzY1MDBFOTMwMzI0MDBGOTkwMkYKKzoxMEZDMzAwMDM2NDgwRDk0ODNFNDA4RjkwMEI2NDAwQzk0MDNFODA0QjgKKzoxMEZDNDAwMDcwMDAwMDAwMDAwMDAwMDA2ODEwQTQwMEU5MDAzRTQwQzEKKzoxMEZDNTAwMDBGOTAxM0E0MDBFOTAyMkU2MTA1OTAwM0E0MDBGOTAwOUYKKzoxMEZDNjAwMDNBNDAwRTkwNDNFNDEwRjkwMDM4NDAyRjkwMDNDQTAwNDgKKzoxMEZDNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEQ4MDEzMjA0M0QKKzoxMEZDODAwMDBGODA0M0MwMDFDODAwQjIwMTBDODAwMzIwMDBDODQwQUYKKzoxMEZDOTAwMDMwMDA4Qzg0ODNFMDAwQzgwMDMyMDA2Qzg0MDNDQTA0MDYKKzoxMEZDQTAwMDIwMDAwMDAwMDAwMDAwMDAwODA0MjgwMEJBMDAyMzgwQTMKKzoxMEZDQjAwMDBCRUEwMkU4MDBBQTAwMjI4MDA4QTAwMjI4MDA4NjIwQTEKKzoxMEZDQzAwMDM3QTA4REU0MDJGODAwREEwMDIyODAwOEEwMDJDQTAwMDIKKzoxMEZDRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA1NkMwMEIzMDAyMEMwRDgKKzoxMEZDRTAwMDBCQjgwMjRDMDQ4MzAwMjBDMDA4QjAwMjBDMDI4MzAwNTEKKzoxMEZDRjAwMDIwNDAyODM0MDJDRTkwODMwMEEwQzAwODMwMDJDQTAwMDEKKzoxMEZEMDAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUNDMEI1ODgyMTQwMDgKKzoxMEZEMTAwMDBCNzAwMkRDODBBMzIwMjFFMDQ4MzI0MjBFOTA4RTAxNUQKKzoxMEZEMjAwMDY1NTAwOTcwMDJERTIwOTMyMTIxQzAwODcwMDJFODAwQUUKKzoxMEZEMzAwMDQwMDAwMDAwMDAwMDAwMDAyODE4MUUwMEZGODBCMUEwNTUKKzoxMEZENDAwMDBGNDgwMjdFMDA4N0EwMzNFMDI4N0EwQjFGMDBDNDgwOTIKKzoxMEZENTAwMDMxNjA4QzU4MDNGRTAwQzdDODMzRTgwQzU4MDNFQTAyMzAKKzoxMEZENjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEZGMDAzRTAwODUKKzoxMEZENzAwMDBGOTAyM0VDQTBGQjQwM0VDMDhGQjUwM0VEODBGODAwNTAKKzoxMEZEODAwMDNDNDAwRkIwMDNFODAwRkIwMjNFRDAwRjkwMDNDMjA2RDgKKzoxMEZEOTAwMDYwMDAwMDAwMDAwMDAwMDA2MDA0QkUwMEZGODAzRkUwNDMKKzoxMEZEQTAwMDBGRDkwM0ZFMjBDRkM4MzNFQThGRkMwMzNGMDBGRDgwNEMKKzoxMEZEQjAwMDNGNjAwRUU4MDNGMjAwQ0Y4MDJGRkUwQzc4MDMwMDAwQjYKKzoxMEZEQzAwMDcwMDAwMDAwMDAwMDAwMDBBODAwOUMwMEI1MDIyREMwREIKKzoxMEZERDAwMDBCNTg0MkRDODBDRjAwMjFDMTBCMzAxMjFDNDBCNDAyMTIKKzoxMEZERTAwMDJENDYwODcxMTJDODAwRTcwMDJEQzQwODcwMDM2QTA0OEMKKzoxMEZERjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MDAyRDAyMjEKKzoxMEZFMDAwMDBCNDYwMkRDMDg5NzAwMjFDOTBBMzAyMjFDMDBCNDAwMEUKKzoxMEZFMTAwMDJENDAwQTUwODJDNDAwQjcwMDJDQzgyODUwMDI0MDEwNjAKKzoxMEZFMjAwMDIwMDAwMDAwMDAwMDAwMDA0MDE0OEMxOEIzMDAyRTIwQjkKKzoxMEZFMzAwMDBCMTgwMkNGNEE4M0MyMjBDMTBCMzQyMjBDMDRCODU4REQKKzoxMEZFNDAwMDJDNDAwQjI4MDJDODAwQTMwMDJDQzAwODE0MDI0ODA0NTAKKzoxMEZFNTAwMDMwMDAwMDAwMDAwMDAwMDBBODA1QkMwMEZCMDAzRTgwNTAKKzoxMEZFNjAwMDBGQTAwMkZDMDBERkEwQjNDMDBFRjAwQjNDMDBGQkMwRjMKKzoxMEZFNzAwMDNDQTAwRUJEMDNFQzAwRkYwMDNGQzAwQzMwMDM2QTA0NDEKKzoxMEZFODAwMDYwMDAwMDAwMDAwMDAwMDBBMDEwRUMwMEY5MDAzRTAxM0UKKzoxMEZFOTAwMDhGQjE0M0VDMDBGMzAwM0VDMDRGQjAxM0VDMDBGQjAwMDkKKzoxMEZFQTAwMDNFODAwQzg0MDNFMTAwNzMwMDNFQzEwRkIyNDNFMDAwQ0EKKzoxMEZFQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTUwRkMxMEZGODAzN0MwM0YKKzoxMEZFQzAwMDBDRTAwM0ZDMjBGRjA4MzNDMDBGRjA4M0JDMDBGRjAwRjAKKzoxMEZFRDAwMDMzQzAyRTQwMDMxQzAxQ0YwMDExQzA0Q0QwMDMwMDQ0OUUKKzoxMEZFRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwNEIzMDIyMjcyQTQKKzoxMEZFRjAwMDA4QTExNkVDMDBCQjA0MjJDMDBCQjA0MkVDMDBCQTE5RkEKKzoxMEZGMDAwMEI2RDAwODlDNEEyNjgwREIwMDIyQzAwODkwMDM2MDQwREYKKzoxMEZGMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMEI5MTA2MjIwRDUKKzoxMEZGMjAwMDQ4QTAwMkVDMDBCQjAwMjJDMDBCQjAwMkVDMTBCQjAwRUEKKzoxMEZGMzAwMDY2MDgwQUE4MTIyNjEwOUIwMDJBQzAyOEIwMjYyMDAwQjYKKzoxMEZGNDAwMDQwMDAwMDAwMDAwMDAwMDAwODAwMEMwMEI5MDAyMDAwODQKKzoxMEZGNTAwMDA4MzIwMkNDMDRCMzAwMjBDMDRCMzAwMkNDMDBCMzAwMDYKKzoxMEZGNjAwMDIwMDAwODAwMDIwMTAwOTMwMDI4QzAwODMwMDY0MjExNUEKKzoxMEZGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDNkMwMEY5MDBCMjQwMEUKKzoxMEZGODAwMDBDODIwMkRDMDFGRjAwQjJDMDBCRjEwM0JDMDBGOTAwREYKKzoxMEZGOTAwMDI2NDAyRTgwMDMyMTA0Q0YwMEJCQzAwQzkwMDMwMDAzMzkKKzoxMEZGQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZEMDAzRjQwQ0MKKzoxMEZGQjAwMDBGODEwM0ZDMDBGRjAwM0ZDMDBGRjAyM0ZDMDBGQzAwOUEKKzoxMEZGQzAwMDJENDAyRkMwMDNGMDg4RkYwMDM3QzA4RkQwMDNFODAyMTgKKzoxMEZGRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkU0MEZGODAzM0MyM0EKKzoxMEZGRTAwMDBDRjgwMzdDQTBGRjkwM0ZDNDJDQjQwM0JDODBDRjQwMkUKKzoxMEZGRjAwMDM3RTAwRkYxOTM2RTQ0QkYzMDNGMjAyQ0Y4NjNGMDA0REMKKzoxMDgwMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUMwMEVCMjAyM0YwNTYKKzoxMDgwMjAwMDA4Qjg1MjNEMDBCMzAwMkVEQzA4RjQ0MjFDNDI4QjQwREQKKzoxMDgwMzAwMDIyQzgwQkY2MDM2Qzg4QkIzMDJFMDAwOEIyMDJFMDA0QTUKKzoxMDgwNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MwMEJCMDgyMEMwMDQKKzoxMDgwNTAwMDA4MzAwMjRDQTBCMzIwMjY4MDg4MzYwMkNDQTA5MzYwNjIKKzoxMDgwNjAwMEE0QzIwQTMyNDI0QzkwQjMyMDJDMEI4ODMwODJFMjAxMjkKKzoxMDgwNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwOEJCMjJBMkMwQzgKKzoxMDgwODAwMDA4QjAwMjJDMDBCQjAwMkU5MDA4QjAwMkVDMDA5QjAwNTAKKzoxMDgwOTAwMDIyQzAwQkIwMDI2QzAwQkIwMjJFMjAwOEIwMDJGMDAwMjAKKzoxMDgwQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEIxODMzMkMwMDkKKzoxMDgwQjAwMDBDMUEwMzZDMTBGQjAwMzRDMDBDQjAwM0VDMDhEQTAwOUYKKzoxMDgwQzAwMDM2QzAwRUIwMEI2QzAwRkIwMDNFMjgwQ0IwMDJEMDAwOTYKKzoxMDgwRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMwMEVEODAzRkMwMjcKKzoxMDgwRTAwMDBGRDQwM0VDMDBGRjAwM0ZDODBGQjAwMzNDMDBFRTQwOEMKKzoxMDgwRjAwMDNGQzAwRjcwMDNGQzAwRkYwMDNGODAwRkYwMDNGODAwNEIKKzoxMDgxMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMjBCMEMwODgKKzoxMDgxMTAwMDBGQjQwM0FDMDJDQjAwMzI5MDBFQjAwMzZDMDBFQjAwNDYKKzoxMDgxMjAwMDNBQzAwQ0IwMDJFQzAwRkIwMDNFOTEwRkIwMDM5MDAwOEYKKzoxMDgxMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEJCODAyM0Q3RjEKKzoxMDgxNDAwMDBCOTAwMjNDMTQ4QjAwNkEwODI4RjAwMEJDMDA4MzAwRUUKKzoxMDgxNTAwMEJFQzA4OEYwMTMyQzAwRUYwMDJFODAwQkIwMDdCMjAwRDkKKzoxMDgxNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIzNDAyMEQwQkIKKzoxMDgxNzAwMDBCMjgwMjhDMDA4MzAxMjBDMDFBQjgwMDZDMTBBMTAwRUIKKzoxMDgxODAwMDY4QzAyQTMwMDI4QzAwQjMwMjJFMDA0QjMwMDJGODA0ODMKKzoxMDgxOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMEI3QTAyMUUwRjgKKzoxMDgxQTAwMDBCRUNDMjFFMDQ4NzgwMjlFNDA4Nzk4MjlFNDBBRjkwQzAKKzoxMDgxQjAwMDI5RTAwQTM4MDAxRTAwQTc5MDJEMjQwQjc4MDI4ODAwQzEKKzoxMDgxQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEM1MEZCMDkzMEMwQ0YKKzoxMDgxRDAwMDBGMjAwMjhDNDBDMzAwMjBDMDBBMzgwMzRDNDRFMTAwNDkKKzoxMDgxRTAwMEFBQzAwRTMxNDM4RTAwRjMwMDNDMDAwRjMwMDNEMjAyRDAKKzoxMDgxRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDREQkMwMEZGMjAzRkQwMDgKKzoxMDgyMDAwMDRGNzAwM0ZDMDBGRjAwM0RDMDBGRjM0M0ZDNDBENzAwNUMKKzoxMDgyMTAwMEJGQzAwREY0QzNGQzQwRkYwMDNGNDAwRkYwMDNEMDA2ODkKKzoxMDgyMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwMEZCMDAzMkQwNTgKKzoxMDgyMzAwMDBEOTAwMUVEQzBGQjAwM0VDMDFGQkEwM0FDQzBDODAwRUEKKzoxMDgyNDAwMDMyRTA4REI0NDNFQzAwRkIwMDM2QTAwQ0IwMDM2QTAwQjIKKzoxMDgyNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEI3MDAyMUM4MTkKKzoxMDgyNjAwMDA4NjAwMkRDMjBCNzAwMkRDMDBGNzRBMjFDMjhENjAwQzUKKzoxMDgyNzAwMDM1QzAwODcyMDI1QzA4Qjc0NEExODA0ODcwMDIxMjAwNDEKKzoxMDgyODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3ODAyMEU0RjUKKzoxMDgyOTAwMDA5NzgyNkRFMDBCNzgwMkRFMjBBNzAxMjhDODg4MTgwNzIKKzoxMDgyQTAwMDIxRTAwOTc4MDJERTAwQjNBMDI1QTAyODc4MDI3MDA0M0UKKzoxMDgyQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMUJCODAyMEMwNUEKKzoxMDgyQzAwMDA4MzA0MkVDMDBCMzAwMkNDMDBBMzAyMjBDMDA5MzAwQUUKKzoxMDgyRDAwMDI0QzEwODMwMDJDQzAwQjMwMDIwRTAwOEIwMDIxMjA0MzAKKzoxMDgyRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZBMDhCMjgwODUKKzoxMDgyRjAwMDBERTIwM0U4MDBGQTAwM0Y4MDBBQTAwM0E4MDBDRTUwNzgKKzoxMDgzMDAwMDMyODAwNUEwMDNFODAwRkEwMDM3QTgwQ0EwMDM3QTA0MjUKKzoxMDgzMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwNjAwOEY4MDAzQzAwMTkKKzoxMDgzMjAwMDBGODgwMUUwMDBGODA0M0MwMDRGMDAxM0MwMDBGODAwODMKKzoxMDgzMzAwMDNFMDAwRjgwMDM2MDAwRjgwMjNFMDEwRjgwMDNEMjAwNzAKKzoxMDgzNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEY5OTAxMjQwMjYKKzoxMDgzNTAwMDBDOTAwM0E0MDBDOTAwM0U3MDBFOTQzMzI0MDhDOTAwOTkKKzoxMDgzNjAwMDJBNDAwQjkwMDNFNDAwRjkwMDNBNDAwRjkwMDMwMjA0MDYKKzoxMDgzNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5NDIyMjYwNjgKKzoxMDgzODAwMDA4MTAwMjI0MDA4OTAzMkU0MDA4OTAwMkE0MDE4MTA0RjEKKzoxMDgzOTAwMDNFNDAwQjkwMDJFNDAwQjkwMjIyNDAwRTkwMDIyMDAwMDEKKzoxMDgzQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5NDAyQTRBMEYKKzoxMDgzQjAwMDA4OTEwMkE0MDA4OTAwMkU0MDFBOTAwQTI0MDQ4OTAwMjIKKzoxMDgzQzAwMDJBNDAwQjkwMDJFNDAwQjEwMDJBNDAwQjkwMDIwNjAwMDQKKzoxMDgzRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIxMDFBODQ4QUIKKzoxMDgzRTAwMDg4OTAwMjA0ODA4MTQwMkM1MDE4MTQwQTg0MTA4OTQwMUYKKzoxMDgzRjAwMDJDNDAwQjEwMDJDNDAwMzEyMDIwNDAwQTEwMEEwMjAxNTgKKzoxMDg0MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEYwNTAzQTAwOEMKKzoxMDg0MTAwMDJDQTAwMkExNDJDODAwM0UwMERFMDAyMzIxNDI4ODAwQjkKKzoxMDg0MjAwMDM4MTQwRjg1MDNFMTQwRjg1MDM4MTQwRjA1MDMyRTAxNkUKKzoxMDg0MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQwOEZEMDAzNjQ0RDQKKzoxMDg0NDAwMDBGRDAwMzY0NDBGOTAwM0Q1MDBGOTQwM0U1MDA3RDQwRDgKKzoxMDg0NTAwMDNFNDAwRjk0MDNFNDAwRjkxMDNGNDAwRTkwMDNFNjA0MDEKKzoxMDg0NjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTQwMEZENDAzMzY4QzMKKzoxMDg0NzAwMDBDRDAwM0U3ODFGOTAwMzM3ODBERDgxMzI2QTBDREEwRTYKKzoxMDg0ODAwMDMyNDAwRDlCMDMyNDAwRjlBMDNDNDQyQzkwMDc4NjAwNDkKKzoxMDg0OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwMEI4QTBBMjEwM0EKKzoxMDg0QTAwMDE4ODAwMzgyODRCODgwMzYyQzJFMEYwMkEzQTBEOEUwNTcKKzoxMDg0QjAwMDM2MjI4QjA4MDM0MkEwRjhFMDJFMjgwODg4MDJDRTA0NUEKKzoxMDg0QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDBBMDUwMEEKKzoxMDg0RDAwMDI4MzAwMkM1ODBCMTA4MjA0MDA5MTBBMjQ0MDg4MTQ4MTQKKzoxMDg0RTAwMDIwNDAwQjE0MDIwNDgwQjEzODJDNDgwODEyODI4MjAxMEIKKzoxMDg0RjAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTQwMEIxMDAyMjQwMkMKKzoxMDg1MDAwMDA4OTIwMkU0MDBCOTAyMjY1ODRBOTAwMkU0MDg5OTQwMTEKKzoxMDg1MTAwMDI2NDAwQjkwMDI2NDA4QjkwMTJDNDgwODkwMTJDNjA0NEEKKzoxMDg1MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5ODAzMjQwNjcKKzoxMDg1MzAwMDA4OTg4M0U0MDRCOTAxMzA0MDBEOTAwQjY0MDJDOTAwMkYKKzoxMDg1NDAwMDMyNDAwRjkwMDMyNDAwRjkwMDFFNTgwQzkwMDNBODA0MzkKKzoxMDg1NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MjAzQzQwNDkKKzoxMDg1NjAwMDBGOTgwM0E0MDBCOTAwM0U0MjhFMTA0Qjg0MDRGOTAwMUEKKzoxMDg1NzAwMDNFNDA4RjkwMDNFNDAwRTkwMDNFNDAwRjkwMDNDQTAwQTQKKzoxMDg1ODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEQ4MDAzMjA4QTEKKzoxMDg1OTAwMDBGODQ4M0EwMDRDODA0M0UwMDgzODAwMTIwMDBDMDAwMzMKKzoxMDg1QTAwMDMyMDAwRjAwMDNBMDAwQzgwMDMyMTA0RTgwMTNDQTA0MkUKKzoxMDg1QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhFOTBBMzgwMDUKKzoxMDg1QzAwMDBCRTQwMjI4MDBDQTAwMkY4MDRBQTAxM0E4MDBBQTAwQ0EKKzoxMDg1RDAwMDM2ODEwQkEwMDIyODAwOEEwMDIyODAwOEEwMDM4QTAwQUUKKzoxMDg1RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzQzAyMEQwOEYKKzoxMDg1RjAwMDBCMzQwMjhDMDA4QjAwMkNGMDhCMTgwMjRDMDA4MzAwOTMKKzoxMDg2MDAwMDYwQzAwQjMwMDI4QzAyODMwMDI4QzEwQTMwMDJDQTAwMEQKKzoxMDg2MTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwMEI0MEI2OUMwNjMKKzoxMDg2MjAwMDA5NTgwNjFFODA5NzEwMkZDMjQ4NzA4MjlDODBBNzA4QTgKKzoxMDg2MzAwMDI1Q0MwQjcwMDIxRTgxODdBMkFCQzQwODczMDJFODAwMzAKKzoxMDg2NDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0UxMERDODQyMUUwOEIKKzoxMDg2NTAwMDBGNzg0MjlGMDJDNzg4M0RFMDJGNzEwMzRFMDBDRjgwMDQKKzoxMDg2NjAwMDIxRTIwRjc4ODM5RTQ5Q0ZEMDM5RTgwRTc4MDNFQTAyRTEKKzoxMDg2NzAwMDAwMDAwMDAwMDAwMDAwMDAwODREQUM0MENBMDAzNjAwQjkKKzoxMDg2ODAwMDhGMzAyM0VDQThFQjQwM0NDMDBGOTY0M0VEODBGQjAwRkQKKzoxMDg2OTAwMDNFRDg4RkIxNDNFRDgwRkIyMDM2Q0EwRkIwQTM4MjA2Q0YKKzoxMDg2QTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkU4MEZDODAzMUUwNUEKKzoxMDg2QjAwMDA1QUExMEZFNDRGRjkwM0ZFMUNGRjkxNzNGMjBENzgwNzUKKzoxMDg2QzAwMDhCRTQwRkY4MDMzRTMwRkY4MDM3RTAwRkY4MDA0MDAwRTYKKzoxMDg2RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEJEMTAyMUMwMjcKKzoxMDg2RTAwMDA4NEEwMkRDQzBCNzAwMkRDMjBDRDMwMjFDODA4NzAwRjAKKzoxMDg2RjAwMDI5QzA0QjcyMDIxQzAwQjcwMTIxQzAwQkYwMTIyQTA0RTIKKzoxMDg3MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUM5MDM0MDAyMTgwMDgKKzoxMDg3MTAwMDA5NzAwMDVDMENCNzAwMkRDNDA4NTAxQTBDMDA5NzAwQkIKKzoxMDg3MjAwMDIxQzA0QjMwMDIxQzAwQjcwMDI1QzAwQjcwMDI0MDAwNzYKKzoxMDg3MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMEIwMDA2MDAwMDkKKzoxMDg3NDAwMDA4M0UwMkNDMDBCMzAyMENFMDJCQjAwMjBDMDA5MzAwRjgKKzoxMDg3NTAwMDI4QzAwQkIwMDIyQzEwQjMwMDIwRDYwMzMwMDIwODA0NEUKKzoxMDg3NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEZCMDBCMjAwQjMKKzoxMDg3NzAwMDA1QkUwMzdDMDBGRjAwM0UyMDBDQjAwMzNDMDBEOTgwMDYKKzoxMDg3ODAwMDMzQzA4QkYwMDMzQzAwRkYwMDM3RTAwRkYwMDM2QTA0QjYKKzoxMDg3OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDQzRTAwRDAKKzoxMDg3QTAwMDBGQTQyM0NDMDBGQjAwM0U4MTA4OTAwM0VDMDBFOTE0RTkKKzoxMDg3QjAwMDNFQzAwRkIwMDNFQzEwRkIwMDNFQzAwRkIwMDNFMDAwNjIKKzoxMDg3QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZGMDAzNzgwQjYKKzoxMDg3RDAwMDBGRkEwM0ZDMDBDRjAwM0Y5MDA2REMyMzNDMDBGRDEwQTUKKzoxMDg3RTAwMDMzQzAwRkYwMEIzQzAwNDMwMDMzQzAwRkYwMDNDMDQ0MTQKKzoxMDg3RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTAwNkMwOUJCMTkyMjMyMkIKKzoxMDg4MDAwMDBCQkUwMzZDMDA4QjAwMkM5MDBEQjgwMkFDMDBCMTAwQzUKKzoxMDg4MTAwMEYyQzAwQkIwMTJBQzAwOEIwMDIyQzAwQkIwMDNBMDQwMjIKKzoxMDg4MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMxMEIzMDAyNjIwN0UKKzoxMDg4MzAwMDBCOTAxMkVDMDE4QjAwMkFDMjBBOTAwMjJDMDBCQjAwQTQKKzoxMDg4NDAwMEEyQzAwQkIwMDIyQzAwQUIwMDJBQzAwQkIwMDJFMDAwQUIKKzoxMDg4NTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMUIzMDAyMDAwRUMKKzoxMDg4NjAwMDBCMDAwMjhDMDA4MzAwMkVDMDBCMzQwMjhDMDBCQjAwNzYKKzoxMDg4NzAwMDIwQzAwQjMwMDIwRDAwQTMwMEEwQzAwQjMwMDI4MjAxMEIKKzoxMDg4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEJCMDQzNjgwRkEKKzoxMDg4OTAwMDBGQjIwMkZDMDJDRjAyMzhDMDBFRjAwMzNDMDBGQjAwMTYKKzoxMDg4QTAwMDIzQzAwRkYwMDMzRDAyRUYwMDMzQzAwRkYwNDNDMDAzQkQKKzoxMDg4QjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAzRjAwNzEKKzoxMDg4QzAwMDBGRjQyMzdDMDBGRjAwM0ZDMDBERDAwM0ZDMDBGRjAwMkQKKzoxMDg4RDAwMDNCQzAwRkYwMDNGQzg4REYwMDNGQzAwRkYwMDNBODA2ODkKKzoxMDg4RTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjA1MENFMTIzM0QwMzAKKzoxMDg4RjAwMDRDODY4MzMwODA1RjY4MzNDNDBGRjM4MzNDQzBDQzM4MzAKKzoxMDg5MDAwMEIzMDgwQ0M2MDNGMUEwRkYwMDMzMjQwQ0MyMDNGMDAwMkYKKzoxMDg5MTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUM4MEQyMjAyM0Q4RkUKKzoxMDg5MjAwMDBEOTYwMjg4NjBBRjQwMjNEQzBCRjYwMjNDQzI4ODYwRTMKKzoxMDg5MzAwMDIyNTIwODkxMjJFMTAwQjcyNEEyNDg4QTg0ODI2MDA0NkUKKzoxMDg5NDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQwMDgxMDBFMEM0ODEKKzoxMDg5NTAwMDBBMDAwMjA0ODBBMzIwQThDMDFCMzAwQTBDMDBBMDAwNUIKKzoxMDg5NjAwMDI4MEMwOTAyMDJDNDgwQjMxQzIyMDgxOTAzMDJFMjExNzgKKzoxMDg5NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTQwMDk5ODA2MkMwRDMKKzoxMDg5ODAwMDBCQTAzMkE0NTFBQjAwMkFDMDhCQjAwMDBDMDBBOUMwRDAKKzoxMDg5OTAwMDJBMjEwOEI4MjJFMjAwQkIwMDIyODQxQkE4NDI3MDA0RUUKKzoxMDg5QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTIwMENCQzkzMkMwQUEKKzoxMDg5QjAwMDBFOEIxMzIyMTBEQjAxMzJDMDBGQjAwQjJDMDA2ODgxMkMKKzoxMDg5QzAwMDNBMjIyQzg4MjNFMzAwRkIwMDMwMzA4RDlDODNEMDA0QjYKKzoxMDg5RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkE0MEY3MDQzRUMyNTEKKzoxMDg5RTAwMDBERDgyM0Q4MDA3QjAwMzdDMDBGNzAzM0ZDMTBEMjAwQTUKKzoxMDg5RjAwMDM1QzA4RkMwMDNGNDAwRjcwMjNGRTAwRTgwMDNGODAwOUIKKzoxMDhBMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwODEyMEM4MDgzMEMwNTUKKzoxMDhBMTAwMDBDMDA4MzI0NDBDMzg5M0FDMDBFQjAwQjJDMDhDOTQ4MEYKKzoxMDhBMjAwMDcyNTQwRjkxMDNFRDAyRUI4QTNBNjI4QzgwMEIxMDA0QjIKKzoxMDhBMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkIwNDg4NDBBM0MyRUQKKzoxMDhBNDAwMDAyQUUxMjI3NDI4RjQ0MjNDMjBCRjQwMjNEMDAwQTQwQkIKKzoxMDhBNTAwMDIyRTAwQkI1MDJFQzIwOEY0NEEyNDA4REJEMjMzMjAwRjIKKzoxMDhBNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDk0MDgzODEyNEMxNkYKKzoxMDhBNzAwMDA4MjgwMjAxMDA5MzAwQTBFODBBMzA4MjhGNjBCMzkwQkEKKzoxMDhBODAwMDYwQjgwQjI4MTI0QTAwOTMwMDIwOTAwOTIwMDI3ODAwNTkKKzoxMDhBOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMjg3QTgyNUUwMTEKKzoxMDhBQTAwMDBBN0IwMjFBMDQ4NzgwMjFFNDBCNzg4MjhFMDI5NjkxNTkKKzoxMDhBQjAwMDIxMjEwQjY5NDBEQjQwOTc5MjIzQTA4OTU4ODIwODAwNEUKKzoxMDhBQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MjU4MkMzMDAzNEMwQjgKKzoxMDhBRDAwMDBDOUI0MzA4RDBEMzIwMzhDMDBFQjAwMzhDMDBCMzAwRTkKKzoxMDhBRTAwMDIwODAwNzEwMDNFMDAwRDMxMDM4MTgwRDMwMDM1MjAyMjUKKzoxMDhBRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjQwMDdGMjAxQkQwREIKKzoxMDhCMDAwMDBGRjEwM0Y4NDBFRjAwM0ZDMDBGQjQwMzdDMjBDRjA0MDcKKzoxMDhCMTAwMEJGNDAwRkYwMDNFNDEwRUYxODNEQzAwRkUwMDNEMDA2OTQKKzoxMDhCMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMEUzMDBCMkM0RjcKKzoxMDhCMzAwMDBDQTAwMzI0MDBEQjY4MzJDODBDQjQwM0VDODBDODgwQUUKKzoxMDhCNDAwMEI2RTAwQ0EwMDMyRTAwQ0JFMEIyNjAwQ0I4MEIyQTAwRkMKKzoxMDhCNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMjg3MDBBMUM4QkUKKzoxMDhCNjAwMDA4NzAwMjFDMDg5NzAyMjFENDA4NzQwMkRDQzAwNzAwQjgKKzoxMDhCNzAwMDIxQzA4ODcwMDIxODAwODMwODIxQzAwODUwMDIxMjA0MjYKKzoxMDhCODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUyMEFEODAyOUUwRDEKKzoxMDhCOTAwMDA4NTgwMjFFMDA5N0IwMjFFODA4NzgwMkRFMTAxNTgwMDAKKzoxMDhCQTAwMDIxQTEwODQ4MDI1RTAwODdBNDY1QTAwODc4MDIzMDAwNzEKKzoxMDhCQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0YxMDgxNzBBOEMwMDEKKzoxMDhCQzAwMDM4MzAwQTBEMDA5MzAwQTBDMTI4MzAwMkNDMDI4Mzg4RkYKKzoxMDhCRDAwMDIwRTAzODM0MEE0RDcyODMwMDI0RTgyODM0ODIxMjA0REQKKzoxMDhCRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkE0MEVFQzBCQTgwNzYKKzoxMDhCRjAwMDBDRTAwMzM5MTBEQTAwMzI4MDBDQTAwM0U4MDBERUM4NzQKKzoxMDhDMDAwMDMzQTAwQ0UwMDM3QjAwQ0EwMDM3QjEwQ0U0MjMzQTA0MjQKKzoxMDhDMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwQzEwMEY4MDAzNjAwQkQKKzoxMDhDMjAwMDBGODAwM0MwMjAzODAwM0UwMDBGMDAwM0UwMDBGODAyNzAKKzoxMDhDMzAwMDNBMjQwRjgwODNBMDAxRjgwNDNBMDQwRDgwMTNEMjAwNzcKKzoxMDhDNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQ0NEMxMDAzMjQwODEKKzoxMDhDNTAwMDBDOTAzMjI0MENDMTA2Mzg0MDBEOTAwOTA0MDBEOTAwNTQKKzoxMDhDNjAwMDNFNDAwRjE4MDMyNDAwRjkwMTNFNDAwRjkwMDNDMjA0NTgKKzoxMDhDNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNjg5MDAyQTUwRDMKKzoxMDhDODAwMDA4OTQwQTI0MDA4OTQyMjI1MDBBOTAxMjI1MDA4OTAwODMKKzoxMDhDOTAwMDJFNTAwQjlDMEEyNTEwQjkwMDJFNTAwQjkwMDJFMDAwQkMKKzoxMDhDQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQyMDg5MDAyMDQyNjgKKzoxMDhDQjAwMDA4MTBDMkFDMTA4OTA4MkE0MjA5OTAwMjI0MjA5OTAwQTkKKzoxMDhDQzAwMDJFNDIwQUIxODIyQzIwQjkwMDZFNDIwQjkwMDJDNjAwREYKKzoxMDhDRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDgzMDAyODQ4NTEKKzoxMDhDRTAwMDA4MTI2MjhDODA4MTAwMjA0MDAyMTAwMjg0ODA4MTIwNjIKKzoxMDhDRjAwMDJDNDkwQjEyMDYwNDg0QjMwMjZDNDAwQjEyMDJDMjAxMTEKKzoxMDhEMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENDFFMEM4NzgzMDE0RjkKKzoxMDhEMTAwMDRDMDUxM0ExNDJDMDc4MzgxRTBEODc4MzAxNDBEMDUwMDYKKzoxMDhEMjAwMDNDMTQwRTA1MDMwMTQwRjg3ODNDMTQwRjA1MDNFRTAzRDQKKzoxMDhEMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERkMwMEZGMDAwRTQ0RTEKKzoxMDhENDAwMDJGRjEwMzc0NDBGOTAwM0U0MDBEOTAwMzY0NDBGRDEwODQKKzoxMDhENTAwMDNGNDQwRkQxMDFGNDQwRjkwMTNGQzAwRkQxMDNFNjA2QjMKKzoxMDhENjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTYyMkU5ODhCMjQwMEIKKzoxMDhENzAwMDBGOTAwMzI0MTZDOThDMzY3QjhGOUM4M0E3OTBDOTAwNjMKKzoxMDhEODAwMDNFNTAwNDk0MTMyNDUwQzlFMDNFNTAwRjkwMDMwNjAwNTcKKzoxMDhEOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTI4MDg4QTAyMjI4NDcKKzoxMDhEQTAwMDBCOEEwMjJBODA4OEE0MjIzMDA4OEUwQTIyMDI4OEEwMTgKKzoxMDhEQjAwMDJFMjg4OEFBMTIyMjkwODhGNDJFMjAwQkM4MDIwRTA0QjYKKzoxMDhEQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1RDQyMEE1MDgyMTQyNjIKKzoxMDhERDAwMDBCNTA4MjE0MzE4NTA4MjU0MDBBNTAyMjk0NDA4NTA4QTIKKzoxMDhERTAwMDZENDAwODUwMDI1NDAyOTUwMDJENDgwQjUwODI0MjAxRkMKKzoxMDhERjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1ODQwMDhEMTAyMzQwNTIKKzoxMDhFMDAwMDBCRDAwMDM0MDE4RDAwMjM0MTU4RDAwMjM0MDA4RDA4NkUKKzoxMDhFMTAwMDJGNTAwOEQyMDI3NDgwOUQwMDJGNDgwQkRDMDI0NjA0QkMKKzoxMDhFMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTc0MEU5QzAzMjQwRUIKKzoxMDhFMzAwMDBGOTAwOTI2MDBDOTA0MzY0MDFGOTAyM0E0MDhDOTQwOUEKKzoxMDhFNDAwMDNFNDAwQzk0MEI2NDIwRDkwMjNFNDEwRjk0MDM2ODA0MDkKKzoxMDhFNTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5ODAzRTQwREUKKzoxMDhFNjAwMDBGMTQwM0M1MDhGOTAwM0U0MDFGOTAyM0U0MDBGOTAwRTkKKzoxMDhFNzAwMDNDNDBBRjk4MDM4NjAwRTkwMDNFNDAwRjEwMEI4QTAwOEIKKzoxMDhFODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQjAwMERDNDBCMzAwQ0IKKzoxMDhFOTAwMDBGQzAwMzMxMDJDNDA0QjEwMDNDNDAwMzEwMDBGQzQwODkKKzoxMDhFQTAwMDMzMDAwQ0M0MDNCMTAwQ0MwMEIzMDAwQ0M0MDNDQTA0RUIKKzoxMDhFQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhBODAyMkEwNzEKKzoxMDhFQzAwMDBCQTAwMjJBMDA4QTg0MjJBMTA4QTAwMjI4MDhCQTAxNjUKKzoxMDhFRDAwMDIyODAwOEEwMkIyODAwOEE4MDJBODAwOEUwMDJDQTAwOEQKKzoxMDhFRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMjlCODEyMEUwQUIKKzoxMDhFRjAwMDhCMzgwNkNFMDA5MzgwMjBDMDA4MzgwMjBDMDBCMzgwNjcKKzoxMDhGMDAwMDZDRTAwQUIwMDI0QzAwOTMwMDIwRTAwODMwMDJDQTAwNzYKKzoxMDhGMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTAwNDgwMDgyMTAyQTEKKzoxMDhGMjAwMDRCNDQwNkQwMjA5MDA4MjEwMjgwNDQwMjEwMDBCNEMwQjcKKzoxMDhGMzAwMDJEMTA0ODQwMDIwMDAwOTQ4OTI5MzAwODQwMDJFODAwQzIKKzoxMDhGNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MzIwMEQ2ODAzMUEwRDgKKzoxMDhGNTAwMDBGRTgwQkNBMDBENjgwMjNBMDA0RjgwQjFBMDBGRjgwOEMKKzoxMDhGNjAwMEJGQTAyRUM4MTNEQTAyNUU4MDczQTAyQzc4MDNFQTAyMzkKKzoxMDhGNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEY5MDAzRTQwQTkKKzoxMDhGODAwMDBGOTAwMzI0MDBFOTAwM0U0MDBFODAwM0U0MDBGODAwNDcKKzoxMDhGOTAwMDMyNDAwRkIwMDNFNDAxRTkwNDM2NDAwRjgwMDNDMjA2RkIKKzoxMDhGQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMENEODAzMzYwN0UKKzoxMDhGQjAwMDBDRDg0MzM2MDBDRDgwMzM2MDBDRDkyM0JFMDA0RDgwRTEKKzoxMDhGQzAwMDMzNjAwOEY4MEIzRTAwRkQ4NDNGNjAwRkY5MDNDMDAwREEKKzoxMDhGRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTAwNERFMDAyMzgwNTMKKzoxMDhGRTAwMDA4NjAwMkI4MjA4RTA0MjM4MDA4NjgwMjEwMDA4RTIwREEKKzoxMDhGRjAwMDIzODIwODQwMDIxMjAwRjYwMDJEODAwQjQxQTBFQTA0RjMKKzoxMDkwMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTAwMDg0MDAyMTAwQ0IKKzoxMDkwMTAwMDA4NDEwMjUwNDA5NDAwMjEwMDBBNTIwMkQ4MDA4NTAyMDMKKzoxMDkwMjAwMDI1MDQwODQwMjIxODA4QjQwMDJEMTAwQjc4NDBDMDAwMTkKKzoxMDkwMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0RUUyMjkzMDAyMEMwNTkKKzoxMDkwNDAwMDA4MzgwMkVDMDA5MzAwMjBDMTJBMjAwMjY0MDI4MjEwM0EKKzoxMDkwNTAwMDI0RjAwQTNDNDIyNDI4QjMwMDJDRTAwQjg4ODJDODA0ODgKKzoxMDkwNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUQwMENCMDBCMkMwMjkKKzoxMDkwNzAwMEFDQkUwMzZFMDJEQjAwQjJDMDFFQTAwM0U0MDBDQTExNDYKKzoxMDkwODAwMEI2RDBBQ0JDMDMyNDAwRkIwMDNFQzBDRjg0MDNFQTA0OEUKKzoxMDkwOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTA0MEY4MDAzQzAwOUMKKzoxMDkwQTAwMDJGODIwM0EwMDBFODAwM0UwMDFEOTAxM0E4MDBGOTAwRTUKKzoxMDkwQjAwMDNBMDA4MTgzNDNFODAwRTgwMzNFMDQwRkIwMDNFMDAwNzgKKzoxMDkwQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRTAwMEQ2MDAzNzgwRjIKKzoxMDkwRDAwMDBDQTAwM0Y4MDBDRTAwMzM4MDBEQTAxMzIwMDhDRTAwQjIKKzoxMDkwRTAwMDMzODIwQzQwNzMzMDE4Q0UwMDFGODA0RkMxNDMwMDQ0QzAKKzoxMDkwRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0N0MwMDhEMDAyMzQwNEYKKzoxMDkxMDAwMDBBRDAwMkY0MDA4RDAwMjM0MDA4RDQ4MDNFNDI4RDQwRjYKKzoxMDkxMTAwMDIzNDAwOEYwMDIzRTQwOEQwMDBGNDAwQkY0MDIyMDQwMzcKKzoxMDkxMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDk5MDBBNjQwRkYKKzoxMDkxMzAwMDA4OTAwNkU0MDA5MTAwMjA0MDg4MDAwMjI0MDg4MDQwNDYKKzoxMDkxNDAwMDIwNDAwQUIwMDIyNDAwODkwMDBFNDAwQjg0MDIyMDAwNTcKKzoxMDkxNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMDgyMDAyMDgwQTEKKzoxMDkxNjAwMDBBMjEwNkM4MDE4MjAwMjA4MDA4MzI4MjA4MDg4MzAwOTQKKzoxMDkxNzAwMDYwODAwQTAwMTIwODgwODIwMDJDODAwQjMwMEEwMjAxRjUKKzoxMDkxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjAwMEQ4MDAzNjAwNjQKKzoxMDkxOTAwMDBDODQyM0UwMDBDODAwMzIwMDBEODIwQjIwMDJDODAwQkUKKzoxMDkxQTAwMDMyMDAwRTAwMDMyMDAyQzgwMDNFMDAwRjgwMDMwMDAzQkYKKzoxMDkxQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEJGMDAzRkMwRTgKKzoxMDkxQzAwMDBGRjAwM0ZDMDBGRjAwQkZDMDhGQjAwM0ZDMDhGRjAyREMKKzoxMDkxRDAwMDNGQzAwREYwMDNFRDAwRkYwMjNGQzAwRkYwMDNFODA2QjMKKzoxMDkxRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDAxRjA4Q0ZGMDAzRDYwMzYKKzoxMDkxRjAwMDJDQjI4MzdDOTBERjM4MzFFMDBGRjgwMzNDMDBGRjIwNzUKKzoxMDkyMDAwMDNGQzQwRUY0MDM3QzAwRjQ4MDMzMDAwREY4MDNGMDAwM0IKKzoxMDkyMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTEyMEJCNjIyRTQyQzAKKzoxMDkyMjAwMDI4RjQ0MjNFNDA4RjQ0MjJFMDBCQjA4MzdGNDRCRkMxMEMKKzoxMDkyMzAwMDJEREMyQUY2MDIzRjQ1Qjg4MDIyNjE4OEI4MDJFMDA0OUUKKzoxMDkyNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzU4MEIyMTgyRUM4NUMKKzoxMDkyNTAwMDI5MzAzMjBDMDhCMzIwMjBDMDRCOTIwMjBDMDBCMzQwREUKKzoxMDkyNjAwMDJDQzA4OTM0MTI0QzAwQjAwMDI0QzE0OTMwMDJFMjAxMDQKKzoxMDkyNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDExQTQwMEJBMEMyRUUwMzUKKzoxMDkyODAwMEE5QjAwNjJDMDA4QjAwQTJDMDBCOTAwMDZDMDBCQjAwQTQKKzoxMDkyOTAwMDJFQzAwQjMwMDI2QzAwQkE4MDI2RjAwOEIwMDJGMDA0MzkKKzoxMDkyQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDExRUUwMEZCQzQzRTc4QUEKKzoxMDkyQjAwMDJEQjAwMzZDMDhGQjAwMzJDMDhCMjQ4MzJDMDBGQjAwMTQKKzoxMDkyQzAwMDNFQzA4RkIwMEI2QzA4QjJFMDE2NjA4REIwMjNEMDA0QTYKKzoxMDkyRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkU5OEZGNDAzRkMwQTkKKzoxMDkyRTAwMDBFNzAwM0RDMDBGRjAwM0ZDMDBGRTAwM0ZDMDBGRjAwMzYKKzoxMDkyRjAwMDNGQzAwRUYwMDNBQzAwRkUwMEI5QzAwRkYwMDNGODAwNTEKKzoxMDkzMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUQwMEZBNDAzRUQwQjgKKzoxMDkzMTAwMDBFQjIwM0VDMDBDMzAwM0VDMDBDQTAwMzJDMDFGQjAwMDYKKzoxMDkzMjAwMDNDQzAwRUI4MDNFQzAwREEwMDNBRDA0RkIwMjNEMDA0QjIKKzoxMDkzMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEJBMDAyQ0MwNkUKKzoxMDkzNDAwMDA4RjQwN0JDMTRERjAwM0VDMDFBQTA1MkJDMDBCRjA0RTIKKzoxMDkzNTAwMDNGQzA4QUYwMDNCQzAwRkEwMDIyQzgwRkIwMDNGMjAwM0QKKzoxMDkzNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDgwMUIxMDA2Q0MyQjAKKzoxMDkzNzAwMDBBMzA0MkNDMDA4MzA1MkNDMDA4MzAwMjhDMDFCMzA0QjMKKzoxMDkzODAwMDJDQzAwQTMwMjI4QzAwODA4MDI4QzAwQjMwMjJGODAwQ0MKKzoxMDkzOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwOEI3ODA2RkUwQjAKKzoxMDkzQTAwMDE4NzgwMjhFNDBCNzgwMkRFMDBBNzgwMjlFMDBCNzgwQzAKKzoxMDkzQjAwMDI5RTEwQTc4MDI5RTAxQkM4MDI5RTQwQjc4MDJDODAwRUEKKzoxMDkzQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDk0MEYxMjAzQ0M0QjMKKzoxMDkzRDAwMDBFMzkwMkNDMDBDMzAwMkNDNDA4OTIwMzhDODhCMzEwNTEKKzoxMDkzRTAwMDJDQzQwRUIwMDc4QzAwQzIwODM4QzAwRjMwNDNEMjAyMjQKKzoxMDkzRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMxMEZDMDA3RkMwMDkKKzoxMDk0MDAwMDBGRjA4M0ZDMjFERjA4M0JDMDhGOTAwMUZDMjFGRjBDOTMKKzoxMDk0MTAwMDNGQzIwRkYxMDNFQzAwRUYwMDc3QzAxRUYwMDM5MDA2OEYKKzoxMDk0MjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMUY5MDAzMkMwNUIKKzoxMDk0MzAwMDBGQjIwM0VFOTBEQkUxM0FDMDREMzgxMzJEMzBGQjAwNDQKKzoxMDk0NDAwMDNFRTA0RkJBNDMyQzQwRkEwMDNGQzA4Q0IwMDNFQTAwMjQKKzoxMDk0NTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEIxMDAyMUMwMTUKKzoxMDk0NjAwMDBCNzEwMkNDMjBBNzI4MjFDMDBCNzAxMzVDMDhCNzEwMjkKKzoxMDk0NzAwMDJEQzQ0QjM0ODMxQ0MxQjcwMjJEQzAxQTcwMDJEMjA0MTQKKzoxMDk0ODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUEyMEI0QzQyNUEyQzMKKzoxMDk0OTAwMDBCNzgwNkRFMDA4MzgwMjlFMDFCRjgwMjVFODBBN0EwMUYKKzoxMDk0QTAwMDJEQzgwQTcyMDIxRTAwQTY4MDI4RTAwODc4MDJGMDAwOEIKKzoxMDk0QjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0RUQwMEIzNDAyNEMzNjkKKzoxMDk0QzAwMDBCMzA0MkNDMDBBMzAwMjBDMDFCMzQwMjRDMDBCMzAwODAKKzoxMDk0RDAwMDJDQzA0QjMwMDIwQzAwQjM4ODJDRDQwQTMwMDJEMjA0Q0EKKzoxMDk0RTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QjgwMEZFNDBCN0EwMDIKKzoxMDk0RjAwMDBGQTAwM0U4MDBEQTAwM0E4MDBGRTIwMzY4MDBGQTAwRTgKKzoxMDk1MDAwMDNFODAwRkEwMEIyODAwRUVFMDNGQjAwNEEwMDNGQTA0NTkKKzoxMDk1MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwNEYwMDgzQTEwN0QKKzoxMDk1MjAwMDBGODQwM0UwMTBGODAwM0UwMDRGODA4M0UwMDBGODAwNTUKKzoxMDk1MzAwMDNDMDAwRjgwMDM4MDAwRjg0MDNFMDkwRjgwMDNEMjAwRkEKKzoxMDk1NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQyMEU5MDAzMjQ0NzAKKzoxMDk1NTAwMDBDOTAwMzI0MDBGOTAwM0U0MDBGOTAxM0U0MDBCOTAwODIKKzoxMDk1NjAwMDFFNDAwQzEwMDMyNDAwQzlBMDNDNjQwQzkwMDM4MjA0MkMKKzoxMDk1NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5MDAyMjY4QzAKKzoxMDk1ODAwMDA4MTMwMjI0MDhGOTAwMkU0ODFCOTAwMkU0MDBCOTAwRDkKKzoxMDk1OTAwMDNFNDAwQzkwMDIyNDA4Rjk0MDJFNjAwQTkwMDZFMDAwM0MKKzoxMDk1QTAwMDEwMDAwMDAwMDAwMDAwMDAxODAxMjQwMEE5MDAyMDQwNjUKKzoxMDk1QjAwMDA4OTAwMjI0MDBCOTAxMkU0MDBCOTAwMkU0MDBCOTAwOEIKKzoxMDk1QzAwMDJFNDAwODkyMjIyNDAwODkwMDJFNDAwODkwMDJDNjAwRjYKKzoxMDk1RDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MDgxMjFFMDUwRTkKKzoxMDk1RTAwMDI4MTYwQTA0ODBBMTQwMkM0MDRCMTQyMkM0MDBCMTAwNkMKKzoxMDk1RjAwMDJDNTAwOTE0MDIwNDA0QjEwMDJDNDAwQTEwMDJDMjAxQ0MKKzoxMDk2MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEU4NTAzMjAwOEEKKzoxMDk2MTAwMDhDODAwMjIwMDBCODAwM0UwMDBCODAzM0UwMTBGODAwODAKKzoxMDk2MjAwMDNFMDAwQzgwMDMyMDA4Q0EwMDNFMDAwQzgwMDNBRTAzRkQKKzoxMDk2MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERkM0MEZEMTAyRjQxNkMKKzoxMDk2NDAwMDRGOTEwM0U0NDBGOTQwM0U0MDRGRDA2M0U1MDBGOTQwQkMKKzoxMDk2NTAwMDNBNTAyRTk0MDM2NTAwRUQwMDNGNTAwRjkwMDNFNjA2NEMKKzoxMDk2NjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RTYwMEY5RTAzMzUwMUIKKzoxMDk2NzAwMDBDREEwM0E2MDBEOTgwM0Y0MDBGOTEwM0E2MDBGOTg4QjkKKzoxMDk2ODAwMDNFNjgwQ0RFMDM2NjAwRUQwMDNCNjkwQzkwMDNDNjAwRUIKKzoxMDk2OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwOEI4RTAyMDIwNTEKKzoxMDk2QTAwMDE4OEUyNkUxMDA4MEEwMkUwMDRCODg0MkUxNTBCODQwODEKKzoxMDk2QjAwMDJFMkEwRDBBMDIyMDA4QjgwMDJFMTQwRDgwMDJDRTA0QjYKKzoxMDk2QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzUwMEIxNjAyMDQwMjcKKzoxMDk2RDAwMDA4MzFBMkM1MDA5MTQ4MkM0MDFCMTIwMjg0MDBCMTAwNDEKKzoxMDk2RTAwMDJDNTAwOTE2MDIwNTAwQTMwNDI4NDAwODEwMDJDMjAxRUMKKzoxMDk2RjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1QTQwMEI5MDgyMDcwRTgKKzoxMDk3MDAwMDI4OTAwMkU0MDA4OTAwMkU0MDBCOTAwMkU0MDhCOTAzN0YKKzoxMDk3MTAwMDJDNDAyOTkwMDI2NDAwQjkwMDJFNjIwOTkwMDJDNjA0MTAKKzoxMDk3MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDA1RTUwMEY5RDBCMjcwNjQKKzoxMDk3MzAwMDA4OTAwM0U0MDBEOTA0M0U0MDBGOTAwM0E0MTBGOTAyRkUKKzoxMDk3NDAwMDNFNDAwRDkwMkI2NDAwRTk4RDNBNjAwQzkwMDNFODA0RDQKKzoxMDk3NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5ODAzRTQyRDMKKzoxMDk3NjAwMDBGOTAwM0U0MDBGOTAwM0U0MDBGOUEwM0U0MDBGOTAwNzMKKzoxMDk3NzAwMDNFNDAyRjEwMDNBNDAwRjkyMjNDNDA0RjkwMDNDQTAwNDIKKzoxMDk3ODAwMDYwMDAwMDAwMDAwMDAwMDAyODAwQTAwMEYwNDAzMjAwNEYKKzoxMDk3OTAwMDBDODAwM0MwMDBGODAwMzIyMDFGODAwM0UwMDBDODAwRTYKKzoxMDk3QTAwMDMyMDAwQzgwMDIyMDAwQzhDMDNFMDAwQzgwMDNDQTA0QjYKKzoxMDk3QjAwMDIwMDAwMDAwMDAwMDAwMDAyODE1MjgxMEJBMDAyM0EwOTcKKzoxMDk3QzAwMDBBRTQwMkU4MDBCQTAwMkJBMTBCQTAwMkU4MDBBQTAwRkMKKzoxMDk3RDAwMDJBODEwQUEwMDNFODA4REUwMDJFODAwQUEwMDJDQTAwM0YKKzoxMDk3RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIzMDRBMEIxQjgKKzoxMDk3RjAwMDA4MzYyMkNDMDBCMzAwMjBFNDBCMzAwMkNDMDA4MzAwRkEKKzoxMDk4MDAwMDIwQzAwODE4MDIwQzAwOTEwMTJDQzAwODMwMDZDQTAwQzQKKzoxMDk4MTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUNDOEIzMjEyMUMyQkMKKzoxMDk4MjAwMDJBNzAwMkRDMDBCN0EwMjlDMDBCNzIwMkNFMDBBNzgxMEIKKzoxMDk4MzAwMDI5QzA0QTc0MDJGRTAwOTcwMTJDQzAwQTcwMTJFODAwODkKKzoxMDk4NDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUU4MEY3QzAzMUUwQzIKKzoxMDk4NTAwMDBDNDgwM0RFMTFGNzgwMjFFMDBCN0EwM0RFMDBDMzgwQTEKKzoxMDk4NjAwMDMzRDg2Qzc4MDMzRTAwRDY4MDNERTAwQzc4MDNFQTAyRTIKKzoxMDk4NzAwMDAwMDAwMDAwMDAwMDAwMDAwODBEQUMwOEZCODAzRUMwQTYKKzoxMDk4ODAwMDBGRDAwM0VDMDRGQjNDM0VDMDBGQjYwNzZDMDFGQjAwOUQKKzoxMDk4OTAwMDNFRDAwRjk0MDdFQzAxRUEwMDNFQzAwRkIwMDNDMjA2QjEKKzoxMDk4QTAwMDYwMDAwMDAwMDAwMDAwMDAwMDAxRkUwMENGQTQzQjYwNEIKKzoxMDk4QjAwMDA4RDkwMzdFMDBDRjgwM0YyNTRGRkM4N0JFMDBDRjgwQjQKKzoxMDk4QzAwMDdGRkMwQ0ZDMDM3QzAwRjY5MDMzRTAwRkY4MDNDMDAwMzMKKzoxMDk4RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwODhGMjgyMTQwQTMKKzoxMDk4RTAwMDA4RDAwMjFDNDBBNzIwMzEwNDFCNzgwMkRDODBENzAwN0UKKzoxMDk4RjAwMDJGQzQxQUQwMDIxRTQ4QjYwMDYxQzAwQjcwMDZFQTA0REQKKzoxMDk5MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOEMwMDg3MzA2OTQ0MDcKKzoxMDk5MTAwMDA4NTAyMjBDMDA4NzAxMkQ0NDhCNzAwNjhDMTA4NzAwQTQKKzoxMDk5MjAwMDI5QzkwODUwMDIxQzQ0QTYwMDYxQzAwQjcwMDJDMDAwODcKKzoxMDk5MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0QwMDgzODg2MDQwNUIKKzoxMDk5NDAwMDAwMTAwMjRDMDAyQjAwMkM0MTFCMzAwMkNDMDA5MzAwNzUKKzoxMDk5NTAwMDJDQzAwQTMwNDIwQzAwQjI0MDIwRjEwQjMwMDJDODA0ODcKKzoxMDk5NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkQ0MUNGQzBCQUYwRDMKKzoxMDk5NzAwMDI4OTAxQjZDMDhDRjAwMkNDMDBGRjAwM0FDMDA4QjAwQUMKKzoxMDk5ODAwMDNGQzA2Q0IwNEIyQzAxRkI0MDIyQzgwRkIwMDNFQTA0NkYKKzoxMDk5OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwNEZCMDQzRkQ0RTUKKzoxMDk5QTAwMDBGMTAwM0FDMDBGQjAwMzJDMDVGQjAwM0VDMDBGQjA0RkYKKzoxMDk5QjAwMDNFQzA0RjEwMTNFQzAwRkI4ODNFQzA0RkIwMDNFMDAwRTgKKzoxMDk5QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMEM3MDAzMzYyMUUKKzoxMDk5RDAwMDBDQzAwQjNDMDBFRjAwMzNFMDFDRjAxMzNDMDhGNzAwMTgKKzoxMDk5RTAwMDMxQzAwRUQ4MDNCQzAwRkUwMDNEQzYwQ0YwMDNDMDQ0REQKKzoxMDk5RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwMENCMDMyMjQ3MEYKKzoxMDlBMDAwMDA4OTg0MjJDMDA5QjAwMkFDMDBBQjAwMjJDMDBCQjA0MUMKKzoxMDlBMTAwMDJBQzAwQUIwMDJBQzA4RkEwMDJFNjAwOEIwMDJFMDQwOEEKKzoxMDlBMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDlCMDAyMDQwN0EKKzoxMDlBMzAwMDA4OTgwMjJDMDBCQjAwMjI4ODA4MzAwMjJDMDBCQjAwRDIKKzoxMDlBNDAwMDIyQzA4QTkyMDJBQzAwQUE4MDJFQzAwOEIwMDZFMDAwQjQKKzoxMDlBNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzMDBBMDQwNEIKKzoxMDlBNjAwMDA4MTAwMjBDMDBCMzAwMjg4MDBBMzIxMjBDMDBCMzA0NjQKKzoxMDlBNzAwMDI4QzAwQTMwMjI4QzIwQjIwMDJDQzAwODMwMDJDMjAxNUIKKzoxMDlBODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMkNCMDAzMDQwMjAKKzoxMDlBOTAwMDFDOTQwMzJDMDBFRjAwMzJDMDg4RjA4QjJDMDBGQjAwREMKKzoxMDlBQTAwMDMzQzBBRUYwMDNBQzgwRUEwMTNFQzAyQ0IwMDNDMDAzNkIKKzoxMDlBQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAyRjQwMkYKKzoxMDlBQzAwMDA3RDI4M0ZDMDBERjA0M0ZDMDBGQjAwM0ZDMDBGRjAwOUYKKzoxMDlBRDAwMDNGQzAwRkQwMEJFQzAwRUUwMDNGNDAwRkYwMDNFODA2NTQKKzoxMDlBRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjUwMENGMDgzRjQ4RUUKKzoxMDlBRjAwMDBGQzM5MzcwRDBEQzMwM0ZEODBDQjIwMzNDQzBGRjQwQTIKKzoxMDlCMDAwMDMzQzQyQ0YxMDM2MjUwRkMzNDMzMDAwRjVDMDNGMDAwQ0IKKzoxMDlCMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwQzQ4MDhCMDAyRjVBRUQKKzoxMDlCMjAwMDBCQTYxMjIxQzA4OTcwMkZEQzA4RjJDMjNERDBCRjQwQzUKKzoxMDlCMzAwMDM3REM4OEY1MEEyMDgwRTgxMDJBMTYwQjkwMDJFMDA0MzIKKzoxMDlCNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzAwMDgzMDgyQzQ0OUQKKzoxMDlCNTAwMDBCMDIwMjBDMDA4MDAwMkNDODA4MzM0MjhDOTBCMzMwRkEKKzoxMDlCNjAwMDI4Qzg0QTMyMTI4MDBDQjBBMDI4MjgwQjEyMDJFMjAxNDkKKzoxMDlCNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTIwMDhCMDAyRTQ4RkQKKzoxMDlCODAwMDBCQTAyMjIwMjA4ODgwMkVDMDI4QjAwQUFDMDBCQjAwODkKKzoxMDlCOTAwMDJFQzAwQUIwMDJBMDAwQUI4MjJBQTAwQkIyMDJGMDA0RDEKKzoxMDlCQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTcwMENCMDAzRUMwNTAKKzoxMDlCQjAwMENGOUMwQjIxMDBEODg4M0VDMDBDQjAwM0FDMDBGQjAwNEEKKzoxMDlCQzAwMDNBQzAwRUIwNDNFODQwRjg4MDNBNjAwRjk4MDNEMDA0RTIKKzoxMDlCRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQwMEZGMDAwRkUwOTIKKzoxMDlCRTAwMDA3QTEwM0U4MDJGQjAwM0ZDMDBGNzAyMzdDMDBGRjAyQzcKKzoxMDlCRjAwMDM1QzA0REIwMDM3NDIwRkMwMTNGMDAwRkY4MDNGODAwOUUKKzoxMDlDMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTUwMENCMDBCQTQwM0EKKzoxMDlDMTAwMDBDMTQwQjJGMjJDOTQwMzJDMDhFQjAwM0FDMDBGQjAwRTUKKzoxMDlDMjAwMDNFQzAwRUIwMDNFNDAwQzkwMDMyMDAyQzkwMDMxMDA0QzMKKzoxMDlDMzAwMDIwMDAwMDAwMDAwMDAwMDBDODAxMjQwMDhGMDAyMjQwMjYKKzoxMDlDNDAwMDJDQTU0MjI5MDA4QjA0QTNDMTBERjAwQTNDMDBCRjAwRTMKKzoxMDlDNTAwMDNGQzAwOEYwMDE2OTAwREEwNTIyRDAwODk0MDM3MjAwQzEKKzoxMDlDNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NjA0MDgzMDEyMEMwQ0IKKzoxMDlDNzAwMDA5MDAwMjIwMDA4MjYwMjJDMDA4MzA0MjRDMTBCQjAyNjIKKzoxMDlDODAwMDJDQzAwOEIwMTIwNTAwOUIwMDIwODIwOTMyMDIzODAwNjcKKzoxMDlDOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTY5MDg3ODAyMEUwQTYKKzoxMDlDQTAwMDA4NTgwMjE2MTQ4NDgxMjFFMDI5MzkwMjVFMDBCNzgwMjkKKzoxMDlDQjAwMDI4RTAwODc4MDI3QTgwOTY4MTIxRTAwOUY4MDI0ODAwQkQKKzoxMDlDQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwOThCMTAzODQ0REMKKzoxMDlDRDAwMDREMjUxMjBDMDBDMjEwMjJDODBBMzgwM0NDMDBGMzEwMjQKKzoxMDlDRTAwMDJDQzAwQzMwMDM4QUMwRDkxMDMyNDAyRDEwMDMxMjAyNTAKKzoxMDlDRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkM4MEZGMDAzRjQwNEQKKzoxMDlEMDAwMDBGRjAwM0Y0NDBFRDAwM0ZDMDBFRjMwM0JDMDRGRjAwNkUKKzoxMDlEMTAwMDNGQzIwRkYwMEJENDAwRkYxMEJGODAwRUYwMDNEMDA2M0YKKzoxMDlEMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RkEwMENCMDIzRUMwNjEKKzoxMDlEMzAwMDBGOTAwM0EwMDBDQjAwM0FDQTBDQjMxM0FGMjRDQjQ4NUEKKzoxMDlENDAwMDFFQzgwRkI2MDMyQzAwRkEwMDNFQzAwRjkwMDNFQTAwQjUKKzoxMDlENTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwODg3MjAyREM0RkUKKzoxMDlENjAwMDBCNTAxMkRDMDQ4NzAwMkNDMDA4NzBBMjFEMDBBNzQwMTUKKzoxMDlENzAwMDI1Q0I4Qjc0ODIxQzAwQjcwMDJEQzEwQjcwMDJEMjA0NUUKKzoxMDlEODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUEwMTg3OTAyREUwRjQKKzoxMDlEOTAwMDBCNzgwMkNFMDA4NjgwMkRFNDI5N0EwMjlFODA4N0EwNkYKKzoxMDlEQTAwMDZERTgwQjc4MDIxRTAwQjU4MDJENjAwQjc4MDJGMDAwODQKKzoxMDlEQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0QwMDgzMDIyQ0UwQzkKKzoxMDlEQzAwMDBCMzAwMkNDMDA4M0UwMkNDMDA4MzAwMjBDMDBBMzAwNTIKKzoxMDlERDAwMDI0QzAwQkIwMDIwRTIwQjMwODJDQzAwQjMwMDJEMjA0RkEKKzoxMDlERTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1Qjg4MkNBMDAzRUE4NUMKKzoxMDlERjAwMDBGRTAwM0Y4MDI4RTgwM0U4MDBEQTA1QkE4MDBDQTAwMzEKKzoxMDlFMDAwMDNFODAwRkEwMDMzQjgwRkU0MjJGODAwRkE4MDNGQTA0ODAKKzoxMDlFMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAyMEY4MDAzRTAwNjQKKzoxMDlFMjAwMDBGMDYwM0MwMDBGODExM0UwMDBGMDAwM0UwMDBGODAwMjkKKzoxMDlFMzAwMDM2MDAwRjgwMEJFMDAwRjgwNDNFMjAwRjgxMDNEMjAwQjMKKzoxMDlFNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEY5MDAzRTQwNkYKKzoxMDlFNTAwMDBDOUEwMzI0NDBDOUMwM0U0MDRDOTAwMzI0MDBGOTAwRjIKKzoxMDlFNjAwMDM2NDAwNzkwMDMyNDAwQzkwNDMyNjAwRjkwMDNDMjA0RjcKKzoxMDlFNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5MDIyRTQwQTEKKzoxMDlFODAwMDBBOTIwMjI1MDI4OUUwMkU0MDk4OTAwMjI0MDBCOTAwMkYKKzoxMDlFOTAwMDIyNDAwOTkwMDIwNDAwRDkwMDIyNDQwQjlDMDJFMDAwRjkKKzoxMDlFQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MkMwMEI5MDAyQzQwMzQKKzoxMDlFQjAwMDA4OTAwMjI0Mjg4OTAwMkM0MDY4OTA0MjI0MENCMTA0QTgKKzoxMDlFQzAwMDI2NDAwQjkwMEEyQzgwODEwMDIyNDBDQjkyODJDNjAwNTMKKzoxMDlFRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIxMjAyQzQ4RUQKKzoxMDlFRTAwMDBBMTIwMjA0ODA4MTIxMkM0QzA4MTEwMjA0MDhCMTEwQ0UKKzoxMDlFRjAwMDIwNEMwOTEyMDIyNDAxOTEyMEEwNDgwQjEwMDJDMjAxM0IKKzoxMDlGMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENDFFMEY4NTAzRTE0RDEKKzoxMDlGMTAwMDBDODUwMzIxNDBDODUwM0UxMDA4MDY4MzAxRjBGODY4MDQKKzoxMDlGMjAwMDM2MTAwRjA1MDMyOTQwQzg1MDMyOTQwRjg1MDNFRTAzMDUKKzoxMDlGMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQwMEY5MTAzRjQ0OUMKKzoxMDlGNDAwMDBGRDEwQkY0NDBGRDEyMkU0QzAzOTIwQkU0MDBGOTIwQ0MKKzoxMDlGNTAwMDNFNEMwRjkxMDNGQzAwRkQxMDNGNDQwRkQwMDNFNjA2N0EKKzoxMDlGNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYyMEM5MDEzRTQwMDYKKzoxMDlGNzAwMDBGRDAwMzNDMDBCRDAwMzI2MzBDOUU0MzI3MDBFOUMwQjQKKzoxMDlGODAwMDNFNjgwQzk4MDMzNDAwRjkxMDNGNDAwRkQwMDNDNjAwMjAKKzoxMDlGOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwQzIyMEQ4MDAyRTAwMjEKKzoxMDlGQTAwMDBCODA1MjI4MDRCODAwMjIzODA4ODgwMzYyMDA4OEYwMjkKKzoxMDlGQjAwMDJFM0E0ODhGMEEyMDAwQjA4MDJFMDAwQjgwMDJDRTA0N0IKKzoxMDlGQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQ4MDgxMDAyQzQwMjMKKzoxMDlGRDAwMDBCMTAwMjA0MDBCMTAwMjA0MjQ4MTQ0MjA1ODBBMTIwNjkKKzoxMDlGRTAwMDJDNDQwODEwODIwNDAwQjEyMDJDNDAwQjEwMDJDMjAxNDYKKzoxMDlGRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTUwMTk5MDAyRTQwMTcKKzoxMEEwMDAwMDBCOTAwMjI0NDBCQjAxMjI0MTA4OTAxMjI0MDBBOTAwQjkKKzoxMEEwMTAwMDJDNDAwODEwNDAyNDA4Qjk0MDZFNTAwQjkyMDJDNjA0MzAKKzoxMEEwMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTcxNEM5MDUzRTQxRDMKKzoxMEEwMzAwMDBGOTAwQjI0MDRGOTA4QjI0MDJDOTAwQTI0MDBFOTAwODgKKzoxMEEwNDAwMDNFNDAyQzkwMDMyNzAwRjk4MDNFNjAwRjkwMDNFODA0MDcKKzoxMEEwNTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODQ4OEY5MDAzRTQ4REMKKzoxMEEwNjAwMDBGOTkwM0U2MDBGOTAyM0M0MEFGMTAwM0U0MTJEOTA0NTMKKzoxMEEwNzAwMDNFNDAwRjkwMDNFNTAwRjlDMDNFNjQwRjkwODNDQTAwOTQKKzoxMEEwODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTEwMEM4MDAzRTAwOTEKKzoxMEEwOTAwMDBGODAwMzIxMDBDODQwQjIwMDBDODAwMzIwMTBDODAwQ0MKKzoxMEEwQTAwMDMyMDAwQzgwMDNFMDgwRjgwNDMyMDAyQzgwMEIwQTA0OUMKKzoxMEEwQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMENBMDAyRTgwQjMKKzoxMEEwQzAwMDBCRTgwQTM4MTA4RUMwMjI4MDBEQTAwMjI4MDAwQTA0NzYKKzoxMEEwRDAwMDAyODAyOEEwMDJGQjAwQkEwMDM3QjA0OEVBMDIwQTAwNUEKKzoxMEEwRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzMDEyQ0MwMzcKKzoxMEEwRjAwMDhCQjA0MjBDOTA5QjIwMjBDMDQ4MzA0MjJDMDA4MzAwNDMKKzoxMEExMDAwMDIwQzAwODMwMDJDRDQwQjMwMDI0QzgwODM4MDIwQTAwM0QKKzoxMEExMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTQwMDg3MDAyREMwQzYKKzoxMEExMjAwMDBCMjQwNjE2MDA5MzA4MjFDODA5MzEwMjBDODA4N0EwNzEKKzoxMEExMzAwMDIxQzAxODcyMDJEQzAwQjdCNDI0RTMwODc4MDIyODAwQkEKKzoxMEExNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMjk3QTAzREYwOUIKKzoxMEExNTAwMDBGNDgwMzNFMDBENjgwMzBFMDJDN0EwMjFFODJDM0YwMDYKKzoxMEExNjAwMDMzRUMwQzdDMDNENjAwRjc4MDM1RTAwQ0Q4MDMyQTAyRDAKKzoxMEExNzAwMDAwMDAwMDAwMDAwMDAwMDAwODE5QTVBMEZCMDAzRUNBNzYKKzoxMEExODAwMDBGODAwM0VDMDJFQTAwM0VDNjBGQjQwQkVENDBGQjAwNkIKKzoxMEExOTAwMEJFQzAwRkI2NDNFMDAwRkIwMjNFODAwRjkwMDNDMjA2MzQKKzoxMEExQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMkNGODgzRkUwRDQKKzoxMEExQjAwMDBDQjkwM0ZFMDBERDgxMzNFMDhDRkMwMzNGMDRDRjgwNEIKKzoxMEExQzAwMDMzRTI0RkZDMDMzRTAwQ0ZDMDMzNjQwQ0Y4MDNDMDAwMDEKKzoxMEExRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTQ0MDg3MDAyRkMxMEIKKzoxMEExRTAwMDBENjlBMkQwNDBCQzAwMjNDMDA4RjAwMjlDMDA4NzAwOEIKKzoxMEExRjAwMDIxQzAwQjcwMEEzQzA0ODcxMDIxNEMwODYwMDJFQTA0NUQKKzoxMEEyMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUUwMDg3MDAyREMwREMKKzoxMEEyMTAwMDA5NjIwMkQ4MDA5NzAwMjFDNDA4NzAwMjBDNDA5NzAwMjAKKzoxMEEyMjAwMDIxQzQwQjMwMDI1ODAwQTcwODIxODAwODYwODJDMDAwQkEKKzoxMEEyMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0RTQyNTgzMDAyQ0MwNTIKKzoxMEEyNDAwMDA5MjIwMkNDMjBCMjAwMjBDMDI4QjAwMjhDMDA5MzAwNkEKKzoxMEEyNTAwMDIwQzAwQjMwNDI2QzIwODMwODIwRTIwOEI4MDJDODA0RkEKKzoxMEEyNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QTQwMENGMDAzRkMwOEYKKzoxMEEyNzAwMDBEOUMwM0U4MDBEQjgwMzNDMDBDRjAwQjNDMDZERjAwRDQKKzoxMEEyODAwMEIzQzAwQkYwMDc2ODAwRUY0MDMyQTgwQ0E4MDNFQTA0NDMKKzoxMEEyOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDAyRUMwMDkKKzoxMEEyQTAwMDBGOTQwM0M1NDBGQTMwM0VDMDBGQjAwMzZDMDBFQjAwQzIKKzoxMEEyQjAwMDNFQzAwRjMwMTNBRDQwRkIwMjNFRDAwRkI0MDNFMDAwQjAKKzoxMEEyQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRTQwMEM3MDAzMUMxQjAKKzoxMEEyRDAwMDhDRDAwMzM0MDBDRDAwM0RDMDBDRjAwMTdDMDBEQjAxQ0MKKzoxMEEyRTAwMDNEQzA0Q0YwMEIzMDAyQzMwMDMyMDAwRkQwMDMwMDQ0REQKKzoxMEEyRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkU0MDhCMDAyQUMwODYKKzoxMEEzMDAwMDI4ODQ0MjIyODA4ODgwM0FDMDBEQjAwMkFDMDg4QjAwQkQKKzoxMEEzMTAwMDJFQzAwOEIwMDIyMzIwOEIwMDIyMzA4QjhDMDIyMDQwRkMKKzoxMEEzMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjQwMDhCMDAyMkMwMDcKKzoxMEEzMzAwMDA4Mzg4NjJBMDA4OTgwMkFDMDA4QjAwMkNDMDA5QjAwMTkKKzoxMEEzNDAwMDJFQzAwOEIwNDIyNjAwOEIwMDIyNzEwQjhDMDIyMDAwMjgKKzoxMEEzNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzMDAyOEMwM0EKKzoxMEEzNjAwMDA4MzI0MjAwMDA4MTAwMjhDMDA5MzA1MjhDMDg4MzAwNjYKKzoxMEEzNzAwMDJDQzAxODMwMDYwMDAwODMwMEEwMDAwQjAwMDIwMjAxNzAKKzoxMEEzODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENzQwMjhCMDAzM0MwQ0MKKzoxMEEzOTAwMDBDOTIwQjIwMDJDODAwM0JDMDBDRjUwM0ZDMDBERjAxNEYKKzoxMEEzQTAwMDNGQzEwNEYwMzMyMTQwQ0YwMDMyMDAwRjgwMEIwMDAzODcKKzoxMEEzQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEZGMDAzRkMwOUEKKzoxMEEzQzAwMDBGQzQwM0YwMDA5QzAwM0JDMDBGRjAwM0ZDMDBGRjAwMzMKKzoxMEEzRDAwMDJGQzAwRkYwMDNGMDgwRkYwMDNGMDAwRkMwMDNFODA2MUUKKzoxMEEzRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjBDMEZGQTAzMTI0OTQKKzoxMEEzRjAwMDBFRjA2MzEwMDRFRjY0M0ZDMDRDRjMwMzFDODBERjA4RDEKKzoxMEE0MDAwMDM3QzAwRkYwMDNGMEEwRkMwMDMxMDgyQ0QyMDNGMDAwOUQKKzoxMEE0MTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTEwMEJCQzEyMjQ4NzUKKzoxMEE0MjAwMDA4RkQwMjJFMDA5NzAwMkZDMjQ4NzEyMzdFNDBCRjAwMTYKKzoxMEE0MzAwMDIxQzU0QkY1MDJFRjAwQkI0MDM2RTAwOEE4MDJFMDA0NUUKKzoxMEE0NDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzU4NEIzMTFBMkM5RDcKKzoxMEE0NTAwMDBBMzAwMjAwMDFCMzMwMjhDNDA4MzI0MjBDMDBBMzA4QkQKKzoxMEE0NjAwMEEwQ0EwQTMyODI4MDEwQjA0MTI0MTEwODMxMDJFMjAxRjAKKzoxMEE0NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTUwMEJCMDAyMkUxMzQKKzoxMEE0ODAwMDI4QjAwMjJDODA5QjAwMkVDMDA4QjAwMjZDMDBCMzAwRTQKKzoxMEE0OTAwMDIyQzAwQkIwMDBFQzIwQkIwMDI2QzAwODgwMDJGMDA0RjQKKzoxMEE0QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTM0MEY3MDQzMkMwRTcKKzoxMEE0QjAwMDRFQjAyMzJFMjBFQjAwMUVDMDBDQjAwMTJDMDBGQjAwODAKKzoxMEE0QzAwMDM2QzAxRkIwMDNFMTQwRkIwMDM2OTgwQzkwMDNEMDA0NjcKKzoxMEE0RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjYwNEZGMDIzRkMwNzEKKzoxMEE0RTAwMDBGRjAwM0ZFMDBFRjAyM0RDMDBGRjAyM0ZDMDBGRjAwNjEKKzoxMEE0RjAwMDNGQzA0RkYwMDNGQzAwRjQwMDNCNDAwRkEwMTNGODAwRjYKKzoxMEE1MDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUEyMEVCMTAzNkMwRTAKKzoxMEE1MTAwMDBEQjAwN0VDMjBEQjAwMzJDMDBDQjAwMjZDMjBFQjAwNjkKKzoxMEE1MjAwMDNFQzEwREIwMDNFMDIwREJBMDMyOTA0Q0IwMEIxMDA0MTQKKzoxMEE1MzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkQwMDhGODAyMEMxMTEKKzoxMEE1NDAwMDA4NzAxMkNGMDA4RjAwQTNDMDBERjAwMjNDMDA4RjAwRjYKKzoxMEE1NTAwMDM3QzA4OEYwMDJFQzAwODgwMDIwNDAwODgwMDIzMjAwRkEKKzoxMEE1NjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEEzODAyNDgxQjIKKzoxMEE1NzAwMDA5MzAwNkNDNDA5MzAwMjhDMTA4QjAwMkNGNDBBMzAwQTgKKzoxMEE1ODAwMDJDQzAwOTMwMDJDRDAwOTA0MDYwNDAyODEwMDIzODAwRjUKKzoxMEE1OTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMEUwMDg3ODAyM0UwMzIKKzoxMEE1QTAwMDQ4NzkwMkRFNDE5NzgwMjlFMDE5NzgwNjlFMDA4NzgwNkQKKzoxMEE1QjAwMDI1RTAwODc4MDJEMjAzODM4MDIxQTAwODY4MDIwODAwMDEKKzoxMEE1QzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEEzMDAzNEMwNTgKKzoxMEE1RDAwMDBEMzA0MkNDMDFEMzEwM0FDNTBDMzkwM0NDMDBFMzA0NTIKKzoxMEE1RTAwMDNDQzQwRDMwMDNDRTAwRDAwMDMwNDAwQzMwMDMxMjAyQ0EKKzoxMEE1RjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMEY3MDAzRkMwNEMKKzoxMEE2MDAwMDFGRjA1M0ZDMDBFRjA4MzdEMTBGRjA4MzdDMDBGNzQwQjgKKzoxMEE2MTAwMDNGQzEwRkYxMDNEMDAwRkYwMEJGODQwRkM4MDNEMDA2NzUKKzoxMEE2MjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTAwMEZCMDAzRUUwMjQKKzoxMEE2MzAwMDJDQkU4M0VDMDBFQjQwM0VDMDBGQjQwM0VEMjBGQjEwQkEKKzoxMEE2NDAwMEI2RDIwRkI0ODNFQzAwREI4MDM2QzEwQzkwMjEyQTAwMTcKKzoxMEE2NTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMEI3MDAyRkMwRjcKKzoxMEE2NjAwMDA4MzYwMjBDMDg4NzMwMkREOThCNzI4NkREMDBCMzIwQTYKKzoxMEE2NzAwMDIxQzgwQjc0MDJEMDAyODQwMEEwMDAyODIwMDIxMjA0MUEKKzoxMEE2ODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUEwMEI3ODAyREUwQ0MKKzoxMEE2OTAwMDA4N0EwMjlEMDBBN0EwMkRFMDBCNzgwMjlFODBBNzgwN0IKKzoxMEE2QTAwMDIxRTQwODdBMjY5RTE4ODMwNDIxRTAwODc4MEE3MDAwQzUKKzoxMEE2QjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzMDAyQ0UwOTMKKzoxMEE2QzAwMDU4MzAxMjBFODI4MzAwMkNDMDBCMzAwMkNDMDFCMzAwMzQKKzoxMEE2RDAwMDIwQzEwQjMwMDJDMDA4ODhEMjIwMjAwODAwMDI1MjA0OUEKKzoxMEE2RTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1Qjg2MEZBMDAzRjgyNkEKKzoxMEE2RjAwMDBDQTAwM0ZBMDBBQTAwMUU4MDhGQTAwM0U4MDBGMjAwNUQKKzoxMEE3MDAwMDMyODAxRkEwMDNFODAwREEwMDM2ODhBQ0UwMDM3QTA0NDgKKzoxMEE3MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTEwMEY4MDAzRTIwNUEKKzoxMEE3MjAwMDRGODAwM0UxMDBGMDAwM0MwMDBCODAwM0UwMDBGODAyRTIKKzoxMEE3MzAwMDNBMDAwRjgwNDNGMTAwRkMwQTNEMDAwRkMwMDM5MjAwNzUKKzoxMEE3NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTYwMEM5OTAzRTQwMDQKKzoxMEE3NTAwMDBGOTIwM0U0MDBEOTAwMzI0MDA0OTAwN0U3MDBGOTEwOUIKKzoxMEE3NjAwMDMwNDAwQzkwNDNFNDA5RDk4MDIyNDAyQzEwMEIwMjA0QTUKKzoxMEE3NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQ2MDg5QzAyRTQwQUEKKzoxMEE3ODAwMDBCOTgyNkM1ODA4OTAwMjI0MDI4OTAxMkU3MTBCOTAwNTYKKzoxMEE3OTAwMDM2NDAyODkwMTJDNTgzQzk4MEI2NDAwODkwMDIyMDAwMzgKKzoxMEE3QTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MDQwMDg5NDAyRTQxNDAKKzoxMEE3QjAwMDRCOTAwMkU0MDA5OTAwQTI0MDBBOTAwMkU1MDBCOTAwMjMKKzoxMEE3QzAwMEUyNDEwODkwNDJFNDAwOUQ1MEFCNEEwOEQwMjYwNjAwQzIKKzoxMEE3RDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MjgxMjAyQzUwOEEKKzoxMEE3RTAwMDBCMTAwMkU0MDA4MTQwMjA1MDRBMTQzMkM0MDBCMTQwRjIKKzoxMEE3RjAwMDI0NTExODE0MTJENDAwODU0MDJENDAwODUwMDYwMjAxM0YKKzoxMEE4MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEM4MDAzRTAwREMKKzoxMEE4MTAwMDBGODAwMkUwMDBEODAwMzIwMDBBODAwMkUwMTBGODAwNDkKKzoxMEE4MjAwMDMyMDAwNDgwMDNFMDAwRDgwMDNBMDAwQ0MwMDMyRTAzN0QKKzoxMEE4MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEY5MTAzRjQxNTYKKzoxMEE4NDAwMDBGOTQwM0Y1MDBGOTQwM0U1MDBEOTQwM0U1MTBGOTQwRDQKKzoxMEE4NTAwMDNFNTA0Rjk0MDNDNTAwRTk0MTM2NTAwRjk0MDNFNjA2N0QKKzoxMEE4NjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYwMEZEQTgzQTQwNDYKKzoxMEE4NzAwMDBDRDgyMzM2MDBFOUEwM0U3ODBGOUUwM0I2ODBDREUyQzcKKzoxMEE4ODAwMDMyNjgwQzlCMDMzNjgyNERBMDM3Njg4Qzk4MDMwNjAwMTMKKzoxMEE4OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRUJBMEI4NDAyMDIwM0QKKzoxMEE4QTAwMDA4ODUwMjIxNTE4OEMwMkUyOTBCOEUwMkUxMDBEOEUwRDQKKzoxMEE4QjAwMDIyMzIwRDhEMjM2MTQ4OThENEEyMTAyODg0MDIwRTA0MDAKKzoxMEE4QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzUwMEIzMDAyQTRBNUYKKzoxMEE4RDAwMDI4MTA0RUE0MDhBMTY4Mjg0NDBCMTQwMkM1MDA4MTQwMkEKKzoxMEE4RTAwMEEwNTAwODEwMDIwNDAyOTEyQTIwNDQyODE0NEEwMjAxQjAKKzoxMEE4RjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QUM4MEI5MDAyMjQwNzQKKzoxMEE5MDAwMDQ4OTAwNkE0MDBBOTAwMkU0MDBCOTAyMkU0MDA5OTAwNzQKKzoxMEE5MTAwMDIyNDAwOTEwMDI2NDAyOTkwMDIyNDAwODkwMDIwNjA0QjUKKzoxMEE5MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5MDAzODU4QTUKKzoxMEE5MzAwMDBDOTA1Mzg0MTRBOTA0M0U0MDBGOTAwM0U0MDBDOTAwMTYKKzoxMEE5NDAwMDMyNDAwQzkwMDMyNDA0RDkwMEI2NDA0QzkwMEIyODA0RUMKKzoxMEE5NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDIzRTQ5MzgKKzoxMEE5NjAwMDBGMTA0MzY0MDBEOTAwM0U0MDBGOTAwM0M0MDBGMTAyNzEKKzoxMEE5NzAwMDNFNDAwRjkwMDNDNDAyRTkwNDNDNDAwRjFDMDNDQTAwOTAKKzoxMEE5ODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTE4MEM4MjAzRTAwRTgKKzoxMEE5OTAwMDhDODAwQjIwMDBFODAyM0UwMDBGODAwM0EwODJDODAwREMKKzoxMEE5QTAwMDZDMDAwRjgwMDMyMDEwQzgwMDMyMDIwQzgwMDMwQTA0RTAKKzoxMEE5QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzgwMDg2MDAyRTgwREUKKzoxMEE5QzAwMDY4QTg4MDNBMDA4QTAwMkU4MDBCQTAwMkY4MDA4QTAwNTYKKzoxMEE5RDAwMDJFODAwQkEwMEEzQTAwOEUxMDIzODAwOEEwMDMwQTAwRTQKKzoxMEE5RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEQwMDgzMDAyQ0MwM0UKKzoxMEE5RjAwMDA4MzgwMDBDNjAyMzAwMkNDMDBCMzAwMkNDNDA4MzAwRDAKKzoxMEFBMDAwMDJDQzAwQjMwMDIwQzAyOEE4MEEwRTAyODMwMEE0QTAwRDkKKzoxMEFBMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTYyMDg3MDIyREMxOTgKKzoxMEFBMjAwMDQ4NzAxMjdDMDBBNzIwMkRDOTBCNzIwMERDMDA4NzA4M0IKKzoxMEFBMzAwMDJEQzQxQjMyMDIxRDAxODc0MjIxQzIwODcwMDIyODAwNkEKKzoxMEFBNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0UwMkM3ODAzREVDNjYKKzoxMEFBNTAwMDBDNTgwMzFFMDBFNzgwM0RFQzBGN0YwMzk2MDBDNzgwNzMKKzoxMEFBNjAwMDJERTIwNzc5MDMwQTA2QzM4MDMwMjA4QzM4MDM2QTAyN0UKKzoxMEFBNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEZCMDAzRUMwMEMKKzoxMEFBODAwMDBGMTA0MzhDMDBEQjM4M0VEODBGQjAwM0NDMDRGQjQ0REUKKzoxMEFBOTAwMDNFQzA4RkI2MTNFQzAyRkYwMjNFMDAwRkIwMDNDMjA2QTkKKzoxMEFBQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkEwMEZGODAzMUUzQjQKKzoxMEFBQjAwMDBFRjgyM0ZFMDJERjgwQjdFMjBFRjgwMzdFMDA2REQwQjEKKzoxMEFBQzAwMDMzRTAwQ0Y4OUI3NkMwREY4NEIzRTAwNEY4MDNDMDAwRTkKKzoxMEFBRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTA0MEI3MDIyMUM0REYKKzoxMEFBRTAwMDA4N0I0MkRDMDA4NzAwMjFDNDBCMzAwMDEwODA4RDAwMDEKKzoxMEFBRjAwMDIzQzAwREYyMDIwNDQyOEYwMDI5QzgyODcwMDJFQTA0MjQKKzoxMEFCMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTQwMEI2MDAyM0MwQjgKKzoxMEFCMTAwMDBBNzIwMjhDMDA4NzAwMjFDMDBBMzAwMjA0MDFBNzAyRDkKKzoxMEFCMjAwMDIxQzAwODcwNDIwMDhBODcwMDIxQzAyODcwMDJDMDAwM0UKKzoxMEFCMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0QzUwMEIwMDBBMEQwREMKKzoxMEFCNDAwMDA4QjAwMkM5NDI4QjAwMjBDMDBCMzAyMjA0MDA4MzAwRjEKKzoxMEFCNTAwMEEwQzA0OTMwMDI0NTQwOTNDMEE4RDQwMDM1MDJDODA0QzMKKzoxMEFCNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEJCMDAzMUMwQTAKKzoxMEFCNzAwMDBFQjAyM0NEMDBERjAwMzdDMDBFRjAwMTY4MDBFMzAwMDcKKzoxMEFCODAwMDMzQzAxQ0YwMDM0NTAwREFDODkyRDQyQ0I0MDNFQTA0QTUKKzoxMEFCOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTUyMEZCMDAzRUMwRDcKKzoxMEFCQTAwMDBGQjAwM0VDMDBGQjAwM0VDMDRGQjAwM0FEMDBGQjAwNTQKKzoxMEFCQjAwMDdFQzAxRjMwMDNBNDgwRTkyMDNDQzAwRjMyMDNFMDAwQjgKKzoxMEFCQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMEM3MDAzM0MyQUMKKzoxMEFCRDAwMDJDRjAwMzNFMjBEQjAwMTNDMDBDNzAwMzNDODBFRjA0MUMKKzoxMEFCRTAwMDczQzEwRkYwMjIzMDAwQzYwMEIyQzAwQ0YwMDMwMDQ0NjUKKzoxMEFCRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTAwNjkwMDhCNDRBMkMxMDkKKzoxMEFDMDAwMDg4QjAwMzZDMDA4QjAwMjJDMDI4QjAwQTJEMDBCQjAwNjYKKzoxMEFDMTAwMDYyQzAwQkIwMDIyNjAyOEI4MDIyQzAwOEIwMDMyMDQwMjUKKzoxMEFDMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjgwMThBMDgyMkMwRjIKKzoxMEFDMzAwMDA4QjIwMjZDNDA5QjAwMjhDMDQ4QjAxNjI5MDRCOTAxMzQKKzoxMEFDNDAwMDIyQzA0OUIwMDZBRTA5OEI4MDIyRTA0OEIwMDIyMDAwNDUKKzoxMEFDNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMjgyMDAyMkMwNDIKKzoxMEFDNjAwMDg4QjAwMjQ0MDA4MzAwMjhDMDA4MzAwMjA4MDBCMTAwMDgKKzoxMEFDNzAwMDIwQzAwQjMwMDI4QzAwODM4MDIwRTAwODMwMEEwMjAxRTMKKzoxMEFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjQwMENBMDAzM0MwOTYKKzoxMEFDOTAwMDBDQjIwMzJDMDBERjAwM0JDMDRDRjUxMzJDMDRFRjAwN0EKKzoxMEFDQTAwMEEzQzAwREYwMDNBODQwQ0IwMEIyMDAyQ0IwMDMwMDAzRkEKKzoxMEFDQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjAwMEY0MDAzRkMwQTQKKzoxMEFDQzAwMDBGQjEwM0YwMDBGRjAwMzdDMDBGRjAwM0ZDMDBGRjAwREUKKzoxMEFDRDAwMDNGQzAwN0YwMEI3QzA4RkYwMTNGMDAwRkYwMDNBODA2MDAKKzoxMEFDRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjBDNUVEMzMzQkNDNTMKKzoxMEFDRjAwMDBDRjAwMzMwNDBGRjI1M0ZDQzBDRjM4MzNDRDBERjQ4MDEKKzoxMEFEMDAwMDM3MzA0Q0YzMDNGRDgwQ0YyODMzRDgwQ0YxMDMzMDAwRUIKKzoxMEFEMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUNEMEJCMzEyMENDOUYKKzoxMEFEMjAwMDg4RjM0MjIwNTBCRjkwMkZDNDBBRjYwMjdEQzA4RjQwQTYKKzoxMEFEMzAwMDI2NDA4RkY2MDJGRDAwRkYwODM5QzgwOEY2MDJBMDA0N0QKKzoxMEFENDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQ4MEExMjAyOEM5NTAKKzoxMEFENTAwMDA4MzA5QTAwMDlCMzAwMkNDMDIwMzAwMjRDOTA4MzIwQTgKKzoxMEFENjAwMDAyMDgwQjMzMTJDRDgwOTMyMDI0RDgwODM0MjIyMjAxMEMKKzoxMEFENzAwMDcwMDAwMDAwMDAwMDAwMDBDMDExQUUwMEJCMTAyMkMwMzcKKzoxMEFEODAwMDA4QjAwMjI2MDEzQjAxNkVDMDA4QjAwMjRDMDg4QjAwREYKKzoxMEFEOTAwMEEyODkwQkIwMDJFQzAwQUIwMDZBQzEyOEIwMDJCMDA0N0IKKzoxMEFEQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1NkUwMEU4QzEzQUMwREQKKzoxMEFEQjAwMDJDQjA0MzI2MDBGQjA2M0VDMTBDQjAwQjJDMDJDQjAwOEUKKzoxMEFEQzAwMDM0MjI5RkIwNDNFQzAwOUIwMjM2QzE4Q0IwMDMxMDA0QzgKKzoxMEFERDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMwMEZDODAzREQwREQKKzoxMEFERTAwMDJGRjAwM0ZDMDBGQjAwM0RDMDA3MzAwM0JDMDBFRjA0NjQKKzoxMEFERjAwMDNGRTA1RUIwMDFGQzAwRkYwMDFCQzAwRkYwMDNGODAwNTUKKzoxMEFFMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMENCMDEzRUM5MTMKKzoxMEFFMTAwMDBDQjAxNzIwODRFQjAwQjJDMTBEQjAwMzZDMDBDMzAwNkUKKzoxMEFFMjAwMDMyNTAwRkIwMDMwQzQwQzMwMDdFQzAwQzMwMDMxMDA0M0UKKzoxMEFFMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMDhBNTgyRUUwMDkKKzoxMEFFNDAwMDQ4RjAwMjJEMDBFRjAxMjNDMDA4RjAyMjNDMDQ4RjYwN0YKKzoxMEFFNTAwMDM2NTQwQkYwMEEzRDQwOEYwMDJGQzAwOEYwMDM3MjAwRkIKKzoxMEFFNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDAwMDg5ODAyQzEwMzgKKzoxMEFFNzAwMDA4QjAwMjQ5MDBBM0EwMjRDMDA5MzAwMjRDMDA4M0M5RDUKKzoxMEFFODAwMDIwOTA0MjMwMTI0RDAwODMwMDZBQzAwOTMwMDIzODAwMjEKKzoxMEFFOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTYwMDg1ODA2RDYyNTcKKzoxMEFFQTAwMDA4N0UwMjU2NDAyNzgwMjVFMDE5NzgwNjBFMDA4MzgwMzAKKzoxMEFFQjAwMDYxQTAwQjc4MDI0RTAwODc4MjZERTAwOTc5MDI0ODAwOUMKKzoxMEFFQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MkMwMkMzNjEzQzg4REMKKzoxMEFFRDAwMDJDQkExMjQ5MTBFMzJDMzZDMDBEMzA1MzRDNDRDMzAwMzkKKzoxMEFFRTAwMDIwMDEwRjMxMDM0QzAwQzMwMTNDQzAyREIxMDMxMjAyRkQKKzoxMEFFRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMEZGMDAzRjAwRkIKKzoxMEFGMDAwMDRGRjEwOUIwMDBGRjAwM0JDMDBFRjQwMUZEMjRGRjQwRUIKKzoxMEFGMTAwMEJGQzAwN0YwMDNCQzAwNkYxMDNGQzQxRUYxODNEMDA2MTIKKzoxMEFGMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1QzQwMEU4MDQzMjAwMzIKKzoxMEFGMzAwMDBDQjYwM0U4MDJDQjAwMzZDQTBGQjUwM0FEMDBGQjIwMDgKKzoxMEFGNDAwMDNFNDAwRkIzMDNFQzgwRkJBODMyQzY4Q0I2MDMyQTAwNDgKKzoxMEFGNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMkU2MDAyMDAwOEMKKzoxMEFGNjAwMDA4NzMwMkRDMDA4NzcwMkREMDBCRjAwMjFDODRCNzIwMjAKKzoxMEFGNzAwMDJEQzAwQjcwODJERDI0Qjc0MDM0QzkyODcyODI5MjA0NDAKKzoxMEFGODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwQkUwMkFDODBBMTIwRjQKKzoxMEFGOTAwMDA4NzkwMENFMDQ4NzgwNjVFMDBCN0EwMjlFMDBCNzkwQTYKKzoxMEFGQTAwMDZEQTAwQjc4MDJERTAwQjc4MDIxRTAwODc4MDIzMDAwNDcKKzoxMEFGQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0RUQ4MkFCRTAyMEU0MTcKKzoxMEFGQzAwMDA4MzAwMkVFMDQ4MzAwMkNDMTFCMzAwMjBDMDhCMzAwRDEKKzoxMEFGRDAwMDY0RjYwQkIwMDJDQzA0QjMwMDI2QzAwODMwMDI5MjA0MjEKKzoxMEFGRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkI4MEVFNDkzMUEwRjEKKzoxMEFGRjAwMDJDQTAwM0ZBMDBDQTAyMzY4MDBGQTAwM0E4MDBGQTAyQjAKKzoxMEIwMDAwMDNGOTAwRkEwNjNFODAwRkEwMDMyODAwQ0EwMjMzQTA0QkUKKzoxMEIwMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwQUU4MDAzRTA4NzAKKzoxMEIwMjAwMDBGODAwM0UzNTBGMDAwM0UwMDBGODAxM0UwMDBGODAwQjMKKzoxMEIwMzAwMDNFMDAwRjgwMDNFMDAxRjgwMTdFMDAwRjgwMDNEMjAwODQKKzoxMEIwNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQ0MEM5QTEzMjQwQjgKKzoxMEIwNTAwMDIwMTEwMUE2NDBDOTg0MzY0MDBEOTAwMzQ0MDA0MTAwRjAKKzoxMEIwNjAwMDMyNDAwRjkwMEIyNDAwRjkwMDNFNDA0QzEwMDMwMjA0QzQKKzoxMEIwNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5ODJBMjQwQ0IKKzoxMEIwODAwMDA4OUMwMjI1MDA4OUM4MjI0MDA4OTA0MjI0MDA4OTIwOUIKKzoxMEIwOTAwMDIyNjAwQjkwMDIyNDEwQjkwMDJFNDAwODkwMDM2MDAwM0IKKzoxMEIwQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDg5MDQyMkNBRDYKKzoxMEIwQjAwMDBBOTAwQTI1MDI4OTIwMjA0MDI4MTAwMjY0MDFBOTAwNzQKKzoxMEIwQzAwMDIyNEIwQjkwMDIyNDAxQjkwMDJFNDEyODkwMDIwNjAwNjkKKzoxMEIwRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ5MDgxQTAyMDQ4MDcKKzoxMEIwRTAwMDBBMzIwMjA0ODA4MTAwMjA0NDA4MTEwMjA0RDBBMTIwMDkKKzoxMEIwRjAwMDIwNDAwQjExMDIwNjAwQjEzMTJDNDgwODE0MDI0MjAxMTUKKzoxMEIxMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MkM4NTQzMjE0NzUKKzoxMEIxMTAwMDBFODUwMzIxNDRDODI4QjIxQTRDODY5MzYxMTRFODUwNjYKKzoxMEIxMjAwMDIyMTQwRjg2ODMyMTQwRjA0MDFFMTQwQzAwMDMyRTAzQ0UKKzoxMEIxMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFENzQ0NEY1MTAzRjQ0Q0EKKzoxMEIxNDAwMDBEOTEwMzc0NDBGOTAwM0U0ODBCOTIwM0U0QzJEOTEwRkMKKzoxMEIxNTAwMEJGNDAwRjkyMDNFNTA0RjkzMDNFNDQwRjk0NDNFNjA2RTYKKzoxMEIxNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYyMkNEQTEzMzYxMzgKKzoxMEIxNzAwMDBDRDhEMzM0MTBDREE4M0U2MDhFOUM5M0E3MDhDRDgwMDgKKzoxMEIxODAwMDMzNDAwRTlBRDMzNkEwQzk4MDMyNjAwQzk5MDMwNjAwNzIKKzoxMEIxOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTM4ODhBQTAyMDI4MUEKKzoxMEIxQTAwMDA4ODAyMjIwMTI4ODQwMkMyODA4OEEwMjIyMDA4ODAwNjkKKzoxMEIxQjAwMDIyMDAwQjhDMDMyMTAwODhEMEEyM0UyODhEMDIwRTA0QjEKKzoxMEIxQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1Q0UyMEExNDgyMDUyRjkKKzoxMEIxRDAwMDI5MTAwMjI0MDM4MTAwMkM1MjBBMTAxMjg1MTA5MTQwN0MKKzoxMEIxRTAwMEE0NDAwQTEyODI0NDAwOTEyODI0NDAyODEyMDIwMjAxM0QKKzoxMEIxRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMEE5MTQyMjQwRUYKKzoxMEIyMDAwMDA5OTAwMkE0MDE4OTA0MkM0MDA4OTAwMjI0MDA5OTAwQUUKKzoxMEIyMTAwMDIyNDQ0QjEwNDIyNDE0OTkwMDI2NDAwODEwMDIwNjA0RDAKKzoxMEIyMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQ0MEU5NDBCMjc4OTIKKzoxMEIyMzAwMDBEOTAwQjI0MjJDOTAzM0U0MTBFOTAwM0E0MDJEOTAwQjUKKzoxMEIyNDAwMDE2NTgwNjkwMEI2NDAyRDkwMDM2NDAwQzkwMEIyODA0NjcKKzoxMEIyNTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODQwMEQ5ODAzRTRBRjAKKzoxMEIyNjAwMDBFOTAwMzY0MjBGOTA4M0U0MTBGOTAwM0U0MDBFMTA4Q0EKKzoxMEIyNzAwMDNFNDAwRjkwMDNDNDAwRTEwMDM4NDAwRjkwMDNDQTAwMjUKKzoxMEIyODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwOUYwNDBCMDEwOEQKKzoxMEIyOTAwMDRDMDAwQjIwMDBGODAwM0EwMDFDMDAwM0UwMDBDODAwM0UKKzoxMEIyQTAwMDM2MDAwQzgwMDMyMDAwQzgwMDMyMDAwRjgwMDMwQTA0MUYKKzoxMEIyQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDNFODgyM0EyOEUKKzoxMEIyQzAwMDQ4RTAwMDE5ODBCRTg4MkU4MDBEQTA0MkU4MDA4RTAwNjQKKzoxMEIyRDAwMDIzOTAwOEEwMEEzQTAwREEwMDM2ODAwQkEwMEEwQTAwODAKKzoxMEIyRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIzODAyMEUwNzIKKzoxMEIyRjAwMDI4MzBDMjBGMTBCMzQwMjhDMDBCMzAwMkVDMTE4MzQwM0QKKzoxMEIzMDAwMDI4RDIwQTMwMDIwQ0MwODMwMDIwQzAwQjMwMDIwQTAwOTEKKzoxMEIzMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwMEI2MDAyMUMwODkKKzoxMEIzMjAwMDA4MjBDMjFDMTBCNTAwMkRDODBBNzIwMkRDNDA4NTA4MzYKKzoxMEIzMzAwMDI5QTIxQTcyMjIwQzAwOTMzMDA1QzQwQjMyMjIyODAwNzUKKzoxMEIzNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MTYwMEIyODAzMTIwNzQKKzoxMEIzNTAwMDBDNTgwMzFFMDBGNzgwMzlGODBCN0MyMkNFNDBDRjgwQkEKKzoxMEIzNjAwMDlCNjAyRTNCMDMxQTAwQzdBODExRTAwRjc4MDMyQTAyNDYKKzoxMEIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQTQwMEZBMDAzRUMwMEMKKzoxMEIzODAwMDBGOTAyM0U4MDBGQjAwM0VEMDJEQjYwM0VEMDJGOTAwM0MKKzoxMEIzOTAwMDMyNDAwREIwMDdFQzAwRkI2MDNFQzgwRkI1MDNDMjA2OUIKKzoxMEIzQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZGODAzM0EwRTgKKzoxMEIzQjAwMDBDRjgwQjMyNDBDRTgxMzdGMDBDQkMwM0ZFMDBGRjg0NEEKKzoxMEIzQzAwMDMzRTAyQ0Y4ODNFNjAyQ0Y4NTMzRjAwQ0ZDMDMwMDE0NDUKKzoxMEIzRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEJFMDAzNUM2RUYKKzoxMEIzRTAwMDI4MzAwMjMwNDA4NzAwMjNDMDA4N0EwMkRDMDBCRTAwMEIKKzoxMEIzRjAwMDIzQzAwODcwMTJGRTAwODcwMDIxQzAwOEYwMDIyQTA0NTIKKzoxMEI0MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTUyMEI2MDAyMDgwRDEKKzoxMEI0MTAwMDA4MzEwMjVDMDE4NzAwMjVDMDA4NzIwMkRDMDBCNjAwMUEKKzoxMEI0MjAwMDIxRDAwOTcwMDJENDA4OTMwMDIwQzAwODcwMDIwMDAwRTcKKzoxMEI0MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0QzQwMEIwRTAyNDYwRTAKKzoxMEI0NDAwMDA4MjAwNjQ4MDE4MDAwMjBDMDA4MzAwMkNDMDRCMzAwNjgKKzoxMEI0NTAwMDIwODQwQjMwMDJFODAwOUIwMDIwQzAwODMwMDIwODA0NjIKKzoxMEI0NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEI5RTAzMjgwRjgKKzoxMEI0NzAwMDZDQjAyMzZGMDBDMzAwMzdDMTNDRjAwM0ZDMDBGQTAwM0UKKzoxMEI0ODAwMEIwQzAwOUYwMDNFQzEwREYwMDczQzAwQ0YwMEIyQTAwMTEKKzoxMEI0OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMxMEY4MDAzRTQyNTgKKzoxMEI0QTAwMDBGMjQwM0E4NjBGODAwM0NDMTBGQjAwM0VDMDBGOTQwODIKKzoxMEI0QjAwMDNFODAwNEIwMjNFMTAwRUIwMDNFQzAwRkIwMDNFMDAwOEIKKzoxMEI0QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRjQwMEVFMDAzRDMwRUMKKzoxMEI0RDAwMDBDQzAwMzE0MDBDQ0EwQjNDMDRDNzAwMzVDMTBERjAwQTAKKzoxMEI0RTAwMDNGMDAwQ0YwMDNGODAwQ0YwMDIzQzAwQ0YwMDMwMDQwMzUKKzoxMEI0RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NjQwMEJBODEyRTU4NzIKKzoxMEI1MDAwMDA4ODgwMjI3ODA4OTIwMjJDMDI4QjAwMjJDMDA4ODgzNjYKKzoxMEI1MTAwMDJFMjAwNUIwNjJFMzAwOEIwMDJBQzAwOEIwMDM2MDQwMTMKKzoxMEI1MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjYwMEI5ODEyRTQwQjgKKzoxMEI1MzAwMDA4OEMwNjI2MDA4ODAwMjJDMDA4QjAxNjZDMDA5ODg4ODcKKzoxMEI1NDAwMDJFMjAwOEIwMDRFMzAxMEIwMDI4QzAwODMwMDIyMDAwQzAKKzoxMEI1NTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIwMDAyQ0MwRkYKKzoxMEI1NjAwMDI4MDAwRTAwMTA4MDAwMjBDMDA4MzIwMjBDMDA4MDA0NjkKKzoxMEI1NzAwMDJFMjAwOTMwMDJDNDEyODMwMDI4QzAwODMwMDI0MjAxODQKKzoxMEI1ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEZBMDAzRTAwMEEKKzoxMEI1OTAwMDJDOTEwMzIwMDA4QTAwMzNDMDBDRjAwMzdDMDBEODAwRkIKKzoxMEI1QTAwMDJFNDAwQ0YwMDNFMDgwQ0YwMDNCQzAwQ0YwMDMwMDAzMDIKKzoxMEI1QjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZDMDEzRjQwMDYKKzoxMEI1QzAwMDBGQzAxM0YwMDBGNDAwM0ZDMTBGRjQyM0ZDMDhGQzAwOEYKKzoxMEI1RDAwMDNGMDAwRkYwMDNGMDQwRkYwMDNGQzAwRkYwMDNFODA2MEMKKzoxMEI1RTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMyMENEMTAzOUM4MkMKKzoxMEI1RjAwMDBEQzEwMzNDODBFRjkwMjNEODBGRjgwMEZFMDBDRjgwRjAKKzoxMEI2MDAwMDFGRDAwRkY5MDNGRjAwRTdDMDMzQzQwRkYwMDNCMDAwRjEKKzoxMEI2MTAwMDcwMDAwMDAwMDAwMDAwMDBDMDEwRkUwMjg5NDAyM0YwMEUKKzoxMEI2MjAwMDA4ODUxMDNDMDA4QjAwQTNEQzRCQjI4MkVDMjA4QjAwMjEKKzoxMEI2MzAwMDI2QzA0QkIwMDJFQzEwQjkwNDJBQzkwQkI1ODBGMDA0NDcKKzoxMEI2NDAwMDMwMDAwMDAwMDAwMDAwMDBDODA1Q0MwMDgxNjQyOEM0NjAKKzoxMEI2NTAwMDA5QjIwQTBDRjBBMzIwMjBDODBCMzIwMkVDMDI4MzA4QzYKKzoxMEI2NjAwMDJDQzgwOTMyMDJDQzgwQUJBMDIwQzgwQjMyMDBCMjAxM0EKKzoxMEI2NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMxMDg5MDAyMkMwNUUKKzoxMEI2ODAwMDA4QjIxMjJDMDIwQjAwMjJDMDBCQjgwMkVDMDA4QjAwOTcKKzoxMEI2OTAwMDI2QzA0QkIwNDZFQzAwQjkwMDBBQzAwQkIwMDJGMDA0NjMKKzoxMEI2QTAwMDYwMDAwMDAwMDAwMDAwMDBEMDE1RUMxMEM5RTAzQUMwQjYKKzoxMEI2QjAwMDBEMjgwMzJDMDBFQjEwMzJDMDBGODIwM0M0MDBDQjAwMTYKKzoxMEI2QzAwMDNFQzEwRkIwMDZFQzA4RTkwMEIyQzAwRkIwMTM5MDA0MDEKKzoxMEI2RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxOUMwMEY1QTAzRkMwRTkKKzoxMEI2RTAwMDBGRTgwM0ZDMDhGRjAwM0ZDMDhGQzAwM0ZDMDBGRjAwMTEKKzoxMEI2RjAwMDM3QzAwRkYwMDNGQzAwRkYwNDNFQzAwRkYwMDNGODAwNUEKKzoxMEI3MDAwMDYwMDAwMDAwMDAwMDAwMDA1MDEwQUMwMEY5NDAzNEMwQTAKKzoxMEI3MTAwMDBEQjQwMzJDMDBEQjQwM0VDMDJDODAwMzY0MDhGQjEwRkEKKzoxMEI3MjAwMDNFQzY4RkIwMDNFQzAwRjk4MDMyQzAwQ0IwMEIxNDA0OUQKKzoxMEI3MzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0UyMEU5QzgzN0Q0MDIKKzoxMEI3NDAwMDQ4QUEyMjFDMDA4QjAwNkZFMDA4ODU4MkVENDBCQjg0NzQKKzoxMEI3NTAwMDJGQzA0QkI4MDNBRDQwQjMwMDIzRDQwOEY3MDIzMjAwMkEKKzoxMEI3NjAwMDQwMDAwMDAwMDAwMDAwMDBFMDAxNEMwMEIxNjRBNEMwRjMKKzoxMEI3NzAwMDA5MjAwQTBDMDRCODAwNkNDMDA4MzgwMkM4NDBCMzgwMjUKKzoxMEI3ODAwMDJDRDEwQjMwMDJDQzA0QjMwMDI4QzAwODMwMDIzQTAwQTAKKzoxMEI3OTAwMDUwMDAwMDAwMDAwMDAwMDBCMDAxMUUwMEE1ODAyNUUwNjAKKzoxMEI3QTAwMDg4M0ExMjFFMDBBNjkwMkRFMjA4NzkwMkRBMDBCNzgyQ0MKKzoxMEI3QjAwMDJERTAwMzc4ODI5RTAwQkNDMTI5RTAwODc4MDIyQzEwOUQKKzoxMEI3QzAwMDQwMDAwMDAwMDAwMDAwMDA0OTA4MEMwMEYzMDAzNEMwRjUKKzoxMEI3RDAwMDBEM0UwMzBDMDBGMDQwMkVDMDBDMzA0M0M4MDBGMzAwQjcKKzoxMEI3RTAwMDNDQzAwNzMwMDNDQzgwRjIwMDM4QzAwQzMwMDMxMjAyOUEKKzoxMEI3RjAwMDAwMDAwMDAwMDAwMDAwMDA0MDE5QkQyMEY3MDAzRkMyMUIKKzoxMEI4MDAwMDBGRjEwQkRDMjBERTA0M0ZEMjA3RjAxM0Y4NDBGRjAwRkQKKzoxMEI4MTAwMDNGQzAwN0YwMDNGQzAwRkQwMDM3QzAwRjcwMDNEMDA2RTcKKzoxMEI4MjAwMDYwMDAwMDAwMDAwMDAwMDBBQTA1Q0YwMERDMDAzRUNBNTYKKzoxMEI4MzAwMDBGQTAwMEFDOTJDOTAwMzJDMDBGQjAxMUE0MDhGQjAwRTkKKzoxMEI4NDAwMDJFQzA0RkIwMjNFQzAwRjkwMDNFQzQwRkIwMDNFQTAwNTUKKzoxMEI4NTAwMDcwMDAwMDAwMDAwMDAwMDBDODkxOUMwMDg0MDAwMUMwM0UKKzoxMEI4NjAwMDRCNzAyMjFDQzA4NzAwMjFDMDRCNzAwMjFDMDBCNzAxMjYKKzoxMEI4NzAwMDI1RDgwQjcwMjJEQzAwQjYwMDJEQzAwQjcyMjJGMjA0MUEKKzoxMEI4ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwOUU4MDk3ODBBOUUwMUEKKzoxMEI4OTAwMDBCRjgwMkNFMDg4NTgwMjlFODBCRkMwMjE3MDBCNzgwNjAKKzoxMEI4QTAwMDJERTA4Qjc4MDJERTAwQjRDMDJERTgwQjc5MDJFMDAwQjkKKzoxMEI4QjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMDgzMDhBMEMwNTUKKzoxMEI4QzAwMDhCM0MwMjRDMDA4MzAwQTBDMDFCM0MwQTBGMjlCMzAwMzQKKzoxMEI4RDAwMDI0QzAwQjMwMDJDQzAwQjM4MDJDQzAwQjMwMDJEMjA0NDkKKzoxMEI4RTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMERFMDAzQTgwRUIKKzoxMEI4RjAwMDBGRUEwMkU4MDBDRTAwM0E4MDBGRTAwMzM4MDBGQTAwQjkKKzoxMEI5MDAwMDNFODAwRkEwMDNFODAwRkUwMDNFODAwQkEwMDNGQTA0NzcKKzoxMEI5MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMEY4MDRCQTAxRTgKKzoxMEI5MjAwMDBGODIwQjgwMDRGODgwM0UwMDBGODYwMzYwMDBGODAwNTEKKzoxMEI5MzAwMDM2MDAwRjgwMjNFMTAwRjgwMDNFMDAwRjgwMDNEMjAwQTQKKzoxMEI5NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMUY5MDAzMjQwNUYKKzoxMEI5NTAwMDBGOTAwM0U0MDA0OTAwMzI0MDBCOTAwMzI0MDA0OTAwOUIKKzoxMEI5NjAwMDNDNDAwRDkwMDNFNDA4QzkwMDNFNjAwQzkwMDMwMjA0QzMKKzoxMEI5NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5NDBBMjY0QjAKKzoxMEI5ODAwMDBCMTgwMjI1MDBEMTUwMzY1MDRFOTAwQTI0MDI4OTQwRUYKKzoxMEI5OTAwMDNBNTEwODk0MDJFNTIyODk0NDJFNjAyODkwMEEyMDAwM0EKKzoxMEI5QTAwMDEwMDAwMDAwMDAwMDAwMDAxODAxMjQwMEIxMDgyMjQwMkYKKzoxMEI5QjAwMDRCOTI4MkE1MDBBOTA4MjI1MDBBMTAwMjBDMDBBOTQwNEYKKzoxMEI5QzAwMDZFNTAwQjk0MDJDNDA0ODk0NDZDNDg4ODEwMDI0NjAwRUYKKzoxMEI5RDAwMDQwMDAwMDAwMDAwMDAwMDAwMDA0MDQwMEIxNDBFMDQwMEUKKzoxMEI5RTAwMDFCMTQwQTA0MDBCOTAwMjQ0MDFBMTAyMjA0MDBBMTAwMEMKKzoxMEI5RjAwMDI4NDAwQTEwMTJDNDAwODEwMjZDNDAwODEyMDI0MjAxNjEKKzoxMEJBMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwOEIwMDAzMjAwMjcKKzoxMEJBMTAwMDRGODAwMkExNTBFMDUwMzIxNDBFQTUyMzIxNDBFODUwN0YKKzoxMEJBMjAwMDNFMTQwRjg1MDNFMTQwQzg1MDFFMTQwQzg1NDM2RTAzN0QKKzoxMEJBMzAwMDUwMDAwMDAwMDAwMDAwMDBEODE5RTUwMEZENDAzRTUwMTUKKzoxMEJBNDAwMDBGNzQwM0E1MDA1RDAwM0U1MDBBNTAxM0Y0MDBEOTAwQTYKKzoxMEJBNTAwMDNBNTAwRDkwMTNFNDAwRkYwMDNFNTAwRjkxMDNBNjA2RUMKKzoxMEJBNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjY5MEJERTgyMzZCOTAKKzoxMEJBNzAwMDBCREEwQjM2ODBDOTAwMzI2ODQ2OTA0M0U0MDA0OTAwNzcKKzoxMEJBODAwMDMyNjgwQzkwMDMyNDQwRjkwMDMyNjAwQzlDMDNDNjAxMUMKKzoxMEJBOTAwMDYwMDAwMDAwMDAwMDAwMDA3ODEwRTEwMEI4RTBBMjExOTIKKzoxMEJBQTAwMDBCOEUwQTIzMjI4ODgwMkEzMTI4ODgwMjYyMDA4ODgwMkYKKzoxMEJBQjAwMEEyMzAyODg4OEEyMjAwQjhBOEEyMzkwOENBMDJDRTA0NzcKKzoxMEJBQzAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzUwODIxMDAwMDQwQ0IKKzoxMEJBRDAwMDAzMTQ4Mjg1ODBBRDA4MjE1Mjk4NTA4MjM0MjM4NTA4NTIKKzoxMEJBRTAwMDIxNTIwODUwMDY1NDAwQjUyMDIxNUEwOTU0MDJEMjAxQUYKKzoxMEJBRjAwMDMwMDAwMDAwMDAwMDAwMDAxODExQTQwMEI5NjEyMjQwQ0QKKzoxMEJCMDAwMDBCOTAwNjA0MDBBRDAwNjk0MDA4RDAwMjc0MDA4NTAwNjcKKzoxMEJCMTAwMDAxNDAwMDcwMDY3NDA0QjUwMDIzNDAwOUQwMDJDNjA0MzkKKzoxMEJCMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE0QTQwMEU5MDAzMjQwMDIKKzoxMEJCMzAwMDRGOTUwQkE0MDBFOTAwMzI0MDhDOTAwMzI0MDBDOTAwMEIKKzoxMEJCNDAwMDMyNDAwQzkwMDM2NDA4RjkwMDMyNDAzRDkwMDNFODA0NTEKKzoxMEJCNTAwMDcwMDAwMDAwMDAwMDAwMDA2ODAxQTQwOEY5MDAzRTQwRTkKKzoxMEJCNjAwMDRGOTA4QkU0MDREOTAxM0U0MDBEOTAwMzY0MDBEOTAxNEQKKzoxMEJCNzAwMDNFNDAwRjkwMDNBNDAwRjkwMDNDNDAwRTkwMDNEQTAwMTEKKzoxMEJCODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4NDAzNjIwRUYKKzoxMEJCOTAwMDE3ODQwMzIwMjFDODAwN0UwMjJDODA0MzIwMDBFODAyODUKKzoxMEJCQTAwMDNFMDEwRjgwMDNFMDAwQzg0MDFFMDAwRjgwMDNDQTA0NUUKKzoxMEJCQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MkE4OEI2MDIyM0EwMEIKKzoxMEJCQzAwMDBCRUM0MjJCMDBEMjgwNkVCMTA4QTAyMjA4MDBFQTA0RTAKKzoxMEJCRDAwMDNBODA5RkEwMDNBODAwOEEwNDJFODAwQkE4MDJDQTAwMDYKKzoxMEJCRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIyMDBBNEUxNjUKKzoxMEJCRjAwMDhCQjQzMjQ3NDU4MzkwMkNGNDRCMzgxMjBFNDRBMzAxOEEKKzoxMEJDMDAwMDJDQzA0QjMwMDJDRTAwOTMwMDZDQzAwQjM4MDJDQTAwMkYKKzoxMEJDMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwMEI3NDQyMUMyMzkKKzoxMEJDMjAwMDBCNTQwMjU0MDU4NzAwMkM0MDlCNkMwMjE4MTBBNzA0OEIKKzoxMEJDMzAwMDI5QzAwQTcwMDI5QjAwOTcwNDBEODAwQjYwODJFODAwMDcKKzoxMEJDNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEYzODAzNUUwNUUKKzoxMEJDNTAwMDBCMzgwMjUyMTA4NDgwMkRBMDBGRjgwQjFFMDBFNjgwRDYKKzoxMEJDNjAwMDFEQTAwQjY4MDNGRTAyRDY4MDNERTAwRjc4MDNFQTAyQjgKKzoxMEJDNzAwMDAwMDAwMDAwMDAwMDAwMDAwQTFEQUMwMEZCMDAzRUMxRjcKKzoxMEJDODAwMDhCOTAwQjgwMEFCODAxMkUwMDBDQjAwM0U4MDBGQTAwN0MKKzoxMEJDOTAwMDNFQzAwRkEwNDNFQzAwRUIwMDNFODAwRkE2MjNDMjAyODMKKzoxMEJDQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZFODAzMzIwNjAKKzoxMEJDQjAwMDRFQzkxMkY2NTBFRjkwM0ZFMDBDMTkwMEI2NDJDRjIxNkEKKzoxMEJDQzAwMDNGRTAwRUY5MDJFNkMwRkY4MDNGRTA0Q0RDMDM0MDAwOUQKKzoxMEJDRDAwMDcwMDAwMDAwMDAwMDAwMDBBQTExOTQwMEI3MDA4MTQwMkQKKzoxMEJDRTAwMDA4MDMwMjE0QzQ4NzAxMkRDODA4NkExMjM4NDA4NzAyNkQKKzoxMEJDRjAwMDJEQzAwODcxMTJEMjgwQjcwMDJEODAwODYwMDIyQTA0N0UKKzoxMEJEMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MTAyMTgwQ0YKKzoxMEJEMTAwMDA4RjQxMjk0MDRBNjAwMkNDMDE4RDIwMjE0NDg4NjEwMEQKKzoxMEJEMjAwMDJEODAwQTYxMzJENDAwQjYxODJEQzQwODU4MDIwMDEwQzQKKzoxMEJEMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0QzQwMEIzMDAyMEMwNTgKKzoxMEJENDAwMDQwQjAyMjA0MDA4MjgxMENDMDA4MzAwQTBBMDA4QTAwMzgKKzoxMEJENTAwMDJFQzAwOEEwMDJDNDAwQkIwMDJFODAwODIwMDIwODA0RTgKKzoxMEJENjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEZCMDBBMEMwREYKKzoxMEJENzAwMDI0OTQyM0FDMTBFQkEwMEVDMDBDQjAwMjJFMjBDOTAwRkUKKzoxMEJEODAwMDJFNDAwRTkwMDNFQzAwRjk4MDNFNDA2Q0EwMEIyQTA0N0MKKzoxMEJEOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQ0MwMEZCMDAzRUMwRkUKKzoxMEJEQTAwMDg5OTAwMzJDMDBGQjAyM0U0MDRGQTAwMzZEMDFGQjQxMzQKKzoxMEJEQjAwMDNFQzA4RkI0MDNFODAwRkIyMDNFNTAwRkE0MDNFMDAwMTgKKzoxMEJEQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEMzMjBCMkMwRTEKKzoxMEJERDAwMDBERDAwMzM4MDBDRDAwM0Y4MDBERjAwM0ZDMDBGRDAyQzQKKzoxMEJERTAwMDM2MDAwQ0QwMDMzRjA4RkMwNDEyQzAwQ0EwMDNDMDQ0NzIKKzoxMEJERjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NkMwMjhCQzgyMkMwRUMKKzoxMEJFMDAwMDA4OTgwQTJBNDA4OTIwMkUwMThFQjAxMkVDODBCQkYwREYKKzoxMEJFMTAwMDIyRTUwOEJEMDIyRTAwQkI5MDIyRUQwOEEyMDJFMDAwNDAKKzoxMEJFMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMDEyMjAwQTMKKzoxMEJFMzAwMDQ5QTgxRTA0MDA4QjAxMkVDMDQ5OTAwMkU0MDBCOTAwRkQKKzoxMEJFNDAwMDIyNDAwQTkwMDIyQzAwQjkwMDJBNDAwODgwMDJFMDAwM0IKKzoxMEJFNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDgxMDAyMDQwQjEKKzoxMEJFNjAwMDA4MjAwMjA0MDA4MzAwMkNDMDBBMjA0MkNDMDBCMzAwNEEKKzoxMEJFNzAwMDIwQzAwMjMwMDIwODg0QjMwNDA4NDAwODIwMDJDMjExMjYKKzoxMEJFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMDhCMDBCMjgwN0MKKzoxMEJFOTAwMDBEQjEwMzI0MDJDQjAxM0VDMDREOTA0M0U0MDBGOTAwRjQKKzoxMEJFQTAwMEIyMDAyRTkwMEIyQzgwRjgwMEJBQzAyQzgwMDNDMDAzODcKKzoxMEJFQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjQwMDdEMDAzRkMwMDUKKzoxMEJFQzAwMDBGNzIwM0Q0MDBGRjAwM0ZDMDBFRjE0N0ZDMDBGRjAwREIKKzoxMEJFRDAwMDNCQzAwREYwMTNGQzUwRkYwMDM3QzAwRkUwMDNFODA2MzUKKzoxMEJFRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjBDNENDMzMzRjA0MjcKKzoxMEJFRjAwMDJDRjYwMzM4NjBDQzkwQjMyMDBGRjEyM0YwNjBGRjAxRTMKKzoxMEJGMDAwMDIzQzgwQ0YyOEEzQzgxREYzMDNGNjQwQ0Q4MDMzMDA0MzQKKzoxMEJGMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTBDMjhBMzAyRTE4N0YKKzoxMEJGMjAwMDA4RjUzMEE1OTQ1ODIyMjIyMTRCRjMwMkUxMDA5RjcwQkUKKzoxMEJGMzAwMDJCRTQwQUY0MTIxRDQwQUY3MjJDNDkyRjMwODJBMDA2NjgKKzoxMEJGNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQ4MDgwQTAyQzk4MEMKKzoxMEJGNTAwMDA4MzIyMjA4MDA4MjAwMjgwMDAzMzIwMkMwODRCMzBDOTkKKzoxMEJGNjAwMDIwQzA1ODMyOTI4QzMwQTMyMDJFQzA0ODEyNDI2MjAxNjkKKzoxMEJGNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTgwMDhCMDAyRTIwRkIKKzoxMEJGODAwMDA4QjAwQTIwMDE5ODAwMkEyMjBCQjAwMkU2MDA5QjAwQUMKKzoxMEJGOTAwMDIyQzAwQUIwMTJBQzA0QUIwMDJFQzAwM0IwMDJGMDAwMDUKKzoxMEJGQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RTUwMEM4MDAzRUIwODEKKzoxMEJGQjAwMDBDQjAwMzI5MDBDODAwM0EyMDRGQjAwM0UyMjBGQjAxNzcKKzoxMEJGQzAwMEIwQzAwQ0IwMDMyQzAwRkIwMjNDNDEwQzkwNDM0ODA0NzEKKzoxMEJGRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQTI4MEZFNDAzRTAwNzIKKzoxMEJGRTAwMDBGRjA2M0VDMDBCRkM0MTc0MjBGRjAwM0VDMDBGRjAwM0EKKzoxMEJGRjAwMDFGQzEwRkIwMDM1QzAwRkIwMDNGNDA0RkYwMDBCODAwRDIKKzoxMEMwMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTUwMkM4MDAzRTkwNDMKKzoxMEMwMTAwMDJDQjAwQjAxMDZDQjAxM0U1MDVGQjAxMzIxMTBDQjAwQkEKKzoxMEMwMjAwMDdFQzAwQ0IwMEIyQzAwQ0IwMDMyQzAwQzkwMDMxMDA0NkYKKzoxMEMwMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MjgwMThCRDAyQzM0MkYKKzoxMEMwNDAwMDQ4RkYwMjMwMDBBQTA0MkU2OTBGRjAwMzY4MTBERjAwRDkKKzoxMEMwNTAwMDJGRDQwREYwMDIzRTAwNUYwNEI2QzAwOEIwMDM3MjAwOUEKKzoxMEMwNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1Njk5MDgxODAyQzAwODUKKzoxMEMwNzAwMDQ4QjgwMjA4MDk5OTAwNENCMDBCMzAwMjBDMDA4QjAwNDQKKzoxMEMwODAwMDJDQzAwOUIwNDAwQzQwODMwMDAwNDAwQTkwMDIzMDAwRjAKKzoxMEMwOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTYwMDg0ODgyREU0RkMKKzoxMEMwQTAwMDQ4MzkwMjE2MDBCNDgwMkRFMDBBN0IwNjVFMDA5NzgwQjYKKzoxMEMwQjAwMDJERTIwOTc4MDIxRTkwOTc4MDI1NjQ4QTc4MDI0ODAwNTQKKzoxMEMwQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEQwMDgxMTAyQzk2ODAKKzoxMEMwRDAwMDA4MzEyMzBDMDA5MDIwM0NDNDFCQjgwMjA4NDBDMzAwNjgKKzoxMEMwRTAwMDJDQzQwRDMwMDMwRTQwQzMxMDMwQzA0RTEwMDcxQTEyN0UKKzoxMEMwRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMDdEMDUzRkM1QTEKKzoxMEMxMDAwMDBGQjEwQkY0MDBFRjAwMUY0NTBGRjA0M0ZDMDFGRjQwOUYKKzoxMEMxMTAwMDNEQzQxRkYwMDZGQzEwRkYwMDNCQzEyREYxMDNEMDA2MEIKKzoxMEMxMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwNENCMDQzRUEwNjUKKzoxMEMxMzAwMDQ0QjYwMzI4MDRDQjgwMzI4MDBGQjM5MzYwMDhGQjIwMDEKKzoxMEMxNDAwMDNFRDIxRkIzMDMyRDgwRkI2MTdFNDA4Qzk4MDMyQTAwRjIKKzoxMEMxNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExODQwQzg2MDUyREMwMEUKKzoxMEMxNjAwMDA4RjQ4MjhDOTA4NTAwQTFDMDBCRjAwMjVDMDAzNzAwQkYKKzoxMEMxNzAwMDJERDAwQjcxMDIxQ0M4Qjc0ODJENDAwQTcwMDIxMjA0NjIKKzoxMEMxODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMDg3ODAyREExMUMKKzoxMEMxOTAwMDYwNzg0QTE2RDBBNzgwMjlFMDBCNzg1Mjk2MDFCNzkwQjQKKzoxMEMxQTAwMDJERTgwQjdBMjI1RTQwQjdBMDJGRTE0ODUwMjIzMDAwRTQKKzoxMEMxQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MxMDgzODQyQ0MwMzQKKzoxMEMxQzAwMDA4MzAwMkE0MTA4M0NCMjhFMDBCMzAyQTRGNDA5MzAwQTQKKzoxMEMxRDAwMDJDQzAwQjMwMDI0QzEwQjMwMjJDQzBBQTMwMDIxMjA0NDcKKzoxMEMxRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QjgwMENFQTAzRjgwM0QKKzoxMEMxRjAwMDRDQTAyQjNBMDBDRTQwM0JCODBGQTAwM0I5MDBCQTAwQzgKKzoxMEMyMDAwMDNFODAwRkEwMDM2ODAwRkEwMDdFODAxQ0EwMEIzQTA0NTkKKzoxMEMyMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMkY4MDAzRTA0NUEKKzoxMEMyMjAwMDhGMDAwM0UwNEFGODEwMjYxODBGODAwM0EwODBGODAyNjAKKzoxMEMyMzAwMDNFMDA4RjAwMEJBMDAwRjgwMjNFMDAwRjgwMTNEMjAwREEKKzoxMEMyNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQyMEM5MDAzMjQwNjcKKzoxMEMyNTAwMDREOTkwMzI0MDBDOTAyM0U2ODBGOTAwMjI0MDBFOTAwQjIKKzoxMEMyNjAwMDMwNDA4QzkwMDMwNDQwQzkwMDNFNDAwQzkwMDMwMjA0MEYKKzoxMEMyNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQyMDg5MDYyMjUwODUKKzoxMEMyODAwMDhCOUNDMjI0MDBEOTAxMkU0MDBCOTA0MjI0MDhCOTAxOTYKKzoxMEMyOTAwMDIyNDYwRDkwMEEyNjAyODkwMDJDNDAwQTEwMDIyMDAwMzYKKzoxMEMyQTAwMDEwMDAwMDAwMDAwMDAwMDAxODAxMDYwMDkxNDA0MjcwREMKKzoxMEMyQjAwMDBCOTAxMjJDMDI4QjAwMkU0MDBCMTAyMkU0MTBCMTAwQzgKKzoxMEMyQzAwMEEyNDA0ODkwMTIyNDA4OTkwMjJFNDAwODkwMDIwNjAwQ0QKKzoxMEMyRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ5MjkxMjBFMDQ4QTMKKzoxMEMyRTAwMDBCMTIwMjA0MDI5MTEwMkNDMDBCMTAwNjg0QzBCMTEwNzYKKzoxMEMyRjAwMDIwNDg4OTExMDIwNTgwOTE0MDJFNDQyQTk0MDIwMjAxQUYKKzoxMEMzMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEQ4NTAzMDE0NUIKKzoxMEMzMTAwMDBGODUwQjIxRTA4MDQwM0UwMDBGODc4QkUxMENGODZDMEQKKzoxMEMzMjAwMDMyMDA4NDA2ODMyMDA0RDgyODNFMTAwQzAwMDMyRTAzMUMKKzoxMEMzMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEFEMTAzRjQ1ODMKKzoxMEMzNDAwMDBGOTEwM0ZDMTg3RDIwMUY0MTBGOTAwMzc0QzBGOTIxNDkKKzoxMEMzNTAwMDNFNDQwRjkyMDFFNDQwRTkwMDNENDg0RkQwMDNFNjA2MTkKKzoxMEMzNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1Rjc4MEZERTAzMzcwNDkKKzoxMEMzNzAwMDBDREEwMzI2MjBDOTQwMzE0MDBFOUEwMzI0MDBGOTgwQ0MKKzoxMEMzODAwMDNCNjAwRjlDODMzNkEwRjlBMUIwNDAwRjkxMDNDNjAwMUIKKzoxMEMzOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTI5MEI4QTAyMjI4RDEKKzoxMEMzQTAwMDI4ODgwQTIyMDI4OEEwMjIwMDA4ODgwMkMyODBCODg4NTEKKzoxMEMzQjAwMDIyMDQwQjhFMDMyMjgwQjhEMDJBMjAwQjg4MDJDRTA0RTAKKzoxMEMzQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzU4MEIxNjEwMDU4ODEKKzoxMEMzRDAwMDQ4MTY4QTA0QTA4OTAxMjI0MDFBMTQ4ODA0MjBCMTQwMUEKKzoxMEMzRTAwMDI4NDAwQjEwMEEwNDIwQjEyQzIwNEEwQjEyMDJDMjAxNzMKKzoxMEMzRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTU5MEJCNDAyMDQwMTAKKzoxMEM0MDAwMDA4OTAwMjI0NDA4OTQyNjI1ODA4MTAwMkU1MDBCOTAzRUUKKzoxMEM0MTAwMDIyQzAwQjkwMDJBNDE0MzEwMDJBNDQwQjkwMDJDNjA0REYKKzoxMEM0MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDEwQTUwMEY5MDEzMjQwRUIKKzoxMEM0MzAwMDhDOTAwMzI3MDBDMTk0MzA0MDBFOTAwMzI0MDBGOTAwMzMKKzoxMEM0NDAwMDNBNDAwRjkwMDMyNDAwRjkwMDMyNjAwNzkwMjdFODA1NzYKKzoxMEM0NTAwMDIwMDAwMDAwMDAwMDAwMDAyODAwQTQxOEY5MDBCRTQ0REQKKzoxMEM0NjAwMDBGOTAwM0M0MDBGOTAwQkU2MThGOTAwM0E0MDBGMTAwOTcKKzoxMEM0NzAwMDFFNDAwRjEwMDMyNDA4RjkwMDdFNDAwRjkwMDNDQTAwRUQKKzoxMEM0ODAwMDIwMDAwMDAwMDAwMDAwMDAyODEwQTE4MUY4MDAzMjA0MDQKKzoxMEM0OTAwMDBDMDBEMzIxMDBEODA0M0ExNDlDODAwMzIxMDFDODAwNjkKKzoxMEM0QTAwMDM2MDAwQzgwMTMyMDEwQzgwMDMyMDAyQzgwMDNDQTA0MTAKKzoxMEM0QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA0M0EwMEJFODQyMzg1MEMKKzoxMEM0QzAwMDA4RUM4MzY4MDQ4QTAwMkY5MDREQTAwMjI4MDFEQTAwNEUKKzoxMEM0RDAwMDIzQjAwQUEwMDIyQTA4REEwMTIyODAwRkEwMDJDQTAwQjMKKzoxMEM0RTAwMDAwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEJCRjAyMEMwNDgKKzoxMEM0RjAwMDA4M0MwQTBDMDA5MzAxMjhDODg5MzAwNjRDMDA4MzAyQ0UKKzoxMEM1MDAwMDJDRjYwODMwMDIwNDAwQTMwMDIwQzAwQTMwMDJDQTAwNDIKKzoxMEM1MTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUQxMUIzMDBBMEMwNjkKKzoxMEM1MjAwMDA4NTAwMjVDMTA4NzAxNkQ4MTQ5MzI1MjFFQzM4NzAwOUEKKzoxMEM1MzAwMDI4RTAwQTMyMjYxRjAwMzcwMDIzRTAwQjcyMDJDODAwRjEKKzoxMEM1NDAwMDQwMDAwMDAwMDAwMDAwMDAyODA4MTIwMEI3ODIzMTIwREYKKzoxMEM1NTAwMDA4MDgzNzBGMDhEN0UwMzk2MDE5N0EwQjVFMEM4M0IyRjAKKzoxMEM1NjAwMDdERTAwQzdBMEIzRTAyQUZBMEIxRTAwRTdBMDNDQTAyNjYKKzoxMEM1NzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQTAxMEZCMDAzRUMwRUQKKzoxMEM1ODAwMDZGQjA0M0VDMTFGQjAwM0U0MDBGQjUwM0VDMjBGQjUwQjUKKzoxMEM1OTAwMDM2MDAwRkI1NDNFNUExREI3ODNFQzAwRkI0MDNDMjA2RjkKKzoxMEM1QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUwMEZGQTAzRkEwNkEKKzoxMEM1QjAwMDBEQzkxMzNFMDBDRkQwM0RFODAyRkYxMzNFMDBDRjgyRUQKKzoxMEM1QzAwMDNGNjAwQ0ZDMjMzRTEwRUY4MDMzRjIwQ0ZDODMxMDAwMjQKKzoxMEM1RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUM0MEI1MDEyREQwQTMKKzoxMEM1RTAwMDA4NTgwMjFDNDA1NzEwMkQ1QTI4MzEwMkJDMDE5NzEwRTAKKzoxMEM1RjAwMDJEMDAwQTcwMDI4NDA0Q0YwMDI5QzAwQUYwMDIyQTA0MjgKKzoxMEM2MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTAwMEI3MkEyRDgyQUEKKzoxMEM2MTAwMDA4NDIyMjNDMDA4NzExMERDQzg4MzIwMjFEMDA5NzAwOTEKKzoxMEM2MjAwMDJDQzQwODMwMDIxNDAwQTcwMDIzQzAwOTcwODIwMDAwNDcKKzoxMEM2MzAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0QzAyMEIwMjAyQzUwM0EKKzoxMEM2NDAwMDA4MTAwMjJEQzA5M0UyMkMyMTA4MzAwMjBFMDg5MzAwM0UKKzoxMEM2NTAwMDJDNDAwQTMwMDI4QzAwOTMwMDJBQzAwQjMwMDIxODA0RDAKKzoxMEM2NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEY4QzAzRTgwQkIKKzoxMEM2NzAwMDJDQTAwQjNGMDBDNzYwM0VEMDBDRjAwQjNDMDBDRjAwNUQKKzoxMEM2ODAwMDNFODAwQ0YwMEIyQzAwRUYwMDMzQzEwREYwMEIyQTA0QTAKKzoxMEM2OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUM0MEYzNDAzRTUwQ0QKKzoxMEM2QTAwMDhFQjQwM0VDMTBGQjAwM0UwOTBGQjAxM0VDNDJFQjAwMUMKKzoxMEM2QjAwMDNDMDA4RkIwMTNDNDExRTMwMDNFQzAwRUIwMDNFMDAwOTUKKzoxMEM2QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZDODAzMTIyNUUKKzoxMEM2RDAwMDBDQTgwMzNDMDBDRjAwMzNBMDBFRjAwM0RDMDBDRjAwMTkKKzoxMEM2RTAwMDFGRjAwQ0YwMDNGNDAwQ0YwMjMzQzAwQ0YwMDIwMDU0MzIKKzoxMEM2RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkYwMEJCQzAyMjcwMDkKKzoxMEM3MDAwMDBBQjk0MjJDMTA4QjAwNzYxMTgzQjAwMkVDMTBBQjAwRkEKKzoxMEM3MTAwMDJFQjAwQUIwMDNFQzA0OEIwMEEyQzAyOEIwMDIyMDQwNjcKKzoxMEM3MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1NjU0MEI4MjAyMjQ0OTEKKzoxMEM3MzAwMDU4MzQwQTJDMDA4QjAwMjI4NDRCQjAwMkVDMDA4QjAwOTIKKzoxMEM3NDAwMDZFQzAwOEIwNDJFNjA0OEIwMDAyQzAwODMwMDJBMDAxQUYKKzoxMEM3NTAwMDQwMDAwMDAwMDAwMDAwMDAwQzAwMDAwMEIxMDAyMEMwRkMKKzoxMEM3NjAwMDBBMzAwQTBDMDA4QjAzMjQ4MDBCMzAwMkNDMDBBMzAwOUIKKzoxMEM3NzAwMDZDMDAwQTMwMDI4RDAwODMwMDIwQzAxODMwMDI4MjAwNTUKKzoxMEM3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NjQwMEY4MDAzMDAwMTUKKzoxMEM3OTAwMDRDQTAwQjJDMDJDRjAwMjI0MDBFRjUwM0ZDMDBDRjAxNzEKKzoxMEM3QTAwMDNFMDAwQ0YwMTJERDAyQ0YwMjMzQzA0Q0YwMEI4MDAzRDAKKzoxMEM3QjAwMDEwMDAwMDAwMDAwMDAwMDBBNDE5RjAwMEZDMDAzRjQwNDEKKzoxMEM3QzAwMDBGQjEwM0RDMDBCRjAxM0YwMDBGRjIyM0ZDMTBGRjAwOUMKKzoxMEM3RDAwMDNGMDAwRkYwMDFGNDg0RkYwMDNEQzA0RkYwMTM2ODA2RTYKKzoxMEM3RTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkU0MERGODAzM0M4N0MKKzoxMEM3RjAwMDBDRjgwMzNDMEE5RkMwM0ZGMDA4QjgwMjNFMDBGRjgwREYKKzoxMEM4MDAwMDNGRDgwQ0Y5NjEyRTQwNkY5MDNGRTQ4RkYxODMzMDAwRTgKKzoxMEM4MTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUMwNDhCODAyM0YwMEEKKzoxMEM4MjAwMDA4QjgwMjNENDBBQjAwMEUwODQ4MjI4MjZDMjBCQjAwRDUKKzoxMEM4MzAwMDJGRDA0OEIwMDIyQzAwQkIwMDJFQzEwQkIwMDIzMDA0MzgKKzoxMEM4NDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MwMjgzMDFBMEM1NzQKKzoxMEM4NTAwMDA4QjA0QTRDQTA4MDI0MjhDODA5MzIwMjRDMDBCMzA4MTIKKzoxMEM4NjAwMDJFRDEyOUIyM0EwQzg0QTMyMTJDQzg0QkIyMEEzMjAxMzIKKzoxMEM4NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwODhCMDAyMkMwNTIKKzoxMEM4ODAwMDA4QjAwMjRDMDA4ODIxMjQyMTA5QjA0NjZDMDBCQjA2ODgKKzoxMEM4OTAwMDJFQzAwOUIwMDIyQzEwQkIwMDJFQzAwQkIwMDIzMDA0MTkKKzoxMEM4QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMENCMDAzMkMwMkEKKzoxMEM4QjAwMDBDQjkwMjZDMDBDQkM4M0FDMDJEOTAwQjJDMDhGQjAwQzEKKzoxMEM4QzAwMDNFQzAwRDMwNDIyQzAwRUIwMDNFQzAwRkIwMTMwMDA0MDAKKzoxMEM4RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMwMEVGMDAzREMwNUYKKzoxMEM4RTAwMDBGRjAwM0JDMDZFRjgyM0Y0MDRFQzk4M0JDMDBGRjAwM0YKKzoxMEM4RjAwMDdGQzAxQ0YwMTM3QzAwRkYwNDNGQzAwRkYwMDNGODAwNjIKKzoxMEM5MDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDIzRUMwRDAKKzoxMEM5MTAwMDBFQjAwM0FDMjBEODQwM0VDMDhDOTAwQjJDMDBGQjAwMjYKKzoxMEM5MjAwMDNFQzkwREIwMzNFQzA4RkIwMjNFQzAwRkIwMEI1NDA0RkYKKzoxMEM5MzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEIzMDAyRkMwM0MKKzoxMEM5NDAwMDBCMzAxMkZDMDA4OEEwMkU0MDI4OTQwMjJDMTBCQjA0NEYKKzoxMEM5NTAwMDJEQzAyOEIwMDJFQzAwQkIwMDJFQzAwQjcyMDYzMjAwQzYKKzoxMEM5NjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NkMwMEIzMDAyQ0UwNzcKKzoxMEM5NzAwMDBBMTAwMkNEMDA5MzAwMkNDMDA4QjAwMjRDMDBCMzAwOTYKKzoxMEM5ODAwMDI4QzAwODMwMDJDQzAwQjMwMDJDQzAwQjMwMDIzQTAwQTMKKzoxMEM5OTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUU0MEI3ODAyREUyODIKKzoxMEM5QTAwMDBCNTgwMkRFMDI5NzgxMkZBMDA4NjgwMjVFMDBCNzgxNTMKKzoxMEM5QjAwMDJGRTAwODc5MDJERTAwQjc4MTJERTAwQjc4MDIzQzAwMDEKKzoxMEM5QzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEYzMDAzQ0MwREMKKzoxMEM5RDAwMDBFMzIwM0NDODBEMzAwM0NDNDBDMzkwMzRDMDhGMzFBNEMKKzoxMEM5RTAwMDNDQzYwRDMwMDNDRTIwRjMwODNDQzAwRjMwMDM1MjAyOEEKKzoxMEM5RjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQUMwMEZCMDAyRUMwNDUKKzoxMENBMDAwMDBCQjAwM0NDMjBFQjAwM0M4MDBGQjA0MUFDMDBGQjAwMkUKKzoxMENBMTAwMDNDQzIwRkIwMDNFQzQwRkIwMDNFQzAwRjMwMDNEMDA2MTkKKzoxMENBMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUUwMkMzODAzMENFQzgKKzoxMENBMzAwMDBEOTgwM0FDQTBDMzgwQjJDMDBGQjAwM0VDMDBGQjAwQTQKKzoxMENBNDAwMDNFRDI0RkIwMDkyRTA4NEIwMTNFQzAyNEIwMDNFQTAwOEQKKzoxMENBNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMDg3MDEyMUMwMDgKKzoxMENBNjAwMDQ4NTAxMjRDMDA4NzAwMzVDMDRCNjAwMkRDMDRCNzAxMEYKKzoxMENBNzAwMDJEQzAwQjcwMDIxQzAwODcwMDJEQzEwQzcyMDJGMjA0NDUKKzoxMENBODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMDg3ODAyM0UwREUKKzoxMENBOTAwMDA4RjgwMkRFODA4RjgxMjFFMDRCNzgxMkRFMDQzNzgwQjcKKzoxMENBQTAwMDJERTgwQkY4MDIzRTE4ODc4MDJGRTAwOTc5MDJFMDAwOUMKKzoxMENBQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMDgzMDBBMEMwNEIKKzoxMENBQzAwMDI4MzA0MjRDMDA4MzAwMjRDMDBCMzgwNkNDMDRCMzAwNEQKKzoxMENBRDAwMDJDQzAwQjMwMDIwQzAyODMwMDJDQzAwODMwMDJEMjA0QTAKKzoxMENBRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMENBMDAzMTgwRjYKKzoxMENBRjAwMDA4RTAwMjk4MDJDRTAwMzM4NDBCRUEwM0U4MDBCQTAwOTMKKzoxMENCMDAwMDNGODEwRkEwMDMyODAwQ0EwMDNFODAwREUwMDNGQTA0MTUKKzoxMENCMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMEY4MDAzRTAwNTcKKzoxMENCMjAwMDBFODQyM0EwMDBGODAwM0ExMDBGODAwM0UwMDBGODAwMDQKKzoxMENCMzAwMDNFMTAwRjgwMTNFMDAwRjgwMDNFMDAwRDgwMDNEMjAwOEQKKzoxMENCNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMUY5MDAzRTQwNDEKKzoxMENCNTAwMDBDOUExM0U0MDBDOTAwM0U0MDBDOTgyM0U0ODBGOTAwQ0QKKzoxMENCNjAwMDNFNDAyQzk4MDM2NDAwRjkwMDNFNDAwQzkwMDNDMjA0NDAKKzoxMENCNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNEI5MDAyRTQwNzIKKzoxMENCODAwMDY4OUMyMkU0MDI4OTAxN0M1MDhEOTgyMkU0ODBCOTIwQkYKKzoxMENCOTAwMDJFNTA0ODEwMEIyNTAwQjk0NDJDNDAyODkwMDBFMDAwOEUKKzoxMENCQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MDAyRTUwRkQKKzoxMENCQjAwMDA4OTAwMkU0MDQ4OTAwMkU1MDBBOTIwMkU0MDBCOTAwQjEKKzoxMENCQzAwMDJDNDAwODkxMDIyNDAwQjkwMDJFNDAwODkwMDJDNjAwQjMKKzoxMENCRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDUwMEIxMDEyQzQwRTYKKzoxMENCRTAwMDQ4MzAwMkU0MDA4MTAwMkE0MDRCMTAwMkM0MDBCMTAwMkEKKzoxMENCRjAwMDBDQzAwODkwMDIwQzAwQjMwMDJFNDA0ODEyMDJDMjAxODMKKzoxMENDMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEI4MDEzRTAwMDgKKzoxMENDMTAwMDFDODAwN0UxNTBDODUwMkUxNDFFODUwM0UxNDFGODUwRDYKKzoxMENDMjAwMDNFMTQwQzg1MTMyMTQ4Rjg1MDNFMTQwQzg1NDNFRTAzNDYKKzoxMENDMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODE5QzQwMEY5MDAzRTUxQTcKKzoxMENDNDAwMDBGNTAwM0U1MDBGRDAwM0Y0MDFERDAwM0Y0MTBGOTAwMzQKKzoxMENDNTAwMDNFNTAwRjUwMDA5NDAwRjkwMDNENDAwRjkxMDNFNjA2NEUKKzoxMENDNjAwMDcwMDAwMDAwMDAwMDAwMDAxODAxRTQ1MENEMDAzMTYwQTkKKzoxMENDNzAwMDA0RDAwMzM2ODBDMTQyMkU1MDFGOTQwM0U1MDBFOTAyMjAKKzoxMENDODAwMDJFNzIwQTkwMjIwNTA4RTk0MDNFNTA0MDlDMDMyNjAwN0YKKzoxMENDOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwQzI4Mjg4MDAyMjE1RDkKKzoxMENDQTAwMDA4ODAwMjIzNTg4OEEwMkUyODBCQUE0MkUyODI4ODgwOUUKKzoxMENDQjAwMDJFMzgyODg4MDIyMjgwQjhBMDNBMjgwOENEMDIwRTA0MTcKKzoxMENDQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMDgxMDBBNjQwRkMKKzoxMENDRDAwMDI4MTAwQTI0MjY5NTAwMEQ0MDBCNTAwMjc0MDA4NTA4ODgKKzoxMENDRTAwMDJGNDA3OUQyQUExNDAwQTUwMTJGNDAzODUwMDIxMjAxMUEKKzoxMENDRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwNDg5MDAyNjQwMDAKKzoxMENEMDAwMDA4OTEwMjI0MTA5RDA4MkY0MDBCRDAwMkY0MDA4RDAyRTAKKzoxMENEMTAwMDJGNDAwOUQwMDAzNDAwQkQwMDBCNDAxODcwMDIwNjA0RkIKKzoxMENEMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1QzQwMEM5MDUzNjQxRTUKKzoxMENEMzAwMDRDOTA2MzI0MDBEOTAwM0U0MDBCOTAwMzQ0MDhDOTAwODYKKzoxMENENDAwMDNFNDAxNTEwMDMyNDAwRTkwMDNDNDAwQzkwMDMyODA0RTkKKzoxMENENTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwNEY5MDAzQTQwMUYKKzoxMENENjAwMDRGOTgwM0U0MDBFOTk5M0U0MDRGOTAwM0U0MjBGOTBBMEMKKzoxMENENzAwMDNFNDAwRTkwNDM2NDI0RjkwODNBNDIwRjkwOEJEQTAwNEIKKzoxMENEODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEM4MDAxMjAwOTEKKzoxMENEOTAwMDBDODA0M0UwMDBDODQwMzIwMDBGODQ1M0UwMTBGODAwREMKKzoxMENEQTAwMDNFMDAwRDgwMjMyMDAwRDgwMDNFMDAwRjgwMDMwQTA0QkYKKzoxMENEQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzgwMjgyMDBBMTg4NDEKKzoxMENEQzAwMDA4NjAyMkM4MDA4QTQwMzZBMTBCQTAwMkU5MTBCQTQ0Q0MKKzoxMENERDAwMDJDODAwQ0E0MTIyOTAyOEE0NDJFOTgwQkE0MDIwQTAwNkIKKzoxMENERTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMxMDgzMDAyMEUwRjcKKzoxMENERjAwMDE4MzA5MkM0MDg5MzQwMjBFMDBCMzAwMkNEMDBCMzQwQkQKKzoxMENFMDAwMDJDQzAwQjNBNDJDRDAwODM0MDJDRDAwQjM4MDI0QTAwOTQKKzoxMENFMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDQxMUMwMDg3MDAyMUMwNUQKKzoxMENFMjAwMDI4NzAwMkQxMDA5RDgwMjVDMjRCNjAwMkRDMDhCNzAyNDkKKzoxMENFMzAwMDJDQzAwQTc0MDJGRTAwODcwMDJEQzAwQjM0MDI2ODAwNkIKKzoxMENFNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEM3ODQzMUUwNzgKKzoxMENFNTAwMDBDNjgwM0Q2MDA5NzgwMzFBMDBGNTgxM0RFMDhGNzgyQzQKKzoxMENFNjAwMDNEQTAwRkY4MEJERTAwQzc4MDNERTAwRjc4OEI2QTAyMTMKKzoxMENFNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUQ4MEYzMDAzRUMxNkUKKzoxMENFODAwMDBGQTAyM0MwMDJFOTAwM0U4MTBGODAwM0VDMDBGQjAwRUQKKzoxMENFOTAwMDNFQzAwREIwMTMyQzAwRUIwMDNFQzAwRkIwMDM4MjAyNjkKKzoxMENFQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkYzMkM3ODAzMzYwMTIKKzoxMENFQjAwMDBGNzgwMzNFQzg0RTgwMjM2NDBDRjgwMzNBMDBDRTgwRkUKKzoxMENFQzAwMDEzRUMwNkQ4MDMzQTAwREU4MDMzQTQwQ0M4MDNEMDAwNkMKKzoxMENFRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMDg3MTAwMUMwMzUKKzoxMENFRTAwMDBCNzAwMjE4NTA4NDAwMkI0NDA4NjAxMjk4MDA4NjEzQkYKKzoxMENFRjAwMDIxQzQ4ODUwMDIxODgwODYwMDIxODAwODYxMDJFQTA0NUIKKzoxMENGMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMDg3MDAyMTQwM0QKKzoxMENGMTAwMDBCRjEwMjVDODAwNjAwMjEwMDg4RDAwMjVDMDA4NzAwRDMKKzoxMENGMjAwMDIwODk4QUYxMDIxQzA4ODcxMDIxODE4ODQ4MDJDNjAwRTYKKzoxMENGMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MxMDgzMDRBMEMxRDkKKzoxMENGNDAwMDBCMzAwQTQ4MEM4ODA2NjAzODA4MDQ0MkVDMDE4QjA0NTgKKzoxMENGNTAwMDIyQzEwODMwMEEyQzAwOEIwMDIyODAwMDIwMDJEODA0NTUKKzoxMENGNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEMzMDAyMjgwQjMKKzoxMENGNzAwMDhGOTAwMzY0MEFDQjAyQjJGMjIwMzUxMjY0MEFDOTAwMTIKKzoxMENGODAwMEIyNDAwRUEwMDMyNDBBQzkwMEEyNDAyQ0EwMDNFRTA0NjQKKzoxMENGOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDAzQzgwMEUKKzoxMENGQTAwMDBGOTAwM0E1MDBEQjQwM0VEMDREQjQxM0E0MDhGQjAxNTUKKzoxMENGQjAwMDNFQzAxQ0EwMDM2QzAwRkIwNDNFNTA0RkE0MDNFMDAwRTUKKzoxMENGQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZGMDAzM0MwMzIKKzoxMENGRDAwMDBDRTg0MzI2MDBERjgwQjNFMDBGRjgwMzdDMDBDRDAwQUYKKzoxMENGRTAwMDMzMDQwQ0UwMjMzNDQwQ0QwMDIzNDAwQ0UwMDNFMDA0ODQKKzoxMENGRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMxMEJCMDBBMkQyRDEKKzoxMEQwMDAwMDA4MjgwMjA0NjA4QjE5MjJDNjBFQjE4QTJFNDA4QjkwMkMKKzoxMEQwMTAwMDIyQzEwOEE0ODIyQzAwOEI5MDIyNjQ0OEE0MDJFMDAwNjQKKzoxMEQwMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMEJCMDAyMjAwNjIKKzoxMEQwMzAwMDA4OTEyRTI0MDA5QjAwMjJDMDhCQjAxMjIwMDQ4ODAwOEYKKzoxMEQwNDAwMDIyNDAwODEwMjIyMDAwODgwMTJBRDAwODgwNDJFMDAwRjcKKzoxMEQwNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEIzMDQyMDgwMjEKKzoxMEQwNjAwMDA4MTAwNjA0MTA4MzAwMjBDMDhCQjAxMjAwMDA4MjAwNUMKKzoxMEQwNzAwMDIwQzAyODEwNDIwOTA2ODIwMDI4QzAwODIwMDJDMjAxRjAKKzoxMEQwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEN0MwMEJCMDAzMjQwRUEKKzoxMEQwOTAwMDJDQjAwMzI0MDBEMzAwMzJDMDVGQjUwMzBDMDJDMTAwRTIKKzoxMEQwQTAwMEIyMDAwQ0IwMEIwNTAwQzEwMEI4QzAyQzgwMTNFMDAzMjcKKzoxMEQwQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFEREMwMEZGMDAxRkMwQTkKKzoxMEQwQzAwMDg3RjAwMUY0MDBGRjAwM0ZDMDBFNzA0M0ZDMTA3RjAwQUEKKzoxMEQwRDAwMDNGQzAwRjcwMDNGQzAwRkYwMDM3QzAwRkUwMDNFODA2RkQKKzoxMEQwRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjE4NEZFNjEzMUQ4MkUKKzoxMEQwRjAwMDBDQjJDM0ZDRTBDQzgwN0JDMDBFRjEwMzdDRTBDQzgzOUYKKzoxMEQxMDAwMDNGMjAwRkYwQ0IzMjQ0REM4NDNGMjU0Q0YyNDMzMDAwMEIKKzoxMEQxMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTQ0OEIwMTAyMkRDMjUKKzoxMEQxMjAwMDA4QjYwMkZEOTI4ODg1MjNGNDQwRjEwMkVEMDA4ODJEQjcKKzoxMEQxMzAwMDBFNjAwQkJDMTIyQzEwQTg4MjJFMDAwQUZDMjJBMDA0NDgKKzoxMEQxNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzA4MEIzMjIyOEMwMjUKKzoxMEQxNTAwMDA4MzA4MkNDMDE4ODAwMkNDMDRBMzIwMkNDMDAwMTAxODgKKzoxMEQxNjAwMDI4MDA0QkIwMDJBMDAwODAwMDJDMDkwODM0MDI2MjAxQTQKKzoxMEQxNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwNEIyMTAyQUMxMEQKKzoxMEQxODAwMDA4QjAwMkVDMTA4OTgwMjJDMDA4QjAwMkVDMDg4ODAwQzgKKzoxMEQxOTAwMDJFNDA4M0IwMDJBMDQwQjk4MDJDMjEwQUIwMDJGMDA0RDYKKzoxMEQxQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEZBMDBCQUMwNkEKKzoxMEQxQjAwMDJDQjA0M0VDMDBDMDgwM0VDMDhFQjAwMzRDMENDODEwQjUKKzoxMEQxQzAwMDNFODA4RkIwMDM4MjEwRDg4MjNFMjgwQ0IwMEI1MDA0RjIKKzoxMEQxRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjY4MEZEMDIzN0MxRDEKKzoxMEQxRTAwMDBGQjAwM0ZDMDBGRDAwM0VDMDBGQjA1M0ZDMDJGRjAxNzYKKzoxMEQxRjAwMDJGQTQ4QkYwODM3QzAwQUQwMjJGNDAwMzcwMDNCODAwOTYKKzoxMEQyMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDQzMkMwRDEKKzoxMEQyMTAwMDRDQjAyMzJDMDBGODQwM0VDMjBDQjAwMzJDMDBGQjQxNjQKKzoxMEQyMjAwMDMyQzIwRkIwNDMyRDAwQzg1MDNFNDAwQ0IwMEIxMDA0NkEKKzoxMEQyMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkY5MEI5NTAwM0MwNzYKKzoxMEQyNDAwMDE4RjAxQTNDMDBCOTMyMkRFMDM4RjA2MDNDMDRGOTAwQzcKKzoxMEQyNTAwMDNFRjAwQjdDODAyQzAwRDlDMDJFNDAwREYwMDIzMjAwMzUKKzoxMEQyNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEIyNEIyMTAwMkMxQTUKKzoxMEQyNzAwMDI4MzAwMjZDMDRCMkMxMkNDMDA4MzAwMDBDMDBCMjAwOEYKKzoxMEQyODAwMDI4MjQwMzNDMEEwMDAwODJDODJDQTAwODMwMDIzODAwODEKKzoxMEQyOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTYwMEI0ODAyMUU0Q0UKKzoxMEQyQTAwMDQ4N0IwMjVFMDBCNjgwNkRFMjQ4NzkyMjFFNDBBQzg0NjUKKzoxMEQyQjAwMDJERTAwQkZBMDA1MjQwOTY4MDJERTgxOTM4MDIwODAwNDQKKzoxMEQyQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDg0MEYzMTBCMEM0MEYKKzoxMEQyRDAwMDA4M0EwMjRDOTBGMzEwM0NDQzA4MzEwMzBDNDlCMDQwQTIKKzoxMEQyRTAwMDMwMDUwRjMwMDcyMTQwNDMwMTNFQzIxQzMwNDMxMjAyN0IKKzoxMEQyRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDBEQkMxMEZDMTAzRkM1MDUKKzoxMEQzMDAwMDBGRjEwMUJDMDRGRjA0M0ZDNDBGQjE0QkZDNjRGNzAwRjQKKzoxMEQzMTAwMDM3QzAwRjcyNTNBQzQ0RkYwMTNGQzkwRkY0MDNEMDA2NkUKKzoxMEQzMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwOEZBMDAzRUUwRTQKKzoxMEQzMzAwMDBDQjAwMzJDMDBDQjAyM0VDQTBGQjIwNzJFMDBEQjAyNUEKKzoxMEQzNDAwMDMyMDgwRjMxMDMyQzAwQ0IwNDNFODAwQzM1MDMyQTAwMzkKKzoxMEQzNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMEI1MDAyREM4QzYKKzoxMEQzNjAwMDA4NzAwQTFDMjI4NzAwMkRDOTBCRjI4MjlDODBBNjAwM0YKKzoxMEQzNzAwMDA5OEIwQjcwMEExQzAyODUwMDJENDAwODcwMDI5MjA0NzQKKzoxMEQzODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3ODAyQ0VDOTAKKzoxMEQzOTAwMDA4N0IwMjVFNDA4NTg5MkRFQzhCN0IwMjRFODQ4RjgwNUEKKzoxMEQzQTAwMDI1NjQwQkZBMDIxMjA4OTc4MDZGRTEwODdBMDIzMDAwQjgKKzoxMEQzQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MyMEIzNjQyQ0MwMDIKKzoxMEQzQzAwMDA4MzAwNjBDMTA4MzhBNkNDMDVCMzA0MkNDMDBBQjEwNzYKKzoxMEQzRDAwMDJDRjIwQjMwMDIwRDAwOTMwNDJDRDUwODMwMEE5MjA0NzUKKzoxMEQzRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkIwMEZFQzAzRTgwRDkKKzoxMEQzRjAwMDJDQTAwMzY4MDBDNjQwM0Y4MDBGQTAwMjY4MDBDRTQ0MDYKKzoxMEQ0MDAwMDM2OTA0RjYwMDMxQjcwREVEODNGQTAwQzIwMDMzQTA0MTcKKzoxMEQ0MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTA0MEY4MTAzRTAwRkUKKzoxMEQ0MjAwMDBGODAwM0EwMTBGODQyM0UxMDFGODAwM0EwMDBFODBDRkMKKzoxMEQ0MzAwMDNBMDQxRjgwMDNFMDAwRTg0NTdFMDIyRjgwMDNEMjAwRkIKKzoxMEQ0NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwNjQwMEU5ODAzMjQwNTUKKzoxMEQ0NTAwMDBGOTAwQjA0MDhEOTgwMzY0MDBGMTAxMzI0MDhGOTAwRjAKKzoxMEQ0NjAwMDcyNzAwRjkxMTMyNDEwQzkxMDNFNjkwQzkwMDMwMjA0Q0UKKzoxMEQ0NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwOEI5ODAyMjQwRjEKKzoxMEQ0ODAwMDBCMTAwMjI0MDA4OUM0MjI1MjBCOTA0MjI0MDBCOTAwRTAKKzoxMEQ0OTAwMDIyRTAwQjkwMTIyNDA0RDk0QTJFNjAwODkwMDM2MDAwMDkKKzoxMEQ0QTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEIxMTgyMjQwMDAKKzoxMEQ0QjAwMDBCOTAwMjI0MDA4QjIwMjY0OTBCOTAwMjY0MDBCOTAwRDcKKzoxMEQ0QzAwMEEyNDAwQjkwOEEyNDAwOEIwMDJDNDBBODkwMDIwNjAwRkEKKzoxMEQ0RDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4NEIxMjBBMDQ4QkYKKzoxMEQ0RTAwMDBCMTEwNjA0MDA4MzAwMDA0MDRCMTEwMjA0NDlCMTEwRTcKKzoxMEQ0RjAwMDI4NDAwQjEwMDIyNDQxOTEwMDJDNTAwODEwMDI0MjAxRDgKKzoxMEQ1MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjk0MEU4NTAzMjE0MkYKKzoxMEQ1MTAwMDBGODY5MzIxRTJDODAwMzYwQTBCODY4QjYxQThGODQwN0IKKzoxMEQ1MjAwMDIyODAwRjgyQTMyMTA4QzgwMjNFMDAwQzgwNDMyRTAzRjQKKzoxMEQ1MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0OEZEMTIzRTQ0MTkKKzoxMEQ1NDAwMDBGMTIwM0M0MDA3RDAxMUU0MDBCOTIwM0U0ODBGNTIwRkUKKzoxMEQ1NTAwMDM2NDAwRjkwMDNENDkwN0QwMDNENDAwRjk0MDNFNjA2QzMKKzoxMEQ1NjAwMDcwMDAwMDAwMDAwMDAwMDAxODAxRjZDMUREODgzMjcyNzIKKzoxMEQ1NzAwMDBDOTgwMzI2MjJERDAwM0Y2MjJDOTk4MzQ2QTBDOTQwMDcKKzoxMEQ1ODAwMEIyNDAwRkQ4MDMyNDAwRkQwMDMzNTEyQ0Q4ODMwNjAwOEQKKzoxMEQ1OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTNDMjg4QzAyMjMwOTQKKzoxMEQ1QTAwMDA4OEM0MjIyMTE4QTAxMkUwMDA4ODg1MjIzMDA4MEEzOTEKKzoxMEQ1QjAwMDJBMDA0QjgwNDIyMkEwQjgwMDIyMjgwODg0MDI4RTA0NTAKKzoxMEQ1QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMDgxMkQyMDQ4NDQKKzoxMEQ1RDAwMDY4MTQ4MDA0MjA4MTAwMkU0MDBCMTIxMjA0MjQ4MTIwNDQKKzoxMEQ1RTAwMDIwNDAwQjk0MzIwNDkwQjkwMDIwNDA0ODEwNEEwMjAxQjgKKzoxMEQ1RjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMDg5MjAyMjQwREYKKzoxMEQ2MDAwMDA4OTAxMjI0MDA4OTAwMkU0MDA4OTAwMjI0MDg4OTQwQzYKKzoxMEQ2MTAwMDIyNTAwQkIwMDIyNDIwQjkwOUEyNDQwODkwMDI4NjA0Q0IKKzoxMEQ2MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEQ5MDhCMjQwMkUKKzoxMEQ2MzAwMDRDMTAyMzA0MDREOUMxM0U0MDhGOTAwQjA0MDhDMTQwMTQKKzoxMEQ2NDAwMDEyNDAwRjkwNDMyNDA0RjE0MTMwNzgwQzkwMDMyODA0RDkKKzoxMEQ2NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODY2NEY5ODAzRTQwNTAKKzoxMEQ2NjAwMDBGOTAwQkU0MDBGOTk4M0U0MDJGMTAwM0E0MDJGOTEwMkMKKzoxMEQ2NzAwMDNFNDAwRjkwMEJFNjQwRjk5MDNFNjAwRjkwMDNDQTAwQzkKKzoxMEQ2ODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEM4NDEzMjAwMjcKKzoxMEQ2OTAwMDBDODAwNzIwMTBDODEwM0UwQzBFODAwM0UwMDRDODAwNjgKKzoxMEQ2QTAwMEJBMDAwRjgxNDMyMDAwRjg3MDNFMDAwRjAwMEIwQTA0RkYKKzoxMEQ2QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzkwMjhFMjBBMzgwMTEKKzoxMEQ2QzAwMDI4RTAwQTM4MTBBRTA0M0RBMThFRTAwMkY4MDA4RTAwN0EKKzoxMEQ2RDAwMDc2ODAwQjYwMDM3ODAwQkU0MDJGODIwQkEwMDNDQTAwNDcKKzoxMEQ2RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEQwMDhCODgyMkMwOEIKKzoxMEQ2RjAwMDE4MzAwMjBDMDA4MzQ0MkNEMDFCMzAxMkNDMDY4MzAwNUYKKzoxMEQ3MDAwMDIwQzEwQjMwODIwQzAxQjMwMDJDNDAwQjMwMDIwQTAwMDgKKzoxMEQ3MTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwMDg1MDAyMENDOEIKKzoxMEQ3MjAwMDA4NzAwNjFDODRBNzAxMjlDMDBCNzIyMkRDODA4NzM0OTQKKzoxMEQ3MzAwMDYxODAwQjEwMDI1QzAwQjcwMDJEQzAwQjcwMDJFODAwODYKKzoxMEQ3NDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MEUwMDhDODAzMUUwQkUKKzoxMEQ3NTAwMDBDRkUwMjNGMDBDNTgwMkRFMDBFNzgwM0RGQTBDN0EwQkQKKzoxMEQ3NjAwMDIxNjAwRjc4MDMxRTgwRjc4MDNERTAwRjc4MDMyQTAyQzYKKzoxMEQ3NzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEY5MDAzRUMwRTEKKzoxMEQ3ODAwMDBGQjAwM0VDMDBGQTAwM0VDMDA2QjAwM0VDODBGQjI4QUIKKzoxMEQ3OTAwMDM2RDg0RkEwMDNFQzEwRkEwMDNFNTAwRjMwMDNDMjA2RkIKKzoxMEQ3QTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkEwMENDODBCM0UwM0IKKzoxMEQ3QjAwMDBGRjgwMzNFMDBDRjkwM0Y2MDRGRjhDMzNFMDBFRjgwNkMKKzoxMEQ3QzAwMDMzRjAwQzdBMDMzRTcwQzU5MDMzRjEwQzc4MDMwMDAwRkYKKzoxMEQ3RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExQjgwMDg3MDAyMUMwMDAKKzoxMEQ3RTAwMDBCNzA0QTFDMDA4NzEwMkRDMDRCNzEwQTNDNDQ4RjEyRUQKKzoxMEQ3RjAwMDIxODYwRDcyMDIxRTAwODcwMDIzNDAwODcwMEEyQTA0NDkKKzoxMEQ4MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMDg0MDAyNUMwQjMKKzoxMEQ4MTAwMDBCNzEwQTBDMDBBNzEyMkQ4NDBCNzAwQTFDMDBCNzA4QUMKKzoxMEQ4MjAwMDIzNDAwOUYzMUE1Qzg2OTcwODI1NDAwODcwMDIwMDAwMUYKKzoxMEQ4MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MyMDgxMjAyNkMwMjEKKzoxMEQ4NDAwMDBCMzAwMjJDMDA4MjQyMkM4MDBCMzAyMjBDMDg5QjgwNzMKKzoxMEQ4NTAwMDIwRTAwOTIwMDI0RDA4OTIwMDI0RTUwODMwMEEwODA0NUYKKzoxMEQ4NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUU4MkNBRTBCN0MwN0EKKzoxMEQ4NzAwMDBGRjAxMzNDMEFDOUM4M0U0MDBGRjAwMzNDMDRGRjg0N0MKKzoxMEQ4ODAwMDMyQzAwRDkwMTM3QzAwRDkwMEY2QzAyQzEwMDMyQTA0N0UKKzoxMEQ4OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTQwMEYzMDAzQUMxRDYKKzoxMEQ4QTAwMDRGQjAwM0VDMDBGOTA4M0MwMDBGMzAxM0VDMDBFQjA0MjAKKzoxMEQ4QjAwMEJFMTgwRjkwMjNBQzYwRTkwMjNBNDA0RjkwMDNFMDAwOUQKKzoxMEQ4QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMENBMDAzM0MwNUUKKzoxMEQ4RDAwMDBDRjAwM0ZDMDBDRDAyN0Y0MDBDRjA0MjNDMDBDRjA4NkUKKzoxMEQ4RTAwMDM3MTAwRkQwMDNGQzEwQ0QwODNGNjYyQ0Q5MDMwMDQ0M0QKKzoxMEQ4RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NjM4MDhCRTAyMkMwNDMKKzoxMEQ5MDAwMDA4QjAyMkVDMDBEODgwNkUyMDY4QjAxQTJDMDFGQjAwMTEKKzoxMEQ5MTAwMDIyMTgwQjg4NDM0QzAwODhBMDJDQzAxRDkwMDIyMDQwODgKKzoxMEQ5MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDAxMDg4MDhCMjAyMkMwNTEKKzoxMEQ5MzAwMDA4QjAyMkVDMDA4ODg4MkU2MjQ4QjAxQUNDMDA4QjAwMTgKKzoxMEQ5NDAwMDI2QzA0QTg4MDJFQzAwMDg4NDJFNDAwOTkwMDIyMDAwN0MKKzoxMEQ5NTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMDgzMDA2MEMwRDgKKzoxMEQ5NjAwMDA4MzAwMkNDMDA5MDA2NkMwMDA4MzAwMjhDMDBBMzA0NDIKKzoxMEQ5NzAwMDIwMDA4QjAwMDY0QzIxODAwMDZDQzA0OTEwMEEwMjAxNzcKKzoxMEQ5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMENBMDBCMkMxRTEKKzoxMEQ5OTAwMDg4QjQwM0VDMTBDODAwMkUwMDBDQjAwQkJDMDg4RjAwM0MKKzoxMEQ5QTAwMDM2MDAwNjgwMDNFQzgwQzgwMjNGQzEwQzkwMDMwMDAzRTAKKzoxMEQ5QjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjAwMEZGMDAzRkMwNkMKKzoxMEQ5QzAwMDBGNzI4M0ZDMThGQzAzM0YwMDhGNzAwMzdDMDBGRjAwODQKKzoxMEQ5RDAwMDNEMDAwRkMwMjM4QzA2RkMwMDNGNDAwRUQwMDNFODA2M0MKKzoxMEQ5RTAwMDcwMDAwMDAwMDAwMDAwMDAwMEM1NDEwMzcwNDBEQzEwMjIKKzoxMEQ5RjAwMDM3MDQwREMxMDM3MDQwREMxMDM3MDQwREMxMDE3MDQwQzUKKzoxMERBMDAwMDlDMTAxNzE0MDVDMTAzNzA0MERDMTAxNzA0MERDMDMxQzEKKzoxMERBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDQwNTcxMDE1QzQwRUEKKzoxMERBMjAwMDU3MTAxNUM0MDUyMTAxNUM0MDU3MTAxNUM0MDE3MTAxNDAKKzoxMERBMzAwMDVDNDAxNzEwMDVDNDA1NzEwNTVDNDE1NzEwMTVDMDExRjUKKzoxMERBNDAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMDIwMTIwODA0ODIwRkIKKzoxMERBNTAwMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwREMKKzoxMERBNjAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MDIwRTcKKzoxMERBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAwMDYwMDA1ODAwNkUKKzoxMERBODAwMDE2MDAwNTgwMDE2MDAwNTgwMDE2MDAwNTgwMDU2MDAwNDIKKzoxMERBOTAwMDU4MDAxNjE4MDE4MDAxNjAwMDU4MDA1NjAwMDU4MDIwQ0IKKzoxMERBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDgwNTIyMDExQzgwQTUKKzoxMERBQjAwMDQ3MjAxMUM4MDQ3MjAxNUM4MDU3MjAxMUM4MDQ3MjQxQ0MKKzoxMERBQzAwMDVDODA1NzIwMTFDODA0NzIwMTFDODA0NzIwMTVDMDMxQUEKKzoxMERBRDAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDAwMDYwMDAxODAwNzkKKzoxMERBRTAwMDA2MDAwMTgwMDA2MDAwMTgwMDA2MDAwMTgwMDA2MDAwNTAKKzoxMERBRjAwMDE4MDAwNjAwMDE4MDAwNjAwMDE4MDAwNjAwMDE4MDMxNTcKKzoxMERCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDgwNDIyMDEwODgwNTkKKzoxMERCMTAwMDQyMjAxMDg4MDQyMjAxMDg4MDQyMjAxMDgwMDQyMzAxNDIKKzoxMERCMjAwMDA4ODA0MjIwMTA4ODA0MjIwMTA4MDA0MjIwMTA4MDIxMzEKKzoxMERCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NEEwNTQyODE1MEEwMUUKKzoxMERCNDAwMDQ0MkMxMTBCMDQ0MjgxMTBFMDU0MjgxMTAyMDA0MjgxNDAKKzoxMERCNTAwMDEwQTA0NDM4MTEwQjA1NDI4MTEwMjExNDI4MTUwMDMxMDIKKzoxMERCNjAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMEMwMTU3MDA1NEMwNkQKKzoxMERCNzAwMDE1MzAwNDRDMDExMzAwNTRDMDE1NzAwNTRDMDE1MzAwQkUKKzoxMERCODAwMDU0QzAxNTMwODU0QzAxMTMwMDU0QzAxNTMwMDU0MDIxOTgKKzoxMERCOTAwMDQwMDAwMDAwMDAwMDAwMDAwMDgwMDAwMDQwMDAxMDAwNzUKKzoxMERCQTAwMDA0MDAwMDQwMDAxMDAwMTA2MjA0MDAwMTA4MDQ0MTAwNUQKKzoxMERCQjAwMDEwMDA0NDE4MTEwMDAwMTAwMDEwODAwNDAwMDEwMTIwMjIKKzoxMERCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NjAwMjA4MDA4MjAwMjQKKzoxMERCRDAwMDIwODAwODYwMDIxODAwODIwMDIwODAwODIwMDAwODIwQjEKKzoxMERCRTAwMDgyMDAwMDgwODAyMDAyMTgwMDgyMDAyMDgwMDgwMTMxMUQKKzoxMERCRjAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDAwNTY0MDE1ODAwMEUKKzoxMERDMDAwMDU2MDAxNTgwMDU2MDAxNTgwMDU2NDAxNTgwMDU2MDAxREEKKzoxMERDMTAwMDU4MDA1NjAwMTU4MDA1NjAwMTU4MDA3NjAwMTU4MDMxQzcKKzoxMERDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDAwMzYwMDBEODAwQjQKKzoxMERDMzAwMDM2MDAwRDgwMDM2MDAwOTgwMDM2MDAxRDg4MDU2MDAwRTYKKzoxMERDNDAwMEQ4MDAxNjAwMEQ4MDAzNjAwMEQ4ODA0NjAwMEQ4MDMxOUEKKzoxMERDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDIwNDMwODEwQzIwREMKKzoxMERDNjAwMDQzMDgxMEMyMDQzMDgxMEMyMjQxMDgxOEMyMDQzMDg5RDQKKzoxMERDNzAwMDBDMjAwMzA4MTBDMjA0MzA4MTBDMjA0MzA4MTBDMDEwOEYKKzoxMERDODAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMDAwMDMwMDAwQzAwODgKKzoxMERDOTAwMDAzMDAwMEMwMDAzMDAwMEMwMDAzMDAwMEMwMDAzMDAwOTIKKzoxMERDQTAwMDBDMDAwMzAwMDBDMDAwMzAwMDBDMDAwMzAwMDBDMDAxQTUKKzoxMERDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDIwMTMwODA0QzIwQzUKKzoxMERDQzAwMDEzMDgwNEMyMDEzMDgwNEMyMDEzMDgwNEMzMDEzMDgwQzMKKzoxMERDRDAwMDRDMjAxMzA4MDRDMjAxMzA4MDRDMzAxMzA4MDRDMDIxQ0EKKzoxMERDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDIwNTYwODE1ODIwQ0YKKzoxMERDRjAwMDU2MDgxMTgyMDU2MDgxNTgyMDU2MDgxMTgzMDA2MDgxMDIKKzoxMEREMDAwMDU4MjA0NjA4MTE4MjA0NjA4MTE4MzA1NjA4MTU4MDMwNkEKKzoxMEREMTAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDIwMDIwODAwODIwRTQKKzoxMEREMjAwMDAyMDgwMDgyMDAyMDgwMDgyMDAyMDgwMDgyMDAzMDgwNjMKKzoxMEREMzAwMDA4MjAwMjAwMDA4MjAwMjA4MDA4MjAwMzA4MDA4MDMxQjMKKzoxMERENDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDIwNDYwODExODIwQUYKKzoxMERENTAwMDQ2NDgxMTkyMDQ2MDgxMTkyMDQ2MjgxMTgyMDAzNDgxQkUKKzoxMERENjAwMDE4MjA0NjQ4MTE5MjA0NjA4MTE4MjA0MzA4MTE4MDExNDAKKzoxMERENzAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NjAwNDU4MDE1NjAwQ0IKKzoxMEREODAwMDU1ODAxNTYwMDQ1ODAxMTYwMDU1ODAwMTYwMDQxODAxODMKKzoxMEREOTAwMDU2MDA0NTgwMTE2MDA0NTgwMTE2MDA0MTgwMTE0MDMxNDEKKzoxMEREQTAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMDYwMTQxODA1MDYwMkIKKzoxMEREQjAwMDE0MTgwNTA2MDE0MTgwNTA2MDA0MTgwNTA2MDA0MTgwRDIKKzoxMEREQzAwMDEwNjAxNDE4MDUwNjAxNDE4MDUwNjAxNDE4MDUwMDIwRTkKKzoxMERERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTAwODA0MDIwNjAKKzoxMERERTAwMDEwNDgwNDEyMDEwMDgwNDEyMDEwMDgwNDAyMDEwNDgwNDAKKzoxMERERjAwMDQwMjA1MDQ4MDQxMjAxMDA4NDQwMjAxMDA4MDQwMDIwRjQKKzoxMERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDYwMzUxODBENDYwRkYKKzoxMERFMTAwMDMwMTgwRDQ2MDM1MTgwRDU2MDM1MTgwRDQ2MDMwNTgwMzYKKzoxMERFMjAwMEQ0NjAxNTE4MEQ0NjAzMTE4MEQ0NjAzNTE4MEQ0MDMxQUIKKzoxMERFMzAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDYwNTcxODA1QzYwRDUKKzoxMERFNDAwMDk3MTgxNUM2MDU3MTgxNUMyMDU3MTgxNUM2MDM3MDgxOTcKKzoxMERFNTAwMDVDNjA1NzE4MTFDNjA1MzE4MTVDNjA3NzE4MTVDMDMxQjgKKzoxMERFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDYwMzcxODBEQzYwRjcKKzoxMERFNzAwMDM3MTgwREM2MDM3MTgwREQ2MDM3MTgwNUM2MDE3NTgxM0UKKzoxMERFODAwMERDNjAzNzE4MERDNjAzNzE4NDVDNjAxNzE4MTlDMDExNjcKKzoxMERFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDYwNTcxODE1QzYwNDQKKzoxMERFQTAwMDU3MTgxNDg2MDU3MTgxNUM2MDU3MTgwNUM2MDQzMTgxQzYKKzoxMERFQjAwMDVDNjA1NzE4MTVDNjA1NzE4MDVDNjA0MzE4MTVDMDExNjkKKzoxMERFQzAwMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTIwODA0ODIwRjcKKzoxMERFRDAwMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDE3MDgwMDgKKzoxMERFRTAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxNzA4MDQ4MDAwN0UKKzoxMERFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwMTYxODA1ODYwODIKKzoxMERGMDAwMDE2MTg0MTg2MDE2MTgwMTg2MDA2M0MwNTg2MDQ2MTgwMTAKKzoxMERGMTAwMDE4NjAxNjE4MDE4NjAwNjE4MDU4NjA1NjE4MTU4MDEwMjgKKzoxMERGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDAwNTcwMDE1QzAwOUEKKzoxMERGMzAwMDU3MDAxNUMwMDQ3MDAxNUMwMDU3MDAxMEMwMDQ3MDAwNDkKKzoxMERGNDAwMDFDMDA0NzAwMTFDMDA0NzAwMTVDMDA0NzAwMDFDMDExQjMKKzoxMERGNTAwMDUwMDAwMDAwMDAwMDAwMDAwMDQ1NDIwMDYwODAxODIwRDIKKzoxMERGNjAwMDA2MDgwMTgyMDA2MDgwMTgyMDA2MDgwMDgyMDA2MDgwOTgKKzoxMERGNzAwMDE4MjAwNjA4MDE4MjAwNjA4MDE4MjAwNjA4MDE4MDExMjAKKzoxMERGODAwMDQwMDAwMDAwMDAwMDAwMDAwMDA1NDIwNDIwODEwODIwM0QKKzoxMERGOTAwMDQyMDgxMDgyMDQyMDgxMDgyMDQyMDgxMTgyMDQyMDgwNTcKKzoxMERGQTAwMDA4MjA0MjA4MTA4MjA0MjA4MTA4MjA0MjA4MDA4MDExQzUKKzoxMERGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDIwNTQwODE1MDIwQTQKKzoxMERGQzAwMDU0MDgxNTAyMDU0MDgxMTAyMDU0MEMxNTQyMDA0MDgxNzAKKzoxMERGRDAwMDUwMjA0NDA4MTEwMjA1NDA4MTEwMjAxNDA4MDUwMDExNEEKKzoxMERGRTAwMDUwMDAwMDAwMDAwMDAwMDAwMDAxMDMwMTUwQzA1NDMwNDgKKzoxMERGRjAwMDE1MDgwNTQyMDE1MEMwNTQzMDE1MEMwNTQzMDE1MEMwQUUKKzoxMEUwMDAwMDU0MzAxNTBDMDU0MjAxNTBDMDU0MzAxNTBDMDU0MDEwMTkKKzoxMEUwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDQyMDAxMDgwMjYKKzoxMEUwMjAwMDA0MjAwMTg4MDA2MjAwMTA4MDA0MDAxMTA4MDA0MjAwRjIKKzoxMEUwMzAwMDEwODAwNDIwMDEwODAwNDIwMTEwODAwNDIwMDEwMDAwMkIKKzoxMEUwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDIwMjAwODA4MDIwMjcKKzoxMEUwNTAwMDIwMDgwODAyMDIyMDgwODAyMDIwMjgwMDAyMDIwMDgwODAKKzoxMEUwNjAwMDgwMjAyMDBBMDgwMjAyMDA4MDAwMjAyMDA4MDgwMDExRjkKKzoxMEUwNzAwMDUwMDAwMDAwMDAwMDAwMDAwMDQ1NDAwNTYwMDE1ODAwMEQKKzoxMEUwODAwMDU2MDAwNTgwMDU2MDAxNTgwODU2MDAxNTgwMDc2MDAyOUIKKzoxMEUwOTAwMDU4MDA1NjQwMTU4MDA1NjAwMzE4MDA3NjAwMTU4MDExNjEKKzoxMEUwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDAwMzYwMDBEODAwMzAKKzoxMEUwQjAwMDM2MDAwRDgwMDE2MDAwRDgwQTM2MDAwRDgwMDU3MDA5MTkKKzoxMEUwQzAwMEQ4MDEzNjAwMEQ4MDAzNjAwMEQ4MDA1NzAwMEQ4MDAwOTUKKzoxMEUwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMwMDEwQzAwRkYKKzoxMEUwRTAwMDQzMDAxMEMwMDAzMDAxMEMwMDQzMjAxMEMwMDQ2MDAxNDgKKzoxMEUwRjAwMDBDMDA0MzQwNTBDMTA0MzAwMTBDMDA0NjAwMTBDMDAwMjkKKzoxMEUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwMDAwQzAwRDMKKzoxMEUxMTAwMDAxMDAwMEMwMDAzMDAwMEMwMDAzMDAwMEQwMDAyMDAwMEYKKzoxMEUxMjAwMDBDMDAwMzQwMDBDMDAwMzAwMDBEMDAwMjAwMDBDMDAwRTEKKzoxMEUxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwMTMxNDA0QzUwQ0MKKzoxMEUxNDAwMDEzMTAwNEM0MDEzMTQwNEM1MDEzMTQwNEM1MTEzMTQxNjMKKzoxMEUxNTAwMDRDNTAxMzE0MDRDNTAxMzE0MDRDNTAxMzE0MDRDMDAwM0EKKzoxMEUxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMwNTY4QzE1QTMwRDQKKzoxMEUxNzAwMDU2OEMxMUEzMDQ2OEMxMUEzMDU2OEMxMUEzMDU2OEMwQ0YKKzoxMEUxODAwMDVBMzA0NjhDMTFBMzA0NjhDMTVBMzAxNjhDMTU4MDAwOTEKKzoxMEUxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwODAwNTcKKzoxMEUxQTAwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMjAwMDkwMDAyMDAwRjMKKzoxMEUxQjAwMDA4MDAwMjQwMDA4MDAwMjAwMDA5MDAwMjAwMDA4MDAwRUEKKzoxMEUxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0NDYyMDExODg0MDQKKzoxMEUxRDAwMDQ2MjExMTg4NDQ2MjExMTg4NDQ2MDExMTg4NDQ2MjEwNTYKKzoxMEUxRTAwMDE4ODQ0NjIxMTE4ODQ0NjIxMTE4ODQwNjIxMTE4MDAwODgKKzoxMEUxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTUwMTE1NDA0MjEKKzoxMEUyMDAwMDU1MDExMTQwNDU1MDExMTQwMDQ1MDExMTQwNDQ1MDAwODIKKzoxMEUyMTAwMDE0MDQ0NTAwMTU0MDQ0NTAxMTE0MDQ1NTAxMTE0MDAwRTgKKzoxMEUyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyMTQyMDg1MDgyQTkKKzoxMEUyMzAwMDE0MjA4NTA4MjE0MjA4NTA4MjA0MjA4NTA4MjE0MjA4QzQKKzoxMEUyNDAwMDUwODIxNDIwMDUwODIxNDIwODUwODIxNDIwODUwMDAwQzUKKzoxMEUyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwMTAyODA0MEEwNTEKKzoxMEUyNjAwMDEwMjgwNDBBMDEwMjgwNDBBMDEwMjg0MDBBMDEwMjgwMDAKKzoxMEUyNzAwMDQwQTAxMDI4NDQwQTAxMDI4MDQwQTAxMDI4MDQwMDAwOTkKKzoxMEUyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwMzUzMDBENEMwOTgKKzoxMEUyOTAwMDM1MzAwRDRDMDE1MzAwRDRDMDM1MTAwQzRDMDM1MzAwRTUKKzoxMEUyQTAwMEQ0QzAzNTMwMEQ0QzAzNTMwMEQ0QzAzNTMwMEQ0MDAwODAKKzoxMEUyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNTcyMDE1QzgwMDIKKzoxMEUyQzAwMDE3MjAwNUM4MDY3MjAxNUM4MDU3MjAxNUM4MDI3MjAxMkMKKzoxMEUyRDAwMDVDODA1NzIwMTVDODA1NzIwMTVDODAzNzIwMTFDMDAwOTIKKzoxMEUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMxODQwQzYxMjMxQUEKKzoxMEUyRjAwMDg0OEMyMTIzMDg0OEM2MTIzMDg0MEM2MTIzMTA0OEMyNDQKKzoxMEUzMDAwMDEyMzE4NDhDMDEyMzA4NDhDNjEyMzEwNDhDNjEwMDAwNEMKKzoxMEUzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRjRGRkZEM0ZGOUYKKzoxMEUzMjAwMEY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGMjMKKzoxMEUzMzAwMEQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQwMDAwQ0QKKzoxMEUzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMEUzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMEUzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMEUzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkNEQjBGQjZDMkNENDIKKzoxMEUzODAwMEIwQjM2QzJDREIwQjM2QzJERkIwQjM2QzJDREIwQjdFNzYKKzoxMEUzOTAwMEMyQ0RCMEI3RkQyQ0RCMEIzNkMyQ0RCMEIzNkMwMDAwRTQKKzoxMEUzQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMzQzRGQ0YxMzMzOUEKKzoxMEUzQjAwMEM0Q0NGMTMzM0M0Q0NGMTMzRkM0Q0NGMTMzM0M0Q0ZGQzUKKzoxMEUzQzAwMDEzMzNDNENGRkQzMzNDNENDRjEzMzNDNENDRjEwMDAwMjYKKzoxMEUzRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0I3RTRFREY5M0I3MEQKKzoxMEUzRTAwMEU0RUM3OTNCMUU0RURGOTNCRkU0OERGOTNCNzg0RUZGQTIKKzoxMEUzRjAwMDkzQjdFNEVERkQzQjFFNEVERjkzQjc4NEVERjkwMDAwQ0IKKzoxMEU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjcwNDA5QzEwQUQKKzoxMEU0MTAwMDI3MUMwOUMxMDEzMDQwMUMxMDY3MDQwOUMxMDI3MDQxNkEKKzoxMEU0MjAwMDlDMTEwNzE0MDFDMTAyNzA0MDlDNTAwNzFDMDFDMDAwRTAKKzoxMEU0MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwNTcxMDE1QzQwQzUKKzoxMEU0NDAwMDU3MTA1NUM0MDEzMTAwNUM0MDU3MTAxNUM0MDU3MTAxQzcKKzoxMEU0NTAwMERDNDAxNzE4MURDNDA1NzEwNTVDNDA1NzEwMURDMDAwMzUKKzoxMEU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTIwODA0ODIwQTEKKzoxMEU0NzAwMDEyMDAwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwQkEKKzoxMEU0ODAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4NjAxMjA4MDQ4MDAwOUQKKzoxMEU0OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwMDAxODAwMDQKKzoxMEU0QTAwMDA2MDA0MTgwMDA2MDAwMTgwMDQ2MDAwMTgwMDA2MDAwMDYKKzoxMEU0QjAwMDEwMDAwNjEwMDE4MDAwNjAwMDE4MjA0NjEwMDE4MDAwNDYKKzoxMEU0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDcyMDExQzgwMzEKKzoxMEU0RDAwMDQ3MjAxMUM4MDQ3MjAxMUM4MDA3MjAxMUM4MDQ3MzAwNzIKKzoxMEU0RTAwMDFDODA0NzIwMTFDQzA0NzIwMTFDODA0NzIwMTFDMDAwMDEKKzoxMEU0RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwMDAxODAwQTQKKzoxMEU1MDAwMDA2MDAwMTg0MDA2MDAwMTgwMDA2MDAwMTgwMDA2MDQwRTEKKzoxMEU1MTAwMDE4MDAwNjA0MDE4MTAwNjAwMDE4MDAwNjE0MDE4MDAwNDQKKzoxMEU1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDIyMDEwODgwMzQKKzoxMEU1MzAwMDQyNzAxMDhDMDQyMjAxMDhDMDAyMjAxMDg4MDQyMjAwQkUKKzoxMEU1NDAwMDA4ODA0MjUwMTAwODA0MjIwMTA5MDA0MjQwMTA4MDAwNTcKKzoxMEU1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUwNDRBODExMkEwMEMKKzoxMEU1NjAwMDQ0QTgxMTJBMDQ0QTgxMTJBMDA0QTgxMTJBMDQ0QjgwNEQKKzoxMEU1NzAwMDEyQTA0NDg4MDEyRTA0NEE4MTEyMjAwNDk4MDEwMDAwNTAKKzoxMEU1ODAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwMEUwMDUzMDAxNEMwOEUKKzoxMEU1OTAwMDA1MzAwMTRDMDA1MzAwMTRFMDA1MzAwMTRDMDA1MzAwREQKKzoxMEU1QTAwMDA0QzAwNTMwMDA0QzAwMDMwMDE0QzAwNTMwMDA0MDEwQ0EKKzoxMEU1QjAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwMDQwMDQwMDAxMDAwM0YKKzoxMEU1QzAwMDA0NTgwMTA0MDA0MDAwMTAwMDA0MDAwMTAwMDA0MTAwNTQKKzoxMEU1RDAwMDA0MDA0NDU4MTA0NDAwMDAwMDExODAwNDUwMTA0MDMwRTIKKzoxMEU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwNDAwMjAwMDA4MDAwQTEKKzoxMEU1RjAwMDIwMDAwODAwNDAwMDAwMDAwMDIwMDAwODAwMDIwMDAwODkKKzoxMEU2MDAwMDg0MDAwMDAwMDg0MDAyMDAwMDgwMDAyMDAwMDg0MDMwMjQKKzoxMEU2MTAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwNDAwMDYwMDExODAwNzkKKzoxMEU2MjAwMDQ2MDAwMTgwMDY2MDAxOTgwMDQ2MDAxMTgwMDQ2MDAxRTgKKzoxMEU2MzAwMDE4MDA0NjAwMTE4MDA0MjAwMTE4MDA2NjAwMTE4MDMwODcKKzoxMEU2NDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAxNDAwMDYwMDA5ODAwODEKKzoxMEU2NTAwMDI2MDAwOTgwMDI2MDAxOTgwMDA2MDAwQzgwMDI2MDAwMUMKKzoxMEU2NjAwMDE4MDAwNjAwMDE4MDAyNjAwMDk4ODAwNjAwMDE4MjAwMDgKKzoxMEU2NzAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwMDMwODEwQzIwRjYKKzoxMEU2ODAwMDQzMDgxMEMyMjQzMDgxOEMyMDAzMDgxMEMyMDQyMDgwNkIKKzoxMEU2OTAwMDBDMjAwMzA4MThDMjA0MzA4MTBDMjA0MzA4MThDMDExNTQKKzoxMEU2QTAwMDUwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDMwMDAwQzAwOUUKKzoxMEU2QjAwMDAzMDAwMEMwNDAzMDAwMEMwMDAzMDAwMDgwMDAzMDAwNjgKKzoxMEU2QzAwMDBDMDAwMzIwMDBDMDAwMzAwMDBDMDAwMzIwMDBDMDAwM0MKKzoxMEU2RDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxMDIxMDMwODAwQzIwMEIKKzoxMEU2RTAwMDAzMDgwMEMyMDAzMDgwMEMyMDAzMDgwMEMyMDEyMDgwMTMKKzoxMEU2RjAwMDBDMjAwMzJDMDBDMjAwMzA4MDBDMzA0MzJDMDBDMDAwRTIKKzoxMEU3MDAwMDQwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwNDYwODExODIwRTUKKzoxMEU3MTAwMDQ2MDgxMTgyMDQ2MDgwMTgyMDQ2MDgxMTgyMDQ2MDgxMzYKKzoxMEU3MjAwMDE4MjA0NjBDMTFDMjA0NjA4MTE4MzA0NjBDMTFDMDExMkIKKzoxMEU3MzAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxNDIwMDIwODAwODIwM0UKKzoxMEU3NDAwMDAyMjgwMDgyMDAyMDgwMDgyMDAyMDgwMDgyMDAyMDgwMjkKKzoxMEU3NTAwMDA4MjAwMjA4MDE4MjAwMjA4MDA4MjAwMzA4MDE4MDAwQjAKKzoxMEU3NjAwMDAwMDAwMDAwMDAwMDAwMDA1MDAxNDIwNDYwODExODIwRjkKKzoxMEU3NzAwMDQ2MjgxMTgyMDQ2MDgwMTgyMDQ2MDgxMTgyMDQ2MDgxQjYKKzoxMEU3ODAwMDE4MjA0NjA4MTA4MjA0NjA4MTE4MjA0MzA4MTA4MDAwNzkKKzoxMEU3OTAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDAwNDUwMDExNDAwNEIKKzoxMEU3QTAwMDQ1MDAxMTQwMjUwMDAwMTQwMDQ1MDAxMTQwMDQ1MDAxQUYKKzoxMEU3QjAwMDE0MDA0NTAwMDA0MDA0NTAwMTQwMDAwMTAwMDA0MjExRDcKKzoxMEU3QzAwMDUwMDAwMDAwMDAwMDAwMDA0ODAwMDYwMDQxODAxMDYwN0EKKzoxMEU3RDAwMDA0MTgwMTA2MDA0MTgwMTA2MDA0MTgwMTA2MDA0MTgwMDEKKzoxMEU3RTAwMDEwNjAwNDE4MDEwNjAwNDE4MDEwNjAwNDE4MDEwMDAwNDgKKzoxMEU3RjAwMDAwMDAwMDAwMDAwMDAwMDA0ODAwMDIwNTAwODA0MDIxRTkKKzoxMEU4MDAwMDEwMDgwNDAwMDEwMDgwNDAyMDEwMDgwNDAyMDEwMDgwNkMKKzoxMEU4MTAwMDQwMjA1MDA4MTQwMjExMDA4NDQwMjAxMDA4MTQwMDAwMDkKKzoxMEU4MjAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDYwMTUxODBENDYwMTcKKzoxMEU4MzAwMDM1MTgwRDQ2MDM1MTgwRDQ2MDE1MTgwRDQ2MDM1MTgwREMKKzoxMEU4NDAwMDU0NjAxNTE4MEQ0NjAzNTE4MEQ0NjAzNTE4MEQ0MDExRTEKKzoxMEU4NTAwMDUwMDAwMDAwMDAwMDAwMDAwMDAxNDYwNDcxODExQzYwQUYKKzoxMEU4NjAwMDQ1MTgxMUQ2MDQ3MTgxMUM2MDY3MTgxMUM2MDQ3MTgxQTYKKzoxMEU4NzAwMDlDNjA0NzE4MTFDNjA0NzE4MTFDNjA2NzE4MTFDMDAwQTQKKzoxMEU4ODAwMDAwMDAwMDAwMDAwMDAwMDA0MDA1NDYwMjcxODA5QzYwMEUKKzoxMEU4OTAwMDI3MTgwOUM2MDA3MTgwOUM2MDY3MTgwOUM2MDI3MTgwM0MKKzoxMEU4QTAwMDlDNjEyNzE4MDFDNjAyNzE4MDlDNjAwNzE4MDFDMDAwOTYKKzoxMEU4QjAwMDAwMDAwMDAwMDAwMDAwMDA1MDQ1NDYwNTcxODE1QzYwQ0EKKzoxMEU4QzAwMDU3MTg1NUQ2MDE3MTgxNUM2MDU3MTgxNUM2MDU3MTgxQkUKKzoxMEU4RDAwMDVDNjA1NzE4MThDNjA1NzE4MTVDNjA0MzE4MTg4MjExNzYKKzoxMEU4RTAwMDUwMDAwMDAwMDAwMDAwMDA0MDA0NTIwMTIwODA0ODIwMzkKKzoxMEU4RjAwMDEyNDgwNDkwMDEyMDgwNDkyMDEyMDgwNDgyMDEyNDgwREIKKzoxMEU5MDAwMDQ4MjAxMjQ4MDA5MjAxMjA4MDQ4MjAxNzQ4MDQ4MDAxQzYKKzoxMEU5MTAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDYwMDYxODAxODYwNTgKKzoxMEU5MjAwMDA2M0MwMTg2MDA2MTgwMTg2MDQ2MTgwMTg2MDA2MTgwRkYKKzoxMEU5MzAwMDE4NjAwNjE4MDE4NjAwNjE4MDE4NjA0NjE4MDE4MDAxODEKKzoxMEU5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxNjAwNDc4MDExRTAwOEIKKzoxMEU5NTAwMDQ3ODAxMUUwMjQ3ODAxMUUwMDA3ODAxMUUwMDQ3ODAxNEYKKzoxMEU5NjAwMDFFMDA0NzgwMTFFMDA0MzgwMTFFMDA0NzgwMTFDMDExQ0QKKzoxMEU5NzAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxMTIwMDYwODAxODIwREMKKzoxMEU5ODAwMDA2NDgwMTkyMDA2MDgwMTkyMDA2MDgwMTgyMDA2NDgwMTgKKzoxMEU5OTAwMDE4MjAwNjQ4MDE5MzAwMjA4MDE4MjAwNjQ4MDE4MDAwQjYKKzoxMEU5QTAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxNDIwNDIwODEwODIwMTcKKzoxMEU5QjAwMDQyMDgxMDgyMDQyMDgxMDgyMDAyMDgxMDgyMDQyMDgxNkQKKzoxMEU5QzAwMDA4MjA0MjA4MTA4QTA0NjA4MTA4MjA0MjA4MTA4MDAwNTQKKzoxMEU5RDAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwNDQwODExMDIwN0IKKzoxMEU5RTAwMDQ0MDgxMTAyMDQ0MDgxMTAyMDA0MDgxMTAyMDQ0MDgxRUYKKzoxMEU5RjAwMDEwMjE0NDA4MDEwMjA0NTA4MTEwMjAwNDA4MDEwMDExNzQKKzoxMEVBMDAwMDUwMDAwMDAwMDAwMDAwMDA0MDAwMDMwMDUwQzAxNDMwMUYKKzoxMEVBMTAwMDA1MEMwMTQzMDA1MEMwMTQzMDA1MEMwMTQzMDA1MDgwMjgKKzoxMEVBMjAwMDE0MzAwNTA4MDE0QTAwNTBDMDE0MzAwNTA4MDE0MDAwQTgKKzoxMEVBMzAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDgwMDQyMDAxMDgwQkMKKzoxMEVBNDAwMDA0MjAwMTA4MDA0MjAwMTA4MDA0MjAwMTA4MDA0MjAwNTgKKzoxMEVBNTAwMDEwODAwNDIwMTEwMDAwNDIwMDEwODAwNDIwMTEwMDEwREEKKzoxMEVBNjAwMDQwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwMjAwODA4MDIwN0QKKzoxMEVBNzAwMDIwMDgwODAyMDAwMDgwODAyMDIwMDgwODAyMDIwMDgwOTAKKzoxMEVBODAwMDgwMjAyMDA4MDgwMjAyMDA4MDgwMjAyMDA4MDgwMDExNTEKKzoxMEVBOTAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxNDAwMDYwMDExODAwMkMKKzoxMEVBQTAwMDQ2MDAxMTgwMDY2MDAxMTgwMDQ2MDAxMTgwMDQ2MDAxRDQKKzoxMEVBQjAwMDE4MDA0NjAwMTE4MDA0NjAwMTE4MDA2NjAwMTE4MDEwRTMKKzoxMEVBQzAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxNDAwMjY0MDA5ODAwQzcKKzoxMEVBRDAwMDI2MDAwOTkwMDY2MDAxOTgwMDI2NDAwOTgwMDI2MDAwMjcKKzoxMEVBRTAwMDk4MDAyNjAwMDA5MDAyNjAwMDk4MDAwNzAwMDE4MDAwNTYKKzoxMEVBRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NjAwNDM4MDUwRTAwRTIKKzoxMEVCMDAwMDQzODAxMEUwNDQzODAxMEUwMDQzODAxMEUwMDQzODAxRDcKKzoxMEVCMTAwMDBFMDA0MzgwMThBMDA0MzgwMTBFMDA0NjgwMTg4MDExQjIKKzoxMEVCMjAwMDUwMDAwMDAwMDAwMDAwMDA1MDAwMDEwMDMwNDAwQzEwQjgKKzoxMEVCMzAwMDAzMDQwMEM1MDAzMDQwMEMxMDAzMTQwMEMxMDAzMDQwMzUKKzoxMEVCNDAwMDBDMTAwMzA0MDA4NzQwMzA0MDBDMTAwMjA0MDA4MDAwQzkKKzoxMEVCNTAwMDAwMDAwMDAwMDAwMDAwMDA0MDA0MDUwMDM1NDAwQzUwOUIKKzoxMEVCNjAwMDAzMTQwMEQ1MDQzMTQxMEM1MDAzNUMwMEM1MDAzMTAwOTIKKzoxMEVCNzAwMDBDNTAwMzEwMDA5NDAwMzE0MDBDNTA0MzEwMDBDMjAwQjAKKzoxMEVCODAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDMwNTIwQzExODMwOEYKKzoxMEVCOTAwMDQ2MEMxMTk3MDA2MEMwMTgzMDQ2MUMxMTgzMDQ2MEMxRjgKKzoxMEVCQTAwMDE4MzA1MjBDMTE4NzA0NjBDMTE4MzA0NjBDMTE4MDExQzYKKzoxMEVCQjAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxMDAwMDIxNDAwODAwNUIKKzoxMEVCQzAwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMDAwRjkKKzoxMEVCRDAwMDA4MDAwMjAwMDA4MDAwMjAwMDA4MDAwMjAwMDA4MDAwMDEKKzoxMEVCRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxNDg0NDIyMDExODg0OTkKKzoxMEVCRjAwMDQ2MjExMTk4MDA2MjEwMTg4NDQ0MjAxMTg4NDQ2MjExNDMKKzoxMEVDMDAwMDE4ODQ0MjIxMTE4MDQ0NjIxMTE4ODQ0NjIxMTE4MDAwMjkKKzoxMEVDMTAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDAwNDUwMTExNDA0QjIKKzoxMEVDMjAwMDQ1MDAxMTQxMDA1MDEwMTQwMDQ1MDExMTQwNDQ1MDExOUQKKzoxMEVDMzAwMDE0MDQ0NTAxMDE0MDQ0NTAxMTE0MDQwNTAxMDE0MDExMjAKKzoxMEVDNDAwMDUwMDAwMDAwMDAwMDAwMDA0MDAwMDgyMDQyMDgxMDgyMzAKKzoxMEVDNTAwMDA0MjAwMTA4MjA0MjA4MTA4MjA0MjA4MTA4MjA0MjA4NzQKKzoxMEVDNjAwMDEwODIwNDIyODEwODIwNTIwODEwOEEwNDIyODEwMDAwQTgKKzoxMEVDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MEEwMTAyODQ0MEExMUUKKzoxMEVDODAwMDEwMjgwMDBBMDEwMjgwNDBBMDEwMjgwNDBBMDEwMjgwMTYKKzoxMEVDOTAwMDQwQTAxMDJDMTQwQTAwMDI4MDQwQjAxMDJDMTQwMDAwNzgKKzoxMEVDQTAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NEQwMzUzNDBENEQwNTgKKzoxMEVDQjAwMDM1MzAwQzREMDM1MzQwRDREMDM1MzQwRDREMDM1MzQwMDMKKzoxMEVDQzAwMEQ0RDAzNTM0MEQ0RDAyMTM0MEQ0RDAzNTM0MEQ0MDExMUQKKzoxMEVDRDAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxMDgwNDcyMDExQzgwODgKKzoxMEVDRTAwMDQ3MjAxNUM4MDQ3MjAxMUM4MDQ3MjAxMUM4MDQ3MjExMDYKKzoxMEVDRjAwMDFDODA0NzI2MTFDODQ0NzIwMTFDOTA2NzI2MTFDMDAwNzEKKzoxMEVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMwODQwQzYxMjMxOEYKKzoxMEVEMTAwMDg0OEMwMTAzMDg0OEM2MTIzMDg0MEM2MTIzMTg0OEMyNTEKKzoxMEVEMjAwMDEyMzE4NDhDMDEwMzA4NDhDNjEyMzEwNDhDMDEwMDAwQTIKKzoxMEVEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRjRGRkZEM0ZGNzUKKzoxMEVENDAwMEY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRjkKKzoxMEVENTAwMEQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQwMDAwQTMKKzoxMEVENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMEVENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMEVEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMEVEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkRGQjBGQjZDMkNERjcKKzoxMEVEQTAwMEIwQjdGRDNGRkIwQjM2QzJERkIwRkI2QzJDREIwQjdFM0MKKzoxMEVEQjAwMEMyQ0RCMEI3RkQzRkZCMEIzNkMyQ0RGNEI3RkQwMDAwQUUKKzoxMEVEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzNGQzRGQ0YxMzMzQjAKKzoxMEVERDAwMEM0Q0ZGRDNGRkM0Q0NGMTMzRkM0RkNGMTMzM0M0Q0ZGOTAKKzoxMEVERTAwMDEzMzNDNENGRkQzRkZDNENDRjEzMzNGNENGRkQwMDAwRjEKKzoxMEVERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0I3RTRFREY5M0I3RTMKKzoxMEVFMDAwMEU0RURGOTNGRkU0RURGOTNCN0U0RURGOTNCN0U0RUM3RUMKKzoxMEVFMTAwMDkzQjdFNEVDNjEyMzFFNEVERjkzQjc4NEVDNjEwMDAwRUUKKzoxMEVFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTI0QTE0QTI0RUEKKzoxMEVFMzAwMDYzMDExNDAyNDQwMDgxMEIyODcxMDIxMDgyNDAzODExRDIKKzoxMEVFNDAwMDQxMDQ1MDA4MTg4Mjg3MzgzMUMzMkM1MjBBMTAwMDAwNDAKKzoxMEVFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0NTEyODE0NDgwMEUKKzoxMEVFNjAwMDcxMjExQzBBMDcxQTgxMDJBMDUyMjAxNDQ4MDcxMjgxM0UKKzoxMEVFNzAwMEM2ODA2MDIwMDg4ODQ3MDIwMTRBODA3MDIwMTAwMDAwODgKKzoxMEVFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDNTJDMDE0QTAwNDQKKzoxMEVFOTAwMDUyMDkxQzgwMDcyNDIxMDgwODcxMDIxMDgwNDUyMEExMTYKKzoxMEVFQTAwMDQ5Mjg1MjAxMTRDMDQ1MDA5MUM0MDA3MjAyMTAwMDAwQUMKKzoxMEVFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwNzIwMDFDMTAwNjcKKzoxMEVFQzAwMDcxMDkxMDgwMDcwMDAxMDEwMDcwMDgxODgwMDcwMDAxMTcKKzoxMEVFRDAwMDg5MjA1MjAxMEM4MDQ2MzA4MTQ1MDQ2MDAwMTAwMDAwRkEKKzoxMEVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMjAyMjAwMDg4QUUKKzoxMEVFRjAwMDIwMjIwMDA4QzIyMjgwNDA4ODAyMjIwMDA4ODIwQUEwNDQKKzoxMEVGMDAwMDBDQTgwMjIyMDAwODgwMEEwMDgwOEMwMjIyMDAwMDAwNjcKKzoxMEVGMTAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDI0MzAwMDA0MDIwNDQKKzoxMEVGMjAwMDMwMDgwNDQwNDEzMDEwQzgwMDAwMDAwMDAyMDMwMDEwMDcKKzoxMEVGMzAwMEMwMDAxMTA4MDBDMjQzMTA4MEMwMjAwMTA4MDAwMjAwNzgKKzoxMEVGNDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDhDMzBBMjBDMThDNzcKKzoxMEVGNTAwMDEyMjIwNDg4MDEzNjIwQzMwODEyMjgwNDA4MDEwNDAwODQKKzoxMEVGNjAwMDRBQTgyMjAxMDRDODQxMjYzMEMwODgwMjIxMDAwMjAwQkMKKzoxMEVGNzAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwMDBBMTBDMTgwMjYKKzoxMEVGODAwMDMyMjEwQzg4NDMwMjgwNDQ4MDEyMjkwNDA4NDIwQTkwRUUKKzoxMEVGOTAwMDhBODAwMDIwMDQ0ODAzMEExMDgyODAwMDIwMDAwMjAwQkEKKzoxMEVGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4NzAyQTE4MEFDMDEKKzoxMEVGQjAwMDQzMjkxNDhBODQwMkExMDBBQzQxMjAxMDA4MDYyNjMxOUUKKzoxMEVGQzAwMDgwQTQ2MDIwMTQ0QTQ0MzI4MTgxQUM2MDJBMTgwMjAwNzcKKzoxMEVGRDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwNzIyMDFDNTgwQjIKKzoxMEVGRTAwMDczMjExQ0M4MDcyQTAxMEM4MDcyMjAxMDQ4NDcyNjExODMKKzoxMEVGRjAwMEM1ODA3MzIwMUM4ODA3MkExMTQ5ODA3MDIwMTQwMjAwRTQKKzoxMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDA0NTEwMzFDOTBDOUQKKzoxMEYwMTAwMDczMDIxQ0MwNDcwNDAxMEEwQzUxMEExMDgyNDcyMDMxQjgKKzoxMEYwMjAwMEM4MDA3MjAyMUM0MDA1MzAxMUM0MDA3MjAxMTgwMjAwQjEKKzoxMEYwMzAwMDAwMDAwMDAwMDAwMDAwMDAwODEwMTAwNjI0MDE0NTA0MzQKKzoxMEYwNDAwMDUxODExODkwNDcxNDAxMDQwNDcxODgxMDEyMDUzNDAxOEQKKzoxMEYwNTAwMDQ0MDQ1MTQwMThEMDA3MzgwMUM0MDQ1MjAxMTRDMjA0QkEKKzoxMEYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NzAwMjE4OTBDNjMKKzoxMEYwNzAwMDYwMDExQ0QwNDUyNDAxQzEwQzQyMDEwMDAwQzUyMDMxQjMKKzoxMEYwODAwMDQxMDg0MDAwMTg4MDQ1MDAyMTQxMEM3MDQyMUNDMjAwMUMKKzoxMEYwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTFDODBDNDIwRUQKKzoxMEYwQTAwMDMxMDgxMDQyNDIwODgwQzYyMDMxMDkwMDIwMDMxQzkwMUMKKzoxMEYwQjAwMEM0MjAwMTQ5MEM0MjQzMTA4MDQ0MjAzMTA4MTAwMDAwNTQKKzoxMEYwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzA4MzIwMzA0ODBDRTkKKzoxMEYwRDAwMDMyNDAxMDkwODEyNDIwQzgwNDMyNDAxMDIwQzMyMDgwODgKKzoxMEYwRTAwMEM4MDAwMjRBMENBMDAxMjQxMEM4MDgzMjQxMTAwMDAwRDgKKzoxMEYwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwOTAwMzAwMDBDOTA0QTAKKzoxMEYxMDAwMDMwNDAwMDkwMDAyMDAwODAwMDEwNDAxMDAwNDAyMDEwOEYKKzoxMEYxMTAwMEMyMDAwMDgwMDgyMDQzMDgxMDgxMDAzMjQwMENDMDA0NjcKKzoxMEYxMjAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMzAwMDQwMDAwMDAwNEYKKzoxMEYxMzAwMDEwMDAwMEYwMTAyMDAwMDAwMDEwMDAwMEYwMTA4MDQwQ0YKKzoxMEYxNDAwMDAwMDAwMDQwMDBGMDEwOTA4MDAwMDAwMDAwMDBDMDAwQUYKKzoxMEYxNTAwMDAwMDAwMDAwMDAwMDAwMDAzQzNDMTA4MDkwNDAwMDAwRDcKKzoxMEYxNjAwMDAwODAxMDkwQTA5MDAwMDAwMDAwMDAxMDkwODA4MDAwQUYKKzoxMEYxNzAwMDAwMDAwMDAwMTA5MDgwOTAwMDAwMDAwMDQwMTA4RjBGRjEKKzoxMEYxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjRDNkJBMDZDMDFDRjkKKzoxMEYxOTAwMDQ5Mjg2MTE0MkIxQzBFNDAzRkQ5QkZEOUFBQkMxQTVGNjUKKzoxMEYxQTAwMDAwMTBBNjUwM0I2MUIzMjVCQzQwMTlCRkZGRTk4MDAwQTkKKzoxMEYxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA5MjE0OTQ4MDBDNzkKKzoxMEYxQzAwMDA3M0YyQjk0ODYxNDg0ODAyODAwMDA0OTE0MDQ4NjEyN0IKKzoxMEYxRDAwMDgwMDA0MTI3MzREMDkwODQ5MjAwMkQ4QTIxMUU4MDAwMjcKKzoxMEYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEEyNzUKKzoxMEYxRjAwMEIxMDEwMTAwMDAwMDAwMDg4NEIxNzgyODAwMDAwMDAwN0YKKzoxMEYyMDAwMDA4QjEzMjE0MTQwMDAwMDAwMDA4QTgyMzU0MjE0MDAwNjMKKzoxMEYyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwRjIKKzoxMEYyMjAwMDAwMDAwMDJGRkZGRUY3QzAwMDAwMDAwMDJGRDdGRUVGMDgKKzoxMEYyMzAwMEMwMDAwMDAwMDAzRkZGN0ZGRkMwMDAwMDAwMDAwMDAwOTIKKzoxMEYyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwQzIKKzoxMEYyNTAwMDAwMDAwMDBGRUY3N0ZGQzAwMDAwMDAwMDNFRkZGRUVGNTAKKzoxMEYyNjAwMDQwMDAwMDAwMDAzRkZGQkZGRjQwMDAwMDAwMDAwMDAwMjIKKzoxMEYyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwOTIKKzoxMEYyODAwMDAwMDAwMDNGRkZERkZGQzAwMDAwMDAwMDNGRkZGRkZGNjYKKzoxMEYyOTAwMEMwMDAwMDAwMDAzRjdGMkZGRkMwMDAwMDAwMDAwMDAwMDIKKzoxMEYyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwNjIKKzoxMEYyQjAwMDAwMDAwMDFGRkZGRkVGQzAwMDAwMDAwMDFGRUZFRkVGOTYKKzoxMEYyQzAwMEMwMDAwMDAwMDAyRkZGRkZGRkMwMDAwMDAwMDAwMDAwOTIKKzoxMEYyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMzIKKzoxMEYyRTAwMDAwMDAwMDNGRkZFRkZGQzAwMDAwMDAwMDJGQUZERkZGNzYKKzoxMEYyRjAwMEMwMDAwMDAwMDAzRkVGRkZGN0MwMDAwMDAwMDAwMDAwNkEKKzoxMEYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMDEKKzoxMEYzMTAwMDAwMDAwMDNGREZERkZGQzAwMDAwMDAwMDNGRkZGRkZGRjUKKzoxMEYzMjAwMEMwMDAwMDAwMDAxRkZGREZGRkMwMDAwMDAwMDAwMDAwNjEKKzoxMEYzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDNDI0QTEwMDJDMTYKKzoxMEYzNDAwMDUyMEIxOEMyODYyQ0ExODAzODYyMEEwODQwQzQyQ0ExMzYKKzoxMEYzNTAwMDA4Mjg0MjBCMTQwMDg1MTRBMTA4Mjg0MzBBMTAwMDAwNTUKKzoxMEYzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDEyMDEwMzgwRkIKKzoxMEYzNzAwMDYxMjAxMDA4MDcxMjQxNDI4MDcwMjAxQzA4MDQxQTAxMDUKKzoxMEYzODAwMDg0ODE0MDIwMTgwODQ2MzY4MTA1ODA2MzIwMTAwMDAxRTIKKzoxMEYzOTAwMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDI0MjEwMDBDMTgKKzoxMEYzQTAwMDUyMDIxNDAwODcyODIxODEwODcyMDYxQzgyODQyMDIxQzEKKzoxMEYzQjAwMDQ4MTg0MjAzNTQ4MDQ1MzAyNTRBMTg1MzAyMTAwMDAxNzIKKzoxMEYzQzAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDIyMDEwMTgwNkQKKzoxMEYzRDAwMDQyMjAxOEM4NDQyMjAxODA4NDQyMjAxQzg4MDQyMjAxNTMKKzoxMEYzRTAwMDAwODA0MDIwMTA4ODQ0MzYwMTQwODA0MTAwMTAwMDAwMTkKKzoxMEYzRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMDA4MjAwMDBDMTkKKzoxMEY0MDAwMDIyMDMwNDQwODEwMDIwODQwODAzMDAwMDgwQzIwMDIwMDEKKzoxMEY0MTAwMEM0MDgwMDAzMDg4ODgyMTZBMDQwODgzMjIyODAwMDAwQjkKKzoxMEY0MjAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDIwMTAwODAwNDIwMkQKKzoxMEY0MzAwMDEwMDgwQ0MyMTIxMDg0QzgyMjEyMDgwNDAyMDMwMDg4QUIKKzoxMEY0NDAwMDAwMjEwMDBDMEM0MDQxMzAwMDg0MjAxMDA4MDAwMjAwMTQKKzoxMEY0NTAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDg4MjA2MjAwODhDNjAKKzoxMEY0NjAwMDMyMjIwQzg4ODEyNjIwNEQ4ODIzMjI4MDg4ODMwNjIwMjIKKzoxMEY0NzAwMDA4ODgwMDIzMDQ4QTgxMzYyMDRCODgzMjIyMDAwMDAwNEQKKzoxMEY0ODAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwMjAyMDAwOTgwREYKKzoxMEY0OTAwMDMyMjAwNDg4NjAyMjAwODk4NDAwMjAwODk4MDAwMjAwM0QKKzoxMEY0QTAwMDAwODAwMDIwMDAwODAyM0E4MDQ4ODAzMDIwMDAwMjAwREUKKzoxMEY0QjAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMEFDNDFBQTE4MEE4OTMKKzoxMEY0QzAwMDQxMkExMENBQzcxQUExMDRBRDcxMkExODRBRDQwNkIxM0MKKzoxMEY0RDAwMDAwQTg3MTJBMTAwODg0MjYyOTA2QUM1MjJBMTAwMjAwQkUKKzoxMEY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwNDJBMDE0MTgwMUMKKzoxMEY0RjAwMDQyMjAxQzAwMDQwQTAxMDk4NDUxMjAxQzg4NDQwMjAxOTYKKzoxMEY1MDAwMDA4ODA0MDIwMTA0QTQ3MDIwMTQ4ODA2MzIwMTAwMjAwMTIKKzoxMEY1MTAwMDgwMDAwMDAwMDAwMDAwMDAwODAwMDBDNDEwMjE4MTBDRTEKKzoxMEY1MjAwMDQxMDIwQzAwQzAyMDYxMEQwRTcyMDIxQzQwQzQwODMxNjMKKzoxMEY1MzAwMDA0MTg0MjAyMTA4MDg3MjBCMUM0MEM1MzAyMTAwMDAwNEUKKzoxMEY1NDAwMDAwMDAwMDAwMDAwMDAwMDAwODEwMjAwNzI0MDFDQzAwOEIKKzoxMEY1NTAwMDcyNDAxNDAwMDQyNDAxMDgwMDczNDExMEMwMDczMDExRTgKKzoxMEY1NjAwMENDMDA3MTAxMTAwMjA0MjA4MTQ2MTA0MjQwMTAwMjA0QjgKKzoxMEY1NzAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDBDNTEwMjEwMDA4ODUKKzoxMEY1ODAwMDYyMDIxQzkwQzUyNDIxMDAwQzcwODIxQzEwQzQyMDMxMjIKKzoxMEY1OTAwMDg4MDI0MDA2MUMwMDg1MDBBMTAwMEM0MDQyMDAwMjAwQzkKKzoxMEY1QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIwNTE0ODAwMTIwN0YKKzoxMEY1QjAwMDMwMDgwQzQyMDYwMDgwMDEyNDUxMDgwQzAyNDEwMDgwRjIKKzoxMEY1QzAwMDRDMjAwMDA4MEMzMDQyMDQwMDA0MjAwMDA4MDAwMDAwMTkKKzoxMEY1RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTBDNjI0MjAwMDBDMDUKKzoxMEY1RTAwMDMyQzIwNDgwQzczMDIwMDAwQzUzQzIwNDEwQzIyODcwRkQKKzoxMEY1RjAwMDBDMDkwMjAyNEM4MDgxMDQzMDA5MEMwMjQyMTAwMDAwMDgKKzoxMEY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwODAwMTM4MDAwMjAwMkYKKzoxMEY2MTAwMDEyNDAwQzIwMDczNDA0MDIwMDYzMDEwODEwMDAyNDEwN0IKKzoxMEY2MjAwMDA0MDAwMjAxMDQ4MjAxMDg4MDA5MTAwMjQwMTAwMDA0NTUKKzoxMEY2MzAwMDMwMDAwMDAwMDAwMDAwMDAwMDAwMzAyMDEwODAwMDAwQkEKKzoxMEY2NDAwMDIwODAwMEYwMjAxMDgwMDAwMDIwODAwMEQwODAwMDAwOEEKKzoxMEY2NTAwMDQwMDAwMDAwMDAzMDEwMDA4MDAwMDAwMDAwMDBDQzQwOUUKKzoxMEY2NjAwMDAwMDAwMDAwMDAwMDAwMDAzQzNDMTA4MDgwMDAwMDAwMTIKKzoxMEY2NzAwMDAwMDAxMDkwODA4MDAwMDAwMDAwMDAxMDkwODAwMDkwM0EKKzoxMEY2ODAwMDgwMDAxMDAwMDAxMEEwODAwMDAwMDAyMDAwMTA4QzA4RjYKKzoxMEY2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQxQUJFMTc4MDAwQzcKKzoxMEY2QTAwMDNFNDAyNjZGQkFFMzI0ODAwMDE2NTlCRDgyODE4MkQ4N0QKKzoxMEY2QjAwMDgwMDAwMDE5OTk4NjgwNjQ4MEMwM0ZEOTk5ODAwMDAxM0MKKzoxMEY2QzAwMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDYxNjAyOTQwMDE2ODIKKzoxMEY2RDAwMEMwMTY5NDgyOTAxNjEwODAyMTE4MjgyODAyMEEwMjA4NjkKKzoxMEY2RTAwMDgwMDAwMDAwMDAwMjgyODAxNDAwMDExNDExQTA0MDAwN0MKKzoxMEY2RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODg0N0UKKzoxMEY3MDAwMDAyODRBODgwMDAwMDAwMDg5MTIyODQ0MUEyMDgyNDAxRkMKKzoxMEY3MTAwMDMwMDAwMDAwMDAwMDAwMDAwMDA4ODQwMTQ0MDEwMDAwRTcKKzoxMEY3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwREQKKzoxMEY3MzAwMDAwMDAwMDNFRjdGRkY3QzAwMDAwMDAwMDJGRTdCN0ZGMTIKKzoxMEY3NDAwMEMwMDAwMDAwMDAyRkZFN0ZGN0MwMDAwMDAwMDAwMDAwOTYKKzoxMEY3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwQUQKKzoxMEY3NjAwMDAwMDAwMDM2QkZGRURGQzAwMDAwMDAwMDBGRjdERkZGMjMKKzoxMEY3NzAwMEMwMDAwMDAwMDAzREI3QjdFRkMwMDAwMDAwMDAwMDAwNkYKKzoxMEY3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwN0QKKzoxMEY3OTAwMDAwMDAwMDFGREZERkZGQzAwMDAwMDAwMDBGREZERkZGMDEKKzoxMEY3QTAwMEMwMDAwMDAwMDAzRkVGRkZGRkMwMDAwMDAwMDAwMDAwQUQKKzoxMEY3QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwNEQKKzoxMEY3QzAwMDAwMDAwMDNGQkY3RkZGQzAwMDAwMDAwMDNGRkY3RkY3NDkKKzoxMEY3RDAwMEMwMDAwMDAwMDAzRkRGRkZGRkMwMDAwMDAwMDAwMDAwOEQKKzoxMEY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMUQKKzoxMEY3RjAwMDAwMDAwMDNGN0VGRkZGNDAwMDAwMDAwMDNGRkVGRkZGRDMKKzoxMEY4MDAwMEMwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMDAwMDAwMDAwM0MKKzoxMEY4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwRUMKKzoxMEY4MjAwMDAwMDAwMDM3RkY2RkZGQzAwMDAwMDAwMDNGRkZGRkZGMzgKKzoxMEY4MzAwMEMwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMDAwMDAwMDAwMEMKKzoxMEY4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgKKzoxMEY4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTgKKzoxMEY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTgKKzoxMEY4NzAwMDAwMDAwMDAwMDAwMDAwMDAzMDAwMjAwMTAyMDAwMDAwMzUKKzoxMEY4ODAwMDMwMDA0MzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjkKKzoxMEY4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjgKKzoxMEY4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTgKKzoxMEY4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDgKKzoxMEY4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzgKKzoxMEY4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgKKzoxMEY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgKKzoxMEY4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwMDAwMDAwMDMwRTgKKzoxMEY5MDAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzcKKzoxMEY5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzoxMEY5MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDcKKzoxMEY5MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzcKKzoxMEY5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjcKKzoxMEY5NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDAwQzcKKzoxMEY5NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTcKKzoxMEY5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcKKzoxMEY5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMEY5OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjcKKzoxMEY5QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTcKKzoxMEY5QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzMEMwMzBDMDMwNDcKKzoxMEY5QzAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMEY5RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcKKzoxMEY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcKKzoxMEY5RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcKKzoxMEZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjYKKzoxMEZBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwMDAwMDAwMDBGQzgKKzoxMEZBMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYKKzoxMEZBMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzYKKzoxMEZBNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMEZBNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzoxMEZBNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTYKKzoxMEZBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGNDgKKzoxMEZBODAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMEZBOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzoxMEZBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTYKKzoxMEZBQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDYKKzoxMEZBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzYKKzoxMEZBRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzMEMwMzBDMDBGMjgKKzoxMEZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYKKzoxMEZBRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYKKzoxMEZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMEZCMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMEZCMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDUKKzoxMEZCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzNkIwMEMwMDBDRjJDOEMKKzoxMEZCNDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMEZCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzoxMEZCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMEZCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMEZCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMEZCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDAwNDcKKzoxMEZCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMEZCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMEZCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMEZCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMEZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMEZCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwRjAwMEYwMDMwQzcKKzoxMEZDMDAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMEZDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMEZDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMEZDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMEZDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMEZDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwM0ZDMDAwQTYKKzoxMEZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMEZDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMEZDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMEZDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMEZDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMEZDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzRkMwM0ZDMDMwMjYKKzoxMEZDQzAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMEZDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMEZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMEZDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMEZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMEZEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwRjAwMEYwMDBGQTcKKzoxMEZEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMEZEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMEZENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMEZENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMEZENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMEZENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwRjAwMEYwMDNGMjcKKzoxMEZEODAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMEZEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMEZEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMEZEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMEZEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMEZERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzRkMwM0ZDMDBGMDcKKzoxMEZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMEZERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjIKKzoxMEZFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTIKKzoxMEZFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMEZFMzAwMDAwMDAwMDAwMDAwMDAwMDAwNjMzNUQ4MEMwMDBGREFDNDMKKzoxMEZFNDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMEZFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMEZFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMEZFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMEZFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMEZFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMEZFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMEZFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMEZFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzoxMEZFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzoxMEZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIKKzoxMEZFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwMDAwMDAwMDMwRTIKKzoxMEZGMDAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMEZGMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMEZGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDEKKzoxMEZGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzEKKzoxMEZGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjEKKzoxMEZGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDAwQzEKKzoxMEZGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMEZGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMEZGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMEZGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMEZGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMEZGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzMEMwMzBDMDMwNDEKKzoxMEZGQzAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMEZGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMEZGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMEZGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDgwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDgwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwMDAwMDAwMDBGMzIKKzoxMDgwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDgwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDgwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDgwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDgwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGQjIKKzoxMDgwOTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDgwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDgwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDgwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDgwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDgwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzMEMwMzBDMDBGOTIKKzoxMDgwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDgxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDgxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDgxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDgxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzNzRDMEMwMDBGMEVDNEMKKzoxMDgxNTAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDgxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDgxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDgxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDgxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDgxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDAwQjEKKzoxMDgxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKKzoxMDgxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKKzoxMDgxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKKzoxMDgxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKKzoxMDgxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKKzoxMDgyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwRjAwMEYwMDMwMzAKKzoxMDgyMTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDgyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDgyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDgyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDgyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDgyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwM0ZDMDAwMTAKKzoxMDgyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDgyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDgyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDgyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDgyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDgyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5ODYxMDgwMzA4MjNEOTAKKzoxMDgyRDAwMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDgyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDgyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDgzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDgzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDgzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwRjAwMEYwMDBGMTEKKzoxMDgzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDgzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDgzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDgzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDgzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDgzODAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwRjAwMEYwMDNGOTEKKzoxMDgzOTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDgzQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDgzQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDgzQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDgzRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDgzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzRkMwM0ZDMDBGNzEKKzoxMDgzRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzoxMDg0MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKKzoxMDg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKKzoxMDg0MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKKzoxMDg0NDAwMDAwMDAwMDAwMDAwMDAwMDAzNzY1MjVFNDgwMDBCMDg4Q0YKKzoxMDg0NTAwMEFCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKKzoxMDg0NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKKzoxMDg0ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzoxMDg0OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREMKKzoxMDg0QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0MKKzoxMDg0QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKKzoxMDg0QzAwMDAwMDAwMDAwMzAwMDIwMDEwMjAyMDAwMDMwMDA0MzAwRTQKKzoxMDg0RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKKzoxMDg0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKKzoxMDg0RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKKzoxMDg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkIKKzoxMDg1MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUIKKzoxMDg1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEIKKzoxMDg1MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0IKKzoxMDg1NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkIKKzoxMDg1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUIKKzoxMDg1NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIKKzoxMDg1NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkIKKzoxMDg1ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUIKKzoxMDg1OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREIKKzoxMDg1QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0IKKzoxMDg1QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkIKKzoxMDg1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUIKKzoxMDg1RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUIKKzoxMDg1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEIKKzoxMDg1RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0IKKzoxMDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzoxMDg2MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUEKKzoxMDg2MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEEKKzoxMDg2MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0EKKzoxMDg2NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkEKKzoxMDg2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUEKKzoxMDg2NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEKKzoxMDg2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkEKKzoxMDg2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUEKKzoxMDg2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREEKKzoxMDg2QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0EKKzoxMDg2QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkEKKzoxMDg2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUEKKzoxMDg2RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUEKKzoxMDg2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEEKKzoxMDg2RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0EKKzoxMDg3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjkKKzoxMDg3MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTkKKzoxMDg3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDkKKzoxMDg3MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzkKKzoxMDg3NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjkKKzoxMDg3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkKKzoxMDg3NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkKKzoxMDg3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjkKKzoxMDg3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTkKKzoxMDg3OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDkKKzoxMDg3QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzkKKzoxMDg3QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjkKKzoxMDg3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTkKKzoxMDg3RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTkKKzoxMDg3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODkKKzoxMDg3RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzkKKzoxMDg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjgKKzoxMDg4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTgKKzoxMDg4MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDgKKzoxMDg4MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzgKKzoxMDg4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgKKzoxMDg4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgKKzoxMDg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgKKzoxMDg4NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjgKKzoxMDg4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTgKKzoxMDg4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDgKKzoxMDg4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzgKKzoxMDg4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgKKzoxMDg4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTgKKzoxMDg4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTgKKzoxMDg4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODgKKzoxMDg4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzgKKzoxMDg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjcKKzoxMDg5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTcKKzoxMDg5MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDcKKzoxMDg5MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzcKKzoxMDg5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcKKzoxMDg5NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcKKzoxMDg5NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcKKzoxMDg5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjcKKzoxMDg5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzoxMDg5OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDcKKzoxMDg5QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzcKKzoxMDg5QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjcKKzoxMDg5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTcKKzoxMDg5RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTcKKzoxMDg5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcKKzoxMDg5RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMDhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzoxMDhBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTYKKzoxMDhBMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDYKKzoxMDhBMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzYKKzoxMDhBNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzoxMDhBNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYKKzoxMDhBNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYKKzoxMDhBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjYKKzoxMDhBODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzoxMDhBOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYKKzoxMDhBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzYKKzoxMDhBQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMDhBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzoxMDhBRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTYKKzoxMDhBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODYKKzoxMDhBRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzYKKzoxMDhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzoxMDhCMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMDhCMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMDhCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMDhCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMDhCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMDhCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKKzoxMDhCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMDhCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMDhCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDUKKzoxMDhCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzUKKzoxMDhCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjUKKzoxMDhCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzoxMDhCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMDhCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMDhCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMDhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMDhDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMDhDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKKzoxMDhDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMDhDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDhDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDhDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDhDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDhDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDhDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDhDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMDhDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMDhDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzoxMDhDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMDhDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMDhDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMDhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMDhEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMDhEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMDhEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMDhENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoxMDhENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMDhENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMDhENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMDhEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzoxMDhEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMDhEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDhEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDhEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMDhERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMDhERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMDhERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzoxMDhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMDhFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMDhFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMDhFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzoxMDhFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzoxMDhFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIKKzoxMDhFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIKKzoxMDhFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjIKKzoxMDhFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTIKKzoxMDhFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMDhFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKKzoxMDhFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKKzoxMDhFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMDhFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMDhFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMDhFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMDhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDhGMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDhGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDhGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDhGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDhGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDhGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDhGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDhGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDhGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDEKKzoxMDhGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzEKKzoxMDhGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjEKKzoxMDhGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTEKKzoxMDhGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDhGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDhGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDkwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDkwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDkwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDkwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDkwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDkwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDkwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKKzoxMDkwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDkwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDkwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDkwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDkwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDkwRDAwMDMwMDAwMDAxMDAwMDQ0NzIzMDAwODAwMTAwMDAwMDAzRjUKKzoxMDkwRTAwMDMwMDA0MDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDkwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDkxMTAwMDAwMDAwMDAwMzAwMDgwMDEwMDAwMDAwNTMwMDBBMDAxQzgKKzoxMDkxMjAwMDAwMDAwMDAwMzAwMDAwMDEwMDAwRTE1QTAwMDAwMDAwRDMKKzowQzkxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MDAwMDAwMDFGRgorLy8gVkVSU0lPTj0gMS4wLjAuMTkxCisvLyBEQVRFPSAyMDAyb2N0MjgKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VtaTYyL2xvYWRlci5IRVggYi9maXJtd2FyZS9lbWk2Mi9sb2FkZXIuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlZGIyZGMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lbWk2Mi9sb2FkZXIuSEVYCkBAIC0wLDAgKzEsMTA3IEBACis6MDMwMDAwMDAwMjAyODc3MgorOjAzMDA0MzAwMDIwNDAwQjQKKzoxMDAxMDAwMEU0RkZGRUMyMjBEMkU4NDNEODIwOTA3RkFCNzRGRkYwMUEKKzoxMDAxMTAwMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGOTU3NEMwRTMKKzoxMDAxMjAwMEYwOTA3RjlFRjA5MDdGOThGMEU0OTA3Rjk0RjA5MDdGMjUKKzoxMDAxMzAwMDlENzRGRkYwOTA3Rjk3NzRBMEYwOTA3RjkzRTA1NEZDNDMKKzoxMDAxNDAwMEYwOTA3RjlDNzQwM0YwRTQ5MDdGOTZGMDkwN0ZBRkUwOTYKKzoxMDAxNTAwMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRjBGQkYwMDAxM0MKKzoxMDAxNjAwMDBFQkUwN0Y4QkYwOEY1MjAyMDQyNzUxNDAwNzUxMzAwNzUKKzoxMDAxNzAwMDc1MTIwMDc1MTEwMDdGNDg3RTkyN0QwMDdDMDBBQjE0RTMKKzoxMDAxODAwMEFBMTNBOTEyQTgxMUMzMTIwM0VENTBEQjIwMjBEODdBQkMKKzoxMDAxOTAwMDAwNzkwMDc4MDBFNTE0MjQwMUY1MTRFQTM1MTNGNTEzMEQKKzoxMDAxQTAwMEU5MzUxMkY1MTJFODM1MTFGNTExODBDQTMwMjBGRDEyM0IKKzoxMDAxQjAwMDAxQzc1MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0NjEKKzowNjAxQzAwMDAyRjBDMjIwODBFNkZGCis6MDEwMUM2MDAyMjE2Cis6MTAwMUM3MDA5MDdGRTlFMDI0NUI2MDYwMjQwMjYwMDMwMjAyODU5MDZGCis6MTAwMUQ3MDA3RkVBRTA3NTBBMDBGNTBCQTNFMEZFRTRFRTQyMEE5MDIxCis6MTAwMUU3MDA3RkVFRTA3NTE1MDBGNTE2QTNFMEZFRTRFRTQyMTVFNTk3Cis6MTAwMUY3MDAxNjQ1MTU3MDAzMDIwMjg1RTQ5MDdGQzVGMDkwN0ZCNDIxCis6MTAwMjA3MDBFMDIwRTNGOTkwN0ZDNUUwRjUwQzEyMDMxM0FGMEM3RUY1Cis6MTAwMjE3MDAwMEVGMjUwQkY1MEJFRTM1MEFGNTBBQzNFNTE2OUZGNTNBCis6MTAwMjI3MDAxNkU1MTU5RUY1MTU4MEM3OTA3RkVBRTA3NTBBMDBGNTdCCis6MTAwMjM3MDAwQkEzRTBGRUU0RUU0MjBBOTA3RkVFRTA3NTE1MDBGNUIxCis6MTAwMjQ3MDAxNkEzRTBGRUU0RUU0MjE1RTUxNjQ1MTU2MDMwRTQ5MDhFCis6MTAwMjU3MDA3RkM1RjA5MDdGQjRFMDIwRTNGOTkwN0ZDNUUwRjUwQzBGCis6MTAwMjY3MDAxMjAzMkJBRjBDN0UwMEVGMjUwQkY1MEJFRTM1MEFGNUNECis6MEYwMjc3MDAwQUMzRTUxNjlGRjUxNkU1MTU5RUY1MTU4MENBQzM1NworOjAxMDI4NjAwMjI1NQorOjBDMDI4NzAwNzg3RkU0RjZEOEZENzU4MTI5MDIwMkNFRDQKKzoxMDAyOTMwMDAyMDEwMEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyODAKKzoxMDAyQTMwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzNkMKKzoxMDAyQjMwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGM0IKKzoxMDAyQzMwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDA0NkVFNDdFNTkKKzoxMDAyRDMwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzMzAKKzoxMDAyRTMwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRjcKKzoxMDAyRjMwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBMjIKKzoxMDAzMDMwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFRDkKKzoxMDAzMTMwMEU1MENGRkU1MEJGNTgyRTUwQUY1ODM3NTkyN0U3NEMwNjMKKzowODAzMjMwMEY4RTIwOEYwQTNERkZBMjI2MgorOjEwMDMyQjAwOTA3Rjk2ODU4MzkyQTg4Mjc5MDI5MDAwMDBFMEI0MDBCQQorOjEwMDMzQjAwMEQ3NDAxRjA5MDdGOTdFMDU0N0ZGMDQ0ODBGMEU1MEM1MgorOjEwMDM0QjAwRkY5MDdFQzBFMEY1MjhFNEEyNDczM0YyNjlGMkU0QTIwNQorOjEwMDM1QjAwNDYzM0YyNjlGMkU0QTI0NTMzRjI2OUYyRTRBMjQ0MzM4NAorOjEwMDM2QjAwRjI2OUYyRTRBMjQzMzNGMjY5RjJFNEEyNDIzM0YyNjk5NgorOjEwMDM3QjAwRjJFNEEyNDEzM0YyNjlGMkU0QTI0MDMzRjI2OUYyQTM1MAorOjAzMDM4QjAwREZDMjIyQUMKKzoxMDAzOEUwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGQjEKKzowQjAzOUUwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJCQQorOjEwMDNBOTAwQzBFMEMwODNDMDgyRDIyMDUzOTFFRjkwN0ZBQjc0MDEyQgorOjA4MDNCOTAwRjBEMDgyRDA4M0QwRTAzMkM1Cis6MTAwM0MxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDAyRjBEMDQ0Cis6MDYwM0QxMDA4MkQwODNEMEUwMzI2RgorOjEwMDNENzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwRDAyMAorOjA2MDNFNzAwODJEMDgzRDBFMDMyNTkKKzoxMDAzRUQwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNjYKKzowMTAzRkQwMDIyREQKKzowMTAzRkUwMDMyQ0MKKzowMTAzRkYwMDMyQ0IKKzoxMDA0MDAwMDAyMDNBOTAwMDIwM0MxMDAwMjAzOEUwMDAyMDQ1ODAwODcKKzoxMDA0MTAwMDAyMDNENzAwMDIwM0ZFMDAwMjAzRkYwMDAyMDQ4NDAwNkYKKzoxMDA0MjAwMDAyMDQ4NTAwMDIwNDg2MDAwMjA0ODcwMDAyMDQ4ODAwOUEKKzoxMDA0MzAwMDAyMDQ4OTAwMDIwNDhBMDAwMjA0OEIwMDAyMDQ4QzAwN0EKKzoxMDA0NDAwMDAyMDQ4RDAwMDIwNDhFMDAwMjA0OEYwMDAyMDQ5MDAwNUEKKzowODA0NTAwMDAyMDQ5MTAwMDIwNDkyMDA3NQorOjEwMDQ1ODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwOEYwRDBBNgorOjA2MDQ2ODAwODJEMDgzRDBFMDMyRDcKKzoxMDA0NkUwMDAyMEEwMDBGMDEwQzExMDQwRDAwMDAwMDAwNDEwMDAwRjMKKzowMTA0N0UwMDAwN0QKKzowNDA0N0YwMDAyMTcwMDAwNjAKKzowMTA0ODMwMDAwNzgKKzowMTA0ODQwMDMyNDUKKzowMTA0ODUwMDMyNDQKKzowMTA0ODYwMDMyNDMKKzowMTA0ODcwMDMyNDIKKzowMTA0ODgwMDMyNDEKKzowMTA0ODkwMDMyNDAKKzowMTA0OEEwMDMyM0YKKzowMTA0OEIwMDMyM0UKKzowMTA0OEMwMDMyM0QKKzowMTA0OEQwMDMyM0MKKzowMTA0OEUwMDMyM0IKKzowMTA0OEYwMDMyM0EKKzowMTA0OTAwMDMyMzkKKzowMTA0OTEwMDMyMzgKKzowMTA0OTIwMDMyMzcKKzoxMDExMDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MDEwMTAwMDEwMTAyMDMKKzoxMDExMTAwMDAwMDEwOTAyMjAwMDAxMDEwM0EwMDAwOTA0MDAwMDAyRUYKKzoxMDExMjAwMEZGMDAwMDA0MDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwOUMKKzoxMDExMzAwMDAwMDAwNDAzMDkwNDI2MDM0MTAwNkUwMDYzMDA2ODAwRjgKKzoxMDExNDAwMDZGMDA3MjAwMjAwMDQzMDA2ODAwNjkwMDcwMDA3MzAwQTcKKzoxMDExNTAwMDJDMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI4MDM0NjAwOEEKKzoxMDExNjAwMDY5MDA3MjAwNkQwMDc3MDA2MTAwNzIwMDY1MDAyMDAwNjgKKzoxMDExNzAwMDQ2MDA3MjAwNjEwMDZEMDA2NTAwNTcwMDZGMDA3MjAwNEMKKzoxMDExODAwMDZCMDA3MzAwMkEwMzQzMDA2RjAwNkUwMDY2MDA2OTAwNjUKKzoxMDExOTAwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTAwRTYKKzoxMDExQTAwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMjAzODMKKzoxMDExQjAwMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzAwMDMKKzoxMDExQzAwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjMKKzowMjExRDAwMDAwMDAxRAorOjAwMDAwMDAxRkYKKy8qCitTb3VyY2U6IEVNSUxPQUQuSEVYCitWRVJTSU9OPTEuMC4yLjAwMgorREFURT0xMC4wMS4yMDAyCitFTUkyNl82MgorKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VtaTYyL21pZGkuSEVYIGIvZmlybXdhcmUvZW1pNjIvbWlkaS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJhMGQ2NQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VtaTYyL21pZGkuSEVYCkBAIC0wLDAgKzEsMTI2NiBAQAorOjAzMDAwMDAwMDI0NkI5RkMKKzowMzAwMDMwMDAyMEZGREVDCis6MDMwMDBCMDAwMjRFMEY5MworOjAzMDAxMzAwMDIxN0ZERDQKKzowMzAwMUIwMDAyNEUxMjgwCis6MDMwMDIzMDAwMjRERUY5QworOjAzMDAyQjAwMDI0ODAwODgKKzowMzAwMzMwMDAyNERFNjk1Cis6MDMwMDNCMDAwMjRERjY3RAorOjAzMDA0MzAwMDI0OTAwNkYKKzowMzAwNEIwMDAyNEUwMzVGCis6MDMwMDUzMDAwMjQ4RkE2NgorOjAzMDA1QjAwMDI0REZENTYKKzowMzAwNjMwMDAyNEUwNzQzCis6MTAwNTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODExMDEwMDAxMDEwMkZGCis6MTAwNTEwMDAwMDAxMDkwMjA4MDIwNTAxMDA4MDMyMDkwNDAwMDAwMDAwCis6MTAwNTIwMDAwMTAxMDAwMDBBMjQwMTAwMDE1NjAwMDIwMTAyMEMyNDBFCis6MTAwNTMwMDAwMjAxMDEwMTAwMDIwMDAwMDAwMDBEMjQwNjA1MDEwMjc1Cis6MTAwNTQwMDAwMzAwMDAwMDAwMDAwMDA5MjQwMzAyMDQwMzAwMDUwMDZBCis6MTAwNTUwMDAwQzI0MDIwMzA1MDIwMDA2MDAwMDAwMDAxNTI0MDYwNjE0Cis6MTAwNTYwMDAwMzAyMDAwMDAzMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDc0Cis6MTAwNTcwMDAwMDA5MjQwMzA0MDEwMTAwMDYwMDA5MDQwMTAwMDAwMTMwCis6MTAwNTgwMDAwMjAwMDAwOTA0MDEwMTAyMDEwMjAwMDAwNzI0MDEwMTI4Cis6MTAwNTkwMDAwMDAxMDAxMTI0MDIwMTAyMDIxMDAzNDRBQzAwODBCQkUwCis6MTAwNUEwMDAwMDAwNzcwMTA5MDUwQTA1ODQwMTAxMDA4RjA3MjUwMTc0Cis6MTAwNUIwMDAwMTAwMDAwMDA5MDU4RjAxMDMwMDAxMDUwMDA5MDQwMTg1Cis6MTAwNUMwMDAwMjAyMDEwMjAwMDAwNzI0MDEwMTAwMDEwMDExMjQwMkJGCis6MTAwNUQwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTQ5Cis6MTAwNUUwMDAwQTA1NDYwMjAxMDA4RjA3MjUwMTAxMDAwMDAwMDkwNUU4Cis6MTAwNUYwMDA4RjAxMDMwMDAxMDUwMDA5MDQwMjAwMDAwMTAyMDAwMDUwCis6MTAwNjAwMDAwOTA0MDIwMTAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMEE1Cis6MTAwNjEwMDAwRTI0MDIwMTA2MDIxMDAyNDRBQzAwODBCQjAwMDkwNTUyCis6MTAwNjIwMDA4QzA1NEMwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNEFFCis6MTAwNjMwMDAwMjAyMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMEUyNDRGCis6MTAwNjQwMDAwMjAxMDYwMzE4MDI0NEFDMDA4MEJCMDAwOTA1OEMwNUJBCis6MTAwNjUwMDA3MjAzMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDIwM0UzCis6MTAwNjYwMDAwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDIwMTFECis6MTAwNjcwMDAwMjAyMTAwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU4QzI2Cis6MTAwNjgwMDAwNTg0MDEwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMkExCis6MTAwNjkwMDAwNDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMkVBCis6MTAwNkEwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTc4Cis6MTAwNkIwMDA4QzA1NDYwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDI0Cis6MTAwNkMwMDAwMzAwMDAwMTAxMDAwMDA5MjQwMTAwMDEwOTAwMDEwNEU4Cis6MTAwNkQwMDAwOTA0MDQwMDAyMDEwMzAwMDAwNzI0MDEwMDAxMjQwMEIyCis6MTAwNkUwMDAwNjI0MDIwMTA3MDAwOTI0MDMwMjA4MDEwNzAxMDAwNjhECis6MTAwNkYwMDAyNDAyMDIwOTAwMDkyNDAzMDEwQTAxMDkwMTAwMDkwNTc1Cis6MTAwNzAwMDAwMTAyMDQwMDAwMDAwMDA1MjUwMTAxMDcwOTA1ODEwMjFFCis6MTAwNzEwMDAwNDAwMDAwMDAwMDUyNTAxMDEwQTA0MDMwOTA0MTgwMzcwCis6MTAwNzIwMDA0NTAwNkQwMDYxMDA2NzAwNjkwMDYzMDAyMDAwNDcwMDFDCis6MTAwNzMwMDA2RDAwNjIwMDQ4MDAyMjAzNDUwMDZEMDA2MTAwNjcwMDAzCis6MTAwNzQwMDA2OTAwNjMwMDIwMDA0NTAwNEQwMDQ5MDAyMDAwMzYwMDhDCis6MTAwNzUwMDA3QzAwMzIwMDIwMDA2RDAwMkEwMzQzMDA2RjAwNkUwMDExCis6MTAwNzYwMDA2NjAwNjkwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDJFCis6MTAwNzcwMDA2RjAwNkUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDZDCis6MTAwNzgwMDA2NzAwMjIwMzQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDc1Cis6MTAwNzkwMDA2MTAwNjMwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFCis6MDYwN0EwMDA2RTAwNjcwMDAwMDA3RQorOjEwMDdBNjAwRTQ5MDc2NjZGMDEyNDRBRDIwMjYxMzkwNzY2NkUwQzM5OAorOjEwMDdCNjAwOTQwMjUwMEFFMDA0RjBEMjQyMTI0QjdGODBFQTMwMjZCRgorOjEwMDdDNjAwMDUxMjI4MDFDMjI2MzAyNTJCOTA3Njk2RTA1NEZDRjBCRgorOjEwMDdENjAwOTA4MDAzRjAxMjE0OTY5MDc2OTZFMDQ0MDNGMDkwODA5MQorOjEwMDdFNjAwMDNGMEU0OTA3NjY3RjA5MDc2NjdFMDA0RjBFMEI0NEJBRgorOjBBMDdGNjAwRjYxMjQ3RkExMjQxMUI4MEM1MjJEQgorOjEwMDgwMDAwRTQ5MDc2MzFGMDkwNzYzMUUwRkY3NUYwMDNBNDI0MEY4OAorOjEwMDgxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0QQorOjEwMDgyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYzMUUwMDRGMDgwRDU1MQorOjEwMDgzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNCMQorOjEwMDg0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYzM0YwMjQyOQorOjEwMDg1MDAwRjA2MDBBMjQwRTYwMDI4MTg3MTI0QkM3MjI5MDdGRUQ2MAorOjEwMDg2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzNzc0MDE0NQorOjEwMDg3MDAwRjA5MDc2Mzk3NDAzRjA5MDc2MjFGMEU0OTA3NjIwRjBEMQorOjEwMDg4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MjBFMEZGNzVGMDBBQTRGNAorOjEwMDg5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1QQorOjEwMDhBMDAwRUU2RDYwMTI5MDc2MjFFMEZFRUZDMzlFNTAwODkwNzZDOAorOjEwMDhCMDAwMjBFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFNQorOjEwMDhDMDAwMTg3NDA2RjA5MDc2Mzc3NDA0RjA5MDc2Mzk3NDBBRjA1NAorOjEwMDhEMDAwOTA3NjIxRjA5MDc2MjA3NDAzRjA5MDdGRUFFMEY0NjA0NworOjEwMDhFMDAwMkY5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2NAorOjEwMDhGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY4NAorOjEwMDkwMDAwMjFFMEZFRUZDMzlFNTAwODkwNzYyMEUwMDRGMDgwRDFGNQorOjEwMDkxMDAwOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVFRAorOjEwMDkyMDAwRjU4M0UwOTA3MjI5RjBFNDkwNzYzQkYwOTA3NjIxRTAzOAorOjEwMDkzMDAwRkVFRjZFNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJGMAorOjEwMDk0MDAwRTAxNDYwMTMxNDcwMDIyMUUyMjQwMjYwMDI4MTdGOTA5RgorOjEwMDk1MDAwN0ZCNEUwNDQwMUYwMjI5MDdGRTlFMDE0NzA3QzkwN0Y0NgorOjEwMDk2MDAwRUFFMEY0NzA0ODkwNzYzN0UwOTA3NjIwRjA5MDc2Mzk5RgorOjEwMDk3MDAwRTBGRTkwNzYyMEUwRkRDMzlFNTAyQjkwNzYzQkUwRkU5QgorOjEwMDk4MDAwMDRGMDc0QzAyRUY1ODJFNDM0N0VGNTgzRTBGRUVENzU0QworOjEwMDk5MDAwRjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRUVGMDkwNzY4QQorOjEwMDlBMDAwMjBFMDA0RjA4MEM3OTA3NjNGNzQwMUYwMjI5MDdFQzA3MgorOjEwMDlCMDAwRTBGRUVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODMwQworOjEwMDlDMDAwRUVGMEUwQjQwMTA4OTA3NjNFNzQwMUYwODAwNUU0OTAwQQorOjEwMDlEMDAwNzYzRUYwOTA3NjNGNzQwMUYwMjI5MDdGQjRFMDQ0MDFCRgorOjEwMDlFMDAwRjAyMjkwN0ZFOUUwMjRGRTcwMDI0MUEzMTQ3MDAyNjFCRQorOjEwMDlGMDAwM0YxNDcwMDI2MURCMjQwMzYwMDI4MTc3OTA3RkVBRTA5QworOjEwMEEwMDAwRjQ3MDZCOTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkZDNgorOjEwMEExMDAwOTA3NjIwRTBGRUMzOUY1MDRFOTA3NjNCRTBGRjA0RjBCRQorOjEwMEEyMDAwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBMgorOjEwMEEzMDAwQTQyNEFDRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCRTBDNgorOjEwMEE0MDAwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUVGRQorOjEwMEE1MDAwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTBDNworOjEwMEE2MDAwNzYyMEUwMDRGMDgwQTQ5MDc2NDA3NDAxRjAyMjkwN0UxRAorOjEwMEE3MDAwQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBQ0Y1ODI3OQorOjEwMEE4MDAwRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEE3NworOjEwMEE5MDAwQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjQxNzRDQgorOjEwMEFBMDAwMDFGMDIyOTA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzY2RAorOjEwMEFCMDAwMjBGMDkwNzYzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI2MAorOjEwMEFDMDAwODE4RTkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQxMQorOjEwMEFEMDAwN0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFFRjU4MkU0MzRERgorOjEwMEFFMDAwNzVGNTgzRUZGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjVDRQorOjEwMEFGMDAwODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFGRjVCRQorOjEwMEIwMDAwODJFNDM0NzVGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI2MworOjEwMEIxMDAwOTA3RUMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUUzRgorOjEwMEIyMDAwRjU4MkU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzU1OQorOjEwMEIzMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRUZGMDIyOTAzNworOjEwMEI0MDAwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzY1OQorOjEwMEI1MDAwMzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzZDMAorOjEwMEI2MDAwM0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBBRgorOjEwMEI3MDAwRkZFRTc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRUYzNgorOjEwMEI4MDAwRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGMQorOjEwMEI5MDAwRjU4M0UwRkZFRTc1RjAwQUE0MjRCMUY1ODJFNDM0NzUyNAorOjEwMEJBMDAwRjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTAyNAorOjEwMEJCMDAwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEIwRjU4MkU0MzRCQworOjEwMEJDMDAwNzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjQ4NgorOjEwMEJEMDAwQjFGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFQUUwRjQxQQorOjEwMEJFMDAwNzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGOTA0RQorOjEwMEJGMDAwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2M0JFMEZGMDRBQQorOjEwMEMwMDAwRjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjBEQQorOjEwMEMxMDAwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JCNAorOjEwMEMyMDAwRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkYyQQorOjEwMEMzMDAwRUU3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU4M0VGRjA4MQorOjEwMEM0MDAwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwRkY5MDc2MjBCNQorOjEwMEM1MDAwRTBGRTc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUY2MgorOjEwMEM2MDAwRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0QjNGNTgyRTRCMworOjEwMEM3MDAwMzQ3NUY1ODNFRkYwMjI5MDdGQjRFMDQ0MDFGMDIyOTBDOAorOjBGMEM4MDAwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyMDEKKzoxMDBDOEYwMDQxNzY2ODAxNDE3NjZBMDI0MTc2NkIwQUMxMjBDMTIxMjMKKzowMjBDOUYwMEMxMkY2MworOjA0MENBMTAwNDE3NjIzMDA3NQorOjEwMENBNTAwNDE3MjAxMDE0NTcyMDUwMDAyQzkwMDAwNDU3MjBBMDA0MgorOjEwMENCNTAwMDEwMjAzMDQ0RDcyMEZEMTAwRDEwMDAwMDAwMDAwMDBCNQorOjEwMENDNTAwMjgyODA5MDA0RDcyMUMwMTAwMDEwMjAzMDQwNTA2MDdDRQorOjEwMENENTAwMDgwOTBBMEI0MTcyMkUyMjQxNzIyRjIzNDE3MjMwMjBERQorOjEwMENFNTAwNDE3MjMxMjE2MkQyNzIzQTAwMDAwMDAwMDAwMDAwMDAxQQorOjEwMENGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMEQwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMEQxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMEQyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMEQzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMEQ0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMEQ1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMEQ2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMEQ3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAxMDEwMTAxMDE2OAorOjEwMEQ4NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE0RQorOjEwMEQ5NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEzRQorOjEwMERBNTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEyRQorOjEwMERCNTAwMDEwMTAxMDEwMTAxMDEwMTAyMDIwMjAyMDIwMjAyMDIxNgorOjEwMERDNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJGRQorOjEwMERENTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJFRQorOjEwMERFNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJERQorOjEwMERGNTAwMDIwMjAyMDIwMjAzMDMwMzAzMDMwMzAzMDMwMzAzMDNDMworOjEwMEUwNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDNBRAorOjEwMEUxNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM5RAorOjEwMEUyNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM4RAorOjEwMEUzNTAwMDMwMzA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ2RgorOjEwMEU0NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ1RAorOjEwMEU1NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ0RAorOjEwMEU2NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQzRAorOjEwMEU3NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUxRAorOjEwMEU4NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwRAorOjEwMEU5NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDVGRAorOjEwMEVBNTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA2MDZFQgorOjEwMEVCNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZDRAorOjEwMEVDNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZCRAorOjEwMEVENTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZBRAorOjEwMEVFNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA3MDcwNzA4MDg5NgorOjEwMEVGNTAwMDgwOTA5MDkwQTBBMEEwQjBCMEIwQzBDMEMwRDBEMEQ0MAorOjEwMEYwNTAwMEUwRTBFMEYwRjBGMTAxMDEwMTExMTExMTIxMjEyMTNEOQorOjEwMEYxNTAwMTMxMzE0MTQxNDE1MTUxNTE2MTYxNjE3MTcxNzE4MTg3NAorOjEwMEYyNTAwMTgxOTE5MTkxOTFBMUExQTFBMUIxQjFCMUIxQzFDMUMxOAorOjEwMEYzNTAwMUMxRDFEMUQxRDFFMUUxRTFFMUYxRjFGMUYyMDIwMjBDOAorOjEwMEY0NTAwMjEyMTIxMjIyMjIyMjMyMzI0MjQyNTI1MjYyNjI3Mjc2MQorOjEwMEY1NTAwMjgyODI5MjkyQTJBMkIyQjJDMkMyRDJEMkUyRTJGMkZENAorOjEwMEY2NTAwMzAzMDMxMzEzMjMyMzMzMzM0MzQzNTM1MzYzNjM3Mzc0NAorOjEwMEY3NTAwMzgzODM5MzkzQTNBM0IzQzNEM0UzRjQwNDE0MjQzNDQ5QgorOjEwMEY4NTAwNDU0NjQ3NDg0OTQ5NEE0QjRCNEM0RDRFNEY1MDUxNTJBNworOjEwMEY5NTAwNTM1NDU1NTU1NjU2NTc1NzU4NUE1QjVENUU1RjYxNjJCNworOjEwMEZBNTAwNjM2NDY1NjY2NzY4Njk2QTZCNkM2RDZGNzE3MjczNzQ4QgorOjEwMEZCNTAwNzU3Njc3Nzg3OTdBN0I3QzdFODAwMTM3MDEwMTM4MDBGOAorOjAxMEZDNTAwMDAyQgorOjEwMEZDNjAwRTRGRjc0NDYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0MjA2MAorOjEwMEZENjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDRFMkZGNTgyRTQyQgorOjEwMEZFNjAwMzQ3NkY1ODNFMEZFNzQzMDJGRjU4MkU0MzQ4MEY1ODNBMQorOjA2MEZGNjAwRUVGMDBGQkYwOENDNzUKKzowMTBGRkMwMDIyRDIKKzowMzBGRkQwMEMyODkzMjc0Cis6MTAxMDAwMDBFNDkwNzYyQ0YwOTA3NjJDRTBGRjc1RjAwM0E0MjQwRjhBCis6MTAxMDEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDQyCis6MTAxMDIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjJDRTAwNEYwODBENTRFCis6MTAxMDMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0E5Cis6MTAxMDQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjJFRjAyNDI2Cis6MTAxMDUwMDBGMDYwMEEyNDBGNjAwMjgxN0QxMjRCQTQyMjkwN0ZFRDg0Cis6MTAxMDYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM4NzQwMTNDCis6MTAxMDcwMDBGMDkwNzYzQTc0MDNGMDkwNzYxQ0YwRTQ5MDc2MUJGMEQyCis6MTAxMDgwMDA5MDdGRUFFMEY0NjAyRjkwNzYxQkUwRkY3NUYwMEFBNEYxCis6MTAxMDkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDUyCis6MTAxMEEwMDBFRTZENjAxMjkwNzYxQ0UwRkVFRkMzOUU1MDA4OTA3NkM1Cis6MTAxMEIwMDAxQkUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkUyCis6MTAxMEMwMDAxODc0MDZGMDkwNzYzODc0MDRGMDkwNzYzQTc0MEFGMDRBCis6MTAxMEQwMDA5MDc2MUNGMDkwNzYxQjc0MDNGMDkwN0ZFQUUwRjQ2MDQ5Cis6MTAxMEUwMDAyRjkwNzYxQkUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDYxCis6MTAxMEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3NjdDCis6MTAxMTAwMDAxQ0UwRkVFRkMzOUU1MDA4OTA3NjFCRTAwNEYwODBEMUY3Cis6MTAxMTEwMDBFNDkwNzYxRUYwOTA3NjFDRTBGRjkwNzYxQkUwRkU2RjY4Cis6MTAxMTIwMDA3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkUwMTQ2MEZGCis6MTAxMTMwMDAxMzE0NzAwMjIxQkYyNDAyNjAwMjgxNzU5MDdGQjRFMDE1Cis6MTAxMTQwMDA0NDAxRjAyMjkwN0ZFOUUwMjQ3RjcwNkI5MDdGRUFFMDE5Cis6MTAxMTUwMDBGNDcwNEE5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkzCis6MTAxMTYwMDA5MDc2MUJFMEZEQzM5RjUwMkJFRDc1RjAwQUE0MjRBQkQ1Cis6MTAxMTcwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZEMDRGMDFGCis6MTAxMTgwMDA3NDAwMkRGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDU4Cis6MTAxMTkwMDAwNEYwODBDNzkwNzYxRUUwOTA3RkI1RjAyMkVFNzVGMEU3Cis6MTAxMUEwMDAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDY3Cis6MTAxMUIwMDA5MDdGQjU3NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDVBCis6MTAxMUMwMDA3RkU5RTAyNDdFNzAwMjQxN0UxNDcwMDI2MTIzMTQ3MDc2Cis6MTAxMUQwMDAwMjYxQzgyNDAzNjAwMjgxNkQ5MDdGRUFFMEY0NzA2REMzCis6MTAxMUUwMDA5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQjkwCis6MTAxMUYwMDBFMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNEYxCis6MTAxMjAwMDAzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyRDQ5Cis6MTAxMjEwMDBGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRBRDk3Cis6MTAxMjIwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDZECis6MTAxMjMwMDA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMEE2Cis6MTAxMjQwMDAwNEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQjhCCis6MTAxMjUwMDBFMEZGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMDcwCis6MTAxMjYwMDA5MDdGMDBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUE4Cis6MTAxMjcwMDBGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkJCCis6MTAxMjgwMDBFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2MUJGMDkwNzYzQTU0Cis6MTAxMjkwMDBFMEZGOTA3NjFCRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDdCCis6MTAxMkEwMDAyNEFFRjU4MkU0MzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDExCis6MTAxMkIwMDAwNEYwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUQxCis6MTAxMkMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjRDCis6MTAxMkQwMDAxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRjA3Cis6MTAxMkUwMDBGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNTJECis6MTAxMkYwMDBGMDIyOTA3NjFCRTBGRjc1RjAwQUE0MjRBRUY1ODJFNDlDCis6MTAxMzAwMDAzNDc1RjU4M0UwOTA3RjAwRjBFRjc1RjAwQUE0MjRBRjA4Cis6MTAxMzEwMDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAxRjA5MDdGQjU3NDM5Cis6MTAxMzIwMDAwMkYwMjI5MDdGRUFFMEY0NzA2RDkwNzYzOEUwOTA3NkRCCis6MTAxMzMwMDAxQkYwOTA3NjNBRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEExCis6MTAxMzQwMDBGRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRTBGRTVECis6MTAxMzUwMDA5MDc2MUVFMEZEMDRGMDc0MDAyREY1ODJFNDM0N0ZGNUY0Cis6MTAxMzYwMDA4M0VFRjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVGNTRDCis6MTAxMzcwMDA4M0UwRkY5MDc2MUVFMEZFMDRGMDc0MDAyRUY1ODJFNDE4Cis6MTAxMzgwMDAzNDdGRjU4M0VGRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjM0Cis6MTAxMzkwMDAxRUUwOTA3RkI1RjAyMjkwNzYxQkUwRkY3NUYwMEFBNDY2Cis6MTAxM0EwMDAyNEIwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUFBCis6MTAxM0IwMDBGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMTRFCis6MTAxM0MwMDBGMDkwN0ZCNTc0MDJGMDIyOTA3RkVBRTBGNDcwNkQ5MEE3Cis6MTAxM0QwMDA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUJFMDRFCis6MTAxM0UwMDBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNEE1Cis6MTAxM0YwMDA3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTk3Cis6MTAxNDAwMDA4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QjNGNTlGCis6MTAxNDEwMDA4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA3NEZDCis6MTAxNDIwMDAwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTAwNDI0Cis6MTAxNDMwMDBGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEJECis6MTAxNDQwMDBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRTA5MEM4Cis6MTAxNDUwMDA3RjAwRjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTRCCis6MTAxNDYwMDA4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCNDBBCis6MTAxNDcwMDBFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNDc4Cis6MDUxNDgwMDBFMDQ0MDFGMDIyMzAKKzoxMDE0ODUwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5N0EKKzowMTE0OTUwMDIyMzQKKzoxMDE0OTYwMDkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRTAKKzoxMDE0QTYwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMDhERTBDMEUwREMKKzoxMDE0QjYwMDhDRTBDMEUwQzA4MkMwODMwNTg2QzA4NEMwODU3RDAwMDQKKzoxMDE0QzYwMDkwN0ZFMzc0N0JGMEEzNzQ4MEYwN0MxMTkwN0Y5OUUwQTkKKzoxMDE0RDYwMDU0NDBEQzAzMDIxNEYzQjQwMDEzOTA3RkUyNzQ0MEYwMkUKKzoxMDE0RTYwMDkwN0ZFNUYwOTA3RkUyNzQwMEYwMDIxNEQyOTA3NjkwM0YKKzoxMDE0RjYwMEUwQjQwMTEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwQ0IKKzoxMDE1MDYwMDkwN0Y2QzAyMTU1N0I0MDIxMjkwNzY4RkUwMkRGRDkwRjUKKzoxMDE1MTYwMDdGRTI3NDgwRjA5MDdGNkMwMjE1OTZCNDAzMTI5MDc2ODkKKzoxMDE1MjYwMDhGRTAyREZEOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNUUxRDQKKzoxMDE1MzYwMEI0MDQxMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwRDcKKzoxMDE1NDYwMDdGNkMwMjE2MTA5MDdGRTI3NDgwRjA5MDdGNkMwMjE2MUEKKzoxMDE1NTYwMDQwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERGMjdEQjkKKzoxMDE1NjYwMDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0RkQKKzoxMDE1NzYwMDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwMkQKKzoxMDE1ODYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREQ0MDIxNjQwRkMKKzoxMDE1OTYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwNDUKKzoxMDE1QTYwMEYwRjBEREVDN0QwMjA1ODY5MDdGRTI3NDAwRjA5MDdGMUUKKzoxMDE1QjYwMDlCRTA1NDA0QjQwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0NTEKKzoxMDE1QzYwMDgwRjAwNTg2RjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwREEKKzowNjE1RDYwMEYwRjBGMEYwRjBGMDZGCis6MTAxNURDMDBERENFMDIxNjQwRjBGMEYwRjBEREZBN0QwMjA1ODY5MENCCis6MTAxNUVDMDA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDU4NjA0Cis6MTAxNUZDMDAwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBERDhBCis6MTAxNjBDMDBEQzAyMTY0MEYwRjBGMEYwRjBGMERERjg3RDAyMDU4NjFCCis6MTAxNjFDMDA5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNUM5Cis6MTAxNjJDMDA4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEIwCis6MTAxNjNDMDBGMEYwREREQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NjdFCis6MTAxNjRDMDBEMDgzRDA4MkQwRTBGQ0QwRTBGREQwRTBGRUQwRTBGRjMzCis6MDUxNjVDMDBEMEUwRDBEMDIyMTcKKzoxMDE2NjEwMEMwRDBDMEUwQzA4MkMwODM5MDc2N0NFMDkwN0Y2RkYwRjQKKzoxMDE2NzEwMDkwNzY3REUwOTA3RjZGRjA5MDc2N0VFMDkwN0Y2RkYwQzYKKzowOTE2ODEwMEQwODNEMDgyRDBFMEQwRDAyMjQ5Cis6MTAxNjhBMDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTBDMDgyQzA4MzdFCis6MTAxNjlBMDAwNTg2QzA4NEMwODU5MDc2ODdFMEZGQkYwMDAzMDIxN0U1Cis6MTAxNkFBMDAwMTkwN0Y5NkUwNDQ4MEYwOTA3RkUyNzQ4MEYwOTA3RjEyCis6MTAxNkJBMDA2MkUwMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5NkUwNTQ3RkE2Cis6MTAxNkNBMDBGMDkwN0ZFMjc0ODBGMDkwNzY4RUUwQjQwMTA1MDU4NjkyCis6MTAxNkRBMDAwMjE2RjZCNDAyMDUwNTg2MDIxNkVCMDU4NjAyMTZGQjBCCis6MTAxNkVBMDBFMEUwRTBFMEUwRTBERkY4MDIxNkZCRTBFMEUwRTBERjY3Cis6MTAxNkZBMDBGQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NkQwODNEMDNBCis6MEMxNzBBMDA4MkQwRTBGRUQwRTBGRkQwRTBEMEQwMjI4MgorOjEwMTcxNjAwQzA4MkMwODNDMEUwRThDMEUwNzhEMUU4MTRGODcwRkI2RQorOjBBMTcyNjAwRDBFMEY4RDBFMEQwODNEMDgyMjI5QQorOjEwMTczMDAwQzA4MkMwODNDMEUwRThDMEUwNzg3OEU4MTRGODcwRkJBRAorOjBBMTc0MDAwRDBFMEY4RDBFMEQwODNEMDgyMjI4MAorOjA3MTc0QTAwOTA3RkM1NzQwMkYwMjIzQworOjEwMTc1MTAwOTA3RUMwRTA5MDc2NDVGMDkwN0VDMUUwOTA3NjQ0RjBCNgorOjEwMTc2MTAwOTA3RUMyRTA5MDc2NDNGMEI0MDAwMzAyMTc3ODkwNzY0MQorOjEwMTc3MTAwMTk3NDAzRjAwMjE3OEU5MDc2NDRFMEI0QkIwOTkwNzY5OQorOjEwMTc4MTAwMTk3NDAyRjAwMjE3OEU5MDc2MTk3NDAxRjA5MDc2NDI2NgorOjAzMTc5MTAwRTRGMDIyNUYKKzowNDE3OTQwMDhEMjk4QjJBRTYKKzoxMDE3OTgwMDEyNEE1NUVBNDk2MDU3MTIzNjkyN0UwMDI5RkZFRTNBRkUKKzoxMDE3QTgwMEM5RUZDOTc1MkJGRkY1MkM4OTJEQUIyQkFBMkNBOTJEQjgKKzoxMDE3QjgwMDkwMDAwMTEyMzZBQkZGNjQwNDYwMDVFRjY0MDU3MDJFREIKKzoxMDE3QzgwMEVGQjQwNDE1OTAwMDAyMTIzNkFCNjUyOTcwMEI5MDAwMzcKKzoxMDE3RDgwMDAzMTIzNkFCNjUyQTcwMDEyMjEyMzY5MjdFMDAyOUZGNjkKKzoxMDE3RTgwMEVFM0FDOUVGQzk3NTJCRkZGNTJDODkyRDgwQkM3QjAwMUIKKzowNDE3RjgwMDdBMDA3OTAwRkEKKzowMTE3RkMwMDIyQ0EKKzowMzE3RkQwMEMyOEIzMjZBCis6MTAxODAwMDA5MDc2OTBFMDE0NjAzNzE0NzAwMjAxRDgxNDcwMDIyMUIxCis6MTAxODEwMDA3MjE0NzAwMjQxM0IyNDA0NjAwMjYxMDM5MDdGRkM3NEU3Cis6MTAxODIwMDBDQ0YwOTA3RkZGNzRGQ0YwOTA3Njk1RTA0NDAxRjA1NDhBCis6MTAxODMwMDAwNUYwOTA4MDAxRjBFNDkwNzYxQUYwQzIyRTIyOTA3NkE2Cis6MTAxODQwMDA5NUUwNDQwMUYwNDQwMkYwMzAzRTA2RTA0NDA0RjA4MEFDCis6MTAxODUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDdBCis6MTAxODYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjI5MDI3Cis6MTAxODcwMDA3RkZDNzQ3NEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjczCis6MTAxODgwMDBGMDkwNzY5N0UwNTRGREYwRTQ5MDc2ODFGMDkwNzY4MEM5Cis6MTAxODkwMDBGMEVGQjQwMjIyOTA3RkZDNzQ2OEYwOTA3RkZGNzRGQzNDCis6MTAxOEEwMDBGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkYwRTQ5MEY5Cis6MTAxOEIwMDA3NjgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRTg0Cis6MTAxOEMwMDBGMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwNTRGQjIzCis6MTAxOEQwMDBGMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NEZFRjA0NEYzCis6MTAxOEUwMDAwMkYwMzAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NDI0Cis6MTAxOEYwMDBGQkYwOTA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUI0Cis6MTAxOTAwMDBGMDkwNzYxOUUwRkZCNDAxMjI5MDdGRkM3NDMwRjA5MEUzCis6MTAxOTEwMDA3RkZGNzRGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEY0Cis6MTAxOTIwMDBGREYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjI5MEEyCis6MTAxOTMwMDA3RkZDNzQxQ0YwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRjA2Cis6MTAxOTQwMDBGMDkwNzY5N0UwNDQwMkYwRTQ5MDc2ODFGMDkwNzY4MDEzCis6MTAxOTUwMDBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5NzNDCis6MTAxOTYwMDBFMDQ0MDFGMDkwNzY5N0UwNTRGQkYwOTA4MDAyRjBEMkQyCis6MTAxOTcwMDAyRTIyOTA3Njk1RTA0NDAxRjA0NDAyRjA0NDA4RjAzMEM1Cis6MTAxOTgwMDAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NEZCRjA5MDJBCis6MTAxOTkwMDA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUYwOTA3Njk4Cis6MTAxOUEwMDAxOUUwRkZCNDAxMjU5MDdGRkM3NENDRjA5MDdGRkY3NEE4Cis6MTAxOUIwMDBGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEZERjA1NDA1Cis6MTAxOUMwMDBGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjU5MDAxCis6MTAxOUQwMDA3RkZDNzRDOEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRkJBCis6MTAxOUUwMDBGMDkwNzY5N0UwNDQwMkYwNTRGQkYwRTQ5MDc2ODFGMEJBCis6MTAxOUYwMDA5MDc2ODBGMEVGQjQwMzI1OTA3RkZDNzQ5OEYwOTA3RjkwCis6MTAxQTAwMDBGRjc0RkNGMDkwNzY4Rjc0NUZGMDkwNzY5N0UwNTRGRDUxCis6MTAxQTEwMDBGMDQ0MDRGMEU0OTA3NjgxRjA5MDc2ODBGMDMwM0YwOTU1Cis6MTAxQTIwMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMEJFCis6MTAxQTMwMDA5MDc2OTdFMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NDM2Cis6MTAxQTQwMDBGRUYwNDQwMkYwNDQwOEYwMzAzRTA2RTA0NDA0RjA4MDJBCis6MTAxQTUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDc4Cis6MTAxQTYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjU5MDIyCis6MTAxQTcwMDA3RkZDNzRCNEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjMxCis6MTAxQTgwMDBGMDkwNzY5N0UwNTRGREYwNTRGQkYwRTQ5MDc2ODFGMDBFCis6MTAxQTkwMDA5MDc2ODBGMEVGQjQwMjI1OTA3RkZDNzRCMEYwOTA3RkQ4Cis6MTAxQUEwMDBGRjc0RkNGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkVDCis6MTAxQUIwMDBGMDU0RkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMzgwCis6MTAxQUMwMDAyNTkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkNGMDkwNzY4RjE3Cis6MTAxQUQwMDA3NDVGRjA5MDc2OTdFMDU0RkRGMDQ0MDRGMEU0OTA3NjYzCis6MTAxQUUwMDA4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMEQ4Cis6MTAxQUYwMDA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMjFFCis6MDQxQjAwMDBGMEQyMkUyMkNGCis6MTAxQjA0MDAzMDJDMzhDMjJDOTA3NjE5RTBGRkI0MDEwRTkwNzY3QzBDCis6MTAxQjE0MDA3NEMwRjBBMzc0MTRGMEEzNzQwQkYwRUZCNDAyMERFNERBCis6MTAxQjI0MDA5MDc2N0NGMEEzNzQxMEYwQTM3NDBDRjBFRkI0MDMwQjY0Cis6MEMxQjM0MDBFNDkwNzY3Q0YwQTM3NDE4RjBBM0YwMjI3QgorOjEwMUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwMUI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwMUI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwMUI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwMUI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwMUI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwMUJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwMUJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwMUJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwMUJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwMUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwMUJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMUMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwMUMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwMUMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMUM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwMUM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwMUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjBFMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAxRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAxRUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAxRURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAxRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAxRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAxRjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAxRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAxRjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MDIxRjNFMDAwMDAwQTEKKzoxMDFGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDFGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDFGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDFGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDFGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDFGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDFGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDFGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDFGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDFGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDFGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDFGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDIwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDIwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDIwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDIwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKKzoxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKKzoxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKKzoxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKKzoxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKKzoxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKKzoxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKKzoxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzowRTIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjM3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjM4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjM5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjNBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjNCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjNDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjNERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjNFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjNGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjQwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjQxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjQyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjQzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjQ0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjQ1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjQ2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjQ3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjQ4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjQ5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjRBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjRCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjRDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjRERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjRFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjRGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjUwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjUxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjUzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjU0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjU2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjU3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjU4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjU5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjVBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjEwMjVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwMjYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQworOjEwMjYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwMjYzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwMjY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwMjY1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwMjY2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwMjY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwMjY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwMjY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjEwMjZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjEwMjZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwMjZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwMjZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjBFMjZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyNkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyNzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyNzFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyNzJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyNzNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyNzRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyNzVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyNzZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyNzdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyNzhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyNzlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyN0FDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyN0JDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyN0NDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyN0RDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyN0VDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MDUyN0ZDMDAwMDAwMDAwMDIyQjYKKzoxMDI4MDEwMEMyMjBDMjIxQzIyQTkwN0ZFOEUwMTIzN0Y5MjgzMDAwQTUKKzoxMDI4MTEwMDI4OEMwMTI4QTIwMjJBMUYyMTJBNkEyMjI5M0Q4MDI5MDcKKzoxMDI4MjEwMDdEODEyOUQxODIyQTg0QTEyQUJBQTIwMDAwMkFCRjkwREYKKzoxMDI4MzEwMDdGRTlFMDE0NjAxMTI0RkU2MDI4MjRGRTYwM0IyNEZDNDMKKzoxMDI4NDEwMDcwNDAxMjNGRTU0MUNCMTI0RTFENDAwMjQxQ0I5MDdGQkIKKzoxMDI4NTEwMEVBRTBCNDAxMDRDMjIyNDFDQjkwN0ZCNEUwNDQwMUYwMkMKKzoxMDI4NjEwMDQxQ0IxMjRFMUY5MDdGRUFFMEI0MDEwNEQyMjI0MUNCNEEKKzoxMDI4NzEwMDkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwOUIKKzoxMDI4ODEwMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDI0NUIKKzoxMDI4OTEwMEY1NzAwNTEyNDg2MzQxQ0I5MDdGQjRFMDQ0MDFGMDQxRUIKKzoxMDI4QTEwMENCOTA3RkU5RTAyNEZENjA1NDI0MDI2MDAyMjEzNDEyQzAKKzoxMDI4QjEwMDRFMUQ0MDAyNDFDQjkwN0ZFQUUwNzAzODkwN0ZFQ0UwMDIKKzoxMDI4QzEwMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RDMKKzoxMDI4RDEwMEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGRUYKKzoxMDI4RTEwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0RDgKKzoxMDI4RjEwMDIwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCMTI0RTFGNTgKKzoxMDI5MDEwMDQwMDI0MUNCOTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0RUMKKzoxMDI5MTEwMDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyNTMKKzoxMDI5MjEwMEU0MzQ3RkY1ODM3NDAxRjA0MUNCOTA3RkI0RTA0NDAxM0UKKzoxMDI5MzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwREUKKzoxMDI5NDEwMDYwMTIyNEY4NjAwOTI0MDI3MDI5MTI0M0U3NDFDQjEyNzYKKzoxMDI5NTEwMDREQ0E0MUNCMTI0RTFCQTIyMkU0MzNGRjI1RTBGRkEyNTgKKzoxMDI5NjEwMDIzRTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyMkQKKzoxMDI5NzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwOUUKKzoxMDI5ODEwMDYwMzMyNEY2NjAyQTI0MDQ3MDNEOTA3RkVCRTAyNERFNUUKKzoxMDI5OTEwMDYwMEMwNDcwMTI5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGNTEKKzoxMDI5QTEwMEI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCNkQKKzoxMDI5QjEwMDEyNDc0NTQxQ0IxMjRFMUJFNDkwN0YwMEYwQTNGMDkwRUIKKzoxMDI5QzEwMDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCN0MKKzoxMDI5RDEwMDkwN0ZFOUUwMjRGNDYwMzQyNDBDNzAzOTEyNEUxQjkwOEUKKzoxMDI5RTEwMDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1MUYKKzoxMDI5RjEwMEUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwNTgKKzoxMDJBMDEwMEYwRTRBM0YwOTA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwODUKKzoxMDJBMTEwMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGODEKKzoxMDJBMjEwMEU5RTAyNEY2NjAxMjE0NjAxQTI0MDI3MDFERDIyMDkwOEQKKzoxMDJBMzEwMDdGQjRFMDQ0MDFGMDgwMTJEMjIwOTA3RkI0RTA0NDAxRTEKKzoxMDJBNDEwMEYwODAwNzkwN0ZCNEUwNDQwMUYwMjAyMDE4OTA3RkVFRTEKKzoxMDJBNTEwMEUwNzAwNEEzRTA2MDBCRDIyOUQyMjcxMjE3NEFEMjJBRDAKKzoxMDJBNjEwMDgwMDMxMjA4MDBDMjIwODA2MTkwN0ZFRUUwNzAwNEEzMTEKKzoxMDJBNzEwMEUwNjAwQkQyMjlEMjI4MTIxNzRBRDIyQTgwNEMxMjM4OTAKKzoxMDJBODEwMDc0ODA0NzkwN0ZFOUUwMjRGRTYwMTIxNDYwMUEyNDAyRUEKKzoxMDJBOTEwMDcwMUREMjIxOTA3RkI0RTA0NDAxRjA4MDEyRDIyMTkwQzgKKzoxMDJBQTEwMDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwNUUKKzoxMDJBQjEwMDIxMDMxMjEwMDBDMjIxODAxMTEyMkFENjgwMEMxMjRFNUQKKzoxMDJBQzEwMDIxNTAwNzkwN0ZCNEUwNDQwMUYwMjAyQTA3OTA3RkI0QTEKKzowNTJBRDEwMEUwNDQwMkYwMjJDOAorOjEwMkFENjAwRTQ5MDc2MjdGMDkwNzYyN0UwRkY3NUYwMEZBNDI0NDI2NQorOjEwMkFFNjAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQ1MworOjEwMkFGNjAwNjAwRUVGQzM5NDA2NTAwODkwNzYyN0UwMDRGMDgwRDU2OAorOjEwMkIwNjAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEZCMQorOjEwMkIxNjAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyOEYwMjQwOAorOjEwMkIyNjAwOUY3MDAyQTE3NDI0MjE2MDAyQTFBMTkwN0ZFOUUwMjQ5NAorOjEwMkIzNjAwN0U3MDAyNjFGQzE0NzAwMjgxQjUyNDAyNjAwMkExNkNGMQorOjEwMkI0NjAwRUY3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNCOQorOjEwMkI1NjAwQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTAwNzgxNgorOjEwMkI2NjAwMDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBMzc0QUNBQgorOjEwMkI3NjAwRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjA0QgorOjEwMkI4NjAwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkQ0RAorOjEwMkI5NjAwQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEMzMTIzNgorOjEwMkJBNjAwMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEU0QTM3RQorOjEwMkJCNjAwRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjRBQgorOjEwMkJDNjAwNDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkU2MworOjEwMkJENjAwQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0FCNjBGOAorOjEwMkJFNjAwMDJBMUE4OTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTA3RgorOjEwMkJGNjAwN0ZCNTc0MDNGMDIyOTA3NjI3RTA3NUYwMEZBNDI0NDc4MgorOjEwMkMwNjAwRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNDMgorOjEwMkMxNjAwRTBGRjdCNDQ3QUFDNzkwMDc4MDBDMzEyMzdBQjcwMTNCRgorOjEwMkMyNjAwOTA3RjAwNzQ0NEYwQTM3NEFDRjBFNEEzRjA5MDdGQjVGOQorOjEwMkMzNjAwNzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzQworOjEwMkM0NjAwMzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I4MworOjEwMkM1NjAwODA3QUJCNzkwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3RgorOjEwMkM2NjAwNzQ4MEYwQTM3NEJCRjBFNEEzRjA5MDdGQjU3NDAzRjAxNgorOjEwMkM3NjAwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzNDc1RjVDNQorOjEwMkM4NjAwODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0IwMDdBNzdGMAorOjEwMkM5NjAwNzkwMTc4MDBDMzEyMzdBQjYwMDJBMUE4OTA3RjAwRjBEQgorOjEwMkNBNjAwQTM3NDc3RjBBMzc0MDFGMDkwN0ZCNTc0MDNGMDIyOTBCQgorOjEwMkNCNjAwNzYyN0UwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODM4RQorOjEwMkNDNjAwRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzk0MQorOjEwMkNENjAwMDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTNFMgorOjEwMkNFNjAwNzRBQ0YwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTAxRgorOjEwMkNGNjAwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTM0QworOjEwMkQwNjAwRTBGREEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBCQworOjEwMkQxNjAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBCRQorOjEwMkQyNjAwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEY3QQorOjEwMkQzNjAwQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNGRgorOjEwMkQ0NjAwRTBGRUEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdCMworOjEwMkQ1NjAwQUI3MDRGOTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTBFRQorOjEwMkQ2NjAwN0ZCNTc0MDNGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0Y5NworOjEwMkQ3NjAwRTlFMDI0N0Y3MDFFOTA3NjI3RTA3NUYwMEZBNDI0NEZCQgorOjEwMkQ4NjAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTA3RkI1NzRBQQorOjEwMkQ5NjAwMDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDRGNgorOjAzMkRBNjAwMDFGMDIyMTcKKzoxMDJEQTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTIKKzoxMDJEQjkwMDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MEZGNTgyREYKKzoxMDJEQzkwMEU0MzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQxMEY1NkMKKzoxMDJERDkwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGQTAKKzoxMDJERTkwMDc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQxMEYwQUMKKzoxMDJERjkwMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA1QTcKKzoxMDJFMDkwMEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4M0U0M0EKKzoxMDJFMTkwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1OTcKKzoxMDJFMjkwMDgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGN0UKKzoxMDJFMzkwMEY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0ODgKKzoxMDJFNDkwMDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwMDkKKzoxMDJFNTkwMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0NUMKKzoxMDJFNjkwMDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzQkUKKzoxMDJFNzkwMDc0MDNGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1QkEKKzoxMDJFODkwMDgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0QzMKKzoxMDJFOTkwMDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBFRjc1RjAwM0E0MzAKKzoxMDJFQTkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDZGMEVGNzVGMDAzQTkKKzoxMDJFQjkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwQzUKKzoxMDJFQzkwMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1RUYKKzoxMDJFRDkwMDgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1Q0UKKzoxMDJFRTkwMEY1ODM3NDA0RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0M0IKKzoxMDJFRjkwMDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQjEKKzoxMDJGMDkwMEE0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwQUMKKzoxMDJGMTkwMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA4RjBFRjc1ODIKKzoxMDJGMjkwMEYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDkwNTkKKzoxMDJGMzkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTAKKzoxMDJGNDkwMDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyNEMKKzoxMDJGNTkwMEU0MzQ3NUY1ODM3NDBBRjBFRjc1RjAwM0E0MjQxMEY1RDEKKzoxMDJGNjkwMDgyRTQzNDc1RjU4Mzc0MDRGMDkwNzYzNkUwMDRGMEUwNzkKKzoxMDJGNzkwMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyMTkKKzoxMDJGODkwMEYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MkEKKzoxMDJGOTkwMDA5RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzODQKKzoxMDJGQTkwMDc0MDRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0OTEKKzoxMDJGQjkwMDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MUQKKzoxMDJGQzkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDdGMEVGNzVGMDAzODcKKzowRTJGRDkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwMjIwQworOjEwMkZFNzAwQzBFMEMwODNDMDgyRDIyNjUzOTFFRjkwN0ZBQjc0MDFCQgorOjA4MkZGNzAwRjBEMDgyRDA4M0QwRTAzMjVCCis6MDEyRkZGMDAzMjlGCis6MTAzMDAwMDA5MDdGQjZFMDIwRTEwMkMyM0REMjM2MjAzNjAyNDE2RTBBCis6MTAzMDEwMDAzMDNEMDI0MTZFOTA4MDA3RTA2MDA0RDIzNjgwMDJDMkVCCis6MTAzMDIwMDAzNjIwMzYwMjQxMkVEMjM1RTRGNTFBOTA4MDA0RTBGNUMwCis6MTAzMDMwMDAxOTc0MDgyNTBFRjhBNjE5ODUxOTE4RTUxODIwRTcwNDUzCis6MTAzMDQwMDBEMjM4ODAwMkMyMzgzMDM4MDIyMUQ0RTRGNTE2RTUxOUFFCis6MTAzMDUwMDBCNEYwMENEMjM5NzUwODA0NzUwOUYwMDUwRTgwMDIwNTJDCis6MTAzMDYwMDAxNkU1MTk2NEY3NzAzREMyMzlFNTBFMjRGRTYwMTcxNEE5Cis6MTAzMDcwMDA2MDIyMjQwMzcwMjk3NTA4MDU3NTA5RjdFNEY1MEFGNTNGCis6MTAzMDgwMDAwQjc1MEUwNDgwMjA3NTA4MDY3NTBBRjdFNEY1MEI3NUJDCis6MTAzMDkwMDAwRTA0ODAxMjc1MDgwNzc1MEJGNzc1MEUwNDgwMDcxMjcxCis6MTAzMEEwMDA0RERBODAwMjA1MTZFNTE5NTRGODY0Rjg3MDNCQzIzNTE0Cis6MTAzMEIwMDBFNTE5MjQwNzYwMEMyNEZDNjAwODI0MDUyNEY4NTAwNjU4Cis6MTAzMEMwMDA4MDA4RDIzQTgwMDZDMjNBODAwMkQyM0E3NTFBMDEyMEFDCis6MTAzMEQwMDAzQTE5OTA3RTgwNzQwRkYwQTNFNTE5RjBFNEEzRjBBM0YxCis6MTAzMEUwMDBGMDkwN0ZCNzc0MDRGMDgwMDIwNTE2MjAzOTZERTUxOTYxCis6MTAzMEYwMDA2NEY3NjA2N0U1MUE3MDYzRTUxODU0RjA2NEYwNzA1OTdFCis6MTAzMTAwMDA4NTE4MTlGNTBFRTUxOTI0MEY2MDFCMjRGRTYwMTcyNDlECis6MTAzMTEwMDBGRDYwMjIxNDYwMUYyNDA1NzAyRjc1MDgwMzA1MEU4NUJECis6MTAzMTIwMDAxODA5RDIzNzgwMjg3NTA4MDIwNTBFODUxODA5NzUxNDBDCis6MTAzMTMwMDAwMUQyMzc4MDE5NzUwODA1MDUwRTg1MTgwOUU0RjUwQUNFCis6MTAzMTQwMDBGNTBCNzUwRTAzRDIzNzgwMDUxMjREREFDMjM1MzAzNUQ2Cis6MTAzMTUwMDAwQTg1MDgxMzg1MTgxMjgwMDIwNTE2ODUxODE5RTUxNkM4Cis6MTAzMTYwMDA2NDA0NzA2MkY1MEVFNTE5NTRGMEY1MTlGNTE1ODUxODJCCis6MTAzMTcwMDAxOUU1MTUyNDcwNjAxODI0RjA2MDE0MjRGMDYwMTAyNDAwCis6MTAzMTgwMDBGMDYwMUUyNEYwNjAxQTI0RjA2MDA0MjQ2MDcwMjdFNUNCCis6MTAzMTkwMDAxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOUQyMzc4MEE2Cis6MTAzMUEwMDAxQUU1MTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDk3NUFCCis6MTAzMUIwMDAxNDAxRDIzNzgwMDUxMjREREFDMjM1MzAzNTBBODUxOTJGCis6MTAzMUMwMDAxMzg1MTgxMjgwMDIwNTE2RTUxNkQzOTQwNTQwNTcxMjkwCis6MTAzMUQwMDA0RERBODA1MjMwMzkxN0U1MEU3MDBBODUwODA5NzUwOEY2Cis6MTAzMUUwMDAwNDA1MEU4MDQxNzQwODI1MEVGOEE2MTk4MDM4MjAzNzkyCis6MTAzMUYwMDAyQUU1MEVCNDAxMEY4NTA4MEE4NTA5MEI4NTEzMDg4NTk5Cis6MTAzMjAwMDAxMjA5NzUwRTA0RTUxNEI0MDExQzg1MDgwQUU0RjUwQkQ3Cis6MTAzMjEwMDA4NTEzMDg4NTEyMDk3NTBFMDQ4MDBCRTUxNEI0MDEwNkE4Cis6MTAzMjIwMDBFNEY1MEI3NTBFMDRFNEY1MUEzMDM1MDIwNTBFRTUwRUQzCis6MTAzMjMwMDBEMzk0MDM1MDAyMDEwQkMyMzdFNEY1MEVGNTEwQzIzNkU5Cis6MTAzMjQwMDBEMjNERjUxNDc0MDgyNTEwRjhFNkZGNzQ4MDI1MTBGNUJBCis6MTAzMjUwMDA4MkU0MzQ3RUY1ODNFRkYwNzQwODI1MTBGOEU0RjYwNTc3Cis6MEYzMjYwMDAxMEU1MTBCNDA0REU5MDdGQjc3NDA0RjAwMTBCMjI2OAorOjEwMzI2RjAwOTA3NjE4RTBGRjY0MDU3MDQyOTA3NUFCRTBCNDAxMTlEOQorOjEwMzI3RjAwOTA3MjM3NzQwMUYwRTQ5MDgwMjBGMDkwODAzMUYwOTBEQworOjEwMzI4RjAwODAyOEYwOTA4MDM5RjA4MDIyRTQ5MDcyMzdGMDkwNzVBQQorOjEwMzI5RjAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA3MQorOjEwMzJBRjAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI1MgorOjEwMzJCRjAwODE5OTkwNzIzOTc0MDRGMDkwNzIzOUUwRkYyNEZFOTA3NgorOjEwMzJDRjAwNzIwNEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjVCRgorOjEwMzJERjAwODNFMDY0MDE3MDU0OTA3MjM2MDRGMDkwNzIwNEUwRkY0MgorOjEwMzJFRjAwMjRGRDYwMjgyNEZFNjAyNDI0MDMyNEZCNTAwNDYwMUM2QQorOjEwMzJGRjAwODE4Qzc0MjAyRkY1ODJFNDM0ODBGNTgzRTRGMDc0MjhGOAorOjEwMzMwRjAwMkZGNTgyRTQzNDgwRjU4M0U0RjA4MThDOTA3MjA0RTAzMQorOjEwMzMxRjAwRkYyNDMwRjU4MkU0MzQ4MEY1ODNFNEYwNzQzODJGRjUyMAorOjEwMzMyRjAwODJFNDM0ODBGNTgzRTRGMDgxOENFNDkwNzIzNkYwOTA3RgorOjEwMzMzRjAwNzIzOUUwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODM5MworOjEwMzM0RjAwRTBGRjdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIyOAorOjEwMzM1RjAwMDI3NDNCRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzBBQQorOjEwMzM2RjAwMDQ5MDcyMDJGMEVGNEU3MDAyODEzNUVGNjQ4MDRFNzA2MAorOjEwMzM3RjAwMDI4MTM1RUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwOTA0MAorOjEwMzM4RjAwNzIzNEUwNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM0OQorOjEwMzM5RjAwRTBGRjkwNzIwMkYwOTA3NTBERTAyRkYwOTA3NTBDRTA0OQorOjEwMzNBRjAwMzQwMEYwRTBGRUEzRTBGRkU0RkNGRDdCRDY3QUE1Rjk0NAorOjEwMzNCRjAwRjhEMzEyMzc5NTQwMEE5MDc1MEM3NEE1RjBBMzc0RDYwNAorOjEwMzNDRjAwRjA5MDc1MERFMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTA3RgorOjEwMzNERjAwRkVBM0UwNzgwNUNFQTJFNzEzQ0UxM0Q4RjhGRjkwNzVDMQorOjEwMzNFRjAwMENFRUYwQTNFRkYwOTA3MjJDRUVGMEEzRUZGMEQzOTQ2RAorOjEwMzNGRjAwRDJFRTY0ODA5NDgyNDAwQTkwNzIyQzc0MDJGMEEzNzQwRgorOjEwMzQwRjAwRDJGMEMzOTA3MjJDRTA2NDgwOTQ4MDUwMDRFNEYwQTM1NworOjEwMzQxRjAwRjA5MDcyMkNFMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjVDMAorOjEwMzQyRjAwODNFMDkwNzIwMkYwOTA3MjA0RTBGRjI0RkQ2MDJEMjQ3RgorOjEwMzQzRjAwRkU2MDI5MjQwMzI0RkI1MDA0NjAyMTgwNDA5MDcyMDIxNworOjEwMzQ0RjAwRTBGRTc0MjAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0MjhDQgorOjEwMzQ1RjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA4MDIxOTA3MjAyRTA0NAorOjEwMzQ2RjAwRkY5MDcyMDRFMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZBMAorOjEwMzQ3RjAwRjA3NDM4MkVGNTgyRTQzNDgwRjU4M0VGRjA5MDcyMzlEMgorOjBCMzQ4RjAwRTAwNEYwRTA2NDBBNjAwMjQxQzcyMjg0Cis6MTAzNDlBMDA5MDc2MThFMEZGQjQwNTIzOTA3MjM3RTA3MDFEOTA3NTlFCis6MTAzNEFBMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDY0Cis6MTAzNEJBMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjQ1Cis6MTAzNENBMDBDMTkxOTA3MjM2RTA2MDAyQzE5MTkwNzY0MEUwNzAzMTBECis6MTAzNERBMDA5MDcyMDM3NDAzRjA5MDcyMDNFMEZGNzVGMDBBQTQyNDVCCis6MTAzNEVBMDBBQUY1ODJFNDM0NzVGNTgzRTBGRTkwNzIyOUUwRkRFRUQ4Cis6MTAzNEZBMDA2RDYwMEVFRkMzOTQwQTUwMDg5MDcyMDNFMDA0RjA4MEU2Cis6MTAzNTBBMDBENTkwNzIzOTc0MDRGMDkwNzY0MEUwNzAwODkwNzIwMzk2Cis6MTAzNTFBMDBFMDkwNzIzOUYwOTA3MjM5RTBGRDI0RkU5MDcyMkFGMDQwCis6MTAzNTJBMDBFRDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRTBGRjY1Cis6MTAzNTNBMDA3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMDI3NEE0Cis6MTAzNTRBMDA4MEYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwMDQ5MDVBCis6MTAzNTVBMDA3MjAyRjBFRjRFNzAwMkMxMUJFRjY0ODA0RTcwMDJDMTFFCis6MTAzNTZBMDAxQkVGRjhFNDkwNzUwREYwRTg5MDc1MENGMEVENzVGMDJFCis6MTAzNTdBMDAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTBGRjkwNzIwMjY0Cis6MTAzNThBMDBGMDkwNzUwREUwMkZGMDkwNzUwQ0UwMzQwMEYwRTBGRTNECis6MTAzNTlBMDBBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5RjhEMzEyMzc5NUIwCis6MTAzNUFBMDA0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2RjA5MDc1MERFMERFCis6MTAzNUJBMDAyNDJBRjA5MDc1MENFMDM0NUFGMEUwRkVBM0UwNzgwNTc2Cis6MTAzNUNBMDBDRUEyRTcxM0NFMTNEOEY4RkY5MDc1MENFRUYwQTNFRjU2Cis6MTAzNURBMDBGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0RDJFRTY0ODA5NEM0Cis6MTAzNUVBMDA4MjQwMEE5MDcyMkM3NDAyRjBBMzc0RDJGMEMzOTA3MkQzCis6MTAzNUZBMDAyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzRjA5MDcyMkNFMEY0Cis6MTAzNjBBMDBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1ODNFMDkwNzIwMjZBCis6MTAzNjFBMDBGMDkwNzIyQUUwRkYyNEZENjAyRDI0RkU2MDI5MjQwMzI1Cis6MTAzNjJBMDAyNEZCNTAwNDYwMjE4MDQwOTA3MjAyRTBGRTc0MjAyRjM3Cis6MTAzNjNBMDBGNTgyRTQzNDgwRjU4M0VFRjA3NDI4MkZGNTgyRTQzNEMxCis6MTAzNjRBMDA4MEY1ODNFRUYwODAyMTkwNzIwMkUwRkY5MDcyMkFFMDBBCis6MTAzNjVBMDBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGRjA3NDM4MkVGNUQ5Cis6MTAzNjZBMDA4MkU0MzQ4MEY1ODNFRkYwOTA3NjQwRTA3MDA2OTA3MjQxCis6MTAzNjdBMDAzOTc0MEFGMDkwNzIzOUUwMDRGMEUwQzM5NDBBNTAwMkY3Cis6MDgzNjhBMDBBMTExRTQ5MDc2NDBGMDIyNEEKKzoxMDM2OTIwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyMzYKKzowOTM2QTIwMEUzMjI4OTgyOEE4M0U0OTMyMjY5Cis6MTAzNkFCMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MEQ0Cis6MTAzNkJCMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjFFCis6MEQzNkNCMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMjM4Cis6MTAzNkQ4MDBDMkQ1RUMzMEU3MDlCMkQ1RTRDMzlERkRFNDlDRkNFRTBECis6MTAzNkU4MDAzMEU3MTVCMkQ1RTRDMzlGRkZFNDlFRkUxMjM4MUZDMzJFCis6MTAzNkY4MDBFNDlERkRFNDlDRkM4MDAzMTIzODFGMzBENTA3QzNFNDI5Cis6MDYzNzA4MDA5RkZGRTQ5RUZFMjI3QgorOjEwMzcwRTAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBGOQorOjEwMzcxRTAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkVENgorOjEwMzcyRTAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODMxQworOjA4MzczRTAwRTk5M0Y1RjBBM0U5OTMyMkUxCis6MTAzNzQ2MDBFODhGRjBBNENDOEJGMEE0MkNGQ0U5OEVGMEE0MkNGQzIyCis6MTAzNzU2MDA4QUYwRURBNDJDRkNFQThFRjBBNENEQThGMDhCRjBBNEEwCis6MTAzNzY2MDAyRENDMzgyNUYwRkRFOThGRjBBNDJDQ0QzNUYwRkNFQkZGCis6MTAzNzc2MDA4RUYwQTRGRUE5RjBFQjhGRjBBNENGQzVGMDJFQ0QzOUM0Cis6MEYzNzg2MDBGRUU0M0NGQ0VBQTQyRENFMzVGMEZERTQzQ0ZDMjIzMQorOjEwMzc5NTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRUM2NDgwQzhBQgorOjA2MzdBNTAwNjQ4MDk4NDVGMDIyNEIKKzoxMDM3QUIwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNzQKKzowMTM3QkIwMDIyRUIKKzowQzM3QkMwMEVDRjBBM0VERjBBM0VFRjBBM0VGRjAyMjgwCis6MTAzN0M4MDBBODgyODU4M0YwRDA4M0QwODIxMjM3REYxMjM3REYxMkM4Cis6MTAzN0Q4MDAzN0RGMTIzN0RGRTQ3M0U0OTNBM0M1ODNDNUYwQzU4M0VECis6MTAzN0U4MDBDOEM1ODJDOEYwQTNDNTgzQzVGMEM1ODNDOEM1ODJDODRCCis6MDEzN0Y4MDAyMkFFCis6MTAzN0Y5MDBEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzVGCis6MTAzODA5MDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MDcyCis6MDYzODE5MDBFRkEzQTNBMzgwREY3MgorOjEwMzgxRjAwQkMwMDBCQkUwMDI5RUY4REYwODRGRkFERjAyMkU0Q0M4RAorOjEwMzgyRjAwRjg3NUYwMDhFRjJGRkZFRTMzRkVFQzMzRkNFRTlERUM1NgorOjEwMzgzRjAwOTg0MDA1RkNFRTlERkUwRkQ1RjBFOUU0Q0VGRDIyRUQ5QworOjEwMzg0RjAwRjhGNUYwRUU4NDIwRDIxQ0ZFQURGMDc1RjAwOEVGMkZFNgorOjEwMzg1RjAwRkZFRDMzRkQ0MDA3OTg1MDA2RDVGMEYyMjJDMzk4RkRENworOjA1Mzg2RjAwMEZENUYwRUEyMjc0Cis6MTAzODc0MDBFNDkwNzYyOUYwOTA3NjI5RTBGRjc1RjAwRkE0MjQ0MkI1Cis6MTAzODg0MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REE3Cis6MTAzODk0MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI5RTAwNEYwODBENUJBCis6MTAzOEE0MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRjA2Cis6MTAzOEI0MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjJBRjAyNDVCCis6MTAzOEM0MDBCRjcwMDI0MTQxMjRFMDcwMDI0MTEyMjQyMTYwMDI0MTkwCis6MTAzOEQ0MDAzQTkwN0ZFOUUwMjRGRTYwN0QxNDcwMDIyMUIyMjQwMjU0Cis6MTAzOEU0MDA2MDAyNDEwQTEyMTc1MTkwNzY0MkUwRkNBM0UwRkRBMzY2Cis6MTAzOEY0MDBFMEZFQTNFMEZGOTA3NjI5RTA3NUYwMEZBNDI0NDNGNUUxCis6MTAzOTA0MDA4MkU0MzQ3NUY1ODMxMjM3QkM5MDc2MTlFMEZGQjQwMTc0Cis6MTAzOTE0MDAxMjkwNzY3Qzc0NjdGMDkwNzY3RDc0MDZGMDkwNzY3RUQzCis6MTAzOTI0MDA3NDBCRjBFRkI0MDIwRkU0OTA3NjdDRjA5MDc2N0RGMEE3Cis6MTAzOTM0MDA5MDc2N0U3NDBDRjBFRkI0MDMwRkU0OTA3NjdDRjA5MEY0Cis6MTAzOTQ0MDA3NjdERjA5MDc2N0U3NDE4RjA5MDc2MUE3NDAxRjAxMkY5Cis6MTAzOTU0MDAzRTlGMTIxODAwMjI5MDdFQzJFMEZGRTRGQ0ZERkVGQkI1Cis6MTAzOTY0MDBGQTc5MDFGODEyMzc0NkM4RUNDOEM5RURDOUNBRUVDQURCCis6MTAzOTc0MDBDQkVGQ0I5MDdFQzFFMEZFRTRGQ0ZEMkJGQkVBM0VGQUVDCis6MTAzOTg0MDBFRDM5RjlFQzM4Rjg5MDdFQzBFMEZGRTRGRUVCMkZGRjUwCis6MTAzOTk0MDBFRTNBRkVFRDM5RkRFQzM4RkM5MDc2MjlFMDc1RjAwRjM3Cis6MTAzOUE0MDBBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdCQzIyOTA3RTUzCis6MTAzOUI0MDBDMkUwRkZFNEZDRkRGRUZCRkE3OTAxRjgxMjM3NDZDOEM5Cis6MTAzOUM0MDBFQ0M4QzlFREM5Q0FFRUNBQ0JFRkNCOTA3RUMxRTBGRTBDCis6MTAzOUQ0MDBFNEZDRkQyQkZCRUEzRUZBRUQzOUY5RUMzOEY4OTA3RTc1Cis6MTAzOUU0MDBDMEUwRkZFNEZFRUIyRkZGRUUzQUZFRUQzOUZERUMzOENDCis6MTAzOUY0MDBGQzkwNzYyOUUwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NTJECis6MTAzQTA0MDBGNTgzMTIzN0JDMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjBBCis6MTAzQTE0MDBFOUUwMTQ3MDE5OTA3RUMwRTBGRjkwNzYyOUUwNzVGMDFCCis6MTAzQTI0MDAwRkE0MjQ0RkY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkUwCis6MEUzQTM0MDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOUYKKzoxMDNBNDIwMEU0OTA3NjM1RjA5MDc2MzVFMEZGQzM5NDAzNDAwMjQxNkUKKzoxMDNBNTIwMEZGRUY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjU4M0VGMkEKKzoxMDNBNjIwMEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0U0MzMKKzoxMDNBNzIwMEYwRUY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4Mzc0OTIKKzoxMDNBODIwMEYwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzMDUKKzoxMDNBOTIwMDc0RkZGMEVGNzVGMDBBQTQyNEFFRjU4MkU0MzQ3NUY1RjQKKzoxMDNBQTIwMDgzRTRGMEVGNzVGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1RUYKKzoxMDNBQjIwMDgzNzQ4MEYwRUY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1QzMKKzoxMDNBQzIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1Q0QKKzoxMDNBRDIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1QkMKKzoxMDNBRTIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1QUIKKzoxMDNBRjIwMEY1ODM3NDAxRjA5MDc2MzVFMDA0RjA0MTQ3OTA3NjNDMEUKKzoxMDNCMDIwMDc0MEFGMEU0QTNGMDkwNzYzNTc0MDNGMDkwNzYzQ0UwMEEKKzoxMDNCMTIwMEZGOTA3NjM1RTBGRUMzOUY0MDAyNjFEMjkwNzYzREUwOTEKKzoxMDNCMjIwMEZGMDRGMEVFNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1RDgKKzoxMDNCMzIwMDgzRUZGMEVFNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1NTgKKzoxMDNCNDIwMDgzRTRGMEVFNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1NTIKKzoxMDNCNTIwMDgzNzQ1RUYwRUU3NUYwMEFBNDI0QURGNTgyRTQzNDc1NDgKKzoxMDNCNjIwMEY1ODM3NEJBRjBFRTc1RjAwQUE0MjRBRUY1ODJFNDM0NUIKKzoxMDNCNzIwMDc1RjU4Mzc0MDVGMEVFNzVGMDBBQTQyNEFGRjU4MkU0QkUKKzoxMDNCODIwMDM0NzVGNTgzNzQ4MEYwRUU3NUYwMEFBNDI0QjBGNTgyRTIKKzoxMDNCOTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjFGNTgyRkQKKzoxMDNCQTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjJGNTgyRUMKKzoxMDNCQjIwMEU0MzQ3NUY1ODM3NDE1RjBFRTc1RjAwQUE0MjRCM0Y1QjgKKzoxMDNCQzIwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzVFMDA0RjA2MTBFMUEKKzowMTNCRDIwMDIyRDAKKzoxMDNCRDMwMEU0OTA3NjM2RjBFMEZCNzVGMDBGQTQyNDQxRjU4MkU0MUYKKzoxMDNCRTMwMDM0NzVGNTgzNzQ0MEYwRUI3NUYwMEZBNDI0NDJGNTgyMkQKKzoxMDNCRjMwMEU0MzQ3NUY1ODM3NDBBRjBFQjc1RjAwRkE0MjQ0M0Y1RjAKKzoxMDNDMDMwMDgyRTQzNDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwRDkKKzoxMDNDMTMwMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwRjYKKzoxMDNDMjMwMEFDNDRFQjc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzQjMKKzoxMDNDMzMwMDEyMzdDODAwMDE3NzAwOTA3NjM2RTAwNEYwRTBGQjc1OTgKKzoxMDNDNDMwMEYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDBGMEVCNUUKKzoxMDNDNTMwMDc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4Q0YwNzcKKzoxMDNDNjMwMEVCNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODMxMjM3MjIKKzoxMDNDNzMwMEM4MDAwMEFDNDRFQjc1RjAwRkE0MjQ0N0Y1ODJFNDM0OEMKKzoxMDNDODMwMDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwMEZBNDI0MUMKKzoxMDNDOTMwMDRCRjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAxNzcwMDkwNDEKKzoxMDNDQTMwMDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0REEKKzoxMDNDQjMwMDM0NzVGNTgzNzQ0MEYwRUY3NUYwMEZBNDI0NDJGNTgyNTgKKzoxMDNDQzMwMEU0MzQ3NUY1ODM3NDhGRjA5MDc2MzZFMDA0RjBFMEZGMEEKKzoxMDNDRDMwMDc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MUYwNDMKKzoxMDNDRTMwMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDg0RjAKKzoxMDNDRjMwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1NzAKKzoxMDNEMDMwMDgyRTQzNDc1RjU4Mzc0NjFGMEVGNzVGMDBGQTQyNDQyRjcKKzoxMDNEMTMwMEY1ODJFNDM0NzVGNTgzNzQ4MUYwOTA3NjM2RTAwNEYwMkYKKzoxMDNEMjMwMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDQKKzoxMDNEMzMwMDYxRjBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNDYKKzowNDNENDMwMDc0MDFGMDIyRjUKKzoxMDNENDcwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwRjYKKzoxMDNENTcwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGQjEKKzoxMDNENjcwMEMwRTA5MDdGQTJFMDkwNzY3RkYwOTA3Rjc0RTA5MDc2M0QKKzoxMDNENzcwMDg3RjA5MDdGNzVFMDkwNzY4OEYwOTA3Rjk4RTA0NDAyMTYKKzoxMDNEODcwMEYwOTA3Njk2RTBGRjIwRTEwQzQ0MDJGMDkwODAwM0YwN0IKKzoxMDNEOTcwMEQyMzIxMjRCMjg5MDc2N0ZFMDIwRTI1MDkwNzY4N0UwNkYKKzoxMDNEQTcwMEZFQTNFMDdDMDAyNDAwRjUzNEVDM0VGNTMzOTA3Njk4RDIKKzoxMDNEQjcwMEUwRkRBRTMzQUYzNDEyMzZEODkwNzY4N0VGRjBEMjJGQ0UKKzoxMDNEQzcwMDMwMzEyOTIwM0YyNkMyMzE5MDdGOTRFMDU0Q0ZGMDkwQzQKKzoxMDNERDcwMDdGOUFFMDMwRTQwNEQyMkRDMjJDOTA3RjlBRTAyMEU1NTAKKzoxMDNERTcwMDA0QzIyREQyMkM5MDdGOTRFMDQ0MzBGMDEyNDhCRDEyQ0IKKzoxMDNERjcwMDFCMDQzMDJGMTIxMjQyMUZDMjJGNzVFODAxMTIxNjhBQjgKKzoxMDNFMDcwMDc1RTgwREQyMkI4MDA1NzVFODAxQzIyQjIwMkIzNDkwNjUKKzoxMDNFMTcwMDc2MTlFMEZGQjQwMTBFOTA3NjdDNzQ2N0YwQTM3NDA2MDAKKzoxMDNFMjcwMEYwQTM3NDBCRjBFRkI0MDIwQjkwNzY3Q0U0RjBBM0YwRjAKKzoxMDNFMzcwMEEzNzQwQ0YwRUZCNDAzMEI5MDc2N0NFNEYwQTNGMEEzMkIKKzoxMDNFNDcwMDc0MThGMDc1Q0FEMzc1Q0JGRUQyQ0EzMDM0MDRDMjM0QTUKKzoxMDNFNTcwMDgwMDJEMjM0MzAzNDBEOTA3Njg5RTBDMzk0MDM0MDA0NTUKKzoxMDNFNjcwMEUwMjRGREYwNTM5MUVGOTA3RkFCNzQwMkYwRjA5MDdGNjgKKzoxMDNFNzcwMDk4RTA1NEZERjBEMEUwRkZEMEUwRkVEMEUwRkREMEUwQzgKKzoxMDNFODcwMEZDRDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwMTkKKzowODNFOTcwMDgyRDA4M0QwRjBEMEUwMzJBQworOjEwM0U5RjAwOTA3NjkyRTAxNDYwMUQxNDcwMDJFMTU0MjQwMjYwMDJDNworOjEwM0VBRjAwRTFFNDkwNzY5NDc0MDFGMDkwODAwMEYwRTQ5MDc2OEVDNworOjEwM0VCRjAwRjBEMjMxMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGRjIyQgorOjEwM0VDRjAwRjA5MDdGRjM3NDMwRjA5MDdGRkY3NEZDRjA5MDc2OTc1MgorOjEwM0VERjAwRTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyRjBERQorOjEwM0VFRjAwOTA3RkYzNzQzNEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAzRQorOjEwM0VGRjAwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwOTAxQgorOjEwM0YwRjAwN0ZGMzc0NjRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwNDQzOQorOjEwM0YxRjAwMDRGMDkwNzY5NEUwNDQwMUYwOTA4MDAwRjAzMDNGMDk3NworOjEwM0YyRjAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjA4QQorOjEwM0YzRjAwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDRGMDkwNzZFNworOjEwM0Y0RjAwOEU3NDAxRjAyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0Y4QworOjEwM0Y1RjAwRjJGMDkwN0ZGMzc0NDRGMDkwN0ZGRjc0RkNGMDkwNzY1MgorOjEwM0Y2RjAwOTdFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJBNgorOjEwM0Y3RjAwRjA5MDdGRjM3NDRDRjA5MDdGRkY3NEZDRjA5MDc2OTc4NQorOjEwM0Y4RjAwRTA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjAzQQorOjEwM0Y5RjAwOTA3RkYzNzQ5NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAyRAorOjEwM0ZBRjAwNDQwNEYwOTA3Njk0RTA1NEZFRjA5MDgwMDBGMDMwM0Y5RgorOjEwM0ZCRjAwMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFFMQorOjEwM0ZDRjAwRjA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNkYwOTBEQgorOjA2M0ZERjAwNzY4RTc0MDJGMDIyNTAKKzoxMDNGRTUwMDkwN0ZFQUUwOTA3NjgyRjBFNDkwNzY5MUYwOTA3NjkyNzgKKzowQjNGRjUwMEYwOTA3NjkwRjA5MDc2OTNGMEQzMjJDRAorOjEwNDAwMDAwRTUxMUQzOTQwMDUwMDIyMTA2OTA3Njg5RTBDMzk0MDgwQworOjEwNDAxMDAwNDAwMjIxMDY3NDQwMjUwRkY1ODJFNDM0N0VGNTgzRTBFQQorOjEwNDAyMDAwRjUxN0U1MEQ2MDBFOTA4MDA1RTUxN0YwOTA3Njg5RTBCNAorOjEwNDAzMDAwMDRGMDAxREFFNTE3MTIzN0Y5NDBDMTAyNDA2NzA1NDA4NAorOjEwNDA0MDAwN0EwNjQwOTgwNzQwQzEwQzQwQzEwRDQwQzcwRjQwQ0JENQorOjEwNDA1MDAwRjY0MENCRjg0MENCRkE0MENCRkI0MENCRkM0MENCRkU0QworOjEwNDA2MDAwNDBDQkZGMDAwMDQwREE5MDdFNDFFMDkwODAwNUYwOTA2OAorOjEwNDA3MDAwNzY4OUUwMDRGMDc1MTEwMTgwNjA5MDdFNDFFMDkwODBDNworOjEwNDA4MDAwMDVGMDkwN0U0MkUwOTA4MDA1RjA5MDc2ODlFMDA0RjBBMworOjEwNDA5MDAwRTAwNEYwNzUxMTAxODA0MjkwN0U0MUUwOTA4MDA1RjBDRgorOjEwNDBBMDAwOTA3RTQyRTA5MDgwMDVGMDkwN0U0M0UwOTA4MDA1RjBBNQorOjEwNDBCMDAwOTA3Njg5RTAwNEYwRTAwNEYwRTAwNEYwNzUxMTAxODBFRQorOjEwNDBDMDAwMTlEMjNCRDIzQzgwMTNEMjNCODAwRjkwODAwNUU1MTc3QworOjEwNDBEMDAwRjA5MDc2ODlFMDA0RjA3NTExMDEyMDNCMDQwNTBEODAxNQorOjEwNDBFMDAwMUYzMDNDMUM5MDdFNDFFMDkwODAwNUYwOTA3RTQyRTBDNQorOjEwNDBGMDAwOTA4MDA1RjA5MDc2ODlFMDA0RjBFMDA0RjA3NTExMDFGRAorOjEwNDEwMDAwMDUwRjE1MTEwMTAwRTUxMTcwMTBDMjMzRjUwREY1MEYwMworOjBCNDExMDAwOTA3RkM3NzQwNEYwQzIzQkMyM0MyMjQ5Cis6MTA0MTFCMDA5MDc2OERFMDY0MDE3MDI3MzAyNzA4QzIyNzEyMDgwMEMzCis6MTA0MTJCMDAxMjE3NEEzMDI4MDhDMjI4MTIzODc0MTIxNzRBMzAyQTNDCis6MTA0MTNCMDAwRUU0OTA3NjhERjBDMjJBOTA3RkI0RTA0NDAyRjA5MEFBCis6MTA0MTRCMDA3NjNGRTBCNDAxMDVFNEYwMTIzMjZGOTA3NjQxRTBCNEIzCis6MTA0MTVCMDAwMTA1RTRGMDEyMzQ5QTkwNzY0MEUwQjQwMTAzMTIzNDc2Cis6MTA0MTZCMDA5QTEyMzAwMDMwMzMwMzEyNDAwMDkwN0Y5QkUwMjBFNDIyCis6MTA0MTdCMDAwMkMyM0Y5MDdGOUJFMDMwRTQwMkQyM0Y5MDdGOUJFMEY2Cis6MTA0MThCMDAyMEU1MDJDMjNFOTA3RjlCRTAzMEU1MDJEMjNFQTI0MTg5Cis6MTA0MTlCMDAzMDNGMDFCMzUwMUZBMjNGOTI0MTMwM0YwOTkwNzY5N0I5Cis6MTA0MUFCMDBFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5NzBDCis6MTA0MUJCMDBFMDkwODAwMkYwMzAzRjM0OTA3NjE5RTBGRkI0MDEwRUFFCis6MTA0MUNCMDA5MDc2N0M3NDY3RjBBMzc0MDZGMEEzNzQwQkYwRUZCNEQ1Cis6MTA0MURCMDAwMjBCRTQ5MDc2N0NGMEEzRjBBMzc0MENGMEVGQjQwMzI1Cis6MTA0MUVCMDAwQkU0OTA3NjdDRjBBM0YwQTM3NDE4RjBBMjQwMzAzRTYxCis6MTA0MUZCMDAwMUIzNTAxRkEyM0U5MjQwMzAzRTA5OTA3Njk1RTA0NEE5Cis6MTA0MjBCMDAwNEYwODAwNzkwNzY5NUUwNTRGQkYwOTA3Njk1RTA5MDYzCis6MDQ0MjFCMDA4MDAxRjAyMjBDCis6MTA0MjFGMDA5MDc2MTlFMDY0MDE3MDM1OTA3Njg3RTBGRkQzOTQyRDg2Cis6MTA0MjJGMDA0MDJCOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzExCis6MTA0MjNGMDA5NDBGNDAxOUU0RjBFRkQzOTQzMTQwMDg5MDc2MTk3NDNECis6MTA0MjRGMDAwM0YwODAwNjkwNzYxOTc0MDJGMDEyM0U5RjkwNzYxOTUzCis6MTA0MjVGMDBFMEI0MDIyQzkwNzY4N0UwRkZDMzk0MkY1MDIyRUZEMzY3Cis6MTA0MjZGMDA5NDJBNDAxQzkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEQ1Cis6MTA0MjdGMDBFMEQzOTQwRjQwMEFFNEYwOTA3NjE5MDRGMDEyM0U5RkI5Cis6MTA0MjhGMDA5MDc2MTlFMEI0MDIyNjkwNzY4N0UwRDM5NDMxNDAxREUyCis6MTA0MjlGMDA5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjY5Cis6MTA0MkFGMDA0MDBCRTRGMDkwNzYxOTc0MDNGMDEyM0U5RjkwNzYxOTRDCis6MTA0MkJGMDBFMDY0MDM3MDNGOTA3Njg3RTBGRkMzOTQ1RjUwMzU5MEMyCis6MTA0MkNGMDA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY0MDg5Cis6MTA0MkRGMDAyM0U0RjBFRkMzOTQyRjUwMENFRkQzOTQyQTQwMDY5MEIxCis6MTA0MkVGMDA3NjE5NzQwMUYwRUZEMzk0MkY0MDA2OTA3NjE5NzQwMjZCCis6MTA0MkZGMDBGMDEyM0U5RjkwNzY4NkUwNzAwNTkwNzY4NUYwMjJFNDZFCis6MDU0MzBGMDA5MDc2ODZGMDIyMEIKKzoxMDQzMTQwMEU0OTA3Njk2RjA5MDgwMDNGMDkwN0ZFMDc0OTBGMDkwQjMKKzoxMDQzMjQwMDdGRTE3NDA0RjBFNDkwN0ZEREYwOTA3RkExRjA1MzhFODAKKzoxMDQzMzQwMEY4NzU4ODA1NzVCODIwNzVGODAxNDM4RTMwRjVDODc1OTEKKzoxMDQzNDQwMENBN0Y3NUNCRjg0M0E4MjAxMjQ1NjVDMjJDQzIyREMyODIKKzoxMDQzNTQwMDJCQzIyRjkwN0ZGQzc0RERGMDkwN0ZGRjc0RkZGMDkwRjAKKzoxMDQzNjQwMDdGOTdFMDQ0MDFGMDkwNzYxOTc0MDFGMEU0OTA3Njg1MkIKKzoxMDQzNzQwMEYwQTNGMDkwNzY4MUYwOTA3NjgwRjAxMjQ5QUUxMjBGOUYKKzoxMDQzODQwMEM2MTI0QUYxOTA3Rjk3RTA0NDA4RjBFMDU0QjlGMEQyQTUKKzoxMDQzOTQwMDMwMjAzMDE4MTI0QUE2MTIzMDAwMTI0MDAwMTI0MjFGNzgKKzoxMDQzQTQwMDEyNDhCRDEyMUIwNDEyMTY2MTEyNDIxRjEyNEFBNkMyMDEKKzoxMDQzQjQwMDJGQzIzMUMyMzJDMjM0QzIzM0MyMjlDMjI3QzIyOEU0NTYKKzoxMDQzQzQwMEY1MTE5MDc2ODlGMDkwNzYzRkYwOTA3NjQxRjA5MDc2RjIKKzoxMDQzRDQwMDQwRjA5MDc2OEFGMEEzRjBBMzA0RjBFNEEzRjA5MDc2ODIKKzowMzQzRTQwMDk5RjAyMjJCCis6MTA0M0U3MDAxMjRFMTk0MDAyODFBQzkwN0ZFQkUwMjRGRTYwMUUxNDUwCis6MTA0M0Y3MDA2MDQ2MTQ2MDZFMTQ3MDAyODE5RDI0MDQ2MDAyODFBNURBCis6MTA0NDA3MDA3NDA1OTA3RkQ0RjA3NDAwOTA3RkQ1RjAyMjkwN0ZFQUY2Cis6MTA0NDE3MDBFMEZGMTI0QTU1OEIyMDhBMjE4OTIyRUE0OTYwMTFDRTkyCis6MTA0NDI3MDBFQUNFRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMkEwCis6MTA0NDM3MDA5MDdGQjRFMDQ0MDFGMDIyOTA3RkVBRTBGRjEyNDdCNzkzCis6MTA0NDQ3MDA4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRUVFOTA3RjNECis6MTA0NDU3MDBENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkI0RTA0NDNFCis6MTA0NDY3MDAwMUYwMjI5MDdGRUFFMEZGOTA3RUMwRTBGREEzRTBGQjMxCis6MTA0NDc3MDAxMjE3OTQ4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRTRECis6MTA0NDg3MDBFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkU5Cis6MTA0NDk3MDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjIxCis6MDU0NEE3MDBCNEUwNDQwMUYwNDcKKzowMTQ0QUMwMDIyRUQKKzoxMDQ0QUQwMEMyQUZEMjI0OTA3RjkzNzQzMEYwOTA3RjlDNzRCQkYwOTgKKzoxMDQ0QkQwMDkwN0Y5NkUwNDQzMEYwRTA1NDMwRjA5MDdGOTQ3NDMwNkIKKzoxMDQ0Q0QwMEYwOTA3RjlENzRDRkYwOTA3Rjk3NzRBMEYwOTA3Rjk1QzIKKzoxMDQ0REQwMDc0QzBGMDkwN0Y5RTc0MDNGMDkwN0Y5OUUwMzBFMjA5RjQKKzoxMDQ0RUQwMDkwMDUxOTc0QTBGMEU0QTNGMEMyMjVDMjIyQzIyM0MyMjQKKzoxMDQ0RkQwMDI2MTI0QjI4MTIyREE5MTIzQkQzMTI0NjE5MTIzQTQyRkQKKzoxMDQ1MEQwMDkwNzY2ODc0MDFGMDcwMEYxMjRDMjkxMjRFMTUxMjRFRjAKKzoxMDQ1MUQwMDE3MTIxQjQwMTIxNDk2MTI0MzE0OTA3RkFGRTA0NDAxMDIKKzoxMDQ1MkQwMEYwOTA3RkFFRTA0NDFGRjA5MDdGQUM3NEZGRjA5MDdGNzEKKzoxMDQ1M0QwMEFERjA5MDdGREVGMDkwN0ZERkYwOTA3RkFCRjA5MDdGNUQKKzoxMDQ1NEQwMEE5RjA5MDdGQUFGMDUzOTFFRjQzRDgyMEQyRTg0M0Q4MzkKKzowODQ1NUQwMDIwNTNBOEEwNDNBODgwMjIwRQorOjEwNDU2NTAwOTA3NjlBNzQwMkYwRTQ5MDc2OTFGMEEzRjA5MDc2OTBBQworOjEwNDU3NTAwRjA5MDc2OTNGMDkwNzY5Njc0MDNGMDkwODAwM0YwRTREMworOjEwNDU4NTAwOTA3Njk3RjA5MDgwMDJGMDkwNzY5NDA0RjA5MDgwMDBGOQorOjEwNDU5NTAwRjBFNDkwNzY4RUYwOTA3NjFBRjA5MDc2OTUwNEYwQzI1RAorOjEwNDVBNTAwMkU5MDdGOUJFMEZGNTQxMEZGNzAwMkMyM0Y5MDdGOUJDRgorOjEwNDVCNTAwRTBGRjU0MTBGRUZGQkUxMDAyRDIzRjkwN0Y5QkUwRkY0QworOjEwNDVDNTAwNTQyMEZGNzAwMkMyM0U5MDdGOUJFMEZGNTQyMEZFRkYwNworOjEwNDVENTAwQkUyMDAyRDIzRTMwM0YwOTkwNzY5N0UwNTRGRUYwODAyRgorOjEwNDVFNTAwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyRjA4RQorOjEwNDVGNTAwMzAzRTA5OTA3Njk1RTA0NDA0RjA4MDA3OTA3Njk1RTA4QQorOjEwNDYwNTAwNTRGQkYwOTA3Njk1RTA5MDgwMDFGMEEyM0U5MjQwQTI5NgorOjAzNDYxNTAwM0Y5MjQxOTAKKzowMTQ2MTgwMDIyN0YKKzoxMDQ2MTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0RTUKKzoxMDQ2MjkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0REYKKzoxMDQ2MzkwMDM0NzVGNTgzNzQwMUYwOTA3NjM2RTAwNEYwRTBGRjc1ODcKKzoxMDQ2NDkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1QzAKKzoxMDQ2NTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDJGMDkwRjEKKzoxMDQ2NjkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0MjUKKzoxMDQ2NzkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0OEYKKzoxMDQ2ODkwMDM0NzVGNTgzNzQwM0YwOTA3NjM2RTAwNEYwRTBGRjc1MzUKKzoxMDQ2OTkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1NzAKKzoxMDQ2QTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyMEQKKzowQzQ2QjkwMDc4N0ZFNEY2RDhGRDc1ODEzODAyNDcwMEQ4Cis6MTA0NkM1MDAwMjA3QTZFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjVFCis6MTA0NkQ1MDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0Y2Cis6MTA0NkU1MDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkM1Cis6MTA0NkY1MDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwQzhGRTQ3RUJBCis6MTA0NzA1MDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0I5Cis6MTA0NzE1MDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzgwCis6MTA0NzI1MDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUFCCis6MTA0NzM1MDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTYzCis6MTA0NzQ1MDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMUQxNDYwMkExNEVECis6MTA0NzU1MDA2MDM3MTQ2MDQ0MjQwNDcwNTA5MDc2OTFFMDkwN0YwMDk3Cis6MTA0NzY1MDBGMDkwN0ZCNTc0MDFGMDgwNDc5MDc2OTJFMDkwN0YwMERECis6MTA0Nzc1MDBGMDkwN0ZCNTc0MDFGMDgwMzc5MDc2OTBFMDkwN0YwMERGCis6MTA0Nzg1MDBGMDkwN0ZCNTc0MDFGMDgwMjc5MDc2ODRFMDkwN0YwMEVCCis6MTA0Nzk1MDBGMDkwN0ZCNTc0MDFGMDgwMTc5MDc2OTNFMDkwN0YwMERDCis6MTA0N0E1MDBGMDkwN0ZCNTc0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDhDCis6MDI0N0I1MDBEMzIyMEQKKzowMjQ3QjcwMDhGMkU0MworOjEwNDdCOTAwRTRGNTJGNzUzMEZGNzUzMTA3NzUzMjFBQUIzMEFBMzEyMAorOjEwNDdDOTAwQTkzMjkwMDAwMTEyMzZBQkI0MDMxRkFGMkYwNTJGRUZBQQorOjEwNDdEOTAwNjUyRTcwMDEyMjEyMzY5MjdFMDAyOUZGRUUzQUM5RUY0QQorOjEwNDdFOTAwQzk3NTMwRkZGNTMxODkzMjgwRDI3QjAwN0EwMDc5MDBCMgorOjAxNDdGOTAwMjI5RAorOjA2NDdGQTAwMTI0QjI4QzIzMTIyMUYKKzoxMDQ4MDAwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwMzIKKzoxMDQ4MTAwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGRUQKKzoxMDQ4MjAwMEMwRTBDMkNBQzJDRjkwN0Y5OEUwNDQwMUYwMzAyRTAzQUUKKzoxMDQ4MzAwMDEyMTRBNjkwN0Y5OEUwNTRGRUYwNTNBOEZBMTIxNjYxNjUKKzoxMDQ4NDAwMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBGQ0QwRTBGQkQwMzcKKzoxMDQ4NTAwMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDA4MkQwODNEMEYwMjgKKzowMzQ4NjAwMEQwRTAzMjczCis6MTA0ODYzMDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMTcxNDYwMjExNERECis6MTA0ODczMDA2MDJCMTQ2MDMyMjQwNDcwMzg5MDdGRUFFMDkwNzY5MUM0Cis6MTA0ODgzMDBGMDgwMzU5MDdGRUFFMDkwNzY5MkYwMTIzRTlGODAyODg4Cis6MTA0ODkzMDA5MDdGRUFFMDkwNzY5MEYwMTIxODAwODAxQjkwN0ZFQUY4Cis6MTA0OEEzMDBFMDkwNzY4NEYwODAxMTkwN0ZFQUUwOTA3NjkzRjA4MDM4Cis6MEE0OEIzMDAwNzkwN0ZCNEUwNDQwMUYwRDMyMjI3Cis6MTA0OEJEMDAzMDJEMzlDMjJEOTA3NjE5RTBGRkI0MDEwREU0OTA3NkJDCis6MTA0OENEMDA3Q0YwQTM3NEY4RjBBMzc0MEFGMEVGQjQwMjBERTQ5MDM5Cis6MTA0OEREMDA3NjdDRjBBMzc0RjBGMEEzNzQwQkYwRUZCNDAzMERFNDQ5Cis6MEQ0OEVEMDA5MDc2N0NGMEEzNzRGOEYwQTM3NDE3RjAyMjBECis6MDY0OEZBMDA1MzkxQkZEMjJEMzJFNAorOjEwNDkwMDAwMDIyRkU3MDAwMjNENDcwMDAyNERCNDAwMDI0QzQzMDA3NQorOjEwNDkxMDAwMDI0QkU5MDAwMjJGRkYwMDAyNEM1QjAwMDI0QzBBMDAzMAorOjEwNDkyMDAwMDI0QzcyMDAwMjRCNUEwMDAyNEM4OTAwMDI0Q0EwMDA1QgorOjEwNDkzMDAwMDI0Q0I3MDAwMjRDQ0UwMDAyNENFNTAwMDI0Q0ZDMDBEOQorOjEwNDk0MDAwMDI0RDEzMDAwMjREMkEwMDAyNEQ0MTAwMDI0RDU4MDA1NQorOjA4NDk1MDAwMDI0RDZGMDAwMjREODYwMENDCis6MTA0OTU4MDBFNDkwNzYyNkYwOTA3NjI2RTBGRjc1RjAwM0E0MjQzNEUwCis6MTA0OTY4MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REIyCis6MTA0OTc4MDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI2RTAwNEYwODBENUNBCis6MTA0OTg4MDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwMzFGCis6MTA0OTk4MDBBNDI0MzJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDJBCis6MDY0OUE4MDA3RkI1NzQwMUYwMjI0RQorOjEwNDlBRTAwOTA3NjQ2NzQ4MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTNGNgorOjEwNDlCRTAwRjBBM0YwQTNGMEEzRjBBMzc0ODBGMEU0QTNGMEEzRjBBRgorOjEwNDlDRTAwQTNGMEEzRjBBM0YwQTNGMEEzNzQ0MEYwRTRBM0YwQTMyQworOjEwNDlERTAwNzQ0MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTNGMEEzRjBDRgorOjEwNDlFRTAwQTM3NDQwRjBFNEEzRjBBMzc0NDBGMEU0QTNGMEEzRjBBQQorOjA1NDlGRTAwQTNGMEEzRjAyMjZDCis6MTA0QTAzMDBFNDkwNzYyNUYwOTA3NjI1RTBGRjc1RjAwM0E0MjQzNDM2Cis6MTA0QTEzMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDA2Cis6MTA0QTIzMDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI1RTAwNEYwODBENTFGCis6MTA0QTMzMDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjI5MDdFQzBFMDFDCis6MTA0QTQzMDBGRUVGNzVGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFRUFBCis6MDI0QTUzMDBGMDIyNEYKKzoxMDRBNTUwMEU0RkU3NTFERkY3NTFFMDU3NTFGMTJBQjFEQUExRUE5NjcKKzoxMDRBNjUwMDFGOTAwMDAxMTIzNkFCNjQwMjcwMkZDREVFQ0QwRUVEMTYKKzoxMDRBNzUwMDZGNzAwMTIyOTAwMDAyMTIzNzBFODVGMDFCRjUxQzYyNDMKKzoxMDRBODUwMDFCRTUxQjYyMUNFNTFDNjIxQjI5RkRFNTFCM0FDOUVERjQKKzoxMDRBOTUwMEM5NzUxREZGRjUxRTg5MUY4MEMxN0IwMDdBMDA3OTAwNEQKKzowMTRBQTUwMDIyRUUKKzoxMDRBQTYwMEU0OTA3NjlCRjA5MDc2OUJFMEZGMDRGMEVGNjAwOEUwRTAKKzoxMDRBQjYwMDI0MDhGOEU0RjY4MEVFOTA3Njk2RTA0NDA0RjA0NDA4ODQKKzoxMDRBQzYwMEYwOTA4MDAzRjBFNEY1MThEMjM1RjUwRUY1MTBEMjM2RTUKKzoxMDRBRDYwMDc1MTIxMTc1MTMyMkMyMzdDMjM5QzIzOEY1MTZGNTE0OEMKKzowQjRBRTYwMEY1MUFGNTBEQzIzQkMyM0NDMjNEMjI5OAorOjEwNEFGMTAwRTRGRjc0NTYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0MjhFMgorOjEwNEIwMTAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDVFMkZGNTgyRTRCNAorOjEwNEIxMTAwMzQ3NkY1ODNFMEZFNzQzODJGRjU4MkU0MzQ4MEY1ODMzMgorOjA2NEIyMTAwRUVGMDBGQkYwOENDMEUKKzowMTRCMjcwMDIyNkIKKzoxMDRCMjgwMEU0OTA3MjM2RjBBM0YwOTA3Rjk3RTA1NEZCRjBFNDkwQTUKKzoxMDRCMzgwMDcyMzNGMDkwNzIzMkYwOTA3MjAxMDRGMEU0OTA3MjMzQTQKKzoxMDRCNDgwMEYwOTA3MjMyRjA5MDcyMDEwNEYwOTA3Rjk3RTA0NDA0ODQKKzowMjRCNTgwMEYwMjI0OQorOjEwNEI1QTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAyRjA4NAorOjEwNEI2QTAwOTA3RkM3RTBGNTExNzUwRjAwNzUwRDAwRDIzM0QwODIyMgorOjA1NEI3QTAwRDA4M0QwRTAzMjAxCis6MTA0QjdGMDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzA0MjA0RTA0NDZDCis6MTA0QjhGMDAwMkYwN0ZEQzdFMDUxMjREOUQ5MDdGRDZFMDU0RjdGMDRBCis6MDU0QjlGMDBFMDQ0MDRGMDIyRDcKKzoxMDRCQTQwMDkwN0ZFQkUwMTQ3MDE0OTA3RkU5RTAyNDdGNzAwNDEyOEUKKzoxMDRCQjQwMDQ5NTgyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0NEQKKzowMzRCQzQwMDAxRjAyMkRCCis6MTA0QkM3MDA5MDdGRUJFMDE0NzAxMzkwN0ZFOUUwMTQ3MDA0MTI0QUIxCis6MTA0QkQ3MDAwMzIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUM3Cis6MDI0QkU3MDBGMDIyQkEKKzoxMDRCRTkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMDkwMDYKKzoxMDRCRjkwMDc2OTZFMDU0RkRGMDkwODAwM0YwRDA4MkQwODNEMEUwMjcKKzowMTRDMDkwMDMyNzgKKzoxMDRDMEEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMUYwRDQKKzowRjRDMUEwMEMyMjk5MDc2OEQ3NDAxRjBEMDgyRDA4M0QwRTAzMjIxCis6MTA0QzI5MDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMjU1Cis6MEE0QzM5MDA0RDlEOTA3RkQ2RTA1NEZFRjAyMjVFCis6MTA0QzQzMDBDMEUwQzA4M0MwODJEMjI1NTM5MUVGOTA3RkFCNzQwODNDCis6MDg0QzUzMDBGMEQwODJEMDgzRDBFMDMyRTIKKzoxMDRDNUIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMUYwODQKKzowNzRDNkIwMEQwODJEMDgzRDBFMDMyQkIKKzoxMDRDNzIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMkYwNkMKKzowNzRDODIwMEQwODJEMDgzRDBFMDMyQTQKKzoxMDRDODkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwNEYwNTMKKzowNzRDOTkwMEQwODJEMDgzRDBFMDMyOEQKKzoxMDRDQTAwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwNEYwM0IKKzowNzRDQjAwMEQwODJEMDgzRDBFMDMyNzYKKzoxMDRDQjcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwOEYwMjEKKzowNzRDQzcwMEQwODJEMDgzRDBFMDMyNUYKKzoxMDRDQ0UwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwOEYwMDkKKzowNzRDREUwMEQwODJEMDgzRDBFMDMyNDgKKzoxMDRDRTUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQxMEYwRUIKKzowNzRDRjUwMEQwODJEMDgzRDBFMDMyMzEKKzoxMDRDRkMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQxMEYwRDMKKzowNzREMEMwMEQwODJEMDgzRDBFMDMyMTkKKzoxMDREMTMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQyMEYwQUMKKzowNzREMjMwMEQwODJEMDgzRDBFMDMyMDIKKzoxMDREMkEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQyMEYwOTQKKzowNzREM0EwMEQwODJEMDgzRDBFMDMyRUIKKzoxMDRENDEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ0MEYwNUUKKzowNzRENTEwMEQwODJEMDgzRDBFMDMyRDQKKzoxMDRENTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ0MEYwNDYKKzowNzRENjgwMEQwODJEMDgzRDBFMDMyQkQKKzoxMDRENkYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ4MEYwRjAKKzowNzREN0YwMEQwODJEMDgzRDBFMDMyQTYKKzoxMDREODYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ4MEYwRDgKKzowNzREOTYwMEQwODJEMDgzRDBFMDMyOEYKKzoxMDREOUQwMDhFMzU4RjM2RTUzNjE1MzZBRTM1NzAwMjE1MzU0RTYwQ0IKKzowNzREQUQwMDA1MTIxNDg1ODBFRTIyQkYKKzoxMDREQjQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDRGMEQwMDUKKzowNjREQzQwMDgyRDA4M0QwRTAzMjMyCis6MTA0RENBMDA5MDc2ODJFMDkwN0YwMEYwOTA3RkI1NzQwMUYwRDMyMjU0Cis6MEM0RERBMDBDMjM3RTRGNTBFRjUxMEMyMzZGNTE0MjJDNQorOjA5NERFNjAwQzIyNTUzRDhFRjQzRDgyMDMyNTYKKzowNzRERUYwMDUzOThGRTUzOThGRDMyQkEKKzowNzRERjYwMDUzQzBGRTUzQzBGRDMyNjMKKzowNjRERkQwMDUzOTE3RkQyMkMzMjFECis6MDQ0RTAzMDA1MzkxREYzMkI2Cis6MDQ0RTA3MDA1M0Q4RjczMjUzCis6MDQ0RTBCMDAxMjE3MzAyMjI4Cis6MDM0RTBGMDBDMjhEMzIxRgorOjAzNEUxMjAwQzI4RjMyMUEKKzowMjRFMTUwMEQzMjJBNgorOjAyNEUxNzAwRDMyMkE0Cis6MDI0RTE5MDBEMzIyQTIKKzowMjRFMUIwMEQzMjJBMAorOjAyNEUxRDAwRDMyMjlFCis6MDI0RTFGMDBEMzIyOUMKKzowMjRFMjEwMEMzMjJBQQorOjAwMDAwMDAxRkYKKy8qCitTb3VyY2U6IEVNSTYyTUZXLkhFWAorVkVSU0lPTj0xLjA0LjA2MgorREFURT0xNi4xMC4yMDAyCisqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZW1pNjIvc3BkaWYuSEVYIGIvZmlybXdhcmUvZW1pNjIvc3BkaWYuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyMmQ1MGMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lbWk2Mi9zcGRpZi5IRVgKQEAgLTAsMCArMSwxMjU3IEBACis6MDMwMDAwMDAwMjQ1RjlCRAorOjAzMDAwMzAwMDIwRkZERUMKKzowMzAwMEIwMDAyNEQ5QjA4Cis6MDMwMDEzMDAwMjE3RkRENAorOjAzMDAxQjAwMDI0RDlFRjUKKzowMzAwMjMwMDAyNEQ3NTE2Cis6MDMwMDJCMDAwMjQ2Rjc5MworOjAzMDAzMzAwMDI0RDZDMEYKKzowMzAwM0IwMDAyNEQ3Q0Y3Cis6MDMwMDQzMDAwMjQ5MDA2RgorOjAzMDA0QjAwMDI0RDhGRDQKKzowMzAwNTMwMDAyNEQ4M0Q4Cis6MDMwMDVCMDAwMjREODlDQQorOjAzMDA2MzAwMDI0RDkzQjgKKzoxMDA1MDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MTEwMTAwMDEwMTAyRkYKKzoxMDA1MTAwMDAwMDEwOTAyQUMwMTAzMDEwMDgwMzIwOTA0MDAwMDAwNUYKKzoxMDA1MjAwMDAxMDEwMDAwMEEyNDAxMDAwMTU2MDAwMjAxMDIwQzI0MEUKKzoxMDA1MzAwMDAyMDEwMTAxMDAwMjAwMDAwMDAwMEQyNDA2MDUwMTAyNzUKKzoxMDA1NDAwMDAzMDAwMDAwMDAwMDAwMDkyNDAzMDIwNDAzMDAwNTAwNkEKKzoxMDA1NTAwMDBDMjQwMjAzMDUwMjAwMDYwMDAwMDAwMDE1MjQwNjA2MTQKKzoxMDA1NjAwMDAzMDIwMDAwMDMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwNzQKKzoxMDA1NzAwMDAwMDkyNDAzMDQwMTAxMDAwNjAwMDkwNDAxMDAwMDAxMzAKKzoxMDA1ODAwMDAyMDAwMDA5MDQwMTAxMDIwMTAyMDAwMDA3MjQwMTAxMjgKKzoxMDA1OTAwMDAwMDEwMDExMjQwMjAxMDIwMjEwMDM0NEFDMDA4MEJCRTAKKzoxMDA1QTAwMDAwMDA3NzAxMDkwNTBBMDU4NDAxMDEwMDhGMDcyNTAxNzQKKzoxMDA1QjAwMDAxMDAwMDAwMDkwNThGMDEwMzAwMDEwNTAwMDkwNDAxODUKKzoxMDA1QzAwMDAyMDIwMTAyMDAwMDA3MjQwMTAxMDAwMTAwMTEyNDAyQkYKKzoxMDA1RDAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NDkKKzoxMDA1RTAwMDBBMDU0NjAyMDEwMDhGMDcyNTAxMDEwMDAwMDAwOTA1RTgKKzoxMDA1RjAwMDhGMDEwMzAwMDEwNTAwMDkwNDAyMDAwMDAxMDIwMDAwNTAKKzoxMDA2MDAwMDA5MDQwMjAxMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwQTUKKzoxMDA2MTAwMDBFMjQwMjAxMDYwMjEwMDI0NEFDMDA4MEJCMDAwOTA1NTIKKzoxMDA2MjAwMDhDMDU0QzAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0QUUKKzoxMDA2MzAwMDAyMDIwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAwRTI0NEYKKzoxMDA2NDAwMDAyMDEwNjAzMTgwMjQ0QUMwMDgwQkIwMDA5MDU4QzA1QkEKKzoxMDA2NTAwMDcyMDMwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMjAzRTMKKzoxMDA2NjAwMDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMjAxMUQKKzoxMDA2NzAwMDAyMDIxMDAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNThDMjYKKzoxMDA2ODAwMDA1ODQwMTAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyQTEKKzoxMDA2OTAwMDA0MDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyRUEKKzoxMDA2QTAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NzgKKzoxMDA2QjAwMDhDMDU0NjAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwNDAzMkEKKzoxMDA2QzAwMDA5MDQxODAzNDUwMDZEMDA2MTAwNjcwMDY5MDA2MzAwQkMKKzoxMDA2RDAwMDIwMDA0NzAwNkQwMDYyMDA0ODAwMjIwMzQ1MDA2RDAwQzUKKzoxMDA2RTAwMDYxMDA2NzAwNjkwMDYzMDAyMDAwNDUwMDREMDA0OTAwN0IKKzoxMDA2RjAwMDIwMDAzNjAwN0MwMDMyMDAyMDAwNkQwMDJBMDM0MzAwRjkKKzoxMDA3MDAwMDZGMDA2RTAwNjYwMDY5MDA2NzAwNzUwMDcyMDA2MTAwOEUKKzoxMDA3MTAwMDc0MDA2OTAwNkYwMDZFMDAyMDAwNTMwMDc0MDA3MjAwQzYKKzoxMDA3MjAwMDY5MDA2RTAwNjcwMDIyMDM0OTAwNkUwMDc0MDA2NTAwRDYKKzoxMDA3MzAwMDcyMDA2NjAwNjEwMDYzMDA2NTAwMjAwMDUzMDA3NDAwRDEKKzowQTA3NDAwMDcyMDA2OTAwNkUwMDY3MDAwMDAwRkYKKzoxMDA3NEEwMDkwNzY5QTc0MDJGMEU0OTA3NjkxRjBBM0YwOTA3NjkwMDUKKzoxMDA3NUEwMEYwOTA3NjkzRjA5MDc2OTY3NDAzRjA5MDgwMDNGMEU0MkMKKzoxMDA3NkEwMDkwNzY5N0YwOTA4MDAyRjA5MDc2OTQwNEYwOTA4MDAwNTIKKzoxMDA3N0EwMEYwRTQ5MDc2OEVGMDkwNzYxQUYwOTA3Njk1MDRGMEMyQjYKKzoxMDA3OEEwMDJFOTA3RjlCRTBGRjU0MTBGRjcwMDJDMjNGOTA3RjlCMjgKKzoxMDA3OUEwMEUwRkY1NDEwRkVGRkJFMTAwMkQyM0Y5MDdGOUJFMEZGQTUKKzoxMDA3QUEwMDU0MjBGRjcwMDJDMjNFOTA3RjlCRTBGRjU0MjBGRUZGNjAKKzoxMDA3QkEwMEJFMjAwMkQyM0UzMDNGMDk5MDc2OTdFMDU0RkVGMDgwODgKKzoxMDA3Q0EwMDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMkYwRTcKKzoxMDA3REEwMDMwM0UwOTkwNzY5NUUwNDQwNEYwODAwNzkwNzY5NUUwRTMKKzoxMDA3RUEwMDU0RkJGMDkwNzY5NUUwOTA4MDAxRjBBMjNFOTI0MEEyRjAKKzowMzA3RkEwMDNGOTI0MUVBCis6MDEwN0ZEMDAyMkQ5Cis6MDIwN0ZFMDBEMzIyMDQKKzoxMDA4MDAwMEU0OTA3NjMxRjA5MDc2MzFFMEZGNzVGMDAzQTQyNDBGODgKKzoxMDA4MTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENEEKKzoxMDA4MjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MzFFMDA0RjA4MEQ1NTEKKzoxMDA4MzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQjEKKzoxMDA4NDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MzNGMDI0MjkKKzoxMDA4NTAwMEYwNjAwQTI0MEU2MDAyODE4NzEyNEIzRTIyOTA3RkVERTkKKzoxMDA4NjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzc3NDAxNDUKKzoxMDA4NzAwMEYwOTA3NjM5NzQwM0YwOTA3NjIxRjBFNDkwNzYyMEYwRDEKKzoxMDA4ODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjIwRTBGRjc1RjAwQUE0RjQKKzoxMDA4OTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENUEKKzoxMDA4QTAwMEVFNkQ2MDEyOTA3NjIxRTBGRUVGQzM5RTUwMDg5MDc2QzgKKzoxMDA4QjAwMDIwRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTUKKzoxMDA4QzAwMDE4NzQwNkYwOTA3NjM3NzQwNEYwOTA3NjM5NzQwQUYwNTQKKzoxMDA4RDAwMDkwNzYyMUYwOTA3NjIwNzQwM0YwOTA3RkVBRTBGNDYwNDcKKzoxMDA4RTAwMDJGOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjQKKzoxMDA4RjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2ODQKKzoxMDA5MDAwMDIxRTBGRUVGQzM5RTUwMDg5MDc2MjBFMDA0RjA4MEQxRjUKKzoxMDA5MTAwMDkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RUQKKzoxMDA5MjAwMEY1ODNFMDkwNzIyOUYwRTQ5MDc2M0JGMDkwNzYyMUUwMzgKKzoxMDA5MzAwMEZFRUY2RTcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRjAKKzoxMDA5NDAwMEUwMTQ2MDEzMTQ3MDAyMjFFMjI0MDI2MDAyODE3RjkwOUYKKzoxMDA5NTAwMDdGQjRFMDQ0MDFGMDIyOTA3RkU5RTAxNDcwN0M5MDdGNDYKKzoxMDA5NjAwMEVBRTBGNDcwNDg5MDc2MzdFMDkwNzYyMEYwOTA3NjM5OUYKKzoxMDA5NzAwMEUwRkU5MDc2MjBFMEZEQzM5RTUwMkI5MDc2M0JFMEZFOUIKKzoxMDA5ODAwMDA0RjA3NEMwMkVGNTgyRTQzNDdFRjU4M0UwRkVFRDc1NEMKKzoxMDA5OTAwMEYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0VFRjA5MDc2OEEKKzoxMDA5QTAwMDIwRTAwNEYwODBDNzkwNzYzRjc0MDFGMDIyOTA3RUMwNzIKKzoxMDA5QjAwMEUwRkVFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzMEMKKzoxMDA5QzAwMEVFRjBFMEI0MDEwODkwNzYzRTc0MDFGMDgwMDVFNDkwMEEKKzoxMDA5RDAwMDc2M0VGMDkwNzYzRjc0MDFGMDIyOTA3RkI0RTA0NDAxQkYKKzoxMDA5RTAwMEYwMjI5MDdGRTlFMDI0RkU3MDAyNDFBMzE0NzAwMjYxQkUKKzoxMDA5RjAwMDNGMTQ3MDAyNjFEQjI0MDM2MDAyODE3NzkwN0ZFQUUwOUMKKzoxMDBBMDAwMEY0NzA2QjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGQzYKKzoxMDBBMTAwMDkwNzYyMEUwRkVDMzlGNTA0RTkwNzYzQkUwRkYwNEYwQkUKKzoxMDBBMjAwMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTIKKzoxMDBBMzAwMEE0MjRBQ0Y1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkUwQzYKKzoxMDBBNDAwMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFRkUKKzoxMDBBNTAwMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwQzcKKzoxMDBBNjAwMDc2MjBFMDA0RjA4MEE0OTA3NjQwNzQwMUYwMjI5MDdFMUQKKzoxMDBBNzAwMEMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUNGNTgyNzkKKzoxMDBBODAwMEU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBNzcKKzoxMDBBOTAwMEE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwNzY0MTc0Q0IKKzoxMDBBQTAwMDAxRjAyMjkwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2NkQKKzoxMDBBQjAwMDIwRjA5MDc2MzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyNjAKKzoxMDBBQzAwMDgxOEU5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0MTEKKzoxMDBBRDAwMDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRUY1ODJFNDM0REYKKzoxMDBBRTAwMDc1RjU4M0VGRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1Q0UKKzoxMDBBRjAwMDgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRkY1QkUKKzoxMDBCMDAwMDgyRTQzNDc1RjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyNjMKKzoxMDBCMTAwMDkwN0VDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFFM0YKKzoxMDBCMjAwMEY1ODJFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1NTkKKzoxMDBCMzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwMzcKKzoxMDBCNDAwMDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2NTkKKzoxMDBCNTAwMDM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2QzAKKzoxMDBCNjAwMDNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwQUYKKzoxMDBCNzAwMEZGRUU3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0VGMzYKKzoxMDBCODAwMEYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjEKKzoxMDBCOTAwMEY1ODNFMEZGRUU3NUYwMEFBNDI0QjFGNTgyRTQzNDc1MjQKKzoxMDBCQTAwMEY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwMjQKKzoxMDBCQjAwMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRCMEY1ODJFNDM0QkMKKzoxMDBCQzAwMDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0ODYKKzoxMDBCRDAwMEIxRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRUFFMEY0MUEKKzoxMDBCRTAwMDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRjkwNEUKKzoxMDBCRjAwMDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NjNCRTBGRjA0QUEKKzoxMDBDMDAwMEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwREEKKzoxMDBDMTAwMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCQjQKKzoxMDBDMjAwMEUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGMkEKKzoxMDBDMzAwMEVFNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1ODNFRkYwODEKKzoxMDBDNDAwMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMEZGOTA3NjIwQjUKKzoxMDBDNTAwMEUwRkU3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGNjIKKzoxMDBDNjAwMEYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNEIzRjU4MkU0QjMKKzoxMDBDNzAwMDM0NzVGNTgzRUZGMDIyOTA3RkI0RTA0NDAxRjAyMjkwQzgKKzowRjBDODAwMDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjAxCis6MTAwQzhGMDA0MTc2NjgwMTQxNzY2QTAyNDE3NjZCMEFDMTIwQzEyMTIzCis6MDIwQzlGMDBDMTJGNjMKKzowNDBDQTEwMDQxNzYyMzAwNzUKKzoxMDBDQTUwMDQxNzIwMTAxNDU3MjA1MDAwMkM5MDAwMDQ1NzIwQTAwNDIKKzoxMDBDQjUwMDAxMDIwMzA0NEQ3MjBGRDEwMEQxMDAwMDAwMDAwMDAwQjUKKzoxMDBDQzUwMDI4MjgwOTAwNEQ3MjFDMDEwMDAxMDIwMzA0MDUwNjA3Q0UKKzoxMDBDRDUwMDA4MDkwQTBCNDE3MjJFMjI0MTcyMkYyMzQxNzIzMDIwREUKKzoxMDBDRTUwMDQxNzIzMTIxNjJEMjcyM0EwMDAwMDAwMDAwMDAwMDAwMUEKKzoxMDBDRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDBEMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDBEMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDBEMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDBEMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDBENDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDBENTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDBENjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDBENzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMTAxMDEwMTAxNjgKKzoxMDBEODUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxNEUKKzoxMDBEOTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxM0UKKzoxMDBEQTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMkUKKzoxMDBEQjUwMDAxMDEwMTAxMDEwMTAxMDEwMjAyMDIwMjAyMDIwMjAyMTYKKzoxMDBEQzUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRkUKKzoxMDBERDUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRUUKKzoxMDBERTUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyREUKKzoxMDBERjUwMDAyMDIwMjAyMDIwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQzMKKzoxMDBFMDUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQUQKKzoxMDBFMTUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOUQKKzoxMDBFMjUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOEQKKzoxMDBFMzUwMDAzMDMwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NkYKKzoxMDBFNDUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NUQKKzoxMDBFNTUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NEQKKzoxMDBFNjUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0M0QKKzoxMDBFNzUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MUQKKzoxMDBFODUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MEQKKzoxMDBFOTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1RkQKKzoxMDBFQTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNjA2RUIKKzoxMDBFQjUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2Q0QKKzoxMDBFQzUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QkQKKzoxMDBFRDUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QUQKKzoxMDBFRTUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNzA3MDcwODA4OTYKKzoxMDBFRjUwMDA4MDkwOTA5MEEwQTBBMEIwQjBCMEMwQzBDMEQwRDBENDAKKzoxMDBGMDUwMDBFMEUwRTBGMEYwRjEwMTAxMDExMTExMTEyMTIxMjEzRDkKKzoxMDBGMTUwMDEzMTMxNDE0MTQxNTE1MTUxNjE2MTYxNzE3MTcxODE4NzQKKzoxMDBGMjUwMDE4MTkxOTE5MTkxQTFBMUExQTFCMUIxQjFCMUMxQzFDMTgKKzoxMDBGMzUwMDFDMUQxRDFEMUQxRTFFMUUxRTFGMUYxRjFGMjAyMDIwQzgKKzoxMDBGNDUwMDIxMjEyMTIyMjIyMjIzMjMyNDI0MjUyNTI2MjYyNzI3NjEKKzoxMDBGNTUwMDI4MjgyOTI5MkEyQTJCMkIyQzJDMkQyRDJFMkUyRjJGRDQKKzoxMDBGNjUwMDMwMzAzMTMxMzIzMjMzMzMzNDM0MzUzNTM2MzYzNzM3NDQKKzoxMDBGNzUwMDM4MzgzOTM5M0EzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0OUIKKzoxMDBGODUwMDQ1NDY0NzQ4NDk0OTRBNEI0QjRDNEQ0RTRGNTA1MTUyQTcKKzoxMDBGOTUwMDUzNTQ1NTU1NTY1NjU3NTc1ODVBNUI1RDVFNUY2MTYyQjcKKzoxMDBGQTUwMDYzNjQ2NTY2Njc2ODY5NkE2QjZDNkQ2RjcxNzI3Mzc0OEIKKzoxMDBGQjUwMDc1NzY3Nzc4Nzk3QTdCN0M3RTgwMDEzNzAxMDEzODAwRjgKKzowMTBGQzUwMDAwMkIKKzoxMDBGQzYwMEU0RkY3NDQ2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDIwNjAKKzoxMDBGRDYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ0RTJGRjU4MkU0MkIKKzoxMDBGRTYwMDM0NzZGNTgzRTBGRTc0MzAyRkY1ODJFNDM0ODBGNTgzQTEKKzowNjBGRjYwMEVFRjAwRkJGMDhDQzc1Cis6MDEwRkZDMDAyMkQyCis6MDMwRkZEMDBDMjg5MzI3NAorOjEwMTAwMDAwRTQ5MDc2MkNGMDkwNzYyQ0UwRkY3NUYwMDNBNDI0MEY4QQorOjEwMTAxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0MgorOjEwMTAyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYyQ0UwMDRGMDgwRDU0RQorOjEwMTAzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNBOQorOjEwMTA0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYyRUYwMjQyNgorOjEwMTA1MDAwRjA2MDBBMjQwRjYwMDI4MTdEMTI0QjFCMjI5MDdGRUQwRAorOjEwMTA2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzODc0MDEzQworOjEwMTA3MDAwRjA5MDc2M0E3NDAzRjA5MDc2MUNGMEU0OTA3NjFCRjBEMgorOjEwMTA4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MUJFMEZGNzVGMDBBQTRGMQorOjEwMTA5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1MgorOjEwMTBBMDAwRUU2RDYwMTI5MDc2MUNFMEZFRUZDMzlFNTAwODkwNzZDNQorOjEwMTBCMDAwMUJFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFMgorOjEwMTBDMDAwMTg3NDA2RjA5MDc2Mzg3NDA0RjA5MDc2M0E3NDBBRjA0QQorOjEwMTBEMDAwOTA3NjFDRjA5MDc2MUI3NDAzRjA5MDdGRUFFMEY0NjA0OQorOjEwMTBFMDAwMkY5MDc2MUJFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2MQorOjEwMTBGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY3QworOjEwMTEwMDAwMUNFMEZFRUZDMzlFNTAwODkwNzYxQkUwMDRGMDgwRDFGNworOjEwMTExMDAwRTQ5MDc2MUVGMDkwNzYxQ0UwRkY5MDc2MUJFMEZFNkY2OAorOjEwMTEyMDAwNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJFMDE0NjBGRgorOjEwMTEzMDAwMTMxNDcwMDIyMUJGMjQwMjYwMDI4MTc1OTA3RkI0RTAxNQorOjEwMTE0MDAwNDQwMUYwMjI5MDdGRTlFMDI0N0Y3MDZCOTA3RkVBRTAxOQorOjEwMTE1MDAwRjQ3MDRBOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MworOjEwMTE2MDAwOTA3NjFCRTBGREMzOUY1MDJCRUQ3NUYwMEFBNDI0QUJENQorOjEwMTE3MDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRDA0RjAxRgorOjEwMTE4MDAwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTA1OAorOjEwMTE5MDAwMDRGMDgwQzc5MDc2MUVFMDkwN0ZCNUYwMjJFRTc1RjBFNworOjEwMTFBMDAwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA2NworOjEwMTFCMDAwOTA3RkI1NzQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA1QQorOjEwMTFDMDAwN0ZFOUUwMjQ3RTcwMDI0MTdFMTQ3MDAyNjEyMzE0NzA3NgorOjEwMTFEMDAwMDI2MUM4MjQwMzYwMDI4MTZEOTA3RkVBRTBGNDcwNkRDMworOjEwMTFFMDAwOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUI5MAorOjEwMTFGMDAwRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QUNGNTgyRTRGMQorOjEwMTIwMDAwMzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkQ0OQorOjEwMTIxMDAwRjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QUQ5NworOjEwMTIyMDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA2RAorOjEwMTIzMDAwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTBBNgorOjEwMTI0MDAwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUI4QgorOjEwMTI1MDAwRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTA3MAorOjEwMTI2MDAwOTA3RjAwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVBOAorOjEwMTI3MDAwRjU4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCQgorOjEwMTI4MDAwRUFFMEY0NzA2RDkwNzYzOEUwOTA3NjFCRjA5MDc2M0E1NAorOjEwMTI5MDAwRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEZGNzVGMDBBQTQ3QgorOjEwMTJBMDAwMjRBRUY1ODJFNDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQxMQorOjEwMTJCMDAwMDRGMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVEMQorOjEwMTJDMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRTBGRjkwNzY0QworOjEwMTJEMDAwMUVFMEZFMDRGMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUYwNworOjEwMTJFMDAwRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjUyRAorOjEwMTJGMDAwRjAyMjkwNzYxQkUwRkY3NUYwMEFBNDI0QUVGNTgyRTQ5QworOjEwMTMwMDAwMzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUYwMEFBNDI0QUYwOAorOjEwMTMxMDAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMUYwOTA3RkI1NzQzOQorOjEwMTMyMDAwMDJGMDIyOTA3RkVBRTBGNDcwNkQ5MDc2MzhFMDkwNzZEQgorOjEwMTMzMDAwMUJGMDkwNzYzQUUwRkY5MDc2MUJFMEMzOUY1MDRGRTBBMQorOjEwMTM0MDAwRkY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0UwRkU1RAorOjEwMTM1MDAwOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTgyRTQzNDdGRjVGNAorOjEwMTM2MDAwODNFRUYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1RjU0QworOjEwMTM3MDAwODNFMEZGOTA3NjFFRTBGRTA0RjA3NDAwMkVGNTgyRTQxOAorOjEwMTM4MDAwMzQ3RkY1ODNFRkYwOTA3NjFCRTAwNEYwODBBNDkwNzYzNAorOjEwMTM5MDAwMUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEZGNzVGMDBBQTQ2NgorOjEwMTNBMDAwMjRCMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVBQQorOjEwMTNCMDAwRjAwQUE0MjRCMUY1ODJFNDM0NzVGNTgzRTA5MDdGMDE0RQorOjEwMTNDMDAwRjA5MDdGQjU3NDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTBBNworOjEwMTNEMDAwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCRTA0RQorOjEwMTNFMDAwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzRBNQorOjEwMTNGMDAwNzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJERjU5NworOjEwMTQwMDAwODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEIzRjU5RgorOjEwMTQxMDAwODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNzRGQworOjEwMTQyMDAwMDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDQyNAorOjEwMTQzMDAwRjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCRTBCRAorOjEwMTQ0MDAwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0UwOTBDOAorOjEwMTQ1MDAwN0YwMEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU0QgorOjEwMTQ2MDAwODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQjQwQQorOjEwMTQ3MDAwRTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjQ3OAorOjA1MTQ4MDAwRTA0NDAxRjAyMjMwCis6MTAxNDg1MDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTdBCis6MDExNDk1MDAyMjM0Cis6MTAxNDk2MDA5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkUwCis6MTAxNEE2MDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTA4REUwQzBFMERDCis6MTAxNEI2MDA4Q0UwQzBFMEMwODJDMDgzMDU4NkMwODRDMDg1N0QwMDA0Cis6MTAxNEM2MDA5MDdGRTM3NDdCRjBBMzc0ODBGMDdDMTE5MDdGOTlFMEE5Cis6MTAxNEQ2MDA1NDQwREMwMzAyMTRGM0I0MDAxMzkwN0ZFMjc0NDBGMDJFCis6MTAxNEU2MDA5MDdGRTVGMDkwN0ZFMjc0MDBGMDAyMTREMjkwNzY5MDNGCis6MTAxNEY2MDBFMEI0MDExMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMENCCis6MTAxNTA2MDA5MDdGNkMwMjE1NTdCNDAyMTI5MDc2OEZFMDJERkQ5MEY1Cis6MTAxNTE2MDA3RkUyNzQ4MEYwOTA3RjZDMDIxNTk2QjQwMzEyOTA3Njg5Cis6MTAxNTI2MDA4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTVFMUQ0Cis6MTAxNTM2MDBCNDA0MTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjA5MEQ3Cis6MTAxNTQ2MDA3RjZDMDIxNjEwOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNjFBCis6MTAxNTU2MDA0MEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERjI3REI5Cis6MTAxNTY2MDAwMjA1ODY5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNEZECis6MTAxNTc2MDAwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMDJECis6MTAxNTg2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERENDAyMTY0MEZDCis6MTAxNTk2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMDQ1Cis6MTAxNUE2MDBGMEYwRERFQzdEMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjFFCis6MTAxNUI2MDA5QkUwNTQwNEI0MDAwNTA1ODYwMjE2NDA5MDdGRTI3NDUxCis6MTAxNUM2MDA4MEYwMDU4NkYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERBCis6MDYxNUQ2MDBGMEYwRjBGMEYwRjA2RgorOjEwMTVEQzAwRERDRTAyMTY0MEYwRjBGMEYwRERGQTdEMDIwNTg2OTBDQgorOjEwMTVFQzAwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1ODYwNAorOjEwMTVGQzAwMDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwREQ4QQorOjEwMTYwQzAwREMwMjE2NDBGMEYwRjBGMEYwRjBEREY4N0QwMjA1ODYxQgorOjEwMTYxQzAwOTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDVDOQorOjEwMTYyQzAwODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBCMAorOjEwMTYzQzAwRjBGMEREREE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODY3RQorOjEwMTY0QzAwRDA4M0QwODJEMEUwRkNEMEUwRkREMEUwRkVEMEUwRkYzMworOjA1MTY1QzAwRDBFMEQwRDAyMjE3Cis6MTAxNjYxMDBDMEQwQzBFMEMwODJDMDgzOTA3NjdDRTA5MDdGNkZGMEY0Cis6MTAxNjcxMDA5MDc2N0RFMDkwN0Y2RkYwOTA3NjdFRTA5MDdGNkZGMEM2Cis6MDkxNjgxMDBEMDgzRDA4MkQwRTBEMEQwMjI0OQorOjEwMTY4QTAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwQzA4MkMwODM3RQorOjEwMTY5QTAwMDU4NkMwODRDMDg1OTA3Njg3RTBGRkJGMDAwMzAyMTdFNQorOjEwMTZBQTAwMDE5MDdGOTZFMDQ0ODBGMDkwN0ZFMjc0ODBGMDkwN0YxMgorOjEwMTZCQTAwNjJFMDA1ODY5MDdGRTI3NDAwRjA5MDdGOTZFMDU0N0ZBNgorOjEwMTZDQTAwRjA5MDdGRTI3NDgwRjA5MDc2OEVFMEI0MDEwNTA1ODY5MgorOjEwMTZEQTAwMDIxNkY2QjQwMjA1MDU4NjAyMTZFQjA1ODYwMjE2RkIwQgorOjEwMTZFQTAwRTBFMEUwRTBFMEUwREZGODAyMTZGQkUwRTBFMEUwREY2NworOjEwMTZGQTAwRkE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODZEMDgzRDAzQQorOjBDMTcwQTAwODJEMEUwRkVEMEUwRkZEMEUwRDBEMDIyODIKKzoxMDE3MTYwMEMwODJDMDgzQzBFMEU4QzBFMDc4RDFFODE0Rjg3MEZCNkUKKzowQTE3MjYwMEQwRTBGOEQwRTBEMDgzRDA4MjIyOUEKKzoxMDE3MzAwMEMwODJDMDgzQzBFMEU4QzBFMDc4NzhFODE0Rjg3MEZCQUQKKzowQTE3NDAwMEQwRTBGOEQwRTBEMDgzRDA4MjIyODAKKzowNzE3NEEwMDkwN0ZDNTc0MDJGMDIyM0MKKzoxMDE3NTEwMDkwN0VDMEUwOTA3NjQ1RjA5MDdFQzFFMDkwNzY0NEYwQjYKKzoxMDE3NjEwMDkwN0VDMkUwOTA3NjQzRjBCNDAwMDMwMjE3Nzg5MDc2NDEKKzoxMDE3NzEwMDE5NzQwM0YwMDIxNzhFOTA3NjQ0RTBCNEJCMDk5MDc2OTkKKzoxMDE3ODEwMDE5NzQwMkYwMDIxNzhFOTA3NjE5NzQwMUYwOTA3NjQyNjYKKzowMzE3OTEwMEU0RjAyMjVGCis6MDQxNzk0MDA4RDI5OEIyQUU2Cis6MTAxNzk4MDAxMjQ5RkZFQTQ5NjA1NzEyMzY5MjdFMDAyOUZGRUUzQTU1Cis6MTAxN0E4MDBDOUVGQzk3NTJCRkZGNTJDODkyREFCMkJBQTJDQTkyREI4Cis6MTAxN0I4MDA5MDAwMDExMjM2QUJGRjY0MDQ2MDA1RUY2NDA1NzAyRURCCis6MTAxN0M4MDBFRkI0MDQxNTkwMDAwMjEyMzZBQjY1Mjk3MDBCOTAwMDM3Cis6MTAxN0Q4MDAwMzEyMzZBQjY1MkE3MDAxMjIxMjM2OTI3RTAwMjlGRjY5Cis6MTAxN0U4MDBFRTNBQzlFRkM5NzUyQkZGRjUyQzg5MkQ4MEJDN0IwMDFCCis6MDQxN0Y4MDA3QTAwNzkwMEZBCis6MDExN0ZDMDAyMkNBCis6MDMxN0ZEMDBDMjhCMzI2QQorOjEwMTgwMDAwOTA3NjkwRTAxNDYwMzcxNDcwMDIwMUQ4MTQ3MDAyMjFCMQorOjEwMTgxMDAwNzIxNDcwMDI0MTNCMjQwNDYwMDI2MTAzOTA3RkZDNzRFNworOjEwMTgyMDAwQ0NGMDkwN0ZGRjc0RkNGMDkwNzY5NUUwNDQwMUYwNTQ4QQorOjEwMTgzMDAwMDVGMDkwODAwMUYwRTQ5MDc2MUFGMEMyMkUyMjkwNzZBNgorOjEwMTg0MDAwOTVFMDQ0MDFGMDQ0MDJGMDMwM0UwNkUwNDQwNEYwODBBQworOjEwMTg1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3QQorOjEwMTg2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTIyOTAyNworOjEwMTg3MDAwN0ZGQzc0NzRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkI3MworOjEwMTg4MDAwRjA5MDc2OTdFMDU0RkRGMEU0OTA3NjgxRjA5MDc2ODBDOQorOjEwMTg5MDAwRjBFRkI0MDIyMjkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkMzQworOjEwMThBMDAwRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJGMEU0OTBGOQorOjEwMThCMDAwNzY4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkU4NAorOjEwMThDMDAwRjA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDU0RkIyMworOjEwMThEMDAwRjA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTRGRUYwNDRGMworOjEwMThFMDAwMDJGMDMwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTQyNAorOjEwMThGMDAwRkJGMDkwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFCNAorOjEwMTkwMDAwRjA5MDc2MTlFMEZGQjQwMTIyOTA3RkZDNzQzMEYwOTBFMworOjEwMTkxMDAwN0ZGRjc0RkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGNAorOjEwMTkyMDAwRkRGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjIyOTBBMgorOjEwMTkzMDAwN0ZGQzc0MUNGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkYwNgorOjEwMTk0MDAwRjA5MDc2OTdFMDQ0MDJGMEU0OTA3NjgxRjA5MDc2ODAxMworOjEwMTk1MDAwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTczQworOjEwMTk2MDAwRTA0NDAxRjA5MDc2OTdFMDU0RkJGMDkwODAwMkYwRDJEMgorOjEwMTk3MDAwMkUyMjkwNzY5NUUwNDQwMUYwNDQwMkYwNDQwOEYwMzBDNQorOjEwMTk4MDAwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTRGQkYwOTAyQQorOjEwMTk5MDAwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFGMDkwNzY5OAorOjEwMTlBMDAwMTlFMEZGQjQwMTI1OTA3RkZDNzRDQ0YwOTA3RkZGNzRBOAorOjEwMTlCMDAwRkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGREYwNTQwNQorOjEwMTlDMDAwRkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjI1OTAwMQorOjEwMTlEMDAwN0ZGQzc0QzhGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkZCQQorOjEwMTlFMDAwRjA5MDc2OTdFMDQ0MDJGMDU0RkJGMEU0OTA3NjgxRjBCQQorOjEwMTlGMDAwOTA3NjgwRjBFRkI0MDMyNTkwN0ZGQzc0OThGMDkwN0Y5MAorOjEwMUEwMDAwRkY3NEZDRjA5MDc2OEY3NDVGRjA5MDc2OTdFMDU0RkQ1MQorOjEwMUExMDAwRjA0NDA0RjBFNDkwNzY4MUYwOTA3NjgwRjAzMDNGMDk1NQorOjEwMUEyMDAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjBCRQorOjEwMUEzMDAwOTA3Njk3RTA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTQzNgorOjEwMUE0MDAwRkVGMDQ0MDJGMDQ0MDhGMDMwM0UwNkUwNDQwNEYwODAyQQorOjEwMUE1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3OAorOjEwMUE2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTI1OTAyMgorOjEwMUE3MDAwN0ZGQzc0QjRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkIzMQorOjEwMUE4MDAwRjA5MDc2OTdFMDU0RkRGMDU0RkJGMEU0OTA3NjgxRjAwRQorOjEwMUE5MDAwOTA3NjgwRjBFRkI0MDIyNTkwN0ZGQzc0QjBGMDkwN0ZEOAorOjEwMUFBMDAwRkY3NEZDRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJFQworOjEwMUFCMDAwRjA1NEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDM4MAorOjEwMUFDMDAwMjU5MDdGRkM3NDY4RjA5MDdGRkY3NEZDRjA5MDc2OEYxNworOjEwMUFEMDAwNzQ1RkYwOTA3Njk3RTA1NEZERjA0NDA0RjBFNDkwNzY2MworOjEwMUFFMDAwODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFRjBEOAorOjEwMUFGMDAwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDIxRQorOjA0MUIwMDAwRjBEMjJFMjJDRgorOjEwMUIwNDAwMzAyQzM4QzIyQzkwNzYxOUUwRkZCNDAxMEU5MDc2N0MwQworOjEwMUIxNDAwNzRDMEYwQTM3NDE0RjBBMzc0MEJGMEVGQjQwMjBERTREQQorOjEwMUIyNDAwOTA3NjdDRjBBMzc0MTBGMEEzNzQwQ0YwRUZCNDAzMEI2NAorOjBDMUIzNDAwRTQ5MDc2N0NGMEEzNzQxOEYwQTNGMDIyN0IKKzoxMDFCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMDFCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMDFCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMDFCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzoxMDFCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMDFCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMDFCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMDFCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMDFCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMDFCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKKzoxMDFCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMDFCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMDFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDFDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMDFDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMDFDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzoxMDFDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMDFDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMDFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMDFDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMDFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMDFDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKKzoxMDFDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMDFDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDFDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDFDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDFDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDFDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMDFEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDFEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDFEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMDFENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMDFENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMDFENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzoxMDFENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMDFEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMDFEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMDFEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMDFEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoxMDFEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMDFERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMDFERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMDFERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzoxMDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMDFFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKKzoxMDFFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKKzoxMDFFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMDFFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMDFFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMDFFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMDFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMDFFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMDFFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMDFFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzowRTFFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMUYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjAyMUYzRTAwMDAwMEExCis6MTAxRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTAxRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTAxRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTAxRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTAxRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTAxRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTAxRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTAxRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTAxRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTAxRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTAxRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTAxRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTAyMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTAyMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTAyMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTAyMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwCis6MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MEUyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIzN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIzOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIzOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIzQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIzQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIzQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIzREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIzRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIzRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDI0MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDI0MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDI0MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDI0M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDI0NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDI0NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDI0NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDI0N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDI0OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDI0OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDI0QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDI0QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDI0Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDI0REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDI0RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDI0RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDI1MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDI1MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDI1MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDI1M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDI1NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDI1NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDI1NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDI1N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKKzoxMDI1OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDI1OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDI1QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDI1QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDI1Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDI1REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzoxMDI1RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKKzoxMDI1RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDI2MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKKzoxMDI2MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUMKKzoxMDI2MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKKzoxMDI2M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKKzoxMDI2NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKKzoxMDI2NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzoxMDI2NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKKzoxMDI2N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKKzoxMDI2OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKKzoxMDI2OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKKzoxMDI2QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUMKKzoxMDI2QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKKzoxMDI2Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKKzoxMDI2REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzowRTI2RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjZGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjcwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjcxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjcyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjczQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjc0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjc1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjc2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjc3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjc4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjc5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjdBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjdCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjdDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjdEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjdFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjA1MjdGQzAwMDAwMDAwMDAyMkI2Cis6MTAyODAxMDBDMjIwQzIyMUMyMkE5MDdGRThFMDEyMzdGOTI4MzAwMEE1Cis6MTAyODExMDAyODhDMDEyOEEyMDIyQTFGMjEyQTZBMjIyOTNEODAyOTA3Cis6MTAyODIxMDA3RDgxMjlEMTgyMkE4NEExMkFCQUEyMDAwMDJBQkY5MERGCis6MTAyODMxMDA3RkU5RTAxNDYwMTEyNEZFNjAyODI0RkU2MDNCMjRGQzQzCis6MTAyODQxMDA3MDQwMTI0QkEwNDFDQjEyNERBNzQwMDI0MUNCOTA3RjZCCis6MTAyODUxMDBFQUUwQjQwMTA0QzIyMjQxQ0I5MDdGQjRFMDQ0MDFGMDJDCis6MTAyODYxMDA0MUNCMTI0REE5OTA3RkVBRTBCNDAxMDREMjIyNDFDQkMxCis6MTAyODcxMDA5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDlCCis6MTAyODgxMDA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTAyNDVCCis6MTAyODkxMDBGNTcwMDUxMjQ4MDA0MUNCOTA3RkI0RTA0NDAxRjA0MTRFCis6MTAyOEExMDBDQjkwN0ZFOUUwMjRGRDYwNTQyNDAyNjAwMjIxMzQxMkMwCis6MTAyOEIxMDA0REE3NDAwMjQxQ0I5MDdGRUFFMDcwMzg5MDdGRUNFMDc5Cis6MTAyOEMxMDBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEQzCis6MTAyOEQxMDBGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRkVGCis6MTAyOEUxMDAxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NEQ4Cis6MTAyOEYxMDAyMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjEyNERBOUNGCis6MTAyOTAxMDA0MDAyNDFDQjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NEVDCis6MTAyOTExMDA4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MjUzCis6MTAyOTIxMDBFNDM0N0ZGNTgzNzQwMUYwNDFDQjkwN0ZCNEUwNDQwMTNFCis6MTAyOTMxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMERFCis6MTAyOTQxMDA2MDEyMjRGODYwMDkyNDAyNzAyOTEyNDNEQjQxQ0IxMjgyCis6MTAyOTUxMDA0RDVDNDFDQjEyNERBNUEyMjJFNDMzRkYyNUUwRkZBMjNECis6MTAyOTYxMDAyM0U0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMjJECis6MTAyOTcxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDlFCis6MTAyOTgxMDA2MDMzMjRGNjYwMkEyNDA0NzAzRDkwN0ZFQkUwMjRERTVFCis6MTAyOTkxMDA2MDBDMDQ3MDEyOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjUxCis6MTAyOUExMDBCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjZECis6MTAyOUIxMDAxMjQ2ODU0MUNCMTI0REE1RTQ5MDdGMDBGMEEzRjA5MDIzCis6MTAyOUMxMDA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjdDCis6MTAyOUQxMDA5MDdGRTlFMDI0RjQ2MDM0MjQwQzcwMzkxMjREQTU5MDA1Cis6MTAyOUUxMDA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNTFGCis6MTAyOUYxMDBFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMDU4Cis6MTAyQTAxMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDg1Cis6MTAyQTExMDA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjgxCis6MTAyQTIxMDBFOUUwMjRGNjYwMTIxNDYwMUEyNDAyNzAxREQyMjA5MDhECis6MTAyQTMxMDA3RkI0RTA0NDAxRjA4MDEyRDIyMDkwN0ZCNEUwNDQwMUUxCis6MTAyQTQxMDBGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwMjAxODkwN0ZFRUUxCis6MTAyQTUxMDBFMDcwMDRBM0UwNjAwQkQyMjlEMjI3MTIxNzRBRDIyQUQwCis6MTAyQTYxMDA4MDAzMTIwODAwQzIyMDgwNjE5MDdGRUVFMDcwMDRBMzExCis6MTAyQTcxMDBFMDYwMEJEMjI5RDIyODEyMTc0QUQyMkE4MDRDMTIzODkwCis6MTAyQTgxMDA3NDgwNDc5MDdGRTlFMDI0RkU2MDEyMTQ2MDFBMjQwMkVBCis6MTAyQTkxMDA3MDFERDIyMTkwN0ZCNEUwNDQwMUYwODAxMkQyMjE5MEM4Cis6MTAyQUExMDA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDVFCis6MTAyQUIxMDAyMTAzMTIxMDAwQzIyMTgwMTExMjJBRDY4MDBDMTI0RDVFCis6MTAyQUMxMDBBQjUwMDc5MDdGQjRFMDQ0MDFGMDIwMkEwNzkwN0ZCNDE3Cis6MDUyQUQxMDBFMDQ0MDJGMDIyQzgKKzoxMDJBRDYwMEU0OTA3NjI3RjA5MDc2MjdFMEZGNzVGMDBGQTQyNDQyNjUKKzoxMDJBRTYwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZENTMKKzoxMDJBRjYwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjdFMDA0RjA4MEQ1NjgKKzoxMDJCMDYwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGQjEKKzoxMDJCMTYwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MjhGMDI0MDgKKzoxMDJCMjYwMDlGNzAwMkExNzQyNDIxNjAwMkExQTE5MDdGRTlFMDI0OTQKKzoxMDJCMzYwMDdFNzAwMjYxRkMxNDcwMDI4MUI1MjQwMjYwMDJBMTZDRjEKKzoxMDJCNDYwMEVGNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQjkKKzoxMDJCNTYwMEEzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzkwMDc4MTYKKzoxMDJCNjYwMDAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTM3NEFDQUIKKzoxMDJCNzYwMEYwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwNEIKKzoxMDJCODYwMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZENEQKKzoxMDJCOTYwMEEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBDMzEyMzYKKzoxMDJCQTYwMDM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBFNEEzN0UKKzoxMDJCQjYwMEYwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0QUIKKzoxMDJCQzYwMDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFNjMKKzoxMDJCRDYwMEEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdBQjYwRjgKKzoxMDJCRTYwMDAyQTFBODkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwN0YKKzoxMDJCRjYwMDdGQjU3NDAzRjAyMjkwNzYyN0UwNzVGMDBGQTQyNDQ3ODIKKzoxMDJDMDYwMEY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzQzIKKzoxMDJDMTYwMEUwRkY3QjQ0N0FBQzc5MDA3ODAwQzMxMjM3QUI3MDEzQkYKKzoxMDJDMjYwMDkwN0YwMDc0NDRGMEEzNzRBQ0YwRTRBM0YwOTA3RkI1RjkKKzoxMDJDMzYwMDc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0M0MKKzoxMDJDNDYwMDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCODMKKzoxMDJDNTYwMDgwN0FCQjc5MDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwN0YKKzoxMDJDNjYwMDc0ODBGMEEzNzRCQkYwRTRBM0YwOTA3RkI1NzQwM0YwMTYKKzoxMDJDNzYwMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1QzUKKzoxMDJDODYwMDgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCMDA3QTc3RjAKKzoxMDJDOTYwMDc5MDE3ODAwQzMxMjM3QUI2MDAyQTFBODkwN0YwMEYwREIKKzoxMDJDQTYwMEEzNzQ3N0YwQTM3NDAxRjA5MDdGQjU3NDAzRjAyMjkwQkIKKzoxMDJDQjYwMDc2MjdFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzOEUKKzoxMDJDQzYwMEUwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5NDEKKzoxMDJDRDYwMDAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzRTIKKzoxMDJDRTYwMDc0QUNGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwMUYKKzoxMDJDRjYwMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzNEMKKzoxMDJEMDYwMEUwRkRBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQkMKKzoxMDJEMTYwMEMzMTIzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwQkUKKzoxMDJEMjYwMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGN0EKKzoxMDJEMzYwMEE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRkYKKzoxMDJENDYwMEUwRkVBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QjMKKzoxMDJENTYwMEFCNzA0RjkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwRUUKKzoxMDJENjYwMDdGQjU3NDAzRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGOTcKKzoxMDJENzYwMEU5RTAyNDdGNzAxRTkwNzYyN0UwNzVGMDBGQTQyNDRGQkIKKzoxMDJEODYwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwN0ZCNTc0QUEKKzoxMDJEOTYwMDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0RjYKKzowMzJEQTYwMDAxRjAyMjE3Cis6MTAyREE5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkyCis6MTAyREI5MDAzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDBGRjU4MkRGCis6MTAyREM5MDBFNDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MTBGNTZDCis6MTAyREQ5MDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRkEwCis6MTAyREU5MDA3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEFDCis6MTAyREY5MDBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwNUE3Cis6MTAyRTA5MDBGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNDNBCis6MTAyRTE5MDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTk3Cis6MTAyRTI5MDA4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRjdFCis6MTAyRTM5MDBGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDg4Cis6MTAyRTQ5MDAxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMDA5Cis6MTAyRTU5MDBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDVDCis6MTAyRTY5MDAwMUYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4M0JFCis6MTAyRTc5MDA3NDAzRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNUJBCis6MTAyRTg5MDA4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNEMzCis6MTAyRTk5MDAwRUY1ODJFNDM0NzVGNTgzNzQxMEYwRUY3NUYwMDNBNDMwCis6MTAyRUE5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA2RjBFRjc1RjAwM0E5Cis6MTAyRUI5MDBBNDI0MTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMEM1Cis6MTAyRUM5MDAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNUVGCis6MTAyRUQ5MDA4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUNFCis6MTAyRUU5MDBGNTgzNzQwNEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDNCCis6MTAyRUY5MDA3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0IxCis6MTAyRjA5MDBBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMEFDCis6MTAyRjE5MDAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwOEYwRUY3NTgyCis6MTAyRjI5MDBGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjA5MDU5Cis6MTAyRjM5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkwCis6MTAyRjQ5MDAzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MjRDCis6MTAyRjU5MDBFNDM0NzVGNTgzNzQwQUYwRUY3NUYwMDNBNDI0MTBGNUQxCis6MTAyRjY5MDA4MkU0MzQ3NUY1ODM3NDA0RjA5MDc2MzZFMDA0RjBFMDc5Cis6MTAyRjc5MDBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMjE5Cis6MTAyRjg5MDBGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDJBCis6MTAyRjk5MDAwOUYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzg0Cis6MTAyRkE5MDA3NDA0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDkxCis6MTAyRkI5MDAwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDFECis6MTAyRkM5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA3RjBFRjc1RjAwMzg3Cis6MEUyRkQ5MDBBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyMEMKKzoxMDJGRTcwMEMwRTBDMDgzQzA4MkQyMjY1MzkxRUY5MDdGQUI3NDAxQkIKKzowODJGRjcwMEYwRDA4MkQwODNEMEUwMzI1QgorOjAxMkZGRjAwMzI5RgorOjEwMzAwMDAwOTA3RkI2RTAyMEUxMDJDMjNERDIzNjIwMzYwMjQxNkUwQQorOjEwMzAxMDAwMzAzRDAyNDE2RTkwODAwN0UwNjAwNEQyMzY4MDAyQzJFQgorOjEwMzAyMDAwMzYyMDM2MDI0MTJFRDIzNUU0RjUxQTkwODAwNEUwRjVDMAorOjEwMzAzMDAwMTk3NDA4MjUwRUY4QTYxOTg1MTkxOEU1MTgyMEU3MDQ1MworOjEwMzA0MDAwRDIzODgwMDJDMjM4MzAzODAyMjFENEU0RjUxNkU1MTlBRQorOjEwMzA1MDAwQjRGMDBDRDIzOTc1MDgwNDc1MDlGMDA1MEU4MDAyMDUyQworOjEwMzA2MDAwMTZFNTE5NjRGNzcwM0RDMjM5RTUwRTI0RkU2MDE3MTRBOQorOjEwMzA3MDAwNjAyMjI0MDM3MDI5NzUwODA1NzUwOUY3RTRGNTBBRjUzRgorOjEwMzA4MDAwMEI3NTBFMDQ4MDIwNzUwODA2NzUwQUY3RTRGNTBCNzVCQworOjEwMzA5MDAwMEUwNDgwMTI3NTA4MDc3NTBCRjc3NTBFMDQ4MDA3MTI3MQorOjEwMzBBMDAwNDhGMzgwMDIwNTE2RTUxOTU0Rjg2NEY4NzAzQkMyMzUwMAorOjEwMzBCMDAwRTUxOTI0MDc2MDBDMjRGQzYwMDgyNDA1MjRGODUwMDY1OAorOjEwMzBDMDAwODAwOEQyM0E4MDA2QzIzQTgwMDJEMjNBNzUxQTAxMjBBQworOjEwMzBEMDAwM0ExOTkwN0U4MDc0MEZGMEEzRTUxOUYwRTRBM0YwQTNGMQorOjEwMzBFMDAwRjA5MDdGQjc3NDA0RjA4MDAyMDUxNjIwMzk2REU1MTk2MQorOjEwMzBGMDAwNjRGNzYwNjdFNTFBNzA2M0U1MTg1NEYwNjRGMDcwNTk3RQorOjEwMzEwMDAwODUxODE5RjUwRUU1MTkyNDBGNjAxQjI0RkU2MDE3MjQ5RAorOjEwMzExMDAwRkQ2MDIyMTQ2MDFGMjQwNTcwMkY3NTA4MDMwNTBFODVCRAorOjEwMzEyMDAwMTgwOUQyMzc4MDI4NzUwODAyMDUwRTg1MTgwOTc1MTQwQworOjEwMzEzMDAwMDFEMjM3ODAxOTc1MDgwNTA1MEU4NTE4MDlFNEY1MEFDRQorOjEwMzE0MDAwRjUwQjc1MEUwM0QyMzc4MDA1MTI0OEYzQzIzNTMwMzVDMgorOjEwMzE1MDAwMEE4NTA4MTM4NTE4MTI4MDAyMDUxNjg1MTgxOUU1MTZDOAorOjEwMzE2MDAwNjQwNDcwNjJGNTBFRTUxOTU0RjBGNTE5RjUxNTg1MTgyQgorOjEwMzE3MDAwMTlFNTE1MjQ3MDYwMTgyNEYwNjAxNDI0RjA2MDEwMjQwMAorOjEwMzE4MDAwRjA2MDFFMjRGMDYwMUEyNEYwNjAwNDI0NjA3MDI3RTVDQgorOjEwMzE5MDAwMTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDlEMjM3ODBBNgorOjEwMzFBMDAwMUFFNTE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5NzVBQgorOjEwMzFCMDAwMTQwMUQyMzc4MDA1MTI0OEYzQzIzNTMwMzUwQTg1MTkxQgorOjEwMzFDMDAwMTM4NTE4MTI4MDAyMDUxNkU1MTZEMzk0MDU0MDU3MTI5MAorOjEwMzFEMDAwNDhGMzgwNTIzMDM5MTdFNTBFNzAwQTg1MDgwOTc1MDhFMgorOjEwMzFFMDAwMDQwNTBFODA0MTc0MDgyNTBFRjhBNjE5ODAzODIwMzc5MgorOjEwMzFGMDAwMkFFNTBFQjQwMTBGODUwODBBODUwOTBCODUxMzA4ODU5OQorOjEwMzIwMDAwMTIwOTc1MEUwNEU1MTRCNDAxMUM4NTA4MEFFNEY1MEJENworOjEwMzIxMDAwODUxMzA4ODUxMjA5NzUwRTA0ODAwQkU1MTRCNDAxMDZBOAorOjEwMzIyMDAwRTRGNTBCNzUwRTA0RTRGNTFBMzAzNTAyMDUwRUU1MEVEMworOjEwMzIzMDAwRDM5NDAzNTAwMjAxMEJDMjM3RTRGNTBFRjUxMEMyMzZFOQorOjEwMzI0MDAwRDIzREY1MTQ3NDA4MjUxMEY4RTZGRjc0ODAyNTEwRjVCQQorOjEwMzI1MDAwODJFNDM0N0VGNTgzRUZGMDc0MDgyNTEwRjhFNEY2MDU3NworOjBGMzI2MDAwMTBFNTEwQjQwNERFOTA3RkI3NzQwNEYwMDEwQjIyNjgKKzoxMDMyNkYwMDkwNzYxOEUwRkY2NDA1NzA0MjkwNzVBQkUwQjQwMTE5RDkKKzoxMDMyN0YwMDkwNzIzNzc0MDFGMEU0OTA4MDIwRjA5MDgwMzFGMDkwREMKKzoxMDMyOEYwMDgwMjhGMDkwODAzOUYwODAyMkU0OTA3MjM3RjA5MDc1QUEKKzoxMDMyOUYwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNzEKKzoxMDMyQUYwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNTIKKzoxMDMyQkYwMDgxOTk5MDcyMzk3NDA0RjA5MDcyMzlFMEZGMjRGRTkwNzYKKzoxMDMyQ0YwMDcyMDRGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1QkYKKzoxMDMyREYwMDgzRTA2NDAxNzA1NDkwNzIzNjA0RjA5MDcyMDRFMEZGNDIKKzoxMDMyRUYwMDI0RkQ2MDI4MjRGRTYwMjQyNDAzMjRGQjUwMDQ2MDFDNkEKKzoxMDMyRkYwMDgxOEM3NDIwMkZGNTgyRTQzNDgwRjU4M0U0RjA3NDI4RjgKKzoxMDMzMEYwMDJGRjU4MkU0MzQ4MEY1ODNFNEYwODE4QzkwNzIwNEUwMzEKKzoxMDMzMUYwMEZGMjQzMEY1ODJFNDM0ODBGNTgzRTRGMDc0MzgyRkY1MjAKKzoxMDMzMkYwMDgyRTQzNDgwRjU4M0U0RjA4MThDRTQ5MDcyMzZGMDkwN0YKKzoxMDMzM0YwMDcyMzlFMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzOTMKKzoxMDMzNEYwMEUwRkY3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMjgKKzoxMDMzNUYwMDAyNzQzQkYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwQUEKKzoxMDMzNkYwMDA0OTA3MjAyRjBFRjRFNzAwMjgxMzVFRjY0ODA0RTcwNjAKKzoxMDMzN0YwMDAyODEzNUVGRjhFNDkwNzUwREYwRTg5MDc1MENGMDkwNDAKKzoxMDMzOEYwMDcyMzRFMDc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNDkKKzoxMDMzOUYwMEUwRkY5MDcyMDJGMDkwNzUwREUwMkZGMDkwNzUwQ0UwNDkKKzoxMDMzQUYwMDM0MDBGMEUwRkVBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5NDQKKzoxMDMzQkYwMEY4RDMxMjM3OTU0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2MDQKKzoxMDMzQ0YwMEYwOTA3NTBERTAyNDJBRjA5MDc1MENFMDM0NUFGMEUwN0YKKzoxMDMzREYwMEZFQTNFMDc4MDVDRUEyRTcxM0NFMTNEOEY4RkY5MDc1QzEKKzoxMDMzRUYwMDBDRUVGMEEzRUZGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0NkQKKzoxMDMzRkYwMEQyRUU2NDgwOTQ4MjQwMEE5MDcyMkM3NDAyRjBBMzc0MEYKKzoxMDM0MEYwMEQyRjBDMzkwNzIyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzNTcKKzoxMDM0MUYwMEYwOTA3MjJDRTBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1QzAKKzoxMDM0MkYwMDgzRTA5MDcyMDJGMDkwNzIwNEUwRkYyNEZENjAyRDI0N0YKKzoxMDM0M0YwMEZFNjAyOTI0MDMyNEZCNTAwNDYwMjE4MDQwOTA3MjAyMTcKKzoxMDM0NEYwMEUwRkU3NDIwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDI4Q0IKKzoxMDM0NUYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwODAyMTkwNzIwMkUwNDQKKzoxMDM0NkYwMEZGOTA3MjA0RTBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGQTAKKzoxMDM0N0YwMEYwNzQzODJFRjU4MkU0MzQ4MEY1ODNFRkYwOTA3MjM5RDIKKzowQjM0OEYwMEUwMDRGMEUwNjQwQTYwMDI0MUM3MjI4NAorOjEwMzQ5QTAwOTA3NjE4RTBGRkI0MDUyMzkwNzIzN0UwNzAxRDkwNzU5RQorOjEwMzRBQTAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA2NAorOjEwMzRCQTAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI0NQorOjEwMzRDQTAwQzE5MTkwNzIzNkUwNjAwMkMxOTE5MDc2NDBFMDcwMzEwRAorOjEwMzREQTAwOTA3MjAzNzQwM0YwOTA3MjAzRTBGRjc1RjAwQUE0MjQ1QgorOjEwMzRFQTAwQUFGNTgyRTQzNDc1RjU4M0UwRkU5MDcyMjlFMEZERUVEOAorOjEwMzRGQTAwNkQ2MDBFRUZDMzk0MEE1MDA4OTA3MjAzRTAwNEYwODBFNgorOjEwMzUwQTAwRDU5MDcyMzk3NDA0RjA5MDc2NDBFMDcwMDg5MDcyMDM5NgorOjEwMzUxQTAwRTA5MDcyMzlGMDkwNzIzOUUwRkQyNEZFOTA3MjJBRjA0MAorOjEwMzUyQTAwRUQ3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0UwRkY2NQorOjEwMzUzQTAwN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjAyNzRBNAorOjEwMzU0QTAwODBGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MDA0OTA1QQorOjEwMzU1QTAwNzIwMkYwRUY0RTcwMDJDMTFCRUY2NDgwNEU3MDAyQzExRQorOjEwMzU2QTAwMUJFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjBFRDc1RjAyRQorOjEwMzU3QTAwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwRkY5MDcyMDI2NAorOjEwMzU4QTAwRjA5MDc1MERFMDJGRjA5MDc1MENFMDM0MDBGMEUwRkUzRAorOjEwMzU5QTAwQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOUY4RDMxMjM3OTVCMAorOjEwMzVBQTAwNDAwQTkwNzUwQzc0QTVGMEEzNzRENkYwOTA3NTBERTBERQorOjEwMzVCQTAwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMEZFQTNFMDc4MDU3NgorOjEwMzVDQTAwQ0VBMkU3MTNDRTEzRDhGOEZGOTA3NTBDRUVGMEEzRUY1NgorOjEwMzVEQTAwRjA5MDcyMkNFRUYwQTNFRkYwRDM5NEQyRUU2NDgwOTRDNAorOjEwMzVFQTAwODI0MDBBOTA3MjJDNzQwMkYwQTM3NEQyRjBDMzkwNzJEMworOjEwMzVGQTAwMkNFMDY0ODA5NDgwNTAwNEU0RjBBM0YwOTA3MjJDRTBGNAorOjEwMzYwQTAwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNTgzRTA5MDcyMDI2QQorOjEwMzYxQTAwRjA5MDcyMkFFMEZGMjRGRDYwMkQyNEZFNjAyOTI0MDMyNQorOjEwMzYyQTAwMjRGQjUwMDQ2MDIxODA0MDkwNzIwMkUwRkU3NDIwMkYzNworOjEwMzYzQTAwRjU4MkU0MzQ4MEY1ODNFRUYwNzQyODJGRjU4MkU0MzRDMQorOjEwMzY0QTAwODBGNTgzRUVGMDgwMjE5MDcyMDJFMEZGOTA3MjJBRTAwQQorOjEwMzY1QTAwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkYwNzQzODJFRjVEOQorOjEwMzY2QTAwODJFNDM0ODBGNTgzRUZGMDkwNzY0MEUwNzAwNjkwNzI0MQorOjEwMzY3QTAwMzk3NDBBRjA5MDcyMzlFMDA0RjBFMEMzOTQwQTUwMDJGNworOjA4MzY4QTAwQTExMUU0OTA3NjQwRjAyMjRBCis6MTAzNjkyMDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMjM2Cis6MDkzNkEyMDBFMzIyODk4MjhBODNFNDkzMjI2OQorOjEwMzZBQjAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTBENAorOjEwMzZCQjAwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjIxRQorOjBEMzZDQjAwRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjIzOAorOjEwMzZEODAwQzJENUVDMzBFNzA5QjJENUU0QzM5REZERTQ5Q0ZDRUUwRAorOjEwMzZFODAwMzBFNzE1QjJENUU0QzM5RkZGRTQ5RUZFMTIzODFGQzMyRQorOjEwMzZGODAwRTQ5REZERTQ5Q0ZDODAwMzEyMzgxRjMwRDUwN0MzRTQyOQorOjA2MzcwODAwOUZGRkU0OUVGRTIyN0IKKzoxMDM3MEUwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwRjkKKzoxMDM3MUUwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFRDYKKzoxMDM3MkUwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzMUMKKzowODM3M0UwMEU5OTNGNUYwQTNFOTkzMjJFMQorOjEwMzc0NjAwRTg4RkYwQTRDQzhCRjBBNDJDRkNFOThFRjBBNDJDRkMyMgorOjEwMzc1NjAwOEFGMEVEQTQyQ0ZDRUE4RUYwQTRDREE4RjA4QkYwQTRBMAorOjEwMzc2NjAwMkRDQzM4MjVGMEZERTk4RkYwQTQyQ0NEMzVGMEZDRUJGRgorOjEwMzc3NjAwOEVGMEE0RkVBOUYwRUI4RkYwQTRDRkM1RjAyRUNEMzlDNAorOjBGMzc4NjAwRkVFNDNDRkNFQUE0MkRDRTM1RjBGREU0M0NGQzIyMzEKKzoxMDM3OTUwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEVDNjQ4MEM4QUIKKzowNjM3QTUwMDY0ODA5ODQ1RjAyMjRCCis6MTAzN0FCMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDc0Cis6MDEzN0JCMDAyMkVCCis6MEMzN0JDMDBFQ0YwQTNFREYwQTNFRUYwQTNFRkYwMjI4MAorOjEwMzdDODAwQTg4Mjg1ODNGMEQwODNEMDgyMTIzN0RGMTIzN0RGMTJDOAorOjEwMzdEODAwMzdERjEyMzdERkU0NzNFNDkzQTNDNTgzQzVGMEM1ODNFRAorOjEwMzdFODAwQzhDNTgyQzhGMEEzQzU4M0M1RjBDNTgzQzhDNTgyQzg0QgorOjAxMzdGODAwMjJBRQorOjEwMzdGOTAwRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM1RgorOjEwMzgwOTAwOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjA3MgorOjA2MzgxOTAwRUZBM0EzQTM4MERGNzIKKzoxMDM4MUYwMEJDMDAwQkJFMDAyOUVGOERGMDg0RkZBREYwMjJFNENDOEQKKzoxMDM4MkYwMEY4NzVGMDA4RUYyRkZGRUUzM0ZFRUMzM0ZDRUU5REVDNTYKKzoxMDM4M0YwMDk4NDAwNUZDRUU5REZFMEZENUYwRTlFNENFRkQyMkVEOUMKKzoxMDM4NEYwMEY4RjVGMEVFODQyMEQyMUNGRUFERjA3NUYwMDhFRjJGRTYKKzoxMDM4NUYwMEZGRUQzM0ZENDAwNzk4NTAwNkQ1RjBGMjIyQzM5OEZERDcKKzowNTM4NkYwMDBGRDVGMEVBMjI3NAorOjEwMzg3NDAwRTQ5MDc2MjlGMDkwNzYyOUUwRkY3NUYwMEZBNDI0NDJCNQorOjEwMzg4NDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRBNworOjEwMzg5NDAwNjAwRUVGQzM5NDA2NTAwODkwNzYyOUUwMDRGMDgwRDVCQQorOjEwMzhBNDAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEYwNgorOjEwMzhCNDAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyQUYwMjQ1QgorOjEwMzhDNDAwQkY3MDAyNDE0MTI0RTA3MDAyNDExMjI0MjE2MDAyNDE5MAorOjEwMzhENDAwM0E5MDdGRTlFMDI0RkU2MDdEMTQ3MDAyMjFCMjI0MDI1NAorOjEwMzhFNDAwNjAwMjQxMEExMjE3NTE5MDc2NDJFMEZDQTNFMEZEQTM2NgorOjEwMzhGNDAwRTBGRUEzRTBGRjkwNzYyOUUwNzVGMDBGQTQyNDQzRjVFMQorOjEwMzkwNDAwODJFNDM0NzVGNTgzMTIzN0JDOTA3NjE5RTBGRkI0MDE3NAorOjEwMzkxNDAwMTI5MDc2N0M3NDY3RjA5MDc2N0Q3NDA2RjA5MDc2N0VEMworOjEwMzkyNDAwNzQwQkYwRUZCNDAyMEZFNDkwNzY3Q0YwOTA3NjdERjBBNworOjEwMzkzNDAwOTA3NjdFNzQwQ0YwRUZCNDAzMEZFNDkwNzY3Q0YwOTBGNAorOjEwMzk0NDAwNzY3REYwOTA3NjdFNzQxOEYwOTA3NjFBNzQwMUYwMTJGOQorOjEwMzk1NDAwM0U4RjEyMTgwMDIyOTA3RUMyRTBGRkU0RkNGREZFRkJDNQorOjEwMzk2NDAwRkE3OTAxRjgxMjM3NDZDOEVDQzhDOUVEQzlDQUVFQ0FEQgorOjEwMzk3NDAwQ0JFRkNCOTA3RUMxRTBGRUU0RkNGRDJCRkJFQTNFRkFFQworOjEwMzk4NDAwRUQzOUY5RUMzOEY4OTA3RUMwRTBGRkU0RkVFQjJGRkY1MAorOjEwMzk5NDAwRUUzQUZFRUQzOUZERUMzOEZDOTA3NjI5RTA3NUYwMEYzNworOjEwMzlBNDAwQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QkMyMjkwN0U1MworOjEwMzlCNDAwQzJFMEZGRTRGQ0ZERkVGQkZBNzkwMUY4MTIzNzQ2QzhDOQorOjEwMzlDNDAwRUNDOEM5RURDOUNBRUVDQUNCRUZDQjkwN0VDMUUwRkUwQworOjEwMzlENDAwRTRGQ0ZEMkJGQkVBM0VGQUVEMzlGOUVDMzhGODkwN0U3NQorOjEwMzlFNDAwQzBFMEZGRTRGRUVCMkZGRkVFM0FGRUVEMzlGREVDMzhDQworOjEwMzlGNDAwRkM5MDc2MjlFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzUyRAorOjEwM0EwNDAwRjU4MzEyMzdCQzIyOTA3RkI0RTA0NDAxRjAyMjkwN0YwQQorOjEwM0ExNDAwRTlFMDE0NzAxOTkwN0VDMEUwRkY5MDc2MjlFMDc1RjAxQgorOjEwM0EyNDAwMEZBNDI0NEZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFMAorOjBFM0EzNDAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjlGCis6MTAzQTQyMDBFNDkwNzYzNUYwOTA3NjM1RTBGRkMzOTQwMzQwMDI0MTZFCis6MTAzQTUyMDBGRkVGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1ODNFRjJBCis6MTAzQTYyMDBGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFNDMzCis6MTAzQTcyMDBGMEVGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM3NDkyCis6MTAzQTgyMDBGMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzA1Cis6MTAzQTkyMDA3NEZGRjBFRjc1RjAwQUE0MjRBRUY1ODJFNDM0NzVGNUY0Cis6MTAzQUEyMDA4M0U0RjBFRjc1RjAwQUE0MjRBRkY1ODJFNDM0NzVGNUVGCis6MTAzQUIyMDA4Mzc0ODBGMEVGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUMzCis6MTAzQUMyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUNECis6MTAzQUQyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUJDCis6MTAzQUUyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUFCCis6MTAzQUYyMDBGNTgzNzQwMUYwOTA3NjM1RTAwNEYwNDE0NzkwNzYzQzBFCis6MTAzQjAyMDA3NDBBRjBFNEEzRjA5MDc2MzU3NDAzRjA5MDc2M0NFMDBBCis6MTAzQjEyMDBGRjkwNzYzNUUwRkVDMzlGNDAwMjYxRDI5MDc2M0RFMDkxCis6MTAzQjIyMDBGRjA0RjBFRTc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNUQ4Cis6MTAzQjMyMDA4M0VGRjBFRTc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTU4Cis6MTAzQjQyMDA4M0U0RjBFRTc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTUyCis6MTAzQjUyMDA4Mzc0NUVGMEVFNzVGMDBBQTQyNEFERjU4MkU0MzQ3NTQ4Cis6MTAzQjYyMDBGNTgzNzRCQUYwRUU3NUYwMEFBNDI0QUVGNTgyRTQzNDVCCis6MTAzQjcyMDA3NUY1ODM3NDA1RjBFRTc1RjAwQUE0MjRBRkY1ODJFNEJFCis6MTAzQjgyMDAzNDc1RjU4Mzc0ODBGMEVFNzVGMDBBQTQyNEIwRjU4MkUyCis6MTAzQjkyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIxRjU4MkZECis6MTAzQkEyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIyRjU4MkVDCis6MTAzQkIyMDBFNDM0NzVGNTgzNzQxNUYwRUU3NUYwMEFBNDI0QjNGNUI4Cis6MTAzQkMyMDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM1RTAwNEYwNjEwRTFBCis6MDEzQkQyMDAyMkQwCis6MTAzQkQzMDBFNDkwNzYzNkYwRTBGQjc1RjAwRkE0MjQ0MUY1ODJFNDFGCis6MTAzQkUzMDAzNDc1RjU4Mzc0NDBGMEVCNzVGMDBGQTQyNDQyRjU4MjJECis6MTAzQkYzMDBFNDM0NzVGNTgzNzQwQUYwRUI3NUYwMEZBNDI0NDNGNUYwCis6MTAzQzAzMDA4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMEQ5Cis6MTAzQzEzMDAwRkE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMEY2Cis6MTAzQzIzMDBBQzQ0RUI3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0IzCis6MTAzQzMzMDAxMjM3QzgwMDAxNzcwMDkwNzYzNkUwMDRGMEUwRkI3NTk4Cis6MTAzQzQzMDBGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQwRjBFQjVFCis6MTAzQzUzMDA3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0OENGMDc3Cis6MTAzQzYzMDBFQjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzMTIzNzIyCis6MTAzQzczMDBDODAwMDBBQzQ0RUI3NUYwMEZBNDI0NDdGNTgyRTQzNDhDCis6MTAzQzgzMDA3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMDBGQTQyNDFDCis6MTAzQzkzMDA0QkY1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMTc3MDA5MDQxCis6MTAzQ0EzMDA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNERBCis6MTAzQ0IzMDAzNDc1RjU4Mzc0NDBGMEVGNzVGMDBGQTQyNDQyRjU4MjU4Cis6MTAzQ0MzMDBFNDM0NzVGNTgzNzQ4RkYwOTA3NjM2RTAwNEYwRTBGRjBBCis6MTAzQ0QzMDA3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDFGMDQzCis6MTAzQ0UzMDBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4NEYwCis6MTAzQ0YzMDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTcwCis6MTAzRDAzMDA4MkU0MzQ3NUY1ODM3NDYxRjBFRjc1RjAwRkE0MjQ0MkY3Cis6MTAzRDEzMDBGNTgyRTQzNDc1RjU4Mzc0ODFGMDkwNzYzNkUwMDRGMDJGCis6MTAzRDIzMDBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQ0Cis6MTAzRDMzMDA2MUYwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4MzQ2Cis6MDQzRDQzMDA3NDAxRjAyMkY1Cis6MTAzRDQ3MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMEY2Cis6MTAzRDU3MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkIxCis6MTAzRDY3MDBDMEUwOTA3RkEyRTA5MDc2N0ZGMDkwN0Y3NEUwOTA3NjNECis6MTAzRDc3MDA4N0YwOTA3Rjc1RTA5MDc2ODhGMDkwN0Y5OEUwNDQwMjE2Cis6MTAzRDg3MDBGMDkwNzY5NkUwRkYyMEUxMEM0NDAyRjA5MDgwMDNGMDdCCis6MTAzRDk3MDBEMjMyMTI0QUM0OTA3NjdGRTAyMEUyNTA5MDc2ODdFMEQ0Cis6MTAzREE3MDBGRUEzRTA3QzAwMjQwMEY1MzRFQzNFRjUzMzkwNzY5OEQyCis6MTAzREI3MDBFMEZEQUUzM0FGMzQxMjM2RDg5MDc2ODdFRkYwRDIyRkNFCis6MTAzREM3MDAzMDMxMjkyMDNGMjZDMjMxOTA3Rjk0RTA1NENGRjA5MEM0Cis6MTAzREQ3MDA3RjlBRTAzMEU0MDREMjJEQzIyQzkwN0Y5QUUwMjBFNTUwCis6MTAzREU3MDAwNEMyMkREMjJDOTA3Rjk0RTA0NDMwRjAxMjRBNTAxMjM2Cis6MTAzREY3MDAxQjA0MzAyRjEyMTI0MjE2QzIyRjc1RTgwMTEyMTY4QUMxCis6MTAzRTA3MDA3NUU4MEREMjJCODAwNTc1RTgwMUMyMkIyMDJCMzQ5MDY1Cis6MTAzRTE3MDA3NjE5RTBGRkI0MDEwRTkwNzY3Qzc0NjdGMEEzNzQwNjAwCis6MTAzRTI3MDBGMEEzNzQwQkYwRUZCNDAyMEI5MDc2N0NFNEYwQTNGMEYwCis6MTAzRTM3MDBBMzc0MENGMEVGQjQwMzBCOTA3NjdDRTRGMEEzRjBBMzJCCis6MTAzRTQ3MDA3NDE4RjA3NUNBRDM3NUNCRkVEMkNBMzAzNDA0QzIzNEE1Cis6MTAzRTU3MDA4MDAyRDIzNDUzOTFFRjkwN0ZBQjc0MDJGMEYwOTA3RkUxCis6MTAzRTY3MDA5OEUwNTRGREYwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEQ4Cis6MTAzRTc3MDBGQ0QwRTBGQkQwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDI5Cis6MDgzRTg3MDA4MkQwODNEMEYwRDBFMDMyQkMKKzoxMDNFOEYwMDkwNzY5MkUwMTQ2MDFEMTQ3MDAyRTE0NDI0MDI2MDAyRTcKKzoxMDNFOUYwMEUxRDQ5MDc2OTQ3NDAxRjA5MDgwMDBGMEU0OTA3NjhFRTcKKzoxMDNFQUYwMEYwRDIzMTIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RkYyM0IKKzoxMDNFQkYwMEYwOTA3RkYzNzQzMEYwOTA3RkZGNzRGQ0YwOTA3Njk3NjIKKzoxMDNFQ0YwMEUwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkYwRUUKKzoxMDNFREYwMDkwN0ZGMzc0MzRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwNEUKKzoxMDNFRUYwMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDkwMkIKKzoxMDNFRkYwMDdGRjM3NDY0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDQ0NEEKKzoxMDNGMEYwMDA0RjA5MDc2OTRFMDQ0MDFGMDkwODAwMEYwMzAzRjA5ODcKKzoxMDNGMUYwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwOUEKKzoxMDNGMkYwMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA0RjA5MDc2RjcKKzoxMDNGM0YwMDhFNzQwMUYwMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGOUMKKzoxMDNGNEYwMEYyRjA5MDdGRjM3NDQ0RjA5MDdGRkY3NEZDRjA5MDc2NjIKKzoxMDNGNUYwMDk3RTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyQjYKKzoxMDNGNkYwMEYwOTA3RkYzNzQ0Q0YwOTA3RkZGNzRGQ0YwOTA3Njk3OTUKKzoxMDNGN0YwMEUwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwNEEKKzoxMDNGOEYwMDkwN0ZGMzc0OTRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwM0QKKzoxMDNGOUYwMDQ0MDRGMDkwNzY5NEUwNTRGRUYwOTA4MDAwRjAzMDNGQUYKKzoxMDNGQUYwMDA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjEKKzoxMDNGQkYwMEYwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDZGMDkwRUIKKzowNjNGQ0YwMDc2OEU3NDAyRjAyMjYwCis6MTAzRkQ1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDJGMDE1Cis6MTAzRkU1MDA5MDdGQzdFMEY1MTE3NTBGMDA3NTBEMDBEMjMzRDA4MkIzCis6MDUzRkY1MDBEMDgzRDBFMDMyOTIKKzowNjNGRkEwMDEyNEFDNEMyMzEyMjhDCis6MTA0MDAwMDBFNTExRDM5NDAwNTAwMjIxMDY5MDc2ODlFMEMzOTQwODBDCis6MTA0MDEwMDA0MDAyMjEwNjc0NDAyNTBGRjU4MkU0MzQ3RUY1ODNFMEVBCis6MTA0MDIwMDBGNTE3RTUwRDYwMEU5MDgwMDVFNTE3RjA5MDc2ODlFMEI0Cis6MTA0MDMwMDAwNEYwMDFEQUU1MTcxMjM3Rjk0MEMxMDI0MDY3MDU0MDg0Cis6MTA0MDQwMDA3QTA2NDA5ODA3NDBDMTBDNDBDMTBENDBDNzBGNDBDQkQ1Cis6MTA0MDUwMDBGNjQwQ0JGODQwQ0JGQTQwQ0JGQjQwQ0JGQzQwQ0JGRTRDCis6MTA0MDYwMDA0MENCRkYwMDAwNDBEQTkwN0U0MUUwOTA4MDA1RjA5MDY4Cis6MTA0MDcwMDA3Njg5RTAwNEYwNzUxMTAxODA2MDkwN0U0MUUwOTA4MEM3Cis6MTA0MDgwMDAwNUYwOTA3RTQyRTA5MDgwMDVGMDkwNzY4OUUwMDRGMEEzCis6MTA0MDkwMDBFMDA0RjA3NTExMDE4MDQyOTA3RTQxRTA5MDgwMDVGMENGCis6MTA0MEEwMDA5MDdFNDJFMDkwODAwNUYwOTA3RTQzRTA5MDgwMDVGMEE1Cis6MTA0MEIwMDA5MDc2ODlFMDA0RjBFMDA0RjBFMDA0RjA3NTExMDE4MEVFCis6MTA0MEMwMDAxOUQyM0JEMjNDODAxM0QyM0I4MDBGOTA4MDA1RTUxNzdDCis6MTA0MEQwMDBGMDkwNzY4OUUwMDRGMDc1MTEwMTIwM0IwNDA1MEQ4MDE1Cis6MTA0MEUwMDAxRjMwM0MxQzkwN0U0MUUwOTA4MDA1RjA5MDdFNDJFMEM1Cis6MTA0MEYwMDA5MDgwMDVGMDkwNzY4OUUwMDRGMEUwMDRGMDc1MTEwMUZECis6MTA0MTAwMDAwNTBGMTUxMTAxMDBFNTExNzAxMEMyMzNGNTBERjUwRjAzCis6MEI0MTEwMDA5MDdGQzc3NDA0RjBDMjNCQzIzQzIyNDkKKzoxMDQxMUIwMDkwNzY4REUwNjQwMTcwMjczMDI3MDhDMjI3MTIwODAwQzMKKzoxMDQxMkIwMDEyMTc0QTMwMjgwOEMyMjgxMjM4NzQxMjE3NEEzMDJBM0MKKzoxMDQxM0IwMDBFRTQ5MDc2OERGMEMyMkE5MDdGQjRFMDQ0MDJGMDkwQUEKKzoxMDQxNEIwMDc2M0ZFMEI0MDEwNUU0RjAxMjMyNkY5MDc2NDFFMEI0QjMKKzoxMDQxNUIwMDAxMDVFNEYwMTIzNDlBOTA3NjQwRTBCNDAxMDMxMjM0NzYKKzoxMDQxNkIwMDlBOTA3RjlCRTAyMEU0MDJDMjNGOTA3RjlCRTAzMEU0N0IKKzoxMDQxN0IwMDAyRDIzRjkwN0Y5QkUwMjBFNTAyQzIzRTkwN0Y5QkUwMDYKKzoxMDQxOEIwMDMwRTUwMkQyM0VBMjQxMzAzRjAxQjM1MDFGQTIzRjkyMTUKKzoxMDQxOUIwMDQxMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3NzgKKzoxMDQxQUIwMEUwNDQwMUYwOTA3Njk3RTA5MDgwMDJGMDMwM0YzNDkwM0QKKzoxMDQxQkIwMDc2MTlFMEZGQjQwMTBFOTA3NjdDNzQ2N0YwQTM3NDA2NTkKKzoxMDQxQ0IwMEYwQTM3NDBCRjBFRkI0MDIwQkU0OTA3NjdDRjBBM0YwNDkKKzoxMDQxREIwMEEzNzQwQ0YwRUZCNDAzMEJFNDkwNzY3Q0YwQTNGMEEzODQKKzoxMDQxRUIwMDc0MThGMEEyNDAzMDNFMDFCMzUwMUZBMjNFOTI0MDMwRjMKKzoxMDQxRkIwMDNFMDk5MDc2OTVFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0NjQKKzowQjQyMEIwMEZCRjA5MDc2OTVFMDkwODAwMUYwMjIxRgorOjEwNDIxNjAwOTA3NjE5RTA2NDAxNzAzNTkwNzY4N0UwRkZEMzk0MkQ4RgorOjEwNDIyNjAwNDAyQjkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDMxQQorOjEwNDIzNjAwOTQwRjQwMTlFNEYwRUZEMzk0MzE0MDA4OTA3NjE5NzQ0NgorOjEwNDI0NjAwMDNGMDgwMDY5MDc2MTk3NDAyRjAxMjNFOEY5MDc2MTk2QworOjEwNDI1NjAwRTBCNDAyMkM5MDc2ODdFMEZGQzM5NDJGNTAyMkVGRDM3MAorOjEwNDI2NjAwOTQyQTQwMUM5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBERQorOjEwNDI3NjAwRTBEMzk0MEY0MDBBRTRGMDkwNzYxOTA0RjAxMjNFOEZEMgorOjEwNDI4NjAwOTA3NjE5RTBCNDAyMjY5MDc2ODdFMEQzOTQzMTQwMURFQgorOjEwNDI5NjAwOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY3MgorOjEwNDJBNjAwNDAwQkU0RjA5MDc2MTk3NDAzRjAxMjNFOEY5MDc2MTk2NQorOjEwNDJCNjAwRTA2NDAzNzAzRjkwNzY4N0UwRkZDMzk0NUY1MDM1OTBDQgorOjEwNDJDNjAwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNDA5MgorOjEwNDJENjAwMjNFNEYwRUZDMzk0MkY1MDBDRUZEMzk0MkE0MDA2OTBCQQorOjEwNDJFNjAwNzYxOTc0MDFGMEVGRDM5NDJGNDAwNjkwNzYxOTc0MDI3NAorOjEwNDJGNjAwRjAxMjNFOEY5MDc2ODZFMDcwMDU5MDc2ODVGMDIyRTQ4NworOjA1NDMwNjAwOTA3Njg2RjAyMjE0Cis6MTA0MzBCMDBFNDkwNzY5NkYwOTA4MDAzRjA5MDdGRTA3NDkwRjA5MEJDCis6MTA0MzFCMDA3RkUxNzQwNEYwRTQ5MDdGRERGMDkwN0ZBMUYwNTM4RTg5Cis6MTA0MzJCMDBGODc1ODgwNTc1QjgyMDc1RjgwMTQzOEUzMEY1Qzg3NTlBCis6MTA0MzNCMDBDQTdGNzVDQkY4NDNBODIwMTIwNzRBQzIyQ0MyMkRDMkU0Cis6MTA0MzRCMDAyQkMyMkY5MDdGRkM3NERERjA5MDdGRkY3NEZGRjA5MEY5Cis6MTA0MzVCMDA3Rjk3RTA0NDAxRjA5MDc2MTk3NDAxRjBFNDkwNzY4NTM0Cis6MTA0MzZCMDBGMEEzRjA5MDc2ODFGMDkwNzY4MEYwMTI0OTU4MTIwRkZFCis6MTA0MzdCMDBDNjEyNEE4RDkwN0Y5N0UwNDQwOEYwRTA1NEI5RjBEMjEyCis6MTA0MzhCMDAzMDIwMzAxODEyNDdCNDEyMzAwMDEyNDAwMDEyNDIxNjdGCis6MTA0MzlCMDAxMjRBNTAxMjFCMDQxMjE2NjExMjQyMTZDMjJGQzIzMTVFCis6MTA0M0FCMDBDMjMyQzIzNEMyMzNDMjI5QzIyN0MyMjhFNEY1MTE5MEVCCis6MTA0M0JCMDA3Njg5RjA5MDc2M0ZGMDkwNzY0MUYwOTA3NjQwRjA5MEQxCis6MTA0M0NCMDA3NjhBRjBBM0YwQTMwNEYwRTRBM0YwOTA3Njk5RjAyMkEwCis6MTA0M0RCMDAxMjREQTM0MDAyODFBMDkwN0ZFQkUwMjRGRTYwMUUxNERGCis6MTA0M0VCMDA2MDQ2MTQ2MDZFMTQ3MDAyODE5MTI0MDQ2MDAyODE5OUZFCis6MTA0M0ZCMDA3NDA1OTA3RkQ0RjA3NDAwOTA3RkQ1RjAyMjkwN0ZFQTAzCis6MTA0NDBCMDBFMEZGMTI0OUZGOEIyMDhBMjE4OTIyRUE0OTYwMTFDRUY1Cis6MTA0NDFCMDBFQUNFRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMkFDCis6MTA0NDJCMDA5MDdGQjRFMDQ0MDFGMDIyOTA3RkVBRTBGRjEyNDhCMEE1Cis6MTA0NDNCMDA4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRUVFOTA3RjQ5Cis6MTA0NDRCMDBENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkI0RTA0NDRBCis6MTA0NDVCMDAwMUYwMjI5MDdGRUFFMEZGOTA3RUMwRTBGREEzRTBGQjNECis6MTA0NDZCMDAxMjE3OTQ4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRTU5Cis6MTA0NDdCMDBFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkY1Cis6MTA0NDhCMDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjJECis6MDU0NDlCMDBCNEUwNDQwMUYwNTMKKzowMTQ0QTAwMDIyRjkKKzoxMDQ0QTEwMEMyQUZEMjI0OTA3RjkzNzQzMEYwOTA3RjlDNzRCQkYwQTQKKzoxMDQ0QjEwMDkwN0Y5NkUwNDQzMEYwRTA1NDMwRjA5MDdGOTQ3NDMwNzcKKzoxMDQ0QzEwMEYwOTA3RjlENzRDRkYwOTA3Rjk3NzRBMEYwOTA3Rjk1Q0UKKzoxMDQ0RDEwMDc0QzBGMDkwN0Y5RTc0MDNGMDkwN0Y5OUUwMzBFMjA5MDAKKzoxMDQ0RTEwMDkwMDUxOTc0QTBGMEU0QTNGMEMyMjVDMjIyQzIyM0MyMzAKKzoxMDQ0RjEwMDI2MTI0QUM0MTIyREE5MTIzQkQzMTI0NTU5MTIzQTQyMkYKKzoxMDQ1MDEwMDkwNzY2ODc0MDFGMDcwMEYxMjRCQkIxMjA3RkUxMjREQ0EKKzoxMDQ1MTEwMEExMTIxQjQwMTIxNDk2MTI0MzBCOTA3RkFGRTA0NDAxOEQKKzoxMDQ1MjEwMEYwOTA3RkFFRTA0NDFGRjA5MDdGQUM3NEZGRjA5MDdGN0QKKzoxMDQ1MzEwMEFERjA5MDdGREVGMDkwN0ZERkYwOTA3RkFCRjA5MDdGNjkKKzoxMDQ1NDEwMEE5RjA5MDdGQUFGMDUzOTFFRjQzRDgyMEQyRTg0M0Q4NDUKKzowODQ1NTEwMDIwNTNBOEEwNDNBODgwMjIxQQorOjEwNDU1OTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRBNgorOjEwNDU2OTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTRBMAorOjEwNDU3OTAwMzQ3NUY1ODM3NDAxRjA5MDc2MzZFMDA0RjBFMEZGNzU0OAorOjEwNDU4OTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzU4MQorOjEwNDU5OTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwMkYwOTBCMgorOjEwNDVBOTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRFNgorOjEwNDVCOTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTQ1MAorOjEwNDVDOTAwMzQ3NUY1ODM3NDAzRjA5MDc2MzZFMDA0RjBFMEZGNzVGNgorOjEwNDVEOTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzUzMQorOjEwNDVFOTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwNEYwMjJDRQorOjBDNDVGOTAwNzg3RkU0RjZEOEZENzU4MTM4MDI0NjQwNUEKKzoxMDQ2MDUwMDAyNDc1QUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMkEKKzoxMDQ2MTUwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQjYKKzoxMDQ2MjUwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGODUKKzoxMDQ2MzUwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBDOEZFNDdFN0EKKzoxMDQ2NDUwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzN0EKKzoxMDQ2NTUwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzNDEKKzoxMDQ2NjUwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBNkMKKzoxMDQ2NzUwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFMjQKKzoxMDQ2ODUwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxRDE0NjAyQTE0QUUKKzoxMDQ2OTUwMDYwMzcxNDYwNDQyNDA0NzA1MDkwNzY5MUUwOTA3RjAwNTgKKzoxMDQ2QTUwMEYwOTA3RkI1NzQwMUYwODA0NzkwNzY5MkUwOTA3RjAwOUUKKzoxMDQ2QjUwMEYwOTA3RkI1NzQwMUYwODAzNzkwNzY5MEUwOTA3RjAwQTAKKzoxMDQ2QzUwMEYwOTA3RkI1NzQwMUYwODAyNzkwNzY4NEUwOTA3RjAwQUMKKzoxMDQ2RDUwMEYwOTA3RkI1NzQwMUYwODAxNzkwNzY5M0UwOTA3RjAwOUQKKzoxMDQ2RTUwMEYwOTA3RkI1NzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwNEQKKzowMjQ2RjUwMEQzMjJDRQorOjEwNDZGNzAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTAzRAorOjEwNDcwNzAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZGNworOjEwNDcxNzAwQzBFMEMyQ0FDMkNGOTA3Rjk4RTA0NDAxRjAzMDJFMDNCOAorOjEwNDcyNzAwMTIxNEE2OTA3Rjk4RTA1NEZFRjA1M0E4RkExMjE2NjE2RgorOjEwNDczNzAwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEZDRDBFMEZCRDA0MQorOjEwNDc0NzAwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDgyRDA4M0QwRjAzMgorOjAzNDc1NzAwRDBFMDMyN0QKKzoxMDQ3NUEwMEU0OTA3NjY2RjAxMjQ0QTEyMDI2MTM5MDc2NjZFMEMzQjAKKzoxMDQ3NkEwMDk0MDI1MDBBRTAwNEYwRDI0MjEyNEFGNjgwRUEzMDI2NTUKKzoxMDQ3N0EwMDA1MTIyODAxQzIyNjMwMjUyQjkwNzY5NkUwNTRGQ0YwQ0IKKzoxMDQ3OEEwMDkwODAwM0YwMTIxNDk2OTA3Njk2RTA0NDAzRjA5MDgwOUQKKzoxMDQ3OUEwMDAzRjBFNDkwNzY2N0YwOTA3NjY3RTAwNEYwRTBCNDRCQkIKKzowQTQ3QUEwMEY2MTIzRkZBMTI0MTFCODBDNTIyRUYKKzoxMDQ3QjQwMEU0OTA3NjlCRjA5MDc2OUJFMEZGMDRGMEVGNjAwOEUwRDUKKzoxMDQ3QzQwMDI0MDhGOEU0RjY4MEVFOTA3Njk2RTA1NEZCRjA1NEY3NzMKKzoxMDQ3RDQwMEYwOTA4MDAzRjBFNEY1MThEMjM1RjUwRUY1MTBEMjM2REEKKzoxMDQ3RTQwMDc1MTIxMTc1MTMyMkMyMzdDMjM5QzIzOEY1MTZGNTE0ODEKKzowQjQ3RjQwMEY1MUFGNTBEQzIzQkMyM0NDMjNEMjI4RAorOjEwNDgwMDAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDE3MTQ2MDIxMTQ0MAorOjEwNDgxMDAwNjAyQjE0NjAzMjI0MDQ3MDM4OTA3RkVBRTA5MDc2OTEyNworOjEwNDgyMDAwRjA4MDM1OTA3RkVBRTA5MDc2OTJGMDEyM0U4RjgwMjhGQgorOjEwNDgzMDAwOTA3RkVBRTA5MDc2OTBGMDEyMTgwMDgwMUI5MDdGRUE1QgorOjEwNDg0MDAwRTA5MDc2ODRGMDgwMTE5MDdGRUFFMDkwNzY5M0YwODA5QgorOjBBNDg1MDAwMDc5MDdGQjRFMDQ0MDFGMEQzMjI4QQorOjEwNDg1QTAwRTQ5MDc2MjZGMDkwNzYyNkUwRkY3NUYwMDNBNDI0MzRERgorOjEwNDg2QTAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRCMQorOjEwNDg3QTAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNkUwMDRGMDgwRDVDOQorOjEwNDg4QTAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDMxRQorOjEwNDg5QTAwQTQyNDMyRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTAyOQorOjA2NDhBQTAwN0ZCNTc0MDFGMDIyNEQKKzowMjQ4QjAwMDhGMkU0OQorOjEwNDhCMjAwRTRGNTJGNzUzMEZGNzUzMTA2NzUzMkJFQUIzMEFBMzE4MworOjEwNDhDMjAwQTkzMjkwMDAwMTEyMzZBQkI0MDMxRkFGMkYwNTJGRUZCMAorOjEwNDhEMjAwNjUyRTcwMDEyMjEyMzY5MjdFMDAyOUZGRUUzQUM5RUY1MAorOjEwNDhFMjAwQzk3NTMwRkZGNTMxODkzMjgwRDI3QjAwN0EwMDc5MDBCOAorOjAxNDhGMjAwMjJBMworOjBDNDhGMzAwQzIzN0U0RjUwRUY1MTBDMjM2RjUxNDIyQjEKKzoxMDQ5MDAwMDAyMkZFNzAwMDIzRDQ3MDAwMjRENDYwMDAyNEJENTAwNTIKKzoxMDQ5MTAwMDAyNEI2MDAwMDIyRkZGMDAwMjRCRUQwMDAyNEI4MTAwQjIKKzoxMDQ5MjAwMDAyNEMwNDAwMDIzRkQ1MDAwMjRDMUIwMDAyNEMzMjAwMzYKKzoxMDQ5MzAwMDAyNEM0OTAwMDI0QzYwMDAwMjRDNzcwMDAyNEM4RTAwOTEKKzoxMDQ5NDAwMDAyNENBNTAwMDI0Q0JDMDAwMjRDRDMwMDAyNENFQTAwMTEKKzowODQ5NTAwMDAyNEQwMTAwMDI0RDE4MDBBOAorOjEwNDk1ODAwOTA3NjQ2NzQ4MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTM0QworOjEwNDk2ODAwRjBBM0YwQTNGMEEzRjBBMzc0ODBGMEU0QTNGMEEzRjAwNQorOjEwNDk3ODAwQTNGMEEzRjBBM0YwQTNGMEEzNzQ0MEYwRTRBM0YwQTM4MgorOjEwNDk4ODAwNzQ0MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTNGMEEzRjAyNQorOjEwNDk5ODAwQTM3NDQwRjBFNEEzRjBBMzc0NDBGMEU0QTNGMEEzRjAwMAorOjA1NDlBODAwQTNGMEEzRjAyMkMyCis6MTA0OUFEMDBFNDkwNzYyNUYwOTA3NjI1RTBGRjc1RjAwM0E0MjQzNDhECis6MTA0OUJEMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDVECis6MTA0OUNEMDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI1RTAwNEYwODBENTc2Cis6MTA0OUREMDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjI5MDdFQzBFMDczCis6MTA0OUVEMDBGRUVGNzVGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFRTAxCis6MDI0OUZEMDBGMDIyQTYKKzoxMDQ5RkYwMEU0RkU3NTFERkY3NTFFMDU3NTFGMTJBQjFEQUExRUE5QkUKKzoxMDRBMEYwMDFGOTAwMDAxMTIzNkFCNjQwMjcwMkZDREVFQ0QwRUVENkMKKzoxMDRBMUYwMDZGNzAwMTIyOTAwMDAyMTIzNzBFODVGMDFCRjUxQzYyOTkKKzoxMDRBMkYwMDFCRTUxQjYyMUNFNTFDNjIxQjI5RkRFNTFCM0FDOUVENEEKKzoxMDRBM0YwMEM5NzUxREZGRjUxRTg5MUY4MEMxN0IwMDdBMDA3OTAwQTMKKzowMTRBNEYwMDIyNDQKKzoxMDRBNTAwMDMwMkQzOUMyMkQ5MDc2MTlFMEZGQjQwMTBERTQ5MDc2MjcKKzoxMDRBNjAwMDdDRjBBMzc0RjhGMEEzNzQwQUYwRUZCNDAyMERFNDkwQTQKKzoxMDRBNzAwMDc2N0NGMEEzNzRGMEYwQTM3NDBCRjBFRkI0MDMwREU0QjQKKzowRDRBODAwMDkwNzY3Q0YwQTM3NEY4RjBBMzc0MTdGMDIyNzgKKzoxMDRBOEQwMEU0RkY3NDU2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDI4NDYKKzoxMDRBOUQwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ1RTJGRjU4MkU0MTkKKzoxMDRBQUQwMDM0NzZGNTgzRTBGRTc0MzgyRkY1ODJFNDM0ODBGNTgzOTcKKzowNjRBQkQwMEVFRjAwRkJGMDhDQzczCis6MDE0QUMzMDAyMkQwCis6MTA0QUM0MDBFNDkwNzIzNkYwQTNGMDkwN0Y5N0UwNTRGQkYwRTQ5MDBBCis6MTA0QUQ0MDA3MjMzRjA5MDcyMzJGMDkwNzIwMTA0RjBFNDkwNzIzMzA5Cis6MTA0QUU0MDBGMDkwNzIzMkYwOTA3MjAxMDRGMDkwN0Y5N0UwNDQwNEU5Cis6MDI0QUY0MDBGMDIyQUUKKzoxMDRBRjYwMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDQyMDRFMDQ0RjYKKzoxMDRCMDYwMDAyRjA3RkRDN0UwNTEyNEQyRjkwN0ZENkUwNTRGN0YwNDEKKzowNTRCMTYwMEUwNDQwNEYwMjI2MAorOjEwNEIxQjAwOTA3RkVCRTAxNDcwMTQ5MDdGRTlFMDI0N0Y3MDA0MTIxNworOjEwNEIyQjAwNDg1QTIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDRENQorOjAzNEIzQjAwMDFGMDIyNjQKKzoxMDRCM0UwMDkwN0ZFQkUwMTQ3MDEzOTA3RkU5RTAxNDcwMDQxMjQ5M0IKKzoxMDRCNEUwMEFEMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxQTYKKzowMjRCNUUwMEYwMjI0MworOjEwNEI2MDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwOTA4RgorOjEwNEI3MDAwNzY5NkUwNTRGREYwOTA4MDAzRjBEMDgyRDA4M0QwRTBCMAorOjAxNEI4MDAwMzIwMgorOjEwNEI4MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAxRjA1RQorOjBGNEI5MTAwQzIyOTkwNzY4RDc0MDFGMEQwODJEMDgzRDBFMDMyQUIKKzoxMDRCQTAwMDkwN0ZFQUUwOTA3NjgyRjBFNDkwNzY5MUYwOTA3NjkyQjEKKzowQjRCQjAwMEYwOTA3NjkwRjA5MDc2OTNGMEQzMjIwNgorOjEwNEJCQjAwOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMTQ3RTAwMTJDNAorOjBBNEJDQjAwNEQyRjkwN0ZENkUwNTRGRUYwMjIzQgorOjEwNEJENTAwQzBFMEMwODNDMDgyRDIyNTUzOTFFRjkwN0ZBQjc0MDhBQgorOjA4NEJFNTAwRjBEMDgyRDA4M0QwRTAzMjUxCis6MTA0QkVEMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDFGMEYzCis6MDc0QkZEMDBEMDgyRDA4M0QwRTAzMjJBCis6MTA0QzA0MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDJGMERBCis6MDc0QzE0MDBEMDgyRDA4M0QwRTAzMjEyCis6MTA0QzFCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDRGMEMxCis6MDc0QzJCMDBEMDgyRDA4M0QwRTAzMkZCCis6MTA0QzMyMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDRGMEE5Cis6MDc0QzQyMDBEMDgyRDA4M0QwRTAzMkU0Cis6MTA0QzQ5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDhGMDhGCis6MDc0QzU5MDBEMDgyRDA4M0QwRTAzMkNECis6MTA0QzYwMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDhGMDc3Cis6MDc0QzcwMDBEMDgyRDA4M0QwRTAzMkI2Cis6MTA0Qzc3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MTBGMDU5Cis6MDc0Qzg3MDBEMDgyRDA4M0QwRTAzMjlGCis6MTA0QzhFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MTBGMDQxCis6MDc0QzlFMDBEMDgyRDA4M0QwRTAzMjg4Cis6MTA0Q0E1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MjBGMDFCCis6MDc0Q0I1MDBEMDgyRDA4M0QwRTAzMjcxCis6MTA0Q0JDMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MjBGMDAzCis6MDc0Q0NDMDBEMDgyRDA4M0QwRTAzMjVBCis6MTA0Q0QzMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0NDBGMENECis6MDc0Q0UzMDBEMDgyRDA4M0QwRTAzMjQzCis6MTA0Q0VBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0NDBGMEI1Cis6MDc0Q0ZBMDBEMDgyRDA4M0QwRTAzMjJDCis6MTA0RDAxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0ODBGMDVFCis6MDc0RDExMDBEMDgyRDA4M0QwRTAzMjE0Cis6MTA0RDE4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0ODBGMDQ2Cis6MDc0RDI4MDBEMDgyRDA4M0QwRTAzMkZECis6MTA0RDJGMDA4RTM1OEYzNkU1MzYxNTM2QUUzNTcwMDIxNTM1NEU2MDM5Cis6MDc0RDNGMDAwNTEyMTQ4NTgwRUUyMjJECis6MTA0RDQ2MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA0RjBEMDczCis6MDY0RDU2MDA4MkQwODNEMEUwMzJBMAorOjEwNEQ1QzAwOTA3NjgyRTA5MDdGMDBGMDkwN0ZCNTc0MDFGMEQzMjJDMgorOjA5NEQ2QzAwQzIyNTUzRDhFRjQzRDgyMDMyRDAKKzowNzRENzUwMDUzOThGRTUzOThGRDMyMzQKKzowNzREN0MwMDUzQzBGRTUzQzBGRDMyREQKKzowNjREODMwMDUzOTFCRkQyMkQzMjU2Cis6MDY0RDg5MDA1MzkxN0ZEMjJDMzI5MQorOjA0NEQ4RjAwNTM5MURGMzIyQgorOjA0NEQ5MzAwNTNEOEY3MzJDOAorOjA0NEQ5NzAwMTIxNzMwMjI5RAorOjAzNEQ5QjAwQzI4RDMyOTQKKzowMzREOUUwMEMyOEYzMjhGCis6MDI0REExMDBEMzIyMUIKKzowMjREQTMwMEQzMjIxOQorOjAyNERBNTAwRDMyMjE3Cis6MDI0REE3MDBEMzIyMTUKKzowMjREQTkwMEQzMjIxMworOjAyNERBQjAwQzMyMjIxCis6MDAwMDAwMDFGRgorLyoKK1NvdXJjZTogRU1JNjJTRlcuSEVYCitWRVJTSU9OPTEuMDQuMDYyCitEQVRFPTE2LjEwLjIwMDIKKyovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZncuaWhleCBiL2Zpcm13YXJlL2Vzcy9tYWVzdHJvM19hc3NwX2tlcm5lbC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzM2M0YzMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZncuaWhleApAQCAtMCwwICsxLDEyMCBAQAorOjEwMDAwMDAwODA3OTMwMDA4MDc5QjQwMzgwNzlCNDAzODA3OUZCMDA3MworOjEwMDAxMDAwODA3OUREMDA4MDc5QjQwMzgwNzkzMjAzODA3OTg3MDJBQQorOjEwMDAyMDAwODA3OUI0MDM4MDc5QjQwMzgwNzlCNDAzODA3OUI0MDMxMAorOjEwMDAzMDAwODA3OTFBMDM4MDc5QjQwMzgwNzkyRjAyODA3OUI0MDMyMAorOjEwMDA0MDAwODA3OUI0MDM4MDc5QjQwMzgwNzlCNDAzODA3OUI0MDNGMAorOjEwMDA1MDAwODA3OTYzMDA4MDc5NkIwMDgwNzlCNDAzODA3OUI0MDM4MAorOjEwMDA2MDAwODBCRjdDMkMwNjg4MDQ4ODQwQkUyMEJDMDlBRTAwMTBFRQorOjEwMDA3MDAwMEFBRTAxMDAzODY5MDhFQjUzMDA1QTY5MDhFQkQ2MDA1NAorOjEwMDA4MDAwMDkwMDg4OEI4MDY5ODhFMzM2MDAzMEJFMjBCQzA5Njk4RQorOjEwMDA5MDAwMDFCODA5OTA0MUJFNDFCRTI4Njk4OEVCNzgwMDQxQkU5NQorOjEwMDBBMDAwNDBCRTgwNzkzODAwNDFCRTQxQkUzQTkwMzg2OTA4RTNDRAorOjEwMDBCMDAwNTYwMDNBOTA0MUJFNDBCRTAwRUYzQTkwMzk2OTA4RTNERAorOjEwMDBDMDAwNUUwMDNBOTAwMEVGMEI2OTBDNjY4Q0VGMEE2OTBDNjZEMworOjEwMDBEMDAwMEI2MjA5NjYwMEVGMTA2OTBGNjYwNEVGODhFMzc1MDA5NAorOjEwMDBFMDAwMEU2OTBGNjYxMDYyMEQ2NjAwRUYwRTY5MEQ2NjAwRUY3NworOjEwMDBGMDAwNzBBRTAxMDAyMEJDMjdBRTAxMDAzOTY5MDhFQjVEMDAzRAorOjEwMDEwMDAwMjY2OTAxQjgyNjkwMjYwMDg4OEI4MDY5ODhFM0NCMDA5OQorOjEwMDExMDAwMjg5MDI4MEQxMTQyMDBFMTdBMDAxMTQ3MDBFMUEwMDA2QgorOjEwMDEyMDAwODA3QTYzMDAxMUI4MEE2NjA5NjIwNEUzN0EwMDBCMEM1NgorOjEwMDEzMDAwMDU0MDBBMTAwMUJBMTI5MDEyMEMwMjQwODA3OUFGMDBGQgorOjEwMDE0MDAwODA3QTZCMDAwMkJFMEU2MjBENjYxMEJBNDRFMzdBMDAzQworOjEwMDE1MDAwMTAwQzA1NDAwRTEwMDFCQTEyOTAxMjBDMDI0MDAzMTA1MAorOjEwMDE2MDAwMDJCQTEyOTAxMjBDMDA0MDAzMTA4OEUzQkEwMDA0MTA4NworOjEwMDE3MDAwODA3OUJDMDAwNDEwMDFCQTEyOTAxMjBDMDE0MDA1MENFOQorOjEwMDE4MDAwMDM0MDA2MEMwNDQwMTExMEIwQkZGRjAxMTI5MDEyMEM4NgorOjEwMDE5MDAwMDY0MDIwQkMwMEVGMjZBRTI4MTA3MDY5RDBCRjAxMDBEOQorOjEwMDFBMDAwNzA5MDg4RTM3QTAwMjhBRTAwMDAwMEVGNzBBRTAwMDM4NAorOjEwMDFCMDAwNzAwQzBDQjA1QUFFMDAwMDAwRUY4MDdBOEEwMzdGNjlBMQorOjEwMDFDMDAwMDFCODdGOTA1NjAwODg4QkEwMEMwOEIwNzFBRjAwQjBDQQorOjEwMDFEMDAwNzE0RTAwRTJGMzAwNTZBRTU3MTA1NjAwQTAwQzA4QjA2NgorOjEwMDFFMDAwNTY4MDgwNzlBMTAzMTAwOEEwQkY1OTEwMDRFM0ExMDMzMQorOjEwMDFGMDAwNTY4MDgwNzlBMTAzODA3QThBMDMwMUJGNDNCRTU5QkUyRAorOjEwMDIwMDAwN0M5MDM3Njk4OEUzMEQwMTAxQkEwOEUzMEMwMTcxQUVGNworOjEwMDIxMDAwMDQwMDcxMEMwMDUwMzY2OTM3OTAwQUJGOUUxMDhBOEIxQgorOjEwMDIyMDAwODBBRjE0ODA4MDRDMEFCRjYwMDUwMEY1MEFCRjIwMDUyRQorOjEwMDIzMDAwMDBCOTE3QkJBMDkwMTc2OTg4RTM0ODAxMTcwRDAwRTFDQQorOjEwMDI0MDAwMjcwMTBDQkY3ODA1MERCRjdDMDU4MDc5MkIwMTBDQkYwMQorOjEwMDI1MDAwMzgwNTBEQkYzQzA1MDA2OTA4RTMzNTAxOEM4QjU5QkU5QworOjEwMDI2MDAwMDdCQkEwOTAyMEJDODA3OTU3MDEwQzAzOEI4QjAzQjk4RQorOjEwMDI3MDAwMDk4OEM2QkUzRTAxQUM2OUFCOTBBRDY5QUI5MDEzMDg2RQorOjEwMDI4MDAwMEE2NjQ0RTM0NDAxMDkwMzBDODMyMEJDODA3OTU3MDFDQQorOjEwMDI5MDAwNTU2OTg4RTM1NzAxMzg3QzBCQkY3ODA1MDBGNTBCQkYyMworOjEwMDJBMDAwMzgwNTA3QjkwOTg4QzZCRTU2MDFBQjEwQUE5MDc0NjkxMworOjEwMDJCMDAwODhFMzYzMDE3MkFFNDAwNTAwRjU3MkFFMDAwNTYxQUVFMQorOjEwMDJDMDAwM0IxMDgwN0FGNjAyNzg2OTg4RTM4MjAxOEM4QjBDQkY0MAorOjEwMDJEMDAwNjAwNTAwRTU0MDdDMTQwODIwQkExMjg4M0Q3MzgwN0FERQorOjEwMDJFMDAwODAwMzNFNzM4MDdBODAwMzhDOEIwQ0JGNkMwNTAwRTUyNQorOjEwMDJGMDAwNDA3QzE0MDgyQ0JBMTI4ODNGNzM4MDdBODAwMzQwNzNDNAorOjEwMDMwMDAwODA3QTgwMDM3NTY5ODhFMzhFMDE3MkFFNDgwNTAwRjUzNgorOjEwMDMxMDAwNzJBRTA4MDU2MUFFNDExMDgwN0FGNjAyNzk2OTg4RTMxMQorOjEwMDMyMDAwQUQwMThDOEIwQ0JGNjAwNTAwRTU0MDdDMTQwODE4QkE0OQorOjEwMDMzMDAwMTI4ODQzNzM4MDdBODAwMzQ0NzM4MDdBODAwMzhDOEJBNQorOjEwMDM0MDAwMENCRjZDMDUwMEU1NDA3QzE0MDgyNEJBMTI4ODQ1NzM4NAorOjEwMDM1MDAwODA3QTgwMDM0NjczODA3QTgwMDM3NjY5ODhFM0I5MDFFNgorOjEwMDM2MDAwNzJBRTU4MDUwMEY1NzJBRTE4MDU2MUFFNDcxMDgwN0E3RQorOjEwMDM3MDAwRjYwMjdBNjk4OEUzRDgwMThDOEIwQ0JGNjAwNTAwRTUzMgorOjEwMDM4MDAwNDA3QzE0MDgwOEJBMTI4ODQ5NzM4MDdBODAwMzRBNzM0MworOjEwMDM5MDAwODA3QTgwMDM4QzhCMENCRjZDMDUwMEU1NDA3QzE0MDhEMAorOjEwMDNBMDAwMTRCQTEyODg0QjczODA3QTgwMDM0QzczODA3QTgwMDM2RQorOjEwMDNCMDAwMjFCQzFDQUU5MDEwOEE4QjBBQkY2MDA1MDBFNTQwN0MxMgorOjEwMDNDMDAwMTIwODA0QjgxMzg4OEQ4QjBEQkY2QzA1MDBFNTQwN0NDNgorOjEwMDNEMDAwMTUwODA0QjgxMTg4ODA3QTRBMDM4QThCMEFCRjYwMDUyMQorOjEwMDNFMDAwMDBFNTQwN0MxRjczMDNCOTA5ODhDNkJFRjkwMThBNTQzMQorOjEwMDNGMDAwMDNCRUEwOTgyMDczMDNCOTA5ODhDNkJFMDEwMjhBNTRCRgorOjEwMDQwMDAwMDNCRUEwOTgyMDFGMUYyRjI2OTgyMEJDMzU2OTg4RTNDMworOjEwMDQxMDAwQTEwMzMzNjkwMUI4MzM5MEEwQkZFRTAyMDhFM0ExMDM0MgorOjEwMDQyMDAwMzM5MDAwQkY1MTY5ODhFMzFGMDIzNDczODBCRTYwNTc2OAorOjEwMDQzMDAwMDNCRTdFOUY1OUJFMzQ5MDdFNjk1MTBEMTM5MDIwQkMzRgorOjEwMDQ0MDAwNUM2OTg4RTNBMTAzNUU3MzgwQkU2MDU3MDNCRTdFOUYzNAorOjEwMDQ1MDAwNTlCRTVFOTA3RTY5NUMwRDEzOTA4MDc5QTEwMzgwN0EwRAorOjEwMDQ2MDAwOEEwMzAxQkY0M0JFNzc2OTg4RTM0RTAyNjFBRTREMTAzNworOjEwMDQ3MDAwNjEwMDg4OEI4MDY5ODhFMzRFMDI3MTkwNzEwRDBCMDBEQQorOjEwMDQ4MDAwQTBBRjEwODBBMEFGMTA4MDEwMDgwQTY2MDhFMzQ5MDJGMAorOjEwMDQ5MDAwMDkwMDEwMDgwQzY2ODhFMzRFMDIwQjgwMjBCQzdCNjlDMworOjEwMDRBMDAwODhFM0ExMDMwQUJGOUUxMDhBOEI4MEFGMTQ4MDgwNEMyMgorOjEwMDRCMDAwMDBFMTY2MDI3QzY5OTBCRjYwMDU3MjkwNzIwMzdDNjlGRQorOjEwMDRDMDAwOTBCRjY0MDU3MzkwNzMwNDgwNzk3MDAyN0M2OTkwQkY1QgorOjEwMDREMDAwMjAwNTcyOTA3MjAzN0M2OTkwQkYyNDA1NzM5MDczMDRBOQorOjEwMDRFMDAwN0M2OTAxQjg3QzkwMEFCRkZEMTA4QThCODBBRjEwODBCOAorOjEwMDRGMDAwNEY3MzhBNTQwM0JFODA5ODIxQkMyNjczOEI1NDAzQkU2RAorOjEwMDUwMDAwOEI2MThDOTgwM0JFODA2MTgwOTg4MDc5QTEwMzgwN0E4QQorOjEwMDUxMDAwOEEwMzI4MEQxMTQ3MDBFMUJFMDIxMkFGMDY0MDEyNjk5RQorOjEwMDUyMDAwQjBCRjAwMEM4OEUzQjYwMkEwQkYwMDA4ODhFM0IyMDJBNworOjEwMDUzMDAwMTI2OUIwQkYwMDBDQTBCRjAwMDQ4OEUzQTMwMjA5NjlFMAorOjEwMDU0MDAwMEI5MDgwNzlBNTAyMEJBRjA1NDAwMTY5MDU5MDAyNjkwNworOjEwMDU1MDAwMDY5MDExNDMwMEUxRUQwMjExNjlDMEJGMDAyMDExOTAyNworOjEwMDU2MDAwODA3OUVEMDIwOTY5MEI5MDgwNzlCODAyMEJBRjA1NDBFNAorOjEwMDU3MDAwMDVBRjAzNDAwNkFGMDQ0MDgwNzlFRDAyMTJBRjA2NDA5QworOjEwMDU4MDAwMTI2OUIwQkYwMDBDODhFM0U3MDJBMEJGMDAwODg4RTM0RgorOjEwMDU5MDAwRTMwMjEyNjlCMEJGMDAwQ0EwQkYwMDA0ODhFM0Q0MDJEQworOjEwMDVBMDAwMEQ2OTEwOTA4MDc5RDYwMjEwQUYwNTQwMDE2OTA1OTA2MQorOjEwMDVCMDAwMDI2OTA2OTAxMTQzMDBFMUVEMDIxMTY5QzBCRjAwMjBGRAorOjEwMDVDMDAwMTE5MDgwNzlFRDAyMEQ2OTEwOTA4MDc5RTkwMjEwQUZFOQorOjEwMDVEMDAwMDU0MDA1QUYwMzQwMDZBRjA0NDAyMEJDNzA2OTcxOTAzMAorOjEwMDVFMDAwODA3QTc4MDA3MTY5NzA5MDgwNzlBMTAzMjBCQzYxMDNFMgorOjEwMDVGMDAwOEI4QjgwNjk4OEVGNzIwMjcyMDMwNDc4NzE5MDcxMERBMQorOjEwMDYwMDAwOEE4QjBCMDAwM0I5MDk4OEM2QkUwOTAzQTg2OUFCOTBBMQorOjEwMDYxMDAwQTg2OUFBOTAxMDA4MEE2NjQ0RTMwRjAzMDkwMDEwMDhBRAorOjEwMDYyMDAwMEM2Njg4RTMxNDAzMEI4MDIwQkM2MTY5MDFCODYxOTBGQgorOjEwMDYzMDAwODA3OUY3MDI4MDdBOEEwMzM1NUQwMTAwMzQ2OTAxQjg1OAorOjEwMDY0MDAwMzQ5MDBBQkY5RTEwOEE4QjgwQUYxNDgwODA0ODcyQUVBRgorOjEwMDY1MDAwNTAwNTAwRjU3MkFFMTAwNTYxQUU1MTEwODA3QUY2MDJCOQorOjEwMDY2MDAwODA3OUExMDM4MDdBOEEwMzM1NUQwMjAwNUU2OTAxQjg1MgorOjEwMDY3MDAwNUU5MDBBQkY5RTEwOEE4QjgwQUYxNDgwODA0NzcyQUU1NgorOjEwMDY4MDAwNTgwNTAwRjU3MkFFMTgwNTYxQUU1QzEwODA3QUY2MDI2RQorOjEwMDY5MDAwODA3OUExMDMxQzAwODg4QjgwNjk4OEVGMUQ5MDFEMEQ1NworOjEwMDZBMDAwMEYxMDEwNjY4Q0UzNTgwMzBFNjkxMDY2MEY2MjBENjYxQQorOjEwMDZCMDAwMEZCQTAxRTM3QTAzMTAwNDhBOEIwM0I5MDk4OEM2QkUxNgorOjEwMDZDMDAwNkMwMzhDNkFBQTYxQUI5ODhDNkFBQjYxQUQ5ODhDNkEzQQorOjEwMDZEMDAwQUQ2MUE5OTg4QzZBQTk2MUFBOTgwNDdDOEI4QjA0N0M3MworOjEwMDZFMDAwOEQ4QjA0N0M4OThCMDQ3QzE0MDgwRTY2MDhFMzc5MDNFNworOjEwMDZGMDAwMEQwNDEwODQyMUJDMUM2OTAxQjgxQzkwODA3OTRBMDM0OAorOjEwMDcwMDAwMDNCOTA5ODg4QThCQzZCRTg4MDNBQzU0MDNCRThDNjFDQQorOjEwMDcxMDAwQUE5ODAwRUYyMEJDNDZCRTA5MDg2QjkwMEEwODZDOTBBRQorOjEwMDcyMDAwMEIwODZEOTAxQTA4NjI5MDFCMDg2MzkwMUUwODY0OTA3NQorOjEwMDczMDAwNTlCRTFFODg2NTgwNjY4MTY3ODI2ODgzNjk4NDZBODU4MAorOjEwMDc0MDAwMDBFRjIwQkM2QjY5MDk4ODZDNjkwQTg4NkQ2OTBCODhBOQorOjEwMDc1MDAwNjI2OTFBODg2MzY5MUI4ODY0NjkxRTg4NjUwMDY2MDE3RQorOjBBMDc2MDAwNjcwMjY4MDM2OTA0NkEwNTNBQkVFNworOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2Vzcy9tYWVzdHJvM19hc3NwX21pbmlzcmMuZncuaWhleCBiL2Zpcm13YXJlL2Vzcy9tYWVzdHJvM19hc3NwX21pbmlzcmMuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMmMwMDMxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZXNzL21hZXN0cm8zX2Fzc3BfbWluaXNyYy5mdy5paGV4CkBAIC0wLDAgKzEsNTEgQEAKKzoxMDAwMDAwMDgwQkYxRTEwNkU5MDZFMDA4ODhCODA2OTg4RUY2RjkwQTUKKzoxMDAwMTAwMDZGMEQwMDY5MDhFQjEyMDQyMEJDNkU2OTAxQjg2RTkwODgKKzoxMDAwMjAwMDgwNzkwMzA0MEVCOTA3ODg0M0JFMDFCRjQ3QkU0MUJFQjUKKzoxMDAwMzAwMDgwN0EyQTAwNDBCRTI5MzBDQ0VGNDFCRTgwN0EyODAwNjkKKzoxMDAwNDAwMDQwQkUyODMwQ0NFRjA3NjkwOEUzMkEwNDA5NjkyQzkwRTgKKzoxMDAwNTAwMDgwNzkyQzA0MEQ2OTJDOTAwOTEwMUE4ODBBMTAwMUJBQjUKKzoxMDAwNjAwMDFCODgwRDEwMUM4ODBFMTAwMUJBMUQ4ODgwQkZFRDAwODIKKzoxMDAwNzAwMDFFODgwQzA1MjQwMTA0QjkyNzkwMTg2OTA4RTNCMzA0MEQKKzoxMDAwODAwMDJEOTAxMzY5QTBCRjk4NzUwNEY3MkRBRUZGMDA4RDhCREUKKzoxMDAwOTAwMDE5NjkwOEUzNjMwNDFBNjkwOEUzNTYwNDA3QjkwOTg4NzMKKzoxMDAwQTAwMEM2QkU1MzA0QTkxMEFEOTA4MDc5N0MwNDAzQjkwOTg4QjkKKzoxMDAwQjAwMEM2QkU2MDA0ODkxODIyNkNBRDkwQTkxMDIzNkUyMjZDMTQKKzoxMDAwQzAwMEFEOTA4MDc5N0MwNDFBMTAwOEUzNkYwNDAzQjkwOTg4QTUKKzoxMDAwRDAwMEM2QkU2QzA0QTkxMEEwOTBBRDkwODA3OTdDMDQwMUI5RDMKKzoxMDAwRTAwMDA5ODhDNkJFN0IwNDg5MTgyMjZDQTA5MEFEOTBBOTEwMjcKKzoxMDAwRjAwMDIzNkUyMjZDQTA5MEFEOTAyRDY5MDhFMzlDMDQyNDAxMkUKKzoxMDAxMDAwMDAzQjcwMkI5MTg4ODg5OEIyQzAyOEExMDA0N0NBMDkwNEUKKzoxMDAxMTAwMDJCNjkxRjg4ODA3RTVCMDUyQTY5MDk4ODg5OEJBMDk5RDUKKzoxMDAxMjAwMDhBMTBBMDkwMkI2OTFGODg4MDdFNUIwNTJBNjkwOTg4NDgKKzoxMDAxMzAwMDg5OEJBRjk5OTk3Qjg0MDQyNDAxMEYwNjFCMTAxMzIwMkYKKzoxMDAxNDAwMDFCOTBBMEJGRkY3RjQ0RTNBQzA0MUI5MDg5OEI4MDdBOTcKKzoxMDAxNTAwMDFBMDUyNzY5MDFCQTI3OTA4MDdBMjMwNTI3NjkwOEUzRTEKKzoxMDAxNjAwMDlFMDQ4MDc5MEYwNTI0MDYyNjEwMTMyMDI2OTBBMEJGMzgKKzoxMDAxNzAwMEZGN0YwNEUzQzAwNDhEOEI4MDdBMUEwNTgwNzlCNDA0NzQKKzoxMDAxODAwMDI2OTAxMzEwMjYzMDFCOTA4RDhCODA3QTFBMDU4MDdBNkEKKzoxMDAxOTAwMDIzMDUyNzEwMDFCQTI3OTAwOEUzQjQwNDI0MDEwRjA2QjEKKzoxMDAxQTAwMDg5OEIxQTY5MDhFM0VBMDQxOTY5ODhFM0UwMDQwM0I5NTIKKzoxMDAxQjAwMDA5ODhDNkJFREQwNEEwMUZBRTJGQTk5ODgwNzkwRjA1NUYKKzoxMDAxQzAwMDAxQjkxODg4MDdCOTA5ODhDNkJFRTcwNEVFMTBBOTkwREUKKzoxMDAxRDAwMDgwNzkwRjA1MTk2OTA4RTNGRTA0MDNCOTA5ODg0NkJFNTIKKzoxMDAxRTAwMEM2QkVGQTA0QTAxNzFFQkVBRTFGQkZCRjAwRkYxM0JFREYKKzoxMDAxRjAwMERGQkY4MDgwQTk5OTQ3QkU4MDc5MEYwNTAxQjkwOTg4QzIKKzoxMDAyMDAwMEM2QkUwRTA1QTAxNkEwMjZCN0JGMDBGRjFFQkVBMDFFQ0MKKzoxMDAyMTAwMEFFMkVCRkJGMDBGRjEzQkVERkJGODA4MEE5OTkwQzg1NDMKKzoxMDAyMjAwMDBGODYwNzY5ODhFMzE2MDUwNzBEMTA4NTU5QkUxRTg4REQKKzoxMDAyMzAwMDRBQkUwMEVGMUUxMDFDOTAxRjEwMUQ5MEEwMTAxRTkwQjMKKzoxMDAyNDAwMEEwMTAxRjkwMDBFRjFFMTAxQzMwMjA5MDFCNzMyMDU0MzQKKzoxMDAyNTAwMDAzQkUyNTk4MjUxMDFDMjAyNTkwMjU3MzE0NTQwM0JFMzkKKzoxMDAyNjAwMDhFOEI4MDk4MkY2OTg4RTMzOTA1NTlCRTA3QkI4MDYxNjIKKzoxMDAyNzAwMDgwOThBMDhCMUYxMDFEMzAyMTkwMUI3MzIxNTQwM0JFNEEKKzoxMDAyODAwMDJFOTgyRTEwMUQyMDJFOTAyRTczMTU1NDAzQkU4MDk4OEMKKzoxMDAyOTAwMDJGNjk4OEUzNEYwNTU5QkUwN0JCODA2MTgwOThBMDhCMEEKKzoxMDAyQTAwMDE4NjkwOEVGMjU3MzE2NTQwM0JFQTA5ODJFNzMxNzU0Q0YKKzoxMDAyQjAwMDAzQkVBMDk4MDBFRkEwOEJDNkJFNkIwNTU5QkUwNEJCNjEKKzoxMDAyQzAwMDkwQUEwNEJFMUVCRUUwOTlFMDhCQTA2OUQwOTBBMDY5MDAKKzoxMDAyRDAwMEQwOTAxRjA4MDVCODFGODg5MDhCQTA2OUQwOTBBMDY5QTYKKzoxMDAyRTAwMDkwOTBEMDhCRDg4QjFGQkUwMEVGMDAwMDAwMDAwMDAwNjQKKzoxMDAyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzowMjAzMTAwMDAwMDBFQgorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2loZXgyZncuYyBiL2Zpcm13YXJlL2loZXgyZncuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjBiMTkxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvaWhleDJmdy5jCkBAIC0wLDAgKzEsMjY4IEBACisvKgorICogUGFyc2VyL2xvYWRlciBmb3IgSUhFWCBmb3JtYXR0ZWQgZGF0YS4KKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAwOCBEYXZpZCBXb29kaG91c2UgPGR3bXcyQGluZnJhZGVhZC5vcmc+CisgKiBDb3B5cmlnaHQgwqkgMjAwNSBKYW4gSGFya2VzIDxqYWhhcmtlc0Bjcy5jbXUuZWR1PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNkZWZpbmUgX0dOVV9TT1VSQ0UKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworCitzdHJ1Y3QgaWhleF9iaW5yZWMgeworCXN0cnVjdCBpaGV4X2JpbnJlYyAqbmV4dDsgLyogbm90IHBhcnQgb2YgdGhlIHJlYWwgZGF0YSBzdHJ1Y3R1cmUgKi8KKyAgICAgICAgdWludDMyX3QgYWRkcjsKKyAgICAgICAgdWludDE2X3QgbGVuOworICAgICAgICB1aW50OF90IGRhdGFbXTsKK307CisKKy8qKgorICogbnliYmxlL2hleCBhcmUgbGl0dGxlIGhlbHBlcnMgdG8gcGFyc2UgaGV4YWRlY2ltYWwgbnVtYmVycyB0byBhIGJ5dGUgdmFsdWUKKyAqKi8KK3N0YXRpYyB1aW50OF90IG55YmJsZShjb25zdCB1aW50OF90IG4pCit7CisgICAgICAgaWYgICAgICAobiA+PSAnMCcgJiYgbiA8PSAnOScpIHJldHVybiBuIC0gJzAnOworICAgICAgIGVsc2UgaWYgKG4gPj0gJ0EnICYmIG4gPD0gJ0YnKSByZXR1cm4gbiAtICgnQScgLSAxMCk7CisgICAgICAgZWxzZSBpZiAobiA+PSAnYScgJiYgbiA8PSAnZicpIHJldHVybiBuIC0gKCdhJyAtIDEwKTsKKyAgICAgICByZXR1cm4gMDsKK30KKworc3RhdGljIHVpbnQ4X3QgaGV4KGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHVpbnQ4X3QgKmNyYykKK3sKKyAgICAgICB1aW50OF90IHZhbCA9IChueWJibGUoZGF0YVswXSkgPDwgNCkgfCBueWJibGUoZGF0YVsxXSk7CisgICAgICAgKmNyYyArPSB2YWw7CisgICAgICAgcmV0dXJuIHZhbDsKK30KKworc3RhdGljIGludCBwcm9jZXNzX2loZXgodWludDhfdCAqZGF0YSwgc3NpemVfdCBzaXplKTsKK3N0YXRpYyB2b2lkIGZpbGVfcmVjb3JkKHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjb3JkKTsKK3N0YXRpYyBpbnQgb3V0cHV0X3JlY29yZHMoaW50IG91dGZkKTsKKworc3RhdGljIGludCBzb3J0X3JlY29yZHMgPSAwOworc3RhdGljIGludCB3aWRlX3JlY29yZHMgPSAwOworCitpbnQgdXNhZ2Uodm9pZCkKK3sKKwlmcHJpbnRmKHN0ZGVyciwgImloZXgyZnc6IENvbnZlcnQgaWhleCBmaWxlcyBpbnRvIGJpbmFyeSAiCisJCSJyZXByZXNlbnRhdGlvbiBmb3IgdXNlIGJ5IExpbnV4IGtlcm5lbFxuIik7CisJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogaWhleDJmdyBbPG9wdGlvbnM+XSA8c3JjLkhFWD4gPGRzdC5mdz5cbiIpOworCWZwcmludGYoc3RkZXJyLCAiICAgICAgIC13OiB3aWRlIHJlY29yZHMgKDE2LWJpdCBsZW5ndGgpXG4iKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAgICAtczogc29ydCByZWNvcmRzIGJ5IGFkZHJlc3NcbiIpOworCXJldHVybiAxOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGluZmQsIG91dGZkOworCXN0cnVjdCBzdGF0IHN0OworCXVpbnQ4X3QgKmRhdGE7CisJaW50IG9wdDsKKworCXdoaWxlICgob3B0ID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICJ3cyIpKSAhPSAtMSkgeworCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlICd3JzoKKwkJCXdpZGVfcmVjb3JkcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlzb3J0X3JlY29yZHMgPSAxOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gdXNhZ2UoKTsKKwkJfQorCX0KKworCWlmIChvcHRpbmQgKyAyICE9IGFyZ2MpCisJCXJldHVybiB1c2FnZSgpOworCisJaWYgKCFzdHJjbXAoYXJndltvcHRpbmRdLCAiLSIpKQorCSAgICBpbmZkID0gMDsKKwllbHNlCisJCWluZmQgPSBvcGVuKGFyZ3Zbb3B0aW5kXSwgT19SRE9OTFkpOworCWlmIChpbmZkID09IC0xKSB7CisJCWZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIG9wZW4gc291cmNlIGZpbGU6ICVzIiwKKwkJCXN0cmVycm9yKGVycm5vKSk7CisJCXJldHVybiB1c2FnZSgpOworCX0KKwlpZiAoZnN0YXQoaW5mZCwgJnN0KSkgeworCQlwZXJyb3IoInN0YXQiKTsKKwkJcmV0dXJuIDE7CisJfQorCWRhdGEgPSBtbWFwKE5VTEwsIHN0LnN0X3NpemUsIFBST1RfUkVBRCwgTUFQX1NIQVJFRCwgaW5mZCwgMCk7CisJaWYgKGRhdGEgPT0gTUFQX0ZBSUxFRCkgeworCQlwZXJyb3IoIm1tYXAiKTsKKwkJcmV0dXJuIDE7CisJfQorCisJaWYgKCFzdHJjbXAoYXJndltvcHRpbmQrMV0sICItIikpCisJICAgIG91dGZkID0gMTsKKwllbHNlCisJCW91dGZkID0gb3Blbihhcmd2W29wdGluZCsxXSwgT19UUlVOQ3xPX0NSRUFUfE9fV1JPTkxZLCAwNjQ0KTsKKwlpZiAob3V0ZmQgPT0gLTEpIHsKKwkJZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gb3BlbiBkZXN0aW5hdGlvbiBmaWxlOiAlcyIsCisJCQlzdHJlcnJvcihlcnJubykpOworCQlyZXR1cm4gdXNhZ2UoKTsKKwl9CisJaWYgKHByb2Nlc3NfaWhleChkYXRhLCBzdC5zdF9zaXplKSkKKwkJcmV0dXJuIDE7CisKKwlvdXRwdXRfcmVjb3JkcyhvdXRmZCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvY2Vzc19paGV4KHVpbnQ4X3QgKmRhdGEsIHNzaXplX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlY29yZDsKKwl1aW50MzJfdCBvZmZzZXQgPSAwOworCXVpbnQ4X3QgdHlwZSwgY3JjID0gMCwgY3JjYnl0ZSA9IDA7CisJaW50IGksIGo7CisJaW50IGxpbmUgPSAxOworCWludCBsZW47CisKKwlpID0gMDsKK25leHRfcmVjb3JkOgorCS8qIHNlYXJjaCBmb3IgdGhlIHN0YXJ0IG9mIHJlY29yZCBjaGFyYWN0ZXIgKi8KKwl3aGlsZSAoaSA8IHNpemUpIHsKKwkJaWYgKGRhdGFbaV0gPT0gJ1xuJykgbGluZSsrOworCQlpZiAoZGF0YVtpKytdID09ICc6JykgYnJlYWs7CisJfQorCisJLyogTWluaW11bSByZWNvcmQgbGVuZ3RoIHdvdWxkIGJlIGFib3V0IDEwIGNoYXJhY3RlcnMgKi8KKwlpZiAoaSArIDEwID4gc2l6ZSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIkNhbid0IGZpbmQgdmFsaWQgcmVjb3JkIGF0IGxpbmUgJWRcbiIsIGxpbmUpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlsZW4gPSBoZXgoZGF0YSArIGksICZjcmMpOyBpICs9IDI7CisJaWYgKHdpZGVfcmVjb3JkcykgeworCQlsZW4gPDw9IDg7CisJCWxlbiArPSBoZXgoZGF0YSArIGksICZjcmMpOyBpICs9IDI7CisJfQorCXJlY29yZCA9IG1hbGxvYygoc2l6ZW9mICgqcmVjb3JkKSArIGxlbiArIDMpICYgfjMpOworCWlmICghcmVjb3JkKSB7CisJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeSBmb3IgcmVjb3Jkc1xuIik7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwltZW1zZXQocmVjb3JkLCAwLCAoc2l6ZW9mKCpyZWNvcmQpICsgbGVuICsgMykgJiB+Myk7CisJcmVjb3JkLT5sZW4gPSBsZW47CisKKwkvKiBub3cgY2hlY2sgaWYgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byByZWFkIGV2ZXJ5dGhpbmcgKi8KKwlpZiAoaSArIDggKyAocmVjb3JkLT5sZW4gKiAyKSA+IHNpemUpIHsKKwkJZnByaW50ZihzdGRlcnIsICJOb3QgZW5vdWdoIGRhdGEgdG8gcmVhZCBjb21wbGV0ZSByZWNvcmQgYXQgbGluZSAlZFxuIiwKKwkJCWxpbmUpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZWNvcmQtPmFkZHIgID0gaGV4KGRhdGEgKyBpLCAmY3JjKSA8PCA4OyBpICs9IDI7CisJcmVjb3JkLT5hZGRyIHw9IGhleChkYXRhICsgaSwgJmNyYyk7IGkgKz0gMjsKKwl0eXBlID0gaGV4KGRhdGEgKyBpLCAmY3JjKTsgaSArPSAyOworCisJZm9yIChqID0gMDsgaiA8IHJlY29yZC0+bGVuOyBqKyssIGkgKz0gMikKKwkJcmVjb3JkLT5kYXRhW2pdID0gaGV4KGRhdGEgKyBpLCAmY3JjKTsKKworCS8qIGNoZWNrIENSQyAqLworCWNyY2J5dGUgPSBoZXgoZGF0YSArIGksICZjcmMpOyBpICs9IDI7CisJaWYgKGNyYyAhPSAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiQ1JDIGZhaWx1cmUgYXQgbGluZSAlZDogZ290IDB4JVgsIGV4cGVjdGVkIDB4JVhcbiIsCisJCQlsaW5lLCBjcmNieXRlLCAodW5zaWduZWQgY2hhcikoY3JjYnl0ZS1jcmMpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogRG9uZSByZWFkaW5nIHRoZSByZWNvcmQgKi8KKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIDA6CisJCS8qIG9sZCBzdHlsZSBFT0YgcmVjb3JkPyAqLworCQlpZiAoIXJlY29yZC0+bGVuKQorCQkJYnJlYWs7CisKKwkJcmVjb3JkLT5hZGRyICs9IG9mZnNldDsKKwkJZmlsZV9yZWNvcmQocmVjb3JkKTsKKwkJZ290byBuZXh0X3JlY29yZDsKKworCWNhc2UgMTogLyogRW5kLU9mLUZpbGUgUmVjb3JkICovCisJCWlmIChyZWNvcmQtPmFkZHIgfHwgcmVjb3JkLT5sZW4pIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiQmFkIEVPRiByZWNvcmQgKHR5cGUgMDEpIGZvcm1hdCBhdCBsaW5lICVkIiwKKwkJCQlsaW5lKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisJCWJyZWFrOworCisJY2FzZSAyOiAvKiBFeHRlbmRlZCBTZWdtZW50IEFkZHJlc3MgUmVjb3JkIChIRVg4NikgKi8KKwljYXNlIDQ6IC8qIEV4dGVuZGVkIExpbmVhciBBZGRyZXNzIFJlY29yZCAoSEVYMzg2KSAqLworCQlpZiAocmVjb3JkLT5hZGRyIHx8IHJlY29yZC0+bGVuICE9IDIpIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiQmFkIEhFWDg2L0hFWDM4NiByZWNvcmQgKHR5cGUgJTAyWCkgYXQgbGluZSAlZFxuIiwKKwkJCQl0eXBlLCBsaW5lKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJLyogV2Ugc2hvdWxkbid0IHJlYWxseSBiZSB1c2luZyB0aGUgb2Zmc2V0IGZvciBIRVg4NiBiZWNhdXNlCisJCSAqIHRoZSB3cmFwYXJvdW5kIGNhc2UgaXMgc3BlY2lmaWVkIHF1aXRlIGRpZmZlcmVudGx5LiAqLworCQlvZmZzZXQgPSByZWNvcmQtPmRhdGFbMF0gPDwgOCB8IHJlY29yZC0+ZGF0YVsxXTsKKwkJb2Zmc2V0IDw8PSAodHlwZSA9PSAyID8gNCA6IDE2KTsKKwkJZ290byBuZXh0X3JlY29yZDsKKworCWNhc2UgMzogLyogU3RhcnQgU2VnbWVudCBBZGRyZXNzIFJlY29yZCAqLworCWNhc2UgNTogLyogU3RhcnQgTGluZWFyIEFkZHJlc3MgUmVjb3JkICovCisJCWlmIChyZWNvcmQtPmFkZHIgfHwgcmVjb3JkLT5sZW4gIT0gNCkgeworCQkJZnByaW50ZihzdGRlcnIsICJCYWQgU3RhcnQgQWRkcmVzcyByZWNvcmQgKHR5cGUgJTAyWCkgYXQgbGluZSAlZFxuIiwKKwkJCQl0eXBlLCBsaW5lKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJLyogVGhlc2UgcmVjb3JkcyBjb250YWluIHRoZSBDUy9JUCBvciBFSVAgd2hlcmUgZXhlY3V0aW9uCisJCSAqIHN0YXJ0cy4gRG9uJ3QgcmVhbGx5IGtub3cgd2hhdCB0byBkbyB3aXRoIHRoZW0uICovCisJCWdvdG8gbmV4dF9yZWNvcmQ7CisKKwlkZWZhdWx0OgorCQlmcHJpbnRmKHN0ZGVyciwgIlVua25vd24gcmVjb3JkICh0eXBlICUwMlgpXG4iLCB0eXBlKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlY29yZHM7CisKK3N0YXRpYyB2b2lkIGZpbGVfcmVjb3JkKHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjb3JkKQoreworCXN0cnVjdCBpaGV4X2JpbnJlYyAqKnAgPSAmcmVjb3JkczsKKworCXdoaWxlICgoKnApICYmICghc29ydF9yZWNvcmRzIHx8ICgqcCktPmFkZHIgPCByZWNvcmQtPmFkZHIpKQorCQlwID0gJigoKnApLT5uZXh0KTsKKworCXJlY29yZC0+bmV4dCA9ICpwOworCSpwID0gcmVjb3JkOworfQorCitzdGF0aWMgaW50IG91dHB1dF9yZWNvcmRzKGludCBvdXRmZCkKK3sKKwl1bnNpZ25lZCBjaGFyIHplcm9lc1s1XSA9IHswLCAwLCAwLCAwLCAwfTsKKwlzdHJ1Y3QgaWhleF9iaW5yZWMgKnAgPSByZWNvcmRzOworCisJd2hpbGUgKHApIHsKKwkJdWludDE2X3Qgd3JpdGVsZW4gPSAocC0+bGVuICsgOSkgJiB+MzsKKworCQlwLT5hZGRyID0gaHRvbmwocC0+YWRkcik7CisJCXAtPmxlbiA9IGh0b25sKHAtPmxlbik7CisJCXdyaXRlKG91dGZkLCAmcC0+YWRkciwgd3JpdGVsZW4pOworCQlwID0gcC0+bmV4dDsKKwl9CisJLyogRU9GIHJlY29yZCBpcyB6ZXJvIGxlbmd0aCwgc2luY2Ugd2UgZG9uJ3QgYm90aGVyIHRvIHJlcHJlc2VudAorCSAgIHRoZSB0eXBlIGZpZWxkIGluIHRoZSBiaW5hcnkgdmVyc2lvbiAqLworCXdyaXRlKG91dGZkLCB6ZXJvZXMsIDUpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvaW50ZWxsaXBvcnQyLmJpbi5paGV4IGIvZmlybXdhcmUvaW50ZWxsaXBvcnQyLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5Y2ZlOGMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9pbnRlbGxpcG9ydDIuYmluLmloZXgKQEAgLTAsMCArMSwyMTQ3IEBACis6MTAwMDAwMDAzQzQyMzcxODAyMDEwMzAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAwMDEwMDA1NzY1NjQyMDQ0NjU2MzIwMzAzMTIwMzEzMjNBMzIzNEYwCis6MTAwMDIwMDAzQTMzMzAyMDMxMzkzOTM5MDAwMDAwMDAwMDAwMDAwMDM3Cis6MTAwMDMwMDBFOTZDMEY0MjY1NDc2OTRFNkU0OTZFNDcyMDZGNDYyMDU2Cis6MTAwMDQwMDA2MzRGNjQ0NUNDMTM1QTE1RTgxNjc2MTgwNDFBOTIxQkIwCis6MTAwMDUwMDAyMDFEQUUxRTNDMjBDQTIxNTgyM0U2MjQ3NDI2MDIyODA3Cis6MTAwMDYwMDA5MDI5MUUyQkFDMkMzQTJFQzgyRjU2MzFFNDMyNzIzNDE0Cis6MTAwMDcwMDAwMDM2OEUzNzFDMzlBQTNBMzgzQ0M2M0Q1NDNGRTI0MDIwCis6MTAwMDgwMDA3MDQyRkU0MzhDNDUxQTQ3QTg0ODM2NEFDNDRCNTI0RDJECis6MTAwMDkwMDBFMDRFNkU1MEZDNTE4QTUzMTg1NUE2NTYzNDU4QzI1OTNBCis6MTAwMEEwMDA1MDVCREU1QzZDNUVGQTVGODg2MTE2NjNBNDY0MzI2NjQ2Cis6MTAwMEIwMDBDMDY3NEU2OURDNkE2QTZDRjg2RDg2NkYxNDcxQTI3MjUzCis6MTAwMEMwMDAzMDc0QkU3NTRDNzc2Qzc3OEM3N0FDNzczM0RCOEFEQzE5Cis6MTAwMEQwMDA1MzMzREIyNTA3MDA3NTBBOEExRTA4MDE4M0UzMENFQjA2Cis6MTAwMEUwMDAyMDkwM0MwMTc1MEE4QTFFMDgwMTgwRTNDMEVCMTI5MDQzCis6MTAwMEYwMDA4QTFFMEQwMTNDMDI3NTA2ODBFMzBDRUIwNDkwODBFMzQwCis6MTAwMTAwMDBDMDUzNTA4QjFFQkExMzhFREJFODZBNjU1NThCRUM1M0Q3Cis6MTAwMTEwMDAxRTJCQzA4RUQ4OEI1RTA0QzFFMzA0MDM1RTA2RDFFM0MwCis6MTAwMTIwMDAyRThCOUY0NDAwOEQ0NzJBMUU1QTFGNUI1REMzNTU4QjQzCis6MTAwMTMwMDBFQzUzMUUyQkMwOEVEODhCNUUwNEMxRTMwNDAzNUUwNjE1Cis6MTAwMTQwMDBEMUUzMkU4QjlGNDQwMDhENDczNDFFNUExRjVCNURDMzQ1Cis6MTAwMTUwMDBGQjU1OEJFQzUzNTE1MjU2NTcxRTA2MUUwNzMzQzA4RTZCCis6MTAwMTYwMDBEODhCNUUwNDI2OEE0NzU5MjUwMzAwOEJGMEQxRTYyRUYyCis6MTAwMTcwMDA4QkI0QzQwMEMxRTAwNDI2MDI0NzFBRDFFMDhCRTgyRUZDCis6MTAwMTgwMDA4QkFFNDQwMDg5MkMyNjhBNDcxQzg4NDQwRjI2OEE0NzU4Cis6MTAwMTkwMDAxRDg4NDQxMDI2OEE0NzFFODg0NDExMjY4QTQ3MUY4OEQ2Cis6MTAwMUEwMDA0NDEyMjY4QTQ3MjA4ODQ0MTMyNjhBNDcyMzg4NDQxNDA5Cis6MTAwMUIwMDAyNjhBNDcyNDg4NDQxNTI2OEE0NzVBODg0NDBFMzNDMDI1Cis6MTAwMUMwMDA4OTQ0MDY4OTQ0MDg4ODQ0MEI4ODQ0MEFCMDIxQjQ2NEYxCis6MTAwMUQwMDA4OTQ0MDQ4OTQ0MDJCMDU1ODg0NDBEODg0NDBDRTg2QTc3Cis6MTAwMUUwMDAwMDcyNUJFOEM5MDBFOEMxMTA4OTQ0MDg4MDdDMEYwMUY3Cis6MTAwMUYwMDA3NDI5RTgyQjAyRTg3RjAyODA3QzBGMDM3NDFERThBOUI0Cis6MTAwMjAwMDAxMDhCRjgyQjQ0MDgzREEwMEY3MjEwODk3QzA4MzNDMDc2Cis6MTAwMjEwMDA4NzQ0MDY4NUMwNzUwNEM2NDQwQUZGOEE0NDBBODRDMDIwCis6MTAwMjIwMDA3NTBCQjgwODAwRTg2QTRBRThBOTAxNzNCRkU4NEYwMUY2Cis6MTAwMjMwMDA4MTY2NDg3RkZGODM2NjdBQkZCMDAyRTgwNDBFOEE0NDc1Cis6MTAwMjQwMDAwQTk4MDcxRjVGNUU1QTU5NUI1REMzODE0RTQ4ODAwMDY0Cis6MTAwMjUwMDBCMDQwRTgzRDRBRTg4OTQwNzMyQUU4NEQxMDhCRDhCMDk5Cis6MTAwMjYwMDAwNUU4MkU0QUY2NDYyNzAyNzUxQUU4M0QxMDJCQzMzREQ1Cis6MTAwMjcwMDA1ODFCNzJFQjgxNjY0ODdGRkZCMDAyRThDNDBEQzY0NDhDCis6MTAwMjgwMDAwQTAxRjlDMzgzNEU3QTQwRjhDM0ZCQjAwMUU4MDI0QTgxCis6MTAwMjkwMDBGQUU4OTkxRUU0MEE4NEMwNzVGMEIwNEVFNjBBRkJCMDk1Cis6MTAwMkEwMDAwMUU4RUU0OUZBRTg4NTFFRTQwQTg0QzA3NUYwQzNGQTU1Cis6MTAwMkIwMDBFODdBMUVFNEVDODg0NDE2RTRFNDg4NDQxN0U0Rjg4OEZECis6MTAwMkMwMDA0NDE4RTRGMDg4NDQxOUU0MTA4ODQ0MUFFNDEyODg0NDdECis6MTAwMkQwMDAxQkU0MTQ4ODQ0MUNFNDM0ODg0NDFERTQzNjg4NDQxRTFFCis6MTAwMkUwMDBFNEQ4MjQwMThBRTBFNERBMjQwMjBBQzQ4ODQ0MUY4QTlDCis6MTAwMkYwMDA0NDEwRThDRDFGOEE0NDExRTgzNTIxOEE0NDEyRTg4OTY4Cis6MTAwMzAwMDAyMThBNDQxM0U4NDMyMUM2ODZBMTAwMDBFNDE0MjQxMDg2Cis6MTAwMzEwMDBFNjE0RTQxMjI0M0RFNjEyOEE0NDE1M0MwMTcyMUU3NzZECis6MTAwMzIwMDAxNkIwMTFFNjM0QjAxM0U2MzZFNDE0MEMxMEU2MTRFNDBCCis6MTAwMzMwMDAxMjBDNDBFNjEyRUIwNkU0MTIwQzAyRTYxMjhBNDQwRjlECis6MTAwMzQwMDAzQzAxNzQwNjNDMDI3NDBBRUIwRUU0MTIwQzA4RTYxMjNGCis6MTAwMzUwMDBFQjA2RTQxMjBDMTBFNjEyRTgyRkZGOEE0NDE0M0MwMjZDCis6MTAwMzYwMDA3NTA4QjA1NTg4NDQwQzg4NDQwREIwMjFCNDY0ODk0NEE0Cis6MTAwMzcwMDAwNDg5NDQwMkU0MEMwQzEwRTYwQ0U4RUQzOUZCQzNFOEY4Cis6MTAwMzgwMDA1RjNGNzMwOEZCQjAwQUU4MDg0OUVCRjNGQUU4OUQxREVDCis6MTAwMzkwMDA4QTY0MTY4QTQ0MTc4OTg2OTQwMEU2RTQ4QUM0RTZFQ0U3Cis6MTAwM0EwMDA4QTY0MTg4QTQ0MTk4OTg2OTYwMEU2RjA4QUM0RTZGOEI5Cis6MTAwM0IwMDA4QTQ0MUFFNjEwOEE0NDFCRTYxMjhBNDQxQ0U2MTQ4QTEwCis6MTAwM0MwMDA0NDFERTYzNDhBNDQxRUU2MzY4QTQ0MUZFNkQ4RTZEQTNGCis6MTAwM0QwMDBFOUI3RkU5MEZBOEE0NDBFRTZGRUU0MDJBODAxNzUwNTJDCis6MTAwM0UwMDAzM0MwRkJGOEMzMzNDMEU0MDBGQkY5QzM4QTY0MTQ4MDU0Cis6MTAwM0YwMDBGQzAyNzQyQkZFQzBGRUM3ODBGRjRFNzIxQzc0MDk4MDg1Cis6MTAwNDAwMDBGRjUwNzMwOEIwMEFFQjE3QjAwREVCMTMwMkRDMzJGRjlDCis6MTAwNDEwMDA4MEZCN0Y3QzAyQjMyMThBQzMzQzdGN0MwMkIwMjFDMzc2Cis6MTAwNDIwMDBGQTgwN0MwQjA0NzYwMkZCQzM4QjQ2MjQzRDA4MDA3MkU1Cis6MTAwNDMwMDBGNjhFNDYwMjhCN0UyMjhBNDQwQzhCNUMwMkFBRThBQkM1Cis6MTAwNDQwMDBGRkFBRThBN0ZGQUFFOEEzRkZBQUU4OUZGRjg4NDQwQzM5Cis6MTAwNDUwMDA4OTVDMDI4MDQ0MEIwNDg5N0UyMjgzNkUyNDA0ODM0NkQ3Cis6MTAwNDYwMDAxQTA0ODA3RTI2MDI3NDA2ODA2NjI2RkRGQkMzNjBCMEY3Cis6MTAwNDcwMDBGREU4MDIzRjYxRkJDM0ZBODA3QzBGMDM3NTA5QzY0NEE3Cis6MTAwNDgwMDAwQjAwRThFNTM4RkJDM0M0N0UxNDhCNEUzQTg1Qzk3NTcyCis6MTAwNDkwMDAzNTI2OEIwRDQ3NDdFM0VBM0I3RTA0NzYyMkI4MDIwMEZGCis6MTAwNEEwMDAzOTQ2MkU3NzA3Qzc0NjJFMDAwMEVCMTM4QjVFMkM4OTRBCis6MTAwNEIwMDA1RTA0MjZDNzA3MDAwMDQzNDM4OTVFMkMyOTQ2MkU4NTJCCis6MTAwNEMwMDBDOTc4Q0U4OTRFM0E4QTQ0MEQ4QjVDMDQyNjhBMjU0NzJBCis6MTAwNEQwMDAzQUM0NzUxNkZFNEMwQkZGNDQwNkU4MEZGRkUyRUQ4OEE4Cis6MTAwNEUwMDA0NDBEODk1QzA0ODk0RTNBRUJBN0M2NDQwQUZFRTg3OUJDCis6MTAwNEYwMDAzOEZCQzM5MEU4QjMwRDhBRTg4QTBFQ0IxM0IzMDc4QUEyCis6MTAwNTAwMDBDMUVFRUIwMEVDM0FDMTc1MDkwMkNERkVDQjc1RjBFQjA0Cis6MTAwNTEwMDAwQzkwODgwRUNCMTM4QUU4QkJGRkZGRjlDMzg4MEVDQjgzCis6MTAwNTIwMDAxM0Y4QzM5MEJCM0YzRjhBOEU5RTAwQkFGRTAwRUM4QTUwCis6MTAwNTMwMDBFODMyQzEyMkMzNzUwMkY4QzNGOUMzOTBFOEU1RkY3MzNFCis6MTAwNTQwMDAwMUMzQkFEMDAwQkIwMzAzOEE4RTlGMDBFQzhBRTgzMjU1Cis6MTAwNTUwMDBDMTIyQzM3NTAyRjhDM0Y5QzM5MDMzQzA4RUQ4OEVDMEQwCis6MTAwNTYwMDA4MDNFQzgxMzAwNzUwN0IwMEFFODI2NDdFQkYyRkIzMzVDCis6MTAwNTcwMDBEQjhBMUVDOTEzNDM0MzgzRkI3RTc2MDczM0RCQjAwMjVECis6MTAwNTgwMDBFODBGNDcyRThCQUY0NDAwODM3RTA4MDA3NEU3ODgxRTc3Cis6MTAwNTkwMDBDOTEzQjAwMkU4RkI0NkZBRjc0NjM4NDAwMDc0MTRFODg1Cis6MTAwNUEwMDA5NjFCRTg3RkZGNzIxQzMzRDI4QTk2OUYwMDgzQzIwRThGCis6MTAwNUIwMDBFQjBDOTBFODc3MUJFODgzRkY3MjA4QkE0ODAwRTgzMzM5Cis6MTAwNUMwMDBGRjczQUIyM0NCODk4RTlBMDA4OTk2OUMwMEZFODZCNTdCCis6MTAwNUQwMDAwMEM2MDZDODEzMDBCMDBBRTg2NzBBRkJFQjg5MTAxOENBCis6MTAwNUUwMDAwODI4MzNDMEEwMDUwMThBQzgyNDQwNzUyNEM3MDY3Q0FBCis6MTAwNUYwMDAxMjhFNDVDNzA2NDIxMjAxMDBDNjA2NTQxMjAyQjAwODA4Cis6MTAwNjAwMDBGNkMxMDE3NDAyQjAwNEEzNDYxMkEyNEMxMkEyOTQxMkM1Cis6MTAwNjEwMDBDM0M3MDY3QzEyQjY0NUEwMEYwMTg0QzA3NTBFNkEwMEUwCis6MTAwNjIwMDAxRkM2MDY5MzEyMUU5QzBFRThCMTBDOTBDNzA2NDQxMjFBCis6MTAwNjMwMDAwMTAwQTM0MjEyOEJEOEMxRTMwNDg4MUU5NDEyQkVFMkNCCis6MTAwNjQwMDAwNTJCRjA4QkM4MzNEQjhCRkIyRUFDODg4NTQ4MTI4QUQ4Cis6MTAwNjUwMDBEODBDMDVFNkZFOEFFMEVCMDBFNEZFMzJDNEE4M0Y3NDQ1Cis6MTAwNjYwMDAwM0U5OUUwMEU0MDA4ODg1NTAxMjhBRTAyNDMwQkExMDI1Cis6MTAwNjcwMDBGRjNDMzA3NDEyODBGQzA0NzQwQUJBMDQwM0Y2MDYwOEM2Cis6MTAwNjgwMDAwMUZFNzQwM0JBMDgwRjg4OTU0QzEyMDJGQTMyQzBGNkM0Cis6MTAwNjkwMDBDNDA4NzQwMkIwMDE4ODg1NTgxMjhBQzQzQzM1NzQ1QjYyCis6MTAwNkEwMDAzQzM2NzQ1NzNDMzQ3NDUzM0MwNDc0NEYzQzE0NzQ0QkM0Cis6MTAwNkIwMDAzQzE1NzQ0N0E4NDA3NDI1QzY4NTU0MTIwNEQxRTdCNDhDCis6MTAwNkMwMDAwMzhBQzM4OTg1NUMxMjhBQzM4QUUzODBDQzAxODk4NTQ5Cis6MTAwNkQwMDA2NDEyRDFFRjQ3RTIwM0VCMUE5MEU5NkNGRkM2ODU1NDMwCis6MTAwNkUwMDAxMjAyRDFFNzhBRTY4QUMzMEMwNDg5ODU1QzEyRDFFRjM1Cis6MTAwNkYwMDA0N0UyRTczM0MwOEFDN0EzNDYxMkMzQzY4NTU0MTIwNjMxCis6MTAwNzAwMDBFQkJCQzY4NTU0MTIwMDMzQzA4ODg1NTAxMjg4ODU0Q0Q3Cis6MTAwNzEwMDAxMjg4ODU1ODEyRUJBNkM3NDYyNjAyMTI4QjQ2MUU4OTAwCis6MTAwNzIwMDA0NjAwODk0NjIyOEI0NjIwODk0NjI0Qzc0NjFBMDAwMDg3Cis6MTAwNzMwMDBDM0M3NDYzQzgwMDBDNzQ2MzgwMTAwMUU1NjhCNzYzMDQyCis6MTAwNzQwMDA4OTc2MDQ4OTc2MTQ4RTVFMDYzM0MwODkwNDQ2NDY4OTBDCis6MTAwNzUwMDA3NjJDODk0NjNBOEI0NjMyNDg0ODg5NDYyRTVFMUZDMzFFCis6MTAwNzYwMDAzM0MwODk0NjQ4ODk0NjRBQzc0NjQ2QUUwMTg5NDY0RTQ3Cis6MTAwNzcwMDA4QjQ2NDQ4OTQ2NTA4QjQ2NDI4OTQ2NDA4OTQ2MDhDMzg5Cis6MTAwNzgwMDAzM0MwODk0Njc2ODk0Njc4Qzc0NjdBMTAwMDU2MUU4QjU0Cis6MTAwNzkwMDA3NjcwODk3NjEwODk3NjBDOEU1RTEyQzcwNDAwMDA4QjA1Cis6MTAwN0EwMDA0NjcyODk0Njc0MUY1RUMzODk1NjE4ODk1NjAyODk1NjU3Cis6MTAwN0IwMDAwNjg5NTYwQTg5NTYwRTg5NTYxMjg5NTYxNjhCRDg0QkM5Cis6MTAwN0MwMDA0QkMxRTMwMkJGMDIwMDg5N0UxRTAzRkI4OTdFMzAwMzFBCis6MTAwN0QwMDBGQjg5N0U0MjAzRkI4OTdFNzA4M0VCMDg4OTVFMjA4OTVBCis6MTAwN0UwMDA1RTMyODk1RTQ0ODk1RTcyNTBFODJCRkZFODcxRkZFODUzCis6MTAwN0YwMDAzRkZGRTg4QkZGNThDM0I4MzA3NUMxRTgwNDBFNUIwM0I4Cis6MTAwODAwMDBDM0EzQkExMzgzM0U0MjEyMDA3NDA3ODAzRTk0MTIwMEMxCis6MTAwODEwMDA3NTBFNkEwMDFGQzYwNjkzMTIxRTlDMEVFOEJEMEE5MDU0Cis6MTAwODIwMDBCODMwN0FDMUU4MDQ0MEEzQzAxMzJCMDYxMjAxRjdEOEYwCis6MTAwODMwMDAzM0QyOEJDQThBMEU5NDEyRjdGMTNEODAwMDc3MEU2QThDCis6MTAwODQwMDAwMDFGQzYwNjkzMTIyNTlDMEVFODkwMEE5MDQ4M0RGRkIzCis6MTAwODUwMDAwNzcyMDNCOEZGMDdBM0MyMTMzM0M5OEEwRTk0MTIzMzc5Cis6MTAwODYwMDBGNkI4MDAwOTJFOEJBQzQ0MDA4OTQ2NEM0MDQ2NDZFMjVGCis6MTAwODcwMDBGMzhBMEU5NDEyMzNGNjhCMTZDMDEzQTFDMjEzMkU4QjdCCis6MTAwODgwMDBBQzQ0MDBFODIyRkYwM0QwNDY0NkUyRjJDMzMzQzAyRTU4Cis6MTAwODkwMDA4QkFENDQwMDg5NDYwODQ3NDdFMkY0QzM1MTMzQzAwQTkwCis6MTAwOEEwMDBDMjJFOEJBRDQ0MDA4OTg2OUUwMDgxNEUzODAwMjA0N0MxCis6MTAwOEIwMDA0N0ZFQzQ4MEZDMDQ3MjA0MzJFNEZFQzBFMkUzNTk4M0M0Cis6MTAwOEMwMDBFOTEwNzQwNUY3RDlFOEM0RkZDMzUxMzNDMDBBQzIyRTNBCis6MTAwOEQwMDA4QkFENDQwMDg5ODY5RTAwODM0RTM4NDA0NzQ3ODBDNEQ0Cis6MTAwOEUwMDAxMDc5MDQzMkU0RkVDMEUyRTY1OTgzRTkxMDc0MDVGNzlBCis6MTAwOEYwMDBEOUU4OTlGRkMzRThEMkZGQzM4RDA4OUMwOENBMDhGNTYwCis6MTAwOTAwMDAwODhCMEU0MjEyMzNGNjUxNTYzM0RCOEJDQjhBOTQ0ODU4Cis6MTAwOTEwMDAxMjhBOEM0QzEyOEE5QzU0MTI4QkZFQzFFNzA1ODVEQjJGCis6MTAwOTIwMDA3NTAyQjExMDJFRkY5N0Y5MDg1RTU5NDZFMkQ5QzMwMTRFCis6MTAwOTMwMDBDQzAzRDAwMEU4MDJEMDAwRTgwMUQwMDBFODAwRDAwMEVECis6MTAwOTQwMDBFODA0RDBBOERBMDBEQzAwREUwMUQ4MDNDQzAzQ0MwMzM1Cis6MTAwOTUwMDBDQzA0RDBBOERBMjBEQzAwREUwM0NDMDNDQzAzQ0MwMDJFCis6MTAwOTYwMDBEODAzQ0MwM0NDMDNDQzAzQ0MwM0NDMDNDQzAzQ0MwMzAzCis6MTAwOTcwMDBDQzAzQ0MwM0NDMDNDQzAzQ0MwM0NDMDNDQzAzQ0MwM0ZGCis6MTAwOTgwMDBDQzA0RDAwMERBMjBEQzAzREUwMUQ4MDNDQzAzQ0MwMzk2Cis6MTAwOTkwMDBDQzAzQ0MwMEQ4MDBDQzAwRDAwMDAwNTY1MjFFMEUxRjU1Cis6MTAwOUEwMDBCRTJGMDkzM0QyRkNBRDg1QzA3NDBEOEFENEVFQUQ4NTVGCis6MTAwOUIwMDBDMDc0MDU4QUQ0RUVFQkVFMUY1QTVFQzNFNDgwODRDMDk3Cis6MTAwOUMwMDA3NDE2NzgxNEIwMjdFNkZDQjAxMUU2MzRFNEZDM0MyNzNBCis6MTAwOUQwMDA3NTA2RTQxMTc1MDJGOEMzRjlDMzgzQzIwNkIwQkZFRTExCis6MTAwOUUwMDA4M0VBMDJCMDEwRUU4ODg2QUYwMEIwMTE4M0MyMDRFRTM1Cis6MTAwOUYwMDA4M0MyMDJFRUIwMTM4M0MyMDJFRTgzQzIwMkVFMkVBMUM2Cis6MTAwQTAwMDA0QzJEODk4Njk0MDA4M0VBMEVFRTgzQzIwMjhBQzRFRURFCis6MTAwQTEwMDA4M0MyMDRCMDAzRUU4ODg2QTgwMDgzRUEwNDMyQzBFRUU1Cis6MTAwQTIwMDA4M0MyMDJCMDg5RUU4ODg2QTYwMDBDMDZFRUIwNDBCNDAwCis6MTAwQTMwMDAzODg5NDYxQ0M3NDYzNjM4MDA4M0MyMDQzMkMwRUU4ODY3Cis6MTAwQTQwMDA4NkE3MDBDMzgzQzIwNkIwQkZFRTgzRUEwMkVDM0E4NkYzCis6MTAwQTUwMDBBRjAwNzUyNDgzQzIwNEVDM0MxMTc1MUM4M0MyMDZFQzA0Cis6MTAwQTYwMDAzQzEzNzUxNDgzRUEwODhBODZBODAwRUU4M0VBMDJFQzM4Cis6MTAwQTcwMDAyNEMwM0NDMDc1MDJGOEMzRjlDMzMzQzk4QkQxOEJGMUQ0Cis6MTAwQTgwMDA4QTBFOTQxMkMxRTkwMjJFOEJBQzQ0MDBGNzQ2MzgwMDVFCis6MTAwQTkwMDAyMDc0MEU4QTg2OUUwMEU2RkUzMkMwRTY4MDQyRThGQUE2Cis6MTAwQUEwMDBGRTgzQzYwOEUyRTE4NUQyNzQwM0U4MDUwOEMzMzNDOUIyCis6MTAwQUIwMDA4QkYxOEEwRTk0MTIyRThCQUM0NDAwRjc0NjM4NDAwMDFFCis6MTAwQUMwMDA3NDA2RTg3MzE2RTgxMkZGNDY0NkUyRUFDMzMzQzk4QkEwCis6MTAwQUQwMDBGMThBMEU5NDEyQzFFOTAyMkU4QkFDNDQwMEY3NDYzODFECis6MTAwQUUwMDAwMDIwNzQxNkU4NDYxNkU4RDJGRTczMEU2QTAwMUZDNjkwCis6MTAwQUYwMDAwNjkzMTIxQzlDMEVFOEUzMDc5MDgzQzYwOEUyRDlDMzU0Cis6MTAwQjAwMDAzM0M5OEJGMThBMEU5NDEyMkU4QkFDNDQwMEY3NDYzODExCis6MTAwQjEwMDA0MDAwNzQxNkU4MjExNkU4MkFGRjczMEU2QTAwMUZDNjBCCis6MTAwQjIwMDAwNjkzMTIxQzlDMEVFOEIzMDc5MDQ2NDZFMkRBQzMwQzBCCis6MTAwQjMwMDAwMDAwMTAwMDEzMTIwMDAwMTQwMDI4M0MwMDFCM0UwMEFGCis6MTAwQjQwMDAwMDJBMDAwMDJDMDAwMDQyMDAxNEQ4MDAwMERBMDAwMDQ3Cis6MTAwQjUwMDAzNDAwMTEzNjAwMTMzODAwMTEzQTAwMTMwMDAwNTY1MENCCis6MTAwQjYwMDA1MkJFMkYwQjJFQUQ4NUMwNzQwNjkyMkVBQ0VFRUJGNDY4Cis6MTAwQjcwMDA1QTU4NUVDMzUzMkVBMTYwMjJFNkU0RTZGMDhBQzRFNjJBCis6MTAwQjgwMDBFQ0U2RjhFOEQ4RkZCMDRCRTYxMEIwNTBFNjEyQjAzODBCCis6MTAwQjkwMDBFNjE0RThBRTE1QjA0NkU2MEFFOEE3MTVCMDFBRTYwQTZDCis6MTAwQkEwMDBFOEEwMTVCMDIyRTYwQUU4OTkxNUU4RkQwNjhCRDhFNDFFCis6MTAwQkIwMDAxNkE4MDQ3NTE4RThGMjA2MkJDMzNEMzIwMDcyRjA2QURECis6MTAwQkMwMDAwMDFGQzYwNjkzMTIyMzlDMEVFODEwMDc5MEU4REEwNjcxCis6MTAwQkQwMDAyQkMzM0QyNDAwNzcxQkIwMzFFNkZDNTY1MTU1QjkxMEFDCis6MTAwQkUwMDAwMDJFOEJBQzQ0MDA4MTRFMzg4MDAwNDY0NkUyRjI1RDE4Cis6MTAwQkYwMDA1OTVFRTg2OUZGRTg0QjE1QjA0NkU2MEFFODQ0MTU1QjI0Cis6MTAwQzAwMDBDMzMzRjY4QjBFNDIxMjJFOEJBQzQ0MDBGNzQ2MzgwMEVECis6MTAwQzEwMDAyMDc0MDZFODE3MTVFODVCRkY4M0M2MjBFMkU5QzM4QjYyCis6MTAwQzIwMDBDMjA1MDQwMDg5NDYyODJFQTE0QzJEODk4NjhFMDA4OTk0Cis6MTAwQzMwMDA4NjkwMDA4OTg2OTIwMEM2ODZBMzAwMEFDNjg2QzMwMEY1Cis6MTAwQzQwMDAwMzUyODNDMjA0OEE4NkE2MDAwQzA2RUU1QTgzQzIwMkFGCis6MTAwQzUwMDBCMDA1RUU4ODg2QTUwMEMzRTgwM0ZGRThFNTE0QjA0MkJFCis6MTAwQzYwMDBFNjBBRjc0NjM4ODAwMDc0MDYyRUExOUMyMkVCMDQyRTdCCis6MTAwQzcwMDBBMTZDMjJDNzQ2MUMwQzAwODk4Njk0MDA4OTg2OTYwMEM4Cis6MTAwQzgwMDA4OTg2OEUwMDg5ODY5MDAwODk4NjkyMDBFNkYwRTZFNEU3Cis6MTAwQzkwMDA4QUM0RTZGOEU2RUNDNjg2QzMwMDAzRThBNTE0QjAxQUQ5Cis6MTAwQ0EwMDBFNjBBQjAxMDg4ODZBNTAwRTYwQ0MzMzNDOThCRjE4QTJBCis6MTAwQ0IwMDAwRTk0MTIyRThCQUM0NDAwRjc0NjM4NDAwMDc0MDZFOEMwCis6MTAwQ0MwMDA3NjE0RTg1QUZGNDY0NkUyRUFDMzMzQzk4QkYxOEEwRTJFCis6MTAwQ0QwMDA5NDEyMkU4QkFDNDQwMEY3NDYzODAwMjA3NDA2RTg0QzgyCis6MTAwQ0UwMDAxNEU4NzRGRjQ2NDZFMkVBQzM5MDgzM0U0NDEyMDA3NTVFCis6MTAwQ0YwMDAxNEIwMDFCQTA2MDFFRTJBQzBFRUIwMDJFRUIwMDRFRTY2Cis6MTAwRDAwMDBCODAwMDJFQjBGQkEwNjAxQjA0MEVFQjgwMTAwOEEwRTNGCis6MTAwRDEwMDAwRTAxRDNFMEEzODgxMkMzQTE4ODEyQTM4NDEyMkQyMDUwCis6MTAwRDIwMDAwMEEzOEExMjJEMjAwMEEzODIxMkM3MDY4NjEyMjAwMDdCCis6MTAwRDMwMDBDNzA2ODAxMjMyMDBDMzgzM0U0NDEyMDA3NDc2OEIwRUM1Cis6MTAwRDQwMDA0MjEyMzNGNjhBQTQ1NDEyODRFNDc0NUY4QTg0NDgxMkVGCis6MTAwRDUwMDAwQzA0RTZGRUY2QzQwNDc0MjVCMDFCQkEwMDAwRUVFQkVBCis6MTAwRDYwMDAwMDJBQzBCQTAyMDBFRUVCMDBCMDAzRUVFQjAwMzJDMDg2Cis6MTAwRDcwMDBCQTAyMDBFRUVCMDBCQTAwMDBCMDAwRUVFQjJEQjAxRjlGCis6MTAwRDgwMDBCQTAwMDBFRUVCMDAyQUMwQkEwMjAwRUVFQjAwQjAwMzlFCis6MTAwRDkwMDBFRUVCMDBEMUU2OEE4NDVEMTJEMUVFRjZEMEJBMDIwMDA1Cis6MTAwREEwMDBFRUVCMDBCQTAwMDBCMDBBRUVFQjAwRTQwNEVCMDBFNDY2Cis6MTAwREIwMDAwNDQ2RTI5MEMzOTBCODE0MDBCQTNFRkZFRkI4MDYwMEI0Cis6MTAwREMwMDBCQTMyRkZFRkI4MEYwMEJBMzRGRkVGQkEzNkZGRUY4MzQ1Cis6MTAwREQwMDAzRTQ0MTIwMDc1MTZCODExMDBCQTM4RkZFRkI4MTIwMDgxCis6MTAwREUwMDBCQTNBRkZFRkI4MUIwMEJBM0NGRkVGQzNCODExMDBCQTI0Cis6MTAwREYwMDAzOEZGRUZCODEyMDBCQTNBRkZFRkI4MUIwMEJBM0NGRjU5Cis6MTAwRTAwMDBFRkMzQjhGQzAwQkEyOEZGRUZGQjgzM0U0NDEyMDA3NDI2Cis6MTAwRTEwMDAwN0I4Q0MwMEJBMjhGRkVGQzMwMEZGRkYyMDI0MjhGRjRCCis6MTAwRTIwMDAyQ0ZGRkYzMDM0MzhGRkZGM0M5MDNDMEY3NzBFQkIxOThFCis6MTAwRTMwMDAwRTJFRDczQ0ZGNzQwNThBRDhGOEMzOTAyQURCRjlDMzdECis6MTAwRTQwMDA4MzNFNDQxMjAwNzQyN0EwMDYwMTgwMjYwNjAxMzA4MEVDCis6MTAwRTUwMDAzRTA2MDEzMDc1MThCOTAyMDBCRkM0MTNCQTA2MDFFQzkyCis6MTAwRTYwMDBBODIwNzVGOEJBMDQwMUVEQUJFMkYxRUIxNjkwQjkwNEQ1Cis6MTAwRTcwMDAwMEJGQzQxM0JBMDYwMUVDQTgyMDc1RjhCQTA0MDFFQzRGCis6MTAwRTgwMDBBQUUyRjFGQTkwQkVDNDEzQUQ4MEU0M0Y4MEZDMDI3NDg0Cis6MTAwRTkwMDAwRTZBMDAxRkM2MDY5MzEyMEE5QzBFRTgzRTA0OTBBRDJGCis6MTAwRUEwMDAzQzBGNzVFRDhBQzRFODgxRkY3MkU2ODgxRTFBMDFDNjAwCis6MTAwRUIwMDAwNjhFMTIwMEIwMDAwQTA2MUEwMUJBMDAwMUVFQzYwNjNDCis6MTAwRUMwMDA4RjEyNDA4MzNFNDQxMjAwNzUwNkI4MEMwMEVCMDQ5MDZDCis6MTAwRUQwMDBCODRDMDBCQTI4RkZFRkMzODMzRTQ0MTIwMDc1MDFDMzJCCis6MTAwRUUwMDBBMTUwMTIwQjA2NTIxMjBBQzRBODA4NzRGMkEwMEYwMUY2Cis6MTAwRUYwMDAyQUU0NTBGRjM2QkExMzFGRTg1MDU2ODNDNDAyNkEwMDMyCis6MTAwRjAwMDAxRjMzQzBBM0JDMTNBMDBGMDFBM0JFMTM4QjFFQkMxM0MxCis6MTAwRjEwMDA4QTg3NTAxMkY2ODc1MDEyMDg3NDBEMjQwNzhBRTBCRUEzCis6MTAwRjIwMDBDQzAwQTBCQzEzRTg5NDNERkYwNkJDMTNGRjBFQkUxMzFCCis6MTAwRjMwMDA3NURBQzM5MDFFMzNDMDhFRDhCMDAxRTg1NDNEMUZDMzhDCis6MTAwRjQwMDAzM0M5OEJGMThBMEU5NDEyMkU4QkFDNDQwMEM3NDY2MkQzCis6MTAwRjUwMDAzODQ0Qzc0NjdDRkMzQkM3NDY3RUUyM0JDNzg2ODAwMEUwCis6MTAwRjYwMDBFQzNDRThBQjE2QzY4NkMwMDAxMTgzN0UwODAwNzQwNzBGCis6MTAwRjcwMDA1MTU2RTgzMzMzNUU1OTQ2NDZFMkNEQzMzM0M5OEJGMTRGCis6MTAwRjgwMDA4QkY5OEEwRTk0MTJDMUU5MDJFMzEzMkU4QkFDNDQwMDU0Cis6MTAwRjkwMDA4QTg2OUUwMDg4ODU2QzEyODNDNjA4NDdFMkVEQzNGQUY0Cis6MTAwRkEwMDBGQ0IwQzBCQTAwMDFFRTMzQzA4RUQ4OEVDMDhFRDBCRjY4Cis6MTAwRkIwMDAxNjAxQjlDQzc3MkJDRkQxRTlGM0FCQkM0MDEyRThEOUZECis6MTAwRkMwMDAwMkU4NzAzQ0JFQ0MwRkU4RjIzQ0Y0OTAzM0MwOEVEOEZGCis6MTAwRkQwMDA4RUMwOEVEMEY2MDYwQTAxODA3NDBCQkUzNTU1RThEQjU0Cis6MTAwRkUwMDAzQ0IwMDFFOEFDM0NFOEIzMDBFOEY2RjVFODA4RjhFODA2Cis6MTAwRkYwMDAwRkY5RTg4NUZBRThCNkZBRThFRkZDRThDMjEwRTgwMzcyCis6MTAxMDAwMDAzQ0U4QjJGREU4MzBGREU4NTQwMkM2MDY4RjEyQzBFOEE1Cis6MTAxMDEwMDBCQkZBRThFQkZBRThFOUZCRThBRkZDRTg4REZDRTgxRjc3Cis6MTAxMDIwMDBGRkU4NThGRkU4REJGREU4MTZGRTMzQzBCRTVBMDVFOENFCis6MTAxMDMwMDA4QTNDRThBM0ZFRThFMEZDRkJCRUE0NDRFODdEM0NFOTcyCis6MTAxMDQwMDBDQTJENTY5ODhCRjA4QjQyNTI4NUMwNzUyN0M3NDI1MkU1Cis6MTAxMDUwMDAwMTAwNTMzNjhCOUMyQzAxRjZDMzAxNzUwQzM2ODk2ODUwCis6MTAxMDYwMDA1MjM2ODlBQzJDMDE1QjVFQzMzNjg5QUMyQzAxMzY4OUMzCis6MTAxMDcwMDBBQzFDMDE1QjVFQzM1Njk4OEJGMDMzRUQzNjhCODQxQzQxCis6MTAxMDgwMDAwMUE4MDE3NTE1OEJFODMzQzA4NzQyNTIzNjg5ODQxQzRDCis6MTAxMDkwMDAwMUE4MDE3NDA1MzY4OTg0MkMwMTVFQzM1NjUxMzNGNkNDCis6MTAxMEEwMDBCODAxMDBCOTA4MDA4OTg0MUMwMTg5ODQyQzAxNDY0NkQ2Cis6MTAxMEIwMDBFMkY0NTk1RUMzOTBCQjAxMDA4QkU4RkY0RTZFNzQwQUU4Cis6MTAxMEMwMDA4QkREOEI0NjU4QTgwMTc0RjBDMzhCNDY0OEE5MDgwMEY1Cis6MTAxMEQwMDA3NDQ1Rjc0NjM4NDAwMDc0MjdFODVDMTA4MEMyMDY4QUUxCis6MTAxMEUwMDA4NkE4MDAyNEJGODg4NkE4MDBFRTYwQjBGRUU4ODYzMjlECis6MTAxMEYwMDA2MUIwMDJFODRDRkY4QjQ2NDgyNEY3ODk0NjQ4RUIxNzVECis6MTAxMTAwMDBFODJBMTA4MTRFMjYwMDQwOEE4NkE1MDAwQzAyODg4NkI3Cis6MTAxMTEwMDBBNTAwRTYwQzhCNDY0OEE5MDQwMDc0MTRCMDAyRTgyMTJGCis6MTAxMTIwMDBGRjhCNDY0ODI0RkI4OTQ2NDg2MEIwREZFODQ3MzI2MUMwCis6MTAxMTMwMDAzM0MwODc0NjU4RjZDMzAxNzUwQjM2ODk0NzU4QTgwMTU2Cis6MTAxMTQwMDA3NTBERTk3NEZGQTMyMjAxQTgwMTc1MDNFOTZBRkY4OUZGCis6MTAxMTUwMDAxRTMyMDFDM0JCMDEwMDhCRThGNzQ2Mzg0MDAwNzQxNTBFCis6MTAxMTYwMDBFOEQ1MEY4MEMyMEFFQ0E4NDA3NTBBOEJERDhCNDY1Njg1Cis6MTAxMTcwMDBBODAxNzRFM0MzOEI0NjI2ODBFNEZFODBDQzAyODk0NjM2Cis6MTAxMTgwMDAyNkIwMDJFOEJDRkUzM0MwODc0NjU2RjZDMzAxNzUwQTk2Cis6MTAxMTkwMDAzNjg5NDc1NkE4MDE3NTBCRUJCREEzMjAwMUE4MDE3NTQwCis6MTAxMUEwMDAwMkVCQjQ4OTFFMzAwMUMzNjAxRTA2MkJDMDhFRDhBMDhFCis6MTAxMUIwMDA5MDEyODRDMDc1NDlBMTIyMDFBODAxNzUwM0U4RjZGRUNBCis6MTAxMUMwMDBBMTIwMDFBODAxNzUwM0U4OEFGRkExQUMxMzQ4NzgwNUE2Cis6MTAxMUQwMDA3NDQ1QTNBQzEzQTFBRTEzNDg3ODA1NzQ1MUEzQUUxM0E0Cis6MTAxMUUwMDBBMUIwMTM0ODc4MDU3NDYzQTNCMDEzQTE3RTEyNDA3OEIwCis6MTAxMUYwMDAwM0EzN0UxMkI4MDA4MEJBMjJGRkVGMDcxRjYxQ0ZBMEMxCis6MTAxMjAwMDA5MTEyNDAzQzAyNzIwQjMzQzBBMjkxMTJGRjE2N0MxMjY1Cis6MTAxMjEwMDBFQkE0QTI5MTEyRUI5RkEwOEUxMjMyMDY4RjEyQTI4RTI3Cis6MTAxMjIwMDAxMjBBMDYxQTAxQkEwMDAxRUVCODJDMDFFQkE0ODMzRUEzCis6MTAxMjMwMDA4NDEyMTA3MjExQkEyOEZGRUQwQzgxRUZFODUzMzdCQTBGCis6MTAxMjQwMDAyOEZGRUQyNDdFRUZCODA0MDBFQjkyQzYwNjhEMTIwMTU0Cis6MTAxMjUwMDBFODNGMzdDNjA2OEQxMjAwQTFCMjEzRUI4QjkwOEExRUIxCis6MTAxMjYwMDAwQjAxMkFGRjZCQzMxOUJBNjJGRkVGQjgwQTAwQkE2MDFDCis6MTAxMjcwMDBGRkVGQjgwMUUwQkE2NkZGRUZCOEZGRkZCQTUyRkZFRjI5Cis6MTAxMjgwMDBCODA5QzBCQTU2RkZFRkM3MDZBQzEzMkMwMUM3MDZBRUFCCis6MTAxMjkwMDAxMzA0MDBDNjA2OTExMjAwQzM5MDhBMUUwQjAxMkFGRjk4Cis6MTAxMkEwMDA2QkMzMDVEMUU4QTMxODAxQzM5MDUyQkE1MEZGRUQ1QUExCis6MTAxMkIwMDBDMzkwNTM1MThCMUUxODAxQjkzMjA1OTBFMkZFNEI3NTU1Cis6MTAxMkMwMDBGNzU5NUJDM0IwODBCQTAwMDEwQTA2MUEwMUVFQzM5MDU5Cis6MTAxMkQwMDBCMDQwRUJGMkIwQzBFQkVFQjAwMEVCRUFGQTYwMDYxRUY1Cis6MTAxMkUwMDAxNjJCREI4RURCMkVBMUJBNEMyRUEzOTI0Q0EwOTMxMkIwCis6MTAxMkYwMDA5ODhCRTg4OTI2MkQ3QTgwM0VDQTEzMDA3NDAzRTk2QjI3Cis6MTAxMzAwMDA0MkU4QzBGRkU4QUJGRkU4QThGRkIwMjBDNjA2OTAxMjk1Cis6MTAxMzEwMDAwMEZGMTY3QzEyOEJGRDgzRkYwQTcyMTFFOEI5RkZFODBCCis6MTAxMzIwMDA5MEZGRThBQkZGRTg4QUZGODNFRjBBRUJFQTBCRkY3NDVDCis6MTAxMzMwMDAwRkU4QTRGRkU4N0JGRkU4OUFGRkU4NzVGRjRGNzVGMTFGCis6MTAxMzQwMDBFODk1RkZFODZDRkZFQkI5OEE4NkE1MDAyNEZERUU4OERFCis6MTAxMzUwMDA4NkE1MDBDMzhBODZBNjAwMEMwMkVFQzM4Qjc2MzhGN0ZBCis6MTAxMzYwMDBDNjAxMDA3NEVGOEI0RTM2OEI0NjJFM0JDMTczMDI4QjQ5Cis6MTAxMzcwMDBDODJCQzE4OTQ2MkUwMTRFMzRDNDdFMDQyNjAxMEQ4QjM0Cis6MTAxMzgwMDA3RTJDODNFQTA0RjM2QzhFQzE4OTdFMkMzQjQ2M0M3MjMyCis6MTAxMzkwMDAxMkY3QzYyMDAwNzUwQjgzQ0UyMDg5NzYzOEIwMDBFODlFCis6MTAxM0EwMDBBMEZDQzNGN0M2MDQwMDc0MUI4QkQ4ODNDRTEwODk3NkNCCis6MTAxM0IwMDAzODhBODZBNzAwMjRGRTg4ODZBNzAwODNDMjA4RUU4M0E5Cis6MTAxM0MwMDBFQTA4OEJDMzNENDAwMDcyMDFDMzgxNEUzODAwMDQ4MzlDCis6MTAxM0QwMDBDMjAyOEE4NkE1MDAyNEZBODg4NkE1MDBFRUMzOEE4NjAyCis6MTAxM0UwMDBBNjAwMEMwMkVFQzNGNzQ2MzgwMTAwNzRGMThCNEUyRUI2Cis6MTAxM0YwMDAzMkRCOEFCRUEzMDA4M0MyMDZDNDc2MDQ4QjdFMkM4M0I0Cis6MTAxNDAwMDBGOTA4NzIyQ0VDQTgwMTc0MTY4QUUwODNFQTBBRUM4M0NFCis6MTAxNDEwMDBDMjBBODRFNzc1NTFBQUZFQzM0OTgzRjkwODczRTUzMjBECis6MTAxNDIwMDBGRjI2MDExQzAxNUUzNDg5NzYwNDg5NEUyRTg5N0UyQ0FDCis6MTAxNDMwMDAzQjRFM0M3MjExRjY0NjM4MjA3NDAxQzM4MzRFMzgyMDZGCis6MTAxNDQwMDBCMDAwRThGREZCQzNGNjQ2MzgwNDc0MTU4MzRFMzgxMDJGCis6MTAxNDUwMDA4QTg2QTcwMDI0RkU4ODg2QTcwMDgzRUEwMkVFODNDMjVDCis6MTAxNDYwMDAwMjNENDAwMDcyNURDMzMyRkYyNjAzMUM4NURCNzQwOTE4Cis6MTAxNDcwMDAyNjg5MUM4QkY3NDc0NzQ5NDk4MEU0MUU4MENDQzAyNjRCCis6MTAxNDgwMDA4OTA0RjZDNDEwNzQyNzhCNzYzOEY3QzYwMDEwNzQwQkU1Cis6MTAxNDkwMDA1MEZFODZCMjAwQjAwQUU4QThGQjU4RjdDNjAwMDE3NEY3Cis6MTAxNEEwMDAwREU4ODIyNjhCNzYzODhCNEUyRThCN0UwNEFCOEJGNzI1Cis6MTAxNEIwMDAzM0MwQUIzMkRCOEFCRUEzMDA0OTQ5ODNGOTA4NzIxN0Y3Cis6MTAxNEMwMDBFOTQxRkY4MTRFMzgwMDA0ODNDMkY4OEE4NkE1MDAyNEQyCis6MTAxNEQwMDBGQTg4ODZBNTAwRUVDM0U5NDVGRjgzQzIwOEVDODg4NjNBCis6MTAxNEUwMDBBQTAwQzBFODA0OEFFMDhBQzg4Njg2QTkwMDMyRTA4Qjk4Cis6MTAxNEYwMDA1RTNFODRFMzc0NEY4QUMxOEI0RTI2RjZDNTA0NzQwQzlECis6MTAxNTAwMDBBODA4NzQwNTgwRTFCRkVCMDM4MEM5NDBGNkM1MDg3NEU0Cis6MTAxNTEwMDAwQ0E4MDI3NDA1ODBFMTdGRUIwMzgwQzk4MDg4NEUyNjA5Cis6MTAxNTIwMDA4QkYwOEE4NkE1MDA4NEM5NzQwOEE4MDI3NDE1MjRGRDZFCis6MTAxNTMwMDBFQjA2QTgwMjc1MEQwQzAyODg4NkE1MDA4M0VBMEFFRTY4Cis6MTAxNTQwMDA4M0MyMEE4QkM2ODRFNzc1MDFDM0M2ODZCQTAwMDFCMEEwCis6MTAxNTUwMDAwRUU4RUVGQUY3NDYzODAwMDI3NEVFODM3RTJFMDY3MjJECis6MTAxNTYwMDBFODhBQTZBQTAwQzQ1RTA0OEI3RTJDQjBGRkFBQjAwMjUzCis6MTAxNTcwMDBBQjI2ODMwNzAzODM2RTJFMDM4OTdFMkNGNjQ2MzgyMDI0Cis6MTAxNTgwMDA3NDAxQzM4MzRFMzgyMEIwMDBFOEI2RkFDMzkwODNFQUYyCis6MTAxNTkwMDAwOEU5QjRGRDgzQzIwNjhCNUUyNkY2QzNDMDc1RUY4QkU3Cis6MTAxNUEwMDA0RTFDRUM4ODg2QTQwMDgzRUEwQUE4MjA3NTAyOEFDRDI2Cis6MTAxNUIwMDAzMkVEOEI0NjFBM0JDODczMTgwMTRFMkEyQkMxODk0NjVGCis6MTAxNUMwMDAxQUM1NzYwMEYzNkU4RUQ5ODk3NjAwM0QyMDAwNzIzMDAwCis6MTAxNUQwMDBDMzg1QzA3NDMxOEJDODAxNDYyQUM1NzYwMEYzNkU4RTcwCis6MTAxNUUwMDBEOTgwQ0IwMjg5NUUyNkU4MzJGMUY2QzcwMTc1MTY4M0YxCis6MTAxNUYwMDBDMjAyRTg1M0ZERjZDNzEwNzUwQkIwMDJFODQzRkFDMzA4Cis6MTAxNjAwMDBGNkM3MDE3NEYwQzM4MENCMDI4OTVFMjZGNkM3MDE3NDY5Cis6MTAxNjEwMDBERTgzQzIwMkU4MzFGREY2ODZBNDAwNDA3NDBCODBFNzQ5Cis6MTAxNjIwMDBGRTgwQ0YwMjg5NUUyNkVCQ0NCMDA0RTgxNEZBQzNDMDdBCis6MTAxNjMwMDBDMkM4Q0FDNEM2Q0NDRUQwRDJEOERBRDRENkRDREU5MEVBCis6MTAxNjQwMDBFOTBFMDFFNEM0OEFFMEU0QzQ4QkQwODNGOTA4NzJGMEE3Cis6MTAxNjUwMDAyNjgzM0YwMDc0MDQ4QkRGNDk0OThCRkI4QURFODNFM0RBCis6MTAxNjYwMDAwRjJFOEFBNzJGMTZBQkY2QzQxMDc0MjRGN0M2MDAxMEVECis6MTAxNjcwMDA3NDBCNTBGRTg2QjIwMEIwMEFFOEM2Rjk1OEY3QzYwMEVGCis6MTAxNjgwMDAwMTc0MERFOEEwMjQ4Qjc2Mzg4QjRFMkU4QjdFMDRBQjM0Cis6MTAxNjkwMDA4OTdFMDQzM0MwQUI0OTQ5ODk0RTJFODk3RTJDOEJDMThCCis6MTAxNkEwMDBFQjRFOTBFQjlFOTBFNEQ2ODRDMDc5NjNFNkQwOEFDODc2Cis6MTAxNkIwMDAyNTAzMDAwM0Q4RDFFMzJFOEJBRjQ0MDA4ODhFQUUwMDAzCis6MTAxNkMwMDA4QjRFMkVDNDVFMDQ4QjdFMkM4Qjc2MzhFNDg2MjQwN0VBCis6MTAxNkQwMDAzQzAzNzVDRkU0MUM5MTNCQzE3MzAyOEJDODJCQzE4OUJECis6MTAxNkUwMDA0NjJFMDE0RTM0MjYwMTBGQkFDNDAwRjM2Qzg5N0UyQ0JECis6MTAxNkYwMDAzQjQ2M0M3MjFDRjdDNjIwMDA3NTBCODNDRTIwODk3NkQyCis6MTAxNzAwMDAzOEIwMDBFODNDRjk4QTg2QUUwMDI0M0ZFNkQ2QzNGOTNCCis6MTAxNzEwMDBDM0Y3QzYwQTAwNzQzNUY3QzYxMDAwNzUyRjgzQ0UxMEM0Cis6MTAxNzIwMDA4OTc2MzhGN0M2MDIwMDc0MEU1MEU0RDgyNEZFRTZEODU1Cis6MTAxNzMwMDA1OEY3QzYwODAwNzQxNTUwNTFCOUU4MDNFNDBBODRDMDhDCis6MTAxNzQwMDBFMEZBODRDMDc1MDRCMDI0RTYwQTU5NTgzRDQwMDA3MzlECis6MTAxNzUwMDBCNThBODZBNTAwMjRFRjg4ODZBNTAwRTYwQzgxQ0UxMDA4Cis6MTAxNzYwMDAwNDg5NzYzOEVCQTAwMDA4MDQwQzAxMDkwNTBEMDIwQTczCis6MTAxNzcwMDAwNjBFMDMwQjA3MEYwMDQwODBDMDIwNjBBMEUwMTA1MDUxCis6MTAxNzgwMDA5MEQwMzA3MEIwRjBFNEQyRTZEMDhBQzgyNTAzMDAwM0QwCis6MTAxNzkwMDBEOEQxRTMyRThCQUY0NDAwODg4RUFFMDBFNEQ4QzBFOEU5Cis6MTAxN0EwMDAwNDhCRDgyRThBODc2NjE3OEFFMDhBQzg4Njg2QTkwMEE1Cis6MTAxN0IwMDAzMkUwRTQ5ODhCNUUzRTg0RTM3NDU0OEFDMThCNEUyNkZCCis6MTAxN0MwMDBGNkM1MDQ3NDBDQTgwODc0MDU4MEUxQkZFQjAzODBDOTVBCis6MTAxN0QwMDA0MEY2QzUwODc0MENBODAyNzQwNTgwRTE3RkVCMDM4MDE1Cis6MTAxN0UwMDBDOTgwODg0RTI2OEJGMDhBODZBNTAwRjZDMUZENzQwODU0Cis6MTAxN0YwMDBBODA2NzQxOTI0RjlFQjBGQTgwNjc1MTFGNkM1MDE3NTMyCis6MTAxODAwMDAwNDBDMDRFQjAyMEMwMjg4ODZBNTAwRTYwQzhCQzY4NDRGCis6MTAxODEwMDBFNzc1MDk4QTg2QUUwMDI0M0ZFNkQyQzNDNjg2QkEwMEMxCis6MTAxODIwMDAwMUIwMEVFODFDRjhGNzQ2MzgwMDAyNzRFNjgzN0UyRUZECis6MTAxODMwMDAwNjcyRTA4QTg2QTkwMDhBRTA4Njg2QUEwMDhBQzgzMkYzCis6MTAxODQwMDBDNDgwQzkwQjIyQzFDMEU0MDQwQUUwQzQ1RTA0OEI3RURDCis6MTAxODUwMDAyQ0IwRkZBQUIwMDJBQjI2ODMwNzAzODM2RTJFMDM4OTQ4Cis6MTAxODYwMDA3RTJDRjY0NjM4MjA3NUFCODM0RTM4MjBCMDAwRThEMTg4Cis6MTAxODcwMDBGN0VCQTA5MEU0MTIyNERGRTYxMjgxRTNGRTlGODk1RTdECis6MTAxODgwMDAyNjgzNjY0OEY3RUI3MzkwRjZDNzIwNzVFN0U0MTIwQ0UxCis6MTAxODkwMDAyMEU2MTIzMkMwRTZDNkIwODNFNkM2ODBDRjIwODk1RTVECis6MTAxOEEwMDAyNjhBODZBNTAwMEMwMjg4ODZBNTAwRTYwQ0VCNzQ5MEJCCis6MTAxOEIwMDBGNkM3NDA3NUQzRTQxMjBDMjBFNjEyMzJDMEU2QzZCMDdCCis6MTAxOEMwMDA4MUU2QzY4MEU3REY4MENCMDE4OTVFMjZCMDA2RTg3MTNECis6MTAxOEQwMDBGNzkwOEE4NkE1MDAyNEY5RTYwQzg4ODZBNTAwRUI0M0RDCis6MTAxOEUwMDBFNEQ0RTZEMDhCRjgyNTAzMDAwM0Q4RDFFMzJFOEJBRkU4Cis6MTAxOEYwMDA0NDAwOEI1RTI2RjZDNzYwNzVCNkY2QzNDMDc1RDNCQUQyCis6MTAxOTAwMDBDNjAwOEI0RTFDOEI0NjFBM0JDODczMUUwMTRFMkEyQkY5Cis6MTAxOTEwMDBDMTg5NDYxQUM1NzYwMEYzNkU4RUQ5ODk3NjAwM0QyMEJFCis6MTAxOTIwMDAwMDcyM0Q4QkM3MjQzRkU2RDRDMzg1QzA3NDM5OEJDODkxCis6MTAxOTMwMDAwMTQ2MkFDNTc2MDBGMzZFOEVEOTgzQ0IwMjg5NUUyNkQ2Cis6MTAxOTQwMDBFOEQ5RURGNkM3MDE3NTM5OEE4NkE1MDAyNEY5RTYwQ0I5Cis6MTAxOTUwMDA4ODg2QTUwMEY2QzcxMDc1Q0FCMDAyRThFNEY2RUJDM0E2Cis6MTAxOTYwMDBGNkM3MDE3NEVGRUJCQ0Y2QzcwMTc0REM4QTg2QTUwMEVDCis6MTAxOTcwMDBBODAyNzQxMTgxRTNGRkZFODFDQjAwMDI4OTVFMjZFQjkxCis6MTAxOTgwMDBDNzhBODZBNTAwMjRGQjBDMDJFNjBDODg4NkE1MDBFQjFFCis6MTAxOTkwMDA5MjkwRkRGN0RGN0ZGRUZCRUZCRjAwMDQwMDA0MDUwNDFCCis6MTAxOUEwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNEY2Cis6MTAxOUIwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDAyMDQwMDA0MDUwNEU1Cis6MTAxOUMwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNEQ2Cis6MTAxOUQwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNEI5Cis6MTAxOUUwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNEE5Cis6MTAxOUYwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNDk5Cis6MTAxQTAwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNDg4Cis6MTAxQTEwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDAzMDQwMDA0MDUwNDgzCis6MTAxQTIwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNDc1Cis6MTAxQTMwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDAyMDQwMDA0MDUwNDY0Cis6MTAxQTQwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNDU1Cis6MTAxQTUwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNDM4Cis6MTAxQTYwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNDI4Cis6MTAxQTcwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNDE4Cis6MTAxQTgwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNDA4Cis6MTAxQTkwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDMzREI4QUQ4OEE4Nzk2Cis6MTAxQUEwMDA2QzEyRTZGRUMxRTMwMkU0Q0VBODA0NzUwOUE4MDI3NDM0Cis6MTAxQUIwMDAwM0U5MkNGRUY5QzM1MDUzRThDQkZDNUI1OEE4MDI3NDMxCis6MTAxQUMwMDAwM0U5MUNGRUY4QzMzM0RCOEFEODhBODc2QzEyRTZGRTcyCis6MTAxQUQwMDBDMUUzMDJFOUQwRkI5QTFBQzYxQTAwMDAwMjAwMDQwMDEyCis6MTAxQUUwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMEQ4Cis6MTAxQUYwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMEM2Cis6MTAxQjAwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMEI3Cis6MTAxQjEwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBDMDAwMjAwMDQwMEEzCis6MTAxQjIwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDk3Cis6MTAxQjMwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMDg1Cis6MTAxQjQwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDc3Cis6MTAxQjUwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBFMDAwMjAwMDQwMDYxCis6MTAxQjYwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDU3Cis6MTAxQjcwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMDQ1Cis6MTAxQjgwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDM3Cis6MTAxQjkwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBDMDAwMjAwMDQwMDIzCis6MTAxQkEwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDE3Cis6MTAxQkIwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMDA1Cis6MTAxQkMwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMEY3Cis6MTAxQkQwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMEMzOTBEQTE0OTQxNTBCCis6MTAxQkUwMDA1QzEzRTYxM0RBMUJEQTFCRTYxM0RBMUI4Qjk0NjQxMjIwCis6MTAxQkYwMDBDMUU2MDRBODAxNzQzNTUwMzNDMDhBQzJFNkZFRTRBMEYxCis6MTAxQzAwMDA4NUMwNzQyNzhCRDgyRThBOUZEQTFBNTI1NjJFOEJBODNECis6MTAxQzEwMDA0NDAwOEI1NjI4RUNBODAxNzUwRDg4ODZBRDAwMjQwRTczCis6MTAxQzIwMDA4QUQ4MkVGRjk3REMxQjVFNUFFQkNENThBODAyNzQzNjdCCis6MTAxQzMwMDA4M0M2MTAzM0MwOEFDNkU2RkVFNEEwODVDMDc0Mjc4QjM1Cis6MTAxQzQwMDBEODJFOEE5RkRBMUE1MjU2MkU4QkE4NDQwMDhCNTYyODFCCis6MTAxQzUwMDBFQ0E4MDE3NTBEODg4NkFEMDAyNDBFOEFEODJFRkY5NzVBCis6MTAxQzYwMDBEQzFCNUU1QUVCQ0RDMzkwMzJFNDhCRDg4QkQwMkU4QTJFCis6MTAxQzcwMDA5RjlBMTkyRTIyOTc5MjE5NTY1MjhBQzMyNDAzMDNDNjlCCis6MTAxQzgwMDA4MEUzMDREMEVCMkVGRjk3RDYxQTU4NUVBOTU1MDA3NTU1Cis6MTAxQzkwMDBEOUMzNjAxRTA2MkJDMDhFRDhBMTVDMTJFNkZFRTQwMEZDCis6MTAxQ0EwMDAyMkM0NzQwODMzRjZFOEJGRkZFQkVFOTBFNDA0MDdFNEM3Cis6MTAxQ0IwMDAwNDFGQjgwMDgwQkEyMkZGRUY2MUNGOTA2MDFFMDYyQjkwCis6MTAxQ0MwMDBDMDhFRDhBMTVFMTJFNkZFRTQwMDIyQzQ3NDA4QkUwNEYxCis6MTAxQ0QwMDAwMEU4OTRGRkVCRURFNDA0MDdFNDA0MUZCODAwODBCQUM5Cis6MTAxQ0UwMDAyMkZGRUY2MUNGOTA2MDFFMDYyQkMwOEVEOEExNUMxMjQwCis6MTAxQ0YwMDBFNkZFRTQwMDIyQzQ3NDE4MzNGNkU4NkJGRkExNjAxMjFDCis6MTAxRDAwMDBFNkZFRTQwMDIyQzQ3NEU1QkUwODAwRTg1QUZGRUJEREZECis6MTAxRDEwMDBBMTYwMTJFNkZFRTQwMDIyQzQ3NUVERTQwNDA3RTQwNEM5Cis6MTAxRDIwMDBBMTVDMTJFNkZFRTQwNDFGRTQwNEI4MDA4MEJBMjJGRkJFCis6MTAxRDMwMDBFRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTE1RTEyRTZGRTJBCis6MTAxRDQwMDBFNDAwMjJDNDc0MTlCRTA0MDBFODFDRkZBMTYyMTJFNjdDCis6MTAxRDUwMDBGRUU0MDAyMkM0NzRFNEJFMEMwMEU4MEJGRkVCRENBMTNGCis6MTAxRDYwMDA2MjEyRTZGRUU0MDAyMkM0NzVFREU0MDQwN0U0MDRBMTc3Cis6MTAxRDcwMDA1RTEyRTZGRUU0MDQxRkU0MDRCODAwODBCQTIyRkZFRjFFCis6MTAxRDgwMDA2MUNGNjAxRTA2MkJDMDhFRDhBMTVDMTJFNkZFRTQ4MEY3Cis6MTAxRDkwMDA4NEM0NzQwODMzRjZFODUzRkVFQkVFOTBCODAwODBCQUMyCis6MTAxREEwMDAyMkZGRUYwNzFGNjFDRjkwNjAxRTA2MkJDMDhFRDhBMUM3Cis6MTAxREIwMDA1RTEyRTZGRUU0ODA4NEM0NzQwOEJFMDIwMEU4MkNGRUQ1Cis6MTAxREMwMDBFQkVEQjgwMDgwQkEyMkZGRUYwNzFGNjFDRjkwNjAxRUQ1Cis6MTAxREQwMDAwNjJCQzA4RUQ4QTE2MDEyRTZGRUU0ODA4NEM0NzQwODhECis6MTAxREUwMDBCRTA0MDBFODA2RkVFQkVEQjgwMDgwQkEyMkZGRUYwNzY0Cis6MTAxREYwMDAxRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTE2MjEyRTZGRTM2Cis6MTAxRTAwMDBFNDgwODRDNDc0MDhCRTA2MDBFOEUwRkRFQkVEQjgwMDkxCis6MTAxRTEwMDA4MEJBMjJGRkVGMDcxRjYxQ0Y5MDYwMUUwNjJCQzA4RTk1Cis6MTAxRTIwMDBEOEExNUMxMkU2RkVFNDAwMjJDNDc0MTgzM0Y2RTgzNzQ5Cis6MTAxRTMwMDBGRUExNjAxMkU2RkVFNDgwODRDNDc0RTVCRTA0MDBFOEZFCis6MTAxRTQwMDBBQUZERUJEREExNjAxMkU2RkVFNDgwODRDNDc1RURBMTdECis6MTAxRTUwMDA1QzEyRTZGRUU0MDQwN0U0MDQxRkI4MDA4MEJBMjJGRjI3Cis6MTAxRTYwMDBFRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTE1RTEyRTZGRUY5Cis6MTAxRTcwMDBFNDAwMjJDNDc0MTlCRTA0MDBFOEVDRkRBMTYyMTJFNjdECis6MTAxRTgwMDBGRUU0ODA4NEM0NzRFNEJFMDYwMEU4NUZGREVCRENBMUUwCis6MTAxRTkwMDA2MjEyRTZGRUU0ODA4NEM0NzVFREExNUUxMkU2RkVFNDAzCis6MTAxRUEwMDAwNDA3RTQwNDFGQjgwMDgwQkEyMkZGRUY2MUNGNjAxRTcwCis6MTAxRUIwMDAwNjJCQzA4RUQ4QTE1QzEyRTZGRUU0ODA4NEM0NzQxOEEwCis6MTAxRUMwMDAzM0Y2RTgyN0ZEQTE2MDEyRTZGRUU0MDAyMkM0NzRFNUMzCis6MTAxRUQwMDBCRTA4MDBFODkyRkRFQkREQTE2MDEyRTZGRUU0MDAyMjAwCis6MTAxRUUwMDBDNDc1RURFNDA0MDdFNDA0MUZCODAwODBCQTIyRkZFRkQ0Cis6MTAxRUYwMDA2MUNGNjAxRTA2MkJDMDhFRDhBMTVFMTJFNkZFRTQ4MDg0Cis6MTAxRjAwMDA4NEM0NzQxOUJFMDIwMEU4RTJGQ0ExNjIxMkU2RkVFNDk5Cis6MTAxRjEwMDAwMDIyQzQ3NEU0QkUwQzAwRTg0REZERUJEQ0ExNjIxMkFCCis6MTAxRjIwMDBFNkZFRTQwMDIyQzQ3NUVERTQwNDA3RTQwNDFGQjgwMEYzCis6MTAxRjMwMDA4MEJBMjJGRkVGNjFDRjkwNjAxRTA2MkJDMDhFRDhBMTIxCis6MTAxRjQwMDA1QzEyRTZGRUU0ODA4NEM0NzQxODMzRjZFODlERkNBMUJDCis6MTAxRjUwMDA2MDEyRTZGRUU0ODA4NEM0NzRFNUJFMDQwMEU4OENGQ0Y0Cis6MTAxRjYwMDBFQkREQTE2MDEyRTZGRUU0ODA4NEM0NzVFRDA3MUZCOEM2Cis6MTAxRjcwMDAwMDgwQkEyMkZGRUY2MUNGNjAxRTA2MkJDMDhFRDhBMTcxCis6MTAxRjgwMDA1RTEyRTZGRUU0ODA4NEM0NzQxOUJFMDIwMEU4NUNGQ0M0Cis6MTAxRjkwMDBBMTYyMTJFNkZFRTQ4MDg0QzQ3NEU0QkUwNjAwRTg0QjRECis6MTAxRkEwMDBGQ0VCRENBMTYyMTJFNkZFRTQ4MDg0QzQ3NUVEMDcxRjQxCis6MTAxRkIwMDBCODAwODBCQTIyRkZFRjYxQ0Y5MDYwMUUwNjJCQzA4RTYyCis6MTAxRkMwMDBEODkwMkFDMEU2RkVFNENFQTgwMTc0MTQzM0RCRThENTJECis6MTAxRkQwMDBGNkVCRUY5MEI4MDA4MEJBMjJGRkVGMDcxRjYxQ0Y5MEI5Cis6MTAxRkUwMDBGNjA2MDUwMTAxNzVFREIwMDFFNkZFRTRDRUE4MDE3NDI4Cis6MTAxRkYwMDBFM0JCMDQwMEU4QUZGNkVCQzk5MDYwMUUwNjJCQzA4RTcxCis6MTAyMDAwMDBEODkwRkI5MEZBMkFDMEU2RkVFNENFQTgwMjc0MTMzM0ZGCis6MTAyMDEwMDBEQkU4Q0NGOEVCRUNCODAwODBCQTIyRkZFRjA3MUY2MUQ5Cis6MTAyMDIwMDBDRjkwQTgwNDc0RjAzM0RCRTg1QkY3RUJENTkwNjAxRTJCCis6MTAyMDMwMDAwNjJCQzA4RUQ4OTBGQjkwRkFCMDAxRTZGRUU0Q0VBODQ1Cis6MTAyMDQwMDAwMjc0MTVCQjA0MDBFODk3RjhFQkVCOTBCODAwODBCQTc3Cis6MTAyMDUwMDAyMkZGRUYwNzFGNjFDRjkwQTgwNDc0RjBCQjA0MDBFOEQzCis6MTAyMDYwMDAyNEY3RUJEMjZBMDAxRkM2MDY5MzEyMDk5QzBFRTg2Qjk4Cis6MTAyMDcwMDBGMjkwNkEwMDFGQzYwNjkzMTIyOTlDMEVFODVERjI5MDRBCis6MTAyMDgwMDA3MjIwNzIyMDcyMjBDRTFEOTIxQ0U2MUMxQTFFNzIyMDM1Cis6MTAyMDkwMDA4MjFEQUUxRTM4MUY3MjIwODIxRDcyMjA3MjIwMzgxRkQyCis6MTAyMEEwMDA3MjIwNzIyMDcyMjBGNDFEQkMxQzM0MUQ2NDFFNzIyMDJDCis6MTAyMEIwMDBBODFERjIxRTc4MUY3MjIwQTgxRDcyMjA3MjIwNzgxRkEyCis6MTAyMEMwMDBGQ0I5NDAwMDhDQ0JCODY0MjAyQkZGQUI5M0FCOTNFMjAwCis6MTAyMEQwMDBGQUM3MDY0QzAwQTgxMTgzM0U0NDEyMDA3NTIwQzcwNkJCCis6MTAyMEUwMDAzQzAwMDg0QkM3MDYzMDAwQkExRkM3MDYzNDAwRkExRjcxCis6MTAyMEYwMDBGNjA2MDUwMTAxNzUwNkM3MDYzODAwMkUyMEMzQzcwNjdGCis6MTAyMTAwMDAzQzAwNTY0QjMzREI4QTFFNTQxMkMxRTMwMjAyMUU1NkJBCis6MTAyMTEwMDAxMjJFOEI4NzgwMjBBMzMwMDA4QTFFNTUxMkMxRTMwMjQ1Cis6MTAyMTIwMDAwMjFFNTcxMjJFOEI4N0EwMjBBMzM0MDBDMzhCODY5RURECis6MTAyMTMwMDAwMEU2RkU4NkM0RTZEMEMzOEI4NjlFMDBFNkZFMzNEMjYwCis6MTAyMTQwMDA4QUQ0QzM1MUI5MTAyN0U0MEE5MDkwODRDMDc0MDVFMjgwCis6MTAyMTUwMDBGNjU5RjlDMzU5RjhDMzg0QzA3ODFFNTE4QUU4OEFDODcxCis6MTAyMTYwMDBCODAxMDBEM0UwMDk4Njk4MDAzQUFFQTAwMDU5NzUxMDc2Cis6MTAyMTcwMDBFOEE5RTU4MzRFMjYwMkY5QzM5ODg5ODY5ODAwRUJGMDFBCis6MTAyMTgwMDBGOEMzODRDMDc4MTI1MThBRTA4QUM4QjgwMTAwRDNFMDRECis6MTAyMTkwMDA1OUY3RDAyMTg2OTgwMEMzQzc4Njk4MDAwMDAwQzM4M0YyCis6MTAyMUEwMDBDMjA0OEE4NkE2MDAwQzA0RUU4M0VBMDRDM0U4OTNGRjA3Cis6MTAyMUIwMDA3MjA0QjA4MkU2MEFDMzhCNDYyNkE4RkQ3NDExOEE4NjkzCis6MTAyMUMwMDBBNTAwQTgwNjc0MDgyNEY5ODg4NkE1MDBFNjBDQzNGNkM1Cis6MTAyMUQwMDBDNDAxNzQwQThBODZBNTAwMjRGQjBDMDJFQjBDQTgwMjM5Cis6MTAyMUUwMDA3NTBGOEE4NkE1MDAyNEZEMEMwNDNBODZBNTAwNzVEOEQzCis6MTAyMUYwMDBDMzhBODZBNTAwRUJDRkU0RDgzM0RCOEFEOEMwRUIwNEQyCis6MTAyMjAwMDAyRThBOUY2NjE3ODg5RUE5MDA4QjVFMjY4MEUzM0ZGNjg0Cis6MTAyMjEwMDBDNzA0NzQwN0E4MTA3NTAzODBDQjQwRjZDNzA4NzQwNzdECis6MTAyMjIwMDBBODgwNzUwMzgwQ0I0MDg4NUUyNjhBODZBNTAwRjZDMzA5Cis6MTAyMjMwMDBGRDc0MERBODA2NzQwODI0Rjk4ODg2QTUwMEU2MENDMzcxCis6MTAyMjQwMDBGNkM3MDE3NDA0MEMwMkVCRjBGNkMzMDI3NUU5MEMwNDQ2Cis6MTAyMjUwMDBFQkU3QzQwNEM0MDQ4NTA0NTkwNDQ4MDQ0MTA0QzMwM0RGCis6MTAyMjYwMDA4MjAzNDEwMzgyMDI1NzAyNDEwMjgyMDE0MTAxODIwMDNFCis6MTAyMjcwMDA0MTAwNEUwMkFEMDE1NzAxMkQwMDJCMDAyNzAwMjEwMDI3Cis6MTAyMjgwMDAxNjAwRjQwNEY0MDRBMzA0NkYwNDVCMDQ1MTA0RjQwMzgzCis6MTAyMjkwMDBBMzAzNTEwM0EzMDI2RDAyNTEwMkEzMDE1MTAxQTMwMDQ0Cis6MTAyMkEwMDA1MTAwNjIwMkQ5MDE2RDAxMzgwMDM2MDAzMTAwMjkwMDY5Cis6MTAyMkIwMDAxQjAwNTE1N0JGMDIwMEVCMEY5MDUxNTZCRjAxMDBFQkJFCis6MTAyMkMwMDAwNzkwNTE1NkJGMDMwMDkwM0MxOTc2MDJCMDE3OTg4QkM3Cis6MTAyMkQwMDBGMDhBODJDNDAwMkFFNDhCRjA4M0ZFMTg3MzQ2RDFFNkFDCis6MTAyMkUwMDAyRThCOEM1MjIyRjc0NjM4ODAwMDc0MDUyRThCOEM4MjAwCis6MTAyMkYwMDAyMkY3QzcwMjAwNzQxMjNCOEU5NDAwNzQwQzg5OEU5NEVFCis6MTAyMzAwMDAwMDhBQzVFNkVDOEFDMUU2RTRGN0M3MDEwMDc0MTIzQjE3Cis6MTAyMzEwMDA4RTk2MDA3NDBDODk4RTk2MDA4QUM1RTZGODhBQzFFNjBFCis6MTAyMzIwMDBGMDVFNTlDMzc3MDY4QjhFOEUwMEVCQzU4QjhFOTAwMEM2Cis6MTAyMzMwMDBFQkJGRDUwM0Y2MDAzRTAwMTAwMDA0MDBDQTA0MzMwMUQxCis6MTAyMzQwMDA0RDAwMTQwMDA1MDAwMTAzMDUwNzA5MDAwMTAyMDMwNDA0Cis6MTAyMzUwMDA4MDg0MUUwMEEwMjUyNjAwMDAwMDYwOEJGMDMzRkYyRTM1Cis6MTAyMzYwMDBBMTUwMjMyRThCMTY1MjIzQkIzMjIzRjc0NjM4ODAwMDEwCis6MTAyMzcwMDA3NDBDMkVBMTU0MjMyRThCMTY1NjIzQkIzQzIzQjkwNTc3Cis6MTAyMzgwMDAwMDJFM0IzMTczMEE0NzQ3RTJGN0I4RkZGRkVCMUQ5MDgxCis6MTAyMzkwMDBEMUVGMkU4QThENDYyMzJBRUREMUVBRDFEOEUyRkFGNzgxCis6MTAyM0EwMDBGNjA1MDIwMEMxRTgwMjJFOEFBNTRCMjMyRUEzNTgyMzZFCis6MTAyM0IwMDA2MTJFQTE1ODIzQzMwODAwMjAwMDgwMDAwMDAyNjAwOTlDCis6MTAyM0MwMDAwODAwMjAwMDgwMDAwMDAyMDAwODAwMDAwMTAwMDIwMDU4Cis6MTAyM0QwMDAwMzAwMDQwMDUyNTY1Nzg1QzA3NDA1M0QwMTA5NzYwMzc5Cis6MTAyM0UwMDBCODAxMDlCRjVCMDFGNzQ2Mzg4MDAwNzQwM0JGQjIwMTMyCis6MTAyM0YwMDAzM0Y2MkUzQjg0QjYyMzc2MDQ0NjQ2RUJGNUY3RTcyRUZDCis6MTAyNDAwMDA4QkJDQzAyMzAzQzc4M0QyMDBEMUU3RjdGNzJFOEFBNDgxCis6MTAyNDEwMDBDQTIzNUY1RTVBQzNFNDNFODBCRUMzMDAwMzc1MENGNzU3Cis6MTAyNDIwMDA0NjdBMjAwMDc0MDUwQzgwRTYzRUMzMjQ3RkU2M0VDMzU2Cis6MTAyNDMwMDAyNDAzODg4NkMzMDA4QUUwRTQxMDI0RkMwQUM0RTYxMDYyCis6MTAyNDQwMDA4MDhFQTEwMDQyRThDRUZGQzM5MDU2OEJGMDgzRTYwNzUyCis6MTAyNDUwMDBEMUU2MkVGRkE0NTgyNDkwNjgyNDZDMjQ3MDI0NzQyNEEwCis6MTAyNDYwMDA3ODI0ODcyNDg3MjQ4NzI0QjQwMEVCMEVCNEMwRUIwQUI5Cis6MTAyNDcwMDBCNDQwRUIwNkI0MjBFQjAyQjRBMEU0MTAyNDFGMEFDNDVECis6MTAyNDgwMDBFNjEwODA4RUExMDA0MjVFQzM5MDNDMDI3NzEyOEFFMDgzCis6MTAyNDkwMDBFNDEwMjRGM0MwRTQwMjBBQzRFNjEwODA4RUExMDA0MkQ2Cis6MTAyNEEwMDBDMzkwOEI1RTM4ODRDMDc0MUYzQzAyNzQyMDgzQ0IwOEI5Cis6MTAyNEIwMDA4QjQ2MkUzQjQ2M0M3NzBDRTg4OEZDNzIwN0IwMjRFNjNFCis6MTAyNEMwMDAwQTgzQ0IxMDg5NUUzOEMzODNFM0Y3RUJGN0Y3QzMxMEI5Cis6MTAyNEQwMDAwMDc0RjVFODZERkM3MkVDOEE4NkMwMDBFNjM4QjAyMzIzCis6MTAyNEUwMDBFNjBBRUJFMDhCNUUzODhCNDYyRTNCNDYzQ0U0RDg3NzIxCis6MTAyNEYwMDAwQjI0RkU4MENCMTJFNkQ4ODk1RTM4QzMwQzAxODBDQjVBCis6MTAyNTAwMDAwMkVCRjM1MDMzREJDMUU4MDQyNTBGMEY4QUQ4MkU4QTgzCis6MTAyNTEwMDA4NzY2MTc4QURDMkU4QUE3NjYxNzA5NDYzRTU4QzM1MDdECis6MTAyNTIwMDAzM0RCQzFFODA0MjUwRjBGOEFEODJFOEE4NzY2MTc4QTA1Cis6MTAyNTMwMDBEQzJFOEFBNzY2MTdGN0QwMjE0NjNFNThDMzhCNDYzRTRECis6MTAyNTQwMDAzM0RCOEFEODBBREMyRThBODc3NjE3RTYyQzhBRTBFNDA5Cis6MTAyNTUwMDAyQTI0MEYwQUM0RTYyQThBODZBNTAwODRFNDc1MERBOEY5Cis6MTAyNTYwMDA4MDc0MTEyNDdGODg4NkE1MDBFNjBDQzNBODgwNzUwNEJBCis6MTAyNTcwMDAwQzgwRUJGMUMzMUU2MDMzQzkzM0QyMzNGNjhFRDk4RDk0Cis6MTAyNTgwMDBCRUZEMDA1NzhCMDU4NEMwNzQxNjhCRDE0MjhCRkU0RjY1Cis6MTAyNTkwMDA3ODA5MzhBM0U0MDA3NDA4NEY3OUY3ODhBMkU0MDA0NjZDCis6MTAyNUEwMDA1RjgzQzcwOTQxODNGOTEwNzJEOTg5QjY4NjAwODk5NjdECis6MTAyNUIwMDA4NDAwNjExRkMzNTNDNzQ2NjYwMDAwOEI0NjY0QTk0MDcwCis6MTAyNUMwMDAwMDc0MERCMzAwQTk4MDAwNzQwMkIzN0Y4ODlFQzEwMDFGCis6MTAyNUQwMDAzMkRCQTkwMjAwNzQwMzgwQ0I0MEE5MDA0MDc0MDM4MDYxCis6MTAyNUUwMDBDQjAyQTkwMDgwNzQwMzgwQ0IwMUE5MzAxRTc0MDM4MDQ0Cis6MTAyNUYwMDBDQkJDQTkwMDIwNzQwMzgwQ0IwOEE5MDQwMTc0MDM4MDFDCis6MTAyNjAwMDBDQjEwQTkwODAwNzQwMzgwQ0IyMDg4OUVDMjAwNUJDMzU2Cis6MTAyNjEwMDAwNjUxNTc1MDE2MDc4REJFQzQwMEI5MUYwMDMzQzBBQTFCCis6MTAyNjIwMDA0MEUyRkM4Qjg2OTIwMDg5ODY4RTAwODk4NjkwMDA1ODU1Cis6MTAyNjMwMDA1RjU5MDdDM0U0RDhDMEU4MDQ1MzI1MEYwMDhCRDgyRTk4Cis6MTAyNjQwMDA4QTg3NjYxNzg4ODZBOTAwNUFDMzA4ODZBQzAwQzY4NkEyCis6MTAyNjUwMDBCQTAwMDFCMDBFRThFQUU5QzNBRDM2QTNCNDEzQUQzNjUzCis6MTAyNjYwMDBBM0I2MTNBRDM2QTNCODEzODNFOTA2MzZGNzA2QjYxMzNGCis6MTAyNjcwMDAwRjAwQzM4QTQ2MjZGNzQ2NDg4MDAwNzQwMjBDMTA4ODczCis6MTAyNjgwMDA4NkJEMDAzMkMwODM3RTFBMDA3NTBFOEI1RTQwNDM4MDhCCis6MTAyNjkwMDBFM0ZFM0I1RTA4NzUwMjBDMDE4MzdFM0EwMDc1MEQxRTU5Cis6MTAyNkEwMDBDNTVFMTQ4QjFGMUY4NURCNzUwMjBDMDJGNzQ2MzgxMEMwCis6MTAyNkIwMDAwMDc0MDIwQzA0OEI1RTdBRjdDMzAyMDA3NDAyMEMwOEVCCis6MTAyNkMwMDBGN0MzMDQwMDc0MDIwQzEwRjdDMzA4MDA3NDAyMEMyMDU2Cis6MTAyNkQwMDBGN0MzNDAwMDc0MDIwQzQwODg4NkJGMDBDMzkwNkEwMEI0Cis6MTAyNkUwMDAxRkM2MDY5MzEyMEQ5QzBFRThGMUVCOTBCMDAyRTZEQURECis6MTAyNkYwMDBGOEMzMzNDMEU2REFGOEMzQjAwMUU2RDhGOEMzMzNDMDk0Cis6MTAyNzAwMDBFNkQ4RjhDM0IwRkZFODRFRkFFOEExRkFGOEMzQUM0OTNFCis6MTAyNzEwMDBFOEFGRkJGOEMzOTBBQzQ5RTgxNUZERjhDMzkwQUM0OUFECis6MTAyNzIwMDBFODY3RkRGOEMzOTBBQzQ5RTgxRkZERjhDMzkwQUM0OUQ5Cis6MTAyNzMwMDBFNjM0RjhDM0FDNDlFNjM2RjhDM0FDNDkzQzAyNzcxRjJGCis6MTAyNzQwMDA4NEMwNzUxREU0MTQyNEVGRTYxNEU0MTIyNDNGRTYxMjVECis6MTAyNzUwMDBFNDE2QTgwNDc0MDlFOEVBRjk3MjA0QjAxOEU2MEFGODY1Cis6MTAyNzYwMDBDMzhBRTBFNDE0MEMxMEU2MTRFNDEyMENDMEY2QzQwMUIxCis6MTAyNzcwMDA3NDAyMjQ3RkU2MTJGOEMzQUM0OUU4MjVGREY4QzM5MDQzCis6MTAyNzgwMDBCODAwNDBFODdERkRFOEI0RkRFOEE4RkVCMDAxRThCOTc2Cis6MTAyNzkwMDBGRUY4QzM5MEI4MDA0MEU4ODVGREU4QTBGREY4QzM5MEJFCis6MTAyN0EwMDBCODAwMTBFODVERkRFODk0RkRFODg4RkVCMDA4RTg5OUZGCis6MTAyN0IwMDBGRUY4QzM5MEI4MDAxMEU4NjVGREU4ODBGREY4QzM5MDBFCis6MTAyN0MwMDBCODAwODBFODNERkRFODc0RkRFODY4RkVCMDAyRTg3OUY1Cis6MTAyN0QwMDBGRUY4QzM5MEI4MDA4MEU4NDVGREU4NjBGREY4QzM5MEJFCis6MTAyN0UwMDBCODAwMjBFODFERkRFODU0RkRFODQ4RkVCMDA0RTg1OUIzCis6MTAyN0YwMDBGRUY4QzM5MEI4MDAyMEU4MjVGREU4NDBGREY4QzM5MDNFCis6MTAyODAwMDBBQzQ5RTg0ODE0RTQzQzI0RTcwQUM0RTYzQ0Y4QzM5MDI5Cis6MTAyODEwMDBCOEZDM0I4OTQ2N0NFNDNDMEMxOEU2M0NGOEMzRTQxMjY3Cis6MTAyODIwMDAwQzAyRTYxMkY4QzNFNDEyMjRGREVCRjZFOEI1RkNGODVFCis6MTAyODMwMDBDMzkwODM2NjM4RkRGOEMzQUM0OUE4MDE3NDA2ODM0RTgzCis6MTAyODQwMDA3QTIwRUIwNDgzNjY3QURGRThDQkZCRjhDMzkwOEE4NkI0Cis6MTAyODUwMDBBNTAwMEMwMjI0RkI4ODg2QTUwMEU2MEM4MTRFMjYwMTBCCis6MTAyODYwMDAyMEFDNDkzMkU0ODk0NjZFODM0RTQ4MDg0OTQ2RjlDMzk0Cis6MTAyODcwMDA4QTg2QTUwMDBDMDIyNEZCODg4NkE1MDBFNjBDODE0RTAyCis6MTAyODgwMDAyNjAxMjBBQ0I0MEFGNkU0RUJEOEU4RkExM0U0M0MyNEMxCis6MTAyODkwMDBGODBBQzRFNjNDRjhDMzkwQUQ0OTQ5ODk0NjY0QTkwMUU5Cis6MTAyOEEwMDAwMDc0MUI4QkQ4ODNFM0ZBNzUxQUE5MDQwMDc0MEZFNDMzCis6MTAyOEIwMDAzRTBDMDJFNjNFQjgzODQ0ODk0NjYyRjhDMzkwRTQzRUQ2Cis6MTAyOEMwMDAyNEZDRUJFRkU0M0UyNEZDRTYzRUU4RThGQ0I4QUE0MDNBCis6MTAyOEQwMDBFQkU2RTg2RUY4NzIwNUIwMThFNjBBRjhDMzkwQUM0OTZBCis6MTAyOEUwMDBFOENGRjlGOEMzOTBBQzQ5RThDRkY5RjhDMzkwRTg2OEFECis6MTAyOEYwMDBGRDc1MDYzMkMwRTZEQUY4QzNCMDAyRTZEQTM2QTBCNEY3Cis6MTAyOTAwMDAxMzI0MTAzNDEwRTgxNjAxMzZBMUI0MTNBOTAxMDA3NDgxCis6MTAyOTEwMDAwNUU4RkNGRUVCMEVBOTAyMDA3NDA0MzJDMEVCMDJCMDI1Cis6MTAyOTIwMDAwMUU4REVGRTM2QTFCNDEzRThCNTEzRTQzQzI0RjgwQTRFCis6MTAyOTMwMDBDNEU2M0MzNkExQjQxM0MxRTgwNTI1MDEwMEU4RkFGRTVGCis6MTAyOTQwMDAzNkEwQjUxMzI0MTBFODU5RkIzMkMwMzY4QTI2QjUxM0Q5Cis6MTAyOTUwMDBGNkM0MDQ3NDA5RkVDMEY2QzQwODc0MDJGRUMwRThEQkM1Cis6MTAyOTYwMDBGRDM2QTFCNjEzMjUwRjAwRTg1N0Y5MzZBMUI2MTNDMUZECis6MTAyOTcwMDBFODA0MjUwMzAwRThCOEZBMzZBMUI2MTNDMUU4MDUyNTM2Cis6MTAyOTgwMDAwMjAwRTgwNUZCMzZBMUI2MTNGNkM0MDE3NTA0MzJDMDk3Cis6MTAyOTkwMDBFQjA5ODBFNDAyRDBFQ0IwMDIyQUM0RThBQ0ZBMzZGNkM3Cis6MTAyOUEwMDAwNkI3MTM0MDc0MDVFODgzRkVFQjAzRTg4NEZFMzZGNkIxCis6MTAyOUIwMDAwNkI3MTMyMDc0MDVFODY1RkVFQjAzRTg2OEZFRjhDMzZDCis6MTAyOUMwMDBFNDEyMEMwMUU2MTJGOEMzRTQxMjI0RkVFQkY2RTQxNDYwCis6MTAyOUQwMDAyNEYwMEMwNUU2MTRFNDJBMjRGMDBDMDZFNjJBRjhDM0Q5Cis6MTAyOUUwMDBFNDJBMjRGMEU2MkFFNDE0MjRGMDBDMDdFNjE0RjhDM0UxCis6MTAyOUYwMDBBRDQ5NDlFODY0Rjk4OTg2OEUwMEY4QzNBRDQ5NDlFOEQ0Cis6MTAyQTAwMDA1OEY5ODk4NjkwMDBGOEMzODM0RTI2MDRFOEE4RjdGOEExCis6MTAyQTEwMDBDMzkwODM2NjI2RkJFODlFRjdGOEMzOTBBQzQ5ODRDMDU4Cis6MTAyQTIwMDA3NTBERTQxMDI0RUZFNjEwODA4RUExMDA0MkY4QzNFNDk3Cis6MTAyQTMwMDAxMDBDMTBFQkYxOTBBQzQ5M0MwMjc2MDIzMkMwQzBFMEMxCis6MTAyQTQwMDAwNEE4MjA3NDAyMEMwODI0MTg4QUUwRTQxMjI0RTcwQTdGCis6MTAyQTUwMDBDNEU2MTI4MDhFQTEwMDQ0RjhDM0FDNDk4ODg2QzAwMDQ5Cis6MTAyQTYwMDBGOEMzQUM0OUU2M0FGOEMzQUM0OTg0QzA3NDA4RTQxMjMwCis6MTAyQTcwMDAwQzA0RTYxMkY4QzNFNDEyMjRGQkVCRjZBQzQ5RThENkVBCis6MTAyQTgwMDBGNjczMDNFODI3RjdGOEMzRTQxMkE4MDI3NDA0MjRGREUwCis6MTAyQTkwMDBFNjEyQjhGMDAwRTg4N0ZBODE2NjI2RkZGM0U4NTdGN0Y4Cis6MTAyQUEwMDBFODlBRkFGOEMzOTBCODgwMDBFODU3RkE4MDRFMjcwOEYxCis6MTAyQUIwMDBFODQ0RjdFODg3RkFGOEMzQjg4MDAwRTg2MUZBODE2NjZECis6MTAyQUMwMDAyNkZGRjdFODMxRjdFODc0RkFGOEMzOTBCODEwMDBFODg5Cis6MTAyQUQwMDAzMUZBODA0RTI3MDRFODFFRjdFODYxRkFGOEMzQjgxMDBGCis6MTAyQUUwMDAwMEU4M0JGQTgxNjYyNkZGRkJFODBCRjdFODRFRkFGOEIwCis6MTAyQUYwMDBDMzkwMzNDMEFDNDkzQzAxNzMwNEIwMDFFQjA2M0MwQ0ZECis6MTAyQjAwMDA3NjAyQjAwQzg5NDYxQ0Y4QzM5MDgxNEUyNjAwMjA4QUJDCis6MTAyQjEwMDA4NkE1MDAwQzAyMjRGQjg4ODZBNTAwRTYwQzgzNEUyNkMxCis6MTAyQjIwMDAwMUY4QzM5MDgxNEUyNjAwNDA4QTg2QTUwMDBDMDI4OEQ5Cis6MTAyQjMwMDA4NkE1MDBFNjBDRjhDMzkwQUM0OTUwRTgwNUY2NTg3MjNCCis6MTAyQjQwMDAwOEU2MzhCMDIzRTYwQUY4QzNGOUMzOTBBQzUwQURFODA0Cis6MTAyQjUwMDA4MkY4NUFGNkMyMDE3NDEyMzk4Njk2MDA3NDBDODk4NjdFCis6MTAyQjYwMDA5NjAwRTZGMDg2RTBFNkY4ODZFMEY2QzIwMjc0MTAzOUQ4Cis6MTAyQjcwMDA4Njk0MDA3NDBBODk4Njk0MDBFNkU0ODZFMEU2RUM4Mzk1Cis6MTAyQjgwMDBFOTAzQzM5MEU0MTY4ODg2QkMwMEU4RTZGQTMzREJFNDg4Cis6MTAyQjkwMDAwQ0E4MDY3NDAzODBDQjAxQTgxMDc0MDM4MENCMDJBODk0Cis6MTAyQkEwMDA4MDc0MDM4MENCMDRFNDEyOEFFMDI0MTgwQUQ4RTREQUEzCis6MTAyQkIwMDBGNkM0MDI3NDA3QTg0MDc1MDM4MENCMjBBODAyNzUwOUVCCis6MTAyQkMwMDBFNDJBQTgwRjc0MDM4MENCNDBGNzQ2MzgwMjAwNzQwOTRBCis6MTAyQkQwMDBFNEQ4QTgwMTc1MDM4MENCODA4ODlFQkUwMEZFODZCNDMxCis6MTAyQkUwMDAwMEIwMEFFODVDRTRGOEMzQUM0OTNDMDI3NDQxNzcxRkNBCis6MTAyQkYwMDA1MEU4NEZGNTU4NzIwQzg0QzA3NDBBQjAxMkU2MEE4MDhGCis6MTAyQzAwMDA0RTM4MDFGOEMzQjAxMUU2MEE4MDY2MzhGRUY4QzM4QjZGCis6MTAyQzEwMDA0NjM4MjVGRkY3ODk0NjM4QTkwMDA0NzVFNjhBODZBNTU3Cis6MTAyQzIwMDAwMEE4MTA3NURFMEMxMDg4ODZBNTAwRTYwQ0Y4QzM4MTlDCis6MTAyQzMwMDA0RTM4MDAwODhBODZBNTAwQTgxMDc0QzcyNEVGRUJFNzc5Cis6MTAyQzQwMDBBRDQ5NDkzQzAxNzIxMTNDMEM3NzBENTA4QUUwRTQxNDA3Cis6MTAyQzUwMDAyNUYwMEYwQUM0RTYxNDU4OEFDNDg0QzA3NDAyRTY0MjAwCis6MTAyQzYwMDBGOEMzRThDRkY5RkU4NkI5MDBCMDBFRThENEUzRjhDM0E0Cis6MTAyQzcwMDAzQTg2QUYwMDc0MUY4ODg2QUYwMDhBRTA4MEMyMDZCMDMzCis6MTAyQzgwMDBCRkVFODBFQTAyOEFDNEVFOEE4NkE4MDA4MEMyMDJFRTA1Cis6MTAyQzkwMDA4MEVBMDY4QUM0QzM4QjQ2M0U4NUMwOEE4NkE1MDA3NDM2Cis6MTAyQ0EwMDAxMkE4MDg3NTBEMEMwODg4ODZBNTAwODBDMjAyRUU4MDY3Cis6MTAyQ0IwMDBFQTAyQzNBODA4NzRGQjI0RjdFQkVDOEI0NjI2ODRDMDE5Cis6MTAyQ0MwMDA3NDE2OEE4NkE1MDBBODAyNzQwRDI0RkQ4ODg2QTUwMEM2Cis6MTAyQ0QwMDA4M0MyMDJFRTgzRUEwMkMzOEE4NkE1MDBBODAyNzVGN0MyCis6MTAyQ0UwMDAwQzAyRUJFODUyODNDMjBDRUNDMEU4MDQ4ODg2QTkwMDExCis6MTAyQ0YwMDA4QjVFMjY4MEUzM0ZGNkM3MDQ3NDA3QTgwODc1MDM4MDNGCis6MTAyRDAwMDBDQjQwRjZDNzA4NzQwN0E4MDI3NTAzODBDQjgwODg1RUE1Cis6MTAyRDEwMDAyNjhBODZBNTAwODREQjc0MTBBODAyNzQwQTI0RkQ4ODI0Cis6MTAyRDIwMDA4NkE1MDA4M0VBMEFFRTVBQzNBODAyNzVGQTBDMDJFQkU0Cis6MTAyRDMwMDBFRTkwRkZGRjAwNDgwMDMwQkEyMEM0MUEwMDE4MDAxMkJECis6MTAyRDQwMDAwMDBDMDAwNjAwMDMwMDAyODAwMUMwMDA2MDAwMzAwMDlCCis6MTAyRDUwMDAxODAwQ0QwMTAwMDE4MDAwMTAwMDEwMDAwRTAwMEMwMEQyCis6MTAyRDYwMDAwODAwMDAwMDAwMDAwNjAwMDQwMDAzMDAwMjAwMDEwMDRCCis6MTAyRDcwMDA1MjUxNTYzQzFFNzc0Nzk4OEJGMDhBODJDNDAwMzJFNDQ5Cis6MTAyRDgwMDA4M0ZFMTg3NDNEODNGRTE5NzQzRTgzRkUxRTc3MkZEMTk3Cis6MTAyRDkwMDBFNjJFOEI4QzMyMkQzQjhFOTQwMDc0MjI4OThFOTQwMDBCCis6MTAyREEwMDA4M0MyMDY4QTg2QTgwMDhBRTAwQzgwRUU4M0VBMDY4QTNGCis6MTAyREIwMDBDMUVFODNDMjAyOEFDNUVFODNDMjA0OEFDNEVFNUU1OUE0Cis6MTAyREMwMDA1QUMzOEI4RThFMDBFQkNFOEI4RTkwMDBFQkM4NTI1MTg3Cis6MTAyREQwMDAzRDA1MDA3NzAzQjgwNTAwOEJDOEJBMDIwMEI4MDBEMEUzCis6MTAyREUwMDBGN0YxMDUwMTAwRDFFODU5NUFDMzhCNDY3QUE4MjA3NDNGCis6MTAyREYwMDAwQjgwQkVDMzAwMDM3NTA0MEMwMUVCMDIyNEZFODk0NjYwCis6MTAyRTAwMDA3QUMzMjQwMzg4ODZDMzAwOEFBNkE4MDA4QURDODBFNEVCCis6MTAyRTEwMDBGQzBBQzQzQUMzNzQwQjg4ODZBODAwODNDMjA2RUU4M0ZBCis6MTAyRTIwMDBFQTA2RThDNUZGQzMwMDA4MTgzODI4OTAzQzA0NzcyMzU5Cis6MTAyRTMwMDAzMkU0OEJEODJFOEE4NzI2MkU4QUE2QTgwMDhBREM4MEM4Cis6MTAyRTQwMDBFNEM3MEFDNDNBQzM3NDBCODg4NkE4MDA4M0MyMDZFRTlFCis6MTAyRTUwMDA4M0VBMDZDMzg0QzA3NDAyQjAwNDhBQTZBODAwOEFEQzkwCis6MTAyRTYwMDA4MEU0RkIwQUM0M0FDMzc0MEI4ODg2QTgwMDgzQzIwNkI4Cis6MTAyRTcwMDBFRTgzRUEwNkMzOTA4QjVFMzg4NEMwNzQzNDNDMDI3NERGCis6MTAyRTgwMDAzQjhBODZBRjAwMEMwNEU4RTZGRDhCNDYyRTNCNDYzQ0IxCis6MTAyRTkwMDA3NzFCRjdDMzAwMDQ3NTE1ODFDQjAwMDQ4M0MyMDI4QTM3Cis6MTAyRUEwMDA4NkE1MDAyNEZBODg4NkE1MDBFRTgzRUEwMjg5NUUzOEFBCis6MTAyRUIwMDBDMzhBODZBRjAwMjRGQkU4QjZGREVCRjFGN0MzMTAwMDMwCis6MTAyRUMwMDA3NEVGRUJFRDgzQzIwQ0VDODNFQTBDQzBFODA0ODg4NjU3Cis6MTAyRUQwMDBBOTAwQzM5MDhBODZBNzAwMEMwMTg4ODZBNzAwOEJEQTE4Cis6MTAyRUUwMDA4MEMyMDhFRThCRDNGOEMzOEE4NkE3MDAyNEZFRUJFQUUzCis6MTAyRUYwMDA4QTg2QTcwMDBDMDJFQkUyOEE4NkE3MDAyNEZERUJEQUEzCis6MTAyRjAwMDBCMEZGRTg1MkYyRTg5N0YyRjhDM0FDNDlFODYxRkVGODg2Cis6MTAyRjEwMDBDMzkwQUM0OUU4RUJGRUY4QzM5MEFDNDlFODM1RkZGODQ0Cis6MTAyRjIwMDBDMzkwQUM0OUU4MDVGRkY4QzM5MDUyODNDMjA2QjBCRjE2Cis6MTAyRjMwMDBFRTUyODNDMjAyQUM0OUVFNUE4QTg2QTgwMEVFNUFGOEQ1Cis6MTAyRjQwMDBDMzkwNTI4M0MyMDZCMEJGRUU1MjgzQzIwNkVCRTY5MDM2Cis6MTAyRjUwMDBBQzQ5M0MwMjc3MEQ4NEMwNzUwQjhBODZBRjAwMjRGRDE2Cis6MTAyRjYwMDBFODBERkRGOEMzNTA4QTg2QUYwMDBDMDJFODAxRkQ1QjU2Cis6MTAyRjcwMDA4M0MyMDg4QTg2QTcwMEY2QzMwMTc0MEMyNERGODg4NjAyCis6MTAyRjgwMDBBNzAwRUU4M0VBMDhGOEMzMEMyMEVCRjJBQzQ5RThFNUIxCis6MTAyRjkwMDBGRUY4QzM5MEI4MDA0MEU4NjlGNUU4RjlGQ0U4MjRGRkMyCis6MTAyRkEwMDBCMDAxRThBNUY2RjhDMzkwQjgwMDQwRTg3MUY1RThFNThGCis6MTAyRkIwMDBGQ0Y4QzM5MEI4MDAxMEU4NDlGNUU4RDlGQ0U4MDRGRjM0Cis6MTAyRkMwMDBCMDA4RTg4NUY2RjhDMzkwQjgwMDEwRTg1MUY1RThDNUY4Cis6MTAyRkQwMDBGQ0Y4QzM5MEI4MDA4MEU4MjlGNUU4QjlGQ0U4RTRGRTA1Cis6MTAyRkUwMDBCMDAyRTg2NUY2RjhDMzkwQjgwMDgwRTgzMUY1RThBNUNFCis6MTAyRkYwMDBGQ0Y4QzM5MEI4MDAyMEU4MDlGNUU4OTlGQ0U4QzRGRUE1Cis6MTAzMDAwMDBCMDA0RTg0NUY2RjhDMzkwQjgwMDIwRTgxMUY1RTg4NTZCCis6MTAzMDEwMDBGQ0Y4QzM5MEFDNDlFODM0MENGOEMzOTBCOEZDM0I4OTg5Cis6MTAzMDIwMDA0NjdDRjhDMzhBODZBRjAwMEM4MEU4NDNGQ0Y4QzM5MDY2Cis6MTAzMDMwMDA4QTg2QUYwMDI0N0ZFQkYyOEE4NkFGMDAwQzQwRTgyRjJGCis6MTAzMDQwMDBGQ0Y4QzM5MDhBODZBRjAwMjRCRkVCRjJBQzQ5QTgwMTFDCis6MTAzMDUwMDA3NDA3ODM0RTdBMjBFQjA1OTA4MzY2N0FERkU4OEFGRDU5Cis6MTAzMDYwMDBGOEMzODNDMjA2OEE4NkE4MDAwQzQwODg4NkE4MDBFRUIyCis6MTAzMDcwMDA4M0VBMDZBQzQ5MzJFNDg5NDY2RTgzNEUyNjAxODM0RUNDCis6MTAzMDgwMDA0ODA4QjAwNkU4QkJERjQ5NDZGOUMzOTA4M0MyMDY4QTA4Cis6MTAzMDkwMDA4NkE4MDAwQzQwODg4NkE4MDBFRTgzRUEwNkFDQjQwQTM1Cis6MTAzMEEwMDBGNkU0RUJEMEU4RTAwQkY4QzM5MEFENDk0OTg5NDY2NEZCCis6MTAzMEIwMDBBOTAxMDA3NDE5OEJEODgzRTNGQTc1MEFBOTA0MDA3NDc2Cis6MTAzMEMwMDAwREI4RTIzRkVCMEJFOEVDRjRCOEFBNDBFQjAzQjgzOERDCis6MTAzMEQwMDA0NDg5NDY2MkY4QzM4QTg2QUYwMEE4MDI3NDBBMjRGREI4Cis6MTAzMEUwMDBFODhERkIwQzAyRTg4OEZCRjhDM0FDNDlFODgxRkNGOEVBCis6MTAzMEYwMDBDMzkwQUM0OUU4NzlGQ0Y4QzM5MEU4NUNGNTc1MDVFODQ1Cis6MTAzMTAwMDBFNkZERjhDM0U4Q0RGRDM2QTBCNDEzMjQxMDM0MTBFODcyCis6MTAzMTEwMDAyNjAxMzZBMUI0MTNBOTAxMDA3NDA1RThGRUZFRUIwRUVBCis6MTAzMTIwMDBBOTAyMDA3NDA0MzJDMEVCMDJCMDAxRThFOEZFMzZBMTQ3Cis6MTAzMTMwMDBCNDEzRThBQjBCMzZBMUI0MTNDMUU4MDUyNTAxMDBFOEQwCis6MTAzMTQwMDAwQ0ZGMzZBMEI1MTMyNDEwRTgyQkZEMzJDMDM2OEEyNkJBCis6MTAzMTUwMDBCNTEzRjZDNDA0NzQwOUZFQzBGNkM0MDg3NDAyRkVDMEI4Cis6MTAzMTYwMDBFOEVGRkQzNkExQjYxMzI1MEYwMEU4MDNGQzM2QTFCNjQzCis6MTAzMTcwMDAxM0MxRTgwNDI1MDMwMEU4ODhGQzM2QTFCNjEzQzFFOEIyCis6MTAzMTgwMDAwNTI1MDIwMEU4Q0RGQzM2QTFCNjEzRjZDNDAxNzUwNDhFCis6MTAzMTkwMDAzMkMwRUIwOTgwRTQwMkQwRUNCMDAyMkFDNEU4OENGQzE3Cis6MTAzMUEwMDAzNkY2MDZCNzEzNDA3NDA1RTg4REZFRUIwM0U4OTRGRThGCis6MTAzMUIwMDAzNkY2MDZCNzEzMjA3NDA1RTg2OUZFRUIwM0U4NzBGRUU3Cis6MTAzMUMwMDBGOEMzRjhDMzhCNDYzOEE5MDQwMDc1MjMwRDA0MDA4OUExCis6MTAzMUQwMDA0NjM4ODNDMjA4OEI0NjJFM0I0NjNDNzMxNDgzNEUzOEQ4Cis6MTAzMUUwMDAxMDhBODZBNzAwMjRGRTg4ODZBNzAwRUU4M0VBMDhGOEU2Cis6MTAzMUYwMDBDMzhBODZBNzAwMEMwMUVCRUU5MDhCNDYzOEE5MDQwMDI5Cis6MTAzMjAwMDA3NDA2MjVGQkZGODk0NjM4RjhDM0FENDk0OUU4QkVGQjgzCis6MTAzMjEwMDA4OTg2OEUwMEY4QzNBRDQ5NDlFOEIyRkI4OTg2OTAwMEUzCis6MTAzMjIwMDBGOEMzODM0RTI2MDRFODkyRkFGOEMzOTA4MzY2MjZGQjFGCis6MTAzMjMwMDBFODg4RkFGOEMzOTBBQzQ5ODRDMDc1MDc4MDhFQTMwMDczCis6MTAzMjQwMDAwNEY4QzM4MEE2QTMwMEZCRjhDM0FDNDk4M0MyMDgzQ0MyCis6MTAzMjUwMDAwMjc2MDIzMkMwM0MwMTc0MTI3NzBCOEE4NkE3MDAyNEUyCis6MTAzMjYwMDBFRjg4ODZBNzAwRUU4M0VBMDhGOEMzOEE4NkE3MDAwQ0Q5Cis6MTAzMjcwMDAxMEVCRUU5MDUyODNDMjA2QjBCRkVFNTI4M0MyMDRBQzk0Cis6MTAzMjgwMDA0OUVFNUE4QTg2QTgwMEVFNUFGOEMzOTA1MjgzQzIwNkM1Cis6MTAzMjkwMDBCMEJGRUU1MjgzQzIwOEVCRTY5MEFDNDlGOEMzQUM0OTJDCis6MTAzMkEwMDBFOEI0RUU3MzAzRThGN0VFRjhDMzhBODZBRjAwMjQ3RjM0Cis6MTAzMkIwMDBFOEJERjlCOEYwMDBFODY2RjI4MTY2MjZGRkYzRTgyMzdFCis6MTAzMkMwMDBGQUU4RDJGOUY4QzNCODgwMDBFODM3RjI4MDRFMjcwODUwCis6MTAzMkQwMDBFODExRkFFOEMwRjlGOEMzQjg4MDAwRTg0MUYyODE2NjY1Cis6MTAzMkUwMDAyNkZGRjdFOEZFRjlFOEFERjlGOEMzOTBCODEwMDBFODVBCis6MTAzMkYwMDAxMUYyODA0RTI3MDRFOEVCRjlFODlBRjlGOEMzQjgxMDA4Cis6MTAzMzAwMDAwMEU4RkZGMTgxNjYyNkZGRkJFOEQ4RjlGOEMzQUM0OTc1Cis6MTAzMzEwMDBGOEMzODNDMjA2OEE4NkE4MDAwQzQwODg4NkE4MDBFRUZGCis6MTAzMzIwMDA4M0VBMDZGOEMzOTA4M0MyMDY4QTg2QTgwMDI0QkZFQjBFCis6MTAzMzMwMDBFQTkwQUM0OThBRTA4MEMyMEFFQzgwRUEwQUE4MjA3NENDCis6MTAzMzQwMDAwNThBQzRFRUY4QzMwNjUxNTc4QjRFMjRFMzM0NDk4OUVECis6MTAzMzUwMDA0RTI0RkY0NjFBOEU0NjAyOEI3RTIyOEFDNEFBODk3RTlDCis6MTAzMzYwMDAyMjhCNDYyNjI0RkQ4OTQ2MjY3NTI5OEE4NkE1MDBBODMzCis6MTAzMzcwMDAwMjc1MjE4MEMyMDIwQzAyODg4NkE1MDBFRTgwRUEwMjU2Cis6MTAzMzgwMDBFQjEyQzQ3RTAwM0I3RTFFNzYwQTRGMjY4ODI1ODk3RTdFCis6MTAzMzkwMDAwMEZGNDYxQTVGNTkwN0Y4QzM5MEFDQUQ4M0U5MDM4NTc3Cis6MTAzM0EwMDBDMDc0MDUzRDAwMjA3MjA1QjhGRkZGRUIwM0MxRTAwM0M4Cis6MTAzM0IwMDAzQjg2OTQwMDc0MjY4OTg2OTQwMDhCRDg1MjgzQzIwNjdCCis6MTAzM0MwMDA4QTg2QTgwMDhBRTAwQzgwRUU4M0VBMDY4QUMzRUU4MzMwCis6MTAzM0QwMDBDMjAyOEFDN0VFODNDMjA0OEFDNEVFNUFGOEMzQjA4ODE4Cis6MTAzM0UwMDA4ODg2QkMwMEU4OENGMjMzREI4QTg2QTUwMEE4MDI3NENDCis6MTAzM0YwMDAwMzgwQ0IwMUE4MDU3NDAzODBDQjAyQTgwODc0MDM4MDY2Cis6MTAzNDAwMDBDQjA0RjY4NkE3MDAxMDc0MDM4MENCMTA4QTg2QTkwMDJGCis6MTAzNDEwMDBGNkMzMDQ3NTBBODNDMjBDRUM4M0VBMENDMEU4MDQ4QTg0Cis6MTAzNDIwMDBFMDhBODZBRjAwQTg4MDc0MDhGNkM0MDE3NTAzODBDQkRCCis6MTAzNDMwMDAyMEY2ODZBNzAwMDI3NTBBRjc0NjM4MDQwMDc0MDM4MDU4Cis6MTAzNDQwMDBDQjQwODg5RUJFMDBGRTg2QjQwMEIwMEFFOEYzREJGOEVECis6MTAzNDUwMDBDM0ZFODZCNDAwQjAwQUU4RThEQkY4QzNBQzQ5M0MwMjFFCis6MTAzNDYwMDA3NDM3NzcxMDg0QzA3NDA2ODA0RTM4MDFGOEMzODA2NkM0Cis6MTAzNDcwMDAzOEZFRjhDMzhCNDYzODI1RkZGNzg5NDYzOEE5MDAwNDgzCis6MTAzNDgwMDA3NUVBOEE4NkE1MDBBODAxNzVFMjBDMDU4M0MyMDI4ODQ4Cis6MTAzNDkwMDA4NkE1MDBFRTgzRUEwMkY4QzM4MTRFMzgwMDA4OEE4NkNBCis6MTAzNEEwMDBBNTAwQTgwMTc0QzYyNEZBRUJFMkFENDk0OUY4QzM5MDFGCis6MTAzNEIwMDBFODExRkFGRTg2QjkwMEIwMEVFODg2REJGOEMzQjBGRjZCCis6MTAzNEMwMDBFOEJGRUNGOEMzOTA4MzY2N0FGQkIwMDBFODczREJGOEUyCis6MTAzNEQwMDBDMzkwQUM0OUU4NTNEOTcyMTEzNjg4MUUxQTAxMzZBMDQwCis6MTAzNEUwMDA4RTEyMEFDMzUyQkEwMDAxRUU1QUY4QzNBQzQ5MzJFNDU0Cis6MTAzNEYwMDAzNkEzODYxMjA1MDYwMDM2OEIxRTg4MTIyQkQ4MzY4OTE1Cis6MTAzNTAwMDAxRThBMTJGOEMzOTBBRDhCRDhBRDgzRTkwNDAzQzMyQjk4Cis6MTAzNTEwMDA0Njc2ODk0Njc4Rjc0NjdBMDIwMDc0MEE4MzY2N0FGRDExCis6MTAzNTIwMDBCODAwMDBFODFDREJGOEMzMDYxNjA3QUM0OTI1MEYwMEZECis6MTAzNTMwMDA2QkMwMDk4REJFRkQwMDAzRjhBQzQ5MjUwRjAwQUE4NUJDCis6MTAzNTQwMDBDMDc0MDgyQkM4NTE4QkM4RjNBNDU5RTgyN0YwRTg0NDhECis6MTAzNTUwMDAwMzA3RjhDMzMzQzBBQzQ5MzZBM0IyMTMzNkEzQjAxMzg0Cis6MTAzNTYwMDBGOEMzODM2NjdBRUZFODJDMDNGOEMzOTA4MzRFN0ExMDkxCis6MTAzNTcwMDBFQkY0RTg5QkYwRjhDMzkwQUQzQzE5NzcwRTNDMTk3NzVCCis6MTAzNTgwMDAwQThCRjg4MUU3RkYwMDg4QTZDNDAwRjhDMzkwODM0RTM5Cis6MTAzNTkwMDAyNjIwQUM0OTMyRTREMUUwOEJEOEMxRTMwMjAzQzM4OUQxCis6MTAzNUEwMDA0NjZFODM0RTQ4MDRCMDA2RTg5N0RBNDk0NkY5QzM5MDYwCis6MTAzNUIwMDBGRTg2QjMwMEIwMEFFODg5REFGOEMzOTAzM0MwQUM0OTlDCis6MTAzNUMwMDA2QkMwMEE4OTg2OEEwMEY4QzM5MEFDNDkzMkU0M0QwQTkwCis6MTAzNUQwMDAwMDc3MDVCODBBMDBFQjA4M0Q1QTAwNzIwM0I4NUEwMDlDCis6MTAzNUUwMDA1MUY3RDgwNTY0MDA4QkM4OEI0NjQ0RjdFMUI5NjQwMEY1Cis6MTAzNUYwMDBGN0YxODk0NjQ2NTlGOEMzQUM0OUU4ODVFQkY4QzM5MDIyCis6MTAzNjAwMDBBQzQ5ODRDMDc1MDc4MTY2MzhGRkZERjhDMzgxNEUzODI4Cis6MTAzNjEwMDAwMDAyRjc0NjM4NDAwMDc1MDg4QTg2QTkwMDg4ODZBQTA1Cis6MTAzNjIwMDAwMEY4QzM5MDUxNTZFODdGMEM1RTU5RjhDMzkwRkU4NkFGCis6MTAzNjMwMDBCNjAwQjAwQUU4MEJEQUY4QzM5MEZFODZCNzAwQjAwQTBECis6MTAzNjQwMDBFOEZGRDlGOEMzOTBGRTg2QjgwMEIwMEFFOEYzRDlGOENECis6MTAzNjUwMDBDMzkwMDA5MDUxNTVBQzJFQTI1MjM2MzNDOUFEOEJGOUIwCis6MTAzNjYwMDBDMUU3MDVBOTAxMDA3NDIzMkU4QkFENDQwMDgzN0UwOEI5Cis6MTAzNjcwMDAwMDc0MTgyRTgwM0U1MjM2MDE3NDA5NjBCMDA0RThCQjE1Cis6MTAzNjgwMDAwQzYxRUIwNzYwQjBGQkU4RUMwQzYxNDc0N0QxRTg3NUQzCis6MTAzNjkwMDBEMjQxODNGOTA0NzJDNjVENTk4M0U5MDVGNzQ2Mzg0MDgzCis6MTAzNkEwMDAwMDc0MDVFODg3RUFGOEMzRTg4REVBRjhDMzkwMzZDNkU3Cis6MTAzNkIwMDAwNkM4MTMwMUY4QzMzM0MwQUM0OTM2QTM4MDEyQUM0OTI1Cis6MTAzNkMwMDAzNjJCMDY4ODEyRjdEODM2QTM4MjEyRjhDMzkwREUyNjZFCis6MTAzNkQwMDBERTI2RUMyNkYyMjZGODI2RkUyNjA0MjcwRTI3MTYyN0RECis6MTAzNkUwMDAxRTI3MjYyNzJFMjczNDI3QkUzNEM2MzREMjM0M0EyNzQ1Cis6MTAzNkYwMDA3ODI3ODAyNzk0MjdBMDI3QjQyN0MwMjdENDI3RTAyNzNFCis6MTAzNzAwMDBGNDI3MDAyODEwMjhFQzM0REUyNjFFMjgyNjI4MkMyODMyCis6MTAzNzEwMDAzMjI4MzgyODRFMjg4QTI4MDYzNTI4MzU5ODI4QkUyODg5Cis6MTAzNzIwMDBEMjI4REUyOEU2Mjg1NDM1NjIzNTZDMzVFRTI4QzAyOUNCCis6MTAzNzMwMDBDODI5Q0UyOUUwMjk3MjM1NzgzNUYwMjlGQzI5OEUzNTQzCis6MTAzNzQwMDAwODJBMTIyQTFDMkFCMDM1MzYyQUJDMzU1QTJBNjIyQTdGCis6MTAzNzUwMDA2ODJBQ0EzNTdDMkFGODM1ODgyQUE2MkFCODJBQ0MyQUFCCis6MTAzNzYwMDBERTJBRjIyQTAwMzYwQTJCMjQyQjI0MzYzODJCNEMyQjQ3Cis6MTAzNzcwMDA4NDJCMkUzNjNBMzY0NjM2NTQzNkU4MkJBRTM2NDAyQzVECis6MTAzNzgwMDA2MjJDQjYzNjcwMjhERTI2REUyNkQ0MkVFODJFRjAyRUU5Cis6MTAzNzkwMDBGODJFMDAyRjBBMkYxMjJGMUEyRjIyMkYyQTJGNDIyRkY2Cis6MTAzN0EwMDBCRTM0QzYzNEQyMzQ1MDJGOEMyRjk0MkZBODJGQjQyRjcwCis6MTAzN0IwMDBDODJGRDQyRkU4MkZGNDJGMDgzMDE0MzAxQzMwRUMzNEVECis6MTAzN0MwMDBERTI2MjQzMDMwMzAzODMwNDQzMDRDMzA2MjMwQTQzMDgzCis6MTAzN0QwMDAwNjM1MjgzNUFBMzBDRTMwRDYzMEVBMzBGMjMwNTQzNUFFCis6MTAzN0UwMDA2MjM1NkMzNUZBMzBDMjMxQzIzMUM0MzFGQTMxNzIzNUNBCis6MTAzN0YwMDA3ODM1MEEzMjE2MzI4RTM1MjIzMjJDMzIzNjMyQjAzNUQ2Cis6MTAzODAwMDA0QTMyQkMzNTc0MzI4QzMyOUEzMkNBMzU5RTMyRjgzNTFGCis6MTAzODEwMDBBQTMyQzYzMkQ4MzJFQzMyRkUzMjBFMzMwMDM2MTIzM0MwCis6MTAzODIwMDAyNjMzMjQzNjMyMzM5QTMzREUzMzJFMzYzQTM2NDYzNjUyCis6MTAzODMwMDA1NDM2NUMzNEFFMzZBQTM0QjAzNEI2MzY4QzMwRTMyODE1Cis6MTAzODQwMDBGNzQ2Mzg0MDAwNzUzMkU4RTNFODMzQzBBQzQ5M0Q1QkU5Cis6MTAzODUwMDAwMDc3MTk4QkQ4RDFFMzJFRkY5N0NFMzY3MjBCODVDOTJFCis6MTAzODYwMDA3NUU4OEI0NjQ4RTgxQTBDQzM0RTQxQzM2QTAwMUZDNjcwCis6MTAzODcwMDAwNjkzMTIwQzlDMEVFODYzREFFOEJDRTgzM0MwQUM0OTRFCis6MTAzODgwMDAzRDVCMDA3N0U3OEJEOEQxRTMyRUZGOTc4NjM3NzJEOTVGCis6MTAzODkwMDA4NUM5NzVFOEMzRjc0NjdBMTAwMDc1MEY4M0JFODQwMEFBCis6MTAzOEEwMDAwMDc0MDhCODQ4M0E4OTg2ODAwMEMzODFCRTgwMDBFQzY1Cis6MTAzOEIwMDAzQzc0Rjc4M0JFODgwMDAwNzUwNUI4RUMzQ0VCRTdGNzc1Cis6MTAzOEMwMDA0NjdBMDgwMDc1NDAxRTYwOEI4RTg4MDAzQjRFNzQ3N0U4Cis6MTAzOEQwMDAzMzNCNEU3ODc3MkVDNDdFMTA4QkRGMjYwMzNENDc0NzVGCis6MTAzOEUwMDAzM0MwOEVEODhEQjZGNDAwOEJDMUY3NDY3QTAxMDA3NUNGCis6MTAzOEYwMDAxREYzQTQyNjAxMDcyOTQ2NzgwMTQ2NzYyOTQ2NzRCMEFGCis6MTAzOTAwMDAwQ0U4M0VENzYxMUZDNzg2ODgwMDAwMDBFQkFDRTNFM0ZDCis6MTAzOTEwMDA1MDkwQUMyNDdGQUFFMkZBNThFQkQ4OTA4QjhFODgwMEE2Cis6MTAzOTIwMDBFMzQ2OEI5RThBMDA4NURCNzQzRUJBNTBGRkVEMkI4NjAyCis6MTAzOTMwMDA4MjAwM0JDMzcyMzc4REI2RjQwMEM0N0UxMDhCREYyNjQ1Cis6MTAzOTQwMDAwMzNENDc0NzhCQzExNjFGRjc0NjdBMDEwMDc1MjRGM0U0Cis6MTAzOTUwMDBBNDI2MDEwNzI5NDY3ODAxNDY3NjI5NDY3NEM3ODY4ODM5Cis6MTAzOTYwMDAwMDAwMDBCMDBDRThEQUQ2ODM2NjdBRjdDM0IwMDBFODRFCis6MTAzOTcwMDBEMEQ2QzNFM0RDNTBBQzI0N0ZBQUUyRkE1OEVCRDI5MDU1Cis6MTAzOTgwMDAxRTYwMzNDMDhFRDg4REI2RkQwMDhCODY4ODAwOEI5NjY2Cis6MTAzOTkwMDA4NDAwM0EwNDc1MTA4QkRFNDY4QkM4OERCRUY0MDBGM0FDCis6MTAzOUEwMDBBNjc0NjY4QkYzOTA4M0M2MDk0QTc1RTY4REI2RkQwMDUyCis6MTAzOUIwMDA4Qjk2ODQwMDNBMDQ3MzEwOEJERTQ2OEJDODhEQkVGNDYwCis6MTAzOUMwMDAwMEYzQTY3NDc2OEJGMzkwODNDNjA5NEE3NUU2OERCNjJDCis6MTAzOUQwMDBGNDAwQUNGNzQ2N0EwMTAwNzQwMjI0N0YxRUM1NUUxMDI1Cis6MTAzOUUwMDA4QjM3ODg0MDAyNDY4OTM3RkY0RTc4RkY0Njc2RkY0RTc4Cis6MTAzOUYwMDA3NDFGOEI4RTg4MDA0OTg5OEU4ODAwRTM0MzhEQjZGNDRFCis6MTAzQTAwMDAwMDhCRkU0NkYzQTRFOTdERkZDNTc2MTA4QjFDODVEQjk5Cis6MTAzQTEwMDA3NDA4MDNGMzgzQzYwMzgzRTZGRThCODY4NDAwMkJDMkZGCis6MTAzQTIwMDBCNDgwODkwNDQ2NDZDNzA0MDAwMDg5NzYxMDgzNEU3QTI0Cis6MTAzQTMwMDAwNEM3ODY4ODAwMDAwMDYxMUZGOUMzMzNDMDYxMUZDMzNCCis6MTAzQTQwMDBCMDgwODRDMDYxMUZDMzkwOEI0RTc4MkI4RTg4MDA3NjI3Cis6MTAzQTUwMDAyNzg5QjY4QzAwOEI1RTc0M0JDQjcyMDI4QkNCM0JDODQ0Cis6MTAzQTYwMDA3MjAyOEJDODhCQzFFMzQ0MzNEMjhFQzI4QkQxODNCRTJBCis6MTAzQTcwMDA4ODAwMDA3NDA2RTk4RTAwMzNDMEMzOEI1RTEwMDMxRkZDCis6MTAzQTgwMDA0MzQzNTJGNzQ2N0EwMTAwNzUyQUFDOERCRUU0MDA4QkExCis6MTAzQTkwMDA4RTg2MDBGMkFFNzQzNDg4MDc0MzRBNzVFRDU4OEI1RTBCCis6MTAzQUEwMDAxMDAxMDcyOTQ2NzgwMTQ2NzYyOTQ2NzQ4QkM2MkI4Njc1Cis6MTAzQUIwMDA4QzAwQzM5MEFDOERCRUU0MDA4QjhFODYwMEYyQUU3NDk5Cis6MTAzQUMwMDAwQTI0N0Y4ODA3NDM0QTc1RUJFQkQyODg4NkY0MDBDNzQ3Cis6MTAzQUQwMDA4Njg4MDAwMTAwNTgyQkMyNzQwRThCNUUxMDAxMDcyOUU2Cis6MTAzQUUwMDA0Njc4MDE0Njc2Mjk0Njc0NDBFODk0RkU3MkJFNEE3NUNGCis6MTAzQUYwMDAxNTgzQkU4QTAwMDA3NEI0QkE1MEZGRUQ4OTg2ODIwMDM3Cis6MTAzQjAwMDA4MzRFN0EwOEVCQTY4REJFRjQwMDAzQkU4ODAwQTRGRkE2Cis6MTAzQjEwMDA4Njg4MDBFODZBRkU3Mjk0NzkwNjRBNzQ4RkU5NUJGRjMyCis6MTAzQjIwMDA0QTc0Q0VFQkUxOTA1MEU4MTFDQzhCNDY3NDM5NDY3MjYyCis6MTAzQjMwMDA3NDI3MUU1NjUxMzNDOUM1NzYwQ0FENzQxMDc4MDkwMzJECis6MTAzQjQwMDBDODA1MDEwMDI0RkUwM0YwM0I3NjEwNzZFRDI5NEU3NjgxCis6MTAzQjUwMDAwMTRFNzhFODM3Q0M1OTVFMUY1OEMzOTBDNDdFMTAyNkJBCis6MTAzQjYwMDA4QjFEODNDMzAzMjY4OTFENEIwM0ZCQUI5MUFBQjgwM0FFCis6MTAzQjcwMDAwMDI5NDY3ODAxNDY3NjI5NDY3NEMzOTBDNDdFMTAyNkYzCis6MTAzQjgwMDA4QjFENDMyNjg5MUQ0MzAzRkJBQUZGNEU3OEZGNDY3NjEzCis6MTAzQjkwMDBGRjRFNzRDM0U4RTVGRkMzODA4MTg0ODU4MjgzODY4N0Y2Cis6MTAzQkEwMDA1MDUzOEFEQzgzRTMwRUQxRUIyRThBODc5ODNCMDg4NjNDCis6MTAzQkIwMDBCMDAwRkU4NkIxMDBCMDBBRTg4N0Q0NUI1OEMzNTA4QUQzCis6MTAzQkMwMDBDOEI4RkYwMEU4OTVGRjU4QzM5MDhBODZCQjAwRThBQkYxCis6MTAzQkQwMDBGRkMzRThDQkZGRThGMkZGQzM5MEU4QzNGRkU4QjRGRjAwCis6MTAzQkUwMDBDMzkwMzNDMEU4OTVGRkMzQjhGRjAwMzNDOUU4NkNGRjRBCis6MTAzQkYwMDBDMzkwQjhGRjAxQjExMEU4NjJGRkMzOTBDM0ZDM0JFMjgxCis6MTAzQzAwMDAzQkYyM0JGMjNCRkMzQkUyM0JFODNCRTgzQkZDM0JFMjZDCis6MTAzQzEwMDAzQkU4M0JFODNCRkMzQkUyM0JFMjNCRTIzQjAwMTAwMDg1Cis6MTAzQzIwMDAwMDAwMTAwMDAwMDAxMDAwMDAwMDEwMDAwMDAwMTAwMDU0Cis6MTAzQzMwMDAwMDAwMTAwMDAwMDAxMDAwMDAwMDEwMDAwMDAwMDgwMDRDCis6MTAzQzQwMDAwMDAwMDgwMDAwMDAwODAwMDAwMDA4MDAwMDUxNTM4QjJECis6MTAzQzUwMDA0RTM4ODFFMUZGRUVBODA0NzQwNDgxQzkwMDAxOEFFMEI2Cis6MTAzQzYwMDA4MEU0MDMyNDE4RDBFNDBBQzQzM0RCOEFEODJFOEI4NzdGCis6MTAzQzcwMDBGRDNCODk0NjdDMkUwQjhGMUQzQzg5NEUzOEQxRUIyRUE3Cis6MTAzQzgwMDA4QUE3M0QzQzVCNTlDM0FDNDkzQzAxNzIxRDc0MjAzQzgyCis6MTAzQzkwMDAwMzcyMjM3NDI4M0MwODcyMkI3NDMwM0MyMDcyMzc3NEYyCis6MTAzQ0EwMDAzQUJCREEzQjMyRTQ4OTVFN0VDM0JCQTAzQkVCRjVCQjlCCis6MTAzQ0IwMDA5NDNCQjQwMUVCRjBCQkZDM0JCNDAyRUJFOUJCRTIzQjUxCis6MTAzQ0MwMDBCNDAzRUJFMkJCQkUzQkI0MDRFQkRCQkJDQTNCQUM0OTg5Cis6MTAzQ0QwMDA4ODg2QkIwMEVCQ0VCQkQyM0JFQkYzQkJGQzNCRUJDNDFCCis6MTAzQ0UwMDBBOTA0MDA3NUQxQTkwODAwNzVEQUVCRDE4QjVFNzQ4QjNECis6MTAzQ0YwMDA0RTc4M0JDQjcyMDI4QkNCM0JDODcyMDI4QkM4OEJDMTE4Cis6MTAzRDAwMDBFMzJDQzQ3RTEwOEJERjI2MDMzRDQ3NDdGNzQ2N0EwMTNDCis6MTAzRDEwMDAwMDc1MUNGN0M3MDEwMDc0MDI0OUE0RDFFOUYzQTU3MzJCCis6MTAzRDIwMDAwMUE0MjYwMTA3Mjk0Njc4MDE0Njc2Mjk0Njc0QzM1MDI2Cis6MTAzRDMwMDA1M0JCN0Y3RkY3QzcwMTAwNzQwNTQ5QUMyMkMzQUFEMUVBCis6MTAzRDQwMDBFOUUzMUQ5Q0FEMjNDM0FCNDk3NDE0QUQyM0MzQUI0OTU4Cis6MTAzRDUwMDA3NDBEQUQyM0MzQUI0OTc0MDZBRDIzQzNBQkUyRTU5RDNGCis6MTAzRDYwMDA3MzA0QUMyMkMzQUI1QjU4RUJCOEU4Q0VDOThCNUUzOEFBCis6MTAzRDcwMDBGN0MzMTAwNDc1MDFDM0Y3QzM0MDAwNzQwNUU4QjhFMzQ2Cis6MTAzRDgwMDBFQjAzRThBOEUzODE2NjM4RUZGQkY2QzMxMDc0M0NGNjVBCis6MTAzRDkwMDBDMzAyNzQwNkU0RDgwQzAxRTZEOEY2QzMwNDc0MTE4Mzk4Cis6MTAzREEwMDBDMjA4OEE4NkE3MDAwQzAxRUU4ODg2QTcwMDgzRUEwODZECis6MTAzREIwMDBGNkMzMDg3NDBGRTg4QkUzNzIwQThBODZDMDAwRTYzOEZGCis6MTAzREMwMDBCMDIzRTYwQUY3QzMwMDA0NzUwMUMzRjdDMzAwMDg3NTAyCis6MTAzREQwMDBGOThBODZBNTAwRjZDMzQwNzUwREE4MTA3NUVDMEMxMDg1Cis6MTAzREUwMDA4ODg2QTUwMEU2MENDM0E4MDE3NURGODNDMjAyMEMwNTE2Cis6MTAzREYwMDBFRTg4ODZBNTAwQzNCMDAwRTg0N0QyRUIwRkIwMDJFODFBCis6MTAzRTAwMDA5MDBFRUIwODgzNjYzOERGODM0RTdBMDIzM0MwOEVEODdCCis6MTAzRTEwMDBGQUEwOTIxMjQwQTI5MjEyM0MwNTcyMUVDNjA2OTIxMjlECis6MTAzRTIwMDAwMEZCQjAwMUU4NkIwRUZBQTEyNjAxMjMwNjJBMDFBOEM3Cis6MTAzRTMwMDAwMTc1MDdFOEUyMDdFODYxMDk5MEIwMDBFODM3RDJGQkI2Cis6MTAzRTQwMDA4NUVENzRCOUZBRjc0NjdBNDYwMDc1QzA4QjQ2NzgzRDIxCis6MTAzRTUwMDAwQTAwNzJCMDhCNEU3NDgzRjk1MDcyOUE4MzY2MzhERjExCis6MTAzRTYwMDBDNTc2MTQ4QjQ2M0E4NUMwNzU1OEFEODVDMDc1MEZFODg4Cis6MTAzRTcwMDBGOEZFRjc0NjdBMDgwMDc0OTNFOEEwRkFFQjhFM0I3NkRBCis6MTAzRTgwMDAwNDc2MjFCOTAyMDAzOTRFMkU3NzA1Qzc0NjJFMDAwMDcwCis6MTAzRTkwMDA1NjhCNzYyQzg5NzYwNEM3MDQwMDAwNDY0Njg5NzYyQzFBCis6MTAzRUEwMDAyOTRFMkU1RTg1QzA3OTE3RjZDNDEwNzQwNUZGNTY3QzI2Cis6MTAzRUIwMDBFQjAzRkY1NjdFODk3NjE0QjAwQ0U4ODVEMUVCODY4OTNBCis6MTAzRUMwMDA0NjNBRkY5NjgwMDAyOTQ2M0E4OTc2MTRCMDBDRTg3MThDCis6MTAzRUQwMDBEMUU5NzFGRjAwMDAwMDAwMDAwMDAwMDAwODA0MTAwMjlBCis6MTAzRUUwMDAwMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTAzRUYwMDAwMDAwMDAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MEMyCis6MTAzRjAwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MEIxCis6MTAzRjEwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MEExCis6MTAzRjIwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDkxCis6MTAzRjMwMDA4MDgwODA4MDgwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMEMxCis6MTAzRjQwMDBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzA4MEIxCis6MTAzRjUwMDA4MDgwODAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MEUxCis6MTAzRjYwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDUxCis6MTAzRjcwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDQxCis6MTAzRjgwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDMxCis6MTAzRjkwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDIxCis6MTAzRkEwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDExCis6MTAzRkIwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDAxCis6MTAzRkMwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MEYxCis6MTAzRkQwMDA4MDgwODA4MDRFNDE3ODQxRDA0MUY0NDEwNjQyMTg0MkIxCis6MTAzRkUwMDBDMzkwOEU0NjAyOEI3RTIyODk3RTZDODA2NjI3RkQ4Qjc1Cis6MTAzRkYwMDA1NjI0ODNGQTA0NzJFOTgzRUEwMjhCRDkzQkNBNzYwMjFCCis6MTA0MDAwMDA4QkNBQjAwQTU3NTE4QkZFRjJBRThCQzE1OTVGNzUxRTM5Cis6MTA0MDEwMDA1MDQwMkJDODc0MDYyQkQxMkJEOUYzQTQ1OTRCNEE0QUQ0Cis6MTA0MDIwMDBCMDBEQUFBNDNCQ0E3NjAyOEJDQUUzMTNFQkQ0MkJEOUZBCis6MTA0MDMwMDBGN0M2MDEwMDc0MDJBNDQ5RDFFOUYzQTU3MzAxQTQ4OTZDCis6MTA0MDQwMDA3RTIyMkI3RTZDMjk3RTI0MDE3RTFBOEJDQjgwN0UyNkRECis6MTA0MDUwMDAwMjc0MDU4MDY2MjZGREMzNjBCMEZERTgxODAzNjFDM0U1Cis6MTA0MDYwMDBDMzkwRTg3QzAyNzJGOTkwODM0RTI2MjA4QjQ2NkE4OUMxCis6MTA0MDcwMDA0NjZFOEI0NjQ4MEQwNDAwMjVCRkZGODk0NjQ4QjAwNkIyCis6MTA0MDgwMDBFOEJGQ0ZDMzg5N0UyMjJCN0U2QzAxN0UxQTI5N0UyNDU1Cis6MTA0MDkwMDA4MDdFMjYwMjc0MDU4MzY2MjZGREMzNjBCMEZERThENUU4Cis6MTA0MEEwMDAwMjYxQzM5MDhBQkVDMjAwRUIyNEY3NDY0ODQwMDA3NTA3Cis6MTA0MEIwMDBCMThFNDYwMjhCN0UyMjg5N0U2QzhCNTYyNDgzRUEwQTVGCis6MTA0MEMwMDA3ODlFMDNENzgwNjYyN0ZEMzNDMDhBQkVDMjAwRTNCNDYyCis6MTA0MEQwMDAzQkZBNzdCMEFDNDk5MzJFOEE4N0Q0M0U5MzIyREY3NUEyCis6MTA0MEUwMDAxN0FBRTNBMDNCRkE3NzlDQUM0OTkzMkU4QTg3RDQzRTZCCis6MTA0MEYwMDA5MzIyREY3NTAzQUFFQkQ2RjZDMzdGNzUwNUZGNDY2NkVDCis6MTA0MTAwMDBFQkRGRjZDMzQwNzUwQzhCRDg4M0VCMDhEMUUzMkVGRkIxCis6MTA0MTEwMDBBN0Q0M0ZGRjQ2NjYyQzIwRUJDNzg1QzA3NDJDODk0Njg4Cis6MTA0MTIwMDA2QTgzNEU0ODQwODk3RTIyMkI3RTZDMDE3RTFBMjk3RTRFCis6MTA0MTMwMDAyNDgwN0UyNjAyNzQwODgzNjYyNkZERThBMzAxQzM2MEZFCis6MTA0MTQwMDBCMEZERTgzMTAyNjFFODk4MDFDM0U5NTdGRjkwOEI1RTRBCis6MTA0MTUwMDA2NjRCNzgwMzg5NUU2NkFBOEI1RTY0RjdDMzAwMjA3NUEwCis6MTA0MTYwMDAwM0U5NDBGRkY3QzM0MDAwNzQwODhBODZDMTAwQUFFOTRBCis6MTA0MTcwMDAzMkZGQjgzMjAwRUJBMzkwOEI1RTY2ODk1RTY4ODNDMzIyCis6MTA0MTgwMDAwODgwRTNGODg5NUU2NjhCNUU2NDgxRTMwMDE4ODFGQjNBCis6MTA0MTkwMDAwMDE4NzQyREFBODVEQjc0MjVGNzQ2NjQ0MDAwNzUxODU1Cis6MTA0MUEwMDA4MUZCMDAxMDc0MEM4QjQ2NjYyQjQ2NjhDMUUwMDRFOTY1Cis6MTA0MUIwMDA2OEZGQjg2NDAwRTk2MkZGOEE4NkMxMDBBQUFBRTlFMzQxCis6MTA0MUMwMDBGRTUxOEI0RTY2MkI0RTY4QjAyMEYzQUE1OUU5RDRGRUZGCis6MTA0MUQwMDA4QjVFNjY4OTVFNjg4QjVFNjRGN0MzMjQwMDc0MTBDN0NCCis6MTA0MUUwMDA0NjY2MDAwMEY3QzMwNDAwNzQwNUIwMERBQUIwMEFBQTIxCis6MTA0MUYwMDBFQjQ4OTA5MEFBRjc0NjY0MDA0MDc0MDZCOEQwMDdFOUVGCis6MTA0MjAwMDAxOEZGRTk5RkZFOTBBQUY3NDY2NDAwODA3NDA2QjhEMEI0Cis6MTA0MjEwMDAwN0U5MDZGRkU5OERGRTkwOEI1RTY2ODk1RTY4ODVEQkE3Cis6MTA0MjIwMDA3NTBDOEI1RTY0RjdDMzEwMDA3NDA2RTk3NkZFOEI1RTM2Cis6MTA0MjMwMDA2NEY3QzMwODAwNzQyN0IwMEFBQUY3QzMyMDAwNzUxRkVCCis6MTA0MjQwMDBGN0MzMDAwMTc1MDNFOTVCRkVGN0MzNDAwMDc1MDZCOENDCis6MTA0MjUwMDA2NDAwRTlDNUZFOEE4NkMxMDBBQUFBRTk0NkZFQUFDNzhCCis6MTA0MjYwMDA0NjY2MDAwMEY3QzMwMDA2NzRGMUY3QzM0MDAwNzQxOUY2Cis6MTA0MjcwMDA4QTg2QzEwMDgxRTMwMDA2ODFGQjAwMDQ3MjA2NzYwMjkzCis6MTA0MjgwMDBBQUFBQUFBQUFBQUFFOTFCRkU4MUUzMDAwNjgxRkIwMDRBCis6MTA0MjkwMDAwNDcyMEU3NjA2Qjg5NjAwRTk3RkZFQjg2NDAwRTk3OUVDCis6MTA0MkEwMDBGRThCNDY2OEU5NzNGRTkwMzY4QjBFREExMjgzRjkzMjg0Cis6MTA0MkIwMDA3MzFEMUUwNjMzQzA4RUQ4OEVDMDhENzY0Q0JGREMxMkE3Cis6MTA0MkMwMDAwM0Y5QTVBNUE1ODNDMTA2ODkwRURBMTIwNzFGQzNCMDlECis6MTA0MkQwMDAwOEU4NkVDREMzOTA4MzY2NDhGRUU4OTNDNEU4QzhGRjQzCis6MTA0MkUwMDBDM0Y2NDYyNzAyNzUwRjlDRkE4MzdFMUEwMDc0MDk4MDc0Cis6MTA0MkYwMDA0RTI3MDE5REY5QzNGOEMzNTA1MkY3NDYzODQwMDA3NDY5Cis6MTA0MzAwMDAxREU4MzRERTgzQzIwQUVDQTg0MDc1Mjc4M0VBMDg4QUQ4Cis6MTA0MzEwMDA4NkE1MDAwQzAyODg4NkE1MDBFRTVBNThFQkQxRTgwQzYxCis6MTA0MzIwMDBERThBODZBNTAwMjRGQjBDMDI4ODg2QTUwMEU2MEM1QUNFCis6MTA0MzMwMDA1OEVCQkM4MDRFMjcwMjVBNTg5REY4QzMwODQ2MjY5QzZECis6MTA0MzQwMDBGQThBOEVBNTAwRjc0NjM4NDAwMDc1MTRGNkMxMDY3NDQ3Cis6MTA0MzUwMDAyM0U4RDlERDhBQzEyNEY5ODg4NkE1MDBFNjBDOURDMzJGCis6MTA0MzYwMDBGNkMxMDI3NDBGRThEMEREODNDMjAyOEFDMTI0RkQ4ODQxCis6MTA0MzcwMDA4NkE1MDBFRTlEQzM4QjVFMjYyMkMzODg0NjI2NzQwMTY3Cis6MTA0MzgwMDBDMzgwNjYyN0ZEOUNGQThBOEVBNTAwRjc0NjM4NDAwMDU4Cis6MTA0MzkwMDA3NTE2RjZDMTA0NzUwRkU4OTNERDhBQzEyNEZEMEMwNDdGCis6MTA0M0EwMDA4ODg2QTUwMEU2MEM5REMzRjZDMTAyNzVGOUU4ODhERDk0Cis6MTA0M0IwMDA4M0MyMEFFQ0E4MjA3NTBFODNFQTA4OEFDMTBDMDI4ODIxCis6MTA0M0MwMDA4NkE1MDBFRTlEQzM4M0VBMEEzM0M5OEE0RTFDOEI0NjNDCis6MTA0M0QwMDAxQTNCQzg3MzFCMDE0RTJBMkJDMTg5NDYxQTFFQzU3NjhCCis6MTA0M0UwMDAwMEYzNkUxRjg5NzYwMDgzQzIwMjhBODZBNTAwRUJDRDlBCis6MTA0M0YwMDA4NUMwNzQxMjAxNDYyQThCQzgxRUM1NzYwMEYzNkUxRjU1Cis6MTA0NDAwMDA4OTc2MDA4OTRFMUFGNkM3MDE3NTIzODBDQjAyODk1RTMyCis6MTA0NDEwMDAyNkU4MDhDMzgzQzIwMjhBODZBNTAwMjRGREVFODg4NkFBCis6MTA0NDIwMDBBNTAwRjZDNzEwNzUwNUIwMDJFODE2Q0M5REMzODNDMjdGCis6MTA0NDMwMDAwMjhBODZBNTAwRUI4NjkwOEJEMThCNDYyNDNCQzg3NkZBCis6MTA0NDQwMDAwMjhCQzgyQkQxMkJDMThCRDlFMzIyODA2NjI3RkQ4RTJFCis6MTA0NDUwMDA0NjAyOEI3RTIyRjdDNjAxMDA3NDAyQTQ0OUQxRTlGMzFCCis6MTA0NDYwMDBBNTczMDFBNDg5N0UyMjg5NDYyNDAxNUUxQThCQ0E4MDI1Cis6MTA0NDcwMDA3RTI2MDI3NDA1ODA2NjI2RkRDMzYwQjBGREU4RjZGRTY4Cis6MTA0NDgwMDA2MUMzNTBFNDBBODRDMDc1MEE4Njg2QTEwMDg0QzA3NEEyCis6MTA0NDkwMDAwQUU2MEE1ODBDMjA4OTQ2NDhGOUMzNTgyNERGODk0NkExCis6MTA0NEEwMDA0OEY4QzM5MEZCQjAwMkU4RTgwN0ZBRTgyRTAxRkJCMDM5Cis6MTA0NEIwMDAwMUU4REUwN0ZBQjAwMkU4QkNDQkZCODVFRDc0RTVGQTUzCis6MTA0NEMwMDA4RTVFMEFGQjkwRkE4QjQ2NDg4Qjc2NDBBODhDNzVERTkwCis6MTA0NEQwMDBBODIwNzQxQTUwRTg1NURDNThFOEE2RkY3MzEwQjAwMjAzCis6MTA0NEUwMDBFODVGQ0JFQkM5OTAyNUZGMDA4QkM4RUIzNjkwQTgwMUE1Cis6MTA0NEYwMDA3NTIyNDY4M0U2RkUzQjc2MDg3NDc5QUQ4QUZDQjNGMEZDCis6MTA0NTAwMDAyMkZCM0FGQjc0RTAzQUJFQTAwMDc0MkVFOEQyRkQ3M0ExCis6MTA0NTEwMDA3N0VCOUI5MDhBRTAyNEZDODg0NjQ4OEI0RTRBRjZDNDkxCis6MTA0NTIwMDAwMjc0MURFOEJCRkQ3Mjg2RTgxM0YzODk3NjQwRTM5M0JECis6MTA0NTMwMDA4MzRFNDgwMzg5NEU0QUU5NzRGRjI1RkYwRjhCQzg5MENDCis6MTA0NTQwMDA4Qjg2OTgwMDg1QzA3NDFBNTE4QThFQTAwMEMwRTkwNDM5Cis6MTA0NTUwMDBCQTAxMDBEM0UyNTkyM0MyNzQwODAzRjE4OTc2NDBFOTE1Cis6MTA0NTYwMDA2MUZGRkY1NjYyRTNGNTgzNEU0ODAxODk0RTRBODk3NjIyCis6MTA0NTcwMDA0MEU5M0FGRjgxNEUyNjAwMTA4QjQ2NTAzQjQ2NDY3Nzc1Cis6MTA0NTgwMDAwM0U4NTJGREU5MjdGRjkwODhCRUEwMDBFQkFDMEEwNkM1Cis6MTA0NTkwMDA5MDEyOEFFMEJBMDYwMUIwMDRFRUVDODRDMDc1MTJCMDQ1Cis6MTA0NUEwMDAwNEVFOEFDNEVFMzJFNEE4ODA3NDA2QzcwNjg0MTIwMEMyCis6MTA0NUIwMDAwMDg4MjY5MDEyQzMwQTA2OTAxMjhBRTBCQTA2MDFFQzFGCis6MTA0NUMwMDBBODAxNzVFREJBMDgwMThBQzRFRTMyRTRBODgwNzRFMTRFCis6MTA0NUQwMDBDNzA2ODQxMjAwMDA4ODI2OTAxMkMzOTAzNkY3MDYyNDdFCis6MTA0NUUwMDAwMTAxMDA3NTMwMzY4QjBFREExMjgwRjkzNjczMjYzM0VFCis6MTA0NUYwMDBDMDhFQzA4RUQ4QkZEQzEyMDNGOUIwMDhFODc3Q0E4NTM4Cis6MTA0NjAwMDBFRDc0MEU4RDc2NENBNUE1QTU4MEMxMDY4MEY5MzY3Mjk1Cis6MTA0NjEwMDBFOTg5MEVEQTEyQzNDMzkwRjcwNjI2MDEwMTAwNzVGNjg4Cis6MTA0NjIwMDA4QjBFMjAxMzg1Qzk3NUVFMzNDMDhFQzA4RUQ4QkYyNDgzCis6MTA0NjMwMDAxM0I5MzYwMEIwMEFFODNEQ0E4NUVENzUwNkU5MTIwMUU2Cis6MTA0NjQwMDBFOTBBMDEzM0RCOEE0NjRDOEFBNkIzMDBGRUNDNzgwRTE5Cis6MTA0NjUwMDA4OEE2QjMwMDBBRENCNDBBQUI4M0U5MDI3NkUyOEFBNjM0Cis6MTA0NjYwMDBCMjAwRkVDQzc4MEU4OEE2QjIwMDBBRENCNDA4QUI4Mzk4Cis6MTA0NjcwMDBFOTAyNzZDQzhBQTZCMTAwRkVDQzc4MTg4QUJFQjAwMERBCis6MTA0NjgwMDA3NTA0ODhBNkIwMDA4OEE2QjEwMDBBREM4QUU3QUI4MzZGCis6MTA0NjkwMDBFOTAyNzZBQzhBQTZCNDAwRkVDQzc4MUY4OEE2QjQwMEU2Cis6MTA0NkEwMDAwQURDQjQwQkFCOEE4NkJDMDA4QUE2QkQwMEFCOEI4NjQ1Cis6MTA0NkIwMDBCRTAwQUI4M0U5MDY3Njg4OEE0NjRDOEFBNkI2MDBGRTIxCis6MTA0NkMwMDBDQzc4MTk4OEE2QjYwMDBBRENCNDBDQUJFOERCQ0JBQjFGCis6MTA0NkQwMDA4QjQ2MkFBQjgzRTkwNjc2NzQ4QTQ2NEM4QUE2QjcwMEQ1Cis6MTA0NkUwMDBGRUNDNzgxOTg4QTZCNzAwMEFEQ0I0MERBQkU4QkFDQkNCCis6MTA0NkYwMDBBQjhCNDYzNEFCODNFOTA2NzY1MzhBNDY0QzhBQTZCODIwCis6MTA0NzAwMDAwMEZFQ0M3ODE5ODhBNkI4MDAwQURDQjQwRUFCQTE1MDI0Cis6MTA0NzEwMDAxMkFCQTE1MjEyQUI4M0U5MDY3NjMyOEE0NjRDOEFBNkM2Cis6MTA0NzIwMDBCNTAwRkVDQzc4MTg4OEE2QjUwMDBBRENCNDBGQUI4QkI4Cis6MTA0NzMwMDA4NjlBMDBBQjhCODY5QzAwQUI4M0U5MDY3NjBGODREQjAwCis6MTA0NzQwMDA3NTAzRTlFRkZFQjAwQUU4RjhDOEU5RTdGRUIwMEFFODQ5Cis6MTA0NzUwMDBGMEM4RjdEOTgzQzEzNjhCQzEwRDgwMDA4NkM0QTMyMjZGCis6MTA0NzYwMDAxMzQxNDE4OTBFMjAxM0MzQTE4NDEyMkJDMTcyMTFBM0RFCis6MTA0NzcwMDA4NDEyQkUyMjEzRDFFOUYzNkY5MDg5MEUyMDEzRjhDMzdGCis6MTA0NzgwMDBGOUMzQzM4MUVGNkExMzc0Rjk4QkM3MEQ4MDAwODZDNDI3Cis6MTA0NzkwMDBBMzY4MTM0NzQ3ODkzRTY2MTNDM0Y3MDYyQTAxMDEwMDQxCis6MTA0N0EwMDA3NUUwOEIwRTY2MTNFMzA3ODBGOTIwNzdENTQ5NDkzMzBFCis6MTA0N0IwMDBDMDhFQzA4RUQ4QkY2QTEzOEJGNzAzRjk4M0M2MzQzQjEzCis6MTA0N0MwMDBGRTc3QzBCMDBFRThBRUM4ODVFRDc0Qjc4QTQ2NEM4QTU1Cis6MTA0N0QwMDBCNkI5MDBGRUNFNzgxNTg4QjZCOTAwOEFBNkE5MDA4MEMxCis6MTA0N0UwMDBDQ0MwQUI4NEY2NzQwNUIwMEVFODU2Qzg4QUI2QkEwMEUxCis6MTA0N0YwMDBGRUNFNzhDQjhBOUVBOTAwOEFCRUFCMDA4QTU2M0Y4QTNECis6MTA0ODAwMDBGMzMyRjcwQUI2QUMwMEM2ODZBQzAwMDAyMkYyNzQ0QjU1Cis6MTA0ODEwMDBGNkM2MDg3NDBGQjQwMkY2QzMwODc1MDJCNDAzQUI4MDgxCis6MTA0ODIwMDBFNkY3NzQzN0Y2QzYwMTc0MEZCNDAwRjZDMzAxNzUwMkRCCis6MTA0ODMwMDBCNDAxQUI4MEU2RkU3NDIzRjZDNjAyNzQwRkI0MDRGNjJFCis6MTA0ODQwMDBDMzAyNzUwMkI0MDVBQjgwRTZGRDc0MEZGNkM2MDQ3NEFFCis6MTA0ODUwMDAwQUI0MDZGNkMzMDQ3NTAyQjQwN0FCQzY4NkJBMDAwMEY0Cis6MTA0ODYwMDA4ODlFQUIwMEU5NThGRjkwQTE4NDEyMkJDMTcyMTFBMzVFCis6MTA0ODcwMDA4NDEyQkU2ODEzRDFFOUYzNkY5MDg5MEU2NjEzRjhDM0YyCis6MTA0ODgwMDBGOUMzQTE4NDEyNDE0MTJCQzE3MjIzQTM4NDEyOEJDMUFECis6MTA0ODkwMDA0ODQ4MzJFNDBDODA4NkM0RUY5MDkwOTA5MDkwQkVEQzQzCis6MTA0OEEwMDAxMjQ5NDlEMUU5RjM2RjkwODkwRURBMTJGOEMzRjlDM0JFCis6MTA0OEIwMDA4QUM4OEE0NjRDQjQwMTgzRUIwNkVGOTA5MDkwOTA5MEEyCis6MTA0OEMwMDBCODAxMDBFRjkwOTA5MDkwOTA4QUMxRUY5MDkwOTA5MEY2Cis6MTA0OEQwMDA5MEU5OTcwMEU5QUMwMDMzQzA4RUQ4ODkxRTg0MTJDM0RBCis6MTA0OEUwMDAzNjhCMUU4NDEyRkI5MEZBQjAwQ0U4ODlDNzg1RUQ3NEY0Cis6MTA0OEYwMDBFNkM1NzYwQzgzRkIxNDcyREJGQjkwRkFBRDg1QzA3OEJECis6MTA0OTAwMDBBRjc0RTI4QkZFMDNGODM2OEIwRTg2MTIzQkMxNzcwMjQyCis6MTA0OTEwMDA4QkM4ODNFQjA0M0JEOTc3MDI4QkNCMzNDMDhBNDY0Q0UwCis6MTA0OTIwMDBFRjkwOTA5MDkwOTA4QkMxRUY5MDkwOTA5MDkwNDE4MEZDCis6MTA0OTMwMDBFMUZFMkJEOTUxRDFFOUYzNkY5MDU5OEJDNzQwMjRGRThBCis6MTA0OTQwMDAzQkM2NzQyNzJCRkU0RTRFNTM4QjVFMTAzQkYzNzIxMzA3Cis6MTA0OTUwMDAwMzFGODNDMzAzODBFM0ZFQzcwNzAwMDA4MzZFNzQwMjU2Cis6MTA0OTYwMDA4OTVFMTA1Qjg5M0M4OTc2MENFQjg5ODk3NjBDMzk3NkY3Cis6MTA0OTcwMDAxMDc3ODE3MjA4ODMzQzAwNzQwM0U5NzdGRkU4MERCRTZECis6MTA0OTgwMDBFOTYyRkYzNjg5MUU4NDEyQjAwQ0U4QjVDNjMzQzA4RUNBCis6MTA0OTkwMDBEOEMzQTE4NDEyM0QxMDAwNzI3N0JBMDQwMTNCMDY4ODg3Cis6MTA0OUEwMDAxMjc1MDZDNzA2N0UxMjAwMDA4QjBFREExMkUzMEJFOEMyCis6MTA0OUIwMDBEMEZFNzI1N0M3MDY3RTEyRkY3RjhCMEUyMDEzRTMwQkNCCis6MTA0OUMwMDBFOEE1RkQ3MjQ2QzcwNjdFMTJGRjdGOEIwRTY2MTNFM0Q1Cis6MTA0OUQwMDAwQkU4OTRGRTcyMzVDNzA2N0UxMkZGN0ZBMTI4MDFBOTVECis6MTA0OUUwMDAwMTAwNzUwM0U4RjlGRTgwM0U4RDEyMDA3NTFEQTE4NDVCCis6MTA0OUYwMDAxMjNEMjAwMDc2MTUzQjA2ODIxMjc2MDlBMTdFMTIzQkZECis6MTA0QTAwMDAwNjgwMTI3MjBDODAwRTkwMTI4MEMzQjA4MEZGMTY3QzVDCis6MTA0QTEwMDAxMkMzODAwRTkwMTI0MEMzNkEwMDFGQzYwNjkzMTIxNzdECis6MTA0QTIwMDA5QzBFRThCN0M4NkEwMDFGQzYwNjkzMTIyMDlDMEVFOEM5Cis6MTA0QTMwMDBBQUM4NkEwMDFGQzYwNjkzMTIxNjlDMEVFODlEQzg5MDZECis6MTA0QTQwMDBCQTA2MDFFQ0E4MjA3NUNBRkI5MEZBQkEwNDAxRUQ5MEYxCis6MTA0QTUwMDA5MDkwOTA5MDNBMDY5NDEyNzdCRTMzREI4QUQ4RDFFM0Q3Cis6MTA0QTYwMDAyRThCQUY0NDAwQzQ3RTA4ODVGRjc0QjlGNkM0QzA3NUIwCis6MTA0QTcwMDA1NTMyQzBDMUUwMDI4MEU0RjA4QkYwRUQ5MDkwOTA5MDUwCis6MTA0QTgwMDA5MDg1QzA3NEJCOEJDODQxODBFMUZFMEJDNjhCNUU1MDI1Cis6MTA0QTkwMDA0QjRCMkJEOTc4OUNBQjhCQzE0MDQwMDE0NjRFRDFFOUEyCis6MTA0QUEwMDBGMzZEOTA4OTVFNTA4OTdFMDg4QjQ2MjY4MEU0RUY4OUZECis6MTA0QUIwMDA0NjI2RjZDNDAxNzUwQ0Y3NDY0ODBDMDA3NTA1QjAwMjkxCis6MTA0QUMwMDBFODdGQzVFOTdBRkY4NkM0OEJDODgzRTEzRjQxODBFMTc2Cis6MTA0QUQwMDBGRUUzMEEzQzgwNzIwOTI0M0ZCNEYwRUJCMEU5NjBGRkNBCis6MTA0QUUwMDAyNTNGMDAzM0ZGOEVDN0JGOTYxMjhCRjdEMUU5RjM2REQ4Cis6MTA0QUYwMDA5MDhCQzhFODQ4RURFOTQ3RkY5MDZBMDAxRkM2MDY5MzBGCis6MTA0QjAwMDAxMjFCOUMwRUU4RDVDNzkwNjAxRTA2MzNDMDhFRDg4RTRGCis6MTA0QjEwMDBDMEJBMDYwMUVDQTgwNDc0RTFCMDA2RUVFQ0EyOEMxMjU3Cis6MTA0QjIwMDBBODQwNzQxMUExODgxMkEzODQxMkM2MDY4RDEyMDBFODUxCis6MTA0QjMwMDA2MEZFQTA4QzEyQTg4MDc0MDNFODA0RkZCODAwODBCQTVECis6MTA0QjQwMDAyMkZGRUYwNzFGNjFDRjkwNkEwMDFGQzYwNjkzMTIxQjVBCis6MTA0QjUwMDA5QzBFRTg4N0M3OTA2MDFFMDYzM0MwOEVEODhFQzBCQTAwCis6MTA0QjYwMDAwNjAxRUNBODA0NzRFMUJBMDgwMUVDQTI4QzEyQTg0MDdBCis6MTA0QjcwMDA3NDExQTE4ODEyQTM4NDEyQzYwNjhEMTIwMEU4MTJGRUQ5Cis6MTA0QjgwMDBBMDhDMTJBODgwNzQwM0U4QjZGRUI4MDA4MEJBMjJGRjk5Cis6MTA0QjkwMDBFRjA3MUY2MUNGOTBFRTg2RTBFRTg2RTBFQzg2RTBFQzVBCis6MTA0QkEwMDA4NkUwODBFMUZFRjM2QzkwODBFMUZFRjM2RTkwMDUwMEZDCis6MTA0QkIwMDA3NTQ3QTg0QjA1MDA3NTQ4QTg0QjA1MDBBMzQ4QTg0QkFFCis6MTA0QkMwMDAwNTAwMzU0OUE4NEIwNjAwOTg0ODk2NEIwNjAwQkE0OEEwCis6MTA0QkQwMDA5NjRCMDYwMEMzNDg5NjRCMDYwMENCNDg5NjRCMDYwMDAyCis6MTA0QkUwMDAyMDQ5OTY0QjA2MDAyODQ5OTY0QjA2MDA0RTRBOUM0QjlFCis6MTA0QkYwMDAwNjAwN0I0QTlDNEIwNTAwOUU0QUEyNEIwNTAwRUM0QUVFCis6MTA0QzAwMDBBMjRCMDAwMDFFMDY4MzNFNDQxMjAwNzQwOUEwMDYwMTU4Cis6MTA0QzEwMDAyNDMwM0MzMDc0MUE4Q0M4OEVEODhFQzBCQkFFNEI4QkZGCis6MTA0QzIwMDAwRkUzMEQ4QjdGMDI4Qjc3MDRGM0E0ODNDMzA2RUJFRkI2Cis6MTA0QzMwMDAwNzFGQzM5MDMzQzBBMzNFMDFCOTBDMDFCRTQwMDE4QkQ2Cis6MTA0QzQwMDBGRTgxQzZCNDBGODkwNDhCQzYyQkYxM0JDNzc3RjZBMzUwCis6MTA0QzUwMDAzQzAxQzM5MDFFMDY2MDM2OEIyRTNFMDE4QjVFMDAzQkVFCis6MTA0QzYwMDBFQjc0MkI4Qjc2MDI4OTFDODk3NzAyMzZBMTNDMDE4OTczCis6MTA0QzcwMDA0NjAwMzY4OTJFM0MwMThCRUJGRjRFMDY3NDA4OEI2RTg2Cis6MTA0QzgwMDAwMEZGNEUwNjc1RjgzNjg5MkUzRTAxOEI2NjA0NjEwN0RCCis6MTA0QzkwMDAxRkMzMUUwNjYwMzY4QjJFM0UwMTk4ODk0NjA2ODk2NjI0Cis6MTA0Q0EwMDAwNDNCNkUwMDc0MTA4QjZFMDBGRjRFMDY3NUY4MzY4OTVCCis6MTA0Q0IwMDAyRTNFMDE4QjY2MDQ2MTA3MUZDM0MzOTAxRTA2NjA5Q0Q1Cis6MTA0Q0MwMDBGQTMzRUQ4RUREOEIyRTNDMDE4NUVENzQzRDhCNEUwMDZECis6MTA0Q0QwMDA4OTBFM0MwMThCQ0M4REE2MEEwMTU2MUUwNjYwODk2NkEyCis6MTA0Q0UwMDAwNEM3NDYwODBGMUFDNzQ2MDYwMTAwOEIxRTNFMDE4NTAxCis6MTA0Q0YwMDBEQjc0MUQ4QkM1ODcwNzg5NDYwMDg5NUUwMjhCRDg4OUM2Cis6MTA0RDAwMDA2RjAyOEJFMTlENjEwNzFGRjhDMzlENjEwNzFGRjlDMzA3Cis6MTA0RDEwMDA4OTJFM0UwMTg5NkUwMDg5NkUwMjg3RTE5RDhCRTFFQjUxCis6MTA0RDIwMDBFNDAwMEQwQTU0NjU3MjZENjk2RTYxNkM3MzIwNzM3NUQxCis6MTA0RDMwMDA3MDcwNkY3Mjc0NjU2NDNBMEQwQTMxMjkyMDQxNEU1M0M4Cis6MTA0RDQwMDA0OTIwNjM2RjZENzA2MTc0Njk2MjZDNjUwRDBBMzIyOTY4Cis6MTA0RDUwMDAyMDU3Nzk3MzY1MjAzMzMwMEQwQTUwNkM2NTYxNzM2NTk3Cis6MTA0RDYwMDAyMDczNjU2QzY1NjM3NDNBMjAwMDBEMEE2MzZGNjQ2NTk3Cis6MTA0RDcwMDAyMDczNjU2NzZENjU2RTc0M0QwMDBEMEE0RDZGNkU2OTM5Cis6MTA0RDgwMDA3NDZGNzIyMDc2MzIyRTM1MEEwRDBBM0UwMDBEMEE1MERECis6MTA0RDkwMDA2MTcyNjQ2RjZFM0YwMDBEMEE0RTZGMjA2MTY0NjQ3MjMxCis6MTA0REEwMDA2NTczNzMyMDczNzA2NTYzNjk2NjY5NjU2NDAwMEQwQUQ1Cis6MTA0REIwMDAzQTAwMEQwQTAwNEM2RjYzM0QwMDBEMEE0NjQxNTQ0MTE0Cis6MTA0REMwMDA0QzIwNDU1MjUyNEY1MjNEMDAwRDBBNEQ2RjZFNjk3NDkyCis6MTA0REQwMDA2RjcyMjA2MzZGNkQ2RDYxNkU2NDczM0EyRDBEMEEyMEUyCis6MTA0REUwMDAyMDIwNDQyQzY0NUI1Qjc4Nzg3ODc4M0E1RDc4Nzg3ODFBCis6MTA0REYwMDA3ODVEMjAyRDIwNjQ3NTZENzAyMDZENjU2RDZGNzI3OTAyCis6MTA0RTAwMDAwRDBBMjAyMDIwNEMyQzZDNUI1Qjc4Nzg3ODc4M0E1RDFBCis6MTA0RTEwMDA3ODc4Nzg3ODVEMjAyRDIwNjQ3NTZENzAyMDczNjk2RUM4Cis6MTA0RTIwMDA2NzZDNjUyMDZDNjk2RTY1MEQwQTIwMjAyMDQ1MkM2NTM1Cis6MTA0RTMwMDA1QjVCNzg3ODc4NzgzQTVENzg3ODc4Nzg1RDIwMkQyMDlCCis6MTA0RTQwMDA2NTY0Njk3NDIwNkQ2NTZENkY3Mjc5MEQwQTIwMjAyMDhDCis6MTA0RTUwMDA0NjJDNjY1QjVCNzg3ODc4NzgyMDVENzg3ODc4Nzg1RDJBCis6MTA0RTYwMDAyMDJEMjA2NjY5NkM2QzIwNkQ2NTZENkY3Mjc5MjA3MEU1Cis6MTA0RTcwMDA2MTcyNjE2NzcyNjE3MDY4NzMwRDBBMjAyMDIwNDk1QjVFCis6MTA0RTgwMDA3ODc4Nzg3ODVEMjAyMDIwMjAyMDIwMjAyMDIwMjAyRDc4Cis6MTA0RTkwMDAyMDc3NkY3MjY0MjA2OTZFNzA3NTc0MjA2NjcyNkY2RDEyCis6MTA0RUEwMDAyMDcwNkY3Mjc0MEQwQTIwMjAyMDY5NUI3ODc4Nzg3ODAyCis6MTA0RUIwMDA1RDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMDYyNzk3NEI5Cis6MTA0RUMwMDA2NTIwNjk2RTcwNzU3NDIwNjY3MjZGNkQyMDcwNkY3MkU4Cis6MTA0RUQwMDA3NDBEMEEyMDIwMjA0Rjc4Nzg3ODc4MjA3ODc4MjAyMDY4Cis6MTA0RUUwMDAyMDIwMjAyMDIwMjAyMDJEMjA2Rjc1NzQ3MDc1NzQyMEM0Cis6MTA0RUYwMDA3NzZGNzI2NDIwNzQ2RjIwNzA2RjcyNzQwRDBBMjAyMEI3Cis6MTA0RjAwMDAyMDZGNzg3ODc4NzgyMDc4NzgyMDIwMjAyMDIwMjAyMDQyCis6MTA0RjEwMDAyMDIwMkQyMDZGNzU3NDcwNzU3NDIwNjI3OTc0NjUyMDVGCis6MTA0RjIwMDA3NDZGMjA3MDZGNzI3NDBEMEEyMDIwMjA0NzVCNUI3OENECis6MTA0RjMwMDA3ODc4NzgzQTVENzg3ODc4Nzg1RDIwMjAyMDJEMjA2NzIxCis6MTA0RjQwMDA2Rjc0NkYyMDYxNjQ2NDcyNjU3MzczMEQwQTIwMjAyMDkyCis6MTA0RjUwMDA1NzVCNUI3ODc4Nzg3ODNBNUQ3ODc4Nzg3ODVEMjAyMDUwCis6MTA0RjYwMDAyMDJEMjA3NzYxNzQ2MzY4MjA2MTIwNzc2RjcyNjQwRDUzCis6MTA0RjcwMDAwQTIwMjAyMDQzMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDI0Cis6MTA0RjgwMDAyMDIwMjAyMDIwMkQyMDY5NkU3NDY1NzI3Mjc1NzA3NDQ3Cis6MTA0RjkwMDA3MzIwNkY2NjY2MEQwQTIwMjAyMDUzMjAyMDIwMjAyMEQ5Cis6MTA0RkEwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMDY5NkU3NDA5Cis6MTA0RkIwMDA2NTcyNzI3NTcwNzQ3MzIwNkY2RTBEMEEyMDIwMjA3M0Y1Cis6MTA0RkMwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMEUxCis6MTA0RkQwMDAyRDIwNzM2OTZFNjc2QzY1MjA3Mzc0NjU3MDBEMEEyMEVGCis6MTA0RkUwMDAyMDIwNDI3ODc4Nzg3ODIwMjAyMDIwMjAyMDIwMjAyMDNGCis6MTA0RkYwMDAyMDIwMjAyRDIwNjI3MjY1NjE2QjcwNkY2OTZFNzQyMEI1Cis6MTA1MDAwMDA3MzY1NzQwRDBBMjAyMDIwNjIyMDIwMjAyMDIwMjAyMDlCCis6MTA1MDEwMDAyMDIwMjAyMDIwMjAyMDIwMjAyRDIwNjI3MjY1NjE2QjFFCis6MTA1MDIwMDA3MDZGNjk2RTc0MjA2MzZDNjU2MTcyMEQwQTIwMjAyMEI4Cis6MTA1MDMwMDA1MjIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDNFCis6MTA1MDQwMDAyMDJEMjA3MjY1NzM3NDYxNzI3NDIwNjI3MjY1NjE2QkM5Cis6MTA1MDUwMDA3MDZGNjk2RTc0MEQwQTIwMjAyMDcyMjAyMDIwMjAyMDlECis6MTA1MDYwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMDcyNjU2NzU1Cis6MTA1MDcwMDA2OTczNzQ2NTcyNzMyMDYxNzQyMDYyNzI2QjcwNzQwRDUxCis6MTA1MDgwMDAwQTIwMjAyMDU4MkM3ODIwNkUyMDIwMjAyMDIwMjAyMDRDCis6MTA1MDkwMDAyMDIwMjAyMDIwMkQyMDY1Nzg2MTZENjk2RTY1MjA2M0I5Cis6MTA1MEEwMDA2ODYxNkU2RTY1NkMyMDZFMEQwQTIwMjAyMDQ4MkMzRkQyCis6MTA1MEIwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMEUzCis6MTA1MEMwMDA3NDY4Njk3MzIwNkQ2NTczNzM2MTY3NjUwMDFCNUIzMjdCCis6MTA1MEQwMDA0QTFCNUIzMTNCMzE0ODQxNEU1MzQ5MjA1NDY1NzI2RDQ4Cis6MTA1MEUwMDA2OTZFNjE2QzBEMEEwQTAwMUI1QjRCMDAxQjVCNEEwMDdBCis6MTA1MEYwMDAxQjVCMzI0QTFCNUIzMTNCMzE0ODAwMUI1QjQ0MjAxQjZFCis6MTA1MTAwMDA1QjQ0MDAxQjVCMzEzQjM3MzI0ODAwMUI1QjAwM0IwMEJDCis6MTA1MTEwMDA0ODAwMUI1QjczMDAxQjVCNzUwMDFCN0EyQjBCN0YxQjBFCis6MTA1MTIwMDA3QTJFMEM3RjFCN0EyRDA4N0YxQjdBMkMwQTdGMUI3QTI0Cis6MTA1MTMwMDAyMjA4N0YxQTU3Nzk3MzY1MjAzMzMwMjA1NDY1NzI2REM5Cis6MTA1MTQwMDA2OTZFNjE2QzBEMEEwMDFCNTQwMDFCNTkwMDFBMDAxRTg5Cis6MTA1MTUwMDAwMDA4MjAwODAwMDAxQjNEMDAwMDAwMUI0NjAwMEQwMDU5Cis6MTA1MTYwMDAzRjQ0NjQ0NTY1NDY2NjQ3Njc0ODY4NDk2OTRGNkY0M0YxCis6MTA1MTcwMDA2MzUzNzM0MjYyNTI3MjU3Nzc1ODc4NEM2QzNDNjBENEQ4Cis6MTA1MTgwMDA1N0Q0NTc1MDU4NTA1OEQ2NTlENjU5QjQ1OUI0NTkzQzk5Cis6MTA1MTkwMDA2MDNDNjA2QzU3NDg1NzI2NTcwNjU3OTA1NzkwNTc5ODcxCis6MTA1MUEwMDA1NzQ4NUYwQzVGNTg1RjMzNUY0MDVGQTA1N0EwNTdGRUMyCis6MTA1MUIwMDA1OUZFNTlEQzU3REM1Nzg4NjE5ODYxQzA2MUNDNjFEOEQxCis6MTA1MUMwMDA2MUY2NjEwMjYyMjI2MkY4NTY0QTYyNTg2MjYwNTkyMEIyCis6MTA1MUQwMDAyMDY2NkM2MTY3NzMzRDAwMjAyMDYxNzgzRDAwMjAyMENGCis6MTA1MUUwMDA2Mjc4M0QwMDIwMjA2Mzc4M0QwMDIwMjA2NDc4M0QwMEY3Cis6MTA1MUYwMDAyMDIwNjM3MzNEMDAyMDIwNjQ3MzNEMDAyMDIwNjU3M0YwCis6MTA1MjAwMDAzRDAwMjAyMDczNzMzRDAwMjAyMDY0NjkzRDAwMjAyMDc0Cis6MTA1MjEwMDA3MzY5M0QwMDIwMjA2MjcwM0QwMDIwMjA3MzcwM0QwMEM2Cis6MTA1MjIwMDAyMDIwNjk3MDNEMDAyMDYzNjg2MTZFNjU2QzNEMDAyMDQwCis6MTA1MjMwMDAyMDIwMjA3MzY1NjczRDAwMjA3NDY5NUY3Mzc0NzIzREEwCis6MTA1MjQwMDAwMDIwNzQ2OTVGNzQ2RjczM0QwMDIwNzQ2OTVGNkQ2MTQ1Cis6MTA1MjUwMDA3ODNEMDAyMDc0Njk1RjYyNjE3MzNEMDAyMDc0Njk1RjZFCis6MTA1MjYwMDA3MzY5N0EzRDAwMjA3NDY5NUY3Mzc0NjYzRDAwMjA3NDMxCis6MTA1MjcwMDA2OTVGNzI2RjZGM0QwMDIwNzQ2OTVGNjY2QzY3M0QwMDA3Cis6MTA1MjgwMDAyMDc0Njk1Rjc0NkY3NDNEMDAyMDcyNjk1RjcwNjM2RTkzCis6MTA1MjkwMDAzRDAwMjA3MjY5NUY3Mzc0NzIzRDAwMjA3MjY5NUY3MzE0Cis6MTA1MkEwMDA3NDY2M0QwMDIwNzI2OTVGNzI2RjZGM0QwMDIwNzI2OTA1Cis6MTA1MkIwMDA1RjYyNjE3MzNEMDAyMDcyNjk1RjczNjk3QTNEMDAyMDBGCis6MTA1MkMwMDA3MjY5NUY3NDZGNzQzRDAwMjA3MjY5NUY2RDY5NkUzRDM1Cis6MTA1MkQwMDAwMDIwNzI2OTVGNjY2QzY3M0QwMDIwNzI2OTVGNzQ2RkMxCis6MTA1MkUwMDA3MzNEMDAyMDcyNjk1Rjc0Njg3MjNEMDAyMDc0Njg1RkNFCis6MTA1MkYwMDA3Mzc0NjYzRDAwMjA3NDY4NUY3Mzc0NzIzRDAwMjA3NDlGCis6MTA1MzAwMDA2ODVGNjI2MTczM0QwMDIwNzQ2ODVGNzM2OTdBM0QwMDc1Cis6MTA1MzEwMDAyMDc0Njg1Rjc0NzI2NzNEMDAyMDc0Njg1RjY2NkM2NzE0Cis6MTA1MzIwMDAzRDAwMjA3NDY4NUY2MzZFNzQzRDAwMjA3MjY4NUY3Mzk3Cis6MTA1MzMwMDA3NDcyM0QwMDIwNzI2ODVGNzM3NDY2M0QwMDIwNzI2ODZECis6MTA1MzQwMDA1RjYyNjE3MzNEMDAyMDcyNjg1RjczNjk3QTNEMDAyMDdGCis6MTA1MzUwMDA3MjY4NUY3MzcwNjEzRDAwMjA3MjY4NUY2MTczNkYzREJBCis6MTA1MzYwMDAwMDIwNzI2ODVGNzI2RjZGM0QwMDIwNzI2ODVGNjY2QzJDCis6MTA1MzcwMDA2NzNEMDAyMDZENUY2MzYxNzI2NTNEMDAyMDcwNzQ1RjYyCis6MTA1MzgwMDA2NjZDNkYzRDAwMjA2MTczNUY2NjZDNkYzRDAwMjA3MjNDCis6MTA1MzkwMDA2RDVGNjY2QzZGM0QwMDIwMjAyMDcxNUY2OTZFM0QwMDdGCis6MTA1M0EwMDAyMDIwNzE1RjZGNzU3NDNEMDAyMDcxNUY2NDcyNjE2RUMzCis6MTA1M0IwMDAzRDAwMjAyMDcxNUY3NDY5NkQzRDAwMjAyMDIwNzE1RkU5Cis6MTA1M0MwMDA2NjYzM0QwMDIwNzE1RjczNzQ2MTc0M0QwMDIwNzE1RkZFCis6MTA1M0QwMDA2NDYxNzQ2MTNEMDAyMDcxNUY2RDZGNjQ2RDNEMDAyMEZDCis6MTA1M0UwMDA2ODYxNkU2NDVGNkYzRDAwMjA2ODYxNkU2NDVGNjIzRDVFCis6MTA1M0YwMDAwMDIwNjg2MTZFNjQ1RjY1M0QwMDIwNjg2MTZFNjQ1RkQ3Cis6MTA1NDAwMDA2OTNEMDAyMDIwNkY3MDZGNzM3NDNEMDAyMDIwNzQ2OTI3Cis6MTA1NDEwMDA2RDY1NkYzRDAwMjA2Mzc1NzM3NDZEMzEzRDAwMjA2M0QxCis6MTA1NDIwMDA3NTczNzQ2RDMyM0QwMDIwNjM3NTczNzQ2RDY0M0QwMDU3Cis6MTA1NDMwMDAyMDc0Nzg3MjYxNzQ2NTNEMDAyMDcyNzg3MjYxNzQ2NUMxCis6MTA1NDQwMDAzRDAwMjAyMDYzNUY2RDYxNzAzRDAwMjA2MzVGNjE2NEZCCis6MTA1NDUwMDA2NDcyM0QwMDIwNjM1RjYxNjk3MzcyM0QwMDIwNjM1Rjg5Cis6MTA1NDYwMDA3ODc0NjE2NzNEMDAyMDYzNUY2NDY1NjY3MjNEMDAyMDZCCis6MTA1NDcwMDA2MzVGNjY2QzczNjgzRDAwMjA3NDc4NkQ2MTc4NzMzRDdFCis6MTA1NDgwMDAwMDIwNzI2OTVGNjU2RDczM0QwMDIwMjA2MzVGNkM3MzVGCis6MTA1NDkwMDA3MjNEMDAyMDIwNjM1RjY5NjU3MjNEMDAyMDIwNjM1RkRDCis6MTA1NEEwMDA2NjYzNzIzRDAwMjAyMDYzNUY2RDYzNzIzRDAwMjAyMEMzCis6MTA1NEIwMDA2MzVGNkM2MzcyM0QwMDIwMjA2MzVGNjQ3MzczM0QwMDIzCis6MTA1NEMwMDAyMDYzNUY2NDczNzM2OTNEMDAyMDYzNUY2NDczNzM3MjZDCis6MTA1NEQwMDAzRDAwMjAyMDYzNUY2OTczNzIzRDAwMjAyMDYzNUY2MzlECis6MTA1NEUwMDA2MTcyM0QwMDIwMjA2MzVGNjU2NjcyM0QwMDIwNjM1RjRFCis6MTA1NEYwMDA2NTcyNzM3NDNEMDAyMDYzNUY2NTYzNkU3NDNEMDAyMEM4Cis6MTA1NTAwMDA2MzVGNjI3MjZCNjMzRDAwMjA2MzVGNjI2RjZCNjMzRDNDCis6MTA1NTEwMDAwMDIwNjM1RjcyNjU3MDZDM0QwMDIwNjM1RjYzNjM3MzlFCis6MTA1NTIwMDA3MjNEMDAyMDYzNUY3Mzc0NzQzMTNEMDAyMDYzNUY3M0NDCis6MTA1NTMwMDA3NDc0MzIzRDAwMkJDMDhFRDg4RUMwRThDMjAwRThFNUZFCis6MTA1NTQwMDAwMEZBQkY4NDAwQzcwNURDNTY4QzREMDJCRjBDMDBDN0IzCis6MTA1NTUwMDAwNTZFNUU4QzREMDJCRjA0MDBDNzA1QkE1RThDNEQwMjFECis6MTA1NTYwMDBFOEYxMDA5MEU4NDkwMUU4MTYwMEY0OTBFOEU1MDBCRTkzCis6MTA1NTcwMDBCQTRERTgwOTBDQTA5MzEyRTg1RDBDRThDMjA5RUJFNDBGCis6MTA1NTgwMDBFOEQ1MENFOEM0MEMwQUMwNzRGNjhCMUVGODc5M0MwRDAzCis6MTA1NTkwMDA3NDJFM0MwODc0MTczQzdGNzQxMzgzRkIyMDdGRTE4OEQyCis6MTA1NUEwMDA4N0Q2Nzk0Mzg5MUVGODc5RTg3NzBDRUJEMzBCREI3NDQ3Cis6MTA1NUIwMDBDRjRCODkxRUY4Nzk4QjM2MTY3QUU4QzEwQkVCQzE5MDc4Cis6MTA1NUMwMDBFODAyMDBFQkJCQzY4N0Q2NzkwMDBCREI3NDFFQTBENkMxCis6MTA1NUQwMDA3OUJGNjA1MUI5MUQwMDhCRDkwNjBFMDdGMkFFMDc3NTcxCis6MTA1NUUwMDAxNzQxMkJEOUQxRTMyRUZGOTc3RDUxOTAzM0MwQTNGOEZCCis6MTA1NUYwMDA3OUJFODk0REU4ODcwQkMzQkU4RDRERTg4MDBCRUJFQzdGCis6MTA1NjAwMDBCQTAwMDJCMDkzRUVCMDU1RUVCQTEwMDJCMDkzRUVCMDBECis6MTA1NjEwMDBBQUVFQkEwMDAyRUMzQzU1NzUwOEJBMTAwMkVDM0NBQTlFCis6MTA1NjIwMDA3NDAzRTgyRkY2QzNCQTA0MDJCMDFBRUVCMDIwRUVCMDRECis6MTA1NjMwMDAzMEVFQjA0MEVFQjA4MEVFQkEwMDAyQjAxM0VFQjAwNzJDCis6MTA1NjQwMDBFRUJBMDgwMkIwODBFRUJBMDIwMkIwQkJFRUJBMDQwMkIzCis6MTA1NjUwMDBCMDA1RUVDM0M2MDZDQTEzMDFDNzA2Rjg3OTAwMDBDNjM2Cis6MTA1NjYwMDAwNkY2NzkwMUM3MDZEMDc5MDAwMEM3MDZEMjc5MDAwMDk2Cis6MTA1NjcwMDBDNzA2RDQ3OTAwMDBDNzA2RkE3OTAwMDBDNzA2RkM3OThFCis6MTA1NjgwMDAwMDAwQzcwNkZFNzkwMDAwQzcwNjAwN0EwMDAwQzcwNkMyCis6MTA1NjkwMDAwMjdBQ0U1OThDMEUwNDdBQzcwNjA2N0EwMDAwQzcwNjM1Cis6MTA1NkEwMDAyNzdBMDAwMEM2MDYyOTdBMDBDNjA2MkE3QTAwQzM5MDI3Cis6MTA1NkIwMDBCRTIyNERFOEM4MEFFODNGMDAyQzMxM0MwMTc3RjdFOEVDCis6MTA1NkMwMDA4MTA5OEIzNjBDN0FFOEI1MEFCRTZBNERFOEFGMEEwRTNFCis6MTA1NkQwMDA1OEU4RjgwQUJFN0E0REU4QTQwQUMzOTA2MEQxRTM4MzgzCis6MTA1NkUwMDBGQjE4NzMxMTFFQkEwMDAwOEVEQTJFRkY5N0I3NTE4QjhDCis6MTA1NkYwMDBFQzg5NDYxMDFGNjFDRjkwRTg0RjBCMEFDMDc1MDVFODkyCis6MTA1NzAwMDA1NjBCRUJGNEMzOTA4MzNFRjg3OTAxNzQxNkJFRDc3OTNCCis6MTA1NzEwMDBFODMxMEE4QkQwQUMzQzJDNzQwNDNDMjA3NTA1RTgyMzlFCis6MTA1NzIwMDAwQUVFQzNFOUQyRkU4MzNFRjg3OTAxNzRGNkJFRDc3OTVBCis6MTA1NzMwMDBFODExMEE4QkQwQUMzQzJDNzQwODNDMjA3NDA0RTlCNzA3Cis6MTA1NzQwMDBGRTkwRThGRjA5RUZDMzkwOEIxNjA2N0E4MzNFRjg3OTQ2Cis6MTA1NzUwMDAwMTc0MEJCRUQ3NzlFOEVCMDk4QkQwQTMwNjdBQjAyMDkxCis6MTA1NzYwMDBFODU3MEI4QjE2MDY3QUVDRTg2RjBCQzM4QjE2MDY3QTlDCis6MTA1NzcwMDA4MzNFRjg3OTAxNzQwQkJFRDc3OUU4QzcwOThCRDBBM0IzCis6MTA1NzgwMDAwNjdBQjAyMEU4MzMwQjhCMTYwNjdBRURFODY3MEJDMzc4Cis6MTA1NzkwMDBGQUM2MDZGNjc5MDBDMzkwQzYwNkY2NzkwMUZCQzM5MEY3Cis6MTA1N0EwMDAwNkU4NTgwOUIwMjBFODExMEIyNjhCMDVFODQ3MEJCMDM2Cis6MTA1N0IwMDAwOEU4MDYwQkU4MDMwQkU4MDAwQkU4RkQwQUI4MDEwMDU3Cis6MTA1N0MwMDBFOENGRjRCQTAyMDJFQzI0MDE3NTAyRUJEQ0JBMDYwMjVGCis6MTA1N0QwMDBFQzA3QzM5MEM3MDYwODdBMTAwMEVCMDZDNzA2MDg3QUU0Cis6MTA1N0UwMDAwMTAwMDY4RTA2RkM3OThCM0VGQTc5RTgwRTA5RTgwQjdCCis6MTA1N0YwMDAwMDg5M0VGQTc5OEMwNkZDNzkwN0MzOTBCRUIyNERFODY5Cis6MTA1ODAwMDA3QzA5OEIxNjA4N0E1MkU4MkEwOUU4MEYwQUU4MEMwQTg0Cis6MTA1ODEwMDAzM0RCQjkxMDAwOTAyNjhBMDFFOEJDMDlFOEZEMDk0MzkyCis6MTA1ODIwMDBFMkY0RThGNzA5RThGNDA5MzNEQkI5MTAwMDkwMjY4QUJFCis6MTA1ODMwMDAwMTNDMjA3MjA1M0M3RTc2MDM5MEIwMkVFOEUzMDk0M0RDCis6MTA1ODQwMDBFMkVDQkVCMjRERTgzNjA5ODNDNzEwNUE0QTc1QjdDM0I5Cis6MTA1ODUwMDAwNjhFMDYwMDdBOEIzRUZFNzlFOEEwMDg4OTNFRkU3OTI2Cis6MTA1ODYwMDA4QzA2MDA3QTU3OEIzNjBFN0FFODEyMDlDNzA2MDg3QTNBCis6MTA1ODcwMDAxMDAwQkEwMDAyRThFODAwRTg4MUZGNUZCQTAwMDBFODIzCis6MTA1ODgwMDBERTAwQkVCNTRERThGNjA4OENDMEU4M0YwOUIwM0FFODQ2Cis6MTA1ODkwMDA5MDA5OEJDN0U4MzUwOUU4N0UwOEU4QzMwMDkwRThCN0FGCis6MTA1OEEwMDAwOUU4QTYwOTBBQzA3NEY2M0MwQjc1MDY4M0VGMTBFQkY1Cis6MTA1OEIwMDAxOTkwM0MwQTc1MDY4M0M3MTBFQjBGOTAzQzBDNzUwNEQ5Cis6MTA1OEMwMDA0N0VCMDc5MDNDMDg3NTI0NEY5MDhCMzZGRTc5OEJDN0M5Cis6MTA1OEQwMDAyQkM2M0QwMDAxNzJBNTNEMTAwMTcyMDQ4M0VFMjA5MDlECis6MTA1OEUwMDA4M0M2MTA4OTM2RkU3OTU3OEJGRUVCODAzQzJFNzUwOEY3Cis6MTA1OEYwMDBCQTAxMTNFODZBMDAwN0MzQzYwNjBBN0EwMjMyQzk5MEUxCis6MTA1OTAwMDAzQzMwNzI0QzNDMzk3NjBDMjQ1RjNDNDE3MjQyM0M0NjQwCis6MTA1OTEwMDA3NzNFMkMwNzJDMzA1MEU4Q0MwODU4MDJDOEZFMEUwQUZGCis6MTA1OTIwMDA3QTc0MEZDMEUxMDRFODJGMDlFODFFMDkwQUMwNzRGNjcyCis6MTA1OTMwMDBFQkNFMjY4ODBERThFMDA3OEFEMEU4MjMwMDhBQzEzQzM4Cis6MTA1OTQwMDAyMDcyMDUzQzdFNzYwMzkwQjAyRUU4RDUwOEU5NzBGRjAyCis6MTA1OTUwMDBFOEM1MDdFODBBMDAyNjhBMDVFODdDMDhFOTFERkY5MEVCCis6MTA1OTYwMDBGNjA2MjY3QTAyNzUwMjg2RjI1MjhCMzYxQTdBRTgwRDBFCis6MTA1OTcwMDAwODVBNTI4QUM2MDIwNjI0N0FGNjA2MjY3QTAxNzUwNjY1Cis6MTA1OTgwMDBFODlGMDhFQjBEOTAzMkU0RTgwRDA4OEIzNjFDN0FFOEFFCis6MTA1OTkwMDBFQzA3NUE4QUMyMDIwNjI1N0FGNjA2MjY3QTAxNzUwNkFGCis6MTA1OUEwMDBFODdGMDhFQjA2OTAzMkU0RThFRDA3OEIzNjFFN0FFOEQ0Cis6MTA1OUIwMDBDQzA3QzM5MDA2OEUwNjA0N0E4QjNFMDI3QUU4M0MwNzM5Cis6MTA1OUMwMDA4OTNFMDI3QThDMDYwNDdBMDdGRjFFMDI3QUMzQkU5N0NDCis6MTA1OUQwMDA0REU4QUEwN0NCOTAwNjU3QkVENzc5RTg2NjA3OEJEODYzCis6MTA1OUUwMDBFODYxMDc4QkM4MkJDQjc4MTE4RUMzQkYwMDAwQjhGRkNFCis6MTA1OUYwMDBGRjUxQjkwODAwRjNBQjU5RTJGNzVGMDdDMzkwMDZCRTQ5Cis6MTA1QTAwMDBENzc5RTgzRjA3OEJEOEQxRTMyRThCOUY0NDAwQkUyNjgxCis6MTA1QTEwMDA1MkU4RjEwODhCQzNFOEREMDhCODAxMDBFODczRjJFODRBCis6MTA1QTIwMDBFMDA4QkUyRjUyRThERDA4OEI0NzE4RThDODA4QkU3N0FCCis6MTA1QTMwMDA1MkU4RDEwODhCNDcyNkU4QkMwOEJFNTM1MkU4QzUwODk3Cis6MTA1QTQwMDA4QjQ3MUVFOEIwMDhCRTVDNTJFOEI5MDg4QjQ3MjBFOEQ3Cis6MTA1QTUwMDBBNDA4QkU2RTUyRThBRDA4OEI0NzI0RTg5ODA4QkU4MEMzCis6MTA1QTYwMDA1MkU4QTEwODhCNDcyQUU4OEMwOEU4OTUwOEJFMzg1MjBFCis6MTA1QTcwMDBFODkyMDg4QjA3RTg3RTA4QkU0MTUyRTg4NzA4OEI0NzBBCis6MTA1QTgwMDAxQUU4NzIwOEJFNEE1MkU4N0IwODhCNDcxQ0U4NjYwODkxCis6MTA1QTkwMDBCRTY1NTJFODZGMDg4QjQ3MjJFODVBMDhFODYzMDhCRUUzCis6MTA1QUEwMDBEMTUyRTg2MDA4OEI0NzM4RTg0QjA4QkVBRDUyRTg1NDQ1Cis6MTA1QUIwMDAwODhCNDczMEU4M0YwOEJFQjY1MkU4NDgwODhCNDczMkFCCis6MTA1QUMwMDBFODMzMDhCRUE0NTJFODNDMDg4QjQ3MkVFODI3MDhCRUZFCis6MTA1QUQwMDBCRjUyRTgzMDA4OEI0NzM0RTgxQjA4RTgyNDA4QkU4OTI5Cis6MTA1QUUwMDA1MkU4MjEwODhCNDcwNEU4MEMwOEJFOTI1MkU4MTUwOERBCis6MTA1QUYwMDA4QjQ3MTRFODAwMDhCRTlCNTJFODA5MDg4QjQ3MkNFODQ2Cis6MTA1QjAwMDBGNDA3QkVDODUyRThGRDA3OEI0NzM2RThFODA3QkVEQTVGCis6MTA1QjEwMDA1MkU4RjEwNzhCNDczQUU4REMwN0JFRTM1MkU4RTUwN0I1Cis6MTA1QjIwMDA4QjQ3M0NFOEQwMDdFOEQ5MDdCRTE5NTNFOEQ2MDc4QjY2Cis6MTA1QjMwMDA0NzQ4RThDMTA3QkVGRTUyRThDQTA3OEI0NzQyRThCNUFFCis6MTA1QjQwMDAwN0JFMDc1M0U4QkUwNzhCNDc0NEU4QTkwN0JFN0M1MzRFCis6MTA1QjUwMDBFOEIyMDc4QjQ3NENFODlEMDdCRTg1NTNFOEE2MDc4QjQ0Cis6MTA1QjYwMDA0NzRFRTg5MTA3QkU4RTUzRTg5QTA3OEI0NzUwRTg4NTY5Cis6MTA1QjcwMDAwN0U4OEUwN0JFMjI1M0U4OEIwNzhCNDc0QUU4NzYwNzczCis6MTA1QjgwMDBCRUVDNTJFODdGMDc4QjQ3MDhFODZBMDdCRUY1NTJFODhCCis6MTA1QjkwMDA3MzA3OEI0NzQwRTg1RTA3QkUxMDUzRTg2NzA3OEI0N0UzCis6MTA1QkEwMDA0NkU4NTIwN0U4NUIwN0JFNkE1M0U4NTgwNzhCNDc3QTE2Cis6MTA1QkIwMDBFODQzMDdCRTNENTNFODRDMDc4QjQ3NzBFODM3MDdCRTA0Cis6MTA1QkMwMDA0NjUzRTg0MDA3OEI0NzcyRTgyQjA3QkU0RjUzRTgzNDMzCis6MTA1QkQwMDAwNzhCNDc3NEU4MUYwN0U4MjgwN0JFMkI1M0U4MjUwNzAzCis6MTA1QkUwMDA4QjQ3MENFODEwMDdCRTM0NTNFODE5MDc4QjQ3MTBFOEMxCis6MTA1QkYwMDAwNDA3QkU1ODUzRTgwRDA3OEI0Nzc2RThGODA2QkU2MUU4Cis6MTA1QzAwMDA1M0U4MDEwNzhCNDc3OEU4RUMwNkJFNzM1M0U4RjUwNkM2Cis6MTA1QzEwMDA4QjQ3M0VFOEUwMDZFOEU5MDZCRTk3NTNFOEU2MDY4QkM4Cis6MTA1QzIwMDA0NzUyRThEMTA2QkVBMDUzRThEQTA2OEI0NzU0RThDNUQwCis6MTA1QzMwMDAwNkJFQTk1M0U4Q0UwNjhCNDc1NkU4QjkwNkJFQjI1MzU2Cis6MTA1QzQwMDBFOEMyMDY4QjQ3NThFOEFEMDZCRUJCNTNFOEI2MDY4QkU0Cis6MTA1QzUwMDA0NzVBRThBMTA2QkVDNDUzRThBQTA2OEI0NzVDRTg5NUZDCis6MTA1QzYwMDAwNkU4OUUwNkJFQ0Q1M0U4OUIwNjhCNDc1RUU4ODYwNjk3Cis6MTA1QzcwMDBCRUQ2NTNFODhGMDY4QjQ3NjBFODdBMDZCRURGNTNFODRFCis6MTA1QzgwMDA4MzA2OEI0NzYyRTg2RTA2QkVFODUzRTg3NzA2OEI0N0NCCis6MTA1QzkwMDA3Q0U4NjIwNkJFRjE1M0U4NkIwNjhCNDc3RUU4NTYwNjQ5Cis6MTA1Q0EwMDBCRUZBNTNFODVGMDY4Qjg3ODAwMEU4NDkwNkU4NTIwNjkzCis6MTA1Q0IwMDBCRTQyNTRFODRGMDY4Qjg3OUUwMEU4MzkwNkJFMDM1NDY3Cis6MTA1Q0MwMDBFODQyMDY4QjQ3NjRFODJEMDZCRTBDNTRFODM2MDY4Qjg2Cis6MTA1Q0QwMDA0NzZFRTgyMTA2QkUxNTU0RTgyQTA2OEI4NzhFMDBFODM5Cis6MTA1Q0UwMDAxNDA2QkUxRTU0RTgxRDA2OEI4NzkwMDBFODA3MDZCRTBBCis6MTA1Q0YwMDAyNzU0RTgxMDA2OEI4NzkyMDBFOEZBMDVFODAzMDZCRUYxCis6MTA1RDAwMDAzMDU0RTgwMDA2OEI4Nzk0MDBFOEVBMDVCRTM5NTRFODcxCis6MTA1RDEwMDBGMzA1OEI4Nzk2MDBFOEREMDVCRTZGNTRFOEU2MDU4QjNBCis6MTA1RDIwMDA4Nzk4MDBFOEQwMDVCRTVENTRFOEQ5MDU4QTg3QTAwMEIxCis6MTA1RDMwMDBFOEE3MDVCRTU0NTRFOENDMDU4QTQ3MjhFODlCMDVCRTcxCis6MTA1RDQwMDA2NjU0RThDMDA1OEE4N0ExMDBFODhFMDVFOEIzMDVCRTYxCis6MTA1RDUwMDA3ODU0RThCMDA1OEE4N0EyMDBFODdFMDVCRTgxNTRFODQxCis6MTA1RDYwMDBBMzA1OEE4N0EzMDBFODcxMDVCRThBNTRFODk2MDU4QUQwCis6MTA1RDcwMDA4N0E0MDBFODY0MDVCRTkzNTRFODg5MDU4QTg3QTUwMEQ2Cis6MTA1RDgwMDBFODU3MDVCRTlDNTRFODdDMDU4QTg3QTYwMEU4NEEwNUNBCis6MTA1RDkwMDBCRUE1NTRFODZGMDU4QTg3QTcwMEU4M0QwNUJFQUU1NDRFCis6MTA1REEwMDBFODYyMDU4QTg3QTgwMEU4MzAwNUU4NTUwNUJFQjc1NEMzCis6MTA1REIwMDBFODUyMDU4QTg3QTkwMEU4MjAwNUJFQzA1NEU4NDUwNUQ5Cis6MTA1REMwMDA4QTg3QUEwMEU4MTMwNUJFQzk1NEU4MzgwNThBODdBQjVDCis6MTA1REQwMDAwMEU4MDYwNUJFRDI1NEU4MkIwNThBODdBRDAwRThGOTM1Cis6MTA1REUwMDAwNEJFREI1NEU4MUUwNThBODdBRTAwRThFQzA0QkVFNDdFCis6MTA1REYwMDA1NEU4MTEwNThBODdBRjAwRThERjA0QkVFRDU0RTgwNERCCis6MTA1RTAwMDAwNThBODdCMDAwRThEMjA0RThGNzA0QkVGNjU0RThGNDQ3Cis6MTA1RTEwMDAwNDhBODdCMTAwRThDMjA0QkVGRjU0RThFNzA0OEE4NzE5Cis6MTA1RTIwMDBCMjAwRThCNTA0QkUwODU1RThEQTA0OEE4N0IzMDBFODkyCis6MTA1RTMwMDBBODA0QkUxMTU1RThDRDA0OEE4N0JCMDBFODlCMDRFODlFCis6MTA1RTQwMDBDMDA0QkUxQTU1RThCRDA0OEE4N0JDMDBFODhCMDRCRUI2Cis6MTA1RTUwMDAyMzU1RThCMDA0OEE4N0JFMDBFODdFMDRCRTJDNTVFOENFCis6MTA1RTYwMDBBMzA0OEE4N0JGMDBFODcxMDRFODk2MDQwN0MzNjAwNkFDCis6MTA1RTcwMDAxRTE2OEJFQ0ZGNEUxNkY3NDYxQTAwMDI3NDAxRkJCODkzCis6MTA1RTgwMDAwMDAwOEVEODhFQzA4OTJFMkQ3QUU4Q0IwMDgxNjYxQTRDCis6MTA1RTkwMDBGRkZFQzYwNjJBN0EwMEU4RDgwMEI4MDA1RkEzMkI3QTc2Cis6MTA1RUEwMDBFODVEMDA4MDNFMkE3QTAwNzQwQTgxNEUxQTAwMDFDNjFECis6MTA1RUIwMDAwNjJBN0EwMDE3MUYwNzYxQ0Y5MDYwMDYxRTE2OEJFQzJBCis6MTA1RUMwMDBGNzQ2MUEwMDAyNzQwMUZCQjgwMDAwOEVEODhFQzA4OTE0Cis6MTA1RUQwMDAyRTJEN0E4MTY2MUFGRkZFQzYwNjJBN0EwMEU4OTIwMDA1Cis6MTA1RUUwMDBCODAwNUZBMzJCN0FFODE3MDA4MDNFMkE3QTAwNzQwQTc0Cis6MTA1RUYwMDA4MTRFMUEwMDAxQzYwNjJBN0EwMDE3MUYwNzYxQ0Y5MDRCCis6MTA1RjAwMDBCOEYwMDBFODhDRURGRjI2MkI3QUMzOTAwNjUzNTY4MDNDCis6MTA1RjEwMDAzRTI5N0EwMDc0MDNFODNGMDBCRUQ3NzlFODI1MDI4QjVBCis6MTA1RjIwMDBEOEEzMjc3QTJFOEEwN0EyMjk3QUIwQ0MyRTg4MDc1RUJBCis6MTA1RjMwMDA1QjA3QzNDNjA2MkE3QTAwQjgwQTVGQTMyQjdBQzM5MDEwCis6MTA1RjQwMDA4QjJFMkQ3QUU4MkIwMEMzQzYwNjJBN0EwMUU4MDgwMEJBCis6MTA1RjUwMDBCODBBNUZBMzJCN0FDMzkwNTc4MDNFMjk3QTAwNzQwRjRBCis6MTA1RjYwMDA4QjNFMjc3QUEwMjk3QTJFODgwNUM2MDYyOTdBMDA1RkZCCis6MTA1RjcwMDBDMzkwQkVCMjRERTgwNjAyQkVEODUxRTgwMDAyRkY3NkRCCis6MTA1RjgwMDAxNDU4RTg0NzAyQkVERTUxRThGMzAxRkY3NjBFNThFOEU4Cis6MTA1RjkwMDAzQTAyQkVFNDUxRThFNjAxRkY3NjEyNThFODJEMDJCRTRGCis6MTA1RkEwMDBFQTUxRThEOTAxRkY3NjEwNThFODIwMDJCRTE0NTJFODAxCis6MTA1RkIwMDBDQzAxRkY3NjBBNThFODEzMDJCRTFBNTJFOEJGMDFGRjZGCis6MTA1RkMwMDA3NjBDNThFODA2MDJCRUNGNTFFOEIyMDFGRjc2MUE1OEE3Cis6MTA1RkQwMDBFOEY5MDFCRUIyNERFOEE1MDFCRUYwNTFFODlGMDFGRjBFCis6MTA1RkUwMDA3NjE4NThFOEU2MDFCRUY2NTFFODkyMDFGRjc2MDI1OEFECis6MTA1RkYwMDBFOEQ5MDFCRUZDNTFFODg1MDFGRjc2MDQ1OEU4Q0MwMUUwCis6MTA2MDAwMDBCRTAyNTJFODc4MDFGRjc2MDA1OEU4QkYwMUJFMDg1MjkwCis6MTA2MDEwMDBFODZCMDFGRjc2MDY1OEU4QjIwMUJFMEU1MkU4NUUwMTU5Cis6MTA2MDIwMDBGRjc2MDg1OEU4QTUwMUJFMjA1MkU4NTEwMUZGNzYxNjE4Cis6MTA2MDMwMDA1OEU4OTgwMUJFODk0REU4NDQwMUMzOTBCRUM5NERFOEI3Cis6MTA2MDQwMDAzQzAxQzMzQzAwNzQwNTNDMDE3NDU5QzNDNzA2MEM3QTdCCis6MTA2MDUwMDBDRDUwQzcwNjBFN0FGMDUwQzcwNjEwN0FFODUwQzcwNjMyCis6MTA2MDYwMDAxMjdBRUM1MEM3MDYxNDdBRjQ1MEM3MDYxNjdBRkI1MDIxCis6MTA2MDcwMDBDNzA2MTg3QTAzNTFDNzA2MUE3QTBCNTFDNzA2MUM3QTRECis6MTA2MDgwMDAwRTUxQzcwNjFFN0ExMDUxQzcwNjIwN0ExMjUxQzcwNjU0Cis6MTA2MDkwMDAyMjdBMTY1MUM2MDYyNDdBMDFDNjA2MjU3QTAxQzYwNjVBCis6MTA2MEEwMDAyNjdBMDNDM0M3MDYwQzdBMUE1MUM3MDYwRTdBNEQ1MUQ5Cis6MTA2MEIwMDBDNzA2MTA3QTQ3NTFDNzA2MTI3QTRBNTFDNzA2MTQ3QUEyCis6MTA2MEMwMDA0RjUxQzcwNjE2N0E1MTUxQzcwNjE4N0E1NTUxQzcwNjVGCis6MTA2MEQwMDAxQTdBNTY1MUM3MDYxQzdBNTk1MUM3MDYxRTdBNUE1MTY4Cis6MTA2MEUwMDBDNzA2MjA3QTVCNTFDNzA2MjI3QTVFNTFDNjA2MjQ3QTFCCis6MTA2MEYwMDAyMEM2MDYyNTdBMjBDNjA2MjY3QTAyQzNBMUY4Nzk0ODZBCis6MTA2MTAwMDA3NDE0QkVENzc5RTgzQzAwOEJGOEFDM0MzQTc1MDc4RTI2Cis6MTA2MTEwMDBDN0U4MzAwMDhCRjhDMzkwOEJDNzJCMDZGRTc5OEFGMDU2Cis6MTA2MTIwMDAyNDBGOEFEMDAyRDAwMkQwODBDMjBCQzBFRTA0ODBDNkY5Cis6MTA2MTMwMDAwMzA0M0RDMzhDQzBFODkzMDBCMDNBRThFNDAwOEJDNzg5Cis6MTA2MTQwMDBFODg5MDBDMzUxMzNDOTkwQUMzQzIwNzRGQjkwMEFDMDZECis6MTA2MTUwMDA3NDI2MkMzMDcyMjIzQzA5NzYxNDNDMTE3MjFBMkMwN0RBCis6MTA2MTYwMDAzQzBGNzYwQTNDMkE3MjEwMkMyMDNDMEY3NzBBOThDMTBCCis6MTA2MTcwMDBFMTA0MDNDOEFDRUJENzkwNEU4QkMxNTlDMzkwMDY4Qzk5Cis6MTA2MTgwMDBDODhFQzBFODAyMDAwN0MzMjY4QTA0NDYwQUMwNzQwNjA3Cis6MTA2MTkwMDBFODhGMDBFQkYzOTBDMzkwMEJDMDc0N0E1MTMzRDJCOUZGCis6MTA2MUEwMDBFODAzRjdGMThCQ0FFODAzMDA4QkMxNTlCQTY0MDBGNjIzCis6MTA2MUIwMDBGMkU4MEMwMDhBQzQ5OEIyMEFGNkYyRTgwMjAwOEFDNDM3Cis6MTA2MUMwMDA1MDBBRjA3NDA1MDQzMEU4NTgwMDU4QzM4NkM0RTgwNzQ0Cis6MTA2MUQwMDAwMDg2QzRFODAyMDBDMzkwQzFDODA0RTgwODAwQzFDMDNBCis6MTA2MUUwMDAwNEU4MDIwMEMzOTA1MzUwMjQwRkJCQ0E2MjJFRDdFOEM0Cis6MTA2MUYwMDAzMDAwNTg1QkMzOTA4NkM0RTgwNzAwODZDNEU4MDIwMEZDCis6MTA2MjAwMDBDMzkwNTBCOTA4MDA4QUUwMzJDMEQxQzAwNDMwRTgxMTEwCis6MTA2MjEwMDAwMEUyRjU1OEMzOTBCMDMwRTgwNzAwQzNCMDIwRTgwMUIxCis6MTA2MjIwMDAwMEMzNTY4QjM2RDA3OTg4ODREMDc3NDY4MUU2RkYwMTRCCis6MTA2MjMwMDBGRjA2RDQ3OTg5MzZEMDc5ODEzRUQ0NzlGRTAxNzUwODdDCis6MTA2MjQwMDA1NkU4MTQwMDVFRUJGMTkwNUVDM0JBMDIwMkVDMjQwMTQyCis6MTA2MjUwMDA3NDA0QkEwNjAyRUNDMzkwODAzRUY2NzkwMDc0MDk2MEJCCis6MTA2MjYwMDBCODAxMDBFODJDRUE2MTkwQkEwMjAyRUNBODA0NzQyODk0Cis6MTA2MjcwMDA4QjM2RDI3OTgzM0VENDc5MDA3NDFEOEE4NEQwNzc0NkQ4Cis6MTA2MjgwMDA4MUU2RkYwMTg5MzZEMjc5RkYwRUQ0NzlCQTA2MDJFRTkzCis6MTA2MjkwMDBCQTAyMDJFQ0E4MDQ3NURDQTFENDc5QzM1MkJBMDYwMjkyCis6MTA2MkEwMDBFRTVBQzM5MDUyNTBCQTAyMDJFQ0E4MDQ3NDA4NTg1QTJECis6MTA2MkIwMDBFOEU5RkZGOUMzOTA1ODVBRjhDMzUyNTBCQTAyMDJFQzA5Cis6MTA2MkMwMDBBODA0NzRGQjU4NUFFOEQzRkZDMzMwMzEzMjMzMzQzNTU1Cis6MTA2MkQwMDAzNjM3MzgzOTQxNDI0MzQ0NDU0NjUzNTA4QUUwODBFNERBCis6MTA2MkUwMDAwRkJCQ0E2MkMwRTgwNDJFRDdFOENFRkY4QUM0MkVEN0ZGCis6MTA2MkYwMDBFOEM3RkY1ODVCQzM4NkUwRThERkZGODZFMEU4REFGRjI3Cis6MTA2MzAwMDBDMzkwQkVCMjRENTAyRUFDM0MwMDc0MDVFOEFCRkZFQjIxCis6MTA2MzEwMDBGNTU4QzM5MEM4MDgwMDAwNTY1NzhCNzYwNEJGMDQwMDk4Cis6MTA2MzIwMDBDNzQ2RkMwMDAwQzc0NkZBMDAwMEM3NDZGODAwMDA4M0Q1Cis6MTA2MzMwMDA3RTA2MDA3NTBFNTZFOEI2MEU1OTBCQzA3NTA1OEJDNzY0Cis6MTA2MzQwMDBFOTVCMDE4QjQ2RkM4OTQ2RkUwQkZGNzUwNUI4MDEwMDMxCis6MTA2MzUwMDBFQjAyMzNDMDUwNTZFOEE0MEQ1OTU5QjQwMDg5NDZGQ0VECis6MTA2MzYwMDA4QjVFRkM4M0ZCMDg3NjAzRTkyQjAxRDFFMzJFRkZBN0FDCis6MTA2MzcwMDBCMjY0QjgwMzAwRTkyNjAxODM3RUZBMDA3NDE0Qzc0NkFDCis6MTA2MzgwMDBGQTAwMDA4QTQ0NTg5ODUwOEE0NDU5OTg1MEU4QzIwRjNECis6MTA2MzkwMDA1OTU5ODM3RUY4MDA3NDBBQzc0NkY4MDAwMDU2RTg5QkY2Cis6MTA2M0EwMDAwODU5ODM3RTA2MDA3NTA1OEJDN0U5RjEwMDgzRkYwNDU5Cis6MTA2M0IwMDA3NTAzRTlFNjAwOEJDN0U5RTQwMDgzN0VGRTAwNzUwMzAwCis6MTA2M0MwMDBCRjAyMDBFOUQ1MDA4MzdFRkUwMDc1MDNCRjAxMDBFOTJFCis6MTA2M0QwMDBDOTAwOEI1RUZFODNGQjA3NzYwM0U5ODYwMEQxRTMyRUJFCis6MTA2M0UwMDBGRkE3QTI2NDMzRkZFOTdGMDBCRjA0MDA4MDdDNTgwRjQxCis6MTA2M0YwMDA3NDIyODM3RUY4MDA3NTFDRkU0NDU4NkEwODU2RTg3RUI1Cis6MTA2NDAwMDAwQzU5NTk4QTQ0NTgwNDgwNTA1NkU4NzIwQzU5NTlDNzlGCis6MTA2NDEwMDA0NkZBMDEwMDgzN0VGODAwNzQwQUM3NDZGODAwMDA1NjY5Cis6MTA2NDIwMDBFODE5MDg1OUVCNDJCRjA0MDA4MDdDNTgwMDc0MjI4M0FECis6MTA2NDMwMDA3RUY4MDA3NTFDRkU0QzU4NkEwODU2RTg0MTBDNTk1OTA0Cis6MTA2NDQwMDA4QTQ0NTgwNDgwNTA1NkU4MzUwQzU5NTlDNzQ2RkEwMTE5Cis6MTA2NDUwMDAwMDgzN0VGODAwNzQwQUM3NDZGODAwMDA1NkU4REMwNzlGCis6MTA2NDYwMDA1OUVCMDVCRjA0MDBFQjAwRUIzMUJGMDQwMEVCMkNDNzc4Cis6MTA2NDcwMDA0NkY4MDEwMDZBMDg1NkU4MDUwQzU5NTk4MDdDNTgwOTBECis6MTA2NDgwMDA3RDA0QjAwRkVCMDJCMDAwMDQ4MDUwNTZFOEYwMEI1OUM5Cis6MTA2NDkwMDA1OUJGMDQwMEVCMDVCRjA0MDBFQjAwRTlBNUZFNUY1RUY5Cis6MTA2NEEwMDBDOUMzRTQ2MzYzNjQ2MzY0NjM2NDYzNjRFOTYzMjY2NDI3Cis6MTA2NEIwMDA1MTY0Nzg2M0JBNjNDNjYzOTY2NEQyNjM2QTY0NkE2NDNCCis6MTA2NEMwMDA2RjY0NzI2M0M4MDgwMDAwNTY1NzhCNzYwNDhCN0UwODkxCis6MTA2NEQwMDA2QTAxNTZFOEE5MEI1OTU5OEE0NjA2QzBFMDA2MDQ4MEFECis6MTA2NEUwMDA1MDU2RTg5QTBCNTk1OUM3NDZGRTAwMDA4OTdFRjhFQkQyCis6MTA2NEYwMDAwM0ZGNDZGRThCNUVGOEZGNDZGODgwM0YwMDc1RjI4MzhGCis6MTA2NTAwMDA3RUZFMTA3RDI1QjgxMDAwMkI0NkZFRDFGODg5NDZGQzkyCis6MTA2NTEwMDBDNzQ2RkEwMDAwRUIwQjZBMjA1NkU4NjIwQjU5NTlGRjk4Cis6MTA2NTIwMDA0NkZBOEI0NkZBM0I0NkZDN0NFREVCMEM4QkRGNDc4QTQ4Cis6MTA2NTMwMDAwNzUwNTZFODQ5MEI1OTU5ODAzRDAwNzVFRjZBMDI1NkRECis6MTA2NTQwMDBFODNDMEI1OTU5RUIwMDVGNUVDOUMzQzgwNDAwMDA1NjE0Cis6MTA2NTUwMDA1NzhCN0UwNEM3NDZGRTAwMDBCRTE0MDBFOTA5MDE4QjdDCis6MTA2NTYwMDA1RUZFODNDMzA0MkJERjhBODdBQzBCODg0NDVBQzY0NDgzCis6MTA2NTcwMDA1ODA4OEE0NkZFODg0NDU5Qzc0NDA2MDAwMEM2NDQxOTk0Cis6MTA2NTgwMDAwMEM2NDQxQTAwQzY0NDFCMDBDNjQ0MUQwREM2NDQxRTY2Cis6MTA2NTkwMDAwM0M2NDQxRjAwQzY0NDIwMDBDNjQ0MjEwMEM2NDQ1QjE1Cis6MTA2NUEwMDAwMEM2NDQ1RDAwQzY0NDVFMDBDNjQ0NUYwMEM2NDQ2MDQ5Cis6MTA2NUIwMDAwMEM3NDZGQzAwMDBFQjBEOEI1RUZDRDFFM0M3NDAzMDBBCis6MTA2NUMwMDAwMDAwRkY0NkZDODM3RUZDMTA3Q0VEQzc0NkZDMDAwMDBCCis6MTA2NUQwMDBFQjBBOEI1RUZDQzY0MDUwMDBGRjQ2RkM4MzdFRkMwNDQ5Cis6MTA2NUUwMDA3Q0YwQzc0NDU0MDAwMEM3NDQ1NjAwMDA4QTQ0NUE5OEJGCis6MTA2NUYwMDBCQUY4MDAyM0QwQjgwNTAwMEJDMjg5NDZGQzlDRkE4QTgxCis6MTA2NjAwMDA0NkZDQkFGRTAwRUVCQTAwMDBFQzlEMjQwODg4NDZGQzY5Cis6MTA2NjEwMDA4MzdFRkMwMDc1MDJFQjRBRkY3NkZFRTg3QTBDNTk2ODJGCis6MTA2NjIwMDAzNTAyNTZFODMyMEE1OTU5MEJDMDc1MzQ2ODM4MDI1NjlCCis6MTA2NjMwMDBFODI1MEE1OTU5MEJDMDc1Mjc2ODQyMDI1NkU4MTgwQTFFCis6MTA2NjQwMDA1OTU5MEJDMDc1MUE2ODRDMDI1NkU4MEIwQTU5NTkwQjc4Cis6MTA2NjUwMDBDMDc1MEQ2ODU2MDI1NkU4RkUwOTU5NTkwQkMwNzQwMjAwCis6MTA2NjYwMDBFQjAwRkY0NkZFODNDNjYyMzk3RUZFN0QwM0U5RUZGRTQ2Cis6MTA2NjcwMDBFQjAwNUY1RUM5QzNDODA4MDAwMDU2NTc4QjQ2MDRCQURBCis6MTA2NjgwMDA2MjAwRjdFQTA1MTQwMDhCRjA4MzdFMDYwMDc0MDVCOEZCCis6MTA2NjkwMDAxMDAwRUIwM0I4MDgwMDg5NDQwNDhBNDYwODg4NDQ1QzZCCis6MTA2NkEwMDA1NkU4NTkwNDU5OEJGODhCQzc4OTQ0NTY4OTQ0NTQ4QTUzCis6MTA2NkIwMDA0NDVEODg0NDJGMEJGRjc1MUQ2OEMyMEY2QTAxNTZFOEMwCis6MTA2NkMwMDAwMkZFODNDNDA2RUIwMDZBMDE1NkU4NDdGQzU5NTkwQkU5Cis6MTA2NkQwMDBDMDc1RjRCRjAxMDA4OTdFRkFCOTA1MDBCQkU5NkEyRUQ2Cis6MTA2NkUwMDA4QjA3M0I0NkZBNzQwNzQzNDNFMkY0RTlBNDAzMkVGRjA5Cis6MTA2NkYwMDA2NzBBQzc0NDA2MDIwMEM3NDQwOEY0MDg4QjVFMDREMTQ5Cis6MTA2NzAwMDBFMzhCODdGQzA4ODk0NDBBMzNDMDhCRjg4OTQ0NTRFOTM5Cis6MTA2NzEwMDA4MDAzNTZFOEJCMDU1OUJGMDEwMDhBNDQ1RDg4NDQ2MDg4Cis6MTA2NzIwMDBFOTZGMDM4MzdDMDQwODc1MzA4MDdDNUMwMTc1MTU4QUYxCis6MTA2NzMwMDA0NDVEQjQwMEQxRTA4QkQ4RkZCN0U0MDg1NkU4RjcwODExCis6MTA2NzQwMDA1OTU5RUIxMzhBNDQ1REI0MDBEMUUwOEJEOEZGQjdDNDJDCis6MTA2NzUwMDAwODU2RThFMjA4NTk1OUVCMkU4MDdDNUMwMTc1MTU4QUQxCis6MTA2NzYwMDA0NDVEQjQwMEQxRTA4QkQ4RkZCN0Q0MDg1NkU4QzcwODIxCis6MTA2NzcwMDA1OTU5RUIxMzhBNDQ1REI0MDBEMUUwOEJEOEZGQjdCNDBDCis6MTA2NzgwMDAwODU2RThCMjA4NTk1OTZBMDE1NkU4ODdGQjU5NTk4QkVGCis6MTA2NzkwMDBEODgzRkIwMzc3MkFEMUUzMkVGRkE3RTE2QUJGMDEwMDZDCis6MTA2N0EwMDA4QTQ0NUQ4ODQ0NUVFQjE4OEE0NDVEMDRGRjI0MDc4OEIwCis6MTA2N0IwMDA0NDVERUIwQzhBNDQ1REZFQzAyNDA3ODg0NDVERUIwMDE5Cis6MTA2N0MwMDBFOUNGMDI4QTQ0NURCNDAwRDFFMDhCRDhGRkI3RkQwMjY3Cis6MTA2N0QwMDA1NkU4NjMwODU5NTk2ODFEMDM1NkU4NUEwODU5NTk2QTFBCis6MTA2N0UwMDAwMTU2RTgyRkZCNTk1OThCRDg4M0ZCMDM3NzM2RDFFMzQ5Cis6MTA2N0YwMDAyRUZGQTdEOTZBQkYwMTAwOEE0NDVEODg0NDVGRUIyNDVECis6MTA2ODAwMDA4QTQ0NUQwNEZGOEE1NDA0ODBDMkZGMjJDMjg4NDQ1RDJBCis6MTA2ODEwMDBFQjEyOEE0NDVERkVDMDhBNTQwNDgwQzJGRjIyQzI4ODAzCis6MTA2ODIwMDA0NDVERUIwMEU5NkIwMjhCNUMwNjgzQzNGRUQxRTM4QjE2Cis6MTA2ODMwMDA0MDA4ODkwNDhCMUNGRjc3MDY2QTAwNTZFODg1RkM4M0I0Cis6MTA2ODQwMDBDNDA2OEI1QzA2NEJEMUUzOEI0MDA4ODk0NDAyOEI1QzA5Cis6MTA2ODUwMDAwMkZGNzcwNjZBMDE1NkU4NkFGQzgzQzQwNjZBMDE1NjlECis6MTA2ODYwMDBFOEIxRkE1OTU5OEJEODgzRkIwMzc2MDNFOTFGMDJEMUFCCis6MTA2ODcwMDBFMzJFRkZBN0QxNkE4QjVDMDI4QjQ3MDQ4OTQ0MDI4QjBECis6MTA2ODgwMDA1QzAyODAzRjQ0NzUwRDhCNUMwMjhBNDcwMUI0MDAzQjdCCis6MTA2ODkwMDA0NDA0N0RFMjhCNDYwNEQxRTA4QjFDMDNEODhCNDQwMjc4Cis6MTA2OEEwMDA4OTQ3MDg4QjVDMDY0QkQxRTM4QjQ0MDI4OTQwMDhFOTk5Cis6MTA2OEIwMDBERTAxOEI1QzAyOEI0NzAyODk0NDAyOEI1QzAyODAzRkM1Cis6MTA2OEMwMDA0NDc1MEQ4QjVDMDI4QTQ3MDFCNDAwM0I0NDA0N0RFMkIxCis6MTA2OEQwMDA4QjQ2MDREMUUwOEIxQzAzRDg4QjQ0MDI4OTQ3MDg4QjdDCis6MTA2OEUwMDA1QzA2NEJEMUUzOEI0NDAyODk0MDA4RTlBMjAxQkYwMTU5Cis6MTA2OEYwMDAwMEU5OUMwMThCNUMwMjhBMDdCNDAwODk0NkY4QjkwQzU4Cis6MTA2OTAwMDAwMEJCQTE2QTJFOEIwNzNCNDZGODc0MDc0MzQzRTJGNEIxCis6MTA2OTEwMDBFOTc3MDEyRUZGNjcxODhCNDYwNEQxRTA4QjVDMDIwM0Y4Cis6MTA2OTIwMDBEODhCNDcwODhCNUMwNkZGNDQwNkQxRTM4OTQwMDg4QjZGCis6MTA2OTMwMDAxQzgwN0YwMTAwNzQxMjhCNUMwMjhBNDcwMThCMUM4QUM5Cis6MTA2OTQwMDA1NzAxQjYwMDhCREE4ODQwMThFOTQwMDFGRjRDMDZFOTkwCis6MTA2OTUwMDAzQTAxOEI1QzAyOEE0NzAxOEIxQzhBNTcwMUI2MDA4Qjc3Cis6MTA2OTYwMDBEQTg4NDAxOEU5MjUwMThCNUMwMjhBNDcwMThCMUM4QTcyCis6MTA2OTcwMDA1NzAxQjYwMDhCREE4ODQwMThGRjRDMDZFOTBEMDE4QkYxCis6MTA2OTgwMDA1QzAyOEE0NzAxOEIxQzhBNTcwMUI2MDA4QkRBMzA0MEMzCis6MTA2OTkwMDAxOEU5RjgwMEI4RjAxMDhCRjg4OTQ0NTQ4QTQ0NUY4OEVECis6MTA2OUEwMDA0NDVERTlFNzAwOEE0NDFDOTgzRDAyMDA3NDA3M0QwM0ZBCis6MTA2OUIwMDAwMDc0MDJFQjA3Qzc0NkZFMDAwMEVCMkI4QTQ0MUM5OENDCis6MTA2OUMwMDBEMUUwOEJEOEZGQjc2OTAyNTZFODZCMDY1OTU5NkEwMUM2Cis6MTA2OUQwMDA1NkU4NDBGOTU5NTk4OTQ2RkU4MzdFRkUwMDc0MDY4M0M1Cis6MTA2OUUwMDA3RUZFMDM3NUU5RUIwMDgzN0VGRTAzNzQ2MjhBNDQxQzFECis6MTA2OUYwMDA5OEQxRTA4QkQ4RkZCNzZEMDI1NkU4M0EwNjU5NTk1NjQwCis6MTA2QTAwMDBFODREOTc1OTg5NDZGQzhCNUVGQzgzRUJGRTgzRkIwM0M0Cis6MTA2QTEwMDA3NzMzRDFFMzJFRkZBNzk5NkE2OEFDMDI1NkU4MTcwNkQwCis6MTA2QTIwMDA1OTU5RUIyMzY4OEYwMjU2RTgwQzA2NTk1OUVCMTg2ODQwCis6MTA2QTMwMDA3NTAyNTZFODAxMDY1OTU5RUIwRDY4QzYwMjU2RThGNjhDCis6MTA2QTQwMDAwNTU5NTlFQjAyRUIwMDZBMDE1NkU4QzdGODU5NTlCRkRFCis6MTA2QTUwMDAwMTAwRUIzODY4REQwMjU2RThEQzA1NTk1OTZBMDE1NjM5Cis6MTA2QTYwMDBFOEIxRjg1OTU5QkYwMTAwRUIyMkI4RDAzMDhCRjg4OTUyCis6MTA2QTcwMDA0NDU0OEE0NDYwODg0NDVERUIxMkI4RTAyMDhCRjg4OTY2Cis6MTA2QTgwMDA0NDU0OEE0NDVFODg0NDVERUIwMkVCMDBFQjAyRUIwMDY5Cis6MTA2QTkwMDBFQjAwRTk0MUZDNUY1RUM5QzMxOTZBMjQ2QTJGNkEzQUI4Cis6MTA2QUEwMDA2QTAwMDAwMTAwMDIwMDA0MDA0MTAwNDIwMDQzMDA0NDZCCis6MTA2QUIwMDAwMDgwMDA4MTAwODIwMEZGMDAxNzY5NTQ2QTdBNkFBNThECis6MTA2QUMwMDA2OTUyNjk5NDY5NkE2QTY3Njk1MjY5N0Y2OTY3Njk0QzQyCis6MTA2QUQwMDA2OUY0Njg3NjY4QjI2OEVFNjhGNTY3MDA2ODEyNjhGNTcwCis6MTA2QUUwMDA2NzlENjdBODY3QjQ2NzlENjcwMDAwMDEwMEYwMTBFMDJDCis6MTA2QUYwMDAyMEQwMzAyNzY4RjI2NkMzNjcyMzY3MTI2N0M4MDQwMDk2Cis6MTA2QjAwMDAwMDU2NTc4Qjc2MDQ4QTQ0NTk5ODg5NDZGQzZBMDk4QjRCCis6MTA2QjEwMDA0NkZDMDU4NDAxNTBFODkzMDg1OTU5OEJGODhCQzcyNTJBCis6MTA2QjIwMDAwMEYwM0QwMDEwNzU1NThCQzcyNUYwMDAzREYwMDA3NTU1Cis6MTA2QjMwMDA0QjhCQzcyNTAwMEZDMUY4MDg4OTQ2RkU4QjQ0MDQzQkU4Cis6MTA2QjQwMDA0NkZFN0QwNTMzQzBFOUVGMDA4QkM3MjUwRjAwQkEwRjY1Cis6MTA2QjUwMDAwMDJCRDAzQjU2RkU3NDA1MzNDMEU5REIwMEM3NDQwMjZFCis6MTA2QjYwMDAwNDA5OEE0NkZFODg0NDVGODg0NDVEOEI1RUZDRDFFMzVECis6MTA2QjcwMDBDNzg3RkMwODA0MDlCOEYwMTBFOUJDMDA4QkM3MjUwMEUyCis6MTA2QjgwMDBGMDNEMDAyMDc1NTI4QkM3MjVGMDAwM0RFMDAwNzU0OEIwCis6MTA2QjkwMDA4QkM3MjUwMDBGQzFGODA4ODk0NkZFODM3RUZFMDg3RTVDCis6MTA2QkEwMDAwNTMzQzBFOTkyMDA4QkM3MjUwRjAwQkEwRjAwMkJEMDI4Cis6MTA2QkIwMDAzQjU2RkU3NDA1MzNDMEVCN0Y5MEM3NDQwMjBDMDk4QTM0Cis6MTA2QkMwMDA0NkZFODg0NDVFODg0NDVEOEI1RUZDRDFFM0M3ODdGQzRCCis6MTA2QkQwMDAwODBDMDlCOEUwMjBFQjYwOEJDNzI1MDBGMDNEMDAzMEMxCis6MTA2QkUwMDA3NTUyOEJDNzI1RjAwMDNERDAwMDc1NDg4QkM3MjUwMDM2Cis6MTA2QkYwMDAwRkMxRjgwODg5NDZGRThCNDQwNDNCNDZGRTdEMDQzM0YyCis6MTA2QzAwMDBDMEVCMzU4QkM3MjUwRjAwQkEwRjAwMkJEMDNCNTZGRUNCCis6MTA2QzEwMDA3NDA0MzNDMEVCMjJDNzQ0MDIxNDA5OEE0NkZFODg0NDM4Cis6MTA2QzIwMDA2MDg4NDQ1RDhCNUVGQ0QxRTNDNzg3RkMwODE0MDlCODFCCis6MTA2QzMwMDBEMDMwRUIwNDMzQzBFQjAwNUY1RUM5QzNDODA2MDAwMDcwCis6MTA2QzQwMDA1NjhCNzYwNDZBMDg1NkU4MzUwNDU5NTk4QTQ0NTgwNDI0Cis6MTA2QzUwMDA4MDUwNTZFODI5MDQ1OTU5OEI0NDU0M0I0NDU2NzUwQUQwCis6MTA2QzYwMDA4QTQ0NUQzQTQ0MkY3NTAyRUI2NDhCNDQ1NDg5NDQ1NjQwCis6MTA2QzcwMDA4QjVDMDI4QTQ3MDE4ODQ0MkY4QTQ0NURCNDAwQzFFMERFCis6MTA2QzgwMDAwODhCNTQ1NDBCRDA4QTQ0NURCNDAwQkIwRjAwMkJEODQyCis6MTA2QzkwMDAwQkQzODk1NkZFNkExMDhBNDQ1OTk4MDUwNDAwOTkwNTU5Cis6MTA2Q0EwMDA0MDAxODNEMjAwNTI1MEU4NTQwODgzQzQwNjg5NTZGQzQwCis6MTA2Q0IwMDA4OTQ2RkE4QjQ2RkUwOTQ2RkE4MzRFRkMwMDZBMTlGRkE0Cis6MTA2Q0MwMDA3NkZDRkY3NkZBRTg3MzA3ODNDNDA2RThGRTA3NUVDOTIwCis6MTA2Q0QwMDBDM0M4MUMwMDAwNTY1NzhCNUUwNDhBNDc1OTk4OEJGMDM2Cis6MTA2Q0UwMDA4QjVFMDQ4QTQ3NURCNDAwODk0NkU2ODM3RUU2MDA3REJDCis6MTA2Q0YwMDAwQThCNUUwNDhCNDcwNDQ4ODk0NkU2OEI1RTA0OEI0NzBCCis6MTA2RDAwMDAwNDNCNDZFNjdGMDVDNzQ2RTYwMDAwOEI1RTA0OEE0NkU0Cis6MTA2RDEwMDBFNjg4NDc1RDhCREVEMUUzOEI5RjU5MDJDNjQ3MDIyMDkwCis6MTA2RDIwMDA4QkRFRDFFMzhCOUY1OTAyQzY0NzAzMzA4QkRFRDFFMzY0Cis6MTA2RDMwMDA4QjlGNjEwMkM2NDcwMjIwOEJERUQxRTM4QjlGNjEwMkVECis6MTA2RDQwMDBDNjQ3MDMzMDhCNDZFNjg5NDZGQTgzN0VGQTAwNzQxOEZDCis6MTA2RDUwMDA4QjQ2RkFCQjBBMDAzM0QyRjdGMzgwQzIzMDhCREVEMTA4Cis6MTA2RDYwMDBFMzhCOUY1OTAyODg1NzAzQkIwQTAwOEI0NkZBMzNEMjQ0Cis6MTA2RDcwMDBGN0YzODk0NkZBODM3RUZBMDA3NDE4OEI0NkZBQkIwQTQ5Cis6MTA2RDgwMDAwMDMzRDJGN0YzODBDMjMwOEJERUQxRTM4QjlGNTkwMjAwCis6MTA2RDkwMDA4ODU3MDI4QjQ2RTY4OTQ2RkE4MzdFRkEwMDc0MTg4QjgwCis6MTA2REEwMDA0NkZBQkIwQTAwMzNEMkY3RjM4MEMyMzA4QkRFRDFFMzYwCis6MTA2REIwMDA4QjlGNjEwMjg4NTcwM0JCMEEwMDhCNDZGQTMzRDJGN0Q4Cis6MTA2REMwMDBGMzg5NDZGQTgzN0VGQTAwNzQxODhCNDZGQUJCMEEwMEYwCis6MTA2REQwMDAzM0QyRjdGMzgwQzIzMDhCREVEMUUzOEI5RjYxMDI4ODIwCis6MTA2REUwMDA1NzAyOEI1RUU2RDFFM0ZGQjcxMjAyNkEwMEZGNzYwNDFBCis6MTA2REYwMDBFOEQxRjY4M0M0MDY2OEQzMEY2QTAxRkY3NjA0RThDM0JFCis6MTA2RTAwMDBGNjgzQzQwNkZGNzZFNjU2RTgwMTkzNTk1OTg5NTZGMjhGCis6MTA2RTEwMDA4OTQ2RjBGRjc2RTY1NkU4MTQ5MzU5NTk4OTU2RUU4OTZCCis6MTA2RTIwMDA0NkVDOUNGQUM0NUVGMDI2OEIwNzg5NDZFQUM0NUVFQzA5Cis6MTA2RTMwMDAyNjhCMDc4OTQ2RThCQTUwRkZFRDg5NDZGRTlEQzc0Njc2Cis6MTA2RTQwMDBFNDAxMDBFOEVFQTBCQTUwRkZFRDg5NDZGQzhCNDZGQzU5Cis6MTA2RTUwMDAyQjQ2RkUzREU4MDM3MzAzRTk4MDAxOUNGQUJBNTBGRjFDCis6MTA2RTYwMDBFRDg5NDZGQzhCNDZGQzJCNDZGRTg5NDZGOEM0NUVGMDU1Cis6MTA2RTcwMDAyNjhCMDcyQjQ2RUE4OTQ2RjZDNDVFRjAyNjhCMDc4OUU3Cis6MTA2RTgwMDA0NkVBQzQ1RUVDMjY4QjA3MkI0NkU4ODk0NkY0QzQ1RUNFCis6MTA2RTkwMDBFQzI2OEIwNzg5NDZFOEJBNTBGRkVEODk0NkZFOUQ4MUI2Cis6MTA2RUEwMDA3RUY4RTgwMzc2MUNGRjc2RjhGRjc2RjZFODc2MDE1OTVGCis6MTA2RUIwMDA1OTg5NDZGNkZGNzZGOEZGNzZGNEU4NjgwMTU5NTk4OTUyCis6MTA2RUMwMDA0NkY0QkYwRTAwRUIxNzhCREVEMUUzOEI5RjU5MDJDNjUxCis6MTA2RUQwMDAwMTIwOEJERUQxRTM4QjlGNjEwMkM2MDEyMDQ3ODNGRjM3Cis6MTA2RUUwMDAxMTc2RTQ4QkRFRDFFMzhCOUY1OTAyQzY0NzBEMzA4QkMwCis6MTA2RUYwMDBERUQxRTM4QjlGNjEwMkM2NDcwRDMwODM3RUY2MDk3N0IyCis6MTA2RjAwMDAwNUI4MEQwMEVCMjY4MzdFRjY2Mzc3MDVCODBFMDBFQjFGCis6MTA2RjEwMDAxQjgxN0VGNkU3MDM3NzA1QjgwRjAwRUIwRjgxN0VGNjQ1Cis6MTA2RjIwMDAwRjI3NzcwNUI4MTAwMEVCMDNCODExMDA4QkY4RUIyNTlECis6MTA2RjMwMDA4QjQ2RjZCQjBBMDAzM0QyRjdGMzgwQzIzMDhCREVEMTJBCis6MTA2RjQwMDBFMzhCOUY1OTAyODgxMTRGQkIwQTAwOEI0NkY2MzNEMjYwCis6MTA2RjUwMDBGN0YzODk0NkY2ODM3RUY2MDA3NUQ1ODM3RUY0MDk3N0NDCis6MTA2RjYwMDAwNUI4MEQwMEVCMjY4MzdFRjQ2Mzc3MDVCODBFMDBFQkMxCis6MTA2RjcwMDAxQjgxN0VGNEU3MDM3NzA1QjgwRjAwRUIwRjgxN0VGNEU5Cis6MTA2RjgwMDAwRjI3NzcwNUI4MTAwMEVCMDNCODExMDA4QkY4RUIyNTNECis6MTA2RjkwMDA4QjQ2RjRCQjBBMDAzM0QyRjdGMzgwQzIzMDhCREVEMUNDCis6MTA2RkEwMDBFMzhCOUY2MTAyODgxMTRGQkIwQTAwOEI0NkY0MzNEMkZBCis6MTA2RkIwMDBGN0YzODk0NkY0ODM3RUY0MDA3NUQ1OEJERUQxRTNGRkM5Cis6MTA2RkMwMDBCNzU5MDJGRjc2MDRFODZFMDA1OTU5OEJERUQxRTNGRjEyCis6MTA2RkQwMDBCNzYxMDJGRjc2MDRFODVFMDA1OTU5NkEwMEZGNzYwNDQzCis6MTA2RkUwMDBFODMxRjM1OTU5OEJEODgzRkIwNDc3MUZEMUUzMkVGRjg3Cis6MTA2RkYwMDBBNzFCNzBFQjIyQzc0NkU0MDAwMEZGNEVFNkVCMENDNzcwCis6MTA3MDAwMDA0NkU0MDAwMEZGNDZFNkVCMDJFQjAwODM3RUU0MDA3NEZBCis6MTA3MDEwMDAwM0U5MkFGRUU5RDRGQzVGNUVDOUMzRjM2RkY1NkZGRjk1Cis6MTA3MDIwMDA2RkYzNkYwOTcwNTU4QkVDOEI0NjA0QjlFODAzRjdFMUY5Cis6MTA3MDMwMDA4QjRFMDZGN0YxNURDMzU1OEJFQzU2OEI3NjA2RUIwRTQ3Cis6MTA3MDQwMDA4QkRFNDY4QTA3NTBGRjc2MDRFODMzMDA1OTU5ODAzQ0FFCis6MTA3MDUwMDAwMDc1RURFQjAwNUU1REMzNTU4QkVDNTY4Qjc2MDZFQjUxCis6MTA3MDYwMDAxNDhCREU0NjhBMDc1MEZGNzYwNEU4NDUwMDU5NTkwQjE5Cis6MTA3MDcwMDBDMDc0MDJFQjA3ODAzQzAwNzVFN0VCMDA1RTVEQzNDODlGCis6MTA3MDgwMDAwMjAwMDA1NjhCNzYwNDhBNDQ1QTk4ODk0NkZFOUNGQTgwCis6MTA3MDkwMDA4QTQ2RkVCQUZFMDBFRUJBMDIwMEVDQTgwMjc0MDY5RDEzCis6MTA3MEEwMDBFODkxOUVFQkU5QkEwMDAwOEE0NjA2RUU5REVCMDA1RTkxCis6MTA3MEIwMDBDOUMzQzgwNDAwMDA1NjhCNzYwNDhBNDQ1QTk4ODk0NjhFCis6MTA3MEMwMDBGRUU4RTZBMTg5NDZGQ0U4RTBBMTJCNDZGQzNEQjgwQkIyCis6MTA3MEQwMDA3NjA1QjgwMTAwRUIyMzlDRkE4QTQ2RkVCQUZFMDBFRTY0Cis6MTA3MEUwMDBCQTAyMDBFQ0E4MDI3NDA2OURFODQ4OUVFQkQ5QkEwMEVCCis6MTA3MEYwMDAwMDhBNDYwNkVFOUQzM0MwRUIwMDVFQzlDM0M4MDQwMDlCCis6MTA3MTAwMDAwMDU2NTc4Qjc2MDQ4MzdFMDYwMDc0MDc1NkU4MDMwMTA5Cis6MTA3MTEwMDA1OUVCMDU1NkU4QTIwMDU5ODg0NkZGODA3RUZGMDg3N0E0Cis6MTA3MTIwMDAwNjhBNDZGRkU5ODQwMDgwN0VGRjBGNzYwM0VCNzk5MEE0Cis6MTA3MTMwMDA4QTQ2RkZCNDAwMkQwQTAwOEJEODgzRkIwNDc3NjdEMTAxCis6MTA3MTQwMDBFMzJFRkZBN0FGNzFCMDAwRUI2MTU2RTg2QjAwNTlCNEI2Cis6MTA3MTUwMDAwMDI1MEYwMDg5NDZGQzU2RTg1RTAwNTlCNDAwOEJGODA0Cis6MTA3MTYwMDA1NkU4NTUwMDU5QjQwMEMxRTAwODhCRDcwM0QwOEJGQTFDCis6MTA3MTcwMDA4QjVFRkNEMUUzODk3ODMwRUIyRTU2RTgzQjAwNTk4OEQyCis6MTA3MTgwMDA0NDVCRUIyNDU2RTgzMTAwNTk4ODQ0NTA1NkU4MjkwMDA2Cis6MTA3MTkwMDA1OTg4NDQ1MTU2RTgyMTAwNTk4ODQ0NTI1NkU4MTkwMDRDCis6MTA3MUEwMDA1OTg4NDQ1M0VCMDJFQjAwRTk1QkZGNUY1RUM5QzM0NkJECis6MTA3MUIwMDA3MUE2NzE0QTcxN0E3MTg0NzFDODA0MDAwMDU2OEI3Njg5Cis6MTA3MUMwMDAwNDhBNDQ1QTk4ODk0NkZFOUNGQThBNDZGRUJBRkUwMDEyCis6MTA3MUQwMDBFRUJBMDIwMEVDQTgwMTc1MDY5REU4NTc5REVCRTlCQUVFCis6MTA3MUUwMDAwMDAwRUM4ODQ2RkQ5RDhBNDZGREVCMDA1RUM5QzNDOEUxCis6MTA3MUYwMDAwMjAwMDA1NjhCNzYwNDhBNDQ1QTk4ODk0NkZFOUNGQTBGCis6MTA3MjAwMDA4QTQ2RkVCQUZFMDBFRUJBMDIwMEVDMzJFNDI0MDE5RDhBCis6MTA3MjEwMDA1RUM5QzNDODA2MDAwMDU2OEI3NjA0OEE0NDVBOTg4OTEyCis6MTA3MjIwMDA0NkZFRTg4NUEwODk0NkZBRTg3RkEwMkI0NkZBM0RCOERECis6MTA3MjMwMDAwQjc2MDRCMDA4RUIyNDlDRkE4QTQ2RkVCQUZFMDBFRUY4Cis6MTA3MjQwMDBCQTAyMDBFQ0E4MDE3NTA2OURFOEU4OUNFQkRBQkEwMEVBCis6MTA3MjUwMDAwMEVDODg0NkZEOUQ4QTQ2RkRFQjAwNUVDOUMzNTU4QjU4Cis6MTA3MjYwMDBFQzU2OEI1NjA0OEE0NjA2RUUzM0Y2RUIwMzUwNTg0NjJFCis6MTA3MjcwMDA4M0ZFMTQ3Q0Y4NUU1REMzQzgwMjAwMDA1NjhCNTYwNDgyCis6MTA3MjgwMDBFQzg4NDZGRjMzRjZFQjAzNTA1ODQ2ODNGRTE0N0NGODM3Cis6MTA3MjkwMDA4QTQ2RkZFQjAwNUVDOUMzQzgwMjAwMDA1NjU3OEI3NkQyCis6MTA3MkEwMDAwNDgzM0VCMDBCMDA3NTFGQkE4ODAxQjAwMEVFQkE4NkE5Cis6MTA3MkIwMDAwMUIwMDBFRTZBMDk2QTAwNjgzMDAxRTg3RDAxODNDNDBDCis6MTA3MkMwMDAwNkM3MDZCMDBCMDEwMDZBMDk4QkM2MDU4MDAxNTBFOEFECis6MTA3MkQwMDBEQTAwNTk1OThCRjg4QkM3QzFFODBDMjUwRjAwODk0Njk1Cis6MTA3MkUwMDBGRThCQzdDMUU4MDgyNTBGMDA4QjU2RkU4M0YyMEMzQkNFCis6MTA3MkYwMDBDMjc1MjE4QkM3QzFFODA0MjUwRjAwOEI1NkZFODNGMkFGCis6MTA3MzAwMDAwNjNCQzI3NTBGOEJDNzI1MEYwMDhCNTZGRTgzRjIwOTEzCis6MTA3MzEwMDAzQkMyNzQwRDZBMDc1NkU4MzgwMDU5NTlDNzQ2RkUwNzQ0Cis6MTA3MzIwMDAwMDhBNDZGRTA0ODBBMjMzMDI4QkM2QkE2MjAwRjdFQUU2Cis6MTA3MzMwMDA4QTU2RkU4QkQ4ODg5NzZDMDA2ODMyMDI4QkM2QkE2Mjc4Cis6MTA3MzQwMDAwMEY3RUEwNTE0MDA1MEU4MEVGRDU5NTlFQjAwNUY1RUE2Cis6MTA3MzUwMDBDOUMzQzgwMjAwMDA1NjhCNzYwNjgzRTYwRjhCQzZDMUYwCis6MTA3MzYwMDBFMDBDOEJENjgzRjIwQ0MxRTIwODBCQzI4QkQ2ODNGMjAxCis6MTA3MzcwMDAwNkMxRTIwNDBCQzI4QkQ2ODNGMjA5MEJDMjg5NDZGRTFBCis6MTA3MzgwMDA2QTE5NkExMDhCNDYwNDk5MDU0MDAxODNEMjAwNTI1MDU1Cis6MTA3MzkwMDBFODZCMDE4M0M0MDYwQjQ2RkU4M0NBMDA1MjUwRTg5QThDCis6MTA3M0EwMDAwMDgzQzQwNkU4MjUwMUVCMDA1RUM5QzM1NThCRUM1NjhCCis6MTA3M0IwMDA1NzMzRkY2QTAxNjg4NjAxRThBM0ZFNTk1OUIxMTAyQUM0Cis6MTA3M0MwMDA0RTA2RDM2NjA0MzNGNkVCMkU4MTdFMDQwMDgwNzIwNEYxCis6MTA3M0QwMDBCMDAxRUIwMkIwMDA1MDY4ODgwMUU4ODFGRTU5NTk2QTlCCis6MTA3M0UwMDAwMzY4ODYwMUU4NzdGRTU5NTk2QTAxNjg4NjAxRTg2REVECis6MTA3M0YwMDBGRTU5NTlEMTY2MDQ0NjNCNzYwNjdDQ0QzM0Y2RUIyNDI0Cis6MTA3NDAwMDBEMUU3NkEwMzY4ODYwMUU4NTRGRTU5NTk2QTAxNjg4NjIzCis6MTA3NDEwMDAwMUU4NEFGRTU5NTk2ODg4MDFFODVDRkU1OTk4MjUwMTNGCis6MTA3NDIwMDAwMDBCRjg0NjgzRkUxMDdDRDc2QTAwNjg4NjAxRTgyREMxCis6MTA3NDMwMDBGRTU5NTk4QkM3RUIwMDVGNUU1REMzNTU4QkVDNTY1NzA5Cis6MTA3NDQwMDA4QjdFMDg2QTAxNjg4NjAxRTgxM0ZFNTk1OUI4MjAwMDRFCis6MTA3NDUwMDAyQkM3NTBGRjc2MDZGRjc2MDRFOEEyMDA4M0M0MDY4OTk2Cis6MTA3NDYwMDA1NjA2ODk0NjA0MzNGNkVCNDc4MTdFMDYwMDgwNzIwQzhGCis6MTA3NDcwMDA3NTA2ODM3RTA0MDA3MjA0QjAwMUVCMDJCMDAwNTA2ODEwCis6MTA3NDgwMDA4ODAxRThEOUZENTk1OTZBMDM2ODg2MDFFOENGRkQ1OTlBCis6MTA3NDkwMDA1OTZBMDE2ODg2MDFFOEM1RkQ1OTU5NkEwMUZGNzYwNkY3Cis6MTA3NEEwMDBGRjc2MDRFODU4MDA4M0M0MDY4OTU2MDY4OTQ2MDQ0NkQ4Cis6MTA3NEIwMDAzQkY3N0NCNTZBMDA2ODg2MDFFOEEyRkQ1OTU5NkEwMDZECis6MTA3NEMwMDA2ODg2MDFFODk4RkQ1OTU5NUY1RTVEQzM1NThCRUM1NjlGCis6MTA3NEQwMDA2QTAxNjg4NjAxRTg4NkZENTk1OTMzRjZFQjAwNjg4ODMxCis6MTA3NEUwMDAwMUU4OTRGRDU5QTgwMTc1MDg4QkM2NDYzRDY0MDA3Q0VGCis6MTA3NEYwMDBFRDZBMDA2ODg2MDFFODY1RkQ1OTU5NUU1REMzQzgwNDAwCis6MTA3NTAwMDAwMDAwOEI0NjA0OEI1NjA2OEI0RTA4RTMwNkQxRTBEMTczCis6MTA3NTEwMDBEMkUyRkE4OTQ2RkM4OTU2RkU4QjU2RkU4QjQ2RkNFQjdFCis6MTA3NTIwMDAwMEM5QzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTA3NTMwMDA1MDcyNjU3NjY5NkY3NTczMjA0RDY1NkU3NTAwNDI2NTkyCis6MTA3NTQwMDA2NzY5NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTA3NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTA3NTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTA3NTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTA3NTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTA3NTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTA3NUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTA3NUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTA3NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTA3NUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTA3NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTA3NUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTA3NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdBCis6MTA3NjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTA3NjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTA3NjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTA3NjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTA3NjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6MTA3NjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFBCis6MTA3NjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBCis6MTA3NjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZBCis6MTA3NjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6MTA3NkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERBCis6MTA3NkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENBCis6MTA3NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDZGNzI3NDE1Cis6MTA3NkQwMDAyMDMwMDA1MDZGNzI3NDIwMzEwMDUwNkY3Mjc0MjAzMjZECis6MTA3NkUwMDAwMDUwNkY3Mjc0MjAzMzAwNTA2RjcyNzQyMDM0MDA1MDU5Cis6MTA3NkYwMDA2RjcyNzQyMDM1MDA1MDZGNzI3NDIwMzYwMDUwNkY3MkI0Cis6MTA3NzAwMDA3NDIwMzcwMDUwNkY3Mjc0MjAzODAwNTA2RjcyNzQyMEVDCis6MTA3NzEwMDAzOTAwNTA2RjcyNzQyMDMxMzAwMDUwNkY3Mjc0MjAzMTE0Cis6MTA3NzIwMDAzMTAwNTA2RjcyNzQyMDMxMzIwMDUwNkY3Mjc0MjAzMTBBCis6MTA3NzMwMDAzMzAwNTA2RjcyNzQyMDMxMzQwMDUwNkY3Mjc0MjAzMUY2Cis6MTA3NzQwMDAzNTAwOUMwMUEzMDFBQTAxQjEwMUI4MDFCRjAxQzYwMTI2Cis6MTA3NzUwMDBDRDAxRDQwMURCMDFFMjAxRUEwMUYyMDFGQTAxMDIwMkVBCis6MTA3NzYwMDAwQTAyMDgwMDAwMDc4MTAwMDM4MDgwODA5RjkxOTU5MUE0Cis6MTA3NzcwMDA5RjAwMDM4MTg0OEU5NTg0ODQ4NDg0MDAwMzgyODQ4NEEyCis6MTA3NzgwMDA4NDg0OTU4RTg0MDAwNDg4MDBCMjBCQzYwQkRBMEJFRTVECis6MTA3NzkwMDAwQjAyMEMxNjBDMkEwQzNFMEM1MjBDNzcwQzlDMENCRUU3Cis6MTA3N0EwMDAwQ0UwMEMwMjBEMDE4MDIwNTQ2NTczNzQyMDUwNjE3MzRECis6MTA3N0IwMDA3MzY1NjQyMDFGMjA1MDcyNjU3MzczMjA4MDAyMDAwMTdFCis6MTA3N0MwMDA4MDIwNEQ2OTczNzM2OTZFNjcyMDUyNzgyMDQ0NjE3NDFDCis6MTA3N0QwMDA2MTFGMjA1MDcyNjU3MzczMjA4MDAyMDAwMTgwMjA0Mjc3Cis6MTA3N0UwMDA2MTY0MjA1Mjc4MjA0NDYxNzQ2MTIwMUYyMDUwNzI2NUNBCis6MTA3N0YwMDA3MzczMjA4MDAyMDAwMTgwMjA1ODZENzQ3MjIwNDI3NURFCis6MTA3ODAwMDA3Mzc5MUYyMDUwNzI2NTczNzMyMDgwMDIwMDAxODAyMEZECis6MTA3ODEwMDA2RTZGNzQyMDYzNzU3MjcyNjU2RTc0NkM3OTFGMjAyMEIwCis6MTA3ODIwMDA2OTZENzA2QzY1NkQ2NTZFNzQ2NTY0MDIwMDI0MEQyRjYyCis6MTA3ODMwMDAwRDNBMEQ0NTBENTAwRDVCMEQ2NjBENzEwRDdDMEQ4N0RDCis6MTA3ODQwMDAwRDkyMEQ5RDBEQTgwREIzMERCRTBEQzkwRDUzODAyQ0NECis6MTA3ODUwMDAzMjU0NDQyMDUzODYyQzMzNDQ1NDUyMjA1MzgyMkMzM0M4Cis6MTA3ODYwMDA1MjU0NTMyMDFGNTM4MTJDMzI1MjQ0MjA1Mzg1MkMzMkMyCis6MTA3ODcwMDA0MzQ0MjA1MzgzMkMzMzQzNTQ1MzIwNTM4NDJDMzM0NEE4Cis6MTA3ODgwMDA1MzUyMjA1Mzg3MkMzMjUyNDkyNzAyMDAwMTgwMjAyMDc2Cis6MTA3ODkwMDA0NDQzNDQyMDJEMjA3MDY5NkUyMDMyMzAxRjI3NTM4NUM5Cis6MTA3OEEwMDAyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OTU2Cis6MTA3OEIwMDA4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDQ0NTM1MkFBCis6MTA3OEMwMDAyMDJEMjA3MDY5NkUyMDMxMzExRjI3NTM4NDJFMzE4MTg1Cis6MTA3OEQwMDA4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4QzY1Cis6MTA3OEUwMDA4RDhFOEYyNzAyMDAwMTgwMjAyMDQzNTQ1MzIwMkQyMEFECis6MTA3OEYwMDA3MDY5NkUyMDM0MUYyNzUzODMyRTMxODE4MjYzOTA4MEZDCis6MTA3OTAwMDA4MTgyODM4NDg1ODY4Nzg4ODk4QThCOEM4RDhFOEYyNzU4Cis6MTA3OTEwMDAwMjAwMDE4MDIwMjA1MjQ5MjAyRDIwNzA2OTZFMjAzMjAzCis6MTA3OTIwMDAzMjFGMjc1Mzg3MkUzMTgxODI2MzkwODA4MTgyODM4NDI2Cis6MTA3OTMwMDA4NTg2ODc4ODg5OEE4QjhDOEQ4RThGMjcwMjAwMDE4MEFGCis6MTA3OTQwMDAyMDIwNDQ1NDUyMjAyRDIwNzA2OTZFMjAzNjJGMzgxRjdECis6MTA3OTUwMDAyNzUzODYyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4NjNECis6MTA3OTYwMDA4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDRBCis6MTA3OTcwMDA1MjU0NTMyMDJEMjA3MDY5NkUyMDM1MUYyNzUzODIyRUJDCis6MTA3OTgwMDAzMTgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QTE5Cis6MTA3OTkwMDA4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA1Mjc4NDQyMDBFCis6MTA3OUEwMDAyRDIwNzA2OTZFMjAzMjFGMjc1MzgxMkUzMDUzNEQ4MTU4Cis6MTA3OUIwMDA4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4Qzg0Cis6MTA3OUMwMDA4RDhFOEYyNzAyMDAwMTgwMjAyMDU0Nzg0NDIwMkQyMEE2Cis6MTA3OUQwMDA3MDY5NkUyMDMzMUYyNzUzODAyRTMwNTM0RDgxODI2MzkwCis6MTA3OUUwMDA5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEE4QjhDOEQ4RTFFCis6MTA3OUYwMDA4RjI3MDIwMDAxODAyMDIwNDQ0MzQ0MjAyRDIwNzA2OUZECis6MTA3QTAwMDA2RTIwMzUxRjI3NTM4NTJFMzE4MTgyNjM5MDgwODE4MkJECis6MTA3QTEwMDA4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU4RjI3MDIwMDQ4Cis6MTA3QTIwMDAwMTgwMjAyMDQ0NTM1MjIwMkQyMDcwNjk2RTIwMzUxRjg0Cis6MTA3QTMwMDAyNzUzODQyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4NjVFCis6MTA3QTQwMDA4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDY5Cis6MTA3QTUwMDA0MzU0NTMyMDJEMjA3MDY5NkUyMDMxMUYyNzUzODMyRUVECis6MTA3QTYwMDAzMTgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QTM4Cis6MTA3QTcwMDA4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA1MjQ5MjAyRDczCis6MTA3QTgwMDAyMDI4NkUyRTYzMkUyOTFGMjc1Mzg3MkUzMTgxODI2MzczCis6MTA3QTkwMDA5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEE4QjhDOEQ4RTZECis6MTA3QUEwMDA4RjI3MDIwMDAxODAyMDIwNDQ1NDUyMjAyRDIwNzA2OTJECis6MTA3QUIwMDA2RTIwMzIxRjI3NTM4NjJFMzE4MTgyNjM5MDgwODE4MjBGCis6MTA3QUMwMDA4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU4RjI3MDIwMDk4Cis6MTA3QUQwMDAwMTgwMjAyMDUyNTQ1MzIwMkQyMDcwNjk2RTIwMzcxRkMyCis6MTA3QUUwMDAyNzUzODIyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4NkIwCis6MTA3QUYwMDA4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMEI5Cis6MTA3QjAwMDA1Mjc4NDQyMDJEMjA3MDY5NkUyMDM2MUYyNzUzODEyRTE1Cis6MTA3QjEwMDAzMDUzNEQ4MTgyNjM5MDgwODE4MjgzODQ4NTg2ODc4OEZCCis6MTA3QjIwMDA4OThBOEI4QzhEOEU4RjI3MDIwMDAxODAyMDIwNTQ3OENCCis6MTA3QjMwMDA0NDIwMkQyMDcwNjk2RTIwMzMxRjI3NTM4MDJFMzA1MzMwCis6MTA3QjQwMDA0RDgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QTNCCis6MTA3QjUwMDA4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA0NDQzNDQyMDhGCis6MTA3QjYwMDAyRDIwNzA2OTZFMjAzNTFGMjAyMDIwMjAyNzUzODUyRTYwCis6MTA3QjcwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMEExCis6MTA3QjgwMDAwMTgwMjAyMDQ0NTM1MjIwMkQyMDcwNjk2RTIwMzUxRjIzCis6MTA3QjkwMDAyMDIwMjAyMDI3NTM4NDJFMzE4MTgyNjM4ODgwODE4Mjk3Cis6MTA3QkEwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA0MzU0NTMyMDQ4Cis6MTA3QkIwMDAyRDIwNzA2OTZFMjAzMTFGMjAyMDIwMjAyNzUzODMyRTE2Cis6MTA3QkMwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDUxCis6MTA3QkQwMDAwMTgwMjAyMDUyNDkyMDJEMjAyODZFMkU2MzJFMjkxRjNGCis6MTA3QkUwMDAyMDIwMjAyMDI3NTM4NzJFMzE4MTgyNjM4ODgwODE4MjQ0Cis6MTA3QkYwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA0NDU0NTIyMEY4Cis6MTA3QzAwMDAyRDIwNzA2OTZFMjAzMjFGMjAyMDIwMjAyNzUzODYyRUMxCis6MTA3QzEwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDAwCis6MTA3QzIwMDAwMTgwMjAyMDUyNTQ1MzIwMkQyMDcwNjk2RTIwMzcxRjcwCis6MTA3QzMwMDAyMDIwMjAyMDI3NTM4MjJFMzE4MTgyNjM4ODgwODE4MkY4Cis6MTA3QzQwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA1Mjc4NDQyMDgzCis6MTA3QzUwMDAyRDIwNzA2OTZFMjAzNjFGMjAyMDIwMjAyNzUzODEyRTcyCis6MTA3QzYwMDAzMDUzNEQ4MTgyNjM4ODgwODE4MjgzODQ4NTg2ODcyNzEzCis6MTA3QzcwMDAwMjAwMDE4MDIwMjA1NDc4NDQyMDJEMjA3MDY5NkUyMDVECis6MTA3QzgwMDAzMzFGMjAyMDIwMjAyNzUzODAyRTMwNTM0RDgxODI2M0M0Cis6MTA3QzkwMDA4ODgwODE4MjgzODQ4NTg2ODcyNzAyMDAwMTgwMjAyMDU2Cis6MTA3Q0EwMDA0NDQzNDQyMDJEMjA3MDY5NkUyMDMyMzAxRjIwMjAyMDU0Cis6MTA3Q0IwMDAyMDI3NTM4NTJFMzE4MTgyNjM4ODgwODE4MjgzODQ4NTQ5Cis6MTA3Q0MwMDA4Njg3MjcwMjAwMDE4MDIwMjA0NDUzNTIyMDJEMjA3MEY3Cis6MTA3Q0QwMDA2OTZFMjAzMTMxMUYyMDIwMjAyMDI3NTM4NDJFMzE4MUNFCis6MTA3Q0UwMDA4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwMDE4MDYxCis6MTA3Q0YwMDAyMDIwNDM1NDUzMjAyRDIwNzA2OTZFMjAzNDFGMjAyMEYzCis6MTA3RDAwMDAyMDIwMjc1MzgzMkUzMTgxODI2Mzg4ODA4MTgyODM4NDVGCis6MTA3RDEwMDA4NTg2ODcyNzAyMDAwMTgwMjAyMDUyNDkyMDJEMjA3MDZGCis6MTA3RDIwMDA2OTZFMjAzMjMyMUYyMDIwMjAyMDI3NTM4NzJFMzE4MTc4Cis6MTA3RDMwMDA4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwMDE4MDEwCis6MTA3RDQwMDAyMDIwNDQ1NDUyMjAyRDIwNzA2OTZFMjAzNjJGMzgxRjc5Cis6MTA3RDUwMDAyMDIwMjAyMDI3NTM4NjJFMzE4MTgyNjM4ODgwODE4MkQzCis6MTA3RDYwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA1MjU0NTMyMDc3Cis6MTA3RDcwMDAyRDIwNzA2OTZFMjAzNTFGMjAyMDIwMjAyNzUzODIyRTUxCis6MTA3RDgwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDhGCis6MTA3RDkwMDAwMTgwMjAyMDUyNzg0NDIwMkQyMDcwNjk2RTIwMzIxRkVGCis6MTA3REEwMDAyMDIwMjAyMDI3NTM4MTJFMzA1MzREODE4MjYzODg4MEVDCis6MTA3REIwMDA4MTgyODM4NDg1ODY4NzI3MDIwMDAxODAyMDIwNTQ3ODcxCis6MTA3REMwMDA0NDIwMkQyMDcwNjk2RTIwMzMxRjIwMjAyMDIwMjc1MzRGCis6MTA3REQwMDA4MDJFMzA1MzREODE4MjYzODg4MDgxODI4Mzg0ODU4NkEyCis6MTA3REUwMDA4NzI3MDIwMDY4MDQ5NjA0QjYwMzNDMDQwRTA0ODkwMzQ2Cis6MTA3REYwMDA1QzAzRTIwMzYwMDg4QTA4QkUwNzM4MDgwRTA4OTUwNzhFCis6MTA3RTAwMDA2QzA3RTYwNzFDMDU3NDA1RkEwNUM0MDRGMDA0Q0MwNUVDCis6MTA3RTEwMDBBMDA1NDgwNTc4MDZDODA2NDIwNzI4MDY1MDA2MTgwNzM4Cis6MTA3RTIwMDBGMDA2QTAwNjAwMDBGNDA4RjQwOEQ0MEQwNDA5MDQwOUMzCis6MTA3RTMwMDAwNDA5MDQwOTQyMDAwQzA5MUMwOUU1MEQwMjAwMTQwOTlCCis6MTA3RTQwMDAwNDA5RjQwRDQzMDAxQzA5MEMwOTA1MEUwMDA0MDQwOTgzCis6MTA3RTUwMDAxNDA5MTIwRTJDMDkyQzA5MkMwOTJDMDkwMDAwM0MwOUNDCis6MTA3RTYwMDA2QzA5MUUwRTc0MDk3NDA5NzQwOTc0MDkwMDAxNEMwOTI3Cis6MTA3RTcwMDAyQzA5MkQwRTc0MDk3NDA5NzQwOTc0MDkwMDAyNUMwOTM3Cis6MTA3RTgwMDAzQzA5M0QwRTc0MDk3NDA5NzQwOTc0MDkwMDAzNkMwOUY2Cis6MTA3RTkwMDA0QzA5NEQwRTc0MDk3NDA5NzQwOTc0MDlGRjAwMkMwOTBBCis6MTA3RUEwMDA1QzA5MDAwMDAwMDU4NDA5RUMwOTVFMEVGNDA5RjQwOTgwCis6MTA3RUIwMDBGNDA5RjQwOTAwMDY5NDA5NzQwOTY4MEVBQzBBQUMwQUM2Cis6MTA3RUMwMDBBQzBBQUMwQTAwMDdBNDA5ODQwOTcyMEVCQzBBQkMwQUY5Cis6MTA3RUQwMDBCQzBBQkMwQTAwMDhCNDA5OTQwOTdDMEVENDBBRDQwQTZFCis6MTA3RUUwMDBENDBBRDQwQTAwMEJDNDA5QTQwOTgzMEVGQzBBRkMwQUI0Cis6MTA3RUYwMDBGQzBBRkMwQTAwMENENDA5QjQwOTkwMEUxNDBCMTQwQkY0Cis6MTA3RjAwMDAxNDBCMTQwQjAwMDJFNDA5QzQwOUEwMEUyQzBCMkMwQjVCCis6MTA3RjEwMDAyQzBCMkMwQjA0MDBFQzA5RDQwOTBFMDBGRjAwNzQwOTkzCis6MTA3RjIwMDBFNDA5MDAwMDgyMDFGQzA5QTQwQUFDMEU4MjAyMDQwQUUyCis6MTA3RjMwMDBGNDA5QUYwRTgyMDMwQzBBRkMwOUIyMEU4MjA0MTQwQTgzCis6MTA3RjQwMDAwNDBBQjYwRTgyMDUxQzBBMEMwQUJDMEU4MjA2MjQwQTFDCis6MTA3RjUwMDAxNDBBQzAwRTgyMDcyQzBBMUMwQUM0MEU4MjA4MzQwQUI2Cis6MTA3RjYwMDAyNDBBQzgwRTgyMDkzQzBBMkMwQUNDMEU4MjBBNDQwQTUyCis6MTA3RjcwMDAzNDBBRDEwRTgyMTA0QzBBM0MwQUQ2MEU4MjBCNTQwQUU3Cis6MTA3RjgwMDA0NDBBREIwRTgyMTE1QzBBNEMwQUUwMEU4MjBDNjQwQTgxCis6MTA3RjkwMDA1NDBBRTUwRTgyMTI2QzBBNUMwQUVBMEU4MjBENzQwQTFCCis6MTA3RkEwMDA2NDBBRUYwRTgyMEU3QzBBNkMwQUY0MEU4MjBGODQwQUI5Cis6MTA3RkIwMDA3NDBBRkIwRTgyMTM4QzBBN0MwQTAyMEY4MjE0OTQwQTQ0Cis6MTA3RkMwMDA4NDBBMDkwRjgyMTU5QzBBOEMwQTEwMEY4MjE2QTQwQUQzCis6MTA3RkQwMDA5NDBBMTcwRjgyMTdGNDA5OUMwQTFFMEY4MjAyQjQwQTMyCis6MTA3RkUwMDBCNDBBMjYwRjgyMDNBQzBBQUMwQTJEMEY4MjAwQzQwQTIxCis6MTA3RkYwMDBDQzBBMzQwRjgyMDFDQzBBQkMwQTNGMEY4MjAyQkMwQUIxCis6MTA4MDAwMDBDNDBBNEQwRjgyMDBEQzBBRjQwQTU5MEY4MjAxRTQwQTA3Cis6MTA4MDEwMDBENDBBNjMwRjgyMDJFQzBBREMwQTZFMEY4MjAzRjQwQUIwCis6MTA4MDIwMDBFNDBBN0EwRjgyMDRENDBBRUMwQTg3MEY4MjAwMDQwQjU4Cis6MTA4MDMwMDAwQzBCOTMwRjgyMDEwQzBCRkMwQTlCMEY4MjAyRkMwQUIzCis6MTA4MDQwMDAwNDBCQTcwRjgyMDAxQzBCMjQwQkIwMEY4MjAxMjQwQjIyCis6MTA4MDUwMDAxNDBCQjUwRjgyMDIxNDBCMUMwQkJFMEY0NDAwMzQwQjIzCis6MTA4MDYwMDBBNDBCOUMwMTQ0MDEzQzBCMkMwQkEzMDE0NDAyNDQwQkM4Cis6MTA4MDcwMDAzNDBCQUEwMTQ0MDM0QzBCM0MwQkIxMDE0NDA0NTQwQkQ4Cis6MTA4MDgwMDA0NDBCQjgwMTQ0MDU1QzBCNEMwQkJGMDE0NDA2NjQwQjY4Cis6MTA4MDkwMDA1NDBCQzYwMTQ0MDc2QzBCNUMwQkNEMDE0NDA4NzQwQkY4Cis6MTA4MEEwMDA2NDBCRDQwMTQ0MDk3QzBCNkMwQkRCMDE0NDBBODQwQjg4Cis6MTA4MEIwMDA3NDBCRTIwMTQ0MEI4QzBCN0MwQkVBMDE0NDBDOTQwQjE3Cis6MTA4MEMwMDA4NDBCRjIwMTQ0MEQ5QzBCOEMwQkZBMDE0NDBFQTQwQkEzCis6MTA4MEQwMDA5NDBCMDIwMjQ0MEYyQzBCOUMwQjBBMDIxNzFGMEYyRjRDCis6MTA4MEUwMDAwMDAwMDE4MDc4NzgzQTIwNzQ3ODIwNjM3MDczMjAyQTI5Cis6MTA4MEYwMDAyQTJBMkEyQTAyMDAwMTgwNzg3ODNBMjA3NDc4MjA2MzlDCis6MTA4MTAwMDA3MDczMjAyQTJBMkEyQTJBMDIwMDAxODA3ODc4M0EyMENECis6MTA4MTEwMDA3NDc4MjA2MzcwNzMyMDJBMkEyQTJBMkEwMjAwMDE4MDk4Cis6MTA4MTIwMDA3ODc4M0EyMDc0NzgyMDYzNzA3MzIwMkEyQTJBMkEyQUMxCis6MTA4MTMwMDAwMjAwMDFDMDc4NzgzQTIwNzI2MzIwNjM3MDczMjAyQUFECis6MTA4MTQwMDAyQTJBMkEyQTAyMDAwMUMwNzg3ODNBMjA3MjYzMjA2MzIyCis6MTA4MTUwMDA3MDczMjAyQTJBMkEyQTJBMDIwMDAxQzA3ODc4M0EyMDNECis6MTA4MTYwMDA3MjYzMjA2MzcwNzMyMDJBMkEyQTJBMkEwMjAwMDFDMDFGCis6MTA4MTcwMDA3ODc4M0EyMDcyNjMyMDYzNzA3MzIwMkEyQTJBMkEyQTg4Cis6MTA4MTgwMDAwMjAwMDE4MDQ5NkU3Mzc0NjE2QzZDMjA0QzZGNkY3MERCCis6MTA4MTkwMDA2MjYxNjM2QjFGNTA3MjY1NzM3MzIwODAyMDc0NkYyMDVGCis6MTA4MUEwMDA3Mzc0NjE3Mjc0MDIwMDAxODAyMDQzNjE2MjZDNjUyMDA3Cis6MTA4MUIwMDA3NDZGMjA1MjY1NkQ2Rjc0NjUxRjUwNzI2NTczNzMyMDA0Cis6MTA4MUMwMDA4MDIwNzQ2RjIwNzM3NDYxNzI3NDAyMDAwMTgwMjA0Q0VGCis6MTA4MUQwMDA2RjYzNjE2QzIwNEM2RjZGNzA2MjYxNjM2QjIwMUYyMDU2Cis6MTA4MUUwMDAyMDUyNzU2RTZFNjk2RTY3MjAyRTJFMkUwMjAwMDE4MDYxCis6MTA4MUYwMDA1MjY1NkQ2Rjc0NjUyMDRDNkY2RjcwNjI2MTYzNkIyMEE4Cis6MTA4MjAwMDAxRjIwMjA1Mjc1NkU2RTY5NkU2NzIwMkUyRTJFMDIwMDgyCis6MTA4MjEwMDAwMTgwMjA0OTZFNzQ3MjZFNkMyMDRDNkY2RjcwNjI2MUM5Cis6MTA4MjIwMDA2MzZCMUYyMDIwNTI3NTZFNkU2OTZFNjcyMDJFMkUyRTk2Cis6MTA4MjMwMDAwMjAwMDE4MDU0NzI2MTZFNzM2RDY5NzQyMDUwNjE3NDI0Cis6MTA4MjQwMDA3NDY1NzI2RTFGMjAyMDUyNzU2RTZFNjk2RTY3MjAyRUU3Cis6MTA4MjUwMDAyRTJFMDIwMDAxODAyMDIwMzAzQTIwMjc0MzgwMDAwMThBCis6MTA4MjYwMDA4MDIwMjAzMTNBMjAyNzQzODEwMDAxODAyMDIwMzIzQUFCCis6MTA4MjcwMDAyMDI3NDM4MjAwMDE4MDIwMjAzMzNBMjAyNzQzODMwMEI3Cis6MTA4MjgwMDAwMTgwMjAyMDM0M0EyMDI3NDM4NDAwMDE4MDIwMjAzNUJCCis6MTA4MjkwMDAzQTIwMjc0Mzg1MDAwMTgwMjAyMDM2M0EyMDI3NDM4NjU0Cis6MTA4MkEwMDAwMDAxODAyMDIwMzczQTIwMjc0Mzg3MDAwMTgwMjAyMENBCis6MTA4MkIwMDAzODNBMjAyNzQzODgwMDAxODAyMDIwMzkzQTIwMjc0MzdDCis6MTA4MkMwMDA4OTAwMDE4MDIwMzEzMDNBMjAyNzQzOEEwMDAxODAyMDM0Cis6MTA4MkQwMDAzMTMxM0EyMDI3NDM4QjAwMDE4MDIwMzEzMjNBMjAyNzY4Cis6MTA4MkUwMDA0MzhDMDAwMTgwMjAzMTMzM0EyMDI3NDM4RDAwMDE4MEU4Cis6MTA4MkYwMDAyMDMxMzQzQTIwMjc0MzhFMDAwMTgwMjAzMTM1M0EyMDQ2Cis6MTA4MzAwMDAyNzQzOEYwMDJBMkEyMDRENjE2OTZFMjAyMDRENjU2RTFCCis6MTA4MzEwMDA3NTIwMkEyQTAwNEQ2RjZFNjk3NDZGNzIyMDYxMjA1MDlCCis6MTA4MzIwMDA2RjcyNzQwMDRENkY2RTY5NzQ2RjcyMjA2MTIwNTM2OUIzCis6MTA4MzMwMDA2NzZFNjE2QzAwNDU3Mzc0Njk2RDYxNzQ2NTIwNDM1MEFDCis6MTA4MzQwMDA1MzAwNDQ2OTYxNjc2RTZGNzM3NDY5NjM3MzAwNEM2RkE3Cis6MTA4MzUwMDA2MzYxNkMyMDRDNkY2RjcwNjI2MTYzNkIwMDUyNjU2RDdFCis6MTA4MzYwMDA2Rjc0NjUyMDRDNkY2RjcwNjI2MTYzNkIwMDQ5NkU3NDRGCis6MTA4MzcwMDA3MjZFNkMyMDRDNkY2RjcwNjI2MTYzNkIwMDU0NzI2MTNGCis6MTA4MzgwMDA2RTczNkQ2OTc0MjA1MDYxNzQ3NDY1NzI2RTAwNDI2MTIxCis6MTA4MzkwMDA3NTY0MjA1MjYxNzQ2NTAwNDQ2MTc0NjEyMDQyNjk3NDlGCis6MTA4M0EwMDA3MzAwNTM3NDZGNzAyMDQyNjk3NDczMDA1MDYxNzI2OTc2Cis6MTA4M0IwMDA3NDc5MDA0NDYxNzQ2MTIwNTA2MTc0NzQ2NTcyNkUwMDU4Cis6MTA4M0MwMDA1NDc4MjA0NjZDNkY3NzIwNDM2RjZFNzQ3MjZGNkMwMDI4Cis6MTA4M0QwMDA1MDZGNzI3NDIwNEU3NTZENjI2NTcyMDAzNTMwMDAzN0QzCis6MTA4M0UwMDAzNTAwMzEzMTMwMDAzMTMzMzQyRTM1MDAzMTM1MzAwMDM1Cis6MTA4M0YwMDAzMjMwMzAwMDMzMzAzMDAwMzYzMDMwMDAzMTMyMzAzMEZGCis6MTA4NDAwMDAwMDMxMzgzMDMwMDAzMjMwMzAzMDAwMzIzNDMwMzAwMDFCCis6MTA4NDEwMDAzMzM2MzAzMDAwMzQzODMwMzAwMDM3MzIzMDMwMDAzOUM1Cis6MTA4NDIwMDAzNjMwMzAwMDMxMzkyQzMyMzAzMDAwMzMzODJDMzQzMDkzCis6MTA4NDMwMDAzMDAwMzUzNjJDMzAzMDMwMDAzNTM3MkMzNjMwMzAwMEI3Cis6MTA4NDQwMDAzNjM0MkMzMDMwMzAwMDM3MzYyQzM4MzAzMDAwMzEzMTczCis6MTA4NDUwMDAzNTJDMzIzMDMwMDAzNzIwNjI2OTc0NzMwMDM4MjA2MjY2Cis6MTA4NDYwMDA2OTc0NzMwMDMxMjA3Mzc0NkY3MDIwNjI2OTc0MDAzMTE1Cis6MTA4NDcwMDAyRTM1MjA3Mzc0NkY3MDIwNjI2OTc0NzMwMDMyMjA3MzFDCis6MTA4NDgwMDA3NDZGNzAyMDYyNjk3NDczMDA2RTZGMjA3MDYxNzI2OTFFCis6MTA4NDkwMDA3NDc5MDA2RjY0NjQyMDcwNjE3MjY5NzQ3OTAwNjU3NjI0Cis6MTA4NEEwMDA2NTZFMjA3MDYxNzI2OTc0NzkwMDczNzA2MTYzNjUyMDE0Cis6MTA4NEIwMDA3MDYxNzI2OTc0NzkwMDZENjE3MjZCMjA3MDYxNzI2OUFDCis6MTA4NEMwMDA3NDc5MDA0MzZGNkM3NTZENkU3MzAwNDI2MTcyNjI2NTAyCis6MTA4NEQwMDA3MjIwNTA2RjZDNjUwMDU1NTU1NTU1NTUyRTJFMkUwMDQ3Cis6MTA4NEUwMDA0RTZGNkU2NTAwNTg2RjZFMkY1ODZGNjY2NjAwNDM1NDZFCis6MTA4NEYwMDA1MzAwNTA3MjY1NzM3MzIwODAyMDY2NkY3MjIwNkQ2NTIzCis6MTA4NTAwMDA2RTc1MDAyODYzNkY3NTZFNzQ2OTZFNjcyRTJFMkUyOTQ2Cis6MTA4NTEwMDAwMDAwNjU0RTY0MjA0RjY2MjA0MzZGNDQ2NTAwMDAwMEY0Cis6MTA4NTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRCCis6MTA4NTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCCis6MTA4NTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTA4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTA4NTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTA4NTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTA4NTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTA4NTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTA4NUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTA4NUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTA4NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTA4NUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTA4NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTA4NUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdCCis6MDAwMDAwMDFGRgorLyogIEludGVsbGlwb3J0IElJIGxvYWR3YXJlICovCisvKiAtMzEyMzIgYnl0ZXMgcmVhZCBmcm9tIGZmLmxvZCAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlLmJpbi5paGV4IGIvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5MmQ0MGYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rYXdldGgvbmV3X2NvZGUuYmluLmloZXgKQEAgLTAsMCArMSwyMDYgQEAKKzoxMDAwMDAwMEI2QzNBQUJCQ0NERDlGQ0ZERTA2RTc1NzAwMDBDNDA2MEYKKzoxMDAwMTAwMDk3QzFFNzY3RkYxRjI4QzBFNzg3MDAwNDI0QzBFNzY3OTAKKzoxMDAwMjAwMEZGRjkyMkMwOTdDRkQ3MDkwMEMwRTcwOUEyQzBCRTA2REEKKzoxMDAwMzAwMDlGQUYzNjAwRTcwNTAwQzBBN0NGQkMwNjk3Q0ZFNzU3QjQKKzoxMDAwNDAwMDAwMDBCODA2QTdBMUI4MDY5N0NGRTc1NzAwMDAxNDA4MkMKKzoxMDAwNTAwMDBBQzBFNzU3MDAwMEE0QzBBN0MwN0EwNjlGQUY5MjA3NjYKKzoxMDAwNjAwMEU3MDcwMDAwMTQwOEU3NTdGRkZGQkEwNjlGQTAzODAwMTMKKzoxMDAwNzAwMEU3NTlCQTA2QkUwNjlGQTAzODAwQzgwOUNBMDYwODYyM0EKKzoxMDAwODAwMDlGQTEzNjA4QzAwOTc2MDYwMDYwQTdDMDdBMDY5RkFGMTgKKzoxMDAwOTAwMENDMDJFNzU3MDAwMEI4MDZBN0MxN0EwNjlGQUYwNDAwNUMKKzoxMDAwQTAwMEU3NTcwMDAwOEUwNjBBQzFFNzA5MjBDMDEwMDhFN0QwMTQKKzoxMDAwQjAwMDEwMDhFNzY3NDAwMDEwMDg5RkFGOTIwQ0MwMDlEMDA2RjcKKzoxMDAwQzAwMDAwNjAwNUM0QzA1OUJFMDYwMkMwOUZBRkVDMDA5RkFGRTAKKzoxMDAwRDAwMDM0MDJFNzU3MDAwMEE2MDY5RkEwN0EwMkE3Q0Y3QTA2NEYKKzoxMDAwRTAwMDQ4MDJFNzA5QkUwNkQwMDZDODM3MDQwMDlGQUYwODAzRTAKKzoxMDAwRjAwMDk3Q0ZFNzU3MDAwMENFMDY5N0MwRDcwOTAwQzBDMURGRjEKKzoxMDAxMDAwMEM4MDlDNjA2MDg2MjE0QzAyNzA0QzYwNjEwOTRGMDA3ODIKKzoxMDAxMTAwMDEwMDgwMjAwQzEwNzAxMDA3MDAwMDQwMEYwMDczMDAxNjAKKzoxMDAxMjAwMDA2MDA1MEFGRTcwN0ZGRkZEMDA2RTcwNzAwMDBDRTA2NDYKKzoxMDAxMzAwMEU3MDUwMEMwOTdDRkQ3MDkwMEMwQzFERjQ4MDJEMDA5NEEKKzoxMDAxNDAwMEM2MDYyNzAyQzYwNkU3MDUwMEMwOTdDRjQ4MDJDODM3OTMKKzoxMDAxNTAwMDA0MDAwMDBDMEMwMDAwNjAyMUMwQzAzNzNFMDAyM0M5MjEKKzoxMDAxNjAwMEMwNTdCNDA1MUJDOEMwMTczRjAwQzA2N0MwRkYzMDAwQjAKKzoxMDAxNzAwMDA4MDBGMDA3MDAwMDA0MDAwMDAyQzAxNzRDMDAzMDAwMjcKKzoxMDAxODAwMDA2MDBGMDA3QTAwMTBBMDA0ODAyQzEwNzAyMDBENzA5RDMKKzoxMDAxOTAwMDAwQzBDMURGNTFBRkU3MDUwMEMwOTdDRjlGQUYwODAzOTQKKzoxMDAxQTAwMDlGQUY3QTAyOTdDRjlGQUY3QTAyQzkzNzA0MDBDMURGQjEKKzoxMDAxQjAwMEM4MDlBMjA2NTAwMjY3MDJBMjA2RDEwNzAwMDAyN0Q4OEMKKzoxMDAxQzAwMEFBMDZDMERGOUZBRkM0MDE5N0NGRTc1NzAwMDBEMjA2NTEKKzoxMDAxRDAwMDk3QzFFNzU3MDEwMEE4MDY5N0MwQzgwOUEwMDYwODYyQTIKKzoxMDAxRTAwMDk3QzAwMDAyQzAxNzBFMDAyNzAwMzQwMTI3MEMwQzAwMzYKKzoxMDAxRjAwMDM2MDFFNzA3NTBDMzEyQzBFNzA3Q0MwQjAyMDBFNzA3NDAKKzoxMDAyMDAwMDAxMDBBODA2RTcwNzA1MDA5MEMwOTdDRkM4MDlBNDA2MUIKKzoxMDAyMTAwMDA4NjIwMkMwMTA2NDA3QzFFNzA3MDAwMDlFMDZFNzA3RjYKKzoxMDAyMjAwMDcyMDQyNDAwOTdDRjI3MDRBNDA2QzgxNzBFMDAyNzAyRTMKKzoxMDAyMzAwMDlFMDZFNzA3ODAwNDI0MDA5N0NGRDcwOTAwQzBDMURGREUKKzoxMDAyNDAwMEU3NTcwMDAwOTAwNjEzQzE5RkFGMDYwMkU3NTcwMDAwNzIKKzoxMDAyNTAwMDlFMDYxM0MwRTcwOTlFMDYzMDAxRTcwN0YyMDUzMjAxNEEKKzoxMDAyNjAwMEU3MDcxMDAwOTZDMEU3MDk5RTA2OTAwNjA0Q0ZFNzU3RkYKKzoxMDAyNzAwMDAwMDA5RTA2MDJDMTlGQUYwNjAyRTcwNTAwQzA5N0NGQUYKKzoxMDAyODAwMEQ3MDkwMEMwQzFERjA4OTJFNzU3MDIwMEFBMDYwMkMzREYKKzoxMDAyOTAwMEM4MDlBNDA2MjcwMkE2MDYwODYyMDNDMUU3MDUwMEMwMzQKKzoxMDAyQTAwMDk3Q0YyNzA0QTQwNkU3MDUwMEMwRjAwNzQwMDAwODAwMjgKKzoxMDAyQjAwMEYwMDcwMDAwMDQwMDAwMDJDMDE3MEMwMDMwMDAwNjAwMjgKKzoxMDAyQzAwMEYwMDc0NjAxMEEwMEM4MTcwNDAwQzEwNzAyMDA1MUFGMzkKKzoxMDAyRDAwMDk3Q0ZFNzU3MDAwMDk2MDY5N0MwQzFERkM4MDk5NjA2N0EKKzoxMDAyRTAwMDI3MDQ5NjA2Mjc1Mjk4MDYwM0MxRTcwNzk2MDY5ODA2NDQKKzoxMDAyRjAwMEMwREYxNzAyQzgxNzBFMDA5RkFGQkEwM0M4MDUwMDYwMjEKKzoxMDAzMDAwMDAzQzA5RkFGMjQwMzk3Q0Y5RkFGMDgwMzk3Q0Y1NzAyMzcKKzoxMDAzMTAwMEM5MDdBNDA2RDcwOTAwQzBDMURGMDg2MjFCQzA1MDA0OEEKKzoxMDAzMjAwMDExMDJFNzA1MDBDMEM5MDU5N0NGOTcwMkNBMDlENjA2OTIKKzoxMDAzMzAwMEYyMTcwMTAwMDQwMEYyMjcwMDAwMDYwMENBMTcyQzAwODMKKzoxMDAzNDAwMEY4NzcwMTAwMEUwMDA2QzBDQUQ5Rjg1N0ZGMDAwRTAwNkEKKzoxMDAzNTAwMDAxQzFDQUQ5MjIxQzBDMDBFMjI3MDAwMEUyMTcwMTAwRUIKKzoxMDAzNjAwMEUyMjcwMDAwQ0EwNTAwMEMwQzAwQzAxNzQxMDBDMDY3NUUKKzoxMDAzNzAwMEMwRkYzMDAwMDgwMDAwMDJDMDE3MEMwMDMwMDAwNjAwNkIKKzoxMDAzODAwMEYwMDdEQTAwMEEwMEYwMDcwMDAwMDQwMDAwMEMwODAwODMKKzoxMDAzOTAwMDQwRDEwMTAwQzAxOUNFMDZDMDU5QzIwNjA0Qzk0OUFGRjgKKzoxMDAzQTAwMDlGQUZFQzAwNEFBRjY3MTBDRTA2QzgxNzA0MDBDMTA3MjQKKzoxMDAzQjAwMDAxMDBENzA5MDBDMEMxREY1MEFGRTcwNTAwQzA5N0NGRUIKKzoxMDAzQzAwMEMwMDcwMTAwQzEwOUFDMDZDMTc3MDEwMDk3QzFEODc3MDkKKzoxMDAzRDAwMDAxMDAxMkMwQzkwNzZBMDY5RkFGMDgwNDA0QzFDMTc3QjMKKzoxMDAzRTAwMDA4MDAxM0MwOTdDRkMxNzcwMjAwOTdDMUMxNzcxMDAwRjIKKzoxMDAzRjAwMDBDQzA5RkFGMkMwNDk3Q0ZDMTc3MDQwMDA2QzBDOTA3N0IKKzoxMDA0MDAwMDcwMDY5RkFGMDgwNDk3QzAwMENGMDA5MDk3Q0Y1MDU0NUMKKzoxMDA0MTAwMDk3QzE3MDVDMDIwMDAyMDA5N0MxNzA1QzA0MDAwNDAwODgKKzoxMDA0MjAwMDk3Q0Y4MDAxQzAwMDYwMDAzMDAwMTgwMDBDMDAwNjAwNkIKKzoxMDA0MzAwMDAwMDBDQjA5QjIwNkNDMDlCNDA2MEI1MzExQzBDOTAyQTcKKzoxMDA0NDAwMENBMDcxQzA0OUZBRjA4MDQ5N0MwMEFDODgyMDgwQUNGRDUKKzoxMDA0NTAwMDgyMDg5RkFGMDgwNDk3QzAwNUMyODkzMDgyNjA3OEMxQzYKKzoxMDA0NjAwMDAwOTA5N0NGODkxMDA5NTM3OUMyODkzMDgyMDg3QUNGREEKKzoxMDA0NzAwMEMwREY5N0NGQzBERjk3Q0ZFNzA5OTZDMDkyMDZFNzA5QTQKKzoxMDA0ODAwMDk4QzA5NDA2MEZDRkU3MDk5NkMwOTIwNkU3MDk5OEMwNzYKKzoxMDA0OTAwMDk0MDZFNzA5OUUwNjMwMDFFNzA3RjIwNTMyMDFFNzA3RjcKKzoxMDA0QTAwMDEwMDA5NkMwRDcwOTAwQzAxNzAyQzgwOTkwMDZDODM3QzcKKzoxMDA0QjAwMDBFMDBFNzc3MkEwMDkyMDYzMEMwOTcwMkNBMDlENjA2RDYKKzoxMDA0QzAwMEU3NzcyMDAwOTIwNjBFQzBGMjE3MDEwMDEwMDBGMjI3MTUKKzoxMDA0RDAwMDAwMDAxMjAwRTc3NzBBMDA5MjA2Q0EwNTFFQzA5NzAyQzQKKzoxMDA0RTAwMENBMDlENjA2RjIxNzAxMDAwQzAwRjIyNzAwMDAwRTAwMjAKKzoxMDA0RjAwMEU3NzcwMjAwOTIwNjA3QzBGMjE3MDEwMDQ0MDBGMjI3RDYKKzoxMDA1MDAwMDAwMDA0NjAwMDZDRkYyMTcwMTAwNjAwMEYyMjcwMDAwNEQKKzoxMDA1MTAwMDYyMDBDQTA1OUZBRjA4MDMwRkNGNTcwMjA5MDJGMTA5MTUKKzoxMDA1MjAwMDk0MDYwQzAwRjFEQTBDMDBDODA5OTgwNjUwMDI2NzAyMjQKKzoxMDA1MzAwMDk4MDZEMTA3MDAwMEM5MDVFNzA5OUUwNjkwMDZFNzU3MEYKKzoxMDA1NDAwMDAwMDA5MDA2MDJDMDlGQUYwNjAyQzgwNUU3MDUwMEMwODQKKzoxMDA1NTAwMEMwREY5N0NGRDcwOTAwQzAxNzAwMTcwMjk3MDJDMDA5NjQKKzoxMDA1NjAwMDkyQzBFNzA3MDQwMDkwQzBDQTA5RDYwNkU3MDcwMDAwNUEKKzoxMDA1NzAwMEE4MDZFNzA3NkEwNDAyMDBDMDc3MDIwMDA4QzBGMjE3NjUKKzoxMDA1ODAwMDAxMDA1MDAwRjIyNzAwMDA1MjAwOUZDRjI0MDZDMDc3RTAKKzoxMDA1OTAwMDEwMDAwNkMwRjIxNzAxMDA1ODAwRjIyNzAwMDA1QTAwQjAKKzoxMDA1QTAwMEMwNzc4MDAwMDZDMEYyMTcwMTAwNzAwMEYyMjcwMDAwM0IKKzoxMDA1QjAwMDcyMDBDMDc3MDgwMDFEQzFGMjE3MDEwMDA4MDBGMjI3ODEKKzoxMDA1QzAwMDAwMDAwQTAwQzA3NzAwMDIwNkMwRjIxNzAxMDA2NDAwQjQKKzoxMDA1RDAwMEYyMjcwMDAwNjYwMEMwNzc0MDAwMDZDMEYyMTcwMTAwNTUKKzoxMDA1RTAwMDVDMDBGMjI3MDAwMDVFMDBDMDc3MDEwMDAxQzAxQkNGNTUKKzoxMDA1RjAwMDFBQ0ZGMjE3MDEwMDAwMDBGMjI3MDAwMDAyMDBDODA5MUMKKzoxMDA2MDAwMDM0MDFDQTE3MTQwMEQ4NzcwMTAwMDVDMENBRDlEODU3RDkKKzoxMDA2MTAwMEZGMDAwMUMwQ0FEOUUyMTk5NEMwRTIyNzAwMDBFMjE3MjYKKzoxMDA2MjAwMDAxMDBFMjI3MDAwMDlGQUY0MDA2OUZBRkM0MDFFNzU3REIKKzoxMDA2MzAwMDAwMDBEMjA2OUZBMTBFMEFDQTA1QzgwNUMwMDVFNzA1M0QKKzoxMDA2NDAwMDAwQzBDMERGOTdDRkM4MDlBMDA2MDg2Mjk3QzAyNzA0ODIKKzoxMDA2NTAwMEEwMDYyNzUyQTIwNjAzQzFFNzA3QTAwNkEyMDY5RkFGODUKKzoxMDA2NjAwMDA4MDNFNzU3MDAwMEFBMDYwMkMwMjdEQUFBMDY5N0NGQjgKKzoxMDA2NzAwMEZGRkZGRkZGRkZGRjAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDA2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzoxMDA2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUEKKzoxMDA2QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEEKKzoxMDA2QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0EKKzoxMDA2QzAwMDAwMDAwMDAwMDAwMDAwMDAzRjAwMDAwMDAwMDAwMDAwRUIKKzoxMDA2RDAwMDAwMDAwMDAwMDAwMEZGRkYwMTAwMDAwMDAwMDAwMDAwMUIKKzoxMDA2RTAwMEZGRkZGQjEzRTc1NzAwODBCMjAwMDZDMkU3MDdFRTBCREYKKzoxMDA2RjAwMDEyMDBFNzA3MzQwQ0IyMDBFNzA3QzYwN0YyMDJDODA5ODgKKzoxMDA3MDAwMEI0MDBGODA3MDIwMDBEMDBENzA5MEVDMEU3MDcwMDAwOEIKKzoxMDA3MTAwMDBFQzBDODA5REUwMEM4MTcwOTAwQzkwN0RBMDZDMDA3RkQKKzoxMDA3MjAwMDA0MDA2ODBBMDBEQTdEQzFFNzA5QzAwMDdDMDZFNzA5MTkKKzoxMDA3MzAwMEJFMDA3ODA2RTcwOTEwMDBCQzA2QzgwN0Q2MDc5RkFGQzEKKzoxMDA3NDAwMEFFMDc5RkFGMDAwQUM4MDlERTAwMDAwRTBGMDA0MTkwRkYKKzoxMDA3NTAwMDlGREUwNjAwNDRBRjI3MDBCMjA2MjcwMEI0MDYyNzAwM0MKKzoxMDA3NjAwMEI2MDZDMDA3NzQwMDQ0QUYyNzAwRDYwNjA4MDAwMDkwMDQKKzoxMDA3NzAwMEMxMDczQTAwMjAwMDAxREE3REMxOUZBRkJBMDlDMDA3NjYKKzoxMDA3ODAwMDQ0MDA0OEFGMjcwMDdBMDY5RkFGOTYwQUU3MDcwMTAwQUEKKzoxMDA3OTAwMEMwMDZFNzA1MEVDMDk3Q0Y0OUFGRTc4NzQzMDAwRUMwRkMKKzoxMDA3QTAwMEU3MDdGRkZGQkUwNjlGQUZBRTBBQzAwNzAxMDA2MEFGQkMKKzoxMDA3QjAwMDRBQUY5N0NGMDAwODA5MDgxMTA4MDBEQTdDQzE5N0NGMkIKKzoxMDA3QzAwMDY3MDRDQzAyQzBERjUxOTRCMUFGMDYwMEMxREZDOTA5OTQKKzoxMDA3RDAwMENDMDI0OTYyNzVDMUMwREZBN0NGRDYwMjBFMDAyNDAwNEIKKzoxMDA3RTAwMDgwMDQyMjAwNEUwNUQwMDAwRTBBQUEwMDMwMDhCRTAwODgKKzoxMDA3RjAwMDRBMEExMDAwMjAwMDA0MDA2RTA0MDIwMDZBMDQwNjAwODkKKzoxMDA4MDAwMDAwMDAyNEMwMDQwNDI4QzBGRUZCMUVDMDAwMDQyMkMwNTcKKzoxMDA4MTAwMEZGRjRDMDAwOTAwOTAwMDAwMDAwRkZGRjU2MDg2MDA4QzgKKzoxMDA4MjAwMEQwMDhEQTA4MDAwOTA0MDkwODA5MzIwOTQyMDk1MDA5MDgKKzoxMDA4MzAwMDUyMDk1QTA5NUEwOTI3MDJDQTA2OTdDRkU3MDcwMDAwNEEKKzoxMDA4NDAwMENBMDYwQTBFMDEwMENBNTcwRTAwOUZDMzVBMDlDQTM3Q0EKKzoxMDA4NTAwMDAwMDA5RkMyNUEwOTBBRDJCMkNGMTYwOEM4MDlERTAwQUEKKzoxMDA4NjAwMDA3MDY5RkNGNkMwOTE3MDJDODA5REUwMDAwMEUwRjAwQjMKKzoxMDA4NzAwMDQxOTA5RkRFMDYwMEM4MDUzMDUwMDYwMDlGQzg1QTA5MDcKKzoxMDA4ODAwMDI3MEMwMjAwQjAwNkMwMDlCMjA2MjcwMEI0MDZFNzA3MkQKKzoxMDA4OTAwMDAwMDBBRTA2MjcwMDgwMDYwMDFDMDYwMDI3MDBCNjA2RjIKKzoxMDA4QTAwMDQxOTA2NzUwQjAwNjBEQzA2NzAwN0UwNjI3MEMwNjAwMTkKKzoxMDA4QjAwMDgyMDZFNzA3QkMwODg0MDZDODA3N0UwNjQxOTA1MUFGNTAKKzoxMDA4QzAwMDk3Q0Y5RkFGNDgwQ0U3MDlCNjA2QjQwNkU3MDlCMDA2MTQKKzoxMDA4RDAwMEFFMDY1OUFGOTdDRjI3MEMwMjAwQUMwNjU5QUY5N0NGQTEKKzoxMDA4RTAwMDA5MEMwMjAwMDlEQTQ5RDJDOTE5RDYwNkM4MDc3RTA2RTIKKzoxMDA4RjAwMEUwMDcwMDAwNjAwMkUwMDcwNDAwRDAwN0NDMDg0OERCRjYKKzoxMDA5MDAwMDQxOTA1MEFGOTdDRjU5QUY5N0NGNTlBRjk3Q0ZGMDU3OEUKKzoxMDA5MTAwMDA2MDAwNjAwMjVDMUU3MDc3MDA2ODAwNjQxOTA2NzAwQzMKKzoxMDA5MjAwMDdFMDYyNzBDMDYwMDgyMDZFNzA3OEMwOTg0MDZDODA3QTYKKzoxMDA5MzAwMDdFMDY0MTkwNTFBRjk3Q0YwNzBDMDYwMEM3NTcwNjAwQkYKKzoxMDA5NDAwMDBGQzFDODA3NzAwNjE1Q0YwMDBDMDIwMDAwREE0MEQxQjUKKzoxMDA5NTAwMDI3MDBDMjA2MUVDRjFEQ0YyNzBDMDIwMENDMDYxOUNGRTAKKzoxMDA5NjAwMDI3MDIyMDAxRTcwNzA4MDAyMjAxRTcwNzEzMDBCMEMwQjMKKzoxMDA5NzAwMDk3Q0Y0MTkwNjcwMDdFMDZFNzAxODIwNjI3MDI4MDA2MzYKKzoxMDA5ODAwMEU3MDc4QzA5ODQwNkM4MDc3RTA2QzEwNzAwODA1MEFGQzAKKzoxMDA5OTAwMDk3Q0Y1OUFGOTdDRjAwNjAwNUMwRTcwNzAwMDBDNDA2QTYKKzoxMDA5QTAwMEE3Q0Y3QzA2OUZBRjAwMEFFNzA3MDEwMEM0MDY0OUFGNDYKKzoxMDA5QjAwMEQ3MDkwMEMwMDdBRkU3MDUwMEMwNEFBRkE3Q0Y3QzA2NDQKKzoxMDA5QzAwMEMwMDdGRTdGNDRBRjQwMDBDMDM3MDAwMTQxOTBDMDM3RjAKKzoxMDA5RDAwMDA4MDBERkRFNTAwNkMwNTcxMDAwMDJDMkMwMDcxMDAwM0EKKzoxMDA5RTAwMDI3MDA5QTA2NDE5MDlGREU0MDA2NDRBRjI3MDA5QzA2RjAKKzoxMDA5RjAwMEMwMDk5QTA2NDE5MDAwRDIwMEQ4OUZERTA4MDA0NEFGOUIKKzoxMDBBMDAwMDI3MDBDODA2OTdDRkU3ODcwMDg0MjhDMEU3NjdGRkZCNjkKKzoxMDBBMTAwMDI0QzA5N0NGRTc4NzAxMDBEMjA2RTc1NzAwMDBBODA2NTkKKzoxMDBBMjAwMDk3QzE5RkFGMDAwQUU3ODcwMDA2MjJDMEU3MDcwMDAwRDIKKzoxMDBBMzAwMDkwQzBFNzY3RkVGRjNFQzBFNzA3MjYwMDBBQzBFNzg3RDEKKzoxMDBBNDAwMDAxMDAzRUMwRTcwN0ZGRkZCRTA2OUZBRjEwMEI5N0NGMjgKKzoxMDBBNTAwMDE3MDBBN0FGNzgwNkMwMDUyNzAwNzYwNkU3ODcwMTAwRDQKKzoxMDBBNjAwMEQyMDY5RkFGMDAwQUU3MDcwQzAwNDBDMDlGQUYxMDBCRjMKKzoxMDBBNzAwMDAwOTAyNzAwQTYwNjI3MDBBQTA2RTcwOUIyMDZCNDA2REEKKzoxMDBBODAwMDI3MDBBRTA2MjcwMEFDMDY5RkFGQUUwQUMwMDcwMDAwRTUKKzoxMDBBOTAwMDI3MDBCMjAyMjcwMEI0MDIyNzAwOEUwNkMwMDcwNjAwMTYKKzoxMDBBQTAwMEM4MDlERTAwQzgxNzAzMDBDOTA3NzAwNjI5MEEwMERBNjIKKzoxMDBBQjAwMDdEQzE5N0NGRDcwOTAwQzBDMURGMDA5MDI3MDA5NjA2RkYKKzoxMDBBQzAwMEU3MDc5NjA2OTgwNjI3MDBBMDA2RTcwN0EwMDZBMjA2RjUKKzoxMDBBRDAwMDI3MDBBNjA2MjcwMDkwMDYyNzAwOUUwNkM4MDk5QzA2NDgKKzoxMDBBRTAwMEMxMDk5QTA2QzkwN0E0MDYxMTAyMDkwMkM4MTc0MDA2REYKKzoxMDBBRjAwMDAxREE3QUMxNTE5NEM4MDlDODA2QzkwN0M2MDZDMTA5RjYKKzoxMDBCMDAwMDlBMDYxMTAyMDkwMkM4MTcwODAwMDFEQTdBQzE1MTk0NDUKKzoxMDBCMTAwMEU3MDUwMEMwOTdDRkU3NTcwMDAwNzYwNjk3QzA5RkFGNjQKKzoxMDBCMjAwMDA0MDBFNzA5QkUwNkJBMDZFNzU3RkZGRkJBMDYwNEMxOEMKKzoxMDBCMzAwMEU3MDcxMDBCQjgwNjk3Q0ZFNzE3MzIwMEJBMDZFNzY3NEEKKzoxMDBCNDAwMEZGMDdCQTA2RTcwNzQ2MEJCODA2OTdDRkU3NTcwMDAwM0UKKzoxMDBCNTAwMEMwMDYyM0MwRTcwNzA0MDA5MEMwRTcwNzAwODA4MEMwRkMKKzoxMDBCNjAwMEU3MDcwMDAwODBDMEU3MDcwMDgwODBDMEMwMDcwMDAwRTIKKzoxMDBCNzAwMEMwMDcwMDAwQzAwNzAwMDBFNzA3MDAwMDgwQzBFNzA3Q0IKKzoxMDBCODAwMDAwODA4MEMwRTcwNzAwODA0MEMwQzAwNzAwMDBFNzA3ODIKKzoxMDBCOTAwMDAwMDA0MEMwRTcwNzAwMDA4MEMwRTcwNzA0MDA5MEMwRTUKKzoxMDBCQTAwMEU3MDcwMDAyNDBDMEU3MDcwQzAyNDBDMEU3MDcwMDAwNkIKKzoxMDBCQjAwMEMwMDZFNzA3MDAwMEI4MDZFNzA3MDAwMEQyMDZENzA5MUQKKzoxMDBCQzAwMDAwQzBDMURGOUZBRjM0MDJFNzA1MDBDMDlGQUZDNDAxODIKKzoxMDBCRDAwMDk3Q0ZENzA5MDBDMDE3MDAxNzAyOTcwMkU3NTcwMDAwMDgKKzoxMDBCRTAwMEE4MDYwNkMwQzAwOTkyQzBDMDc3MDkwMjlGQzE1QzA1NzMKKzoxMDBCRjAwMDlGQ0YzMjA2RDcwOTBFQzBFNzA3MDAwMDBFQzA5RkFGOTcKKzoxMDBDMDAwMDAyMENFNzA1MEVDMDk3Q0ZENzA5MDBDMDE3MDJDODA5MkMKKzoxMDBDMTAwMEIwQzBFNzY3RkU3RkIwQzBDODc3MDAyMDlGQzE2NEVCMUIKKzoxMDBDMjAwMEU3NTcwMDAwQzgwMjlGQzE4MEVCQzg5OUNBMDJDODY3OTUKKzoxMDBDMzAwMDA0MDA5RkMxOTZFQjlGQ0Y0Q0VCRTcwNzAwMDBBNkMwRDYKKzoxMDBDNDAwMEU3MDlCMEMwQzgwMkU3MDcwMzAwQjBDMDk3Q0ZDMDA5RUEKKzoxMDBDNTAwMEIwMDZDMDM3MDEwMDk3QzlDOTA5QjIwNjAyMDA0MTkwMjkKKzoxMDBDNjAwMDQ4MDJDOTE3MDYwMDlGQUYwODA0OUZBMjcyMEMwMkRBNUYKKzoxMDBDNzAwMDc3QzE0MTYwNzFDMTk3Q0YxNzAyNTcwMjQzMDQyMTA0MjUKKzoxMDBDODAwMEUwMDA0MzA0MjEwNEUwMDA0MzA0MjEwNEUwMDBDMTA3MjQKKzoxMDBDOTAwMDAxMDBDOTA1QzgwNTk3Q0ZFNzA3MDEwMDhFMDZDODA3MDAKKzoxMDBDQTAwMDg2MDZFNzA3MDAwMDg2MDZFNzA3MTAwODg4MDZFNzA3QkMKKzoxMDBDQjAwMDA0MDA4QTA2RTcwN0JDMEM4QzA2QzEwNzAzODA1MEFGMEUKKzowQzBDQzAwMDk3Q0ZFNzA3MDAwMDhFMDY5N0NGMDAwMERBCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4uaWhleCBiL2Zpcm13YXJlL2thd2V0aC9uZXdfY29kZV9maXguYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmIzNWQzZAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2thd2V0aC9uZXdfY29kZV9maXguYmluLmloZXgKQEAgLTAsMCArMSw0MCBAQAorOjEwMDAwMDAwQjZDM0FBQkJDQ0REMDIwMDA4MDAyODAwMkMwMDM0MDBENworOjEwMDAxMDAwM0MwMDQwMDA0ODAwNTQwMDU4MDA1RTAwNjQwMDY4MDA0NgorOjEwMDAyMDAwNkUwMDZDMDA3MjAwNzYwMDdDMDA4MDAwODYwMDhBMDAwMgorOjEwMDAzMDAwOTAwMDk0MDA5ODAwOUUwMEE2MDBBQTAwQjAwMEI0MDBCMgorOjEwMDA0MDAwQjgwMEMwMDBDNjAwQ0EwMEQwMDBENDAwRDgwMEUwMDA0QworOjEwMDA1MDAwREUwMEU4MDBGMDAwRkMwMDA0MDEwQTAxMTgwMTIyMDFBMgorOjEwMDA2MDAwMjgwMTNBMDEzRTAxN0UwMTk4MDE5QzAxQTIwMUFDMDFFOAorOjEwMDA3MDAwQjIwMUJBMDFDMDAxQzgwMUQwMDFENjAxRjQwMUZDMDFFRQorOjEwMDA4MDAwMDgwMjE2MDIxQTAyMjIwMjJBMDIyRTAyM0UwMjQ0MDIyQworOjEwMDA5MDAwNEEwMjUwMDI2NDAyNjIwMjZDMDI3MjAyODYwMjhDMDIwMAorOjEwMDBBMDAwOTAwMjlFMDJCQzAyRDAwMkQ4MDJEQzAyRTAwMkU4MDIwQQorOjEwMDBCMDAwRTYwMkY0MDJGRTAyMDQwMzBDMDMyODAzN0MwMzkwMDMwRgorOjEwMDBDMDAwOTQwMzlDMDNBMjAzQzAwM0QwMDNENDAzRUUwM0ZBMDNGQQorOjEwMDBEMDAwRkUwMzJFMDQzMjA0M0MwNDQwMDQ0RTA0NzYwNDdDMDRFNworOjEwMDBFMDAwODQwNDhBMDQ4RTA0QTYwNEIwMDRCODA0QkUwNEQyMDRCNgorOjEwMDBGMDAwREMwNEVFMDQxMDA1MUEwNTI0MDUyQTA1MzYwNTM0MDUyRQorOjEwMDEwMDAwM0MwNTQyMDU2NDA1NkEwNTZFMDU4NjA1MjIwNjI2MDYzRAorOjEwMDExMDAwMkMwNjMwMDY0MjA2NEEwNjRFMDY1NjA2NTQwNjVBMDY3NQorOjEwMDEyMDAwNjAwNjY2MDZFODA2RUUwNkY0MDYxNjA3MjYwNzJDMDdBNAorOjEwMDEzMDAwMzIwNzM2MDczQTA3M0UwNzUyMDc1NjA3NUEwNzY0MDc0MQorOjEwMDE0MDAwNzYwNzdBMDc4MDA3ODQwNzhBMDc5RTA3QTIwN0RBMDdERgorOjEwMDE1MDAwREUwN0UyMDdFNjA3RUEwN0VFMDdGMjA3RjYwNzBFMDhGMgorOjEwMDE2MDAwMTYwODE4MDgxQTA4MUMwODFFMDgyMDA4MjIwODI0MDg2NworOjEwMDE3MDAwMjYwODI4MDgyQTA4MkMwODJFMDgzMjA4M0EwODQ2MDhCQgorOjEwMDE4MDAwNEUwODU0MDg1RTA4NzgwODdFMDg4MjA4ODYwODhDMDhBNQorOjEwMDE5MDAwOTAwODk4MDg5RTA4QTQwOEFBMDhCMDA4QUUwOEI0MDhGOQorOjEwMDFBMDAwQkUwOEM0MDhDMjA4Q0EwOEM4MDhENDA4RTQwOEU4MDg5OQorOjEwMDFCMDAwRjYwODE0MDkxMjA5MUEwOTIwMDkyNjA5MjQwOTJBMDkyRQorOjEwMDFDMDAwM0UwOTRDMDk1NjA5NzAwOTc0MDk3ODA5N0UwOTdDMDlCMQorOjEwMDFEMDAwODIwOTk4MDk5QzA5QTAwOUE2MDlCODA5REMwOUU4MDk1RgorOjEwMDFFMDAwRUMwOUZDMDkxMjBBMTgwQTFFMEE0MjBBNDYwQTRFMEFCQgorOjEwMDFGMDAwNTQwQTVBMEE1RTBBNjgwQTZFMEE3MjBBNzgwQTc2MEE2RAorOjEwMDIwMDAwN0MwQTgwMEE4NDBBOTQwQUE0MEFCODBBQkUwQUJDMEFCNAorOjEwMDIxMDAwQzIwQUM4MEFDNjBBQ0MwQUQwMEFENDBBRDgwQURDMEExQQorOjEwMDIyMDAwRTAwQUYyMEFGNjBBRkEwQTE0MEIxQTBCMjAwQjFFMEI0QworOjEwMDIzMDAwMjYwQjJFMEIyQzBCMzYwQjNDMEI0MjBCNDAwQjRBMEJBOAorOjEwMDI0MDAwQUEwQkIwMEJCNjBCQzAwQkM4MEJEQTBCRTgwQkVDMEIxMAorOjEwMDI1MDAwRkEwQjRBMEM1NDBDNjIwQzY2MEM5NjBDOUEwQ0EwMEMwRgorOjBFMDI2MDAwQTYwQ0E0MENBQzBDQjIwQ0IwMENDMDBDMDAwMDMwCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4uaWhleCBiL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGUuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNlMTY1OAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGUuYmluLmloZXgKQEAgLTAsMCArMSwxMyBAQAorOjEwMDAwMDAwQjZDM0FBQkJDQ0REQzgwN0EwMDBGMDA3NUUwMDA2MDA5RgorOjEwMDAxMDAwRjAwNzBBMDAwODAwRjAwOTAwMDAwMjAwRTcwNzM2MDBCOAorOjEwMDAyMDAwMDAwMEYwMDcwMDAwMDQwMEU3MDc1MEMzMTBDMEYwMDkwQgorOjEwMDAzMDAwMEVDMDAwMDBFNzg3MDEwMDBFQzA5N0NGRDcwOTAwQzBBRgorOjEwMDA0MDAwMTcwMkM4MDdBMDAwRTcxNzUwQzMxMEMwMzBEODA0MDAzQgorOjEwMDA1MDAwMzA1QzA4MDAwNDAwQjBDMDA2MDBDODA1RTcwNTAwQzAxOQorOjEwMDA2MDAwQzBERjk3Q0Y0OUFGQzAwNzAwMDA2MEFGNEFBRjAwMENCOAorOjEwMDA3MDAwMEMwMDQwRDIwMDFDMEMwMDQwRDIzMDAwMDgwMEYwMDdGOQorOjEwMDA4MDAwMDAwMDA0MDBGMDA3ODYwMDA2MDA2N0NGMjcwQzAyMDA3RQorOjEwMDA5MDAwMDAwMDI3MEMwMDAwMEVDMDQ5QUY2NEFGQzAwNzAwMDA4RAorOjEwMDBBMDAwNEJBRjRBQUY1QUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjA2MDBCMDAwOTQwMDA1MDAwMDAwQjEKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4uaWhleCBiL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGVfZml4LmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MTJmNzMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4uaWhleApAQCAtMCwwICsxLDMgQEAKKzoxMDAwMDAwMEI2QzNBQUJCQ0NERDAyMDAwNjAwMTgwMDNFMDA4MDAwOEIKKzowNjAwMTAwMDk4MDBBQTAwMDAwMEE4Cis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi9tcHIuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi9tcHIuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1M2JhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL21wci5IRVgKQEAgLTAsMCArMSwxMDQgQEAKKzowMzAwMzMwMDAyMDAxQUFFCis6MDQwMDFBMDA1M0Q4RUYzMjk2Cis6MTAwMDAzMDA4RTU2OEY1N0U1NTcxNTU3QUU1NjcwMDIxNTU2NEU2MEVDCis6MDcwMDEzMDAwNTEyMEZBMjgwRUUyMjhFCis6MDMwMDIzMDAwMjAwNDY5MgorOjEwMDA0NjAwQzBFMEMwODNDMDgyQzA4Njc1ODYwMEMwRDA3NUQwMDg2NworOjEwMDA1NjAwMzA5OTBFMzAwQjA3QTIwRTkyOUI4NTM2OTlDMjk5RDIyMworOjEwMDA2NjAwMTIyMDEyMDMwMjAyRjlDMjEyMzAwMzE5N0U3RTdGNDA2QgorOjEwMDA3NjAwNzUxQTdFNzUxQjQwNzUxNzAwN0U3RDdGQzA3NTE4N0RDRAorOjEwMDA4NjAwNzUxOUMwODAxNzdFN0Q3RkMwNzUxQTdENzUxQkMwNzU3QQorOjEwMDA5NjAwMTcwMTdFN0U3RjQwNzUxODdFNzUxOTQwMjAwQjAzMDI3RQorOjEwMDBBNjAwMDE4NEU1M0FDMzk1NTM1MDNDMjAwQzM0MjAwOTMxOTAyNQorOjEwMDBCNjAwN0Y5QkUwNTUzODcwMjkzMDEwMTJBRjNBMDUzQUU1MUJBMAorOjEwMDBDNjAwMkZGNTgyRTQzNTFBRjU4M0UwMTM5MjBFQUYzQTA1M0ExRQorOjEwMDBENjAwRTUxQjJGRjU4MkU0MzUxQUY1ODNFMEY1MzYwMjAyRjdDMworOjEwMDBFNjAwQzIwQjAyMDJGNzMwMDMxMTkwN0ZDN0U0RjBBM0UwNTQ3RAorOjEwMDBGNjAwMDJGNTFEQTNFMEY1MUM4MDExOTA3RkM5RTRGMDkwN0YwNgorOjAzMDA0MzAwMDIwRjAwQTkKKzowMzAwMDAwMDAyMDAyNkQ1Cis6MEMwMDI2MDA3ODdGRTRGNkQ4RkQ3NTgxNUEwMjBBMzM5OQorOjQwMDEwNjAwQzZFMDU0MDJGNTFEQTNFMEY1MUNFNTE3MjRGRjkyMDMzMDBEMERDMjBEOTA3RkJCNzQwMUYwQzIwQjAyMDJGN0U1MUQ2MDA1QzIwQjAyMDJGNzg1MUM1Mzg1MTk4Mjg1MTg4M0UwMTM5MjBENzUxMkZGMjAwQzNBMjAwOTM3OTA4MgorOjQwMDE0NjAwN0Y5QkUwNTUzODcwMkYzMDEwMUM4NTE5ODI4NTE4ODNBM0UwMTM5MjBFODUxOTgyODUxODgzQTNBM0UwRjUzNjc1M0EwMzAyMDJGNzc1M0EwMjg1MTk4Mjg1MTg4M0EzRTBGNTM2MDIwMkY3NzUzQTAxQzIwQjAyMDJGNzMwMDNGRQorOjQwMDE4NjAwMEU5MDdGQzZFMDU0MDJGNTFEQTNFMEY1MUM4MDBDOTA3RkM4RTA1NDAyRjUxREEzRTBGNTFDRTUzQUMzOTU1MzUwMDMwMjAyNjhFNTFENjAwN0MyMTRDMjA1MDIwMkY3ODUxQzUzODUxQjgyODUxQTgzRTAxMzkyMEQ3NTEyRkY2MQorOjQwMDFDNjAwMzAwQzAzMDIwMjYwMzAwOTAzMDIwMjYwOTA3RjlCRTA1NTM4NjAwMzAyMDI2MDMwMTAxQjg1MUI4Mjg1MUE4M0EzRTAxMzkyOUI4NTFCODI4NTFBODNBM0EzRTBGNTk5NzUzQTAzODAwRDg1MUI4Mjg1MUE4M0EzRTBGNTk5NzU3NQorOjQwMDIwNjAwM0EwMkU1M0FDMzk1NTM0MDI2MzAwMzA3OTA3RkM3RTRGMDgwMDU5MDdGQzlFNEYwRTUxNzI0RkY5MjAzMjAwRDAzMDIwMkY3QzIwRDkwN0ZCQjc0MDFGMDAyMDJGNzMwMTAxMkFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODM5NAorOjQwMDI0NjAwRTAxMzkyMEVBRjNBMDUzQUU1MUIyRkY1ODJFNDM1MUFGNTgzRTBGNTM2RDIwQjAyMDJGNzc1M0EwMUMyMTQwMjAyRjczMDBDMDMwMjAyRjUzMDA5MDMwMjAyRjU5MDdGOUJFMDU1Mzg3MDc5MzAxMDEyQUYzQTA1M0FFNTFCMkZGMgorOjQwMDI4NjAwRjU4MkU0MzUxQUY1ODNFMDEzOTI5QkFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODNFMEY1OTlFNTNBQzM5NTUzNDAyMjMwMDMwNzkwN0ZDN0U0RjA4MDA1OTA3RkM5RTRGMEU1MTcyNEZGOTIwMzMwMEQzNkMyMEQ5MDdGQkIwRQorOjQwMDJDNjAwNzQwMUYwODAyQzMwMTAxMkFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODNFMDEzOTIwRUFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODNFMEY1MzZEMjBCODAwMkMyMTREMjAxMjA5ODAzMDIwNDM1QzI5ODIwMDIwMzAyMDM4MworOjQwMDMwNjAwQTIyMDE1MjdBRjM5MDUzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxMDREQUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OThGMDgwM0E4NTk5NTVFNTU1QjU0NzA0RDIwOTgwMkVFNTU1QjU0NjA0QzIwOTgwMjUxQworOjQwMDM0NjAwQUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1NTVGMDMwMTAxMUFGMzkwNTM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjBEMjBGRTUzOUMzOTU0MzUwMDMwMjA0MzM5MDdGQjhFMDMwRTExNkU1MzlDMzk0NDA1MDAzMDJGNQorOjQwMDM4NjAwMDQzMzE1MzkxNTM5MDUyQjQzMzQwMTAyMDQzMzkwN0ZCN0U1MzlGMDc1MzkwMEMyMDIwMjA0MzMyMDE1MjdBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxMDREQUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU5NAorOjQwMDNDNjAwODNFNTk4RjA4MDNBODU5OTU1RTU1NUI1NDcwNEQyMDk4MDJFRTU1NUI1NDYwNEMyMDk4MDI1QUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1NTVGMDMwMTAxMUFGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjBFQQorOjQwMDQwNjAwRDIwRkU1MzlDMzk1NDM0MDI0OTA3RkI2RTAzMEUxMTJFNTM5QzM5NDQwNDAxNjE1MzkxNTM5MDUyQjQzMzQwMTgwMEI5MDdGQjlFNTM5RjA3NTM5MDBEMjAyRDIwMTMwMDEwNUMyMDEwMjAwNTZEMEQwRDA4NkQwODJEMDgzRDAyRgorOjQwMDQ0NjAwRTAzMjkwN0ZCQ0UwMjBFMTU0RTUzNDYwNTBFNTMxNzA0Q0U1MzQzMEUxMEJFNEY1MkY3NTM0MDE3NTMxMDI4MDBFQTIwOEU0MzNGNTJGQzIwOEU0RjUzNDc1MzExMEU0RjU1NjdFMDA3QjAwNzQyNDI1NTZGOUVFMzQwMEZBMTJEOAorOjQwMDQ4NjAwMEM3OUZGNzQwMDI1NTZGNTgyRTQzNDdERjU4M0VGRjAwNTU2RTU1NkI0MENEQjkwN0ZCRDc0MENGMDkwN0ZDQUUwMzBFMTAzMDIwNUQxRTRGNTU2NzQ0MDI1NTZGNTgyRTQzNDdERjU4M0UwRkZFNTU2N0MwMDdCMDAyNDNCRjkwMworOjQwMDRDNjAwRUMzNDAwRkFFRjEyMEM5MjA1NTZFNTU2QjQxOERCRTUzQjYwMTE3NUM5MjA3NUM4MzY4NTNDQ0E4NTNEQ0JFNDkwN0Y5RkYwRTUzRTEzOTIxMDkyOUY4NTNGMzhFNTQwMTM5MjE1RTU0MTYwMDk5MDdGOThFMDU0RkJGMDgwMDc0NAorOjQwMDUwNjAwOTA3Rjk4RTA0NDA0RjBFNTQyNjAwOTkwN0Y5OEUwNTQ3RkYwODAwNzkwN0Y5OEUwNDQ4MEYwRTU0ODYwMEJDMjBDQzIwOTkwN0Y5NUUwNDQwMkYwRTU0OTYwMENEMjA5NDMzNDAxOTA3Rjk1RTA0NDAyRjBFNTRBNjAwREMyQUZCQgorOjQwMDU0NjAwQzIwQkQyMDBFNEY1NTNGNTNBRDJBRkU1NEI2MDA1MzAxNTAyRDIwOUU1NEM2MDE1OTA3Rjk1RTA1NEZERjA5MDdGOUVFMDQ0MDJGMDkwN0Y5OEUwNTRGREYwRTU0RDYwMEFEMjlDQzI5ODc1MkMwMTc1MzExRUU1NEU2MDA3QzIyNworOjQwMDU4NjAwOUNFNEY1MzlGNTJDRTU0RjYwMDNFNEY1MzlFNTUwNjAwMkQyMDdFNTUxNjAwQUU1NEQ3MDAyRjUzMUU1NTE0MjM0RTU1MjYwMUY5MDdGRDc3NDExRjA3NDMxRjA3NDEyRjA3NDMyRjA3NDEzRjA3NDMzRjA3NDE0RjA3NDM0RjA2NworOjQwMDVDNjAwRDIwM0QyMDJEMjA4RTQ5MDdGQ0JGMEEyMENFNDMzRkY2NTI5NjAwNThGMjk0MzM0MDFBMjA5RTQzM0ZGNjUyQTYwMDU4RjJBNDMzNDAxOTA3RjlCRTBGRjU0MDg2NDA4RjU1NzY1MjU2MDA2ODU1NzI1NDMzNDAxRUY1NDEwNjQzQQorOjQwMDYwNjAwMTBGNTU3NjUyNjYwMDY4NTU3MjY0MzM0MDFFRjU0NDA2NDQwRjU1NzY1Mjc2MDA2ODU1NzI3NDMzNDAxRUY1NDIwNjQyMEY1NTc2NTI4NjAwNjg1NTcyODQzMzQwMTkwN0Y5QUUwNTQ0MDY0NDBGNTU3NjUyRTYwMDY4NTU3MkU1QgorOjQwMDY0NjAwNDMzNDAxMzAwNzM1QzJBRjMwMDIxODkwN0ZCOEUwMjBFMTI3RTUzOTYwMDk5MDdGQjdGMEU0RjUzOUMyMDJDMjA3ODAxNjkwN0ZCNkUwMjBFMTBGRTUzOTYwMDk5MDdGQjlGMEU0RjUzOUQyMDJDMjA3RDJBRjIwMDUzRDMwMDNEQgorOjQwMDY4NjAwMUU5MDdGQzZFMDIwRTEzMzkwN0U0MEUwMTM5MjBENzUzQTAxOTA3RkM3RTBGNTUzRDIwNTc1MTJGRjgwMUM5MDdGQzhFMDIwRTExNTkwN0RDMEUwMTM5MjBENzUzQTAxOTA3RkM5RTBGNTUzRDIwNTc1MTJGRjIwMTQzMzIwMDBFNgorOjQwMDZDNjAwMDZFNTNBNjU1MzcwMkEzMDA1MUEzMDAzMDlFNDkwN0ZDN0YwQzIwMzgwMDdFNDkwN0ZDOUYwRDIwM0MyMDVFNEY1NTNGNTNBMzAwRDBBQzIwREMyMDA5MDdGQkI3NDAxRjAzMDE0MDMwMjA3QkYyMDA1MDMwMjA3QkYzMDBDMDMxNAorOjQwMDcwNjAwMDIwN0JGMzAwOTAzMDIwN0JGOTA3RjlCRTA1NTM4NjAwMzAyMDdCRjMwMDMwQzdFN0U3RjQwNzU1ODdFNzU1OTQwODAwQTdFN0Q3RkMwNzU1ODdENzU1OUMwMzAxMDEyQUYzQTA1M0FFNTU5MkZGNTgyRTQzNTU4RjU4M0UwMTM3QworOjQwMDc0NjAwOTIxQUFGM0EwNTNBRTU1OTJGRjU4MkU0MzU1OEY1ODNFMEY1NTdFNTNBQzM5NTUzNTAyQTMwMTAxMkFGM0EwNTNBRTU1OTJGRjU4MkU0MzU1OEY1ODNFMDEzOTIwRUFGM0EwNTNBRTU1OTJGRjU4MkU0MzU1OEY1ODNFMEY1MzY4OAorOjQwMDc4NjAwRDIwQjgwMTVDMjBCMzAwMzA5RTQ5MDdGQzdGMEMyMDM4MDA3RTQ5MDdGQzlGMEQyMDMzMDEwMDRBMjFBOTI5QkQyMTRDMkFGODU1Nzk5MjAwQjBEMzAwRDBBQzIwREMyMDA5MDdGQkI3NDAxRjBEMkFGMjI5MDdGRTlFMDEyMEM3MAorOjQwMDdDNjAwQTQwOTFDMDAwOTg5MDEwOUU2MDMwN0UzMDYwOTBEMDgwOTAxMDkwOEU5MEEwOEY4MEIwMDAwMEEyNDkwN0ZFQkUwMjRGRTYwMUMxNDcwMDMwMjA4NzkyNDAyNjAwMzAyMEEyNDc0MEQ5MDdGRDRGMDc0ODc5MDdGRDVGMDAyMEFFNgorOjQwMDgwNjAwMkI5MDdGRUFFMEI0MDEwNDdGMDI4MDAyN0YwMzc1ODJEODc1ODMwREVGRjA3NTgyRDE3NTgzMERGMDc1ODJDQTc1ODMwREYwNzU4MkMzNzU4MzBERjA5MDdGRUFFMDA0NzU4MjlFNzU4MzBERjA5MDdGRUZFMEZFOTA3RkVFRTA3QgorOjQwMDg0NjAwN0MwMDI0MDBGNTVBRUMzRUY1NTk3NTE1MEQ3NTE2OTk3NTgyOUI3NTgzMERFMDc1MTMwMEY1MTREM0U1MTQ5NTVBRTUxMzk1NTk0MDA2ODU1OTEzODU1QTE0MTIwQkJBMDIwQTJCOTA3RkVBRTA3MDBCNzU1NkZGNzU1NzBENzUwMworOjQwMDg4NjAwNThEQzgwMkQ5MDdGRUFFMEI0MDEwQjc1NTZGRjc1NTcwRDc1NThFMDgwMUI5MDdGRUFFMEI0MDIwQjc1NTZGRjc1NTcwRDc1NThGMDgwMDk3NTU2RkY3NTU3MEU3NTU4MUU5MDdGRUVFMDc1NTkwMEY1NUFBRTU3QUY1ODhFMTUxMgorOjQwMDhDNjAwOEYxNjhGODI4RTgzRTBGRUEzRTA4RTEzRjUxNEQzOTU1QUU1MTM5NTU5NDAwNjg1NTkxMzg1NUExNDEyMEJCQTAyMEEyQjkwN0YwMEU1MTFGMDkwN0ZCNTc0MDFGMDAyMEEyQjkwN0ZFQUUwRjUxMTAyMEEyQjEyMEMyNDkwN0Y4NAorOjQwMDkwNjAwRUFFMEY1MTAwMjBBMkI5MDdGMDBFNTEwRjA5MDdGQjU3NDAxRjAwMjBBMkI5MDdGRThFMDI0N0Y2MDI3MTQ2MDM0MjQwMjYwMDMwMjBBMjRBMjE2RTQzM0ZGMjVFMEZGQTIxOEU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQ1NQorOjQwMDk0NjAwMDJGMDAyMEEyQkU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQTJCOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwQgorOjQwMDk4NjAwMDIwQTJCOTA3RkU4RTAyNEZFNjAxNzI0MDI2MDAzMDIwQTJCOTA3RkVBRTA2NDAxNjAwMzAyMEEyNEMyMTYwMjBBMkI5MDdGRUFFMDcwNzY5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ4RAorOjQwMDlDNjAwN0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA0NTkwN0ZFOEUwMjRGRTYwMTAyNDAyNzAzOTkwN0ZFQUUwNjQwMTcwMkFEMjE2ODAyRDkwN0ZFQUUwNzAyMDkwN0Y3NworOjQwMEEwNjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyQzIxMEU0RjUxMEY1MzRDMjA5QzIwQ0MyMEJDMjE0QzIwREMyMTVBNQorOjQwMEE0NjAwQzIxMUMyMDdDMjEyQzIwRkMyMDhGNTM1RjUzOUY1NTNGNTNBRjUzM0Y1MzBGNTJGRjUyRUY1MkRGNTJDRjUyQkY1MkFGNTI5RjUyOEY1MjdGNTI2RjUyNUY1MjRDMjA1QzIxN0MyMTlDMjE2QzIxOEMyMDREMjEzQzIwNkMyMDE3OAorOjQwMEE4NjAwOTA3RjkyRTA1NEZERjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MEZGMDkwN0ZBQzc0MEVGMEQyQUZEMkJDRDI0NworOjQwMEFDNjAwMUExMjBGN0RDMjE3MzAwNDAzMTIwNDQ4MzAwNDJBMzAwNjI3QzIwNkU1MTI2MDE2MTUxMjkwN0ZEOEUwMzBFNjA0N0YwMDgwMDI3RjIwOTA3Rjk2RUZGMDgwMDY5MDdGOTY3NDIwRjAxMjBCMTQ4MENEMzAxNzA3QzIxNzEyMDc0MQorOjQwMEIwNjAwQzA4MEMzMzAxOUMwQzIxOTEyMEVEQzgwQjkyMkU1MzE2MDAyMTUzMUU1Mzk2MDU1NjUzNTcwNEJFNTMzRjQ2MDAyMDUzM0U1MzNDMzk1NDQ0MDQzQzJBRjMwMDIxQjkwN0ZCOEUwMjBFMTJEOTA3RkI3RTUzOUYwQzIwMkU0RjVBQQorOjQwMEI0NjAwMzlGNTMzRjUzNTc1MTJGRjgwMTk5MDdGQjZFMDIwRTExMjkwN0ZCOUU1MzlGMEQyMDJFNEY1MzlGNTMzRjUzNTc1MTJGRkQyQUY4MDA2ODUzOTM1RTRGNTMzRTUyQzYwMzAyMDBGMDc5MDdGOUJFMDMwRTAwRkU1MkQ2MDA2RTQ5NworOjQwMEI4NjAwRjUyRDQzMzQwMUU0RjUzMDgwMTRFNTMwRDM5NTQ1NTAwREU1MzBCNTQ1MDY3NTJEMDE0MzM0MDEwNTMwQzIwRjIyOTA3RkQ5RTAzMEUyMDQ3RjAwODAwMjdGMjA5MDdGOTZFRkYwMjJFNTE0NDUxMzYwNTdBRTEzQUYxNEQzRUYwRgorOjQwMEJDNjAwOTQ0MEVFOTQwMDQwMDQ3RTAwN0Y0MEMzRTUxNDlGRjUxNEU1MTM5RUY1MTNFNEZERURDMzlGRTQ5RTUwMUY4NTE2ODI4NTE1ODNFMEZDNzQwMDJERjU4MkU0MzQ3RkY1ODNFQ0YwMEQwNTE2RTUxNjcwMDIwNTE1ODBEQTkwN0ZDNAorOjQwMEMwNjAwQTk3NDAxRjA5MDdGQUNFMDQ0MDFGMDkwN0ZCNUVGRjAyMjkwN0ZBQ0UwNTRGRUYwRTQ5MDdGQjVGMDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMDkwN0Y5Njc0MjBGMDkwN0Y5NDc0MDFGMDkwN0Y5RDc0RkZGMDkwN0Y5Nzc0ODZERgorOjQwMEM0NjAwRjA5MDdGOTU3NDAzRjA5MDdGOUU3NDg0RjA5MDdGOThGMEU0OTA3RkM3RjA5MDdGQzlGMDkwN0ZDQkYwNzU5ODQwNDNBODEwOTA3RkRFNzQxRkYwOTA3RkRGNzQwRkYwRDIwNDIyQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJDMworOjQwMEM4NjAwQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTM2NworOjQwMENDNjAwQTNBMzgwREZFNDkwN0Y5NUYwOTA3Rjk0RjA5MDdGOTNGMDkwN0Y5REUwNDQwMkYwOTA3Rjk3RTA0NDQyRjA5MDdGOUM3NDEwRjBFNDkwN0Y5NkYwOTA3RjlENzRCRUYwMzAxNjA0N0Y4MDgwMDI3RjAwOTA3Rjk3RUZGMEU0OTA0NQorOjQwMEQwNjAwN0Y5NUYwOTA3RjlFRjA5MDdGOThGMDIyQzBFMEMwRjBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwRDA3NUQwMDg1MzkxRUY5MDdGQTk3NDAxRjAxMjBCQkFEMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEYwRDBFMDMyQzA2QQorOjQwMEQ0NjAwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjQwMEQ4NjAwMDAxMjAxMTAwMUZGRkZGRjQwQ0QwNjFDMDEwMTAwMDEwMjAwMDIwOTAyNDMwMDAxMDEwMDgwMzIwOTA0MDAwMDA3RkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1ODEwMjQwMDAwMgorOjQwMERDNjAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNDAzMDkwNDEwMDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkUwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUwMDBBMworOjQwMEUwNjAwNTMwMDQ4MDAzMTAwMzEwMDMyMDAyRDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjIwMzU1MDA1MzAwNDEwMDJEMDAzNTAwMzMwMDIwMDAzMjAwMzAwMDMwMDAzMjAwNjEwMDcwMDA3MjAwMzIwMDM2MDAwMDAwQzBFMEMwODNEQgorOjQwMEU0NjAwQzA4MkMwODVDMDg0QzA4Njc1ODYwMDUzOTFFRjkwN0ZBQjc0MDJGMEQyMDZEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTc1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDAxRgorOjQwMEU4NjAwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE5NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA4NAorOjQwMEVDNjAwNTM5MUVGOTA3RkE5NzQwMkYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzIxMjBDQ0ExMjBGQjM5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YwRDdFMDAxMjAwMDM5MDdGRDZFMDU0RkVGMDEyMEMyNDIyMDAwMjBFNjkwMDAyMEVBMworOjQwMEYwNjAwNDIwMDAyMEQ0NTAwMDIwRTkwMDAwMjBGMTAwMDAyMEYxNDAwMDIwRDEyMDAwMjBGMUMwMDAyMEVCNzAwMDIwRjI0MDAwMjBGMzMwMDAyMEYyQzAwMDIwRjU4QzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwNTM5MUVGOTBBOQorOjQwMEY0NjAwN0ZBOTc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwNTM5MUVGOTA3RkE5NzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGRDZFMDU0RkJGMEUwNDRDMQorOjNEMEY4NjAwMDhGMDMwMUEwNEUwNDQwMkYwN0ZGNDdFMDExMjAwMDM5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjIyQworOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgorCitzdGF0aWMgY2hhciB0aGVGaXJtd2FyZURhdGU1M1tdID0KKwkiMDQvMjYvMjAwMiAgMDI6NDdwICAgICAgICAgICAgICAxMSw1NzAgVVNBNTMiOworCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTE4eC5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE4eC5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlmZjcwZQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTh4LkhFWApAQCAtMCwwICsxLDE0MSBAQAorOjAzMDAzMzAwMDIxMkY3QkYKKzoxMDAwMDMwMEU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwQkYKKzoxMDAwMTMwMDkwN0Y5NEYwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDkwMzEKKzowRjAwMjMwMDdGOTVGMDkwN0Y5RTc0MDdGMEU0OTA3Rjk4RjAyMjE1Cis6MTAwMDQ2MDAzMDA5MTgxMjEzMUJFRkMzOTUzQzQwMDMwMjAwRDg5MEU5Cis6MTAwMDU2MDA3RkJGNzQwMUYwQzIwOUMyMDA4MDc3MzAwMzNCOTA3RkY2Cis6MTAwMDY2MDBDNkUwMjBFMTZEMTIxMzFCRUZDMzk0NDA1MDY0OTA3RUVFCis6MTAwMDc2MDA0MEUwMTM5MjA5OTA3RkM3RTAxNEY1MTkyMDAwMTE2MDQzCis6MTAwMDg2MDAwRkY1MDg3RTdFN0Y0MTc1MEM3RTc1MEQ0MTEyMENCQTA4Cis6MTAwMDk2MDBDMjAzRTQ5MDdGQzdGMDgwMzk5MDdGQzhFMDIwRTEzMjQ4Cis6MTAwMEE2MDAxMjEzMUJFRkMzOTQ0MDUwMjk5MDdEQzBFMDEzOTIwOUIwCis6MTAwMEI2MDA5MDdGQzlFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3REM4Cis6MTAwMEM2MDA3RkMxNzUwQzdENzUwREMxMTIwQ0JBRDIwM0U0OTA3RjA5Cis6MTAwMEQ2MDBDOUYwOTA3RkI2RTAzMEUxMDMwMjAxNjAxMjExRDY4RkJECis6MTAwMEU2MDAxOTEyMTMyNzhGMzZFNTE5QzM5NTNBNTAwRjEyMTJFQkUyCis6MTAwMEY2MDBFRjMwRTAwOEU1MzYyMEU3MDMzMDBCNUVDMjBCRTUxOTZBCis6MEMwMDM2MDA5MDdGOTg3NDEwRjA5MEMwMDBFMEZGMjI1MgorOjAzMDA0MzAwMDIxMzAwQTUKKzowMzAwMDAwMDAyMEUwMEVECis6NDAwMTA2MDA2MDU4QjQ4MDAzNDMzNjAyRTUzNjMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RTdGODA3NTBDN0U3NTBEODBBRjM2MTIwRjRCRTUxOTI1RTA5MDdGQjdGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwOEQ0Cis6NDAwMTQ2MDA5MDdFODBFNTM2RjA3RTdFN0Y4MTc1MEM3RTc1MEQ4MTEyMENERkU1MTkwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDA1MDMwMjAzQzFDMjA1RTRGNTE4NzQ0MDI1MThGNTgyRTQzNDdDRjU4M0UwRkZFNTE4N0MwMDdCMDE3QUYxCis6NDAwMTg2MDA3RTc5MDAyNDAwRjlFQzM0N0VGQUVGMTIwRUQyMDUxOEU1MThCNDIwRDc5MDdFMDBFMDYwNjg5MDdFMDNFMDYwMjQ3RjAxRTRGRDEyMTFCMTdGMDM3RENEMTIxMUIxNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwRTQ5MEUwCis6NDAwMUM2MDA3RTEzRjA4MDMwOTA3RTAxRTBGRjEyMTAzNTkwN0UwMkUwRkYxMjEwNUI3RjAxOTA3RTExRTBGRDEyMTFCMTdGMDM3RDA3MTIxMUIxNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3Rjk4NzQxMkYwRTU0MDQ0MDY5MDNFCis6NDAwMjA2MDBDMDAwRjA5MDdFMDNFMDcwMDY5MDdFMTNFMDcwMDhFNDkwN0UxM0YwNzUyNUZGOTA3RTA1RTA2MDEyQTNFMDU0M0ZGNTQ0OTA3Rjk4NzQxM0YwOTBDMDAwRTU0NEYwOTA3RTA3RTA2MDJCQTNFMDYwMDU0MzQyODA4MDAzNTM0MkRBCis6NDAwMjQ2MDA3RjUzNDJGQzkwN0UwOUUwNjAxMTQzNDIwMkEzRTBGRjEyMTBBNzkwN0UwQkUwRkYxMjEwQ0RBRjQyMTIxMDgxOTA3RTAzRTA2MDA4NTM0MjdGQUY0MjEyMTA4MTkwN0UwQ0UwNjAxOEEzRTA2MDA1NDM0NjAyODAwMzUzNDZGREI0Cis6NDAwMjg2MDA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMEVFMDYwMThBM0UwNjAwNTQzNDYwMTgwMDM1MzQ2RkU5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTJFMEY1M0FBM0UwMTM5MjBEQTNFMEY1M0NBM0UwNjAwNTQzNDYxMDhCCis6NDAwMkM2MDA4MDAzNTM0NkVGOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTE2RTA2MDMyNTM0NEJGOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTFGMDEyMTJERkVGNTRGRTkwQzAwMEYwNTMzRUZERTRGRkFEM0UxMjBGCis6NDAwMzA2MDAxMUIxRTRGNTJBRjUyOUQyMDc5MDdFMTdFMDYwMEY0MzNFMDJFNEZGQUQzRTEyMTFCMTc1MjkwMUQyMDc5MDdFMThFMDYwMTA5MDdGOTg3NDEyRjBFNTQwNDQwNDkwQzAwMEYwRDIwMDkwN0UxOUUwNjAxMTQzNDQ0MDkwN0Y5OEYyCis6NDAwMzQ2MDA3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3RTFBRTA2MDBGNTMzRUZFRTRGRkFEM0UxMjExQjE3NTJCMDFEMjA3OTA3RTFCRTA2MDBGNDMzRTAxRTRGRkFEM0UxMjExQjFFNEY1MkJEMjA3OTA3RTFDRTA2MDBFOTA3Rjk4NzQxMjg0Cis6NDAwMzg2MDBGMEU1NDA0NDAyOTBDMDAwRjA5MDdFMURFMDYwMDJEMjBCOTA3RTFFRTA2MDA4NzUyQzAxRTRGNTM4RDIwNzkwN0UxRkUwNjAxMTkwN0ZENzc0MTFGMDc0MzFGMDc0MTVGMDc0MzVGMEQyMDNFNDkwN0ZDRkYwMzAxQTUyRTUzODkyCis6NDAwM0M2MDA2MDAyMTUzODIwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJEMjEzMTIxMkRGRUY1NDAxRjUxOTY1MkE2MDA1ODUxOTJBRDIwNzEyMTMzM0VGNTQ4MEY1MTk2NTI2NjAwNTg1MTkyNkQyMDczMDBEMTExMjdGCis6NDAwNDA2MDAxMzMzRUY1NDEwRjUxOTY1MjU2MDA1ODUxOTI1RDIwNzIwMUIwMzAyMDdFQzMwMEExODEyMTM2RkVGQzM5NTNENDAwMzAyMDRBRTkwN0ZDMTc0MDFGMEMyMEFDMjAwODA3NzMwMDQzQjkwN0ZDQUUwMjBFMTZEMTIxMzZGRUZDMzVBCis6NDAwNDQ2MDA5NDQwNTA2NDkwN0Q0MEUwMTM5MjBBOTA3RkNCRTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0Q3RjQxNzUwQzdENzUwRDQxMTIwRDA0QzIwNEU0OTA3RkNCRjA4MDM5OTA3RkNDRTAyMEUxMzIxMjEzNkZFRkMzOTQ0MDUwMjk5MEJDCis6NDAwNDg2MDA3Q0MwRTAxMzkyMEE5MDdGQ0RFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3QzdGQzE3NTBDN0M3NTBEQzExMjBEMDREMjA0RTQ5MDdGQ0RGMDkwN0ZCQUUwMzBFMTAzMDIwNTM2MTIxMjIwOEYxOTEyMTM3QjhGMzdFNTE5QzM5NTJCCis6NDAwNEM2MDAzQjUwMEYxMjEzNTdFRjMwRTAwOEU1MzcyMEU3MDMzMDBDNUVDMjBDRTUxOTYwNThCNDgwMDM0MzM3MDJFNTM3MzBFNzI2RTUxOUQzOTQyMDQwMDM3NTE5MjA4NTE5MDg3RTdEN0Y4MDc1MEM3RDc1MEQ4MEFGMzcxMjBGODRFNTAzCis6NDAwNTA2MDAxOTI1RTA5MDdGQkJGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwODkwN0Q4MEU1MzdGMDdFN0Q3RjgxNzUwQzdENzUwRDgxMTIwRDI5RTUxOTA0OTA3RkJCRjA5MDdGRDBFMDMwRTEwNjIwMDYwMzAyMDc5N0MyMDZFNEY4Cis6NDAwNTQ2MDBGNTE4NzRDMDI1MThGNTgyRTQzNDdCRjU4M0UwRkZFNTE4N0MwMDdCMDE3QTdFNzkyMDI0MjBGOUVDMzQ3RUZBRUYxMjBFRDIwNTE4RTUxOEI0MjBENzkwN0UyMEUwNjA2ODkwN0UyM0UwNjAyNDdGMDFFNEZEMTIxMUZCN0YwMzI5Cis6NDAwNTg2MDA3RENEMTIxMUZCNDM0NzgwOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwRTQ5MDdFMzNGMDgwMzA5MDdFMjFFMEZGMTIxMTE5OTA3RTIyRTBGRjEyMTEzRjdGMDE5MDdFMzFFMEZEMTIxMUZCN0YwMzdEMDcxMjExRkI0MzQ3ODA5MDQ4Cis6NDAwNUM2MDA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3Rjk4NzQwQUYwRTU0MTQ0MDY5MEMwMDBGMDkwN0UyM0UwNzAwNjkwN0UzM0UwNzAwOEU0OTA3RTMzRjA3NTJFRkY5MDdFMjVFMDYwMTJBM0UwNTQzRkY1NDU5MDdGOTg3NDBCRjA5MEVCCis6NDAwNjA2MDBDMDAwRTU0NUYwOTA3RTI3RTA2MDJCQTNFMDYwMDU0MzQzODA4MDAzNTM0MzdGNTM0M0ZDOTA3RTI5RTA2MDExNDM0MzAyQTNFMEZGMTIxMTY1OTA3RTJCRTBGRjEyMTE4QkFGNDMxMjEwRjM5MDdFMjNFMDYwMDg1MzQzN0ZBRkZFCis6NDAwNjQ2MDA0MzEyMTBGMzkwN0UyQ0UwNjAxOEEzRTA2MDA1NDM0NzAyODAwMzUzNDdGRDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UyRUUwNjAxOEEzRTA2MDA1NDM0NzAxODAwMzUzNDdGRTkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEQ0Cis6NDAwNjg2MDA5MDdFMzJFMEY1M0JBM0UwMTM5MjBFQTNFMEY1M0RBM0UwNjAwNTQzNDcxMDgwMDM1MzQ3RUY5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMzZFMDYwMzI1MzQ1QkY5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3Rjc5Cis6NDAwNkM2MDA5ODc0MDlGMDEyMTM0QkVGNTRGRTkwQzAwMEYwNTMzRkZERTRGRkFEM0YxMjExRkJFNEY1MzNGNTMyRDIwODkwN0UzN0UwNjAwRjQzM0YwMkU0RkZBRDNGMTIxMUZCNzUzMjAxRDIwODkwN0UzOEUwNjAxMDkwN0Y5ODc0MEFGMDQzCis6NDAwNzA2MDBFNTQxNDQwNDkwQzAwMEYwRDIwMDkwN0UzOUUwNjAxMTQzNDU0MDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdFM0FFMDYwMEY1MzNGRkVFNEZGQUQzRjEyMTFGQjc1MzQwMUQyMDg5MDdFM0JFMDYwMEY0MzNGMDFFNEU5Cis6NDAwNzQ2MDBGRkFEM0YxMjExRkJFNEY1MzREMjA4OTA3RTNDRTA2MDBFOTA3Rjk4NzQwQUYwRTU0MTQ0MDI5MEMwMDBGMDkwN0UzREUwNjAwMkQyMEM5MDdFM0VFMDYwMDg3NTM1MDFFNEY1MzlEMjA4OTA3RTNGRTA2MDExOTA3RkQ3NzQxMzg5Cis6NDAwNzg2MDBGMDc0MzNGMDc0MTZGMDc0MzZGMEQyMDRFNDkwN0ZEMUYwMzAxQTUyRTUzOTYwMDIxNTM5MzAxMzQ5RTUxM0QzOTQwMDQwMDQxNTEzODAzRTc1MTMwQTMwMUIwMkMyMTMxMjEzNEJFRjU0MDFGNTE5NjUzMzYwMDU4NTE5MzNEMjc5Cis6NDAwN0M2MDAwODEyMTM4N0VGNTQ4MEY1MTk2NTJGNjAwNTg1MTkyRkQyMDgzMDBFMTExMjEzODdFRjU0MTBGNTE5NjUyRTYwMDU4NTE5MkVEMjA4MzAxQTJBOTA3RkQyRTAyMEUxMjM5MDdCNDBFMDYwMDlFMEY1MTU5MDdCNDJFMEY1MTY5MDM1Cis6NDAwODA2MDA3QjQxRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwRTQ5MDdGRDNGMDkwN0ZDMkUwMzBFMTAzMDIwOTIwRTUwQTcwNDAzMDA3MzlFNTM4NzAzNUMyMDdGNTE4N0UwMDdCMDA3NDI0MjUxOEY5RUUzNDAwRkExMjBFOENGRjc0ODAyNUJECis6NDAwODQ2MDAxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzODEwRTRGNTJDNzUwQTAxMjJFNTBBNjQwMTcwNDAzMDA4MzlFNTM5NzAzNUMyMDhGNTE4N0UwMDdCMDA3NDJEMjUxOEY5RUUzNDAwRkExMjk3Cis6NDAwODg2MDAwRThDRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzOTEwRTRGNTM1NzUwQTAyMjJFNTBBNjQwMjcwMzYzMDE0MkZDMjE0RjUxODdFMDA3QjAwNzQwRTI1MThGOUVFMzQwMDgzCis6NDAwOEM2MDBGQTEyMEU4Q0ZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDVEQjkwN0ZDMzc0MDVGMDc1MEEwMzIyRTUxNTYwMzAxNTE1RTRGNTE4N0UwMDdCMDA3NDE0MjUxOEY5RUUzNDAwRkExMjBFOENGRjc0ODAyNUYyCis6NDAwOTA2MDAxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwRTRGNTBBMjI5MDdGRTlFMDEyMEVFNDBBMDgwMDBBN0MwMTBBRTgwMzA5NDQwNjA5RkIwODA5RjUwOTA5REQwQTA5RUMwQjAwMDAwQjM3OTA3RjNECis6NDAwOTQ2MDBFQkUwMjRGRTYwMTkxNDYwNjEyNDAyNjAwMzAyMDlEMzc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMEIzRTkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODI4Mjc1ODMxOUVGRjA3NTgyN0I3NTgzMTlGMDc1ODI3NDc1ODMxOUIyCis6NDAwOTg2MDBGMDc1ODI2Njc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA3NDE5OTA3RkQ0RjA3NDEyOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMEZGMTIwRjBBRUE0OTYwMERFQTkwN0ZENEYwRTk5MDdGRDVGMDg1Cis6NDAwOUM2MDAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RjAwRTUwOUYwOTA3RkI1NzQwMUYwMDIwQjNFOTA3RkVBRTBGNTA5MDIwQjNFMTIwQjQ2MDIwQjNFOTA3RjAwNzQwMUYwOTA3RkI1RjAwMjA1Cis6NDAwQTA2MDAwQjNFOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIxMEU0MzNGRjI1RTBGRkEyMTZFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRUU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQjNFOTA3RjA0Cis6NDAwQTQ2MDBFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGRThFMDI0RkU2MDFEMjQwMjBGCis6NDAwQTg2MDA2MDAzMDIwQjNFOTA3RkVBRTBCNDAxMDVDMjEwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkI2Cis6NDAwQUM2MDBFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIxMDgwM0Y5MDdGQjRFMDQ0MDFGMDQ5Cis6NDAwQjA2MDA4MDM2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkQ0Cis6NDAwQjQ2MDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMDkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MThGMEU0RjU4RTkwN0ZERjc0RkZGMDkwN0ZERUYwRTRGNTI0NzUxODAxN0IwMDc0MjQyNTE4RjlFNDM0MDBGQThCCis6NDAwQjg2MDBFNDEyMEVEMjA1MThFNTE4QjQwOUVBNzUzQTAxRTRGNTM4RjUxM0Y1MzZDMjA3QzIwQkMyMDVDMjAwQzIwOUMyMTM5MDdGOTg3NDEzRjA3NTQ0MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMTFCMTdGMTA4RjQyMTIxMDgxOTA3RjAyCis6NDAwQkM2MDA5ODc0MTJGMDdGMDE4RjQwRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDE0RjA3NTQ2ODA5MEMwMDA3NDgwRjAwRkU0RkQxMjExQjFFNEZGN0VBM0FEMDY4RDNFMTIxMUIxOTA3Rjk4NzQxMUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIxMThFCis6NDAwQzA2MDBCMTdGMDExMjEyNkE3RjAzN0QwNzEyMTFCMTIwMUIwMzAyMENCNzc1MkQwMTc1MTgwMTdCMDA3NDJEMjUxOEY5RTQzNDAwRkFFNDEyMEVEMjA1MThFNTE4QjQwOUVBNzUzQjAxRTRGNTM5RjUxM0Y1MzdDMjA4QzIwQ0MyMDZDMkNECis6NDAwQzQ2MDAwMEMyMEFDMjEzOTA3Rjk4NzQwQkYwNzU0NTAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExRkI3RjEwOEY0MzEyMTBGMzkwN0Y5ODc0MEFGMDdGMDE4RjQxRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDBDRjA3NTQ3ODA5MEMwMDA3NDRFCis6NDAwQzg2MDA4MEYwMEZFNEZEMTIxMUZCRTRGRjdFQTNBRDA2OEQzRjEyMTFGQjkwN0Y5ODc0MDlGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTFGQjdGMDExMjEyOEI3RjAzN0QwNzEyMTFGQkQyMTIyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkE1Cis6NDAwQ0M2MDBFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyOTA3RjIwCis6NDAwRDA2MDA5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTVDCis6NDAwRDQ2MDA4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRDIxOTkwN0Y5MkUwNDQwMkYwOTA3RkFFRTBGRkQzOTIxMEU0MzNGRUVGNEVGMDg5Cis6NDAwRDg2MDBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUZEMjFBMTIxMjQ1QzIxMUU0RjUwQkY1MTNDMjE3QzIxMkQ0Cis6NDAwREM2MDA5MDdGQTEwNEYwOTA3RkQ4RTA2NTE3NjAxMDMwMTIwNUQyMUExMjAwNDY5MDdGRDhFMEY1MTc4MDA4MzAxMjA1QzIxQTEyMDA0NjMwMTEwN0MyMTExMjA5MjE4MEQ2MzAxOEQzQzIxODEyMTM5MzgwQ0MyMjc4N0ZFNEY2RDhGREM3Cis6NDAwRTA2MDA3NTgxNDcwMjBFNDcwMjBENkZFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MEY1Cis6NDAwRTQ2MDA4MDkwMTJBQ0U0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQTFFCis6NDAwRTg2MDBERkU5REVFNzgwQkVCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNUI4Cis6NDAwRUM2MDA4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0MxCis6NDAwRjA2MDBBM0EzODBERjhGMThFNEY1MTk3NTFBRkY3NTFCMTk3NTFDODZBQjFBQUExQkE5MUM5MDAwMDExMjBFQTVCNDAzMURBRjE5MDUxOUVGQjUxODAxMjIxMjBFOEM3RTAwMjlGRkVFM0FBOTA3NzUxQUZGRjUxQjg5MUM4MEQ0N0IwMEE1Cis6NDAwRjQ2MDA3QTAwNzkwMDIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMDAzNjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwMEExMjEzMjc4RjFBRUY0MjM2ODBDQTIyOEYxQUZDCis6NDAwRjg2MDAwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjEzM0YwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxMzdCOEYxQUVGNDIzNzgwQ0EyMkMwRTBDMDgzQzA4MkMwODVDMDg4Cis6NDAwRkM2MDA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjExNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMEM2Cis6NDAxMDA2MDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxODUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMDhBCis6NDAxMDQ2MDBGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxMzQ5Cis6NDAxMDg2MDBGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTJGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NEQ5Cis6NDAxMEM2MDA1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTZGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBBRjA5MDJBCis6NDAxMTA2MDBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MDhGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEFGCis6NDAxMTQ2MDBDMDAwNzRCRkYwOTA3Rjk4NzQwOUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MENGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RkVDCis6NDAxMTg2MDA5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwRUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MDc1Cis6NDAxMUM2MDBDMDAwRUZGMDkwN0Y5ODc0MTVGMDkwQzAwMEVERjAyMjEyMTMwRjhGMUExMjEzMEY4RjFCRTUxQTY1MUI2MDEyMTIxMzBGOEYxQUU1MUE2NTFCNjAwNzEyMTMwRjhGMUI4MEU4QUYxQTIyOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MDk4Cis6NDAxMjA2MDBDMDAwRjA5MDdGOTg3NDBGRjA5MEMwMDBFRkYwOTA3Rjk4NzQwREYwOTBDMDAwRURGMDIyMTIxMzYzOEYxQTEyMTM2MzhGMUJFNTFBNjUxQjYwMTIxMjEzNjM4RjFBRTUxQTY1MUI2MDA3MTIxMzYzOEYxQjgwRThBRjFBMjI5MEM4Cis6NDAxMjQ2MDA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMUEwNEUwNDQwMkYwN0ZGNDdFMDExMjEyQzg5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjJBRTA3RTRGRkU1M0U1NDdGRkQxMjExQjE5MDdGOTg3NDExRjA5MEMwMDBFRUYwRTRFNTNFNDQ4MEU4Cis6NDAxMjg2MDBGRDEyMTFCMTIyQUUwN0U0RkZFNTNGNTQ3RkZEMTIxMUZCOTA3Rjk4NzQwOUYwOTBDMDAwRUVGMEU0RTUzRjQ0ODBGRDEyMTFGQjIyMDUwRTAyMDAwMDAwMDAwMzE0MDMwMDAwQzExMUMxMThDMTk1QzExMEMxMTYwMTBBMDBDMTlDCis6NDAxMkM2MDAxQjAwOEUxODhGMTlFNTE5MTUxOUFFMTg3MDAyMTUxODRFNjAwNTEyMEQ0RTgwRUUyMjkwN0Y5ODc0MTFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTJGMDkwQzAwMEUwRkYyMjUzRDhFRjMyMDAwMDAwMDAwMDAyMEZFNzAwMDIxMzBBCis6NDAxMzA2MDAwNDAwMDIwRkJEMDAwMjEwMEU5MDdGOTg3NDEzRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE0RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE1RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE2RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDA4RjA5MDUwCis6NDAxMzQ2MDBDMDAwRTBGRjIyOTA3Rjk4NzQwOUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQ0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwREYwOTBDMDAwRTBGRkM1Cis6NDAxMzg2MDAyMjkwN0Y5ODc0MEVGMDkwQzAwMEUwRkYyMjEyMDAwMzEyMEQ1RjEyMEI0NjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6NDAxM0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6NDAxNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6NDAxNDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6NDAxNDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6NDAxNEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6NDAxNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6NDAxNTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6NDAxNTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6NDAxNUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6NDAxNjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6NDAxNjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6NDAxNjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6NDAxNkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6NDAxNzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6NDAxNzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6NDAxNzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6NDAxN0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6NDAxODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6NDAxODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6NDAxODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6NDAxOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMEJGCis6NDAxOTA2MDAwMDQwQ0QwNjEyMDEwMDAwMDEwMjAwMDIwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDc0Cis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6MTQxQTA2MDA3MjAwMTAwMzMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDAwMDAwRjcKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMTkuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVkMTQ5NgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTkuSEVYCkBAIC0wLDAgKzEsMTAxIEBACis6MEEwMDI2MDAxMjBEQkYxMjBGNDcxMjBENkIyMkRFCis6MDMwMDMzMDAwMjAwMUFBRQorOjA0MDAxQTAwNTNEOEVGMzI5NgorOjEwMDAwMzAwOEUxMzhGMTRFNTE0MTUxNEFFMTM3MDAyMTUxMzRFNjA3RQorOjA3MDAxMzAwMDUxMjBGMzY4MEVFMjJGQQorOjAzMDAyMzAwMDIwMDQ2OTIKKzoxMDAwNDYwMEMwRTBDMDgzQzA4MkMwODY3NTg2MDBDMEQwNzVEMDA4NjcKKzoxMDAwNTYwMDMwOTkwRTMwMDgwN0EyMEI5MjlCODUzNTk5QzI5OUQyMkEKKzoxMDAwNjYwMDBGMjAwRjAzMDIwNDMxQzIwRjIwMDIwMzAyMDI1NjIwQTIKKzoxMDAwNzYwMDA4MDMwMjAxMjdFNTM3QzM5NTUwNTAzRTIwMDkzNjIwNzQKKzoxMDAwODYwMDA2MzM5MDdGOUJFMDMwRTMwMzIwMEUyOTMwMEQxMkFGM0MKKzoxMDAwOTYwMDM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyRkEKKzoxMDAwQTYwMDBCQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRDUKKzoxMDAwQjYwMEY1MzUwMjA0MkZDMjA4MDIwNDJGOTA3RkM3RTRGMEMyNzAKKzoxMDAwQzYwMDAyMzAwQTBDQzIwQTkwN0ZCQjA0RjBDMjA4MDIwNDJGNTkKKzoxMDAwRDYwMDkwN0ZDOEUwMzBFMTA1QzIwODAyMDQyRjkwN0ZDOUUwOTYKKzoxMDAwRTYwMEY1NTA5MDdEQzBFMDEzOTIwQTIwMDkyRDIwMDYyQTkwMzMKKzoxMDAwRjYwMDdGOUJFMDMwRTMwMzIwMEUyMDMwMEQxMTkwN0RDMUUwQTAKKzowMzAwNDMwMDAyMEYwMEE5Cis6MDMwMDAwMDAwMjBDNjE4RQorOjQwMDEwNjAwMTM5MjBCQTNFMEY1MzU3NTM3MDMwMjA0MkY3NTM3MDI5MDdEQzFFMEY1MzUwMjA0MkY3NTM3MDFDMjA4MDIwNDJGRTUzN0MzOTU1MDUwMDMwMjAxQ0Y5MDdGQzZFMDMwRTEwN0MyMTBDMjAzMDIwNDJGOTA3RkM3RTBGNTUwOTAwNAorOjQwMDE0NjAwN0U0MEUwMTM5MjBBMzAwOTAzMDIwMUM3MjAwNjcyMjAwMDZGOTA3RjlCRTAzMEUzMDMyMDBFNjUzMDBEMTA5MDdFNDFFMDEzOTI5QkEzRTBGNTk5NzUzNzAzODAwOTkwN0U0MUUwRjU5OTc1MzcwMkU1MzdDMzk1NTA0MDE3OTBCMQorOjQwMDE4NjAwN0ZDN0U0RjBDMjAyMjAwQTAzMDIwNDJGQzIwQTkwN0ZCQjA0RjAwMjA0MkYzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM1RDIwODAyMDQ1RAorOjQwMDFDNjAwMkY3NTM3MDFDMjEwMDIwNDJGMzAwOTAzMDIwMjUxMjAwNjc5OTA3RjlCRTAzMEUzMDMyMDBFNkYzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyOUJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTA0NgorOjQwMDIwNjAwRjU5OUU1MzdDMzk1NTA0MDE3OTA3RkM3RTRGMEMyMDIyMDBBMDMwMjA0MkZDMjBBOTA3RkJCMDRGMDAyMDQyRjMwMEQxMkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwQkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ4MworOjQwMDI0NjAwN0VGNTgzRTBGNTM1RDIwODAyMDQyRkMyMTAwMjA0MkYyMDA4MDMwMjAzMDhFNTM3QzM5NTUwNTAzRTIwMDkzNjIwMDYzMzkwN0Y5QkUwMzBFMzAzMjAwRTI5MzAwRDEyQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTNERQorOjQwMDI4NjAwOTIwQkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzUwMjA0MkZDMjA4MDIwNDJGOTA3RkM5RTRGMEQyMDIzMDBBMENDMjBBOTA3RkJCMDRGMEMyMDgwMjA0MkY5MDdGQzZFMDMwRTEwNUMyMDgwMjA0MkY5MDdGQzc2NQorOjQwMDJDNjAwRTBGNTUwOTA3RTQwRTAxMzkyMEEyMDA5MkQyMDA2MkE5MDdGOUJFMDMwRTMwMzIwMEUyMDMwMEQxMTkwN0U0MUUwMTM5MjBCQTNFMEY1MzU3NTM3MDMwMjA0MkY3NTM3MDI5MDdFNDFFMEY1MzUwMjA0MkY3NTM3MDFDMjA4MDJFRgorOjQwMDMwNjAwMDQyRkU1MzdDMzk1NTA1MDAzMDIwM0IwOTA3RkM4RTAzMEUxMDdDMjEwQzIwMzAyMDQyRjkwN0ZDOUUwRjU1MDkwN0RDMEUwMTM5MjBBMzAwOTAzMDIwM0E4MjAwNjcyMjAwMDZGOTA3RjlCRTAzMEUzMDMyMDBFNjUzMDBEMTAzNAorOjQwMDM0NjAwOTA3REMxRTAxMzkyOUJBM0UwRjU5OTc1MzcwMzgwMDk5MDdEQzFFMEY1OTk3NTM3MDJFNTM3QzM5NTUwNDAxNzkwN0ZDOUU0RjBEMjAyMjAwQTAzMDIwNDJGQzIwQTkwN0ZCQjA0RjAwMjA0MkYzMDBEMTJBRjM3MDUzNzc0QzBGNQorOjQwMDM4NjAwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNUQyMDgwMjA0MkY3NTM3MDFDMjEwMDIwNDJGMzAwOTAzMDIwNDJEMjAwNjc0OTA3RjlCRTAzMEUzMDMyMDBFNkEzMDBEMTI4RQorOjQwMDNDNjAwQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjlCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjU5OUU1MzdDMzk1NTA0MDEzOTA3RkM5RTRGMEQyMDIzMDBBMzVDMjBBOTA3RkJCMDRGMDgwMkMzMDBEMTJDQworOjQwMDQwNjAwQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNUQyMDg4MDAyQzIxMEQyMTIyMDk4MDMwMjA1NkRDMjk4MjAwMTAzMDIwNERBMjAxMTI3QUYzNjA1MzZGMworOjQwMDQ0NjAwNzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDBENERBRjM2MDUzNjc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkxMEU1MTBCNTQ0MDREMjA2ODAyRUU1MTBCNTQzMDRDMjA2ODAyNUFGMzYwNTM2NzQ4MDJGRjVBQgorOjQwMDQ4NjAwODJFNDM0N0VGNTgzRTUxMEYwMzAwRDExQUYzNjA1MzY3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEQyMENFNTM2QzM5NTQwNTAwMzAyMDU2QjkwN0ZCOEUwMzBFMTE2RTUzNkMzOTQ0MDUwMDMwMjA1NkIxNTM2MTUzNjA1MkJERAorOjQwMDRDNjAwNDMzMzAxMDIwNTZCOTA3RkI3RTUzNkYwNzUzNjAwQzIwMTAyMDU2QjIwMTEyN0FGMzYwNTM2NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDBENERBRjM2MDUzNjc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkzNworOjQwMDUwNjAwMTBFNTEwQjU0NDA0RDIwNjgwMkVFNTEwQjU0MzA0QzIwNjgwMjVBRjM2MDUzNjc0MDAyRkY1ODJFNDM0N0VGNTgzRTUxMEYwMzAwRDExQUYzNjA1MzY3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEQyMENFNTM2QzM5NTQwNDBDRQorOjQwMDU0NjAwMjQ5MDdGQjZFMDMwRTExMkU1MzZDMzk0NDA0MDE2MTUzNjE1MzYwNTJCNDMzMzAxODAwQjkwN0ZCOUU1MzZGMDc1MzYwMEQyMDFEMjEyMzAxMjA1QzIxMjAyMDA1NkQwRDBEMDg2RDA4MkQwODNEMEUwMzI5MDdGQ0FFMDMwRTFDQQorOjQwMDU4NjAwMDMwMjA2QUJFNEY1MTM3NDQwMjUxM0Y1ODJFNDM0N0RGNTgzRTBGRkU1MTM3QzAwN0IwMDI0MzhGOUVDMzQwMEZBRUYxMjBEMzMwNTEzRTUxM0I0MThEQkU1Mzg2MDBDNzVDOTIwNzVDODM0ODUzOUNBODUzQUNCRTUzQjEzOTJCRgorOjQwMDVDNjAwMEQ5MjlGRTUzQzEzOTIwRUU1M0QxMzkyMTFFNTNFNjAwOTkwN0Y5OEUwNTRGQkYwODAwNzkwN0Y5OEUwNDQwNEYwRTUzRjYwMDk5MDdGOThFMDU0N0ZGMDgwMDc5MDdGOThFMDQ0ODBGMEU1NDU2MDBCQzIwOUMyMDY5MDdGOTUwRQorOjQwMDYwNjAwRTA0NDAyRjBFNTQ2NjAwQ0QyMDY0MzMzMDE5MDdGOTVFMDQ0MDJGMEU1NDc2MDBEQzJBRkMyMDhEMjAwRTRGNTUwRjUzN0QyQUZFNTQ4NjAwNTMwMTEwMkQyMDZFNTQ5NjAxNTkwN0Y5NUUwNTRGREYwOTA3RjlFRTA0NDAyRjBBQQorOjQwMDY0NjAwOTA3Rjk4RTA1NEZERjBFNTRBNjAwQUQyOUNDMjk4NzUyQzAxNzUzMTFFRTU0QjYwMDdDMjlDRTRGNTM2RjUyQ0U1NEM2MDAzRTRGNTM2RTU0RDYwMDJEMjA0RTU0RTYwMEFFNTRBNzAwMkY1MzFFNTRFNDIzM0U1NEY2MDFGOTA2NAorOjQwMDY4NjAwN0ZENzc0MTFGMDc0MzFGMDc0MTJGMDc0MzJGMDc0MTNGMDc0MzNGMDc0MTRGMDc0MzRGMEQyMDJEMjAxRDIwNUU0OTA3RkNCRjBBMjA5RTQzM0ZGNjUyOTYwMDU4RjI5NDMzMzAxQTIwNkU0MzNGRjY1MkE2MDA1OEYyQTQzMzNCQQorOjQwMDZDNjAwMDE5MDdGOUJFMDU0MDhCNTI1MEFFMDU0MDg2NDA4RjUyNTQzMzMwMTkwN0Y5QkUwNTQxMEI1MjYwQUUwNTQxMDY0MTBGNTI2NDMzMzAxOTA3RjlCRTA1NDQwQjUyNzBBRTA1NDQwNjQ0MEY1Mjc0MzMzMDE5MDdGOUJFMDU0MjAyNgorOjQwMDcwNjAwQjUyODBBRTA1NDIwNjQyMEY1Mjg0MzMzMDEzMDA0MzVDMkFGMzAwMTE4OTA3RkI4RTAyMEUxMjdFNTM2NjAwOTkwN0ZCN0YwRTRGNTM2QzIwMUMyMDQ4MDE2OTA3RkI2RTAyMEUxMEZFNTM2NjAwOTkwN0ZCOUYwRTRGNTM2RDIzNAorOjQwMDc0NjAwMDFDMjA0RDJBRjIwMDMzNzMwMDIxQjkwN0ZDNkUwMjBFMTJEOTA3RTQwRTAxMzkyMEE3NTM3MDE5MDdGQzdFMEY1NTBEMjAzODAxOTkwN0ZDOEUwMjBFMTEyOTA3REMwRTAxMzkyMEE3NTM3MDE5MDdGQzlFMEY1NTBEMjAzMjBFOQorOjQwMDc4NjAwMTAzMzIwMDAwNkU1Mzc2NTUwNzAyQTMwMDMxQTMwMDIwOUU0OTA3RkM3RjBDMjAyODAwN0U0OTA3RkM5RjBEMjAyQzIwM0U0RjU1MEY1MzczMDBBMEFDMjBBQzIwMDkwN0ZCQjc0MDFGMDMwMTAwMzAyMDhDNTIwMDMwMzAyMDgwNQorOjQwMDdDNjAwQzUzMDBFMEE5MDdGOUJFMDMwRTMwMzAyMDhDNTMwMDYwMzAyMDhDNTMwMDkwMzAyMDhDNTMwMDI2MjMwMEQxMkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIxOUFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNDRgorOjQwMDgwNjAwRTBGNTE0RTUzN0MzOTU1MDUwMkEzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM1RDIwODgwNkJDMjA4RTQ5MDdGQzdGMEMyMDI4MDYwMzA4MQorOjQwMDg0NjAwMEQxMkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIxOUFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MTRFNTM3QzM5NTUwNTAyQTMwMEQxMkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTI5RgorOjQwMDg4NjAwMEJBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTM1RDIwODgwMDlDMjA4RTQ5MDdGQzlGMEQyMDIzMDBEMDRBMjE5OTI5QkQyMTBDMkFGODUxNDk5MjAwODBEMzAwQTBBQzIwQUMyMDA5MDdGQkI3NDAxRjBEMkFGOTA3MgorOjQwMDhDNjAwN0ZCQ0UwMjBFMTUxRTUzMzYwNERFNTMxNzA0OUU1MzMzMEUxMDhFNEY1MkY3NTMzMDE4MDBCQTIwNUU0MzNGNTJGQzIwNUU0RjUzM0U0RjUxMzdFMDA3QjAwNzQyNDI1MTNGOUVFMzQwMEZBMTIwQ0VERkY3NDAwMjUxM0Y1ODJEOAorOjQwMDkwNjAwRTQzNDdERjU4M0VGRjAwNTEzRTUxM0I0MENEQjkwN0ZCRDc0MENGMDc1MzExMDIyOTA3RkU5RTAxMjBENDUwQTAzMDAwQTc3MDEwQUUzMDMwOTQxMDYwOUY0MDgwOUU4MDkwOUQwMEEwOURGMEIwMDAwMEIzMjkwN0ZFQkUwMjRFQgorOjQwMDk0NjAwRkU2MDE2MTQ2MDU3MjQwMjcwNzY3NDBGOTA3RkQ0RjA3NDY0OTA3RkQ1RjAwMjBCMzk5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyQjU3NTgzMEZFRkYwNzU4MkFFNzU4MzBGRjA3NTgyQTc3NTgzMEZGMDc1ODJBMDc1ODNCQQorOjQwMDk4NjAwMEZGMDkwN0ZFQUUwMDQ3NTgyN0I3NTgzMEZGMDc0MEY5MDdGRDRGMDc0NzY5MDdGRDVGMDAyMEIzOTkwN0ZFQUUwRkYxMjBFNDhFQTQ5NjAwREVBOTA3RkQ0RjBFOTkwN0ZENUYwMDIwQjM5OTA3RkI0RTA0NDAxRjAwMjBCMzlENAorOjQwMDlDNjAwOTA3RkI0RTA0NDAxRjAwMjBCMzk5MDdGMDBFNTE5RjA5MDdGQjU3NDAxRjAwMjBCMzk5MDdGRUFFMEY1MTkwMjBCMzk5MDdGRUFFMEY1MTgxMjBENkIwMjBCMzk5MDdGMDBFNTE4RjA5MDdGQjU3NDAxRjAwMjBCMzk5MDdGRTgyMgorOjQwMEEwNjAwRTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIxM0U0MzNGRjI1RTBGRkEyMTdFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzOUU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQjM5OTA3RkVDRTBGNDU0ODBCNgorOjQwMEE0NjAwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjM5OTA3RkI0RTA0NDAxRjAwMjBCMzk5MDdGRThFMDI0RkU2MDFEMjQwMjYwMDMwMjBCMzkwNAorOjQwMEE4NjAwOTA3RkVBRTBCNDAxMDVDMjEzMDIwQjM5OTA3RkI0RTA0NDAxRjAwMjBCMzk5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkZDQworOjQwMEFDNjAwMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIxMzgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MDdGRUEzNgorOjQwMEIwNjAwRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMjIwMTUwMzAyMEIzRQorOjQwMEI0NjAwRDNFNTMxNjAwMjE1MzFFNTM2NjA0RjY1MzQ3MDQ1RTUzMkY0NjAwMjA1MzJFNTMyQzM5NTQxNDAzREMyQUYzMDAxMTg5MDdGQjhFMDIwRTEyNzkwN0ZCN0U1MzZGMEMyMDFFNEY1MzZGNTMyRjUzNDgwMTY5MDdGQjZFMDIwRTEzRAorOjQwMEI4NjAwMEY5MDdGQjlFNTM2RjBEMjAxRTRGNTM2RjUzMkY1MzREMkFGODAwNjg1MzYzNEU0RjUzMkU1MkM2MDJGMjAwQzA3OTA3RjlCRTAzMEUwMEZFNTJENjAwNkU0RjUyRDQzMzMwMUU0RjUzMDgwMTRFNTMwRDM5NTQyNTAwREU1MzBEQgorOjQwMEJDNjAwQjU0MjA2NzUyRDAxNDMzMzAxMDUzMEMyMEMyMjc1MTIwMUMyMTRDMjE4QzIxM0MyMTdDMjE1QzIxMkQyMTZFNEY1MTg5MDdGOTJFMDU0RkRGMDkwN0ZBRUUwRkZEMzkyMTNFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzREQgorOjQwMEMwNjAwMDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDJCQ0QyMTkxMjBFREFDMjE0MzAxNTAzMTIwNTgwOTA3RkQ4RTA2NTExNjAwOEUwRjVDQQorOjQwMEM0NjAwMTExMjBCNDE4MEVBMzAxNDA3QzIxNDEyMDkxRTgwRTAzMDE4RERDMjE4MTIwMDI2ODBENjIyNzg3RkU0RjZEOEZENzU4MTUwMDIwQ0E4MDIwQkQ0RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjgzQgorOjQwMEM4NjAwNTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBFMDRFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA4RQorOjQwMENDNjAwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjI0MgorOjQwMEQwNjAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDBFMQorOjQwMEQ0NjAwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREZFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwOTA3Rjk2NzQxMEYwOTA3Rjk0NzQwMUYwOTA3RjlEMDRFMgorOjQwMEQ4NjAwRjA5MDdGOTc3NDIwRjA5MDdGOTU3NDAzRjA5MDdGOUU3NDg0RjBFNDkwN0Y5OEYwOTA3RkM3RjA5MDdGQzlGMDkwN0ZDQkYwNzU5ODQwNDNBODEwOTA3RkRFNzQxRkYwOTA3RkRGNzQwRkYwRDIxNTIyRTQ5MDdGOTVGMDkwN0ZGNworOjQwMERDNjAwOTRGMDkwN0Y5M0YwOTA3RjlERTA0NDAyRjA5MDdGOTdFMDQ0MDJGMDkwN0Y5REUwNTRGREYwOTA3RjlDNzQyMEYwRTQ5MDdGOTZGMDkwN0Y5REUwNDRGREYwRTQ5MDdGOTdGMDkwN0Y5RTc0RkZGMEU0OTA3Rjk4RjAyMjBDMjREMAorOjQwMEUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzMDAwMDEzMzAxMDEzMjAwMDEzNzAwMDE1MDAwMDEzNjAwMDEzNDAwQzEwNUMxMENDMTAzQzEwRkMxMDRDMTBFQzExMUMxMEFDMTEwQzEwOEMxMDlDMTA2QzEwMEMxMERDMTgxQzEwOQorOjQwMEU0NjAwODIwMDhGMTNFNEY1MTQ3NTE1RkY3NTE2MEY3NTE3QjlBQjE1QUExNkE5MTc5MDAwMDExMjBEMDZCNDAzMURBRjE0MDUxNEVGQjUxMzAxMjIxMjBDRUQ3RTAwMjlGRkVFM0FBOTA3NzUxNUZGRjUxNjg5MTc4MEQ0N0IwMDdBMDA2RAorOjQwMEU4NjAwNzkwMDIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxNDUzOTFDNworOjQwMEVDNjAwRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDE5MDRFMDQ0MDJGMDdGRjQ3RTAxMTIwMDAzOTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyMDAwMjBFQjMwMDAyMEZDMAorOjQwMEYwNjAwMDQwMDAyMEU4OTAwMDIwRjBGQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxODUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjlCOQorOjQwMEY0NjAwMjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIwMTEwMDFGRjAwMDA0MENEMDYwNzAxMDEwMDAxMDIwMDAyMDkwMjQzMDAwMTAxMDA4MDMyMDkwNDAwMDAwN0ZGMDA4QQorOjQwMEY4NjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDQwMzA5MDQxMDAzNEIwMDY1MDA3OTAwNzMzMgorOjE3MEZDNjAwMDA3MDAwNjEwMDZFMDAwRTAzNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMDAwMDY0Cis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTE5cWkuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXFpLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTNiZmNmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXFpLkhFWApAQCAtMCwwICsxLDEwMSBAQAorOjAzMDAzMzAwMDIwMDFBQUUKKzowNDAwMUEwMDUzRDhFRjMyOTYKKzoxMDAwMDMwMDhFMTE4RjEyRTUxMjE1MTJBRTExNzAwMjE1MTE0RTYwOEEKKzowNzAwMTMwMDA1MTIwRjg0ODBFRTIyQUMKKzowMzAwMjMwMDAyMDA0NjkyCis6MTAwMDQ2MDBDMEUwQzA4M0MwODJDMDg2NzU4NjAwQzBEMDc1RDAwODY3Cis6MTAwMDU2MDAzMDk5MEUzMDBCMDdBMjBFOTI5Qjg1MzY5OUMyOTlEMjIzCis6MTAwMDY2MDAxMjIwMTIwMzAyMDQxRUMyMTIyMDAzMDMwMjAyNEUyMEIzCis6MTAwMDc2MDAwQjAzMDIwMTI2RTUzQUMzOTU1MzUwM0MyMDBDMzQyMDZECis6MTAwMDg2MDAwOTMxOTA3RjlCRTA1NTM4NzAyOTMwMTAxMkFGM0EwNTQwCis6MTAwMDk2MDAzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEVBRjc2Cis6MTAwMEE2MDAzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjUzNjVFCis6MTAwMEI2MDAwMjA0MUNDMjBCMDIwNDFDOTA3RkM3RTRGMEMyMDMzMDhBCis6MTAwMEM2MDAwRDBDQzIwRDkwN0ZCQjA0RjBDMjBCMDIwNDFDOTA3Rjg2Cis6MTAwMEQ2MDBDOEUwMzBFMTA1QzIwQjAyMDQxQzkwN0ZDOUUwRjU1MzZECis6MTAwMEU2MDA5MDdEQzBFMDEzOTIwRDc1MTZGRjIwMEMyQjIwMDkyODc5Cis6MTAwMEY2MDA5MDdGOUJFMDU1Mzg3MDIwMzAxMDExOTA3REMxRTAxMzQxCis6MDMwMDQzMDAwMjBFMDBBQQorOjAzMDAwMDAwMDIwMDI2RDUKKzowQzAwMjYwMDc4N0ZFNEY2RDhGRDc1ODE1NDAyMEIyOEE5Cis6NDAwMTA2MDA5MjBFQTNFMEY1MzY3NTNBMDMwMjA0MUM3NTNBMDI5MDdEQzFFMEY1MzYwMjA0MUM3NTNBMDFDMjBCMDIwNDFDRTUzQUMzOTU1MzUwMDMwMjAxQzk5MDdGQzZFMDMwRTEwN0MyMTRDMjA1MDIwNDFDOTA3RkM3RTBGNTUzOTA3RUNCCis6NDAwMTQ2MDA0MEUwMTM5MjBENzUxNkZGMjAwQzcwMjAwOTZEOTA3RjlCRTA1NTM4NzA2NTMwMTAxMDkwN0U0MUUwMTM5MjlCQTNFMEY1OTk3NTNBMDM4MDA5OTA3RTQxRTBGNTk5NzUzQTAyRTUzQUMzOTU1MzQwMTc5MDdGQzdFNEYwQzIwM0Y2Cis6NDAwMTg2MDAyMDBEMDMwMjA0MUNDMjBEOTA3RkJCMDRGMDAyMDQxQzMwMTAxMkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwRUFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1MzZEMjBCMDIwNDFDNzUzQTAxQzIxNEEzCis6NDAwMUM2MDAwMjA0MUMzMDBDMDMwMjAyNDkyMDA5Nzc5MDdGOUJFMDU1Mzg3MDZGMzAxMDEyQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjlCQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjU5OUU1M0FDMzk1NTM0MEFCCis6NDAwMjA2MDAxNzkwN0ZDN0U0RjBDMjAzMjAwRDAzMDIwNDFDQzIwRDkwN0ZCQjA0RjAwMjA0MUMzMDEwMTJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEVBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM2RDIwQjQ0Cis6NDAwMjQ2MDAwMjA0MUNDMjE0MDIwNDFDMjAwQjAzMDIwMkZGRTUzQUMzOTU1MzUwM0MyMDBDMzQyMDA5MzE5MDdGOUJFMDU1Mzg3MDI5MzAxMDEyQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBFQUYzQTA1M0E3NEMwMkZGNUY5Cis6NDAwMjg2MDA4MkU0MzQ3REY1ODNFMEY1MzYwMjA0MUNDMjBCMDIwNDFDOTA3RkM5RTRGMEQyMDMzMDBEMENDMjBEOTA3RkJCMDRGMEMyMEIwMjA0MUM5MDdGQzZFMDMwRTEwNUMyMEIwMjA0MUM5MDdGQzdFMEY1NTM5MDdFNDBFMDEzOTIwREFGCis6NDAwMkM2MDA3NTE2RkYyMDBDMkIyMDA5Mjg5MDdGOUJFMDU1Mzg3MDIwMzAxMDExOTA3RTQxRTAxMzkyMEVBM0UwRjUzNjc1M0EwMzAyMDQxQzc1M0EwMjkwN0U0MUUwRjUzNjAyMDQxQzc1M0EwMUMyMEIwMjA0MUNFNTNBQzM5NTUzNTAwMzgxCis6NDAwMzA2MDAwMjAzQTI5MDdGQzhFMDMwRTEwN0MyMTRDMjA1MDIwNDFDOTA3RkM5RTBGNTUzOTA3REMwRTAxMzkyMEQ3NTE2RkYyMDBDNzAyMDA5NkQ5MDdGOUJFMDU1Mzg3MDY1MzAxMDEwOTA3REMxRTAxMzkyOUJBM0UwRjU5OTc1M0EwMzdBCis6NDAwMzQ2MDA4MDA5OTA3REMxRTBGNTk5NzUzQTAyRTUzQUMzOTU1MzQwMTc5MDdGQzlFNEYwRDIwMzIwMEQwMzAyMDQxQ0MyMEQ5MDdGQkIwNEYwMDIwNDFDMzAxMDEyQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBFQUYzQTgxCis6NDAwMzg2MDAwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzZEMjBCMDIwNDFDNzUzQTAxQzIxNDAyMDQxQzIwMEM3NTIwMDk3MjkwN0Y5QkUwNTUzODcwNkEzMDEwMTJBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyOUJBRjAyCis6NDAwM0M2MDAzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjU5OUU1M0FDMzk1NTM0MDEzOTA3RkM5RTRGMEQyMDMzMDBEMzVDMjBEOTA3RkJCMDRGMDgwMkMzMDEwMTJBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMEVBRjNECis6NDAwNDA2MDAzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNkQyMEI4MDAyQzIxNEQyMDEyMDk4MDMwMjA1NUFDMjk4MjAwMjAzMDIwNEM3MjAxNjI3QUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMTA0REFGMzkwNUM4Cis6NDAwNDQ2MDAzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkxMEU1MTBCNTQ3MDREMjA5ODAyRUU1MTBCNTQ2MDRDMjA5ODAyNUFGMzkwNTM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTEwRjAzMDEwMTFBRjM5MDUzOTc0ODAyRjExCis6NDAwNDg2MDBGNTgyRTQzNDdFRjU4M0U1OThGMEQyMEZFNTM5QzM5NTQzNTAwMzAyMDU1ODkwN0ZCOEUwMzBFMTE2RTUzOUMzOTQ0MDUwMDMwMjA1NTgxNTM5MTUzOTA1MkI0MzM0MDEwMjA1NTg5MDdGQjdFNTM5RjA3NTM5MDBDMjAyMDIwNUQzCis6NDAwNEM2MDA1ODIwMTYyN0FGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDEwNERBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkxMEU1MTBCNTQ3MDREMjA5ODAyRUU1MTBCNTQ2MDRDMjA5ODAyNTczCis6NDAwNTA2MDBBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTUxMEYwMzAxMDExQUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEQyMEZFNTM5QzM5NTQzNDAyNDkwN0ZCNkUwMzBFMTEyRTUzOUMzOTQ0MDQwMTYxNTM5MTUzOTA5Cis6NDAwNTQ2MDAwNTJCNDMzNDAxODAwQjkwN0ZCOUU1MzlGMDc1MzkwMEQyMDJEMjAxMzAwMTA1QzIwMTAyMDA1NkQwRDBEMDg2RDA4MkQwODNEMEUwMzI5MDdGQkNFMDIwRTE1MUU1MzQ2MDRERTUzMTcwNDlFNTM0MzBFMTA4RTRGNTJGNzUzNEQ0Cis6NDAwNTg2MDAwMTgwMEJBMjA4RTQzM0Y1MkZDMjA4RTRGNTM0RTRGNTExN0UwMDdCMDA3NDI0MjUxMUY5RUUzNDAwRkExMjBEMDZGRjc0MDAyNTExRjU4MkU0MzQ3REY1ODNFRkYwMDUxMUU1MTFCNDBDREI5MDdGQkQ3NDBDRjA3NTMxMTA5MENECis6NDAwNUM2MDA3RkNBRTAzMEUxMDMwMjA2RjNFNEY1MTE3NDQwMjUxMUY1ODJFNDM0N0RGNTgzRTBGRkU1MTE3QzAwN0IwMDI0M0JGOUVDMzQwMEZBRUYxMjBEMUYwNTExRTUxMUI0MThEQkU1M0I2MDExNzVDOTIwNzVDODM2ODUzQ0NBODUzRDk4Cis6NDAwNjA2MDBDQkU0OTA3RjlGRjBFNTNFMTM5MjEwOTI5Rjg1M0YzOEU1NDAxMzkyMTZFNTQxNjAwOTkwN0Y5OEUwNTRGQkYwODAwNzkwN0Y5OEUwNDQwNEYwRTU0MjYwMDk5MDdGOThFMDU0N0ZGMDgwMDc5MDdGOThFMDQ0ODBGMEU1NDg2MEJFCis6NDAwNjQ2MDAwQkMyMENDMjA5OTA3Rjk1RTA0NDAyRjBFNTQ5NjAwQ0QyMDk0MzM0MDE5MDdGOTVFMDQ0MDJGMEU1NEE2MDBEQzJBRkMyMEJEMjAwRTRGNTUzRjUzQUQyQUZFNTRCNjAwNTMwMTYwMkQyMDlFNTRDNjAxNTkwN0Y5NUUwNTRGREI0Cis6NDAwNjg2MDBGMDkwN0Y5RUUwNDQwMkYwOTA3Rjk4RTA1NEZERjBFNTRENjAwQUQyOUNDMjk4NzUyQzAxNzUzMTFFRTU0RTYwMDdDMjlDRTRGNTM5RjUyQ0U1NEY2MDAzRTRGNTM5RTU1MDYwMDJEMjA3RTU1MTYwMEFFNTRENzAwMkY1MzFFNTVDCis6NDAwNkM2MDA1MTQyMzRFNTUyNjAxRjkwN0ZENzc0MTFGMDc0MzFGMDc0MTJGMDc0MzJGMDc0MTNGMDc0MzNGMDc0MTRGMDc0MzRGMEQyMDNEMjAyRDIwOEU0OTA3RkNCRjBBMjBDRTQzM0ZGNjUyOTYwMDU4RjI5NDMzNDAxQTIwOUU0MzNGRjg0Cis6NDAwNzA2MDA2NTJBNjAwNThGMkE0MzM0MDE5MDdGOUJFMEZGNTQwODY0MDhGRTY1MjU2MDA1OEUyNTQzMzQwMUVGNTQxMDY0MTBGRTY1MjY2MDA1OEUyNjQzMzQwMUVGNTQ0MDY0NDBGRTY1Mjc2MDA1OEUyNzQzMzQwMUVGNTQyMDY0MjBGRTFDCis6NDAwNzQ2MDA2NTI4NjAwNThFMjg0MzM0MDE5MDdGOUFFMDU0NDA2NDQwRkU2NTJFNjAwNThFMkU0MzM0MDEzMDA3MzVDMkFGMzAwMjE4OTA3RkI4RTAyMEUxMjdFNTM5NjAwOTkwN0ZCN0YwRTRGNTM5QzIwMkMyMDc4MDE2OTA3RkI2RTAyMDNCCis6NDAwNzg2MDBFMTBGRTUzOTYwMDk5MDdGQjlGMEU0RjUzOUQyMDJDMjA3RDJBRjIwMDUzRDMwMDMxRTkwN0ZDNkUwMjBFMTMzOTA3RTQwRTAxMzkyMEQ3NTNBMDE5MDdGQzdFMEY1NTNEMjA1NzUxNkZGODAxQzkwN0ZDOEUwMjBFMTE1OTA3REQzCis6NDAwN0M2MDBDMEUwMTM5MjBENzUzQTAxOTA3RkM5RTBGNTUzRDIwNTc1MTZGRjIwMTQzMzIwMDAwNkU1M0E2NTUzNzAyQTMwMDUxQTMwMDMwOUU0OTA3RkM3RjBDMjAzODAwN0U0OTA3RkM5RjBEMjAzQzIwNUU0RjU1M0Y1M0EzMDBEMEFDMjY1Cis6NDAwODA2MDAwREMyMDA5MDdGQkI3NDAxRjAzMDE0MDMwMjA5MTQyMDA1MDMwMjA5MTQzMDBDMDMwMjA5MTQzMDA5MDMwMjA5MTQ5MDdGOUJFMDU1Mzg2MDAzMDIwOTE0MzAwMzYxMzAxMDEyQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4MzNGCis6NDAwODQ2MDBFMDEzOTIxQkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEZFRTUzQUMzOTU1MzUwMkEzMDEwMTJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEVBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTQ2Cis6NDAwODg2MDAzNkQyMEI4MDZBQzIwQkU0OTA3RkM3RjBDMjAzODA1RjMwMTAxMkFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIxQkFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEZFRTUzQUMzOTU1MzUwMkEzMDEwMTJBRkU3Cis6NDAwOEM2MDAzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBFQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNkQyMEI4MDA5QzIwQkU0OTA3RkM5RjBEMjAzMzAxMDA0QTIxQjkyOUJEMjE0QzJBRjhFOTkyMDBCMEQzMDFECis6NDAwOTA2MDAwRDBBQzIwREMyMDA5MDdGQkI3NDAxRjBEMkFGMjI5MDdGRTlFMDEyMEQzMTBBMTEwMDBBN0UwMTBBREIwMzA5MzgwNjBBMDIwODA5RjYwOTA5REUwQTA5RUQwQjAwMDAwQjE5OTA3RkVCRTAyNEZFNjAxOTE0NjA1QTI0MDI2MDQxCis6NDAwOTQ2MDAwMzAyMEIxOTc0MEQ5MDdGRDRGMDc0ODc5MDdGRDVGMDAyMEIyMDkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODJEODc1ODMwREVGRjA3NTgyRDE3NTgzMERGMDc1ODJDQTc1ODMwREYwNzU4MkMzNzU4MzBERjA5MDdGRUFFMDc4Cis6NDAwOTg2MDAwNDc1ODI5RTc1ODMwREYwNzQwRDkwN0ZENEYwNzQ5OTkwN0ZENUYwMDIwQjIwOTA3RkVBRTA3MDBCNzUxMUZGNzUxMjBENzUxM0RDODAxQjkwN0ZFQUUwQjQwMTBCNzUxMUZGNzUxMjBENzUxM0UwODAwOTc1MTFGRjc1MTIwRDE5Cis6NDAwOUM2MDA3NTEzRjBBQTEyQTkxM0FFMDJFRTkwN0ZENEYwQUYwMUVGOTA3RkQ1RjAwMjBCMjA5MDdGMDBFNTE1RjA5MDdGQjU3NDAxRjAwMjBCMjA5MDdGRUFFMEY1MTUwMjBCMjAxMjBDQjE5MDdGRUFFMEY1MTQwMjBCMjA5MDdGMDBFNUJGCis6NDAwQTA2MDAxNEYwOTA3RkI1NzQwMUYwMDIwQjIwOTA3RkU4RTAyNDdGNjAyNzE0NjAzNDI0MDI2MDAzMDIwQjE5QTIxN0U0MzNGRjI1RTBGRkEyMTlFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIyMEU0OTA3RjAwRjBBM0I3Cis6NDAwQTQ2MDBGMDkwN0ZCNTc0MDJGMDAyMEIyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjIwOTA3RkU4RTAyNEZFNjAxNzI2Cis6NDAwQTg2MDAyNDAyNjAwMzAyMEIyMDkwN0ZFQUUwNjQwMTYwMDMwMjBCMTlDMjE3MDIwQjIwOTA3RkVBRTA3MDc2OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEQ2Cis6NDAwQUM2MDBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNDU5MDdGRThFMDI0RkU2MDEwMjQwMjcwMzk5MDdGRUFFMDY0MDE3MDJBRDIxNzgwMkQ5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU2Cis6NDAwQjA2MDA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkMyMTBFNEY1MTRGNTM0QzIwOUMyMENDMjBCQzIxNEMyMERDMjE2QzIxMUMyMDdDMjEyQzIwRkMyMDhGNTM4Cis6NDAwQjQ2MDAzNUY1MzlGNTUzRjUzQUY1MzNGNTMwRjUyRkY1MkVGNTJERjUyQ0Y1MkJGNTJBRjUyOUY1MjhGNTI3RjUyNkY1MjVGNTI0QzIwNUMyMThDMjFBQzIxN0MyMTlDMjE1QzIwNEQyMTNDMjA2QzIwMTkwN0Y5MkUwNTRGREYwRDJFODIwCis6NDAwQjg2MDA0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwRkYwOTA3RkFDNzQwRUYwRDJBRkQyQkNEMjFCMTIwRjVGQzIxODMwMDQwMzE2Cis6NDAwQkM2MDAxMjA1NkQzMDA0MkEzMDA2MjdDMjA2RTUxNjYwMTYxNTE2OTA3RkQ4RTAzMEU2MDQ3RjAwODAwMjdGMjA5MDdGOTZFRkYwODAwNjkwN0Y5Njc0MjBGMDEyMEMwQjgwQ0QzMDE4MDdDMjE4MTIwOTE1ODBDMzMwMUFDMEMyMUExMjhFCis6NDAwQzA2MDAwRkJCODBCOTIyRTUzMTYwMDIxNTMxRTUzOTYwNTU2NTM1NzA0QkU1MzNGNDYwMDIwNTMzRTUzM0MzOTU0NDQwNDNDMkFGMzAwMjFCOTA3RkI4RTAyMEUxMkQ5MDdGQjdFNTM5RjBDMjAyRTRGNTM5RjUzM0Y1MzU3NTE2RkY4MDJECis6NDAwQzQ2MDAxOTkwN0ZCNkUwMjBFMTEyOTA3RkI5RTUzOUYwRDIwMkU0RjUzOUY1MzNGNTM1NzUxNkZGRDJBRjgwMDY4NTM5MzVFNEY1MzNFNTJDNjAzMDIwMEYwNzkwN0Y5QkUwMzBFMDBGRTUyRDYwMDZFNEY1MkQ0MzM0MDFFNEY1MzA4MDAwCis6NDAwQzg2MDAxNEU1MzBEMzk1NDU1MDBERTUzMEI1NDUwNjc1MkQwMTQzMzQwMTA1MzBDMjBGMjI5MDdGRDlFMDMwRTIwNDdGMDA4MDAyN0YyMDkwN0Y5NkVGRjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjA5MDdGOTY3NDIwRjA5MDdGOTQ3NDhBCis6NDAwQ0M2MDAwMUYwOTA3RjlENzRCRkYwOTA3Rjk3NzQ4NkYwOTA3Rjk1NzQwM0YwOTA3RjlFNzQ4NEYwOTA3Rjk4RjBFNDkwN0ZDN0YwOTA3RkM5RjA5MDdGQ0JGMDc1OTg0MDQzQTgxMDkwN0ZERTc0MUZGMDkwN0ZERjc0MEZGMEQyMDQyMjFBCis6NDAwRDA2MDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0VCCis6NDAwRDQ2MDBGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyMDAwMDAwMDAwMDdCCis6NDAwRDg2MDAwMDEyMDExMDAxRkYwMDAwNDBDRDA2MEMwMTAxMDAwMTAyMDAwMjA5MDI0MzAwMDEwMTAwODAzMjA5MDQwMDAwMDdGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDU4MTAyNDAwMDEwCis6NDAwREM2MDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA0MDMwOTA0MTAwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAwRTAzNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMDAwMDAyMEVBMjAwMDIwRTQxCis6NDAwRTA2MDA3QjAwMDIwRDU3MDAwMjBFQzkwMDAyMEUxMDAwMDIwRTE0MDAwMjBFMTgwMDAyMEUxQzAwMDIwRUYwMDAwMjBFMjQwMDAyMEYxNTAwMDIwRTJDMDAwMjBGM0FFNDkwN0Y5NUYwOTA3Rjk0RjA5MDdGOTNGMDkwN0Y5REUwNDQwMjBBCis6NDAwRTQ2MDBGMDkwN0Y5N0UwNDQwMkYwOTA3RjlDNzQxMEYwRTQ5MDdGOTZGMDkwN0Y5RDc0RkVGMDMwMTcwNDdGODA4MDAyN0YwMDkwN0Y5N0VGRjBFNDkwN0Y5NUYwOTA3RjlFRjA5MDdGOThGMDIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDBFCis6NDAwRTg2MDA4Njc1ODYwMDUzOTFFRjkwN0ZBQjc0MDJGMEQyMDZEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTg1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0VCCis6NDAwRUM2MDBEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjFBNTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA1MzkxRUY5MDdGQTk3NEMyCis6NDAwRjA2MDAwMkYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA1MzkxRUY5MDdGQTk3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4NkQ3Cis6NDAwRjQ2MDA3NTg2MDA1MzkxRUY5MDdGQTk3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDFCMDRFMDQ0MDJGMDdGRjQ3RTAxMTIwMDAzOTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyNzQwMEI5Cis6NDAwRjg2MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMjkwN0ZENkUwNDQwMUYwN0YwRDdFMDAxMjAwMDM5MDdGRDZFMDU0RkVGMDIyMTIwRTMzMTIwRjk1OTA3RkQ2RTAzMEZBCis6MDkwRkM2MDBFNzAzMTIwRkE1MTIwQ0IxMjI4MQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2ExOXF3LkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTlxdy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE4OTEwMgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTlxdy5IRVgKQEAgLTAsMCArMSwxNDIgQEAKKzowMzAwMzMwMDAyMDAyRDlCCis6MDQwMDJEMDA1M0Q4RUYzMjgzCis6MTAwMDQ2MDAzMDEwMTkxMjBFMEZFRkMzOTUxNDQwMDMwMjAwREY5MDEzCis6MTAwMDU2MDA3RkJGNzQwMUYwQzIxMEMyMEIwMjAwREYzMDBEM0U5MDZDCis6MTAwMDY2MDA3RkM2RTAyMEUxNzMxMjBFMEZFRkMzOTQ0MDUwNkE5MEYyCis6MTAwMDc2MDA3RTQwRTAxMzkyMTA5MDdGQzdFMDE0RjUzNjIwMEIxMUY2Cis6MTAwMDg2MDA2MDBGRjUyNDdFN0U3RjQxNzUyOTdFNzUyQTQxMTIwOTBGCis6MTAwMDk2MDAxMEMyMERFNDkwN0ZDN0YwNzUyNkZGODAzQzkwN0ZDOEE0Cis6MTAwMEE2MDBFMDIwRTEzNTEyMEUwRkVGQzM5NDQwNTAyQzkwN0RDMDM2Cis6MTAwMEI2MDBFMDEzOTIxMDkwN0ZDOUUwMTRGNTM2MjAwQjExNjAwRjAzCis6MTAwMEM2MDBGNTI0N0U3RDdGQzE3NTI5N0Q3NTJBQzExMjA5MTBEMjVFCis6MTAwMEQ2MDAwREU0OTA3RkM5RjA3NTI2RkY5MDdGQjZFMDMwRTEwMzBFCis6MTAwMEU2MDAwMjAxNjgxMjBDRkY4RjM2MTIwRTFCOEYxMUU1MzZDMzA0Cis6MTAwMEY2MDA5NTEzNTAwRjEyMERERUVGMzBFMDA4RTUxMTIwRTcwM0VGCis6MEMwMDM2MDA5MDdGOTg3NDEwRjA5MEMwMDBFMEZGMjI1MgorOjAzMDA0MzAwMDIwRTAwQUEKKzoxMDAwMDMwMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwNkUKKzoxMDAwMTMwMDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwQUIKKzowQTAwMjMwMDg0RDA4NUQwODJEMDgzRDBFMDMyNzMKKzowMzAwMDAwMDAyMDlDNTJECis6NDAwMTA2MDAzMDEzNUZDMjEzRTUzNjYwNTlCNDgwMDM0MzExMDJFNTExMzBFNzI0RTUzNkQzOTQyMDQwMDM3NTM2MjA4NTM2MjQ3RTdFN0Y4MDc1Mjk3RTc1MkE4MDEyMEI5QUU1MzYyNUUwOTA3RkI3RjA4MDJBRTUzNkQzOTQzRjQwMDM3NTNCCis6NDAwMTQ2MDAzNjNGODUzNjI0OTA3RTgwRTUxMUYwN0U3RTdGODE3NTI5N0U3NTJBODExMjA5MzVFNTM2MDQ5MDdGQjdGMDc1MjZGRjkwN0ZDRUUwMzBFMTA2MjAwRTAzMDIwM0M0RTRGNTM1NzQ0MDI1MzVGNTgyRTQzNDdDRjU4M0UwRkZFNTg5Cis6NDAwMTg2MDAzNTdDMDA3QjAxN0E3RTc5MDAyNDAwRjlFQzM0N0VGQUVGMTIwQTk3MDUzNUU1MzVCNDIwRDc5MDdFMDBFMDYwNkU3RjAxOTA3RTExRTBGRDEyMENEQTkwN0UwMUUwRkYxMjBDMUM5MDdFMDJFMEZGMTIwQzQyRDIxMUQyMTI3NTYyCis6NDAwMUM2MDAzNjA0OTA3RTAzRTA2MDA1QzIxMjQzMzZDMDkwN0UwNEUwQjQwMTA3QzIxMjQzMzYwQjgwMTA5MDdFMDRFMDYwMDdDMjExNDMzNjA5ODAwMzQzMzYwMjdGMDNBRDM2MTIwQ0RBNDMxQTgwOTA3Rjk4NzQxNEYwOTBDMDAwRTUxQTcyCis6NDAwMjA2MDBGMDkwN0Y5ODc0MTJGMEU1MTc0NDA2OTBDMDAwRjA5MDdFMDVFMDYwMTJBM0UwNTQzRkY1MTk5MDdGOTg3NDEzRjA5MEMwMDBFNTE5RjA5MDdFMDdFMDYwNDI5MDdFMTNFMDYwMDU0MzE2MDQ4MDAzNTMxNkZCRTRGRkFEMTYxMjQ3Cis6NDAwMjQ2MDAwQ0RBOTA3RTA4RTA2MDA1NDMxODgwODAwMzUzMTg3RjUzMThGQzkwN0UwOUUwNjAxMTQzMTgwMkEzRTBGRjEyMEM4RTkwN0UwQkUwRkYxMjBDQjRBRjE4MTIwQzY4OTA3RTBFRTA2MDE4QTNFMDYwMDU0MzFBMDE4MDAzNTMxQUQ0Cis6NDAwMjg2MDBGRTkwN0Y5ODc0MTRGMDkwQzAwMEU1MUFGMDkwN0UwQ0UwNjAxOEEzRTA2MDA1NDMxQTAyODAwMzUzMUFGRDkwN0Y5ODc0MTRGMDkwQzAwMEU1MUFGMDkwN0UxMkUwRjUxM0EzRTAxMzkyMTRBM0UwRjUxNEEzRTA2MDA1NDMxQUMzCis6NDAwMkM2MDAxMDgwMDM1MzFBRUY5MDdGOTg3NDE0RjA5MEMwMDBFNTFBRjA5MDdFMTZFMDYwMzI1MzE5QkY5MDdGOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxMUYwMTIwREQyRUY1NEZFOTBDMDAwRjA1MzE2RkRFNEZGQUQxNjIxCis6NDAwMzA2MDAxMjBDREFFNEY1MEVGNTBERDIwRjkwN0UxN0UwNjAwRjQzMTYwMkU0RkZBRDE2MTIwQ0RBNzUwRDAxRDIwRjkwN0UxOEUwNjAxMDkwN0Y5ODc0MTJGMEU1MTc0NDA0OTBDMDAwRjBEMjBCOTA3RTE5RTA2MDExNDMxOTQwOTA3RjBECis6NDAwMzQ2MDA5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjA5MDdFMUFFMDYwMEY1MzE2RkVFNEZGQUQxNjEyMENEQTc1MEYwMUQyMEY5MDdFMUJFMDYwMEY0MzE2MDFFNEZGQUQxNjEyMENEQUU0RjUwRkQyMEY5MDdFMUNFMDYwMEU5MDdGOTg3NEE5Cis6NDAwMzg2MDAxMkYwRTUxNzQ0MDI5MEMwMDBGMDkwN0UxREUwNjAwMkQyMTM5MDdFMUVFMDYwMDg3NTEwMDFFNEY1MTJEMjBGOTA3RTFGRTA2MDExOTA3RkQ3NzQxMUYwNzQzMUYwNzQxNUYwNzQzNUYwRDIwREMyMEVFNDkwN0ZDRkYwMzAxNjc0Cis6NDAwM0M2MDA3MUU1MTI2MDAyMTUxMkU1MzBEMzk0MDA0MDA0MTUzMDgwNjA3NTMwMEExMjBERDJFRjU0MDFGNTM2NjUwRTYwMDc4NTM2MEVEMjBGODAxMTEyMEUyN0VGNTQxMEY1MzY2NTA5NjAwNTg1MzYwOUQyMEYxMjBFMjdFRjU0ODBGNUMxCis6NDAwNDA2MDAzNjY1MEE2MDA1ODUzNjBBRDIwRjEyMEUyN0VGNTQyMEY1MzY2NTBCNjAwODg1MzYwQjMwMTEwMkQyMEYxMjBFMjdFRjU0NDBGNTM2NjUwQzYwMDg4NTM2MEMzMDEyMDJEMjBGMzAxNjJBOTA3RkQyRTAyMEUxMjM5MDdCNDBFMDM1Cis6NDAwNDQ2MDA2MDA5RTBGNTMyOTA3QjQyRTBGNTMzOTA3QjQxRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwRTQ5MDdGRDNGMDkwN0ZDMkUwMzBFMTAzMDIwNTI5RTUyNzcwNDAzMDBGMzlFNTEyNzAzNUMyMEZGNTM1N0UwMDdCMDA3NDA4MjUzNURCCis6NDAwNDg2MDBGOUVFMzQwMEZBMTIwQTUxRkY3NDgwMjUzNUY1ODJFNDM0N0JGNTgzRUZGMDA1MzVFNTM1QjQwOURCOTA3RkMzNzQwOUYwNzUxMjEwRTRGNTEwNzUyNzAyMjJFNTI3NjQwMjcwMzYzMDA1MkZDMjA1RjUzNTdFMDA3QjAwNzQyQjk2Cis6NDAwNEM2MDAyNTM1RjlFRTM0MDBGQTEyMEE1MUZGNzQ4MDI1MzVGNTgyRTQzNDdCRjU4M0VGRjAwNTM1RTUzNUI0MDVEQjkwN0ZDMzc0MDVGMDc1MjcwMzIyRTUzMjYwMzM3NTMxMDMxNTMyRTRGNTM1N0UwMDdCMDA3NDMxMjUzNUY5RUUzNENECis6NDAwNTA2MDAwMEZBMTIwQTUxRkY3NDgwMjUzNUY1ODJFNDM0N0JGNTgzRUZGMDA1MzVFNTM1QjQwM0RCOTA3RkMzNzQwM0YwRTRGNTI3MjI5MDdGRTlFMDEyMEFBOTA2MDgwMDA2N0MwMTA2RTkwMzA1NEQwNjA1RjkwODA1RUQwOTA1RDUwQTAyCis6NDAwNTQ2MDAwNUU0MEIwMDAwMDczOTkwN0ZFQkUwMjRGRTYwMTYxNDYwNTAyNDAyNzA2Rjc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMDc0MDkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODI4Mjc1ODMxOUVGRjA3NTgyNzQ3NTgzMTlGMDZFCis6NDAwNTg2MDA3NTgyNTg3NTgzMTlGMDkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDc0MTk5MDdGRDRGMDc0MTI5MDdGRDVGMDAyMDc0MDkwN0ZFQUUwRkYxMjBCMUNFQTQ5NjAwREVBOTA3RkQ0RjBFOTkwN0ZENUYwMDIwNzQwOTA3RkI0RTA0NDlCCis6NDAwNUM2MDAwMUYwMDIwNzQwOTA3RkI0RTA0NDAxRjAwMjA3NDA5MDdGMDBFNTI1RjA5MDdGQjU3NDAxRjAwMjA3NDA5MDdGRUFFMEY1MjUwMjA3NDAxMjA3NDg5MDdGRUFFMEY1MjMwMjA3NDA5MDdGMDBFNTIzRjA5MDdGQjU3NDAxRjAwMjE2Cis6NDAwNjA2MDAwNzQwOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIwMUU0MzNGRjI1RTBGRkEyMDdFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDc0MEU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwNzQwOTA3RjJDCis6NDAwNjQ2MDBFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwNzQwOTA3RkI0RTA0NDAxRjAwMjA3NDA5MDdGRThFMDI0RkU2MDFFMjQwMjE2Cis6NDAwNjg2MDA2MDAzMDIwNzQwOTA3RkVBRTBCNDAxMDYxMjBERjkwMjA3NDA5MDdGQjRFMDQ0MDFGMDAyMDc0MDkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MEY4Cis6NDAwNkM2MDA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDYwOTA3RkI0RTA0NDAxRjA4MDU3OTA3RkU4RTAyNEZFNjAxOTI0MDI3MDRCOTA3RkVBRTBCNDAxMDUxMjBERjY4MDNGOTA3RkI0RTA0NDg3Cis6NDAwNzA2MDAwMUYwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkY5Cis6NDAwNzQ2MDBGMDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMDkwN0Y5Njc0MjBGMDkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MTBGMEU0RjU4RTkwN0ZERjc0RkZGMDkwN0ZERUYwRTRGNTA4N0YwMTdCMDA3NDA4MkZGOUU0MzQwMDIzCis6NDAwNzg2MDBGQUU0MTIwQTk3MEZCRjA5RUU3NTEzMDFFNEY1MTJGNTMwRjUxMUMyMEZDMjEzQzIwRUMyMEJDMjEwQzIwNDkwN0Y5ODc0MTNGMDc1MTkwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIwQ0RBN0YxMDhGMTgxMjBDNjg5MDdGOTg3NEMyCis6NDAwN0M2MDAxMkYwN0YwMThGMTdFRjQ0MDY5MEMwMDBGMDBGRTRGRDEyMENEQUU0RkY3RUEzQUQwNjhEMTYxMjBDREE5MDdGOTg3NDExRjA5MEMwMDBFNEYwN0YwNTdEN0YxMjBDREE3RjAxMTIwRDZBN0YwMzdEMDcxMjBDREFFNEZGRTUxNjdCCis6NDAwODA2MDA1NDdGRkQxMjBDREExMjBFMEY4RjE1RTRGRkU1MTY0NDgwRkQxMjBDREFFNTE1MzBFNzA0QzIwODgwMDJEMjA4OTA3Rjk4NzQxNEYwNzUxQTgwOTBDMDAwNzQ4MEYwRDIwMzIyRDIxNTkwN0Y5MkUwNDQwMkYwMTIwREY5RDJFODdDCis6NDAwODQ2MDA0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRTc0MERGMEQyQUZEMjE2MTIwRDI0QzIwMkU0RjUyOEY1MzBDMjA5RjUyM0MyMDM5MEY3Cis6NDAwODg2MDA3RkExMDRGMDkwN0ZEOEUwNjUzNDYwNDgzMDAzMDVEMjE2MTIwMDQ2RTUwRjYwMjJFNTI2NjAxNjE1MjY5MDdGRDhFMDMwRTYwNDdGMjA4MDAyN0YzMDkwN0Y5NkVGRjA4MDFBOTA3Rjk2NzQzMEYwODAxMjkwN0ZEOUUwMzBFMkY4Cis6NDAwOEM2MDAwNDdGMzA4MDAyN0YyMDkwN0Y5NkVGRjA5MDdGRDhFMEY1MzQ4MDIwMzAwMzA3QzIxNjEyMDA0NjgwMTZFNTBGNzAxMjkwN0ZEOUUwMzBFMjA0N0YzMDgwMDI3RjIwOTA3Rjk2RUZGMDMwMDIwN0MyMDIxMjA1MkE4MDg2MzAwQUU0Cis6NDAwOTA2MDA4M0MyMEExMjBCNUQwMjA4OEEyMjkwN0Y5ODc0MTBGMEFGMjRFNTJBRjU4MkU1MjlGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQxMEYwQUYyNEU1MkFGNTgyRTUyOUY1ODNDMkEzCis6NDAwOTQ2MDBBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyOTA3Rjk4NzQwOEYwQUYyNEU1MkFGNTgyRTUyOUY1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDA4RjBBRkNECis6NDAwOTg2MDAyNEU1MkFGNTgyRTUyOUY1ODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjI3ODRCCis6NDAwOUM2MDA3RkU0RjZEOEZENzU4MTM5MDIwQTBDMDIwODM4RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjExCis6NDAwQTA2MDAwNDA4MTAyMDQwODA5MDBEOEJFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkIwCis6NDAwQTQ2MDBDOENBQzU4M0NBREZFOURFRTc4MEJFQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNUJCCis6NDAwQTg2MDA4MkY4RTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjhGCis6NDAwQUM2MDA5MzY4NjBFRkEzQTNBMzgwREZFNDkwN0Y5M0YwOTA3RjlDNzQyMEYwMzAwMTAzRkY4MDAyN0YwMDkwN0Y5NkVGRjBFNDkwN0Y5NEYwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDMwMDgxMTkwN0Y5NUYwOTA3RjlFNzRGRkYwOTA3RjA1Cis6NDAwQjA2MDA5ODc0MjBGMDIyRTQ5MDdGOTVGMDkwN0Y5RTc0REZGMEU0OTA3Rjk4RjAyMjhGMzVFNEY1MzY3NTM3RkY3NTM4MTk3NTM5ODZBQjM3QUEzOEE5Mzk5MDAwMDExMjBBNkFCNDAzMURBRjM2MDUzNkVGQjUzNTAxMjIxMjBBNTE3RTVDCis6NDAwQjQ2MDAwMDI5RkZFRTNBQTkwNzc1MzdGRkY1Mzg4OTM5ODBENDdCMDA3QTAwNzkwMDIyOTA3RkQ4RTBGNTM1MTIwQUNGMjAwODA3OTA3RjkyRTA1NEZERjA5MDdGRDZFMDQ0ODBGMDEyMDlCNTkwN0ZENkUwMzBFNzBFMzAwMTA1MTIwRDlDCis6NDAwQjg2MDBCQzgwMDYxMjBENDlFRjYwRTE5MDdGOTJFMDQ0MDJGMDEyMDc0ODIyMDUyQUU1MkFBRTI5NzAwMjA1MjkxNEY1ODI4RTgzRTUxMUYwMTIwMDM2MDUyQUU1MkFBQzI5NzAwMjA1MjkxNEY1ODI4QzgzRUZGMDE1MjRFNTI0NjAwN0M3Cis6NDAwQkM2MDAxMjBFMUI4RjExODBDRDIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIwMjUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIwQTlGCis6NDAwQzA2MDA1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTBGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NEU4Cis6NDAwQzQ2MDAxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMUYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTJGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTdDCis6NDAwQzg2MDAxOTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTZGMEZFCis6NDAwQ0M2MDA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTdGMDkwQzAwMEVGRjA5MDdGOTg3NDE1RjA5MEMwMDBFREYwMjIxMjBERUE4RjM3MTIwRDkxCis6NDAwRDA2MDBFQThGMzhFNTM3NjUzODYwMTIxMjBERUE4RjM3RTUzNzY1Mzg2MDA3MTIwREVBOEYzODgwRThBRjM3MjI5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxNjA0RTA0NDAyRjA3RkY0N0UwMTEyMERBNTkwN0ZENkUwNTRGN0YwRTA0NDQ4Cis6NDAwRDQ2MDAwNEYwMjI5MDdGRDhFMEY1MzYxMjA3NDgxMjBFMjdFRjMwRTYwQjkwN0ZEOEUwNjUzNjYwRjE3RjAxMjIxMjBBQ0Y3RjAwMjJBRTA3RTRGRkU1MTY1NDdGRkQxMjBDREE5MDdGOTg3NDExRjA5MEMwMDBFRUYwRTRFNTE2NDQ4MDg0Cis6NDAwRDg2MDBGRDEyMENEQTIyMDUyQjAyMDAwMDAwMDAwMzMxMDMwMDAwQzE4NkMxMDJDMTBBQzEwMUMxMDcwMTI3MDAwMDhFMzY4RjM3RTUzNzE1MzdBRTM2NzAwMjE1MzY0RTYwMDUxMjA5QTQ4MEVFMjI5MDdGRDZFMDQ0MDFGMDdGMEQ3RThECis6NDAwREM2MDAwMDEyMERBNTkwN0ZENkUwNTRGRUYwMjI5MDdGOTg3NDExRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEyRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEzRjA5MEMwMDBFMEZGMjJEMjAxMjJDMjAxMjIwMDAwMDAwMDAyMEJDRTAwMDIwRUYxCis6NDAwRTA2MDAwNDAwMDIwMDAzMDAwMjBCRjU5MDdGOTg3NDE0RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE1RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE2RjA5MEMwMDBFMEZGMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6NDAwRTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6NDAwRTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCis6NDAwRUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6NDAwRjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6NDAwRjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZCCis6NDAwRjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6NDAwRkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6NDAxMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFBCis6NDAxMDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6NDAxMDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6NDAxMEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6NDAxMTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE5Cis6NDAxMTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY5Cis6NDAxMTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI5Cis6NDAxMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU5Cis6NDAxMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6NDAxMjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6NDAxMjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6NDAxMkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU4Cis6NDAxMzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE3Cis6NDAxMzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6NDAxMzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6NDAxM0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6NDAxNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6NDAxNDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6NDAxNDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6NDAxNEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6NDAxNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6NDAxNTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6NDAxNTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6NDAxNUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6NDAxNjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6NDAxNjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6NDAxNjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6NDAxNkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6NDAxNzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6NDAxNzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6NDAxNzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6NDAxN0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6NDAxODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6NDAxODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6NDAxODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6NDAxOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMEJGCis6NDAxOTA2MDAwMDQwQ0QwNjE5MDEwMDAwMDEwMjAwMDIwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDZECis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6MDQxQTA2MDA3MjAwMDAwMDZBCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTE5dy5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5dy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNiODQzMQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTl3LkhFWApAQCAtMCwwICsxLDE0MSBAQAorOjAzMDAzMzAwMDIwRDVDNUYKKzoxMDAwMDMwMEU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwQkYKKzoxMDAwMTMwMDkwN0Y5NEYwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDkwMzEKKzowRjAwMjMwMDdGOTVGMDkwN0Y5RTc0MTdGMEU0OTA3Rjk4RjAyMjA1Cis6MTAwMDQ2MDAzMDBGMTgxMjBEMzhFRkMzOTUxNDQwMDMwMjAwRDg5MEY0Cis6MTAwMDU2MDA3RkJGNzQwMUYwQzIwRkMyMEE4MDc3MzAwQzNCOTA3RkRECis6MTAwMDY2MDBDNkUwMjBFMTZEMTIwRDM4RUZDMzk0NDA1MDY0OTA3RUQ3Cis6MTAwMDc2MDA0MEUwMTM5MjBGOTA3RkM3RTAxNEY1MUMyMDBBMTE2MDMwCis6MTAwMDg2MDAwRkY1MjM3RTdFN0Y0MTc1Mjc3RTc1Mjg0MTEyMDgwMTc0Cis6MTAwMDk2MDBDMjBDRTQ5MDdGQzdGMDgwMzk5MDdGQzhFMDIwRTEzMjNGCis6MTAwMEE2MDAxMjBEMzhFRkMzOTQ0MDUwMjk5MDdEQzBFMDEzOTIwRjkzCis6MTAwMEI2MDA5MDdGQzlFMDE0RjUxQzIwMEExMTYwMEZGNTIzN0U3REEwCis6MTAwMEM2MDA3RkMxNzUyNzdENzUyOEMxMTIwODAxRDIwQ0U0OTA3Rjg3Cis6MTAwMEQ2MDBDOUYwOTA3RkI2RTAzMEUxMDMwMjAxNUUxMjBDNDE4RjU5Cis6MTAwMEU2MDAxQzEyMEQ0NDhGMTFFNTFDQzM5NTEzNTAwRjEyMEQyMEUxCis6MTAwMEY2MDBFRjMwRTAwOEU1MTEyMEU3MDMzMDEyNUNDMjEyRTUxQzgwCis6MEMwMDM2MDA5MDdGOTg3NDEwRjA5MEMwMDBFMEZGMjI1MgorOjAzMDA0MzAwMDIwRTAwQUEKKzowMzAwMDAwMDAyMDhCNjNECis6NDAwMTA2MDA2MDU2QjQ4MDAzNDMxMTAyRTUxMTMwRTcyNEU1MUNEMzk0MjA0MDAzNzUxQzIwODUxQzIzN0U3RTdGODA3NTI3N0U3NTI4ODAxMjBBODZFNTFDMjUxQzkwN0ZCN0YwODAyN0U1MUNEMzk0M0Y0MDAzNzUxQzNGODUxQzIzOTA3RTA2Cis6NDAwMTQ2MDA4MEU1MTFGMDdFN0U3RjgxNzUyNzdFNzUyODgxMTIwODI2RTUxQzA0OTA3RkI3RjA5MDdGQ0VFMDMwRTEwNjIwMEQwMzAyMDNCQUU0RjUxQjc0NDAyNTFCRjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxQjdDMDA3QjAxN0E3RTc5MDAyNDRBCis6NDAwMTg2MDAwMEY5RUMzNDdFRkFFRjEyMEEwRDA1MUJFNTFCQjQyMEQ3OTA3RTAwRTA2MDZFN0YwMTkwN0UxMUUwRkQxMjBDMUM5MDdFMDFFMEZGMTIwQjVFOTA3RTAyRTBGRjEyMEI4NEQyMTBEMjExNzUxQzA0OTA3RTAzRTA2MDA1QzIxMUQ3Cis6NDAwMUM2MDA0MzFDQzA5MDdFMDRFMEI0MDEwN0MyMTE0MzFDMEI4MDEwOTA3RTA0RTA2MDA3QzIxMDQzMUMwOTgwMDM0MzFDMDI3RjAzQUQxQzEyMEMxQzQzMTk4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1MTlGMDkwN0Y5ODc0MTJGMEU1MTY0NENFCis6NDAwMjA2MDAwNjkwQzAwMEYwOTA3RTA1RTA2MDEyQTNFMDU0M0ZGNTE4OTA3Rjk4NzQxM0YwOTBDMDAwRTUxOEYwOTA3RTA3RTA2MDQyOTA3RTEzRTA2MDA1NDMxNTA0ODAwMzUzMTVGQkU0RkZBRDE1MTIwQzFDOTA3RTA4RTA2MDA1NDMxN0JDCis6NDAwMjQ2MDA4MDgwMDM1MzE3N0Y1MzE3RkM5MDdFMDlFMDYwMTE0MzE3MDJBM0UwRkYxMjBCRDA5MDdFMEJFMEZGMTIwQkY2QUYxNzEyMEJBQTkwN0UwRUUwNjAxOEEzRTA2MDA1NDMxOTAxODAwMzUzMTlGRTkwN0Y5ODc0MTRGMDkwQzAwMDQ2Cis6NDAwMjg2MDBFNTE5RjA5MDdFMENFMDYwMThBM0UwNjAwNTQzMTkwMjgwMDM1MzE5RkQ5MDdGOTg3NDE0RjA5MEMwMDBFNTE5RjA5MDdFMTJFMEY1MTNBM0UwMTM5MjEzQTNFMEY1MTRBM0UwNjAwNTQzMTkxMDgwMDM1MzE5RUY5MDdGOTg3NDJECis6NDAwMkM2MDAxNEYwOTBDMDAwRTUxOUYwOTA3RTE2RTA2MDMyNTMxOEJGOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTFGMDEyMEQxNEVGNTRGRTkwQzAwMEYwNTMxNUZERTRGRkFEMTUxMjBDMUNFNEY1MEVGNTBERDIwRUVCCis6NDAwMzA2MDA5MDdFMTdFMDYwMEY0MzE1MDJFNEZGQUQxNTEyMEMxQzc1MEQwMUQyMEU5MDdFMThFMDYwMTA5MDdGOTg3NDEyRjBFNTE2NDQwNDkwQzAwMEYwRDIwQTkwN0UxOUUwNjAxMTQzMTg0MDkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDY0Cis6NDAwMzQ2MDAwMEYwOTA3RTFBRTA2MDBGNTMxNUZFRTRGRkFEMTUxMjBDMUM3NTBGMDFEMjBFOTA3RTFCRTA2MDBGNDMxNTAxRTRGRkFEMTUxMjBDMUNFNEY1MEZEMjBFOTA3RTFDRTA2MDBFOTA3Rjk4NzQxMkYwRTUxNjQ0MDI5MEMwMDBGMEQ4Cis6NDAwMzg2MDA5MDdFMURFMDYwMDJEMjEyOTA3RTFFRTA2MDA4NzUxMDAxRTRGNTEyRDIwRTkwN0UxRkUwNjAxMTkwN0ZENzc0MTFGMDc0MzFGMDc0MTVGMDc0MzVGMEQyMENDMjBERTQ5MDdGQ0ZGMDMwMTU3MUU1MTI2MDAyMTUxMkU1MkVEMzI2Cis6NDAwM0M2MDA5NDAwNDAwNDE1MkU4MDYwNzUyRTBBMTIwRDE0RUY1NDAxRjUxQzY1MEU2MDA3ODUxQzBFRDIwRTgwMTExMjBENTBFRjU0MTBGNTFDNjUwOTYwMDU4NTFDMDlEMjBFMTIwRDUwRUY1NDgwRjUxQzY1MEE2MDA1ODUxQzBBRDIwRUZCCis6NDAwNDA2MDAxMjBENTBFRjU0MjBGNTFDNjUwQjYwMDg4NTFDMEIzMDEwMDJEMjBFMTIwRDUwRUY1NDQwRjUxQzY1MEM2MDA4ODUxQzBDMzAxMTAyRDIwRTMwMTUyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTA2MDA5RTBGNTMwOTA3QjQyRTBGNTcyCis6NDAwNDQ2MDAzMTkwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDUxRkU1MjU3MDQwMzAwRTM5RTUxMjcwMzVDMjBFRjUxQjdFMDA3QjAwNzQwODI1MUJGOUVFMzQwMEZBMTIwOUM3RkY3NDQ3Cis6NDAwNDg2MDA4MDI1MUJGNTgyRTQzNDdCRjU4M0VGRjAwNTFCRTUxQkI0MDlEQjkwN0ZDMzc0MDlGMDc1MTIxMEU0RjUxMDc1MjUwMjIyRTUyNTY0MDI3MDM2MzAwNTJGQzIwNUY1MUI3RTAwN0IwMDc0MjkyNTFCRjlFRTM0MDBGQTEyMDlDN0MyCis6NDAwNEM2MDBGRjc0ODAyNTFCRjU4MkU0MzQ3QkY1ODNFRkYwMDUxQkU1MUJCNDA1REI5MDdGQzM3NDA1RjA3NTI1MDMyMkU1MzA2MDMzNzUyRjAzMTUzMEU0RjUxQjdFMDA3QjAwNzQyRjI1MUJGOUVFMzQwMEZBMTIwOUM3RkY3NDgwMjUxQjI2Cis6NDAwNTA2MDBGNTgyRTQzNDdCRjU4M0VGRjAwNTFCRTUxQkI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUyNTIyOTA3RkU5RTAxMjBBMUYwNUY2MDAwNjZBMDEwNkQ3MDMwNTQzMDYwNUU5MDgwNUUzMDkwNUNCMEEwNURBMEIwMDAwMDcyNzkwN0ZFQkM5Cis6NDAwNTQ2MDBFMDI0RkU2MDE2MTQ2MDUwMjQwMjcwNkY3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA3MkU5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4Mjc0NzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQTY1Cis6NDAwNTg2MDBFMDA0NzU4MjE3NzU4MzE5RjA3NDE5OTA3RkQ0RjA3NDEyOTA3RkQ1RjAwMjA3MkU5MDdGRUFFMEZGMTIwQTQ1RUE0OTYwMERFQTkwN0ZENEYwRTk5MDdGRDVGMDAyMDcyRTkwN0ZCNEUwNDQwMUYwMDIwNzJFOTA3RkI0RTA0NEQxCis6NDAwNUM2MDAwMUYwMDIwNzJFOTA3RjAwRTUyNEYwOTA3RkI1NzQwMUYwMDIwNzJFOTA3RkVBRTBGNTI0MDIwNzJFMTIwNzM2MDIwNzJFOTA3RjAwNzQwMUYwOTA3RkI1RjAwMjA3MkU5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjIxCis6NDAwNjA2MDAwMUU0MzNGRjI1RTBGRkEyMDdFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDcyRUU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwNzJFOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNENECis6NDAwNjQ2MDBGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwNzJFOTA3RkI0RTA0NDAxRjAwMjA3MkU5MDdGRThFMDI0RkU2MDFFMjQwMjYwMDMwMjA3MkU5MDdGRUFFMEI0MDEwNjEyMEQ2MzAyMDcyRTUzCis6NDAwNjg2MDA5MDdGQjRFMDQ0MDFGMDAyMDcyRTkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RjY5Cis6NDAwNkM2MDBEN0YwRTA0NDIwRjA4MDYwOTA3RkI0RTA0NDAxRjA4MDU3OTA3RkU4RTAyNEZFNjAxOTI0MDI3MDRCOTA3RkVBRTBCNDAxMDUxMjBENjA4MDNGOTA3RkI0RTA0NDAxRjA4MDM2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkFECis6NDAwNzA2MDBDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMDZCCis6NDAwNzQ2MDA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDE4RjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUwODdGMDE3QjAwNzQwODJGRjlFNDM0MDBGQUU0MTIwQTBEMEZCRjA5RUU3NTEzMDFFNEY1MTJGNTJFRjUxMUEyCis6NDAwNzg2MDBDMjBFQzIxMkMyMERDMjBBQzIwRkMyMDQ5MDdGOTg3NDEzRjA3NTE4MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMEMxQzdGMTA4RjE3MTIwQkFBOTA3Rjk4NzQxMkYwN0YwMThGMTZFRjQ0MDY5MEMwMDBGMDBGRTRGRDEyMEMxQzcxCis6NDAwN0M2MDBFNEZGN0VBM0FEMDY4RDE1MTIwQzFDOTA3Rjk4NzQxMUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIwQzFDN0YwMTEyMENBQzdGMDM3RDA3MTIwQzFDOTA3Rjk4NzQxNEYwNzUxOTgwOTBDMDAwNzQ4MEYwRDIwMzIyOTA3Rjk4NzQxMDU5Cis6NDAwODA2MDBGMEFGMjNFNTI4RjU4MkU1MjdGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQxMEYwQUYyM0U1MjhGNTgyRTUyN0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTg2REZGNzZGCis6NDAwODQ2MDAwNTg2RDJBRjIyOTA3Rjk4NzQwOEYwQUYyM0U1MjhGNTgyRTUyN0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDA4RjBBRjIzRTUyOEY1ODJFNTI3RjU4M0MyQUYwNTg2OTBDMDQ1Cis6NDAwODg2MDAwMEUwMDU4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjI3ODdGRTRGNkQ4RkQ3NTgxMzEwMjA4RkQwMjA5NDJFNDNCCis6NDAwOEM2MDA5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMENDREU0N0UwMTkzNjBCQzM2Cis6NDAwOTA2MDBBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVEMjE0OTA3RjgzCis6NDAwOTQ2MDA5MkUwNDQwMkYwMTIwRDYzRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFNzQwREYwRDJBRkQyMTUxMjBDNjZDMjAyRTRGNTU3Cis6NDAwOTg2MDAyNkY1MkVDMjA4QzIwMzkwN0ZBMTA0RjA5MDdGRDhFMDY1MUE2MDEwMzAwMzA1RDIxNTEyMDA0NjkwN0ZEOEUwRjUxQTgwMDgzMDAzMDVDMjE1MTIwMDQ2MzAwMjA3QzIwMjEyMDUyMDgwRDYzMDA5RDNDMjA5MTIwQUJBODBDQzQwCis6NDAwOUM2MDAyMkJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTFGCis6NDAwQTA2MDA4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREY4RjU4Cis6NDAwQTQ2MDAxQkU0RjUxQzc1MURGRjc1MUUxOTc1MUY4NkFCMURBQTFFQTkxRjkwMDAwMTEyMDlFMEI0MDMxREFGMUMwNTFDRUZCNTFCMDEyMjEyMDlDNzdFMDAyOUZGRUUzQUE5MDc3NTFERkZGNTFFODkxRjgwRDQ3QjAwN0EwMDc5MDAyMkYzCis6NDAwQTg2MDAwNTI4RTUyOEFFMjc3MDAyMDUyNzE0RjU4MjhFODNFNTExRjAxMjAwMzYwNTI4RTUyOEFDMjc3MDAyMDUyNzE0RjU4MjhDODNFRkYwMTUyM0U1MjM2MDA3MTIwRDQ0OEYxMTgwQ0QyMjkwN0ZEOEUwRjUxQjEyMDAwMzkwN0ZENkFCCis6NDAwQUM2MDBFMDQ0ODBGMDEyMDhBNjkwN0ZENkUwMzBFNzBFMzAwMTA1MTIwQ0ZFODAwNjEyMEM4QkVGNjBFMTEyMDczNjIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMERGCis6NDAwQjA2MDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMDI1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDI1Cis6NDAwQjQ2MDBEMjA5NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwMDBGMDIyOTA3RkRCCis6NDAwQjg2MDA5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTFGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEyRjA5MEMwMDBFRkYwOTA3Rjk4NzQxMzA3Cis6NDAwQkM2MDBGMEU1MTg1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTRGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NEYyCis6NDAwQzA2MDAxNkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIwRDJDOEYxRDQ0Cis6NDAwQzQ2MDAxMjBEMkM4RjFFRTUxRDY1MUU2MDEyMTIwRDJDOEYxREU1MUQ2NTFFNjAwNzEyMEQyQzhGMUU4MEU4QUYxRDIyOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMTUwNEUwNDQwMkYwN0ZGNDdFMDExMjBDRTc5MDdGRDZFMDU0RjdGMEQ4Cis6NDAwQzg2MDBFMDQ0MDRGMDIyOTA3RkQ4RTBGNTFDMTIwNzM2MTIwRDUwRUYzMEU2MEI5MDdGRDhFMDY1MUM2MEYxN0YwMTIyMTIwMDAzN0YwMDIyQUUwN0U0RkZFNTE1NTQ3RkZEMTIwQzFDOTA3Rjk4NzQxMUYwOTBDMDAwRUVGMEU0RTUxNTk5Cis6NDAwQ0M2MDA0NDgwRkQxMjBDMUMyMjA1MjkwMjAwMDAwMDAwMDMyRjAzMDAwMEMxODZDMTAyQzEwOUMxMDFDMTA3MDEyNTAwMDA4RTFDOEYxREU1MUQxNTFEQUUxQzcwMDIxNTFDNEU2MDA1MTIwODk1ODBFRTIyOTA3RkQ2RTA0NDAxRjA3Rjg2Cis6NDAwRDA2MDAwRDdFMDAxMjBDRTc5MDdGRDZFMDU0RkVGMDIyOTA3Rjk4NzQxMUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxMkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3RjJCCis6NDAwRDQ2MDA5ODc0MTVGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTZGMDkwQzAwMEUwRkYyMjUzRDhFRjMyRDIwMTIyQzIwMTIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6NDAwRDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6NDAwREM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMEIxMDAwMDIwRUMwCis6NDAwRTA2MDAwNDAwMDIwQUU2MDAwMjBCMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6NDAwRTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6NDAwRTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCis6NDAwRUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6NDAwRjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6NDAwRjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZCCis6NDAwRjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6NDAwRkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6NDAxMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFBCis6NDAxMDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6NDAxMDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6NDAxMEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6NDAxMTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE5Cis6NDAxMTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY5Cis6NDAxMTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI5Cis6NDAxMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU5Cis6NDAxMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6NDAxMjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6NDAxMjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6NDAxMkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU4Cis6NDAxMzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE3Cis6NDAxMzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6NDAxMzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6NDAxM0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6NDAxNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6NDAxNDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6NDAxNDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6NDAxNEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6NDAxNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6NDAxNTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6NDAxNTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6NDAxNUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6NDAxNjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6NDAxNjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6NDAxNjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6NDAxNkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6NDAxNzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6NDAxNzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6NDAxNzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6NDAxN0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6NDAxODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6NDAxODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6NDAxODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6NDAxOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMEJGCis6NDAxOTA2MDAwMDQwQ0QwNjA4MDEwMDAwMDEwMjAwMDIwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDdFCis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6MDQxQTA2MDA3MjAwMDAwMDZBCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTI4LkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjguSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwMGM5NzgKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4LkhFWApAQCAtMCwwICsxLDE0OCBAQAorOjBBMDAyNjAwMTIxN0RCMTIxOEI1MTIxNEMzMjJFMgorOjAzMDAzMzAwMDIwMDFEQUIKKzowNDAwMUQwMDUzRDhFRjMyOTMKKzoxMDAwMDYwMDhFMTI4RjEzRTUxMzE1MTNBRTEyNzAwMjE1MTI0RTYwODEKKzowNzAwMTYwMDA1MTIxOEE0ODBFRTIyODAKKzowMzAwMDMwMDAyMDA0NkIyCis6MTAwMDQ2MDBDMEUwQzA4M0MwODJDMDg2NzU4NjAwQzBEMDc1RDAwODY3Cis6MTAwMDU2MDAzMDk5MEUzMDExMDdBMjE3OTI5Qjg1NDY5OUMyOTlEMjA0Cis6MTAwMDY2MDAxRjMwQzEwRTMwMTIwN0EyMTg5MkMzODU0N0MxQzJDMTA0Cis6MTAwMDc2MDBEMjIwMjAxRjAzMDIwNDQyQzIxRjIwMDMwMzAyMDI2NzhDCis6MTAwMDg2MDAyMDExMDMwMjAxMzhFNTRBQzM5NTdDNTAzRTIwMTMzNjAxCis6MTAwMDk2MDAyMDBCMzM5MDdGOUJFMDIwRTMwMzIwMUMyOTMwMUIxMkFBCis6MTAwMEE2MDBBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTAxM0E5Cis6MTAwMEI2MDA5MjE3QUU0QTA1NEE3NDQwMkVGNTgyRTQzNDdFRjU4M0UzCis6MTAwMEM2MDBFMEY1NDYwMjA0NDBDMjExMDIwNDQwOTA3RkM3RTRGMDA2Cis6MTAwMEQ2MDBDMjAzMzAxNTBDQzIxNTkwN0ZCRjA0RjBDMjExMDIwNDkyCis6MTAwMEU2MDA0MDkwN0ZDOEUwMzBFMTA1QzIxMTAyMDQ0MDkwN0ZDOTBDCis6MTAwMEY2MDBFMEY1N0M5MDdEQzBFMDEzOTIxNTIwMTMyRDIwMEIyQThECis6MDMwMDQzMDAwMjFCMDA5RAorOjAzMDAyMzAwMDIwMDQ2OTIKKzowMzAwM0IwMDAyMDA0NjdBCis6MDMwMDAwMDAwMjE2M0RBOAorOjQwMDEwNjAwOTA3RjlCRTAyMEUzMDMyMDFDMjAzMDFCMTE5MDdEQzFFMDEzOTIxN0EzRTBGNTQ2NzU0QTAzMDIwNDQwNzU0QTAyOTA3REMxRTBGNTQ2MDIwNDQwNzU0QTAxQzIxMTAyMDQ0MEU1NEFDMzk1N0M1MDAzMDIwMUUwOTA3RkM2RTA4QQorOjQwMDE0NjAwMzBFMTA3QzIyMUMyMDUwMjA0NDA5MDdGQzdFMEY1N0M5MDdFNDBFMDEzOTIxNTMwMTMwMzAyMDFEODIwMEI3MjIwMDA2RjkwN0Y5QkUwMjBFMzAzMjAxQzY1MzAxQjEwOTA3RTQxRTAxMzkyOUJBM0UwRjU5OTc1NEEwMzgwMDlCRQorOjQwMDE4NjAwOTA3RTQxRTBGNTk5NzU0QTAyRTU0QUMzOTU3QzQwMTc5MDdGQzdFNEYwQzIwMzIwMTUwMzAyMDQ0MEMyMTU5MDdGQkYwNEYwMDIwNDQwMzAxQjEyQUU0QTA1NEE3NDQwMkVGNTgyRTQzNDdFRjU4M0UwMTM5MjE3QUU0QTA1NEFBNworOjQwMDFDNjAwNzQ0MDJFRjU4MkU0MzQ3RUY1ODNFMEY1NDZEMjExMDIwNDQwNzU0QTAxQzIyMTAyMDQ0MDMwMTMwMzAyMDI2MjIwMEI3OTkwN0Y5QkUwMjBFMzAzMjAxQzZGMzAxQjEyQUU0QTA1NEE3NDQwMkVGNTgyRTQzNDdFRjU4M0UwMTNEQworOjQwMDIwNjAwOTI5QkFFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUY1ODNFMEY1OTlFNTRBQzM5NTdDNDAxNzkwN0ZDN0U0RjBDMjAzMjAxNTAzMDIwNDQwQzIxNTkwN0ZCRjA0RjAwMjA0NDAzMDFCMTJBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VCNgorOjQwMDI0NjAwRjU4M0UwMTM5MjE3QUU0QTA1NEE3NDQwMkVGNTgyRTQzNDdFRjU4M0UwRjU0NkQyMTEwMjA0NDBDMjIxMDIwNDQwMjAxMTAzMDIwMzE5RTU0QUMzOTU3QzUwM0UyMDEzMzYyMDBCMzM5MDdGOUJFMDIwRTMwMzIwMUMyOTMwMUI1RgorOjQwMDI4NjAwMTJBRTRBMDU0QTc0QzAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyMTdBRTRBMDU0QTc0QzAyRUY1ODJFNDM0N0RGNTgzRTBGNTQ2MDIwNDQwQzIxMTAyMDQ0MDkwN0ZDOUU0RjBEMjAzMzAxNTBDQzIxNTkwN0ZCRjA0RjBDMjExMDI3NgorOjQwMDJDNjAwMDQ0MDkwN0ZDNkUwMzBFMTA1QzIxMTAyMDQ0MDkwN0ZDN0UwRjU3QzkwN0U0MEUwMTM5MjE1MjAxMzJEMjAwQjJBOTA3RjlCRTAyMEUzMDMyMDFDMjAzMDFCMTE5MDdFNDFFMDEzOTIxN0EzRTBGNTQ2NzU0QTAzMDIwNDQwNzU5RQorOjQwMDMwNjAwNEEwMjkwN0U0MUUwRjU0NjAyMDQ0MDc1NEEwMUMyMTEwMjA0NDBFNTRBQzM5NTdDNTAwMzAyMDNDMTkwN0ZDOEUwMzBFMTA3QzIyMUMyMDUwMjA0NDA5MDdGQzlFMEY1N0M5MDdEQzBFMDEzOTIxNTMwMTMwMzAyMDNCOTIwMEI0OAorOjQwMDM0NjAwNzIyMDAwNkY5MDdGOUJFMDIwRTMwMzIwMUM2NTMwMUIxMDkwN0RDMUUwMTM5MjlCQTNFMEY1OTk3NTRBMDM4MDA5OTA3REMxRTBGNTk5NzU0QTAyRTU0QUMzOTU3QzQwMTc5MDdGQzlFNEYwRDIwMzIwMTUwMzAyMDQ0MEMyMTU3MworOjQwMDM4NjAwOTA3RkJGMDRGMDAyMDQ0MDMwMUIxMkFFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMDEzOTIxN0FFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMEY1NDZEMjExMDIwNDQwNzU0QTAxQzIyMTAyMDQ0MDMwMTMwMzAyMDQ2MworOjQwMDNDNjAwM0UyMDBCNzQ5MDdGOUJFMDIwRTMwMzIwMUM2QTMwMUIxMkFFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMDEzOTI5QkFFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMEY1OTlFNTRBQzM5NTdDNDAxMzkwN0ZDOUU0RjA5RAorOjQwMDQwNjAwRDIwMzMwMTUzNUMyMTU5MDdGQkYwNEYwODAyQzMwMUIxMkFFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMDEzOTIxN0FFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMEY1NDZEMjExODAwMkMyMjFEMjI1MjAyMDAzMDIzMAorOjQwMDQ0NjAwMDgwQ0MyMjAyMDA0MDMwMjA2MzEyMDEyMDMwMjA1MDJFNTRCQzM5NTdENTAzRTIwMTQzNjIwMEQzMzkwN0Y5QUUwMjBFNTAzMjAxRTI5MzAxRDEyQUU0QjA1NEI3NDQwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjE4QUU0QjA1NEI5OQorOjQwMDQ4NjAwNzQ0MDJFRjU4MkU0MzQ3REY1ODNFMEY1NDcwMjA4MEFDMjEyMDIwODBBOTA3RkNCRTRGMEMyMDQzMDE2MENDMjE2OTA3RkMxMDRGMEMyMTIwMjA4MEE5MDdGQ0NFMDMwRTEwNUMyMTIwMjA4MEE5MDdGQ0RFMEY1N0Q5MDdDQzBCQgorOjQwMDRDNjAwRTAxMzkyMTYyMDE0MkQyMDBEMkE5MDdGOUFFMDIwRTUwMzIwMUUyMDMwMUQxMTkwN0NDMUUwMTM5MjE4QTNFMEY1NDc3NTRCMDMwMjA4MEE3NTRCMDI5MDdDQzFFMEY1NDcwMjA4MEE3NTRCMDFDMjEyMDIwODBBRTU0QkMzOTU2NgorOjQwMDUwNjAwN0Q1MDAzMDIwNUFBOTA3RkNBRTAzMEUxMDdDMjIyQzIwNjAyMDgwQTkwN0ZDQkUwRjU3RDkwN0Q0MEUwMTM5MjE2MzAxNDAzMDIwNUEyMjAwRDcyMjAwMDZGOTA3RjlBRTAyMEU1MDMyMDFFNjUzMDFEMTA5MDdENDFFMDEzOTIwRAorOjQwMDU0NjAwQzNBM0UwRjVDMTc1NEIwMzgwMDk5MDdENDFFMEY1QzE3NTRCMDJFNTRCQzM5NTdENDAxNzkwN0ZDQkU0RjBDMjA0MjAxNjAzMDIwODBBQzIxNjkwN0ZDMTA0RjAwMjA4MEEzMDFEMTJBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0QyNAorOjQwMDU4NjAwRjU4M0UwMTM5MjE4QUU0QjA1NEI3NDQwMkVGNTgyRTQzNDdERjU4M0UwRjU0N0QyMTIwMjA4MEE3NTRCMDFDMjIyMDIwODBBMzAxNDAzMDIwNjJDMjAwRDc5OTA3RjlBRTAyMEU1MDMyMDFFNkYzMDFEMTJBRTRCMDU0Qjc0NDBFOQorOjQwMDVDNjAwMkVGNTgyRTQzNDdERjU4M0UwMTM5MkMzQUU0QjA1NEI3NDQwMkVGNTgyRTQzNDdERjU4M0UwRjVDMUU1NEJDMzk1N0Q0MDE3OTA3RkNCRTRGMEMyMDQyMDE2MDMwMjA4MEFDMjE2OTA3RkMxMDRGMDAyMDgwQTMwMUQxMkFFNEI5MQorOjQwMDYwNjAwMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyMThBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTBGNTQ3RDIxMjAyMDgwQUMyMjIwMjA4MEEyMDEyMDMwMjA2RTNFNTRCQzM5NTdENTAzRTIwMTQzNjIwMEQzMzkwN0YxQQorOjQwMDY0NjAwOUFFMDIwRTUwMzIwMUUyOTMwMUQxMkFFNEIwNTRCNzRDMDJFRjU4MkU0MzQ3Q0Y1ODNFMDEzOTIxOEFFNEIwNTRCNzRDMDJFRjU4MkU0MzQ3Q0Y1ODNFMEY1NDcwMjA4MEFDMjEyMDIwODBBOTA3RkNERTRGMEQyMDQzMDE2MEM0MworOjQwMDY4NjAwQzIxNjkwN0ZDMTA0RjBDMjEyMDIwODBBOTA3RkNBRTAzMEUxMDVDMjEyMDIwODBBOTA3RkNCRTBGNTdEOTA3RDQwRTAxMzkyMTYyMDE0MkQyMDBEMkE5MDdGOUFFMDIwRTUwMzIwMUUyMDMwMUQxMTkwN0Q0MUUwMTM5MjE4QTM1MgorOjQwMDZDNjAwRTBGNTQ3NzU0QjAzMDIwODBBNzU0QjAyOTA3RDQxRTBGNTQ3MDIwODBBNzU0QjAxQzIxMjAyMDgwQUU1NEJDMzk1N0Q1MDAzMDIwNzhCOTA3RkNDRTAzMEUxMDdDMjIyQzIwNjAyMDgwQTkwN0ZDREUwRjU3RDkwN0NDMEUwMTNBQworOjQwMDcwNjAwOTIxNjMwMTQwMzAyMDc4MzIwMEQ3MjIwMDA2RjkwN0Y5QUUwMjBFNTAzMjAxRTY1MzAxRDEwOTA3Q0MxRTAxMzkyQzNBM0UwRjVDMTc1NEIwMzgwMDk5MDdDQzFFMEY1QzE3NTRCMDJFNTRCQzM5NTdENDAxNzkwN0ZDREU0RjBBRQorOjQwMDc0NjAwRDIwNDIwMTYwMzAyMDgwQUMyMTY5MDdGQzEwNEYwMDIwODBBMzAxRDEyQUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwMTM5MjE4QUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwRjU0N0QyMTIwMjA4MEE3NTRCMDE3MworOjQwMDc4NjAwQzIyMjAyMDgwQTMwMTQwMzAyMDgwODIwMEQ3NDkwN0Y5QUUwMjBFNTAzMjAxRTZBMzAxRDEyQUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwMTM5MkMzQUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwRjVDMUU1NEIzRgorOjQwMDdDNjAwQzM5NTdENDAxMzkwN0ZDREU0RjBEMjA0MzAxNjM1QzIxNjkwN0ZDMTA0RjA4MDJDMzAxRDEyQUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwMTM5MjE4QUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwRjU0N0QyMTIyQQorOjQwMDgwNjAwODAwMkMyMjJEMjI1MjA5ODAzMDIwOTNFQzI5ODIwMDEwMzAyMDhCMDIwMjMyN0FFNDgwNTQ4NzQ4MDJFRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDFCNDlBRTQ4MDU0ODc0ODAyRUY1ODJFNDM0N0VGNTgzRTU5OEYwODAzNkFGOTk2RQorOjQwMDg0NjAwRUZCNTU4MDREMjBCODAyQ0VGQjU1NzA0QzIwQjgwMjRBRTQ4MDU0ODc0ODAyRUY1ODJFNDM0N0VGNTgzRUZGMDMwMUIxMUFFNDgwNTQ4NzQ4MDJFRjU4MkU0MzQ3RUY1ODNFNTk4RjBEMjE5RTU0OEMzOTU1NDUwMDMwMjA5M0M5RgorOjQwMDg4NjAwOTA3RkI4RTAzMEUxMTVFNTQ4QzM5NDQwNTAwMzAyMDkzQzE1NDgxNTQ4MDUyREQyMEMwMjA5M0M5MDdGQjdFNTQ4RjA3NTQ4MDBDMjAxMDIwOTNDMjAyMzI3QUU0ODA1NDg3NDAwMkVGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMUJCRgorOjQwMDhDNjAwNDlBRTQ4MDU0ODc0MDAyRUY1ODJFNDM0N0VGNTgzRTU5OEYwODAzNkFGOTlFRkI1NTgwNEQyMEI4MDJDRUZCNTU3MDRDMjBCODAyNEFFNDgwNTQ4NzQwMDJFRjU4MkU0MzQ3RUY1ODNFRkYwMzAxQjExQUU0ODA1NDg3NDAwMkU1MQorOjQwMDkwNjAwRjU4MkU0MzQ3RUY1ODNFNTk4RjBEMjE5RTU0OEMzOTU1NDQwMjM5MDdGQjZFMDMwRTExMUU1NDhDMzk0NDA0MDE1MTU0ODE1NDgwNTJERDIwQzgwMEI5MDdGQjlFNTQ4RjA3NTQ4MDBEMjAxRDIyNTIwQzAwMzAyMEE3MEMyQzAxNgorOjQwMDk0NjAwMjAwMjAzMDIwOUUyMjAyNDI3QUU0OTA1NDk3NDgwMkVGNTgyRTQzNDdERjU4M0U1QzFGMDMwMUQ0OUFFNDkwNTQ5NzQ4MDJFRjU4MkU0MzQ3REY1ODNFNUMwRjA4MDM2QUZDMUVGQjU3MDA0RDIwRDgwMkNFRkI1NkYwNEMyMERBRQorOjQwMDk4NjAwODAyNEFFNDkwNTQ5NzQ4MDJFRjU4MkU0MzQ3REY1ODNFRkYwMzAxRDExQUU0OTA1NDk3NDgwMkVGNTgyRTQzNDdERjU4M0U1QzBGMEQyMUFFNTQ5QzM5NTZDNTAwMzAyMEE2RTkwN0ZCQ0UwMzBFMTE1RTU0OUMzOTQ0MDUwMDM1MQorOjQwMDlDNjAwMDIwQTZFMTU0OTE1NDkwNTM5RDIwRTAyMEE2RTkwN0ZCQkU1NDlGMDc1NDkwMEMyMDIwMjBBNkUyMDI0MjdBRTQ5MDU0OTc0MDAyRUY1ODJFNDM0N0RGNTgzRTVDMUYwMzAxRDQ5QUU0OTA1NDk3NDAwMkVGNTgyRTQzNDdERjU1NQorOjQwMEEwNjAwODNFNUMwRjA4MDM2QUZDMUVGQjU3MDA0RDIwRDgwMkNFRkI1NkYwNEMyMEQ4MDI0QUU0OTA1NDk3NDAwMkVGNTgyRTQzNDdERjU4M0VGRjAzMDFEMTFBRTQ5MDU0OTc0MDAyRUY1ODJFNDM0N0RGNTgzRTVDMEYwRDIxQUU1NDk4MworOjQwMEE0NjAwQzM5NTZDNDAyMzkwN0ZCQUUwMzBFMTExRTU0OUMzOTQ0MDQwMTUxNTQ5MTU0OTA1MzlEMjBFODAwQjkwN0ZCREU1NDlGMDc1NDkwMEQyMDJEMjI1MzAyNTA1QzIyNTAyMDA1NkQwRDBEMDg2RDA4MkQwODNEMEUwMzI5MDdGQ0U5OQorOjQwMEE4NjAwRTAzMEUxMDMwMjBCQTVFNEY1MTI3NDQwMjUxMkY1ODJFNDM0N0NGNTgzRTBGRkU1MTI3QzAwN0IwMDI0NENGOUVDMzQwMEZBRUYxMjE1Q0QwNTEyRTUxMkI0MThEQkU1NEM2MDBDNzVDOTIwNzVDODM2ODU0RENBODU0RUNCRTVCQworOjQwMEFDNjAwNEYxMzkyMUI5MjlGRTU1MDEzOTIxQ0U1NTExMzkyMjNFNTUyNjAwOTkwN0Y5OEUwNTRGQkYwODAwNzkwN0Y5OEUwNDQwNEYwRTU1MzYwMDk5MDdGOThFMDU0N0ZGMDgwMDc5MDdGOThFMDQ0ODBGMEU1NTk2MDBCQzIxM0MyMEIxOAorOjQwMEIwNjAwOTA3Rjk1RTA0NDAyRjBFNTVBNjAwQkQyMEJEMjBDOTA3Rjk1RTA0NDAyRjBFNTVCNjAwREMyQUZDMjExRDIwMEU0RjU3Q0Y1NEFEMkFGRTU1QzYwMDUzMDIzMDJEMjBCRTU1RDYwMTU5MDdGOTVFMDU0RkRGMDkwN0Y5RUUwNDREOQorOjQwMEI0NjAwMDJGMDkwN0Y5OEUwNTRGREYwRTU1RTYwMEFEMjlDQzI5ODc1MkUwMTc1NDAyOEU1NUY2MDA3QzI5Q0U0RjU0OEY1MkVFNTYwNjAwM0U0RjU0OEU1NjE2MDAyRDIwN0U1NjI2MDA4RTU1RTcwMDJGNTQwRDIwQ0U1NjM2MDE5OTA2MAorOjQwMEI4NjAwN0ZENzc0MTFGMDc0MzFGMDc0MTJGMDc0MzJGMDc0MTVGMDc0MzVGMEQyMDNEMjAxRDIwOUU0OTA3RkNGRjBBMjEzRTQzM0ZGNjUyQjYwMDQ4RjJCRDIwQ0EyMEJFNDMzRkY2NTJDNjAwNDhGMkNEMjBDOTA3RjlCRTA1NDA4NjU4OQorOjQwMEJDNjAwMjc2MDA3RTA1NDA4RjUyN0QyMEM5MDdGOUJFMDU0NDBCNTI5MDlFMDU0NDA2NDQwRjUyOUQyMEMzMDA3MzVDMkFGMzAwMTE4OTA3RkI4RTAyMEUxMjdFNTQ4NjAwOTkwN0ZCN0YwRTRGNTQ4QzIwMUMyMDc4MDE2OTA3RkI2RTBFOQorOjQwMEMwNjAwMjBFMTBGRTU0ODYwMDk5MDdGQjlGMEU0RjU0OEQyMDFDMjA3RDJBRjIwMDUzNzMwMDMxQjkwN0ZDNkUwMjBFMTJEOTA3RTQwRTAxMzkyMTU3NTRBMDE5MDdGQzdFMEY1N0NEMjA1ODAxOTkwN0ZDOEUwMjBFMTEyOTA3REMwRTBDRgorOjQwMEM0NjAwMTM5MjE1NzU0QTAxOTA3RkM5RTBGNTdDRDIwNTIwMjEzMzIwMDAwNkU1NEE2NTdDNzAyQTMwMDUxQTMwMDMwOUU0OTA3RkM3RjBDMjAzODAwN0U0OTA3RkM5RjBEMjAzQzIwNUU0RjU3Q0Y1NEEzMDE1MEFDMjE1QzIwMDkwN0Y1QworOjQwMEM4NjAwQkY3NDAxRjAzMDIxMDMwMjBEOTQyMDA1MDMwMjBEOTQzMDFDMEE5MDdGOUJFMDIwRTMwMzAyMEQ5NDMwMEIwMzAyMEQ5NDMwMTMwMzAyMEQ5NDMwMDM2MjMwMUIxMkFGNEEwNTRBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTJDRQorOjQwMENDNjAwMkRBRjRBMDU0QTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTEzRTU0QUMzOTU3QzUwMkEzMDFCMTJBRjRBMDU0QTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMTdBRjRBMDU0QTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTQ2RDI2NgorOjQwMEQwNjAwMTE4MDZCQzIxMUU0OTA3RkM3RjBDMjAzODA2MDMwMUIxMkFGNEEwNTRBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIyREFGNEEwNTRBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MTNFNTRBQzM5NTdDNTAyQTMwMUIxMkFGNEE2NworOjQwMEQ0NjAwMDU0QTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMTdBRjRBMDU0QTc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTQ2RDIxMTgwMDlDMjExRTQ5MDdGQzlGMEQyMDMzMDFCMDRBMjJEOTI5QkQyMjFDMkFGODUxMzk5MjAxMTBEMzA0MworOjQwMEQ4NjAwMTUwQUMyMTVDMjAwOTA3RkJGNzQwMUYwRDJBRjkwN0ZEMEUwMzBFMTAzMDIwRUI1RTRGNTEyNzRDMDI1MTJGNTgyRTQzNDdCRjU4M0UwRkZFNTEyN0MwMDdCMDAyNDY0RjlFQzM0MDBGQUVGMTIxNUNEMDUxMkU1MTJCNDE4REI1MQorOjQwMERDNjAwRTU2NDYwMEI3NTg5NjA3NTg4NDBEMkRGODU2NThERTU2NzEzOTIxRDkyQzdFNTY4MTM5MjFFRTU2OTEzOTIyNEU1NkE2MDA5OTA3Rjk3RTA1NEVGRjA4MDA3OTA3Rjk3RTA0NDEwRjBFNTZCNjAwOTkwN0Y5N0UwNTQ3RkYwODBBNAorOjQwMEUwNjAwMDc5MDdGOTdFMDQ0ODBGMEU1NzE2MDBCQzIxNEMyMEQ5MDdGOTRFMDQ0MDhGMEU1NzI2MDBCRDIwREQyMEU5MDdGOTRFMDQ0MDhGMEU1NzM2MDBEQzJBRkMyMTJEMjAwRTRGNTdERjU0QkQyQUZFNTc0NjAwNTMwMjQwMkQyMEQyMAorOjQwMEU0NjAwRTU3NTYwMTU5MDdGOTRFMDU0RjdGMDkwN0Y5REUwNDQwOEYwOTA3Rjk3RTA1NEY3RjBFNTc2NjAwQUQyQzRDMkMwNzUzQTAxNzU0MTI4RTU3NzYwMDdDMkM0RTRGNTQ5RjUzQUU1Nzg2MDAzRTRGNTQ5RTU3OTYwMDJEMjA4RTVGMAorOjQwMEU4NjAwN0E2MDA4RTU3NjcwMDJGNTQxRDIwRUU1N0I2MDE5OTA3RkQ3NzQxM0YwNzQzM0YwNzQxNEYwNzQzNEYwNzQxNkYwNzQzNkYwRDIwNEQyMDJEMjBBRTQ5MDdGRDFGMEEyMTRFNDMzRkY2NTM3NjAwNDhGMzdEMjBFQTIwREU0MzMwNAorOjQwMEVDNjAwRkY2NTM4NjAwNDhGMzhEMjBFOTA3RjlBRTA1NDIwNjUzMzYwMDdFMDU0MjBGNTMzRDIwRTkwN0Y5QUUwNTQ0MEI1MzUwOUUwNTQ0MDY0NDBGNTM1RDIwRTMwMDgzNUMyQUYzMDAyMTg5MDdGQkNFMDIwRTEyN0U1NDk2MDA5OTA5OQorOjQwMEYwNjAwN0ZCQkYwRTRGNTQ5QzIwMkMyMDg4MDE2OTA3RkJBRTAyMEUxMEZFNTQ5NjAwOTkwN0ZCREYwRTRGNTQ5RDIwMkMyMDhEMkFGMjAwNjM3MzAwNDFCOTA3RkNBRTAyMEUxMkQ5MDdENDBFMDEzOTIxNjc1NEIwMTkwN0ZDQkUwRjUwMworOjQwMEY0NjAwN0REMjA2ODAxOTkwN0ZDQ0UwMjBFMTEyOTA3Q0MwRTAxMzkyMTY3NTRCMDE5MDdGQ0RFMEY1N0REMjA2MjAyMjMzMjAwMDA2RTU0QjY1N0Q3MDJBMzAwNjFBMzAwNDA5RTQ5MDdGQ0JGMEMyMDQ4MDA3RTQ5MDdGQ0RGMEQyMDQyQworOjQwMEY4NjAwQzIwNkU0RjU3REY1NEIzMDE2MEFDMjE2QzIwMDkwN0ZDMTc0MDFGMDMwMjIwMzAyMTBBNDIwMDYwMzAyMTBBNDMwMUUwQTkwN0Y5QUUwMjBFNTAzMDIxMEE0MzAwRDAzMDIxMEE0MzAxNDAzMDIxMEE0MzAwNDYyMzAxRDEyQUY4RQorOjQwMEZDNjAwNEIwNTRCNzQ0MDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIyREFGNEIwNTRCNzQ0MDJGRjU4MkU0MzQ3REY1ODNFMEY1MTNFNTRCQzM5NTdENTAyQTMwMUQxMkFGNEIwNTRCNzQ0MDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIxOEFGNEI3OAorOjQwMTAwNjAwMDU0Qjc0NDAyRkY1ODJFNDM0N0RGNTgzRTBGNTQ3RDIxMjgwNkJDMjEyRTQ5MDdGQ0JGMEMyMDQ4MDYwMzAxRDEyQUY0QjA1NEI3NEMwMkZGNTgyRTQzNDdDRjU4M0UwMTM5MjJEQUY0QjA1NEI3NEMwMkZGNTgyRTQzNDdDRjVGMgorOjQwMTA0NjAwODNFMEY1MTNFNTRCQzM5NTdENTAyQTMwMUQxMkFGNEIwNTRCNzRDMDJGRjU4MkU0MzQ3Q0Y1ODNFMDEzOTIxOEFGNEIwNTRCNzRDMDJGRjU4MkU0MzQ3Q0Y1ODNFMEY1NDdEMjEyODAwOUMyMTJFNDkwN0ZDREYwRDIwNDMwMURGNAorOjQwMTA4NjAwMDRBMjJEOTJDM0QyMjJDMkFGODUxM0MxMjAxMjBEMzAxNjBBQzIxNkMyMDA5MDdGQzE3NDAxRjBEMkFGOTA3RkMyRTAzMEUxMDMwMjExN0FFNTFBNzA0NjMwMEMzRkU1NDA3MDNCQTIwOTMzRjUzMUMyMDlDMjBDRTRGNTEyN0UwRAorOjQwMTBDNjAwMDA3QjAwNzQyNjI1MTJGOUVFMzQwMEZBMTIxNTg3RkY3NDgwMjUxMkY1ODJFNDM0N0JGNTgzRUZGMDA1MTJFNTEyQjQwQ0RCOTA3RkMzNzQwQ0YwNzU0MDEwMjI3NTFBMDEyMkU1MUE2NDAxNzA0NTMwMEUzRUU1NDE3MDNBQTJDNQorOjQwMTEwNjAwMEEzM0Y1M0RDMjBBQzIwRUU0RjUxMjdFMDA3QjAwNzQzMjI1MTJGOUVFMzQwMEZBMTIxNTg3RkY3NDgwMjUxMkY1ODJFNDM0N0JGNTgzRUZGMDA1MTJFNTEyQjQwQ0RCOTA3RkMzNzQwQ0YwNzU0MTEwNzUxQTAyMjJFNTFDNjBDQQorOjQwMTE0NjAwMzAxNTFDRTRGNTEyN0UwMDdCMDA3NDFCMjUxMkY5RUUzNDAwRkExMjE1ODdGRjc0ODAyNTEyRjU4MkU0MzQ3QkY1ODNFRkYwMDUxMkU1MTJCNDAzREI5MDdGQzM3NDAzRjBFNEY1MUEyMjkwN0ZFOUUwMTIxNjE3MTI0MDAwMTJBNworOjQwMTE4NjAwQjQwMTEzMjAwMzExOUUwNjEyMzMwODEyMkQwOTEyMjAwQTEzNzYwQjAwMDAxMzZGOTA3RkVCRTAyNEZFNjAxNjE0NjA0MDI0MDI3MDY5NzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIxMzc2OTA3RkVBRTBGRjEyMTc0QjhCMTI2MQorOjQwMTFDNjAwOEExMzg5MTRFQTQ5NjAxMUFFMDJFRTkwN0ZENEYwQUYwMUVGOTA3RkQ1RjAwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0ZFQUUwRkYxMjE3OUE4QjEyOEExMzg5MTRFQTQ5NjAxMUFFMDJFRTkwN0ZENEYwQUYwMUVGOTA4MworOjQwMTIwNjAwN0ZENUYwMDIxMzc2OTA3RkI0RTA0NDAxRjAwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIxMzc2MTIxNEMzMDIxMzc2OTA3RjAwNzQwMUYwOTA3RkI1RjAwMjEzNzY5MDdGRThFMDI0N0ZCRgorOjQwMTI0NjAwNjAyNDE0NjAzMTI0MDI3MDVCQTIyNkU0MzNGRjI1RTBGRkEyMkJFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMTM3NkU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIxMzc2OTA3RkVDRTBGNDU0ODBGRkM0NTQyOQorOjQwMTI4NjAwMEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIxMzc2OTA3RkI0RTA0NDAxRjAwMjEzNzY5MDdGRThFMDI0RkU2MDFEMjQwMjYwMDMwMjEzNzY5MDdGRUEwQgorOjQwMTJDNjAwRTBCNDAxMDVDMjI2MDIxMzc2OTA3RkI0RTA0NDAxRjAwMjEzNzY5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTNBNworOjQwMTMwNjAwNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIyNjgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MDdGRUFFMDcwMjBBMworOjQwMTM0NjAwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMjIwMjgwMzAyMTRDMkU1NDA2MworOjQwMTM4NjAwNjAwMjE1NDBFNTQ4NjA0RjY1NDQ3MDQ1RTU0MkY0NjAwMjA1NDJFNTQyQzM5NTU1NDAzREMyQUYzMDAxMTg5MDdGQjhFMDIwRTEyNzkwN0ZCN0U1NDhGMEMyMDFFNEY1NDhGNTQyRjU0NDgwMTY5MDdGQjZFMDIwRTEwRjkwN0YwNworOjQwMTNDNjAwQjlFNTQ4RjBEMjAxRTRGNTQ4RjU0MkY1NDREMkFGODAwNjg1NDg0NEU0RjU0MkU1MkU2MDJEMjAxOTA3OTA3RjlCRTAzMEUwMEVFNTJGNjAwNUU0RjUyRkQyMENFNEY1M0U4MDEzRTUzRUQzOTU1NjUwMENFNTNFQjU1NjA1NzUwNAorOjQwMTQwNjAwMkYwMUQyMEMwNTNFQzIxOUU1NDE2MDAyMTU0MUU1NDk2MDRGNjU0NTcwNDVFNTQzRjQ2MDAyMDU0M0U1NDNDMzk1NkQ0MDNEQzJBRjMwMDIxODkwN0ZCQ0UwMjBFMTI3OTA3RkJCRTU0OUYwQzIwMkU0RjU0OUY1NDNGNTQ1ODBFMgorOjQwMTQ0NjAwMTY5MDdGQkFFMDIwRTEwRjkwN0ZCREU1NDlGMEQyMDJFNEY1NDlGNTQzRjU0NUQyQUY4MDA2ODU0OTQ1RTRGNTQzRTUzQTYwMkQyMDFBMDc5MDdGOUFFMDMwRTIwRUU1M0I2MDA1RTRGNTNCRDIwRUU0RjUzRjgwMTNFNTNGRDM1RQorOjQwMTQ4NjAwOTU2RTUwMENFNTNGQjU2RTA1NzUzQjAxRDIwRTA1M0ZDMjFBOTA3RkQyRTAyMEUxMjM5MDdCNDBFMDYwMDlFMEY1MUM5MDdCNDJFMEY1MUQ5MDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwMjJFNDkwN0ZDNQorOjQwMTRDNjAwOTNGMDkwN0Y5Qzc0MzBGMDkwN0Y5NkUwNDQxMEYwOTA3Rjk0NzQwREYwOTA3RjlENzQ5QUYwOTA3Rjk3RTA1NEZERjA5MDdGOTU3NDIzRjA5MDdGOUU3NDg0RjBFNDkwN0ZDN0YwOTA3RkM5RjA5MDdGQ0ZGMDc1OTg0MDQzQTg5RQorOjQwMTUwNjAwMTBDMjFCQzIwNUMyMjFDMjBCQzIxM0Y1N0NGNTRBQzIxMUMyMTVGNTQyQzIxOUY1NDRGNTQ4QzIyM0MyMUNGNTJERjUyRkMyMDdDMjAwQzIxRkY1M0VDMjA5RDIwQ0Y1MjY5MDdGQ0JGMDkwN0ZDREYwOTA3RkQxRjA3NUMwNDA0MworOjQwMTU0NjAwNDNBODQwQzIxREMyMDZDMjIyQzIwREMyMTRGNTdERjU0QkMyMTJDMjE2RjU0M0MyMUFGNTQ1RjU0OUMyMjRDMjFFRjUzOUY1M0JDMjA4QzIwMEMyMjBGNTNGQzIwQUQyMEU3NTMyMDE5MDdGREY3NEZGRjA5MDdGREVGMEQyMjhERQorOjQwMTU4NjAwMjJCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTU1MworOjQwMTVDNjAwODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJCQjAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFMEFFOTI1ODJGOEUyRjUxMQorOjQwMTYwNjAwRjAwOEUyMjJFNTgzMkFGNTgzRTk5M0Y1RjBBM0U5OTMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREY3ODdGRTRGNkQ4RkQ3NTgxN0QwRQorOjQwMTY0NjAwMDIxNjg0MDIxNkM5RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMTgxQQorOjQwMTY4NjAwQzVFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REUzOQorOjQwMTZDNjAwRTc4MEJFNzUxMTAxOTA3RjkyRTA1NEZERjA5MDdGQUVFMEZGRDM5MjI2RTQzM0ZFRUY0RUYwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDRDNQorOjQwMTcwNjAwMDFGMDkwN0ZBRUUwNDQwREYwRDJBRkQyQkNEMkJFRDIyRDEyMTg3RkMyMjdDMjI1QzIyODMwMjgwMzEyMEE4MzkwN0ZEOEUwNjUxMDYwMDhFMEY1MTAxMjEzN0U4MEVBMzAyNzA3QzIyNzEyMTE3QjgwRTAzMDJDRERDMjJDMTJDNQorOjQwMTc0NjAwMDAyNjgwRDYyMkU0RkU3NTE3RkY3NTE4MTk3NTE5MTJBQjE3QUExOEE5MTk5MDAwMDExMjE1QTA2NDAyNzAyREFEMDYwRUVEQjUwNzAxMjI5MDAwMDIxMjE1REY4NUYwMTVGNTE2NjIxNUU1MTU2MjE2RTUxNjYyMTUyOUZERTU1MQorOjQwMTc4NjAwMTUzQUE5MDU3NTE3RkZGNTE4ODkxOTgwQzM3QjAwN0EwMDc5MDAyMjhGMTVFNEY1MTY3NTE3RkY3NTE4MTk3NTE5ODZBQjE3QUExOEE5MTk5MDAwMDExMjE1QTBCNDAzMURBRjE2MDUxNkVGQjUxNTAxMjIxMjE1ODc3RTAwMjlCRQorOjQwMTdDNjAwRkZFRTNBQTkwNzc1MTdGRkY1MTg4OTE5ODBENDdCMDA3QTAwNzkwMDIyRTQ5MDdGOTNGMDkwN0Y5Q0YwOTA3Rjk0RjA5MDdGOUQ3NDAyRjA5MDdGOTdGMEU0OTA3Rjk1RjA5MDdGOUU3NEZGRjBFNDkwN0Y5OEYwOTA3RjlERjAwMworOjQwMTgwNjAwMjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjI3NTM5MUVGOTAyNAorOjQwMTg0NjAwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIyQzUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3RkQ2RTA1NEZCRjBERAorOjQwMTg4NjAwRTA0NDA4RjAzMDJEMDRFMDQ0MDJGMDdGRjQ3RTAxMTIwMDA2OTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyQzEyNQorOjQwMThDNjAwQUEwMTFBMDAwMzFCMDMwMDAwQzEyN0MxMkNDMTI2QzEyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDAzMQorOjQwMTkwNjAwMDA0MENEMDYwRjAxMDAwMDAxMDIwMDAxMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3OAorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjQwMUEwNjAwNzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjQwMUE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjQwMUE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjQwMUFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjE4MzEwMDAyMUI3OAorOjA5MUIwNjAwMDQwMDAyMTgwNzAwMDIxODU4M0YKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4LkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4LkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjBmN2ZhCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2EyOHguSEVYCkBAIC0wLDAgKzEsMTQxIEBACis6MDMwMDMzMDAwMjEyRjdCRgorOjEwMDAwMzAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjBCRgorOjEwMDAxMzAwOTA3Rjk0RjA5MDdGOUQ3NEZGRjBFNDkwN0Y5N0YwOTAzMQorOjBGMDAyMzAwN0Y5NUYwOTA3RjlFNzQwN0YwRTQ5MDdGOThGMDIyMTUKKzoxMDAwNDYwMDMwMDkxODEyMTMxQkVGQzM5NTNDNDAwMzAyMDBEODkwRTkKKzoxMDAwNTYwMDdGQkY3NDAxRjBDMjA5QzIwMDgwNzczMDAzM0I5MDdGRjYKKzoxMDAwNjYwMEM2RTAyMEUxNkQxMjEzMUJFRkMzOTQ0MDUwNjQ5MDdFRUUKKzoxMDAwNzYwMDQwRTAxMzkyMDk5MDdGQzdFMDE0RjUxOTIwMDAxMTYwNDMKKzoxMDAwODYwMDBGRjUwODdFN0U3RjQxNzUwQzdFNzUwRDQxMTIwQ0JBMDgKKzoxMDAwOTYwMEMyMDNFNDkwN0ZDN0YwODAzOTkwN0ZDOEUwMjBFMTMyNDgKKzoxMDAwQTYwMDEyMTMxQkVGQzM5NDQwNTAyOTkwN0RDMEUwMTM5MjA5QjAKKzoxMDAwQjYwMDkwN0ZDOUUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEQzgKKzoxMDAwQzYwMDdGQzE3NTBDN0Q3NTBEQzExMjBDQkFEMjAzRTQ5MDdGMDkKKzoxMDAwRDYwMEM5RjA5MDdGQjZFMDMwRTEwMzAyMDE2MDEyMTFENjhGQkQKKzoxMDAwRTYwMDE5MTIxMzI3OEYzNkU1MTlDMzk1M0E1MDBGMTIxMkVCRTIKKzoxMDAwRjYwMEVGMzBFMDA4RTUzNjIwRTcwMzMwMEI1RUMyMEJFNTE5NkEKKzowQzAwMzYwMDkwN0Y5ODc0MTBGMDkwQzAwMEUwRkYyMjUyCis6MDMwMDQzMDAwMjEzMDBBNQorOjAzMDAwMDAwMDIwRTAwRUQKKzo0MDAxMDYwMDYwNThCNDgwMDM0MzM2MDJFNTM2MzBFNzI2RTUxOUQzOTQyMDQwMDM3NTE5MjA4NTE5MDg3RTdFN0Y4MDc1MEM3RTc1MEQ4MEFGMzYxMjBGNEJFNTE5MjVFMDkwN0ZCN0YwODAyN0U1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTA4RDQKKzo0MDAxNDYwMDkwN0U4MEU1MzZGMDdFN0U3RjgxNzUwQzdFNzUwRDgxMTIwQ0RGRTUxOTA0OTA3RkI3RjA5MDdGQ0VFMDMwRTEwNjIwMDUwMzAyMDNDMUMyMDVFNEY1MTg3NDQwMjUxOEY1ODJFNDM0N0NGNTgzRTBGRkU1MTg3QzAwN0IwMTdBRjEKKzo0MDAxODYwMDdFNzkwMDI0MDBGOUVDMzQ3RUZBRUYxMjBFRDIwNTE4RTUxOEI0MjBENzkwN0UwMEUwNjA2ODkwN0UwM0UwNjAyNDdGMDFFNEZEMTIxMUIxN0YwMzdEQ0QxMjExQjE0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjBFNDkwRTAKKzo0MDAxQzYwMDdFMTNGMDgwMzA5MDdFMDFFMEZGMTIxMDM1OTA3RTAyRTBGRjEyMTA1QjdGMDE5MDdFMTFFMEZEMTIxMUIxN0YwMzdEMDcxMjExQjE0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdGOTg3NDEyRjBFNTQwNDQwNjkwM0UKKzo0MDAyMDYwMEMwMDBGMDkwN0UwM0UwNzAwNjkwN0UxM0UwNzAwOEU0OTA3RTEzRjA3NTI1RkY5MDdFMDVFMDYwMTJBM0UwNTQzRkY1NDQ5MDdGOTg3NDEzRjA5MEMwMDBFNTQ0RjA5MDdFMDdFMDYwMkJBM0UwNjAwNTQzNDI4MDgwMDM1MzQyREEKKzo0MDAyNDYwMDdGNTM0MkZDOTA3RTA5RTA2MDExNDM0MjAyQTNFMEZGMTIxMEE3OTA3RTBCRTBGRjEyMTBDREFGNDIxMjEwODE5MDdFMDNFMDYwMDg1MzQyN0ZBRjQyMTIxMDgxOTA3RTBDRTA2MDE4QTNFMDYwMDU0MzQ2MDI4MDAzNTM0NkZEQjQKKzo0MDAyODYwMDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UwRUUwNjAxOEEzRTA2MDA1NDM0NjAxODAwMzUzNDZGRTkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxMkUwRjUzQUEzRTAxMzkyMERBM0UwRjUzQ0EzRTA2MDA1NDM0NjEwOEIKKzo0MDAyQzYwMDgwMDM1MzQ2RUY5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTZFMDYwMzI1MzQ0QkY5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxMUYwMTIxMkRGRUY1NEZFOTBDMDAwRjA1MzNFRkRFNEZGQUQzRTEyMEYKKzo0MDAzMDYwMDExQjFFNEY1MkFGNTI5RDIwNzkwN0UxN0UwNjAwRjQzM0UwMkU0RkZBRDNFMTIxMUIxNzUyOTAxRDIwNzkwN0UxOEUwNjAxMDkwN0Y5ODc0MTJGMEU1NDA0NDA0OTBDMDAwRjBEMjAwOTA3RTE5RTA2MDExNDM0NDQwOTA3Rjk4RjIKKzo0MDAzNDYwMDc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdFMUFFMDYwMEY1MzNFRkVFNEZGQUQzRTEyMTFCMTc1MkIwMUQyMDc5MDdFMUJFMDYwMEY0MzNFMDFFNEZGQUQzRTEyMTFCMUU0RjUyQkQyMDc5MDdFMUNFMDYwMEU5MDdGOTg3NDEyODQKKzo0MDAzODYwMEYwRTU0MDQ0MDI5MEMwMDBGMDkwN0UxREUwNjAwMkQyMEI5MDdFMUVFMDYwMDg3NTJDMDFFNEY1MzhEMjA3OTA3RTFGRTA2MDExOTA3RkQ3NzQxMUYwNzQzMUYwNzQxNUYwNzQzNUYwRDIwM0U0OTA3RkNGRjAzMDFBNTJFNTM4OTIKKzo0MDAzQzYwMDYwMDIxNTM4MjAxMzQ5RTUxM0QzOTQwMDQwMDQxNTEzODAzRTc1MTMwQTMwMUIwMkQyMTMxMjEyREZFRjU0MDFGNTE5NjUyQTYwMDU4NTE5MkFEMjA3MTIxMzMzRUY1NDgwRjUxOTY1MjY2MDA1ODUxOTI2RDIwNzMwMEQxMTEyN0YKKzo0MDA0MDYwMDEzMzNFRjU0MTBGNTE5NjUyNTYwMDU4NTE5MjVEMjA3MjAxQjAzMDIwN0VDMzAwQTE4MTIxMzZGRUZDMzk1M0Q0MDAzMDIwNEFFOTA3RkMxNzQwMUYwQzIwQUMyMDA4MDc3MzAwNDNCOTA3RkNBRTAyMEUxNkQxMjEzNkZFRkMzNUEKKzo0MDA0NDYwMDk0NDA1MDY0OTA3RDQwRTAxMzkyMEE5MDdGQ0JFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3RDdGNDE3NTBDN0Q3NTBENDExMjBEMDRDMjA0RTQ5MDdGQ0JGMDgwMzk5MDdGQ0NFMDIwRTEzMjEyMTM2RkVGQzM5NDQwNTAyOTkwQkMKKzo0MDA0ODYwMDdDQzBFMDEzOTIwQTkwN0ZDREUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdDN0ZDMTc1MEM3Qzc1MERDMTEyMEQwNEQyMDRFNDkwN0ZDREYwOTA3RkJBRTAzMEUxMDMwMjA1MzYxMjEyMjA4RjE5MTIxMzdCOEYzN0U1MTlDMzk1MkIKKzo0MDA0QzYwMDNCNTAwRjEyMTM1N0VGMzBFMDA4RTUzNzIwRTcwMzMwMEM1RUMyMENFNTE5NjA1OEI0ODAwMzQzMzcwMkU1MzczMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0Q3RjgwNzUwQzdENzUwRDgwQUYzNzEyMEY4NEU1MDMKKzo0MDA1MDYwMDE5MjVFMDkwN0ZCQkYwODAyN0U1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTA4OTA3RDgwRTUzN0YwN0U3RDdGODE3NTBDN0Q3NTBEODExMjBEMjlFNTE5MDQ5MDdGQkJGMDkwN0ZEMEUwMzBFMTA2MjAwNjAzMDIwNzk3QzIwNkU0RjgKKzo0MDA1NDYwMEY1MTg3NEMwMjUxOEY1ODJFNDM0N0JGNTgzRTBGRkU1MTg3QzAwN0IwMTdBN0U3OTIwMjQyMEY5RUMzNDdFRkFFRjEyMEVEMjA1MThFNTE4QjQyMEQ3OTA3RTIwRTA2MDY4OTA3RTIzRTA2MDI0N0YwMUU0RkQxMjExRkI3RjAzMjkKKzo0MDA1ODYwMDdEQ0QxMjExRkI0MzQ3ODA5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBFNDkwN0UzM0YwODAzMDkwN0UyMUUwRkYxMjExMTk5MDdFMjJFMEZGMTIxMTNGN0YwMTkwN0UzMUUwRkQxMjExRkI3RjAzN0QwNzEyMTFGQjQzNDc4MDkwNDgKKzo0MDA1QzYwMDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdGOTg3NDBBRjBFNTQxNDQwNjkwQzAwMEYwOTA3RTIzRTA3MDA2OTA3RTMzRTA3MDA4RTQ5MDdFMzNGMDc1MkVGRjkwN0UyNUUwNjAxMkEzRTA1NDNGRjU0NTkwN0Y5ODc0MEJGMDkwRUIKKzo0MDA2MDYwMEMwMDBFNTQ1RjA5MDdFMjdFMDYwMkJBM0UwNjAwNTQzNDM4MDgwMDM1MzQzN0Y1MzQzRkM5MDdFMjlFMDYwMTE0MzQzMDJBM0UwRkYxMjExNjU5MDdFMkJFMEZGMTIxMThCQUY0MzEyMTBGMzkwN0UyM0UwNjAwODUzNDM3RkFGRkUKKzo0MDA2NDYwMDQzMTIxMEYzOTA3RTJDRTA2MDE4QTNFMDYwMDU0MzQ3MDI4MDAzNTM0N0ZEOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTJFRTA2MDE4QTNFMDYwMDU0MzQ3MDE4MDAzNTM0N0ZFOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwRDQKKzo0MDA2ODYwMDkwN0UzMkUwRjUzQkEzRTAxMzkyMEVBM0UwRjUzREEzRTA2MDA1NDM0NzEwODAwMzUzNDdFRjkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UzNkUwNjAzMjUzNDVCRjkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdGNzkKKzo0MDA2QzYwMDk4NzQwOUYwMTIxMzRCRUY1NEZFOTBDMDAwRjA1MzNGRkRFNEZGQUQzRjEyMTFGQkU0RjUzM0Y1MzJEMjA4OTA3RTM3RTA2MDBGNDMzRjAyRTRGRkFEM0YxMjExRkI3NTMyMDFEMjA4OTA3RTM4RTA2MDEwOTA3Rjk4NzQwQUYwNDMKKzo0MDA3MDYwMEU1NDE0NDA0OTBDMDAwRjBEMjAwOTA3RTM5RTA2MDExNDM0NTQwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0UzQUUwNjAwRjUzM0ZGRUU0RkZBRDNGMTIxMUZCNzUzNDAxRDIwODkwN0UzQkUwNjAwRjQzM0YwMUU0RTkKKzo0MDA3NDYwMEZGQUQzRjEyMTFGQkU0RjUzNEQyMDg5MDdFM0NFMDYwMEU5MDdGOTg3NDBBRjBFNTQxNDQwMjkwQzAwMEYwOTA3RTNERTA2MDAyRDIwQzkwN0UzRUUwNjAwODc1MzUwMUU0RjUzOUQyMDg5MDdFM0ZFMDYwMTE5MDdGRDc3NDEzODkKKzo0MDA3ODYwMEYwNzQzM0YwNzQxNkYwNzQzNkYwRDIwNEU0OTA3RkQxRjAzMDFBNTJFNTM5NjAwMjE1MzkzMDEzNDlFNTEzRDM5NDAwNDAwNDE1MTM4MDNFNzUxMzBBMzAxQjAyQzIxMzEyMTM0QkVGNTQwMUY1MTk2NTMzNjAwNTg1MTkzM0QyNzkKKzo0MDA3QzYwMDA4MTIxMzg3RUY1NDgwRjUxOTY1MkY2MDA1ODUxOTJGRDIwODMwMEUxMTEyMTM4N0VGNTQxMEY1MTk2NTJFNjAwNTg1MTkyRUQyMDgzMDFBMkE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUxNTkwN0I0MkUwRjUxNjkwMzUKKzo0MDA4MDYwMDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwOTA3RkMyRTAzMEUxMDMwMjA5MjBFNTBBNzA0MDMwMDczOUU1Mzg3MDM1QzIwN0Y1MTg3RTAwN0IwMDc0MjQyNTE4RjlFRTM0MDBGQTEyMEU4Q0ZGNzQ4MDI1QkQKKzo0MDA4NDYwMDE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM4MTBFNEY1MkM3NTBBMDEyMkU1MEE2NDAxNzA0MDMwMDgzOUU1Mzk3MDM1QzIwOEY1MTg3RTAwN0IwMDc0MkQyNTE4RjlFRTM0MDBGQTEyOTcKKzo0MDA4ODYwMDBFOENGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM5MTBFNEY1MzU3NTBBMDIyMkU1MEE2NDAyNzAzNjMwMTQyRkMyMTRGNTE4N0UwMDdCMDA3NDBFMjUxOEY5RUUzNDAwODMKKzo0MDA4QzYwMEZBMTIwRThDRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwNURCOTA3RkMzNzQwNUYwNzUwQTAzMjJFNTE1NjAzMDE1MTVFNEY1MTg3RTAwN0IwMDc0MTQyNTE4RjlFRTM0MDBGQTEyMEU4Q0ZGNzQ4MDI1RjIKKzo0MDA5MDYwMDE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDAzREI5MDdGQzM3NDAzRjBFNEY1MEEyMjkwN0ZFOUUwMTIwRUU0MEEwODAwMEE3QzAxMEFFODAzMDk0NDA2MDlGQjA4MDlGNTA5MDlERDBBMDlFQzBCMDAwMDBCMzc5MDdGM0QKKzo0MDA5NDYwMEVCRTAyNEZFNjAxOTE0NjA2MTI0MDI2MDAzMDIwOUQzNzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwQjNFOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI3Qjc1ODMxOUYwNzU4Mjc0NzU4MzE5QjIKKzo0MDA5ODYwMEYwNzU4MjY2NzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDc0MTk5MDdGRDRGMDc0MTI5MDdGRDVGMDAyMEIzRTkwN0ZFQUUwRkYxMjBGMEFFQTQ5NjAwREVBOTA3RkQ0RjBFOTkwN0ZENUYwODUKKzo0MDA5QzYwMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGMDBFNTA5RjA5MDdGQjU3NDAxRjAwMjBCM0U5MDdGRUFFMEY1MDkwMjBCM0UxMjBCNDYwMjBCM0U5MDdGMDA3NDAxRjA5MDdGQjVGMDAyMDUKKzo0MDBBMDYwMDBCM0U5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjEwRTQzM0ZGMjVFMEZGQTIxNkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjNFRTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjBCM0U5MDdGMDQKKzo0MDBBNDYwMEVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZFOEUwMjRGRTYwMUQyNDAyMEYKKzo0MDBBODYwMDYwMDMwMjBCM0U5MDdGRUFFMEI0MDEwNUMyMTAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGQjYKKzo0MDBBQzYwMEVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjEwODAzRjkwN0ZCNEUwNDQwMUYwNDkKKzo0MDBCMDYwMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyRDQKKzo0MDBCNDYwMEU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxOEYwRTRGNThFOTA3RkRGNzRGRkYwOTA3RkRFRjBFNEY1MjQ3NTE4MDE3QjAwNzQyNDI1MThGOUU0MzQwMEZBOEIKKzo0MDBCODYwMEU0MTIwRUQyMDUxOEU1MThCNDA5RUE3NTNBMDFFNEY1MzhGNTEzRjUzNkMyMDdDMjBCQzIwNUMyMDBDMjA5QzIxMzkwN0Y5ODc0MTNGMDc1NDQwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMUIxN0YxMDhGNDIxMjEwODE5MDdGMDIKKzo0MDBCQzYwMDk4NzQxMkYwN0YwMThGNDBFRjQ0MDY5MEMwMDBGMDkwN0Y5ODc0MTRGMDc1NDY4MDkwQzAwMDc0ODBGMDBGRTRGRDEyMTFCMUU0RkY3RUEzQUQwNjhEM0UxMjExQjE5MDdGOTg3NDExRjA5MEMwMDBFNEYwN0YwNTdEN0YxMjExOEUKKzo0MDBDMDYwMEIxN0YwMTEyMTI2QTdGMDM3RDA3MTIxMUIxMjAxQjAzMDIwQ0I3NzUyRDAxNzUxODAxN0IwMDc0MkQyNTE4RjlFNDM0MDBGQUU0MTIwRUQyMDUxOEU1MThCNDA5RUE3NTNCMDFFNEY1MzlGNTEzRjUzN0MyMDhDMjBDQzIwNkMyQ0QKKzo0MDBDNDYwMDAwQzIwQUMyMTM5MDdGOTg3NDBCRjA3NTQ1MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMTFGQjdGMTA4RjQzMTIxMEYzOTA3Rjk4NzQwQUYwN0YwMThGNDFFRjQ0MDY5MEMwMDBGMDkwN0Y5ODc0MENGMDc1NDc4MDkwQzAwMDc0NEUKKzo0MDBDODYwMDgwRjAwRkU0RkQxMjExRkJFNEZGN0VBM0FEMDY4RDNGMTIxMUZCOTA3Rjk4NzQwOUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIxMUZCN0YwMTEyMTI4QjdGMDM3RDA3MTIxMUZCRDIxMjIyOTA3Rjk4NzQxMEYwQUYwOEU1MERGNTgyQTUKKzo0MDBDQzYwMEU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQxMEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI5MDdGMjAKKzo0MDBEMDYwMDk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1NUMKKzo0MDBENDYwMDg2REZGNzA1ODZEMkFGMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJEMjE5OTA3RjkyRTA0NDAyRjA5MDdGQUVFMEZGRDM5MjEwRTQzM0ZFRUY0RUYwODkKKzo0MDBEODYwMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRkQyMUExMjEyNDVDMjExRTRGNTBCRjUxM0MyMTdDMjEyRDQKKzo0MDBEQzYwMDkwN0ZBMTA0RjA5MDdGRDhFMDY1MTc2MDEwMzAxMjA1RDIxQTEyMDA0NjkwN0ZEOEUwRjUxNzgwMDgzMDEyMDVDMjFBMTIwMDQ2MzAxMTA3QzIxMTEyMDkyMTgwRDYzMDE4RDNDMjE4MTIxMzkzODBDQzIyNzg3RkU0RjZEOEZEQzcKKzo0MDBFMDYwMDc1ODE0NzAyMEU0NzAyMEQ2RkU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwRjUKKzo0MDBFNDYwMDgwOTAxMkFDRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBMUUKKzo0MDBFODYwMERGRTlERUU3ODBCRUJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1QjgKKzo0MDBFQzYwMDgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQzEKKzo0MDBGMDYwMEEzQTM4MERGOEYxOEU0RjUxOTc1MUFGRjc1MUIxOTc1MUM4NkFCMUFBQTFCQTkxQzkwMDAwMTEyMEVBNUI0MDMxREFGMTkwNTE5RUZCNTE4MDEyMjEyMEU4QzdFMDAyOUZGRUUzQUE5MDc3NTFBRkZGNTFCODkxQzgwRDQ3QjAwQTUKKzo0MDBGNDYwMDdBMDA3OTAwMjI4RjFBMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIwMDM2MDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjAwQTEyMTMyNzhGMUFFRjQyMzY4MENBMjI4RjFBRkMKKzo0MDBGODYwMDA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMTMzRjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwMEExMjEzN0I4RjFBRUY0MjM3ODBDQTIyQzBFMEMwODNDMDgyQzA4NUMwODgKKzo0MDBGQzYwMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTE1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwQzYKKzo0MDEwMDYwMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE4NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEwOEEKKzo0MDEwNDYwMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTFGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzNDkKKzo0MDEwODYwMEYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTRGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0RDkKKzo0MDEwQzYwMDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MEFGMDkwMkEKKzo0MDExMDYwMEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwOEYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQUYKKzo0MDExNDYwMEMwMDA3NEJGRjA5MDdGOTg3NDA5RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQ0YwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGRUMKKzo0MDExODYwMDkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBFRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTdGMDkwNzUKKzo0MDExQzYwMEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIxMzBGOEYxQTEyMTMwRjhGMUJFNTFBNjUxQjYwMTIxMjEzMEY4RjFBRTUxQTY1MUI2MDA3MTIxMzBGOEYxQjgwRThBRjFBMjI5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwOTgKKzo0MDEyMDYwMEMwMDBGMDkwN0Y5ODc0MEZGMDkwQzAwMEVGRjA5MDdGOTg3NDBERjA5MEMwMDBFREYwMjIxMjEzNjM4RjFBMTIxMzYzOEYxQkU1MUE2NTFCNjAxMjEyMTM2MzhGMUFFNTFBNjUxQjYwMDcxMjEzNjM4RjFCODBFOEFGMUEyMjkwQzgKKzo0MDEyNDYwMDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxQTA0RTA0NDAyRjA3RkY0N0UwMTEyMTJDODkwN0ZENkUwNTRGN0YwRTA0NDA0RjAyMkFFMDdFNEZGRTUzRTU0N0ZGRDEyMTFCMTkwN0Y5ODc0MTFGMDkwQzAwMEVFRjBFNEU1M0U0NDgwRTgKKzo0MDEyODYwMEZEMTIxMUIxMjJBRTA3RTRGRkU1M0Y1NDdGRkQxMjExRkI5MDdGOTg3NDA5RjA5MEMwMDBFRUYwRTRFNTNGNDQ4MEZEMTIxMUZCMjIwNTBFMDIwMDAwMDAwMDAzMTQwMzAwMDBDMTExQzExOEMxOTVDMTEwQzExNjAxMEEwMEMxOUMKKzo0MDEyQzYwMDlCMDA4RTE4OEYxOUU1MTkxNTE5QUUxODcwMDIxNTE4NEU2MDA1MTIwRDRFODBFRTIyOTA3Rjk4NzQxMUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxMkYwOTBDMDAwRTBGRjIyNTNEOEVGMzIwMDAwMDAwMDAwMDIwRkU3MDAwMjEzOEEKKzo0MDEzMDYwMDA0MDAwMjBGQkQwMDAyMTAwRTkwN0Y5ODc0MTNGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTRGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTVGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTZGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MDhGMDkwNTAKKzo0MDEzNDYwMEMwMDBFMEZGMjI5MDdGOTg3NDA5RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBBRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBCRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBDRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBERjA5MEMwMDBFMEZGQzUKKzo0MDEzODYwMDIyOTA3Rjk4NzQwRUYwOTBDMDAwRTBGRjIyMTIwMDAzMTIwRDVGMTIwQjQ2MjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzo0MDEzQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzo0MDE0MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzo0MDE0NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzo0MDE0ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzo0MDE0QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzo0MDE1MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzo0MDE1NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzo0MDE1ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzo0MDE1QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzo0MDE2MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzo0MDE2NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzo0MDE2ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzo0MDE2QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzo0MDE3MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzo0MDE3NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzo0MDE3ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzo0MDE3QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzo0MDE4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzo0MDE4NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzo0MDE4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzo0MDE4QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIwMTEwMDFGRjAwQkYKKzo0MDE5MDYwMDAwNDBDRDA2MTAwMTAwMDAwMTAyMDAwMjA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwNzYKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDAwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjQKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDM2MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMjAwMDU1MDA1MzAwNDIwMDIwMDA1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAyMDAwNDEwMDY0MDA2MTAwNzAwMDc0MDA2NTAwRjkKKzowNDFBMDYwMDcyMDAwMDAwNkEKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4YS5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eGEuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxNDkzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eGEuSEVYCkBAIC0wLDAgKzEsMTQxIEBACis6MDMwMDMzMDAwMjEyRjlCRAorOjEwMDAwMzAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjBCRgorOjEwMDAxMzAwOTA3Rjk0RjA5MDdGOUQ3NEZGRjBFNDkwN0Y5N0YwOTAzMQorOjBGMDAyMzAwN0Y5NUYwOTA3RjlFNzQwN0YwRTQ5MDdGOThGMDIyMTUKKzoxMDAwNDYwMDMwMDkxODEyMTMyN0VGQzM5NTNDNDAwMzAyMDBEODkwREQKKzoxMDAwNTYwMDdGQkY3NDAxRjBDMjA5QzIwMDgwNzczMDAzM0I5MDdGRjYKKzoxMDAwNjYwMEM2RTAyMEUxNkQxMjEzMjdFRkMzOTQ0MDUwNjQ5MDdFRTIKKzoxMDAwNzYwMDQwRTAxMzkyMDk5MDdGQzdFMDE0RjUxOTIwMDAxMTYwNDMKKzoxMDAwODYwMDBGRjUwODdFN0U3RjQxNzUwQzdFNzUwRDQxMTIwQ0M4RkEKKzoxMDAwOTYwMEMyMDNFNDkwN0ZDN0YwODAzOTkwN0ZDOEUwMjBFMTMyNDgKKzoxMDAwQTYwMDEyMTMyN0VGQzM5NDQwNTAyOTkwN0RDMEUwMTM5MjA5QTQKKzoxMDAwQjYwMDkwN0ZDOUUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEQzgKKzoxMDAwQzYwMDdGQzE3NTBDN0Q3NTBEQzExMjBDQzhEMjAzRTQ5MDdGRkIKKzoxMDAwRDYwMEM5RjA5MDdGQjZFMDMwRTEwMzAyMDE2MDEyMTFFNDhGQUYKKzoxMDAwRTYwMDE5MTIxMzMzOEYzNkU1MTlDMzk1M0E1MDBGMTIxMzBGQjEKKzoxMDAwRjYwMEVGMzBFMDA4RTUzNjIwRTcwMzMwMEI1RUMyMEJFNTE5NkEKKzowQzAwMzYwMDkwN0Y5ODc0MTBGMDkwQzAwMEUwRkYyMjUyCis6MDMwMDQzMDAwMjEzMDBBNQorOjAzMDAwMDAwMDIwRTBFREYKKzo0MDAxMDYwMDYwNThCNDgwMDM0MzM2MDJFNTM2MzBFNzI2RTUxOUQzOTQyMDQwMDM3NTE5MjA4NTE5MDg3RTdFN0Y4MDc1MEM3RTc1MEQ4MEFGMzYxMjBGNTlFNTE5MjVFMDkwN0ZCN0YwODAyN0U1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTA4QzYKKzo0MDAxNDYwMDkwN0U4MEU1MzZGMDdFN0U3RjgxNzUwQzdFNzUwRDgxMTIwQ0VERTUxOTA0OTA3RkI3RjA5MDdGQ0VFMDMwRTEwNjIwMDUwMzAyMDNDMUMyMDVFNEY1MTg3NDQwMjUxOEY1ODJFNDM0N0NGNTgzRTBGRkU1MTg3QzAwN0IwMTdBRTMKKzo0MDAxODYwMDdFNzkwMDI0MDBGOUVDMzQ3RUZBRUYxMjBFRTAwNTE4RTUxOEI0MjBENzkwN0UwMEUwNjA2ODkwN0UwM0UwNjAyNDdGMDFFNEZEMTIxMUJGN0YwMzdEQ0QxMjExQkY0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjBFNDkwQjYKKzo0MDAxQzYwMDdFMTNGMDgwMzA5MDdFMDFFMEZGMTIxMDQzOTA3RTAyRTBGRjEyMTA2OTdGMDE5MDdFMTFFMEZEMTIxMUJGN0YwMzdEMDcxMjExQkY0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdGOTg3NDEyRjBFNTQwNDQwNjkwMDYKKzo0MDAyMDYwMEMwMDBGMDkwN0UwM0UwNzAwNjkwN0UxM0UwNzAwOEU0OTA3RTEzRjA3NTI1RkY5MDdFMDVFMDYwMTJBM0UwNTQzRkY1NDQ5MDdGOTg3NDEzRjA5MEMwMDBFNTQ0RjA5MDdFMDdFMDYwMkJBM0UwNjAwNTQzNDI4MDgwMDM1MzQyREEKKzo0MDAyNDYwMDdGNTM0MkZDOTA3RTA5RTA2MDExNDM0MjAyQTNFMEZGMTIxMEI1OTA3RTBCRTBGRjEyMTBEQkFGNDIxMjEwOEY5MDdFMDNFMDYwMDg1MzQyN0ZBRjQyMTIxMDhGOTA3RTBDRTA2MDE4QTNFMDYwMDU0MzQ2MDI4MDAzNTM0NkZEN0MKKzo0MDAyODYwMDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UwRUUwNjAxOEEzRTA2MDA1NDM0NjAxODAwMzUzNDZGRTkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxMkUwRjUzQUEzRTAxMzkyMERBM0UwRjUzQ0EzRTA2MDA1NDM0NjEwOEIKKzo0MDAyQzYwMDgwMDM1MzQ2RUY5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTZFMDYwMzI1MzQ0QkY5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxMUYwMTIxMkVERUY1NEZFOTBDMDAwRjA1MzNFRkRFNEZGQUQzRTEyMDEKKzo0MDAzMDYwMDExQkZFNEY1MkFGNTI5RDIwNzkwN0UxN0UwNjAwRjQzM0UwMkU0RkZBRDNFMTIxMUJGNzUyOTAxRDIwNzkwN0UxOEUwNjAxMDkwN0Y5ODc0MTJGMEU1NDA0NDA0OTBDMDAwRjBEMjAwOTA3RTE5RTA2MDExNDM0NDQwOTA3Rjk4RDYKKzo0MDAzNDYwMDc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdFMUFFMDYwMEY1MzNFRkVFNEZGQUQzRTEyMTFCRjc1MkIwMUQyMDc5MDdFMUJFMDYwMEY0MzNFMDFFNEZGQUQzRTEyMTFCRkU0RjUyQkQyMDc5MDdFMUNFMDYwMEU5MDdGOTg3NDEyNjgKKzo0MDAzODYwMEYwRTU0MDQ0MDI5MEMwMDBGMDkwN0UxREUwNjAwMkQyMEI5MDdFMUVFMDYwMDg3NTJDMDFFNEY1MzhEMjA3OTA3RTFGRTA2MDExOTA3RkQ3NzQxMUYwNzQzMUYwNzQxNUYwNzQzNUYwRDIwM0U0OTA3RkNGRjAzMDFBNTJFNTM4OTIKKzo0MDAzQzYwMDYwMDIxNTM4MjAxMzQ5RTUxM0QzOTQwMDQwMDQxNTEzODAzRTc1MTMwQTMwMUIwMkQyMTMxMjEyRURFRjU0MDFGNTE5NjUyQTYwMDU4NTE5MkFEMjA3MTIxMzNGRUY1NDgwRjUxOTY1MjY2MDA1ODUxOTI2RDIwNzMwMEQxMTEyNjUKKzo0MDA0MDYwMDEzM0ZFRjU0MTBGNTE5NjUyNTYwMDU4NTE5MjVEMjA3MjAxQjAzMDIwN0VDMzAwQTE4MTIxMzdCRUZDMzk1M0Q0MDAzMDIwNEFFOTA3RkMxNzQwMUYwQzIwQUMyMDA4MDc3MzAwNDNCOTA3RkNBRTAyMEUxNkQxMjEzN0JFRkMzMzYKKzo0MDA0NDYwMDk0NDA1MDY0OTA3RDQwRTAxMzkyMEE5MDdGQ0JFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3RDdGNDE3NTBDN0Q3NTBENDExMjBEMTJDMjA0RTQ5MDdGQ0JGMDgwMzk5MDdGQ0NFMDIwRTEzMjEyMTM3QkVGQzM5NDQwNTAyOTkwQTIKKzo0MDA0ODYwMDdDQzBFMDEzOTIwQTkwN0ZDREUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdDN0ZDMTc1MEM3Qzc1MERDMTEyMEQxMkQyMDRFNDkwN0ZDREYwOTA3RkJBRTAzMEUxMDMwMjA1MzYxMjEyMkU4RjE5MTIxMzg3OEYzN0U1MTlDMzk1MDMKKzo0MDA0QzYwMDNCNTAwRjEyMTM2M0VGMzBFMDA4RTUzNzIwRTcwMzMwMEM1RUMyMENFNTE5NjA1OEI0ODAwMzQzMzcwMkU1MzczMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0Q3RjgwNzUwQzdENzUwRDgwQUYzNzEyMEY5MkU1RTkKKzo0MDA1MDYwMDE5MjVFMDkwN0ZCQkYwODAyN0U1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTA4OTA3RDgwRTUzN0YwN0U3RDdGODE3NTBDN0Q3NTBEODExMjBEMzdFNTE5MDQ5MDdGQkJGMDkwN0ZEMEUwMzBFMTA2MjAwNjAzMDIwNzk3QzIwNkU0RUEKKzo0MDA1NDYwMEY1MTg3NEMwMjUxOEY1ODJFNDM0N0JGNTgzRTBGRkU1MTg3QzAwN0IwMTdBN0U3OTIwMjQyMEY5RUMzNDdFRkFFRjEyMEVFMDA1MThFNTE4QjQyMEQ3OTA3RTIwRTA2MDY4OTA3RTIzRTA2MDI0N0YwMUU0RkQxMjEyMDk3RjAzMEMKKzo0MDA1ODYwMDdEQ0QxMjEyMDk0MzQ3ODA5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBFNDkwN0UzM0YwODAzMDkwN0UyMUUwRkYxMjExMjc5MDdFMjJFMEZGMTIxMTREN0YwMTkwN0UzMUUwRkQxMjEyMDk3RjAzN0QwNzEyMTIwOTQzNDc4MDkwRkYKKzo0MDA1QzYwMDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdGOTg3NDBBRjBFNTQxNDQwNjkwQzAwMEYwOTA3RTIzRTA3MDA2OTA3RTMzRTA3MDA4RTQ5MDdFMzNGMDc1MkVGRjkwN0UyNUUwNjAxMkEzRTA1NDNGRjU0NTkwN0Y5ODc0MEJGMDkwRUIKKzo0MDA2MDYwMEMwMDBFNTQ1RjA5MDdFMjdFMDYwMkJBM0UwNjAwNTQzNDM4MDgwMDM1MzQzN0Y1MzQzRkM5MDdFMjlFMDYwMTE0MzQzMDJBM0UwRkYxMjExNzM5MDdFMkJFMEZGMTIxMTk5QUY0MzEyMTEwMTkwN0UyM0UwNjAwODUzNDM3RkFGRDMKKzo0MDA2NDYwMDQzMTIxMTAxOTA3RTJDRTA2MDE4QTNFMDYwMDU0MzQ3MDI4MDAzNTM0N0ZEOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTJFRTA2MDE4QTNFMDYwMDU0MzQ3MDE4MDAzNTM0N0ZFOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwQzUKKzo0MDA2ODYwMDkwN0UzMkUwRjUzQkEzRTAxMzkyMEVBM0UwRjUzREEzRTA2MDA1NDM0NzEwODAwMzUzNDdFRjkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UzNkUwNjAzMjUzNDVCRjkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdGNzkKKzo0MDA2QzYwMDk4NzQwOUYwMTIxMzU3RUY1NEZFOTBDMDAwRjA1MzNGRkRFNEZGQUQzRjEyMTIwOUU0RjUzM0Y1MzJEMjA4OTA3RTM3RTA2MDBGNDMzRjAyRTRGRkFEM0YxMjEyMDk3NTMyMDFEMjA4OTA3RTM4RTA2MDEwOTA3Rjk4NzQwQUYwMTkKKzo0MDA3MDYwMEU1NDE0NDA0OTBDMDAwRjBEMjAwOTA3RTM5RTA2MDExNDM0NTQwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0UzQUUwNjAwRjUzM0ZGRUU0RkZBRDNGMTIxMjA5NzUzNDAxRDIwODkwN0UzQkUwNjAwRjQzM0YwMUU0REEKKzo0MDA3NDYwMEZGQUQzRjEyMTIwOUU0RjUzNEQyMDg5MDdFM0NFMDYwMEU5MDdGOTg3NDBBRjBFNTQxNDQwMjkwQzAwMEYwOTA3RTNERTA2MDAyRDIwQzkwN0UzRUUwNjAwODc1MzUwMUU0RjUzOUQyMDg5MDdFM0ZFMDYwMTE5MDdGRDc3NDEzN0EKKzo0MDA3ODYwMEYwNzQzM0YwNzQxNkYwNzQzNkYwRDIwNEU0OTA3RkQxRjAzMDFBNTJFNTM5NjAwMjE1MzkzMDEzNDlFNTEzRDM5NDAwNDAwNDE1MTM4MDNFNzUxMzBBMzAxQjAyQzIxMzEyMTM1N0VGNTQwMUY1MTk2NTMzNjAwNTg1MTkzM0QyNkQKKzo0MDA3QzYwMDA4MTIxMzkzRUY1NDgwRjUxOTY1MkY2MDA1ODUxOTJGRDIwODMwMEUxMTEyMTM5M0VGNTQxMEY1MTk2NTJFNjAwNTg1MTkyRUQyMDgzMDFBMkE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUxNTkwN0I0MkUwRjUxNjkwMUQKKzo0MDA4MDYwMDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwOTA3RkMyRTAzMEUxMDMwMjA5MjBFNTBBNzA0MDMwMDczOUU1Mzg3MDM1QzIwN0Y1MTg3RTAwN0IwMDc0MjQyNTE4RjlFRTM0MDBGQTEyMEU5QUZGNzQ4MDI1QUYKKzo0MDA4NDYwMDE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM4MTBFNEY1MkM3NTBBMDEyMkU1MEE2NDAxNzA0MDMwMDgzOUU1Mzk3MDM1QzIwOEY1MTg3RTAwN0IwMDc0MkQyNTE4RjlFRTM0MDBGQTEyOTcKKzo0MDA4ODYwMDBFOUFGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM5MTBFNEY1MzU3NTBBMDIyMkU1MEE2NDAyNzAzNjMwMTQyRkMyMTRGNTE4N0UwMDdCMDA3NDBFMjUxOEY5RUUzNDAwNzUKKzo0MDA4QzYwMEZBMTIwRTlBRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwNURCOTA3RkMzNzQwNUYwNzUwQTAzMjJFNTE1NjAzMDE1MTVFNEY1MTg3RTAwN0IwMDc0MTQyNTE4RjlFRTM0MDBGQTEyMEU5QUZGNzQ4MDI1RDYKKzo0MDA5MDYwMDE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDAzREI5MDdGQzM3NDAzRjBFNEY1MEEyMjkwN0ZFOUUwMTIwRUYyMEEwODAwMEE3QzAxMEFFODAzMDk0NDA2MDlGQjA4MDlGNTA5MDlERDBBMDlFQzBCMDAwMDBCMzc5MDdGMkYKKzo0MDA5NDYwMEVCRTAyNEZFNjAxOTE0NjA2MTI0MDI2MDAzMDIwOUQzNzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwQjNFOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI3Qjc1ODMxOUYwNzU4Mjc0NzU4MzE5QjIKKzo0MDA5ODYwMEYwNzU4MjY2NzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDc0MTk5MDdGRDRGMDc0MTI5MDdGRDVGMDAyMEIzRTkwN0ZFQUUwRkYxMjBGMThFQTQ5NjAwREVBOTA3RkQ0RjBFOTkwN0ZENUYwNzcKKzo0MDA5QzYwMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGMDBFNTA5RjA5MDdGQjU3NDAxRjAwMjBCM0U5MDdGRUFFMEY1MDkwMjBCM0UxMjBCNDYwMjBCM0U5MDdGMDA3NDAxRjA5MDdGQjVGMDAyMDUKKzo0MDBBMDYwMDBCM0U5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjEwRTQzM0ZGMjVFMEZGQTIxNkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjNFRTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjBCM0U5MDdGMDQKKzo0MDBBNDYwMEVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZFOEUwMjRGRTYwMUQyNDAyMEYKKzo0MDBBODYwMDYwMDMwMjBCM0U5MDdGRUFFMEI0MDEwNUMyMTAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGQjYKKzo0MDBBQzYwMEVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjEwODAzRjkwN0ZCNEUwNDQwMUYwNDkKKzo0MDBCMDYwMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyRDQKKzo0MDBCNDYwMEU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxOEYwRTRGNThFOTA3RkRGNzRGRkYwOTA3RkRFRjBFNEY1MjQ3NTE4MDE3QjAwNzQyNDI1MThGOUU0MzQwMEZBOEIKKzo0MDBCODYwMEU0MTIwRUUwMDUxOEU1MThCNDA5RUE3NTNBMDFFNEY1MzhGNTEzRjUzNkMyMDdDMjBCQzIwNUMyMDBDMjA5QzIxMzkwN0Y5ODc0MTNGMDc1NDQwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMUJGN0YxMDhGNDIxMjEwOEY5MDdGRDgKKzo0MDBCQzYwMDk4NzQxMkYwN0YwMThGNDBFRjQ0MDY5MEMwMDBGMDkwN0Y5ODc0MTRGMDc1NDY4MDkwQzAwMDc0ODBGMDBGRTRGRDEyMTFCRkU0RkY3RUEzQUQwNjhEM0UxMjExQkY5MDdGOTg3NDExRjA5MEMwMDBFNEYwN0YwNTdEN0YxMjExNzIKKzo0MDBDMDYwMEJGN0YwMTEyMTI3ODdGMDM3RDA3MTIxMUJGN0YxMzdEMDExMjExQkYyMDFCMDMwMjBDQzU3NTJEMDE3NTE4MDE3QjAwNzQyRDI1MThGOUU0MzQwMEZBRTQxMjBFRTAwNTE4RTUxOEI0MDlFQTc1M0IwMUU0RjUzOUY1MTNGNTM3QjcKKzo0MDBDNDYwMEMyMDhDMjBDQzIwNkMyMDBDMjBBQzIxMzkwN0Y5ODc0MEJGMDc1NDUwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMjA5N0YxMDhGNDMxMjExMDE5MDdGOTg3NDBBRjA3RjAxOEY0MUVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQwQ0YwMEUKKzo0MDBDODYwMDc1NDc4MDkwQzAwMDc0ODBGMDBGRTRGRDEyMTIwOUU0RkY3RUEzQUQwNjhEM0YxMjEyMDk5MDdGOTg3NDA5RjA5MEMwMDBFNEYwN0YwNTdEN0YxMjEyMDk3RjAxMTIxMjk5N0YwMzdEMDcxMjEyMDk3RjEzN0QwMTEyMTIwOUQyOEQKKzo0MDBDQzYwMDEyMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1NjgKKzo0MDBEMDYwMDg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0Y5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1NzcKKzo0MDBENDYwMDgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRDIxOTkwN0Y5MkUwNDQwMkYwMEEKKzo0MDBEODYwMDkwN0ZBRUUwRkZEMzkyMTBFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUZEMjFBNTYKKzo0MDBEQzYwMDEyMTI1M0MyMTFFNEY1MEJGNTEzQzIxN0MyMTI5MDdGQTEwNEYwOTA3RkQ4RTA2NTE3NjAxMDMwMTIwNUQyMUExMjAwNDY5MDdGRDhFMEY1MTc4MDA4MzAxMjA1QzIxQTEyMDA0NjMwMTEwN0MyMTExMjA5MjE4MEQ2MzAxOEQzOEEKKzo0MDBFMDYwMEMyMTgxMjEzOUY4MENDMjI3ODdGRTRGNkQ4RkQ3NTgxNDcwMjBFNTUwMjBEN0RFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMzEKKzo0MDBFNDYwMDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMTJCQUU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4MjgKKzo0MDBFODYwMENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1NDgKKzo0MDBFQzYwMDgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxREUKKzo0MDBGMDYwMDkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERjhGMThFNEY1MTk3NTFBRkY3NTFCMTk3NTFDODZBQjFBQUExQkE5MUM5MDAwMDExMjBFQjNCNDAzMURBRjE5MDUxOUVGQjUxODAxMjIxMjBFOUE3RTAwMjlGRkVFQjYKKzo0MDBGNDYwMDNBQTkwNzc1MUFGRkY1MUI4OTFDODBENDdCMDA3QTAwNzkwMDIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMDAzNjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwN0IKKzo0MDBGODYwMDBBMTIxMzMzOEYxQUVGNDIzNjgwQ0EyMjhGMUEwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjEzNEIwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxMzg3OEYxQUVGRjgKKzo0MDBGQzYwMDQyMzc4MENBMjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjExMjMKKzo0MDEwMDYwMDUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxODUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4MzMKKzo0MDEwNDYwMDc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTBGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwQzAKKzo0MDEwODYwMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTJGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0QjMKKzo0MDEwQzYwMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTZGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCQ0MKKzo0MDExMDYwMEYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MDhGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1ODIKKzo0MDExNDYwMDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwOUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MENGMDkwQzMKKzo0MDExODYwMEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwRUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1Q0MKKzo0MDExQzYwMDQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxN0YwOTBDMDAwRUZGMDkwN0Y5ODc0MTVGMDkwQzAwMEVERjAyMjEyMTMxQjhGMUExMjEzMUI4RjFCRTUxQTY1MUI2MDEyMTIxMzFCOEYxQUU1MUE2NTFCNjAwNzEyMTMxQjhGMUI4MEU4RUQKKzo0MDEyMDYwMEFGMUEyMjkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdGOTg3NDBGRjA5MEMwMDBFRkYwOTA3Rjk4NzQwREYwOTBDMDAwRURGMDIyMTIxMzZGOEYxQTEyMTM2RjhGMUJFNTFBNjUxQjYwMTIxMjEzNkY4RjFBRTUxQTY1QUQKKzo0MDEyNDYwMDFCNjAwNzEyMTM2RjhGMUI4MEU4QUYxQTIyOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMUEwNEUwNDQwMkYwN0ZGNDdFMDExMjEyRDY5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjJBRTA3RTRGRkU1M0U1NDdGRkQxMjExQkY5MDdGMkYKKzo0MDEyODYwMDk4NzQxMUYwOTBDMDAwRUVGMEU0RTUzRTQ0ODBGRDEyMTFCRjIyQUUwN0U0RkZFNTNGNTQ3RkZEMTIxMjA5OTA3Rjk4NzQwOUYwOTBDMDAwRUVGMEU0RTUzRjQ0ODBGRDEyMTIwOTIyMDUwRTAyMDAwMDAwMDAwMzE0MDMwMDAwREYKKzo0MDEyQzYwMEMxMTFDMTE4QzE5NUMxMTBDMTE2MDEwQTAwQzE5QjAwOEUxODhGMTlFNTE5MTUxOUFFMTg3MDAyMTUxODRFNjAwNTEyMEQ1QzgwRUUyMjkwN0Y5ODc0MTFGMDkwQzAwMEUwRkYyMjUzRDhFRjMyMDAwMDAwMDIwRkY1MDAwMjEzNjcKKzo0MDEzMDYwMDA0MDAwMjBGQ0IwMDAyMTAxQzkwN0Y5ODc0MTJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTNGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTRGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTVGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTZGMDkwMkEKKzo0MDEzNDYwMEMwMDBFMEZGMjI5MDdGOTg3NDA4RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDA5RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBBRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBCRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBDRjA5MEMwMDBFMEZGQ0EKKzo0MDEzODYwMDIyOTA3Rjk4NzQwREYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwRUYwOTBDMDAwRTBGRjIyMTIwMDAzMTIwRDZEMTIwQjQ2MjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKKzo0MDEzQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzo0MDE0MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzo0MDE0NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzo0MDE0ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzo0MDE0QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzo0MDE1MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzo0MDE1NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzo0MDE1ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzo0MDE1QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzo0MDE2MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzo0MDE2NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzo0MDE2ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzo0MDE2QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzo0MDE3MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzo0MDE3NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzo0MDE3ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzo0MDE3QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzo0MDE4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzo0MDE4NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzo0MDE4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzo0MDE4QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIwMTEwMDFGRjAwQkYKKzo0MDE5MDYwMDAwNDBDRDA2MTUwMTAwMDAwMTAyMDAwMjA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwNzEKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjMKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDM2MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMjAwMDU1MDA1MzAwNDIwMDIwMDA1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAyMDAwNDEwMDY0MDA2MTAwNzAwMDc0MDA2NTAwRjkKKzowNDFBMDYwMDcyMDAwMDAwNkEKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4Yi5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eGIuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3Y2I3MDgKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eGIuSEVYCkBAIC0wLDAgKzEsMTQyIEBACis6MDMwMDMzMDAwMjAwMkQ5QgorOjA0MDAyRDAwNTNEOEVGMzI4MworOjEwMDA0NjAwMzAwOTE4MTIxMzMzRUZDMzk1M0M0MDAzMDIwMEQ4OTBEMQorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMDlDMjAwODA3NzMwMDMzQjkwN0ZGNgorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMTMzM0VGQzM5NDQwNTA2NDkwN0VENgorOjEwMDA3NjAwNDBFMDEzOTIwOTkwN0ZDN0UwMTRGNTE5MjAwMDExNjA0MworOjEwMDA4NjAwMEZGNTA4N0U3RTdGNDE3NTBDN0U3NTBENDExMjBDQ0NGNgorOjEwMDA5NjAwQzIwM0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzI0OAorOjEwMDBBNjAwMTIxMzMzRUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMDk5OAorOjEwMDBCNjAwOTA3RkM5RTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0RDOAorOjEwMDBDNjAwN0ZDMTc1MEM3RDc1MERDMTEyMENDQ0QyMDNFNDkwN0ZGNworOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTYwMTIxMUY1OEY5RQorOjEwMDBFNjAwMTkxMjEzM0Y4RjM2RTUxOUMzOTUzQTUwMEYxMjEzMUI5OQorOjEwMDBGNjAwRUYzMEUwMDhFNTM2MjBFNzAzMzAwQjVFQzIwQkU1MTk2QQorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMTMwMEE1Cis6MTAwMDAzMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDZFCis6MTAwMDEzMDA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMEFCCis6MEEwMDIzMDA4NEQwODVEMDgyRDA4M0QwRTAzMjczCis6MDMwMDAwMDAwMjBFMTJEQgorOjQwMDEwNjAwNjA1OEI0ODAwMzQzMzYwMkU1MzYzMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0U3RjgwNzUwQzdFNzUwRDgwQUYzNjEyMEY1REU1MTkyNUUwOTA3RkI3RjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDhDMgorOjQwMDE0NjAwOTA3RTgwRTUzNkYwN0U3RTdGODE3NTBDN0U3NTBEODExMjBDRjFFNTE5MDQ5MDdGQjdGMDkwN0ZDRUUwMzBFMTA2MjAwNTAzMDIwM0MxRTRGNTE4NzQ0MDI1MThGNTgyRTQzNDdDRjU4M0UwRkZFNTE4N0MwMDdCMDE3QTdFNzlBRgorOjQwMDE4NjAwMDAyNDAwRjlFQzM0N0VGQUVGMTIwRUU0MDUxOEU1MThCNDIwRDc5MDdFMDBFMDYwNjg5MDdFMDNFMDYwMjQ3RjAxRTRGRDEyMTFEMDdGMDM3RENEMTIxMUQwNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwRTQ5MDdFMTNGNgorOjQwMDFDNjAwRjA4MDMwOTA3RTAxRTBGRjEyMTA1NDkwN0UwMkUwRkYxMjEwN0E3RjAxOTA3RTExRTBGRDEyMTFEMDdGMDM3RDA3MTIxMUQwNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3Rjk4NzQxMkYwRTU0MDQ0MDY5MEMwMDA5MworOjQwMDIwNjAwRjA5MDdFMDNFMDcwMDY5MDdFMTNFMDcwMDhFNDkwN0UxM0YwNzUyNUZGOTA3RTA1RTA2MDEyQTNFMDU0M0ZGNTQ0OTA3Rjk4NzQxM0YwOTBDMDAwRTU0NEYwOTA3RTA3RTA2MDJCQTNFMDYwMDU0MzQyODA4MDAzNTM0MjdGNTNDOAorOjQwMDI0NjAwNDJGQzkwN0UwOUUwNjAxMTQzNDIwMkEzRTBGRjEyMTBDNjkwN0UwQkUwRkYxMjEwRUNBRjQyMTIxMEEwOTA3RTAzRTA2MDA4NTM0MjdGQUY0MjEyMTBBMDkwN0UwQ0UwNjAxOEEzRTA2MDA1NDM0NjAyODAwMzUzNDZGRDkwN0ZGQgorOjQwMDI4NjAwOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMEVFMDYwMThBM0UwNjAwNTQzNDYwMTgwMDM1MzQ2RkU5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTJFMEY1M0FBM0UwMTM5MjBEQTNFMEY1M0NBM0UwNjAwNTQzNDYxMDgwMDMxNworOjQwMDJDNjAwNTM0NkVGOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTE2RTA2MDMyNTM0NEJGOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTFGMDEyMTMwRkVGNTRGRTkwQzAwMEYwNTMzRUZERTRGRkFEM0UxMjExRDA4MAorOjQwMDMwNjAwRTRGNTJBRjUyOUQyMDc5MDdFMTdFMDYwMEY0MzNFMDJFNEZGQUQzRTEyMTFEMDc1MjkwMUQyMDc5MDdFMThFMDYwMTA5MDdGOTg3NDEyRjBFNTQwNDQwNDkwQzAwMEYwRDIwMDkwN0UxOUUwNjAxMTQzNDQ0MDkwN0Y5ODc0MTMwRQorOjQwMDM0NjAwRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3RTFBRTA2MDBGNTMzRUZFRTRGRkFEM0UxMjExRDA3NTJCMDFEMjA3OTA3RTFCRTA2MDBGNDMzRTAxRTRGRkFEM0UxMjExRDBFNEY1MkJEMjA3OTA3RTFDRTA2MDBFOTA3Rjk4NzQxMkYwRTVGOAorOjQwMDM4NjAwNDA0NDAyOTBDMDAwRjA5MDdFMURFMDYwMDJEMjBCOTA3RTFFRTA2MDA4NzUyQzAxRTRGNTM4RDIwNzkwN0UxRkUwNjAxMTkwN0ZENzc0MTFGMDc0MzFGMDc0MTVGMDc0MzVGMEQyMDNDMjA1RTQ5MDdGQ0ZGMDMwMUE1NEU1Mzg5RQorOjQwMDNDNjAwNjAwMjE1MzgyMDEzNEJFNTEzRDM5NDAwNDAwNDE1MTM4MDQwNzUxMzBBMzAxQjAyRDIxMzEyMTMwRkVGNTQwMUY1MTk2NTJBNjAwNTg1MTkyQUQyMDcxMjEzNEJFRjU0ODA2NDgwRjUxOTY1MjY2MDA1ODUxOTI2RDIwNzMwMEQ3MQorOjQwMDQwNjAwMTExMjEzNEJFRjU0MTBGNTE5NjUyNTYwMDU4NTE5MjVEMjA3MjAxQjAzMDIwN0YwMzAwQTE4MTIxMzg3RUZDMzk1M0Q0MDAzMDIwNEIwOTA3RkMxNzQwMUYwQzIwQUMyMDA4MDc3MzAwNDNCOTA3RkNBRTAyMEUxNkQxMjEzODc5QgorOjQwMDQ0NjAwRUZDMzk0NDA1MDY0OTA3RDQwRTAxMzkyMEE5MDdGQ0JFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3RDdGNDE3NTBDN0Q3NTBENDExMjBEMTZDMjA0RTQ5MDdGQ0JGMDgwMzk5MDdGQ0NFMDIwRTEzMjEyMTM4N0VGQzM5NDQwNTA5OQorOjQwMDQ4NjAwMjk5MDdDQzBFMDEzOTIwQTkwN0ZDREUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdDN0ZDMTc1MEM3Qzc1MERDMTEyMEQxNkQyMDRFNDkwN0ZDREYwOTA3RkJBRTAzMEUxMDMwMjA1MzgxMjEyM0Y4RjE5MTIxMzkzOEYzN0U1MTk3RgorOjQwMDRDNjAwQzM5NTNCNTAwRjEyMTM2RkVGMzBFMDA4RTUzNzIwRTcwMzMwMEM1RUMyMENFNTE5NjA1OEI0ODAwMzQzMzcwMkU1MzczMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0Q3RjgwNzUwQzdENzUwRDgwQUYzNzEyMEZGQworOjQwMDUwNjAwOTZFNTE5MjVFMDkwN0ZCQkYwODAyN0U1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTA4OTA3RDgwRTUzN0YwN0U3RDdGODE3NTBDN0Q3NTBEODExMjBEM0JFNTE5MDQ5MDdGQkJGMDkwN0ZEMEUwMzBFMTA2MjAwNjAzMDIwNzk5RTQzMQorOjQwMDU0NjAwRjUxODc0QzAyNTE4RjU4MkU0MzQ3QkY1ODNFMEZGRTUxODdDMDA3QjAxN0E3RTc5MjAyNDIwRjlFQzM0N0VGQUVGMTIwRUU0MDUxOEU1MThCNDIwRDc5MDdFMjBFMDYwNjg5MDdFMjNFMDYwMjQ3RjAxRTRGRDEyMTIxQTdGMDNGNworOjQwMDU4NjAwN0RDRDEyMTIxQTQzNDc4MDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEU0OTA3RTMzRjA4MDMwOTA3RTIxRTBGRjEyMTEzODkwN0UyMkUwRkYxMjExNUU3RjAxOTA3RTMxRTBGRDEyMTIxQTdGMDM3RDA3MTIxMjFBNDM0NzgwOTBBQQorOjQwMDVDNjAwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0Y5ODc0MEFGMEU1NDE0NDA2OTBDMDAwRjA5MDdFMjNFMDcwMDY5MDdFMzNFMDcwMDhFNDkwN0UzM0YwNzUyRUZGOTA3RTI1RTA2MDEyQTNFMDU0M0ZGNTQ1OTA3Rjk4NzQwQkYwOTBFQgorOjQwMDYwNjAwQzAwMEU1NDVGMDkwN0UyN0UwNjAyQkEzRTA2MDA1NDM0MzgwODAwMzUzNDM3RjUzNDNGQzkwN0UyOUUwNjAxMTQzNDMwMkEzRTBGRjEyMTE4NDkwN0UyQkUwRkYxMjExQUFBRjQzMTIxMTEyOTA3RTIzRTA2MDA4NTM0MzdGQUZBMAorOjQwMDY0NjAwNDMxMjExMTI5MDdFMkNFMDYwMThBM0UwNjAwNTQzNDcwMjgwMDM1MzQ3RkQ5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMkVFMDYwMThBM0UwNjAwNTQzNDcwMTgwMDM1MzQ3RkU5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBCNAorOjQwMDY4NjAwOTA3RTMyRTBGNTNCQTNFMDEzOTIwRUEzRTBGNTNEQTNFMDYwMDU0MzQ3MTA4MDAzNTM0N0VGOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTM2RTA2MDMyNTM0NUJGOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y3OQorOjQwMDZDNjAwOTg3NDA5RjAxMjEzNjNFRjU0RkU5MEMwMDBGMDUzM0ZGREU0RkZBRDNGMTIxMjFBRTRGNTMzRjUzMkQyMDg5MDdFMzdFMDYwMEY0MzNGMDJFNEZGQUQzRjEyMTIxQTc1MzIwMUQyMDg5MDdFMzhFMDYwMTA5MDdGOTg3NDBBRjBFQgorOjQwMDcwNjAwRTU0MTQ0MDQ5MEMwMDBGMEQyMDA5MDdFMzlFMDYwMTE0MzQ1NDA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3RTNBRTA2MDBGNTMzRkZFRTRGRkFEM0YxMjEyMUE3NTM0MDFEMjA4OTA3RTNCRTA2MDBGNDMzRjAxRTRDOQorOjQwMDc0NjAwRkZBRDNGMTIxMjFBRTRGNTM0RDIwODkwN0UzQ0UwNjAwRTkwN0Y5ODc0MEFGMEU1NDE0NDAyOTBDMDAwRjA5MDdFM0RFMDYwMDJEMjBDOTA3RTNFRTA2MDA4NzUzNTAxRTRGNTM5RDIwODkwN0UzRkUwNjAxMTkwN0ZENzc0MTM2OQorOjQwMDc4NjAwRjA3NDMzRjA3NDE2RjA3NDM2RjBEMjA0QzIwNkU0OTA3RkQxRjAzMDFBNTRFNTM5NjAwMjE1MzkzMDEzNEJFNTEzRDM5NDAwNDAwNDE1MTM4MDQwNzUxMzBBMzAxQjAyQzIxMzEyMTM2M0VGNTQwMUY1MTk2NTMzNjAwNTg1MTk5OAorOjQwMDdDNjAwMzNEMjA4MTIxMzlGRUY1NDgwNjQ4MEY1MTk2NTJGNjAwNTg1MTkyRkQyMDgzMDBFMTExMjEzOUZFRjU0MTBGNTE5NjUyRTYwMDU4NTE5MkVEMjA4MzAxQTJBOTA3RkQyRTAyMEUxMjM5MDdCNDBFMDYwMDlFMEY1MTU5MDdCNDI5NworOjQwMDgwNjAwRTBGNTE2OTA3QjQxRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwRTQ5MDdGRDNGMDkwN0ZDMkUwMzBFMTAzMDIwOTI0RTUwQTcwNDAzMDA3MzlFNTM4NzAzNUMyMDdGNTE4N0UwMDdCMDA3NDI0MjUxOEY5RUUzNDAwRkExMjBFOUU0NAorOjQwMDg0NjAwRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzODEwRTRGNTJDNzUwQTAxMjJFNTBBNjQwMTcwNDAzMDA4MzlFNTM5NzAzNUMyMDhGNTE4N0UwMDdCMDA3NDJEMjUxOEY5RUVCRgorOjQwMDg4NjAwMzQwMEZBMTIwRTlFRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzOTEwRTRGNTM1NzUwQTAyMjJFNTBBNjQwMjcwMzYzMDE0MkZDMjE0RjUxODdFMDA3QjAwNzQwRTI1MTg0QworOjQwMDhDNjAwRjlFRTM0MDBGQTEyMEU5RUZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDVEQjkwN0ZDMzc0MDVGMDc1MEEwMzIyRTUxNTYwMzAxNTE1RTRGNTE4N0UwMDdCMDA3NDE0MjUxOEY5RUUzNDAwRkExMjBFOUVDQgorOjQwMDkwNjAwRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwRTRGNTBBMjI5MDdGRTlFMDEyMEVGNjBBMEMwMDBBODAwMTBBRUMwMzA5NDgwNjA5RkYwODA5RjkwOTA5RTEwQTA5RjAwQjAwMDA0NAorOjQwMDk0NjAwMEIzQjkwN0ZFQkUwMjRGRTYwMTkxNDYwNjEyNDAyNjAwMzAyMDlENzc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMEI0MjkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODI4Mjc1ODMxOUVGRjA3NTgyN0I3NTgzMTlGMDc1ODJEQQorOjQwMDk4NjAwNzQ3NTgzMTlGMDc1ODI2Njc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA3NDE5OTA3RkQ0RjA3NDEyOTA3RkQ1RjAwMjBCNDI5MDdGRUFFMEZGMTIwRjFDRUE0OTYwMERFQTkwN0ZENEYwRTlCRQorOjQwMDlDNjAwOTA3RkQ1RjAwMjBCNDI5MDdGQjRFMDQ0MDFGMDAyMEI0MjkwN0ZCNEUwNDQwMUYwMDIwQjQyOTA3RjAwRTUwOUYwOTA3RkI1NzQwMUYwMDIwQjQyOTA3RkVBRTBGNTA5MDIwQjQyMTIwQjRBMDIwQjQyOTA3RjAwNzQwMUYwOTAzQgorOjQwMEEwNjAwN0ZCNUYwMDIwQjQyOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIxMEU0MzNGRjI1RTBGRkEyMTZFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEI0MkU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIyRQorOjQwMEE0NjAwMEI0MjkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjQyOTA3RkI0RTA0NDAxRjAwMjBCNDI5MDdGRThFMDI0RkU0RQorOjQwMEE4NjAwNjAxRDI0MDI2MDAzMDIwQjQyOTA3RkVBRTBCNDAxMDVDMjEwMDIwQjQyOTA3RkI0RTA0NDAxRjAwMjBCNDI5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFQQorOjQwMEFDNjAwRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIxMDgwM0Y5MDdGQjQ3QgorOjQwMEIwNjAwRTA0NDAxRjA4MDM2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTAxNworOjQwMEI0NjAwNDQwMkYwMjJFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMDkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MThGMEU0RjU4RTkwN0ZERjc0RkZGMDkwN0ZERUYwRTRGNTI0NzUxODAxN0IwMDc0MjQyNTE4Rjk0NQorOjQwMEI4NjAwRTQzNDAwRkFFNDEyMEVFNDA1MThFNTE4QjQwOUVBNzUzQTAxRTRGNTM4RjUxM0Y1MzZDMjA3QzIwQkMyMDVDMjAwQzIwOUMyMTM5MDdGOTg3NDEzRjA3NTQ0MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMTFEMDdGMTA4RjQyMTI1RgorOjQwMEJDNjAwMTBBMDkwN0Y5ODc0MTJGMDdGMDE4RjQwRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDE0RjA3NTQ2ODA5MEMwMDA3NDgwRjAwRkU0RkQxMjExRDBFNEZGN0VBM0FEMDY4RDNFMTIxMUQwOTA3Rjk4NzQxMUYwOTBDMDAwRTRGMDdGMDVCMAorOjQwMEMwNjAwN0Q3RjEyMTFEMDdGMDExMjEyODk3RjAzN0QwNzEyMTFEMDdGMTM3RDA5MTIxMUQwMjAxQjAzMDIwQ0M5NzUyRDAxNzUxODAxN0IwMDc0MkQyNTE4RjlFNDM0MDBGQUU0MTIwRUU0MDUxOEU1MThCNDA5RUE3NTNCMDFFNEY1Mzk3OAorOjQwMEM0NjAwRjUxM0Y1MzdDMjA4QzIwQ0MyMDZDMjAwQzIwQUMyMTM5MDdGOTg3NDBCRjA3NTQ1MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMTIxQTdGMTA4RjQzMTIxMTEyOTA3Rjk4NzQwQUYwN0YwMThGNDFFRjQ0MDY5MEMwMDBGMDkwN0ZDMAorOjQwMEM4NjAwOTg3NDBDRjA3NTQ3ODA5MEMwMDA3NDgwRjAwRkU0RkQxMjEyMUFFNEZGN0VBM0FEMDY4RDNGMTIxMjFBOTA3Rjk4NzQwOUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIxMjFBN0YwMTEyMTJBQTdGMDM3RDA3MTIxMjFBN0YxMzdEMDkyNworOjQwMENDNjAwMTIxMjFBRDIxMjIyOTA3Rjk4NzQxMEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBGRAorOjQwMEQwNjAwQzAwMEUwMDU4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI5MDdGOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MDhGMEFGMDhFNTBERjUzQQorOjQwMEQ0NjAwODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkQyMTk5MDdGOTJCOAorOjQwMEQ4NjAwRTA0NDAyRjA5MDdGQUVFMEZGRDM5MjEwRTQzM0ZFRUY0RUYwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBERjBBRAorOjQwMERDNjAwRDJBRkQyMUExMjEyNjRDMjExRTRGNTBCRjUxM0MyMTdDMjEyOTA3RkExMDRGMDkwN0ZEOEUwNjUxNzYwMTAzMDEyMDVEMjFBMTIwMDQ2OTA3RkQ4RTBGNTE3ODAwODMwMTIwNUMyMUExMjAwNDYzMDExMDdDMjExMTIwOTI1ODBGOQorOjQwMEUwNjAwRDYzMDE4RDNDMjE4MTIxM0FCODBDQzIyNzg3RkU0RjZEOEZENzU4MTQ3MDIwRTU5MDIwRDgxRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDBGQQorOjQwMEU0NjAwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDEyQ0JFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTMyMAorOjQwMEU4NjAwQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjJENQorOjQwMEVDNjAwNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM3QQorOjQwMEYwNjAwOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREY4RjE4RTRGNTE5NzUxQUZGNzUxQjE5NzUxQzg2QUIxQUFBMUJBOTFDOTAwMDAxMTIwRUI3QjQwMzFEQUYxOTA1MTlFRkI1MTgwMTIyMTIwRTlFN0VDNAorOjQwMEY0NjAwMDAyOUZGRUUzQUE5MDc3NTFBRkZGNTFCODkxQzgwRDQ3QjAwN0EwMDc5MDAyMjhGMUEwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjAwMzYwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTVCQQorOjQwMEY4NjAwMDhFNTA4NjAwQTEyMTMzRjhGMUFFRjQyMzY4MENBMjI4RjFBMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIxMzU3MDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjAwQTEyMTNBQQorOjQwMEZDNjAwOTM4RjFBRUY0MjM3ODBDQTIyRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA5MDdGOTVGMDkwN0Y5RTc0MjdGMDkwN0Y5ODc0MjBGMDkwN0Y5RTc0MDdGMEU0OTA3Rjk0RjA5MDdGOUQ3NEZGRjBFNDkwN0Y5N0YwMjI3QworOjQwMTAwNjAwQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxMTUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxODUzOTFFRjkwN0ZBQjc0MDg3RQorOjQwMTA0NjAwRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTBGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjAwQworOjQwMTA4NjAwOTA3Rjk4NzQxMUYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTJGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjIwQQorOjQwMTBDNjAwOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTZGMDkwQzAwMEVGRjA5MDdGOTgwNworOjQwMTEwNjAwNzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0ZGQQorOjQwMTE0NjAwOTg3NDA4RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwOUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y3MQorOjQwMTE4NjAwOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBDRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwRUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGRAorOjQwMTFDNjAwRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxN0YwOTBDMDAwRUZGMDkwN0Y5ODc0MTVGMDkwQzAwMEVERjAyMjEyMTMyNzhGMUExMjEzMjc4RjFCRTUxQTY1MUI2MDEyMTI5MgorOjQwMTIwNjAwMTMyNzhGMUFFNTFBNjUxQjYwMDcxMjEzMjc4RjFCODBFOEFGMUEyMjkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdGOTg3NDBGRjA5MEMwMDBFRkYwOTA3Rjk4NzQwREYwOTBDMDAwRURGMDIyMTIxMzdCOEYxQTEyMTMyNQorOjQwMTI0NjAwN0I4RjFCRTUxQTY1MUI2MDEyMTIxMzdCOEYxQUU1MUE2NTFCNjAwNzEyMTM3QjhGMUI4MEU4QUYxQTIyOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMUEwNEUwNDQwMkYwN0ZGNDdFMDExMjEyRTc5MDdGRDZFMDU0RjdGMEUwNDRFMQorOjQwMTI4NjAwMDRGMDIyQUUwN0U0RkZFNTNFNTQ3RkZEMTIxMUQwOTA3Rjk4NzQxMUYwOTBDMDAwRUVGMEU0RTUzRTQ0ODBGRDEyMTFEMDIyQUUwN0U0RkZFNTNGNTQ3RkZEMTIxMjFBOTA3Rjk4NzQwOUYwOTBDMDAwRUVGMEU0RTUzRjQ0ODA5NQorOjQwMTJDNjAwRkQxMjEyMUEyMjA1MEUwMjAwMDAwMDAwMDMxNDAzMDAwMEMxMTFDMTE4QzE5NUMxMTBDMTE2MDEwQTAwQzE5QjAwOEUxODhGMTlFNTE5MTUxOUFFMTg3MDAyMTUxODRFNjAwNTEyMEQ2MDgwRUUyMjAwMDAwMjEwMDYwMDAyMTM3RQorOjQwMTMwNjAwMDQwMDAyMDAwMzAwMDIxMDJEOTA3Rjk4NzQxMUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxMkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBGNQorOjQwMTM0NjAwQzAwMEUwRkYyMjkwN0Y5ODc0MTZGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MDhGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MDlGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEJGMDkwQzAwMEUwRkZDMAorOjQwMTM4NjAwMjI5MDdGOTg3NDBDRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBERjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBFRjA5MEMwMDBFMEZGMjIxMjBGQ0YxMjBENzExMjBCNEEyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxMDAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3NgorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMDA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGNAorOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2E0OXcuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2E0OXcuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNWIzZDEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5dy5IRVgKQEAgLTAsMCArMSwxNDUgQEAKKzowMzAwMzMwMDAyMThGQkI1Cis6MEMwMDM2MDA5MDc4NDE3NDAxRjA5MEMwMDBFMEZGMjJCRgorOjEwMDA0NjAwRTRGRjc0NDAyRkY1ODJFNDM0N0JGNTgzRTBGRUU1MTU4QQorOjEwMDA1NjAwMjQwNEZERTQzNTE0RkFBOTA1N0IwMUVGN0MwMDI5Rjk5NworOjEwMDA2NjAwRUMzQUZBRUUxMjExRjEwRkJGMjJEN0U1MTUyNDA1RjU4OQorOjEwMDA3NjAwODJFNDM1MTRGNTgzRTA3MDAzMDIwMTM0RTUxNTI0MDlBMgorOjEwMDA4NjAwRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQwQUY1ODI1MQorOjEwMDA5NjAwRTQzNTE0RjU4M0UwNjAxODdGMDFFNEZEMTIxNjQ3RTVBOAorOjEwMDBBNjAwMTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0Q0ZGMDgwNDExMAorOjEwMDBCNjAwRTUxNTI0MDZGNTgyRTQzNTE0RjU4M0UwRkYxMjE2NzY3RAorOjEwMDBDNjAwRTUxNTI0MDdGNTgyRTQzNTE0RjU4M0UwRkYxMjAwMDNGNQorOjEwMDBENjAwN0YwMUU1MTUyNDA4RjU4MkU0MzUxNEY1ODNFMEZEMTI2OQorOjEwMDBFNjAwMTY0N0U1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MzBFRQorOjEwMDBGNjAwRjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA0NDgwRjAwMworOjEwMDAwMzAwOTA3ODQxNzQwM0YwOTBDMDAwNzRCRkYwOTA3ODQxNzQwRAorOjEwMDAxMzAwMDFGMDkwQzAwMEVGRjA5MDc4NDE3NDAzRjBFNTE1MjRFRgorOjEwMDAyMzAwMzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI2NQorOjAzMDA0MzAwMDIxQjAwOUQKKzowMzAwMDAwMDAyMTA5NTU2Cis6NDAwMTA2MDA5MDc4NDE3NDA0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMDkwNzg0MTc0MDJGMEU1MTUyNDM2RjU4MkU0MzUxNEY1ODNFMDQ0MDY5MEMwMDBGMEU1MTUyNDBCRjU4MkU0MzUxNEY1ODNFMDYwMzJFNTE1MjQwQzBCCis6NDAwMTQ2MDBGNTgyRTQzNTE0RjU4M0UwNTQzRkZGRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0VGRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDBERjU4MkU0MzUxNEY1ODNFMDcwMDMwMjAyNEZFNTg4Cis6NDAwMTg2MDAxNTI0MTdGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDQ0MDRGMDgwMEZFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NEZCRjBFNEZGRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwRkQxMjE2NDdFNTVFCis6NDAwMUM2MDAxNTI0MEVGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDQ0ODBGMDgwMEZFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA1NDdGRjBFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA1NEZDRjBFNTE1MjQwRkVCCis6NDAwMjA2MDBGNTgyRTQzNTE0RjU4M0UwNjAyRkU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDQ0MDJGMEU1MTUyNDEwRjU4MkU0MzUxNEY1ODNFMEZGMTIxNUU3RTUxNTI0MTFGNTgyRTQzNTE0RjU4M0UwRkYxMjE2MTdFNTE1MjQzM0Y1ODJFNDVFCis6NDAwMjQ2MDAzNTE0RjU4M0UwRkYxMjE1QjdFNTE1MjQxNEY1ODJFNDM1MTRGNTgzRTA2MDQ0RTUxNTI0MTVGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDQ0MDFGMDgwMEZFNTE1MjQzOUY1ODJFNDM1MTRGNTgxCis6NDAwMjg2MDA4M0UwNTRGRUYwOTA3ODQxNzQwNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQxMkY1ODJFNDM1MTRGNTgzRTA2MDQ0RTUxNTI0MTNGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDM5RjU4MkU0MzUxNEU2Cis6NDAwMkM2MDBGNTgzRTA0NDAyRjA4MDBGRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNTRGREYwOTA3ODQxNzQwNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQxNkY1ODJFNDM1MTRGNTgzRTBGRkU1MTUyNDM1RjU4MjBBCis6NDAwMzA2MDBFNDM1MTRGNTgzRUZGMEU1MTUyNDE3RjU4MkU0MzUxNEY1ODNFMDMwRTAxMUU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0NDBGMDgwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NEJGRjBFNTE1MjQxOEY1ODJFNDM1MTRGNTc2Cis6NDAwMzQ2MDA4M0UwRkZFNTE1MjQzQkY1ODJFNDM1MTRGNTgzRUZGMEU1MTUyNDE5RjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA0NDEwRjA4MDBGRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNTRFRkYwOTA3ODY5Cis6NDAwMzg2MDA0MTc0MDRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MUFGNTgyRTQzNTE0RjU4M0UwNjA2QkU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0QkZGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU4MkU0MzUxNEZGCis6NDAwM0M2MDBGNTgzRTA1NDdGOTBDMDAwRjA5MDc4NDE3NDAxRjAxMjAwMzZFRjU0RkU5MEMwMDBGMEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0RkRGRkYwRkRFNEZGMTIxNjQ3RTUxNTI0MkNGNTgyRTQzNTE0RjU4M0U0RjBFNTE1MjQyQkI3Cis6NDAwNDA2MDBGNTgyRTQzNTE0RjU4M0U0RjBFNTE2NDIxM0U1MTUyNDFCRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDI4RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQwMkZGRjBGREU0RkYxMjE2NDdFNTQ3Cis6NDAwNDQ2MDAxNTI0MkJGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1MTY0MjEzRTUxNTI0MUNGNTgyRTQzNTE0RjU4M0UwRkY3MDBFRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyQTkwNzg0MTc0MDJGMEU1MTUyNDM2RjU4MkU0MzUxNEY1ODNFMEM2Cis6NDAwNDg2MDA0NDA0OTBDMDAwRjBFRjYwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDA0RjBFNTE1MjQxREY1ODJFNDM1MTRGNTgzRTA2MDI3RTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNDQ0MEYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTUwCis6NDAwNEM2MDA4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMEU1MTUyNDFFRjU4MkU0MzUxNEY1ODNFMDYwMjhFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NEZFRkZGMEZERTRGRjEyMTY0N0U1MTUyNDJERjU4MkU0MzUxNEY1ODM3NDAxRjBFNThGCis6NDAwNTA2MDAxNjQyMTNFNTE1MjQxRkY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyN0U1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDQ0MDFGRkYwRkRFNEZGMTIxNjQ3RTUxNTI0MkRGNTgyRTQzNTE0RjU4Mzk3Cis6NDAwNTQ2MDBFNEYwRTUxNjQyMTNFNTE1MjQyMEY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAxODkwNzg0MTc0MDJGMEU1MTUyNDM2RjU4MkU0MzUxNEY1ODNFMDQ0MDI5MEMwMDBGMEU1MTUyNDIxRjU4MkE3Cis6NDAwNTg2MDBFNDM1MTRGNTgzRTA2MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQwMkYwRTUxNTI0MjJGNTgyRTQzNTE0RjU4M0UwNjAxRkU1MTUyNDJFRjU4MkU0MzUxNEY1ODM3NDAxRjBFNTE1MjQzQUY1ODJFNDM1MTRGNTgzRTRGMEYwCis6NDAwNUM2MDBFNTE2NDIxM0U1MTUyNDIzRjU4MkU0MzUxNEY1ODNFMDYwMDMxMjE4ODVFNTE1MjQyNEY1ODJFNDM1MTRGNTgzRTA2MDFCRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQwOEYwOTA3Rjk4RTBGRkU1MTZGNEZFRUY1RUYwRTUxNTZDCis6NDAwNjA2MDAyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMTZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NEY3RjA5MDdGOThFMDQ1MTZGMDIyOTA3RkU5RTAxMjEyMDMwNzgzMDAwN0Y3MDEwODYzMDMwNjRDMDYwNzc0MDgwNzY4MDkwNzUwMEEwN0NFCis6NDAwNjQ2MDA1RjBCMDAwMDA4QjI5MDdGRUJFMDI0RkU2MDFDMTQ3MDAzMDIwNkZFMjQwMjYwMDMwMjA3NDY3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA4Qjk5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA5MDdGRUFFMDMwRTAwNDdGMDM4MDJECis6NDAwNjg2MDAwMjdGMDI3NTgyODI3NTgzMTlFRkYwNzU4MjZENzU4MzE5RjA3NTgyNjY3NTgzMTlGMDc1ODI1Rjc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUFFMDMwRTEwNDdGNjQ4MDAyN0YzMjc1ODIxQTc1ODMxOUVGRjA5MDdGRUZFMEZCCis6NDAwNkM2MDBGRTkwN0ZFRUUwN0MwMDI0MDBGNTE5RUMzRUY1MTg3NTMzMTk3NTM0MTI3NTgyMTQ3NTgzMTlFMDc1MjcwMEY1MjhEM0U1Mjg5NTE5RTUyNzk1MTg0MDA2ODUxODI3ODUxOTI4MTIxMzEyMDIwOEI5OTA3RkVBRTBGRjEyMTQyQkM5Cis6NDAwNzA2MDBFQTQ5NjAzMjkwN0ZFRUUwNzUxODAwRjUxOUFFMDJBRjAxOEUzMzhGMzQ4RjgyOEU4M0UwRkVBM0UwOEUyN0Y1MjhEMzk1MTlFNTI3OTUxODQwMDY4NTE4Mjc4NTE5MjgxMjEzMTIwMjA4Qjk5MDdGQjRFMDQ0MDFGMDAyMDhCOTlFCis6NDAwNzQ2MDA5MDdGQjRFMDQ0MDFGMDAyMDhCOTkwN0YwMEU1MjVGMDkwN0ZCNTc0MDFGMDAyMDhCOTkwN0ZFQUUwRjUyNTAyMDhCOTkwN0ZFQUUwRjUyMjEyMEFCODAyMDhCOTkwN0YwMEU1MjJGMDkwN0ZCNTc0MDFGMDAyMDhCOTkwN0ZFOEJECis6NDAwNzg2MDBFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjAwRTQzM0ZGMjVFMEZGQTIwNkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwOEI5RTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjA4Qjk5MDdGRUNFMEY0NTQ4MDYzCis6NDAwN0M2MDBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA4Qjk5MDdGQjRFMDQ0MDFGMDAyMDhCOTkwN0ZFOEUwMjRGRTYwMUQyNDAyNjAwMzAyMDhCOTEwCis6NDAwODA2MDA5MDdGRUFFMEI0MDEwNUMyMDAwMjA4Qjk5MDdGQjRFMDQ0MDFGMDAyMDhCOTkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRjY3Cis6NDAwODQ2MDAxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjAwODAzRjkwN0ZCNEUwNDQwMUYwODAzNjkwN0ZFQUNCCis6NDAwODg2MDBFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyRTUxMTU0MEY3MDNECis6NDAwOEM2MDAwMzAyMDlCMjEyMTZBNUVGMjBFMTc1MTIxNzAzRUYxNEY1MTkxMjE4Q0NFRjI1MTlGRkU0MzNGRUMzRUY5NDgwRUU2NDgwOTQ4MDUwNTk4NTE1ODI4NTE0ODNFMEZFQTNFMEZGRjU4MjhFODNFMDMwRTAxMUU1MTUyNDMxRjU4MjUwCis6NDAwOTA2MDBFNDM1MTRGNTgzRTA0NDgwRjA4MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTQ3RkYwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMjBFMjEyRTUxOTYwMEVGNTIzRUYyNDAxRjUyREU0M0VGNTJDMTIxNEFERTRGRjEyMTRFM0MwCis6NDAwOTQ2MDBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU3NUQxMjE4Q0NFNTE1MjQzQkY1ODJFNDM1MTRGNTgzRTBGRUVGQzM5RTUwNDhFNTE1MjQyRkY1ODJFNDM1MTRGNTgzNzQwMUYwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTQ3Qjk5Cis6NDAwOTg2MDBGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFNEYwRTUxNjQyMTM5MDdGQzJFMDMwRTExMEU1MTUyNDI2RjU4MkU0MzUxNEY1ODNFMEY1MjQ4MDAzMTIxMkExMTIxNkQ0RUYzMEUxMDMwMjBBQjcxMjE3RDI4RjE5MTIxOEQ4RTUxNUQ1Cis6NDAwOUM2MDAyNDM4RjU4MkU0MzUxNEY1ODNFRkYwRTUxNTI0MzVGNTgyRTQzNTE0RjU4M0UwRkZFNTE5QzM5RjUwMjgxMjE4QjRFRjMwRTAyMUU1MTUyNDM4RjU4MkU0MzUxNEY1ODNFMDIwRTcxMkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMEMwCis6NDAwQTA2MDAyMEUxMDMwMjBBQjdFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NEZERjBFNTE5NzAwMzAyMEFCN0I0ODAwRkU1MTUyNDM4RjU4MkU0MzUxNEY1ODNFMDQ0MDJGMEU1MTUyNDM4RjU4MkU0MzUxNEY1ODNFMEZGMzBFNzI5RTUxOUNGCis6NDAwQTQ2MDBEMzk0MjA0MDAzNzUxOTIwODUxOTIzODUxNTgyODUxNDgzQTNBM0UwRkNBM0UwOEMyQ0Y1MkQxMjEzRERFNTE5MjVFMEZGMTIxNTE5MjJFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkyM0U1MTUyNDM4RjU4MkU0MzUxNEY1ODNFMDUzCis6NDAwQTg2MDBGRjg1MTU4Mjg1MTQ4M0EzQTNFMEZDQTNFMEY1ODI4QzgzRUZGMDg1MTU4Mjg1MTQ4M0EzQTNFMEZFQTNFMDI0MDFGNTJERTQzRUY1MkMxMjE0NkNFNTE5MDRGRjEyMTUxOTIyRTQ5MDdGOTNGMDkwN0Y5Qzc0RjBGMDkwN0Y5Njc3Cis6NDAwQUM2MDBGMEU0OTA3Rjk0RjA5MDc4NEEwNEYwRjU4RTkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MUZGMDkwNzg0Mzc0RkZGMEU0OTA3ODQxRjA5MDdGREY3NDlGRjA5MDdGREVGMDkwN0Y5MkUwNDQwMkYwN0U3QjdGQzA3NTgxCis6NDAwQjA2MDAxNDdCNzUxNUMwOTA3Rjk2NzRFRkYwNzUxNjAxMTIwRjEyN0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTY3NEVGRjA3NTE2MDFFNTE1MjQyNkY1ODJFNDM1MTRGNTgzRTRGMDdFN0U3RjQwODUxNTgyODUxNDgzNzQ3RUYwQTM3NEY1Cis6NDAwQjQ2MDA0MEYwN0U3RTdGODA4NTE1ODI4NTE0ODNBM0EzNzQ3RUYwQTM3NDgwRjA3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5Njc0REZGMDc1MTYwMjEyMEYxMjdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk2NzRERkYwNzUxNjAyRTUxNTM2Cis6NDAwQjg2MDAyNDI2RjU4MkU0MzUxNEY1ODM3NDAxRjA3RTdEN0ZDMDg1MTU4Mjg1MTQ4Mzc0N0RGMEEzNzRDMEYwN0U3RTdGMDA4NTE1ODI4NTE0ODNBM0EzNzQ3RUYwQTM3NDAwRjA3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5Njc0QkZGMDE4Cis6NDAwQkM2MDA3NTE2MDQxMjBGMTI3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5Njc0QkZGMDc1MTYwNEU1MTUyNDI2RjU4MkU0MzUxNEY1ODM3NDAyRjA3RTdEN0Y0MDg1MTU4Mjg1MTQ4Mzc0N0RGMEEzNzQ0MEYwN0U3RDdGODA4NTE1ODI4NUQzCis6NDAwQzA2MDAxNDgzQTNBMzc0N0RGMEEzNzQ4MEYwN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTY3NDdGRjA3NTE2MDgxMjBGMTI3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5Njc0N0ZGMDc1MTYwOEU1MTUyNDI2RjU4MkU0MzUxNEY1ODM3NDFDCis6NDAwQzQ2MDAwM0YwN0U3QzdGQzA4NTE1ODI4NTE0ODM3NDdDRjBBMzc0QzBGMDdFN0Q3RjAwODUxNTgyODUxNDgzQTNBMzc0N0RGMEEzNzQwMEYwQzIwQUMyMDlEMjAyMjJFNTEwMDQ1NDAzRjUxMDE0NjAxRjE0NjAzMTE0NjA0MzI0MDM3MDFCCis6NDAwQzg2MDA1MjdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk2NzRFRkYwNzUxNjAxODAzRDdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk2NzRERkYwNzUxNjAyODAyODdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwNzUxNjA0ODAxMzdFCis6NDAwQ0M2MDA3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5Njc0N0ZGMDc1MTYwOEU1MzI1NTE2NzAwMzAyMEUxMUU1MTZGNEZGNTIzMkU1MjY1NDdGRkU3MDBGRTUyQTU1MTY2MDI0OTA3Rjk4RTA0NTE2RjA4MDFCQkUyMDE4RTUxNTI0MzFGNTQzCis6NDAwRDA2MDA4MkU0MzUxNEY1ODNFMDMwRTMwOUU0RjUyQTkwN0Y5OEUwNUZGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFMDYwMDNFMDE0RjBFNTE1MjQzNEY1ODJFNDM1MTRGNTgzRTA2MDAzRTAxNEYwRTA2MDAzMDIwRTExNzQwQUYwMTIwMDlECis6NDAwRDQ2MDAzNkVGNTQwMUZGRjUxOUU1MTUyNDJDRjU4MkU0MzUxNEY1ODNFMDZGNjAwN0U1MTlGMEU1MTY0MjEzMTIxOEU0OEYxOUU1MTUyNDI3RjU4MkU0MzUxNEY1ODNFMEZGRTUxOTU0MTBGRTZGNjAwNkVFRjBFNTE2NDIxM0U1MTUyNDE1Cis6NDAwRDg2MDAyOEY1ODJFNDM1MTRGNTgzRTBGRkU1MTk1NDgwRkU2RjYwMDZFRUYwRTUxNjQyMTNFNTE1MjQyOUY1ODJFNDM1MTRGNTgzRTBGRkU1MTk1NDIwRkU2RjYwMTVFRUYwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMzBFNDA0RTUxNjY1Cis6NDAwREM2MDA0MjEzRTUxMjU1MTZGRkY1MTlFNTE1MjQyQUY1ODJFNDM1MTRGNTgzRTA2RjYwMTZFNTE5RjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU1MDRFNTE2NDIxM0U1MTc1NTE2RkZGNTE5RTUxNTI0MzBGNTgyRTQzNTE0RjU4MzgwCis6NDAwRTA2MDBFMDZGNjAwN0U1MTlGMEU1MTY0MjEzMjIzMDA5MDMwMjBGMTFFNTI0MTQ2MDJBMTQ2MDQxMTQ2MDU4MTQ2MDZGMjQwNDYwMDMwMjBFQ0Y3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMTEyMTJBMTc1MjQwMTVBCis6NDAwRTQ2MDAyMjdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk2NzRERkYwNzUxNjAyMTIxMkExNzUyNDAyMjI3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5Njc0QkZGMDc1MTYwNDEyMTJBMTc1MjQwMzIyN0U3QzdGODA3NTE0N0M3NTE1ODA5MDUxCis6NDAwRTg2MDA3Rjk2NzQ3RkYwNzUxNjA4MTIxMkExNzUyNDA0MjIzMDA0MzNDMjA0NTMxM0RGRTRGNTE5N0UwMDdCMDA3NDJFMjUxOUY5RUUzNDAwRkExMjExQUJGRjc0ODAyNTE5RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOUU1MTlCNDAzREI5MDJECis6NDAwRUM2MDA3RkMzNzQwM0YwNzUyNDA1MjJFNTM2NjAzQkQ1MzYwQTUzMTNFRjMwMEEwNEQyMDlDMjBBRTRGNTE5N0UwMDdCMDA3NDM1MjUxOUY5RUUzNDAwRkExMjExQUJGRjc0ODAyNTE5RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOUU1MTlCNDY3Cis6NDAwRjA2MDAwM0RCOTA3RkMzNzQwM0YwRTRGNTI0MjJFNEY1MUE3RTAwN0IwMUU1MTUyNTFBRjlFRTM1MTRGQUU0MTIxMUYxMDUxQUU1MUFCNDNDRThFNTE1MjQzNUY1ODJFNDM1MTRGNTgzNzQwMUYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTY5Cis6NDAwRjQ2MDA4MkU0MzUxNEY1ODM3NDAzRjA5MEMwMDBGMDdGMENFNEZEMTIxNjQ3N0YxMEU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFRkYwMTIxNUI3OTA3ODQxNzQwMkYwN0YwMUU1MTUyNDM2RjU4MkU0MzUxNEY1ODNFRkYwNDQwNjkwQzAwMEYxCis6NDAwRjg2MDBGMDkwNzg0MTc0MDRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODM3NDgwRjA5MEMwMDBGMDBGRTRGRDEyMTY0N0U0RkY3RUEzRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0VFRjBGRDEyMTY0NzkwNzg0MTc0MDFGMDkwQzAwMEU0RjA3Rjg5Cis6NDAwRkM2MDAwNTdEN0YxMjE2NDc3RjAxMTIxNTRGN0YwMzdEMDcxMjE2NDcyMjUzMTMzRjkwN0JGMUUwMzBFMzE2N0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTY3NEVGRjA3NTE2MDExMjA4QzE5MDdDMzFFMDMwRTMxNjdFN0M3RjAwNzUxNDE3Cis6NDAxMDA2MDA3Qzc1MTUwMDkwN0Y5Njc0REZGMDc1MTYwMjEyMDhDMTkwN0M3MUUwMzBFMzE2N0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTY3NEJGRjA3NTE2MDQxMjA4QzE5MDdDQjFFMDMwRTMxNjdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3RjM3Cis6NDAxMDQ2MDA5Njc0N0ZGMDc1MTYwODEyMDhDMTA1MTFFNTExNTQwRkY1MTg3MDFGOTA3ODQxRTA1NEY3RjA5MDdGOTlFMEY1MTc5MDc4NDFFMDQ0MDhGMDkwN0Y5OUUwRjRGNTEyMTIxMTIxMjJFNTE4QjQwMTA0MTIwQzczMjI5MDdGQzJFMDE4Cis6NDAxMDg2MDAyMEUxMDhFNTEzNjAwNDEyMEUxMjIyMTIwQzczMjI3ODdGRTRGNkQ4RkQ3NTgxMzcwMjEwREMwMjEyMjlFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMDdFCis6NDAxMEM2MDBDODgzNDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMTg1MEU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEEyCis6NDAxMTA2MDBFNDkzQTNDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkU5MDdGRDJFMDMwRTEwMzAyMTFBQUMyMDk5MDdCNDBFMDE0NjAyNjE0NjAzQjE0NjA1MDI0ODM2MDY0MjQ4MDcwNjM3RTdCN0ZDMDFDCis6NDAxMTQ2MDA3NTE0N0I3NTE1QzA5MDdGOTY3NEVGRjA3NTE2MDExMjAwNDY4MDRCN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDIxMjAwNDY4MDMzN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTY3NEJGRjA3NTE2MDQxMkZCCis6NDAxMTg2MDAwMDQ2ODAxQjdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk2NzQ3RkYwNzUxNjA4MTIwMDQ2ODAwMzEyMTc1Q0U0OTA3RkQzRjAyMkJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTg5Cis6NDAxMUM2MDAwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDg2Cis6NDAxMjA2MDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOTA3RkFFRTBGRkQzOTIwMEU0MzNGRUVGNEVGMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDhFCis6NDAxMjQ2MDA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGNzQwMUYwOTA3RkFFNzQwREYwRDJBRkQyMEIxMjE4MTRDMjAxRTRGNTJCRjUzMUMyMDdDMjAyNzUyOUYwOTA3RkQ4RTA2NTI2NjAwNjc1MzIwRkUwRjUyNkM5Cis6NDAxMjg2MDAzMDAyMDMxMjBGRDkzMDAxMDdDMjAxMTIwNjI5ODBFMjMwMDhERkMyMDgxMjE4MzU4MEQ4MjJFNTEzNTUxNjYwNkFFNTE1MjQzQUY1ODJFNDM1MTRGNTgzRTA3MDVDRTUxNkY0NTIxM0U1MTUyNDI2RkZFNDM1MTRGRUU0RkQwRkEyCis6NDAxMkM2MDBFRkFBMDY3MDAxMEUxNEY1ODI4QTgzRTBGQzc0ODAyREY1ODJFNDM0N0JGNTgzRUNGMDBEQkQwQkUyOTA3RkMzNzQwQkYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4Mzc0MTBGMEU1MTUyNDJFRjU4MkU0MzUxNEY1ODNFNEYwRTUxNUMxCis6NDAxMzA2MDAyNDJGRjU4MkU0MzUxNEY1ODNFNEYwMjJFNTI4NDUyNzYwNTdBRTI3QUYyOEQzRUY5NDQwRUU5NDAwNDAwNDdFMDA3RjQwQzNFNTI4OUZGNTI4RTUyNzlFRjUyN0U0RkRFREMzOUZFNDlFNTAxRjg1MzQ4Mjg1MzM4M0UwRkM3NDk0Cis6NDAxMzQ2MDAwMDJERjU4MkU0MzQ3RkY1ODNFQ0YwMEQwNTM0RTUzNDcwMDIwNTMzODBEQTkwN0ZBOTc0MDFGMDkwN0ZBQ0UwNDQwMUYwOTA3RkI1RUZGMDIyOTA3RkFDRTA1NEZFRjBFNDkwN0ZCNUYwMjJFNDkwN0Y5M0YwOTA3RjlDNzRGMEE3Cis6NDAxMzg2MDBGMDkwN0Y5NkYwRTQ5MDc4NEFGMDkwN0Y5NEYwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDMwMDAwN0U1Mjk1NEYwRkY4MDAyN0YwMEVGNDQwODkwNzg0MUYwRTQ5MDdGOThGMDkwN0Y5NUYwOTA3RjlFNzRGRkYwRTQ5MDdGOThGMEM5Cis6NDAxM0M2MDA5MDdGOTNGMDkwN0Y5Qzc0RjBGMEU0OTA3Rjk2RjA5MDdGOTJFMDU0RkRGMDIyOEYxQTA1MkRFNTJEQUUyQzcwMDIwNTJDMTRGNTgyOEU4M0U1MUFGMDEyMThGMDA1MkRFNTJEQUMyQzcwMDIwNTJDMTRGNTgyOEM4M0VGRjAxNTlECis6NDAxNDA2MDAyM0U1MjM2MDFGRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0MwODNDMDgyRTBGRTEyMThEODhGMUFFRTRGRDA4MkQwODNGMDgwQjUyMjhGMUFFNEY1MUI3NTFDRkY3NTFEMTk3NTFFODZBQjFDQUExREE5MUU5MDAwMDExMjExQzRCNEUxCis6NDAxNDQ2MDAwMzFEQUYxQjA1MUJFRkI1MUEwMTIyMTIxMUFCN0UwMDI5RkZFRTNBQTkwNzc1MUNGRkY1MUQ4OTFFODBENDdCMDA3QTAwNzkwMDIyRTQ5MDc4NDFGMDkwNzg0Rjc0QzBGMEU0OTA3ODUwRjBFNTJDOTA3ODUxRjBBRTJDRTUyREY4Cis6NDAxNDg2MDA5MDc4NTJGMDkwNzg1NEU1MjNGMDkwNzg1Nzc0MDRGMDkwN0ZFMkUwNDQxMEYwRTA1NEY3RjBFNDkwNzg1NUYwOTA3ODU1RTA2MEZBMjJFNDkwNzg0MUYwRTUyQzkwNzg0RkYwQUUyQ0U1MkQ5MDc4NTBGMDkwNzg1MTc0QzBGMDgxCis6NDAxNEM2MDBFNDkwNzg1MkYwOTA3ODU0RTUyM0YwOTA3ODU3NzQwNEYwRTQ5MDc4NTVGMDkwNzg1NUUwNjBGQTIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBGMTQ2MDEzMTQ2MDE3ODAwMDkwN0ZDN0VGRjA4MDEzOTA3RkM5RUZGMDgxCis6NDAxNTA2MDA4MDBDOTA3RkNCRUZGMDgwMDU5MDdGQ0RFRkYwRTUxNjQyMkEyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRjE0NjAxMzE0NjAxNzgwMDA5MDdGQjdFRkYwODAxMzkwN0ZCOUVGRjA4MDBDOTA3RkJCRUZGMDgwMDU5MDNCCis6NDAxNTQ2MDA3RkJERUZGMEU1MTY0MjJBMjJBRTA3RTRGRkU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0N0ZGRDEyMTY0NzkwNzg0MTc0MDFGMDkwQzAwMEVFRjBFNEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDQ0ODBGRDEyMTY0NzIyQzBFMEEwCis6NDAxNTg2MDBDMEYwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMEQwNzVEMDA4NTM5MUVGOTA3RkE5NzQwMUYwMTIxMzEyRDBEMEQwODZEMDg0RDA4NUQwODJEMDgzRDBGMEQwRTAzMjkwNzg0MTc0MDNGMDkwQzAwMDc0QkZGMDkwNzg0MUQwCis6NDAxNUM2MDA3NDAyRjA5MEMwMDBFRkYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI5MDc4NDE3NDAzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NDA0RjA5MEMwMDBFRkYwOTA3ODQxNzQwM0YwRTUxNTZECis6NDAxNjA2MDAyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyOTA3ODQxNzQwM0YwOTBDMDAwNzRCRkYwOTA3ODQxNzQwNkYwOTBDMDAwRUZGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMEZGCis6NDAxNjQ2MDAyMjkwNzg0MTc0MDNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDkwNzg0MTc0MDdGMDkwQzAwMEVGRjA5MDc4NDE3NDA1RjA5MEMwMDBFREYwMjI5MDc4NDE3NDAzRjA5MEMwMDA3NEJGRjBFNDkwNzg0MUZBCis6NDAxNjg2MDBGMDkwQzAwMEVGRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRTE0NjAxMTE0NjAxNDgwMDA5MDdGQzZFMEZGMjI5MDdGQzhFMDE1Cis6NDAxNkM2MDBGRjIyOTA3RkNBRTBGRjIyOTA3RkNDRTBGRjIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBFMTQ2MDExMTQ2MDE0ODAwMDkwN0ZCNkUwRkYyMjkwN0ZCOEUwRkYyMjkwN0ZCQUUwRkYyMjkwN0ZCQ0UwRkYyMkU1MTUyNDlFCis6NDAxNzA2MDAwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEUxNDYwMTExNDYwMTQ4MDAwOTA3RkM3RTBGRjIyOTA3RkM5RTBGRjIyOTA3RkNCRTBGRjIyOTA3RkNERTBGRjIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDk2Cis6NDAxNzQ2MDA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0I0MUUwRjUzNjQzMTMxMEEzRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwOTA3QjQzRTBGNTM3QTNFMDU0RjBGNTI5RTA2MDAyRDIwQTIyQzBFMDI0Cis6NDAxNzg2MDBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMDE1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMDg1MzkxRUY5MDdGQUI3NDA4RjBEMEY3Cis6NDAxN0M2MDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzIxMjE4QzBBRTA3MTIxOEMwQUQwN0VFNkQ2MDEwMTIxOEMwQUUwN0VFNkQ2MDA3MTIxOEMwQUQwNzgwRUNBRjA2MjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ1Cis6NDAxODA2MDBENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyOTA3RkQ2RTA0NDA0RjBFMDQ0MDhGMDMwMEIwNEUwNDQwMkYwN0ZGNDdFMDExMjE4NkI5MDdGRDZFMDU0RjdGMDIyMTIxMzdDMTIxODA0OTA3RkQ2RTAzMEU3MEE3RjA1N0UwMDdECis6NDAxODQ2MDAxMjE4NkIxMjE4OUUxMjBBQjgyMjAzMzU4MDAwMDAwMzJFODEwMDAwQzE4NUMxODFDMTA4QzEwMEMxMDYwMTIyMDAwMTI0MDAwMDhFMTg4RjE5RTUxOTE1MTlBRTE4NzAwMjE1MTg0RTYwMDgxMjE3RjMxMjE3RjM4MEVCMjJFNTQ1Cis6NDAxODg2MDAxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMDRGRjQ0MTA5MDdGRDdGMEVGNDQzMEYwMjI5MDdGRDZFMDQ0MDFGMDdGMEQ3RTAwMTIxODZCOTA3RkQ2RTA1NEZFRjAyMjkwNzg0MTc0MDJGMDkwQzAwMEUwRkYyMjkwNzg0MTc0MDNGMEQ1Cis6NDAxOEM2MDA5MEMwMDBFMEZGMjI5MDc4NDE3NDA0RjA5MEMwMDBFMEZGMjI5MDc4NDE3NDA1RjA5MEMwMDBFMEZGMjI5MDc4NDE3NDA2RjA5MEMwMDBFMEZGMjJFNDkwNzg0MUYwOTBDMDAwRTBGRjIyNTNEOEVGMzIwMDEyMDExMDAxRkYwMEFCCis6NDAxOTA2MDAwMDQwQ0QwNjBBMDEwMDAwMDEwMjAwMDQwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDdBCis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNTUwMDUzMDA0MjAwMjAwMDM0MDAyRDAwNzAwMDZGMDA3MjAwNzQwMDIwMDA1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAyMDAwNDEwMDY0MDA2MTAwNzAwMDc0MDA2NTAwNzIwMDNDCis6NDAxQTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6NDAxQTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6NDAxQTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6NDAxQUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTc4NDAwMDIxQjI2Cis6MTUxQjA2MDAwNDAwMDIxNzMyMDAwMjE3QUIwMDAyMUIxMDAwMDIxQjE0MDAwMjE1ODRCRQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2E0OXdsYy5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5d2xjLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDA2ZWIxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2E0OXdsYy5IRVgKQEAgLTAsMCArMSwxNTMgQEAKKzowMTdGOTIwMDAxRUQKKzowMzAwMzMwMDAyMThGQkI1Cis6MEQwMDM2MDBFNTExMDQ5MDc4NDFGMDkwQzAwMEUwRkYyMjM5Cis6MTAwMDQ2MDBFNEZGNzQ0MDJGRjU4MkU0MzQ3QkY1ODNFMEZFRTUxNThBCis6MTAwMDU2MDAyNDA0RkRFNDM1MTRGQUE5MDU3QjAxRUY3QzAwMjlGOTk3Cis6MTAwMDY2MDBFQzNBRkFFRTEyMTFFQzBGQkYyMkQ3RTUxNTI0MDVGNThFCis6MTAwMDc2MDA4MkU0MzUxNEY1ODNFMDcwMDMwMjAxMzRFNTE1MjQwOUEyCis6MTAwMDg2MDBGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDBBRjU4MjUxCis6MTAwMDk2MDBFNDM1MTRGNTgzRTA2MDE4N0YwMUU0RkQxMjE2NkJFNTg0Cis6MTAwMEE2MDAxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRDRkYwODA0MTEwCis6MTAwMEI2MDBFNTE1MjQwNkY1ODJFNDM1MTRGNTgzRTBGRjEyMDAwMzA2Cis6MTAwMEM2MDBFNTE1MjQwN0Y1ODJFNDM1MTRGNTgzRTBGRjEyMTVBQjM4Cis6MTAwMEQ2MDA3RjAxRTUxNTI0MDhGNTgyRTQzNTE0RjU4M0UwRkQxMjY5Cis6MTAwMEU2MDAxNjZCRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQzMENBCis6MTAwMEY2MDBGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDQ0ODBGMDAzCis6MTAwMDAzMDA5MDc4NDE3NEYzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NDFECis6MTAwMDEzMDBGMEYwOTBDMDAwRUZGMDkwNzg0MTc0RjNGMEU1MTUyNDEwCis6MTAwMDIzMDAzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjY1Cis6MDMwMDQzMDAwMjFCMDA5RAorOjAzMDAwMDAwMDIxMDkwNUIKKzo0MDAxMDYwMDkwNzg0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwOTA3ODQxNzRGMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwNDQwNjkwQzAwMEYwRTUxNTI0MEJGNTgyRTQzNTE0RjU4M0UwNjAzMkU1MTUyNDBDMkIKKzo0MDAxNDYwMEY1ODJFNDM1MTRGNTgzRTA1NDNGRkZFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRUZGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MERGNTgyRTQzNTE0RjU4M0UwNzAwMzAyMDI0RkU1OTgKKzo0MDAxODYwMDE1MjQxN0Y1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQwNEYwODAwRkU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0RkJGMEU0RkZFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTBGRDEyMTY2QkU1M0EKKzo0MDAxQzYwMDE1MjQwRUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNDQ4MEYwODAwRkU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDU0N0ZGMEU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDU0RkNGMEU1MTUyNDBGRUIKKzo0MDAyMDYwMEY1ODJFNDM1MTRGNTgzRTA2MDJGRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNDQwMkYwRTUxNTI0MTBGNTgyRTQzNTE0RjU4M0UwRkYxMjE2MEJFNTE1MjQxMUY1ODJFNDM1MTRGNTgzRTBGRjEyMTYzQkU1MTUyNDMzRjU4MkU0MTUKKzo0MDAyNDYwMDM1MTRGNTgzRTBGRjEyMTVEQkU1MTUyNDE0RjU4MkU0MzUxNEY1ODNFMDYwNDRFNTE1MjQxNUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQwMUYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1NUQKKzo0MDAyODYwMDgzRTA1NEZFRjA5MDc4NDE3NEY0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDEyRjU4MkU0MzUxNEY1ODNFMDYwNDRFNTE1MjQxM0Y1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RjYKKzo0MDAyQzYwMEY1ODNFMDQ0MDJGMDgwMEZFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA1NEZERjA5MDc4NDE3NEY0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDE2RjU4MkU0MzUxNEY1ODNFMEZGRTUxNTI0MzVGNTgyMUEKKzo0MDAzMDYwMEU0MzUxNEY1ODNFRkYwRTUxNTI0MTdGNTgyRTQzNTE0RjU4M0UwMzBFMDExRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQ0MEYwODAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0QkZGMEU1MTUyNDE4RjU4MkU0MzUxNEY1NzYKKzo0MDAzNDYwMDgzRTBGRkU1MTUyNDNCRjU4MkU0MzUxNEY1ODNFRkYwRTUxNTI0MTlGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDQ0MTBGMDgwMEZFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA1NEVGRjA5MDc4NjkKKzo0MDAzODYwMDQxNzRGNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQxQUY1ODJFNDM1MTRGNTgzRTA2MDZCRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTRCRkYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0MUYKKzo0MDAzQzYwMEY1ODNFMDU0N0Y5MEMwMDBGMDkwNzg0MTc0RjFGMDEyMDAzNkVGNTRGRTkwQzAwMEYwRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGREZGRjBGREU0RkYxMjE2NkJFNTE1MjQyQ0Y1ODJFNDM1MTRGNTgzRTRGMEU1MTUyNDJCQTMKKzo0MDA0MDYwMEY1ODJFNDM1MTRGNTgzRTRGMEU1MTY0MjEzRTUxNTI0MUJGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMjhFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDAyRkZGMEZERTRGRjEyMTY2QkU1MjMKKzo0MDA0NDYwMDE1MjQyQkY1ODJFNDM1MTRGNTgzNzQwMUYwRTUxNjQyMTNFNTE1MjQxQ0Y1ODJFNDM1MTRGNTgzRTBGRjcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDJBOTA3ODQxNzRGMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwRDYKKzo0MDA0ODYwMDQ0MDQ5MEMwMDBGMEVGNjAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDRGMEU1MTUyNDFERjU4MkU0MzUxNEY1ODNFMDYwMjdFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA0NDQwRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1NjAKKzo0MDA0QzYwMDgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwRTUxNTI0MUVGNTgyRTQzNTE0RjU4M0UwNjAyOEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0RkVGRkYwRkRFNEZGMTIxNjZCRTUxNTI0MkRGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1NkIKKzo0MDA1MDYwMDE2NDIxM0U1MTUyNDFGRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDI3RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQwMUZGRjBGREU0RkYxMjE2NkJFNTE1MjQyREY1ODJFNDM1MTRGNTgzNzMKKzo0MDA1NDYwMEU0RjBFNTE2NDIxM0U1MTUyNDIwRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDE4OTA3ODQxNzRGMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwNDQwMjkwQzAwMEYwRTUxNTI0MjFGNTgyQjcKKzo0MDA1ODYwMEU0MzUxNEY1ODNFMDYwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDAyRjBFNTE1MjQyMkY1ODJFNDM1MTRGNTgzRTA2MDFGRTUxNTI0MkVGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFNEYwRjAKKzo0MDA1QzYwMEU1MTY0MjEzRTUxNTI0MjNGNTgyRTQzNTE0RjU4M0UwNjAwMzEyMTg3QUU1MTUyNDI0RjU4MkU0MzUxNEY1ODNFMDYwMjNFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDA4RjBFNTE2QzQ1NEYwRkY0MjExOTA3Rjk2RTA0RkYwMDAKKzo0MDA2MDYwMDkwNzg0MUUwNEZGMEU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMjRFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NEY3RjBFNTE2QzQ1NEYwRjRGRjUyMTE5MDdGOTZFMDVGRjA5MDc4NDFFMDVGRjAyMjkwN0ZFOUUwMTIxMUZFNDMKKzo0MDA2NDYwMDA3OTkwMDA4MEQwMTA4NzkwMzA2NjIwNjA3OEEwODA3N0UwOTA3NjYwQTA3NzUwQjAwMDAwOEM4OTA3RkVCRTAyNEZFNjAxQzE0NzAwMzAyMDcxNDI0MDI2MDAzMDIwNzVDNzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwOENGNEMKKzo0MDA2ODYwMDkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDkwN0ZFQUUwMzBFMDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI2RDc1ODMxOUYwNzU4MjY2NzU4MzE5RjA3NTgyNUY3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBMEEKKzo0MDA2QzYwMEUwMzBFMTA0N0Y2NDgwMDI3RjMyNzU4MjFBNzU4MzE5RUZGMDkwN0ZFRkUwRkU5MDdGRUVFMDdDMDAyNDAwRjUxOEVDM0VGNTE3NzUzMzE5NzUzNDEyNzU4MjE0NzU4MzE5RTA3NTI3MDBGNTI4RDNFNTI4OTUxOEU1Mjc5NTE3RDYKKzo0MDA3MDYwMDQwMDY4NTE3Mjc4NTE4MjgxMjEzMEQwMjA4Q0Y5MDdGRUFFMEZGMTIxNDVGRUE0OTYwMzI5MDdGRUVFMDc1MTcwMEY1MThBRTAyQUYwMThFMzM4RjM0OEY4MjhFODNFMEZFQTNFMDhFMjdGNTI4RDM5NTE4RTUyNzk1MTc0MDA2OEIKKzo0MDA3NDYwMDg1MTcyNzg1MTgyODEyMTMwRDAyMDhDRjkwN0ZCNEUwNDQwMUYwMDIwOENGOTA3RkI0RTA0NDAxRjAwMjA4Q0Y5MDdGMDBFNTI1RjA5MDdGQjU3NDAxRjAwMjA4Q0Y5MDdGRUFFMEY1MjUwMjA4Q0Y5MDdGRUFFMEY1MjIxMjBBOUIKKzo0MDA3ODYwMENFMDIwOENGOTA3RjAwRTUyMkYwOTA3RkI1NzQwMUYwMDIwOENGOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIwMEU0MzNGRjI1RTBGRkEyMDZFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDhDRkU0QzkKKzo0MDA3QzYwMDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDhDRjkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwOENGOTA3RkI0NUMKKzo0MDA4MDYwMEUwNDQwMUYwMDIwOENGOTA3RkU4RTAyNEZFNjAxRDI0MDI2MDAzMDIwOENGOTA3RkVBRTBCNDAxMDVDMjAwMDIwOENGOTA3RkI0RTA0NDAxRjAwMjA4Q0Y5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0OTAKKzo0MDA4NDYwMDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwQ0EKKzo0MDA4ODYwMDdGRUFFMEI0MDEwNEQyMDA4MDNGOTA3RkI0RTA0NDAxRjA4MDM2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwNDYKKzo0MDA4QzYwMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJFNTEyNTQwRjcwMDMwMjA5QzgxMjE2OUFFRjIwRTE3NTEyMTZGOEVGMTRGNTE4MTIxOEM1RUYyNTE4RkZFNDMzRkVDM0VGOTQ4MEVFNjQ4MDk0ODA1MDU5ODUxNTgyMDEKKzo0MDA5MDYwMDg1MTQ4M0UwRkVBM0UwRkZGNTgyOEU4M0UwMzBFMDExRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQ4MEYwODAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0N0ZGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDIwRTIxMkU1Q0MKKzo0MDA5NDYwMDE4NjAwRUY1MjNFRjI0MDFGNTJERTQzRUY1MkMxMjE0QTBFNEZGMTIxNEQ3RTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMzBFNzVEMTIxOEM1RTUxNTI0M0JGNTgyRTQzNTE0RjU4M0UwRkVFRkMzOUU1MDQ4RTUxNTI0MkZGNTgyMDcKKzo0MDA5ODYwMEU0MzUxNEY1ODM3NDAxRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NDdCRjBFNTE1MjQzQUY1ODJFNDM1MTRGNTgzRTRGMEU1MTY0MjEzOTA3RkMyRTAzMEUxMTBFNTE1MjQyNkY1ODJFNDM1MTRGNTgzRTBGNTI0ODAwMzEyQzUKKzo0MDA5QzYwMDEyOUMxMjE2QzlFRjMwRTEwMzAyMEFDRDEyMTdDNzhGMTgxMjE4RDNFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRUZGMEU1MTUyNDM1RjU4MkU0MzUxNEY1ODNFMEZGRTUxOEMzOUY1MDI4MTIxOEE5RUYzMEUwMjFFNTE1MjQzOEY1MkUKKzo0MDBBMDYwMDgyRTQzNTE0RjU4M0UwMjBFNzEyRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMjBFMTAzMDIwQUNERTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRGREYwRTUxODcwMDMwMjBBQ0RCNDgwMEZFNTE1MjQzOEY1ODJFNDM1MTRGNTgzREUKKzo0MDBBNDYwMEUwNDQwMkYwRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwRkYzMEU3MjlFNTE4RDM5NDIwNDAwMzc1MTgyMDg1MTgyMzg1MTU4Mjg1MTQ4M0EzQTNFMEZDQTNFMDhDMkNGNTJEMTIxM0NGRTUxODI1RTBGRjEyMTUwRDIyRTUxOEQzQzMKKzo0MDBBODYwMDk0M0Y0MDAzNzUxODNGODUxODIzRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwRkY4NTE1ODI4NTE0ODNBM0EzRTBGQ0EzRTBGNTgyOEM4M0VGRjA4NTE1ODI4NTE0ODNBM0EzRTBGRUEzRTAyNDAxRjUyREU0M0VGNTJDMTIxNDFENEYKKzo0MDBBQzYwMEU1MTgwNEZGMTIxNTBEMjJFNDkwN0Y5M0YwOTA3RjlDNzRGRkYwRTQ5MDdGOTZGMDkwN0Y5NEYwOTA3ODRBMDRGMEY1OEU5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDJGRjA5MDc4NDM3NEY3RjBFNDkwNzg0MUYwMkMKKzo0MDBCMDYwMDkwN0ZERjc0OUZGMDkwN0ZERUYwOTA3RjkyRTA0NDAyRjA3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5ODc0MkVGMDc1MTYwMTEyMEYyODdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk4NzQyRUYwNzUxNjAxRTUxNTI0MjZGNTgyOTAKKzo0MDBCNDYwMEU0MzUxNEY1ODNFNEYwN0U3RTdGNDA4NTE1ODI4NTE0ODM3NDdFRjBBMzc0NDBGMDdFN0U3RjgwODUxNTgyODUxNDgzQTNBMzc0N0VGMEEzNzQ4MEYwN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTg3NDJERjA3NTE2MDIxMjBGMEEKKzo0MDBCODYwMDI4N0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTg3NDJERjA3NTE2MDJFNTE1MjQyNkY1ODJFNDM1MTRGNTgzNzQwMUYwN0U3RDdGQzA4NTE1ODI4NTE0ODM3NDdERjBBMzc0QzBGMDdFN0U3RjAwODUxNTgyODUxNDgzQTNBMzc0RUUKKzo0MDBCQzYwMDdFRjBBMzc0MDBGMDdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk4NzQyQkYwNzUxNjA0MTIwRjI4N0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDRFNTE1MjQyNkY1ODJFNDM1MTRGNTgzNzQwMkYwN0U3RDdGNTcKKzo0MDBDMDYwMDQwODUxNTgyODUxNDgzNzQ3REYwQTM3NDQwRjA3RTdEN0Y4MDg1MTU4Mjg1MTQ4M0EzQTM3NDdERjBBMzc0ODBGMDdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk4NzQyN0YwNzUxNjA4MTIwRjI4N0U3QzdGODA3NTE0N0M3NTE1OTAKKzo0MDBDNDYwMDgwOTA3Rjk4NzQyN0YwNzUxNjA4RTUxNTI0MjZGNTgyRTQzNTE0RjU4Mzc0MDNGMDdFN0M3RkMwODUxNTgyODUxNDgzNzQ3Q0YwQTM3NEMwRjA3RTdEN0YwMDg1MTU4Mjg1MTQ4M0EzQTM3NDdERjBBMzc0MDBGMEMyMEFDMjA5RDMKKzo0MDBDODYwMEU0RjUxMUQyMDIyMkU1MTAwNDU0MDNGNTEwMTQ2MDFGMTQ2MDMxMTQ2MDQzMjQwMzcwNTI3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5ODc0MkVGMDc1MTYwMTgwM0Q3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1NjQKKzo0MDBDQzYwMDE2MDI4MDI4N0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDQ4MDEzN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTg3NDI3RjA3NTE2MDhFNTMyNTUxNjcwMDMwMjBFMjdFNTE2RjQ1MjMyRTUyNjU0N0ZGRjcwOTUKKzo0MDBEMDYwMDE3RTUyQTU1MTY2MDM0OTA3Rjk2RTBGRUU1MTZDNDU0RjBGNEZERUU1REYwODAyM0JGMjAyMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTMxMUU0RjUyQTkwN0Y5NkUwRkZFNTE2QzQ1NEYwRkVFRjRFRjBFNTE1MjQzQUY1QzMKKzo0MDBENDYwMDgyRTQzNTE0RjU4M0UwNjAwM0UwMTRGMEU1MTUyNDM0RjU4MkU0MzUxNEY1ODNFMDYwMDNFMDE0RjBFMDYwMDMwMjBFMjc3NDBBRjAxMjAwMzZFRjU0MDFGRkY1MThFNTE1MjQyQ0Y1ODJFNDM1MTRGNTgzRTA2RjYwMDdFNTE4RjEKKzo0MDBEODYwMEYwRTUxNjQyMTMxMjE4RTE4RjE4RTUxNTI0MjdGNTgyRTQzNTE0RjU4M0UwRkZFNTE4NTQxMEZFNkY2MDA2RUVGMEU1MTY0MjEzRTUxNTI0MjhGNTgyRTQzNTE0RjU4M0UwRkZFNTE4NTQ4MEZFNkY2MDA2RUVGMEU1MTY0MjEzODYKKzo0MDBEQzYwMEU1MTUyNDI5RjU4MkU0MzUxNEY1ODNFMEZGRTUxODU0MjBGRTZGNjAxNUVFRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU0MDRFNTE2NDIxM0U1MTUyNDJBRjU4MkU0MzUxNEY1ODNFMEZGRTUxODU0NDBGRTZGNjAxNUVFMjMKKzo0MDBFMDYwMEYwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMzBFNTA0RTUxNjQyMTNFNTE1MjQzMEY1ODJFNDM1MTRGNTgzRTRGMDIyMzAwOTAzMDIwRjI3RTUyNDE0NjAyQTE0NjA0MTE0NjA1ODE0NjA2RjI0MDQ2MDAzMDIwRUU1N0U3QjdGMzEKKzo0MDBFNDYwMEMwNzUxNDdCNzUxNUMwOTA3Rjk4NzQyRUYwNzUxNjAxMTIxMjlDNzUyNDAxMjI3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMjEyMTI5Qzc1MjQwMjIyN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCMDUKKzo0MDBFODYwMEYwNzUxNjA0MTIxMjlDNzUyNDAzMjI3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5ODc0MjdGMDc1MTYwODEyMTI5Qzc1MjQwNDIyMzAwNDMzQzIwNDUzMTNERkU0RjUxODdFMDA3QjAwNzQyRTI1MThGOUVFMzQwMEZBMTIxMUE2Q0EKKzo0MDBFQzYwMEZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDNEQjkwN0ZDMzc0MDNGMDc1MjQwNTIyRTUzNjYwM0JENTM2MEE1MzEzRUYzMDBBMDREMjA5QzIwQUU0RjUxODdFMDA3QjAwNzQzNTI1MThGOUVFMzQwMEZBQ0MKKzo0MDBGMDYwMDEyMTFBNkZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUyNDIyRTRGNTE5N0UwMDdCMDFFNTE1MjUxOUY5RUUzNTE0RkFFNDEyMTFFQzA1MTlFNTE5QjQzQ0U4RTUxNTI0RkEKKzo0MDBGNDYwMDM1RjU4MkU0MzUxNEY1ODM3NDAxRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzNzQwM0YwOTBDMDAwRjA3RjBDRTRGRDEyMTY2QjdGMTBFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRUZGMDEyMTVEQjkwNzg0MTc0NjQKKzo0MDBGODYwMEYyRjA3RjAxRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0VGRjA0NDA2OTBDMDAwRjA5MDc4NDE3NEY0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzNzQ4MEYwOTBDMDAwRjAwRkU0RkQxMjE2NkJFNEZGN0VBM0U1MTUyNDMyRjU4MkU0ODYKKzo0MDBGQzYwMDM1MTRGNTgzRUVGMEZEMTIxNjZCOTA3ODQxNzRGMUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIxNjZCN0YwMTEyMTU0MzdGMDM3RDA3MTIxNjZCMjI1MzEzM0Y5MDdCRjFFMDMwRTMxNjdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk4NkIKKzo0MDEwMDYwMDc0MkVGMDc1MTYwMTEyMDhENzkwN0MzMUUwMzBFMzE2N0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTg3NDJERjA3NTE2MDIxMjA4RDc5MDdDNzFFMDMwRTMxNjdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk4NzQyQkYwNzUxNjA0QzQKKzo0MDEwNDYwMDEyMDhENzkwN0NCMUUwMzBFMzE2N0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTg3NDI3RjA3NTE2MDgxMjA4RDcwNTEyRTUxMjU0MEZGNTE3NzAwNDEyMTExQzIyRTUxN0I0MDEwNDEyMEM4QzIyOTA3RkMyRTAyMEUxMDhFNTEzNzAKKzo0MDEwODYwMDYwMDQxMjBFMjgyMjEyMEM4QzIyNzg3RkU0RjZEOEZENzU4MTM3MDIxMEQ3MDIxMjI0RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0RDcKKzo0MDEwQzYwMDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDE4NDVFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODkKKzo0MDExMDYwMDgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFOTA3RkQyRTAzMEUxMDMwMjExQTVDMjA5OTA3QjQwRTAxNDYwMjYxNDYwM0IxNDYwNTAyNDgzNjA2NDI0ODA3MDYzN0U3QjdGQzA3NTE0N0I3NTE1M0EKKzo0MDExNDYwMEMwOTA3Rjk4NzQyRUYwNzUxNjAxMTIwMDQ2ODA0QjdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk4NzQyREYwNzUxNjAyMTIwMDQ2ODAzMzdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk4NzQyQkYwNzUxNjA0MTIwMDQ2ODAxQjdFMkIKKzo0MDExODYwMDdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5ODc0MjdGMDc1MTYwODEyMDA0NjgwMDMxMjE3NTFFNDkwN0ZEM0YwMjJCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1QjgKKzo0MDExQzYwMDgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwQjYKKzo0MDEyMDYwMDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERjkwN0ZBRUUwRkZEMzkyMDBFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGQzIKKzo0MDEyNDYwMEYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRjc0MDFGMDkwN0ZBRTc0MERGMEQyQUZEMjBCMTIxODA5QzIwMUU0RjUyQkY1MzFDMjA3QzIwMjc1MjkwRjkwN0ZEOEUwNjUyNjYwMDY3NTMyMEZFMEY1MjYzMDAyMDMxMjBGOEMKKzo0MDEyODYwMEVGMzAwMTA3QzIwMTEyMDYzRjgwRTIzMDA4REZDMjA4MTIxODJBODBEODIyRTUxMzU1MTY2MDZBRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0UwNzA1Q0U1MTZGNDUyMTNFNTE1MjQyNkZGRTQzNTE0RkVFNEZEMEZFRkFBMDY3MDAxQzcKKzo0MDEyQzYwMDBFMTRGNTgyOEE4M0UwRkM3NDgwMkRGNTgyRTQzNDdCRjU4M0VDRjAwREJEMEJFMjkwN0ZDMzc0MEJGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODM3NDEwRjBFNTE1MjQyRUY1ODJFNDM1MTRGNTgzRTRGMEU1MTUyNDJGRjU4MkU0MjMKKzo0MDEzMDYwMDM1MTRGNTgzRTRGMDIyRTUyODQ1Mjc2MDU3QUUyN0FGMjhEM0VGOTQ0MEVFOTQwMDQwMDQ3RTAwN0Y0MEMzRTUyODlGRjUyOEU1Mjc5RUY1MjdFNEZERURDMzlGRTQ5RTUwMUY4NTM0ODI4NTMzODNFMEZDNzQwMDJERjU4MkU0QkEKKzo0MDEzNDYwMDM0N0ZGNTgzRUNGMDBEMDUzNEU1MzQ3MDAyMDUzMzgwREE5MDdGQTk3NDAxRjA5MDdGQUNFMDQ0MDFGMDkwN0ZCNUVGRjAyMjkwN0ZBQ0UwNTRGRUYwRTQ5MDdGQjVGMDIyOTA3Rjk4NzQwRkYwRTQ5MDc4NEFGMDkwN0Y5NEYwRTEKKzo0MDEzODYwMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDc4NDFGMDkwN0Y5M0YwOTA3RjlDNzRGRkYwMzAwMDA3RTUyOTU0MEZGRjgwMDI3RjAwOTA3Rjk2RUZGMDkwN0Y5ODc0MUZGMEU0OTA3Rjk1RjA5MDdGOUU3NDNGRjA5MDdGOTg3NERGQUQKKzo0MDEzQzYwMEYwOTA3RjkyRTA1NEZERjAyMjhGMTkwNTJERTUyREFFMkM3MDAyMDUyQzE0RjU4MjhFODNFNTE5RjAxMjE4RUYwNTJERTUyREFDMkM3MDAyMDUyQzE0RjU4MjhDODNFRkYwMTUyM0U1MjM2MDFGRTUxNTI0MzhGNTgyRTQzNTE0MTYKKzo0MDE0MDYwMEY1ODNDMDgzQzA4MkUwRkUxMjE4RDM4RjE5RUU0RkQwODJEMDgzRjA4MEI1MjI5MDc4NDFFNTExRjA5MDc4NEY3NEMwRjBFNDkwNzg1MEYwRTUyQzkwNzg1MUYwQUUyQ0U1MkQ5MDc4NTJGMDkwNzg1NEU1MjNGMDkwNzg1Nzc0NzAKKzo0MDE0NDYwMDA0RjA5MDdGRTJFMDQ0MTBGMEUwNTRGN0YwRTQ5MDc4NTVGMDkwNzg1NUUwNjBGQTIyOEYxOUU0RjUxQTc1MUJGRjc1MUMxOTc1MUQ4NkFCMUJBQTFDQTkxRDkwMDAwMTEyMTFCRkI0MDMxREFGMUEwNTFBRUZCNTE5MDEyMjEyRjkKKzo0MDE0ODYwMDExQTY3RTAwMjlGRkVFM0FBOTA3NzUxQkZGRjUxQzg5MUQ4MEQ0N0IwMDdBMDA3OTAwMjI5MDc4NDFFNTExRjBFNTJDOTA3ODRGRjBBRTJDRTUyRDkwNzg1MEYwOTA3ODUxNzRDMEYwRTQ5MDc4NTJGMDkwNzg1NEU1MjNGMDkwN0QKKzo0MDE0QzYwMDc4NTc3NDA0RjBFNDkwNzg1NUYwOTA3ODU1RTA2MEZBMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEYxNDYwMTMxNDYwMTc4MDAwOTA3RkM3RUZGMDgwMTM5MDdGQzlFRkYwODAwQzkwN0ZDQkVGRjA4MDA1OTA3RkNERUQKKzo0MDE1MDYwMEVGRjBFNTE2NDIyQTIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBGMTQ2MDEzMTQ2MDE3ODAwMDkwN0ZCN0VGRjA4MDEzOTA3RkI5RUZGMDgwMEM5MDdGQkJFRkYwODAwNTkwN0ZCREVGRjBFNTE2NDIyQTIyQUUwN0U0QTQKKzo0MDE1NDYwMEZGRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTQ3RkZEMTIxNjZCOTA3ODQxNzRGMUYwOTBDMDAwRUVGMEU0RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQ4MEZEMTIxNjZCMjJDMEUwQzBGMEMwODNDMDgyQzA4NUMwODRDMDg2QTEKKzo0MDE1ODYwMDc1ODYwMEMwRDA3NUQwMDg1MzkxRUY5MDdGQTk3NDAxRjAxMjEzMEREMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEYwRDBFMDMyOTA3ODQxNzRGM0YwOTBDMDAwNzRCRkYwOTA3ODQxNzRGMUYwOTBDMDAwRUZGMDkwNzg0MTc0QTgKKzo0MDE1QzYwMEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjkwNzg0MTc0RjNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0RjJGMDkwQzAwMEVGRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGRDcKKzo0MDE2MDYwMDkwQzAwMEYwMjI5MDc4NDE3NEYzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NEY0RjA5MEMwMDBFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI5MDc4NDE3NEYzRjA5MEMwMDA3NEJGMTYKKzo0MDE2NDYwMEYwOTA3ODQxNzRGNkYwOTBDMDAwRUZGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwOTA3ODQxMkYKKzo0MDE2ODYwMDc0RjdGMDkwQzAwMEVGRjA5MDc4NDE3NEY1RjA5MEMwMDBFREYwMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEUxNDYwMTExNDYwMTQ4MDAwOTA3RkM2RTBGRjIyOTA3RkM4RTBGRjIyOTA3RkNBRTBGRjIyOTA3RkNDMTkKKzo0MDE2QzYwMEUwRkYyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRTE0NjAxMTE0NjAxNDgwMDA5MDdGQjZFMEZGMjI5MDdGQjhFMEZGMjI5MDdGQkFFMEZGMjI5MDdGQkNFMEZGMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMDAKKzo0MDE3MDYwMDBFMTQ2MDExMTQ2MDE0ODAwMDkwN0ZDN0UwRkYyMjkwN0ZDOUUwRkYyMjkwN0ZDQkUwRkYyMjkwN0ZDREUwRkYyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2QkYKKzo0MDE3NDYwMEQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdCNDFFMEY1MzY0MzEzMTBBM0UwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMDkwN0I0M0UwRjUzN0EzRTA1NEYwRjUyOUUwNjAwMkQyMEEyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1QTYKKzo0MDE3ODYwMDg2MDBEMjAxNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjA4NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwM0MKKzo0MDE3QzYwMDMyMTIxOEI3QUUwNzEyMThCN0FEMDdFRTZENjAxMDEyMThCN0FFMDdFRTZENjAwNzEyMThCN0FEMDc4MEVDQUYwNjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwNDgKKzo0MDE4MDYwMDAwMDAyMjkwN0ZENkUwNDQwNEYwRTA0NDA4RjAzMDBCMDRFMDQ0MDJGMDdGRjQ3RTAxMTIxODYwOTA3RkQ2RTA1NEY3RjAyMjEyMTM3NzEyMTdGOTkwN0ZENkUwMzBFNzBBN0YwNTdFMDAxMjE4NjAxMjE4OTMxMjBBQ0UyMjAzNzgKKzo0MDE4NDYwMDM1ODAwMDAwMDMyRTgxMDAwMEMxODVDMTgxQzEwOEMxMDBDMTA2MDEyMjAwMDEyNDAwMDA4RTE3OEYxOEU1MTgxNTE4QUUxNzcwMDIxNTE3NEU2MDA4MTIxN0U4MTIxN0U4ODBFQjIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwN0UKKzo0MDE4ODYwMDA0RkY0NDEwOTA3RkQ3RjBFRjQ0MzBGMDIyOTA3RkQ2RTA0NDAxRjA3RjBEN0UwMDEyMTg2MDkwN0ZENkUwNTRGRUYwMjJFNTExMjQwMjkwNzg0MUYwOTBDMDAwRTBGRjIyRTUxMTI0MDM5MDc4NDFGMDkwQzAwMEUwRkYyMkU1OTcKKzo0MDE4QzYwMDExMjQwNDkwNzg0MUYwOTBDMDAwRTBGRjIyRTUxMTI0MDU5MDc4NDFGMDkwQzAwMEUwRkYyMkU1MTEyNDA2OTA3ODQxRjA5MEMwMDBFMEZGMjI5MDc4NDFFNTExRjA5MEMwMDBFMEZGMjI1M0Q4RUYzMjAwMTIwMTEwMDFGRkZGREUKKzo0MDE5MDYwMEZGNDBDRDA2MkEwMTAwMDAwMTAyMDAwNDA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwNUIKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjMKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI0MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMjAwMDU1MDA1MzAwNDEwMDJEMDAzNDAwMzkwMDU3MDA0QzAwNDMwMDIyMDM1NTAwNTMwMDQxMDAyRDAwMzYwMDM1MDAyMDAwQjUKKzo0MDFBMDYwMDMyMDAzMDAwMzAwMDMzMDA2QTAwNjEwMDZFMDAzMzAwMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzo0MDFBNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzo0MDFBODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzo0MDFBQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxNzc5MDAwMjFCMzEKKzoxNTFCMDYwMDA0MDAwMjE3MjcwMDAyMTdBMDAwMDIxQjEwMDAwMjFCMTQwMDAyMTU3OEUwCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMworCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCisKK3N0YXRpYyBjaGFyIHRoZUZpcm13YXJlRGF0ZTQ5W10gPQorICAgICAgICAiMDIvMTQvMjAwMiAgMDI6MzdwICAgICAgICAgICAgICAxOSwzNDcgVVNBNDkiOworCitzdGF0aWMgY2hhciB0aGVGaXJtd2FyZURhdGU2NVtdID0KKyAgICAgICAgIjAxLzMxLzIwMDMgIDA5OjM0YSAgICAgICAgICAgICAgMTksMzMxIFVTQTY1IjsKKwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuSEVYIGIvZmlybXdhcmUva2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmY2YwMmIKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5IRVgKQEAgLTAsMCArMSw4MyBAQAorOjAzMDAwMDAwMDIwMjAwRjkKKzowNDAwMjMwMDAyMDU1RjAwNzMKKzowNDAwNDMwMDAyMDEwMDAwQjYKKzowNTAwMzAwMDAwMDAwMDAwMDBDQgorOjEwMDEwMDAwMDIwMjk2MDAwMjAwMDAwMDAyMDAwMDAwMDIwMDAwMDA0RgorOjEwMDExMDAwMDIwMDAwMDAwMjAwMDAwMDAyMDAwMDAwMDIwMDAwMDBENworOjEwMDEyMDAwMDIwMDAwMDAwMjAwMDAwMDAyMDQ2MTAwMDIwNDg5MDBENQorOjEwMDIwMDAwNzU4MTVFRTRGNTMyRjUzM0Y1MzBGNTMxRjUzNEMyMDAzMQorOjEwMDIxMDAwQzIwMUE5MDA3NEZFOTAxMDAwRjBBM0Q5RkM3NEZEOTBGNworOjEwMDIyMDAwMTEwMEYwQTNEOUZDNzQwMjkwN0Y5REYwNzQwMDkwN0ZDMAorOjEwMDIzMDAwOTdGMDc0ODY5MDdGOUVGMDkwN0Y5NTc0MDNGMDkwN0Y4NgorOjEwMDI0MDAwQUZFMEQyRTBGMDc0MDE5MDdGQUJGMDkwN0ZBRUYwOTAyMQorOjEwMDI1MDAwN0ZBQzc0MDRGMDkwN0ZBRDc0MDRGMDkwN0ZDOUYwNzRBQgorOjEwMDI2MDAwODQ5MDdGOThGMDc0MDBGNTk4NzVDODMwN0IwNTkxMjBENAorOjEwMDI3MDAwRDJDQTc1OTg1MEQyRThEMkFGRDJBQzc0MDBGNTg2OTA0RAorOjEwMDI4MDAwN0ZENjc0MDJGMDc5MkU3QTAwN0IwMERCRkVEQUZBRDk5MQorOjEwMDI5MDAwRjY3NDA2RjA4MEZFQzA4NkMwODJDMDgzQzA4NEMwODUyQworOjEwMDJBMDAwQzBFMEU1OTFDMkU0RjU5MTkwN0ZBQjc0MDFGMDkwN0ZERQorOjEwMDJCMDAwRThFMEY5QTNFMEZBQTNFMEZCQTNFMEZDRTk1NDYwQjRCMgorOjEwMDJDMDAwMDAwMzAyMDMzOUI0NDA2RUJBMDAwQjEyMDQyMDQwMDM0RAorOjEwMDJEMDAwMDIwNDAyMDIwNDBBQkEwMTAzMDIwNDBBQkEwMjAzMDI3NworOjEwMDJFMDAwMDQwQUJBMDMwMzAyMDQ0NEJBMDQxRUJCMDAwQTkwN0Y0NgorOjEwMDJGMDAwOTVFMDQ0MDJGMDAyMDQwMjkwN0Y5OEUwNTRGREYwOTBGMworOjEwMDMwMDAwN0Y5NUUwNTRGREYwMDIwNDAyQkEwNTAzMDIwNDBBQkEyNAorOjEwMDMxMDAwMDYxOUJCMDAwOEU1MzNEMzk1MzIwMjAzREVCQjAxMDhBMgorOjEwMDMyMDAwRTUzMkMzOTUzMzAyMDNERTAyMDQwQUJBMDcwNThCMzRCMworOjEwMDMzMDAwMDIwNDAyMDIwNDBBMDIwNDBBQkEwMDIwQjk4MDEwOTBFMgorOjEwMDM0MDAwN0YwMEU0RjBBM0YwOTA3RkI1NzQwMkYwMDIwNDAyQjlEQworOjEwMDM1MDAwODIwMjgwRUJCOTgxMDI4MEU2MDIwNDBBQkEwMTBGQkI3NworOjEwMDM2MDAwMDAwMzAyMDQwQUJCMDEwMzAyMDQwMjAyMDQwQUJBMDNFNgorOjEwMDM3MDAwMEZCQjAwMDMwMjA0MEFCQjAxMDMwMjA0MDIwMjA0MEFDOQorOjEwMDM4MDAwQkEwNjU2QkMwMTBGOTA3RkQ0NzQwNkYwOTA3RkQ1NzRFNgorOjEwMDM5MDAwMTJGMDAyMDQwMkJDMDIxMkJCMDA2RjkwN0ZENDc0MDZGQworOjEwMDNBMDAwRjA5MDdGRDU3NDI0RjAwMjA0MDJCQzAzMjk3NDA0QzNDNgorOjEwMDNCMDAwOUI0MDU3NjA1NUVCMkI5MDA2NDQyNTgyRjU4Mjc0MDBENAorOjEwMDNDMDAwMzU4M0Y1ODNFMEY5QTNFMEZBOTA3RkQ0RTlGMDkwN0ZEQworOjEwMDNEMDAwRDVFQUYwMDIwNDAyMDIwNDBBQkEwODBGNzQwMTkwN0YwMQorOjEwMDNFMDAwMDBGMDc0MDE5MDdGQjVGMDAyMDQwMkJBMDkwMzAyMDQyMAorOjEwMDNGMDAwMDJCQTBBMDU3NDAwMDIwM0RFQkEwQjAzMDIwNDAyMDIwOQorOjEwMDQwMDAwMDQwQTkwN0ZCNDc0MDJGMDgwMDk5MDdGQjRFMDQ0MDE0NAorOjEwMDQxMDAwRjA4MDAwRDBFMEQwODVEMDg0RDA4M0QwODJEMDg2MzJFNgorOjEwMDQyMDAwRUIyMEU3MUVDMzk0MEE1MDE5RUIyMzI0RkVGNTgyNzRENworOjEwMDQzMDAwMDUzNDAwRjU4M0UwRjVDQkY1Q0RBM0UwRjVDQUY1Q0NBNgorOjEwMDQ0MDAwQzMyMkQzMjJCOTQxMTFFQjY0RkY1NDg0RkI5MDdGOThGRgorOjEwMDQ1MDAwRTA1NDdCNEJGMDAyMDQwMjkwN0Y5QkUwNjRGRjAyMDNCOAorOjEwMDQ2MDAwREVDMDg2QzA4MkMwODNDMDg0QzA4NUMwRTBFNTkxQzI4MgorOjEwMDQ3MDAwRTRGNTkxOTA3RkE5NzQwNEYwMTIwNUEwRDBFMEQwODUzNgorOjEwMDQ4MDAwRDA4NEQwODNEMDgyRDA4NjMyQzA4NkMwODJDMDgzQzA2MAorOjEwMDQ5MDAwODRDMDg1QzBFMEU1OTFDMkU0RjU5MTkwN0ZBQTc0MDQyMAorOjEwMDRBMDAwRjA5MDdGQzlFMEY5RTRGNTg2OTA3REMwNzU4NTEwODVGMAorOjEwMDRCMDAwMzI4NEUwMDU4NjA1ODRGMEU1ODRCNTMzMDI4MDA5MDVDMQorOjEwMDRDMDAwMzIwNTg2QTNEOUVDODAwMDkwN0ZDOUYwQjEzMUQwRTAyRAorOjEwMDREMDAwRDA4NUQwODREMDgzRDA4MkQwODYzMkU0RjU4NjkwN0ZEOAorOjEwMDRFMDAwQkNFMDIwRTE0QjkwN0QwMEU1MzJGMEEzRTUzM0YwQTNDMgorOjEwMDRGMDAwRTUzMEYwQTNFNTMxRjBBM0U0MzAwMDAxMDRGMEEzMDVGQQorOjEwMDUwMDAwODY5MDEwMDA3OTEwRTBBMzA1ODZGMEEzMDU4NkQ5RjY0MQorOjEwMDUxMDAwMDU4Njc0RkNGMEEzMDU4NjkwMTEwMDc5MTBFMEEzMDUxMAorOjEwMDUyMDAwODZGMEEzMDU4NkQ5RjZFNEY1ODY5MDdGQkQ3NDI2RjBBMworOjEwMDUzMDAwMjIyMDAwMTNFNTMyQjUzMzAxMjIwNTMzNzU4MzEwODU3RgorOjEwMDU0MDAwMzM4MkUwRjU5OUQyMDA3NDAwQjUzNDAxMjJFNTMzRDM0QgorOjEwMDU1MDAwOTUzMkMzOTUzNDQwRjU3NTM0MDBEMjAxMDIwNUEwQzAzMAorOjEwMDU2MDAwODZDMDgyQzA4M0MwODRDMDg1QzBFMDMwOTkwN0MyOTkyQworOjEwMDU3MDAwQzIwMDEyMDUzNDMwOTgwNTEyMDU4QUMyOThEMEUwRDAyNgorOjEwMDU4MDAwODVEMDg0RDA4M0QwODJEMDg2MzI3NTgzMTE4NTMwODIyNQorOjEwMDU5MDAwMDU4MkU1OTlGMEU1ODJCNTMxMDEyMjA1MzBCMUEwMjI0RQorOjEwMDVBMDAwOTA3RkI4RTAyMEUxMzgyMDAxMzZFNTMwQjUzMTAxMjJGNgorOjEwMDVCMDAwRTRGNTg2NzU4MzExMDU4NjkwN0UwMEYwQTMwNTg2NzlBMworOjEwMDVDMDAwMDFFNTMwQjUzMTAyODAxMDA1MzE4NTMxODJFMDA1ODZDNAorOjEwMDVEMDAwRjBBMzA1ODYwOUI5NDBFOTkwN0ZCOUU5NjAwMUYwMjJFRQorOjEwMDVFMDAwQzIwMUU0RjU4NjkwN0UwMDc0MDFGMEEzNzQwMkYwOTBERAorOjEwMDVGMDAwN0ZCOUYwMjJDMjk5RjU5OTMwOTlGREMyOTkyMkU1NUU0MgorOjEwMDYwMDAwRjYzQ0ZEOEZGRUM4RkY2NEZGQjJGRkQ5RkZFREZGRjM5QworOjEwMDYxMDAwRkZGQTEyMDEwMDAxRkZGRkZGNDBDRDA2MDQwMTg5QUI4NAorOjEwMDYyMDAwMDEwMjAzMDEwOTAyMjAwMDAxMDEwMDgwMzIwOTA0MDBENworOjEwMDYzMDAwMDAwMkZGRkZGRjAwMDcwNTgyMDM0MDAwMDEwNzA1MDJEQgorOjEwMDY0MDAwMDI0MDAwMDAwNjRDMDY1MDA2NzIwNkEwMDQwMzAwMDA5QgorOjEwMDY1MDAwMjIwMzQxMDA0MzAwNEQwMDQ1MDAyMDAwNzUwMDczMDA1NworOjEwMDY2MDAwNjIwMDIwMDA3NzAwNjkwMDY0MDA2NzAwNjUwMDc0MDA4NAorOjEwMDY3MDAwNzMwMDJFMDM0MTAwNDMwMDREMDA0NTAwMjAwMDU1MDA0QgorOjEwMDY4MDAwNTMwMDQyMDAyMDAwNzMwMDY1MDA3MjAwNjkwMDYxMDBBMQorOjEwMDY5MDAwNkMwMDIwMDA3NzAwNjkwMDY0MDA2NzAwNjUwMDc0MDA0QQorOjA2MDZBMDAwMDYwMzM0MDAzNzAwRTAKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuUyBiL2Zpcm13YXJlL2tleXNwYW5fcGRhL2tleXNwYW5fcGRhLlMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5TCnJlbmFtZSB0byBmaXJtd2FyZS9rZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5TCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuX3BkYS94aXJjb21fcGdzLkhFWCBiL2Zpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5YjAwZDcKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuX3BkYS94aXJjb21fcGdzLkhFWApAQCAtMCwwICsxLDg3IEBACis6MDMwMDAwMDAwMjAyMDBGOQorOjA0MDAyMzAwMDIwNTlCMDAzNworOjA1MDAzMDAwMDAwMDAwMDAwMENCCis6MDQwMDQzMDAwMjAxMDAwMEI2Cis6MTAwMTAwMDAwMjAyQkEwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMDJCCis6MTAwMTEwMDAwMjAwMDAwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMEQ3Cis6MTAwMTIwMDAwMjAwMDAwMDAyMDAwMDAwMDIwNDg1MDAwMjA0QjkwMDgxCis6MTAwMjAwMDA3NTgxNUVFNEY1MzJGNTMzRjUzMEY1MzFGNTM0QzIwMDMxCis6MTAwMjEwMDBDMjAxQTkwMDc0RkU5MDEwMDBGMEEzRDlGQzc0RkQ5MEY3Cis6MTAwMjIwMDAxMTAwRjBBM0Q5RkM5MDdGOTQ3NEJGRjA5MDdGOTU3NDc3Cis6MTAwMjMwMDBFRkYwNzQxMDkwN0Y5RUYwNzQwMDkwN0Y5OEYwNzQ0MEZGCis6MTAwMjQwMDA5MDdGOURGMDc0MDA5MDdGOTdGMDc0ODI5MDdGOUVGMDc1Cis6MTAwMjUwMDA5MDdGOTU3NDAzRjA5MDdGQUZFMEQyRTBGMDc0MDE5MDRFCis6MTAwMjYwMDA3RkFCRjA5MDdGQUVGMDkwN0ZBQzc0MDRGMDkwN0ZBREU4Cis6MTAwMjcwMDA3NDA0RjA5MDdGQzlGMDc0MDc5MDdGQUZGMDc0MjA5MDAxCis6MTAwMjgwMDA3RjlDRjA3NDgwOTA3Rjk4RjA3NDUzRjU5ODc1QzgzMDE3Cis6MTAwMjkwMDA3QjA1OTE0NEQyQ0E3NTk4NTBEMkU4RDJBRkQyQUM3NEUzCis6MTAwMkEwMDAwMEY1ODY5MDdGRDY3NDAyRjA3OTJFN0EwMDdCMDBEQjExCis6MTAwMkIwMDBGRURBRkFEOUY2NzQwNkYwODBGRUMwODZDMDgyQzA4M0VBCis6MTAwMkMwMDBDMDg0QzA4NUMwRTBFNTkxQzJFNEY1OTE5MDdGQUI3NDM1Cis6MTAwMkQwMDAwMUYwOTA3RkU4RTBGOUEzRTBGQUEzRTBGQkEzRTBGQ0UzCis6MTAwMkUwMDBFOTU0NjBCNDAwMDMwMjAzNURCNDQwNkVCQTAwMEIxMjFGCis6MTAwMkYwMDAwNDQ0NDAwMzAyMDQyNjAyMDQyRUJBMDEwMzAyMDQyRTIxCis6MTAwMzAwMDBCQTAyMDMwMjA0MkVCQTAzMDMwMjA0NjhCQTA0MUVCQjM1Cis6MTAwMzEwMDAwMDBBOTA3Rjk1RTA0NDAyRjAwMjA0MjY5MDdGOThFMDY2Cis6MTAwMzIwMDA1NEZERjA5MDdGOTVFMDU0RkRGMDAyMDQyNkJBMDUwM0Q5Cis6MTAwMzMwMDAwMjA0MkVCQTA2MTlCQjAwMDhFNTMzRDM5NTMyMDIwNDM1Cis6MTAwMzQwMDAwMkJCMDEwOEU1MzJDMzk1MzMwMjA0MDIwMjA0MkVCQTRGCis6MTAwMzUwMDAwNzA1OEIzNDAyMDQyNjAyMDQyRTAyMDQyRUJBMDAyMDY0Cis6MTAwMzYwMDBCOTgwMTA5MDdGMDBFNEYwQTNGMDkwN0ZCNTc0MDJGMEE0Cis6MTAwMzcwMDAwMjA0MjZCOTgyMDI4MEVCQjk4MTAyODBFNjAyMDQyRUQzCis6MTAwMzgwMDBCQTAxMEZCQjAwMDMwMjA0MkVCQjAxMDMwMjA0MjYwMkM0Cis6MTAwMzkwMDAwNDJFQkEwMzBGQkIwMDAzMDIwNDJFQkIwMTAzMDIwNEE4Cis6MTAwM0EwMDAyNjAyMDQyRUJBMDY1NkJDMDEwRjkwN0ZENDc0MDZGMEM0Cis6MTAwM0IwMDA5MDdGRDU3NDVBRjAwMjA0MjZCQzAyMTJCQjAwNkY5MEU1Cis6MTAwM0MwMDA3RkQ0NzQwNkYwOTA3RkQ1NzQ2Q0YwMDIwNDI2QkMwM0QxCis6MTAwM0QwMDAyOTc0MDRDMzlCNDA1NzYwNTVFQjJCOTAwNjhDMjU4MkYzCis6MTAwM0UwMDBGNTgyNzQwMDM1ODNGNTgzRTBGOUEzRTBGQTkwN0ZENEI5Cis6MTAwM0YwMDBFOUYwOTA3RkQ1RUFGMDAyMDQyNjAyMDQyRUJBMDgwRjM1Cis6MTAwNDAwMDA3NDAxOTA3RjAwRjA3NDAxOTA3RkI1RjAwMjA0MjZCQTY5Cis6MTAwNDEwMDAwOTAzMDIwNDI2QkEwQTA1NzQwMDAyMDQwMkJBMEIwMzk3Cis6MTAwNDIwMDAwMjA0MjYwMjA0MkU5MDdGQjQ3NDAyRjA4MDA5OTA3RkFCCis6MTAwNDMwMDBCNEUwNDQwMUYwODAwMEQwRTBEMDg1RDA4NEQwODNEMEY3Cis6MTAwNDQwMDA4MkQwODYzMkVCMjBFNzFFQzM5NDBBNTAxOUVCMjMyNDk2Cis6MTAwNDUwMDA0NkY1ODI3NDA2MzQwMEY1ODNFMEY1Q0JGNUNEQTNFMEQ0Cis6MTAwNDYwMDBGNUNBRjVDQ0MzMjJEMzIyQjk0MTExRUI2NEZGNTQ4MDA1Cis6MTAwNDcwMDBGQjkwN0Y5OEUwNTQ3RjRCRjAwMjA0MjY5MDdGOUJFMDM2Cis6MTAwNDgwMDA2NEZGMDIwNDAyQzA4NkMwODJDMDgzQzA4NEMwODVDMEVECis6MTAwNDkwMDBFMEU1OTFDMkU0RjU5MTkwN0ZBOTc0MDRGMDc0MjA5MDk2Cis6MTAwNEEwMDA3RjlDRjAxMjA1REM3NDIwOTA3RjlDRjBEMEUwRDA4NTFBCis6MTAwNEIwMDBEMDg0RDA4M0QwODJEMDg2MzJDMDg2QzA4MkMwODNDMDMwCis6MTAwNEMwMDA4NEMwODVDMEUwNzQxMDkwN0Y5Q0YwRTU5MUMyRTRGNTkzCis6MTAwNEQwMDA5MTkwN0ZBQTc0MDRGMDkwN0ZDOUUwRjlFNEY1ODY5MENBCis6MTAwNEUwMDA3REMwNzU4NTEwODUzMjg0RTAwNTg2MDU4NEYwRTU4NDNECis6MTAwNEYwMDBCNTMzMDI4MDA5MDUzMjA1ODZBM0Q5RUM4MDAwOTA3RkQwCis6MTAwNTAwMDBDOUYwQjE2RDc0MjA5MDdGOUNGMEQwRTBEMDg1RDA4NDhDCis6MTAwNTEwMDBEMDgzRDA4MkQwODYzMkU0RjU4NjkwN0ZCQ0UwMjBFMUEzCis6MTAwNTIwMDA0QjkwN0QwMEU1MzJGMEEzRTUzM0YwQTNFNTMwRjBBMzc2Cis6MTAwNTMwMDBFNTMxRjBBM0U0MzAwMDAxMDRGMEEzMDU4NjkwMTAwMDNCCis6MTAwNTQwMDA3OTEwRTBBMzA1ODZGMEEzMDU4NkQ5RjYwNTg2NzRGQzJDCis6MTAwNTUwMDBGMEEzMDU4NjkwMTEwMDc5MTBFMEEzMDU4NkYwQTMwNUFECis6MTAwNTYwMDA4NkQ5RjZFNEY1ODY5MDdGQkQ3NDI2RjAyMjIwMDAxMzJDCis6MTAwNTcwMDBFNTMyQjUzMzAxMjIwNTMzNzU4MzEwODUzMzgyRTBGNTBBCis6MTAwNTgwMDA5OUQyMDA3NDAwQjUzNDAxMjJFNTMzRDM5NTMyQzM5NTc2Cis6MTAwNTkwMDAzNDQwRjU3NTM0MDBEMjAxMDIwNURDQzA4NkMwODJDMDRCCis6MTAwNUEwMDA4M0MwODRDMDg1QzBFMDMwOTkwN0MyOTlDMjAwMTIwNTlCCis6MTAwNUIwMDA3MDMwOTgwNTEyMDVDNkMyOThEMEUwRDA4NUQwODREMDlFCis6MTAwNUMwMDA4M0QwODJEMDg2MzI3NTgzMTE4NTMwODIwNTgyRTU5OTg5Cis6MTAwNUQwMDBGMEU1ODJCNTMxMDEyMjA1MzBCMURDMjI3NDEwOTA3RjQ0Cis6MTAwNUUwMDA5Q0YwOTA3RkI4RTAyMEUxM0UyMDAxM0NFNTMwQjUzMTQxCis6MTAwNUYwMDAwMTIyRTRGNTg2NzU4MzExMDU4NjkwN0UwMEYwQTMwNTNGCis6MTAwNjAwMDA4Njc5MDFFNTMwQjUzMTAyODAxMDA1MzE4NTMxODJFMDBGCis6MTAwNjEwMDAwNTg2RjBBMzA1ODYwOUI5NDBFOTc0MTA5MDdGOUNGMDI3Cis6MTAwNjIwMDA5MDdGQjlFOTYwMDFGMDIyQzIwMUU0RjU4NjkwN0UwMDc2Cis6MTAwNjMwMDA3NDAxRjBBMzc0MDJGMDkwN0ZCOUYwMjJDMjk5RjU5OTg5Cis6MTAwNjQwMDAzMDk5RkRDMjk5MjJFNTVFRjYzQ0ZEOEZGRUM4RkY2NDNECis6MTAwNjUwMDBGRkIyRkZEOUZGRURGRkYzRkZGQTEyMDEwMDAxRkZGRjI4Cis6MTAwNjYwMDBGRjQwQ0QwNjA0MDE4OUFCMDEwMjAzMDEwOTAyMjAwMDBECis6MTAwNjcwMDAwMTAxMDA4MDMyMDkwNDAwMDAwMkZGRkZGRjAwMDcwNUFFCis6MTAwNjgwMDA4MjAzNDAwMDAxMDcwNTAyMDI0MDAwMDAwNjk0MDY5ODFDCis6MTAwNjkwMDAwNkJBMDZFODA0MDMwMDAwMjIwMzQxMDA0MzAwNEQwMEFGCis6MTAwNkEwMDA0NTAwMjAwMDc1MDA3MzAwNjIwMDIwMDA3NzAwNjkwMDlCCis6MTAwNkIwMDA2NDAwNjcwMDY1MDA3NDAwNzMwMDJFMDM0MTAwNDMwMDZFCis6MTAwNkMwMDA0RDAwNDUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNzMwMEZCCis6MTAwNkQwMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA3NzAwNjkwMDBECis6MEUwNkUwMDA2NDAwNjcwMDY1MDA3NDAwMDYwMzM0MDAzNzAwRjQKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwveGlyY29tX3Bncy5TIGIvZmlybXdhcmUva2V5c3Bhbl9wZGEveGlyY29tX3Bncy5TCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL3VzYi9zZXJpYWwveGlyY29tX3Bncy5TCnJlbmFtZSB0byBmaXJtd2FyZS9rZXlzcGFuX3BkYS94aXJjb21fcGdzLlMKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tvcmcvazEyMTIuZHNwLmloZXggYi9maXJtd2FyZS9rb3JnL2sxMjEyLmRzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNTE5OTcKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rb3JnL2sxMjEyLmRzcC5paGV4CkBAIC0wLDAgKzEsOTg3IEBACis6MTAwMDAwMDAwMUZGMThGRkY1RkZDRkZGMDBGRjAwRkZGRkZGMDBGRjFDCis6MTAwMDEwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkVBCis6MTAwMDIwMDAyNkZGMThGRkZGRkYwRkZGMDBGRjAwRkZGRkZGMDBGRjhECis6MTAwMDMwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkNBCis6MTAwMDQwMDAwMEZGMEFGRkZGRkYxRkZGMDBGRjAwRkZGRkZGMDBGRjkxCis6MTAwMDUwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkFBCis6MTAwMDYwMDAwMEZGMEFGRkZGRkYxRkZGMDBGRjAwRkZGRkZGMDBGRjcxCis6MTAwMDcwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjhBCis6MTAwMDgwMDAwMEZGMEFGRkZGRkYxRkZGMDBGRjAwRkZGRkZGMDBGRjUxCis6MTAwMDkwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjZBCis6MTAwMEEwMDAzOEZGMThGRkZGRkZERkZGMDBGRjAwRkZGRkZGMDBGRjJCCis6MTAwMEIwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjRBCis6MTAwMEMwMDAwMEZGMEFGRkZGRkYxRkZGMDBGRjAwRkZGRkZGMDBGRjExCis6MTAwMEQwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjJBCis6MTAwMEUwMDAwM0ZGM0NGRkZGRkZGQ0ZGNjdGRjQwRkZGRkZGQzBGRjc4Cis6MTAwMEYwMDBGRkZGOTNGRkZGRkZFMEZGMDBGRjBDRkZGRkZGMENGRjgwCis6MTAwMTAwMDAwQ0ZGMENGRkZGRkYwMEZGMzBGRjBDRkZGRkZGMDBGRkE1Cis6MTAwMTEwMDAwRkZGNDBGRkZGRkZGNEZGNDdGRjgwRkZGRkZGMEFGRkQ1Cis6MTAwMTIwMDA4MkZGMjNGRkZGRkYwRkZGOERGRjkzRkZGRkZGN0FGRjhCCis6MTAwMTMwMDA4REZGODNGRkZGRkY3MEZGNDdGRjkwRkZGRkZGMDBGRjcyCis6MTAwMTQwMDAwMEZGNDhGRkZGRkYwNEZGQTBGRjIzRkZGRkZGMEZGRjlCCis6MTAwMTUwMDA0NkZGOTBGRkZGRkY2QUZGMDBGRjBDRkZGRkZGMjBGRjNECis6MTAwMTYwMDAwMEZGMDRGRkZGRkYxQ0ZGMDBGRjA0RkZGRkZGMUNGRjU5Cis6MTAwMTcwMDAwMEZGMDRGRkZGRkYxQ0ZGMDBGRjA0RkZGRkZGMUNGRjQ5Cis6MTAwMTgwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjUxCis6MTAwMTkwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjQxCis6MTAwMUEwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjMxCis6MTAwMUIwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjIxCis6MTAwMUMwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjExCis6MTAwMUQwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjAxCis6MTAwMUUwMDA3MkZGMUNGRkZGRkY1RkZGMDJGRjQwRkZGRkZGNDBGRkFBCis6MTAwMUYwMDAxMUZGOTBGRkZGRkYyMEZGMDBGRjQ4RkZGRkZGMDBGRjAwCis6MTAwMjAwMDA4QkZGOTNGRkZGRkYyMEZGMDBGRjQwRkZGRkZGMDBGRjdBCis6MTAwMjEwMDA4NkZGOTNGRkZGRkY3MEZGOEJGRjkzRkZGRkZGMzBGRjExCis6MTAwMjIwMDA4REZGOTNGRkZGRkY0MEZGMDJGRjkxRkZGRkZGODBGRjY1Cis6MTAwMjMwMDAwMkZGOTFGRkZGRkY5MEZGOERGRjkzRkZGRkZGQzBGRkM1Cis6MTAwMjQwMDA0NkZGOTBGRkZGRkYyMEZGOERGRjkzRkZGRkZGRDBGRkQyCis6MTAwMjUwMDAwMEZGNDhGRkZGRkYwMEZGOEJGRjkzRkZGRkZGNDBGRjAyCis6MTAwMjYwMDBGRkZGNDdGRkZGRkZGMEZGOERGRjkzRkZGRkZGRTBGRjYyCis6MTAwMjcwMDAwMEZGMzRGRkZGRkYxN0ZGMDBGRjM4RkZGRkZGMTdGRkVFCis6MTAwMjgwMDA4MEZGMzdGRkZGRkYwMkZGODRGRjNCRkZGRkZGMDJGRkZFCis6MTAwMjkwMDAwMkZGMzRGRkZGRkY0QUZGMDJGRjM4RkZGRkZGNEFGRjY0Cis6MTAwMkEwMDAwMUZGMzRGRkZGRkYyQkZGMDFGRjM4RkZGRkZGMkJGRjk0Cis6MTAwMkIwMDA4MEZGNDNGRkZGRkYwMEZGODJGRjkzRkZGRkZGNTBGRjIwCis6MTAwMkMwMDA4MUZGNDNGRkZGRkYyMEZGODJGRjkzRkZGRkZGNjBGRkRGCis6MTAwMkQwMDA4NEZGNDNGRkZGRkYwMEZGODJGRjkzRkZGRkZGNzBGRkRDCis6MTAwMkUwMDA4NUZGNDNGRkZGRkYyMEZGODNGRjkzRkZGRkZGQzBGRjVBCis6MTAwMkYwMDA4MkZGMzdGRkZGRkY4MUZGMDBGRjM0RkZGRkZGODlGRjExCis6MTAwMzAwMDA4OEZGNDNGRkZGRkYwMEZGMDBGRjY4RkZGRkZGMDdGRkJECis6MTAwMzEwMDA4MkZGODNGRkZGRkY2MEZGMDBGRjY4RkZGRkZGMDdGRjEzCis6MTAwMzIwMDA4Q0ZGNDNGRkZGRkYwMEZGMDBGRjY4RkZGRkZGMDdGRjk5Cis6MTAwMzMwMDA4M0ZGODNGRkZGRkZDMEZGMDBGRjY4RkZGRkZGMDdGRjkyCis6MTAwMzQwMDA4QUZGNDNGRkZGRkYwMEZGMDBGRjY4RkZGRkZGMDdGRjdCCis6MTAwMzUwMDA4MkZGODNGRkZGRkY1MEZGMDBGRjY4RkZGRkZGMDdGRkUzCis6MTAwMzYwMDA4RUZGNDNGRkZGRkYwMEZGMDBGRjY4RkZGRkZGMDdGRjU3Cis6MTAwMzcwMDA4MkZGODNGRkZGRkY3MEZGMDBGRjY4RkZGRkZGMDdGRkEzCis6MTAwMzgwMDA4M0ZGMzdGRkZGRkYwMUZGMDBGRjM0RkZGRkZGODlGRkZGCis6MTAwMzkwMDAwMEZGMzRGRkZGRkYyNkZGMzBGRjBDRkZGRkZGMDBGRkQxCis6MTAwM0EwMDAwMEZGNDBGRkZGRkYyNkZGMjBGRjQwRkZGRkZGMDRGRjhECis6MTAwM0IwMDA4MEZGNDFGRkZGRkYwMkZGRTBGRjIwRkZGRkZGMEZGRjc1Cis6MTAwM0MwMDAwMEZGNjhGRkZGRkZCNkZGNjNGRjIyRkZGRkZGMEZGRjg1Cis6MTAwM0QwMDA2MkZGNkFGRkZGRkZBNkZGNjJGRjZBRkZGRkZGQTZGRjQzCis6MTAwM0UwMDAwMEZGNjhGRkZGRkZBNkZGMDBGRjA5RkZGRkZGMDdGRkY5Cis6MTAwM0YwMDA0MEZGNDFGRkZGRkYwMkZGRTBGRjIwRkZGRkZGMEZGRjc1Cis6MTAwNDAwMDAwMEZGNjhGRkZGRkZCNkZGNjNGRjIyRkZGRkZGMEZGRjQ0Cis6MTAwNDEwMDA2MkZGNkFGRkZGRkZBNkZGNjJGRjZBRkZGRkZGQTZGRjAyCis6MTAwNDIwMDAwMEZGNjhGRkZGRkZBNkZGMDVGRjQxRkZGRkZGMDJGRjgwCis6MTAwNDMwMDBFMEZGMjBGRkZGRkYwRkZGOEJGRjkzRkZGRkZGQkJGRkRFCis6MTAwNDQwMDAwMkZGNDFGRkZGRkY4MkZGRTBGRjIwRkZGRkZGMEZGRkUyCis6MTAwNDUwMDA4QkZGOTNGRkZGRkZDQkZGMDVGRjQxRkZGRkZGRTJGRjk1Cis6MTAwNDYwMDBFMEZGMjBGRkZGRkYwRkZGOEJGRjkzRkZGRkZGREJGRjhFCis6MTAwNDcwMDAyMEZGMENGRkZGRkYwMEZGMzBGRjBDRkZGRkZGMDBGRjFFCis6MTAwNDgwMDAwMEZGNDBGRkZGRkYyNkZGMDBGRjQxRkZGRkZGMDJGRkNECis6MTAwNDkwMDBFMEZGMjBGRkZGRkYwRkZGODNGRjkzRkZGRkZGODJGRkJGCis6MTAwNEEwMDA4M0ZGOTNGRkZGRkY5QkZGMDNGRjQxRkZGRkZGMDJGRjVGCis6MTAwNEIwMDBFMEZGMjBGRkZGRkYwRkZGODNGRjkzRkZGRkZGQTJGRjdGCis6MTAwNEMwMDA4M0ZGOTNGRkZGRkZCQkZGMjBGRjBDRkZGRkZGMDBGRjM5Cis6MTAwNEQwMDAwMEZGNDBGRkZGRkYwMEZGNDRGRjkwRkZGRkZGNjBGRkIyCis6MTAwNEUwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjE2Cis6MTAwNEYwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjA2Cis6MTAwNTAwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkY1Cis6MTAwNTEwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkU1Cis6MTAwNTIwMDAyMUZGNDBGRkZGRkY2MEZGNDBGRjkwRkZGRkZGMjBGRjI0Cis6MTAwNTMwMDAwMkZGMzVGRkZGRkYwMEZGMDBGRjM0RkZGRkZGMDhGRjUyCis6MTAwNTQwMDAwMEZGM0NGRkZGRkY4NUZGMEFGRjE0RkZGRkZGQUVGRjI4Cis6MTAwNTUwMDAwMEZGQTBGRkZGRkYwM0ZGMDBGRjM1RkZGRkZGMDBGRkNECis6MTAwNTYwMDAwMEZGMzRGRkZGRkYwOEZGMDJGRjNDRkZGRkZGMDVGRjE2Cis6MTAwNTcwMDAwQUZGMTRGRkZGRkZGRUZGMDBGRkEwRkZGRkZGMDNGRkM2Cis6MTAwNTgwMDAwM0ZGMzVGRkZGRkYwMEZGMDBGRjM0RkZGRkZGMDhGRjAxCis6MTAwNTkwMDAwMkZGM0NGRkZGRkYwNUZGMEJGRjE0RkZGRkZGNEVGRkI1Cis6MTAwNUEwMDAwMEZGQTBGRkZGRkYwM0ZGMDBGRjM1RkZGRkZGMDFGRjdDCis6MTAwNUIwMDA3OEZGMUNGRkZGRkY1RkZGMDNGRjM1RkZGRkZGMDFGRjE5Cis6MTAwNUMwMDA3OEZGMUNGRkZGRkY1RkZGNUJGRjQwRkZGRkZGRjBGRkI3Cis6MTAwNUQwMDBGRkZGOTNGRkZGRkYzMEZGODBGRjQyRkZGRkZGNzBGRjMxCis6MTAwNUUwMDBGRkZGOTNGRkZGRkY2MEZGREZGRjQwRkZGRkZGRjBGRjE0Cis6MTAwNUYwMDBGRUZGOTNGRkZGRkZGMEZGODBGRjQyRkZGRkZGNzBGRjUyCis6MTAwNjAwMDBGRkZGOTNGRkZGRkYyMEZGQzFGRjQxRkZGRkZGODBGRkMwCis6MTAwNjEwMDBGRkZGOTNGRkZGRkZGMEZGMDNGRjNDRkZGRkZGRkNGRjI3Cis6MTAwNjIwMDAwMEZGM0NGRkZGRkYwNEZGMDJGRjNDRkZGRkZGMjNGRjMzCis6MTAwNjMwMDAwMEZGNDhGRkZGRkYwMEZGOEJGRjkzRkZGRkZGMjBGRjNFCis6MTAwNjQwMDA1OUZGMThGRkZGRkZERkZGMDBGRjQ4RkZGRkZGMDBGRjFDCis6MTAwNjUwMDA4QkZGOTNGRkZGRkYyMEZGMThGRjIzRkZGRkZGMEZGRjFDCis6MTAwNjYwMDAwQ0ZGMTRGRkZGRkZFNEZGOEJGRjgzRkZGRkZGMjRGRjVFCis6MTAwNjcwMDAwMEZGMjJGRkZGRkYwRkZGMERGRjE4RkZGRkZGMEZGRjFGCis6MTAwNjgwMDA4QkZGODNGRkZGRkYyMEZGMDBGRjQwRkZGRkZGMTRGRkYyCis6MTAwNjkwMDBFMEZGMjJGRkZGRkYwRkZGMTBGRjE4RkZGRkZGRDBGRjVCCis6MTAwNkEwMDA4QkZGODNGRkZGRkYyMEZGMDBGRjQwRkZGRkZGMjRGRkMyCis6MTAwNkIwMDBFMEZGMjJGRkZGRkYwRkZGMTBGRjE4RkZGRkZGMzBGRkRCCis6MTAwNkMwMDA4QkZGODNGRkZGRkYyMEZGMDBGRjQwRkZGRkZGNDRGRjgyCis6MTAwNkQwMDBFMEZGMjJGRkZGRkYwRkZGMjJGRjE4RkZGRkZGOTBGRjQ5Cis6MTAwNkUwMDA4QkZGODNGRkZGRkYyMEZGMDBGRjQwRkZGRkZGODRGRjIyCis6MTAwNkYwMDBFMEZGMjJGRkZGRkYwRkZGMjJGRjE4RkZGRkZGOTBGRjI5Cis6MTAwNzAwMDAwQ0ZGMThGRkZGRkY2RkZGMDBGRjQwRkZGRkZGMDBGRjIwCis6MTAwNzEwMDA4NkZGOTNGRkZGRkY3MEZGNzZGRjFDRkZGRkZGOUZGRjI5Cis6MTAwNzIwMDA4NkZGODNGRkZGRkY1MEZGODZGRjgzRkZGRkZGNjRGRjBECis6MTAwNzMwMDA2MEZGMjJGRkZGRkYwRkZGNzRGRjE4RkZGRkZGODFGRjI1Cis6MTAwNzQwMDAwMEZGMzVGRkZGRkYwMEZGNjBGRjFDRkZGRkZGN0ZGRjgzCis6MTAwNzUwMDA2MUZGMUNGRkZGRkZBRkZGNzdGRjFDRkZGRkZGQUZGRjM1Cis6MTAwNzYwMDA2M0ZGMUNGRkZGRkY0RkZGMDVGRjM1RkZGRkZGMDBGRjhCCis6MTAwNzcwMDA5MkZGM0JGRkZGRkYwMEZGMDBGRjM0RkZGRkZGMDhGRjdBCis6MTAwNzgwMDAwMEZGMzhGRkZGRkYwOEZGMDBGRjNDRkZGRkZGNjVGRjkyCis6MTAwNzkwMDAwRkZGMTRGRkZGRkY2RUZGMDBGRjYwRkZGRkZGMDNGRjZGCis6MTAwN0EwMDAwMEZGNjBGRkZGRkYxM0ZGMDBGRjc4RkZGRkZGMTNGRjU1Cis6MTAwN0IwMDAwMEZGNzhGRkZGRkYwM0ZGMDVGRjM1RkZGRkZGRTBGRkFFCis6MTAwN0MwMDA3RkZGMzhGRkZGRkYwMEZGMDBGRjM0RkZGRkZGMDhGRjQwCis6MTAwN0QwMDAwMEZGMzhGRkZGRkYwOEZGMDBGRjNDRkZGRkZGNjVGRjQyCis6MTAwN0UwMDAxMEZGMTRGRkZGRkYwRUZGMDBGRjYwRkZGRkZGMDNGRjdFCis6MTAwN0YwMDAwMEZGNjBGRkZGRkYxM0ZGMDBGRjU4RkZGRkZGMTNGRjI1Cis6MTAwODAwMDAwMEZGNThGRkZGRkYwM0ZGNzlGRjFDRkZGRkZGRkZGRjAzCis6MTAwODEwMDAwMEZGMEFGRkZGRkYwRkZGMEVGRjFDRkZGRkZGMUZGRjgwCis6MTAwODIwMDA4REZGODNGRkZGRkZFMEZGNzhGRjIyRkZGRkZGMEZGRjM5Cis6MTAwODMwMDAxNUZGMUNGRkZGRkY4NUZGNzVGRjFDRkZGRkZGOEZGRkVDCis6MTAwODQwMDAwMEZGNDBGRkZGRkY0MEZGOEJGRjkzRkZGRkZGODBGRjk0Cis6MTAwODUwMDAwMkZGNDBGRkZGRkY2MEZGMTFGRjkwRkZGRkZGMjBGRjNGCis6MTAwODYwMDAxNkZGMThGRkZGRkYxRkZGMEVGRjFDRkZGRkZGMUZGRkZDCis6MTAwODcwMDA3NUZGMUNGRkZGRkY4RkZGODBGRjM1RkZGRkZGMDBGRkFECis6MTAwODgwMDAwMEZGMzRGRkZGRkYwOEZGMDBGRjQwRkZGRkZGMDBGRkY2Cis6MTAwODkwMDA0MEZGM0NGRkZGRkYwNUZGMTFGRjE0RkZGRkZGNEVGRjZFCis6MTAwOEEwMDAwMEZGNjhGRkZGRkYwM0ZGODdGRjgzRkZGRkZGRjBGRkVECis6MTAwOEIwMDA4NkZGOTNGRkZGRkY4MEZGOTBGRjM3RkZGRkZGMDBGRkUyCis6MTAwOEMwMDAwMkZGMzRGRkZGRkYwOEZGMDBGRjYwRkZGRkZGMDNGRjkxCis6MTAwOEQwMDA4OUZGOTNGRkZGRkYyMEZGMDBGRjYwRkZGRkZGMDNGRjgzCis6MTAwOEUwMDA4OUZGOTNGRkZGRkYzMEZGMDBGRjYwRkZGRkZGMDNGRjYzCis6MTAwOEYwMDA4OUZGOTNGRkZGRkY0MEZGMDBGRjYwRkZGRkZGMDNGRjQzCis6MTAwOTAwMDA4OUZGOTNGRkZGRkY1MEZGODZGRjk3RkZGRkZGOTBGRkQ4Cis6MTAwOTEwMDAwM0ZGMzVGRkZGRkYwMEZGNjBGRjFDRkZGRkZGN0ZGRkFFCis6MTAwOTIwMDA2M0ZGMUNGRkZGRkY3RkZGMDBGRjQwRkZGRkZGMDBGRjkzCis6MTAwOTMwMDA4REZGOTNGRkZGRkY2MEZGODJGRjkzRkZGRkZGNDBGRkVDCis6MTAwOTQwMDA4NkZGOTNGRkZGRkZBMEZGODNGRjM3RkZGRkZGODBGRkJFCis6MTAwOTUwMDA3NUZGMUNGRkZGRkYxRkZGODNGRjQzRkZGRkZGMDBGRjJCCis6MTAwOTYwMDA4N0ZGOTNGRkZGRkZFMEZGNkFGRjFDRkZGRkZGMEZGRjAyCis6MTAwOTcwMDA0MEZGNDFGRkZGRkYwMEZGOEJGRjkzRkZGRkZGOTBGRjUyCis6MTAwOTgwMDA4MEZGNDFGRkZGRkYwMEZGOEJGRjkzRkZGRkZGQTBGRkYyCis6MTAwOTkwMDA4QkZGODdGRkZGRkY5MEZGN0VGRjM4RkZGRkZGMDBGRjA5Cis6MTAwOUEwMDA0MEZGMzRGRkZGRkYwOEZGMDBGRjM4RkZGRkZGMDhGRjk1Cis6MTAwOUIwMDAwMEZGM0NGRkZGRkY1NUZGMTNGRjE0RkZGRkZGQkVGRkNCCis6MTAwOUMwMDAwMEZGNjBGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMTNGRjVCCis6MTAwOUQwMDAwMEZGNThGRkZGRkYxM0ZGMDBGRjU4RkZGRkZGMDNGRjVCCis6MTAwOUUwMDAwMEZGNjBGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMTNGRjNCCis6MTAwOUYwMDAwMEZGNThGRkZGRkYxM0ZGMDBGRjU4RkZGRkZGMDNGRjNCCis6MTAwQTAwMDAwMEZGNjBGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMTNGRjFBCis6MTAwQTEwMDAwMEZGNThGRkZGRkYxM0ZGMDBGRjU4RkZGRkZGMDNGRjFBCis6MTAwQTIwMDAwMEZGNjBGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMDNGRjBBCis6MTAwQTMwMDA4QkZGOTdGRkZGRkY5MEZGMDVGRjQxRkZGRkZGMDBGRkM4Cis6MTAwQTQwMDA5MkZGNDNGRkZGRkYwMUZGODZGRjkzRkZGRkZGRjBGRkQxCis6MTAwQTUwMDA4NkZGOTNGRkZGRkZFMUZGOERGRjgzRkZGRkZGRTBGRkI2Cis6MTAwQTYwMDA3OEZGMjJGRkZGRkYwRkZGMTVGRjFDRkZGRkZGODVGRjMxCis6MTAwQTcwMDA3NUZGMUNGRkZGRkY4RkZGOERGRjgzRkZGRkZGNDBGRjEwCis6MTAwQTgwMDA3OEZGMjJGRkZGRkYwRkZGNTNGRjE4RkZGRkZGQjRGRkE4Cis6MTAwQTkwMDA3MkZGMUNGRkZGRkYwRkZGMDBGRjQwRkZGRkZGMDBGRjgzCis6MTAwQUEwMDA4QkZGOTNGRkZGRkYzMEZGMDJGRjQwRkZGRkZGNjBGRjYwCis6MTAwQUIwMDAxMUZGOTBGRkZGRkYyMEZGMTZGRjE4RkZGRkZGNEZGRjAyCis6MTAwQUMwMDAzOEZGNDJGRkZGRkY1MEZGNDhGRjkwRkZGRkZGQTBGRkVFCis6MTAwQUQwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjIwCis6MTAwQUUwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjEwCis6MTAwQUYwMDAzMEZGNDBGRkZGRkYwMEZGNDdGRjkwRkZGRkZGNTBGRjY5Cis6MTAwQjAwMDAwMEZGMEFGRkZGRkYwRkZGMUVGRjFDRkZGRkZGMEZGRjhECis6MTAwQjEwMDAyMEZGMUNGRkZGRkZDRkZGMTZGRjE4RkZGRkZGMUZGRjg3Cis6MTAwQjIwMDAwMEZGNDBGRkZGRkYwMEZGNDZGRjkwRkZGRkZGNzBGRjQ5Cis6MTAwQjMwMDAxOEZGMUNGRkZGRkZFRkZGNkFGRjFDRkZGRkZGQkZGRjU3Cis6MTAwQjQwMDA1Q0ZGMUNGRkZGRkY3RkZGMThGRjFDRkZGRkZGRUZGRjk1Cis6MTAwQjUwMDA2N0ZGMUNGRkZGRkYzRkZGNUNGRjFDRkZGRkZGN0ZGRkU2Cis6MTAwQjYwMDAwOEZGNDBGRkZGRkYwMEZGNDZGRjkwRkZGRkZGNzBGRjAxCis6MTAwQjcwMDAxOEZGMUNGRkZGRkZFRkZGNjlGRjFDRkZGRkZGMEZGRkM4Cis6MTAwQjgwMDA1REZGMUNGRkZGRkYyRkZGMThGRjFDRkZGRkZGRUZGRkE0Cis6MTAwQjkwMDA3OUZGMUNGRkZGRkYxRkZGNUNGRjFDRkZGRkZGN0ZGRkI0Cis6MTAwQkEwMDAxOEZGMUNGRkZGRkZFRkZGNUNGRjFDRkZGRkZGN0ZGRjM1Cis6MTAwQkIwMDAxOEZGMUNGRkZGRkZFRkZGNUNGRjFDRkZGRkZGN0ZGRjI1Cis6MTAwQkMwMDAxOEZGMUNGRkZGRkZFRkZGNURGRjFDRkZGRkZGMkZGRjY0Cis6MTAwQkQwMDAxOEZGMUNGRkZGRkZFRkZGNUNGRjFDRkZGRkZGN0ZGRjA1Cis6MTAwQkUwMDAxOEZGMUNGRkZGRkZFRkZGNUNGRjFDRkZGRkZGN0ZGRkY1Cis6MTAwQkYwMDAxOEZGMUNGRkZGRkZFRkZGNUNGRjFDRkZGRkZGN0ZGRkU1Cis6MTAwQzAwMDAxOEZGMUNGRkZGRkZFRkZGNURGRjFDRkZGRkZGMkZGRjIzCis6MTAwQzEwMDAxOEZGMUNGRkZGRkZFRkZGNUNGRjFDRkZGRkZGN0ZGRkM0Cis6MTAwQzIwMDAxOEZGMUNGRkZGRkZFRkZGNUNGRjFDRkZGRkZGN0ZGRkI0Cis6MTAwQzMwMDAxOEZGMUNGRkZGRkZFRkZGNUNGRjFDRkZGRkZGN0ZGRkE0Cis6MTAwQzQwMDAxOEZGMUNGRkZGRkZFRkZGNURGRjFDRkZGRkZGMkZGRkUzCis6MTAwQzUwMDAxOEZGMUNGRkZGRkZFRkZGNjZGRjFDRkZGRkZGMUZGRkRBCis6MTAwQzYwMDA1Q0ZGMUNGRkZGRkY3RkZGMTZGRjE4RkZGRkZGNEZGRjFBCis6MTAwQzcwMDA4QkZGODdGRkZGRkY2MUZGMDBGRjM0RkZGRkZGODlGRjRFCis6MTAwQzgwMDAwMEZGMzRGRkZGRkYyNkZGMDBGRjYwRkZGRkZGMDZGRkFFCis6MTAwQzkwMDA4M0ZGOTNGRkZGRkZEMEZGMDBGRjYwRkZGRkZGMDZGRjEyCis6MTAwQ0EwMDA4M0ZGOTNGRkZGRkZFMEZGMzhGRjIyRkZGRkZGMEZGRkVGCis6MTAwQ0IwMDAxOUZGMTRGRkZGRkY4NUZGOEJGRjgzRkZGRkZGNTBGRjJFCis6MTAwQ0MwMDA3OEZGMjJGRkZGRkYwRkZGMDBGRjYwRkZGRkZGMDdGRjFFCis6MTAwQ0QwMDAwNEZGMERGRkZGRkYzMEZGMDBGRjYwRkZGRkZGMDdGRjc2Cis6MTAwQ0UwMDA4M0ZGOTNGRkZGRkZGMEZGMDBGRjYwRkZGRkZGMDdGRkExCis6MTAwQ0YwMDAwOEZGMERGRkZGRkYzMEZGMDBGRjYwRkZGRkZGMDdGRjUyCis6MTAwRDAwMDA4NkZGOTNGRkZGRkY0MEZGMDBGRjQwRkZGRkZGMDFGRjUzCis6MTAwRDEwMDA4QkZGOTNGRkZGRkY1MUZGMDBGRjM0RkZGRkZGNDZGRkY0Cis6MTAwRDIwMDAwMEZGMDlGRkZGRkYwNkZGOEJGRjk3RkZGRkZGNjFGRjNCCis6MTAwRDMwMDA4M0ZGOEJGRkZGRkZEMEZGODNGRjhCRkZGRkZGRTFGRkYwCis6MTAwRDQwMDA4N0ZGMzdGRkZGRkYwMUZGNkVGRjFDRkZGRkZGQkZGRkE1Cis6MTAwRDUwMDA4N0ZGMzdGRkZGRkYwMEZGOTJGRjM3RkZGRkZGMDFGRjE1Cis6MTAwRDYwMDA3RkZGMzhGRkZGRkYwMEZGN0VGRjM4RkZGRkZGMDFGRjFGCis6MTAwRDcwMDAyM0ZGMUNGRkZGRkZGRkZGN0VGRjM4RkZGRkZGMDBGRjg5Cis6MTAwRDgwMDA4M0ZGODdGRkZGRkZGMUZGODZGRjhCRkZGRkZGNDFGRjIwCis6MTAwRDkwMDA2Q0ZGMUNGRkZGRkYyRkZGODdGRjM3RkZGRkZGMDBGRkU4Cis6MTAwREEwMDA4QkZGOEJGRkZGRkZBMEZGMDBGRjM0RkZGRkZGMDhGRjVCCis6MTAwREIwMDA0MEZGMzhGRkZGRkYwOEZGMDBGRjNDRkZGRkZGNTVGRjJDCis6MTAwREMwMDAxQkZGMTRGRkZGRkZDRUZGMDBGRjYwRkZGRkZGMDNGRkNECis6MTAwREQwMDAwMEZGNjBGRkZGRkYxM0ZGMDBGRjc4RkZGRkZGMTNGRjFGCis6MTAwREUwMDAwMEZGNzhGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMDNGRjJGCis6MTAwREYwMDAwMEZGNjBGRkZGRkYxM0ZGMDBGRjc4RkZGRkZGMTNGRkZGCis6MTAwRTAwMDAwMEZGNzhGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMDNGRjBFCis6MTAwRTEwMDAwMEZGNjBGRkZGRkYxM0ZGMDBGRjc4RkZGRkZGMTNGRkRFCis6MTAwRTIwMDAwMEZGNzhGRkZGRkYwM0ZGOEJGRjgzRkZGRkZGRTFGRjYyCis6MTAwRTMwMDA4QkZGODNGRkZGRkZGMEZGMDBGRjc4RkZGRkZGMTNGRjMzCis6MTAwRTQwMDAwMEZGNzhGRkZGRkYwM0ZGOEJGRjlCRkZGRkZGQTBGRjZCCis6MTAwRTUwMDA4QkZGODdGRkZGRkY5MEZGN0VGRjM4RkZGRkZGMDBGRjQ0Cis6MTAwRTYwMDA0MEZGMzRGRkZGRkYwOEZGMDBGRjM4RkZGRkZGMDhGRkQwCis6MTAwRTcwMDAwMEZGM0NGRkZGRkY1NUZGMURGRjE0RkZGRkZGM0VGRjdDCis6MTAwRTgwMDAwMEZGNjBGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMTNGRjk2Cis6MTAwRTkwMDAwMEZGNThGRkZGRkYxM0ZGMDBGRjU4RkZGRkZGMDNGRjk2Cis6MTAwRUEwMDAwMEZGNjBGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMTNGRjc2Cis6MTAwRUIwMDAwMEZGNThGRkZGRkYxM0ZGMDBGRjU4RkZGRkZGMDNGRjc2Cis6MTAwRUMwMDAwMEZGNjBGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMTNGRjU2Cis6MTAwRUQwMDAwMEZGNThGRkZGRkYxM0ZGMDBGRjU4RkZGRkZGMDNGRjU2Cis6MTAwRUUwMDAwMEZGNjBGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMDNGRjQ2Cis6MTAwRUYwMDA4QkZGOTdGRkZGRkY5MEZGMDBGRjBBRkZGRkZGMEZGRjMxCis6MTAwRjAwMDA4QkZGODdGRkZGRkY2MUZGMDBGRjM0RkZGRkZGODlGRkJCCis6MTAwRjEwMDAwMEZGMzRGRkZGRkYyNkZGMDBGRjYwRkZGRkZGMDZGRjFCCis6MTAwRjIwMDA4M0ZGOTNGRkZGRkZEMEZGMDBGRjYwRkZGRkZGMDZGRjdGCis6MTAwRjMwMDA4M0ZGOTNGRkZGRkZFMEZGOEJGRjgzRkZGRkZGNTFGRjY2Cis6MTAwRjQwMDA3OUZGMjJGRkZGRkYwRkZGNzRGRjE4RkZGRkZGQjRGRkMxCis6MTAwRjUwMDAzOEZGMjJGRkZGRkYwRkZGMUVGRjE0RkZGRkZGRDVGRjJCCis6MTAwRjYwMDA4QkZGODNGRkZGRkY1MEZGNzhGRjIyRkZGRkZGMEZGRjg0Cis6MTAwRjcwMDAwMEZGNjBGRkZGRkYwN0ZGMDRGRjBERkZGRkZGMzBGRkQzCis6MTAwRjgwMDAwMEZGNjBGRkZGRkYwN0ZGODNGRjkzRkZGRkZGRjBGRkZFCis6MTAwRjkwMDAwMEZGNjBGRkZGRkYwN0ZGMDhGRjBERkZGRkZGMzBGRkFGCis6MTAwRkEwMDAwMEZGNjBGRkZGRkYwN0ZGODZGRjkzRkZGRkZGNDBGRjhCCis6MTAwRkIwMDAwMEZGNDBGRkZGRkYwMUZGOEJGRjkzRkZGRkZGNTFGRjhCCis6MTAwRkMwMDAwMEZGMzRGRkZGRkY0NkZGMDBGRjA5RkZGRkZGMDZGRkEyCis6MTAwRkQwMDA4QkZGOTdGRkZGRkY2MUZGODNGRjhCRkZGRkZGRDBGRkJBCis6MTAwRkUwMDA4M0ZGOEJGRkZGRkZFMUZGODdGRjM3RkZGRkZGMDFGRjVECis6MTAwRkYwMDA2RUZGMUNGRkZGRkZCRkZGODdGRjM3RkZGRkZGMDBGRkY0Cis6MTAxMDAwMDA5MkZGMzdGRkZGRkYwMUZGN0ZGRjM4RkZGRkZGMDBGRjY5Cis6MTAxMDEwMDAyM0ZGMUNGRkZGRkZGRkZGN0VGRjM4RkZGRkZGMDBGRkU2Cis6MTAxMDIwMDA4M0ZGODdGRkZGRkZGMUZGODZGRjhCRkZGRkZGNDFGRjdECis6MTAxMDMwMDA2Q0ZGMUNGRkZGRkYyRkZGMDBGRjBBRkZGRkZGMEZGRkVBCis6MTAxMDQwMDA4REZGOEZGRkZGRkZDNUZGMjBGRjE0RkZGRkZGQUVGRkU3Cis6MTAxMDUwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjBBRkZGRkZGMEZGRjgxCis6MTAxMDYwMDA4QkZGODNGRkZGRkY4NEZGMDBGRjIzRkZGRkZGMEZGRkM2Cis6MTAxMDcwMDA4QkZGOTNGRkZGRkY4QUZGNjRGRjFDRkZGRkZGRTBGRjcyCis6MTAxMDgwMDA3RUZGMzhGRkZGRkYwMEZGMDBGRjM4RkZGRkZGMDhGRjc0Cis6MTAxMDkwMDAwMEZGM0NGRkZGRkZFNUZGMjFGRjE0RkZGRkZGNUVGRkE2Cis6MTAxMEEwMDAwMEZGNDBGRkZGRkYwMEZGMDBGRjU4RkZGRkZGMDNGRkFGCis6MTAxMEIwMDAwMEZGMEFGRkZGRkYwRkZGMDhGRjQwRkZGRkZGMTBGRkM5Cis6MTAxMEMwMDA0N0ZGOTBGRkZGRkYyMEZGMDBGRjA0RkZGRkZGMUNGRjEzCis6MTAxMEQwMDAwMEZGMDRGRkZGRkYxQ0ZGMDBGRjA0RkZGRkZGMUNGRkRBCis6MTAxMEUwMDAwMEZGMDRGRkZGRkYxQ0ZGMDBGRjA0RkZGRkZGMTBGRkQ2Cis6MTAxMEYwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRkQyCis6MTAxMTAwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRkMxCis6MTAxMTEwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRkIxCis6MTAxMTIwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRkExCis6MTAxMTMwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjkxCis6MTAxMTQwMDAwMEZGMDRGRkZGRkYxMEZGMDJGRjQwRkZGRkZGNDBGRjEzCis6MTAxMTUwMDAxMUZGOTBGRkZGRkYyMEZGNzhGRjQyRkZGRkZGNTBGRkNFCis6MTAxMTYwMDA0OEZGOTBGRkZGRkZBMEZGMDBGRjAwRkZGRkZGMDBGRjExCis6MTAxMTcwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjc5Cis6MTAxMTgwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjY5Cis6MTAxMTkwMDBCMEZGNDBGRkZGRkYwMEZGNDdGRjkwRkZGRkZGNTBGRjQyCis6MTAxMUEwMDAwMEZGNDBGRkZGRkYwMEZGOERGRjkzRkZGRkZGNDBGRkE5Cis6MTAxMUIwMDA4REZGOTNGRkZGRkY1MEZGMDBGRjQwRkZGRkZGMDFGRjg4Cis6MTAxMUMwMDA4QkZGOTNGRkZGRkY1MUZGMDBGRjQwRkZGRkZGMDBGRjdBCis6MTAxMUQwMDA0NkZGOTBGRkZGRkY3MEZGOERGRjgzRkZGRkZGRDBGRkYzCis6MTAxMUUwMDA3OEZGMjJGRkZGRkYwRkZGMENGRjE4RkZGRkZGOTBGRkFDCis6MTAxMUYwMDAwQ0ZGMThGRkZGRkY2RkZGMjBGRjBDRkZGRkZGMDBGRjNBCis6MTAxMjAwMDAwMEZGMzRGRkZGRkYwOUZGMDBGRjM0RkZGRkZGMDhGRjZGCis6MTAxMjEwMDAwMEZGMzhGRkZGRkYwOEZGMDBGRjM4RkZGRkZGMDlGRjU3Cis6MTAxMjIwMDAwMEZGMzhGRkZGRkYwNkZGMDBGRjM0RkZGRkZGMjZGRjMwCis6MTAxMjMwMDA5OEZGQ0NGRkZGRkYzN0ZGMDBGRjNDRkZGRkZGQTVGRjNDCis6MTAxMjQwMDAyNEZGMTRGRkZGRkZGRUZGMDBGRjYwRkZGRkZGNzNGRjlGCis6MTAxMjUwMDAwOEZGMERGRkZGRkYxNEZGOThGRjIwRkZGRkZGMEZGRkE4Cis6MTAxMjYwMDAwMEZGNTBGRkZGRkZDNkZGNjlGRkNDRkZGRkZGMzdGRjA2Cis6MTAxMjcwMDAwMEZGMDVGRkZGRkYwMEZGMDBGRjU4RkZGRkZGQzZGRjU1Cis6MTAxMjgwMDA5OEZGMjBGRkZGRkYwRkZGMDBGRjYwRkZGRkZGNzJGRkNGCis6MTAxMjkwMDAwOEZGMERGRkZGRkYxNEZGMDBGRjUwRkZGRkZGQzZGRjE5Cis6MTAxMkEwMDA2OUZGQ0NGRkZGRkYzN0ZGMDBGRjA1RkZGRkZGMDBGRkQ3Cis6MTAxMkIwMDAwMEZGNThGRkZGRkZDNkZGOThGRjIwRkZGRkZGMEZGRjUzCis6MTAxMkMwMDAwMEZGNjBGRkZGRkY3M0ZGMDhGRjBERkZGRkZGMTRGRjJDCis6MTAxMkQwMDAwMEZGNTBGRkZGRkZDNkZGNjlGRjIwRkZGRkZGMEZGRjZBCis6MTAxMkUwMDAwMEZGMDVGRkZGRkYwMEZGMDBGRjU4RkZGRkZGQzZGRkU1Cis6MTAxMkYwMDAzMEZGMENGRkZGRkYwMEZGMDBGRjBBRkZGRkZGMEZGRkEzCis6MTAxMzAwMDAwMEZGMENGRkZGRkYzMEZGNDdGRjgwRkZGRkZGNThGRjhDCis6MTAxMzEwMDAxMEZGMEZGRkZGRkYwMUZGNjZGRjIzRkZGRkZGMEZGRjFGCis6MTAxMzIwMDAyNkZGMThGRkZGRkY5NEZGMDBGRjQ4RkZGRkZGMDBGRkFECis6MTAxMzMwMDA4QkZGOTNGRkZGRkY0MEZGODBGRjQwRkZGRkZGMDBGRjk5Cis6MTAxMzQwMDA0OUZGOTBGRkZGRkY0MEZGMTZGRjBGRkZGRkZGMDJGRjY3Cis6MTAxMzUwMDA2NkZGMjNGRkZGRkYwRkZGMzhGRjE4RkZGRkZGQjRGRkZCCis6MTAxMzYwMDAwRkZGNDBGRkZGRkZGNEZGNDdGRjgwRkZGRkZGMEFGRjczCis6MTAxMzcwMDA4MkZGMjNGRkZGRkYwRkZGOERGRjkzRkZGRkZGN0FGRjI5Cis6MTAxMzgwMDA3QUZGMjZGRkZGRkYwRkZGMTBGRjI3RkZGRkZGMEZGRjcyCis6MTAxMzkwMDAzOEZGMThGRkZGRkZCNEZGMjdGRjE4RkZGRkZGRDJGRjQyCis6MTAxM0EwMDAwMEZGNDhGRkZGRkYwMEZGOEJGRjkzRkZGRkZGMzBGRkIxCis6MTAxM0IwMDA4REZGODNGRkZGRkY3MEZGNDdGRjkwRkZGRkZGMDBGRkUwCis6MTAxM0MwMDAwMEZGNDhGRkZGRkYwNEZGQTBGRjIzRkZGRkZGMEZGRjA5Cis6MTAxM0QwMDA0NkZGOTBGRkZGRkY2QUZGMDBGRjBDRkZGRkZGMjBGRkFCCis6MTAxM0UwMDAwMEZGMEFGRkZGRkYxRkZGMTBGRjI3RkZGRkZGMEZGRjk4Cis6MTAxM0YwMDAyOUZGMThGRkZGRkY5MkZGNDZGRjgwRkZGRkZGMDBGRjVFCis6MTAxNDAwMDA4QkZGOTNGRkZGRkYyMEZGOERGRjgzRkZGRkZGNzBGRjI4Cis6MTAxNDEwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkIzCis6MTAxNDIwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkI0Cis6MTAxNDMwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjA0RkZGRkZGMUNGRjZBCis6MTAxNDQwMDAwMEZGMDRGRkZGRkYxQ0ZGMDBGRjA0RkZGRkZGMUNGRjY2Cis6MTAxNDUwMDAwMEZGMDRGRkZGRkYxQ0ZGMDBGRjA0RkZGRkZGMTBGRjYyCis6MTAxNDYwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjVFCis6MTAxNDcwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjRFCis6MTAxNDgwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjNFCis6MTAxNDkwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjJFCis6MTAxNEEwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMTBGRjFFCis6MTAxNEIwMDAwMEZGMDRGRkZGRkYxMEZGMDBGRjA0RkZGRkZGMDNGRjFCCis6MTAxNEMwMDAwREZGMThGRkZGRkYwRkZGMTBGRjI3RkZGRkZGMEZGRkFDCis6MTAxNEQwMDAzMUZGMThGRkZGRkYxMkZGMzBGRjBDRkZGRkZGMDBGRjdGCis6MTAxNEUwMDAwOEZGMENGRkZGRkYwMEZGRkZGRjRGRkZGRkZGODlGRjFCCis6MTAxNEYwMDA5MEZGMzdGRkZGRkYwMEZGMDJGRjM0RkZGRkZGMDhGRkYxCis6MTAxNTAwMDAwMEZGMzRGRkZGRkYzNEZGMDBGRjM0RkZGRkZGNTVGRkY0Cis6MTAxNTEwMDA0NkZGODBGRkZGRkYwOEZGMDBGRjBFRkZGRkZGMEZGRkVBCis6MTAxNTIwMDAwMEZGMERGRkZGRkY0RUZGQTdGRjIzRkZGRkZGMEZGRjkxCis6MTAxNTMwMDAwMEZGNjhGRkZGRkZBM0ZGMDBGRjBERkZGRkZGNEFGRjUzCis6MTAxNTQwMDA0NkZGODBGRkZGRkYxOEZGMDBGRjBFRkZGRkZGMEZGRkFBCis6MTAxNTUwMDAwMEZGMERGRkZGRkY1RUZGQUZGRjIzRkZGRkZGMEZGRjQ5Cis6MTAxNTYwMDAwMEZGNjhGRkZGRkZBMEZGMDBGRjBERkZGRkZGNUFGRjE2Cis6MTAxNTcwMDA0NkZGODBGRkZGRkY0OEZGMTBGRjBGRkZGRkZGRkVGRjRBCis6MTAxNTgwMDA4N0ZGOTNGRkZGRkZGRUZGMDBGRjBERkZGRkZGMkVGRjEyCis6MTAxNTkwMDAwMkZGNDBGRkZGRkYwNkZGRTBGRjIwRkZGRkZGMEZGRkZFCis6MTAxNUEwMDAwMEZGNDBGRkZGRkYwMUZGNjNGRjIyRkZGRkZGMEZGRjcwCis6MTAxNUIwMDAwMEZGMERGRkZGRkY0QUZGNDlGRjZBRkZGRkZGQTNGRjg4Cis6MTAxNUMwMDAwMEZGMERGRkZGRkY1QUZGMDBGRjY4RkZGRkZGQTBGRkI2Cis6MTAxNUQwMDAwMEZGMERGRkZGRkY1QUZGNjNGRjIyRkZGRkZGMEZGRjFBCis6MTAxNUUwMDAwMEZGMERGRkZGRkY0QUZGNDlGRjZBRkZGRkZGQTNGRjU4Cis6MTAxNUYwMDAwMEZGMERGRkZGRkY1QUZGMDBGRjY4RkZGRkZGQTBGRjg2Cis6MTAxNjAwMDA2M0ZGMjJGRkZGRkYwRkZGMDBGRjBERkZGRkZGNEFGRkY5Cis6MTAxNjEwMDA0OUZGNkFGRkZGRkZBM0ZGMDBGRjBERkZGRkZGNUFGRjE3Cis6MTAxNjIwMDAwMEZGNjhGRkZGRkZBMEZGNjNGRjIyRkZGRkZGMEZGRjI4Cis6MTAxNjMwMDAwMEZGMERGRkZGRkY0QUZGNDlGRjZBRkZGRkZGQTNGRjA3Cis6MTAxNjQwMDAwMEZGMERGRkZGRkY1QUZGMDBGRjY4RkZGRkZGQTBGRjM1Cis6MTAxNjUwMDA2M0ZGMjJGRkZGRkYwRkZGMDBGRjBERkZGRkZGNEFGRkE5Cis6MTAxNjYwMDA0OUZGNkFGRkZGRkZBM0ZGMDBGRjBERkZGRkZGNUFGRkM3Cis6MTAxNjcwMDAwMEZGNjhGRkZGRkZBMEZGNjNGRjIyRkZGRkZGMEZGRkQ4Cis6MTAxNjgwMDAwMEZGMERGRkZGRkY0QUZGNDlGRjZBRkZGRkZGQTNGRkI3Cis6MTAxNjkwMDAwMEZGMERGRkZGRkY1QUZGMDBGRjY4RkZGRkZGQTBGRkU1Cis6MTAxNkEwMDA2M0ZGMjJGRkZGRkYwRkZGMDBGRjBERkZGRkZGNEFGRjU5Cis6MTAxNkIwMDA0OUZGNkFGRkZGRkZBM0ZGMDBGRjBERkZGRkZGNUFGRjc3Cis6MTAxNkMwMDAwMEZGNjhGRkZGRkZBMUZGNDZGRjgwRkZGRkZGMjhGRjJECis6MTAxNkQwMDAwMEZGMEVGRkZGRkYwRkZGMDBGRjBERkZGRkZGNEVGRjlDCis6MTAxNkUwMDBBN0ZGMjNGRkZGRkYwRkZGMDBGRjY4RkZGRkZGQTNGRjIwCis6MTAxNkYwMDAwMEZGMERGRkZGRkY0QUZGNDZGRjgwRkZGRkZGMzhGRjlGCis6MTAxNzAwMDAwMEZGMEVGRkZGRkYwRkZGMDBGRjBERkZGRkZGNUVGRjVCCis6MTAxNzEwMDBBRkZGMjNGRkZGRkYwRkZGMDBGRjY4RkZGRkZGQTBGRkVBCis6MTAxNzIwMDAwMEZGMERGRkZGRkY1QUZGNjNGRjIyRkZGRkZGMEZGRkM4Cis6MTAxNzMwMDAwMEZGMERGRkZGRkY0QUZGNDlGRjZBRkZGRkZGQTNGRjA2Cis6MTAxNzQwMDAwMEZGMERGRkZGRkY1QUZGMDBGRjY4RkZGRkZGQTBGRjM0Cis6MTAxNzUwMDA2M0ZGMjJGRkZGRkYwRkZGMDBGRjBERkZGRkZGNEFGRkE4Cis6MTAxNzYwMDA0OUZGNkFGRkZGRkZBM0ZGMDBGRjBERkZGRkZGNUFGRkM2Cis6MTAxNzcwMDAwMEZGNjhGRkZGRkZBMEZGNjNGRjIyRkZGRkZGMEZGRkQ3Cis6MTAxNzgwMDAwMEZGMERGRkZGRkY0QUZGNDlGRjZBRkZGRkZGQTNGRkI2Cis6MTAxNzkwMDAwMEZGMERGRkZGRkY1QUZGMDBGRjY4RkZGRkZGQTBGRkU0Cis6MTAxN0EwMDA2M0ZGMjJGRkZGRkYwRkZGMDBGRjBERkZGRkZGNEFGRjU4Cis6MTAxN0IwMDA0OUZGNkFGRkZGRkZBM0ZGMDBGRjBERkZGRkZGNUFGRjc2Cis6MTAxN0MwMDAwMEZGNjhGRkZGRkZBMEZGNjNGRjIyRkZGRkZGMEZGRjg3Cis6MTAxN0QwMDAwMEZGMERGRkZGRkY0QUZGNDlGRjZBRkZGRkZGQTNGRjY2Cis6MTAxN0UwMDAwMEZGMERGRkZGRkY1QUZGMDBGRjY4RkZGRkZGQTBGRjk0Cis6MTAxN0YwMDA2M0ZGMjJGRkZGRkYwRkZGMDBGRjBERkZGRkZGNEFGRjA4Cis6MTAxODAwMDA0OUZGNkFGRkZGRkZBM0ZGMDBGRjBERkZGRkZGNUFGRjI1Cis6MTAxODEwMDAwMEZGNjhGRkZGRkZBMEZGNjNGRjIyRkZGRkZGMEZGRjM2Cis6MTAxODIwMDAwMEZGMERGRkZGRkY0QUZGNDlGRjZBRkZGRkZGQTNGRjE1Cis6MTAxODMwMDAwMEZGMERGRkZGRkY1QUZGMDBGRjY4RkZGRkZGQTNGRjQwCis6MTAxODQwMDBGRkZGNEZGRkZGRkZGMEZGODZGRjkzRkZGRkZGNTBGRkZCCis6MTAxODUwMDA4REZGODNGRkZGRkY3MEZGNDdGRjkwRkZGRkZGMDBGRjNCCis6MTAxODYwMDAwMEZGNDhGRkZGRkYwNEZGQTBGRjIzRkZGRkZGMEZGRjY0Cis6MTAxODcwMDA0NkZGOTBGRkZGRkY2QUZGMDBGRjBDRkZGRkZGMjBGRjA2Cis6MTAxODgwMDAwMEZGMEFGRkZGRkYxRkZGMTBGRjI3RkZGRkZGMEZGRkYzCis6MTAxODkwMDAzMkZGMThGRkZGRkY0MkZGOEJGRjgzRkZGRkZGRTRGRkQ0Cis6MTAxOEEwMDA4QkZGODNGRkZGRkZGNUZGNDZGRjkwRkZGRkZGNDRGRjI1Cis6MTAxOEIwMDAwOEZGMjJGRkZGRkYwRkZGRkZGRjRGRkZGRkZGODlGRjIyCis6MTAxOEMwMDAwMEZGMERGRkZGRkY4QUZGMDBGRjBFRkZGRkZGMEZGRjZFCis6MTAxOEQwMDAwMEZGMERGRkZGRkY0RUZGQTdGRjIzRkZGRkZGMEZGRkRFCis6MTAxOEUwMDA0NkZGOTBGRkZGRkY1QUZGOERGRjgzRkZGRkZGNzBGRjUyCis6MTAxOEYwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkNGCis6MTAxOTAwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkNGCis6MTAxOTEwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjdDCis6MTAxOTIwMDAxMEZGMjdGRkZGRkYwRkZGMzVGRjE4RkZGRkZGRDJGRjVDCis6MTAxOTMwMDAwMEZGNENGRkZGRkYwMEZGMDBGRjkzRkZGRkZGMDBGRkQyCis6MTAxOTQwMDAwQkZGNDBGRkZGRkY4MEZGMTFGRjkwRkZGRkZGRjBGRjQ1Cis6MTAxOTUwMDAwMEZGNDBGRkZGRkYxMEZGMTFGRjkwRkZGRkZGRTBGRkMwCis6MTAxOTYwMDA0NkZGODBGRkZGRkYwQUZGN0FGRjI2RkZGRkZGMEZGRjAyCis6MTAxOTcwMDAzNUZGMUNGRkZGRkYyNEZGMTBGRjI3RkZGRkZGMEZGRkI2Cis6MTAxOTgwMDAzM0ZGMThGRkZGRkZDNUZGMDBGRjQwRkZGRkZGQzBGRjUxCis6MTAxOTkwMDAxMUZGOTBGRkZGRkY2MEZGOERGRjkzRkZGRkZGRDBGRjYwCis6MTAxOUEwMDAwMEZGNDhGRkZGRkYwMEZGOERGRjgzRkZGRkZGNzBGRjc5Cis6MTAxOUIwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRjBFCis6MTAxOUMwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRjBGCis6MTAxOUQwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRkJDCis6MTAxOUUwMDAxMEZGMjdGRkZGRkYwRkZGMzRGRjE4RkZGRkZGODVGRkVBCis6MTAxOUYwMDAwMEZGNDBGRkZGRkY0MEZGMTFGRjkwRkZGRkZGNjBGRjcwCis6MTAxQTAwMDA4REZGOTNGRkZGRkZEMEZGOERGRjgzRkZGRkZGNzBGRjcwCis6MTAxQTEwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkFECis6MTAxQTIwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkFFCis6MTAxQTMwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjVCCis6MTAxQTQwMDAwMEZGNDBGRkZGRkYwMEZGMTFGRjkwRkZGRkZGNjBGRjVGCis6MTAxQTUwMDA4REZGOTNGRkZGRkZEMEZGOERGRjgzRkZGRkZGNzBGRjIwCis6MTAxQTYwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRjVECis6MTAxQTcwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRjVFCis6MTAxQTgwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjBCCis6MTAxQTkwMDAwMEZGNDhGRkZGRkYwMEZGOERGRjkzRkZGRkZGODBGRjY4Cis6MTAxQUEwMDAwMEZGNDhGRkZGRkYwMEZGMDBGRjkzRkZGRkZGMDBGRjY1Cis6MTAxQUIwMDAwREZGNDBGRkZGRkZGMEZGMTFGRjkwRkZGRkZGRjBGRjYyCis6MTAxQUMwMDAwMEZGNDBGRkZGRkYxMEZGMTFGRjkwRkZGRkZGRTBGRjRGCis6MTAxQUQwMDBGRkZGNDBGRkZGRkZGMEZGOTBGRjI3RkZGRkZGMEZGRjFCCis6MTAxQUUwMDAwMEZGMEFGRkZGRkYwRkZGMTBGRjI3RkZGRkZGMEZGRkExCis6MTAxQUYwMDAzN0ZGMThGRkZGRkY0MkZGNDZGRjgwRkZGRkZGMDBGRjk5Cis6MTAxQjAwMDA4OUZGOTNGRkZGRkZBMEZGNDZGRjgwRkZGRkZGMTBGRjRECis6MTAxQjEwMDA4OUZGOTNGRkZGRkZCMEZGNDZGRjgwRkZGRkZGMjBGRjFECis6MTAxQjIwMDA4OUZGOTNGRkZGRkZDMEZGNDZGRjgwRkZGRkZGMzBGRkVECis6MTAxQjMwMDA4OUZGOTNGRkZGRkZEMEZGNDZGRjgwRkZGRkZGNDBGRkJECis6MTAxQjQwMDA4OUZGOTNGRkZGRkZFMEZGNDZGRjgwRkZGRkZGNTBGRjhECis6MTAxQjUwMDA4OUZGOTNGRkZGRkZGMEZGMDBGRjQwRkZGRkZGMTBGRjMzCis6MTAxQjYwMDA4NkZGOTNGRkZGRkY2MEZGOERGRjgzRkZGRkZGNzBGRjg2Cis6MTAxQjcwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRjRDCis6MTAxQjgwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRjRECis6MTAxQjkwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRkZBCis6MTAxQkEwMDAxMEZGMjdGRkZGRkYwRkZGMzlGRjE4RkZGRkZGMjJGRjg2Cis6MTAxQkIwMDA0NkZGODBGRkZGRkYwMEZGOERGRjkzRkZGRkZGMjBGRjI5Cis6MTAxQkMwMDA0NkZGODBGRkZGRkYxMEZGOERGRjkzRkZGRkZGMzBGRkY5Cis6MTAxQkQwMDA0NkZGODBGRkZGRkYyMEZGNzhGRjIyRkZGRkZGMEZGRjgwCis6MTAxQkUwMDAzOEZGMUNGRkZGRkY4NEZGMDBGRjQwRkZGRkZGMDBGRkU3Cis6MTAxQkYwMDA0NkZGOTBGRkZGRkYyMEZGMDBGRjQ4RkZGRkZGMDBGRkIxCis6MTAxQzAwMDA4REZGOTNGRkZGRkY0MEZGOERGRjgzRkZGRkZGNzBGRkZFCis6MTAxQzEwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkFCCis6MTAxQzIwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkFDCis6MTAxQzMwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjU5Cis6MTAxQzQwMDAwMEZGNDhGRkZGRkYwMEZGOERGRjkzRkZGRkZGNTBGRkU2Cis6MTAxQzUwMDAwMEZGMEFGRkZGRkYwRkZGMDBGRjBDRkZGRkZGMjBGRjQ5Cis6MTAxQzYwMDAwMEZGMEFGRkZGRkYxRkZGMDBGRjBDRkZGRkZGMzBGRjE5Cis6MTAxQzcwMDAwMEZGNDhGRkZGRkYwMEZGOEJGRjkzRkZGRkZGNTBGRkI4Cis6MTAxQzgwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjA5Cis6MTAxQzkwMDA4REZGODNGRkZGRkY3MEZGMEZGRjQwRkZGRkZGRjRGRjhCCis6MTAxQ0EwMDBFMEZGMjJGRkZGRkYwRkZGNDFGRjE4RkZGRkZGMzBGRkE0Cis6MTAxQ0IwMDA4REZGODNGRkZGRkY3MEZGMEZGRjQwRkZGRkZGRTRGRjdCCis6MTAxQ0MwMDBFMEZGMjJGRkZGRkYwRkZGNDJGRjE4RkZGRkZGNDBGRjczCis6MTAxQ0QwMDA4REZGODNGRkZGRkY3MEZGMEZGRjQwRkZGRkZGRDRGRjZCCis6MTAxQ0UwMDBFMEZGMjJGRkZGRkYwRkZGNDdGRjE4RkZGRkZGQTBGRkVFCis6MTAxQ0YwMDA4REZGODNGRkZGRkY3MEZGMEZGRjQwRkZGRkZGQzRGRjVCCis6MTAxRDAwMDBFMEZGMjJGRkZGRkYwRkZGNDZGRjE4RkZGRkZGRDBGRjlFCis6MTAxRDEwMDA4REZGODNGRkZGRkY3MEZGMEZGRjQwRkZGRkZGQjRGRjRBCis6MTAxRDIwMDBFMEZGMjJGRkZGRkYwRkZGNDhGRjE4RkZGRkZGRTBGRjZDCis6MTAxRDMwMDA4REZGODNGRkZGRkY3MEZGMEZGRjQwRkZGRkZGQTRGRjNBCis6MTAxRDQwMDBFMEZGMjJGRkZGRkYwRkZGNEFGRjE4RkZGRkZGNjBGRkNBCis6MTAxRDUwMDA4REZGODNGRkZGRkY3MEZGMEZGRjQwRkZGRkZGOTRGRjJBCis6MTAxRDYwMDBFMEZGMjJGRkZGRkYwRkZGNENGRjE4RkZGRkZGMDBGRjA4Cis6MTAxRDcwMDA4REZGODNGRkZGRkY3MEZGMEZGRjQwRkZGRkZGODRGRjFBCis6MTAxRDgwMDBFMEZGMjJGRkZGRkYwRkZGNERGRjE4RkZGRkZGRTBGRjA3Cis6MTAxRDkwMDA4REZGODNGRkZGRkY3MEZGMEZGRjQwRkZGRkZGNzRGRjBBCis6MTAxREEwMDBFMEZGMjJGRkZGRkYwRkZGNEZGRjE4RkZGRkZGMjBGRkE1Cis6MTAxREIwMDA4REZGODNGRkZGRkY3MEZGMEZGRjQwRkZGRkZGNjRGRkZBCis6MTAxREMwMDBFMEZGMjJGRkZGRkYwRkZGNEZGRjE4RkZGRkZGRjBGRkI1Cis6MTAxREQwMDA4REZGODNGRkZGRkY3MEZGMEVGRjQwRkZGRkZGRjRGRjRCCis6MTAxREUwMDBFMEZGMjJGRkZGRkYwRkZGNDRGRjE4RkZGRkZGNDBGRjUwCis6MTAxREYwMDA4REZGODNGRkZGRkY3MEZGMEVGRjQwRkZGRkZGRTRGRjNCCis6MTAxRTAwMDBFMEZGMjJGRkZGRkYwRkZGNDVGRjE4RkZGRkZGNTBGRjFFCis6MTAxRTEwMDA4REZGODNGRkZGRkY3MEZGMEFGRjQwRkZGRkZGMDRGRkZFCis6MTAxRTIwMDBFMEZGMjJGRkZGRkYwRkZGM0RGRjE4RkZGRkZGRDBGRjg2Cis6MTAxRTMwMDA4REZGODNGRkZGRkY3MEZGMEFGRjQwRkZGRkZGMTRGRkNFCis6MTAxRTQwMDBFMEZGMjJGRkZGRkYwRkZGM0ZGRjE4RkZGRkZGMTBGRjI0Cis6MTAxRTUwMDA4REZGODNGRkZGRkY3MEZGMEFGRjQwRkZGRkZGMjRGRjlFCis6MTAxRTYwMDBFMEZGMjJGRkZGRkYwRkZGM0ZGRjE4RkZGRkZGODBGRjk0Cis6MTAxRTcwMDA4REZGODNGRkZGRkY3MEZGMEFGRjQwRkZGRkZGMzRGRjZFCis6MTAxRTgwMDBFMEZGMjJGRkZGRkYwRkZGM0ZGRjE4RkZGRkZGRjBGRjA0Cis6MTAxRTkwMDA4REZGODNGRkZGRkY3MEZGMEFGRjQwRkZGRkZGNDRGRjNFCis6MTAxRUEwMDBFMEZGMjJGRkZGRkYwRkZGNDBGRjE4RkZGRkZGNjBGRjczCis6MTAxRUIwMDA4REZGODNGRkZGRkY3MEZGNDdGRjkwRkZGRkZGMDBGRkQ1Cis6MTAxRUMwMDAwMEZGNDhGRkZGRkYwNEZGQTBGRjIzRkZGRkZGMEZGRkZFCis6MTAxRUQwMDA0NkZGOTBGRkZGRkY2QUZGMDBGRjBDRkZGRkZGMjBGRkEwCis6MTAxRUUwMDAwMEZGMEFGRkZGRkYxRkZGOERGRjgzRkZGRkZGNzBGRjUzCis6MTAxRUYwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkM5Cis6MTAxRjAwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkM5Cis6MTAxRjEwMDAwMEZGMENGRkZGRkYwOEZGMDBGRjQwRkZGRkZGMDBGRjc3Cis6MTAxRjIwMDBGRkZGOTNGRkZGRkZGMEZGMDBGRjQwRkZGRkZGMDBGRkY5Cis6MTAxRjMwMDA0NEZGOTBGRkZGRkY2MEZGMDBGRjAwRkZGRkZGMDBGRjc3Cis6MTAxRjQwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjlCCis6MTAxRjUwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjhCCis6MTAxRjYwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjdCCis6MTAxRjcwMDAwMEZGMDBGRkZGRkYwMEZGMjFGRjQwRkZGRkZGODBGRjhBCis6MTAxRjgwMDBGRkZGOTNGRkZGRkZGMEZGOERGRjgzRkZGRkZGNzBGRjU5Cis6MTAxRjkwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRjI4Cis6MTAxRkEwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRjI5Cis6MTAxRkIwMDAyNUZGNDBGRkZGRkY4MEZGRkZGRjkzRkZGRkZGRjBGRkM0Cis6MTAxRkMwMDA4REZGODNGRkZGRkY3MEZGNDdGRjkwRkZGRkZGMDBGRkM0Cis6MTAxRkQwMDAwMEZGNDhGRkZGRkYwNEZGQTBGRjIzRkZGRkZGMEZGRkVECis6MTAxRkUwMDA0NkZGOTBGRkZGRkY2QUZGRTlGRjQxRkZGRkZGODBGRjExCis6MTAxRkYwMDBGRkZGOTNGRkZGRkZGMEZGOERGRjgzRkZGRkZGNzBGRkU5Cis6MTAyMDAwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkI3Cis6MTAyMDEwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkI4Cis6MTAyMDIwMDBFREZGNDFGRkZGRkY4MEZGRkZGRjkzRkZGRkZGRjBGRjhBCis6MTAyMDMwMDA4REZGODNGRkZGRkY3MEZGNDdGRjkwRkZGRkZGMDBGRjUzCis6MTAyMDQwMDAwMEZGNDhGRkZGRkYwNEZGQTBGRjIzRkZGRkZGMEZGRjdDCis6MTAyMDUwMDA0NkZGOTBGRkZGRkY2QUZGMDBGRjQwRkZGRkZGMDBGRjBBCis6MTAyMDYwMDA0NEZGOTBGRkZGRkY2MEZGMDBGRjAwRkZGRkZGMDBGRjQ2Cis6MTAyMDcwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjZBCis6MTAyMDgwMDAwMEZGMDBGRkZGRkYwMEZGRjFGRjQxRkZGRkZGODBGRkE4Cis6MTAyMDkwMDBGRkZGOTNGRkZGRkZGMEZGNDZGRjg0RkZGRkZGMDBGRkZFCis6MTAyMEEwMDAwMEZGMzRGRkZGRkYwOEZGMDBGRjYwRkZGRkZGMDNGRjlCCis6MTAyMEIwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjJBCis6MTAyMEMwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjFBCis6MTAyMEQwMDA0NkZGOTBGRkZGRkY2MEZGRjdGRjRGRkZGRkZGRjRGRjlBCis6MTAyMEUwMDA0NkZGOTBGRkZGRkY3NEZGOERGRjgzRkZGRkZGNzBGRjMwCis6MTAyMEYwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkM3Cis6MTAyMTAwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkM3Cis6MTAyMTEwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjc0Cis6MTAyMTIwMDA0NkZGODRGRkZGRkYwMEZGMDBGRjM0RkZGRkZGMDhGRkIzCis6MTAyMTMwMDAwMEZGMzRGRkZGRkYwNkZGMDBGRjAwRkZGRkZGMDBGRjZGCis6MTAyMTQwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjk5Cis6MTAyMTUwMDAwMEZGMDBGRkZGRkYwMEZGNDZGRjgwRkZGRkZGMTBGRkIzCis6MTAyMTYwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjc5Cis6MTAyMTcwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjY5Cis6MTAyMTgwMDAwMEZGNjhGRkZGRkYwMkZGMDBGRjAwRkZGRkZGMDBGRkVGCis6MTAyMTkwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjQ5Cis6MTAyMUEwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjYwRkZGRkZGMjJGRkI3Cis6MTAyMUIwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjI5Cis6MTAyMUMwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjE5Cis6MTAyMUQwMDA0NkZGOTBGRkZGRkY2MkZGRjdGRjRGRkZGRkZGRjRGRjk3Cis6MTAyMUUwMDA0NkZGOTBGRkZGRkY3NEZGOERGRjgzRkZGRkZGNzBGRjJGCis6MTAyMUYwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkM2Cis6MTAyMjAwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkM2Cis6MTAyMjEwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjczCis6MTAyMjIwMDA0NkZGODhGRkZGRkYwMEZGMDBGRjM4RkZGRkZGMDhGRkFBCis6MTAyMjMwMDAwMEZGNTBGRkZGRkYwM0ZGMDBGRjAwRkZGRkZGMDBGRjU1Cis6MTAyMjQwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjk4Cis6MTAyMjUwMDAwMEZGMDBGRkZGRkYwMEZGNDZGRjkwRkZGRkZGNjBGRjUyCis6MTAyMjYwMDBGN0ZGNEZGRkZGRkZGNEZGNDZGRjkwRkZGRkZGNzRGRkY0Cis6MTAyMjcwMDA4REZGODNGRkZGRkY3MEZGNDdGRjkwRkZGRkZGMDBGRjExCis6MTAyMjgwMDAwMEZGNDhGRkZGRkYwNEZGQTBGRjIzRkZGRkZGMEZGRjNBCis6MTAyMjkwMDA0NkZGOTBGRkZGRkY2QUZGMDBGRjBDRkZGRkZGMjBGRkRDCis6MTAyMkEwMDAwMEZGMEFGRkZGRkYxRkZGNDZGRjg4RkZGRkZGMDBGRjQxCis6MTAyMkIwMDAwMEZGMzhGRkZGRkYwOEZGMDBGRjM4RkZGRkZGMDRGRkFDCis6MTAyMkMwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjE4Cis6MTAyMkQwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjA4Cis6MTAyMkUwMDA0NkZGODBGRkZGRkYxMEZGMDBGRjU4RkZGRkZGMDNGRkM3Cis6MTAyMkYwMDAwMEZGNTBGRkZGRkYyM0ZGMDBGRjAwRkZGRkZGMDBGRjc1Cis6MTAyMzAwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkQ3Cis6MTAyMzEwMDAwMEZGMDBGRkZGRkYwMEZGNDZGRjkwRkZGRkZGNjJGRjhGCis6MTAyMzIwMDBGN0ZGNEZGRkZGRkZGNEZGNDZGRjkwRkZGRkZGNzRGRjMzCis6MTAyMzMwMDA4REZGODNGRkZGRkY3MEZGNDdGRjkwRkZGRkZGMDBGRjUwCis6MTAyMzQwMDAwMEZGNDhGRkZGRkYwNEZGQTBGRjIzRkZGRkZGMEZGRjc5Cis6MTAyMzUwMDA0NkZGOTBGRkZGRkY2QUZGMDBGRjBDRkZGRkZGMjBGRjFCCis6MTAyMzYwMDAwMEZGMEFGRkZGRkYxRkZGNDZGRjgwRkZGRkZGMDBGRjg4Cis6MTAyMzcwMDBGRkZGOTNGRkZGRkZFMEZGRkZGRjgzRkZGRkZGRTJGRjkxCis6MTAyMzgwMDA0NkZGOTBGRkZGRkY2MkZGRjdGRjRGRkZGRkZGRjRGRkU1Cis6MTAyMzkwMDA0NkZGOTBGRkZGRkY3NEZGOERGRjgzRkZGRkZGNzBGRjdECis6MTAyM0EwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRjE0Cis6MTAyM0IwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRjE1Cis6MTAyM0MwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRkMyCis6MTAyM0QwMDAwM0ZGMERGRkZGRkYwRkZGMDBGRjAwRkZGRkZGMDBGRkU4Cis6MTAyM0UwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkY3Cis6MTAyM0YwMDAwMEZGMDBGRkZGRkYwMEZGNDZGRjkwRkZGRkZGNjBGRkIxCis6MTAyNDAwMDAwQ0ZGMERGRkZGRkZGMEZGMDBGRjAwRkZGRkZGMDBGRkNECis6MTAyNDEwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkM2Cis6MTAyNDIwMDAwMEZGMDBGRkZGRkYwMEZGRjdGRjRGRkZGRkZGRjRGRjdDCis6MTAyNDMwMDA0NkZGOTBGRkZGRkY3NEZGOERGRjgzRkZGRkZGNzBGRkRDCis6MTAyNDQwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRjczCis6MTAyNDUwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRjc0Cis6MTAyNDYwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjIxCis6MTAyNDcwMDA0NkZGODBGRkZGRkYwMkZGMDBGRjAwRkZGRkZGMDBGRjlFCis6MTAyNDgwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjU2Cis6MTAyNDkwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjQ2Cis6MTAyNEEwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjM2Cis6MTAyNEIwMDAwMEZGMDBGRkZGRkYwMEZGNDZGRjgwRkZGRkZGMTNGRjRECis6MTAyNEMwMDAwMEZGNDBGRkZGRkYwMEZGMTFGRjkwRkZGRkZGNjBGRkQ1Cis6MTAyNEQwMDA4REZGOTNGRkZGRkZEMEZGMTFGRjkwRkZGRkZGRjJGRjgzCis6MTAyNEUwMDAxMUZGOTBGRkZGRkZFM0ZGRjdGRjRGRkZGRkZGRjRGRjM4Cis6MTAyNEYwMDA0NkZGOTBGRkZGRkY3NEZGOERGRjgzRkZGRkZGNzBGRjFDCis6MTAyNTAwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkIyCis6MTAyNTEwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkIzCis6MTAyNTIwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjYwCis6MTAyNTMwMDA0NkZGODRGRkZGRkYwMEZGMDBGRjM0RkZGRkZGMDhGRjlGCis6MTAyNTQwMDAwMEZGMzRGRkZGRkYwNkZGMDBGRjAwRkZGRkZGMDBGRjVCCis6MTAyNTUwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjg1Cis6MTAyNTYwMDAwMEZGMDBGRkZGRkYwMEZGNDZGRjgwRkZGRkZGMTBGRjlGCis6MTAyNTcwMDBGRkZGOTNGRkZGRkZFMEZGMDBGRjYwRkZGRkZGMjJGRjcxCis6MTAyNTgwMDA2N0ZGNDBGRkZGRkY0MEZGRkZGRjkzRkZGRkZGRTBGRkZDCis6MTAyNTkwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjQ1Cis6MTAyNUEwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjM1Cis6MTAyNUIwMDA0NkZGOTBGRkZGRkY2MkZGRjdGRjRGRkZGRkZGRjRGRkIzCis6MTAyNUMwMDA0NkZGOTBGRkZGRkY3NEZGOERGRjgzRkZGRkZGNzBGRjRCCis6MTAyNUQwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkUyCis6MTAyNUUwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkUzCis6MTAyNUYwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjkwCis6MTAyNjAwMDA0NkZGODRGRkZGRkYwMEZGMDBGRjM0RkZGRkZGMDhGRkNFCis6MTAyNjEwMDAwMEZGMzRGRkZGRkYwNkZGMDBGRjAwRkZGRkZGMDBGRjhBCis6MTAyNjIwMDAwMEZGMDBGRkZGRkYwMEZGNDZGRjgwRkZGRkZGMTBGRkRFCis6MTAyNjMwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkE0Cis6MTAyNjQwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjk0Cis6MTAyNjUwMDA0NkZGODBGRkZGRkYyM0ZGRkZGRjkzRkZGRkZGRTBGRjI5Cis6MTAyNjYwMDAwMEZGNjhGRkZGRkYzMkZGMDBGRjYwRkZGRkZGNzJGRjA4Cis6MTAyNjcwMDA2N0ZGNDBGRkZGRkY0MEZGRkZGRjkzRkZGRkZGRTBGRjBCCis6MTAyNjgwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjU0Cis6MTAyNjkwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRjQ0Cis6MTAyNkEwMDA0NkZGOTBGRkZGRkY2N0ZGRjdGRjRGRkZGRkZGRjRGRkJECis6MTAyNkIwMDA0NkZGOTBGRkZGRkY3NEZGOERGRjgzRkZGRkZGNzBGRjVBCis6MTAyNkMwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRkYxCis6MTAyNkQwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRkYyCis6MTAyNkUwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjlGCis6MTAyNkYwMDA0NkZGODBGRkZGRkYwNUZGMDNGRjBERkZGRkZGMEZGRkZBCis6MTAyNzAwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkQzCis6MTAyNzEwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkMzCis6MTAyNzIwMDAwQ0ZGMERGRkZGRkZGNUZGMDBGRjAwRkZGRkZGMDBGRkE1Cis6MTAyNzMwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkEzCis6MTAyNzQwMDAwMEZGMDBGRkZGRkYwMEZGRjdGRjRGRkZGRkZGRjRGRjU5Cis6MTAyNzUwMDA0NkZGOTBGRkZGRkY3NEZGOERGRjgzRkZGRkZGNzBGRkI5Cis6MTAyNzYwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRjUwCis6MTAyNzcwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRjUxCis6MTAyNzgwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRkZFCis6MTAyNzkwMDA0NkZGODBGRkZGRkYwMEZGOERGRjkzRkZGRkZGQzBGRjlECis6MTAyN0EwMDA4REZGODNGRkZGRkZDN0ZGNDZGRjkwRkZGRkZGNjdGRjFGCis6MTAyN0IwMDBGN0ZGNEZGRkZGRkZGNEZGNDZGRjkwRkZGRkZGNzRGRjlGCis6MTAyN0MwMDA4REZGODNGRkZGRkY3MEZGNDdGRjkwRkZGRkZGMDBGRkJDCis6MTAyN0QwMDAwMEZGNDhGRkZGRkYwNEZGQTBGRjIzRkZGRkZGMEZGRkU1Cis6MTAyN0UwMDA0NkZGOTBGRkZGRkY2QUZGMDBGRjBDRkZGRkZGMjBGRjg3Cis6MTAyN0YwMDAwMEZGMEFGRkZGRkYxRkZGNDZGRjgwRkZGRkZGMDBGRkY0Cis6MTAyODAwMDA4REZGOTNGRkZGRkZFMEZGOERGRjgzRkZGRkZGRTdGRkRCCis6MTAyODEwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkMyCis6MTAyODIwMDAwMEZGMDBGRkZGRkYwMEZGMDBGRjAwRkZGRkZGMDBGRkIyCis6MTAyODMwMDA0NkZGOTBGRkZGRkY2N0ZGRjdGRjRGRkZGRkZGRjRGRjJCCis6MTAyODQwMDA0NkZGOTBGRkZGRkY3NEZGOERGRjgzRkZGRkZGNzBGRkM4Cis6MTAyODUwMDA0N0ZGOTBGRkZGRkYwMEZGMDBGRjQ4RkZGRkZGMDRGRjVGCis6MTAyODYwMDBBMEZGMjNGRkZGRkYwRkZGNDZGRjkwRkZGRkZGNkFGRjYwCis6MTAyODcwMDAwMEZGMENGRkZGRkYyMEZGMDBGRjBBRkZGRkZGMUZGRjBECis6MTAyODgwMDA4REZGODNGRkZGRkZEMEZGMDBGRjQwRkZGRkZGMjRGRjBFCis6MTAyODkwMDBBMEZGMjNGRkZGRkYwRkZGMTFGRjkwRkZGRkZGNkFGRjY1Cis6MTAyOEEwMDAwMEZGNDBGRkZGRkYxNEZGMThGRjIzRkZGRkZGMEZGRjk0Cis6MTAyOEIwMDA1MUZGMTRGRkZGRkY4MUZGOTBGRjgwRkZGRkZGNjBGRkNDCis6MTAyOEMwMDA4MEZGMjNGRkZGRkYwRkZGOERGRjgzRkZGRkZGRDBGRjgwCis6MTAyOEQwMDAwMEZGNDBGRkZGRkYxNEZGQTBGRjIzRkZGRkZGMEZGRkRDCis6MTAyOEUwMDAxMUZGOTBGRkZGRkY2QUZGMzBGRjBDRkZGRkZGMDBGRkFCCis6MTAyOEYwMDAwMEZGNDBGRkZGRkYxNkZGMTBGRjQwRkZGRkZGMDdGRjM1Cis6MTAyOTAwMDA5MEZGMzRGRkZGRkY3MUZGMDBGRjM0RkZGRkZGMDlGRjVGCis6MTAyOTEwMDAwRkZGNDBGRkZGRkZGNUZGMDBGRjYwRkZGRkZGMDdGRjE2Cis6MTAyOTIwMDA4OEZGNjNGRkZGRkYyN0ZGRThGRjYwRkZGRkZGMDdGRjUwCis6MTAyOTMwMDA2MkZGNjFGRkZGRkYyN0ZGODhGRjJCRkZGRkZGOEJGRjc5Cis6MTAyOTQwMDBFOEZGNjBGRkZGRkYwN0ZGNjJGRjYxRkZGRkZGMTdGRjY4Cis6MTAyOTUwMDA4OEZGMkZGRkZGRkZGQkZGODlGRjIzRkZGRkZGMEZGRjE0Cis6MTAyOTYwMDA5OEZGMjBGRkZGRkYwRkZGRUFGRjIwRkZGRkZGMEZGRjkxCis6MTAyOTcwMDAwMEZGMERGRkZGRkZBQkZGMDBGRjBERkZGRkZGQjhGRkU0Cis6MTAyOTgwMDAwMEZGMERGRkZGRkZDRkZGNjJGRjIxRkZGRkZGMEZGRkUzCis6MTAyOTkwMDAxMEZGMjJGRkZGRkYwRkZGNjJGRjIxRkZGRkZGMEZGRjZFCis6MTAyOUEwMDAwMEZGNDBGRkZGRkYyNEZGOTBGRjgwRkZGRkZGNjBGRjVECis6MTAyOUIwMDA4MEZGMjNGRkZGRkYwRkZGNTFGRjE4RkZGRkZGMDBGRjA2Cis6MTAyOUMwMDA4QkZGOTNGRkZGRkZFQkZGOEJGRjkzRkZGRkZGRkNGRkVFCis6MTAyOUQwMDAwMEZGMEFGRkZGRkYwRkZGNTFGRjFDRkZGRkZGMEZGRjZDCis6MTAyOUUwMDA4REZGOTNGRkZGRkZBQ0ZGODJGRjNDRkZGRkZGNDVGRjIyCis6MTAyOUYwMDA1NEZGMTRGRkZGRkYyRUZGRkZGRjNGRkZGRkZGRjVGRjE4Cis6MTAyQTAwMDA1NEZGMTRGRkZGRkYxRUZGMDBGRjAwRkZGRkZGMDBGRjRBCis6MTAyQTEwMDAwMEZGMDBGRkZGRkYwMEZGNTFGRjFDRkZGRkZGMEZGRjQ0Cis6MTAyQTIwMDAwMEZGMERGRkZGRkYwQ0ZGOERGRjgzRkZGRkZGQTRGRkUzCis6MTAyQTMwMDBFMEZGMjJGRkZGRkYwRkZGNTNGRjE4RkZGRkZGQjNGRjcxCis6MTAyQTQwMDA4REZGODNGRkZGRkZEMEZGMDBGRjQwRkZGRkZGMjRGRjRDCis6MTAyQTUwMDBBMEZGMjNGRkZGRkYwRkZGMDBGRjBERkZGRkZGQkFGRkU3Cis6MTAyQTYwMDA4QkZGODNGRkZGRkZGNUZGMTFGRjkwRkZGRkZGNkJGRjYxCis6MTAyQTcwMDAwMEZGNDBGRkZGRkYxNEZGMThGRjIzRkZGRkZGMEZGRkMyCis6MTAyQTgwMDA1NUZGMTRGRkZGRkYyMUZGOTBGRjgwRkZGRkZGNjBGRjU2Cis6MTAyQTkwMDA4MEZGMjNGRkZGRkYwRkZGMDBGRjQwRkZGRkZGMjBGRjJFCis6MTAyQUEwMDAwMEZGNDBGRkZGRkYwMUZGOEJGRjgzRkZGRkZGRTRGRkZECis6MTAyQUIwMDA4QkZGODNGRkZGRkZGNUZGMDhGRjBDRkZGRkZGMDBGRjA5Cis6MTAyQUMwMDA2MEZGMjJGRkZGRkYwRkZGNDlGRjJBRkZGRkZGRUFGRjIyCis6MTAyQUQwMDAwMEZGMERGRkZGRkY0RUZGOEJGRjkzRkZGRkZGRUVGRjk5Cis6MTAyQUUwMDAwMEZGMERGRkZGRkY1QUZGOEJGRjkzRkZGRkZGRkFGRjcxCis6MTAyQUYwMDA4REZGODNGRkZGRkYyMEZGOERGRjgzRkZGRkZGMzFGRjZGCis6MTAyQjAwMDBFMEZGMjJGRkZGRkYwRkZGQzlGRjJBRkZGRkZGRUFGRkUxCis6MTAyQjEwMDA1NEZGMThGRkZGRkZENUZGMDBGRjBERkZGRkZGNEVGRjIzCis6MTAyQjIwMDAwMEZGMERGRkZGRkY1QUZGODJGRjRGRkZGRkZGRjBGRjg3Cis6MTAyQjMwMDBGRkZGNEZGRkZGRkZGMUZGRTBGRjIyRkZGRkZGMEZGRjRGCis6MTAyQjQwMDBDOUZGMkFGRkZGRkZFQUZGNTZGRjE4RkZGRkZGQjRGRjkwCis6MTAyQjUwMDA1NEZGMThGRkZGRkZERkZGMDBGRjQwRkZGRkZGMjBGRkQ0Cis6MTAyQjYwMDA0N0ZGOTBGRkZGRkYyMEZGMENGRjBDRkZGRkZGMDBGRjYwCis6MTAyQjcwMDAwMkZGNDBGRkZGRkY2MEZGMTFGRjkwRkZGRkZGMjBGRkZDCis6MTAyQjgwMDAxNkZGMThGRkZGRkY0RkZGOERGRjgzRkZGRkZGRDBGRkYyCis6MTAyQjkwMDAwMEZGNDBGRkZGRkYyNEZGQTBGRjIzRkZGRkZGMEZGRjA5Cis6MTAyQkEwMDAxMUZGOTBGRkZGRkY2QUZGMDBGRjQwRkZGRkZGMTRGRkQwCis6MTAyQkIwMDAxOEZGMjNGRkZGRkYwRkZGNTdGRjE0RkZGRkZGOTFGRkQ5Cis6MTAyQkMwMDA5MEZGODBGRkZGRkY2MEZGODBGRjIzRkZGRkZGMEZGRkVECis6MTAyQkQwMDA4REZGODNGRkZGRkZEMEZGMDBGRjQwRkZGRkZGMTRGRkNCCis6MTAyQkUwMDBBMEZGMjNGRkZGRkYwRkZGMTFGRjkwRkZGRkZGNkFGRjEyCis6MTAyQkYwMDAzMEZGMENGRkZGRkYwMEZGMDBGRjQwRkZGRkZGMTZGRjRECis6MTAyQzAwMDAxMEZGNDBGRkZGRkYwN0ZGOTBGRjM0RkZGRkZGNzFGRjQyCis6MTAyQzEwMDAwMEZGMzRGRkZGRkYwOUZGMEZGRjQwRkZGRkZGRjVGRjNECis6MTAyQzIwMDAwMEZGNjBGRkZGRkYwN0ZGODhGRjYzRkZGRkZGMjdGRjM1Cis6MTAyQzMwMDBFOEZGNjBGRkZGRkYwN0ZGNjJGRjYxRkZGRkZGMjdGRjY1Cis6MTAyQzQwMDA4OEZGMkJGRkZGRkY4QkZGRThGRjYwRkZGRkZGMDdGRjAxCis6MTAyQzUwMDA2MkZGNjFGRkZGRkYxN0ZGODhGRjJGRkZGRkZGRkJGRkYyCis6MTAyQzYwMDA4OUZGMjNGRkZGRkYwRkZGOThGRjIwRkZGRkZGMEZGRkVDCis6MTAyQzcwMDBFQUZGMjBGRkZGRkYwRkZGMDBGRjBERkZGRkZGQUJGRjhECis6MTAyQzgwMDAwMEZGMERGRkZGRkZCOEZGMDBGRjBERkZGRkZGQ0ZGRkFECis6MTAyQzkwMDA2MkZGMjFGRkZGRkYwRkZGMTBGRjIyRkZGRkZGMEZGRjZCCis6MTAyQ0EwMDA2MkZGMjFGRkZGRkYwRkZGMDBGRjQwRkZGRkZGMjRGRjM4Cis6MTAyQ0IwMDA5MEZGODBGRkZGRkY2MEZGODBGRjIzRkZGRkZGMEZGRkZDCis6MTAyQ0MwMDA1N0ZGMThGRkZGRkYxMEZGOEJGRjkzRkZGRkZGRUJGRjg2Cis6MTAyQ0QwMDA4QkZGOTNGRkZGRkZGQ0ZGNUNGRjFDRkZGRkZGM0ZGRjJECis6MTAyQ0UwMDAwMEZGMEFGRkZGRkYwRkZGNTdGRjFDRkZGRkZGMUZGRjQzCis6MTAyQ0YwMDA4REZGOTNGRkZGRkZBQ0ZGODJGRjNDRkZGRkZGNDVGRjBGCis6MTAyRDAwMDA1QUZGMTRGRkZGRkY0RUZGRkZGRjNGRkZGRkZGRjVGRkRFCis6MTAyRDEwMDA1QUZGMTRGRkZGRkYzRUZGMDBGRjAwRkZGRkZGMDBGRjExCis6MTAyRDIwMDAwMEZGMDBGRkZGRkYwMEZGNTdGRjFDRkZGRkZGMUZGRjFCCis6MTAyRDMwMDAwMEZGMERGRkZGRkYwQ0ZGOERGRjgzRkZGRkZGQTRGRkQwCis6MTAyRDQwMDBFMEZGMjJGRkZGRkYwRkZGNTlGRjE4RkZGRkZGRDNGRjM4Cis6MTAyRDUwMDA1Q0ZGMUNGRkZGRkYzRkZGOERGRjgzRkZGRkZGRDBGRkU2Cis6MTAyRDYwMDAwMEZGNDBGRkZGRkYyNEZGQTBGRjIzRkZGRkZGMEZGRjM3Cis6MTAyRDcwMDAwMEZGMERGRkZGRkZCQUZGOEJGRjgzRkZGRkZGRjVGRjkzCis6MTAyRDgwMDA1Q0ZGMUNGRkZGRkYzRkZGMTFGRjkwRkZGRkZGNkJGRjhBCis6MTAyRDkwMDAwMEZGNDBGRkZGRkYxNEZGMThGRjIzRkZGRkZGMEZGRjlGCis6MTAyREEwMDA1QkZGMTRGRkZGRkY2MUZGOTBGRjgwRkZGRkZGNjBGRkVECis6MTAyREIwMDA4MEZGMjNGRkZGRkYwRkZGMDBGRjQwRkZGRkZGMjBGRjBCCis6MTAyREMwMDAwMEZGNDBGRkZGRkYwMUZGOEJGRjgzRkZGRkZGRTRGRkRBCis6MTAyREQwMDA4QkZGODNGRkZGRkZGNUZGMDhGRjBDRkZGRkZGMDBGRkU2Cis6MTAyREUwMDA2MEZGMjJGRkZGRkYwRkZGNDlGRjJBRkZGRkZGRUFGRkZGCis6MTAyREYwMDAwMEZGMERGRkZGRkY0RUZGOEJGRjkzRkZGRkZGRUVGRjc2Cis6MTAyRTAwMDA4QkZGOTNGRkZGRkZGQUZGNUVGRjFDRkZGRkZGMEZGRjJCCis6MTAyRTEwMDA1QkZGMThGRkZGRkYwRkZGOEJGRjgzRkZGRkZGMjBGRjBDCis6MTAyRTIwMDA3OEZGMjJGRkZGRkYwRkZGMERGRjE4RkZGRkZGMDVGRkQ5Cis6MTAyRTMwMDAwMEZGMEFGRkZGRkYwRkZGMDhGRjBDRkZGRkZGMDBGRjZGCis6MTAyRTQwMDAwMEZGNDBGRkZGRkYxNEZGMDBGRjQwRkZGRkZGMDVGRkYzCis6MTAyRTUwMDA4QkZGODNGRkZGRkZFMEZGOEJGRjgzRkZGRkZGRjFGRjhGCis6MTAyRTYwMDA2MEZGMjJGRkZGRkYwRkZGNDlGRjJBRkZGRkZGRUFGRjdFCis6MTAyRTcwMDA4QkZGOTNGRkZGRkZGQUZGOEJGRjkzRkZGRkZGRUVGRjM4Cis6MTAyRTgwMDAwQ0ZGMENGRkZGRkYwMEZGMDBGRjBBRkZGRkZGMEZGRjFCCis6MTAyRTkwMDAwOEZGMENGRkZGRkYwMEZGMDBGRjQwRkZGRkZGMTRGRkQ0Cis6MTAyRUEwMDAwMEZGNDBGRkZGRkYwNUZGOEJGRjgzRkZGRkZGRTBGRkY5Cis6MTAyRUIwMDA4QkZGODNGRkZGRkZGMUZGNjBGRjIyRkZGRkZGMEZGRjhDCis6MTAyRUMwMDA0OUZGMkFGRkZGRkZFQUZGOEJGRjkzRkZGRkZGRkFGRjk3Cis6MTAyRUQwMDA4QkZGOTNGRkZGRkZFRUZGMENGRjBDRkZGRkZGMDBGRkQ4Cis6MTAyRUUwMDA4REZGODNGRkZGRkY0MEZGNzhGRjIyRkZGRkZGMEZGRkYzCis6MTAyRUYwMDA1RUZGMUNGRkZGRkYwNEZGMDBGRjBBRkZGRkZGMEZGRjQ1Cis6MTAyRjAwMDAwOEZGMENGRkZGRkYwMEZGOERGRjgzRkZGRkZGNTBGRjU3Cis6MTAyRjEwMDA3OEZGMjJGRkZGRkYwRkZGNUZGRjFDRkZGRkZGNTRGRjQzCis6MTAyRjIwMDAwRkZGNDBGRkZGRkZGNUZGOTBGRjgwRkZGRkZGQThGRkFGCis6MTAyRjMwMDAxMEZGMEZGRkZGRkYwOEZGOTBGRjgwRkZGRkZGOTBGRkQ0Cis6MTAyRjQwMDA4OEZGMjdGRkZGRkYwRkZGQjZGRjI3RkZGRkZGMEZGRkUxCis6MTAyRjUwMDA4QkZGODNGRkZGRkZGQUZGRjJGRjIyRkZGRkZGMEZGRjUwCis6MTAyRjYwMDAwMEZGMERGRkZGRkYwQUZGMDBGRjQwRkZGRkZGMTRGRjAwCis6MTAyRjcwMDBFMkZGMjJGRkZGRkYwRkZGNzRGRjE4RkZGRkZGRTJGRkRBCis6MTAyRjgwMDAzOEZGMjNGRkZGRkYwRkZGMDBGRjQwRkZGRkZGMjRGRjdECis6MTAyRjkwMDBFMkZGMjJGRkZGRkYwRkZGNzRGRjE4RkZGRkZGRTJGRkJBCis6MTAyRkEwMDAwMEZGMEFGRkZGRkYwRkZGMEZGRjQwRkZGRkZGRjVGRkNFCis6MTAyRkIwMDA5MEZGODBGRkZGRkY4MEZGOEJGRjgzRkZGRkZGRTJGRjlCCis6MTAyRkMwMDA4OEZGMjdGRkZGRkYwRkZGOThGRjIwRkZGRkZGMEZGRjg2Cis6MTAyRkQwMDAxMEZGNDBGRkZGRkYwN0ZGRThGRjIwRkZGRkZGMEZGRjhECis6MTAyRkUwMDAwMEZGMERGRkZGRkZBQ0ZGRjJGRjIyRkZGRkZGMEZGRjBGCis6MTAyRkYwMDAwMEZGMERGRkZGRkYwQUZGMDFGRjQwRkZGRkZGMDRGRjdGCis6MTAzMDAwMDBFMkZGMjJGRkZGRkYwRkZGNzRGRjE4RkZGRkZGRTJGRjQ5Cis6MTAzMDEwMDAzOEZGMjNGRkZGRkYwRkZGMDJGRjQwRkZGRkZGMDRGRjBBCis6MTAzMDIwMDBFMkZGMjJGRkZGRkYwRkZGNzRGRjE4RkZGRkZGRTJGRjI5Cis6MTAzMDMwMDAwMEZGMEFGRkZGRkYwRkZGMDBGRjM0RkZGRkZGMDhGRjQ1Cis6MTAzMDQwMDAwMEZGMzRGRkZGRkZENEZGMDBGRjM0RkZGRkZGODVGRkM5Cis6MTAzMDUwMDBGRkZGNEZGRkZGRkY4OUZGMDBGRjA5RkZGRkZGMDFGRjk5Cis6MTAzMDYwMDA4OUZGODNGRkZGRkZCOEZGMDBGRjBFRkZGRkZGMEZGRjg5Cis6MTAzMDcwMDAwMEZGMERGRkZGRkY0RUZGQTdGRjIzRkZGRkZGMEZGRjI2Cis6MTAzMDgwMDAwMEZGNjhGRkZGRkZBM0ZGODlGRjgzRkZGRkZGQThGRjhCCis6MTAzMDkwMDAwMEZGMEVGRkZGRkYwRkZGMDBGRjBERkZGRkZGNEVGRkMyCis6MTAzMEEwMDBBN0ZGMjNGRkZGRkYwRkZGMDBGRjY4RkZGRkZGQTNGRjQ2Cis6MTAzMEIwMDAwMEZGMDlGRkZGRkYwM0ZGOEJGRjgzRkZGRkZGQjBGRjUwCis6MTAzMEMwMDAwMEZGNjhGRkZGRkYwMEZGMDBGRjBBRkZGRkZGMEZGRjg5Cis6MTAzMEQwMDAwMkZGMzVGRkZGRkYwMEZGMDBGRjM0RkZGRkZGMDhGRjg3Cis6MTAzMEUwMDAwMEZGMzRGRkZGRkYyNkZGODlGRjgzRkZGRkZGRDhGRkFDCis6MTAzMEYwMDAwMEZGMEVGRkZGRkYwRkZGMDBGRjBERkZGRkZGNEVGRjYyCis6MTAzMTAwMDBBN0ZGMjNGRkZGRkYwRkZGMDBGRjY4RkZGRkZGQTNGRkU1Cis6MTAzMTEwMDA4OUZGODNGRkZGRkZDOEZGMDBGRjBFRkZGRkZGMEZGRkM4Cis6MTAzMTIwMDAwMEZGMERGRkZGRkY0RUZGQTdGRjIzRkZGRkZGMEZGRjc1Cis6MTAzMTMwMDAwMEZGNjhGRkZGRkZBM0ZGMDBGRjA5RkZGRkZGMDNGRjgyCis6MTAzMTQwMDA4QkZGODNGRkZGRkZEMEZGMDBGRjY4RkZGRkZGMDJGRjQxCis6MTAzMTUwMDAwMUZGNDBGRkZGRkY4MEZGMDBGRjY4RkZGRkZGMDJGRjRFCis6MTAzMTYwMDAwMEZGNDBGRkZGRkYyMEZGMDBGRjY4RkZGRkZGMDNGRjlFCis6MTAzMTcwMDAwMEZGMEFGRkZGRkYwRkZGMDBGRjQwRkZGRkZGMTBGRkYwCis6MTAzMTgwMDA4QkZGOTNGRkZGRkY0MEZGMzBGRjQwRkZGRkZGMDBGRjdCCis6MTAzMTkwMDA0OUZGOTBGRkZGRkY0MEZGMDBGRjBBRkZGRkZGMEZGRjA3Cis6MTAzMUEwMDAwMEZGNDBGRkZGRkY2MEZGMDBGRjkxRkZGRkZGRjBGRjA4Cis6MTAzMUIwMDAwMEZGMEFGRkZGRkYwRkZGMDFGRjQyRkZGRkZGODBGRjNECis6MTAzMUMwMDAwMEZGOTFGRkZGRkY3MEZGMDdGRjQyRkZGRkZGODBGRjNGCis6MTAzMUQwMDAwM0ZGOTFGRkZGRkY3MEZGMDJGRjQyRkZGRkZGMDBGRkIxCis6MTAzMUUwMDAwMEZGOTFGRkZGRkZGMEZGMDhGRjQyRkZGRkZGMDBGRjFFCis6MTAzMUYwMDAwM0ZGOTFGRkZGRkZGMEZGMDBGRjQwRkZGRkZGMjBGRkY1Cis6MTAzMjAwMDAwMUZGOTFGRkZGRkY3MEZGMDBGRjQwRkZGRkZGMjBGRjY2Cis6MTAzMjEwMDAwNEZGOTFGRkZGRkY3MEZGMDBGRjBBRkZGRkZGMEZGRjlBCis6MTAzMjIwMDAwNEZGNDJGRkZGRkYwMEZGNDlGRjkwRkZGRkZGMjBGRjY5Cis6MTAzMjMwMDA2MkZGMUNGRkZGRkZGRkZGMDBGRjBBRkZGRkZGMEZGRjAyCis6MTAzMjQwMDAwMEZGNDBGRkZGRkYyMEZGMDBGRjkxRkZGRkZGRjBGRkE3Cis6MTAzMjUwMDAwMUZGNDJGRkZGRkYwMEZGNDlGRjkwRkZGRkZGMjBGRjNDCis6MTAzMjYwMDA2MkZGMUNGRkZGRkZGRkZGMDBGRjBBRkZGRkZGMEZGRkQyCis6MTAzMjcwMDAwMEZGNDBGRkZGRkY0MEZGOEJGRjkzRkZGRkZGODBGRjNBCis6MTAzMjgwMDAwNUZGMzVGRkZGRkYwMEZGOTJGRjNCRkZGRkZGMDBGRjQxCis6MTAzMjkwMDAwMEZGMzRGRkZGRkYwOEZGMDBGRjM4RkZGRkZGMDhGRkJDCis6MTAzMkEwMDAwMEZGM0NGRkZGRkY2NUZGNjVGRjE0RkZGRkZGOUVGRjcwCis6MTAzMkIwMDAwMEZGNjBGRkZGRkYwM0ZGMDBGRjYwRkZGRkZGMTNGRjQyCis6MTAzMkMwMDAwMEZGNzhGRkZGRkYxM0ZGMDBGRjc4RkZGRkZGMDNGRjAyCis6MTAzMkQwMDAwMUZGNDJGRkZGRkYwMEZGNDlGRjkwRkZGRkZGMjBGRkJDCis6MTAzMkUwMDA2MkZGMUNGRkZGRkZGRkZGMDVGRjgxRkZGRkZGQzBGRjI1Cis6MTAzMkYwMDA3OEZGMjJGRkZGRkYwRkZGMjFGRjE4RkZGRkZGNzFGRjg1Cis6MTAzMzAwMDAwMEZGMEFGRkZGRkYwRkZGNDlGRjgwRkZGRkZGNDhGRjlECis6MTAzMzEwMDAxMEZGMEZGRkZGRkYwM0ZGNjZGRjIzRkZGRkZGMEZGRkZECis6MTAzMzIwMDA3NEZGMThGRkZGRkY1NEZGODZGRjgzRkZGRkZGQzBGRkZFCis6MTAzMzMwMDA0OUZGOTBGRkZGRkYyMEZGNjJGRjFDRkZGRkZGRkZGRjIxCis6MTAzMzQwMDA4NkZGODNGRkZGRkY4MEZGMDFGRjQwRkZGRkZGMDRGRkI5Cis6MTAzMzUwMDBFMEZGMjJGRkZGRkYwRkZGODZGRjkzRkZGRkZGOEFGRkMzCis6MTAzMzYwMDA2N0ZGMUNGRkZGRkYwMEZGODZGRjg3RkZGRkZGRDBGRjA3Cis6MTAzMzcwMDA3NUZGMUNGRkZGRkYxRkZGMDBGRjBBRkZGRkZGMEZGRjhFCis6MTAzMzgwMDAwMEZGNDhGRkZGRkYwMEZGODJGRjkzRkZGRkZGNDBGRkFBCis6MTAzMzkwMDAwMEZGMEFGRkZGRkYwRkZGMDhGRjBDRkZGRkZGMDBGRjBBCis6MTAzM0EwMDA4NkZGOEJGRkZGRkZCMEZGMDBGRjM4RkZGRkZGMDhGRjI2Cis6MTAzM0IwMDAwMEZGMzhGRkZGRkZGNEZGRkZGRjRGRkZGRkZGODlGRjE0Cis6MTAzM0MwMDA4REZGODNGRkZGRkY2MEZGODlGRjgzRkZGRkZGNDRGRjQ3Cis6MTAzM0QwMDAwMEZGNDBGRkZGRkYwMUZGODlGRjgzRkZGRkZGNTVGRjU1Cis6MTAzM0UwMDA2MEZGMjZGRkZGRkYwRkZGNDlGRjIyRkZGRkZGMEZGRkQ4Cis6MTAzM0YwMDAwMEZGNzhGRkZGRkZBM0ZGMTBGRjIyRkZGRkZGMEZGRjdCCis6MTAzNDAwMDAwMEZGNzhGRkZGRkZBMEZGOERGRjgzRkZGRkZGNjBGRjNFCis6MTAzNDEwMDA4OUZGODNGRkZGRkYyNEZGMDBGRjQwRkZGRkZGMDFGRjQ1Cis6MTAzNDIwMDA4OUZGODNGRkZGRkYzNUZGNjBGRjI2RkZGRkZGMEZGRkQwCis6MTAzNDMwMDA0OUZGMjJGRkZGRkYwRkZGMDBGRjc4RkZGRkZGQTNGRjAxCis6MTAzNDQwMDAxMEZGMjJGRkZGRkYwRkZGMDBGRjc4RkZGRkZGQTNGRjJBCis6MTAzNDUwMDA4REZGODNGRkZGRkY2MEZGMjBGRjQwRkZGRkZGMDRGRkEyCis6MTAzNDYwMDA2MEZGMjJGRkZGRkYwRkZGOERGRjkzRkZGRkZGNkFGRjRCCis6MTAzNDcwMDAwQ0ZGMENGRkZGRkYwMEZGMDBGRjBBRkZGRkZGMEZGRjI1Cis6MTAzNDgwMDAwOEZGMENGRkZGRkYwMEZGODZGRjg3RkZGRkZGQjBGRjc1Cis6MTAzNDkwMDAwMEZGMzRGRkZGRkYwOEZGMDFGRjM0RkZGRkZGMDRGRkMxCis6MTAzNEEwMDAwMEZGMzRGRkZGRkYzNUZGRkZGRjRGRkZGRkZGODlGRkU2Cis6MTAzNEIwMDAwMEZGMDlGRkZGRkYwMUZGODdGRjhCRkZGRkZGRTBGRjFBCis6MTAzNEMwMDAwMEZGMzhGRkZGRkY4OEZGMDBGRjcwRkZGRkZGMDNGRkQzCis6MTAzNEQwMDAwMEZGNjhGRkZGRkYwMEZGMDBGRjcwRkZGRkZGMDNGRjFCCis6MTAzNEUwMDAwMEZGNjhGRkZGRkYwM0ZGODdGRjlCRkZGRkZGRTBGRjc5Cis6MTAzNEYwMDAwQ0ZGMENGRkZGRkYwMEZGMDBGRjBBRkZGRkZGMEZGRkE1Cis6MTAzNTAwMDAwMUZGM0NGRkZGRkYwNUZGNkFGRjE0RkZGRkZGOUVGRjY3Cis6MTAzNTEwMDA2N0ZGMUNGRkZGRkYzRkZGNjlGRjFDRkZGRkZGMEZGRjVGCis6MTAzNTIwMDA2NkZGMUNGRkZGRkYxRkZGMzhGRjIyRkZGRkZGMEZGRjlCCis6MTAzNTMwMDA2QUZGMTRGRkZGRkY4NUZGOEJGRjgzRkZGRkZGNDBGRjQ0Cis6MTAzNTQwMDA3OEZGMjJGRkZGRkYwRkZGMDBGRjAwRkZGRkZGMDBGRkRDCis6MTAzNTUwMDAwMEZGMEFGRkZGRkYwRkZGODJGRjgzRkZGRkZGNDBGRjE3Cis6MTAzNTYwMDA3OEZGMjJGRkZGRkYwRkZGNkFGRjFDRkZGRkZGRjRGRjQyCis6MTAzNTcwMDAwMEZGMEFGRkZGRkYwRkZGMDBGRjQwRkZGRkZGMTBGRkVDCis6MTAzNTgwMDA0N0ZGOTBGRkZGRkYyMEZGODdGRjgzRkZGRkZGRjBGRjU0Cis6MTAzNTkwMDA4NkZGOTNGRkZGRkY4MEZGMDBGRjQwRkZGRkZGMDBGRjVDCis6MTAzNUEwMDA4REZGOTNGRkZGRkY2MEZGODJGRjkzRkZGRkZGNDBGRjUwCis6MTAzNUIwMDA4NkZGODdGRkZGRkY5MEZGMDJGRjM0RkZGRkZGMDhGRjNBCis6MTAzNUMwMDAwMEZGNjBGRkZGRkYwM0ZGODlGRjkzRkZGRkZGMjBGRjY2Cis6MTAzNUQwMDAwMEZGNjBGRkZGRkYwM0ZGODlGRjkzRkZGRkZGMzBGRjQ2Cis6MTAzNUUwMDAwMEZGNjBGRkZGRkYwM0ZGODlGRjkzRkZGRkZGNDBGRjI2Cis6MTAzNUYwMDAwMEZGNjBGRkZGRkYwM0ZGODlGRjkzRkZGRkZGNTBGRjA2Cis6MTAzNjAwMDA4NkZGOTdGRkZGRkY5MEZGMDBGRjBBRkZGRkZGMEZGRkZFCis6MTAzNjEwMDAwMEZGMzRGRkZGRkY2NEZGMDBGRjM0RkZGRkZGMzVGRkIzCis6MTAzNjIwMDAwMUZGMzRGRkZGRkY5NkZGMDBGRjM4RkZGRkZGMzRGRjZECis6MTAzNjMwMDAwMEZGMzhGRkZGRkY2NUZGMDFGRjM4RkZGRkZGOTZGRjI4Cis6MTAzNjQwMDAwMEZGMzhGRkZGRkYwOEZGMDJGRjM0RkZGRkZGNDlGRkM1Cis6MTAzNjUwMDAwMkZGMzhGRkZGRkY0OUZGMTBGRjQwRkZGRkZGMDZGRjlCCis6MTAzNjYwMDAxMEZGNDBGRkZGRkYwMkZGMzBGRjBDRkZGRkZGMDBGRkQ2Cis6MTAzNjcwMDAwMEZGM0NGRkZGRkYyNUZGNkRGRjE0RkZGRkZGQkVGRkI0Cis6MTAzNjgwMDA5OEZGNTBGRkZGRkY3M0ZGODhGRjUwRkZGRkZGNzNGRjlFCis6MTAzNjkwMDA4M0ZGNjhGRkZGRkZDNUZGODhGRjY4RkZGRkZGQzRGRkQwCis6MTAzNkEwMDA4M0ZGNjhGRkZGRkZDNUZGMDBGRjY4RkZGRkZGQzZGRjQ2Cis6MTAzNkIwMDA5OEZGNTBGRkZGRkY3M0ZGODhGRjUwRkZGRkZGNzNGRjZFCis6MTAzNkMwMDA4M0ZGNzhGRkZGRkZDNEZGODhGRjc4RkZGRkZGQzVGRjgwCis6MTAzNkQwMDA4M0ZGNzhGRkZGRkZDNEZGMDBGRjc4RkZGRkZGQzZGRkY3Cis6MTAzNkUwMDA5OEZGNTBGRkZGRkY3M0ZGODhGRjUwRkZGRkZGNzNGRjNFCis6MTAzNkYwMDA4M0ZGNjhGRkZGRkZDNUZGODhGRjY4RkZGRkZGQzRGRjcwCis6MTAzNzAwMDA4M0ZGNjhGRkZGRkZDNUZGMDBGRjY4RkZGRkZGQzZGRkU1Cis6MTAzNzEwMDAwMEZGM0NGRkZGRkYyNUZGNkVGRjE0RkZGRkZGOEVGRjQyCis6MTAzNzIwMDA5OEZGNTBGRkZGRkY3M0ZGODhGRjUwRkZGRkZGNzNGRkZECis6MTAzNzMwMDA4M0ZGNzhGRkZGRkZDNEZGODhGRjc4RkZGRkZGQzRGRjEwCis6MTAzNzQwMDAwMEZGNzhGRkZGRkZDNEZGMjBGRjBDRkZGRkZGMDBGRjFCCis6MTAzNzUwMDAwMEZGMEFGRkZGRkYwRkZGMDBGRjM0RkZGRkZGRTlGRjNECis6MTAzNzYwMDAwMUZGMzhGRkZGRkYyOEZGMDFGRjM4RkZGRkZGMjlGRkEwCis6MTAzNzcwMDAwMEZGMzhGRkZGRkY2NkZGMDBGRjM4RkZGRkZGMzRGRjQ5Cis6MTAzNzgwMDAwMEZGMzhGRkZGRkY3NUZGMTBGRjQwRkZGRkZGMDZGRjQwCis6MTAzNzkwMDAwMEZGNDFGRkZGRkYwN0ZGMzBGRjBDRkZGRkZGMDBGRkFGCis6MTAzN0EwMDA5OEZGNzBGRkZGRkYyMEZGMDBGRjNDRkZGRkZGMjVGRjlBCis6MTAzN0IwMDA3MEZGMTRGRkZGRkYyRUZGODBGRjcwRkZGRkZGNDJGRjJGCis6MTAzN0MwMDA2M0ZGNzJGRkZGRkYyMEZGODBGRjY4RkZGRkZGQTdGRjdGCis6MTAzN0QwMDAwMEZGNzBGRkZGRkY0MUZGNjNGRjcyRkZGRkZGMjRGRjQ5Cis6MTAzN0UwMDA4MEZGNjhGRkZGRkZBN0ZGMDBGRjcwRkZGRkZGNDZGRjlFCis6MTAzN0YwMDA2M0ZGNzJGRkZGRkYyNEZGODBGRjY4RkZGRkZGQTdGRjRCCis6MTAzODAwMDAwMEZGNzBGRkZGRkY0NUZGNjNGRjcyRkZGRkZGMjBGRjE4Cis6MTAzODEwMDAwMEZGNjhGRkZGRkZBN0ZGODBGRjcwRkZGRkZGNDJGRjcxCis6MTAzODIwMDA2M0ZGNzJGRkZGRkYyMEZGODBGRjcwRkZGRkZGNDFGRjdDCis6MTAzODMwMDA2M0ZGNkFGRkZGRkZBN0ZGMDBGRjcwRkZGRkZGMjRGRjhBCis6MTAzODQwMDA4MEZGNjhGRkZGRkZBN0ZGMDBGRjcwRkZGRkZGNDRGRjNGCis6MTAzODUwMDA2M0ZGNzJGRkZGRkYyNEZGODBGRjY4RkZGRkZGQTdGRkVBCis6MTAzODYwMDBGMEZGNDBGRkZGRkYwNUZGMDBGRjRGRkZGRkZGMDRGRkRBCis6MTAzODcwMDAwMEZGMERGRkZGRkYwQkZGODBGRjI3RkZGRkZGMEZGRjg0Cis6MTAzODgwMDA4OEZGMjNGRkZGRkYwRkZGRUFGRjIwRkZGRkZGMEZGRjZGCis6MTAzODkwMDA3NEZGMjJGRkZGRkYwRkZGMDBGRjY4RkZGRkZGQTdGRjdFCis6MTAzOEEwMDAwMEZGNzBGRkZGRkYyNEZGODBGRjcwRkZGRkZGNDRGRjVBCis6MTAzOEIwMDA2M0ZGNzJGRkZGRkYyNEZGODBGRjY4RkZGRkZGQTdGRjhBCis6MTAzOEMwMDAwMEZGNEZGRkZGRkYwNEZGMDBGRjBERkZGRkZGMEJGRjk3Cis6MTAzOEQwMDA4MEZGMjdGRkZGRkYwRkZGODhGRjIzRkZGRkZGMEZGRjgyCis6MTAzOEUwMDBFQUZGMjBGRkZGRkYwRkZGNzRGRjIyRkZGRkZGMEZGRjI0Cis6MTAzOEYwMDAwMEZGNjhGRkZGRkZBN0ZGMDBGRjBBRkZGRkZGMEZGRkFBCis6MTAzOTAwMDAzOEZGMjJGRkZGRkYwRkZGNzJGRjE0RkZGRkZGMzVGRjlECis6MTAzOTEwMDA4QkZGODNGRkZGRkYzMEZGNzhGRjIyRkZGRkZGMEZGRkNBCis6MTAzOTIwMDAwMEZGMEFGRkZGRkYwRkZGMEVGRjQwRkZGRkZGMDBGRjNBCis6MTAzOTMwMDAxMEZGOTBGRkZGRkYxMEZGMDhGRjQwRkZGRkZGMDBGRjk5Cis6MTAzOTQwMDAxMEZGOTBGRkZGRkY5MEZGMDJGRjQwRkZGRkZGNDBGRkNGCis6MTAzOTUwMDAxMUZGOTBGRkZGRkYyMEZGMDBGRjQwRkZGRkZGMDBGRjcwCis6MTAzOTYwMDAxMEZGOTBGRkZGRkZCMEZGQjBGRjQwRkZGRkZGMDBGRjIxCis6MTAzOTcwMDA0N0ZGOTBGRkZGRkY1MEZGMzBGRjQwRkZGRkZGMDBGRkJBCis6MTAzOTgwMDA0N0ZGOTBGRkZGRkY0MEZGNzhGRjQyRkZGRkZGNTBGRjIwCis6MTAzOTkwMDA0OEZGOTBGRkZGRkZBMEZGNDBGRjQwRkZGRkZGMDBGRjM5Cis6MTAzOUEwMDA0OUZGOTBGRkZGRkY3MEZGMThGRjQwRkZGRkZGMDBGRjgwCis6MTAzOUIwMDA0N0ZGOTBGRkZGRkY3MEZGMThGRjQwRkZGRkZGMTBGRjYyCis6MTAzOUMwMDA0N0ZGOTBGRkZGRkY3MEZGMThGRjQwRkZGRkZGMDBGRjYyCis6MTAzOUQwMDA0N0ZGOTBGRkZGRkY3MEZGMDBGRjQwRkZGRkZGMDBGRjZBCis6MTAzOUUwMDAxMUZGOTBGRkZGRkY2MEZGOERGRjkzRkZGRkZGRDBGRkYwCis6MTAzOUYwMDAwQkZGNDBGRkZGRkY4MEZGMTFGRjkwRkZGRkZGRjBGRjc1Cis6MTAzQTAwMDAwMEZGNDBGRkZGRkYxMEZGMTFGRjkwRkZGRkZGRTBGRkVGCis6MTAzQTEwMDAwMEZGNDhGRkZGRkYwMEZGMDBGRjkzRkZGRkZGMDBGRkQ1Cis6MTAzQTIwMDAwMEZGMEFGRkZGRkYwRkZGMDhGRjQwRkZGRkZGMDBGRjNGCis6MTAzQTMwMDA0N0ZGOTBGRkZGRkYyMEZGMjJGRjE4RkZGRkZGOUZGRkMwCis6MTAzQTQwMDAwMEZGNDhGRkZGRkYxMEZGODZGRjkzRkZGRkZGNzBGRjlGCis6MTAzQTUwMDAyMkZGMThGRkZGRkY5RkZGMDBGRjQ4RkZGRkZGMDBGRjRGCis6MTAzQTYwMDA4NkZGOTNGRkZGRkY3MEZGMjJGRjE4RkZGRkZGOUZGRkZFCis6MTAzQTcwMDAwMEZGNDhGRkZGRkYyMEZGODZGRjkzRkZGRkZGNzBGRjVGCis6MTAzQTgwMDAyMkZGMThGRkZGRkY5RkZGMDBGRjM0RkZGRkZGNDhGRkVCCis6MTAzQTkwMDAwMEZGNjBGRkZGRkYwM0ZGODZGRjkzRkZGRkZGQjBGRjA0Cis6MTAzQUEwMDAwMEZGNjBGRkZGRkYwM0ZGODZGRjkzRkZGRkZGQzBGRkU0Cis6MTAzQUIwMDA4NkZGOTdGRkZGRkZEMEZGMDBGRjBBRkZGRkZGMEZGRjBBCis6MTAzQUMwMDA4MEZGMzdGRkZGRkYwMkZGODRGRjNCRkZGRkZGMDJGRjg2Cis6MTAzQUQwMDAwMEZGNjBGRkZGRkYwQkZGMENGRjBERkZGRkZGOTBGRkRDCis6MTAzQUUwMDAwMEZGNzBGRkZGRkYwQkZGMENGRjBERkZGRkZGQjBGRjlDCis6MTAzQUYwMDA4OEZGMzdGRkZGRkYwM0ZGOENGRjNCRkZGRkZGMDNGRjQ0Cis6MTAzQjAwMDAwMEZGNDBGRkZGRkYwMUZGOEJGRjkzRkZGRkZGNTFGRjBGCis6MTAzQjEwMDA4MkZGNDNGRkZGRkY4MEZGOEJGRjkzRkZGRkZGNjBGRkVDCis6MTAzQjIwMDAwMEZGMzRGRkZGRkY4OUZGMDBGRjQwRkZGRkZGMDBGRkEyCis6MTAzQjMwMDAwQ0ZGMERGRkZGRkY4MEZGMENGRjBERkZGRkZGQTBGRjNECis6MTAzQjQwMDAwMEZGMEFGRkZGRkYwRkZGODBGRjM3RkZGRkZGMDBGRkFGCis6MTAzQjUwMDAwMEZGMzRGRkZGRkYwOEZGMDJGRjNDRkZGRkZGNDVGRkIwCis6MTAzQjYwMDA3NkZGMTRGRkZGRkZERUZGMDBGRkEwRkZGRkZGMDNGRjU0Cis6MTAzQjcwMDA4NEZGMzdGRkZGRkYwMEZGMDBGRjM0RkZGRkZGMDhGRjU4Cis6MTAzQjgwMDAwMkZGM0NGRkZGRkY0NUZGNzdGRjE0RkZGRkZGMkVGRjAzCis6MTAzQjkwMDAwMEZGQTBGRkZGRkYwM0ZGN0VGRjM4RkZGRkZGMDBGRkQ2Cis6MTAzQkEwMDAwMEZGMzhGRkZGRkYwOEZGMDBGRjNDRkZGRkZGRTVGRkJFCis6MTAzQkIwMDA3N0ZGMTRGRkZGRkY4RUZGMDBGRjQwRkZGRkZGMDBGRkI2Cis6MTAzQkMwMDAwMEZGNThGRkZGRkYwM0ZGMDBGRjBBRkZGRkZGMEZGRjhCCis6MTAzQkQwMDA2NEZGMUNGRkZGRkY0RkZGMzhGRjIyRkZGRkZGMEZGRkI3Cis6MTAzQkUwMDA3N0ZGMTRGRkZGRkZFNUZGOEJGRjgzRkZGRkZGNDBGRjIxCis6MTAzQkYwMDA3OEZGMjJGRkZGRkYwRkZGNjRGRjFDRkZGRkZGOEZGRjE3Cis6MTAzQzAwMDAzOEZGMjJGRkZGRkYwRkZGNzhGRjE0RkZGRkZGMzVGRjk0Cis6MTAzQzEwMDA4QkZGODNGRkZGRkY0MEZGNzhGRjIyRkZGRkZGMEZGRkI3Cis6MTAzQzIwMDAwMEZGMEFGRkZGRkYwRkZGMDBGRjM0RkZGRkZGMDlGRjQ4Cis6MTAzQzMwMDAwMEZGMzRGRkZGRkY4NUZGMDBGRjM0RkZGRkZGNTZGRjRCCis6MTAzQzQwMDAwMEZGMDlGRkZGRkYwNkZGMjBGRjQwRkZGRkZGMDBGRjBGCis6MTAzQzUwMDAwMUZGNDBGRkZGRkZDMUZGMDBGRjQwRkZGRkZGNDRGRkU4Cis6MTAzQzYwMDAwMEZGNjhGRkZGRkYwNUZGMDBGRjY4RkZGRkZGMTVGRjc0Cis6MTAzQzcwMDAwMEZGNjhGRkZGRkYwNUZGMDBGRjY4RkZGRkZGNDVGRjM0Cis6MTAzQzgwMDAwMEZGMEFGRkZGRkYwRkZGODZGRjg3RkZGRkZGRjBGRjI4Cis6MTAzQzkwMDA4NkZGOEJGRkZGRkZFMEZGMDBGRjM0RkZGRkZGQzhGRjQxCis6MTAzQ0EwMDAwMEZGMzhGRkZGRkZDOEZGMDBGRjYwRkZGRkZGMDNGRkJCCis6MTAzQ0IwMDAwMEZGNjBGRkZGRkYxM0ZGMDBGRjc4RkZGRkZGMTNGRjEwCis6MTAzQ0MwMDAwMEZGNzhGRkZGRkYwM0ZGODZGRjk3RkZGRkZGRjBGRjc2Cis6MTAzQ0QwMDA4NkZGOUJGRkZGRkZFMEZGMDVGRjgxRkZGRkZGQzBGRkE3Cis6MTAzQ0UwMDA3OEZGMjJGRkZGRkYwRkZGMjFGRjE4RkZGRkZGNzFGRjhCCis6MTAzQ0YwMDAwMEZGMEFGRkZGRkYwRkZGN0ZGRjM4RkZGRkZGMDFGRkZECis6MTAzRDAwMDAwMEZGMzhGRkZGRkYwOUZGMDBGRjM4RkZGRkZGMDZGRjNFCis6MTAzRDEwMDA3RUZGNDBGRkZGRkYwMEZGMDBGRjQwRkZGRkZGQjFGRkZFCis6MTAzRDIwMDAwOEZGMENGRkZGRkYwMEZGMDBGRjNDRkZGRkZGQzVGRjg4Cis6MTAzRDMwMDA3QUZGMTRGRkZGRkZCRUZGMDBGRjUwRkZGRkZGNDZGRkFCCis6MTAzRDQwMDBFMUZGMjJGRkZGRkYwRkZGN0FGRjFDRkZGRkZGRTBGRkY1Cis6MTAzRDUwMDA2MEZGMjJGRkZGRkYwRkZGMDBGRjU4RkZGRkZGQTdGRkRECis6MTAzRDYwMDAwQ0ZGMENGRkZGRkYwMEZGMDBGRjBBRkZGRkZGMEZGRjJDCis6MTAzRDcwMDAwMEZGNDBGRkZGRkZDNEZGMDBGRjBBRkZGRkZGMEZGRjMwCis6MTAzRDgwMDBGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRjQzCis6MDQzRDkwMDBGRkZGRkZGRjMzCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvc2IxNi9hbGF3X21haW4uY3NwLmloZXggYi9maXJtd2FyZS9zYjE2L2FsYXdfbWFpbi5jc3AuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDUwMjcwCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvc2IxNi9hbGF3X21haW4uY3NwLmloZXgKQEAgLTAsMCArMSw4NyBAQAorOjEwMDAwMDAwMDAxMDAwNDQwODAwMDA0NDAwQjEwMDQ0MDA2MTAwNDRCNgorOjEwMDAxMDAwMDg1MDAwNDQwREYyNjFBODQ0MDQwNDE5MDAwMDQwNDU1MgorOjEwMDAyMDAwNDA0OTM5QUM1NTU1NzE4QjUwMDU2MzgwMDAwMDA2Mzk0NQorOjEwMDAzMDAwRkYyRTIxNDlGRjBGRDQ0OTIwMDEwOTBFMjAwMDcxOEJBQQorOjEwMDA0MDAwQTgwMUE4ODA4ODAxQTg4MEE4MDAwMDgwRDIwMDcxOEIzOAorOjEwMDA1MDAwODgwMEE4ODBBODA0QjM4MDIwMDdCMzgwODgwM0IxODBGQgorOjEwMDA2MDAwQzAwMDA5NUNDMjAxMDA4MkExMDA3MThCQ0QwMDA0MTk5RgorOjEwMDA3MDAwMjEyMDcxOEJDRjAwMDQxOTAwMDBCMTgwQzIwMDA0MTk0NworOjEwMDA4MDAwMDA0MDAwMTQwODQwMDQyNDAwMDAzNDQ5MEM0MDAwNDQ5RgorOjEwMDA5MDAwNDQwNDA0MzkwMDAwNDA0NTMyMDAwOTVDMDAwMDBDMzk3QQorOjEwMDBBMDAwMDAwMDQwNDU0MDQwMDlFRkZGMjAwOUNGMDAwNDYzQTE1NAorOjEwMDBCMDAwNTAwMzMzODAwMDA0QTM4MDAwRkZDMjhCMDBEMDA0NTQ5RgorOjEwMDBDMDAwMDRFMDAwQzQyMDAzODBDMDMwMDAwMDg4MDAwMDdBMEFFOQorOjEwMDBEMDAwRDAwMTAwODIwMDYwMDA0NEMwMDAwMDk5MDA2MDAwNDQyQworOjEwMDBFMDAwMDBGRkMyOEIyMDAwMDA4MDAwMEQ0MjhCMDgzMjAwQzQ0QworOjEwMDBGMDAwMDAwRTQyOEIwMEEyMDBDNDAwMUU0MjhCMENCMjAwQzQ1MgorOjEwMDEwMDAwMDA4RTQyOEIwMDYyMDBDNDAwOUU0MjhCMDg1MjAwQzRFNQorOjEwMDExMDAwMDBCRTQyOEIwODUyMDBDNDAwMDQ0MjhCMDQ3MjAwQzQyQgorOjEwMDEyMDAwMDAyNDQyOEIwMEQyMDBDNDAwNTU0MjhCMDA2MDAwQzQwMgorOjEwMDEzMDAwMDAwMDQwNDUyMDAxNzk4MDAwMzA0MjhCMDg4MjAwQzRENQorOjEwMDE0MDAwMDAwMDQwNDUwMDAwNzE4QjQwMDEwMDgwMDA2MDAwNDRDOQorOjEwMDE1MDAwRkYwMEUyQUIwMEIyMDBDNDBGRjJBOEE4MjAwMEIxODhGMworOjEwMDE2MDAwMDAwMDQxMDI0REYyMDAzOUMwMDEwMDgyMDA2MDAwNDRFRAorOjEwMDE3MDAwMERGMkEzQTg0REYyMDAzOTAwNjAwMDQ0RkYwMEUyQUI4RAorOjEwMDE4MDAwMjAwMDAwODgwMDAwNjEwMjRERjIwNDE5MDA2MDAwNDQ2NAorOjEwMDE5MDAwRkYwMEUyQUJBMDAwMDA4ODAwMDA2MTEwNERGMjA0MTlERQorOjEwMDFBMDAwMDA2MDAwNDRGRjIwRTJBQjYwMDAwMDg4MDAwMDcxQzBFNgorOjEwMDFCMDAwNERGMjA0MTkwMDYwMDA0NDAwMDA3OTgwMDBFMjAwODRFMAorOjEwMDFDMDAwMDMwMzA0NDkwNEMyMDA1NDAwNjAwNDY0MDA2MDAwNDQ1NgorOjEwMDFEMDAwMDAwMDYzODAwMDAwMDYxOTAzMDAwNDQ5MDA2MDAwNDQyOQorOjEwMDFFMDAwMjAwMTYzODAwMDAwMDYxOTAwMjBFMjhCMENGMjAwODRERAorOjEwMDFGMDAwQkUwMDUxOEJDMDIwMDAzOTA4MDEwMDQ0RUMwMDUxOEIzNworOjEwMDIwMDAwQzAyMDAwMzkwMDAyRTI4QjA0MjEwMDg0M0YwMDUxOEJBMgorOjEwMDIxMDAwQzIyMDAwMzkwMDExMDA0NDNEMDA1MThCQzIyMDAwMzkzQQorOjEwMDIyMDAwRTUwMDcxOEJDRDAwMDAzOTAwMDBCMTgwQzkyMDA0MTlCMAorOjEwMDIzMDAwQ0IyMDA0MTlDMTIwMDQxOUMzMjAwNDE5MTAwMDcxOEJBQworOjEwMDI0MDAwQzcyMDA0MTlERTAwNTE4QkNGMDAwMDM5MDAwMUIxODBCNgorOjEwMDI1MDAwQzQyMDA0MTlDNjIwMDQxOUM4MjAwNDE5Q0EyMDA0MTk4RQorOjEwMDI2MDAwMjAwMDcxOEJDQzIwMDQxOTAzMDAwNDQ5MDA2MDAwNDQ3NQorOjEwMDI3MDAwMDkwNDYxQThDMTAwMDQxOTBCMDQ2MUE4Q0EwMDA0MTk4QgorOjEwMDI4MDAwMDQ2MDAwRDQwRDAwNjEwQTkwNDAwOThGMDAwMTAwNDUxMAorOjEwMDI5MDAwMEYwMDYxMEEwMDQwMDk4RjAwMDEwMDQ1ODIwMDA5MkUwRAorOjEwMDJBMDAwODA0MDA5Q0YwMjAwNjEyMjQzMjU2MTIyNDAzMzAwODA1MworOjEwMDJCMDAwMDg0ODAwNDQyMEIxNDk1QzkyMDAwOTRFMDIwMzA5MkUwRgorOjEwMDJDMDAwMDAwMEEzMDJDMDAwNzFDMDIwMDBFQjgwMDAwNEMyOEJCQworOjEwMDJEMDAwMjAwNDYxODAwMDA0N0EwMkMwMDAwMDgyMENDMzA4NDkzNworOjEwMDJFMDAwQjAwMUYzODAwMDAwMTAzOTIwMDAwQzg5MEM4ODA4NDkwNworOjEwMDJGMDAwMDMwMEE4MTgwMDAwMTAzOUJERkY2MjhCMjAwMTAwODBBOAorOjEwMDMwMDAwMDAwMDYzQ0IwMDAwN0EwMjQwMDAwMTVCMjAwMDAwODAwNworOjEwMDMxMDAwMDAwMDRBQ0IyMDAwMTM4MDIwMDA3QTgwRTAyMTAwQzAzQQorOjEwMDMyMDAwMDgwMDA4NDkxMDQxMDk4RUFFQUU2MjhCMDAwNDYxMjJCQworOjEwMDMzMDAwMDAwMzAwNDUyMjAxMzM4MDIwMDFBMzAyMDAwMDdBODBERgorOjEwMDM0MDAwQzAwMDAwODIwNzIwNDAwQTA4QTMwMDg0NDAyMTAwODBFQQorOjEwMDM1MDAwNDAwNTkzMTBDNzIwMDAzOTAwMDA0MDQ1MDcyMDQwMEE5RgorOjEwMDM2MDAwMEM5MzAwODQwODAwMDA4MjBDMjQ2MTUwNDAwMTAwODAzRQorOjEwMDM3MDAwQzcyMDAwMzkwMDAwNDA0NTAwMDQ2MzgwMDAwMDA2MzlCMgorOjEwMDM4MDAwNDIwMTA5MEUwMjIwNjEwQTAwMDEwMDQ1MEMyMDYwMEFBQQorOjEwMDM5MDAwMDBDMzAwODQwMDA0QjE4MDAwMDAwNjM5MEM2MTA0RDQ1RAorOjEwMDNBMDAwMDAyNDcxQzAyMDMzMzNDMEUwMDFBMzgyMjIwMzdBMDIwQgorOjEwMDNCMDAwQzMwMUEzODIyMDAxMzM4MDAwMDA3QTgwQzIwMUIzNTBDMAorOjEwMDNDMDAwQ0MyMDAwMzkwMDAwNzE4MDAwMDgwMDQ0MEMyMDYwMEEzNQorOjEwMDNEMDAwMDBGMzAwODQwMDA0QjE4MDAwMDAwNjM5MEM2MTA0RDRFRAorOjEwMDNFMDAwMDAwMDcxQzAwMDAwOTMxMENDMjAwMDM5MDAwODAwNDRDOAorOjEwMDNGMDAwQ0MyMDAwMzkwMDIwMDBDMDAwMzA3MUMwMDAwODAwNDQ0QgorOjEwMDQwMDAwMjAwMTAwODBBRUFFNjI4QjIwMDEzMzgwMDAwMDgzODAyQgorOjEwMDQxMDAwMjAwMDdBODAyMEExNDk1QzgyMDAwOTZFODA0QTA5OEUwMgorOjEwMDQyMDAwRTAwMUIzODIyMDA0QTM4MDAwMDA3QUNCMjgwNEVBMTAwNAorOjEwMDQzMDAwMEMwNDdBMTA3MDAwQzA4QjAwMDAxMDM5OTAwMzAwODAwQgorOjEwMDQ0MDAwNDAwMDIxNUI5MDAwNjE4MDBDOEEwODQ5MDAwMDFDMTk2MworOjEwMDQ1MDAwNDAwMDA4NUIwODAwMDg0OTIwMDIwMDgwMDMwMEE4MTgzQgorOjEwMDQ2MDAwMDAwMDE0MTk0MDAwMjFDQjAwMDA0MTAyMDAwMEVCODA4NQorOjEwMDQ3MDAwRjIwMTAwODI0MDIxMzMwMjA4MjA2MTBBQzQwMDA0MTlGRAorOjEwMDQ4MDAwQzcwMDAwOTkwMjAwNjEwQTBDMEEwNDE0MDEwMDYxMEEwNQorOjEwMDQ5MDAwMDMwMDQ4MEEwMDU4MDQ1NEMzMDAwNDE5MEM1ODAwNDRDRgorOjEwMDRBMDAwMDgwMEM4MEEwQzU4MDQ1NEM4MDAwNDE5MEEwMDYxMEE1QworOjEwMDRCMDAwMDkwMDQ4MEEwMEM4MDQ1NEM5MDAwNDE5MENDODAwNDRDMworOjEwMDRDMDAwMEIwMEM4MEEwQ0M4MDQ1NENCMDAwNDE5MDQwMDYxMEFDQworOjEwMDREMDAwMDYwMDQ4MEEwMEQ4MDQ1NEM2MDAwNDE5MENEODAwNDQ4OQorOjEwMDRFMDAwMDUwMEM4MEEwQ0Q4MDQ1NEM1MDAwNDE5MDcwMDYxMEFBNQorOjEwMDRGMDAwMEMwMDQ4MEEwMDBBMDQ1NENDMDAwNDE5MEMwQTAwNDRGOQorOjEwMDUwMDAwMEUwMEM4MEEwQzBBMDQ1NENFMDAwNDE5MDAwMDQwNDUyRAorOjA4MDUxMDAwMjAxMDcxOEIwODQyMDYwMDY3Cis6MDAwMDAwMDFGRgorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCisgKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKKyAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AuaWhleCBiL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX2NhcHR1cmUuY3NwLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWE1MGE1OAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX2NhcHR1cmUuY3NwLmloZXgKQEAgLTAsMCArMSwxMjEgQEAKKzoxMDAwMDAwMDAwMTAwMDQ0MDgwMDAwNDQwMDcwMDA0NDA4RDAwMDQ0ODAKKzoxMDAwMTAwMDAwRjAwMDQ0MERGMjYxQTg0NDA0MDQxOTAwMDA0MDQ1QkEKKzoxMDAwMjAwMDAwMDQ2MzgwMDAwMDA2MzlGRjJFMjE0OUZGMENENDQ5RUIKKzoxMDAwMzAwMDQwNDkzOUFDNTU1NTcxOEI1MDAxQjE4MDAwMDA3MThCMkUKKzoxMDAwNDAwMEMyMzAwNDE5QzBBMDA0MTlDMkEwMDQxOTg5MDA3MThCMjAKKzoxMDAwNTAwMEM4MzAwNDE5NzEwMDcxOEJDRDAwMDQxOUNGMDAwNDE5NDgKKzoxMDAwNjAwMDgwMDA3MThCQ0IyMDA0MTkyMDAwNzE4QkM0MjAwNDE5RUYKKzoxMDAwNzAwMDQ3MDA1MThCQzAyMDAwMzkwMDAwNjM4MEMxQTAwNDE5RTMKKzoxMDAwODAwMDkzMDAwMTRGQ0QzMDAwMDlDRjMwMDAwOTBDNDAwMDE0MUYKKzoxMDAwOTAwMDAwNjAwMDE0MDAwNDYxQTgwMjA0NjFBODBDNjAwNDI0M0MKKzoxMDAwQTAwMDAwMDAzNDQ5MDg1MDAwNDQ0NDA0MDQzOTAwMDA0MDQ1MkQKKzoxMDAwQjAwMDA4MzA2MTBBMDVCMEU4MTgwQ0MwMDQ1NEM4MzAwNDE5QUYKKzoxMDAwQzAwMDA5MDQwMEE4MEIwNDAwQTgwMDAwNDA0NTA5MDQ2MUE4MjkKKzoxMDAwRDAwMEMxMDAwNDE5MEIwNDYxQThDQTAwMDQxOTBEMDA2MTBBQ0IKKzoxMDAwRTAwMDAwMDEwMDQ1MEYwMDYxMEEwMDQwMDk4RjAwMDEwMDQ1MzIKKzoxMDAwRjAwMDQwNDAwOUVGRkYyMDA5Q0YwMDA0NjNBMTUwMDMzMzgwODMKKzoxMDAxMDAwMDAwMDRBMzgwMDBGRkMyOEIwQzEyMDQ1NDA4MTIwMEM0MjgKKzoxMDAxMTAwMDIwMDM4MEMwMzAwMDAwODgwMDAwN0EwQUQwMDEwMDgyRUQKKzoxMDAxMjAwMDA0NTAwMDQ0QzAwMDAwOTkwNDUwMDA0NDAwRkZDMjhCRkEKKzoxMDAxMzAwMDIwMDAwMDgwMDAwRDQyOEIwNDQyMDBDNDAwMEU0MjhCNjAKKzoxMDAxNDAwMDA4NTIwMEM0MDAxRTQyOEIwMEUyMDBDNDAwOEU0MjhCQTUKKzoxMDAxNTAwMDA4RDIwMEM0MDA5RTQyOEIwNEYyMDBDNDAwQkU0MjhCNTEKKzoxMDAxNjAwMDA0RjIwMEM0MDAwNDQyOEIwNDExMDBDNDAwMjQ0MjhCM0EKKzoxMDAxNzAwMDBDNjEwMEM0MDA1NTQyOEIwNDUwMDBDNDAwM0Y0MjhCMDgKKzoxMDAxODAwMDBDMDEwMEM0MDAwMDQwNDUyMDAxNzk4MDAwMzA0MjhCMDIKKzoxMDAxOTAwMDA0NjIwMEM0MDAwMDQwNDUwMDAwNzE4QjQwMDEwMDgwRjMKKzoxMDAxQTAwMDA0NTAwMDQ0RkYwMEUyQUIwOEMyMDBDNDBGRjJBOEE4NEMKKzoxMDAxQjAwMDIwMDBCMTg4MDAwMDQxMDI0REYyMDAzOUMwMDEwMDgyRTgKKzoxMDAxQzAwMDA0NTAwMDQ0MERGMkEzQTg0REYyMDAzOTA0NTAwMDQ0M0QKKzoxMDAxRDAwMEZGMDBFMkFCMjAwMDAwODgwMDAwNjEwMjRERjIwNDE5MkMKKzoxMDAxRTAwMDA0NTAwMDQ0RkYwMEUyQUJBMDAwMDA4ODAwMDA2MTEwNTIKKzoxMDAxRjAwMDRERjIwNDE5MDQ1MDAwNDRGRjIwRTJBQjYwMDAwMDg4NzcKKzoxMDAyMDAwMDAwMDA3MUMwNERGMjA0MTkwNDUwMDA0NDAwMDA3QTBBNDUKKzoxMDAyMTAwMDIwMDFGMDgwMDFBMDQxMEEwMDExMDBDNDIwMDFGMDgwRkIKKzoxMDAyMjAwMEMxMzAwNDE5MDQ1MDAwNDQwMDAwNzk4MDBDNDEwMDg0NUUKKzoxMDAyMzAwMDg5MDA3MThCQzgzMDA0MTk5NzAwNzE4QkNEMDAwMDM5OEIKKzoxMDAyNDAwMDAwMDFCMTgwODAwMDA0MTk4MjAwMDQxOUMxMjAwNDE5NDIKKzoxMDAyNTAwMEMzMjAwNDE5QzIzMDA0MTlDRDEwMDQxOUNGMTAwNDE5OTkKKzoxMDAyNjAwMEIwMDA3MThCODQwMDA0MTk4NjAwMDQxOTgwMDA3MThCMjIKKzoxMDAyNzAwMENCMjAwNDE5OTMwMDAxNEZDRDMwMDAwOUNGMzAwMDA5ODUKKzoxMDAyODAwMDAzMDIwNDQ5MDg0MTAwMTQwNDUwMDA0NDAwMDA2MzgwNDQKKzoxMDAyOTAwMDAwMDAwNjE5MDMwMDA0NDkwNDUwMDA0NDIwMDE2MzgwNTMKKzoxMDAyQTAwMDAwMDAwNjE5MDAyMEUyOEIwMEMxMDA4NDQ3MDA1MThCM0EKKzoxMDAyQjAwMEMwMjAwMDM5MDAwMDYzODBDMUEwMDQxOTAwRTEwMDQ0OUYKKzoxMDAyQzAwMEJEMDA1MThCQzAyMDAwMzkwMDAwQjE4MEMxQTAwNDE5Q0QKKzoxMDAyRDAwMDAzMDAwNDQ5MDQ1MDAwNDQwMDIwNjEwQTAwMDEwMDQ1NjUKKzoxMDAyRTAwMDAyMzA2MTBBMEM4MzAwQzQwQzc4MDg0NDA0NUEwODQ0QTQKKzoxMDAyRjAwMEIyMDAwOTRGMTA0MjA5OEUwNUIwRTAxODA0MjMwMDg0QjMKKzoxMDAzMDAwMDBDMDEwMDExMDgwNTYxMTAwMDQ5MDg0NDAwNDgwODQ0MjgKKzoxMDAzMTAwMEIyMDAwOTRGODAwMDcxOEJDMDAwMDA4MjBDMDEzMzEwQzUKKzoxMDAzMjAwMDI4MDFBMzEwMDAwMTdBODA4QzAxMDA4MDAyMzA2MTBBNEMKKzoxMDAzMzAwMDIwMDAwNDE5MEM4MzAwQzQwNUIwQzgxODA4NDMwMEM0ODkKKzoxMDAzNDAwMDAxMzBDODBBMEMzODAwQzQwODg4MDA0NDBDNzgwODQ0RkUKKzoxMDAzNTAwMDA0NUEwODQ0MDAwMEEzMTg4MDAwMDQxOTBCMDQ2MUE4ODMKKzoxMDAzNjAwMEMzMjAwMDM5QzMzMDA0MTkwRjEwNjEwQUNBMzAwNDE5QzAKKzoxMDAzNzAwMDA5MDQ0MUE4RTEyMDAwMzlEMTAwMDk0RjAwMDQ2MTAyQkQKKzoxMDAzODAwMDA4NjMwMDQ0MDMzMDQxMEEyMDAwMDAzOUEzMDAwOTRGRUMKKzoxMDAzOTAwMDAwMDQ2MTAyMDA0ODA4NDQwODg4MDA0NDAyMzA2MTBBRjEKKzoxMDAzQTAwMDAwMDgwMEM0MEM3ODA4NDQwNDVBMDg0NEIyMDAwOTBGM0QKKzoxMDAzQjAwMDEwNDAwOThFMDAwMDY4NUIyMDA0QjE4MDAyMDA2MTVCODAKKzoxMDAzQzAwMDg4MDM3QTgwQUMwMTAwODAwNUIwRTAxODAwRDMwMDg0NzcKKzoxMDAzRDAwMDAwNDkwODQ0MDA0ODA4NDRCMjAwMDkwRjgwMDA3MThCQUUKKzoxMDAzRTAwMEMwMDAwMDgyMDIzMDYxMEEwMDA4MDBDNDA1QjBDODE4Q0QKKzoxMDAzRjAwMDBDMTgwMEM0MDEzMEM4MEEwQzM4MDBDNDA4ODgwMDQ0MzYKKzoxMDA0MDAwMDBDNzgwODQ0MDAwMDYxMTgyMDA1QjE4MDAwMDA2OENCMUEKKzoxMDA0MTAwMDgwMDAwNDE5MEQxMDYxMEFDMzMwMDQxOTBCMDQ0MUE4QUYKKzoxMDA0MjAwMDA5MDQ0MUE4RTEyMDAwMzkwODM4MDA0NDAzMzA0MTBBOUEKKzoxMDA0MzAwMDIwMDRCMTgwMDA0ODA4NDQwODg4MDA0NDAwMDBCMTgwQ0UKKzoxMDA0NDAwMEMyMzAwNDE5MENCODAwRDQwRjMwNjEwQTBEMzBDODBBNEMKKzoxMDA0NTAwMDBDQjgwMEM0OTMwMDAxNEZFNzAwMDE2RjBGMzA2MTBBMzAKKzoxMDA0NjAwMDIwMDAwMDg4MDIwMDYxMDI0MTA0MDQxOTAyMDQ2MTAyQjQKKzoxMDA0NzAwMDQzMDQwNDM5Q0YzMDAwMDkyMDAwMDk0OTAwNTkwMDQ0RTEKKzoxMDA0ODAwMDkzMDAwMTRGRTcwMDAxNkYwRDMwNjEwQTIwMDA2MTg4ODEKKzoxMDA0OTAwMEMyMDAwMDgyQzIwMzAwODJDRDMwMDAwOTIwMDAwOTQ5NTkKKzoxMDA0QTAwMDBGMzA2MTBBMEQzMEM4MEEwQzU4MDA4NDAyMzA2MTBBMEUKKzoxMDA0QjAwMDA1QjBBODE4QzIzMDA0MTkwMDAwMDA0NjkwNDAwOThGMEEKKzoxMDA0QzAwMDEyMDQwOTZFMDMwMDA5MEUwMDAxNzE4MjIwMDEwMDgwRjAKKzoxMDA0RDAwMDAwMDA2MUNCODAwNEIxODAwMDAxRTA2MDBDRDgwNDE0RkUKKzoxMDA0RTAwMDAwMDFFQjgwNDAwMDUyMUI4MDAwNzk4MEMwMDE3MUMyODYKKzoxMDA0RjAwMDIwMDBDMDgwMDgwQTA0NTRDMDA0QTg4MjgwMDA3MjFCMzcKKzoxMDA1MDAwMDgwMDAwMDgwMDAwMUYwODAyMDAwQzA4MDBDMkEwNDU0OEMKKzoxMDA1MTAwMEMwMDRBODgyMTAwMDcyMUI4MDAwMDA4MDAwMDFGMDgwREYKKzoxMDA1MjAwMDIwMDBDMDgwMDgzQTA0NTRDMDA0QTg4MjIwMDA3MjFCMzYKKzoxMDA1MzAwMDgwMDAwMDgwQzAwM0YwODIyMDAwQTA4MDAwMDEwMDExMzQKKzoxMDA1NDAwMDQwMDBDMjhCMDBBQTAwQzQwMDAwRTk4MDA1QjBBODE4RDIKKzoxMDA1NTAwMDAwMDFBODIyRDAwMTAwODJGMDAwRTIxQjA2MjBBODBBQjgKKzoxMDA1NjAwMDJEMTA2MTBBRDEwMDA5MkUwMDAxQTgwMjBFMTBDODBBNDAKKzoxMDA1NzAwMDBDQkEwNDE0MEUxMDYxMEEwNDRBMDA0NDBDMTBDODBBOTQKKzoxMDA1ODAwMDA0NEEwNDU0MEMxMDYxMEFEMDAxMDA4MjAwMTBBODE4MUIKKzoxMDA1OTAwMEEwMDAwMDg4MDAwMTcxODIwMzAwMDkwRTlBMDEwMDYwMkEKKzoxMDA1QTAwMDMyMDAwOTJFMDAwMDAwNDYwMDAxNzE4MjIwMDEwMDgwMDcKKzoxMDA1QjAwMDAwMDA2MUNCODAyNEIxQzAwMDMxRTA2MDBDQ0EwNDE0OUIKKzoxMDA1QzAwMDAwMDFFQjgwNDAwMDUyMUI4MDAwNzk4MEMwMDE3MUMyQTUKKzoxMDA1RDAwMDIwMDBDMDgwMDhEQTA0NTRDMDA0QTg4MjgwMDA3MjFCODYKKzoxMDA1RTAwMDgwMDAwMDgwMDAwMUYwODAyMDAwQzA4MDBDRkEwNDU0REMKKzoxMDA1RjAwMEMwMDRBODgyMTAwMDcyMUI4MDAwMDA4MDAwMDFGMDgwRkYKKzoxMDA2MDAwMDIwMDBDMDgwMDgyOTA0NTRDMDA0QTg4MjIwMDA3MjFCNjYKKzoxMDA2MTAwMDgwMDAwMDgwQzAwM0YwODIyMDAwQTA4MDAwMDEwMDExNTMKKzoxMDA2MjAwMDQwMDBDMjhCMDAzOTAwQzQwMDAwRTk4MDA1QjBBODE4NjIKKzoxMDA2MzAwMDAwMDFBODIyRDAwMTAwODJCMDAwRTIxQjA2MjBBODBBMTcKKzoxMDA2NDAwMDJGMTA2MTBBRjEwMDA5MkUwMDAxQTgwMjBFMTBDODBBM0QKKzoxMDA2NTAwMDBDQTkwNDE0MEUxMDYxMEEwNDk5MDA0NDBDMTBDODBBNzUKKzoxMDA2NjAwMDA0OTkwNDU0MEMxMDYxMEFEMDAxMDA4MjAwMTBBODE4RUIKKzoxMDA2NzAwMEEwMDAwMDg4MDAwMTcxODI5RjAxMDA2MDAwMDAwMDQ2MTgKKzoxMDA2ODAwMDAwMDAzMzgwMDAwMDgzODAyMDAwN0E4MDIwMDczMzgwQzAKKzoxMDA2OTAwMDAwMDA4MzgwMjAwNDdBODAyMDAxMDA4MDAwMDAwMDQ2NTIKKzoxMDA2QTAwMDAyMDA2MTBBMDQxQjA0MTQwMTAwNjEwQTAzMDA0ODBBRTUKKzoxMDA2QjAwMDBDNzkwNDU0QzMwMDA0MTkwNEM5MDA0NDA4MDBDODBBOTIKKzoxMDA2QzAwMDA0QzkwNDU0QzgwMDA0MTkwQTAwNjEwQTA5MDA0ODBBNTAKKzoxMDA2RDAwMDBDRTkwNDU0QzkwMDA0MTkwNEQ5MDA0NDBCMDBDODBBRTkKKzoxMDA2RTAwMDA0RDkwNDU0Q0IwMDA0MTkwNDAwNjEwQTA2MDA0ODBBMjYKKzoxMDA2RjAwMDBDRjkwNDU0QzYwMDA0MTkwNDBCMDA0NDA1MDBDODBBOTAKKzoxMDA3MDAwMDA0MEIwNDU0QzUwMDA0MTkwNzAwNjEwQTBDMDA0ODBBRDAKKzoxMDA3MTAwMDBDMkIwNDU0Q0MwMDA0MTkwNDFCMDA0NDBFMDBDODBBMUUKKzoxMDA3MjAwMDA0MUIwNDU0Q0UwMDA0MTkwMDAwNDA0NTkyMjA3MThCMzQKKzowNDA3MzAwMEE2QzUxMTAwNDkKKzowMDAwMDAwMUZGCisvKgorICogIENvcHlyaWdodCAoYykgMTk5NCBDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZC4KKyAqICBNaWNyb2NvZGUgZmlsZXMgZm9yIFNCMTYgQWR2YW5jZWQgU2lnbmFsIFByb2Nlc3NvcgorICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9pbml0LmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21faW5pdC5jc3AuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODk5YTllCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21faW5pdC5jc3AuaWhleApAQCAtMCwwICsxLDcwIEBACis6MTAwMDAwMDAwMDEwMDA0NDAwMDA0MDQ1MDAwMDQwNDUwMDAwNDA0NTBECis6MTAwMDEwMDAwMDAwNDA0NUFBQUE3MThCNDQwNDA0MTkwMDAwNDA0NTIxCis6MTAwMDIwMDBGRjZFMjE0OUZGMEZENDQ5NDA0OTM5QUM1NTU1NzE4QkJBCis6MTAwMDMwMDA1MDA1QjE4MDYyMDAxOTBFMjEwMDcxOEI4ODAwMDA4MDhDCis6MTAwMDQwMDBCMDAwNzE4Qjg4MDAwMDgwNDAwMDcxOEI4ODAwMDA4MEI4Cis6MTAwMDUwMDA2MDAwNzE4Qjg4MDAwMDgwNTAwMDcxOEI4ODAwMDA4MEU4Cis6MTAwMDYwMDA3MDAwNzE4Qjg4MDAwMDgwQzAwMDcxOEI4ODAwMDA4MDU4Cis6MTAwMDcwMDBFMDAwNzE4Qjg4MDAwMDgwRDAwMDcxOEI4ODAwMDA4MEM4Cis6MTAwMDgwMDAwMjAwNzE4Qjg4MDAwMDgwMjIwMDcxOEI4ODAwMDA4MDQ0Cis6MTAwMDkwMDAzMjAwNzE4Qjg4MDAwMDgwQTIwMDcxOEI4ODAwMDA4MDg0Cis6MTAwMEEwMDBCMjAwNzE4Qjg4MDAwMDgwNjIwMDcxOEI4ODAwMDA4MDM0Cis6MTAwMEIwMDBDMjAwNzE4Qjg4MDAwMDgwRjIwMDcxOEI4ODAwMDA4MDg0Cis6MTAwMEMwMDAxMTAwNzE4Qjg4MDAwMDgwQTEwMDcxOEI4ODAwMDA4MDc2Cis6MTAwMEQwMDA2MTAwNzE4Qjg4MDAwMDgwRTEwMDcxOEI4ODAwMDA4MEQ2Cis6MTAwMEUwMDAxMzAwNzE4Qjg4MDAwMDgwQjMwMDcxOEI4ODAwMDA4MDQyCis6MTAwMEYwMDBDMzAwNzE4Qjg4MDAwMDgwMTgwMDcxOEI4ODAwMDA4MDFECis6MTAwMTAwMDA2ODAwNzE4Qjg4MDAwMDgwMEEwMDcxOEI4ODAwMDA4MDc1Cis6MTAwMTEwMDA0QTAwNzE4Qjg4MDAwMDgwMjkwMDcxOEI4ODAwMDA4MDY0Cis6MTAwMTIwMDA3OTAwNzE4Qjg4MDAwMDgwOUIwMDcxOEI4ODAwMDA4MEIzCis6MTAwMTMwMDAxNDAwNzE4Qjg4MDAwMDgwRjQwMDcxOEI4ODAwMDA4MEFGCis6MTAwMTQwMDBFNjAwNzE4Qjg4MDAwMDgwRTUwMDcxOEI4ODAwMDA4MERDCis6MTAwMTUwMDBENzAwNzE4Qjg4MDAwMDgwMkUwMDcxOEI4ODAwMDA4MDkyCis6MTAwMTYwMDA5RDAwNzE4Qjg4MDAwMDgwRUYwMDcxOEI4ODAwMDA4MEZCCis6MTAwMTcwMDBCMjIwNzE4Qjg4MDAwMDgwMzMyMDcxOEI4ODAwMDA4MDUyCis6MTAwMTgwMDAyQTIwNzE4Qjg4MDAwMDgwM0IyMDcxOEI4ODAwMDA4MEMyCis6MTAwMTkwMDA0NjIwNzE4Qjg4MDAwMDgwMkMyMDcxOEI4ODAwMDA4MEE1Cis6MTAwMUEwMDBERDIwNzE4Qjg4MDAwMDgwMDExMDcxOEI4ODAwMDA4MDM5Cis6MTAwMUIwMDA5QTEwNzE4Qjg4MDAwMDgwMTYxMDcxOEI4ODAwMDA4MDY3Cis6MTAwMUMwMDA4RTEwNzE4Qjg4MDAwMDgwQzIzMDcxOEI4ODAwMDA4MDk3Cis6MTAwMUQwMDBDOTMwNzE4Qjg4MDAwMDgwM0MzMDcxOEI4ODAwMDA4MEIyCis6MTAwMUUwMDA4MTgwNzE4Qjg4MDAwMDgwRDQ4MDcxOEI4ODAwMDA4MEIyCis6MTAwMUYwMDAxMEEwNzE4Qjg4MDAwMDgwMzRBMDcxOEI4ODAwMDA4MDczCis6MTAwMjAwMDAwMjkwNzE4Qjg4MDAwMDgwNzU5MDcxOEI4ODAwMDA4MDRGCis6MTAwMjEwMDA5QUIwNzE4Qjg4MDAwMDgwMTI0MDcxOEI4ODAwMDA4MDNBCis6MTAwMjIwMDAwRDQwNzE4Qjg4MDAwMDgwM0M2MDcxOEI4ODAwMDA4MERECis6MTAwMjMwMDBFNzUwNzE4Qjg4MDAwMDgwMEU3MDcxOEI4ODAwMDA4MDAxCis6MTAwMjQwMDBGRkMwNzE4Qjg4MDAwMDgwQzhEMDcxOEI4ODAwMDA4MDRGCis6MTAwMjUwMDA1N0YwNzE4Qjg4MDAwMDgwQzgyMjcxOEI4ODAwMDA4MDY1Cis6MTAwMjYwMDBCMDMyNzE4Qjg4MDAwMDgwREQ4MjcxOEI4ODAwMDA4MDQ1Cis6MTAwMjcwMDA5MEIyNzE4Qjg4MDAwMDgwOEE2MjcxOEI4ODAwMDA4MDQ4Cis6MTAwMjgwMDBDRTcyNzE4Qjg4MDAwMDgwQTVEMjcxOEI4ODAwMDA4MEFGCis6MTAwMjkwMDA5NzIxNzE4Qjg4MDAwMDgwQTJBMTcxOEI4ODAwMDA4MDVCCis6MTAwMkEwMDA1QzQxNzE4Qjg4MDAwMDgwRkVDMTcxOEI4ODAwMDA4MEVBCis6MTAwMkIwMDA3QTIzNzE4Qjg4MDAwMDgwNzg5MzcxOEI4ODAwMDA4MDhFCis6MTAwMkMwMDA2NzczNzE4Qjg4MDAwMDgwMTcyODcxOEI4ODAwMDA4MDBECis6MTAwMkQwMDA4ODQ4NzE4Qjg4MDAwMDgwREJGODcxOEI4ODAwMDA4MDczCis6MTAwMkUwMDAyQkJBNzE4Qjg4MDAwMDgwRjEwOTcxOEI4ODAwMDA4MDI3Cis6MTAwMkYwMDBEQzY5NzE4Qjg4MDAwMDgwMTk4QjcxOEI4ODAwMDA4MDBECis6MTAwMzAwMDBGRkZCNzE4Qjg4MDAwMDgwMjAwMDcxOEI4ODAwMDA4MENCCis6MTAwMzEwMDA1MjAwNzE4QkMyMDAwMDgyRkZGRjcxOEJDMjAwMDA4MjBECis6MTAwMzIwMDBDMjAwMDA4MkMyMDAwMDgyQzIwMDAwODIxMDAwNzE4QkY1Cis6MTAwMzMwMDBDMjAwMDA4MjgwMDA3MThCQzIwMDAwODI5MDAwNzE4QjJECis6MTAwMzQwMDBDMjAwMDA4MjQwMDA3MThCQzIwMDAwODJGRkZGNzE4QkVGCis6MTAwMzUwMDBDMjAwMDA4MkMyMDAwMDgyQzIwMDAwODJDMjAwMDA4MjhECis6MTAwMzYwMDAxMDAwNzE4QkMyMDAwMDgyODAwMDcxOEJDMjAwMDA4MjdECis6MTAwMzcwMDA5MDAwNzE4QkMyMDAwMDgyNDAwMDcxOEJDMjAwMDA4MjJECis6MTAwMzgwMDBGRkZCNzE4QkMyMDAwMDgyMDAwNDcxOEJDMjAwMDA4MkVGCis6MTAwMzkwMDA0QTAwNzE4QkMyMDAwMDgyMDAwMDcxOEJDMjAwMDA4MjkzCis6MTAwM0EwMDAwMDAwNzE4QkMyMDAwMDgyQzIwMDAwODJDMjMwMDQxOUJBCis6MTAwM0IwMDAxMDAwMDk0RkMyMDEwMDgyQzIwMTAwODJDMjAxMDA4MjA2Cis6MTAwM0MwMDBDMjAxMDA4MkMyMDEwMDgyQzIwMTAwODJDMjAxMDA4MjE5Cis6MTAwM0QwMDBDMjAxMDA4MkMyMDEwMDgyQzIwMTAwODJDMjAxMDA4MjA5Cis6MTAwM0UwMDBDMjAxMDA4MkMyMDEwMDgyMDAxMDcxOEJDMTMwMDQxOTY5Cis6MTAwM0YwMDA5MzAwMDE0RkNEMzAwMDA5Q0YzMDAwMDkwMDAwMzQ0OThGCis6MDgwNDAwMDAwMDA4MDA0NEM4NTQxMTAwN0IKKzowMDAwMDAwMUZGCisvKgorICogIENvcHlyaWdodCAoYykgMTk5NCBDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZC4KKyAqICBNaWNyb2NvZGUgZmlsZXMgZm9yIFNCMTYgQWR2YW5jZWQgU2lnbmFsIFByb2Nlc3NvcgorICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9wbGF5YmFjay5jc3AuaWhleCBiL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwOWYxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9wbGF5YmFjay5jc3AuaWhleApAQCAtMCwwICsxLDEyMiBAQAorOjEwMDAwMDAwMDAxMDAwNDQwODAwMDA0NDBDNTAwMDQ0MDA3MDAwNDRGQworOjEwMDAxMDAwMDQ3MDAwNDQwREYyNjFBODQ0MDQwNDE5MDAwMDQwNDUzNgorOjEwMDAyMDAwMDAwNDYzODAwMDAwMDYzOUZGMkUyMTQ5RkYwREQ0NDlFQQorOjEwMDAzMDAwNDA0OTM5QUM1NTU1NzE4QjUwMDFCMTgwMDAwMUIxODBGOAorOjEwMDA0MDAwQzkyMDA0MTk1MTAwNzE4QkNEMDAwNDE5RTQyMDcxOEI3MworOjEwMDA1MDAwQ0YwMDA0MTk4MDAwNzE4QkNCMjAwNDE5MTAwMDcxOEIyNAorOjEwMDA2MDAwQzQyMDA0MTk2NTAwNTE4QkMyMjAwMDM5MDAwMEIxODAwMgorOjEwMDA3MDAwQzIzMDA0MTkwMDAwNjM4MEMxQTAwNDE5OTMwMDAxNEYyRAorOjEwMDA4MDAwQ0QzMDAwMDlDRjMwMDAwOTA0NDAwMDE0MEM0MDAwMTRBQQorOjEwMDA5MDAwMDAwNDYxQTgwMjA0NjFBODA0NjAwNDI0MDAwMDM0NDkzQgorOjEwMDBBMDAwMDA1MDAwNDQ0NDA0MDQzOTAwMDA0MDQ1MDAwMDQwNDUyRAorOjEwMDBCMDAwMEYwMDYxMEEwMDAxMDA0NTQwNDAwOUVGRkYyMDA5Q0YxMQorOjEwMDBDMDAwMDAwNDYzQTE1MDAzMzM4MDAwMDRBMzgwMDBGRkMyOEJBRgorOjEwMDBEMDAwMDhGMDA0NTQwQ0QwMDBDNDIwMDM4MEMwMzAwMDAwODgxNQorOjEwMDBFMDAwMDAwMDdBMEFEMDAxMDA4MjA4NTAwMDQ0QzAwMDAwOTk0NAorOjEwMDBGMDAwMDg1MDAwNDQwMEZGQzI4QjIwMDAwMDgwMDAwRDQyOEI5RQorOjEwMDEwMDAwMDBBMjAwQzQwMDBFNDI4QjBDOTIwMEM0MDAxRTQyOEI2MQorOjEwMDExMDAwMDQ2MjAwQzQwMDhFNDI4QjBDNTIwMEM0MDA5RTQyOEJDRAorOjEwMDEyMDAwMDBDMjAwQzQwMEJFNDI4QjAwQzIwMEM0MDAwNDQyOEI2NworOjEwMDEzMDAwMDBGMjAwQzQwMDI0NDI4QjAwOTEwMEM0MDA1NTQyOEJBMQorOjEwMDE0MDAwMDg1MDAwQzQwMDNGNDI4QjA4RTIwMEM0MDAwMDQwNDU1NAorOjEwMDE1MDAwMjAwMTc5ODAwMDMwNDI4QjAwOTIwMEM0MDAwMDQwNDVBRAorOjEwMDE2MDAwMDAwMDcxOEI0MDAxMDA4MDA4NTAwMDQ0RkYwMEUyQUJBQQorOjEwMDE3MDAwMEM0MjAwQzQwRkYyQThBODIwMDBCMTg4MDAwMDQxMDI4MAorOjEwMDE4MDAwNERGMjAwMzlDMDAxMDA4MjA4NTAwMDQ0MERGMkEzQThDRQorOjEwMDE5MDAwNERGMjAwMzkwODUwMDA0NEZGMDBFMkFCMjAwMDAwODgxNworOjEwMDFBMDAwMDAwMDYxMDI0REYyMDQxOTA4NTAwMDQ0RkYwMEUyQUI2OAorOjEwMDFCMDAwQTAwMDAwODgwMDAwNjExMDRERjIwNDE5MDg1MDAwNDRBRQorOjEwMDFDMDAwRkYyMEUyQUI2MDAwMDA4ODAwMDA3MUMwNERGMjA0MTkwRQorOjEwMDFEMDAwMDg1MDAwNDQwMDAwN0EwQTIwMDFGMDgwMDFBMDQxMEE4MgorOjEwMDFFMDAwMDREMjAwQzQyMDAxRjA4MEMxMzAwNDE5MDg1MDAwNDQzQQorOjEwMDFGMDAwMDAwMDc5ODAwMEExMDA4NEI1MDA1MThCQ0YwMDAwMzk0OAorOjEwMDIwMDAwMDAwMUIxODA4ODAwMDQxOThBMDAwNDE5QzgyMDA0MTk2QgorOjEwMDIxMDAwQ0EyMDA0MTlDMjMwMDQxOUNEMTAwNDE5Q0YxMDA0MTlEMgorOjEwMDIyMDAwQjAwMDcxOEI4QzAwMDQxOThFMDAwNDE5MTAwMDcxOEJDMgorOjEwMDIzMDAwQzQyMDA0MTk5MzAwMDE0RkNEMzAwMDA5Q0YzMDAwMDlDQworOjEwMDI0MDAwMDMwMzA0NDkwNDgxMDA1NDA4NTAwNDY0MDg1MDAwNDQyNgorOjEwMDI1MDAwMDAwMDYzODAwMDAwMDYxOTAzMDAwNDQ5MDg1MDAwNDRCMAorOjEwMDI2MDAwMjAwMTYzODAwMDAwMDYxOTAwMDJFMjhCMDg0MTAwODQyRgorOjEwMDI3MDAwNjUwMDUxOEJDMjIwMDAzOTAwMDA2MzgwQzFBMDA0MTlDMQorOjEwMDI4MDAwMDg2MTAwNDQyRDAwNTE4QkMyMjAwMDM5MDAwMEIxODA2QworOjEwMDI5MDAwQzFBMDA0MTkwMzAwMDQ0OTA4NTAwMDQ0MDIyMDYxMEE2NworOjEwMDJBMDAwMDAwMTAwNDUwMjMwNjEwQTA0MDMwMEM0MDVCMEM4MTgwQgorOjEwMDJCMDAwMDQ3MTAwQzQwMDEzMDA0NDAwNzkwODQ0MDAwNDc5ODBFQworOjEwMDJDMDAwMDA0OTAwQzRDQTIwMDQxOTRBMDQwNDE5RkYwMEUyOEI0MworOjEwMDJEMDAwMENGOTA4NDRDRjEwMDQxOTBDMkIwODQ0OEUwMDA0MTlBMworOjEwMDJFMDAwMDMzMDYxMEFDODIwMDAzOTQ4MDQwMDM5MEEzMDYxMEEyNQorOjEwMDJGMDAwMENGOTA4NDRDRDEwMDQxOTBDMkIwODQ0OEMwMDA0MTk4NworOjEwMDMwMDAwMENEOTA4NDQwQzVBMDA0NDAwNzkwODQ0MDAwNDc5ODA1MAorOjEwMDMxMDAwMDA0OTAwQzRDMzMwMDQxOUNBMzAwMDk5MENEOTA4NDRGQworOjEwMDMyMDAwNDIwQTA5MEUwMDAxMzMxMThDMDFBMzgwMDAwMTdBMTBFQQorOjEwMDMzMDAwODAwNUIxODAwNUIwRTAxODAwOTMwMDg0MDA3OTA4NDQ3RQorOjEwMDM0MDAwMDAwNDc5ODAwMDQ5MDBDNDBDMUIwODQ0ODgwMDA0MTk4QgorOjEwMDM1MDAwOEEwMDAwOTkwQ0Q5MDg0NDQyMEEwOTBFODAwMDcxOEI2QQorOjEwMDM2MDAwQzAwNEIxODIxMDAwRTAwQjAwNDMwMDg0MDIzMDYxMEEzNworOjEwMDM3MDAwMDEzMEM4MEEwMDQzMDA4NDAwMDBCMTgwQzIzMDA0MTk3MworOjEwMDM4MDAwMENBODAwNDQwMjMwNjEwQTAwRDMwMEM0MDVCMEM4MThBQworOjEwMDM5MDAwMDQ2MzAwQzQwOEYzMDA0NDAwNzkwODQ0MDAwNDc5ODAzMQorOjEwMDNBMDAwMDA0OTAwQzQyMDAwMDQxOUZGMDBFMjhCMENGOTA4NDQ0NgorOjEwMDNCMDAwQ0QxMDA0MTlDRjEwMDQxOTBDMkIwODQ0OEMwMDA0MTkxQgorOjEwMDNDMDAwOEUwMDA0MTkwMzMwNjEwQUM4MjAwMDM5Q0EyMDAwMzlBMAorOjEwMDNEMDAwNDgwNDAwMzk0QTA0MDAzOTBDRDkwODQ0MEM1QTAwNDQzNgorOjEwMDNFMDAwMDA3OTA4NDQwMDA0Nzk4MDAwNDkwMEM0QzMzMDA0MTkyRQorOjEwMDNGMDAwMENEOTA4NDQ0MjBBMDkwRTA1QjBFMDE4MDAxODAwODQyMAorOjEwMDQwMDAwMDA3OTA4NDQwMDA0Nzk4MDAwNDkwMEM0MEMxQjA4NDRBQQorOjEwMDQxMDAwODAwMTAwODAwQ0Q5MDg0NDQyMEEwOTBFODAwMDcxOEJDQgorOjEwMDQyMDAwQzAwNEIxODIxMDAwRTAwQjAwODgwMDg0MDIzMDYxMEEzMQorOjEwMDQzMDAwMDEzMEM4MEEwMDg4MDA4NDAwMDBCMTgwQzIzMDA0MTk2RAorOjEwMDQ0MDAwMDAwMTAwMTEwMDBGRTI4QjAwMDA0MUNCOEMwMDAwODAwNgorOjEwMDQ1MDAwMDAwMDQ4Q0IyMDAwN0E4MDgwMDEwMDgwODIwQzA5NkU2OQorOjEwMDQ2MDAwMDMwODA5MEU4MDQwMDlDRjAwMDE3MUMyMDAwOEMyMUJCOQorOjEwMDQ3MDAwMDRCODAwQzQyMDA1QTg4MDIwMDFGMDgwMDAwMUMyMUI0MAorOjEwMDQ4MDAwMDQ0ODAwQzQyMDA1QTg4MDIwMDFGMDgwMDAwMkMyMUI5RgorOjEwMDQ5MDAwMDQ2ODAwQzQyMDA1QTg4MDIwMDFGMDgwMjAwM0E4ODAwMworOjEwMDRBMDAwMDAwMTAwMTEwMDA0QzI4QjA4NzgwMEM0MDAwMEU5ODAzQworOjEwMDRCMDAwMDVCMEE4MTgwMDAwNEFDQjIwMDBBODIyRDAwMTAwODI3NQorOjEwMDRDMDAwNDAwMTAwODBDNDAwMDQxOUIwMDBFMjhCMDYyMEE4MEE5NQorOjEwMDREMDAwMkQxMDYxMEFEMTA4MDkyRTAwMDFBODAyMENGOTA4NDQ2OAorOjEwMDRFMDAwQ0QxMDA0MTkwQzJCMDg0NDAzMDgwOTBFOUEyNUIxNjA5RAorOjEwMDRGMDAwQTIwRTA5NkUwMzAwMDkwRjAwMDE3MTgyMjAwMTAwODAyNQorOjEwMDUwMDAwMDAwMDYxQ0I4MDAxMDA4MDAzMDAwOTBGMDAwMTcxQzI2RgorOjEwMDUxMDAwMDAwOEMyMUIwQzJBMDBDNDIwMDVBODgwMjAwMUYwODAxRQorOjEwMDUyMDAwMDAwMUMyMUIwQzFBMDBDNDIwMDVBODgwMjAwMUYwODAyNQorOjEwMDUzMDAwMDAwMkMyMUIwQzNBMDBDNDIwMDVBODgwMjAwMUYwODBGNAorOjEwMDU0MDAwMjAwM0E4ODAwMDAxMDAxMTAwMDRDMjhCMDRBQTAwQzQ4QgorOjEwMDU1MDAwMDAwMEU5ODAwNUIwQTgxODAwMDA0QUNCMjAwMEE4MjJCRQorOjEwMDU2MDAwRDAwMTAwODI0MDAxMDA4MEM3MDAwNDE5QjAwMEUyOEI3NgorOjEwMDU3MDAwMDYyMEE4MEEyRjEwNjEwQUYxMDgwOTJFMDAwMUE4MDIxRQorOjEwMDU4MDAwMENGOTA4NDRDRjEwMDQxOTBDMkIwODQ0OUYzNUIxNjBCNgorOjEwMDU5MDAwMDMwODA5MEUwMDAxNzE4MjIwMDEwMDgwMDAwMDYxQ0I3OAorOjEwMDVBMDAwODAwMTAwODBFNDIwNzE4QjAwMDEwMDQ1OTA0MDA5OEY5QworOjEwMDVCMDAwMDAwNTYzODAwMDAwMDYzOTA4MTkwNEQ0OTMwMDAxNEYzOAorOjEwMDVDMDAwRTcwMDAxNkYwRDMwNjEwQTIwMDQ2MUE4QzIwMDAwODJCQgorOjEwMDVEMDAwMDIwNDYxQThDMjAwMDA4MkNEMzAwMDA5MDIwMDAwMDJCRQorOjEwMDVFMDAwMDIwMDAwMDJDMDgwMDAwOTIwMDAwOTQ5MEYzMDYxMEFBMgorOjEwMDVGMDAwMEQzMEM4MEEwMDI5MDBDNDAwODBDODBBMDAyOTAwQzRDMAorOjEwMDYwMDAwMDAwNEIxODAwMDAwMDYzOUM5MjAwNDM5MDAzOTAwNDREMworOjEwMDYxMDAwMDAwNDYzODAwMDAwMDYzOTAwMDRCMTgwQzkyMDA0Mzk1OQorOjEwMDYyMDAwMDAzOTAwNDQwOTIwMjMwQTAwMDAwNjE5QzkyMDA0MTlEMgorOjEwMDYzMDAwMDAwMDQwNDUwMjAwNjEwQTBDQjkwNDE0MDQwMDYxMEE3QworOjEwMDY0MDAwMDYwMDQ4MEEwMEE5MDQ1NEM2MDAwNDE5MENBOTAwNDQ3NQorOjEwMDY1MDAwMDUwMEM4MEEwQ0E5MDQ1NEM1MDAwNDE5MDcwMDYxMEE2MgorOjEwMDY2MDAwMEMwMDQ4MEEwMEI5MDQ1NENDMDAwNDE5MENCOTAwNDQyOQorOjEwMDY3MDAwMEUwMEM4MEEwQ0I5MDQ1NENFMDAwNDE5MEM1QTAwNDRFOAorOjEwMDY4MDAwODIwRDA5MkU4MDQwMDlDRjAwREY3MThCODAwMTAwODAzMAorOjEwMDY5MDAwMDJDMTAwMjIwM0MxMDAyMjAwMDE2NTgwRDIwNTY1ODJFQgorOjEwMDZBMDAwNDAyMTAwODBEMzAzMDA4MjQwMzMwMDgwMEM1QTAwNDQ3NAorOjEwMDZCMDAwMEYzMDYxMEEwRDMwQzgwQTA4RDkwMEM0OTMwMDAxNEZGOQorOjEwMDZDMDAwRTcwMDAxNkYwRjMwNjEwQTIwMDAwMDg4MDIwMDYxMDIxQworOjEwMDZEMDAwMDIwMDAwMDNDRjMwMDAwOTIwMDAwOTQ5MDAwNDYzODBCNAorOjEwMDZFMDAwMDREOTAwNDQwMDA0QjE4MDAwMDAwMDQ2MDIzMDYxMEFEMQorOjEwMDZGMDAwMDVCMEE4MThDMjMwMDQxOTAwMDAwMDQ2MEUxMEM4MEE0MAorOjEwMDcwMDAwMEMwQjA0MTQwRTEwNjEwQTA0MkIwMDQ0MEMxMEM4MEFEMAorOjEwMDcxMDAwMDQyQjA0NTQwQzEwNjEwQTAwMDAwMDQ2MDAxMEE4MThCNQorOjEwMDcyMDAwQTAwMDAwODgwMDAxNzE4MjAwMDAwMDQ2MDAwNDMzODBCMAorOjEwMDczMDAwMDAwMDgzODAyMDA0N0E4MDIwMDEzMzgwMDAwMDgzODBDMQorOjEwMDc0MDAwMjAwMDdBODAyMDAzMDA4MDAwMDAwMDQ2MTZDRTExMDBCMQorOjAwMDAwMDAxRkYKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgorICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCisgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3NiMTYvbXVsYXdfbWFpbi5jc3AuaWhleCBiL2Zpcm13YXJlL3NiMTYvbXVsYXdfbWFpbi5jc3AuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjRiNTY1Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvc2IxNi9tdWxhd19tYWluLmNzcC5paGV4CkBAIC0wLDAgKzEsODQgQEAKKzoxMDAwMDAwMDAwMTAwMDQ0MDgwMDAwNDQwMEIxMDA0NDAwNjEwMDQ0QjYKKzoxMDAwMTAwMDA4NTAwMDQ0MERGMjYxQTg0NDA0MDQxOTAwMDA0MDQ1NTIKKzoxMDAwMjAwMDQwNDkzOUFDNTU1NTcxOEI1MDA1NjM4MDAwMDAwNjM5NDUKKzoxMDAwMzAwMEZGMkUyMTQ5RkYwRkQ0NDkyMDAxMDkwRTIwMDA3MThCQUEKKzoxMDAwNDAwMEE4MDFBODgwODgwMUE4ODBBODAwMDA4MEQyMDA3MThCMzgKKzoxMDAwNTAwMDg4MDBBODgwQTgwNEIzODAyMDA3QjM4MDg4MDNCMTgwRkIKKzoxMDAwNjAwMEMwMDAwOTVDQzIwMTAwODJBMTAwNzE4QkNEMDAwNDE5OUYKKzoxMDAwNzAwMEEyMjA3MThCQ0YwMDA0MTkwMDAwQjE4MEMyMDAwNDE5QzYKKzoxMDAwODAwMDAwNDAwMDE0MDg0MDA0MjQwMDAwMzQ0OTBDNDAwMDQ0OUYKKzoxMDAwOTAwMDQ0MDQwNDM5MDAwMDQwNDUzMjAwMDk1QzAwMDAwQzM5N0EKKzoxMDAwQTAwMDAwMDA0MDQ1NDA0MDA5RUZGRjIwMDlDRjAwMDQ2M0ExNTQKKzoxMDAwQjAwMDUwMDMzMzgwMDAwNEEzODAwMEZGQzI4QjAwRDAwNDU0OUYKKzoxMDAwQzAwMDA0RTAwMEM0MjAwMzgwQzAzMDAwMDA4ODAwMDA3QTBBRTkKKzoxMDAwRDAwMEQwMDEwMDgyMDA2MDAwNDRDMDAwMDA5OTAwNjAwMDQ0MkMKKzoxMDAwRTAwMDAwRkZDMjhCMjAwMDAwODAwMDBENDI4QjA4MzIwMEM0NEMKKzoxMDAwRjAwMDAwMEU0MjhCMDBBMjAwQzQwMDFFNDI4QjBDQjIwMEM0NTIKKzoxMDAxMDAwMDAwOEU0MjhCMDA2MjAwQzQwMDlFNDI4QjA4NTIwMEM0RTUKKzoxMDAxMTAwMDAwQkU0MjhCMDg1MjAwQzQwMDA0NDI4QjA0NzIwMEM0MkIKKzoxMDAxMjAwMDAwMjQ0MjhCMDBEMjAwQzQwMDU1NDI4QjAwNjAwMEM0MDIKKzoxMDAxMzAwMDAwMDA0MDQ1MjAwMTc5ODAwMDMwNDI4QjA4ODIwMEM0RDUKKzoxMDAxNDAwMDAwMDA0MDQ1MDAwMDcxOEI0MDAxMDA4MDAwNjAwMDQ0QzkKKzoxMDAxNTAwMEZGMDBFMkFCMDBCMjAwQzQwRkYyQThBODIwMDBCMTg4RjMKKzoxMDAxNjAwMDAwMDA0MTAyNERGMjAwMzlDMDAxMDA4MjAwNjAwMDQ0RUQKKzoxMDAxNzAwMDBERjJBM0E4NERGMjAwMzkwMDYwMDA0NEZGMDBFMkFCOEQKKzoxMDAxODAwMDIwMDAwMDg4MDAwMDYxMDI0REYyMDQxOTAwNjAwMDQ0NjQKKzoxMDAxOTAwMEZGMDBFMkFCQTAwMDAwODgwMDAwNjExMDRERjIwNDE5REUKKzoxMDAxQTAwMDAwNjAwMDQ0RkYyMEUyQUI2MDAwMDA4ODAwMDA3MUMwRTYKKzoxMDAxQjAwMDRERjIwNDE5MDA2MDAwNDQwMDAwNzk4MDAwRTIwMDg0RTAKKzoxMDAxQzAwMDAzMDMwNDQ5MDhDMjAwNTQwMDYwMDQ2NDAwNjAwMDQ0NTIKKzoxMDAxRDAwMDAwMDA2MzgwMDAwMDA2MTkwMzAwMDQ0OTAwNjAwMDQ0MjkKKzoxMDAxRTAwMDIwMDE2MzgwMDAwMDA2MTkwMDIwRTI4QjBDRjIwMDg0REQKKzoxMDAxRjAwMDNFMDA1MThCQzAyMDAwMzkwODAxMDA0NDZDMDA1MThCMzcKKzoxMDAyMDAwMEMwMjAwMDM5MDAwMkUyOEIwNDIxMDA4NEZEMDA1MThCRTQKKzoxMDAyMTAwMEMyMjAwMDM5MDAxMTAwNDRGRTAwNTE4QkMyMjAwMDM5NzkKKzoxMDAyMjAwMEU1MDA3MThCQ0QwMDAwMzkwMDAwQjE4MEM5MjAwNDE5QjAKKzoxMDAyMzAwMENCMjAwNDE5QzEyMDA0MTlDMzIwMDQxOTEwMDA3MThCQUMKKzoxMDAyNDAwMEM3MjAwNDE5NUUwMDcxOEJDRjAwMDAzOTAwMDBCMTgwMTcKKzoxMDAyNTAwMEM0MjAwNDE5QzYyMDA0MTlDODIwMDQxOUNBMjAwNDE5OEUKKzoxMDAyNjAwMDIwMDA3MThCQ0MyMDA0MTkwMzAwMDQ0OTAwNjAwMDQ0NzUKKzoxMDAyNzAwMDA5MDQ2MUE4QzEwMDA0MTkwQjA0NjFBOENBMDAwNDE5OEIKKzoxMDAyODAwMDA0NjAwMEQ0MEQwMDYxMEE5MDQwMDk4RjAwMDEwMDQ1MTAKKzoxMDAyOTAwMDBGMDA2MTBBMDA0MDA5OEYwMDAxMDA0NTgyMDAwOTJFMEQKKzoxMDAyQTAwMDgwNDAwOUNGMDIwMDYxMjI0MzI1NjEyMjQwMzMwMDgwNTMKKzoxMDAyQjAwMDA4QTgwMDQ0MjAzMTQ5NUM5MjAwMDk0RTAyMDMwOTJFMkYKKzoxMDAyQzAwMDAwMDBBMzAyQzAwMDcxQzAyMDAwRUI4MDAwMDRDMjhCQkMKKzoxMDAyRDAwMDIwMDQ2MTgwMDAwNDdBMDJDQjAwQTg1OEIwMDVGMzgwQTYKKzoxMDAyRTAwMDIwMDRBODEwMDAwMDEwMzlCMDAwRTA4QjIwMDEwMDgwMkQKKzoxMDAyRjAwMDAwMDA2M0NCMDAwMDdBMDI0MDAwMDE1QjIwMDAwMDgwMTgKKzoxMDAzMDAwMDAwMDA0QUNCMjAwMDEzODAyMDAwN0E4MEUwMjEwMEMwNEEKKzoxMDAzMTAwMDA4MDAwODQ5MTA0MTA5OEVGRkZGNjI4QjAwMDQ2MTIyMkEKKzoxMDAzMjAwMDAwMDMwMDQ1MjIwMTMzODAyMDAxQTMwMjAwMDA3QTgwRUYKKzoxMDAzMzAwMEMwMDAwMDgyMDcyMDQwMEEwODgzMDA4NDQwMjEwMDgwMUEKKzoxMDAzNDAwMDQwMDU5MzEwQzcyMDAwMzkwMDAwNDA0NTA3MjA0MDBBQUYKKzoxMDAzNTAwMDBDQTMwMDg0MDgwMDAwODIwQzI0NjE1MDQwMDEwMDgwM0UKKzoxMDAzNjAwMEM3MjAwMDM5MDAwMDQwNDUwMDA0NjM4MDAwMDAwNjM5QzIKKzoxMDAzNzAwMDQyMDEwOTBFMDIyMDYxMEEwMDAxMDA0NTBDMjA2MDBBQkEKKzoxMDAzODAwMDAwNzMwMDg0MDAwNEIxODAwMDAwMDYzOTBDNjEwNEQ0QkQKKzoxMDAzOTAwMDAwMjQ3MUMwMjAzMzMzQzBFMDAxQTM4MjIyMDM3QTAyMUIKKzoxMDAzQTAwMEMzMDFBMzgyMjAwMTMzODAwMDAwN0E4MEMyMDFCMzUwRDAKKzoxMDAzQjAwMENDMjAwMDM5MDAwMDcxODAwMEYzMDA0NDBDMjA2MDBBNUEKKzoxMDAzQzAwMDAwRDMwMDg0MDAwNEIxODAwMDAwMDYzOTBDNjEwNEQ0MUQKKzoxMDAzRDAwMDAwMDBCMzEwQ0MyMDAwMzkwMDAwNzFDMDAwRjMwMDQ0Q0QKKzoxMDAzRTAwMENDMjAwMDM5MDAyMDcxQzAwMDMwNzFDMDAwRjMwMDQ0RkYKKzoxMDAzRjAwMDIwMDEwMDgwRkZGRjYyOEIyMDAxMzM4MDAwMDA4MzgwOUEKKzoxMDA0MDAwMDIwMDA3QTgwMjBFMTA5NUM4MjAwMDkyRjgwNEEwOThFNTEKKzoxMDA0MTAwMEUwMDFCMzgyMjAwNEEzODAwMDAwN0FDQjAzMDBBODE4NzcKKzoxMDA0MjAwMDAwMDAxMDM5MDgwNEVBMTAwODA0N0ExMDIwMDAwMDgwNDcKKzoxMDA0MzAwMDQwMDAyMUNCMEMwMEU4MTAwMDAwNDEwMjBDMDBFQjEwNDIKKzoxMDA0NDAwMEYyMDEwMDgyNDAyMTMzMDIwODIwNjEwQUM0MDAwNDE5MkQKKzoxMDA0NTAwMEM3MDAwMDk5MDIwMDYxMEEwQ0U4MDQxNDAxMDA2MTBBNTcKKzoxMDA0NjAwMDAzMDA0ODBBMDBCODA0NTRDMzAwMDQxOTBDQjgwMDQ0M0YKKzoxMDA0NzAwMDA4MDBDODBBMENCODA0NTRDODAwMDQxOTBBMDA2MTBBMkMKKzoxMDA0ODAwMDA5MDA0ODBBMDA2ODA0NTRDOTAwMDQxOTBDNjgwMDQ0QjMKKzoxMDA0OTAwMDBCMDBDODBBMEM2ODA0NTRDQjAwMDQxOTA0MDA2MTBBNUMKKzoxMDA0QTAwMDA2MDA0ODBBMDA3ODA0NTRDNjAwMDQxOTBDNzgwMDQ0NzkKKzoxMDA0QjAwMDA1MDBDODBBMEM3ODA0NTRDNTAwMDQxOTA3MDA2MTBBMzUKKzoxMDA0QzAwMDBDMDA0ODBBMDBFODA0NTRDQzAwMDQxOTBDRTgwMDQ0NkQKKzoxMDA0RDAwMDBFMDBDODBBMENFODA0NTRDRTAwMDQxOTAwMDA0MDQ1ODAKKzowODA0RTAwMDIwMTA3MThCMDkzRjA3MDA5OQorOjAwMDAwMDAxRkYKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgorICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCisgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3RpXzM0MTAuZncuaWhleCBiL2Zpcm13YXJlL3RpXzM0MTAuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjJjMDQyCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdGlfMzQxMC5mdy5paGV4CkBAIC0wLDAgKzEsODYyIEBACis6MTAwMDAwMDBDMjM1MDAwMjAwMUUwMjFBREJGRkZGRkZGRkZGMDIzMkIzCis6MTAwMDEwMDBDQkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGMDIzM0VECis6MTAwMDIwMDA3Njc1ODFDRTkwRkRFODg1ODNBMDEyMzRFQUVDNEQ2MEIwCis6MTAwMDMwMDA2QTc4QUI4MDAzNzYwMDE4Qjg5Q0ZBNzg3RjgwMDM3NkU0Cis6MTAwMDQwMDAwMDE4Qjg2NUZBNzgyMDgwMDM3NjAwMThCODIwRkE5MDc2Cis6MTAwMDUwMDBGREREQUU4M0FGODI5MEZCRjgxMjAwQTE2MDA1RTRGMEY1Cis6MTAwMDYwMDBBMzgwRjY5MEZERThBODgyOTBGREU4QTk4MkU4QzM5OUY0Cis6MTAwMDcwMDA1MDA1NzYwMDA4ODBGNjkwMDBGRjEyMDBBQTkwMDEwMzU4Cis6MTAwMDgwMDAxMjAwQUE5MDAxMDcxMjAwQUE5MDAxMEIxMjAwQzg5MDVBCis6MTAwMDkwMDAwMTExMTIwMEM4OTAwMTE3MTIwMEM4NzVEMDAwMTIzMzY4Cis6MTAwMEEwMDBDODAyMDExREVGNjU4MjcwMDNFRTY1ODMyMkU0OTNGOEI4Cis6MTAwMEIwMDA3NDAxOTNGOTc0MDI5M0ZFNzQwMzkzRjU4MjhFODNFOEJFCis6MTAwMEMwMDA2OTcwMDEyMkU0OTNGNkEzMDg4MEY0RTQ5M0ZDNzQwMUMwCis6MTAwMEQwMDA5M0ZENzQwMjkzRkU3NDAzOTNGRjc0MDQ5M0Y4NzQwNTA0Cis6MTAwMEUwMDA5M0Y1ODI4ODgzMTIwMEExNzAwMTIyRTQ5M0EzQTg4MzcwCis6MTAwMEYwMDBBOTgyOEM4MzhEODJGMEEzQUM4M0FEODI4ODgzODk4MkIwCis6MTAwMTAwMDA4MEUzMjEyMTA0OTI4MDgwMDQ5MkFDQUUwNDkyRkRFODQ5Cis6MTAwMTEwMDAwNDk0MDQ5NEZCRjMwNDk5MDQ5NEZCRjMwNEY5MDRGOUE0Cis6MTAwMTIwMDA4MEZFRDBGMDMwRjAwOTIwRjMwM0Y2ODAxMEY3ODAwRDQ4Cis6MTAwMTMwMDAzMEYxMDkyMEYzMDNGMjgwMDRGMzgwMDFGMDIwRjQwNDhECis6MTAwMTQwMDBGQ0QwRTBDQzIyQ0NDMEUwMTIwMTVBMDIwMTRCQkMwMDMyCis6MTAwMTUwMDAwNUQwRjBBQ0YwMjJDMzEzRENGQzAyMDEyMUJGMDAwOTgyCis6MTAwMTYwMDBFRDI1ODI3NUYwMDFGOEU2MjJCRjAxMEZFRDI1ODJGNTNECis6MTAwMTcwMDA4MkVFMzU4M0Y1ODM3NUYwMDRFMDIyRUQyNTgyNzVGMDdCCis6MTAwMTgwMDAwMkY4RTIyMkQwODNEMDgyRjVGMEMzRTQ5M0EzQzVGMDU1Cis6MTAwMTkwMDA5NUYwQzBFMEMzRDBGMEU0OTNBMzk1RjA0MDEyQTNBMzgwCis6MTAwMUEwMDBDM0U1RjAzMzUwMDIwNTgzMjU4MkY1ODI1MDAyMDU4M0IyCis6MTAwMUIwMDA3NDAxOTNDMEUwRTQ5M0MwRTAyMkQwODNEMDgyRjVGMEQ0Cis6MTAwMUMwMDBFNDkzNzAwOTc0MDE5MzcwMDRBM0EzODAwQzc0MDI5M0U4Cis6MTAwMUQwMDA2NUYwNjAwNUEzQTNBMzgwRTc3NDAxOTNDMEUwRTQ5M0Y2Cis6MTAwMUUwMDBDMEUwMjIxMjAyNUIwMjAxRjIxMjAyQUYwMjAxRjIxMjFGCis6MTAwMUYwMDAwMkQzMDIwMUYyMzBFMDA3MjBFMzAyRTYyMkU3MjIzMEQ4Cis6MTAwMjAwMDBFMTA3MjBFMzAyRTIyMkUzMjIzMEUyMDJFMDIyRTQ5MzZCCis6MTAwMjEwMDAyMjEyMDJEMzAyMDIxQTEyMDJBRjAyMDIxQUFCRjAxMjI5Cis6MTAwMjIwMDAwMjI0Q0JDNUYwQ0IyMjMwRTAxMDIwRTMwNkU2RjVGMDQ3Cis6MTAwMjMwMDAwOEU2MjJFN0Y1RjAwOUU3MTkyMjMwRTExMDIwRTMwNjhECis6MTAwMjQwMDBFMkY1RjAwOEUyMjJFM0Y1RjAwOUUzMTkyMjMwRTIwNkQ0Cis6MTAwMjUwMDBFMEY1RjBBM0UwMjJFNDkzRjVGMDc0MDE5MzIyQkIwMEYzCis6MTAwMjYwMDAwMzc0MDkyMkJCMDEwNzg5ODI4QTgzNzQwNDIyQkIwMkJBCis6MTAwMjcwMDAwNzg5ODI4QTgzNzQxMDIyNzQwQTIyMDIwMjdCQkIwMERGCis6MTAwMjgwMDAwN0U5MjU4MkY4NzQwMTIyQkIwMTBERTkyNTgyRjU4Mjc4Cis6MTAwMjkwMDBFQTM1ODNGNTgzNzQwNDIyQkIwMjBERTkyNTgyRjU4MkQ5Cis6MTAwMkEwMDBFQTM1ODNGNTgzNzQxMDIyRTkyNTgyRjg3NDAyMjIwMjZDCis6MTAwMkIwMDAwMkFGQkYwMDA1RURGODc0MDEyMkJGMDEwNzhEODI4RUU5Cis6MTAwMkMwMDA4Mzc0MDQyMkJGMDIwNzhEODI4RTgzNzQxMDIyRURGODlFCis6MTAwMkQwMDA3NDAyMjIwMjAyRDNCRjAwMDdFRDI1ODJGODc0MDEyMkM2Cis6MTAwMkUwMDBCRjAxMERFRDI1ODJGNTgyRUUzNTgzRjU4Mzc0MDQyMjdFCis6MTAwMkYwMDBCRjAyMERFRDI1ODJGNTgyRUUzNTgzRjU4Mzc0MTAyMjYxCis6MTAwMzAwMDBFRDI1ODJGODc0MDIyMjAyMDMwN0MwRTAxMjAyNUIwMkFDCis6MTAwMzEwMDAwMzFGQzBFMDEyMDJBRjAyMDMxRkMwRTAxMjAyRDMwMkFCCis6MTAwMzIwMDAwMzFGMzBFMDBCMjBFMzA0RDBFMEY2MjJEMEUwRjcyMkY4Cis6MTAwMzMwMDAzMEUxMEIyMEUzMDREMEUwRjIyMkQwRTBGMzIyRDBFMDYxCis6MTAwMzQwMDBGMDIyQzlDREM5Q0FDRUNBQ0JDRkNCMTIwMzUyRURGOTI4Cis6MTAwMzUwMDBFRUZBRUZGQjIyQkIwMDJGQkYwMDBBRkFFREY4RTdGNjNBCis6MTAwMzYwMDAwODA5REFGQTIyQkYwMTEyOEQ4MjhFODNGODAyMDM2RjI4Cis6MTAwMzcwMDAwOUEzRTdGMEQ4RkEyMjAyMDM3QUZBRURGOEU3RjIwOEM3Cis6MTAwMzgwMDAwOURBRkEyMjAyMDM4NEJCMDE0REJGMDAxNDg5ODI4QTc0Cis6MTAwMzkwMDA4M0Y5RURGODAyMDM5NjA4QTNFMEY2RDlGQTIyMDIwM0U2Cis6MTAwM0EwMDBBN0JGMDEyMjhEODI4RTgzRkIwOEM5QzU4MkM5Q0FDNTM5Cis6MTAwM0IwMDA4M0NBRTBBM0M5QzU4MkM5Q0FDNTgzQ0FGMEEzREJFQTYwCis6MTAwM0MwMDBEOEU4MjIwMjAzQ0E4RDgyOEU4M0Y5RURGOEUwRjIwOEE0Cis6MTAwM0QwMDBBM0Q5RkEyMjAyMDNENEJCMDI0REJGMDAxMjg5ODI4QTNDCis6MTAwM0UwMDA4M0Y5RURGODAyMDNFNjA4QTNFNDkzRjZEOUY5MjJCRkY2Cis6MTAwM0YwMDAwMTIzOEQ4MjhFODNGQjA4QzlDNTgyQzlDQUM1ODNDQTAxCis6MTAwNDAwMDBFNDkzQTNDOUM1ODJDOUNBQzU4M0NBRjBBM0RCRTlEOEVFCis6MTAwNDEwMDBFNzIyMDIwNDE5ODk4MjhBODNGOUVERjhFNDkzRjIwODRECis6MTAwNDIwMDBBM0Q5RjkyMjAyMDQyQUJGMDAwREZBRURGOEUzRjYwODc5Cis6MTAwNDMwMDAwOURBRkEyMjAyMDQzNEJGMDExMjhEODI4RTgzRjgwMjk3Cis6MTAwNDQwMDAwNDQxMDlBM0UzRjBEOEZBMjIwMjA0NENGQUVERjhFM0UwCis6MTAwNDUwMDBGMjA4MDlEQUZBMjIwMjA0NTZFNkZCMDhFNkZBMDhFNjkwCis6MTAwNDYwMDBGOTA0RjYxODcwMDEwNjIyRTZGRjA4RTZGRTA4RTZGRDJDCis6MTAwNDcwMDAyMkVGRjBBM0VFRjBBM0VERjAyMkVCRjBBM0VBRjBBMzVECis6MTAwNDgwMDBFOUYwMjJFMEZGQTNFMEZFQTNFMEZEMjJFMEZCQTNFMDExCis6MTAwNDkwMDBGQUEzRTBGOTIyMDAwMDAwMDAwMDAwMDAwNEY5MDA2MTY2Cis6MTAwNEEwMDAwNTY4MDAyNjA1OEYwMDMzMEEwMDAwNjEwQTZDMDA2NkFCCis6MTAwNEIwMDAxNTFEMDA2MTBDRjAwMDYxMDlBMDAwNjEwOUQ3MDA2MTAxCis6MTAwNEMwMDAwREI3MDA2MTBCRTgwMDYxMEExMzAwNjEwQTQ4MDA2MTgyCis6MTAwNEQwMDAxNzE1MDAzMzE3MjgwMDM0MURGNjAwNDMxRUExMDA0NEYxCis6MTAwNEUwMDAyMDBFMDA0NDFGRkMwMDQ3MUVDODAwNDcxRjZEMDA0RDMyCis6MTAwNEYwMDAxRkJFMDA0RjFFRUEwMDU4MzI1NjAwNjE3Q0NDN0RGRkMzCis6MTAwNTAwMDAxMjFDQTcyMjkwRkZGQ0UwMjBFNzJEQzJBRkFFNTlBRjJFCis6MTAwNTEwMDA1ODc1NUEyMEU1NUExNEM1NUE2MDE5RTRGRTdGMDVFRTU1Cis6MTAwNTIwMDA0RkNFMjRGRkNFQ0YzNEZGQ0Y2MDA3RTQ5MEZGOTJGMDkwCis6MTAwNTMwMDA4MEVEODBFMDhFNTk4RjU4MjIxMjA1MDE3RDA3N0NCNzJGCis6MTAwNTQwMDAxMjMyNzI3RDBGN0M2RTEyMzI4Qzc4OUQ3QTA2RTRGNjQwCis6MTAwNTUwMDAwOERBRkM3QTA2MTIwNUM0N0MwMzEyMEU0QzEyMjE0QUZBCis6MTAwNTYwMDBFNEZFRkY3QzBGMTIzMUZCRDJBODIyMTIzMEU2RTQ5MEE5Cis6MTAwNTcwMDBGQzM4RjA5MEZGRjBFMDMwRTQwODc0MDE5MEZDMzlGMEIyCis6MTAwNTgwMDA4MDA1RTQ5MEZDMzlGMDdEMEE3QzAwMTIyNTI2MTIzMUFBCis6MTAwNTkwMDA2OTIyMTIzMEU2OTBGQzM5RTAxNDcwMEU5MEZGRjBFMDEyCis6MTAwNUEwMDA0NDEwRjA3QzAwMTIyNUJGODAxOTkwRkMzOUUwNzAwRUQ5Cis6MTAwNUIwMDA5MEZGRjBFMDU0RUZGMDdDMDAxMjI1QkY4MDA1N0MxNzFGCis6MTAwNUMwMDAxMjI1QkYxMjMxNjkyMjkwRkZGMEUwNTRBQkYwOTBGRjhBCis6MTAwNUQwMDBGMEUwNDQyMEYwMjI4QzM3OEQzNjc4ODJFREY2MDhFQzdFCis6MTAwNUUwMDBGNkVERkVFQ0ZEN0YwMTkwMDAwNTEyMDFFQzc4ODBGNjNGCis6MTAwNUYwMDA3ODgyRTZGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDAwNDRDCis6MTAwNjAwMDAxMjAxRUM1NDBGRkM3RDgwMTIxNzQ2Nzg4MEU2NzAwREM1Cis6MTAwNjEwMDBBRDNBQUUzOUFGMzhFNDEyMDMwRjdDMDgyMjkwRkZGMEY4Cis6MTAwNjIwMDBFMDU0RkVGMDkwRkZGMEUwNTRGREYwODAxRTc4ODJFNjhBCis6MTAwNjMwMDBGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDAwODEyMDIwRUM1Cis6MTAwNjQwMDAyNUUwNDQwMTkwRkZGM0YwMDIwNkQwNzg4MkU2RkQwODMxCis6MTAwNjUwMDBFNkZDRURGRUVDRkQ3RjAxOTAwMDA2MTIwMjBFNTRGRTVBCis6MTAwNjYwMDA5MEZGRjNGMDgwMkI3ODgyRTZGRDA4RTZGQ0VERkVFQ0NGCis6MTAwNjcwMDBGRDdGMDE5MDAwMDgxMjAyMEVGQUVCOTBGRkYxRjAxMkRDCis6MTAwNjgwMDAwOEJGNDAwREFEM0FBRTM5QUYzOEU0MTIwMzBGN0MxODA1Cis6MTAwNjkwMDAyMjc4ODJFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDhECis6MTAwNkEwMDAwODEyMDIwRTkwRkZGMUYwMTIwOEJGNDAwREFEM0FBRUY1Cis6MTAwNkIwMDAzOUFGMzhFNDEyMDMwRjdDMTgyMjc4ODJFNkZEMDhFNjkxCis6MTAwNkMwMDBGQ0VERkVFQ0ZEN0YwMTkwMDAwNjEyMDIwRTQ0MDE5MDRECis6MTAwNkQwMDBGRkYzRjA3ODgzRTYyNDAzRjYxOEU2MzQwMEY2Nzg4MDFBCis6MTAwNkUwMDBFNjI0RkU1MDA5OTBGRkYwRTA1NEZERjA4MDA3OTBGRkYzCis6MTAwNkYwMDBGMEUwNDQwMkYwRTQ5MEZGRjFGMDc4ODE3NjAwNzg4MDM5Cis6MTAwNzAwMDBFNjI0RkZGQ0U0MzRGRkZENzg4MUU2N0YwMEZFRUNEM0I1Cis6MTAwNzEwMDA5RUVGNjQ4MENENjQ4MDlENDAyRjEyMDhBNDQwMEY3ODI2Cis6MTAwNzIwMDA4MUU2QUQzQUFFMzlBRjM4MTIwMzBGN0MxODIyOTBGRjQ0Cis6MTAwNzMwMDBGMkUwRkM3ODgyODY4MzA4ODY4MkVDRjA3ODgxMDZBMzVBCis6MTAwNzQwMDA3ODgyQTY4MzA4QTY4MjgwQjUxMjA4QTQ0MDBGNzg4MTFCCis6MTAwNzUwMDBFNkFEM0FBRTM5QUYzODEyMDMwRjdDMTgyMjkwRkZGMkEzCis6MTAwNzYwMDBFMEZDNzg4Mjg2ODMwODg2ODJFQ0YwNzg4MEU2QUQzQUY5Cis6MTAwNzcwMDBBRTM5QUYzODEyMDMwRjdDMDAyMjhDMzc4RDM2Nzg4MjY5Cis6MTAwNzgwMDBFREY2MDhFQ0Y2RURGRUVDRkQ3RjAxOTAwMDA1MTIwMUEwCis6MTAwNzkwMDBFQzc4ODFGNjc4ODJFNkZEMDhFNkZDRURGRUVDRkQ3RjY0Cis6MTAwN0EwMDAwMTkwMDAwNDEyMDFFQzU0MEZGQzdEODExMjE3NDY3ODcxCis6MTAwN0IwMDA4MUU2NzAwMzdDMDgyMjkwRkZGMEUwNTRGRUYwOTBGRjg5Cis6MTAwN0MwMDBGMEUwNTRGREYwODAxQjc4ODJFNkZEMDhFNkZDRURGRUNCCis6MTAwN0QwMDBFQ0ZEN0YwMTkwMDAwODEyMDIwRTI1RTA5MEZGRjNGMDdGCis6MTAwN0UwMDA4MDVCNzg4MkU2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDgzCis6MTAwN0YwMDAwMDA2MTIwMjBFNTRGRTkwRkZGM0YwODAyMTc4ODJFNjhDCis6MTAwODAwMDBGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDAwODEyMDIwRUYzCis6MTAwODEwMDBGQUVCOTBGRkYxRjAxMjA4QkY0MDAzN0MxODIyNzg4MkI3Cis6MTAwODIwMDBFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA4MTIwMkZCCis6MTAwODMwMDAwRTkwRkZGMUYwMTIwOEJGNDAwMzdDMTgyMjc4ODNFNjg3Cis6MTAwODQwMDAyNDBBRjYxOEU2MzQwMEY2Nzg4MDc2MDA3ODgxRTYyNEVCCis6MTAwODUwMDBGRkZDRTQzNEZGRkQ3ODgwRTY3RjAwRkVFQ0QzOUVFRkUyCis6MTAwODYwMDA2NDgwQ0Q2NDgwOUQ0MDIxNzg4Mjg2ODMwODg2ODJFMDAyCis6MTAwODcwMDA5MEZGRjFGMDEyMDhCRjQwMDM3QzE4MjI3ODgwMDY3OEMwCis6MTAwODgwMDA4MzA2RTYxODcwMDEwNjgwQzM5MEZGRjBFMDQ0MDFGMDkzCis6MTAwODkwMDA3ODgyODY4MzA4ODY4MkUwOTBGRkYxRjAxMjA4QkY0MERDCis6MTAwOEEwMDAwMzdDMTgyMjdDMDAyMjkwRkZGMEUwMjBFNzEyOTBGRkVBCis6MTAwOEIwMDBGMEUwMzBFNTA5OTBGRkYwRTA0NDIwRjBDMzIyODBFNzRCCis6MTAwOEMwMDBEMzIyOTBGRkYwRTAyMEUzMTI5MEZGRjBFMDMwRTUwOTQyCis6MTAwOEQwMDA5MEZGRjBFMDQ0MjBGMEMzMjI4MEU3RDMyMjhDNDI4REM5Cis6MTAwOEUwMDA0MTdDMDBFRDU0RjBGREVDNzAwM0VENjQzMDcwMDU3NTUzCis6MTAwOEYwMDAzRTAzODAwMzc1M0UwNEFDM0UxMjBGNjk3NTgzMDA4NThDCis6MTAwOTAwMDA4MzQwRTU0MTU0MEZGNTNGRTU0MDcwMDRFNTNGNjQwMzQzCis6MTAwOTEwMDA3MDM1RTUzRTI0RkQ3NUYwMEFBNDI0MDJGNTgyRTQzNDI2Cis6MTAwOTIwMDBGQ0Y1ODNFMDMwRTYwNTEyMTA0QjgwMTlFNTNFMjQ5RDZFCis6MTAwOTMwMDBGOEM2NTRGQkY2NzhBOUU2MjQwNUY1ODIxOEU2MzQwMERCCis6MTAwOTQwMDBGNTgzNzQwRkYwODA1OUU1NDA3MDA0RTUzRjY0MDQ3MDRFCis6MTAwOTUwMDA0OEU1M0UyNEZENzVGMDBBQTQyNDAyRjU4MkU0MzRGQzQ3Cis6MTAwOTYwMDBGNTgzRTAzMEU1MDdBQzQyQUQ0MTEyMUMzQ0U1NDIzMDc2Cis6MTAwOTcwMDBFMjE1NzhBREU2MzBFMDBGNzhBREU2MzBFMTA5RTRGRjRFCis6MTAwOTgwMDAwNEZFN0MwNDEyMzFGQjc4QTlFNjI0MDZGNTgyMThFNjAxCis6MTAwOTkwMDAzNDAwRjU4Mzc0MEZGMDgwMDdFNEZDN0RFRTEyMUMzQ0ZDCis6MTAwOUEwMDBDMjAzMjIxMjMwRTYxMjBGNjk3OEE5RTYyNDA2RjU4MjA2Cis6MTAwOUIwMDAxOEU2MzQwMEY1ODNFMDkwRkMzOEYwNzhBOUU2MjQwNUM5Cis6MTAwOUMwMDBGNTgyMThFNjM0MDBGNTgzRTA5MEZDMzlGMEMyMDM3RDJGCis6MTAwOUQwMDAwMjdDMDAxMjI1MjYxMjMxNjkyMjEyMzBFNjc4OTVFQzRECis6MTAwOUUwMDBGNkVDMjQ5REY4RTYzMEUxMDc3QzEzMTIyNUJGODAwRjVBCis6MTAwOUYwMDA5MEZDMzlFMEZENzg5NUU2RkMxMjEzQzgxMjI1QkYxMjcxCis6MTAwQTAwMDAzMTY5MjIxMjMwRTY3ODk1RUNGNjdEMDAxMjBGMDkxMjVBCis6MTAwQTEwMDAyNUJGMTIzMTY5MjIxMjMwRTY3ODk1RUNGNkVDMjQ5RDYwCis6MTAwQTIwMDBGOEU2MzBFMjA3N0MxMzEyMjVCRjgwMUI3ODk1RTYyNDk4Cis6MTAwQTMwMDA5REY4RTYyMEUxMDc3QzEyMTIyNUJGODAwQTc4OTVFNjMyCis6MTAwQTQwMDBGQzEyMTNFQzEyMjVCRjEyMzE2OTIyMTIzMEU2Nzg5NUEwCis6MTAwQTUwMDBFQ0Y2RUMyNDlERjhFNjIwRTIwNzdDMTExMjI1QkY4MDFECis6MTAwQTYwMDAwQTc4OTVFNkZDMTIxNEVEMTIyNUJGMTIzMTY5MjIxMkE0Cis6MTAwQTcwMDAzMEU2Nzg5NUVDRjYxMjBGNjk3OEE5RTYyNDA5RjU4MjNDCis6MTAwQTgwMDAxOEU2MzQwMEY1ODNFMDkwRkMzRkYwNzhBOUU2MjQwQUVDCis6MTAwQTkwMDBGNTgyMThFNjM0MDBGNTgzRTA5MEZDNDBGMDc4QTlFNjkyCis6MTAwQUEwMDAyNDAzRjU4MjE4RTYzNDAwRjU4M0UwRkM3OEE5RTYyNEY3Cis6MTAwQUIwMDAwNEY1ODIxOEU2MzQwMEY1ODNFMEY1NjI3OEE5RTYyNEFGCis6MTAwQUMwMDAwMkY1ODIxOEU2MzQwMEY1ODNFMEY1NjM4QzYxRTRFQzBFCis6MTAwQUQwMDAzMzMzNTQwMTc4OTVGNjYwMDhFNTYyMzBFMTAzNzg5NTg4Cis6MTAwQUUwMDAwNjc4OTVFNjkwRkM0MUYwNzhBN0U2MjQwMkY1ODIxODk2Cis6MTAwQUYwMDBFNjM0MDBGNTgzRTBGREEzRTA1NDBDRkNFRDU0RTY4Q0Y1Cis6MTAwQjAwMDA2NUY1NjRFNTYxMzBFNTAzNDM2NTAxRTU2MjIwRTUwRUM2Cis6MTAwQjEwMDBFNTYxNTQ3RjcwMDhFNTYxMjBFNzAzNDM2NTAyRTU2MTA0Cis6MTAwQjIwMDAzMEUzMDM0MzY1MTBFNTYxMzBFMjAzNDM2NTIwRTU2MThFCis6MTAwQjMwMDA1NDAzNjAwMzQzNjU0MEU1NjEzMEUxMDM0MzY1ODBFNUFDCis6MTAwQjQwMDA2MTMwRTQwMzQzNjQwMUU1NjEzMEU2MDM0MzY0MDhFNTkyCis6MTAwQjUwMDA2MjIwRTQwRUU1NjE1NDdGNzAwOEU1NjEyMEU3MDM0M0ZECis6MTAwQjYwMDA2NDEwNTM2NUZCNTM2NDc5QUQ2NEU1NjU5MEZDM0FDRDQwCis6MTAwQjcwMDBGMEEzQ0RGMEU1NjMzMEUzMERFNTYzNTQzMEM0NTQwRkNBCis6MTAwQjgwMDA5MEZDM0RGMDgwMDVFNDkwRkMzREYwRTU2MzU0MDM5MDVCCis6MTAwQjkwMDBGQzNDRjBFNTYzNTQwNEMzMTM5MEZDM0VGMDkwRkMzQzM1Cis6MTAwQkEwMDBFMDcwMEU3RDM1N0VGQzdGMDE3NDAxOTAwMDA5MTIwMTFBCis6MTAwQkIwMDA0Mjc4QTlFNjI0MDhGNTgyMThFNjM0MDBGNTgzRTA3QzQzCis6MTAwQkMwMDAwMEZENzhBOUU2MjQwN0Y1ODIxOEU2MzQwMEY1ODNFMEY1Cis6MTAwQkQwMDA3RjAwNENGRUVGNEQ5MEZDMzhGMEEzQ0VGMENFQzIwMzY4Cis6MTAwQkUwMDA3RDBBN0MwMDEyMjUyNjEyMzE2OTIyMTIzMEU2Nzg5NUEyCis6MTAwQkYwMDBFQ0Y2Nzg5QTc2MDEwODc2RkMwODc2Mzg3ODk3NzYwQ0M5Cis6MTAwQzAwMDA3ODlBMTIwNDY1MTIwMjE0Nzg5OENCRjZDQjA4RjY3RjE2Cis6MTAwQzEwMDAwMEVGMjRFQTQwMUZFNEVGMjVFMDkwMzUyQ0ZEOTNDRDUyCis6MTAwQzIwMDAwNDkzNzg5OTY2NzAwM0VEMTg2NjcwMDY3ODk3NzYwMERECis6MTAwQzMwMDA4MDAzMEY4MERDNzg5NkVGRjY3ODlBMTIwNDY1OTAwMEI2Cis6MTAwQzQwMDAwMjEyMDIwRTc4OThDQkY2Q0IwOEY2NTQwNENCNTQ4NkU5Cis6MTAwQzUwMDA0QjYwMDQ3ODk3NzYwQjc4OTlFNjMwRTMxMzc4OUExMjE0Cis6MTAwQzYwMDAwNDY1OTAwMDA1MTIwMUVDMjRGQjUwMDQ3ODk3NzYwRDgyCis6MTAwQzcwMDA3ODk5RTY1NEMwN0QwMDY0QzA0RDcwMDQ3ODk3NzYwQjc3Cis6MTAwQzgwMDA3ODlBMTIwNDY1OTAwMDA0MTIwMUVDMjRGQzUwMDQ3ODU4Cis6MTAwQzkwMDA5Nzc2MEY3ODlBMTIwNDY1OTAwMDA2MTIwMUVDMjRGREY1Cis6MTAwQ0EwMDA1MDA0Nzg5Nzc2MEU3ODlBMTIwNDY1OTAwMDA5MTIwMTI0Cis6MTAwQ0IwMDBFQzI0RkQ1MDA0Nzg5Nzc2MEE3ODk3RTY3MDJBNzg5NUE4Cis6MTAwQ0MwMDBFNkZDMTIwRjY5Nzg5QTEyMDQ2NTc4QTdFNkY5NzhBNjBGCis6MTAwQ0QwMDBFNkZBN0IwMTc0MEE3ODAwMTIwMzNGQzIwMzc4OTVFNkI2Cis6MTAwQ0UwMDBGQzEyMTEwNzc4OTdFQ0Y2Nzg5N0U2RkMxMjI1QkYxMkY0Cis6MTAwQ0YwMDAzMTY5MjIxMjMwRTY3ODk1RUNGNjEyMEY2OTc4OTVFNkE0Cis6MTAwRDAwMDAyNEZENzVGMDBBQTQyNDE0RjU4MkU0MzRGQ0Y1ODNBQ0M4Cis6MTAwRDEwMDA4MkFEODM3OEE2ODY4MzA4ODY4MkVDRjlFREZBN0IwQTk5Cis6MTAwRDIwMDA3ODAxMTIwM0E3QzIwMzc4OTVFNkZDMTIxMTA3MTIzMTZECis6MTAwRDMwMDA2OTIyOEQyQjhDMkFFRDYwNDA3NTI3MDE3NTI5NDg3NTM1Cis6MTAwRDQwMDAyOEZGRTUyQTI0RkRGQ0U0MzRGRkZERUM3QzAzMjVFMENDCis6MTAwRDUwMDBDRDMzQ0REQ0Y5RkNFNTI5MkNGNTI5RTUyODNERjUyODM2Cis6MTAwRDYwMDBBRDI5QUUyOEFGMjc3NDgwOTAwMDA2MTIwMzE3NzQ4MDU3Cis6MTAwRDcwMDA5MDAwMDIxMjAzMTcxMjBGQjdFNTJCMTQ2MDNCNzUyNzgyCis6MTAwRDgwMDAwMTc1MjkwODc1MjhGRkU1MkEyNEZERkNFNDM0RkZGREUwCis6MTAwRDkwMDBFQzdDMDMyNUUwQ0QzM0NERENGOUZDRTUyOTJDRjUyOUVECis6MTAwREEwMDBFNTI4M0RGNTI4QUQyOUFFMjhBRjI3RTQ5MDAwMDYxMkNFCis6MTAwREIwMDAwMzE3RTQ5MDAwMDIxMjAzMTcyMjEyMzBFNjc4OTVFQzM0Cis6MTAwREMwMDBGNkVDMjQ5REY4RTYzMEUyMDk3ODk1RTZGQzEyMTRFRDg1Cis6MTAwREQwMDBEMjAwNzg5NUU2RkMxMjBGNjk3ODk2NzYwMDkwRkMzOTdGCis6MTAwREUwMDBFMDMwRTcwNDc4OTY3NjAxNzg5NkU2RkQ3ODk1RTZGQ0EzCis6MTAwREYwMDAxMjBEMkZDMjAzMzAwMDA3Nzg5NUU2RkMxMjEzRUM3QzJECis6MTAwRTAwMDAwMDEyMjVCRjEyMzE2OTIyNzhBOUU2MjQwNEY1ODIxODYwCis6MTAwRTEwMDBFNjM0MDBGNTgzRTA0NDAxRjA3OEE5RTYyNDA0RjU4Mjg1Cis6MTAwRTIwMDAxOEU2MzQwMEY1ODNFMDMwRTAwMjgwRUQ3OEE5RTYyNDhFCis6MTAwRTMwMDAwQkY1ODIxOEU2MzQwMEY1ODNFMDU0RjhGMDc4QTlFNjYzCis6MTAwRTQwMDAyNDAyRjU4MjE4RTYzNDAwRjU4M0UwNDQ4MEYwMjJDMkUzCis6MTAwRTUwMDAwMzhDNTgxMjBGNjk3OEE2ODY4MzA4ODY4Mjc5NUQ3QTlBCis6MTAwRTYwMDAzNTdCMEE3ODAxMTIwM0Y1MTIwRTA1QUM1ODdEMDIxMjhCCis6MTAwRTcwMDAwRDJGQzIwM0FDNTgxMjExMDcyMjhENTM4RTUyOEY1MTgxCis6MTAwRTgwMDA4QzUwMTIwRjY5NzU0RjAwNzhBOUU2MjQwNUY1ODIxODc5Cis6MTAwRTkwMDBFNjM0MDBGNTgzRTAyMEU0MUZFNTRGMjRGNjQwMTkwNTExCis6MTAwRUEwMDA0RkMyMDM3QzE4MTIzMkE5OTBGRjkzRTA0NDAxRjBCMkM0Cis6MTAwRUIwMDBCM0FDNTAxMjBGNjk4MEQwNzhBOUU2MjQwNUY1ODIxOEVBCis6MTAwRUMwMDBFNjM0MDBGNTgzRTAyMEU0MDVDMjAzN0MwMjIyNzhBOTIxCis6MTAwRUQwMDBFNjI0MDVGNTgyMThFNjM0MDBGNTgzRTA1NDBGNjAxNjI5Cis6MTAwRUUwMDA3OEE5RTYyNDA1RjU4MjE4RTYzNDAwRjU4M0UwNTQwRjZFCis6MTAwRUYwMDBGMEMyMDM3QzAxMjI3OEE4ODY4MzA4ODY4MkUwQUQ1Mzg1Cis6MTAwRjAwMDBBRTUyQUY1MTEyMDMwRkMyMDM3QzAwMjI4RDMxOEMzMEUwCis6MTAwRjEwMDAxMjE0RURFNTMxNjAwRkU1MzBCNDAzMEE3QzAxMTIyNEIwCis6MTAwRjIwMDBFRTdDODExMjI0RUVBQzMwMTIwRjY5RTUzMTYwMUE3ODQ0Cis6MTAwRjMwMDBBQTg2ODMwODg2ODJFMDU0RTdGMEEzQTNBM0EzRTA1NDIzCis6MTAwRjQwMDBFN0YwQUMzMDdEMDIxMjBEMkY3OEE2ODY4MzA4ODY4MkVBCis6MTAwRjUwMDA3OTY3N0EzNTdCMEE3ODAxMTIwM0Y1QzIwM0U1MzAyNEZDCis6MTAwRjYwMDA5REY4QzY1NEZERjZBQzMwMTIxMTA3MjI4QzI2MzAwM0QyCis6MTAwRjcwMDAwNTEyMzI0ODgwRjg3QzBBMTIzMTVCRDIwM0U1MjYyNDQwCis6MTAwRjgwMDBGRDc4QTNGNjcwMDc3OEFBNzZGRjA4NzZFMDc4QTNFNkU2Cis6MTAwRjkwMDA3NUYwMTBBNEFERjBGQzI0QTA3OEE5RjZFRDM0RkYxODhDCis6MTAwRkEwMDBGNjc4QTNFNjc1RjAwQUE0MjQwMEZDRTQzNEZDRkQ3ODhFCis6MTAwRkIwMDBBNkVERjYwOEVDRjYxMjMxRjQyMjc4QTlFNjI0MDJGNTQzCis6MTAwRkMwMDA4MjE4RTYzNDAwRjU4M0UwMzBFNzIyNzhBOUU2MjQwMkFGCis6MTAwRkQwMDBGNTgyMThFNjM0MDBGNTgzRTA1NDdGRjA3OEE5RTYyNDIyCis6MTAwRkUwMDAwMkY1ODIxOEU2MzQwMEY1ODNFMDQ0ODBGMDIyNzhBQTA2Cis6MTAwRkYwMDA4NjgzMDg4NjgyRTA1NDdGRjBBRDgzRTU4MjI0MDRGQzdBCis6MTAxMDAwMDBFNDNEOEM4MkY1ODNFMDU0N0ZGMDc4QTlFNjI0MEJGNTZCCis6MTAxMDEwMDA4MjE4RTYzNDAwRjU4M0UwNTRGOEYwNzhBQkU2MjQwMTVBCis6MTAxMDIwMDBGNTgyMThFNjM0MDBGNTgzRTA0NDAzRjA3OEFCRTYyNDVCCis6MTAxMDMwMDAwNUY1ODIxOEU2MzQwMEY1ODNFMDQ0MDNGMDc4QTlFNjZDCis6MTAxMDQwMDAyNDA1RjU4MjE4RTYzNDAwRjU4Mzc0MEZGMDIyNzhBQTlGCis6MTAxMDUwMDA4NjgzMDg4NjgyRTA1NDNGRjBBRDgzRTU4MjI0MDRGQzU5Cis6MTAxMDYwMDBFNDNEOEM4MkY1ODNFMDU0M0ZGMDc4QTNFNjI0QTRGOEI1Cis6MTAxMDcwMDBFNkZDNzhBQkU2MjQwMUY1ODIxOEU2MzQwMEY1ODNFQzUzCis6MTAxMDgwMDBGMDc4QTNFNjI0QTRGOEU2RkM3OEFCRTYyNDA1RjU4MjI0Cis6MTAxMDkwMDAxOEU2MzQwMEY1ODNFQ0YwNzhBOUU2MjQwQkY1ODIxODA1Cis6MTAxMEEwMDBFNjM0MDBGNTgzRTA1NEZCNDQwMkY1MjY3OEE3RTYyNEY1Cis6MTAxMEIwMDAwMkY1ODIxOEU2MzQwMEY1ODNFMDMwRTUwMzQzMjYwMUFCCis6MTAxMEMwMDA3OEE5RTYyNDA1RjU4MjE4RTYzNDAwRjU4M0UwMzBFMERGCis6MTAxMEQwMDAwMzEyMEZCN0U1MjZGQzc4QTlFNjI0MEJGNTgyMThFNjgzCis6MTAxMEUwMDAzNDAwRjU4M0VDRjA3OEE5RTYyNDA1RjU4MjE4RTYzNDlGCis6MTAxMEYwMDAwMEY1ODM3NDBGRjA3OEFBODY4MzA4ODY4MkUwNDQ4MDI2Cis6MTAxMTAwMDBGMEEzQTNBM0EzRTA0NDgwRjAyMjhDMkExMjBGNjk3OEY1Cis6MTAxMTEwMDBBN0U2MjQwOEY1ODIxOEU2MzQwMEY1ODNFMEZDNzhBOUY4Cis6MTAxMTIwMDBFNjI0MEFGNTgyMThFNjM0MDBGNTgzRUNGMDc4QTdFNkE5Cis6MTAxMTMwMDAyNDA3RjU4MjE4RTYzNDAwRjU4M0UwRkM3OEE5RTYyNDVDCis6MTAxMTQwMDAwOUY1ODIxOEU2MzQwMEY1ODNFQ0YwNzhBNjg2ODMwODZBCis6MTAxMTUwMDA4NjgyRTBGREEzRTBGQ0VERkU3OEE5RTYyNDA4RjU4Mjk2Cis6MTAxMTYwMDAxOEU2MzQwMEY1ODNFRUYwRUNGRTc4QTlFNjI0MDdGNUU2Cis6MTAxMTcwMDA4MjE4RTYzNDAwRjU4M0VFRjA4QzI5OEQyOEMzRUM5NEI4Cis6MTAxMTgwMDAwNUVEOTQwQzQwMDU3NTI3N0M4MDMzRDNFNTI5OTQwMTQ3Cis6MTAxMTkwMDBFNTI4OTQwMzQwMDU3NTI3M0M4MDIzRDNFNTI5OTQ4MUY1Cis6MTAxMUEwMDBFNTI4OTQwMTQwMDU3NTI3MTg4MDEzRDNFNTI5OTQ2MDNDCis6MTAxMUIwMDBFNTI4OTQwMDQwMDU3NTI3MEM4MDAzNzUyNzA4QUYyN0E0Cis6MTAxMUMwMDBFNEVGNTQ3QzQ0ODNGRjhGMjdFNTI3RkM3OEFCRTYyNENCCis6MTAxMUQwMDAwMUY1ODIxOEU2MzQwMEY1ODNFQ0YwRTUyN0ZDNzhBQkU2Cis6MTAxMUUwMDBFNjI0MDVGNTgyMThFNjM0MDBGNTgzRUNGMEU1MjdGQ0VCCis6MTAxMUYwMDA3OEEzRTYyNEE0RjhFQ0Y2NzhBOUU2MjQwMkY1ODIxODkwCis6MTAxMjAwMDBFNjM0MDBGNTgzRTBGNTI3NzhBN0U2MjQwMkY1ODIxODk2Cis6MTAxMjEwMDBFNjM0MDBGNTgzQTNFMDMwRTMxNzUzMjdDNzc4QTdFNjQ5Cis6MTAxMjIwMDAyNDA1RjU4MjE4RTYzNDAwRjU4M0UwOTAzNTU4OTM0MkEyCis6MTAxMjMwMDAyNzUzMjdGQjc4QTdFNjI0MDZGNTgyMThFNjM0MDBGNTQ1Cis6MTAxMjQwMDA4M0UwNjAwMzQzMjcwNDUzMjdGQzc4QTdFNjI0MDRGNUQyCis6MTAxMjUwMDA4MjE4RTYzNDAwRjU4M0UwNDIyNzQzMjc4MEU1MjdGQzI3Cis6MTAxMjYwMDA3OEE5RTYyNDAyRjU4MjE4RTYzNDAwRjU4M0VDRjA3OERDCis6MTAxMjcwMDBBOUU2MjQwNEY1ODIxOEU2MzQwMEY1ODNFMEY1Mjc3ODIyCis6MTAxMjgwMDBBN0U2MjQwMkY1ODIxOEU2MzQwMEY1ODNBM0UwMzBFMUY2Cis6MTAxMjkwMDAwNTUzMjdERjgwMDM0MzI3MjA3OEE3RTYyNDAyRjU4MjQxCis6MTAxMkEwMDAxOEU2MzQwMEY1ODNFMDMwRTQwNTUzMjdFRjgwMDM0MzZDCis6MTAxMkIwMDAyNzEwNzhBN0U2MjQwOUY1ODIxOEU2MzQwMEY1ODNFMEM0Cis6MTAxMkMwMDBCNDAyMDM0MzI3MDJFNTI3RkM3OEE5RTYyNDA0RjU4MjRCCis6MTAxMkQwMDAxOEU2MzQwMEY1ODNFQ0YwNzhBOUU2MjQwM0Y1ODIxOENCCis6MTAxMkUwMDBFNjM0MDBGNTgzRTBGNTI3NzhBN0U2MjQwOUY1ODIxOEFGCis6MTAxMkYwMDBFNjM0MDBGNTgzRTA3MDA1NTMyNzdGODAwMzQzMjc4MEExCis6MTAxMzAwMDA3OEE3RTYyNDAyRjU4MjE4RTYzNDAwRjU4M0EzRTAzMERFCis6MTAxMzEwMDBFMDA1NDMyNzIwODAwMzUzMjdERjc4QTdFNjI0MDJGNTYyCis6MTAxMzIwMDA4MjE4RTYzNDAwRjU4M0UwMzBFMzA1NDMyNzQwODAwMzZDCis6MTAxMzMwMDA1MzI3QkY3OEE3RTYyNDAyRjU4MjE4RTYzNDAwRjU4MzI4Cis6MTAxMzQwMDBFMDMwRTAwNTQzMjcxMDgwMDM1MzI3RUY3OEE3RTYyNDE5Cis6MTAxMzUwMDAwMkY1ODIxOEU2MzQwMEY1ODNBM0UwMzBFNDA1NDMyNzY0Cis6MTAxMzYwMDAwODgwMDM1MzI3Rjc3OEE3RTYyNDAyRjU4MjE4RTYzNEFECis6MTAxMzcwMDAwMEY1ODNBM0UwMzBFNTA1NDMyNzA0ODAwMzUzMjdGQkYyCis6MTAxMzgwMDA3OEE3RTYyNDAyRjU4MjE4RTYzNDAwRjU4M0EzRTAzMDVFCis6MTAxMzkwMDBFNjA1NDMyNzAxODAwMzUzMjdGRTc4QTdFNjI0MDJGNURDCis6MTAxM0EwMDA4MjE4RTYzNDAwRjU4M0EzRTAzMEU3MDU0MzI3MDI4MDg2Cis6MTAxM0IwMDAwMzUzMjdGREU1MjdGQzc4QTlFNjI0MDNGNTgyMThFNjA4Cis6MTAxM0MwMDAzNDAwRjU4M0VDRjBDMjAzN0MwMDIyOEQyNzhDMjZFRERGCis6MTAxM0QwMDA1NDAzMTQ2MDAzN0MxMDIyRTUyNzU0N0MyNEZDNDAwMzUyCis6MTAxM0UwMDA3QzBCMjJFNTI2MjQ5REY4QzY0NDAyRjY3QzAwMjI4QzY0Cis6MTAxM0YwMDAzMDEyMEY2OUU1MzAyNDlERjhFNjIwRTI0RkFDMzA3REQ1Cis6MTAxNDAwMDAwMjEyMEQyRkU1MzAyNEZFNDQyOEZDNzhBQTg2ODMwOEJBCis6MTAxNDEwMDA4NjgyRUNGMEFGODNFNTgyMjQwNEZFRTQzRkZGRUM4RThECis6MTAxNDIwMDA4MjhGODNGMDdDMDM4QzJDRTUyQ0ZDNzhBQkU2MjQwMUM2Cis6MTAxNDMwMDBGNTgyMThFNjM0MDBGNTgzRUNGMEU1MkNGQzc4QUJFNjk5Cis6MTAxNDQwMDAyNDA1RjU4MjE4RTYzNDAwRjU4M0VDRjA3NTJEMDE3NTVFCis6MTAxNDUwMDAyRjQ4NzUyRUZGRTUzMDI0RkRGQ0U0MzRGRkZERUM3Q0M1Cis6MTAxNDYwMDAwMzI1RTBDRDMzQ0REQ0Y5RkNFNTJGMkNGNTJGRTUyRTVGCis6MTAxNDcwMDAzREY1MkU3OEFCRTYyNDA0RjU4MjE4RTYzNDAwRjU4M0JBCis6MTAxNDgwMDBFMDU0RTdGNTJDQUQyRkFFMkVBRjJERTQ5MDAwMDIxMjA0Cis6MTAxNDkwMDAwMzE3RTQ5MDAwMDYxMjAzMTcxMjAxRTYzMEU1MDM0MzM4Cis6MTAxNEEwMDAyQzEwRTUyQ0ZDNzhBQkU2MjQwNEY1ODIxOEU2MzQwMDE5Cis6MTAxNEIwMDBGNTgzRUNGMDEyMTA0Qjc4QTlFNjI0MDZGNTgyMThFNkM1Cis6MTAxNEMwMDAzNDAwRjU4M0UwQzIwM0ZDRTUzMDI0OURGOEM2NDQwNEYzCis6MTAxNEQwMDBGNjhDMkNFNTMwNTQwRkM0NTRGMDdFMDBGRkVFRUY0NDQwCis6MTAxNEUwMDAwNDdEMDBGRkVDNEVGQ0VENEZGRDEyMUNBNzdDMDAyMjlBCis6MTAxNEYwMDA4QzJGMTIwRjY5MTIwRkVCNzhBQTg2ODMwODg2ODJFMDgwCis6MTAxNTAwMDA1NDA4RjBBM0EzQTNBM0UwNTQwOEYwQUMyRjdEMDIxMjZCCis6MTAxNTEwMDAwRDJGQzIwM0U1MkYyNDlERjhDNjU0RkJGNjdDMDAyMjU0Cis6MTAxNTIwMDAxMjMwRTY3ODk2RUNGNkVDMjQ5REY4RTYzMEUxMEE3RDgwCis6MTAxNTMwMDAwMDdDMTMxMjI1MjYxMjMxNjk3ODk2RTYyNDlERjhDNkEwCis6MTAxNTQwMDA0NDAxRjY3ODk2RTZGQzEyMEY2OTc4OTZFNjI0RkQ3NTVDCis6MTAxNTUwMDBGMDBBQTQyNDE0RjU4MkU0MzRGQ0Y1ODM3OEE2RTZGQUI0Cis6MTAxNTYwMDAwOEU2Rjk3QjBBNzgwMTEyMDNBNzc4QTY4NjgzMDg4NjI1Cis6MTAxNTcwMDA4Mjc5Njc3QTM1N0IwQTc4MDExMjAzRjUxMjBGQjdDMkI4Cis6MTAxNTgwMDAwMzc4OTZFNkZDMTIxMTA3Nzg5NUVDRjZFQzYwMEE3RDdDCis6MTAxNTkwMDAwMDdDMDgxMjI1MjYxMjMxNjk3ODk2RTZGQzEyMEY2OTQ0Cis6MTAxNUEwMDA3OEE5RTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwNDQxMEI3Cis6MTAxNUIwMDA1NERGRkM3OEE5RTYyNDA0RjU4MjE4RTYzNDAwRjU4M0FDCis6MTAxNUMwMDBFQ0YwNzg5NUVDRjZDMjAzN0NDODEyMzJBOTc4OTZFNjY2Cis6MTAxNUQwMDBGQzEyMEY2OTc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNUI4Cis6MTAxNUUwMDA4M0UwNTRFRkYwQzIwMzdDQzgxMjMyQTk3ODk2RTZGQzdGCis6MTAxNUYwMDAxMjBGNjk3OEE5RTYyNDA0RjU4MjE4RTYzNDAwRjU4MzExCis6MTAxNjAwMDBFMDQ0MTBGMEMyMDM3Q0M4MTIzMkE5Nzg5NkU2RkMxMkJFCis6MTAxNjEwMDAwRjY5NzhBOUU2MjQwNEY1ODIxOEU2MzQwMEY1ODNFMDIyCis6MTAxNjIwMDA0NDIwRjBDMjAzN0NGMDEyMzJBOTc4OTZFNkZDMTIwRjM3Cis6MTAxNjMwMDA2OTc4QTlFNjI0MDVGNTgyMThFNjM0MDBGNTgzRTAzMEUwCis6MTAxNjQwMDBFNDE1QzIwMzc4OTZFNjQ0MTA3RjAwRkU3QzA3MTIzMTUxCis6MTAxNjUwMDBGQjEyMzE2OTAyMTcxNDc4QTlFNjI0MDRGNTgyMThFNjEyCis6MTAxNjYwMDAzNDAwRjU4M0UwNTRDRkYwQzIwMzdDQzgxMjMyQTk3ODZECis6MTAxNjcwMDA5NkU2RkMxMjBGNjk3OEE5RTYyNDA0RjU4MjE4RTYzNDkwCis6MTAxNjgwMDAwMEY1ODNFMDQ0MzBGMEMyMDM3Q0YwMTIzMkE5Nzg5NjcyCis6MTAxNjkwMDBFNkZDMTIwRjY5NzhBOUU2MjQwNUY1ODIxOEU2MzQwMDA1Cis6MTAxNkEwMDBGNTgzRTAzMEU0MTRDMjAzNzg5NkU2NDQxMDdGMDBGRTMwCis6MTAxNkIwMDA3QzA3MTIzMUZCMTIzMTY5ODA1RDc4QTlFNjI0MDRGNUJDCis6MTAxNkMwMDA4MjE4RTYzNDAwRjU4M0UwNTRFRkYwNzhBOUU2MjQwNEFDCis6MTAxNkQwMDBGNTgyMThFNjM0MDBGNTgzRTA1NERGRjA3ODk2RTYyNENFCis6MTAxNkUwMDBGRDc1RjAwQUE0MjQxNEY1ODJFNDM0RkNGNTgzQUM4MjgxCis6MTAxNkYwMDBBRDgzNzhBNjg2ODMwODg2ODJFQ0Y5RURGQTdCMEE3OEJBCis6MTAxNzAwMDAwMTEyMDNBN0MyMDM3ODk2RTZGQzEyMTEwNzdEMDA3QzQ0Cis6MTAxNzEwMDAwQjEyMjUyNjEyMzE2OTIyMTIzMEU2RTQ5MEZDMzlGMEQyCis6MTAxNzIwMDA3RDAyN0MwMDEyMjUyNjEyMzE2OTIyMTIzMEU2N0MwMEVGCis6MTAxNzMwMDAxMjI1QkYxMjMxNjkyMjc0M0M5MEZCRTBGMDc0M0U5MDk4Cis6MTAxNzQwMDBGQkUwRjBFNDkwRkMyOEYwMjI4RDM1OEMzNEVDQjQwMTAxCis6MTAxNzUwMDAwMjgwMDNEMzQwMDI4MDI4QjQwMjAyODAwM0QzNDAwOEYxCis6MTAxNzYwMDBBODM1QzYyNUUwRjY4MDE4QjQwNDAyODAwM0QzNDAwQUU5Cis6MTAxNzcwMDBBODM1QzYyNUUwMjVFMEY2ODAwNkE4MzU3NjAwODAwMDZECis6MTAxNzgwMDAyMjhDM0M4RDNCRURGRUVDRkQ3RjAxNzU2NjA2NzU2Nzk2Cis6MTAxNzkwMDAwMDkwRkMyOTEyMDQ2RTEyMDFFNkI0ODAwMjgwMDZEMzg4Cis6MTAxN0EwMDA1MDAzMDIxODQ3OTBGQzI5MTIwNDgwOTAwMDAzMTIwMTk0Cis6MTAxN0IwMDBFQzU0RjBCNDMwMDI4MDAzRDM0MDVGOTBGQzI5MTIwNDUzCis6MTAxN0MwMDA4MDkwMDAwODEyMDIwRUZBRkRFQkZFN0YwMTkwRkMyQ0M3Cis6MTAxN0QwMDAxMjA0NkVFRUNEOTAzNTcxRkNFNDkzRkY3NDAxOTNGRTFDCis6MTAxN0UwMDBGOUVGRkE3QjAxRUFGRkU5RkVFQ0MzOUVFRDlGNDAyNThECis6MTAxN0YwMDA5MDM1NzNFNDkzRkQ3NDAxOTNGQ0VERkVFQ0ZEN0YwMUU1Cis6MTAxODAwMDBFRUNERkM5MEZDMkVFMEQzOUM5MEZDMkRFMDlENTAwNThECis6MTAxODEwMDA3NTY2ODA4MDMzMTIxOTY1ODAyRUI0NjAwMjgwMDNEMzEwCis6MTAxODIwMDA0MDBCQUMzQ0FEM0IxMjA3Nzc4QzY2ODAxQkI0MTAwM0I5Cis6MTAxODMwMDBCMzQwMTBDM0I0MjAwM0IzNDAwOUMzQjQ0MDAyODAwM0QzCis6MTAxODQwMDBEMzQwMDA3NTY2ODE4MDAwODA3NUI0ODEwMjgwMDNEMzI3Cis6MTAxODUwMDA0MDZCOTBGQzI5MTIwNDgwOTAwMDAzMTIwMUVDNTRGMEJDCis6MTAxODYwMDBCNDMwMDI4MDAzRDM0MDFEOTBGQzI5MTIwNDgwOTAwMDA0Cis6MTAxODcwMDAwODEyMDIwRUZBRkRFQkZFN0YwMTkwRkMyRjEyMDQ2RTlGCis6MTAxODgwMDAxMjE4Q0Y4MDM2QjQ2MDAyODAwM0QzNDAxMzc1M0E2N0Q0Cis6MTAxODkwMDBFNEY1MzlGNTM4QUMzQ0FEM0IxMjA1RDM4QzY2ODAxQkMyCis6MTAxOEEwMDBCNDEwMDNCMzQwMTBDM0I0MjAwM0IzNDAwOUMzQjQ0MDIxCis6MTAxOEIwMDAwMjgwMDNEMzQwMDA3NTY2ODE4MDAwODAwMjgwMDBFNUNECis6MTAxOEMwMDA2NkZDOTBGQzI5MTIwNDgwRUM5MDAwMDIxMjAzMTdBQzE1Cis6MTAxOEQwMDA2NzIyOTBGQzI5MTIwNDgwOTAwMDA0MTIwMUVDNjAwNDNECis6MTAxOEUwMDA3NDAxODAwMUU0QTJFMDkyMDE5MEZDMjkxMjA0ODBFREQxCis6MTAxOEYwMDAyNDAzRkQ1MDAxMEU5MEZDMkMxMjA0NkU5MEZDMjkxMjYyCis6MTAxOTAwMDAwNDgwOTAwMDA1MTIwMUVDRjU2NzkwMDAwNDEyMDFFQ0QwCis6MTAxOTEwMDA1NDBGRkM3RDY3MTIxNzQ2RTU2NzcwMDQ3NTY2MDgyMjUwCis6MTAxOTIwMDA3NTY2MDA3ODg0NzYwMDc4ODRFNkMzOTU2NzUwMzg5MEIxCis6MTAxOTMwMDBGQzJGMTIwNDgwMTIwMUU2RkM5MEZDMkMxMjA0ODBFQ0I3Cis6MTAxOTQwMDAxMjAzMEYzMDAxMEU5MEZDMzFFMDA0RjA5MEZDMzA3MDc3Cis6MTAxOTUwMDAwM0UwMDRGMDc4ODQwNjkwRkMyRUUwMDRGMDkwRkMyRDY3Cis6MTAxOTYwMDA3MDAzRTAwNEYwODBDMDIyOTBGQzJBRTBGREEzRTBGQ0JDCis6MTAxOTcwMDBFREZFRUNGRDdGMDFFRDI0MEFGRDUwMDEwRTkwRkMzMkRFCis6MTAxOTgwMDAxMjA0NkU5MEZDMjkxMjA0ODA5MDAwMDQxMjAxRUM1NEExCis6MTAxOTkwMDAwRkI0MDEwMjgwMDNEMzQwMTc5MEZDMzIxMjA0ODAwRDczCis6MTAxOUEwMDBFRDcwMDEwRTkwRkMyRjEyMDQ2RTc4ODg3NjAxODA0RTQ3Cis6MTAxOUIwMDBCNDAyMDI4MDAzRDM0MDE5OTBGQzMyMTIwNDgwRUQyNDVCCis6MTAxOUMwMDAwMkZENTAwMTBFOTBGQzJGMTIwNDZFNzg4ODc2MDI4MDgyCis6MTAxOUQwMDAyREI0MDQwMjgwMDNEMzQwMTk5MEZDMzIxMjA0ODBFRDMwCis6MTAxOUUwMDAyNDA0RkQ1MDAxMEU5MEZDMkYxMjA0NkU3ODg4NzYwNEJBCis6MTAxOUYwMDA4MDBDQjQwMDAyODAwM0QzNDAwMDc1NjYwODIyOTBGQzdFCis6MTAxQTAwMDAyOTEyMDQ4MDkwMDAwNTEyMDFFQ0Y1Njc3ODg1NzYwMEI0Cis6MTAxQTEwMDA3ODg1RTZDMzk1Njc0MDAzMDIxQUNENzg4Njc2MDA3ODBDCis6MTAxQTIwMDA4NkU2QzM3ODg4OTY1MDc2OTBGQzJDMTIwNDgwMTIwMUNBCis6MTAxQTMwMDBFNkZDOTBGQzMyMTIwNDg5MTIwMUUwRjQ1Q0ZDMTIwMTE1Cis6MTAxQTQwMDBFMEY4OTBGQzJGMTIwNDgwRThDMEUwMTIwMUU2QzhEMDU0Cis6MTAxQTUwMDBFMEM4NTg0Q0ZDOTBGQzJDMTIwNDgwRUMxMjAzMEY3ODY4Cis6MTAxQTYwMDA4N0VDRjY5MEZDMzFFMDA0RjA5MEZDMzA3MDAzRTAwNDY5Cis6MTAxQTcwMDBGMDA5RTk3MDAxMEE5MEZDMzIxMjA0Nzc5MEZDMjkxMkY3Cis6MTAxQTgwMDAwNDgwOTAwMDA0MTIwMUVDMzBFNDBFOTBGQzJFRTAwNDdGCis6MTAxQTkwMDBGMDkwRkMyRDcwMDNFMDA0RjA3ODg2MDY4MDgxNzg4ODUxCis6MTAxQUEwMDBFNkZERTRGRUZGRUVDREZDOTBGQzMxRTAyQ0YwOTBGQzc2Cis6MTAxQUIwMDAzMEUwM0RGMDc4ODhFNkZERTRGRUZGRUVDREZDOTBGQ0UyCis6MTAxQUMwMDAzNEUwMkNGMDkwRkMzM0UwM0RGMDc4ODUwNjAyMUEwREVFCis6MTAxQUQwMDA3NTY2MDAyMkU1M0QwNTNEMDQ3MDAyQjJCMDIyQzBFMDBCCis6MTAxQUUwMDBDMEYwQzA4MkMwODNDMEQwRThDMEUwRTlDMEUwRUFDMDc2Cis6MTAxQUYwMDBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGQzBFMDQ1Cis6MTAxQjAwMDA5MEZGOTJFMDEyMDFCNzFCMjkzMDFCMjkzMjFCMzgzODk1Cis6MTAxQjEwMDAxQjRBM0ExQjVDM0UxQjc0NDQxQjY4NDYxQjgwNTAxQkNGCis6MTAxQjIwMDBDMjUyMUJBMTU0MUJFMzU2MDAwMDFDMDQ5MEZGOTJFMDFDCis6MTAxQjMwMDA3RjAwRkU3QzAxMTIzMUZCMDIxQzE0RTRGRjA0RkU3Q0RBCis6MTAxQjQwMDAwMzEyMzFGQjc0MjA5MEZGRkVGMDAyMUMxNEU0RkYwNDJBCis6MTAxQjUwMDBGRTdDMDIxMjMxRkI3NDQwOTBGRkZFRjAwMjFDMTRFNDg0Cis6MTAxQjYwMDBGRjA0RkU3QzA0MTIzMUZCMDIxQzE0RTRGRjA0RkU3QzIzCis6MTAxQjcwMDAwNTEyMzFGQjAyMUMxNEU0RkYwNEZFN0MwNjEyMzFGQjRCCis6MTAxQjgwMDAwMjFDMTQ5MEZGQTVFMDdEMDA5MEZCRjhDREYwQTNDREUyCis6MTAxQjkwMDBGMDkwRkJGOUUwRkNGNTgzOTBGQkY4RTA0NDMzRkQxMjk0Cis6MTAxQkEwMDAxQ0E3ODA3MzkwRkZCNUUwN0QwMDkwRkJGQUNERjBBM0Y5Cis6MTAxQkIwMDBDREYwOTBGQkZCRTBGQ0Y1ODM5MEZCRkFFMDQ0NDNGREE1Cis6MTAxQkMwMDAxMjFDQTc4MDUyOTBGRkE2RTA3RDAwOTBGQkZDQ0RGMDk4Cis6MTAxQkQwMDBBM0NERjA5MEZCRkRFMEZDRjU4MzkwRkJGQ0UwNDQzNEVBCis6MTAxQkUwMDBGRDEyMUNBNzgwMzE5MEZGQjZFMDdEMDA5MEZCRkVDRDdBCis6MTAxQkYwMDBGMEEzQ0RGMDkwRkJGRkUwRkNGNTgzOTBGQkZFRTA0NDBBCis6MTAxQzAwMDA0NEZEMTIxQ0E3ODAxMDkwRkY5MkUwN0QwMEZDRUQ0NDgzCis6MTAxQzEwMDBBQUZEMTIxQ0E3ODAwMEU0OTBGRjkyRjBEMEUwRkZEMDU0Cis6MTAxQzIwMDBFMEZFRDBFMEZERDBFMEZDRDBFMEZCRDBFMEZBRDBFMDc4Cis6MTAxQzMwMDBGOUQwRTBGOEQwRDBEMDgzRDA4MkQwRjBEMEUwMzIwNTE3Cis6MTAxQzQwMDA4MTA1ODEwNTgxMDU4MUE4ODExODE4MThFREY2MDhFQzM5Cis6MTAxQzUwMDBGNjkwRkY1QUUwMjBFNzAyODBGNzkwRkY1OUUwN0QwMDAwCis6MTAxQzYwMDBBODgxMThDREY2Q0QwOEY2N0QwM0E4ODFFNjE4RkNFNjFDCis6MTAxQzcwMDBDQzI1RTBDQzMzQ0NEREY5Q0NGNkNDMDhGNkE4ODExODI1Cis6MTAxQzgwMDBFNjQ0RjhGNkE4ODExODE4MThFNkZEMDhFNkZDQTg4MUQ1Cis6MTAxQzkwMDAxODg2ODMwODg2ODJFREYwQTNFQ0YwNzQwMjkwRkY1QTU4Cis6MTAxQ0EwMDBGMDE1ODExNTgxMTU4MTE1ODEyMkU1ODEyNDA1RjU4MUM1Cis6MTAxQ0IwMDBFNEE4ODExOEY2QTg4MTE4MTgxODE4RURGNjA4RUNGNkIzCis6MTAxQ0MwMDA5MEZCRjVFMDI0Rjg1MDAzMDIxREM4RTRBODgxMTgxODIxCis6MTAxQ0QwMDBGNkE4ODExOEU2RkVBODgxMTgxODE4MThFNkZEMDhFNjhGCis6MTAxQ0UwMDBGQzdGMDBFRjI0Rjg0MDRERTRFRjI1RTAyNDdERjU4MkYxCis6MTAxQ0YwMDBFNDM0RkNGNTgzRTBGQkEzRTA2QzcwMDNGQUVCNkQ3MDU5Cis6MTAxRDAwMDAwOTc0MDFBODgxMTgxOEY2ODAyQkU0RUYyNUUwMjQ3REUyCis6MTAxRDEwMDBGNTgyRTQzNEZDRjU4MzdBMDBFMDU0RjBDQ0Y4Q0NDREM1Cis6MTAxRDIwMDBGOUNERkI3ODAwRTk1NEYwRjlFQTY4NzAwMkVCNjk3MENDCis6MTAxRDMwMDAwMTBFMEY4MEFFQTg4MTE4RUVGNkE4ODExODE4MTgxOEE5Cis6MTAxRDQwMDBFREY2MDhFQ0Y2QTg4MUVGRjZBODgxMTgxOEU2NzA3OTkwCis6MTAxRDUwMDBBODgxMThFNjI0Rjc0MDcxQTg4MTE4MTgxODE4RTY1NENECis6MTAxRDYwMDAwRkE4ODFGNjY0MDQ2MDE3QTg4MUU2NjQwMzYwMTBBOEQ4Cis6MTAxRDcwMDA4MTE4MTgxODE4RTZGRDA4RTZGQzEyMUMzQzgwNEE3QzA1Cis6MTAxRDgwMDAwQTEyMzE1QkE4ODExODE4MTgxOEU2RkQwOEU2RkM5MEM1Cis6MTAxRDkwMDBGQkY0RTAyNUUwMjQ3REY1ODJFNDM0RkNGNTgzRURGMEVFCis6MTAxREEwMDBBM0VDRjA5MEZCRjRFMEZGRTRFRjA0NTQwN0ZGOTBGQjlBCis6MTAxREIwMDBGNEYwOTBGQkY1RTAwNEYwMTIzMUY0OTBGQkY2RTA3MEUzCis6MTAxREMwMDAwOEU0RkVGRjdDMEYxMjMxRkI4MDI3OTBGQkY3RTAwNDU0Cis6MTAxREQwMDBGMDU0M0Y3MDFEOTBGQkY3RTA0NEZFN0QwMEZDOTBGQjRCCis6MTAxREUwMDBGNEUwMjVFMDI0N0RGNTgyRTQzNEZDRjU4M0VERjBBM0Y2Cis6MTAxREYwMDBFQ0YwRTU4MTI0RkJGNTgxMjI3ODhCNzYwMDc4OEM3NkY3Cis6MTAxRTAwMDAwMDc0MDE5MEZCRjZGMDEyMzBFNjkwRkJGNUUwNjA1N0FECis6MTAxRTEwMDA3QzBBMTIzMTVCOTBGQkYzRTAyNUUwMjQ3REY1ODJFNDNGCis6MTAxRTIwMDAzNEZDRjU4M0UwRkRBM0UwRkM5MEZCRjNFMDI1RTAyNDI3Cis6MTAxRTMwMDA3REY1ODJFNDM0RkNGNTgzRTRGMEEzRjA5MEZCRjNFMDVECis6MTAxRTQwMDBGRkU0RUYwNDU0MDdGRjkwRkJGM0YwOTBGQkY1RTAxNDgwCis6MTAxRTUwMDBGMDc4ODlFREY2MDhFQ0Y2MTIzMUY0Nzg4OUU2RkQwOEExCis6MTAxRTYwMDBFNkZDMTIwOERBODBBMzEyMzI0ODkwRkY5M0UwNDQwMUE2Cis6MTAxRTcwMDBGMEIyQjM3ODhCMDZCNjAwMTE3ODhCNzYwMDc4OENFNkRBCis6MTAxRTgwMDBGNDA0MDRBMkUwOTJCNDc4OENGNjAyMUUwN0U0OTBGQkZFCis6MTAxRTkwMDBGNkYwOTBGQkY1RTA3RDAwRkNFRDQ0Q0ZGRDEyMUMzQzFDCis6MTAxRUEwMDAxMjMxNjkyMjEyMzBFNkU1NzA2NDQ5NDU2RjYwMTU5MDgxCis6MTAxRUIwMDBGRjgzRTA1NDBGN0QwMEQzOTU3MEVEOTU2RjUwMDUxMkIwCis6MTAxRUMwMDAyRjJGODAwMzEyMkZGRjEyMzE2OTIyMTIzMEU2RTU3MEE2Cis6MTAxRUQwMDA2NDQ5NDU2RjYwMDUxMjMwMzk4MDBFOTBGRjgwRTA0NDAwCis6MTAxRUUwMDAwOEYwOTBGRjgzRTA1NDdGRjAxMjMxNjkyMjEyMzBFNjRGCis6MTAxRUYwMDA4QzU0RUM1NEYwQjQxMDE1NzU2QTM1NzU2OUZDNzU2ODJFCis6MTAxRjAwMDAwMUU1NkEyNDAzRjU2QUU1NjkzNDAwRjU2OUU0RjU1N0VCCis6MTAxRjEwMDBGNTU2RTU1NkMzOTQwMTUwMjdFNTU0NTQwRkZDQUQ2QUJECis6MTAxRjIwMDBBRTY5QUY2ODEyMEU3NzhDNTVFQzYwMDI4MDEyMDU2QUJDCis6MTAxRjMwMDBFNTZBNzAwMjA1NjkwNTU3RTU1NzcwMDIwNTU2ODBEMkJCCis6MTAxRjQwMDBFNTU0NTQwRjI0OURGOEM2NTRGRUY2RTU1NDU0MEY3RjEzCis6MTAxRjUwMDAwMEZFN0MxMjEyMzFGQkU1NTUxNDcwMDk3RDAwN0MwOUVFCis6MTAxRjYwMDAxMjI1MjY4MDA3QUQ1NzdDMDAxMjI1MjYxMjMxNjkyMkUyCis6MTAxRjcwMDAxMjMwRTY5MEZGRkNFMDQ0MDJGMDkwRkYwMEUwMzBFNzEyCis6MTAxRjgwMDAxMzkwRkY4M0UwNDQ4MEYwNDM2RDgwOTBGRkZDRTA0NEI5Cis6MTAxRjkwMDAwMUYwODAxMTkwRkY4MkUwNDQwOEYwNTM2RDdGOTBGRkM0Cis6MTAxRkEwMDBGQ0UwNTRGRUYwOTBGRjgxRTA0NDgwRjAxMjI1RDk5MENGCis6MTAxRkIwMDBGRkZFRTA0NDA1RjA5MEZGRkNFMDU0RkRGMDEyMzE2OUIzCis6MTAxRkMwMDAyMjEyMzBFNjdDMDExMjMyQTk3OEFERTY0NDAyRjY3NEEyCis6MTAxRkQwMDBGRUZDMDRGRDEyMUNBNzkwRkY1QUUwMzBFNzAyODBGN0Q4Cis6MTAxRkUwMDBFNEY1NEU3NTREMTBBQzRFQUQ0REU1NEUxNTRFNzAwMkZDCis6MTAxRkYwMDAxNTRERUM0RDYwMDI4MEVFNDM4NzAxMTIzMTY5MjIxMkNCCis6MTAyMDAwMDAzMEU2N0MwMjEyMzE3NTc4QURFNjU0RkRGNjEyMzE2OTg2Cis6MTAyMDEwMDAyMjEyMzBFNjc4QURFNjMwRTAyQzc4QURFNjMwRTEyNkVECis6MTAyMDIwMDA3OEFERTZGQ0Y1ODMxOEU2NDRGMEZEMTIxQzNDOTBGRjA5Cis6MTAyMDMwMDBGQ0UwNDQyMEYwN0MwMjEyMzJBOTc4QURFNjU0RkRGNkIzCis6MTAyMDQwMDA3NDFBOTBGRkZFRjA3OEFERTZGQ0Y1ODMxOEU2NDRGMUQzCis6MTAyMDUwMDBGRDEyMUMzQzEyMzE2OTIyNzU2RDAwOTBGRkZGRTA2MDlCCis6MTAyMDYwMDAwMzQzNkQwMTc1NkUwMEU0RjU2Q0Y1NkJFNEY1NkY3NTc3Cis6MTAyMDcwMDA3MDQ5NzQ4NDkwRkY4MkYwNzQ4NDkwRkY4MEYwNzQ4MEMzCis6MTAyMDgwMDA5MEZGNThGMDc0ODA5MEZGNUFGMEFENDZBRjQ1N0UwMDQ3Cis6MTAyMDkwMDBFRTI0RkU1MDAzMDIyMTI0RTRFRTc1RjAwN0E0MjQ3RjExCis6MTAyMEEwMDBGNTgyRTQzNEY4RjU4M0UwRkZFNEVGNTQ4MEZERTRFRkRCCis6MTAyMEIwMDA1NDBGMTRGRkVENjAzOEU0RUY3NUYwMDhBNDI0NDhGNUUwCis6MTAyMEMwMDA4MkU0MzRGRkY1ODM3NDkwRjBFNEVGNzVGMDA4QTQyNDAzCis6MTAyMEQwMDA0QUY1ODJFNDM0RkZGNTgzNzQ4MEYwRTRFRjc1RjAwODhDCis6MTAyMEUwMDBBNDI0NEVGNTgyRTQzNEZGRjU4Mzc0ODBGMDgwMzRFNDU4Cis6MTAyMEYwMDBFRjc1RjAwOEE0MjQwOEY1ODJFNDM0RkZGNTgzNzQ5MEFBCis6MTAyMTAwMDBGMEU0RUY3NUYwMDhBNDI0MEFGNTgyRTQzNEZGRjU4M0M3Cis6MTAyMTEwMDBFNEYwRTRFRjc1RjAwOEE0MjQwRUY1ODJFNDM0RkZGNTUyCis6MTAyMTIwMDA4M0U0RjAwRTAyMjA4RDhENDY4RTQ0OEY0NTc0N0Y5MDlGCis6MTAyMTMwMDBGRkZERjA3NDkwOTBGRkZDRjAyMjhDNThFQzI0RjY1MEQ4Cis6MTAyMTQwMDAwNkU1NTgyNDM3RkMyMkU1NTgyNDMwRkMyMjEyMjUyM0NBCis6MTAyMTUwMDBFQzcwMDMwMjIyNUU3NTVDMDNBRTVCN0YwMEU1NUMxNUVDCis6MTAyMTYwMDA1QzY0ODAyNDdGNTAzNUVGMjQwMEY1ODJFNDM0RkJGNTc1Cis6MTAyMTcwMDA4M0UwRkUyNEZFNTAxRUVGN0QwMEZDRTRGQjc0NzRDMzdDCis6MTAyMTgwMDA5Q0ZBRUI5REZCRUU3RDAwRkNFQUMzOUNFRDY0ODBDQkVBCis6MTAyMTkwMDA2NDgwOUI1MDAyODAwNUVGMkVGRjgwQzE4RTVCOEY1QUJBCis6MTAyMUEwMDBFNTVDNjQ4MDI0N0Y1MDAzMDIyMjVFRTU1QTI0OEU1MDUxCis6MTAyMUIwMDAwMzAyMjI1RTg1NUE1RDc1NUIwMEFFNUFBRjVCOTAzNUI3Cis6MTAyMUMwMDA5Q0U0OTNGNTVDRTU1QzE1NUM2NDgwMjQ3RjUwMThFRTFDCis6MTAyMUQwMDAyNDAwRjU4MkU0MzRGQkY1ODNFMEZDRUY5MDM1OUM5MzFBCis6MTAyMUUwMDA2QzcwMDQwRTBGODBERThFNUE4RjVCRTU1QzY0ODAyNDc5Cis6MTAyMUYwMDA3RjQwNkU3NTVFMDE3NTYwRTg3NTVGRkZFNTVEMjQwMkU2Cis6MTAyMjAwMDBGNTVBNzU1QzA3RTU1QzMzNDA1N0FENjBBRTVGQUY1RTc1Cis6MTAyMjEwMDBFNTVDRjU4MjMzOTVFMEY1ODMxMjAxRUNDNDU0MEZGQ0M0Cis6MTAyMjIwMDAxMjIxMzdFNTVBMjQwMEY1ODJFNDM0RkJGNTgzRUNGMDAzCis6MTAyMjMwMDAwNTVBMDU1QUFENjBBRTVGQUY1RUU1NUNGNTgyMzM5NTM5Cis6MTAyMjQwMDBFMEY1ODMxMjAxRUM1NDBGRkMxMjIxMzdFNTVBMjQwMDBCCis6MTAyMjUwMDBGNTgyRTQzNEZCRjU4M0VDRjAwNTVBMDU1QTE1NUM4MEYxCis6MTAyMjYwMDBBNDc0MDI5MEY4NTFGMDkwRjg2Qjc5NzU3QTM1N0IyNzU5Cis6MTAyMjcwMDA3ODAxMTIwM0Y1NzU2QTM1NzU2OUZDNzU2ODAxRTQ5MDlCCis6MTAyMjgwMDBGRjgzRjA3NDgwOTBGRjgxRjA3NTU5MDJFNTU5NzVGMDc1Cis6MTAyMjkwMDAwN0E0MjQ3RkY1ODJFNDM0RjhGNTgzRTA3ODhGRjZGQzE4Cis6MTAyMkEwMDA1NDBGMTRGQzc4OEZFQ0Y2RTU1OTc1RjAwN0E0MjQ4MURGCis6MTAyMkIwMDBGNTgyRTQzNEY4RjU4M0UwNzg5Mjc2RkQwODc2RThGQzYwCis6MTAyMkMwMDA3ODhGRTY3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4MzlFCis6MTAyMkQwMDBFNEYwNzg4RkU2NzVGMDA4QTQyNDRGRjU4MkU0MzRGRjJCCis6MTAyMkUwMDBGNTgzRUNGMDc4OTJFNkZGMDhFNjdFMDNDRkMzMTNDRkM4Cis6MTAyMkYwMDAxM0RFRjlGRTc4OEZFNjc1RjAwOEE0MjQ0OUY1ODJFNDMwCis6MTAyMzAwMDAzNEZGRjU4M0VFRjA3ODhGRTY3NUYwMDhBNDI0NEFGNUUzCis6MTAyMzEwMDA4MkU0MzRGRkY1ODM3NDgwRjA3ODkwRUNGNjdEMDA3OEU5Cis6MTAyMzIwMDA5M0U2MkNGNjE4RTYzREY2Nzg5MkU2RkQwOEU2N0MwMzg3Cis6MTAyMzMwMDBDREMzMTNDRDEzRENGOUZDNzg4RkU2NzVGMDA4QTQyNDI3Cis6MTAyMzQwMDA0REY1ODJFNDM0RkZGNTgzRUNGMDc4OEZFNjc1RjAwODA0Cis6MTAyMzUwMDBBNDI0NEVGNTgyRTQzNEZGRjU4M0U0RjA3ODkyRTZGREEwCis6MTAyMzYwMDAwOEU2RkM3ODhGRTZGRjdFMDBFRTI0RkU1MDAzMDIyNDkwCis6MTAyMzcwMDBEREU0RUU3NUYwMDdBNDI0N0ZGNTgyRTQzNEY4RjU4M0ZDCis6MTAyMzgwMDBFMEZGRTRFRjU0ODBGQUU0RUY1NDBGMTRGRkU0RUU3NTNECis6MTAyMzkwMDBGMDA3QTQyNDgxRjU4MkU0MzRGOEY1ODNFMDc4OTBGNjIwCis6MTAyM0EwMDBFNEVFMTMxMzU0ODAyNEYwRjhFNDM0RkRGOUU4RkNFOTdBCis6MTAyM0IwMDBGRDhBNUFFQTcwMDMwMjI0NEFFNEVGNzVGMDA4QTQyNDY3Cis6MTAyM0MwMDA0OEY1ODJFNDM0RkZGNTgzRTRGMDc4OTBFNkZBRTRFRjMwCis6MTAyM0QwMDA3NUYwMDhBNDI0NEZGNTgyRTQzNEZGRjU4M0VBRjBFREFDCis6MTAyM0UwMDBGQkVDN0EwM0NCQzMxM0NCMTNEQUY5RkFFNEVGNzVGMDA1Cis6MTAyM0YwMDAwOEE0MjQ0OUY1ODJFNDM0RkZGNTgzRUFGMDc4OTBFNkY2Cis6MTAyNDAwMDA3QjAwRkFFQzJBRkNFRDNCRkRGQkVDN0EwM0NCQzMxMzFCCis6MTAyNDEwMDBDQjEzREFGOUZBRTRFRjc1RjAwOEE0MjQ0REY1ODJFNDYxCis6MTAyNDIwMDAzNEZGRjU4M0VBRjBFNEVGNzVGMDA4QTQyNDRBRjU4MjVFCis6MTAyNDMwMDBFNDM0RkZGNTgzNzQ4MEYwRTRFRjc1RjAwOEE0MjQ0RUQzCis6MTAyNDQwMDBGNTgyRTQzNEZGRjU4Mzc0ODBGMDAyMjREOUU0RUY3NTVCCis6MTAyNDUwMDBGMDA4QTQyNDA4RjU4MkU0MzRGRkY1ODNFNEYwNzg5MEQyCis6MTAyNDYwMDBFNkZBRTRFRjc1RjAwOEE0MjQwRkY1ODJFNDM0RkZGNUYyCis6MTAyNDcwMDA4M0VBRjBFREZCRUM3QTAzQ0JDMzEzQ0IxM0RBRjlGQTYyCis6MTAyNDgwMDBFNEVGNzVGMDA4QTQyNDA5RjU4MkU0MzRGRkY1ODNFQTRCCis6MTAyNDkwMDBGMDc4OTBFNjdCMDBGQUVDMkFGQ0VEM0JGREZCRUM3QTUxCis6MTAyNEEwMDAwM0NCQzMxM0NCMTNEQUY5RkFFNEVGNzVGMDA4QTQyNEQ1Cis6MTAyNEIwMDAwREY1ODJFNDM0RkZGNTgzRUFGMEU0RUY3NUYwMDhBNDRCCis6MTAyNEMwMDAyNDBBRjU4MkU0MzRGRkY1ODNFNEYwRTRFRjc1RjAwOEM0Cis6MTAyNEQwMDBBNDI0MEVGNTgyRTQzNEZGRjU4M0U0RjAwRTAyMjM2NkIzCis6MTAyNEUwMDA4RTU5Nzg5MkVERjYwOEVDRjY3ODhGRUZGNjEyMjA1NUJCCis6MTAyNEYwMDAyMjhDMjZFQzMwRTcxOEU1MjY1NDBGMTQ3NUYwMDhBNDVBCis6MTAyNTAwMDAyNDQ4RjU4MkU0MzRGRkY1ODNFMDU0REZGMDgwMTZFNURCCis6MTAyNTEwMDAyNjU0MEYxNDc1RjAwOEE0MjQwOEY1ODJFNDM0RkZGNTVFCis6MTAyNTIwMDA4M0UwNTRERkYwMjI3QzAwMjJFQzkwRkMzN0YwOEMyNDE2Cis6MTAyNTMwMDBFRDI0MDNGNTI1N0QwMEQzOTU3MkVEOTU3MTQwMDM4NTVCCis6MTAyNTQwMDA3MjI1RTUyNTI0Qjc1MDA5NzUyNTAzNzQwMjkwRkMzN0UwCis6MTAyNTUwMDBGMEFDMjUxMjMwMjQyMkU0RjU2Q0Y1NkIxMjI1NUQyMkQ3Cis6MTAyNTYwMDA5MEZDMzVFMDY1NzM2MDBFNzQwNDkwRkMzN0YwRTRGNTgwCis6MTAyNTcwMDA2Qjc1NkMwMzgwNDY3RDczRTRGRUZGNzkzNTdBRkM3QkQ2Cis6MTAyNTgwMDAwMTc0MDU3ODAwMTIwMzNGRTU2QzI0MDNGNTZDRTU2QkRDCis6MTAyNTkwMDAzNDAwRjU2QkU1NkNEMzk1NzJFNTZCOTU3MTQwMDY4NTVCCis6MTAyNUEwMDA3MjZDODU3MTZCRDNFNTZDOTQ0OEU1NkI5NDAwNDAwQ0JDCis6MTAyNUIwMDA3NDAyOTBGQzM3RjBFNEY1NkI3NTZDMDNBQzZDMTIzMDcwCis6MTAyNUMwMDAyNDIyRUM5MEZDMzdGMEU0RjU2Q0Y1NkI4QzMyRUM2MDc3Cis6MTAyNUQwMDAwNTEyMzAxNTgwMDU3QzAwMTIzMDI0MjI5MEZGOTNFMDE0Cis6MTAyNUUwMDA0NDAxRjBCMkIzOTBGRjA0RTBGNTRBOTBGRjA2RTBGRDJECis6MTAyNUYwMDBBM0UwRUQ3RDAwRkM3RDAwRkM5MEZGMDZFMEZGQTNFMDgyCis6MTAyNjAwMDA3RTAwRkZFNEZFRUM0RUZDRUQ0RkZEQzNFQzk0NDhFRDg0Cis6MTAyNjEwMDA5NDAwNTAyMjkwRkYwNkUwRkRBM0UwRUQ3RDAwRkM3RERDCis6MTAyNjIwMDAwMEZDOTBGRjA2RTBGRkEzRTA3RTAwRkZFNEZFRUM0RTFFCis6MTAyNjMwMDBGQ0VENEZGRDgwMDRFNEZEN0M0ODhDNzI4RDcxOTBGRkIxCis6MTAyNjQwMDAwMkUwRkRBM0UwRUQ3RDAwRkM3RDAwRkM5MEZGMDJFMEQ4Cis6MTAyNjUwMDBGRkEzRTA3RTAwRkZFNEZFRUM0RUY1NENFRDRGRjU0QkEyCis6MTAyNjYwMDA3NTZBMzU3NTY5RkM3NTY4MDE3RDM1N0VGQzdGMDE3OTc5Cis6MTAyNjcwMDA3M0U0RkFGQjc0MDU3ODAwMTIwMzNGNzU0OTAwRTU0OURECis6MTAyNjgwMDAyNEZFNDAxOUFENkFBRTY5QUY2OEU0MTIwMzBGMDU0OTM0Cis6MTAyNjkwMDAwREVENzAwMTBFOEQ2QThFNjk4RjY4ODBFMTc1NkEzNTY3Cis6MTAyNkEwMDA3NTY5RkM3NTY4MDE5MEZGMDBFMDU0NjBCNDAwMDI4MDE5Cis6MTAyNkIwMDAwNkQzNTAwMzAyMkM2REU1NEE1NDBGRjU0OUU1NEE1NDAwCis6MTAyNkMwMDA4MEEyRTA5MjAyOTBGRjAxRTAxMjAxODEwMDBCMkM2OEQxCis6MTAyNkQwMDAyNkU1MjgwMzJDNjgyOTBGMkM2ODI5RjIyQTI2MkI4RDQxCis6MTAyNkUwMDAyQjkwMkJEMDJDMTEyQzNGRTU2RDMwRTcwRUU1NEM0NTlGCis6MTAyNkYwMDA0QjcwMDhFNTcyNjQwMjQ1NzE2MDAzMDIyQzZBOTBGRjFBCis6MTAyNzAwMDAwMEUwNTQxRkI0MDAwMjgwMDNEMzQwMjlFNTRBNjAwMzZGCis6MTAyNzEwMDAwMjI4MDBBRDZBQUU2OUFGNjg3NDAxMTIwMzBGNzhBRDhDCis6MTAyNzIwMDBFNjMwRTAwQkFENkFBRTY5QUY2ODc0MDIxMjAzMEY3QzRECis6MTAyNzMwMDAwMjEyMzAyNDIyQjQwMTAyODAwM0QzNDAxQkU1NkQyMDM1Cis6MTAyNzQwMDBFMTA3RTU0QTYwMDMwMjI4MDBFNTRBMjRGRTUwMDMwMjNGCis6MTAyNzUwMDAyODAwN0MwMjEyMzAyNDIyQjQwMjAyODAwNkQzNTAwM0U3Cis6MTAyNzYwMDAwMjI3RkVFNTZEMjBFMTBERTU0QTYwMDlFNTRBNjQ4MDM3Cis6MTAyNzcwMDA2MDAzMDIyODAwQUM0QTEyMzBBQjQwMDMwMjI4MDBFNTk3Cis6MTAyNzgwMDA0OTcwMjUzMDAyMTE5MEZGODBFMDU0MDhBRDZBQUU2OUFGCis6MTAyNzkwMDBBRjY4MTIwMzBGODAwRjkwRkY4MkUwNTQwOEFENkFBRTVECis6MTAyN0EwMDA2OUFGNjgxMjAzMEY4MDNEMTU0OTMwMDIxREU1NDk3NTc4Cis6MTAyN0IwMDBGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODNFMDU0MDhBRDIyCis6MTAyN0MwMDA2QUFFNjlBRjY4MTIwMzBGODAxQkU1NDk3NUYwMDhBNDczCis6MTAyN0QwMDAyNDA4RjU4MkU0MzRGRkY1ODNFMDU0MDhBRDZBQUU2OTVECis6MTAyN0UwMDBBRjY4MTIwMzBGQUQ2QUFFNjlBRjY4MTIwMUU2NjAwQjA1Cis6MTAyN0YwMDBBRDZBQUU2OUFGNjg3NDAxMTIwMzBGN0MwMjEyMzAyNDE3Cis6MTAyODAwMDAyMjgwMDAwMjJDNkFFNTZEMjBFNzA2RTU3MjQ1NzE2MEMyCis6MTAyODEwMDAwMzAyMkM2QTkwRkYwMEUwNTQxRkI0MDAwMjgwMDNEMzJGCis6MTAyODIwMDA0MDFBRTU0QzE0NDU0QjcwMDRFNTRBNjAwMzAyMjkwQzNDCis6MTAyODMwMDA3OEFERTY1NEZFRjY3QzAwMTIzMDI0MjJCNDAxMDI4MDBBCis6MTAyODQwMDAwM0QzNDAyQUU1NkQyMEUxMDhFNTZEMjBFMDAzMDIyOTZECis6MTAyODUwMDAwQ0U1NkQzMEUwMDRFNTRBNzAwQkU1NkQzMEUxMDlFNTBCCis6MTAyODYwMDA0QTI0RkU1MDAzMDIyOTBDN0MwMDEyMzAyNDIyQjQwMkI4Cis6MTAyODcwMDAwMjgwMDZEMzUwMDMwMjI5MEFFNTRDNDU0QjYwMDMwMjRGCis6MTAyODgwMDAyOTBDQUM0QTEyMzBBQjQwMDMwMjI5MENFNTZEMjBFMTYzCis6MTAyODkwMDAwN0U1NkQyMEUwMDI4MDc3RTU2RDMwRTAwNkU1NDk2MEYwCis6MTAyOEEwMDAwMjgwNkNFNTQ5NzAwRjkwRkY4MkUwNTRGN0YwOTBGRkQyCis6MTAyOEIwMDA4MEUwNTRGN0YwMjJFNTQ5QjQwMTAyODAwM0QzNDAwOUQ3Cis6MTAyOEMwMDA3RDAxN0MwMzEyMEYwOTgwMTFCNDAyMDI4MDAzRDM0MDAyCis6MTAyOEQwMDAwOTdEMDE3QzA0MTIwRjA5ODAwMDE1NDkzMDAyMTVFNUJECis6MTAyOEUwMDA0OTc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzRTA1NEU4Cis6MTAyOEYwMDBGN0YwODAxM0U1NDk3NUYwMDhBNDI0MDhGNTgyRTQzNDY0Cis6MTAyOTAwMDBGRkY1ODNFMDU0RjdGMDdDMDAxMjMwMjQyMjgwMDAwMkFGCis6MTAyOTEwMDAyQzZBRTU2RDIwRTcwNkU1NzI0NTcxNjAwMzAyMkM2QUJBCis6MTAyOTIwMDA5MEZGMDBFMDU0MUZCNDAwMDI4MDAzRDM0MDFBRTU0QzJFCis6MTAyOTMwMDAxNDQ1NEI3MDA0RTU0QTYwMDMwMjI5RUY3OEFERTY0NDg0Cis6MTAyOTQwMDAwMUY2N0MwMDEyMzAyNDIyQjQwMTAyODAwM0QzNDAyOTE2Cis6MTAyOTUwMDBFNTZEMjBFMTA4RTU2RDIwRTAwMzAyMjlFRkU1NkQzMDJCCis6MTAyOTYwMDBFMDA0RTU0OTcwMEJFNTZEMzBFMTA4RTU0OTI0RkU1MENGCis6MTAyOTcwMDAwMjgwN0Y3QzAwMTIzMDI0MjJCNDAyMDI4MDAzRDM0MDA0Cis6MTAyOTgwMDA2RkU1NEM0NTRCNjAwMjgwNjlBQzRBMTIzMEFCNDAwMkE3Cis6MTAyOTkwMDA4MDYwRTU2RDIwRTEwN0U1NkQyMEUwMDI4MDU0RTU0OUE3Cis6MTAyOUEwMDA3MDE0MzAwMjA5OTBGRjgwRTA0NDA4RjA4MDA3OTBGRjI3Cis6MTAyOUIwMDA4MkUwNDQwOEYwMjJFNTZEMzBFMTMzMTU0OTMwMDIxNTFDCis6MTAyOUMwMDBFNTQ5NzVGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODNFMDc2Cis6MTAyOUQwMDA0NDA4RjA4MDEzRTU0OTc1RjAwOEE0MjQwOEY1ODJFNDYyCis6MTAyOUUwMDAzNEZGRjU4M0UwNDQwOEYwN0MwMDEyMzAyNDIyODAwMjlBCis6MTAyOUYwMDA4MDAwMDIyQzZBRTU2RDIwRTcxMkU1NzI0NTcxNzAwQ0NCCis6MTAyQTAwMDBFNTRBNzAwODkwRkYwMEUwNTQxRjYwMDMwMjJDNkFFNTVECis6MTAyQTEwMDA0QzkwRkZGRkYwOTBGRkZGRTA2MDA1NDM2RDAxODAwM0U1Cis6MTAyQTIwMDA1MzZERkU3QzAwMTIzMDI0MjJFNTZEMzBFNzBFRTU3MjE2Cis6MTAyQTMwMDA0NTcxNjAwODkwRkYwMEUwNTQxRjYwMDMwMjJDNkFBREVFCis6MTAyQTQwMDA0QkU1NENFRDdEMDBGQzdEMDBGQ0JEMDAwMjgwMDMwMkU3Cis6MTAyQTUwMDAyQjg4QjQwMTAyODAwM0QzNDAzMkU1NEE3MDA1RTU0QzZGCis6MTAyQTYwMDBGQzYwMDMwMjJCOEE3NTZBNDA3NTY5Rjg3NTY4MDFEM0FBCis6MTAyQTcwMDBFNTcyOTQxMkU1NzE5NDAwNDAwNkU0RkQ3QzEyODAwNDM2Cis6MTAyQTgwMDBBQzcyQUQ3MThDNzA4RDZGMTIzMDM5MjJCNDAyMDI4MDNECis6MTAyQTkwMDAwM0QzNDA1OUU1NEE2MDAzMDIyQjhBRTU0Q0ZDNzAyN0JBCis6MTAyQUEwMDA3NTZBNTI3NTY5Rjg3NTY4MDFEM0U1NzI5NDE5RTU3MTE0Cis6MTAyQUIwMDA5NDAwNDAwNkU0RkQ3QzE5ODAwNEFDNzJBRDcxOEM3MDBBCis6MTAyQUMwMDA4RDZGMTIzMDM5ODAyNTc1NkE2Qjc1NjlGODc1NjgwMUVDCis6MTAyQUQwMDBEM0U1NzI5NDI3RTU3MTk0MDA0MDA2RTRGRDdDMjc4MERECis6MTAyQUUwMDAwNEFDNzJBRDcxOEM3MDhENkYxMjMwMzkyMkI0MDMwMjU4Cis6MTAyQUYwMDA4MDA2RDM1MDAzMDIyQjg4RTU0Q0Y1NDk3MDBGOTBGRkY4Cis6MTAyQjAwMDAwNEUwRkRBM0UwNEQ2MDAzMDIyQjhBODAxODkwRkIwMkQ1Cis6MTAyQjEwMDBFMEZEQTNFMEZDOTBGRjA1RTA2QzcwMDc5MEZGMDRFMDhGCis6MTAyQjIwMDA2RDYwMDI4MDY4RTRGNTcwRjU2RjdGMDBFNTQ5MTRDNUJCCis6MTAyQjMwMDA0OTYwMEZFRjI0MDBGNTgyRTQzNEZCRjU4M0UwMkZGRkJBCis6MTAyQjQwMDA4MEVBOEY0QUU1NEEyNDAwRjU4MkU0MzRGQkY1ODNFMDBECis6MTAyQjUwMDA3RDAwRDM5NTcyRUQ5NTcxNDAwNkFDNzJBRDcxODAwRjFBCis6MTAyQjYwMDBFNTRBMjQwMEY1ODJFNDM0RkJGNTgzRTA3RDAwRkM4QzJCCis6MTAyQjcwMDA3MDhENkZFNTRBMjQwMEZDRTQzNEZCRkRGRUVDRkQ3RjI0Cis6MTAyQjgwMDAwMThENkE4RTY5OEY2ODEyMzAzOTIyODAwMDAyMkM2QUFBCis6MTAyQjkwMDAwMjJDNkFFNTZEMzBFNzE5RTU3MjE0NDU3MTcwMTJFNTkzCis6MTAyQkEwMDA0QTcwMEVFNTRDNDU0QjcwMDg5MEZGMDBFMDU0MUY2MEUyCis6MTAyQkIwMDAwMzAyMkM2QUU1NkQyMEUwMDhFNTZEMjBFMTAzMDIyQzlDCis6MTAyQkMwMDA2QTc1NkE2RUU0RjU2OUY1NjhFNEY1NkYwNEY1NzAxMkVDCis6MTAyQkQwMDAzMDM5MjJFNTZEMjBFNzEyRTU3MjQ1NzE3MDBDRTU0QTQ3Cis6MTAyQkUwMDA3MDA4OTBGRjAwRTA1NDFGNjAwMzAyMkM2QUU1NkQyMDFFCis6MTAyQkYwMDBFMDA3RTU2RDIwRTEwMjgwNzQ4NTRDNkVFNTZFNzAwODlCCis6MTAyQzAwMDA0MzZEMDE1MzZERkQ4MDA2NTM2REZFNDM2RDAyN0MwMEU0Cis6MTAyQzEwMDAxMjMwMjQyMkU1NkQzMEU3MUFFNTcyMTQ0NTcxNzAxMzA1Cis6MTAyQzIwMDBFNTRBNzAwRkU1NEM0NTRCNzAwOTkwRkYwMEUwNTQxRkRBCis6MTAyQzMwMDAxNDYwMDI4MDM4RTU2RDIwRTEwMjgwMzE3QzAxMTIzMEExCis6MTAyQzQwMDAyNDIyRTU2RDIwRTcxNUU1NzI0NTcxNzAwRkU1NEM0NUNFCis6MTAyQzUwMDA0QjcwMDk5MEZGMDBFMDU0MUYxNDYwMDI4MDBGRTU2RDc3Cis6MTAyQzYwMDAyMEUxMDI4MDA4N0MwMDEyMzAyNDIyODAwMDAyMkYyQkY5Cis6MTAyQzcwMDBCNDQwMDI4MDA2RDM1MDAzMDIyRjIxOTBGRjAxRTA5MDYwCis6MTAyQzgwMDBGQzM1RjBFNTRBOTBGQzM2RjBFNDkwRkMzN0YwRTU2QTVDCis6MTAyQzkwMDAyNDAzRjU2QUU1NjkzNDAwRjU2OUFENEJFNTRDODU2QUI2Cis6MTAyQ0EwMDA4Mjg1Njk4M0NERjBBM0NERjA5MEZGMDFFMDEyMDFCN0RBCis6MTAyQ0IwMDAyQ0Q4MDEyQ0ZFMDIyRDI4MDMyRDUyMDQyREEwMDUyRDA5Cis6MTAyQ0MwMDBERDA2MkUwMzA3MkUyOTA4MkU1NTA5MkU3QjBCMkVBMTdCCis6MTAyQ0QwMDAwQzJFQjA4MDJFQjA4MTAwMDAyRjBFRTU2RDIwRTcwNjhGCis6MTAyQ0UwMDA3QzA1MTIyNUJGMjI3RDI0N0UzNTdGMDI3OTM4N0FGQzRGCis6MTAyQ0YwMDA3QjAxNzQwODc4MDAxMjAzM0Y3RDA4N0MwMDEyMjUyNkIyCis6MTAyRDAwMDAyMkU1NkQyMEU3MDY3QzA1MTIyNUJGMjJFNTRBQjQwM0MzCis6MTAyRDEwMDAwMDQwMTBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTAxMjA1Cis6MTAyRDIwMDAzMUZCMjI3RDAwN0MwNzEyMjUyNjIyRTU2RDIwRTcwNjc3Cis6MTAyRDMwMDA3QzA1MTIyNUJGMjJFNTRBQjQwMzAwNDAxMEI0MDUwMDBCCis6MTAyRDQwMDA1MDBCRTU0QTdGMDBGRTdDMTExMjMxRkIyMjdEMDA3Qzk2Cis6MTAyRDUwMDAwNzEyMjUyNjIyRTU2RDIwRTcwNjdDMDUxMjI1QkYyMkY1Cis6MTAyRDYwMDBFNTRBQjQwNTAyODAwM0QzNDAwQUU0RkYwNEZFN0MwQTZFCis6MTAyRDcwMDAxMjMxRkIyMkI0MDEwMjgwMDNEMzQwMEFFNEZGMDRGRUI3Cis6MTAyRDgwMDA3QzA4MTIzMUZCMjJCNDAzMDA0MDEwQjQwNTAwNTAwQjQ0Cis6MTAyRDkwMDBFNTRBN0YwMEZFN0MxMzEyMzFGQjIyN0QwMDdDMDcxMjg2Cis6MTAyREEwMDAyNTI2MjJFNTZEMjBFNzM0RDNFNTcyOTQ0OEU1NzE5NDM5Cis6MTAyREIwMDAwMDUwMDZFNTcyNDU3MTcwMDY3QzAyMTIyNUJGMjJFNUJGCis6MTAyREMwMDA0QUI0MDEwM0IzNDAwQkMzQjQwMzAwNDAwOUI0MDYwMDg2Cis6MTAyREQwMDA1MDA0MTIzMEQxMjI3QzA3MTIyNUJGMjIxMjI1NUQyMjE5Cis6MTAyREUwMDBFNTZEMjBFNzFERTU0QUI0MDMwMDQwMTBCNDA1MDA1MDJFCis6MTAyREYwMDAwQkU1NEE3RjAwRkU3QzE2MTIzMUZCMjI3QzA3MTIyNTcwCis6MTAyRTAwMDBCRjIyMTIyNTVEMjJFNTZEMjBFNzFERTU0QUI0MDMwMENGCis6MTAyRTEwMDA0MDEwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzE5MTIzMUNBCis6MTAyRTIwMDBGQjIyN0MwNzEyMjVCRjIyMTIyNTVEMjJFNTZEMjBFN0RCCis6MTAyRTMwMDAyMzc0ODE5MEZGOTNGMEU1NEFCNDAzMDA0MDEwQjQwNTc5Cis6MTAyRTQwMDAwMDUwMEJFNTRBN0YwMEZFN0MxNzEyMzFGQjIyN0MwNzA1Cis6MTAyRTUwMDAxMjI1QkYyMjEyMjU1RDIyRTU2RDIwRTcxREU1NEFCNDRCCis6MTAyRTYwMDAwMzAwNDAxMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxOEJCCis6MTAyRTcwMDAxMjMxRkIyMjdDMDcxMjI1QkYyMjEyMjU1RDIyRTU2RDRGCis6MTAyRTgwMDAyMEU3MURFNTRBQjQwMzAwNDAxMEI0MDUwMDUwMEJFNUVGCis6MTAyRTkwMDA0QTdGMDBGRTdDMTUxMjMxRkIyMjdDMDcxMjI1QkYyMkRGCis6MTAyRUEwMDAxMjI1NUQyMkU1NkQyMEU3MDY3QzA3MTIyNUJGMjIxMjYwCis6MTAyRUIwMDAyNTVEMjJFNTZEMzBFNzIwOTBGRjAwRTA1NDFGNzAxMDgzCis6MTAyRUMwMDA5MEZGMDFFMEI0ODAwNTEyMjU1NDgwMDMxMjI1NUQyMjk1Cis6MTAyRUQwMDA3RDAwN0MwNTEyMjUyNjIyOTBGRjAwRTA1NDFGNjAwNjJECis6MTAyRUUwMDA3QzA1MTIyNUJGMjJEM0U1NzI5NDQ4RTU3MTk0MDA1MDA5Cis6MTAyRUYwMDAwQkMzRTU3Mjk0MDdFNTcxOTQwMDUwMDY3QzAzMTIyNTFDCis6MTAyRjAwMDBCRjIyRTU0QUI0MDUwNDEyMzBEMTIyN0MwNzEyMjVCRjQ2Cis6MTAyRjEwMDAyMkU1NkQzMEU3MDg3RDAwN0MwNTEyMjUyNjIyN0MwNTIwCis6MTAyRjIwMDAxMjI1QkYyMkI0MjAwMjgwMDNEMzQwMDA4MDAwMTIyRjVDCis6MTAyRjMwMDBGRjIyNzU0MzAwOTBGRjgzRTA1NDBGRDM5NTQzNDAyNDU0Cis6MTAyRjQwMDBFNTQzMjRGMEY1ODJFNDM0RkVGNTgzRTBBRDZBQUU2OTMyCis6MTAyRjUwMDBBRjY4MTIwMzBGMDU0MzBERUQ3MDAxMEU4RDZBOEU2OTg3Cis6MTAyRjYwMDA4RjY4ODBEMUU1NDM3RDAwRkNDM0U1NzA5Q0Y1NzBFNTdBCis6MTAyRjcwMDA2RjlERjU2RkU1NzA0NTZGNjAwNkU0OTBGRjgzRjAyMjZBCis6MTAyRjgwMDA5MEZGODJFMDQ0MDhGMEU0RjU2Rjc1NzA0OTkwRkMzNURECis6MTAyRjkwMDBFMEI0MDUwMjgwMDNEMzQwNDA5MEZDMzZFMEY1NDNCNDMyCis6MTAyRkEwMDAwNTAyODAwM0QzNDAwQUU0RkYwNEZFN0MwQjEyMzFGQkQwCis6MTAyRkIwMDAyMkI0MDEwMjgwMDNEMzQwMEFFNEZGMDRGRTdDMDkxMjFDCis6MTAyRkMwMDAzMUZCMjJCNDAzMDA0MDEwQjQwNTAwNTAwQkU1NDM3RkYxCis6MTAyRkQwMDAwMEZFN0MxNDEyMzFGQjIyMjJCNDgwMDA0MDIzQjQ4MjE0Cis6MTAyRkUwMDAwMDUwMUU3QzM1N0RGQzEyMTc3RTdEMDA4QzZDOEQ2QjM1Cis6MTAyRkYwMDA5MEZDMzdFMDYwMDUxMjJGRkY4MDA1N0MwMDEyMzAyNDIyCis6MTAzMDAwMDAyMjIyOTBGRjgzRTA1NDdGRjA5MEZGODJFMDQ0MDhGMDlBCis6MTAzMDEwMDA5MEZGODBFMDQ0MDhGMDIyOTBGRjgyRTA0NDA4RjA5MEE2Cis6MTAzMDIwMDBGRjgwRTA0NDA4RjAyMjhDMjM3RDAwOEM3MDhENkY3NTRBCis6MTAzMDMwMDA2QTM1NzU2OUZDNzU2ODAxMTIzMDM5MjI5MEZGODNFMEFBCis6MTAzMDQwMDA1NDdGRjBFNTcwNjQ0OTQ1NkY3MDAxMjJDM0U1NzA5NEM4Cis6MTAzMDUwMDAwOEU1NkY5NDAwNDAxNTc1MjEwOEU1MjE3RDAwRkNDMzRCCis6MTAzMDYwMDBFNTcwOUNGNTcwRTU2RjlERjU2RjgwMDk4NTcwMjFFNDMyCis6MTAzMDcwMDBGNTZGNzU3MDQ5NzUyMjAwRTUyMkMzOTUyMTUwMjZBRDg0Cis6MTAzMDgwMDA2QUFFNjlBRjY4MTIwMUU2RkNFNTIyMjRGOEY1ODJFNDM1Cis6MTAzMDkwMDAzNEZFRjU4M0VDRjAwNTIyMERFRDcwMDEwRThENkE4RTg1Cis6MTAzMEEwMDA2OThGNjg4MEQzRTUyMTU0N0Y5MEZGODFGMDIyOEM0ODlFCis6MTAzMEIwMDA3RjAwRUYyNEZENDAxOUU0RUY3NUYwMDdBNDI0N0ZGNUFECis6MTAzMEMwMDA4MkU0MzRGOEY1ODNFMDY1NDg3MDAyRDMyMjBGODBFMjkxCis6MTAzMEQwMDA4RjQ3QzMyMjg1NzI3MDg1NzE2RjkwRkY4MkUwNTRGNzJECis6MTAzMEUwMDBGMDkwRkY4M0UwNTQ3RkYwMjJDMDAwQzAwMUMwMDJDMDE2Cis6MTAzMEYwMDAwNkMwMDdFNTc4MjQwOEY4ODYwNjUzMDY3RjdDRkYxMjkxCis6MTAzMTAwMDAzMTVCN0MwMDdEMDBFNTdCNjA0NkZGOTBGRDk1RTA1NERGCis6MTAzMTEwMDA3RjZFNzAwRkMwODNDMDgyQTNFMEZEQTNFMEZDQTMxNTA3Cis6MTAzMTIwMDA3QjgwMDdBM0EzQTNERkU2ODAyNkRGMDZEMDgyRDA4M0JGCis6MTAzMTMwMDA4MDFFRTBGOEEzRTBGOUEzRTBGQUQwODJEMDgzRThGMEEzCis6MTAzMTQwMDBBM0U5RjBBM0VBRjBBM0MwODNDMDgyQTNBM0EzODBEQTFCCis6MTAzMTUwMDAxMjMxRjREMDA3RDAwNkQwMDJEMDAxRDAwMDIyODVBOEM5Cis6MTAzMTYwMDA3QTc1QTg4OEVDNzAwMjdDM0Y4Qzc5MjJFNTc4MjQwODc3Cis6MTAzMTcwMDBGODc2MDAxMjMyNDg4MEZCQzAwMEMwMDFDMDAyQzAwNkQxCis6MTAzMTgwMDBDMDA3QUUwNDdDRkYxMjMxNUJFNTdCNjA0MkZGOTBGRDFGCis6MTAzMTkwMDA5NUUwNTQ3RjZFNzAwQkMwODNDMDgyQTNBM0EzMTU3QjAwCis6MTAzMUEwMDA4MDA3QTNBM0EzREZFQTgwMjZERjA2RDA4MkQwODM4MDM2Cis6MTAzMUIwMDBEOEUwRjhBM0UwRjlBM0UwRkFEMDgyRDA4M0U4RjBBMzQ2Cis6MTAzMUMwMDBFOUYwQTNFQUYwQTNDMDgzQzA4MkEzQTNBMzgwREE3OEM2Cis6MTAzMUQwMDAwODA4NzkxODA5N0MwMUU2NTQ3RjZFNzAwNjc2MDA3NzNFCis6MTAzMUUwMDAwMDgwMDYwODA5MENCQzA4RUUxMjMxRjREMDA3RDAwNkE2Cis6MTAzMUYwMDBEMDAyRDAwMUQwMDAyMjc1NzkwMDg1N0FBODIyQzBGMEQzCis6MTAzMjAwMDBDMDgyQzA4M0MzRTU3QjI0RTg1MDA1MTIzMjQ4ODBGNEI1Cis6MTAzMjEwMDBFQzYwMzE5MDM1MjNFNDkzQzM5QzQwMjhDMDA0N0NGRkNDCis6MTAzMjIwMDAxMjMxNUJEMDA0NDMwNDgwRTU3Qjc1RjAwM0E0MjQ5NTQwCis6MTAzMjMwMDBGNTgyRTQzNEZERjU4M0VDRjBFRkEzRjBFRUEzRjAwNUE2Cis6MTAzMjQwMDA3QjEyMzFGNEQwODNEMDgyRDBGMDIyQzAwNDdDMjBEMjEzCis6MTAzMjUwMDA4Q0QyOERENTA0RkREMDA0MjI3NUE4MDA3NTg4MDA3NTI4Cis6MTAzMjYwMDBCODAwNzVGMDAwNzVEMDAwRTRGODkwMDAwMEY2MDhCOERBCis6MTAzMjcwMDAwMEZCMDIwMDAwQzNFRDk0MDI1MDA0N0QwMzdDRThFQ0U3Cis6MTAzMjgwMDBGNEZDRURGNEZEMENCQzAwMDEwRDhDN0Y4RDdFMjJDMzlGCis6MTAzMjkwMDBFQzk0QkNFRDk0MDI1MDA0N0QwNzdDRDBFQ0Y0RkNFRDgyCis6MTAzMkEwMDBGNEZEMENCQzAwMDEwRDhDN0Q4RDdDMjJFQzcwMDEyMkE0Cis6MTAzMkIwMDBDMDAwRTU3ODI0MThGOEE2MDRFNTc4MjQwOEY4QzY1NDc4Cis6MTAzMkMwMDA3RkY2RTYzMEU3MDNEMDAwMjIxMjMyNDg4MEY0QzI4QzQ5Cis6MTAzMkQwMDA4NTdDOEM4NTdEOEFEMjhDQzBFMEMwRDBDMEYwQzA4MjU1Cis6MTAzMkUwMDBDMDgzQzAwMEMwMDFDMDAyQzAwM0MwMDRDMDA1QzAwNjQ2Cis6MTAzMkYwMDBDMDA3MTIxQUQxRTU3ODI0MDhGOEU2NjAyNEU1NzgyNDlFCis6MTAzMzAwMDAxMEY4QTY4MUU1Nzg3NUYwMjFBNDI0OERGNTgyRTQzNEM3Cis6MTAzMzEwMDBGQ0Y1ODM3OEFFRTU4MTA0QzM5OEY5RTZGMDA4QTNEOUZCCis6MTAzMzIwMDBGQTc0MDgyNTc4RjgwNTc4MDhFNjU0ODA3MDBDRTU3ODdBCis6MTAzMzMwMDBCNDA3RjM3ODA4NzU3ODAwODBFRkU1NzgyNDEwRjg4NkY0Cis6MTAzMzQwMDA4MUU1Nzg3NUYwMjFBNDI0OERGNTgyRTQzNEZDRjU4M0MxCis6MTAzMzUwMDA3OEFFRTU4MTA0QzM5OEY5RTBGNjA4QTNEOUZBRDAwNzVFCis6MTAzMzYwMDBEMDA2RDAwNUQwMDREMDAzRDAwMkQwMDFEMDAwRDA4MzQ1Cis6MTAzMzcwMDBEMDgyRDBGMEQwRDBEMEUwMzJDMEUwQzBEMEMwMDBDMDA5Cis6MTAzMzgwMDAwMUMwMDJDMjhFODU3RThEODU3RjhCRDI4RTc4MTk3OUExCis6MTAzMzkwMDAwOTdBMDdFNzcwMDRBNjAwODAwQkU2NjAwODE2RTY3MDVECis6MTAzM0EwMDAwNEU3NDQ4MEY3MDgwOURBRUFFNTc5NjAxMzE0RjU3OTRGCis6MTAzM0IwMDA3MDBFRTU3ODI0MDhGODc2MDAxMjMxRjREMjhDRDI4REE0Cis6MTAzM0MwMDBEMDAyRDAwMUQwMDBEMEQwRDBFMDMyNzU4MUFENzQyQUM3Cis6MTAzM0QwMDA5MEZGOTNGMDc1N0YzMDc1N0VGODc1N0Q2MDc1N0NGMDk5Cis6MTAzM0UwMDAxMjA1MzYxMjM0N0MxMjE3MzQ5MEZGOTNFMDQ0MDFGMDNBCis6MTAzM0YwMDBCMkIzMTIzNEE2MTIzMjU2ODBEQTIyQzAwMDdDMDFFQzNECis6MTAzNDAwMDAyNDA4RjhFNjYwMDkwQ0JDMDhGNTEyMzI0ODgwRUVEMEJBCis6MTAzNDEwMDAwMDIyQzBGMEMwODJDMDgzQzAwMEMwMDZDMDA3RUQyNEY3Cis6MTAzNDIwMDAxMEY4NzZCQ0VENzVGMDIxQTQyNDhERjU4MkU0MzRGQzBGCis6MTAzNDMwMDBGNTgzQzA4MkMwODNBM0EzRTQ3ODBERjBBM0Q4RkNFQzhECis6MTAzNDQwMDA1NDdGNzVGMDAyQTQyNEVGRjU4MkU1RjAzNDM0RjU4MzVGCis6MTAzNDUwMDBFNDkzRkU3NDAxOTNGNTgyOEU4M0U0OTNGRTc0MDE5M0VBCis6MTAzNDYwMDBGRkQwODNEMDgyRUZGMEEzRUVGMEVEMjQwOEY4RUM0NDE3Cis6MTAzNDcwMDA4MEY2RDAwN0QwMDZEMDAwRDA4M0QwODJEMEYwMjI3NTVECis6MTAzNDgwMDA3ODAwNzU3QjAwN0EwODc5MTg3ODA4NzYwMDc3MDAwODRDCis6MTAzNDkwMDAwOURBRjhFNDc4MDg3NDgwNDQ3RkY2NzQwMTQ0MTBGNTgyCis6MTAzNEEwMDA4OTc1QjgwOEQyQUJEMkE5MjI3NTgxQUREMjhFRDI4Q0UzCis6MTAzNEIwMDBEMkFGRTU3QjYwMzJGRjkwRkQ5NUUwNTQ4MDYwMjQ3OEM4Cis6MTAzNEMwMDAwODc5MDhFMDU0N0ZGQTdCMDBFNjU0N0ZCNTAyMDI3QjVFCis6MTAzNEQwMDBGRjA4RDlGNUVCNzAwQ0VBRjAxMjMzRjhBRDA0QUMwMjNBCis6MTAzNEUwMDAxMjM0MEZBM0EzQTNERkQyMTIzMjQ4ODBDNTdDMDE3RDIyCis6MTAzNEYwMDAwMDIyMDRGNTA0RTkwNEVEMDRFMTA0REQwNEQ5MDRFNTQ3Cis6MTAzNTAwMDAwNEYxMDQ5RDA0QTEwNENEMDREMTA0OTkwNDk5MDQ5OTAzCis6MTAzNTEwMDAwNEQ1MDRCNTA0QUQwNEIxMDRBOTA0QzEwNEJEMDRCOUMzCis6MTAzNTIwMDAwNEM1MDRDOTA0QTUxOTAxMDMwMDIyMDA0ODAyMDA0ODhCCis6MTAzNTMwMDAwRTMwMTQyMEM4MUFEMDE4MEEwQzA1MDYwMjAzMDEwMjI2Cis6MTAzNTQwMDAwMDAxQ0UwMTgxMDEwMDAwQzAwMDgwMDA2MDAwMzAwMDU5Cis6MTAzNTUwMDAxODAwMTAwMDA4MDAwNDAwMDIwMDAxMDAwODE4MzgyOEI0Cis6MTAzNTYwMDAwQzA1MTAwQTAyMDAwMDAwMDAwMDAzMDExMDBBMDIwMDBFCis6MTAzNTcwMDAwMDAwMDAwMEZCRTBGQkYyMDkwMjI3MDAwMTAyMDBBMEFFCis6MTAzNTgwMDAzMjA5MDQwMDAwMDNGRjAwMDAwMDA3MDU4MTAyNDAwMDJCCis6MTAzNTkwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTgzMDMwMjAwMDEyMjI1Cis6MTAzNUEwMDAwMzU0MDA1NTAwNTMwMDQyMDAzMzAwMzQwMDMxMDAzMDEyCis6MTAzNUIwMDAwMDIwMDAyMDAwMjAwMDIwMDAyMDAwMjAwMDIwMDAyMDBCCis6MDUzNUMwMDAwMDAwMDAwMDAwMDYKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS90aV81MDUyLmZ3LmloZXggYi9maXJtd2FyZS90aV81MDUyLmZ3LmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUyOWUwNwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3RpXzUwNTIuZncuaWhleApAQCAtMCwwICsxLDg2MiBAQAorOjEwMDAwMDAwQzEzNTAwMDIwMDFFMDIxQjMyRkZGRkZGRkZGRjAyMzI1QworOjEwMDAxMDAwNkFGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRjAyMzM0RQorOjEwMDAyMDAwMTU3NTgxQzg5MEZFRjA4NTgzQTAxMjM0N0RFQzRENjA3QgorOjEwMDAzMDAwNkE3OEE1ODAwMzc2MDAxOEI4OTZGQTc4Nzk4MDAzNzZGNgorOjEwMDA0MDAwMDAxOEI4NUZGQTc4MjA4MDAzNzYwMDE4QjgyMEZBOTA3QworOjEwMDA1MDAwRkVFNUFFODNBRjgyOTBGRDAwMTIwMEExNjAwNUU0RjBFMgorOjEwMDA2MDAwQTM4MEY2OTBGRUYwQTg4MjkwRkVGMEE5ODJFOEMzOTlFMgorOjEwMDA3MDAwNTAwNTc2MDAwODgwRjY5MDAwRkYxMjAwQUE5MDAxMDM1OAorOjEwMDA4MDAwMTIwMEFBOTAwMTA3MTIwMEFBOTAwMTBCMTIwMEM4OTA1QQorOjEwMDA5MDAwMDExMTEyMDBDODkwMDExNzEyMDBDODc1RDAwMDEyMzM2OAorOjEwMDBBMDAwNjcwMjAxMURFRjY1ODI3MDAzRUU2NTgzMjJFNDkzRjgxOQorOjEwMDBCMDAwNzQwMTkzRjk3NDAyOTNGRTc0MDM5M0Y1ODI4RTgzRThCRQorOjEwMDBDMDAwNjk3MDAxMjJFNDkzRjZBMzA4ODBGNEU0OTNGQzc0MDFDMAorOjEwMDBEMDAwOTNGRDc0MDI5M0ZFNzQwMzkzRkY3NDA0OTNGODc0MDUwNAorOjEwMDBFMDAwOTNGNTgyODg4MzEyMDBBMTcwMDEyMkU0OTNBM0E4ODM3MAorOjEwMDBGMDAwQTk4MjhDODM4RDgyRjBBM0FDODNBRDgyODg4Mzg5ODJCMAorOjEwMDEwMDAwODBFMzIxMjEwNDkyN0E3QTA0OTJBNkE4MDQ5MkZFRjA1OAorOjEwMDExMDAwMDQ5NDA0OTRGQkZCMDQ5OTA0OTRGQkZCMDRGOTA0Rjk5NAorOjEwMDEyMDAwODBGRUQwRjAzMEYwMDkyMEYzMDNGNjgwMTBGNzgwMEQ0OAorOjEwMDEzMDAwMzBGMTA5MjBGMzAzRjI4MDA0RjM4MDAxRjAyMEY0MDQ4RAorOjEwMDE0MDAwRkNEMEUwQ0MyMkNDQzBFMDEyMDE1QTAyMDE0QkJDMDAzMgorOjEwMDE1MDAwMDVEMEYwQUNGMDIyQzMxM0RDRkMwMjAxMjFCRjAwMDk4MgorOjEwMDE2MDAwRUQyNTgyNzVGMDAxRjhFNjIyQkYwMTBGRUQyNTgyRjUzRAorOjEwMDE3MDAwODJFRTM1ODNGNTgzNzVGMDA0RTAyMkVEMjU4Mjc1RjA3QgorOjEwMDE4MDAwMDJGOEUyMjJEMDgzRDA4MkY1RjBDM0U0OTNBM0M1RjA1NQorOjEwMDE5MDAwOTVGMEMwRTBDM0QwRjBFNDkzQTM5NUYwNDAxMkEzQTM4MAorOjEwMDFBMDAwQzNFNUYwMzM1MDAyMDU4MzI1ODJGNTgyNTAwMjA1ODNCMgorOjEwMDFCMDAwNzQwMTkzQzBFMEU0OTNDMEUwMjJEMDgzRDA4MkY1RjBENAorOjEwMDFDMDAwRTQ5MzcwMDk3NDAxOTM3MDA0QTNBMzgwMEM3NDAyOTNFOAorOjEwMDFEMDAwNjVGMDYwMDVBM0EzQTM4MEU3NzQwMTkzQzBFMEU0OTNGNgorOjEwMDFFMDAwQzBFMDIyMTIwMjVCMDIwMUYyMTIwMkFGMDIwMUYyMTIxRgorOjEwMDFGMDAwMDJEMzAyMDFGMjMwRTAwNzIwRTMwMkU2MjJFNzIyMzBEOAorOjEwMDIwMDAwRTEwNzIwRTMwMkUyMjJFMzIyMzBFMjAyRTAyMkU0OTM2QgorOjEwMDIxMDAwMjIxMjAyRDMwMjAyMUExMjAyQUYwMjAyMUFBQkYwMTIyOQorOjEwMDIyMDAwMDIyNENCQzVGMENCMjIzMEUwMTAyMEUzMDZFNkY1RjA0NworOjEwMDIzMDAwMDhFNjIyRTdGNUYwMDlFNzE5MjIzMEUxMTAyMEUzMDY4RAorOjEwMDI0MDAwRTJGNUYwMDhFMjIyRTNGNUYwMDlFMzE5MjIzMEUyMDZENAorOjEwMDI1MDAwRTBGNUYwQTNFMDIyRTQ5M0Y1RjA3NDAxOTMyMkJCMDBGMworOjEwMDI2MDAwMDM3NDA5MjJCQjAxMDc4OTgyOEE4Mzc0MDQyMkJCMDJCQQorOjEwMDI3MDAwMDc4OTgyOEE4Mzc0MTAyMjc0MEEyMjAyMDI3QkJCMDBERgorOjEwMDI4MDAwMDdFOTI1ODJGODc0MDEyMkJCMDEwREU5MjU4MkY1ODI3OAorOjEwMDI5MDAwRUEzNTgzRjU4Mzc0MDQyMkJCMDIwREU5MjU4MkY1ODJEOQorOjEwMDJBMDAwRUEzNTgzRjU4Mzc0MTAyMkU5MjU4MkY4NzQwMjIyMDI2QworOjEwMDJCMDAwMDJBRkJGMDAwNUVERjg3NDAxMjJCRjAxMDc4RDgyOEVFOQorOjEwMDJDMDAwODM3NDA0MjJCRjAyMDc4RDgyOEU4Mzc0MTAyMkVERjg5RQorOjEwMDJEMDAwNzQwMjIyMDIwMkQzQkYwMDA3RUQyNTgyRjg3NDAxMjJDNgorOjEwMDJFMDAwQkYwMTBERUQyNTgyRjU4MkVFMzU4M0Y1ODM3NDA0MjI3RQorOjEwMDJGMDAwQkYwMjBERUQyNTgyRjU4MkVFMzU4M0Y1ODM3NDEwMjI2MQorOjEwMDMwMDAwRUQyNTgyRjg3NDAyMjIwMjAzMDdDMEUwMTIwMjVCMDJBQworOjEwMDMxMDAwMDMxRkMwRTAxMjAyQUYwMjAzMUZDMEUwMTIwMkQzMDJBQgorOjEwMDMyMDAwMDMxRjMwRTAwQjIwRTMwNEQwRTBGNjIyRDBFMEY3MjJGOAorOjEwMDMzMDAwMzBFMTBCMjBFMzA0RDBFMEYyMjJEMEUwRjMyMkQwRTA2MQorOjEwMDM0MDAwRjAyMkM5Q0RDOUNBQ0VDQUNCQ0ZDQjEyMDM1MkVERjkyOAorOjEwMDM1MDAwRUVGQUVGRkIyMkJCMDAyRkJGMDAwQUZBRURGOEU3RjYzQQorOjEwMDM2MDAwMDgwOURBRkEyMkJGMDExMjhEODI4RTgzRjgwMjAzNkYyOAorOjEwMDM3MDAwMDlBM0U3RjBEOEZBMjIwMjAzN0FGQUVERjhFN0YyMDhDNworOjEwMDM4MDAwMDlEQUZBMjIwMjAzODRCQjAxNERCRjAwMTQ4OTgyOEE3NAorOjEwMDM5MDAwODNGOUVERjgwMjAzOTYwOEEzRTBGNkQ5RkEyMjAyMDNFNgorOjEwMDNBMDAwQTdCRjAxMjI4RDgyOEU4M0ZCMDhDOUM1ODJDOUNBQzUzOQorOjEwMDNCMDAwODNDQUUwQTNDOUM1ODJDOUNBQzU4M0NBRjBBM0RCRUE2MAorOjEwMDNDMDAwRDhFODIyMDIwM0NBOEQ4MjhFODNGOUVERjhFMEYyMDhBNAorOjEwMDNEMDAwQTNEOUZBMjIwMjAzRDRCQjAyNERCRjAwMTI4OTgyOEEzQworOjEwMDNFMDAwODNGOUVERjgwMjAzRTYwOEEzRTQ5M0Y2RDlGOTIyQkZGNgorOjEwMDNGMDAwMDEyMzhEODI4RTgzRkIwOEM5QzU4MkM5Q0FDNTgzQ0EwMQorOjEwMDQwMDAwRTQ5M0EzQzlDNTgyQzlDQUM1ODNDQUYwQTNEQkU5RDhFRQorOjEwMDQxMDAwRTcyMjAyMDQxOTg5ODI4QTgzRjlFREY4RTQ5M0YyMDg0RAorOjEwMDQyMDAwQTNEOUY5MjIwMjA0MkFCRjAwMERGQUVERjhFM0Y2MDg3OQorOjEwMDQzMDAwMDlEQUZBMjIwMjA0MzRCRjAxMTI4RDgyOEU4M0Y4MDI5NworOjEwMDQ0MDAwMDQ0MTA5QTNFM0YwRDhGQTIyMDIwNDRDRkFFREY4RTNFMAorOjEwMDQ1MDAwRjIwODA5REFGQTIyMDIwNDU2RTZGQjA4RTZGQTA4RTY5MAorOjEwMDQ2MDAwRjkwNEY2MTg3MDAxMDYyMkU2RkYwOEU2RkUwOEU2RkQyQworOjEwMDQ3MDAwMjJFRkYwQTNFRUYwQTNFREYwMjJFQkYwQTNFQUYwQTM1RAorOjEwMDQ4MDAwRTlGMDIyRTBGRkEzRTBGRUEzRTBGRDIyRTBGQkEzRTAxMQorOjEwMDQ5MDAwRkFBM0UwRjkyMjAwMDAwMDAwMDAwMDAwMDRGOTAwNUI2QworOjEwMDRBMDAwMDU3MzAwMjYwNTlBMDAzMzBBMEIwMDVCMEE3NzAwNjA4QgorOjEwMDRCMDAwMTU1MjAwNUIwQ0ZCMDA1QjA5QUIwMDVCMDlFMjAwNUJDMworOjEwMDRDMDAwMERDMjAwNUIwQkYzMDA1QjBBMUUwMDVCMEE1MzAwNUI2RQorOjEwMDREMDAwMTc0QTAwMzMxNzYwMDAzNDFFNEQwMDQzMUVGMDAwNDRERAorOjEwMDRFMDAwMjA1RDAwNDQyMDRCMDA0NzFGMTcwMDQ3MUZCQzAwNERGNAorOjEwMDRGMDAwMjAwRDAwNEYxRjM5MDA1ODMxRjUwMDVCN0NDQzdERkY4QgorOjEwMDUwMDAwMTIxQ0ZFMjI3NDkwOTBGRjkxRjA5MEZGRkNFMDIwRTcxNworOjEwMDUxMDAwMkRDMkFGQUU1OUFGNTg3NTVBMjBFNTVBMTRDNTVBNjA2RQorOjEwMDUyMDAwMTlFNEZFN0YwNUVFNEZDRTI0RkZDRUNGMzRGRkNGNjAxRgorOjEwMDUzMDAwMDdFNDkwRkY5MkYwODBFRDgwRTA4RTU5OEY1ODIyMTJGMAorOjEwMDU0MDAwMDUwMTdEMDc3Q0I3MTIzMjExN0QwRjdDNkUxMjMyMkJCNAorOjEwMDU1MDAwNzg5NzdBMDZFNEY2MDhEQUZDN0EwNjEyMDVDRjdDMDM2RgorOjEwMDU2MDAwMTIwRTU3N0MwNDEyMEU1NzEyMjE4QkU0RkVGRjdDMEZGMworOjEwMDU3MDAwMTIzMTlBRDJBODIyMTIzMDg1RTQ5MEZENDBGMDkwRkYwQgorOjEwMDU4MDAwRjBFMDMwRTQwODc0MDE5MEZENDFGMDgwMDVFNDkwRkQ1NgorOjEwMDU5MDAwNDFGMDdEMEE3QzAwMTIyNEIxMTIzMTA4MjIxMjMwODUwQworOjEwMDVBMDAwOTBGRDQxRTAxNDcwMEU5MEZGRjBFMDQ0MTBGMDdDMDBFQworOjEwMDVCMDAwMTIyNTRBODAxOTkwRkQ0MUUwNzAwRTkwRkZGMEUwNTQ0MgorOjEwMDVDMDAwRUZGMDdDMDAxMjI1NEE4MDA1N0MxNzEyMjU0QTEyMzE3MworOjEwMDVEMDAwMDgyMjkwRkZGMEUwNTRBQkYwOTBGRkYwRTA0NDIwRjBGMAorOjEwMDVFMDAwMjI4QzM3OEQzNjc4N0NFREY2MDhFQ0Y2RURGRUVDRkRDRQorOjEwMDVGMDAwN0YwMTkwMDAwNTEyMDFFQzc4N0FGNjc4N0NFNkZEMDgyMAorOjEwMDYwMDAwRTZGQ0VERkVFQ0ZEN0YwMTkwMDAwNDEyMDFFQzU0MEZCRQorOjEwMDYxMDAwRkM3RDdBMTIxNzlENzg3QUU2NzAwREFEM0FBRTM5QUY0RgorOjEwMDYyMDAwMzhFNDEyMDMwRjdDMDgyMjkwRkZGMEUwNTRGRUYwOTBCMworOjEwMDYzMDAwRkZGMEUwNTRGREYwODAxRTc4N0NFNkZEMDhFNkZDRUQ1RQorOjEwMDY0MDAwRkVFQ0ZEN0YwMTkwMDAwODEyMDIwRTI1RTA0NDAxOTBBRgorOjEwMDY1MDAwRkZGM0YwMDIwNkRCNzg3Q0U2RkQwOEU2RkNFREZFRUMzRAorOjEwMDY2MDAwRkQ3RjAxOTAwMDA2MTIwMjBFNTRGRTkwRkZGM0YwODAxMQorOjEwMDY3MDAwMkI3ODdDRTZGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDBBQQorOjEwMDY4MDAwMDgxMjAyMEVGQUVCOTBGRkYxRjAxMjA4Q0E0MDBEQUQwRAorOjEwMDY5MDAwM0FBRTM5QUYzOEU0MTIwMzBGN0MxODIyNzg3Q0U2RkRCRAorOjEwMDZBMDAwMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFOTBDMgorOjEwMDZCMDAwRkZGMUYwMTIwOENBNDAwREFEM0FBRTM5QUYzOEU0MTI3RQorOjEwMDZDMDAwMDMwRjdDMTgyMjc4N0NFNkZEMDhFNkZDRURGRUVDRkRDRAorOjEwMDZEMDAwN0YwMTkwMDAwNjEyMDIwRTQ0MDE5MEZGRjNGMDc4N0QzNgorOjEwMDZFMDAwRTYyNDAzRjYxOEU2MzQwMEY2Nzg3QUU2MjRGRTUwMDk4QworOjEwMDZGMDAwOTBGRkYwRTA1NEZERjA4MDA3OTBGRkYwRTA0NDAyRjAzRQorOjEwMDcwMDAwRTQ5MEZGRjFGMDc4N0I3NjAwNzg3QUU2MjRGRkZDRTQ1MQorOjEwMDcxMDAwMzRGRkZENzg3QkU2N0YwMEZFRUNEMzlFRUY2NDgwQ0Q1NgorOjEwMDcyMDAwNjQ4MDlENDAyRjEyMDhBRjQwMEY3ODdCRTZBRDNBQUU1MworOjEwMDczMDAwMzlBRjM4MTIwMzBGN0MxODIyOTBGRkYyRTBGQzc4N0M2RQorOjEwMDc0MDAwODY4MzA4ODY4MkVDRjA3ODdCMDZBMzc4N0NBNjgzMDhGMworOjEwMDc1MDAwQTY4MjgwQjUxMjA4QUY0MDBGNzg3QkU2QUQzQUFFMzk3RAorOjEwMDc2MDAwQUYzODEyMDMwRjdDMTgyMjkwRkZGMkUwRkM3ODdDODZGMQorOjEwMDc3MDAwODMwODg2ODJFQ0YwNzg3QUU2QUQzQUFFMzlBRjM4MTI2QgorOjEwMDc4MDAwMDMwRjdDMDAyMjhDMzc4RDM2Nzg3Q0VERjYwOEVDRjY3MgorOjEwMDc5MDAwRURGRUVDRkQ3RjAxOTAwMDA1MTIwMUVDNzg3QkY2NzgxMAorOjEwMDdBMDAwN0NFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA0MTIwNgorOjEwMDdCMDAwMDFFQzU0MEZGQzdEN0IxMjE3OUQ3ODdCRTY3MDAzN0M2NworOjEwMDdDMDAwMDgyMjkwRkZGMEUwNTRGRUYwOTBGRkYwRTA1NEZERjBCRQorOjEwMDdEMDAwODAxQjc4N0NFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTBEOQorOjEwMDdFMDAwMDAwODEyMDIwRTI1RTA5MEZGRjNGMDgwNUI3ODdDRTZCMworOjEwMDdGMDAwRkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDYxMjAyMEUwNgorOjEwMDgwMDAwNTRGRTkwRkZGM0YwODAyMTc4N0NFNkZEMDhFNkZDRURENQorOjEwMDgxMDAwRkVFQ0ZEN0YwMTkwMDAwODEyMDIwRUZBRUI5MEZGRjE1MgorOjEwMDgyMDAwRjAxMjA4Q0E0MDAzN0MxODIyNzg3Q0U2RkQwOEU2RkMzQQorOjEwMDgzMDAwRURGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFOTBGRkYxRjAzQQorOjEwMDg0MDAwMTIwOENBNDAwMzdDMTgyMjc4N0RFNjI0MEFGNjE4RTZDRQorOjEwMDg1MDAwMzQwMEY2Nzg3QTc2MDA3ODdCRTYyNEZGRkNFNDM0RkZGNworOjEwMDg2MDAwRkQ3ODdBRTY3RjAwRkVFQ0QzOUVFRjY0ODBDRDY0ODA1NQorOjEwMDg3MDAwOUQ0MDIxNzg3Qzg2ODMwODg2ODJFMDkwRkZGMUYwMTIwQgorOjEwMDg4MDAwMDhDQTQwMDM3QzE4MjI3ODdBMDY3ODdEMDZFNjE4NzAzQworOjEwMDg5MDAwMDEwNjgwQzM5MEZGRjBFMDQ0MDFGMDc4N0M4NjgzMDg3NQorOjEwMDhBMDAwODY4MkUwOTBGRkYxRjAxMjA4Q0E0MDAzN0MxODIyN0M5NworOjEwMDhCMDAwMDAyMjkwRkZGMEUwMjBFNzEyOTBGRkYwRTAzMEU1MDkyMQorOjEwMDhDMDAwOTBGRkYwRTA0NDIwRjBDMzIyODBFN0QzMjI5MEZGRjBCNQorOjEwMDhEMDAwRTAyMEUzMTI5MEZGRjBFMDMwRTUwOTkwRkZGMEUwNDQwMworOjEwMDhFMDAwMjBGMEMzMjI4MEU3RDMyMjhDNDI4RDQxN0MwMEVENTQ1RQorOjEwMDhGMDAwRjBGREVDNzAwM0VENjQzMDcwMDU3NTNFMDM4MDAzNzUwOAorOjEwMDkwMDAwM0UwNEFDM0UxMjBGN0M3NTgzMDA4NTgzNDBFNTQxNTQ2NAorOjEwMDkxMDAwMEZGNTNGRTU0MDcwMDRFNTNGNjQwMzcwMzVFNTNFMjQ4NAorOjEwMDkyMDAwRkQ3NUYwMEFBNDI0MEFGNTgyRTQzNEZERjU4M0UwMzA3NQorOjEwMDkzMDAwRTYwNTEyMTA2NzgwMTlFNTNFMjQ5N0Y4QzY1NEZCRjZDOQorOjEwMDk0MDAwNzhBM0U2MjQwNUY1ODIxOEU2MzQwMEY1ODM3NDBGRjBFOQorOjEwMDk1MDAwODA1OUU1NDA3MDA0RTUzRjY0MDQ3MDQ4RTUzRTI0RkQ5RAorOjEwMDk2MDAwNzVGMDBBQTQyNDBBRjU4MkU0MzRGREY1ODNFMDMwRTU0RAorOjEwMDk3MDAwMDdBQzQyQUQ0MTEyMUM5M0U1NDIzMEUyMTU3OEE3RTY4MAorOjEwMDk4MDAwMzBFMDBGNzhBN0U2MzBFMTA5RTRGRjA0RkU3QzA0MTJCMgorOjEwMDk5MDAwMzE5QTc4QTNFNjI0MDZGNTgyMThFNjM0MDBGNTgzNzRDQworOjEwMDlBMDAwMEZGMDgwMDdFNEZDN0RFRTEyMUM5M0MyMDMyMjEyMzA4QworOjEwMDlCMDAwODUxMjBGN0M3OEEzRTYyNDA2RjU4MjE4RTYzNDAwRjU0QworOjEwMDlDMDAwODNFMDkwRkQ0MEYwNzhBM0U2MjQwNUY1ODIxOEU2MzQzNAorOjEwMDlEMDAwMDBGNTgzRTA5MEZENDFGMEMyMDM3RDAyN0MwMDEyMjQwQgorOjEwMDlFMDAwQjExMjMxMDgyMjEyMzA4NTc4OEZFQ0Y2RUMyNDk3Rjg5QQorOjEwMDlGMDAwRTYzMEUxMDc3QzEzMTIyNTRBODAwRjkwRkQ0MUUwRkRBRgorOjEwMEEwMDAwNzg4RkU2RkMxMjEzRkQxMjI1NEExMjMxMDgyMjEyMzBBQgorOjEwMEExMDAwODU3ODhGRUNGNjdEMDAxMjBGMEIxMjI1NEExMjMxMDhGMworOjEwMEEyMDAwMjIxMjMwODU3ODhGRUNGNkVDMjQ5N0Y4RTYzMEUyMDc1NgorOjEwMEEzMDAwN0MxMzEyMjU0QTgwMUI3ODhGRTYyNDk3RjhFNjIwRTE4NAorOjEwMEE0MDAwMDc3QzEyMTIyNTRBODAwQTc4OEZFNkZDMTIxNDIxMTJDNAorOjEwMEE1MDAwMjU0QTEyMzEwODIyMTIzMDg1Nzg4RkVDRjZFQzI0OTc2MworOjEwMEE2MDAwRjhFNjIwRTIwNzdDMTExMjI1NEE4MDBBNzg4RkU2RkMxRQorOjEwMEE3MDAwMTIxNTIyMTIyNTRBMTIzMTA4MjIxMjMwODU3ODhGRUM4NQorOjEwMEE4MDAwRjYxMjBGN0M3OEEzRTYyNDA5RjU4MjE4RTYzNDAwRjUwNworOjEwMEE5MDAwODNFMDkwRkQ0N0YwNzhBM0U2MjQwQUY1ODIxOEU2MzQ1NworOjEwMEFBMDAwMDBGNTgzRTA5MEZENDhGMDc4QTNFNjI0MDNGNTgyMTg3MgorOjEwMEFCMDAwRTYzNDAwRjU4M0UwRkM3OEEzRTYyNDA0RjU4MjE4RTYyQQorOjEwMEFDMDAwMzQwMEY1ODNFMEY1NUM3OEEzRTYyNDAyRjU4MjE4RTZBRAorOjEwMEFEMDAwMzQwMEY1ODNFMEY1NUQ4QzVCRTRFQzMzMzM1NDAxNzg0RQorOjEwMEFFMDAwOEZGNjYwMDhFNTVDMzBFMTAzNzg4RjA2Nzg4RkU2OTAzQQorOjEwMEFGMDAwRkQ0OUYwNzhBMUU2MjQwMkY1ODIxOEU2MzQwMEY1ODM3QQorOjEwMEIwMDAwRTBGREEzRTA1NDBDRkNFRDU0RTY4QzVGRjU1RUU1NUI4NAorOjEwMEIxMDAwMzBFNTAzNDM1RjAxRTU1QzIwRTUwRUU1NUI1NDdGNzA0MworOjEwMEIyMDAwMDhFNTVCMjBFNzAzNDM1RjAyRTU1QjMwRTMwMzQzNUZENworOjEwMEIzMDAwMTBFNTVCMzBFMjAzNDM1RjIwRTU1QjU0MDM2MDAzNDM1MQorOjEwMEI0MDAwNUY0MEU1NUIzMEUxMDM0MzVGODBFNTVCMzBFNDAzNDNGNgorOjEwMEI1MDAwNUUwMUU1NUIzMEU2MDM0MzVFMDhFNTVDMjBFNDBFRTVGQworOjEwMEI2MDAwNUI1NDdGNzAwOEU1NUIyMEU3MDM0MzVFMTA1MzVGRkIzNworOjEwMEI3MDAwNTM1RUY5QUQ1RUU1NUY5MEZENDJDREYwQTNDREYwRTVBQgorOjEwMEI4MDAwNUQzMEUzMERFNTVENTQzMEM0NTQwRjkwRkQ0NUYwODBCOQorOjEwMEI5MDAwMDVFNDkwRkQ0NUYwRTU1RDU0MDM5MEZENDRGMEU1NUQwRQorOjEwMEJBMDAwNTQwNEMzMTM5MEZENDZGMDkwRkQ0NEUwNzAwRTdEM0Q2QgorOjEwMEJCMDAwN0VGRDdGMDE3NDAxOTAwMDA5MTIwMTQyNzhBM0U2MjRCMgorOjEwMEJDMDAwMDhGNTgyMThFNjM0MDBGNTgzRTA3QzAwRkQ3OEEzRTZBMgorOjEwMEJEMDAwMjQwN0Y1ODIxOEU2MzQwMEY1ODNFMDdGMDA0Q0ZFRUYzMQorOjEwMEJFMDAwNEQ5MEZENDBGMEEzQ0VGMENFQzIwMzdEMEE3QzAwMTJGMgorOjEwMEJGMDAwMjRCMTEyMzEwODIyMTIzMDg1Nzg4RkVDRjY3ODk0NzY4MQorOjEwMEMwMDAwMDEwODc2RkQwODc2NDA3ODkxNzYwQzc4OTQxMjA0NjU5OAorOjEwMEMxMDAwMTIwMjE0Nzg5MkNCRjZDQjA4RjY3RjAwRUYyNEVCNDA1QgorOjEwMEMyMDAwMUZFNEVGMjVFMDkwMzRCRkZEOTNDRDA0OTM3ODkzNjZFNQorOjEwMEMzMDAwNzAwM0VEMTg2NjcwMDY3ODkxNzYwMDgwMDMwRjgwRENGMworOjEwMEM0MDAwNzg5MEVGRjY3ODk0MTIwNDY1OTAwMDAyMTIwMjBFNzgwNAorOjEwMEM1MDAwOTJDQkY2Q0IwOEY2NTQwNENCNTQwNjRCNjAwNDc4OTE0MworOjEwMEM2MDAwNzYwQjc4OTNFNjMwRTMxMzc4OTQxMjA0NjU5MDAwMDVEMAorOjEwMEM3MDAwMTIwMUVDMjRGQjUwMDQ3ODkxNzYwRDc4OTNFNjU0QzA3MQorOjEwMEM4MDAwN0QwMDY0QzA0RDcwMDQ3ODkxNzYwQjc4OTQxMjA0NjVGMQorOjEwMEM5MDAwOTAwMDA0MTIwMUVDMjRGQzUwMDQ3ODkxNzYwRjc4OTRCMworOjEwMENBMDAwMTIwNDY1OTAwMDA2MTIwMUVDMjRGRDUwMDQ3ODkxNzY0MAorOjEwMENCMDAwMEU3ODk0MTIwNDY1OTAwMDA5MTIwMUVDMjRGRDUwMDQ5MgorOjEwMENDMDAwNzg5MTc2MEE3ODkxRTY3MDJBNzg4RkU2RkMxMjBGN0M4QworOjEwMENEMDAwNzg5NDEyMDQ2NTc4QTFFNkY5NzhBMEU2RkE3QjAxNzRBRAorOjEwMENFMDAwMEE3ODAwMTIwMzNGQzIwMzc4OEZFNkZDMTIxMTIzNzhDMgorOjEwMENGMDAwOTFFQ0Y2Nzg5MUU2RkMxMjI1NEExMjMxMDgyMjEyMzA2NgorOjEwMEQwMDAwODU3ODhGRUNGNjEyMEY3Qzc4OEZFNjI0RkQ3NUYwMEE1QgorOjEwMEQxMDAwQTQyNDFDRjU4MkU0MzRGREY1ODNBQzgyQUQ4Mzc4QTA3NQorOjEwMEQyMDAwODY4MzA4ODY4MkVDRjlFREZBN0IwQTc4MDExMjAzQTcyNAorOjEwMEQzMDAwQzIwMzc4OEZFNkZDMTIxMTIzMTIzMTA4MjI4RDJCOEMwRQorOjEwMEQ0MDAwMkFFRDYwNDA3NTI3MDE3NTI5NDg3NTI4RkZFNTJBMjQ5QQorOjEwMEQ1MDAwRkRGQ0U0MzRGRkZERUM3QzAzMjVFMENEMzNDRERDRjk3NAorOjEwMEQ2MDAwRkNFNTI5MkNGNTI5RTUyODNERjUyOEFEMjlBRTI4QUY2RAorOjEwMEQ3MDAwMjc3NDgwOTAwMDA2MTIwMzE3NzQ4MDkwMDAwMjEyMDNGQgorOjEwMEQ4MDAwMTcxMjBGRDNFNTJCMTQ2MDNCNzUyNzAxNzUyOTA4NzVFMQorOjEwMEQ5MDAwMjhGRkU1MkEyNEZERkNFNDM0RkZGREVDN0MwMzI1RTA3QworOjEwMERBMDAwQ0QzM0NERENGOUZDRTUyOTJDRjUyOUU1MjgzREY1MjhFNgorOjEwMERCMDAwQUQyOUFFMjhBRjI3RTQ5MDAwMDYxMjAzMTdFNDkwMDA5NworOjEwMERDMDAwMDIxMjAzMTcyMjEyMzA4NTc4OEZFQ0Y2RUMyNDk3Rjg4NAorOjEwMEREMDAwRTYzMEUyMDk3ODhGRTZGQzEyMTUyMkQyMDA3ODhGRTYyMQorOjEwMERFMDAwRkMxMjBGN0M3ODkwNzYwMDkwRkQ0MUUwMzBFNzA0NzhBQgorOjEwMERGMDAwOTA3NjAxNzg5MEU2RkQ3ODhGRTZGQzEyMEQzQUMyMDNGQQorOjEwMEUwMDAwMzAwMDA3Nzg4RkU2RkMxMjE0MjE3QzAwMTIyNTRBMTI2QworOjEwMEUxMDAwMzEwODIyNzhBM0U2MjQwNEY1ODIxOEU2MzQwMEY1ODMyRAorOjEwMEUyMDAwRTA0NDAxRjA3OEEzRTYyNDA0RjU4MjE4RTYzNDAwRjVFNgorOjEwMEUzMDAwODNFMDMwRTAwMjgwRUQ3OEEzRTYyNDBCRjU4MjE4RTYyQgorOjEwMEU0MDAwMzQwMEY1ODNFMDU0RjhGMDc4QTNFNjI0MDJGNTgyMTgyNAorOjEwMEU1MDAwRTYzNDAwRjU4M0UwNDQ4MEYwMjJDMjAzOEM1ODEyMEY4MAorOjEwMEU2MDAwN0M3OEEwODY4MzA4ODY4Mjc5RUU3QTM0N0IwQTc4MDFDMgorOjEwMEU3MDAwMTIwM0Y1MTIwRTEwQUM1ODdEMDIxMjBEM0FDMjAzQUNFQgorOjEwMEU4MDAwNTgxMjExMjMyMjhENTM4RTUyOEY1MThDNTAxMjBGN0M4OQorOjEwMEU5MDAwNzU0RjAwNzhBM0U2MjQwNUY1ODIxOEU2MzQwMEY1ODM0MworOjEwMEVBMDAwRTAyMEU0MTZFNTRGMjRGNjQwMTAwNTRGQzIwMzdDMThGRAorOjEwMEVCMDAwMTIzMjQ4QUM1MDEyMEY3QzgwRDk3OEEzRTYyNDA1RjU5NQorOjEwMEVDMDAwODIxOEU2MzQwMEY1ODNFMDIwRTQwNUMyMDM3QzAyMjJBOAorOjEwMEVEMDAwNzhBM0U2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDU0MEY4NAorOjEwMEVFMDAwNjAxNjc4QTNFNjI0MDVGNTgyMThFNjM0MDBGNTgzRTA2MQorOjEwMEVGMDAwNTQwRkYwQzIwMzdDMDEyMjc4QTI4NjgzMDg4NjgyRTAyOAorOjEwMEYwMDAwQUQ1M0FFNTJBRjUxMTIwMzBGQzIwMzdDMDAyMjhEMzE5QworOjEwMEYxMDAwOEMzMDEyMTUyMkU1MzE2MDIwRTUzMEI0MDMwQzdDMDFFMQorOjEwMEYyMDAwMTIyNDdDN0M4MTEyMjQ3QzgwMEZFNTMwQjQwNDBBN0M3RQorOjEwMEYzMDAwMDIxMjI0N0M3QzgyMTIyNDdDQUMzMDEyMEY3Q0U1MzFCRQorOjEwMEY0MDAwNjAxQTc4QTQ4NjgzMDg4NjgyRTA1NEU3RjBBM0EzQTNGRQorOjEwMEY1MDAwQTNFMDU0RTdGMEFDMzA3RDAyMTIwRDNBNzhBMDg2ODMwRQorOjEwMEY2MDAwMDg4NjgyNzlGODdBMzQ3QjBBNzgwMTEyMDNGNUMyMDM4NQorOjEwMEY3MDAwRTUzMDI0OTdGOEM2NTRGREY2QUMzMDEyMTEyMzIyOENDQworOjEwMEY4MDAwMjYzMDAzMDUxMjMxRTc4MEY4N0MwQTEyMzBGQUQyMDNDQQorOjEwMEY5MDAwRTUyNjI0RkQ3ODlERjY3MDA5NzhBNDc2RkYwODc2RTBCMgorOjEwMEZBMDAwODAwNzc4QTQ3NkZGMDg3NkUyNzg5REU2NzVGMDEwQTRCNQorOjEwMEZCMDAwQURGMEZDMjRBMDc4QTNGNkVEMzRGRjE4RjY3ODlERTY5QQorOjEwMEZDMDAwNzVGMDBBQTQyNDA4RkNFNDM0RkRGRDc4QTBFREY2MDhEMQorOjEwMEZEMDAwRUNGNjEyMzE5MzIyNzhBM0U2MjQwMkY1ODIxOEU2MzQ2NworOjEwMEZFMDAwMDBGNTgzRTAzMEU3MjI3OEEzRTYyNDAyRjU4MjE4RTZENAorOjEwMEZGMDAwMzQwMEY1ODNFMDU0N0ZGMDc4QTNFNjI0MDJGNTgyMThFQworOjEwMTAwMDAwRTYzNDAwRjU4M0UwNDQ4MEYwMjI3OEE0ODY4MzA4ODZFNQorOjEwMTAxMDAwODJFMDU0N0ZGMEFEODNFNTgyMjQwNEZDRTQzRDhDODJDMQorOjEwMTAyMDAwRjU4M0UwNTQ3RkYwNzhBM0U2MjQwQkY1ODIxOEU2MzRDQworOjEwMTAzMDAwMDBGNTgzRTA1NEY4RjA3OEE1RTYyNDAxRjU4MjE4RTY3RgorOjEwMTA0MDAwMzQwMEY1ODNFMDQ0MDNGMDc4QTVFNjI0MDVGNTgyMTgyMgorOjEwMTA1MDAwRTYzNDAwRjU4M0UwNDQwM0YwNzhBM0U2MjQwNUY1ODI0NgorOjEwMTA2MDAwMThFNjM0MDBGNTgzNzQwRkYwMjI3OEE0ODY4MzA4ODY4RQorOjEwMTA3MDAwODJFMDU0M0ZGMEFEODNFNTgyMjQwNEZDRTQzRDhDODJBMQorOjEwMTA4MDAwRjU4M0UwNTQzRkYwNzg5REU2MjQ5RUY4RTZGQzc4QTVEMQorOjEwMTA5MDAwRTYyNDAxRjU4MjE4RTYzNDAwRjU4M0VDRjA3ODlERTY0RAorOjEwMTBBMDAwMjQ5RUY4RTZGQzc4QTVFNjI0MDVGNTgyMThFNjM0MDBDRgorOjEwMTBCMDAwRjU4M0VDRjA3OEEzRTYyNDBCRjU4MjE4RTYzNDAwRjUwRQorOjEwMTBDMDAwODNFMDU0RkI0NDAyRjUyNjc4QTFFNjI0MDJGNTgyMTg1OQorOjEwMTBEMDAwRTYzNDAwRjU4M0UwMzBFNTAzNDMyNjAxNzhBM0U2MjRGNworOjEwMTBFMDAwMDVGNTgyMThFNjM0MDBGNTgzRTAzMEUwMDMxMjBGRDNGMworOjEwMTBGMDAwRTUyNkZDNzhBM0U2MjQwQkY1ODIxOEU2MzQwMEY1ODM5OAorOjEwMTEwMDAwRUNGMDc4QTNFNjI0MDVGNTgyMThFNjM0MDBGNTgzNzQ0NAorOjEwMTExMDAwMEZGMDc4QTQ4NjgzMDg4NjgyRTA0NDgwRjBBM0EzQTMxRQorOjEwMTEyMDAwQTNFMDQ0ODBGMDIyOEMyQTEyMEY3Qzc4QTFFNjI0MDhFOAorOjEwMTEzMDAwRjU4MjE4RTYzNDAwRjU4M0UwRkM3OEEzRTYyNDBBRjU4RQorOjEwMTE0MDAwODIxOEU2MzQwMEY1ODNFQ0YwNzhBMUU2MjQwN0Y1ODJGNgorOjEwMTE1MDAwMThFNjM0MDBGNTgzRTBGQzc4QTNFNjI0MDlGNTgyMTg0QworOjEwMTE2MDAwRTYzNDAwRjU4M0VDRjA3OEEwODY4MzA4ODY4MkUwRkQwMworOjEwMTE3MDAwQTNFMEZDRURGRTc4QTNFNjI0MDhGNTgyMThFNjM0MDAyRgorOjEwMTE4MDAwRjU4M0VFRjBFQ0ZFNzhBM0U2MjQwN0Y1ODIxOEU2MzQ0QQorOjEwMTE5MDAwMDBGNTgzRUVGMDhDMjk4RDI4QzNFQzk0MDJFRDk0MDZDMworOjEwMTFBMDAwNDAwNTc1Mjc3QzgwMzNEM0U1Mjk5NDgxRTUyODk0MDE5NworOjEwMTFCMDAwNDAwNTc1MjczQzgwMjNEM0U1Mjk5NEMwRTUyODk0MDA5OQorOjEwMTFDMDAwNDAwNTc1MjcxODgwMTNEM0U1Mjk5NDMwRTUyODk0MDA0RAorOjEwMTFEMDAwNDAwNTc1MjcwQzgwMDM3NTI3MDhBRjI3RTRFRjU0N0M4MgorOjEwMTFFMDAwNDQ4M0ZGOEYyN0U1MjdGQzc4QTVFNjI0MDFGNTgyMThDNAorOjEwMTFGMDAwRTYzNDAwRjU4M0VDRjBFNTI3RkM3OEE1RTYyNDA1RjU1OAorOjEwMTIwMDAwODIxOEU2MzQwMEY1ODNFQ0YwRTUyN0ZDNzg5REU2MjRBRgorOjEwMTIxMDAwOUVGOEVDRjY3OEEzRTYyNDAyRjU4MjE4RTYzNDAwRjU5MQorOjEwMTIyMDAwODNFMEY1Mjc3OEExRTYyNDAyRjU4MjE4RTYzNDAwRjU3QworOjEwMTIzMDAwODNBM0UwMzBFMzE3NTMyN0M3NzhBMUU2MjQwNUY1ODI5RQorOjEwMTI0MDAwMThFNjM0MDBGNTgzRTA5MDM0RTk5MzQyMjc3OEExRTY2QworOjEwMTI1MDAwMjQwMkY1ODIxOEU2MzQwMEY1ODNFMDMwRTcwNTQzMjdFMQorOjEwMTI2MDAwNDA4MDAzNTMyN0JGNTMyN0ZCNzhBMUU2MjQwNkY1ODI2RAorOjEwMTI3MDAwMThFNjM0MDBGNTgzRTA2MDAzNDMyNzA0NTMyN0ZDNzgyNQorOjEwMTI4MDAwQTFFNjI0MDRGNTgyMThFNjM0MDBGNTgzRTA0MjI3NDMwMgorOjEwMTI5MDAwMjc4MEU1MjdGQzc4QTNFNjI0MDJGNTgyMThFNjM0MDBDRgorOjEwMTJBMDAwRjU4M0VDRjA3OEEzRTYyNDA0RjU4MjE4RTYzNDAwRjUyMworOjEwMTJCMDAwODNFMEY1Mjc3OEExRTYyNDAyRjU4MjE4RTYzNDAwRjVFQworOjEwMTJDMDAwODNBM0UwMzBFMTA1NTMyN0RGODAwMzQzMjcyMDc4QTE4MworOjEwMTJEMDAwRTYyNDAyRjU4MjE4RTYzNDAwRjU4M0UwMzBFNDA1NTM5NQorOjEwMTJFMDAwMjdFRjgwMDM0MzI3MTA3OEExRTYyNDA5RjU4MjE4RTY0QQorOjEwMTJGMDAwMzQwMEY1ODNFMEI0MDIwMzQzMjcwMkU1MjdGQzc4QTMxQQorOjEwMTMwMDAwRTYyNDA0RjU4MjE4RTYzNDAwRjU4M0VDRjA3OEEzRTZEMQorOjEwMTMxMDAwMjQwM0Y1ODIxOEU2MzQwMEY1ODNFMEY1Mjc3OEExRTY4QQorOjEwMTMyMDAwMjQwOUY1ODIxOEU2MzQwMEY1ODNFMDcwMDU1MzI3N0YyMQorOjEwMTMzMDAwODAwMzQzMjc4MDc4QTFFNjI0MDJGNTgyMThFNjM0MDA3MgorOjEwMTM0MDAwRjU4M0EzRTAzMEUwMDU0MzI3MjA4MDAzNTMyN0RGNzhBRgorOjEwMTM1MDAwQTFFNjI0MDJGNTgyMThFNjM0MDBGNTgzRTAzMEUzMDVDNworOjEwMTM2MDAwNDMyNzQwODAwMzUzMjdCRjc4QTFFNjI0MDJGNTgyMTg2MworOjEwMTM3MDAwRTYzNDAwRjU4M0UwMzBFMDA1NDMyNzEwODAwMzUzMjc2RgorOjEwMTM4MDAwRUY3OEExRTYyNDAyRjU4MjE4RTYzNDAwRjU4M0EzRTBBNQorOjEwMTM5MDAwMzBFNDA1NDMyNzA4ODAwMzUzMjdGNzc4QTFFNjI0MDJBOQorOjEwMTNBMDAwRjU4MjE4RTYzNDAwRjU4M0EzRTAzMEU1MDU0MzI3MDQxMQorOjEwMTNCMDAwODAwMzUzMjdGQjc4QTFFNjI0MDJGNTgyMThFNjM0MDA2NworOjEwMTNDMDAwRjU4M0EzRTAzMEU2MDU0MzI3MDE4MDAzNTMyN0ZFNzgyOQorOjEwMTNEMDAwQTFFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMDMwRTdBNQorOjEwMTNFMDAwMDU0MzI3MDI4MDAzNTMyN0ZERTUyN0ZDNzhBM0U2MjQ2NQorOjEwMTNGMDAwMDNGNTgyMThFNjM0MDBGNTgzRUNGMEMyMDM3QzAwMjI4QQorOjEwMTQwMDAwOEQyNzhDMjZFRDU0MDMxNDYwMDM3QzEwMjJFNTI3NTRBRAorOjEwMTQxMDAwN0MyNEZDNDAwMzdDMEIyMkU1MjYyNDk3RjhDNjQ0MDI3QQorOjEwMTQyMDAwRjY3QzAwMjI4QzMwMTIwRjdDRTUzMDI0OTdGOEU2MjAwMQorOjEwMTQzMDAwRTI0RkFDMzA3RDAyMTIwRDNBRTUzMDI0RkU0NDI4RkMyOAorOjEwMTQ0MDAwNzhBNDg2ODMwODg2ODJFQ0YwQUY4M0U1ODIyNDA0RkVDQworOjEwMTQ1MDAwRTQzRkZGRUM4RTgyOEY4M0YwN0MwMzhDMkNFNTJDRkMyOAorOjEwMTQ2MDAwNzhBNUU2MjQwMUY1ODIxOEU2MzQwMEY1ODNFQ0YwRTU3MgorOjEwMTQ3MDAwMkNGQzc4QTVFNjI0MDVGNTgyMThFNjM0MDBGNTgzRUMwQgorOjEwMTQ4MDAwRjA3NTJEMDE3NTJGNDg3NTJFRkZFNTMwMjRGREZDRTQyNQorOjEwMTQ5MDAwMzRGRkZERUM3QzAzMjVFMENEMzNDRERDRjlGQ0U1MkZGQQorOjEwMTRBMDAwMkNGNTJGRTUyRTNERjUyRTc4QTVFNjI0MDRGNTgyMThCRgorOjEwMTRCMDAwRTYzNDAwRjU4M0UwNTRFN0Y1MkNBRDJGQUUyRUFGMkRDQQorOjEwMTRDMDAwRTQ5MDAwMDIxMjAzMTdFNDkwMDAwNjEyMDMxNzEyMDFDMQorOjEwMTREMDAwRTYzMEU1MDM0MzJDMTBFNTJDRkM3OEE1RTYyNDA0RjU2MgorOjEwMTRFMDAwODIxOEU2MzQwMEY1ODNFQ0YwMTIxMDY3NzhBM0U2MjQ0NgorOjEwMTRGMDAwMDZGNTgyMThFNjM0MDBGNTgzRTBDMjAzRkNFNTMwMjRFQgorOjEwMTUwMDAwOTdGOEM2NDQwNEY2OEMyQ0U1MzA1NDBGQzQ1NEYwN0U5MgorOjEwMTUxMDAwMDBGRkVFRUY0NDA0N0QwMEZGRUM0RUZDRUQ0RkZEMTJBQQorOjEwMTUyMDAwMUNGRTdDMDAyMjhDMkYxMjBGN0MxMjEwMDc3OEE0ODZFMAorOjEwMTUzMDAwODMwODg2ODJFMDU0MDhGMEEzQTNBM0EzRTA1NDA4RjAzNAorOjEwMTU0MDAwQUMyRjdEMDIxMjBEM0FDMjAzRTUyRjI0OTdGOEM2NTQ0MgorOjEwMTU1MDAwRkJGNjdDMDAyMjEyMzA4NTc4OTBFQ0Y2RUMyNDk3RjhBQworOjEwMTU2MDAwRTYzMEUxMEE3RDAwN0MxMzEyMjRCMTEyMzEwODc4OTAzNAorOjEwMTU3MDAwRTYyNDk3RjhDNjQ0MDFGNjc4OTBFNkZDMTIwRjdDNzhEMgorOjEwMTU4MDAwOTBFNjI0RkQ3NUYwMEFBNDI0MUNGNTgyRTQzNEZERjVGMAorOjEwMTU5MDAwODM3OEEwRTZGQTA4RTZGOTdCMEE3ODAxMTIwM0E3NzhCNworOjEwMTVBMDAwQTA4NjgzMDg4NjgyNzlGODdBMzQ3QjBBNzgwMTEyMDM1MAorOjEwMTVCMDAwRjUxMjBGRDNDMjAzNzg5MEU2RkMxMjExMjM3ODhGRUM1QQorOjEwMTVDMDAwRjZFQzYwMEE3RDAwN0MwODEyMjRCMTEyMzEwODc4OTA5NAorOjEwMTVEMDAwRTZGQzEyMEY3Qzc4QTNFNjI0MDRGNTgyMThFNjM0MDBCQQorOjEwMTVFMDAwRjU4M0UwNDQxMDU0REZGQzc4QTNFNjI0MDRGNTgyMTg2OAorOjEwMTVGMDAwRTYzNDAwRjU4M0VDRjA3ODhGRUNGNkMyMDM3Q0M4MTI3OQorOjEwMTYwMDAwMzI0ODc4OTBFNkZDMTIwRjdDNzhBM0U2MjQwNEY1ODIzOQorOjEwMTYxMDAwMThFNjM0MDBGNTgzRTA1NEVGRjBDMjAzN0NDODEyMzJDMAorOjEwMTYyMDAwNDg3ODkwRTZGQzEyMEY3Qzc4QTNFNjI0MDRGNTgyMTgzMworOjEwMTYzMDAwRTYzNDAwRjU4M0UwNDQxMEYwQzIwMzdDQzgxMjMyNDg1RgorOjEwMTY0MDAwNzg5MEU2RkMxMjBGN0M3OEEzRTYyNDA0RjU4MjE4RTY3NQorOjEwMTY1MDAwMzQwMEY1ODNFMDQ0MjBGMEMyMDM3Q0YwMTIzMjQ4Nzg3NQorOjEwMTY2MDAwOTBFNkZDMTIwRjdDNzhBM0U2MjQwNUY1ODIxOEU2MzQ5OAorOjEwMTY3MDAwMDBGNTgzRTAzMEU0MTVDMjAzNzg5MEU2NDQxMDdGMDA2MworOjEwMTY4MDAwRkU3QzA3MTIzMTlBMTIzMTA4MDIxNzQ5NzhBM0U2MjQyQQorOjEwMTY5MDAwMDRGNTgyMThFNjM0MDBGNTgzRTA1NENGRjBDMjAzN0NGMQorOjEwMTZBMDAwQzgxMjMyNDg3ODkwRTZGQzEyMEY3Qzc4QTNFNjI0MDQzNgorOjEwMTZCMDAwRjU4MjE4RTYzNDAwRjU4M0UwNDQzMEYwQzIwMzdDRjA5NAorOjEwMTZDMDAwMTIzMjQ4Nzg5MEU2RkMxMjBGN0M3OEEzRTYyNDA1RjVFOAorOjEwMTZEMDAwODIxOEU2MzQwMEY1ODNFMDMwRTQxNEMyMDM3ODkwRTYyMworOjEwMTZFMDAwNDQxMDdGMDBGRTdDMDcxMjMxOUExMjMxMDg4MDVENzgyOQorOjEwMTZGMDAwQTNFNjI0MDRGNTgyMThFNjM0MDBGNTgzRTA1NEVGRjAwNQorOjEwMTcwMDAwNzhBM0U2MjQwNEY1ODIxOEU2MzQwMEY1ODNFMDU0REY3QworOjEwMTcxMDAwRjA3ODkwRTYyNEZENzVGMDBBQTQyNDFDRjU4MkU0MzRFOAorOjEwMTcyMDAwRkRGNTgzQUM4MkFEODM3OEEwODY4MzA4ODY4MkVDRjlEMAorOjEwMTczMDAwRURGQTdCMEE3ODAxMTIwM0E3QzIwMzc4OTBFNkZDMTI0NworOjEwMTc0MDAwMTEyMzdEMDA3QzBCMTIyNEIxMTIzMTA4MjIxMjMwODU0NgorOjEwMTc1MDAwOTBGRjkxRTA5MEZENDFGMDdEMDI3QzAwMTIyNEIxMTJENworOjEwMTc2MDAwMzEwODIyMTIzMDg1OTBGRDQwRTBGNEZDOTBGRjkxRTBCQQorOjEwMTc3MDAwNUNGNTMzOTBGRDQxRTBGQzkwRkQ0MEUwNUM0MjMzRTVEOAorOjEwMTc4MDAwMzM5MEZGOTFGMDdDMDAxMjI1NEExMjMxMDgyMjc0M0NGQworOjEwMTc5MDAwOTBGQkU4RjA3NDNFOTBGQkU4RjBFNDkwRkQzMEYwMjIxRQorOjEwMTdBMDAwOEQzNThDMzRFQ0I0MDEwMjgwMDNEMzQwMDI4MDI4QjQyMAorOjEwMTdCMDAwMDIwMjgwMDNEMzQwMDhBODM1QzYyNUUwRjY4MDE4QjQ5RAorOjEwMTdDMDAwMDQwMjgwMDNEMzQwMEFBODM1QzYyNUUwMjVFMEY2ODA1MAorOjEwMTdEMDAwMDZBODM1NzYwMDgwMDAyMjhDM0M4RDNCRURGRUVDRkRBQQorOjEwMTdFMDAwN0YwMTc1NjAwNjc1NjEwMDkwRkQzMTEyMDQ2RTEyMDE3MworOjEwMTdGMDAwRTZCNDgwMDI4MDA2RDM1MDAzMDIxODlFOTBGRDMxMTI5OQorOjEwMTgwMDAwMDQ4MDkwMDAwMzEyMDFFQzU0RjBCNDMwMDI4MDAzRDM0MgorOjEwMTgxMDAwNDA1RjkwRkQzMTEyMDQ4MDkwMDAwODEyMDIwRUZBRkQyNAorOjEwMTgyMDAwRUJGRTdGMDE5MEZEMzQxMjA0NkVFRUNEOTAzNTAyRkM4QworOjEwMTgzMDAwRTQ5M0ZGNzQwMTkzRkVGOUVGRkE3QjAxRUFGRkU5RkVGRQorOjEwMTg0MDAwRUNDMzlFRUQ5RjQwMjU5MDM1MDRFNDkzRkQ3NDAxOTMxNQorOjEwMTg1MDAwRkNFREZFRUNGRDdGMDFFRUNERkM5MEZEMzZFMEQzOUM2RgorOjEwMTg2MDAwOTBGRDM1RTA5RDUwMDU3NTYwODA4MDMzMTIxOUJDODA3NQorOjEwMTg3MDAwMkVCNDYwMDI4MDAzRDM0MDBCQUMzQ0FEM0IxMjA3ODIxOAorOjEwMTg4MDAwOEM2MDgwMUJCNDEwMDNCMzQwMTBDM0I0MjAwM0IzNDA3QQorOjEwMTg5MDAwMDlDM0I0NDAwMjgwMDNEMzQwMDA3NTYwODE4MDAwODA5QQorOjEwMThBMDAwNzVCNDgxMDI4MDAzRDM0MDZCOTBGRDMxMTIwNDgwOTBBNworOjEwMThCMDAwMDAwMzEyMDFFQzU0RjBCNDMwMDI4MDAzRDM0MDFEOTBCOQorOjEwMThDMDAwRkQzMTEyMDQ4MDkwMDAwODEyMDIwRUZBRkRFQkZFN0YzQgorOjEwMThEMDAwMDE5MEZEMzcxMjA0NkUxMjE5MjY4MDM2QjQ2MDAyODAyMgorOjEwMThFMDAwMDNEMzQwMTM3NTNBNjFFNEY1MzlGNTM4QUMzQ0FEM0JCMAorOjEwMThGMDAwMTIwNURFOEM2MDgwMUJCNDEwMDNCMzQwMTBDM0I0MjAwQgorOjEwMTkwMDAwMDNCMzQwMDlDM0I0NDAwMjgwMDNEMzQwMDA3NTYwODEzMworOjEwMTkxMDAwODAwMDgwMDI4MDAwRTU2MEZDOTBGRDMxMTIwNDgwRUNDNAorOjEwMTkyMDAwOTAwMDAyMTIwMzE3QUM2MTIyOTBGRDMxMTIwNDgwOTBFNgorOjEwMTkzMDAwMDAwNDEyMDFFQzYwMDQ3NDAxODAwMUU0QTJFMDkyMDE1MQorOjEwMTk0MDAwOTBGRDMxMTIwNDgwRUQyNDAzRkQ1MDAxMEU5MEZEMzQxMgorOjEwMTk1MDAwMTIwNDZFOTBGRDMxMTIwNDgwOTAwMDA1MTIwMUVDRjUyNgorOjEwMTk2MDAwNjE5MDAwMDQxMjAxRUM1NDBGRkM3RDYxMTIxNzlERTU5QgorOjEwMTk3MDAwNjE3MDA0NzU2MDA4MjI3NTYwMDA3ODdFNzYwMDc4N0U1QworOjEwMTk4MDAwRTZDMzk1NjE1MDM4OTBGRDM3MTIwNDgwMTIwMUU2RkNFMQorOjEwMTk5MDAwOTBGRDM0MTIwNDgwRUMxMjAzMEYzMDAxMEU5MEZEMzlEQgorOjEwMTlBMDAwRTAwNEYwOTBGRDM4NzAwM0UwMDRGMDc4N0UwNjkwRkRDRQorOjEwMTlCMDAwMzZFMDA0RjA5MEZEMzU3MDAzRTAwNEYwODBDMDIyOTAyMgorOjEwMTlDMDAwRkQzMkUwRkRBM0UwRkNFREZFRUNGRDdGMDFFRDI0MEExRAorOjEwMTlEMDAwRkQ1MDAxMEU5MEZEM0ExMjA0NkU5MEZEMzExMjA0ODAwQworOjEwMTlFMDAwOTAwMDA0MTIwMUVDNTQwRkI0MDEwMjgwMDNEMzQwMTc5RAorOjEwMTlGMDAwOTBGRDNBMTIwNDgwMERFRDcwMDEwRTkwRkQzNzEyMDQzNworOjEwMUEwMDAwNkU3ODgyNzYwMTgwNEVCNDAyMDI4MDAzRDM0MDE5OTAzMgorOjEwMUExMDAwRkQzQTEyMDQ4MEVEMjQwMkZENTAwMTBFOTBGRDM3MTJCNAorOjEwMUEyMDAwMDQ2RTc4ODI3NjAyODAyREI0MDQwMjgwMDNEMzQwMTlCQworOjEwMUEzMDAwOTBGRDNBMTIwNDgwRUQyNDA0RkQ1MDAxMEU5MEZEMzcxNAorOjEwMUE0MDAwMTIwNDZFNzg4Mjc2MDQ4MDBDQjQwMDAyODAwM0QzNDBDNgorOjEwMUE1MDAwMDA3NTYwMDgyMjkwRkQzMTEyMDQ4MDkwMDAwNTEyMDE4QgorOjEwMUE2MDAwRUNGNTYxNzg3Rjc2MDA3ODdGRTZDMzk1NjE0MDAzMDJFQworOjEwMUE3MDAwMUIyNDc4ODA3NjAwNzg4MEU2QzM3ODgyOTY1MDc2OTAzMgorOjEwMUE4MDAwRkQzNDEyMDQ4MDEyMDFFNkZDOTBGRDNBMTIwNDg5MTIyMgorOjEwMUE5MDAwMDFFMEY0NUNGQzEyMDFFMEY4OTBGRDM3MTIwNDgwRThFQworOjEwMUFBMDAwQzBFMDEyMDFFNkM4RDBFMEM4NTg0Q0ZDOTBGRDM0MTJFQQorOjEwMUFCMDAwMDQ4MEVDMTIwMzBGNzg4MUVDRjY5MEZEMzlFMDA0RjAxRAorOjEwMUFDMDAwOTBGRDM4NzAwM0UwMDRGMDA5RTk3MDAxMEE5MEZEM0FENgorOjEwMUFEMDAwMTIwNDc3OTBGRDMxMTIwNDgwOTAwMDA0MTIwMUVDMzA2MgorOjEwMUFFMDAwRTQwRTkwRkQzNkUwMDRGMDkwRkQzNTcwMDNFMDA0RjA2NAorOjEwMUFGMDAwNzg4MDA2ODA4MTc4ODJFNkZERTRGRUZGRUVDREZDOTBFMgorOjEwMUIwMDAwRkQzOUUwMkNGMDkwRkQzOEUwM0RGMDc4ODJFNkZERTQxMAorOjEwMUIxMDAwRkVGRkVFQ0RGQzkwRkQzQ0UwMkNGMDkwRkQzQkUwM0Q2NworOjEwMUIyMDAwRjA3ODdGMDYwMjFBNjQ3NTYwMDAyMkU1M0QwNTNEMDRFOQorOjEwMUIzMDAwNzAwMkIyQjAyMkMwRTBDMEYwQzA4MkMwODNDMEQwRTg2MgorOjEwMUI0MDAwQzBFMEU5QzBFMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzAxRQorOjEwMUI1MDAwRTBFRUMwRTBFRkMwRTA5MEZGOTJFMDEyMDFCNzFCODAyMgorOjEwMUI2MDAwMzAxQjgwMzIxQjhGMzgxQkExM0ExQkIzM0UxQkNCNDQ2QQorOjEwMUI3MDAwMUJCRjQ2MUJENzUwMUMxOTUyMUJGODU0MUMzQTU2MDA2OQorOjEwMUI4MDAwMDAxQzVCOTBGRjkyRTA3RjAwRkU3QzAxMTIzMTlBMDIwNAorOjEwMUI5MDAwMUM2QkU0RkYwNEZFN0MwMzEyMzE5QTc0MjA5MEZGRkU1QworOjEwMUJBMDAwRjAwMjFDNkJFNEZGMDRGRTdDMDIxMjMxOUE3NDQwOTAzOAorOjEwMUJCMDAwRkZGRUYwMDIxQzZCRTRGRjA0RkU3QzA0MTIzMTlBMDI2QgorOjEwMUJDMDAwMUM2QkU0RkYwNEZFN0MwNTEyMzE5QTAyMUM2QkU0RkZERgorOjEwMUJEMDAwMDRGRTdDMDYxMjMxOUEwMjFDNkI5MEZGQTVFMDdEMDA4QQorOjEwMUJFMDAwOTBGRDAwQ0RGMEEzQ0RGMDkwRkQwMUUwRkNGNTgzOTBEOQorOjEwMUJGMDAwRkQwMEUwNDQzM0ZEMTIxQ0ZFODA3MzkwRkZCNUUwN0RENAorOjEwMUMwMDAwMDA5MEZEMDJDREYwQTNDREYwOTBGRDAzRTBGQ0Y1ODM0NAorOjEwMUMxMDAwOTBGRDAyRTA0NDQzRkQxMjFDRkU4MDUyOTBGRkE2RTBCRQorOjEwMUMyMDAwN0QwMDkwRkQwNENERjBBM0NERjA5MEZEMDVFMEZDRjUyNgorOjEwMUMzMDAwODM5MEZEMDRFMDQ0MzRGRDEyMUNGRTgwMzE5MEZGQjYxOQorOjEwMUM0MDAwRTA3RDAwOTBGRDA2Q0RGMEEzQ0RGMDkwRkQwN0UwRkMxNworOjEwMUM1MDAwRjU4MzkwRkQwNkUwNDQ0NEZEMTIxQ0ZFODAxMDkwRkZDOQorOjEwMUM2MDAwOTJFMDdEMDBGQ0VENDRBQUZEMTIxQ0ZFODAwMEU0OTA5MQorOjEwMUM3MDAwRkY5MkYwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEZDRDA1RAorOjEwMUM4MDAwRTBGQkQwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDgzRDBCQgorOjEwMUM5MDAwODJEMEYwRDBFMDMyMDU4MTA1ODEwNTgxMDU4MUE4ODFERgorOjEwMUNBMDAwMTgxODE4RURGNjA4RUNGNjkwRkY2QUUwMjBFNzAyODBCRAorOjEwMUNCMDAwRjc5MEZGNjlFMDdEMDBBODgxMThDREY2Q0QwOEY2N0Q4QworOjEwMUNDMDAwMDNBODgxRTYxOEZDRTZDQzI1RTBDQzMzQ0NEREY5Q0NDQQorOjEwMUNEMDAwRjZDQzA4RjZBODgxMThFNjQ0RjhGNkE4ODExODE4MTg3QQorOjEwMUNFMDAwRTZGRDA4RTZGQ0E4ODExODg2ODMwODg2ODJFREYwQTM0RAorOjEwMUNGMDAwRUNGMDc0MDI5MEZGNkFGMDE1ODExNTgxMTU4MTE1ODE1MQorOjEwMUQwMDAwMjJFNTgxMjQwNUY1ODFFNEE4ODExOEY2QTg4MTE4MTgzOAorOjEwMUQxMDAwMTgxOEVERjYwOEVDRjY5MEZCRkRFMDI0Rjg1MDAzMDJFRAorOjEwMUQyMDAwMUUxRkU0QTg4MTE4MThGNkE4ODExOEU2RkVBODgxMThERAorOjEwMUQzMDAwMTgxODE4RTZGRDA4RTZGQzdGMDBFRjI0Rjg0MDRERTQ5MworOjEwMUQ0MDAwRUYyNUUwMjQ4NUY1ODJFNDM0RkRGNTgzRTBGQkEzRTA5NAorOjEwMUQ1MDAwNkM3MDAzRkFFQjZENzAwOTc0MDFBODgxMTgxOEY2ODA5NQorOjEwMUQ2MDAwMkJFNEVGMjVFMDI0ODVGNTgyRTQzNEZERjU4MzdBMDA0OQorOjEwMUQ3MDAwRTA1NEYwQ0NGOENDQ0RGOUNERkI3ODAwRTk1NEYwRjk4MworOjEwMUQ4MDAwRUE2ODcwMDJFQjY5NzAwMTBFMEY4MEFFQTg4MTE4RUU1MAorOjEwMUQ5MDAwRjZBODgxMTgxODE4MThFREY2MDhFQ0Y2QTg4MUVGRjZFOQorOjEwMURBMDAwQTg4MTE4MThFNjcwNzlBODgxMThFNjI0Rjc0MDcxQTg3MAorOjEwMURCMDAwODExODE4MTgxOEU2NTQwRkE4ODFGNjY0MDQ2MDE3QTg1MworOjEwMURDMDAwODFFNjY0MDM2MDEwQTg4MTE4MTgxODE4RTZGRDA4RTY3QgorOjEwMUREMDAwRkMxMjFDOTM4MDRBN0MwQTEyMzBGQUE4ODExODE4MTg0OQorOjEwMURFMDAwMThFNkZEMDhFNkZDOTBGQkZDRTAyNUUwMjQ4NUY1ODI4MgorOjEwMURGMDAwRTQzNEZERjU4M0VERjBBM0VDRjA5MEZCRkNFMEZGRTRCMAorOjEwMUUwMDAwRUYwNDU0MDdGRjkwRkJGQ0YwOTBGQkZERTAwNEYwMTJBMAorOjEwMUUxMDAwMzE5MzkwRkJGRUUwNzAwOEU0RkVGRjdDMEYxMjMxOUFENAorOjEwMUUyMDAwODAyNzkwRkJGRkUwMDRGMDU0M0Y3MDFEOTBGQkZGRTAyMworOjEwMUUzMDAwNDRGRTdEMDBGQzkwRkJGQ0UwMjVFMDI0ODVGNTgyRTQ3NworOjEwMUU0MDAwMzRGREY1ODNFREYwQTNFQ0YwRTU4MTI0RkJGNTgxMjI3MAorOjEwMUU1MDAwNzg4NTc2MDA3ODg2NzYwMDc0MDE5MEZCRkVGMDEyMzA2QgorOjEwMUU2MDAwODU5MEZCRkRFMDYwNTk3QzBBMTIzMEZBOTBGQkZCRTBBNAorOjEwMUU3MDAwMjVFMDI0ODVGNTgyRTQzNEZERjU4M0UwRkRBM0UwRkM1NAorOjEwMUU4MDAwOTBGQkZCRTAyNUUwMjQ4NUY1ODJFNDM0RkRGNTgzRTQ1NgorOjEwMUU5MDAwRjBBM0YwOTBGQkZCRTBGRkU0RUYwNDU0MDdGRjkwRkI5RQorOjEwMUVBMDAwRkJGMDkwRkJGREUwMTRGMDc4ODNFREY2MDhFQ0Y2MTIwMQorOjEwMUVCMDAwMzE5M0IyQjM3ODgzRTZGRDA4RTZGQzEyMDhFNTgwQTExMQorOjEwMUVDMDAwMTIzMUU3Nzg4NTA2QjYwMDExNzg4NTc2MDA3ODg2RTZDNworOjEwMUVEMDAwRjQwNDA0QTJFMDkyQjQ3ODg2RjY4MDg1RTQ5MEZCRkVEOAorOjEwMUVFMDAwRjA5MEZCRkRFMDdEMDBGQ0VENDRDRkZEMTIxQzkzMTI1MQorOjEwMUVGMDAwMzEwODIyMTIzMDg1RTU2QTY0NDk0NTY5NjAxNTkwRkYxMgorOjEwMUYwMDAwODNFMDU0MEY3RDAwRDM5NTZBRUQ5NTY5NTAwNTEyMkUzQworOjEwMUYxMDAwQ0U4MDAzMTIyRjlFMTIzMTA4MjIxMjMwODVFNTZBNjRBQQorOjEwMUYyMDAwNDk0NTY5NjAwNTEyMkZEODgwMEU5MEZGODBFMDQ0MDg3MworOjEwMUYzMDAwRjA5MEZGODNFMDU0N0ZGMDEyMzEwODIyMTIzMDg1OEMzQworOjEwMUY0MDAwNTRFQzU0RjBCNDEwMTU3NTY0M0Q3NTYzRkQ3NTYyMDE3MQorOjEwMUY1MDAwRTU2NDI0MDNGNTY0RTU2MzM0MDBGNTYzRTRGNTU3RjVCRgorOjEwMUY2MDAwNTZFNTU2QzM5NDAxNTAyN0U1NTQ1NDBGRkNBRDY0QUVCQQorOjEwMUY3MDAwNjNBRjYyMTIwRTgyOEM1NUVDNjAwMjgwMTIwNTY0RTUzQworOjEwMUY4MDAwNjQ3MDAyMDU2MzA1NTdFNTU3NzAwMjA1NTY4MEQyRTU3NworOjEwMUY5MDAwNTQ1NDBGMjQ5N0Y4QzY1NEZFRjZFNTU0NTQwRjdGMDBBRQorOjEwMUZBMDAwRkU3QzEyMTIzMTlBRTU1NTE0NzAwOTdEMDA3QzA5MTJFRAorOjEwMUZCMDAwMjRCMTgwMDdBRDU3N0MwMDEyMjRCMTEyMzEwODIyMTJERgorOjEwMUZDMDAwMzA4NTkwRkZGQ0UwNDQwMkYwOTBGRjAwRTAzMEU3MTMyMgorOjEwMUZEMDAwOTBGRjgzRTA0NDgwRjA0MzY3ODA5MEZGRkNFMDQ0MDE4MQorOjEwMUZFMDAwRjA4MDExOTBGRjgyRTA0NDA4RjA1MzY3N0Y5MEZGRkM3RgorOjEwMUZGMDAwRTA1NEZFRjA5MEZGODFFMDQ0ODBGMDEyMjU2NDkwRkZGMQorOjEwMjAwMDAwRkVFMDQ0MDVGMDkwRkZGQ0UwNTRGREYwMTIzMTA4MjJBMAorOjEwMjAxMDAwMTIzMDg1N0MwMTEyMzI0ODc4QTdFNjQ0MDJGNjc0RkUzRAorOjEwMjAyMDAwRkMwNEZEMTIxQ0ZFOTBGRjZBRTAzMEU3MDI4MEY3RTQzQQorOjEwMjAzMDAwRjU0RTc1NEQxMEFDNEVBRDRERTU0RTE1NEU3MDAyMTU3QQorOjEwMjA0MDAwNERFQzRENjAwMjgwRUU0Mzg3MDExMjMxMDgyMjEyMzBDMAorOjEwMjA1MDAwODU3QzAyMTIzMTE0NzhBN0U2NTRGREY2MTIzMTA4MjI2RAorOjEwMjA2MDAwMTIzMDg1NzhBN0U2MzBFMDJDNzhBN0U2MzBFMTI2NzhCNAorOjEwMjA3MDAwQTdFNkZDRjU4MzE4RTY0NEYwRkQxMjFDOTM5MEZGRkNFNAorOjEwMjA4MDAwRTA0NDIwRjA3QzAyMTIzMjQ4NzhBN0U2NTRGREY2NzQ1MgorOjEwMjA5MDAwMUE5MEZGRkVGMDc4QTdFNkZDRjU4MzE4RTY0NEYxRkQwMAorOjEwMjBBMDAwMTIxQzkzMTIzMTA4MjI3NTY3MDA3NTY4MDBFNEY1NjYwQQorOjEwMjBCMDAwRjU2NUU0RjU2OTc1NkE0OTc0ODQ5MEZGODJGMDc0ODQ2QgorOjEwMjBDMDAwOTBGRjgwRjA3NDgwOTBGRjY4RjA3NDgwOTBGRjZBRjA1OQorOjEwMjBEMDAwQUQ0NkFGNDU3RTAwRUUyNEZDNTAwMzAyMjE2QUU0RUVEQgorOjEwMjBFMDAwNzVGMDA3QTQyNDNGRjU4MkU0MzRGQ0Y1ODNFMEZGRTRCNworOjEwMjBGMDAwRUY1NDgwRkRFNEVGNTQwRjE0RkZFRDYwMzhFNEVGNzUwQQorOjEwMjEwMDAwRjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzNzQ5MEYwRTRFOQorOjEwMjExMDAwRUY3NUYwMDhBNDI0NEFGNTgyRTQzNEZGRjU4Mzc0ODA1NworOjEwMjEyMDAwRjBFNEVGNzVGMDA4QTQyNDRFRjU4MkU0MzRGRkY1ODM2MworOjEwMjEzMDAwNzQ4MEYwODAzNEU0RUY3NUYwMDhBNDI0MDhGNTgyRTQ5QworOjEwMjE0MDAwMzRGRkY1ODM3NDkwRjBFNEVGNzVGMDA4QTQyNDBBRjVFOQorOjEwMjE1MDAwODJFNDM0RkZGNTgzRTRGMEU0RUY3NUYwMDhBNDI0MEU4NAorOjEwMjE2MDAwRjU4MkU0MzRGRkY1ODNFNEYwMEUwMjIwRDM4RDQ2OEUzMQorOjEwMjE3MDAwNDQ4RjQ1NzQ3RjkwRkZGREYwNzQ5MDkwRkZGQ0YwOTBDOQorOjEwMjE4MDAwRkMxOUUwMzBFNjA3OTBGRkZDRTA0NDA0RjAyMjkwRkNFQworOjEwMjE5MDAwMERFMDE0NzAwNDkwRkMwQ0UwNzAzOTkwRkMwMDc5MDY5RQorOjEwMjFBMDAwN0EzNTdCMTI3ODAxMTIwM0Y1N0YwMEVGMzM0MDE1RUY4QgorOjEwMjFCMDAwOTAzNTREOTNGQ0VGMjQ4MEY1ODJFNDM0RkNGNTgzRUNGQworOjEwMjFDMDAwRjAwRjgwRTc4RjU5OTBGQzJCNzkxODdBMzU3QjM1NzhBMgorOjEwMjFEMDAwMDExMjAzRjVFNDkwRkZGRkYwNzQ1MTkwRkZGQUYwNzRFMAorOjEwMjFFMDAwMDQ5MEZGRkJGMDc0NTM5MEZGRjhGMDc0NTE5MEZGRjlFNgorOjEwMjFGMDAwRjA3NDU1OTBGRkY3RjA3NDkzOTBGRkY2RjA3NDMyOTBGRQorOjEwMjIwMDAwRkZGNUYwNzU2NDNENzU2M0ZENzU2MjAxRTQ5MEZGODMzMQorOjEwMjIxMDAwRjA3NDgwOTBGRjgxRjA3NTU4MDRFNTU4NzVGMDA3QTRCQworOjEwMjIyMDAwMjQzRkY1ODJFNDM0RkNGNTgzRTA3ODg5RjZGQzU0MEYxMgorOjEwMjIzMDAwMTRGQzc4ODlFQ0Y2RTU1ODc1RjAwN0E0MjQ0MUY1ODI4MgorOjEwMjI0MDAwRTQzNEZDRjU4M0UwNzg4Qzc2RjgwODc2MDBGQzc4ODkzNQorOjEwMjI1MDAwRTY3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0U0RjA0MQorOjEwMjI2MDAwNzg4OUU2NzVGMDA4QTQyNDRGRjU4MkU0MzRGRkY1ODNGRAorOjEwMjI3MDAwRUNGMDc4OENFNkZGMDhFNjdFMDNDRkMzMTNDRjEzREVDNQorOjEwMjI4MDAwRjlGRTc4ODlFNjc1RjAwOEE0MjQ0OUY1ODJFNDM0RkY2NAorOjEwMjI5MDAwRjU4M0VFRjA3ODg5RTY3NUYwMDhBNDI0NEFGNTgyRTQyNworOjEwMjJBMDAwMzRGRkY1ODM3NDgwRjA3ODhBRUNGNjdEMDA3ODhERTY1MworOjEwMjJCMDAwMkNGNjE4RTYzREY2Nzg4Q0U2RkQwOEU2N0MwM0NEQzNFNworOjEwMjJDMDAwMTNDRDEzRENGOUZDNzg4OUU2NzVGMDA4QTQyNDRERjVFQworOjEwMjJEMDAwODJFNDM0RkZGNTgzRUNGMDc4ODlFNjc1RjAwOEE0MjRGNQorOjEwMjJFMDAwNEVGNTgyRTQzNEZGRjU4M0U0RjA3ODhDRTZGRDA4RTZGMQorOjEwMjJGMDAwRkM3ODg5RTZGRjdFMDBFRTI0RkM1MDAzMDIyNDZCRTRBOAorOjEwMjMwMDAwRUU3NUYwMDdBNDI0M0ZGNTgyRTQzNEZDRjU4M0UwRkY4QQorOjEwMjMxMDAwRTRFRjU0ODBGQUU0RUY1NDBGMTRGRkU0RUU3NUYwMDc5NQorOjEwMjMyMDAwQTQyNDQxRjU4MkU0MzRGQ0Y1ODNFMDc4OEFGNkVFNzU2NgorOjEwMjMzMDAwRjA4MEE0MjQwOEY4RTVGMDM0RjhGOUU4RkNFOUZEOEExNworOjEwMjM0MDAwNTlFQTcwMDMwMjIzRDhFNEVGNzVGMDA4QTQyNDQ4RjU5NQorOjEwMjM1MDAwODJFNDM0RkZGNTgzRTRGMDc4OEFFNkZBRTRFRjc1RjA3RQorOjEwMjM2MDAwMDhBNDI0NEZGNTgyRTQzNEZGRjU4M0VBRjBFREZCRUM5QQorOjEwMjM3MDAwN0EwM0NCQzMxM0NCMTNEQUY5RkFFNEVGNzVGMDA4QTRCMAorOjEwMjM4MDAwMjQ0OUY1ODJFNDM0RkZGNTgzRUFGMDc4OEFFNjdCMDA5RAorOjEwMjM5MDAwRkFFQzJBRkNFRDNCRkRGQkVDN0EwM0NCQzMxM0NCMTMyOQorOjEwMjNBMDAwREFGOUZBRTRFRjc1RjAwOEE0MjQ0REY1ODJFNDM0RkY3RAorOjEwMjNCMDAwRjU4M0VBRjBFNEVGNzVGMDA4QTQyNDRBRjU4MkU0MzRFQQorOjEwMjNDMDAwRkZGNTgzNzQ4MEYwRTRFRjc1RjAwOEE0MjQ0RUY1ODJFNQorOjEwMjNEMDAwRTQzNEZGRjU4Mzc0ODBGMDAyMjQ2N0U0RUY3NUYwMDhCRAorOjEwMjNFMDAwQTQyNDA4RjU4MkU0MzRGRkY1ODNFNEYwNzg4QUU2RkE2MQorOjEwMjNGMDAwRTRFRjc1RjAwOEE0MjQwRkY1ODJFNDM0RkZGNTgzRUFENgorOjEwMjQwMDAwRjBFREZCRUM3QTAzQ0JDMzEzQ0IxM0RBRjlGQUU0RUY2QworOjEwMjQxMDAwNzVGMDA4QTQyNDA5RjU4MkU0MzRGRkY1ODNFQUYwNzgyNgorOjEwMjQyMDAwOEFFNjdCMDBGQUVDMkFGQ0VEM0JGREZCRUM3QTAzQ0I2MQorOjEwMjQzMDAwQzMxM0NCMTNEQUY5RkFFNEVGNzVGMDA4QTQyNDBERjUxMQorOjEwMjQ0MDAwODJFNDM0RkZGNTgzRUFGMEU0RUY3NUYwMDhBNDI0MEE4RgorOjEwMjQ1MDAwRjU4MkU0MzRGRkY1ODNFNEYwRTRFRjc1RjAwOEE0MjQ5QQorOjEwMjQ2MDAwMEVGNTgyRTQzNEZGRjU4M0U0RjAwRTAyMjJGNDhFNTg3OAorOjEwMjQ3MDAwNzg4Q0VERjYwOEVDRjY3ODg5RUZGNjEyMjBBNDIyOEMyMQorOjEwMjQ4MDAwMjZFQzMwRTcxOEU1MjY1NDBGMTQ3NUYwMDhBNDI0NDgwQworOjEwMjQ5MDAwRjU4MkU0MzRGRkY1ODNFMDU0REZGMDgwMTZFNTI2NTQzRQorOjEwMjRBMDAwMEYxNDc1RjAwOEE0MjQwOEY1ODJFNDM0RkZGNTgzRTBFNgorOjEwMjRCMDAwNTRERkYwMjJFQzkwRkQzRkYwOEMyNEVEMjQwM0Y1MjU1MQorOjEwMjRDMDAwN0QwMEQzOTU2Q0VEOTU2QjQwMDM4NTZDMjVFNTI1MjQ0NworOjEwMjREMDAwQjc1MDA5NzUyNTAzNzQwMjkwRkQzRkYwQUMyNTEyMkYwQgorOjEwMjRFMDAwQzMyMkU0RjU2NkY1NjUxMjI0RTgyMjkwRkQzREUwNjUxRgorOjEwMjRGMDAwNkQ2MDBFNzQwNDkwRkQzRkYwRTRGNTY1NzU2NjAzODAzMQorOjEwMjUwMDAwNDY3RDZERTRGRUZGNzkzRDdBRkQ3QjAxNzQwNTc4MDAyMAorOjEwMjUxMDAwMTIwMzNGRTU2NjI0MDNGNTY2RTU2NTM0MDBGNTY1RTVERAorOjEwMjUyMDAwNjZEMzk1NkNFNTY1OTU2QjQwMDY4NTZDNjY4NTZCNjUzNQorOjEwMjUzMDAwRDNFNTY2OTQ0OEU1NjU5NDAwNDAwQzc0MDI5MEZEM0YzNQorOjEwMjU0MDAwRjBFNEY1NjU3NTY2MDNBQzY2MTIyRkMzMjJFQzkwRkRDRQorOjEwMjU1MDAwM0ZGMEU0RjU2NkY1NjU4QzMyRUM2MDA1MTIyRkI0ODAyRgorOjEwMjU2MDAwMDU3QzAwMTIyRkMzMjI5MEZGMDRFMEY1NEE5MEZGMDY3RAorOjEwMjU3MDAwRTBGREEzRTBFRDdEMDBGQzdEMDBGQzkwRkYwNkUwRkZBOAorOjEwMjU4MDAwQTNFMDdFMDBGRkU0RkVFQzRFRkNFRDRGRkRDM0VDOTRCNworOjEwMjU5MDAwNDhFRDk0MDA1MDIyOTBGRjA2RTBGREEzRTBFRDdEMDBBMQorOjEwMjVBMDAwRkM3RDAwRkM5MEZGMDZFMEZGQTNFMDdFMDBGRkU0RkU2MAorOjEwMjVCMDAwRUM0RUZDRUQ0RkZEODAwNEU0RkQ3QzQ4OEM2QzhENkI5MworOjEwMjVDMDAwOTBGRjAyRTBGREEzRTBFRDdEMDBGQzdEMDBGQzkwRkZBQworOjEwMjVEMDAwMDJFMEZGQTNFMDdFMDBGRkU0RkVFQzRFRjU0Q0VENEY4MQorOjEwMjVFMDAwRjU0Qjc1NjQzRDc1NjNGRDc1NjIwMTdEM0Q3RUZEN0YzNAorOjEwMjVGMDAwMDE3OTZERTRGQUZCNzQwNTc4MDAxMjAzM0Y3NTQ5MDAxOAorOjEwMjYwMDAwRTU0OTI0RkU0MDE5QUQ2NEFFNjNBRjYyRTQxMjAzMEZFNgorOjEwMjYxMDAwMDU0OTBERUQ3MDAxMEU4RDY0OEU2MzhGNjI4MEUxNzU0QQorOjEwMjYyMDAwNjQzRDc1NjNGRDc1NjIwMTkwRkYwMEUwNTQ2MEI0MDA4NQorOjEwMjYzMDAwMDI4MDA2RDM1MDAzMDIyQzEyRTU0QTU0MEZGNTQ5RTVGNworOjEwMjY0MDAwNEE1NDgwQTJFMDkyMDI5MEZGMDFFMDEyMDE4MTAwMEI0NworOjEwMjY1MDAwMkMwRDI2NjcyNzg1MkMwRDI4OTEyQzBEMjk3NDI5QTg2RgorOjEwMjY2MDAwMkIwRjJCMTIyQjUyMkJCNjJCRTRFNTY3MzBFNzBFRTUzMAorOjEwMjY3MDAwNEM0NTRCNzAwOEU1NkM2NDAyNDU2QjYwMDMwMjJDMEZGRgorOjEwMjY4MDAwOTBGRjAwRTA1NDFGQjQwMDAyODAwM0QzNDAyOUU1NEFDNAorOjEwMjY5MDAwNjAwMzAyMjc4MkFENjRBRTYzQUY2Mjc0MDExMjAzMEY2MAorOjEwMjZBMDAwNzhBN0U2MzBFMDBCQUQ2NEFFNjNBRjYyNzQwMjEyMDM0QworOjEwMjZCMDAwMEY3QzAyMTIyRkMzMjJCNDAxMDI4MDAzRDM0MDFCRTUxQQorOjEwMjZDMDAwNjcyMEUxMDdFNTRBNjAwMzAyMjc4MkU1NEEyNEZFNTBCRAorOjEwMjZEMDAwMDMwMjI3ODI3QzAyMTIyRkMzMjJCNDAyMDI4MDA2RDM5NworOjEwMjZFMDAwNTAwMzAyMjc4MEU1NjcyMEUxMERFNTRBNjAwOUU1NEFDRAorOjEwMjZGMDAwNjQ4MDYwMDMwMjI3ODJBQzRBMTIzMDRBNDAwMzAyMjdGQQorOjEwMjcwMDAwODJFNTQ5NzAyNTMwMDIxMTkwRkY4MEUwNTQwOEFENjRFNQorOjEwMjcxMDAwQUU2M0FGNjIxMjAzMEY4MDBGOTBGRjgyRTA1NDA4QURFQQorOjEwMjcyMDAwNjRBRTYzQUY2MjEyMDMwRjgwM0QxNTQ5MzAwMjFERTVCMAorOjEwMjczMDAwNDk3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0UwNTQ5OQorOjEwMjc0MDAwMDhBRDY0QUU2M0FGNjIxMjAzMEY4MDFCRTU0OTc1RjBGQworOjEwMjc1MDAwMDhBNDI0MDhGNTgyRTQzNEZGRjU4M0UwNTQwOEFENjQ0RQorOjEwMjc2MDAwQUU2M0FGNjIxMjAzMEZBRDY0QUU2M0FGNjIxMjAxRTZGNworOjEwMjc3MDAwNjAwQkFENjRBRTYzQUY2Mjc0MDExMjAzMEY3QzAyMTI5MgorOjEwMjc4MDAwMkZDMzIyODAwMDAyMkMwRkU1NjcyMEU3MDZFNTZDNDU4OQorOjEwMjc5MDAwNkI2MDAzMDIyQzBGOTBGRjAwRTA1NDFGQjQwMDAyODAxNgorOjEwMjdBMDAwMDNEMzQwMUFFNTRDMTQ0NTRCNzAwNEU1NEE2MDAzMDIxQworOjEwMjdCMDAwMjg4RTc4QTdFNjU0RkVGNjdDMDAxMjJGQzMyMkI0MDFCRgorOjEwMjdDMDAwMDI4MDAzRDM0MDJBRTU2NzIwRTEwOEU1NjcyMEUwMDNBMworOjEwMjdEMDAwMDIyODhFRTU2NzMwRTAwNEU1NEE3MDBCRTU2NzMwRTFEQQorOjEwMjdFMDAwMDlFNTRBMjRGRTUwMDMwMjI4OEU3QzAwMTIyRkMzMjJFMgorOjEwMjdGMDAwQjQwMjAyODAwNkQzNTAwMzAyMjg4Q0U1NEM0NTRCNjA5RQorOjEwMjgwMDAwMDMwMjI4OEVBQzRBMTIzMDRBNDAwMzAyMjg4RUU1Njc0NAorOjEwMjgxMDAwMjBFMTA3RTU2NzIwRTAwMjgwNzdFNTY3MzBFMDA2RTUyNAorOjEwMjgyMDAwNDk2MDAyODA2Q0U1NDk3MDBGOTBGRjgyRTA1NEY3RjAzOAorOjEwMjgzMDAwOTBGRjgwRTA1NEY3RjAyMkU1NDlCNDAxMDI4MDAzRDMxMQorOjEwMjg0MDAwNDAwOTdEMDE3QzAzMTIwRjBCODAxMUI0MDIwMjgwMDM0QQorOjEwMjg1MDAwRDM0MDA5N0QwMTdDMDQxMjBGMEI4MDAwMTU0OTMwMDIyMgorOjEwMjg2MDAwMTVFNTQ5NzVGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODNBMgorOjEwMjg3MDAwRTA1NEY3RjA4MDEzRTU0OTc1RjAwOEE0MjQwOEY1ODJDOAorOjEwMjg4MDAwRTQzNEZGRjU4M0UwNTRGN0YwN0MwMDEyMkZDMzIyODA3QworOjEwMjg5MDAwMDAwMjJDMEZFNTY3MjBFNzA2RTU2QzQ1NkI2MDAzMDIzQworOjEwMjhBMDAwMkMwRjkwRkYwMEUwNTQxRkI0MDAwMjgwMDNEMzQwMUFBNQorOjEwMjhCMDAwRTU0QzE0NDU0QjcwMDRFNTRBNjAwMzAyMjk3MTc4QTc4MgorOjEwMjhDMDAwRTY0NDAxRjY3QzAwMTIyRkMzMjJCNDAxMDI4MDAzRDMzOAorOjEwMjhEMDAwNDAyOUU1NjcyMEUxMDhFNTY3MjBFMDAzMDIyOTcxRTU2QQorOjEwMjhFMDAwNjczMEUwMDRFNTQ5NzAwQkU1NjczMEUxMDhFNTQ5MjQwRAorOjEwMjhGMDAwRkU1MDAyODA3RjdDMDAxMjJGQzMyMkI0MDIwMjgwMDNBQworOjEwMjkwMDAwRDM0MDZGRTU0QzQ1NEI2MDAyODA2OUFDNEExMjMwNEFCNworOjEwMjkxMDAwNDAwMjgwNjBFNTY3MjBFMTA3RTU2NzIwRTAwMjgwNTQxRgorOjEwMjkyMDAwRTU0OTcwMTQzMDAyMDk5MEZGODBFMDQ0MDhGMDgwMDcwOAorOjEwMjkzMDAwOTBGRjgyRTA0NDA4RjAyMkU1NjczMEUxMzMxNTQ5MzAyQQorOjEwMjk0MDAwMDIxNUU1NDk3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU0MgorOjEwMjk1MDAwODNFMDQ0MDhGMDgwMTNFNTQ5NzVGMDA4QTQyNDA4RjVFNQorOjEwMjk2MDAwODJFNDM0RkZGNTgzRTA0NDA4RjA3QzAwMTIyRkMzMjI5OAorOjEwMjk3MDAwODAwMjgwMDAwMjJDMEZFNTY3MjBFNzEyRTU2QzQ1NkJCMgorOjEwMjk4MDAwNzAwQ0U1NEE3MDA4OTBGRjAwRTA1NDFGNjAwMzAyMkNCMQorOjEwMjk5MDAwMEZFNTRDOTBGRkZGRjA5MEZGRkZFMDYwMDU0MzY3MDFGQgorOjEwMjlBMDAwODAwMzUzNjdGRTdDMDAxMjJGQzMyMkU1NjczMEU3MEVEOQorOjEwMjlCMDAwRTU2QzQ1NkI2MDA4OTBGRjAwRTA1NDFGNjAwMzAyMkMzQgorOjEwMjlDMDAwMEZBRDRCRTU0Q0VEN0QwMEZDN0QwMEZDQkQwMDAyODBCMQorOjEwMjlEMDAwMDMwMjJCMEFCNDAxMDI4MDAzRDM0MDMyRTU0QTcwMDU5QQorOjEwMjlFMDAwRTU0Q0ZDNjAwMzAyMkIwQzc1NjQwMDc1NjNGQzc1NjI5QQorOjEwMjlGMDAwMDFEM0U1NkM5NDEyRTU2Qjk0MDA0MDA2RTRGRDdDMTI3MworOjEwMkEwMDAwODAwNEFDNkNBRDZCOEM2QThENjkxMjJGRDgyMkI0MDIzNQorOjEwMkExMDAwMDI4MDAzRDM0MDU5RTU0QTYwMDMwMjJCMENFNTRDRkNDRAorOjEwMkEyMDAwNzAyNzc1NjQxMjc1NjNGQzc1NjIwMUQzRTU2Qzk0MTlBNworOjEwMkEzMDAwRTU2Qjk0MDA0MDA2RTRGRDdDMTk4MDA0QUM2Q0FENkI0MgorOjEwMkE0MDAwOEM2QThENjkxMjJGRDg4MDI1NzU2NDJCNzU2M0ZDNzU4RgorOjEwMkE1MDAwNjIwMUQzRTU2Qzk0MzVFNTZCOTQwMDQwMDZFNEZEN0M5RgorOjEwMkE2MDAwMzU4MDA0QUM2Q0FENkI4QzZBOEQ2OTEyMkZEODIyQjRBMgorOjEwMkE3MDAwMDMwMjgwMDZEMzUwMDMwMjJCMEFFNTRDRjU0OTcwMEY4MAorOjEwMkE4MDAwOTBGRjA0RTBGREEzRTA0RDYwMDMwMjJCMEM4MDE4OTA0MgorOjEwMkE5MDAwRkM4MkUwRkRBM0UwRkM5MEZGMDVFMDZDNzAwNzkwRkY3NgorOjEwMkFBMDAwMDRFMDZENjAwMjgwNjhFNEY1NkFGNTY5N0YwMEU1NDkzRAorOjEwMkFCMDAwMTRDNTQ5NjAwRkVGMjQ4MEY1ODJFNDM0RkNGNTgzRTAwRgorOjEwMkFDMDAwMkZGRjgwRUE4RjRBRTU0QTI0ODBGNTgyRTQzNEZDRjU0MgorOjEwMkFEMDAwODNFMDdEMDBEMzk1NkNFRDk1NkI0MDA2QUM2Q0FENkJERgorOjEwMkFFMDAwODAwRkU1NEEyNDgwRjU4MkU0MzRGQ0Y1ODNFMDdEMDAyNAorOjEwMkFGMDAwRkM4QzZBOEQ2OUU1NEEyNDgwRkNFNDM0RkNGREZFRUMyNAorOjEwMkIwMDAwRkQ3RjAxOEQ2NDhFNjM4RjYyMTIyRkQ4MjI4MDAwMDJCOAorOjEwMkIxMDAwMkMwRjAyMkMwRkU1NjczMEU3MTlFNTZDMTQ0NTZCNzAzQworOjEwMkIyMDAwMTJFNTRBNzAwRUU1NEM0NTRCNzAwODkwRkYwMEUwNTRFQQorOjEwMkIzMDAwMUY2MDAzMDIyQzBGRTU2NzIwRTAwOEU1NjcyMEUxMDMzMgorOjEwMkI0MDAwMDIyQzBGNzU2NDY4RTRGNTYzRjU2MkU0RjU2OTA0RjUzOQorOjEwMkI1MDAwNkExMjJGRDgyMkU1NjcyMEU3MjdFNTZDNDU2QjcwMjFDNAorOjEwMkI2MDAwRTU0QTcwMURFNTRDNjQwMjQ1NEI2MDBERTU0QzE0NDU4QgorOjEwMkI3MDAwNEI2MDA2RTU0QzQ1NEI3MDA4OTBGRjAwRTA1NDFGNjAyOQorOjEwMkI4MDAwMDMwMjJDMEZFNTY3MjBFMDA4RTU2NzIwRTEwMzAyMkMzMworOjEwMkI5MDAwMEY4NTRDNjhFNTY4NzAwODQzNjcwMTUzNjdGRDgwMTMzMworOjEwMkJBMDAwRTU2ODY0MDI2MDA3RTU2ODE0NjAwMjgwNjU1MzY3RkVBQgorOjEwMkJCMDAwNDM2NzAyN0MwMDEyMkZDMzIyRTU2NzMwRTcxQUU1NkNGOQorOjEwMkJDMDAwMTQ0NTZCNzAxM0U1NEE3MDBGRTU0QzQ1NEI3MDA5OTA0NgorOjEwMkJEMDAwRkYwMEUwNTQxRjE0NjAwMjgwMzhFNTY3MjBFMTAyODBBNgorOjEwMkJFMDAwMzE3QzAxMTIyRkMzMjJFNTY3MjBFNzE1RTU2QzQ1NkJBOAorOjEwMkJGMDAwNzAwRkU1NEM0NTRCNzAwOTkwRkYwMEUwNTQxRjE0NjBDNgorOjEwMkMwMDAwMDI4MDBGRTU2NzIwRTEwMjgwMDg3QzAwMTIyRkMzMjJCQQorOjEwMkMxMDAwODAwMDAyMkVDQUI0NDAwMjgwMDZEMzUwMDMwMjJFQzBBOAorOjEwMkMyMDAwOTBGRjAxRTA5MEZEM0RGMEU1NEE5MEZEM0VGMEU0OTAxQworOjEwMkMzMDAwRkQzRkYwRTU2NDI0MDNGNTY0RTU2MzM0MDBGNTYzQUQxRQorOjEwMkM0MDAwNEJFNTRDODU2NDgyODU2MzgzQ0RGMEEzQ0RGMDkwRkY4NgorOjEwMkM1MDAwMDFFMDEyMDFCNzJDN0QwMTJDQTMwMjJDQ0QwMzJDRjcyRgorOjEwMkM2MDAwMDQyRDQ1MDUyRDgyMDYyREE4MDcyRENFMDgyREY0MDkyQgorOjEwMkM3MDAwMkUxQTBCMkU0MDBDMkU0RjgwMkU0RjgxMDAwMDJFQURCMQorOjEwMkM4MDAwRTU2NzIwRTcwNjdDMDUxMjI1NEEyMjdEQjc3RTM0N0Y2MgorOjEwMkM5MDAwMDI3OTQwN0FGRDdCMDE3NDA4NzgwMDEyMDMzRjdEMDhCOQorOjEwMkNBMDAwN0MwMDEyMjRCMTIyRTU2NzIwRTcwNjdDMDUxMjI1NEE0NAorOjEwMkNCMDAwMjJFNTRBQjQwMzAwNDAxMEI0MDUwMDUwMEJFNTRBN0ZGQQorOjEwMkNDMDAwMDBGRTdDMTAxMjMxOUEyMjdEMDA3QzA3MTIyNEIxMjI3MgorOjEwMkNEMDAwRTU2NzIwRTcwNjdDMDUxMjI1NEEyMkU1NEFCNDAzMDA5MQorOjEwMkNFMDAwNDAxMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxMTEyMzEwNAorOjEwMkNGMDAwOUEyMjdEMDA3QzA3MTIyNEIxMjJFNTY3MjBFNzA2N0MzQQorOjEwMkQwMDAwMDUxMjI1NEEyMkU1NEFCNDA1MDI4MDAzRDM0MDBBRTRBRAorOjEwMkQxMDAwRkYwNEZFN0MwQTEyMzE5QTIyQjQwMTAyODAwM0QzNDBFMAorOjEwMkQyMDAwMEFFNEZGMDRGRTdDMDgxMjMxOUEyMkI0MDMwMDQwMTAyQQorOjEwMkQzMDAwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzEzMTIzMTlBMjI0NQorOjEwMkQ0MDAwN0QwMDdDMDcxMjI0QjEyMkU1NjcyMEU3MzREM0U1NkNDRgorOjEwMkQ1MDAwOTQ0OEU1NkI5NDAwNTAwNkU1NkM0NTZCNzAwNjdDMDI2OAorOjEwMkQ2MDAwMTIyNTRBMjJFNTRBQjQwMTAzQjM0MDBCQzNCNDAzMDA2MQorOjEwMkQ3MDAwNDAwOUI0MDYwMDUwMDQxMjMwNzAyMjdDMDcxMjI1NEEyNAorOjEwMkQ4MDAwMjIxMjI0RTgyMkU1NjcyMEU3MURFNTRBQjQwMzAwNDA0QgorOjEwMkQ5MDAwMTBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTYxMjMxOUFGNAorOjEwMkRBMDAwMjI3QzA3MTIyNTRBMjIxMjI0RTgyMkU1NjcyMEU3MUQyQgorOjEwMkRCMDAwRTU0QUI0MDMwMDQwMTBCNDA1MDA1MDBCRTU0QTdGMDAxQgorOjEwMkRDMDAwRkU3QzE5MTIzMTlBMjI3QzA3MTIyNTRBMjIxMjI0RTgyRAorOjEwMkREMDAwMjJFNTY3MjBFNzFERTU0QUI0MDMwMDQwMTBCNDA1MDA3MgorOjEwMkRFMDAwNTAwQkU1NEE3RjAwRkU3QzE3MTIzMTlBMjI3QzA3MTJCNQorOjEwMkRGMDAwMjU0QTIyMTIyNEU4MjJFNTY3MjBFNzFERTU0QUI0MDNBQworOjEwMkUwMDAwMDA0MDEwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzE4MTIwQworOjEwMkUxMDAwMzE5QTIyN0MwNzEyMjU0QTIyMTIyNEU4MjJFNTY3MjBGMworOjEwMkUyMDAwRTcxREU1NEFCNDAzMDA0MDEwQjQwNTAwNTAwQkU1NEEyNQorOjEwMkUzMDAwN0YwMEZFN0MxNTEyMzE5QTIyN0MwNzEyMjU0QTIyMTI0RAorOjEwMkU0MDAwMjRFODIyRTU2NzIwRTcwNjdDMDcxMjI1NEEyMjEyMjQ5RgorOjEwMkU1MDAwRTgyMkU1NjczMEU3MjA5MEZGMDBFMDU0MUY3MDEwOTBGMworOjEwMkU2MDAwRkYwMUUwQjQ4MDA1MTIyNERGODAwMzEyMjRFODIyN0RGNAorOjEwMkU3MDAwMDA3QzA1MTIyNEIxMjI5MEZGMDBFMDU0MUY2MDA2N0MwNAorOjEwMkU4MDAwMDUxMjI1NEEyMkQzRTU2Qzk0NDhFNTZCOTQwMDUwMEI1QgorOjEwMkU5MDAwQzNFNTZDOTQwN0U1NkI5NDAwNTAwNjdDMDMxMjI1NEE0OQorOjEwMkVBMDAwMjJFNTRBQjQwNTA0MTIzMDcwMjI3QzA3MTIyNTRBMjIxQQorOjEwMkVCMDAwRTU2NzMwRTcwODdEMDA3QzA1MTIyNEIxMjI3QzA1MTIwRAorOjEwMkVDMDAwMjU0QTIyQjQyMDAyODAwM0QzNDAwMDgwMDAxMjJGOUVBNgorOjEwMkVEMDAwMjI3NTQzMDA5MEZGODNFMDU0MEZEMzk1NDM0MDI0RTVDRgorOjEwMkVFMDAwNDMyNEYwRjU4MkU0MzRGRUY1ODNFMEFENjRBRTYzQUZENQorOjEwMkVGMDAwNjIxMjAzMEYwNTQzMERFRDcwMDEwRThENjQ4RTYzOEYxQQorOjEwMkYwMDAwNjI4MEQxRTU0MzdEMDBGQ0MzRTU2QTlDRjU2QUU1NjkxMgorOjEwMkYxMDAwOURGNTY5RTU2QTQ1Njk2MDA2RTQ5MEZGODNGMDIyOTBCQgorOjEwMkYyMDAwRkY4MkUwNDQwOEYwRTRGNTY5NzU2QTQ5OTBGRDNERTBGMAorOjEwMkYzMDAwQjQwNTAyODAwM0QzNDA0MDkwRkQzRUUwRjU0M0I0MDU2NAorOjEwMkY0MDAwMDI4MDAzRDM0MDBBRTRGRjA0RkU3QzBCMTIzMTlBMjI3NAorOjEwMkY1MDAwQjQwMTAyODAwM0QzNDAwQUU0RkYwNEZFN0MwOTEyMzE2RAorOjEwMkY2MDAwOUEyMkI0MDMwMDQwMTBCNDA1MDA1MDBCRTU0MzdGMDBFMworOjEwMkY3MDAwRkU3QzE0MTIzMTlBMjIyMkI0ODAwMDQwMjNCNDgyMDBENQorOjEwMkY4MDAwNTAxRTdDM0Q3REZEMTIxN0Q1N0QwMDhDNjY4RDY1OTBCMQorOjEwMkY5MDAwRkQzRkUwNjAwNTEyMkY5RTgwMDU3QzAwMTIyRkMzMjJBQQorOjEwMkZBMDAwMjI5MEZGODNFMDU0N0ZGMDkwRkY4MkUwNDQwOEYwOTA4RAorOjEwMkZCMDAwRkY4MEUwNDQwOEYwMjI5MEZGODJFMDQ0MDhGMDkwRkY5OAorOjEwMkZDMDAwODBFMDQ0MDhGMDIyOEMyMzdEMDA4QzZBOEQ2OTc1NjQ1MgorOjEwMkZEMDAwM0Q3NTYzRkQ3NTYyMDExMjJGRDgyMjkwRkY4M0UwNTQ4NgorOjEwMkZFMDAwN0ZGMEU1NkE2NDQ5NDU2OTcwMDEyMkMzRTU2QTk0MDg4NworOjEwMkZGMDAwRTU2OTk0MDA0MDE1NzUyMTA4RTUyMTdEMDBGQ0MzRTVENQorOjEwMzAwMDAwNkE5Q0Y1NkFFNTY5OURGNTY5ODAwOTg1NkEyMUU0RjVBMAorOjEwMzAxMDAwNjk3NTZBNDk3NTIyMDBFNTIyQzM5NTIxNTAyNkFENjQ4MQorOjEwMzAyMDAwQUU2M0FGNjIxMjAxRTZGQ0U1MjIyNEY4RjU4MkU0MzRENworOjEwMzAzMDAwRkVGNTgzRUNGMDA1MjIwREVENzAwMTBFOEQ2NDhFNjNCQworOjEwMzA0MDAwOEY2MjgwRDNFNTIxNTQ3RjkwRkY4MUYwMjI4QzQ4N0ZFRQorOjEwMzA1MDAwMDBFRjI0RkI0MDE5RTRFRjc1RjAwN0E0MjQzRkY1ODI0QworOjEwMzA2MDAwRTQzNEZDRjU4M0UwNjU0ODcwMDJEMzIyMEY4MEUyOEZFMAorOjEwMzA3MDAwNDdDMzIyODU2QzZBODU2QjY5OTBGRjgyRTA1NEY3RjA0NAorOjEwMzA4MDAwOTBGRjgzRTA1NDdGRjAyMkMwMDBDMDAxQzAwMkMwMDY2MAorOjEwMzA5MDAwQzAwN0U1NzIyNDA4Rjg4NjA2NTMwNjdGN0NGRjEyMzBDRAorOjEwMzBBMDAwRkE3QzAwN0QwMEU1NzU2MDQ2RkY5MEZFOURFMDU0N0Y1MAorOjEwMzBCMDAwNkU3MDBGQzA4M0MwODJBM0UwRkRBM0UwRkNBMzE1NzU3MgorOjEwMzBDMDAwODAwN0EzQTNBM0RGRTY4MDI2REYwNkQwODJEMDgzODAxQgorOjEwMzBEMDAwMUVFMEY4QTNFMEY5QTNFMEZBRDA4MkQwODNFOEYwQTNFMQorOjEwMzBFMDAwRTlGMEEzRUFGMEEzQzA4M0MwODJBM0EzQTM4MERBMTIwRAorOjEwMzBGMDAwMzE5M0QwMDdEMDA2RDAwMkQwMDFEMDAwMjI4NUE4NzQyOQorOjEwMzEwMDAwNzVBODg4RUM3MDAyN0MzRjhDNzMyMkU1NzIyNDA4Rjg2NQorOjEwMzExMDAwNzYwMDEyMzFFNzgwRkJDMDAwQzAwMUMwMDJDMDA2QzBDQgorOjEwMzEyMDAwMDdBRTA0N0NGRjEyMzBGQUU1NzU2MDQyRkY5MEZFOUQwOQorOjEwMzEzMDAwRTA1NDdGNkU3MDBCQzA4M0MwODJBM0EzQTMxNTc1ODA3QgorOjEwMzE0MDAwMDdBM0EzQTNERkVBODAyNkRGMDZEMDgyRDA4MzgwRDgzRQorOjEwMzE1MDAwRTBGOEEzRTBGOUEzRTBGQUQwODJEMDgzRThGMEEzRTk5NQorOjEwMzE2MDAwRjBBM0VBRjBBM0MwODNDMDgyQTNBM0EzODBEQTc4MDgwNworOjEwMzE3MDAwMDg3OTE4MDk3QzAxRTY1NDdGNkU3MDA2NzYwMDc3MDBBNgorOjEwMzE4MDAwODAwNjA4MDkwQ0JDMDhFRTEyMzE5M0QwMDdEMDA2RDA5NworOjEwMzE5MDAwMDJEMDAxRDAwMDIyNzU3MzAwODU3NEE4MjJDMEYwQzA0RgorOjEwMzFBMDAwODJDMDgzQzNFNTc1MjRFODUwMDUxMjMxRTc4MEY0RUM1MgorOjEwMzFCMDAwNjAzMTkwMzRCNkU0OTNDMzlDNDAyOEMwMDQ3Q0ZGMTI3NQorOjEwMzFDMDAwMzBGQUQwMDQ0MzA0ODBFNTc1NzVGMDAzQTQyNDlERjUxRQorOjEwMzFEMDAwODJFNDM0RkVGNTgzRUNGMEVGQTNGMEVFQTNGMDA1NzU4NgorOjEwMzFFMDAwMTIzMTkzRDA4M0QwODJEMEYwMjJDMDA0N0MyMEQyOENDNAorOjEwMzFGMDAwRDI4REQ1MDRGREQwMDQyMjc1QTgwMDc1ODgwMDc1Qjg1RAorOjEwMzIwMDAwMDA3NUYwMDA3NUQwMDBFNEY4OTAwMDAwRjYwOEI4MDBGMgorOjEwMzIxMDAwRkIwMjAwMDBDM0VEOTQwMjUwMDQ3RDAzN0NFOEVDRjQ1MworOjEwMzIyMDAwRkNFREY0RkQwQ0JDMDAwMTBEOEM3OThENzgyMkMzRUMxMworOjEwMzIzMDAwOTRCQ0VEOTQwMjUwMDQ3RDA3N0NEMEVDRjRGQ0VERjREQQorOjEwMzI0MDAwRkQwQ0JDMDAwMTBEOEM3NzhENzYyMkVDNzAwMTIyQzA0NAorOjEwMzI1MDAwMDBFNTcyMjQxOEY4QTYwNEU1NzIyNDA4RjhDNjU0N0YyNQorOjEwMzI2MDAwRjZFNjMwRTcwM0QwMDAyMjEyMzFFNzgwRjRDMjhDODUwNQorOjEwMzI3MDAwNzY4Qzg1Nzc4QUQyOENDMEUwQzBEMEMwRjBDMDgyQzA4NgorOjEwMzI4MDAwODNDMDAwQzAwMUMwMDJDMDAzQzAwNEMwMDVDMDA2QzBBNgorOjEwMzI5MDAwMDcxMjFCMjhFNTcyMjQwOEY4RTY2MDI0RTU3MjI0MTA2MgorOjEwMzJBMDAwRjhBNjgxRTU3Mjc1RjAyMUE0MjQ5NUY1ODJFNDM0RkQzOQorOjEwMzJCMDAwRjU4Mzc4QThFNTgxMDRDMzk4RjlFNkYwMDhBM0Q5RkE2NAorOjEwMzJDMDAwNzQwODI1NzJGODA1NzIwOEU2NTQ4MDcwMENFNTcyQjQzMworOjEwMzJEMDAwMDdGMzc4MDg3NTcyMDA4MEVGRTU3MjI0MTBGODg2ODE5NAorOjEwMzJFMDAwRTU3Mjc1RjAyMUE0MjQ5NUY1ODJFNDM0RkRGNTgzNzgyOAorOjEwMzJGMDAwQThFNTgxMDRDMzk4RjlFMEY2MDhBM0Q5RkFEMDA3RDA2RAorOjEwMzMwMDAwMDZEMDA1RDAwNEQwMDNEMDAyRDAwMUQwMDBEMDgzRDBBNQorOjEwMzMxMDAwODJEMEYwRDBEMEQwRTAzMkMwRTBDMEQwQzAwMEMwMDEzOAorOjEwMzMyMDAwQzAwMkMyOEU4NTc4OEQ4NTc5OEJEMjhFNzgxOTc5MDkwNQorOjEwMzMzMDAwN0EwN0U3NzAwNEE2MDA4MDBCRTY2MDA4MTZFNjcwMDRDMgorOjEwMzM0MDAwRTc0NDgwRjcwODA5REFFQUU1NzM2MDEzMTRGNTczNzA0RgorOjEwMzM1MDAwMEVFNTcyMjQwOEY4NzYwMDEyMzE5M0QyOENEMjhERDAwQgorOjEwMzM2MDAwMDJEMDAxRDAwMEQwRDBEMEUwMzI3NTgxQTc3NTkwMDA5NgorOjEwMzM3MDAwNzU3OTMwNzU3OEY4NzU3NzYwNzU3NkYwMTIwNTNDMTJCRQorOjEwMzM4MDAwMzQwRjEyMTc4QjEyMzQzOTEyMzFGNTgwRTMyMkMwMDA0QQorOjEwMzM5MDAwN0MwMUVDMjQwOEY4RTY2MDA5MENCQzA4RjUxMjMxRTc2MgorOjEwMzNBMDAwODBFRUQwMDAyMkMwRjBDMDgyQzA4M0MwMDBDMDA2QzA0MgorOjEwMzNCMDAwMDdFRDI0MTBGODc2QjZFRDc1RjAyMUE0MjQ5NUY1ODI3QQorOjEwMzNDMDAwRTQzNEZERjU4M0MwODJDMDgzQTNBM0U0NzgwREYwQTNBOQorOjEwMzNEMDAwRDhGQ0VDNTQ3Rjc1RjAwMkE0MjQ4MkY1ODJFNUYwMzQyOQorOjEwMzNFMDAwMzRGNTgzRTQ5M0ZFNzQwMTkzRjU4MjhFODNFNDkzRkVCNworOjEwMzNGMDAwNzQwMTkzRkZEMDgzRDA4MkVGRjBBM0VFRjBFRDI0MDhBOAorOjEwMzQwMDAwRjhFQzQ0ODBGNkQwMDdEMDA2RDAwMEQwODNEMDgyRDAyQworOjEwMzQxMDAwRjAyMjc1NzIwMDc1NzUwMDdBMDg3OTE4NzgwODc2MDBDMAorOjEwMzQyMDAwNzcwMDA4MDlEQUY4RTQ3ODA4NzQ4MDQ0N0ZGNjc0MDFCQworOjEwMzQzMDAwNDQxMEY1ODk3NUI4MDhEMkFCRDJBOTIyNzU4MUE3RDJGQworOjEwMzQ0MDAwOEVEMjhDRDJBRkU1NzU2MDMyRkY5MEZFOURFMDU0ODA0NQorOjEwMzQ1MDAwNjAyNDc4MDg3OTA4RTA1NDdGRkE3QjAwRTY1NDdGQjU1MQorOjEwMzQ2MDAwMDIwMjdCRkYwOEQ5RjVFQjcwMENFQUYwMTIzMzhCQUQ0QQorOjEwMzQ3MDAwMDRBQzAyMTIzM0EyQTNBM0EzREZEMjEyMzFFNzgwQzVBQQorOjEwMzQ4MDAwN0MwMTdEMDAyMjA0RjUwNEU5MDRFRDA0RTEwNEREMDQ3RgorOjEwMzQ5MDAwRDkwNEU1MDRGMTA0OUQwNEExMDRDRDA0RDEwNDk5MDRFOAorOjEwMzRBMDAwOTkwNDk5MDRENTA0QjUwNEFEMDRCMTA0QTkwNEMxMDQ3OAorOjEwMzRCMDAwQkQwNEI5MDRDNTA0QzkwNEE1MTkwMTAzMDAyMjAwNDhDQworOjEwMzRDMDAwMDIwMDI0MEYxODBBMTA2NDBENjgwQzA1MDYwMjAzMDE5RgorOjEwMzREMDAwMDE4MTAxMDAwMEU3MDBDMDAwODAwMDYwMDA0MDAwMzA3MgorOjEwMzRFMDAwMDAxODAwMEMwMDA4MDAwNDAwMDIwMDAxMDAwODE4Mzg1MQorOjEwMzRGMDAwMjgwNjAyMTAwQTAyMDAwMDAwMDAwMDAxODExMDBBMDJFMgorOjEwMzUwMDAwMDAwMDAwMDAwMEZCRThGQkZBMTIwMTEwMDFGRjAwMDBDMAorOjEwMzUxMDAwMDg1MTA0NUY1MDE2MDEwMTAyMDAwMjA5MDIzNTAwMDE0MgorOjEwMzUyMDAwMDIwMEUwMDAwOTA0MDAwMDA1RkYwMDAwMDAwNzA1ODExQgorOjEwMzUzMDAwMDI0MDAwMDAwNzA1MDEwMjQwMDAwMDA3MDU4MjAyNDAyQQorOjEwMzU0MDAwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTg1MDMwMjAwMDE5NAorOjEwMzU1MDAwMDQwMzA5MDQyNDAzNTQwMDY1MDA3ODAwNjEwMDczMDAyQgorOjEwMzU2MDAwMjAwMDQ5MDA2RTAwNzMwMDc0MDA3MjAwNzUwMDZEMDA0OQorOjEwMzU3MDAwNjUwMDZFMDA3NDAwNzMwMDJBMDM1NDAwNTUwMDUzMDA2OAorOjEwMzU4MDAwNDIwMDM1MDAzMDAwMzUwMDMyMDAyMDAwNTMwMDY1MDA1NQorOjEwMzU5MDAwNzIwMDY5MDA2MTAwNkMwMDIwMDA1MDAwNkYwMDcyMDAzMgorOjEwMzVBMDAwNzQwMDIyMDM1NDAwNTUwMDUzMDA0MjAwMzUwMDMwMDBERgorOjEwMzVCMDAwMzUwMDMyMDAyMDAwMjAwMDIwMDAyMDAwMjAwMDIwMDBFNAorOjA0MzVDMDAwMjAwMDIwMDBDNworOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3RyX3NtY3RyLmJpbi5paGV4IGIvZmlybXdhcmUvdHJfc21jdHIuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc5NzQ1MQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3RyX3NtY3RyLmJpbi5paGV4CkBAIC0wLDAgKzEsNDc3IEBACis6MTAwMDAwMDBCQzFEMTIzQjYzQjRFOTAwMDAxRjAwMDEwMTAwMDIwNUEyCis6MTAwMDEwMDAwMTAwMDYwMzAxMDAwNDA5MDEwMDBBMDcwMTAwMDgwQkEyCis6MTAwMDIwMDAwMTAwMEMwMDAwMDAwMDBGMDEwMDEwMEQwMTAwMEUxMzc0Cis6MTAwMDMwMDAwMTAwMTQxMTAxMDAxMjAwMDAwNTAwMTUwMTAwMTYxOTNECis6MTAwMDQwMDAwMTAwMUExNzAxMDAxODAwMDAwRTAwMDAwMDAxMDAwMDU2Cis6MTAwMDUwMDAwMDA0MDAxQjAxMDAxQzAwMDAwNzAwMDAwMDBGMDAwMDRFCis6MTAwMDYwMDAwMDBCMDAxRDAxMDAxRTAwMDAwODAwMDAwMDAyMDAwMDNGCis6MTAwMDcwMDAwMDBDMDAwMDAwMDYwMDAwMDAwRDAwMDAwMDAzMDAwMDVFCis6MTAwMDgwMDAwMDBBMDAwMDAwMDkwMDA0NzhDNkJDMDE5NDA0OTM4MEIzCis6MTAwMDkwMDBDODQwNjJFOURBMUMyQzE1NTU1NTU1NTU1NTU1NTU1ODJCCis6MTAwMEEwMDAwQkU5RTVENTk1QzE5RDc3Q0VCQkEwNkUxQzA1RjY3NzEzCis6MTAwMEIwMDBDNjAyRkE5NjcwRTgxREMwMTcwRTAyRkE1ODdEQzA1RjlFCis6MTAwMEMwMDA3MkNFRUNBNEMzODQ5MDdBMzBDRDhENzkxOUU3NkMyNDdDCis6MTAwMEQwMDAyNzlDMDgzOTA3MzhBODRBNENFQTREOTg5QjI0NENDMDA1Cis6MTAwMEUwMDAyNkQzRTc1NDVBNERGMjRDMEMxMzIzNDk5MDMyNkVBNDk4Cis6MTAwMEYwMDBERjkzNzExMzc3MjZFMTI2RjgyNjBDNEMxMjI2MDgwOUE3Cis6MTAwMTAwMDA4MjgyNjBBOTMwNzkzNkIwQjJBOEE3NzI2NDhGOUIzMzFGCis6MTAwMTEwMDAzM0Y5QjgzOUQ1MTE3M0FBNzUyNjVEMjY1MTkzMkE0OTRBCis6MTAwMTIwMDA5NEM5OTU4OUJDNERDODlCODA5QkEwOTkwNjRDODYyNjk2Cis6MTAwMTMwMDA1ODlCQTQ5Qjk5Mzc2MjZDNjc5QjMzMzBCRjM2NjY2MUNFCis6MTAwMTQwMDBCRjM2RUNDNUJENjY4MjVBNTAzMUQ1OUQ5ODE4MjkzQzAyCis6MTAwMTUwMDA5ODg2NEMxNzI2M0UyQ0I4NjkzQjQ5MkVCNDA4NDMxQUEyCis6MTAwMTYwMDBBNEY5QjM1MUYxMTBGMzQzQ0QwODZGNjM3OUIzMzMwRUEzCis6MTAwMTcwMDAxMzk4NDk5ODA0REE3Q0UwNTI3OTMxMEM5ODJFNERBQ0YyCis6MTAwMTgwMDAyQzg0MTRFRTRDRkU2NzVFRTQ5QTc1MjlEN0E5MzUzQUEzCis6MTAwMTkwMDA5NDVCRDU5QjU4QjRBRjc1NjZBRjE0QTlFRjQwOTUyNTE1Cis6MTAwMUEwMDAwOEI5QUQ0MkZDRDhEOThDMzMwRTEzOTg2NjFFNDVBQzA1Cis6MTAwMUIwMDBCMDBDNDJEM0NDQTYxMjYyREVCNEIxODA0OTdEQTJERTdGCis6MTAwMUMwMDBCNDE4QzAyNDg0RTY1NEY1ODM0NjAxNjgxQTYzMENDNjRCCis6MTAwMUQwMDAxMjY0RkE0QzM1MUMyQzBFQUFBQUFBQUFBQUFBQUFBQTg4Cis6MTAwMUUwMDBBQUFBQUFBQUFBQURENzAyNzBFMDRDRjNBMUMxRDVDMEIxCis6MTAwMUYwMDAzQ0I5NjkzOTYwNEU1ODc3MDI2NzkzM0M5OUU0Q0YzODJGCis6MTAwMjAwMDAxQzk3MkU0MDFCOTAzMTQ2QTM1RTBFODgzNDZBMzVFMDYxCis6MTAwMjEwMDBFOEFBMzUxQUE5RjUxNTQ2QTNFQTdENEFBMzUxQUE5RjczCis6MTAwMjIwMDA3MDU0QTY1NzJFQjRDREM4QTMwQ0MxREFDNkUxQ0I3QTYwCis6MTAwMjMwMDBENDFDNjhGRkNGNTVBOEMwMkQ4NTExMTc0NDJBMzAwQjU4Cis6MTAwMjQwMDA0QTg4QzI0REI1MjBENTI2MDE2OTUxNjk1MjE5NTI2MEJDCis6MTAwMjUwMDAxNjk1MTY4Mjk2NTQ5ODA1QTU0NUYzREQ2QUY5MjgxODc3Cis6MTAwMjYwMDBFRjAwMzAzMDUxNEU0NDVEMTJEMTQzRTYxMjZGOUVCQTFBCis6MTAwMjcwMDBDQ0RGMjUwMzFERTAwNjA2MEEzMENDQTlFQjJEMDA4NjU1Cis6MTAwMjgwMDBBNjEyNjU0RjU2RDY2NTQ5NUYzREU4MzdDOTQwQzc3ODI1Cis6MTAwMjkwMDAwMTgxODI4QzMzMTg0OTgwQUU0MEM1MTgwNTlDNkQxOEM5Cis6MTAwMkEwMDA2NjBFRjNBMEM2MTI2MkRFRjUwNEI0QUM2QkM2MTk5MUZCCis6MTAwMkIwMDA3MzA1NDgyRTcyOTQ4MDczQTFDODQ3MzY2NjY0MkYzNjQyCis6MTAwMkMwMDA2NjY0MDc5OTAyOTE4RTcyRDEwRjlEMDYzMTczQTBDM0E3Cis6MTAwMkQwMDA1MTZBMUEyMEJGM0EwQzJDNzM4NzQzNUU2MDAyMjNGQ0RDCis6MTAwMkUwMDBFMEQ2MzVFRjlFRjVFRjkyODE4RUYwMDMwMzA1MTg2Njk4Cis6MTAwMkYwMDA0NUNDMEI0ODJFNzAwQTQwMzlEMEU0MjM5QjMzMzIxNzhCCis6MTAwMzAwMDA5QjMzMzIwM0NDODU0OEM3MzgxNEE1Q0UyOTdFRDI4MEQyCis6MTAwMzEwMDBBMUE4QjQ0ODg4MkZDRTgzMEIxQ0UxRDBENzk4MDQ4OEJECis6MTAwMzIwMDA4N0NFOTYzMTczQTU4RkYzODM1OEQ3QkU3QjgyQUY5MjY5Cis6MTAwMzMwMDA4MThFRjAwMzAzMDUxODY2NDVDQzE1MjBCOUM4MjkwMDQ1Cis6MTAwMzQwMDBFNzQzOTA4RTZDQ0NDODVFNkNDQ0M4MEYzMjA1MjMxQzgyCis6MTAwMzUwMDBFNDUwRDQ1QTE3ODgyRkNFODMxMEY5RDAyMzE3M0EwNENCCis6MTAwMzYwMDAzNUU2MDAyMjE2MzlDM0EzRkNFMEQ2MzVFMEJGRjQxODA5Cis6MTAwMzcwMDBGMjJENEQ0MzUxNkU1QTIyMUYzMEQ0MTdFNzQxOTE3MzJECis6MTAwMzgwMDAwNTQ4MkU3NzY5MDBFNzQzOTA4RTZDQ0NDODVFNkNDQzM0Cis6MTAwMzkwMDBDODBGMzIwNTIzMUNFRjRDNEUwNjA0Qzk5RTBCRkY0MUNCCis6MTAwM0EwMDA4RjIyRDRENDM1MTZFNUEyMjFGMzVBODJGQ0U4MzIyRUVFCis6MTAwM0IwMDA2MEE5MDVDRTEzNDgwNzNBMUM4NDczNjY2NjQyRjM2NjRCCis6MTAwM0MwMDA2NjQwNzk5MDI5MThFNzBBOTg5QzBBOUVCNTEyNUM3Q0QxCis6MTAwM0QwMDBDMzMxOEI5ODJBN0NEM0VEMzhFOUQzNEU3NEVENDk5RTE2Cis6MTAwM0UwMDAwQkZGNDE4RjIyRDRENDM1MTZFNUEyMkRFQjQ1MzM4Rjc4Cis6MTAwM0YwMDBGQ0Y3QTA1RjI1MDMxREU0MEUwNjBBMzBDQzBDRjNFQkRFCis6MTAwNDAwMDA0MERFNjFBODcwOTIwQTAwRTEyNDFFMDBFMTI0MUUwMDczCis6MTAwNDEwMDBFMTI0MUUwMEUxMjQxRTAwRTEyNDFFMDEwRjk4MkEwQjk2Cis6MTAwNDIwMDBGM0EwQzhCOUEyQTQxNzNBNjkwMEU3NDM5MDhFNzU0OEIzCis6MTAwNDMwMDA1RTcwNjkwMUU2MDA1MjMxQ0MxODE0QTVDQzA5ODI5NDkzCis6MTAwNDQwMDA3MzBDQTA5MUY1MjVDQzA3MDY4NDg0OUYzMEEyQTQ3RDZGCis6MTAwNDUwMDA1MDc1QTY2NTAxNEE4RUI0Q0NDNDM1NTQ3NTY2QTQ5NzEwCis6MTAwNDYwMDA3QTg5NTA1MzEzODAxOUUzNDk1QzZEQ0VBOTQwMzUwNjUzCis6MTAwNDcwMDA3OEQyNTcwNkYxQjMyQThEOTcyMzYyOTI1RDY5OTkxQzUxCis6MTAwNDgwMDA2QTM2RTZDRDQ2MTI2RjlFRTFBQkU0QTMwQ0MwREVBQzRCCis6MTAwNDkwMDBENDBEMjgxQkQwMTJBNTAwRjg0QkFEMzMyODA2QTBERUUyCis6MTAwNEEwMDAxNDk3M0E4OTVEQzAwREUzMDY5MDkyNUQ2OTk4NjZCOTJDCis6MTAwNEIwMDAxOTk1RTRBOENGOUQzMzE4NDlCRTdCODZBRjkyOEMzMzQzCis6MTAwNEMwMDAyNDE0MENGNDgzMjQyMUMyNzBCRkY0MThGMjJENEQ0MzgwCis6MTAwNEQwMDA1MTZFNUEyMjFGMzJBODJGQ0U4MzIyRTYwNUE0MTczQTY2Cis6MTAwNEUwMDA2OTAwRTc0MzkwOEU3NTQ4NUU3MDY5MDFFNjQyQTQ2MzM3Cis6MTAwNEYwMDA5ODAyMjk0QjlBMjk3OEU5NDA1MzEzODE4MTMyNjc4MjA3Cis6MTAwNTAwMDBGRkQwNjNDOEI1MzUwRDQ1QUU1MDA4N0NFMEQwNUY5RDg3Cis6MTAwNTEwMDAwNjQ1Q0MwMUE0MTczQTY5MDBFNzQzOTA4RTc1NDg1RTAyCis6MTAwNTIwMDA3MDY5MDFFNjU5QTQ2Mzk4MUM1Mjk3M0IzMDUyOEU3RDQ2Cis6MTAwNTMwMDAyQTA5MUY1MUVCQTRBNDBBQjk5NDg3QUVDNTMxMzgwMjI5Cis6MTAwNTQwMDBGRkQwNjNDOEI1MzUwRDQ1QUU1MDA4N0NFQTIwQkYzQUYwCis6MTAwNTUwMDAwQzhCOUExNjkwNUNFOUE0MDM5RDBFNDIzOUQ1MjE3OTQzCis6MTAwNTYwMDA5NTQ4MEYzMDBBOTE4RTYwRUIyOTczMDAwOTU0MDRDQTM0Cis6MTAwNTcwMDA4MjY1NTI2NUU0Q0EyMjY1NzI2NTA5MzJFMDk5NzI0QzVGCis6MTAwNTgwMDBDNEUwMEJGRjQxOEYyMkQ0RDQzNTE2Qjk0MDIxRjM4QTQxCis6MTAwNTkwMDA4MkZDRTgzMjJFNjBBOTA1Q0U5QTQwMzlEMEU0MjM5RDMyCis6MTAwNUEwMDA1MjE3OTk1NDYxOTkwMUU2NDBBNDYzOTgwNEIxODQ5ODY0Cis6MTAwNUIwMDAxOEVGMkQwMzA1MzEzODAyRkZEMDYzQzhCNTM1MEQ0NTVFCis6MTAwNUMwMDBCOTY4ODg3Q0UwNTA1RjlEMDY0NUNDODE0ODJFNzEzNDI3Cis6MTAwNUQwMDA4RjQ4MDE0ODE1MjEwNTIxRTkwQTUyMDNDRTVBNDYzOUIwCis6MTAwNUUwMDBDRjQ3OEU2MEFCMUFGMzUzNDNFQjM1MjRCODFCMzAwNzZCCis6MTAwNUYwMDAwOThBNzQyRjdFNDE3NDFFMUQwRDg3NDY0OUQ1OTVEMUY5Cis6MTAwNjAwMDBENUQ1QkJBOTRFODI5RDA1M0EwQTc0MTRFODI5RDA0MjdCCis6MTAwNjEwMDA3NDVCQ0U1MEM0MDc0NUJDRTIwQzQwNzQ1QkNFODMwNENGCis6MTAwNjIwMDBGOTk1NEQxMzYzNUU2RjMxM0JBMDhCQTJDNTM5OEQ3ODcwCis6MTAwNjMwMDAzQTIyQTAwMDZCQzFEMTU0NjAxNkQ5OTFBMkU3NDM4QzM1Cis6MTAwNjQwMDAyNERDMUNFMDUxMTczOTZCM0JDQzRCNDIyRTZCNTBCRjY2Cis6MTAwNjUwMDAzNjM2NjU0RjdBMTg1NTI1Nzg5ODIzRTc1MDNFRjM4MTUyCis6MTAwNjYwMDA0QzAyNkQzRTcxNTNBRjc4QTlENEE2MjlCMUJDRDk5OTdCCis6MTAwNjcwMDBCMjhFNjI4RjIyMkU3NTE2QjBCMkFCMjMyODE2NTQ1MjVBCis6MTAwNjgwMDAzMUJDRDk5OUIyOEU2NjE5MDIyRTc1MTY1MDJDQTlDOEE0Cis6MTAwNjkwMDBDNkY1MjBEM0U0N0Y0RjlDMEFENjE2N0Y5MEVFNENFQjM0Cis6MTAwNkEwMDBDRkUyODhCQTJGNDI4NkFFQkRFNUE3NTI5RjkzNjM3OTA5Cis6MTAwNkIwMDBFQjMzMDhGOTk0NTI0N0NEOTkyNTZGM0EwQzEzRTY1NTYwCis6MTAwNkMwMDAzNDRDNUE0REI1MjM5NUE1NDgxMTVBMEE0Mzk1QUMyQzg0Cis6MTAwNkQwMDBCQTI0MDU0OUIxQkNDQUE3NzI2QzZCQzVCREU4MzE2OUMzCis6MTAwNkUwMDA1MjVEMDYxMjY1M0VCMTUwNEM3RDRGQUMwQTMwMEIzNjYwCis6MTAwNkYwMDA2NDExNzM4QTgzOEU3NTEyOUY3QkQyOTk1OEVFODIyRTc1Cis6MTAwNzAwMDA3N0EwRTM5RDVENEZCQzJBNTMyOTUzREU5MzI0QkFCM0VGCis6MTAwNzEwMDAzNkFBNEFDNjc5RDRCOURFNjI1QTExNzM1MDUwQkYzNzJGCis6MTAwNzIwMDAzNjZGMTMyM0JBMEMyNENFQkRFMkE3NTJCMjhFNkI2MDkzCis6MTAwNzMwMDA2MjJFNzUxMzMwQUNBMDU5Q0E2NDYzNzlCMzMzNjUxQzVCCis6MTAwNzQwMDBDQzMyMDQ1Q0VBMkNBMDU5REYyMzFCRDQ4MzUyNDdERDUyCis6MTAwNzUwMDA3OTk2RDQ5RUIzNTI0QkEyNUExQThENUQ3QjgyQTc1MkQyCis6MTAwNzYwMDBCMjhFNjYxOTAyMkU3NTE2NTAyQzhDMzIxRDdCOEVBNzA4Cis6MTAwNzcwMDA1MkIxQkNEOTk5OTgwNERBN0NFMkFDRkU2NjE5MDIyRTFCCis6MTAwNzgwMDA2NTUwQkYzMzY2NjRGRTc0MTg4NjRDMTcyNkQ2MTY1MjIxCis6MTAwNzkwMDAzOTE4REU3QUNDQzIzRTY1MTQ5MUYzNjY0OTA4NkU4MzNGCis6MTAwN0EwMDAwOTMzQUYzMUVEMEQ5RDA2MTI2MjJBMzE4RDZERTc0MTlGCis6MTAwN0IwMDA4MjdDQ0FBNjg5ODcwOTJFMjlCMUFGMTAzOUQ2NjQ5N0UxCis6MTAwN0MwMDAzMDFENDI3NTkzNDQwMjhDMjREMjdBQjM1MEY2ODkwNUM5Cis6MTAwN0QwMDA0MzVFNjE5OEMwMkM5MjI1M0M4QjI0ODk0OTA1NDlFN0VBCis6MTAwN0UwMDAwQ0I5ODQ5OEI3QUQzMzQ0QUU1QTUxODY2MDlGMzhBOThFCis6MTAwN0YwMDBBMjZDNkJDNDhFRjQ1RTQ5NDYxMjYyREVCNENEMjE1Q0ZECis6MTAwODAwMDBCNEEzMENDMTNFNzIyOUEyNkM2QkM2MTI2MjQ3RjBFODE5Cis6MTAwODEwMDBDMzMyMDQzNTQwOTJBNDgyODgxMDkyN0NDQkQ0MkZBNDlBCis6MTAwODIwMDAwMjExODQ5OEI3QUQzMzQ0QUU1QTUxODY2MDlGMzhBOUZGCis6MTAwODMwMDBBMjZDNkJDNDhFRjQ1RTQ5NDQwODQ5M0U2NUVBMTdEMjQ3Cis6MTAwODQwMDAwMTA4QzI0QzVCRDY5OUE0MkI5Njk0NjE5ODI3Q0U0NTlCCis6MTAwODUwMDAzNDREOEQ3ODgxMDkyN0NDQkQxMjI4NkM1OEFGQjZGMzgyCis6MTAwODYwMDBBMEMxM0U2NTUzNDREOEQ3OTI4RTdENEJDMkZBNjEyNjEzCis6MTAwODcwMDAwNjNBQjM2QjAzMDU0OUU3MENCOTZGNUE2Njk1NUNCNDQ5Cis6MTAwODgwMDBBMzBDQzEzRTcwMjlBMjZFQTRERjkzNzExMzc3MjZFMUY5Cis6MTAwODkwMDAyNkY4MjZDNkJDOTQ3M0Y5MkYwQkU5ODQ5ODE4RUFDQzg1Cis6MTAwOEEwMDBFQzBDMTUyNzlDMzJGRjNENTZBRjkyOEI3QUQzMzVENTkxCis6MTAwOEIwMDBDQjRBMzBDQzEzRTcwMjlBMjZDNkJDOTQ3MzQxOTc5MTc5Cis6MTAwOEMwMDBGNDgzQ0UwNDIwNjI4QjA1MTY0OThDMjRDMEM3NTY5MDUxCis6MTAwOEQwMDBDMEMxNTI3OUMzMkU1QkQ1QTY3MkQyOTRGQUFENThDODY2Cis6MTAwOEUwMDBGQTlGNTRCMzMyNEJCOTU0QTY1MTg2NkI3OUQwNjA5RkFFCis6MTAwOEYwMDAzMjA1MzQ0RDhEN0E0RDFFN0FCMzUxMDBBOTNENTlBODY5Cis6MTAwOTAwMDA3QjQ0ODJBMUFGNEE4RDUyQTk1MjQxNDk0RjNBMkU0MEIxCis6MTAwOTEwMDBBNDk5NTBCRTkwMDg1Mjc5QzMyRTYxMjYyREVCNENEMDdECis6MTAwOTIwMDAxNUNCNEEzMENDMTNFNzAyOUEyNkM2QkM0OEZFMUQyNURCCis6MTAwOTMwMDA0NkE5NTRBOTIwQTRBNzlEMTcyMDUyNENBODVGNDgwNDlCCis6MTAwOTQwMDAyMzA5MzE2RjVBNjY4MEFFNUE1MTg2NjA5RjM4MTREMUEwCis6MTAwOTUwMDAzNjM1RTRBNzlEMTcyMDUyNENBMjQ1MEQ4QjE1RjQ5MTE2Cis6MTAwOTYwMDBERThCQzkyOEMyNEM1QkQ2OTlBOTVDQjRBMzBDRDZGMzI0Cis6MTAwOTcwMDBBMEMxM0U2NDBBNjg5QjFBRjE2RDRDQUE5MkUwMzY5NEJECis6MTAwOTgwMDA3MDlCMjk3ODEzQUVCM0FBODVENDQzNzUwOTNBQzlFQjk1Cis6MTAwOTkwMDAzNTI0QjgxQjMyOEUxMzQ4N0U0RUZENDBGRDQwRkQ0MDhECis6MTAwOUEwMDBGRDQwRkQ0MEZDMTNGNDIxRjkxNzQ1OEEzMDBCMzM1RkZECis6MTAwOUIwMDA4M0EyMkEzMDBCMzM1RjgzQTJBOEMwMkRCMzIwNzA5MjhDCis6MTAwOUMwMDAxMzlBREU3NDE4MjdDQ0FBNjg5QjFBRjcwNzQ1NTE4MDQyCis6MTAwOUQwMDA1QjY2NDcwNzM4QTgyM0U3NTExMTNGRTBFODg1NDYwMUU5Cis6MTAwOUUwMDA2RDk5MDYxMjY1NEY3QTIwMjRCQUIzMzIxNTI1N0JBRDc2Cis6MTAwOUYwMDAzMzc4QUUwRTczRDA0N0NFQTczMENDNDRGRjgzQTJBODg1Cis6MTAwQTAwMDBDMDJDRDk5MUMxRDExNTE4MDU5QjMyMDhCQTJDNTE4MDQwCis6MTAwQTEwMDA1OUIzMjA3MDkyRTI5ODg5RkRCQ0VFMTg5MEZDOEJBMjJECis6MTAwQTIwMDBDNTJCMEQ3ODNBMjJBNTYxQUYwNzQ1NTE4MDVCNjY0NDFFCis6MTAwQTMwMDA5RUIzNTI0QjgzQURDNzA5QkUxRjlGNzQ2NTVEMEExN0Y1Cis6MTAwQTQwMDA3Q0FCQTBDMjRDMzg0OTEyMkUzODQ5MDdBMzBDQzEzRURBCis6MTAwQTUwMDA2NTUzNDREOEQ3QURFNzAwMzI0QjlCMzMzNDRBMDMwMDhCCis6MTAwQTYwMDA5RDI1Q0U4MzI0QjgxOTk5OEMwMjEyNEJBMTk5RDhDMDI4Cis6MTAwQTcwMDAyNzQ5NzNDRkY5M0NGNDdDRTc5ODA0RTkyRTdGMzlFM0VBCis6MTAwQTgwMDA0RjQ2NTNDMDYwMTNBNEI5RTUzQzAzREU4RjlDRjMwMENFCis6MTAwQTkwMDA5QzZGQ0YzRTg1RjlBMzM2MDIxRTYwMzg5MjNFNjMxQUUyCis6MTAwQUEwMDAxMDlGQ0YxODEwOTJCQ0QwQTQwQ0RDQzAwRjlDOTczNEMwCis6MTAwQUIwMDA2MkI2RTdGM0YzQTVDRjE4NDIzNDFDQzJDQUZBOEU2OEI3Cis6MTAwQUMwMDA1MjA2QUYzQ0EzMERCRjlFNTBFMUQxNzNDQUUwM0FGQzgxCis6MTAwQUQwMDBDMTA5MUExRTZBNUM1QjhFNjM0RTc3NzNDQzYxNjdERDU5Cis6MTAwQUUwMDBFNjZDNDhEMUYzMUIyNDY5NTEwOEQ0NDIxQkY0NjdEMTRBCis6MTAwQUYwMDA4MDRFMkZEMDhDRDgzMDA5QzIxRTgwMUM0NjAxM0E0NzQ4Cis6MTAwQjAwMDBEMDMxQTEwNjAxM0E3RjQ2MzAyMTE4MDRFOTVFODQyOURDCis6MTAwQjEwMDAwMEMwMjdDREQwMDA3Qzk4MDRGOTJFODQ2MjhDMDI3RDIxCis6MTAwQjIwMDBCQTNFN0U0QzAyN0QyRThDNjEwODMwMDlGNDFEMDE2NUIxCis6MTAwQjMwMDA3MzAwOUY1MUQwODUyMDE4MDRGQUJEMTk0NjE4QzAyN0FDCis6MTAwQjQwMDBERkQxOTQzODRDMDI3RDE3NDY1NzAxMzAwOUY1RkEwMTgwCis6MTAwQjUwMDAwOTA2MDEzRTg3QTE0Qjg4QzAyN0RDNzQwRDM5RDMwMEZDCis6MTAwQjYwMDA5RjczRDAzMEIzOTgwNEZCQkQwNkM0ODMwMDlGNDdEMDY5Cis6MTAwQjcwMDAzNjQ4Q0MwMjcxQkYzRjlBMTdFNjNGMDgyMUU2OTJBNDlGCis6MTAwQjgwMDA4RjlBMTAzMUE3RjMxMEIxODRBRjNBQUNEQ0Y3NzNGMjRGCis6MTAwQjkwMDA1Q0M2MkFEQjlFN0U3RTk3MzEwODYzRDA3MzdCNDNBOEI4Cis6MTAwQkEwMDBFNjNEMzRFQUYzRTMxNUJGOUYxODVGNDVDRkU4OUY1RjRBCis6MTAwQkIwMDA5QTVCMDNEMEYzRDNDRTM3MUNEMDBGQkI5RTY4NzgzQjMzCis6MTAwQkMwMDBCQ0NBMzFFOEY5QTIwMjEyQTI3MzUxMDg2RkQxRjM0NkYwCis6MTAwQkQwMDAwMTM4QkY0MEZDMjMwMDlDMjFFODQ5NTE4MDRFOTFGNDJDCis6MTAwQkUwMDAyMTAzMTk4MDRFOUZEMDIxNjMwNjAxM0E1NjhDMDI3NDZFCis6MTAwQkYwMDBGRTc1NDk1RTYzRDM0QTU0NDIzNTEzQTdEMTgwNEU5NUEyCis6MTAwQzAwMDBFODFFOUE0QzAyN0NERDFCQjlFNjAxM0U0QkEwNjJBM0I0Cis6MTAwQzEwMDAwMDlGNkU4Q0ZDRjMwMDlGNEJBMDQyMThDQzAyN0QwNzE2Cis6MTAwQzIwMDA0M0RBMTMwMDlGNTFEMDNEMzQ5ODA0RkFCRDFDNjI4QzA2Cis6MTAwQzMwMDAwMjdERkQxQzYxNzMwMDlGNDVEMUY0NEU2MDEzRUJGNEZGCis6MTAwQzQwMDAyNUIwMzMwMDlGNDNEMUE3OUMxODA0RkI4RTg0MDNFOTkxCis6MTAwQzUwMDA4MDRGQjlFODQzQzEzMDA5Rjc3QTBBMzE5ODA0RkEzRTY3Cis6MTAwQzYwMDA4NDQwNDE4MDRFODJFNzQxODcwOTIzMDQyMzAwOUQwNThCCis6MTAwQzcwMDBDRTk2MUMyNDhDMTA4QzAyNzQxNzNBMDQzODQ5MTgyMTIzCis6MTAwQzgwMDAxODA0RTgyRTc0NTBFMTI0NjA4NDYwMTNBMEI5RDQxMUQ0Cis6MTAwQzkwMDBDMjQ4QzEwOEMwMjc0MTczQTgyMzg0OTE4MjExODA0RUE1Cis6MTAwQ0EwMDA4MkU3NTI4RTEyNDYwODQ2MDEzQTBCOUQ0MDFDMjQ4QzY2Cis6MTAwQ0IwMDAxMDhDMDI3NDE3M0EwOTBFMTI0NjA4NDYwMTNBMEI5ODM2Cis6MTAwQ0MwMDA2QTFDMjRCMEUxMTgwNEU4MkU2QjUwRTEyNTg3MDhDMEE3Cis6MTAwQ0QwMDAyNzQxNzMwNTQzODQ5NjFDMjMwMDlEMDVDQ0FBMUMyNDQwCis6MTAwQ0UwMDBCMEUxMTgwNEU4MkU3MDY4NzA5MkMzODQ2MDEzRTU0NDg0Cis6MTAwQ0YwMDBGOTQwOUQwNUNFNUExQzI0QjBFMTE4MDRGOUQxM0U3MDhDCis6MTAwRDAwMDAyN0NGMTNFNTQ0MkNBMDQyQ0I4OUYyMjEzQTBCOUMwQTUxCis6MTAwRDEwMDAxQzI0QjBFMTE4MDRGOUQxMEIzODEwQjNDNDIxMzkzNkMyCis6MTAwRDIwMDA1QzQyQzg4NDJCNzlEMDYxQzI3NDE1MjRCQUQzMzFFNUYyCis6MTAwRDMwMDA1OTA4MjkwOEUwNjY2MzQyOTUxMjgxMDAyOTBCQzE1MUM4Cis6MTAwRDQwMDAyNEI4MTk5OTkwMjI5MEI0MThBMDkxNDEwMTQxNDE0MUQxCis6MTAwRDUwMDA1MjgzQ0E0MDI4NjgyOTA4QkExNjEwOUM5OTBCNTY5NEU5Cis6MTAwRDYwMDA5MDUyMTU3NEMwMjcxQTJBRDI5MDI1RDMwMDlEMjhBQjIzCis6MTAwRDcwMDA0QTQyMTc0QzAyNzBENDg0MkU5ODA0RTEyQTQyMTc0QzQwCis6MTAwRDgwMDAwMjcwODI5MDRCQTYwMTM4NTE0ODQyRTk4MDRFMTVBNDZBCis6MTAwRDkwMDAyMTc0QzAyNzBGQTQxMkU5ODA0RTgyQUM4MEFDQTBBQ0I1Cis6MTAwREEwMDBBOTU5RTU2NDQ1NjVDQUM4NEFDRTBBQ0U0QUNFOTU5MThFCis6MTAwREIwMDA5NTk0OTU5MzI5MjVDMENDQ0M4OEE0OTc1NjM2NjQ3MjE3Cis6MTAwREMwMDA5MDU0OEE5QzQ1MDhCOUI3NjYxMjkzMDlDOUIyNzQ4RUNCCis6MTAwREQwMDBCQTYwMTNFNTM0OEVCQTYwMTNFNDc0OEVCQTYwMTNFNTFBCis6MTAwREUwMDA2OTFENzRDMDI3Q0EyOTFENzRDMDI3Q0VEMjI1RDMwMDFGCis6MTAwREYwMDA5RjM4QTQ0QkE2MDEzRTVFOTEyRTk4MDRGOTE1MjI1RDAyCis6MTAwRTAwMDAzMDA5RjNFOTEyRTk4MDRGOTA1MjI1RDMwMDlEQzU0ODdGCis6MTAwRTEwMDAyNUQzMDA5QzQ1Q0VDRDA5QzlCMjFBNDRCQTYwMTNFNzY4Cis6MTAwRTIwMDAzNDg5NzRDMDI3MUMyN0I3OUM4MEMyRDc3NjU5OUI5M0ZFCis6MTAwRTMwMDAwQzY0QzMxRDFCRjQ0NTRCQzdDNjNBMzdFODgxNEJDNzRBCis6MTAwRTQwMDBDNjNBMzdFODkxNEJDN0M2MzI2MThFQjNCQ0MzNEEyMjVCCis6MTAwRTUwMDBFNkI1MjQ5NzcxQzk4N0I0MzFBRTczQTJDRjM5RDI1RDlDCis6MTAwRTYwMDAwNDQ0NDJDMEQ2REU3MTA2MTZCQkRCQ0U4MzBDNjRDM0RECis6MTAwRTcwMDAxRDMxMTMwNEY5OTU0RDEzMzI5MzYzNUU2NjE0Q0MyOTJBCis6MTAwRTgwMDAyQTUzMzBBNjYxNENDMjk5ODUzQTcyQ0NDMjk5ODUwNjI0Cis6MTAwRTkwMDAxQkIzMEE2NjE0MTQyNDk5ODUzMzBBMDhCMTg2NjE0QzgxCis6MTAwRUEwMDBDMjg0MjE2ODczM0IzMEE2NjE0MTRFQTU5ODUzMzBBQzkzCis6MTAwRUIwMDA1OTc2NjE0Q0MyQjA4REQ2NjE0Q0MyQjAyQ0Y2NjE0Q0YzCis6MTAwRUMwMDBDMkIxOENBNTk4NTMzMEFDMEYyNENDMjk5ODU2MEYyODZBCis6MTAwRUQwMDA2NjE1OTIxQTE5ODUzMzBBQ0E4NTBDQzI5OTg1NjVDM0FECis6MTAwRUUwMDBEOTg1MzMwQUNFNzA4NjYxNENDMkIzOTc3MTBDOTkzQjk5Cis6MTAwRUYwMDBDQzgzNTgwQkVBNzc5RDA2NEFCRTA0NzQ2MEUwRDE0RTVECis6MTAwRjAwMDAzODRDM0VFRTNFRUUzRUVFM0VFRTMwQkJDQUUxMUY3NzgxCis6MTAwRjEwMDAxRjc3MUY3NzFGNzcyNzcwOEZCQjgwMEUxMUY3NzFGNzMwCis6MTAwRjIwMDA3QzZGM0NCMzM2MDJGQjhERTY1NTcwN0YyRDI0Njk1NUVFCis6MTAwRjMwMDA0RjU4QTkyMzFGNTRGNzhBOTUyNTJCNzUwQ0NDQUM1NjE2Cis6MTAwRjQwMDA1MUNDNTFFNDQ1Q0VBMjEyMzlDMEEwQUY1NjZBNDk3RkI4Cis6MTAwRjUwMDAwMjhDMDlGODBCRUJBRjU2NzY2NzUyQjI4RTY5QTcxMTc3Cis6MTAwRjYwMDA3M0E4QjFCQ0NBQTBBOTM2NTAyQzk4RTcwQUY1NjZBNEFDCis6MTAwRjcwMDA5N0UyNUEzMDI3QkFGNzgzNEVBNTMzMEE2NjE1OERFNkY1Cis6MTAwRjgwMDA1NTM5RDJBN0FDNTQ2MDE2NzAxQjcyOEU2MjhGMjIyRTE4Cis6MTAwRjkwMDA3NTE2MDJGQjhERTYwQTk1M0Q2MkEzMDBCNzAxQjU1M0I1Cis6MTAwRkEwMDBERTJBNTQ5NEFERDQzMzMyQjE1OTQ3MzE0NzkxMTczQUMwCis6MTAwRkIwMDA4ODQ4RTcwMkIwMTdEQzY3OUQ0QjhERTc1MkFBN0JENEM3Cis6MTAwRkMwMDBBQTkyQkRENjk5QkM1NjAyRkI4Q0YzNjY2NkM2RjM2NjQwCis6MTAwRkQwMDA2NjYyOTkyQUY4MTg2ODcwQjA4QTBENTU1NTU1NTU1MkIxCis6MTAwRkUwMDAzMkUxNDA1QzM4MEJFQTlCODcwMTdEQzA1RjcwMTdEQzAzCis6MTAwRkYwMDAwNUY1REM5QjAxN0Q2MTREODBCRUE3Nzk4MkEyMUY1MDYzCis6MTAxMDAwMDAxNTJBOEY4QjFDRTVBNTEzODQ1OEU3MDI5MTU0MDUwMjFECis6MTAxMDEwMDA0QkJEMjIxQTk0N0Y5QzFBQzA1RjQyMUEyMUQxODA1OTdECis6MTAxMDIwMDBDMDZEMUMyQzBBODM1NTU1NTU1NTU1NTU1NTU1NTU1NTZDCis6MTAxMDMwMDA1NTU0MUNCODVDNkUxNzlDMkYzODVFNzBFN0I4NUU3MDE0Cis6MTAxMDQwMDBCQ0UxNzlDMkYzODVFNzBCQ0UxNzlDMjk5QzI5OUMyOTJBCis6MTAxMDUwMDA5QzIzMEY1ODE0RUUzNTc3MjYyMTkzMDVDOUIwMTdEMjdCCis6MTAxMDYwMDAxRDE4OEEyMTkzMDVDOUIwMTdEMTg3QUMwQTc0MEZBRTM5Cis6MTAxMDcwMDBGNTVBODJBM0U0M0EzMTE0QkJENzU5OTk3NEEyMTkzMEI2Cis6MTAxMDgwMDA1QzlCMDE3RDE4N0FDMEE3NDBGODQzRDQ2Mzg5MjVEMEMyCis6MTAxMDkwMDAxMEQ2MUM2QTEwRjU1NTg5MjVEMTUxNjYxRjUxRjU5MTVFCis6MTAxMEEwMDA0OTJFODkxNTk4NkFBM0UwOEE5NDY1NjQwRTEzMTczODRGCis6MTAxMEIwMDBBODg2NEMxNzI2QzA1RjQ2MUVCMDI4NjMxRjA4N0E4QzhFCis6MTAxMEMwMDA3MTI0QkEwMjFBRDAwRDQyMUVBQUIxMjRCQTJBMkQzMUI3Cis6MTAxMEQwMDBGNTFGNTg3NDkyRTg4NzVBNjM1MkRFRjQ1MTY5NEEzRTBDCis6MTAxMEUwMDAwOTY5NDY1MEYwRTEzMTczMDU0NUJENTk4RDhCNEE3QzQ1Cis6MTAxMEYwMDBEM0VEMzhFOUQzNEU3NEVENDQzMjYwQjkzNjAyRkE1QjcxCis6MTAxMTAwMDBERThBMkQyOUQwRTEyMUY1QTM5MjIxRjIxOTMwNUM5QkQyCis6MTAxMTEwMDAwMTdEMjFGNUEwQzYwMTY3MDFCNDQ1Q0VBNTEyMzlENEUxCis6MTAxMTIwMDAxQzA1RjQ0MEExQzJDMzUwNkFBQUFBQUFBQUFBQUFBQUU0Cis6MTAxMTMwMDBBQUFBQUFBQUFBQUE4MUFGODY5RjE5MUJFNzgxRjM2NTZBCis6MTAxMTQwMDBGMjgwQkU3MDE3REZERjM4MEJFQjBEQzM4MEJFQTcwRjM4Cis6MTAxMTUwMDA5NTRGNUE5NEMwMkNEOEIxQTdDRTVBMTE3M0E4M0FDMjUxCis6MTAxMTYwMDBDQ0I2MzAxN0RDNkYzNUE5ODA0REE3Q0UyQTE4NzlDNUNCCis6MTAxMTcwMDA0OURFNjFBODIyRTc1MDMzRjk5ODY0MDhCOTk1NDJGQzJBCis6MTAxMTgwMDBDQ0Q5OTUzRDYyQTI0OEQ0NDhFNzAyODhCOUMxQTBFMzEyCis6MTAxMTkwMDA5RDRFNjJFNkNDQzY2QkNFODMxMEM5ODJFNERBQzJDODJCCis6MTAxMUEwMDAxRUMzQjkzNjAyRkFBOUVCNEUzMDMwRkEwREYwQTlFQkE2Cis6MTAxMUIwMDA0MEI5MEZBQTdBRDJDMkM4RkFBN0FENDEwQTQ3RDUzREI1Cis6MTAxMUMwMDA2OEFDRjFGNTRGNUE5NzU0N0Q0RkE4QUE1NTFGMTE3MzdCCis6MTAxMUQwMDA1QUIwMTdERTVENTlBOTI1RDA1NTJBNDZCQ0I4MjJBRUIzCis6MTAxMUUwMDA0NTI5M0UxNEZBRTE5OTk0Q0E0QUJFM0RENjk5OTI1RENBCis6MTAxMUYwMDAxNTE3QzhEN0RDMTUxNzhBNDAxRjBBOUVBQ0M5NjU0OTY4Cis6MTAxMjAwMDA1QzFEMTA2ODRBM0U1QkRFODMxNjk1ODBCRTkxNzQ1ODYzCis6MTAxMjEwMDBBNDAwN0MzOEU3NTYzMDE3REY3NUE2NjQ5NzQ1MjA5REZCCis6MTAxMjIwMDAwMzVGNzA1NDVFMjkxREYwQTlFQUNDODY1NDk1QzFEMUE0Cis6MTAxMjMwMDAwNjgzMEZBQTdCRDA2NTQ5NDVCREU5NjJEMjkxREYwNEUwCis6MTAxMjQwMDA1RDE2MjkxQzdENEZBQzFBNDcxQUE5RjU2NzY2NTMyODBECis6MTAxMjUwMDBCN0JEMkM1QTUyM0JFM0RENTlBOTI1RDFBOEFDMDg2Qjg4Cis6MTAxMjYwMDBFRTA4QUJDNTIwMkY4NTRGNTY2Njc1NDk1QzFDMTgxRENFCis6MTAxMjcwMDA4MUMyNjQwNUYwODBCRTM1NUNEMDE3QzI1NUYwOTU3QzA0Cis6MTAxMjgwMDAyNTVGMDgwQkUxMDE3QzdCQUIzNTI0QkExMDU1OTMxQTFFCis6MTAxMjkwMDBGQjgyMkFGMTQ4RDdDMkE3QUIzMUIyQTRBQzYzOUQ0QTA2Cis6MTAxMkEwMDA4RDdDN0JBQjM1MjRCQTEwNTQzMDhEN0RDMTE1NzhBQzY0Cis6MTAxMkIwMDA2RjVBOTQ2MDFBRTM3OUQ0QUE0Rjg1NEY1NjY2RDU0OTgwCis6MTAxMkMwMDA1OEM3M0E5NTQ5RjA0NUQxNjI5NDg2QkMxRDEzRDI5MDE3Cis6MTAxMkQwMDBGRkNGN0E4M0YyNTAzMURFMDA2MDYwQTExNzM1QTg1RjNFCis6MTAxMkUwMDA5QjFCMzcwNzQ0MUEzMDBCMzgwREJDMUNFMEQwNDdDRThGCis6MTAxMkYwMDBBMEFBN0FBMTk4NkE5Mjk1M0Q2ODMxODA1QjgwREFBOUFDCis6MTAxMzAwMDBFRjQxOTUyNTE2RjdBNThCNEFDNjc5QjMzMzYwMkZBQTBFCis6MTAxMzEwMDA5RUIxNTE4MDU5OUVDQUE3QUMwQTMwMEI2N0IyQURENUI5Cis6MTAxMzIwMDBEQTkyNUQxN0EzMDBCMzJEOTU2RTA4QTk1OEExMTczQTVDCis6MTAxMzMwMDA4QjAxN0Q1NEY3OEU5NTI1MDgxQ0UwNTYwMkZCQzFEMTI4Cis6MTAxMzQwMDAxNTE4MDU5MjZCM0MxRDEyMjhDMDJDQTU2QzExNzAxNzQ2Cis6MTAxMzUwMDBCMjM4NEQ4MEJFRTAyRkI0RUM0QUVEQjM5RTAyRkI4MDY0Cis6MTAxMzYwMDBCRUUwMkZCMTM5OTMzRTZERTcxMDYwOUYzMkE5QTI2Q0E5Cis6MTAxMzcwMDAwNUY0NDBFNjBBOTUzRDZBMjMwMEIzODBEQUE3RDYyQTMxCis6MTAxMzgwMDAwMzBENzAxN0QyMkU3NjI5NEZCQzU0QTY1MTZGN0E1ODkwCis6MTAxMzkwMDBCNEFDMDVGNDhCQTJGNDBFMzUwRDQ5MkVCNENDMThBNUNGCis6MTAxM0EwMDBDOEY4NEE5NzIzRTEwNTJFNDdDMjhBNUM4Rjg1Njk3Mjg3Cis6MTAxM0IwMDAzRTFGNEFDMzU1MUY1NjQzMzI4Q0EzNUU2MEE4NDVDRURDCis6MTAxM0MwMDAwRDYwMkZBMzg0OUREOEYwMTdEMjJFMEUxQjIzODREODM2Cis6MTAxM0QwMDAwQkVCODlGMzgwQkVFMDJGQkIzOTg1REYyMjAzRTcwMUU5Cis6MTAxM0UwMDA3REMwNUY3MDE3RDExNzM4MTQ1QkQ2QTI3NDBENEI3QThECis6MTAxM0YwMDBCMzMxOTY5NDZCQ0MzNTIzRDc0OTQ4MTU3MzI5MEY1RENCCis6MTAxNDAwMDA4QUMwNUY0RDc5ODQzNTgwQkU4ODFDQzM1MjlGNTk2ODVECis6MTAxNDEwMDBDMDJDRTAzNkFBN0JDRDRBOTJCRUYzODE0QTdENUI1OTRGCis6MTAxNDIwMDA5NENBMUMyNEVFQzc4MEJFODgxQ0MzNTI5RjU5NjhDMDUyCis6MTAxNDMwMDAyQ0UwMzZBQTdCQ0Q0QTkyQkVGMzgxNDM4NDlDN0IzODU0Cis6MTAxNDQwMDAwQkVCQUY3MEQ0RUE1MzAwOUI0RjlDNTQzMEYzOEE5NDVCCis6MTAxNDUwMDBGQUI2QjMyOTk0MjJFNjFBODVGOUIwNTk5M0Y5RDJDNEExCis6MTAxNDYwMDAzMjYwQjkzNkIwQjM5MEQ5NzcyNjFDMjcyMkU4OTZCNEZCCis6MTAxNDcwMDAyM0VBOUVCNTExODA1OTY1ODYyMDczOTY4RDc5QUQ1ODAzCis6MTAxNDgwMDAwQkU5MTc0NDhBNEEwN0Q3N0E4MkExOTBGQUVGMDE1NEYwCis6MTAxNDkwMDBCQTUwRDQ1OTFFMkNFOUYzOEE5OTg1NkIwQjIzMTU5NzAyCis6MTAxNEEwMDA3MjYxMTczMEQ0MkM3Mzg3NDhBQTAyODEyNURFOTEwRDEyCis6MTAxNEIwMDA0QUMwNUY3RUQyODBBNTNFQjJEMEM4NkI4MEJFODgxQzc5Cis6MTAxNEMwMDBFQTA5MTc0NDFBMzcxQTkxNzQ1OEEzNzFBRjA3NDQ1NEE0Cis6MTAxNEQwMDA2RTM1RTBFOEFBNjQwRjkwRkFEMDYzMDBCMzgwREEyQzhFCis6MTAxNEUwMDA3Mzg3NDhBQTAyODEyNURFOTEwRDRBQzA1RjQ4QkEyNzVBCis6MTAxNEYwMDBBMzAwQjcwMUI3NEY5Q0I0NkJDQzM1MTZGNTY2NjMyRENFCis6MTAxNTAwMDAyOTFFQkE0QTQwQUI5OTQ4N0FFQzUwOEI5QzA4MjJGQ0MxCis6MTAxNTEwMDBGOUIyNTUzRDYyQTkyMzUxMjM5QzBBM0M3MzBENDQ1Q0VBCis6MTAxNTIwMDBFMTUwNzFDRUExMUZFNzE1NkIwQjI1RUQwQjkzNjAyRkRBCis6MTAxNTMwMDBBQTlFQUMzNjY1NDk1RjdBMjA1MDA4N0ZFRjM5MTQ0OTdFCis6MTAxNTQwMDAwMTExODEwNDYwNDBDQzU5QzBBRDIzRUI0MUIwODFGMjYwCis6MTAxNTUwMDAzQTQxQUE1MDQzRTRENDg2NTRBMDg3QzE1MkNBOTMwMUE5Cis6MTAxNTYwMDAzMjU0OUQyNDAyMDAwMDUyQUYxNjQ2QTc5MTY3MDhCNDdBCis6MTAxNTcwMDAwNDUxRjE2NTE5QjQ2RTJEQzBBRDQ5MDA5MjU3MUI3NDJBCis6MTAxNTgwMDA0NTVGMjM1MUI3NDQwQTEwMDZBMzZFOEI2QjA4MUYxOUUxCis6MTAxNTkwMDBEMUU2ODA4MjgwNTQwNDJBNDU5MUE5RTQ1OUMyMkQwMUU0Cis6MTAxNUEwMDAxNDA0NTBEM0ZDNTU4NDYxRDk4MDUxMkZFMjFGNDY1RjRCCis6MTAxNUIwMDA0MEUwMjAxNTRBQkM1OTFBOUU0NTlDMjJEMDExNDhDQkM4Cis6MTAxNUMwMDBFODE0MDgwMTU0MTVFMkM4RDRGMjJDRTExNjgwOEE0NkNBCis6MTAxNUQwMDA1RjUyN0NEOUE4Rjg4OEQwNUEzQ0QyNUM1QjgwREFBN0VECis6MTAxNUUwMDBENjVBMDg4NkE0NUQxN0EwQzM1MjJFODhBODIyMUY1MzdFCis6MTAxNUYwMDBFQURBQ0NBNjUwRTEyNzc2M0MwNUY1NEZBQjZCMzI5OTgxCis6MTAxNjAwMDA0Mzg0OUM3QjM4MEJFOTI3QUNENDkyRTAwRURBMzg0RDRBCis6MTAxNjEwMDA4MEJFRTY3RDUwQkE1MUFFNjZFRkJDREM3Qjg3MUUwMjExCis6MTAxNjIwMDBGQTkzRTZDRDQ3QzQ0M0NEMEYzNDlEQTMwMEIwNTUwMUQ2Cis6MTAxNjMwMDBBRTAzODQwNENFMDFEMEUxNzAwMjgwMEU4OUU5MjIxRjNFCis6MTAxNjQwMDBFMEU4OTZCMDExRjRDMkNFMDM2QTQ0MkRDMDZENDgwNTlGCis6MTAxNjUwMDBCODBEQTMwMEI3NzZENURFQjE1MERDN0Q3N0JDNTRCQUE3Cis6MTAxNjYwMDA1MjdGNTgxNDM0MEY5QUYzODE1ODBCRUFFRjU4MTQ2MEU0Cis6MTAxNjcwMDAxNkE1NkMyRUY3ODE0QkE1NkY3RDVERUVCNTJFOTU4MDdFCis6MTAxNjgwMDBCRUYwNzNCRDA0N0NFQUZFRUI0Q0RFMjk1M0RENkE1NEU4Cis6MTAxNjkwMDA5NEE5RUEwQThDMDJENjRDM0MwNUY0MDBFQUNENTZBRjc4Cis6MTAxNkEwMDBDMDQ3RDI5QzhEMjlDQUUwMkZBRUJENzU5OTlENEFGOURECis6MTAxNkIwMDBFRjUxN0M5NDBDNzc4MDE4MTgyOTJBRjhFMEU4QUEzMEJBCis6MTAxNkMwMDAwQjJBOTg3QzFEMTE1MTgwNTk1NEMzNTFGNTFCMzMyNEFBCis6MTAxNkQwMDBCQjgyQTUxOTVDMUQxMDI4QzAyQzlBQzdDMUQxMjI4Q0QxCis6MTAxNkUwMDAwMkM5OTQ2NDVDMENENjhFMTM2MDJGQjgwQkVBMzBFMzA5Cis6MTAxNkYwMDBDMDVGNDhEQzc4MEJFODAwRTNDMDVGNkMzOEQ1MkUzNTVFCis6MTAxNzAwMDA0RjVBOEE2MUFBOUY1NjFCMzI5OTQ2NDJDODAxMEM0NTFFCis6MTAxNzEwMDBDRUE1MTdFNkM2Q0VBOUVCMTUxNjQ2QTI0NzM4MTQ0MzQ4Cis6MTAxNzIwMDAyNjIyRTczRDYwMkZBQTlFQjUxMkUwN0YwMTdERTNFNzA4Cis6MTAxNzMwMDAwMjkzRjk5NTQ0NUNFNUEwRTM5RDRBN0Y5QzU0QTlFQjk0Cis6MTAxNzQwMDA1MTA1NDZCOUZDQzAxQjIyMkU2NDU0MkZDRDQ2Q0NBN0IwCis6MTAxNzUwMDBENTg2Q0NBNjUwNTVDNjQ1Q0U1QTBFMzlENEE3RjlDNTY0Cis6MTAxNzYwMDA0QTlFQjUxMTgwNTlDMDZEQ0ZFNjAwRDkxMTczMjJBMUYwCis6MTAxNzcwMDA3RTZBMzY2NTNFQUMzNjY1MzJCMDE3REQzRTcyRDI3OTkwCis6MTAxNzgwMDAzMTBDOTgyRTRDMjA3MzJBOEZGMzhBQURFNzQxODI3QzZFCis6MTAxNzkwMDBDQUE2ODlCNTg1OUZCMEYwMTdENTFGNTQ1NDI1MUFBODNECis6MTAxN0EwMDBGRjJBOTQ2NTExRDc0OTQ0RDVDQ0EwNTVEOEFFMEU4OEYwCis6MTAxN0IwMDAxNDYwMTY0RDYzMjJFMDcyODYzODREODBCRUUwMkZCODZCCis6MTAxN0MwMDAwQkVFMDJGQjgxMzhGMDE3RDdENzFFMDJGQUZBRTNDMEZFCis6MTAxN0QwMDA1RjRDODU5MDAyMThDODVCODBEQTMwMEI3MDFCNEMyMjdFCis6MTAxN0UwMDBEMzRDMzMwMzhDMkU0QzQzMjZEMEY1NjM2NkQwOTVBNzlCCis6MTAxN0YwMDBDRTQ1MzMwQUQ2MTY0MjM4NkVFNENFQkQ1OTJDRDJBQjU0Cis6MTAxODAwMDBCQTk0OURFNjFBQjAxN0Q1NEY1QThCMDkxQTg4QjlDNUY0Cis6MTAxODEwMDA0MjQ3MzBENDMyMTY3Mjg4NjVCRDU5OTkyNUE1NjAyRjhDCis6MTAxODIwMDBCODYwRjMwOEI3NEExQThGQUIwRDk5NDY1MUFGMzhBODg0Cis6MTAxODMwMDA4RTkwNjUxMzUyMThBMDU0QjE0MjJFNjFBODQ4RTcyRDJFCis6MTAxODQwMDAxNkY3QTgwNUE1NjAyRkE0NzVEMjUxMzU3MzI4MTU3NjEzCis6MTAxODUwMDAyQjgzQTIwNTE4MDU5MzU4QzhCODA2Mjg2Mzg0RDgwQkIzCis6MTAxODYwMDBFRTAyRkI4MEJFRTAyRkEwNDNBNzAxN0Q0Q0UzQzA1RkVBCis6MTAxODcwMDA3MDE3REMwNUY0NjQyREMwNkQxODA1QjgwREE1QkQ2QUEwCis6MTAxODgwMDAyMzg2QUE5RUI1MTFBNDZBQTNFQThBOEQyM0UxMTczODlDCis6MTAxODkwMDAzNDY5NzE5ODQ1QTY5ODZBM0VBQzM2NjUxOTQ2QkNFMjMzCis6MTAxOEEwMDBBMjNBNDE5NDRENDg2MjgxNTJDNTE2RjdBODhCNEE1NDFBCis6MTAxOEIwMDBGNUE4OEMwMkRDMDZEMTAzOUNCNEE5RUUwQTk1MjUyQTcyCis6MTAxOEMwMDA3QUFENDYwMTY3MDFCNUQ3QUMwQTMwMEI2QzQ5MzVFNkY1Cis6MTAxOEQwMDBCNTY3RjMwMDZDODhCOTkxNTBCRjMxMUIzMkE3Qjg2ODY3Cis6MTAxOEUwMDA5NTI1N0JBRDMzNzhBN0NEM0VEMzhFOUQzNEU3NEVENDdFCis6MTAxOEYwMDAyMkU3MDY4NDhFNjBBOEZGMzhBQjgzOUMyQTA4RjlENEJGCis6MTAxOTAwMDAyMDYzQkMxQTA2MEFDMDVGNDY0MkRDMDZEMTgwNUI4MEI5Cis6MTAxOTEwMDBEQTIyRTYxQTg0OEU3MkQxNkY1QTgwODcxQUFBN0FENDk0Cis6MTAxOTIwMDA0OEM4RDU0N0Q1MTUyMzIzRTExNzM4MzQ4Q0JBNEI3QkVCCis6MTAxOTMwMDBENDAyRDI4QzIyREMwNkQ1MUY1NjFCMzI4Q0EzNUU3MURBCis6MTAxOTQwMDA1MTFEMjBDQTI2QTQzMTQwQTk2MkIwMTdERjlFRjRCNzBBCis6MTAxOTUwMDBDOTQwQzc3ODAxODE4MkI4MzgzOTQ5MUMyNkMwNUY3MEY4Cis6MTAxOTYwMDAxN0Q0QUJFMTJBRjg0QUJFMTJBRjhGOTc0RkNCQTcwMTJECis6MTAxOTcwMDA3RERBODBBQTkxNjQ3RjRBODFENTIyQzhGRTgyODAyNUMzCis6MTAxOTgwMDA0OEIyM0VCQkRDMzUyRTk0MDdFODhBOUMwM0UyNEJBNUE3Cis6MTAxOTkwMDA3N0FCQjMzMkU5NEJCRDU5ODY4NDk3N0EwNEJBNTNFMUU5Cis6MTAxOUEwMDAzMkVGNTBENEU2MzU1M0VCMDI5Q0M3RDc3QUIzMzBEMjJFCis6MTAxOUIwMDA1REVBMDJFOTQ0NUQxNjI4QzAyQ0UwMzY5MTc0NDU1OTcxCis6MTAxOUMwMDAxOEQ1NEZBQzBBQzQzNTMwOEIzODY5MkJCRDU5OTg2OThFCis6MTAxOUQwMDAyRUY1MTJFOTU4Njc0QUVGNTBENThFM0UxQ0E0QjBDRUMyCis6MTAxOUUwMDA5MzIxNkUxQTQ4MUZBMjJBQzMwRDU3N0FCMzBEMDkyRUYwCis6MTAxOUYwMDBGNDQzNUQyODhCODMyMDkyMzg0RDgwQkVFMDJGQUMxN0Q2Cis6MTAxQTAwMDA0OUIzQTU4MkU5M0VFOTM2NzRFMDJGQTZDRTlDMDVGNEUxCis6MTAxQTEwMDBDMjJDOEM1MjU3N0FENDhENDhGQUVGNTBENUFFMzU1MzNDCis6MTAxQTIwMDBFQjAyODYyMUFBRUY1NjY2MUE0QkJENDRCQTUwQzRFOUIwCis6MTAxQTMwMDA1M0VCMDI4NjgxRjVERUExQTg2MjFGNURGRUEyNUQyOTNGCis6MTAxQTQwMDA3N0E4NkE2MThENDBGRDExNTMwQzZBQTdENjA1MzBDNzhGCis6MTAxQTUwMDBENzdGQTk1NzRBNURFQjQ4MUIwQzdDOEI5RDhBNTNFRkJGCis6MTAxQTYwMDA2Njk0Q0E1NEY1QTBDNjAxNkUwMzZBOUY1Njc2NjUzMjI1Cis6MTAxQTcwMDA4QjdCRDJDNUE1NjAyRkFBN0Q2NUEzMDBCNzAxQjRDODMyCis6MTAxQTgwMDA1QTA3OEZFRDAxRDUyNzkxNjcwMUI0OEI5QzU0MUM3M0M1Cis6MTAxQTkwMDBBODg0NUNDMTUwQkYzNjU2NjBBQjhDOEI5QzU0MUM3M0MxCis6MTAxQUEwMDBBODg0NUNDMTUwQkYzNjU2NkMwNUY1NTNENkEyMzAwQkU2Cis6MTAxQUIwMDAyOTVCMTlGQ0Y2OTQ0NUNGMTUwQkYzM0NCMzJBN0FDNTg0Cis6MTAxQUMwMDA0NjAxNjQ4QTMxMjM5QzBBNURFQTM0MzMyRTk1QzdDRUUxCis6MTAxQUQwMDAyQTRGRTY1MDIwQjkzMTBDOUJFRjM5MTQ0NUNFNDUwNzBCCis6MTAxQUUwMDAxQ0VBNDY4N0FCMUIzNjg0QTc1RUFDOTY2NzUyQjAxN0RDCis6MTAxQUYwMDBEQ0ZFN0I0QTIyRTc4QTg1Rjk5RTU5OTc3QThEMENDQkNBCis6MTAxQjAwMDBBNTI3RjNBMDQ0MzI2MEI5MzdERTcyMjg4QjlDOEEwRTc5Cis6MTAxQjEwMDAzOUQ0OEMwNUY3RTdCODJBRjkyODE4RUYwMDMwMzA1Nzg4Cis6MTAxQjIwMDAwNzQ0MEE1MDhGRjA3MzkxNDExRjNBOTA0NUMwQkIxODhCCis6MTAxQjMwMDBFMTM2MDJGQkZCOUUwMkZBRUVFN0Y1Q0YwMTdEMTA1Qzc5Cis6MTAxQjQwMDBGMDE3RDEwNUNGMDE3RDUzRUIyRDE4MDVCODBEQTY0MjM2Cis6MTAxQjUwMDBEQzA2RDMxNzM1QTg4QjlDMEEwRTM5RDQwQ0ZFN0I0QUMxCis6MTAxQjYwMDAyMkU2NTUwQkYzMzFCMzYwMkZCQzdDRTJBNEZFNjU1MTM1Cis6MTAxQjcwMDAxNzM4MTQxQzczQTgxOUZDRjY5NDQ1Q0NBQTE3RTY2MzExCis6MTAxQjgwMDA2NjBBQjhDQzg1QTE1OEY2QTIzNTQ4NDg3RjRBODk5NTlGCis6MTAxQjkwMDAyMTIxRkQwNTAyNTQ5RTQ1OTEwRTNDMDVGNTA3NDA1NTU3Cis6MTAxQkEwMDA0ODUyM0U4NkEwNzU0ODUyM0VCNTAwNEE5QzAwNkJDNzFECis6MTAxQkIwMDBDRTQ1MjdGMzJBODQzNzM1REVBMEFCMjMxQUFFRjU4MzUyCis6MTAxQkMwMDA1OTE4RDc0M0RFMkFEMDk0RUJERTA1M0E5NTlGQ0NDMzUzCis6MTAxQkQwMDAyMDQ1Q0NBQTE3RTY2NkNDNDMyNjRGRTc0MTIyMkU3MDVCCis6MTAxQkUwMDA2ODM4RTc1M0UwMkZBQkJDMTJEMkU5NTgwQkVBQTdBRDM3Cis6MTAxQkYwMDA0NUExMUZDMDVGNzgzOUM4QTA4RjlENDgxQzI0RUVDNzNGCis6MTAxQzAwMDA4MEJFQkFGNTZENjY0OTc3MEQ0RUE1MzAwOUI0RjlDNUE5Cis6MTAxQzEwMDA0MzBGMzhBOTNGOUQwMkZCQ0U0NTExNzM5MTQxQzczQTRFCis6MTAxQzIwMDA5MTlGQ0Y2OTQ0NUNGMTUwQkYzM0NCMzJBN0FDNTQ5MDQ1Cis6MTAxQzMwMDA4RDQ0OEU3MDI5NzdBOEQwQ0NCQTU2QjBCMjlEOEM4NkQwCis6MTAxQzQwMDA0QzE3MjY3NzI2MUMyNzFDMjQ5RTIzNjFCRThFMTI0RjFDCis6MTAxQzUwMDAxMTg3MUNFQTVDMDVGNUQ3Qjg2QTc1Mjk3N0FCMEQ5OTMxCis6MTAxQzYwMDA3NEE1NEY3MkEwQUE0QUM2RjM2NjY2QzYzOTgyQUY3NURDCis6MTAxQzcwMDBBNjZGMTQ2QkNFMDU3MDczOTY4MjNFNzUyOEUxM0FBNzY1Cis6MTAxQzgwMDBBRDQ0NjAxNjUyQjYxRDdBQjZCMzI0QkI4NkE3NTI5OEVGCis6MTAxQzkwMDAwNERBN0NFMkExODc5QzU1Rjc5Q0I1QUMyQzk1MzNCOTRFCis6MTAxQ0EwMDAzMTA1RDk1M0Q2QTIzMDBCMjk1QjAyMkU2MTVBMTdFNkIzCis6MTAxQ0IwMDA5Q0IzMkE3QUM1NDAyMUE4OTFDRTA1MjdGM0E1ODg2NDU0Cis6MTAxQ0MwMDBDMTcyNjU0RjU4MTQwQzhEN0VGMzgxNDQ1Q0VGNDFDNzlGCis6MTAxQ0QwMDAzQUJFMDJGQUE5RUFDRUNDQTkyOTUzRDZBMjQ2NDdERERDCis6MTAxQ0UwMDA3QUMwQTMwMDg2RTI5QjI5Nzg4QjgxMDk5ODcwOUIyOTkyCis6MTAxQ0YwMDA3OTVERDk3MkVEOTRCQ0I5NzYxMzNCMkE1REIyOTc5NUE0Cis6MTAxRDAwMDAyRUQ5NEJDQTdENUI1OTk0Q0ExQzI0RUVDNzk0QkNDMDIzCis6MTAxRDEwMDAyNkQzRTcxNTBDM0NFMkFDRkU3QjRBMjJFNzhBODVGOTI0Cis6MTAxRDIwMDA5RTU5OTc3QThEMENDQkE1MjdGM0EwNDE3MjYyMTkzNzgzCis6MTAxRDMwMDBERTcwMjg4QjlDOEEwRTM5RDQ4RDBGNTYzNjZEMDk0RTc1Cis6MTAxRDQwMDBCRDU5MkNDRUE1NkIwQjIyRDk5REM5QjI5N0JFRjM4MThDCis6MTAxRDUwMDA0QTdENjVBMzAwOTM4RjY3Mjk3OEMyNERDMUQxMDY4MjYxCis6MTAxRDYwMDAzMUFGMDczODM0MTFGM0E4MkE5RUE4NjYxQUE0QTU0RkVDCis6MTAxRDcwMDA1QTBDMTE4RkFBN0JEMDY1NDk0NUJERTk2MkQyQjE5RTRDCis6MTAxRDgwMDA2Q0NDQzYxOTg3MDlDMzhFNzU0MTFGM0FBNTEzRDU1NTZBCis6MTAxRDkwMDA1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NUYzCis6MTAxREEwMDA1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NUUzCis6MEUxREIwMDA1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NUFDQzkwQzgKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS90dHVzYi1idWRnZXQvZHNwYm9vdGNvZGUuYmluLmloZXggYi9maXJtd2FyZS90dHVzYi1idWRnZXQvZHNwYm9vdGNvZGUuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRiMjI0NwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3R0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4uaWhleApAQCAtMCwwICsxLDgyMCBAQAorOjEwMDAwMDAwMDhBQTAwMTgwMDAzMDgwMDAwMTAwMDAwMDE4MDE4NUYxMworOjEwMDAxMDAwMDAwMDAxODA3NzE4MkFFQjZCRjgwMDE4MDNGRjY4RjhERQorOjEwMDAyMDAwMDAxOEZGRkVGN0I4RjdCRUY2QjlGNEEwRjZCN0Y2QjVCQworOjEwMDAzMDAwRjZCNkYwMjAxOURGRjEwMDAwMDFGODREMDFBQkY2Qjg3QgorOjEwMDA0MDAwRjAyMDE5REZGMDczMDFBNTdFRjgwMDEyRjAwMDAwMDEyNgorOjEwMDA1MDAwNDdGODAwMTE3RTkyMDBGODAwMTFGMDAwMDAwMTdFRjhEMAorOjEwMDA2MDAwMDAxMUYwMDAwMDAxNkM4OTAxOUFGN0I4RUVGQ0YwMjA1NQorOjEwMDA3MDAwRkZGRkYxMDAwMDAxRjg0RDAxQkZGMjczMDFCOTRFMDIxQworOjEwMDA4MDAwRjQ5NUY1RTM1NjAyN0UwMDExMDBGQTRDMDFCNzZCMDNCQworOjEwMDA5MDAwMDAwMUY2QjhFRTA0RjA3NDBEQTdGMDc0MDFDNTRBMTEyMgorOjEwMDBBMDAwNEExNjcyMTEyQUU2MTBGODAwMTFGQTQ1MDFEQkY0OTVBMAorOjEwMDBCMDAwRUVGRjQ4MTFGMDAwMkFDNjg4MTZGNDk1RjQ5NTEwRUU2QworOjEwMDBDMDAwRkZGRkY0RTM2Q0U5RkZGRjAxRDUxMEY4MkFFN0Y4NDVEQworOjEwMDBEMDAwMDFFMjEwRjgyQUU3RjRFM0YwNzQwMUZGRUUwMThBMTY1QQorOjEwMDBFMDAwOEExMUZDMDBGN0I4RTkyMDRBMTEwOUY4MkFFNkY4NEUwRgorOjEwMDBGMDAwMDFGM0YyNzMwMUZERjQ5NUU4MDE3MjExMkFFNjQ5MTE0QQorOjEwMDEwMDAwODBFMTJBQzZGMzAwMDAwMUU4MDA4MUY4MkFFNjhBMTE5RQorOjEwMDExMDAwRkMwMEY0OTVGMDczMDIwMDEwRjgyQTBGRkMwMDRBMTE1RAorOjEwMDEyMDAwRjA3NDAyMDI4MEY4MkExMDczMDgwMDA5NDBGODJBMTVCQQorOjEwMDEzMDAwODJGODAwMTFGNDk1NzcxMDAzRThGNUE5RjgzMDAyMjE1MAorOjEwMDE0MDAwNzFGODJBMTAyQTE1NTZGODJBMENGMEUzNEVGODJBMTZGMAorOjEwMDE1MDAwRTgwMDRFRjgyQTBDOEExMUZDMDA0QTA2NEEwNzRBMUQ5QworOjEwMDE2MDAwNjhGODAwMDc3RDNGNjlGODAwMDc0MDAwNjhGODAwMUQ0NworOjEwMDE3MDAwRkZGQzZCRjgyQTBGMDAwMThBMUQ4QTA3OEEwNkY0RUI0MAorOjEwMDE4MDAwRUVGRDc2RjgyQTBGMDAwMDc2MDAwMDAwRkI4MDE5NEM4NworOjEwMDE5MDAwRjQ5NUU4MDA4MEY4MkExMUY5ODAxOTA3ODBGODJBMEVGMgorOjEwMDFBMDAwRjk4MDE2NjY3NjAwMkExMjEwRjgyQTExRjk4MDE4RTNGMQorOjEwMDFCMDAwMTBGODJBMEVGOTgwMTY2NjEwRjgyQTBFRjk4MDE2ODdCNAorOjEwMDFDMDAwRUUwM0ZDMDA0QTExRjZCOEY0OTVGMDIwODAwMDExRjgxNworOjEwMDFEMDAwMkE1QUY4NEQwMjkzMTFGODJBOUZGODRDMDI3Qzc3MTJBNAorOjEwMDFFMDAwMkEzOTQ5MTIwMUY4MkE5Rjg5MTFGNDk1RjQ5NTcxODFGMQorOjEwMDFGMDAwMDAxMTZDRTFGRkFCMDI5MzZCRjgyQTlGMDAwMUU5MDU0NworOjEwMDIwMDAwMDFFMjAwMDM4MUY4MkFBMEYwNzMwMjk1NzIxMTJBOUY3RgorOjEwMDIxMDAwRjQ5NTEwRTEyQTM5NkJGODJBOUYwMDAxMTFGODJBOUYwMgorOjEwMDIyMDAwMDlGODJBQTBGODRDMDI5Mzc2RjgyQTVBMDAwMDc2RjhDQQorOjEwMDIzMDAwMkE5RjAwMDA3NkY4MkFBMDAwMDA4ODExRjQ5NTQ4MTE0MgorOjEwMDI0MDAwOEExMUZDMDA0QTExRUVGRTEwRjgyQTVBRjg0NDAyQjI1NAorOjEwMDI1MDAwNzZGODJBNUEwMDAxRjA3NDAyNTg4ODExRjQ5NTc3MTA0NAorOjEwMDI2MDAwODAwMEY0QTlGODMwMDJCMjQ4MTFGMDMwMDBGRjgwMDA5RAorOjEwMDI3MDAwMTBGODJBNUJGOTgwMThENkVFMDI4QTExRkMwMEY0OTU3QQorOjEwMDI4MDAwNEEwODRBMDk0QTBBNEEwQjRBMEM0QTBENEExMDRBMTFCRQorOjEwMDI5MDAwNEExMjRBMTM0QTE0NEExNTRBMTY0QTE3NEExNzRBMTk2MworOjEwMDJBMDAwNEEwRTRBMDY0QTA3NEExQTRBMUQ0QTFCNEExQzY4Rjg1RgorOjEwMDJCMDAwMDAwNzdEM0Y2OUY4MDAwNzQwMDA2OEY4MDAxREZGRkM1QgorOjEwMDJDMDAwNDgxODY4RjgwMDE4RkZGRUY0OTVGNDk1NEEwOEVFRkQwQQorOjEwMDJEMDAwRjA3NDAyNTg4ODExRjQ5NTc3MTA4MDAwRjRBOUY4MzA3MgorOjEwMDJFMDAwMDJFRjQ4MTFGMDMwMDBGRjgwMDAxMEY4MkE1QkY5ODAxRgorOjEwMDJGMDAwMThENkVFMDM4QTE4RjQ5NThBMUM4QTFCOEExRDhBMUE1RQorOjEwMDMwMDAwOEEwNzhBMDY4QTBFOEExOThBMTc4QTE3OEExNjhBMTUxMAorOjEwMDMxMDAwOEExNDhBMTM4QTEyOEExMThBMTA4QTBEOEEwQzhBMEIwRgorOjEwMDMyMDAwOEEwQThBMDk4QTA4RjRFQjRBMTE3NzExMkEzOTc2ODFGOAorOjEwMDMzMDAwMDA1NTc3MTIyQTE4MTBFMjAwMDE4MEUxMDAwMTEwRTI1NgorOjEwMDM0MDAwMDAwMjgwRTEwMDAyNzZFMTAwMDMwMDAwNzZFMTAwMDQ5MworOjEwMDM1MDAwMDBBQUYwNzQwMjk4OEExMUZDMDA0QTExODgxMUY0OTVFMQorOjEwMDM2MDAwRjQ5NTEwODE2RkY4MkE5RTBDODhFOEZGMThFMTAwMDFDRgorOjEwMDM3MDAwMUFGODJBOUVGMDMwMUZGRjgwRjgyQTlFOEExMUZDMDA4RQorOjEwMDM4MDAwNEExMTc3MTEyQTM5NzY4MTAwNTU3NzEyMkExODExRTIxRAorOjEwMDM5MDAwMDAwMTgxRTEwMDAxMTFFMjAwMDI4MUUxMDAwMjc2RTE0OQorOjEwMDNBMDAwMDAwMzAwMDI0ODA4NkZFMTAwMDQwQzk4RjAzMDAwRkZFMQorOjEwMDNCMDAwODBFMTAwMDU3NkUxMDAwNjAwQUFGMDc0MDI5ODhBMTEzNworOjEwMDNDMDAwRkMwMDRBMTE3NzExMkEzOTc2ODEwMDU1NzcxMjJBMThENAorOjEwMDNEMDAwMTBFMjAwMDE4MEUxMDAwMTEwRTIwMDAyODBFMTAwMDI3MQorOjEwMDNFMDAwNzZFMTAwMDMwMDA0NDgxMUYwMDAwMDA0ODgxMkY0OTUzRgorOjEwMDNGMDAwNzcxMzJBNzZFOTAwRTU5OEYzMDAwMDAxRjZCODQ4MEI3OAorOjEwMDQwMDAwMDhGODJBM0NGODQzMDM3MTc2ODIwMEFBRjA3NDAyOTgzNworOjEwMDQxMDAwOEExMUZDMDA0QTExRUVGMDg4MTFGNDk1RjQ5NTcxODE2RgorOjEwMDQyMDAwMDAxNDcxRTEwMDAxMDAxNTQ5MTFGMzAwMDAwMjg5MTE2NworOjEwMDQzMDAwRTc4MjZERUEwMDA0RTc4MzZERUIwMDBBNzcxQTAwMDU5NgorOjEwMDQ0MDAwRjA3MjAzQUExMTgxRjJFODgwODJFOUZGMTlFMTAwMDE0QworOjEwMDQ1MDAwRjFBMDgxOTIxMUUxMDAwQ0YyRTg4MDgzRTlGRjE5RTEzQgorOjEwMDQ2MDAwMDAwREYxQTA4MTkzNkRFOTAwMDI0ODE4NDkxODcwMDA1MQorOjEwMDQ3MDAwMDAxNUYwMDAwMDA0RjMwMDAwMEE4MDAxODEwMkYyNzQwQworOjEwMDQ4MDAwMEU1NEY0OTU0ODE0RUUxMDhBMTFGQzAwNEExMUYwNzREMQorOjEwMDQ5MDAwMEM1RTgwRjgyQTVDNzcxMjJBMzk3NjgyMDA1NTc3MTEzMworOjEwMDRBMDAwMkExODEwRTEwMDAxODBFMjAwMDExMEUxMDAwMjgwRTI2MAorOjEwMDRCMDAwMDAwMjc2RTIwMDAzMDAxQ0Y2Qjg1NkY4MkExNkYwRjBBNworOjEwMDRDMDAwRjBGODgwRTIwMDA3NTZGODJBMTZGMUYwRThGRkYyODAxMworOjEwMDREMDAwODBFMjAwMDY1NkY4MkExNkYxRjhFOEZGRjI4MDgwRTI4MgorOjEwMDRFMDAwMDAwNTU3RjgyQTE2RThGRkYyODA4MEUyMDAwNDU2Rjg2QgorOjEwMDRGMDAwMjc2Q0YwRjBGMEY4ODBFMjAwMEI1NkY4Mjc2Q0YxRjA3MgorOjEwMDUwMDAwRThGRkYyODA4MEUyMDAwQTU2RjgyNzZDRjFGOEU4RkY3NQorOjEwMDUxMDAwRjI4MDgwRTIwMDA5RThGRjU3RjgyNzZDRjI4MDgwRTI2MQorOjEwMDUyMDAwMDAwODU2RjgyNzZBRjBGMEYwRjg4MEUyMDAwRjU2Rjg1RAorOjEwMDUzMDAwMjc2QUYxRjBFOEZGRjI4MDgwRTIwMDBFNTZGODI3NkFBMQorOjEwMDU0MDAwRjFGOEU4RkZGMjgwODBFMjAwMEQ1N0Y4Mjc2QUU4RkYzMworOjEwMDU1MDAwRjI4MDgwRTIwMDBDNzZFMjAwMTMwMDAwNzZFMjAwMTJFNgorOjEwMDU2MDAwMDAwMDZGRjgyQTVDMEM1ODgwRTIwMDExRThGRjE4RjhEMAorOjEwMDU3MDAwMkE1QzgwRTIwMDEwNzZFMjAwMTcwMDAwNzZFMjAwMTZBNgorOjEwMDU4MDAwMDAwMDZGRjgyQTlFMEM1ODgwRTIwMDE1RThGRjE4Rjg2QQorOjEwMDU5MDAwMkE5RTgwRTIwMDE0NzZFMjAwMUIwMDAwNzZFMjAwMUEzOAorOjEwMDVBMDAwMDAwMDc2RTIwMDE5MDAwMDcwRTIwMDE4Mjc2RTc2RTI4MworOjEwMDVCMDAwMDAxRjAwMDA3NkUyMDAxRTAwMDA3NkUyMDAxRDAwMDAzMQorOjEwMDVDMDAwNzZFMjAwMUMwMDAwNzZFMjAwMjAwMEFBRjA3NDAyOTg5NworOjEwMDVEMDAwOEExMUZDMDA0QTExRUVGRTEwRjgyQTM4Rjg0NTA0RURBNQorOjEwMDVFMDAwNzcxMjJBMTgxMEUyMDAwMjg4MTFGNDk1NzcxMDAwMDg5QgorOjEwMDVGMDAwNkRFOUZGREZGNkE5RjgyMDA0NzVGMDczMDQ3REYwMTBCMworOjEwMDYwMDAwMDAyMUYwMDAxQTgzNDgwODdFRjgwMDA4RjRFMkYwNzQzNAorOjEwMDYxMDAwMDMwQUYwNzMwNEVBNDgxMkYyNzQwMzIzRjAwMDAwMDRBMgorOjEwMDYyMDAwRjI3NDAzMzZGNDk1RTgwMEYwNzMwNEVBNzcxMTJBMTg5RgorOjEwMDYzMDAwRThGRjZGRTEwMDA0MEQ0ODE4RTEwMDA1RjI3NDA5Njk1NAorOjEwMDY0MDAwRjQ5NUYyQTBGMDc0MDMzNkYwNzMwNEVBNzcxMTJBMThENworOjEwMDY1MDAwRThGRjZGRTEwMDA0MEQ0ODE4RTEwMDA1RjI3NDA5NDE1QworOjEwMDY2MDAwRjQ5NUYyQTBGMDc0MDMzNkYwNzMwNEVBRjA3NDAzNTdDMworOjEwMDY3MDAwRjA3MzA0RUExMEY4MkExQ0YwNzQxMkE0RjI3NDAzMzYyMgorOjEwMDY4MDAwRjQ5NUU4MDBGMDczMDRFQTQ4MTJGMjc0MDM4MEYwMDA3NQorOjEwMDY5MDAwMDAwNEYyNzQwMzM2RjQ5NUU4MDBGMDczMDRFQTEwRjhFRAorOjEwMDZBMDAwMkExQ0YwNzQxMkM1RjI3NDAzMzZGNDk1RTgwMEYwNzM1NgorOjEwMDZCMDAwMDRFQTc3MTEyQTE4RThGRjZGRTEwMDA2MEQ0ODE4RTFGNworOjEwMDZDMDAwMDAwNzcxRTEwMDA1MDAxMkYyQTA3MDAwMDAxMjgwMDEyNQorOjEwMDZEMDAwMTBFMTAwMDRGMDc0MEU3QUYyNzQwMzM2RjQ5NUU4MDAyOQorOjEwMDZFMDAwRjA3MzA0RUFGMDc0MDNCQzc2RjgyQTM4MDAwMEVFMDJENgorOjEwMDZGMDAwOEExMUZDMDA0QTExNzcxMTJBMzk3NjgxMDA1NTc3MTI0OAorOjEwMDcwMDAwMkExODEwRTIwMDAxODBFMTAwMDExMEUyMDAwMjgwRTFGRAorOjEwMDcxMDAwMDAwMjc2RTEwMDAzMDAwOTQ4MTFGMDAwMDAwNDg4MTI4RAorOjEwMDcyMDAwRjQ5NTc3MTMyQTg2RTkwMEU1OThGMzAwMDAwMUY2QjhGRQorOjEwMDczMDAwNDgwQjA4RjgyQTNDRjg0MzA1MEE3NjgyMDBBQUYwNzRCMAorOjEwMDc0MDAwMDI5ODhBMTFGQzAwNEExMTc3MTEyQTM5NzY4MTAwNTVFNgorOjEwMDc1MDAwNzcxMzJBMTgxMEUzMDAwMTgwRTEwMDAxMTBFMzAwMDI4MgorOjEwMDc2MDAwODBFMTAwMDIxM0UzMDAwMzgxRTEwMDAzNDgxMTc3MTFFNworOjEwMDc3MDAwMDAwMEY4NEQwNTQ0RjAwMDAwMDQ4ODEyNDgxM0YwMDAxMgorOjEwMDc4MDAwMDAwNDg4MTNGNDk1RjQ5NUU1OTg2RDkxRjZCODQ4MTEzNgorOjEwMDc5MDAwMDhGODJBM0NGODQzMDUzQUYwMjAyQTM5NDkxMUY1MDBCNworOjEwMDdBMDAwODkxMUY0OTVGNDk1NzZFMTAwMDQwMEFBRjA3NDAyOTg5QQorOjEwMDdCMDAwOEExMUZDMDA0QTExNzcxMTJBMzk3NjgxMDA1NTc3MTI4NworOjEwMDdDMDAwMkExODEwRTIwMDAxODBFMTAwMDExMEUyMDAwMjgwRTEzRAorOjEwMDdEMDAwMDAwMjc2RTEwMDAzMDAwQzQ4MTFGMDAwMDAwNDg4MTJDQQorOjEwMDdFMDAwRjQ5NTc3MTMyQTdBRTkwMEU1OThGMzAwMDAwMUY2Qjg0QQorOjEwMDdGMDAwNDgwQjA4RjgyQTNDRjg0MzA1NkE3NjgyMDBBQUYwNzQ5MAorOjEwMDgwMDAwMDI5ODhBMTFGQzAwNEExMTc3MTEyQTM5NzY4MTAwNTUyNQorOjEwMDgxMDAwNzcxMjJBMTgxMEUyMDAwMTgwRTEwMDAxMTBFMjAwMDJDNAorOjEwMDgyMDAwODBFMTAwMDI3NkUxMDAwMzAwMTk0ODExRjAwMDAwMDRBNQorOjEwMDgzMDAwODgxMkY0OTU3NzEzMkE1REU5MDBFNTk4RjMwMDAwMDEyQQorOjEwMDg0MDAwRjZCODQ4MEIwOEY4MkEzQ0Y4NDMwNTkzNzY4MjAwQUFDQworOjEwMDg1MDAwRjA3NDAyOTg4QTExRkMwMDRBMTE4ODExMTBGODJBMzhBNQorOjEwMDg2MDAwRjg0NDA1RTMxMEY4MkFBMUY4NDQwNUJBNkNFMUZGNTZGNAorOjEwMDg3MDAwMDVFMzcyMTIyQUExRjQ5NTcwRTIyQTE4MDAxMTZCRjhCMAorOjEwMDg4MDAwMkFBMTAwMDFGMDczMDVFMzcyMTIyQUExRjQ5NTcwRTIyNworOjEwMDg5MDAwMkExODAwMTExMEY4MkFBMUYwMDAwMDAxODgxMkY0OTUxRQorOjEwMDhBMDAwRjQ5NTZFRTJGRkZDMDVEMTczMTIyQUExNDgxMUYwMDAwNQorOjEwMDhCMDAwMDAwNTgwRjgyQUEyMTBGODJBQTEwOEY4MkFBMkY4NDQxNAorOjEwMDhDMDAwMDVFMzZDRTFGRkFCMDVERDc2RjgyQTM4MDAwMTc2RjgyOAorOjEwMDhEMDAwMkFBMTAwMDA3NkY4MkFBMjAwMDA4QTExRkMwMEY0OTVGMworOjEwMDhFMDAwNEEwODRBMDk0QTBBNEEwQjRBMEM0QTBENEExMDRBMTE1OAorOjEwMDhGMDAwNEExMjRBMTM0QTE0NEExNTRBMTY0QTE3NEExNzRBMTlGRAorOjEwMDkwMDAwNEEwRTRBMDY0QTA3NEExQTRBMUQ0QTFCNEExQzY4RjhGOAorOjEwMDkxMDAwMDAwNzdEM0Y2OUY4MDAwNzQwMDA2OEY4MDAxREZGRkNGNAorOjEwMDkyMDAwNDgxODY4RjgwMDE4RkZGRUY0OTVGNDk1NEEwOEVFRkZBMQorOjEwMDkzMDAwMTBGODJBNUJGOTgwMTgwNEYwNzQwNUEyRUUwMThBMThGOQorOjEwMDk0MDAwRjQ5NThBMUM4QTFCOEExRDhBMUE4QTA3OEEwNjhBMEVDRgorOjEwMDk1MDAwOEExOThBMTc4QTE3OEExNjhBMTU4QTE0OEExMzhBMTI5QworOjEwMDk2MDAwOEExMThBMTA4QTBEOEEwQzhBMEI4QTBBOEEwOThBMDhENworOjEwMDk3MDAwRjRFQkVFRkQ3NkY4MkEzODAwMDA3NkY4MkE1QTAwMDBFQgorOjEwMDk4MDAwRTgwMTRFMDBGQjgwMTdENkY0OTVFODAxODBGODJBNUI1OQorOjEwMDk5MDAwNzYwMDJBOEZGOTgwMTZBQTEwRjgyQTVCRjk4MDE3NUM3NgorOjEwMDlBMDAwMTBGODJBNUJGOTgwMTc2RkZCODAxNjY2RjQ5NUU4MUEzOQorOjEwMDlCMDAwRkI4MDE2ODdGNDk1RTgxQUZCODAxNjY2RjQ5NUU4MUIxMQorOjEwMDlDMDAwRkI4MDE2ODdGNDk1RTgxQkVFMDNGQzAwNEExMUY0OTVCMgorOjEwMDlEMDAwMTMwMjg4MTFFODAwRjg0RDA2NkFGMzEwMDAwMTg5MUEyNQorOjEwMDlFMDAwRjQ5NUYwNzIwNjY5MUM5MThBMTFGQzAwNEExMTg4MTE3NQorOjEwMDlGMDAwMTIwMzExMDJGODQ1MDY3OUYwMTAwMDAxODgxQUY0OTVFNworOjEwMEEwMDAwRjA3MjA2Nzg4MTkxOEExMUZDMDA0QTExRjQ5NTcxMDIwNgorOjEwMEExMDAwMDAxMTExMDM2MUY4MDAxMTAwMDFGODMwMDY5MUY2QjhEOQorOjEwMEEyMDAwNkZGODAwMTEwQzFGODgxMUYzRThFOEZGMTg4MUYxQTA5RQorOjEwMEEzMDAwODE4MUYwNzMwNjlERjZCODZGRjgwMDExMEMxRjg4MTFDNAorOjEwMEE0MDAwRjMzMDAwRkZGMDIwRkYwMDE4ODFGMUEwODE4MThBMTFBRQorOjEwMEE1MDAwRkMwMDRBMTFGNDk1MTEwMjYxRjgwMDBCMDAwMUY4MjAyNgorOjEwMEE2MDAwMDZCMTQ5MEJGNjFGODgxMUY0OTVGNDk1MTA4MUYyNzNDNQorOjEwMEE3MDAwMDZCOEYwMzAwMEZGNDkwQkY2MUY4ODExRjQ5NUY0OTU4NQorOjEwMEE4MDAwMTI4MUY0Nzg4QTExRkMwMDRBMTFGNDk1NzEwMjAwMTI2NworOjEwMEE5MDAwMTMwMzg4MTFFODAwRjg0RDA2Q0NGMzEwMDAwMTg5MUEwMQorOjEwMEFBMDAwRjQ5NUYwNzIwNkNCMTE5MkYyQzA4MTkxOEExMUZDMDA4QworOjEwMEFCMDAwODgxMjEyMDI3MTAxMDAxM0Y4NDUwNkRCRjAxMDAwMDFFNAorOjEwMEFDMDAwODgxQUY0OTVGMDcyMDZEQUU1OThGQzAwNEExMUVFRkVGOQorOjEwMEFEMDAwODgxMTExMDQxMDA2NzEwNTAwMTI2MUY4MDAxMjAwMDE1RQorOjEwMEFFMDAwRjgyMDA2RUFGMDAwMDAwMUY2QjhGMDAwMDAwMTZGRjgwNworOjEwMEFGMDAwMDAxMjBGMUY0ODA4ODEwMEY0N0Y4MDAxRjI3NDA2QkFDQgorOjEwMEIwMDAwRjQ5NTQ4MTFFRTAyOEExMUZDMDA0QTExRUVGRTg4MTI5QgorOjEwMEIxMDAwMTEwNDEwMDY3MTA1MDAxMzYxRjgwMDEzMDAwMUY4MjA5QworOjEwMEIyMDAwMDcwOUYwMDAwMDAxRjAwMDAwMDE4ODExRjZCODZGRjgyNQorOjEwMEIzMDAwMDAxMzBGMUY4MTAwNDgxMUY0N0Y4MDAxRjI3NDA2Q0U2QworOjEwMEI0MDAwRjQ5NTQ4MTI0ODExRjAzMEZGRkVFRTAyOEExMUZDMDBDNQorOjEwMEI1MDAwNEExMTRBMTY0QTE3RUVGQ0Y0OTU4MDAyNzEwODAwMTZGNQorOjEwMEI2MDAwMTAwOTcxMEIwMDE3ODAwMzcxMEEwMDExNDgxN0Y4NDUyRQorOjEwMEI3MDAwMDczRjcwMDAwMDExMTAwM0YwNzQwNjlGODAwMTcwMDBBMQorOjEwMEI4MDAwMDAxNjEwMDJGMDc0MDY3QjZEOTE2RDk2NkNFRkZGRkZGRQorOjEwMEI5MDAwMDcyRkVFMDQ4QTE3OEExNjhBMTFGQzAwNEExMUVFRkUwRQorOjEwMEJBMDAwMTBGODJBRTgwOEY4MkFFOUY4NDUwNzY0NzYwMDAwMDFGOQorOjEwMEJCMDAwNjJGODJBRTkwMDVFRjI3NDEyMEJGMDAwMzA0MDcyMTEwNAorOjEwMEJDMDAwMkFFOTc3MTAwMDBGRjVBOUY4MjAwNzYxNkJGODJBRTlFOAorOjEwMEJEMDAwMDAwMUYwNzMwNzY0NzZGODJBRTkwMDAwRUUwMjhBMTEzQQorOjEwMEJFMDAwRkMwMDRBMTE4ODExRTgwMDc1RjgwMDA4MDAwOEU4MDBDOAorOjEwMEJGMDAwNzVGODAwMDgwMDA5RjZCOEY0OTVGMDIwRkMzRjc1Rjg4OAorOjEwMEMwMDAwMDAwODAwMERGMDIwMEMzMDc1RjgwMDA4MDAwQzc2Rjg5NAorOjEwMEMxMDAwMkFFODAwMDA3NkY4MkFFOTAwMDA2QzgxMDc5Mjc2Rjg0RAorOjEwMEMyMDAwMkFFQTAwMDBGQjgwMTY3NkY0OTVFODEwRTgwMDc1RjhEMworOjEwMEMzMDAwMDAwODAwMDBGMDczMDdBODc2RjgyQUVBMDAwMUZCODA5QworOjEwMEM0MDAwMTY2NkY0OTVFODEwRkI4MDE2ODdGNDk1RTgxMEU4MDAyNgorOjEwMEM1MDAwNzVGODAwMDgwMDAwRjZCOEY0OTVGMDIwRkZGRjc1Rjg2RAorOjEwMEM2MDAwMDAwODAwMDA4QTExRkMwMEY0OTU0QTA4NEEwOTRBMEE2MworOjEwMEM3MDAwNEEwNjRBMDc0QTFENjhGODAwMDc3RDNGNjlGODAwMDdFMQorOjEwMEM4MDAwNDAwMDY4RjgwMDFERkZGQzEwRjgyQUVBRjg0NTA3RTE2QgorOjEwMEM5MDAwMTBGODJBRThGMDAwMDAwMUYwMzAwMDBGODBGODJBRTg5MAorOjEwMENBMDAwMTBGODJBRThGODQ0MDdENkY2QjhGNDk1RjAyMEZDM0Y4RgorOjEwMENCMDAwNzVGODAwMDgwMDBERjAyMDBDMzA3NUY4MDAwODAwMENFNQorOjEwMENDMDAwRTgwMDc1RjgwMDA4MDAwMEY2QjhGNDk1RjAyMEZGRkY4MgorOjEwMENEMDAwNzVGODAwMDgwMDAwOEExRDhBMDc4QTA2OEEwQThBMDlCMAorOjEwMENFMDAwOEEwOEY0RUJFRUZGRjI3NDA3NjdGNDk1RTgwMUVFMDE3MQorOjEwMENGMDAwRkMwMDRBMDc0QTFENjhGODAwMDc3RDNGNjlGODAwMDdCNQorOjEwMEQwMDAwNDAwMDY4RjgwMDFERkZGQzhBMUQ4QTA3RjRFQjRBMTFCOQorOjEwMEQxMDAwNzcxMTAwMjg3NjgxMjQwMEU4MDA3NUY4MDAwODAwMDFBQQorOjEwMEQyMDAwRjI3NDA3NjdGNDk1RTgwMDc3MTEwMDFENjg4MTAwN0Y3MQorOjEwMEQzMDAwRjZCOEY0OTVGMDIwRkY4MDc3MTEwMDFERjAzMDAxMDAyNworOjEwMEQ0MDAwMUE4MTgwODFGMDc0MEEzM0YwNzQxMUFDRjk4MDEzMjU5NAorOjEwMEQ1MDAwRjk4MDE2NTNGOTgwMTc4MkYwNzQwNjJGRjk4MDE0QjJDNworOjEwMEQ2MDAwRjk4MDE5MTBGMDc0MERFM0YwNzQwN0U4RjA3NDAyMzY5RQorOjEwMEQ3MDAwOEExMUZDMDA0QTExNjBGODI3N0JGRkZGRjgzMDA4MzkyMAorOjEwMEQ4MDAwNzFGODI3N0IyNzc5NjBGODI3NzlGRkZGRjgzMDA4QjJFMAorOjEwMEQ5MDAwMTBGODI5ODYwOEY4Mjc3OUYwMzA3RkZGODgxMUY0OTUzQworOjEwMERBMDAwNzcxMDQwMDBGNkE5RjgzMDA4NTgxMEY4Mjc3OTA4RjhBRAorOjEwMERCMDAwMjc3QUYwMzA3RkZGODgxMUY0OTU3NzEwNDAwMEY2QTk2QworOjEwMERDMDAwRjgyMDA4NjM3NkY4Mjc3OUZGRkY3NkY4Mjc3QkZGRkY4NgorOjEwMEREMDAwRjdCOEYyNzMwOEQ5RjAyMEZGRkZGNkI4NTZGODI3NzQ3OQorOjEwMERFMDAwRjBGOTg4MTE1NkY4Mjc3MkYwRjk4ODEyRjQ5NUY0OTUwNQorOjEwMERGMDAwRTcyMEY0QTlGODMwMDg4RkYxMjAyNzdDNDgxMUY2MDA4RAorOjEwMEUwMDAwODgxM0Y0OTVGNDk1MTA4MzA4RjgyNzc5RjAzMDdGRkY2NAorOjEwMEUxMDAwODgxM0Y0OTU3NzEwNDAwMEY1QUJGODMwMDg4RjZEOTE4QQorOjEwMEUyMDAwNDgxMUYwMzAwMUZGODgxMUY0OTVFNzIwRjdBOUY4MzA1OAorOjEwMEUzMDAwMDg3NDZEODk0ODExRjAzMDAxRkZGMEU3RjQ5NTQ4MDgxNworOjEwMEU0MDAwNEVGODI3NzQ0ODA4RjFGOTg5MTFGNDk1RjQ5NTcxRTE4OQorOjEwMEU1MDAwMjc3QzI3N0E2MEY4Mjc3QkZGRkZGODMwMDhBQjQ4MDgyQgorOjEwMEU2MDAwNEVGODI3NzI3NkY4Mjc3QkZGRkY3NkY4Mjc3OUZGRkY4OQorOjEwMEU3MDAwRjI3MzA4RDlGNDk1RTgwMDQ0RjgyNzczNDBGODI3NzUxMQorOjEwMEU4MDAwODJGODAwMTFGNDk1NzcxMDgwMDBGNkE5RjgyMDA4RDhCMAorOjEwMEU5MDAwRjZCODEwRjgyNzczRjAwMDgwMDA0ODA4NEVGODI3NzQ2MQorOjEwMEVBMDAwNDgwOEYwRjk4ODExRjQ5NUY0OTU3MUUxMjc3QzI3N0FDOAorOjEwMEVCMDAwRjdCODU3RjgyNzc0RjA2MkZGRkZGMDQwRkY4MEYyODAyOAorOjEwMEVDMDAwNEVGODI3NzRFODAwOEExMUZDMDA0QTExNEExNkVFRkIxRQorOjEwMEVEMDAwMTFGODI3NzEwOUY4Mjc3Mzg5MTE4ODEwRjQ5NUY0OTU5MgorOjEwMEVFMDAwRjZBOUY4MjAwOEVERjI3MzA5MEVGNDk1RTgwMEY2MjA1MworOjEwMEVGMDAwNzYwMDAwNDFGMDc0MTJFRTg4MTZGNDk1RjdCODZEOTZGRQorOjEwMEYwMDAwMTBGODAwMTZGODQ3MDkwQUU3NjE3NjAwMDAwMDc2MDEzQworOjEwMEYxMDAwMDA4MDc2MDIwMEZGNzYwMzAwMDBGMjc0MENCOUY0OTVBRAorOjEwMEYyMDAwRTgwMDZDRTlGRkZGMDhGQjczMTYwMDBFRjA2NjAwNDE1NQorOjEwMEYzMDAwRUUwNThBMTY4QTExRkMwMDRBMTFGNDk1NzEwMjAwMTMxRAorOjEwMEY0MDAwRjZCODc3MTE3RkZGNTdGODI3NzI0ODExRjI4MEYwMDA0QQorOjEwMEY1MDAwODAwMDg4MTFGNjQwRjBFMEYxRjFFODAxRjI4MDgwRjhCRAorOjEwMEY2MDAwMjc3ODc3MTI4MDAwNTdGODI3NzI0ODEyRjI4MDg4MTI4QgorOjEwMEY3MDAwRjQ5NUY0OTU2QzgyMDkzOEU4MDA3NUY4MDAwODAwMDFEMgorOjEwMEY4MDAwRjA3MzA5M0RGMDIwODAwMTc1RjgwMDA4MDAwMTcwODFDMAorOjEwMEY5MDAwMDAxMzhBMTFGQzAwNEExMUYwMzA3RkZGMTFGODI5ODZGNgorOjEwMEZBMDAwRjUyMEYzMzA3RkZGODkxMUY0OTU3NzEwNDAwMEY2QTkwMgorOjEwMEZCMDAwRjgyMDA5NTRGMjczMDk2N0Y0OTVFODAyNkZGODI3N0E2QworOjEwMEZDMDAwMEQyMEYzMzA3RkZGODkxMUY0OTU3NzEwNDAwMEY2QTlDQQorOjEwMEZEMDAwRjgyMDA5NjRGMjczMDk2N0Y0OTVFODAxODBGODI3N0IyQgorOjEwMEZFMDAwRTgwMDhBMTFGQzAwNEExMTExRjgyOTg2RjUyMEYzMzAzNworOjEwMEZGMDAwN0ZGRjg5MTFGNDk1NzcxMDQwMDBGNkE5RjgyMDA5N0E0RgorOjEwMTAwMDAwRjI3MzA5OERGNDk1RTgwMjZGRjgyNzdBMEQyMEYzMzAxQQorOjEwMTAxMDAwN0ZGRjg5MTFGNDk1NzcxMDQwMDBGNkE5RjgyMDA5OEExRQorOjEwMTAyMDAwRjI3MzA5OERGNDk1RTgwMTgwRjgyNzc5RTgwMDhBMTFCOAorOjEwMTAzMDAwRkMwMDRBMTFGNDk1NzEwMjAwMTI4ODExRjZCODU3RjhCNQorOjEwMTA0MDAwMjc3MkYwMjA3RkZGRjI4MEYwMDA4MDAwODA4MTU3Rjg0NworOjEwMTA1MDAwMjc3MkU4MDFGM0YxRjI4MDgwRjgyNzc4NzcxMTgwMDA5OQorOjEwMTA2MDAwNDgxMTU3RjgyNzcyRjI4MDg4MTFGNDk1RjQ5NTZDODEzNQorOjEwMTA3MDAwMDlCNUU4MDA3NUY4MDAwODAwMDFGMDczMDlCQUYwMjAxRQorOjEwMTA4MDAwODAwMTc1RjgwMDA4MDAwMTQ1RjgyNzcxNDNGODI3NzNCRgorOjEwMTA5MDAwODNGODAwMTFGNDk1RTcyMEY2QTlGODMwMDlDOUYyNzMzNgorOjEwMTBBMDAwMDlFNDc3MTIwMDAwNTdGODI3NzJGMDIwN0ZGRkYyODBFMgorOjEwMTBCMDAwNDkxMkY1MDBGMzAwODAwMDYxRjgwMDBCODAwMEY4MzA2MQorOjEwMTBDMDAwMDlEQ0YxMjA4MDAwRjUyMDg5MTJGNDk1NDgxMjZGRjhCMAorOjEwMTBEMDAwMjc3MzBEMDBGNDk1NDkwQjRGRjgyNzcyOEExMUZFMDAxMworOjEwMTBFMDAwNDgxMkY0OTU0QTExNEExNjRBMTdFRUZDRjQ5NTcxMDgxNQorOjEwMTBGMDAwMDAxNjg4MTdGMDc0MDgzMDQ4MTg3MDAwMDAxNkYyNzQ1MworOjEwMTEwMDAwMDk4RkYwMDAwMDAyODgxMUY0OTVGNDk1NkM4MTBBMEFBOQorOjEwMTExMDAwRjI3NDA4REJGNDk1NDgxNjQ4MTg3MDAwMDAxNkYyNzQ1MworOjEwMTEyMDAwMDk4RkYwMDAwMDAyODgxMTEwMDI3MDAxMDAxMTgwMDA4OAorOjEwMTEzMDAwRjI3NDA2Q0VGNDk1NDgxNzQ5MTE0ODE3RjYwMDg4MTczRgorOjEwMTE0MDAwRTc2MEY1QTlGODIwMEEyRDQ4MTZGNjIwODgxMTQ4MThGRQorOjEwMTE1MDAwNzAwMDAwMTFGMjc0MDk4RkYwMDAwMDAyODgxMTcwMDExNAorOjEwMTE2MDAwMDAxMTEwMDI4MDAwRjI3NDA2Q0VGNDk1NDgxN0VFMDRDOAorOjEwMTE3MDAwNDgxNjhBMTc4QTE2OEExMUZDMDBFRUZERTgwMDRFRjgyMAorOjEwMTE4MDAwMjc3MEU4MDA0RUY4Mjc3MkU4MDA0RUY4Mjc3NEU4MDA1MAorOjEwMTE5MDAwNEVGODI3NzY3NkY4Mjc3OUZGRkY3NkY4Mjc3QTAwMDA1MQorOjEwMTFBMDAwNzZGODI3N0JGRkZGNzZGODI3NzgwMDAwRTgwMDc1RjhDRgorOjEwMTFCMDAwMDAwODAwMDE3NjAwMDAwMDc2MDEwMjAwRjI3NDEyRENFMworOjEwMTFDMDAwRjAyMDI3N0NFRTAzRkMwMDRBMTFFRUZDRjQ5NTRFMDA2MworOjEwMTFEMDAwNzcxMjdGRkZGNkI4NDkxMkYxODBGMzAwODAwMDg5MTI4MAorOjEwMTFFMDAwRjBFMEYxRjE0RjAyRTkwMUY0OTU0ODBCRjU0MDU2MDJBOQorOjEwMTFGMDAwRjE4MDgxRjgyNzc4NzcxMTgwMDA1NjAwNDkxMUYxODAzRAorOjEwMTIwMDAwODkxMUY0OTVGNDk1NkM4MTBBODFFODAwNzVGODAwMDg1RAorOjEwMTIxMDAwMDAwMUYwNzMwQTg2RjAyMDgwMDE3NUY4MDAwODAwMDFEMworOjEwMTIyMDAwMTA4MkVFMDQ4QTExRkMwMDRBMTFFRUZFRjQ5NTRFMDA4NQorOjEwMTIzMDAwNzcxMTdGRkZGNkI4NDkxMUYxODBGMzAwODAwMDg5MTEyMgorOjEwMTI0MDAwRjBFMEYxRjFFODAxRjI4MDgwRjgyNzc4NTYwMEYxMjAxMworOjEwMTI1MDAwODAwMEYxODBGNDk1NDkwQkY4NEQwQUFCRjAyMDgwMDEzNQorOjEwMTI2MDAwNzVGODAwMDgwMDAxRjA3MzBBQUZFODAwNzVGODAwMDg4RgorOjEwMTI3MDAwMDAwMUVFMDI0ODExOEExMUZDMDA0QTExODgxMjEzMDI4MworOjEwMTI4MDAwNzcxMTAwMDBGODREMEFDQkYzMTAwMDAxODkxQUY0OTU4QworOjEwMTI5MDAwRjA3MjBBQ0E0ODExMUNGODI5N0U4ODExMTFGODI5N0VCQgorOjEwMTJBMDAwRjIwMDAwMDE4MEY4Mjk3RTgxOTI0ODExOEExMUZDMDAyOQorOjEwMTJCMDAwNEExMUY0OTU3MTAyMDAxMTg4MTJGNkI4RjAyMDdGRkZGMAorOjEwMTJDMDAwNTdGODI3NzBGMjgwRjAwMDgwMDA4MDgyNTdGODI3NzA2RQorOjEwMTJEMDAwRTgwMUYzRjFGMjgwODBGODI3Nzg3NzEyODAwMDQ4MTI1NQorOjEwMTJFMDAwNTdGODI3NzBGMjgwODgxMkY0OTVGNDk1NkM4MjBBRjQwRQorOjEwMTJGMDAwRTgwMDc1RjgwMDA4MDAwMUYwNzMwQUY5RjAyMDgwMDE5OQorOjEwMTMwMDAwNzVGODAwMDgwMDAxNDVGODI3NzVFNzEwNDNGODI3NzFDNAorOjEwMTMxMDAwODNGODAwMTI2REU4MDAwNDZEOEFGNkFBRjgzMDBCMEExMworOjEwMTMyMDAwRjI3MzBCMjU3NzExMDAwMDU3RjgyNzcwRjAyMDdGRkYyQworOjEwMTMzMDAwRjI4MDQ5MTFGNTAwRjMwMDgwMDA2MUY4MDAwQjgwMDA5NQorOjEwMTM0MDAwRjgzMDBCMURGMTIwODAwMEY1MjA4OTExRjQ5NTQ4MTEyQgorOjEwMTM1MDAwNkZGODI3NzEwRDAwRjQ5NTQ5MEI0RkY4Mjc3MDQ4MTE2RAorOjEwMTM2MDAwOEExMUZDMDA0QTExNEExNjRBMTdFRUYwODgxNzEwMTcyNgorOjEwMTM3MDAwODAwNTEwMTY4MDA2MTAxNTgwMDc3MTE0MDAxMTEwMDVFNQorOjEwMTM4MDAwRjAzMDAwMDE4ODEwMTAwNkYwMzAwMDAxODAwODQ5MTE4QgorOjEwMTM5MDAwMTAwNUY2MDE4MDA5MTAwNjYxRjgwMDA4MDAwMUY4MjAyOAorOjEwMTNBMDAwMEI0QjEwMDlGMDAwMDAwMTgwMDk3MTA4MDAxMkY0QUEyQgorOjEwMTNCMDAwRjgzMDBCNTQxMDA5RjAwMDAwMDE4MDA5MTIwOTQ5MTE5RQorOjEwMTNDMDAwRjQ3RjgwMDlGNjIwODAwQTU2RjgyNzcwNEUwQzEwMDkyOQorOjEwMTNEMDAwODAwMDQ4MThGMjc0MEFDRUYwMDAwMDA0ODgxNkY0OTVENAorOjEwMTNFMDAwRjQ5NTZDODYwQjZERjI3MzBDNTlGNDk1RTgwMEY2QjgyMQorOjEwMTNGMDAwRjQ5NTU2MENGMEY5ODgxMkY0OTVGNDk1NzBFMjI3N0M3OAorOjEwMTQwMDAwMjk4NkU4MDA4MDBFNDgxMUY4NDUwQkNDNzcxMDAwMDFDMgorOjEwMTQxMDAwRjRBOUY4MzAwQjg5NkNFMUZGRkQwQjhCMTBFNzAwMDI5QgorOjEwMTQyMDAwODAwRUYwNzMwQjhCMTA4NzgwMEVFNzEwRjVBRUY4MjA1RQorOjEwMTQzMDAwMEJCMjcwMDAwMDE3NzAwMTAwMTYxMDA0RjA3NDA2Q0U5NQorOjEwMTQ0MDAwNDgxNzQ5MTZGNjAwODgxNzQ4MTFGNjIwODgxMTEwMDkyOAorOjEwMTQ1MDAwRjYyMDgwMDA0ODE4RjI3NDBBQ0VGMDAwMDAwNDg4MTZDNgorOjEwMTQ2MDAwMTAwNDcwMDAwMDE3NzAwMTAwMTFGMDc0MDZDRTQ4MTFDRQorOjEwMTQ3MDAwMDAwNDgwMDRGMDczMEJCQzcwMDAwMDE3NzAwMTAwMTFCMQorOjEwMTQ4MDAwMTAwNEYwNzQwNkNFNDgxMTAwMDQ4MDA0NDkxMTQ4MTY3NworOjEwMTQ5MDAwRjYyMDg4MTZGNDk1RjQ5NTZDODYwQkNDMTAwQTgwMDAyMworOjEwMTRBMDAwNDgxOEYyNzQwQUNFRjAwMDAwMDQ4ODE2MTIwQUY4NDVCMworOjEwMTRCMDAwMEMzMzcxMEEwMDEwRjRBRUY4MzAwQzFDNDgxNkYwRTE0MQorOjEwMTRDMDAwODgxMTEyMDhGODQ1MEJEQjZEODkxMjA3Rjg0NTBCRTkwNgorOjEwMTREMDAwMTAwNzgwMDA3MDAyMDAxMTEwMDY4MDAxMTAwNEYwNzRFMworOjEwMTRFMDAwMDZEQ0YwNzMwQkVGNDgxMTZGMDAwQzlGMTAwNEYwNzREMgorOjEwMTRGMDAwMEFCMzExMEVGMUMwODEwRTEwMDY0OTExRjYwMDgwMDZFNAorOjEwMTUwMDAwMTAwNUY2MjA4ODExRjAwMDAwMDE0ODA4NkYwMDBDOUZCQworOjEwMTUxMDAwNDgxOEYyNzQwQUNFRjAwMDAwMDQxMjA3Rjg0NTBDMTFDNgorOjEwMTUyMDAwMTAwNzgwMDA3MDAyMDAxMTEwMDY4MDAxMTAwNEYwNzQ5MgorOjEwMTUzMDAwMDZEQ0YwNzMwQzE3NDgxMTZGMDAwQzlGMTAwNEYwNzQ1OAorOjEwMTU0MDAwMEFCMzExMEVGMUMwODEwRUYwNzMwQzMzMTIwN0Y4NDU4NworOjEwMTU1MDAwMEMyQTEwMDc4MDAwMTAwNjgwMDExMDA1ODAwMjEwMDQ3QworOjEwMTU2MDAwRjA3NDA2RENGMDczMEMzMDEyMDU2RjAwMEM5RjEwMDQ1MQorOjEwMTU3MDAwRjA3NDBBQjMxMTBFRjFDMDgxMEU3NjAwMDAwMTQ4MTgxNAorOjEwMTU4MDAwRjI3NDBBQ0VGMDAwMDAwNDcxMDQwMDExNzA4MTI5ODYwMworOjEwMTU5MDAwMTAwRTFDRjgyOTg2ODAwRTc2MDAwMDAxNDgxOEYyNzQ5RgorOjEwMTVBMDAwMEFDRUYwMDAwMDA0MTAwRTcxMDQwMDExODA4MTEwRjhDMgorOjEwMTVCMDAwMjk4NkYwMDAwMDAxRjAzMDdGRkY4MEY4Mjk4NjEwMDlBRAorOjEwMTVDMDAwRjAwMDAwMDI4MDA5RUUxMDhBMTc4QTE2OEExMUZDMDBDQQorOjEwMTVEMDAwMTBGODI3NzUwOEY4Mjc3MUYwMTAwMDAxNDgwOEZDMDA4MgorOjEwMTVFMDAwNEExMTRBMTZFRUZGRjQ5NTcxMDQwMDE2RjAwMDAwMDE0RQorOjEwMTVGMDAwNDgwODRFRjgyOTdDNkRFRUZGRkQ0ODE2Rjg0NTBDOTkxOQorOjEwMTYwMDAwNTZGODI5N0NGMDc0MEE1QTg4MTExMEY4Mjk3REYwMDBFOAorOjEwMTYxMDAwMDAwMTQ4MDg0RUY4Mjk3QzEwRjgyOTgyRjAwMDAwMDFFQQorOjEwMTYyMDAwODgxMEY0OTVGNDk1RjRBOUZBMzAwQzk2ODBGODI5ODI4NAorOjEwMTYzMDAwNTZGODI5ODBGMDAwMDAwMTRFRjgyOTgwNzMxMTI5ODJBNAorOjEwMTY0MDAwNkNFRUZGRkYwQzc2RUUwMThBMTY4QTExRkMwMDRBMTEzRgorOjEwMTY1MDAwNzZGODI5ODQwMDAwNzZGODI5ODUwMDAxRTgwMDRFRjgyNAorOjEwMTY2MDAwMkEwQzc2RjgyOTg2MDAwMDc2RjgyOTg3MDAwMDc3MTE4MQorOjEwMTY3MDAwMjk4ODc2ODFBQUFBNzZFMTAwMDFBQUFBNzZFMTAwMDI2OQorOjEwMTY4MDAwMDAwMDhBMTFGQzAwNEExMUVFRkNGNDk1NzEwNjAwMTQ2QQorOjEwMTY5MDAwNzEwNzAwMTM3MTA4MDAxMjcxMDkwMDE1NzcxMDAwRkYxRgorOjEwMTZBMDAwRjRBQUY4MzAwRDQ0NDkxMzUzRjgyQTBDNEZGODJBMENDOQorOjEwMTZCMDAwNzMxMjAwMEVGMTY2MDAwRDg5MTFGNDk1NzcxMDAwMDE4OAorOjEwMTZDMDAwNzFFMTI0MDAwMDExRjRBOUY4MzAwRDE3NzcxMDAwMDIyMQorOjEwMTZEMDAwRjRBOUY4MzAwQ0VDNzcxMTI5OEE3NjgxMDAwMEU4MDAzMworOjEwMTZFMDAwNzcxNDAwMDA3NzEzMDAwMEYwNzMwRDQ4NkM4MzBDRkEzOAorOjEwMTZGMDAwNzcxMTI5OEE0ODEyRjBFOEYwNDA4MDAwODA4MUU4MDBFNAorOjEwMTcwMDAwNzcxNDAwMDBGMDczMEQ0ODQ5MTNGMzQwODAwMDgxRjgwRQorOjEwMTcxMDAwMjk4QTYxRjgwMDE1MDAwMUY4MjAwRDA3NjlGODI5OEE2NworOjEwMTcyMDAwNDAwMDYxRjgwMDE0MDAwMUY4MjAwRDBGNjlGODI5OEFDMworOjEwMTczMDAwMjAwMDc3MTEyOThBNDkxMkYzRTgxQjgxODE4MUYwNzMxNworOjEwMTc0MDAwMEQ0ODExRjgyOTg0Rjg0QzBEMzc3NzExMjk4ODc2ODFENgorOjEwMTc1MDAwQUFBQTExRjgyOTg1RjMxMDAwMDFGMzQwQUEwMDgxRTEzQgorOjEwMTc2MDAwMDAwMTc2MDAwMDAyODAwMTcwMDIwMDE0NzAwMzAwMTM3MworOjEwMTc3MDAwRjI3NDBCMjhGNDk1NDgxMTcxRjgyOTg1Mjk4NEYwNzNDNworOjEwMTc4MDAwMEQ3Mzc2MDAwMDAwODAwMTc2MDIwMDAwNzAwMzAwMTNFNAorOjEwMTc5MDAwRjI3NDBCMjhGNDk1RTgwMEYwNzMwRDczNzcxMTI5OEEyMQorOjEwMTdBMDAwNzA4MTAwMTMxMUY4Mjk4NEY4NEMwRDY4NzcxMTI5ODg4RAorOjEwMTdCMDAwNzY4MUFBQUExMUY4Mjk4NUYzMTAwMDAxRjM0MEFBMDA0NgorOjEwMTdDMDAwODFFMTAwMDE3NjAwMDAwMzgwMDE3MDAyMDAxNDcwMDNDMworOjEwMTdEMDAwMDAxM0YyNzQwQjI4RjQ5NTQ4MTE3MUY4Mjk4NTI5ODRCNworOjEwMTdFMDAwRjA3MzBENzM3NjAwMDAwMTgwMDE3MDAyMDAxNDcwMDMyNQorOjEwMTdGMDAwMDAxM0YyNzQwQjI4RjQ5NTQ4MTE2QkY4Mjk4NEZGRkY0RAorOjEwMTgwMDAwRUUwNDhBMTFGQzAwNEExMUY1NDBGNDk1NDgwQkY0Nzg3NworOjEwMTgxMDAwODgxMUY0OTVGNDk1NkNFMUZGQjkwRDg4RjI3MzBEQTU2QworOjEwMTgyMDAwRjQ5NUU4NjBGMjAwMDAwNjYxRjgwMDExMDAyMEY4MzAzRAorOjEwMTgzMDAwMEQ5ODYxRjgwMDBCMDAwMUY4MjAwREEzRjIwMDAwMDdERAorOjEwMTg0MDAwRjA3MzBEQTM2MUY4MDAwQjAwMDFGODIwMERBMUYyNzNGNQorOjEwMTg1MDAwMERBM0YwMDAwMDAxRjAwMDAwMDI0ODA4RjQ3RjhBMTE5NworOjEwMTg2MDAwRkMwMEVFRkZGMDc0MDdGREYwNzQwNzQ0RjA3NDBEQjQ1MworOjEwMTg3MDAwRjA3NDAyMDVGMDc0MDQ2MEYwNzMwREFBRUVGRDEwRjgyOAorOjEwMTg4MDAwMkFBM0Y4NDQwRENCMTBGODJBQTRGODQ1MERENzc2MDAwQQorOjEwMTg5MDAwMDIwMEYyNzQwOUU4RjAyMDIyMDA3NkY4MkFBNDAwMDA4MQorOjEwMThBMDAwNzZGODJBQTcwMDAwRjA3MzBERDc3NjAwMDIwMEYyNzRENAorOjEwMThCMDAwMDlFOEYwMjAyMDAwNzZGODJBQTMwMDAwNzZGODJBQTc4RAorOjEwMThDMDAwMDAwMUYwNzQwQzVFRjBFMEYwMTAzQTk4Rjg0NzBERTE3QQorOjEwMThEMDAwNzZGODI3NkUwMDAwRUUwM0ZDMDA0QTExRUVGRTc3MTE0OQorOjEwMThFMDAwMjAwMDc2MDBBQUFBNzYwMTAyMDBGMjc0MDY2Q0Y0OTUzNAorOjEwMThGMDAwNDgxMTc2MDA1NTU1NzYwMTAyMDA0ODExRjI3NDA2NkNDNQorOjEwMTkwMDAwRjAwMDAyMDA3NkY4MkFBMzAwMDA3NkY4MkFBNDAwMDA2RQorOjEwMTkxMDAwRTgwMDRFMDBGQjgwMTUzRUY0OTVFODA0ODBGODJBQTUwNworOjEwMTkyMDAwNzYwMDJBQThGOTgwMTQ4Nzc2MDAyQUFERkI4MDEzNjIxRQorOjEwMTkzMDAwRjQ5NUU4MDIxMEY4MkFBNUY5ODAxNDYzRkI4MDE2NjY3NgorOjEwMTk0MDAwRjQ5NUU4MUNGQjgwMTY4N0Y0OTVFODFDRTgwMTRFMDAyRQorOjEwMTk1MDAwRkI4MDE3RDZGNDk1RTgwMDgwRjgyQUE2NzYwMDJBQjcwRgorOjEwMTk2MDAwRjk4MDE2QUExMEY4MkFBNkY5ODAxNzVDMTBGODJBQTZBMgorOjEwMTk3MDAwRjk4MDE3NkZFRTAyOEExMUZDMDBGNDk1NEEwODRBMDlCMworOjEwMTk4MDAwNEEwQTRBMDc0QTFENjhGODAwMDc3RDNGNjlGODAwMDdDMAorOjEwMTk5MDAwNDAwMDY4RjgwMDFERkZGQzEwRjgyQUE3Rjg0NDBFNEIyMQorOjEwMTlBMDAwNzZGODJBQTMwMDAxRjA3MzBFNEU3NkY4MkFBNDAwMDFGRgorOjEwMTlCMDAwOEExRDhBMDc4QTBBOEEwOThBMDhGNEVCNEExMTRBMTY5QworOjEwMTlDMDAwNEExN0VFRkU4ODBFNzEwODAwMTY3MTA2MDAxNzExMDdGRgorOjEwMTlEMDAwRjA2NjAwMERGMDAwMjVBMDg4MTE3NjAxMDAwNjgxMDA1OAorOjEwMTlFMDAwRjI3NDA2Q0VGMDAwMDAwMTc2MDEwMDA2NzAwMDAwMTZDOQorOjEwMTlGMDAwNDgxMUYyNzQwNkNFRjAwMDAwMDc3MDgxMDAxN0VFMDI2NQorOjEwMUEwMDAwOEExNzhBMTY4QTExRkMwMDRBMTE4ODBFNzEwMjAwMTI4OAorOjEwMUExMDAwMTEwM0YwNjYwMDBERjAwMDI0MDA4ODExRjQ5NTcwODEyOAorOjEwMUEyMDAwMDAxMjZFRTJGRkZFMEU4REY0OTVFODAwRTgwMTgwRTEwMQorOjEwMUEzMDAwMDAwMjc2RTEwMDAzMDBGRjc2RTEwMDA0MDAwMDc2RTE5OQorOjEwMUE0MDAwMDAwQjAwMDA3NkUxMDAwQzAwMDA4MUUxMDAwMThBMTEyQQorOjEwMUE1MDAwRkMwMDRBMTFFRUZDODgwRUY0OTVGMTY2MDAwREYzMDBDRgorOjEwMUE2MDAwMjQwMDg5MTFGNDk1RjQ5NTc2RTEwMDBDMDAwMDc2RTFFQworOjEwMUE3MDAwMDAwQjAwMDA3NkUxMDAwMjAwMDE3NjAwMDAwMDc2MDExNAorOjEwMUE4MDAwMDAwMDgwMDI3NjAzMDAwMEYyNzQwQ0I5RjQ5NUU4MDBCRgorOjEwMUE5MDAwRUUwNDhBMTFGQzAwNEExMTg4MTlGNDk1NzMxOTAwMEU5RQorOjEwMUFBMDAwRjE2NjAwMERGMjAwMjQwMDc3MTUyNUEwNzcxNDAwMDBFMAorOjEwMUFCMDAwNzcxQTAwMUZGMDcyMEYxNEY2Qjg0OTE5MDk4NUY4NEMwRgorOjEwMUFDMDAwMEYxM0YxMDAwMDA1ODkxMTQ5MTVGMzAwMDAwMTg5MTM3NgorOjEwMUFEMDAwNDkxNUYzMDAwMDA3ODkxMjExOTMxRDkxMTk5Mjg5MTA3RAorOjEwMUFFMDAwRjQ5NUY0OTU2QzgwMEYxMzExOTMxRDkxMTk5Mjg5MTA0MAorOjEwMUFGMDAwRjQ5NUY0OTU2QzgwMEYxMzExOTMxRDkxMTk5Mjg5MTAzMAorOjEwMUIwMDAwRjQ5NUY0OTU2QzgwMEYxMzExOTMxRDkxMTk5Mjg5MTAxRgorOjEwMUIxMDAwRjQ5NUY0OTU2QzgwMEYxMzExOTMxRDkxMTk5Mjg5MTAwRgorOjEwMUIyMDAwRjQ5NUY0OTU2QzgwMEYxMzExOTMxRDkxMTk5Mjg5MTFGRQorOjEwMUIzMDAwRjQ5NUY0OTU2QzgxMEYxMzZEOTQ2REVEMDAwRDQ4MTRDMAorOjEwMUI0MDAwOEExMUZDMDA0QTExNEExNjRBMTdFRUY4ODgxNzEwMEQ0MAorOjEwMUI1MDAwODAwNDEwMEM4MDA1NzEwRTAwMTY3MzE3MDAwRUYwNjZERAorOjEwMUI2MDAwMDAwREYwMDAyNDAwODgxMTEwRjgyNzYzRjg0NTBGMzJBQgorOjEwMUI3MDAwRjI3NDBFOUZGNDk1NDgxNzEwRjgyNzYwRjg0NDBGM0Q1MworOjEwMUI4MDAwNjBFMTAwMDIwMDAxRjgyMDBGNkRGMDczMTEzMzEwMDRDMgorOjEwMUI5MDAwODAwMDEwMDVGMDc0MDY5RjExMDRGMzAwMDAwMTgxMDQxOQorOjEwMUJBMDAwNkQ4RTc3MTAwMDAxNzFFMTAwMDIwMDEyRjRBQUY4MzA4NgorOjEwMUJCMDAwMEY2Mjc3MTAwMDAyRjRBQUY4MzAwRjZENDVFMTAwMEJCOAorOjEwMUJDMDAwODgxMDQzRTEwMDBDODNGODAwMTJGNDk1RjQ5NUY0QUExMAorOjEwMUJEMDAwRjgzMDBGNkRGMDczMEY5NkY1MDA4MTA0NDkxNkY1MjA2QgorOjEwMUJFMDAwODkxNjc2RTEwMDBDMDAwMDc2RTEwMDA0MDAwMDQ4MTYzQQorOjEwMUJGMDAwRjg0NTExMzNGN0I4NzFFMTAwMDIwMDEyMTBGODAwMTIzNQorOjEwMUMwMDAwRjAxMDAwMDNGODQ2MEY4QzEwRjgwMDEyRjAxMDAwMDNEQgorOjEwMUMxMDAwRjg0NTEwMTY3NzEwMDAwMUY0QUFGODMwMEY5Qzc3MTBFMQorOjEwMUMyMDAwMDAwMkY0QUFGODMwMEZBOEYwNzMwRjk2NzcxMDAwMDRBMgorOjEwMUMzMDAwRjRBQUY4MzAxMEI3NzcxMDAwMDVGNEFBRjgzMDEwQkNGOQorOjEwMUM0MDAwRjI3NDBFOUZGNDk1NDgxN0YwNzMxMTMxNzZFMTAwMEM5MQorOjEwMUM1MDAwMDAwMDc2RTEwMDBCMDAwMDc2RTEwMDA0MDAwMDc2RTE3MAorOjEwMUM2MDAwMDAwMjAwMDIxMUUxMDAwQ0U4MDNGNjIwODkxMkY0OTU0RAorOjEwMUM3MDAwNzcxMDAwMDNGNUFBRjgzMDBGQjY2QkY4Mjc2RjAwMDE1NAorOjEwMUM4MDAwODgxMEY0OTVGNDk1RjVBRUY4MjAwRkJENDgxNjgwMDYzRgorOjEwMUM5MDAwODgxM0Y0OTU3NzEwMDAwM0Y2QUJGODIwMEZDODZCRjhBMworOjEwMUNBMDAwMjc2RjAwMDExMjA2Rjg0NTEwMDAxMEUxMDAwNDgwMDBDMworOjEwMUNCMDAwMTAwNTgwMDExMDA0ODAwMjEwMDY4MDAzNDgxMUYyNzRBMAorOjEwMUNDMDAwMDcxRUYwMDAwMDA1MTAwNjAwRTEwMDA0ODBFMTAwMDQ5QQorOjEwMUNEMDAwMTAwNjAwRTEwMDBDODBFMTAwMEM4ODEyMTEwNjEwMDRDRgorOjEwMUNFMDAwRjYwMDgwMDQ0ODE2RjYyMDg4MTY4OTEzRjQ5NTc3MTBCQworOjEwMUNGMDAwMDAwM0Y2QUJGODIwMEZGNTZCRjgyNzZGMDAwMTc3MTBBMworOjEwMUQwMDAwMDAwQzcxRTEwMDA0MDAxM0Y2QUJGODIwMTAwMDZCRjgzMgorOjEwMUQxMDAwMjc2RjAwMDE2Q0UyRkZGRDExMzFGNkI4NkZFMTAwMDU5RAorOjEwMUQyMDAwMEM0ODZGRTEwMDA2MEMxOEYwMzAwRkZGRjAwMDAwMDNDNAorOjEwMUQzMDAwODBFMTAwMEI3NkUxMDAwMjAwMDM0ODE2Rjg0NTExMzNGQworOjEwMUQ0MDAwNzFFMTAwMEMwMDEyMTBFMTAwMEI0OTEyRjYyMDg4MTMxQgorOjEwMUQ1MDAwRTgwQ0Y2MjA4ODEwRjQ5NUY0OTVGNUFCRjgyMDEwMjdFMAorOjEwMUQ2MDAwNDgxMzgwMDY4ODEwRjQ5NUY0OTVGNUFFRjgyMDEwMzBFRAorOjEwMUQ3MDAwNzAwNjAwMTYxMjA2Rjg0NTEwNUYxMEUxMDAwNDgwMDA5RQorOjEwMUQ4MDAwMTAwNTgwMDExMDA0ODAwMjEwMDY4MDAzNDgxMUYyNzRDRgorOjEwMUQ5MDAwMDcxRUYwMDAwMDA1MTAwNjAwRTEwMDA0ODBFMTAwMDRDOQorOjEwMURBMDAwMTAwNjAwRTEwMDBDODBFMTAwMEM4ODEyMTEwNjEwMDRGRQorOjEwMURCMDAwRjYwMDgwMDQ0ODE2RjYyMDg4MTZGNDk1NzcxMDAwMEM3QgorOjEwMURDMDAwNzFFMTAwMDQwMDEzRjZBQkY4MjAxMDVGNkJGODI3NkY4OQorOjEwMUREMDAwMDAwMTc3MTAwMDBDRjZBQUY4MjAxMDZCRjI3NDBFOUYyOQorOjEwMURFMDAwRjQ5NTQ4MTc3MUUxMDAwQzAwMTI3NzEwMDAwQ0Y0QUE2QQorOjEwMURGMDAwRjgzMDEwN0M3NzEwMDAwQzcxRTEwMDBCMDAxM0Y2QUI4QgorOjEwMUUwMDAwRjgzMDEwQjRFNzMwRjdBQUY4MzAxMEI0RjI3NDBFQzEwRAorOjEwMUUxMDAwRjQ5NTQ4MTc4ODEyRjQ5NUY0OTU2QzgyMTA4RDc2RTE0QworOjEwMUUyMDAwMDAwNDAwMDA3NkUxMDAwMjAwMDVGMDczMTBCNDc2RTFEMgorOjEwMUUzMDAwMDAwMjAwMDQ3NzEwMDAwQzcxRTEwMDBCMDAxMkY1QUFGQgorOjEwMUU0MDAwRjgyMDEwOUFGMDczMTA5Qzc3MTIwMDBDNzYwMDAwMDBCNgorOjEwMUU1MDAwNzAwMTAwMTI3MDAyMDAxNzc2MDMwMDAxNDgxMUYyNzQzRAorOjEwMUU2MDAwMENCOUYwMDAwMDA1NzZFMTAwMDQwMDAwNzcxMDAwMENDQQorOjEwMUU3MDAwNzFFMTAwMEIwMDEyRjZBQUY4MjAxMTFDNDgxNkY4NDU3MworOjEwMUU4MDAwMTEzMzYwRTEwMDAyMDAwNUY4MjAxMERGMTBFMTAwMEJDMworOjEwMUU5MDAwMDhFMTAwMEMxMUUxMDAwNEY4NEQxMEM3NkJGODI3NkY0MgorOjEwMUVBMDAwMDAwMTg4MTBGNDk1RjQ5NUY1QUVGODIwMTBDRjQ4MTY4RgorOjEwMUVCMDAwRjQ5NTQ4MDhGODQ1MTExNjZGRTEwMDBDMEQwMDgxRTExQQorOjEwMUVDMDAwMDAwQzExMDRGNTAwODEwNDQ5MTZGNTIwODkxNkYwNzMwMQorOjEwMUVEMDAwMTEwRTEwRTEwMDBCNzFFMTAwMEMwMDEyODgxMEY0OTU1NgorOjEwMUVFMDAwRjQ5NUY2QUFGODMwMTExNjQ5MTJGNjIwODgxMEY0OTVFOAorOjEwMUVGMDAwRjQ5NUY1QUVGODIwMTBGMzQ4MTY4MDA2NDgwOEY4NDUyQQorOjEwMUYwMDAwMTExNjEwMDQ3MDAyMDAxNzgwMDA3NjAzMDAwMDEwMDZGRQorOjEwMUYxMDAwODAwMTEwMDVGMDc0MENCOTEwMDYwMEUxMDAwQzgwRTE5RQorOjEwMUYyMDAwMDAwQzExMDYxMDA0RjYwMDgwMDQ0ODE2RjYyMDg4MTZFRQorOjEwMUYzMDAwMTBFMTAwMEMwOEUxMDAwQkY4NDUxMTFDRjA3MzExMzFBMQorOjEwMUY0MDAwRjI3NDBFOUZGNDk1NDgxN0YwNzMxMTMzNzZFMTAwMEM4QworOjEwMUY1MDAwMDAwMDc2RTEwMDBCMDAwMDc2RTEwMDAyMDAwMTEwMDRCMQorOjEwMUY2MDAwODAwMDEwMDVGMDc0MDY5Rjg4MTJGNDk1NzcxMDAwRkYyQQorOjEwMUY3MDAwRjRBQUY4MzAxMTMzNkM4NjBGNzBFRTA4OEExNzhBMTZBRgorOjEwMUY4MDAwOEExMUZDMDA0QTExRUVGQ0Y0OTU3MTA2MDAxMjg4MTFDQQorOjEwMUY5MDAwNzMxMjAwMEVGMTY2MDAwREYzMDAyNDAwODkxNDEzODEwMgorOjEwMUZBMDAwRjc3QUYzMzAwMDAxODFGODI3NjAxM0UxMDAwMUY3N0MzNAorOjEwMUZCMDAwRjMzMDAwMDM4MUY4Mjc2MUU5MEYxOUUxMDAwMTgxRjg4RQorOjEwMUZDMDAwMjc2MjcxRTQwMDAzMDAxM0Y2Qjg0OTEzRjMwMDAwMDExRgorOjEwMUZEMDAwRjMzMDAwMEY0OTBCMDlGODI3NjJGODREMTE3NTc3MTA5RgorOjEwMUZFMDAwMDBGRkY0QUJGODMwMTE3NTU3RjgyNzZDRjMwMDAwMDFDRgorOjEwMUZGMDAwNEZGODI3NkM3NkY4Mjc2MzAwMDFGMDczMTE3ODc2RjhCNAorOjEwMjAwMDAwMjc2MzAwMDA3MEU0MDAwMzI3NjI3NkY4Mjc2NDAwMDA2RAorOjEwMjAxMDAwMTFGODI3NjE2MUY4MDAwQjAwMDJGODIwMTE4REU5MDEyOQorOjEwMjAyMDAwNkZFMTAwMDIwRjE4ODFGODI3NjQxMUY4Mjc2MTYxRjg0OQorOjEwMjAzMDAwMDAwQjAwMDFGODIwMTFBOTEwRjgyNzY0RjEwMDAwMDQzQQorOjEwMjA0MDAwODkxM0U5QjhGNTIwODFGODI3NjU2MDg0MDAwMkY4MjAzQgorOjEwMjA1MDAwMTFBOTcwMDAwMDExNzAwMTAwMTM3MDAyMjc2NUYyNzQ1RAorOjEwMjA2MDAwMEYxOEY0OTU0ODEyRUUwNDhBMTFGQzAwNEExMTRBMTYyMgorOjEwMjA3MDAwNEExN0VFRkNFODAwNEVGODI3NjZFODAwNEVGODI3Njg5RAorOjEwMjA4MDAwRTgwMDRFRjgyNzZDRTgwMDRFRjgyNzZBNzcxMjI3NDBFMAorOjEwMjA5MDAwNzcxMTI0MDA3NzFBMDAxRkYwNzIxMURCNzA5MjAwMTE4MworOjEwMjBBMDAwNzZFMTAwMDFGRkZGNzY4MTAwMDA3NkUxMDAwMjAwMDA4QQorOjEwMjBCMDAwNzZFMTAwMDMwMEZGNzZFMTAwMEMwMDAwNzZFMTAwMEIwMgorOjEwMjBDMDAwMDAwMDc2RTEwMDA0MDAwMDZERTkwMDBERjAyMDI1QTA3RAorOjEwMjBEMDAwRjEwMDAwMDc4OTExRjEwMDAwMDE4MTAyODgxNkY0OTVEMgorOjEwMjBFMDAwNzcxNzAwMjA3Njg2MDBGRjc2MDAwMDAwNzYwMTAwMDY1NAorOjEwMjBGMDAwMTAwMkYwNzQwNjZDNzYwMDAwMDA3NjAxMDAwNkYyNzQ5RgorOjEwMjEwMDAwMDY2Q0Y0OTU0ODExMTAwMkYwMDAwMDBEODAwMjZERTk5NAorOjEwMjExMDAwMDAwRDZERUUwMDBENkNFRkZGRkYxMUU4RjA3NDBDOURFQgorOjEwMjEyMDAwRUUwNDhBMTc4QTE2OEExMUZDMDA0QTExNEExNjRBMTdDOQorOjEwMjEzMDAwRUVGQTg4MTExMDBBNDkxMUY4NEQxMjlGNDgwOEY4NDUyNworOjEwMjE0MDAwMTI5RjgwMDQxMjgxRjU3ODg5MTJGNDk1RjQ5NTZDRTI1RgorOjEwMjE1MDAwRkZCOTEyOEE2MUY4MDAwODAwODBGODMwMTI4QTEzRTE5MgorOjEwMjE2MDAwMDAwMUYwRThGNzc4RjFBMEYyMzAxRkZGODgxN0Y0OTUyRQorOjEwMjE3MDAwNzcxMjI0MDA3NzE2MDAwMDc3MTMwMDIwRjZCODQ4MTc2RQorOjEwMjE4MDAwMDhFMjAwMDFGODQ1MTI0MjZERUEwMDBENkQ5NjZDRUIxNQorOjEwMjE5MDAwRkZGRjEyMzRGMDczMTI5MDU2RjgyNzZBRjAwMDAwMDEyNgorOjEwMjFBMDAwNEVGODI3NkE2MDgyMDAwMUY4MzAxMjU0NzAwMDAwMTY2MQorOjEwMjFCMDAwRjI3NDExMzhGNDk1NDgxMUYwNzMxMjkwNzAwMDAwMTYwMworOjEwMjFDMDAwRjI3NDExMzhGNDk1NDgxMTcyMTAyQTlFRjQ5NUY0QUYwOAorOjEwMjFEMDAwRjgzMDEyNkU3NjAwMDAwMDc2MDEwMEJDNzAwMjAwMTYyNgorOjEwMjFFMDAwNzYwMzAwMDBGMjc0MENCOUY0OTU0ODExRjA3MzEyOTA2NAorOjEwMjFGMDAwMTBGODI3NkVGODQ0MTI5MDc2MDAwMDAwNzYwMTAwQkNCQgorOjEwMjIwMDAwNzAwMjAwMTY3NjAzMDAwMEYyNzQwQ0I5RjQ5NTQ4MTFDMAorOjEwMjIxMDAwRjA3NDBDNUVGMEUwRjAxMDEzODhGODQyMTI5MDc2RjgzQgorOjEwMjIyMDAwMjc2RTAwMDFGMDczMTI5MDU2RjgyNzY2RjAwMDAwMDE0NworOjEwMjIzMDAwNEVGODI3NjY2REU5MDA1RTU2RjgyNzY4RjAwMDAwMDE0OQorOjEwMjI0MDAwNEVGODI3Njg3MTA0MDAxMjZFRUFGRkZGMTIxODcwMDQzRQorOjEwMjI1MDAwMDAxMkVFMDY4QTE3OEExNjhBMTFGQzAwNEExMUVFRkU1OQorOjEwMjI2MDAwODgwRUY0OTVGMDY2MDAwREYwMDAyNUEwODgxMUY0OTUxNQorOjEwMjI3MDAwRjQ5NTc2ODEwMEZGNzYwMDAwMDA3NjAxMDAwNkYyNzQ4NgorOjEwMjI4MDAwMDY2Q0YwMDAwMDAxNzYwMDAwMDA3NjAxMDAwNjQ4MTE5RgorOjEwMjI5MDAwRjI3NDA2NkNGMDAwMDAwN0VFMDI4QTExRkMwMDRBMTE4RAorOjEwMjJBMDAwODgwRUY0OTVGMDY2MDAwREYwMDAyNDAwODgxMUY0OTU3NgorOjEwMjJCMDAwRjQ5NTc2RTEwMDAxRkZGRjc2ODEwMDAwNzZFMTAwMDJFRgorOjEwMjJDMDAwMDAwMDc2RTEwMDAzMDBGRjhBMTFGQzAwNEExMUY0OTUzQQorOjEwMjJEMDAwMTMwMzg4MTFGQTREMTJFQzcxMDIwMDEyRjMxMDAwMDE4MQorOjEwMjJFMDAwODkxQUY0OTVGMDcyMTJFQjcwOTEwMDEyOEExMUZDMDBCOQorOjEwMjJGMDAwRjQ5NTRBMEI0QTBDNEEwREY3QjhFRUZFMTBGODAwMDhBOAorOjEwMjMwMDAwMTEwNkYxQzA4MzAwRjQ4NTExMDZGNzg1ODEwNkY2Qjg0MQorOjEwMjMxMDAwRUMwRjFFMDY2MTAwODAwMEY4MjAxMzA1RjQ4NEVFMDIyNQorOjEwMjMyMDAwOEEwRDhBMEM4QTBCRkMwMEY0OTU0QTBCNEEwQzRBMEQ2NAorOjEwMjMzMDAwRUVGRUY3Qjg4MDAwMTBGODAwMDhGNDg1MTEwNkY3ODU2NgorOjEwMjM0MDAwODEwNkY2QjhFQzBGMUUwNkYwRjA2MTAwODAwMEY4MjA2MAorOjEwMjM1MDAwMTMyMEY0ODRFRTAyOEEwRDhBMEM4QTBCRkMwMDRBMTFDOQorOjEwMjM2MDAwNzcxMTAwN0I3NjgxMkVFQzc3MTEwMDdCRUVGRjcxODE3NworOjEwMjM3MDAwMDAxMUVFMDE3NkUxMDAwMTAwMDA3NkUxMDAwNDAwMDBBQQorOjEwMjM4MDAwNzZFMTAwMDYwMDAwNzZFMTAwNjIwMDAwNzZFMTAwNzY2QQorOjEwMjM5MDAwMDAwMDc2RTEwMDkyMDAwMDc2RTEwMDk0MDAwMDc2RTExMgorOjEwMjNBMDAwMDBCMDAwMDA3NkUxMDBCMzAwMDA3NkUxMDBCRTAwMDA1RQorOjEwMjNCMDAwNzZFMTAwQkYwMDAwNzZFMTAwQzEwMDAwNzZFMTAwQzNENQorOjEwMjNDMDAwMDAwMDc2RTEwMEM1MDAwMDc2RTEwMEM3MDAwMDc2ODFEQworOjEwMjNEMDAwMDAwMDhBMTFGNDk1RjRFNDRBMTE0QTE2NEExN0VFRkZGOAorOjEwMjNFMDAwRjQ5NTcxMDYwMDE2RkI4MDE2QTI4ODE3RjQ5NUY3QjhDRAorOjEwMjNGMDAwMTBGODAwMTdGMDEwMDAwMkZBNDYxMzg4NzcxMTAwMDA1OQorOjEwMjQwMDAwMTBGODAwMTdGMDEwMDAwMkY4NDUxM0Y5MTBGODAwMTc0MworOjEwMjQxMDAwRjg0NTE0MzkxMEY4MDAxN0YwMTAwMDAxRjg0NTE0MUZBMgorOjEwMjQyMDAwRjA3MzE0NTIxMEY4MDAxN0YwMTAwMDAzRjg0NTEzRDM5RQorOjEwMjQzMDAwMTBGODAwMTdGMDEwMDAwNkY4NDQxNDUyNzcxMjAwN0JEMQorOjEwMjQ0MDAwNzE4MjAwMTQ2MUU0MDAwNzAwNDBGODMwMTQ1MjQ5MTQwRQorOjEwMjQ1MDAwNDgxN0Y2MDA4ODEyRjQ5NTc3MTMwMDU1NzcxMTAwNTc0NgorOjEwMjQ2MDAwNkRFQTAwM0JFNTAxMTBFNjAwMDY4MDgxNDgxNDAwRjhBMworOjEwMjQ3MDAwMDAxNzg4MTJGNDk1NzcxMTAwNTUxMEUyMDA0MDgwODExMgorOjEwMjQ4MDAwNzcxMTAwNTcxMEU2MDAwNzgwODE3NzExMDA1NTEwRTJBMAorOjEwMjQ5MDAwMDA0NTgwODExMEU2MDAwODc3MTEwMDU3ODA4MTc3MTE5MAorOjEwMjRBMDAwMDA1NTEwRTIwMDRBODA4MTc3MTEwMDU3MTBFNjAwMDlCQworOjEwMjRCMDAwODA4MUYyNzMxNDUyNzcxMTAzQzA3NzEyMDA3QjEwODI2RgorOjEwMjRDMDAwRjAwMDAwMDc4ODEzRjQ5NUY0OTU5NjFCRjgzMDE0NTIyOQorOjEwMjREMDAwMTBFMzAwMzU3NzEyMDA1NTgwODI3NzEyMDA1NzEwRTYxRQorOjEwMjRFMDAwMDAwNDgwODI3NzEyMDA1NTEwRTMwMDM3ODA4Mjc3MTI1MworOjEwMjRGMDAwMDA1NzEwRTYwMDA1ODA4MjQ4MTFGMDQwMDAxMEYyNzM4QQorOjEwMjUwMDAwMTQ1MEYwNDAwMDIwNzcxMjAwN0IxMDgyRjAwMDAwMDc4QQorOjEwMjUxMDAwODgxMkY0OTVGNDk1OTYwREY4MzAxNDUyMTBFMjAwMzRCOAorOjEwMjUyMDAwNzcxMzAwNTU4MDgzNzcxMzAwNTcxMEU2MDAwMjgwODNFRAorOjEwMjUzMDAwMTBFMjAwMzY3NzEyMDA1NTgwODI3NzEyMDA1NzEwRTZCRAorOjEwMjU0MDAwMDAwMzgwODI0ODExRjA0MDAwMDRGMjczMTQ1MEYwNDAwMAorOjEwMjU1MDAwMDAwODc3MTIwMDdCMTA4MkYwMDAwMDA3ODgxMkY0OTVDMworOjEwMjU2MDAwRjQ5NTk2MEVGODMwMTQ1MjEwRTIwMDMzNzcxMjAwNTVBRAorOjEwMjU3MDAwODA4Mjc3MTIwMDU3MTBFNjAwMDE4MDgyNDgxMUYyNzNDMgorOjEwMjU4MDAwMTQ1MEYwNDAwMDAyNzcxMjAwN0IxMDgyRjAwMDAwMDcyOAorOjEwMjU5MDAwODgxMkY0OTVGNDk1OTYwRkY4MzAxNDUyMTBFMjAwMzIzOAorOjEwMjVBMDAwNzcxMjAwNTU3NzEzMDA1NzgwODI0ODExRTc2MkYwNDA5OAorOjEwMjVCMDAwMDAwMUU1MDE4ODExRjQ5NTc3MTIwMDdCNDgxMTcxODJDMgorOjEwMjVDMDAwMDAxMjFBRTIwMDA3ODBFMjAwMDdGOTgwMTY5QUVFMDE3NQorOjEwMjVEMDAwOEExNzQ4MTE4QTE2OEExMUY0RTQ0QTExODgxMTc3MEU3NQorOjEwMjVFMDAwMDAwNTc3MTIwMDU1RTgwNEY2QjgyOEUxMDAwMkVFRkY3NgorOjEwMjVGMDAwODA4Mjc3MTIwMDU3RjAyMDgwMDBFRTAxMUE4Mjc3MTI1NQorOjEwMjYwMDAwMDA1NzgwODJFODAxMzJFMTAwMDJGNTgyNzcxMTAwNTQyMAorOjEwMjYxMDAwRjY5MzE4ODE3NzExMDA1NEYyQTA4MDgxOEExMUY0OTUwNQorOjEwMjYyMDAwRjRFNDRBMTE0QTE2RjQ5NTcxMDQwMDExRkI4MDE2QTJENQorOjEwMjYzMDAwODgxNkY0OTU3NzEyMDA1NTEwRTYwMDAzODA4Mjc3MTIxMQorOjEwMjY0MDAwMDA1NjEwRTEwMDAyNzcxMzAwNTY4MDgyNzcxMjAwNTY4MAorOjEwMjY1MDAwMTBFMTAwMDM4MDgyMTBFMTAwMDQ3NzEyMDA1NjgwODJBRQorOjEwMjY2MDAwNzcxMjAwNTYxMEUxMDAwMTgwODJFNzEyRTUwMUY5ODAzRgorOjEwMjY3MDAwMTY5QThBMTY4QTExRjRFNDRBMTE0QTE2NEExN0VFRjk5NAorOjEwMjY4MDAwNzcxMTAwN0I3NjAwMDAxNjc2MDEwMDE3NzYwMjAwMUE5QgorOjEwMjY5MDAwNzYwMzAwMUI3NjA0MDAxQzc2MDUwMDFENzE4MTAwMTc2RgorOjEwMjZBMDAwNzFFNzAwMDYwMDExMTA4MUY4NDQxNERGRjk4MDE2NTMxOQorOjEwMjZCMDAwRjZCOEZCODAxNTg1RjAyMEZGRkZGNkI4RkI4MDE2MDgwMgorOjEwMjZDMDAwRjAyMEZGRkY3NzExMDA3QjcxODEwMDE3NzZFNzAwMDY4RAorOjEwMjZEMDAwMDAwMTQ4MTc3NzE2MDAwMDc3MTAwMDA0NzcxNTAwMDNGMworOjEwMjZFMDAwNzcxNDAwMDI3NzEzMDAwMUYwMDAwMDM5NzZFNzAwMDg0NAorOjEwMjZGMDAwMDAxRjc2RTcwMDA3MDAwMDg4MEU3NzFBMDAwNTQ4MTdDQworOjEwMjcwMDAwRjAwMDAwMDk4ODEyNDgxODg4MTlFODAwRjA3MjE1MkNBQQorOjEwMjcxMDAwNzMxOTAwMTE3NjgyMDAwMDExOTE3MzExMDAxOTcwRTI5MworOjEwMjcyMDAwMDAwMzAwMTY3MEUyMDAwNDAwMTM3MEUyMDAwNTAwMTRCQworOjEwMjczMDAwODFFMjAwMDE3MEUyMDAwNjAwMTU3MEUyMDAwNzAwMTA1RgorOjEwMjc0MDAwODBFMjAwMDI3MzBFMDAxMUYxMDAwMDFFNkRFRTAwMDUyNAorOjEwMjc1MDAwNkRFQjAwMDU2REVDMDAwNTZERUQwMDA1NkRFODAwMDUwNQorOjEwMjc2MDAwRjAwMDAwMDE4MTkxNkRFQTAwMDg3MzExMDAwRUVFMDc4MAorOjEwMjc3MDAwNzZFNzAwNDEwMDI0NzZFNzAwNDYwMDI1NzZFNzAwNEIyNworOjEwMjc4MDAwMDAyNjc2RTcwMDUwMDAyNzhBMTc4QTE2OEExMUY0RTQ5QgorOjEwMjc5MDAwNEExMTRBMTZFRUZFODgxMTU2MDY0RTAwRjk4MDE2QTIxRQorOjEwMjdBMDAwRjdCODEwRjgwMDExRjAxMEZGRkZGQTQ1MTU2MDc3MTYyMgorOjEwMjdCMDAwRkZGRjc3MTIwMDdCNDkxMTEwODJGNjAzRjAwMDAwMDkzOQorOjEwMjdDMDAwODgxMUY0OTVGNDk1MTA4MUY4NDQxNTcxRjI3MzE1NzEyMAorOjEwMjdEMDAwRjQ5NUU3MTY3NzExMDA3QjEwODFGMDAwMDAwOTg4MTE0RAorOjEwMjdFMDAwRjQ5NTc3MTIwMDA2MTA4MUY4NDUxNTVDNkVFQUZGRkYzQworOjEwMjdGMDAwMTU2OTZERTkwMDA4NzY4NjAwMDFFOTAxNTYwMEYxODA0RgorOjEwMjgwMDAwMTBGODAwMEJGODQ1MTU3RUZCODAxNTg1RjQ5NTQ4MTZFOQorOjEwMjgxMDAwRjk4MDE2OUFFRTAyNDgxNjhBMTY4QTExRjRFNDRBMTFEMworOjEwMjgyMDAwRUVGRkZCODAxNkEyODgxMUY0OTU3NzEwRkZGRkY0QTk0NAorOjEwMjgzMDAwRjgzMDE1QzQxMEUxMDAwMzc3MTIwMDU1ODA4Mjc3MTIzQQorOjEwMjg0MDAwMDA1Njc2ODIwMDAwNzcxMjAwNTY3NjgyMDAwMDc3MTJEQQorOjEwMjg1MDAwMDA1Njc2ODIwMDAwNzcxMjAwNTY3NjgyMDAwMDc3MTJDQQorOjEwMjg2MDAwMDA1Njc2ODIwMDAwMTBFMTAwMDJGMDAwMDAwODMyRjgwNQorOjEwMjg3MDAwMDAwODc3MTIwMDU0RTgwMUY0ODJGNDkzMTg4Mjc3MTI2QQorOjEwMjg4MDAwMDA1NEYwNDAwMDAwODA4MjEwRTEwMDAxRjk4MDE2NzZDQgorOjEwMjg5MDAwMTBFMTAwMDFGOTgwMTY2NkYwNzMxNjAzNzcxMTAwN0JEMgorOjEwMjhBMDAwNzE4MTAwMTE3MUUxMDAwNzAwMTI3NjgyMDAwMDEwRTFEMQorOjEwMjhCMDAwMDAwOUY5ODAxNTg1NzcxMTAwN0I3MTgxMDAxMTEwRTEwNQorOjEwMjhDMDAwMDAwOUZCODAxNTg1RjAwMDAwMDg3NzExMDA3QjcxODFGRAorOjEwMjhEMDAwMDAxMTEwRTEwMDA5RkI4MDE1ODVGMDAwMDAxMDc3MTE1MAorOjEwMjhFMDAwMDA3QjcxODEwMDExMTBFMTAwMDlGQjgwMTU4NUYwMDA2QgorOjEwMjhGMDAwMDAxODc3MTEwMDdCNzE4MTAwMTExMEUxMDAwOUZCODA0NQorOjEwMjkwMDAwMTU4NUYwMDAwMDIwNzcxMTAwN0I3MTgxMDAxMTEwRTEyNgorOjEwMjkxMDAwMDAwOUZCODAxNTg1RjAwMDAwMjhGOTgwMTY5QUVFMDE2OQorOjEwMjkyMDAwOEExMUY0RTQ0QTExRUVGRkZCODAxNkEyODgxMUY0OTU5NworOjEwMjkzMDAwNzcxMEZGRkZGNEE5RjgzMDE2NDE3NzExMDA1NTc2ODEyMgorOjEwMjk0MDAwMDAxRTc3MTEwMDU2NzY4MTAwMDA3NzExMDA1Njc2ODFCRgorOjEwMjk1MDAwMDAwMDc3MTEwMDU2NzY4MTAwMDA3NzExMDA1Njc2ODFDRAorOjEwMjk2MDAwMDAwMDc3MTEwMDU2NzY4MTAwMDA3NzExMDA1Njc2ODFCRAorOjEwMjk3MDAwMDAwMDc3MTEwMDU2NzY4MTAwMDA3NzExMDA1Njc2ODFBRAorOjEwMjk4MDAwMDAwMDc3MTEwMDU2NzY4MTAwMDA3NzExMDA1NkYyNzMyRgorOjEwMjk5MDAwMTY0RTc2ODEwMDAwNzcxMTAwN0I3MTgxMDAxMTcxRTE4NAorOjEwMjlBMDAwMDAwNzAwMTI3NjgyMDAwMDEwRTEwMDM5Rjk4MDE2MDg1NQorOjEwMjlCMDAwRjk4MDE2OUFFRTAxOEExMUY0RTQ0QTExNzcxMTAwN0IyRQorOjEwMjlDMDAwMTA4MUYwMDAwMDA0ODgxMUY0OTVGNDk1MTA4MUZBNDQwOAorOjEwMjlEMDAwMTY2M0Y0OTVFRUZGNzY4MTAwMDFFRTAxOEExMUY0RTRBRQorOjEwMjlFMDAwRjAxMDAwMTA0QTExMzJGODAwMDhFRUZGNzcxMTAwMDFENAorOjEwMjlGMDAwRTgwMUVFMDFGNDgyMUE4MTgwODE4QTExRjQ5NUY0RTRGMQorOjEwMkEwMDAwRjAxMDAwMTA0QTExMzJGODAwMDhFRUZGRTgwMTc3MTFDQgorOjEwMkExMDAwMDAwMEY0ODJFRTAxRjQ5MzE4ODE4MDgxOEExMUY0OTUwQworOjEwMkEyMDAwRjRFNDRBMTFGMDEwMDAxMDc3MTEwMDAwMzJGODAwMDhBOQorOjEwMkEzMDAwRUVGRjExODFFODAxRUUwMTc3MTEwMDAwRjQ4MkYyQTBBRgorOjEwMkE0MDAwODA4MThBMTFGNDk1RjRFNEYyNzMxNjlFRjZCQkY0OTUzNgorOjEwMkE1MDAwRjQ5NUY0OTVGNDk1RjRFNEYyNzMxNkE2RjdCQkY0OTVBNworOjEwMkE2MDAwRjQ5NUY0OTVGNDk1RjRFNDRBMTE0QTE2RjQ5NTcxMDQzQQorOjEwMkE3MDAwMDAxNkZCODAxNkEyODgxMUY0OTU3MUUxMDAwNTAwMTI4MgorOjEwMkE4MDAwNzY4MjAwMEUxMEU2MDAwRTcxRTEwMDA2MDAxMjgwODJEMAorOjEwMkE5MDAwNzFFMTAwMDUwMDEyNzY4MjAwMEQ3MUUxMDAwNjAwMTI1RQorOjEwMkFBMDAwMTBFNjAwMEQ4MDgyNzFFMTAwMDUwMDEyNzY4MjAwMENCNAorOjEwMkFCMDAwMTBFNjAwMEM3MUUxMDAwNjAwMTI4MDgyNzFFMTAwMDU1MQorOjEwMkFDMDAwMDAxMjc2ODIwMDBCMTBFNjAwMEI3MUUxMDAwNjAwMTI4NgorOjEwMkFEMDAwODA4MjcxRTEwMDA1MDAxMjc2ODIwMDBBNzFFMTAwMDYzMQorOjEwMkFFMDAwMDAxMjEwRTYwMDBBODA4MjcxRTEwMDA1MDAxMjc2ODI3MQorOjEwMkFGMDAwMDAwOTEwRTYwMDA5NzFFMTAwMDYwMDEyODA4MjcxRTExMAorOjEwMkIwMDAwMDAwNTAwMTI3NjgyMDAwODcxRTEwMDA2MDAxMjEwRTY0RQorOjEwMkIxMDAwMDAwODgwODI3MUUxMDAwNTAwMTI3NjgyMDAwNzEwRTY0RAorOjEwMkIyMDAwMDAwNzcxRTEwMDA2MDAxMjgwODI3MUUxMDAwNTAwMTJDOQorOjEwMkIzMDAwNzY4MjAwMDY3MUUxMDAwNjAwMTIxMEU2MDAwNjgwODIyRgorOjEwMkI0MDAwNzFFMTAwMDUwMDEyNzY4MjAwMDU3MUUxMDAwNjAwMTJCNQorOjEwMkI1MDAwMTBFNjAwMDU4MDgyNzFFMTAwMDUwMDEyNzY4MjAwMDQxMworOjEwMkI2MDAwNzFFMTAwMDYwMDEyMTBFNjAwMDQ4MDgyNzFFMTAwMDVBOAorOjEwMkI3MDAwMDAxMjc2ODIwMDAzNzFFMTAwMDYwMDEyMTBFNjAwMDNFNQorOjEwMkI4MDAwODA4MjcxRTEwMDA1MDAxMjc2ODIwMDAyMTBFNjAwMDJFOAorOjEwMkI5MDAwNzFFMTAwMDYwMDEyODA4MjcxRTEwMDA1MDAxMjc2ODI2OAorOjEwMkJBMDAwMDAwMTEwRTYwMDAxNzFFMTAwMDYwMDEyODA4MjcxRTE2RgorOjEwMkJCMDAwMDAwNTAwMTI3NjgyMDAwMDcxRTEwMDA2MDAxM0U3NjI1MgorOjEwMkJDMDAwRTUwMUY5ODAxNjlBOEExNjhBMTFGNEU0NEExMTg4MTFFRgorOjEwMkJEMDAwRjQ5NUY0OTU3MUUxMDAwNTAwMTJFRUZGNzY4MjAwMDA5NQorOjEwMkJFMDAwRUUwMTcxRTEwMDA2MDAxMTY5ODEwMDAxOEExMUY0OTU3RQorOjEwMkJGMDAwRjRFNDRBMTE4ODExRjQ5NUY0OTU3MUUxMDAwNTAwMTI4RQorOjEwMkMwMDAwRUVGRjc2ODIwMDAxRUUwMTcxRTEwMDA2MDAxMTY5ODE5QworOjEwMkMxMDAwMDAwMThBMTFGNDk1RjRFNDRBMTE3NzExMDA3QjEwODFDOAorOjEwMkMyMDAwRjAwMDAwOTQ4ODExRjQ5NUY0OTUxMDgxRkE0NDE3OUNGMworOjEwMkMzMDAwRjQ5NUVFRkZGOTgwMTY1Mzc3MTEwMDdCMTA4MUYwMDBCOAorOjEwMkM0MDAwMDA5NDg4MTFGNDk1RjQ5NTc2ODEwMDAxRUUwMTc2RTEwNworOjEwMkM1MDAwMDAwMTAwMDA3NkUxMDAwMjAwMjE3NkUxMDAwMzAwMjA3RgorOjEwMkM2MDAwNzZFMTAwMDQwMDIzNzZFMTAwMDUwMDIyNzZFMTAwMDYwQgorOjEwMkM3MDAwMDAzODc2RTEwMDA3MDAzOTc2RTEwMDA4MDAxNTc2RTFCQQorOjEwMkM4MDAwMDAwOTAwMTQ3NkUxMDAwQTAwMDA3NkUxMDAwQjAwNDEyMworOjEwMkM5MDAwNzZFMTAwMEMwMDQwNzZFMTAwMEQwMDQzNzZFMTAwMEU4NQorOjEwMkNBMDAwMDA0Mjc2RTEwMDBGMDA0ODc2RTEwMDEwMDA0OTc2RTEyRAorOjEwMkNCMDAwMDAxMTAwMUI3NkUxMDAxMjAwMUE4QTExRjQ5NUY0RTQ2OQorOjEwMkNDMDAwNEExMUVFRkQ4ODExNTYwNjRFMDBGOTgwMTZBMjc3MTJDMQorOjEwMkNEMDAwMDA3Qjc3MEUwMDA5MTA4MjI4RjgwMDExRjAwMDAwOTVBMworOjEwMkNFMDAwODgxMUY0OTVGNDk1MTA4MUY4NDUxN0YwRjI3MzE3RkRFQgorOjEwMkNGMDAwNzcxMUZGRkY3NjgxMDAwMUU5MDE1NjAwRjE4MDEwRjg5RAorOjEwMkQwMDAwMDAwQkY4NDUxN0ZERkI4MDE4MTBGNDk1NDgxMUY5ODA2OQorOjEwMkQxMDAwMTY5QUVFMDM0ODExOEExMUY0OTVGNEU0NEExMTg4MTFDOQorOjEwMkQyMDAwRjQ5NUVFRkY3MUUxMDAwMTAwMTFFRTAxMTA4MThBMTFBRQorOjEwMkQzMDAwRjQ5NUY0RTQ0QTExRUVGRkZCODAxNkEyODgxMUY0OTU5NQorOjEwMkQ0MDAwNzcxMEZGRkZGNEE5RjgzMDE4QzM3MUUxMDAwNTAwMTJGNQorOjEwMkQ1MDAwNzY4MjAwMDA3MUUxMDAwNjAwMTI3NjgyMDAwMDcxRTFDNworOjEwMkQ2MDAwMDAwNTAwMTI3NjgyMDAwMTcxRTEwMDA2MDAxMjc2ODJGMQorOjEwMkQ3MDAwMDAwMDcxRTEwMDA1MDAxMjc2ODIwMDAyNzFFMTAwMDY5OAorOjEwMkQ4MDAwMDAxMjc2ODIwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMDNENQorOjEwMkQ5MDAwNzFFMTAwMDYwMDEyNzY4MjAwMDA3MUUxMDAwNTAwMTI2OAorOjEwMkRBMDAwNzY4MjAwMDQ3MUUxMDAwNjAwMTI3NjgyMDAwMDcxRTE3MworOjEwMkRCMDAwMDAwNTAwMTI3NjgyMDAwNTcxRTEwMDA2MDAxMjc2ODI5RAorOjEwMkRDMDAwMDAwMDcxRTEwMDA1MDAxMjc2ODIwMDA2NzFFMTAwMDY0NAorOjEwMkREMDAwMDAxMjc2ODIwMDAxNzFFMTAwMDUwMDEyNzY4MjAwMDc4MAorOjEwMkRFMDAwNzFFMTAwMDYwMDEyNzY4MjIwMDA3MUUxMDAwNTAwMTJGOAorOjEwMkRGMDAwNzY4MjAwMDg3MUUxMDAwNjAwMTI3NjgyMDAwMDcxRTExRgorOjEwMkUwMDAwMDAwNTAwMTI3NjgyMDAwOTcxRTEwMDA2MDAxMjc2ODI0OAorOjEwMkUxMDAwMDAwMDcxRTEwMDA1MDAxMjc2ODIwMDBBNzFFMTAwMDZFRgorOjEwMkUyMDAwMDAxMjc2ODIwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMEIyQworOjEwMkUzMDAwNzFFMTAwMDYwMDEyNzY4MjAwMDA3MUUxMDAwNTAwMTJDNworOjEwMkU0MDAwNzY4MjAwMEM3MUUxMDAwNjAwMTI3NjgyMDAwMDcxRTFDQQorOjEwMkU1MDAwMDAwNTAwMTI3NjgyMDAwRDcxRTEwMDA2MDAxMjc2ODJGNAorOjEwMkU2MDAwMDAwMDcxRTEwMDA1MDAxMjc2ODIwMDBFNzFFMTAwMDY5QgorOjEwMkU3MDAwMDAxMjc2ODIwMDAwMTBFMTAwMDdGOTgwMTY3NjEwRTE1QQorOjEwMkU4MDAwMDAwOEY5ODAxNjc2MTBFMTAwMDdGOTgwMTY2NjEwRTE1NworOjEwMkU5MDAwMDAwOEY5ODAxNjY2RjA3MzE4RDE3NzExMDA3QjEwODE1NQorOjEwMkVBMDAwRkI4MDE4MTBGMDAwMDA5NTc3MTEwMDdCMTA4MUZCODBFQgorOjEwMkVCMDAwMTgxMEYwMDAwMDlFRjk4MDE2OUFFRTAxOEExMUY0RTREMQorOjEwMkVDMDAwNEExMTg4MTFFRUZGRjQ5NTEwMDQ3MUUxMDAwMzAwMTExRQorOjEwMkVEMDAwRUUwMTgwODE4QTExRjQ5NUY0RTQ0QTExNEExNkY0OTVDMgorOjEwMkVFMDAwNzEwNDAwMTZGQjgwMTZBMjg4MTFGNDk1NzFFMTAwMDJBRQorOjEwMkVGMDAwMDAxMjc2ODIwMDEwMTBFNjAwMDE3MUUxMDAwMzAwMTI1QQorOjEwMkYwMDAwODA4MjcxRTEwMDA0MDAxMjEwRTYwMDAyODA4MkU3NjIxNAorOjEwMkYxMDAwNzFFMTAwMDIwMDEzRTUwMUY5ODAxNjlBOEExNjhBMTEwMAorOjEwMkYyMDAwRjRFNDRBMTE4ODExRUVGRkVFMDExMEUxMDAwMThBMTE2QworOjEwMkYzMDAwRjQ5NUY0RTQ0QTExNzcxMTAwN0IxMDgxRjAwMDAwQjM5RQorOjEwMkY0MDAwODgxMUY0OTVGNDk1MTA4MUZBNDQxOTJBRjQ5NUVFRkY0RQorOjEwMkY1MDAwRjk4MDE2NTM3NzExMDA3QjEwODFGMDAwMDBCMzg4MTFCRgorOjEwMkY2MDAwRjQ5NUY0OTU3NjgxMDAwMUVFMDE3NkUxMDAwMTAwMDAxMAorOjEwMkY3MDAwNzZFMTAwMDIwMDEzNzZFMTAwMDMwMDI2NzZFMTAwMDQwQQorOjEwMkY4MDAwMDAyNTc2RTEwMDA1MDAyNDc2RTEwMDA2MDAwMDc2RTFFOAorOjEwMkY5MDAwMDAwNzAwMTc3NkUxMDAwODAwMzI3NkUxMDAwOTAwMzFGMQorOjEwMkZBMDAwNzZFMTAwMEEwMDMwOEExMUY0OTVGNEU0NEExMTRBMTZEOQorOjEwMkZCMDAwNEExN0VFRkZGNDk1NzEwNjAwMTdGQjgwMTZBMjg4MTFFMAorOjEwMkZDMDAwRjQ5NUY3QjgxMEY4MDAxMUYwMTBGRkZGRkE0NTE5NzNFNworOjEwMkZEMDAwNzcxNkZGRkY3NzEyMDA3Qjc3MEUwMDA1MTA4MjI4RjgyNgorOjEwMkZFMDAwMDAxMUYwMDAwMEI0ODgxMUY0OTVGNDk1MTA4MUY4NDRCNAorOjEwMkZGMDAwMTk4NEYyNzMxOTg0RjQ5NUU3MTY3NzExMDA3QjEwODExOAorOjEwMzAwMDAwRjAwMDAwQjQ4ODExRjQ5NTc3MTIwMDAyMTA4MUY4NDVBMQorOjEwMzAxMDAwMTk2RjZFRUFGRkZGMTk3QzZERTkwMDA1NjFGODAwMTc3MgorOjEwMzAyMDAwMDAwMUZBMjAxOThGNzY4NjAwMDFGQjgwMTk5N0Y0OTUyQworOjEwMzAzMDAwNDgxNkY5ODAxNjlBRUUwMThBMTc0ODE2OEExNjhBMTFFMAorOjEwMzA0MDAwRjRFNDRBMTFFRUZGRkI4MDE2QTI4ODExRjQ5NTc3MTA4NAorOjEwMzA1MDAwRkZGRkY0QTlGODMwMTlDQzcxRTEwMDAyMDAxMjY5ODI3NworOjEwMzA2MDAwMDAxMDcxRTEwMDAyMDAxMjY4ODJGN0ZGNzFFMTAwMDJCNgorOjEwMzA3MDAwMDAxMjY4ODJGQkZGNzFFMTAwMDIwMDEyNjg4MkZGRjAxQgorOjEwMzA4MDAwNzFFMTAwMDMwMDEyNzY4MkZGRkY3MUUxMDAwNDAwMTI3QgorOjEwMzA5MDAwNzY4MkZGRkY3MUUxMDAwMjAwMTI2OTgyMDAyMDcxRTE3NworOjEwMzBBMDAwMDAwMjAwMTFGMjczMTlEQTY4ODFGRkVGNzcxMTAwN0JEQgorOjEwMzBCMDAwMTA4MUZCODAxOTk3RjAwMDAwQjQ3NzExMDA3QjEwODExQworOjEwMzBDMDAwRkI4MDE5OTdGMDAwMDBCOUY5ODAxNjlBRUUwMThBMTE3OQorOjEwMzBEMDAwRjRFNDAwQTQwMDAwMTlERjAwMDEyQUU2MDAwMDAwMDE2QQorOjEwMzBFMDAwMkFFNzAwMDAwMDAzMkExMjBDMDFDMzRGMDAwMDAwMDE3MAorOjEwMzBGMDAwMkExNTAwMDAwMDAyMkExNjAwMDAwMDAwMDAxOTJBNURBRgorOjEwMzEwMDAwMDA0MzAwNkYwMDcwMDA3OTAwNzIwMDY5MDA2NzAwNjg3QQorOjEwMzExMDAwMDA3NDAwMjAwMDU0MDA2NTAwNjMwMDY4MDA2RTAwNkZCQQorOjEwMzEyMDAwMDA1NDAwNzIwMDY1MDA2RTAwNjQwMDIwMDA0MTAwNDdGQQorOjEwMzEzMDAwMDAwMDAwMDQyQTc2MDAzMDAwMkUwMDMwMDAwMDAwMEM1MQorOjEwMzE0MDAwMkE3QTAwNDYwMDY1MDA2MjAwMjAwMDMyMDAzNzAwMjAyNQorOjEwMzE1MDAwMDAzMjAwMzAwMDMwMDAzMTAwMDAwMDA5MkE4NjAwMzFDMgorOjEwMzE2MDAwMDAzNDAwM0EwMDMzMDAzNTAwM0EwMDMzMDAzMzAwMDBFOQorOjEwMzE3MDAwMDAwRjJBOEYwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDE4NQorOjEwMzE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMzE5MDAwMDAwMDAwMDEyQTlFMDAwMDAwMDEyQTlGMDAwMDAwMDE5QgorOjEwMzFBMDAwMkFBMDAwMDAwMDAxMkFBMTAwMDAwMDAxMkFBMjAwMDBCQworOjEwMzFCMDAwMDAwMTI5N0UwMDAwMDAwMjI5ODAwMDAwMDAwMDAwMDFCQgorOjEwMzFDMDAwMjk4MkZGRkYwMDAxMkFBNzAwMDAwMDA1MkFBODcxNDFGQgorOjEwMzFEMDAwMjAwMDIwMDAwMDIzMDQwMDAwMEEyQUFEMDAwMDAwMDBBNworOjEwMzFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMzFGMDAwMDAwRjJBQjcwMDAwMDAwMDAwMDAwMDQwMDBBMDgyNDAzRAorOjEwMzIwMDAwMDAwODMwN0YwMDgwMDE4MDAwMDAwMDAwMDAwMDAwMDAwNgorOjEwMzIxMDAwMDAwMDAwMDEyNzZFMDAwMDAwMDEyNzZGMDAwMDAwMDA4MQorOjEwMzIyMDAwMDAwOTAwMDAxQTgzMDRFODA0Q0YwNEM1MDRCQTA0QjBGRQorOjEwMzIzMDAwMDRBQzA0OUMwNDhDMDQ4MTAwNzgwMDAwMDEwMEYyNzM0QgorOjEwMzI0MDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzNBNAorOjEwMzI1MDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzM5NAorOjEwMzI2MDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzM4NAorOjEwMzI3MDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzM3NAorOjEwMzI4MDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzM2NAorOjEwMzI5MDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzM1NAorOjEwMzJBMDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzM0NAorOjEwMzJCMDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzMzNAorOjEwMzJDMDAwMDdBQUY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzM2OQorOjEwMzJEMDAwMDdFRkY0OTVGNDk1RjI3MzAyMjNGNDk1RjQ5NUYyNzNFNQorOjEwMzJFMDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzMwNAorOjEwMzJGMDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzNGNAorOjEwMzMwMDAwMDdFRkY0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NUYyNzNFMworOjEwMzMxMDAwMDVFNUY0OTVGNDk1RjI3MzAyQjVGNDk1RjQ5NUYyNzMxRQorOjEwMzMyMDAwMEUzM0Y0OTVGNDk1RjI3MzA3RUZGNDk1RjQ5NTAwMDBERAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3ZpY2FtL2Zpcm13YXJlLkgxNiBiL2Zpcm13YXJlL3ZpY2FtL2Zpcm13YXJlLkgxNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWMwY2JhCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdmljYW0vZmlybXdhcmUuSDE2CkBAIC0wLDAgKzEsNyBAQAorOjAwMjYwMDAwMDBCNkMzMUYwMDAyNjRFNzY3RkRGRjBFQzBFNzA5REUwMDhFMDBDMDA5NDAwM0MwMTc0NDAzNEJBRkMwMDcwMDAwNEJBRjk3Q0YwMDAwMUQKKzowMDBBMDAwMDAwQjZDMzAzMDAwMzY0MTgwMDAwMDBGQgorOjAwMDgwMDAwMDBCNkMzMDEwMDA2NjQwMDAwMTQKKzowNjk2MDAwMDAwQjZDMzhGMDYwMjY0RTcwNzAwMDAwOEMwRTcwNzAwMDAzRUMwRTcwNzU0MDFBQTAwRTcwN0M4MDVCNjAwRTcwNzQyMDFEMjAwRTcwNzdDMDAxNjAwRTcwNzU2MDAxODAwRTcwNzA2MDA5MkMwRTcwNzAwMDAxRUMwRTcwN0ZGRkYyMkMwRTcwNzA0MDAyNEMwRTcwN0VDMjcyOEMwRTcwNzE2MDE4RTAwRTc4NzAxMDAwRUMwOTdDRkQ3MDkwMEMwRTc3NzAxMDA5MkMwMDlDMUU3MDlGRTA1MjQwMUU3MDkwNDA2MjYwMUU3MDcwNzAwOTJDMEU3MDUwMEMwQzBERjk3Q0YxNzAwNTcwMDE3MDJENzA5MDBDMEU3NzcwMTAwOTJDMDBBQzFFNzU3RkZGRkZBMDUwREMwRTc1NzAwMDBGQTA1MEZDMDlGQUZDNjAwRTcwNTAwQzBDODA1QzEwNUMwMDVDMERGOTdDRjI3REFGQTA1RUYwNzAxMDAwQjA2NzNDRjlGQUY3ODAxOUZBRjFBMDM2RUNGRTcwOUZDMDUyNDAxRTcwOTAyMDYyNjAxRTcwNzA3MDA5MkMwRTcwOUZDMDVGRTA1RTcwOTAyMDYwNDA2RTcwOTAwMDZGQzA1RTcwOUZFMDUwMDA2MjdEQUZBMDVFNzU3MDEwMEZBMDUwMkNBMDRDMDk3Q0Y5RkFGNjYwNTk3Q0ZFNzA3NDAwMDAyMDZDODA5RkMwNTlGQUZEQTAyOTdDRkNGMTcwMjAwRUY1NzgxMDAwOTA2OUZBMEI2MDFFRjU3ODAwMDA5MDY5RkEwNDAwMkVGNTcwMTAwMEIwNjlGQTA0NjAzRTcwNzAxMDAwQUMwNDZBRjQ3QUY5RkFGNDAwMkU3MDcyRTAwMEFDMEVGODc4MDAwMDkwNjk3Q0YwMDBFMDEwMEMwNTc1MTAwOUZDMDlFMDJDMDU3NTAwMDIwQzBDMDU3NTUwMDEyQzBDMDU3NTYwMDlGQzA3MjAyOUZDRkQ2MDJDMTBCMDgwNjAxRDA2RjkwMDgwNkMwMDcwODAwQzEwQjA4MDY5RkFGMjgwNTk3Q0YyRjBFMDIwMDA4MDZDMDA3MDgwMEMxMEIwODA2OUZBRjI4MDU5RkNGRDYwMjJGMEUwMjAwMDkwNkVGODc4MDAwMDkwNjlGQ0ZENjAyRUY2NzdGRkYwOTA2RTc2N0ZGRkQyMkMwRTc2N0VGRkYyNEMwRTc4NzEwMDAyOEMwOUZBRkI4MDVFNzg3RTAyMTI0QzA5RkFGQTgwNUU3ODcwODAwMjRDMEU3NjdERkZGMjRDMEM4MDcwQTAwQzAwNzAwMDBDMTA3MDEwMDlGQUYyODA1OUZBRkI4MDVDMDA3OUUwMDlGQUY0NDA1RTc2N0ZGRkUyNEMwQzAwOTIwQzBFNzg3MDAwMTI0QzBDMDc3MDAwMjBGQzFFNzY3RjdGRjI0QzBFNzY3RjdGRjI0QzBFNzg3MDgwMDI0QzAwOERBNUVDMUVGMDc4MDAwMDkwNjk3Q0ZFRjA3MDEwMDBBMDY5N0NGRUYwNzAwMDAwQjA2RUYwNzAwMDAwQTA2RUY2NzdGRkYwOTA2RUYwNzAwMDAwRDA2RTc2N0VGRkYyOEMwRTc2NzE3RDgyNEMwRTcwNzAwMDAxRUMwRTcwN0ZGRkYyMkMwOTdDRkM4MDcwRTA2OUZBRkRBMDJFNzA3MDAwMEYyMDVFNzA3MTAwMEY2MDVFNzA3MEUwNkY0MDVFNzA3RDYwMkY4MDVDODA3RjIwNUMxMDcwMDgwNTBBRjk3Q0YyRjBDMDIwMDA3MDYyRjBDMDQwMDA2MDZFNzA3MDAwMEYyMDVFNzA3MTAwMEY2MDVFNzA3RTIwNUY0MDVFNzA3Q0UwMkY4MDVDODA3RjIwNUMxMDcwMDgwNTFBRjk3Q0Y5RkFGNjYwNDlGQUYxQTAzNTlBRjk3Q0ZDMDA3MEUwMEMxMEIwQzA2NDFEMTlGQUYyODA1QzAwNzNDMDA5RkFGNDQwNTY4MDBDMDA3M0IwMDlGQUY0NDA1NkYwMDBDMDY2ODAwRTAwNzA0MDFFODBCMEEwNkU4MDcwMDAwRTAwNzAwMDJFMDA3RUMwMUUwMDdGQ0ZGOTdDRkU3MDdGRkZGRkEwNUVGMDcwMDAwMEIwNkU3MDcwRTA2MjQwMUU3MDcwRTA2RkUwNUU3MDc0MDAwMjYwMUU3MDc0MDAwMDQwNkU3MDcwNzAwOTJDMDk3Q0ZFRjA3MDIwMDBCMDY5RkFGNzgwMUVGNzc4MDAwMDcwNjlGQzAxNDA0RUY3NzAxMDAwNzA2MzdDMEVGNzcwMTAwMEQwNjBGQzFFRjA3MDEwMDBEMDZDMDA3MDIwMEMxMDczMDAwOUZBRjI4MDVDMDA3MDEwMEMxMDcwMjAwOUZBRjI4MDVDODA3RkY0RjlGQUZBODA1QzAwNzM4MDA5RkFGNDQwNUMxNzcwMzAwMDJDMTA4REE3NUMxQzE3NzAxMDAwQUMxQzAwNzAxMDBDMTA3MDIwMDlGQUYyODA1RUYwNzAxMDAwNjA2MkNDRkMwMDcwMTAwQzEwNzA0MDA5RkFGMjgwNUVGMDcwMDAwMDYwNjIyQ0ZFRjA3MDAwMDBEMDZFRjU3MDEwMDA2MDYxQkMwQzAwNzAxMDBDMTA3MDEwMDlGQUYyODA1QzAwNzAyMDBDMTA3MzAwMDlGQUYyODA1QzgwN0ZGNEY5RkFGQTgwNUMwMDczODAwOUZBRjQ0MDVDMTY3MDMwMEMxNTcwMzAwMDJDMDA4REE3M0MxQzAwNzAyMDBDMTA3MTIwMEVGNTcwMDAwMDYwNjAyQzBDMTA3MjMwMDlGQUYyODA1QzAwNzE0MDBDMTBCRUEwNTlGQUYyODA1QzAwNzNFMDA5RkFGMEEwNUU3MDlFNDA1RkEwNTI3RDhGQTA1RTcwNzBFMDZGQzA1RTcwNzRFMDYwMDA2RTcwNzQwMDAwMjA2OUZBRjY2MDU5RkFGQzYwMDk3Q0ZDMTBCRTIwNTQxRDAwMUQyQzExNzIzMDA5RkFGREMwNEMwMDcwNDAwQzEwQkUzMDU5RkFGMjgwNUMwMDcwNjAwQzEwOUU2MDU5RkFGMjgwNUMwMDcwNzAwQzEwOUU2MDVDMUQxOUZBRjI4MDVDMDA3MEIwMEMxMDlFODA1OUZBRjI4MDVDMDA3MEMwMEMxMDlFODA1QzFEMTlGQUYyODA1QzAwNzBEMDBDMTA3MDkwMDlGQUYyODA1QzAwNzAzMDBDMTA3MzIwMDlGQUYyODA1QzAwNzBGMDBDMTA3MDAwMDlGQUYyODA1OTdDRkU3NjdGRkQ5MjRDMEM4MDcwQTAwNDAwMEMwNjcwMDAyMjc4MDI0QzBFNzg3MDAwNDI0QzBFNzY3RkZGOTI0QzAwMUQyMDhEQTcyQzFFNzg3MDAyMDI0QzA5N0NGMjcwMDFFQzBFNzg3RkYwMDIyQzBFNzY3N0ZGRjI0QzBFNzg3ODAwMDI0QzBFNzg3ODAwMDI0QzA5N0NGOUZBRjBBMDU2NzAwMUVDMEU3NjdCRkZGMjRDMEU3ODc0MDAwMjRDMEU3ODc0MDAwMjRDMDk3Q0Y5RkFGMEEwNUU3NjcwMEZGMjJDMEU3NjdGRkZFMjRDMEU3NjdGRkZFMjRDMEMxMDkyMEMwRTc4NzAwMDEyNEMwOTdDRkMwMDc0MDAwQzgwOUZDMDVFNzY3MDBGRjIyQzBFNzY3RkZGRTI0QzBFNzY3QkZGRjI0QzBFNzY3QkZGRjI0QzAwMERBRTgwOTIwQzBFNzg3NDAwMDI0QzBFNzg3NDAwMDI0QzAwMERBRTgwOTIwQzA2REMxRTc4NzAwMDEyNEMwOTdDRkU3MDczMjAwMTJDMEU3NzcwMDgwMTJDMDdDQzA5N0NGRTcwNzIwNEUxMkMwRTc3NzAwODAxMkMwN0NDMDk3Q0YwOTAyMTkwMDAxMDEwMDgwOTYwOTA0MDAwMDAxMDAwMDAwMDAwNzA1ODEwMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTEKKzowMTM2MDAwMDAwQjZDMzJGMDEwMzY0MEUwMDE0MDAxQTAwMjAwMDI2MDA0QTAwNjQwMDZBMDA5MjAwOUEwMEEwMDBCMjAwQjgwMEJFMDBDMjAwQzgwMENFMDBEQzAwREEwMEUyMDBFMDAwRTgwMEU2MDBFRTAwRUMwMEYyMDBGODAwMDIwMTBBMDEwRTAxMTIwMTFFMDEyMjAxMjgwMTJDMDEzMjAxMzYwMTQ0MDE1MDAxNUUwMTcyMDE3NjAxN0EwMTgwMDE4ODAxOEMwMTk0MDE5QzAxQTAwMUE0MDFBQTAxQjAwMUI0MDFCQTAxRDAwMURBMDFGNjAxRkEwMTAyMDIzNDAyM0MwMjQ0MDI0QTAyNTAwMjU2MDI3NDAyNzgwMjdFMDI4NDAyOEEwMjg4MDI5MDAyOEUwMjk0MDJBMjAyQTgwMkFFMDJCNDAyQkEwMkI4MDJDMDAyQkUwMkM0MDJEMDAyRDQwMkUwMDJFNjAyRUUwMkY4MDJGQzAyMDYwMzFFMDMyNDAzMjgwMzMwMDMyRTAzM0MwMzRBMDM0RTAzNTQwMzU4MDM1RTAzNjYwMzZFMDM3QTAzODYwMzhFMDM5NjAzQjIwM0I4MDNDNjAzQ0MwM0Q0MDNEQTAzRTgwM0Y0MDNGQzAzMDQwNDIwMDQyQTA0MzIwNDM2MDQzRTA0NDQwNDQyMDQ0ODA0NEUwNDRDMDQ1NDA0NTIwNDVBMDQ1RTA0NjIwNDY4MDQ3NDA0N0MwNDgwMDQ4ODA0OEMwNDk0MDQ5QTA0QTIwNEE2MDRBRTA0QjQwNEMwMDRDQzA0RDgwNDJBMDU0NjA1NkMwNTAwMDA1RQorOjAwMDgwMDAwMDBCNkMzMDEwMDA2NjQwMDAwMTQKKzowMDAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3doaXRlaGVhdC5IRVggYi9maXJtd2FyZS93aGl0ZWhlYXQuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkYWU2MDIKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS93aGl0ZWhlYXQuSEVYCkBAIC0wLDAgKzEsMTA5NyBAQAorOjAzMDAwMDAwMDI5N0UzODEKKzowMzAwMDMwMDAyMTMxMkQzCis6MDMwMDBCMDAwMjBCQjUzMAorOjAzMDAzMzAwMDIwODFDQTQKKzowMzAwNDMwMDAyMEEwMEFFCis6MDMwMDVCMDAwMjgzM0JFMgorOjEwMDM3MDAwOTA3RkU5RTA3MDAzMDIwNDczMTQ3MDAzMDIwNEU3MjQyMQorOjEwMDM4MDAwRkU3MDAzMDIwNTRGMjRGQjcwMDMwMjA0NjQxNDcwMDMyMworOjEwMDM5MDAwMDIwNDUyMTQ3MDAzMDIwNDNBMTQ3MDAzMDIwNDQ5MjQ0NAorOjEwMDNBMDAwMDU2MDAzMDIwNTlFOTA3RkVCRTAyNEZFNjAxNjE0NjA1QQorOjEwMDNCMDAwMzYyNDAyNzA3Qjc0MTI5MDdGRDRGMDc0MDA5MDdGRDU0NQorOjEwMDNDMDAwRjAwMjA1QTU5MDdGRUFFMEZGMTIwQTk5RUE0OTYwMEQ2NAorOjEwMDNEMDAwRUE5MDdGRDRGMEU5OTA3RkQ1RjAwMjA1QTU5MDdGQjQzNAorOjEwMDNFMDAwRTA0NDAxRjAwMjA1QTU5MDdGRUFFMEZGMTIwQTU4RUExNgorOjEwMDNGMDAwNDk2MDMzMTJBMjNCRjU0RTkwN0ZFRUUwRkZFNTRFRDMwRAorOjEwMDQwMDAwOUY0MDAzRTBGNTRFRTU0RUQzOTQ0MDQwMDM3NTRFNDBDNworOjEwMDQxMDAwQUUwMkFGMDE3QzdGN0QwMEFCNEUxMjkxMzc5MDdGQjU2RAorOjEwMDQyMDAwRTU0RUYwMDIwNUE1OTA3RkI0RTA0NDAxRjAwMjA1QTU3OQorOjEwMDQzMDAwOTA3RkI0RTA0NDAxRjAwMjA1QTU5MDdGMDBFNTIxRjAzMworOjEwMDQ0MDAwOTA3RkI1NzQwMUYwMDIwNUE1OTA3RkVBRTBGNTIxMDJFNgorOjEwMDQ1MDAwMDVBNTkwN0ZFQUUwRjUzNUQyMDI0Mzg4MTBEMkVCRDJCMQorOjEwMDQ2MDAwQTgwMjA1QTU5MDdGMDBFNTM1RjA5MDdGQjU3NDAxRjBGNgorOjEwMDQ3MDAwMDIwNUE1OTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDIwNworOjEwMDQ4MDAwNzA1QkEyMDBFNDMzRkYyNUUwRkZBMjA1RTQzMzRGOTA0OAorOjEwMDQ5MDAwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwNUE1RTRCQworOjEwMDRBMDAwOTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwNUE1OTA1NAorOjEwMDRCMDAwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjU3NQorOjEwMDRDMDAwRTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0MDE5MDdGMDBBQQorOjEwMDREMDAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA1QTU5MDdGQjQxQworOjEwMDRFMDAwRTA0NDAxRjAwMjA1QTU5MDdGRThFMDI0RkU2MDFEMjRCMQorOjEwMDRGMDAwMDI2MDAzMDIwNUE1OTA3RkVBRTBCNDAxMDVDMjAwMDI5NAorOjEwMDUwMDAwMDVBNTkwN0ZCNEUwNDQwMUYwMDIwNUE1OTA3RkVBRTBFNAorOjEwMDUxMDAwNzAzNDkwN0ZFQ0UwRkY1NDA3RkVGNTRFRUYzMEU3MDNCOAorOjEwMDUyMDAwNDM0RTEwOTA3RkQ3RTU0RUYwRTU0RTQ0MjBGMEVGRjRCNworOjEwMDUzMDAwNTQ4MEZEQzQ1NDBGMkUyNUUwMjRCNEY1ODJFNDM0N0ZBQQorOjEwMDU0MDAwRjU4M0U0RjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA0MgorOjEwMDU1MDAwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQ0RAorOjEwMDU2MDAwMDEwNEQyMDA4MDNGOTA3RkI0RTA0NDAxRjA4MDM2OTBENworOjEwMDU3MDAwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZEOQorOjEwMDU4MDAwRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM5RgorOjEwMDU5MDAwNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZGOAorOjBDMDVBMDAwQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwQUQKKzowMTA1QUMwMDIyMkMKKzoxMDA1QUQwMDc1NEFGRjc1NDlGRjc1NDgwRjc1NDcwMEQyMDNDMjA2OUUKKzoxMDA1QkQwMEMyMDJDMjAwQzIwNUMyMDE5MDAzMDA3NDE5RjBFNDkwOUEKKzoxMDA1Q0QwMDAxQkNGMEMyMDQ5MDAxQzBGMEEzRjBDMkFGQzJBODEyRUEKKzoxMDA1REQwMDBDMjJFNDkwMDJBRkYwOTAwMUJERjA5MDAxMDBGMEEzNjkKKzoxMDA1RUQwMEYwQTNGMEEzRjBBM0YwQTM3NDEwRjBBMzc0MDFGMEEzOTMKKzoxMDA1RkQwMDc0MDhGMDdFMDE3RjAwMTIxOUMxNzU0QzEyNzU0RDBBRjkKKzoxMDA2MEQwMDkwMDEwQkUwRkYwNTRERTU0REFDNEM3MDAyMDU0QzE0MEYKKzoxMDA2MUQwMEY1ODI4QzgzRUZGMDkwMDEwQ0UwNDQ4MEZGMDU0REU1RjEKKzoxMDA2MkQwMDREQUM0QzcwMDIwNTRDMTRGNTgyOEM4M0VGRjA5MDAxQUIKKzoxMDA2M0QwMDBERTBGRjA1NERFNTREQUM0QzcwMDIwNTRDMTRGNTgyRjcKKzoxMDA2NEQwMDhDODNFRkYwOTAwMTBFRTBGRjA1NERFNTREQUM0QzcwNDUKKzoxMDA2NUQwMDAyMDU0QzE0RjU4MjhDODNFRkYwOTAxMjBBRTQ5M0ZGOUYKKzoxMDA2NkQwMDc0MDE5MzkwMDExQ0NGRjBBM0VGRjA5MDAxMUNFMEZGRkIKKzoxMDA2N0QwMEEzRTBGRUVGNkVGRjkwMDExQ0YwQTNFMDZGRkZGMDkwODIKKzoxMDA2OEQwMDAxMUNFMDZGRjBFMEZFQTNFMEZGRTRGQ0ZENzU1MjEwRUQKKzoxMDA2OUQwMDc1NTMwMjc1NTQxMjc1NTVBQzEyOTQyNjc1NEMxMjc1MUUKKzoxMDA2QUQwMDREQjI5MDAxMERFMEZGMDU0REU1NERBQzRDNzAwMjA1Q0UKKzoxMDA2QkQwMDRDMTRGNTgyOEM4M0VGRjA5MDAxMEVFMEZGMDU0REU1QjMKKzoxMDA2Q0QwMDREQUM0QzcwMDIwNTRDMTRGNTgyOEM4M0VGRjA5MDdGOEQKKzoxMDA2REQwMDkyRTBGRkM0NTQwRjI0NDFGRjA1NERFNTREQUM0QzcwMjUKKzoxMDA2RUQwMDAyMDU0QzE0RjU4MjhDODNFRkYwMDU0REU1NERBRTRDQjMKKzoxMDA2RkQwMDcwMDIwNTRDMTRGNTgyOEU4M0U0RjA3NTgyMTA3NTgzQkIKKzoxMDA3MEQwMDAxRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjkwMDExODEyQzEKKzoxMDA3MUQwMEEzRUU3RTAxN0YxODEyODZCRTkwMDExOEUwRkNBM0UwQzcKKzoxMDA3MkQwMEZEQTNFMEZFQTNFMEZGNzU1MjBBNzU1MzA2NzU1NDEyNDIKKzoxMDA3M0QwMDc1NTVCODEyOTQyNkQyRTg0M0Q4MjA5MDdGQUI3NEZGM0MKKzoxMDA3NEQwMEYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MjUKKzoxMDA3NUQwMDFGRjBEMkFGMjAwMTJFMjAwMTJCQTIwMzkyMDcxMjA5MDgKKzoxMDA3NkQwMEM1NzU0NjUwNzU0NTZENzU0NDMzNzU0MzAwMjAwMUU0REMKKzoxMDA3N0QwMDdGRkY3RUZGN0RGRjdDRkY3ODQzMTJBM0Q3RUM0RDRFQUMKKzoxMDA3OEQwMDRGNjBEMTgwRTgzMDAxMDUxMjAzNzBDMjAxMzAwNjBBQjYKKzoxMDA3OUQwMDEyMDlGQjUwMDMxMjBBRThDMjA2MTI5NjVFOTAwMUJEQzMKKzoxMDA3QUQwMEUwNjAwQzEyOTIwMUU0OTAwMUJERjA5MDdGRDNGMDkwQzcKKzoxMDA3QkQwMDAyQUZFMEI0MEYwMzEyOTlCOTEyQTA5NUU0RkY3NDAxRDIKKzoxMDA3Q0QwMEE4MDcwODgwMDJDMzMzRDhGQ0ZFOTAwMUJDRTA1RTYwMzAKKzoxMDA3REQwMDE0NzQyODJGRjhFNkQzOTQwQTQwMDQ3RTAxODAwMjdFMUIKKzoxMDA3RUQwMDAwOEU0QjgwMDM3NTRCMDE3NDY4MkZGNTgyRTQzNDIwMjUKKzoxMDA3RkQwMEY1ODNFNTRCRjAwRkJGMDRDNUU1MkNEMzk0MEE0MDA0RjcKKzowRTA4MEQwMDdGMDE4MDAyN0YwMDkwMjA2Q0VGRjAwMjA3OTJDNgorOjAxMDgxQjAwMjJCQQorOjA0MDgxQzAwNTNEOEVGMzI4QworOjEwMDgyMDAwRTUzM0MzOTQwMTQwMEU5MDdGOTNFMDQ0MzBGMDkwN0YxNQorOjEwMDgzMDAwOTVFMDQ0QzBGMDdGRjQ3RTAxMTIwOUFFOTA3Rjk2RTAwRgorOjEwMDg0MDAwNTRGRUYwN0YwQTdFMDAxMjA5QUU5MDdGOTZFMDQ0MDhDNQorOjEwMDg1MDAwRjA3RjA1N0UwMDEyMDlBRTkwN0Y5NkUwNTRGQkYwN0Y5QQorOjEwMDg2MDAwMDU3RTAwMTIwOUFFRTUzM0MzOTQwMTUwMEU3RjAyN0Q3MAorOjEwMDg3MDAwRkYxMjgyRUE3RjA1N0UwMDEyMDlBRTkwN0Y5NkUwNDQ2NworOjEwMDg4MDAwMDJGMEUwNTQ3RkYwN0YwNTdFMDAxMjA5QUU5MDdGOTY2MworOjEwMDg5MDAwRTA0NDQwRjA3RjA1N0UwMDEyMDlBRTkwN0Y5NkUwNTQ2MAorOjEwMDhBMDAwQkZGMDdGMzI3RTAwMTIwOUFFOTA3Rjk2RTA0NDQwRjBBOAorOjA4MDhCMDAwN0YzMjdFMDAxMjA5QUUyMjI2Cis6MTAwOEI4MDA5MDdGOTZFMDU0RkRGMEUwNDQ4MEYwN0YwQTdFMDAxMkJECis6MTAwOEM4MDAwOUFFRTUzM0MzOTQwMTUwMEU3RjAyRTRGRDEyODJFQUJCCis6MTAwOEQ4MDA3RjA1N0UwMDEyMDlBRTkwN0Y5NkUwNTRCRkYwN0YwNTM5Cis6MTAwOEU4MDA3RTAwMTIwOUFFOTA3Rjk2RTA0NDA0RjA3RjA1N0UwMEZBCis6MTAwOEY4MDAxMjA5QUU5MDdGOTZFMDU0RjdGMDdGMDU3RTAwMTIwOTRBCis6MTAwOTA4MDBBRTkwN0Y5NkUwNDQwMUYwN0YwNTdFMDAxMjA5QUVFNUM3Cis6MTAwOTE4MDAzM0MzOTQwMTQwMEU5MDdGOTNFMDU0Q0ZGMDkwN0Y5NUJECis6MDgwOTI4MDBFMDU0M0ZGMDEyMEIwMDIyMjUKKzoxMDA5MzAwMDkwMEFGNEU0OTM3MDc2OTA3RjkzNzQzMEYwOTA3Rjk0RjMKKzoxMDA5NDAwMDc0M0NGMDkwN0Y5NTc0QzZGMDdGMEE3RTAwMTIwOUFFNjkKKzoxMDA5NTAwMEU0OTA3RjlDRjA5MDdGOTY3NDA4RjA5MDdGOUM3NENGMTkKKzoxMDA5NjAwMEYwN0YwQTdFMDAxMjA5QUU5MDIwNzBFMEZGQzQ1NDBGQTEKKzoxMDA5NzAwMEY1MzNDMzk0MDE1MDA3OTA3Rjk2RTA0NDgwRjBFNDkwRjMKKzoxMDA5ODAwMDdGOTdGMDkwN0Y5RDc0MDJGMEU1MzNDMzk0MDE0MDBCOTQKKzoxMDA5OTAwMEU0OTA3Rjk4RjA5MDdGOUU3NEMwRjA5MDdGRTI3NDEyOTQKKzowRTA5QTAwMEYwMTIwODIwNzU4MkY0NzU4MzBBNzRGRkYwMjJBRAorOjEwMDlBRTAwOEU1RDhGNUVFNTVFMTU1RUFFNUQ3MDAyMTU1RDRFNjAwRQorOjA3MDlCRTAwMDUxMjA5RUE4MEVFMjI5OAorOjEwMDlDNTAwOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMDcwNEUwNDRBMworOjEwMDlENTAwMDJGMDdGRDA3RTA3MTIwOUFFOTA3RkQ2RTA1NEY3RjA4MworOjA1MDlFNTAwRTA0NDA0RjAyMkQzCis6MTAwOUVBMDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIwCis6MDEwOUZBMDAyMkRBCis6MDUwOUZCMDAxMjA4QjhEMzIyMzAKKzoxMDBBMDAwMDAyMEM0RTAwMDIwQzgxMDAwMjBDNjYwMDAyMENDMDAwQjkKKzoxMDBBMTAwMDAyMENBQTAwMDIwQUVEMDAwMjBBRUUwMDAyMEFFRjAwMzAKKzoxMDBBMjAwMDAyMENEQjAwMDIwRENCMDAwMjBEMTcwMDAyMEUyQjAwQTIKKzoxMDBBMzAwMDAyMEQ1MzAwMDIwRThCMDAwMjBEOEYwMDAyMEVFQjAwMjAKKzoxMDBBNDAwMDAyMEFGMDAwMDIwQUYyMDAwMjBBRjEwMDAyMEFGMzAwQjAKKzowODBBNTAwMDAyMEY0QjAwMDIwRjYxMDBEMAorOjAyMEE1ODAwOEY0RkJFCis6MTAwQTVBMDBFNEY1NTA3NTUxRkY3NTUyMTI3NTUzNkFBQjUxQUE1MjlCCis6MTAwQTZBMDBBOTUzOTAwMDAxMTJBMjU0QjQwMzFEQUY1MDA1NTBFRkQwCis6MTAwQTdBMDBCNTRGMDEyMjEyQTIzQjdFMDAyOUZGRUUzQUE5MDc3NTYzCis6MEUwQThBMDA1MUZGRjU1Mjg5NTM4MEQ0N0IwMDdBMDA3OTAwMjkKKzowMTBBOTgwMDIyM0IKKzoxMDBBOTkwMEU0RkU3NTUxRkY3NTUyMTI3NTUzMTJBQjUxQUE1MkE5NTIKKzoxMDBBQTkwMDUzOTAwMDAxMTJBMjU0NjQwMjcwMkRBRDA2MEVFREI1RUIKKzoxMDBBQjkwMDA3MDEyMjkwMDAwMjEyQTJBRDg1RjA0RkY1NTA2MjRGNTYKKzoxMDBBQzkwMEU1NEY2MjUwRTU1MDYyNEYyOUZERTU0RjNBQTkwNTc1OUEKKzowRTBBRDkwMDUxRkZGNTUyODk1MzgwQzM3QjAwN0EwMDc5MDBFQgorOjAxMEFFNzAwMjJFQworOjA1MEFFODAwMTIwODIwRDMyMkRBCis6MDEwQUVEMDAzMkQ2Cis6MDEwQUVFMDAzMkQ1Cis6MDEwQUVGMDAzMkQ0Cis6MDEwQUYwMDAzMkQzCis6MDEwQUYxMDAzMkQyCis6MDEwQUYyMDAzMkQxCis6MDEwQUYzMDAzMkQwCis6MDMwQUY0MDAwMDA0MDdGNAorOjA5MEIwMDAwOTA3RkQ2RTA0NDgwRjA4MDc0N0YKKzoxMDBCN0QwMDQzODcwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyN0IKKzoxMDBCOEQwMDUzOEVGN0U1ODk1NEYxNDQwMUY1ODk3NThDQjFEMkE5REQKKzoxMDBCOUQwMDc1OTg0MDc1Q0JGRjc1Q0FGMzc1QzgzNEU0RkY3RjA1QjIKKzowNzBCQUQwMDc4MjhFNEY2MDhERkZDRTQKKzowMTBCQjQwMDIyMUUKKzoxMDBCQjUwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMDBDMDAwQzAwNkMwRjAKKzowMTBCQzUwMDA3MjgKKzoxMDBCQzYwMDMwMDQxNjc1OENGODc1OEEzMDdGMkZBRTA3MUZFRTYwREQKKzoxMDBCRDYwMDNDOTAyMDAwNzQ1NUYwODBGMjc1OENCMTdGMjhFRkQzREQKKzoxMDBCRTYwMDk0MkM1MDA5QTgwN0U2NjAwMTE2MEY4MEYxOTAwMzAwQzcKKzoxMDBCRjYwMEUwNjAwMjE0RjA5MDAxQzBFMDcwMDJBM0UwNjAwRTkwODUKKzowRDBDMDYwMDAxQzFFMDI0RkZGMDkwMDFDMEUwMzRGRkYwRDgKKzowRjBDMTMwMEQwMDdEMDA2RDAwMEQwRDBEMDgyRDA4M0QwRTAzMjJFCis6MTAwQzIyMDBEMjAwNzU4RTEwMTIwOTMwRTUzM0MzOTQwMTQwMDg5MDRBCis6MTAwQzMyMDA3RjkyNzQwMkYwODAwNUU0OTA3RjkyRjAxMjgwMDAxMjlECis6MEMwQzQyMDAwRjdEMTI5NEY3MTIxQjBDMTIwQjhEMjI3OAorOjEwMEM0RTAwQzBFMEMwODNDMDgyRDIwMTUzOTFFRjkwN0ZBQjc0MDE5QworOjA4MEM1RTAwRjBEMDgyRDA4M0QwRTAzMjE3Cis6MTAwQzY2MDBDMEUwQzA4M0MwODI5MDdGQzRFNEYwNTM5MUVGOTA3RkQwCis6MEIwQzc2MDBBQjc0MDRGMEQwODJEMDgzRDBFMDMyRDkKKzoxMDBDODEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDJGMDkwQkIKKzoxMDBDOTEwMDdGRDhFMDcwMEQ5MDdGRDlFMDcwMDdFNTJDNzAwMzc1NjcKKzowOTBDQTEwMDJDMTREMDgyRDA4M0QwRTAzMjgzCis6MTAwQ0FBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjBEMDQ0Cis6MDYwQ0JBMDA4MkQwODNEMEUwMzI3RAorOjEwMENDMDAwQzBFMEMwODNDMDgyMzAwMjAyRDIwNjUzOTFFRjkwN0YxMQorOjBCMENEMDAwQUI3NDA4RjBEMDgyRDA4M0QwRTAzMjdCCis6MTAwQ0RCMDBDMEUwQzA4M0MwODJDMEQwNzVEMDEwNTM5MUVGOTA3RjFECis6MTAwQ0VCMDBBOTc0MDJGMEU1MzQzMEUwMTNFNTMyMzBFMDA3OTAyMEQwCis6MTAwQ0ZCMDAwNEUwNDQwMUYwOTAyMDAxRTA0NDAxRjBFNTJDNzAwMzg2Cis6MEMwRDBCMDA3NTJDMTREMEQwRDA4MkQwODNEMEUwMzIwMAorOjEwMEQxNzAwQzBFMEMwODNDMDgyQzBEMDc1RDAxMDUzOTFFRjkwN0ZFMAorOjEwMEQyNzAwQTk3NDA0RjBFNTM0MzBFMTEzRTUzMjMwRTEwNzkwMjA4RgorOjEwMEQzNzAwMENFMDQ0MDFGMDkwMjAwOUUwNDQwMUYwRTUyQzcwMDMzOQorOjBDMEQ0NzAwNzUyQzE0RDBEMEQwODJEMDgzRDBFMDMyQzQKKzoxMDBENTMwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTA1MzkxRUY5MDdGQTQKKzoxMDBENjMwMEE5NzQwOEYwRTUzNDMwRTIxM0U1MzIzMEUyMDc5MDIwNEQKKzoxMDBENzMwMDE0RTA0NDAxRjA5MDIwMTFFMDQ0MDFGMEU1MkM3MDAzRUQKKzowQzBEODMwMDc1MkMxNEQwRDBEMDgyRDA4M0QwRTAzMjg4Cis6MTAwRDhGMDBDMEUwQzA4M0MwODJDMEQwNzVEMDEwNTM5MUVGOTA3RjY4Cis6MTAwRDlGMDBBOTc0MTBGMEU1MzQzMEUzMTNFNTMyMzBFMzA3OTAyMDA3Cis6MTAwREFGMDAxQ0UwNDQwMUYwOTAyMDE5RTA0NDAxRjBFNTJDNzAwM0ExCis6MEMwREJGMDA3NTJDMTREMEQwRDA4MkQwODNEMEUwMzI0QworOjEwMERDQjAwQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwQzA2OQorOjEwMEREQjAwRDA3NUQwMTA1MzkxRUY5MDdGQUE3NDAyRjBFNTM0MjBCOAorOjEwMERFQjAwRTAwNjkwN0ZDN0YwODAyMkU1MzEzMEUwMEE5MDdGQzdBNAorOjEwMERGQjAwRTA5MDAyRjhGMDgwMTNFNTIyMzBFMDA3OTAyMDA0RTA0OQorOjEwMEUwQjAwNDQwMkYwOTAyMDAxRTA0NDAyRjBFNTJDNzAwMzc1MkNCNQorOjEwMEUxQjAwMTREMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI4RAorOjEwMEUyQjAwQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwQzAwOAorOjEwMEUzQjAwRDA3NUQwMTA1MzkxRUY5MDdGQUE3NDA0RjBFNTM0MjA1NQorOjEwMEU0QjAwRTEwNjkwN0ZDOUYwODAyMkU1MzEzMEUxMEE5MDdGQzkzRAorOjEwMEU1QjAwRTA5MDAyRjlGMDgwMTNFNTIyMzBFMTA3OTAyMDBDRTBERQorOjEwMEU2QjAwNDQwMkYwOTAyMDA5RTA0NDAyRjBFNTJDNzAwMzc1MkM0RAorOjEwMEU3QjAwMTREMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzIyRAorOjEwMEU4QjAwQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwQzBBOAorOjEwMEU5QjAwRDA3NUQwMTA1MzkxRUY5MDdGQUE3NDA4RjBFNTM0MjBGMQorOjEwMEVBQjAwRTIwNjkwN0ZDQkYwODAyMkU1MzEzMEUyMEE5MDdGQ0JENworOjEwMEVCQjAwRTA5MDAyRkFGMDgwMTNFNTIyMzBFMjA3OTAyMDE0RTA3NAorOjEwMEVDQjAwNDQwMkYwOTAyMDExRTA0NDAyRjBFNTJDNzAwMzc1MkNFNQorOjEwMEVEQjAwMTREMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDRAorOjEwMEVFQjAwQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwQzA0OAorOjEwMEVGQjAwRDA3NUQwMTA1MzkxRUY5MDdGQUE3NDEwRjBFNTM0MjA4OQorOjEwMEYwQjAwRTMwNjkwN0ZDREYwODAyMkU1MzEzMEUzMEE5MDdGQ0Q3MAorOjEwMEYxQjAwRTA5MDAyRkJGMDgwMTNFNTIyMzBFMzA3OTAyMDFDRTAwOQorOjEwMEYyQjAwNDQwMkYwOTAyMDE5RTA0NDAyRjBFNTJDNzAwMzc1MkM3QworOjEwMEYzQjAwMTREMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI2QworOjEwMEY0QjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5NzQ4MEYwRDAzMgorOjA2MEY1QjAwODJEMDgzRDBFMDMyRDkKKzoxMDBGNjEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQTc0ODBGMDkwNUIKKzowQzBGNzEwMDAxQkQ3NEZGRjBEMDgyRDA4M0QwRTAzMkNDCis6MTAwRjdEMDA5MDAxMjAxMkEzRkEwMDAwMjU4MDkwMDEyNDc0MDhGMDNFCis6MTAwRjhEMDBBMzc0MDFGMEEzNzQ2RUYwQTNGMEEzNzQxM0YwQTM3NDEzCis6MTAwRjlEMDAxMUYwRTRBM0YwQTNGMDkwMDExRUYwOTAwMTFFRTBGRjBDCis6MTAwRkFEMDAwNEEzRjBFRjc1RjAwREE0MjQwMUY5NzQwMzM1RjBBODM2Cis6MTAwRkJEMDAwMUZDN0QwMTdCMDE3QTAxNzkxRjdFMDA3RjBEMTJBMjVDCis6MTAwRkNEMDAxMjdFMDE3RjFGMTI4N0E2OTAwMTFFRTAwNEYwRTBDMzgwCis6MTAwRkREMDA5NDA0NDBDN0U0RjUyNzkwMDExRUYwOTAwMTFFRTBGRjM4Cis6MTAwRkVEMDBDMzk0MDQ1MDFBNzRGODJGRjU4MkU0MzQwMkY1ODNFNEE3Cis6MTAwRkZEMDBGMDc0MjMyRkY4RTRGNjkwMDExRUUwMDRGMDgwRENFNDk5Cis6MTAxMDBEMDBGNTM0RTVDMDYwMkY5MDAxMUU3NDAxRjA5MDAxMUVFMEQzCis6MTAxMDFEMDBGRkQzOTQwNDUwMUZFRjE0RkY3NDAxQTgwNzA4ODAwMjNBCis6MTAxMDJEMDBDMzMzRDhGQzQyMzQ3RTAxN0YxRTEyODQ0MTkwMDExRUQxCis6MTAxMDNEMDBFMDA0RjA4MEQ3RTRGNTNFRjUyMkY1MzFGNTMyOTAwMTZDCis6MTAxMDREMDAxRUYwOTAwMTFFRTBGRjc1RjAwOEE0MjQwNkY1ODJFNDYxCis6MTAxMDVEMDAzNDIwRjU4M0UwNTRGMEZFNzRDNTJGRjU4MkU0MzQwMTlECis6MTAxMDZEMDBGNTgzRUVGMDc0M0EyRkY4QTYwNjc0MzYyRkY4RTRGNkYxCis6MTAxMDdEMDA3NDJEMkZGOEU0RjY3NEZDMkZGNTgyRTQzNDAyRjU4MzE5Cis6MTAxMDhEMDBFNEYwOTAwMTFFRTAwNEYwRTBCNDA0QjY5MDIwNjBFMEJFCis6MDQxMDlEMDA1NDBGRjU0RUE5Cis6MTAxMEExMDA3MDAzMDIxMTI2RTQ5MDAxMUVGMDkwMDExRUUwRkZDM0JGCis6MTAxMEIxMDA5NDA0NTBFNDc0MDFBODA3MDg4MDAyQzMzM0Q4RkM1NTk2Cis6MTAxMEMxMDA0RTYwNUE5MDAxMUVFMEZFNzVGMDA4QTQyNDAyRjU4MkRDCis6MTAxMEQxMDBFNDM0MjBGNTgzRTBGRkVFNzVGMDA4QTQyNDA1RjU4MkUxCis6MTAxMEUxMDBFNDM0MjBGNTgzRTBFRTc1RjAwOEE0MjQwNkY1ODJFNEVCCis6MTAxMEYxMDAzNDIwRjU4M0UwRkZBRjA2RUU3NUYwMERBNDI0MDJGNTcwCis6MTAxMTAxMDA4MkU0MzQwM0Y1ODNFMEZDQTNFMEZEQTNFMEZFQTNFMDY5Cis6MTAxMTExMDBGNTY2OEU2NThENjQ4QzYzN0QwNjEyODNERjkwMDExRUZBCis6MDYxMTIxMDBFMDA0RjA4MDg1MjJDRAorOjAyMTEyNzAwQUMwNzEzCis6MTAxMTI5MDA5MDdGQTVFMDQ0ODBGMEVDMjVFMDQ0NDE5MDdGQTZGMDUzCis6MTAxMTM5MDA3QjNDQUYwMzFCRUY3MDE2OTA3RkE1RTA0NDQwRjA5MDE1Cis6MTAxMTQ5MDA3RkE2RTBGRDdEMzJBRjA1MURFRjYwRDQ4MEY4OTA3RjZBCis6MTAxMTU5MDBBNUUwRkQzMEUwREMyMEUxMDlFMDQ0NDBGMDdFRkY3RkJFCis6MTAxMTY5MDBGOTIyRUQzMEUyMEM5MDdGQTVFMDQ0NDBGMDdFRkY3RjRDCis6MTAxMTc5MDBGQTIyOTA3RkE1RTA0NDIwRjA5MDdGQTZFMEZEN0IxRTM3Cis6MTAxMTg5MDBBRjAzMUJFRjcwMTY5MDdGQTVFMDQ0NDBGMDkwN0ZBNjU3Cis6MTAxMTk5MDBFMEZEN0QzMkFGMDUxREVGNjA4NjgwRjg5MDdGQTVFMDA4Cis6MTAxMUE5MDBGRDIwRTBEQzdCM0NBRjAzMUJFRjcwMTk5MDdGQTVFMENECis6MTAxMUI5MDA0NDQwRjA5MDdGQTZFMEZEN0QzMkFGMDUxREVGNzAwMzNFCis6MTAxMUM5MDAwMjExMjk4MEY1OTA3RkE1RTBGRDMwRTBEOTMwRTIwOUQwCis6MTAxMUQ5MDBFMDQ0NDBGMDdFRkY3RkZBMjJDMkFGOTA3RkE1RTA0NDUxCis6MEMxMUU5MDA0MEYwOTA3RkE2RTBGREQyQUZGRjdFMDAzQQorOjAxMTFGNTAwMjJENworOjEwMTIwMDAwMTIwMTAwMDFGRkZGRkY0MDEwMDcwMTgwNDIwMDAxMDJCMAorOjEwMTIxMDAwMDMwMTA5MDI1ODAwMDEwMTA0ODAzQzA5MDQwMDAwMEE4RQorOjEwMTIyMDAwRkZGRkZGMDUwNzA1ODEwMjQwMDAwMDA3MDUwMTAyNDA5RQorOjEwMTIzMDAwMDAwMDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDAwMDA4RQorOjEwMTI0MDAwMDcwNTgzMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDU3MAorOjEwMTI1MDAwODQwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTg3MDJFMQorOjEwMTI2MDAwNDAwMDAwMDcwNTA3MDI0MDAwMDAwNDAzMDkwNDI0MDNBRQorOjEwMTI3MDAwNDMwMDZGMDA2RTAwNkUwMDY1MDA2MzAwNzQwMDIwMDA4NAorOjEwMTI4MDAwNTQwMDY1MDA2MzAwNjgwMDIwMDA0OTAwNkUwMDYzMDBBMAorOjEwMTI5MDAwMkUwMDE4MDM1NzAwNjgwMDY5MDA3NDAwNjUwMDQ4MDBCQworOjEwMTJBMDAwNDUwMDQxMDA1NDAwMkQwMDM0MDAxQTAzNTgwMDU4MDAzNgorOjEwMTJCMDAwMkQwMDU4MDA1ODAwMkQwMDU4MDA1ODAwNTgwMDU4MDBDNAorOjEwMTJDMDAwNTgwMDU4MDAyQTAzNDMwMDZGMDA2RTAwNjYwMDY5MDA1MgorOjEwMTJEMDAwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwNkYwMDZFMDBBNQorOjEwMTJFMDAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIyMDM0MgorOjEwMTJGMDAwNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNjEwMDYzMDBDMgorOjEwMTMwMDAwNjUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDBFMQorOjAyMTMxMDAwMDAwMERCCis6MTAxMzEyMDBDMEUwQzBGMEMwODNDMDgyQzA4NUMwODRDMDg2QzBEMDk3Cis6MTAxMzIyMDA3NTg2MDA3NUQwMTg5MDIwNjBFMDU0MEZGNUYwNzAxMUFBCis6MTAxMzMyMDBEMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEYwRDBFMEY3Cis6MTAxMzQyMDAzMjc1ODYwMDEwRjAwQjEwRjExMjEwRjIxOTEwRjMyMDEyCis6MTAxMzUyMDA4MEQ0RTUyODcwMDM3NTI4MTQwMjEzN0NFNTI5NzAwM0Y0Cis6MTAxMzYyMDA3NTI5MTQwMjE1MERFNTJBNzAwMzc1MkExNDAyMTY5RUJBCis6MTAxMzcyMDBFNTJCNzAwMzc1MkIxNDAyMTgyRjkwMjAwMkUwNTQzRkM2Cis6MTAxMzgyMDAyMEUyM0EyMEUxMEIyMEU0MEIyMEU1MTQ2MDA5MDIxMzZECis6MTAxMzkyMDA0MzAyMTQ2NTAyMTM0MzQzODIwNEUwRjUzQTAyMTM0MzA1Cis6MTAxM0EyMDA0MzgyMDRFMDQzMkQwMTAyMTM0MzUzODJGODQzODIwNTMyCis6MTAxM0IyMDBFMDQyMzY1MzgyRkJFMDU0RkJGMDAyMTM0MzMwRTEwMjc5Cis6MTAxM0MyMDA4MEU4RjU4NUU1MzIzMEUwMEE1MzgyRjg0MzgyMDRFMDkyCis6MTAxM0QyMDA1NEZFRjBFNTg1MjBFMzU2OTAyMDUwNzQwMEYwOTAyMEYyCis6MTAxM0UyMDA1ODc0MDFGMDkwN0ZFMkUwNDQ0MEYwOTA3RkUzMDU4NjdDCis6MTAxM0YyMDA5MDdFODAwNTg2RTU4NUYwQTNFNTg0RjAwNTg2OTA3RkUyCis6MTAxNDAyMDBFNUU1M0ZGRDAzMDMwM0ZFRjBGMEYwRjBGMEYwRjBGMDRECis6MTAxNDEyMDBERUY2OTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjA5MDI2Cis6MTAxNDIyMDA3RkI3RURGMDkwMjAwMUUwNTRGRUYwMDIxMzQzN0Y0MEJECis6MTAxNDMyMDA5MDdFODAwNTg2OTAyMDAwRTU4NEZFMjQwNUZEOEQ4NDQzCis6MTAxNDQyMDBFMDhFODQzMEUwMDlFMDA1ODZGMEEzMDU4NkRGRUYwNTMzCis6MTAxNDUyMDA4NkMzNzQ0MDlGOTA3RkI3RjAwNTg2QTNFMDU0RkVGMEU4Cis6MTAxNDYyMDAwMjEzNDM1MzJERkFFNTIzNjAwODc1MjMwMEQyRTdGRUU5Cis6MTAxNDcyMDA4MDBBOTA3RkM3RTBGRTcwMDMwMjE0RkY5MDIwNTA3NDMwCis6MTAxNDgyMDAwMEYwOTAyMDU4NzQwMUYwOTA3RkUyRTA0NDQwRjA5MDI4Cis6MTAxNDkyMDA3RkUzMDU4NjkwN0U0MDA1ODZFNTg1RjBBM0U1ODRGMDJFCis6MTAxNEEyMDAwNTg2OTA3RkU1RUUzMEU3MDgwNTg2RTAyNDM4RjAwNUYyCis6MTAxNEIyMDA4NkVFNTQ3RkZFNTQwN0ZCRUU1NDc4NjAzMDAzMDMwMzNDCis6MTAxNEMyMDAzMEUzMDQ3NDA3N0IwOEZERkNFMEUwRTBFMEUwRTBFMEVDCis6MTAxNEQyMDBFMERERjZFQkZFNjAxOUVDNjQwNzcwMTE4QjIzOTA3RjYwCis6MTAxNEUyMDBFMkUwNTRCRkYwOTAyMDU4NzQwMEYwODAxQkUwREVGRDczCis6MTAxNEYyMDA5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDkwMjAwMUY5Cis6MTAxNTAyMDBFMDU0RkRGMDkwN0ZDN0YwMDIxMzQzOTAyMDBBRTA1NEFDCis6MTAxNTEyMDAzRjIwRTIzQTIwRTEwQjIwRTQwQjIwRTUxNDYwMDkwMkFGCis6MTAxNTIyMDAxMzQzMDIxNUY2MDIxMzQzNDM4MjA0RTBGNTNCMDIxMzEwCis6MTAxNTMyMDA0MzQzODIwNEUwNDMyRTAxMDIxMzQzNTM4MkY4NDM4MjYxCis6MTAxNTQyMDAwNUUwNDIzNzUzODJGQkUwNTRGQkYwMDIxMzQzMzBFMUUzCis6MTAxNTUyMDAwMjgwRThGNTg1RTUzMjMwRTEwQTUzODJGODQzODIwNERECis6MTAxNTYyMDBFMDU0RkVGMEU1ODUyMEUzNTY5MDIwNTA3NDAxRjA5MDlGCis6MTAxNTcyMDAyMDU4NzQwMUYwOTA3RkUyRTA0NDQwRjA5MDdGRTMwNTUwCis6MTAxNTgyMDA4NjkwN0UwMDA1ODZFNTg1RjBBM0U1ODRGMDA1ODY5MEM5Cis6MTAxNTkyMDA3RkU1RTU0MEZEMDMwMzAzRkVGMEYwRjBGMEYwRjBGMDJDCis6MTAxNUEyMDBGMERFRjY5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDM1Cis6MTAxNUIyMDA5MDdGQjlFREYwOTAyMDA5RTA1NEZFRjAwMjEzNDM3RkQyCis6MTAxNUMyMDA0MDkwN0UwMDA1ODY5MDIwMDhFNTg0RkUyNDA1RkQ4RDZFCis6MTAxNUQyMDA4NEUwOEU4NDMwRTAwOUUwMDU4NkYwQTMwNTg2REZFRjIzCis6MTAxNUUyMDAwNTg2QzM3NDQwOUY5MDdGQjlGMDA1ODZBM0UwNTRGRTQwCis6MTAxNUYyMDBGMDAyMTM0MzUzMkVGQUU1MjQ2MDA4NzUyNDAwRDJFNzYzCis6MTAxNjAyMDBGRTgwMEE5MDdGQzlFMEZFNzAwMzAyMTY5MDkwMjA1MDdGCis6MTAxNjEyMDA3NDAxRjA5MDIwNTg3NDAxRjA5MDdGRTJFMDQ0NDBGMEIxCis6MTAxNjIyMDA5MDdGRTMwNTg2OTA3REMwMDU4NkU1ODVGMEEzRTU4NDdECis6MTAxNjMyMDBGMDA1ODY5MDdGRTVFRTMwRTcwODA1ODZFMDI0MzhGMDc1Cis6MTAxNjQyMDAwNTg2RUU1NDdGRkU1NDA3RkJFRTU0Nzg2MDMwMDMwM0E4Cis6MTAxNjUyMDAwMzMwRTMwNDc0MDc3QjA4RkRGQ0UwRTBFMEUwRTBFMDM3Cis6MTAxNjYyMDBFMEUwRERGNkVCRkU2MDE5RUM2NDA3NzAxMThCMjQ5MDZDCis6MTAxNjcyMDA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjA4MDFCRTBERTVGCis6MEUxNjgyMDBGRDkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwMUQKKzoxMDE2OTAwMDkwMjAwOUUwNTRGREYwOTA3RkM5RjAwMjEzNDM5MDIwQTAKKzoxMDE2QTAwMDEyRTA1NDNGMjBFMjNBMjBFMTBCMjBFNDBCMjBFNTE0NDUKKzoxMDE2QjAwMDYwMDkwMjEzNDMwMjE3ODcwMjEzNDM0MzgyMDRFMEY1RDMKKzoxMDE2QzAwMDNDMDIxMzQzNDM4MjA0RTA0MzJGMDEwMjEzNDM1MzgyM0QKKzoxMDE2RDAwMEY4NDM4MjA1RTA0MjM4NTM4MkZCRTA1NEZCRjAwMjEzRUEKKzoxMDE2RTAwMDQzMzBFMTAyODBFOEY1ODVFNTMyMzBFMjBBNTM4MkY4QzIKKzoxMDE2RjAwMDQzODIwNEUwNTRGRUYwRTU4NTIwRTM1NjkwMjA1MDc0QzgKKzoxMDE3MDAwMDAyRjA5MDIwNTg3NDAxRjA5MDdGRTJFMDQ0NDBGMDkwQTUKKzoxMDE3MTAwMDdGRTMwNTg2OTA3RDgwMDU4NkU1ODVGMEEzRTU4NEYwNkUKKzoxMDE3MjAwMDA1ODY5MDdGRTVFNTQxRkQwMzAzMDNGRUYwRjBGMEYwNTAKKzoxMDE3MzAwMEYwRjBGMEYwREVGNjkwN0ZFMkUwNTRCRkYwOTAyMDU4MzkKKzoxMDE3NDAwMDc0MDBGMDkwN0ZCQkVERjA5MDIwMTFFMDU0RkVGMDAyQTkKKzoxMDE3NTAwMDEzNDM3RjQwOTA3RDgwMDU4NjkwMjAxMEU1ODRGRTI0MTEKKzoxMDE3NjAwMDA1RkQ4RDg0RTA4RTg0MzBFMDA5RTAwNTg2RjBBMzA1NTgKKzoxMDE3NzAwMDg2REZFRjA1ODZDMzc0NDA5RjkwN0ZCQkYwMDU4NkEzOEMKKzoxMDE3ODAwMEUwNTRGRUYwMDIxMzQzNTMyRkZBRTUyNTYwMDg3NTI1NTcKKzoxMDE3OTAwMDAwRDJFN0ZFODAwQTkwN0ZDQkUwRkU3MDAzMDIxODIxQTIKKzoxMDE3QTAwMDkwMjA1MDc0MDJGMDkwMjA1ODc0MDFGMDkwN0ZFMkUwOTUKKzoxMDE3QjAwMDQ0NDBGMDkwN0ZFMzA1ODY5MDdENDAwNTg2RTU4NUYwMDYKKzoxMDE3QzAwMEEzRTU4NEYwMDU4NjkwN0ZFNUVFMzBFNzA4MDU4NkUwMjYKKzoxMDE3RDAwMDI0MzhGMDA1ODZFRTU0N0ZGRTU0MDdGQkVFNTQ3ODYwMDMKKzoxMDE3RTAwMDMwMDMwMzAzMzBFMzA0NzQwNzdCMDhGREZDRTBFMEUwMTIKKzoxMDE3RjAwMEUwRTBFMEUwRTBEREY2RUJGRTYwMTlFQzY0MDc3MDExN0MKKzoxMDE4MDAwMDhCMjU5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDgwNjgKKzoxMDE4MTAwMDFCRTBERUZEOTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwQTIKKzoxMDE4MjAwMEYwOTAyMDExRTA1NEZERjA5MDdGQ0JGMDAyMTM0MzkwMzQKKzoxMDE4MzAwMDIwMUFFMDU0M0YyMEUyM0EyMEUxMEIyMEU0MEIyMEU1OUYKKzoxMDE4NDAwMDE0NjAwOTAyMTM0MzAyMTkxODAyMTM0MzQzODIwNEUwOEYKKzoxMDE4NTAwMEY1M0QwMjEzNDM0MzgyMDRFMDQzMzAwMTAyMTM0MzUzMzYKKzoxMDE4NjAwMDgyRjg0MzgyMDVFMDQyMzk1MzgyRkJFMDU0RkJGMDAyRTgKKzoxMDE4NzAwMDEzNDMzMEUxMDI4MEU4RjU4NUU1MzIzMEUzMEE1MzgyMTQKKzoxMDE4ODAwMEY4NDM4MjA0RTA1NEZFRjBFNTg1MjBFMzU2OTAyMDUwQjIKKzoxMDE4OTAwMDc0MDNGMDkwMjA1ODc0MDFGMDkwN0ZFMkUwNDQ0MEYwMkYKKzoxMDE4QTAwMDkwN0ZFMzA1ODY5MDdEMDAwNTg2RTU4NUYwQTNFNTg0QkQKKzoxMDE4QjAwMEYwMDU4NjkwN0ZFNUU1NDJGRDAzMDMwM0ZFRjBGMEYwQkUKKzoxMDE4QzAwMEYwRjBGMEYwRjBERUY2OTA3RkUyRTA1NEJGRjA5MDIwMTAKKzoxMDE4RDAwMDU4NzQwMEYwOTA3RkJERURGMDkwMjAxOUUwNTRGRUYwQjgKKzoxMDE4RTAwMDAyMTM0MzdGNDA5MDdEMDAwNTg2OTAyMDE4RTU4NEZFMUEKKzoxMDE4RjAwMDI0MDVGRDhEODRFMDhFODQzMEUwMDlFMDA1ODZGMEEzQTgKKzoxMDE5MDAwMDA1ODZERkVGMDU4NkMzNzQ0MDlGOTA3RkJERjAwNTg2OTYKKzoxMDE5MTAwMEEzRTA1NEZFRjAwMjEzNDM1MzMwRkFFNTI2NjAwODc1NDUKKzoxMDE5MjAwMDI2MDBEMkU3RkU4MDBBOTA3RkNERTBGRTcwMDMwMjE5MDgKKzoxMDE5MzAwMEIyOTAyMDUwNzQwM0YwOTAyMDU4NzQwMUYwOTA3RkUyMzAKKzoxMDE5NDAwMEUwNDQ0MEYwOTA3RkUzMDU4NjkwN0NDMDA1ODZFNTg1MDUKKzoxMDE5NTAwMEYwQTNFNTg0RjAwNTg2OTA3RkU1RUUzMEU3MDgwNTg2ODQKKzoxMDE5NjAwMEUwMjQzOEYwMDU4NkVFNTQ3RkZFNTQwN0ZCRUU1NDc4RjEKKzoxMDE5NzAwMDYwMzAwMzAzMDMzMEUzMDQ3NDA3N0IwOEZERkNFMEUwMDAKKzoxMDE5ODAwMEUwRTBFMEUwRTBFMERERjZFQkZFNjAxOUVDNjQwNzcwMUIKKzoxMDE5OTAwMDExOEIyNjkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwNDUKKzoxMDE5QTAwMDgwMUJFMERFRkQ5MDdGRTJFMDU0QkZGMDkwMjA1ODc0OTEKKzoxMDE5QjAwMDAwRjA5MDIwMTlFMDU0RkRGMDkwN0ZDREYwMDIxMzQzMjkKKzowMTE5QzAwMDMyRjQKKzowNDE5QzEwMEFEMDdBQzA2QkMKKzoxMDE5QzUwMDc5MDZFRDI0MDRGNTgyRTQzQ0Y1ODNFMEZBQTNFMEZCMTcKKzoxMDE5RDUwMDRBNzAwMzAyMUIwOUU5QjQwNzAwNDAwMzAyMUFEQjkwQjEKKzoxMDE5RTUwMDE5RUJGODI4Mjg3MzAyMUFCOTAyMUE3MTAyMUE1QTAyNTkKKzoxMDE5RjUwMDFBNDAwMjFBMkYwMjFBMUEwMjFBMDA5MDdGQTVFMDQ0MTMKKzoxMDFBMDUwMDgwRjA4RDgyOEM4M0EzRTBGRjI1RTA0NEEwOTA3RkE2MjMKKzoxMDFBMTUwMEYwMTkwMjFBREIxOThEODI4QzgzRTBDMzk0MjA0MDBBRTkKKzoxMDFBMjUwMEEzQTNFMDkwN0ZBNkYwMDIxQURCOEQ4MjhDODNBM0EzOEIKKzoxMDFBMzUwMEUwQTNFMDkwN0ZBNkYwMTkwMjFBREI5MDdGQTVFMDQ0QjEKKzoxMDFBNDUwMDgwRjA4RDgyOEM4M0EzRTBGRjI1RTA0NEExOTA3RkE2RTIKKzoxMDFBNTUwMEYwMTkwMjFBREJFQjY0MDE0QTcwMDg5MDdGQTVFMDQ0OTcKKzoxMDFBNjUwMDIwRjAxOTkwN0ZBNkUwRjU1OTE5ODA2QUVEMjQwNEY1NTgKKzoxMDFBNzUwMDgyRTQzQ0Y1ODNFMEZFQTNFMDY0MDI0RTcwMDg5MDdGQUIKKzoxMDFBODUwMEE1RTA0NDIwRjAxOTkwN0ZBNkUwRkZFRDI0MDZGNTgyM0QKKzoxMDFBOTUwMEU0M0NGNTgzRTQ3NUYwMDExMkEyOTc4NUYwODJGNTgzQTUKKzoxMDFBQTUwMEVGRjBFRDI0MDRGNTgyRTQzQ0Y1ODM3NEZGRjVGMDEyQzQKKzoxMDFBQjUwMEEyODE4MDIyOTA3RkE1RTA0NDQwRjA5MDdGQTZFMEZGQzAKKzoxMDFBQzUwMEVEMjQwNkY1ODJFNDNDRjU4M0UwRkFBM0UwRjU4MjhBOEQKKzoxMDFBRDUwMDgzRUZGMDdGMDgyMjkwN0ZBNUUwRjU1OTMwRTBGNzMwREQKKzoxMDFBRTUwMEUyMDdFMDQ0NDBGMDdGMDYyMkU5RDM5NDAyNTAwMzAyNjYKKzoxMDFBRjUwMDE5QzdFNTU5MzBFMTAzMDIxOUM3OTA3RkE1RTA0NDQwQjUKKzowNjFCMDUwMEYwN0YwNzIyN0YwOEJCCis6MDExQjBCMDAyMkI3Cis6MTAxQjBDMDBFNTMzQzM5NDAxNTAxQzdGMDU3RTAwMTIwOUFFN0YwMkExCis6MTAxQjFDMDA3REZGMTI4MkVBN0YwNTdFMDAxMjA5QUU3RjAzN0RGRkY2Cis6MDQxQjJDMDAxMjgyRUEyMjE1Cis6MTA4MDAwMDA3QkZGN0ExMjc5MUI5MDAwMDQxMkEyNTRGRDhCNTA3NUVECis6MTA4MDEwMDA1MTEyNzU1MjI0RTQ5MDdGRTFGMDkwN0ZFMEYwRjU0RTJDCis6MTA4MDIwMDBGNTRGOTAwMkFFRjA5MDdGREZGMDkwN0ZERUYwOTA3RjEyCis6MTA4MDMwMDBBOTc0RkZGMDkwN0ZBQUYwRTRGQ0VDMjVFMDI0QjRGNUVECis6MTA4MDQwMDA4MkU0MzQ3RkY1ODNFNEYwMENCQzEwRUVFNDkwN0ZERDM1Cis6MTA4MDUwMDBGMEFGMDUxREVGNzAwMzAyODFDNkFCNTBBQTUxQTk1MkMzCis6MTA4MDYwMDA5MDAwMDExMkEyNTQ2NDA1NjAwMzAyODFCNTkwMDAwM0UwCis6MTA4MDcwMDAxMkEyNTQ2NDAxNjAwMzAyODEzQzkwMDAwMjEyQTI1NEQ3Cis6MTA4MDgwMDBGRjU0N0ZGQ0QzOTQwNzUwMDMwMjgxMTZFQ0MzOTQxMDc1Cis6MTA4MDkwMDA0MDAzMDI4MTE2RUYzMEU3NDJFNTRGQUU0RTc4MDJDRTQ0Cis6MTA4MEEwMDBDMzEzQ0UxM0Q4RjlGRjc0RjAyQ0Y1ODJFNDM0N0ZGNUI2Cis6MTA4MEIwMDA4M0VGRjA5MDdGRTBFMEZGRUMyNEY4RkU3NDAxQTgwNjY3Cis6MTA4MEMwMDAwODgwMDJDMzMzRDhGQzRGOTA3RkUwRjA5MDAyQUVFMDBFCis6MTA4MEQwMDAwNEYwOTA3RkRERTA0NDgwRjA4MDNFRTU0RkFFNEU3OEM2Cis6MTA4MEUwMDAwMkNFQzMxM0NFMTNEOEY5RkY3NEU4MkNGNTgyRTQzNDIyCis6MTA4MEYwMDA3RkY1ODNFRkYwOTA3RkUxRTBGRkVDMjRGOEZFNzQwMTYwCis6MTA4MTAwMDBBODA2MDg4MDAyQzMzM0Q4RkM0RjkwN0ZFMUYwOTAwMkFDCis6MTA4MTEwMDBBRUUwMDRGMDgwMDM3RkZGMjI5MDAwMDQxMkEyNTQyNUY5Cis6MTA4MTIwMDA0RkY1NEZFNDM1NEVGNTRFOTAwMDA1MTJBMjU0RkVFNDkzCis6MTA4MTMwMDAyNTRGRjU0RkVFMzU0RUY1NEUwMjgxQjhBQjUwQUE1MUEyCis6MTA4MTQwMDBBOTUyOTAwMDAzMTJBMjU0RkY2NDAyNjAwNUVGNjQwMzc5Cis6MTA4MTUwMDA3MDYwOTAwMDAyMTJBMjU0RkY1NDdGRkNEMzk0MDc1MDI5Cis6MTA4MTYwMDA0RUVGMzBFNzFFOTA3RkRFRTBGRjc0MDFBODA0MDg4MDI4Cis6MTA4MTcwMDAwMkMzMzNEOEZDRkU0RjkwN0ZERUYwOTA3RkFDRTA0RTIwCis6MTA4MTgwMDBGMDgwMzU5MDdGREZFMEZGNzQwMUE4MDQwODgwMDJDMzBGCis6MTA4MTkwMDAzM0Q4RkNGRTRGOTA3RkRGRjA5MDdGQURFMDRFRjBFQ0U3Cis6MTA4MUEwMDAyNUUwMjRDNUY1ODJFNDM0N0ZGNTgzRUNGMDgwMDk3Rjc3Cis6MTA4MUIwMDBGRjIyN0ZGRjIyN0ZGRjIyNzQwNzI1NTJGNTUyRTQzNTBDCis6MTA4MUMwMDA1MUY1NTEwMjgwNTEyMDAzMEQ5MDAyQUVFMDYwMDc5MEZFCis6MDg4MUQwMDA3RkFFRTA0NDAyRjA3RjAwRTUKKzowMTgxRDgwMDIyODQKKzowNDgxRDkwMDhFNTk4RjVBRDIKKzoxMDgxREQwMDc1NUIwM0U1NUEyNDA0RjU4MkU0MzU1OUY1ODNFMEZFMTkKKzoxMDgxRUQwMEEzRTA0RTcwMDMwMjgyRTdFNTVCNjA0RTE0NjAzODE0MjUKKzoxMDgxRkQwMDYwMjAxNDYwMDMwMjgyOEI5MDdGQTVFMDQ0ODBGMDg1OUYKKzoxMDgyMEQwMDVBODI4NTU5ODNBM0UwRkYyNUUwNDRBMDkwN0ZBNkYwMTQKKzoxMDgyMUQwMDgwNkM4NTVBODI4NTU5ODNFMEMzOTQyMDQwMDlBM0EzQkQKKzoxMDgyMkQwMEUwOTA3RkE2RjA4MDU3MTU1Qjg1NUE4Mjg1NTk4M0EzMTAKKzoxMDgyM0QwMEEzRTBBM0UwOTA3RkE2RjA4MDQ0RTU1QTI0MDZGNTgyRTIKKzoxMDgyNEQwMEU0MzU1OUY1ODNFNDc1RjAwMTEyQTI5Nzg1RjA4MkY1QjYKKzoxMDgyNUQwMDgzRTA5MDdGQTZGMDkwN0ZBNUUwNDQ0MEYwRTU1QTI0OUUKKzoxMDgyNkQwMDA0RjU4MkU0MzU1OUY1ODM3NEZGRjVGMDEyQTI4MTg1OEEKKzoxMDgyN0QwMDVBODI4NTU5ODNBM0EzRTQ3NUYwMDExMkEyODE5MDdGRTAKKzoxMDgyOEQwMEE1RTBGNTVDMzBFMEY3MzBFMjA3RTA0NDQwRjA3RjA2MTIKKzoxMDgyOUQwMDIyRTU1QzIwRTEwQTkwN0ZBNUUwNDQ0MEYwN0YwNzIyQjMKKzoxMDgyQUQwMEU1NUI3MDMxN0YwMTdFMDAxMjA5QUU5MDdGQTVFMDQ0NDEKKzoxMDgyQkQwMDgwRjA4NTVBODI4NTU5ODNBM0UwRkYyNUUwNDRBMDkwODQKKzoxMDgyQ0QwMDdGQTZGMDkwN0ZBNUUwRjU1QzMwRTBGNzMwRTFENTc1NDUKKzowQzgyREQwMDVCMDMwMjgxRTAxNTVCMDI4MUUwN0YwODdBCis6MDE4MkU5MDAyMjcyCis6MDI4MkVBMDBBRTA3REQKKzoxMDgyRUMwMDdDMDJFQzE0NjAxNTE0NzAxRTkwN0ZBNUUwNDQ4MEYwQTUKKzoxMDgyRkMwMEVFMjVFMDQ0NDA5MDdGQTZGMDgwMEM5MDdGQTZFREYwMzgKKzoxMDgzMEMwMDkwN0ZBNUUwNDQ0MEYwOTA3RkE1RTBGQjMwRTBGOEJDMDYKKzoxMDgzMUMwMDAyMEEyMEUxMDdFMDQ0NDBGMDdGMDcyMkVCMzBFMjBBM0EKKzowRTgzMkMwMDkwN0ZBNUUwNDQ0MEYwN0YwNjIyRENCNjdGMDg3QgorOjAxODMzQTAwMjIyMAorOjEwODMzQjAwQzBFMEMwODNDMDgyQzJBOTkwMDMwMDc0MTlGMEQyQTkxNworOjBGODM0QjAwNTM5MTdGOTAwMUM0RTRGMEQwODJEMDgzRDBFMDMyMTAKKzoxMDgzNUEwMEVGNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFCODJGQUY1MjQKKzoxMDgzNkEwMDgzQTNFNEYwOEI4MjhBODNBM0EzQTNFMEY1NjE3NEJGOUQKKzoxMDgzN0EwMEYwOEI4MjhBODNBM0EzRTA0NDEwRjA4QjgyOEE4M0EzQzIKKzoxMDgzOEEwMEEzQTNFNEYwOEI4MjhBODNBM0YwRjlFRDYwMUQ3NDAxNDQKKzoxMDgzOUEwMDdFMDBBODA3MDg4MDA1QzMzM0NFMzNDRUQ4RjlGRkU0QTAKKzoxMDgzQUEwMEVGNTUzMTYwMDQ3OTA5ODAwMjc5MEQ4QjgyOEE4M0EzQTMKKzoxMDgzQkEwMEEzQTM3NEJGRjA4QjgyOEE4M0EzQTNFMDU0RUZGMDhCNEMKKzoxMDgzQ0EwMDgyOEE4M0EzQTNBM0U1NjFGMEFFMDJBRjAzOEY4MjhFRjQKKzowNDgzREEwMDgzQTNFOUYwQTAKKzowMTgzREUwMDIyN0MKKzowNDgzREYwMDhGNjE4RDYyQkIKKzoxMDgzRTMwMEU0RjU2Nzc0M0YyRkY4NzYwODdGODA3RTI1N0QwMDdDNTcKKzoxMDgzRjMwMDAwQUI2NkFBNjVBOTY0QTg2M0QzMTJBM0IzNDAyNjdGMjIKKzoxMDg0MDMwMDAwN0U5NjdEMDA3QzAwQTg2M0QzMTJBM0IzNTAwQzc1NDUKKzoxMDg0MTMwMDY3NDA3NDNGMjU2MUY4NzYxMDgwMEE3NTY3ODA3NDNGNjIKKzoxMDg0MjMwMDI1NjFGODc2MzhFNTY3NDU2MjQ0MDFGRkU1NjE3NUYwM0IKKzowRDg0MzMwMDA4QTQyNDAyRjU4MkU0MzQyMEY1ODNFRkYwNjQKKzowMTg0NDAwMDIyMTkKKzoxMDg0NDEwMDhGODI4RTgzRTAxNEY1NTdDMzk0MDQ0MDAzN0ZGRjIyOEIKKzoxMDg0NTEwMEU1NTc3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUY4MkY1RDUKKzoxMDg0NjEwMDU4OEY1OUU1NTcyNUUwMjRDNkY1ODJFNDM0N0ZGNTgzMUEKKzoxMDg0NzEwMEUwMjBFMTBGRTU1NzI1RTAyNEM3RjU4MkU0MzQ3RkY1REMKKzoxMDg0ODEwMDgzRTRGMDc0MjMyNTU3RjhFNEY2RTU1OTI0MDRGNTgyRDIKKzoxMDg0OTEwMEU0MzU1OEY1ODNFMDQ0MDNGMEU1NTc3NUYwMERBNDI0NjUKKzoxMDg0QTEwMDAyRjU4MkU0MzQwM0Y1ODNFMEZDQTNFMEZEQTNFMEZFRTIKKzoxMDg0QjEwMEEzRTBGNTY2OEU2NThENjQ4QzYzN0QwNkFGNTcxMjgzRUMKKzoxMDg0QzEwMERGQUY1NzdEMDExMjgzNUE4NTU5ODI4NTU4ODNBM0EzNTMKKzoxMDg0RDEwMEUwMjBFMDQzRTBGRkU1NTkyNDA1RjU4MkU0MzU1OEY1NTUKKzoxMDg0RTEwMDgzRTBFNTU5MjQwNkY1ODJFNDM1NThGNTgzRTBGRkU1OUMKKzoxMDg0RjEwMDU3NzVGMDBEQTQyNDAyRjU4MkU0MzQwM0Y1ODNFMEZDMDIKKzoxMDg1MDEwMEEzRTBGREEzRTBGRUEzRTBGNTY2OEU2NThENjQ4QzYzQjgKKzoxMDg1MTEwMDdEMDZBRjU3MTI4M0RGNzRGODI1NTdGNTgyRTQzNDAyRTQKKzoxMDg1MjEwMEY1ODNFNEYwRTU1NzI1RTBGRkMzNzQwQzlGNzVGMDQwMzcKKzoxMDg1MzEwMEE0MjQ0MEY1ODJFNUYwMzQ3QkFGODJGRUU1NTcyNUUwQzcKKzoxMDg1NDEwMDI0RUZGNTgyRTQzNDAyRjU4M0VFRjBBM0VGRjBBRjU3QTgKKzowRjg1NTEwMDc0MDFBODA3MDg4MDAyQzMzM0Q4RkM0MjM0N0YwMEFFCis6MDE4NTYwMDAyMkY4Cis6MTA4NTYxMDA4RjgyOEU4M0UwMTRGNTU3QzM5NDA0NDAwMzdGRkYyMjZBCis6MTA4NTcxMDBBRjU3RTRGRDEyODM1QTc0RjgyNTU3RjU4MkU0MzQwMkFCCis6MTA4NTgxMDBGNTgzRTRGMEU1NTc3NUYwMDhBNDI0MDBGNTgyRTQzNDlFCis6MTA4NTkxMDAyMEFGODJGNTU5OEY1QUY1ODNFNTgyMjQwNEY1ODJFNEYwCis6MTA4NUExMDAzNTgzRjU4M0UwNTRGQ0YwRTU1Nzc1RjAwREE0MjQwQ0Y4Cis6MTA4NUIxMDBGNTgyRTQzNDAzRjU4M0U0RjBFNTU3NzVGMDBEQTQyNDY2Cis6MTA4NUMxMDAwMkY1ODJFNDM0MDNGNTgzRTBGQ0EzRTBGREEzRTBGRUMxCis6MTA4NUQxMDBBM0UwRjU2NjhFNjU4RDY0OEM2MzdEMDZBRjU3MTI4M0NCCis6MTA4NUUxMDBERkU1NUEyNDA1RjU4MkU0MzU1OUY1ODNFMDMwRTAwOUU5Cis6MTA4NUYxMDA4NTVBODI4NTU5ODNFMEY1NThBRjU3NzQwMUE4MDcwODU5Cis6MTA4NjAxMDA4MDAyQzMzM0Q4RkNGNDUyMzRFNTU3MjVFMDI0QzZGNTgzCis6MTA4NjExMDA4MkU0MzQ3RkY1ODNFMDIwRTEwRkU1NTcyNUUwMjRDN0FDCis6MEI4NjIxMDBGNTgyRTQzNDdGRjU4M0U0RjA3RjAwNzUKKzowMTg2MkMwMDIyMkIKKzowNDg2MkQwMDhFNTc4RjU4N0QKKzoxMDg2MzEwMDhGODI4RTgzRTAxNEY1NTlDMzk0MDQ0MDAzN0ZGRjIyOTcKKzoxMDg2NDEwMEU1NTk3NUYwMDhBNDI0MDFGNTgyRTQzNDIwRjU4M0UwQUUKKzoxMDg2NTEwMDU0MDM3MDY2ODU1ODgyODU1NzgzQTNFMDMwRTAyOEU1OEUKKzoxMDg2NjEwMDU5NzVGMDBEQTQyNDAyRjU4MkU0MzQwM0Y1ODNFMEZDOEUKKzoxMDg2NzEwMEEzRTBGREEzRTBGRUEzRTBGNTY2OEU2NThENjQ4QzYzNDcKKzoxMDg2ODEwMDdEMDJBRjU5MTI4M0RGODU1ODgyODU1NzgzQTNFMDMwN0QKKzoxMDg2OTEwMEUxMjhFNTU5NzVGMDBEQTQyNDAyRjU4MkU0MzQwM0Y1Q0YKKzoxMDg2QTEwMDgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGNTY2OEU2NThEMEIKKzowQzg2QjEwMDY0OEM2MzdEMDRBRjU5MTI4M0RGN0YwMEVFCis6MDE4NkJEMDAyMjlBCis6MTA4NkJFMDA4RjgyOEU4M0MwODNDMDgyRTBGREEzQTNBM0UwRkNFRDc2Cis6MTA4NkNFMDA2Q0QwODJEMDgzRjA4RjgyOEU4M0EzQTNBM0MwODNDMDhECis6MTA4NkRFMDA4MkUwRkQ4RjgyOEU4M0UwRkNFRDZDRDA4MkQwODNGMDQxCis6MTA4NkVFMDA4RjgyOEU4M0MwODNDMDgyQTNBM0EzRTBGREVDNkREMEU2Cis6MTA4NkZFMDA4MkQwODNGMDhGODI4RTgzQTNDMDgzQzA4MkUwRkQ4RkYxCis6MTA4NzBFMDA4MjhFODNBM0EzRTBGQ0VENkNEMDgyRDA4M0YwOEY4MkE3Cis6MTA4NzFFMDA4RTgzQTNBM0MwODNDMDgyRTBGRDhGODI4RTgzQTNFMEVECis6MTA4NzJFMDBGQ0VENkNEMDgyRDA4M0YwOEY4MjhFODNBM0MwODNDMDg5Cis6MTA4NzNFMDA4MkUwRkQ4RjgyOEU4M0EzQTNFMEZGRUQ2RkQwODJEMDA3Cis6MDM4NzRFMDA4M0YwMjI5MworOjA0ODc1MTAwQUQwN0FDMDZCRQorOjEwODc1NTAwNzkwRDhEODI4QzgzRTAxNEZFQzM5NDA0NDAwMzdGRkY2MgorOjEwODc2NTAwMjI4QzU3OEQ1OEVFNzVGMDBEQTQyNDAxRjU4MkU0MzQ2MgorOjEwODc3NTAwMDNBRjgyRkVBRDAxMTlFRDYwMjQwRkVGQUMwNjcwMDE2OQorOjEwODc4NTAwMEUxNEY1ODI4QzgzRTBGRDA1NThFNTU4QUE1NzcwMDI1MgorOjEwODc5NTAwMDU1NzE0RjU4MjhBODNFMDZENjBEOTdGMDEyMjdGMDAzOQorOjAxODdBNTAwMjJCMQorOjA0ODdBNjAwOEU1NzhGNTgwMworOjEwODdBQTAwOEY4MjhFODNFMDE0RjU1RUMzOTQwNDQwMDM3RkZGMjIxOAorOjEwODdCQTAwRTU1RTc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRjgyRjU2MgorOjEwODdDQTAwNUY4RjYwODU1ODgyODU1NzgzQTNFMEZDQTNFMEZEQTNGMQorOjEwODdEQTAwRTBGRUEzRTBGRjdCMDg3QTAwNzkwMDc4MDBEMzEyQTNCOQorOjEwODdFQTAwQjM0MDEwODU1ODgyODU1NzgzQTMxMkEzRkEwMDAwMDA2QworOjEwODdGQTAwMDg4MDJFODU1ODgyODU1NzgzQTNFMEZDQTNFMEZEQTM1OQorOjEwODgwQTAwRTBGRUEzRTBGRjdCMDA3QTA4NzkwNzc4MDBDMzEyQTM5MQorOjEwODgxQTAwQjM1MDBFODU1ODgyODU1NzgzQTMxMkEzRkEwMDA3MDgxRQorOjEwODgyQTAwMDA4NTU4ODI4NTU3ODNBM0UwRjhBM0UwRjlBM0UwRkEwQworOjEwODgzQTAwQTNFMEZCN0YwMDdFNTA3RDQ2N0MwMDEyQTMyMThGNUM2MworOjEwODg0QTAwOEU1QjhENUE4QzU5N0IwQTdBMDA3OTAwNzgwMDEyQTNDNAorOjEwODg1QTAwMjFBRjAzOEY1REFGNUNBRTVCQUQ1QUFDNTk3QjBBN0EzMAorOjEwODg2QTAwMDA3OTAwNzgwMDEyQTMyMThGNUM4RTVCOEQ1QThDNTk5NworOjEwODg3QTAwRTU1REMzOTQwNTQwMTVFNTVDMjQwMUY1NUNFNDM1NUJEMAorOjEwODg4QTAwRjU1QkU0MzU1QUY1NUFFNDM1NTlGNTU5ODU2MDgyODUyMAorOjEwODg5QTAwNUY4M0EzRTRGMDg1NjA4Mjg1NUY4M0EzQTNBM0UwNDQ5QQorOjEwODhBQTAwODBGMDg1NjA4Mjg1NUY4M0U1NUNGMEFGNUNBRTVCQUQ4RQorOjEwODhCQTAwNUFBQzU5NzgwODEyQTNDNDg1NjA4Mjg1NUY4M0EzRUZGNgorOjEwODhDQTAwRjA4NTYwODI4NTVGODNBM0EzQTNFMDU0N0ZGMEU0RjU3QgorOjEwODhEQTAwNURFNTU4MjQwQkY1ODJFNDM1NTdGNTgzRTBGRjMwRTA3NworOjEwODhFQTAwMjM1NDAxRjBFNTYwMjQwNEY1ODJFNDM1NUZGNTgzRTA2MgorOjEwODhGQTAwNTRGREYwQUY1RTc0MDFBODA3MDg4MDAyQzMzM0Q4RkNBOAorOjEwODkwQTAwNDIyMjgwMzY3NDAxN0UwMEE4NUUwODgwMDVDMzMzQ0VGOQorOjEwODkxQTAwMzNDRUQ4RjlGRkU0RUY1NTIyNjAxRkU1NjAyNDA0RjU1MQorOjEwODkyQTAwODJFNDM1NUZGNTgzRTA0NDAyRjBBRjVFNzQwMUE4MDc4NAorOjEwODkzQTAwMDg4MDAyQzMzM0Q4RkNGNDUyMjJFNTU4MjQwOEY1ODI5MQorOjEwODk0QTAwRTQzNTU3RjU4M0UwRkZCNDYyMDU0MzVEMEE4MDFBRUYwOAorOjEwODk1QTAwQjQ3MjA1NDM1RDA4ODAxMUVGQjQ3NDA1NDM1RDAyODA2QgorOjEwODk2QTAwMDhFRjY0NkU2MDAzN0ZGRjIyRTU1ODI0MEJGNTgyRTQ2QQorOjEwODk3QTAwMzU1N0Y1ODNFMEZGMzBFMzAzNDM1RDgwRUYzMEU3MTJCQworOjEwODk4QTAwNDM1RDQwRTU2MDI0MDRGNTgyRTQzNTVGRjU4M0UwNDQwNQorOjEwODk5QTAwMDJGMEU1NTgyNDBCRjU4MkU0MzU1N0Y1ODNFMDMwRTExRgorOjEwODlBQTAwMjBBRjVFNzQwMUE4MDcwODgwMDJDMzMzRDhGQzQyMzJBNAorOjEwODlCQTAwRTU2MDI0MDRGNTgyRTQzNTVGRjU4M0UwNDQwMUYwODA0NAorOjEwODlDQTAwMTBBRjVFNzQwMUE4MDcwODgwMDJDMzMzRDhGQ0Y0NTJDMgorOjEwODlEQTAwMzJFNTU4MjQwQkY1ODJFNDM1NTdGNTgzRTBGRjMwRTQ5RAorOjEwODlFQTAwMTFBRTVFNzQwMUE4MDYwODgwMDJDMzMzRDhGQzQyMzE3NgorOjEwODlGQTAwODAxMEFFNUU3NDAxQTgwNjA4ODAwMkMzMzNEOEZDRjQ2NgorOjEwOEEwQTAwNTIzMUVGMjBFMTAzMzBFNDAzRTRGNTVEODU2MDgyODVBRAorOjEwOEExQTAwNUY4M0EzQTNBMzc0QkZGMDg1NjA4Mjg1NUY4M0EzQTM0QQorOjEwOEEyQTAwRTRGMEU1NURGMEU1NTgyNDBBRjU4MkU0MzU1N0Y1ODM2QworOjEwOEEzQTAwRTBGRkU1NjAyNDA0RjU4MkU0MzU1RkY1ODNFRkYwRTVCNQorOjEwOEE0QTAwNTgyNDBBRjU4MkU0MzU1N0Y1ODNFMEZGRTU2MDI0MDVFQQorOjEwOEE1QTAwRjU4MkU0MzU1RkY1ODNFRkYwRTU1ODI0MDlGNTgyRTQwMQorOjEwOEE2QTAwMzU1N0Y1ODNFMEZGRTU2MDI0MDZGNTgyRTQzNTVGRjVDNgorOjEwOEE3QTAwODNFRkYwRTU1ODI0MDlGNTgyRTQzNTU3RjU4M0UwRkZFMgorOjEwOEE4QTAwRTU2MDI0MDdGNTgyRTQzNTVGRjU4M0VGRjA4NTYwODJCRgorOjEwOEE5QTAwODU1RjgzQTNBM0EzRTRGMDg1NjA4Mjg1NUY4M0EzQTM5NAorOjEwOEFBQTAwRjA4NTU4ODI4NTU3ODNBM0UwRkNBM0UwRkRBM0UwRkU4RQorOjEwOEFCQTAwQTNFMEY1NjY4RTY1OEQ2NDhDNjM3RDA2QUY1RTEyODNENgorOjEwOEFDQTAwREY3NTVEMDhFNTU4MjQwQ0Y1ODJFNDM1NTdGNTgzRTAzNworOjEwOEFEQTAwNjAwMzQzNUQxMEU1NjAyNDA0RjU4MkU0MzU1RkY1ODNBNQorOjEwOEFFQTAwRTA1NDAzNDU1REYwRTU1ODI0MDVGNTgyRTQzNTU3RjU3MQorOjEwOEFGQTAwODNFMEZFQzM5NDA1NDAwNkVFRDM5NDA4NDAwMzdGRkY0QgorOjEwOEIwQTAwMjJFNTU4MjQwNkY1ODJFNDM1NTdGNTgzRTBGREMzOTQzRgorOjEwOEIxQTAwMDE0MDA2RUREMzk0MDI0MDAzN0ZGRjIyRUQxNEZGMjVBNgorOjEwOEIyQTAwRTAyNUUwRkZFRTI0RkI0RkY1NURFNTU4MjQwN0Y1ODJDQQorOjEwOEIzQTAwRTQzNTU3RjU4M0UwMjREMDYwMTgxNDYwMUEyNEMzNjAyMgorOjEwOEI0QTAwMUUxNDYwMDkyNDBBNzAxNDQzNUQxODgwMTI0MzVEMDhEQworOjEwOEI1QTAwODAwRDQzNUQzODgwMDg0MzVEMjg4MDAzN0ZGRjIyODVBRQorOjEwOEI2QTAwNjA4Mjg1NUY4M0EzQTNBM0U1NURGMDc0MDE3RTAwQThGQworOjEwOEI3QTAwNUUwODgwMDVDMzMzQ0UzM0NFRDhGOUZGRTRFRjU1MzQwRgorOjEwOEI4QTAwNjAwN0FGNUU3RDAxMTI4MzVBQUE1N0E5NTg3QjAxQzBCQworOjEwOEI5QTAwMDNDMDAxRTU1RTc1RjAwREE0MjQwMUY5NzQwMzM1RjBGNAorOjEwOEJBQTAwQTgwMUZDQUQwM0QwMDFEMDAzN0UwMDdGMEQxMkEyMTJGMgorOjAyOEJCQTAwN0YwMDNBCis6MDE4QkJDMDAyMjk2Cis6MTA4QkJEMDA4RjgyOEU4M0UwMTRGRUMzOTQwNDQwMDM3RkZGMjJFRTY4Cis6MTA4QkNEMDA3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUQ4MkZDOTAwMUY4Cis6MTA4QkREMDAyQzc0MDhGMEVFMDRBM0YwRTRBM0YwOEQ4MjhDODNFNUYxCis6MTA4QkVEMDA4MjI0MDZGNTgyRTQzNTgzRjU4M0UwOTAwMTJGRjA4RDI0Cis6MTA4QkZEMDA4MjhDODNFNTgyMjQwNUY1ODJFNDM1ODNGNTgzRTA1NDg4Cis6MTA4QzBEMDAxRTkwMDEzMEYwNzQyRDJFRjhFNkEzRjBBRjA2NzQwMTFFCis6MTA4QzFEMDBBODA3MDg4MDAyQzMzM0Q4RkNGNTU3RTUzM0MzOTQwMTg4Cis6MTA4QzJEMDA0MDBEOTAyMDc4RTA1NDBGNzU1ODAwRjU1OTgwMDk3RjVDCis6MTA4QzNEMDAwMjEyMTEyNzhFNTg4RjU5QzNFNTU4NjQ4MDk0ODA0MEQ1Cis6MTA4QzREMDBEQUU1NTc1NTU5OTAwMTMyRjA3RTAxN0YyQzdEMDcxMkUwCis6MDQ4QzVEMDA5MTZBN0YwMDk5Cis6MDE4QzYxMDAyMkYwCis6MTA4QzYyMDA4RjgyOEU4M0UwMTRGRUMzOTQwNDQwMDM3RkZGMjJFRUMyCis6MTA4QzcyMDA3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUY4MkZFOTAwMTRFCis6MTA4QzgyMDAzMzc0MEFGMDhGODI4RTgzRTU4MjI0MDRGNTgyRTQzNTAwCis6MTA4QzkyMDA4M0Y1ODNFMDkwMDEzNEYwN0UwMTdGMzM3RDAyMTI5MUVGCis6MDM4Q0EyMDA2QTdGMDBFNgorOjAxOENBNTAwMjJBQworOjA0OENBNjAwOEU1NzhGNThGRQorOjEwOENBQTAwOEY4MjhFODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyRUU3QQorOjEwOENCQTAwNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFEODJGQzg1NThCRQorOjEwOENDQTAwODI4NTU3ODNBM0UwNjAwRkVEMjQwNEY1ODJFNDNDRjUyNgorOjEwOENEQTAwODNFMDQ0MDJGMDgwNDNFRTc1RjAwREE0MjQwQ0Y1ODI4MworOjEwOENFQTAwRTQzNDAzRjU4M0UwMzBFMDIwRUUyNUUwMjRDNkY1ODI4MworOjEwOENGQTAwRTQzNDdGRjU4M0UwMzBFMUYwN0Y2MEVEMjQwNUY1ODIwRQorOjEwOEQwQTAwRTQzQ0Y1ODNFMDVGQjUwN0YyQUUwNEFGMDVFRjI0MDQ1NworOjBDOEQxQTAwRjU4MkU0M0VGNTgzRTA1NEZERjA3RjAwOUMKKzowMThEMjYwMDIyMkEKKzowNDhEMjcwMEFEMDdBQzA2RTIKKzoxMDhEMkIwMDhEODI4QzgzRTAxNEZFQzM5NDA0NDAwMzdGRkYyMkVFRkMKKzoxMDhEM0IwMDc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRjgyRkU4RDgyMDYKKzoxMDhENEIwMDhDODNBM0UwNjAwRkVGMjQwNEY1ODJFNDNFRjU4M0UwMEYKKzoxMDhENUIwMDQ0MDFGMDgwMERFRjI0MDRGNTgyRTQzRUY1ODNFMDU0RUEKKzowNDhENkIwMEZFRjA3RjAwOTcKKzowMThENkYwMDIyRTEKKzowNDhENzAwMEFEMDdBQzA2OTkKKzoxMDhENzQwMDhEODI4QzgzRTAxNEZFQzM5NDA0NDAwMzdGRkYyMkVFQjMKKzoxMDhEODQwMDc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRjgyRkU4RDgyQkQKKzoxMDhEOTQwMDhDODNBM0UwNjAwRDhGODI4RTgzQTNBM0EzRTA0NDQwNjEKKzoxMDhEQTQwMEYwODAwQjhGODI4RTgzQTNBM0EzRTA1NEJGRjA3RjAwRDcKKzowMThEQjQwMDIyOUMKKzoxMDhEQjUwMDhGODI4RTgzRTAxNEZFQzM5NDA0NDAwMzdGRkYyMkFGQUQKKzoxMDhEQzUwMDA2NzQwMUE4MDcwODgwMDJDMzMzRDhGQzQyM0U3RjAwMjEKKzowMThERDUwMDIyN0IKKzowNDhERDYwMDhFNTc4RjU4Q0QKKzoxMDhEREEwMDhGODI4RTgzQTNFMEY1NUM4RjgyOEU4M0UwRjU1OUQzNzAKKzoxMDhERUEwMDk0MDQ0MDAzN0ZGRjIyRTU1OTI0RkU2MDE2MTQ2MDFGOTUKKzoxMDhERkEwMDE0NjAyODI0MDM3MDJFN0U3RTdGODA3NTVBN0U3NTVCRjAKKzoxMDhFMEEwMDgwODAyMjdFN0U3RjAwNzU1QTdFNzU1QjAwODAxNjdFOEEKKzoxMDhFMUEwMDdEN0Y4MDc1NUE3RDc1NUI4MDgwMEE3RTdEN0YwMDc1QjcKKzoxMDhFMkEwMDVBN0Q3NTVCMDBFNTVDNzAxQjg1NUI4Mjg1NUE4Mzc0OEQKKzoxMDhFM0EwMEZGRjBFNTU5MjVFMDI0QjVGNTgyRTQzNDdGRjU4Mzc0MjMKKzoxMDhFNEEwMDAxRjA4MDQ4RTU1ODI0MDJGRkU0MzU1N0ZFRTU1QzYwRUUKKzoxMDhFNUEwMDIzMEZFRkFDMDY3MDAxMEUxNEY1ODI4QzgzRTBGRDA1M0EKKzoxMDhFNkEwMDVCRTU1QkFBNUE3MDAyMDU1QTE0RjU4MjhBODNFREYwMTMKKzoxMDhFN0EwMDE1NUM4MEQ5ODU1ODgyODU1NzgzQTNFMEZGRTU1OTI1N0IKKzowRThFOEEwMEUwMjRCNUY1ODJFNDM0N0ZGNTgzRUZGMDdGMDAzRAorOjAxOEU5ODAwMjJCNworOjEwOEU5OTAwRUYyNDA1RjU1OEU0M0VGNTU3OTAwMTM1NzQwN0YwOTAzNQorOjEwOEVBOTAwMDE3QTc0MDFGMEEzNzQzNkYwODU1ODgyODU1NzgzQTMzQgorOjEwOEVCOTAwQTNBM0UwRkVBM0UwOEU1OUY1NUE4NTU4ODI4NTU3ODMwRQorOjEwOEVDOTAwRTAyNDlFNjA2MTI0Rjk2MDBFMjRGMTcwMDMwMjhGN0ExOAorOjEwOEVEOTAwMjQxNDYwMDMwMjhGQzg4NTU4ODI4NTU3ODNBM0UwRkU1NgorOjEwOEVFOTAwQTNFMEZGQzNFNDlGRjU1Qzc0MDE5RUY1NUJEM0U1NUNFOQorOjEwOEVGOTAwOTQzRkU1NUI5NDAwNDAwNjc1NUIwMDc1NUMzRkQzRTVFNAorOjEwOEYwOTAwNUE5NTVDRTU1OTk1NUI1MDAzMDI4RkNCQUU1QkFGNUMxQworOjEwOEYxOTAwODU1ODgyODU1NzgzQTNBM0EzRUVGMEZFQTNFRkYwOEVCNQorOjEwOEYyOTAwNTlGNTVBMDI4RkNCODU1ODgyODU1NzgzQTNFMEZFQTM1MgorOjEwOEYzOTAwRTBGRkMzNzQzMDlGRjU1Q0U0OUVGNTVCRDNFNTVDOTQ3OAorOjEwOEY0OTAwMTBFNTVCOTQwMDQwMDY3NTVCMDA3NTVDMTBEM0U1NUEyQgorOjEwOEY1OTAwOTU1Q0U1NTk5NTVCNDA2QUFFNUJBRjVDODU1ODgyODU0NworOjEwOEY2OTAwNTc4M0EzQTNBM0VFRjBGRUEzRUZGMDhFNTlGNTVBODAyMQorOjEwOEY3OTAwNTE4NTU4ODI4NTU3ODNBM0UwRkVBM0UwRkZDM0U0OUY5MAorOjEwOEY4OTAwRjU1Q0U0OUVGNTVCNDU1QzYwMEJEM0U1NUM5NDNGRTVERAorOjEwOEY5OTAwNUI5NDAwNDAwNjc1NUIwMDc1NUMzRkQzRTU1QTk1NUNCMAorOjEwOEZBOTAwRTU1OTk1NUI0MDFDQUU1QkFGNUM4NTU4ODI4NTU3ODM1QworOjEwOEZCOTAwQTNBM0EzRUVGMEZFQTNFRkYwOEU1OUY1NUE4MDAzN0YyOQorOjEwOEZDOTAwMDEyMjg1NTg4Mjg1NTc4M0UwMjQ5RTcwMDMwMjkwOEI4NQorOjEwOEZEOTAwMjRGOTYwNTgyNEYxNzAwMzAyOTBEQjI0MTQ2MDAzMDIyMQorOjEwOEZFOTAwOTExRjg1NTg4Mjg1NTc4M0EzRTBGRUEzRTBGRkQzOTRBMAorOjEwOEZGOTAwRkZFRTk0MDA0MDAzMDI5MTFGOTAwMTc1RUZGMEU1NUFDRQorOjEwOTAwOTAwMTU1QUFFNTk3MDAyMTU1OTRFNzAwMzAyOTExRjkwMDFGRAorOjEwOTAxOTAwNzVFMEZGMDRGMEE4MDdFNkZGOTAwMTdBRTQ3NUYwMDExNgorOjEwOTAyOTAwMTJBMjk3ODVGMDgyRjU4M0VGRjA4MEQyODU1ODgyODU2OAorOjEwOTAzOTAwNTc4M0EzRTBGRUEzRTBGRkMzOTQ4MEVFOTQwMDUwMDM5RQorOjEwOTA0OTAwMDI5MTFGRDNFRjk0RkZFRTk0MDA0MDAzMDI5MTFGOTAwOQorOjEwOTA1OTAwMDE3NkVGRjBFNTVBMTU1QUFFNTk3MDAyMTU1OTRFNzA1RQorOjEwOTA2OTAwMDMwMjkxMUY5MDAxNzZFMEZGMDRGMEE4MDdFNkZGOTA0NAorOjEwOTA3OTAwMDE3QUU0NzVGMDAxMTJBMjk3ODVGMDgyRjU4M0VGRjA4OQorOjEwOTA4OTAwODBEMjg1NTg4Mjg1NTc4M0EzRTBGRUEzRTBGRkMzOTQ2RAorOjEwOTA5OTAwMjBFRTk0MDA1MDAzMDI5MTFGRDNFRjk0MkZFRTk0MDAxOQorOjEwOTBBOTAwNTA3NDkwMDE3N0VGRjBFNTVBMTU1QUFFNTk3MDAyMTVEMAorOjEwOTBCOTAwNTk0RTYwNjI5MDAxNzdFMEZGMDRGMEE4MDdFNkZGOTAzRgorOjEwOTBDOTAwMDE3QUU0NzVGMDAxMTJBMjk3ODVGMDgyRjU4M0VGRjAzOQorOjEwOTBEOTAwODBENTg1NTg4Mjg1NTc4M0EzRTBGRkEzRTA5MDAxNzg2NgorOjEwOTBFOTAwQ0ZGMEEzRUZGMEU1NUExNTVBQUU1OTcwMDIxNTU5NEU1MworOjEwOTBGOTAwNjAyNDkwMDE3OEU0NzVGMDAxMTJBMjk3ODVGMDgyRjU1OQorOjEwOTEwOTAwODNFMEZGOTAwMTdBRTQ3NUYwMDExMkEyOTc4NUYwODI1RAorOjEwOTExOTAwRjU4M0VGRjA4MENGN0UwMTdGMzU4NTU4ODI4NTU3ODNBRgorOjBEOTEyOTAwQTNBM0EzRTBBM0UwMDRGRDEyOTE2QTdGMDA2MAorOjAxOTEzNjAwMjIxNgorOjEwOTEzNzAwOEU2MjhGNjM4QzY0OEQ2NUFGMDMxQkVGNjAyNDA1NjNCQworOjEwOTE0NzAwRTU2M0FFNjI3MDAyMDU2MjE0RjU4MjhFODNFMEZGMDU2NworOjEwOTE1NzAwNjVFNTY1QUM2NDcwMDIwNTY0MTRGNTgyOEM4M0VGRjBGNQorOjAzOTE2NzAwODBENjIyOEQKKzowNjkxNkEwMDhENURBQjA3QUEwNkIzCis6MTA5MTcwMDA3NTYxNDA3NTYwMEQ3NTVGMDM3NTVFMDA5MDdGQzJFMDlDCis6MTA5MTgwMDAyMEUxRjlBRjYxQUU2MEFENUZBQzVFRUM0RDRFNEY3MDZCCis6MTA5MTkwMDAwODkwN0ZDMjc0MDJGMDgwRDc5MDdGQzJFMDIwRTExNjcxCis6MTA5MUEwMDBBRjAzQUUwMjdDN0I3RDgwQUI1RDEyOTEzNzkwN0ZDM0I1Cis6MDg5MUIwMDBFNTVERjA3RjAxMjI3RjAwNjQKKzowMTkxQjgwMDIyOTQKKzoxMDkxQjkwMDkwMDE4NDc0MEJGMEEzRTUzM0YwOTAwQUY1RTQ5MzkwRTEKKzoxMDkxQzkwMDAxODZGMDkwMEFGNkU0OTM5MDAxODdGMEU0OTAwMTdDMUYKKzoxMDkxRDkwMEYwQTNGMEEzRjBBM0YwQTNGMEEzNzQxMEYwQTM3NDAxMUIKKzoxMDkxRTkwMEYwQTM3NDg4RjA3RTAxN0Y3QzEyMTlDMTdFMDE3Rjg0MEYKKzowNzkxRjkwMDdEMTQxMjkxNkE3RjAwNTIKKzowMTkyMDAwMDIyNEIKKzoxMDkyMDEwMDdFN0I3RjQwNzU0RTdCNzU0RjQwOTA3RkQzRTBGRjg1MUQKKzoxMDkyMTEwMDRFNTE4NTRGNTJFNTUyMjQwMUY1NTZFNDM1NTFGNTU1MkQKKzoxMDkyMjEwMEU0RjU1MDg1NTI4Mjg1NTE4M0UwRkUxNEI0MEMwMDUwNjAKKzoxMDkyMzEwMDVCOTA5MjM5RjgyODI4NzMwMjkyNUQwMjkyNUQwMjkyNDYKKzoxMDkyNDEwMDY3MDI5MjcxMDI5MjcxMDI5MjcxMDI5Mjg1MDI5MjVEOUQKKzoxMDkyNTEwMDAyOTI3QjAyOTI1RDAyOTI4RDAyOTI1REVGNjQwMjYwNDYKKzoxMDkyNjEwMDJCNzU1MEZGODAyNkVGNjQwRTYwMjE3NTUwRkY4MDFDMjYKKzoxMDkyNzEwMEVGNjQwMzYwMTc3NTUwRkY4MDEyRUY2NDAzNjAwRDc1OTIKKzoxMDkyODEwMDUwRkY4MDA4RUY2NDA2NjAwMzc1NTBGRkU1NTA2MDE1REMKKzoxMDkyOTEwMDkwMDE5ODc0MTFGMEEzRUVGMDdFMDE3Rjk4N0QwMjEyODcKKzoxMDkyQTEwMDkxNkFBRjUwMjJFNEY1NTA4NTUyODI4NTUxODNFMDE0RDIKKzoxMDkyQjEwMEI0MEYwMDQwMDMwMjkzQ0Y5MDkyQzBGODI4Mjg3MzAyQTQKKzoxMDkyQzEwMDkyRUQwMjkyRjkwMjkzMDUwMjkzNTMwMjkzNUUwMjkzODcKKzoxMDkyRDEwMDY5MDI5Mzc0MDI5MzdGMDI5MzhBMDI5Mzk1MDI5M0EwODkKKzoxMDkyRTEwMDAyOTNBNzAyOTNDRjAyOTNCMjAyOTNCREFGNTZBRTU1M0MKKzoxMDkyRjEwMDEyODQ0MThGNTAwMjkzRDJBRjU2QUU1NTEyODU2MThGQzEKKzoxMDkzMDEwMDUwMDI5M0QyODU1NTUzODU1NjU0RTU1NDI0MDFGRkU0MDgKKzoxMDkzMTEwMDM1NTNGRTEyODZCRUFGNTRBRTUzMTI4NzUxOEY1MEVGQjQKKzoxMDkzMjEwMDY0MDE2MDAzMDI5M0QyQUY1NEFFNTMxMjg3QTY4RjUwRUIKKzoxMDkzMzEwMEU1NTA3MDAzMDI5M0QyODU1NDgyODU1MzgzRTA3NUYwMjIKKzoxMDkzNDEwMDBEQTQyNEY0RjU4MkU0MzQwMkFGODJGRTEyODdBNjAyNTIKKzoxMDkzNTEwMDkzRDJBRjU2QUU1NTEyOENBNjhGNTA4MDc0QUY1NkFFRDUKKzoxMDkzNjEwMDU1MTI4RDI3OEY1MDgwNjlBRjU2QUU1NTEyOEQ3MDhGNzMKKzoxMDkzNzEwMDUwODA1RUFGNEZBRTRFMTI4RTk5OEY1MDgwNTNBRjU2RDQKKzoxMDkzODEwMEFFNTUxMjhCQkQ4RjUwODA0OEFGNTZBRTU1MTI4NjJEMEIKKzoxMDkzOTEwMDhGNTA4MDNEQUY1NkFFNTUxMjhDNjI4RjUwODAzMjEyODUKKzoxMDkzQTEwMDkxQjk4RjUwODAyQkFGNTZBRTU1MTI4REI1OEY1MDgwMkQKKzoxMDkzQjEwMDIwQUY1NkFFNTUxMjhERDY4RjUwODAxNUFGNEZBRTRFQTEKKzoxMDkzQzEwMDdDMDI3REFGN0I0MDEyOTEzN0U0RjU1MDgwMDM3NTUwRUMKKzoxMDkzRDEwMEZGRTU1MDYwMUQ5MDAxOTg3NDExRjA4NTUyODI4NTUxMEUKKzoxMDkzRTEwMDgzRTA5MDAxOTlGMDdFMDE3Rjk4N0QwMjEyOTE2QUFGMkUKKzoxMDkzRjEwMDUwMjI4NTUyODI4NTUxODNFMEZGMTQyNEZBNTAwNDI0QkYKKzoxMDk0MDEwMEZFNzAxRjkwMDE5ODc0MTBGMEEzRUZGMDg1NTY4Mjg1Q0QKKzoxMDk0MTEwMDU1ODNFMDkwMDE5QUYwN0UwMTdGOTg3RDAzMTI5MTZBNTUKKzowNDk0MjEwMDhGNTBBRjUwNjkKKzowMTk0MjUwMDIyMjQKKzowODk0MjYwMDhGNTE4RTUwOEQ0RjhDNEVDQQorOjEwOTQyRTAwNzU1ODAxNzU1OTlDRTRGNTU3QUY1MzE1NTNFRjcwMDNGQQorOjEwOTQzRTAwMDI5NEM0QUY1MkU0RkNGREZFRjhGOUZBQUIwN0FGNTE0QgorOjEwOTQ0RTAwQUU1MEFENEZBQzRFMTJBMzIxQUYwMzhGNTZBRjUxQUVGRgorOjEwOTQ1RTAwNTBBRDRGQUM0RUMwMDRDMDA1QzAwNkMwMDdBRjUyRTRCRAorOjEwOTQ2RTAwRkNGREZFRjhGOUZBQUIwN0QwMDdEMDA2RDAwNUQwMDQwNAorOjEwOTQ3RTAwMTJBMzIxOEY1MThFNTA4RDRGOEM0RUU1NTYyNDMwRjUxMAorOjEwOTQ4RTAwNTZEMzk0Mzk0MDA2NzQwNzI1NTZGNTU2MDU1OUU1NTlCNQorOjEwOTQ5RTAwQUU1ODcwMDIwNTU4MTRGNTgyOEU4M0U0RjAwNTU5RTUzNgorOjEwOTRBRTAwNTlBRTU4NzAwMjA1NTgxNEY1ODI4RTgzRTU1NkYwMDVCNAorOjEwOTRCRTAwNTcwNTU3MDI5NDM3RTU1OTE1NTk3MDAyMTU1OEFGNTc4RAorOjEwOTRDRTAwMTU1N0VGNjAyM0U1NTkxNTU5QUU1ODcwMDIxNTU4RjUyQQorOjEwOTRERTAwODI4RTgzRTBGRjA1NTVFNTU1QUM1NDcwMDIwNTU0MTQ5OQorOjA4OTRFRTAwRjU4MjhDODNFRkYwODBENkJCCis6MDE5NEY2MDAyMjUzCis6MTA5NEY3MDBFNDkwMDFDOUYwN0UwMTdGQ0E5MDAxQkVFRUYwQTNFRkIwCis6MEE5NTA3MDBGMDkwMDFDMkVFRjBBM0VGRjAyMjk1Cis6MTA5NTExMDBBQTA3QTkwNTkwMDFDOUUwQzM5NDQwNTA2MUFDMDI3NDQ3Cis6MTA5NTIxMDAwMTdFMDBBODA0MDg4MDA1QzMzM0NFMzNDRUQ4RjlGRkVECis6MTA5NTMxMDBFNEVGNTUzNDYwNDVFQTA0RkY5MDAxQzJFMEZDQTNFMDhBCis6MTA5NTQxMDBGREY1ODI4QzgzRUZGMEEzRTlGMDhEODI4QzgzQTNBM0Q4Cis6MTA5NTUxMDBFQkYwOTAwMUMyRTQ3NUYwMDMxMkEyODFGQ0QzRTVGMEI3Cis6MTA5NTYxMDA5NDg3RUM5NDAyNDAwQTkwMDFDMjc0MDFGMEEzNzRDQTdBCis6MTA5NTcxMDBGMEMyQUY5MDAxQzlFMDA0RjBEMkFGN0YwMTIyN0YwMEI5Cis6MDE5NTgxMDAyMkM3Cis6MTA5NTgyMDA5MDAxQzlFMEQzOTQwMDQwNTU5MDAxQkVFMEZDQTNFMEY1Cis6MTA5NTkyMDBBQTA0Rjk3QjAxQzAwM0MwMDJDMDAxQUEwNkE5MDdBODU4Cis6MTA5NUEyMDAwMUFDMDJBRDAzRDAwMUQwMDJEMDAzN0UwMDdGMDMxMkQyCis6MTA5NUIyMDBBMjEyOTAwMUJFRTQ3NUYwMDMxMkEyODFGQ0QzRTVGMDgxCis6MTA5NUMyMDA5NDg3RUM5NDAyNDAwQTkwMDFCRTc0MDFGMEEzNzRDQTFECis6MTA5NUQyMDBGMEMyQUY5MDAxQzlFMDE0RjBEMkFGN0YwMTIyN0YwMDQ4Cis6MDE5NUUyMDAyMjY2Cis6MTA5NUUzMDA5MDdGQzJFMDIwRTE3MzdFN0I3RjgwNzU1MzdCNzU1NDRGCis6MTA5NUYzMDA4MEU1NTQyNDAxRkZFNDM1NTNBOTA3N0IwMThCNTVGNTFFCis6MTA5NjAzMDA1Njg5NTdGRTEyOTU4MkVGNjA1MEFCNTVBQTU2QTk1NzVCCis6MTA5NjEzMDAxMkEyM0IxNEZGOTAwMDAxMTJBMjU0QjQwMjE2QzJBRjZGCis6MTA5NjIzMDBFRjc1RjAwOEE0MjQwMUY1ODJFNDM0MjBGNTgzRTA0NEM3Cis6MTA5NjMzMDAwNEYwRDJBRjc0MDE3RTAwQTgwNzA4ODAwNUMzMzNDRUJGCis6MTA5NjQzMDAzM0NFRDhGOUZGRTRFRjU1MzQ2MDBGODU1NDgyODU1MzQ4Cis6MEE5NjUzMDA4Mzc0MERGMDkwN0ZDMzc0MDRGMERGCis6MDE5NjVEMDAyMkVBCis6MTA5NjVFMDAxMjk1RTNFNEY1NEU3NDNBMjU0RUY4RTY1NEYwRjU0RkM0Cis6MTA5NjZFMDA3NEM1MjU0RUY1ODJFNDM0MDFGNTgzRTA2NTRGRkZDNEUxCis6MTA5NjdFMDA1NDBGRjU1MDYwMjI3NEM1MjU0RUY1ODJFNDM0MDFGNTgxCis6MTA5NjhFMDA4M0U1NEZGMEFGNEU3RDAxRTU0RjQ1NTBGQjEyOTUxMTJFCis6MTA5NjlFMDBFRjcwMDUxMjk1RTM4MEVDMDU0RUU1NEVDMzk0MDQ0MDQxCis6MTA5NkFFMDBCNTEyOTVFM0U1M0U2MDQ4RTRGNTRFQUY0RTc0MDFBODYxCis6MTA5NkJFMDAwNzA4ODAwMkMzMzNEOEZDRjU0RjU1M0U2MDI5RTU0RUFFCis6MTA5NkNFMDA3NUYwMDhBNDI0MDVGNTgyRTQzNDIwRjU4M0UwMzBFNjM1Cis6MTA5NkRFMDAxNkFGNEU3RDA0N0I4MDEyOTUxMUVGNzAwNTEyOTVFMzQ3Cis6MTA5NkVFMDA4MEVGRTU0RkY0NTIzRTA1NEVFNTRFQzM5NDA0NDBCQjY5Cis6MTA5NkZFMDA5MDAzMDBFMDYwMDMwMjk3REY3NDE5RjBFNTMzQzM5NDIyCis6MTA5NzBFMDAwMTQwMEQ5MDIwNzhFMDU0MEY3NTUxMDBGNTUyODAwOUZDCis6MTA5NzFFMDA3RjAyMTIxMTI3OEU1MThGNTJDM0U1NTE2NDgwOTQ4MEJGCis6MTA5NzJFMDA0MERBOTAwMUJDRTA2NTUyRjA2MDM3RTRGNTRFQUY0RTgyCis6MTA5NzNFMDA3NDAxQTgwNzA4ODAwMkMzMzNEOEZDRjU0RjkwMDFCQzEyCis6MTA5NzRFMDBFMDU1NEY2MDE0QUY0RTdEMDhFNTRGNTU1MkZCMTI5NTE0Cis6MTA5NzVFMDAxMUVGNzAwNTEyOTVFMzgwRUMwNTRFRTU0RUMzOTQwNEFGCis6MTA5NzZFMDA0MENDOTAwMUJDRTU1MkYwRTRGNTRFQzJBRjc0MzYyNTA0Cis6MTA5NzdFMDA0RUY4RTZGNTRGRTRGNkQyQUY1MzRGMUVFNTRGNjAxMUFCCis6MTA5NzhFMDBBRjRFN0QwMkFCNEYxMjk1MTFFRjcwMDUxMjk1RTM4MDJGCis6MTA5NzlFMDBFRjc0MkQyNTRFRjhFNkY1NEY3NEZDMjU0RUY1ODJFNDU4Cis6MTA5N0FFMDAzNDAyRjU4M0UwNjU0RjYwMTFBRjRFN0QwNEFCNEYxMjZFCis6MTA5N0JFMDA5NTExRUY3MDA1MTI5NUUzODBFRjc0RkMyNTRFRjU4MjNFCis6MTA5N0NFMDBFNDM0MDJGNTgzRTU0RkYwMDU0RUU1NEVDMzk0MDQ0MEI0Cis6MDQ5N0RFMDA5QTEyOTVFMzYzCis6MDE5N0UyMDAyMjY0Cis6MEM5N0UzMDA3ODdGRTRGNkQ4RkQ3NTgxNjcwMjk4MkFCMworOjEwOTdFRjAwMDIwNUFERTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjJERQorOjEwOTdGRjAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzM3QgorOjEwOTgwRjAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REY0OQorOjEwOTgxRjAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwOTg2RkU0N0VEMgorOjEwOTgyRjAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTMzRQorOjEwOTgzRjAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTMwNQorOjEwOTg0RjAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0EzMAorOjEwOTg1RjAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVFOAorOjEwOTg2RjAwNjAyNDAyOEEwMTAyMDQwODEwMjA0MDgwODE4Mjg0ODhDQgorOjEwOTg3RjAwOTBBMEMwQzFDMkM0QzhEMEUwRTFFMkU0RThGMEYxRjJDOAorOjA4OTg4RjAwRjRGOEY5RkFGQ0ZERkVGRkZDCis6MDE5ODk3MDAwMEQwCis6MDg5ODk4MDA4QjU5OEE1QTg5NUI4RDVDMzMKKzoxMDk4QTAwMEU0RjU1REY1NUVBRjVDMTU1Q0VGNjAzNkFCNTkwNTVCQ0EKKzoxMDk4QjAwMEU1NUJBQTVBNzAwMjA1NUExNEY5MTJBMjNCRkZFNTVENTYKKzoxMDk4QzAwMEU1NUU2RjI1RTBGRkU0MzNGRTc0OTUyRkY1ODJFRTM0RkMKKzoxMDk4RDAwMDlFRjU4M0U1NURGRkU0OTNGNTVENzQwMTkzNkZGNTVFOUUKKzowNjk4RTAwMDgwQzNBRTVEQUY1RTI3Cis6MDE5OEU2MDAyMjVGCis6MEI5OEU3MDBDMEUwQzA4M0MwODJDMEQwNzVEMDE4NjQKKzoxMDk4RjIwMDkwMjA2MEUwNTQwRkZFMzBFMDA1OTAyMDAyRTBGRkVFODEKKzoxMDk5MDIwMDMwRTEwNTkwMjAwQUUwRkZFRTMwRTIwNTkwMjAxMkUwRkYKKzoxMDk5MTIwMEZGRUUzMEUzMDU5MDIwMUFFMEZGOTAwMUM0RTBCNTFFOEYKKzowQTk5MjIwMDA0RTRGMDgwMDU5MDAxQzRFRUYwQUIKKzowOTk5MkMwMEQwRDBEMDgyRDA4M0QwRTAzMjBCCis6MDI5OTM1MDBBOTAzODQKKzoxMDk5MzcwMEVGNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFCODJGQUU1NDEKKzoxMDk5NDcwMDVDNDU1REY1NUVFOTYwMTQ4QTgzRTU4MjI0MDRGNTgyNEYKKzoxMDk5NTcwMEU0MzU4M0Y1ODNFMDRERjBFNEZFODAxM0VCMjQwNEY1NTIKKzoxMDk5NjcwMDgyRTQzQUY1ODNFMEZGRURGNEZDRUY1Q0YwQUU1RUVCRUEKKzoxMDk5NzcwMDI0MDZGNTgyRTQzQUY1ODNFMDU1NUVGQ0I1MDYwM0FGQUQKKzoxMDk5ODcwMDA1MjJFNTVDNUNGRUU1NUQ1Q0ZERTk2MDE2RUU3MDA0QjIKKzoxMDk5OTcwMDdGMDE4MDAyN0YwMEFFMDdFRDcwMDQ3RjAxODAwMjdGQTgKKzoxMDk5QTcwMDAwQUQwN0VFNjAwM0FGNUMyMkVENjAwM0FGNUQyMjdGODEKKzowMTk5QjcwMDAwQUYKKzowMTk5QjgwMDIyOEMKKzoxMDk5QjkwMDc1NTUwMjc1NTZCMDkwMDMzNTc0MEZGMDg1NTY4Mjg1M0EKKzoxMDk5QzkwMDU1ODNBM0UwRkY5MDAzMzdGMDg1NTY4Mjg1NTU4M0UwRTAKKzoxMDk5RDkwMDkwMDMzNkYwOTAwMzM4NzRGRkYwNzU1NzAzNzU1ODM5QzIKKzoxMDk5RTkwMEVGMTRCNDBCMDA0MDAzMDI5RTVEOTA5OUZBRjgyODI4MDEKKzoxMDk5RjkwMDczMDI5QTFCMDI5QUJBMDI5QkJGMDI5QkRFMDI5QkRFOEMKKzoxMDlBMDkwMDAyOUM5NDAyOUNDRjAyOUNGNDAyOURCMjAyOURFMjAyNDgKKzoxMDlBMTkwMDlFMEVFNEY1NEVFNTRFNzVGMDA4QTQyNDAwRjU4MkU0QTcKKzoxMDlBMjkwMDM0MjBBRjgyRjU1MzhGNTRFNEZGRTRGRUVGNjAxMDc0RTUKKzoxMDlBMzkwMDhBMkVGNTgyRTQzNDAyRjU4M0UwRjRGNTRGODAwRDc0NDMKKzoxMDlBNDkwMDhBMkVGNTgyRTQzNDAyRjU4M0UwRjU0RkU1NTQyNDA3QzQKKzoxMDlBNTkwMEY1ODJFNDM1NTNGNTgzRTU0RkYwRTBGNTUwNjU0RjYwNDUKKzoxMDlBNjkwMDM4RTQ5MDAzMzhGMEU1NEUwNEZEMDU1OEU1NThBQTU3NDcKKzoxMDlBNzkwMDcwMDIwNTU3MTRGNTgyOEE4M0VERjAwNTU4RTU1OEFDNTQKKzoxMDlBODkwMDU3NzAwMjA1NTcxNEY1ODI4QzgzRTU0RkYwODU1ODgyOEIKKzoxMDlBOTkwMDg1NTc4M0U1NTBGMDAyOUU2MzBFQkUyNDhGMEZFRjY0NTUKKzoxMDlBQTkwMDAyNzA4NzA1NEVFNTRFNjQwNDYwMDMwMjlBMUUwMjlFMDkKKzoxMDlBQjkwMDYzRTRGNTRFQUY0RUU0RkQxMjgzNUEwNTRFRTU0RUQzRUQKKzoxMDlBQzkwMDk0MDM0MEYwOTAwMDA0NzQ5OEYwQTM3NEU3RjBFNEY1NkYKKzoxMDlBRDkwMDUwN0UyMDdGMDA3NTUzMjA3NTU0MDBGNTRFQUY0RTc0QUIKKzoxMDlBRTkwMDAxQTgwNzA4ODAwMkMzMzNEOEZDRjU0RjkwMDFDNEYwRTAKKzoxMDlBRjkwMDkwMDFDMEU0RjBBMzc0MEFGMDg1NTQ4Mjg1NTM4M0EzQ0UKKzoxMDlCMDkwMDc0MDJGMDkwMDFDNEUwQjU0RjM0OTAwMUMwRTA3MDAyRDYKKzoxMDlCMTkwMEEzRTA3MEVGOTAwMzM4RjBFNTRFMDRGRjA1NThFNTU4Q0YKKzoxMDlCMjkwMEFDNTc3MDAyMDU1NzE0RjU4MjhDODNFRkYwODU1ODgyODMKKzoxMDlCMzkwMDg1NTc4Mzc0RkZGMEU0OTAwMUM0RjA3NTUwRkY5MDAxREMKKzoxMDlCNDkwMEM0RTBGRjYwMzdFNDkwMDMzOEYwRTU0RTA0RkUwNTU4QTEKKzoxMDlCNTkwMEU1NThBQzU3NzAwMjA1NTcxNEY1ODI4QzgzRUVGMDA1NzEKKzoxMDlCNjkwMDU4RTU1OEFDNTc3MDAyMDU1NzE0RjU4MjhDODNFRkYwMEQKKzoxMDlCNzkwMDg1NTg4Mjg1NTc4M0U1NEZGMDc1NTBGRkU1NTA3MDE2N0IKKzoxMDlCODkwMDc0MDgyNTU0RjU1NEU0MzU1M0Y1NTMwNTRFRTU0RTY0RjAKKzoxMDlCOTkwMDA0NjAwMzAyOUFFNkU0RjU0RUFGNEU3RDAxMTI4MzVBNDIKKzoxMDlCQTkwMDA1NEVFNTRFRDM5NDAzNDBGMDkwMDAwNDc0MTNGMEEzREUKKzoxMDlCQjkwMDc0MTJGMDAyOUU2Mzg1NTY4Mjg1NTU4M0UwMTRGRjc0MDIKKzoxMDlCQzkwMDAxQTgwNzA4ODAwMkMzMzNEOEZDOTAwMkY3RjA5MDAxN0UKKzoxMDlCRDkwMEM0RjAwMjlFNjM5MDAxQzA3NDAzRjBBMzc0RThGMEU0M0EKKzoxMDlCRTkwMEY1NTA5MDAyRjdFMEZGOTAwMUM0RTBCNTA3MTk5MDAxMjQKKzoxMDlCRjkwMEMwRTA3MDAyQTNFMDcwRUE5MDAzMzhGMDg1NTg4Mjg1Q0UKKzoxMDlDMDkwMDU3ODM3NEZGRjBGNTUwRTU1MDYwMDMwMjlFNjM5MDAxOUQKKzoxMDlDMTkwMEMwRjBBMzc0OTZGMDkwMDFDMEUwNzAwMkEzRTA3MEY2NjIKKzoxMDlDMjkwMEU1MzNDMzk0MDE0MDBEOTAyMDc4RTA1NDBGNzU1MTAwM0QKKzoxMDlDMzkwMEY1NTI4MDA5N0YwMjEyMTEyNzhFNTE4RjUyQzNFNTUxQzcKKzoxMDlDNDkwMDY0ODA5NDgwNDBEQUU1NTI1NDBGRjU1MDkwMDJGN0UwQjEKKzoxMDlDNTkwMDU1NTA3MDA0N0YwMTgwMDI3RjAwOEY0Rjg1NTY4Mjg1QTEKKzoxMDlDNjkwMDU1ODNBM0UwQjQwNTBDRTU0RjcwMDQ3RjAxODAwMjdGQTIKKzoxMDlDNzkwMDAwOEY0RkU1NEY3MDAzMDI5RTYzRTQ5MDAzMzhGMDg1MkYKKzoxMDlDODkwMDU4ODI4NTU3ODNFNTUwRjAwMjlFNjNFNEZGRkQxMjgzRjUKKzoxMDlDOTkwMDVBN0UyMDdGMDA3NTUzMjA3NTU0MDA4NTU0ODI4NTUzNjAKKzoxMDlDQTkwMDgzQTNBM0EzRTA0NDgwRjA4NTU0ODI4NTUzODM3NDAxODAKKzoxMDlDQjkwMEYwQTNFNEYwODU1NDgyODU1MzgzQTNBM0EzRTA1NDdGRTIKKzoxMDlDQzkwMEYwRDIwNDAyOUU2M0MyMDQ3RTIwN0YwMDc1NTMyMDc1ODIKKzoxMDlDRDkwMDU0MDBFNTU0MjQwNUY1ODJFNDM1NTNGNTgzRTAzMEU2NzQKKzoxMDlDRTkwMEYxRTRGRjdEMDExMjgzNUEwMjlFNjNFNEY1NTBGNTRFQkIKKzoxMDlDRjkwMEFGNEVFNEZEMTI4MzVBRTU0RTc1RjAwOEE0MjQwMEY1MzEKKzoxMDlEMDkwMDgyRTQzNDIwQUY4MkY1NTM4RjU0RjU4M0U1ODIyNDA0MkQKKzoxMDlEMTkwMEY1ODJFNDM1ODNGNTgzRTA1NEZDRjBBRjRFN0QwMTdCOTkKKzoxMDlEMjkwMDAxNzU1QzgwNzU1RDQwMTI5OTM1OEY1MEU1NTA3MDExNTEKKzoxMDlEMzkwMEFGNEU3RDAyN0IwMTc1NUMxMDc1NUQyMDEyOTkzNThGRTAKKzoxMDlENDkwMDUwRTU1MDcwMTBBRjRFN0QwMUZCNzU1QzgwNzU1RDQwMkMKKzoxMDlENTkwMDEyOTkzNThGNTBFNTUwNzAxMEFGNEU3RDAyRkI3NTVDM0UKKzoxMDlENjkwMDEwNzU1RDIwMTI5OTM1OEY1MEFGNEU3RDAxMTI4MzVBQkYKKzoxMDlENzkwMEU1NTA2MDI2RTQ5MDAzMzhGMEU1NEUwNEZGMDU1OEU1MDgKKzoxMDlEODkwMDU4QUM1NzcwMDIwNTU3MTRGNTgyOEM4M0VGRjA4NTU4NEIKKzoxMDlEOTkwMDgyODU1NzgzRTU1MEYwMDI5RTYzMDU0RUU1NEVEMzk0QzQKKzoxMDlEQTkwMDAzNTAwMzAyOUNGOTAyOUU2M0U0OTAwMzU5RjBBM0YwNjcKKzoxMDlEQjkwMEEzRjBBM0YwQTNGMEEzNzQxMEYwQTM3NDlFRjBBMzc0MEUKKzoxMDlEQzkwMDg1RjA3RTAzN0Y1OTEyODFEOUVGNjQwODcwMDMwMjlFRTIKKzoxMDlERDkwMDYzRTQ5MDAzMzhGMDAyOUU2M0U0OTAwMzU5RjBBM0YwMjIKKzoxMDlERTkwMEEzRjBBM0YwQTNGMEEzNzQxMEYwQTNFNTU3RjBBM0U1NDMKKzoxMDlERjkwMDU4RjA3RTAzN0Y1OTEyMTlDMUVGNjQwODYwNUNFNDkwNDIKKzoxMDlFMDkwMDAzMzhGMDgwNTVFNTU2MjQwMkZGRTQzNTU1RkFBOTA3RDEKKzoxMDlFMTkwMDdCMDE3RDEwMTI5ODk4RUY0RTcwMzI5MDAzNTlGMEEzOTAKKzoxMDlFMjkwMEYwQTNGMEEzRjBBM0YwQTM3NDEwRjBFNTU2MjQwMjkwNzgKKzoxMDlFMzkwMDAzNjBGMEU0MzU1NTkwMDM1RkYwN0UwMzdGNTkxMjgxOEEKKzoxMDlFNDkwMEQ5RUY2NDA4NjAxNEU0OTAwMzM4RjA4MDBERTQ5MDAzQkUKKzoxMDlFNTkwMDM4RjA4MDA2OTAwMzM4NzQwMUYwOTAwMUMwRTRGMEEzNTMKKzoxMDlFNjkwMDc0MEFGMDkwMDFDMEUwNzAwMkEzRTA3MEY2N0UwMzdGRUYKKzowQjlFNzkwMDM1N0QyNDEyOTE2QUU0OTAwMkFGRjBFNgorOjAxOUU4NDAwMjJCQgorOjEwOUU4NTAwRkZGRUZDRjhGMEUwQzA4MDAwMDEwMzA3MEYxRjNGN0ZENQorOjEwOUU5NTAwMDAwMEMwQzFDMTgxMDE0MEMzMDEwM0MwMDI4MEMyNDFBRAorOjEwOUVBNTAwQzYwMTA2QzAwNzgwQzc0MTA1MDBDNUMxQzQ4MTA0NDA3RAorOjEwOUVCNTAwQ0MwMTBDQzAwRDgwQ0Q0MTBGMDBDRkMxQ0U4MTBFNDAyRAorOjEwOUVDNTAwMEEwMENBQzFDQjgxMEI0MEM5MDEwOUMwMDg4MEM4NDEzRAorOjEwOUVENTAwRDgwMTE4QzAxOTgwRDk0MTFCMDBEQkMxREE4MTFBNDBBRAorOjEwOUVFNTAwMUUwMERFQzFERjgxMUY0MEREMDExREMwMUM4MERDNDE3RAorOjEwOUVGNTAwMTQwMEQ0QzFENTgxMTU0MEQ3MDExN0MwMTY4MEQ2NDFBRAorOjEwOUYwNTAwRDIwMTEyQzAxMzgwRDM0MTExMDBEMUMxRDA4MTEwNDBCQworOjEwOUYxNTAwRjAwMTMwQzAzMTgwRjE0MTMzMDBGM0MxRjI4MTMyNDBBQworOjEwOUYyNTAwMzYwMEY2QzFGNzgxMzc0MEY1MDEzNUMwMzQ4MEY0NDE3QworOjEwOUYzNTAwM0MwMEZDQzFGRDgxM0Q0MEZGMDEzRkMwM0U4MEZFNDEyQworOjEwOUY0NTAwRkEwMTNBQzAzQjgwRkI0MTM5MDBGOUMxRjg4MTM4NDAzQworOjEwOUY1NTAwMjgwMEU4QzFFOTgxMjk0MEVCMDEyQkMwMkE4MEVBNDFBQworOjEwOUY2NTAwRUUwMTJFQzAyRjgwRUY0MTJEMDBFREMxRUM4MTJDNDA3QworOjEwOUY3NTAwRTQwMTI0QzAyNTgwRTU0MTI3MDBFN0MxRTY4MTI2NDBBQworOjEwOUY4NTAwMjIwMEUyQzFFMzgxMjM0MEUxMDEyMUMwMjA4MEUwNDFCQworOjEwOUY5NTAwQTAwMTYwQzA2MTgwQTE0MTYzMDBBM0MxQTI4MTYyNDBBQworOjEwOUZBNTAwNjYwMEE2QzFBNzgxNjc0MEE1MDE2NUMwNjQ4MEE0NDE3QworOjEwOUZCNTAwNkMwMEFDQzFBRDgxNkQ0MEFGMDE2RkMwNkU4MEFFNDEyQworOjEwOUZDNTAwQUEwMTZBQzA2QjgwQUI0MTY5MDBBOUMxQTg4MTY4NDAzQworOjEwOUZENTAwNzgwMEI4QzFCOTgxNzk0MEJCMDE3QkMwN0E4MEJBNDFBQworOjEwOUZFNTAwQkUwMTdFQzA3RjgwQkY0MTdEMDBCREMxQkM4MTdDNDA3QworOjEwOUZGNTAwQjQwMTc0QzA3NTgwQjU0MTc3MDBCN0MxQjY4MTc2NDBBQworOjEwQTAwNTAwNzIwMEIyQzFCMzgxNzM0MEIxMDE3MUMwNzA4MEIwNDFCQgorOjEwQTAxNTAwNTAwMDkwQzE5MTgxNTE0MDkzMDE1M0MwNTI4MDkyNDFBQgorOjEwQTAyNTAwOTYwMTU2QzA1NzgwOTc0MTU1MDA5NUMxOTQ4MTU0NDA3QgorOjEwQTAzNTAwOUMwMTVDQzA1RDgwOUQ0MTVGMDA5RkMxOUU4MTVFNDAyQgorOjEwQTA0NTAwNUEwMDlBQzE5QjgxNUI0MDk5MDE1OUMwNTg4MDk4NDEzQgorOjEwQTA1NTAwODgwMTQ4QzA0OTgwODk0MTRCMDA4QkMxOEE4MTRBNDBBQgorOjEwQTA2NTAwNEUwMDhFQzE4RjgxNEY0MDhEMDE0REMwNEM4MDhDNDE3QgorOjEwQTA3NTAwNDQwMDg0QzE4NTgxNDU0MDg3MDE0N0MwNDY4MDg2NDFBQgorOjEwQTA4NTAwODIwMTQyQzA0MzgwODM0MTQxMDA4MUMxODA4MTQwNDBCQgorOjEwQTA5NTAwRTRGRjc0RjgyRkY1ODJFNDM0MDJGNTgzRTA3MDAzMDJERgorOjEwQTBBNTAwQTEzODc0M0EyRkY4RTYyMEU1MDMwMkExMzhFRjc1RjBFMAorOjEwQTBCNTAwMDhBNDI0MDBGNTgyRTQzNDIwQUQ4MkZDRjU4M0U1ODIxMgorOjEwQTBDNTAwMjQwNUY1ODJFNDM1ODNGNTgzRTA1NDYwNjQ2MDcwNjNBQworOjEwQTBENTAwRUYyNUUwMjRFRkY1ODJFNDM0MDJGNTgzRTQ3NUYwMDEyMQorOjEwQTBFNTAwMTJBMjk3ODVGMDgyRjU4M0UwOEQ4MjhDODNGMDc0Rjg1NworOjEwQTBGNTAwMkZGNTgyRTQzNDAyRjU4M0UwMTRGMDcwMzZFRjI1RTBBNQorOjEwQTEwNTAwMjRDN0Y1ODJFNDM0N0ZGNTgzRTRGMEVGMjVFMEZFQzM1MAorOjEwQTExNTAwNzQwQzlFNzVGMDQwQTQyNDQwRjU4MkU1RjAzNDdCQURDNworOjEwQTEyNTAwODJGQ0VGMjVFMDI0RUZGNTgyRTQzNDAyRjU4M0VDRjBDMAorOjBDQTEzNTAwQTNFREYwMEZFRjY0MDQ2MDAzMDJBMDk3OUMKKzowMUExNDEwMDIyRkIKKzoxMEExNDIwMEU3MDlGNjA4REZGQTgwNDZFNzA5RjIwOERGRkE4MDNFRkYKKzoxMEExNTIwMDg4ODI4QzgzRTcwOUYwQTNERkZBODAzMkUzMDlGNjA4RUMKKzoxMEExNjIwMERGRkE4MDc4RTMwOUYyMDhERkZBODA3MDg4ODI4QzgzNTQKKzoxMEExNzIwMEUzMDlGMEEzREZGQTgwNjQ4OTgyOEE4M0UwQTNGNjA4MDgKKzoxMEExODIwMERGRkE4MDU4ODk4MjhBODNFMEEzRjIwOERGRkE4MDRDRTIKKzoxMEExOTIwMDgwRDI4MEZBODBDNjgwRDQ4MDY5ODBGMjgwMzM4MDEwQjkKKzoxMEExQTIwMDgwQTY4MEVBODA5QTgwQTg4MERBODBFMjgwQ0E4MDMzMjIKKzoxMEExQjIwMDg5ODI4QTgzRUNGQUU0OTNBM0M4QzU4MkM4Q0NDNTgzOUEKKzoxMEExQzIwMENDRjBBM0M4QzU4MkM4Q0NDNTgzQ0NERkU5REVFNzgwNkEKKzoxMEExRDIwMDBEODk4MjhBODNFNDkzQTNGNjA4REZGOUVDRkFBOUYwRTkKKzoxMEExRTIwMEVERkIyMjg5ODI4QTgzRUNGQUUwQTNDOEM1ODJDOENDM0YKKzoxMEExRjIwMEM1ODNDQ0YwQTNDOEM1ODJDOENDQzU4M0NDREZFQURFNTgKKzoxMEEyMDIwMEU4ODBEQjg5ODI4QTgzRTQ5M0EzRjIwOERGRjk4MENDQjkKKzoxMEEyMTIwMDg4RjBFRDI0MDJCNDA0MDA1MEMyRjU4MkVCMjQwMkI0QUIKKzoxMEEyMjIwMDA0MDA1MEI4MjMyMzQ1ODJGNTgyRUY0RTYwQUVFRjYwMDIKKzowOUEyMzIwMDAxMEVFNTgyMjM5MEExOTI3MzU0Cis6MTBBMjNCMDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMjIxCis6MDlBMjRCMDBFMzIyODk4MjhBODNFNDkzMjI1NAorOjEwQTI1NDAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTBCRgorOjEwQTI2NDAwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjIwOQorOjBEQTI3NDAwRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjIyMworOjEwQTI4MTAwQzVGMEY4QTNFMDI4RjBDNUYwRjhFNTgyMTU4MjcwMDI2OAorOjA2QTI5MTAwMTU4M0UwMzhGMDIyMDUKKzoxMEEyOTcwMEEzRjhFMEM1RjAyNUYwRjBFNTgyMTU4MjcwMDIxNTgzN0EKKzowNkEyQTcwMEUwQzgzOEYwRTgyMkQ3Cis6MTBBMkFEMDBCQjAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMEVGCis6MTBBMkJEMDBBM0UwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRUNDCis6MTBBMkNEMDAwQUU5MjU4MkY4RTJGNUYwMDhFMjIyRTU4MzJBRjU4MzEyCis6MDhBMkREMDBFOTkzRjVGMEEzRTk5MzIyRDcKKzoxMEEyRTUwMDc1RjAwODc1ODIwMEVGMkZGRkVFMzNGRUNEMzNDRENDMzAKKzoxMEEyRjUwMDMzQ0NDNTgyMzNDNTgyOUJFRDlBRUM5OUU1ODI5ODQwQjMKKzoxMEEzMDUwMDBDRjU4MkVFOUJGRUVEOUFGREVDOTlGQzBGRDVGMEQ2OEYKKzoxMEEzMTUwMEU0Q0VGQkU0Q0RGQUU0Q0NGOUE4ODIyMkI4MDBDMUI5QjkKKzoxMEEzMjUwMDAwNTlCQTAwMkRFQzhCRjA4NENGQ0VDREZDRTVGMENCRjcKKzoxMEEzMzUwMEY5NzgxOEVGMkZGRkVFMzNGRUVEMzNGREVDMzNGQ0VCMzAKKzoxMEEzNDUwMDMzRkIxMEQ3MDM5OTQwMDRFQjk5RkIwRkQ4RTVFNEY5RUIKKzoxMEEzNTUwMEZBMjI3ODE4RUYyRkZGRUUzM0ZFRUQzM0ZERUMzM0ZDRDgKKzoxMEEzNjUwMEM5MzNDOTEwRDcwNTlCRTk5QTQwMDdFQzlCRkNFOTlBQ0MKKzoxMEEzNzUwMEY5MEZEOEUwRTRDOUZBRTRDQ0ZCMjI3NUYwMTBFRjJGMTEKKzoxMEEzODUwMEZGRUUzM0ZFRUQzM0ZEQ0MzM0NDQzgzM0M4MTBENzA3MTEKKzoxMEEzOTUwMDlCRUM5QUU4OTk0MDBBRUQ5QkZERUM5QUZDRTg5OUY4NEMKKzowRUEzQTUwMDBGRDVGMERBRTRDREZCRTRDQ0ZBRTRDOEY5MjJERgorOjEwQTNCMzAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjAwMAorOjAxQTNDMzAwMjI3NworOjEwQTNDNDAwRTg2MDBGRUNDMzEzRkNFRDEzRkRFRTEzRkVFRjEzRkY3NworOjAzQTNENDAwRDhGMTIyOUIKKzoxMEEzRDcwMDA4MDgwOEU2Q0YyRkY2MThFNkNFM0VGNjE4RTZDRDNEN0MKKzowN0EzRTcwMEY2MThFNkNDM0NGNjIyNUIKKzowQ0EzRUUwMEVDRjBBM0VERjBBM0VFRjBBM0VGRjAyMkUyCis6MTBBM0ZBMDBBODgyODU4M0YwRDA4M0QwODIxMkE0MTExMkE0MTExMkVDCis6MTBBNDBBMDBBNDExMTJBNDExRTQ3M0U0OTNBM0M1ODNDNUYwQzU4MzEwCis6MTBBNDFBMDBDOEM1ODJDOEYwQTNDNTgzQzVGMEM1ODNDOEM1ODJDOEFDCis6MDFBNDJBMDAyMjBGCis6MDAwMDAwMDFGRgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogICAgICB3aGl0ZWhlYXQuaCAgLS0gIENvbm5lY3RUZWNoIFdoaXRlSEVBVCBGaXJtd2FyZS4KKyAqCisgKiAgICAgIENvcHlyaWdodCAoQykgMjAwMC0yMDAyICBDb25uZWN0VGVjaCBJbmMgKGh0dHA6Ly93d3cuY29ubmVjdHRlY2guY29tLykKKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogICAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICAgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICAgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogICAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICAgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICAgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICAgICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICogKDEwLzA5LzIwMDIpIFN0dWFydCBNYWNEb25hbGQKKyAqCUZpcm13YXJlIDQuMDYKKyAqCisgKiAoMDQvMDkvMjAwMCkgZ2toCisgKglVcGRhdGVkIHRoZSBmaXJtd2FyZSB3aXRoIHRoZSBsYXRlc3QgcHJvdmlkZWQgYnkgQ29ubmVjdFRlY2guCisgKgorICogKDAxLzE2LzIwMDApIGdraAorICoJRml4ZWQgbXkgaW50ZWwgaGV4IHByb2Nlc3NpbmcgdG9vbCwgc28gbm93IHRoZSBmaXJtd2FyZSBhY3R1YWxseQorICoJbWF0Y2hlcyB0aGUgb3JpZ2luYWwgZmlsZSAodGhpcyB3YXMgY2F1c2luZyBhIGZldyBwcm9ibGVtcy4uLikKKyAqCisgKiAoMDEvMTUvMjAwMCkgZ2toCisgKglBZGRlZCBkZWJ1ZyBsb2FkZXIgZmlybXdhcmUgaWYgREVCVUcgaXMgI2RlZmluZWQ6CisgKgkJUG9ydCAxIExFRCBmbGFzaGVzIHdoZW4gdGhlIHZlbmRfYXggcHJvZ3JhbSBpcyBydW5uaW5nCisgKgkJUG9ydCAyIExFRCBmbGFzaGVzIHdoZW4gYW55IFNFVFVQIGNvbW1hbmQgYXJyaXZlcworICoJCVBvcnQgMyBMRUQgZmxhc2hlcyB3aGVuIGFueSB2YWxpZCBWRU5ET1IgcmVxdWVzdCBvY2N1cnMKKyAqCQlQb3J0IDQgTEVEIGZsYXNoZXMgd2hlbiB0aGUgRVhURVJOQUwgUkFNIERPV05MT0FEIHJlcXVlc3Qgb2NjdXJzCisgKgorICogdmVyc2lvbiAxLjAgKDAxLzA5LzIwMDApIGdraAorICoJT3JpZ2luYWwgZmlybXdhcmUgZnJvbSBDb25uZWN0VGVjaCBtYXNzYWdlZCBhIGxpdHRsZSB0byBiZSBwcm9ncmFtCisgKglyZWFkYWJsZS4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgd2hpdGVoZWF0X0RBVEUgIjIwMDAwMTA2IgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvd2hpdGVoZWF0X2xvYWRlci5IRVggYi9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjY2M2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvd2hpdGVoZWF0X2xvYWRlci5IRVgKQEAgLTAsMCArMSwzMTQgQEAKKzowMzAwMDAwMDAyMDk4RDY1Cis6MDMwMDMzMDAwMjA4RkJDNQorOjAzMDA0MzAwMDIwQjAwQUQKKzowMzAwNEIwMDAyMDVBQTAxCis6MTAwMTAwMDA5MDdGQTVFMDU0MTBGRkM0NTQwRjQ0NTBGNTBGMTNFNDQyCis6MTAwMTEwMDAzM0Y1MTE5MDdGRTlFMDI0NUVCNDA3MDA0MDAzMDIwMzQ5Cis6MTAwMTIwMDA3ODkwMDEyOEY4MjgyODczMDIwMUJDMDIwMUJDMDIwMTYyCis6MTAwMTMwMDA5MTAyMDEzRDAyMDE1MzAyMDE2RjAyMDE5QTkwN0YwMDdBCis6MTAwMTQwMDBFNTExRjA5MDdGQjU3NDAxRjA5MDdGQjRFMDQ0MDJGMEM3Cis6MTAwMTUwMDAwMjAzNzg5MDdGOTJFMEZGQzQ1NDBGOTA3RjAwRjA5MEVDCis6MTAwMTYwMDA3RkI1NzQwMUYwOTA3RkI0RTA0NDAyRjAwMjAzNzgxMjhFCis6MTAwMTcwMDAwQTg5NTAwN0U0OTA3RjAwRjA4MDA2OTA3RjAwNzQwRjlBCis6MTAwMTgwMDBGMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQwMkYwMDIwMzc4Cis6MTAwMTkwMDA3ODkwN0ZFQUUwRjUwRjAyMDM3ODkwN0YwMDc0MDdGMDEzCis6MTAwMUEwMDA5MDdGQjU3NDAxRjA5MDdGQjRFMDQ0MDJGMDdGRTg3RTY4Cis6MTAwMUIwMDAwMzEyMEQ5NEQyMDYxMjBDQ0MwMjAzNzg5MDdGRUFFMDcxCis6MTAwMUMwMDA3NTI4MDBGNTI5QTNFMEZFRTRFRTQyMjg5MDdGRUVFMERBCis6MTAwMUQwMDA3NTJBMDBGNTJCQTNFMEZFRTRFRTQyMkE5MDdGRThFMENBCis6MTAwMUUwMDA2NEMwNjAwMzAyMDJDOUU1MkI0NTJBNzAwMzAyMDM3ODRDCis6MTAwMUYwMDBDM0U1MkI5NDQwRTUyQTk0MDA1MDA4ODUyQTJDODUyQkQyCis6MTAwMjAwMDAyRDgwMDY3NTJDMDA3NTJENDA5MDdGRTlFMDY0QTM3MDY5Cis6MTAwMjEwMDAzNEY1MzBGNTMxQzNFNTMxOTUyREU1MzA5NTJDNTA1QzQyCis6MTAwMjIwMDBFNTI5MjUzMUY1ODJFNTMwMzUyOEY1ODNFMEZGNzQwMEI2Cis6MTAwMjMwMDAyNTMxRjU4MkU0MzQ3RkY1ODNFRkYwMDUzMUU1MzE3MDQ3Cis6MTAwMjQwMDAwMjA1MzA4MEQwRTRGNTMwRjUzMUMzRTUzMTk1MkRFNTc4Cis6MTAwMjUwMDAzMDk1MkM1MDE4NzQwMDI1MzFGNTgyRTQzNDdGRjU4M0Y1Cis6MTAwMjYwMDA3NENERjAwNTMxRTUzMTcwMDIwNTMwODBEREFGMjlBRTg3Cis6MTAwMjcwMDAyOEFEMkQ3QTdGNzkwMDdCMDAxMjBCRjQ5MDdGQjVFNUQ1Cis6MTAwMjgwMDAyREYwRTUyRDI1MjlGNTI5RTUyQzM1MjhGNTI4QzNFNUEwCis6MTAwMjkwMDAyQjk1MkRGNTJCRTUyQTk1MkNGNTJBOTA3RjkyRTBGRkUyCis6MTAwMkEwMDBDNDU0MEY3NTJFMDBGNTJGRDM5NDAwRTUyRTk0MDA1MDAyCis6MTAwMkIwMDAwQzkwN0ZCNEUwMjBFMTAzMDIwMUU3ODBGNDkwN0ZCNDZBCis6MTAwMkMwMDBFMDIwRTIwMzAyMDFFNzgwRjQ5MDdGRThFMDY0NDA2MDEwCis6MTAwMkQwMDAwMzAyMDM3OEU1MkI0NTJBNzAwMzAyMDM3OEU0OTA3RjNDCis6MTAwMkUwMDBDNUYwOTA3RjkyRTBGRkM0NTQwRjc1MkUwMEY1MkZEMzE4Cis6MTAwMkYwMDA5NDAwRTUyRTk0MDA1MDA5OTA3RkM0RTAzMEUxMDk4MDFECis6MTAwMzAwMDBGNzkwN0ZCNEUwMjBFM0Y5OTA3RkM1RTA3NTJDMDBGNTBECis6MTAwMzEwMDAyRDkwN0ZFOUUwNjRBMzcwMzRGNTMwRjUzMUMzRTUzMTA5Cis6MTAwMzIwMDA5NTJERTUzMDk1MkM1MDM0NzRDMDI1MzFGNTgyRTQzNDk4Cis6MDEwMzMwMDA3RTRFCis6MTAwMzMxMDBGNTgzRTBGRkU1MjkyNTMxRjU4MkU1MzAzNTI4RjU4M0EwCis6MTAwMzQxMDBFRkYwMDUzMUU1MzE3MDAyMDUzMDgwRDBBRjI5QUUyOERDCis6MTAwMzUxMDBBRDJEN0E3RTc5QzA3QkMwMTIwQzNGRTUyRDI1MjlGNUE0Cis6MTAwMzYxMDAyOUU1MkMzNTI4RjUyOEMzRTUyQjk1MkRGNTJCRTUyQTE0Cis6MDkwMzcxMDA5NTJDRjUyQTAyMDJENEMzMjJFNgorOjEwMDM3QTAwOTA3RkU5RTA3MDAzMDIwNDUyMTQ3MDAzMDIwNENFMjQ1MQorOjEwMDM4QTAwRkU3MDAzMDIwNTQyMjRGQjcwMDMwMjA0NEMxNDcwMDMzRQorOjEwMDM5QTAwMDIwNDQ2MTQ3MDAzMDIwNDNBMTQ3MDAzMDIwNDQwMjQ0RgorOjEwMDNBQTAwMDU2MDAzMDIwNTk2MTIwRTQ0NDAwMzAyMDVBMjkwN0ZERgorOjEwMDNCQTAwRUJFMDI0RkU2MDE2MTQ2MDQwMjQwMjcwNjk3NDExOTAwOAorOjEwMDNDQTAwN0ZENEYwNzQwMDkwN0ZENUYwMDIwNUEyOTA3RkVBRTAxNgorOjEwMDNEQTAwRkYxMjBCNTg4QjI1OEEyNjg5MjdFQTQ5NjAxMUFFMDIzQgorOjEwMDNFQTAwRUU5MDdGRDRGMEFGMDFFRjkwN0ZENUYwMDIwNUEyOTA5NgorOjEwMDNGQTAwN0ZCNEUwNDQwMUYwMDIwNUEyOTA3RkVBRTBGRjEyMDgxMAorOjEwMDQwQTAwQkE4QjI1OEEyNjg5MjdFQTQ5NjAxMUFFMDJFRTkwN0ZDNworOjEwMDQxQTAwRDRGMEFGMDFFRjkwN0ZENUYwMDIwNUEyOTA3RkI0RTA0RgorOjEwMDQyQTAwNDQwMUYwMDIwNUEyOTA3RkI0RTA0NDAxRjAwMjA1QTI2MworOjEwMDQzQTAwMTIwRTFGMDIwNUEyMTIwRTJEMDIwNUEyMTIwQUY3MDJCRgorOjEwMDQ0QTAwMDVBMjEyMEUxMTAyMDVBMjEyMEU0NjQwMDMwMjA1QTJDRgorOjEwMDQ1QTAwOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTI1QworOjEwMDQ2QTAwMDBFNDMzRkYyNUUwRkZBMjAyRTQzMzRGOTA3RjAwRjA1RgorOjEwMDQ3QTAwRTRBM0YwOTA3RkI1NzQwMkYwMDIwNUEyRTQ5MDdGMDAzNQorOjEwMDQ4QTAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwNUEyOTA3RkVDRTAzMQorOjEwMDQ5QTAwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjQxRQorOjEwMDRBQTAwRjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTMwNQorOjEwMDRCQTAwRjA5MDdGQjU3NDAyRjAwMjA1QTI5MDdGQjRFMDQ0MDE4NworOjEwMDRDQTAwRjAwMjA1QTIxMjBFNDg0MDAzMDIwNUEyOTA3RkU4RTA1RQorOjEwMDREQTAwMjRGRTYwMUQyNDAyNjAwMzAyMDVBMjkwN0ZFQUUwQjRCNAorOjEwMDRFQTAwMDEwNUMyMDAwMjA1QTI5MDdGQjRFMDQ0MDFGMDAyMDVCMgorOjEwMDRGQTAwQTI5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ2OQorOjEwMDUwQTAwNTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0YyQQorOjEwMDUxQTAwRjU4M0U0RjA5MDdGRUNFMDU0ODBGRjEzMTMxMzU0MUYyQgorOjEwMDUyQTAwRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDY5OTBENQorOjEwMDUzQTAwN0ZCNEUwNDQwMUYwODA2MDEyMEU0QTUwNUI5MDdGRTg3RAorOjEwMDU0QTAwRTAyNEZFNjAxODI0MDI3MDRGOTA3RkVBRTBCNDAxMDRCMAorOjEwMDU1QTAwRDIwMDgwNDQ5MDdGQjRFMDQ0MDFGMDgwM0I5MDdGRUE2RgorOjEwMDU2QTAwRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA2OQorOjEwMDU3QTAwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDEwRgorOjEwMDU4QTAwRjA4MDE1OTA3RkI0RTA0NDAxRjA4MDBDMTIwMTAwNTAxNQorOjEwMDU5QTAwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjI3NworOjEwMDVBQTAwQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwQzA5MgorOjEwMDVCQTAwRDBDMDAwQzAwMUMwMDJDMDAzQzAwNkMwMDc5MDdGQTUxQQorOjEwMDVDQTAwRTAzMEUyMDY3NTBEMDYwMjA2NzY5MDdGQTVFMDIwRTE4RQorOjEwMDVEQTAwMENFNTBENjQwMjYwMDY3NTBEMDcwMjA2NzZBRjBERUY5NQorOjEwMDVFQTAwMjRGRTYwNDgxNDYwMkMyNEZFNjA3NzI0MDQ2MDAzMDIxMQorOjEwMDVGQTAwMDY3NkFCMDlBQTBBQTkwQkFGMEMwNTBDOEY4Mjc1ODM4NAorOjEwMDYwQTAwMDAxMjA4MjI5MDdGQTZGMEU1MEM2NTA4NzA1RTc1MEQ1MQorOjEwMDYxQTAwMDU4MDU5OTA3RkE2RTBBQjA5QUEwQUE5MEJBRTBDOEVGOQorOjEwMDYyQTAwODI3NTgzMDAxMjA4NEY3NTBEMDI4MDQwRTUwODI0RkU4QQorOjEwMDYzQTAwQjUwQzA3OTA3RkE1RTA0NDIwRjBFNTA4MTRCNTBDMEEzNAorOjEwMDY0QTAwOTA3RkE1RTA0NDQwRjBFNEY1MEQ5MDdGQTZFMEFCMDk2OQorOjEwMDY1QTAwQUEwQUE5MEJBRTBDOEU4Mjc1ODMwMDEyMDg0RjA1MENFQworOjEwMDY2QTAwODAwQTkwN0ZBNUUwNDQ0MEYwRTRGNTBENTM5MURGRDA3NQorOjEwMDY3QTAwMDdEMDA2RDAwM0QwMDJEMDAxRDAwMEQwRDBEMDg2RDA4NworOjBBMDY4QTAwODREMDg1RDA4MkQwODNEMEUwMzIwNgorOjEwMDY5NDAwOEMzMzhEMzQ5MDdGOTVFMDQ0QzBGMEU0RjUzNUY1MzYyNQorOjEwMDZBNDAwQzNFNTM2OTUzNEU1MzU5NTMzNTA2OUVGMjUzNkY1ODI0MworOjEwMDZCNDAwRTUzNTNFRjU4Mzc0RkZGMEY0NjAwMkMzMjJFRjI1MzY3RQorOjEwMDZDNDAwRjU4MkU1MzUzRUY1ODNFNEYwNjAwMkMzMjJFRjI1MzY3QQorOjEwMDZENDAwRjU4MkU1MzUzRUY1ODM3NEFBRjA2NEFBNjAwMkMzMjI2QworOjEwMDZFNDAwRUYyNTM2RjU4MkU1MzUzRUY1ODM3NDU1RjA2NDU1NjBBMworOjEwMDZGNDAwMDJDMzIyQUQzNkU1MzYyRkY1ODJFNTM1M0VGNTgzRURBRQorOjEwMDcwNDAwRjBGQ0FDMDVFRDZDNjAwMkMzMjIwNTM2RTUzNjcwMDJFMAorOjEwMDcxNDAwMDUzNTgwOENFNEY1MzVGNTM2QzNFNTM2OTUzNEU1MzU5NQorOjEwMDcyNDAwOTUzMzUwMjdFRjI1MzZGNTgyRTUzNTNFRjU4M0UwNjVCMAorOjEwMDczNDAwMzY2MDAyQzMyMkVGMjUzNkY1ODJFNTM1M0VGNTgzRTRDMworOjBEMDc0NDAwRjAwNTM2RTUzNjcwMDIwNTM1ODBDRUQzMjI3MworOjEwMDc1MTAwQzIwNEQyMDVDMjAzQzIwMEMyMDJDMjAxMTIwRTNERDJCRQorOjEwMDc2MTAwRTg0M0Q4MjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0Y5MQorOjEwMDc3MTAwQUFGMDUzOTFFRjkwN0Y5NUUwNDRDMEYwOTA3RjkzNzQ3RAorOjEwMDc4MTAwMzBGMDEyMEExOTkwN0ZBRkUwNDQwMUYwOTA3RkFFRTBBMworOjEwMDc5MTAwNDQwREYwRDJBRjEyMEUzNTIwMDE0Mjc1MjQwMDc1MjNBRAorOjEwMDdBMTAwMDA3NTIyMDA3NTIxMDA3RjQ4N0U5MjdEMDA3QzAwQUJBMAorOjEwMDdCMTAwMjRBQTIzQTkyMkE4MjFDMzEyMDhBOTUwREIyMDAxRDgwOQorOjEwMDdDMTAwN0EwMDc5MDA3ODAwRTUyNDI0MDFGNTI0RUEzNTIzRjUzRgorOjEwMDdEMTAwMjNFOTM1MjJGNTIyRTgzNTIxRjUyMTgwQ0EzMDAxMDVDQQorOjEwMDdFMTAwMTIwMzdBQzIwMTMwMDQxQTEyMEU0MDUwMTMxMjA5MDA4QQorOjEwMDdGMTAwMzAwMDA3OTA3RkQ2RTAzMEU3RjMxMjBENEExMjBFNDIyNworOjA4MDgwMTAwQzIwMzEyMDhGRjgwRDYyMjk5Cis6MTAwODA5MDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkVECis6MDkwODE5MDBFMzIyODk4MjhBODNFNDkzMjIyMAorOjEwMDgyMjAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTA4QgorOjEwMDgzMjAwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJENQorOjBEMDg0MjAwRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJFRgorOjEwMDg0RjAwRjhCQjAxMERFNTgyMjlGNTgyRTU4MzNBRjU4M0U4RjBERgorOjEwMDg1RjAwMjI1MDA2RTkyNTgyQzhGNjIyQkJGRTA1RTkyNTgyQzg4QgorOjAyMDg2RjAwRjIyMjczCis6MTAwODcxMDBCQjAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMEM1Cis6MTAwODgxMDBBM0UwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRUEyCis6MTAwODkxMDAwQUU5MjU4MkY4RTJGNUYwMDhFMjIyRTU4MzJBRjU4M0U4Cis6MDgwOEExMDBFOTkzRjVGMEEzRTk5MzIyQUQKKzoxMDA4QTkwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwQTUKKzowMTA4QjkwMDIyMUMKKzowMjA4QkEwMDhGMjg4NQorOjEwMDhCQzAwRTRGNTI5NzUyQUZGNzUyQjExNzUyQzMyQUIyQUFBMkI1RQorOjEwMDhDQzAwQTkyQzkwMDAwMTEyMDgyMkI0MDMxREFGMjkwNTI5RUZCMQorOjEwMDhEQzAwQjUyODAxMjIxMjA4MDk3RTAwMjlGRkVFM0FBOTA3NzVGNgorOjBFMDhFQzAwMkFGRkY1MkI4OTJDODBENDdCMDA3QTAwNzkwMDNFCis6MDEwOEZBMDAyMkRCCis6MDQwOEZCMDA1M0Q4RUYzMkFECis6MDEwOEZGMDAyMkQ2Cis6MDkwOTAwMDA5MDdGRDZFMDQ0ODBGMDgwNzQ4MQorOjEwMDk3RDAwNDM4NzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjI3RAorOjBDMDk4RDAwNzg3RkU0RjZEOEZENzU4MTM5MDIwOUQ0QUEKKzoxMDA5OTkwMDAyMDc1MUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMUMKKzoxMDA5QTkwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzNUYKKzoxMDA5QjkwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGMkUKKzoxMDA5QzkwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBERUNFNDdFQzUKKzoxMDA5RDkwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzMjMKKzoxMDA5RTkwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRUEKKzoxMDA5RjkwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBMTUKKzoxMDBBMDkwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFQ0MKKzoxMDBBMTkwMEU0OTA3RjlDRjA3RjBBRkUxMjBEOTQ5MDdGOTY3NDg5NzIKKzoxMDBBMjkwMEYwOTA3RjlDNzRDRkYwN0ZGNDdFMDExMjBEOTQ5MDdGM0IKKzoxMDBBMzkwMDk2RTA1NEZFRjA3RjBBN0UwMDEyMEQ5NDdGMDU3RTAwMzkKKzoxMDBBNDkwMDEyMEQ5NDkwN0Y5NkUwNDQwMkYwRTA1NDdGRjA3RjA1MDgKKzoxMDBBNTkwMDdFMDAxMjBEOTQ5MDdGOTZFMDQ0NDBGMDdGMDU3RTAwNjEKKzoxMDBBNjkwMDEyMEQ5NDkwN0Y5NkUwNTRCRkYwN0YzMjdFMDAxMjBERjQKKzoxMDBBNzkwMDk0OTA3Rjk2RTA0NDQwRjA3RjMyN0UwMDEyMEQ5NDIyREMKKzoxMDBBODkwMDc1MzIwMUU1MzI2MDFCN0YwMTEyMERENzdGMDA3RTBFQTIKKzoxMDBBOTkwMDdEMDA3QzAxMTIwNjk0RTQzM0Y1MzI3MDA1N0YwRjEyNTQKKzoxMDBBQTkwMDBERDdFNTMyNjAxQjdGMDIxMjBERDc3RjAwN0U4MDdENTYKKzoxMDBBQjkwMDAwN0M4MDEyMDY5NEU0MzNGNTMyNzAwNTdGMEYxMjBEMjUKKzoxMDBBQzkwMEQ3RTUzMjYwMUI3RjAzMTIwREQ3N0YwMDdFMjA3RDQwNjIKKzoxMDBBRDkwMDdDNUIxMjA2OTRFNDMzRjUzMjcwMDU3RjBGMTIwREQ3NTMKKzowRTBBRTkwMEU1MzI2MDA1RTRGRjEyMEREN0U1MzIyNEZGMjI0RQorOjA4MEFGNzAwOTA3RkVBRTBGNTEwRDMyMjI0Cis6MDEwQUZGMDAzMkM0Cis6MTAwQjAwMDAwMjBENjQwMDAyMERBQjAwMDIwRDJGMDAwMjBEN0MwMEVGCis6MTAwQjEwMDAwMjBEQzEwMDAyMEFGRjAwMDIwRTRDMDAwMjBFNEQwMDQxCis6MTAwQjIwMDAwMjBFNEUwMDAyMEU0RjAwMDIwRTUwMDAwMjBFNTEwMDQ3Cis6MTAwQjMwMDAwMjBFNTIwMDAyMEU1MzAwMDIwRTU0MDAwMjBFNTUwMDI3Cis6MTAwQjQwMDAwMjBFNTYwMDAyMEU1NzAwMDIwRTU4MDAwMjBFNTkwMDA3Cis6MDgwQjUwMDAwMjBFNUEwMDAyMEU1QjAwQzgKKzoxMDBCNTgwMEU0RkU3NTJBRkY3NTJCMTE3NTJDMTJBQjJBQUEyQkE5NTYKKzoxMDBCNjgwMDJDOTAwMDAxMTIwODIyNjQwMjcwMkRBRDA2MEVFREI1MUUKKzoxMDBCNzgwMDA3MDEyMjkwMDAwMjEyMDg3MTg1RjAyOEY1Mjk2MjI4RTEKKzoxMDBCODgwMEU1Mjg2MjI5RTUyOTYyMjgyOUZERTUyODNBQTkwNTc1OUQKKzowRTBCOTgwMDJBRkZGNTJCODkyQzgwQzM3QjAwN0EwMDc5MDBBMAorOjAxMEJBNjAwMjIyQworOjEwMEJBNzAwQUIwN0FBMDZBQzA1RTRGREU1MTE2MDExRUFGRkFFMDU0NworOjEwMEJCNzAwMERFRTI0MTBGNTgyRTQzNDBGRjU4M0VGRjBFQkFFMDU2QworOjEwMEJDNzAwMEQ3NDEwMkVGNTgyRTQzNDBGRjU4M0VCRjBBRjA1MERBRAorOjEwMEJENzAwNzQxMDJGRjU4MkU0MzQwRkY1ODNFQ0YwQUYwRjdBMEYyMgorOjBEMEJFNzAwN0IxMDEyMEQxMDdGMEE3RTAwMTIwRDk0MjI2QgorOjEwMEJGNDAwOEUzMjhGMzM4RDM0OEEzNThCMzZFNEZERjUzN0U1MTEyQgorOjEwMEMwNDAwNjAxMkU1MzJGRkFFMDUwREVFMjQxM0Y1ODJFNDM0MEZENQorOjEwMEMxNDAwRjU4M0VGRjBFNTMzQUUwNTBENzQxMzJFRjU4MkU0MzQ1RAorOjEwMEMyNDAwMEZGNTgzRTUzM0YwQUYwRjdBMEY3QjEzMTIwRDEwQUY3RQorOjBCMEMzNDAwMEZBRDM0QUIzNkFBMzUxMjBDRjEyMkQ0Cis6MTAwQzNGMDA4RTMyOEYzMzhEMzQ4QTM1OEIzNkU0RjUzN0U1MzdDM0YzCis6MTAwQzRGMDA5NTM0NTAyMDA1MzNFNTMzQUUzMjcwMDIwNTMyMTRGRjcwCis6MTAwQzVGMDBFNTM2MjUzN0Y1ODJFNDM1MzVGNTgzRTBGRDEyMEJBNzMwCis6MDUwQzZGMDAwNTM3ODBEOTIyQzkKKzoxMDBDNzQwMEE5MDdFNTBENzAyNTkwN0ZBNUUwNDQ4MEYwRTkyNUUwMDMKKzoxMDBDODQwMDQ0MDE5MDdGQTZGMDhEMDhBRjAzQTkwNzc1MDkwMThBNzYKKzowRDBDOTQwMDBBODkwQkU0RjUwQzc1MEQwM0QzMjJDMzIyNzEKKzoxMDBDQTEwMEE5MDdFNTBENzAyMzkwN0ZBNUUwNDQ4MEYwRTkyNUUwRDgKKzoxMDBDQjEwMDkwN0ZBNkYwOEQwOEFGMDNBOTA3NzUwOTAxOEEwQTg5RkIKKzowQjBDQzEwMDBCRTRGNTBDNzUwRDAxRDMyMkMzMjJEQgorOjEwMENDQzAwOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMDYwNEUwNDQ5QQorOjEwMENEQzAwMDJGMDdGRDA3RTA3MTIwRDk0OTA3RkQ2RTA1NEY3RjA4RgorOjA1MENFQzAwRTA0NDA0RjAyMkM5Cis6MTAwQ0YxMDAxMjBDNzRFNTBEMjRGQTYwMTAxNDYwMDcyNDA3NzBGM0Q4Cis6MEYwRDAxMDA3RjA4MjJFNEY1MEQ3RjA3MjJFNEY1MEQ3RjA2MjIxRgorOjEwMEQxMDAwMTIwQ0ExRTUwRDI0RkE2MDEwMTQ2MDA3MjQwNzcwRjM4QgorOjBGMEQyMDAwN0YwODIyRTRGNTBEN0YwNzIyRTRGNTBEN0YwNjIyMDAKKzoxMDBEMkYwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGMDYKKzowQjBEM0YwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzIwRgorOjEwMEQ0QTAwOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMTQ3RTAwMTI3MworOjBBMEQ1QTAwMEQ5NDkwN0ZENkUwNTRGRUYwMjJDNQorOjEwMEQ2NDAwQzBFMEMwODNDMDgyRDIwMTUzOTFFRjkwN0ZBQjc0MDE4NQorOjA4MEQ3NDAwRjBEMDgyRDA4M0QwRTAzMjAwCis6MTAwRDdDMDBDMEUwQzA4M0MwODJEMjAzNTM5MUVGOTA3RkFCNzQwODY0Cis6MDgwRDhDMDBGMEQwODJEMDgzRDBFMDMyRTgKKzoxMDBEOTQwMDhFMzg4RjM5RTUzOTE1MzlBRTM4NzAwMjE1Mzg0RTYwMDIKKzowNzBEQTQwMDA1MTIwRTAwODBFRTIyOTMKKzoxMDBEQUIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDJGMEQwNTAKKzowNjBEQkIwMDgyRDA4M0QwRTAzMjdCCis6MTAwREMxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjBEMDJDCis6MDYwREQxMDA4MkQwODNEMEUwMzI2NQorOjEwMERENzAwQUUwNzdGMjE3RDAxNzQwMDJFRjU4MkU0MzQwRkFCODJDQworOjA1MERFNzAwRkExMjBEMTAyMkJDCis6MTAwREVDMDA1MDBGMDBDMEY5QTRCMDk5OTI4MkY4ODA5ODg4ODNDNkZECis6MDMwREZDMDBBMTg2OEUzRgorOjAxMERGRjAwMDBGMworOjEwMEUwMDAwNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkwNQorOjAxMEUxMDAwMjJCRgorOjBFMEUxMTAwOTA3RjAwRTUxMEYwOTA3RkI1NzQwMUYwRDMyMkMxCis6MEUwRTFGMDA5MDdGMDBFNTBFRjA5MDdGQjU3NDAxRjBEMzIyQjUKKzowODBFMkQwMDkwN0ZFQUUwRjUwRUQzMjJFQworOjA4MEUzNTAwRTRGNTBERDJFOUQyQUYyMjcxCis6MDMwRTNEMDBEMjAwMjJCRQorOjAyMEU0MDAwRDMyMkJCCis6MDIwRTQyMDBEMzIyQjkKKzowMjBFNDQwMEQzMjJCNworOjAyMEU0NjAwRDMyMkI1Cis6MDIwRTQ4MDBEMzIyQjMKKzowMjBFNEEwMEQzMjJCMQorOjAxMEU0QzAwMzI3MworOjAxMEU0RDAwMzI3MgorOjAxMEU0RTAwMzI3MQorOjAxMEU0RjAwMzI3MAorOjAxMEU1MDAwMzI2RgorOjAxMEU1MTAwMzI2RQorOjAxMEU1MjAwMzI2RAorOjAxMEU1MzAwMzI2QworOjAxMEU1NDAwMzI2QgorOjAxMEU1NTAwMzI2QQorOjAxMEU1NjAwMzI2OQorOjAxMEU1NzAwMzI2OAorOjAxMEU1ODAwMzI2NworOjAxMEU1OTAwMzI2NgorOjAxMEU1QTAwMzI2NQorOjAxMEU1QjAwMzI2NAorOjEwMTEwMDAwMTIwMTAwMDEwMDAwMDA0MDQ3MDUxMDI3MDEwMDAxMDIwNAorOjEwMTExMDAwMDAwMTA5MDIyMDAwMDEwMTAzQTAwMDA5MDQwMDAwMDJFRgorOjEwMTEyMDAwRkYwMDAwMDQwNzA1ODIwMjQwMDAwMDA3MDUwMjAyNDA5QworOjEwMTEzMDAwMDAwMDA0MDMwOTA0MjYwMzQxMDA2RTAwNjMwMDY4MDBGOAorOjEwMTE0MDAwNkYwMDcyMDAyMDAwNDMwMDY4MDA2OTAwNzAwMDczMDBBNworOjEwMTE1MDAwMkMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMjgwMzQ2MDA4QQorOjEwMTE2MDAwNjkwMDcyMDA2RDAwNzcwMDYxMDA3MjAwNjUwMDIwMDA2OAorOjEwMTE3MDAwNDYwMDcyMDA2MTAwNkQwMDY1MDA1NzAwNkYwMDcyMDA0QworOjEwMTE4MDAwNkIwMDczMDAyQTAzNDMwMDZGMDA2RTAwNjYwMDY5MDA2NQorOjEwMTE5MDAwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwNkYwMDZFMDBFNgorOjEwMTFBMDAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIyMDM4MworOjEwMTFCMDAwNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNjEwMDYzMDAwMworOjEwMTFDMDAwNjUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMworOjAyMTFEMDAwMDAwMDFECis6MDAwMDAwMDFGRgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogICAgICB3aGl0ZWhlYXQuaCAgLS0gIENvbm5lY3RUZWNoIFdoaXRlSEVBVCBGaXJtd2FyZS4KKyAqCisgKiAgICAgIENvcHlyaWdodCAoQykgMjAwMC0yMDAyICBDb25uZWN0VGVjaCBJbmMgKGh0dHA6Ly93d3cuY29ubmVjdHRlY2guY29tLykKKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogICAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICAgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICAgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogICAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICAgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICAgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICAgICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICogKDEwLzA5LzIwMDIpIFN0dWFydCBNYWNEb25hbGQKKyAqCUZpcm13YXJlIDQuMDYKKyAqCisgKiAoMDQvMDkvMjAwMCkgZ2toCisgKglVcGRhdGVkIHRoZSBmaXJtd2FyZSB3aXRoIHRoZSBsYXRlc3QgcHJvdmlkZWQgYnkgQ29ubmVjdFRlY2guCisgKgorICogKDAxLzE2LzIwMDApIGdraAorICoJRml4ZWQgbXkgaW50ZWwgaGV4IHByb2Nlc3NpbmcgdG9vbCwgc28gbm93IHRoZSBmaXJtd2FyZSBhY3R1YWxseQorICoJbWF0Y2hlcyB0aGUgb3JpZ2luYWwgZmlsZSAodGhpcyB3YXMgY2F1c2luZyBhIGZldyBwcm9ibGVtcy4uLikKKyAqCisgKiAoMDEvMTUvMjAwMCkgZ2toCisgKglBZGRlZCBkZWJ1ZyBsb2FkZXIgZmlybXdhcmUgaWYgREVCVUcgaXMgI2RlZmluZWQ6CisgKgkJUG9ydCAxIExFRCBmbGFzaGVzIHdoZW4gdGhlIHZlbmRfYXggcHJvZ3JhbSBpcyBydW5uaW5nCisgKgkJUG9ydCAyIExFRCBmbGFzaGVzIHdoZW4gYW55IFNFVFVQIGNvbW1hbmQgYXJyaXZlcworICoJCVBvcnQgMyBMRUQgZmxhc2hlcyB3aGVuIGFueSB2YWxpZCBWRU5ET1IgcmVxdWVzdCBvY2N1cnMKKyAqCQlQb3J0IDQgTEVEIGZsYXNoZXMgd2hlbiB0aGUgRVhURVJOQUwgUkFNIERPV05MT0FEIHJlcXVlc3Qgb2NjdXJzCisgKgorICogdmVyc2lvbiAxLjAgKDAxLzA5LzIwMDApIGdraAorICoJT3JpZ2luYWwgZmlybXdhcmUgZnJvbSBDb25uZWN0VGVjaCBtYXNzYWdlZCBhIGxpdHRsZSB0byBiZSBwcm9ncmFtCisgKglyZWFkYWJsZS4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgd2hpdGVoZWF0X0RBVEUgIjIwMDAwMTA2IgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvd2hpdGVoZWF0X2xvYWRlcl9kZWJ1Zy5IRVggYi9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyX2RlYnVnLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjMzZDU4Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvd2hpdGVoZWF0X2xvYWRlcl9kZWJ1Zy5IRVgKQEAgLTAsMCArMSw0MDMgQEAKKzoxMDAwMDAwMDAwMDAwMDAwMDMwMjA5OEQwMDAwMDAzMzAzMDIwRTcwOUYKKzoxMDAwMTAwMDAwMDAwMDQzMDMwMjBCMDAwMDAwMDA0QjAzMDIwNUIzODUKKzoxMDAwMjAwMDAwMDAwMTAwMTA5MDdGQTVFMDU0MTBGRkM0NTQwRjQ0NUQKKzoxMDAwMzAwMDUwRjUwRjEzRTQwMDAxMTAwMDAwMDExMDEwMzNGNTExMEEKKzoxMDAwNDAwMDkwN0ZFOUUwMjQ1RUI0MDcwMDQwMDMwMjAzMDAwMTIwMzIKKzoxMDAwNTAwMDAwMDAwMTIwMTA3QzkwMDEyOEY4MjgyODczMDIwMUJDQzAKKzoxMDAwNjAwMDAyMDFCQzAyMDEwMDAxMzAwMDAwMDEzMDEwOTEwMjAxQzgKKzoxMDAwNzAwMDNEMDIwMTUzMDIwMTZGMDIwMTlBOTA3RjAwMDAwMTQwOEUKKzoxMDAwODAwMDAwMDAwMTQwMTBFNTExRjA5MDdGQjU3NDAxRjA5MDdGMDEKKzoxMDAwOTAwMEI0RTA0NDAyRjAwMDAxNTAwMDAwMDE1MDEwMDIwMzdDNjMKKzoxMDAwQTAwMDkwN0Y5MkUwRkZDNDU0MEY5MDdGMDBGMDkwMDAwMTYwQjkKKzoxMDAwQjAwMDAwMDAwMTYwMTA3RkI1NzQwMUYwOTA3RkI0RTA0NDAyNEQKKzoxMDAwQzAwMEYwMDIwMzdDMTIwMDAxNzAwMDAwMDE3MDEwMEE4OTUwRDgKKzoxMDAwRDAwMDA3RTQ5MDdGMDBGMDgwMDY5MDdGMDA3NDBGMDAwMTgwOUQKKzoxMDAwRTAwMDAwMDAwMTgwMTBGMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwQzMKKzoxMDAwRjAwMDQ0MDJGMDAyMDMwMDAxOTAwMDAwMDE5MDEwN0M5MDdGMDgKKzoxMDAxMDAwMEVBRTBGNTBGMDIwMzdDOTA3RjAwNzQwN0YwMDAwMUEwODUKKzoxMDAxMTAwMDAwMDAwMUEwMTA5MDdGQjU3NDAxRjA5MDdGQjRFMDQ0MUUKKzoxMDAxMjAwMDAyRjA3RkU4N0UwMDAxQjAwMDAwMDFCMDEwMDMxMjBENjQKKzoxMDAxMzAwMEQ1RDIwNjEyMEQwRDAyMDM3QzkwN0ZFQUUwMDAwMUMwQ0IKKzoxMDAxNDAwMDAwMDAwMUMwMTA3NTI5MDBGNTJBQTNFMEZFRTRFRTQyOEMKKzoxMDAxNTAwMDI5OTA3RkVFRTAwMDAxRDAwMDAwMDFEMDEwNzUyQjAwNDcKKzoxMDAxNjAwMEY1MkNBM0UwRkVFNEVFNDIyQjkwN0ZFOEUwMDAwMUUwRjYKKzoxMDAxNzAwMDAwMDAwMUUwMTA2NEMwNjAwMzAyMDJDOUU1MkM0NTJCQjkKKzoxMDAxODAwMDcwMDMwMjAzN0MwMDAxRjAwMDAwMDFGMDEwQzNFNTJDQjUKKzoxMDAxOTAwMDk0NDBFNTJCOTQwMDUwMDg4NTJCMkQ4NTJDMDAwMjAwRkYKKzoxMDAxQTAwMDAwMDAwMjAwMTAyRTgwMDY3NTJEMDA3NTJFNDA5MDdGRjUKKzoxMDAxQjAwMEU5RTA2NEEzNzAwMDAyMTAwMDAwMDIxMDEwMzRGNTMxNzEKKzoxMDAxQzAwMEY1MzJDM0U1MzI5NTJFRTUzMTk1MkQ1MDVDMDAwMjIwQzUKKzoxMDAxRDAwMDAwMDAwMjIwMTBFNTJBMjUzMkY1ODJFNTMxMzUyOUY1QTcKKzoxMDAxRTAwMDgzRTBGRjc0MDAwMDAyMzAwMDAwMDIzMDEwMjUzMkY1NzkKKzoxMDAxRjAwMDgyRTQzNDdGRjU4M0VGRjAwNTMyRTUzMjcwMDAwMjQwOEYKKzoxMDAyMDAwMDAwMDAwMjQwMTAwMjA1MzE4MEQwRTRGNTMxRjUzMkMzMjAKKzoxMDAyMTAwMEU1MzI5NTJFRTUwMDAyNTAwMDAwMDI1MDEwMzE5NTJENzgKKzoxMDAyMjAwMDUwMTg3NDAwMjUzMkY1ODJFNDM0N0ZGNTgzMDAwMjYwQjMKKzoxMDAyMzAwMDAwMDAwMjYwMTA3NENERjAwNTMyRTUzMjcwMDIwNTMxMjUKKzoxMDAyNDAwMDgwRERBRjJBQUUwMDAyNzAwMDAwMDI3MDEwMjlBRDJFRDIKKzoxMDAyNTAwMDdBN0Y3OTAwN0IwMDEyMEJGNDkwN0ZCNUU1MDAwMjgwNzUKKzoxMDAyNjAwMDAwMDAwMjgwMTAyRUYwRTUyRTI1MkFGNTJBRTUyRDM1MTYKKzoxMDAyNzAwMDI5RjUyOUMzRTUwMDAyOTAwMDAwMDI5MDEwMkM5NTJFNkMKKzoxMDAyODAwMEY1MkNFNTJCOTUyREY1MkI5MDdGOTJFMEZGMDAwMkEwMzkKKzoxMDAyOTAwMDAwMDAwMkEwMTBDNDU0MEY3NTJGMDBGNTMwRDM5NDAwNTUKKzoxMDAyQTAwMEU1MkY5NDAwNTAwMDAyQjAwMDAwMDJCMDEwMEM5MDdGQzcKKzoxMDAyQjAwMEI0RTAyMEUxMDMwMjAxRTc4MEY0OTA3RkI0MDAwMkMwQzMKKzoxMDAyQzAwMDAwMDAwMkMwMTBFMDIwRTIwMzAyMDFFNzgwRjQ5MDdGMEEKKzoxMDAyRDAwMEU4RTA2NDQwNjAwMDAyRDAwMDAwMDJEMDEwMDMwMjAzOTYKKzoxMDAyRTAwMDdDRTUyQzQ1MkI3MDAzMDIwMzdDRTQ5MDdGMDAwMkUwNDgKKzoxMDAyRjAwMDAwMDAwMkUwMTBDNUYwOTA3RjkyRTBGRkM0NTQwRjc1M0IKKzoxMDAzMDAwMDJGMDBGNTMwRDMwMDAyRjAwMDAwMDJGMDEwOTQwMEU1NTkKKzoxMDAzMTAwMDJGOTQwMDUwMDk5MDdGQzRFMDMwRTEwOTgwMDAwMzAwNzEKKzoxMDAzMjAwMDAwMDAwMzAwMTBGNzkwN0ZCNEUwMjBFM0Y5OTA3RkM1NTAKKzoxMDAzMzAwMEUwNzUyRDAwRjUwMDAzMTAwMDAwMDMxMDEwMkU5MDdGRDMKKzoxMDAzNDAwMEU5RTA2NEEzNzAzODkwMjA2QkYwRjUzMUY1MDAwMzIwRUMKKzoxMDAzNTAwMDAwMDAwMzIwMTAzMkMzRTUzMjk1MkVFNTMxOTUyRDUwNzMKKzoxMDAzNjAwMDM0NzRDMDI1MzIwMDAzMzAwMDAwMDMzMDEwRjU4MkU0RkQKKzoxMDAzNzAwMDM0N0VGNTgzRTBGRkU1MkEyNTMyRjU4MkU1MDAwMzQwNkYKKzoxMDAzODAwMDAwMDAwMzQwMTAzMTM1MjlGNTgzRUZGMDA1MzJFNTMyRTYKKzoxMDAzOTAwMDcwMDIwNTMxODAwMDAzNTAwMDAwMDM1MDEwRDBBRjJBRDYKKzoxMDAzQTAwMEFFMjlBRDJFN0E3RTc5QzA3QkMwMTIwQzgwMDAwMzYwMkUKKzoxMDAzQjAwMDAwMDAwMzYwMTBFNTJFMjUyQUY1MkFFNTJEMzUyOUY1RTQKKzoxMDAzQzAwMDI5QzNFNTJDOTUwMDAzNzAwMDAwMDM3MDBEMkVGNTJDNTkKKzoxMDAzRDAwMEU1MkI5NTJERjUyQjAyMDJENEMzMDAwMDAwMDAwMzdEMTAKKzoxMDAzRTAwMDAxMjIwMDAwMDAwMDAzN0UxMDkwN0ZFOUUwNzAwMzAyMEMKKzoxMDAzRjAwMDA0NTYxNDcwMDMwMjA0RDIyNDAwMDM4RTAwMDAwMzhFRkUKKzoxMDA0MDAwMDEwRkU3MDAzMDIwNTQ2MjRGQjcwMDMwMjA0NTAxNDcwQjIKKzoxMDA0MTAwMDAzMDAwMzlFMDAwMDAzOUUxMDAyMDQ0QTE0NzAwMzAyQUUKKzoxMDA0MjAwMDA0M0UxNDcwMDMwMjA0NDQyNDAwMDNBRTAwMDAwM0FFMzMKKzoxMDA0MzAwMDEwMDU2MDAzMDIwNTlBMTIwRTdCNDAwMzAyMDVBQjkwODMKKzoxMDA0NDAwMDdGMDAwM0JFMDAwMDAzQkUxMEVCRTAyNEZFNjAxNjE0MjQKKzoxMDA0NTAwMDYwNDAyNDAyNzA2OTc0MTE5MDAwMDNDRTAwMDAwM0NFNDYKKzoxMDA0NjAwMDEwN0ZENEYwNzQwMDkwN0ZENUYwMDIwNUFCOTA3RkVBNDYKKzoxMDA0NzAwMEUwMDAwM0RFMDAwMDAzREUxMEZGMTIwQjU4OEIyNjhBMUIKKzoxMDA0ODAwMDI3ODkyOEVBNDk2MDExQUUwMjAwMDNFRTAwMDAwM0VFNUUKKzoxMDA0OTAwMDEwRUU5MDdGRDRGMEFGMDFFRjkwN0ZENUYwMDIwNUFCNjYKKzoxMDA0QTAwMDkwMDAwM0ZFMDAwMDAzRkUxMDdGQjRFMDQ0MDFGMDAyNjAKKzoxMDA0QjAwMDA1QUI5MDdGRUFFMEZGMTIwQzAwMDQwRTAwMDAwNDBFNzIKKzoxMDA0QzAwMDEwM0Y4QjI2OEEyNzg5MjhFQTQ5NjAxMUFFMDJFRTkwRjgKKzoxMDA0RDAwMDdGMDAwNDFFMDAwMDA0MUUxMEQ0RjBBRjAxRUY5MDdGRDcKKzoxMDA0RTAwMEQ1RjAwMjA1QUI5MDdGQjRFMDAwMDQyRTAwMDAwNDJFOEUKKzoxMDA0RjAwMDEwNDQwMUYwMDIwNUFCOTA3RkI0RTA0NDAxRjAwMjA1MjYKKzoxMDA1MDAwMEFCMDAwNDNFMDAwMDA0M0UxMDEyMEU1MjAyMDVBQjEyNzYKKzoxMDA1MTAwMDBFNjAwMjA1QUIxMjBBRjcwMjAwMDQ0RTAwMDAwNDRFMDIKKzoxMDA1MjAwMDEwMDVBQjEyMDhGMTAyMDVBQjEyMEU3RDQwMDMwMjA1NjcKKzoxMDA1MzAwMEFCMDAwNDVFMDAwMDA0NUUxMDkwN0ZFOEUwMjQ3RjYwNjIKKzoxMDA1NDAwMDI0MTQ2MDMxMjQwMjcwNUJBMjAwMDQ2RTAwMDAwNDZFNkIKKzoxMDA1NTAwMDEwMDBFNDMzRkYyNUUwRkZBMjAyRTQzMzRGOTA3RjAwNTgKKzoxMDA1NjAwMEYwMDAwNDdFMDAwMDA0N0UxMEU0QTNGMDkwN0ZCNTc0RDgKKzoxMDA1NzAwMDAyRjAwMjA1QUJFNDkwN0YwMDAwMDQ4RTAwMDAwNDhFQzAKKzoxMDA1ODAwMDEwRjBBM0YwOTA3RkI1NzQwMkYwMDIwNUFCOTA3RkVDMDEKKzoxMDA1OTAwMEUwMDAwNDlFMDAwMDA0OUUxMEY0NTQ4MEZGQzQ1NDBGMzkKKzoxMDA1QTAwMEZGRTA1NDA3MkYyNUUwMjRCNDAwMDRBRTAwMDAwNEFFQTEKKzoxMDA1QjAwMDEwRjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0OTEKKzoxMDA1QzAwMEEzMDAwNEJFMDAwMDA0QkUxMEYwOTA3RkI1NzQwMkYwREEKKzoxMDA1RDAwMDAyMDVBQjkwN0ZCNEUwNDQwMTAwMDRDRTAwMDAwNENFREQKKzoxMDA1RTAwMDEwRjAwMjA1QUIxMjBFN0Y0MDAzMDIwNUFCOTA3RkU4Q0UKKzoxMDA1RjAwMEUwMDAwNERFMDAwMDA0REUxMDI0RkU2MDFEMjQwMjYwMjIKKzoxMDA2MDAwMDAzMDIwNUFCOTA3RkVBRTBCNDAwMDRFRTAwMDAwNEVFQzQKKzoxMDA2MTAwMDEwMDEwNUMyMDAwMjA1QUI5MDdGQjRFMDQ0MDFGMDAyNzYKKzoxMDA2MjAwMDA1MDAwNEZFMDAwMDA0RkUxMEFCOTA3RkVBRTA3MDM4ODUKKzoxMDA2MzAwMDkwN0ZFQ0UwRjQ1NDgwRkZDNDAwMDUwRTAwMDAwNTBFMkUKKzoxMDA2NDAwMDEwNTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0NjIKKzoxMDA2NTAwMDdGMDAwNTFFMDAwMDA1MUUxMEY1ODNFNEYwOTA3RkVDN0UKKzoxMDA2NjAwMEUwNTQ4MEZGMTMxMzEzNTQxRjAwMDUyRTAwMDAwNTJFQzUKKzoxMDA2NzAwMDEwRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDZFMDkKKzoxMDA2ODAwMDkwMDAwNTNFMDAwMDA1M0UxMDdGQjRFMDQ0MDFGMDgwN0MKKzoxMDA2OTAwMDY1MTIwRTgxNTA2MDkwN0ZFODAwMDU0RTAwMDAwNTRFMDcKKzoxMDA2QTAwMDEwRTAyNEZFNjAxODI0MDI3MDU0OTA3RkVBRTBCNDAxNDgKKzoxMDA2QjAwMDA0MDAwNTVFMDAwMDA1NUUxMEQyMDA4MDQ5OTA3RkI0MDIKKzoxMDA2QzAwMEUwNDQwMUYwODA0MDkwN0ZFQTAwMDU2RTAwMDAwNTZFNzYKKzoxMDA2RDAwMDEwRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRDIKKzoxMDA2RTAwMEUwMDAwNTdFMDAwMDA1N0UxMDU0MDcyRjI1RTAyNEI0QUQKKzoxMDA2RjAwMEY1ODJFNDM0N0ZGNTgzNzQwMTAwMDU4RTAwMDAwNThFRDkKKzoxMDA3MDAwMDEwRjA4MDFBOTA3RkI0RTA0NDAxRjA4MDExRTQ5MDIwNTIKKzoxMDA3MTAwMDZBMDAwNTlFMDAwMDA1OUUxMEYwMTIwMTAwNTAwNzkwMkYKKzoxMDA3MjAwMDdGQjRFMDQ0MDFGMDkwN0ZCNDAwMDVBRTAwMDAwNUFFNTgKKzoxMDA3MzAwMDA0RTA0NDAyRjAwMDAwMDAwMDAwMDVCMjAxMjIwMDAwQzUKKzoxMDA3NDAwMDAwMDAwNUIzMTBDMEUwQzA4M0MwODJDMDg1QzA4NEMwNzMKKzoxMDA3NTAwMDg2NzU4NjAwQzAwMDA1QzMwMDAwMDVDMzEwRDBDMDAwMjgKKzoxMDA3NjAwMEMwMDFDMDAyQzAwM0MwMDZDMDA3OTA3RkE1MDAwNUQzMkEKKzoxMDA3NzAwMDAwMDAwNUQzMTBFMDMwRTIwNjc1MEQwNjAyMDY3RjkwRkEKKzoxMDA3ODAwMDdGQTVFMDIwRTEwMDA1RTMwMDAwMDVFMzEwMENFNTBEODYKKzoxMDA3OTAwMDY0MDI2MDA2NzUwRDA3MDIwNjdGQUYwREVGMDAwNUYzREEKKzoxMDA3QTAwMDAwMDAwNUYzMTAyNEZFNjA0ODE0NjAyQzI0RkU2MDc3REUKKzoxMDA3QjAwMDI0MDQ2MDAzMDIwMDA2MDMwMDAwMDYwMzEwMDY3RkFCNUEKKzoxMDA3QzAwMDA5QUEwQUE5MEJBRjBDMDUwQzhGODI3NTgzMDAwNjEzQ0EKKzoxMDA3RDAwMDAwMDAwNjEzMTAwMDEyMDc4NTkwN0ZBNkYwRTUwQzY1NTcKKzoxMDA3RTAwMDA4NzA1RTc1MEQwMDA2MjMwMDAwMDYyMzEwMDU4MDU5NzEKKzoxMDA3RjAwMDkwN0ZBNkUwQUIwOUFBMEFBOTBCQUUwQzhFMDAwNjMzQzcKKzoxMDA4MDAwMDAwMDAwNjMzMTA4Mjc1ODMwMDEyMDdCMjc1MEQwMjgwNTYKKzoxMDA4MTAwMDQwRTUwODI0RkUwMDA2NDMwMDAwMDY0MzEwQjUwQzA3MUYKKzoxMDA4MjAwMDkwN0ZBNUUwNDQyMEYwRTUwODE0QjUwQzBBMDAwNjUzQkIKKzoxMDA4MzAwMDAwMDAwNjUzMTA5MDdGQTVFMDQ0NDBGMEU0RjUwRDkwRDEKKzoxMDA4NDAwMDdGQTZFMEFCMDkwMDA2NjMwMDAwMDY2MzEwQUEwQUE5QjAKKzoxMDA4NTAwMDBCQUUwQzhFODI3NTgzMDAxMjA3QjIwNTBDMDAwNjczNzYKKzoxMDA4NjAwMDAwMDAwNjczMTA4MDBBOTA3RkE1RTA0NDQwRjBFNEY1OTQKKzoxMDA4NzAwMDBENTM5MURGRDAwMDA2ODMwMDAwMDY4MzEwMDdEMDA2RDkKKzoxMDA4ODAwMEQwMDNEMDAyRDAwMUQwMDBEMEQwRDA4NkQwMDAwNjkzQzMKKzoxMDA4OTAwMDAwMDAwNjkzMEE4NEQwODVEMDgyRDA4M0QwRTAzMjAwNTUKKzoxMDA4QTAwMDAwMDAwNjlEMTBDMjA0RDIwNUU0RjUyNUMyMDNDMjAwNzMKKzoxMDA4QjAwMEMyMDJDMjAxMTIwMDA2QUQwMDAwMDZBRDEwMEU3NEQyRDUKKzoxMDA4QzAwMEU4NDNEODIwOTA3RkFCNzRGRkYwOTA3RkE5MDAwNkJENkQKKzoxMDA4RDAwMDAwMDAwNkJEMTBGMDkwN0ZBQUYwNTM5MUVGOTA3Rjk1MzUKKzoxMDA4RTAwMEUwNDRDMEYwOTAwMDA2Q0QwMDAwMDZDRDEwN0Y5Mzc0NjgKKzoxMDA4RjAwMDMwRjAxMjBBMTk3NTI0NDg3NTIzOTI3NTIyMDAwNkREMUUKKzoxMDA5MDAwMDAwMDAwNkREMTAwMDc1MjEwMEU0RkZGRTdFMDU5MDIwNEEKKzoxMDA5MTAwMDY4NzQwMUYwQTMwMDA2RUQwMDAwMDZFRDEwREVGQzdFMTkKKzoxMDA5MjAwMDAwN0YwNTkwN0ZBRkUwNDQwMUYwOTA3RkFFMDAwNkZEQjAKKzoxMDA5MzAwMDAwMDAwNkZEMTBFMDQ0MERGMEQyQUYxMjBFNjgzMDAxNDkKKzoxMDA5NDAwMDBBRTQ5MDIwNjkwMDA3MEQwMDAwMDcwRDEwRjAxMjAzNjMKKzoxMDA5NTAwMDdFQzIwMTMwMDQxQTEyMEU3NzUwMTMxMjA5MDAwNzFEQ0YKKzoxMDA5NjAwMDAwMDAwNzFEMTAwMDMwMDAwNzkwN0ZENkUwMzBFN0YzNEQKKzoxMDA5NzAwMDEyMEQ4QjEyMEUwMDA3MkQwMDAwMDcyRDEwNzlDMjAzRjcKKzoxMDA5ODAwMDdGRkY3RUZGN0RGRjdDRkY3ODIxMTIwODFEMDAwNzNENjEKKzoxMDA5OTAwMDAwMDAwNzNEMTA3QjAwN0EwMDc5MDA3ODAwQzMxMjA4NDAKKzoxMDA5QTAwMDBDNzAxQjc1MjQwMDA3NEQwMDAwMDc0RDEwNDg3NTIzN0YKKzoxMDA5QjAwMDkyRjUyMkY1MjE2MzI1RkY5MDIwNjhFNTI1MDAwNzVENkIKKzoxMDA5QzAwMDAwMDAwNzVEMEVGMEEzNzQwMUYwQTNGMEEzRjAxMjA4N0QKKzoxMDA5RDAwMEZGODA5QjAwMDAwMDA3NkIwMTIyMDAwMDAwMDAwNzZDRjUKKzoxMDA5RTAwMDEwQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDcKKzoxMDA5RjAwMDAyMDAwNzdDMDAwMDA3N0MwOUUzMjI4OTgyOEE4M0U0RTUKKzoxMDBBMDAwMDkzMjIwMDAwMDAwMDA3ODUxMEJCMDEwQ0U1ODIyOUY1NDgKKzoxMDBBMTAwMDgyRTU4MzNBRjU4M0UwMjI1MDAwMDc5NTAwMDAwNzk1QjAKKzoxMDBBMjAwMDEwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyRjcKKzoxMDBBMzAwMDIyMDAwN0E1MDAwMDA3QTUwREU1ODIyOUY1ODJFNTgzQzAKKzoxMDBBNDAwMDNBRjU4M0U0OTMyMjAwMDAwMDAwMDdCMjEwRjhCQjAxREUKKzoxMDBBNTAwMDBERTU4MjI5RjU4MkU1ODMzQUY1ODNFOEYwMDAwN0MyQzcKKzoxMDBBNjAwMDAwMDAwN0MyMTAyMjUwMDZFOTI1ODJDOEY2MjJCQkZFMEMKKzoxMDBBNzAwMDA1RTkyNTgyQzgwMDA3RDIwMDAwMDdEMjAyRjIyMjAwNTEKKzoxMDBBODAwMDAwMDAwN0Q0MTBCQjAxMTBFNTgyMjlGNTgyRTU4MzNBMDYKKzoxMDBBOTAwMEY1ODNFMEY1RjAwMDA3RTQwMDAwMDdFNDEwQTNFMDIyOEUKKzoxMDBBQTAwMDUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFMDAwN0Y0MkIKKzoxMDBBQjAwMDAwMDAwN0Y0MTAwQUU5MjU4MkY4RTJGNUYwMDhFMjIyQzYKKzoxMDBBQzAwMEU1ODMyQUY1ODMwMDA4MDQwMDAwMDgwNDA4RTk5M0Y1OEIKKzoxMDBBRDAwMEYwQTNFOTkzMjIwMDAwMDAwMDAwMDgwQzEwRUI5RkY1NDIKKzoxMDBBRTAwMEYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwMDAwODFDQzcKKzoxMDBBRjAwMDAwMDAwODFDMDEyMjAwMDAwMDAwMDgxRDEwMDgwODA4NjIKKzoxMDBCMDAwMEU2MkZGRkY2MThFNjNFRkVGNjE4RTYzREZEMDAwODJEM0UKKzoxMDBCMTAwMDAwMDAwODJEMDdGNjE4RTYzQ0ZDRjYyMjAwMDAwODM0MTkKKzoxMDBCMjAwMDA0OEMzNDhEMzUwMDAwMDAwMDAwMDgzODEwOTA3Rjk1NEIKKzoxMDBCMzAwMEUwNDRDMEYwRTRGNTM2RjUzN0MzRTUzNzk1MDAwODQ4RTIKKzoxMDBCNDAwMDAwMDAwODQ4MTAzNUU1MzY5NTM0NTA2OUVGMjUzN0Y1MzMKKzoxMDBCNTAwMDgyRTUzNjNFRjUwMDA4NTgwMDAwMDg1ODEwODM3NEZGRkYKKzoxMDBCNjAwMEYwRjQ2MDAyQzMyMkVGMjUzN0Y1ODJFNTM2MDAwODY4MEQKKzoxMDBCNzAwMDAwMDAwODY4MTAzRUY1ODNFNEYwNjAwMkMzMjJFRjI1MTAKKzoxMDBCODAwMDM3RjU4MkU1MzYwMDA4NzgwMDAwMDg3ODEwM0VGNTgzRDYKKzoxMDBCOTAwMDc0QUFGMDY0QUE2MDAyQzMyMkVGMjUzN0Y1MDAwODg4MjIKKzoxMDBCQTAwMDAwMDAwODg4MTA4MkU1MzYzRUY1ODM3NDU1RjA2NDU1RTAKKzoxMDBCQjAwMDYwMDJDMzIyQUQwMDA4OTgwMDAwMDg5ODEwMzdFNTM3OUUKKzoxMDBCQzAwMDJGRjU4MkU1MzYzRUY1ODNFREYwRkNBQzA1MDAwOEE4NzQKKzoxMDBCRDAwMDAwMDAwOEE4MTBFRDZDNjAwMkMzMjIwNTM3RTUzNzcwRUQKKzoxMDBCRTAwMDAyMDUzNjgwOEMwMDA4QjgwMDAwMDhCODEwRTRGNTM2MUQKKzoxMDBCRjAwMEY1MzdDM0U1Mzc5NTM1RTUzNjk1MzQ1MDI3MDAwOEM4RjUKKzoxMDBDMDAwMDAwMDAwOEM4MTBFRjI1MzdGNTgyRTUzNjNFRjU4M0UwOTEKKzoxMDBDMTAwMDY1Mzc2MDAyQzMwMDA4RDgwMDAwMDhEODEwMjJFRjI1MEQKKzoxMDBDMjAwMDM3RjU4MkU1MzYzRUY1ODNFNEYwMDUzN0U1MDAwOEU4NjAKKzoxMDBDMzAwMDAwMDAwOEU4MDgzNzcwMDIwNTM2ODBDRUQzMDAwMDAwQjcKKzoxMDBDNDAwMDAwMDAwOEYwMDEyMjAwMDAwMDAwMDhGMTBFOTA3RjAwNzMKKzoxMDBDNTAwMEU1MTBGMDkwN0ZCNTc0MDFGMEQzMjIwMDAwMDAwOEZGOEEKKzoxMDBDNjAwMDAxMjIwMDAwMDAwMDA5MDAwOTkwN0ZENkUwNDQ4MEYwRDYKKzoxMDBDNzAwMDgwNzQwMDAwMDAwMDA5N0QxMDQzODcwMTAwMDAwMDAwMUYKKzoxMDBDODAwMDAwMDAwMDAwMDAwMDAwMDAyMjAwMDk4RDAwMDAwOThEMTYKKzoxMDBDOTAwMDBDNzg3RkU0RjZEOEZENzU4MTNBMDIwOUQ0MDAwMDAwOTMKKzoxMDBDQTAwMDAwMDAwOTk5MTAwMjA2OURFNDkzQTNGOEU0OTNBMzQwODEKKzoxMDBDQjAwMDAzRjY4MDAxRjIwMDA5QTkwMDAwMDlBOTEwMDhERkY0NzkKKzoxMDBDQzAwMDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzMDAwOUI5NUUKKzoxMDBDRDAwMDAwMDAwOUI5MTBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2REUKKzoxMDBDRTAwMDgwMDE0NkY2REYwMDA5QzkwMDAwMDlDOTEwRTQ4MDBCNDUKKzoxMDBDRjAwMDAxMDIwNDA4MTAyMDQwODA5MDBFMkRFNDdFMDAwOUQ5RTYKKzoxMDBEMDAwMDAwMDAwOUQ5MTAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5RUUKKzoxMDBEMTAwMDU0MUZGRUU0OTMwMDA5RTkwMDAwMDlFOTEwQTM2MDAxRjMKKzoxMDBEMjAwMDBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzMDAwOUY5QjEKKzoxMDBEMzAwMDAwMDAwOUY5MTBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyNkMKKzoxMDBENDAwMEM4Q0FDNTgzQ0EwMDBBMDkwMDAwMEEwOTEwRjBBM0M4NkUKKzoxMDBENTAwMEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFMDAwQTE5QkEKKzoxMDBENjAwMDAwMDAwQTE5MTBFNDkwN0Y5Q0YwN0YwQUZFMTIwREQ1NTYKKzoxMDBENzAwMDkwN0Y5Njc0ODkwMDBBMjkwMDAwMEEyOTEwRjA5MDdGNUMKKzoxMDBEODAwMDlDNzRDRkYwN0ZGNDdFMDExMjBERDU5MDdGMDAwQTM5NUMKKzoxMDBEOTAwMDAwMDAwQTM5MTA5NkUwNTRGRUYwN0YwQTdFMDAxMjBEMjIKKzoxMDBEQTAwMEQ1N0YwNTdFMDAwMDBBNDkwMDAwMEE0OTEwMTIwREQ1QzIKKzoxMDBEQjAwMDkwN0Y5NkUwNDQwMkYwRTA1NDdGRjA3RjA1MDAwQTU5RUUKKzoxMDBEQzAwMDAwMDAwQTU5MTA3RTAwMTIwREQ1OTA3Rjk2RTA0NDQwMzUKKzoxMDBERDAwMEYwN0YwNTdFMDAwMDBBNjkwMDAwMEE2OTEwMTIwREQ1MzcKKzoxMDBERTAwMDkwN0Y5NkUwNTRCRkYwN0YzMjdFMDAxMjBEMDAwQTc5QUEKKzoxMDBERjAwMDAwMDAwQTc5MTBENTkwN0Y5NkUwNDQ0MEYwN0YzMjdFNjMKKzoxMDBFMDAwMDAwMTIwREQ1MjIwMDBBODkwMDAwMEE4OTEwNzUzMzAxRUQKKzoxMDBFMTAwMEU1MzM2MDFCN0YwMTEyMEUxODdGMDA3RTBFMDAwQTk5RDkKKzoxMDBFMjAwMDAwMDAwQTk5MTA3RDAwN0MwMTEyMDgzNEU0MzNGNTMzODgKKzoxMDBFMzAwMDcwMDU3RjBGMTIwMDBBQTkwMDAwMEFBOTEwMEUxOEU1MUMKKzoxMDBFNDAwMDMzNjAxQjdGMDIxMjBFMTg3RjAwN0U4MDdEMDAwQUI5N0UKKzoxMDBFNTAwMDAwMDAwQUI5MTAwMDdDODAxMjA4MzRFNDMzRjUzMzcwQzYKKzoxMDBFNjAwMDA1N0YwRjEyMEUwMDBBQzkwMDAwMEFDOTEwMThFNTMzRTkKKzoxMDBFNzAwMDYwMUI3RjAzMTIwRTE4N0YwMDdFMjA3RDQwMDAwQUQ5ODAKKzoxMDBFODAwMDAwMDAwQUQ5MTA3QzVCMTIwODM0RTQzM0Y1MzM3MDA1OTYKKzoxMDBFOTAwMDdGMEYxMjBFMTgwMDBBRTkwMDAwMEFFOTBERTUzMzYwMjEKKzoxMDBFQTAwMDA1RTRGRjEyMEUxOEU1MzMyNEZGMDAwMDAwMDAwQUY2RTcKKzoxMDBFQjAwMDAxMjIwMDAwMDAwMDBBRjcwODkwN0ZFQUUwRjUxMEQzNTUKKzoxMDBFQzAwMDIyMDAwMDAwMDAwMDBBRkYwMTMyMDAwMDAwMDAwQjAwQjkKKzoxMDBFRDAwMDEwMDIwREE1MDAwMjBERUMwMDAyMEQ3MDAwMDIwREJEMDgKKzoxMDBFRTAwMDAwMDAwQjEwMDAwMDBCMTAxMDAyMEUwMjAwMDIwQUZGOUYKKzoxMDBFRjAwMDAwMDIwRTgzMDAwMjBFODQwMDAwMEIyMDAwMDAwQjIwNzUKKzoxMDBGMDAwMDEwMDIwRTg1MDAwMjBFODYwMDAyMEU4NzAwMDIwRTg4NzcKKzoxMDBGMTAwMDAwMDAwQjMwMDAwMDBCMzAxMDAyMEU4OTAwMDIwRThBMTgKKzoxMDBGMjAwMDAwMDIwRThCMDAwMjBFOEMwMDAwMEI0MDAwMDAwQjQwRjQKKzoxMDBGMzAwMDEwMDIwRThEMDAwMjBFOEUwMDAyMEU4RjAwMDIwRTkwMjcKKzoxMDBGNDAwMDAwMDAwQjUwMDAwMDBCNTAwODAyMEU5MTAwMDIwRTkyQTAKKzoxMDBGNTAwMDAwMDAwMDAwMDAwMDBCNTgxMEU0RkU3NTJCRkY3NTJDRkMKKzoxMDBGNjAwMDExNzUyRDEyQUIyQkFBMkNBOTAwMEI2ODAwMDAwQjY4ODEKKzoxMDBGNzAwMDEwMkQ5MDAwMDExMjA3ODU2NDAyNzAyREFEMDYwRUVENTQKKzoxMDBGODAwMEI1MDAwQjc4MDAwMDBCNzgxMDA3MDEyMjkwMDAwMjEyQzgKKzoxMDBGOTAwMDA3RDQ4NUYwMjlGNTJBNjIyOTAwMEI4ODAwMDAwQjg4MDgKKzoxMDBGQTAwMDEwRTUyOTYyMkFFNTJBNjIyOTI5RkRFNTI5M0FBOTA1RTEKKzoxMDBGQjAwMDc1MDAwQjk4MDAwMDBCOTgwRTJCRkZGNTJDODkyRDgwRTcKKzoxMDBGQzAwMEMzN0IwMDdBMDA3OTAwMDAwMDAwMEJBNjAxMjIwMDAwMUMKKzoxMDBGRDAwMDAwMDAwQkE3MDZBQjA3QUEwNkFDMDUwMDAwMDAwQkFEOEUKKzoxMDBGRTAwMDEwRTRGREU1MTE2MDExRUFGRkFFMDUwREVFMjQxMEY1RTkKKzoxMDBGRjAwMDgyMDAwQkJEMDAwMDBCQkQxMEU0MzQwRkY1ODNFRkYwNTEKKzoxMDEwMDAwMEVCQUUwNTBENzQxMDJFRjU4MjAwMEJDRDAwMDAwQkNENUMKKzoxMDEwMTAwMDEwRTQzNDBGRjU4M0VCRjBBRjA1MEQ3NDEwMkZGNTgyNUIKKzoxMDEwMjAwMEU0MDAwQkREMDAwMDBCREQxMDM0MEZGNTgzRUNGMEFGQjYKKzoxMDEwMzAwMDBGN0EwRjdCMTAxMjBENTE3RjAwMEJFRDAwMDAwQkVEQUUKKzoxMDEwNDAwMDA2MEE3RTAwMTIwREQ1MDAwMDAwMEJGMzAxMjIwMDAwRkQKKzoxMDEwNTAwMDAwMDAwQkY0MEE4RTMzOEYzNDhEMzU4QTM2OEIzNzAwQkYKKzoxMDEwNjAwMDAwMDAwQkZFMTBFNEZERjUzOEU1MTE2MDEyRTUzM0ZGREEKKzoxMDEwNzAwMEFFMDUwREVFMjQwMDBDMEUwMDAwMEMwRTEwMTNGNTgyRDAKKzoxMDEwODAwMEU0MzQwRkY1ODNFRkYwRTUzNEFFMDUwRDc0MDAwQzFFNkIKKzoxMDEwOTAwMDAwMDAwQzFFMTAxMzJFRjU4MkU0MzQwRkY1ODNFNTM0QTYKKzoxMDEwQTAwMEYwQUYwRjdBMEYwMDBDMkUwMDAwMEMyRTEwN0IxMzEyRTUKKzoxMDEwQjAwMDBENTFBRjBGQUQzNUFCMzdBQTM2MTIwRDMyMDAwQzNFRDUKKzoxMDEwQzAwMDAwMDAwQzNFMDEyMjAwMDAwMDAwMEMzRjAyOEYyOTAwQUUKKzoxMDEwRDAwMDAwMDAwQzQxMTBFNEY1MkE3NTJCRkY3NTJDMTE3NTJEQkQKKzoxMDEwRTAwMDMyQUIyQkFBMkMwMDBDNTEwMDAwMEM1MTEwQTkyRDkwRjIKKzoxMDEwRjAwMDAwMDExMjA3ODVCNDAzMURBRjJBMDUyQUVGMDAwQzYxMTkKKzoxMDExMDAwMDAwMDAwQzYxMTBCNTI5MDEyMjEyMDc2QzdFMDAyOUZGMzYKKzoxMDExMTAwMEVFM0FBOTA3NzUwMDBDNzEwMDAwMEM3MTBFMkJGRkY1NUIKKzoxMDExMjAwMDJDODkyRDgwRDQ3QjAwN0EwMDc5MDAwMDAwMDAwQzdGOTAKKzoxMDExMzAwMDAxMjIwMDAwMDAwMDBDODAwQThFMzM4RjM0OEQzNThBMjYKKzoxMDExNDAwMDM2OEIzNzAwMDAwMDBDOEExMEU0RjUzOEU1MzhDMzk1N0IKKzoxMDExNTAwMDM1NTAyMDA1MzRFNTM0QUUzMzAwMEM5QTAwMDAwQzlBNkIKKzoxMDExNjAwMDEwNzAwMjA1MzMxNEZGRTUzNzI1MzhGNTgyRTQzNTM2NzMKKzoxMDExNzAwMEY1MDAwQ0FBMDAwMDBDQUEwQTgzRTBGRDEyMEJBNzA1REIKKzoxMDExODAwMDM4ODBEOTAwMDAwMDBDQjQwMTIyMDAwMDAwMDAwQ0I1MkEKKzoxMDExOTAwMDEwQTkwN0U1MEQ3MDI1OTA3RkE1RTA0NDgwRjBFOTI1QjIKKzoxMDExQTAwMEUwMDAwQ0M1MDAwMDBDQzUxMDQ0MDE5MDdGQTZGMDhEMzYKKzoxMDExQjAwMDA4QUYwM0E5MDc3NTA5MDE4QTAwMENENTAwMDAwQ0Q1RkEKKzoxMDExQzAwMDBEMEE4OTBCRTRGNTBDNzUwRDAzRDMyMkMzMjIwMDAwMzAKKzoxMDExRDAwMDAwMDAwQ0UyMTBBOTA3RTUwRDcwMjM5MDdGQTVFMDQ0MDQKKzoxMDExRTAwMDgwRjBFOTI1RTAwMDBDRjIwMDAwMENGMjEwOTA3RkE2RTAKKzoxMDExRjAwMEYwOEQwOEFGMDNBOTA3NzUwOTAxOEEwQTg5MDAwRDAyNUQKKzoxMDEyMDAwMDAwMDAwRDAyMEIwQkU0RjUwQzc1MEQwMUQzMjJDMzIyNzcKKzoxMDEyMTAwMDAwMDAwRDBEMTA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwODQKKzoxMDEyMjAwMDMwMDYwNEUwNDQwMDBEMUQwMDAwMEQxRDEwMDJGMDdGOEIKKzoxMDEyMzAwMEQwN0UwNzEyMERENTkwN0ZENkUwNTRGN0YwMDAwRDJEMkIKKzoxMDEyNDAwMDAwMDAwRDJEMDVFMDQ0MDRGMDIyMDAwMDAwMDAwRDMyRTYKKzoxMDEyNTAwMDEwMTIwQ0I1RTUwRDI0RkE2MDEwMTQ2MDA3MjQwNzcwMTUKKzoxMDEyNjAwMEYzMDAwRDQyMDAwMDBENDIwRjdGMDgyMkU0RjUwRDdGRDAKKzoxMDEyNzAwMDA3MjJFNEY1MEQ3RjA2MjIwMDAwMEQ1MTEwMTIwQ0UyNEEKKzoxMDEyODAwMEU1MEQyNEZBNjAxMDE0NjAwNzI0MDc3MEYzMDAwRDYxNjcKKzoxMDEyOTAwMDAwMDAwRDYxMEY3RjA4MjJFNEY1MEQ3RjA3MjJFNEY1QzEKKzoxMDEyQTAwMDBEN0YwNjIyMDAwMDBENzAxMEMwRTBDMDgzQzA4MjkwNDgKKzoxMDEyQjAwMDdGQzRFNEYwNTM5MUVGOTA3RjAwMEQ4MDAwMDAwRDgwMUIKKzoxMDEyQzAwMDBCQUI3NDA0RjBEMDgyRDA4M0QwRTAzMjAwMDAwRDhCRTEKKzoxMDEyRDAwMDEwOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMTQ3RTAwRUEKKzoxMDEyRTAwMDEyMDAwRDlCMDAwMDBEOUIwQTBERDU5MDdGRDZFMDU0OTcKKzoxMDEyRjAwMEZFRjAyMjAwMDAwMDBEQTUxMEMwRTBDMDgzQzA4MkQyMjUKKzoxMDEzMDAwMDAxNTM5MUVGOTA3RkFCNzQwMTAwMERCNTAwMDAwREI1NTYKKzoxMDEzMTAwMDA4RjBEMDgyRDA4M0QwRTAzMjAwMDAwMDAwMDAwREJEODQKKzoxMDEzMjAwMDEwQzBFMEMwODNDMDgyRDIwMzUzOTFFRjkwN0ZBQjc0QjIKKzoxMDEzMzAwMDA4MDAwRENEMDAwMDBEQ0QwOEYwRDA4MkQwODNEMEUwQTQKKzoxMDEzNDAwMDMyMDAwMDAwMDAwMDBERDUxMDhFMzk4RjNBRTUzQTE1QjUKKzoxMDEzNTAwMDNBQUUzOTcwMDIxNTM5NEU2MDAwMERFNTAwMDAwREU1MUEKKzoxMDEzNjAwMDA3MDUxMjBFNDE4MEVFMjIwMDAwMERFQzEwQzBFMEMwMTcKKzoxMDEzNzAwMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDJGMEQwMDAwREZDREMKKzoxMDEzODAwMDAwMDAwREZDMDY4MkQwODNEMEUwMzIwMDAwMDAwRTAyODcKKzoxMDEzOTAwMDEwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwMTcKKzoxMDEzQTAwMEQwMDAwRTEyMDAwMDBFMTIwNjgyRDA4M0QwRTAzMjAwNzAKKzoxMDEzQjAwMDAwMDAwRTE4MTBBRTA3N0YyMTdEMDE3NDAwMkVGNTgyMEIKKzoxMDEzQzAwMEU0MzQwRkFCODIwMDBFMjgwMDAwMEUyODA1RkExMjBEM0YKKzoxMDEzRDAwMDUxMjIwMDAwMDAwMDBFMkQxMDUwMEYwMEMwRjlBNEIwRTMKKzoxMDEzRTAwMDk5OTI4MkY4ODA5ODg4ODNDNjAwMEUzRDAwMDAwRTNERDkKKzoxMDEzRjAwMDAzQTE4NjhFMDAwMDBFNDAwMTAwMDAwMDAwMDAwRTQxOTcKKzoxMDE0MDAwMDEwNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRTgKKzoxMDE0MTAwMEY5MDAwRTUxMDAwMDBFNTEwMTIyMDAwMDAwMDAwRTUyOTIKKzoxMDE0MjAwMDBFOTA3RjAwRTUwRUYwOTA3RkI1NzQwMUYwRDMyMjAwOUUKKzoxMDE0MzAwMDAwMDAwRTYwMDg5MDdGRUFFMEY1MEVEMzIyMDAwMDAwNjUKKzoxMDE0NDAwMDAwMDAwRTY4MDhFNEY1MEREMkU5RDJBRjIyMDAwMDAwREEKKzoxMDE0NTAwMDAwMDAwRTcwMDQ1M0Q4RUYzMjAwMDAwMDAwMDAwRTc0M0MKKzoxMDE0NjAwMDAzRDIwMDIyMDAwMDBFNzcwMkQzMjIwMDAwMDAwRTc5ODIKKzoxMDE0NzAwMDAyRDMyMjAwMDAwMDBFN0IwMkQzMjIwMDAwMDAwRTdENkEKKzoxMDE0ODAwMDAyRDMyMjAwMDAwMDBFN0YwMkQzMjIwMDAwMDAwRTgxNTIKKzoxMDE0OTAwMDAyRDMyMjAwMDAwMDBFODMwMTMyMDAwMDAwMDAwRTg0RkYKKzoxMDE0QTAwMDAxMzIwMDAwMDAwMDBFODUwMTMyMDAwMDAwMDAwRTg2QUYKKzoxMDE0QjAwMDAxMzIwMDAwMDAwMDBFODcwMTMyMDAwMDAwMDAwRTg4OUIKKzoxMDE0QzAwMDAxMzIwMDAwMDAwMDBFODkwMTMyMDAwMDAwMDAwRThBODcKKzoxMDE0RDAwMDAxMzIwMDAwMDAwMDBFOEIwMTMyMDAwMDAwMDAwRThDNzMKKzoxMDE0RTAwMDAxMzIwMDAwMDAwMDBFOEQwMTMyMDAwMDAwMDAwRThFNUYKKzoxMDE0RjAwMDAxMzIwMDAwMDAwMDBFOEYwMTMyMDAwMDAwMDAwRTkwNEIKKzoxMDE1MDAwMDAxMzIwMDAwMDAwMDBFOTEwMTMyMDAwMDAwMDAwRTkyMzYKKzoxMDE1MTAwMDAxMzIwMDAwMDAwMDExMDAxMDEyMDEwMDAxMDAwMDAwNjMKKzoxMDE1MjAwMDQwNDcwNTEwMjcwMTAwMDEwMjAwMTExMDAwMDAxMTEwQjIKKzoxMDE1MzAwMDEwMDAwMTA5MDIyMDAwMDEwMTAzQTAwMDA5MDQwMDAwQkQKKzoxMDE1NDAwMDAyMDAxMTIwMDAwMDExMjAxMEZGMDAwMDA0MDcwNTgyOTYKKzoxMDE1NTAwMDAyNDAwMDAwMDcwNTAyMDI0MDAwMTEzMDAwMDAxMTMwNzcKKzoxMDE1NjAwMDEwMDAwMDA0MDMwOTA0MjYwMzQxMDA2RTAwNjMwMDY4QjQKKzoxMDE1NzAwMDAwMDAxMTQwMDAwMDExNDAxMDZGMDA3MjAwMjAwMDQzNzUKKzoxMDE1ODAwMDAwNjgwMDY5MDA3MDAwNzMwMDAwMTE1MDAwMDAxMTUwRTUKKzoxMDE1OTAwMDEwMkMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMjgwMzQ2MzYKKzoxMDE1QTAwMDAwMDAxMTYwMDAwMDExNjAxMDY5MDA3MjAwNkQwMDc3OEEKKzoxMDE1QjAwMDAwNjEwMDcyMDA2NTAwMjAwMDAwMTE3MDAwMDAxMTcwRDEKKzoxMDE1QzAwMDEwNDYwMDcyMDA2MTAwNkQwMDY1MDA1NzAwNkYwMDcyRTgKKzoxMDE1RDAwMDAwMDAxMTgwMDAwMDExODAxMDZCMDA3MzAwMkEwMzQzOEIKKzoxMDE1RTAwMDAwNkYwMDZFMDA2NjAwNjkwMDAwMTE5MDAwMDAxMTkwMEQKKzoxMDE1RjAwMDEwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwNkYwMDZFNzIKKzoxMDE2MDAwMDAwMDAxMUEwMDAwMDExQTAxMDIwMDA1MzAwNzQwMDcyMEYKKzoxMDE2MTAwMDAwNjkwMDZFMDA2NzAwMjIwMzAwMTFCMDAwMDAxMUIwRTUKKzoxMDE2MjAwMDEwNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNjEwMDYzN0UKKzoxMDE2MzAwMDAwMDAxMUMwMDAwMDExQzAxMDY1MDAyMDAwNTMwMDc0QUMKKzoxMDE2NDAwMDAwNzIwMDY5MDA2RTAwNjcwMDAwMTFEMDAwMDAxMUQwMjgKKzowOTE2NTAwMDAyMDAwMDAwMDAwMDAwMDAwMDhGCis6MDAwMDAwMDFGRgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogICAgICB3aGl0ZWhlYXQuaCAgLS0gIENvbm5lY3RUZWNoIFdoaXRlSEVBVCBGaXJtd2FyZS4KKyAqCisgKiAgICAgIENvcHlyaWdodCAoQykgMjAwMC0yMDAyICBDb25uZWN0VGVjaCBJbmMgKGh0dHA6Ly93d3cuY29ubmVjdHRlY2guY29tLykKKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogICAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICAgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICAgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogICAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICAgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICAgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICAgICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICogKDEwLzA5LzIwMDIpIFN0dWFydCBNYWNEb25hbGQKKyAqCUZpcm13YXJlIDQuMDYKKyAqCisgKiAoMDQvMDkvMjAwMCkgZ2toCisgKglVcGRhdGVkIHRoZSBmaXJtd2FyZSB3aXRoIHRoZSBsYXRlc3QgcHJvdmlkZWQgYnkgQ29ubmVjdFRlY2guCisgKgorICogKDAxLzE2LzIwMDApIGdraAorICoJRml4ZWQgbXkgaW50ZWwgaGV4IHByb2Nlc3NpbmcgdG9vbCwgc28gbm93IHRoZSBmaXJtd2FyZSBhY3R1YWxseQorICoJbWF0Y2hlcyB0aGUgb3JpZ2luYWwgZmlsZSAodGhpcyB3YXMgY2F1c2luZyBhIGZldyBwcm9ibGVtcy4uLikKKyAqCisgKiAoMDEvMTUvMjAwMCkgZ2toCisgKglBZGRlZCBkZWJ1ZyBsb2FkZXIgZmlybXdhcmUgaWYgREVCVUcgaXMgI2RlZmluZWQ6CisgKgkJUG9ydCAxIExFRCBmbGFzaGVzIHdoZW4gdGhlIHZlbmRfYXggcHJvZ3JhbSBpcyBydW5uaW5nCisgKgkJUG9ydCAyIExFRCBmbGFzaGVzIHdoZW4gYW55IFNFVFVQIGNvbW1hbmQgYXJyaXZlcworICoJCVBvcnQgMyBMRUQgZmxhc2hlcyB3aGVuIGFueSB2YWxpZCBWRU5ET1IgcmVxdWVzdCBvY2N1cnMKKyAqCQlQb3J0IDQgTEVEIGZsYXNoZXMgd2hlbiB0aGUgRVhURVJOQUwgUkFNIERPV05MT0FEIHJlcXVlc3Qgb2NjdXJzCisgKgorICogdmVyc2lvbiAxLjAgKDAxLzA5LzIwMDApIGdraAorICoJT3JpZ2luYWwgZmlybXdhcmUgZnJvbSBDb25uZWN0VGVjaCBtYXNzYWdlZCBhIGxpdHRsZSB0byBiZSBwcm9ncmFtCisgKglyZWFkYWJsZS4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgd2hpdGVoZWF0X0RBVEUgIjIwMDAwMTA2IgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUveWFtYWhhL2RzMV9jdHJsLmZ3LmloZXggYi9maXJtd2FyZS95YW1haGEvZHMxX2N0cmwuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTliMWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUveWFtYWhhL2RzMV9jdHJsLmZ3LmloZXgKQEAgLTAsMCArMSw3NjkgQEAKKzoxMDAwMDAwMDA3MDAwMDAwMDcwMDI0MDAwNzAwMEMwMDA3MDAxQzAwODgKKzoxMDAwMTAwMDA3MDAwNjAwMDIwMDcwMDAyMDAwMDAwMDQwMDAwMzAwRkUKKzoxMDAwMjAwMDA0NzEwMDAwODY0MjAwMDA0MDAwMDMwMDBEMEYwMDAwMzQKKzoxMDAwMzAwMDEwMDgwMDAwM0EwNDIwMDA4MjAyMDAwMDBEMDIwMDAwQjcKKzoxMDAwNDAwMDEwMDgwMDAwM0EwNDIwMDA4MjEyMDAwMDgyMEUyMDAwRjYKKzoxMDAwNTAwMDgyMUEwMDAwMEQyRDAzMDAxMDA4MDAwMDNBMDQxMDAwNjEKKzoxMDAwNjAwMDhERDMwMjAwMTAwODAwMDAzQTA0MTgwMDBEMDEwMDAwQjIKKzoxMDAwNzAwMDE1MDAwMjAwRkQwMDAwMDAyMDAwMDAwMDYwODgwMzAwNjEKKzoxMDAwODAwMDYwOTAwMzAwNjA4MDAzMDA0MDgwMDMwMDQwODAwMzAwMTQKKzoxMDAwOTAwMDQwODAwMzAwNDA4MDAxMDA3RDBBMDAwMDQwODAwMzAwOTIKKzoxMDAwQTAwMDQwODAwMzAwNDA4MDAxMDAwMjA0MjAwMDgyMDgwMDAwMUMKKzoxMDAwQjAwMDFBMDAwODAwMDQwOTAwMDA4NjU5MDEwMDA3MDAwMDAwMkEKKzoxMDAwQzAwMDA3MDAyNjAwMDcwMDAwMDAwNzAwMDAwMDA2OEEwMTAwNjQKKzoxMDAwRDAwMDA3MDAwMDAwOEQwQzAzMDAxMDA4MDAwMDNBMDQxODAwMEYKKzoxMDAwRTAwMDA3MDAyNjAwN0QwODAwMDA0MjgwMDEwMDBBMTYwMDAwN0IKKzoxMDAwRjAwMDA2QTIwNDAwMDcwMDAwMDA4RDIxMDAwMDEwMDgwMDAwODcKKzoxMDAxMDAwMDNBMDQwODAwMDZDMjIxMDAwNzAwMDAwMEZEMDcwMDAwQjUKKzoxMDAxMTAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2OTMwMjAwRTIKKzoxMDAxMjAwMDk1MDEwMDAwMDQwRDA5MDAwNzAwMDAwMDIwMDgwMDAwRjAKKzoxMDAxMzAwMEY1MDAwMDAwN0QwQjAwMDA2MEYwMDEwMEZEMDAwMDAwRjQKKzoxMDAxNDAwMDA2MjIwMzAwNDA4MDAxMDA3RDBBMDAwMDQyODAwMzAwNzcKKzoxMDAxNTAwMDRBODAxMzAwMEEwMDE4MDAyMDE4MDAwMDYwOTAwNTAwNzMKKzoxMDAxNjAwMDYwODgwNTAwNDA4MDAxMDBGRDAwMDAwMDQyODAwMTAwMjEKKzoxMDAxNzAwMDBBMDA3MDAwMTUwMTAwMDA0NDExMDcwMDg2MjMwMzAwRTcKKzoxMDAxODAwMDAwMDAwMzAwMjA3MDAwMDAwNjRBMDMwMDQwODAwMTAwQzgKKzoxMDAxOTAwMDhEMzQwMDAwMTAwODAwMDAzQTA0MDgwMDA2RUEyMTAwMkYKKzoxMDAxQTAwMDA3MDAwMDAwOEREMzAyMDAxMDA4MDAwMDNBMDQxODAwNzgKKzoxMDAxQjAwMDA2ODIwMTAwMDcwMDAwMDAwNzAwMjQwMDhEMEYwMDAwRTgKKzoxMDAxQzAwMDEwMDgwMDAwM0ExNjAwMDAwMjI0MDAwMDAyNUMwMDAwNDMKKzoxMDAxRDAwMEZEMjgwMDAwMjAwMDAwMDA0MDgwMDEwMDBEMDAwODAwMDQKKzoxMDAxRTAwMDE1MDgwMDAwODQwOTUxMDAwNzAwMDAwMDREMDAwMDAwQzAKKzoxMDAxRjAwMDVEMEUwMDAwMDIwRTAwMDA4RDQxMDAwMDEwMDgwMDAwOUUKKzoxMDAyMDAwMDNBMDQwODAwMDY4QTJDMDAwNzAwMDAwMDhEMDAwMDAwNTgKKzoxMDAyMTAwMDI0MDkwMDAwMDIwRjAwMDA4RDQ1MDAwMDEwMDgwMDAwQjYKKzoxMDAyMjAwMDNBMDQwODAwMDY4QTJDMDAwNzAwMDAwMDdEMzgwMDAwMTAKKzoxMDAyMzAwMDQyODAwMTAwMEEwMDA4MDAxNTEwMDAwMDg0MDkwMTAwMzYKKzoxMDAyNDAwMDg2ODMwMTAwMDcwMDAwMDAwNkFBMDEwMDA3MDAwMDAwRTUKKzoxMDAyNTAwMEZEMDgwMDAwNDI4MDAxMDAwQTAwMTgwMDA0MTkwMDAwOTcKKzoxMDAyNjAwMDg2ODAyMTAwMDcwMDI4MDAxMDE4MDAwMDNBMDQyODAwQUEKKzoxMDAyNzAwMDAyMEMyODAwMEQwMDAwMDAxMDA4MDAwMDNBMTQyODAwQUQKKzoxMDAyODAwMDhEODAwODAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwNzEKKzoxMDAyOTAwMDA3MDAyMDAwMEQwMjAwMDAwNDk5MTgwMDA3MDAwMDAwNkMKKzoxMDAyQTAwMDJENDAwMDAwQkQwMDAwMDBGRDAyMDAwMDQyODAwMTAwNjIKKzoxMDAyQjAwMDBBMDAwODAwMDQwOTAwMDA4NjVBMDUwMDA3MDAwMDAwMzMKKzoxMDAyQzAwMDAwMDEwMDAwMjAwQTAwMDA3RDA0MDAwMDQwODAwMTAwQzEKKzoxMDAyRDAwMDQyODAwMTAwMEEwMDIwMDAxNTMwMDAwMDQ0MjEwMTAwODYKKzoxMDAyRTAwMDg2NDkwMzAwMDcwMDAwMDAwNDIxMDAwMDg2NDkwMzAwM0UKKzoxMDAyRjAwMDA3MDAwMDAwOEQwRjAwMDAxMDA4MDAwMDNBMEMyODAwRDUKKzoxMDAzMDAwMDQ0MzkwMjAwODZDOTA2MDAwNzAwMDAwMDEwMTgwMDAwRUEKKzoxMDAzMTAwMDNBMDQyODAwMEQ4MTA4MDAyMDA4MDAwMEZEMDIwMDAwQkEKKzoxMDAzMjAwMDQwODAwMTAwMDcwMDIwMDAxMDI4MDAwMDNBMDA3ODAwRkIKKzoxMDAzMzAwMDhENjgwMDAwMTAwODAwMDAzQTA0MDgwMDA2OEEyODAwQjIKKzoxMDAzNDAwMDA3MDAwMDAwMEQ0MDAwMDAxNTEwMDAwMDA0OTkxODAwN0YKKzoxMDAzNTAwMDA0MjkyOTAwMDQzOTM5MDAwNzAwMDAwMDA2MDIwNjAwQkMKKzoxMDAzNjAwMDA3MDAwMDAwRjUwNDAwMDA3RDAwMDAwMDIwMDAwMDAwRjAKKzoxMDAzNzAwMDhEMDAwMDAwNjAwODAxMDA0MDgwMDEwMDdEMDQwMDAwNDUKKzoxMDAzODAwMDQyODAwMzAwNEE4MDIxMDAwQTAwMTgwMDQ0MTkwMjAwM0MKKzoxMDAzOTAwMDg2NTgyMTAwMDcwMDAwMDA3NTQwMDAwMDA0RjE3MTAwM0MKKzoxMDAzQTAwMDA3MDAwMDAwNDIwMDAxMDAwQTAwMjgwMDA0MjkwMDAwQTQKKzoxMDAzQjAwMDg2MjAyMTAwMDcwMDAwMDAwRDNDMDAwMDA0QTkzMDAwNDkKKzoxMDAzQzAwMDA3MDAwMDAwN0QwNzAwMDA0MjgwMDEwMDBBMDAwODAwQ0QKKzoxMDAzRDAwMDA0MDkwMDAwODZEQTA3MDA3RDA1MDAwMDIwMjgwMDAwREYKKzoxMDAzRTAwMDYwQjAwMzAwMDZGMjA3MDA0MDgwMDEwMDIwMzAwMDAwRUEKKzoxMDAzRjAwMDYwQTgwMzAwNDA4MDAxMDBGRDAyMDAwMDQyODAwMTAwNkYKKzoxMDA0MDAwMDBBMDAwODAwMDQwOTAwMDA4NkZBMDcwMDA3MDAwMDAwM0YKKzoxMDA0MTAwMDdEMDUwMDAwNDI4MDAxMDAwQTA0MjgwMDhEMEUwMDAwQzYKKzoxMDA0MjAwMDEwMDgwMDAwM0EwQzI4MDAwRDAwMDAwMDEwMDgwMDAwMjEKKzoxMDA0MzAwMDNBMTQyODAwMEQwMDA5MDAyMDA4MDAwMEZEMDIwMDAwMDkKKzoxMDA0NDAwMDQwODAwMTAwMDcwMDIwMDBGRDNEMDAwMDIwMDAwMDAwNkEKKzoxMDA0NTAwMDQwODAwMTAwN0QxMDAwMDA4RDhEMDAwMDEwMDgwMDAwMUMKKzoxMDA0NjAwMDNBMDQwODAwMDY4QTI4MDAwNzAwMDAwMDE1MDgwMDAwNkEKKzoxMDA0NzAwMDFBMDAwODAwODQwOTAxMDA4NjUxMDkwMDdEMTMwMDAwNUMKKzoxMDA0ODAwMDAwMDUyMDAwMjAwRjI4MDA2MDhGMzMwMDYwOEYzQjAwQTQKKzoxMDA0OTAwMDYwOEY0MzAwNjA4RjRCMDA2MDhGNTMwMDYwOEY1QjAwNjQKKzoxMDA0QTAwMDYwOEEwMzAwNDA4MDAxMDBCRDdGMDAwMEM0M0QzODAwMjkKKzoxMDA0QjAwMDA3MDAwMDAwN0QxQTAwMDA3NTEzMDAwMDQyODAwMTAwNTMKKzoxMDA0QzAwMDRBMDAwOTAwMEEwMDEwMDAwNDhEMEIwMDA0OTUxMzAwNzcKKzoxMDA0RDAwMDA3MDAwMDAwMjAwODAwMDA2MDkwMDEwMDA0MTEwMDAwRTcKKzoxMDA0RTAwMDg2MjAyMTAwNDAwMDAxMDBGRDE3MDAwMDQyODAwMTAwMkQKKzoxMDA0RjAwMDBBMDAwODAwMDQwOTAwMDA4NjIyMjEwMDA3MDAwMDAwMEQKKzoxMDA1MDAwMDdEMTkwMDAwNDI4MDAzMDA0QTgwMDkwMDBBMDAxMDAwQTMKKzoxMDA1MTAwMDI0MDkwMDAwNjQxNjAwMDBGRDExMDAwMDQyODAwMzAwNjEKKzoxMDA1MjAwMDRBODAyQjAwNEE4MDE5MDA4RDAwMDAwMDQ0ODkyMTAwNzgKKzoxMDA1MzAwMDA3MDAwMDAwNDQyMjAwMDA4NkUxMEEwMDA3MDAwMDAwRDYKKzoxMDA1NDAwMDY0MUEwMDAwMjQyQTAwMDA3RDE5MDAwMDAyMDEwODAwM0UKKzoxMDA1NTAwMDIyMDExMDAwMjAwODAwMDA2MDkwMDMwMDQwODAwMTAwOEMKKzoxMDA1NjAwMEZEM0QwMDAwOEQwMDAwMDAyMDA4MDAwMDQwODAwMTAwREIKKzoxMDA1NzAwMDc1MTMwMDAwN0QxQTAwMDA0MjAwMDEwMDRBODAwOTAwNDYKKzoxMDA1ODAwMDBBMDAxMDAwMUQwMjAwMDBFNDg5MDEwMEU0OTIyOTAwMjUKKzoxMDA1OTAwMDQ0OTEzMDAwMDcwMDAwMDAwRDA2MDAwMDE1MEEwMDAwMUQKKzoxMDA1QTAwMDFEMEMwMDAwMjUxMDAwMDBFNEE5MDAwMEU0MkIwMTAwNTAKKzoxMDA1QjAwMDY0MDQwMDAwRTRCMzAxMDBFNDMyMDIwMDY0MDQwMDAwQkIKKzoxMDA1QzAwMDY0MDQwMDAwNjQwNDAwMDA2NDA0MDAwMDBEMDQwMDAwRTIKKzoxMDA1RDAwMEM0QjEwODAwMDcwMDAwMDAyMDA4MDAwMEY1MEIwMDAwNkYKKzoxMDA1RTAwMDQwMDAwMzAwN0QxOTAwMDA0MjgwMDMwMDRBODAwOTAwOUEKKzoxMDA1RjAwMDI0MEEwMDAwMEEwMDA4MDA2NDBFMDgwMDA3MDAwMDAwM0EKKzoxMDA2MDAwMDIyMDExMDAwMjAwODAwMDA2MDEwMDMwMDQwMDAwMTAwREIKKzoxMDA2MTAwMEFDNjQwMDAwN0QwMjAwMDAyMDAwMDAwMDQwODAwMTAwNkEKKzoxMDA2MjAwMDdEMTAwMDAwNDI4MDAxMDBGRDExMDAwMDRBODAzQjAwNjcKKzoxMDA2MzAwMDRBODAwOTAwMEEwMDIwMDA5NTAwMDAwMDQ0MTExQTAwQjkKKzoxMDA2NDAwMDQ0QTEwMDAwODYyMDBEMDAwRDA0MDAwMDg0QjkwMDAwQzQKKzoxMDA2NTAwMDg2MjEwRDAwRkQxODAwMDA0MjgwMDEwMEZEMTAwMDAwMDEKKzoxMDA2NjAwMDRBODAwOTAwMEEwMDI4MDA5NTAwMDAwMDI0MDkwMTAwQzIKKzoxMDA2NzAwMDY0MkEwMDAwODYxMTBEMDAwNzAwMDAwMDA0MjkwMDAwMTQKKzoxMDA2ODAwMDg2MjIwRDAwMDcwMDAwMDAwNjJBMEQwMDAyMDAwODAwNjcKKzoxMDA2OTAwMDhEMDAwMDAwN0QzODAwMDAyMDA4MDAwMDQwODAwMTAwMkYKKzoxMDA2QTAwMDdEMTIwMDAwNDI4MDAxMDAwQTAwMTAwMDA0MzkwMDAwQTEKKzoxMDA2QjAwMDg2RDEwRDAwMEQwODAwMDBCNUZGN0YwMDg0QjkwMDAwNTEKKzoxMDA2QzAwMDg2QTEwRDAwMjUwMDAwMDAwNjdBMEUwMDJEMDAwMDAwMTYKKzoxMDA2RDAwMDE1MDAwMDAwMkQwODAwMDA4REM3MDIwMDIwMDgwMDAwNTIKKzoxMDA2RTAwMDA2QzIwRTAwMEQwMDAwMDAzNTgwN0YwMDg0QjkwMDAwQjYKKzoxMDA2RjAwMDg2NzEwRTAwMjUwMDQwMDA4RDAwMDAwMDQ0MDkxMTAwQTUKKzoxMDA3MDAwMDA3MDAwMDAwOEQwMTAwMDAwNDk1MTAwMDA3MDAwMDAwQTQKKzoxMDA3MTAwMDY0OTEwMDAwMjQwNDAwMDAyNDA0MDAwMDI0MDQwMDAwNkMKKzoxMDA3MjAwMDAyMDExMDAwMDIwMDI4MDA4REM2MDIwMDIwMDgwMDAwMEYKKzoxMDA3MzAwMDA2QzIwRTAwOEQwMTAwMDAyRDA0MDAwMDhEMDAwMDAwOTcKKzoxMDA3NDAwMDA0OTUxMDAwMDcwMDAwMDAwRDAyMDAwMDg0OTExMDAwQzUKKzoxMDA3NTAwMDA3MDAwMDAwMERDNzAyMDAyMDA4MDAwMDhEMDAwMDAwMDcKKzoxMDA3NjAwMEZEMzgwMDAwNDA4MDAxMDBGRDNCMDAwMDIwMTAwMDAwMkIKKzoxMDA3NzAwMDYwQTgwMzAwMTUwODAwMDA4NDMxMzEwMDg0MjEyMTAwQTUKKzoxMDA3ODAwMDA3MDAwMDAwNjBCMDAzMDA2MEEwMDMwMDQwODAwMTAwOEIKKzoxMDA3OTAwMEZEMjIwMDAwOTUwMDAwMDAyNDA5MDEwMDI0MDQwMDAwNEYKKzoxMDA3QTAwMDI0MDQwMDAwNjQxMjAwMDAwMjAxMTAwMDIwMDgwMDAwNzAKKzoxMDA3QjAwMDYwOTAwMzAwNDA4MDAxMDAyNDE5MDAwMDhERkIwMDAwQzAKKzoxMDA3QzAwMDdEMzkwMDAwMjAwODAwMDA0MDgwMDUwMDQyODAwMzAwQzEKKzoxMDA3RDAwMDRBODQwOTAwMDYwNjAwMDAwQTA0MDgwMDI0MDQwMDAwRjgKKzoxMDA3RTAwMDI0MDQwMDAwN0QxMTAwMDA0MjgwMDEwMDBBMDAwODAwN0UKKzoxMDA3RjAwMDI0MEEwMDAwMDIwNTI4MDAwMjBDMjgwMDBEODAwOTAwRDAKKzoxMDA4MDAwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDA3MDAyMDAwRDkKKzoxMDA4MTAwMEZEMjIwMDAwNDI4MDAxMDAwQTAwMDgwMDk1MDAwMDAwNEYKKzoxMDA4MjAwMEM0MEQyODAwMjQxOTAxMDA3RDE5MDAwMDQyODAwMTAwMzgKKzoxMDA4MzAwMEZEMTEwMDAwNEE4MDA5MDAwQTAwMTAwMEI1MDAwMDAwMDgKKzoxMDA4NDAwMDQ0MzExMTAwMDQ4RDBBMDAwNzAwMDAwMDQ0MEEwODAwMkEKKzoxMDA4NTAwMDA0OTUxMjAwMDcwMDAwMDBGRDIzMDAwMDIwMTAwMDAwOTYKKzoxMDA4NjAwMDQwODAwMzAwNDQxMjEwMDAwNzAwMDAwMDIwMDgwMDAwMzAKKzoxMDA4NzAwMDYwOTAwMzAwNDA4MDAxMDBGRDAyMDAwMDQyODAwMTAwMDIKKzoxMDA4ODAwMDBBMDAwODAwMDQwOTAwMDA4NkZBMTAwMDA3MDAwMDAwQjIKKzoxMDA4OTAwMEZEM0IwMDAwMDAwMTAwMDAxMDBBMDAwMDdBODAwQjAwMDAKKzoxMDA4QTAwMDRBODAxMzAwODQwOTA5MDAwNzAwMDAwMDk1MDAwMDAwMzkKKzoxMDA4QjAwMDA0M0QwMTAwODY4MDExMDAwQTAwMTAwMDAyMDAxMDAwQjMKKzoxMDA4QzAwMDg0MDkwOTAwMDcwMDAwMDA0MjgwMDMwMDRBODAxMTAwRUIKKzoxMDA4RDAwMDA0MEQwOTAwMDcwMDAwMDAwQTAwMTAwMDg0MEQwOTAwNDMKKzoxMDA4RTAwMDA3MDAwMDAwN0QyNTAwMDAyMDA4MDAwMDQwODAwMTAwNzYKKzoxMDA4RjAwMDBEMDEwMDAwMTAwODAwMDAzQTE0MjgwMDdEMTIwMDAwQ0QKKzoxMDA5MDAwMDQyODAwMTAwMEEwMDIwMDA3RDE5MDAwMDQyODAwMTAwQTEKKzoxMDA5MTAwMDdEMTEwMDAwNEE4MDMxMDAwQTAwMTAwMDI0MzEwMDAwREYKKzoxMDA5MjAwMDBEMjgwMTAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwRUUKKzoxMDA5MzAwMDQyODAwMzAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwRjkKKzoxMDA5NDAwMDAyMDEzMDAwMjQzMTAwMDAyNDA0MDAwMDI0MDQwMDAwQ0YKKzoxMDA5NTAwMDI0MTIwMDAwMDIwNTI4MDA0QzFBMDAwMDg2MDExMzAwMzIKKzoxMDA5NjAwMDAyMDA3MDAwMkQwMDAwMDAwMDAwMDMwMDdEMzgwMDAwMzAKKzoxMDA5NzAwMDQyODAwMTAwMEEwMDEwMDAwNjJBMTMwMDI0MjEwMDAwMTIKKzoxMDA5ODAwMEFEMDAwMDAwMDIwMDEwMDAwRDAxMDAwMDI0MDkwMDAwNkQKKzoxMDA5OTAwMDI0NkIwMDAwOEQzNjAxMDA3RDM5MDAwMDIwMDgwMDAwMjYKKzoxMDA5QTAwMDQwODAwNTAwNDI4MDAzMDA0QTg0MDkwMDA2MDYwMDAwREEKKzoxMDA5QjAwMDBBMDQwODAwNjQzMjAwMDA4RDAwMDAwMDI0MEEwMDAwRDAKKzoxMDA5QzAwMDIwMTAwMDAwN0QyMjAwMDA0MDgwMDEwMDBEM0MwMTAwNEQKKzoxMDA5RDAwMDEwMDgwMDAwM0EwNDA4MDAwNkQyMjkwMDA3MDAwMDAwQjEKKzoxMDA5RTAwMDIwMjgwMDAwN0QyMDAwMDA0MDgwMDEwMDdEMTEwMDAwRDMKKzoxMDA5RjAwMDQyODAwMzAwNEE4MDEzMDAwQTgwMzMwMDdEMzgwMDAwRTMKKzoxMDBBMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2M0ExNjAwMkUKKzoxMDBBMTAwMDA3MDAwMDAwOEQwMDAwMDA2NDA5MDMwMDhENDcwMTAwRkQKKzoxMDBBMjAwMDdEMzkwMDAwMjAwODAwMDA0MDgwMDUwMDQyODAwMzAwNUUKKzoxMDBBMzAwMDRBODQwOTAwMDYwNjAwMDAwQTA0MDgwMDAyMDEzODAwODIKKzoxMDBBNDAwMDI0MDQwMDAwMjQwNDAwMDAyNDEyMDAwMEZEMDIwMDAwMjEKKzoxMDBBNTAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2QTIxNDAwNzgKKzoxMDBBNjAwMDA3MDAwMDAwMDIwNTI4MDA0QzFBMDAwMDg2MzkxNjAwMTUKKzoxMDBBNzAwMDA3MDAwMDAwNjQyMTAzMDAyQzYzMDAwMEZEM0QwMDAwMUUKKzoxMDBBODAwMDQyODAwMTAwMEEwMDA4MDA5NTAwMDAwMDA0MDkwOTAwRTYKKzoxMDBBOTAwMDA3MDAwMDAwMjAwODAwMDA0QzFBMDAwMDg2NjExNTAwQzUKKzoxMDBBQTAwMDQwODAwMTAwMDAwMDAzMDAwNjdBMTUwMDI0MjEwMDAwQTgKKzoxMDBBQjAwMDBEMDEwMDAwMjQwOTAwMDAyNDZCMDAwMDhENUIwMTAwODMKKzoxMDBBQzAwMDdEMzkwMDAwMjAwODAwMDA0MDgwMDUwMDQyODAwMzAwQkUKKzoxMDBBRDAwMDRBODQwOTAwMDYwNjAwMDAwQTA0MDgwMDY0M0EwMDAwN0YKKzoxMDBBRTAwMDk1MDAwMDAwMjQxMjAwMDBGRDAyMDAwMDQyODAwMTAwNzkKKzoxMDBBRjAwMDBBMDAwODAwMDQwOTAwMDA4NkRBMTUwMDA3MDAwMDAwNUIKKzoxMDBCMDAwMDhENjIwMTAwMTAwODAwMDAzQTA0MDgwMDA2RDIyOTAwOTYKKzoxMDBCMTAwMDA3MDAwMDAwMDZEMjE0MDAwNzAwMDAwMDIwNzAwMDAwNEIKKzoxMDBCMjAwMDBBMDEwODAwMkEwMTEwMDBGRDIwMDAwMDYwODgwMzAwNkYKKzoxMDBCMzAwMDYwOTAwMzAwNDA4MDAxMDA3RDIyMDAwMDQyODAwMTAwOUYKKzoxMDBCNDAwMEZEM0QwMDAwMEEwMDA4MDA0QTg0MzEwMDA0MDkwMDAwNEQKKzoxMDBCNTAwMDg2RDgxNjAwOEIwMDE4MDA4RDAwMDAwMDA0OTkxODAwM0MKKzoxMDBCNjAwMDJDMzEwMDAwMDZBQTE3MDAwNzAwMDAwMDRDMzIwMDAwREMKKzoxMDBCNzAwMDg2MzMxNzAwMDcwMDAwMDAwNDE5MDAwMDg2MzAxNzAwQjQKKzoxMDBCODAwMDA3MDAwMDAwOTUwMDAwMDA0NDkxMTkwMDJDMjIwMDAwOEQKKzoxMDBCOTAwMDI0MzEwMDAwNkM2MzAwMDAzRDBFMDAwMDc1MTMwMDAwNUUKKzoxMDBCQTAwMEZEMEIwMDAwNDIwMDAxMDA0QTgwMDkwMDBBMDAxMDAwMEQKKzoxMDBCQjAwMEVDOEEwMzAwRUM5MzAzMDA0QzIyMDAwMDg2QTkxNzAwODYKKzoxMDBCQzAwMDA3MDAwMDAwOEQwMDAwMDAwNDk5MTgwMDZDMjIwMDAwNEUKKzoxMDBCRDAwMDJDMzIwMDAwMEEwNTMwMDBBQjFEMzAwMDgzMjAwMDAwREQKKzoxMDBCRTAwMEZEMTgwMDAwNDI4MDAxMDAwQTAwMDgwMDI0ODkwMTAwNkQKKzoxMDBCRjAwMDAyMDUzMDAwODMxMDAwMDA3NTE4MDAwMDQyMDAwMTAwNUIKKzoxMDBDMDAwMDBBMDAxMDAwOEQwMDAwMDAyNDA5MDEwMDc1MTMwMDAwODcKKzoxMDBDMTAwMDQyMDUzMzAwQ0IwQzMzMDBDQjJDMzMwMENCMzQzMzAwRjQKKzoxMDBDMjAwMENCM0MzMzAwQ0I0NDMzMDBDQjRDMzMwMENCNTQzMzAwQUMKKzoxMDBDMzAwMDhCNUMzMDAwODM2MDAwMDBGNTAyMDAwMDQyMDAwMTAwODAKKzoxMDBDNDAwMDBBMDAwODAwMDQwOTAwMDA4NjdBMTgwMDA3MDAwMDAwNjYKKzoxMDBDNTAwMDJEMUUwMDAwRkQwNTAwMDA0MjgwMDEwMDBBMDAwODAwNzIKKzoxMDBDNjAwMDI0ODkwMjAwMDIwNTI4MDAwRDA2MDAwMDEwMDgwMDAwN0IKKzoxMDBDNzAwMDNBMEMyODAwOEQwMDAwMDAxMDA4MDAwMDNBMTQyODAwRUIKKzoxMDBDODAwMDhEODAwQTAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwRUQKKzoxMDBDOTAwMDA3MDAyMjAwNzUxMjAwMDA0MjAwMDMwMDRBMDAyMTAwRjQKKzoxMDBDQTAwMDhEMDAwMDAwNDQwOTFBMDAwNzAwMDAwMDBEOTgwMTAwQTMKKzoxMDBDQjAwMDEwMDgwMDAwM0EwNDA4MDAwNjIyMkIwMDA3MDAwMDAwN0MKKzoxMDBDQzAwMEY1MDEwMDAwNDIwMDAzMDA0QTAwMEQwMDBBMDAxMDAwNzgKKzoxMDBDRDAwMDQ0OTEwODAwMDcwMDAwMDAyMDA4MDAwMDQwMDAwMTAwQzcKKzoxMDBDRTAwMEY1MjUwMDAwNDQzMTBBMDAwNzAwMDAwMDIwMDgwMDAwM0MKKzoxMDBDRjAwMDYwMjgwMzAwNDAwMDAzMDA3RDIxMDAwMDQyODAwMzAwQzMKKzoxMDBEMDAwMDRBODAwQjAwMEEwMDEwMDAyMDA4MDAwMDYwMTAwMzAwNTkKKzoxMDBEMTAwMDQwMDAwMzAwOEQwMDAwMDAyNDAxMDAwMDJDMDEwMDAwQjEKKzoxMDBEMjAwMDY0MEUwMDAwNjQxQTAwMDA2QzYzMDAwMDBBMDEwODAwRjEKKzoxMDBEMzAwMDJBMDExMDAwMjAwODAwMDA2MDEwMDMwMDQwMDAwMzAwOUEKKzoxMDBENDAwMEZEMjAwMDAwNDI4MDAxMDAwQTAwMDgwMDdEMjIwMDAwMTIKKzoxMDBENTAwMDQyODAwMTAwMEEwMDEwMDAyMDA4MDAwMDYwMTAwMzAwMUIKKzoxMDBENjAwMDQwMDAwMzAwN0QxOTAwMDA0MjgwMDEwMDBBMDAwODAwRDUKKzoxMDBENzAwMEZEMjIwMDAwNDI4MDAzMDAwQTAwMTAwMDIwMDgwMDAwNEQKKzoxMDBEODAwMDYwMTAwMzAwNDAwMDAzMDAwNDBEMDkwMDA3MDAwMDAwOEMKKzoxMDBEOTAwMDIwMDgwMDAwNDAwMDAzMDA0MjgwMDMwMDRBODAwQjAwNEUKKzoxMDBEQTAwMDBBMDAxMDAwMjAwODAwMDA2MDEwMDMwMDQwMDAwMzAwNEIKKzoxMDBEQjAwMDQyODAwMzAwNEE4MDEzMDA0QTgwMTkwMDA0MEQxMTAwOEMKKzoxMDBEQzAwMDA0OEQxOTAwMDcwMDAwMDAwQTAwMDgwMDIwMTAwMDAwMzAKKzoxMDBERDAwMDYwMTgwMzAwNjAwODAzMDA0MDAwMDMwMDhEMDAwMDAwNUQKKzoxMDBERTAwMDQ0MDkwQjAwMDcwMDAwMDAyMDA4MDAwMDQwMDAwMTAwM0IKKzoxMDBERjAwMEY1MDUwMDAwNDIwMDAzMDAwQTAwMDgwMDIwMDgwMDAwN0EKKzoxMDBFMDAwMDQwMDAwMTAwRjUwMDAwMDA0MjAwMDEwMDBBMDAwODAwNTcKKzoxMDBFMTAwMDA0MDkwMDAwODY2MDFDMDA3NTFFMDAwMDQyMDAwMzAwRUIKKzoxMDBFMjAwMDRBMDQwMTAwMEEwQzAwMDAwNjcyMUMwMDA3MDAwMDAwQzIKKzoxMDBFMzAwMDAyMDQwMDAwMDIwQzAwMDA3RDE3MDAwMEY1MUEwMDAwRkIKKzoxMDBFNDAwMDQyODAwMTAwNEExNDAzMDA0QTFDMDMwMDRBMjQwMzAwQTQKKzoxMDBFNTAwMDRBMkMwMzAwNEEzNDAzMDA0QTNDMDMwMDRBNDQwMzAwN0UKKzoxMDBFNjAwMDBBNEMwMDAwM0QwNDAwMDBGNTEzMDAwMEZEMUEwMDAwQ0MKKzoxMDBFNzAwMDQyMDAwMzAwNEEwMDBCMDA0QTgwMUIwMDRBODAxMzAwMTYKKzoxMDBFODAwMDBBMDAyMDAwNDQ5MTA4MDA0NEExMTkwMEU0ODkwMzAwRUQKKzoxMDBFOTAwMEVDOTkwMzAwMDI1NTAwMDAwQTVEMDAwMDQyMDAwMzAwQzcKKzoxMDBFQTAwMDRBMDAwQjAwNEE4MDFCMDA0QTgwMTMwMDBBMDAyMDAwMDEKKzoxMDBFQjAwMDQ0OTEwODAwNDRBMTE5MDBFNDg5MDMwMEVDOTkwMzAwNUYKKzoxMDBFQzAwMDAyNjUwMDAwMEE2RDAwMDA0MjAwMDMwMDRBMDAwQjAwQUEKKzoxMDBFRDAwMDRBMDAxOTAwNEE4MDJCMDA0QTgwMTMwMDRBODAyMTAwRjIKKzoxMDBFRTAwMDBBMDAzMDAwNDQ5MTA4MDA0NEExMTkwMDQ0QjEyQTAwQ0UKKzoxMDBFRjAwMEU0ODkwMzAwRUM5OTAzMDAwMjc1MDAwMDBBN0QwMDAwRkMKKzoxMDBGMDAwMEU0QTkwMzAwMDIwNzAwMDA3RDEwMDAwMDE1MDQwMDAwQTIKKzoxMDBGMTAwMDQyODAwMTAwMEEwMDA4MDBFNDA5MDEwMDAyMEYwMDAwRkQKKzoxMDBGMjAwMEY1MkEwMDAwRkQxOTAwMDA0MjAwMDEwMDRBODAwOTAwNzYKKzoxMDBGMzAwMDBBMDAxMDAwMzQwOTAwMDA3NDE2MDAwMEY1MjkwMDAwQjIKKzoxMDBGNDAwMDQyMDAwMTAwMEEwMDEwMDA3QzkxMDAwMDc1MjAwMDAwQTIKKzoxMDBGNTAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2RDIxRTAwQjkKKzoxMDBGNjAwMEY1MjYwMDAwRjUyNzAwMDA0MjAwMDMwMDRBMDAwOTAwQjIKKzoxMDBGNzAwMDBBMDAxMDAwM0MwQTAwMDA3QzE2MDAwMDc1MUEwMDAwRjAKKzoxMDBGODAwMEZEMEIwMDAwNDIwMDAxMDA0QTgwNTEwMDBBMDA0ODAwQTkKKzoxMDBGOTAwMDA3MDAxNjAwNzUxMDAwMDA0MjAwMDEwMDBBMkMyODAwMEUKKzoxMDBGQTAwMDEyMUQyODAwMTIyNTI4MDAzMjFGMDAwMDA3MDAxRTAwMTUKKzoxMDBGQjAwMDA3MDAwRTAwNzUxOTAwMDA0MjAwMDEwMEY1MkQwMDAwMjkKKzoxMDBGQzAwMDRBMDAwRDAwMEEwMDEwMDA0NDkxMDAwMDg2QjIxRjAwODQKKzoxMDBGRDAwMDQyMDAwMTAwMEEzNDI4MDA1RDBFMDAwMDhEMDAwMDAwNzAKKzoxMDBGRTAwMDc1MDMwMDAwMjAwODAwMDA0MDAwMDEwMEY0RDIwNTAwNTUKKzoxMDBGRjAwMDA0RDE1NDAwNUM3MzAwMDA4NjUzMjAwMDA3MDAwMDAwRjkKKzoxMDEwMDAwMDA3MDAwQzAwMDcwMDA4MDAwNzAwMEEwMDBEMDQwMjAwOUEKKzoxMDEwMTAwMDEwMDgwMDAwM0EwNDA4MDAwNjIyMzMwMDA3MDAwMDAwMTAKKzoxMDEwMjAwMDA2NUEyMDAwMDcwMDAwMDAwNzAwMDgwMDc1MjIwMDAwOTMKKzoxMDEwMzAwMDQyMDAwMTAwMEEwMDIwMDAwNDIxMDAwMDg2MjAyMTAwNTcKKzoxMDEwNDAwMDJEMUUwMDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwMDkKKzoxMDEwNTAwMDA0MDkwMDAwODY5MjIwMDAwNzAwMDAwMDEwMjAwMDAwMTQKKzoxMDEwNjAwMDNBMDQzMDAwN0QwNTAwMDBDMzgwMDEwMDBBMDAwODAwM0EKKzoxMDEwNzAwMDI0ODkwMjAwMDIwNTI4MDAwMjBDMjgwMDBEODEwQTAwQzQKKzoxMDEwODAwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDA3MDAyMjAwRDcKKzoxMDEwOTAwMEZEMDQwMDAwNDI4MDAxMDAwQTAwNzAwMDAwMDAwMzAwMEYKKzoxMDEwQTAwMDIwNzAwMDAwMDZGQTA2MDA0MDgwMDEwMDBEMTgwMjAwQzIKKzoxMDEwQjAwMDEwMDgwMDAwM0EwNDA4MDAwNjIyMkIwMDA3MDAwMDAwNzgKKzoxMDEwQzAwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwM0YKKzoxMDEwRDAwMDg2OEEyMTAwMDcwMDAwMDAwNkYyMDEwMDA3MDAwMDAwRDgKKzoxMDEwRTAwMDc1MDgwMDAwRkQwOTAwMDAwRDAxMDAwMDA2MEEyMjAwM0QKKzoxMDEwRjAwMDk1MDIwMDAwNzUwQjAwMDA3RDA5MDAwMDBEMDAwMDAwNDYKKzoxMDExMDAwMDE1MDUwMDAwNDIwMDAxMDAwQTAwMTgwMDA0MTkwMDAwNDMKKzoxMDExMTAwMDg2NzgyODAwRjUwNjAwMDAyMDEwMDAwMDQwMDAwMTAwM0QKKzoxMDExMjAwMEY1MDQwMDAwMjAwODAwMDA0MDAwMDEwMDc1MDcwMDAwRTEKKzoxMDExMzAwMDQyMDAwMTAwNEE4MDA5MDAwQTAwMTAwMDI0MTEwMDAwNEEKKzoxMDExNDAwMDA0MDkwMDAwODZCQTIyMDAxNTA4MDAwMDAyMDEwODAwMDgKKzoxMDExNTAwMDA0MTIxMDAwMDZEQTIyMDA3NTA1MDAwMDA0MTIwODAwQ0YKKzoxMDExNjAwMDA3MDAwMDAwMDIwMTEwMDA3NTA1MDAwMDI1MDQwMDAwQzIKKzoxMDExNzAwMDI0MTEwMjAwMDIwMTEwMDAyMDA4MDAwMDYwMTAwMzAwOEEKKzoxMDExODAwMDQwMDAwMTAwMjQxOTAwMDA4Njc4MjgwMDhEMDAwMDAwMkUKKzoxMDExOTAwMDY0MDQwMDAwMDQ5RDAwMDA4Njg4MjcwMDAyMDExODAwRjYKKzoxMDExQTAwMDc1MDUwMDAwNDIwMDAxMDAwQTA0MjgwMDhEMDEwMDAwQkUKKzoxMDExQjAwMDI0MDkwMDAwMDIwRDI4MDAwRDAwMDAwMDI0MDkwMDAwOTEKKzoxMDExQzAwMDAyMTUyODAwMEQwMDEwMDAyMDA4MDAwMEY1MDIwMDAwQTQKKzoxMDExRDAwMDQwMDAwMTAwMDcwMDIwMDA3NTExMDAwMEZEMDIwMDAwMjIKKzoxMDExRTAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2QzIyMzAwQjIKKzoxMDExRjAwMDA3MDAwMDAwMDAwMTAwMDAyMDBCMDgwMDYwMEIxMzAwMzYKKzoxMDEyMDAwMDYwMEIxQjAwNjAwQTAzMDA0MDAwMDEwMDQyMDAwNTAwNjMKKzoxMDEyMTAwMDRBMDAzRDAwNEEwMDM1MDA0QTAwMkQwMDBBMDAyMDAwMjcKKzoxMDEyMjAwMEY1MDYwMDAwNDIwMDAxMDAwQTE0MjgwMEY1MDQwMDAwNDEKKzoxMDEyMzAwMDQyMDAwMTAwMEEwMDA4MDAxNTAzMDAwMDA0MEQwMTAwMkYKKzoxMDEyNDAwMDg2Q0EyNDAwMTU0MDAwMDA5NTAwMDAwMDA0MEQwMTAwMkUKKzoxMDEyNTAwMDg2QjgyNDAwMjIwMDEwMDAyQTAwMTAwMDA2RTIyNDAwQjQKKzoxMDEyNjAwMDA3MDAwMDAwMDQzMTMzMDAwNEE5MkEwMDA3MDAwMDAwMzEKKzoxMDEyNzAwMDI0MjEwMzAwMDIwNTI4MDAyNDExMDAwMDI0MDQwMDAwOUEKKzoxMDEyODAwMDI0MDQwMDAwMjQzMjAwMDAyQzI5MDAwMDZDNjMwMDAwQkMKKzoxMDEyOTAwMDg2RjMyNTAwMDcwMDAwMDA2NEIxMDIwMDY0MDQwMDAwMkEKKzoxMDEyQTAwMDY0MDQwMDAwOEQwMDAwMDA2NDBBMDAwMDAyMEQyODAwQTQKKzoxMDEyQjAwMDhEMDAxMDAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwMzEKKzoxMDEyQzAwMDA3MDAyMjAwOEQwMDAwMDAwNEI5MzgwMDA3MDAwMDAwNkMKKzoxMDEyRDAwMDZDMjkwMzAwMEEwMTMwMDBGNTAyMDAwMDQyMDAwMTAwMDEKKzoxMDEyRTAwMDBBMDAwODAwMDQwOTAwMDA4NkJBMjUwMDA3MDAwMDAwNzMKKzoxMDEyRjAwMDJDMzEwMjAwMEEwNTI4MDA4RDAwMDAwMDZDMDkwMTAwNTUKKzoxMDEzMDAwMDBBMEQyODAwMEQwMTEwMDAyMDA4MDAwMEY1MDIwMDAwNjEKKzoxMDEzMTAwMDQwMDAwMTAwMDcwMDIyMDAyNDExMDAwMDI0MDQwMDAwMDYKKzoxMDEzMjAwMDI0MDQwMDAwMjQzMjAwMDAwMjAxMzAwMDQ0MjkwMzAwOUMKKzoxMDEzMzAwMDg2N0EyNjAwMDcwMDAwMDAwMjAwMzAwMEY1MDQwMDAwNTUKKzoxMDEzNDAwMDQyMDAwMTAwMEEwMDA4MDAxNTAzMDAwMDA0MEQwMTAwMUUKKzoxMDEzNTAwMDg2QzAyNjAwMjQzMTAwMDA2NDA0MDAwMDAyMDEzMDAwMzEKKzoxMDEzNjAwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwMjQKKzoxMDEzNzAwMDg2Q0EyNjAwMDcwMDAwMDAyNDMxMDAwMDAyMDUzMDAwNjQKKzoxMDEzODAwMDI0MzkwMDAwODMwNTMwMDA4MzA4MDAwMEY1MDUwMDAwQzMKKzoxMDEzOTAwMDQyMDAwMTAwMEEwNDI4MDA4RDAwMDAwMDI0ODEwMDAwQTIKKzoxMDEzQTAwMDAyMEQyODAwOEQwMDAwMDAyNDgxMDAwMDAyMTUyODAwOTUKKzoxMDEzQjAwMDhEMDExMDAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwMkYKKzoxMDEzQzAwMDA3MDAyMjAwMjUxMDAwMDA3NTA1MDAwMDQyMDAwMzAwMDAKKzoxMDEzRDAwMDRBMDAwOTAwMEEwMDEwMDAwNDA5MEEwMDA0MTExMjAwNjIKKzoxMDEzRTAwMDA3MDAwMDAwMjAxMDAwMDA2MDA4MDUwMDQwMDAwNTAwMTQKKzoxMDEzRjAwMEZEMDYwMDAwNDI4MDAxMDA0QTAwMDkwMDBBMDAxMDAwQkEKKzoxMDE0MDAwMEE1MDAwMDAwMDQwOTBBMDAwNDExMTIwMDA3MDAwMDAwRjIKKzoxMDE0MTAwMDIwMDgwMDAwNjA5MDAxMDA0MDAwMDEwMEY1MDIwMDAwN0IKKzoxMDE0MjAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2NDIyODAwNkEKKzoxMDE0MzAwMDA3MDAwMDAwMDYwQTIzMDAwNzAwMDAwMDA2MDYwMDAwNUYKKzoxMDE0NDAwMDA3MDAwMDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwNDkKKzoxMDE0NTAwMDA0MDkwMDAwODY5MjI4MDAwNzAwMDAwMDAwMDEwMDAwMzcKKzoxMDE0NjAwMDIwMEIwODAwNjA4QjEzMDA2MDhCMUIwMDYwOEIyMzAwMzcKKzoxMDE0NzAwMDYwOEIyQjAwNjA4QjMzMDA2MDhCM0IwMDYwOEI0MzAwRTQKKzoxMDE0ODAwMDYwOEI0QjAwNjA4QjUzMDA2MDhCNUIwMDYwOEI2MzAwNTQKKzoxMDE0OTAwMDYwOEI2QjAwNjA4QjczMDA2MDhCN0IwMDYwOEYwMzAwNDAKKzoxMDE0QTAwMDYwOEYwQjAwNjA4RjEzMDA2MDhGMUIwMDYwOEYyMzAwMjQKKzoxMDE0QjAwMDYwOEYyQjAwNjA4RjMzMDA2MDhGM0IwMDYwOEY0MzAwOTQKKzoxMDE0QzAwMDYwOEY0QjAwNjA4RjUzMDA2MDhGNUIwMDYwOEY2MzAwMDQKKzoxMDE0RDAwMDYwOEY2QjAwNjA4RjczMDA2MDhGN0IwMDYwOEEwMzAwRjkKKzoxMDE0RTAwMDA2MDYwMDAwNDA4MDAxMDA4RDAwMDAwMDY0MEEwMDAwMzQKKzoxMDE0RjAwMDAyMEQyODAwMjQwQTAwMDA3RDAyMDAwMDQyODAwMTAwNDUKKzoxMDE1MDAwMDBBMDAxMDAwMjQxMjAwMDBGRDAzMDAwMDQyODAwMTAwQzgKKzoxMDE1MTAwMDBBMDAwODAwMDQwOTAwMDA4NjgyMkEwMDA3MDAwMDAwNzMKKzoxMDE1MjAwMDhEMDEwMDAwMjQwQTAwMDA2NDA0MDAwMDY0MDQwMDAwMkYKKzoxMDE1MzAwMDAyMDEwODAwMjQwOTAwMDAyNDA0MDAwMDI0MDQwMDAwMjMKKzoxMDE1NDAwMDAyMDExMDAwMEQwMDAyMDA0NDkxMDAwMDg2RDkyQTAwMUIKKzoxMDE1NTAwMDA3MDAwMDAwRkQwMTAwMDA0MjgwMDEwMDBBMDAwODAwQjEKKzoxMDE1NjAwMDQ0MEEwMDAwODZCQjJBMDA0MjgwMDEwMDBEMDAwQTAwRTgKKzoxMDE1NzAwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDA3MDAyMDAwNUMKKzoxMDE1ODAwMDdEMDIwMDAwMjAxMDAwMDAwNjA2MDAwMDQwODAwMTAwREYKKzoxMDE1OTAwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwRjIKKzoxMDE1QTAwMDg2MkEyQjAwMDcwMDAwMDA3RDAzMDAwMDQyODAwMTAwMTYKKzoxMDE1QjAwMDBBMDAwODAwMDQwOTAwMDA4NjVBMkIwMDA3MDAwMDAwRkEKKzoxMDE1QzAwMDc1MDAwMDAwN0QyRTAwMDA0MjAwMDEwMDRBODAwQjAwRTMKKzoxMDE1RDAwMDIwMDAwMDAwMDQwOTAwMDA4NjA2MDAwMDQwMDAwMTAwMTEKKzoxMDE1RTAwMDRBODQzMTAwOEIwNDMwMDA4MzA4MDAwMDhEMDAwMDAwMjUKKzoxMDE1RjAwMDEwMDgwMDAwM0ExNDI4MDA4RDAwMDAwMDEwMDgwMDAwQjgKKzoxMDE2MDAwMDNBMEMyODAwNzUwNjAwMDA0MjAwMDEwMDBBMDAwODAwOUMKKzoxMDE2MTAwMDE1MzgwMDAwMjQwOTAxMDAwMjA1MjgwMDBEMDAwQjAwMDgKKzoxMDE2MjAwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDA2MDYwMDAwNEUKKzoxMDE2MzAwMDA3MDAyMjAwNjQwNDAwMDA2NDA0MDAwMDA2MDYwMDAwQTUKKzoxMDE2NDAwMDA3MDAwMDAwMzQwMTAwMDA4RDdGMDAwMDNDMDkwMDAwMEQKKzoxMDE2NTAwMDEyMUQyODAwMTIyNTI4MDAzMjFGMDAwMDA3MDAwRTAwNkUKKzoxMDE2NjAwMDBEMDEwMDAwN0QwMzAwMDAyMDA4MDAwMDQwODAwMTAwMDMKKzoxMDE2NzAwMEY0RDIwNTAwMDcwMDAwMDAwNzAwMDgwMDdEMDMwMDAwMDkKKzoxMDE2ODAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2MDIyRDAwQzMKKzoxMDE2OTAwMDA3MDAwMDAwMDYwNjAwMDAwNzAwMDAwMDA3MDAwMDAwMjkKKzoxMDE2QTAwMDEyMDAwMDAwMDcwMDEwMDAwNzAwMzIwMDA3MDA2MDAwNzEKKzoxMDE2QjAwMDgwMDAxMDAwMUEwMDQ4MDAwNDQ5MDAwMDg2NjEyRDAwRDcKKzoxMDE2QzAwMDA3MDAwMDAwMTAxMjAwMDAzQTAwNTgwMDQ1MDEwMDAwMTkKKzoxMDE2RDAwMDA0NUQ1QzAwMDcwMDAwMDA4MDAwMDAwMDFBMDA0ODAwNjQKKzoxMDE2RTAwMDA0NDkwMDAwODZCMTJEMDAwNzAwMDAwMDEwMTIwMDAwMjAKKzoxMDE2RjAwMDNBMDA1MDAwMDQ1OTAwMDA4NjA4MkUwMDQ1MDAwMDAwMDIKKzoxMDE3MDAwMEM1MDAwMDAwRjVGRjdGMDA3REZGN0YwMDI0RDUwNzAwQTYKKzoxMDE3MTAwMDI0NDIwMDAwMDIwMTUwMDAwMjA1MjAwMDgyMDAwMDAwNjcKKzoxMDE3MjAwMDFBMDA0MDAwMDQ0MTAwMDA4NjM5MkUwMDA3MDAwMDAwMjYKKzoxMDE3MzAwMDY1MzgwMDAwMUEwMDQwMDAyMDQwMDAwMDREMTAwMDAwRjUKKzoxMDE3NDAwMDg0QzEwNDAwODYxQjMwMDA0MDAwMDAwMDA3MDAwNDAwMzQKKzoxMDE3NTAwMDY1MDEwMDAwNDUwMTAwMDAyMDQwMDAwMDQwMDAwMDAwM0QKKzoxMDE3NjAwMDY1MDcwMDAwODAwMDA4MDAxQTAwNDAwMDA0NDEwMDAwRTYKKzoxMDE3NzAwMDg2QzkyRTAwMDcwMDAwMDAxMDEyMDAwMDNBMDA0MDAwNDkKKzoxMDE3ODAwMDA0NDEwMDAwODYyMjJGMDA0RDAwMDAwMENEMDAwMDAwMjMKKzoxMDE3OTAwMDEwNDgwMDAwM0EwNDIwMDA4MjA4MDAwMDFBMDA0MDAwQUYKKzoxMDE3QTAwMDA0NDEwMDAwODYzMTJGMDAwNzAwMDAwMDIwNDgwMDAwOUYKKzoxMDE3QjAwMDA0NTkwMDAwODYwODMwMDA0MDAwMDAwMEU1MDcwMDAwRTIKKzoxMDE3QzAwMDgwMDQyMDAwQTAxNjI4MDBFMDE2MzIwMEUwMTYzQTAwM0YKKzoxMDE3RDAwMEUwMTY0MjAwNjAxMjAyMDA0MDAwMDAwMDMyMDAwMDAwRUIKKzoxMDE3RTAwMDc1MDA0MDAwN0QwMDAwMDA3NEQ1MDcwMDEyMDUyMDAwNDAKKzoxMDE3RjAwMDgyMDAwMDAwMUEwMDQwMDAwNDQxMDAwMDg2RTEyRjAwMzIKKzoxMDE4MDAwMDA3MDAwMDAwMDY3MjAzMDAwNzAwNjQwMDA3MDAwNjAwREUKKzoxMDE4MTAwMEU1MDAwMDAwMjAwMDAwMDA0MDAwMDAwMDY1MEEwMDAwMTQKKzoxMDE4MjAwMDIwMDAwMDAwNDAwMDAyMDA0MDAwMDIwMDQwMDAwMDAwRDQKKzoxMDE4MzAwMDY1MDEwMDAwNDIwMDAwMDAwQTAwNzAwMDA0NzEwMDAwMTEKKzoxMDE4NDAwMDg2QTIzMDAwMDcwMDAwMDAwNjgyMDEwMDA3MDA2NDAwNDUKKzoxMDE4NTAwMDAwMDAwNTAwMjA3MDAwMDA0MDAwMDAwMDA2NzIwMzAwMzgKKzoxMDE4NjAwMDA3MDA2NDAwMDcwMDAwMDA2RDMwMDAwMDYwODgwMjAwN0YKKzoxMDE4NzAwMDYwOTAwMjAwMEEwMDA4MDA2MDg4MDIwMDQwODAwMDAwQkEKKzoxMDE4ODAwMDEyMDAxMDAwMEQxMDAwMDA4NDkxMDAwMDg2NDEzMTAwMEMKKzoxMDE4OTAwMDBEMEUwMDAwODQ5MTAwMDA4NjUxMzIwMDA3MDAwMDAwMDgKKzoxMDE4QTAwMDA3MDAzMDAwMjAxMDAwMDA2RDNCMDAwMDQwODAwMDAwNjkKKzoxMDE4QjAwMDgwMDAwMDAwMUEwMDA4MDAwNDA5MDAwMDg2NjEzMTAwNjEKKzoxMDE4QzAwMDA3MDAwMDAwMjAxMjAwMDBFRDBEMDAwMDQwODAwMDAwMjUKKzoxMDE4RDAwMDQyODAwMDAwMEEwMDEwMDAwRDAwNDAwMDQ0OTUxMDAwRjYKKzoxMDE4RTAwMDA3MDAwMDAwMjAxMDAwMDBFRDBEMDAwMDQwODAwMDAwMDcKKzoxMDE4RjAwMDQyODAwMDAwMEEwNDIwMDA4MjAwMDAwMDFBMDAwODAwNTQKKzoxMDE5MDAwMDA0MDkwMDAwODZGMTMxMDAwNzAwMDAwMDZEM0IwMDAwNzMKKzoxMDE5MTAwMDQyODAwMDAwMEEwMDA4MDAxNTBFMDAwMDg0MDkwMTAwNDIKKzoxMDE5MjAwMDg2OUIzMjAwMDcwMDYwMDAxQTAwMDgwMDE1MEMwMDAwQkEKKzoxMDE5MzAwMDg0MDkwMTAwODY4MzMyMDAyMDAwMDAwMDA3MDAxQTAwOUQKKzoxMDE5NDAwMEVEMDIwMDAwNDA4MDAwMDAwNzAwNjIwMDZEMzAwMDAwRTIKKzoxMDE5NTAwMDQyODAwMjAwNEE4MDBBMDAyMDA4MDAwMDRBODAwQTAwRjMKKzoxMDE5NjAwMDA2MDYwMDAwNEE4MDEwMDAwNzAwMDAwMDEyMjUyODAwMkIKKzoxMDE5NzAwMDMyMUYwMDAwRjREMjA1MDAwNEQxNTQwMDVDNzMwMDAwNTMKKzoxMDE5ODAwMDg2MDcwMDAwMDcwMDAwMDAwNzAwMEMwMDA3MDAwQTAwOUYKKzoxMDE5OTAwMDA3MDAxQzAwNjUzNDAwMDA0MDAwMDIwMDIwNDgwMDAwRTEKKzoxMDE5QTAwMDYwNTAwMjAwMEEwMDQwMDA2MDQwMDIwMDQwMDAwMDAwNTkKKzoxMDE5QjAwMDQ0NDk0NTAwMDcwMDAwMDAyMDQwMDAwMEU1M0EwMDAwQ0YKKzoxMDE5QzAwMDQwMDAwMDAwRTUyODAwMDA0MjAwMDAwMDBBMDA0ODAwMzYKKzoxMDE5RDAwMDA0NDkwMDAwODY2ODM4MDA2NTJDMDAwMDQyMDAwMDAwQzEKKzoxMDE5RTAwMDBBMDA0MDAwRDUwMDAwMDAwNDQxNDUwMDA3MDAwMDAwNDcKKzoxMDE5RjAwMDU1MDYwMDAwMDQ0NTA1MDA4NkYyMzQwMEQ1MDEwMDAwQkMKKzoxMDFBMDAwMDA0NDUwNTAwODZGMDM0MDA2NTJCMDAwMDQyMDAwMDAwMEMKKzoxMDFBMTAwMEU1M0EwMDAwNEEwMDUwMDAwQTAwNDAwMEQ0QzM0NTAwRTcKKzoxMDFBMjAwMDA3MDAwMDAwMDQ0NTQ1MDAwNzAwMDAwMENEMDAwMDAwNEQKKzoxMDFBMzAwMDQ0NDk0NDAwMDcwMDAwMDAwNDQ1NDUwMDA3MDAwMDAwMzkKKzoxMDFBNDAwMDREMDEwMDAwNDQ0OTU1MDAwNzAwMDAwMDQ0NTEwNDAwQzYKKzoxMDFBNTAwMDg2RTkzNDAwNjUyQzAwMDA0MjAwMDAwMDBBMDA0ODAwQkUKKzoxMDFBNjAwMDA0RDE0QzAwMDcwMDAwMDA0NEMxMDQwMDg2RjMzNDAwOTgKKzoxMDFBNzAwMDA3MDAwMDAwMDcwMDE2MDBFNTJDMDAwMDQyMDAwNDAwRUIKKzoxMDFBODAwMDBBMDA0MDAwMjA0MDAwMDA0MDAwMDAwMDY1MjkwMDAwREUKKzoxMDFBOTAwMDQyMDAwMDAwMEEwMDQwMDAwNDQxMDAwMDg2NjAzNTAwNUEKKzoxMDFBQTAwMDA3MDAwMDAwMDIyNDAwMDAwNkEyMzYwMDAyNUMwMDAwQ0QKKzoxMDFBQjAwMEU1MjUwMDAwNDIwMDAwMDAwQTAwNDAwMDc0NDIwMDAwREEKKzoxMDFBQzAwMEU1MkEwMDAwNDIwMDAwMDAwQTAwNDAwMDc0NDIwMDAwQzUKKzoxMDFBRDAwMDEyMDE1MDAwRTUyOTAwMDA0MjAwMDAwMDBBMDA0MDAwMDkKKzoxMDFBRTAwMDM0NDIwMDAwMDQ0MTQ1MDAwNzAwMDAwMDIwNDAwMDAwOEYKKzoxMDFBRjAwMDQwMDAwMDAwRTUzRTAwMDAyMDAwMDAwMDQwMDAwMDAwMjMKKzoxMDFCMDAwMEU1MkQwMDAwNTIwMTQwMDAwQTAwNTAwMDQ0NTEwNDAwM0QKKzoxMDFCMTAwMDg2NEEzNjAwQzUwMDAwMDBFNTNFMDAwMDIwNDAwMDAwNzcKKzoxMDFCMjAwMDQwMDAwMDAwRTUyQjAwMDA0MjAwMDAwMDBBMDA0MDAwRDkKKzoxMDFCMzAwMDU0NDI0MDAwMDcwMDAwMDBFNTJBMDAwMDIwNDAwMDAwNTkKKzoxMDFCNDAwMDQwMDAwMDAwMzIwMTUwMDAzNDAxMDQwMDc0NTYwMDAwQ0YKKzoxMDFCNTAwMEU1MjkwMDAwNDIwMDAyMDAwQTAwNDIwMDQyMDAwMDAwQTUKKzoxMDFCNjAwMDBBMDA1MDAwN0M0MTA1MDBFNTI4MDAwMDQyMDAwMDAwMEEKKzoxMDFCNzAwMDBBMDA0ODAwQzUwMDAwMDA0NEMxNEMwMDg2MTAzNzAwMzAKKzoxMDFCODAwMEU1MjYwMDAwRTUyNzAwMDA0MjAwMDIwMDRBMDA0MDAwNzAKKzoxMDFCOTAwMDBBMDA1MDAwM0M0MjAwMDA3QzU2MDAwMEU1MjgwMDAwOEUKKzoxMDFCQTAwMDIwNDgwMDAwNDAwMDAwMDAxMjFEMjgwMDEyMjUyODAwRDcKKzoxMDFCQjAwMDcyMUYwMDAwNjUyOTAwMDA0MjAwMDAwMDBBMDA0MDAwN0EKKzoxMDFCQzAwMDA0NDEwMDAwODZBQTM3MDAwNzAwMEUwMDA3MDAxNjAwMzcKKzoxMDFCRDAwMDA3MDAxRTAwRTUzRTAwMDA0MjAwMDAwMDBBMDA0MDAwMzEKKzoxMDFCRTAwMDA0NDEwMDAwODZFODM3MDA2NTJEMDAwMDQyMDAwMDAwMzcKKzoxMDFCRjAwMDBBMzQyODAwNjUzNDAwMDA0MjAwMDIwMDRBMDA0MjAwMTYKKzoxMDFDMDAwMDIwNDAwMDAwNEEwMDRBMDA0QTAwNTAwMEY0RDIwNTAwN0IKKzoxMDFDMTAwMDA0RDE1NDAwNUM3MzAwMDA4NjUxMzgwMDA3MDAwMDAwQjYKKzoxMDFDMjAwMDA2MDYwMDAwMDcwMDA4MDAwNzAwMEMwMDA3MDAwODAwNzcKKzoxMDFDMzAwMDA3MDAwQTAwRTUwMTAwMDA0NTAwMDIwMDIwNDAwMDAwMDYKKzoxMDFDNDAwMDYwMDAwMDAwNjUwMzAwMDA0MDAwMDAwMDY1MkUwMDAwRjkKKzoxMDFDNTAwMDIwMUEwMDAwNjAxQTBBMDA0MDAwMDAwMDY1MzQwMDAwRUQKKzoxMDFDNjAwMDQyMDAwMjAwNEEwMDQyMDAyMDQwMDAwMDRBMDA0QTAwQjAKKzoxMDFDNzAwMDA2MDYwMDAwNEEwMDUwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMDFDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKKzoxMDFDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMDFDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDFDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDFDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDFDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDFDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMDFEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDFEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDFEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMDFENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMDFENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMDFENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzoxMDFENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMDFEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMDFEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMDFEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMDFEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoxMDFEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMDFERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMDFERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMDFERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzoxMDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMDFFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKKzoxMDFFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKKzoxMDFFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMDFFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMDFFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMDFFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMDFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMDFFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMDFFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMDFFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzoxMDFFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzoxMDFFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIKKzoxMDFFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIKKzoxMDFFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjIKKzoxMDFFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTIKKzoxMDFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDEKKzoxMDFGMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzEKKzoxMDFGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjEKKzoxMDFGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTEKKzoxMDFGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDFGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDFGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDFGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDFGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDFGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDFGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDFGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDFGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDFGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDFGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDFGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDIwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDIwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDIwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDIwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKKzoxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKKzoxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKKzoxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKKzoxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKKzoxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKKzoxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKKzoxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDIzODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKKzoxMDIzOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDIzQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDIzQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDIzQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDIzRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDIzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzoxMDIzRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKKzoxMDI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0MKKzoxMDI0MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKKzoxMDI0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUMKKzoxMDI0MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKKzoxMDI0NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKKzoxMDI0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKKzoxMDI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzoxMDI0NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKKzoxMDI0ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKKzoxMDI0OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKKzoxMDI0QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKKzoxMDI0QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUMKKzoxMDI0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKKzoxMDI0RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKKzoxMDI0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzoxMDI0RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREMKKzoxMDI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0IKKzoxMDI1MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkIKKzoxMDI1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUIKKzoxMDI1MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUIKKzoxMDI1NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEIKKzoxMDI1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0IKKzoxMDI1NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkIKKzoxMDI1NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUIKKzoxMDI1ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEIKKzoxMDI1OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0IKKzoxMDI1QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkIKKzoxMDI1QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUIKKzoxMDI1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIKKzoxMDI1RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkIKKzoxMDI1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUIKKzoxMDI1RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREIKKzoxMDI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0EKKzoxMDI2MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkEKKzoxMDI2MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUEKKzoxMDI2MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUEKKzoxMDI2NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEEKKzoxMDI2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0EKKzoxMDI2NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzoxMDI2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUEKKzoxMDI2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEEKKzoxMDI2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0EKKzoxMDI2QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkEKKzoxMDI2QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUEKKzoxMDI2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEKKzoxMDI2RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkEKKzoxMDI2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUEKKzoxMDI2RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREEKKzoxMDI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzkKKzoxMDI3MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjkKKzoxMDI3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTkKKzoxMDI3MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTkKKzoxMDI3NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODkKKzoxMDI3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzkKKzoxMDI3NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjkKKzoxMDI3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTkKKzoxMDI3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDkKKzoxMDI3OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzkKKzoxMDI3QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjkKKzoxMDI3QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkKKzoxMDI3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkKKzoxMDI3RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjkKKzoxMDI3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTkKKzoxMDI3RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDkKKzoxMDI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzgKKzoxMDI4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgKKzoxMDI4MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTgKKzoxMDI4MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTgKKzoxMDI4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODgKKzoxMDI4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzgKKzoxMDI4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjgKKzoxMDI4NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTgKKzoxMDI4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDgKKzoxMDI4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzgKKzoxMDI4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgKKzoxMDI4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgKKzoxMDI4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgKKzoxMDI4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjgKKzoxMDI4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTgKKzoxMDI4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDgKKzoxMDI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzcKKzoxMDI5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjcKKzoxMDI5MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTcKKzoxMDI5MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTcKKzoxMDI5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcKKzoxMDI5NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMDI5NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjcKKzoxMDI5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTcKKzoxMDI5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDcKKzoxMDI5OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzcKKzoxMDI5QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcKKzoxMDI5QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcKKzoxMDI5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcKKzoxMDI5RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjcKKzoxMDI5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzoxMDI5RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDcKKzoxMDJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzYKKzoxMDJBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMDJBMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzoxMDJBMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTYKKzoxMDJBNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODYKKzoxMDJBNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzYKKzoxMDJBNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzoxMDJBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTYKKzoxMDJBODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDYKKzoxMDJBOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzYKKzoxMDJBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzoxMDJBQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYKKzoxMDJBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYKKzoxMDJBRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjYKKzoxMDJBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzoxMDJBRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYKKzoxMDJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzUKKzoxMDJCMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjUKKzoxMDJCMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzoxMDJCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMDJCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMDJCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMDJCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzoxMDJCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMDJCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMDJCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMDJCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMDJCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMDJCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKKzoxMDJCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMDJCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMDJCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDUKKzoxMDJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMDJDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMDJDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzoxMDJDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMDJDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMDJDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMDJDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMDJDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMDJDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKKzoxMDJDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMDJDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDJDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDJDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDJDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDJDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDJDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDJEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDJEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMDJEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMDJENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMDJENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzoxMDJENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMDJENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMDJEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMDJEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMDJEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoxMDJEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMDJEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMDJERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMDJERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzoxMDJERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMDJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKKzoxMDJFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKKzoxMDJFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMDJFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMDJFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMDJFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMDJFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMDJFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMDJFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMDJFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzoxMDJFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzoxMDJFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIKKzoxMDJFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIKKzoxMDJFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjIKKzoxMDJFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTIKKzoxMDJFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMDJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzEKKzoxMDJGMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjEKKzoxMDJGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTEKKzoxMDJGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDJGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDJGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDJGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDJGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDJGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDJGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDJGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDJGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDJGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDJGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDJGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDJGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDEKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS95YW1haGEvZHMxX2RzcC5mdy5paGV4IGIvZmlybXdhcmUveWFtYWhhL2RzMV9kc3AuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2IwYmE0Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUveWFtYWhhL2RzMV9kc3AuZncuaWhleApAQCAtMCwwICsxLDkgQEAKKzoxMDAwMDAwMDgxMDAwMDAwQTQwMTAwMDAwQTAwMDAwMDJGMDAwMDAwOTEKKzoxMDAwMTAwMDUzMDIwODAwMTcwMzgwMDE3QjQwMDAwMDNGODQwMDAwNkEKKzoxMDAwMjAwMDNDNDgwMTAwM0M5NDAxMDAzQ0Q4MDUwMDNDMUMwMDAwMDkKKzoxMDAwMzAwMDdCQzAwMDAwM0YwQzA1MDAzQzUwMjEwMTAwMDAwMDAwODcKKzoxMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDAwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKKzoxMDAwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS95YW1haGEvZHMxZV9jdHJsLmZ3LmloZXggYi9maXJtd2FyZS95YW1haGEvZHMxZV9jdHJsLmZ3LmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk3ZjQyOQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3lhbWFoYS9kczFlX2N0cmwuZncuaWhleApAQCAtMCwwICsxLDc2OSBAQAorOjEwMDAwMDAwMDcwMDAwMDAwNzAwMjQwMDA3MDAwQzAwMDcwMDFDMDA4OAorOjEwMDAxMDAwMDcwMDA2MDAwMjAwNzAwMDIwMDAwMDAwNDAwMDAzMDBGRQorOjEwMDAyMDAwMDQ3MTAwMDA4NjQyMDAwMDQwMDAwMzAwMEQwRjAwMDAzNAorOjEwMDAzMDAwMTAwODAwMDAzQTA0MjAwMDgyMDIwMDAwMEQwMjAwMDBCNworOjEwMDA0MDAwMTAwODAwMDAzQTA0MjAwMDgyMTIwMDAwODIwRTIwMDBGNgorOjEwMDA1MDAwMEQ4MDAwMDAxMDA4MDAwMDNBMDQyMDAwODIxQTAwMDAwMQorOjEwMDA2MDAwMEQ0NjAzMDAxMDA4MDAwMDNBMDQxMDAwMERFQzAyMDBEOQorOjEwMDA3MDAwMTAwODAwMDAzQTA0MTgwMDBEMDEwMDAwMTUwMDAyMDBFRAorOjEwMDA4MDAwRkQwMDAwMDAyMDAwMDAwMDYwODgwMzAwNjA5MDAzMDA3NQorOjEwMDA5MDAwNjA4MDAzMDA0MDgwMDMwMDQwODAwMzAwNDA4MDAzMDAzNAorOjEwMDBBMDAwNDA4MDAxMDA3RDBBMDAwMDQwODAwMzAwNDA4MDAzMDA4MgorOjEwMDBCMDAwNDA4MDAxMDAwMjA0MjAwMDgyMDgwMDAwMUEwMDA4MDBBRAorOjEwMDBDMDAwMDQwOTAwMDA4NjcxMDEwMDA3MDAwMDAwMDcwMDI2MDBGNworOjEwMDBEMDAwMDcwMDQwMDAwNzAwMDAwMDhEMjUwMzAwMTAwODAwMDAwNQorOjEwMDBFMDAwM0EwNDE4MDAwNzAwMjYwMDAyNDQyODAwN0QwODAwMDA5QQorOjEwMDBGMDAwNDI4MDAxMDAwQTE2MDAwMDA2QTIwNTAwMDcwMDAwMDA2OQorOjEwMDEwMDAwMDcwMDQ0MDAwRDIzMDAwMDEwMDgwMDAwM0EwNDA4MDAxNgorOjEwMDExMDAwMDZGQTIyMDAwNzAwMDAwMEZEMDcwMDAwNDI4MDAxMDBFRgorOjEwMDEyMDAwMEEwMDA4MDAwNDA5MDAwMDg2QUIwMjAwOTUwMTAwMDBFNworOjEwMDEzMDAwMDQwRDA5MDAwNzAwMDAwMDIwMDgwMDAwRjUwMDAwMDA4MQorOjEwMDE0MDAwN0QwQjAwMDA2MEYwMDEwMEZEMDAwMDAwMDYzQTAzMDA5NgorOjEwMDE1MDAwNDA4MDAxMDA3RDBBMDAwMDQyODAwMzAwNEE4MDEzMDBCNQorOjEwMDE2MDAwMEEwMDE4MDAyMDE4MDAwMDYwOTAwNTAwNjA4ODA1MDA1MworOjEwMDE3MDAwNDA4MDAxMDBGRDAwMDAwMDQyODAwMTAwMEEwMDcwMDA4NAorOjEwMDE4MDAwMTUwMTAwMDA0NDExMDcwMDg2M0IwMzAwMDAwMDAzMDAzNgorOjEwMDE5MDAwMjA3MDAwMDAwNjYyMDMwMDQwODAwMTAwMEQzNjAwMDA2MAorOjEwMDFBMDAwMTAwODAwMDAzQTA0MDgwMDA2MjIyMzAwMDcwMDAwMDA5RgorOjEwMDFCMDAwMERFQzAyMDAxMDA4MDAwMDNBMDQxODAwMDY5QTAxMDAzNQorOjEwMDFDMDAwMDcwMDAwMDAwNzAwMjQwMDhEMEYwMDAwMTAwODAwMDA0OQorOjEwMDFEMDAwM0ExNjAwMDAwMjI0MDAwMDAyNUMwMDAwRkQyODAwMDAyNgorOjEwMDFFMDAwMjAwMDAwMDA0MDgwMDEwMDBEMDAwODAwMTUwODAwMDBGQworOjEwMDFGMDAwODQwOTUxMDAwNzAwMDAwMDREMDAwMDAwNUQwRTAwMDA2MgorOjEwMDIwMDAwMDIwRTAwMDAwRDQzMDAwMDEwMDgwMDAwM0EwNDA4MDAzMAorOjEwMDIxMDAwMDYxMjJFMDAwNzAwMDAwMDhEMDAwMDAwMjQwOTAwMDBENworOjEwMDIyMDAwMDIwRjAwMDAwRDQ3MDAwMDEwMDgwMDAwM0EwNDA4MDAwQgorOjEwMDIzMDAwMDYxMjJFMDAwNzAwMDAwMDgwMDQ0ODAwMTAxMjAwMDA4MworOjEwMDI0MDAwM0EwNDI4MDA4RDc3MDAwMDEwMDgwMDAwM0EwQzI4MDBCRQorOjEwMDI1MDAwOEQwNjAwMDAxMDA4MDAwMDNBMTQyODAwMDI0NDI4MDAwRgorOjEwMDI2MDAwOEQyNTAzMDAxMDA4MDAwMDNBMDQxODAwOERGRjA3MDBEOAorOjEwMDI3MDAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDI2MDA2OQorOjEwMDI4MDAwMDcwMDIwMDBGRDAyMDAwMDQyODAwMTAwMEEwMDA4MDA3MworOjEwMDI5MDAwMDQwOTAwMDA4NjEyMDUwMDA3MDAwMDAwMDcwMDI0MDA4MgorOjEwMDJBMDAwMERFQzAyMDAxMDA4MDAwMDNBMDQxODAwN0QzODAwMDAzMAorOjEwMDJCMDAwNDI4MDAxMDAwQTAwMDgwMDE1MTAwMDAwODQwOTAxMDBCNgorOjEwMDJDMDAwODY5QjAxMDAwNzAwMDAwMDA2QjIwMTAwMDcwMDAwMDA0NQorOjEwMDJEMDAwRkQwODAwMDA0MjgwMDEwMDBBMDAxODAwMDQxOTAwMDAxNworOjEwMDJFMDAwODZCODIyMDAwNzAwMjgwMDEwMTgwMDAwM0EwNDI4MDBGMQorOjEwMDJGMDAwMDIwQzI4MDAwRDAwMDAwMDEwMDgwMDAwM0ExNDI4MDAyRAorOjEwMDMwMDAwOEQ4MDA4MDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDBGMAorOjEwMDMxMDAwMDcwMDIwMDAwRDAyMDAwMDA0OTkxODAwMDcwMDAwMDBFQgorOjEwMDMyMDAwMkQ0MDAwMDBCRDAwMDAwMEZEMDIwMDAwNDI4MDAxMDBFMQorOjEwMDMzMDAwMEEwMDA4MDAwNDA5MDAwMDg2NUEwNjAwMDcwMDAwMDBCMQorOjEwMDM0MDAwMDAwMTAwMDAyMDBBMDAwMDdEMDQwMDAwNDA4MDAxMDA0MAorOjEwMDM1MDAwNDI4MDAxMDAwQTAwMjAwMDE1MzAwMDAwNDQyMTAxMDAwNQorOjEwMDM2MDAwODY2MTAzMDAwNzAwMDAwMDA0MjEwMDAwODY2MTAzMDA4RAorOjEwMDM3MDAwMDcwMDAwMDA4RDBGMDAwMDEwMDgwMDAwM0EwQzI4MDA1NAorOjEwMDM4MDAwNDQzOTAyMDA4NkM5MDcwMDA3MDAwMDAwMTAxODAwMDA2OQorOjEwMDM5MDAwM0EwNDI4MDAwRDgxMDgwMDIwMDgwMDAwRkQwMjAwMDAzQQorOjEwMDNBMDAwNDA4MDAxMDAwNzAwMjAwMDEwMjgwMDAwM0EwMDc4MDA3QgorOjEwMDNCMDAwOEQ3ODAwMDAxMDA4MDAwMDNBMDQwODAwMDYxMjJBMDA5OAorOjEwMDNDMDAwMDcwMDAwMDAwRDQwMDAwMDE1MTAwMDAwMDQ5OTE4MDBGRgorOjEwMDNEMDAwMDQyOTI5MDAwNDM5MzkwMDA3MDAwMDAwMDYwMjA3MDAzQgorOjEwMDNFMDAwMDcwMDAwMDBGNTA0MDAwMDdEMDAwMDAwMjAwMDAwMDA3MAorOjEwMDNGMDAwOEQwMDAwMDA2MDA4MDEwMDQwODAwMTAwN0QwNDAwMDBDNQorOjEwMDQwMDAwNDI4MDAzMDA0QTgwMjEwMDBBMDAxODAwNDQxOTAyMDBCQgorOjEwMDQxMDAwODY5MDIyMDAwNzAwMDAwMDc1NDAwMDAwMDRGMTcxMDA4MgorOjEwMDQyMDAwMDcwMDAwMDA0MjAwMDEwMDBBMDAyODAwMDQyOTAwMDAyMworOjEwMDQzMDAwODY1ODIyMDAwNzAwMDAwMDBEM0MwMDAwMDRBOTMwMDA4RgorOjEwMDQ0MDAwMDcwMDAwMDA3RDA3MDAwMDQyODAwMTAwMEEwMDA4MDA0QworOjEwMDQ1MDAwMDQwOTAwMDA4NkRBMDgwMDdEMDUwMDAwMjAyODAwMDA1RAorOjEwMDQ2MDAwNjBCMDAzMDAwNkYyMDgwMDQwODAwMTAwMjAzMDAwMDA2OAorOjEwMDQ3MDAwNjBBODAzMDA0MDgwMDEwMEZEMDIwMDAwNDI4MDAxMDBFRQorOjEwMDQ4MDAwMEEwMDA4MDAwNDA5MDAwMDg2RkEwODAwMDcwMDAwMDBCRQorOjEwMDQ5MDAwN0QwNTAwMDA0MjgwMDEwMDBBMDQyODAwOEQwRTAwMDA0NgorOjEwMDRBMDAwMTAwODAwMDAzQTBDMjgwMDBEMDAwMDAwMTAwODAwMDBBMQorOjEwMDRCMDAwM0ExNDI4MDAwRDAwMDkwMDIwMDgwMDAwRkQwMjAwMDA4OQorOjEwMDRDMDAwNDA4MDAxMDAwNzAwMjAwMEZEM0QwMDAwMjAwMDAwMDBFQQorOjEwMDREMDAwNDA4MDAxMDA3RDEwMDAwMDhEOUQwMDAwMTAwODAwMDA4QworOjEwMDRFMDAwM0EwNDA4MDAwNjEyMkEwMDA3MDAwMDAwMTUwODAwMDA2MAorOjEwMDRGMDAwMUEwMDA4MDA4NDA5MDEwMDg2NTEwQTAwN0QxMzAwMDBEQgorOjEwMDUwMDAwMDAwNTIwMDAyMDBGMjgwMDYwOEYzMzAwNjA4RjNCMDAyMworOjEwMDUxMDAwNjA4RjQzMDA2MDhGNEIwMDYwOEY1MzAwNjA4RjVCMDBFMworOjEwMDUyMDAwNjA4QTAzMDA0MDgwMDEwMDdEMTAwMDAwNDI4MDAxMDBDRAorOjEwMDUzMDAwMEEwMDA4MDAxNTAyMDAwMDg0MDkwMTAwODY4MTNBMDBDMworOjEwMDU0MDAwMDcwMDAwMDBCRDdGMDAwMEM0M0QzODAwMDcwMDAwMDAyOAorOjEwMDU1MDAwN0QxQTAwMDA3NTEzMDAwMDQyODAwMTAwNEEwMDA5MDA2NgorOjEwMDU2MDAwMEEwMDEwMDAwNDhEMEIwMDA0OTUxMzAwMDcwMDAwMDAyMgorOjEwMDU3MDAwMjAwODAwMDA2MDkwMDEwMDA0MTEwMDAwODY1ODIyMDA0RAorOjEwMDU4MDAwNDAwMDAxMDBGRDE3MDAwMDQyODAwMTAwMEEwMDA4MDA0MQorOjEwMDU5MDAwMDQwOTAwMDA4NjVBMjIwMDA3MDAwMDAwN0QxOTAwMDBBRgorOjEwMDVBMDAwNDI4MDAzMDA0QTgwMDkwMDBBMDAxMDAwMjQwOTAwMDA2QworOjEwMDVCMDAwNjQxNjAwMDBGRDExMDAwMDQyODAwMzAwNEE4MDJCMDBGOQorOjEwMDVDMDAwNEE4MDE5MDA4RDAwMDAwMDQ0ODkyMTAwMDcwMDAwMDBDNgorOjEwMDVEMDAwNDQyMjAwMDA4NjE5MEMwMDA3MDAwMDAwNjQxQTAwMDA4NQorOjEwMDVFMDAwMjQyQTAwMDA3RDE5MDAwMDAyMDEwODAwMjIwMTEwMDBFOQorOjEwMDVGMDAwMjAwODAwMDA2MDkwMDMwMDQwODAwMTAwRkQzRDAwMDBFNQorOjEwMDYwMDAwOEQwMDAwMDAyMDA4MDAwMDQwODAwMTAwNzUxMzAwMDBFQworOjEwMDYxMDAwN0QxQTAwMDA0MjAwMDEwMDRBODAwOTAwMEEwMDEwMDAxMworOjEwMDYyMDAwMUQwMjAwMDBFNDg5MDEwMEU0OTIyOTAwNDQ5MTMwMDA5OQorOjEwMDYzMDAwMDcwMDAwMDAwRDA2MDAwMDE1MEEwMDAwMUQwQzAwMDA1OAorOjEwMDY0MDAwMjUxMDAwMDBFNEE5MDAwMEU0MkIwMTAwNjQwNDAwMDA3MAorOjEwMDY1MDAwRTRCMzAxMDBFNDMyMDIwMDY0MDQwMDAwNjQwNDAwMDAxQQorOjEwMDY2MDAwNjQwNDAwMDA2NDA0MDAwMDBEMDQwMDAwQzRCMTA4MDAyQworOjEwMDY3MDAwMDcwMDAwMDAyMDA4MDAwMEY1MEIwMDAwNDAwMDAzMDAwOAorOjEwMDY4MDAwN0QxOTAwMDA0MjgwMDMwMDRBODAwOTAwMjQwQTAwMDAwRQorOjEwMDY5MDAwMEEwMDA4MDA2NDBFMDgwMDA3MDAwMDAwMjIwMTEwMDA5NAorOjEwMDZBMDAwMjAwODAwMDA2MDEwMDMwMDQwMDAwMTAwQUM2NDAwMDA1RQorOjEwMDZCMDAwN0QwMjAwMDAyMDAwMDAwMDQwODAwMTAwN0QxMDAwMDA0RAorOjEwMDZDMDAwNDI4MDAxMDBGRDExMDAwMDRBODAzQjAwNEE4MDA5MDA4MQorOjEwMDZEMDAwMEEwMDIwMDA5NTAwMDAwMDQ0MTExQTAwNDRBMTAwMDAwNworOjEwMDZFMDAwODY1ODBFMDAwRDA0MDAwMDg0QjkwMDAwODY1OTBFMDBFMworOjEwMDZGMDAwRkQxODAwMDA0MjgwMDEwMEZEMTAwMDAwNEE4MDA5MDA0MgorOjEwMDcwMDAwMEEwMDI4MDA5NTAwMDAwMDI0MDkwMTAwNjQyQTAwMDA2NgorOjEwMDcxMDAwODY0OTBFMDAwNzAwMDAwMDA0MjkwMDAwODY1QTBFMDBEQQorOjEwMDcyMDAwMDcwMDAwMDAwNjYyMEUwMDAyMDAwODAwOEQwMDAwMDBCNQorOjEwMDczMDAwN0QzODAwMDAyMDA4MDAwMDQwODAwMTAwN0QxMjAwMDA4QworOjEwMDc0MDAwNDI4MDAxMDAwQTAwMTAwMDA0MzkwMDAwODYwOTBGMDBGMQorOjEwMDc1MDAwMEQwODAwMDBCNUZGN0YwMDg0QjkwMDAwODZEOTBFMDBBNworOjEwMDc2MDAwMjUwMDAwMDAwNkIyMEYwMDJEMDAwMDAwMTUwMDAwMDA1QgorOjEwMDc3MDAwMkQwODAwMDAwREUwMDIwMDIwMDgwMDAwMDZGQTBGMDAxRQorOjEwMDc4MDAwMEQwMDAwMDAzNTgwN0YwMDg0QjkwMDAwODZBOTBGMDBBRAorOjEwMDc5MDAwMjUwMDQwMDA4RDAwMDAwMDQ0MDkxMTAwMDcwMDAwMDAwMgorOjEwMDdBMDAwOEQwMTAwMDAwNDk1MTAwMDA3MDAwMDAwNjQ5MTAwMDAxNgorOjEwMDdCMDAwMjQwNDAwMDAyNDA0MDAwMDI0MDQwMDAwMDIwMTEwMDBBRQorOjEwMDdDMDAwMDIwMDI4MDAwRERGMDIwMDIwMDgwMDAwMDZGQTBGMDBEQQorOjEwMDdEMDAwOEQwMTAwMDAyRDA0MDAwMDhEMDAwMDAwMDQ5NTEwMDAyNAorOjEwMDdFMDAwMDcwMDAwMDAwRDAyMDAwMDg0OTExMDAwMDcwMDAwMDBDNworOjEwMDdGMDAwOERERjAyMDAyMDA4MDAwMDhEMDAwMDAwRkQzODAwMDBBMQorOjEwMDgwMDAwNDA4MDAxMDBGRDNCMDAwMDIwMTAwMDAwNjBBODAzMDBCNAorOjEwMDgxMDAwMTUwODAwMDA4NDMxMzEwMDg0MjEyMTAwMDcwMDAwMDAwOAorOjEwMDgyMDAwNjBCMDAzMDA2MEEwMDMwMDQwODAwMTAwRkQyMjAwMDBEMgorOjEwMDgzMDAwOTUwMDAwMDAyNDA5MDEwMDI0MDQwMDAwMjQwNDAwMDBBNQorOjEwMDg0MDAwNjQxMjAwMDAwMjAxMTAwMDIwMDgwMDAwNjA5MDAzMDAwNAorOjEwMDg1MDAwNDA4MDAxMDAyNDE5MDAwMDBEMEYwMTAwN0QzOTAwMDBDNworOjEwMDg2MDAwMjAwODAwMDA0MDgwMDUwMDQyODAwMzAwNEE4NDA5MDBGRgorOjEwMDg3MDAwMDYwNjAwMDAwQTA0MDgwMDI0MDQwMDAwMjQwNDAwMDAwNgorOjEwMDg4MDAwN0QxMTAwMDA0MjgwMDEwMDBBMDAwODAwMjQwQTAwMDBENworOjEwMDg5MDAwMDIwNTI4MDAwMjBDMjgwMDBEODAwOTAwMjAwODAwMDAzNQorOjEwMDhBMDAwRkQwMjAwMDA0MDgwMDEwMDA3MDAyMDAwRkQyMjAwMDA0MgorOjEwMDhCMDAwNDI4MDAxMDAwQTAwMDgwMDk1MDAwMDAwQzQwRDI4MDBENQorOjEwMDhDMDAwMjQxOTAxMDA3RDE5MDAwMDQyODAwMTAwRkQxMTAwMDA4MworOjEwMDhEMDAwNEE4MDA5MDAwQTAwMTAwMEI1MDAwMDAwNDQzMTExMDBGMAorOjEwMDhFMDAwMDQ4RDBBMDAwNzAwMDAwMDQ0MEEwODAwMDQ5NTEyMDA2NQorOjEwMDhGMDAwMDcwMDAwMDBGRDIzMDAwMDIwMTAwMDAwNDA4MDAzMDBERQorOjEwMDkwMDAwNDQxMjEwMDAwNzAwMDAwMDIwMDgwMDAwNjA5MDAzMDA1RgorOjEwMDkxMDAwNDA4MDAxMDBGRDAyMDAwMDQyODAwMTAwMEEwMDA4MDA0MgorOjEwMDkyMDAwMDQwOTAwMDA4NjMyMTIwMDA3MDAwMDAwRkQzQjAwMDBCMQorOjEwMDkzMDAwMDAwMTAwMDAxMDBBMDAwMDdBODAwQjAwNEE4MDEzMDBCQQorOjEwMDk0MDAwODQwOTA5MDAwNzAwMDAwMDk1MDAwMDAwMDQzRDAxMDAzMworOjEwMDk1MDAwODZCODEyMDAwQTAwMTAwMDAyMDAxMDAwODQwOTA5MDA4NQorOjEwMDk2MDAwMDcwMDAwMDA0MjgwMDMwMDRBODAxMTAwMDQwRDA5MDBDNgorOjEwMDk3MDAwMDcwMDAwMDAwQTAwMTAwMDg0MEQwOTAwMDcwMDAwMDBCNQorOjEwMDk4MDAwN0QyNTAwMDAyMDA4MDAwMDQwODAwMTAwMEQwMTAwMDBDRQorOjEwMDk5MDAwMTAwODAwMDAzQTE0MjgwMDdEMTIwMDAwNDI4MDAxMDA3NworOjEwMDlBMDAwMEEwMDIwMDA3RDE5MDAwMDQyODAwMTAwN0QxMTAwMDAzNgorOjEwMDlCMDAwNEE4MDMxMDAwQTAwMTAwMDI0MzEwMDAwOEQzQjAxMDAwNAorOjEwMDlDMDAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDBCRgorOjEwMDlEMDAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwMDIwMTMwMDBFQgorOjEwMDlFMDAwMjQzMTAwMDAyNDA0MDAwMDI0MDQwMDAwMjQxMjAwMDAyQworOjEwMDlGMDAwMDIwNTI4MDA0QzFBMDAwMDg2MzkxNDAwMDIwMDcwMDAxRAorOjEwMEEwMDAwMkQwMDAwMDAwMDAwMDMwMDdEMzgwMDAwNDI4MDAxMDAzRQorOjEwMEExMDAwMEEwMDEwMDAwNjYyMTQwMDI0MjEwMDAwQUQwMDAwMDA0RQorOjEwMEEyMDAwMDIwMDEwMDAwRDAxMDAwMDI0MDkwMDAwMjQ2QjAwMDBFQQorOjEwMEEzMDAwMEQ0QTAxMDA3RDM5MDAwMDIwMDgwMDAwNDA4MDA1MDBCQgorOjEwMEE0MDAwNDI4MDAzMDA0QTg0MDkwMDA2MDYwMDAwMEEwNDA4MDBFOAorOjEwMEE1MDAwNjQzMjAwMDA4RDAwMDAwMDI0MEEwMDAwMjAxMDAwMDAxNQorOjEwMEE2MDAwN0QyMjAwMDA0MDgwMDEwMDhENEYwMTAwMTAwODAwMDAzMQorOjEwMEE3MDAwM0EwNDA4MDAwNjVBMkIwMDA3MDAwMDAwMjAyODAwMDA1NgorOjEwMEE4MDAwN0QyMDAwMDA0MDgwMDEwMDdEMTEwMDAwNDI4MDAzMDBCNQorOjEwMEE5MDAwNEE4MDEzMDAwQTgwMzMwMDdEMzgwMDAwNDI4MDAxMDA0NAorOjEwMEFBMDAwMEEwMDA4MDAwNDA5MDAwMDg2NzIxNzAwMDcwMDAwMDAxMQorOjEwMEFCMDAwOEQwMDAwMDA2NDA5MDMwMDBENUIwMTAwN0QzOTAwMDAxQQorOjEwMEFDMDAwMjAwODAwMDA0MDgwMDUwMDQyODAwMzAwNEE4NDA5MDA5RAorOjEwMEFEMDAwMDYwNjAwMDAwQTA0MDgwMDAyMDEzODAwMjQwNDAwMDA5MQorOjEwMEFFMDAwMjQwNDAwMDAyNDEyMDAwMEZEMDIwMDAwNDI4MDAxMDBFNgorOjEwMEFGMDAwMEEwMDA4MDAwNDA5MDAwMDg2REExNTAwMDcwMDAwMDA1QgorOjEwMEIwMDAwMDIwNTI4MDA0QzFBMDAwMDg2NzExNzAwMDcwMDAwMDAzQgorOjEwMEIxMDAwNjQyMTAzMDAyQzYzMDAwMEZEM0QwMDAwNDI4MDAxMDBDMQorOjEwMEIyMDAwMEEwMDA4MDA5NTAwMDAwMDA0MDkwOTAwMDcwMDAwMDAwMQorOjEwMEIzMDAwMjAwODAwMDA0QzFBMDAwMDg2OTkxNjAwNDA4MDAxMDAzMQorOjEwMEI0MDAwMDAwMDAzMDAwNkIyMTYwMDI0MjEwMDAwMEQwMTAwMDA4MQorOjEwMEI1MDAwMjQwOTAwMDAyNDZCMDAwMDBENkYwMTAwN0QzOTAwMDBBNgorOjEwMEI2MDAwMjAwODAwMDA0MDgwMDUwMDQyODAwMzAwNEE4NDA5MDBGQworOjEwMEI3MDAwMDYwNjAwMDAwQTA0MDgwMDY0M0EwMDAwOTUwMDAwMDAyMAorOjEwMEI4MDAwMjQxMjAwMDBGRDAyMDAwMDQyODAwMTAwMEEwMDA4MDA1QgorOjEwMEI5MDAwMDQwOTAwMDA4NjEyMTcwMDA3MDAwMDAwMEQ3NjAxMDAwRQorOjEwMEJBMDAwMTAwODAwMDAzQTA0MDgwMDA2NUEyQjAwMDcwMDAwMDA1NQorOjEwMEJCMDAwMDYwQTE2MDAwNzAwMDAwMDIwNzAwMDAwMEEwMTA4MDA2NQorOjEwMEJDMDAwMkEwMTEwMDBGRDIwMDAwMDYwODgwMzAwNjA5MDAzMDBFRgorOjEwMEJEMDAwNDA4MDAxMDA3RDIyMDAwMDQyODAwMTAwRkQzRDAwMDBCOAorOjEwMEJFMDAwMEEwMDA4MDA0QTg0MzEwMDA0MDkwMDAwODYxMDE4MDAzOQorOjEwMEJGMDAwOEIwMDE4MDA4RDAwMDAwMDA0OTkxODAwMkMzMTAwMDBCMworOjEwMEMwMDAwMDZFMjE4MDAwNzAwMDAwMDRDMzIwMDAwODY2QjE4MDA1NgorOjEwMEMxMDAwMDcwMDAwMDAwNDE5MDAwMDg2NjgxODAwMDcwMDAwMDBBMworOjEwMEMyMDAwOTUwMDAwMDA0NDkxMTkwMDJDMjIwMDAwMjQzMTAwMDA5RQorOjEwMEMzMDAwNkM2MzAwMDAzRDBFMDAwMDc1MTMwMDAwRkQwQjAwMDAwQQorOjEwMEM0MDAwNDIwMDAxMDA0QTgwMDkwMDBBMDAxMDAwRUM4QTAzMDBGQgorOjEwMEM1MDAwRUM5MzAzMDA0QzIyMDAwMDg2RTExODAwMDcwMDAwMDAxRQorOjEwMEM2MDAwOEQwMDAwMDAwNDk5MTgwMDZDMjIwMDAwMkMzMjAwMDA1NgorOjEwMEM3MDAwMEEwNTMwMDBBQjFEMzAwMDgzMjAwMDAwRkQxODAwMDA4NQorOjEwMEM4MDAwNDI4MDAxMDAwQTAwMDgwMDI0ODkwMTAwMDIwNTMwMDBBQQorOjEwMEM5MDAwODMxMDAwMDA3NTE4MDAwMDQyMDAwMTAwMEEwMDEwMDBENworOjEwMENBMDAwOEQwMDAwMDAyNDA5MDEwMDc1MTMwMDAwNDIwNTMzMDA4NworOjEwMENCMDAwQ0IwQzMzMDBDQjJDMzMwMENCMzQzMzAwQ0IzQzMzMDA5NAorOjEwMENDMDAwQ0I0NDMzMDBDQjRDMzMwMENCNTQzMzAwOEI1QzMwMDAyRgorOjEwMENEMDAwODM2MDAwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDBFNQorOjEwMENFMDAwMDQwOTAwMDA4NkIyMTkwMDA3MDAwMDAwMkQxRTAwMDA1NAorOjEwMENGMDAwRkQwNTAwMDA0MjgwMDEwMDBBMDAwODAwMjQ4OTAyMDA2RQorOjEwMEQwMDAwMDIwNTI4MDAwRDA2MDAwMDEwMDgwMDAwM0EwQzI4MDAxQgorOjEwMEQxMDAwOEQwMDAwMDAxMDA4MDAwMDNBMTQyODAwOEQ4MDBBMDBBMQorOjEwMEQyMDAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwMDcwMDIyMDAzQQorOjEwMEQzMDAwNzUxMjAwMDA0MjAwMDMwMDRBMDAyMTAwOEQwMDAwMDBFRgorOjEwMEQ0MDAwNDQwOTFBMDAwNzAwMDAwMDhEQUIwMTAwMTAwODAwMDBFNAorOjEwMEQ1MDAwM0EwNDA4MDAwNkFBMkMwMDA3MDAwMDAwRjUwMTAwMDA3NAorOjEwMEQ2MDAwNDIwMDAzMDA0QTAwMEQwMDBBMDAxMDAwNDQ5MTA4MDBGMAorOjEwMEQ3MDAwMDcwMDAwMDAyMDA4MDAwMDQwMDAwMTAwRjUyNTAwMDBFOQorOjEwMEQ4MDAwNDQzMTBBMDAwNzAwMDAwMDIwMDgwMDAwNjAyODAzMDAyQQorOjEwMEQ5MDAwNDAwMDAzMDA3RDIxMDAwMDQyODAwMzAwNEE4MDBCMDBEOAorOjEwMERBMDAwMEEwMDEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDA0QgorOjEwMERCMDAwOEQwMDAwMDAyNDAxMDAwMDJDMDEwMDAwNjQwRTAwMDBFMgorOjEwMERDMDAwNjQxQTAwMDA2QzYzMDAwMDBBMDEwODAwMkEwMTEwMDA4OAorOjEwMEREMDAwMjAwODAwMDA2MDEwMDMwMDQwMDAwMzAwRkQyMDAwMDAxOAorOjEwMERFMDAwNDI4MDAxMDAwQTAwMDgwMDdEMjIwMDAwNDI4MDAxMDBDQworOjEwMERGMDAwMEEwMDEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDBGQgorOjEwMEUwMDAwN0QxOTAwMDA0MjgwMDEwMDBBMDAwODAwRkQyMjAwMDA1OAorOjEwMEUxMDAwNDI4MDAzMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA1OAorOjEwMEUyMDAwNDAwMDAzMDAwNDBEMDkwMDA3MDAwMDAwMjAwODAwMDAzNgorOjEwMEUzMDAwNDAwMDAzMDA0MjgwMDMwMDRBODAwQjAwMEEwMDEwMDBCQgorOjEwMEU0MDAwMjAwODAwMDA2MDEwMDMwMDQwMDAwMzAwNDI4MDAzMDBGRgorOjEwMEU1MDAwNEE4MDEzMDA0QTgwMTkwMDA0MEQxMTAwMDQ4RDE5MDAwNgorOjEwMEU2MDAwMDcwMDAwMDAwQTAwMDgwMDIwMTAwMDAwNjAxODAzMDBCRQorOjEwMEU3MDAwNjAwODAzMDA0MDAwMDMwMDhEMDAwMDAwNDQwOTBCMDBERgorOjEwMEU4MDAwMDcwMDAwMDAyMDA4MDAwMDQwMDAwMTAwRjUwNTAwMDBGOAorOjEwMEU5MDAwNDIwMDAzMDAwQTAwMDgwMDIwMDgwMDAwNDAwMDAxMDA5MgorOjEwMEVBMDAwRjUwMDAwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDBFQgorOjEwMEVCMDAwODY5ODFEMDA3NTFFMDAwMDQyMDAwMzAwNEEwNDAxMDBEMAorOjEwMEVDMDAwMEEwQzAwMDAwNkFBMUQwMDA3MDAwMDAwMDIwNDAwMDAzMgorOjEwMEVEMDAwMDIwQzAwMDA3RDE3MDAwMEY1MUEwMDAwNDI4MDAxMDA5RQorOjEwMEVFMDAwNEExNDAzMDA0QTFDMDMwMDRBMjQwMzAwNEEyQzAzMDA0RQorOjEwMEVGMDAwNEEzNDAzMDA0QTNDMDMwMDRBNDQwMzAwMEE0QzAwMDAwMQorOjEwMEYwMDAwM0QwNDAwMDBGNTEzMDAwMEZEMUEwMDAwNDIwMDAzMDAzQworOjEwMEYxMDAwNEEwMDBCMDA0QTgwMUIwMDRBODAxMzAwMEEwMDIwMDA5MAorOjEwMEYyMDAwNDQ5MTA4MDA0NEExMTkwMEU0ODkwMzAwRUM5OTAzMDBFRQorOjEwMEYzMDAwMDI1NTAwMDAwQTVEMDAwMDQyMDAwMzAwNEEwMDBCMDA1OQorOjEwMEY0MDAwNEE4MDFCMDA0QTgwMTMwMDBBMDAyMDAwNDQ5MTA4MDBEOAorOjEwMEY1MDAwNDRBMTE5MDBFNDg5MDMwMEVDOTkwMzAwMDI2NTAwMDAzNAorOjEwMEY2MDAwMEE2RDAwMDA0MjAwMDMwMDRBMDAwQjAwNEEwMDE5MDAwRAorOjEwMEY3MDAwNEE4MDJCMDA0QTgwMTMwMDRBODAyMTAwMEEwMDMwMDA3QQorOjEwMEY4MDAwNDQ5MTA4MDA0NEExMTkwMDQ0QjEyQTAwRTQ4OTAzMDBGNworOjEwMEY5MDAwRUM5OTAzMDAwMjc1MDAwMDBBN0QwMDAwRTRBOTAzMDAzQgorOjEwMEZBMDAwMDIwNzAwMDA3RDEwMDAwMDE1MDQwMDAwNDI4MDAxMDBDRgorOjEwMEZCMDAwMEEwMDA4MDBFNDA5MDEwMDAyMEYwMDAwRjUyQTAwMDAwMQorOjEwMEZDMDAwRkQxOTAwMDA0MjAwMDEwMDRBODAwOTAwMEEwMDEwMDBEQgorOjEwMEZEMDAwMzQwOTAwMDA3NDE2MDAwMEY1MjkwMDAwNDIwMDAxMDBFOQorOjEwMEZFMDAwMEEwMDEwMDA3QzkxMDAwMDc1MjAwMDAwNDIwMDAxMDAwMgorOjEwMEZGMDAwMEEwMDA4MDAwNDA5MDAwMDg2MEEyMDAwRjUyNjAwMDAwNworOjEwMTAwMDAwRjUyNzAwMDA0MjAwMDMwMDRBMDAwOTAwMEEwMDEwMDAxMgorOjEwMTAxMDAwM0MwQTAwMDA3QzE2MDAwMDc1MUEwMDAwRkQwQjAwMDA2MQorOjEwMTAyMDAwNDIwMDAxMDA0QTgwNTEwMDBBMDA0ODAwMDcwMDE2MDBGMworOjEwMTAzMDAwNzUxMDAwMDA0MjAwMDEwMDBBMkMyODAwMTIxRDI4MDAzMworOjEwMTA0MDAwMTIyNTI4MDAzMjFGMDAwMDA3MDAxRTAwMDcwMDBFMDBCNgorOjEwMTA1MDAwNzUxOTAwMDA0MjAwMDEwMEY1MkQwMDAwNEEwMDBEMDA0NgorOjEwMTA2MDAwMEEwMDEwMDA0NDkxMDAwMDg2RUEyMDAwNDIwMDAxMDBCRQorOjEwMTA3MDAwMEEzNDI4MDA1RDBFMDAwMDhEMDAwMDAwNzUwMzAwMDA5QQorOjEwMTA4MDAwMjAwODAwMDA0MDAwMDEwMEY0RDIwNTAwMDREMTU0MDAwMworOjEwMTA5MDAwNUM3MzAwMDA4NjhCMjEwMDA3MDAwMDAwMDcwMDBDMDAzNQorOjEwMTBBMDAwMDcwMDA4MDAwNzAwMEEwMDhEMTcwMjAwMTAwODAwMDA2MgorOjEwMTBCMDAwM0EwNDA4MDAwNkIyMzQwMDA3MDAwMDAwMDY5MjIxMDAzRQorOjEwMTBDMDAwMDcwMDAwMDAwNzAwMDgwMDc1MjIwMDAwNDIwMDAxMDAzMAorOjEwMTBEMDAwMEEwMDIwMDAwNDIxMDAwMDg2NTgyMjAwMkQxRTAwMDA3NgorOjEwMTBFMDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDBBNworOjEwMTBGMDAwODZDQTIxMDAwNzAwMDAwMDEwMjAwMDAwM0EwNDMwMDBEQQorOjEwMTEwMDAwN0QwNTAwMDBDMzgwMDEwMDBBMDAwODAwMjQ4OTAyMDA1OAorOjEwMTExMDAwMDIwNTI4MDAwMjBDMjgwMDBEODEwQTAwMjAwODAwMDBBQQorOjEwMTEyMDAwRjUwMjAwMDA0MDAwMDEwMDA3MDAyMjAwRkQwNDAwMDA1RAorOjEwMTEzMDAwNDI4MDAxMDAwQTAwNzAwMDAwMDAwMzAwMjA3MDAwMDBERgorOjEwMTE0MDAwMDZGQTA3MDA0MDgwMDEwMDhEMkIwMjAwMTAwODAwMDAwNQorOjEwMTE1MDAwM0EwNDA4MDAwNkFBMkMwMDA3MDAwMDAwRkQwMjAwMDA2NworOjEwMTE2MDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODZDMjIyMDAzMworOjEwMTE3MDAwMDcwMDAwMDAwNjAyMDIwMDA3MDAwMDAwNzUwODAwMDBEQQorOjEwMTE4MDAwRkQwOTAwMDAwRDAxMDAwMDA2NDIyMzAwOTUwMjAwMDA0OQorOjEwMTE5MDAwNzUwQjAwMDA3RDA5MDAwMDBEMDAwMDAwMTUwNTAwMDAyMgorOjEwMTFBMDAwNDIwMDAxMDAwQTAwMTgwMDA0MTkwMDAwODYwMDJBMDAwRAorOjEwMTFCMDAwRjUwNjAwMDAyMDEwMDAwMDQwMDAwMTAwRjUwNDAwMDBDQQorOjEwMTFDMDAwMjAwODAwMDA0MDAwMDEwMDc1MDcwMDAwNDIwMDAxMDBGNworOjEwMTFEMDAwNEE4MDA5MDAwQTAwMTAwMDI0MTEwMDAwMDQwOTAwMDBFMAorOjEwMTFFMDAwODZGMjIzMDAxNTA4MDAwMDAyMDEwODAwMDQxMjEwMDAxNgorOjEwMTFGMDAwMDYxMjI0MDA3NTA1MDAwMDA0MTIwODAwMDcwMDAwMDAxNAorOjEwMTIwMDAwMDIwMTEwMDA3NTA1MDAwMDI1MDQwMDAwMjQxMTAyMDBGMQorOjEwMTIxMDAwMDIwMTEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAxMDBERgorOjEwMTIyMDAwMjQxOTAwMDA4NjAwMkEwMDhEMDAwMDAwNjQwNDAwMDBEQworOjEwMTIzMDAwMDQ5RDAwMDA4NjEwMjkwMDAyMDExODAwNzUwNTAwMDBCOQorOjEwMTI0MDAwNDIwMDAxMDAwQTA0MjgwMDhEMDEwMDAwMjQwOTAwMDA2QQorOjEwMTI1MDAwMDIwRDI4MDAwRDAwMDAwMDI0MDkwMDAwMDIxNTI4MDBERQorOjEwMTI2MDAwMEQwMDEwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAwMQorOjEwMTI3MDAwMDcwMDIwMDA3NTExMDAwMEZEMDIwMDAwNDI4MDAxMDBGRgorOjEwMTI4MDAwMEEwMDA4MDAwNDA5MDAwMDg2RkEyNDAwMDcwMDAwMDA5NAorOjEwMTI5MDAwMDAwMTAwMDAyMDBCMDgwMDYwMEIxMzAwNjAwQjFCMDAxNgorOjEwMTJBMDAwNjAwQTAzMDA0MDAwMDEwMDQyMDAwNTAwNEEwMDNEMDBDMgorOjEwMTJCMDAwNEEwMDM1MDA0QTAwMkQwMDBBMDAyMDAwRjUwNjAwMDAxMworOjEwMTJDMDAwNDIwMDAxMDAwQTE0MjgwMEY1MDQwMDAwNDIwMDAxMDA1OQorOjEwMTJEMDAwMEEwMDA4MDAxNTAzMDAwMDA0MEQwMTAwODYwMjI2MDAyNAorOjEwMTJFMDAwMTU0MDAwMDA5NTAwMDAwMDA0MEQwMTAwODZGMDI1MDA2NworOjEwMTJGMDAwMjIwMDEwMDAyQTAwMTAwMDA2MUEyNjAwMDcwMDAwMDAzNQorOjEwMTMwMDAwMDQzMTMzMDAwNEE5MkEwMDA3MDAwMDAwMjQyMTAzMDA0RgorOjEwMTMxMDAwMDIwNTI4MDAwMjQ0MjgwMDI0MTEwMDAwMDIwMTQwMDBCOAorOjEwMTMyMDAwMjQwNDAwMDAyNDA0MDAwMDI0MzIwMDAwMkMyOTAwMDBDMgorOjEwMTMzMDAwNkM2MzAwMDA4NjczMjcwMDA3MDAwMDAwNjRCMTAyMDBBMAorOjEwMTM0MDAwNjQwNDAwMDA2NDA0MDAwMDhEMDAwMDAwNjQwQTAwMDBEMgorOjEwMTM1MDAwMDIwRDI4MDA4RDAwMTAwMDIwMDgwMDAwRjUwMjAwMDA5QQorOjEwMTM2MDAwNDAwMDAxMDAwNzAwMjIwMDhEMDAwMDAwMDRCOTM4MDA5MQorOjEwMTM3MDAwMDcwMDAwMDA2QzI5MDMwMDBBMDEzMDAwRjUwMjAwMDA5QworOjEwMTM4MDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwODYwMjI3MDA0QworOjEwMTM5MDAwMDcwMDAwMDAyQzIxMDAwMDBBMDUyODAwNkMzMTAwMDAyNQorOjEwMTNBMDAwNkMwNDAwMDA2QzA0MDAwMDBBNDUyODAwMjQxMTAwMDBCMQorOjEwMTNCMDAwNjQ2QjAwMDAwMjAxMTAwMDhEMDAwMDAwNkMwOTAxMDA0OAorOjEwMTNDMDAwMEEwRDI4MDAwRDAxMTAwMDIwMDgwMDAwRjUwMjAwMDBBMQorOjEwMTNEMDAwNDAwMDAxMDAwNzAwMjIwMDI0NDEwMDAwMjQwNDAwMDAxNgorOjEwMTNFMDAwMjQwNDAwMDAyNDMyMDAwMDAyMDEzMDAwNDQyOTAzMDBEQworOjEwMTNGMDAwODZGQTI3MDAwNzAwMDAwMDAyMDAzMDAwRjUwNDAwMDAxNAorOjEwMTQwMDAwNDIwMDAxMDAwQTAwMDgwMDE1MDMwMDAwMDQwRDAxMDA1RAorOjEwMTQxMDAwODY0MDI4MDAyNDMxMDAwMDY0MDQwMDAwMDIwMTMwMDBFRQorOjEwMTQyMDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDA2MworOjEwMTQzMDAwODY0QTI4MDAwNzAwMDAwMDAyNDQyODAwMjQzMTAwMDBFQQorOjEwMTQ0MDAwMDIwNTMwMDAyNDM5MDAwMDgzMDUzMDAwODMwODAwMDBDNQorOjEwMTQ1MDAwRjUwNTAwMDA0MjAwMDEwMDBBMDQyODAwOEQwMDAwMDA4QworOjEwMTQ2MDAwMjQ4MTAwMDAwMjBEMjgwMDhEMDAwMDAwMjQ4MTAwMDA2RQorOjEwMTQ3MDAwMDIxNTI4MDA4RDAxMTAwMDIwMDgwMDAwRjUwMjAwMDA3MAorOjEwMTQ4MDAwNDAwMDAxMDAwNzAwMjIwMDI1MTAwMDAwNzUwNTAwMDA0MworOjEwMTQ5MDAwNDIwMDAzMDA0QTAwMDkwMDBBMDAxMDAwMDQwOTBBMDA4MworOjEwMTRBMDAwMDQxMTEyMDAwNzAwMDAwMDIwMTAwMDAwNjAwODA1MDA3MQorOjEwMTRCMDAwNDAwMDA1MDBGRDA2MDAwMDQyODAwMTAwNEEwMDA5MDBDRQorOjEwMTRDMDAwMEEwMDEwMDBBNTAwMDAwMDA0MDkwQTAwMDQxMTEyMDAxRgorOjEwMTREMDAwMDcwMDAwMDAyMDA4MDAwMDYwOTAwMTAwNDAwMDAxMDBBQgorOjEwMTRFMDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDBBMworOjEwMTRGMDAwODZDQTI5MDAwNzAwMDAwMDA2NDIyNDAwMDcwMDAwMDBGOQorOjEwMTUwMDAwMDYwNjAwMDAwNzAwMDAwMEY1MDIwMDAwNDIwMDAxMDA4RQorOjEwMTUxMDAwMEEwMDA4MDAwNDA5MDAwMDg2MUEyQTAwMDcwMDAwMDBEQgorOjEwMTUyMDAwMDAwMTAwMDAyMDBCMDgwMDYwOEIxMzAwNjA4QjFCMDA4MworOjEwMTUzMDAwNjA4QjIzMDA2MDhCMkIwMDYwOEIzMzAwNjA4QjNCMDA0MworOjEwMTU0MDAwNjA4QjQzMDA2MDhCNEIwMDYwOEI1MzAwNjA4QjVCMDBCMworOjEwMTU1MDAwNjA4QjYzMDA2MDhCNkIwMDYwOEI3MzAwNjA4QjdCMDAyMworOjEwMTU2MDAwNjA4RjAzMDA2MDhGMEIwMDYwOEYxMzAwNjA4RjFCMDA4MworOjEwMTU3MDAwNjA4RjIzMDA2MDhGMkIwMDYwOEYzMzAwNjA4RjNCMDBGMworOjEwMTU4MDAwNjA4RjQzMDA2MDhGNEIwMDYwOEY1MzAwNjA4RjVCMDA2MworOjEwMTU5MDAwNjA4RjYzMDA2MDhGNkIwMDYwOEY3MzAwNjA4RjdCMDBEMworOjEwMTVBMDAwNjA4QTAzMDAwNjA2MDAwMDQwODAwMTAwOEQwMDAwMDBGNAorOjEwMTVCMDAwNjQwQTAwMDAwMjBEMjgwMDI0MEEwMDAwN0QwMjAwMDBEOQorOjEwMTVDMDAwNDI4MDAxMDAwQTAwMTAwMDI0MTIwMDAwRkQwMzAwMDAwOAorOjEwMTVEMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODYwQTJDMDA2RAorOjEwMTVFMDAwMDcwMDAwMDA4RDAxMDAwMDI0MEEwMDAwNjQwNDAwMDBEMAorOjEwMTVGMDAwNjQwNDAwMDAwMjAxMDgwMDI0MDkwMDAwMjQwNDAwMDAyMworOjEwMTYwMDAwMjQwNDAwMDAwMjAxMTAwMDBEMDAwMjAwNDQ5MTAwMDBCQgorOjEwMTYxMDAwODY2MTJDMDAwNzAwMDAwMEZEMDEwMDAwNDI4MDAxMDBFRgorOjEwMTYyMDAwMEEwMDA4MDA0NDBBMDAwMDg2NDMyQzAwNDI4MDAxMDBBMgorOjEwMTYzMDAwMEQwMDBBMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDBBQgorOjEwMTY0MDAwMDcwMDIwMDA3RDAyMDAwMDIwMTAwMDAwMDYwNjAwMDBCOAorOjEwMTY1MDAwNDA4MDAxMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDA3RAorOjEwMTY2MDAwMDQwOTAwMDA4NkIyMkMwMDA3MDAwMDAwN0QwMzAwMDA4MgorOjEwMTY3MDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODZFMjJDMDBGNAorOjEwMTY4MDAwMDcwMDAwMDA3NTAwMDAwMDdEMkUwMDAwNDIwMDAxMDBGMAorOjEwMTY5MDAwNEE4MDBCMDAyMDAwMDAwMDA0MDkwMDAwODYwNjAwMDBCQworOjEwMTZBMDAwNDAwMDAxMDA0QTg0MzEwMDhCMDQzMDAwODMwODAwMDBCMAorOjEwMTZCMDAwOEQwMDAwMDAxMDA4MDAwMDNBMTQyODAwOEQwMDAwMDA4MgorOjEwMTZDMDAwMTAwODAwMDAzQTBDMjgwMDc1MDYwMDAwNDIwMDAxMDBENgorOjEwMTZEMDAwMEEwMDA4MDAxNTM4MDAwMDI0MDkwMTAwMDIwNTI4MDA0RQorOjEwMTZFMDAwMEQwMDBCMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDA4MgorOjEwMTZGMDAwMDYwNjAwMDAwNzAwMjIwMDY0MDQwMDAwNjQwNDAwMDBFNQorOjEwMTcwMDAwMDYwNjAwMDAwNzAwMDAwMDM0MDEwMDAwOEQ3RjAwMDA4NQorOjEwMTcxMDAwM0MwOTAwMDAxMjFEMjgwMDEyMjUyODAwMzIxRjAwMDA3RAorOjEwMTcyMDAwMDcwMDBFMDAwRDAxMDAwMDdEMDMwMDAwMjAwODAwMDBFRQorOjEwMTczMDAwNDA4MDAxMDBGNEQyMDUwMDA3MDAwMDAwMDcwMDA4MDAwNworOjEwMTc0MDAwN0QwMzAwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDAzNworOjEwMTc1MDAwODY4QTJFMDAwNzAwMDAwMDA2MDYwMDAwMDcwMDAwMDAzMQorOjEwMTc2MDAwMDcwMDAwMDAxMjAwMDAwMDA3MDAxMDAwMDcwMDMyMDAxMAorOjEwMTc3MDAwMDcwMDYwMDAwNzAwNDYwMDgwMDAxMDAwMUEwMDQ4MDBDMworOjEwMTc4MDAwMDQ0OTAwMDA4NkYxMkUwMDA3MDAwMDAwMTAxMjAwMDAzRQorOjEwMTc5MDAwM0EwMDU4MDA0NTAxMDAwMDA0NUQ1QzAwMDcwMDAwMDBBRAorOjEwMTdBMDAwODAwMDAwMDAxQTAwNDgwMDA0NDkwMDAwODY0MTJGMDAxNAorOjEwMTdCMDAwMDcwMDAwMDAxMDEyMDAwMDNBMDA1MDAwMDQ1OTAwMDAxOQorOjEwMTdDMDAwODY5ODJGMDA0NTAwMDAwMEM1MDAwMDAwRjVGRjdGMDA0RgorOjEwMTdEMDAwN0RGRjdGMDAyNEQ1MDcwMDI0NDIwMDAwMDIwMTUwMDA1NQorOjEwMTdFMDAwMDIwNTIwMDA4MjAwMDAwMDFBMDA0MDAwMDQ0MTAwMDBCMQorOjEwMTdGMDAwODZDOTJGMDAwNzAwMDAwMDY1MzgwMDAwMUEwMDQwMDA2RAorOjEwMTgwMDAwMjA0MDAwMDA0RDEwMDAwMDg0QzEwNDAwODZBQjMxMDA3MAorOjEwMTgxMDAwNDAwMDAwMDAwNzAwMDQwMDY1MDEwMDAwNDUwMTAwMDBEMQorOjEwMTgyMDAwMjA0MDAwMDA0MDAwMDAwMDY1MDcwMDAwODAwMDA4MDAyNAorOjEwMTgzMDAwMUEwMDQwMDAwNDQxMDAwMDg2NTkzMDAwMDcwMDAwMDBGMworOjEwMTg0MDAwMTAxMjAwMDAzQTAwNDAwMDA0NDEwMDAwODZCMjMwMDA0RgorOjEwMTg1MDAwNEQwMDAwMDBDRDAwMDAwMDEwNDgwMDAwM0EwNDIwMDBCOAorOjEwMTg2MDAwODIwODAwMDAxQTAwNDAwMDA0NDEwMDAwODZDMTMwMDBEOAorOjEwMTg3MDAwMDcwMDAwMDAyMDQ4MDAwMDA0NTkwMDAwODY5ODMxMDA0RAorOjEwMTg4MDAwNDAwMDAwMDBFNTA3MDAwMDgwMDQyMDAwQTAxNjI4MDBBQQorOjEwMTg5MDAwRTAxNjMyMDBFMDE2M0EwMEUwMTY0MjAwNjAxMjAyMDA0NAorOjEwMThBMDAwNDAwMDAwMDAzMjAwMDAwMDc1MDA0MDAwN0QwMDAwMDA5NAorOjEwMThCMDAwNzRENTA3MDAxMjA1MjAwMDgyMDAwMDAwMUEwMDQwMDBDNQorOjEwMThDMDAwMDQ0MTAwMDA4NjcxMzEwMDA3MDAwMDAwMDY4QTAzMDAxMQorOjEwMThEMDAwMDcwMDY0MDBFNTAwMDAwMDIwMDAwMDAwNDAwMDAwMDA1OAorOjEwMThFMDAwNjUwQTAwMDAyMDAwMDAwMDQwMDAwMjAwNDAwMDAyMDBFNQorOjEwMThGMDAwNDAwMDAwMDA2NTAxMDAwMDQyMDAwMDAwMEEwMDcwMDA4NgorOjEwMTkwMDAwMDQ3MTAwMDA4NjMyMzIwMDA3MDAwMDAwMDcwMDA2MDA2NAorOjEwMTkxMDAwMDY5QTAxMDAwNzAwNjQwMDAwMDAwNTAwMjA3MDAwMDAyNgorOjEwMTkyMDAwNDAwMDAwMDAwNjhBMDMwMDA3MDA2NDAwMDcwMDAwMDA3MgorOjEwMTkzMDAwNkQzMDAwMDA2MDg4MDIwMDYwOTAwMjAwMEEwMDA4MDAxQworOjEwMTk0MDAwNjA4ODAyMDA0MDgwMDAwMDEyMDAxMDAwMEQxMDAwMDBBRQorOjEwMTk1MDAwODQ5MTAwMDA4NkQxMzIwMDBEMEUwMDAwODQ5MTAwMDBCOQorOjEwMTk2MDAwODZFMTMzMDAwNzAwMDAwMDA3MDAzMDAwMjAxMDAwMDA2RgorOjEwMTk3MDAwNkQzQjAwMDA0MDgwMDAwMDgwMDAwMDAwMUEwMDA4MDA1RAorOjEwMTk4MDAwMDQwOTAwMDA4NkYxMzIwMDA3MDAwMDAwMjAxMjAwMDA2OAorOjEwMTk5MDAwRUQwRDAwMDA0MDgwMDAwMDQyODAwMDAwMEEwMDEwMDBCMQorOjEwMTlBMDAwMEQwMDQwMDA0NDk1MTAwMDA3MDAwMDAwMjAxMDAwMDBDQQorOjEwMTlCMDAwRUQwRDAwMDA0MDgwMDAwMDQyODAwMDAwMEEwNDIwMDA3RAorOjEwMTlDMDAwODIwMDAwMDAxQTAwMDgwMDA0MDkwMDAwODY4MTMzMDAyQworOjEwMTlEMDAwMDcwMDAwMDA2RDNCMDAwMDQyODAwMDAwMEEwMDA4MDA4NAorOjEwMTlFMDAwMTUwRTAwMDA4NDA5MDEwMDg2MkIzNDAwMDcwMDYwMDBGQQorOjEwMTlGMDAwMUEwMDA4MDAxNTBDMDAwMDg0MDkwMTAwODYxMzM0MDA0OQorOjEwMUEwMDAwMjAwMDAwMDAwNzAwMUEwMEVEMDIwMDAwNDA4MDAwMDBFNgorOjEwMUExMDAwMDcwMDYyMDA2RDMwMDAwMDQyODAwMjAwNEE4MDBBMDAyOAorOjEwMUEyMDAwMjAwODAwMDA0QTgwMEEwMDA2MDYwMDAwNEE4MDEwMDBENAorOjEwMUEzMDAwMDcwMDAwMDAxMjI1MjgwMDMyMUYwMDAwRjREMjA1MDAyNAorOjEwMUE0MDAwMDREMTU0MDA1QzczMDAwMDg2MDcwMDAwMDcwMDAwMDAwQQorOjEwMUE1MDAwMDcwMDBDMDAwNzAwMEEwMDA3MDAxQzAwNjUzNDAwMDBBNgorOjEwMUE2MDAwNDAwMDAyMDAyMDQ4MDAwMDYwNTAwMjAwMEEwMDQwMDBEMAorOjEwMUE3MDAwNjA0MDAyMDA0MDAwMDAwMDQ0NDk0NTAwMDcwMDAwMDBBQgorOjEwMUE4MDAwMjA0MDAwMDBFNTNBMDAwMDQwMDAwMDAwRTUyODAwMDA4QQorOjEwMUE5MDAwNDIwMDAwMDAwQTAwNDgwMDA0NDkwMDAwODZGODM5MDBBRQorOjEwMUFBMDAwNjUyQzAwMDA0MjAwMDAwMDBBMDA0MDAwRDUwMDAwMDA0NAorOjEwMUFCMDAwMDQ0MTQ1MDAwNzAwMDAwMDU1MDYwMDAwMDQ0NTA1MDBFQworOjEwMUFDMDAwODY4MjM2MDBENTAxMDAwMDA0NDUwNTAwODY4MDM2MDA3OAorOjEwMUFEMDAwNjUyQjAwMDA0MjAwMDAwMEU1M0EwMDAwNEEwMDUwMDA3QgorOjEwMUFFMDAwMEEwMDQwMDBENEMzNDUwMDA3MDAwMDAwMDQ0NTQ1MDAzQgorOjEwMUFGMDAwMDcwMDAwMDBDRDAwMDAwMDQ0NDk0NDAwMDcwMDAwMDAzQQorOjEwMUIwMDAwMDQ0NTQ1MDAwNzAwMDAwMDREMDEwMDAwNDQ0OTU1MDAxMAorOjEwMUIxMDAwMDcwMDAwMDA0NDUxMDQwMDg2NzkzNjAwNjUyQzAwMDA1RgorOjEwMUIyMDAwNDIwMDAwMDAwQTAwNDgwMDA0RDE0QzAwMDcwMDAwMDBGOQorOjEwMUIzMDAwNDRDMTA0MDA4NjgzMzYwMDA3MDAwMDAwMDcwMDE2MDAzOQorOjEwMUI0MDAwRTUyQzAwMDA0MjAwMDQwMDBBMDA0MDAwMjA0MDAwMDA5NAorOjEwMUI1MDAwNDAwMDAwMDA2NTI5MDAwMDQyMDAwMDAwMEEwMDQwMDAyQgorOjEwMUI2MDAwMDQ0MTAwMDA4NkYwMzYwMDA3MDAwMDAwMDIyNDAwMDA1NworOjEwMUI3MDAwMDYzMjM4MDAwMjVDMDAwMEU1MjUwMDAwNDIwMDAwMDA0QgorOjEwMUI4MDAwMEEwMDQwMDA3NDQyMDAwMEU1MkEwMDAwNDIwMDAwMDAwNAorOjEwMUI5MDAwMEEwMDQwMDA3NDQyMDAwMDEyMDE1MDAwRTUyOTAwMDBENAorOjEwMUJBMDAwNDIwMDAwMDAwQTAwNDAwMDM0NDIwMDAwMDQ0MTQ1MDBBOQorOjEwMUJCMDAwMDcwMDAwMDAyMDQwMDAwMDQwMDAwMDAwRTUzRTAwMDA1QgorOjEwMUJDMDAwMjAwMDAwMDA0MDAwMDAwMEU1MkQwMDAwNTIwMTQwMDAxMAorOjEwMUJEMDAwMEEwMDUwMDA0NDUxMDQwMDg2REEzNzAwQzUwMDAwMDBCNgorOjEwMUJFMDAwRTUzRTAwMDAyMDQwMDAwMDQwMDAwMDAwRTUyQjAwMDAyMgorOjEwMUJGMDAwNDIwMDAwMDAwQTAwNDAwMDU0NDI0MDAwMDcwMDAwMDA3QworOjEwMUMwMDAwRTUyQTAwMDAyMDQwMDAwMDQwMDAwMDAwMzIwMTUwMDBBMgorOjEwMUMxMDAwMzQwMTA0MDA3NDU2MDAwMEU1MjkwMDAwNDIwMDAyMDA2RgorOjEwMUMyMDAwMEEwMDQyMDA0MjAwMDAwMDBBMDA1MDAwN0M0MTA1MDAwQQorOjEwMUMzMDAwRTUyODAwMDA0MjAwMDAwMDBBMDA0ODAwQzUwMDAwMDAzRQorOjEwMUM0MDAwNDRDMTRDMDA4NkEwMzgwMEU1MjYwMDAwRTUyNzAwMDBDRQorOjEwMUM1MDAwNDIwMDAyMDA0QTAwNDAwMDBBMDA1MDAwM0M0MjAwMDBERQorOjEwMUM2MDAwN0M1NjAwMDBFNTI4MDAwMDIwNDgwMDAwNDAwMDAwMDBFRAorOjEwMUM3MDAwMTIxRDI4MDAxMjI1MjgwMDcyMUYwMDAwNjUyOTAwMDA4RgorOjEwMUM4MDAwNDIwMDAwMDAwQTAwNDAwMDA0NDEwMDAwODYzQTM5MDA4QQorOjEwMUM5MDAwMDcwMDBFMDAwNzAwMTYwMDA3MDAxRTAwRTUzRTAwMDBDQQorOjEwMUNBMDAwNDIwMDAwMDAwQTAwNDAwMDA0NDEwMDAwODY3ODM5MDAyQworOjEwMUNCMDAwNjUyRDAwMDA0MjAwMDAwMDBBMzQyODAwNjUzNDAwMDA1MQorOjEwMUNDMDAwNDIwMDAyMDA0QTAwNDIwMDIwNDAwMDAwNEEwMDRBMDA1MAorOjEwMUNEMDAwNEEwMDUwMDBGNEQyMDUwMDA0RDE1NDAwNUM3MzAwMDBBNworOjEwMUNFMDAwODZFMTM5MDAwNzAwMDAwMDA2MDYwMDAwMDcwMDA4MDAzMgorOjEwMUNGMDAwMDcwMDBDMDAwNzAwMDgwMDA3MDAwQTAwRTUwMTAwMDBDQgorOjEwMUQwMDAwNDUwMDAyMDAyMDQwMDAwMDYwMDAwMDAwNjUwMzAwMDA2NAorOjEwMUQxMDAwNDAwMDAwMDA2NTJFMDAwMDIwMUEwMDAwNjAxQTBBMDAzMgorOjEwMUQyMDAwNDAwMDAwMDA2NTM0MDAwMDQyMDAwMjAwNEEwMDQyMDAwQQorOjEwMUQzMDAwMjA0MDAwMDA0QTAwNEEwMDA2MDYwMDAwNEEwMDUwMDAwOQorOjEwMUQ0MDAwRkQxNzAwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA5RAorOjEwMUQ1MDAwODY1QTIyMDAwNzAwMDAwMDdEMTAwMDAwNDI4MDAxMDAyQQorOjEwMUQ2MDAwRkQxMTAwMDA0QTgwMzMwMDRBODAxOTAwMEEwMDIwMDA1QgorOjEwMUQ3MDAwOTUwMDAwMDA0NDExMkEwMDQ0QTEwMTAwODY5MDNCMDAxOAorOjEwMUQ4MDAwMEQwNDAwMDA4NEIxMDAwMDg2OTEzQjAwRkQxODAwMDBBNgorOjEwMUQ5MDAwNDI4MDAxMDBGRDEwMDAwMDRBODAwOTAwMEEwMDM4MDA1RQorOjEwMURBMDAwOTUwMDAwMDAyNDA5MDEwMDY0M0EwMDAwODY4MTNCMDA5MAorOjEwMURCMDAwMDcwMDAwMDAwNDM5MDAwMDg2OTIzQjAwMDcwMDAwMDA4NQorOjEwMURDMDAwMDY5QTNCMDAwRDAwMDAwMDhEMDAwMDAwMjAwODAwMDA3NgorOjEwMUREMDAwN0QzODAwMDA0MDgwMDEwMDAyMDA3MDAwN0QxMTAwMDA4RAorOjEwMURFMDAwNDI4MDAxMDA3RDE5MDAwMDRBODAyOTAwMEEwMDMwMDA2RAorOjEwMURGMDAwMDIwMDM4MDAyNDMxMDAwMDI0MDQwMDAwMjQwNDAwMDAwNAorOjEwMUUwMDAwMjQyQTAwMDAwMjA1MjgwMDhEMDYwMDAwMTAwODAwMDBBQQorOjEwMUUxMDAwM0ExNDI4MDAwRDc1MDAwMDI0QjEwMDAwNjQyMjAwMDA2RgorOjEwMUUyMDAwODYwMzNEMDAwMjQ0MjgwMDEwMDgwMDAwM0EwQzI4MDBGOAorOjEwMUUzMDAwMEQ4MDBCMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDAyMgorOjEwMUU0MDAwMDcwMDIwMDA4RDc1MDAwMDI0QjEwMDAwMDIwMTEwMDA4MQorOjEwMUU1MDAwNDQyMTAxMDA4NjQ5M0UwMDEwMTgwMDAwM0EwMDEwMDA5RAorOjEwMUU2MDAwN0QzODAwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDBEQgorOjEwMUU3MDAwODY0ODNFMDAwMDAwMDMwMDA2NEEzRTAwQkQwMDAwMDAwOAorOjEwMUU4MDAwOEQwMDAwMDA2NDMxMDIwMDY0MEEwMDAwMDIwRDI4MDA4OQorOjEwMUU5MDAwOEQ4MDBCMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDA0MgorOjEwMUVBMDAwMDcwMDIwMDA3RDM4MDAwMDQyODAwMTAwMEEwMDA4MDA4MQorOjEwMUVCMDAwMDQwOTAwMDA4NjMyM0UwMDAwMDAwMzAwRkQwMjAwMDAxRAorOjEwMUVDMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODY4MjNEMDBFQgorOjEwMUVEMDAwMDcwMDAwMDAxMDI4MDAwMDNBMDQyODAwMEQ3NTAwMDBEQgorOjEwMUVFMDAwMjQwOTAzMDA2NDIyMDAwMDAyMEQyODAwNkMzMTAyMDA2NgorOjEwMUVGMDAwMEE0NTI4MDAwRDgxMEIwMDIwMDgwMDAwRkQwMjAwMDBBQgorOjEwMUYwMDAwNDA4MDAxMDAwNzAwMjAwMDhEMDAwMDAwMjQwQTAwMDAyRQorOjEwMUYxMDAwMDY0QTNFMDAwMjAxMTAwMDEwMTgwMDAwM0EwMDEwMDBBRQorOjEwMUYyMDAwQkQwMDAwMDAxMDM4MDAwMDNBMDQzMDAwN0QxODAwMDBBOQorOjEwMUYzMDAwNDI4MDAxMDBGRDE4MDAwMDRBODAwOTAwMEEwMDIwMDBDQworOjEwMUY0MDAwQUQwMDAwMDAyNDg5MDIwMDJDMjEwNzAwMTAxMDAwMDBDMQorOjEwMUY1MDAwODMwNTMwMDA4QjBEMzAwMEJCMTQzMDAwODMxQzMwMDAzMworOjEwMUY2MDAwODMyMDAwMDA3RDEzMDAwMDQyODAwMzAwNEE4NDMzMDA3OAorOjEwMUY3MDAwQ0JBQzMzMDBDQkI0MzMwMENCQkMzMzAwQ0JDNDMzMDA4OQorOjEwMUY4MDAwQ0JDQzMzMDBDQkQ0MzMwMDhCNUMzMDAwODM2MDAwMDBCQgorOjEwMUY5MDAwMEQxRTAwMDBGRDA1MDAwMDQyODAwMTAwMEEwMDIwMDAyNworOjEwMUZBMDAwMjQwOTAyMDA4RDA2MDAwMDZDQTkwMDAwOUQwMDAwMDBCRAorOjEwMUZCMDAwRkQwMjAwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA0MAorOjEwMUZDMDAwODY2QTNGMDAwNzAwMDAwMDAyMDUyODAwMEEwRDI4MDA2RAorOjEwMUZEMDAwMDI0NDI4MDAxMDE4MDAwMDNBMTQyODAwOEQwMDBDMDA1QworOjEwMUZFMDAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDIyMDBFMAorOjEwMUZGMDAwMDQzOTAwMDA4NjU4MjIwMDBEMUUwMDAwN0QwNTAwMDBGNworOjEwMjAwMDAwNDI4MDAxMDAwQTAwMjAwMDI0MDkwMjAwQTUwMDAwMDAwRgorOjEwMjAxMDAwRkQwMjAwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDBERgorOjEwMjAyMDAwODYyQTQwMDAwNzAwMDAwMDAyMDUyODAwMDIwQzI4MDA1NAorOjEwMjAzMDAwMTAyMDAwMDAzQTE0MjgwMDBEMDEwQzAwMjAwODAwMDBCOAorOjEwMjA0MDAwRkQwMjAwMDA0MDgwMDEwMDA2NUEyMjAwMDcwMDIyMDAyNQorOjEwMjA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwMjA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwMjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwMjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwMjBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwMjBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwMjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwMjBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwMjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAorOjEwMjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgorOjEwMjEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgorOjEwMjEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgorOjEwMjE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgorOjEwMjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgorOjEwMjE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwMjE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjEwMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQworOjEwMjQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwMjQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQworOjEwMjQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwMjQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwMjQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwMjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwMjQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwMjQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwMjQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwMjRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjEwMjRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjEwMjRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwMjREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwMjRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjEwMjRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQworOjEwMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQgorOjEwMjUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQgorOjEwMjUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjEwMjUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QgorOjEwMjU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QgorOjEwMjU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QgorOjEwMjU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjEwMjU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QgorOjEwMjU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QgorOjEwMjU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQgorOjEwMjVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjEwMjVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQgorOjEwMjVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQgorOjEwMjVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQgorOjEwMjVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjEwMjVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQgorOjEwMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQQorOjEwMjYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQQorOjEwMjYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjEwMjYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QQorOjEwMjY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QQorOjEwMjY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QQorOjEwMjY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjEwMjY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QQorOjEwMjY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QQorOjEwMjY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQQorOjEwMjZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjEwMjZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQQorOjEwMjZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQQorOjEwMjZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQQorOjEwMjZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjEwMjZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQQorOjEwMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOQorOjEwMjcxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOQorOjEwMjcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjEwMjczMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OQorOjEwMjc0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OQorOjEwMjc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OQorOjEwMjc2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjEwMjc3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OQorOjEwMjc4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OQorOjEwMjc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOQorOjEwMjdBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjEwMjdCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOQorOjEwMjdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOQorOjEwMjdEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOQorOjEwMjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjEwMjdGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOQorOjEwMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOAorOjEwMjgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOAorOjEwMjgyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjEwMjgzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OAorOjEwMjg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OAorOjEwMjg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OAorOjEwMjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjEwMjg3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OAorOjEwMjg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OAorOjEwMjg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOAorOjEwMjhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjEwMjhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOAorOjEwMjhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOAorOjEwMjhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOAorOjEwMjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjEwMjhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOAorOjEwMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNworOjEwMjkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNworOjEwMjkyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjEwMjkzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NworOjEwMjk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NworOjEwMjk1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NworOjEwMjk2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjEwMjk3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NworOjEwMjk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NworOjEwMjk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNworOjEwMjlBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjEwMjlCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNworOjEwMjlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNworOjEwMjlEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNworOjEwMjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjEwMjlGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENworOjEwMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNgorOjEwMkExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNgorOjEwMkEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjEwMkEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NgorOjEwMkE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NgorOjEwMkE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NgorOjEwMkE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjEwMkE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NgorOjEwMkE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NgorOjEwMkE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNgorOjEwMkFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjEwMkFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNgorOjEwMkFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNgorOjEwMkFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNgorOjEwMkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjEwMkFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENgorOjEwMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNQorOjEwMkIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNQorOjEwMkIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjEwMkIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwMkI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwMkI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwMkI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwMkI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwMkI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwMkI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwMkJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwMkJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwMkJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwMkJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwMkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwMkJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENQorOjEwMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwMkMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwMkMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMkMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwMkM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwMkM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwMkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwMkM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMkM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMkM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMkNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMkNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMkNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMkNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMkNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMkQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMkQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMkQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMkQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMkQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMkQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMkQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMkQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMkQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMkRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMkRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMkRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMkREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMkRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMkUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMkUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMkUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMkU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMkU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMkU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMkU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMkU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMkU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwMkVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwMkVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwMkVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgorOjEwMkVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwMkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwMkVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwMkYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwMkYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjEwMkYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwMkY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwMkY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwMkY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwMkY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwMkY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwMkY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwMkZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwMkZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwMkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwMkZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwMkZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwMkZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2ZzL0tjb25maWcgYi9mcy9LY29uZmlnCmluZGV4IDBjZTcyZGMuLjg0YWI3NmEgMTAwNjQ0Ci0tLSBhL2ZzL0tjb25maWcKKysrIGIvZnMvS2NvbmZpZwpAQCAtOTMwLDcgKzkzMCw3IEBACiAKIGNvbmZpZyBQUk9DX1ZNQ09SRQogICAgICAgICBib29sICIvcHJvYy92bWNvcmUgc3VwcG9ydCAoRVhQRVJJTUVOVEFMKSIKLSAgICAgICAgZGVwZW5kcyBvbiBQUk9DX0ZTICYmIEVYUEVSSU1FTlRBTCAmJiBDUkFTSF9EVU1QCisgICAgICAgIGRlcGVuZHMgb24gUFJPQ19GUyAmJiBDUkFTSF9EVU1QCiAJZGVmYXVsdCB5CiAgICAgICAgIGhlbHAKICAgICAgICAgRXhwb3J0cyB0aGUgZHVtcCBpbWFnZSBvZiBjcmFzaGVkIGtlcm5lbCBpbiBFTEYgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvZnMvTWFrZWZpbGUgYi9mcy9NYWtlZmlsZQppbmRleCAxZTdhMTFiLi4yNzdiMDc5IDEwMDY0NAotLS0gYS9mcy9NYWtlZmlsZQorKysgYi9mcy9NYWtlZmlsZQpAQCAtMTksNiArMTksNyBAQAogb2JqLXkgKz0Jbm8tYmxvY2subwogZW5kaWYKIAorb2JqLSQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKSArPSBiaW8taW50ZWdyaXR5Lm8KIG9iai0kKENPTkZJR19JTk9USUZZKQkJKz0gaW5vdGlmeS5vCiBvYmotJChDT05GSUdfSU5PVElGWV9VU0VSKQkrPSBpbm90aWZ5X3VzZXIubwogb2JqLSQoQ09ORklHX0VQT0xMKQkJKz0gZXZlbnRwb2xsLm8KZGlmZiAtLWdpdCBhL2ZzL2Jpby1pbnRlZ3JpdHkuYyBiL2ZzL2Jpby1pbnRlZ3JpdHkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2UyZWU2Ci0tLSAvZGV2L251bGwKKysrIGIvZnMvYmlvLWludGVncml0eS5jCkBAIC0wLDAgKzEsNzE5IEBACisvKgorICogYmlvLWludGVncml0eS5jIC0gYmlvIGRhdGEgaW50ZWdyaXR5IGV4dGVuc2lvbnMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggT3JhY2xlIENvcnBvcmF0aW9uCisgKiBXcml0dGVuIGJ5OiBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24KKyAqIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LAorICogVVNBLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvbWVtcG9vbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jpby5oPgorI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgorCitzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKmJpb19pbnRlZ3JpdHlfc2xhYiBfX3JlYWRfbW9zdGx5Oworc3RhdGljIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpraW50ZWdyaXR5ZF93cTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2FsbG9jX2Jpb3NldCAtIEFsbG9jYXRlIGludGVncml0eSBwYXlsb2FkIGFuZCBhdHRhY2ggaXQgdG8gYmlvCisgKiBAYmlvOgliaW8gdG8gYXR0YWNoIGludGVncml0eSBtZXRhZGF0YSB0bworICogQGdmcF9tYXNrOglNZW1vcnkgYWxsb2NhdGlvbiBtYXNrCisgKiBAbnJfdmVjczoJTnVtYmVyIG9mIGludGVncml0eSBtZXRhZGF0YSBzY2F0dGVyLWdhdGhlciBlbGVtZW50cworICogQGJzOgkJYmlvX3NldCB0byBhbGxvY2F0ZSBmcm9tCisgKgorICogRGVzY3JpcHRpb246IFRoaXMgZnVuY3Rpb24gcHJlcGFyZXMgYSBiaW8gZm9yIGF0dGFjaGluZyBpbnRlZ3JpdHkKKyAqIG1ldGFkYXRhLiAgbnJfdmVjcyBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHBhZ2VzIGNvbnRhaW5pbmcKKyAqIGludGVncml0eSBtZXRhZGF0YSB0aGF0IGNhbiBiZSBhdHRhY2hlZC4KKyAqLworc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlvX2ludGVncml0eV9hbGxvY19iaW9zZXQoc3RydWN0IGJpbyAqYmlvLAorCQkJCQkJCSBnZnBfdCBnZnBfbWFzaywKKwkJCQkJCQkgdW5zaWduZWQgaW50IG5yX3ZlY3MsCisJCQkJCQkJIHN0cnVjdCBiaW9fc2V0ICpicykKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXA7CisJc3RydWN0IGJpb192ZWMgKml2OworCXVuc2lnbmVkIGxvbmcgaWR4OworCisJQlVHX09OKGJpbyA9PSBOVUxMKTsKKworCWJpcCA9IG1lbXBvb2xfYWxsb2MoYnMtPmJpb19pbnRlZ3JpdHlfcG9vbCwgZ2ZwX21hc2spOworCWlmICh1bmxpa2VseShiaXAgPT0gTlVMTCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogY291bGQgbm90IGFsbG9jIGJpcFxuIiwgX19mdW5jX18pOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwltZW1zZXQoYmlwLCAwLCBzaXplb2YoKmJpcCkpOworCisJaXYgPSBidmVjX2FsbG9jX2JzKGdmcF9tYXNrLCBucl92ZWNzLCAmaWR4LCBicyk7CisJaWYgKHVubGlrZWx5KGl2ID09IE5VTEwpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IGNvdWxkIG5vdCBhbGxvYyBiaXBfdmVjXG4iLCBfX2Z1bmNfXyk7CisJCW1lbXBvb2xfZnJlZShiaXAsIGJzLT5iaW9faW50ZWdyaXR5X3Bvb2wpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwliaXAtPmJpcF9wb29sID0gaWR4OworCWJpcC0+YmlwX3ZlYyA9IGl2OworCWJpcC0+YmlwX2JpbyA9IGJpbzsKKwliaW8tPmJpX2ludGVncml0eSA9IGJpcDsKKworCXJldHVybiBiaXA7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfYWxsb2NfYmlvc2V0KTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2FsbG9jIC0gQWxsb2NhdGUgaW50ZWdyaXR5IHBheWxvYWQgYW5kIGF0dGFjaCBpdCB0byBiaW8KKyAqIEBiaW86CWJpbyB0byBhdHRhY2ggaW50ZWdyaXR5IG1ldGFkYXRhIHRvCisgKiBAZ2ZwX21hc2s6CU1lbW9yeSBhbGxvY2F0aW9uIG1hc2sKKyAqIEBucl92ZWNzOglOdW1iZXIgb2YgaW50ZWdyaXR5IG1ldGFkYXRhIHNjYXR0ZXItZ2F0aGVyIGVsZW1lbnRzCisgKgorICogRGVzY3JpcHRpb246IFRoaXMgZnVuY3Rpb24gcHJlcGFyZXMgYSBiaW8gZm9yIGF0dGFjaGluZyBpbnRlZ3JpdHkKKyAqIG1ldGFkYXRhLiAgbnJfdmVjcyBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHBhZ2VzIGNvbnRhaW5pbmcKKyAqIGludGVncml0eSBtZXRhZGF0YSB0aGF0IGNhbiBiZSBhdHRhY2hlZC4KKyAqLworc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlvX2ludGVncml0eV9hbGxvYyhzdHJ1Y3QgYmlvICpiaW8sCisJCQkJCQkgIGdmcF90IGdmcF9tYXNrLAorCQkJCQkJICB1bnNpZ25lZCBpbnQgbnJfdmVjcykKK3sKKwlyZXR1cm4gYmlvX2ludGVncml0eV9hbGxvY19iaW9zZXQoYmlvLCBnZnBfbWFzaywgbnJfdmVjcywgZnNfYmlvX3NldCk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfYWxsb2MpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfZnJlZSAtIEZyZWUgYmlvIGludGVncml0eSBwYXlsb2FkCisgKiBAYmlvOgliaW8gY29udGFpbmluZyBiaXAgdG8gYmUgZnJlZWQKKyAqIEBiczoJCWJpb19zZXQgdGhpcyBiaW8gd2FzIGFsbG9jYXRlZCBmcm9tCisgKgorICogRGVzY3JpcHRpb246IFVzZWQgdG8gZnJlZSB0aGUgaW50ZWdyaXR5IHBvcnRpb24gb2YgYSBiaW8uIFVzdWFsbHkKKyAqIGNhbGxlZCBmcm9tIGJpb19mcmVlKCkuCisgKi8KK3ZvaWQgYmlvX2ludGVncml0eV9mcmVlKHN0cnVjdCBiaW8gKmJpbywgc3RydWN0IGJpb19zZXQgKmJzKQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCA9IGJpby0+YmlfaW50ZWdyaXR5OworCisJQlVHX09OKGJpcCA9PSBOVUxMKTsKKworCS8qIEEgY2xvbmVkIGJpbyBkb2Vzbid0IG93biB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhICovCisJaWYgKCFiaW9fZmxhZ2dlZChiaW8sIEJJT19DTE9ORUQpICYmIGJpcC0+YmlwX2J1ZiAhPSBOVUxMKQorCQlrZnJlZShiaXAtPmJpcF9idWYpOworCisJbWVtcG9vbF9mcmVlKGJpcC0+YmlwX3ZlYywgYnMtPmJ2ZWNfcG9vbHNbYmlwLT5iaXBfcG9vbF0pOworCW1lbXBvb2xfZnJlZShiaXAsIGJzLT5iaW9faW50ZWdyaXR5X3Bvb2wpOworCisJYmlvLT5iaV9pbnRlZ3JpdHkgPSBOVUxMOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2ZyZWUpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfYWRkX3BhZ2UgLSBBdHRhY2ggaW50ZWdyaXR5IG1ldGFkYXRhCisgKiBAYmlvOgliaW8gdG8gdXBkYXRlCisgKiBAcGFnZToJcGFnZSBjb250YWluaW5nIGludGVncml0eSBtZXRhZGF0YQorICogQGxlbjoJbnVtYmVyIG9mIGJ5dGVzIG9mIGludGVncml0eSBtZXRhZGF0YSBpbiBwYWdlCisgKiBAb2Zmc2V0OglzdGFydCBvZmZzZXQgd2l0aGluIHBhZ2UKKyAqCisgKiBEZXNjcmlwdGlvbjogQXR0YWNoIGEgcGFnZSBjb250YWluaW5nIGludGVncml0eSBtZXRhZGF0YSB0byBiaW8uCisgKi8KK2ludCBiaW9faW50ZWdyaXR5X2FkZF9wYWdlKHN0cnVjdCBiaW8gKmJpbywgc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkgICB1bnNpZ25lZCBpbnQgbGVuLCB1bnNpZ25lZCBpbnQgb2Zmc2V0KQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCA9IGJpby0+YmlfaW50ZWdyaXR5OworCXN0cnVjdCBiaW9fdmVjICppdjsKKworCWlmIChiaXAtPmJpcF92Y250ID49IGJ2ZWNfbnJfdmVjcyhiaXAtPmJpcF9wb29sKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBiaXBfdmVjIGZ1bGxcbiIsIF9fZnVuY19fKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaXYgPSBiaXBfdmVjX2lkeChiaXAsIGJpcC0+YmlwX3ZjbnQpOworCUJVR19PTihpdiA9PSBOVUxMKTsKKwlCVUdfT04oaXYtPmJ2X3BhZ2UgIT0gTlVMTCk7CisKKwlpdi0+YnZfcGFnZSA9IHBhZ2U7CisJaXYtPmJ2X2xlbiA9IGxlbjsKKwlpdi0+YnZfb2Zmc2V0ID0gb2Zmc2V0OworCWJpcC0+YmlwX3ZjbnQrKzsKKworCXJldHVybiBsZW47Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfYWRkX3BhZ2UpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfZW5hYmxlZCAtIENoZWNrIHdoZXRoZXIgaW50ZWdyaXR5IGNhbiBiZSBwYXNzZWQKKyAqIEBiaW86CWJpbyB0byBjaGVjaworICoKKyAqIERlc2NyaXB0aW9uOiBEZXRlcm1pbmVzIHdoZXRoZXIgYmlvX2ludGVncml0eV9wcmVwKCkgY2FuIGJlIGNhbGxlZAorICogb24gdGhpcyBiaW8gb3Igbm90LgliaW8gZGF0YSBkaXJlY3Rpb24gYW5kIHRhcmdldCBkZXZpY2UgbXVzdCBiZQorICogc2V0IHByaW9yIHRvIGNhbGxpbmcuICBUaGUgZnVuY3Rpb25zIGhvbm9ycyB0aGUgd3JpdGVfZ2VuZXJhdGUgYW5kCisgKiByZWFkX3ZlcmlmeSBmbGFncyBpbiBzeXNmcy4KKyAqLworaW50IGJpb19pbnRlZ3JpdHlfZW5hYmxlZChzdHJ1Y3QgYmlvICpiaW8pCit7CisJLyogQWxyZWFkeSBwcm90ZWN0ZWQ/ICovCisJaWYgKGJpb19pbnRlZ3JpdHkoYmlvKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gYmRldl9pbnRlZ3JpdHlfZW5hYmxlZChiaW8tPmJpX2JkZXYsIGJpb19kYXRhX2RpcihiaW8pKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9lbmFibGVkKTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2h3X3NlY3RvcnMgLSBDb252ZXJ0IDUxMmIgc2VjdG9ycyB0byBoYXJkd2FyZSBkaXR0bworICogQGJpOgkJYmxrX2ludGVncml0eSBwcm9maWxlIGZvciBkZXZpY2UKKyAqIEBzZWN0b3JzOglOdW1iZXIgb2YgNTEyIHNlY3RvcnMgdG8gY29udmVydAorICoKKyAqIERlc2NyaXB0aW9uOiBUaGUgYmxvY2sgbGF5ZXIgY2FsY3VsYXRlcyBldmVyeXRoaW5nIGluIDUxMiBieXRlCisgKiBzZWN0b3JzIGJ1dCBpbnRlZ3JpdHkgbWV0YWRhdGEgaXMgZG9uZSBpbiB0ZXJtcyBvZiB0aGUgaGFyZHdhcmUKKyAqIHNlY3RvciBzaXplIG9mIHRoZSBzdG9yYWdlIGRldmljZS4gIENvbnZlcnQgdGhlIGJsb2NrIGxheWVyIHNlY3RvcnMKKyAqIHRvIHBoeXNpY2FsIHNlY3RvcnMuCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGJpb19pbnRlZ3JpdHlfaHdfc2VjdG9ycyhzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmksCisJCQkJCQkgICAgdW5zaWduZWQgaW50IHNlY3RvcnMpCit7CisJLyogQXQgdGhpcyBwb2ludCB0aGVyZSBhcmUgb25seSA1MTJiIG9yIDQwOTZiIERJRi9FUFAgZGV2aWNlcyAqLworCWlmIChiaS0+c2VjdG9yX3NpemUgPT0gNDA5NikKKwkJcmV0dXJuIHNlY3RvcnMgPj49IDM7CisKKwlyZXR1cm4gc2VjdG9yczsKK30KKworLyoqCisgKiBiaW9faW50ZWdyaXR5X3RhZ19zaXplIC0gUmV0cmlldmUgaW50ZWdyaXR5IHRhZyBzcGFjZQorICogQGJpbzoJYmlvIHRvIGluc3BlY3QKKyAqCisgKiBEZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGFnIGJ5dGVzIHRoYXQgY2FuIGJlCisgKiBhdHRhY2hlZCB0byB0aGlzIGJpby4gRmlsZXN5c3RlbXMgY2FuIHVzZSB0aGlzIHRvIGRldGVybWluZSBob3cKKyAqIG11Y2ggbWV0YWRhdGEgdG8gYXR0YWNoIHRvIGFuIEkvTy4KKyAqLwordW5zaWduZWQgaW50IGJpb19pbnRlZ3JpdHlfdGFnX3NpemUoc3RydWN0IGJpbyAqYmlvKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9IGJkZXZfZ2V0X2ludGVncml0eShiaW8tPmJpX2JkZXYpOworCisJQlVHX09OKGJpby0+Ymlfc2l6ZSA9PSAwKTsKKworCXJldHVybiBiaS0+dGFnX3NpemUgKiAoYmlvLT5iaV9zaXplIC8gYmktPnNlY3Rvcl9zaXplKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV90YWdfc2l6ZSk7CisKK2ludCBiaW9faW50ZWdyaXR5X3RhZyhzdHJ1Y3QgYmlvICpiaW8sIHZvaWQgKnRhZ19idWYsIHVuc2lnbmVkIGludCBsZW4sIGludCBzZXQpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisJdW5zaWduZWQgaW50IG5yX3NlY3RvcnM7CisKKwlCVUdfT04oYmlwLT5iaXBfYnVmID09IE5VTEwpOworCisJaWYgKGJpLT50YWdfc2l6ZSA9PSAwKQorCQlyZXR1cm4gLTE7CisKKwlucl9zZWN0b3JzID0gYmlvX2ludGVncml0eV9od19zZWN0b3JzKGJpLAorCQkJCQlESVZfUk9VTkRfVVAobGVuLCBiaS0+dGFnX3NpemUpKTsKKworCWlmIChucl9zZWN0b3JzICogYmktPnR1cGxlX3NpemUgPiBiaXAtPmJpcF9zaXplKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IHRhZyB0b28gYmlnIGZvciBiaW86ICV1ID4gJXVcbiIsCisJCSAgICAgICBfX2Z1bmNfXywgbnJfc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplLCBiaXAtPmJpcF9zaXplKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChzZXQpCisJCWJpLT5zZXRfdGFnX2ZuKGJpcC0+YmlwX2J1ZiwgdGFnX2J1ZiwgbnJfc2VjdG9ycyk7CisJZWxzZQorCQliaS0+Z2V0X3RhZ19mbihiaXAtPmJpcF9idWYsIHRhZ19idWYsIG5yX3NlY3RvcnMpOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmlvX2ludGVncml0eV9zZXRfdGFnIC0gQXR0YWNoIGEgdGFnIGJ1ZmZlciB0byBhIGJpbworICogQGJpbzoJYmlvIHRvIGF0dGFjaCBidWZmZXIgdG8KKyAqIEB0YWdfYnVmOglQb2ludGVyIHRvIGEgYnVmZmVyIGNvbnRhaW5pbmcgdGFnIGRhdGEKKyAqIEBsZW46CUxlbmd0aCBvZiB0aGUgaW5jbHVkZWQgYnVmZmVyCisgKgorICogRGVzY3JpcHRpb246IFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRhZyBhIGJpbyBieSBsZXZlcmFnaW5nIHRoZSBleHRyYQorICogc3BhY2UgcHJvdmlkZWQgYnkgZGV2aWNlcyBmb3JtYXR0ZWQgd2l0aCBpbnRlZ3JpdHkgcHJvdGVjdGlvbi4gIFRoZQorICogc2l6ZSBvZiB0aGUgaW50ZWdyaXR5IGJ1ZmZlciBtdXN0IGJlIDw9IHRvIHRoZSBzaXplIHJlcG9ydGVkIGJ5CisgKiBiaW9faW50ZWdyaXR5X3RhZ19zaXplKCkuCisgKi8KK2ludCBiaW9faW50ZWdyaXR5X3NldF90YWcoc3RydWN0IGJpbyAqYmlvLCB2b2lkICp0YWdfYnVmLCB1bnNpZ25lZCBpbnQgbGVuKQoreworCUJVR19PTihiaW9fZGF0YV9kaXIoYmlvKSAhPSBXUklURSk7CisKKwlyZXR1cm4gYmlvX2ludGVncml0eV90YWcoYmlvLCB0YWdfYnVmLCBsZW4sIDEpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X3NldF90YWcpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfZ2V0X3RhZyAtIFJldHJpZXZlIGEgdGFnIGJ1ZmZlciBmcm9tIGEgYmlvCisgKiBAYmlvOgliaW8gdG8gcmV0cmlldmUgYnVmZmVyIGZyb20KKyAqIEB0YWdfYnVmOglQb2ludGVyIHRvIGEgYnVmZmVyIGZvciB0aGUgdGFnIGRhdGEKKyAqIEBsZW46CUxlbmd0aCBvZiB0aGUgdGFyZ2V0IGJ1ZmZlcgorICoKKyAqIERlc2NyaXB0aW9uOiBVc2UgdGhpcyBmdW5jdGlvbiB0byByZXRyaWV2ZSB0aGUgdGFnIGJ1ZmZlciBmcm9tIGEKKyAqIGNvbXBsZXRlZCBJL08uIFRoZSBzaXplIG9mIHRoZSBpbnRlZ3JpdHkgYnVmZmVyIG11c3QgYmUgPD0gdG8gdGhlCisgKiBzaXplIHJlcG9ydGVkIGJ5IGJpb19pbnRlZ3JpdHlfdGFnX3NpemUoKS4KKyAqLworaW50IGJpb19pbnRlZ3JpdHlfZ2V0X3RhZyhzdHJ1Y3QgYmlvICpiaW8sIHZvaWQgKnRhZ19idWYsIHVuc2lnbmVkIGludCBsZW4pCit7CisJQlVHX09OKGJpb19kYXRhX2RpcihiaW8pICE9IFJFQUQpOworCisJcmV0dXJuIGJpb19pbnRlZ3JpdHlfdGFnKGJpbywgdGFnX2J1ZiwgbGVuLCAwKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9nZXRfdGFnKTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2dlbmVyYXRlIC0gR2VuZXJhdGUgaW50ZWdyaXR5IG1ldGFkYXRhIGZvciBhIGJpbworICogQGJpbzoJYmlvIHRvIGdlbmVyYXRlIGludGVncml0eSBtZXRhZGF0YSBmb3IKKyAqCisgKiBEZXNjcmlwdGlvbjogR2VuZXJhdGVzIGludGVncml0eSBtZXRhZGF0YSBmb3IgYSBiaW8gYnkgY2FsbGluZyB0aGUKKyAqIGJsb2NrIGRldmljZSdzIGdlbmVyYXRpb24gY2FsbGJhY2sgZnVuY3Rpb24uICBUaGUgYmlvIG11c3QgaGF2ZSBhCisgKiBiaXAgYXR0YWNoZWQgd2l0aCBlbm91Z2ggcm9vbSB0byBhY2NvbW1vZGF0ZSB0aGUgZ2VuZXJhdGVkCisgKiBpbnRlZ3JpdHkgbWV0YWRhdGEuCisgKi8KK3N0YXRpYyB2b2lkIGJpb19pbnRlZ3JpdHlfZ2VuZXJhdGUoc3RydWN0IGJpbyAqYmlvKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9IGJkZXZfZ2V0X2ludGVncml0eShiaW8tPmJpX2JkZXYpOworCXN0cnVjdCBibGtfaW50ZWdyaXR5X2V4Y2hnIGJpeDsKKwlzdHJ1Y3QgYmlvX3ZlYyAqYnY7CisJc2VjdG9yX3Qgc2VjdG9yID0gYmlvLT5iaV9zZWN0b3I7CisJdW5zaWduZWQgaW50IGksIHNlY3RvcnMsIHRvdGFsOworCXZvaWQgKnByb3RfYnVmID0gYmlvLT5iaV9pbnRlZ3JpdHktPmJpcF9idWY7CisKKwl0b3RhbCA9IDA7CisJYml4LmRpc2tfbmFtZSA9IGJpby0+YmlfYmRldi0+YmRfZGlzay0+ZGlza19uYW1lOworCWJpeC5zZWN0b3Jfc2l6ZSA9IGJpLT5zZWN0b3Jfc2l6ZTsKKworCWJpb19mb3JfZWFjaF9zZWdtZW50KGJ2LCBiaW8sIGkpIHsKKwkJdm9pZCAqa2FkZHIgPSBrbWFwX2F0b21pYyhidi0+YnZfcGFnZSwgS01fVVNFUjApOworCQliaXguZGF0YV9idWYgPSBrYWRkciArIGJ2LT5idl9vZmZzZXQ7CisJCWJpeC5kYXRhX3NpemUgPSBidi0+YnZfbGVuOworCQliaXgucHJvdF9idWYgPSBwcm90X2J1ZjsKKwkJYml4LnNlY3RvciA9IHNlY3RvcjsKKworCQliaS0+Z2VuZXJhdGVfZm4oJmJpeCk7CisKKwkJc2VjdG9ycyA9IGJ2LT5idl9sZW4gLyBiaS0+c2VjdG9yX3NpemU7CisJCXNlY3RvciArPSBzZWN0b3JzOworCQlwcm90X2J1ZiArPSBzZWN0b3JzICogYmktPnR1cGxlX3NpemU7CisJCXRvdGFsICs9IHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZTsKKwkJQlVHX09OKHRvdGFsID4gYmlvLT5iaV9pbnRlZ3JpdHktPmJpcF9zaXplKTsKKworCQlrdW5tYXBfYXRvbWljKGthZGRyLCBLTV9VU0VSMCk7CisJfQorfQorCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfcHJlcCAtIFByZXBhcmUgYmlvIGZvciBpbnRlZ3JpdHkgSS9PCisgKiBAYmlvOgliaW8gdG8gcHJlcGFyZQorICoKKyAqIERlc2NyaXB0aW9uOiBBbGxvY2F0ZXMgYSBidWZmZXIgZm9yIGludGVncml0eSBtZXRhZGF0YSwgbWFwcyB0aGUKKyAqIHBhZ2VzIGFuZCBhdHRhY2hlcyB0aGVtIHRvIGEgYmlvLiAgVGhlIGJpbyBtdXN0IGhhdmUgZGF0YQorICogZGlyZWN0aW9uLCB0YXJnZXQgZGV2aWNlIGFuZCBzdGFydCBzZWN0b3Igc2V0IHByaW90IHRvIGNhbGxpbmcuICBJbgorICogdGhlIFdSSVRFIGNhc2UsIGludGVncml0eSBtZXRhZGF0YSB3aWxsIGJlIGdlbmVyYXRlZCB1c2luZyB0aGUKKyAqIGJsb2NrIGRldmljZSdzIGludGVncml0eSBmdW5jdGlvbi4gIEluIHRoZSBSRUFEIGNhc2UsIHRoZSBidWZmZXIKKyAqIHdpbGwgYmUgcHJlcGFyZWQgZm9yIERNQSBhbmQgYSBzdWl0YWJsZSBlbmRfaW8gaGFuZGxlciBzZXQgdXAuCisgKi8KK2ludCBiaW9faW50ZWdyaXR5X3ByZXAoc3RydWN0IGJpbyAqYmlvKQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcDsKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmk7CisJc3RydWN0IHJlcXVlc3RfcXVldWUgKnE7CisJdm9pZCAqYnVmOworCXVuc2lnbmVkIGxvbmcgc3RhcnQsIGVuZDsKKwl1bnNpZ25lZCBpbnQgbGVuLCBucl9wYWdlczsKKwl1bnNpZ25lZCBpbnQgYnl0ZXMsIG9mZnNldCwgaTsKKwl1bnNpZ25lZCBpbnQgc2VjdG9yczsKKworCWJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisJcSA9IGJkZXZfZ2V0X3F1ZXVlKGJpby0+YmlfYmRldik7CisJQlVHX09OKGJpID09IE5VTEwpOworCUJVR19PTihiaW9faW50ZWdyaXR5KGJpbykpOworCisJc2VjdG9ycyA9IGJpb19pbnRlZ3JpdHlfaHdfc2VjdG9ycyhiaSwgYmlvX3NlY3RvcnMoYmlvKSk7CisKKwkvKiBBbGxvY2F0ZSBrZXJuZWwgYnVmZmVyIGZvciBwcm90ZWN0aW9uIGRhdGEgKi8KKwlsZW4gPSBzZWN0b3JzICogYmxrX2ludGVncml0eV90dXBsZV9zaXplKGJpKTsKKwlidWYgPSBrbWFsbG9jKGxlbiwgR0ZQX05PSU8gfCBfX0dGUF9OT0ZBSUwgfCBxLT5ib3VuY2VfZ2ZwKTsKKwlpZiAodW5saWtlbHkoYnVmID09IE5VTEwpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiY291bGQgbm90IGFsbG9jYXRlIGludGVncml0eSBidWZmZXJcbiIpOworCQlyZXR1cm4gLUVJTzsKKwl9CisKKwllbmQgPSAoKCh1bnNpZ25lZCBsb25nKSBidWYpICsgbGVuICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKKwlzdGFydCA9ICgodW5zaWduZWQgbG9uZykgYnVmKSA+PiBQQUdFX1NISUZUOworCW5yX3BhZ2VzID0gZW5kIC0gc3RhcnQ7CisKKwkvKiBBbGxvY2F0ZSBiaW8gaW50ZWdyaXR5IHBheWxvYWQgYW5kIGludGVncml0eSB2ZWN0b3JzICovCisJYmlwID0gYmlvX2ludGVncml0eV9hbGxvYyhiaW8sIEdGUF9OT0lPLCBucl9wYWdlcyk7CisJaWYgKHVubGlrZWx5KGJpcCA9PSBOVUxMKSkgeworCQlwcmludGsoS0VSTl9FUlIgImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGludGVncml0eSBiaW9zZXRcbiIpOworCQlrZnJlZShidWYpOworCQlyZXR1cm4gLUVJTzsKKwl9CisKKwliaXAtPmJpcF9idWYgPSBidWY7CisJYmlwLT5iaXBfc2l6ZSA9IGxlbjsKKwliaXAtPmJpcF9zZWN0b3IgPSBiaW8tPmJpX3NlY3RvcjsKKworCS8qIE1hcCBpdCAqLworCW9mZnNldCA9IG9mZnNldF9pbl9wYWdlKGJ1Zik7CisJZm9yIChpID0gMCA7IGkgPCBucl9wYWdlcyA7IGkrKykgeworCQlpbnQgcmV0OworCQlieXRlcyA9IFBBR0VfU0laRSAtIG9mZnNldDsKKworCQlpZiAobGVuIDw9IDApCisJCQlicmVhazsKKworCQlpZiAoYnl0ZXMgPiBsZW4pCisJCQlieXRlcyA9IGxlbjsKKworCQlyZXQgPSBiaW9faW50ZWdyaXR5X2FkZF9wYWdlKGJpbywgdmlydF90b19wYWdlKGJ1ZiksCisJCQkJCSAgICAgYnl0ZXMsIG9mZnNldCk7CisKKwkJaWYgKHJldCA9PSAwKQorCQkJcmV0dXJuIDA7CisKKwkJaWYgKHJldCA8IGJ5dGVzKQorCQkJYnJlYWs7CisKKwkJYnVmICs9IGJ5dGVzOworCQlsZW4gLT0gYnl0ZXM7CisJCW9mZnNldCA9IDA7CisJfQorCisJLyogSW5zdGFsbCBjdXN0b20gSS9PIGNvbXBsZXRpb24gaGFuZGxlciBpZiByZWFkIHZlcmlmeSBpcyBlbmFibGVkICovCisJaWYgKGJpb19kYXRhX2RpcihiaW8pID09IFJFQUQpIHsKKwkJYmlwLT5iaXBfZW5kX2lvID0gYmlvLT5iaV9lbmRfaW87CisJCWJpby0+YmlfZW5kX2lvID0gYmlvX2ludGVncml0eV9lbmRpbzsKKwl9CisKKwkvKiBBdXRvLWdlbmVyYXRlIGludGVncml0eSBtZXRhZGF0YSBpZiB0aGlzIGlzIGEgd3JpdGUgKi8KKwlpZiAoYmlvX2RhdGFfZGlyKGJpbykgPT0gV1JJVEUpCisJCWJpb19pbnRlZ3JpdHlfZ2VuZXJhdGUoYmlvKTsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X3ByZXApOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfdmVyaWZ5IC0gVmVyaWZ5IGludGVncml0eSBtZXRhZGF0YSBmb3IgYSBiaW8KKyAqIEBiaW86CWJpbyB0byB2ZXJpZnkKKyAqCisgKiBEZXNjcmlwdGlvbjogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gdmVyaWZ5IHRoZSBpbnRlZ3JpdHkgb2YgYQorICogYmlvLgkgVGhlIGRhdGEgaW4gdGhlIGJpbyBpb192ZWMgaXMgY29tcGFyZWQgdG8gdGhlIGludGVncml0eQorICogbWV0YWRhdGEgcmV0dXJuZWQgYnkgdGhlIEhCQS4KKyAqLworc3RhdGljIGludCBiaW9faW50ZWdyaXR5X3ZlcmlmeShzdHJ1Y3QgYmlvICpiaW8pCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisJc3RydWN0IGJsa19pbnRlZ3JpdHlfZXhjaGcgYml4OworCXN0cnVjdCBiaW9fdmVjICpidjsKKwlzZWN0b3JfdCBzZWN0b3IgPSBiaW8tPmJpX2ludGVncml0eS0+YmlwX3NlY3RvcjsKKwl1bnNpZ25lZCBpbnQgaSwgc2VjdG9ycywgdG90YWwsIHJldDsKKwl2b2lkICpwcm90X2J1ZiA9IGJpby0+YmlfaW50ZWdyaXR5LT5iaXBfYnVmOworCisJcmV0ID0gdG90YWwgPSAwOworCWJpeC5kaXNrX25hbWUgPSBiaW8tPmJpX2JkZXYtPmJkX2Rpc2stPmRpc2tfbmFtZTsKKwliaXguc2VjdG9yX3NpemUgPSBiaS0+c2VjdG9yX3NpemU7CisKKwliaW9fZm9yX2VhY2hfc2VnbWVudChidiwgYmlvLCBpKSB7CisJCXZvaWQgKmthZGRyID0ga21hcF9hdG9taWMoYnYtPmJ2X3BhZ2UsIEtNX1VTRVIwKTsKKwkJYml4LmRhdGFfYnVmID0ga2FkZHIgKyBidi0+YnZfb2Zmc2V0OworCQliaXguZGF0YV9zaXplID0gYnYtPmJ2X2xlbjsKKwkJYml4LnByb3RfYnVmID0gcHJvdF9idWY7CisJCWJpeC5zZWN0b3IgPSBzZWN0b3I7CisKKwkJcmV0ID0gYmktPnZlcmlmeV9mbigmYml4KTsKKworCQlpZiAocmV0KSB7CisJCQlrdW5tYXBfYXRvbWljKGthZGRyLCBLTV9VU0VSMCk7CisJCQlicmVhazsKKwkJfQorCisJCXNlY3RvcnMgPSBidi0+YnZfbGVuIC8gYmktPnNlY3Rvcl9zaXplOworCQlzZWN0b3IgKz0gc2VjdG9yczsKKwkJcHJvdF9idWYgKz0gc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplOworCQl0b3RhbCArPSBzZWN0b3JzICogYmktPnR1cGxlX3NpemU7CisJCUJVR19PTih0b3RhbCA+IGJpby0+YmlfaW50ZWdyaXR5LT5iaXBfc2l6ZSk7CisKKwkJa3VubWFwX2F0b21pYyhrYWRkciwgS01fVVNFUjApOworCX0KKworCXJldHVybiByZXQ7Cit9CisKKy8qKgorICogYmlvX2ludGVncml0eV92ZXJpZnlfZm4gLSBJbnRlZ3JpdHkgSS9PIGNvbXBsZXRpb24gd29ya2VyCisgKiBAd29yazoJV29yayBzdHJ1Y3Qgc3RvcmVkIGluIGJpbyB0byBiZSB2ZXJpZmllZAorICoKKyAqIERlc2NyaXB0aW9uOiBUaGlzIHdvcmtxdWV1ZSBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gY29tcGxldGUgYSBSRUFECisgKiByZXF1ZXN0LiAgVGhlIGZ1bmN0aW9uIHZlcmlmaWVzIHRoZSB0cmFuc2ZlcnJlZCBpbnRlZ3JpdHkgbWV0YWRhdGEKKyAqIGFuZCB0aGVuIGNhbGxzIHRoZSBvcmlnaW5hbCBiaW8gZW5kX2lvIGZ1bmN0aW9uLgorICovCitzdGF0aWMgdm9pZCBiaW9faW50ZWdyaXR5X3ZlcmlmeV9mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0KKwkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQsIGJpcF93b3JrKTsKKwlzdHJ1Y3QgYmlvICpiaW8gPSBiaXAtPmJpcF9iaW87CisJaW50IGVycm9yID0gYmlwLT5iaXBfZXJyb3I7CisKKwlpZiAoYmlvX2ludGVncml0eV92ZXJpZnkoYmlvKSkgeworCQljbGVhcl9iaXQoQklPX1VQVE9EQVRFLCAmYmlvLT5iaV9mbGFncyk7CisJCWVycm9yID0gLUVJTzsKKwl9CisKKwkvKiBSZXN0b3JlIG9yaWdpbmFsIGJpbyBjb21wbGV0aW9uIGhhbmRsZXIgKi8KKwliaW8tPmJpX2VuZF9pbyA9IGJpcC0+YmlwX2VuZF9pbzsKKworCWlmIChiaW8tPmJpX2VuZF9pbykKKwkJYmlvLT5iaV9lbmRfaW8oYmlvLCBlcnJvcik7Cit9CisKKy8qKgorICogYmlvX2ludGVncml0eV9lbmRpbyAtIEludGVncml0eSBJL08gY29tcGxldGlvbiBmdW5jdGlvbgorICogQGJpbzoJUHJvdGVjdGVkIGJpbworICogQGVycm9yOglQb2ludGVyIHRvIGVycm5vCisgKgorICogRGVzY3JpcHRpb246IENvbXBsZXRpb24gZm9yIGludGVncml0eSBJL08KKyAqCisgKiBOb3JtYWxseSBJL08gY29tcGxldGlvbiBpcyBkb25lIGluIGludGVycnVwdCBjb250ZXh0LiAgSG93ZXZlciwKKyAqIHZlcmlmeWluZyBJL08gaW50ZWdyaXR5IGlzIGEgdGltZS1jb25zdW1pbmcgdGFzayB3aGljaCBtdXN0IGJlIHJ1bgorICogaW4gcHJvY2VzcyBjb250ZXh0LglUaGlzIGZ1bmN0aW9uIHBvc3Rwb25lcyBjb21wbGV0aW9uCisgKiBhY2NvcmRpbmdseS4KKyAqLwordm9pZCBiaW9faW50ZWdyaXR5X2VuZGlvKHN0cnVjdCBiaW8gKmJpbywgaW50IGVycm9yKQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCA9IGJpby0+YmlfaW50ZWdyaXR5OworCisJQlVHX09OKGJpcC0+YmlwX2JpbyAhPSBiaW8pOworCisJYmlwLT5iaXBfZXJyb3IgPSBlcnJvcjsKKwlJTklUX1dPUksoJmJpcC0+YmlwX3dvcmssIGJpb19pbnRlZ3JpdHlfdmVyaWZ5X2ZuKTsKKwlxdWV1ZV93b3JrKGtpbnRlZ3JpdHlkX3dxLCAmYmlwLT5iaXBfd29yayk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfZW5kaW8pOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfbWFya19oZWFkIC0gQWR2YW5jZSBiaXBfdmVjIHNraXAgYnl0ZXMKKyAqIEBiaXA6CUludGVncml0eSB2ZWN0b3IgdG8gYWR2YW5jZQorICogQHNraXA6CU51bWJlciBvZiBieXRlcyB0byBhZHZhbmNlIGl0CisgKi8KK3ZvaWQgYmlvX2ludGVncml0eV9tYXJrX2hlYWQoc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwLAorCQkJICAgICB1bnNpZ25lZCBpbnQgc2tpcCkKK3sKKwlzdHJ1Y3QgYmlvX3ZlYyAqaXY7CisJdW5zaWduZWQgaW50IGk7CisKKwliaXBfZm9yX2VhY2hfdmVjKGl2LCBiaXAsIGkpIHsKKwkJaWYgKHNraXAgPT0gMCkgeworCQkJYmlwLT5iaXBfaWR4ID0gaTsKKwkJCXJldHVybjsKKwkJfSBlbHNlIGlmIChza2lwID49IGl2LT5idl9sZW4pIHsKKwkJCXNraXAgLT0gaXYtPmJ2X2xlbjsKKwkJfSBlbHNlIHsgLyogc2tpcCA8IGl2LT5idl9sZW4pICovCisJCQlpdi0+YnZfb2Zmc2V0ICs9IHNraXA7CisJCQlpdi0+YnZfbGVuIC09IHNraXA7CisJCQliaXAtPmJpcF9pZHggPSBpOworCQkJcmV0dXJuOworCQl9CisJfQorfQorCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfbWFya190YWlsIC0gVHJ1bmNhdGUgYmlwX3ZlYyB0byBiZSBsZW4gYnl0ZXMgbG9uZworICogQGJpcDoJSW50ZWdyaXR5IHZlY3RvciB0byB0cnVuY2F0ZQorICogQGxlbjoJTmV3IGxlbmd0aCBvZiBpbnRlZ3JpdHkgdmVjdG9yCisgKi8KK3ZvaWQgYmlvX2ludGVncml0eV9tYXJrX3RhaWwoc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwLAorCQkJICAgICB1bnNpZ25lZCBpbnQgbGVuKQoreworCXN0cnVjdCBiaW9fdmVjICppdjsKKwl1bnNpZ25lZCBpbnQgaTsKKworCWJpcF9mb3JfZWFjaF92ZWMoaXYsIGJpcCwgaSkgeworCQlpZiAobGVuID09IDApIHsKKwkJCWJpcC0+YmlwX3ZjbnQgPSBpOworCQkJcmV0dXJuOworCQl9IGVsc2UgaWYgKGxlbiA+PSBpdi0+YnZfbGVuKSB7CisJCQlsZW4gLT0gaXYtPmJ2X2xlbjsKKwkJfSBlbHNlIHsgLyogbGVuIDwgaXYtPmJ2X2xlbikgKi8KKwkJCWl2LT5idl9sZW4gPSBsZW47CisJCQlsZW4gPSAwOworCQl9CisJfQorfQorCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfYWR2YW5jZSAtIEFkdmFuY2UgaW50ZWdyaXR5IHZlY3RvcgorICogQGJpbzoJYmlvIHdob3NlIGludGVncml0eSB2ZWN0b3IgdG8gdXBkYXRlCisgKiBAYnl0ZXNfZG9uZToJbnVtYmVyIG9mIGRhdGEgYnl0ZXMgdGhhdCBoYXZlIGJlZW4gY29tcGxldGVkCisgKgorICogRGVzY3JpcHRpb246IFRoaXMgZnVuY3Rpb24gY2FsY3VsYXRlcyBob3cgbWFueSBpbnRlZ3JpdHkgYnl0ZXMgdGhlCisgKiBudW1iZXIgb2YgY29tcGxldGVkIGRhdGEgYnl0ZXMgY29ycmVzcG9uZCB0byBhbmQgYWR2YW5jZXMgdGhlCisgKiBpbnRlZ3JpdHkgdmVjdG9yIGFjY29yZGluZ2x5LgorICovCit2b2lkIGJpb19pbnRlZ3JpdHlfYWR2YW5jZShzdHJ1Y3QgYmlvICpiaW8sIHVuc2lnbmVkIGludCBieXRlc19kb25lKQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCA9IGJpby0+YmlfaW50ZWdyaXR5OworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9IGJkZXZfZ2V0X2ludGVncml0eShiaW8tPmJpX2JkZXYpOworCXVuc2lnbmVkIGludCBucl9zZWN0b3JzOworCisJQlVHX09OKGJpcCA9PSBOVUxMKTsKKwlCVUdfT04oYmkgPT0gTlVMTCk7CisKKwlucl9zZWN0b3JzID0gYmlvX2ludGVncml0eV9od19zZWN0b3JzKGJpLCBieXRlc19kb25lID4+IDkpOworCWJpb19pbnRlZ3JpdHlfbWFya19oZWFkKGJpcCwgbnJfc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9hZHZhbmNlKTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X3RyaW0gLSBUcmltIGludGVncml0eSB2ZWN0b3IKKyAqIEBiaW86CWJpbyB3aG9zZSBpbnRlZ3JpdHkgdmVjdG9yIHRvIHVwZGF0ZQorICogQG9mZnNldDoJb2Zmc2V0IHRvIGZpcnN0IGRhdGEgc2VjdG9yCisgKiBAc2VjdG9yczoJbnVtYmVyIG9mIGRhdGEgc2VjdG9ycworICoKKyAqIERlc2NyaXB0aW9uOiBVc2VkIHRvIHRyaW0gdGhlIGludGVncml0eSB2ZWN0b3IgaW4gYSBjbG9uZWQgYmlvLgorICogVGhlIGl2ZWMgd2lsbCBiZSBhZHZhbmNlZCBjb3JyZXNwb25kaW5nIHRvICdvZmZzZXQnIGRhdGEgc2VjdG9ycworICogYW5kIHRoZSBsZW5ndGggd2lsbCBiZSB0cnVuY2F0ZWQgY29ycmVzcG9uZGluZyB0byAnbGVuJyBkYXRhCisgKiBzZWN0b3JzLgorICovCit2b2lkIGJpb19pbnRlZ3JpdHlfdHJpbShzdHJ1Y3QgYmlvICpiaW8sIHVuc2lnbmVkIGludCBvZmZzZXQsCisJCQl1bnNpZ25lZCBpbnQgc2VjdG9ycykKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPSBiaW8tPmJpX2ludGVncml0eTsKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwl1bnNpZ25lZCBpbnQgbnJfc2VjdG9yczsKKworCUJVR19PTihiaXAgPT0gTlVMTCk7CisJQlVHX09OKGJpID09IE5VTEwpOworCUJVR19PTighYmlvX2ZsYWdnZWQoYmlvLCBCSU9fQ0xPTkVEKSk7CisKKwlucl9zZWN0b3JzID0gYmlvX2ludGVncml0eV9od19zZWN0b3JzKGJpLCBzZWN0b3JzKTsKKwliaXAtPmJpcF9zZWN0b3IgPSBiaXAtPmJpcF9zZWN0b3IgKyBvZmZzZXQ7CisJYmlvX2ludGVncml0eV9tYXJrX2hlYWQoYmlwLCBvZmZzZXQgKiBiaS0+dHVwbGVfc2l6ZSk7CisJYmlvX2ludGVncml0eV9tYXJrX3RhaWwoYmlwLCBzZWN0b3JzICogYmktPnR1cGxlX3NpemUpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X3RyaW0pOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfc3BsaXQgLSBTcGxpdCBpbnRlZ3JpdHkgbWV0YWRhdGEKKyAqIEBiaW86CVByb3RlY3RlZCBiaW8KKyAqIEBicDoJCVJlc3VsdGluZyBiaW9fcGFpcgorICogQHNlY3RvcnM6CU9mZnNldAorICoKKyAqIERlc2NyaXB0aW9uOiBTcGxpdHMgYW4gaW50ZWdyaXR5IHBhZ2UgaW50byBhIGJpb19wYWlyLgorICovCit2b2lkIGJpb19pbnRlZ3JpdHlfc3BsaXQoc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvX3BhaXIgKmJwLCBpbnQgc2VjdG9ycykKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmk7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisJdW5zaWduZWQgaW50IG5yX3NlY3RvcnM7CisKKwlpZiAoYmlvX2ludGVncml0eShiaW8pID09IDApCisJCXJldHVybjsKKworCWJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisJQlVHX09OKGJpID09IE5VTEwpOworCUJVR19PTihiaXAtPmJpcF92Y250ICE9IDEpOworCisJbnJfc2VjdG9ycyA9IGJpb19pbnRlZ3JpdHlfaHdfc2VjdG9ycyhiaSwgc2VjdG9ycyk7CisKKwlicC0+YmlvMS5iaV9pbnRlZ3JpdHkgPSAmYnAtPmJpcDE7CisJYnAtPmJpbzIuYmlfaW50ZWdyaXR5ID0gJmJwLT5iaXAyOworCisJYnAtPml2MSA9IGJpcC0+YmlwX3ZlY1swXTsKKwlicC0+aXYyID0gYmlwLT5iaXBfdmVjWzBdOworCisJYnAtPmJpcDEuYmlwX3ZlYyA9ICZicC0+aXYxOworCWJwLT5iaXAyLmJpcF92ZWMgPSAmYnAtPml2MjsKKworCWJwLT5pdjEuYnZfbGVuID0gc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplOworCWJwLT5pdjIuYnZfb2Zmc2V0ICs9IHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZTsKKwlicC0+aXYyLmJ2X2xlbiAtPSBzZWN0b3JzICogYmktPnR1cGxlX3NpemU7CisKKwlicC0+YmlwMS5iaXBfc2VjdG9yID0gYmlvLT5iaV9pbnRlZ3JpdHktPmJpcF9zZWN0b3I7CisJYnAtPmJpcDIuYmlwX3NlY3RvciA9IGJpby0+YmlfaW50ZWdyaXR5LT5iaXBfc2VjdG9yICsgbnJfc2VjdG9yczsKKworCWJwLT5iaXAxLmJpcF92Y250ID0gYnAtPmJpcDIuYmlwX3ZjbnQgPSAxOworCWJwLT5iaXAxLmJpcF9pZHggPSBicC0+YmlwMi5iaXBfaWR4ID0gMDsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9zcGxpdCk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9jbG9uZSAtIENhbGxiYWNrIGZvciBjbG9uaW5nIGJpb3Mgd2l0aCBpbnRlZ3JpdHkgbWV0YWRhdGEKKyAqIEBiaW86CU5ldyBiaW8KKyAqIEBiaW9fc3JjOglPcmlnaW5hbCBiaW8KKyAqIEBiczoJCWJpb19zZXQgdG8gYWxsb2NhdGUgYmlwIGZyb20KKyAqCisgKiBEZXNjcmlwdGlvbjoJQ2FsbGVkIHRvIGFsbG9jYXRlIGEgYmlwIHdoZW4gY2xvbmluZyBhIGJpbworICovCitpbnQgYmlvX2ludGVncml0eV9jbG9uZShzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW8gKmJpb19zcmMsCisJCQlzdHJ1Y3QgYmlvX3NldCAqYnMpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwX3NyYyA9IGJpb19zcmMtPmJpX2ludGVncml0eTsKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXA7CisKKwlCVUdfT04oYmlwX3NyYyA9PSBOVUxMKTsKKworCWJpcCA9IGJpb19pbnRlZ3JpdHlfYWxsb2NfYmlvc2V0KGJpbywgR0ZQX05PSU8sIGJpcF9zcmMtPmJpcF92Y250LCBicyk7CisKKwlpZiAoYmlwID09IE5VTEwpCisJCXJldHVybiAtRUlPOworCisJbWVtY3B5KGJpcC0+YmlwX3ZlYywgYmlwX3NyYy0+YmlwX3ZlYywKKwkgICAgICAgYmlwX3NyYy0+YmlwX3ZjbnQgKiBzaXplb2Yoc3RydWN0IGJpb192ZWMpKTsKKworCWJpcC0+YmlwX3NlY3RvciA9IGJpcF9zcmMtPmJpcF9zZWN0b3I7CisJYmlwLT5iaXBfdmNudCA9IGJpcF9zcmMtPmJpcF92Y250OworCWJpcC0+YmlwX2lkeCA9IGJpcF9zcmMtPmJpcF9pZHg7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9jbG9uZSk7CisKK2ludCBiaW9zZXRfaW50ZWdyaXR5X2NyZWF0ZShzdHJ1Y3QgYmlvX3NldCAqYnMsIGludCBwb29sX3NpemUpCit7CisJYnMtPmJpb19pbnRlZ3JpdHlfcG9vbCA9IG1lbXBvb2xfY3JlYXRlX3NsYWJfcG9vbChwb29sX3NpemUsCisJCQkJCQkJICBiaW9faW50ZWdyaXR5X3NsYWIpOworCWlmICghYnMtPmJpb19pbnRlZ3JpdHlfcG9vbCkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJpb3NldF9pbnRlZ3JpdHlfY3JlYXRlKTsKKwordm9pZCBiaW9zZXRfaW50ZWdyaXR5X2ZyZWUoc3RydWN0IGJpb19zZXQgKmJzKQoreworCWlmIChicy0+YmlvX2ludGVncml0eV9wb29sKQorCQltZW1wb29sX2Rlc3Ryb3koYnMtPmJpb19pbnRlZ3JpdHlfcG9vbCk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb3NldF9pbnRlZ3JpdHlfZnJlZSk7CisKK3ZvaWQgX19pbml0IGJpb19pbnRlZ3JpdHlfaW5pdF9zbGFiKHZvaWQpCit7CisJYmlvX2ludGVncml0eV9zbGFiID0gS01FTV9DQUNIRShiaW9faW50ZWdyaXR5X3BheWxvYWQsCisJCQkJCVNMQUJfSFdDQUNIRV9BTElHTnxTTEFCX1BBTklDKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9pbml0X3NsYWIpOworCitzdGF0aWMgaW50IF9faW5pdCBpbnRlZ3JpdHlfaW5pdCh2b2lkKQoreworCWtpbnRlZ3JpdHlkX3dxID0gY3JlYXRlX3dvcmtxdWV1ZSgia2ludGVncml0eWQiKTsKKworCWlmICgha2ludGVncml0eWRfd3EpCisJCXBhbmljKCJGYWlsZWQgdG8gY3JlYXRlIGtpbnRlZ3JpdHlkXG4iKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKGludGVncml0eV9pbml0KTsKZGlmZiAtLWdpdCBhL2ZzL2Jpby5jIGIvZnMvYmlvLmMKaW5kZXggNzg1NjI1Ny4uODgzMjJiMCAxMDA2NDQKLS0tIGEvZnMvYmlvLmMKKysrIGIvZnMvYmlvLmMKQEAgLTI4LDI1ICsyOCwxMCBAQAogI2luY2x1ZGUgPGxpbnV4L2Jsa3RyYWNlX2FwaS5oPgogI2luY2x1ZGUgPHNjc2kvc2cuaD4JCS8qIGZvciBzdHJ1Y3Qgc2dfaW92ZWMgKi8KIAotI2RlZmluZSBCSU9fUE9PTF9TSVpFIDIKLQogc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICpiaW9fc2xhYiBfX3JlYWRfbW9zdGx5OwogCi0jZGVmaW5lIEJJT1ZFQ19OUl9QT09MUyA2Ci0KLS8qCi0gKiBhIHNtYWxsIG51bWJlciBvZiBlbnRyaWVzIGlzIGZpbmUsIG5vdCBnb2luZyB0byBiZSBwZXJmb3JtYW5jZSBjcml0aWNhbC4KLSAqIGJhc2ljYWxseSB3ZSBqdXN0IG5lZWQgdG8gc3Vydml2ZQotICovCi0jZGVmaW5lIEJJT19TUExJVF9FTlRSSUVTIDIKIG1lbXBvb2xfdCAqYmlvX3NwbGl0X3Bvb2wgX19yZWFkX21vc3RseTsKIAotc3RydWN0IGJpb3ZlY19zbGFiIHsKLQlpbnQgbnJfdmVjczsKLQljaGFyICpuYW1lOyAKLQlzdHJ1Y3Qga21lbV9jYWNoZSAqc2xhYjsKLX07Ci0KIC8qCiAgKiBpZiB5b3UgY2hhbmdlIHRoaXMgbGlzdCwgYWxzbyBjaGFuZ2UgYnZlY19hbGxvYyBvciB0aGluZ3Mgd2lsbAogICogYnJlYWsgYmFkbHkhIGNhbm5vdCBiZSBiaWdnZXIgdGhhbiB3aGF0IHlvdSBjYW4gZml0IGludG8gYW4KQEAgLTYwLDIzICs0NSwxNyBAQAogI3VuZGVmIEJWCiAKIC8qCi0gKiBiaW9fc2V0IGlzIHVzZWQgdG8gYWxsb3cgb3RoZXIgcG9ydGlvbnMgb2YgdGhlIElPIHN5c3RlbSB0bwotICogYWxsb2NhdGUgdGhlaXIgb3duIHByaXZhdGUgbWVtb3J5IHBvb2xzIGZvciBiaW8gYW5kIGlvdmVjIHN0cnVjdHVyZXMuCi0gKiBUaGVzZSBtZW1vcnkgcG9vbHMgaW4gdHVybiBhbGwgYWxsb2NhdGUgZnJvbSB0aGUgYmlvX3NsYWIKLSAqIGFuZCB0aGUgYnZlY19zbGFic1tdLgotICovCi1zdHJ1Y3QgYmlvX3NldCB7Ci0JbWVtcG9vbF90ICpiaW9fcG9vbDsKLQltZW1wb29sX3QgKmJ2ZWNfcG9vbHNbQklPVkVDX05SX1BPT0xTXTsKLX07Ci0KLS8qCiAgKiBmc19iaW9fc2V0IGlzIHRoZSBiaW9fc2V0IGNvbnRhaW5pbmcgYmlvIGFuZCBpb3ZlYyBtZW1vcnkgcG9vbHMgdXNlZCBieQogICogSU8gY29kZSB0aGF0IGRvZXMgbm90IG5lZWQgcHJpdmF0ZSBtZW1vcnkgcG9vbHMuCiAgKi8KLXN0YXRpYyBzdHJ1Y3QgYmlvX3NldCAqZnNfYmlvX3NldDsKK3N0cnVjdCBiaW9fc2V0ICpmc19iaW9fc2V0OwogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBiaW9fdmVjICpidmVjX2FsbG9jX2JzKGdmcF90IGdmcF9tYXNrLCBpbnQgbnIsIHVuc2lnbmVkIGxvbmcgKmlkeCwgc3RydWN0IGJpb19zZXQgKmJzKQordW5zaWduZWQgaW50IGJ2ZWNfbnJfdmVjcyh1bnNpZ25lZCBzaG9ydCBpZHgpCit7CisJcmV0dXJuIGJ2ZWNfc2xhYnNbaWR4XS5ucl92ZWNzOworfQorCitzdHJ1Y3QgYmlvX3ZlYyAqYnZlY19hbGxvY19icyhnZnBfdCBnZnBfbWFzaywgaW50IG5yLCB1bnNpZ25lZCBsb25nICppZHgsIHN0cnVjdCBiaW9fc2V0ICpicykKIHsKIAlzdHJ1Y3QgYmlvX3ZlYyAqYnZsOwogCkBAIC0xMTcsNiArOTYsOSBAQAogCQltZW1wb29sX2ZyZWUoYmlvLT5iaV9pb192ZWMsIGJpb19zZXQtPmJ2ZWNfcG9vbHNbcG9vbF9pZHhdKTsKIAl9CiAKKwlpZiAoYmlvX2ludGVncml0eShiaW8pKQorCQliaW9faW50ZWdyaXR5X2ZyZWUoYmlvLCBiaW9fc2V0KTsKKwogCW1lbXBvb2xfZnJlZShiaW8sIGJpb19zZXQtPmJpb19wb29sKTsKIH0KIApAQCAtMjc1LDkgKzI1NywxOSBAQAogewogCXN0cnVjdCBiaW8gKmIgPSBiaW9fYWxsb2NfYmlvc2V0KGdmcF9tYXNrLCBiaW8tPmJpX21heF92ZWNzLCBmc19iaW9fc2V0KTsKIAotCWlmIChiKSB7Ci0JCWItPmJpX2Rlc3RydWN0b3IgPSBiaW9fZnNfZGVzdHJ1Y3RvcjsKLQkJX19iaW9fY2xvbmUoYiwgYmlvKTsKKwlpZiAoIWIpCisJCXJldHVybiBOVUxMOworCisJYi0+YmlfZGVzdHJ1Y3RvciA9IGJpb19mc19kZXN0cnVjdG9yOworCV9fYmlvX2Nsb25lKGIsIGJpbyk7CisKKwlpZiAoYmlvX2ludGVncml0eShiaW8pKSB7CisJCWludCByZXQ7CisKKwkJcmV0ID0gYmlvX2ludGVncml0eV9jbG9uZShiLCBiaW8sIGZzX2Jpb19zZXQpOworCisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIE5VTEw7CiAJfQogCiAJcmV0dXJuIGI7CkBAIC0zMzMsMTAgKzMyNSwxOSBAQAogCQlpZiAocGFnZSA9PSBwcmV2LT5idl9wYWdlICYmCiAJCSAgICBvZmZzZXQgPT0gcHJldi0+YnZfb2Zmc2V0ICsgcHJldi0+YnZfbGVuKSB7CiAJCQlwcmV2LT5idl9sZW4gKz0gbGVuOwotCQkJaWYgKHEtPm1lcmdlX2J2ZWNfZm4gJiYKLQkJCSAgICBxLT5tZXJnZV9idmVjX2ZuKHEsIGJpbywgcHJldikgPCBsZW4pIHsKLQkJCQlwcmV2LT5idl9sZW4gLT0gbGVuOwotCQkJCXJldHVybiAwOworCisJCQlpZiAocS0+bWVyZ2VfYnZlY19mbikgeworCQkJCXN0cnVjdCBidmVjX21lcmdlX2RhdGEgYnZtID0geworCQkJCQkuYmlfYmRldiA9IGJpby0+YmlfYmRldiwKKwkJCQkJLmJpX3NlY3RvciA9IGJpby0+Ymlfc2VjdG9yLAorCQkJCQkuYmlfc2l6ZSA9IGJpby0+Ymlfc2l6ZSwKKwkJCQkJLmJpX3J3ID0gYmlvLT5iaV9ydywKKwkJCQl9OworCisJCQkJaWYgKHEtPm1lcmdlX2J2ZWNfZm4ocSwgJmJ2bSwgcHJldikgPCBsZW4pIHsKKwkJCQkJcHJldi0+YnZfbGVuIC09IGxlbjsKKwkJCQkJcmV0dXJuIDA7CisJCQkJfQogCQkJfQogCiAJCQlnb3RvIGRvbmU7CkBAIC0zNzcsMTEgKzM3OCwxOCBAQAogCSAqIHF1ZXVlIHRvIGdldCBmdXJ0aGVyIGNvbnRyb2wKIAkgKi8KIAlpZiAocS0+bWVyZ2VfYnZlY19mbikgeworCQlzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhIGJ2bSA9IHsKKwkJCS5iaV9iZGV2ID0gYmlvLT5iaV9iZGV2LAorCQkJLmJpX3NlY3RvciA9IGJpby0+Ymlfc2VjdG9yLAorCQkJLmJpX3NpemUgPSBiaW8tPmJpX3NpemUsCisJCQkuYmlfcncgPSBiaW8tPmJpX3J3LAorCQl9OworCiAJCS8qCiAJCSAqIG1lcmdlX2J2ZWNfZm4oKSByZXR1cm5zIG51bWJlciBvZiBieXRlcyBpdCBjYW4gYWNjZXB0CiAJCSAqIGF0IHRoaXMgb2Zmc2V0CiAJCSAqLwotCQlpZiAocS0+bWVyZ2VfYnZlY19mbihxLCBiaW8sIGJ2ZWMpIDwgbGVuKSB7CisJCWlmIChxLT5tZXJnZV9idmVjX2ZuKHEsICZidm0sIGJ2ZWMpIDwgbGVuKSB7CiAJCQlidmVjLT5idl9wYWdlID0gTlVMTDsKIAkJCWJ2ZWMtPmJ2X2xlbiA9IDA7CiAJCQlidmVjLT5idl9vZmZzZXQgPSAwOwpAQCAtMTI0OSw2ICsxMjU3LDkgQEAKIAlicC0+YmlvMS5iaV9wcml2YXRlID0gYmk7CiAJYnAtPmJpbzIuYmlfcHJpdmF0ZSA9IHBvb2w7CiAKKwlpZiAoYmlvX2ludGVncml0eShiaSkpCisJCWJpb19pbnRlZ3JpdHlfc3BsaXQoYmksIGJwLCBmaXJzdF9zZWN0b3JzKTsKKwogCXJldHVybiBicDsKIH0KIApAQCAtMTI5MCw2ICsxMzAxLDcgQEAKIAlpZiAoYnMtPmJpb19wb29sKQogCQltZW1wb29sX2Rlc3Ryb3koYnMtPmJpb19wb29sKTsKIAorCWJpb3NldF9pbnRlZ3JpdHlfZnJlZShicyk7CiAJYmlvdmVjX2ZyZWVfcG9vbHMoYnMpOwogCiAJa2ZyZWUoYnMpOwpAQCAtMTMwNiw2ICsxMzE4LDkgQEAKIAlpZiAoIWJzLT5iaW9fcG9vbCkKIAkJZ290byBiYWQ7CiAKKwlpZiAoYmlvc2V0X2ludGVncml0eV9jcmVhdGUoYnMsIGJpb19wb29sX3NpemUpKQorCQlnb3RvIGJhZDsKKwogCWlmICghYmlvdmVjX2NyZWF0ZV9wb29scyhicywgYnZlY19wb29sX3NpemUpKQogCQlyZXR1cm4gYnM7CiAKQEAgLTEzMzIsNiArMTM0Nyw3IEBACiB7CiAJYmlvX3NsYWIgPSBLTUVNX0NBQ0hFKGJpbywgU0xBQl9IV0NBQ0hFX0FMSUdOfFNMQUJfUEFOSUMpOwogCisJYmlvX2ludGVncml0eV9pbml0X3NsYWIoKTsKIAliaW92ZWNfaW5pdF9zbGFicygpOwogCiAJZnNfYmlvX3NldCA9IGJpb3NldF9jcmVhdGUoQklPX1BPT0xfU0laRSwgMik7CmRpZmYgLS1naXQgYS9mcy9idWZmZXIuYyBiL2ZzL2J1ZmZlci5jCmluZGV4IDBmNTFjMGYuLmQ0OGNhZWUgMTAwNjQ0Ci0tLSBhL2ZzL2J1ZmZlci5jCisrKyBiL2ZzL2J1ZmZlci5jCkBAIC0xNDY0LDcgKzE0NjQsNyBAQAogCQogdm9pZCBpbnZhbGlkYXRlX2JoX2xydXModm9pZCkKIHsKLQlvbl9lYWNoX2NwdShpbnZhbGlkYXRlX2JoX2xydSwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoaW52YWxpZGF0ZV9iaF9scnUsIE5VTEwsIDEpOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoaW52YWxpZGF0ZV9iaF9scnVzKTsKIApAQCAtMTY5MSwxMSArMTY5MSwxMyBAQAogCQkJICovCiAJCQljbGVhcl9idWZmZXJfZGlydHkoYmgpOwogCQkJc2V0X2J1ZmZlcl91cHRvZGF0ZShiaCk7Ci0JCX0gZWxzZSBpZiAoIWJ1ZmZlcl9tYXBwZWQoYmgpICYmIGJ1ZmZlcl9kaXJ0eShiaCkpIHsKKwkJfSBlbHNlIGlmICgoIWJ1ZmZlcl9tYXBwZWQoYmgpIHx8IGJ1ZmZlcl9kZWxheShiaCkpICYmCisJCQkgICBidWZmZXJfZGlydHkoYmgpKSB7CiAJCQlXQVJOX09OKGJoLT5iX3NpemUgIT0gYmxvY2tzaXplKTsKIAkJCWVyciA9IGdldF9ibG9jayhpbm9kZSwgYmxvY2ssIGJoLCAxKTsKIAkJCWlmIChlcnIpCiAJCQkJZ290byByZWNvdmVyOworCQkJY2xlYXJfYnVmZmVyX2RlbGF5KGJoKTsKIAkJCWlmIChidWZmZXJfbmV3KGJoKSkgewogCQkJCS8qIGJsb2NrZGV2IG1hcHBpbmdzIG5ldmVyIGNvbWUgaGVyZSAqLwogCQkJCWNsZWFyX2J1ZmZlcl9uZXcoYmgpOwpAQCAtMTc3NCw3ICsxNzc2LDggQEAKIAliaCA9IGhlYWQ7CiAJLyogUmVjb3Zlcnk6IGxvY2sgYW5kIHN1Ym1pdCB0aGUgbWFwcGVkIGJ1ZmZlcnMgKi8KIAlkbyB7Ci0JCWlmIChidWZmZXJfbWFwcGVkKGJoKSAmJiBidWZmZXJfZGlydHkoYmgpKSB7CisJCWlmIChidWZmZXJfbWFwcGVkKGJoKSAmJiBidWZmZXJfZGlydHkoYmgpICYmCisJCSAgICAhYnVmZmVyX2RlbGF5KGJoKSkgewogCQkJbG9ja19idWZmZXIoYmgpOwogCQkJbWFya19idWZmZXJfYXN5bmNfd3JpdGUoYmgpOwogCQl9IGVsc2UgewpAQCAtMjA2MSw2ICsyMDY0LDcgQEAKIAkJCXN0cnVjdCBwYWdlICpwYWdlLCB2b2lkICpmc2RhdGEpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CisJaW50IGlfc2l6ZV9jaGFuZ2VkID0gMDsKIAogCWNvcGllZCA9IGJsb2NrX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLCBwYWdlLCBmc2RhdGEpOwogCkBAIC0yMDczLDEyICsyMDc3LDIxIEBACiAJICovCiAJaWYgKHBvcytjb3BpZWQgPiBpbm9kZS0+aV9zaXplKSB7CiAJCWlfc2l6ZV93cml0ZShpbm9kZSwgcG9zK2NvcGllZCk7Ci0JCW1hcmtfaW5vZGVfZGlydHkoaW5vZGUpOworCQlpX3NpemVfY2hhbmdlZCA9IDE7CiAJfQogCiAJdW5sb2NrX3BhZ2UocGFnZSk7CiAJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwogCisJLyoKKwkgKiBEb24ndCBtYXJrIHRoZSBpbm9kZSBkaXJ0eSB1bmRlciBwYWdlIGxvY2suIEZpcnN0LCBpdCB1bm5lY2Vzc2FyaWx5CisJICogbWFrZXMgdGhlIGhvbGRpbmcgdGltZSBvZiBwYWdlIGxvY2sgbG9uZ2VyLiBTZWNvbmQsIGl0IGZvcmNlcyBsb2NrCisJICogb3JkZXJpbmcgb2YgcGFnZSBsb2NrIGFuZCB0cmFuc2FjdGlvbiBzdGFydCBmb3Igam91cm5hbGluZworCSAqIGZpbGVzeXN0ZW1zLgorCSAqLworCWlmIChpX3NpemVfY2hhbmdlZCkKKwkJbWFya19pbm9kZV9kaXJ0eShpbm9kZSk7CisKIAlyZXR1cm4gY29waWVkOwogfQogRVhQT1JUX1NZTUJPTChnZW5lcmljX3dyaXRlX2VuZCk7CmRpZmYgLS1naXQgYS9mcy9jaGFyX2Rldi5jIGIvZnMvY2hhcl9kZXYuYwppbmRleCA2OGU1MTBiLi4zY2I3Y2RhIDEwMDY0NAotLS0gYS9mcy9jaGFyX2Rldi5jCisrKyBiL2ZzL2NoYXJfZGV2LmMKQEAgLTM3Myw2ICszNzMsOCBAQAogCQkJcmV0dXJuIC1FTlhJTzsKIAkJbmV3ID0gY29udGFpbmVyX29mKGtvYmosIHN0cnVjdCBjZGV2LCBrb2JqKTsKIAkJc3Bpbl9sb2NrKCZjZGV2X2xvY2spOworCQkvKiBDaGVjayBpX2NkZXYgYWdhaW4gaW4gY2FzZSBzb21lYm9keSBiZWF0IHVzIHRvIGl0IHdoaWxlCisJCSAgIHdlIGRyb3BwZWQgdGhlIGxvY2suICovCiAJCXAgPSBpbm9kZS0+aV9jZGV2OwogCQlpZiAoIXApIHsKIAkJCWlub2RlLT5pX2NkZXYgPSBwID0gbmV3OwpAQCAtMzkyLDExICszOTQsOCBAQAogCQljZGV2X3B1dChwKTsKIAkJcmV0dXJuIC1FTlhJTzsKIAl9Ci0JaWYgKGZpbHAtPmZfb3AtPm9wZW4pIHsKLQkJbG9ja19rZXJuZWwoKTsKKwlpZiAoZmlscC0+Zl9vcC0+b3BlbikKIAkJcmV0ID0gZmlscC0+Zl9vcC0+b3Blbihpbm9kZSxmaWxwKTsKLQkJdW5sb2NrX2tlcm5lbCgpOwotCX0KIAlpZiAocmV0KQogCQljZGV2X3B1dChwKTsKIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZnMvY2lmcy9jaWZzYWNsLmMgYi9mcy9jaWZzL2NpZnNhY2wuYwppbmRleCAzNDkwMmNmLi4wZTlmYzJiIDEwMDY0NAotLS0gYS9mcy9jaWZzL2NpZnNhY2wuYworKysgYi9mcy9jaWZzL2NpZnNhY2wuYwpAQCAtMzQsMTEgKzM0LDExIEBACiBzdGF0aWMgc3RydWN0IGNpZnNfd2tzaWQgd2tzaWRhcnJbTlVNX1dLX1NJRFNdID0gewogCXt7MSwgMCwgezAsIDAsIDAsIDAsIDAsIDB9LCB7MCwgMCwgMCwgMCwgMH0gfSwgIm51bGwgdXNlciJ9LAogCXt7MSwgMSwgezAsIDAsIDAsIDAsIDAsIDF9LCB7MCwgMCwgMCwgMCwgMH0gfSwgIm5vYm9keSJ9LAotCXt7MSwgMSwgezAsIDAsIDAsIDAsIDAsIDV9LCB7Y3B1X3RvX2xlMzIoMTEpLCAwLCAwLCAwLCAwfSB9LCAibmV0LXVzZXJzIn0sCi0Je3sxLCAxLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtjcHVfdG9fbGUzMigxOCksIDAsIDAsIDAsIDB9IH0sICJzeXMifSwKLQl7ezEsIDIsIHswLCAwLCAwLCAwLCAwLCA1fSwge2NwdV90b19sZTMyKDMyKSwgY3B1X3RvX2xlMzIoNTQ0KSwgMCwgMCwgMH0gfSwgInJvb3QifSwKLQl7ezEsIDIsIHswLCAwLCAwLCAwLCAwLCA1fSwge2NwdV90b19sZTMyKDMyKSwgY3B1X3RvX2xlMzIoNTQ1KSwgMCwgMCwgMH0gfSwgInVzZXJzIn0sCi0Je3sxLCAyLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtjcHVfdG9fbGUzMigzMiksIGNwdV90b19sZTMyKDU0NiksIDAsIDAsIDB9IH0sICJndWVzdCJ9IH0KKwl7ezEsIDEsIHswLCAwLCAwLCAwLCAwLCA1fSwge19fY29uc3RhbnRfY3B1X3RvX2xlMzIoMTEpLCAwLCAwLCAwLCAwfSB9LCAibmV0LXVzZXJzIn0sCisJe3sxLCAxLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtfX2NvbnN0YW50X2NwdV90b19sZTMyKDE4KSwgMCwgMCwgMCwgMH0gfSwgInN5cyJ9LAorCXt7MSwgMiwgezAsIDAsIDAsIDAsIDAsIDV9LCB7X19jb25zdGFudF9jcHVfdG9fbGUzMigzMiksIF9fY29uc3RhbnRfY3B1X3RvX2xlMzIoNTQ0KSwgMCwgMCwgMH0gfSwgInJvb3QifSwKKwl7ezEsIDIsIHswLCAwLCAwLCAwLCAwLCA1fSwge19fY29uc3RhbnRfY3B1X3RvX2xlMzIoMzIpLCBfX2NvbnN0YW50X2NwdV90b19sZTMyKDU0NSksIDAsIDAsIDB9IH0sICJ1c2VycyJ9LAorCXt7MSwgMiwgezAsIDAsIDAsIDAsIDAsIDV9LCB7X19jb25zdGFudF9jcHVfdG9fbGUzMigzMiksIF9fY29uc3RhbnRfY3B1X3RvX2xlMzIoNTQ2KSwgMCwgMCwgMH0gfSwgImd1ZXN0In0gfQogOwogCiAKZGlmZiAtLWdpdCBhL2ZzL2NpZnMvY2lmc2ZzLmMgYi9mcy9jaWZzL2NpZnNmcy5jCmluZGV4IDg2YjRkNWYuLjIyODU3YzYgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMvY2lmc2ZzLmMKKysrIGIvZnMvY2lmcy9jaWZzZnMuYwpAQCAtNjEyLDcgKzYxMiw3IEBACiAJCWlmIChyZXR2YWwgPCAwKQogCQkJcmV0dXJuIChsb2ZmX3QpcmV0dmFsOwogCX0KLQlyZXR1cm4gcmVtb3RlX2xsc2VlayhmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJcmV0dXJuIGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOwogfQogCiBzdHJ1Y3QgZmlsZV9zeXN0ZW1fdHlwZSBjaWZzX2ZzX3R5cGUgPSB7CmRpZmYgLS1naXQgYS9mcy9jaWZzL2lub2RlLmMgYi9mcy9jaWZzL2lub2RlLmMKaW5kZXggNzIyYmU1NC4uMmU5MDRiZCAxMDA2NDQKLS0tIGEvZnMvY2lmcy9pbm9kZS5jCisrKyBiL2ZzL2NpZnMvaW5vZGUuYwpAQCAtMjE5LDE1ICsyMTksMTUgQEAKIAlyYyA9IENJRlNTTUJVbml4UVBhdGhJbmZvKHhpZCwgcFRjb24sIGZ1bGxfcGF0aCwgJmZpbmRfZGF0YSwKIAkJCQkgIGNpZnNfc2ItPmxvY2FsX25scywgY2lmc19zYi0+bW50X2NpZnNfZmxhZ3MgJgogCQkJCQlDSUZTX01PVU5UX01BUF9TUEVDSUFMX0NIUik7Ci0JaWYgKHJjKSB7Ci0JCWlmIChyYyA9PSAtRVJFTU9URSAmJiAhaXNfZGZzX3JlZmVycmFsKSB7Ci0JCQlpc19kZnNfcmVmZXJyYWwgPSB0cnVlOwotCQkJY0ZZSShEQkcyLCAoIkRGUyByZWYiKSk7Ci0JCQkvKiBmb3IgREZTLCBzZXJ2ZXIgZG9lcyBub3QgZ2l2ZSB1cyByZWFsIGlub2RlIGRhdGEgKi8KLQkJCWZpbGxfZmFrZV9maW5kZGF0YXVuaXgoJmZpbmRfZGF0YSwgc2IpOwotCQkJcmMgPSAwOwotCQl9Ci0JfQorCWlmIChyYyA9PSAtRVJFTU9URSAmJiAhaXNfZGZzX3JlZmVycmFsKSB7CisJCWlzX2Rmc19yZWZlcnJhbCA9IHRydWU7CisJCWNGWUkoREJHMiwgKCJERlMgcmVmIikpOworCQkvKiBmb3IgREZTLCBzZXJ2ZXIgZG9lcyBub3QgZ2l2ZSB1cyByZWFsIGlub2RlIGRhdGEgKi8KKwkJZmlsbF9mYWtlX2ZpbmRkYXRhdW5peCgmZmluZF9kYXRhLCBzYik7CisJCXJjID0gMDsKKwl9IGVsc2UgaWYgKHJjKQorCQlnb3RvIGNnaWl1X2V4aXQ7CisKIAludW1fb2ZfYnl0ZXMgPSBsZTY0X3RvX2NwdShmaW5kX2RhdGEuTnVtT2ZCeXRlcyk7CiAJZW5kX29mX2ZpbGUgPSBsZTY0X3RvX2NwdShmaW5kX2RhdGEuRW5kT2ZGaWxlKTsKIApAQCAtMjM2LDcgKzIzNiw3IEBACiAJCSpwaW5vZGUgPSBuZXdfaW5vZGUoc2IpOwogCQlpZiAoKnBpbm9kZSA9PSBOVUxMKSB7CiAJCQlyYyA9IC1FTk9NRU07Ci0JCWdvdG8gY2dpaXVfZXhpdDsKKwkJCWdvdG8gY2dpaXVfZXhpdDsKIAkJfQogCQkvKiBJcyBhbiBpX2lubyBvZiB6ZXJvIGxlZ2FsPyAqLwogCQkvKiBub3RlIGlubyBpbmNyZW1lbnRlZCB0byB1bmlxdWUgbnVtIGluIG5ld19pbm9kZSAqLwpkaWZmIC0tZ2l0IGEvZnMvZGxtL3VzZXIuYyBiL2ZzL2RsbS91c2VyLmMKaW5kZXggZWJiY2YzOC4uZjk3NmYzMCAxMDA2NDQKLS0tIGEvZnMvZGxtL3VzZXIuYworKysgYi9mcy9kbG0vdXNlci5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9kbG0uaD4KICNpbmNsdWRlIDxsaW51eC9kbG1fZGV2aWNlLmg+CiAKQEAgLTYxOCwxMyArNjE5LDE3IEBACiAJc3RydWN0IGRsbV91c2VyX3Byb2MgKnByb2M7CiAJc3RydWN0IGRsbV9scyAqbHM7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWxzID0gZGxtX2ZpbmRfbG9ja3NwYWNlX2RldmljZShpbWlub3IoaW5vZGUpKTsKLQlpZiAoIWxzKQorCWlmICghbHMpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT0VOVDsKKwl9CiAKIAlwcm9jID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRsbV91c2VyX3Byb2MpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXByb2MpIHsKIAkJZGxtX3B1dF9sb2Nrc3BhY2UobHMpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIApAQCAtNjM2LDYgKzY0MSw3IEBACiAJc3Bpbl9sb2NrX2luaXQoJnByb2MtPmxvY2tzX3NwaW4pOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnByb2MtPndhaXQpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHByb2M7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC04NzAsNiArODc2LDcgQEAKIAogc3RhdGljIGludCBjdGxfZGV2aWNlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBOVUxMOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZnMvZWNyeXB0ZnMvZmlsZS5jIGIvZnMvZWNyeXB0ZnMvZmlsZS5jCmluZGV4IDIyNThiOGYuLjI0NzQ5YmYgMTAwNjQ0Ci0tLSBhL2ZzL2VjcnlwdGZzL2ZpbGUuYworKysgYi9mcy9lY3J5cHRmcy9maWxlLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBhdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzX3N0YWNrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlICJlY3J5cHRmc19rZXJuZWwuaCIKIAogLyoqCkBAIC0yNzcsOSArMjc4LDExIEBACiAJaW50IHJjID0gMDsKIAlzdHJ1Y3QgZmlsZSAqbG93ZXJfZmlsZSA9IE5VTEw7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWxvd2VyX2ZpbGUgPSBlY3J5cHRmc19maWxlX3RvX2xvd2VyKGZpbGUpOwogCWlmIChsb3dlcl9maWxlLT5mX29wICYmIGxvd2VyX2ZpbGUtPmZfb3AtPmZhc3luYykKIAkJcmMgPSBsb3dlcl9maWxlLT5mX29wLT5mYXN5bmMoZmQsIGxvd2VyX2ZpbGUsIGZsYWcpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2V4ZWMuYyBiL2ZzL2V4ZWMuYwppbmRleCBkYTk0YTZmLi5mZDkyMzQzIDEwMDY0NAotLS0gYS9mcy9leGVjLmMKKysrIGIvZnMvZXhlYy5jCkBAIC02MTAsNyArNjEwLDcgQEAKIAlicHJtLT5leGVjIC09IHN0YWNrX3NoaWZ0OwogCiAJZG93bl93cml0ZSgmbW0tPm1tYXBfc2VtKTsKLQl2bV9mbGFncyA9IHZtYS0+dm1fZmxhZ3M7CisJdm1fZmxhZ3MgPSBWTV9TVEFDS19GTEFHUzsKIAogCS8qCiAJICogQWRqdXN0IHN0YWNrIGV4ZWN1dGUgcGVybWlzc2lvbnM7IGV4cGxpY2l0bHkgZW5hYmxlIGZvcgpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9iYWxsb2MuYyBiL2ZzL2V4dDQvYmFsbG9jLmMKaW5kZXggOWNjODBiOS4uNDk1YWIyMSAxMDA2NDQKLS0tIGEvZnMvZXh0NC9iYWxsb2MuYworKysgYi9mcy9leHQ0L2JhbGxvYy5jCkBAIC00Nyw3ICs0Nyw3IEBACiAJCQlleHQ0X2dyb3VwX3QgYmxvY2tfZ3JvdXApCiB7CiAJZXh0NF9ncm91cF90IGFjdHVhbF9ncm91cDsKLQlleHQ0X2dldF9ncm91cF9ub19hbmRfb2Zmc2V0KHNiLCBibG9jaywgJmFjdHVhbF9ncm91cCwgMCk7CisJZXh0NF9nZXRfZ3JvdXBfbm9fYW5kX29mZnNldChzYiwgYmxvY2ssICZhY3R1YWxfZ3JvdXAsIE5VTEwpOwogCWlmIChhY3R1YWxfZ3JvdXAgPT0gYmxvY2tfZ3JvdXApCiAJCXJldHVybiAxOwogCXJldHVybiAwOwpAQCAtMTIxLDEyICsxMjEsNyBAQAogCQkJCWxlMTZfdG9fY3B1KHNiaS0+c19lcy0+c19yZXNlcnZlZF9nZHRfYmxvY2tzKTsKIAkJfQogCX0gZWxzZSB7IC8qIEZvciBNRVRBX0JHX0JMT0NLX0dST1VQUyAqLwotCQlpbnQgZ3JvdXBfcmVsID0gKGJsb2NrX2dyb3VwIC0KLQkJCQkgbGUzMl90b19jcHUoc2JpLT5zX2VzLT5zX2ZpcnN0X21ldGFfYmcpKSAlCi0JCQkJRVhUNF9ERVNDX1BFUl9CTE9DSyhzYik7Ci0JCWlmIChncm91cF9yZWwgPT0gMCB8fCBncm91cF9yZWwgPT0gMSB8fAotCQkgICAgKGdyb3VwX3JlbCA9PSBFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSAtIDEpKQotCQkJYml0X21heCArPSAxOworCQliaXRfbWF4ICs9IGV4dDRfYmdfbnVtX2dkYihzYiwgYmxvY2tfZ3JvdXApOwogCX0KIAogCWlmIChibG9ja19ncm91cCA9PSBzYmktPnNfZ3JvdXBzX2NvdW50IC0gMSkgewpAQCAtMjk1LDcgKzI5MCw3IEBACiAJcmV0dXJuIDA7CiB9CiAvKioKLSAqIHJlYWRfYmxvY2tfYml0bWFwKCkKKyAqIGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoKQogICogQHNiOgkJCXN1cGVyIGJsb2NrCiAgKiBAYmxvY2tfZ3JvdXA6CWdpdmVuIGJsb2NrIGdyb3VwCiAgKgpAQCAtMzA1LDcgKzMwMCw3IEBACiAgKiBSZXR1cm4gYnVmZmVyX2hlYWQgb24gc3VjY2VzcyBvciBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZS4KICAqLwogc3RydWN0IGJ1ZmZlcl9oZWFkICoKLXJlYWRfYmxvY2tfYml0bWFwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGV4dDRfZ3JvdXBfdCBibG9ja19ncm91cCkKK2V4dDRfcmVhZF9ibG9ja19iaXRtYXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgZXh0NF9ncm91cF90IGJsb2NrX2dyb3VwKQogewogCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKiBkZXNjOwogCXN0cnVjdCBidWZmZXJfaGVhZCAqIGJoID0gTlVMTDsKQEAgLTQwOSw4ICs0MDQsNyBAQAogCQlwcmV2ID0gcnN2OwogCX0KIAlwcmludGsoIldpbmRvdyBtYXAgY29tcGxldGUuXG4iKTsKLQlpZiAoYmFkKQotCQlCVUcoKTsKKwlCVUdfT04oYmFkKTsKIH0KICNkZWZpbmUgcnN2X3dpbmRvd19kdW1wKHJvb3QsIHZlcmJvc2UpIFwKIAlfX3Jzdl93aW5kb3dfZHVtcCgocm9vdCksICh2ZXJib3NlKSwgX19mdW5jX18pCkBAIC02OTQsNyArNjg4LDcgQEAKIAkJY291bnQgLT0gb3ZlcmZsb3c7CiAJfQogCWJyZWxzZShiaXRtYXBfYmgpOwotCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBibG9ja19ncm91cCk7CisJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgYmxvY2tfZ3JvdXApOwogCWlmICghYml0bWFwX2JoKQogCQlnb3RvIGVycm9yX3JldHVybjsKIAlkZXNjID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyAoc2IsIGJsb2NrX2dyb3VwLCAmZ2RfYmgpOwpAQCAtODEwLDYgKzgwNCwxMyBAQAogCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgYmxvY2tfZ3JvdXApKTsKIAlwZXJjcHVfY291bnRlcl9hZGQoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIGNvdW50KTsKIAorCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlleHQ0X2dyb3VwX3QgZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGJsb2NrX2dyb3VwKTsKKwkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9ibG9ja3MgKz0gY291bnQ7CisJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCX0KKwogCS8qIFdlIGRpcnRpZWQgdGhlIGJpdG1hcCBibG9jayAqLwogCUJVRkZFUl9UUkFDRShiaXRtYXBfYmgsICJkaXJ0aWVkIGJpdG1hcCBibG9jayIpOwogCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJpdG1hcF9iaCk7CkBAIC0xNTk4LDIzICsxNTk5LDM1IEBACiAKIC8qKgogICogZXh0NF9oYXNfZnJlZV9ibG9ja3MoKQotICogQHNiaToJCWluLWNvcmUgc3VwZXIgYmxvY2sgc3RydWN0dXJlLgorICogQHNiaToJaW4tY29yZSBzdXBlciBibG9jayBzdHJ1Y3R1cmUuCisgKiBAbmJsb2NrczoJbnVtYmVyIG9mIG5lZWVkIGJsb2NrcwogICoKLSAqIENoZWNrIGlmIGZpbGVzeXN0ZW0gaGFzIGF0IGxlYXN0IDEgZnJlZSBibG9jayBhdmFpbGFibGUgZm9yIGFsbG9jYXRpb24uCisgKiBDaGVjayBpZiBmaWxlc3lzdGVtIGhhcyBmcmVlIGJsb2NrcyBhdmFpbGFibGUgZm9yIGFsbG9jYXRpb24uCisgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBibG9ja3MgYXZhaWJsZSBmb3IgYWxsb2NhdGlvbiBmb3IgdGhpcyByZXF1ZXN0CisgKiBPbiBzdWNjZXNzLCByZXR1cm4gbmJsb2NrcwogICovCi1zdGF0aWMgaW50IGV4dDRfaGFzX2ZyZWVfYmxvY2tzKHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSkKK2V4dDRfZnNibGtfdCBleHQ0X2hhc19mcmVlX2Jsb2NrcyhzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmksCisJCQkJCQlleHQ0X2ZzYmxrX3QgbmJsb2NrcykKIHsKLQlleHQ0X2ZzYmxrX3QgZnJlZV9ibG9ja3MsIHJvb3RfYmxvY2tzOworCWV4dDRfZnNibGtfdCBmcmVlX2Jsb2NrczsKKwlleHQ0X2ZzYmxrX3Qgcm9vdF9ibG9ja3MgPSAwOwogCiAJZnJlZV9ibG9ja3MgPSBwZXJjcHVfY291bnRlcl9yZWFkX3Bvc2l0aXZlKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyKTsKLQlyb290X2Jsb2NrcyA9IGV4dDRfcl9ibG9ja3NfY291bnQoc2JpLT5zX2VzKTsKLQlpZiAoZnJlZV9ibG9ja3MgPCByb290X2Jsb2NrcyArIDEgJiYgIWNhcGFibGUoQ0FQX1NZU19SRVNPVVJDRSkgJiYKKworCWlmICghY2FwYWJsZShDQVBfU1lTX1JFU09VUkNFKSAmJgogCQlzYmktPnNfcmVzdWlkICE9IGN1cnJlbnQtPmZzdWlkICYmCi0JCShzYmktPnNfcmVzZ2lkID09IDAgfHwgIWluX2dyb3VwX3AgKHNiaS0+c19yZXNnaWQpKSkgewotCQlyZXR1cm4gMDsKLQl9Ci0JcmV0dXJuIDE7Ci19CisJCShzYmktPnNfcmVzZ2lkID09IDAgfHwgIWluX2dyb3VwX3Aoc2JpLT5zX3Jlc2dpZCkpKQorCQlyb290X2Jsb2NrcyA9IGV4dDRfcl9ibG9ja3NfY291bnQoc2JpLT5zX2VzKTsKKyNpZmRlZiBDT05GSUdfU01QCisJaWYgKGZyZWVfYmxvY2tzIC0gcm9vdF9ibG9ja3MgPCBGQkNfQkFUQ0gpCisJCWZyZWVfYmxvY2tzID0KKwkJCXBlcmNwdV9jb3VudGVyX3N1bV9hbmRfc2V0KCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyKTsKKyNlbmRpZgorCWlmIChmcmVlX2Jsb2NrcyAtIHJvb3RfYmxvY2tzIDwgbmJsb2NrcykKKwkJcmV0dXJuIGZyZWVfYmxvY2tzIC0gcm9vdF9ibG9ja3M7CisJcmV0dXJuIG5ibG9ja3M7CisgfQorCiAKIC8qKgogICogZXh0NF9zaG91bGRfcmV0cnlfYWxsb2MoKQpAQCAtMTYzMCw3ICsxNjQzLDcgQEAKICAqLwogaW50IGV4dDRfc2hvdWxkX3JldHJ5X2FsbG9jKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCAqcmV0cmllcykKIHsKLQlpZiAoIWV4dDRfaGFzX2ZyZWVfYmxvY2tzKEVYVDRfU0Ioc2IpKSB8fCAoKnJldHJpZXMpKysgPiAzKQorCWlmICghZXh0NF9oYXNfZnJlZV9ibG9ja3MoRVhUNF9TQihzYiksIDEpIHx8ICgqcmV0cmllcykrKyA+IDMpCiAJCXJldHVybiAwOwogCiAJamJkX2RlYnVnKDEsICIlczogcmV0cnlpbmcgb3BlcmF0aW9uIGFmdGVyIEVOT1NQQ1xuIiwgc2ItPnNfaWQpOwpAQCAtMTYzOSwyMCArMTY1MiwyNCBAQAogfQogCiAvKioKLSAqIGV4dDRfbmV3X2Jsb2Nrc19vbGQoKSAtLSBjb3JlIGJsb2NrKHMpIGFsbG9jYXRpb24gZnVuY3Rpb24KKyAqIGV4dDRfb2xkX25ld19ibG9ja3MoKSAtLSBjb3JlIGJsb2NrIGJpdG1hcCBiYXNlZCBibG9jayBhbGxvY2F0aW9uIGZ1bmN0aW9uCisgKgogICogQGhhbmRsZToJCWhhbmRsZSB0byB0aGlzIHRyYW5zYWN0aW9uCiAgKiBAaW5vZGU6CQlmaWxlIGlub2RlCiAgKiBAZ29hbDoJCWdpdmVuIHRhcmdldCBibG9jayhmaWxlc3lzdGVtIHdpZGUpCiAgKiBAY291bnQ6CQl0YXJnZXQgbnVtYmVyIG9mIGJsb2NrcyB0byBhbGxvY2F0ZQogICogQGVycnA6CQllcnJvciBjb2RlCiAgKgotICogZXh0NF9uZXdfYmxvY2tzIHVzZXMgYSBnb2FsIGJsb2NrIHRvIGFzc2lzdCBhbGxvY2F0aW9uLiAgSXQgdHJpZXMgdG8KLSAqIGFsbG9jYXRlIGJsb2NrKHMpIGZyb20gdGhlIGJsb2NrIGdyb3VwIGNvbnRhaW5zIHRoZSBnb2FsIGJsb2NrIGZpcnN0LiBJZiB0aGF0Ci0gKiBmYWlscywgaXQgd2lsbCB0cnkgdG8gYWxsb2NhdGUgYmxvY2socykgZnJvbSBvdGhlciBibG9jayBncm91cHMgd2l0aG91dAotICogYW55IHNwZWNpZmljIGdvYWwgYmxvY2suCisgKiBleHQ0X29sZF9uZXdfYmxvY2tzIHVzZXMgYSBnb2FsIGJsb2NrIHRvIGFzc2lzdCBhbGxvY2F0aW9uIGFuZCBsb29rIHVwCisgKiB0aGUgYmxvY2sgYml0bWFwIGRpcmVjdGx5IHRvIGRvIGJsb2NrIGFsbG9jYXRpb24uICBJdCB0cmllcyB0bworICogYWxsb2NhdGUgYmxvY2socykgZnJvbSB0aGUgYmxvY2sgZ3JvdXAgY29udGFpbnMgdGhlIGdvYWwgYmxvY2sgZmlyc3QuIElmCisgKiB0aGF0IGZhaWxzLCBpdCB3aWxsIHRyeSB0byBhbGxvY2F0ZSBibG9jayhzKSBmcm9tIG90aGVyIGJsb2NrIGdyb3VwcworICogd2l0aG91dCBhbnkgc3BlY2lmaWMgZ29hbCBibG9jay4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIC1vIG5vbWJhbGxvYyBtb3VudCBvcHRpb24gaXMgZW5hYmxlZAogICoKICAqLwotZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2Nrc19vbGQoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKK2V4dDRfZnNibGtfdCBleHQ0X29sZF9uZXdfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlleHQ0X2ZzYmxrX3QgZ29hbCwgdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCkKIHsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJpdG1hcF9iaCA9IE5VTEw7CkBAIC0xNjc2LDEzICsxNjkzLDI2IEBACiAJZXh0NF9ncm91cF90IG5ncm91cHM7CiAJdW5zaWduZWQgbG9uZyBudW0gPSAqY291bnQ7CiAKLQkqZXJycCA9IC1FTk9TUEM7CiAJc2IgPSBpbm9kZS0+aV9zYjsKIAlpZiAoIXNiKSB7CisJCSplcnJwID0gLUVOT0RFVjsKIAkJcHJpbnRrKCJleHQ0X25ld19ibG9jazogbm9uZXhpc3RlbnQgZGV2aWNlIik7CiAJCXJldHVybiAwOwogCX0KIAorCXNiaSA9IEVYVDRfU0Ioc2IpOworCWlmICghRVhUNF9JKGlub2RlKS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnKSB7CisJCS8qCisJCSAqIFdpdGggZGVsYWxsb2Mgd2UgYWxyZWFkeSByZXNlcnZlZCB0aGUgYmxvY2tzCisJCSAqLworCQkqY291bnQgPSBleHQ0X2hhc19mcmVlX2Jsb2NrcyhzYmksICpjb3VudCk7CisJfQorCWlmICgqY291bnQgPT0gMCkgeworCQkqZXJycCA9IC1FTk9TUEM7CisJCXJldHVybiAwOwkvKnJldHVybiB3aXRoIEVOT1NQQyBlcnJvciAqLworCX0KKwludW0gPSAqY291bnQ7CisKIAkvKgogCSAqIENoZWNrIHF1b3RhIGZvciBhbGxvY2F0aW9uIG9mIHRoaXMgYmxvY2suCiAJICovCkBAIC0xNzA2LDExICsxNzM2LDYgQEAKIAlpZiAoYmxvY2tfaSAmJiAoKHdpbmRvd3N6ID0gYmxvY2tfaS0+cnN2X3dpbmRvd19ub2RlLnJzdl9nb2FsX3NpemUpID4gMCkpCiAJCW15X3JzdiA9ICZibG9ja19pLT5yc3Zfd2luZG93X25vZGU7CiAKLQlpZiAoIWV4dDRfaGFzX2ZyZWVfYmxvY2tzKHNiaSkpIHsKLQkJKmVycnAgPSAtRU5PU1BDOwotCQlnb3RvIG91dDsKLQl9Ci0KIAkvKgogCSAqIEZpcnN0LCB0ZXN0IHdoZXRoZXIgdGhlIGdvYWwgYmxvY2sgaXMgZnJlZS4KIAkgKi8KQEAgLTE3MzQsNyArMTc1OSw3IEBACiAJCW15X3JzdiA9IE5VTEw7CiAKIAlpZiAoZnJlZV9ibG9ja3MgPiAwKSB7Ci0JCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cF9ubyk7CisJCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwX25vKTsKIAkJaWYgKCFiaXRtYXBfYmgpCiAJCQlnb3RvIGlvX2Vycm9yOwogCQlncnBfYWxsb2NfYmxrID0gZXh0NF90cnlfdG9fYWxsb2NhdGVfd2l0aF9yc3Yoc2IsIGhhbmRsZSwKQEAgLTE3NzAsNyArMTc5NSw3IEBACiAJCQljb250aW51ZTsKIAogCQlicmVsc2UoYml0bWFwX2JoKTsKLQkJYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwX25vKTsKKwkJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXBfbm8pOwogCQlpZiAoIWJpdG1hcF9iaCkKIAkJCWdvdG8gaW9fZXJyb3I7CiAJCS8qCkBAIC0xODgyLDcgKzE5MDcsMTUgQEAKIAlsZTE2X2FkZF9jcHUoJmdkcC0+YmdfZnJlZV9ibG9ja3NfY291bnQsIC1udW0pOwogCWdkcC0+YmdfY2hlY2tzdW0gPSBleHQ0X2dyb3VwX2Rlc2NfY3N1bShzYmksIGdyb3VwX25vLCBnZHApOwogCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZ3JvdXBfbm8pKTsKLQlwZXJjcHVfY291bnRlcl9zdWIoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIG51bSk7CisJaWYgKCFFWFQ0X0koaW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcpCisJCXBlcmNwdV9jb3VudGVyX3N1Yigmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgbnVtKTsKKworCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlleHQ0X2dyb3VwX3QgZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGdyb3VwX25vKTsKKwkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9ibG9ja3MgLT0gbnVtOworCQlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwl9CiAKIAlCVUZGRVJfVFJBQ0UoZ2RwX2JoLCAiam91cm5hbF9kaXJ0eV9tZXRhZGF0YSBmb3IgZ3JvdXAgZGVzY3JpcHRvciIpOwogCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGdkcF9iaCk7CkBAIC0xOTE1LDQ2ICsxOTQ4LDEwNCBAQAogCXJldHVybiAwOwogfQogCi1leHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2soaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJZXh0NF9mc2Jsa190IGdvYWwsIGludCAqZXJycCkKKyNkZWZpbmUgRVhUNF9NRVRBX0JMT0NLIDB4MQorCitzdGF0aWMgZXh0NF9mc2Jsa190IGRvX2Jsa19hbGxvYyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCWV4dDRfbGJsa190IGlibG9jaywgZXh0NF9mc2Jsa190IGdvYWwsCisJCQkJdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCwgaW50IGZsYWdzKQogewogCXN0cnVjdCBleHQ0X2FsbG9jYXRpb25fcmVxdWVzdCBhcjsKIAlleHQ0X2ZzYmxrX3QgcmV0OwogCiAJaWYgKCF0ZXN0X29wdChpbm9kZS0+aV9zYiwgTUJBTExPQykpIHsKLQkJdW5zaWduZWQgbG9uZyBjb3VudCA9IDE7Ci0JCXJldCA9IGV4dDRfbmV3X2Jsb2Nrc19vbGQoaGFuZGxlLCBpbm9kZSwgZ29hbCwgJmNvdW50LCBlcnJwKTsKLQkJcmV0dXJuIHJldDsKKwkJcmV0dXJuIGV4dDRfb2xkX25ld19ibG9ja3MoaGFuZGxlLCBpbm9kZSwgZ29hbCwgY291bnQsIGVycnApOwogCX0KIAogCW1lbXNldCgmYXIsIDAsIHNpemVvZihhcikpOwotCWFyLmlub2RlID0gaW5vZGU7Ci0JYXIuZ29hbCA9IGdvYWw7Ci0JYXIubGVuID0gMTsKLQlyZXQgPSBleHQ0X21iX25ld19ibG9ja3MoaGFuZGxlLCAmYXIsIGVycnApOwotCXJldHVybiByZXQ7Ci19CisJLyogRmlsbCB3aXRoIG5laWdoYm91ciBhbGxvY2F0ZWQgYmxvY2tzICovCiAKLWV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJZXh0NF9mc2Jsa190IGdvYWwsIHVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApCi17Ci0Jc3RydWN0IGV4dDRfYWxsb2NhdGlvbl9yZXF1ZXN0IGFyOwotCWV4dDRfZnNibGtfdCByZXQ7Ci0KLQlpZiAoIXRlc3Rfb3B0KGlub2RlLT5pX3NiLCBNQkFMTE9DKSkgewotCQlyZXQgPSBleHQ0X25ld19ibG9ja3Nfb2xkKGhhbmRsZSwgaW5vZGUsIGdvYWwsIGNvdW50LCBlcnJwKTsKLQkJcmV0dXJuIHJldDsKLQl9Ci0KLQltZW1zZXQoJmFyLCAwLCBzaXplb2YoYXIpKTsKIAlhci5pbm9kZSA9IGlub2RlOwogCWFyLmdvYWwgPSBnb2FsOwogCWFyLmxlbiA9ICpjb3VudDsKKwlhci5sb2dpY2FsID0gaWJsb2NrOworCisJaWYgKFNfSVNSRUcoaW5vZGUtPmlfbW9kZSkgJiYgIShmbGFncyAmIEVYVDRfTUVUQV9CTE9DSykpCisJCS8qIGVuYWJsZSBpbi1jb3JlIHByZWFsbG9jYXRpb24gZm9yIGRhdGEgYmxvY2sgYWxsb2NhdGlvbiAqLworCQlhci5mbGFncyA9IEVYVDRfTUJfSElOVF9EQVRBOworCWVsc2UKKwkJLyogZGlzYWJsZSBpbi1jb3JlIHByZWFsbG9jYXRpb24gZm9yIG5vbi1yZWd1bGFyIGZpbGVzICovCisJCWFyLmZsYWdzID0gMDsKKwogCXJldCA9IGV4dDRfbWJfbmV3X2Jsb2NrcyhoYW5kbGUsICZhciwgZXJycCk7CiAJKmNvdW50ID0gYXIubGVuOwogCXJldHVybiByZXQ7CiB9CiAKKy8qCisgKiBleHQ0X25ld19tZXRhX2Jsb2NrcygpIC0tIGFsbG9jYXRlIGJsb2NrIGZvciBtZXRhIGRhdGEgKGluZGV4aW5nKSBibG9ja3MKKyAqCisgKiBAaGFuZGxlOiAgICAgICAgICAgICBoYW5kbGUgdG8gdGhpcyB0cmFuc2FjdGlvbgorICogQGlub2RlOiAgICAgICAgICAgICAgZmlsZSBpbm9kZQorICogQGdvYWw6ICAgICAgICAgICAgICAgZ2l2ZW4gdGFyZ2V0IGJsb2NrKGZpbGVzeXN0ZW0gd2lkZSkKKyAqIEBjb3VudDoJCXRvdGFsIG51bWJlciBvZiBibG9ja3MgbmVlZAorICogQGVycnA6ICAgICAgICAgICAgICAgZXJyb3IgY29kZQorICoKKyAqIFJldHVybiAxc3QgYWxsb2NhdGVkIGJsb2NrIG51bWJlcm9uIHN1Y2Nlc3MsICpjb3VudCBzdG9yZXMgdG90YWwgYWNjb3VudAorICogZXJyb3Igc3RvcmVzIGluIGVycnAgcG9pbnRlcgorICovCitleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfbWV0YV9ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKKwkJZXh0NF9mc2Jsa190IGdvYWwsIHVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApCit7CisJZXh0NF9mc2Jsa190IHJldDsKKwlyZXQgPSBkb19ibGtfYWxsb2MoaGFuZGxlLCBpbm9kZSwgMCwgZ29hbCwKKwkJCQljb3VudCwgZXJycCwgRVhUNF9NRVRBX0JMT0NLKTsKKwkvKgorCSAqIEFjY291bnQgZm9yIHRoZSBhbGxvY2F0ZWQgbWV0YSBibG9ja3MKKwkgKi8KKwlpZiAoISgqZXJycCkpIHsKKwkJc3Bpbl9sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCQlFWFQ0X0koaW5vZGUpLT5pX2FsbG9jYXRlZF9tZXRhX2Jsb2NrcyArPSAqY291bnQ7CisJCXNwaW5fdW5sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCX0KKwlyZXR1cm4gcmV0OworfQorCisvKgorICogZXh0NF9uZXdfbWV0YV9ibG9jaygpIC0tIGFsbG9jYXRlIGJsb2NrIGZvciBtZXRhIGRhdGEgKGluZGV4aW5nKSBibG9ja3MKKyAqCisgKiBAaGFuZGxlOiAgICAgICAgICAgICBoYW5kbGUgdG8gdGhpcyB0cmFuc2FjdGlvbgorICogQGlub2RlOiAgICAgICAgICAgICAgZmlsZSBpbm9kZQorICogQGdvYWw6ICAgICAgICAgICAgICAgZ2l2ZW4gdGFyZ2V0IGJsb2NrKGZpbGVzeXN0ZW0gd2lkZSkKKyAqIEBlcnJwOiAgICAgICAgICAgICAgIGVycm9yIGNvZGUKKyAqCisgKiBSZXR1cm4gYWxsb2NhdGVkIGJsb2NrIG51bWJlciBvbiBzdWNjZXNzCisgKi8KK2V4dDRfZnNibGtfdCBleHQ0X25ld19tZXRhX2Jsb2NrKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCWV4dDRfZnNibGtfdCBnb2FsLCBpbnQgKmVycnApCit7CisJdW5zaWduZWQgbG9uZyBjb3VudCA9IDE7CisJcmV0dXJuIGV4dDRfbmV3X21ldGFfYmxvY2tzKGhhbmRsZSwgaW5vZGUsIGdvYWwsICZjb3VudCwgZXJycCk7Cit9CisKKy8qCisgKiBleHQ0X25ld19ibG9ja3MoKSAtLSBhbGxvY2F0ZSBkYXRhIGJsb2NrcworICoKKyAqIEBoYW5kbGU6ICAgICAgICAgICAgIGhhbmRsZSB0byB0aGlzIHRyYW5zYWN0aW9uCisgKiBAaW5vZGU6ICAgICAgICAgICAgICBmaWxlIGlub2RlCisgKiBAZ29hbDogICAgICAgICAgICAgICBnaXZlbiB0YXJnZXQgYmxvY2soZmlsZXN5c3RlbSB3aWRlKQorICogQGNvdW50OgkJdG90YWwgbnVtYmVyIG9mIGJsb2NrcyBuZWVkCisgKiBAZXJycDogICAgICAgICAgICAgICBlcnJvciBjb2RlCisgKgorICogUmV0dXJuIDFzdCBhbGxvY2F0ZWQgYmxvY2sgbnVtYmVyb24gc3VjY2VzcywgKmNvdW50IHN0b3JlcyB0b3RhbCBhY2NvdW50CisgKiBlcnJvciBzdG9yZXMgaW4gZXJycCBwb2ludGVyCisgKi8KKworZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCWV4dDRfbGJsa190IGlibG9jaywgZXh0NF9mc2Jsa190IGdvYWwsCisJCQkJdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCkKK3sKKwlyZXR1cm4gZG9fYmxrX2FsbG9jKGhhbmRsZSwgaW5vZGUsIGlibG9jaywgZ29hbCwgY291bnQsIGVycnAsIDApOworfQogCiAvKioKICAqIGV4dDRfY291bnRfZnJlZV9ibG9ja3MoKSAtLSBjb3VudCBmaWxlc3lzdGVtIGZyZWUgYmxvY2tzCkBAIC0xOTg2LDcgKzIwNzcsNyBAQAogCQkJY29udGludWU7CiAJCWRlc2NfY291bnQgKz0gbGUxNl90b19jcHUoZ2RwLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCk7CiAJCWJyZWxzZShiaXRtYXBfYmgpOwotCQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgaSk7CisJCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGkpOwogCQlpZiAoYml0bWFwX2JoID09IE5VTEwpCiAJCQljb250aW51ZTsKIApkaWZmIC0tZ2l0IGEvZnMvZXh0NC9kaXIuYyBiL2ZzL2V4dDQvZGlyLmMKaW5kZXggMmJmMDMzMS4uZDNkMjNkNyAxMDA2NDQKLS0tIGEvZnMvZXh0NC9kaXIuYworKysgYi9mcy9leHQ0L2Rpci5jCkBAIC0xMjksNyArMTI5LDggQEAKIAkJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCA9IE5VTEw7CiAKIAkJbWFwX2JoLmJfc3RhdGUgPSAwOwotCQllcnIgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChOVUxMLCBpbm9kZSwgYmxrLCAxLCAmbWFwX2JoLCAwLCAwKTsKKwkJZXJyID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoTlVMTCwgaW5vZGUsIGJsaywgMSwgJm1hcF9iaCwKKwkJCQkJCTAsIDAsIDApOwogCQlpZiAoZXJyID4gMCkgewogCQkJcGdvZmZfdCBpbmRleCA9IG1hcF9iaC5iX2Jsb2NrbnIgPj4KIAkJCQkJKFBBR0VfQ0FDSEVfU0hJRlQgLSBpbm9kZS0+aV9ibGtiaXRzKTsKQEAgLTI3Miw3ICsyNzMsNyBAQAogCiAJd2hpbGUgKG4pIHsKIAkJLyogRG8gdGhlIG5vZGUncyBjaGlsZHJlbiBmaXJzdCAqLwotCQlpZiAoKG4pLT5yYl9sZWZ0KSB7CisJCWlmIChuLT5yYl9sZWZ0KSB7CiAJCQluID0gbi0+cmJfbGVmdDsKIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0zMDEsMjQgKzMwMiwxOCBAQAogCQkJcGFyZW50LT5yYl9yaWdodCA9IE5VTEw7CiAJCW4gPSBwYXJlbnQ7CiAJfQotCXJvb3QtPnJiX25vZGUgPSBOVUxMOwogfQogCiAKLXN0YXRpYyBzdHJ1Y3QgZGlyX3ByaXZhdGVfaW5mbyAqY3JlYXRlX2Rpcl9pbmZvKGxvZmZfdCBwb3MpCitzdGF0aWMgc3RydWN0IGRpcl9wcml2YXRlX2luZm8gKmV4dDRfaHRyZWVfY3JlYXRlX2Rpcl9pbmZvKGxvZmZfdCBwb3MpCiB7CiAJc3RydWN0IGRpcl9wcml2YXRlX2luZm8gKnA7CiAKLQlwID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGRpcl9wcml2YXRlX2luZm8pLCBHRlBfS0VSTkVMKTsKKwlwID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRpcl9wcml2YXRlX2luZm8pLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXApCiAJCXJldHVybiBOVUxMOwotCXAtPnJvb3QucmJfbm9kZSA9IE5VTEw7Ci0JcC0+Y3Vycl9ub2RlID0gTlVMTDsKLQlwLT5leHRyYV9mbmFtZSA9IE5VTEw7Ci0JcC0+bGFzdF9wb3MgPSAwOwogCXAtPmN1cnJfaGFzaCA9IHBvczJtYWpfaGFzaChwb3MpOwogCXAtPmN1cnJfbWlub3JfaGFzaCA9IHBvczJtaW5faGFzaChwb3MpOwotCXAtPm5leHRfaGFzaCA9IDA7CiAJcmV0dXJuIHA7CiB9CiAKQEAgLTQzMyw3ICs0MjgsNyBAQAogCWludAlyZXQ7CiAKIAlpZiAoIWluZm8pIHsKLQkJaW5mbyA9IGNyZWF0ZV9kaXJfaW5mbyhmaWxwLT5mX3Bvcyk7CisJCWluZm8gPSBleHQ0X2h0cmVlX2NyZWF0ZV9kaXJfaW5mbyhmaWxwLT5mX3Bvcyk7CiAJCWlmICghaW5mbykKIAkJCXJldHVybiAtRU5PTUVNOwogCQlmaWxwLT5wcml2YXRlX2RhdGEgPSBpbmZvOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0LmggYi9mcy9leHQ0L2V4dDQuaAppbmRleCA4MTU4MDgzLi4zMDNlNDFjIDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dDQuaAorKysgYi9mcy9leHQ0L2V4dDQuaApAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgImV4dDRfaS5oIgogCiAvKgotICogVGhlIHNlY29uZCBleHRlbmRlZCBmaWxlc3lzdGVtIGNvbnN0YW50cy9zdHJ1Y3R1cmVzCisgKiBUaGUgZm91cnRoIGV4dGVuZGVkIGZpbGVzeXN0ZW0gY29uc3RhbnRzL3N0cnVjdHVyZXMKICAqLwogCiAvKgpAQCAtNDUsNyArNDUsNyBAQAogI2RlZmluZSBleHQ0X2RlYnVnKGYsIGEuLi4pCQkJCQkJXAogCWRvIHsJCQkJCQkJCVwKIAkJcHJpbnRrIChLRVJOX0RFQlVHICJFWFQ0LWZzIERFQlVHICglcywgJWQpOiAlczoiLAlcCi0JCQlfX0ZJTEVfXywgX19MSU5FX18sIF9fRlVOQ1RJT05fXyk7CQlcCisJCQlfX0ZJTEVfXywgX19MSU5FX18sIF9fZnVuY19fKTsJCQlcCiAJCXByaW50ayAoS0VSTl9ERUJVRyBmLCAjIyBhKTsJCQkJXAogCX0gd2hpbGUgKDApCiAjZWxzZQpAQCAtNzQsNiArNzQsOSBAQAogI2RlZmluZSBFWFQ0X01CX0hJTlRfR09BTF9PTkxZCQkyNTYKIC8qIGdvYWwgaXMgbWVhbmluZ2Z1bCAqLwogI2RlZmluZSBFWFQ0X01CX0hJTlRfVFJZX0dPQUwJCTUxMgorLyogYmxvY2tzIGFscmVhZHkgcHJlLXJlc2VydmVkIGJ5IGRlbGF5ZWQgYWxsb2NhdGlvbiAqLworI2RlZmluZSBFWFQ0X01CX0RFTEFMTE9DX1JFU0VSVkVEICAgICAgMTAyNAorCiAKIHN0cnVjdCBleHQ0X2FsbG9jYXRpb25fcmVxdWVzdCB7CiAJLyogdGFyZ2V0IGlub2RlIGZvciBibG9jayB3ZSdyZSBhbGxvY2F0aW5nICovCkBAIC0xNzAsNiArMTczLDE1IEBACiAJX191MzIJYmdfcmVzZXJ2ZWQyWzNdOwogfTsKIAorLyoKKyAqIFN0cnVjdHVyZSBvZiBhIGZsZXggYmxvY2sgZ3JvdXAgaW5mbworICovCisKK3N0cnVjdCBmbGV4X2dyb3VwcyB7CisJX191MzIgZnJlZV9pbm9kZXM7CisJX191MzIgZnJlZV9ibG9ja3M7Cit9OworCiAjZGVmaW5lIEVYVDRfQkdfSU5PREVfVU5JTklUCTB4MDAwMSAvKiBJbm9kZSB0YWJsZS9iaXRtYXAgbm90IGluIHVzZSAqLwogI2RlZmluZSBFWFQ0X0JHX0JMT0NLX1VOSU5JVAkweDAwMDIgLyogQmxvY2sgYml0bWFwIG5vdCBpbiB1c2UgKi8KICNkZWZpbmUgRVhUNF9CR19JTk9ERV9aRVJPRUQJMHgwMDA0IC8qIE9uLWRpc2sgaXRhYmxlIGluaXRpYWxpemVkIHRvIHplcm8gKi8KQEAgLTUyNyw2ICs1MzksNyBAQAogI2RlZmluZSBFWFQ0X01PVU5UX0pPVVJOQUxfQVNZTkNfQ09NTUlUCTB4MTAwMDAwMCAvKiBKb3VybmFsIEFzeW5jIENvbW1pdCAqLwogI2RlZmluZSBFWFQ0X01PVU5UX0lfVkVSU0lPTiAgICAgICAgICAgIDB4MjAwMDAwMCAvKiBpX3ZlcnNpb24gc3VwcG9ydCAqLwogI2RlZmluZSBFWFQ0X01PVU5UX01CQUxMT0MJCTB4NDAwMDAwMCAvKiBCdWRkeSBhbGxvY2F0aW9uIHN1cHBvcnQgKi8KKyNkZWZpbmUgRVhUNF9NT1VOVF9ERUxBTExPQwkJMHg4MDAwMDAwIC8qIERlbGFsbG9jIHN1cHBvcnQgKi8KIC8qIENvbXBhdGliaWxpdHksIGZvciBoYXZpbmcgYm90aCBleHQyX2ZzLmggYW5kIGV4dDRfZnMuaCBpbmNsdWRlZCBhdCBvbmNlICovCiAjaWZuZGVmIF9MSU5VWF9FWFQyX0ZTX0gKICNkZWZpbmUgY2xlYXJfb3B0KG8sIG9wdCkJCW8gJj0gfkVYVDRfTU9VTlRfIyNvcHQKQEAgLTY0Nyw3ICs2NjAsMTAgQEAKIAlfX2xlMTYgIHNfbW1wX2ludGVydmFsOyAgICAgICAgIC8qICMgc2Vjb25kcyB0byB3YWl0IGluIE1NUCBjaGVja2luZyAqLwogCV9fbGU2NCAgc19tbXBfYmxvY2s7ICAgICAgICAgICAgLyogQmxvY2sgZm9yIG11bHRpLW1vdW50IHByb3RlY3Rpb24gKi8KIAlfX2xlMzIgIHNfcmFpZF9zdHJpcGVfd2lkdGg7ICAgIC8qIGJsb2NrcyBvbiBhbGwgZGF0YSBkaXNrcyAoTipzdHJpZGUpKi8KLQlfX3UzMiAgIHNfcmVzZXJ2ZWRbMTYzXTsgICAgICAgIC8qIFBhZGRpbmcgdG8gdGhlIGVuZCBvZiB0aGUgYmxvY2sgKi8KKwlfX3U4CXNfbG9nX2dyb3Vwc19wZXJfZmxleDsgIC8qIEZMRVhfQkcgZ3JvdXAgc2l6ZSAqLworCV9fdTgJc19yZXNlcnZlZF9jaGFyX3BhZDI7CisJX19sZTE2ICBzX3Jlc2VydmVkX3BhZDsKKwlfX3UzMiAgIHNfcmVzZXJ2ZWRbMTYyXTsgICAgICAgIC8qIFBhZGRpbmcgdG8gdGhlIGVuZCBvZiB0aGUgYmxvY2sgKi8KIH07CiAKICNpZmRlZiBfX0tFUk5FTF9fCkBAIC05NTgsMTIgKzk3NCwxNyBAQAogZXh0ZXJuIGludCBleHQ0X2JnX2hhc19zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBleHQ0X2dyb3VwX3QgZ3JvdXApOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZXh0NF9iZ19udW1fZ2RiKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQlleHQ0X2dyb3VwX3QgZ3JvdXApOwotZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9jayAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKK2V4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfbWV0YV9ibG9jayhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJZXh0NF9mc2Jsa190IGdvYWwsIGludCAqZXJycCk7Ci1leHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrcyAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKK2V4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfbWV0YV9ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCWV4dDRfZnNibGtfdCBnb2FsLCB1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKTsKLWV4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2tzX29sZChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKKwkJCQkJZXh0NF9sYmxrX3QgaWJsb2NrLCBleHQ0X2ZzYmxrX3QgZ29hbCwKKwkJCQkJdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCk7CitleHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfb2xkX25ld19ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCWV4dDRfZnNibGtfdCBnb2FsLCB1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKTsKK2V4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9oYXNfZnJlZV9ibG9ja3Moc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpLAorCQkJCQkJZXh0NF9mc2Jsa190IG5ibG9ja3MpOwogZXh0ZXJuIHZvaWQgZXh0NF9mcmVlX2Jsb2NrcyAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCWV4dDRfZnNibGtfdCBibG9jaywgdW5zaWduZWQgbG9uZyBjb3VudCwgaW50IG1ldGFkYXRhKTsKIGV4dGVybiB2b2lkIGV4dDRfZnJlZV9ibG9ja3Nfc2IgKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCkBAIC0xMDE2LDkgKzEwMzcsMTQgQEAKIGV4dGVybiB2b2lkIGV4aXRfZXh0NF9tYmFsbG9jKHZvaWQpOwogZXh0ZXJuIHZvaWQgZXh0NF9tYl9mcmVlX2Jsb2NrcyhoYW5kbGVfdCAqLCBzdHJ1Y3QgaW5vZGUgKiwKIAkJdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZywgaW50LCB1bnNpZ25lZCBsb25nICopOworZXh0ZXJuIGludCBleHQ0X21iX2FkZF9tb3JlX2dyb3VwaW5mbyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAorCQlleHQ0X2dyb3VwX3QgaSwgc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZGVzYyk7CitleHRlcm4gdm9pZCBleHQ0X21iX3VwZGF0ZV9ncm91cF9pbmZvKHN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKmdycCwKKwkJZXh0NF9ncnBibGtfdCBhZGQpOwogCiAKIC8qIGlub2RlLmMgKi8KK3ZvaWQgZXh0NF9kYV9yZWxlYXNlX3NwYWNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCB1c2VkLCBpbnQgdG9fZnJlZSk7CiBpbnQgZXh0NF9mb3JnZXQoaGFuZGxlX3QgKmhhbmRsZSwgaW50IGlzX21ldGFkYXRhLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLCBleHQ0X2ZzYmxrX3QgYmxvY2tucik7CiBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmV4dDRfZ2V0YmxrKGhhbmRsZV90ICosIHN0cnVjdCBpbm9kZSAqLApAQCAtMTAzMywxOSArMTA1OSwyMyBAQAogZXh0ZXJuIHN0cnVjdCBpbm9kZSAqZXh0NF9pZ2V0KHN0cnVjdCBzdXBlcl9ibG9jayAqLCB1bnNpZ25lZCBsb25nKTsKIGV4dGVybiBpbnQgIGV4dDRfd3JpdGVfaW5vZGUgKHN0cnVjdCBpbm9kZSAqLCBpbnQpOwogZXh0ZXJuIGludCAgZXh0NF9zZXRhdHRyIChzdHJ1Y3QgZGVudHJ5ICosIHN0cnVjdCBpYXR0ciAqKTsKK2V4dGVybiBpbnQgIGV4dDRfZ2V0YXR0cihzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkJCXN0cnVjdCBrc3RhdCAqc3RhdCk7CiBleHRlcm4gdm9pZCBleHQ0X2RlbGV0ZV9pbm9kZSAoc3RydWN0IGlub2RlICopOwogZXh0ZXJuIGludCAgZXh0NF9zeW5jX2lub2RlIChoYW5kbGVfdCAqLCBzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gdm9pZCBleHQ0X2Rpc2NhcmRfcmVzZXJ2YXRpb24gKHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZGlydHlfaW5vZGUoc3RydWN0IGlub2RlICopOwogZXh0ZXJuIGludCBleHQ0X2NoYW5nZV9pbm9kZV9qb3VybmFsX2ZsYWcoc3RydWN0IGlub2RlICosIGludCk7CiBleHRlcm4gaW50IGV4dDRfZ2V0X2lub2RlX2xvYyhzdHJ1Y3QgaW5vZGUgKiwgc3RydWN0IGV4dDRfaWxvYyAqKTsKK2V4dGVybiBpbnQgZXh0NF9jYW5fdHJ1bmNhdGUoc3RydWN0IGlub2RlICppbm9kZSk7CiBleHRlcm4gdm9pZCBleHQ0X3RydW5jYXRlIChzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gdm9pZCBleHQ0X3NldF9pbm9kZV9mbGFncyhzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gdm9pZCBleHQ0X2dldF9pbm9kZV9mbGFncyhzdHJ1Y3QgZXh0NF9pbm9kZV9pbmZvICopOwogZXh0ZXJuIHZvaWQgZXh0NF9zZXRfYW9wcyhzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKIGV4dGVybiBpbnQgZXh0NF93cml0ZXBhZ2VfdHJhbnNfYmxvY2tzKHN0cnVjdCBpbm9kZSAqKTsKLWV4dGVybiBpbnQgZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBwYWdlICpwYWdlLAorZXh0ZXJuIGludCBleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlX3QgKmhhbmRsZSwKIAkJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCBmcm9tKTsKK2V4dGVybiBpbnQgZXh0NF9wYWdlX21rd3JpdGUoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHN0cnVjdCBwYWdlICpwYWdlKTsKIAogLyogaW9jdGwuYyAqLwogZXh0ZXJuIGxvbmcgZXh0NF9pb2N0bChzdHJ1Y3QgZmlsZSAqLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwpAQCAtMTE1OSwxMCArMTE4OSwyMSBAQAogfQogCiAKK3N0YXRpYyBpbmxpbmUgZXh0NF9ncm91cF90IGV4dDRfZmxleF9ncm91cChzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmksCisJCQkJCSAgICAgZXh0NF9ncm91cF90IGJsb2NrX2dyb3VwKQoreworCXJldHVybiBibG9ja19ncm91cCA+PiBzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleDsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZXh0NF9mbGV4X2JnX3NpemUoc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpKQoreworCXJldHVybiAxIDw8IHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4OworfQorCiAjZGVmaW5lIGV4dDRfc3RkX2Vycm9yKHNiLCBlcnJubykJCQkJXAogZG8gewkJCQkJCQkJXAogCWlmICgoZXJybm8pKQkJCQkJCVwKLQkJX19leHQ0X3N0ZF9lcnJvcigoc2IpLCBfX0ZVTkNUSU9OX18sIChlcnJubykpOwlcCisJCV9fZXh0NF9zdGRfZXJyb3IoKHNiKSwgX19mdW5jX18sIChlcnJubykpOwlcCiB9IHdoaWxlICgwKQogCiAvKgpAQCAtMTE5MSw3ICsxMjMyLDcgQEAKIAkJCWV4dDRfbGJsa190IGlibG9jaywKIAkJCXVuc2lnbmVkIGxvbmcgbWF4X2Jsb2Nrcywgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaF9yZXN1bHQsCiAJCQlpbnQgY3JlYXRlLCBpbnQgZXh0ZW5kX2Rpc2tzaXplKTsKLWV4dGVybiB2b2lkIGV4dDRfZXh0X3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgcGFnZSAqKTsKK2V4dGVybiB2b2lkIGV4dDRfZXh0X3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZXh0X2luaXQoc3RydWN0IHN1cGVyX2Jsb2NrICopOwogZXh0ZXJuIHZvaWQgZXh0NF9leHRfcmVsZWFzZShzdHJ1Y3Qgc3VwZXJfYmxvY2sgKik7CiBleHRlcm4gbG9uZyBleHQ0X2ZhbGxvY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbW9kZSwgbG9mZl90IG9mZnNldCwKQEAgLTExOTksNyArMTI0MCw3IEBACiBleHRlcm4gaW50IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlzZWN0b3JfdCBibG9jaywgdW5zaWduZWQgbG9uZyBtYXhfYmxvY2tzLAogCQkJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwgaW50IGNyZWF0ZSwKLQkJCWludCBleHRlbmRfZGlza3NpemUpOworCQkJaW50IGV4dGVuZF9kaXNrc2l6ZSwgaW50IGZsYWcpOwogI2VuZGlmCS8qIF9fS0VSTkVMX18gKi8KIAogI2VuZGlmCS8qIF9FWFQ0X0ggKi8KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0NF9leHRlbnRzLmggYi9mcy9leHQ0L2V4dDRfZXh0ZW50cy5oCmluZGV4IDc1MzMzYjUuLjZjMTY2YzAgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0NF9leHRlbnRzLmgKKysrIGIvZnMvZXh0NC9leHQ0X2V4dGVudHMuaApAQCAtMjEyLDYgKzIxMiw3IEBACiAJCShsZTE2X3RvX2NwdShleHQtPmVlX2xlbikgLSBFWFRfSU5JVF9NQVhfTEVOKSk7CiB9CiAKK2V4dGVybiBpbnQgZXh0NF9leHRfY2FsY19tZXRhZGF0YV9hbW91bnQoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGJsb2Nrcyk7CiBleHRlcm4gZXh0NF9mc2Jsa190IGlkeF9wYmxvY2soc3RydWN0IGV4dDRfZXh0ZW50X2lkeCAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZXh0X3N0b3JlX3BibG9jayhzdHJ1Y3QgZXh0NF9leHRlbnQgKiwgZXh0NF9mc2Jsa190KTsKIGV4dGVybiBpbnQgZXh0NF9leHRlbnRfdHJlZV9pbml0KGhhbmRsZV90ICosIHN0cnVjdCBpbm9kZSAqKTsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0NF9pLmggYi9mcy9leHQ0L2V4dDRfaS5oCmluZGV4IDI2YTRhZTIuLmVmNzQwOWYgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0NF9pLmgKKysrIGIvZnMvZXh0NC9leHQ0X2kuaApAQCAtNzksNyArNzksNyBAQAogfTsKIAogLyoKLSAqIHRoaXJkIGV4dGVuZGVkIGZpbGUgc3lzdGVtIGlub2RlIGRhdGEgaW4gbWVtb3J5CisgKiBmb3VydGggZXh0ZW5kZWQgZmlsZSBzeXN0ZW0gaW5vZGUgZGF0YSBpbiBtZW1vcnkKICAqLwogc3RydWN0IGV4dDRfaW5vZGVfaW5mbyB7CiAJX19sZTMyCWlfZGF0YVsxNV07CS8qIHVuY29udmVydGVkICovCkBAIC0xNTAsNiArMTUwLDcgQEAKIAkgKi8KIAlzdHJ1Y3Qgcndfc2VtYXBob3JlIGlfZGF0YV9zZW07CiAJc3RydWN0IGlub2RlIHZmc19pbm9kZTsKKwlzdHJ1Y3QgamJkMl9pbm9kZSBqaW5vZGU7CiAKIAl1bnNpZ25lZCBsb25nIGlfZXh0X2dlbmVyYXRpb247CiAJc3RydWN0IGV4dDRfZXh0X2NhY2hlIGlfY2FjaGVkX2V4dGVudDsKQEAgLTE2Miw2ICsxNjMsMTMgQEAKIAkvKiBtYmFsbG9jICovCiAJc3RydWN0IGxpc3RfaGVhZCBpX3ByZWFsbG9jX2xpc3Q7CiAJc3BpbmxvY2tfdCBpX3ByZWFsbG9jX2xvY2s7CisKKwkvKiBhbGxvY2F0aW9uIHJlc2VydmF0aW9uIGluZm8gZm9yIGRlbGFsbG9jICovCisJdW5zaWduZWQgbG9uZyBpX3Jlc2VydmVkX2RhdGFfYmxvY2tzOworCXVuc2lnbmVkIGxvbmcgaV9yZXNlcnZlZF9tZXRhX2Jsb2NrczsKKwl1bnNpZ25lZCBsb25nIGlfYWxsb2NhdGVkX21ldGFfYmxvY2tzOworCXVuc2lnbmVkIHNob3J0IGlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZzsKKwlzcGlubG9ja190IGlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jazsKIH07CiAKICNlbmRpZgkvKiBfRVhUNF9JICovCmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dDRfamJkMi5oIGIvZnMvZXh0NC9leHQ0X2piZDIuaAppbmRleCA5MjU1YTdkLi5lYjhiYzNhIDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dDRfamJkMi5oCisrKyBiL2ZzL2V4dDQvZXh0NF9qYmQyLmgKQEAgLTE0MiwxOSArMTQyLDE3IEBACiAJCQkJaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCk7CiAKICNkZWZpbmUgZXh0NF9qb3VybmFsX2dldF91bmRvX2FjY2VzcyhoYW5kbGUsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfZ2V0X3VuZG9fYWNjZXNzKF9fRlVOQ1RJT05fXywgKGhhbmRsZSksIChiaCkpCisJX19leHQ0X2pvdXJuYWxfZ2V0X3VuZG9fYWNjZXNzKF9fZnVuY19fLCAoaGFuZGxlKSwgKGJoKSkKICNkZWZpbmUgZXh0NF9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MoaGFuZGxlLCBiaCkgXAotCV9fZXh0NF9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJoKSkKKwlfX2V4dDRfam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKF9fZnVuY19fLCAoaGFuZGxlKSwgKGJoKSkKICNkZWZpbmUgZXh0NF9qb3VybmFsX3Jldm9rZShoYW5kbGUsIGJsb2NrbnIsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfcmV2b2tlKF9fRlVOQ1RJT05fXywgKGhhbmRsZSksIChibG9ja25yKSwgKGJoKSkKKwlfX2V4dDRfam91cm5hbF9yZXZva2UoX19mdW5jX18sIChoYW5kbGUpLCAoYmxvY2tuciksIChiaCkpCiAjZGVmaW5lIGV4dDRfam91cm5hbF9nZXRfY3JlYXRlX2FjY2VzcyhoYW5kbGUsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfZ2V0X2NyZWF0ZV9hY2Nlc3MoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJoKSkKKwlfX2V4dDRfam91cm5hbF9nZXRfY3JlYXRlX2FjY2VzcyhfX2Z1bmNfXywgKGhhbmRsZSksIChiaCkpCiAjZGVmaW5lIGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJoKSkKKwlfX2V4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShfX2Z1bmNfXywgKGhhbmRsZSksIChiaCkpCiAjZGVmaW5lIGV4dDRfam91cm5hbF9mb3JnZXQoaGFuZGxlLCBiaCkgXAotCV9fZXh0NF9qb3VybmFsX2ZvcmdldChfX0ZVTkNUSU9OX18sIChoYW5kbGUpLCAoYmgpKQotCi1pbnQgZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCk7CisJX19leHQ0X2pvdXJuYWxfZm9yZ2V0KF9fZnVuY19fLCAoaGFuZGxlKSwgKGJoKSkKIAogaGFuZGxlX3QgKmV4dDRfam91cm5hbF9zdGFydF9zYihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBpbnQgbmJsb2Nrcyk7CiBpbnQgX19leHQ0X2pvdXJuYWxfc3RvcChjb25zdCBjaGFyICp3aGVyZSwgaGFuZGxlX3QgKmhhbmRsZSk7CkBAIC0xNjUsNyArMTYzLDcgQEAKIH0KIAogI2RlZmluZSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpIFwKLQlfX2V4dDRfam91cm5hbF9zdG9wKF9fRlVOQ1RJT05fXywgKGhhbmRsZSkpCisJX19leHQ0X2pvdXJuYWxfc3RvcChfX2Z1bmNfXywgKGhhbmRsZSkpCiAKIHN0YXRpYyBpbmxpbmUgaGFuZGxlX3QgKmV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSh2b2lkKQogewpAQCAtMTkyLDYgKzE5MCwxMSBAQAogCXJldHVybiBqYmQyX2pvdXJuYWxfZm9yY2VfY29tbWl0KGpvdXJuYWwpOwogfQogCitzdGF0aWMgaW5saW5lIGludCBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworCXJldHVybiBqYmQyX2pvdXJuYWxfZmlsZV9pbm9kZShoYW5kbGUsICZFWFQ0X0koaW5vZGUpLT5qaW5vZGUpOworfQorCiAvKiBzdXBlci5jICovCiBpbnQgZXh0NF9mb3JjZV9jb21taXQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYik7CiAKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0NF9zYi5oIGIvZnMvZXh0NC9leHQ0X3NiLmgKaW5kZXggNTgwMmU2OS4uNjMwMDIyNiAxMDA2NDQKLS0tIGEvZnMvZXh0NC9leHQ0X3NiLmgKKysrIGIvZnMvZXh0NC9leHQ0X3NiLmgKQEAgLTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9yYnRyZWUuaD4KIAogLyoKLSAqIHRoaXJkIGV4dGVuZGVkLWZzIHN1cGVyLWJsb2NrIGRhdGEgaW4gbWVtb3J5CisgKiBmb3VydGggZXh0ZW5kZWQtZnMgc3VwZXItYmxvY2sgZGF0YSBpbiBtZW1vcnkKICAqLwogc3RydWN0IGV4dDRfc2JfaW5mbyB7CiAJdW5zaWduZWQgbG9uZyBzX2Rlc2Nfc2l6ZTsJLyogU2l6ZSBvZiBhIGdyb3VwIGRlc2NyaXB0b3IgaW4gYnl0ZXMgKi8KQEAgLTE0Myw2ICsxNDMsOSBAQAogCiAJLyogbG9jYWxpdHkgZ3JvdXBzICovCiAJc3RydWN0IGV4dDRfbG9jYWxpdHlfZ3JvdXAgKnNfbG9jYWxpdHlfZ3JvdXBzOworCisJdW5zaWduZWQgaW50IHNfbG9nX2dyb3Vwc19wZXJfZmxleDsKKwlzdHJ1Y3QgZmxleF9ncm91cHMgKnNfZmxleF9ncm91cHM7CiB9OwogCiAjZW5kaWYJLyogX0VYVDRfU0IgKi8KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0ZW50cy5jIGIvZnMvZXh0NC9leHRlbnRzLmMKaW5kZXggNDc5MjljNC4uNDJjNGMwYyAxMDA2NDQKLS0tIGEvZnMvZXh0NC9leHRlbnRzLmMKKysrIGIvZnMvZXh0NC9leHRlbnRzLmMKQEAgLTkyLDE3ICs5MiwxNiBAQAogCWl4LT5laV9sZWFmX2hpID0gY3B1X3RvX2xlMTYoKHVuc2lnbmVkIGxvbmcpICgocGIgPj4gMzEpID4+IDEpICYgMHhmZmZmKTsKIH0KIAotc3RhdGljIGhhbmRsZV90ICpleHQ0X2V4dF9qb3VybmFsX3Jlc3RhcnQoaGFuZGxlX3QgKmhhbmRsZSwgaW50IG5lZWRlZCkKK3N0YXRpYyBpbnQgZXh0NF9leHRfam91cm5hbF9yZXN0YXJ0KGhhbmRsZV90ICpoYW5kbGUsIGludCBuZWVkZWQpCiB7CiAJaW50IGVycjsKIAogCWlmIChoYW5kbGUtPmhfYnVmZmVyX2NyZWRpdHMgPiBuZWVkZWQpCi0JCXJldHVybiBoYW5kbGU7Ci0JaWYgKCFleHQ0X2pvdXJuYWxfZXh0ZW5kKGhhbmRsZSwgbmVlZGVkKSkKLQkJcmV0dXJuIGhhbmRsZTsKLQllcnIgPSBleHQ0X2pvdXJuYWxfcmVzdGFydChoYW5kbGUsIG5lZWRlZCk7Ci0KLQlyZXR1cm4gaGFuZGxlOworCQlyZXR1cm4gMDsKKwllcnIgPSBleHQ0X2pvdXJuYWxfZXh0ZW5kKGhhbmRsZSwgbmVlZGVkKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCXJldHVybiBleHQ0X2pvdXJuYWxfcmVzdGFydChoYW5kbGUsIG5lZWRlZCk7CiB9CiAKIC8qCkBAIC0xODAsMTUgKzE3OSwxOCBAQAogCXJldHVybiBiZ19zdGFydCArIGNvbG91ciArIGJsb2NrOwogfQogCisvKgorICogQWxsb2NhdGlvbiBmb3IgYSBtZXRhIGRhdGEgYmxvY2sKKyAqLwogc3RhdGljIGV4dDRfZnNibGtfdAotZXh0NF9leHRfbmV3X2Jsb2NrKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCitleHQ0X2V4dF9uZXdfbWV0YV9ibG9jayhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJc3RydWN0IGV4dDRfZXh0X3BhdGggKnBhdGgsCiAJCQlzdHJ1Y3QgZXh0NF9leHRlbnQgKmV4LCBpbnQgKmVycikKIHsKIAlleHQ0X2ZzYmxrX3QgZ29hbCwgbmV3YmxvY2s7CiAKIAlnb2FsID0gZXh0NF9leHRfZmluZF9nb2FsKGlub2RlLCBwYXRoLCBsZTMyX3RvX2NwdShleC0+ZWVfYmxvY2spKTsKLQluZXdibG9jayA9IGV4dDRfbmV3X2Jsb2NrKGhhbmRsZSwgaW5vZGUsIGdvYWwsIGVycik7CisJbmV3YmxvY2sgPSBleHQ0X25ld19tZXRhX2Jsb2NrKGhhbmRsZSwgaW5vZGUsIGdvYWwsIGVycik7CiAJcmV0dXJuIG5ld2Jsb2NrOwogfQogCkBAIC0yNDYsNiArMjQ4LDM2IEBACiAJcmV0dXJuIHNpemU7CiB9CiAKKy8qCisgKiBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBtZXRhZGF0YSBibG9ja3MgbmVlZGVkCisgKiB0byBhbGxvY2F0ZSBAYmxvY2tzCisgKiBXb3JzZSBjYXNlIGlzIG9uZSBibG9jayBwZXIgZXh0ZW50CisgKi8KK2ludCBleHQ0X2V4dF9jYWxjX21ldGFkYXRhX2Ftb3VudChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgYmxvY2tzKQoreworCWludCBsY2FwLCBpY2FwLCByY2FwLCBsZWFmcywgaWR4cywgbnVtOworCWludCBuZXdleHRlbnRzID0gYmxvY2tzOworCisJcmNhcCA9IGV4dDRfZXh0X3NwYWNlX3Jvb3RfaWR4KGlub2RlKTsKKwlsY2FwID0gZXh0NF9leHRfc3BhY2VfYmxvY2soaW5vZGUpOworCWljYXAgPSBleHQ0X2V4dF9zcGFjZV9ibG9ja19pZHgoaW5vZGUpOworCisJLyogbnVtYmVyIG9mIG5ldyBsZWFmIGJsb2NrcyBuZWVkZWQgKi8KKwludW0gPSBsZWFmcyA9IChuZXdleHRlbnRzICsgbGNhcCAtIDEpIC8gbGNhcDsKKworCS8qCisJICogV29yc2UgY2FzZSwgd2UgbmVlZCBzZXBhcmF0ZSBpbmRleCBibG9jayhzKQorCSAqIHRvIGxpbmsgYWxsIG5ldyBsZWFmIGJsb2NrcworCSAqLworCWlkeHMgPSAobGVhZnMgKyBpY2FwIC0gMSkgLyBpY2FwOworCWRvIHsKKwkJbnVtICs9IGlkeHM7CisJCWlkeHMgPSAoaWR4cyArIGljYXAgLSAxKSAvIGljYXA7CisJfSB3aGlsZSAoaWR4cyA+IHJjYXApOworCisJcmV0dXJuIG51bTsKK30KKwogc3RhdGljIGludAogZXh0NF9leHRfbWF4X2VudHJpZXMoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGRlcHRoKQogewpAQCAtNTI0LDYgKzU1Niw3IEBACiAJCWFsbG9jID0gMTsKIAl9CiAJcGF0aFswXS5wX2hkciA9IGVoOworCXBhdGhbMF0ucF9iaCA9IE5VTEw7CiAKIAlpID0gZGVwdGg7CiAJLyogd2FsayB0aHJvdWdoIHRoZSB0cmVlICovCkBAIC01NTIsMTIgKzU4NSwxNCBAQAogCX0KIAogCXBhdGhbcHBvc10ucF9kZXB0aCA9IGk7Ci0JcGF0aFtwcG9zXS5wX2hkciA9IGVoOwogCXBhdGhbcHBvc10ucF9leHQgPSBOVUxMOwogCXBhdGhbcHBvc10ucF9pZHggPSBOVUxMOwogCiAJLyogZmluZCBleHRlbnQgKi8KIAlleHQ0X2V4dF9iaW5zZWFyY2goaW5vZGUsIHBhdGggKyBwcG9zLCBibG9jayk7CisJLyogaWYgbm90IGFuIGVtcHR5IGxlYWYgKi8KKwlpZiAocGF0aFtwcG9zXS5wX2V4dCkKKwkJcGF0aFtwcG9zXS5wX2Jsb2NrID0gZXh0X3BibG9jayhwYXRoW3Bwb3NdLnBfZXh0KTsKIAogCWV4dDRfZXh0X3Nob3dfcGF0aChpbm9kZSwgcGF0aCk7CiAKQEAgLTY4OCw3ICs3MjMsOCBAQAogCS8qIGFsbG9jYXRlIGFsbCBuZWVkZWQgYmxvY2tzICovCiAJZXh0X2RlYnVnKCJhbGxvY2F0ZSAlZCBibG9ja3MgZm9yIGluZGV4ZXMvbGVhZlxuIiwgZGVwdGggLSBhdCk7CiAJZm9yIChhID0gMDsgYSA8IGRlcHRoIC0gYXQ7IGErKykgewotCQluZXdibG9jayA9IGV4dDRfZXh0X25ld19ibG9jayhoYW5kbGUsIGlub2RlLCBwYXRoLCBuZXdleHQsICZlcnIpOworCQluZXdibG9jayA9IGV4dDRfZXh0X25ld19tZXRhX2Jsb2NrKGhhbmRsZSwgaW5vZGUsIHBhdGgsCisJCQkJCQkgICBuZXdleHQsICZlcnIpOwogCQlpZiAobmV3YmxvY2sgPT0gMCkKIAkJCWdvdG8gY2xlYW51cDsKIAkJYWJsb2Nrc1thXSA9IG5ld2Jsb2NrOwpAQCAtODg0LDcgKzkyMCw3IEBACiAJZXh0NF9mc2Jsa190IG5ld2Jsb2NrOwogCWludCBlcnIgPSAwOwogCi0JbmV3YmxvY2sgPSBleHQ0X2V4dF9uZXdfYmxvY2soaGFuZGxlLCBpbm9kZSwgcGF0aCwgbmV3ZXh0LCAmZXJyKTsKKwluZXdibG9jayA9IGV4dDRfZXh0X25ld19tZXRhX2Jsb2NrKGhhbmRsZSwgaW5vZGUsIHBhdGgsIG5ld2V4dCwgJmVycik7CiAJaWYgKG5ld2Jsb2NrID09IDApCiAJCXJldHVybiBlcnI7CiAKQEAgLTk4MSw2ICsxMDE3LDggQEAKIAkJLyogaWYgd2UgZm91bmQgaW5kZXggd2l0aCBmcmVlIGVudHJ5LCB0aGVuIHVzZSB0aGF0CiAJCSAqIGVudHJ5OiBjcmVhdGUgYWxsIG5lZWRlZCBzdWJ0cmVlIGFuZCBhZGQgbmV3IGxlYWYgKi8KIAkJZXJyID0gZXh0NF9leHRfc3BsaXQoaGFuZGxlLCBpbm9kZSwgcGF0aCwgbmV3ZXh0LCBpKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gb3V0OwogCiAJCS8qIHJlZmlsbCBwYXRoICovCiAJCWV4dDRfZXh0X2Ryb3BfcmVmcyhwYXRoKTsKQEAgLTE4ODMsMTEgKzE5MjEsOSBAQAogCQljcmVkaXRzICs9IDIgKiBFWFQ0X1FVT1RBX1RSQU5TX0JMT0NLUyhpbm9kZS0+aV9zYik7CiAjZW5kaWYKIAotCQloYW5kbGUgPSBleHQ0X2V4dF9qb3VybmFsX3Jlc3RhcnQoaGFuZGxlLCBjcmVkaXRzKTsKLQkJaWYgKElTX0VSUihoYW5kbGUpKSB7Ci0JCQllcnIgPSBQVFJfRVJSKGhhbmRsZSk7CisJCWVyciA9IGV4dDRfZXh0X2pvdXJuYWxfcmVzdGFydChoYW5kbGUsIGNyZWRpdHMpOworCQlpZiAoZXJyKQogCQkJZ290byBvdXQ7Ci0JCX0KIAogCQllcnIgPSBleHQ0X2V4dF9nZXRfYWNjZXNzKGhhbmRsZSwgaW5vZGUsIHBhdGggKyBkZXB0aCk7CiAJCWlmIChlcnIpCkBAIC0yNTI5LDYgKzI1NjUsNyBAQAogCWludCBlcnIgPSAwLCBkZXB0aCwgcmV0OwogCXVuc2lnbmVkIGxvbmcgYWxsb2NhdGVkID0gMDsKIAlzdHJ1Y3QgZXh0NF9hbGxvY2F0aW9uX3JlcXVlc3QgYXI7CisJbG9mZl90IGRpc2tzaXplOwogCiAJX19jbGVhcl9iaXQoQkhfTmV3LCAmYmhfcmVzdWx0LT5iX3N0YXRlKTsKIAlleHRfZGVidWcoImJsb2NrcyAldS8lbHUgcmVxdWVzdGVkIGZvciBpbm9kZSAldVxuIiwKQEAgLTI2MTYsOCArMjY1Myw3IEBACiAJCQkJICovCiAJCQkJaWYgKGFsbG9jYXRlZCA+IG1heF9ibG9ja3MpCiAJCQkJCWFsbG9jYXRlZCA9IG1heF9ibG9ja3M7Ci0JCQkJLyogbWFyayB0aGUgYnVmZmVyIHVud3JpdHRlbiAqLwotCQkJCV9fc2V0X2JpdChCSF9VbndyaXR0ZW4sICZiaF9yZXN1bHQtPmJfc3RhdGUpOworCQkJCXNldF9idWZmZXJfdW53cml0dGVuKGJoX3Jlc3VsdCk7CiAJCQkJZ290byBvdXQyOwogCQkJfQogCkBAIC0yNzE2LDE0ICsyNzUyLDE5IEBACiAJCWdvdG8gb3V0MjsKIAl9CiAKLQlpZiAoZXh0ZW5kX2Rpc2tzaXplICYmIGlub2RlLT5pX3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKQotCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gaW5vZGUtPmlfc2l6ZTsKLQogCS8qIHByZXZpb3VzIHJvdXRpbmUgY291bGQgdXNlIGJsb2NrIHdlIGFsbG9jYXRlZCAqLwogCW5ld2Jsb2NrID0gZXh0X3BibG9jaygmbmV3ZXgpOwogCWFsbG9jYXRlZCA9IGV4dDRfZXh0X2dldF9hY3R1YWxfbGVuKCZuZXdleCk7CiBvdXRuZXc6Ci0JX19zZXRfYml0KEJIX05ldywgJmJoX3Jlc3VsdC0+Yl9zdGF0ZSk7CisJaWYgKGV4dGVuZF9kaXNrc2l6ZSkgeworCQlkaXNrc2l6ZSA9ICgobG9mZl90KSBpYmxvY2sgKyBhci5sZW4pIDw8IGlub2RlLT5pX2Jsa2JpdHM7CisJCWlmIChkaXNrc2l6ZSA+IGlfc2l6ZV9yZWFkKGlub2RlKSkKKwkJCWRpc2tzaXplID0gaV9zaXplX3JlYWQoaW5vZGUpOworCQlpZiAoZGlza3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKQorCQkJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IGRpc2tzaXplOworCX0KKworCXNldF9idWZmZXJfbmV3KGJoX3Jlc3VsdCk7CiAKIAkvKiBDYWNoZSBvbmx5IHdoZW4gaXQgaXMgX25vdF8gYW4gdW5pbml0aWFsaXplZCBleHRlbnQgKi8KIAlpZiAoY3JlYXRlICE9IEVYVDRfQ1JFQVRFX1VOSU5JVElBTElaRURfRVhUKQpAQCAtMjczMyw3ICsyNzc0LDcgQEAKIAlpZiAoYWxsb2NhdGVkID4gbWF4X2Jsb2NrcykKIAkJYWxsb2NhdGVkID0gbWF4X2Jsb2NrczsKIAlleHQ0X2V4dF9zaG93X2xlYWYoaW5vZGUsIHBhdGgpOwotCV9fc2V0X2JpdChCSF9NYXBwZWQsICZiaF9yZXN1bHQtPmJfc3RhdGUpOworCXNldF9idWZmZXJfbWFwcGVkKGJoX3Jlc3VsdCk7CiAJYmhfcmVzdWx0LT5iX2JkZXYgPSBpbm9kZS0+aV9zYi0+c19iZGV2OwogCWJoX3Jlc3VsdC0+Yl9ibG9ja25yID0gbmV3YmxvY2s7CiBvdXQyOgpAQCAtMjc0NCw3ICsyNzg1LDcgQEAKIAlyZXR1cm4gZXJyID8gZXJyIDogYWxsb2NhdGVkOwogfQogCi12b2lkIGV4dDRfZXh0X3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgcGFnZSAqcGFnZSkKK3ZvaWQgZXh0NF9leHRfdHJ1bmNhdGUoc3RydWN0IGlub2RlICppbm9kZSkKIHsKIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGlub2RlLT5pX21hcHBpbmc7CiAJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGlub2RlLT5pX3NiOwpAQCAtMjc1NywxOCArMjc5OCwxNCBAQAogCSAqLwogCWVyciA9IGV4dDRfd3JpdGVwYWdlX3RyYW5zX2Jsb2Nrcyhpbm9kZSkgKyAzOwogCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgZXJyKTsKLQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLQkJaWYgKHBhZ2UpIHsKLQkJCWNsZWFyX2hpZ2hwYWdlKHBhZ2UpOwotCQkJZmx1c2hfZGNhY2hlX3BhZ2UocGFnZSk7Ci0JCQl1bmxvY2tfcGFnZShwYWdlKTsKLQkJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKLQkJfQorCWlmIChJU19FUlIoaGFuZGxlKSkKIAkJcmV0dXJuOwotCX0KIAotCWlmIChwYWdlKQotCQlleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlLCBwYWdlLCBtYXBwaW5nLCBpbm9kZS0+aV9zaXplKTsKKwlpZiAoaW5vZGUtPmlfc2l6ZSAmIChzYi0+c19ibG9ja3NpemUgLSAxKSkKKwkJZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZSwgbWFwcGluZywgaW5vZGUtPmlfc2l6ZSk7CisKKwlpZiAoZXh0NF9vcnBoYW5fYWRkKGhhbmRsZSwgaW5vZGUpKQorCQlnb3RvIG91dF9zdG9wOwogCiAJZG93bl93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CiAJZXh0NF9leHRfaW52YWxpZGF0ZV9jYWNoZShpbm9kZSk7CkBAIC0yNzgwLDggKzI4MTcsNiBAQAogCSAqIFByb2JhYmx5IHdlIG5lZWQgbm90IHNjYW4gYXQgYWxsLAogCSAqIGJlY2F1c2UgcGFnZSB0cnVuY2F0aW9uIGlzIGVub3VnaC4KIAkgKi8KLQlpZiAoZXh0NF9vcnBoYW5fYWRkKGhhbmRsZSwgaW5vZGUpKQotCQlnb3RvIG91dF9zdG9wOwogCiAJLyogd2UgaGF2ZSB0byBrbm93IHdoZXJlIHRvIHRydW5jYXRlIGZyb20gaW4gY3Jhc2ggY2FzZSAqLwogCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBpbm9kZS0+aV9zaXplOwpAQCAtMjc5OCw2ICsyODMzLDcgQEAKIAkJaGFuZGxlLT5oX3N5bmMgPSAxOwogCiBvdXRfc3RvcDoKKwl1cF93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CiAJLyoKIAkgKiBJZiB0aGlzIHdhcyBhIHNpbXBsZSBmdHJ1bmNhdGUoKSBhbmQgdGhlIGZpbGUgd2lsbCByZW1haW4gYWxpdmUsCiAJICogdGhlbiB3ZSBuZWVkIHRvIGNsZWFyIHVwIHRoZSBvcnBoYW4gcmVjb3JkIHdoaWNoIHdlIGNyZWF0ZWQgYWJvdmUuCkBAIC0yODA4LDcgKzI4NDQsNiBAQAogCWlmIChpbm9kZS0+aV9ubGluaykKIAkJZXh0NF9vcnBoYW5fZGVsKGhhbmRsZSwgaW5vZGUpOwogCi0JdXBfd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOwogCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfY3RpbWUgPSBleHQ0X2N1cnJlbnRfdGltZShpbm9kZSk7CiAJZXh0NF9tYXJrX2lub2RlX2RpcnR5KGhhbmRsZSwgaW5vZGUpOwogCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CkBAIC0yOTExLDcgKzI5NDYsNyBAQAogCQl9CiAJCXJldCA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZSwgaW5vZGUsIGJsb2NrLAogCQkJCQkgIG1heF9ibG9ja3MsICZtYXBfYmgsCi0JCQkJCSAgRVhUNF9DUkVBVEVfVU5JTklUSUFMSVpFRF9FWFQsIDApOworCQkJCQkgIEVYVDRfQ1JFQVRFX1VOSU5JVElBTElaRURfRVhULCAwLCAwKTsKIAkJaWYgKHJldCA8PSAwKSB7CiAjaWZkZWYgRVhUNEZTX0RFQlVHCiAJCQlXQVJOX09OKHJldCA8PSAwKTsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZmlsZS5jIGIvZnMvZXh0NC9maWxlLmMKaW5kZXggNDE1OWJlNi4uNDMwZWI3OSAxMDA2NDQKLS0tIGEvZnMvZXh0NC9maWxlLmMKKysrIGIvZnMvZXh0NC9maWxlLmMKQEAgLTEyMyw2ICsxMjMsMjMgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgc3RydWN0IHZtX29wZXJhdGlvbnNfc3RydWN0IGV4dDRfZmlsZV92bV9vcHMgPSB7CisJLmZhdWx0CQk9IGZpbGVtYXBfZmF1bHQsCisJLnBhZ2VfbWt3cml0ZSAgID0gZXh0NF9wYWdlX21rd3JpdGUsCit9OworCitzdGF0aWMgaW50IGV4dDRfZmlsZV9tbWFwKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKK3sKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGZpbGUtPmZfbWFwcGluZzsKKworCWlmICghbWFwcGluZy0+YV9vcHMtPnJlYWRwYWdlKQorCQlyZXR1cm4gLUVOT0VYRUM7CisJZmlsZV9hY2Nlc3NlZChmaWxlKTsKKwl2bWEtPnZtX29wcyA9ICZleHQ0X2ZpbGVfdm1fb3BzOworCXZtYS0+dm1fZmxhZ3MgfD0gVk1fQ0FOX05PTkxJTkVBUjsKKwlyZXR1cm4gMDsKK30KKwogY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBleHQ0X2ZpbGVfb3BlcmF0aW9ucyA9IHsKIAkubGxzZWVrCQk9IGdlbmVyaWNfZmlsZV9sbHNlZWssCiAJLnJlYWQJCT0gZG9fc3luY19yZWFkLApAQCAtMTMzLDcgKzE1MCw3IEBACiAjaWZkZWYgQ09ORklHX0NPTVBBVAogCS5jb21wYXRfaW9jdGwJPSBleHQ0X2NvbXBhdF9pb2N0bCwKICNlbmRpZgotCS5tbWFwCQk9IGdlbmVyaWNfZmlsZV9tbWFwLAorCS5tbWFwCQk9IGV4dDRfZmlsZV9tbWFwLAogCS5vcGVuCQk9IGdlbmVyaWNfZmlsZV9vcGVuLAogCS5yZWxlYXNlCT0gZXh0NF9yZWxlYXNlX2ZpbGUsCiAJLmZzeW5jCQk9IGV4dDRfc3luY19maWxlLApAQCAtMTQ0LDYgKzE2MSw3IEBACiBjb25zdCBzdHJ1Y3QgaW5vZGVfb3BlcmF0aW9ucyBleHQ0X2ZpbGVfaW5vZGVfb3BlcmF0aW9ucyA9IHsKIAkudHJ1bmNhdGUJPSBleHQ0X3RydW5jYXRlLAogCS5zZXRhdHRyCT0gZXh0NF9zZXRhdHRyLAorCS5nZXRhdHRyCT0gZXh0NF9nZXRhdHRyLAogI2lmZGVmIENPTkZJR19FWFQ0REVWX0ZTX1hBVFRSCiAJLnNldHhhdHRyCT0gZ2VuZXJpY19zZXR4YXR0ciwKIAkuZ2V0eGF0dHIJPSBnZW5lcmljX2dldHhhdHRyLApkaWZmIC0tZ2l0IGEvZnMvZXh0NC9mc3luYy5jIGIvZnMvZXh0NC9mc3luYy5jCmluZGV4IDFjOGJhNDguLmE0NWMzNzMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZnN5bmMuYworKysgYi9mcy9leHQ0L2ZzeW5jLmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3dyaXRlYmFjay5oPgogI2luY2x1ZGUgPGxpbnV4L2piZDIuaD4KKyNpbmNsdWRlIDxsaW51eC9ibGtkZXYuaD4KICNpbmNsdWRlICJleHQ0LmgiCiAjaW5jbHVkZSAiZXh0NF9qYmQyLmgiCiAKQEAgLTQ1LDYgKzQ2LDcgQEAKIGludCBleHQ0X3N5bmNfZmlsZShzdHJ1Y3QgZmlsZSAqIGZpbGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgaW50IGRhdGFzeW5jKQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CisJam91cm5hbF90ICpqb3VybmFsID0gRVhUNF9TQihpbm9kZS0+aV9zYiktPnNfam91cm5hbDsKIAlpbnQgcmV0ID0gMDsKIAogCUpfQVNTRVJUKGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpID09IE5VTEwpOwpAQCAtODUsNiArODcsOCBAQAogCQkJLm5yX3RvX3dyaXRlID0gMCwgLyogc3lzX2ZzeW5jIGRpZCB0aGlzICovCiAJCX07CiAJCXJldCA9IHN5bmNfaW5vZGUoaW5vZGUsICZ3YmMpOworCQlpZiAoam91cm5hbCAmJiAoam91cm5hbC0+al9mbGFncyAmIEpCRDJfQkFSUklFUikpCisJCQlibGtkZXZfaXNzdWVfZmx1c2goaW5vZGUtPmlfc2ItPnNfYmRldiwgTlVMTCk7CiAJfQogb3V0OgogCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9mcy9leHQ0L2dyb3VwLmggYi9mcy9leHQ0L2dyb3VwLmgKaW5kZXggN2ViMDYwNC4uYzJjMGE4ZCAxMDA2NDQKLS0tIGEvZnMvZXh0NC9ncm91cC5oCisrKyBiL2ZzL2V4dDQvZ3JvdXAuaApAQCAtMTMsNyArMTMsNyBAQAogCQkJCSAgIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmdkcCk7CiBleHRlcm4gaW50IGV4dDRfZ3JvdXBfZGVzY19jc3VtX3ZlcmlmeShzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmksIF9fdTMyIGdyb3VwLAogCQkJCSAgICAgICBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpnZHApOwotc3RydWN0IGJ1ZmZlcl9oZWFkICpyZWFkX2Jsb2NrX2JpdG1hcChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAorc3RydWN0IGJ1ZmZlcl9oZWFkICpleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQkJICAgICAgZXh0NF9ncm91cF90IGJsb2NrX2dyb3VwKTsKIGV4dGVybiB1bnNpZ25lZCBleHQ0X2luaXRfYmxvY2tfYml0bWFwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQkJICAgICAgIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgsCmRpZmYgLS1naXQgYS9mcy9leHQ0L2lhbGxvYy5jIGIvZnMvZXh0NC9pYWxsb2MuYwppbmRleCBjNmVmYmFiLi5hOTJlYjMwIDEwMDY0NAotLS0gYS9mcy9leHQ0L2lhbGxvYy5jCisrKyBiL2ZzL2V4dDQvaWFsbG9jLmMKQEAgLTE1Nyw2ICsxNTcsNyBAQAogCXN0cnVjdCBleHQ0X3N1cGVyX2Jsb2NrICogZXM7CiAJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpOwogCWludCBmYXRhbCA9IDAsIGVycjsKKwlleHQ0X2dyb3VwX3QgZmxleF9ncm91cDsKIAogCWlmIChhdG9taWNfcmVhZCgmaW5vZGUtPmlfY291bnQpID4gMSkgewogCQlwcmludGsgKCJleHQ0X2ZyZWVfaW5vZGU6IGlub2RlIGhhcyBjb3VudD0lZFxuIiwKQEAgLTIzMiw2ICsyMzMsMTIgQEAKIAkJCWlmIChpc19kaXJlY3RvcnkpCiAJCQkJcGVyY3B1X2NvdW50ZXJfZGVjKCZzYmktPnNfZGlyc19jb3VudGVyKTsKIAorCQkJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCQkJZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGJsb2NrX2dyb3VwKTsKKwkJCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCQkJc2JpLT5zX2ZsZXhfZ3JvdXBzW2ZsZXhfZ3JvdXBdLmZyZWVfaW5vZGVzKys7CisJCQkJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCQl9CiAJCX0KIAkJQlVGRkVSX1RSQUNFKGJoMiwgImNhbGwgZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhIik7CiAJCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJoMik7CkBAIC0yODYsNiArMjkzLDgwIEBACiAJcmV0dXJuIHJldDsKIH0KIAorI2RlZmluZSBmcmVlX2Jsb2NrX3JhdGlvIDEwCisKK3N0YXRpYyBpbnQgZmluZF9ncm91cF9mbGV4KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBpbm9kZSAqcGFyZW50LAorCQkJICAgZXh0NF9ncm91cF90ICpiZXN0X2dyb3VwKQoreworCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOworCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2M7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKKwlzdHJ1Y3QgZmxleF9ncm91cHMgKmZsZXhfZ3JvdXAgPSBzYmktPnNfZmxleF9ncm91cHM7CisJZXh0NF9ncm91cF90IHBhcmVudF9ncm91cCA9IEVYVDRfSShwYXJlbnQpLT5pX2Jsb2NrX2dyb3VwOworCWV4dDRfZ3JvdXBfdCBwYXJlbnRfZmJnX2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgcGFyZW50X2dyb3VwKTsKKwlleHQ0X2dyb3VwX3Qgbmdyb3VwcyA9IHNiaS0+c19ncm91cHNfY291bnQ7CisJaW50IGZsZXhfc2l6ZSA9IGV4dDRfZmxleF9iZ19zaXplKHNiaSk7CisJZXh0NF9ncm91cF90IGJlc3RfZmxleCA9IHBhcmVudF9mYmdfZ3JvdXA7CisJaW50IGJsb2Nrc19wZXJfZmxleCA9IHNiaS0+c19ibG9ja3NfcGVyX2dyb3VwICogZmxleF9zaXplOworCWludCBmbGV4YmdfZnJlZV9ibG9ja3M7CisJaW50IGZsZXhfZnJlZWJfcmF0aW87CisJZXh0NF9ncm91cF90IG5fZmJnX2dyb3VwczsKKwlleHQ0X2dyb3VwX3QgaTsKKworCW5fZmJnX2dyb3VwcyA9IChzYmktPnNfZ3JvdXBzX2NvdW50ICsgZmxleF9zaXplIC0gMSkgPj4KKwkJc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXg7CisKK2ZpbmRfY2xvc2VfdG9fcGFyZW50OgorCWZsZXhiZ19mcmVlX2Jsb2NrcyA9IGZsZXhfZ3JvdXBbYmVzdF9mbGV4XS5mcmVlX2Jsb2NrczsKKwlmbGV4X2ZyZWViX3JhdGlvID0gZmxleGJnX2ZyZWVfYmxvY2tzICogMTAwIC8gYmxvY2tzX3Blcl9mbGV4OworCWlmIChmbGV4X2dyb3VwW2Jlc3RfZmxleF0uZnJlZV9pbm9kZXMgJiYKKwkgICAgZmxleF9mcmVlYl9yYXRpbyA+IGZyZWVfYmxvY2tfcmF0aW8pCisJCWdvdG8gZm91bmRfZmxleGJnOworCisJaWYgKGJlc3RfZmxleCAmJiBiZXN0X2ZsZXggPT0gcGFyZW50X2ZiZ19ncm91cCkgeworCQliZXN0X2ZsZXgtLTsKKwkJZ290byBmaW5kX2Nsb3NlX3RvX3BhcmVudDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbl9mYmdfZ3JvdXBzOyBpKyspIHsKKwkJaWYgKGkgPT0gcGFyZW50X2ZiZ19ncm91cCB8fCBpID09IHBhcmVudF9mYmdfZ3JvdXAgLSAxKQorCQkJY29udGludWU7CisKKwkJZmxleGJnX2ZyZWVfYmxvY2tzID0gZmxleF9ncm91cFtpXS5mcmVlX2Jsb2NrczsKKwkJZmxleF9mcmVlYl9yYXRpbyA9IGZsZXhiZ19mcmVlX2Jsb2NrcyAqIDEwMCAvIGJsb2Nrc19wZXJfZmxleDsKKworCQlpZiAoZmxleF9mcmVlYl9yYXRpbyA+IGZyZWVfYmxvY2tfcmF0aW8gJiYKKwkJICAgIGZsZXhfZ3JvdXBbaV0uZnJlZV9pbm9kZXMpIHsKKwkJCWJlc3RfZmxleCA9IGk7CisJCQlnb3RvIGZvdW5kX2ZsZXhiZzsKKwkJfQorCisJCWlmIChiZXN0X2ZsZXggPCAwIHx8CisJCSAgICAoZmxleF9ncm91cFtpXS5mcmVlX2Jsb2NrcyA+CisJCSAgICAgZmxleF9ncm91cFtiZXN0X2ZsZXhdLmZyZWVfYmxvY2tzICYmCisJCSAgICAgZmxleF9ncm91cFtpXS5mcmVlX2lub2RlcykpCisJCQliZXN0X2ZsZXggPSBpOworCX0KKworCWlmICghZmxleF9ncm91cFtiZXN0X2ZsZXhdLmZyZWVfaW5vZGVzIHx8CisJICAgICFmbGV4X2dyb3VwW2Jlc3RfZmxleF0uZnJlZV9ibG9ja3MpCisJCXJldHVybiAtMTsKKworZm91bmRfZmxleGJnOgorCWZvciAoaSA9IGJlc3RfZmxleCAqIGZsZXhfc2l6ZTsgaSA8IG5ncm91cHMgJiYKKwkJICAgICBpIDwgKGJlc3RfZmxleCArIDEpICogZmxleF9zaXplOyBpKyspIHsKKwkJZGVzYyA9IGV4dDRfZ2V0X2dyb3VwX2Rlc2Moc2IsIGksICZiaCk7CisJCWlmIChsZTE2X3RvX2NwdShkZXNjLT5iZ19mcmVlX2lub2Rlc19jb3VudCkpIHsKKwkJCSpiZXN0X2dyb3VwID0gaTsKKwkJCWdvdG8gb3V0OworCQl9CisJfQorCisJcmV0dXJuIC0xOworb3V0OgorCXJldHVybiAwOworfQorCiAvKgogICogT3Jsb3YncyBhbGxvY2F0b3IgZm9yIGRpcmVjdG9yaWVzLgogICoKQEAgLTUwMSw2ICs1ODIsNyBAQAogCXN0cnVjdCBpbm9kZSAqcmV0OwogCWV4dDRfZ3JvdXBfdCBpOwogCWludCBmcmVlID0gMDsKKwlleHQ0X2dyb3VwX3QgZmxleF9ncm91cDsKIAogCS8qIENhbm5vdCBjcmVhdGUgZmlsZXMgaW4gYSBkZWxldGVkIGRpcmVjdG9yeSAqLwogCWlmICghZGlyIHx8ICFkaXItPmlfbmxpbmspCkBAIC01MTQsNiArNTk2LDEyIEBACiAKIAlzYmkgPSBFWFQ0X1NCKHNiKTsKIAllcyA9IHNiaS0+c19lczsKKworCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlyZXQyID0gZmluZF9ncm91cF9mbGV4KHNiLCBkaXIsICZncm91cCk7CisJCWdvdG8gZ290X2dyb3VwOworCX0KKwogCWlmIChTX0lTRElSKG1vZGUpKSB7CiAJCWlmICh0ZXN0X29wdCAoc2IsIE9MREFMTE9DKSkKIAkJCXJldDIgPSBmaW5kX2dyb3VwX2RpcihzYiwgZGlyLCAmZ3JvdXApOwpAQCAtNTIyLDYgKzYxMCw3IEBACiAJfSBlbHNlCiAJCXJldDIgPSBmaW5kX2dyb3VwX290aGVyKHNiLCBkaXIsICZncm91cCk7CiAKK2dvdF9ncm91cDoKIAllcnIgPSAtRU5PU1BDOwogCWlmIChyZXQyID09IC0xKQogCQlnb3RvIG91dDsKQEAgLTYwMCw3ICs2ODksNyBAQAogCS8qIFdlIG1heSBoYXZlIHRvIGluaXRpYWxpemUgdGhlIGJsb2NrIGJpdG1hcCBpZiBpdCBpc24ndCBhbHJlYWR5ICovCiAJaWYgKEVYVDRfSEFTX1JPX0NPTVBBVF9GRUFUVVJFKHNiLCBFWFQ0X0ZFQVRVUkVfUk9fQ09NUEFUX0dEVF9DU1VNKSAmJgogCSAgICBnZHAtPmJnX2ZsYWdzICYgY3B1X3RvX2xlMTYoRVhUNF9CR19CTE9DS19VTklOSVQpKSB7Ci0JCXN0cnVjdCBidWZmZXJfaGVhZCAqYmxvY2tfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOworCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJsb2NrX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOwogCiAJCUJVRkZFUl9UUkFDRShibG9ja19iaCwgImdldCBibG9jayBiaXRtYXAgYWNjZXNzIik7CiAJCWVyciA9IGV4dDRfam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKGhhbmRsZSwgYmxvY2tfYmgpOwpAQCAtNjc2LDYgKzc2NSwxMyBAQAogCQlwZXJjcHVfY291bnRlcl9pbmMoJnNiaS0+c19kaXJzX2NvdW50ZXIpOwogCXNiLT5zX2RpcnQgPSAxOwogCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCWZsZXhfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLCBncm91cCk7CisJCXNwaW5fbG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwkJc2JpLT5zX2ZsZXhfZ3JvdXBzW2ZsZXhfZ3JvdXBdLmZyZWVfaW5vZGVzLS07CisJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCX0KKwogCWlub2RlLT5pX3VpZCA9IGN1cnJlbnQtPmZzdWlkOwogCWlmICh0ZXN0X29wdCAoc2IsIEdSUElEKSkKIAkJaW5vZGUtPmlfZ2lkID0gZGlyLT5pX2dpZDsKQEAgLTc0MCwxNCArODM2LDEwIEBACiAJCWdvdG8gZmFpbF9mcmVlX2Ryb3A7CiAKIAlpZiAodGVzdF9vcHQoc2IsIEVYVEVOVFMpKSB7Ci0JCS8qIHNldCBleHRlbnQgZmxhZyBvbmx5IGZvciBkaXJldG9yeSwgZmlsZSBhbmQgbm9ybWFsIHN5bWxpbmsqLworCQkvKiBzZXQgZXh0ZW50IGZsYWcgb25seSBmb3IgZGlyZWN0b3J5LCBmaWxlIGFuZCBub3JtYWwgc3ltbGluayovCiAJCWlmIChTX0lTRElSKG1vZGUpIHx8IFNfSVNSRUcobW9kZSkgfHwgU19JU0xOSyhtb2RlKSkgewogCQkJRVhUNF9JKGlub2RlKS0+aV9mbGFncyB8PSBFWFQ0X0VYVEVOVFNfRkw7CiAJCQlleHQ0X2V4dF90cmVlX2luaXQoaGFuZGxlLCBpbm9kZSk7Ci0JCQllcnIgPSBleHQ0X3VwZGF0ZV9pbmNvbXBhdF9mZWF0dXJlKGhhbmRsZSwgc2IsCi0JCQkJCUVYVDRfRkVBVFVSRV9JTkNPTVBBVF9FWFRFTlRTKTsKLQkJCWlmIChlcnIpCi0JCQkJZ290byBmYWlsX2ZyZWVfZHJvcDsKIAkJfQogCX0KIApAQCAtODE3LDYgKzkwOSwxNCBAQAogCWlmIChJU19FUlIoaW5vZGUpKQogCQlnb3RvIGlnZXRfZmFpbGVkOwogCisJLyoKKwkgKiBJZiB0aGUgb3JwaGFucyBoYXMgaV9ubGlua3MgPiAwIHRoZW4gaXQgc2hvdWxkIGJlIGFibGUgdG8gYmUKKwkgKiB0cnVuY2F0ZWQsIG90aGVyd2lzZSBpdCB3b24ndCBiZSByZW1vdmVkIGZyb20gdGhlIG9ycGhhbiBsaXN0CisJICogZHVyaW5nIHByb2Nlc3NpbmcgYW5kIGFuIGluZmluaXRlIGxvb3Agd2lsbCByZXN1bHQuCisJICovCisJaWYgKGlub2RlLT5pX25saW5rICYmICFleHQ0X2Nhbl90cnVuY2F0ZShpbm9kZSkpCisJCWdvdG8gYmFkX29ycGhhbjsKKwogCWlmIChORVhUX09SUEhBTihpbm9kZSkgPiBtYXhfaW5vKQogCQlnb3RvIGJhZF9vcnBoYW47CiAJYnJlbHNlKGJpdG1hcF9iaCk7CkBAIC04MzgsNiArOTM4LDcgQEAKIAkJcHJpbnRrKEtFUk5fTk9USUNFICJORVhUX09SUEhBTihpbm9kZSk9JXVcbiIsCiAJCSAgICAgICBORVhUX09SUEhBTihpbm9kZSkpOwogCQlwcmludGsoS0VSTl9OT1RJQ0UgIm1heF9pbm89JWx1XG4iLCBtYXhfaW5vKTsKKwkJcHJpbnRrKEtFUk5fTk9USUNFICJpX25saW5rPSV1XG4iLCBpbm9kZS0+aV9ubGluayk7CiAJCS8qIEF2b2lkIGZyZWVpbmcgYmxvY2tzIGlmIHdlIGdvdCBhIGJhZCBkZWxldGVkIGlub2RlICovCiAJCWlmIChpbm9kZS0+aV9ubGluayA9PSAwKQogCQkJaW5vZGUtPmlfYmxvY2tzID0gMDsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvaW5vZGUuYyBiL2ZzL2V4dDQvaW5vZGUuYwppbmRleCA4ZDk3MDc3Li44Y2EyNzYzIDEwMDY0NAotLS0gYS9mcy9leHQ0L2lub2RlLmMKKysrIGIvZnMvZXh0NC9pbm9kZS5jCkBAIC0zMiwxMiArMzIsMjMgQEAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9idWZmZXJfaGVhZC5oPgogI2luY2x1ZGUgPGxpbnV4L3dyaXRlYmFjay5oPgorI2luY2x1ZGUgPGxpbnV4L3BhZ2V2ZWMuaD4KICNpbmNsdWRlIDxsaW51eC9tcGFnZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgogI2luY2x1ZGUgPGxpbnV4L2Jpby5oPgogI2luY2x1ZGUgImV4dDRfamJkMi5oIgogI2luY2x1ZGUgInhhdHRyLmgiCiAjaW5jbHVkZSAiYWNsLmgiCisjaW5jbHVkZSAiZXh0NF9leHRlbnRzLmgiCisKK3N0YXRpYyBpbmxpbmUgaW50IGV4dDRfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCQkgICAgICBsb2ZmX3QgbmV3X3NpemUpCit7CisJcmV0dXJuIGpiZDJfam91cm5hbF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKCZFWFQ0X0koaW5vZGUpLT5qaW5vZGUsCisJCQkJCQkgICBuZXdfc2l6ZSk7Cit9CisKK3N0YXRpYyB2b2lkIGV4dDRfaW52YWxpZGF0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKIAogLyoKICAqIFRlc3Qgd2hldGhlciBhbiBpbm9kZSBpcyBhIGZhc3Qgc3ltbGluay4KQEAgLTE4MSw2ICsxOTIsOCBAQAogewogCWhhbmRsZV90ICpoYW5kbGU7CiAKKwlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpCisJCWV4dDRfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZShpbm9kZSwgMCk7CiAJdHJ1bmNhdGVfaW5vZGVfcGFnZXMoJmlub2RlLT5pX2RhdGEsIDApOwogCiAJaWYgKGlzX2JhZF9pbm9kZShpbm9kZSkpCkBAIC01MDgsMTEgKzUyMSwxMiBAQAogICoJCWRpcmVjdCBibG9ja3MKICAqLwogc3RhdGljIGludCBleHQ0X2FsbG9jX2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJZXh0NF9mc2Jsa190IGdvYWwsIGludCBpbmRpcmVjdF9ibGtzLCBpbnQgYmxrcywKLQkJCWV4dDRfZnNibGtfdCBuZXdfYmxvY2tzWzRdLCBpbnQgKmVycikKKwkJCQlleHQ0X2xibGtfdCBpYmxvY2ssIGV4dDRfZnNibGtfdCBnb2FsLAorCQkJCWludCBpbmRpcmVjdF9ibGtzLCBpbnQgYmxrcywKKwkJCQlleHQ0X2ZzYmxrX3QgbmV3X2Jsb2Nrc1s0XSwgaW50ICplcnIpCiB7CiAJaW50IHRhcmdldCwgaTsKLQl1bnNpZ25lZCBsb25nIGNvdW50ID0gMDsKKwl1bnNpZ25lZCBsb25nIGNvdW50ID0gMCwgYmxrX2FsbG9jYXRlZCA9IDA7CiAJaW50IGluZGV4ID0gMDsKIAlleHQ0X2ZzYmxrX3QgY3VycmVudF9ibG9jayA9IDA7CiAJaW50IHJldCA9IDA7CkBAIC01MjUsMTIgKzUzOSwxMyBAQAogCSAqIHRoZSBmaXJzdCBkaXJlY3QgYmxvY2sgb2YgdGhpcyBicmFuY2guICBUaGF0J3MgdGhlCiAJICogbWluaW11bSBudW1iZXIgb2YgYmxvY2tzIG5lZWQgdG8gYWxsb2NhdGUocmVxdWlyZWQpCiAJICovCi0JdGFyZ2V0ID0gYmxrcyArIGluZGlyZWN0X2Jsa3M7Ci0KLQl3aGlsZSAoMSkgeworCS8qIGZpcnN0IHdlIHRyeSB0byBhbGxvY2F0ZSB0aGUgaW5kaXJlY3QgYmxvY2tzICovCisJdGFyZ2V0ID0gaW5kaXJlY3RfYmxrczsKKwl3aGlsZSAodGFyZ2V0ID4gMCkgewogCQljb3VudCA9IHRhcmdldDsKIAkJLyogYWxsb2NhdGluZyBibG9ja3MgZm9yIGluZGlyZWN0IGJsb2NrcyBhbmQgZGlyZWN0IGJsb2NrcyAqLwotCQljdXJyZW50X2Jsb2NrID0gZXh0NF9uZXdfYmxvY2tzKGhhbmRsZSxpbm9kZSxnb2FsLCZjb3VudCxlcnIpOworCQljdXJyZW50X2Jsb2NrID0gZXh0NF9uZXdfbWV0YV9ibG9ja3MoaGFuZGxlLCBpbm9kZSwKKwkJCQkJCQlnb2FsLCAmY291bnQsIGVycik7CiAJCWlmICgqZXJyKQogCQkJZ290byBmYWlsZWRfb3V0OwogCkBAIC01NDAsMTYgKzU1NSw0OCBAQAogCQkJbmV3X2Jsb2Nrc1tpbmRleCsrXSA9IGN1cnJlbnRfYmxvY2srKzsKIAkJCWNvdW50LS07CiAJCX0KLQotCQlpZiAoY291bnQgPiAwKQorCQlpZiAoY291bnQgPiAwKSB7CisJCQkvKgorCQkJICogc2F2ZSB0aGUgbmV3IGJsb2NrIG51bWJlcgorCQkJICogZm9yIHRoZSBmaXJzdCBkaXJlY3QgYmxvY2sKKwkJCSAqLworCQkJbmV3X2Jsb2Nrc1tpbmRleF0gPSBjdXJyZW50X2Jsb2NrOworCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXMgcmV0dXJuZWQgbW9yZSBibG9ja3MgdGhhbiAiCisJCQkJCQkicmVxdWVzdGVkXG4iLCBfX2Z1bmNfXyk7CisJCQlXQVJOX09OKDEpOwogCQkJYnJlYWs7CisJCX0KIAl9CiAKLQkvKiBzYXZlIHRoZSBuZXcgYmxvY2sgbnVtYmVyIGZvciB0aGUgZmlyc3QgZGlyZWN0IGJsb2NrICovCi0JbmV3X2Jsb2Nrc1tpbmRleF0gPSBjdXJyZW50X2Jsb2NrOwotCisJdGFyZ2V0ID0gYmxrcyAtIGNvdW50IDsKKwlibGtfYWxsb2NhdGVkID0gY291bnQ7CisJaWYgKCF0YXJnZXQpCisJCWdvdG8gYWxsb2NhdGVkOworCS8qIE5vdyBhbGxvY2F0ZSBkYXRhIGJsb2NrcyAqLworCWNvdW50ID0gdGFyZ2V0OworCS8qIGFsbG9jYXRpbmcgYmxvY2tzIGZvciBkYXRhIGJsb2NrcyAqLworCWN1cnJlbnRfYmxvY2sgPSBleHQ0X25ld19ibG9ja3MoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLAorCQkJCQkJZ29hbCwgJmNvdW50LCBlcnIpOworCWlmICgqZXJyICYmICh0YXJnZXQgPT0gYmxrcykpIHsKKwkJLyoKKwkJICogaWYgdGhlIGFsbG9jYXRpb24gZmFpbGVkIGFuZCB3ZSBkaWRuJ3QgYWxsb2NhdGUKKwkJICogYW55IGJsb2NrcyBiZWZvcmUKKwkJICovCisJCWdvdG8gZmFpbGVkX291dDsKKwl9CisJaWYgKCEqZXJyKSB7CisJCWlmICh0YXJnZXQgPT0gYmxrcykgeworCQkvKgorCQkgKiBzYXZlIHRoZSBuZXcgYmxvY2sgbnVtYmVyCisJCSAqIGZvciB0aGUgZmlyc3QgZGlyZWN0IGJsb2NrCisJCSAqLworCQkJbmV3X2Jsb2Nrc1tpbmRleF0gPSBjdXJyZW50X2Jsb2NrOworCQl9CisJCWJsa19hbGxvY2F0ZWQgKz0gY291bnQ7CisJfQorYWxsb2NhdGVkOgogCS8qIHRvdGFsIG51bWJlciBvZiBibG9ja3MgYWxsb2NhdGVkIGZvciBkaXJlY3QgYmxvY2tzICovCi0JcmV0ID0gY291bnQ7CisJcmV0ID0gYmxrX2FsbG9jYXRlZDsKIAkqZXJyID0gMDsKIAlyZXR1cm4gcmV0OwogZmFpbGVkX291dDoKQEAgLTU4NCw4ICs2MzEsOSBAQAogICoJYXMgZGVzY3JpYmVkIGFib3ZlIGFuZCByZXR1cm4gMC4KICAqLwogc3RhdGljIGludCBleHQ0X2FsbG9jX2JyYW5jaChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJaW50IGluZGlyZWN0X2Jsa3MsIGludCAqYmxrcywgZXh0NF9mc2Jsa190IGdvYWwsCi0JCQlleHQ0X2xibGtfdCAqb2Zmc2V0cywgSW5kaXJlY3QgKmJyYW5jaCkKKwkJCQlleHQ0X2xibGtfdCBpYmxvY2ssIGludCBpbmRpcmVjdF9ibGtzLAorCQkJCWludCAqYmxrcywgZXh0NF9mc2Jsa190IGdvYWwsCisJCQkJZXh0NF9sYmxrX3QgKm9mZnNldHMsIEluZGlyZWN0ICpicmFuY2gpCiB7CiAJaW50IGJsb2Nrc2l6ZSA9IGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZTsKIAlpbnQgaSwgbiA9IDA7CkBAIC01OTUsNyArNjQzLDcgQEAKIAlleHQ0X2ZzYmxrX3QgbmV3X2Jsb2Nrc1s0XTsKIAlleHQ0X2ZzYmxrX3QgY3VycmVudF9ibG9jazsKIAotCW51bSA9IGV4dDRfYWxsb2NfYmxvY2tzKGhhbmRsZSwgaW5vZGUsIGdvYWwsIGluZGlyZWN0X2Jsa3MsCisJbnVtID0gZXh0NF9hbGxvY19ibG9ja3MoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLCBnb2FsLCBpbmRpcmVjdF9ibGtzLAogCQkJCSpibGtzLCBuZXdfYmxvY2tzLCAmZXJyKTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwpAQCAtNzk5LDYgKzg0Nyw3IEBACiAJc3RydWN0IGV4dDRfaW5vZGVfaW5mbyAqZWkgPSBFWFQ0X0koaW5vZGUpOwogCWludCBjb3VudCA9IDA7CiAJZXh0NF9mc2Jsa190IGZpcnN0X2Jsb2NrID0gMDsKKwlsb2ZmX3QgZGlza3NpemU7CiAKIAogCUpfQVNTRVJUKCEoRVhUNF9JKGlub2RlKS0+aV9mbGFncyAmIEVYVDRfRVhURU5UU19GTCkpOwpAQCAtODU1LDggKzkwNCw5IEBACiAJLyoKIAkgKiBCbG9jayBvdXQgZXh0NF90cnVuY2F0ZSB3aGlsZSB3ZSBhbHRlciB0aGUgdHJlZQogCSAqLwotCWVyciA9IGV4dDRfYWxsb2NfYnJhbmNoKGhhbmRsZSwgaW5vZGUsIGluZGlyZWN0X2Jsa3MsICZjb3VudCwgZ29hbCwKLQkJCQlvZmZzZXRzICsgKHBhcnRpYWwgLSBjaGFpbiksIHBhcnRpYWwpOworCWVyciA9IGV4dDRfYWxsb2NfYnJhbmNoKGhhbmRsZSwgaW5vZGUsIGlibG9jaywgaW5kaXJlY3RfYmxrcywKKwkJCQkJJmNvdW50LCBnb2FsLAorCQkJCQlvZmZzZXRzICsgKHBhcnRpYWwgLSBjaGFpbiksIHBhcnRpYWwpOwogCiAJLyoKIAkgKiBUaGUgZXh0NF9zcGxpY2VfYnJhbmNoIGNhbGwgd2lsbCBmcmVlIGFuZCBmb3JnZXQgYW55IGJ1ZmZlcnMKQEAgLTg3Myw4ICs5MjMsMTMgQEAKIAkgKiBwcm90ZWN0IGl0IGlmIHlvdSdyZSBhYm91dCB0byBpbXBsZW1lbnQgY29uY3VycmVudAogCSAqIGV4dDRfZ2V0X2Jsb2NrKCkgLWJ6enoKIAkqLwotCWlmICghZXJyICYmIGV4dGVuZF9kaXNrc2l6ZSAmJiBpbm9kZS0+aV9zaXplID4gZWktPmlfZGlza3NpemUpCi0JCWVpLT5pX2Rpc2tzaXplID0gaW5vZGUtPmlfc2l6ZTsKKwlpZiAoIWVyciAmJiBleHRlbmRfZGlza3NpemUpIHsKKwkJZGlza3NpemUgPSAoKGxvZmZfdCkgaWJsb2NrICsgY291bnQpIDw8IGlub2RlLT5pX2Jsa2JpdHM7CisJCWlmIChkaXNrc2l6ZSA+IGlfc2l6ZV9yZWFkKGlub2RlKSkKKwkJCWRpc2tzaXplID0gaV9zaXplX3JlYWQoaW5vZGUpOworCQlpZiAoZGlza3NpemUgPiBlaS0+aV9kaXNrc2l6ZSkKKwkJCWVpLT5pX2Rpc2tzaXplID0gZGlza3NpemU7CisJfQogCWlmIChlcnIpCiAJCWdvdG8gY2xlYW51cDsKIApAQCAtOTM0LDcgKzk4OSw3IEBACiAgKi8KIGludCBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzZWN0b3JfdCBibG9jaywKIAkJCXVuc2lnbmVkIGxvbmcgbWF4X2Jsb2Nrcywgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwKLQkJCWludCBjcmVhdGUsIGludCBleHRlbmRfZGlza3NpemUpCisJCQlpbnQgY3JlYXRlLCBpbnQgZXh0ZW5kX2Rpc2tzaXplLCBpbnQgZmxhZykKIHsKIAlpbnQgcmV0dmFsOwogCkBAIC05NzUsNiArMTAzMCwxNSBAQAogCSAqIHdpdGggY3JlYXRlID09IDEgZmxhZy4KIAkgKi8KIAlkb3duX3dyaXRlKCgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSkpOworCisJLyoKKwkgKiBpZiB0aGUgY2FsbGVyIGlzIGZyb20gZGVsYXllZCBhbGxvY2F0aW9uIHdyaXRlb3V0IHBhdGgKKwkgKiB3ZSBoYXZlIGFscmVhZHkgcmVzZXJ2ZWQgZnMgYmxvY2tzIGZvciBhbGxvY2F0aW9uCisJICogbGV0IHRoZSB1bmRlcmx5aW5nIGdldF9ibG9jaygpIGZ1bmN0aW9uIGtub3cgdG8KKwkgKiBhdm9pZCBkb3VibGUgYWNjb3VudGluZworCSAqLworCWlmIChmbGFnKQorCQlFWFQ0X0koaW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcgPSAxOwogCS8qCiAJICogV2UgbmVlZCB0byBjaGVjayBmb3IgRVhUNCBoZXJlIGJlY2F1c2UgbWlncmF0ZQogCSAqIGNvdWxkIGhhdmUgY2hhbmdlZCB0aGUgaW5vZGUgdHlwZSBpbiBiZXR3ZWVuCkBAIC05OTYsNiArMTA2MCwxOCBAQAogCQkJCQkJCX5FWFQ0X0VYVF9NSUdSQVRFOwogCQl9CiAJfQorCisJaWYgKGZsYWcpIHsKKwkJRVhUNF9JKGlub2RlKS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnID0gMDsKKwkJLyoKKwkJICogVXBkYXRlIHJlc2VydmVkIGJsb2Nrcy9tZXRhZGF0YSBibG9ja3MKKwkJICogYWZ0ZXIgc3VjY2Vzc2Z1bCBibG9jayBhbGxvY2F0aW9uCisJCSAqIHdoaWNoIHdlcmUgZGVmZXJyZWQgdGlsbCBub3cKKwkJICovCisJCWlmICgocmV0dmFsID4gMCkgJiYgYnVmZmVyX2RlbGF5KGJoKSkKKwkJCWV4dDRfZGFfcmVsZWFzZV9zcGFjZShpbm9kZSwgcmV0dmFsLCAwKTsKKwl9CisKIAl1cF93cml0ZSgoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pKTsKIAlyZXR1cm4gcmV0dmFsOwogfQpAQCAtMTAyMSw3ICsxMDk3LDcgQEAKIAl9CiAKIAlyZXQgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGUsIGlub2RlLCBpYmxvY2ssCi0JCQkJCW1heF9ibG9ja3MsIGJoX3Jlc3VsdCwgY3JlYXRlLCAwKTsKKwkJCQkJbWF4X2Jsb2NrcywgYmhfcmVzdWx0LCBjcmVhdGUsIDAsIDApOwogCWlmIChyZXQgPiAwKSB7CiAJCWJoX3Jlc3VsdC0+Yl9zaXplID0gKHJldCA8PCBpbm9kZS0+aV9ibGtiaXRzKTsKIAkJcmV0ID0gMDsKQEAgLTEwNDcsNyArMTEyMyw3IEBACiAJZHVtbXkuYl9ibG9ja25yID0gLTEwMDA7CiAJYnVmZmVyX3RyYWNlX2luaXQoJmR1bW15LmJfaGlzdG9yeSk7CiAJZXJyID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlLCBpbm9kZSwgYmxvY2ssIDEsCi0JCQkJCSZkdW1teSwgY3JlYXRlLCAxKTsKKwkJCQkJJmR1bW15LCBjcmVhdGUsIDEsIDApOwogCS8qCiAJICogZXh0NF9nZXRfYmxvY2tzX2hhbmRsZSgpIHJldHVybnMgbnVtYmVyIG9mIGJsb2NrcwogCSAqIG1hcHBlZC4gMCBpbiBjYXNlIG9mIGEgSE9MRS4KQEAgLTEyMDMsMTkgKzEyNzksMjAgQEAKICAJdG8gPSBmcm9tICsgbGVuOwogCiByZXRyeToKLSAJcGFnZSA9IF9fZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsIGluZGV4KTsKLSAJaWYgKCFwYWdlKQotIAkJcmV0dXJuIC1FTk9NRU07Ci0gCSpwYWdlcCA9IHBhZ2U7Ci0KICAgCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgbmVlZGVkX2Jsb2Nrcyk7CiAgIAlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLSAJCXVubG9ja19wYWdlKHBhZ2UpOwotIAkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwogICAJCXJldCA9IFBUUl9FUlIoaGFuZGxlKTsKICAgCQlnb3RvIG91dDsKIAl9CiAKKwlwYWdlID0gX19ncmFiX2NhY2hlX3BhZ2UobWFwcGluZywgaW5kZXgpOworCWlmICghcGFnZSkgeworCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CisJKnBhZ2VwID0gcGFnZTsKKwogCXJldCA9IGJsb2NrX3dyaXRlX2JlZ2luKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBmbGFncywgcGFnZXAsIGZzZGF0YSwKIAkJCQkJCQlleHQ0X2dldF9ibG9jayk7CiAKQEAgLTEyMjUsOCArMTMwMiw4IEBACiAJfQogCiAJaWYgKHJldCkgewotCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogIAkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAgCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CiAJfQogCkBAIC0xMjM2LDE1ICsxMzEzLDYgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKLXsKLQlpbnQgZXJyID0gamJkMl9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlLCBiaCk7Ci0JaWYgKGVycikKLQkJZXh0NF9qb3VybmFsX2Fib3J0X2hhbmRsZShfX2Z1bmNfXywgX19mdW5jX18sCi0JCQkJCQliaCwgaGFuZGxlLCBlcnIpOwotCXJldHVybiBlcnI7Ci19Ci0KIC8qIEZvciB3cml0ZV9lbmQoKSBpbiBkYXRhPWpvdXJuYWwgbW9kZSAqLwogc3RhdGljIGludCB3cml0ZV9lbmRfZm4oaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKIHsKQEAgLTEyNTUsMjkgKzEzMjMsNiBAQAogfQogCiAvKgotICogR2VuZXJpYyB3cml0ZV9lbmQgaGFuZGxlciBmb3Igb3JkZXJlZCBhbmQgd3JpdGViYWNrIGV4dDQgam91cm5hbCBtb2Rlcy4KLSAqIFdlIGNhbid0IHVzZSBnZW5lcmljX3dyaXRlX2VuZCwgYmVjYXVzZSB0aGF0IHVubG9ja3MgdGhlIHBhZ2UgYW5kIHdlIG5lZWQgdG8KLSAqIHVubG9jayB0aGUgcGFnZSBhZnRlciBleHQ0X2pvdXJuYWxfc3RvcCwgYnV0IGV4dDRfam91cm5hbF9zdG9wIG11c3QgcnVuCi0gKiBhZnRlciBibG9ja193cml0ZV9lbmQuCi0gKi8KLXN0YXRpYyBpbnQgZXh0NF9nZW5lcmljX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKLQkJCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwKLQkJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgdm9pZCAqZnNkYXRhKQotewotCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX21hcHBpbmctPmhvc3Q7Ci0KLQljb3BpZWQgPSBibG9ja193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwgcGFnZSwgZnNkYXRhKTsKLQotCWlmIChwb3MrY29waWVkID4gaW5vZGUtPmlfc2l6ZSkgewotCQlpX3NpemVfd3JpdGUoaW5vZGUsIHBvcytjb3BpZWQpOwotCQltYXJrX2lub2RlX2RpcnR5KGlub2RlKTsKLQl9Ci0KLQlyZXR1cm4gY29waWVkOwotfQotCi0vKgogICogV2UgbmVlZCB0byBwaWNrIHVwIHRoZSBuZXcgaW5vZGUgc2l6ZSB3aGljaCBnZW5lcmljX2NvbW1pdF93cml0ZSBnYXZlIHVzCiAgKiBgZmlsZScgY2FuIGJlIE5VTEwgLSBlZywgd2hlbiBjYWxsZWQgZnJvbSBwYWdlX3N5bWxpbmsoKS4KICAqCkBAIC0xMjkwLDE1ICsxMzM1LDE0IEBACiAJCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIHZvaWQgKmZzZGF0YSkKIHsKIAloYW5kbGVfdCAqaGFuZGxlID0gZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCk7Ci0Jc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfbWFwcGluZy0+aG9zdDsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKIAl1bnNpZ25lZCBmcm9tLCB0bzsKIAlpbnQgcmV0ID0gMCwgcmV0MjsKIAogCWZyb20gPSBwb3MgJiAoUEFHRV9DQUNIRV9TSVpFIC0gMSk7CiAJdG8gPSBmcm9tICsgbGVuOwogCi0JcmV0ID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZmZlcnMocGFnZSksCi0JCWZyb20sIHRvLCBOVUxMLCBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YSk7CisJcmV0ID0gZXh0NF9qYmQyX2ZpbGVfaW5vZGUoaGFuZGxlLCBpbm9kZSk7CiAKIAlpZiAocmV0ID09IDApIHsKIAkJLyoKQEAgLTEzMTEsNyArMTM1NSw3IEBACiAJCW5ld19pX3NpemUgPSBwb3MgKyBjb3BpZWQ7CiAJCWlmIChuZXdfaV9zaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkKIAkJCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBuZXdfaV9zaXplOwotCQlyZXQyID0gZXh0NF9nZW5lcmljX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLAorCQlyZXQyID0gZ2VuZXJpY193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwKIAkJCQkJCQlwYWdlLCBmc2RhdGEpOwogCQljb3BpZWQgPSByZXQyOwogCQlpZiAocmV0MiA8IDApCkBAIC0xMzIwLDggKzEzNjQsNiBAQAogCXJldDIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogCWlmICghcmV0KQogCQlyZXQgPSByZXQyOwotCXVubG9ja19wYWdlKHBhZ2UpOwotCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKIAogCXJldHVybiByZXQgPyByZXQgOiBjb3BpZWQ7CiB9CkBAIC0xMzMyLDcgKzEzNzQsNyBAQAogCQkJCXN0cnVjdCBwYWdlICpwYWdlLCB2b2lkICpmc2RhdGEpCiB7CiAJaGFuZGxlX3QgKmhhbmRsZSA9IGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpOwotCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX21hcHBpbmctPmhvc3Q7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CiAJaW50IHJldCA9IDAsIHJldDI7CiAJbG9mZl90IG5ld19pX3NpemU7CiAKQEAgLTEzNDAsNyArMTM4Miw3IEBACiAJaWYgKG5ld19pX3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKQogCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gbmV3X2lfc2l6ZTsKIAotCXJldDIgPSBleHQ0X2dlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsCisJcmV0MiA9IGdlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsCiAJCQkJCQkJcGFnZSwgZnNkYXRhKTsKIAljb3BpZWQgPSByZXQyOwogCWlmIChyZXQyIDwgMCkKQEAgLTEzNDksOCArMTM5MSw2IEBACiAJcmV0MiA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAJaWYgKCFyZXQpCiAJCXJldCA9IHJldDI7Ci0JdW5sb2NrX3BhZ2UocGFnZSk7Ci0JcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwogCiAJcmV0dXJuIHJldCA/IHJldCA6IGNvcGllZDsKIH0KQEAgLTEzODksMTQgKzE0MjksOTY1IEBACiAJCQlyZXQgPSByZXQyOwogCX0KIAorCXVubG9ja19wYWdlKHBhZ2UpOwogCXJldDIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogCWlmICghcmV0KQogCQlyZXQgPSByZXQyOwotCXVubG9ja19wYWdlKHBhZ2UpOwogCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKIAogCXJldHVybiByZXQgPyByZXQgOiBjb3BpZWQ7CiB9CisvKgorICogQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgbWV0YWRhdGEgYmxvY2tzIG5lZWQgdG8gcmVzZXJ2ZQorICogdG8gYWxsb2NhdGUgQGJsb2NrcyBmb3Igbm9uIGV4dGVudCBmaWxlIGJhc2VkIGZpbGUKKyAqLworc3RhdGljIGludCBleHQ0X2luZGlyZWN0X2NhbGNfbWV0YWRhdGFfYW1vdW50KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBibG9ja3MpCit7CisJaW50IGljYXAgPSBFWFQ0X0FERFJfUEVSX0JMT0NLKGlub2RlLT5pX3NiKTsKKwlpbnQgaW5kX2Jsa3MsIGRpbmRfYmxrcywgdGluZF9ibGtzOworCisJLyogbnVtYmVyIG9mIG5ldyBpbmRpcmVjdCBibG9ja3MgbmVlZGVkICovCisJaW5kX2Jsa3MgPSAoYmxvY2tzICsgaWNhcCAtIDEpIC8gaWNhcDsKKworCWRpbmRfYmxrcyA9IChpbmRfYmxrcyArIGljYXAgLSAxKSAvIGljYXA7CisKKwl0aW5kX2Jsa3MgPSAxOworCisJcmV0dXJuIGluZF9ibGtzICsgZGluZF9ibGtzICsgdGluZF9ibGtzOworfQorCisvKgorICogQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgbWV0YWRhdGEgYmxvY2tzIG5lZWQgdG8gcmVzZXJ2ZQorICogdG8gYWxsb2NhdGUgZ2l2ZW4gbnVtYmVyIG9mIGJsb2NrcworICovCitzdGF0aWMgaW50IGV4dDRfY2FsY19tZXRhZGF0YV9hbW91bnQoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGJsb2NrcykKK3sKKwlpZiAoRVhUNF9JKGlub2RlKS0+aV9mbGFncyAmIEVYVDRfRVhURU5UU19GTCkKKwkJcmV0dXJuIGV4dDRfZXh0X2NhbGNfbWV0YWRhdGFfYW1vdW50KGlub2RlLCBibG9ja3MpOworCisJcmV0dXJuIGV4dDRfaW5kaXJlY3RfY2FsY19tZXRhZGF0YV9hbW91bnQoaW5vZGUsIGJsb2Nrcyk7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9kYV9yZXNlcnZlX3NwYWNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBucmJsb2NrcykKK3sKKyAgICAgICBzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKGlub2RlLT5pX3NiKTsKKyAgICAgICB1bnNpZ25lZCBsb25nIG1kX25lZWRlZCwgbWRibG9ja3MsIHRvdGFsID0gMDsKKworCS8qCisJICogcmVjYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBtZXRhZGF0YSBibG9ja3MgdG8gcmVzZXJ2ZQorCSAqIGluIG9yZGVyIHRvIGFsbG9jYXRlIG5yYmxvY2tzCisJICogd29yc2UgY2FzZSBpcyBvbmUgZXh0ZW50IHBlciBibG9jaworCSAqLworCXNwaW5fbG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwl0b3RhbCA9IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MgKyBucmJsb2NrczsKKwltZGJsb2NrcyA9IGV4dDRfY2FsY19tZXRhZGF0YV9hbW91bnQoaW5vZGUsIHRvdGFsKTsKKwlCVUdfT04obWRibG9ja3MgPCBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzKTsKKworCW1kX25lZWRlZCA9IG1kYmxvY2tzIC0gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2NrczsKKwl0b3RhbCA9IG1kX25lZWRlZCArIG5yYmxvY2tzOworCisJaWYgKGV4dDRfaGFzX2ZyZWVfYmxvY2tzKHNiaSwgdG90YWwpIDwgdG90YWwpIHsKKwkJc3Bpbl91bmxvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJCXJldHVybiAtRU5PU1BDOworCX0KKworCS8qIHJlZHVjZSBmcyBmcmVlIGJsb2NrcyBjb3VudGVyICovCisJcGVyY3B1X2NvdW50ZXJfc3ViKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCB0b3RhbCk7CisKKwlFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX2RhdGFfYmxvY2tzICs9IG5yYmxvY2tzOworCUVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MgPSBtZGJsb2NrczsKKworCXNwaW5fdW5sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCXJldHVybiAwOyAgICAgICAvKiBzdWNjZXNzICovCit9CisKK3ZvaWQgZXh0NF9kYV9yZWxlYXNlX3NwYWNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCB1c2VkLCBpbnQgdG9fZnJlZSkKK3sKKwlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKGlub2RlLT5pX3NiKTsKKwlpbnQgdG90YWwsIG1kYiwgbWRiX2ZyZWUsIHJlbGVhc2U7CisKKwlzcGluX2xvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJLyogcmVjYWxjdWxhdGUgdGhlIG51bWJlciBvZiBtZXRhYmxvY2tzIHN0aWxsIG5lZWQgdG8gYmUgcmVzZXJ2ZWQgKi8KKwl0b3RhbCA9IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MgLSB1c2VkIC0gdG9fZnJlZTsKKwltZGIgPSBleHQ0X2NhbGNfbWV0YWRhdGFfYW1vdW50KGlub2RlLCB0b3RhbCk7CisKKwkvKiBmaWd1cmUgb3V0IGhvdyBtYW55IG1ldGFibG9ja3MgdG8gcmVsZWFzZSAqLworCUJVR19PTihtZGIgPiBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzKTsKKwltZGJfZnJlZSA9IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MgLSBtZGI7CisKKwkvKiBBY2NvdW50IGZvciBhbGxvY2F0ZWQgbWV0YV9ibG9ja3MgKi8KKwltZGJfZnJlZSAtPSBFWFQ0X0koaW5vZGUpLT5pX2FsbG9jYXRlZF9tZXRhX2Jsb2NrczsKKworCXJlbGVhc2UgPSB0b19mcmVlICsgbWRiX2ZyZWU7CisKKwkvKiB1cGRhdGUgZnMgZnJlZSBibG9ja3MgY291bnRlciBmb3IgdHJ1bmNhdGUgY2FzZSAqLworCXBlcmNwdV9jb3VudGVyX2FkZCgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgcmVsZWFzZSk7CisKKwkvKiB1cGRhdGUgcGVyLWlub2RlIHJlc2VydmF0aW9ucyAqLworCUJVR19PTih1c2VkICsgdG9fZnJlZSA+IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MpOworCUVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MgLT0gKHVzZWQgKyB0b19mcmVlKTsKKworCUJVR19PTihtZGIgPiBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzKTsKKwlFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzID0gbWRiOworCUVYVDRfSShpbm9kZSktPmlfYWxsb2NhdGVkX21ldGFfYmxvY2tzID0gMDsKKwlzcGluX3VubG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgZXh0NF9kYV9wYWdlX3JlbGVhc2VfcmVzZXJ2YXRpb24oc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkJCQl1bnNpZ25lZCBsb25nIG9mZnNldCkKK3sKKwlpbnQgdG9fcmVsZWFzZSA9IDA7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpoZWFkLCAqYmg7CisJdW5zaWduZWQgaW50IGN1cnJfb2ZmID0gMDsKKworCWhlYWQgPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJYmggPSBoZWFkOworCWRvIHsKKwkJdW5zaWduZWQgaW50IG5leHRfb2ZmID0gY3Vycl9vZmYgKyBiaC0+Yl9zaXplOworCisJCWlmICgob2Zmc2V0IDw9IGN1cnJfb2ZmKSAmJiAoYnVmZmVyX2RlbGF5KGJoKSkpIHsKKwkJCXRvX3JlbGVhc2UrKzsKKwkJCWNsZWFyX2J1ZmZlcl9kZWxheShiaCk7CisJCX0KKwkJY3Vycl9vZmYgPSBuZXh0X29mZjsKKwl9IHdoaWxlICgoYmggPSBiaC0+Yl90aGlzX3BhZ2UpICE9IGhlYWQpOworCWV4dDRfZGFfcmVsZWFzZV9zcGFjZShwYWdlLT5tYXBwaW5nLT5ob3N0LCAwLCB0b19yZWxlYXNlKTsKK30KKworLyoKKyAqIERlbGF5ZWQgYWxsb2NhdGlvbiBzdHVmZgorICovCisKK3N0cnVjdCBtcGFnZV9kYV9kYXRhIHsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlOworCXN0cnVjdCBidWZmZXJfaGVhZCBsYmg7CQkJLyogZXh0ZW50IG9mIGJsb2NrcyAqLworCXVuc2lnbmVkIGxvbmcgZmlyc3RfcGFnZSwgbmV4dF9wYWdlOwkvKiBleHRlbnQgb2YgcGFnZXMgKi8KKwlnZXRfYmxvY2tfdCAqZ2V0X2Jsb2NrOworCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjOworfTsKKworLyoKKyAqIG1wYWdlX2RhX3N1Ym1pdF9pbyAtIHdhbGtzIHRocm91Z2ggZXh0ZW50IG9mIHBhZ2VzIGFuZCB0cnkgdG8gd3JpdGUKKyAqIHRoZW0gd2l0aCBfX21wYWdlX3dyaXRlcGFnZSgpCisgKgorICogQG1wZC0+aW5vZGU6IGlub2RlCisgKiBAbXBkLT5maXJzdF9wYWdlOiBmaXJzdCBwYWdlIG9mIHRoZSBleHRlbnQKKyAqIEBtcGQtPm5leHRfcGFnZTogcGFnZSBhZnRlciB0aGUgbGFzdCBwYWdlIG9mIHRoZSBleHRlbnQKKyAqIEBtcGQtPmdldF9ibG9jazogdGhlIGZpbGVzeXN0ZW0ncyBibG9jayBtYXBwZXIgZnVuY3Rpb24KKyAqCisgKiBCeSB0aGUgdGltZSBtcGFnZV9kYV9zdWJtaXRfaW8oKSBpcyBjYWxsZWQgd2UgZXhwZWN0IGFsbCBibG9ja3MKKyAqIHRvIGJlIGFsbG9jYXRlZC4gdGhpcyBtYXkgYmUgd3JvbmcgaWYgYWxsb2NhdGlvbiBmYWlsZWQuCisgKgorICogQXMgcGFnZXMgYXJlIGFscmVhZHkgbG9ja2VkIGJ5IHdyaXRlX2NhY2hlX3BhZ2VzKCksIHdlIGNhbid0IHVzZSBpdAorICovCitzdGF0aWMgaW50IG1wYWdlX2RhX3N1Ym1pdF9pbyhzdHJ1Y3QgbXBhZ2VfZGFfZGF0YSAqbXBkKQoreworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gbXBkLT5pbm9kZS0+aV9tYXBwaW5nOworCXN0cnVjdCBtcGFnZV9kYXRhIG1wZF9wcCA9IHsKKwkJLmJpbyA9IE5VTEwsCisJCS5sYXN0X2Jsb2NrX2luX2JpbyA9IDAsCisJCS5nZXRfYmxvY2sgPSBtcGQtPmdldF9ibG9jaywKKwkJLnVzZV93cml0ZXBhZ2UgPSAxLAorCX07CisJaW50IHJldCA9IDAsIGVyciwgbnJfcGFnZXMsIGk7CisJdW5zaWduZWQgbG9uZyBpbmRleCwgZW5kOworCXN0cnVjdCBwYWdldmVjIHB2ZWM7CisKKwlCVUdfT04obXBkLT5uZXh0X3BhZ2UgPD0gbXBkLT5maXJzdF9wYWdlKTsKKworCXBhZ2V2ZWNfaW5pdCgmcHZlYywgMCk7CisJaW5kZXggPSBtcGQtPmZpcnN0X3BhZ2U7CisJZW5kID0gbXBkLT5uZXh0X3BhZ2UgLSAxOworCisJd2hpbGUgKGluZGV4IDw9IGVuZCkgeworCQkvKiBYWFg6IG9wdGltaXplIHRhaWwgKi8KKwkJbnJfcGFnZXMgPSBwYWdldmVjX2xvb2t1cCgmcHZlYywgbWFwcGluZywgaW5kZXgsIFBBR0VWRUNfU0laRSk7CisJCWlmIChucl9wYWdlcyA9PSAwKQorCQkJYnJlYWs7CisJCWZvciAoaSA9IDA7IGkgPCBucl9wYWdlczsgaSsrKSB7CisJCQlzdHJ1Y3QgcGFnZSAqcGFnZSA9IHB2ZWMucGFnZXNbaV07CisKKwkJCWluZGV4ID0gcGFnZS0+aW5kZXg7CisJCQlpZiAoaW5kZXggPiBlbmQpCisJCQkJYnJlYWs7CisJCQlpbmRleCsrOworCisJCQllcnIgPSBfX21wYWdlX3dyaXRlcGFnZShwYWdlLCBtcGQtPndiYywgJm1wZF9wcCk7CisKKwkJCS8qCisJCQkgKiBJbiBlcnJvciBjYXNlLCB3ZSBoYXZlIHRvIGNvbnRpbnVlIGJlY2F1c2UKKwkJCSAqIHJlbWFpbmluZyBwYWdlcyBhcmUgc3RpbGwgbG9ja2VkCisJCQkgKiBYWFg6IHVubG9jayBhbmQgcmUtZGlydHkgdGhlbT8KKwkJCSAqLworCQkJaWYgKHJldCA9PSAwKQorCQkJCXJldCA9IGVycjsKKwkJfQorCQlwYWdldmVjX3JlbGVhc2UoJnB2ZWMpOworCX0KKwlpZiAobXBkX3BwLmJpbykKKwkJbXBhZ2VfYmlvX3N1Ym1pdChXUklURSwgbXBkX3BwLmJpbyk7CisKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogbXBhZ2VfcHV0X2Jucl90b19iaHMgLSB3YWxrIGJsb2NrcyBhbmQgYXNzaWduIHRoZW0gYWN0dWFsIG51bWJlcnMKKyAqCisgKiBAbXBkLT5pbm9kZSAtIGlub2RlIHRvIHdhbGsgdGhyb3VnaAorICogQGV4YmgtPmJfYmxvY2tuciAtIGZpcnN0IGJsb2NrIG9uIGEgZGlzaworICogQGV4YmgtPmJfc2l6ZSAtIGFtb3VudCBvZiBzcGFjZSBpbiBieXRlcworICogQGxvZ2ljYWwgLSBmaXJzdCBsb2dpY2FsIGJsb2NrIHRvIHN0YXJ0IGFzc2lnbm1lbnQgd2l0aAorICoKKyAqIHRoZSBmdW5jdGlvbiBnb2VzIHRocm91Z2ggYWxsIHBhc3NlZCBzcGFjZSBhbmQgcHV0IGFjdHVhbCBkaXNrCisgKiBibG9jayBudW1iZXJzIGludG8gYnVmZmVyIGhlYWRzLCBkcm9wcGluZyBCSF9EZWxheQorICovCitzdGF0aWMgdm9pZCBtcGFnZV9wdXRfYm5yX3RvX2JocyhzdHJ1Y3QgbXBhZ2VfZGFfZGF0YSAqbXBkLCBzZWN0b3JfdCBsb2dpY2FsLAorCQkJCSBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmV4YmgpCit7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1wZC0+aW5vZGU7CisJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBpbm9kZS0+aV9tYXBwaW5nOworCWludCBibG9ja3MgPSBleGJoLT5iX3NpemUgPj4gaW5vZGUtPmlfYmxrYml0czsKKwlzZWN0b3JfdCBwYmxvY2sgPSBleGJoLT5iX2Jsb2NrbnIsIGN1cl9sb2dpY2FsOworCXN0cnVjdCBidWZmZXJfaGVhZCAqaGVhZCwgKmJoOworCXVuc2lnbmVkIGxvbmcgaW5kZXgsIGVuZDsKKwlzdHJ1Y3QgcGFnZXZlYyBwdmVjOworCWludCBucl9wYWdlcywgaTsKKworCWluZGV4ID0gbG9naWNhbCA+PiAoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX2Jsa2JpdHMpOworCWVuZCA9IChsb2dpY2FsICsgYmxvY2tzIC0gMSkgPj4gKFBBR0VfQ0FDSEVfU0hJRlQgLSBpbm9kZS0+aV9ibGtiaXRzKTsKKwljdXJfbG9naWNhbCA9IGluZGV4IDw8IChQQUdFX0NBQ0hFX1NISUZUIC0gaW5vZGUtPmlfYmxrYml0cyk7CisKKwlwYWdldmVjX2luaXQoJnB2ZWMsIDApOworCisJd2hpbGUgKGluZGV4IDw9IGVuZCkgeworCQkvKiBYWFg6IG9wdGltaXplIHRhaWwgKi8KKwkJbnJfcGFnZXMgPSBwYWdldmVjX2xvb2t1cCgmcHZlYywgbWFwcGluZywgaW5kZXgsIFBBR0VWRUNfU0laRSk7CisJCWlmIChucl9wYWdlcyA9PSAwKQorCQkJYnJlYWs7CisJCWZvciAoaSA9IDA7IGkgPCBucl9wYWdlczsgaSsrKSB7CisJCQlzdHJ1Y3QgcGFnZSAqcGFnZSA9IHB2ZWMucGFnZXNbaV07CisKKwkJCWluZGV4ID0gcGFnZS0+aW5kZXg7CisJCQlpZiAoaW5kZXggPiBlbmQpCisJCQkJYnJlYWs7CisJCQlpbmRleCsrOworCisJCQlCVUdfT04oIVBhZ2VMb2NrZWQocGFnZSkpOworCQkJQlVHX09OKFBhZ2VXcml0ZWJhY2socGFnZSkpOworCQkJQlVHX09OKCFwYWdlX2hhc19idWZmZXJzKHBhZ2UpKTsKKworCQkJYmggPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJCQloZWFkID0gYmg7CisKKwkJCS8qIHNraXAgYmxvY2tzIG91dCBvZiB0aGUgcmFuZ2UgKi8KKwkJCWRvIHsKKwkJCQlpZiAoY3VyX2xvZ2ljYWwgPj0gbG9naWNhbCkKKwkJCQkJYnJlYWs7CisJCQkJY3VyX2xvZ2ljYWwrKzsKKwkJCX0gd2hpbGUgKChiaCA9IGJoLT5iX3RoaXNfcGFnZSkgIT0gaGVhZCk7CisKKwkJCWRvIHsKKwkJCQlpZiAoY3VyX2xvZ2ljYWwgPj0gbG9naWNhbCArIGJsb2NrcykKKwkJCQkJYnJlYWs7CisJCQkJaWYgKGJ1ZmZlcl9kZWxheShiaCkpIHsKKwkJCQkJYmgtPmJfYmxvY2tuciA9IHBibG9jazsKKwkJCQkJY2xlYXJfYnVmZmVyX2RlbGF5KGJoKTsKKwkJCQl9IGVsc2UgaWYgKGJ1ZmZlcl9tYXBwZWQoYmgpKQorCQkJCQlCVUdfT04oYmgtPmJfYmxvY2tuciAhPSBwYmxvY2spOworCisJCQkJY3VyX2xvZ2ljYWwrKzsKKwkJCQlwYmxvY2srKzsKKwkJCX0gd2hpbGUgKChiaCA9IGJoLT5iX3RoaXNfcGFnZSkgIT0gaGVhZCk7CisJCX0KKwkJcGFnZXZlY19yZWxlYXNlKCZwdmVjKTsKKwl9Cit9CisKKworLyoKKyAqIF9fdW5tYXBfdW5kZXJseWluZ19ibG9ja3MgLSBqdXN0IGEgaGVscGVyIGZ1bmN0aW9uIHRvIHVubWFwCisgKiBzZXQgb2YgYmxvY2tzIGRlc2NyaWJlZCBieSBAYmgKKyAqLworc3RhdGljIGlubGluZSB2b2lkIF9fdW5tYXBfdW5kZXJseWluZ19ibG9ja3Moc3RydWN0IGlub2RlICppbm9kZSwKKwkJCQkJICAgICBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQoreworCXN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYgPSBpbm9kZS0+aV9zYi0+c19iZGV2OworCWludCBibG9ja3MsIGk7CisKKwlibG9ja3MgPSBiaC0+Yl9zaXplID4+IGlub2RlLT5pX2Jsa2JpdHM7CisJZm9yIChpID0gMDsgaSA8IGJsb2NrczsgaSsrKQorCQl1bm1hcF91bmRlcmx5aW5nX21ldGFkYXRhKGJkZXYsIGJoLT5iX2Jsb2NrbnIgKyBpKTsKK30KKworLyoKKyAqIG1wYWdlX2RhX21hcF9ibG9ja3MgLSBnbyB0aHJvdWdoIGdpdmVuIHNwYWNlCisgKgorICogQG1wZC0+bGJoIC0gYmggZGVzY3JpYmluZyBzcGFjZQorICogQG1wZC0+Z2V0X2Jsb2NrIC0gdGhlIGZpbGVzeXN0ZW0ncyBibG9jayBtYXBwZXIgZnVuY3Rpb24KKyAqCisgKiBUaGUgZnVuY3Rpb24gc2tpcHMgc3BhY2Ugd2Uga25vdyBpcyBhbHJlYWR5IG1hcHBlZCB0byBkaXNrIGJsb2Nrcy4KKyAqCisgKiBUaGUgZnVuY3Rpb24gaWdub3JlcyBlcnJvcnMgLT5nZXRfYmxvY2soKSByZXR1cm5zLCB0aHVzIHJlYWwKKyAqIGVycm9yIGhhbmRsaW5nIGlzIHBvc3Rwb25lZCB0byBfX21wYWdlX3dyaXRlcGFnZSgpCisgKi8KK3N0YXRpYyB2b2lkIG1wYWdlX2RhX21hcF9ibG9ja3Moc3RydWN0IG1wYWdlX2RhX2RhdGEgKm1wZCkKK3sKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmxiaCA9ICZtcGQtPmxiaDsKKwlpbnQgZXJyID0gMCwgcmVtYWluID0gbGJoLT5iX3NpemU7CisJc2VjdG9yX3QgbmV4dCA9IGxiaC0+Yl9ibG9ja25yOworCXN0cnVjdCBidWZmZXJfaGVhZCBuZXc7CisKKwkvKgorCSAqIFdlIGNvbnNpZGVyIG9ubHkgbm9uLW1hcHBlZCBhbmQgbm9uLWFsbG9jYXRlZCBibG9ja3MKKwkgKi8KKwlpZiAoYnVmZmVyX21hcHBlZChsYmgpICYmICFidWZmZXJfZGVsYXkobGJoKSkKKwkJcmV0dXJuOworCisJd2hpbGUgKHJlbWFpbikgeworCQluZXcuYl9zdGF0ZSA9IGxiaC0+Yl9zdGF0ZTsKKwkJbmV3LmJfYmxvY2tuciA9IDA7CisJCW5ldy5iX3NpemUgPSByZW1haW47CisJCWVyciA9IG1wZC0+Z2V0X2Jsb2NrKG1wZC0+aW5vZGUsIG5leHQsICZuZXcsIDEpOworCQlpZiAoZXJyKSB7CisJCQkvKgorCQkJICogUmF0aGVyIHRoYW4gaW1wbGVtZW50IG93biBlcnJvciBoYW5kbGluZworCQkJICogaGVyZSwgd2UganVzdCBsZWF2ZSByZW1haW5pbmcgYmxvY2tzCisJCQkgKiB1bmFsbG9jYXRlZCBhbmQgdHJ5IGFnYWluIHdpdGggLT53cml0ZXBhZ2UoKQorCQkJICovCisJCQlicmVhazsKKwkJfQorCQlCVUdfT04obmV3LmJfc2l6ZSA9PSAwKTsKKworCQlpZiAoYnVmZmVyX25ldygmbmV3KSkKKwkJCV9fdW5tYXBfdW5kZXJseWluZ19ibG9ja3MobXBkLT5pbm9kZSwgJm5ldyk7CisKKwkJLyoKKwkJICogSWYgYmxvY2tzIGFyZSBkZWxheWVkIG1hcmtlZCwgd2UgbmVlZCB0bworCQkgKiBwdXQgYWN0dWFsIGJsb2NrbnIgYW5kIGRyb3AgZGVsYXllZCBiaXQKKwkJICovCisJCWlmIChidWZmZXJfZGVsYXkobGJoKSkKKwkJCW1wYWdlX3B1dF9ibnJfdG9fYmhzKG1wZCwgbmV4dCwgJm5ldyk7CisKKwkJLyogZ28gZm9yIHRoZSByZW1haW5pbmcgYmxvY2tzICovCisJCW5leHQgKz0gbmV3LmJfc2l6ZSA+PiBtcGQtPmlub2RlLT5pX2Jsa2JpdHM7CisJCXJlbWFpbiAtPSBuZXcuYl9zaXplOworCX0KK30KKworI2RlZmluZSBCSF9GTEFHUyAoKDEgPDwgQkhfVXB0b2RhdGUpIHwgKDEgPDwgQkhfTWFwcGVkKSB8ICgxIDw8IEJIX0RlbGF5KSkKKworLyoKKyAqIG1wYWdlX2FkZF9iaF90b19leHRlbnQgLSB0cnkgdG8gYWRkIG9uZSBtb3JlIGJsb2NrIHRvIGV4dGVudCBvZiBibG9ja3MKKyAqCisgKiBAbXBkLT5sYmggLSBleHRlbnQgb2YgYmxvY2tzCisgKiBAbG9naWNhbCAtIGxvZ2ljYWwgbnVtYmVyIG9mIHRoZSBibG9jayBpbiB0aGUgZmlsZQorICogQGJoIC0gYmggb2YgdGhlIGJsb2NrICh1c2VkIHRvIGFjY2VzcyBibG9jaydzIHN0YXRlKQorICoKKyAqIHRoZSBmdW5jdGlvbiBpcyB1c2VkIHRvIGNvbGxlY3QgY29udGlnLiBibG9ja3MgaW4gc2FtZSBzdGF0ZQorICovCitzdGF0aWMgdm9pZCBtcGFnZV9hZGRfYmhfdG9fZXh0ZW50KHN0cnVjdCBtcGFnZV9kYV9kYXRhICptcGQsCisJCQkJICAgc2VjdG9yX3QgbG9naWNhbCwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKK3sKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmxiaCA9ICZtcGQtPmxiaDsKKwlzZWN0b3JfdCBuZXh0OworCisJbmV4dCA9IGxiaC0+Yl9ibG9ja25yICsgKGxiaC0+Yl9zaXplID4+IG1wZC0+aW5vZGUtPmlfYmxrYml0cyk7CisKKwkvKgorCSAqIEZpcnN0IGJsb2NrIGluIHRoZSBleHRlbnQKKwkgKi8KKwlpZiAobGJoLT5iX3NpemUgPT0gMCkgeworCQlsYmgtPmJfYmxvY2tuciA9IGxvZ2ljYWw7CisJCWxiaC0+Yl9zaXplID0gYmgtPmJfc2l6ZTsKKwkJbGJoLT5iX3N0YXRlID0gYmgtPmJfc3RhdGUgJiBCSF9GTEFHUzsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogQ2FuIHdlIG1lcmdlIHRoZSBibG9jayB0byBvdXIgYmlnIGV4dGVudD8KKwkgKi8KKwlpZiAobG9naWNhbCA9PSBuZXh0ICYmIChiaC0+Yl9zdGF0ZSAmIEJIX0ZMQUdTKSA9PSBsYmgtPmJfc3RhdGUpIHsKKwkJbGJoLT5iX3NpemUgKz0gYmgtPmJfc2l6ZTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogV2UgY291bGRuJ3QgbWVyZ2UgdGhlIGJsb2NrIHRvIG91ciBleHRlbnQsIHNvIHdlCisJICogbmVlZCB0byBmbHVzaCBjdXJyZW50ICBleHRlbnQgYW5kIHN0YXJ0IG5ldyBvbmUKKwkgKi8KKwltcGFnZV9kYV9tYXBfYmxvY2tzKG1wZCk7CisKKwkvKgorCSAqIE5vdyBzdGFydCBhIG5ldyBleHRlbnQKKwkgKi8KKwlsYmgtPmJfc2l6ZSA9IGJoLT5iX3NpemU7CisJbGJoLT5iX3N0YXRlID0gYmgtPmJfc3RhdGUgJiBCSF9GTEFHUzsKKwlsYmgtPmJfYmxvY2tuciA9IGxvZ2ljYWw7Cit9CisKKy8qCisgKiBfX21wYWdlX2RhX3dyaXRlcGFnZSAtIGZpbmRzIGV4dGVudCBvZiBwYWdlcyBhbmQgYmxvY2tzCisgKgorICogQHBhZ2U6IHBhZ2UgdG8gY29uc2lkZXIKKyAqIEB3YmM6IG5vdCB1c2VkLCB3ZSBqdXN0IGZvbGxvdyBydWxlcworICogQGRhdGE6IGNvbnRleHQKKyAqCisgKiBUaGUgZnVuY3Rpb24gZmluZHMgZXh0ZW50cyBvZiBwYWdlcyBhbmQgc2NhbiB0aGVtIGZvciBhbGwgYmxvY2tzLgorICovCitzdGF0aWMgaW50IF9fbXBhZ2VfZGFfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLAorCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjLCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBtcGFnZV9kYV9kYXRhICptcGQgPSBkYXRhOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtcGQtPmlub2RlOworCXN0cnVjdCBidWZmZXJfaGVhZCAqYmgsICpoZWFkLCBmYWtlOworCXNlY3Rvcl90IGxvZ2ljYWw7CisKKwkvKgorCSAqIENhbiB3ZSBtZXJnZSB0aGlzIHBhZ2UgdG8gY3VycmVudCBleHRlbnQ/CisJICovCisJaWYgKG1wZC0+bmV4dF9wYWdlICE9IHBhZ2UtPmluZGV4KSB7CisJCS8qCisJCSAqIE5vcGUsIHdlIGNhbid0LiBTbywgd2UgbWFwIG5vbi1hbGxvY2F0ZWQgYmxvY2tzCisJCSAqIGFuZCBzdGFydCBJTyBvbiB0aGVtIHVzaW5nIF9fbXBhZ2Vfd3JpdGVwYWdlKCkKKwkJICovCisJCWlmIChtcGQtPm5leHRfcGFnZSAhPSBtcGQtPmZpcnN0X3BhZ2UpIHsKKwkJCW1wYWdlX2RhX21hcF9ibG9ja3MobXBkKTsKKwkJCW1wYWdlX2RhX3N1Ym1pdF9pbyhtcGQpOworCQl9CisKKwkJLyoKKwkJICogU3RhcnQgbmV4dCBleHRlbnQgb2YgcGFnZXMgLi4uCisJCSAqLworCQltcGQtPmZpcnN0X3BhZ2UgPSBwYWdlLT5pbmRleDsKKworCQkvKgorCQkgKiAuLi4gYW5kIGJsb2NrcworCQkgKi8KKwkJbXBkLT5sYmguYl9zaXplID0gMDsKKwkJbXBkLT5sYmguYl9zdGF0ZSA9IDA7CisJCW1wZC0+bGJoLmJfYmxvY2tuciA9IDA7CisJfQorCisJbXBkLT5uZXh0X3BhZ2UgPSBwYWdlLT5pbmRleCArIDE7CisJbG9naWNhbCA9IChzZWN0b3JfdCkgcGFnZS0+aW5kZXggPDwKKwkJICAoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX2Jsa2JpdHMpOworCisJaWYgKCFwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7CisJCS8qCisJCSAqIFRoZXJlIGlzIG5vIGF0dGFjaGVkIGJ1ZmZlciBoZWFkcyB5ZXQgKG1tYXA/KQorCQkgKiB3ZSB0cmVhdCB0aGUgcGFnZSBhc2Z1bGwgb2YgZGlydHkgYmxvY2tzCisJCSAqLworCQliaCA9ICZmYWtlOworCQliaC0+Yl9zaXplID0gUEFHRV9DQUNIRV9TSVpFOworCQliaC0+Yl9zdGF0ZSA9IDA7CisJCXNldF9idWZmZXJfZGlydHkoYmgpOworCQlzZXRfYnVmZmVyX3VwdG9kYXRlKGJoKTsKKwkJbXBhZ2VfYWRkX2JoX3RvX2V4dGVudChtcGQsIGxvZ2ljYWwsIGJoKTsKKwl9IGVsc2UgeworCQkvKgorCQkgKiBQYWdlIHdpdGggcmVndWxhciBidWZmZXIgaGVhZHMsIGp1c3QgYWRkIGFsbCBkaXJ0eSBvbmVzCisJCSAqLworCQloZWFkID0gcGFnZV9idWZmZXJzKHBhZ2UpOworCQliaCA9IGhlYWQ7CisJCWRvIHsKKwkJCUJVR19PTihidWZmZXJfbG9ja2VkKGJoKSk7CisJCQlpZiAoYnVmZmVyX2RpcnR5KGJoKSkKKwkJCQltcGFnZV9hZGRfYmhfdG9fZXh0ZW50KG1wZCwgbG9naWNhbCwgYmgpOworCQkJbG9naWNhbCsrOworCQl9IHdoaWxlICgoYmggPSBiaC0+Yl90aGlzX3BhZ2UpICE9IGhlYWQpOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogbXBhZ2VfZGFfd3JpdGVwYWdlcyAtIHdhbGsgdGhlIGxpc3Qgb2YgZGlydHkgcGFnZXMgb2YgdGhlIGdpdmVuCisgKiBhZGRyZXNzIHNwYWNlLCBhbGxvY2F0ZXMgbm9uLWFsbG9jYXRlZCBibG9ja3MsIG1hcHMgbmV3bHktYWxsb2NhdGVkCisgKiBibG9ja3MgdG8gZXhpc3RpbmcgYmhzIGFuZCBpc3N1ZSBJTyB0aGVtCisgKgorICogQG1hcHBpbmc6IGFkZHJlc3Mgc3BhY2Ugc3RydWN0dXJlIHRvIHdyaXRlCisgKiBAd2JjOiBzdWJ0cmFjdCB0aGUgbnVtYmVyIG9mIHdyaXR0ZW4gcGFnZXMgZnJvbSAqQHdiYy0+bnJfdG9fd3JpdGUKKyAqIEBnZXRfYmxvY2s6IHRoZSBmaWxlc3lzdGVtJ3MgYmxvY2sgbWFwcGVyIGZ1bmN0aW9uLgorICoKKyAqIFRoaXMgaXMgYSBsaWJyYXJ5IGZ1bmN0aW9uLCB3aGljaCBpbXBsZW1lbnRzIHRoZSB3cml0ZXBhZ2VzKCkKKyAqIGFkZHJlc3Nfc3BhY2Vfb3BlcmF0aW9uLgorICoKKyAqIEluIG9yZGVyIHRvIGF2b2lkIGR1cGxpY2F0aW9uIG9mIGxvZ2ljIHRoYXQgZGVhbHMgd2l0aCBwYXJ0aWFsIHBhZ2VzLAorICogbXVsdGlwbGUgYmlvIHBlciBwYWdlLCBldGMsIHdlIGZpbmQgbm9uLWFsbG9jYXRlZCBibG9ja3MsIGFsbG9jYXRlCisgKiB0aGVtIHdpdGggbWluaW1hbCBjYWxscyB0byAtPmdldF9ibG9jaygpIGFuZCByZS11c2UgX19tcGFnZV93cml0ZXBhZ2UoKQorICoKKyAqIEl0J3MgaW1wb3J0YW50IHRoYXQgd2UgY2FsbCBfX21wYWdlX3dyaXRlcGFnZSgpIG9ubHkgb25jZSBmb3IgZWFjaAorICogaW52b2x2ZWQgcGFnZSwgb3RoZXJ3aXNlIHdlJ2QgaGF2ZSB0byBpbXBsZW1lbnQgbW9yZSBjb21wbGljYXRlZCBsb2dpYworICogdG8gZGVhbCB3aXRoIHBhZ2VzIHcvbyBQR19sb2NrIG9yIHcvIFBHX3dyaXRlYmFjayBhbmQgc28gb24uCisgKgorICogU2VlIGNvbW1lbnRzIHRvIG1wYWdlX3dyaXRlcGFnZXMoKQorICovCitzdGF0aWMgaW50IG1wYWdlX2RhX3dyaXRlcGFnZXMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCisJCQkgICAgICAgc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsCisJCQkgICAgICAgZ2V0X2Jsb2NrX3QgZ2V0X2Jsb2NrKQoreworCXN0cnVjdCBtcGFnZV9kYV9kYXRhIG1wZDsKKwlpbnQgcmV0OworCisJaWYgKCFnZXRfYmxvY2spCisJCXJldHVybiBnZW5lcmljX3dyaXRlcGFnZXMobWFwcGluZywgd2JjKTsKKworCW1wZC53YmMgPSB3YmM7CisJbXBkLmlub2RlID0gbWFwcGluZy0+aG9zdDsKKwltcGQubGJoLmJfc2l6ZSA9IDA7CisJbXBkLmxiaC5iX3N0YXRlID0gMDsKKwltcGQubGJoLmJfYmxvY2tuciA9IDA7CisJbXBkLmZpcnN0X3BhZ2UgPSAwOworCW1wZC5uZXh0X3BhZ2UgPSAwOworCW1wZC5nZXRfYmxvY2sgPSBnZXRfYmxvY2s7CisKKwlyZXQgPSB3cml0ZV9jYWNoZV9wYWdlcyhtYXBwaW5nLCB3YmMsIF9fbXBhZ2VfZGFfd3JpdGVwYWdlLCAmbXBkKTsKKworCS8qCisJICogSGFuZGxlIGxhc3QgZXh0ZW50IG9mIHBhZ2VzCisJICovCisJaWYgKG1wZC5uZXh0X3BhZ2UgIT0gbXBkLmZpcnN0X3BhZ2UpIHsKKwkJbXBhZ2VfZGFfbWFwX2Jsb2NrcygmbXBkKTsKKwkJbXBhZ2VfZGFfc3VibWl0X2lvKCZtcGQpOworCX0KKworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiB0aGlzIGlzIGEgc3BlY2lhbCBjYWxsYmFjayBmb3IgLT53cml0ZV9iZWdpbigpIG9ubHkKKyAqIGl0J3MgaW50ZW50aW9uIGlzIHRvIHJldHVybiBtYXBwZWQgYmxvY2sgb3IgcmVzZXJ2ZSBzcGFjZQorICovCitzdGF0aWMgaW50IGV4dDRfZGFfZ2V0X2Jsb2NrX3ByZXAoc3RydWN0IGlub2RlICppbm9kZSwgc2VjdG9yX3QgaWJsb2NrLAorCQkJCSAgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaF9yZXN1bHQsIGludCBjcmVhdGUpCit7CisJaW50IHJldCA9IDA7CisKKwlCVUdfT04oY3JlYXRlID09IDApOworCUJVR19PTihiaF9yZXN1bHQtPmJfc2l6ZSAhPSBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemUpOworCisJLyoKKwkgKiBmaXJzdCwgd2UgbmVlZCB0byBrbm93IHdoZXRoZXIgdGhlIGJsb2NrIGlzIGFsbG9jYXRlZCBhbHJlYWR5CisJICogcHJlYWxsb2NhdGVkIGJsb2NrcyBhcmUgdW5tYXBwZWQgYnV0IHNob3VsZCB0cmVhdGVkCisJICogdGhlIHNhbWUgYXMgYWxsb2NhdGVkIGJsb2Nrcy4KKwkgKi8KKwlyZXQgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChOVUxMLCBpbm9kZSwgaWJsb2NrLCAxLCAgYmhfcmVzdWx0LCAwLCAwLCAwKTsKKwlpZiAoKHJldCA9PSAwKSAmJiAhYnVmZmVyX2RlbGF5KGJoX3Jlc3VsdCkpIHsKKwkJLyogdGhlIGJsb2NrIGlzbid0IChwcmUpYWxsb2NhdGVkIHlldCwgbGV0J3MgcmVzZXJ2ZSBzcGFjZSAqLworCQkvKgorCQkgKiBYWFg6IF9fYmxvY2tfcHJlcGFyZV93cml0ZSgpIHVubWFwcyBwYXNzZWQgYmxvY2ssCisJCSAqIGlzIGl0IE9LPworCQkgKi8KKwkJcmV0ID0gZXh0NF9kYV9yZXNlcnZlX3NwYWNlKGlub2RlLCAxKTsKKwkJaWYgKHJldCkKKwkJCS8qIG5vdCBlbm91Z2ggc3BhY2UgdG8gcmVzZXJ2ZSAqLworCQkJcmV0dXJuIHJldDsKKworCQltYXBfYmgoYmhfcmVzdWx0LCBpbm9kZS0+aV9zYiwgMCk7CisJCXNldF9idWZmZXJfbmV3KGJoX3Jlc3VsdCk7CisJCXNldF9idWZmZXJfZGVsYXkoYmhfcmVzdWx0KTsKKwl9IGVsc2UgaWYgKHJldCA+IDApIHsKKwkJYmhfcmVzdWx0LT5iX3NpemUgPSAocmV0IDw8IGlub2RlLT5pX2Jsa2JpdHMpOworCQlyZXQgPSAwOworCX0KKworCXJldHVybiByZXQ7Cit9CisjZGVmaW5lCQlFWFQ0X0RFTEFMTE9DX1JTVkVECTEKK3N0YXRpYyBpbnQgZXh0NF9kYV9nZXRfYmxvY2tfd3JpdGUoc3RydWN0IGlub2RlICppbm9kZSwgc2VjdG9yX3QgaWJsb2NrLAorCQkJCSAgIHN0cnVjdCBidWZmZXJfaGVhZCAqYmhfcmVzdWx0LCBpbnQgY3JlYXRlKQoreworCWludCByZXQ7CisJdW5zaWduZWQgbWF4X2Jsb2NrcyA9IGJoX3Jlc3VsdC0+Yl9zaXplID4+IGlub2RlLT5pX2Jsa2JpdHM7CisJbG9mZl90IGRpc2tzaXplID0gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZTsKKwloYW5kbGVfdCAqaGFuZGxlID0gTlVMTDsKKworCWhhbmRsZSA9IGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpOworCWlmICghaGFuZGxlKSB7CisJCXJldCA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZSwgaW5vZGUsIGlibG9jaywgbWF4X2Jsb2NrcywKKwkJCQkgICBiaF9yZXN1bHQsIDAsIDAsIDApOworCQlCVUdfT04oIXJldCk7CisJfSBlbHNlIHsKKwkJcmV0ID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLCBtYXhfYmxvY2tzLAorCQkJCSAgIGJoX3Jlc3VsdCwgY3JlYXRlLCAwLCBFWFQ0X0RFTEFMTE9DX1JTVkVEKTsKKwl9CisKKwlpZiAocmV0ID4gMCkgeworCQliaF9yZXN1bHQtPmJfc2l6ZSA9IChyZXQgPDwgaW5vZGUtPmlfYmxrYml0cyk7CisKKwkJLyoKKwkJICogVXBkYXRlIG9uLWRpc2sgc2l6ZSBhbG9uZyB3aXRoIGJsb2NrIGFsbG9jYXRpb24KKwkJICogd2UgZG9uJ3QgdXNlICdleHRlbmRfZGlza3NpemUnIGFzIHNpemUgbWF5IGNoYW5nZQorCQkgKiB3aXRoaW4gYWxyZWFkeSBhbGxvY2F0ZWQgYmxvY2sgLWJ6enoKKwkJICovCisJCWRpc2tzaXplID0gKChsb2ZmX3QpIGlibG9jayArIHJldCkgPDwgaW5vZGUtPmlfYmxrYml0czsKKwkJaWYgKGRpc2tzaXplID4gaV9zaXplX3JlYWQoaW5vZGUpKQorCQkJZGlza3NpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJCWlmIChkaXNrc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpIHsKKwkJCS8qCisJCQkgKiBYWFg6IHJlcGxhY2Ugd2l0aCBzcGlubG9jayBpZiBzZWVuIGNvbnRlbmRlZCAtYnp6egorCQkJICovCisJCQlkb3duX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKKwkJCWlmIChkaXNrc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpCisJCQkJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IGRpc2tzaXplOworCQkJdXBfd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOworCisJCQlpZiAoRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9PSBkaXNrc2l6ZSkgeworCQkJCXJldCA9IGV4dDRfbWFya19pbm9kZV9kaXJ0eShoYW5kbGUsIGlub2RlKTsKKwkJCQlyZXR1cm4gcmV0OworCQkJfQorCQl9CisJCXJldCA9IDA7CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9iaF91bm1hcHBlZF9vcl9kZWxheShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQoreworCS8qCisJICogdW5tYXBwZWQgYnVmZmVyIGlzIHBvc3NpYmxlIGZvciBob2xlcy4KKwkgKiBkZWxheSBidWZmZXIgaXMgcG9zc2libGUgd2l0aCBkZWxheWVkIGFsbG9jYXRpb24KKwkgKi8KKwlyZXR1cm4gKCghYnVmZmVyX21hcHBlZChiaCkgfHwgYnVmZmVyX2RlbGF5KGJoKSkgJiYgYnVmZmVyX2RpcnR5KGJoKSk7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHNlY3Rvcl90IGlibG9jaywKKwkJCQkgICBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoX3Jlc3VsdCwgaW50IGNyZWF0ZSkKK3sKKwlpbnQgcmV0ID0gMDsKKwl1bnNpZ25lZCBtYXhfYmxvY2tzID0gYmhfcmVzdWx0LT5iX3NpemUgPj4gaW5vZGUtPmlfYmxrYml0czsKKworCS8qCisJICogd2UgZG9uJ3Qgd2FudCB0byBkbyBibG9jayBhbGxvY2F0aW9uIGluIHdyaXRlcGFnZQorCSAqIHNvIGNhbGwgZ2V0X2Jsb2NrX3dyYXAgd2l0aCBjcmVhdGUgPSAwCisJICovCisJcmV0ID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoTlVMTCwgaW5vZGUsIGlibG9jaywgbWF4X2Jsb2NrcywKKwkJCQkgICBiaF9yZXN1bHQsIDAsIDAsIDApOworCWlmIChyZXQgPiAwKSB7CisJCWJoX3Jlc3VsdC0+Yl9zaXplID0gKHJldCA8PCBpbm9kZS0+aV9ibGtiaXRzKTsKKwkJcmV0ID0gMDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIGdldCBjYWxsZWQgdmkgZXh0NF9kYV93cml0ZXBhZ2VzIGFmdGVyIHRha2luZyBwYWdlIGxvY2sgKGhhdmUgam91cm5hbCBoYW5kbGUpCisgKiBnZXQgY2FsbGVkIHZpYSBqb3VybmFsX3N1Ym1pdF9pbm9kZV9kYXRhX2J1ZmZlcnMgKG5vIGpvdXJuYWwgaGFuZGxlKQorICogZ2V0IGNhbGxlZCB2aWEgc2hyaW5rX3BhZ2VfbGlzdCB2aWEgcGRmbHVzaCAobm8gam91cm5hbCBoYW5kbGUpCisgKiBvciBncmFiX3BhZ2VfY2FjaGUgd2hlbiBkb2luZyB3cml0ZV9iZWdpbiAoaGF2ZSBqb3VybmFsIGhhbmRsZSkKKyAqLworc3RhdGljIGludCBleHQ0X2RhX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKK3sKKwlpbnQgcmV0ID0gMDsKKwlsb2ZmX3Qgc2l6ZTsKKwl1bnNpZ25lZCBsb25nIGxlbjsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKnBhZ2VfYnVmczsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKKworCXNpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJaWYgKHBhZ2UtPmluZGV4ID09IHNpemUgPj4gUEFHRV9DQUNIRV9TSElGVCkKKwkJbGVuID0gc2l6ZSAmIH5QQUdFX0NBQ0hFX01BU0s7CisJZWxzZQorCQlsZW4gPSBQQUdFX0NBQ0hFX1NJWkU7CisKKwlpZiAocGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgeworCQlwYWdlX2J1ZnMgPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJCWlmICh3YWxrX3BhZ2VfYnVmZmVycyhOVUxMLCBwYWdlX2J1ZnMsIDAsIGxlbiwgTlVMTCwKKwkJCQkJZXh0NF9iaF91bm1hcHBlZF9vcl9kZWxheSkpIHsKKwkJCS8qCisJCQkgKiBXZSBkb24ndCB3YW50IHRvIGRvICBibG9jayBhbGxvY2F0aW9uCisJCQkgKiBTbyByZWRpcnR5IHRoZSBwYWdlIGFuZCByZXR1cm4KKwkJCSAqIFdlIG1heSByZWFjaCBoZXJlIHdoZW4gd2UgZG8gYSBqb3VybmFsIGNvbW1pdAorCQkJICogdmlhIGpvdXJuYWxfc3VibWl0X2lub2RlX2RhdGFfYnVmZmVycy4KKwkJCSAqIElmIHdlIGRvbid0IGhhdmUgbWFwcGluZyBibG9jayB3ZSBqdXN0IGlnbm9yZQorCQkJICogdGhlbS4gV2UgY2FuIGFsc28gcmVhY2ggaGVyZSB2aWEgc2hyaW5rX3BhZ2VfbGlzdAorCQkJICovCisJCQlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0gZWxzZSB7CisJCS8qCisJCSAqIFRoZSB0ZXN0IGZvciBwYWdlX2hhc19idWZmZXJzKCkgaXMgc3VidGxlOgorCQkgKiBXZSBrbm93IHRoZSBwYWdlIGlzIGRpcnR5IGJ1dCBpdCBsb3N0IGJ1ZmZlcnMuIFRoYXQgbWVhbnMKKwkJICogdGhhdCBhdCBzb21lIG1vbWVudCBpbiB0aW1lIGFmdGVyIHdyaXRlX2JlZ2luKCkvd3JpdGVfZW5kKCkKKwkJICogaGFzIGJlZW4gY2FsbGVkIGFsbCBidWZmZXJzIGhhdmUgYmVlbiBjbGVhbiBhbmQgdGh1cyB0aGV5CisJCSAqIG11c3QgaGF2ZSBiZWVuIHdyaXR0ZW4gYXQgbGVhc3Qgb25jZS4gU28gdGhleSBhcmUgYWxsCisJCSAqIG1hcHBlZCBhbmQgd2UgY2FuIGhhcHBpbHkgcHJvY2VlZCB3aXRoIG1hcHBpbmcgdGhlbQorCQkgKiBhbmQgd3JpdGluZyB0aGUgcGFnZS4KKwkJICoKKwkJICogVHJ5IHRvIGluaXRpYWxpemUgdGhlIGJ1ZmZlcl9oZWFkcyBhbmQgY2hlY2sgd2hldGhlcgorCQkgKiBhbGwgYXJlIG1hcHBlZCBhbmQgbm9uIGRlbGF5LiBXZSBkb24ndCB3YW50IHRvCisJCSAqIGRvIGJsb2NrIGFsbG9jYXRpb24gaGVyZS4KKwkJICovCisJCXJldCA9IGJsb2NrX3ByZXBhcmVfd3JpdGUocGFnZSwgMCwgUEFHRV9DQUNIRV9TSVpFLAorCQkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlKTsKKwkJaWYgKCFyZXQpIHsKKwkJCXBhZ2VfYnVmcyA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKKwkJCS8qIGNoZWNrIHdoZXRoZXIgYWxsIGFyZSBtYXBwZWQgYW5kIG5vbiBkZWxheSAqLworCQkJaWYgKHdhbGtfcGFnZV9idWZmZXJzKE5VTEwsIHBhZ2VfYnVmcywgMCwgbGVuLCBOVUxMLAorCQkJCQkJZXh0NF9iaF91bm1hcHBlZF9vcl9kZWxheSkpIHsKKwkJCQlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCQkJCXVubG9ja19wYWdlKHBhZ2UpOworCQkJCXJldHVybiAwOworCQkJfQorCQl9IGVsc2UgeworCQkJLyoKKwkJCSAqIFdlIGNhbid0IGRvIGJsb2NrIGFsbG9jYXRpb24gaGVyZQorCQkJICogc28ganVzdCByZWRpdHkgdGhlIHBhZ2UgYW5kIHVubG9jaworCQkJICogYW5kIHJldHVybgorCQkJICovCisJCQlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCWlmICh0ZXN0X29wdChpbm9kZS0+aV9zYiwgTk9CSCkgJiYgZXh0NF9zaG91bGRfd3JpdGViYWNrX2RhdGEoaW5vZGUpKQorCQlyZXQgPSBub2JoX3dyaXRlcGFnZShwYWdlLCBleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUsIHdiYyk7CisJZWxzZQorCQlyZXQgPSBibG9ja193cml0ZV9mdWxsX3BhZ2UocGFnZSwKKwkJCQkJCWV4dDRfbm9ybWFsX2dldF9ibG9ja193cml0ZSwKKwkJCQkJCXdiYyk7CisKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogRm9yIG5vdyBqdXN0IGZvbGxvdyB0aGUgRElPIHdheSB0byBlc3RpbWF0ZSB0aGUgbWF4IGNyZWRpdHMKKyAqIG5lZWRlZCB0byB3cml0ZSBvdXQgRVhUNF9NQVhfV1JJVEVCQUNLX1BBR0VTLgorICogdG9kbzogbmVlZCB0byBjYWxjdWxhdGUgdGhlIG1heCBjcmVkaXRzIG5lZWQgZm9yCisgKiBleHRlbnQgYmFzZWQgZmlsZXMsIGN1cnJlbnRseSB0aGUgRElPIGNyZWRpdHMgaXMgYmFzZWQgb24KKyAqIGluZGlyZWN0LWJsb2NrcyBtYXBwaW5nIHdheS4KKyAqCisgKiBQcm9iYWJseSBzaG91bGQgaGF2ZSBhIGdlbmVyaWMgd2F5IHRvIGNhbGN1bGF0ZSBjcmVkaXRzCisgKiBmb3IgRElPLCB3cml0ZXBhZ2VzLCBhbmQgdHJ1bmNhdGUKKyAqLworI2RlZmluZSBFWFQ0X01BWF9XUklURUJBQ0tfUEFHRVMgICAgICBESU9fTUFYX0JMT0NLUworI2RlZmluZSBFWFQ0X01BWF9XUklURUJBQ0tfQ1JFRElUUyAgICBESU9fQ1JFRElUUworCitzdGF0aWMgaW50IGV4dDRfZGFfd3JpdGVwYWdlcyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKK3sKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKKwloYW5kbGVfdCAqaGFuZGxlID0gTlVMTDsKKwlpbnQgbmVlZGVkX2Jsb2NrczsKKwlpbnQgcmV0ID0gMDsKKwlsb25nIHRvX3dyaXRlOworCWxvZmZfdCByYW5nZV9zdGFydCA9IDA7CisKKwkvKgorCSAqIE5vIHBhZ2VzIHRvIHdyaXRlPyBUaGlzIGlzIG1haW5seSBhIGtsdWRnZSB0byBhdm9pZCBzdGFydGluZworCSAqIGEgdHJhbnNhY3Rpb24gZm9yIHNwZWNpYWwgaW5vZGVzIGxpa2Ugam91cm5hbCBpbm9kZSBvbiBsYXN0IGlwdXQoKQorCSAqIGJlY2F1c2UgdGhhdCBjb3VsZCB2aW9sYXRlIGxvY2sgb3JkZXJpbmcgb24gdW1vdW50CisJICovCisJaWYgKCFtYXBwaW5nLT5ucnBhZ2VzKQorCQlyZXR1cm4gMDsKKworCS8qCisJICogRXN0aW1hdGUgdGhlIHdvcnNlIGNhc2UgbmVlZGVkIGNyZWRpdHMgdG8gd3JpdGUgb3V0CisJICogRVhUNF9NQVhfQlVGX0JMT0NLUyBwYWdlcworCSAqLworCW5lZWRlZF9ibG9ja3MgPSBFWFQ0X01BWF9XUklURUJBQ0tfQ1JFRElUUzsKKworCXRvX3dyaXRlID0gd2JjLT5ucl90b193cml0ZTsKKwlpZiAoIXdiYy0+cmFuZ2VfY3ljbGljKSB7CisJCS8qCisJCSAqIElmIHJhbmdlX2N5Y2xpYyBpcyBub3Qgc2V0IGZvcmNlIHJhbmdlX2NvbnQKKwkJICogYW5kIHNhdmUgdGhlIG9sZCB3cml0ZWJhY2tfaW5kZXgKKwkJICovCisJCXdiYy0+cmFuZ2VfY29udCA9IDE7CisJCXJhbmdlX3N0YXJ0ID0gIHdiYy0+cmFuZ2Vfc3RhcnQ7CisJfQorCisJd2hpbGUgKCFyZXQgJiYgdG9fd3JpdGUpIHsKKwkJLyogc3RhcnQgYSBuZXcgdHJhbnNhY3Rpb24qLworCQloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIG5lZWRlZF9ibG9ja3MpOworCQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKKwkJCXJldCA9IFBUUl9FUlIoaGFuZGxlKTsKKwkJCWdvdG8gb3V0X3dyaXRlcGFnZXM7CisJCX0KKwkJaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKSB7CisJCQkvKgorCQkJICogV2l0aCBvcmRlcmVkIG1vZGUgd2UgbmVlZCB0byBhZGQKKwkJCSAqIHRoZSBpbm9kZSB0byB0aGUgam91cm5hbCBoYW5kbGUKKwkJCSAqIHdoZW4gd2UgZG8gYmxvY2sgYWxsb2NhdGlvbi4KKwkJCSAqLworCQkJcmV0ID0gZXh0NF9qYmQyX2ZpbGVfaW5vZGUoaGFuZGxlLCBpbm9kZSk7CisJCQlpZiAocmV0KSB7CisJCQkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKwkJCQlnb3RvIG91dF93cml0ZXBhZ2VzOworCQkJfQorCisJCX0KKwkJLyoKKwkJICogc2V0IHRoZSBtYXggZGlydHkgcGFnZXMgY291bGQgYmUgd3JpdGUgYXQgYSB0aW1lCisJCSAqIHRvIGZpdCBpbnRvIHRoZSByZXNlcnZlZCB0cmFuc2FjdGlvbiBjcmVkaXRzCisJCSAqLworCQlpZiAod2JjLT5ucl90b193cml0ZSA+IEVYVDRfTUFYX1dSSVRFQkFDS19QQUdFUykKKwkJCXdiYy0+bnJfdG9fd3JpdGUgPSBFWFQ0X01BWF9XUklURUJBQ0tfUEFHRVM7CisKKwkJdG9fd3JpdGUgLT0gd2JjLT5ucl90b193cml0ZTsKKwkJcmV0ID0gbXBhZ2VfZGFfd3JpdGVwYWdlcyhtYXBwaW5nLCB3YmMsCisJCQkJCQlleHQ0X2RhX2dldF9ibG9ja193cml0ZSk7CisJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisJCWlmICh3YmMtPm5yX3RvX3dyaXRlKSB7CisJCQkvKgorCQkJICogVGhlcmUgaXMgbm8gbW9yZSB3cml0ZW91dCBuZWVkZWQKKwkJCSAqIG9yIHdlIHJlcXVlc3RlZCBmb3IgYSBub2Jsb2NraW5nIHdyaXRlb3V0CisJCQkgKiBhbmQgd2UgZm91bmQgdGhlIGRldmljZSBjb25nZXN0ZWQKKwkJCSAqLworCQkJdG9fd3JpdGUgKz0gd2JjLT5ucl90b193cml0ZTsKKwkJCWJyZWFrOworCQl9CisJCXdiYy0+bnJfdG9fd3JpdGUgPSB0b193cml0ZTsKKwl9CisKK291dF93cml0ZXBhZ2VzOgorCXdiYy0+bnJfdG9fd3JpdGUgPSB0b193cml0ZTsKKwlpZiAocmFuZ2Vfc3RhcnQpCisJCXdiYy0+cmFuZ2Vfc3RhcnQgPSByYW5nZV9zdGFydDsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGV4dDRfZGFfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAorCQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgZmxhZ3MsCisJCQkJc3RydWN0IHBhZ2UgKipwYWdlcCwgdm9pZCAqKmZzZGF0YSkKK3sKKwlpbnQgcmV0LCByZXRyaWVzID0gMDsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlwZ29mZl90IGluZGV4OworCXVuc2lnbmVkIGZyb20sIHRvOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OworCWhhbmRsZV90ICpoYW5kbGU7CisKKwlpbmRleCA9IHBvcyA+PiBQQUdFX0NBQ0hFX1NISUZUOworCWZyb20gPSBwb3MgJiAoUEFHRV9DQUNIRV9TSVpFIC0gMSk7CisJdG8gPSBmcm9tICsgbGVuOworCityZXRyeToKKwkvKgorCSAqIFdpdGggZGVsYXllZCBhbGxvY2F0aW9uLCB3ZSBkb24ndCBsb2cgdGhlIGlfZGlza3NpemUgdXBkYXRlCisJICogaWYgdGhlcmUgaXMgZGVsYXllZCBibG9jayBhbGxvY2F0aW9uLiBCdXQgd2Ugc3RpbGwgbmVlZAorCSAqIHRvIGpvdXJuYWxsaW5nIHRoZSBpX2Rpc2tzaXplIHVwZGF0ZSBpZiB3cml0ZXMgdG8gdGhlIGVuZAorCSAqIG9mIGZpbGUgd2hpY2ggaGFzIGFuIGFscmVhZHkgbWFwcGVkIGJ1ZmZlci4KKwkgKi8KKwloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIDEpOworCWlmIChJU19FUlIoaGFuZGxlKSkgeworCQlyZXQgPSBQVFJfRVJSKGhhbmRsZSk7CisJCWdvdG8gb3V0OworCX0KKworCXBhZ2UgPSBfX2dyYWJfY2FjaGVfcGFnZShtYXBwaW5nLCBpbmRleCk7CisJaWYgKCFwYWdlKQorCQlyZXR1cm4gLUVOT01FTTsKKwkqcGFnZXAgPSBwYWdlOworCisJcmV0ID0gYmxvY2tfd3JpdGVfYmVnaW4oZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGZsYWdzLCBwYWdlcCwgZnNkYXRhLAorCQkJCQkJCWV4dDRfZGFfZ2V0X2Jsb2NrX3ByZXApOworCWlmIChyZXQgPCAwKSB7CisJCXVubG9ja19wYWdlKHBhZ2UpOworCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CisJfQorCisJaWYgKHJldCA9PSAtRU5PU1BDICYmIGV4dDRfc2hvdWxkX3JldHJ5X2FsbG9jKGlub2RlLT5pX3NiLCAmcmV0cmllcykpCisJCWdvdG8gcmV0cnk7CitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIENoZWNrIGlmIHdlIHNob3VsZCB1cGRhdGUgaV9kaXNrc2l6ZQorICogd2hlbiB3cml0ZSB0byB0aGUgZW5kIG9mIGZpbGUgYnV0IG5vdCByZXF1aXJlIGJsb2NrIGFsbG9jYXRpb24KKyAqLworc3RhdGljIGludCBleHQ0X2RhX3Nob3VsZF91cGRhdGVfaV9kaXNrc2l6ZShzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CisJc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7CisJdW5zaWduZWQgaW50IGlkeDsKKwlpbnQgaTsKKworCWJoID0gcGFnZV9idWZmZXJzKHBhZ2UpOworCWlkeCA9IG9mZnNldCA+PiBpbm9kZS0+aV9ibGtiaXRzOworCisJZm9yIChpPTA7IGkgPCBpZHg7IGkrKykKKwkJYmggPSBiaC0+Yl90aGlzX3BhZ2U7CisKKwlpZiAoIWJ1ZmZlcl9tYXBwZWQoYmgpIHx8IChidWZmZXJfZGVsYXkoYmgpKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9kYV93cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsCisJCQkJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCisJCQkJbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsCisJCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIHZvaWQgKmZzZGF0YSkKK3sKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKKwlpbnQgcmV0ID0gMCwgcmV0MjsKKwloYW5kbGVfdCAqaGFuZGxlID0gZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCk7CisJbG9mZl90IG5ld19pX3NpemU7CisJdW5zaWduZWQgbG9uZyBzdGFydCwgZW5kOworCisJc3RhcnQgPSBwb3MgJiAoUEFHRV9DQUNIRV9TSVpFIC0gMSk7CisJZW5kID0gc3RhcnQgKyBjb3BpZWQgLTE7CisKKwkvKgorCSAqIGdlbmVyaWNfd3JpdGVfZW5kKCkgd2lsbCBydW4gbWFya19pbm9kZV9kaXJ0eSgpIGlmIGlfc2l6ZQorCSAqIGNoYW5nZXMuICBTbyBsZXQncyBwaWdneWJhY2sgdGhlIGlfZGlza3NpemUgbWFya19pbm9kZV9kaXJ0eQorCSAqIGludG8gdGhhdC4KKwkgKi8KKworCW5ld19pX3NpemUgPSBwb3MgKyBjb3BpZWQ7CisJaWYgKG5ld19pX3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKSB7CisJCWlmIChleHQ0X2RhX3Nob3VsZF91cGRhdGVfaV9kaXNrc2l6ZShwYWdlLCBlbmQpKSB7CisJCQlkb3duX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKKwkJCWlmIChuZXdfaV9zaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkgeworCQkJCS8qCisJCQkJICogVXBkYXRpbmcgaV9kaXNrc2l6ZSB3aGVuIGV4dGVuZGluZyBmaWxlCisJCQkJICogd2l0aG91dCBuZWVkaW5nIGJsb2NrIGFsbG9jYXRpb24KKwkJCQkgKi8KKwkJCQlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpCisJCQkJCXJldCA9IGV4dDRfamJkMl9maWxlX2lub2RlKGhhbmRsZSwKKwkJCQkJCQkJICAgaW5vZGUpOworCisJCQkJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IG5ld19pX3NpemU7CisJCQl9CisJCQl1cF93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CisJCX0KKwl9CisJcmV0MiA9IGdlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsCisJCQkJCQkJcGFnZSwgZnNkYXRhKTsKKwljb3BpZWQgPSByZXQyOworCWlmIChyZXQyIDwgMCkKKwkJcmV0ID0gcmV0MjsKKwlyZXQyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKwlpZiAoIXJldCkKKwkJcmV0ID0gcmV0MjsKKworCXJldHVybiByZXQgPyByZXQgOiBjb3BpZWQ7Cit9CisKK3N0YXRpYyB2b2lkIGV4dDRfZGFfaW52YWxpZGF0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCS8qCisJICogRHJvcCByZXNlcnZlZCBibG9ja3MKKwkgKi8KKwlCVUdfT04oIVBhZ2VMb2NrZWQocGFnZSkpOworCWlmICghcGFnZV9oYXNfYnVmZmVycyhwYWdlKSkKKwkJZ290byBvdXQ7CisKKwlleHQ0X2RhX3BhZ2VfcmVsZWFzZV9yZXNlcnZhdGlvbihwYWdlLCBvZmZzZXQpOworCitvdXQ6CisJZXh0NF9pbnZhbGlkYXRlcGFnZShwYWdlLCBvZmZzZXQpOworCisJcmV0dXJuOworfQorCiAKIC8qCiAgKiBibWFwKCkgaXMgc3BlY2lhbC4gIEl0IGdldHMgdXNlZCBieSBhcHBsaWNhdGlvbnMgc3VjaCBhcyBsaWxvIGFuZCBieQpAQCAtMTQxOCw2ICsyNDA5LDE2IEBACiAJam91cm5hbF90ICpqb3VybmFsOwogCWludCBlcnI7CiAKKwlpZiAobWFwcGluZ190YWdnZWQobWFwcGluZywgUEFHRUNBQ0hFX1RBR19ESVJUWSkgJiYKKwkJCXRlc3Rfb3B0KGlub2RlLT5pX3NiLCBERUxBTExPQykpIHsKKwkJLyoKKwkJICogV2l0aCBkZWxhbGxvYyB3ZSB3YW50IHRvIHN5bmMgdGhlIGZpbGUKKwkJICogc28gdGhhdCB3ZSBjYW4gbWFrZSBzdXJlIHdlIGFsbG9jYXRlCisJCSAqIGJsb2NrcyBmb3IgZmlsZQorCQkgKi8KKwkJZmlsZW1hcF93cml0ZV9hbmRfd2FpdChtYXBwaW5nKTsKKwl9CisKIAlpZiAoRVhUNF9JKGlub2RlKS0+aV9zdGF0ZSAmIEVYVDRfU1RBVEVfSkRBVEEpIHsKIAkJLyoKIAkJICogVGhpcyBpcyBhIFJFQUxMWSBoZWF2eXdlaWdodCBhcHByb2FjaCwgYnV0IHRoZSB1c2Ugb2YKQEAgLTE0NjIsMjEgKzI0NjMsMTcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YV9mbihoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQotewotCWlmIChidWZmZXJfbWFwcGVkKGJoKSkKLQkJcmV0dXJuIGV4dDRfam91cm5hbF9kaXJ0eV9kYXRhKGhhbmRsZSwgYmgpOwotCXJldHVybiAwOwotfQotCiAvKgotICogTm90ZSB0aGF0IHdlIGFsd2F5cyBzdGFydCBhIHRyYW5zYWN0aW9uIGV2ZW4gaWYgd2UncmUgbm90IGpvdXJuYWxsaW5nCi0gKiBkYXRhLiAgVGhpcyBpcyB0byBwcmVzZXJ2ZSBvcmRlcmluZzogYW55IGhvbGUgaW5zdGFudGlhdGlvbiB3aXRoaW4KLSAqIF9fYmxvY2tfd3JpdGVfZnVsbF9wYWdlIC0+IGV4dDRfZ2V0X2Jsb2NrKCkgc2hvdWxkIGJlIGpvdXJuYWxsZWQKLSAqIGFsb25nIHdpdGggdGhlIGRhdGEgc28gd2UgZG9uJ3QgY3Jhc2ggYW5kIHRoZW4gZ2V0IG1ldGFkYXRhIHdoaWNoCi0gKiByZWZlcnMgdG8gb2xkIGRhdGEuCisgKiBOb3RlIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBzdGFydCBhIHRyYW5zYWN0aW9uIHVubGVzcyB3ZSdyZSBqb3VybmFsaW5nIGRhdGEKKyAqIGJlY2F1c2Ugd2Ugc2hvdWxkIGhhdmUgaG9sZXMgZmlsbGVkIGZyb20gZXh0NF9wYWdlX21rd3JpdGUoKS4gV2UgZXZlbiBkb24ndAorICogbmVlZCB0byBmaWxlIHRoZSBpbm9kZSB0byB0aGUgdHJhbnNhY3Rpb24ncyBsaXN0IGluIG9yZGVyZWQgbW9kZSBiZWNhdXNlIGlmCisgKiB3ZSBhcmUgd3JpdGluZyBiYWNrIGRhdGEgYWRkZWQgYnkgd3JpdGUoKSwgdGhlIGlub2RlIGlzIGFscmVhZHkgdGhlcmUgYW5kIGlmCisgKiB3ZSBhcmUgd3JpdGluZyBiYWNrIGRhdGEgbW9kaWZpZWQgdmlhIG1tYXAoKSwgbm9vbmUgZ3VhcmFudGVlcyBpbiB3aGljaAorICogdHJhbnNhY3Rpb24gdGhlIGRhdGEgd2lsbCBoaXQgdGhlIGRpc2suIEluIGNhc2Ugd2UgYXJlIGpvdXJuYWxpbmcgZGF0YSwgd2UKKyAqIGNhbm5vdCBzdGFydCB0cmFuc2FjdGlvbiBkaXJlY3RseSBiZWNhdXNlIHRyYW5zYWN0aW9uIHN0YXJ0IHJhbmtzIGFib3ZlIHBhZ2UKKyAqIGxvY2sgc28gd2UgaGF2ZSB0byBkbyBzb21lIG1hZ2ljLgogICoKLSAqIEluIGFsbCBqb3VybmFsbGluZyBtb2RlcyBibG9ja193cml0ZV9mdWxsX3BhZ2UoKSB3aWxsIHN0YXJ0IHRoZSBJL08uCisgKiBJbiBhbGwgam91cm5hbGluZyBtb2RlcyBibG9ja193cml0ZV9mdWxsX3BhZ2UoKSB3aWxsIHN0YXJ0IHRoZSBJL08uCiAgKgogICogUHJvYmxlbToKICAqCkBAIC0xNTE4LDEwNSArMjUxNSwxMDMgQEAKICAqIGRpc2FzdHJvdXMuICBBbnkgd3JpdGUoKSBvciBtZXRhZGF0YSBvcGVyYXRpb24gd2lsbCBzeW5jIHRoZSBmcyBmb3IKICAqIHVzLgogICoKLSAqIEFLUE0yOiBpZiBhbGwgdGhlIHBhZ2UncyBidWZmZXJzIGFyZSBtYXBwZWQgdG8gZGlzayBhbmQgIWRhdGE9am91cm5hbCwKLSAqIHdlIGRvbid0IG5lZWQgdG8gb3BlbiBhIHRyYW5zYWN0aW9uIGhlcmUuCiAgKi8KLXN0YXRpYyBpbnQgZXh0NF9vcmRlcmVkX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKK3N0YXRpYyBpbnQgX19leHQ0X25vcm1hbF93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCiAJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7CisKKwlpZiAodGVzdF9vcHQoaW5vZGUtPmlfc2IsIE5PQkgpKQorCQlyZXR1cm4gbm9iaF93cml0ZXBhZ2UocGFnZSwKKwkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlLCB3YmMpOworCWVsc2UKKwkJcmV0dXJuIGJsb2NrX3dyaXRlX2Z1bGxfcGFnZShwYWdlLAorCQkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlLAorCQkJCQkJd2JjKTsKK30KKworc3RhdGljIGludCBleHQ0X25vcm1hbF93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCit7CisJc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7CisJbG9mZl90IHNpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJbG9mZl90IGxlbjsKKworCUpfQVNTRVJUKFBhZ2VMb2NrZWQocGFnZSkpOworCWlmIChwYWdlLT5pbmRleCA9PSBzaXplID4+IFBBR0VfQ0FDSEVfU0hJRlQpCisJCWxlbiA9IHNpemUgJiB+UEFHRV9DQUNIRV9NQVNLOworCWVsc2UKKwkJbGVuID0gUEFHRV9DQUNIRV9TSVpFOworCisJaWYgKHBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpIHsKKwkJLyogaWYgcGFnZSBoYXMgYnVmZmVycyBpdCBzaG91bGQgYWxsIGJlIG1hcHBlZAorCQkgKiBhbmQgYWxsb2NhdGVkLiBJZiB0aGVyZSBhcmUgbm90IGJ1ZmZlcnMgYXR0YWNoZWQKKwkJICogdG8gdGhlIHBhZ2Ugd2Uga25vdyB0aGUgcGFnZSBpcyBkaXJ0eSBidXQgaXQgbG9zdAorCQkgKiBidWZmZXJzLiBUaGF0IG1lYW5zIHRoYXQgYXQgc29tZSBtb21lbnQgaW4gdGltZQorCQkgKiBhZnRlciB3cml0ZV9iZWdpbigpIC8gd3JpdGVfZW5kKCkgaGFzIGJlZW4gY2FsbGVkCisJCSAqIGFsbCBidWZmZXJzIGhhdmUgYmVlbiBjbGVhbiBhbmQgdGh1cyB0aGV5IG11c3QgaGF2ZSBiZWVuCisJCSAqIHdyaXR0ZW4gYXQgbGVhc3Qgb25jZS4gU28gdGhleSBhcmUgYWxsIG1hcHBlZCBhbmQgd2UgY2FuCisJCSAqIGhhcHBpbHkgcHJvY2VlZCB3aXRoIG1hcHBpbmcgdGhlbSBhbmQgd3JpdGluZyB0aGUgcGFnZS4KKwkJICovCisJCUJVR19PTih3YWxrX3BhZ2VfYnVmZmVycyhOVUxMLCBwYWdlX2J1ZmZlcnMocGFnZSksIDAsIGxlbiwgTlVMTCwKKwkJCQkJZXh0NF9iaF91bm1hcHBlZF9vcl9kZWxheSkpOworCX0KKworCWlmICghZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCkpCisJCXJldHVybiBfX2V4dDRfbm9ybWFsX3dyaXRlcGFnZShwYWdlLCB3YmMpOworCisJcmVkaXJ0eV9wYWdlX2Zvcl93cml0ZXBhZ2Uod2JjLCBwYWdlKTsKKwl1bmxvY2tfcGFnZShwYWdlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2V4dDRfam91cm5hbGxlZF93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCit7CisJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBwYWdlLT5tYXBwaW5nOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OwogCXN0cnVjdCBidWZmZXJfaGVhZCAqcGFnZV9idWZzOwogCWhhbmRsZV90ICpoYW5kbGUgPSBOVUxMOwogCWludCByZXQgPSAwOwogCWludCBlcnI7CiAKLQlKX0FTU0VSVChQYWdlTG9ja2VkKHBhZ2UpKTsKKwlyZXQgPSBibG9ja19wcmVwYXJlX3dyaXRlKHBhZ2UsIDAsIFBBR0VfQ0FDSEVfU0laRSwKKwkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlKTsKKwlpZiAocmV0ICE9IDApCisJCWdvdG8gb3V0X3VubG9jazsKIAotCS8qCi0JICogV2UgZ2l2ZSB1cCBoZXJlIGlmIHdlJ3JlIHJlZW50ZXJlZCwgYmVjYXVzZSBpdCBtaWdodCBiZSBmb3IgYQotCSAqIGRpZmZlcmVudCBmaWxlc3lzdGVtLgotCSAqLwotCWlmIChleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKSkKLQkJZ290byBvdXRfZmFpbDsKLQotCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgZXh0NF93cml0ZXBhZ2VfdHJhbnNfYmxvY2tzKGlub2RlKSk7Ci0KLQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLQkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOwotCQlnb3RvIG91dF9mYWlsOwotCX0KLQotCWlmICghcGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgewotCQljcmVhdGVfZW1wdHlfYnVmZmVycyhwYWdlLCBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemUsCi0JCQkJKDEgPDwgQkhfRGlydHkpfCgxIDw8IEJIX1VwdG9kYXRlKSk7Ci0JfQogCXBhZ2VfYnVmcyA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKLQl3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwKLQkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgYmdldF9vbmUpOwotCi0JcmV0ID0gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsIGV4dDRfZ2V0X2Jsb2NrLCB3YmMpOwotCi0JLyoKLQkgKiBUaGUgcGFnZSBjYW4gYmVjb21lIHVubG9ja2VkIGF0IGFueSBwb2ludCBub3csIGFuZAotCSAqIHRydW5jYXRlIGNhbiB0aGVuIGNvbWUgaW4gYW5kIGNoYW5nZSB0aGluZ3MuICBTbyB3ZQotCSAqIGNhbid0IHRvdWNoICpwYWdlIGZyb20gbm93IG9uLiAgQnV0ICpwYWdlX2J1ZnMgaXMKLQkgKiBzYWZlIGR1ZSB0byBlbGV2YXRlZCByZWZjb3VudC4KLQkgKi8KLQotCS8qCi0JICogQW5kIGF0dGFjaCB0aGVtIHRvIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLiAgQnV0IG9ubHkgaWYKLQkgKiBibG9ja193cml0ZV9mdWxsX3BhZ2UoKSBzdWNjZWVkZWQuICBPdGhlcndpc2UgdGhleSBhcmUgdW5tYXBwZWQsCi0JICogYW5kIGdlbmVyYWxseSBqdW5rLgotCSAqLwotCWlmIChyZXQgPT0gMCkgewotCQllcnIgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwgUEFHRV9DQUNIRV9TSVpFLAotCQkJCQlOVUxMLCBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YV9mbik7Ci0JCWlmICghcmV0KQotCQkJcmV0ID0gZXJyOwotCX0KLQl3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwKLQkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgYnB1dF9vbmUpOwotCWVyciA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7Ci0JaWYgKCFyZXQpCi0JCXJldCA9IGVycjsKLQlyZXR1cm4gcmV0OwotCi1vdXRfZmFpbDoKLQlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCXdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLCBQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsCisJCQkJCQkJCWJnZXRfb25lKTsKKwkvKiBBcyBzb29uIGFzIHdlIHVubG9jayB0aGUgcGFnZSwgaXQgY2FuIGdvIGF3YXksIGJ1dCB3ZSBoYXZlCisJICogcmVmZXJlbmNlcyB0byBidWZmZXJzIHNvIHdlIGFyZSBzYWZlICovCiAJdW5sb2NrX3BhZ2UocGFnZSk7Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBleHQ0X3dyaXRlYmFja193cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCi0JCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCi17Ci0Jc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7Ci0JaGFuZGxlX3QgKmhhbmRsZSA9IE5VTEw7Ci0JaW50IHJldCA9IDA7Ci0JaW50IGVycjsKLQotCWlmIChleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKSkKLQkJZ290byBvdXRfZmFpbDsKIAogCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgZXh0NF93cml0ZXBhZ2VfdHJhbnNfYmxvY2tzKGlub2RlKSk7CiAJaWYgKElTX0VSUihoYW5kbGUpKSB7CiAJCXJldCA9IFBUUl9FUlIoaGFuZGxlKTsKLQkJZ290byBvdXRfZmFpbDsKKwkJZ290byBvdXQ7CiAJfQogCi0JaWYgKHRlc3Rfb3B0KGlub2RlLT5pX3NiLCBOT0JIKSAmJiBleHQ0X3Nob3VsZF93cml0ZWJhY2tfZGF0YShpbm9kZSkpCi0JCXJldCA9IG5vYmhfd3JpdGVwYWdlKHBhZ2UsIGV4dDRfZ2V0X2Jsb2NrLCB3YmMpOwotCWVsc2UKLQkJcmV0ID0gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsIGV4dDRfZ2V0X2Jsb2NrLCB3YmMpOworCXJldCA9IHdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLAorCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCBkb19qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MpOwogCisJZXJyID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsCisJCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCB3cml0ZV9lbmRfZm4pOworCWlmIChyZXQgPT0gMCkKKwkJcmV0ID0gZXJyOwogCWVyciA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAJaWYgKCFyZXQpCiAJCXJldCA9IGVycjsKLQlyZXR1cm4gcmV0OwogCi1vdXRfZmFpbDoKLQlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCXdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLAorCQkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgYnB1dF9vbmUpOworCUVYVDRfSShpbm9kZSktPmlfc3RhdGUgfD0gRVhUNF9TVEFURV9KREFUQTsKKwlnb3RvIG91dDsKKworb3V0X3VubG9jazoKIAl1bmxvY2tfcGFnZShwYWdlKTsKK291dDoKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xNjI0LDU5ICsyNjE5LDUzIEBACiAJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7Ci0JaGFuZGxlX3QgKmhhbmRsZSA9IE5VTEw7Ci0JaW50IHJldCA9IDA7Ci0JaW50IGVycjsKKwlsb2ZmX3Qgc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwlsb2ZmX3QgbGVuOworCisJSl9BU1NFUlQoUGFnZUxvY2tlZChwYWdlKSk7CisJaWYgKHBhZ2UtPmluZGV4ID09IHNpemUgPj4gUEFHRV9DQUNIRV9TSElGVCkKKwkJbGVuID0gc2l6ZSAmIH5QQUdFX0NBQ0hFX01BU0s7CisJZWxzZQorCQlsZW4gPSBQQUdFX0NBQ0hFX1NJWkU7CisKKwlpZiAocGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgeworCQkvKiBpZiBwYWdlIGhhcyBidWZmZXJzIGl0IHNob3VsZCBhbGwgYmUgbWFwcGVkCisJCSAqIGFuZCBhbGxvY2F0ZWQuIElmIHRoZXJlIGFyZSBub3QgYnVmZmVycyBhdHRhY2hlZAorCQkgKiB0byB0aGUgcGFnZSB3ZSBrbm93IHRoZSBwYWdlIGlzIGRpcnR5IGJ1dCBpdCBsb3N0CisJCSAqIGJ1ZmZlcnMuIFRoYXQgbWVhbnMgdGhhdCBhdCBzb21lIG1vbWVudCBpbiB0aW1lCisJCSAqIGFmdGVyIHdyaXRlX2JlZ2luKCkgLyB3cml0ZV9lbmQoKSBoYXMgYmVlbiBjYWxsZWQKKwkJICogYWxsIGJ1ZmZlcnMgaGF2ZSBiZWVuIGNsZWFuIGFuZCB0aHVzIHRoZXkgbXVzdCBoYXZlIGJlZW4KKwkJICogd3JpdHRlbiBhdCBsZWFzdCBvbmNlLiBTbyB0aGV5IGFyZSBhbGwgbWFwcGVkIGFuZCB3ZSBjYW4KKwkJICogaGFwcGlseSBwcm9jZWVkIHdpdGggbWFwcGluZyB0aGVtIGFuZCB3cml0aW5nIHRoZSBwYWdlLgorCQkgKi8KKwkJQlVHX09OKHdhbGtfcGFnZV9idWZmZXJzKE5VTEwsIHBhZ2VfYnVmZmVycyhwYWdlKSwgMCwgbGVuLCBOVUxMLAorCQkJCQlleHQ0X2JoX3VubWFwcGVkX29yX2RlbGF5KSk7CisJfQogCiAJaWYgKGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpKQogCQlnb3RvIG5vX3dyaXRlOwogCi0JaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBleHQ0X3dyaXRlcGFnZV90cmFuc19ibG9ja3MoaW5vZGUpKTsKLQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLQkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOwotCQlnb3RvIG5vX3dyaXRlOwotCX0KLQotCWlmICghcGFnZV9oYXNfYnVmZmVycyhwYWdlKSB8fCBQYWdlQ2hlY2tlZChwYWdlKSkgeworCWlmIChQYWdlQ2hlY2tlZChwYWdlKSkgewogCQkvKgogCQkgKiBJdCdzIG1tYXBwZWQgcGFnZWNhY2hlLiAgQWRkIGJ1ZmZlcnMgYW5kIGpvdXJuYWwgaXQuICBUaGVyZQogCQkgKiBkb2Vzbid0IHNlZW0gbXVjaCBwb2ludCBpbiByZWRpcnR5aW5nIHRoZSBwYWdlIGhlcmUuCiAJCSAqLwogCQlDbGVhclBhZ2VDaGVja2VkKHBhZ2UpOwotCQlyZXQgPSBibG9ja19wcmVwYXJlX3dyaXRlKHBhZ2UsIDAsIFBBR0VfQ0FDSEVfU0laRSwKLQkJCQkJZXh0NF9nZXRfYmxvY2spOwotCQlpZiAocmV0ICE9IDApIHsKLQkJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7Ci0JCQlnb3RvIG91dF91bmxvY2s7Ci0JCX0KLQkJcmV0ID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZmZlcnMocGFnZSksIDAsCi0JCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIGRvX2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2Vzcyk7Ci0KLQkJZXJyID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZmZlcnMocGFnZSksIDAsCi0JCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCB3cml0ZV9lbmRfZm4pOwotCQlpZiAocmV0ID09IDApCi0JCQlyZXQgPSBlcnI7Ci0JCUVYVDRfSShpbm9kZSktPmlfc3RhdGUgfD0gRVhUNF9TVEFURV9KREFUQTsKLQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCXJldHVybiBfX2V4dDRfam91cm5hbGxlZF93cml0ZXBhZ2UocGFnZSwgd2JjKTsKIAl9IGVsc2UgewogCQkvKgogCQkgKiBJdCBtYXkgYmUgYSBwYWdlIGZ1bGwgb2YgY2hlY2twb2ludC1tb2RlIGJ1ZmZlcnMuICBXZSBkb24ndAogCQkgKiByZWFsbHkga25vdyB1bmxlc3Mgd2UgZ28gcG9rZSBhcm91bmQgaW4gdGhlIGJ1ZmZlcl9oZWFkcy4KIAkJICogQnV0IGJsb2NrX3dyaXRlX2Z1bGxfcGFnZSB3aWxsIGRvIHRoZSByaWdodCB0aGluZy4KIAkJICovCi0JCXJldCA9IGJsb2NrX3dyaXRlX2Z1bGxfcGFnZShwYWdlLCBleHQ0X2dldF9ibG9jaywgd2JjKTsKKwkJcmV0dXJuIGJsb2NrX3dyaXRlX2Z1bGxfcGFnZShwYWdlLAorCQkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlLAorCQkJCQkJd2JjKTsKIAl9Ci0JZXJyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKLQlpZiAoIXJldCkKLQkJcmV0ID0gZXJyOwotb3V0OgotCXJldHVybiByZXQ7Ci0KIG5vX3dyaXRlOgogCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7Ci1vdXRfdW5sb2NrOgogCXVubG9ja19wYWdlKHBhZ2UpOwotCWdvdG8gb3V0OworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGV4dDRfcmVhZHBhZ2Uoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBwYWdlICpwYWdlKQpAQCAtMTgxOSw3ICsyODA4LDcgQEAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIGV4dDRfb3JkZXJlZF9hb3BzID0gewogCS5yZWFkcGFnZQk9IGV4dDRfcmVhZHBhZ2UsCiAJLnJlYWRwYWdlcwk9IGV4dDRfcmVhZHBhZ2VzLAotCS53cml0ZXBhZ2UJPSBleHQ0X29yZGVyZWRfd3JpdGVwYWdlLAorCS53cml0ZXBhZ2UJPSBleHQ0X25vcm1hbF93cml0ZXBhZ2UsCiAJLnN5bmNfcGFnZQk9IGJsb2NrX3N5bmNfcGFnZSwKIAkud3JpdGVfYmVnaW4JPSBleHQ0X3dyaXRlX2JlZ2luLAogCS53cml0ZV9lbmQJPSBleHQ0X29yZGVyZWRfd3JpdGVfZW5kLApAQCAtMTgzMyw3ICsyODIyLDcgQEAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIGV4dDRfd3JpdGViYWNrX2FvcHMgPSB7CiAJLnJlYWRwYWdlCT0gZXh0NF9yZWFkcGFnZSwKIAkucmVhZHBhZ2VzCT0gZXh0NF9yZWFkcGFnZXMsCi0JLndyaXRlcGFnZQk9IGV4dDRfd3JpdGViYWNrX3dyaXRlcGFnZSwKKwkud3JpdGVwYWdlCT0gZXh0NF9ub3JtYWxfd3JpdGVwYWdlLAogCS5zeW5jX3BhZ2UJPSBibG9ja19zeW5jX3BhZ2UsCiAJLndyaXRlX2JlZ2luCT0gZXh0NF93cml0ZV9iZWdpbiwKIAkud3JpdGVfZW5kCT0gZXh0NF93cml0ZWJhY2tfd3JpdGVfZW5kLApAQCAtMTg1NywxMCArMjg0NiwzMSBAQAogCS5yZWxlYXNlcGFnZQk9IGV4dDRfcmVsZWFzZXBhZ2UsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGFkZHJlc3Nfc3BhY2Vfb3BlcmF0aW9ucyBleHQ0X2RhX2FvcHMgPSB7CisJLnJlYWRwYWdlCT0gZXh0NF9yZWFkcGFnZSwKKwkucmVhZHBhZ2VzCT0gZXh0NF9yZWFkcGFnZXMsCisJLndyaXRlcGFnZQk9IGV4dDRfZGFfd3JpdGVwYWdlLAorCS53cml0ZXBhZ2VzCT0gZXh0NF9kYV93cml0ZXBhZ2VzLAorCS5zeW5jX3BhZ2UJPSBibG9ja19zeW5jX3BhZ2UsCisJLndyaXRlX2JlZ2luCT0gZXh0NF9kYV93cml0ZV9iZWdpbiwKKwkud3JpdGVfZW5kCT0gZXh0NF9kYV93cml0ZV9lbmQsCisJLmJtYXAJCT0gZXh0NF9ibWFwLAorCS5pbnZhbGlkYXRlcGFnZQk9IGV4dDRfZGFfaW52YWxpZGF0ZXBhZ2UsCisJLnJlbGVhc2VwYWdlCT0gZXh0NF9yZWxlYXNlcGFnZSwKKwkuZGlyZWN0X0lPCT0gZXh0NF9kaXJlY3RfSU8sCisJLm1pZ3JhdGVwYWdlCT0gYnVmZmVyX21pZ3JhdGVfcGFnZSwKK307CisKIHZvaWQgZXh0NF9zZXRfYW9wcyhzdHJ1Y3QgaW5vZGUgKmlub2RlKQogewotCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkKKwlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkgJiYKKwkJdGVzdF9vcHQoaW5vZGUtPmlfc2IsIERFTEFMTE9DKSkKKwkJaW5vZGUtPmlfbWFwcGluZy0+YV9vcHMgPSAmZXh0NF9kYV9hb3BzOworCWVsc2UgaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKQogCQlpbm9kZS0+aV9tYXBwaW5nLT5hX29wcyA9ICZleHQ0X29yZGVyZWRfYW9wczsKKwllbHNlIGlmIChleHQ0X3Nob3VsZF93cml0ZWJhY2tfZGF0YShpbm9kZSkgJiYKKwkJIHRlc3Rfb3B0KGlub2RlLT5pX3NiLCBERUxBTExPQykpCisJCWlub2RlLT5pX21hcHBpbmctPmFfb3BzID0gJmV4dDRfZGFfYW9wczsKIAllbHNlIGlmIChleHQ0X3Nob3VsZF93cml0ZWJhY2tfZGF0YShpbm9kZSkpCiAJCWlub2RlLT5pX21hcHBpbmctPmFfb3BzID0gJmV4dDRfd3JpdGViYWNrX2FvcHM7CiAJZWxzZQpAQCAtMTg3Myw3ICsyODgzLDcgQEAKICAqIFRoaXMgcmVxdWlyZWQgZHVyaW5nIHRydW5jYXRlLiBXZSBuZWVkIHRvIHBoeXNpY2FsbHkgemVybyB0aGUgdGFpbCBlbmQKICAqIG9mIHRoYXQgYmxvY2sgc28gaXQgZG9lc24ndCB5aWVsZCBvbGQgZGF0YSBpZiB0aGUgZmlsZSBpcyBsYXRlciBncm93bi4KICAqLwotaW50IGV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgcGFnZSAqcGFnZSwKK2ludCBleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlX3QgKmhhbmRsZSwKIAkJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCBmcm9tKQogewogCWV4dDRfZnNibGtfdCBpbmRleCA9IGZyb20gPj4gUEFHRV9DQUNIRV9TSElGVDsKQEAgLTE4ODIsOCArMjg5MiwxMyBAQAogCWV4dDRfbGJsa190IGlibG9jazsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOworCXN0cnVjdCBwYWdlICpwYWdlOwogCWludCBlcnIgPSAwOwogCisJcGFnZSA9IGdyYWJfY2FjaGVfcGFnZShtYXBwaW5nLCBmcm9tID4+IFBBR0VfQ0FDSEVfU0hJRlQpOworCWlmICghcGFnZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKIAlibG9ja3NpemUgPSBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemU7CiAJbGVuZ3RoID0gYmxvY2tzaXplIC0gKG9mZnNldCAmIChibG9ja3NpemUgLSAxKSk7CiAJaWJsb2NrID0gaW5kZXggPDwgKFBBR0VfQ0FDSEVfU0hJRlQgLSBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemVfYml0cyk7CkBAIC0xOTU2LDcgKzI5NzEsNyBAQAogCQllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCBiaCk7CiAJfSBlbHNlIHsKIAkJaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKQotCQkJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlLCBiaCk7CisJCQllcnIgPSBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGUsIGlub2RlKTsKIAkJbWFya19idWZmZXJfZGlydHkoYmgpOwogCX0KIApAQCAtMjE3OSw3ICszMTk0LDIxIEBACiAKIAlpZiAodGhpc19iaCkgewogCQlCVUZGRVJfVFJBQ0UodGhpc19iaCwgImNhbGwgZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhIik7Ci0JCWV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIHRoaXNfYmgpOworCisJCS8qCisJCSAqIFRoZSBidWZmZXIgaGVhZCBzaG91bGQgaGF2ZSBhbiBhdHRhY2hlZCBqb3VybmFsIGhlYWQgYXQgdGhpcworCQkgKiBwb2ludC4gSG93ZXZlciwgaWYgdGhlIGRhdGEgaXMgY29ycnVwdGVkIGFuZCBhbiBpbmRpcmVjdAorCQkgKiBibG9jayBwb2ludGVkIHRvIGl0c2VsZiwgaXQgd291bGQgaGF2ZSBiZWVuIGRldGFjaGVkIHdoZW4KKwkJICogdGhlIGJsb2NrIHdhcyBjbGVhcmVkLiBDaGVjayBmb3IgdGhpcyBpbnN0ZWFkIG9mIE9PUFNpbmcuCisJCSAqLworCQlpZiAoYmgyamgodGhpc19iaCkpCisJCQlleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCB0aGlzX2JoKTsKKwkJZWxzZQorCQkJZXh0NF9lcnJvcihpbm9kZS0+aV9zYiwgX19mdW5jX18sCisJCQkJICAgImNpcmN1bGFyIGluZGlyZWN0IGJsb2NrIGRldGVjdGVkLCAiCisJCQkJICAgImlub2RlPSVsdSwgYmxvY2s9JWxsdSIsCisJCQkJICAgaW5vZGUtPmlfaW5vLAorCQkJCSAgICh1bnNpZ25lZCBsb25nIGxvbmcpIHRoaXNfYmgtPmJfYmxvY2tucik7CiAJfQogfQogCkBAIC0yMzA1LDYgKzMzMzQsMTkgQEAKIAl9CiB9CiAKK2ludCBleHQ0X2Nhbl90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworCWlmIChJU19BUFBFTkQoaW5vZGUpIHx8IElTX0lNTVVUQUJMRShpbm9kZSkpCisJCXJldHVybiAwOworCWlmIChTX0lTUkVHKGlub2RlLT5pX21vZGUpKQorCQlyZXR1cm4gMTsKKwlpZiAoU19JU0RJUihpbm9kZS0+aV9tb2RlKSkKKwkJcmV0dXJuIDE7CisJaWYgKFNfSVNMTksoaW5vZGUtPmlfbW9kZSkpCisJCXJldHVybiAhZXh0NF9pbm9kZV9pc19mYXN0X3N5bWxpbmsoaW5vZGUpOworCXJldHVybiAwOworfQorCiAvKgogICogZXh0NF90cnVuY2F0ZSgpCiAgKgpAQCAtMjM0Nyw1MSArMzM4OSwyNSBAQAogCWludCBuOwogCWV4dDRfbGJsa190IGxhc3RfYmxvY2s7CiAJdW5zaWduZWQgYmxvY2tzaXplID0gaW5vZGUtPmlfc2ItPnNfYmxvY2tzaXplOwotCXN0cnVjdCBwYWdlICpwYWdlOwogCi0JaWYgKCEoU19JU1JFRyhpbm9kZS0+aV9tb2RlKSB8fCBTX0lTRElSKGlub2RlLT5pX21vZGUpIHx8Ci0JICAgIFNfSVNMTksoaW5vZGUtPmlfbW9kZSkpKQorCWlmICghZXh0NF9jYW5fdHJ1bmNhdGUoaW5vZGUpKQogCQlyZXR1cm47Ci0JaWYgKGV4dDRfaW5vZGVfaXNfZmFzdF9zeW1saW5rKGlub2RlKSkKLQkJcmV0dXJuOwotCWlmIChJU19BUFBFTkQoaW5vZGUpIHx8IElTX0lNTVVUQUJMRShpbm9kZSkpCi0JCXJldHVybjsKLQotCS8qCi0JICogV2UgaGF2ZSB0byBsb2NrIHRoZSBFT0YgcGFnZSBoZXJlLCBiZWNhdXNlIGxvY2tfcGFnZSgpIG5lc3RzCi0JICogb3V0c2lkZSBqYmQyX2pvdXJuYWxfc3RhcnQoKS4KLQkgKi8KLQlpZiAoKGlub2RlLT5pX3NpemUgJiAoYmxvY2tzaXplIC0gMSkpID09IDApIHsKLQkJLyogQmxvY2sgYm91bmRhcnk/IE5vdGhpbmcgdG8gZG8gKi8KLQkJcGFnZSA9IE5VTEw7Ci0JfSBlbHNlIHsKLQkJcGFnZSA9IGdyYWJfY2FjaGVfcGFnZShtYXBwaW5nLAotCQkJCWlub2RlLT5pX3NpemUgPj4gUEFHRV9DQUNIRV9TSElGVCk7Ci0JCWlmICghcGFnZSkKLQkJCXJldHVybjsKLQl9CiAKIAlpZiAoRVhUNF9JKGlub2RlKS0+aV9mbGFncyAmIEVYVDRfRVhURU5UU19GTCkgewotCQlleHQ0X2V4dF90cnVuY2F0ZShpbm9kZSwgcGFnZSk7CisJCWV4dDRfZXh0X3RydW5jYXRlKGlub2RlKTsKIAkJcmV0dXJuOwogCX0KIAogCWhhbmRsZSA9IHN0YXJ0X3RyYW5zYWN0aW9uKGlub2RlKTsKLQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLQkJaWYgKHBhZ2UpIHsKLQkJCWNsZWFyX2hpZ2hwYWdlKHBhZ2UpOwotCQkJZmx1c2hfZGNhY2hlX3BhZ2UocGFnZSk7Ci0JCQl1bmxvY2tfcGFnZShwYWdlKTsKLQkJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKLQkJfQorCWlmIChJU19FUlIoaGFuZGxlKSkKIAkJcmV0dXJuOwkJLyogQUtQTTogcmV0dXJuIHdoYXQ/ICovCi0JfQogCiAJbGFzdF9ibG9jayA9IChpbm9kZS0+aV9zaXplICsgYmxvY2tzaXplLTEpCiAJCQkJCT4+IEVYVDRfQkxPQ0tfU0laRV9CSVRTKGlub2RlLT5pX3NiKTsKIAotCWlmIChwYWdlKQotCQlleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlLCBwYWdlLCBtYXBwaW5nLCBpbm9kZS0+aV9zaXplKTsKKwlpZiAoaW5vZGUtPmlfc2l6ZSAmIChibG9ja3NpemUgLSAxKSkKKwkJaWYgKGV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGUsIG1hcHBpbmcsIGlub2RlLT5pX3NpemUpKQorCQkJZ290byBvdXRfc3RvcDsKIAogCW4gPSBleHQ0X2Jsb2NrX3RvX3BhdGgoaW5vZGUsIGxhc3RfYmxvY2ssIG9mZnNldHMsIE5VTEwpOwogCWlmIChuID09IDApCkBAIC0yNDEwLDYgKzM0MjYsMTEgQEAKIAkJZ290byBvdXRfc3RvcDsKIAogCS8qCisJICogRnJvbSBoZXJlIHdlIGJsb2NrIG91dCBhbGwgZXh0NF9nZXRfYmxvY2soKSBjYWxsZXJzIHdobyB3YW50IHRvCisJICogbW9kaWZ5IHRoZSBibG9jayBhbGxvY2F0aW9uIHRyZWUuCisJICovCisJZG93bl93cml0ZSgmZWktPmlfZGF0YV9zZW0pOworCS8qCiAJICogVGhlIG9ycGhhbiBsaXN0IGVudHJ5IHdpbGwgbm93IHByb3RlY3QgdXMgZnJvbSBhbnkgY3Jhc2ggd2hpY2gKIAkgKiBvY2N1cnMgYmVmb3JlIHRoZSB0cnVuY2F0ZSBjb21wbGV0ZXMsIHNvIGl0IGlzIG5vdyBzYWZlIHRvIHByb3BhZ2F0ZQogCSAqIHRoZSBuZXcsIHNob3J0ZXIgaW5vZGUgc2l6ZSAoaGVsZCBmb3Igbm93IGluIGlfc2l6ZSkgaW50byB0aGUKQEAgLTI0MTgsMTIgKzM0MzksNiBAQAogCSAqLwogCWVpLT5pX2Rpc2tzaXplID0gaW5vZGUtPmlfc2l6ZTsKIAotCS8qCi0JICogRnJvbSBoZXJlIHdlIGJsb2NrIG91dCBhbGwgZXh0NF9nZXRfYmxvY2soKSBjYWxsZXJzIHdobyB3YW50IHRvCi0JICogbW9kaWZ5IHRoZSBibG9jayBhbGxvY2F0aW9uIHRyZWUuCi0JICovCi0JZG93bl93cml0ZSgmZWktPmlfZGF0YV9zZW0pOwotCiAJaWYgKG4gPT0gMSkgewkJLyogZGlyZWN0IGJsb2NrcyAqLwogCQlleHQ0X2ZyZWVfZGF0YShoYW5kbGUsIGlub2RlLCBOVUxMLCBpX2RhdGErb2Zmc2V0c1swXSwKIAkJCSAgICAgICBpX2RhdGEgKyBFWFQ0X05ESVJfQkxPQ0tTKTsKQEAgLTMxMDcsNyArNDEyMiwxNCBAQAogICogYmUgZnJlZWQsIHNvIHdlIGhhdmUgYSBzdHJvbmcgZ3VhcmFudGVlIHRoYXQgbm8gZnV0dXJlIGNvbW1pdCB3aWxsCiAgKiBsZWF2ZSB0aGVzZSBibG9ja3MgdmlzaWJsZSB0byB0aGUgdXNlci4pCiAgKgotICogQ2FsbGVkIHdpdGggaW5vZGUtPnNlbSBkb3duLgorICogQW5vdGhlciB0aGluZyB3ZSBoYXZlIHRvIGFzc3VyZSBpcyB0aGF0IGlmIHdlIGFyZSBpbiBvcmRlcmVkIG1vZGUKKyAqIGFuZCBpbm9kZSBpcyBzdGlsbCBhdHRhY2hlZCB0byB0aGUgY29tbWl0dGluZyB0cmFuc2FjdGlvbiwgd2UgbXVzdAorICogd2Ugc3RhcnQgd3JpdGVvdXQgb2YgYWxsIHRoZSBkaXJ0eSBwYWdlcyB3aGljaCBhcmUgYmVpbmcgdHJ1bmNhdGVkLgorICogVGhpcyB3YXkgd2UgYXJlIHN1cmUgdGhhdCBhbGwgdGhlIGRhdGEgd3JpdHRlbiBpbiB0aGUgcHJldmlvdXMKKyAqIHRyYW5zYWN0aW9uIGFyZSBhbHJlYWR5IG9uIGRpc2sgKHRydW5jYXRlIHdhaXRzIGZvciBwYWdlcyB1bmRlcgorICogd3JpdGViYWNrKS4KKyAqCisgKiBDYWxsZWQgd2l0aCBpbm9kZS0+aV9tdXRleCBkb3duLgogICovCiBpbnQgZXh0NF9zZXRhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlhdHRyICphdHRyKQogewpAQCAtMzE3Myw2ICs0MTk1LDIyIEBACiAJCWlmICghZXJyb3IpCiAJCQllcnJvciA9IHJjOwogCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCisJCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkgeworCQkJZXJyb3IgPSBleHQ0X2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUoaW5vZGUsCisJCQkJCQkJICAgIGF0dHItPmlhX3NpemUpOworCQkJaWYgKGVycm9yKSB7CisJCQkJLyogRG8gYXMgbXVjaCBlcnJvciBjbGVhbnVwIGFzIHBvc3NpYmxlICovCisJCQkJaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCAzKTsKKwkJCQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKKwkJCQkJZXh0NF9vcnBoYW5fZGVsKE5VTEwsIGlub2RlKTsKKwkJCQkJZ290byBlcnJfb3V0OworCQkJCX0KKwkJCQlleHQ0X29ycGhhbl9kZWwoaGFuZGxlLCBpbm9kZSk7CisJCQkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKwkJCQlnb3RvIGVycl9vdXQ7CisJCQl9CisJCX0KIAl9CiAKIAlyYyA9IGlub2RlX3NldGF0dHIoaW5vZGUsIGF0dHIpOwpAQCAtMzE5Myw2ICs0MjMxLDMyIEBACiAJcmV0dXJuIGVycm9yOwogfQogCitpbnQgZXh0NF9nZXRhdHRyKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCSBzdHJ1Y3Qga3N0YXQgKnN0YXQpCit7CisJc3RydWN0IGlub2RlICppbm9kZTsKKwl1bnNpZ25lZCBsb25nIGRlbGFsbG9jX2Jsb2NrczsKKworCWlub2RlID0gZGVudHJ5LT5kX2lub2RlOworCWdlbmVyaWNfZmlsbGF0dHIoaW5vZGUsIHN0YXQpOworCisJLyoKKwkgKiBXZSBjYW4ndCB1cGRhdGUgaV9ibG9ja3MgaWYgdGhlIGJsb2NrIGFsbG9jYXRpb24gaXMgZGVsYXllZAorCSAqIG90aGVyd2lzZSBpbiB0aGUgY2FzZSBvZiBzeXN0ZW0gY3Jhc2ggYmVmb3JlIHRoZSByZWFsIGJsb2NrCisJICogYWxsb2NhdGlvbiBpcyBkb25lLCB3ZSB3aWxsIGhhdmUgaV9ibG9ja3MgaW5jb25zaXN0ZW50IHdpdGgKKwkgKiBvbi1kaXNrIGZpbGUgYmxvY2tzLgorCSAqIFdlIGFsd2F5cyBrZWVwIGlfYmxvY2tzIHVwZGF0ZWQgdG9nZXRoZXIgd2l0aCByZWFsCisJICogYWxsb2NhdGlvbi4gQnV0IHRvIG5vdCBjb25mdXNlIHdpdGggdXNlciwgc3RhdAorCSAqIHdpbGwgcmV0dXJuIHRoZSBibG9ja3MgdGhhdCBpbmNsdWRlIHRoZSBkZWxheWVkIGFsbG9jYXRpb24KKwkgKiBibG9ja3MgZm9yIHRoaXMgZmlsZS4KKwkgKi8KKwlzcGluX2xvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJZGVsYWxsb2NfYmxvY2tzID0gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2NrczsKKwlzcGluX3VubG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKworCXN0YXQtPmJsb2NrcyArPSAoZGVsYWxsb2NfYmxvY2tzIDw8IGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZV9iaXRzKT4+OTsKKwlyZXR1cm4gMDsKK30KIAogLyoKICAqIEhvdyBtYW55IGJsb2NrcyBkb3RoIG1ha2UgYSB3cml0ZXBhZ2UoKT8KQEAgLTM1MDYsMyArNDU3MCw2NCBAQAogCiAJcmV0dXJuIGVycjsKIH0KKworc3RhdGljIGludCBleHQ0X2JoX3VubWFwcGVkKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCit7CisJcmV0dXJuICFidWZmZXJfbWFwcGVkKGJoKTsKK30KKworaW50IGV4dDRfcGFnZV9ta3dyaXRlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3QgcGFnZSAqcGFnZSkKK3sKKwlsb2ZmX3Qgc2l6ZTsKKwl1bnNpZ25lZCBsb25nIGxlbjsKKwlpbnQgcmV0ID0gLUVJTlZBTDsKKwlzdHJ1Y3QgZmlsZSAqZmlsZSA9IHZtYS0+dm1fZmlsZTsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGlub2RlLT5pX21hcHBpbmc7CisKKwkvKgorCSAqIEdldCBpX2FsbG9jX3NlbSB0byBzdG9wIHRydW5jYXRlcyBtZXNzaW5nIHdpdGggdGhlIGlub2RlLiBXZSBjYW5ub3QKKwkgKiBnZXQgaV9tdXRleCBiZWNhdXNlIHdlIGFyZSBhbHJlYWR5IGhvbGRpbmcgbW1hcF9zZW0uCisJICovCisJZG93bl9yZWFkKCZpbm9kZS0+aV9hbGxvY19zZW0pOworCXNpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJaWYgKHBhZ2UtPm1hcHBpbmcgIT0gbWFwcGluZyB8fCBzaXplIDw9IHBhZ2Vfb2Zmc2V0KHBhZ2UpCisJICAgIHx8ICFQYWdlVXB0b2RhdGUocGFnZSkpIHsKKwkJLyogcGFnZSBnb3QgdHJ1bmNhdGVkIGZyb20gdW5kZXIgdXM/ICovCisJCWdvdG8gb3V0X3VubG9jazsKKwl9CisJcmV0ID0gMDsKKwlpZiAoUGFnZU1hcHBlZFRvRGlzayhwYWdlKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJaWYgKHBhZ2UtPmluZGV4ID09IHNpemUgPj4gUEFHRV9DQUNIRV9TSElGVCkKKwkJbGVuID0gc2l6ZSAmIH5QQUdFX0NBQ0hFX01BU0s7CisJZWxzZQorCQlsZW4gPSBQQUdFX0NBQ0hFX1NJWkU7CisKKwlpZiAocGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgeworCQkvKiByZXR1cm4gaWYgd2UgaGF2ZSBhbGwgdGhlIGJ1ZmZlcnMgbWFwcGVkICovCisJCWlmICghd2Fsa19wYWdlX2J1ZmZlcnMoTlVMTCwgcGFnZV9idWZmZXJzKHBhZ2UpLCAwLCBsZW4sIE5VTEwsCisJCQkJICAgICAgIGV4dDRfYmhfdW5tYXBwZWQpKQorCQkJZ290byBvdXRfdW5sb2NrOworCX0KKwkvKgorCSAqIE9LLCB3ZSBuZWVkIHRvIGZpbGwgdGhlIGhvbGUuLi4gRG8gd3JpdGVfYmVnaW4gd3JpdGVfZW5kCisJICogdG8gZG8gYmxvY2sgYWxsb2NhdGlvbi9yZXNlcnZhdGlvbi5XZSBhcmUgbm90IGhvbGRpbmcKKwkgKiBpbm9kZS5pX19tdXRleCBoZXJlLiBUaGF0IGFsbG93ICogcGFyYWxsZWwgd3JpdGVfYmVnaW4sCisJICogd3JpdGVfZW5kIGNhbGwuIGxvY2tfcGFnZSBwcmV2ZW50IHRoaXMgZnJvbSBoYXBwZW5pbmcKKwkgKiBvbiB0aGUgc2FtZSBwYWdlIHRob3VnaAorCSAqLworCXJldCA9IG1hcHBpbmctPmFfb3BzLT53cml0ZV9iZWdpbihmaWxlLCBtYXBwaW5nLCBwYWdlX29mZnNldChwYWdlKSwKKwkJCWxlbiwgQU9QX0ZMQUdfVU5JTlRFUlJVUFRJQkxFLCAmcGFnZSwgTlVMTCk7CisJaWYgKHJldCA8IDApCisJCWdvdG8gb3V0X3VubG9jazsKKwlyZXQgPSBtYXBwaW5nLT5hX29wcy0+d3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBhZ2Vfb2Zmc2V0KHBhZ2UpLAorCQkJbGVuLCBsZW4sIHBhZ2UsIE5VTEwpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIG91dF91bmxvY2s7CisJcmV0ID0gMDsKK291dF91bmxvY2s6CisJdXBfcmVhZCgmaW5vZGUtPmlfYWxsb2Nfc2VtKTsKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9tYmFsbG9jLmMgYi9mcy9leHQ0L21iYWxsb2MuYwppbmRleCBjOTkwMGFhLi44ZDE0MWEyIDEwMDY0NAotLS0gYS9mcy9leHQ0L21iYWxsb2MuYworKysgYi9mcy9leHQ0L21iYWxsb2MuYwpAQCAtMzgxLDIyICszODEsMjggQEAKIAogc3RhdGljIGlubGluZSBpbnQgbWJfZmluZF9uZXh0X3plcm9fYml0KHZvaWQgKmFkZHIsIGludCBtYXgsIGludCBzdGFydCkKIHsKLQlpbnQgZml4ID0gMDsKKwlpbnQgZml4ID0gMCwgcmV0LCB0bXBtYXg7CiAJYWRkciA9IG1iX2NvcnJlY3RfYWRkcl9hbmRfYml0KCZmaXgsIGFkZHIpOwotCW1heCArPSBmaXg7CisJdG1wbWF4ID0gbWF4ICsgZml4OwogCXN0YXJ0ICs9IGZpeDsKIAotCXJldHVybiBleHQ0X2ZpbmRfbmV4dF96ZXJvX2JpdChhZGRyLCBtYXgsIHN0YXJ0KSAtIGZpeDsKKwlyZXQgPSBleHQ0X2ZpbmRfbmV4dF96ZXJvX2JpdChhZGRyLCB0bXBtYXgsIHN0YXJ0KSAtIGZpeDsKKwlpZiAocmV0ID4gbWF4KQorCQlyZXR1cm4gbWF4OworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IG1iX2ZpbmRfbmV4dF9iaXQodm9pZCAqYWRkciwgaW50IG1heCwgaW50IHN0YXJ0KQogewotCWludCBmaXggPSAwOworCWludCBmaXggPSAwLCByZXQsIHRtcG1heDsKIAlhZGRyID0gbWJfY29ycmVjdF9hZGRyX2FuZF9iaXQoJmZpeCwgYWRkcik7Ci0JbWF4ICs9IGZpeDsKKwl0bXBtYXggPSBtYXggKyBmaXg7CiAJc3RhcnQgKz0gZml4OwogCi0JcmV0dXJuIGV4dDRfZmluZF9uZXh0X2JpdChhZGRyLCBtYXgsIHN0YXJ0KSAtIGZpeDsKKwlyZXQgPSBleHQ0X2ZpbmRfbmV4dF9iaXQoYWRkciwgdG1wbWF4LCBzdGFydCkgLSBmaXg7CisJaWYgKHJldCA+IG1heCkKKwkJcmV0dXJuIG1heDsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgdm9pZCAqbWJfZmluZF9idWRkeShzdHJ1Y3QgZXh0NF9idWRkeSAqZTRiLCBpbnQgb3JkZXIsIGludCAqbWF4KQpAQCAtODAzLDYgKzgwOSw3IEBACiAJCWlmICghYnVmZmVyX3VwdG9kYXRlKGJoW2ldKSkKIAkJCWdvdG8gb3V0OwogCisJZXJyID0gMDsKIAlmaXJzdF9ibG9jayA9IHBhZ2UtPmluZGV4ICogYmxvY2tzX3Blcl9wYWdlOwogCWZvciAoaSA9IDA7IGkgPCBibG9ja3NfcGVyX3BhZ2U7IGkrKykgewogCQlpbnQgZ3JvdXA7CkBAIC04ODMsNiArODkwLDcgQEAKIAlpbnQgcG51bTsKIAlpbnQgcG9mZjsKIAlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgcmV0OwogCiAJbWJfZGVidWcoImxvYWQgZ3JvdXAgJWx1XG4iLCBncm91cCk7CiAKQEAgLTkxNCwxNSArOTIyLDIxIEBACiAJCWlmIChwYWdlKSB7CiAJCQlCVUdfT04ocGFnZS0+bWFwcGluZyAhPSBpbm9kZS0+aV9tYXBwaW5nKTsKIAkJCWlmICghUGFnZVVwdG9kYXRlKHBhZ2UpKSB7Ci0JCQkJZXh0NF9tYl9pbml0X2NhY2hlKHBhZ2UsIE5VTEwpOworCQkJCXJldCA9IGV4dDRfbWJfaW5pdF9jYWNoZShwYWdlLCBOVUxMKTsKKwkJCQlpZiAocmV0KSB7CisJCQkJCXVubG9ja19wYWdlKHBhZ2UpOworCQkJCQlnb3RvIGVycjsKKwkJCQl9CiAJCQkJbWJfY21wX2JpdG1hcHMoZTRiLCBwYWdlX2FkZHJlc3MocGFnZSkgKwogCQkJCQkgICAgICAgKHBvZmYgKiBzYi0+c19ibG9ja3NpemUpKTsKIAkJCX0KIAkJCXVubG9ja19wYWdlKHBhZ2UpOwogCQl9CiAJfQotCWlmIChwYWdlID09IE5VTEwgfHwgIVBhZ2VVcHRvZGF0ZShwYWdlKSkKKwlpZiAocGFnZSA9PSBOVUxMIHx8ICFQYWdlVXB0b2RhdGUocGFnZSkpIHsKKwkJcmV0ID0gLUVJTzsKIAkJZ290byBlcnI7CisJfQogCWU0Yi0+YmRfYml0bWFwX3BhZ2UgPSBwYWdlOwogCWU0Yi0+YmRfYml0bWFwID0gcGFnZV9hZGRyZXNzKHBhZ2UpICsgKHBvZmYgKiBzYi0+c19ibG9ja3NpemUpOwogCW1hcmtfcGFnZV9hY2Nlc3NlZChwYWdlKTsKQEAgLTkzOCwxNCArOTUyLDIwIEBACiAJCXBhZ2UgPSBmaW5kX29yX2NyZWF0ZV9wYWdlKGlub2RlLT5pX21hcHBpbmcsIHBudW0sIEdGUF9OT0ZTKTsKIAkJaWYgKHBhZ2UpIHsKIAkJCUJVR19PTihwYWdlLT5tYXBwaW5nICE9IGlub2RlLT5pX21hcHBpbmcpOwotCQkJaWYgKCFQYWdlVXB0b2RhdGUocGFnZSkpCi0JCQkJZXh0NF9tYl9pbml0X2NhY2hlKHBhZ2UsIGU0Yi0+YmRfYml0bWFwKTsKLQorCQkJaWYgKCFQYWdlVXB0b2RhdGUocGFnZSkpIHsKKwkJCQlyZXQgPSBleHQ0X21iX2luaXRfY2FjaGUocGFnZSwgZTRiLT5iZF9iaXRtYXApOworCQkJCWlmIChyZXQpIHsKKwkJCQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCQkJCWdvdG8gZXJyOworCQkJCX0KKwkJCX0KIAkJCXVubG9ja19wYWdlKHBhZ2UpOwogCQl9CiAJfQotCWlmIChwYWdlID09IE5VTEwgfHwgIVBhZ2VVcHRvZGF0ZShwYWdlKSkKKwlpZiAocGFnZSA9PSBOVUxMIHx8ICFQYWdlVXB0b2RhdGUocGFnZSkpIHsKKwkJcmV0ID0gLUVJTzsKIAkJZ290byBlcnI7CisJfQogCWU0Yi0+YmRfYnVkZHlfcGFnZSA9IHBhZ2U7CiAJZTRiLT5iZF9idWRkeSA9IHBhZ2VfYWRkcmVzcyhwYWdlKSArIChwb2ZmICogc2ItPnNfYmxvY2tzaXplKTsKIAltYXJrX3BhZ2VfYWNjZXNzZWQocGFnZSk7CkBAIC05NjIsNyArOTgyLDcgQEAKIAkJcGFnZV9jYWNoZV9yZWxlYXNlKGU0Yi0+YmRfYnVkZHlfcGFnZSk7CiAJZTRiLT5iZF9idWRkeSA9IE5VTEw7CiAJZTRiLT5iZF9iaXRtYXAgPSBOVUxMOwotCXJldHVybiAtRUlPOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIGV4dDRfbWJfcmVsZWFzZV9kZXNjKHN0cnVjdCBleHQ0X2J1ZGR5ICplNGIpCkBAIC0xMDMxLDcgKzEwNTEsNyBAQAogCX0KIH0KIAotc3RhdGljIGludCBtYl9mcmVlX2Jsb2NrcyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZXh0NF9idWRkeSAqZTRiLAorc3RhdGljIHZvaWQgbWJfZnJlZV9ibG9ja3Moc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGV4dDRfYnVkZHkgKmU0YiwKIAkJCSAgaW50IGZpcnN0LCBpbnQgY291bnQpCiB7CiAJaW50IGJsb2NrID0gMDsKQEAgLTEwNzEsMTEgKzEwOTEsMTIgQEAKIAkJCWJsb2NrbnIgKz0gYmxvY2s7CiAJCQlibG9ja25yICs9CiAJCQkgICAgbGUzMl90b19jcHUoRVhUNF9TQihzYiktPnNfZXMtPnNfZmlyc3RfZGF0YV9ibG9jayk7Ci0KKwkJCWV4dDRfdW5sb2NrX2dyb3VwKHNiLCBlNGItPmJkX2dyb3VwKTsKIAkJCWV4dDRfZXJyb3Ioc2IsIF9fZnVuY19fLCAiZG91YmxlLWZyZWUgb2YgaW5vZGUiCiAJCQkJICAgIiAlbHUncyBibG9jayAlbGx1KGJpdCAldSBpbiBncm91cCAlbHUpXG4iLAogCQkJCSAgIGlub2RlID8gaW5vZGUtPmlfaW5vIDogMCwgYmxvY2tuciwgYmxvY2ssCiAJCQkJICAgZTRiLT5iZF9ncm91cCk7CisJCQlleHQ0X2xvY2tfZ3JvdXAoc2IsIGU0Yi0+YmRfZ3JvdXApOwogCQl9CiAJCW1iX2NsZWFyX2JpdChibG9jaywgRVhUNF9NQl9CSVRNQVAoZTRiKSk7CiAJCWU0Yi0+YmRfaW5mby0+YmJfY291bnRlcnNbb3JkZXJdKys7CkBAIC0xMTEzLDggKzExMzQsNiBAQAogCQl9IHdoaWxlICgxKTsKIAl9CiAJbWJfY2hlY2tfYnVkZHkoZTRiKTsKLQotCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IG1iX2ZpbmRfZXh0ZW50KHN0cnVjdCBleHQ0X2J1ZGR5ICplNGIsIGludCBvcmRlciwgaW50IGJsb2NrLApAQCAtMTczMCwxMCArMTc0OSw2IEBACiAJCWFjLT5hY19nX2V4LmZlX3N0YXJ0ID0gc2JpLT5zX21iX2xhc3Rfc3RhcnQ7CiAJCXNwaW5fdW5sb2NrKCZzYmktPnNfbWRfbG9jayk7CiAJfQotCi0JLyogc2VhcmNoaW5nIGZvciB0aGUgcmlnaHQgZ3JvdXAgc3RhcnQgZnJvbSB0aGUgZ29hbCB2YWx1ZSBzcGVjaWZpZWQgKi8KLQlncm91cCA9IGFjLT5hY19nX2V4LmZlX2dyb3VwOwotCiAJLyogTGV0J3MganVzdCBzY2FuIGdyb3VwcyB0byBmaW5kIG1vcmUtbGVzcyBzdWl0YWJsZSBibG9ja3MgKi8KIAljciA9IGFjLT5hY18yb3JkZXIgPyAwIDogMTsKIAkvKgpAQCAtMTc0Myw2ICsxNzU4LDEyIEBACiByZXBlYXQ6CiAJZm9yICg7IGNyIDwgNCAmJiBhYy0+YWNfc3RhdHVzID09IEFDX1NUQVRVU19DT05USU5VRTsgY3IrKykgewogCQlhYy0+YWNfY3JpdGVyaWEgPSBjcjsKKwkJLyoKKwkJICogc2VhcmNoaW5nIGZvciB0aGUgcmlnaHQgZ3JvdXAgc3RhcnQKKwkJICogZnJvbSB0aGUgZ29hbCB2YWx1ZSBzcGVjaWZpZWQKKwkJICovCisJCWdyb3VwID0gYWMtPmFjX2dfZXguZmVfZ3JvdXA7CisKIAkJZm9yIChpID0gMDsgaSA8IEVYVDRfU0Ioc2IpLT5zX2dyb3Vwc19jb3VudDsgZ3JvdXArKywgaSsrKSB7CiAJCQlzdHJ1Y3QgZXh0NF9ncm91cF9pbmZvICpncnA7CiAJCQlzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjOwpAQCAtMTk2Myw2ICsxOTg0LDggQEAKIAlpbnQgcmM7CiAJaW50IHNpemU7CiAKKwlpZiAodW5saWtlbHkoc2JpLT5zX21iX2hpc3RvcnkgPT0gTlVMTCkpCisJCXJldHVybiAtRU5PTUVNOwogCXMgPSBrbWFsbG9jKHNpemVvZigqcyksIEdGUF9LRVJORUwpOwogCWlmIChzID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtMjE2NSw5ICsyMTg4LDcgQEAKIAlzYmktPnNfbWJfaGlzdG9yeV9jdXIgPSAwOwogCXNwaW5fbG9ja19pbml0KCZzYmktPnNfbWJfaGlzdG9yeV9sb2NrKTsKIAlpID0gc2JpLT5zX21iX2hpc3RvcnlfbWF4ICogc2l6ZW9mKHN0cnVjdCBleHQ0X21iX2hpc3RvcnkpOwotCXNiaS0+c19tYl9oaXN0b3J5ID0ga21hbGxvYyhpLCBHRlBfS0VSTkVMKTsKLQlpZiAobGlrZWx5KHNiaS0+c19tYl9oaXN0b3J5ICE9IE5VTEwpKQotCQltZW1zZXQoc2JpLT5zX21iX2hpc3RvcnksIDAsIGkpOworCXNiaS0+c19tYl9oaXN0b3J5ID0ga3phbGxvYyhpLCBHRlBfS0VSTkVMKTsKIAkvKiBpZiB3ZSBjYW4ndCBhbGxvY2F0ZSBoaXN0b3J5LCB0aGVuIHdlIHNpbXBsZSB3b24ndCB1c2UgaXQgKi8KIH0KIApAQCAtMjIxNSwyMSArMjIzNiwxOTIgQEAKICNkZWZpbmUgZXh0NF9tYl9oaXN0b3J5X2luaXQoc2IpCiAjZW5kaWYKIAorCisvKiBDcmVhdGUgYW5kIGluaXRpYWxpemUgZXh0NF9ncm91cF9pbmZvIGRhdGEgZm9yIHRoZSBnaXZlbiBncm91cC4gKi8KK2ludCBleHQ0X21iX2FkZF9ncm91cGluZm8oc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgZXh0NF9ncm91cF90IGdyb3VwLAorCQkJICBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjKQoreworCWludCBpLCBsZW47CisJaW50IG1ldGFsZW4gPSAwOworCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOworCXN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKiptZXRhX2dyb3VwX2luZm87CisKKwkvKgorCSAqIEZpcnN0IGNoZWNrIGlmIHRoaXMgZ3JvdXAgaXMgdGhlIGZpcnN0IG9mIGEgcmVzZXJ2ZWQgYmxvY2suCisJICogSWYgaXQncyB0cnVlLCB3ZSBoYXZlIHRvIGFsbG9jYXRlIGEgbmV3IHRhYmxlIG9mIHBvaW50ZXJzCisJICogdG8gZXh0NF9ncm91cF9pbmZvIHN0cnVjdHVyZXMKKwkgKi8KKwlpZiAoZ3JvdXAgJSBFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSA9PSAwKSB7CisJCW1ldGFsZW4gPSBzaXplb2YoKm1ldGFfZ3JvdXBfaW5mbykgPDwKKwkJCUVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYik7CisJCW1ldGFfZ3JvdXBfaW5mbyA9IGttYWxsb2MobWV0YWxlbiwgR0ZQX0tFUk5FTCk7CisJCWlmIChtZXRhX2dyb3VwX2luZm8gPT0gTlVMTCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBjYW4ndCBhbGxvY2F0ZSBtZW0gZm9yIGEgIgorCQkJICAgICAgICJidWRkeSBncm91cFxuIik7CisJCQlnb3RvIGV4aXRfbWV0YV9ncm91cF9pbmZvOworCQl9CisJCXNiaS0+c19ncm91cF9pbmZvW2dyb3VwID4+IEVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYildID0KKwkJCW1ldGFfZ3JvdXBfaW5mbzsKKwl9CisKKwkvKgorCSAqIGNhbGN1bGF0ZSBuZWVkZWQgc2l6ZS4gaWYgY2hhbmdlIGJiX2NvdW50ZXJzIHNpemUsCisJICogZG9uJ3QgZm9yZ2V0IGFib3V0IGV4dDRfbWJfZ2VuZXJhdGVfYnVkZHkoKQorCSAqLworCWxlbiA9IG9mZnNldG9mKHR5cGVvZigqKm1ldGFfZ3JvdXBfaW5mbyksCisJCSAgICAgICBiYl9jb3VudGVyc1tzYi0+c19ibG9ja3NpemVfYml0cyArIDJdKTsKKworCW1ldGFfZ3JvdXBfaW5mbyA9CisJCXNiaS0+c19ncm91cF9pbmZvW2dyb3VwID4+IEVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYildOworCWkgPSBncm91cCAmIChFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSAtIDEpOworCisJbWV0YV9ncm91cF9pbmZvW2ldID0ga3phbGxvYyhsZW4sIEdGUF9LRVJORUwpOworCWlmIChtZXRhX2dyb3VwX2luZm9baV0gPT0gTlVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGNhbid0IGFsbG9jYXRlIGJ1ZGR5IG1lbVxuIik7CisJCWdvdG8gZXhpdF9ncm91cF9pbmZvOworCX0KKwlzZXRfYml0KEVYVDRfR1JPVVBfSU5GT19ORUVEX0lOSVRfQklULAorCQkmKG1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfc3RhdGUpKTsKKworCS8qCisJICogaW5pdGlhbGl6ZSBiYl9mcmVlIHRvIGJlIGFibGUgdG8gc2tpcAorCSAqIGVtcHR5IGdyb3VwcyB3aXRob3V0IGluaXRpYWxpemF0aW9uCisJICovCisJaWYgKGRlc2MtPmJnX2ZsYWdzICYgY3B1X3RvX2xlMTYoRVhUNF9CR19CTE9DS19VTklOSVQpKSB7CisJCW1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfZnJlZSA9CisJCQlleHQ0X2ZyZWVfYmxvY2tzX2FmdGVyX2luaXQoc2IsIGdyb3VwLCBkZXNjKTsKKwl9IGVsc2UgeworCQltZXRhX2dyb3VwX2luZm9baV0tPmJiX2ZyZWUgPQorCQkJbGUxNl90b19jcHUoZGVzYy0+YmdfZnJlZV9ibG9ja3NfY291bnQpOworCX0KKworCUlOSVRfTElTVF9IRUFEKCZtZXRhX2dyb3VwX2luZm9baV0tPmJiX3ByZWFsbG9jX2xpc3QpOworCisjaWZkZWYgRE9VQkxFX0NIRUNLCisJeworCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOworCQltZXRhX2dyb3VwX2luZm9baV0tPmJiX2JpdG1hcCA9CisJCQlrbWFsbG9jKHNiLT5zX2Jsb2Nrc2l6ZSwgR0ZQX0tFUk5FTCk7CisJCUJVR19PTihtZXRhX2dyb3VwX2luZm9baV0tPmJiX2JpdG1hcCA9PSBOVUxMKTsKKwkJYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CisJCUJVR19PTihiaCA9PSBOVUxMKTsKKwkJbWVtY3B5KG1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfYml0bWFwLCBiaC0+Yl9kYXRhLAorCQkJc2ItPnNfYmxvY2tzaXplKTsKKwkJcHV0X2JoKGJoKTsKKwl9CisjZW5kaWYKKworCXJldHVybiAwOworCitleGl0X2dyb3VwX2luZm86CisJLyogSWYgYSBtZXRhX2dyb3VwX2luZm8gdGFibGUgaGFzIGJlZW4gYWxsb2NhdGVkLCByZWxlYXNlIGl0IG5vdyAqLworCWlmIChncm91cCAlIEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpID09IDApCisJCWtmcmVlKHNiaS0+c19ncm91cF9pbmZvW2dyb3VwID4+IEVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYildKTsKK2V4aXRfbWV0YV9ncm91cF9pbmZvOgorCXJldHVybiAtRU5PTUVNOworfSAvKiBleHQ0X21iX2FkZF9ncm91cGluZm8gKi8KKworLyoKKyAqIEFkZCBhIGdyb3VwIHRvIHRoZSBleGlzdGluZyBncm91cHMuCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIG9ubGluZSByZXNpemUKKyAqLworaW50IGV4dDRfbWJfYWRkX21vcmVfZ3JvdXBpbmZvKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGV4dDRfZ3JvdXBfdCBncm91cCwKKwkJCSAgICAgICBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjKQoreworCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBzYmktPnNfYnVkZHlfY2FjaGU7CisJaW50IGJsb2Nrc19wZXJfcGFnZTsKKwlpbnQgYmxvY2s7CisJaW50IHBudW07CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJaW50IGVycjsKKworCS8qIEFkZCBncm91cCBiYXNlZCBvbiBncm91cCBkZXNjcmlwdG9yKi8KKwllcnIgPSBleHQ0X21iX2FkZF9ncm91cGluZm8oc2IsIGdyb3VwLCBkZXNjKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJLyoKKwkgKiBDYWNoZSBwYWdlcyBjb250YWluaW5nIGR5bmFtaWMgbWJfYWxsb2MgZGF0YXMgKGJ1ZGR5IGFuZCBiaXRtYXAKKwkgKiBkYXRhcykgYXJlIHNldCBub3QgdXAgdG8gZGF0ZSBzbyB0aGF0IHRoZXkgd2lsbCBiZSByZS1pbml0aWxhaXplZAorCSAqIGR1cmluZyB0aGUgbmV4dCBjYWxsIHRvIGV4dDRfbWJfbG9hZF9idWRkeQorCSAqLworCisJLyogU2V0IGJ1ZGR5IHBhZ2UgYXMgbm90IHVwIHRvIGRhdGUgKi8KKwlibG9ja3NfcGVyX3BhZ2UgPSBQQUdFX0NBQ0hFX1NJWkUgLyBzYi0+c19ibG9ja3NpemU7CisJYmxvY2sgPSBncm91cCAqIDI7CisJcG51bSA9IGJsb2NrIC8gYmxvY2tzX3Blcl9wYWdlOworCXBhZ2UgPSBmaW5kX2dldF9wYWdlKGlub2RlLT5pX21hcHBpbmcsIHBudW0pOworCWlmIChwYWdlICE9IE5VTEwpIHsKKwkJQ2xlYXJQYWdlVXB0b2RhdGUocGFnZSk7CisJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKKwl9CisKKwkvKiBTZXQgYml0bWFwIHBhZ2UgYXMgbm90IHVwIHRvIGRhdGUgKi8KKwlibG9jaysrOworCXBudW0gPSBibG9jayAvIGJsb2Nrc19wZXJfcGFnZTsKKwlwYWdlID0gZmluZF9nZXRfcGFnZShpbm9kZS0+aV9tYXBwaW5nLCBwbnVtKTsKKwlpZiAocGFnZSAhPSBOVUxMKSB7CisJCUNsZWFyUGFnZVVwdG9kYXRlKHBhZ2UpOworCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBVcGRhdGUgYW4gZXhpc3RpbmcgZ3JvdXAuCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIG9ubGluZSByZXNpemUKKyAqLwordm9pZCBleHQ0X21iX3VwZGF0ZV9ncm91cF9pbmZvKHN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKmdycCwgZXh0NF9ncnBibGtfdCBhZGQpCit7CisJZ3JwLT5iYl9mcmVlICs9IGFkZDsKK30KKwogc3RhdGljIGludCBleHQ0X21iX2luaXRfYmFja2VuZChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQogewogCWV4dDRfZ3JvdXBfdCBpOwotCWludCBqLCBsZW4sIG1ldGFsZW47CisJaW50IG1ldGFsZW47CiAJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7Ci0JaW50IG51bV9tZXRhX2dyb3VwX2luZm9zID0KLQkJKHNiaS0+c19ncm91cHNfY291bnQgKyBFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSAtIDEpID4+Ci0JCQlFWFQ0X0RFU0NfUEVSX0JMT0NLX0JJVFMoc2IpOworCXN0cnVjdCBleHQ0X3N1cGVyX2Jsb2NrICplcyA9IHNiaS0+c19lczsKKwlpbnQgbnVtX21ldGFfZ3JvdXBfaW5mb3M7CisJaW50IG51bV9tZXRhX2dyb3VwX2luZm9zX21heDsKKwlpbnQgYXJyYXlfc2l6ZTsKIAlzdHJ1Y3QgZXh0NF9ncm91cF9pbmZvICoqbWV0YV9ncm91cF9pbmZvOworCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2M7CiAKKwkvKiBUaGlzIGlzIHRoZSBudW1iZXIgb2YgYmxvY2tzIHVzZWQgYnkgR0RUICovCisJbnVtX21ldGFfZ3JvdXBfaW5mb3MgPSAoc2JpLT5zX2dyb3Vwc19jb3VudCArIEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpIC0KKwkJCQkxKSA+PiBFWFQ0X0RFU0NfUEVSX0JMT0NLX0JJVFMoc2IpOworCisJLyoKKwkgKiBUaGlzIGlzIHRoZSB0b3RhbCBudW1iZXIgb2YgYmxvY2tzIHVzZWQgYnkgR0RUIGluY2x1ZGluZworCSAqIHRoZSBudW1iZXIgb2YgcmVzZXJ2ZWQgYmxvY2tzIGZvciBHRFQuCisJICogVGhlIHNfZ3JvdXBfaW5mbyBhcnJheSBpcyBhbGxvY2F0ZWQgd2l0aCB0aGlzIHZhbHVlCisJICogdG8gYWxsb3cgYSBjbGVhbiBvbmxpbmUgcmVzaXplIHdpdGhvdXQgYSBjb21wbGV4CisJICogbWFuaXB1bGF0aW9uIG9mIHBvaW50ZXIuCisJICogVGhlIGRyYXdiYWNrIGlzIHRoZSB1bnVzZWQgbWVtb3J5IHdoZW4gbm8gcmVzaXplCisJICogb2NjdXJzIGJ1dCBpdCdzIHZlcnkgbG93IGluIHRlcm1zIG9mIHBhZ2VzCisJICogKHNlZSBjb21tZW50cyBiZWxvdykKKwkgKiBOZWVkIHRvIGhhbmRsZSB0aGlzIHByb3Blcmx5IHdoZW4gTUVUQV9CRyByZXNpemluZyBpcyBhbGxvd2VkCisJICovCisJbnVtX21ldGFfZ3JvdXBfaW5mb3NfbWF4ID0gbnVtX21ldGFfZ3JvdXBfaW5mb3MgKworCQkJCWxlMTZfdG9fY3B1KGVzLT5zX3Jlc2VydmVkX2dkdF9ibG9ja3MpOworCisJLyoKKwkgKiBhcnJheV9zaXplIGlzIHRoZSBzaXplIG9mIHNfZ3JvdXBfaW5mbyBhcnJheS4gV2Ugcm91bmQgaXQKKwkgKiB0byB0aGUgbmV4dCBwb3dlciBvZiB0d28gYmVjYXVzZSB0aGlzIGFwcHJveGltYXRpb24gaXMgZG9uZQorCSAqIGludGVybmFsbHkgYnkga21hbGxvYyBzbyB3ZSBjYW4gaGF2ZSBzb21lIG1vcmUgbWVtb3J5CisJICogZm9yIGZyZWUgaGVyZSAoZS5nLiBtYXkgYmUgdXNlZCBmb3IgTUVUQV9CRyByZXNpemUpLgorCSAqLworCWFycmF5X3NpemUgPSAxOworCXdoaWxlIChhcnJheV9zaXplIDwgc2l6ZW9mKCpzYmktPnNfZ3JvdXBfaW5mbykgKgorCSAgICAgICBudW1fbWV0YV9ncm91cF9pbmZvc19tYXgpCisJCWFycmF5X3NpemUgPSBhcnJheV9zaXplIDw8IDE7CiAJLyogQW4gOFRCIGZpbGVzeXN0ZW0gd2l0aCA2NC1iaXQgcG9pbnRlcnMgcmVxdWlyZXMgYSA0MDk2IGJ5dGUKIAkgKiBrbWFsbG9jLiBBIDEyOGtiIG1hbGxvYyBzaG91bGQgc3VmZmljZSBmb3IgYSAyNTZUQiBmaWxlc3lzdGVtLgogCSAqIFNvIGEgdHdvIGxldmVsIHNjaGVtZSBzdWZmaWNlcyBmb3Igbm93LiAqLwotCXNiaS0+c19ncm91cF9pbmZvID0ga21hbGxvYyhzaXplb2YoKnNiaS0+c19ncm91cF9pbmZvKSAqCi0JCQkJICAgIG51bV9tZXRhX2dyb3VwX2luZm9zLCBHRlBfS0VSTkVMKTsKKwlzYmktPnNfZ3JvdXBfaW5mbyA9IGttYWxsb2MoYXJyYXlfc2l6ZSwgR0ZQX0tFUk5FTCk7CiAJaWYgKHNiaS0+c19ncm91cF9pbmZvID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBjYW4ndCBhbGxvY2F0ZSBidWRkeSBtZXRhIGdyb3VwXG4iKTsKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC0yMjU2LDYzICsyNDQ4LDE1IEBACiAJCXNiaS0+c19ncm91cF9pbmZvW2ldID0gbWV0YV9ncm91cF9pbmZvOwogCX0KIAotCS8qCi0JICogY2FsY3VsYXRlIG5lZWRlZCBzaXplLiBpZiBjaGFuZ2UgYmJfY291bnRlcnMgc2l6ZSwKLQkgKiBkb24ndCBmb3JnZXQgYWJvdXQgZXh0NF9tYl9nZW5lcmF0ZV9idWRkeSgpCi0JICovCi0JbGVuID0gc2l6ZW9mKHN0cnVjdCBleHQ0X2dyb3VwX2luZm8pOwotCWxlbiArPSBzaXplb2YodW5zaWduZWQgc2hvcnQpICogKHNiLT5zX2Jsb2Nrc2l6ZV9iaXRzICsgMik7CiAJZm9yIChpID0gMDsgaSA8IHNiaS0+c19ncm91cHNfY291bnQ7IGkrKykgewotCQlzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjOwotCi0JCW1ldGFfZ3JvdXBfaW5mbyA9Ci0JCQlzYmktPnNfZ3JvdXBfaW5mb1tpID4+IEVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYildOwotCQlqID0gaSAmIChFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSAtIDEpOwotCi0JCW1ldGFfZ3JvdXBfaW5mb1tqXSA9IGt6YWxsb2MobGVuLCBHRlBfS0VSTkVMKTsKLQkJaWYgKG1ldGFfZ3JvdXBfaW5mb1tqXSA9PSBOVUxMKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGNhbid0IGFsbG9jYXRlIGJ1ZGR5IG1lbVxuIik7Ci0JCQlnb3RvIGVycl9mcmVlYnVkZHk7Ci0JCX0KIAkJZGVzYyA9IGV4dDRfZ2V0X2dyb3VwX2Rlc2Moc2IsIGksIE5VTEwpOwogCQlpZiAoZGVzYyA9PSBOVUxMKSB7CiAJCQlwcmludGsoS0VSTl9FUlIKIAkJCQkiRVhUNC1mczogY2FuJ3QgcmVhZCBkZXNjcmlwdG9yICVsdVxuIiwgaSk7Ci0JCQlpKys7CiAJCQlnb3RvIGVycl9mcmVlYnVkZHk7CiAJCX0KLQkJbWVtc2V0KG1ldGFfZ3JvdXBfaW5mb1tqXSwgMCwgbGVuKTsKLQkJc2V0X2JpdChFWFQ0X0dST1VQX0lORk9fTkVFRF9JTklUX0JJVCwKLQkJCSYobWV0YV9ncm91cF9pbmZvW2pdLT5iYl9zdGF0ZSkpOwotCi0JCS8qCi0JCSAqIGluaXRpYWxpemUgYmJfZnJlZSB0byBiZSBhYmxlIHRvIHNraXAKLQkJICogZW1wdHkgZ3JvdXBzIHdpdGhvdXQgaW5pdGlhbGl6YXRpb24KLQkJICovCi0JCWlmIChkZXNjLT5iZ19mbGFncyAmIGNwdV90b19sZTE2KEVYVDRfQkdfQkxPQ0tfVU5JTklUKSkgewotCQkJbWV0YV9ncm91cF9pbmZvW2pdLT5iYl9mcmVlID0KLQkJCQlleHQ0X2ZyZWVfYmxvY2tzX2FmdGVyX2luaXQoc2IsIGksIGRlc2MpOwotCQl9IGVsc2UgewotCQkJbWV0YV9ncm91cF9pbmZvW2pdLT5iYl9mcmVlID0KLQkJCQlsZTE2X3RvX2NwdShkZXNjLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCk7Ci0JCX0KLQotCQlJTklUX0xJU1RfSEVBRCgmbWV0YV9ncm91cF9pbmZvW2pdLT5iYl9wcmVhbGxvY19saXN0KTsKLQotI2lmZGVmIERPVUJMRV9DSEVDSwotCQl7Ci0JCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwotCQkJbWV0YV9ncm91cF9pbmZvW2pdLT5iYl9iaXRtYXAgPQotCQkJCWttYWxsb2Moc2ItPnNfYmxvY2tzaXplLCBHRlBfS0VSTkVMKTsKLQkJCUJVR19PTihtZXRhX2dyb3VwX2luZm9bal0tPmJiX2JpdG1hcCA9PSBOVUxMKTsKLQkJCWJoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGkpOwotCQkJQlVHX09OKGJoID09IE5VTEwpOwotCQkJbWVtY3B5KG1ldGFfZ3JvdXBfaW5mb1tqXS0+YmJfYml0bWFwLCBiaC0+Yl9kYXRhLAotCQkJCQlzYi0+c19ibG9ja3NpemUpOwotCQkJcHV0X2JoKGJoKTsKLQkJfQotI2VuZGlmCi0KKwkJaWYgKGV4dDRfbWJfYWRkX2dyb3VwaW5mbyhzYiwgaSwgZGVzYykgIT0gMCkKKwkJCWdvdG8gZXJyX2ZyZWVidWRkeTsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTIzMzYsNiArMjQ4MCw3IEBACiAJdW5zaWduZWQgaTsKIAl1bnNpZ25lZCBvZmZzZXQ7CiAJdW5zaWduZWQgbWF4OworCWludCByZXQ7CiAKIAlpZiAoIXRlc3Rfb3B0KHNiLCBNQkFMTE9DKSkKIAkJcmV0dXJuIDA7CkBAIC0yMzcwLDEyICsyNTE1LDEyIEBACiAJfSB3aGlsZSAoaSA8PSBzYi0+c19ibG9ja3NpemVfYml0cyArIDEpOwogCiAJLyogaW5pdCBmaWxlIGZvciBidWRkeSBkYXRhICovCi0JaSA9IGV4dDRfbWJfaW5pdF9iYWNrZW5kKHNiKTsKLQlpZiAoaSkgeworCXJldCA9IGV4dDRfbWJfaW5pdF9iYWNrZW5kKHNiKTsKKwlpZiAocmV0ICE9IDApIHsKIAkJY2xlYXJfb3B0KHNiaS0+c19tb3VudF9vcHQsIE1CQUxMT0MpOwogCQlrZnJlZShzYmktPnNfbWJfb2Zmc2V0cyk7CiAJCWtmcmVlKHNiaS0+c19tYl9tYXhzKTsKLQkJcmV0dXJuIGk7CisJCXJldHVybiByZXQ7CiAJfQogCiAJc3Bpbl9sb2NrX2luaXQoJnNiaS0+c19tZF9sb2NrKTsKQEAgLTI1NDgsOCArMjY5Myw3IEBACiAJCWV4dDRfbG9ja19ncm91cChzYiwgbWQtPmdyb3VwKTsKIAkJZm9yIChpID0gMDsgaSA8IG1kLT5udW07IGkrKykgewogCQkJbWJfZGVidWcoIiAldSIsIG1kLT5ibG9ja3NbaV0pOwotCQkJZXJyID0gbWJfZnJlZV9ibG9ja3MoTlVMTCwgJmU0YiwgbWQtPmJsb2Nrc1tpXSwgMSk7Ci0JCQlCVUdfT04oZXJyICE9IDApOworCQkJbWJfZnJlZV9ibG9ja3MoTlVMTCwgJmU0YiwgbWQtPmJsb2Nrc1tpXSwgMSk7CiAJCX0KIAkJbWJfZGVidWcoIlxuIik7CiAJCWV4dDRfdW5sb2NrX2dyb3VwKHNiLCBtZC0+Z3JvdXApOwpAQCAtMjU3NSwyNSArMjcxOSwyNCBAQAogCiAKIAotI2RlZmluZSBNQl9QUk9DX1ZBTFVFX1JFQUQobmFtZSkJCQkJXAotc3RhdGljIGludCBleHQ0X21iX3JlYWRfIyNuYW1lKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwJXAotCQlvZmZfdCBvZmYsIGludCBjb3VudCwgaW50ICplb2YsIHZvaWQgKmRhdGEpCVwKKyNkZWZpbmUgTUJfUFJPQ19GT1BTKG5hbWUpCQkJCQlcCitzdGF0aWMgaW50IGV4dDRfbWJfIyNuYW1lIyNfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikJXAogewkJCQkJCQkJXAotCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IGRhdGE7CQkJXAotCWludCBsZW47CQkJCQkJXAotCSplb2YgPSAxOwkJCQkJCVwKLQlpZiAob2ZmICE9IDApCQkJCQkJXAotCQlyZXR1cm4gMDsJCQkJCVwKLQlsZW4gPSBzcHJpbnRmKHBhZ2UsICIlbGRcbiIsIHNiaS0+c19tYl8jI25hbWUpOwkJXAotCSpzdGFydCA9IHBhZ2U7CQkJCQkJXAotCXJldHVybiBsZW47CQkJCQkJXAotfQotCi0jZGVmaW5lIE1CX1BST0NfVkFMVUVfV1JJVEUobmFtZSkJCQkJXAotc3RhdGljIGludCBleHQ0X21iX3dyaXRlXyMjbmFtZShzdHJ1Y3QgZmlsZSAqZmlsZSwJCVwKLQkJY29uc3QgY2hhciBfX3VzZXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBjbnQsIHZvaWQgKmRhdGEpCVwKKwlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBtLT5wcml2YXRlOwkJCVwKKwkJCQkJCQkJXAorCXNlcV9wcmludGYobSwgIiVsZFxuIiwgc2JpLT5zX21iXyMjbmFtZSk7CQlcCisJcmV0dXJuIDA7CQkJCQkJXAorfQkJCQkJCQkJXAorCQkJCQkJCQlcCitzdGF0aWMgaW50IGV4dDRfbWJfIyNuYW1lIyNfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKVwKIHsJCQkJCQkJCVwKLQlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBkYXRhOwkJCVwKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgZXh0NF9tYl8jI25hbWUjI19wcm9jX3Nob3csIFBERShpbm9kZSktPmRhdGEpO1wKK30JCQkJCQkJCVwKKwkJCQkJCQkJXAorc3RhdGljIHNzaXplX3QgZXh0NF9tYl8jI25hbWUjI19wcm9jX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLAlcCisJCWNvbnN0IGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykJXAorewkJCQkJCQkJXAorCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IFBERShmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKS0+ZGF0YTtcCiAJY2hhciBzdHJbMzJdOwkJCQkJCVwKIAlsb25nIHZhbHVlOwkJCQkJCVwKIAlpZiAoY250ID49IHNpemVvZihzdHIpKQkJCQkJXApAQCAtMjYwNSwzMSArMjc0OCwzMiBAQAogCQlyZXR1cm4gLUVSQU5HRTsJCQkJCVwKIAlzYmktPnNfbWJfIyNuYW1lID0gdmFsdWU7CQkJCVwKIAlyZXR1cm4gY250OwkJCQkJCVwKLX0KK30JCQkJCQkJCVwKKwkJCQkJCQkJXAorc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZXh0NF9tYl8jI25hbWUjI19wcm9jX2ZvcHMgPSB7CVwKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCQkJCVwKKwkub3BlbgkJPSBleHQ0X21iXyMjbmFtZSMjX3Byb2Nfb3BlbiwJCVwKKwkucmVhZAkJPSBzZXFfcmVhZCwJCQkJXAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAkJCQlcCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwJCQlcCisJLndyaXRlCQk9IGV4dDRfbWJfIyNuYW1lIyNfcHJvY193cml0ZSwJCVwKK307CiAKLU1CX1BST0NfVkFMVUVfUkVBRChzdGF0cyk7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKHN0YXRzKTsKLU1CX1BST0NfVkFMVUVfUkVBRChtYXhfdG9fc2Nhbik7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKG1heF90b19zY2FuKTsKLU1CX1BST0NfVkFMVUVfUkVBRChtaW5fdG9fc2Nhbik7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKG1pbl90b19zY2FuKTsKLU1CX1BST0NfVkFMVUVfUkVBRChvcmRlcjJfcmVxcyk7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKG9yZGVyMl9yZXFzKTsKLU1CX1BST0NfVkFMVUVfUkVBRChzdHJlYW1fcmVxdWVzdCk7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKHN0cmVhbV9yZXF1ZXN0KTsKLU1CX1BST0NfVkFMVUVfUkVBRChncm91cF9wcmVhbGxvYyk7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKGdyb3VwX3ByZWFsbG9jKTsKK01CX1BST0NfRk9QUyhzdGF0cyk7CitNQl9QUk9DX0ZPUFMobWF4X3RvX3NjYW4pOworTUJfUFJPQ19GT1BTKG1pbl90b19zY2FuKTsKK01CX1BST0NfRk9QUyhvcmRlcjJfcmVxcyk7CitNQl9QUk9DX0ZPUFMoc3RyZWFtX3JlcXVlc3QpOworTUJfUFJPQ19GT1BTKGdyb3VwX3ByZWFsbG9jKTsKIAogI2RlZmluZQlNQl9QUk9DX0hBTkRMRVIobmFtZSwgdmFyKQkJCQkJXAogZG8gewkJCQkJCQkJCVwKLQlwcm9jID0gY3JlYXRlX3Byb2NfZW50cnkobmFtZSwgbW9kZSwgc2JpLT5zX21iX3Byb2MpOwkJXAorCXByb2MgPSBwcm9jX2NyZWF0ZV9kYXRhKG5hbWUsIG1vZGUsIHNiaS0+c19tYl9wcm9jLAkJXAorCQkJCSZleHQ0X21iXyMjdmFyIyNfcHJvY19mb3BzLCBzYmkpOwlcCiAJaWYgKHByb2MgPT0gTlVMTCkgewkJCQkJCVwKIAkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBjYW4ndCB0byBjcmVhdGUgJXNcbiIsIG5hbWUpOwlcCiAJCWdvdG8gZXJyX291dDsJCQkJCQlcCiAJfQkJCQkJCQkJXAotCXByb2MtPmRhdGEgPSBzYmk7CQkJCQkJXAotCXByb2MtPnJlYWRfcHJvYyAgPSBleHQ0X21iX3JlYWRfIyN2YXIgOwkJCQlcCi0JcHJvYy0+d3JpdGVfcHJvYyA9IGV4dDRfbWJfd3JpdGVfIyN2YXI7CQkJCVwKIH0gd2hpbGUgKDApCiAKIHN0YXRpYyBpbnQgZXh0NF9tYl9pbml0X3Blcl9kZXZfcHJvYyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQpAQCAtMjYzOSw2ICsyNzgzLDEwIEBACiAJc3RydWN0IHByb2NfZGlyX2VudHJ5ICpwcm9jOwogCWNoYXIgZGV2bmFtZVs2NF07CiAKKwlpZiAocHJvY19yb290X2V4dDQgPT0gTlVMTCkgeworCQlzYmktPnNfbWJfcHJvYyA9IE5VTEw7CisJCXJldHVybiAtRUlOVkFMOworCX0KIAliZGV2bmFtZShzYi0+c19iZGV2LCBkZXZuYW1lKTsKIAlzYmktPnNfbWJfcHJvYyA9IHByb2NfbWtkaXIoZGV2bmFtZSwgcHJvY19yb290X2V4dDQpOwogCkBAIC0yNzQ3LDcgKzI4OTUsNyBAQAogCiAKIAllcnIgPSAtRUlPOwotCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBhYy0+YWNfYl9leC5mZV9ncm91cCk7CisJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgYWMtPmFjX2JfZXguZmVfZ3JvdXApOwogCWlmICghYml0bWFwX2JoKQogCQlnb3RvIG91dF9lcnI7CiAKQEAgLTI4MTYsNyArMjk2NCwyMyBAQAogCWxlMTZfYWRkX2NwdSgmZ2RwLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCwgLWFjLT5hY19iX2V4LmZlX2xlbik7CiAJZ2RwLT5iZ19jaGVja3N1bSA9IGV4dDRfZ3JvdXBfZGVzY19jc3VtKHNiaSwgYWMtPmFjX2JfZXguZmVfZ3JvdXAsIGdkcCk7CiAJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBhYy0+YWNfYl9leC5mZV9ncm91cCkpOwotCXBlcmNwdV9jb3VudGVyX3N1Yigmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgYWMtPmFjX2JfZXguZmVfbGVuKTsKKworCS8qCisJICogZnJlZSBibG9ja3MgYWNjb3VudCBoYXMgYWxyZWFkeSBiZSByZWR1Y2VkL3Jlc2VydmVkCisJICogYXQgd3JpdGVfYmVnaW4oKSB0aW1lIGZvciBkZWxheWVkIGFsbG9jYXRpb24KKwkgKiBkbyBub3QgZG91YmxlIGFjY291bnRpbmcKKwkgKi8KKwlpZiAoIShhYy0+YWNfZmxhZ3MgJiBFWFQ0X01CX0RFTEFMTE9DX1JFU0VSVkVEKSkKKwkJcGVyY3B1X2NvdW50ZXJfc3ViKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLAorCQkJCQlhYy0+YWNfYl9leC5mZV9sZW4pOworCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwKKwkJCQkJCQkgIGFjLT5hY19iX2V4LmZlX2dyb3VwKTsKKwkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9ibG9ja3MgLT0gYWMtPmFjX2JfZXguZmVfbGVuOworCQlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwl9CiAKIAllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCBiaXRtYXBfYmgpOwogCWlmIChlcnIpCkBAIC0zNDczLDggKzM2MzcsNiBAQAogCQlpZiAoYml0ID49IGVuZCkKIAkJCWJyZWFrOwogCQluZXh0ID0gbWJfZmluZF9uZXh0X2JpdChiaXRtYXBfYmgtPmJfZGF0YSwgZW5kLCBiaXQpOwotCQlpZiAobmV4dCA+IGVuZCkKLQkJCW5leHQgPSBlbmQ7CiAJCXN0YXJ0ID0gZ3JvdXAgKiBFWFQ0X0JMT0NLU19QRVJfR1JPVVAoc2IpICsgYml0ICsKIAkJCQlsZTMyX3RvX2NwdShzYmktPnNfZXMtPnNfZmlyc3RfZGF0YV9ibG9jayk7CiAJCW1iX2RlYnVnKCIgICAgZnJlZSBwcmVhbGxvY2F0ZWQgJXUvJXUgaW4gZ3JvdXAgJXVcbiIsCkBAIC0zNTY5LDcgKzM3MzEsNyBAQAogCWlmIChsaXN0X2VtcHR5KCZncnAtPmJiX3ByZWFsbG9jX2xpc3QpKQogCQlyZXR1cm4gMDsKIAotCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CisJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOwogCWlmIChiaXRtYXBfYmggPT0gTlVMTCkgewogCQkvKiBlcnJvciBoYW5kbGluZyBoZXJlICovCiAJCWV4dDRfbWJfcmVsZWFzZV9kZXNjKCZlNGIpOwpAQCAtMzc0Myw3ICszOTA1LDcgQEAKIAkJZXJyID0gZXh0NF9tYl9sb2FkX2J1ZGR5KHNiLCBncm91cCwgJmU0Yik7CiAJCUJVR19PTihlcnIgIT0gMCk7IC8qIGVycm9yIGhhbmRsaW5nIGhlcmUgKi8KIAotCQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOworCQliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CiAJCWlmIChiaXRtYXBfYmggPT0gTlVMTCkgewogCQkJLyogZXJyb3IgaGFuZGxpbmcgaGVyZSAqLwogCQkJZXh0NF9tYl9yZWxlYXNlX2Rlc2MoJmU0Yik7CkBAIC00MDExLDEwICs0MTczLDIxIEBACiAJc2JpID0gRVhUNF9TQihzYik7CiAKIAlpZiAoIXRlc3Rfb3B0KHNiLCBNQkFMTE9DKSkgewotCQlibG9jayA9IGV4dDRfbmV3X2Jsb2Nrc19vbGQoaGFuZGxlLCBhci0+aW5vZGUsIGFyLT5nb2FsLAorCQlibG9jayA9IGV4dDRfb2xkX25ld19ibG9ja3MoaGFuZGxlLCBhci0+aW5vZGUsIGFyLT5nb2FsLAogCQkJCQkgICAgJihhci0+bGVuKSwgZXJycCk7CiAJCXJldHVybiBibG9jazsKIAl9CisJaWYgKCFFWFQ0X0koYXItPmlub2RlKS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnKSB7CisJCS8qCisJCSAqIFdpdGggZGVsYWxsb2Mgd2UgYWxyZWFkeSByZXNlcnZlZCB0aGUgYmxvY2tzCisJCSAqLworCQlhci0+bGVuID0gZXh0NF9oYXNfZnJlZV9ibG9ja3Moc2JpLCBhci0+bGVuKTsKKwl9CisKKwlpZiAoYXItPmxlbiA9PSAwKSB7CisJCSplcnJwID0gLUVOT1NQQzsKKwkJcmV0dXJuIDA7CisJfQogCiAJd2hpbGUgKGFyLT5sZW4gJiYgRFFVT1RfQUxMT0NfQkxPQ0soYXItPmlub2RlLCBhci0+bGVuKSkgewogCQlhci0+ZmxhZ3MgfD0gRVhUNF9NQl9ISU5UX05PUFJFQUxMT0M7CkBAIC00MDI2LDEwICs0MTk5LDE0IEBACiAJfQogCWlucXVvdGEgPSBhci0+bGVuOwogCisJaWYgKEVYVDRfSShhci0+aW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcpCisJCWFyLT5mbGFncyB8PSBFWFQ0X01CX0RFTEFMTE9DX1JFU0VSVkVEOworCiAJYWMgPSBrbWVtX2NhY2hlX2FsbG9jKGV4dDRfYWNfY2FjaGVwLCBHRlBfTk9GUyk7CiAJaWYgKCFhYykgeworCQlhci0+bGVuID0gMDsKIAkJKmVycnAgPSAtRU5PTUVNOwotCQlyZXR1cm4gMDsKKwkJZ290byBvdXQxOwogCX0KIAogCWV4dDRfbWJfcG9sbF9uZXdfdHJhbnNhY3Rpb24oc2IsIGhhbmRsZSk7CkBAIC00MDM3LDEyICs0MjE0LDExIEBACiAJKmVycnAgPSBleHQ0X21iX2luaXRpYWxpemVfY29udGV4dChhYywgYXIpOwogCWlmICgqZXJycCkgewogCQlhci0+bGVuID0gMDsKLQkJZ290byBvdXQ7CisJCWdvdG8gb3V0MjsKIAl9CiAKIAlhYy0+YWNfb3AgPSBFWFQ0X01CX0hJU1RPUllfUFJFQUxMT0M7CiAJaWYgKCFleHQ0X21iX3VzZV9wcmVhbGxvY2F0ZWQoYWMpKSB7Ci0KIAkJYWMtPmFjX29wID0gRVhUNF9NQl9ISVNUT1JZX0FMTE9DOwogCQlleHQ0X21iX25vcm1hbGl6ZV9yZXF1ZXN0KGFjLCBhcik7CiByZXBlYXQ6CkBAIC00MDg1LDExICs0MjYxLDEyIEBACiAKIAlleHQ0X21iX3JlbGVhc2VfY29udGV4dChhYyk7CiAKLW91dDoKK291dDI6CisJa21lbV9jYWNoZV9mcmVlKGV4dDRfYWNfY2FjaGVwLCBhYyk7CitvdXQxOgogCWlmIChhci0+bGVuIDwgaW5xdW90YSkKIAkJRFFVT1RfRlJFRV9CTE9DSyhhci0+aW5vZGUsIGlucXVvdGEgLSBhci0+bGVuKTsKIAotCWttZW1fY2FjaGVfZnJlZShleHQ0X2FjX2NhY2hlcCwgYWMpOwogCXJldHVybiBibG9jazsKIH0KIHN0YXRpYyB2b2lkIGV4dDRfbWJfcG9sbF9uZXdfdHJhbnNhY3Rpb24oc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKQEAgLTQyNDIsNyArNDQxOSw3IEBACiAJCW92ZXJmbG93ID0gYml0ICsgY291bnQgLSBFWFQ0X0JMT0NLU19QRVJfR1JPVVAoc2IpOwogCQljb3VudCAtPSBvdmVyZmxvdzsKIAl9Ci0JYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGJsb2NrX2dyb3VwKTsKKwliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBibG9ja19ncm91cCk7CiAJaWYgKCFiaXRtYXBfYmgpCiAJCWdvdG8gZXJyb3JfcmV0dXJuOwogCWdkcCA9IGV4dDRfZ2V0X2dyb3VwX2Rlc2Moc2IsIGJsb2NrX2dyb3VwLCAmZ2RfYmgpOwpAQCAtNDMwOSwxMCArNDQ4Niw5IEBACiAJCWV4dDRfbWJfZnJlZV9tZXRhZGF0YShoYW5kbGUsICZlNGIsIGJsb2NrX2dyb3VwLCBiaXQsIGNvdW50KTsKIAl9IGVsc2UgewogCQlleHQ0X2xvY2tfZ3JvdXAoc2IsIGJsb2NrX2dyb3VwKTsKLQkJZXJyID0gbWJfZnJlZV9ibG9ja3MoaW5vZGUsICZlNGIsIGJpdCwgY291bnQpOworCQltYl9mcmVlX2Jsb2Nrcyhpbm9kZSwgJmU0YiwgYml0LCBjb3VudCk7CiAJCWV4dDRfbWJfcmV0dXJuX3RvX3ByZWFsbG9jYXRpb24oaW5vZGUsICZlNGIsIGJsb2NrLCBjb3VudCk7CiAJCWV4dDRfdW5sb2NrX2dyb3VwKHNiLCBibG9ja19ncm91cCk7Ci0JCUJVR19PTihlcnIgIT0gMCk7CiAJfQogCiAJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgYmxvY2tfZ3JvdXApKTsKQEAgLTQzMjEsNiArNDQ5NywxMyBAQAogCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgYmxvY2tfZ3JvdXApKTsKIAlwZXJjcHVfY291bnRlcl9hZGQoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIGNvdW50KTsKIAorCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlleHQ0X2dyb3VwX3QgZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGJsb2NrX2dyb3VwKTsKKwkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9ibG9ja3MgKz0gY291bnQ7CisJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCX0KKwogCWV4dDRfbWJfcmVsZWFzZV9kZXNjKCZlNGIpOwogCiAJKmZyZWVkICs9IGNvdW50OwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9uYW1laS5jIGIvZnMvZXh0NC9uYW1laS5jCmluZGV4IGFiMTZiZWEuLjM4N2FkOTggMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvbmFtZWkuYworKysgYi9mcy9leHQ0L25hbWVpLmMKQEAgLTE4Myw2ICsxODMsMTYgQEAKIAkJCSAgICAgc3RydWN0IGlub2RlICppbm9kZSk7CiAKIC8qCisgKiBwIGlzIGF0IGxlYXN0IDYgYnl0ZXMgYmVmb3JlIHRoZSBlbmQgb2YgcGFnZQorICovCitzdGF0aWMgaW5saW5lIHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICoKK2V4dDRfbmV4dF9lbnRyeShzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqcCkKK3sKKwlyZXR1cm4gKHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICopKChjaGFyICopcCArCisJCWV4dDRfcmVjX2xlbl9mcm9tX2Rpc2socC0+cmVjX2xlbikpOworfQorCisvKgogICogRnV0dXJlOiB1c2UgaGlnaCBmb3VyIGJpdHMgb2YgYmxvY2sgZm9yIGNvYWxlc2NlLW9uLWRlbGV0ZSBmbGFncwogICogTWFzayB0aGVtIG9mZiBmb3Igbm93LgogICovCkBAIC0yMzEsMTMgKzI0MSwxMyBAQAogewogCXVuc2lnbmVkIGVudHJ5X3NwYWNlID0gZGlyLT5pX3NiLT5zX2Jsb2Nrc2l6ZSAtIEVYVDRfRElSX1JFQ19MRU4oMSkgLQogCQlFWFQ0X0RJUl9SRUNfTEVOKDIpIC0gaW5mb3NpemU7Ci0JcmV0dXJuIDA/IDIwOiBlbnRyeV9zcGFjZSAvIHNpemVvZihzdHJ1Y3QgZHhfZW50cnkpOworCXJldHVybiBlbnRyeV9zcGFjZSAvIHNpemVvZihzdHJ1Y3QgZHhfZW50cnkpOwogfQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGR4X25vZGVfbGltaXQgKHN0cnVjdCBpbm9kZSAqZGlyKQogewogCXVuc2lnbmVkIGVudHJ5X3NwYWNlID0gZGlyLT5pX3NiLT5zX2Jsb2Nrc2l6ZSAtIEVYVDRfRElSX1JFQ19MRU4oMCk7Ci0JcmV0dXJuIDA/IDIyOiBlbnRyeV9zcGFjZSAvIHNpemVvZihzdHJ1Y3QgZHhfZW50cnkpOworCXJldHVybiBlbnRyeV9zcGFjZSAvIHNpemVvZihzdHJ1Y3QgZHhfZW50cnkpOwogfQogCiAvKgpAQCAtNTU0LDE1ICs1NjQsNiBAQAogCiAKIC8qCi0gKiBwIGlzIGF0IGxlYXN0IDYgYnl0ZXMgYmVmb3JlIHRoZSBlbmQgb2YgcGFnZQotICovCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICpleHQ0X25leHRfZW50cnkoc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKnApCi17Ci0JcmV0dXJuIChzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqKSgoY2hhciAqKXAgKwotCQlleHQ0X3JlY19sZW5fZnJvbV9kaXNrKHAtPnJlY19sZW4pKTsKLX0KLQotLyoKICAqIFRoaXMgZnVuY3Rpb24gZmlsbHMgYSByZWQtYmxhY2sgdHJlZSB3aXRoIGluZm9ybWF0aW9uIGZyb20gYQogICogZGlyZWN0b3J5IGJsb2NrLiAgSXQgcmV0dXJucyB0aGUgbnVtYmVyIGRpcmVjdG9yeSBlbnRyaWVzIGxvYWRlZAogICogaW50byB0aGUgdHJlZS4gIElmIHRoZXJlIGlzIGFuIGVycm9yIGl0IGlzIHJldHVybmVkIGluIGVyci4KQEAgLTk5MywxOSArOTk0LDIxIEBACiAJCWRlID0gKHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICopIGJoLT5iX2RhdGE7CiAJCXRvcCA9IChzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqKSAoKGNoYXIgKikgZGUgKyBzYi0+c19ibG9ja3NpemUgLQogCQkJCSAgICAgICBFWFQ0X0RJUl9SRUNfTEVOKDApKTsKLQkJZm9yICg7IGRlIDwgdG9wOyBkZSA9IGV4dDRfbmV4dF9lbnRyeShkZSkpCi0JCWlmIChleHQ0X21hdGNoIChuYW1lbGVuLCBuYW1lLCBkZSkpIHsKLQkJCWlmICghZXh0NF9jaGVja19kaXJfZW50cnkoImV4dDRfZmluZF9lbnRyeSIsCi0JCQkJCQkgIGRpciwgZGUsIGJoLAotCQkJCSAgKGJsb2NrPDxFWFQ0X0JMT0NLX1NJWkVfQklUUyhzYikpCi0JCQkJCSAgKygoY2hhciAqKWRlIC0gYmgtPmJfZGF0YSkpKSB7Ci0JCQkJYnJlbHNlIChiaCk7CisJCWZvciAoOyBkZSA8IHRvcDsgZGUgPSBleHQ0X25leHRfZW50cnkoZGUpKSB7CisJCQlpbnQgb2ZmID0gKGJsb2NrIDw8IEVYVDRfQkxPQ0tfU0laRV9CSVRTKHNiKSkKKwkJCQkgICsgKChjaGFyICopIGRlIC0gYmgtPmJfZGF0YSk7CisKKwkJCWlmICghZXh0NF9jaGVja19kaXJfZW50cnkoX19mdW5jX18sIGRpciwgZGUsIGJoLCBvZmYpKSB7CisJCQkJYnJlbHNlKGJoKTsKIAkJCQkqZXJyID0gRVJSX0JBRF9EWF9ESVI7CiAJCQkJZ290byBlcnJvdXQ7CiAJCQl9Ci0JCQkqcmVzX2RpciA9IGRlOwotCQkJZHhfcmVsZWFzZSAoZnJhbWVzKTsKLQkJCXJldHVybiBiaDsKKworCQkJaWYgKGV4dDRfbWF0Y2gobmFtZWxlbiwgbmFtZSwgZGUpKSB7CisJCQkJKnJlc19kaXIgPSBkZTsKKwkJCQlkeF9yZWxlYXNlKGZyYW1lcyk7CisJCQkJcmV0dXJuIGJoOworCQkJfQogCQl9CiAJCWJyZWxzZSAoYmgpOwogCQkvKiBDaGVjayB0byBzZWUgaWYgd2Ugc2hvdWxkIGNvbnRpbnVlIHRvIHNlYXJjaCAqLwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9yZXNpemUuYyBiL2ZzL2V4dDQvcmVzaXplLmMKaW5kZXggOWZmN2IxYy4uZjAwMGZiZSAxMDA2NDQKLS0tIGEvZnMvZXh0NC9yZXNpemUuYworKysgYi9mcy9leHQ0L3Jlc2l6ZS5jCkBAIC04NjYsNiArODY2LDE1IEBACiAJZ2RwLT5iZ19jaGVja3N1bSA9IGV4dDRfZ3JvdXBfZGVzY19jc3VtKHNiaSwgaW5wdXQtPmdyb3VwLCBnZHApOwogCiAJLyoKKwkgKiBXZSBjYW4gYWxsb2NhdGUgbWVtb3J5IGZvciBtYl9hbGxvYyBiYXNlZCBvbiB0aGUgbmV3IGdyb3VwCisJICogZGVzY3JpcHRvcgorCSAqLworCWlmICh0ZXN0X29wdChzYiwgTUJBTExPQykpIHsKKwkJZXJyID0gZXh0NF9tYl9hZGRfbW9yZV9ncm91cGluZm8oc2IsIGlucHV0LT5ncm91cCwgZ2RwKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gZXhpdF9qb3VybmFsOworCX0KKwkvKgogCSAqIE1ha2UgdGhlIG5ldyBibG9ja3MgYW5kIGlub2RlcyB2YWxpZCBuZXh0LiAgV2UgZG8gdGhpcyBiZWZvcmUKIAkgKiBpbmNyZWFzaW5nIHRoZSBncm91cCBjb3VudCBzbyB0aGF0IG9uY2UgdGhlIGdyb3VwIGlzIGVuYWJsZWQsCiAJICogYWxsIG9mIGl0cyBibG9ja3MgYW5kIGlub2RlcyBhcmUgYWxyZWFkeSB2YWxpZC4KQEAgLTk1Nyw2ICs5NjYsOCBAQAogCWhhbmRsZV90ICpoYW5kbGU7CiAJaW50IGVycjsKIAl1bnNpZ25lZCBsb25nIGZyZWVkX2Jsb2NrczsKKwlleHQ0X2dyb3VwX3QgZ3JvdXA7CisJc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyAqZ3JwOwogCiAJLyogV2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBsb2NraW5nIHdydCBvdGhlciByZXNpemVycyBqdXN0CiAJICogeWV0OiB3ZSdyZSBnb2luZyB0byByZXZhbGlkYXRlIGVzLT5zX2Jsb2Nrc19jb3VudCBhZnRlcgpAQCAtOTg4LDcgKzk5OSw3IEBACiAJfQogCiAJLyogSGFuZGxlIHRoZSByZW1haW5pbmcgYmxvY2tzIGluIHRoZSBsYXN0IGdyb3VwIG9ubHkuICovCi0JZXh0NF9nZXRfZ3JvdXBfbm9fYW5kX29mZnNldChzYiwgb19ibG9ja3NfY291bnQsIE5VTEwsICZsYXN0KTsKKwlleHQ0X2dldF9ncm91cF9ub19hbmRfb2Zmc2V0KHNiLCBvX2Jsb2Nrc19jb3VudCwgJmdyb3VwLCAmbGFzdCk7CiAKIAlpZiAobGFzdCA9PSAwKSB7CiAJCWV4dDRfd2FybmluZyhzYiwgX19mdW5jX18sCkBAIC0xMDYwLDYgKzEwNzEsNDUgQEAKIAkJICAgb19ibG9ja3NfY291bnQgKyBhZGQpOwogCWlmICgoZXJyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKSkpCiAJCWdvdG8gZXhpdF9wdXQ7CisKKwkvKgorCSAqIE1hcmsgbWJhbGxvYyBwYWdlcyBhcyBub3QgdXAgdG8gZGF0ZSBzbyB0aGF0IHRoZXkgd2lsbCBiZSB1cGRhdGVkCisJICogbmV4dCB0aW1lIHRoZXkgYXJlIGxvYWRlZCBieSBleHQ0X21iX2xvYWRfYnVkZHkuCisJICovCisJaWYgKHRlc3Rfb3B0KHNiLCBNQkFMTE9DKSkgeworCQlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKKwkJc3RydWN0IGlub2RlICppbm9kZSA9IHNiaS0+c19idWRkeV9jYWNoZTsKKwkJaW50IGJsb2Nrc19wZXJfcGFnZTsKKwkJaW50IGJsb2NrOworCQlpbnQgcG51bTsKKwkJc3RydWN0IHBhZ2UgKnBhZ2U7CisKKwkJLyogU2V0IGJ1ZGR5IHBhZ2UgYXMgbm90IHVwIHRvIGRhdGUgKi8KKwkJYmxvY2tzX3Blcl9wYWdlID0gUEFHRV9DQUNIRV9TSVpFIC8gc2ItPnNfYmxvY2tzaXplOworCQlibG9jayA9IGdyb3VwICogMjsKKwkJcG51bSA9IGJsb2NrIC8gYmxvY2tzX3Blcl9wYWdlOworCQlwYWdlID0gZmluZF9nZXRfcGFnZShpbm9kZS0+aV9tYXBwaW5nLCBwbnVtKTsKKwkJaWYgKHBhZ2UgIT0gTlVMTCkgeworCQkJQ2xlYXJQYWdlVXB0b2RhdGUocGFnZSk7CisJCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CisJCX0KKworCQkvKiBTZXQgYml0bWFwIHBhZ2UgYXMgbm90IHVwIHRvIGRhdGUgKi8KKwkJYmxvY2srKzsKKwkJcG51bSA9IGJsb2NrIC8gYmxvY2tzX3Blcl9wYWdlOworCQlwYWdlID0gZmluZF9nZXRfcGFnZShpbm9kZS0+aV9tYXBwaW5nLCBwbnVtKTsKKwkJaWYgKHBhZ2UgIT0gTlVMTCkgeworCQkJQ2xlYXJQYWdlVXB0b2RhdGUocGFnZSk7CisJCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CisJCX0KKworCQkvKiBHZXQgdGhlIGluZm8gb24gdGhlIGxhc3QgZ3JvdXAgKi8KKwkJZ3JwID0gZXh0NF9nZXRfZ3JvdXBfaW5mbyhzYiwgZ3JvdXApOworCisJCS8qIFVwZGF0ZSBmcmVlIGJsb2NrcyBpbiBncm91cCBpbmZvICovCisJCWV4dDRfbWJfdXBkYXRlX2dyb3VwX2luZm8oZ3JwLCBhZGQpOworCX0KKwogCWlmICh0ZXN0X29wdChzYiwgREVCVUcpKQogCQlwcmludGsoS0VSTl9ERUJVRyAiRVhUNC1mczogZXh0ZW5kZWQgZ3JvdXAgdG8gJWxsdSBibG9ja3NcbiIsCiAJCSAgICAgICBleHQ0X2Jsb2Nrc19jb3VudChlcykpOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9zdXBlci5jIGIvZnMvZXh0NC9zdXBlci5jCmluZGV4IDAyYmYyNDMuLjFjYjM3MWQgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvc3VwZXIuYworKysgYi9mcy9leHQ0L3N1cGVyLmMKQEAgLTUwNiw2ICs1MDYsNyBAQAogCWV4dDRfZXh0X3JlbGVhc2Uoc2IpOwogCWV4dDRfeGF0dHJfcHV0X3N1cGVyKHNiKTsKIAlqYmQyX2pvdXJuYWxfZGVzdHJveShzYmktPnNfam91cm5hbCk7CisJc2JpLT5zX2pvdXJuYWwgPSBOVUxMOwogCWlmICghKHNiLT5zX2ZsYWdzICYgTVNfUkRPTkxZKSkgewogCQlFWFQ0X0NMRUFSX0lOQ09NUEFUX0ZFQVRVUkUoc2IsIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF9SRUNPVkVSKTsKIAkJZXMtPnNfc3RhdGUgPSBjcHVfdG9fbGUxNihzYmktPnNfbW91bnRfc3RhdGUpOwpAQCAtNTE3LDYgKzUxOCw3IEBACiAJZm9yIChpID0gMDsgaSA8IHNiaS0+c19nZGJfY291bnQ7IGkrKykKIAkJYnJlbHNlKHNiaS0+c19ncm91cF9kZXNjW2ldKTsKIAlrZnJlZShzYmktPnNfZ3JvdXBfZGVzYyk7CisJa2ZyZWUoc2JpLT5zX2ZsZXhfZ3JvdXBzKTsKIAlwZXJjcHVfY291bnRlcl9kZXN0cm95KCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyKTsKIAlwZXJjcHVfY291bnRlcl9kZXN0cm95KCZzYmktPnNfZnJlZWlub2Rlc19jb3VudGVyKTsKIAlwZXJjcHVfY291bnRlcl9kZXN0cm95KCZzYmktPnNfZGlyc19jb3VudGVyKTsKQEAgLTU3MSw2ICs1NzMsMTIgQEAKIAltZW1zZXQoJmVpLT5pX2NhY2hlZF9leHRlbnQsIDAsIHNpemVvZihzdHJ1Y3QgZXh0NF9leHRfY2FjaGUpKTsKIAlJTklUX0xJU1RfSEVBRCgmZWktPmlfcHJlYWxsb2NfbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJmVpLT5pX3ByZWFsbG9jX2xvY2spOworCWpiZDJfam91cm5hbF9pbml0X2piZF9pbm9kZSgmZWktPmppbm9kZSwgJmVpLT52ZnNfaW5vZGUpOworCWVpLT5pX3Jlc2VydmVkX2RhdGFfYmxvY2tzID0gMDsKKwllaS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2NrcyA9IDA7CisJZWktPmlfYWxsb2NhdGVkX21ldGFfYmxvY2tzID0gMDsKKwllaS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnID0gMDsKKwlzcGluX2xvY2tfaW5pdCgmKGVpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spKTsKIAlyZXR1cm4gJmVpLT52ZnNfaW5vZGU7CiB9CiAKQEAgLTYzNSw2ICs2NDMsOCBAQAogCUVYVDRfSShpbm9kZSktPmlfYmxvY2tfYWxsb2NfaW5mbyA9IE5VTEw7CiAJaWYgKHVubGlrZWx5KHJzdikpCiAJCWtmcmVlKHJzdik7CisJamJkMl9qb3VybmFsX3JlbGVhc2VfamJkX2lub2RlKEVYVDRfU0IoaW5vZGUtPmlfc2IpLT5zX2pvdXJuYWwsCisJCQkJICAgICAgICZFWFQ0X0koaW5vZGUpLT5qaW5vZGUpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZXh0NF9zaG93X3F1b3RhX29wdGlvbnMoc3RydWN0IHNlcV9maWxlICpzZXEsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCkBAIC02NzEsNyArNjgxLDYgQEAKIAl1bnNpZ25lZCBsb25nIGRlZl9tb3VudF9vcHRzOwogCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSB2ZnMtPm1udF9zYjsKIAlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKLQlqb3VybmFsX3QgKmpvdXJuYWwgPSBzYmktPnNfam91cm5hbDsKIAlzdHJ1Y3QgZXh0NF9zdXBlcl9ibG9jayAqZXMgPSBzYmktPnNfZXM7CiAKIAlkZWZfbW91bnRfb3B0cyA9IGxlMzJfdG9fY3B1KGVzLT5zX2RlZmF1bHRfbW91bnRfb3B0cyk7CkBAIC03NDcsNiArNzU2LDkgQEAKIAkJc2VxX3B1dHMoc2VxLCAiLG5vbWJhbGxvYyIpOwogCWlmICh0ZXN0X29wdChzYiwgSV9WRVJTSU9OKSkKIAkJc2VxX3B1dHMoc2VxLCAiLGlfdmVyc2lvbiIpOworCWlmICghdGVzdF9vcHQoc2IsIERFTEFMTE9DKSkKKwkJc2VxX3B1dHMoc2VxLCAiLG5vZGVsYWxsb2MiKTsKKwogCiAJaWYgKHNiaS0+c19zdHJpcGUpCiAJCXNlcV9wcmludGYoc2VxLCAiLHN0cmlwZT0lbHUiLCBzYmktPnNfc3RyaXBlKTsKQEAgLTg5NCw3ICs5MDYsNyBAQAogCU9wdF9qcWZtdF92ZnNvbGQsIE9wdF9qcWZtdF92ZnN2MCwgT3B0X3F1b3RhLCBPcHRfbm9xdW90YSwKIAlPcHRfaWdub3JlLCBPcHRfYmFycmllciwgT3B0X2VyciwgT3B0X3Jlc2l6ZSwgT3B0X3VzcnF1b3RhLAogCU9wdF9ncnBxdW90YSwgT3B0X2V4dGVudHMsIE9wdF9ub2V4dGVudHMsIE9wdF9pX3ZlcnNpb24sCi0JT3B0X21iYWxsb2MsIE9wdF9ub21iYWxsb2MsIE9wdF9zdHJpcGUsCisJT3B0X21iYWxsb2MsIE9wdF9ub21iYWxsb2MsIE9wdF9zdHJpcGUsIE9wdF9kZWxhbGxvYywgT3B0X25vZGVsYWxsb2MsCiB9OwogCiBzdGF0aWMgbWF0Y2hfdGFibGVfdCB0b2tlbnMgPSB7CkBAIC05NTMsNiArOTY1LDggQEAKIAl7T3B0X25vbWJhbGxvYywgIm5vbWJhbGxvYyJ9LAogCXtPcHRfc3RyaXBlLCAic3RyaXBlPSV1In0sCiAJe09wdF9yZXNpemUsICJyZXNpemUifSwKKwl7T3B0X2RlbGFsbG9jLCAiZGVsYWxsb2MifSwKKwl7T3B0X25vZGVsYWxsb2MsICJub2RlbGFsbG9jIn0sCiAJe09wdF9lcnIsIE5VTEx9LAogfTsKIApAQCAtOTkwLDYgKzEwMDQsNyBAQAogCWludCBxdHlwZSwgcWZtdDsKIAljaGFyICpxbmFtZTsKICNlbmRpZgorCWV4dDRfZnNibGtfdCBsYXN0X2Jsb2NrOwogCiAJaWYgKCFvcHRpb25zKQogCQlyZXR1cm4gMTsKQEAgLTEzMDksMTUgKzEzMjQsMzkgQEAKIAkJCWNsZWFyX29wdChzYmktPnNfbW91bnRfb3B0LCBOT0JIKTsKIAkJCWJyZWFrOwogCQljYXNlIE9wdF9leHRlbnRzOgorCQkJaWYgKCFFWFQ0X0hBU19JTkNPTVBBVF9GRUFUVVJFKHNiLAorCQkJCQlFWFQ0X0ZFQVRVUkVfSU5DT01QQVRfRVhURU5UUykpIHsKKwkJCQlleHQ0X3dhcm5pbmcoc2IsIF9fZnVuY19fLAorCQkJCQkiZXh0ZW50cyBmZWF0dXJlIG5vdCBlbmFibGVkICIKKwkJCQkJIm9uIHRoaXMgZmlsZXN5c3RlbSwgdXNlIHR1bmUyZnNcbiIpOworCQkJCXJldHVybiAwOworCQkJfQogCQkJc2V0X29wdCAoc2JpLT5zX21vdW50X29wdCwgRVhURU5UUyk7CiAJCQlicmVhazsKIAkJY2FzZSBPcHRfbm9leHRlbnRzOgorCQkJLyoKKwkJCSAqIFdoZW4gZTJmc3Byb2dzIHN1cHBvcnQgcmVzaXppbmcgYW4gYWxyZWFkeSBleGlzdGluZworCQkJICogZXh0MyBmaWxlIHN5c3RlbSB0byBncmVhdGVyIHRoYW4gMioqMzIgd2UgbmVlZCB0bworCQkJICogYWRkIHN1cHBvcnQgdG8gYmxvY2sgYWxsb2NhdG9yIHRvIGhhbmRsZSBncm93aW5nCisJCQkgKiBhbHJlYWR5IGV4aXN0aW5nIGJsb2NrICBtYXBwZWQgaW5vZGUgc28gdGhhdCBibG9ja3MKKwkJCSAqIGFsbG9jYXRlZCBmb3IgdGhlbSBmYWxsIHdpdGhpbiAyKiozMgorCQkJICovCisJCQlsYXN0X2Jsb2NrID0gZXh0NF9ibG9ja3NfY291bnQoc2JpLT5zX2VzKSAtIDE7CisJCQlpZiAobGFzdF9ibG9jayAgPiAweGZmZmZmZmZmVUxMKSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBGaWxlc3lzdGVtIHRvbyAiCisJCQkJCQkibGFyZ2UgdG8gbW91bnQgd2l0aCAiCisJCQkJCQkiLW8gbm9leHRlbnRzIG9wdGlvbnNcbiIpOworCQkJCXJldHVybiAwOworCQkJfQogCQkJY2xlYXJfb3B0IChzYmktPnNfbW91bnRfb3B0LCBFWFRFTlRTKTsKIAkJCWJyZWFrOwogCQljYXNlIE9wdF9pX3ZlcnNpb246CiAJCQlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIElfVkVSU0lPTik7CiAJCQlzYi0+c19mbGFncyB8PSBNU19JX1ZFUlNJT047CiAJCQlicmVhazsKKwkJY2FzZSBPcHRfbm9kZWxhbGxvYzoKKwkJCWNsZWFyX29wdChzYmktPnNfbW91bnRfb3B0LCBERUxBTExPQyk7CisJCQlicmVhazsKIAkJY2FzZSBPcHRfbWJhbGxvYzoKIAkJCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgTUJBTExPQyk7CiAJCQlicmVhazsKQEAgLTEzMzEsNiArMTM3MCw5IEBACiAJCQkJcmV0dXJuIDA7CiAJCQlzYmktPnNfc3RyaXBlID0gb3B0aW9uOwogCQkJYnJlYWs7CisJCWNhc2UgT3B0X2RlbGFsbG9jOgorCQkJc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBERUxBTExPQyk7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCXByaW50ayAoS0VSTl9FUlIKIAkJCQkiRVhUNC1mczogVW5yZWNvZ25pemVkIG1vdW50IG9wdGlvbiBcIiVzXCIgIgpAQCAtMTQ0Myw2ICsxNDg1LDU0IEBACiAJcmV0dXJuIHJlczsKIH0KIAorc3RhdGljIGludCBleHQ0X2ZpbGxfZmxleF9pbmZvKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7CisJc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZ2RwID0gTlVMTDsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOworCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwX2NvdW50OworCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwOworCWludCBncm91cHNfcGVyX2ZsZXggPSAwOworCV9fdTY0IGJsb2NrX2JpdG1hcCA9IDA7CisJaW50IGk7CisKKwlpZiAoIXNiaS0+c19lcy0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCXNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4ID0gMDsKKwkJcmV0dXJuIDE7CisJfQorCisJc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXggPSBzYmktPnNfZXMtPnNfbG9nX2dyb3Vwc19wZXJfZmxleDsKKwlncm91cHNfcGVyX2ZsZXggPSAxIDw8IHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4OworCisJZmxleF9ncm91cF9jb3VudCA9IChzYmktPnNfZ3JvdXBzX2NvdW50ICsgZ3JvdXBzX3Blcl9mbGV4IC0gMSkgLworCQlncm91cHNfcGVyX2ZsZXg7CisJc2JpLT5zX2ZsZXhfZ3JvdXBzID0ga21hbGxvYyhmbGV4X2dyb3VwX2NvdW50ICoKKwkJCQkgICAgIHNpemVvZihzdHJ1Y3QgZmxleF9ncm91cHMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoc2JpLT5zX2ZsZXhfZ3JvdXBzID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBub3QgZW5vdWdoIG1lbW9yeVxuIik7CisJCWdvdG8gZmFpbGVkOworCX0KKwltZW1zZXQoc2JpLT5zX2ZsZXhfZ3JvdXBzLCAwLCBmbGV4X2dyb3VwX2NvdW50ICoKKwkgICAgICAgc2l6ZW9mKHN0cnVjdCBmbGV4X2dyb3VwcykpOworCisJZ2RwID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyhzYiwgMSwgJmJoKTsKKwlibG9ja19iaXRtYXAgPSBleHQ0X2Jsb2NrX2JpdG1hcChzYiwgZ2RwKSAtIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgc2JpLT5zX2dyb3Vwc19jb3VudDsgaSsrKSB7CisJCWdkcCA9IGV4dDRfZ2V0X2dyb3VwX2Rlc2Moc2IsIGksICZiaCk7CisKKwkJZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9pbm9kZXMgKz0KKwkJCWxlMTZfdG9fY3B1KGdkcC0+YmdfZnJlZV9pbm9kZXNfY291bnQpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9ibG9ja3MgKz0KKwkJCWxlMTZfdG9fY3B1KGdkcC0+YmdfZnJlZV9ibG9ja3NfY291bnQpOworCX0KKworCXJldHVybiAxOworZmFpbGVkOgorCXJldHVybiAwOworfQorCiBfX2xlMTYgZXh0NF9ncm91cF9kZXNjX2NzdW0oc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpLCBfX3UzMiBibG9ja19ncm91cCwKIAkJCSAgICBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpnZHApCiB7CkBAIC0xODEwLDggKzE5MDAsOCBAQAogfQogCiBzdGF0aWMgaW50IGV4dDRfZmlsbF9zdXBlciAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdm9pZCAqZGF0YSwgaW50IHNpbGVudCkKLQkJCQlfX3JlbGVhc2VzKGtlcm5lbF9zZW0pCi0JCQkJX19hY3F1aXJlcyhrZXJuZWxfc2VtKQorCQkJCV9fcmVsZWFzZXMoa2VybmVsX2xvY2spCisJCQkJX19hY3F1aXJlcyhrZXJuZWxfbG9jaykKIAogewogCXN0cnVjdCBidWZmZXJfaGVhZCAqIGJoOwpAQCAtMTg1MSwxMSArMTk0MSw2IEBACiAJCWdvdG8gb3V0X2ZhaWw7CiAJfQogCi0JaWYgKCFzYl9zZXRfYmxvY2tzaXplKHNiLCBibG9ja3NpemUpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogYmFkIGJsb2Nrc2l6ZSAlZC5cbiIsIGJsb2Nrc2l6ZSk7Ci0JCWdvdG8gb3V0X2ZhaWw7Ci0JfQotCiAJLyoKIAkgKiBUaGUgZXh0NCBzdXBlcmJsb2NrIHdpbGwgbm90IGJlIGJ1ZmZlciBhbGlnbmVkIGZvciBvdGhlciB0aGFuIDFrQgogCSAqIGJsb2NrIHNpemVzLiAgV2UgbmVlZCB0byBjYWxjdWxhdGUgdGhlIG9mZnNldCBmcm9tIGJ1ZmZlciBzdGFydC4KQEAgLTE5MTksMTUgKzIwMDQsMjggQEAKIAogCS8qCiAJICogdHVybiBvbiBleHRlbnRzIGZlYXR1cmUgYnkgZGVmYXVsdCBpbiBleHQ0IGZpbGVzeXN0ZW0KLQkgKiBVc2VyIC1vIG5vZXh0ZW50cyB0byB0dXJuIGl0IG9mZgorCSAqIG9ubHkgaWYgZmVhdHVyZSBmbGFnIGFscmVhZHkgc2V0IGJ5IG1rZnMgb3IgdHVuZTJmcy4KKwkgKiBVc2UgLW8gbm9leHRlbnRzIHRvIHR1cm4gaXQgb2ZmCiAJICovCi0Jc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBFWFRFTlRTKTsKKwlpZiAoRVhUNF9IQVNfSU5DT01QQVRfRkVBVFVSRShzYiwgRVhUNF9GRUFUVVJFX0lOQ09NUEFUX0VYVEVOVFMpKQorCQlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIEVYVEVOVFMpOworCWVsc2UKKwkJZXh0NF93YXJuaW5nKHNiLCBfX2Z1bmNfXywKKwkJCSJleHRlbnRzIGZlYXR1cmUgbm90IGVuYWJsZWQgb24gdGhpcyBmaWxlc3lzdGVtLCAiCisJCQkidXNlIHR1bmUyZnMuXG4iKTsKIAkvKgotCSAqIHR1cm4gb24gbWJhbGxvYyBmZWF0dXJlIGJ5IGRlZmF1bHQgaW4gZXh0NCBmaWxlc3lzdGVtCi0JICogVXNlciAtbyBub21iYWxsb2MgdG8gdHVybiBpdCBvZmYKKwkgKiB0dXJuIG9uIG1iYWxsb2MgY29kZSBieSBkZWZhdWx0IGluIGV4dDQgZmlsZXN5c3RlbQorCSAqIFVzZSAtbyBub21iYWxsb2MgdG8gdHVybiBpdCBvZmYKIAkgKi8KIAlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIE1CQUxMT0MpOwogCisJLyoKKwkgKiBlbmFibGUgZGVsYXllZCBhbGxvY2F0aW9uIGJ5IGRlZmF1bHQKKwkgKiBVc2UgLW8gbm9kZWxhbGxvYyB0byB0dXJuIGl0IG9mZgorCSAqLworCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgREVMQUxMT0MpOworCisKIAlpZiAoIXBhcnNlX29wdGlvbnMgKChjaGFyICopIGRhdGEsIHNiLCAmam91cm5hbF9pbnVtLCAmam91cm5hbF9kZXZudW0sCiAJCQkgICAgTlVMTCwgMCkpCiAJCWdvdG8gZmFpbGVkX21vdW50OwpAQCAtMjEzOCw2ICsyMjM2LDE0IEBACiAJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogZ3JvdXAgZGVzY3JpcHRvcnMgY29ycnVwdGVkIVxuIik7CiAJCWdvdG8gZmFpbGVkX21vdW50MjsKIAl9CisJaWYgKEVYVDRfSEFTX0lOQ09NUEFUX0ZFQVRVUkUoc2IsIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF9GTEVYX0JHKSkKKwkJaWYgKCFleHQ0X2ZpbGxfZmxleF9pbmZvKHNiKSkgeworCQkJcHJpbnRrKEtFUk5fRVJSCisJCQkgICAgICAgIkVYVDQtZnM6IHVuYWJsZSB0byBpbml0aWFsaXplICIKKwkJCSAgICAgICAiZmxleF9iZyBtZXRhIGluZm8hXG4iKTsKKwkJCWdvdG8gZmFpbGVkX21vdW50MjsKKwkJfQorCiAJc2JpLT5zX2dkYl9jb3VudCA9IGRiX2NvdW50OwogCWdldF9yYW5kb21fYnl0ZXMoJnNiaS0+c19uZXh0X2dlbmVyYXRpb24sIHNpemVvZih1MzIpKTsKIAlzcGluX2xvY2tfaW5pdCgmc2JpLT5zX25leHRfZ2VuX2xvY2spOwpAQCAtMjM1OCw2ICsyNDY0LDEzIEBACiAJCXRlc3Rfb3B0KHNiLERBVEFfRkxBR1MpID09IEVYVDRfTU9VTlRfT1JERVJFRF9EQVRBID8gIm9yZGVyZWQiOgogCQkid3JpdGViYWNrIik7CiAKKwlpZiAodGVzdF9vcHQoc2IsIERBVEFfRkxBR1MpID09IEVYVDRfTU9VTlRfSk9VUk5BTF9EQVRBKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIkVYVDQtZnM6IElnbm9yaW5nIGRlbGFsbG9jIG9wdGlvbiAtICIKKwkJCQkicmVxdWVzdGVkIGRhdGEgam91cm5hbGluZyBtb2RlXG4iKTsKKwkJY2xlYXJfb3B0KHNiaS0+c19tb3VudF9vcHQsIERFTEFMTE9DKTsKKwl9IGVsc2UgaWYgKHRlc3Rfb3B0KHNiLCBERUxBTExPQykpCisJCXByaW50ayhLRVJOX0lORk8gIkVYVDQtZnM6IGRlbGF5ZWQgYWxsb2NhdGlvbiBlbmFibGVkXG4iKTsKKwogCWV4dDRfZXh0X2luaXQoc2IpOwogCWV4dDRfbWJfaW5pdChzYiwgbmVlZHNfcmVjb3ZlcnkpOwogCkBAIC0yMzcyLDYgKzI0ODUsNyBAQAogCiBmYWlsZWRfbW91bnQ0OgogCWpiZDJfam91cm5hbF9kZXN0cm95KHNiaS0+c19qb3VybmFsKTsKKwlzYmktPnNfam91cm5hbCA9IE5VTEw7CiBmYWlsZWRfbW91bnQzOgogCXBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIpOwogCXBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koJnNiaS0+c19mcmVlaW5vZGVzX2NvdW50ZXIpOwpAQCAtMzMyNSw3ICszNDM5LDcgQEAKIAkJCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJoKTsKIAkJZWxzZSB7CiAJCQkvKiBBbHdheXMgZG8gYXQgbGVhc3Qgb3JkZXJlZCB3cml0ZXMgZm9yIHF1b3RhcyAqLwotCQkJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlLCBiaCk7CisJCQllcnIgPSBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGUsIGlub2RlKTsKIAkJCW1hcmtfYnVmZmVyX2RpcnR5KGJoKTsKIAkJfQogCQlicmVsc2UoYmgpOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC94YXR0ci5jIGIvZnMvZXh0NC94YXR0ci5jCmluZGV4IGZmMDg2MzMuLjkzYzVmZGMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQveGF0dHIuYworKysgYi9mcy9leHQ0L3hhdHRyLmMKQEAgLTgxMCw3ICs4MTAsNyBAQAogCQkJLyogV2UgbmVlZCB0byBhbGxvY2F0ZSBhIG5ldyBibG9jayAqLwogCQkJZXh0NF9mc2Jsa190IGdvYWwgPSBleHQ0X2dyb3VwX2ZpcnN0X2Jsb2NrX25vKHNiLAogCQkJCQkJRVhUNF9JKGlub2RlKS0+aV9ibG9ja19ncm91cCk7Ci0JCQlleHQ0X2ZzYmxrX3QgYmxvY2sgPSBleHQ0X25ld19ibG9jayhoYW5kbGUsIGlub2RlLAorCQkJZXh0NF9mc2Jsa190IGJsb2NrID0gZXh0NF9uZXdfbWV0YV9ibG9jayhoYW5kbGUsIGlub2RlLAogCQkJCQkJCWdvYWwsICZlcnJvcik7CiAJCQlpZiAoZXJyb3IpCiAJCQkJZ290byBjbGVhbnVwOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC94YXR0cl90cnVzdGVkLmMgYi9mcy9leHQ0L3hhdHRyX3RydXN0ZWQuYwppbmRleCBmZmYzMzM4Li5hYzFhNTJjIDEwMDY0NAotLS0gYS9mcy9leHQ0L3hhdHRyX3RydXN0ZWQuYworKysgYi9mcy9leHQ0L3hhdHRyX3RydXN0ZWQuYwpAQCAtMTMsMTMgKzEzLDExIEBACiAjaW5jbHVkZSAiZXh0NC5oIgogI2luY2x1ZGUgInhhdHRyLmgiCiAKLSNkZWZpbmUgWEFUVFJfVFJVU1RFRF9QUkVGSVggInRydXN0ZWQuIgotCiBzdGF0aWMgc2l6ZV90CiBleHQ0X3hhdHRyX3RydXN0ZWRfbGlzdChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjaGFyICpsaXN0LCBzaXplX3QgbGlzdF9zaXplLAogCQkJY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVfbGVuKQogewotCWNvbnN0IHNpemVfdCBwcmVmaXhfbGVuID0gc2l6ZW9mKFhBVFRSX1RSVVNURURfUFJFRklYKS0xOworCWNvbnN0IHNpemVfdCBwcmVmaXhfbGVuID0gWEFUVFJfVFJVU1RFRF9QUkVGSVhfTEVOOwogCWNvbnN0IHNpemVfdCB0b3RhbF9sZW4gPSBwcmVmaXhfbGVuICsgbmFtZV9sZW4gKyAxOwogCiAJaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQpkaWZmIC0tZ2l0IGEvZnMvZXh0NC94YXR0cl91c2VyLmMgYi9mcy9leHQ0L3hhdHRyX3VzZXIuYwppbmRleCA2N2JlNzIzLi5kOTFhYTYxIDEwMDY0NAotLS0gYS9mcy9leHQ0L3hhdHRyX3VzZXIuYworKysgYi9mcy9leHQ0L3hhdHRyX3VzZXIuYwpAQCAtMTIsMTMgKzEyLDExIEBACiAjaW5jbHVkZSAiZXh0NC5oIgogI2luY2x1ZGUgInhhdHRyLmgiCiAKLSNkZWZpbmUgWEFUVFJfVVNFUl9QUkVGSVggInVzZXIuIgotCiBzdGF0aWMgc2l6ZV90CiBleHQ0X3hhdHRyX3VzZXJfbGlzdChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjaGFyICpsaXN0LCBzaXplX3QgbGlzdF9zaXplLAogCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lX2xlbikKIHsKLQljb25zdCBzaXplX3QgcHJlZml4X2xlbiA9IHNpemVvZihYQVRUUl9VU0VSX1BSRUZJWCktMTsKKwljb25zdCBzaXplX3QgcHJlZml4X2xlbiA9IFhBVFRSX1VTRVJfUFJFRklYX0xFTjsKIAljb25zdCBzaXplX3QgdG90YWxfbGVuID0gcHJlZml4X2xlbiArIG5hbWVfbGVuICsgMTsKIAogCWlmICghdGVzdF9vcHQoaW5vZGUtPmlfc2IsIFhBVFRSX1VTRVIpKQpkaWZmIC0tZ2l0IGEvZnMvZmF0L2NhY2hlLmMgYi9mcy9mYXQvY2FjaGUuYwppbmRleCBmZGEyNTQ3Li4zYTllY2FjOCAxMDA2NDQKLS0tIGEvZnMvZmF0L2NhY2hlLmMKKysrIGIvZnMvZmF0L2NhY2hlLmMKQEAgLTYxLDcgKzYxLDcgQEAKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgZmF0X2NhY2hlICpmYXRfY2FjaGVfYWxsb2Moc3RydWN0IGlub2RlICppbm9kZSkKIHsKLQlyZXR1cm4ga21lbV9jYWNoZV9hbGxvYyhmYXRfY2FjaGVfY2FjaGVwLCBHRlBfS0VSTkVMKTsKKwlyZXR1cm4ga21lbV9jYWNoZV9hbGxvYyhmYXRfY2FjaGVfY2FjaGVwLCBHRlBfTk9GUyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBmYXRfY2FjaGVfZnJlZShzdHJ1Y3QgZmF0X2NhY2hlICpjYWNoZSkKZGlmZiAtLWdpdCBhL2ZzL2ZhdC9kaXIuYyBiL2ZzL2ZhdC9kaXIuYwppbmRleCA0ODY3MjVlLi4zNDU0MWQwIDEwMDY0NAotLS0gYS9mcy9mYXQvZGlyLmMKKysrIGIvZnMvZmF0L2Rpci5jCkBAIC00NzIsNyArNDcyLDcgQEAKIAlsb2ZmX3QgY3BvczsKIAlpbnQgcmV0ID0gMDsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAljcG9zID0gZmlscC0+Zl9wb3M7CiAJLyogRmFrZSAuIGFuZCAuLiBmb3IgdGhlIHJvb3QgZGlyZWN0b3J5LiAqLwpAQCAtNjU0LDcgKzY1NCw3IEBACiAJaWYgKHVuaWNvZGUpCiAJCV9fcHV0bmFtZSh1bmljb2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9mcy9mYXQvZmlsZS5jIGIvZnMvZmF0L2ZpbGUuYwppbmRleCA3NzEzMjZiLi5jNjcyZGY0IDEwMDY0NAotLS0gYS9mcy9mYXQvZmlsZS5jCisrKyBiL2ZzL2ZhdC9maWxlLmMKQEAgLTExLDcgKzExLDYgQEAKICNpbmNsdWRlIDxsaW51eC9tb3VudC5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KICNpbmNsdWRlIDxsaW51eC9tc2Rvc19mcy5oPgotI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvYnVmZmVyX2hlYWQuaD4KICNpbmNsdWRlIDxsaW51eC93cml0ZWJhY2suaD4KICNpbmNsdWRlIDxsaW51eC9iYWNraW5nLWRldi5oPgpAQCAtMjQyLDkgKzI0MSw3IEBACiAKIAlucl9jbHVzdGVycyA9IChpbm9kZS0+aV9zaXplICsgKGNsdXN0ZXJfc2l6ZSAtIDEpKSA+PiBzYmktPmNsdXN0ZXJfYml0czsKIAotCWxvY2tfa2VybmVsKCk7CiAJZmF0X2ZyZWUoaW5vZGUsIG5yX2NsdXN0ZXJzKTsKLQl1bmxvY2tfa2VybmVsKCk7CiAJZmF0X2ZsdXNoX2lub2Rlcyhpbm9kZS0+aV9zYiwgaW5vZGUsIE5VTEwpOwogfQogCkBAIC0zMTAsOCArMzA3LDYgQEAKIAlpbnQgZXJyb3IgPSAwOwogCXVuc2lnbmVkIGludCBpYV92YWxpZDsKIAotCWxvY2tfa2VybmVsKCk7Ci0KIAkvKgogCSAqIEV4cGFuZCB0aGUgZmlsZS4gU2luY2UgaW5vZGVfc2V0YXR0cigpIHVwZGF0ZXMgLT5pX3NpemUKIAkgKiBiZWZvcmUgY2FsbGluZyB0aGUgLT50cnVuY2F0ZSgpLCBidXQgRkFUIG5lZWRzIHRvIGZpbGwgdGhlCkBAIC0zNjYsNyArMzYxLDYgQEAKIAogCWVycm9yID0gaW5vZGVfc2V0YXR0cihpbm9kZSwgYXR0cik7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnJvcjsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGZhdF9zZXRhdHRyKTsKZGlmZiAtLWdpdCBhL2ZzL2ZhdC9pbm9kZS5jIGIvZnMvZmF0L2lub2RlLmMKaW5kZXggNGUwYTNkZC4uNDZhNDUwOCAxMDA2NDQKLS0tIGEvZnMvZmF0L2lub2RlLmMKKysrIGIvZnMvZmF0L2lub2RlLmMKQEAgLTQ0MCwxNCArNDQwLDEzIEBACiAKIHN0YXRpYyB2b2lkIGZhdF9jbGVhcl9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQogewotCXN0cnVjdCBtc2Rvc19zYl9pbmZvICpzYmkgPSBNU0RPU19TQihpbm9kZS0+aV9zYik7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGlub2RlLT5pX3NiOworCXN0cnVjdCBtc2Rvc19zYl9pbmZvICpzYmkgPSBNU0RPU19TQihzYik7CiAKLQlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmc2JpLT5pbm9kZV9oYXNoX2xvY2spOwogCWZhdF9jYWNoZV9pbnZhbF9pbm9kZShpbm9kZSk7CiAJaGxpc3RfZGVsX2luaXQoJk1TRE9TX0koaW5vZGUpLT5pX2ZhdF9oYXNoKTsKIAlzcGluX3VubG9jaygmc2JpLT5pbm9kZV9oYXNoX2xvY2spOwotCXVubG9ja19rZXJuZWwoKTsKIH0KIAogc3RhdGljIHZvaWQgZmF0X3dyaXRlX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCkBAIC00ODUsNyArNDg0LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaW5vZGUgKmZhdF9hbGxvY19pbm9kZShzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQogewogCXN0cnVjdCBtc2Rvc19pbm9kZV9pbmZvICplaTsKLQllaSA9IGttZW1fY2FjaGVfYWxsb2MoZmF0X2lub2RlX2NhY2hlcCwgR0ZQX0tFUk5FTCk7CisJZWkgPSBrbWVtX2NhY2hlX2FsbG9jKGZhdF9pbm9kZV9jYWNoZXAsIEdGUF9OT0ZTKTsKIAlpZiAoIWVpKQogCQlyZXR1cm4gTlVMTDsKIAlyZXR1cm4gJmVpLT52ZnNfaW5vZGU7CkBAIC01NjcsNyArNTY2LDcgQEAKIAlpZiAoaW5vZGUtPmlfaW5vID09IE1TRE9TX1JPT1RfSU5PIHx8ICFpX3BvcykKIAkJcmV0dXJuIDA7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCWJoID0gc2JfYnJlYWQoc2IsIGlfcG9zID4+IHNiaS0+ZGlyX3Blcl9ibG9ja19iaXRzKTsKIAlpZiAoIWJoKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiRkFUOiB1bmFibGUgdG8gcmVhZCBpbm9kZSBibG9jayAiCkBAIC01NzksNyArNTc4LDcgQEAKIAlpZiAoaV9wb3MgIT0gTVNET1NfSShpbm9kZSktPmlfcG9zKSB7CiAJCXNwaW5fdW5sb2NrKCZzYmktPmlub2RlX2hhc2hfbG9jayk7CiAJCWJyZWxzZShiaCk7Ci0JCXVubG9ja19rZXJuZWwoKTsKKwkJdW5sb2NrX3N1cGVyKHNiKTsKIAkJZ290byByZXRyeTsKIAl9CiAKQEAgLTYwNiw3ICs2MDUsNyBAQAogCQllcnIgPSBzeW5jX2RpcnR5X2J1ZmZlcihiaCk7CiAJYnJlbHNlKGJoKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlyZXR1cm4gZXJyOwogfQogCkBAIC03MzYsNiArNzM1LDcgQEAKIAogc3RhdGljIHN0cnVjdCBkZW50cnkgKmZhdF9nZXRfcGFyZW50KHN0cnVjdCBkZW50cnkgKmNoaWxkKQogeworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBjaGlsZC0+ZF9zYjsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwogCXN0cnVjdCBtc2Rvc19kaXJfZW50cnkgKmRlOwogCWxvZmZfdCBpX3BvczsKQEAgLTc0MywxNCArNzQzLDE0IEBACiAJc3RydWN0IGlub2RlICppbm9kZTsKIAlpbnQgZXJyOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IGZhdF9nZXRfZG90ZG90X2VudHJ5KGNoaWxkLT5kX2lub2RlLCAmYmgsICZkZSwgJmlfcG9zKTsKIAlpZiAoZXJyKSB7CiAJCXBhcmVudCA9IEVSUl9QVFIoZXJyKTsKIAkJZ290byBvdXQ7CiAJfQotCWlub2RlID0gZmF0X2J1aWxkX2lub2RlKGNoaWxkLT5kX3NiLCBkZSwgaV9wb3MpOworCWlub2RlID0gZmF0X2J1aWxkX2lub2RlKHNiLCBkZSwgaV9wb3MpOwogCWJyZWxzZShiaCk7CiAJaWYgKElTX0VSUihpbm9kZSkpIHsKIAkJcGFyZW50ID0gRVJSX0NBU1QoaW5vZGUpOwpAQCAtNzYyLDcgKzc2Miw3IEBACiAJCXBhcmVudCA9IEVSUl9QVFIoLUVOT01FTSk7CiAJfQogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCiAJcmV0dXJuIHBhcmVudDsKIH0KQEAgLTExNzIsNiArMTE3MiwxMiBAQAogCWxvbmcgZXJyb3I7CiAJY2hhciBidWZbNTBdOwogCisJLyoKKwkgKiBHRlBfS0VSTkVMIGlzIG9rIGhlcmUsIGJlY2F1c2Ugd2hpbGUgd2UgZG8gaG9sZCB0aGUKKwkgKiBzdXBlYmxvY2sgbG9jaywgbWVtb3J5IHByZXNzdXJlIGNhbid0IGNhbGwgYmFjayBpbnRvCisJICogdGhlIGZpbGVzeXN0ZW0sIHNpbmNlIHdlJ3JlIG9ubHkganVzdCBhYm91dCB0byBtb3VudAorCSAqIGl0IGFuZCBoYXZlIG5vIGlub2RlcyBldGMgYWN0aXZlIQorCSAqLwogCXNiaSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBtc2Rvc19zYl9pbmZvKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzYmkpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZnMvZmNudGwuYyBiL2ZzL2ZjbnRsLmMKaW5kZXggYmZkNzc2NS4uMzMwYTdkNyAxMDA2NDQKLS0tIGEvZnMvZmNudGwuYworKysgYi9mcy9mY250bC5jCkBAIC0xMiw3ICsxMiw2IEBACiAjaW5jbHVkZSA8bGludXgvZmR0YWJsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9kbm90aWZ5Lmg+Ci0jaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KQEAgLTIyNyw3ICsyMjYsNiBAQAogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCi0JbG9ja19rZXJuZWwoKTsKIAlpZiAoKGFyZyBeIGZpbHAtPmZfZmxhZ3MpICYgRkFTWU5DKSB7CiAJCWlmIChmaWxwLT5mX29wICYmIGZpbHAtPmZfb3AtPmZhc3luYykgewogCQkJZXJyb3IgPSBmaWxwLT5mX29wLT5mYXN5bmMoZmQsIGZpbHAsIChhcmcgJiBGQVNZTkMpICE9IDApOwpAQCAtMjM4LDcgKzIzNiw2IEBACiAKIAlmaWxwLT5mX2ZsYWdzID0gKGFyZyAmIFNFVEZMX01BU0spIHwgKGZpbHAtPmZfZmxhZ3MgJiB+U0VURkxfTUFTSyk7CiAgb3V0OgotCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyb3I7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvS2NvbmZpZyBiL2ZzL2dmczIvS2NvbmZpZwppbmRleCA3Zjc5NDdlLi5hYjJmNTdlIDEwMDY0NAotLS0gYS9mcy9nZnMyL0tjb25maWcKKysrIGIvZnMvZ2ZzMi9LY29uZmlnCkBAIC0xNCwyMyArMTQsMTEgQEAKIAkgIEdGUyBpcyBwZXJmZWN0IGNvbnNpc3RlbmN5IC0tIGNoYW5nZXMgbWFkZSB0byB0aGUgZmlsZXN5c3RlbSBvbiBvbmUKIAkgIG1hY2hpbmUgc2hvdyB1cCBpbW1lZGlhdGVseSBvbiBhbGwgb3RoZXIgbWFjaGluZXMgaW4gdGhlIGNsdXN0ZXIuCiAKLQkgIFRvIHVzZSB0aGUgR0ZTMiBmaWxlc3lzdGVtLCB5b3Ugd2lsbCBuZWVkIHRvIGVuYWJsZSBvbmUgb3IgbW9yZSBvZgotCSAgdGhlIGJlbG93IGxvY2tpbmcgbW9kdWxlcy4gRG9jdW1lbnRhdGlvbiBhbmQgdXRpbGl0aWVzIGZvciBHRlMyIGNhbgorCSAgVG8gdXNlIHRoZSBHRlMyIGZpbGVzeXN0ZW0gaW4gYSBjbHVzdGVyLCB5b3Ugd2lsbCBuZWVkIHRvIGVuYWJsZQorCSAgdGhlIGxvY2tpbmcgbW9kdWxlIGJlbG93LiBEb2N1bWVudGF0aW9uIGFuZCB1dGlsaXRpZXMgZm9yIEdGUzIgY2FuCiAJICBiZSBmb3VuZCBoZXJlOiBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2NsdXN0ZXIKIAotY29uZmlnIEdGUzJfRlNfTE9DS0lOR19OT0xPQ0sKLQl0cmlzdGF0ZSAiR0ZTMiBcIm5vbG9ja1wiIGxvY2tpbmcgbW9kdWxlIgotCWRlcGVuZHMgb24gR0ZTMl9GUwotCWhlbHAKLQkgIFNpbmdsZSBub2RlIGxvY2tpbmcgbW9kdWxlIGZvciBHRlMyLgotCi0JICBVc2UgdGhpcyBtb2R1bGUgaWYgeW91IHdhbnQgdG8gdXNlIEdGUzIgb24gYSBzaW5nbGUgbm9kZSB3aXRob3V0Ci0JICBpdHMgY2x1c3RlcmluZyBmZWF0dXJlcy4gWW91IGNhbiBzdGlsbCB0YWtlIGFkdmFudGFnZSBvZiB0aGUKLQkgIGxhcmdlIGZpbGUgc3VwcG9ydCwgYW5kIHVwZ3JhZGUgdG8gcnVubmluZyBhIGZ1bGwgY2x1c3RlciBsYXRlciBvbgotCSAgaWYgcmVxdWlyZWQuCi0KLQkgIElmIHlvdSB3aWxsIG9ubHkgYmUgdXNpbmcgR0ZTMiBpbiBjbHVzdGVyIG1vZGUsIHlvdSBkbyBub3QgbmVlZCB0aGlzCi0JICBtb2R1bGUuCisJICBUaGUgIm5vbG9jayIgbG9jayBtb2R1bGUgaXMgbm93IGJ1aWx0IGluIHRvIEdGUzIgYnkgZGVmYXVsdC4KIAogY29uZmlnIEdGUzJfRlNfTE9DS0lOR19ETE0KIAl0cmlzdGF0ZSAiR0ZTMiBETE0gbG9ja2luZyBtb2R1bGUiCmRpZmYgLS1naXQgYS9mcy9nZnMyL01ha2VmaWxlIGIvZnMvZ2ZzMi9NYWtlZmlsZQppbmRleCBlMjM1MGRmLi5lYzY1ODUxIDEwMDY0NAotLS0gYS9mcy9nZnMyL01ha2VmaWxlCisrKyBiL2ZzL2dmczIvTWFrZWZpbGUKQEAgLTUsNiArNSw1IEBACiAJb3BzX2ZzdHlwZS5vIG9wc19pbm9kZS5vIG9wc19zdXBlci5vIHF1b3RhLm8gXAogCXJlY292ZXJ5Lm8gcmdycC5vIHN1cGVyLm8gc3lzLm8gdHJhbnMubyB1dGlsLm8KIAotb2JqLSQoQ09ORklHX0dGUzJfRlNfTE9DS0lOR19OT0xPQ0spICs9IGxvY2tpbmcvbm9sb2NrLwogb2JqLSQoQ09ORklHX0dGUzJfRlNfTE9DS0lOR19ETE0pICs9IGxvY2tpbmcvZGxtLwogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2dmczIuaCBiL2ZzL2dmczIvZ2ZzMi5oCmluZGV4IDNiYjExYzAuLmVmNjA2ZTMgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvZ2ZzMi5oCisrKyBiL2ZzL2dmczIvZ2ZzMi5oCkBAIC0xNiwxMSArMTYsNiBAQAogfTsKIAogZW51bSB7Ci0JTk9fV0FJVCA9IDAsCi0JV0FJVCA9IDEsCi19OwotCi1lbnVtIHsKIAlOT19GT1JDRSA9IDAsCiAJRk9SQ0UgPSAxLAogfTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvZ2xvY2suYyBiL2ZzL2dmczIvZ2xvY2suYwppbmRleCBkNjM2YjNlLi4xMzM5MWU1IDEwMDY0NAotLS0gYS9mcy9nZnMyL2dsb2NrLmMKKysrIGIvZnMvZ2ZzMi9nbG9jay5jCkBAIC00NSwyMSArNDUsMTkgQEAKICAgICAgICAgc3RydWN0IGhsaXN0X2hlYWQgaGJfbGlzdDsKIH07CiAKLXN0cnVjdCBnbG9ja19pdGVyIHsKLQlpbnQgaGFzaDsgICAgICAgICAgICAgICAgICAgICAvKiBoYXNoIGJ1Y2tldCBpbmRleCAgICAgICAgICovCi0Jc3RydWN0IGdmczJfc2JkICpzZHA7ICAgICAgICAgLyogaW5jb3JlIHN1cGVyYmxvY2sgICAgICAgICAqLwotCXN0cnVjdCBnZnMyX2dsb2NrICpnbDsgICAgICAgIC8qIGN1cnJlbnQgZ2xvY2sgc3RydWN0ICAgICAgKi8KLQlzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcTsgICAgICAgICAvKiBzZXF1ZW5jZSBmaWxlIGZvciBkZWJ1Z2ZzICovCi0JY2hhciBzdHJpbmdbNTEyXTsgICAgICAgICAgICAgLyogc2NyYXRjaCBzcGFjZSAgICAgICAgICAgICAqLworc3RydWN0IGdmczJfZ2xvY2tfaXRlciB7CisJaW50IGhhc2g7CQkJLyogaGFzaCBidWNrZXQgaW5kZXggICAgICAgICAqLworCXN0cnVjdCBnZnMyX3NiZCAqc2RwOwkJLyogaW5jb3JlIHN1cGVyYmxvY2sgICAgICAgICAqLworCXN0cnVjdCBnZnMyX2dsb2NrICpnbDsJCS8qIGN1cnJlbnQgZ2xvY2sgc3RydWN0ICAgICAgKi8KKwljaGFyIHN0cmluZ1s1MTJdOwkJLyogc2NyYXRjaCBzcGFjZSAgICAgICAgICAgICAqLwogfTsKIAogdHlwZWRlZiB2b2lkICgqZ2xvY2tfZXhhbWluZXIpIChzdHJ1Y3QgZ2ZzMl9nbG9jayAqIGdsKTsKIAogc3RhdGljIGludCBnZnMyX2R1bXBfbG9ja3N0YXRlKHN0cnVjdCBnZnMyX3NiZCAqc2RwKTsKLXN0YXRpYyBpbnQgZHVtcF9nbG9jayhzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7Ci1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX3htb3RlX3RoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCk7Ci1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX2Ryb3BfdGgoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKLXN0YXRpYyB2b2lkIHJ1bl9xdWV1ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOworc3RhdGljIGludCBfX2R1bXBfZ2xvY2soc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CisjZGVmaW5lIEdMT0NLX0JVR19PTihnbCx4KSBkbyB7IGlmICh1bmxpa2VseSh4KSkgeyBfX2R1bXBfZ2xvY2soTlVMTCwgZ2wpOyBCVUcoKTsgfSB9IHdoaWxlKDApCitzdGF0aWMgdm9pZCBkb194bW90ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gsIHVuc2lnbmVkIGludCB0YXJnZXQpOwogCiBzdGF0aWMgREVDTEFSRV9SV1NFTShnZnMyX3Vtb3VudF9mbHVzaF9zZW0pOwogc3RhdGljIHN0cnVjdCBkZW50cnkgKmdmczJfcm9vdDsKQEAgLTEyMywzMyArMTIxLDYgQEAKICNlbmRpZgogCiAvKioKLSAqIHJlbGF4ZWRfc3RhdGVfb2sgLSBpcyBhIHJlcXVlc3RlZCBsb2NrIGNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBsb2NrIG1vZGU/Ci0gKiBAYWN0dWFsOiB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgbG9jawotICogQHJlcXVlc3RlZDogdGhlIGxvY2sgc3RhdGUgdGhhdCB3YXMgcmVxdWVzdGVkIGJ5IHRoZSBjYWxsZXIKLSAqIEBmbGFnczogdGhlIG1vZGlmaWVyIGZsYWdzIHBhc3NlZCBpbiBieSB0aGUgY2FsbGVyCi0gKgotICogUmV0dXJuczogMSBpZiB0aGUgbG9ja3MgYXJlIGNvbXBhdGlibGUsIDAgb3RoZXJ3aXNlCi0gKi8KLQotc3RhdGljIGlubGluZSBpbnQgcmVsYXhlZF9zdGF0ZV9vayh1bnNpZ25lZCBpbnQgYWN0dWFsLCB1bnNpZ25lZCByZXF1ZXN0ZWQsCi0JCQkJICAgaW50IGZsYWdzKQotewotCWlmIChhY3R1YWwgPT0gcmVxdWVzdGVkKQotCQlyZXR1cm4gMTsKLQotCWlmIChmbGFncyAmIEdMX0VYQUNUKQotCQlyZXR1cm4gMDsKLQotCWlmIChhY3R1YWwgPT0gTE1fU1RfRVhDTFVTSVZFICYmIHJlcXVlc3RlZCA9PSBMTV9TVF9TSEFSRUQpCi0JCXJldHVybiAxOwotCi0JaWYgKGFjdHVhbCAhPSBMTV9TVF9VTkxPQ0tFRCAmJiAoZmxhZ3MgJiBMTV9GTEFHX0FOWSkpCi0JCXJldHVybiAxOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qKgogICogZ2xfaGFzaCgpIC0gVHVybiBnbG9jayBudW1iZXIgaW50byBoYXNoIGJ1Y2tldCBudW1iZXIKICAqIEBsb2NrOiBUaGUgZ2xvY2sgbnVtYmVyCiAgKgpAQCAtMTgyLDcgKzE1Myw3IEBACiAJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwogCXN0cnVjdCBpbm9kZSAqYXNwYWNlID0gZ2wtPmdsX2FzcGFjZTsKIAotCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKKwlpZiAoc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fcHV0X2xvY2spCiAJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3B1dF9sb2NrKGdsLT5nbF9sb2NrKTsKIAogCWlmIChhc3BhY2UpCkBAIC0yMTEsMTcgKzE4MiwxNCBAQAogaW50IGdmczJfZ2xvY2tfcHV0KHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKIHsKIAlpbnQgcnYgPSAwOwotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKIAogCXdyaXRlX2xvY2soZ2xfbG9ja19hZGRyKGdsLT5nbF9oYXNoKSk7CiAJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmdsLT5nbF9yZWYpKSB7CiAJCWhsaXN0X2RlbCgmZ2wtPmdsX2xpc3QpOwogCQl3cml0ZV91bmxvY2soZ2xfbG9ja19hZGRyKGdsLT5nbF9oYXNoKSk7Ci0JCWdmczJfYXNzZXJ0KHNkcCwgZ2wtPmdsX3N0YXRlID09IExNX1NUX1VOTE9DS0VEKTsKLQkJZ2ZzMl9hc3NlcnQoc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfcmVjbGFpbSkpOwotCQlnZnMyX2Fzc2VydChzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7Ci0JCWdmczJfYXNzZXJ0KHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX3dhaXRlcnMxKSk7Ci0JCWdmczJfYXNzZXJ0KHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX3dhaXRlcnMzKSk7CisJCUdMT0NLX0JVR19PTihnbCwgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKKwkJR0xPQ0tfQlVHX09OKGdsLCAhbGlzdF9lbXB0eSgmZ2wtPmdsX3JlY2xhaW0pKTsKKwkJR0xPQ0tfQlVHX09OKGdsLCAhbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKIAkJZ2xvY2tfZnJlZShnbCk7CiAJCXJ2ID0gMTsKIAkJZ290byBvdXQ7CkBAIC0yODEsMjIgKzI0OSw0MDEgQEAKIAlyZXR1cm4gZ2w7CiB9CiAKLXN0YXRpYyB2b2lkIGdsb2NrX3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCisvKioKKyAqIG1heV9ncmFudCAtIGNoZWNrIGlmIGl0cyBvayB0byBncmFudCBhIG5ldyBsb2NrCisgKiBAZ2w6IFRoZSBnbG9jaworICogQGdoOiBUaGUgbG9jayByZXF1ZXN0IHdoaWNoIHdlIHdpc2ggdG8gZ3JhbnQKKyAqCisgKiBSZXR1cm5zOiB0cnVlIGlmIGl0cyBvayB0byBncmFudCB0aGUgbG9jaworICovCisKK3N0YXRpYyBpbmxpbmUgaW50IG1heV9ncmFudChjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIGNvbnN0IHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCiB7Ci0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBnZnMyX2dsb2NrLCBnbF93b3JrLndvcmspOworCWNvbnN0IHN0cnVjdCBnZnMyX2hvbGRlciAqZ2hfaGVhZCA9IGxpc3RfZW50cnkoZ2wtPmdsX2hvbGRlcnMubmV4dCwgY29uc3Qgc3RydWN0IGdmczJfaG9sZGVyLCBnaF9saXN0KTsKKwlpZiAoKGdoLT5naF9zdGF0ZSA9PSBMTV9TVF9FWENMVVNJVkUgfHwKKwkgICAgIGdoX2hlYWQtPmdoX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSkgJiYgZ2ggIT0gZ2hfaGVhZCkKKwkJcmV0dXJuIDA7CisJaWYgKGdsLT5nbF9zdGF0ZSA9PSBnaC0+Z2hfc3RhdGUpCisJCXJldHVybiAxOworCWlmIChnaC0+Z2hfZmxhZ3MgJiBHTF9FWEFDVCkKKwkJcmV0dXJuIDA7CisJaWYgKGdsLT5nbF9zdGF0ZSA9PSBMTV9TVF9FWENMVVNJVkUpIHsKKwkJaWYgKGdoLT5naF9zdGF0ZSA9PSBMTV9TVF9TSEFSRUQgJiYgZ2hfaGVhZC0+Z2hfc3RhdGUgPT0gTE1fU1RfU0hBUkVEKQorCQkJcmV0dXJuIDE7CisJCWlmIChnaC0+Z2hfc3RhdGUgPT0gTE1fU1RfREVGRVJSRUQgJiYgZ2hfaGVhZC0+Z2hfc3RhdGUgPT0gTE1fU1RfREVGRVJSRUQpCisJCQlyZXR1cm4gMTsKKwl9CisJaWYgKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiAoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19BTlkpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZ2ZzMl9ob2xkZXJfd2FrZShzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQoreworCWNsZWFyX2JpdChISUZfV0FJVCwgJmdoLT5naF9pZmxhZ3MpOworCXNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCk7CisJd2FrZV91cF9iaXQoJmdoLT5naF9pZmxhZ3MsIEhJRl9XQUlUKTsKK30KKworLyoqCisgKiBkb19wcm9tb3RlIC0gcHJvbW90ZSBhcyBtYW55IHJlcXVlc3RzIGFzIHBvc3NpYmxlIG9uIHRoZSBjdXJyZW50IHF1ZXVlCisgKiBAZ2w6IFRoZSBnbG9jaworICogCisgKiBSZXR1cm5zOiB0cnVlIGlmIHRoZXJlIGlzIGEgYmxvY2tlZCBob2xkZXIgYXQgdGhlIGhlYWQgb2YgdGhlIGxpc3QKKyAqLworCitzdGF0aWMgaW50IGRvX3Byb21vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoLCAqdG1wOworCWludCByZXQ7CisKK3Jlc3RhcnQ6CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGdoLCB0bXAsICZnbC0+Z2xfaG9sZGVycywgZ2hfbGlzdCkgeworCQlpZiAodGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKQorCQkJY29udGludWU7CisJCWlmIChtYXlfZ3JhbnQoZ2wsIGdoKSkgeworCQkJaWYgKGdoLT5naF9saXN0LnByZXYgPT0gJmdsLT5nbF9ob2xkZXJzICYmCisJCQkgICAgZ2xvcHMtPmdvX2xvY2spIHsKKwkJCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCQkJCS8qIEZJWE1FOiBlbGltaW5hdGUgdGhpcyBldmVudHVhbGx5ICovCisJCQkJcmV0ID0gZ2xvcHMtPmdvX2xvY2soZ2gpOworCQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCQkJCWlmIChyZXQpIHsKKwkJCQkJZ2gtPmdoX2Vycm9yID0gcmV0OworCQkJCQlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7CisJCQkJCWdmczJfaG9sZGVyX3dha2UoZ2gpOworCQkJCQlnb3RvIHJlc3RhcnQ7CisJCQkJfQorCQkJCXNldF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpOworCQkJCWdmczJfaG9sZGVyX3dha2UoZ2gpOworCQkJCWdvdG8gcmVzdGFydDsKKwkJCX0KKwkJCXNldF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpOworCQkJZ2ZzMl9ob2xkZXJfd2FrZShnaCk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoZ2gtPmdoX2xpc3QucHJldiA9PSAmZ2wtPmdsX2hvbGRlcnMpCisJCQlyZXR1cm4gMTsKKwkJYnJlYWs7CisJfQorCXJldHVybiAwOworfQorCisvKioKKyAqIGRvX2Vycm9yIC0gU29tZXRoaW5nIHVuZXhwZWN0ZWQgaGFzIGhhcHBlbmVkIGR1cmluZyBhIGxvY2sgcmVxdWVzdAorICoKKyAqLworCitzdGF0aWMgaW5saW5lIHZvaWQgZG9fZXJyb3Ioc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBjb25zdCBpbnQgcmV0KQoreworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2gsICp0bXA7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZ2gsIHRtcCwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7CisJCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpCisJCQljb250aW51ZTsKKwkJaWYgKHJldCAmIExNX09VVF9FUlJPUikKKwkJCWdoLT5naF9lcnJvciA9IC1FSU87CisJCWVsc2UgaWYgKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpCisJCQlnaC0+Z2hfZXJyb3IgPSBHTFJfVFJZRkFJTEVEOworCQllbHNlCisJCQljb250aW51ZTsKKwkJbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOworCQlnZnMyX2hvbGRlcl93YWtlKGdoKTsKKwl9Cit9CisKKy8qKgorICogZmluZF9maXJzdF93YWl0ZXIgLSBmaW5kIHRoZSBmaXJzdCBnaCB0aGF0J3Mgd2FpdGluZyBmb3IgdGhlIGdsb2NrCisgKiBAZ2w6IHRoZSBnbG9jaworICovCisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGdmczJfaG9sZGVyICpmaW5kX2ZpcnN0X3dhaXRlcihjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJc3RydWN0IGdmczJfaG9sZGVyICpnaDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gsICZnbC0+Z2xfaG9sZGVycywgZ2hfbGlzdCkgeworCQlpZiAoIXRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKKwkJCXJldHVybiBnaDsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogc3RhdGVfY2hhbmdlIC0gcmVjb3JkIHRoYXQgdGhlIGdsb2NrIGlzIG5vdyBpbiBhIGRpZmZlcmVudCBzdGF0ZQorICogQGdsOiB0aGUgZ2xvY2sKKyAqIEBuZXdfc3RhdGUgdGhlIG5ldyBzdGF0ZQorICoKKyAqLworCitzdGF0aWMgdm9pZCBzdGF0ZV9jaGFuZ2Uoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1bnNpZ25lZCBpbnQgbmV3X3N0YXRlKQoreworCWludCBoZWxkMSwgaGVsZDI7CisKKwloZWxkMSA9IChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOworCWhlbGQyID0gKG5ld19zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7CisKKwlpZiAoaGVsZDEgIT0gaGVsZDIpIHsKKwkJaWYgKGhlbGQyKQorCQkJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKKwkJZWxzZQorCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOworCX0KKworCWdsLT5nbF9zdGF0ZSA9IG5ld19zdGF0ZTsKKwlnbC0+Z2xfdGNoYW5nZSA9IGppZmZpZXM7Cit9CisKK3N0YXRpYyB2b2lkIGdmczJfZGVtb3RlX3dha2Uoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBMTV9TVF9FWENMVVNJVkU7CisJY2xlYXJfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpOworCXNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCk7CisJd2FrZV91cF9iaXQoJmdsLT5nbF9mbGFncywgR0xGX0RFTU9URSk7Cit9CisKKy8qKgorICogZmluaXNoX3htb3RlIC0gVGhlIERMTSBoYXMgcmVwbGllZCB0byBvbmUgb2Ygb3VyIGxvY2sgcmVxdWVzdHMKKyAqIEBnbDogVGhlIGdsb2NrCisgKiBAcmV0OiBUaGUgc3RhdHVzIGZyb20gdGhlIERMTQorICoKKyAqLworCitzdGF0aWMgdm9pZCBmaW5pc2hfeG1vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1bnNpZ25lZCBpbnQgcmV0KQoreworCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOworCXVuc2lnbmVkIHN0YXRlID0gcmV0ICYgTE1fT1VUX1NUX01BU0s7CiAKIAlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KEdMRl9QRU5ESU5HX0RFTU9URSwgJmdsLT5nbF9mbGFncykpCi0JCXNldF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncyk7Ci0JcnVuX3F1ZXVlKGdsKTsKKwlzdGF0ZV9jaGFuZ2UoZ2wsIHN0YXRlKTsKKwlnaCA9IGZpbmRfZmlyc3Rfd2FpdGVyKGdsKTsKKworCS8qIERlbW90ZSB0byBVTiByZXF1ZXN0IGFycml2ZWQgZHVyaW5nIGRlbW90ZSB0byBTSCBvciBERiAqLworCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSAmJgorCSAgICBzdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiBnbC0+Z2xfZGVtb3RlX3N0YXRlID09IExNX1NUX1VOTE9DS0VEKQorCQlnbC0+Z2xfdGFyZ2V0ID0gTE1fU1RfVU5MT0NLRUQ7CisKKwkvKiBDaGVjayBmb3Igc3RhdGUgIT0gaW50ZW5kZWQgc3RhdGUgKi8KKwlpZiAodW5saWtlbHkoc3RhdGUgIT0gZ2wtPmdsX3RhcmdldCkpIHsKKwkJaWYgKGdoICYmICF0ZXN0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSkgeworCQkJLyogbW92ZSB0byBiYWNrIG9mIHF1ZXVlIGFuZCB0cnkgbmV4dCBlbnRyeSAqLworCQkJaWYgKHJldCAmIExNX09VVF9DQU5DRUxFRCkgeworCQkJCWlmICgoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkgPT0gMCkKKwkJCQkJbGlzdF9tb3ZlX3RhaWwoJmdoLT5naF9saXN0LCAmZ2wtPmdsX2hvbGRlcnMpOworCQkJCWdoID0gZmluZF9maXJzdF93YWl0ZXIoZ2wpOworCQkJCWdsLT5nbF90YXJnZXQgPSBnaC0+Z2hfc3RhdGU7CisJCQkJZ290byByZXRyeTsKKwkJCX0KKwkJCS8qIFNvbWUgZXJyb3Igb3IgZmFpbGVkICJ0cnkgbG9jayIgLSByZXBvcnQgaXQgKi8KKwkJCWlmICgocmV0ICYgTE1fT1VUX0VSUk9SKSB8fAorCQkJICAgIChnaC0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKSkgeworCQkJCWdsLT5nbF90YXJnZXQgPSBnbC0+Z2xfc3RhdGU7CisJCQkJZG9fZXJyb3IoZ2wsIHJldCk7CisJCQkJZ290byBvdXQ7CisJCQl9CisJCX0KKwkJc3dpdGNoKHN0YXRlKSB7CisJCS8qIFVubG9ja2VkIGR1ZSB0byBjb252ZXJzaW9uIGRlYWRsb2NrLCB0cnkgYWdhaW4gKi8KKwkJY2FzZSBMTV9TVF9VTkxPQ0tFRDoKK3JldHJ5OgorCQkJZG9feG1vdGUoZ2wsIGdoLCBnbC0+Z2xfdGFyZ2V0KTsKKwkJCWJyZWFrOworCQkvKiBDb252ZXJzaW9uIGZhaWxzLCB1bmxvY2sgYW5kIHRyeSBhZ2FpbiAqLworCQljYXNlIExNX1NUX1NIQVJFRDoKKwkJY2FzZSBMTV9TVF9ERUZFUlJFRDoKKwkJCWRvX3htb3RlKGdsLCBnaCwgTE1fU1RfVU5MT0NLRUQpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6IC8qIEV2ZXJ5dGhpbmcgZWxzZSAqLworCQkJcHJpbnRrKEtFUk5fRVJSICJHRlMyOiB3YW50ZWQgJXUgZ290ICV1XG4iLCBnbC0+Z2xfdGFyZ2V0LCBzdGF0ZSk7CisJCQlHTE9DS19CVUdfT04oZ2wsIDEpOworCQl9CisJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCWdmczJfZ2xvY2tfcHV0KGdsKTsKKwkJcmV0dXJuOworCX0KKworCS8qIEZhc3QgcGF0aCAtIHdlIGdvdCB3aGF0IHdlIGFza2VkIGZvciAqLworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncykpCisJCWdmczJfZGVtb3RlX3dha2UoZ2wpOworCWlmIChzdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCkgeworCQlpZiAoZ2xvcHMtPmdvX3htb3RlX2JoKSB7CisJCQlpbnQgcnY7CisJCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCQkJcnYgPSBnbG9wcy0+Z29feG1vdGVfYmgoZ2wsIGdoKTsKKwkJCWlmIChydiA9PSAtRUFHQUlOKQorCQkJCXJldHVybjsKKwkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCQkJaWYgKHJ2KSB7CisJCQkJZG9fZXJyb3IoZ2wsIHJ2KTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJfQorCQlkb19wcm9tb3RlKGdsKTsKKwl9CitvdXQ6CisJY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKIAlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCWdmczJfZ2xvY2tfcHV0KGdsKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCBnZnMyX2xtX2xvY2soc3RydWN0IGdmczJfc2JkICpzZHAsIHZvaWQgKmxvY2ssCisJCQkJIHVuc2lnbmVkIGludCBjdXJfc3RhdGUsIHVuc2lnbmVkIGludCByZXFfc3RhdGUsCisJCQkJIHVuc2lnbmVkIGludCBmbGFncykKK3sKKwlpbnQgcmV0ID0gTE1fT1VUX0VSUk9SOworCisJaWYgKCFzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9sb2NrKQorCQlyZXR1cm4gcmVxX3N0YXRlID09IExNX1NUX1VOTE9DS0VEID8gMCA6IHJlcV9zdGF0ZTsKKworCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKKwkJcmV0ID0gc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fbG9jayhsb2NrLCBjdXJfc3RhdGUsCisJCQkJCQkJIHJlcV9zdGF0ZSwgZmxhZ3MpOworCXJldHVybiByZXQ7Cit9CisKKy8qKgorICogZG9feG1vdGUgLSBDYWxscyB0aGUgRExNIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgYSBsb2NrCisgKiBAZ2w6IFRoZSBsb2NrIHN0YXRlCisgKiBAZ2g6IFRoZSBob2xkZXIgKG9ubHkgZm9yIHByb21vdGVzKQorICogQHRhcmdldDogVGhlIHRhcmdldCBsb2NrIHN0YXRlCisgKgorICovCisKK3N0YXRpYyB2b2lkIGRvX3htb3RlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCwgdW5zaWduZWQgaW50IHRhcmdldCkKK3sKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7CisJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOworCXVuc2lnbmVkIGludCBsY2tfZmxhZ3MgPSBnaCA/IGdoLT5naF9mbGFncyA6IDA7CisJaW50IHJldDsKKworCWxja19mbGFncyAmPSAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IgfCBMTV9GTEFHX05PRVhQIHwKKwkJICAgICAgTE1fRkxBR19QUklPUklUWSk7CisJQlVHX09OKGdsLT5nbF9zdGF0ZSA9PSB0YXJnZXQpOworCUJVR19PTihnbC0+Z2xfc3RhdGUgPT0gZ2wtPmdsX3RhcmdldCk7CisJaWYgKCh0YXJnZXQgPT0gTE1fU1RfVU5MT0NLRUQgfHwgdGFyZ2V0ID09IExNX1NUX0RFRkVSUkVEKSAmJgorCSAgICBnbG9wcy0+Z29faW52YWwpIHsKKwkJc2V0X2JpdChHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncyk7CisJCWRvX2Vycm9yKGdsLCAwKTsgLyogRmFpbCBxdWV1ZWQgdHJ5IGxvY2tzICovCisJfQorCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJaWYgKGdsb3BzLT5nb194bW90ZV90aCkKKwkJZ2xvcHMtPmdvX3htb3RlX3RoKGdsKTsKKwlpZiAodGVzdF9iaXQoR0xGX0lOVkFMSURBVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpKQorCQlnbG9wcy0+Z29faW52YWwoZ2wsIHRhcmdldCA9PSBMTV9TVF9ERUZFUlJFRCA/IDAgOiBESU9fTUVUQURBVEEpOworCWNsZWFyX2JpdChHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncyk7CisKKwlnZnMyX2dsb2NrX2hvbGQoZ2wpOworCWlmICh0YXJnZXQgIT0gTE1fU1RfVU5MT0NLRUQgJiYgKGdsLT5nbF9zdGF0ZSA9PSBMTV9TVF9TSEFSRUQgfHwKKwkgICAgZ2wtPmdsX3N0YXRlID09IExNX1NUX0RFRkVSUkVEKSAmJgorCSAgICAhKGxja19mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpKQorCQlsY2tfZmxhZ3MgfD0gTE1fRkxBR19UUllfMUNCOworCXJldCA9IGdmczJfbG1fbG9jayhzZHAsIGdsLT5nbF9sb2NrLCBnbC0+Z2xfc3RhdGUsIHRhcmdldCwgbGNrX2ZsYWdzKTsKKworCWlmICghKHJldCAmIExNX09VVF9BU1lOQykpIHsKKwkJZmluaXNoX3htb3RlKGdsLCByZXQpOworCQlnZnMyX2dsb2NrX2hvbGQoZ2wpOworCQlpZiAocXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCAwKSA9PSAwKQorCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOworCX0gZWxzZSB7CisJCUdMT0NLX0JVR19PTihnbCwgcmV0ICE9IExNX09VVF9BU1lOQyk7CisJfQorCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworfQorCisvKioKKyAqIGZpbmRfZmlyc3RfaG9sZGVyIC0gZmluZCB0aGUgZmlyc3QgImhvbGRlciIgZ2gKKyAqIEBnbDogdGhlIGdsb2NrCisgKi8KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmZpbmRfZmlyc3RfaG9sZGVyKGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3sKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOworCisJaWYgKCFsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpIHsKKwkJZ2ggPSBsaXN0X2VudHJ5KGdsLT5nbF9ob2xkZXJzLm5leHQsIHN0cnVjdCBnZnMyX2hvbGRlciwgZ2hfbGlzdCk7CisJCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpCisJCQlyZXR1cm4gZ2g7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIHJ1bl9xdWV1ZSAtIGRvIGFsbCBvdXRzdGFuZGluZyB0YXNrcyByZWxhdGVkIHRvIGEgZ2xvY2sKKyAqIEBnbDogVGhlIGdsb2NrIGluIHF1ZXN0aW9uCisgKiBAbm9uYmxvY2s6IFRydWUgaWYgd2UgbXVzdCBub3QgYmxvY2sgaW4gcnVuX3F1ZXVlCisgKgorICovCisKK3N0YXRpYyB2b2lkIHJ1bl9xdWV1ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIGNvbnN0IGludCBub25ibG9jaykKK3sKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoID0gTlVMTDsKKworCWlmICh0ZXN0X2FuZF9zZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJcmV0dXJuOworCisJR0xPQ0tfQlVHX09OKGdsLCB0ZXN0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSk7CisKKwlpZiAodGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykgJiYKKwkgICAgZ2wtPmdsX2RlbW90ZV9zdGF0ZSAhPSBnbC0+Z2xfc3RhdGUpIHsKKwkJaWYgKGZpbmRfZmlyc3RfaG9sZGVyKGdsKSkKKwkJCWdvdG8gb3V0OworCQlpZiAobm9uYmxvY2spCisJCQlnb3RvIG91dF9zY2hlZDsKKwkJc2V0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKTsKKwkJR0xPQ0tfQlVHX09OKGdsLCBnbC0+Z2xfZGVtb3RlX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSk7CisJCWdsLT5nbF90YXJnZXQgPSBnbC0+Z2xfZGVtb3RlX3N0YXRlOworCX0gZWxzZSB7CisJCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJCWdmczJfZGVtb3RlX3dha2UoZ2wpOworCQlpZiAoZG9fcHJvbW90ZShnbCkgPT0gMCkKKwkJCWdvdG8gb3V0OworCQlnaCA9IGZpbmRfZmlyc3Rfd2FpdGVyKGdsKTsKKwkJZ2wtPmdsX3RhcmdldCA9IGdoLT5naF9zdGF0ZTsKKwkJaWYgKCEoZ2gtPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkpCisJCQlkb19lcnJvcihnbCwgMCk7IC8qIEZhaWwgcXVldWVkIHRyeSBsb2NrcyAqLworCX0KKwlkb194bW90ZShnbCwgZ2gsIGdsLT5nbF90YXJnZXQpOworCXJldHVybjsKKworb3V0X3NjaGVkOgorCWdmczJfZ2xvY2tfaG9sZChnbCk7CisJaWYgKHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgMCkgPT0gMCkKKwkJZ2ZzMl9nbG9ja19wdXQoZ2wpOworb3V0OgorCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIGdsb2NrX3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7CisJdW5zaWduZWQgbG9uZyBkZWxheSA9IDA7CisJc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBnZnMyX2dsb2NrLCBnbF93b3JrLndvcmspOworCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChHTEZfUkVQTFlfUEVORElORywgJmdsLT5nbF9mbGFncykpCisJCWZpbmlzaF94bW90ZShnbCwgZ2wtPmdsX3JlcGx5KTsKKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KEdMRl9QRU5ESU5HX0RFTU9URSwgJmdsLT5nbF9mbGFncykgJiYKKwkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmCisJICAgIGdsLT5nbF9kZW1vdGVfc3RhdGUgIT0gTE1fU1RfRVhDTFVTSVZFKSB7CisJCXVuc2lnbmVkIGxvbmcgaG9sZHRpbWUsIG5vdyA9IGppZmZpZXM7CisJCWhvbGR0aW1lID0gZ2wtPmdsX3RjaGFuZ2UgKyBnbC0+Z2xfb3BzLT5nb19taW5faG9sZF90aW1lOworCQlpZiAodGltZV9iZWZvcmUobm93LCBob2xkdGltZSkpCisJCQlkZWxheSA9IGhvbGR0aW1lIC0gbm93OworCQlzZXRfYml0KGRlbGF5ID8gR0xGX1BFTkRJTkdfREVNT1RFIDogR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncyk7CisJfQorCXJ1bl9xdWV1ZShnbCwgMCk7CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoIWRlbGF5IHx8CisJICAgIHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgZGVsYXkpID09IDApCisJCWdmczJfZ2xvY2tfcHV0KGdsKTsKK30KKwogc3RhdGljIGludCBnZnMyX2xtX2dldF9sb2NrKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKm5hbWUsCiAJCSAgICAgdm9pZCAqKmxvY2twKQogewogCWludCBlcnJvciA9IC1FSU87CisJaWYgKCFzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9nZXRfbG9jaykKKwkJcmV0dXJuIDA7CiAJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQogCQllcnJvciA9IHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2dldF9sb2NrKAogCQkJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19sb2Nrc3BhY2UsIG5hbWUsIGxvY2twKTsKQEAgLTM0MiwxMiArNjg5LDEwIEBACiAJZ2wtPmdsX25hbWUgPSBuYW1lOwogCWF0b21pY19zZXQoJmdsLT5nbF9yZWYsIDEpOwogCWdsLT5nbF9zdGF0ZSA9IExNX1NUX1VOTE9DS0VEOworCWdsLT5nbF90YXJnZXQgPSBMTV9TVF9VTkxPQ0tFRDsKIAlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfRVhDTFVTSVZFOwogCWdsLT5nbF9oYXNoID0gaGFzaDsKLQlnbC0+Z2xfb3duZXJfcGlkID0gTlVMTDsKLQlnbC0+Z2xfaXAgPSAwOwogCWdsLT5nbF9vcHMgPSBnbG9wczsKLQlnbC0+Z2xfcmVxX2doID0gTlVMTDsKIAlnbC0+Z2xfc3RhbXAgPSBqaWZmaWVzOwogCWdsLT5nbF90Y2hhbmdlID0gamlmZmllczsKIAlnbC0+Z2xfb2JqZWN0ID0gTlVMTDsKQEAgLTQ0NywxMyArNzkyLDYgQEAKIAlnaC0+Z2hfaXAgPSAwOwogfQogCi1zdGF0aWMgdm9pZCBnZnMyX2hvbGRlcl93YWtlKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCi17Ci0JY2xlYXJfYml0KEhJRl9XQUlULCAmZ2gtPmdoX2lmbGFncyk7Ci0Jc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKTsKLQl3YWtlX3VwX2JpdCgmZ2gtPmdoX2lmbGFncywgSElGX1dBSVQpOwotfQotCiBzdGF0aWMgaW50IGp1c3Rfc2NoZWR1bGUodm9pZCAqd29yZCkKIHsKICAgICAgICAgc2NoZWR1bGUoKTsKQEAgLTQ2NiwxNCArODA0LDYgQEAKIAl3YWl0X29uX2JpdCgmZ2gtPmdoX2lmbGFncywgSElGX1dBSVQsIGp1c3Rfc2NoZWR1bGUsIFRBU0tfVU5JTlRFUlJVUFRJQkxFKTsKIH0KIAotc3RhdGljIHZvaWQgZ2ZzMl9kZW1vdGVfd2FrZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0JZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9IExNX1NUX0VYQ0xVU0lWRTsKLSAgICAgICAgY2xlYXJfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpOwotICAgICAgICBzbXBfbWJfX2FmdGVyX2NsZWFyX2JpdCgpOwotICAgICAgICB3YWtlX3VwX2JpdCgmZ2wtPmdsX2ZsYWdzLCBHTEZfREVNT1RFKTsKLX0KLQogc3RhdGljIHZvaWQgd2FpdF9vbl9kZW1vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQogewogCW1pZ2h0X3NsZWVwKCk7CkBAIC00ODEsMjE3ICs4MTEsNiBAQAogfQogCiAvKioKLSAqIHJxX211dGV4IC0gcHJvY2VzcyBhIG11dGV4IHJlcXVlc3QgaW4gdGhlIHF1ZXVlCi0gKiBAZ2g6IHRoZSBnbG9jayBob2xkZXIKLSAqCi0gKiBSZXR1cm5zOiAxIGlmIHRoZSBxdWV1ZSBpcyBibG9ja2VkCi0gKi8KLQotc3RhdGljIGludCBycV9tdXRleChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQotCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKLQkvKiAgZ2gtPmdoX2Vycm9yIG5ldmVyIGV4YW1pbmVkLiAgKi8KLQlzZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQljbGVhcl9iaXQoSElGX1dBSVQsICZnaC0+Z2hfaWZsYWdzKTsKLQlzbXBfbWIoKTsKLQl3YWtlX3VwX2JpdCgmZ2gtPmdoX2lmbGFncywgSElGX1dBSVQpOwotCi0JcmV0dXJuIDE7Ci19Ci0KLS8qKgotICogcnFfcHJvbW90ZSAtIHByb2Nlc3MgYSBwcm9tb3RlIHJlcXVlc3QgaW4gdGhlIHF1ZXVlCi0gKiBAZ2g6IHRoZSBnbG9jayBob2xkZXIKLSAqCi0gKiBBY3F1aXJlIGEgbmV3IGludGVyLW5vZGUgbG9jaywgb3IgY2hhbmdlIGEgbG9jayBzdGF0ZSB0byBtb3JlIHJlc3RyaWN0aXZlLgotICoKLSAqIFJldHVybnM6IDEgaWYgdGhlIHF1ZXVlIGlzIGJsb2NrZWQKLSAqLwotCi1zdGF0aWMgaW50IHJxX3Byb21vdGUoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7Ci0KLQlpZiAoIXJlbGF4ZWRfc3RhdGVfb2soZ2wtPmdsX3N0YXRlLCBnaC0+Z2hfc3RhdGUsIGdoLT5naF9mbGFncykpIHsKLQkJaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkgewotCQkJZ2wtPmdsX3JlcV9naCA9IGdoOwotCQkJc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJZ2ZzMl9nbG9ja194bW90ZV90aChnaC0+Z2hfZ2wsIGdoKTsKLQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQl9Ci0JCXJldHVybiAxOwotCX0KLQotCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpIHsKLQkJc2V0X2JpdChISUZfRklSU1QsICZnaC0+Z2hfaWZsYWdzKTsKLQkJc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0JfSBlbHNlIHsKLQkJc3RydWN0IGdmczJfaG9sZGVyICpuZXh0X2doOwotCQlpZiAoZ2gtPmdoX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSkKLQkJCXJldHVybiAxOwotCQluZXh0X2doID0gbGlzdF9lbnRyeShnbC0+Z2xfaG9sZGVycy5uZXh0LCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIsCi0JCQkJICAgICBnaF9saXN0KTsKLQkJaWYgKG5leHRfZ2gtPmdoX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSkKLQkJCSByZXR1cm4gMTsKLQl9Ci0KLQlsaXN0X21vdmVfdGFpbCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfaG9sZGVycyk7Ci0JZ2gtPmdoX2Vycm9yID0gMDsKLQlzZXRfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKTsKLQotCWdmczJfaG9sZGVyX3dha2UoZ2gpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qKgotICogcnFfZGVtb3RlIC0gcHJvY2VzcyBhIGRlbW90ZSByZXF1ZXN0IGluIHRoZSBxdWV1ZQotICogQGdoOiB0aGUgZ2xvY2sgaG9sZGVyCi0gKgotICogUmV0dXJuczogMSBpZiB0aGUgcXVldWUgaXMgYmxvY2tlZAotICovCi0KLXN0YXRpYyBpbnQgcnFfZGVtb3RlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlpZiAoIWxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkKLQkJcmV0dXJuIDE7Ci0KLQlpZiAoZ2wtPmdsX3N0YXRlID09IGdsLT5nbF9kZW1vdGVfc3RhdGUgfHwKLQkgICAgZ2wtPmdsX3N0YXRlID09IExNX1NUX1VOTE9DS0VEKSB7Ci0JCWdmczJfZGVtb3RlX3dha2UoZ2wpOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlzZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQlzZXRfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpOwotCi0JaWYgKGdsLT5nbF9kZW1vdGVfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQgfHwKLQkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX0VYQ0xVU0lWRSkgewotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQlnZnMyX2dsb2NrX2Ryb3BfdGgoZ2wpOwotCX0gZWxzZSB7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdmczJfZ2xvY2tfeG1vdGVfdGgoZ2wsIE5VTEwpOwotCX0KLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCWNsZWFyX2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKTsKLQotCXJldHVybiAwOwotfQotCi0vKioKLSAqIHJ1bl9xdWV1ZSAtIHByb2Nlc3MgaG9sZGVyIHN0cnVjdHVyZXMgb24gYSBnbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKi8KLXN0YXRpYyB2b2lkIHJ1bl9xdWV1ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaDsKLQlpbnQgYmxvY2tlZCA9IDE7Ci0KLQlmb3IgKDs7KSB7Ci0JCWlmICh0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpCi0JCQlicmVhazsKLQotCQlpZiAoIWxpc3RfZW1wdHkoJmdsLT5nbF93YWl0ZXJzMSkpIHsKLQkJCWdoID0gbGlzdF9lbnRyeShnbC0+Z2xfd2FpdGVyczEubmV4dCwKLQkJCQkJc3RydWN0IGdmczJfaG9sZGVyLCBnaF9saXN0KTsKLQkJCWJsb2NrZWQgPSBycV9tdXRleChnaCk7Ci0JCX0gZWxzZSBpZiAodGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykpIHsKLQkJCWJsb2NrZWQgPSBycV9kZW1vdGUoZ2wpOwotCQkJaWYgKHRlc3RfYml0KEdMRl9XQUlURVJTMiwgJmdsLT5nbF9mbGFncykgJiYKLQkJCQkgICAgICFibG9ja2VkKSB7Ci0JCQkJc2V0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJCQlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfVU5MT0NLRUQ7Ci0JCQl9Ci0JCQljbGVhcl9iaXQoR0xGX1dBSVRFUlMyLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJfSBlbHNlIGlmICghbGlzdF9lbXB0eSgmZ2wtPmdsX3dhaXRlcnMzKSkgewotCQkJZ2ggPSBsaXN0X2VudHJ5KGdsLT5nbF93YWl0ZXJzMy5uZXh0LAotCQkJCQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIsIGdoX2xpc3QpOwotCQkJYmxvY2tlZCA9IHJxX3Byb21vdGUoZ2gpOwotCQl9IGVsc2UKLQkJCWJyZWFrOwotCi0JCWlmIChibG9ja2VkKQotCQkJYnJlYWs7Ci0JfQotfQotCi0vKioKLSAqIGdmczJfZ2xtdXRleF9sb2NrIC0gYWNxdWlyZSBhIGxvY2FsIGxvY2sgb24gYSBnbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKiBHaXZlcyBjYWxsZXIgZXhjbHVzaXZlIGFjY2VzcyB0byBtYW5pcHVsYXRlIGEgZ2xvY2sgc3RydWN0dXJlLgotICovCi0KLXN0YXRpYyB2b2lkIGdmczJfZ2xtdXRleF9sb2NrKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQlpZiAodGVzdF9hbmRfc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpIHsKLQkJc3RydWN0IGdmczJfaG9sZGVyIGdoOwotCi0JCWdmczJfaG9sZGVyX2luaXQoZ2wsIDAsIDAsICZnaCk7Ci0JCXNldF9iaXQoSElGX1dBSVQsICZnaC5naF9pZmxhZ3MpOwotCQlsaXN0X2FkZF90YWlsKCZnaC5naF9saXN0LCAmZ2wtPmdsX3dhaXRlcnMxKTsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJd2FpdF9vbl9ob2xkZXIoJmdoKTsKLQkJZ2ZzMl9ob2xkZXJfdW5pbml0KCZnaCk7Ci0JfSBlbHNlIHsKLQkJZ2wtPmdsX293bmVyX3BpZCA9IGdldF9waWQodGFza19waWQoY3VycmVudCkpOwotCQlnbC0+Z2xfaXAgPSAodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCk7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JfQotfQotCi0vKioKLSAqIGdmczJfZ2xtdXRleF90cnlsb2NrIC0gdHJ5IHRvIGFjcXVpcmUgYSBsb2NhbCBsb2NrIG9uIGEgZ2xvY2sKLSAqIEBnbDogdGhlIGdsb2NrCi0gKgotICogUmV0dXJuczogMSBpZiB0aGUgZ2xvY2sgaXMgYWNxdWlyZWQKLSAqLwotCi1zdGF0aWMgaW50IGdmczJfZ2xtdXRleF90cnlsb2NrKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlpbnQgYWNxdWlyZWQgPSAxOwotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JaWYgKHRlc3RfYW5kX3NldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKSB7Ci0JCWFjcXVpcmVkID0gMDsKLQl9IGVsc2UgewotCQlnbC0+Z2xfb3duZXJfcGlkID0gZ2V0X3BpZCh0YXNrX3BpZChjdXJyZW50KSk7Ci0JCWdsLT5nbF9pcCA9ICh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKTsKLQl9Ci0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQotCXJldHVybiBhY3F1aXJlZDsKLX0KLQotLyoqCi0gKiBnZnMyX2dsbXV0ZXhfdW5sb2NrIC0gcmVsZWFzZSBhIGxvY2FsIGxvY2sgb24gYSBnbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgZ2ZzMl9nbG11dGV4X3VubG9jayhzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0Jc3RydWN0IHBpZCAqcGlkOwotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQlwaWQgPSBnbC0+Z2xfb3duZXJfcGlkOwotCWdsLT5nbF9vd25lcl9waWQgPSBOVUxMOwotCWdsLT5nbF9pcCA9IDA7Ci0JcnVuX3F1ZXVlKGdsKTsKLQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCi0JcHV0X3BpZChwaWQpOwotfQotCi0vKioKICAqIGhhbmRsZV9jYWxsYmFjayAtIHByb2Nlc3MgYSBkZW1vdGUgcmVxdWVzdAogICogQGdsOiB0aGUgZ2xvY2sKICAqIEBzdGF0ZTogdGhlIHN0YXRlIHRoZSBjYWxsZXIgd2FudHMgdXMgdG8gY2hhbmdlIHRvCkBAIC03MDUsMzk4ICs4MjQsNDUgQEAKIHsKIAlpbnQgYml0ID0gZGVsYXkgPyBHTEZfUEVORElOR19ERU1PVEUgOiBHTEZfREVNT1RFOwogCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJc2V0X2JpdChiaXQsICZnbC0+Z2xfZmxhZ3MpOwogCWlmIChnbC0+Z2xfZGVtb3RlX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSkgewogCQlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gc3RhdGU7CiAJCWdsLT5nbF9kZW1vdGVfdGltZSA9IGppZmZpZXM7CiAJCWlmIChyZW1vdGUgJiYgZ2wtPmdsX29wcy0+Z29fdHlwZSA9PSBMTV9UWVBFX0lPUEVOICYmCi0JCSAgICBnbC0+Z2xfb2JqZWN0KSB7CisJCSAgICBnbC0+Z2xfb2JqZWN0KQogCQkJZ2ZzMl9nbG9ja19zY2hlZHVsZV9mb3JfcmVjbGFpbShnbCk7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJcmV0dXJuOwotCQl9CiAJfSBlbHNlIGlmIChnbC0+Z2xfZGVtb3RlX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmCiAJCQlnbC0+Z2xfZGVtb3RlX3N0YXRlICE9IHN0YXRlKSB7Ci0JCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAgJmdsLT5nbF9mbGFncykpIAotCQkJc2V0X2JpdChHTEZfV0FJVEVSUzIsICZnbC0+Z2xfZmxhZ3MpOwotCQllbHNlIAotCQkJZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9IExNX1NUX1VOTE9DS0VEOworCQlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfVU5MT0NLRUQ7CiAJfQotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiB9CiAKIC8qKgotICogc3RhdGVfY2hhbmdlIC0gcmVjb3JkIHRoYXQgdGhlIGdsb2NrIGlzIG5vdyBpbiBhIGRpZmZlcmVudCBzdGF0ZQotICogQGdsOiB0aGUgZ2xvY2sKLSAqIEBuZXdfc3RhdGUgdGhlIG5ldyBzdGF0ZQotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBzdGF0ZV9jaGFuZ2Uoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1bnNpZ25lZCBpbnQgbmV3X3N0YXRlKQotewotCWludCBoZWxkMSwgaGVsZDI7Ci0KLQloZWxkMSA9IChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOwotCWhlbGQyID0gKG5ld19zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7Ci0KLQlpZiAoaGVsZDEgIT0gaGVsZDIpIHsKLQkJaWYgKGhlbGQyKQotCQkJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKLQkJZWxzZQotCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwotCX0KLQotCWdsLT5nbF9zdGF0ZSA9IG5ld19zdGF0ZTsKLQlnbC0+Z2xfdGNoYW5nZSA9IGppZmZpZXM7Ci19Ci0KLS8qKgotICogZHJvcF9iaCAtIENhbGxlZCBhZnRlciBhIGxvY2sgbW9kdWxlIHVubG9jayBjb21wbGV0ZXMKLSAqIEBnbDogdGhlIGdsb2NrCi0gKiBAcmV0OiB0aGUgcmV0dXJuIHN0YXR1cwotICoKLSAqIERvZXNuJ3Qgd2FrZSB1cCB0aGUgcHJvY2VzcyB3YWl0aW5nIG9uIHRoZSBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKGlmIGFueSkKLSAqIERvZXNuJ3QgZHJvcCB0aGUgcmVmZXJlbmNlIG9uIHRoZSBnbG9jayB0aGUgdG9wIGhhbGYgdG9vayBvdXQKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgZHJvcF9iaChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHVuc2lnbmVkIGludCByZXQpCi17Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2ggPSBnbC0+Z2xfcmVxX2doOwotCi0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsICFyZXQpOwotCi0Jc3RhdGVfY2hhbmdlKGdsLCBMTV9TVF9VTkxPQ0tFRCk7Ci0KLQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KEdMRl9DT05WX0RFQURMSywgJmdsLT5nbF9mbGFncykpIHsKLQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdoLT5naF9lcnJvciA9IDA7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdmczJfZ2xvY2tfeG1vdGVfdGgoZ2wsIGdsLT5nbF9yZXFfZ2gpOwotCQlnZnMyX2dsb2NrX3B1dChnbCk7Ci0JCXJldHVybjsKLQl9Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQlnZnMyX2RlbW90ZV93YWtlKGdsKTsKLQljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JZ2ZzMl9nbG9ja19wdXQoZ2wpOwotfQotCi0vKioKLSAqIHhtb3RlX2JoIC0gQ2FsbGVkIGFmdGVyIHRoZSBsb2NrIG1vZHVsZSBpcyBkb25lIGFjcXVpcmluZyBhIGxvY2sKLSAqIEBnbDogVGhlIGdsb2NrIGluIHF1ZXN0aW9uCi0gKiBAcmV0OiB0aGUgaW50IHJldHVybmVkIGZyb20gdGhlIGxvY2sgbW9kdWxlCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIHhtb3RlX2JoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdW5zaWduZWQgaW50IHJldCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0JY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOwotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2ggPSBnbC0+Z2xfcmVxX2doOwotCWludCBvcF9kb25lID0gMTsKLQotCWlmICghZ2ggJiYgKHJldCAmIExNX09VVF9TVF9NQVNLKSA9PSBMTV9TVF9VTkxPQ0tFRCkgewotCQlkcm9wX2JoKGdsLCByZXQpOwotCQlyZXR1cm47Ci0JfQotCi0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsICEocmV0ICYgTE1fT1VUX0FTWU5DKSk7Ci0KLQlzdGF0ZV9jaGFuZ2UoZ2wsIHJldCAmIExNX09VVF9TVF9NQVNLKTsKLQotCS8qICBEZWFsIHdpdGggZWFjaCBwb3NzaWJsZSBleGl0IGNvbmRpdGlvbiAgKi8KLQotCWlmICghZ2gpIHsKLQkJZ2wtPmdsX3N0YW1wID0gamlmZmllczsKLQkJaWYgKHJldCAmIExNX09VVF9DQU5DRUxFRCkgewotCQkJb3BfZG9uZSA9IDA7Ci0JCX0gZWxzZSB7Ci0JCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJCWlmIChnbC0+Z2xfc3RhdGUgIT0gZ2wtPmdsX2RlbW90ZV9zdGF0ZSkgewotCQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQkJZ2ZzMl9nbG9ja19kcm9wX3RoKGdsKTsKLQkJCQlnZnMyX2dsb2NrX3B1dChnbCk7Ci0JCQkJcmV0dXJuOwotCQkJfQotCQkJZ2ZzMl9kZW1vdGVfd2FrZShnbCk7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQl9Ci0JfSBlbHNlIHsKLQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWlmIChyZXQgJiBMTV9PVVRfQ09OVl9ERUFETEspIHsKLQkJCWdoLT5naF9lcnJvciA9IDA7Ci0JCQlzZXRfYml0KEdMRl9DT05WX0RFQURMSywgJmdsLT5nbF9mbGFncyk7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJZ2ZzMl9nbG9ja19kcm9wX3RoKGdsKTsKLQkJCWdmczJfZ2xvY2tfcHV0KGdsKTsKLQkJCXJldHVybjsKLQkJfQotCQlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7Ci0JCWdoLT5naF9lcnJvciA9IC1FSU87Ci0JCWlmICh1bmxpa2VseSh0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpIAotCQkJZ290byBvdXQ7Ci0JCWdoLT5naF9lcnJvciA9IEdMUl9DQU5DRUxFRDsKLQkJaWYgKHJldCAmIExNX09VVF9DQU5DRUxFRCkgCi0JCQlnb3RvIG91dDsKLQkJaWYgKHJlbGF4ZWRfc3RhdGVfb2soZ2wtPmdsX3N0YXRlLCBnaC0+Z2hfc3RhdGUsIGdoLT5naF9mbGFncykpIHsKLQkJCWxpc3RfYWRkX3RhaWwoJmdoLT5naF9saXN0LCAmZ2wtPmdsX2hvbGRlcnMpOwotCQkJZ2gtPmdoX2Vycm9yID0gMDsKLQkJCXNldF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpOwotCQkJc2V0X2JpdChISUZfRklSU1QsICZnaC0+Z2hfaWZsYWdzKTsKLQkJCW9wX2RvbmUgPSAwOwotCQkJZ290byBvdXQ7Ci0JCX0KLQkJZ2gtPmdoX2Vycm9yID0gR0xSX1RSWUZBSUxFRDsKLQkJaWYgKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpCi0JCQlnb3RvIG91dDsKLQkJZ2gtPmdoX2Vycm9yID0gLUVJTlZBTDsKLQkJaWYgKGdmczJfYXNzZXJ0X3dpdGhkcmF3KHNkcCwgMCkgPT0gLTEpCi0JCQlmc19lcnIoc2RwLCAicmV0ID0gMHglLjhYXG4iLCByZXQpOwotb3V0OgotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCX0KLQotCWlmIChnbG9wcy0+Z29feG1vdGVfYmgpCi0JCWdsb3BzLT5nb194bW90ZV9iaChnbCk7Ci0KLQlpZiAob3BfZG9uZSkgewotCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2wtPmdsX3JlcV9naCA9IE5VTEw7Ci0JCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JfQotCi0JZ2ZzMl9nbG9ja19wdXQoZ2wpOwotCi0JaWYgKGdoKQotCQlnZnMyX2hvbGRlcl93YWtlKGdoKTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCBnZnMyX2xtX2xvY2soc3RydWN0IGdmczJfc2JkICpzZHAsIHZvaWQgKmxvY2ssCi0JCQkJIHVuc2lnbmVkIGludCBjdXJfc3RhdGUsIHVuc2lnbmVkIGludCByZXFfc3RhdGUsCi0JCQkJIHVuc2lnbmVkIGludCBmbGFncykKLXsKLQlpbnQgcmV0ID0gMDsKLQlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCi0JCXJldCA9IHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2xvY2sobG9jaywgY3VyX3N0YXRlLAotCQkJCQkJCSByZXFfc3RhdGUsIGZsYWdzKTsKLQlyZXR1cm4gcmV0OwotfQotCi0vKioKLSAqIGdmczJfZ2xvY2tfeG1vdGVfdGggLSBDYWxsIGludG8gdGhlIGxvY2sgbW9kdWxlIHRvIGFjcXVpcmUgb3IgY2hhbmdlIGEgZ2xvY2sKLSAqIEBnbDogVGhlIGdsb2NrIGluIHF1ZXN0aW9uCi0gKiBAc3RhdGU6IHRoZSByZXF1ZXN0ZWQgc3RhdGUKLSAqIEBmbGFnczogbW9kaWZpZXIgZmxhZ3MgdG8gdGhlIGxvY2sgY2FsbAotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX3htb3RlX3RoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0JaW50IGZsYWdzID0gZ2ggPyBnaC0+Z2hfZmxhZ3MgOiAwOwotCXVuc2lnbmVkIHN0YXRlID0gZ2ggPyBnaC0+Z2hfc3RhdGUgOiBnbC0+Z2xfZGVtb3RlX3N0YXRlOwotCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKLQlpbnQgbGNrX2ZsYWdzID0gZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IgfAotCQkJCSBMTV9GTEFHX05PRVhQIHwgTE1fRkxBR19BTlkgfAotCQkJCSBMTV9GTEFHX1BSSU9SSVRZKTsKLQl1bnNpZ25lZCBpbnQgbGNrX3JldDsKLQotCWlmIChnbG9wcy0+Z29feG1vdGVfdGgpCi0JCWdsb3BzLT5nb194bW90ZV90aChnbCk7Ci0JaWYgKHN0YXRlID09IExNX1NUX0RFRkVSUkVEICYmIGdsb3BzLT5nb19pbnZhbCkKLQkJZ2xvcHMtPmdvX2ludmFsKGdsLCBESU9fTUVUQURBVEEpOwotCi0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHN0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgc3RhdGUgIT0gZ2wtPmdsX3N0YXRlKTsKLQotCWdmczJfZ2xvY2tfaG9sZChnbCk7Ci0KLQlsY2tfcmV0ID0gZ2ZzMl9sbV9sb2NrKHNkcCwgZ2wtPmdsX2xvY2ssIGdsLT5nbF9zdGF0ZSwgc3RhdGUsIGxja19mbGFncyk7Ci0KLQlpZiAoZ2ZzMl9hc3NlcnRfd2l0aGRyYXcoc2RwLCAhKGxja19yZXQgJiBMTV9PVVRfRVJST1IpKSkKLQkJcmV0dXJuOwotCi0JaWYgKGxja19yZXQgJiBMTV9PVVRfQVNZTkMpCi0JCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBsY2tfcmV0ID09IExNX09VVF9BU1lOQyk7Ci0JZWxzZQotCQl4bW90ZV9iaChnbCwgbGNrX3JldCk7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgZ2ZzMl9sbV91bmxvY2soc3RydWN0IGdmczJfc2JkICpzZHAsIHZvaWQgKmxvY2ssCi0JCQkJICAgdW5zaWduZWQgaW50IGN1cl9zdGF0ZSkKLXsKLQlpbnQgcmV0ID0gMDsKLQlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCi0JCXJldCA9ICBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV91bmxvY2sobG9jaywgY3VyX3N0YXRlKTsKLQlyZXR1cm4gcmV0OwotfQotCi0vKioKLSAqIGdmczJfZ2xvY2tfZHJvcF90aCAtIGNhbGwgaW50byB0aGUgbG9jayBtb2R1bGUgdG8gdW5sb2NrIGEgbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja19kcm9wX3RoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0JY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOwotCXVuc2lnbmVkIGludCByZXQ7Ci0KLQlpZiAoZ2xvcHMtPmdvX3htb3RlX3RoKQotCQlnbG9wcy0+Z29feG1vdGVfdGgoZ2wpOwotCWlmIChnbG9wcy0+Z29faW52YWwpCi0JCWdsb3BzLT5nb19pbnZhbChnbCwgRElPX01FVEFEQVRBKTsKLQotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCB0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOwotCi0JZ2ZzMl9nbG9ja19ob2xkKGdsKTsKLQotCXJldCA9IGdmczJfbG1fdW5sb2NrKHNkcCwgZ2wtPmdsX2xvY2ssIGdsLT5nbF9zdGF0ZSk7Ci0KLQlpZiAoZ2ZzMl9hc3NlcnRfd2l0aGRyYXcoc2RwLCAhKHJldCAmIExNX09VVF9FUlJPUikpKQotCQlyZXR1cm47Ci0KLQlpZiAoIXJldCkKLQkJZHJvcF9iaChnbCwgcmV0KTsKLQllbHNlCi0JCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCByZXQgPT0gTE1fT1VUX0FTWU5DKTsKLX0KLQotLyoqCi0gKiBkb19jYW5jZWxzIC0gY2FuY2VsIHJlcXVlc3RzIGZvciBsb2NrcyBzdHVjayB3YWl0aW5nIG9uIGFuIGV4cGlyZSBmbGFnCi0gKiBAZ2g6IHRoZSBMTV9GTEFHX1BSSU9SSVRZIGhvbGRlciB3YWl0aW5nIHRvIGFjcXVpcmUgdGhlIGxvY2sKLSAqCi0gKiBEb24ndCBjYW5jZWwgR0xfTk9DQU5DRUwgcmVxdWVzdHMuCi0gKi8KLQotc3RhdGljIHZvaWQgZG9fY2FuY2VscyhzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQotCXdoaWxlIChnbC0+Z2xfcmVxX2doICE9IGdoICYmCi0JICAgICAgICF0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykgJiYKLQkgICAgICAgIWxpc3RfZW1wdHkoJmdoLT5naF9saXN0KSkgewotCQlpZiAoIShnbC0+Z2xfcmVxX2doICYmIChnbC0+Z2xfcmVxX2doLT5naF9mbGFncyAmIEdMX05PQ0FOQ0VMKSkpIHsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCi0JCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fY2FuY2VsKGdsLT5nbF9sb2NrKTsKLQkJCW1zbGVlcCgxMDApOwotCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCX0gZWxzZSB7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJbXNsZWVwKDEwMCk7Ci0JCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJfQotCX0KLQotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci19Ci0KLS8qKgotICogZ2xvY2tfd2FpdF9pbnRlcm5hbCAtIHdhaXQgb24gYSBnbG9jayBhY3F1aXNpdGlvbgorICogZ2ZzMl9nbG9ja193YWl0IC0gd2FpdCBvbiBhIGdsb2NrIGFjcXVpc2l0aW9uCiAgKiBAZ2g6IHRoZSBnbG9jayBob2xkZXIKICAqCiAgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MKICAqLwogCi1zdGF0aWMgaW50IGdsb2NrX3dhaXRfaW50ZXJuYWwoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKK2ludCBnZnMyX2dsb2NrX3dhaXQoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwotCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKLQotCWlmICh0ZXN0X2JpdChISUZfQUJPUlRFRCwgJmdoLT5naF9pZmxhZ3MpKQotCQlyZXR1cm4gLUVJTzsKLQotCWlmIChnaC0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKSB7Ci0JCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQlpZiAoZ2wtPmdsX3JlcV9naCAhPSBnaCAmJgotCQkgICAgIXRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSAmJgotCQkgICAgIWxpc3RfZW1wdHkoJmdoLT5naF9saXN0KSkgewotCQkJbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOwotCQkJZ2gtPmdoX2Vycm9yID0gR0xSX1RSWUZBSUxFRDsKLQkJCXJ1bl9xdWV1ZShnbCk7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJcmV0dXJuIGdoLT5naF9lcnJvcjsKLQkJfQotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCX0KLQotCWlmIChnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKQotCQlkb19jYW5jZWxzKGdoKTsKLQogCXdhaXRfb25faG9sZGVyKGdoKTsKLQlpZiAoZ2gtPmdoX2Vycm9yKQotCQlyZXR1cm4gZ2gtPmdoX2Vycm9yOwotCi0JZ2ZzMl9hc3NlcnRfd2l0aGRyYXcoc2RwLCB0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpOwotCWdmczJfYXNzZXJ0X3dpdGhkcmF3KHNkcCwgcmVsYXhlZF9zdGF0ZV9vayhnbC0+Z2xfc3RhdGUsIGdoLT5naF9zdGF0ZSwKLQkJCQkJCSAgIGdoLT5naF9mbGFncykpOwotCi0JaWYgKHRlc3RfYml0KEhJRl9GSVJTVCwgJmdoLT5naF9pZmxhZ3MpKSB7Ci0JCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCB0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpOwotCi0JCWlmIChnbG9wcy0+Z29fbG9jaykgewotCQkJZ2gtPmdoX2Vycm9yID0gZ2xvcHMtPmdvX2xvY2soZ2gpOwotCQkJaWYgKGdoLT5naF9lcnJvcikgewotCQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKLQkJCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJfQotCQl9Ci0KLQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdsLT5nbF9yZXFfZ2ggPSBOVUxMOwotCQljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCQlydW5fcXVldWUoZ2wpOwotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCX0KLQogCXJldHVybiBnaC0+Z2hfZXJyb3I7CiB9CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGdmczJfaG9sZGVyICoKLWZpbmRfaG9sZGVyX2J5X293bmVyKHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsIHN0cnVjdCBwaWQgKnBpZCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOwotCi0JbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgaGVhZCwgZ2hfbGlzdCkgewotCQlpZiAoZ2gtPmdoX293bmVyX3BpZCA9PSBwaWQpCi0JCQlyZXR1cm4gZ2g7Ci0JfQotCi0JcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRpYyB2b2lkIHByaW50X2RiZyhzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQordm9pZCBnZnMyX3ByaW50X2RiZyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3QgY2hhciAqZm10LCAuLi4pCiB7CiAJdmFfbGlzdCBhcmdzOwogCiAJdmFfc3RhcnQoYXJncywgZm10KTsKLQlpZiAoZ2kpIHsKKwlpZiAoc2VxKSB7CisJCXN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpID0gc2VxLT5wcml2YXRlOwogCQl2c3ByaW50ZihnaS0+c3RyaW5nLCBmbXQsIGFyZ3MpOwotCQlzZXFfcHJpbnRmKGdpLT5zZXEsIGdpLT5zdHJpbmcpOwotCX0KLQllbHNlCisJCXNlcV9wcmludGYoc2VxLCBnaS0+c3RyaW5nKTsKKwl9IGVsc2UgeworCQlwcmludGsoS0VSTl9FUlIgIiAiKTsKIAkJdnByaW50ayhmbXQsIGFyZ3MpOworCX0KIAl2YV9lbmQoYXJncyk7CiB9CiAKQEAgLTExMDQsNTAgKzg3MCw3NiBAQAogICogYWRkX3RvX3F1ZXVlIC0gQWRkIGEgaG9sZGVyIHRvIHRoZSB3YWl0IHF1ZXVlIChidXQgbG9vayBmb3IgcmVjdXJzaW9uKQogICogQGdoOiB0aGUgaG9sZGVyIHN0cnVjdHVyZSB0byBhZGQKICAqCisgKiBFdmVudHVhbGx5IHdlIHNob3VsZCBtb3ZlIHRoZSByZWN1cnNpdmUgbG9ja2luZyB0cmFwIHRvIGEKKyAqIGRlYnVnZ2luZyBvcHRpb24gb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4gVGhpcyBpcyB0aGUgZmFzdAorICogcGF0aCBhbmQgbmVlZHMgdG8gaGF2ZSB0aGUgbWluaW11bSBudW1iZXIgb2YgZGlzdHJhY3Rpb25zLgorICogCiAgKi8KIAotc3RhdGljIHZvaWQgYWRkX3RvX3F1ZXVlKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCitzdGF0aWMgaW5saW5lIHZvaWQgYWRkX3RvX3F1ZXVlKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCiB7CiAJc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gZ2gtPmdoX2dsOwotCXN0cnVjdCBnZnMyX2hvbGRlciAqZXhpc3Rpbmc7CisJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOworCXN0cnVjdCBsaXN0X2hlYWQgKmluc2VydF9wdCA9IE5VTEw7CisJc3RydWN0IGdmczJfaG9sZGVyICpnaDI7CisJaW50IHRyeV9sb2NrID0gMDsKIAogCUJVR19PTihnaC0+Z2hfb3duZXJfcGlkID09IE5VTEwpOwogCWlmICh0ZXN0X2FuZF9zZXRfYml0KEhJRl9XQUlULCAmZ2gtPmdoX2lmbGFncykpCiAJCUJVRygpOwogCi0JaWYgKCEoZ2gtPmdoX2ZsYWdzICYgR0xfRkxPQ0spKSB7Ci0JCWV4aXN0aW5nID0gZmluZF9ob2xkZXJfYnlfb3duZXIoJmdsLT5nbF9ob2xkZXJzLCAKLQkJCQkJCWdoLT5naF9vd25lcl9waWQpOwotCQlpZiAoZXhpc3RpbmcpIHsKLQkJCXByaW50X3N5bWJvbChLRVJOX1dBUk5JTkcgIm9yaWdpbmFsOiAlc1xuIiwgCi0JCQkJICAgICBleGlzdGluZy0+Z2hfaXApOwotCQkJcHJpbnRrKEtFUk5fSU5GTyAicGlkIDogJWRcbiIsCi0JCQkJCXBpZF9ucihleGlzdGluZy0+Z2hfb3duZXJfcGlkKSk7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJsb2NrIHR5cGUgOiAlZCBsb2NrIHN0YXRlIDogJWRcbiIsCi0JCQkgICAgICAgZXhpc3RpbmctPmdoX2dsLT5nbF9uYW1lLmxuX3R5cGUsIAotCQkJICAgICAgIGV4aXN0aW5nLT5naF9nbC0+Z2xfc3RhdGUpOwotCQkJcHJpbnRfc3ltYm9sKEtFUk5fV0FSTklORyAibmV3OiAlc1xuIiwgZ2gtPmdoX2lwKTsKLQkJCXByaW50ayhLRVJOX0lORk8gInBpZCA6ICVkXG4iLAotCQkJCQlwaWRfbnIoZ2gtPmdoX293bmVyX3BpZCkpOwotCQkJcHJpbnRrKEtFUk5fSU5GTyAibG9jayB0eXBlIDogJWQgbG9jayBzdGF0ZSA6ICVkXG4iLAotCQkJICAgICAgIGdsLT5nbF9uYW1lLmxuX3R5cGUsIGdsLT5nbF9zdGF0ZSk7Ci0JCQlCVUcoKTsKLQkJfQotCQkKLQkJZXhpc3RpbmcgPSBmaW5kX2hvbGRlcl9ieV9vd25lcigmZ2wtPmdsX3dhaXRlcnMzLCAKLQkJCQkJCWdoLT5naF9vd25lcl9waWQpOwotCQlpZiAoZXhpc3RpbmcpIHsKLQkJCXByaW50X3N5bWJvbChLRVJOX1dBUk5JTkcgIm9yaWdpbmFsOiAlc1xuIiwgCi0JCQkJICAgICBleGlzdGluZy0+Z2hfaXApOwotCQkJcHJpbnRfc3ltYm9sKEtFUk5fV0FSTklORyAibmV3OiAlc1xuIiwgZ2gtPmdoX2lwKTsKLQkJCUJVRygpOwotCQl9CisJaWYgKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpIHsKKwkJaWYgKHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJCXRyeV9sb2NrID0gMTsKKwkJaWYgKHRlc3RfYml0KEdMRl9JTlZBTElEQVRFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJCWdvdG8gZmFpbDsKIAl9CiAKLQlpZiAoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkKLQkJbGlzdF9hZGQoJmdoLT5naF9saXN0LCAmZ2wtPmdsX3dhaXRlcnMzKTsKLQllbHNlCi0JCWxpc3RfYWRkX3RhaWwoJmdoLT5naF9saXN0LCAmZ2wtPmdsX3dhaXRlcnMzKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdoMiwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7CisJCWlmICh1bmxpa2VseShnaDItPmdoX293bmVyX3BpZCA9PSBnaC0+Z2hfb3duZXJfcGlkICYmCisJCSAgICAoZ2gtPmdoX2dsLT5nbF9vcHMtPmdvX3R5cGUgIT0gTE1fVFlQRV9GTE9DSykpKQorCQkJZ290byB0cmFwX3JlY3Vyc2l2ZTsKKwkJaWYgKHRyeV9sb2NrICYmCisJCSAgICAhKGdoMi0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKSAmJgorCQkgICAgIW1heV9ncmFudChnbCwgZ2gpKSB7CitmYWlsOgorCQkJZ2gtPmdoX2Vycm9yID0gR0xSX1RSWUZBSUxFRDsKKwkJCWdmczJfaG9sZGVyX3dha2UoZ2gpOworCQkJcmV0dXJuOworCQl9CisJCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gyLT5naF9pZmxhZ3MpKQorCQkJY29udGludWU7CisJCWlmICh1bmxpa2VseSgoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkgJiYgIWluc2VydF9wdCkpCisJCQlpbnNlcnRfcHQgPSAmZ2gyLT5naF9saXN0OworCX0KKwlpZiAobGlrZWx5KGluc2VydF9wdCA9PSBOVUxMKSkgeworCQlsaXN0X2FkZF90YWlsKCZnaC0+Z2hfbGlzdCwgJmdsLT5nbF9ob2xkZXJzKTsKKwkJaWYgKHVubGlrZWx5KGdoLT5naF9mbGFncyAmIExNX0ZMQUdfUFJJT1JJVFkpKQorCQkJZ290byBkb19jYW5jZWw7CisJCXJldHVybjsKKwl9CisJbGlzdF9hZGRfdGFpbCgmZ2gtPmdoX2xpc3QsIGluc2VydF9wdCk7Citkb19jYW5jZWw6CisJZ2ggPSBsaXN0X2VudHJ5KGdsLT5nbF9ob2xkZXJzLm5leHQsIHN0cnVjdCBnZnMyX2hvbGRlciwgZ2hfbGlzdCk7CisJaWYgKCEoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkpIHsKKwkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwkJaWYgKHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2NhbmNlbCkKKwkJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2NhbmNlbChnbC0+Z2xfbG9jayk7CisJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCX0KKwlyZXR1cm47CisKK3RyYXBfcmVjdXJzaXZlOgorCXByaW50X3N5bWJvbChLRVJOX0VSUiAib3JpZ2luYWw6ICVzXG4iLCBnaDItPmdoX2lwKTsKKwlwcmludGsoS0VSTl9FUlIgInBpZDogJWRcbiIsIHBpZF9ucihnaDItPmdoX293bmVyX3BpZCkpOworCXByaW50ayhLRVJOX0VSUiAibG9jayB0eXBlOiAlZCByZXEgbG9jayBzdGF0ZSA6ICVkXG4iLAorCSAgICAgICBnaDItPmdoX2dsLT5nbF9uYW1lLmxuX3R5cGUsIGdoMi0+Z2hfc3RhdGUpOworCXByaW50X3N5bWJvbChLRVJOX0VSUiAibmV3OiAlc1xuIiwgZ2gtPmdoX2lwKTsKKwlwcmludGsoS0VSTl9FUlIgInBpZDogJWRcbiIsIHBpZF9ucihnaC0+Z2hfb3duZXJfcGlkKSk7CisJcHJpbnRrKEtFUk5fRVJSICJsb2NrIHR5cGU6ICVkIHJlcSBsb2NrIHN0YXRlIDogJWRcbiIsCisJICAgICAgIGdoLT5naF9nbC0+Z2xfbmFtZS5sbl90eXBlLCBnaC0+Z2hfc3RhdGUpOworCV9fZHVtcF9nbG9jayhOVUxMLCBnbCk7CisJQlVHKCk7CiB9CiAKIC8qKgpAQCAtMTE2NSwyNCArOTU3LDE2IEBACiAJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwogCWludCBlcnJvciA9IDA7CiAKLXJlc3RhcnQ6Ci0JaWYgKHVubGlrZWx5KHRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkgewotCQlzZXRfYml0KEhJRl9BQk9SVEVELCAmZ2gtPmdoX2lmbGFncyk7CisJaWYgKHVubGlrZWx5KHRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKIAkJcmV0dXJuIC1FSU87Ci0JfQogCiAJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJYWRkX3RvX3F1ZXVlKGdoKTsKLQlydW5fcXVldWUoZ2wpOworCXJ1bl9xdWV1ZShnbCwgMSk7CiAJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIAotCWlmICghKGdoLT5naF9mbGFncyAmIEdMX0FTWU5DKSkgewotCQllcnJvciA9IGdsb2NrX3dhaXRfaW50ZXJuYWwoZ2gpOwotCQlpZiAoZXJyb3IgPT0gR0xSX0NBTkNFTEVEKSB7Ci0JCQltc2xlZXAoMTAwKTsKLQkJCWdvdG8gcmVzdGFydDsKLQkJfQotCX0KKwlpZiAoIShnaC0+Z2hfZmxhZ3MgJiBHTF9BU1lOQykpCisJCWVycm9yID0gZ2ZzMl9nbG9ja193YWl0KGdoKTsKIAogCXJldHVybiBlcnJvcjsKIH0KQEAgLTExOTYsNDggKzk4MCw3IEBACiAKIGludCBnZnMyX2dsb2NrX3BvbGwoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7Ci0JaW50IHJlYWR5ID0gMDsKLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCi0JaWYgKHRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKLQkJcmVhZHkgPSAxOwotCWVsc2UgaWYgKGxpc3RfZW1wdHkoJmdoLT5naF9saXN0KSkgewotCQlpZiAoZ2gtPmdoX2Vycm9yID09IEdMUl9DQU5DRUxFRCkgewotCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCW1zbGVlcCgxMDApOwotCQkJaWYgKGdmczJfZ2xvY2tfbnEoZ2gpKQotCQkJCXJldHVybiAxOwotCQkJcmV0dXJuIDA7Ci0JCX0gZWxzZQotCQkJcmVhZHkgPSAxOwotCX0KLQotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0KLQlyZXR1cm4gcmVhZHk7Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG9ja193YWl0IC0gd2FpdCBmb3IgYSBsb2NrIGFjcXVpc2l0aW9uIHRoYXQgZW5kZWQgaW4gYSBHTFJfQVNZTkMKLSAqIEBnaDogdGhlIGhvbGRlciBzdHJ1Y3R1cmUKLSAqCi0gKiBSZXR1cm5zOiAwLCBHTFJfVFJZRkFJTEVELCBvciBlcnJubyBvbiBmYWlsdXJlCi0gKi8KLQotaW50IGdmczJfZ2xvY2tfd2FpdChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCWludCBlcnJvcjsKLQotCWVycm9yID0gZ2xvY2tfd2FpdF9pbnRlcm5hbChnaCk7Ci0JaWYgKGVycm9yID09IEdMUl9DQU5DRUxFRCkgewotCQltc2xlZXAoMTAwKTsKLQkJZ2gtPmdoX2ZsYWdzICY9IH5HTF9BU1lOQzsKLQkJZXJyb3IgPSBnZnMyX2dsb2NrX25xKGdoKTsKLQl9Ci0KLQlyZXR1cm4gZXJyb3I7CisJcmV0dXJuIHRlc3RfYml0KEhJRl9XQUlULCAmZ2gtPmdoX2lmbGFncykgPyAwIDogMTsKIH0KIAogLyoqCkBAIC0xMjUxLDI2ICs5OTQsMzAgQEAKIAlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7CiAJY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOwogCXVuc2lnbmVkIGRlbGF5ID0gMDsKKwlpbnQgZmFzdF9wYXRoID0gMDsKIAorCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwogCWlmIChnaC0+Z2hfZmxhZ3MgJiBHTF9OT0NBQ0hFKQogCQloYW5kbGVfY2FsbGJhY2soZ2wsIExNX1NUX1VOTE9DS0VELCAwLCAwKTsKIAotCWdmczJfZ2xtdXRleF9sb2NrKGdsKTsKLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwogCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKLQotCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpIHsKKwlpZiAoZmluZF9maXJzdF9ob2xkZXIoZ2wpID09IE5VTEwpIHsKIAkJaWYgKGdsb3BzLT5nb191bmxvY2spIHsKKwkJCUdMT0NLX0JVR19PTihnbCwgdGVzdF9hbmRfc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpOwogCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIAkJCWdsb3BzLT5nb191bmxvY2soZ2gpOwogCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCQljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwogCQl9CiAJCWdsLT5nbF9zdGFtcCA9IGppZmZpZXM7CisJCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykgJiYKKwkJICAgICF0ZXN0X2JpdChHTEZfUEVORElOR19ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpICYmCisJCSAgICAhdGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykpCisJCQlmYXN0X3BhdGggPSAxOwogCX0KLQotCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7CiAJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAobGlrZWx5KGZhc3RfcGF0aCkpCisJCXJldHVybjsKIAogCWdmczJfZ2xvY2tfaG9sZChnbCk7CiAJaWYgKHRlc3RfYml0KEdMRl9QRU5ESU5HX0RFTU9URSwgJmdsLT5nbF9mbGFncykgJiYKQEAgLTE0NTQsNiArMTIwMSw4IEBACiBzdGF0aWMgaW50IGdmczJfbG1faG9sZF9sdmIoc3RydWN0IGdmczJfc2JkICpzZHAsIHZvaWQgKmxvY2ssIGNoYXIgKipsdmJwKQogewogCWludCBlcnJvciA9IC1FSU87CisJaWYgKCFzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9ob2xkX2x2YikKKwkJcmV0dXJuIDA7CiAJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQogCQllcnJvciA9IHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2hvbGRfbHZiKGxvY2ssIGx2YnApOwogCXJldHVybiBlcnJvcjsKQEAgLTE0NjksMjAgKzEyMTgsMTQgQEAKIHsKIAlpbnQgZXJyb3I7CiAKLQlnZnMyX2dsbXV0ZXhfbG9jayhnbCk7Ci0KIAlpZiAoIWF0b21pY19yZWFkKCZnbC0+Z2xfbHZiX2NvdW50KSkgewogCQllcnJvciA9IGdmczJfbG1faG9sZF9sdmIoZ2wtPmdsX3NiZCwgZ2wtPmdsX2xvY2ssICZnbC0+Z2xfbHZiKTsKLQkJaWYgKGVycm9yKSB7Ci0JCQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKKwkJaWYgKGVycm9yKSAKIAkJCXJldHVybiBlcnJvcjsKLQkJfQogCQlnZnMyX2dsb2NrX2hvbGQoZ2wpOwogCX0KIAlhdG9taWNfaW5jKCZnbC0+Z2xfbHZiX2NvdW50KTsKIAotCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOwotCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE0OTcsMTcgKzEyNDAsMTMgQEAKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CiAKIAlnZnMyX2dsb2NrX2hvbGQoZ2wpOwotCWdmczJfZ2xtdXRleF9sb2NrKGdsKTsKLQogCWdmczJfYXNzZXJ0KGdsLT5nbF9zYmQsIGF0b21pY19yZWFkKCZnbC0+Z2xfbHZiX2NvdW50KSA+IDApOwogCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZnbC0+Z2xfbHZiX2NvdW50KSkgewotCQlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCisJCWlmIChzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV91bmhvbGRfbHZiKQogCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fdW5ob2xkX2x2YihnbC0+Z2xfbG9jaywgZ2wtPmdsX2x2Yik7CiAJCWdsLT5nbF9sdmIgPSBOVUxMOwogCQlnZnMyX2dsb2NrX3B1dChnbCk7CiAJfQotCi0JZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7CiAJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogfQogCkBAIC0xNTI3LDcgKzEyNjYsOSBAQAogCWlmICh0aW1lX2JlZm9yZShub3csIGhvbGR0aW1lKSkKIAkJZGVsYXkgPSBob2xkdGltZSAtIG5vdzsKIAorCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwogCWhhbmRsZV9jYWxsYmFjayhnbCwgc3RhdGUsIDEsIGRlbGF5KTsKKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCWlmIChxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIGRlbGF5KSA9PSAwKQogCQlnZnMyX2dsb2NrX3B1dChnbCk7CiB9CkBAIC0xNTY4LDcgKzEzMDksOCBAQAogCQlnbCA9IGdmczJfZ2xvY2tfZmluZChzZHAsICZhc3luYy0+bGNfbmFtZSk7CiAJCWlmIChnZnMyX2Fzc2VydF93YXJuKHNkcCwgZ2wpKQogCQkJcmV0dXJuOwotCQl4bW90ZV9iaChnbCwgYXN5bmMtPmxjX3JldCk7CisJCWdsLT5nbF9yZXBseSA9IGFzeW5jLT5sY19yZXQ7CisJCXNldF9iaXQoR0xGX1JFUExZX1BFTkRJTkcsICZnbC0+Z2xfZmxhZ3MpOwogCQlpZiAocXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCAwKSA9PSAwKQogCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogCQl1cF9yZWFkKCZnZnMyX3Vtb3VudF9mbHVzaF9zZW0pOwpAQCAtMTU4MSwxMSArMTMyMyw2IEBACiAJCQl3YWtlX3VwX3Byb2Nlc3Moc2RwLT5zZF9yZWNvdmVyZF9wcm9jZXNzKTsKIAkJcmV0dXJuOwogCi0JY2FzZSBMTV9DQl9EUk9QTE9DS1M6Ci0JCWdmczJfZ2xfaGFzaF9jbGVhcihzZHAsIE5PX1dBSVQpOwotCQlnZnMyX3F1b3RhX3NjYW4oc2RwKTsKLQkJcmV0dXJuOwotCiAJZGVmYXVsdDoKIAkJZ2ZzMl9hc3NlcnRfd2FybihzZHAsIDApOwogCQlyZXR1cm47CkBAIC0xNjQ2LDYgKzEzODMsNyBAQAogdm9pZCBnZnMyX3JlY2xhaW1fZ2xvY2soc3RydWN0IGdmczJfc2JkICpzZHApCiB7CiAJc3RydWN0IGdmczJfZ2xvY2sgKmdsOworCWludCBkb25lX2NhbGxiYWNrID0gMDsKIAogCXNwaW5fbG9jaygmc2RwLT5zZF9yZWNsYWltX2xvY2spOwogCWlmIChsaXN0X2VtcHR5KCZzZHAtPnNkX3JlY2xhaW1fbGlzdCkpIHsKQEAgLTE2NjAsMTQgKzEzOTgsMTYgQEAKIAlhdG9taWNfZGVjKCZzZHAtPnNkX3JlY2xhaW1fY291bnQpOwogCWF0b21pY19pbmMoJnNkcC0+c2RfcmVjbGFpbWVkKTsKIAotCWlmIChnZnMyX2dsbXV0ZXhfdHJ5bG9jayhnbCkpIHsKLQkJaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSAmJgotCQkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGRlbW90ZV9vayhnbCkpCi0JCQloYW5kbGVfY2FsbGJhY2soZ2wsIExNX1NUX1VOTE9DS0VELCAwLCAwKTsKLQkJZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7CisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJaWYgKGZpbmRfZmlyc3RfaG9sZGVyKGdsKSA9PSBOVUxMICYmCisJICAgIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiBkZW1vdGVfb2soZ2wpKSB7CisJCWhhbmRsZV9jYWxsYmFjayhnbCwgTE1fU1RfVU5MT0NLRUQsIDAsIDApOworCQlkb25lX2NhbGxiYWNrID0gMTsKIAl9Ci0KLQlnZnMyX2dsb2NrX3B1dChnbCk7CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoIWRvbmVfY2FsbGJhY2sgfHwKKwkgICAgcXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCAwKSA9PSAwKQorCQlnZnMyX2dsb2NrX3B1dChnbCk7CiB9CiAKIC8qKgpAQCAtMTcyNCwxOCArMTQ2NCwxNCBAQAogewogCWlmIChnbC0+Z2xfb3BzID09ICZnZnMyX2lub2RlX2dsb3BzICYmIGdsLT5nbF9vYmplY3QpCiAJCXJldHVybjsKKwlpZiAodGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKQorCQlyZXR1cm47CiAKLQlpZiAoZ2ZzMl9nbG11dGV4X3RyeWxvY2soZ2wpKSB7Ci0JCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykgJiYKLQkJICAgIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiBkZW1vdGVfb2soZ2wpKQotCQkJZ290byBvdXRfc2NoZWR1bGU7Ci0JCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOwotCX0KLQlyZXR1cm47Ci0KLW91dF9zY2hlZHVsZToKLQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKLQlnZnMyX2dsb2NrX3NjaGVkdWxlX2Zvcl9yZWNsYWltKGdsKTsKKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoZmluZF9maXJzdF9ob2xkZXIoZ2wpID09IE5VTEwgJiYKKwkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGRlbW90ZV9vayhnbCkpCisJCWdmczJfZ2xvY2tfc2NoZWR1bGVfZm9yX3JlY2xhaW0oZ2wpOworCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiB9CiAKIC8qKgpAQCAtMTc2MCwxMiArMTQ5NiwxMyBAQAogCQlzcGluX3VubG9jaygmc2RwLT5zZF9yZWNsYWltX2xvY2spOwogCX0KIAotCWlmIChnZnMyX2dsbXV0ZXhfdHJ5bG9jayhnbCkpIHsKLQkJaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSAmJgotCQkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKQotCQkJaGFuZGxlX2NhbGxiYWNrKGdsLCBMTV9TVF9VTkxPQ0tFRCwgMCwgMCk7Ci0JCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOwotCX0KKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoZmluZF9maXJzdF9ob2xkZXIoZ2wpID09IE5VTEwgJiYgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKQorCQloYW5kbGVfY2FsbGJhY2soZ2wsIExNX1NUX1VOTE9DS0VELCAwLCAwKTsKKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCWdmczJfZ2xvY2tfaG9sZChnbCk7CisJaWYgKHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgMCkgPT0gMCkKKwkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogfQogCiAvKioKQEAgLTE3NzMsMTEgKzE1MTAsMTAgQEAKICAqIEBzZHA6IHRoZSBmaWxlc3lzdGVtCiAgKiBAd2FpdDogd2FpdCB1bnRpbCBpdCdzIGFsbCBnb25lCiAgKgotICogQ2FsbGVkIHdoZW4gdW5tb3VudGluZyB0aGUgZmlsZXN5c3RlbSwgb3Igd2hlbiBpbnRlci1ub2RlIGxvY2sgbWFuYWdlcgotICogcmVxdWVzdHMgRFJPUExPQ0tTIGJlY2F1c2UgaXQgaXMgcnVubmluZyBvdXQgb2YgY2FwYWNpdHkuCisgKiBDYWxsZWQgd2hlbiB1bm1vdW50aW5nIHRoZSBmaWxlc3lzdGVtLgogICovCiAKLXZvaWQgZ2ZzMl9nbF9oYXNoX2NsZWFyKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBpbnQgd2FpdCkKK3ZvaWQgZ2ZzMl9nbF9oYXNoX2NsZWFyKHN0cnVjdCBnZnMyX3NiZCAqc2RwKQogewogCXVuc2lnbmVkIGxvbmcgdDsKIAl1bnNpZ25lZCBpbnQgeDsKQEAgLTE3OTIsNyArMTUyOCw3IEBACiAJCQkJY29udCA9IDE7CiAJCX0KIAotCQlpZiAoIXdhaXQgfHwgIWNvbnQpCisJCWlmICghY29udCkKIAkJCWJyZWFrOwogCiAJCWlmICh0aW1lX2FmdGVyX2VxKGppZmZpZXMsCkBAIC0xODEwLDE4MCArMTU0NiwxNjQgQEAKIAl9CiB9CiAKLS8qCi0gKiAgRGlhZ25vc3RpYyByb3V0aW5lcyB0byBoZWxwIGRlYnVnIGRpc3RyaWJ1dGVkIGRlYWRsb2NrCi0gKi8KLQotc3RhdGljIHZvaWQgZ2ZzMl9wcmludF9zeW1ib2woc3RydWN0IGdsb2NrX2l0ZXIgKmdpLCBjb25zdCBjaGFyICpmbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCitzdGF0aWMgY29uc3QgY2hhciAqc3RhdGUyc3RyKHVuc2lnbmVkIHN0YXRlKQogewotCWNoYXIgYnVmZmVyW0tTWU1fU1lNQk9MX0xFTl07CisJc3dpdGNoKHN0YXRlKSB7CisJY2FzZSBMTV9TVF9VTkxPQ0tFRDoKKwkJcmV0dXJuICJVTiI7CisJY2FzZSBMTV9TVF9TSEFSRUQ6CisJCXJldHVybiAiU0giOworCWNhc2UgTE1fU1RfREVGRVJSRUQ6CisJCXJldHVybiAiREYiOworCWNhc2UgTE1fU1RfRVhDTFVTSVZFOgorCQlyZXR1cm4gIkVYIjsKKwl9CisJcmV0dXJuICI/PyI7Cit9CiAKLQlzcHJpbnRfc3ltYm9sKGJ1ZmZlciwgYWRkcmVzcyk7Ci0JcHJpbnRfZGJnKGdpLCBmbXQsIGJ1ZmZlcik7CitzdGF0aWMgY29uc3QgY2hhciAqaGZsYWdzMnN0cihjaGFyICpidWYsIHVuc2lnbmVkIGZsYWdzLCB1bnNpZ25lZCBsb25nIGlmbGFncykKK3sKKwljaGFyICpwID0gYnVmOworCWlmIChmbGFncyAmIExNX0ZMQUdfVFJZKQorCQkqcCsrID0gJ3QnOworCWlmIChmbGFncyAmIExNX0ZMQUdfVFJZXzFDQikKKwkJKnArKyA9ICdUJzsKKwlpZiAoZmxhZ3MgJiBMTV9GTEFHX05PRVhQKQorCQkqcCsrID0gJ2UnOworCWlmIChmbGFncyAmIExNX0ZMQUdfQU5ZKQorCQkqcCsrID0gJ2EnOworCWlmIChmbGFncyAmIExNX0ZMQUdfUFJJT1JJVFkpCisJCSpwKysgPSAncCc7CisJaWYgKGZsYWdzICYgR0xfQVNZTkMpCisJCSpwKysgPSAnYSc7CisJaWYgKGZsYWdzICYgR0xfRVhBQ1QpCisJCSpwKysgPSAnRSc7CisJaWYgKGZsYWdzICYgR0xfQVRJTUUpCisJCSpwKysgPSAnYSc7CisJaWYgKGZsYWdzICYgR0xfTk9DQUNIRSkKKwkJKnArKyA9ICdjJzsKKwlpZiAodGVzdF9iaXQoSElGX0hPTERFUiwgJmlmbGFncykpCisJCSpwKysgPSAnSCc7CisJaWYgKHRlc3RfYml0KEhJRl9XQUlULCAmaWZsYWdzKSkKKwkJKnArKyA9ICdXJzsKKwlpZiAodGVzdF9iaXQoSElGX0ZJUlNULCAmaWZsYWdzKSkKKwkJKnArKyA9ICdGJzsKKwkqcCA9IDA7CisJcmV0dXJuIGJ1ZjsKIH0KIAogLyoqCiAgKiBkdW1wX2hvbGRlciAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgZ2xvY2sgaG9sZGVyCi0gKiBAc3RyOiBhIHN0cmluZyBuYW1pbmcgdGhlIHR5cGUgb2YgaG9sZGVyCisgKiBAc2VxOiB0aGUgc2VxX2ZpbGUgc3RydWN0CiAgKiBAZ2g6IHRoZSBnbG9jayBob2xkZXIKICAqCiAgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FTk9CVUZTIHdoZW4gd2UgcnVuIG91dCBvZiBzcGFjZQogICovCiAKLXN0YXRpYyBpbnQgZHVtcF9ob2xkZXIoc3RydWN0IGdsb2NrX2l0ZXIgKmdpLCBjaGFyICpzdHIsCi0JCSAgICAgICBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQorc3RhdGljIGludCBkdW1wX2hvbGRlcihzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKLQl1bnNpZ25lZCBpbnQgeDsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdoX293bmVyOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqZ2hfb3duZXIgPSBOVUxMOworCWNoYXIgYnVmZmVyW0tTWU1fU1lNQk9MX0xFTl07CisJY2hhciBmbGFnc19idWZbMzJdOwogCi0JcHJpbnRfZGJnKGdpLCAiICAlc1xuIiwgc3RyKTsKLQlpZiAoZ2gtPmdoX293bmVyX3BpZCkgewotCQlwcmludF9kYmcoZ2ksICIgICAgb3duZXIgPSAlbGQgIiwKLQkJCQkobG9uZylwaWRfbnIoZ2gtPmdoX293bmVyX3BpZCkpOworCXNwcmludF9zeW1ib2woYnVmZmVyLCBnaC0+Z2hfaXApOworCWlmIChnaC0+Z2hfb3duZXJfcGlkKQogCQlnaF9vd25lciA9IHBpZF90YXNrKGdoLT5naF9vd25lcl9waWQsIFBJRFRZUEVfUElEKTsKLQkJaWYgKGdoX293bmVyKQotCQkJcHJpbnRfZGJnKGdpLCAiKCVzKVxuIiwgZ2hfb3duZXItPmNvbW0pOwotCQllbHNlCi0JCQlwcmludF9kYmcoZ2ksICIoZW5kZWQpXG4iKTsKLQl9IGVsc2UKLQkJcHJpbnRfZGJnKGdpLCAiICAgIG93bmVyID0gLTFcbiIpOwotCXByaW50X2RiZyhnaSwgIiAgICBnaF9zdGF0ZSA9ICV1XG4iLCBnaC0+Z2hfc3RhdGUpOwotCXByaW50X2RiZyhnaSwgIiAgICBnaF9mbGFncyA9Iik7Ci0JZm9yICh4ID0gMDsgeCA8IDMyOyB4KyspCi0JCWlmIChnaC0+Z2hfZmxhZ3MgJiAoMSA8PCB4KSkKLQkJCXByaW50X2RiZyhnaSwgIiAldSIsIHgpOwotCXByaW50X2RiZyhnaSwgIiBcbiIpOwotCXByaW50X2RiZyhnaSwgIiAgICBlcnJvciA9ICVkXG4iLCBnaC0+Z2hfZXJyb3IpOwotCXByaW50X2RiZyhnaSwgIiAgICBnaF9pZmxhZ3MgPSIpOwotCWZvciAoeCA9IDA7IHggPCAzMjsgeCsrKQotCQlpZiAodGVzdF9iaXQoeCwgJmdoLT5naF9pZmxhZ3MpKQotCQkJcHJpbnRfZGJnKGdpLCAiICV1IiwgeCk7Ci0JcHJpbnRfZGJnKGdpLCAiIFxuIik7Ci0gICAgICAgIGdmczJfcHJpbnRfc3ltYm9sKGdpLCAiICAgIGluaXRpYWxpemVkIGF0OiAlc1xuIiwgZ2gtPmdoX2lwKTsKLQorCWdmczJfcHJpbnRfZGJnKHNlcSwgIiBIOiBzOiVzIGY6JXMgZTolZCBwOiVsZCBbJXNdICVzXG4iLAorCQkgIHN0YXRlMnN0cihnaC0+Z2hfc3RhdGUpLAorCQkgIGhmbGFnczJzdHIoZmxhZ3NfYnVmLCBnaC0+Z2hfZmxhZ3MsIGdoLT5naF9pZmxhZ3MpLAorCQkgIGdoLT5naF9lcnJvciwgCisJCSAgZ2gtPmdoX293bmVyX3BpZCA/IChsb25nKXBpZF9ucihnaC0+Z2hfb3duZXJfcGlkKSA6IC0xLAorCQkgIGdoX293bmVyID8gZ2hfb3duZXItPmNvbW0gOiAiKGVuZGVkKSIsIGJ1ZmZlcik7CiAJcmV0dXJuIDA7CiB9CiAKLS8qKgotICogZHVtcF9pbm9kZSAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGFuIGlub2RlCi0gKiBAaXA6IHRoZSBpbm9kZQotICoKLSAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgLUVOT0JVRlMgd2hlbiB3ZSBydW4gb3V0IG9mIHNwYWNlCi0gKi8KLQotc3RhdGljIGludCBkdW1wX2lub2RlKHN0cnVjdCBnbG9ja19pdGVyICpnaSwgc3RydWN0IGdmczJfaW5vZGUgKmlwKQorc3RhdGljIGNvbnN0IGNoYXIgKmdmbGFnczJzdHIoY2hhciAqYnVmLCBjb25zdCB1bnNpZ25lZCBsb25nICpnZmxhZ3MpCiB7Ci0JdW5zaWduZWQgaW50IHg7Ci0KLQlwcmludF9kYmcoZ2ksICIgIElub2RlOlxuIik7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIG51bSA9ICVsbHUvJWxsdVxuIiwKLQkJICAodW5zaWduZWQgbG9uZyBsb25nKWlwLT5pX25vX2Zvcm1hbF9pbm8sCi0JCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylpcC0+aV9ub19hZGRyKTsKLQlwcmludF9kYmcoZ2ksICIgICAgdHlwZSA9ICV1XG4iLCBJRjJEVChpcC0+aV9pbm9kZS5pX21vZGUpKTsKLQlwcmludF9kYmcoZ2ksICIgICAgaV9mbGFncyA9Iik7Ci0JZm9yICh4ID0gMDsgeCA8IDMyOyB4KyspCi0JCWlmICh0ZXN0X2JpdCh4LCAmaXAtPmlfZmxhZ3MpKQotCQkJcHJpbnRfZGJnKGdpLCAiICV1IiwgeCk7Ci0JcHJpbnRfZGJnKGdpLCAiIFxuIik7Ci0JcmV0dXJuIDA7CisJY2hhciAqcCA9IGJ1ZjsKKwlpZiAodGVzdF9iaXQoR0xGX0xPQ0ssIGdmbGFncykpCisJCSpwKysgPSAnbCc7CisJaWYgKHRlc3RfYml0KEdMRl9TVElDS1ksIGdmbGFncykpCisJCSpwKysgPSAncyc7CisJaWYgKHRlc3RfYml0KEdMRl9ERU1PVEUsIGdmbGFncykpCisJCSpwKysgPSAnRCc7CisJaWYgKHRlc3RfYml0KEdMRl9QRU5ESU5HX0RFTU9URSwgZ2ZsYWdzKSkKKwkJKnArKyA9ICdkJzsKKwlpZiAodGVzdF9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgZ2ZsYWdzKSkKKwkJKnArKyA9ICdwJzsKKwlpZiAodGVzdF9iaXQoR0xGX0RJUlRZLCBnZmxhZ3MpKQorCQkqcCsrID0gJ3knOworCWlmICh0ZXN0X2JpdChHTEZfTEZMVVNILCBnZmxhZ3MpKQorCQkqcCsrID0gJ2YnOworCWlmICh0ZXN0X2JpdChHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUywgZ2ZsYWdzKSkKKwkJKnArKyA9ICdpJzsKKwlpZiAodGVzdF9iaXQoR0xGX1JFUExZX1BFTkRJTkcsIGdmbGFncykpCisJCSpwKysgPSAncic7CisJKnAgPSAwOworCXJldHVybiBidWY7CiB9CiAKIC8qKgotICogZHVtcF9nbG9jayAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgZ2xvY2sKKyAqIF9fZHVtcF9nbG9jayAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgZ2xvY2sKKyAqIEBzZXE6IFRoZSBzZXFfZmlsZSBzdHJ1Y3QKICAqIEBnbDogdGhlIGdsb2NrCi0gKiBAY291bnQ6IHdoZXJlIHdlIGFyZSBpbiB0aGUgYnVmZmVyCisgKgorICogVGhlIGZpbGUgZm9ybWF0IGlzIGFzIGZvbGxvd3M6CisgKiBPbmUgbGluZSBwZXIgb2JqZWN0LCBjYXBpdGFsIGxldHRlcnMgYXJlIHVzZWQgdG8gaW5kaWNhdGUgb2JqZWN0cworICogRyA9IGdsb2NrLCBJID0gSW5vZGUsIFIgPSByZ3JwLCBIID0gaG9sZGVyLiBHbG9ja3MgYXJlIG5vdCBpbmRlbnRlZCwKKyAqIG90aGVyIG9iamVjdHMgYXJlIGluZGVudGVkIGJ5IGEgc2luZ2xlIHNwYWNlIGFuZCBmb2xsb3cgdGhlIGdsb2NrIHRvCisgKiB3aGljaCB0aGV5IGFyZSByZWxhdGVkLiBGaWVsZHMgYXJlIGluZGljYXRlZCBieSBsb3dlciBjYXNlIGxldHRlcnMKKyAqIGZvbGxvd2VkIGJ5IGEgY29sb24gYW5kIHRoZSBmaWVsZCB2YWx1ZSwgZXhjZXB0IGZvciBzdHJpbmdzIHdoaWNoIGFyZSBpbgorICogW10gc28gdGhhdCBpdHMgcG9zc2libGUgdG8gc2VlIGlmIHRoZXkgYXJlIGNvbXBvc2VkIG9mIHNwYWNlcyBmb3IKKyAqIGV4YW1wbGUuIFRoZSBmaWVsZCdzIGFyZSBuID0gbnVtYmVyIChpZCBvZiB0aGUgb2JqZWN0KSwgZiA9IGZsYWdzLAorICogdCA9IHR5cGUsIHMgPSBzdGF0ZSwgciA9IHJlZmNvdW50LCBlID0gZXJyb3IsIHAgPSBwaWQuCiAgKgogICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRU5PQlVGUyB3aGVuIHdlIHJ1biBvdXQgb2Ygc3BhY2UKICAqLwogCi1zdGF0aWMgaW50IGR1bXBfZ2xvY2soc3RydWN0IGdsb2NrX2l0ZXIgKmdpLCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCitzdGF0aWMgaW50IF9fZHVtcF9nbG9jayhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQogewotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7Ci0JdW5zaWduZWQgaW50IHg7Ci0JaW50IGVycm9yID0gLUVOT0JVRlM7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICpnbF9vd25lcjsKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7CisJdW5zaWduZWQgbG9uZyBsb25nIGR0aW1lOworCWNvbnN0IHN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7CisJY2hhciBnZmxhZ3NfYnVmWzMyXTsKKwlpbnQgZXJyb3IgPSAwOwogCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJZHRpbWUgPSBqaWZmaWVzIC0gZ2wtPmdsX2RlbW90ZV90aW1lOworCWR0aW1lICo9IDEwMDAwMDAvSFo7IC8qIGRlbW90ZSB0aW1lIGluIHVTZWMgKi8KKwlpZiAoIXRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpKQorCQlkdGltZSA9IDA7CisJZ2ZzMl9wcmludF9kYmcoc2VxLCAiRzogIHM6JXMgbjoldS8lbGx1IGY6JXMgdDolcyBkOiVzLyVsbHUgbDolZCBhOiVkIHI6JWRcbiIsCisJCSAgc3RhdGUyc3RyKGdsLT5nbF9zdGF0ZSksCisJCSAgZ2wtPmdsX25hbWUubG5fdHlwZSwKKwkJICAodW5zaWduZWQgbG9uZyBsb25nKWdsLT5nbF9uYW1lLmxuX251bWJlciwKKwkJICBnZmxhZ3Myc3RyKGdmbGFnc19idWYsICZnbC0+Z2xfZmxhZ3MpLAorCQkgIHN0YXRlMnN0cihnbC0+Z2xfdGFyZ2V0KSwKKwkJICBzdGF0ZTJzdHIoZ2wtPmdsX2RlbW90ZV9zdGF0ZSksIGR0aW1lLAorCQkgIGF0b21pY19yZWFkKCZnbC0+Z2xfbHZiX2NvdW50KSwKKwkJICBhdG9taWNfcmVhZCgmZ2wtPmdsX2FpbF9jb3VudCksCisJCSAgYXRvbWljX3JlYWQoJmdsLT5nbF9yZWYpKTsKIAotCXByaW50X2RiZyhnaSwgIkdsb2NrIDB4JXAgKCV1LCAweCVsbHgpXG4iLCBnbCwgZ2wtPmdsX25hbWUubG5fdHlwZSwKLQkJICAgKHVuc2lnbmVkIGxvbmcgbG9uZylnbC0+Z2xfbmFtZS5sbl9udW1iZXIpOwotCXByaW50X2RiZyhnaSwgIiAgZ2xfZmxhZ3MgPSIpOwotCWZvciAoeCA9IDA7IHggPCAzMjsgeCsrKSB7Ci0JCWlmICh0ZXN0X2JpdCh4LCAmZ2wtPmdsX2ZsYWdzKSkKLQkJCXByaW50X2RiZyhnaSwgIiAldSIsIHgpOwotCX0KLQlpZiAoIXRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkKLQkJcHJpbnRfZGJnKGdpLCAiICh1bmxvY2tlZCkiKTsKLQlwcmludF9kYmcoZ2ksICIgXG4iKTsKLQlwcmludF9kYmcoZ2ksICIgIGdsX3JlZiA9ICVkXG4iLCBhdG9taWNfcmVhZCgmZ2wtPmdsX3JlZikpOwotCXByaW50X2RiZyhnaSwgIiAgZ2xfc3RhdGUgPSAldVxuIiwgZ2wtPmdsX3N0YXRlKTsKLQlpZiAoZ2wtPmdsX293bmVyX3BpZCkgewotCQlnbF9vd25lciA9IHBpZF90YXNrKGdsLT5nbF9vd25lcl9waWQsIFBJRFRZUEVfUElEKTsKLQkJaWYgKGdsX293bmVyKQotCQkJcHJpbnRfZGJnKGdpLCAiICBnbF9vd25lciA9IHBpZCAlZCAoJXMpXG4iLAotCQkJCSAgcGlkX25yKGdsLT5nbF9vd25lcl9waWQpLCBnbF9vd25lci0+Y29tbSk7Ci0JCWVsc2UKLQkJCXByaW50X2RiZyhnaSwgIiAgZ2xfb3duZXIgPSAlZCAoZW5kZWQpXG4iLAotCQkJCSAgcGlkX25yKGdsLT5nbF9vd25lcl9waWQpKTsKLQl9IGVsc2UKLQkJcHJpbnRfZGJnKGdpLCAiICBnbF9vd25lciA9IC0xXG4iKTsKLQlwcmludF9kYmcoZ2ksICIgIGdsX2lwID0gJWx1XG4iLCBnbC0+Z2xfaXApOwotCXByaW50X2RiZyhnaSwgIiAgcmVxX2doID0gJXNcbiIsIChnbC0+Z2xfcmVxX2doKSA/ICJ5ZXMiIDogIm5vIik7Ci0JcHJpbnRfZGJnKGdpLCAiICBsdmJfY291bnQgPSAlZFxuIiwgYXRvbWljX3JlYWQoJmdsLT5nbF9sdmJfY291bnQpKTsKLQlwcmludF9kYmcoZ2ksICIgIG9iamVjdCA9ICVzXG4iLCAoZ2wtPmdsX29iamVjdCkgPyAieWVzIiA6ICJubyIpOwotCXByaW50X2RiZyhnaSwgIiAgcmVjbGFpbSA9ICVzXG4iLAotCQkgICAobGlzdF9lbXB0eSgmZ2wtPmdsX3JlY2xhaW0pKSA/ICJubyIgOiAieWVzIik7Ci0JaWYgKGdsLT5nbF9hc3BhY2UpCi0JCXByaW50X2RiZyhnaSwgIiAgYXNwYWNlID0gMHglcCBucnBhZ2VzID0gJWx1XG4iLCBnbC0+Z2xfYXNwYWNlLAotCQkJICAgZ2wtPmdsX2FzcGFjZS0+aV9tYXBwaW5nLT5ucnBhZ2VzKTsKLQllbHNlCi0JCXByaW50X2RiZyhnaSwgIiAgYXNwYWNlID0gbm9cbiIpOwotCXByaW50X2RiZyhnaSwgIiAgYWlsID0gJWRcbiIsIGF0b21pY19yZWFkKCZnbC0+Z2xfYWlsX2NvdW50KSk7Ci0JaWYgKGdsLT5nbF9yZXFfZ2gpIHsKLQkJZXJyb3IgPSBkdW1wX2hvbGRlcihnaSwgIlJlcXVlc3QiLCBnbC0+Z2xfcmVxX2doKTsKLQkJaWYgKGVycm9yKQotCQkJZ290byBvdXQ7Ci0JfQogCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gsICZnbC0+Z2xfaG9sZGVycywgZ2hfbGlzdCkgewotCQllcnJvciA9IGR1bXBfaG9sZGVyKGdpLCAiSG9sZGVyIiwgZ2gpOworCQllcnJvciA9IGR1bXBfaG9sZGVyKHNlcSwgZ2gpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dDsKIAl9Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgJmdsLT5nbF93YWl0ZXJzMSwgZ2hfbGlzdCkgewotCQllcnJvciA9IGR1bXBfaG9sZGVyKGdpLCAiV2FpdGVyMSIsIGdoKTsKLQkJaWYgKGVycm9yKQotCQkJZ290byBvdXQ7Ci0JfQotCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gsICZnbC0+Z2xfd2FpdGVyczMsIGdoX2xpc3QpIHsKLQkJZXJyb3IgPSBkdW1wX2hvbGRlcihnaSwgIldhaXRlcjMiLCBnaCk7Ci0JCWlmIChlcnJvcikKLQkJCWdvdG8gb3V0OwotCX0KLQlpZiAodGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykpIHsKLQkJcHJpbnRfZGJnKGdpLCAiICBEZW1vdGlvbiByZXEgdG8gc3RhdGUgJXUgKCVsbHUgdVMgYWdvKVxuIiwKLQkJCSAgZ2wtPmdsX2RlbW90ZV9zdGF0ZSwgKHVuc2lnbmVkIGxvbmcgbG9uZykKLQkJCSAgKGppZmZpZXMgLSBnbC0+Z2xfZGVtb3RlX3RpbWUpKigxMDAwMDAwL0haKSk7Ci0JfQotCWlmIChnbC0+Z2xfb3BzID09ICZnZnMyX2lub2RlX2dsb3BzICYmIGdsLT5nbF9vYmplY3QpIHsKLQkJaWYgKCF0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykgJiYKLQkJCWxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkgewotCQkJZXJyb3IgPSBkdW1wX2lub2RlKGdpLCBnbC0+Z2xfb2JqZWN0KTsKLQkJCWlmIChlcnJvcikKLQkJCQlnb3RvIG91dDsKLQkJfSBlbHNlIHsKLQkJCWVycm9yID0gLUVOT0JVRlM7Ci0JCQlwcmludF9kYmcoZ2ksICIgIElub2RlOiBidXN5XG4iKTsKLQkJfQotCX0KLQotCWVycm9yID0gMDsKLQorCWlmIChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYgZ2xvcHMtPmdvX2R1bXApCisJCWVycm9yID0gZ2xvcHMtPmdvX2R1bXAoc2VxLCBnbCk7CiBvdXQ6Ci0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIAlyZXR1cm4gZXJyb3I7CiB9CiAKK3N0YXRpYyBpbnQgZHVtcF9nbG9jayhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCWludCByZXQ7CisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJcmV0ID0gX19kdW1wX2dsb2NrKHNlcSwgZ2wpOworCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJcmV0dXJuIHJldDsKK30KKwogLyoqCiAgKiBnZnMyX2R1bXBfbG9ja3N0YXRlIC0gcHJpbnQgb3V0IHRoZSBjdXJyZW50IGxvY2tzdGF0ZQogICogQHNkcDogdGhlIGZpbGVzeXN0ZW0KQEAgLTIwODYsNyArMTgwNiw3IEBACiBtb2R1bGVfcGFyYW0oc2NhbmRfc2VjcywgdWludCwgU19JUlVHT3xTX0lXVVNSKTsKIE1PRFVMRV9QQVJNX0RFU0Moc2NhbmRfc2VjcywgIlRoZSBudW1iZXIgb2Ygc2Vjb25kcyBiZXR3ZWVuIHNjYW5kIHJ1bnMiKTsKIAotc3RhdGljIGludCBnZnMyX2dsb2NrX2l0ZXJfbmV4dChzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2kpCitzdGF0aWMgaW50IGdmczJfZ2xvY2tfaXRlcl9uZXh0KHN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpKQogewogCXN0cnVjdCBnZnMyX2dsb2NrICpnbDsKIApAQCAtMjEwNCw3ICsxODI0LDcgQEAKIAkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogCWlmIChnbCAmJiBnaS0+Z2wgPT0gTlVMTCkKIAkJZ2ktPmhhc2grKzsKLQl3aGlsZShnaS0+Z2wgPT0gTlVMTCkgeworCXdoaWxlIChnaS0+Z2wgPT0gTlVMTCkgewogCQlpZiAoZ2ktPmhhc2ggPj0gR0ZTMl9HTF9IQVNIX1NJWkUpCiAJCQlyZXR1cm4gMTsKIAkJcmVhZF9sb2NrKGdsX2xvY2tfYWRkcihnaS0+aGFzaCkpOwpAQCAtMjEyMiw1OCArMTg0MiwzNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX2l0ZXJfZnJlZShzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2kpCitzdGF0aWMgdm9pZCBnZnMyX2dsb2NrX2l0ZXJfZnJlZShzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyICpnaSkKIHsKIAlpZiAoZ2ktPmdsKQogCQlnZnMyX2dsb2NrX3B1dChnaS0+Z2wpOwotCWtmcmVlKGdpKTsKLX0KLQotc3RhdGljIHN0cnVjdCBnbG9ja19pdGVyICpnZnMyX2dsb2NrX2l0ZXJfaW5pdChzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKLXsKLQlzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2k7Ci0KLQlnaSA9IGttYWxsb2Moc2l6ZW9mICgqZ2kpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWdpKQotCQlyZXR1cm4gTlVMTDsKLQotCWdpLT5zZHAgPSBzZHA7Ci0JZ2ktPmhhc2ggPSAwOwotCWdpLT5zZXEgPSBOVUxMOwogCWdpLT5nbCA9IE5VTEw7Ci0JbWVtc2V0KGdpLT5zdHJpbmcsIDAsIHNpemVvZihnaS0+c3RyaW5nKSk7Ci0KLQlpZiAoZ2ZzMl9nbG9ja19pdGVyX25leHQoZ2kpKSB7Ci0JCWdmczJfZ2xvY2tfaXRlcl9mcmVlKGdpKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0JcmV0dXJuIGdpOwogfQogCi1zdGF0aWMgdm9pZCAqZ2ZzMl9nbG9ja19zZXFfc3RhcnQoc3RydWN0IHNlcV9maWxlICpmaWxlLCBsb2ZmX3QgKnBvcykKK3N0YXRpYyB2b2lkICpnZnMyX2dsb2NrX3NlcV9zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgbG9mZl90ICpwb3MpCiB7Ci0Jc3RydWN0IGdsb2NrX2l0ZXIgKmdpOworCXN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpID0gc2VxLT5wcml2YXRlOwogCWxvZmZfdCBuID0gKnBvczsKIAotCWdpID0gZ2ZzMl9nbG9ja19pdGVyX2luaXQoZmlsZS0+cHJpdmF0ZSk7Ci0JaWYgKCFnaSkKLQkJcmV0dXJuIE5VTEw7CisJZ2ktPmhhc2ggPSAwOwogCi0Jd2hpbGUobi0tKSB7CisJZG8gewogCQlpZiAoZ2ZzMl9nbG9ja19pdGVyX25leHQoZ2kpKSB7CiAJCQlnZnMyX2dsb2NrX2l0ZXJfZnJlZShnaSk7CiAJCQlyZXR1cm4gTlVMTDsKIAkJfQotCX0KKwl9IHdoaWxlIChuLS0pOwogCi0JcmV0dXJuIGdpOworCXJldHVybiBnaS0+Z2w7CiB9CiAKLXN0YXRpYyB2b2lkICpnZnMyX2dsb2NrX3NlcV9uZXh0KHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgdm9pZCAqaXRlcl9wdHIsCitzdGF0aWMgdm9pZCAqZ2ZzMl9nbG9ja19zZXFfbmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqaXRlcl9wdHIsCiAJCQkJIGxvZmZfdCAqcG9zKQogewotCXN0cnVjdCBnbG9ja19pdGVyICpnaSA9IGl0ZXJfcHRyOworCXN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpID0gc2VxLT5wcml2YXRlOwogCiAJKCpwb3MpKys7CiAKQEAgLTIxODIsMjQgKzE4NzgsMTggQEAKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JcmV0dXJuIGdpOworCXJldHVybiBnaS0+Z2w7CiB9CiAKLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfc2VxX3N0b3Aoc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICppdGVyX3B0cikKK3N0YXRpYyB2b2lkIGdmczJfZ2xvY2tfc2VxX3N0b3Aoc3RydWN0IHNlcV9maWxlICpzZXEsIHZvaWQgKml0ZXJfcHRyKQogewotCXN0cnVjdCBnbG9ja19pdGVyICpnaSA9IGl0ZXJfcHRyOwotCWlmIChnaSkKLQkJZ2ZzMl9nbG9ja19pdGVyX2ZyZWUoZ2kpOworCXN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpID0gc2VxLT5wcml2YXRlOworCWdmczJfZ2xvY2tfaXRlcl9mcmVlKGdpKTsKIH0KIAotc3RhdGljIGludCBnZnMyX2dsb2NrX3NlcV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgdm9pZCAqaXRlcl9wdHIpCitzdGF0aWMgaW50IGdmczJfZ2xvY2tfc2VxX3Nob3coc3RydWN0IHNlcV9maWxlICpzZXEsIHZvaWQgKml0ZXJfcHRyKQogewotCXN0cnVjdCBnbG9ja19pdGVyICpnaSA9IGl0ZXJfcHRyOwotCi0JZ2ktPnNlcSA9IGZpbGU7Ci0JZHVtcF9nbG9jayhnaSwgZ2ktPmdsKTsKLQotCXJldHVybiAwOworCXJldHVybiBkdW1wX2dsb2NrKHNlcSwgaXRlcl9wdHIpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNlcV9vcGVyYXRpb25zIGdmczJfZ2xvY2tfc2VxX29wcyA9IHsKQEAgLTIyMTEsMTcgKzE5MDEsMTQgQEAKIAogc3RhdGljIGludCBnZnMyX2RlYnVnZnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcTsKLQlpbnQgcmV0OwotCi0JcmV0ID0gc2VxX29wZW4oZmlsZSwgJmdmczJfZ2xvY2tfc2VxX29wcyk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQotCXNlcSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKLQlzZXEtPnByaXZhdGUgPSBpbm9kZS0+aV9wcml2YXRlOwotCi0JcmV0dXJuIDA7CisJaW50IHJldCA9IHNlcV9vcGVuX3ByaXZhdGUoZmlsZSwgJmdmczJfZ2xvY2tfc2VxX29wcywKKwkJCQkgICBzaXplb2Yoc3RydWN0IGdmczJfZ2xvY2tfaXRlcikpOworCWlmIChyZXQgPT0gMCkgeworCQlzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwkJc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kgPSBzZXEtPnByaXZhdGU7CisJCWdpLT5zZHAgPSBpbm9kZS0+aV9wcml2YXRlOworCX0KKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBnZnMyX2RlYnVnX2ZvcHMgPSB7CkBAIC0yMjI5LDcgKzE5MTYsNyBAQAogCS5vcGVuICAgID0gZ2ZzMl9kZWJ1Z2ZzX29wZW4sCiAJLnJlYWQgICAgPSBzZXFfcmVhZCwKIAkubGxzZWVrICA9IHNlcV9sc2VlaywKLQkucmVsZWFzZSA9IHNlcV9yZWxlYXNlCisJLnJlbGVhc2UgPSBzZXFfcmVsZWFzZV9wcml2YXRlLAogfTsKIAogaW50IGdmczJfY3JlYXRlX2RlYnVnZnNfZmlsZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKZGlmZiAtLWdpdCBhL2ZzL2dmczIvZ2xvY2suaCBiL2ZzL2dmczIvZ2xvY2suaAppbmRleCBjZGFkM2U2Li45NzFkOTJhIDEwMDY0NAotLS0gYS9mcy9nZnMyL2dsb2NrLmgKKysrIGIvZnMvZ2ZzMi9nbG9jay5oCkBAIC0yNiwxMSArMjYsOCBAQAogI2RlZmluZSBHTF9TS0lQCQkJMHgwMDAwMDEwMAogI2RlZmluZSBHTF9BVElNRQkJMHgwMDAwMDIwMAogI2RlZmluZSBHTF9OT0NBQ0hFCQkweDAwMDAwNDAwCi0jZGVmaW5lIEdMX0ZMT0NLCQkweDAwMDAwODAwCi0jZGVmaW5lIEdMX05PQ0FOQ0VMCQkweDAwMDAxMDAwCiAKICNkZWZpbmUgR0xSX1RSWUZBSUxFRAkJMTMKLSNkZWZpbmUgR0xSX0NBTkNFTEVECQkxNAogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2ZzMl9nbG9ja19pc19sb2NrZWRfYnlfbWUoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQogewpAQCAtNDEsNiArMzgsOCBAQAogCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwogCXBpZCA9IHRhc2tfcGlkKGN1cnJlbnQpOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gsICZnbC0+Z2xfaG9sZGVycywgZ2hfbGlzdCkgeworCQlpZiAoIXRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKKwkJCWJyZWFrOwogCQlpZiAoZ2gtPmdoX293bmVyX3BpZCA9PSBwaWQpCiAJCQlnb3RvIG91dDsKIAl9CkBAIC03MCw3ICs2OSw3IEBACiB7CiAJaW50IHJldDsKIAlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQlyZXQgPSB0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSB8fCAhbGlzdF9lbXB0eSgmZ2wtPmdsX3dhaXRlcnMzKTsKKwlyZXQgPSB0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKTsKIAlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCXJldHVybiByZXQ7CiB9CkBAIC05OCw2ICs5Nyw3IEBACiBpbnQgZ2ZzMl9nbG9ja19ucV9tKHVuc2lnbmVkIGludCBudW1fZ2gsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2hzKTsKIHZvaWQgZ2ZzMl9nbG9ja19kcV9tKHVuc2lnbmVkIGludCBudW1fZ2gsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2hzKTsKIHZvaWQgZ2ZzMl9nbG9ja19kcV91bmluaXRfbSh1bnNpZ25lZCBpbnQgbnVtX2doLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdocyk7Cit2b2lkIGdmczJfcHJpbnRfZGJnKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CiAKIC8qKgogICogZ2ZzMl9nbG9ja19ucV9pbml0IC0gaW50aWFsaXplIGEgaG9sZGVyIGFuZCBlbnF1ZXVlIGl0IG9uIGEgZ2xvY2sKQEAgLTEzMCwxMCArMTMwLDkgQEAKIHZvaWQgZ2ZzMl9sdmJfdW5ob2xkKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CiAKIHZvaWQgZ2ZzMl9nbG9ja19jYih2b2lkICpjYl9kYXRhLCB1bnNpZ25lZCBpbnQgdHlwZSwgdm9pZCAqZGF0YSk7Ci0KIHZvaWQgZ2ZzMl9nbG9ja19zY2hlZHVsZV9mb3JfcmVjbGFpbShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOwogdm9pZCBnZnMyX3JlY2xhaW1fZ2xvY2soc3RydWN0IGdmczJfc2JkICpzZHApOwotdm9pZCBnZnMyX2dsX2hhc2hfY2xlYXIoc3RydWN0IGdmczJfc2JkICpzZHAsIGludCB3YWl0KTsKK3ZvaWQgZ2ZzMl9nbF9oYXNoX2NsZWFyKHN0cnVjdCBnZnMyX3NiZCAqc2RwKTsKIAogaW50IF9faW5pdCBnZnMyX2dsb2NrX2luaXQodm9pZCk7CiB2b2lkIGdmczJfZ2xvY2tfZXhpdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvZ2xvcHMuYyBiL2ZzL2dmczIvZ2xvcHMuYwppbmRleCAwN2Q4NGQxNi4uYzZjMzE4YyAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9nbG9wcy5jCisrKyBiL2ZzL2dmczIvZ2xvcHMuYwpAQCAtMTMsNiArMTMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2J1ZmZlcl9oZWFkLmg+CiAjaW5jbHVkZSA8bGludXgvZ2ZzMl9vbmRpc2suaD4KICNpbmNsdWRlIDxsaW51eC9sbV9pbnRlcmZhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9iaW8uaD4KIAogI2luY2x1ZGUgImdmczIuaCIKICNpbmNsdWRlICJpbmNvcmUuaCIKQEAgLTE3MiwyNiArMTczLDYgQEAKIH0KIAogLyoqCi0gKiBpbm9kZV9nb194bW90ZV9iaCAtIEFmdGVyIHByb21vdGluZy9kZW1vdGluZyBhIGdsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBpbm9kZV9nb194bW90ZV9iaChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaCA9IGdsLT5nbF9yZXFfZ2g7Ci0Jc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKLQlpbnQgZXJyb3I7Ci0KLQlpZiAoZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmCi0JICAgICghZ2ggfHwgIShnaC0+Z2hfZmxhZ3MgJiBHTF9TS0lQKSkpIHsKLQkJZXJyb3IgPSBnZnMyX21ldGFfcmVhZChnbCwgZ2wtPmdsX25hbWUubG5fbnVtYmVyLCAwLCAmYmgpOwotCQlpZiAoIWVycm9yKQotCQkJYnJlbHNlKGJoKTsKLQl9Ci19Ci0KLS8qKgogICogaW5vZGVfZ29faW52YWwgLSBwcmVwYXJlIGEgaW5vZGUgZ2xvY2sgdG8gYmUgcmVsZWFzZWQKICAqIEBnbDogdGhlIGdsb2NrCiAgKiBAZmxhZ3M6CkBAIC0yNjcsNiArMjQ4LDI2IEBACiB9CiAKIC8qKgorICogaW5vZGVfZ29fZHVtcCAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGFuIGlub2RlCisgKiBAc2VxOiBUaGUgaXRlcmF0b3IKKyAqIEBpcDogdGhlIGlub2RlCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRU5PQlVGUyB3aGVuIHdlIHJ1biBvdXQgb2Ygc3BhY2UKKyAqLworCitzdGF0aWMgaW50IGlub2RlX2dvX2R1bXAoc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3sKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBnbC0+Z2xfb2JqZWN0OworCWlmIChpcCA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlnZnMyX3ByaW50X2RiZyhzZXEsICIgSTogbjolbGx1LyVsbHUgdDoldSBmOjB4JTA4bHhcbiIsCisJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylpcC0+aV9ub19mb3JtYWxfaW5vLAorCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpaXAtPmlfbm9fYWRkciwKKwkJICBJRjJEVChpcC0+aV9pbm9kZS5pX21vZGUpLCBpcC0+aV9mbGFncyk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgogICogcmdycF9nb19kZW1vdGVfb2sgLSBDaGVjayB0byBzZWUgaWYgaXQncyBvayB0byB1bmxvY2sgYSBSRydzIGdsb2NrCiAgKiBAZ2w6IHRoZSBnbG9jawogICoKQEAgLTMwNiw2ICszMDcsMjIgQEAKIH0KIAogLyoqCisgKiByZ3JwX2dvX2R1bXAgLSBwcmludCBvdXQgYW4gcmdycAorICogQHNlcTogVGhlIGl0ZXJhdG9yCisgKiBAZ2w6IFRoZSBnbG9jayBpbiBxdWVzdGlvbgorICoKKyAqLworCitzdGF0aWMgaW50IHJncnBfZ29fZHVtcChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCWNvbnN0IHN0cnVjdCBnZnMyX3JncnBkICpyZ2QgPSBnbC0+Z2xfb2JqZWN0OworCWlmIChyZ2QgPT0gTlVMTCkKKwkJcmV0dXJuIDA7CisJZ2ZzMl9wcmludF9kYmcoc2VxLCAiIFI6IG46JWxsdVxuIiwgKHVuc2lnbmVkIGxvbmcgbG9uZylyZ2QtPnJkX2FkZHIpOworCXJldHVybiAwOworfQorCisvKioKICAqIHRyYW5zX2dvX3N5bmMgLSBwcm9tb3RlL2RlbW90ZSB0aGUgdHJhbnNhY3Rpb24gZ2xvY2sKICAqIEBnbDogdGhlIGdsb2NrCiAgKiBAc3RhdGU6IHRoZSByZXF1ZXN0ZWQgc3RhdGUKQEAgLTMzMCw3ICszNDcsNyBAQAogICoKICAqLwogCi1zdGF0aWMgdm9pZCB0cmFuc19nb194bW90ZV9iaChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCitzdGF0aWMgaW50IHRyYW5zX2dvX3htb3RlX2JoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CiAJc3RydWN0IGdmczJfaW5vZGUgKmlwID0gR0ZTMl9JKHNkcC0+c2RfamRlc2MtPmpkX2lub2RlKTsKQEAgLTMzOCw4ICszNTUsNyBAQAogCXN0cnVjdCBnZnMyX2xvZ19oZWFkZXJfaG9zdCBoZWFkOwogCWludCBlcnJvcjsKIAotCWlmIChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYKLQkgICAgdGVzdF9iaXQoU0RGX0pPVVJOQUxfTElWRSwgJnNkcC0+c2RfZmxhZ3MpKSB7CisJaWYgKHRlc3RfYml0KFNERl9KT1VSTkFMX0xJVkUsICZzZHAtPnNkX2ZsYWdzKSkgewogCQlqX2dsLT5nbF9vcHMtPmdvX2ludmFsKGpfZ2wsIERJT19NRVRBREFUQSk7CiAKIAkJZXJyb3IgPSBnZnMyX2ZpbmRfamhlYWQoc2RwLT5zZF9qZGVzYywgJmhlYWQpOwpAQCAtMzU0LDYgKzM3MCw3IEBACiAJCQlnZnMyX2xvZ19wb2ludGVyc19pbml0KHNkcCwgaGVhZC5saF9ibGtubyk7CiAJCX0KIAl9CisJcmV0dXJuIDA7CiB9CiAKIC8qKgpAQCAtMzc1LDEyICszOTIsMTIgQEAKIAogY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyBnZnMyX2lub2RlX2dsb3BzID0gewogCS5nb194bW90ZV90aCA9IGlub2RlX2dvX3N5bmMsCi0JLmdvX3htb3RlX2JoID0gaW5vZGVfZ29feG1vdGVfYmgsCiAJLmdvX2ludmFsID0gaW5vZGVfZ29faW52YWwsCiAJLmdvX2RlbW90ZV9vayA9IGlub2RlX2dvX2RlbW90ZV9vaywKIAkuZ29fbG9jayA9IGlub2RlX2dvX2xvY2ssCisJLmdvX2R1bXAgPSBpbm9kZV9nb19kdW1wLAogCS5nb190eXBlID0gTE1fVFlQRV9JTk9ERSwKLQkuZ29fbWluX2hvbGRfdGltZSA9IEhaIC8gMTAsCisJLmdvX21pbl9ob2xkX3RpbWUgPSBIWiAvIDUsCiB9OwogCiBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zIGdmczJfcmdycF9nbG9wcyA9IHsKQEAgLTM4OSw4ICs0MDYsOSBAQAogCS5nb19kZW1vdGVfb2sgPSByZ3JwX2dvX2RlbW90ZV9vaywKIAkuZ29fbG9jayA9IHJncnBfZ29fbG9jaywKIAkuZ29fdW5sb2NrID0gcmdycF9nb191bmxvY2ssCisJLmdvX2R1bXAgPSByZ3JwX2dvX2R1bXAsCiAJLmdvX3R5cGUgPSBMTV9UWVBFX1JHUlAsCi0JLmdvX21pbl9ob2xkX3RpbWUgPSBIWiAvIDEwLAorCS5nb19taW5faG9sZF90aW1lID0gSFogLyA1LAogfTsKIAogY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyBnZnMyX3RyYW5zX2dsb3BzID0gewpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9pbmNvcmUuaCBiL2ZzL2dmczIvaW5jb3JlLmgKaW5kZXggZWFiZTVlYS4uNDQ4Njk3YSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9pbmNvcmUuaAorKysgYi9mcy9nZnMyL2luY29yZS5oCkBAIC03Nyw3ICs3Nyw2IEBACiBzdHJ1Y3QgZ2ZzMl9yZ3JwZCB7CiAJc3RydWN0IGxpc3RfaGVhZCByZF9saXN0OwkvKiBMaW5rIHdpdGggc3VwZXJibG9jayAqLwogCXN0cnVjdCBsaXN0X2hlYWQgcmRfbGlzdF9tcnU7Ci0Jc3RydWN0IGxpc3RfaGVhZCByZF9yZWNlbnQ7CS8qIFJlY2VudGx5IHVzZWQgcmdycHMgKi8KIAlzdHJ1Y3QgZ2ZzMl9nbG9jayAqcmRfZ2w7CS8qIEdsb2NrIGZvciB0aGlzIHJncnAgKi8KIAl1NjQgcmRfYWRkcjsJCQkvKiBncnAgYmxvY2sgZGlzayBhZGRyZXNzICovCiAJdTY0IHJkX2RhdGEwOwkJCS8qIGZpcnN0IGRhdGEgbG9jYXRpb24gKi8KQEAgLTEyOCwyMCArMTI3LDIwIEBACiAKIHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgewogCXZvaWQgKCpnb194bW90ZV90aCkgKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7Ci0Jdm9pZCAoKmdvX3htb3RlX2JoKSAoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKKwlpbnQgKCpnb194bW90ZV9iaCkgKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCk7CiAJdm9pZCAoKmdvX2ludmFsKSAoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBpbnQgZmxhZ3MpOwogCWludCAoKmdvX2RlbW90ZV9vaykgKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CiAJaW50ICgqZ29fbG9jaykgKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpOwogCXZvaWQgKCpnb191bmxvY2spIChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKTsKKwlpbnQgKCpnb19kdW1wKShzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKIAljb25zdCBpbnQgZ29fdHlwZTsKIAljb25zdCB1bnNpZ25lZCBsb25nIGdvX21pbl9ob2xkX3RpbWU7CiB9OwogCiBlbnVtIHsKIAkvKiBTdGF0ZXMgKi8KLQlISUZfSE9MREVSCQk9IDYsCisJSElGX0hPTERFUgkJPSA2LCAgLyogU2V0IGZvciBnaCB0aGF0ICJob2xkcyIgdGhlIGdsb2NrICovCiAJSElGX0ZJUlNUCQk9IDcsCi0JSElGX0FCT1JURUQJCT0gOSwKIAlISUZfV0FJVAkJPSAxMCwKIH07CiAKQEAgLTE1NCwyMCArMTUzLDIwIEBACiAJdW5zaWduZWQgZ2hfZmxhZ3M7CiAKIAlpbnQgZ2hfZXJyb3I7Ci0JdW5zaWduZWQgbG9uZyBnaF9pZmxhZ3M7CisJdW5zaWduZWQgbG9uZyBnaF9pZmxhZ3M7IC8qIEhJRl8uLi4gKi8KIAl1bnNpZ25lZCBsb25nIGdoX2lwOwogfTsKIAogZW51bSB7Ci0JR0xGX0xPQ0sJCT0gMSwKLQlHTEZfU1RJQ0tZCQk9IDIsCi0JR0xGX0RFTU9URQkJPSAzLAotCUdMRl9QRU5ESU5HX0RFTU9URQk9IDQsCi0JR0xGX0RJUlRZCQk9IDUsCi0JR0xGX0RFTU9URV9JTl9QUk9HUkVTUwk9IDYsCi0JR0xGX0xGTFVTSAkJPSA3LAotCUdMRl9XQUlURVJTMgkJPSA4LAotCUdMRl9DT05WX0RFQURMSwkJPSA5LAorCUdMRl9MT0NLCQkJPSAxLAorCUdMRl9TVElDS1kJCQk9IDIsCisJR0xGX0RFTU9URQkJCT0gMywKKwlHTEZfUEVORElOR19ERU1PVEUJCT0gNCwKKwlHTEZfREVNT1RFX0lOX1BST0dSRVNTCQk9IDUsCisJR0xGX0RJUlRZCQkJPSA2LAorCUdMRl9MRkxVU0gJCQk9IDcsCisJR0xGX0lOVkFMSURBVEVfSU5fUFJPR1JFU1MJPSA4LAorCUdMRl9SRVBMWV9QRU5ESU5HCQk9IDksCiB9OwogCiBzdHJ1Y3QgZ2ZzMl9nbG9jayB7CkBAIC0xNzksMTkgKzE3OCwxNCBAQAogCXNwaW5sb2NrX3QgZ2xfc3BpbjsKIAogCXVuc2lnbmVkIGludCBnbF9zdGF0ZTsKKwl1bnNpZ25lZCBpbnQgZ2xfdGFyZ2V0OworCXVuc2lnbmVkIGludCBnbF9yZXBseTsKIAl1bnNpZ25lZCBpbnQgZ2xfaGFzaDsKIAl1bnNpZ25lZCBpbnQgZ2xfZGVtb3RlX3N0YXRlOyAvKiBzdGF0ZSByZXF1ZXN0ZWQgYnkgcmVtb3RlIG5vZGUgKi8KIAl1bnNpZ25lZCBsb25nIGdsX2RlbW90ZV90aW1lOyAvKiB0aW1lIG9mIGZpcnN0IGRlbW90ZSByZXF1ZXN0ICovCi0Jc3RydWN0IHBpZCAqZ2xfb3duZXJfcGlkOwotCXVuc2lnbmVkIGxvbmcgZ2xfaXA7CiAJc3RydWN0IGxpc3RfaGVhZCBnbF9ob2xkZXJzOwotCXN0cnVjdCBsaXN0X2hlYWQgZ2xfd2FpdGVyczE7CS8qIEhJRl9NVVRFWCAqLwotCXN0cnVjdCBsaXN0X2hlYWQgZ2xfd2FpdGVyczM7CS8qIEhJRl9QUk9NT1RFICovCiAKIAljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbF9vcHM7Ci0KLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdsX3JlcV9naDsKLQogCXZvaWQgKmdsX2xvY2s7CiAJY2hhciAqZ2xfbHZiOwogCWF0b21pY190IGdsX2x2Yl9jb3VudDsKQEAgLTQyNyw3ICs0MjEsNiBAQAogCXVuc2lnbmVkIGludCBndF9xdW90YV9xdWFudHVtOyAvKiBTZWNzIGJldHdlZW4gc3luY3MgdG8gcXVvdGEgZmlsZSAqLwogCXVuc2lnbmVkIGludCBndF9hdGltZV9xdWFudHVtOyAvKiBNaW4gc2VjcyBiZXR3ZWVuIGF0aW1lIHVwZGF0ZXMgKi8KIAl1bnNpZ25lZCBpbnQgZ3RfbmV3X2ZpbGVzX2pkYXRhOwotCXVuc2lnbmVkIGludCBndF9uZXdfZmlsZXNfZGlyZWN0aW87CiAJdW5zaWduZWQgaW50IGd0X21heF9yZWFkYWhlYWQ7IC8qIE1heCBieXRlcyB0byByZWFkLWFoZWFkIGZyb20gZGlzayAqLwogCXVuc2lnbmVkIGludCBndF9zdGFsbF9zZWNzOyAvKiBEZXRlY3RzIHRyb3VibGUhICovCiAJdW5zaWduZWQgaW50IGd0X2NvbXBsYWluX3NlY3M7CkBAIC01MzQsNyArNTI3LDYgQEAKIAlzdHJ1Y3QgbXV0ZXggc2RfcmluZGV4X211dGV4OwogCXN0cnVjdCBsaXN0X2hlYWQgc2RfcmluZGV4X2xpc3Q7CiAJc3RydWN0IGxpc3RfaGVhZCBzZF9yaW5kZXhfbXJ1X2xpc3Q7Ci0Jc3RydWN0IGxpc3RfaGVhZCBzZF9yaW5kZXhfcmVjZW50X2xpc3Q7CiAJc3RydWN0IGdmczJfcmdycGQgKnNkX3JpbmRleF9mb3J3YXJkOwogCXVuc2lnbmVkIGludCBzZF9yZ3JwczsKIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9pbm9kZS5jIGIvZnMvZ2ZzMi9pbm9kZS5jCmluZGV4IDA5NDUzZDAuLjZkYTBhYjMgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvaW5vZGUuYworKysgYi9mcy9nZnMyL2lub2RlLmMKQEAgLTUwNCw3ICs1MDQsNyBAQAogCX0KIAogCWlmICghaXNfcm9vdCkgewotCQllcnJvciA9IHBlcm1pc3Npb24oZGlyLCBNQVlfRVhFQywgTlVMTCk7CisJCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKGRpciwgTUFZX0VYRUMpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dDsKIAl9CkBAIC02NjcsNyArNjY3LDcgQEAKIHsKIAlpbnQgZXJyb3I7CiAKLQllcnJvciA9IHBlcm1pc3Npb24oJmRpcC0+aV9pbm9kZSwgTUFZX1dSSVRFIHwgTUFZX0VYRUMsIE5VTEwpOworCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKCZkaXAtPmlfaW5vZGUsIE1BWV9XUklURSB8IE1BWV9FWEVDKTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIApAQCAtNzg5LDEzICs3ODksOCBAQAogCQlpZiAoKGRpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0lOSEVSSVRfSkRBVEEpIHx8CiAJCSAgICBnZnMyX3R1bmVfZ2V0KHNkcCwgZ3RfbmV3X2ZpbGVzX2pkYXRhKSkKIAkJCWRpLT5kaV9mbGFncyB8PSBjcHVfdG9fYmUzMihHRlMyX0RJRl9KREFUQSk7Ci0JCWlmICgoZGlwLT5pX2RpLmRpX2ZsYWdzICYgR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJTykgfHwKLQkJICAgIGdmczJfdHVuZV9nZXQoc2RwLCBndF9uZXdfZmlsZXNfZGlyZWN0aW8pKQotCQkJZGktPmRpX2ZsYWdzIHw9IGNwdV90b19iZTMyKEdGUzJfRElGX0RJUkVDVElPKTsKIAl9IGVsc2UgaWYgKFNfSVNESVIobW9kZSkpIHsKIAkJZGktPmRpX2ZsYWdzIHw9IGNwdV90b19iZTMyKGRpcC0+aV9kaS5kaV9mbGFncyAmCi0JCQkJCSAgICBHRlMyX0RJRl9JTkhFUklUX0RJUkVDVElPKTsKLQkJZGktPmRpX2ZsYWdzIHw9IGNwdV90b19iZTMyKGRpcC0+aV9kaS5kaV9mbGFncyAmCiAJCQkJCSAgICBHRlMyX0RJRl9JTkhFUklUX0pEQVRBKTsKIAl9CiAKQEAgLTExMzQsNyArMTEyOSw3IEBACiAJaWYgKElTX0FQUEVORCgmZGlwLT5pX2lub2RlKSkKIAkJcmV0dXJuIC1FUEVSTTsKIAotCWVycm9yID0gcGVybWlzc2lvbigmZGlwLT5pX2lub2RlLCBNQVlfV1JJVEUgfCBNQVlfRVhFQywgTlVMTCk7CisJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24oJmRpcC0+aV9pbm9kZSwgTUFZX1dSSVRFIHwgTUFZX0VYRUMpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2lub2RlLmggYi9mcy9nZnMyL2lub2RlLmgKaW5kZXggNTgwZGE0NS4uNjA3NGMyNSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9pbm9kZS5oCisrKyBiL2ZzL2dmczIvaW5vZGUuaApAQCAtNzIsNyArNzIsNiBAQAogfQogCiAKLXZvaWQgZ2ZzMl9pbm9kZV9hdHRyX2luKHN0cnVjdCBnZnMyX2lub2RlICppcCk7CiB2b2lkIGdmczJfc2V0X2lvcChzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKIHN0cnVjdCBpbm9kZSAqZ2ZzMl9pbm9kZV9sb29rdXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdW5zaWduZWQgdHlwZSwgCiAJCQkJdTY0IG5vX2FkZHIsIHU2NCBub19mb3JtYWxfaW5vLApAQCAtOTEsNiArOTAsNyBAQAogCQlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXApOwogaW50IGdmczJfdW5saW5rX29rKHN0cnVjdCBnZnMyX2lub2RlICpkaXAsIGNvbnN0IHN0cnVjdCBxc3RyICpuYW1lLAogCQkgICBjb25zdCBzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXApOworaW50IGdmczJfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzayk7CiBpbnQgZ2ZzMl9va190b19tb3ZlKHN0cnVjdCBnZnMyX2lub2RlICp0aGlzLCBzdHJ1Y3QgZ2ZzMl9pbm9kZSAqdG8pOwogaW50IGdmczJfcmVhZGxpbmtpKHN0cnVjdCBnZnMyX2lub2RlICppcCwgY2hhciAqKmJ1ZiwgdW5zaWduZWQgaW50ICpsZW4pOwogaW50IGdmczJfZ2xvY2tfbnFfYXRpbWUoc3RydWN0IGdmczJfaG9sZGVyICpnaCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcuYyBiL2ZzL2dmczIvbG9ja2luZy5jCmluZGV4IDY2M2ZlZTcuLjUyMzI0M2EgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9ja2luZy5jCisrKyBiL2ZzL2dmczIvbG9ja2luZy5jCkBAIC0yMywxMiArMjMsNTQgQEAKIAljb25zdCBzdHJ1Y3QgbG1fbG9ja29wcyAqbHdfb3BzOwogfTsKIAorc3RhdGljIGludCBub2xvY2tfbW91bnQoY2hhciAqdGFibGVfbmFtZSwgY2hhciAqaG9zdF9kYXRhLAorCQkJbG1fY2FsbGJhY2tfdCBjYiwgdm9pZCAqY2JfZGF0YSwKKwkJCXVuc2lnbmVkIGludCBtaW5fbHZiX3NpemUsIGludCBmbGFncywKKwkJCXN0cnVjdCBsbV9sb2Nrc3RydWN0ICpsb2Nrc3RydWN0LAorCQkJc3RydWN0IGtvYmplY3QgKmZza29iaik7CisKIC8qIExpc3Qgb2YgcmVnaXN0ZXJlZCBsb3ctbGV2ZWwgbG9ja2luZyBwcm90b2NvbHMuICBBIGZpbGUgc3lzdGVtIHNlbGVjdHMgb25lCiAgICBvZiB0aGVtIGJ5IG5hbWUgYXQgbW91bnQgdGltZSwgZS5nLiBsb2NrX25vbG9jaywgbG9ja19kbG0uICovCiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbG1fbG9ja29wcyBub2xvY2tfb3BzID0geworCS5sbV9wcm90b19uYW1lID0gImxvY2tfbm9sb2NrIiwKKwkubG1fbW91bnQgPSBub2xvY2tfbW91bnQsCit9OworCitzdGF0aWMgc3RydWN0IGxtaF93cmFwcGVyIG5vbG9ja19wcm90byAgPSB7CisJLmx3X2xpc3QgPSBMSVNUX0hFQURfSU5JVChub2xvY2tfcHJvdG8ubHdfbGlzdCksCisJLmx3X29wcyA9ICZub2xvY2tfb3BzLAorfTsKKwogc3RhdGljIExJU1RfSEVBRChsbWhfbGlzdCk7CiBzdGF0aWMgREVGSU5FX01VVEVYKGxtaF9sb2NrKTsKIAorc3RhdGljIGludCBub2xvY2tfbW91bnQoY2hhciAqdGFibGVfbmFtZSwgY2hhciAqaG9zdF9kYXRhLAorCQkJbG1fY2FsbGJhY2tfdCBjYiwgdm9pZCAqY2JfZGF0YSwKKwkJCXVuc2lnbmVkIGludCBtaW5fbHZiX3NpemUsIGludCBmbGFncywKKwkJCXN0cnVjdCBsbV9sb2Nrc3RydWN0ICpsb2Nrc3RydWN0LAorCQkJc3RydWN0IGtvYmplY3QgKmZza29iaikKK3sKKwljaGFyICpjOworCXVuc2lnbmVkIGludCBqaWQ7CisKKwljID0gc3Ryc3RyKGhvc3RfZGF0YSwgImppZD0iKTsKKwlpZiAoIWMpCisJCWppZCA9IDA7CisJZWxzZSB7CisJCWMgKz0gNDsKKwkJc3NjYW5mKGMsICIldSIsICZqaWQpOworCX0KKworCWxvY2tzdHJ1Y3QtPmxzX2ppZCA9IGppZDsKKwlsb2Nrc3RydWN0LT5sc19maXJzdCA9IDE7CisJbG9ja3N0cnVjdC0+bHNfbHZiX3NpemUgPSBtaW5fbHZiX3NpemU7CisJbG9ja3N0cnVjdC0+bHNfb3BzID0gJm5vbG9ja19vcHM7CisJbG9ja3N0cnVjdC0+bHNfZmxhZ3MgPSBMTV9MU0ZMQUdfTE9DQUw7CisKKwlyZXR1cm4gMDsKK30KKwogLyoqCiAgKiBnZnMyX3JlZ2lzdGVyX2xvY2twcm90byAtIFJlZ2lzdGVyIGEgbG93LWxldmVsIGxvY2tpbmcgcHJvdG9jb2wKICAqIEBwcm90bzogdGhlIHByb3RvY29sIGRlZmluaXRpb24KQEAgLTExNiw5ICsxNTgsMTMgQEAKIAlpbnQgdHJ5ID0gMDsKIAlpbnQgZXJyb3IsIGZvdW5kOwogCisKIHJldHJ5OgogCW11dGV4X2xvY2soJmxtaF9sb2NrKTsKIAorCWlmIChsaXN0X2VtcHR5KCZub2xvY2tfcHJvdG8ubHdfbGlzdCkpCisJCWxpc3RfYWRkKCZub2xvY2tfcHJvdG8ubHdfbGlzdCwgJmxtaF9saXN0KTsKKwogCWZvdW5kID0gMDsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGx3LCAmbG1oX2xpc3QsIGx3X2xpc3QpIHsKIAkJaWYgKCFzdHJjbXAobHctPmx3X29wcy0+bG1fcHJvdG9fbmFtZSwgcHJvdG9fbmFtZSkpIHsKQEAgLTEzOSw3ICsxODUsOCBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAoIXRyeV9tb2R1bGVfZ2V0KGx3LT5sd19vcHMtPmxtX293bmVyKSkgeworCWlmIChsdy0+bHdfb3BzLT5sbV9vd25lciAmJgorCSAgICAhdHJ5X21vZHVsZV9nZXQobHctPmx3X29wcy0+bG1fb3duZXIpKSB7CiAJCXRyeSA9IDA7CiAJCW11dGV4X3VubG9jaygmbG1oX2xvY2spOwogCQltc2xlZXAoMTAwMCk7CkBAIC0xNTgsNyArMjA1LDggQEAKIHZvaWQgZ2ZzMl91bm1vdW50X2xvY2twcm90byhzdHJ1Y3QgbG1fbG9ja3N0cnVjdCAqbG9ja3N0cnVjdCkKIHsKIAltdXRleF9sb2NrKCZsbWhfbG9jayk7Ci0JbG9ja3N0cnVjdC0+bHNfb3BzLT5sbV91bm1vdW50KGxvY2tzdHJ1Y3QtPmxzX2xvY2tzcGFjZSk7CisJaWYgKGxvY2tzdHJ1Y3QtPmxzX29wcy0+bG1fdW5tb3VudCkKKwkJbG9ja3N0cnVjdC0+bHNfb3BzLT5sbV91bm1vdW50KGxvY2tzdHJ1Y3QtPmxzX2xvY2tzcGFjZSk7CiAJaWYgKGxvY2tzdHJ1Y3QtPmxzX29wcy0+bG1fb3duZXIpCiAJCW1vZHVsZV9wdXQobG9ja3N0cnVjdC0+bHNfb3BzLT5sbV9vd25lcik7CiAJbXV0ZXhfdW5sb2NrKCZsbWhfbG9jayk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2suYyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9jay5jCmluZGV4IGNmN2VhOGEuLjI0ODJjOTAgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9jay5jCisrKyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9jay5jCkBAIC0xMSwyNyArMTEsMjg3IEBACiAKIHN0YXRpYyBjaGFyIGp1bmtfbHZiW0dETE1fTFZCX1NJWkVdOwogCi1zdGF0aWMgdm9pZCBxdWV1ZV9jb21wbGV0ZShzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKKworLyogY29udmVydCBkbG0gbG9jay1tb2RlIHRvIGdmcyBsb2NrLXN0YXRlICovCisKK3N0YXRpYyBzMTYgZ2RsbV9tYWtlX2xtc3RhdGUoczE2IGRsbW1vZGUpCit7CisJc3dpdGNoIChkbG1tb2RlKSB7CisJY2FzZSBETE1fTE9DS19JVjoKKwljYXNlIERMTV9MT0NLX05MOgorCQlyZXR1cm4gTE1fU1RfVU5MT0NLRUQ7CisJY2FzZSBETE1fTE9DS19FWDoKKwkJcmV0dXJuIExNX1NUX0VYQ0xVU0lWRTsKKwljYXNlIERMTV9MT0NLX0NXOgorCQlyZXR1cm4gTE1fU1RfREVGRVJSRUQ7CisJY2FzZSBETE1fTE9DS19QUjoKKwkJcmV0dXJuIExNX1NUX1NIQVJFRDsKKwl9CisJZ2RsbV9hc3NlcnQoMCwgInVua25vd24gRExNIG1vZGUgJWQiLCBkbG1tb2RlKTsKKwlyZXR1cm4gLTE7Cit9CisKKy8qIEEgbG9jayBwbGFjZWQgb24gdGhpcyBxdWV1ZSBpcyByZS1zdWJtaXR0ZWQgdG8gRExNIGFzIHNvb24gYXMgdGhlIGxvY2tfZGxtCisgICB0aHJlYWQgZ2V0cyB0byBpdC4gKi8KKworc3RhdGljIHZvaWQgcXVldWVfc3VibWl0KHN0cnVjdCBnZGxtX2xvY2sgKmxwKQogewogCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKIAotCWNsZWFyX2JpdChMRkxfQUNUSVZFLCAmbHAtPmZsYWdzKTsKLQogCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWxpc3RfYWRkX3RhaWwoJmxwLT5jbGlzdCwgJmxzLT5jb21wbGV0ZSk7CisJbGlzdF9hZGRfdGFpbCgmbHAtPmRlbGF5X2xpc3QsICZscy0+c3VibWl0KTsKIAlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwogCXdha2VfdXAoJmxzLT50aHJlYWRfd2FpdCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBnZGxtX2FzdCh2b2lkICphc3RhcmcpCitzdGF0aWMgdm9pZCB3YWtlX3VwX2FzdChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKIHsKLQlxdWV1ZV9jb21wbGV0ZShhc3RhcmcpOworCWNsZWFyX2JpdChMRkxfQVNUX1dBSVQsICZscC0+ZmxhZ3MpOworCXNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCk7CisJd2FrZV91cF9iaXQoJmxwLT5mbGFncywgTEZMX0FTVF9XQUlUKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdkbG1fYmFzdCh2b2lkICphc3RhcmcsIGludCBtb2RlKQorc3RhdGljIHZvaWQgZ2RsbV9kZWxldGVfbHAoc3RydWN0IGdkbG1fbG9jayAqbHApCit7CisJc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOworCisJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7CisJaWYgKCFsaXN0X2VtcHR5KCZscC0+ZGVsYXlfbGlzdCkpCisJCWxpc3RfZGVsX2luaXQoJmxwLT5kZWxheV9saXN0KTsKKwlscy0+YWxsX2xvY2tzX2NvdW50LS07CisJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKKworCWtmcmVlKGxwKTsKK30KKworc3RhdGljIHZvaWQgZ2RsbV9xdWV1ZV9kZWxheWVkKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQoreworCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKKworCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOworCWxpc3RfYWRkX3RhaWwoJmxwLT5kZWxheV9saXN0LCAmbHMtPmRlbGF5ZWQpOworCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIHByb2Nlc3NfY29tcGxldGUoc3RydWN0IGdkbG1fbG9jayAqbHApCit7CisJc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOworCXN0cnVjdCBsbV9hc3luY19jYiBhY2I7CisKKwltZW1zZXQoJmFjYiwgMCwgc2l6ZW9mKGFjYikpOworCisJaWYgKGxwLT5sa3NiLnNiX3N0YXR1cyA9PSAtRExNX0VDQU5DRUwpIHsKKwkJbG9nX2luZm8oImNvbXBsZXRlIGRsbSBjYW5jZWwgJXgsJWxseCBmbGFncyAlbHgiLAorCQkgCSBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCisJCQkgbHAtPmZsYWdzKTsKKworCQlscC0+cmVxID0gbHAtPmN1cjsKKwkJYWNiLmxjX3JldCB8PSBMTV9PVVRfQ0FOQ0VMRUQ7CisJCWlmIChscC0+Y3VyID09IERMTV9MT0NLX0lWKQorCQkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7CisJCWdvdG8gb3V0OworCX0KKworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX0RMTV9VTkxPQ0ssICZscC0+ZmxhZ3MpKSB7CisJCWlmIChscC0+bGtzYi5zYl9zdGF0dXMgIT0gLURMTV9FVU5MT0NLKSB7CisJCQlsb2dfaW5mbygidW5sb2NrIHNiX3N0YXR1cyAlZCAleCwlbGx4IGZsYWdzICVseCIsCisJCQkJIGxwLT5sa3NiLnNiX3N0YXR1cywgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKKwkJCQkgbHAtPmZsYWdzKTsKKwkJCXJldHVybjsKKwkJfQorCisJCWxwLT5jdXIgPSBETE1fTE9DS19JVjsKKwkJbHAtPnJlcSA9IERMTV9MT0NLX0lWOworCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKKworCQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9VTkxPQ0tfREVMRVRFLCAmbHAtPmZsYWdzKSkgeworCQkJZ2RsbV9kZWxldGVfbHAobHApOworCQkJcmV0dXJuOworCQl9CisJCWdvdG8gb3V0OworCX0KKworCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfVkFMTk9UVkFMSUQpCisJCW1lbXNldChscC0+bGtzYi5zYl9sdmJwdHIsIDAsIEdETE1fTFZCX1NJWkUpOworCisJaWYgKGxwLT5sa3NiLnNiX2ZsYWdzICYgRExNX1NCRl9BTFRNT0RFKSB7CisJCWlmIChscC0+cmVxID09IERMTV9MT0NLX1BSKQorCQkJbHAtPnJlcSA9IERMTV9MT0NLX0NXOworCQllbHNlIGlmIChscC0+cmVxID09IERMTV9MT0NLX0NXKQorCQkJbHAtPnJlcSA9IERMTV9MT0NLX1BSOworCX0KKworCS8qCisJICogQSBjYW5jZWxlZCBsb2NrIHJlcXVlc3QuICBUaGUgbG9jayB3YXMganVzdCB0YWtlbiBvZmYgdGhlIGRlbGF5ZWQKKwkgKiBsaXN0IGFuZCB3YXMgbmV2ZXIgZXZlbiBzdWJtaXR0ZWQgdG8gZGxtLgorCSAqLworCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfQ0FOQ0VMLCAmbHAtPmZsYWdzKSkgeworCQlsb2dfaW5mbygiY29tcGxldGUgaW50ZXJuYWwgY2FuY2VsICV4LCVsbHgiLAorCQkgCSBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOworCQlscC0+cmVxID0gbHAtPmN1cjsKKwkJYWNiLmxjX3JldCB8PSBMTV9PVVRfQ0FOQ0VMRUQ7CisJCWdvdG8gb3V0OworCX0KKworCS8qCisJICogQW4gZXJyb3Igb2NjdXJlZC4KKwkgKi8KKworCWlmIChscC0+bGtzYi5zYl9zdGF0dXMpIHsKKwkJLyogYSAibm9ybWFsIiBlcnJvciAqLworCQlpZiAoKGxwLT5sa3NiLnNiX3N0YXR1cyA9PSAtRUFHQUlOKSAmJgorCQkgICAgKGxwLT5sa2YgJiBETE1fTEtGX05PUVVFVUUpKSB7CisJCQlscC0+cmVxID0gbHAtPmN1cjsKKwkJCWlmIChscC0+Y3VyID09IERMTV9MT0NLX0lWKQorCQkJCWxwLT5sa3NiLnNiX2xraWQgPSAwOworCQkJZ290byBvdXQ7CisJCX0KKworCQkvKiB0aGlzIGNvdWxkIG9ubHkgaGFwcGVuIHdpdGggY2FuY2VscyBJIHRoaW5rICovCisJCWxvZ19pbmZvKCJhc3Qgc2Jfc3RhdHVzICVkICV4LCVsbHggZmxhZ3MgJWx4IiwKKwkJCSBscC0+bGtzYi5zYl9zdGF0dXMsIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKKwkJCSBscC0+ZmxhZ3MpOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBUaGlzIGlzIGFuIEFTVCBmb3IgYW4gRVgtPkVYIGNvbnZlcnNpb24gZm9yIHN5bmNfbHZiIGZyb20gR0ZTLgorCSAqLworCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfU1lOQ19MVkIsICZscC0+ZmxhZ3MpKSB7CisJCXdha2VfdXBfYXN0KGxwKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogQSBsb2NrIGhhcyBiZWVuIGRlbW90ZWQgdG8gTkwgYmVjYXVzZSBpdCBpbml0aWFsbHkgY29tcGxldGVkIGR1cmluZworCSAqIEJMT0NLX0xPQ0tTLiAgTm93IGl0IG11c3QgYmUgcmVxdWVzdGVkIGluIHRoZSBvcmlnaW5hbGx5IHJlcXVlc3RlZAorCSAqIG1vZGUuCisJICovCisKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9SRVJFUVVFU1QsICZscC0+ZmxhZ3MpKSB7CisJCWdkbG1fYXNzZXJ0KGxwLT5yZXEgPT0gRExNX0xPQ0tfTkwsICIleCwlbGx4IiwKKwkJCSAgICBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAgICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOworCQlnZGxtX2Fzc2VydChscC0+cHJldl9yZXEgPiBETE1fTE9DS19OTCwgIiV4LCVsbHgiLAorCQkJICAgIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlcik7CisKKwkJbHAtPmN1ciA9IERMTV9MT0NLX05MOworCQlscC0+cmVxID0gbHAtPnByZXZfcmVxOworCQlscC0+cHJldl9yZXEgPSBETE1fTE9DS19JVjsKKwkJbHAtPmxrZiAmPSB+RExNX0xLRl9DT05WREVBRExLOworCisJCXNldF9iaXQoTEZMX05PQ0FDSEUsICZscC0+ZmxhZ3MpOworCisJCWlmICh0ZXN0X2JpdChERkxfQkxPQ0tfTE9DS1MsICZscy0+ZmxhZ3MpICYmCisJCSAgICAhdGVzdF9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpKQorCQkJZ2RsbV9xdWV1ZV9kZWxheWVkKGxwKTsKKwkJZWxzZQorCQkJcXVldWVfc3VibWl0KGxwKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogQSByZXF1ZXN0IGlzIGdyYW50ZWQgZHVyaW5nIGRsbSByZWNvdmVyeS4gIEl0IG1heSBiZSBncmFudGVkCisJICogYmVjYXVzZSB0aGUgbG9ja3Mgb2YgYSBmYWlsZWQgbm9kZSB3ZXJlIGNsZWFyZWQuICBJbiB0aGF0IGNhc2UsCisJICogdGhlcmUgbWF5IGJlIGluY29uc2lzdGVudCBkYXRhIGJlbmVhdGggdGhpcyBsb2NrIGFuZCB3ZSBtdXN0IHdhaXQKKwkgKiBmb3IgcmVjb3ZlcnkgdG8gY29tcGxldGUgdG8gdXNlIGl0LiAgV2hlbiBnZnMgcmVjb3ZlcnkgaXMgZG9uZSB0aGlzCisJICogZ3JhbnRlZCBsb2NrIHdpbGwgYmUgY29udmVydGVkIHRvIE5MIGFuZCB0aGVuIHJlYWNxdWlyZWQgaW4gdGhpcworCSAqIGdyYW50ZWQgc3RhdGUuCisJICovCisKKwlpZiAodGVzdF9iaXQoREZMX0JMT0NLX0xPQ0tTLCAmbHMtPmZsYWdzKSAmJgorCSAgICAhdGVzdF9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpICYmCisJICAgIGxwLT5yZXEgIT0gRExNX0xPQ0tfTkwpIHsKKworCQlscC0+Y3VyID0gbHAtPnJlcTsKKwkJbHAtPnByZXZfcmVxID0gbHAtPnJlcTsKKwkJbHAtPnJlcSA9IERMTV9MT0NLX05MOworCQlscC0+bGtmIHw9IERMTV9MS0ZfQ09OVkVSVDsKKwkJbHAtPmxrZiAmPSB+RExNX0xLRl9DT05WREVBRExLOworCisJCWxvZ19kZWJ1ZygicmVyZXEgJXgsJWxseCBpZCAleCAlZCwlZCIsCisJCQkgIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCisJCQkgIGxwLT5sa3NiLnNiX2xraWQsIGxwLT5jdXIsIGxwLT5yZXEpOworCisJCXNldF9iaXQoTEZMX1JFUkVRVUVTVCwgJmxwLT5mbGFncyk7CisJCXF1ZXVlX3N1Ym1pdChscCk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIERMTSBkZW1vdGVkIHRoZSBsb2NrIHRvIE5MIGJlZm9yZSBpdCB3YXMgZ3JhbnRlZCBzbyBHRlMgbXVzdCBiZQorCSAqIHRvbGQgaXQgY2Fubm90IGNhY2hlIGRhdGEgZm9yIHRoaXMgbG9jay4KKwkgKi8KKworCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfREVNT1RFRCkKKwkJc2V0X2JpdChMRkxfTk9DQUNIRSwgJmxwLT5mbGFncyk7CisKK291dDoKKwkvKgorCSAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgbG9ja19kbG0gbG9jaworCSAqLworCisJaWYgKHRlc3RfYml0KExGTF9JTkxPQ0ssICZscC0+ZmxhZ3MpKSB7CisJCWNsZWFyX2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncyk7CisJCWxwLT5jdXIgPSBscC0+cmVxOworCQl3YWtlX3VwX2FzdChscCk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIE5vcm1hbCBjb21wbGV0aW9uIG9mIGEgbG9jayByZXF1ZXN0LiAgVGVsbCBHRlMgaXQgbm93IGhhcyB0aGUgbG9jay4KKwkgKi8KKworCWNsZWFyX2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncyk7CisJbHAtPmN1ciA9IGxwLT5yZXE7CisKKwlhY2IubGNfbmFtZSA9IGxwLT5sb2NrbmFtZTsKKwlhY2IubGNfcmV0IHw9IGdkbG1fbWFrZV9sbXN0YXRlKGxwLT5jdXIpOworCisJbHMtPmZzY2IobHMtPnNkcCwgTE1fQ0JfQVNZTkMsICZhY2IpOworfQorCitzdGF0aWMgdm9pZCBnZGxtX2FzdCh2b2lkICphc3RhcmcpCiB7CiAJc3RydWN0IGdkbG1fbG9jayAqbHAgPSBhc3Rhcmc7CisJY2xlYXJfYml0KExGTF9BQ1RJVkUsICZscC0+ZmxhZ3MpOworCXByb2Nlc3NfY29tcGxldGUobHApOworfQorCitzdGF0aWMgdm9pZCBwcm9jZXNzX2Jsb2NraW5nKHN0cnVjdCBnZGxtX2xvY2sgKmxwLCBpbnQgYmFzdF9tb2RlKQorewogCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKKwl1bnNpZ25lZCBpbnQgY2IgPSAwOworCisJc3dpdGNoIChnZGxtX21ha2VfbG1zdGF0ZShiYXN0X21vZGUpKSB7CisJY2FzZSBMTV9TVF9FWENMVVNJVkU6CisJCWNiID0gTE1fQ0JfTkVFRF9FOworCQlicmVhazsKKwljYXNlIExNX1NUX0RFRkVSUkVEOgorCQljYiA9IExNX0NCX05FRURfRDsKKwkJYnJlYWs7CisJY2FzZSBMTV9TVF9TSEFSRUQ6CisJCWNiID0gTE1fQ0JfTkVFRF9TOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlnZGxtX2Fzc2VydCgwLCAidW5rbm93biBiYXN0IG1vZGUgJXUiLCBiYXN0X21vZGUpOworCX0KKworCWxzLT5mc2NiKGxzLT5zZHAsIGNiLCAmbHAtPmxvY2tuYW1lKTsKK30KKworCitzdGF0aWMgdm9pZCBnZGxtX2Jhc3Qodm9pZCAqYXN0YXJnLCBpbnQgbW9kZSkKK3sKKwlzdHJ1Y3QgZ2RsbV9sb2NrICpscCA9IGFzdGFyZzsKIAogCWlmICghbW9kZSkgewogCQlwcmludGsoS0VSTl9JTkZPICJsb2NrX2RsbTogYmFzdCBtb2RlIHplcm8gJXgsJWxseFxuIiwKQEAgLTQwLDIzICszMDAsNyBAQAogCQlyZXR1cm47CiAJfQogCi0Jc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JaWYgKCFscC0+YmFzdF9tb2RlKSB7Ci0JCWxpc3RfYWRkX3RhaWwoJmxwLT5ibGlzdCwgJmxzLT5ibG9ja2luZyk7Ci0JCWxwLT5iYXN0X21vZGUgPSBtb2RlOwotCX0gZWxzZSBpZiAobHAtPmJhc3RfbW9kZSA8IG1vZGUpCi0JCWxwLT5iYXN0X21vZGUgPSBtb2RlOwotCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0Jd2FrZV91cCgmbHMtPnRocmVhZF93YWl0KTsKLX0KLQotdm9pZCBnZGxtX3F1ZXVlX2RlbGF5ZWQoc3RydWN0IGdkbG1fbG9jayAqbHApCi17Ci0Jc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwotCi0Jc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JbGlzdF9hZGRfdGFpbCgmbHAtPmRlbGF5X2xpc3QsICZscy0+ZGVsYXllZCk7Ci0Jc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKKwlwcm9jZXNzX2Jsb2NraW5nKGxwLCBtb2RlKTsKIH0KIAogLyogY29udmVydCBnZnMgbG9jay1zdGF0ZSB0byBkbG0gbG9jay1tb2RlICovCkBAIC03NywyNCArMzIxLDYgQEAKIAlyZXR1cm4gLTE7CiB9CiAKLS8qIGNvbnZlcnQgZGxtIGxvY2stbW9kZSB0byBnZnMgbG9jay1zdGF0ZSAqLwotCi1zMTYgZ2RsbV9tYWtlX2xtc3RhdGUoczE2IGRsbW1vZGUpCi17Ci0Jc3dpdGNoIChkbG1tb2RlKSB7Ci0JY2FzZSBETE1fTE9DS19JVjoKLQljYXNlIERMTV9MT0NLX05MOgotCQlyZXR1cm4gTE1fU1RfVU5MT0NLRUQ7Ci0JY2FzZSBETE1fTE9DS19FWDoKLQkJcmV0dXJuIExNX1NUX0VYQ0xVU0lWRTsKLQljYXNlIERMTV9MT0NLX0NXOgotCQlyZXR1cm4gTE1fU1RfREVGRVJSRUQ7Ci0JY2FzZSBETE1fTE9DS19QUjoKLQkJcmV0dXJuIExNX1NUX1NIQVJFRDsKLQl9Ci0JZ2RsbV9hc3NlcnQoMCwgInVua25vd24gRExNIG1vZGUgJWQiLCBkbG1tb2RlKTsKLQlyZXR1cm4gLTE7Ci19CiAKIC8qIHZlcmlmeSBhZ3JlZW1lbnQgd2l0aCBHRlMgb24gdGhlIGN1cnJlbnQgbG9jayBzdGF0ZSwgTkI6IERMTV9MT0NLX05MIGFuZAogICAgRExNX0xPQ0tfSVYgYXJlIGJvdGggY29uc2lkZXJlZCBMTV9TVF9VTkxPQ0tFRCBieSBHRlMuICovCkBAIC0xMzQsMTQgKzM2MCw2IEBACiAKIAlpZiAobHAtPmxrc2Iuc2JfbGtpZCAhPSAwKSB7CiAJCWxrZiB8PSBETE1fTEtGX0NPTlZFUlQ7Ci0KLQkJLyogQ29udmVyc2lvbiBkZWFkbG9jayBhdm9pZGFuY2UgYnkgRExNICovCi0KLQkJaWYgKCEobHAtPmxzLT5mc2ZsYWdzICYgTE1fTUZMQUdfQ09OVl9OT0RST1ApICYmCi0JCSAgICAhdGVzdF9iaXQoTEZMX0ZPUkNFX1BST01PVEUsICZscC0+ZmxhZ3MpICYmCi0JCSAgICAhKGxrZiAmIERMTV9MS0ZfTk9RVUVVRSkgJiYKLQkJICAgIGN1ciA+IERMTV9MT0NLX05MICYmIHJlcSA+IERMTV9MT0NLX05MICYmIGN1ciAhPSByZXEpCi0JCQlsa2YgfD0gRExNX0xLRl9DT05WREVBRExLOwogCX0KIAogCWlmIChscC0+bHZiKQpAQCAtMTczLDE0ICszOTEsOSBAQAogCW1ha2Vfc3RybmFtZShuYW1lLCAmbHAtPnN0cm5hbWUpOwogCWxwLT5scyA9IGxzOwogCWxwLT5jdXIgPSBETE1fTE9DS19JVjsKLQlscC0+bHZiID0gTlVMTDsKLQlscC0+aG9sZF9udWxsID0gTlVMTDsKLQlJTklUX0xJU1RfSEVBRCgmbHAtPmNsaXN0KTsKLQlJTklUX0xJU1RfSEVBRCgmbHAtPmJsaXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmbHAtPmRlbGF5X2xpc3QpOwogCiAJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JbGlzdF9hZGQoJmxwLT5hbGxfbGlzdCwgJmxzLT5hbGxfbG9ja3MpOwogCWxzLT5hbGxfbG9ja3NfY291bnQrKzsKIAlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwogCkBAIC0xODgsMjYgKzQwMSw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgZ2RsbV9kZWxldGVfbHAoc3RydWN0IGdkbG1fbG9jayAqbHApCi17Ci0Jc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwotCi0Jc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JaWYgKCFsaXN0X2VtcHR5KCZscC0+Y2xpc3QpKQotCQlsaXN0X2RlbF9pbml0KCZscC0+Y2xpc3QpOwotCWlmICghbGlzdF9lbXB0eSgmbHAtPmJsaXN0KSkKLQkJbGlzdF9kZWxfaW5pdCgmbHAtPmJsaXN0KTsKLQlpZiAoIWxpc3RfZW1wdHkoJmxwLT5kZWxheV9saXN0KSkKLQkJbGlzdF9kZWxfaW5pdCgmbHAtPmRlbGF5X2xpc3QpOwotCWdkbG1fYXNzZXJ0KCFsaXN0X2VtcHR5KCZscC0+YWxsX2xpc3QpLCAiJXgsJWxseCIsIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKLQlsaXN0X2RlbF9pbml0KCZscC0+YWxsX2xpc3QpOwotCWxzLT5hbGxfbG9ja3NfY291bnQtLTsKLQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwotCi0Ja2ZyZWUobHApOwotfQotCiBpbnQgZ2RsbV9nZXRfbG9jayh2b2lkICpsb2Nrc3BhY2UsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKIAkJICB2b2lkICoqbG9ja3ApCiB7CkBAIC0yNjEsNyArNDU0LDcgQEAKIAogCWlmICgoZXJyb3IgPT0gLUVBR0FJTikgJiYgKGxwLT5sa2YgJiBETE1fTEtGX05PUVVFVUUpKSB7CiAJCWxwLT5sa3NiLnNiX3N0YXR1cyA9IC1FQUdBSU47Ci0JCXF1ZXVlX2NvbXBsZXRlKGxwKTsKKwkJZ2RsbV9hc3QobHApOwogCQllcnJvciA9IDA7CiAJfQogCkBAIC0zMDgsNiArNTAxLDEyIEBACiB7CiAJc3RydWN0IGdkbG1fbG9jayAqbHAgPSBsb2NrOwogCisJaWYgKHJlcV9zdGF0ZSA9PSBMTV9TVF9VTkxPQ0tFRCkKKwkJcmV0dXJuIGdkbG1fdW5sb2NrKGxvY2ssIGN1cl9zdGF0ZSk7CisKKwlpZiAocmVxX3N0YXRlID09IExNX1NUX1VOTE9DS0VEKQorCQlyZXR1cm4gZ2RsbV91bmxvY2sobG9jaywgY3VyX3N0YXRlKTsKKwogCWNsZWFyX2JpdChMRkxfRExNX0NBTkNFTCwgJmxwLT5mbGFncyk7CiAJaWYgKGZsYWdzICYgTE1fRkxBR19OT0VYUCkKIAkJc2V0X2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncyk7CkBAIC0zNTEsNyArNTUwLDcgQEAKIAlpZiAoZGVsYXlfbGlzdCkgewogCQlzZXRfYml0KExGTF9DQU5DRUwsICZscC0+ZmxhZ3MpOwogCQlzZXRfYml0KExGTF9BQ1RJVkUsICZscC0+ZmxhZ3MpOwotCQlxdWV1ZV9jb21wbGV0ZShscCk7CisJCWdkbG1fYXN0KGxwKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtNTA3LDIyICs3MDYsMyBAQAogCXdha2VfdXAoJmxzLT50aHJlYWRfd2FpdCk7CiB9CiAKLWludCBnZGxtX3JlbGVhc2VfYWxsX2xvY2tzKHN0cnVjdCBnZGxtX2xzICpscykKLXsKLQlzdHJ1Y3QgZ2RsbV9sb2NrICpscCwgKnNhZmU7Ci0JaW50IGNvdW50ID0gMDsKLQotCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShscCwgc2FmZSwgJmxzLT5hbGxfbG9ja3MsIGFsbF9saXN0KSB7Ci0JCWxpc3RfZGVsX2luaXQoJmxwLT5hbGxfbGlzdCk7Ci0KLQkJaWYgKGxwLT5sdmIgJiYgbHAtPmx2YiAhPSBqdW5rX2x2YikKLQkJCWtmcmVlKGxwLT5sdmIpOwotCQlrZnJlZShscCk7Ci0JCWNvdW50Kys7Ci0JfQotCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0KLQlyZXR1cm4gY291bnQ7Ci19Ci0KZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9ja19kbG0uaCBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9ja19kbG0uaAppbmRleCBhMjQzY2Y2Li4zYzk4ZTdjIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2tfZGxtLmgKKysrIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrX2RsbS5oCkBAIC03MiwxOSArNzIsMTIgQEAKIAlpbnQJCQlyZWNvdmVyX2ppZF9kb25lOwogCWludAkJCXJlY292ZXJfamlkX3N0YXR1czsKIAlzcGlubG9ja190CQlhc3luY19sb2NrOwotCXN0cnVjdCBsaXN0X2hlYWQJY29tcGxldGU7Ci0Jc3RydWN0IGxpc3RfaGVhZAlibG9ja2luZzsKIAlzdHJ1Y3QgbGlzdF9oZWFkCWRlbGF5ZWQ7CiAJc3RydWN0IGxpc3RfaGVhZAlzdWJtaXQ7Ci0Jc3RydWN0IGxpc3RfaGVhZAlhbGxfbG9ja3M7CiAJdTMyCQlhbGxfbG9ja3NfY291bnQ7CiAJd2FpdF9xdWV1ZV9oZWFkX3QJd2FpdF9jb250cm9sOwotCXN0cnVjdCB0YXNrX3N0cnVjdAkqdGhyZWFkMTsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRocmVhZDI7CisJc3RydWN0IHRhc2tfc3RydWN0CSp0aHJlYWQ7CiAJd2FpdF9xdWV1ZV9oZWFkX3QJdGhyZWFkX3dhaXQ7Ci0JdW5zaWduZWQgbG9uZwkJZHJvcF90aW1lOwotCWludAkJCWRyb3BfbG9ja3NfY291bnQ7Ci0JaW50CQkJZHJvcF9sb2Nrc19wZXJpb2Q7CiB9OwogCiBlbnVtIHsKQEAgLTExNywxMiArMTEwLDcgQEAKIAl1MzIJCQlsa2Y7CQkvKiBkbG0gZmxhZ3MgRExNX0xLRl8gKi8KIAl1bnNpZ25lZCBsb25nCQlmbGFnczsJCS8qIGxvY2tfZGxtIGZsYWdzIExGTF8gKi8KIAotCWludAkJCWJhc3RfbW9kZTsJLyogcHJvdGVjdGVkIGJ5IGFzeW5jX2xvY2sgKi8KLQotCXN0cnVjdCBsaXN0X2hlYWQJY2xpc3Q7CQkvKiBjb21wbGV0ZSAqLwotCXN0cnVjdCBsaXN0X2hlYWQJYmxpc3Q7CQkvKiBibG9ja2luZyAqLwogCXN0cnVjdCBsaXN0X2hlYWQJZGVsYXlfbGlzdDsJLyogZGVsYXllZCAqLwotCXN0cnVjdCBsaXN0X2hlYWQJYWxsX2xpc3Q7CS8qIGFsbCBsb2NrcyBmb3IgdGhlIGZzICovCiAJc3RydWN0IGdkbG1fbG9jawkqaG9sZF9udWxsOwkvKiBOTCBsb2NrIGZvciBob2xkX2x2YiAqLwogfTsKIApAQCAtMTU5LDExICsxNDcsNyBAQAogCiAvKiBsb2NrLmMgKi8KIAotczE2IGdkbG1fbWFrZV9sbXN0YXRlKHMxNik7Ci12b2lkIGdkbG1fcXVldWVfZGVsYXllZChzdHJ1Y3QgZ2RsbV9sb2NrICopOwogdm9pZCBnZGxtX3N1Ym1pdF9kZWxheWVkKHN0cnVjdCBnZGxtX2xzICopOwotaW50IGdkbG1fcmVsZWFzZV9hbGxfbG9ja3Moc3RydWN0IGdkbG1fbHMgKik7Ci12b2lkIGdkbG1fZGVsZXRlX2xwKHN0cnVjdCBnZGxtX2xvY2sgKik7CiB1bnNpZ25lZCBpbnQgZ2RsbV9kb19sb2NrKHN0cnVjdCBnZGxtX2xvY2sgKik7CiAKIGludCBnZGxtX2dldF9sb2NrKHZvaWQgKiwgc3RydWN0IGxtX2xvY2tuYW1lICosIHZvaWQgKiopOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9tb3VudC5jIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9tb3VudC5jCmluZGV4IDQ3MGJkZjYuLjA5ZDc4YzIgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9ja2luZy9kbG0vbW91bnQuYworKysgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL21vdW50LmMKQEAgLTIyLDIyICsyMiwxNCBAQAogCWlmICghbHMpCiAJCXJldHVybiBOVUxMOwogCi0JbHMtPmRyb3BfbG9ja3NfY291bnQgPSBHRExNX0RST1BfQ09VTlQ7Ci0JbHMtPmRyb3BfbG9ja3NfcGVyaW9kID0gR0RMTV9EUk9QX1BFUklPRDsKIAlscy0+ZnNjYiA9IGNiOwogCWxzLT5zZHAgPSBzZHA7CiAJbHMtPmZzZmxhZ3MgPSBmbGFnczsKIAlzcGluX2xvY2tfaW5pdCgmbHMtPmFzeW5jX2xvY2spOwotCUlOSVRfTElTVF9IRUFEKCZscy0+Y29tcGxldGUpOwotCUlOSVRfTElTVF9IRUFEKCZscy0+YmxvY2tpbmcpOwogCUlOSVRfTElTVF9IRUFEKCZscy0+ZGVsYXllZCk7CiAJSU5JVF9MSVNUX0hFQUQoJmxzLT5zdWJtaXQpOwotCUlOSVRfTElTVF9IRUFEKCZscy0+YWxsX2xvY2tzKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZscy0+dGhyZWFkX3dhaXQpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmxzLT53YWl0X2NvbnRyb2wpOwotCWxzLT50aHJlYWQxID0gTlVMTDsKLQlscy0+dGhyZWFkMiA9IE5VTEw7Ci0JbHMtPmRyb3BfdGltZSA9IGppZmZpZXM7CiAJbHMtPmppZCA9IC0xOwogCiAJc3RybmNweShidWYsIHRhYmxlX25hbWUsIDI1Nik7CkBAIC0xODAsNyArMTcyLDYgQEAKIHN0YXRpYyB2b2lkIGdkbG1fdW5tb3VudCh2b2lkICpsb2Nrc3BhY2UpCiB7CiAJc3RydWN0IGdkbG1fbHMgKmxzID0gbG9ja3NwYWNlOwotCWludCBydjsKIAogCWxvZ19kZWJ1ZygidW5tb3VudCBmbGFncyAlbHgiLCBscy0+ZmxhZ3MpOwogCkBAIC0xOTQsOSArMTg1LDcgQEAKIAlnZGxtX2tvYmplY3RfcmVsZWFzZShscyk7CiAJZGxtX3JlbGVhc2VfbG9ja3NwYWNlKGxzLT5kbG1fbG9ja3NwYWNlLCAyKTsKIAlnZGxtX3JlbGVhc2VfdGhyZWFkcyhscyk7Ci0JcnYgPSBnZGxtX3JlbGVhc2VfYWxsX2xvY2tzKGxzKTsKLQlpZiAocnYpCi0JCWxvZ19pbmZvKCJnZGxtX3VubW91bnQ6ICVkIHN0cmF5IGxvY2tzIGZyZWVkIiwgcnYpOworCUJVR19PTihscy0+YWxsX2xvY2tzX2NvdW50KTsKIG91dDoKIAlrZnJlZShscyk7CiB9CkBAIC0yMzIsNyArMjIxLDYgQEAKIAogCWRsbV9yZWxlYXNlX2xvY2tzcGFjZShscy0+ZGxtX2xvY2tzcGFjZSwgMik7CiAJZ2RsbV9yZWxlYXNlX3RocmVhZHMobHMpOwotCWdkbG1fcmVsZWFzZV9hbGxfbG9ja3MobHMpOwogCWdkbG1fa29iamVjdF9yZWxlYXNlKGxzKTsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9zeXNmcy5jIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9zeXNmcy5jCmluZGV4IGE0ZmYyNzEuLjRlYzU3MWMgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9ja2luZy9kbG0vc3lzZnMuYworKysgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL3N5c2ZzLmMKQEAgLTExNCwxNyArMTE0LDYgQEAKIAlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgbHMtPnJlY292ZXJfamlkX3N0YXR1cyk7CiB9CiAKLXN0YXRpYyBzc2l6ZV90IGRyb3BfY291bnRfc2hvdyhzdHJ1Y3QgZ2RsbV9scyAqbHMsIGNoYXIgKmJ1ZikKLXsKLQlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgbHMtPmRyb3BfbG9ja3NfY291bnQpOwotfQotCi1zdGF0aWMgc3NpemVfdCBkcm9wX2NvdW50X3N0b3JlKHN0cnVjdCBnZGxtX2xzICpscywgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQotewotCWxzLT5kcm9wX2xvY2tzX2NvdW50ID0gc2ltcGxlX3N0cnRvbChidWYsIE5VTEwsIDApOwotCXJldHVybiBsZW47Ci19Ci0KIHN0cnVjdCBnZGxtX2F0dHIgewogCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjsKIAlzc2l6ZV90ICgqc2hvdykoc3RydWN0IGdkbG1fbHMgKiwgY2hhciAqKTsKQEAgLTE0NCw3ICsxMzMsNiBAQAogR0RMTV9BVFRSKHJlY292ZXIsICAgICAgICAwNjQ0LCByZWNvdmVyX3Nob3csICAgICAgICByZWNvdmVyX3N0b3JlKTsKIEdETE1fQVRUUihyZWNvdmVyX2RvbmUsICAgMDQ0NCwgcmVjb3Zlcl9kb25lX3Nob3csICAgTlVMTCk7CiBHRExNX0FUVFIocmVjb3Zlcl9zdGF0dXMsIDA0NDQsIHJlY292ZXJfc3RhdHVzX3Nob3csIE5VTEwpOwotR0RMTV9BVFRSKGRyb3BfY291bnQsICAgICAwNjQ0LCBkcm9wX2NvdW50X3Nob3csICAgICBkcm9wX2NvdW50X3N0b3JlKTsKIAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmdkbG1fYXR0cnNbXSA9IHsKIAkmZ2RsbV9hdHRyX3Byb3RvX25hbWUuYXR0ciwKQEAgLTE1Nyw3ICsxNDUsNiBAQAogCSZnZGxtX2F0dHJfcmVjb3Zlci5hdHRyLAogCSZnZGxtX2F0dHJfcmVjb3Zlcl9kb25lLmF0dHIsCiAJJmdkbG1fYXR0cl9yZWNvdmVyX3N0YXR1cy5hdHRyLAotCSZnZGxtX2F0dHJfZHJvcF9jb3VudC5hdHRyLAogCU5VTEwsCiB9OwogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvZGxtL3RocmVhZC5jIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS90aHJlYWQuYwppbmRleCBlNTNkYjZmLi4zODgyM2VmIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvZGxtL3RocmVhZC5jCisrKyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vdGhyZWFkLmMKQEAgLTksMzY3ICs5LDYwIEBACiAKICNpbmNsdWRlICJsb2NrX2RsbS5oIgogCi0vKiBBIGxvY2sgcGxhY2VkIG9uIHRoaXMgcXVldWUgaXMgcmUtc3VibWl0dGVkIHRvIERMTSBhcyBzb29uIGFzIHRoZSBsb2NrX2RsbQotICAgdGhyZWFkIGdldHMgdG8gaXQuICovCi0KLXN0YXRpYyB2b2lkIHF1ZXVlX3N1Ym1pdChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKLXsKLQlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7Ci0KLQlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlsaXN0X2FkZF90YWlsKCZscC0+ZGVsYXlfbGlzdCwgJmxzLT5zdWJtaXQpOwotCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0Jd2FrZV91cCgmbHMtPnRocmVhZF93YWl0KTsKLX0KLQotc3RhdGljIHZvaWQgcHJvY2Vzc19ibG9ja2luZyhzdHJ1Y3QgZ2RsbV9sb2NrICpscCwgaW50IGJhc3RfbW9kZSkKLXsKLQlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7Ci0JdW5zaWduZWQgaW50IGNiID0gMDsKLQotCXN3aXRjaCAoZ2RsbV9tYWtlX2xtc3RhdGUoYmFzdF9tb2RlKSkgewotCWNhc2UgTE1fU1RfRVhDTFVTSVZFOgotCQljYiA9IExNX0NCX05FRURfRTsKLQkJYnJlYWs7Ci0JY2FzZSBMTV9TVF9ERUZFUlJFRDoKLQkJY2IgPSBMTV9DQl9ORUVEX0Q7Ci0JCWJyZWFrOwotCWNhc2UgTE1fU1RfU0hBUkVEOgotCQljYiA9IExNX0NCX05FRURfUzsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJZ2RsbV9hc3NlcnQoMCwgInVua25vd24gYmFzdCBtb2RlICV1IiwgbHAtPmJhc3RfbW9kZSk7Ci0JfQotCi0JbHMtPmZzY2IobHMtPnNkcCwgY2IsICZscC0+bG9ja25hbWUpOwotfQotCi1zdGF0aWMgdm9pZCB3YWtlX3VwX2FzdChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKLXsKLQljbGVhcl9iaXQoTEZMX0FTVF9XQUlULCAmbHAtPmZsYWdzKTsKLQlzbXBfbWJfX2FmdGVyX2NsZWFyX2JpdCgpOwotCXdha2VfdXBfYml0KCZscC0+ZmxhZ3MsIExGTF9BU1RfV0FJVCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHByb2Nlc3NfY29tcGxldGUoc3RydWN0IGdkbG1fbG9jayAqbHApCi17Ci0Jc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwotCXN0cnVjdCBsbV9hc3luY19jYiBhY2I7Ci0JczE2IHByZXZfbW9kZSA9IGxwLT5jdXI7Ci0KLQltZW1zZXQoJmFjYiwgMCwgc2l6ZW9mKGFjYikpOwotCi0JaWYgKGxwLT5sa3NiLnNiX3N0YXR1cyA9PSAtRExNX0VDQU5DRUwpIHsKLQkJbG9nX2luZm8oImNvbXBsZXRlIGRsbSBjYW5jZWwgJXgsJWxseCBmbGFncyAlbHgiLAotCQkgCSBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCi0JCQkgbHAtPmZsYWdzKTsKLQotCQlscC0+cmVxID0gbHAtPmN1cjsKLQkJYWNiLmxjX3JldCB8PSBMTV9PVVRfQ0FOQ0VMRUQ7Ci0JCWlmIChscC0+Y3VyID09IERMTV9MT0NLX0lWKQotCQkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7Ci0JCWdvdG8gb3V0OwotCX0KLQotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX0RMTV9VTkxPQ0ssICZscC0+ZmxhZ3MpKSB7Ci0JCWlmIChscC0+bGtzYi5zYl9zdGF0dXMgIT0gLURMTV9FVU5MT0NLKSB7Ci0JCQlsb2dfaW5mbygidW5sb2NrIHNiX3N0YXR1cyAlZCAleCwlbGx4IGZsYWdzICVseCIsCi0JCQkJIGxwLT5sa3NiLnNiX3N0YXR1cywgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKLQkJCQkgbHAtPmZsYWdzKTsKLQkJCXJldHVybjsKLQkJfQotCi0JCWxwLT5jdXIgPSBETE1fTE9DS19JVjsKLQkJbHAtPnJlcSA9IERMTV9MT0NLX0lWOwotCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKLQotCQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9VTkxPQ0tfREVMRVRFLCAmbHAtPmZsYWdzKSkgewotCQkJZ2RsbV9kZWxldGVfbHAobHApOwotCQkJcmV0dXJuOwotCQl9Ci0JCWdvdG8gb3V0OwotCX0KLQotCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfVkFMTk9UVkFMSUQpCi0JCW1lbXNldChscC0+bGtzYi5zYl9sdmJwdHIsIDAsIEdETE1fTFZCX1NJWkUpOwotCi0JaWYgKGxwLT5sa3NiLnNiX2ZsYWdzICYgRExNX1NCRl9BTFRNT0RFKSB7Ci0JCWlmIChscC0+cmVxID09IERMTV9MT0NLX1BSKQotCQkJbHAtPnJlcSA9IERMTV9MT0NLX0NXOwotCQllbHNlIGlmIChscC0+cmVxID09IERMTV9MT0NLX0NXKQotCQkJbHAtPnJlcSA9IERMTV9MT0NLX1BSOwotCX0KLQotCS8qCi0JICogQSBjYW5jZWxlZCBsb2NrIHJlcXVlc3QuICBUaGUgbG9jayB3YXMganVzdCB0YWtlbiBvZmYgdGhlIGRlbGF5ZWQKLQkgKiBsaXN0IGFuZCB3YXMgbmV2ZXIgZXZlbiBzdWJtaXR0ZWQgdG8gZGxtLgotCSAqLwotCi0JaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfQ0FOQ0VMLCAmbHAtPmZsYWdzKSkgewotCQlsb2dfaW5mbygiY29tcGxldGUgaW50ZXJuYWwgY2FuY2VsICV4LCVsbHgiLAotCQkgCSBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOwotCQlscC0+cmVxID0gbHAtPmN1cjsKLQkJYWNiLmxjX3JldCB8PSBMTV9PVVRfQ0FOQ0VMRUQ7Ci0JCWdvdG8gb3V0OwotCX0KLQotCS8qCi0JICogQW4gZXJyb3Igb2NjdXJlZC4KLQkgKi8KLQotCWlmIChscC0+bGtzYi5zYl9zdGF0dXMpIHsKLQkJLyogYSAibm9ybWFsIiBlcnJvciAqLwotCQlpZiAoKGxwLT5sa3NiLnNiX3N0YXR1cyA9PSAtRUFHQUlOKSAmJgotCQkgICAgKGxwLT5sa2YgJiBETE1fTEtGX05PUVVFVUUpKSB7Ci0JCQlscC0+cmVxID0gbHAtPmN1cjsKLQkJCWlmIChscC0+Y3VyID09IERMTV9MT0NLX0lWKQotCQkJCWxwLT5sa3NiLnNiX2xraWQgPSAwOwotCQkJZ290byBvdXQ7Ci0JCX0KLQotCQkvKiB0aGlzIGNvdWxkIG9ubHkgaGFwcGVuIHdpdGggY2FuY2VscyBJIHRoaW5rICovCi0JCWxvZ19pbmZvKCJhc3Qgc2Jfc3RhdHVzICVkICV4LCVsbHggZmxhZ3MgJWx4IiwKLQkJCSBscC0+bGtzYi5zYl9zdGF0dXMsIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKLQkJCSBscC0+ZmxhZ3MpOwotCQlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzID09IC1FREVBRExPQ0sgJiYKLQkJICAgIGxwLT5scy0+ZnNmbGFncyAmIExNX01GTEFHX0NPTlZfTk9EUk9QKSB7Ci0JCQlscC0+cmVxID0gbHAtPmN1cjsKLQkJCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NPTlZfREVBRExLOwotCQkJaWYgKGxwLT5jdXIgPT0gRExNX0xPQ0tfSVYpCi0JCQkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7Ci0JCQlnb3RvIG91dDsKLQkJfSBlbHNlCi0JCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBUaGlzIGlzIGFuIEFTVCBmb3IgYW4gRVgtPkVYIGNvbnZlcnNpb24gZm9yIHN5bmNfbHZiIGZyb20gR0ZTLgotCSAqLwotCi0JaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfU1lOQ19MVkIsICZscC0+ZmxhZ3MpKSB7Ci0JCXdha2VfdXBfYXN0KGxwKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qCi0JICogQSBsb2NrIGhhcyBiZWVuIGRlbW90ZWQgdG8gTkwgYmVjYXVzZSBpdCBpbml0aWFsbHkgY29tcGxldGVkIGR1cmluZwotCSAqIEJMT0NLX0xPQ0tTLiAgTm93IGl0IG11c3QgYmUgcmVxdWVzdGVkIGluIHRoZSBvcmlnaW5hbGx5IHJlcXVlc3RlZAotCSAqIG1vZGUuCi0JICovCi0KLQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9SRVJFUVVFU1QsICZscC0+ZmxhZ3MpKSB7Ci0JCWdkbG1fYXNzZXJ0KGxwLT5yZXEgPT0gRExNX0xPQ0tfTkwsICIleCwlbGx4IiwKLQkJCSAgICBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAgICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOwotCQlnZGxtX2Fzc2VydChscC0+cHJldl9yZXEgPiBETE1fTE9DS19OTCwgIiV4LCVsbHgiLAotCQkJICAgIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlcik7Ci0KLQkJbHAtPmN1ciA9IERMTV9MT0NLX05MOwotCQlscC0+cmVxID0gbHAtPnByZXZfcmVxOwotCQlscC0+cHJldl9yZXEgPSBETE1fTE9DS19JVjsKLQkJbHAtPmxrZiAmPSB+RExNX0xLRl9DT05WREVBRExLOwotCi0JCXNldF9iaXQoTEZMX05PQ0FDSEUsICZscC0+ZmxhZ3MpOwotCi0JCWlmICh0ZXN0X2JpdChERkxfQkxPQ0tfTE9DS1MsICZscy0+ZmxhZ3MpICYmCi0JCSAgICAhdGVzdF9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpKQotCQkJZ2RsbV9xdWV1ZV9kZWxheWVkKGxwKTsKLQkJZWxzZQotCQkJcXVldWVfc3VibWl0KGxwKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qCi0JICogQSByZXF1ZXN0IGlzIGdyYW50ZWQgZHVyaW5nIGRsbSByZWNvdmVyeS4gIEl0IG1heSBiZSBncmFudGVkCi0JICogYmVjYXVzZSB0aGUgbG9ja3Mgb2YgYSBmYWlsZWQgbm9kZSB3ZXJlIGNsZWFyZWQuICBJbiB0aGF0IGNhc2UsCi0JICogdGhlcmUgbWF5IGJlIGluY29uc2lzdGVudCBkYXRhIGJlbmVhdGggdGhpcyBsb2NrIGFuZCB3ZSBtdXN0IHdhaXQKLQkgKiBmb3IgcmVjb3ZlcnkgdG8gY29tcGxldGUgdG8gdXNlIGl0LiAgV2hlbiBnZnMgcmVjb3ZlcnkgaXMgZG9uZSB0aGlzCi0JICogZ3JhbnRlZCBsb2NrIHdpbGwgYmUgY29udmVydGVkIHRvIE5MIGFuZCB0aGVuIHJlYWNxdWlyZWQgaW4gdGhpcwotCSAqIGdyYW50ZWQgc3RhdGUuCi0JICovCi0KLQlpZiAodGVzdF9iaXQoREZMX0JMT0NLX0xPQ0tTLCAmbHMtPmZsYWdzKSAmJgotCSAgICAhdGVzdF9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpICYmCi0JICAgIGxwLT5yZXEgIT0gRExNX0xPQ0tfTkwpIHsKLQotCQlscC0+Y3VyID0gbHAtPnJlcTsKLQkJbHAtPnByZXZfcmVxID0gbHAtPnJlcTsKLQkJbHAtPnJlcSA9IERMTV9MT0NLX05MOwotCQlscC0+bGtmIHw9IERMTV9MS0ZfQ09OVkVSVDsKLQkJbHAtPmxrZiAmPSB+RExNX0xLRl9DT05WREVBRExLOwotCi0JCWxvZ19kZWJ1ZygicmVyZXEgJXgsJWxseCBpZCAleCAlZCwlZCIsCi0JCQkgIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCi0JCQkgIGxwLT5sa3NiLnNiX2xraWQsIGxwLT5jdXIsIGxwLT5yZXEpOwotCi0JCXNldF9iaXQoTEZMX1JFUkVRVUVTVCwgJmxwLT5mbGFncyk7Ci0JCXF1ZXVlX3N1Ym1pdChscCk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKgotCSAqIERMTSBkZW1vdGVkIHRoZSBsb2NrIHRvIE5MIGJlZm9yZSBpdCB3YXMgZ3JhbnRlZCBzbyBHRlMgbXVzdCBiZQotCSAqIHRvbGQgaXQgY2Fubm90IGNhY2hlIGRhdGEgZm9yIHRoaXMgbG9jay4KLQkgKi8KLQotCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfREVNT1RFRCkKLQkJc2V0X2JpdChMRkxfTk9DQUNIRSwgJmxwLT5mbGFncyk7Ci0KLW91dDoKLQkvKgotCSAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgbG9ja19kbG0gbG9jawotCSAqLwotCi0JaWYgKHRlc3RfYml0KExGTF9JTkxPQ0ssICZscC0+ZmxhZ3MpKSB7Ci0JCWNsZWFyX2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncyk7Ci0JCWxwLT5jdXIgPSBscC0+cmVxOwotCQl3YWtlX3VwX2FzdChscCk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKgotCSAqIE5vcm1hbCBjb21wbGV0aW9uIG9mIGEgbG9jayByZXF1ZXN0LiAgVGVsbCBHRlMgaXQgbm93IGhhcyB0aGUgbG9jay4KLQkgKi8KLQotCWNsZWFyX2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncyk7Ci0JbHAtPmN1ciA9IGxwLT5yZXE7Ci0KLQlhY2IubGNfbmFtZSA9IGxwLT5sb2NrbmFtZTsKLQlhY2IubGNfcmV0IHw9IGdkbG1fbWFrZV9sbXN0YXRlKGxwLT5jdXIpOwotCi0JaWYgKCF0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX05PQ0FDSEUsICZscC0+ZmxhZ3MpICYmCi0JICAgIChscC0+Y3VyID4gRExNX0xPQ0tfTkwpICYmIChwcmV2X21vZGUgPiBETE1fTE9DS19OTCkpCi0JCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NBQ0hFQUJMRTsKLQotCWxzLT5mc2NiKGxzLT5zZHAsIExNX0NCX0FTWU5DLCAmYWNiKTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgbm9fd29yayhzdHJ1Y3QgZ2RsbV9scyAqbHMsIGludCBibG9ja2luZykKK3N0YXRpYyBpbmxpbmUgaW50IG5vX3dvcmsoc3RydWN0IGdkbG1fbHMgKmxzKQogewogCWludCByZXQ7CiAKIAlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlyZXQgPSBsaXN0X2VtcHR5KCZscy0+Y29tcGxldGUpICYmIGxpc3RfZW1wdHkoJmxzLT5zdWJtaXQpOwotCWlmIChyZXQgJiYgYmxvY2tpbmcpCi0JCXJldCA9IGxpc3RfZW1wdHkoJmxzLT5ibG9ja2luZyk7CisJcmV0ID0gbGlzdF9lbXB0eSgmbHMtPnN1Ym1pdCk7CiAJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKIAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IGNoZWNrX2Ryb3Aoc3RydWN0IGdkbG1fbHMgKmxzKQotewotCWlmICghbHMtPmRyb3BfbG9ja3NfY291bnQpCi0JCXJldHVybiAwOwotCi0JaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgbHMtPmRyb3BfdGltZSArIGxzLT5kcm9wX2xvY2tzX3BlcmlvZCAqIEhaKSkgewotCQlscy0+ZHJvcF90aW1lID0gamlmZmllczsKLQkJaWYgKGxzLT5hbGxfbG9ja3NfY291bnQgPj0gbHMtPmRyb3BfbG9ja3NfY291bnQpCi0JCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZ2RsbV90aHJlYWQodm9pZCAqZGF0YSwgaW50IGJsaXN0KQorc3RhdGljIGludCBnZGxtX3RocmVhZCh2b2lkICpkYXRhKQogewogCXN0cnVjdCBnZGxtX2xzICpscyA9IChzdHJ1Y3QgZ2RsbV9scyAqKSBkYXRhOwogCXN0cnVjdCBnZGxtX2xvY2sgKmxwID0gTlVMTDsKLQl1aW50OF90IGNvbXBsZXRlLCBibG9ja2luZywgc3VibWl0LCBkcm9wOwotCi0JLyogT25seSB0aHJlYWQxIGlzIGFsbG93ZWQgdG8gZG8gYmxvY2tpbmcgY2FsbGJhY2tzIHNpbmNlIGdmcwotCSAgIG1heSB3YWl0IGZvciBhIGNvbXBsZXRpb24gY2FsbGJhY2sgd2l0aGluIGEgYmxvY2tpbmcgY2IuICovCiAKIAl3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSkgewogCQl3YWl0X2V2ZW50X2ludGVycnVwdGlibGUobHMtPnRocmVhZF93YWl0LAotCQkJCSFub193b3JrKGxzLCBibGlzdCkgfHwga3RocmVhZF9zaG91bGRfc3RvcCgpKTsKLQotCQljb21wbGV0ZSA9IGJsb2NraW5nID0gc3VibWl0ID0gZHJvcCA9IDA7CisJCQkJIW5vX3dvcmsobHMpIHx8IGt0aHJlYWRfc2hvdWxkX3N0b3AoKSk7CiAKIAkJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7CiAKLQkJaWYgKGJsaXN0ICYmICFsaXN0X2VtcHR5KCZscy0+YmxvY2tpbmcpKSB7Ci0JCQlscCA9IGxpc3RfZW50cnkobHMtPmJsb2NraW5nLm5leHQsIHN0cnVjdCBnZGxtX2xvY2ssCi0JCQkJCWJsaXN0KTsKLQkJCWxpc3RfZGVsX2luaXQoJmxwLT5ibGlzdCk7Ci0JCQlibG9ja2luZyA9IGxwLT5iYXN0X21vZGU7Ci0JCQlscC0+YmFzdF9tb2RlID0gMDsKLQkJfSBlbHNlIGlmICghbGlzdF9lbXB0eSgmbHMtPmNvbXBsZXRlKSkgewotCQkJbHAgPSBsaXN0X2VudHJ5KGxzLT5jb21wbGV0ZS5uZXh0LCBzdHJ1Y3QgZ2RsbV9sb2NrLAotCQkJCQljbGlzdCk7Ci0JCQlsaXN0X2RlbF9pbml0KCZscC0+Y2xpc3QpOwotCQkJY29tcGxldGUgPSAxOwotCQl9IGVsc2UgaWYgKCFsaXN0X2VtcHR5KCZscy0+c3VibWl0KSkgeworCQlpZiAoIWxpc3RfZW1wdHkoJmxzLT5zdWJtaXQpKSB7CiAJCQlscCA9IGxpc3RfZW50cnkobHMtPnN1Ym1pdC5uZXh0LCBzdHJ1Y3QgZ2RsbV9sb2NrLAogCQkJCQlkZWxheV9saXN0KTsKIAkJCWxpc3RfZGVsX2luaXQoJmxwLT5kZWxheV9saXN0KTsKLQkJCXN1Ym1pdCA9IDE7Ci0JCX0KLQotCQlkcm9wID0gY2hlY2tfZHJvcChscyk7Ci0JCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0KLQkJaWYgKGNvbXBsZXRlKQotCQkJcHJvY2Vzc19jb21wbGV0ZShscCk7Ci0KLQkJZWxzZSBpZiAoYmxvY2tpbmcpCi0JCQlwcm9jZXNzX2Jsb2NraW5nKGxwLCBibG9ja2luZyk7Ci0KLQkJZWxzZSBpZiAoc3VibWl0KQorCQkJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKIAkJCWdkbG1fZG9fbG9jayhscCk7Ci0KLQkJaWYgKGRyb3ApCi0JCQlscy0+ZnNjYihscy0+c2RwLCBMTV9DQl9EUk9QTE9DS1MsIE5VTEwpOwotCi0JCXNjaGVkdWxlKCk7CisJCQlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKKwkJfQorCQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwogCX0KIAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdkbG1fdGhyZWFkMSh2b2lkICpkYXRhKQotewotCXJldHVybiBnZGxtX3RocmVhZChkYXRhLCAxKTsKLX0KLQotc3RhdGljIGludCBnZGxtX3RocmVhZDIodm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gZ2RsbV90aHJlYWQoZGF0YSwgMCk7Ci19Ci0KIGludCBnZGxtX2luaXRfdGhyZWFkcyhzdHJ1Y3QgZ2RsbV9scyAqbHMpCiB7CiAJc3RydWN0IHRhc2tfc3RydWN0ICpwOwogCWludCBlcnJvcjsKIAotCXAgPSBrdGhyZWFkX3J1bihnZGxtX3RocmVhZDEsIGxzLCAibG9ja19kbG0xIik7CisJcCA9IGt0aHJlYWRfcnVuKGdkbG1fdGhyZWFkLCBscywgImxvY2tfZGxtIik7CiAJZXJyb3IgPSBJU19FUlIocCk7CiAJaWYgKGVycm9yKSB7Ci0JCWxvZ19lcnJvcigiY2FuJ3Qgc3RhcnQgbG9ja19kbG0xIHRocmVhZCAlZCIsIGVycm9yKTsKKwkJbG9nX2Vycm9yKCJjYW4ndCBzdGFydCBsb2NrX2RsbSB0aHJlYWQgJWQiLCBlcnJvcik7CiAJCXJldHVybiBlcnJvcjsKIAl9Ci0JbHMtPnRocmVhZDEgPSBwOwotCi0JcCA9IGt0aHJlYWRfcnVuKGdkbG1fdGhyZWFkMiwgbHMsICJsb2NrX2RsbTIiKTsKLQllcnJvciA9IElTX0VSUihwKTsKLQlpZiAoZXJyb3IpIHsKLQkJbG9nX2Vycm9yKCJjYW4ndCBzdGFydCBsb2NrX2RsbTIgdGhyZWFkICVkIiwgZXJyb3IpOwotCQlrdGhyZWFkX3N0b3AobHMtPnRocmVhZDEpOwotCQlyZXR1cm4gZXJyb3I7Ci0JfQotCWxzLT50aHJlYWQyID0gcDsKKwlscy0+dGhyZWFkID0gcDsKIAogCXJldHVybiAwOwogfQogCiB2b2lkIGdkbG1fcmVsZWFzZV90aHJlYWRzKHN0cnVjdCBnZGxtX2xzICpscykKIHsKLQlrdGhyZWFkX3N0b3AobHMtPnRocmVhZDEpOwotCWt0aHJlYWRfc3RvcChscy0+dGhyZWFkMik7CisJa3RocmVhZF9zdG9wKGxzLT50aHJlYWQpOwogfQogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvbm9sb2NrL01ha2VmaWxlIGIvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzVlOTczMC4uMDAwMDAwMAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvbm9sb2NrL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1vYmotJChDT05GSUdfR0ZTMl9GU19MT0NLSU5HX05PTE9DSykgKz0gbG9ja19ub2xvY2subwotbG9ja19ub2xvY2steSA6PSBtYWluLm8KLQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9tYWluLmMgYi9mcy9nZnMyL2xvY2tpbmcvbm9sb2NrL21haW4uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjg0YTVlYy4uMDAwMDAwMAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvbm9sb2NrL21haW4uYworKysgL2Rldi9udWxsCkBAIC0xLDIzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSBTaXN0aW5hIFNvZnR3YXJlLCBJbmMuICAxOTk3LTIwMDMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA1IFJlZCBIYXQsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBjb3B5cmlnaHRlZCBtYXRlcmlhbCBpcyBtYWRlIGF2YWlsYWJsZSB0byBhbnlvbmUgd2lzaGluZyB0byB1c2UsCi0gKiBtb2RpZnksIGNvcHksIG9yIHJlZGlzdHJpYnV0ZSBpdCBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucwotICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvc2xhYi5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotI2luY2x1ZGUgPGxpbnV4L2ZzLmg+Ci0jaW5jbHVkZSA8bGludXgvbG1faW50ZXJmYWNlLmg+Ci0KLXN0cnVjdCBub2xvY2tfbG9ja3NwYWNlIHsKLQl1bnNpZ25lZCBpbnQgbmxfbHZiX3NpemU7Ci19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGxtX2xvY2tvcHMgbm9sb2NrX29wczsKLQotc3RhdGljIGludCBub2xvY2tfbW91bnQoY2hhciAqdGFibGVfbmFtZSwgY2hhciAqaG9zdF9kYXRhLAotCQkJbG1fY2FsbGJhY2tfdCBjYiwgdm9pZCAqY2JfZGF0YSwKLQkJCXVuc2lnbmVkIGludCBtaW5fbHZiX3NpemUsIGludCBmbGFncywKLQkJCXN0cnVjdCBsbV9sb2Nrc3RydWN0ICpsb2Nrc3RydWN0LAotCQkJc3RydWN0IGtvYmplY3QgKmZza29iaikKLXsKLQljaGFyICpjOwotCXVuc2lnbmVkIGludCBqaWQ7Ci0Jc3RydWN0IG5vbG9ja19sb2Nrc3BhY2UgKm5sOwotCi0JYyA9IHN0cnN0cihob3N0X2RhdGEsICJqaWQ9Iik7Ci0JaWYgKCFjKQotCQlqaWQgPSAwOwotCWVsc2UgewotCQljICs9IDQ7Ci0JCXNzY2FuZihjLCAiJXUiLCAmamlkKTsKLQl9Ci0KLQlubCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBub2xvY2tfbG9ja3NwYWNlKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFubCkKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlubC0+bmxfbHZiX3NpemUgPSBtaW5fbHZiX3NpemU7Ci0KLQlsb2Nrc3RydWN0LT5sc19qaWQgPSBqaWQ7Ci0JbG9ja3N0cnVjdC0+bHNfZmlyc3QgPSAxOwotCWxvY2tzdHJ1Y3QtPmxzX2x2Yl9zaXplID0gbWluX2x2Yl9zaXplOwotCWxvY2tzdHJ1Y3QtPmxzX2xvY2tzcGFjZSA9IG5sOwotCWxvY2tzdHJ1Y3QtPmxzX29wcyA9ICZub2xvY2tfb3BzOwotCWxvY2tzdHJ1Y3QtPmxzX2ZsYWdzID0gTE1fTFNGTEFHX0xPQ0FMOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIG5vbG9ja19vdGhlcnNfbWF5X21vdW50KHZvaWQgKmxvY2tzcGFjZSkKLXsKLX0KLQotc3RhdGljIHZvaWQgbm9sb2NrX3VubW91bnQodm9pZCAqbG9ja3NwYWNlKQotewotCXN0cnVjdCBub2xvY2tfbG9ja3NwYWNlICpubCA9IGxvY2tzcGFjZTsKLQlrZnJlZShubCk7Ci19Ci0KLXN0YXRpYyB2b2lkIG5vbG9ja193aXRoZHJhdyh2b2lkICpsb2Nrc3BhY2UpCi17Ci19Ci0KLS8qKgotICogbm9sb2NrX2dldF9sb2NrIC0gZ2V0IGEgbG1fbG9ja190IGdpdmVuIGEgZGVzY3JpcHRvbiBvZiB0aGUgbG9jawotICogQGxvY2tzcGFjZTogdGhlIGxvY2tzcGFjZSB0aGUgbG9jayBsaXZlcyBpbgotICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSBsb2NrCi0gKiBAbG9ja3A6IHJldHVybiB0aGUgbG1fbG9ja190IGhlcmUKLSAqCi0gKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FWFhYIG9uIGZhaWx1cmUKLSAqLwotCi1zdGF0aWMgaW50IG5vbG9ja19nZXRfbG9jayh2b2lkICpsb2Nrc3BhY2UsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKLQkJCSAgIHZvaWQgKipsb2NrcCkKLXsKLQkqbG9ja3AgPSBsb2Nrc3BhY2U7Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qKgotICogbm9sb2NrX3B1dF9sb2NrIC0gZ2V0IHJpZCBvZiBhIGxvY2sgc3RydWN0dXJlCi0gKiBAbG9jazogdGhlIGxvY2sgdG8gdGhyb3cgYXdheQotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBub2xvY2tfcHV0X2xvY2sodm9pZCAqbG9jaykKLXsKLX0KLQotLyoqCi0gKiBub2xvY2tfbG9jayAtIGFjcXVpcmUgYSBsb2NrCi0gKiBAbG9jazogdGhlIGxvY2sgdG8gbWFuaXB1bGF0ZQotICogQGN1cl9zdGF0ZTogdGhlIGN1cnJlbnQgc3RhdGUKLSAqIEByZXFfc3RhdGU6IHRoZSByZXF1ZXN0ZWQgc3RhdGUKLSAqIEBmbGFnczogbW9kaWZpZXIgZmxhZ3MKLSAqCi0gKiBSZXR1cm5zOiBBIGJpdG1hcCBvZiBMTV9PVVRfKgotICovCi0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgbm9sb2NrX2xvY2sodm9pZCAqbG9jaywgdW5zaWduZWQgaW50IGN1cl9zdGF0ZSwKLQkJCQl1bnNpZ25lZCBpbnQgcmVxX3N0YXRlLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIHJlcV9zdGF0ZSB8IExNX09VVF9DQUNIRUFCTEU7Ci19Ci0KLS8qKgotICogbm9sb2NrX3VubG9jayAtIHVubG9jayBhIGxvY2sKLSAqIEBsb2NrOiB0aGUgbG9jayB0byBtYW5pcHVsYXRlCi0gKiBAY3VyX3N0YXRlOiB0aGUgY3VycmVudCBzdGF0ZQotICoKLSAqIFJldHVybnM6IDAKLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgaW50IG5vbG9ja191bmxvY2sodm9pZCAqbG9jaywgdW5zaWduZWQgaW50IGN1cl9zdGF0ZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgbm9sb2NrX2NhbmNlbCh2b2lkICpsb2NrKQotewotfQotCi0vKioKLSAqIG5vbG9ja19ob2xkX2x2YiAtIGhvbGQgb24gdG8gYSBsb2NrIHZhbHVlIGJsb2NrCi0gKiBAbG9jazogdGhlIGxvY2sgdGhlIExWQiBpcyBhc3NvY2lhdGVkIHdpdGgKLSAqIEBsdmJwOiByZXR1cm4gdGhlIGxtX2x2Yl90IGhlcmUKLSAqCi0gKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FWFhYIG9uIGZhaWx1cmUKLSAqLwotCi1zdGF0aWMgaW50IG5vbG9ja19ob2xkX2x2Yih2b2lkICpsb2NrLCBjaGFyICoqbHZicCkKLXsKLQlzdHJ1Y3Qgbm9sb2NrX2xvY2tzcGFjZSAqbmwgPSBsb2NrOwotCWludCBlcnJvciA9IDA7Ci0KLQkqbHZicCA9IGt6YWxsb2MobmwtPm5sX2x2Yl9zaXplLCBHRlBfTk9GUyk7Ci0JaWYgKCEqbHZicCkKLQkJZXJyb3IgPSAtRU5PTUVNOwotCi0JcmV0dXJuIGVycm9yOwotfQotCi0vKioKLSAqIG5vbG9ja191bmhvbGRfbHZiIC0gcmVsZWFzZSBhIExWQgotICogQGxvY2s6IHRoZSBsb2NrIHRoZSBMVkIgaXMgYXNzb2NpYXRlZCB3aXRoCi0gKiBAbHZiOiB0aGUgbG9jayB2YWx1ZSBibG9jawotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBub2xvY2tfdW5ob2xkX2x2Yih2b2lkICpsb2NrLCBjaGFyICpsdmIpCi17Ci0Ja2ZyZWUobHZiKTsKLX0KLQotc3RhdGljIGludCBub2xvY2tfcGxvY2tfZ2V0KHZvaWQgKmxvY2tzcGFjZSwgc3RydWN0IGxtX2xvY2tuYW1lICpuYW1lLAotCQkJICAgIHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgZmlsZV9sb2NrICpmbCkKLXsKLQlwb3NpeF90ZXN0X2xvY2soZmlsZSwgZmwpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgbm9sb2NrX3Bsb2NrKHZvaWQgKmxvY2tzcGFjZSwgc3RydWN0IGxtX2xvY2tuYW1lICpuYW1lLAotCQkJc3RydWN0IGZpbGUgKmZpbGUsIGludCBjbWQsIHN0cnVjdCBmaWxlX2xvY2sgKmZsKQotewotCWludCBlcnJvcjsKLQllcnJvciA9IHBvc2l4X2xvY2tfZmlsZV93YWl0KGZpbGUsIGZsKTsKLQlyZXR1cm4gZXJyb3I7Ci19Ci0KLXN0YXRpYyBpbnQgbm9sb2NrX3B1bmxvY2sodm9pZCAqbG9ja3NwYWNlLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKm5hbWUsCi0JCQkgIHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgZmlsZV9sb2NrICpmbCkKLXsKLQlpbnQgZXJyb3I7Ci0JZXJyb3IgPSBwb3NpeF9sb2NrX2ZpbGVfd2FpdChmaWxlLCBmbCk7Ci0JcmV0dXJuIGVycm9yOwotfQotCi1zdGF0aWMgdm9pZCBub2xvY2tfcmVjb3ZlcnlfZG9uZSh2b2lkICpsb2Nrc3BhY2UsIHVuc2lnbmVkIGludCBqaWQsCi0JCQkJIHVuc2lnbmVkIGludCBtZXNzYWdlKQotewotfQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGxtX2xvY2tvcHMgbm9sb2NrX29wcyA9IHsKLQkubG1fcHJvdG9fbmFtZSA9ICJsb2NrX25vbG9jayIsCi0JLmxtX21vdW50ID0gbm9sb2NrX21vdW50LAotCS5sbV9vdGhlcnNfbWF5X21vdW50ID0gbm9sb2NrX290aGVyc19tYXlfbW91bnQsCi0JLmxtX3VubW91bnQgPSBub2xvY2tfdW5tb3VudCwKLQkubG1fd2l0aGRyYXcgPSBub2xvY2tfd2l0aGRyYXcsCi0JLmxtX2dldF9sb2NrID0gbm9sb2NrX2dldF9sb2NrLAotCS5sbV9wdXRfbG9jayA9IG5vbG9ja19wdXRfbG9jaywKLQkubG1fbG9jayA9IG5vbG9ja19sb2NrLAotCS5sbV91bmxvY2sgPSBub2xvY2tfdW5sb2NrLAotCS5sbV9jYW5jZWwgPSBub2xvY2tfY2FuY2VsLAotCS5sbV9ob2xkX2x2YiA9IG5vbG9ja19ob2xkX2x2YiwKLQkubG1fdW5ob2xkX2x2YiA9IG5vbG9ja191bmhvbGRfbHZiLAotCS5sbV9wbG9ja19nZXQgPSBub2xvY2tfcGxvY2tfZ2V0LAotCS5sbV9wbG9jayA9IG5vbG9ja19wbG9jaywKLQkubG1fcHVubG9jayA9IG5vbG9ja19wdW5sb2NrLAotCS5sbV9yZWNvdmVyeV9kb25lID0gbm9sb2NrX3JlY292ZXJ5X2RvbmUsCi0JLmxtX293bmVyID0gVEhJU19NT0RVTEUsCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpbml0X25vbG9jayh2b2lkKQotewotCWludCBlcnJvcjsKLQotCWVycm9yID0gZ2ZzMl9yZWdpc3Rlcl9sb2NrcHJvdG8oJm5vbG9ja19vcHMpOwotCWlmIChlcnJvcikgewotCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCSAgICAgICAibG9ja19ub2xvY2s6IGNhbid0IHJlZ2lzdGVyIHByb3RvY29sOiAlZFxuIiwgZXJyb3IpOwotCQlyZXR1cm4gZXJyb3I7Ci0JfQotCi0JcHJpbnRrKEtFUk5fSU5GTwotCSAgICAgICAiTG9ja19Ob2xvY2sgKGJ1aWx0ICVzICVzKSBpbnN0YWxsZWRcbiIsIF9fREFURV9fLCBfX1RJTUVfXyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBleGl0X25vbG9jayh2b2lkKQotewotCWdmczJfdW5yZWdpc3Rlcl9sb2NrcHJvdG8oJm5vbG9ja19vcHMpOwotfQotCi1tb2R1bGVfaW5pdChpbml0X25vbG9jayk7Ci1tb2R1bGVfZXhpdChleGl0X25vbG9jayk7Ci0KLU1PRFVMRV9ERVNDUklQVElPTigiR0ZTIE5vbG9jayBMb2NraW5nIE1vZHVsZSIpOwotTU9EVUxFX0FVVEhPUigiUmVkIEhhdCwgSW5jLiIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvZy5jIGIvZnMvZ2ZzMi9sb2cuYwppbmRleCA1NDgyNjRiLi42YzZhZjlmIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvZy5jCisrKyBiL2ZzL2dmczIvbG9nLmMKQEAgLTg3LDYgKzg3LDggQEAKICAqLwogCiBzdGF0aWMgdm9pZCBnZnMyX2FpbDFfc3RhcnRfb25lKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBzdHJ1Y3QgZ2ZzMl9haWwgKmFpKQorX19yZWxlYXNlcygmc2RwLT5zZF9sb2dfbG9jaykKK19fYWNxdWlyZXMoJnNkcC0+c2RfbG9nX2xvY2spCiB7CiAJc3RydWN0IGdmczJfYnVmZGF0YSAqYmQsICpzOwogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvZy5oIGIvZnMvZ2ZzMi9sb2cuaAppbmRleCA3NzExNTI4Li43YzY0NTEwIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvZy5oCisrKyBiL2ZzL2dmczIvbG9nLmgKQEAgLTIxLDYgKzIxLDcgQEAKICAqLwogCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2ZzMl9sb2dfbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKK19fYWNxdWlyZXMoJnNkcC0+c2RfbG9nX2xvY2spCiB7CiAJc3Bpbl9sb2NrKCZzZHAtPnNkX2xvZ19sb2NrKTsKIH0KQEAgLTMyLDYgKzMzLDcgQEAKICAqLwogCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2ZzMl9sb2dfdW5sb2NrKHN0cnVjdCBnZnMyX3NiZCAqc2RwKQorX19yZWxlYXNlcygmc2RwLT5zZF9sb2dfbG9jaykKIHsKIAlzcGluX3VubG9jaygmc2RwLT5zZF9sb2dfbG9jayk7CiB9CmRpZmYgLS1naXQgYS9mcy9nZnMyL21haW4uYyBiL2ZzL2dmczIvbWFpbi5jCmluZGV4IDA1M2UyZWIuLmJjYzY2OGQgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbWFpbi5jCisrKyBiL2ZzL2dmczIvbWFpbi5jCkBAIC00MCw4ICs0MCw2IEBACiAJSU5JVF9ITElTVF9OT0RFKCZnbC0+Z2xfbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJmdsLT5nbF9zcGluKTsKIAlJTklUX0xJU1RfSEVBRCgmZ2wtPmdsX2hvbGRlcnMpOwotCUlOSVRfTElTVF9IRUFEKCZnbC0+Z2xfd2FpdGVyczEpOwotCUlOSVRfTElTVF9IRUFEKCZnbC0+Z2xfd2FpdGVyczMpOwogCWdsLT5nbF9sdmIgPSBOVUxMOwogCWF0b21pY19zZXQoJmdsLT5nbF9sdmJfY291bnQsIDApOwogCUlOSVRfTElTVF9IRUFEKCZnbC0+Z2xfcmVjbGFpbSk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL21ldGFfaW8uYyBiL2ZzL2dmczIvbWV0YV9pby5jCmluZGV4IDc4ZDc1ZjguLjA5ODUzNjIgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbWV0YV9pby5jCisrKyBiL2ZzL2dmczIvbWV0YV9pby5jCkBAIC0xMjksNyArMTI5LDcgQEAKIH0KIAogLyoqCi0gKiBnZXRidWYgLSBHZXQgYSBidWZmZXIgd2l0aCBhIGdpdmVuIGFkZHJlc3Mgc3BhY2UKKyAqIGdmczJfZ2V0YnVmIC0gR2V0IGEgYnVmZmVyIHdpdGggYSBnaXZlbiBhZGRyZXNzIHNwYWNlCiAgKiBAZ2w6IHRoZSBnbG9jawogICogQGJsa25vOiB0aGUgYmxvY2sgbnVtYmVyIChmaWxlc3lzdGVtIHNjb3BlKQogICogQGNyZWF0ZTogMSBpZiB0aGUgYnVmZmVyIHNob3VsZCBiZSBjcmVhdGVkCkBAIC0xMzcsNyArMTM3LDcgQEAKICAqIFJldHVybnM6IHRoZSBidWZmZXIKICAqLwogCi1zdGF0aWMgc3RydWN0IGJ1ZmZlcl9oZWFkICpnZXRidWYoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1NjQgYmxrbm8sIGludCBjcmVhdGUpCitzdHJ1Y3QgYnVmZmVyX2hlYWQgKmdmczJfZ2V0YnVmKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vLCBpbnQgY3JlYXRlKQogewogCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gZ2wtPmdsX2FzcGFjZS0+aV9tYXBwaW5nOwogCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKQEAgLTIwNSw3ICsyMDUsNyBAQAogc3RydWN0IGJ1ZmZlcl9oZWFkICpnZnMyX21ldGFfbmV3KHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vKQogewogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7Ci0JYmggPSBnZXRidWYoZ2wsIGJsa25vLCBDUkVBVEUpOworCWJoID0gZ2ZzMl9nZXRidWYoZ2wsIGJsa25vLCBDUkVBVEUpOwogCW1ldGFfcHJlcF9uZXcoYmgpOwogCXJldHVybiBiaDsKIH0KQEAgLTIyMyw3ICsyMjMsNyBAQAogaW50IGdmczJfbWV0YV9yZWFkKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vLCBpbnQgZmxhZ3MsCiAJCSAgIHN0cnVjdCBidWZmZXJfaGVhZCAqKmJocCkKIHsKLQkqYmhwID0gZ2V0YnVmKGdsLCBibGtubywgQ1JFQVRFKTsKKwkqYmhwID0gZ2ZzMl9nZXRidWYoZ2wsIGJsa25vLCBDUkVBVEUpOwogCWlmICghYnVmZmVyX3VwdG9kYXRlKCpiaHApKSB7CiAJCWxsX3J3X2Jsb2NrKFJFQURfTUVUQSwgMSwgYmhwKTsKIAkJaWYgKGZsYWdzICYgRElPX1dBSVQpIHsKQEAgLTM0Niw3ICszNDYsNyBAQAogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CiAKIAl3aGlsZSAoYmxlbikgewotCQliaCA9IGdldGJ1ZihpcC0+aV9nbCwgYnN0YXJ0LCBOT19DUkVBVEUpOworCQliaCA9IGdmczJfZ2V0YnVmKGlwLT5pX2dsLCBic3RhcnQsIE5PX0NSRUFURSk7CiAJCWlmIChiaCkgewogCQkJbG9ja19idWZmZXIoYmgpOwogCQkJZ2ZzMl9sb2dfbG9jayhzZHApOwpAQCAtNDIxLDcgKzQyMSw3IEBACiAJaWYgKGV4dGxlbiA+IG1heF9yYSkKIAkJZXh0bGVuID0gbWF4X3JhOwogCi0JZmlyc3RfYmggPSBnZXRidWYoZ2wsIGRibG9jaywgQ1JFQVRFKTsKKwlmaXJzdF9iaCA9IGdmczJfZ2V0YnVmKGdsLCBkYmxvY2ssIENSRUFURSk7CiAKIAlpZiAoYnVmZmVyX3VwdG9kYXRlKGZpcnN0X2JoKSkKIAkJZ290byBvdXQ7CkBAIC00MzIsNyArNDMyLDcgQEAKIAlleHRsZW4tLTsKIAogCXdoaWxlIChleHRsZW4pIHsKLQkJYmggPSBnZXRidWYoZ2wsIGRibG9jaywgQ1JFQVRFKTsKKwkJYmggPSBnZnMyX2dldGJ1ZihnbCwgZGJsb2NrLCBDUkVBVEUpOwogCiAJCWlmICghYnVmZmVyX3VwdG9kYXRlKGJoKSAmJiAhYnVmZmVyX2xvY2tlZChiaCkpCiAJCQlsbF9yd19ibG9jayhSRUFEQSwgMSwgJmJoKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbWV0YV9pby5oIGIvZnMvZ2ZzMi9tZXRhX2lvLmgKaW5kZXggNzNlM2IxYy4uYjFhNWYzNiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9tZXRhX2lvLmgKKysrIGIvZnMvZ2ZzMi9tZXRhX2lvLmgKQEAgLTQ3LDYgKzQ3LDcgQEAKIGludCBnZnMyX21ldGFfcmVhZChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHU2NCBibGtubywKIAkJICAgaW50IGZsYWdzLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKipiaHApOwogaW50IGdmczJfbWV0YV93YWl0KHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKTsKK3N0cnVjdCBidWZmZXJfaGVhZCAqZ2ZzMl9nZXRidWYoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1NjQgYmxrbm8sIGludCBjcmVhdGUpOwogCiB2b2lkIGdmczJfYXR0YWNoX2J1ZmRhdGEoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLAogCQkJIGludCBtZXRhKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvb3BzX2FkZHJlc3MuYyBiL2ZzL2dmczIvb3BzX2FkZHJlc3MuYwppbmRleCBmNTUzOTRlLi5lNjRhMWIwIDEwMDY0NAotLS0gYS9mcy9nZnMyL29wc19hZGRyZXNzLmMKKysrIGIvZnMvZ2ZzMi9vcHNfYWRkcmVzcy5jCkBAIC00OTksMzQgKzQ5OSwzNCBAQAogICogQGZpbGU6IFRoZSBmaWxlIHRvIHJlYWQKICAqIEBwYWdlOiBUaGUgcGFnZSBvZiB0aGUgZmlsZQogICoKLSAqIFRoaXMgZGVhbHMgd2l0aCB0aGUgbG9ja2luZyByZXF1aXJlZC4gV2UgdXNlIGEgdHJ5bG9jayBpbiBvcmRlciB0bwotICogYXZvaWQgdGhlIHBhZ2UgbG9jayAvIGdsb2NrIG9yZGVyaW5nIHByb2JsZW1zIHJldHVybmluZyBBT1BfVFJVTkNBVEVEX1BBR0UKLSAqIGluIHRoZSBldmVudCB0aGF0IHdlIGFyZSB1bmFibGUgdG8gZ2V0IHRoZSBsb2NrLgorICogVGhpcyBkZWFscyB3aXRoIHRoZSBsb2NraW5nIHJlcXVpcmVkLiBXZSBoYXZlIHRvIHVubG9jayBhbmQKKyAqIHJlbG9jayB0aGUgcGFnZSBpbiBvcmRlciB0byBnZXQgdGhlIGxvY2tpbmcgaW4gdGhlIHJpZ2h0CisgKiBvcmRlci4KICAqLwogCiBzdGF0aWMgaW50IGdmczJfcmVhZHBhZ2Uoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBwYWdlICpwYWdlKQogewotCXN0cnVjdCBnZnMyX2lub2RlICppcCA9IEdGUzJfSShwYWdlLT5tYXBwaW5nLT5ob3N0KTsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gcGFnZS0+bWFwcGluZzsKKwlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBHRlMyX0kobWFwcGluZy0+aG9zdCk7CisJc3RydWN0IGdmczJfaG9sZGVyIGdoOwogCWludCBlcnJvcjsKIAotCWdoID0gZ2ZzMl9nbG9ja19pc19sb2NrZWRfYnlfbWUoaXAtPmlfZ2wpOwotCWlmICghZ2gpIHsKLQkJZ2ggPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgZ2ZzMl9ob2xkZXIpLCBHRlBfTk9GUyk7Ci0JCWlmICghZ2gpCi0JCQlyZXR1cm4gLUVOT0JVRlM7Ci0JCWdmczJfaG9sZGVyX2luaXQoaXAtPmlfZ2wsIExNX1NUX1NIQVJFRCwgR0xfQVRJTUUsIGdoKTsKKwl1bmxvY2tfcGFnZShwYWdlKTsKKwlnZnMyX2hvbGRlcl9pbml0KGlwLT5pX2dsLCBMTV9TVF9TSEFSRUQsIEdMX0FUSU1FLCAmZ2gpOworCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9hdGltZSgmZ2gpOworCWlmICh1bmxpa2VseShlcnJvcikpCisJCWdvdG8gb3V0OworCWVycm9yID0gQU9QX1RSVU5DQVRFRF9QQUdFOworCWxvY2tfcGFnZShwYWdlKTsKKwlpZiAocGFnZS0+bWFwcGluZyA9PSBtYXBwaW5nICYmICFQYWdlVXB0b2RhdGUocGFnZSkpCisJCWVycm9yID0gX19nZnMyX3JlYWRwYWdlKGZpbGUsIHBhZ2UpOworCWVsc2UKIAkJdW5sb2NrX3BhZ2UocGFnZSk7Ci0JCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9hdGltZShnaCk7Ci0JCWlmIChsaWtlbHkoZXJyb3IgIT0gMCkpCi0JCQlnb3RvIG91dDsKLQkJcmV0dXJuIEFPUF9UUlVOQ0FURURfUEFHRTsKLQl9Ci0JZXJyb3IgPSBfX2dmczJfcmVhZHBhZ2UoZmlsZSwgcGFnZSk7Ci0JZ2ZzMl9nbG9ja19kcShnaCk7CisJZ2ZzMl9nbG9ja19kcSgmZ2gpOwogb3V0OgotCWdmczJfaG9sZGVyX3VuaW5pdChnaCk7Ci0Ja2ZyZWUoZ2gpOworCWdmczJfaG9sZGVyX3VuaW5pdCgmZ2gpOworCWlmIChlcnJvciAmJiBlcnJvciAhPSBBT1BfVFJVTkNBVEVEX1BBR0UpCisJCWxvY2tfcGFnZShwYWdlKTsKIAlyZXR1cm4gZXJyb3I7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvb3BzX2ZpbGUuYyBiL2ZzL2dmczIvb3BzX2ZpbGUuYwppbmRleCBlMWI3ZDUyLi5lOWEzNjZkIDEwMDY0NAotLS0gYS9mcy9nZnMyL29wc19maWxlLmMKKysrIGIvZnMvZ2ZzMi9vcHNfZmlsZS5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb3VudC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvZ2ZzMl9vbmRpc2suaD4KICNpbmNsdWRlIDxsaW51eC9leHQyX2ZzLmg+CkBAIC02MiwxMSArNjMsMTEgQEAKIAkJZXJyb3IgPSBnZnMyX2dsb2NrX25xX2luaXQoaXAtPmlfZ2wsIExNX1NUX1NIQVJFRCwgTE1fRkxBR19BTlksCiAJCQkJCSAgICZpX2doKTsKIAkJaWYgKCFlcnJvcikgewotCQkJZXJyb3IgPSByZW1vdGVfbGxzZWVrKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwkJCWVycm9yID0gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxlLCBvZmZzZXQsIG9yaWdpbik7CiAJCQlnZnMyX2dsb2NrX2RxX3VuaW5pdCgmaV9naCk7CiAJCX0KIAl9IGVsc2UKLQkJZXJyb3IgPSByZW1vdGVfbGxzZWVrKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwkJZXJyb3IgPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKIAogCXJldHVybiBlcnJvcjsKIH0KQEAgLTEzMyw3ICsxMzQsNiBAQAogCVs3XSA9IEdGUzJfRElGX05PQVRJTUUsCiAJWzEyXSA9IEdGUzJfRElGX0VYSEFTSCwKIAlbMTRdID0gR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSwKLQlbMjBdID0gR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJTywKIH07CiAKIHN0YXRpYyBjb25zdCB1MzIgZ2ZzMl90b19mc2ZsYWdzWzMyXSA9IHsKQEAgLTE0Miw3ICsxNDIsNiBAQAogCVtnZnMyZmxfQXBwZW5kT25seV0gPSBGU19BUFBFTkRfRkwsCiAJW2dmczJmbF9Ob0F0aW1lXSA9IEZTX05PQVRJTUVfRkwsCiAJW2dmczJmbF9FeEhhc2hdID0gRlNfSU5ERVhfRkwsCi0JW2dmczJmbF9Jbmhlcml0RGlyZWN0aW9dID0gRlNfRElSRUNUSU9fRkwsCiAJW2dmczJmbF9Jbmhlcml0SmRhdGFdID0gRlNfSk9VUk5BTF9EQVRBX0ZMLAogfTsKIApAQCAtMTYwLDEyICsxNTksOCBAQAogCQlyZXR1cm4gZXJyb3I7CiAKIAlmc2ZsYWdzID0gZnNmbGFnc19jdnQoZ2ZzMl90b19mc2ZsYWdzLCBpcC0+aV9kaS5kaV9mbGFncyk7Ci0JaWYgKCFTX0lTRElSKGlub2RlLT5pX21vZGUpKSB7Ci0JCWlmIChpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0pEQVRBKQotCQkJZnNmbGFncyB8PSBGU19KT1VSTkFMX0RBVEFfRkw7Ci0JCWlmIChpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0RJUkVDVElPKQotCQkJZnNmbGFncyB8PSBGU19ESVJFQ1RJT19GTDsKLQl9CisJaWYgKCFTX0lTRElSKGlub2RlLT5pX21vZGUpICYmIGlwLT5pX2RpLmRpX2ZsYWdzICYgR0ZTMl9ESUZfSkRBVEEpCisJCWZzZmxhZ3MgfD0gRlNfSk9VUk5BTF9EQVRBX0ZMOwogCWlmIChwdXRfdXNlcihmc2ZsYWdzLCBwdHIpKQogCQllcnJvciA9IC1FRkFVTFQ7CiAKQEAgLTE5NCwxMyArMTg5LDExIEBACiAKIC8qIEZsYWdzIHRoYXQgY2FuIGJlIHNldCBieSB1c2VyIHNwYWNlICovCiAjZGVmaW5lIEdGUzJfRkxBR1NfVVNFUl9TRVQgKEdGUzJfRElGX0pEQVRBfAkJCVwKLQkJCSAgICAgR0ZTMl9ESUZfRElSRUNUSU98CQkJXAogCQkJICAgICBHRlMyX0RJRl9JTU1VVEFCTEV8CQlcCiAJCQkgICAgIEdGUzJfRElGX0FQUEVORE9OTFl8CQlcCiAJCQkgICAgIEdGUzJfRElGX05PQVRJTUV8CQkJXAogCQkJICAgICBHRlMyX0RJRl9TWU5DfAkJCVwKIAkJCSAgICAgR0ZTMl9ESUZfU1lTVEVNfAkJCVwKLQkJCSAgICAgR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJT3wJCVwKIAkJCSAgICAgR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSkKIAogLyoqCkBAIC0yMjAsMTAgKzIxMywxNCBAQAogCWludCBlcnJvcjsKIAl1MzIgbmV3X2ZsYWdzLCBmbGFnczsKIAotCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9pbml0KGlwLT5pX2dsLCBMTV9TVF9FWENMVVNJVkUsIDAsICZnaCk7CisJZXJyb3IgPSBtbnRfd2FudF93cml0ZShmaWxwLT5mX3BhdGgubW50KTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIAorCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9pbml0KGlwLT5pX2dsLCBMTV9TVF9FWENMVVNJVkUsIDAsICZnaCk7CisJaWYgKGVycm9yKQorCQlnb3RvIG91dF9kcm9wX3dyaXRlOworCiAJZmxhZ3MgPSBpcC0+aV9kaS5kaV9mbGFnczsKIAluZXdfZmxhZ3MgPSAoZmxhZ3MgJiB+bWFzaykgfCAocmVxZmxhZ3MgJiBtYXNrKTsKIAlpZiAoKG5ld19mbGFncyBeIGZsYWdzKSA9PSAwKQpAQCAtMjQyLDcgKzIzOSw3IEBACiAJICAgICFjYXBhYmxlKENBUF9MSU5VWF9JTU1VVEFCTEUpKQogCQlnb3RvIG91dDsKIAlpZiAoIUlTX0lNTVVUQUJMRShpbm9kZSkpIHsKLQkJZXJyb3IgPSBwZXJtaXNzaW9uKGlub2RlLCBNQVlfV1JJVEUsIE5VTEwpOworCQllcnJvciA9IGdmczJfcGVybWlzc2lvbihpbm9kZSwgTUFZX1dSSVRFKTsKIAkJaWYgKGVycm9yKQogCQkJZ290byBvdXQ7CiAJfQpAQCAtMjcyLDYgKzI2OSw4IEBACiAJZ2ZzMl90cmFuc19lbmQoc2RwKTsKIG91dDoKIAlnZnMyX2dsb2NrX2RxX3VuaW5pdCgmZ2gpOworb3V0X2Ryb3Bfd3JpdGU6CisJbW50X2Ryb3Bfd3JpdGUoZmlscC0+Zl9wYXRoLm1udCk7CiAJcmV0dXJuIGVycm9yOwogfQogCkBAIC0yODUsOCArMjg0LDYgQEAKIAlpZiAoIVNfSVNESVIoaW5vZGUtPmlfbW9kZSkpIHsKIAkJaWYgKGdmc2ZsYWdzICYgR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSkKIAkJCWdmc2ZsYWdzIF49IChHRlMyX0RJRl9KREFUQSB8IEdGUzJfRElGX0lOSEVSSVRfSkRBVEEpOwotCQlpZiAoZ2ZzZmxhZ3MgJiBHRlMyX0RJRl9JTkhFUklUX0RJUkVDVElPKQotCQkJZ2ZzZmxhZ3MgXj0gKEdGUzJfRElGX0RJUkVDVElPIHwgR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJTyk7CiAJCXJldHVybiBkb19nZnMyX3NldF9mbGFncyhmaWxwLCBnZnNmbGFncywgfjApOwogCX0KIAlyZXR1cm4gZG9fZ2ZzMl9zZXRfZmxhZ3MoZmlscCwgZ2ZzZmxhZ3MsIH5HRlMyX0RJRl9KREFUQSk7CkBAIC00ODcsMTEgKzQ4NCw2IEBACiAJCQlnb3RvIGZhaWxfZ3VubG9jazsKIAkJfQogCi0JCS8qIExpc3RlbiB0byB0aGUgRGlyZWN0IEkvTyBmbGFnICovCi0KLQkJaWYgKGlwLT5pX2RpLmRpX2ZsYWdzICYgR0ZTMl9ESUZfRElSRUNUSU8pCi0JCQlmaWxlLT5mX2ZsYWdzIHw9IE9fRElSRUNUOwotCiAJCWdmczJfZ2xvY2tfZHFfdW5pbml0KCZpX2doKTsKIAl9CiAKQEAgLTY2OSw4ICs2NjEsNyBAQAogCWludCBlcnJvciA9IDA7CiAKIAlzdGF0ZSA9IChmbC0+ZmxfdHlwZSA9PSBGX1dSTENLKSA/IExNX1NUX0VYQ0xVU0lWRSA6IExNX1NUX1NIQVJFRDsKLQlmbGFncyA9IChJU19TRVRMS1coY21kKSA/IDAgOiBMTV9GTEFHX1RSWSkgfCBHTF9FWEFDVCB8IEdMX05PQ0FDSEUgCi0JCXwgR0xfRkxPQ0s7CisJZmxhZ3MgPSAoSVNfU0VUTEtXKGNtZCkgPyAwIDogTE1fRkxBR19UUlkpIHwgR0xfRVhBQ1QgfCBHTF9OT0NBQ0hFOwogCiAJbXV0ZXhfbG9jaygmZnAtPmZfZmxfbXV0ZXgpOwogCkBAIC02ODMsOSArNjc0LDggQEAKIAkJZ2ZzMl9nbG9ja19kcV93YWl0KGZsX2doKTsKIAkJZ2ZzMl9ob2xkZXJfcmVpbml0KHN0YXRlLCBmbGFncywgZmxfZ2gpOwogCX0gZWxzZSB7Ci0JCWVycm9yID0gZ2ZzMl9nbG9ja19nZXQoR0ZTMl9TQigmaXAtPmlfaW5vZGUpLAotCQkJCSAgICAgIGlwLT5pX25vX2FkZHIsICZnZnMyX2Zsb2NrX2dsb3BzLAotCQkJCSAgICAgIENSRUFURSwgJmdsKTsKKwkJZXJyb3IgPSBnZnMyX2dsb2NrX2dldChHRlMyX1NCKCZpcC0+aV9pbm9kZSksIGlwLT5pX25vX2FkZHIsCisJCQkJICAgICAgICZnZnMyX2Zsb2NrX2dsb3BzLCBDUkVBVEUsICZnbCk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gb3V0OwogCQlnZnMyX2hvbGRlcl9pbml0KGdsLCBzdGF0ZSwgZmxhZ3MsIGZsX2doKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvb3BzX2ZzdHlwZS5jIGIvZnMvZ2ZzMi9vcHNfZnN0eXBlLmMKaW5kZXggYjIwMjhjOC4uYjRkMWQ2NCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9vcHNfZnN0eXBlLmMKKysrIGIvZnMvZ2ZzMi9vcHNfZnN0eXBlLmMKQEAgLTY0LDcgKzY0LDYgQEAKIAltdXRleF9pbml0KCZzZHAtPnNkX3JpbmRleF9tdXRleCk7CiAJSU5JVF9MSVNUX0hFQUQoJnNkcC0+c2RfcmluZGV4X2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZzZHAtPnNkX3JpbmRleF9tcnVfbGlzdCk7Ci0JSU5JVF9MSVNUX0hFQUQoJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0KTsKIAogCUlOSVRfTElTVF9IRUFEKCZzZHAtPnNkX2ppbmRleF9saXN0KTsKIAlzcGluX2xvY2tfaW5pdCgmc2RwLT5zZF9qaW5kZXhfc3Bpbik7CkBAIC0zNjQsNiArMzYzLDggQEAKIAogc3RhdGljIHZvaWQgZ2ZzMl9sbV9vdGhlcnNfbWF5X21vdW50KHN0cnVjdCBnZnMyX3NiZCAqc2RwKQogeworCWlmICghc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fb3RoZXJzX21heV9tb3VudCkKKwkJcmV0dXJuOwogCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKIAkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fb3RoZXJzX21heV9tb3VudCgKIAkJCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX2xvY2tzcGFjZSk7CkBAIC03NDEsOCArNzQyLDcgQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKGdmczJfYXNzZXJ0X3dhcm4oc2RwLCBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfbG9ja3NwYWNlKSB8fAotCSAgICBnZnMyX2Fzc2VydF93YXJuKHNkcCwgc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcykgfHwKKwlpZiAoZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMpIHx8CiAJICAgIGdmczJfYXNzZXJ0X3dhcm4oc2RwLCBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfbHZiX3NpemUgPj0KIAkJCQkgIEdGUzJfTUlOX0xWQl9TSVpFKSkgewogCQlnZnMyX3VubW91bnRfbG9ja3Byb3RvKCZzZHAtPnNkX2xvY2tzdHJ1Y3QpOwpAQCAtODczLDcgKzg3Myw3IEBACiBmYWlsX2xvY2tpbmc6CiAJaW5pdF9sb2NraW5nKHNkcCwgJm1vdW50X2doLCBVTkRPKTsKIGZhaWxfbG06Ci0JZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCwgV0FJVCk7CisJZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCk7CiAJZ2ZzMl9sbV91bm1vdW50KHNkcCk7CiAJd2hpbGUgKGludmFsaWRhdGVfaW5vZGVzKHNiKSkKIAkJeWllbGQoKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvb3BzX2lub2RlLmMgYi9mcy9nZnMyL29wc19pbm9kZS5jCmluZGV4IDI2ODZhZDQuLjFlMjUyZGYgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvb3BzX2lub2RlLmMKKysrIGIvZnMvZ2ZzMi9vcHNfaW5vZGUuYwpAQCAtMTYzLDcgKzE2Myw3IEBACiAJaWYgKGVycm9yKQogCQlnb3RvIG91dDsKIAotCWVycm9yID0gcGVybWlzc2lvbihkaXIsIE1BWV9XUklURSB8IE1BWV9FWEVDLCBOVUxMKTsKKwllcnJvciA9IGdmczJfcGVybWlzc2lvbihkaXIsIE1BWV9XUklURSB8IE1BWV9FWEVDKTsKIAlpZiAoZXJyb3IpCiAJCWdvdG8gb3V0X2d1bmxvY2s7CiAKQEAgLTY2OSw3ICs2NjksNyBAQAogCQkJfQogCQl9CiAJfSBlbHNlIHsKLQkJZXJyb3IgPSBwZXJtaXNzaW9uKG5kaXIsIE1BWV9XUklURSB8IE1BWV9FWEVDLCBOVUxMKTsKKwkJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24obmRpciwgTUFZX1dSSVRFIHwgTUFZX0VYRUMpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dF9ndW5sb2NrOwogCkBAIC03MDQsNyArNzA0LDcgQEAKIAkvKiBDaGVjayBvdXQgdGhlIGRpciB0byBiZSByZW5hbWVkICovCiAKIAlpZiAoZGlyX3JlbmFtZSkgewotCQllcnJvciA9IHBlcm1pc3Npb24ob2RlbnRyeS0+ZF9pbm9kZSwgTUFZX1dSSVRFLCBOVUxMKTsKKwkJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24ob2RlbnRyeS0+ZF9pbm9kZSwgTUFZX1dSSVRFKTsKIAkJaWYgKGVycm9yKQogCQkJZ290byBvdXRfZ3VubG9jazsKIAl9CkBAIC04OTEsNyArODkxLDcgQEAKICAqIFJldHVybnM6IGVycm5vCiAgKi8KIAotc3RhdGljIGludCBnZnMyX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2ssIHN0cnVjdCBuYW1laWRhdGEgKm5kKQoraW50IGdmczJfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaykKIHsKIAlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBHRlMyX0koaW5vZGUpOwogCXN0cnVjdCBnZnMyX2hvbGRlciBpX2doOwpAQCAtOTA1LDEzICs5MDUsMjIgQEAKIAkJdW5sb2NrID0gMTsKIAl9CiAKLQllcnJvciA9IGdlbmVyaWNfcGVybWlzc2lvbihpbm9kZSwgbWFzaywgZ2ZzMl9jaGVja19hY2wpOworCWlmICgobWFzayAmIE1BWV9XUklURSkgJiYgSVNfSU1NVVRBQkxFKGlub2RlKSkKKwkJZXJyb3IgPSAtRUFDQ0VTOworCWVsc2UKKwkJZXJyb3IgPSBnZW5lcmljX3Blcm1pc3Npb24oaW5vZGUsIG1hc2ssIGdmczJfY2hlY2tfYWNsKTsKIAlpZiAodW5sb2NrKQogCQlnZnMyX2dsb2NrX2RxX3VuaW5pdCgmaV9naCk7CiAKIAlyZXR1cm4gZXJyb3I7CiB9CiAKK3N0YXRpYyBpbnQgZ2ZzMl9pb3BfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaywKKwkJCSAgICAgICBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKK3sKKwlyZXR1cm4gZ2ZzMl9wZXJtaXNzaW9uKGlub2RlLCBtYXNrKTsKK30KKwogc3RhdGljIGludCBzZXRhdHRyX3NpemUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGlhdHRyICphdHRyKQogewogCXN0cnVjdCBnZnMyX2lub2RlICppcCA9IEdGUzJfSShpbm9kZSk7CkBAIC0xMTQxLDcgKzExNTAsNyBAQAogfQogCiBjb25zdCBzdHJ1Y3QgaW5vZGVfb3BlcmF0aW9ucyBnZnMyX2ZpbGVfaW9wcyA9IHsKLQkucGVybWlzc2lvbiA9IGdmczJfcGVybWlzc2lvbiwKKwkucGVybWlzc2lvbiA9IGdmczJfaW9wX3Blcm1pc3Npb24sCiAJLnNldGF0dHIgPSBnZnMyX3NldGF0dHIsCiAJLmdldGF0dHIgPSBnZnMyX2dldGF0dHIsCiAJLnNldHhhdHRyID0gZ2ZzMl9zZXR4YXR0ciwKQEAgLTExNjAsNyArMTE2OSw3IEBACiAJLnJtZGlyID0gZ2ZzMl9ybWRpciwKIAkubWtub2QgPSBnZnMyX21rbm9kLAogCS5yZW5hbWUgPSBnZnMyX3JlbmFtZSwKLQkucGVybWlzc2lvbiA9IGdmczJfcGVybWlzc2lvbiwKKwkucGVybWlzc2lvbiA9IGdmczJfaW9wX3Blcm1pc3Npb24sCiAJLnNldGF0dHIgPSBnZnMyX3NldGF0dHIsCiAJLmdldGF0dHIgPSBnZnMyX2dldGF0dHIsCiAJLnNldHhhdHRyID0gZ2ZzMl9zZXR4YXR0ciwKQEAgLTExNzIsNyArMTE4MSw3IEBACiBjb25zdCBzdHJ1Y3QgaW5vZGVfb3BlcmF0aW9ucyBnZnMyX3N5bWxpbmtfaW9wcyA9IHsKIAkucmVhZGxpbmsgPSBnZnMyX3JlYWRsaW5rLAogCS5mb2xsb3dfbGluayA9IGdmczJfZm9sbG93X2xpbmssCi0JLnBlcm1pc3Npb24gPSBnZnMyX3Blcm1pc3Npb24sCisJLnBlcm1pc3Npb24gPSBnZnMyX2lvcF9wZXJtaXNzaW9uLAogCS5zZXRhdHRyID0gZ2ZzMl9zZXRhdHRyLAogCS5nZXRhdHRyID0gZ2ZzMl9nZXRhdHRyLAogCS5zZXR4YXR0ciA9IGdmczJfc2V0eGF0dHIsCmRpZmYgLS1naXQgYS9mcy9nZnMyL29wc19zdXBlci5jIGIvZnMvZ2ZzMi9vcHNfc3VwZXIuYwppbmRleCAwYjdjYzkyLi5mNjZlYTBmIDEwMDY0NAotLS0gYS9mcy9nZnMyL29wc19zdXBlci5jCisrKyBiL2ZzL2dmczIvb3BzX3N1cGVyLmMKQEAgLTEyNiw3ICsxMjYsNyBAQAogCWdmczJfY2xlYXJfcmdycGQoc2RwKTsKIAlnZnMyX2ppbmRleF9mcmVlKHNkcCk7CiAJLyogIFRha2UgYXBhcnQgZ2xvY2sgc3RydWN0dXJlcyBhbmQgYnVmZmVyIGxpc3RzICAqLwotCWdmczJfZ2xfaGFzaF9jbGVhcihzZHAsIFdBSVQpOworCWdmczJfZ2xfaGFzaF9jbGVhcihzZHApOwogCS8qICBVbm1vdW50IHRoZSBsb2NraW5nIHByb3RvY29sICAqLwogCWdmczJfbG1fdW5tb3VudChzZHApOwogCkBAIC0xNTUsNyArMTU1LDcgQEAKIHN0YXRpYyBpbnQgZ2ZzMl9zeW5jX2ZzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCB3YWl0KQogewogCXNiLT5zX2RpcnQgPSAwOwotCWlmICh3YWl0KQorCWlmICh3YWl0ICYmIHNiLT5zX2ZzX2luZm8pCiAJCWdmczJfbG9nX2ZsdXNoKHNiLT5zX2ZzX2luZm8sIE5VTEwpOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9xdW90YS5jIGIvZnMvZ2ZzMi9xdW90YS5jCmluZGV4IDU2YWFmOTEuLjNlMDczZjUgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvcXVvdGEuYworKysgYi9mcy9nZnMyL3F1b3RhLmMKQEAgLTkwNCw3ICs5MDQsNyBAQAogCQlkb19zeW5jID0gMDsKIAllbHNlIHsKIAkJdmFsdWUgKj0gZ2ZzMl9qaW5kZXhfc2l6ZShzZHApICogbnVtOwotCQlkb19kaXYodmFsdWUsIGRlbik7CisJCXZhbHVlID0gZGl2X3M2NCh2YWx1ZSwgZGVuKTsKIAkJdmFsdWUgKz0gKHM2NCliZTY0X3RvX2NwdShxZC0+cWRfcWIucWJfdmFsdWUpOwogCQlpZiAodmFsdWUgPCAoczY0KWJlNjRfdG9fY3B1KHFkLT5xZF9xYi5xYl9saW1pdCkpCiAJCQlkb19zeW5jID0gMDsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvcmVjb3ZlcnkuYyBiL2ZzL2dmczIvcmVjb3ZlcnkuYwppbmRleCAyODg4ZTRiLi5kNWU5MWY0IDEwMDY0NAotLS0gYS9mcy9nZnMyL3JlY292ZXJ5LmMKKysrIGIvZnMvZ2ZzMi9yZWNvdmVyeS5jCkBAIC00MjgsNiArNDI4LDkgQEAKIHN0YXRpYyB2b2lkIGdmczJfbG1fcmVjb3ZlcnlfZG9uZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgdW5zaWduZWQgaW50IGppZCwKIAkJCQkgIHVuc2lnbmVkIGludCBtZXNzYWdlKQogeworCWlmICghc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fcmVjb3ZlcnlfZG9uZSkKKwkJcmV0dXJuOworCiAJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQogCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9yZWNvdmVyeV9kb25lKAogCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX2xvY2tzcGFjZSwgamlkLCBtZXNzYWdlKTsKQEAgLTUwNSw3ICs1MDgsNyBAQAogCiAJCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9pbml0KHNkcC0+c2RfdHJhbnNfZ2wsIExNX1NUX1NIQVJFRCwKIAkJCQkJICAgTE1fRkxBR19OT0VYUCB8IExNX0ZMQUdfUFJJT1JJVFkgfAotCQkJCQkgICBHTF9OT0NBTkNFTCB8IEdMX05PQ0FDSEUsICZ0X2doKTsKKwkJCQkJICAgR0xfTk9DQUNIRSwgJnRfZ2gpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIGZhaWxfZ3VubG9ja19qaTsKIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9yZ3JwLmMgYi9mcy9nZnMyL3JncnAuYwppbmRleCAzNDAxNjI4Li4yZDkwZmIyIDEwMDY0NAotLS0gYS9mcy9nZnMyL3JncnAuYworKysgYi9mcy9nZnMyL3JncnAuYwpAQCAtMzcxLDExICszNzEsNiBAQAogCiAJc3Bpbl9sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKIAlzZHAtPnNkX3JpbmRleF9mb3J3YXJkID0gTlVMTDsKLQloZWFkID0gJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0OwotCXdoaWxlICghbGlzdF9lbXB0eShoZWFkKSkgewotCQlyZ2QgPSBsaXN0X2VudHJ5KGhlYWQtPm5leHQsIHN0cnVjdCBnZnMyX3JncnBkLCByZF9yZWNlbnQpOwotCQlsaXN0X2RlbCgmcmdkLT5yZF9yZWNlbnQpOwotCX0KIAlzcGluX3VubG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7CiAKIAloZWFkID0gJnNkcC0+c2RfcmluZGV4X2xpc3Q7CkBAIC05NDUsMTA3ICs5NDAsMzAgQEAKIH0KIAogLyoqCi0gKiByZWNlbnRfcmdycF9maXJzdCAtIGdldCBmaXJzdCBSRyBmcm9tICJyZWNlbnQiIGxpc3QKLSAqIEBzZHA6IFRoZSBHRlMyIHN1cGVyYmxvY2sKLSAqIEByZ2xhc3Q6IGFkZHJlc3Mgb2YgdGhlIHJncnAgdXNlZCBsYXN0Ci0gKgotICogUmV0dXJuczogVGhlIGZpcnN0IHJncnAgaW4gdGhlIHJlY2VudCBsaXN0Ci0gKi8KLQotc3RhdGljIHN0cnVjdCBnZnMyX3JncnBkICpyZWNlbnRfcmdycF9maXJzdChzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwKLQkJCQkJICAgIHU2NCByZ2xhc3QpCi17Ci0Jc3RydWN0IGdmczJfcmdycGQgKnJnZDsKLQotCXNwaW5fbG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7Ci0KLQlpZiAocmdsYXN0KSB7Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnkocmdkLCAmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QsIHJkX3JlY2VudCkgewotCQkJaWYgKHJncnBfY29udGFpbnNfYmxvY2socmdkLCByZ2xhc3QpKQotCQkJCWdvdG8gb3V0OwotCQl9Ci0JfQotCXJnZCA9IE5VTEw7Ci0JaWYgKCFsaXN0X2VtcHR5KCZzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdCkpCi0JCXJnZCA9IGxpc3RfZW50cnkoc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QubmV4dCwKLQkJCQkgc3RydWN0IGdmczJfcmdycGQsIHJkX3JlY2VudCk7Ci1vdXQ6Ci0Jc3Bpbl91bmxvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwotCXJldHVybiByZ2Q7Ci19Ci0KLS8qKgogICogcmVjZW50X3JncnBfbmV4dCAtIGdldCBuZXh0IFJHIGZyb20gInJlY2VudCIgbGlzdAogICogQGN1cl9yZ2Q6IGN1cnJlbnQgcmdycAotICogQHJlbW92ZToKICAqCiAgKiBSZXR1cm5zOiBUaGUgbmV4dCByZ3JwIGluIHRoZSByZWNlbnQgbGlzdAogICovCiAKLXN0YXRpYyBzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqcmVjZW50X3JncnBfbmV4dChzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqY3VyX3JnZCwKLQkJCQkJICAgaW50IHJlbW92ZSkKK3N0YXRpYyBzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqcmVjZW50X3JncnBfbmV4dChzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqY3VyX3JnZCkKIHsKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGN1cl9yZ2QtPnJkX3NiZDsKIAlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkOwogCXN0cnVjdCBnZnMyX3JncnBkICpyZ2Q7CiAKIAlzcGluX2xvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwotCi0JaGVhZCA9ICZzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdDsKLQotCWxpc3RfZm9yX2VhY2hfZW50cnkocmdkLCBoZWFkLCByZF9yZWNlbnQpIHsKLQkJaWYgKHJnZCA9PSBjdXJfcmdkKSB7Ci0JCQlpZiAoY3VyX3JnZC0+cmRfcmVjZW50Lm5leHQgIT0gaGVhZCkKLQkJCQlyZ2QgPSBsaXN0X2VudHJ5KGN1cl9yZ2QtPnJkX3JlY2VudC5uZXh0LAotCQkJCQkJIHN0cnVjdCBnZnMyX3JncnBkLCByZF9yZWNlbnQpOwotCQkJZWxzZQotCQkJCXJnZCA9IE5VTEw7Ci0KLQkJCWlmIChyZW1vdmUpCi0JCQkJbGlzdF9kZWwoJmN1cl9yZ2QtPnJkX3JlY2VudCk7Ci0KLQkJCWdvdG8gb3V0OwotCQl9CisJaGVhZCA9ICZzZHAtPnNkX3JpbmRleF9tcnVfbGlzdDsKKwlpZiAodW5saWtlbHkoY3VyX3JnZC0+cmRfbGlzdF9tcnUubmV4dCA9PSBoZWFkKSkgeworCQlzcGluX3VubG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7CisJCXJldHVybiBOVUxMOwogCX0KLQotCXJnZCA9IE5VTEw7Ci0JaWYgKCFsaXN0X2VtcHR5KGhlYWQpKQotCQlyZ2QgPSBsaXN0X2VudHJ5KGhlYWQtPm5leHQsIHN0cnVjdCBnZnMyX3JncnBkLCByZF9yZWNlbnQpOwotCi1vdXQ6CisJcmdkID0gbGlzdF9lbnRyeShjdXJfcmdkLT5yZF9saXN0X21ydS5uZXh0LCBzdHJ1Y3QgZ2ZzMl9yZ3JwZCwgcmRfbGlzdF9tcnUpOwogCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKIAlyZXR1cm4gcmdkOwogfQogCiAvKioKLSAqIHJlY2VudF9yZ3JwX2FkZCAtIGFkZCBhbiBSRyB0byB0YWlsIG9mICJyZWNlbnQiIGxpc3QKLSAqIEBuZXdfcmdkOiBUaGUgcmdycCB0byBhZGQKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgcmVjZW50X3JncnBfYWRkKHN0cnVjdCBnZnMyX3JncnBkICpuZXdfcmdkKQotewotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gbmV3X3JnZC0+cmRfc2JkOwotCXN0cnVjdCBnZnMyX3JncnBkICpyZ2Q7Ci0JdW5zaWduZWQgaW50IGNvdW50ID0gMDsKLQl1bnNpZ25lZCBpbnQgbWF4ID0gc2RwLT5zZF9yZ3JwcyAvIGdmczJfamluZGV4X3NpemUoc2RwKTsKLQotCXNwaW5fbG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJnZCwgJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0LCByZF9yZWNlbnQpIHsKLQkJaWYgKHJnZCA9PSBuZXdfcmdkKQotCQkJZ290byBvdXQ7Ci0KLQkJaWYgKCsrY291bnQgPj0gbWF4KQotCQkJZ290byBvdXQ7Ci0JfQotCWxpc3RfYWRkX3RhaWwoJm5ld19yZ2QtPnJkX3JlY2VudCwgJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0KTsKLQotb3V0OgotCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKLX0KLQotLyoqCiAgKiBmb3J3YXJkX3JncnBfZ2V0IC0gZ2V0IGFuIHJncnAgdG8gdHJ5IG5leHQgZnJvbSBmdWxsIGxpc3QKICAqIEBzZHA6IFRoZSBHRlMyIHN1cGVyYmxvY2sKICAqCkBAIC0xMTEyLDkgKzEwMzAsNyBAQAogCWludCBsb29wcyA9IDA7CiAJaW50IGVycm9yLCByZ19sb2NrZWQ7CiAKLQkvKiBUcnkgcmVjZW50bHkgc3VjY2Vzc2Z1bCByZ3JwcyAqLwotCi0JcmdkID0gcmVjZW50X3JncnBfZmlyc3Qoc2RwLCBpcC0+aV9nb2FsKTsKKwlyZ2QgPSBnZnMyX2JsazJyZ3JwZChzZHAsIGlwLT5pX2dvYWwpOwogCiAJd2hpbGUgKHJnZCkgewogCQlyZ19sb2NrZWQgPSAwOwpAQCAtMTEzNiwxMSArMTA1Miw5IEBACiAJCQkJZ2ZzMl9nbG9ja19kcV91bmluaXQoJmFsLT5hbF9yZ2RfZ2gpOwogCQkJaWYgKGlub2RlKQogCQkJCXJldHVybiBpbm9kZTsKLQkJCXJnZCA9IHJlY2VudF9yZ3JwX25leHQocmdkLCAxKTsKLQkJCWJyZWFrOwotCisJCQkvKiBmYWxsIHRocm91Z2ggKi8KIAkJY2FzZSBHTFJfVFJZRkFJTEVEOgotCQkJcmdkID0gcmVjZW50X3JncnBfbmV4dChyZ2QsIDApOworCQkJcmdkID0gcmVjZW50X3JncnBfbmV4dChyZ2QpOwogCQkJYnJlYWs7CiAKIAkJZGVmYXVsdDoKQEAgLTExOTksNyArMTExMyw5IEBACiAKIG91dDoKIAlpZiAoYmVnaW4pIHsKLQkJcmVjZW50X3JncnBfYWRkKHJnZCk7CisJCXNwaW5fbG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7CisJCWxpc3RfbW92ZSgmcmdkLT5yZF9saXN0X21ydSwgJnNkcC0+c2RfcmluZGV4X21ydV9saXN0KTsKKwkJc3Bpbl91bmxvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwogCQlyZ2QgPSBnZnMyX3JncnBkX2dldF9uZXh0KHJnZCk7CiAJCWlmICghcmdkKQogCQkJcmdkID0gZ2ZzMl9yZ3JwZF9nZXRfZmlyc3Qoc2RwKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvc3VwZXIuYyBiL2ZzL2dmczIvc3VwZXIuYwppbmRleCA3YWVhY2JjLi42M2E4YTkwIDEwMDY0NAotLS0gYS9mcy9nZnMyL3N1cGVyLmMKKysrIGIvZnMvZ2ZzMi9zdXBlci5jCkBAIC02NSw3ICs2NSw2IEBACiAJZ3QtPmd0X3F1b3RhX3F1YW50dW0gPSA2MDsKIAlndC0+Z3RfYXRpbWVfcXVhbnR1bSA9IDM2MDA7CiAJZ3QtPmd0X25ld19maWxlc19qZGF0YSA9IDA7Ci0JZ3QtPmd0X25ld19maWxlc19kaXJlY3RpbyA9IDA7CiAJZ3QtPmd0X21heF9yZWFkYWhlYWQgPSAxIDw8IDE4OwogCWd0LT5ndF9zdGFsbF9zZWNzID0gNjAwOwogCWd0LT5ndF9jb21wbGFpbl9zZWNzID0gMTA7CkBAIC05NDEsOCArOTQwLDcgQEAKIAl9CiAKIAllcnJvciA9IGdmczJfZ2xvY2tfbnFfaW5pdChzZHAtPnNkX3RyYW5zX2dsLCBMTV9TVF9ERUZFUlJFRCwKLQkJCSAgICAgICBMTV9GTEFHX1BSSU9SSVRZIHwgR0xfTk9DQUNIRSwKLQkJCSAgICAgICB0X2doKTsKKwkJCQkgICBHTF9OT0NBQ0hFLCB0X2doKTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkoamQsICZzZHAtPnNkX2ppbmRleF9saXN0LCBqZF9saXN0KSB7CiAJCWVycm9yID0gZ2ZzMl9qZGVzY19jaGVjayhqZCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL3N5cy5jIGIvZnMvZ2ZzMi9zeXMuYwppbmRleCA5YWI5ZmM4Li43NDg0NjU1IDEwMDY0NAotLS0gYS9mcy9nZnMyL3N5cy5jCisrKyBiL2ZzL2dmczIvc3lzLmMKQEAgLTExMCwxOCArMTEwLDYgQEAKIAlyZXR1cm4gbGVuOwogfQogCi1zdGF0aWMgc3NpemVfdCBzaHJpbmtfc3RvcmUoc3RydWN0IGdmczJfc2JkICpzZHAsIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKLXsKLQlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCi0JCXJldHVybiAtRUFDQ0VTOwotCi0JaWYgKHNpbXBsZV9zdHJ0b2woYnVmLCBOVUxMLCAwKSAhPSAxKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWdmczJfZ2xfaGFzaF9jbGVhcihzZHAsIE5PX1dBSVQpOwotCXJldHVybiBsZW47Ci19Ci0KIHN0YXRpYyBzc2l6ZV90IHF1b3RhX3N5bmNfc3RvcmUoc3RydWN0IGdmczJfc2JkICpzZHAsIGNvbnN0IGNoYXIgKmJ1ZiwKIAkJCQlzaXplX3QgbGVuKQogewpAQCAtMTc1LDcgKzE2Myw2IEBACiBHRlMyX0FUVFIoaWQsICAgICAgICAgICAgICAgICAgMDQ0NCwgaWRfc2hvdywgICAgICAgTlVMTCk7CiBHRlMyX0FUVFIoZnNuYW1lLCAgICAgICAgICAgICAgMDQ0NCwgZnNuYW1lX3Nob3csICAgTlVMTCk7CiBHRlMyX0FUVFIoZnJlZXplLCAgICAgICAgICAgICAgMDY0NCwgZnJlZXplX3Nob3csICAgZnJlZXplX3N0b3JlKTsKLUdGUzJfQVRUUihzaHJpbmssICAgICAgICAgICAgICAwMjAwLCBOVUxMLCAgICAgICAgICBzaHJpbmtfc3RvcmUpOwogR0ZTMl9BVFRSKHdpdGhkcmF3LCAgICAgICAgICAgIDA2NDQsIHdpdGhkcmF3X3Nob3csIHdpdGhkcmF3X3N0b3JlKTsKIEdGUzJfQVRUUihzdGF0ZnNfc3luYywgICAgICAgICAwMjAwLCBOVUxMLCAgICAgICAgICBzdGF0ZnNfc3luY19zdG9yZSk7CiBHRlMyX0FUVFIocXVvdGFfc3luYywgICAgICAgICAgMDIwMCwgTlVMTCwgICAgICAgICAgcXVvdGFfc3luY19zdG9yZSk7CkBAIC0xODYsNyArMTczLDYgQEAKIAkmZ2ZzMl9hdHRyX2lkLmF0dHIsCiAJJmdmczJfYXR0cl9mc25hbWUuYXR0ciwKIAkmZ2ZzMl9hdHRyX2ZyZWV6ZS5hdHRyLAotCSZnZnMyX2F0dHJfc2hyaW5rLmF0dHIsCiAJJmdmczJfYXR0cl93aXRoZHJhdy5hdHRyLAogCSZnZnMyX2F0dHJfc3RhdGZzX3N5bmMuYXR0ciwKIAkmZ2ZzMl9hdHRyX3F1b3RhX3N5bmMuYXR0ciwKQEAgLTQyNiw3ICs0MTIsNiBAQAogVFVORV9BVFRSKGNvbXBsYWluX3NlY3MsIDApOwogVFVORV9BVFRSKHN0YXRmc19zbG93LCAwKTsKIFRVTkVfQVRUUihuZXdfZmlsZXNfamRhdGEsIDApOwotVFVORV9BVFRSKG5ld19maWxlc19kaXJlY3RpbywgMCk7CiBUVU5FX0FUVFIocXVvdGFfc2ltdWxfc3luYywgMSk7CiBUVU5FX0FUVFIocXVvdGFfY2FjaGVfc2VjcywgMSk7CiBUVU5FX0FUVFIoc3RhbGxfc2VjcywgMSk7CkBAIC00NTUsNyArNDQwLDYgQEAKIAkmdHVuZV9hdHRyX3F1b3RhZF9zZWNzLmF0dHIsCiAJJnR1bmVfYXR0cl9xdW90YV9zY2FsZS5hdHRyLAogCSZ0dW5lX2F0dHJfbmV3X2ZpbGVzX2pkYXRhLmF0dHIsCi0JJnR1bmVfYXR0cl9uZXdfZmlsZXNfZGlyZWN0aW8uYXR0ciwKIAlOVUxMLAogfTsKIApkaWZmIC0tZ2l0IGEvZnMvamJkMi9jaGVja3BvaW50LmMgYi9mcy9qYmQyL2NoZWNrcG9pbnQuYwppbmRleCA2OTE0NTk4Li45MTM4OWM4IDEwMDY0NAotLS0gYS9mcy9qYmQyL2NoZWNrcG9pbnQuYworKysgYi9mcy9qYmQyL2NoZWNrcG9pbnQuYwpAQCAtNjg4LDcgKzY4OCw2IEBACiAKIAlKX0FTU0VSVCh0cmFuc2FjdGlvbi0+dF9zdGF0ZSA9PSBUX0ZJTklTSEVEKTsKIAlKX0FTU0VSVCh0cmFuc2FjdGlvbi0+dF9idWZmZXJzID09IE5VTEwpOwotCUpfQVNTRVJUKHRyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3QgPT0gTlVMTCk7CiAJSl9BU1NFUlQodHJhbnNhY3Rpb24tPnRfZm9yZ2V0ID09IE5VTEwpOwogCUpfQVNTRVJUKHRyYW5zYWN0aW9uLT50X2lvYnVmX2xpc3QgPT0gTlVMTCk7CiAJSl9BU1NFUlQodHJhbnNhY3Rpb24tPnRfc2hhZG93X2xpc3QgPT0gTlVMTCk7CmRpZmYgLS1naXQgYS9mcy9qYmQyL2NvbW1pdC5jIGIvZnMvamJkMi9jb21taXQuYwppbmRleCBhMmVkNzJmLi5mOGIzYmU4IDEwMDY0NAotLS0gYS9mcy9qYmQyL2NvbW1pdC5jCisrKyBiL2ZzL2piZDIvY29tbWl0LmMKQEAgLTIyLDYgKzIyLDggQEAKICNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgogI2luY2x1ZGUgPGxpbnV4L2NyYzMyLmg+CisjaW5jbHVkZSA8bGludXgvd3JpdGViYWNrLmg+CisjaW5jbHVkZSA8bGludXgvYmFja2luZy1kZXYuaD4KIAogLyoKICAqIERlZmF1bHQgSU8gZW5kIGhhbmRsZXIgZm9yIHRlbXBvcmFyeSBCSl9JTyBidWZmZXJfaGVhZHMuCkBAIC0zNyw4ICszOSw4IEBACiB9CiAKIC8qCi0gKiBXaGVuIGFuIGV4dDMtb3JkZXJlZCBmaWxlIGlzIHRydW5jYXRlZCwgaXQgaXMgcG9zc2libGUgdGhhdCBtYW55IHBhZ2VzIGFyZQotICogbm90IHN1Y2Vzc2Z1bGx5IGZyZWVkLCBiZWNhdXNlIHRoZXkgYXJlIGF0dGFjaGVkIHRvIGEgY29tbWl0dGluZyB0cmFuc2FjdGlvbi4KKyAqIFdoZW4gYW4gZXh0NCBmaWxlIGlzIHRydW5jYXRlZCwgaXQgaXMgcG9zc2libGUgdGhhdCBzb21lIHBhZ2VzIGFyZSBub3QKKyAqIHN1Y2Nlc3NmdWxseSBmcmVlZCwgYmVjYXVzZSB0aGV5IGFyZSBhdHRhY2hlZCB0byBhIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24uCiAgKiBBZnRlciB0aGUgdHJhbnNhY3Rpb24gY29tbWl0cywgdGhlc2UgcGFnZXMgYXJlIGxlZnQgb24gdGhlIExSVSwgd2l0aCBubwogICogLT5tYXBwaW5nLCBhbmQgd2l0aCBhdHRhY2hlZCBidWZmZXJzLiAgVGhlc2UgcGFnZXMgYXJlIHRyaXZpYWxseSByZWNsYWltYWJsZQogICogYnkgdGhlIFZNLCBidXQgdGhlaXIgYXBwYXJlbnQgYWJzZW5jZSB1cHNldHMgdGhlIFZNIGFjY291bnRpbmcsIGFuZCBpdCBtYWtlcwpAQCAtODAsMjEgKzgyLDYgQEAKIH0KIAogLyoKLSAqIFRyeSB0byBhY3F1aXJlIGpiZF9sb2NrX2JoX3N0YXRlKCkgYWdhaW5zdCB0aGUgYnVmZmVyLCB3aGVuIGpfbGlzdF9sb2NrIGlzCi0gKiBoZWxkLiAgRm9yIHJhbmtpbmcgcmVhc29ucyB3ZSBtdXN0IHRyeWxvY2suICBJZiB3ZSBsb3NlLCBzY2hlZHVsZSBhd2F5IGFuZAotICogcmV0dXJuIDAuICBqX2xpc3RfbG9jayBpcyBkcm9wcGVkIGluIHRoaXMgY2FzZS4KLSAqLwotc3RhdGljIGludCBpbnZlcnRlZF9sb2NrKGpvdXJuYWxfdCAqam91cm5hbCwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKLXsKLQlpZiAoIWpiZF90cnlsb2NrX2JoX3N0YXRlKGJoKSkgewotCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQlzY2hlZHVsZSgpOwotCQlyZXR1cm4gMDsKLQl9Ci0JcmV0dXJuIDE7Ci19Ci0KLS8qCiAgKiBEb25lIGl0IGFsbDogbm93IHN1Ym1pdCB0aGUgY29tbWl0IHJlY29yZC4gIFdlIHNob3VsZCBoYXZlCiAgKiBjbGVhbmVkIHVwIG91ciBwcmV2aW91cyBidWZmZXJzIGJ5IG5vdywgc28gaWYgd2UgYXJlIGluIGFib3J0CiAgKiBtb2RlIHdlIGNhbiBub3cganVzdCBza2lwIHRoZSByZXN0IG9mIHRoZSBqb3VybmFsIHdyaXRlCkBAIC0xMTIsNiArOTksNyBAQAogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CiAJaW50IHJldDsKIAlpbnQgYmFycmllcl9kb25lID0gMDsKKwlzdHJ1Y3QgdGltZXNwZWMgbm93ID0gY3VycmVudF9rZXJuZWxfdGltZSgpOwogCiAJaWYgKGlzX2pvdXJuYWxfYWJvcnRlZChqb3VybmFsKSkKIAkJcmV0dXJuIDA7CkBAIC0xMjYsNiArMTE0LDggQEAKIAl0bXAtPmhfbWFnaWMgPSBjcHVfdG9fYmUzMihKQkQyX01BR0lDX05VTUJFUik7CiAJdG1wLT5oX2Jsb2NrdHlwZSA9IGNwdV90b19iZTMyKEpCRDJfQ09NTUlUX0JMT0NLKTsKIAl0bXAtPmhfc2VxdWVuY2UgPSBjcHVfdG9fYmUzMihjb21taXRfdHJhbnNhY3Rpb24tPnRfdGlkKTsKKwl0bXAtPmhfY29tbWl0X3NlYyA9IGNwdV90b19iZTY0KG5vdy50dl9zZWMpOworCXRtcC0+aF9jb21taXRfbnNlYyA9IGNwdV90b19iZTMyKG5vdy50dl9uc2VjKTsKIAogCWlmIChKQkQyX0hBU19DT01QQVRfRkVBVFVSRShqb3VybmFsLAogCQkJCSAgICBKQkQyX0ZFQVRVUkVfQ09NUEFUX0NIRUNLU1VNKSkgewpAQCAtMTk3LDE1OSArMTg3LDEwNCBAQAogfQogCiAvKgotICogV2FpdCBmb3IgYWxsIHN1Ym1pdHRlZCBJTyB0byBjb21wbGV0ZS4KKyAqIHdyaXRlIHRoZSBmaWxlbWFwIGRhdGEgdXNpbmcgd3JpdGVwYWdlKCkgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zLgorICogV2UgZG9uJ3QgZG8gYmxvY2sgYWxsb2NhdGlvbiBoZXJlIGV2ZW4gZm9yIGRlbGFsbG9jLiBXZSBkb24ndAorICogdXNlIHdyaXRlcGFnZXMoKSBiZWNhdXNlIHdpdGggZGVhbHllZCBhbGxvY2F0aW9uIHdlIG1heSBiZSBkb2luZworICogYmxvY2sgYWxsb2NhdGlvbiBpbiB3cml0ZXBhZ2VzKCkuCiAgKi8KLXN0YXRpYyBpbnQgam91cm5hbF93YWl0X29uX2xvY2tlZF9saXN0KGpvdXJuYWxfdCAqam91cm5hbCwKLQkJCQkgICAgICAgdHJhbnNhY3Rpb25fdCAqY29tbWl0X3RyYW5zYWN0aW9uKQorc3RhdGljIGludCBqb3VybmFsX3N1Ym1pdF9pbm9kZV9kYXRhX2J1ZmZlcnMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcpCiB7Ci0JaW50IHJldCA9IDA7Ci0Jc3RydWN0IGpvdXJuYWxfaGVhZCAqamg7CisJaW50IHJldDsKKwlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgd2JjID0geworCQkuc3luY19tb2RlID0gIFdCX1NZTkNfQUxMLAorCQkubnJfdG9fd3JpdGUgPSBtYXBwaW5nLT5ucnBhZ2VzICogMiwKKwkJLnJhbmdlX3N0YXJ0ID0gMCwKKwkJLnJhbmdlX2VuZCA9IGlfc2l6ZV9yZWFkKG1hcHBpbmctPmhvc3QpLAorCQkuZm9yX3dyaXRlcGFnZXMgPSAxLAorCX07CiAKLQl3aGlsZSAoY29tbWl0X3RyYW5zYWN0aW9uLT50X2xvY2tlZF9saXN0KSB7Ci0JCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7Ci0KLQkJamggPSBjb21taXRfdHJhbnNhY3Rpb24tPnRfbG9ja2VkX2xpc3QtPmJfdHByZXY7Ci0JCWJoID0gamgyYmgoamgpOwotCQlnZXRfYmgoYmgpOwotCQlpZiAoYnVmZmVyX2xvY2tlZChiaCkpIHsKLQkJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQl3YWl0X29uX2J1ZmZlcihiaCk7Ci0JCQlpZiAodW5saWtlbHkoIWJ1ZmZlcl91cHRvZGF0ZShiaCkpKQotCQkJCXJldCA9IC1FSU87Ci0JCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJfQotCQlpZiAoIWludmVydGVkX2xvY2soam91cm5hbCwgYmgpKSB7Ci0JCQlwdXRfYmgoYmgpOwotCQkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAoYnVmZmVyX2piZChiaCkgJiYgamgtPmJfamxpc3QgPT0gQkpfTG9ja2VkKSB7Ci0JCQlfX2piZDJfam91cm5hbF91bmZpbGVfYnVmZmVyKGpoKTsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoYmgpOwotCQkJcHV0X2JoKGJoKTsKLQkJfSBlbHNlIHsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQl9Ci0JCXB1dF9iaChiaCk7Ci0JCWNvbmRfcmVzY2hlZF9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JfQorCXJldCA9IGdlbmVyaWNfd3JpdGVwYWdlcyhtYXBwaW5nLCAmd2JjKTsKIAlyZXR1cm4gcmV0OwotICB9Ci0KLXN0YXRpYyB2b2lkIGpvdXJuYWxfZG9fc3VibWl0X2RhdGEoc3RydWN0IGJ1ZmZlcl9oZWFkICoqd2J1ZiwgaW50IGJ1ZnMpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgYnVmczsgaSsrKSB7Ci0JCXdidWZbaV0tPmJfZW5kX2lvID0gZW5kX2J1ZmZlcl93cml0ZV9zeW5jOwotCQkvKiBXZSB1c2UtdXAgb3VyIHNhZmV0eSByZWZlcmVuY2UgaW4gc3VibWl0X2JoKCkgKi8KLQkJc3VibWl0X2JoKFdSSVRFLCB3YnVmW2ldKTsKLQl9CiB9CiAKIC8qCi0gKiAgU3VibWl0IGFsbCB0aGUgZGF0YSBidWZmZXJzIHRvIGRpc2sKKyAqIFN1Ym1pdCBhbGwgdGhlIGRhdGEgYnVmZmVycyBvZiBpbm9kZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRyYW5zYWN0aW9uIHRvCisgKiBkaXNrLgorICoKKyAqIFdlIGFyZSBpbiBhIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24uIFRoZXJlZm9yZSBubyBuZXcgaW5vZGUgY2FuIGJlIGFkZGVkIHRvCisgKiBvdXIgaW5vZGUgbGlzdC4gV2UgdXNlIEpJX0NPTU1JVF9SVU5OSU5HIGZsYWcgdG8gcHJvdGVjdCBpbm9kZSB3ZSBjdXJyZW50bHkKKyAqIG9wZXJhdGUgb24gZnJvbSBiZWluZyByZWxlYXNlZCB3aGlsZSB3ZSB3cml0ZSBvdXQgcGFnZXMuCiAgKi8KLXN0YXRpYyB2b2lkIGpvdXJuYWxfc3VibWl0X2RhdGFfYnVmZmVycyhqb3VybmFsX3QgKmpvdXJuYWwsCi0JCQkJdHJhbnNhY3Rpb25fdCAqY29tbWl0X3RyYW5zYWN0aW9uKQorc3RhdGljIGludCBqb3VybmFsX3N1Ym1pdF9kYXRhX2J1ZmZlcnMoam91cm5hbF90ICpqb3VybmFsLAorCQl0cmFuc2FjdGlvbl90ICpjb21taXRfdHJhbnNhY3Rpb24pCiB7Ci0Jc3RydWN0IGpvdXJuYWxfaGVhZCAqamg7Ci0Jc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKLQlpbnQgbG9ja2VkOwotCWludCBidWZzID0gMDsKLQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKip3YnVmID0gam91cm5hbC0+al93YnVmOworCXN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGU7CisJaW50IGVyciwgcmV0ID0gMDsKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZzsKIAotCS8qCi0JICogV2hlbmV2ZXIgd2UgdW5sb2NrIHRoZSBqb3VybmFsIGFuZCBzbGVlcCwgdGhpbmdzIGNhbiBnZXQgYWRkZWQKLQkgKiBvbnRvIC0+dF9zeW5jX2RhdGFsaXN0LCBzbyB3ZSBoYXZlIHRvIGtlZXAgbG9vcGluZyBiYWNrIHRvCi0JICogd3JpdGVfb3V0X2RhdGEgdW50aWwgd2UgKmtub3cqIHRoYXQgdGhlIGxpc3QgaXMgZW1wdHkuCi0JICoKLQkgKiBDbGVhbnVwIGFueSBmbHVzaGVkIGRhdGEgYnVmZmVycyBmcm9tIHRoZSBkYXRhIGxpc3QuICBFdmVuIGluCi0JICogYWJvcnQgbW9kZSwgd2Ugd2FudCB0byBmbHVzaCB0aGlzIG91dCBhcyBzb29uIGFzIHBvc3NpYmxlLgotCSAqLwotd3JpdGVfb3V0X2RhdGE6Ci0JY29uZF9yZXNjaGVkKCk7CiAJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0KLQl3aGlsZSAoY29tbWl0X3RyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3QpIHsKLQkJamggPSBjb21taXRfdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdDsKLQkJYmggPSBqaDJiaChqaCk7Ci0JCWxvY2tlZCA9IDA7Ci0KLQkJLyogR2V0IHJlZmVyZW5jZSBqdXN0IHRvIG1ha2Ugc3VyZSBidWZmZXIgZG9lcyBub3QgZGlzYXBwZWFyCi0JCSAqIHdoZW4gd2UgYXJlIGZvcmNlZCB0byBkcm9wIHZhcmlvdXMgbG9ja3MgKi8KLQkJZ2V0X2JoKGJoKTsKLQkJLyogSWYgdGhlIGJ1ZmZlciBpcyBkaXJ0eSwgd2UgbmVlZCB0byBzdWJtaXQgSU8gYW5kIGhlbmNlCi0JCSAqIHdlIG5lZWQgdGhlIGJ1ZmZlciBsb2NrLiBXZSB0cnkgdG8gbG9jayB0aGUgYnVmZmVyIHdpdGhvdXQKLQkJICogYmxvY2tpbmcuIElmIHdlIGZhaWwsIHdlIG5lZWQgdG8gZHJvcCBqX2xpc3RfbG9jayBhbmQgZG8KLQkJICogYmxvY2tpbmcgbG9ja19idWZmZXIoKS4KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGppbm9kZSwgJmNvbW1pdF90cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0LCBpX2xpc3QpIHsKKwkJbWFwcGluZyA9IGppbm9kZS0+aV92ZnNfaW5vZGUtPmlfbWFwcGluZzsKKwkJamlub2RlLT5pX2ZsYWdzIHw9IEpJX0NPTU1JVF9SVU5OSU5HOworCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCQkvKgorCQkgKiBzdWJtaXQgdGhlIGlub2RlIGRhdGEgYnVmZmVycy4gV2UgdXNlIHdyaXRlcGFnZQorCQkgKiBpbnN0ZWFkIG9mIHdyaXRlcGFnZXMuIEJlY2F1c2Ugd3JpdGVwYWdlcyBjYW4gZG8KKwkJICogYmxvY2sgYWxsb2NhdGlvbiAgd2l0aCBkZWxhbGxvYy4gV2UgbmVlZCB0byB3cml0ZQorCQkgKiBvbmx5IGFsbG9jYXRlZCBibG9ja3MgaGVyZS4KIAkJICovCi0JCWlmIChidWZmZXJfZGlydHkoYmgpKSB7Ci0JCQlpZiAodGVzdF9zZXRfYnVmZmVyX2xvY2tlZChiaCkpIHsKLQkJCQlCVUZGRVJfVFJBQ0UoYmgsICJuZWVkcyBibG9ja2luZyBsb2NrIik7Ci0JCQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCQkvKiBXcml0ZSBvdXQgYWxsIGRhdGEgdG8gcHJldmVudCBkZWFkbG9ja3MgKi8KLQkJCQlqb3VybmFsX2RvX3N1Ym1pdF9kYXRhKHdidWYsIGJ1ZnMpOwotCQkJCWJ1ZnMgPSAwOwotCQkJCWxvY2tfYnVmZmVyKGJoKTsKLQkJCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCX0KLQkJCWxvY2tlZCA9IDE7Ci0JCX0KLQkJLyogV2UgaGF2ZSB0byBnZXQgYmhfc3RhdGUgbG9jay4gQWdhaW4gb3V0IG9mIG9yZGVyLCBzaWdoLiAqLwotCQlpZiAoIWludmVydGVkX2xvY2soam91cm5hbCwgYmgpKSB7Ci0JCQlqYmRfbG9ja19iaF9zdGF0ZShiaCk7Ci0JCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJfQotCQkvKiBTb21lb25lIGFscmVhZHkgY2xlYW5lZCB1cCB0aGUgYnVmZmVyPyAqLwotCQlpZiAoIWJ1ZmZlcl9qYmQoYmgpCi0JCQl8fCBqaC0+Yl90cmFuc2FjdGlvbiAhPSBjb21taXRfdHJhbnNhY3Rpb24KLQkJCXx8IGpoLT5iX2psaXN0ICE9IEJKX1N5bmNEYXRhKSB7Ci0JCQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCWlmIChsb2NrZWQpCi0JCQkJdW5sb2NrX2J1ZmZlcihiaCk7Ci0JCQlCVUZGRVJfVFJBQ0UoYmgsICJhbHJlYWR5IGNsZWFuZWQgdXAiKTsKLQkJCXB1dF9iaChiaCk7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAobG9ja2VkICYmIHRlc3RfY2xlYXJfYnVmZmVyX2RpcnR5KGJoKSkgewotCQkJQlVGRkVSX1RSQUNFKGJoLCAibmVlZHMgd3JpdGVvdXQsIGFkZGluZyB0byBhcnJheSIpOwotCQkJd2J1ZltidWZzKytdID0gYmg7Ci0JCQlfX2piZDJfam91cm5hbF9maWxlX2J1ZmZlcihqaCwgY29tbWl0X3RyYW5zYWN0aW9uLAotCQkJCQkJQkpfTG9ja2VkKTsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJaWYgKGJ1ZnMgPT0gam91cm5hbC0+al93YnVmc2l6ZSkgewotCQkJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQkJam91cm5hbF9kb19zdWJtaXRfZGF0YSh3YnVmLCBidWZzKTsKLQkJCQlidWZzID0gMDsKLQkJCQlnb3RvIHdyaXRlX291dF9kYXRhOwotCQkJfQotCQl9IGVsc2UgaWYgKCFsb2NrZWQgJiYgYnVmZmVyX2xvY2tlZChiaCkpIHsKLQkJCV9famJkMl9qb3VybmFsX2ZpbGVfYnVmZmVyKGpoLCBjb21taXRfdHJhbnNhY3Rpb24sCi0JCQkJCQlCSl9Mb2NrZWQpOwotCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCQlwdXRfYmgoYmgpOwotCQl9IGVsc2UgewotCQkJQlVGRkVSX1RSQUNFKGJoLCAid3JpdGVvdXQgY29tcGxldGU6IHVuZmlsZSIpOwotCQkJX19qYmQyX2pvdXJuYWxfdW5maWxlX2J1ZmZlcihqaCk7Ci0JCQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCWlmIChsb2NrZWQpCi0JCQkJdW5sb2NrX2J1ZmZlcihiaCk7Ci0JCQlqYmQyX2pvdXJuYWxfcmVtb3ZlX2pvdXJuYWxfaGVhZChiaCk7Ci0JCQkvKiBPbmNlIGZvciBvdXIgc2FmZXR5IHJlZmVyZW5jZSwgb25jZSBmb3IKLQkJCSAqIGpiZDJfam91cm5hbF9yZW1vdmVfam91cm5hbF9oZWFkKCkgKi8KLQkJCXB1dF9iaChiaCk7Ci0JCQlwdXRfYmgoYmgpOwotCQl9CisJCWVyciA9IGpvdXJuYWxfc3VibWl0X2lub2RlX2RhdGFfYnVmZmVycyhtYXBwaW5nKTsKKwkJaWYgKCFyZXQpCisJCQlyZXQgPSBlcnI7CisJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCQlKX0FTU0VSVChqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPT0gY29tbWl0X3RyYW5zYWN0aW9uKTsKKwkJamlub2RlLT5pX2ZsYWdzICY9IH5KSV9DT01NSVRfUlVOTklORzsKKwkJd2FrZV91cF9iaXQoJmppbm9kZS0+aV9mbGFncywgX19KSV9DT01NSVRfUlVOTklORyk7CisJfQorCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJcmV0dXJuIHJldDsKK30KIAotCQlpZiAobmVlZF9yZXNjaGVkKCkgfHwgc3Bpbl9uZWVkYnJlYWsoJmpvdXJuYWwtPmpfbGlzdF9sb2NrKSkgewotCQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCWdvdG8gd3JpdGVfb3V0X2RhdGE7CisvKgorICogV2FpdCBmb3IgZGF0YSBzdWJtaXR0ZWQgZm9yIHdyaXRlb3V0LCByZWZpbGUgaW5vZGVzIHRvIHByb3BlcgorICogdHJhbnNhY3Rpb24gaWYgbmVlZGVkLgorICoKKyAqLworc3RhdGljIGludCBqb3VybmFsX2ZpbmlzaF9pbm9kZV9kYXRhX2J1ZmZlcnMoam91cm5hbF90ICpqb3VybmFsLAorCQl0cmFuc2FjdGlvbl90ICpjb21taXRfdHJhbnNhY3Rpb24pCit7CisJc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZSwgKm5leHRfaTsKKwlpbnQgZXJyLCByZXQgPSAwOworCisJLyogRm9yIGxvY2tpbmcsIHNlZSB0aGUgY29tbWVudCBpbiBqb3VybmFsX3N1Ym1pdF9kYXRhX2J1ZmZlcnMoKSAqLworCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCWxpc3RfZm9yX2VhY2hfZW50cnkoamlub2RlLCAmY29tbWl0X3RyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QsIGlfbGlzdCkgeworCQlqaW5vZGUtPmlfZmxhZ3MgfD0gSklfQ09NTUlUX1JVTk5JTkc7CisJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJCWVyciA9IGZpbGVtYXBfZmRhdGF3YWl0KGppbm9kZS0+aV92ZnNfaW5vZGUtPmlfbWFwcGluZyk7CisJCWlmICghcmV0KQorCQkJcmV0ID0gZXJyOworCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwkJamlub2RlLT5pX2ZsYWdzICY9IH5KSV9DT01NSVRfUlVOTklORzsKKwkJd2FrZV91cF9iaXQoJmppbm9kZS0+aV9mbGFncywgX19KSV9DT01NSVRfUlVOTklORyk7CisJfQorCisJLyogTm93IHJlZmlsZSBpbm9kZSB0byBwcm9wZXIgbGlzdHMgKi8KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoamlub2RlLCBuZXh0X2ksCisJCQkJICZjb21taXRfdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCwgaV9saXN0KSB7CisJCWxpc3RfZGVsKCZqaW5vZGUtPmlfbGlzdCk7CisJCWlmIChqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbikgeworCQkJamlub2RlLT5pX3RyYW5zYWN0aW9uID0gamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb247CisJCQlqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9IE5VTEw7CisJCQlsaXN0X2FkZCgmamlub2RlLT5pX2xpc3QsCisJCQkJJmppbm9kZS0+aV90cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0KTsKKwkJfSBlbHNlIHsKKwkJCWppbm9kZS0+aV90cmFuc2FjdGlvbiA9IE5VTEw7CiAJCX0KIAl9CiAJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQlqb3VybmFsX2RvX3N1Ym1pdF9kYXRhKHdidWYsIGJ1ZnMpOworCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIF9fdTMyIGpiZDJfY2hlY2tzdW1fZGF0YShfX3UzMiBjcmMzMl9zdW0sIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCkBAIC01MjQsMjEgKzQ1OSw3IEBACiAJICogTm93IHN0YXJ0IGZsdXNoaW5nIHRoaW5ncyB0byBkaXNrLCBpbiB0aGUgb3JkZXIgdGhleSBhcHBlYXIKIAkgKiBvbiB0aGUgdHJhbnNhY3Rpb24gbGlzdHMuICBEYXRhIGJsb2NrcyBnbyBmaXJzdC4KIAkgKi8KLQllcnIgPSAwOwotCWpvdXJuYWxfc3VibWl0X2RhdGFfYnVmZmVycyhqb3VybmFsLCBjb21taXRfdHJhbnNhY3Rpb24pOwotCi0JLyoKLQkgKiBXYWl0IGZvciBhbGwgcHJldmlvdXNseSBzdWJtaXR0ZWQgSU8gdG8gY29tcGxldGUgaWYgY29tbWl0Ci0JICogcmVjb3JkIGlzIHRvIGJlIHdyaXR0ZW4gc3luY2hyb25vdXNseS4KLQkgKi8KLQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQlpZiAoIUpCRDJfSEFTX0lOQ09NUEFUX0ZFQVRVUkUoam91cm5hbCwKLQkJSkJEMl9GRUFUVVJFX0lOQ09NUEFUX0FTWU5DX0NPTU1JVCkpCi0JCWVyciA9IGpvdXJuYWxfd2FpdF9vbl9sb2NrZWRfbGlzdChqb3VybmFsLAotCQkJCQkJY29tbWl0X3RyYW5zYWN0aW9uKTsKLQotCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0KKwllcnIgPSBqb3VybmFsX3N1Ym1pdF9kYXRhX2J1ZmZlcnMoam91cm5hbCwgY29tbWl0X3RyYW5zYWN0aW9uKTsKIAlpZiAoZXJyKQogCQlqYmQyX2pvdXJuYWxfYWJvcnQoam91cm5hbCwgZXJyKTsKIApAQCAtNTQ3LDE2ICs0NjgsNiBAQAogCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgMlxuIik7CiAKIAkvKgotCSAqIElmIHdlIGZvdW5kIGFueSBkaXJ0eSBvciBsb2NrZWQgYnVmZmVycywgdGhlbiB3ZSBzaG91bGQgaGF2ZQotCSAqIGxvb3BlZCBiYWNrIHVwIHRvIHRoZSB3cml0ZV9vdXRfZGF0YSBsYWJlbC4gIElmIHRoZXJlIHdlcmVuJ3QKLQkgKiBhbnkgdGhlbiBqb3VybmFsX2NsZWFuX2RhdGFfbGlzdCBzaG91bGQgaGF2ZSB3aXBlZCB0aGUgbGlzdAotCSAqIGNsZWFuIGJ5IG5vdywgc28gY2hlY2sgdGhhdCBpdCBpcyBpbiBmYWN0IGVtcHR5LgotCSAqLwotCUpfQVNTRVJUIChjb21taXRfdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdCA9PSBOVUxMKTsKLQotCWpiZF9kZWJ1ZyAoMywgIkpCRDogY29tbWl0IHBoYXNlIDNcbiIpOwotCi0JLyoKIAkgKiBXYXkgdG8gZ286IHdlIGhhdmUgbm93IHdyaXR0ZW4gb3V0IGFsbCBvZiB0aGUgZGF0YSBmb3IgYQogCSAqIHRyYW5zYWN0aW9uISAgTm93IGNvbWVzIHRoZSB0cmlja3kgcGFydDogd2UgbmVlZCB0byB3cml0ZSBvdXQKIAkgKiBtZXRhZGF0YS4gIExvb3Agb3ZlciB0aGUgdHJhbnNhY3Rpb24ncyBlbnRpcmUgYnVmZmVyIGxpc3Q6CkBAIC01NzQsNiArNDg1LDcgQEAKIAlKX0FTU0VSVChjb21taXRfdHJhbnNhY3Rpb24tPnRfbnJfYnVmZmVycyA8PQogCQkgY29tbWl0X3RyYW5zYWN0aW9uLT50X291dHN0YW5kaW5nX2NyZWRpdHMpOwogCisJZXJyID0gMDsKIAlkZXNjcmlwdG9yID0gTlVMTDsKIAlidWZzID0gMDsKIAl3aGlsZSAoY29tbWl0X3RyYW5zYWN0aW9uLT50X2J1ZmZlcnMpIHsKQEAgLTc0OCwxNSArNjYwLDE5IEBACiAJCQkJCQkgJmNiaCwgY3JjMzJfc3VtKTsKIAkJaWYgKGVycikKIAkJCV9famJkMl9qb3VybmFsX2Fib3J0X2hhcmQoam91cm5hbCk7Ci0KLQkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCWVyciA9IGpvdXJuYWxfd2FpdF9vbl9sb2NrZWRfbGlzdChqb3VybmFsLAotCQkJCQkJY29tbWl0X3RyYW5zYWN0aW9uKTsKLQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJaWYgKGVycikKLQkJCV9famJkMl9qb3VybmFsX2Fib3J0X2hhcmQoam91cm5hbCk7CiAJfQogCisJLyoKKwkgKiBUaGlzIGlzIHRoZSByaWdodCBwbGFjZSB0byB3YWl0IGZvciBkYXRhIGJ1ZmZlcnMgYm90aCBmb3IgQVNZTkMKKwkgKiBhbmQgIUFTWU5DIGNvbW1pdC4gSWYgY29tbWl0IGlzIEFTWU5DLCB3ZSBuZWVkIHRvIHdhaXQgb25seSBhZnRlcgorCSAqIHRoZSBjb21taXQgYmxvY2sgd2VudCB0byBkaXNrICh3aGljaCBoYXBwZW5zIGFib3ZlKS4gSWYgY29tbWl0IGlzCisJICogU1lOQywgd2UgbmVlZCB0byB3YWl0IGZvciBkYXRhIGJ1ZmZlcnMgYmVmb3JlIHdlIHN0YXJ0IHdyaXRpbmcKKwkgKiBjb21taXQgYmxvY2ssIHdoaWNoIGhhcHBlbnMgYmVsb3cgaW4gc3VjaCBzZXR0aW5nLgorCSAqLworCWVyciA9IGpvdXJuYWxfZmluaXNoX2lub2RlX2RhdGFfYnVmZmVycyhqb3VybmFsLCBjb21taXRfdHJhbnNhY3Rpb24pOworCWlmIChlcnIpCisJCWpiZDJfam91cm5hbF9hYm9ydChqb3VybmFsLCBlcnIpOworCiAJLyogTG8gYW5kIGJlaG9sZDogd2UgaGF2ZSBqdXN0IG1hbmFnZWQgdG8gc2VuZCBhIHRyYW5zYWN0aW9uIHRvCiAgICAgICAgICAgIHRoZSBsb2cuICBCZWZvcmUgd2UgY2FuIGNvbW1pdCBpdCwgd2FpdCBmb3IgdGhlIElPIHNvIGZhciB0bwogICAgICAgICAgICBjb21wbGV0ZS4gIENvbnRyb2wgYnVmZmVycyBiZWluZyB3cml0dGVuIGFyZSBvbiB0aGUKQEAgLTc2OCw3ICs2ODQsNyBAQAogCSAgIHNvIHdlIGluY3VyIGxlc3Mgc2NoZWR1bGluZyBsb2FkLgogCSovCiAKLQlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDRcbiIpOworCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgM1xuIik7CiAKIAkvKgogCSAqIGFrcG06IHRoZXNlIGFyZSBCSl9JTywgYW5kIGpfbGlzdF9sb2NrIGlzIG5vdCBuZWVkZWQuCkBAIC04MjcsNyArNzQzLDcgQEAKIAogCUpfQVNTRVJUIChjb21taXRfdHJhbnNhY3Rpb24tPnRfc2hhZG93X2xpc3QgPT0gTlVMTCk7CiAKLQlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDVcbiIpOworCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNFxuIik7CiAKIAkvKiBIZXJlIHdlIHdhaXQgZm9yIHRoZSByZXZva2UgcmVjb3JkIGFuZCBkZXNjcmlwdG9yIHJlY29yZCBidWZmZXJzICovCiAgd2FpdF9mb3JfY3RsYnVmOgpAQCAtODU0LDcgKzc3MCw3IEBACiAJCS8qIEFLUE06IGJmb3JnZXQgaGVyZSAqLwogCX0KIAotCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNlxuIik7CisJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA1XG4iKTsKIAogCWlmICghSkJEMl9IQVNfSU5DT01QQVRfRkVBVFVSRShqb3VybmFsLAogCQlKQkQyX0ZFQVRVUkVfSU5DT01QQVRfQVNZTkNfQ09NTUlUKSkgewpAQCAtODc0LDkgKzc5MCw5IEBACiAgICAgICAgICAgIHRyYW5zYWN0aW9uIGNhbiBiZSByZW1vdmVkIGZyb20gYW55IGNoZWNrcG9pbnQgbGlzdCBpdCB3YXMgb24KICAgICAgICAgICAgYmVmb3JlLiAqLwogCi0JamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA3XG4iKTsKKwlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDZcbiIpOwogCi0JSl9BU1NFUlQoY29tbWl0X3RyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3QgPT0gTlVMTCk7CisJSl9BU1NFUlQobGlzdF9lbXB0eSgmY29tbWl0X3RyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QpKTsKIAlKX0FTU0VSVChjb21taXRfdHJhbnNhY3Rpb24tPnRfYnVmZmVycyA9PSBOVUxMKTsKIAlKX0FTU0VSVChjb21taXRfdHJhbnNhY3Rpb24tPnRfY2hlY2twb2ludF9saXN0ID09IE5VTEwpOwogCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9pb2J1Zl9saXN0ID09IE5VTEwpOwpAQCAtOTk3LDcgKzkxMyw3IEBACiAKIAkvKiBEb25lIHdpdGggdGhpcyB0cmFuc2FjdGlvbiEgKi8KIAotCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgOFxuIik7CisJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA3XG4iKTsKIAogCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9zdGF0ZSA9PSBUX0NPTU1JVCk7CiAKZGlmZiAtLWdpdCBhL2ZzL2piZDIvam91cm5hbC5jIGIvZnMvamJkMi9qb3VybmFsLmMKaW5kZXggMmUyNDU2Ny4uYjI2YzZkOSAxMDA2NDQKLS0tIGEvZnMvamJkMi9qb3VybmFsLmMKKysrIGIvZnMvamJkMi9qb3VybmFsLmMKQEAgLTUwLDcgKzUwLDYgQEAKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZ2V0X2NyZWF0ZV9hY2Nlc3MpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZ2V0X3VuZG9fYWNjZXNzKTsKLUVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2RpcnR5X2RhdGEpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZGlydHlfbWV0YWRhdGEpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfcmVsZWFzZV9idWZmZXIpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZm9yZ2V0KTsKQEAgLTgyLDYgKzgxLDEwIEBACiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9pbnZhbGlkYXRlcGFnZSk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXJzKTsKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2ZvcmNlX2NvbW1pdCk7CitFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9maWxlX2lub2RlKTsKK0VYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2luaXRfamJkX2lub2RlKTsKK0VYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX3JlbGVhc2VfamJkX2lub2RlKTsKK0VYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUpOwogCiBzdGF0aWMgaW50IGpvdXJuYWxfY29udmVydF9zdXBlcmJsb2NrX3YxKGpvdXJuYWxfdCAqLCBqb3VybmFsX3N1cGVyYmxvY2tfdCAqKTsKIHN0YXRpYyB2b2lkIF9fam91cm5hbF9hYm9ydF9zb2Z0IChqb3VybmFsX3QgKmpvdXJuYWwsIGludCBlcnJubyk7CkBAIC0yMTk1LDYgKzIxOTgsNTQgQEAKIH0KIAogLyoKKyAqIEluaXRpYWxpemUgamJkIGlub2RlIGhlYWQKKyAqLwordm9pZCBqYmQyX2pvdXJuYWxfaW5pdF9qYmRfaW5vZGUoc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZSwgc3RydWN0IGlub2RlICppbm9kZSkKK3sKKwlqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPSBOVUxMOworCWppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID0gTlVMTDsKKwlqaW5vZGUtPmlfdmZzX2lub2RlID0gaW5vZGU7CisJamlub2RlLT5pX2ZsYWdzID0gMDsKKwlJTklUX0xJU1RfSEVBRCgmamlub2RlLT5pX2xpc3QpOworfQorCisvKgorICogRnVuY3Rpb24gdG8gYmUgY2FsbGVkIGJlZm9yZSB3ZSBzdGFydCByZW1vdmluZyBpbm9kZSBmcm9tIG1lbW9yeSAoaS5lLiwKKyAqIGNsZWFyX2lub2RlKCkgaXMgYSBmaW5lIHBsYWNlIHRvIGJlIGNhbGxlZCBmcm9tKS4gSXQgcmVtb3ZlcyBpbm9kZSBmcm9tCisgKiB0cmFuc2FjdGlvbidzIGxpc3RzLgorICovCit2b2lkIGpiZDJfam91cm5hbF9yZWxlYXNlX2piZF9pbm9kZShqb3VybmFsX3QgKmpvdXJuYWwsCisJCQkJICAgIHN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGUpCit7CisJaW50IHdyaXRlb3V0ID0gMDsKKworCWlmICgham91cm5hbCkKKwkJcmV0dXJuOworcmVzdGFydDoKKwlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwkvKiBJcyBjb21taXQgd3JpdGluZyBvdXQgaW5vZGUgLSB3ZSBoYXZlIHRvIHdhaXQgKi8KKwlpZiAoamlub2RlLT5pX2ZsYWdzICYgSklfQ09NTUlUX1JVTk5JTkcpIHsKKwkJd2FpdF9xdWV1ZV9oZWFkX3QgKndxOworCQlERUZJTkVfV0FJVF9CSVQod2FpdCwgJmppbm9kZS0+aV9mbGFncywgX19KSV9DT01NSVRfUlVOTklORyk7CisJCXdxID0gYml0X3dhaXRxdWV1ZSgmamlub2RlLT5pX2ZsYWdzLCBfX0pJX0NPTU1JVF9SVU5OSU5HKTsKKwkJcHJlcGFyZV90b193YWl0KHdxLCAmd2FpdC53YWl0LCBUQVNLX1VOSU5URVJSVVBUSUJMRSk7CisJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJCXNjaGVkdWxlKCk7CisJCWZpbmlzaF93YWl0KHdxLCAmd2FpdC53YWl0KTsKKwkJZ290byByZXN0YXJ0OworCX0KKworCS8qIERvIHdlIG5lZWQgdG8gd2FpdCBmb3IgZGF0YSB3cml0ZWJhY2s/ICovCisJaWYgKGpvdXJuYWwtPmpfY29tbWl0dGluZ190cmFuc2FjdGlvbiA9PSBqaW5vZGUtPmlfdHJhbnNhY3Rpb24pCisJCXdyaXRlb3V0ID0gMTsKKwlpZiAoamlub2RlLT5pX3RyYW5zYWN0aW9uKSB7CisJCWxpc3RfZGVsKCZqaW5vZGUtPmlfbGlzdCk7CisJCWppbm9kZS0+aV90cmFuc2FjdGlvbiA9IE5VTEw7CisJfQorCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Cit9CisKKy8qCiAgKiBkZWJ1Z2ZzIHR1bmFibGVzCiAgKi8KICNpZmRlZiBDT05GSUdfSkJEMl9ERUJVRwpkaWZmIC0tZ2l0IGEvZnMvamJkMi90cmFuc2FjdGlvbi5jIGIvZnMvamJkMi90cmFuc2FjdGlvbi5jCmluZGV4IGQ2ZTAwNmUuLjRmN2NhZGIgMTAwNjQ0Ci0tLSBhL2ZzL2piZDIvdHJhbnNhY3Rpb24uYworKysgYi9mcy9qYmQyL3RyYW5zYWN0aW9uLmMKQEAgLTQxLDcgKzQxLDYgQEAKICAqCW5ldyB0cmFuc2FjdGlvbglhbmQgd2UgY2FuJ3QgYmxvY2sgd2l0aG91dCBwcm90ZWN0aW5nIGFnYWluc3Qgb3RoZXIKICAqCXByb2Nlc3NlcyB0cnlpbmcgdG8gdG91Y2ggdGhlIGpvdXJuYWwgd2hpbGUgaXQgaXMgaW4gdHJhbnNpdGlvbi4KICAqCi0gKiBDYWxsZWQgdW5kZXIgal9zdGF0ZV9sb2NrCiAgKi8KIAogc3RhdGljIHRyYW5zYWN0aW9uX3QgKgpAQCAtNTIsNiArNTEsNyBAQAogCXRyYW5zYWN0aW9uLT50X3RpZCA9IGpvdXJuYWwtPmpfdHJhbnNhY3Rpb25fc2VxdWVuY2UrKzsKIAl0cmFuc2FjdGlvbi0+dF9leHBpcmVzID0gamlmZmllcyArIGpvdXJuYWwtPmpfY29tbWl0X2ludGVydmFsOwogCXNwaW5fbG9ja19pbml0KCZ0cmFuc2FjdGlvbi0+dF9oYW5kbGVfbG9jayk7CisJSU5JVF9MSVNUX0hFQUQoJnRyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QpOwogCiAJLyogU2V0IHVwIHRoZSBjb21taXQgdGltZXIgZm9yIHRoZSBuZXcgdHJhbnNhY3Rpb24uICovCiAJam91cm5hbC0+al9jb21taXRfdGltZXIuZXhwaXJlcyA9IHJvdW5kX2ppZmZpZXModHJhbnNhY3Rpb24tPnRfZXhwaXJlcyk7CkBAIC05NDMsMTgzICs5NDMsNiBAQAogfQogCiAvKioKLSAqIGludCBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YSgpIC0gIG1hcmsgYSBidWZmZXIgYXMgY29udGFpbmluZyBkaXJ0eSBkYXRhIHdoaWNoCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZHMgdG8gYmUgZmx1c2hlZCBiZWZvcmUgd2UgY2FuIGNvbW1pdCB0aGUKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IHRyYW5zYWN0aW9uLgotICogQGhhbmRsZTogdHJhbnNhY3Rpb24KLSAqIEBiaDogYnVmZmVyaGVhZCB0byBtYXJrCi0gKgotICogVGhlIGJ1ZmZlciBpcyBwbGFjZWQgb24gdGhlIHRyYW5zYWN0aW9uJ3MgZGF0YSBsaXN0IGFuZCBpcyBtYXJrZWQgYXMKLSAqIGJlbG9uZ2luZyB0byB0aGUgdHJhbnNhY3Rpb24uCi0gKgotICogUmV0dXJucyBlcnJvciBudW1iZXIgb3IgMCBvbiBzdWNjZXNzLgotICoKLSAqIGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhKCkgY2FuIGJlIGNhbGxlZCB2aWEgcGFnZV9sYXVuZGVyLT5leHQzX3dyaXRlcGFnZQotICogYnkga3N3YXBkLgotICovCi1pbnQgamJkMl9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKLXsKLQlqb3VybmFsX3QgKmpvdXJuYWwgPSBoYW5kbGUtPmhfdHJhbnNhY3Rpb24tPnRfam91cm5hbDsKLQlpbnQgbmVlZF9icmVsc2UgPSAwOwotCXN0cnVjdCBqb3VybmFsX2hlYWQgKmpoOwotCi0JaWYgKGlzX2hhbmRsZV9hYm9ydGVkKGhhbmRsZSkpCi0JCXJldHVybiAwOwotCi0JamggPSBqYmQyX2pvdXJuYWxfYWRkX2pvdXJuYWxfaGVhZChiaCk7Ci0JSkJVRkZFUl9UUkFDRShqaCwgImVudHJ5Iik7Ci0KLQkvKgotCSAqIFRoZSBidWZmZXIgY291bGQgKmFscmVhZHkqIGJlIGRpcnR5LiAgV3JpdGVvdXQgY2FuIHN0YXJ0Ci0JICogYXQgYW55IHRpbWUuCi0JICovCi0JamJkX2RlYnVnKDQsICJqaDogJXAsIHRpZDolZFxuIiwgamgsIGhhbmRsZS0+aF90cmFuc2FjdGlvbi0+dF90aWQpOwotCi0JLyoKLQkgKiBXaGF0IGlmIHRoZSBidWZmZXIgaXMgYWxyZWFkeSBwYXJ0IG9mIGEgcnVubmluZyB0cmFuc2FjdGlvbj8KLQkgKgotCSAqIFRoZXJlIGFyZSB0d28gY2FzZXM6Ci0JICogMSkgSXQgaXMgcGFydCBvZiB0aGUgY3VycmVudCBydW5uaW5nIHRyYW5zYWN0aW9uLiAgUmVmaWxlIGl0LAotCSAqICAgIGp1c3QgaW4gY2FzZSB3ZSBoYXZlIGFsbG9jYXRlZCBpdCBhcyBtZXRhZGF0YSwgZGVhbGxvY2F0ZWQKLQkgKiAgICBpdCwgdGhlbiByZWFsbG9jYXRlZCBpdCBhcyBkYXRhLgotCSAqIDIpIEl0IGlzIHBhcnQgb2YgdGhlIHByZXZpb3VzLCBzdGlsbC1jb21taXR0aW5nIHRyYW5zYWN0aW9uLgotCSAqICAgIElmIGFsbCB3ZSB3YW50IHRvIGRvIGlzIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBidWZmZXIgd2lsbCBiZQotCSAqICAgIHdyaXR0ZW4gdG8gZGlzayBiZWZvcmUgdGhpcyBuZXcgdHJhbnNhY3Rpb24gY29tbWl0cywgdGhlbgotCSAqICAgIGJlaW5nIHN1cmUgdGhhdCB0aGUgKnByZXZpb3VzKiB0cmFuc2FjdGlvbiBoYXMgdGhpcyBzYW1lCi0JICogICAgcHJvcGVydHkgaXMgc3VmZmljaWVudCBmb3IgdXMhICBKdXN0IGxlYXZlIGl0IG9uIGl0cyBvbGQKLQkgKiAgICB0cmFuc2FjdGlvbi4KLQkgKgotCSAqIEluIGNhc2UgKDIpLCB0aGUgYnVmZmVyIG11c3Qgbm90IGFscmVhZHkgZXhpc3QgYXMgbWV0YWRhdGEKLQkgKiAtLS0gdGhhdCB3b3VsZCB2aW9sYXRlIHdyaXRlIG9yZGVyaW5nIChhIHRyYW5zYWN0aW9uIGlzIGZyZWUKLQkgKiB0byB3cml0ZSBpdHMgZGF0YSBhdCBhbnkgcG9pbnQsIGV2ZW4gYmVmb3JlIHRoZSBwcmV2aW91cwotCSAqIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24gaGFzIGNvbW1pdHRlZCkuICBUaGUgY2FsbGVyIG11c3QKLQkgKiBuZXZlciwgZXZlciBhbGxvdyB0aGlzIHRvIGhhcHBlbjogdGhlcmUncyBub3RoaW5nIHdlIGNhbiBkbwotCSAqIGFib3V0IGl0IGluIHRoaXMgbGF5ZXIuCi0JICovCi0JamJkX2xvY2tfYmhfc3RhdGUoYmgpOwotCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCi0JLyogTm93IHRoYXQgd2UgaGF2ZSBiaF9zdGF0ZSBsb2NrZWQsIGFyZSB3ZSByZWFsbHkgc3RpbGwgbWFwcGVkPyAqLwotCWlmICghYnVmZmVyX21hcHBlZChiaCkpIHsKLQkJSkJVRkZFUl9UUkFDRShqaCwgInVubWFwcGVkIGJ1ZmZlciwgYmFpbGluZyBvdXQiKTsKLQkJZ290byBub19qb3VybmFsOwotCX0KLQotCWlmIChqaC0+Yl90cmFuc2FjdGlvbikgewotCQlKQlVGRkVSX1RSQUNFKGpoLCAiaGFzIHRyYW5zYWN0aW9uIik7Ci0JCWlmIChqaC0+Yl90cmFuc2FjdGlvbiAhPSBoYW5kbGUtPmhfdHJhbnNhY3Rpb24pIHsKLQkJCUpCVUZGRVJfVFJBQ0UoamgsICJiZWxvbmdzIHRvIG9sZGVyIHRyYW5zYWN0aW9uIik7Ci0JCQlKX0FTU0VSVF9KSChqaCwgamgtPmJfdHJhbnNhY3Rpb24gPT0KLQkJCQkJam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uKTsKLQotCQkJLyogQEBAIElTIFRISVMgVFJVRSAgPyAqLwotCQkJLyoKLQkJCSAqIE5vdCBhbnkgbW9yZS4gIFNjZW5hcmlvOiBzb21lb25lIGRvZXMgYSB3cml0ZSgpCi0JCQkgKiBpbiBkYXRhPWpvdXJuYWwgbW9kZS4gIFRoZSBidWZmZXIncyB0cmFuc2FjdGlvbiBoYXMKLQkJCSAqIG1vdmVkIGludG8gY29tbWl0LiAgVGhlbiBzb21lb25lIGRvZXMgYW5vdGhlcgotCQkJICogd3JpdGUoKSB0byB0aGUgZmlsZS4gIFdlIGRvIHRoZSBmcm96ZW4gZGF0YSBjb3B5b3V0Ci0JCQkgKiBhbmQgc2V0IGJfbmV4dF90cmFuc2FjdGlvbiB0byBwb2ludCB0byBqX3J1bm5pbmdfdC4KLQkJCSAqIEFuZCB3aGlsZSB3ZSdyZSBpbiB0aGF0IHN0YXRlLCBzb21lb25lIGRvZXMgYQotCQkJICogd3JpdGVwYWdlKCkgaW4gYW4gYXR0ZW1wdCB0byBwYWdlb3V0IHRoZSBzYW1lIGFyZWEKLQkJCSAqIG9mIHRoZSBmaWxlIHZpYSBhIHNoYXJlZCBtYXBwaW5nLiAgQXQgcHJlc2VudCB0aGF0Ci0JCQkgKiBjYWxscyBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YSgpLCBhbmQgd2UgZ2V0IHJpZ2h0IGhlcmUuCi0JCQkgKiBJdCBtYXkgYmUgdG9vIGxhdGUgdG8gam91cm5hbCB0aGUgZGF0YS4gIFNpbXBseQotCQkJICogZmFsbGluZyB0aHJvdWdoIHRvIHRoZSBuZXh0IHRlc3Qgd2lsbCBzdWZmaWNlOiB0aGUKLQkJCSAqIGRhdGEgd2lsbCBiZSBkaXJ0eSBhbmQgd2lsIGJlIGNoZWNrcG9pbnRlZC4gIFRoZQotCQkJICogb3JkZXJpbmcgY29tbWVudHMgaW4gdGhlIG5leHQgY29tbWVudCBibG9jayBzdGlsbAotCQkJICogYXBwbHkuCi0JCQkgKi8KLQkJCS8vSl9BU1NFUlRfSkgoamgsIGpoLT5iX25leHRfdHJhbnNhY3Rpb24gPT0gTlVMTCk7Ci0KLQkJCS8qCi0JCQkgKiBJZiB3ZSdyZSBqb3VybmFsbGluZyBkYXRhLCBhbmQgdGhpcyBidWZmZXIgd2FzCi0JCQkgKiBzdWJqZWN0IHRvIGEgd3JpdGUoKSwgaXQgY291bGQgYmUgbWV0YWRhdGEsIGZvcmdldAotCQkJICogb3Igc2hhZG93IGFnYWluc3QgdGhlIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24uICBOb3csCi0JCQkgKiBzb21lb25lIGhhcyBkaXJ0aWVkIHRoZSBzYW1lIGRhcm4gcGFnZSB2aWEgYSBtYXBwaW5nCi0JCQkgKiBhbmQgaXQgaXMgYmVpbmcgd3JpdGVwYWdlKCknZC4KLQkJCSAqIFdlICpjb3VsZCoganVzdCBzdGVhbCB0aGUgcGFnZSBmcm9tIGNvbW1pdCwgd2l0aCBzb21lCi0JCQkgKiBmYW5jeSBsb2NraW5nIHRoZXJlLiAgSW5zdGVhZCwgd2UganVzdCBza2lwIGl0IC0KLQkJCSAqIGRvbid0IHRpZSB0aGUgcGFnZSdzIGJ1ZmZlcnMgdG8gdGhlIG5ldyB0cmFuc2FjdGlvbgotCQkJICogYXQgYWxsLgotCQkJICogSW1wbGljYXRpb246IGlmIHdlIGNyYXNoIGJlZm9yZSB0aGUgd3JpdGVwYWdlKCkgZGF0YQotCQkJICogaXMgd3JpdHRlbiBpbnRvIHRoZSBmaWxlc3lzdGVtLCByZWNvdmVyeSB3aWxsIHJlcGxheQotCQkJICogdGhlIHdyaXRlKCkgZGF0YS4KLQkJCSAqLwotCQkJaWYgKGpoLT5iX2psaXN0ICE9IEJKX05vbmUgJiYKLQkJCQkJamgtPmJfamxpc3QgIT0gQkpfU3luY0RhdGEgJiYKLQkJCQkJamgtPmJfamxpc3QgIT0gQkpfTG9ja2VkKSB7Ci0JCQkJSkJVRkZFUl9UUkFDRShqaCwgIk5vdCBzdGVhbGluZyIpOwotCQkJCWdvdG8gbm9fam91cm5hbDsKLQkJCX0KLQotCQkJLyoKLQkJCSAqIFRoaXMgYnVmZmVyIG1heSBiZSB1bmRlcmdvaW5nIHdyaXRlb3V0IGluIGNvbW1pdC4gIFdlCi0JCQkgKiBjYW4ndCByZXR1cm4gZnJvbSBoZXJlIGFuZCBsZXQgdGhlIGNhbGxlciBkaXJ0eSBpdAotCQkJICogYWdhaW4gYmVjYXVzZSB0aGF0IGNhbiBjYXVzZSB0aGUgd3JpdGUtb3V0IGxvb3AgaW4KLQkJCSAqIGNvbW1pdCB0byBuZXZlciB0ZXJtaW5hdGUuCi0JCQkgKi8KLQkJCWlmIChidWZmZXJfZGlydHkoYmgpKSB7Ci0JCQkJZ2V0X2JoKGJoKTsKLQkJCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJCW5lZWRfYnJlbHNlID0gMTsKLQkJCQlzeW5jX2RpcnR5X2J1ZmZlcihiaCk7Ci0JCQkJamJkX2xvY2tfYmhfc3RhdGUoYmgpOwotCQkJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJCS8qIFNpbmNlIHdlIGRyb3BwZWQgdGhlIGxvY2suLi4gKi8KLQkJCQlpZiAoIWJ1ZmZlcl9tYXBwZWQoYmgpKSB7Ci0JCQkJCUpCVUZGRVJfVFJBQ0UoamgsICJidWZmZXIgZ290IHVubWFwcGVkIik7Ci0JCQkJCWdvdG8gbm9fam91cm5hbDsKLQkJCQl9Ci0JCQkJLyogVGhlIGJ1ZmZlciBtYXkgYmVjb21lIGxvY2tlZCBhZ2FpbiBhdCBhbnkKLQkJCQkgICB0aW1lIGlmIGl0IGlzIHJlZGlydGllZCAqLwotCQkJfQotCi0JCQkvKiBqb3VybmFsX2NsZWFuX2RhdGFfbGlzdCgpIG1heSBoYXZlIGdvdCB0aGVyZSBmaXJzdCAqLwotCQkJaWYgKGpoLT5iX3RyYW5zYWN0aW9uICE9IE5VTEwpIHsKLQkJCQlKQlVGRkVSX1RSQUNFKGpoLCAidW5maWxlIGZyb20gY29tbWl0Iik7Ci0JCQkJX19qYmQyX2pvdXJuYWxfdGVtcF91bmxpbmtfYnVmZmVyKGpoKTsKLQkJCQkvKiBJdCBzdGlsbCBwb2ludHMgdG8gdGhlIGNvbW1pdHRpbmcKLQkJCQkgKiB0cmFuc2FjdGlvbjsgbW92ZSBpdCB0byB0aGlzIG9uZSBzbwotCQkJCSAqIHRoYXQgdGhlIHJlZmlsZSBhc3NlcnQgY2hlY2tzIGFyZQotCQkJCSAqIGhhcHB5LiAqLwotCQkJCWpoLT5iX3RyYW5zYWN0aW9uID0gaGFuZGxlLT5oX3RyYW5zYWN0aW9uOwotCQkJfQotCQkJLyogVGhlIGJ1ZmZlciB3aWxsIGJlIHJlZmlsZWQgYmVsb3cgKi8KLQotCQl9Ci0JCS8qCi0JCSAqIFNwZWNpYWwgY2FzZSAtLS0gdGhlIGJ1ZmZlciBtaWdodCBhY3R1YWxseSBoYXZlIGJlZW4KLQkJICogYWxsb2NhdGVkIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGRlYWxsb2NhdGVkIGluIHRoZSBwcmV2aW91cywKLQkJICogY29tbWl0dGluZyB0cmFuc2FjdGlvbiwgc28gbWlnaHQgc3RpbGwgYmUgbGVmdCBvbiB0aGF0Ci0JCSAqIHRyYW5zYWN0aW9uJ3MgbWV0YWRhdGEgbGlzdHMuCi0JCSAqLwotCQlpZiAoamgtPmJfamxpc3QgIT0gQkpfU3luY0RhdGEgJiYgamgtPmJfamxpc3QgIT0gQkpfTG9ja2VkKSB7Ci0JCQlKQlVGRkVSX1RSQUNFKGpoLCAibm90IG9uIGNvcnJlY3QgZGF0YSBsaXN0OiB1bmZpbGUiKTsKLQkJCUpfQVNTRVJUX0pIKGpoLCBqaC0+Yl9qbGlzdCAhPSBCSl9TaGFkb3cpOwotCQkJX19qYmQyX2pvdXJuYWxfdGVtcF91bmxpbmtfYnVmZmVyKGpoKTsKLQkJCWpoLT5iX3RyYW5zYWN0aW9uID0gaGFuZGxlLT5oX3RyYW5zYWN0aW9uOwotCQkJSkJVRkZFUl9UUkFDRShqaCwgImZpbGUgYXMgZGF0YSIpOwotCQkJX19qYmQyX2pvdXJuYWxfZmlsZV9idWZmZXIoamgsIGhhbmRsZS0+aF90cmFuc2FjdGlvbiwKLQkJCQkJCUJKX1N5bmNEYXRhKTsKLQkJfQotCX0gZWxzZSB7Ci0JCUpCVUZGRVJfVFJBQ0UoamgsICJub3Qgb24gYSB0cmFuc2FjdGlvbiIpOwotCQlfX2piZDJfam91cm5hbF9maWxlX2J1ZmZlcihqaCwgaGFuZGxlLT5oX3RyYW5zYWN0aW9uLCBCSl9TeW5jRGF0YSk7Ci0JfQotbm9fam91cm5hbDoKLQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCWlmIChuZWVkX2JyZWxzZSkgewotCQlCVUZGRVJfVFJBQ0UoYmgsICJicmVsc2UiKTsKLQkJX19icmVsc2UoYmgpOwotCX0KLQlKQlVGRkVSX1RSQUNFKGpoLCAiZXhpdCIpOwotCWpiZDJfam91cm5hbF9wdXRfam91cm5hbF9oZWFkKGpoKTsKLQlyZXR1cm4gMDsKLX0KLQotLyoqCiAgKiBpbnQgamJkMl9qb3VybmFsX2RpcnR5X21ldGFkYXRhKCkgLSAgbWFyayBhIGJ1ZmZlciBhcyBjb250YWluaW5nIGRpcnR5IG1ldGFkYXRhCiAgKiBAaGFuZGxlOiB0cmFuc2FjdGlvbiB0byBhZGQgYnVmZmVyIHRvLgogICogQGJoOiBidWZmZXIgdG8gbWFyawpAQCAtMTU0MSwxMCArMTM2NCwxMCBAQAogICogUmVtb3ZlIGEgYnVmZmVyIGZyb20gdGhlIGFwcHJvcHJpYXRlIHRyYW5zYWN0aW9uIGxpc3QuCiAgKgogICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gY2FuICpjaGFuZ2UqIHRoZSB2YWx1ZSBvZgotICogYmgtPmJfdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdCwgdF9idWZmZXJzLCB0X2ZvcmdldCwKLSAqIHRfaW9idWZfbGlzdCwgdF9zaGFkb3dfbGlzdCwgdF9sb2dfbGlzdCBvciB0X3Jlc2VydmVkX2xpc3QuICBJZiB0aGUgY2FsbGVyCi0gKiBpcyBob2xkaW5nIG9udG8gYSBjb3B5IG9mIG9uZSBvZiB0aGVlIHBvaW50ZXJzLCBpdCBjb3VsZCBnbyBiYWQuCi0gKiBHZW5lcmFsbHkgdGhlIGNhbGxlciBuZWVkcyB0byByZS1yZWFkIHRoZSBwb2ludGVyIGZyb20gdGhlIHRyYW5zYWN0aW9uX3QuCisgKiBiaC0+Yl90cmFuc2FjdGlvbi0+dF9idWZmZXJzLCB0X2ZvcmdldCwgdF9pb2J1Zl9saXN0LCB0X3NoYWRvd19saXN0LAorICogdF9sb2dfbGlzdCBvciB0X3Jlc2VydmVkX2xpc3QuICBJZiB0aGUgY2FsbGVyIGlzIGhvbGRpbmcgb250byBhIGNvcHkgb2Ygb25lCisgKiBvZiB0aGVzZSBwb2ludGVycywgaXQgY291bGQgZ28gYmFkLiAgR2VuZXJhbGx5IHRoZSBjYWxsZXIgbmVlZHMgdG8gcmUtcmVhZAorICogdGhlIHBvaW50ZXIgZnJvbSB0aGUgdHJhbnNhY3Rpb25fdC4KICAqCiAgKiBDYWxsZWQgdW5kZXIgal9saXN0X2xvY2suICBUaGUgam91cm5hbCBtYXkgbm90IGJlIGxvY2tlZC4KICAqLwpAQCAtMTU2Niw5ICsxMzg5LDYgQEAKIAlzd2l0Y2ggKGpoLT5iX2psaXN0KSB7CiAJY2FzZSBCSl9Ob25lOgogCQlyZXR1cm47Ci0JY2FzZSBCSl9TeW5jRGF0YToKLQkJbGlzdCA9ICZ0cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0OwotCQlicmVhazsKIAljYXNlIEJKX01ldGFkYXRhOgogCQl0cmFuc2FjdGlvbi0+dF9ucl9idWZmZXJzLS07CiAJCUpfQVNTRVJUX0pIKGpoLCB0cmFuc2FjdGlvbi0+dF9ucl9idWZmZXJzID49IDApOwpAQCAtMTU4OSw5ICsxNDA5LDYgQEAKIAljYXNlIEJKX1Jlc2VydmVkOgogCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X3Jlc2VydmVkX2xpc3Q7CiAJCWJyZWFrOwotCWNhc2UgQkpfTG9ja2VkOgotCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X2xvY2tlZF9saXN0OwotCQlicmVhazsKIAl9CiAKIAlfX2JsaXN0X2RlbF9idWZmZXIobGlzdCwgamgpOwpAQCAtMTYzNCwxNSArMTQ1MSw3IEBACiAJCWdvdG8gb3V0OwogCiAJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JaWYgKGpoLT5iX3RyYW5zYWN0aW9uICE9IE5VTEwgJiYgamgtPmJfY3BfdHJhbnNhY3Rpb24gPT0gTlVMTCkgewotCQlpZiAoamgtPmJfamxpc3QgPT0gQkpfU3luY0RhdGEgfHwgamgtPmJfamxpc3QgPT0gQkpfTG9ja2VkKSB7Ci0JCQkvKiBBIHdyaXR0ZW4tYmFjayBvcmRlcmVkIGRhdGEgYnVmZmVyICovCi0JCQlKQlVGRkVSX1RSQUNFKGpoLCAicmVsZWFzZSBkYXRhIik7Ci0JCQlfX2piZDJfam91cm5hbF91bmZpbGVfYnVmZmVyKGpoKTsKLQkJCWpiZDJfam91cm5hbF9yZW1vdmVfam91cm5hbF9oZWFkKGJoKTsKLQkJCV9fYnJlbHNlKGJoKTsKLQkJfQotCX0gZWxzZSBpZiAoamgtPmJfY3BfdHJhbnNhY3Rpb24gIT0gTlVMTCAmJiBqaC0+Yl90cmFuc2FjdGlvbiA9PSBOVUxMKSB7CisJaWYgKGpoLT5iX2NwX3RyYW5zYWN0aW9uICE9IE5VTEwgJiYgamgtPmJfdHJhbnNhY3Rpb24gPT0gTlVMTCkgewogCQkvKiB3cml0dGVuLWJhY2sgY2hlY2twb2ludGVkIG1ldGFkYXRhIGJ1ZmZlciAqLwogCQlpZiAoamgtPmJfamxpc3QgPT0gQkpfTm9uZSkgewogCQkJSkJVRkZFUl9UUkFDRShqaCwgInJlbW92ZSBmcm9tIGNoZWNrcG9pbnQgbGlzdCIpOwpAQCAtMTY1NiwxMiArMTQ2NSw0MyBAQAogCXJldHVybjsKIH0KIAorLyoKKyAqIGpiZDJfam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXJzKCkgY291bGQgcmFjZSB3aXRoCisgKiBqYmQyX2pvdXJuYWxfY29tbWl0X3RyYW5zYWN0aW9uKCkuIFRoZSBsYXRlciBtaWdodCBzdGlsbCBob2xkIHRoZQorICogcmVmZXJlbmNlIGNvdW50IHRvIHRoZSBidWZmZXJzIHdoZW4gaW5zcGVjdGluZyB0aGVtIG9uCisgKiB0X3N5bmNkYXRhX2xpc3Qgb3IgdF9sb2NrZWRfbGlzdC4KKyAqCisgKiBqYmQyX2pvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVycygpIHdpbGwgY2FsbCB0aGlzIGZ1bmN0aW9uIHRvCisgKiB3YWl0IGZvciB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiB0byBmaW5pc2ggc3luY2luZyBkYXRhIGJ1ZmZlcnMsIGJlZm9yZQorICogdHJ5IHRvIGZyZWUgdGhhdCBidWZmZXIuCisgKgorICogQ2FsbGVkIHdpdGggam91cm5hbC0+al9zdGF0ZV9sb2NrIGhvbGQuCisgKi8KK3N0YXRpYyB2b2lkIGpiZDJfam91cm5hbF93YWl0X2Zvcl90cmFuc2FjdGlvbl9zeW5jX2RhdGEoam91cm5hbF90ICpqb3VybmFsKQoreworCXRyYW5zYWN0aW9uX3QgKnRyYW5zYWN0aW9uOworCXRpZF90IHRpZDsKKworCXNwaW5fbG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKKwl0cmFuc2FjdGlvbiA9IGpvdXJuYWwtPmpfY29tbWl0dGluZ190cmFuc2FjdGlvbjsKKworCWlmICghdHJhbnNhY3Rpb24pIHsKKwkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CisJCXJldHVybjsKKwl9CisKKwl0aWQgPSB0cmFuc2FjdGlvbi0+dF90aWQ7CisJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CisJamJkMl9sb2dfd2FpdF9jb21taXQoam91cm5hbCwgdGlkKTsKK30KIAogLyoqCiAgKiBpbnQgamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMoKSAtIHRyeSB0byBmcmVlIHBhZ2UgYnVmZmVycy4KICAqIEBqb3VybmFsOiBqb3VybmFsIGZvciBvcGVyYXRpb24KICAqIEBwYWdlOiB0byB0cnkgYW5kIGZyZWUKLSAqIEB1bnVzZWRfZ2ZwX21hc2s6IHVudXNlZAorICogQGdmcF9tYXNrOiB3ZSB1c2UgdGhlIG1hc2sgdG8gZGV0ZWN0IGhvdyBoYXJkIHNob3VsZCB3ZSB0cnkgdG8gcmVsZWFzZQorICogYnVmZmVycy4gSWYgX19HRlBfV0FJVCBhbmQgX19HRlBfRlMgaXMgc2V0LCB3ZSB3YWl0IGZvciBjb21taXQgY29kZSB0bworICogcmVsZWFzZSB0aGUgYnVmZmVycy4KICAqCiAgKgogICogRm9yIGFsbCB0aGUgYnVmZmVycyBvbiB0aGlzIHBhZ2UsCkBAIC0xNjkwLDkgKzE1MzAsMTEgQEAKICAqIGpvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVyKCkgaXMgY2hhbmdpbmcgaXRzIHN0YXRlLiAgQnV0IHRoYXQKICAqIGNhbm5vdCBoYXBwZW4gYmVjYXVzZSB3ZSBuZXZlciByZWFsbG9jYXRlIGZyZWVkIGRhdGEgYXMgbWV0YWRhdGEKICAqIHdoaWxlIHRoZSBkYXRhIGlzIHBhcnQgb2YgYSB0cmFuc2FjdGlvbi4gIFllcz8KKyAqCisgKiBSZXR1cm4gMCBvbiBmYWlsdXJlLCAxIG9uIHN1Y2Nlc3MKICAqLwogaW50IGpiZDJfam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXJzKGpvdXJuYWxfdCAqam91cm5hbCwKLQkJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgZ2ZwX3QgdW51c2VkX2dmcF9tYXNrKQorCQkJCXN0cnVjdCBwYWdlICpwYWdlLCBnZnBfdCBnZnBfbWFzaykKIHsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmhlYWQ7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKQEAgLTE3MDgsNyArMTU1MCw4IEBACiAJCS8qCiAJCSAqIFdlIHRha2Ugb3VyIG93biByZWYgYWdhaW5zdCB0aGUgam91cm5hbF9oZWFkIGhlcmUgdG8gYXZvaWQKIAkJICogaGF2aW5nIHRvIGFkZCB0b25zIG9mIGxvY2tpbmcgYXJvdW5kIGVhY2ggaW5zdGFuY2Ugb2YKLQkJICogamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoKSBhbmQgamJkMl9qb3VybmFsX3B1dF9qb3VybmFsX2hlYWQoKS4KKwkJICogamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoKSBhbmQKKwkJICogamJkMl9qb3VybmFsX3B1dF9qb3VybmFsX2hlYWQoKS4KIAkJICovCiAJCWpoID0gamJkMl9qb3VybmFsX2dyYWJfam91cm5hbF9oZWFkKGJoKTsKIAkJaWYgKCFqaCkKQEAgLTE3MjEsNyArMTU2NCwyOCBAQAogCQlpZiAoYnVmZmVyX2piZChiaCkpCiAJCQlnb3RvIGJ1c3k7CiAJfSB3aGlsZSAoKGJoID0gYmgtPmJfdGhpc19wYWdlKSAhPSBoZWFkKTsKKwogCXJldCA9IHRyeV90b19mcmVlX2J1ZmZlcnMocGFnZSk7CisKKwkvKgorCSAqIFRoZXJlIGFyZSBhIG51bWJlciBvZiBwbGFjZXMgd2hlcmUgamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMoKQorCSAqIGNvdWxkIHJhY2Ugd2l0aCBqYmQyX2pvdXJuYWxfY29tbWl0X3RyYW5zYWN0aW9uKCksIHRoZSBsYXRlciBzdGlsbAorCSAqIGhvbGRzIHRoZSByZWZlcmVuY2UgdG8gdGhlIGJ1ZmZlcnMgdG8gZnJlZSB3aGlsZSBwcm9jZXNzaW5nIHRoZW0uCisJICogdHJ5X3RvX2ZyZWVfYnVmZmVycygpIGZhaWxlZCB0byBmcmVlIHRob3NlIGJ1ZmZlcnMuIFNvbWUgb2YgdGhlCisJICogY2FsbGVyIG9mIHJlbGVhc2VwYWdlKCkgcmVxdWVzdCBwYWdlIGJ1ZmZlcnMgdG8gYmUgZHJvcHBlZCwgb3RoZXJ3aXNlCisJICogdHJlYXQgdGhlIGZhaWwtdG8tZnJlZSBhcyBlcnJvcnMgKHN1Y2ggYXMgZ2VuZXJpY19maWxlX2RpcmVjdF9JTygpKQorCSAqCisJICogU28sIGlmIHRoZSBjYWxsZXIgb2YgdHJ5X3RvX3JlbGVhc2VfcGFnZSgpIHdhbnRzIHRoZSBzeW5jaHJvbm91cworCSAqIGJlaGF2aW91cihpLmUgbWFrZSBzdXJlIGJ1ZmZlcnMgYXJlIGRyb3BwZWQgdXBvbiByZXR1cm4pLAorCSAqIGxldCdzIHdhaXQgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIHRvIGZpbmlzaCBmbHVzaCBvZgorCSAqIGRpcnR5IGRhdGEgYnVmZmVycywgdGhlbiB0cnkgdG8gZnJlZSB0aG9zZSBidWZmZXJzIGFnYWluLAorCSAqIHdpdGggdGhlIGpvdXJuYWwgbG9ja2VkLgorCSAqLworCWlmIChyZXQgPT0gMCAmJiAoZ2ZwX21hc2sgJiBfX0dGUF9XQUlUKSAmJiAoZ2ZwX21hc2sgJiBfX0dGUF9GUykpIHsKKwkJamJkMl9qb3VybmFsX3dhaXRfZm9yX3RyYW5zYWN0aW9uX3N5bmNfZGF0YShqb3VybmFsKTsKKwkJcmV0ID0gdHJ5X3RvX2ZyZWVfYnVmZmVycyhwYWdlKTsKKwl9CisKIGJ1c3k6CiAJcmV0dXJuIHJldDsKIH0KQEAgLTE4MjMsNiArMTY4Nyw3IEBACiAJaWYgKCFidWZmZXJfamJkKGJoKSkKIAkJZ290byB6YXBfYnVmZmVyX3VubG9ja2VkOwogCisJLyogT0ssIHdlIGhhdmUgZGF0YSBidWZmZXIgaW4gam91cm5hbGVkIG1vZGUgKi8KIAlzcGluX2xvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CiAJamJkX2xvY2tfYmhfc3RhdGUoYmgpOwogCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwpAQCAtMTg4NiwxNSArMTc1MSw2IEBACiAJCX0KIAl9IGVsc2UgaWYgKHRyYW5zYWN0aW9uID09IGpvdXJuYWwtPmpfY29tbWl0dGluZ190cmFuc2FjdGlvbikgewogCQlKQlVGRkVSX1RSQUNFKGpoLCAib24gY29tbWl0dGluZyB0cmFuc2FjdGlvbiIpOwotCQlpZiAoamgtPmJfamxpc3QgPT0gQkpfTG9ja2VkKSB7Ci0JCQkvKgotCQkJICogVGhlIGJ1ZmZlciBpcyBvbiB0aGUgY29tbWl0dGluZyB0cmFuc2FjdGlvbidzIGxvY2tlZAotCQkJICogbGlzdC4gIFdlIGhhdmUgdGhlIGJ1ZmZlciBsb2NrZWQsIHNvIEkvTyBoYXMKLQkJCSAqIGNvbXBsZXRlZC4gIFNvIHdlIGNhbiBuYWlsIHRoZSBidWZmZXIgbm93LgotCQkJICovCi0JCQltYXlfZnJlZSA9IF9fZGlzcG9zZV9idWZmZXIoamgsIHRyYW5zYWN0aW9uKTsKLQkJCWdvdG8gemFwX2J1ZmZlcjsKLQkJfQogCQkvKgogCQkgKiBJZiBpdCBpcyBjb21taXR0aW5nLCB3ZSBzaW1wbHkgY2Fubm90IHRvdWNoIGl0LiAgV2UKIAkJICogY2FuIHJlbW92ZSBpdCdzIG5leHRfdHJhbnNhY3Rpb24gcG9pbnRlciBmcm9tIHRoZQpAQCAtMjAyNyw5ICsxODgzLDYgQEAKIAkJSl9BU1NFUlRfSkgoamgsICFqaC0+Yl9jb21taXR0ZWRfZGF0YSk7CiAJCUpfQVNTRVJUX0pIKGpoLCAhamgtPmJfZnJvemVuX2RhdGEpOwogCQlyZXR1cm47Ci0JY2FzZSBCSl9TeW5jRGF0YToKLQkJbGlzdCA9ICZ0cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0OwotCQlicmVhazsKIAljYXNlIEJKX01ldGFkYXRhOgogCQl0cmFuc2FjdGlvbi0+dF9ucl9idWZmZXJzKys7CiAJCWxpc3QgPSAmdHJhbnNhY3Rpb24tPnRfYnVmZmVyczsKQEAgLTIwNDksOSArMTkwMiw2IEBACiAJY2FzZSBCSl9SZXNlcnZlZDoKIAkJbGlzdCA9ICZ0cmFuc2FjdGlvbi0+dF9yZXNlcnZlZF9saXN0OwogCQlicmVhazsKLQljYXNlIEJKX0xvY2tlZDoKLQkJbGlzdCA9ICAmdHJhbnNhY3Rpb24tPnRfbG9ja2VkX2xpc3Q7Ci0JCWJyZWFrOwogCX0KIAogCV9fYmxpc3RfYWRkX2J1ZmZlcihsaXN0LCBqaCk7CkBAIC0yMTQxLDMgKzE5OTEsODggQEAKIAlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwogCV9fYnJlbHNlKGJoKTsKIH0KKworLyoKKyAqIEZpbGUgaW5vZGUgaW4gdGhlIGlub2RlIGxpc3Qgb2YgdGhlIGhhbmRsZSdzIHRyYW5zYWN0aW9uCisgKi8KK2ludCBqYmQyX2pvdXJuYWxfZmlsZV9pbm9kZShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlKQoreworCXRyYW5zYWN0aW9uX3QgKnRyYW5zYWN0aW9uID0gaGFuZGxlLT5oX3RyYW5zYWN0aW9uOworCWpvdXJuYWxfdCAqam91cm5hbCA9IHRyYW5zYWN0aW9uLT50X2pvdXJuYWw7CisKKwlpZiAoaXNfaGFuZGxlX2Fib3J0ZWQoaGFuZGxlKSkKKwkJcmV0dXJuIC1FSU87CisKKwlqYmRfZGVidWcoNCwgIkFkZGluZyBpbm9kZSAlbHUsIHRpZDolZFxuIiwgamlub2RlLT5pX3Zmc19pbm9kZS0+aV9pbm8sCisJCQl0cmFuc2FjdGlvbi0+dF90aWQpOworCisJLyoKKwkgKiBGaXJzdCBjaGVjayB3aGV0aGVyIGlub2RlIGlzbid0IGFscmVhZHkgb24gdGhlIHRyYW5zYWN0aW9uJ3MKKwkgKiBsaXN0cyB3aXRob3V0IHRha2luZyB0aGUgbG9jay4gTm90ZSB0aGF0IHRoaXMgY2hlY2sgaXMgc2FmZQorCSAqIHdpdGhvdXQgdGhlIGxvY2sgYXMgd2UgY2Fubm90IHJhY2Ugd2l0aCBzb21lYm9keSByZW1vdmluZyBpbm9kZQorCSAqIGZyb20gdGhlIHRyYW5zYWN0aW9uLiBUaGUgcmVhc29uIGlzIHRoYXQgd2UgcmVtb3ZlIGlub2RlIGZyb20gdGhlCisJICogdHJhbnNhY3Rpb24gb25seSBpbiBqb3VybmFsX3JlbGVhc2VfamJkX2lub2RlKCkgYW5kIHdoZW4gd2UgY29tbWl0CisJICogdGhlIHRyYW5zYWN0aW9uLiBXZSBhcmUgZ3VhcmRlZCBmcm9tIHRoZSBmaXJzdCBjYXNlIGJ5IGhvbGRpbmcKKwkgKiBhIHJlZmVyZW5jZSB0byB0aGUgaW5vZGUuIFdlIGFyZSBzYWZlIGFnYWluc3QgdGhlIHNlY29uZCBjYXNlCisJICogYmVjYXVzZSBpZiBqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPT0gdHJhbnNhY3Rpb24sIGNvbW1pdCBjb2RlCisJICogY2Fubm90IHRvdWNoIHRoZSB0cmFuc2FjdGlvbiBiZWNhdXNlIHdlIGhvbGQgcmVmZXJlbmNlIHRvIGl0LAorCSAqIGFuZCBpZiBqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbiwgY29tbWl0IGNvZGUKKwkgKiB3aWxsIG9ubHkgZmlsZSB0aGUgaW5vZGUgd2hlcmUgd2Ugd2FudCBpdC4KKwkgKi8KKwlpZiAoamlub2RlLT5pX3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uIHx8CisJICAgIGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uKQorCQlyZXR1cm4gMDsKKworCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCisJaWYgKGppbm9kZS0+aV90cmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbiB8fAorCSAgICBqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbikKKwkJZ290byBkb25lOworCisJLyogT24gc29tZSBkaWZmZXJlbnQgdHJhbnNhY3Rpb24ncyBsaXN0IC0gc2hvdWxkIGJlCisJICogdGhlIGNvbW1pdHRpbmcgb25lICovCisJaWYgKGppbm9kZS0+aV90cmFuc2FjdGlvbikgeworCQlKX0FTU0VSVChqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9PSBOVUxMKTsKKwkJSl9BU1NFUlQoamlub2RlLT5pX3RyYW5zYWN0aW9uID09CisJCQkJCWpvdXJuYWwtPmpfY29tbWl0dGluZ190cmFuc2FjdGlvbik7CisJCWppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247CisJCWdvdG8gZG9uZTsKKwl9CisJLyogTm90IG9uIGFueSB0cmFuc2FjdGlvbiBsaXN0Li4uICovCisJSl9BU1NFUlQoIWppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uKTsKKwlqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjsKKwlsaXN0X2FkZCgmamlub2RlLT5pX2xpc3QsICZ0cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0KTsKK2RvbmU6CisJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKworCXJldHVybiAwOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCB3aGVuIGlub2RlIGlzIGpvdXJuYWxlZCBpbiBvcmRlcmVkIG1vZGUKKyAqIGJlZm9yZSB0cnVuY2F0aW9uIGhhcHBlbnMuIEl0IHN0YXJ0cyB3cml0ZW91dCBvZiB0cnVuY2F0ZWQgcGFydCBpbgorICogY2FzZSBpdCBpcyBpbiB0aGUgY29tbWl0dGluZyB0cmFuc2FjdGlvbiBzbyB0aGF0IHdlIHN0YW5kIHRvIG9yZGVyZWQKKyAqIG1vZGUgY29uc2lzdGVuY3kgZ3VhcmFudGVlcy4KKyAqLworaW50IGpiZDJfam91cm5hbF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKHN0cnVjdCBqYmQyX2lub2RlICppbm9kZSwKKwkJCQkJbG9mZl90IG5ld19zaXplKQoreworCWpvdXJuYWxfdCAqam91cm5hbDsKKwl0cmFuc2FjdGlvbl90ICpjb21taXRfdHJhbnM7CisJaW50IHJldCA9IDA7CisKKwlpZiAoIWlub2RlLT5pX3RyYW5zYWN0aW9uICYmICFpbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uKQorCQlnb3RvIG91dDsKKwlqb3VybmFsID0gaW5vZGUtPmlfdHJhbnNhY3Rpb24tPnRfam91cm5hbDsKKwlzcGluX2xvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CisJY29tbWl0X3RyYW5zID0gam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uOworCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX3N0YXRlX2xvY2spOworCWlmIChpbm9kZS0+aV90cmFuc2FjdGlvbiA9PSBjb21taXRfdHJhbnMpIHsKKwkJcmV0ID0gZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKGlub2RlLT5pX3Zmc19pbm9kZS0+aV9tYXBwaW5nLAorCQkJbmV3X3NpemUsIExMT05HX01BWCk7CisJCWlmIChyZXQpCisJCQlqYmQyX2pvdXJuYWxfYWJvcnQoam91cm5hbCwgcmV0KTsKKwl9CitvdXQ6CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfZGVidWcuYyBiL2ZzL2pmcy9qZnNfZGVidWcuYwppbmRleCBiZjZhYjE5Li42YTczZGU4IDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX2RlYnVnLmMKKysrIGIvZnMvamZzL2pmc19kZWJ1Zy5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgImpmc19pbmNvcmUuaCIKICNpbmNsdWRlICJqZnNfZmlsc3lzLmgiCkBAIC0zMCwyOSArMzEsMTkgQEAKIAogc3RhdGljIHN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqYmFzZTsKICNpZmRlZiBDT05GSUdfSkZTX0RFQlVHCi1zdGF0aWMgaW50IGxvZ2xldmVsX3JlYWQoY2hhciAqcGFnZSwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmYsCi0JCQkgaW50IGNvdW50LCBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX2xvZ2xldmVsX3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiB7Ci0JaW50IGxlbjsKLQotCWxlbiA9IHNwcmludGYocGFnZSwgIiVkXG4iLCBqZnNsb2dsZXZlbCk7Ci0KLQlsZW4gLT0gb2ZmOwotCSpzdGFydCA9IHBhZ2UgKyBvZmY7Ci0KLQlpZiAobGVuID4gY291bnQpCi0JCWxlbiA9IGNvdW50OwotCWVsc2UKLQkJKmVvZiA9IDE7Ci0KLQlpZiAobGVuIDwgMCkKLQkJbGVuID0gMDsKLQotCXJldHVybiBsZW47CisJc2VxX3ByaW50ZihtLCAiJWRcbiIsIGpmc2xvZ2xldmVsKTsKKwlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBsb2dsZXZlbF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKmJ1ZmZlciwKLQkJCXVuc2lnbmVkIGxvbmcgY291bnQsIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGpmc19sb2dsZXZlbF9wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGpmc19sb2dsZXZlbF9wcm9jX3Nob3csIE5VTEwpOworfQorCitzdGF0aWMgc3NpemVfdCBqZnNfbG9nbGV2ZWxfcHJvY193cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwKKwkJY29uc3QgY2hhciBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCiB7CiAJY2hhciBjOwogCkBAIC02NSwyMiArNTYsMzAgQEAKIAlqZnNsb2dsZXZlbCA9IGMgLSAnMCc7CiAJcmV0dXJuIGNvdW50OwogfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbG9nbGV2ZWxfcHJvY19mb3BzID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkub3BlbgkJPSBqZnNfbG9nbGV2ZWxfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCisJLndyaXRlCQk9IGpmc19sb2dsZXZlbF9wcm9jX3dyaXRlLAorfTsKICNlbmRpZgogCiBzdGF0aWMgc3RydWN0IHsKIAljb25zdCBjaGFyCSpuYW1lOwotCXJlYWRfcHJvY190CSpyZWFkX2ZuOwotCXdyaXRlX3Byb2NfdAkqd3JpdGVfZm47CisJY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyAqcHJvY19mb3BzOwogfSBFbnRyaWVzW10gPSB7CiAjaWZkZWYgQ09ORklHX0pGU19TVEFUSVNUSUNTCi0JeyAibG1zdGF0cyIsCWpmc19sbXN0YXRzX3JlYWQsIH0sCi0JeyAidHhzdGF0cyIsCWpmc190eHN0YXRzX3JlYWQsIH0sCi0JeyAieHRzdGF0IiwJamZzX3h0c3RhdF9yZWFkLCB9LAotCXsgIm1wc3RhdCIsCWpmc19tcHN0YXRfcmVhZCwgfSwKKwl7ICJsbXN0YXRzIiwJJmpmc19sbXN0YXRzX3Byb2NfZm9wcywgfSwKKwl7ICJ0eHN0YXRzIiwJJmpmc190eHN0YXRzX3Byb2NfZm9wcywgfSwKKwl7ICJ4dHN0YXQiLAkmamZzX3h0c3RhdF9wcm9jX2ZvcHMsIH0sCisJeyAibXBzdGF0IiwJJmpmc19tcHN0YXRfcHJvY19mb3BzLCB9LAogI2VuZGlmCiAjaWZkZWYgQ09ORklHX0pGU19ERUJVRwotCXsgIlR4QW5jaG9yIiwJamZzX3R4YW5jaG9yX3JlYWQsIH0sCi0JeyAibG9nbGV2ZWwiLAlsb2dsZXZlbF9yZWFkLCBsb2dsZXZlbF93cml0ZSB9CisJeyAiVHhBbmNob3IiLAkmamZzX3R4YW5jaG9yX3Byb2NfZm9wcywgfSwKKwl7ICJsb2dsZXZlbCIsCSZqZnNfbG9nbGV2ZWxfcHJvY19mb3BzIH0KICNlbmRpZgogfTsKICNkZWZpbmUgTlBST0NFTlQJQVJSQVlfU0laRShFbnRyaWVzKQpAQCAtOTMsMTMgKzkyLDggQEAKIAkJcmV0dXJuOwogCWJhc2UtPm93bmVyID0gVEhJU19NT0RVTEU7CiAKLQlmb3IgKGkgPSAwOyBpIDwgTlBST0NFTlQ7IGkrKykgewotCQlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKnA7Ci0JCWlmICgocCA9IGNyZWF0ZV9wcm9jX2VudHJ5KEVudHJpZXNbaV0ubmFtZSwgMCwgYmFzZSkpKSB7Ci0JCQlwLT5yZWFkX3Byb2MgPSBFbnRyaWVzW2ldLnJlYWRfZm47Ci0JCQlwLT53cml0ZV9wcm9jID0gRW50cmllc1tpXS53cml0ZV9mbjsKLQkJfQotCX0KKwlmb3IgKGkgPSAwOyBpIDwgTlBST0NFTlQ7IGkrKykKKwkJcHJvY19jcmVhdGUoRW50cmllc1tpXS5uYW1lLCAwLCBiYXNlLCBFbnRyaWVzW2ldLnByb2NfZm9wcyk7CiB9CiAKIHZvaWQgamZzX3Byb2NfY2xlYW4odm9pZCkKZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfZGVidWcuaCBiL2ZzL2pmcy9qZnNfZGVidWcuaAppbmRleCAwNDRjMWU2Li5lYWZkMTMwIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX2RlYnVnLmgKKysrIGIvZnMvamZzL2pmc19kZWJ1Zy5oCkBAIC02Miw3ICs2Miw3IEBACiAKIGV4dGVybiBpbnQgamZzbG9nbGV2ZWw7CiAKLWV4dGVybiBpbnQgamZzX3R4YW5jaG9yX3JlYWQoY2hhciAqLCBjaGFyICoqLCBvZmZfdCwgaW50LCBpbnQgKiwgdm9pZCAqKTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc190eGFuY2hvcl9wcm9jX2ZvcHM7CiAKIC8qIGluZm9ybWF0aW9uIG1lc3NhZ2U6IGUuZy4sIGNvbmZpZ3VyYXRpb24sIG1ham9yIGV2ZW50ICovCiAjZGVmaW5lIGpmc19pbmZvKGZtdCwgYXJnLi4uKSBkbyB7CQkJXApAQCAtMTA1LDEwICsxMDUsMTAgQEAKICAqCS0tLS0tLS0tLS0KICAqLwogI2lmZGVmCUNPTkZJR19KRlNfU1RBVElTVElDUwotZXh0ZXJuIGludCBqZnNfbG1zdGF0c19yZWFkKGNoYXIgKiwgY2hhciAqKiwgb2ZmX3QsIGludCwgaW50ICosIHZvaWQgKik7Ci1leHRlcm4gaW50IGpmc190eHN0YXRzX3JlYWQoY2hhciAqLCBjaGFyICoqLCBvZmZfdCwgaW50LCBpbnQgKiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgamZzX21wc3RhdF9yZWFkKGNoYXIgKiwgY2hhciAqKiwgb2ZmX3QsIGludCwgaW50ICosIHZvaWQgKik7Ci1leHRlcm4gaW50IGpmc194dHN0YXRfcmVhZChjaGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQsIGludCAqLCB2b2lkICopOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX2xtc3RhdHNfcHJvY19mb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX3R4c3RhdHNfcHJvY19mb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX21wc3RhdF9wcm9jX2ZvcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfeHRzdGF0X3Byb2NfZm9wczsKIAogI2RlZmluZQlJTkNSRU1FTlQoeCkJCSgoeCkrKykKICNkZWZpbmUJREVDUkVNRU5UKHgpCQkoKHgpLS0pCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX2R0cmVlLmggYi9mcy9qZnMvamZzX2R0cmVlLmgKaW5kZXggY2RhYzJkNS4uMjU0NWJiMyAxMDA2NDQKLS0tIGEvZnMvamZzL2pmc19kdHJlZS5oCisrKyBiL2ZzL2pmcy9qZnNfZHRyZWUuaApAQCAtMjQzLDkgKzI0Myw2IEBACiAjZGVmaW5lIEpGU19SRU1PVkUgMwogI2RlZmluZSBKRlNfUkVOQU1FIDQKIAotI2RlZmluZSBESVJFTlRTSVoobmFtbGVuKSBcCi0gICAgKCAoc2l6ZW9mKHN0cnVjdCBkaXJlbnQpIC0gMiooSkZTX05BTUVfTUFYKzEpICsgMiooKG5hbWxlbikrMSkgKyAzKSAmfiAzICkKLQogLyoKICAqIE1heGltdW0gZmlsZSBvZmZzZXQgZm9yIGRpcmVjdG9yaWVzLgogICovCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX2ltYXAuYyBiL2ZzL2pmcy9qZnNfaW1hcC5jCmluZGV4IDczNGVjOTEuLmQ2MzYzZDggMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfaW1hcC5jCisrKyBiL2ZzL2pmcy9qZnNfaW1hcC5jCkBAIC0xNTIwLDcgKzE1MjAsNyBAQAogCQkJCQlqZnNfZXJyb3IoaXAtPmlfc2IsCiAJCQkJCQkgICJkaUFsbG9jOiBjYW4ndCBmaW5kIGZyZWUgYml0ICIKIAkJCQkJCSAgImluIHdtYXAiKTsKLQkJCQkJcmV0dXJuIEVJTzsKKwkJCQkJcmV0dXJuIC1FSU87CiAJCQkJfQogCiAJCQkJLyogZGV0ZXJtaW5lIHRoZSBpbm9kZSBudW1iZXIgd2l0aGluIHRoZQpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc19sb2dtZ3IuYyBiL2ZzL2pmcy9qZnNfbG9nbWdyLmMKaW5kZXggMzI1YTk2Ny4uY2QyZWMyOSAxMDA2NDQKLS0tIGEvZnMvamZzL2pmc19sb2dtZ3IuYworKysgYi9mcy9qZnMvamZzX2xvZ21nci5jCkBAIC02OSw2ICs2OSw3IEBACiAjaW5jbHVkZSA8bGludXgvZnJlZXplci5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgImpmc19pbmNvcmUuaCIKICNpbmNsdWRlICJqZnNfZmlsc3lzLmgiCiAjaW5jbHVkZSAiamZzX21ldGFwYWdlLmgiCkBAIC0yNTAzLDEzICsyNTA0LDkgQEAKIH0KIAogI2lmZGVmIENPTkZJR19KRlNfU1RBVElTVElDUwotaW50IGpmc19sbXN0YXRzX3JlYWQoY2hhciAqYnVmZmVyLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZnNldCwgaW50IGxlbmd0aCwKLQkJICAgICAgaW50ICplb2YsIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGpmc19sbXN0YXRzX3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiB7Ci0JaW50IGxlbiA9IDA7Ci0Jb2ZmX3QgYmVnaW47Ci0KLQlsZW4gKz0gc3ByaW50ZihidWZmZXIsCisJc2VxX3ByaW50ZihtLAogCQkgICAgICAgIkpGUyBMb2dtZ3Igc3RhdHNcbiIKIAkJICAgICAgICI9PT09PT09PT09PT09PT09XG4iCiAJCSAgICAgICAiY29tbWl0cyA9ICVkXG4iCkBAIC0yNTIyLDE5ICsyNTE5LDE5IEBACiAJCSAgICAgICBsbVN0YXQucGFnZWRvbmUsCiAJCSAgICAgICBsbVN0YXQuZnVsbF9wYWdlLAogCQkgICAgICAgbG1TdGF0LnBhcnRpYWxfcGFnZSk7Ci0KLQliZWdpbiA9IG9mZnNldDsKLQkqc3RhcnQgPSBidWZmZXIgKyBiZWdpbjsKLQlsZW4gLT0gYmVnaW47Ci0KLQlpZiAobGVuID4gbGVuZ3RoKQotCQlsZW4gPSBsZW5ndGg7Ci0JZWxzZQotCQkqZW9mID0gMTsKLQotCWlmIChsZW4gPCAwKQotCQlsZW4gPSAwOwotCi0JcmV0dXJuIGxlbjsKKwlyZXR1cm4gMDsKIH0KKworc3RhdGljIGludCBqZnNfbG1zdGF0c19wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGpmc19sbXN0YXRzX3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK2NvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX2xtc3RhdHNfcHJvY19mb3BzID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkub3BlbgkJPSBqZnNfbG1zdGF0c19wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKK307CiAjZW5kaWYgLyogQ09ORklHX0pGU19TVEFUSVNUSUNTICovCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX21ldGFwYWdlLmMgYi9mcy9qZnMvamZzX21ldGFwYWdlLmMKaW5kZXggZDFlNjRmMi4uODU0ZmYwZSAxMDA2NDQKLS0tIGEvZnMvamZzL2pmc19tZXRhcGFnZS5jCisrKyBiL2ZzL2pmcy9qZnNfbWV0YXBhZ2UuYwpAQCAtMTksMTAgKzE5LDEyIEBACiAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvYmlvLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2J1ZmZlcl9oZWFkLmg+CiAjaW5jbHVkZSA8bGludXgvbWVtcG9vbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19zdXBlcmJsb2NrLmgiCiAjaW5jbHVkZSAiamZzX2ZpbHN5cy5oIgpAQCAtODA0LDEzICs4MDYsOSBAQAogfQogCiAjaWZkZWYgQ09ORklHX0pGU19TVEFUSVNUSUNTCi1pbnQgamZzX21wc3RhdF9yZWFkKGNoYXIgKmJ1ZmZlciwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmZzZXQsIGludCBsZW5ndGgsCi0JCSAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX21wc3RhdF9wcm9jX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogewotCWludCBsZW4gPSAwOwotCW9mZl90IGJlZ2luOwotCi0JbGVuICs9IHNwcmludGYoYnVmZmVyLAorCXNlcV9wcmludGYobSwKIAkJICAgICAgICJKRlMgTWV0YXBhZ2Ugc3RhdGlzdGljc1xuIgogCQkgICAgICAgIj09PT09PT09PT09PT09PT09PT09PT09XG4iCiAJCSAgICAgICAicGFnZSBhbGxvY2F0aW9ucyA9ICVkXG4iCkBAIC04MTksMTkgKzgxNywxOSBAQAogCQkgICAgICAgbXBTdGF0LnBhZ2VhbGxvYywKIAkJICAgICAgIG1wU3RhdC5wYWdlZnJlZSwKIAkJICAgICAgIG1wU3RhdC5sb2Nrd2FpdCk7Ci0KLQliZWdpbiA9IG9mZnNldDsKLQkqc3RhcnQgPSBidWZmZXIgKyBiZWdpbjsKLQlsZW4gLT0gYmVnaW47Ci0KLQlpZiAobGVuID4gbGVuZ3RoKQotCQlsZW4gPSBsZW5ndGg7Ci0JZWxzZQotCQkqZW9mID0gMTsKLQotCWlmIChsZW4gPCAwKQotCQlsZW4gPSAwOwotCi0JcmV0dXJuIGxlbjsKKwlyZXR1cm4gMDsKIH0KKworc3RhdGljIGludCBqZnNfbXBzdGF0X3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX21wc3RhdF9wcm9jX3Nob3csIE5VTEwpOworfQorCitjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc19tcHN0YXRfcHJvY19mb3BzID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkub3BlbgkJPSBqZnNfbXBzdGF0X3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAorfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc190eG5tZ3IuYyBiL2ZzL2pmcy9qZnNfdHhubWdyLmMKaW5kZXggZTdjNjBhZS4uZjI2ZTRkMCAxMDA2NDQKLS0tIGEvZnMvamZzL2pmc190eG5tZ3IuYworKysgYi9mcy9qZnMvamZzX3R4bm1nci5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlICJqZnNfaW5jb3JlLmgiCiAjaW5jbHVkZSAiamZzX2lub2RlLmgiCiAjaW5jbHVkZSAiamZzX2ZpbHN5cy5oIgpAQCAtMzAwOSwxMSArMzAxMCw4IEBACiB9CiAKICNpZiBkZWZpbmVkKENPTkZJR19QUk9DX0ZTKSAmJiBkZWZpbmVkKENPTkZJR19KRlNfREVCVUcpCi1pbnQgamZzX3R4YW5jaG9yX3JlYWQoY2hhciAqYnVmZmVyLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZnNldCwgaW50IGxlbmd0aCwKLQkJICAgICAgaW50ICplb2YsIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGpmc190eGFuY2hvcl9wcm9jX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogewotCWludCBsZW4gPSAwOwotCW9mZl90IGJlZ2luOwogCWNoYXIgKmZyZWV3YWl0OwogCWNoYXIgKmZyZWVsb2Nrd2FpdDsKIAljaGFyICpsb3dsb2Nrd2FpdDsKQEAgLTMwMjUsNyArMzAyMyw3IEBACiAJbG93bG9ja3dhaXQgPQogCSAgICB3YWl0cXVldWVfYWN0aXZlKCZUeEFuY2hvci5sb3dsb2Nrd2FpdCkgPyAiYWN0aXZlIiA6ICJlbXB0eSI7CiAKLQlsZW4gKz0gc3ByaW50ZihidWZmZXIsCisJc2VxX3ByaW50ZihtLAogCQkgICAgICAgIkpGUyBUeEFuY2hvclxuIgogCQkgICAgICAgIj09PT09PT09PT09PVxuIgogCQkgICAgICAgImZyZWV0aWQgPSAlZFxuIgpAQCAtMzA0NCwzMSArMzA0MiwyNyBAQAogCQkgICAgICAgVHhBbmNob3IudGxvY2tzSW5Vc2UsCiAJCSAgICAgICBqZnNfdGxvY2tzX2xvdywKIAkJICAgICAgIGxpc3RfZW1wdHkoJlR4QW5jaG9yLnVubG9ja19xdWV1ZSkgPyAiIiA6ICJub3QgIik7Ci0KLQliZWdpbiA9IG9mZnNldDsKLQkqc3RhcnQgPSBidWZmZXIgKyBiZWdpbjsKLQlsZW4gLT0gYmVnaW47Ci0KLQlpZiAobGVuID4gbGVuZ3RoKQotCQlsZW4gPSBsZW5ndGg7Ci0JZWxzZQotCQkqZW9mID0gMTsKLQotCWlmIChsZW4gPCAwKQotCQlsZW4gPSAwOwotCi0JcmV0dXJuIGxlbjsKKwlyZXR1cm4gMDsKIH0KKworc3RhdGljIGludCBqZnNfdHhhbmNob3JfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBqZnNfdHhhbmNob3JfcHJvY19zaG93LCBOVUxMKTsKK30KKworY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfdHhhbmNob3JfcHJvY19mb3BzID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkub3BlbgkJPSBqZnNfdHhhbmNob3JfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCit9OwogI2VuZGlmCiAKICNpZiBkZWZpbmVkKENPTkZJR19QUk9DX0ZTKSAmJiBkZWZpbmVkKENPTkZJR19KRlNfU1RBVElTVElDUykKLWludCBqZnNfdHhzdGF0c19yZWFkKGNoYXIgKmJ1ZmZlciwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmZzZXQsIGludCBsZW5ndGgsCi0JCSAgICAgaW50ICplb2YsIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGpmc190eHN0YXRzX3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiB7Ci0JaW50IGxlbiA9IDA7Ci0Jb2ZmX3QgYmVnaW47Ci0KLQlsZW4gKz0gc3ByaW50ZihidWZmZXIsCisJc2VxX3ByaW50ZihtLAogCQkgICAgICAgIkpGUyBUeFN0YXRzXG4iCiAJCSAgICAgICAiPT09PT09PT09PT1cbiIKIAkJICAgICAgICJjYWxscyB0byB0eEJlZ2luID0gJWRcbiIKQEAgLTMwODksMTkgKzMwODMsMTkgQEAKIAkJICAgICAgIFR4U3RhdC50eEJlZ2luQW5vbl9sb2Nrc2xvdywKIAkJICAgICAgIFR4U3RhdC50eExvY2tBbGxvYywKIAkJICAgICAgIFR4U3RhdC50eExvY2tBbGxvY19mcmVlbG9jayk7Ci0KLQliZWdpbiA9IG9mZnNldDsKLQkqc3RhcnQgPSBidWZmZXIgKyBiZWdpbjsKLQlsZW4gLT0gYmVnaW47Ci0KLQlpZiAobGVuID4gbGVuZ3RoKQotCQlsZW4gPSBsZW5ndGg7Ci0JZWxzZQotCQkqZW9mID0gMTsKLQotCWlmIChsZW4gPCAwKQotCQlsZW4gPSAwOwotCi0JcmV0dXJuIGxlbjsKKwlyZXR1cm4gMDsKIH0KKworc3RhdGljIGludCBqZnNfdHhzdGF0c19wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGpmc190eHN0YXRzX3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK2NvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX3R4c3RhdHNfcHJvY19mb3BzID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkub3BlbgkJPSBqZnNfdHhzdGF0c19wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKK307CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfeHRyZWUuYyBiL2ZzL2pmcy9qZnNfeHRyZWUuYwppbmRleCA1YTYxZWJmLi5hZTNhY2FmIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX3h0cmVlLmMKKysrIGIvZnMvamZzL2pmc194dHJlZS5jCkBAIC0yMCw3ICsyMCw5IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcXVvdGFvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgImpmc19pbmNvcmUuaCIKICNpbmNsdWRlICJqZnNfZmlsc3lzLmgiCiAjaW5jbHVkZSAiamZzX21ldGFwYWdlLmgiCkBAIC00MTM0LDEzICs0MTM2LDkgQEAKIH0KIAogI2lmZGVmIENPTkZJR19KRlNfU1RBVElTVElDUwotaW50IGpmc194dHN0YXRfcmVhZChjaGFyICpidWZmZXIsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgbGVuZ3RoLAotCQkgICAgaW50ICplb2YsIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGpmc194dHN0YXRfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuID0gMDsKLQlvZmZfdCBiZWdpbjsKLQotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIFh0cmVlIHN0YXRpc3RpY3NcbiIKIAkJICAgICAgICI9PT09PT09PT09PT09PT09PT09PVxuIgogCQkgICAgICAgInNlYXJjaGVzID0gJWRcbiIKQEAgLTQxNDksMTkgKzQxNDcsMTkgQEAKIAkJICAgICAgIHh0U3RhdC5zZWFyY2gsCiAJCSAgICAgICB4dFN0YXQuZmFzdFNlYXJjaCwKIAkJICAgICAgIHh0U3RhdC5zcGxpdCk7Ci0KLQliZWdpbiA9IG9mZnNldDsKLQkqc3RhcnQgPSBidWZmZXIgKyBiZWdpbjsKLQlsZW4gLT0gYmVnaW47Ci0KLQlpZiAobGVuID4gbGVuZ3RoKQotCQlsZW4gPSBsZW5ndGg7Ci0JZWxzZQotCQkqZW9mID0gMTsKLQotCWlmIChsZW4gPCAwKQotCQlsZW4gPSAwOwotCi0JcmV0dXJuIGxlbjsKKwlyZXR1cm4gMDsKIH0KKworc3RhdGljIGludCBqZnNfeHRzdGF0X3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX3h0c3RhdF9wcm9jX3Nob3csIE5VTEwpOworfQorCitjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc194dHN0YXRfcHJvY19mb3BzID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkub3BlbgkJPSBqZnNfeHRzdGF0X3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAorfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZnMvamZzL25hbWVpLmMgYi9mcy9qZnMvbmFtZWkuYwppbmRleCAwYmE2Nzc4Li4yYWJhODIzIDEwMDY0NAotLS0gYS9mcy9qZnMvbmFtZWkuYworKysgYi9mcy9qZnMvbmFtZWkuYwpAQCAtMTQ1NSw3ICsxNDU1LDcgQEAKIAkJZnJlZV9VQ1NuYW1lKCZrZXkpOwogCQlpZiAocmMgPT0gLUVOT0VOVCkgewogCQkJZF9hZGQoZGVudHJ5LCBOVUxMKTsKLQkJCXJldHVybiBFUlJfUFRSKDApOworCQkJcmV0dXJuIE5VTEw7CiAJCX0gZWxzZSBpZiAocmMpIHsKIAkJCWpmc19lcnIoImpmc19sb29rdXA6IGR0U2VhcmNoIHJldHVybmVkICVkIiwgcmMpOwogCQkJcmV0dXJuIEVSUl9QVFIocmMpOwpkaWZmIC0tZ2l0IGEvZnMvamZzL3N1cGVyLmMgYi9mcy9qZnMvc3VwZXIuYwppbmRleCA1MGVhNjU0Li4wMjg4ZTZkIDEwMDY0NAotLS0gYS9mcy9qZnMvc3VwZXIuYworKysgYi9mcy9qZnMvc3VwZXIuYwpAQCAtNDk5LDcgKzQ5OSw3IEBACiAJaW5vZGUgPSBqZnNfaWdldChzYiwgUk9PVF9JKTsKIAlpZiAoSVNfRVJSKGlub2RlKSkgewogCQlyZXQgPSBQVFJfRVJSKGlub2RlKTsKLQkJZ290byBvdXRfbm9fcm9vdDsKKwkJZ290byBvdXRfbm9fcnc7CiAJfQogCXNiLT5zX3Jvb3QgPSBkX2FsbG9jX3Jvb3QoaW5vZGUpOwogCWlmICghc2ItPnNfcm9vdCkKQEAgLTUyMSw5ICs1MjEsOCBAQAogCXJldHVybiAwOwogCiBvdXRfbm9fcm9vdDoKLQlqZnNfZXJyKCJqZnNfcmVhZF9zdXBlcjogZ2V0IHJvb3QgaW5vZGUgZmFpbGVkIik7Ci0JaWYgKGlub2RlKQotCQlpcHV0KGlub2RlKTsKKwlqZnNfZXJyKCJqZnNfcmVhZF9zdXBlcjogZ2V0IHJvb3QgZGVudHJ5IGZhaWxlZCIpOworCWlwdXQoaW5vZGUpOwogCiBvdXRfbm9fcnc6CiAJcmMgPSBqZnNfdW1vdW50KHNiKTsKZGlmZiAtLWdpdCBhL2ZzL21wYWdlLmMgYi9mcy9tcGFnZS5jCmluZGV4IDIzNWU0ZDMuLmRiY2M3YWYgMTAwNjQ0Ci0tLSBhL2ZzL21wYWdlLmMKKysrIGIvZnMvbXBhZ2UuYwpAQCAtODIsNyArODIsNyBAQAogCWJpb19wdXQoYmlvKTsKIH0KIAotc3RhdGljIHN0cnVjdCBiaW8gKm1wYWdlX2Jpb19zdWJtaXQoaW50IHJ3LCBzdHJ1Y3QgYmlvICpiaW8pCitzdHJ1Y3QgYmlvICptcGFnZV9iaW9fc3VibWl0KGludCBydywgc3RydWN0IGJpbyAqYmlvKQogewogCWJpby0+YmlfZW5kX2lvID0gbXBhZ2VfZW5kX2lvX3JlYWQ7CiAJaWYgKHJ3ID09IFdSSVRFKQpAQCAtOTAsNiArOTAsNyBAQAogCXN1Ym1pdF9iaW8ocncsIGJpbyk7CiAJcmV0dXJuIE5VTEw7CiB9CitFWFBPUlRfU1lNQk9MKG1wYWdlX2Jpb19zdWJtaXQpOwogCiBzdGF0aWMgc3RydWN0IGJpbyAqCiBtcGFnZV9hbGxvYyhzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LApAQCAtNDM1LDE1ICs0MzYsOSBAQAogICogd3JpdHRlbiwgc28gaXQgY2FuIGludGVsbGlnZW50bHkgYWxsb2NhdGUgYSBzdWl0YWJseS1zaXplZCBCSU8uICBGb3Igbm93LAogICoganVzdCBhbGxvY2F0ZSBmdWxsLXNpemUgKDE2LXBhZ2UpIEJJT3MuCiAgKi8KLXN0cnVjdCBtcGFnZV9kYXRhIHsKLQlzdHJ1Y3QgYmlvICpiaW87Ci0Jc2VjdG9yX3QgbGFzdF9ibG9ja19pbl9iaW87Ci0JZ2V0X2Jsb2NrX3QgKmdldF9ibG9jazsKLQl1bnNpZ25lZCB1c2Vfd3JpdGVwYWdlOwotfTsKIAotc3RhdGljIGludCBfX21wYWdlX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsCi0JCQkgICAgIHZvaWQgKmRhdGEpCitpbnQgX19tcGFnZV93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIHN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjLAorCQkgICAgICB2b2lkICpkYXRhKQogewogCXN0cnVjdCBtcGFnZV9kYXRhICptcGQgPSBkYXRhOwogCXN0cnVjdCBiaW8gKmJpbyA9IG1wZC0+YmlvOwpAQCAtNjUxLDYgKzY0Niw3IEBACiAJbXBkLT5iaW8gPSBiaW87CiAJcmV0dXJuIHJldDsKIH0KK0VYUE9SVF9TWU1CT0woX19tcGFnZV93cml0ZXBhZ2UpOwogCiAvKioKICAqIG1wYWdlX3dyaXRlcGFnZXMgLSB3YWxrIHRoZSBsaXN0IG9mIGRpcnR5IHBhZ2VzIG9mIHRoZSBnaXZlbiBhZGRyZXNzIHNwYWNlICYgd3JpdGVwYWdlKCkgYWxsIG9mIHRoZW0KZGlmZiAtLWdpdCBhL2ZzL21zZG9zL25hbWVpLmMgYi9mcy9tc2Rvcy9uYW1laS5jCmluZGV4IDA1ZmY0ZjEuLjFmN2YyOTUgMTAwNjQ0Ci0tLSBhL2ZzL21zZG9zL25hbWVpLmMKKysrIGIvZnMvbXNkb3MvbmFtZWkuYwpAQCAtMjE0LDcgKzIxNCw3IEBACiAKIAlkZW50cnktPmRfb3AgPSAmbXNkb3NfZGVudHJ5X29wZXJhdGlvbnM7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCXJlcyA9IG1zZG9zX2ZpbmQoZGlyLCBkZW50cnktPmRfbmFtZS5uYW1lLCBkZW50cnktPmRfbmFtZS5sZW4sICZzaW5mbyk7CiAJaWYgKHJlcyA9PSAtRU5PRU5UKQogCQlnb3RvIGFkZDsKQEAgLTIzMiw3ICsyMzIsNyBAQAogCWlmIChkZW50cnkpCiAJCWRlbnRyeS0+ZF9vcCA9ICZtc2Rvc19kZW50cnlfb3BlcmF0aW9uczsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlpZiAoIXJlcykKIAkJcmV0dXJuIGRlbnRyeTsKIAlyZXR1cm4gRVJSX1BUUihyZXMpOwpAQCAtMjg2LDcgKzI4Niw3IEBACiAJdW5zaWduZWQgY2hhciBtc2Rvc19uYW1lW01TRE9TX05BTUVdOwogCWludCBlcnIsIGlzX2hpZDsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAllcnIgPSBtc2Rvc19mb3JtYXRfbmFtZShkZW50cnktPmRfbmFtZS5uYW1lLCBkZW50cnktPmRfbmFtZS5sZW4sCiAJCQkJbXNkb3NfbmFtZSwgJk1TRE9TX1NCKHNiKS0+b3B0aW9ucyk7CkBAIC0zMTUsNyArMzE1LDcgQEAKIAogCWRfaW5zdGFudGlhdGUoZGVudHJ5LCBpbm9kZSk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJaWYgKCFlcnIpCiAJCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMoc2IsIGRpciwgaW5vZGUpOwogCXJldHVybiBlcnI7CkBAIC0zMjQsMTEgKzMyNCwxMiBAQAogLyoqKioqIFJlbW92ZSBhIGRpcmVjdG9yeSAqLwogc3RhdGljIGludCBtc2Rvc19ybWRpcihzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogeworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBkaXItPmlfc2I7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKIAlzdHJ1Y3QgZmF0X3Nsb3RfaW5mbyBzaW5mbzsKIAlpbnQgZXJyOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAkvKgogCSAqIENoZWNrIHdoZXRoZXIgdGhlIGRpcmVjdG9yeSBpcyBub3QgaW4gdXNlLCB0aGVuIGNoZWNrCiAJICogd2hldGhlciBpdCBpcyBlbXB0eS4KQEAgLTM0OSw5ICszNTAsOSBAQAogCWlub2RlLT5pX2N0aW1lID0gQ1VSUkVOVF9USU1FX1NFQzsKIAlmYXRfZGV0YWNoKGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlpZiAoIWVycikKLQkJZXJyID0gZmF0X2ZsdXNoX2lub2Rlcyhpbm9kZS0+aV9zYiwgZGlyLCBpbm9kZSk7CisJCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMoc2IsIGRpciwgaW5vZGUpOwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTM2Niw3ICszNjcsNyBAQAogCXN0cnVjdCB0aW1lc3BlYyB0czsKIAlpbnQgZXJyLCBpc19oaWQsIGNsdXN0ZXI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gbXNkb3NfZm9ybWF0X25hbWUoZGVudHJ5LT5kX25hbWUubmFtZSwgZGVudHJ5LT5kX25hbWUubGVuLAogCQkJCW1zZG9zX25hbWUsICZNU0RPU19TQihzYiktPm9wdGlvbnMpOwpAQCAtNDA0LDE0ICs0MDUsMTQgQEAKIAogCWRfaW5zdGFudGlhdGUoZGVudHJ5LCBpbm9kZSk7CiAKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlmYXRfZmx1c2hfaW5vZGVzKHNiLCBkaXIsIGlub2RlKTsKIAlyZXR1cm4gMDsKIAogb3V0X2ZyZWU6CiAJZmF0X2ZyZWVfY2x1c3RlcnMoZGlyLCBjbHVzdGVyKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlyZXR1cm4gZXJyOwogfQogCkBAIC00MTksMTAgKzQyMCwxMSBAQAogc3RhdGljIGludCBtc2Rvc191bmxpbmsoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZGVudHJ5LT5kX2lub2RlOworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2I9IGlub2RlLT5pX3NiOwogCXN0cnVjdCBmYXRfc2xvdF9pbmZvIHNpbmZvOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCWVyciA9IG1zZG9zX2ZpbmQoZGlyLCBkZW50cnktPmRfbmFtZS5uYW1lLCBkZW50cnktPmRfbmFtZS5sZW4sICZzaW5mbyk7CiAJaWYgKGVycikKIAkJZ290byBvdXQ7CkBAIC00MzQsOSArNDM2LDkgQEAKIAlpbm9kZS0+aV9jdGltZSA9IENVUlJFTlRfVElNRV9TRUM7CiAJZmF0X2RldGFjaChpbm9kZSk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJaWYgKCFlcnIpCi0JCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMoaW5vZGUtPmlfc2IsIGRpciwgaW5vZGUpOworCQllcnIgPSBmYXRfZmx1c2hfaW5vZGVzKHNiLCBkaXIsIGlub2RlKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC02MTgsMTAgKzYyMCwxMSBAQAogc3RhdGljIGludCBtc2Rvc19yZW5hbWUoc3RydWN0IGlub2RlICpvbGRfZGlyLCBzdHJ1Y3QgZGVudHJ5ICpvbGRfZGVudHJ5LAogCQkJc3RydWN0IGlub2RlICpuZXdfZGlyLCBzdHJ1Y3QgZGVudHJ5ICpuZXdfZGVudHJ5KQogeworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBvbGRfZGlyLT5pX3NiOwogCXVuc2lnbmVkIGNoYXIgb2xkX21zZG9zX25hbWVbTVNET1NfTkFNRV0sIG5ld19tc2Rvc19uYW1lW01TRE9TX05BTUVdOwogCWludCBlcnIsIGlzX2hpZDsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAllcnIgPSBtc2Rvc19mb3JtYXRfbmFtZShvbGRfZGVudHJ5LT5kX25hbWUubmFtZSwKIAkJCQlvbGRfZGVudHJ5LT5kX25hbWUubGVuLCBvbGRfbXNkb3NfbmFtZSwKQEAgLTY0MCw5ICs2NDMsOSBAQAogCWVyciA9IGRvX21zZG9zX3JlbmFtZShvbGRfZGlyLCBvbGRfbXNkb3NfbmFtZSwgb2xkX2RlbnRyeSwKIAkJCSAgICAgIG5ld19kaXIsIG5ld19tc2Rvc19uYW1lLCBuZXdfZGVudHJ5LCBpc19oaWQpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWlmICghZXJyKQotCQllcnIgPSBmYXRfZmx1c2hfaW5vZGVzKG9sZF9kaXItPmlfc2IsIG9sZF9kaXIsIG5ld19kaXIpOworCQllcnIgPSBmYXRfZmx1c2hfaW5vZGVzKHNiLCBvbGRfZGlyLCBuZXdfZGlyKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9mcy9uYW1lc3BhY2UuYyBiL2ZzL25hbWVzcGFjZS5jCmluZGV4IDRmYzMwMmMuLjRmNmY3NjMgMTAwNjQ0Ci0tLSBhL2ZzL25hbWVzcGFjZS5jCisrKyBiL2ZzL25hbWVzcGFjZS5jCkBAIC03NTAsNyArNzUwLDcgQEAKIAljb25zdCBjaGFyICpzdHI7CiB9OwogCi1zdGF0aWMgdm9pZCBzaG93X3NiX29wdHMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQorc3RhdGljIGludCBzaG93X3NiX29wdHMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQogewogCXN0YXRpYyBjb25zdCBzdHJ1Y3QgcHJvY19mc19pbmZvIGZzX2luZm9bXSA9IHsKIAkJeyBNU19TWU5DSFJPTk9VUywgIixzeW5jIiB9LApAQCAtNzY0LDYgKzc2NCw4IEBACiAJCWlmIChzYi0+c19mbGFncyAmIGZzX2luZm9wLT5mbGFnKQogCQkJc2VxX3B1dHMobSwgZnNfaW5mb3AtPnN0cik7CiAJfQorCisJcmV0dXJuIHNlY3VyaXR5X3NiX3Nob3dfb3B0aW9ucyhtLCBzYik7CiB9CiAKIHN0YXRpYyB2b2lkIHNob3dfbW50X29wdHMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgdmZzbW91bnQgKm1udCkKQEAgLTgwNiwxMSArODA4LDE0IEBACiAJc2VxX3B1dGMobSwgJyAnKTsKIAlzaG93X3R5cGUobSwgbW50LT5tbnRfc2IpOwogCXNlcV9wdXRzKG0sIF9fbW50X2lzX3JlYWRvbmx5KG1udCkgPyAiIHJvIiA6ICIgcnciKTsKLQlzaG93X3NiX29wdHMobSwgbW50LT5tbnRfc2IpOworCWVyciA9IHNob3dfc2Jfb3B0cyhtLCBtbnQtPm1udF9zYik7CisJaWYgKGVycikKKwkJZ290byBvdXQ7CiAJc2hvd19tbnRfb3B0cyhtLCBtbnQpOwogCWlmIChtbnQtPm1udF9zYi0+c19vcC0+c2hvd19vcHRpb25zKQogCQllcnIgPSBtbnQtPm1udF9zYi0+c19vcC0+c2hvd19vcHRpb25zKG0sIG1udCk7CiAJc2VxX3B1dHMobSwgIiAwIDBcbiIpOworb3V0OgogCXJldHVybiBlcnI7CiB9CiAKQEAgLTg2NSwxMCArODcwLDEzIEBACiAJc2VxX3B1dGMobSwgJyAnKTsKIAltYW5nbGUobSwgbW50LT5tbnRfZGV2bmFtZSA/IG1udC0+bW50X2Rldm5hbWUgOiAibm9uZSIpOwogCXNlcV9wdXRzKG0sIHNiLT5zX2ZsYWdzICYgTVNfUkRPTkxZID8gIiBybyIgOiAiIHJ3Iik7Ci0Jc2hvd19zYl9vcHRzKG0sIHNiKTsKKwllcnIgPSBzaG93X3NiX29wdHMobSwgc2IpOworCWlmIChlcnIpCisJCWdvdG8gb3V0OwogCWlmIChzYi0+c19vcC0+c2hvd19vcHRpb25zKQogCQllcnIgPSBzYi0+c19vcC0+c2hvd19vcHRpb25zKG0sIG1udCk7CiAJc2VxX3B1dGMobSwgJ1xuJyk7CitvdXQ6CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvbmNwZnMvZmlsZS5jIGIvZnMvbmNwZnMvZmlsZS5jCmluZGV4IDJiMTQ1ZGUuLjZhN2Q5MDEgMTAwNjQ0Ci0tLSBhL2ZzL25jcGZzL2ZpbGUuYworKysgYi9mcy9uY3Bmcy9maWxlLmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGxpbnV4L25jcF9mcy5oPgogI2luY2x1ZGUgIm5jcGxpYl9rZXJuZWwuaCIKQEAgLTI4MSw5ICsyODIsMTggQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGxvZmZfdCBuY3BfcmVtb3RlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKK3sKKwlsb2ZmX3QgcmV0OworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CisKIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbmNwX2ZpbGVfb3BlcmF0aW9ucyA9CiB7Ci0JLmxsc2VlawkJPSByZW1vdGVfbGxzZWVrLAorCS5sbHNlZWsgCT0gbmNwX3JlbW90ZV9sbHNlZWssCiAJLnJlYWQJCT0gbmNwX2ZpbGVfcmVhZCwKIAkud3JpdGUJCT0gbmNwX2ZpbGVfd3JpdGUsCiAJLmlvY3RsCQk9IG5jcF9pb2N0bCwKZGlmZiAtLWdpdCBhL2ZzL25mcy9maWxlLmMgYi9mcy9uZnMvZmlsZS5jCmluZGV4IDUwOWRjYjUuLjQzMTY0ZmUgMTAwNjQ0Ci0tLSBhL2ZzL25mcy9maWxlLmMKKysrIGIvZnMvbmZzL2ZpbGUuYwpAQCAtMTgwLDYgKzE4MCw4IEBACiAKIHN0YXRpYyBsb2ZmX3QgbmZzX2ZpbGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxwLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQogeworCWxvZmZfdCBsb2ZmOworCiAJZHByaW50aygiTkZTOiBsbHNlZWsgZmlsZSglcy8lcywgJWxsZCwgJWQpXG4iLAogCQkJZmlscC0+Zl9wYXRoLmRlbnRyeS0+ZF9wYXJlbnQtPmRfbmFtZS5uYW1lLAogCQkJZmlscC0+Zl9wYXRoLmRlbnRyeS0+ZF9uYW1lLm5hbWUsCkBAIC0xOTIsNyArMTk0LDEwIEBACiAJCWlmIChyZXR2YWwgPCAwKQogCQkJcmV0dXJuIChsb2ZmX3QpcmV0dmFsOwogCX0KLQlyZXR1cm4gcmVtb3RlX2xsc2VlayhmaWxwLCBvZmZzZXQsIG9yaWdpbik7CisJbG9ja19rZXJuZWwoKTsJLyogQktMIG5lZWRlZD8gKi8KKwlsb2ZmID0gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxwLCBvZmZzZXQsIG9yaWdpbik7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiBsb2ZmOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvZnMvb2NmczIvZGxtL2RsbW1hc3Rlci5jIGIvZnMvb2NmczIvZGxtL2RsbW1hc3Rlci5jCmluZGV4IGVmYzAxNWMuLjQ0Zjg3Y2EgMTAwNjQ0Ci0tLSBhL2ZzL29jZnMyL2RsbS9kbG1tYXN0ZXIuYworKysgYi9mcy9vY2ZzMi9kbG0vZGxtbWFzdGVyLmMKQEAgLTYwNiw3ICs2MDYsOSBAQAogCiAJcmVzLT5sYXN0X3VzZWQgPSAwOwogCisJc3Bpbl9sb2NrKCZkbG0tPnNwaW5sb2NrKTsKIAlsaXN0X2FkZF90YWlsKCZyZXMtPnRyYWNraW5nLCAmZGxtLT50cmFja2luZ19saXN0KTsKKwlzcGluX3VubG9jaygmZGxtLT5zcGlubG9jayk7CiAKIAltZW1zZXQocmVzLT5sdmIsIDAsIERMTV9MVkJfTEVOKTsKIAltZW1zZXQocmVzLT5yZWZtYXAsIDAsIHNpemVvZihyZXMtPnJlZm1hcCkpOwpkaWZmIC0tZ2l0IGEvZnMvb2NmczIvZGxtZ2x1ZS5jIGIvZnMvb2NmczIvZGxtZ2x1ZS5jCmluZGV4IDM5NGQyNWEuLjgwZTIwZDkgMTAwNjQ0Ci0tLSBhL2ZzL29jZnMyL2RsbWdsdWUuYworKysgYi9mcy9vY2ZzMi9kbG1nbHVlLmMKQEAgLTE1NTQsOCArMTU1NCw4IEBACiAgKi8KIGludCBvY2ZzMl9maWxlX2xvY2soc3RydWN0IGZpbGUgKmZpbGUsIGludCBleCwgaW50IHRyeWxvY2spCiB7Ci0JaW50IHJldCwgbGV2ZWwgPSBleCA/IExLTV9FWE1PREUgOiBMS01fUFJNT0RFOwotCXVuc2lnbmVkIGludCBsa21fZmxhZ3MgPSB0cnlsb2NrID8gTEtNX05PUVVFVUUgOiAwOworCWludCByZXQsIGxldmVsID0gZXggPyBETE1fTE9DS19FWCA6IERMTV9MT0NLX1BSOworCXVuc2lnbmVkIGludCBsa21fZmxhZ3MgPSB0cnlsb2NrID8gRExNX0xLRl9OT1FVRVVFIDogMDsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBvY2ZzMl9maWxlX3ByaXZhdGUgKmZwID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwogCXN0cnVjdCBvY2ZzMl9sb2NrX3JlcyAqbG9ja3JlcyA9ICZmcC0+ZnBfZmxvY2s7CkBAIC0xNTgyLDcgKzE1ODIsNyBAQAogCQkgKiBHZXQgdGhlIGxvY2sgYXQgTkxNT0RFIHRvIHN0YXJ0IC0gdGhhdCB3YXkgd2UKIAkJICogY2FuIGNhbmNlbCB0aGUgdXBjb252ZXJ0IHJlcXVlc3QgaWYgbmVlZCBiZS4KIAkJICovCi0JCXJldCA9IG9jZnMyX2xvY2tfY3JlYXRlKG9zYiwgbG9ja3JlcywgTEtNX05MTU9ERSwgMCk7CisJCXJldCA9IG9jZnMyX2xvY2tfY3JlYXRlKG9zYiwgbG9ja3JlcywgRExNX0xPQ0tfTkwsIDApOwogCQlpZiAocmV0IDwgMCkgewogCQkJbWxvZ19lcnJubyhyZXQpOwogCQkJZ290byBvdXQ7CkBAIC0xNTk3LDcgKzE1OTcsNyBAQAogCX0KIAogCWxvY2tyZXMtPmxfYWN0aW9uID0gT0NGUzJfQVNUX0NPTlZFUlQ7Ci0JbGttX2ZsYWdzIHw9IExLTV9DT05WRVJUOworCWxrbV9mbGFncyB8PSBETE1fTEtGX0NPTlZFUlQ7CiAJbG9ja3Jlcy0+bF9yZXF1ZXN0ZWQgPSBsZXZlbDsKIAlsb2NrcmVzX29yX2ZsYWdzKGxvY2tyZXMsIE9DRlMyX0xPQ0tfQlVTWSk7CiAKQEAgLTE2NjQsNyArMTY2NCw3IEBACiAJaWYgKCEobG9ja3Jlcy0+bF9mbGFncyAmIE9DRlMyX0xPQ0tfQVRUQUNIRUQpKQogCQlyZXR1cm47CiAKLQlpZiAobG9ja3Jlcy0+bF9sZXZlbCA9PSBMS01fTkxNT0RFKQorCWlmIChsb2NrcmVzLT5sX2xldmVsID09IERMTV9MT0NLX05MKQogCQlyZXR1cm47CiAKIAltbG9nKDAsICJVbmxvY2s6IFwiJXNcIiBmbGFnczogMHglbHgsIGxldmVsOiAlZCwgYWN0OiAlZFxuIiwKQEAgLTE2NzgsMTEgKzE2NzgsMTEgQEAKIAlsb2NrcmVzX29yX2ZsYWdzKGxvY2tyZXMsIE9DRlMyX0xPQ0tfQkxPQ0tFRCk7CiAJbG9ja3Jlcy0+bF9ibG9ja2luZyA9IERMTV9MT0NLX0VYOwogCi0JZ2VuID0gb2NmczJfcHJlcGFyZV9kb3duY29udmVydChsb2NrcmVzLCBMS01fTkxNT0RFKTsKKwlnZW4gPSBvY2ZzMl9wcmVwYXJlX2Rvd25jb252ZXJ0KGxvY2tyZXMsIERMTV9MT0NLX05MKTsKIAlsb2NrcmVzX2FkZF9tYXNrX3dhaXRlcihsb2NrcmVzLCAmbXcsIE9DRlMyX0xPQ0tfQlVTWSwgMCk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbG9ja3Jlcy0+bF9sb2NrLCBmbGFncyk7CiAKLQlyZXQgPSBvY2ZzMl9kb3duY29udmVydF9sb2NrKG9zYiwgbG9ja3JlcywgTEtNX05MTU9ERSwgMCwgZ2VuKTsKKwlyZXQgPSBvY2ZzMl9kb3duY29udmVydF9sb2NrKG9zYiwgbG9ja3JlcywgRExNX0xPQ0tfTkwsIDAsIGdlbik7CiAJaWYgKHJldCkgewogCQltbG9nX2Vycm5vKHJldCk7CiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL2ZzL29jZnMyL3N0YWNrX3VzZXIuYyBiL2ZzL29jZnMyL3N0YWNrX3VzZXIuYwppbmRleCBjMDIxMjgwLi5iZDdlMGYzIDEwMDY0NAotLS0gYS9mcy9vY2ZzMi9zdGFja191c2VyLmMKKysrIGIvZnMvb2NmczIvc3RhY2tfdXNlci5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKQEAgLTYxOSwxMCArNjIwLDEyIEBACiAJCXJldHVybiAtRU5PTUVNOwogCXAtPm9wX3RoaXNfbm9kZSA9IC0xOwogCisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9sb2NrKCZvY2ZzMl9jb250cm9sX2xvY2spOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHA7CiAJbGlzdF9hZGQoJnAtPm9wX2xpc3QsICZvY2ZzMl9jb250cm9sX3ByaXZhdGVfbGlzdCk7CiAJbXV0ZXhfdW5sb2NrKCZvY2ZzMl9jb250cm9sX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZnMvcHJvYy9iYXNlLmMgYi9mcy9wcm9jL2Jhc2UuYwppbmRleCAzYjQ1NTM3Li41OGMzZTZhIDEwMDY0NAotLS0gYS9mcy9wcm9jL2Jhc2UuYworKysgYi9mcy9wcm9jL2Jhc2UuYwpAQCAtMjMzLDcgKzIzMyw3IEBACiAJICovCiAJaWYgKHRhc2stPnBhcmVudCA9PSBjdXJyZW50ICYmICh0YXNrLT5wdHJhY2UgJiBQVF9QVFJBQ0VEKSAmJgogCSAgICB0YXNrX2lzX3N0b3BwZWRfb3JfdHJhY2VkKHRhc2spICYmCi0JICAgIHB0cmFjZV9tYXlfYXR0YWNoKHRhc2spKQorCSAgICBwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9BVFRBQ0gpKQogCQlyZXR1cm4gMDsKIAogCS8qCkBAIC0yNTEsNyArMjUxLDggQEAKIAl0YXNrX2xvY2sodGFzayk7CiAJaWYgKHRhc2stPm1tICE9IG1tKQogCQlnb3RvIG91dDsKLQlpZiAodGFzay0+bW0gIT0gY3VycmVudC0+bW0gJiYgX19wdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSA8IDApCisJaWYgKHRhc2stPm1tICE9IGN1cnJlbnQtPm1tICYmCisJICAgIF9fcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkgPCAwKQogCQlnb3RvIG91dDsKIAl0YXNrX3VubG9jayh0YXNrKTsKIAlyZXR1cm4gbW07CkBAIC01MTgsNyArNTE5LDcgQEAKIAkgKi8KIAl0YXNrID0gZ2V0X3Byb2NfdGFzayhpbm9kZSk7CiAJaWYgKHRhc2spIHsKLQkJYWxsb3dlZCA9IHB0cmFjZV9tYXlfYXR0YWNoKHRhc2spOworCQlhbGxvd2VkID0gcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCk7CiAJCXB1dF90YXNrX3N0cnVjdCh0YXNrKTsKIAl9CiAJcmV0dXJuIGFsbG93ZWQ7CkBAIC05MDQsNyArOTA1LDcgQEAKIAlpZiAoIXRhc2spCiAJCWdvdG8gb3V0X25vX3Rhc2s7CiAKLQlpZiAoIXB0cmFjZV9tYXlfYXR0YWNoKHRhc2spKQorCWlmICghcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkpCiAJCWdvdG8gb3V0OwogCiAJcmV0ID0gLUVOT01FTTsKZGlmZiAtLWdpdCBhL2ZzL3Byb2MvcHJvY19taXNjLmMgYi9mcy9wcm9jL3Byb2NfbWlzYy5jCmluZGV4IDdlMjc3ZjIuLmM2NTJkNDYgMTAwNjQ0Ci0tLSBhL2ZzL3Byb2MvcHJvY19taXNjLmMKKysrIGIvZnMvcHJvYy9wcm9jX21pc2MuYwpAQCAtMTIzLDYgKzEyMywxMSBAQAogCXJldHVybiBwcm9jX2NhbGNfbWV0cmljcyhwYWdlLCBzdGFydCwgb2ZmLCBjb3VudCwgZW9mLCBsZW4pOwogfQogCitpbnQgX19hdHRyaWJ1dGVfXygod2VhaykpIGFyY2hfcmVwb3J0X21lbWluZm8oY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBtZW1pbmZvX3JlYWRfcHJvYyhjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZiwKIAkJCQkgaW50IGNvdW50LCBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKIHsKQEAgLTIyMSw2ICsyMjYsOCBAQAogCiAJCWxlbiArPSBodWdldGxiX3JlcG9ydF9tZW1pbmZvKHBhZ2UgKyBsZW4pOwogCisJbGVuICs9IGFyY2hfcmVwb3J0X21lbWluZm8ocGFnZSArIGxlbik7CisKIAlyZXR1cm4gcHJvY19jYWxjX21ldHJpY3MocGFnZSwgc3RhcnQsIG9mZiwgY291bnQsIGVvZiwgbGVuKTsKICN1bmRlZiBLCiB9CkBAIC00NzIsNiArNDc5LDEzIEBACiB9OwogI2VuZGlmCiAKKyNpZm5kZWYgYXJjaF9pcnFfc3RhdF9jcHUKKyNkZWZpbmUgYXJjaF9pcnFfc3RhdF9jcHUoY3B1KSAwCisjZW5kaWYKKyNpZm5kZWYgYXJjaF9pcnFfc3RhdAorI2RlZmluZSBhcmNoX2lycV9zdGF0KCkgMAorI2VuZGlmCisKIHN0YXRpYyBpbnQgc2hvd19zdGF0KHN0cnVjdCBzZXFfZmlsZSAqcCwgdm9pZCAqdikKIHsKIAlpbnQgaTsKQEAgLTUwOSw3ICs1MjMsOSBAQAogCQkJc3VtICs9IHRlbXA7CiAJCQlwZXJfaXJxX3N1bVtqXSArPSB0ZW1wOwogCQl9CisJCXN1bSArPSBhcmNoX2lycV9zdGF0X2NwdShpKTsKIAl9CisJc3VtICs9IGFyY2hfaXJxX3N0YXQoKTsKIAogCXNlcV9wcmludGYocCwgImNwdSAgJWxsdSAlbGx1ICVsbHUgJWxsdSAlbGx1ICVsbHUgJWxsdSAlbGx1ICVsbHVcbiIsCiAJCSh1bnNpZ25lZCBsb25nIGxvbmcpY3B1dGltZTY0X3RvX2Nsb2NrX3QodXNlciksCmRpZmYgLS1naXQgYS9mcy9wcm9jL3Rhc2tfbW11LmMgYi9mcy9wcm9jL3Rhc2tfbW11LmMKaW5kZXggYzQ5MjQ0OS4uMTY0YmQ5ZiAxMDA2NDQKLS0tIGEvZnMvcHJvYy90YXNrX21tdS5jCisrKyBiL2ZzL3Byb2MvdGFza19tbXUuYwpAQCAtMjEwLDcgKzIxMCw3IEBACiAJZGV2X3QgZGV2ID0gMDsKIAlpbnQgbGVuOwogCi0JaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkpCiAJCXJldHVybiAtRUFDQ0VTOwogCiAJaWYgKGZpbGUpIHsKQEAgLTY0Niw3ICs2NDYsNyBAQAogCQlnb3RvIG91dDsKIAogCXJldCA9IC1FQUNDRVM7Ci0JaWYgKCFwdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSkKKwlpZiAoIXB0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX1JFQUQpKQogCQlnb3RvIG91dF90YXNrOwogCiAJcmV0ID0gLUVJTlZBTDsKQEAgLTc0Nyw3ICs3NDcsNyBAQAogCXN0cnVjdCBwcm9jX21hcHNfcHJpdmF0ZSAqcHJpdiA9IG0tPnByaXZhdGU7CiAJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrID0gcHJpdi0+dGFzazsKIAotCWlmIChtYXBzX3Byb3RlY3QgJiYgIXB0cmFjZV9tYXlfYXR0YWNoKHRhc2spKQorCWlmIChtYXBzX3Byb3RlY3QgJiYgIXB0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX1JFQUQpKQogCQlyZXR1cm4gLUVBQ0NFUzsKIAogCXJldHVybiBzaG93X251bWFfbWFwKG0sIHYpOwpkaWZmIC0tZ2l0IGEvZnMvcHJvYy90YXNrX25vbW11LmMgYi9mcy9wcm9jL3Rhc2tfbm9tbXUuYwppbmRleCA0YjRmOWNjLi41ZDg0ZTcxIDEwMDY0NAotLS0gYS9mcy9wcm9jL3Rhc2tfbm9tbXUuYworKysgYi9mcy9wcm9jL3Rhc2tfbm9tbXUuYwpAQCAtMTEzLDcgKzExMyw3IEBACiAJc3RydWN0IHByb2NfbWFwc19wcml2YXRlICpwcml2ID0gbS0+cHJpdmF0ZTsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2sgPSBwcml2LT50YXNrOwogCi0JaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkpCiAJCXJldHVybiAtRUFDQ0VTOwogCiAJcmV0dXJuIG5vbW11X3ZtYV9zaG93KG0sIHZtbC0+dm1hKTsKZGlmZiAtLWdpdCBhL2ZzL3JhbWZzL2ZpbGUtbW11LmMgYi9mcy9yYW1mcy9maWxlLW1tdS5jCmluZGV4IDk1OTBiOTAuLjc4ZjYxM2MgMTAwNjQ0Ci0tLSBhL2ZzL3JhbWZzL2ZpbGUtbW11LmMKKysrIGIvZnMvcmFtZnMvZmlsZS1tbXUuYwpAQCAtNDUsNiArNDUsNyBAQAogCS5tbWFwCQk9IGdlbmVyaWNfZmlsZV9tbWFwLAogCS5mc3luYwkJPSBzaW1wbGVfc3luY19maWxlLAogCS5zcGxpY2VfcmVhZAk9IGdlbmVyaWNfZmlsZV9zcGxpY2VfcmVhZCwKKwkuc3BsaWNlX3dyaXRlCT0gZ2VuZXJpY19maWxlX3NwbGljZV93cml0ZSwKIAkubGxzZWVrCQk9IGdlbmVyaWNfZmlsZV9sbHNlZWssCiB9OwogCmRpZmYgLS1naXQgYS9mcy9yYW1mcy9maWxlLW5vbW11LmMgYi9mcy9yYW1mcy9maWxlLW5vbW11LmMKaW5kZXggMDk4OWJjMi4uNTIzMTJlYyAxMDA2NDQKLS0tIGEvZnMvcmFtZnMvZmlsZS1ub21tdS5jCisrKyBiL2ZzL3JhbWZzL2ZpbGUtbm9tbXUuYwpAQCAtNDMsNiArNDMsNyBAQAogCS5haW9fd3JpdGUJCT0gZ2VuZXJpY19maWxlX2Fpb193cml0ZSwKIAkuZnN5bmMJCQk9IHNpbXBsZV9zeW5jX2ZpbGUsCiAJLnNwbGljZV9yZWFkCQk9IGdlbmVyaWNfZmlsZV9zcGxpY2VfcmVhZCwKKwkuc3BsaWNlX3dyaXRlCQk9IGdlbmVyaWNfZmlsZV9zcGxpY2Vfd3JpdGUsCiAJLmxsc2VlawkJCT0gZ2VuZXJpY19maWxlX2xsc2VlaywKIH07CiAKZGlmZiAtLWdpdCBhL2ZzL3JlYWRfd3JpdGUuYyBiL2ZzL3JlYWRfd3JpdGUuYwppbmRleCBmMGQxMjQwLi45YmE0OTVkIDEwMDY0NAotLS0gYS9mcy9yZWFkX3dyaXRlLmMKKysrIGIvZnMvcmVhZF93cml0ZS5jCkBAIC0zMSwxMiArMzEsMTIgQEAKIAogRVhQT1JUX1NZTUJPTChnZW5lcmljX3JvX2ZvcHMpOwogCi1sb2ZmX3QgZ2VuZXJpY19maWxlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKK2xvZmZfdAorZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKIHsKIAlsb2ZmX3QgcmV0dmFsOwogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX21hcHBpbmctPmhvc3Q7CiAKLQltdXRleF9sb2NrKCZpbm9kZS0+aV9tdXRleCk7CiAJc3dpdGNoIChvcmlnaW4pIHsKIAkJY2FzZSBTRUVLX0VORDoKIAkJCW9mZnNldCArPSBpbm9kZS0+aV9zaXplOwpAQCAtNDYsNDIgKzQ2LDI2IEBACiAJfQogCXJldHZhbCA9IC1FSU5WQUw7CiAJaWYgKG9mZnNldD49MCAmJiBvZmZzZXQ8PWlub2RlLT5pX3NiLT5zX21heGJ5dGVzKSB7CisJCS8qIFNwZWNpYWwgbG9jayBuZWVkZWQgaGVyZT8gKi8KIAkJaWYgKG9mZnNldCAhPSBmaWxlLT5mX3BvcykgewogCQkJZmlsZS0+Zl9wb3MgPSBvZmZzZXQ7CiAJCQlmaWxlLT5mX3ZlcnNpb24gPSAwOwogCQl9CiAJCXJldHZhbCA9IG9mZnNldDsKIAl9Ci0JbXV0ZXhfdW5sb2NrKCZpbm9kZS0+aV9tdXRleCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KK0VYUE9SVF9TWU1CT0woZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZCk7CiAKLUVYUE9SVF9TWU1CT0woZ2VuZXJpY19maWxlX2xsc2Vlayk7Ci0KLWxvZmZfdCByZW1vdGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQorbG9mZl90IGdlbmVyaWNfZmlsZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCiB7Ci0JbG9mZl90IHJldHZhbDsKLQotCWxvY2tfa2VybmVsKCk7Ci0Jc3dpdGNoIChvcmlnaW4pIHsKLQkJY2FzZSBTRUVLX0VORDoKLQkJCW9mZnNldCArPSBpX3NpemVfcmVhZChmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKLQkJCWJyZWFrOwotCQljYXNlIFNFRUtfQ1VSOgotCQkJb2Zmc2V0ICs9IGZpbGUtPmZfcG9zOwotCX0KLQlyZXR2YWwgPSAtRUlOVkFMOwotCWlmIChvZmZzZXQ+PTAgJiYgb2Zmc2V0PD1maWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlLT5pX3NiLT5zX21heGJ5dGVzKSB7Ci0JCWlmIChvZmZzZXQgIT0gZmlsZS0+Zl9wb3MpIHsKLQkJCWZpbGUtPmZfcG9zID0gb2Zmc2V0OwotCQkJZmlsZS0+Zl92ZXJzaW9uID0gMDsKLQkJfQotCQlyZXR2YWwgPSBvZmZzZXQ7Ci0JfQotCXVubG9ja19rZXJuZWwoKTsKLQlyZXR1cm4gcmV0dmFsOworCWxvZmZfdCBuOworCW11dGV4X2xvY2soJmZpbGUtPmZfZGVudHJ5LT5kX2lub2RlLT5pX211dGV4KTsKKwluID0gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJbXV0ZXhfdW5sb2NrKCZmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZS0+aV9tdXRleCk7CisJcmV0dXJuIG47CiB9Ci1FWFBPUlRfU1lNQk9MKHJlbW90ZV9sbHNlZWspOworRVhQT1JUX1NZTUJPTChnZW5lcmljX2ZpbGVfbGxzZWVrKTsKIAogbG9mZl90IG5vX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKIHsKZGlmZiAtLWdpdCBhL2ZzL3NtYmZzL2ZpbGUuYyBiL2ZzL3NtYmZzL2ZpbGUuYwppbmRleCBlZmJlMjlhLi4yMjk0NzgzIDEwMDY0NAotLS0gYS9mcy9zbWJmcy9maWxlLmMKKysrIGIvZnMvc21iZnMvZmlsZS5jCkBAIC00MjIsOSArNDIyLDE4IEBACiAJcmV0dXJuIGVycm9yOwogfQogCitzdGF0aWMgbG9mZl90IHNtYl9yZW1vdGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQoreworCWxvZmZfdCByZXQ7CisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKwogY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBzbWJfZmlsZV9vcGVyYXRpb25zID0KIHsKLQkubGxzZWVrCQk9IHJlbW90ZV9sbHNlZWssCisJLmxsc2VlayAJPSBzbWJfcmVtb3RlX2xsc2VlaywKIAkucmVhZAkJPSBkb19zeW5jX3JlYWQsCiAJLmFpb19yZWFkCT0gc21iX2ZpbGVfYWlvX3JlYWQsCiAJLndyaXRlCQk9IGRvX3N5bmNfd3JpdGUsCmRpZmYgLS1naXQgYS9mcy9zcGxpY2UuYyBiL2ZzL3NwbGljZS5jCmluZGV4IGFhNWY2ZjYuLjM5OTQ0MjEgMTAwNjQ0Ci0tLSBhL2ZzL3NwbGljZS5jCisrKyBiL2ZzL3NwbGljZS5jCkBAIC0zNzksMTMgKzM3OSwyMiBAQAogCQkJCWxvY2tfcGFnZShwYWdlKTsKIAogCQkJLyoKLQkJCSAqIHBhZ2Ugd2FzIHRydW5jYXRlZCwgc3RvcCBoZXJlLiBpZiB0aGlzIGlzbid0IHRoZQotCQkJICogZmlyc3QgcGFnZSwgd2UnbGwganVzdCBjb21wbGV0ZSB3aGF0IHdlIGFscmVhZHkKLQkJCSAqIGFkZGVkCisJCQkgKiBQYWdlIHdhcyB0cnVuY2F0ZWQsIG9yIGludmFsaWRhdGVkIGJ5IHRoZQorCQkJICogZmlsZXN5c3RlbS4gIFJlZG8gdGhlIGZpbmQvY3JlYXRlLCBidXQgdGhpcyB0aW1lIHRoZQorCQkJICogcGFnZSBpcyBrZXB0IGxvY2tlZCwgc28gdGhlcmUncyBubyBjaGFuY2Ugb2YgYW5vdGhlcgorCQkJICogcmFjZSB3aXRoIHRydW5jYXRlL2ludmFsaWRhdGUuCiAJCQkgKi8KIAkJCWlmICghcGFnZS0+bWFwcGluZykgewogCQkJCXVubG9ja19wYWdlKHBhZ2UpOwotCQkJCWJyZWFrOworCQkJCXBhZ2UgPSBmaW5kX29yX2NyZWF0ZV9wYWdlKG1hcHBpbmcsIGluZGV4LAorCQkJCQkJbWFwcGluZ19nZnBfbWFzayhtYXBwaW5nKSk7CisKKwkJCQlpZiAoIXBhZ2UpIHsKKwkJCQkJZXJyb3IgPSAtRU5PTUVNOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2VzW3BhZ2VfbnJdKTsKKwkJCQlwYWdlc1twYWdlX25yXSA9IHBhZ2U7CiAJCQl9CiAJCQkvKgogCQkJICogcGFnZSB3YXMgYWxyZWFkeSB1bmRlciBpbyBhbmQgaXMgbm93IGRvbmUsIGdyZWF0CmRpZmYgLS1naXQgYS9mcy92ZmF0L25hbWVpLmMgYi9mcy92ZmF0L25hbWVpLmMKaW5kZXggYTM1MjI3Mi4uYjU0NmJhNiAxMDA2NDQKLS0tIGEvZnMvdmZhdC9uYW1laS5jCisrKyBiL2ZzL3ZmYXQvbmFtZWkuYwpAQCAtNjQ1LDcgKzY0NSw3IEBACiAJaWYgKGxlbiA9PSAwKQogCQlyZXR1cm4gLUVOT0VOVDsKIAotCXNsb3RzID0ga21hbGxvYyhzaXplb2YoKnNsb3RzKSAqIE1TRE9TX1NMT1RTLCBHRlBfS0VSTkVMKTsKKwlzbG90cyA9IGttYWxsb2Moc2l6ZW9mKCpzbG90cykgKiBNU0RPU19TTE9UUywgR0ZQX05PRlMpOwogCWlmIChzbG90cyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIApAQCAtNjg3LDcgKzY4Nyw3IEBACiAJc3RydWN0IGRlbnRyeSAqYWxpYXM7CiAJaW50IGVyciwgdGFibGU7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCXRhYmxlID0gKE1TRE9TX1NCKHNiKS0+b3B0aW9ucy5uYW1lX2NoZWNrID09ICdzJykgPyAyIDogMDsKIAlkZW50cnktPmRfb3AgPSAmdmZhdF9kZW50cnlfb3BzW3RhYmxlXTsKIApAQCAtNjk5LDcgKzY5OSw3IEBACiAJaW5vZGUgPSBmYXRfYnVpbGRfaW5vZGUoc2IsIHNpbmZvLmRlLCBzaW5mby5pX3Bvcyk7CiAJYnJlbHNlKHNpbmZvLmJoKTsKIAlpZiAoSVNfRVJSKGlub2RlKSkgewotCQl1bmxvY2tfa2VybmVsKCk7CisJCXVubG9ja19zdXBlcihzYik7CiAJCXJldHVybiBFUlJfQ0FTVChpbm9kZSk7CiAJfQogCWFsaWFzID0gZF9maW5kX2FsaWFzKGlub2RlKTsKQEAgLTcwOCwxMyArNzA4LDEzIEBACiAJCQlkcHV0KGFsaWFzKTsKIAkJZWxzZSB7CiAJCQlpcHV0KGlub2RlKTsKLQkJCXVubG9ja19rZXJuZWwoKTsKKwkJCXVubG9ja19zdXBlcihzYik7CiAJCQlyZXR1cm4gYWxpYXM7CiAJCX0KIAogCX0KIGVycm9yOgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWRlbnRyeS0+ZF9vcCA9ICZ2ZmF0X2RlbnRyeV9vcHNbdGFibGVdOwogCWRlbnRyeS0+ZF90aW1lID0gZGVudHJ5LT5kX3BhcmVudC0+ZF9pbm9kZS0+aV92ZXJzaW9uOwogCWRlbnRyeSA9IGRfc3BsaWNlX2FsaWFzKGlub2RlLCBkZW50cnkpOwpAQCAtNzM0LDcgKzczNCw3IEBACiAJc3RydWN0IHRpbWVzcGVjIHRzOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJdHMgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWVyciA9IHZmYXRfYWRkX2VudHJ5KGRpciwgJmRlbnRyeS0+ZF9uYW1lLCAwLCAwLCAmdHMsICZzaW5mbyk7CkBAIC03NTUsMTcgKzc1NSwxOCBAQAogCWRlbnRyeS0+ZF90aW1lID0gZGVudHJ5LT5kX3BhcmVudC0+ZF9pbm9kZS0+aV92ZXJzaW9uOwogCWRfaW5zdGFudGlhdGUoZGVudHJ5LCBpbm9kZSk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIGludCB2ZmF0X3JtZGlyKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gZGlyLT5pX3NiOwogCXN0cnVjdCBmYXRfc2xvdF9pbmZvIHNpbmZvOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gZmF0X2Rpcl9lbXB0eShpbm9kZSk7CiAJaWYgKGVycikKQEAgLTc4Myw3ICs3ODQsNyBAQAogCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfYXRpbWUgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWZhdF9kZXRhY2goaW5vZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTc5MSwxMCArNzkyLDExIEBACiBzdGF0aWMgaW50IHZmYXRfdW5saW5rKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gZGlyLT5pX3NiOwogCXN0cnVjdCBmYXRfc2xvdF9pbmZvIHNpbmZvOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gdmZhdF9maW5kKGRpciwgJmRlbnRyeS0+ZF9uYW1lLCAmc2luZm8pOwogCWlmIChlcnIpCkBAIC04MDcsNyArODA5LDcgQEAKIAlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5pX2F0aW1lID0gQ1VSUkVOVF9USU1FX1NFQzsKIAlmYXRfZGV0YWNoKGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC04MjAsNyArODIyLDcgQEAKIAlzdHJ1Y3QgdGltZXNwZWMgdHM7CiAJaW50IGVyciwgY2x1c3RlcjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAl0cyA9IENVUlJFTlRfVElNRV9TRUM7CiAJY2x1c3RlciA9IGZhdF9hbGxvY19uZXdfZGlyKGRpciwgJnRzKTsKQEAgLTg0OSwxMyArODUxLDEzIEBACiAJZGVudHJ5LT5kX3RpbWUgPSBkZW50cnktPmRfcGFyZW50LT5kX2lub2RlLT5pX3ZlcnNpb247CiAJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIAotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiAwOwogCiBvdXRfZnJlZToKIAlmYXRfZnJlZV9jbHVzdGVycyhkaXIsIGNsdXN0ZXIpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTg2OSwxMSArODcxLDEyIEBACiAJc3RydWN0IHRpbWVzcGVjIHRzOwogCWxvZmZfdCBkb3Rkb3RfaV9wb3MsIG5ld19pX3BvczsKIAlpbnQgZXJyLCBpc19kaXIsIHVwZGF0ZV9kb3Rkb3QsIGNvcnJ1cHQgPSAwOworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBvbGRfZGlyLT5pX3NiOwogCiAJb2xkX3NpbmZvLmJoID0gc2luZm8uYmggPSBkb3Rkb3RfYmggPSBOVUxMOwogCW9sZF9pbm9kZSA9IG9sZF9kZW50cnktPmRfaW5vZGU7CiAJbmV3X2lub2RlID0gbmV3X2RlbnRyeS0+ZF9pbm9kZTsKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCWVyciA9IHZmYXRfZmluZChvbGRfZGlyLCAmb2xkX2RlbnRyeS0+ZF9uYW1lLCAmb2xkX3NpbmZvKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91dDsKQEAgLTk1MSw3ICs5NTQsNyBAQAogCWJyZWxzZShzaW5mby5iaCk7CiAJYnJlbHNlKGRvdGRvdF9iaCk7CiAJYnJlbHNlKG9sZF9zaW5mby5iaCk7Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAKIAlyZXR1cm4gZXJyOwogCmRpZmYgLS1naXQgYS9mcy94ZnMveGZzX2xvZy5jIGIvZnMveGZzL3hmc19sb2cuYwppbmRleCBhZmFlZTMwLi5hZDNkMjZkIDEwMDY0NAotLS0gYS9mcy94ZnMveGZzX2xvZy5jCisrKyBiL2ZzL3hmcy94ZnNfbG9nLmMKQEAgLTI0MjcsMTMgKzI0MjcsMjAgQEAKIAlpZiAoaWNsb2ctPmljX3NpemUgLSBpY2xvZy0+aWNfb2Zmc2V0IDwgMipzaXplb2YoeGxvZ19vcF9oZWFkZXJfdCkpIHsKIAkJeGxvZ19zdGF0ZV9zd2l0Y2hfaWNsb2dzKGxvZywgaWNsb2csIGljbG9nLT5pY19zaXplKTsKIAotCQkvKiBJZiBJJ20gdGhlIG9ubHkgb25lIHdyaXRpbmcgdG8gdGhpcyBpY2xvZywgc3luYyBpdCB0byBkaXNrICovCi0JCWlmIChhdG9taWNfcmVhZCgmaWNsb2ctPmljX3JlZmNudCkgPT0gMSkgeworCQkvKgorCQkgKiBJZiBJJ20gdGhlIG9ubHkgb25lIHdyaXRpbmcgdG8gdGhpcyBpY2xvZywgc3luYyBpdCB0byBkaXNrLgorCQkgKiBXZSBuZWVkIHRvIGRvIGFuIGF0b21pYyBjb21wYXJlIGFuZCBkZWNyZW1lbnQgaGVyZSB0byBhdm9pZAorCQkgKiByYWNpbmcgd2l0aCBjb25jdXJyZW50IGF0b21pY19kZWNfYW5kX2xvY2soKSBjYWxscyBpbgorCQkgKiB4bG9nX3N0YXRlX3JlbGVhc2VfaWNsb2coKSB3aGVuIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUKKwkJICogcmVmZXJlbmNlIHRvIHRoZSBpY2xvZy4KKwkJICovCisJCWlmICghYXRvbWljX2FkZF91bmxlc3MoJmljbG9nLT5pY19yZWZjbnQsIC0xLCAxKSkgeworCQkJLyogd2UgYXJlIHRoZSBvbmx5IG9uZSAqLwogCQkJc3Bpbl91bmxvY2soJmxvZy0+bF9pY2xvZ2xvY2spOwotCQkJaWYgKChlcnJvciA9IHhsb2dfc3RhdGVfcmVsZWFzZV9pY2xvZyhsb2csIGljbG9nKSkpCisJCQllcnJvciA9IHhsb2dfc3RhdGVfcmVsZWFzZV9pY2xvZyhsb2csIGljbG9nKTsKKwkJCWlmIChlcnJvcikKIAkJCQlyZXR1cm4gZXJyb3I7CiAJCX0gZWxzZSB7Ci0JCQlhdG9taWNfZGVjKCZpY2xvZy0+aWNfcmVmY250KTsKIAkJCXNwaW5fdW5sb2NrKCZsb2ctPmxfaWNsb2dsb2NrKTsKIAkJfQogCQlnb3RvIHJlc3RhcnQ7CmRpZmYgLS1naXQgYS9pbmNsdWRlL0tidWlsZCBiL2luY2x1ZGUvS2J1aWxkCmluZGV4IGI1MjI4ODcuLmJkY2ExNTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvS2J1aWxkCisrKyBiL2luY2x1ZGUvS2J1aWxkCkBAIC00LDUgKzQsNiBAQAogaGVhZGVyLXkgKz0gbXRkLwogaGVhZGVyLXkgKz0gcmRtYS8KIGhlYWRlci15ICs9IHZpZGVvLworaGVhZGVyLXkgKz0gZHJtLwogCiBoZWFkZXIteSArPSBhc20tJChBUkNIKS8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFscGhhL3NtcC5oIGIvaW5jbHVkZS9hc20tYWxwaGEvc21wLmgKaW5kZXggMjg2ZTFkOC4uNTQ0YzY5YSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYWxwaGEvc21wLmgKKysrIGIvaW5jbHVkZS9hc20tYWxwaGEvc21wLmgKQEAgLTQ3LDEyICs0NywxMyBAQAogZXh0ZXJuIGludCBzbXBfbnVtX2NwdXM7CiAjZGVmaW5lIGNwdV9wb3NzaWJsZV9tYXAJY3B1X3ByZXNlbnRfbWFwCiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbyxpbnQgcmV0cnksIGludCB3YWl0LCBjcHVtYXNrX3QgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOwogCiAjZWxzZSAvKiBDT05GSUdfU01QICovCiAKICNkZWZpbmUgaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCkJCTAKLSNkZWZpbmUgc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1KGZ1bmMsaW5mbyxyZXRyeSx3YWl0LGNwdSkgICAgKHsgMDsgfSkKKyNkZWZpbmUgc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1KGZ1bmMsaW5mbyx3YWl0LGNwdSkgICAgKHsgMDsgfSkKIAogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxX3BtYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxX3BtYy5oCmluZGV4IGMyYjEzYzIuLjIwMDFlODEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MV9wbWMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFfcG1jLmgKQEAgLTM5LDEwICszOSwxNCBAQAogI2RlZmluZQlBVDkxX1BNQ19QQ1NSCQkoQVQ5MV9QTUMgKyAweDE4KQkvKiBQZXJpcGhlcmFsIENsb2NrIFN0YXR1cyBSZWdpc3RlciAqLwogCiAjZGVmaW5lCUFUOTFfQ0tHUl9VQ0tSCQkoQVQ5MV9QTUMgKyAweDFDKQkvKiBVVE1JIENsb2NrIFJlZ2lzdGVyIFtTQU05UkwsIENBUDldICovCisjZGVmaW5lCQlBVDkxX1BNQ19VUExMRU4JCSgxICAgPDwgMTYpCQkvKiBVVE1JIFBMTCBFbmFibGUgKi8KKyNkZWZpbmUJCUFUOTFfUE1DX1VQTExDT1VOVAkoMHhmIDw8IDIwKQkJLyogVVRNSSBQTEwgU3RhcnQtdXAgVGltZSAqLworI2RlZmluZQkJQVQ5MV9QTUNfQklBU0VOCQkoMSAgIDw8IDI0KQkJLyogVVRNSSBCSUFTIEVuYWJsZSAqLworI2RlZmluZQkJQVQ5MV9QTUNfQklBU0NPVU5UCSgweGYgPDwgMjgpCQkvKiBVVE1JIFBMTCBTdGFydC11cCBUaW1lICovCiAKICNkZWZpbmUJQVQ5MV9DS0dSX01PUgkJKEFUOTFfUE1DICsgMHgyMCkJLyogTWFpbiBPc2NpbGxhdG9yIFJlZ2lzdGVyIFtub3Qgb24gU0FNOVJMXSAqLwogI2RlZmluZQkJQVQ5MV9QTUNfTU9TQ0VOCQkoMSAgICA8PCAwKQkJLyogTWFpbiBPc2NpbGxhdG9yIEVuYWJsZSAqLwotI2RlZmluZQkJQVQ5MV9QTUNfT1NDQllQQVNTCSgxICAgIDw8IDEpCQkvKiBPc2NpbGxhdG9yIEJ5cGFzcyBbQVQ5MVNBTTkyNnggb25seV0gKi8KKyNkZWZpbmUJCUFUOTFfUE1DX09TQ0JZUEFTUwkoMSAgICA8PCAxKQkJLyogT3NjaWxsYXRvciBCeXBhc3MgW1NBTTl4LCBDQVA5XSAqLwogI2RlZmluZQkJQVQ5MV9QTUNfT1NDT1VOVAkoMHhmZiA8PCA4KQkJLyogTWFpbiBPc2NpbGxhdG9yIFN0YXJ0LXVwIFRpbWUgKi8KIAogI2RlZmluZQlBVDkxX0NLR1JfTUNGUgkJKEFUOTFfUE1DICsgMHgyNCkJLyogTWFpbiBDbG9jayBGcmVxdWVuY3kgUmVnaXN0ZXIgKi8KQEAgLTk3LDYgKzEwMSw3IEBACiAjZGVmaW5lCQlBVDkxX1BNQ19MT0NLQQkJKDEgPDwgIDEpCQkvKiBQTExBIExvY2sgKi8KICNkZWZpbmUJCUFUOTFfUE1DX0xPQ0tCCQkoMSA8PCAgMikJCS8qIFBMTEIgTG9jayAqLwogI2RlZmluZQkJQVQ5MV9QTUNfTUNLUkRZCQkoMSA8PCAgMykJCS8qIE1hc3RlciBDbG9jayAqLworI2RlZmluZQkJQVQ5MV9QTUNfTE9DS1UJCSgxIDw8ICA2KQkJLyogVVBMTCBMb2NrIFtBVDkxQ0FQOSBvbmx5XSAqLwogI2RlZmluZQkJQVQ5MV9QTUNfUENLMFJEWQkoMSA8PCAgOCkJCS8qIFByb2dyYW1tYWJsZSBDbG9jayAwICovCiAjZGVmaW5lCQlBVDkxX1BNQ19QQ0sxUkRZCSgxIDw8ICA5KQkJLyogUHJvZ3JhbW1hYmxlIENsb2NrIDEgKi8KICNkZWZpbmUJCUFUOTFfUE1DX1BDSzJSRFkJKDEgPDwgMTApCQkvKiBQcm9ncmFtbWFibGUgQ2xvY2sgMiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOS5oCmluZGV4IGJhYzgzYWQuLjZmMTRkOTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDkuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5LmgKQEAgLTExOCw3ICsxMTgsNyBAQAogI2RlZmluZSBBVDkxQ0FQOV9ST01fU0laRQkoMzIgKiBTWl8xSykJLyogSW50ZXJuYWwgUk9NIHNpemUgKDMyS2IpICovCiAKICNkZWZpbmUgQVQ5MUNBUDlfTENEQ19CQVNFCTB4MDA1MDAwMDAJLyogTENEIENvbnRyb2xsZXIgKi8KLSNkZWZpbmUgQVQ5MUNBUDlfVURQSFNfQkFTRQkweDAwNjAwMDAwCS8qIFVTQiBIaWdoIFNwZWVkIERldmljZSBQb3J0ICovCisjZGVmaW5lIEFUOTFDQVA5X1VEUEhTX0ZJRk8JMHgwMDYwMDAwMAkvKiBVU0IgSGlnaCBTcGVlZCBEZXZpY2UgUG9ydCAqLwogI2RlZmluZSBBVDkxQ0FQOV9VSFBfQkFTRQkweDAwNzAwMDAwCS8qIFVTQiBIb3N0IGNvbnRyb2xsZXIgKi8KIAogI2RlZmluZSBDT05GSUdfRFJBTV9CQVNFCUFUOTFfQ0hJUFNFTEVDVF82CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5X21hdHJpeC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOV9tYXRyaXguaAppbmRleCBhNjQxNjg2Li5kZGJkNDg3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5X21hdHJpeC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDlfbWF0cml4LmgKQEAgLTEwNiw2ICsxMDYsMTEgQEAKICNkZWZpbmUgQVQ5MV9NUEJTMF9TRlIJCShBVDkxX01BVFJJWCArIDB4MTE0KQkvKiBNUEJsb2NrIFNsYXZlIDAgU3BlY2lhbCBGdW5jdGlvbiBSZWdpc3RlciAqLwogI2RlZmluZSBBVDkxX01QQlMxX1NGUgkJKEFUOTFfTUFUUklYICsgMHgxMUMpCS8qIE1QQmxvY2sgU2xhdmUgMSBTcGVjaWFsIEZ1bmN0aW9uIFJlZ2lzdGVyICovCiAKKyNkZWZpbmUgQVQ5MV9NQVRSSVhfVURQSFMJKEFUOTFfTUFUUklYICsgMHgxMTgpCS8qIFVTQkhTIFNwZWNpYWwgRnVuY3Rpb24gUmVnaXN0ZXIgW0FUOTFDQVA5IG9ubHldICovCisjZGVmaW5lCQlBVDkxX01BVFJJWF9TRUxFQ1RfVURQSFMJKDAgPDwgMzEpCS8qIHNlbGVjdCBIaWdoIFNwZWVkIFVEUCAqLworI2RlZmluZQkJQVQ5MV9NQVRSSVhfU0VMRUNUX1VEUAkJKDEgPDwgMzEpCS8qIHNlbGVjdCBzdGFuZGFyZCBVRFAgKi8KKyNkZWZpbmUJCUFUOTFfTUFUUklYX1VEUEhTX0JZUEFTU19MT0NLCSgxIDw8IDMwKQkvKiBieXBhc3MgbG9jayBiaXQgKi8KKwogI2RlZmluZSBBVDkxX01BVFJJWF9FQklDU0EJKEFUOTFfTUFUUklYICsgMHgxMjApCS8qIEVCSSBDaGlwIFNlbGVjdCBBc3NpZ25tZW50IFJlZ2lzdGVyICovCiAjZGVmaW5lCQlBVDkxX01BVFJJWF9FQklfQ1MxQQkJKDEgPDwgMSkJLyogQ2hpcCBTZWxlY3QgMSBBc3NpZ25tZW50ICovCiAjZGVmaW5lCQkJQVQ5MV9NQVRSSVhfRUJJX0NTMUFfU01DCQkoMCA8PCAxKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOTI2MC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOTI2MC5oCmluZGV4IGM4OTM0ZmUuLjg4OTg3MmEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTkyNjAuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05MjYwLmgKQEAgLTYsNiArNiw4IEBACiAgKiBDb21tb24gZGVmaW5pdGlvbnMuCiAgKiBCYXNlZCBvbiBBVDkxU0FNOTI2MCBkYXRhc2hlZXQgcmV2aXNpb24gQSAoUHJlbGltaW5hcnkpLgogICoKKyAqIEluY2x1ZGVzIGFsc28gZGVmaW5pdGlvbnMgZm9yIEFUOTFTQU05WEUgYW5kIEFUOTFTQU05RyBmYW1pbGllcworICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKQEAgLTEyMyw1ICsxMjUsMTQgQEAKICNkZWZpbmUgQVQ5MVNBTTlYRV9GTEFTSF9CQVNFCTB4MDAyMDAwMDAJLyogSW50ZXJuYWwgRkxBU0ggYmFzZSBhZGRyZXNzICovCiAjZGVmaW5lIEFUOTFTQU05WEVfU1JBTV9CQVNFCTB4MDAzMDAwMDAJLyogSW50ZXJuYWwgU1JBTSBiYXNlIGFkZHJlc3MgKi8KIAorI2RlZmluZSBBVDkxU0FNOUcyMF9ST01fQkFTRQkweDAwMTAwMDAwCS8qIEludGVybmFsIFJPTSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgQVQ5MVNBTTlHMjBfUk9NX1NJWkUJU1pfMzJLCQkvKiBJbnRlcm5hbCBST00gc2l6ZSAoMzJLYikgKi8KKworI2RlZmluZSBBVDkxU0FNOUcyMF9TUkFNMF9CQVNFCTB4MDAyMDAwMDAJLyogSW50ZXJuYWwgU1JBTSAwIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBBVDkxU0FNOUcyMF9TUkFNMF9TSVpFCVNaXzE2SwkJLyogSW50ZXJuYWwgU1JBTSAwIHNpemUgKDE2S2IpICovCisjZGVmaW5lIEFUOTFTQU05RzIwX1NSQU0xX0JBU0UJMHgwMDMwMDAwMAkvKiBJbnRlcm5hbCBTUkFNIDEgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEFUOTFTQU05RzIwX1NSQU0xX1NJWkUJU1pfMTZLCQkvKiBJbnRlcm5hbCBTUkFNIDEgc2l6ZSAoMTZLYikgKi8KKworI2RlZmluZSBBVDkxU0FNOUcyMF9VSFBfQkFTRQkweDAwNTAwMDAwCS8qIFVTQiBIb3N0IGNvbnRyb2xsZXIgKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05cmwuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTlybC5oCmluZGV4IDE2ZDI4MzIuLjYyMmU1NmYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTlybC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTlybC5oCkBAIC0xMTAsNiArMTEwLDYgQEAKICNkZWZpbmUgQVQ5MVNBTTlSTF9ST01fU0laRQkoMiAqIFNaXzE2SykJLyogSW50ZXJuYWwgUk9NIHNpemUgKDMyS2IpICovCiAKICNkZWZpbmUgQVQ5MVNBTTlSTF9MQ0RDX0JBU0UJMHgwMDUwMDAwMAkvKiBMQ0QgQ29udHJvbGxlciAqLwotI2RlZmluZSBBVDkxU0FNOVJMX1VEUEhTX0JBU0UJMHgwMDYwMDAwMAkvKiBVU0IgRGV2aWNlIEhTIGNvbnRyb2xsZXIgKi8KKyNkZWZpbmUgQVQ5MVNBTTlSTF9VRFBIU19GSUZPCTB4MDA2MDAwMDAJLyogVVNCIERldmljZSBIUyBjb250cm9sbGVyICovCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9ib2FyZC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9ib2FyZC5oCmluZGV4IGRjMTg5ZjAuLjk0ZGU3ODggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYm9hcmQuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2JvYXJkLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9sZWRzLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgorI2luY2x1ZGUgPGxpbnV4L3VzYi9hdG1lbF91c2JhX3VkYy5oPgogCiAgLyogVVNCIERldmljZSAqLwogc3RydWN0IGF0OTFfdWRjX2RhdGEgewpAQCAtNDUsNiArNDYsOSBAQAogfTsKIGV4dGVybiB2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdWRjKHN0cnVjdCBhdDkxX3VkY19kYXRhICpkYXRhKTsKIAorIC8qIFVTQiBIaWdoIFNwZWVkIERldmljZSAqLworZXh0ZXJuIHZvaWQgX19pbml0IGF0OTFfYWRkX2RldmljZV91c2JhKHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgKmRhdGEpOworCiAgLyogQ29tcGFjdCBGbGFzaCAqLwogc3RydWN0IGF0OTFfY2ZfZGF0YSB7CiAJdTgJaXJxX3BpbjsJCS8qIEkvTyBJUlEgKi8KQEAgLTczLDcgKzc3LDcgQEAKIH07CiBleHRlcm4gdm9pZCBfX2luaXQgYXQ5MV9hZGRfZGV2aWNlX2V0aChzdHJ1Y3QgYXQ5MV9ldGhfZGF0YSAqZGF0YSk7CiAKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYzKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFDQVA5KQorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MUNBUDkpCiAjZGVmaW5lIGV0aF9wbGF0Zm9ybV9kYXRhCWF0OTFfZXRoX2RhdGEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2NwdS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9jcHUuaAppbmRleCA3MTQ1MTY2Li41MmRmNzk0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2NwdS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvY3B1LmgKQEAgLTIxLDYgKzIxLDcgQEAKICNkZWZpbmUgQVJDSF9JRF9BVDkxU0FNOTI2MAkweDAxOTgwM2EwCiAjZGVmaW5lIEFSQ0hfSURfQVQ5MVNBTTkyNjEJMHgwMTk3MDNhMAogI2RlZmluZSBBUkNIX0lEX0FUOTFTQU05MjYzCTB4MDE5NjA3YTAKKyNkZWZpbmUgQVJDSF9JRF9BVDkxU0FNOUcyMAkweDAxOTkwNWEwCiAjZGVmaW5lIEFSQ0hfSURfQVQ5MVNBTTlSTDY0CTB4MDE5YjAzYTAKICNkZWZpbmUgQVJDSF9JRF9BVDkxQ0FQOQkweDAzOUEwM0EwCiAKQEAgLTYzLDYgKzY0LDEyIEBACiAjZGVmaW5lIGNwdV9pc19hdDkxc2FtOTI2MCgpCSgwKQogI2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfQVJDSF9BVDkxU0FNOUcyMAorI2RlZmluZSBjcHVfaXNfYXQ5MXNhbTlnMjAoKQkoYXQ5MV9jcHVfaWRlbnRpZnkoKSA9PSBBUkNIX0lEX0FUOTFTQU05RzIwKQorI2Vsc2UKKyNkZWZpbmUgY3B1X2lzX2F0OTFzYW05ZzIwKCkJKDApCisjZW5kaWYKKwogI2lmZGVmIENPTkZJR19BUkNIX0FUOTFTQU05MjYxCiAjZGVmaW5lIGNwdV9pc19hdDkxc2FtOTI2MSgpCShhdDkxX2NwdV9pZGVudGlmeSgpID09IEFSQ0hfSURfQVQ5MVNBTTkyNjEpCiAjZWxzZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9oYXJkd2FyZS5oCmluZGV4IDJjODI2ZDgyLi4wMTZhM2EzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9oYXJkd2FyZS5oCkBAIC0xOCw3ICsxOCw3IEBACiAKICNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFSTTkyMDApCiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXJtOTIwMC5oPgotI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApCiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXNhbTkyNjAuaD4KICNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEpCiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXNhbTkyNjEuaD4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvdGltZXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvdGltZXguaAppbmRleCBmMTkzM2IwLi4yOThkODMxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL3RpbWV4LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS90aW1leC5oCkBAIC0yNywxNCArMjcsMjkgQEAKIAogI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxX1NMT1dfQ0xPQ0spCiAKLSNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEpCisjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKQorCisjaWYgZGVmaW5lZChDT05GSUdfTUFDSF9VU0JfQTkyNjApIHx8IGRlZmluZWQoQ09ORklHX01BQ0hfUUlMX0E5MjYwKQorI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJOTAwMDAwMDAKKyNlbHNlCisjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwk5OTMwMDAwMAorI2VuZGlmCisKKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoQVQ5MVNBTTlfTUFTVEVSX0NMT0NLLzE2KQorCisjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYxKQogCiAjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwk5OTMwMDAwMAogI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxU0FNOV9NQVNURVJfQ0xPQ0svMTYpCiAKICNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMpCiAKKyNpZiBkZWZpbmVkKENPTkZJR19NQUNIX1VTQl9BOTI2MykKKyNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTkwMDAwMDAwCisjZWxzZQogI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJOTk5NTk1MDAKKyNlbmRpZgorCiAjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFTQU05X01BU1RFUl9DTE9DSy8xNikKIAogI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOVJMKQpAQCAtNDIsNiArNTcsMTEgQEAKICNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTEwMDAwMDAwMAogI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxU0FNOV9NQVNURVJfQ0xPQ0svMTYpCiAKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApCisKKyNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTEzMjA5NjAwMAorI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxU0FNOV9NQVNURVJfQ0xPQ0svMTYpCisKICNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MUNBUDkpCiAKICNkZWZpbmUgQVQ5MUNBUDlfTUFTVEVSX0NMT0NLCTEwMDAwMDAwMApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9oYXJkd2FyZS5oCmluZGV4IGRhYWQ4ZWUuLjc0NjEwYzIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L2hhcmR3YXJlLmgKQEAgLTE0LDcgKzE0LDYgQEAKIAogI2luY2x1ZGUgPGFzbS9hcmNoL21lbW9yeS5oPgogCi0jaWZkZWYgQ09ORklHX0FSQ0hfRk9PVEJSSURHRQogLyogICBWaXJ0dWFsICAgICAgUGh5c2ljYWwJU2l6ZQogICogMHhmZjgwMDAwMAkweDQwMDAwMDAwCTFNQglYLUJ1cwogICogMHhmZjAwMDAwMAkweDdjMDAwMDAwCTFNQglQQ0kgSS9PIHNwYWNlCkBAIC01MCwzMSArNDksNiBAQAogI2RlZmluZSBQQ0lNRU1fU0laRQkJMHgwMTAwMDAwMAogI2RlZmluZSBQQ0lNRU1fQkFTRQkJMHhmMDAwMDAwMAogCi0jZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0NPMjg1KQotLyoKLSAqIFRoaXMgaXMgdGhlIENPRUJTQTI4NSBjdXQtZG93biBtYXBwaW5nCi0gKi8KLSNkZWZpbmUgUENJTUVNX1NJWkUJCTB4ODAwMDAwMDAKLSNkZWZpbmUgUENJTUVNX0JBU0UJCTB4ODAwMDAwMDAKLQotI2RlZmluZSBXRkxVU0hfU0laRQkJMHgwMTAwMDAwMAotI2RlZmluZSBXRkxVU0hfQkFTRQkJMHg3ZDAwMDAwMAotCi0jZGVmaW5lIEFSTUNTUl9TSVpFCQkweDAwMTAwMDAwCi0jZGVmaW5lIEFSTUNTUl9CQVNFCQkweDdjZjAwMDAwCi0KLSNkZWZpbmUgWEJVU19TSVpFCQkweDAwMDIwMDAwCi0jZGVmaW5lIFhCVVNfQkFTRQkJMHg3Y2VlMDAwMAotCi0jZGVmaW5lIFBDSU9fU0laRQkJMHgwMDAxMDAwMAotI2RlZmluZSBQQ0lPX0JBU0UJCTB4N2NlZDAwMDAKLQotI2Vsc2UKLQotI2Vycm9yICJVbmRlZmluZWQgZm9vdGJyaWRnZSBhcmNoaXRlY3R1cmUiCi0KLSNlbmRpZgotCiAjZGVmaW5lIFhCVVNfTEVEUwkJKCh2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopKFhCVVNfQkFTRSArIDB4MTIwMDApKQogI2RlZmluZSBYQlVTX0xFRF9BTUJFUgkJKDEgPDwgMCkKICNkZWZpbmUgWEJVU19MRURfR1JFRU4JCSgxIDw8IDEpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L21lbW9yeS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9tZW1vcnkuaAppbmRleCBjYmQ3YWU2Li45MDE5YTNiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L21lbW9yeS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvbWVtb3J5LmgKQEAgLTQyLDggKzQyLDYgQEAKIAogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0ZPT1RCUklER0UpCi0KIC8qIFRhc2sgc2l6ZSBhbmQgcGFnZSBvZmZzZXQgYXQgM0dCICovCiAjZGVmaW5lIFRBU0tfU0laRQkJVUwoMHhiZjAwMDAwMCkKICNkZWZpbmUgUEFHRV9PRkZTRVQJCVVMKDB4YzAwMDAwMDApCkBAIC01MywyMyArNTEsNiBAQAogICovCiAjZGVmaW5lIEZMVVNIX0JBU0UJCTB4ZjkwMDAwMDAKIAotI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9DTzI4NSkKLQotLyogVGFzayBzaXplIGFuZCBwYWdlIG9mZnNldCBhdCAxLjVHQiAqLwotI2RlZmluZSBUQVNLX1NJWkUJCVVMKDB4NWYwMDAwMDApCi0jZGVmaW5lIFBBR0VfT0ZGU0VUCQlVTCgweDYwMDAwMDAwKQotCi0vKgotICogQ2FjaGUgZmx1c2hpbmcgYXJlYS4KLSAqLwotI2RlZmluZSBGTFVTSF9CQVNFCQkweDdlMDAwMDAwCi0KLSNlbHNlCi0KLSNlcnJvciAiVW5kZWZpbmVkIGZvb3RicmlkZ2UgYXJjaGl0ZWN0dXJlIgotCi0jZW5kaWYKLQogLyoKICAqIFBoeXNpY2FsIERSQU0gb2Zmc2V0LgogICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L3ZtYWxsb2MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvdm1hbGxvYy5oCmluZGV4IDAyNTk4MjAuLmU0ODdkN2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvdm1hbGxvYy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvdm1hbGxvYy5oCkBAIC03LDggKzcsNCBAQAogICovCiAKIAotI2lmZGVmIENPTkZJR19BUkNIX0ZPT1RCUklER0UKICNkZWZpbmUgVk1BTExPQ19FTkQgICAgICAgKFBBR0VfT0ZGU0VUICsgMHgzMDAwMDAwMCkKLSNlbHNlCi0jZGVmaW5lIFZNQUxMT0NfRU5EICAgICAgIChQQUdFX09GRlNFVCArIDB4MjAwMDAwMDApCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2hhcmR3YXJlLmgKaW5kZXggYWRmZmI2YS4uNjU0MmNhNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2hhcmR3YXJlLmgKQEAgLTczLDE0ICs3Myw2IEBACiAgKi8KIGV4dGVybiB2b2lkIGlteF9ncGlvX21vZGUoIGludCBncGlvX21vZGUgKTsKIAotLyogZ2V0IGZyZXF1ZW5jaWVzIGluIEh6ICovCi1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfc3lzdGVtX2Nsayh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBpbnQgaW14X2dldF9tY3VfY2xrKHZvaWQpOwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X3BlcmNsazEodm9pZCk7IC8qIFVBUlRbMTJdLCBUaW1lclsxMl0sIFBXTSAqLwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X3BlcmNsazIodm9pZCk7IC8qIExDRCwgU0QsIFNQSVsxMl0gICAgICAgICAqLwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X3BlcmNsazModm9pZCk7IC8qIFNTSSAgICAgICAgICAgICAgICAgICAgICAqLwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X2hjbGsodm9pZCk7ICAgIC8qIFNEUkFNLCBDU0ksIE1lbW9yeSBTdGljaywqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEkyQywgRE1BICAgICAgICAgICAgICAgICAqLwogI2VuZGlmCiAKICNkZWZpbmUgTUFYSVJRTlVNICAgICAgICAgICAgICAgICAgICAgICA2MgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC1kbWEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtZG1hLmgKaW5kZXggNWIxMDY2ZC4uNDRkODljMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC1kbWEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LWRtYS5oCkBAIC04OCw3ICs4OCw3IEBACiAKIHZvaWQgaW14X2RtYV9mcmVlKGlteF9kbWFjaF90IGRtYV9jaCk7CiAKLWludCBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyhpbXhfZG1hY2hfdCAqcGRtYV9jaCwgY29uc3QgY2hhciAqbmFtZSwgaW14X2RtYV9wcmlvIHByaW8pOworaW14X2RtYWNoX3QgaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oY29uc3QgY2hhciAqbmFtZSwgaW14X2RtYV9wcmlvIHByaW8pOwogCiAKICNlbmRpZgkvKiBfQVNNX0FSQ0hfSU1YX0RNQV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LXVhcnQuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtdWFydC5oCmluZGV4IDNhNjg1ZTEuLmQ1NGViMWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtdWFydC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtdWFydC5oCkBAIC00LDYgKzQsOCBAQAogI2RlZmluZSBJTVhVQVJUX0hBVkVfUlRTQ1RTICgxPDwwKQogCiBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhIHsKKwlpbnQgKCppbml0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKKwl2b2lkICgqZXhpdCkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldik7CiAJdW5zaWduZWQgaW50IGZsYWdzOwogfTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMTN4eC9kbWEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDEzeHgvZG1hLmgKaW5kZXggMmUxNWRhNTMuLmQ3OTg0NmYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDEzeHgvZG1hLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMTN4eC9kbWEuaApAQCAtMSwzICsxLDMgQEAKICNpZm5kZWYgX0lPUDEzWFhfRE1BX0gKLSNkZWZpbmUgX0lPUDEzWFhfRE1BX0hfCisjZGVmaW5lIF9JT1AxM1hYX0RNQV9ICiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDMyeC9ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzMngvZ3Bpby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwOGY0ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzMngvZ3Bpby5oCkBAIC0wLDAgKzEsNiBAQAorI2lmbmRlZiBfX0FTTV9BUkNIX0lPUDMyWF9HUElPX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JT1AzMlhfR1BJT19ICisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUvaW9wM3h4LWdwaW8uaD4KKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzM3gvZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMzN4L2dwaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGQ1NWJiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMzN4L2dwaW8uaApAQCAtMCwwICsxLDYgQEAKKyNpZm5kZWYgX19BU01fQVJDSF9JT1AzM1hfR1BJT19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSU9QMzNYX0dQSU9fSAorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2lvcDN4eC1ncGlvLmg+CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2ZzZy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2ZzZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwMTAwY2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvZnNnLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9mc2cuaAorICoKKyAqIEZyZWVjb20gRlNHLTMgcGxhdGZvcm0gc3BlY2lmaWMgZGVmaW5pdGlvbnMKKyAqCisgKiBBdXRob3I6IFJvZCBXaGl0YnkgPHJvZEB3aGl0YnkuaWQuYXU+CisgKiBBdXRob3I6IFRvbWFzeiBDaG1pZWxld3NraSA8bWFuZ29vQHdwa2cub3JnPgorICogTWFpbnRhaW5lcnM6IGh0dHA6Ly93d3cubnNsdTItbGludXgub3JnCisgKgorICogQmFzZWQgb24gY295b3RlLmggYnkKKyAqIENvcHlyaWdodCAyMDA0IChjKSBNb250YVZpc3RhLCBTb2Z0d2FyZSwgSW5jLgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciAgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9IQVJEV0FSRV9IX18KKyNlcnJvciAiRG8gbm90IGluY2x1ZGUgdGhpcyBkaXJlY3RseSwgaW5zdGVhZCAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+IgorI2VuZGlmCisKKyNkZWZpbmUgRlNHX1NEQV9QSU4JCTEyCisjZGVmaW5lIEZTR19TQ0xfUElOCQkxMworCisvKgorICogRlNHIFBDSSBJUlFzCisgKi8KKyNkZWZpbmUgRlNHX1BDSV9NQVhfREVWCQkzCisjZGVmaW5lIEZTR19QQ0lfSVJRX0xJTkVTCTMKKworCisvKiBQQ0kgY29udHJvbGxlciBHUElPIHRvIElSUSBwaW4gbWFwcGluZ3MgKi8KKyNkZWZpbmUgRlNHX1BDSV9JTlRBX1BJTgk2CisjZGVmaW5lIEZTR19QQ0lfSU5UQl9QSU4JNworI2RlZmluZSBGU0dfUENJX0lOVENfUElOCTUKKworLyogQnV0dG9ucyAqLworCisjZGVmaW5lIEZTR19TQl9HUElPCQk0CS8qIHN5bmMgYnV0dG9uICovCisjZGVmaW5lIEZTR19SQl9HUElPCQk5CS8qIHJlc2V0IGJ1dHRvbiAqLworI2RlZmluZSBGU0dfVUJfR1BJTwkJMTAJLyogdXNiIGJ1dHRvbiAqLworCisvKiBMRURzICovCisKKyNkZWZpbmUgRlNHX0xFRF9XTEFOX0JJVAkwCisjZGVmaW5lIEZTR19MRURfV0FOX0JJVAkJMQorI2RlZmluZSBGU0dfTEVEX1NBVEFfQklUCTIKKyNkZWZpbmUgRlNHX0xFRF9VU0JfQklUCQk0CisjZGVmaW5lIEZTR19MRURfUklOR19CSVQJNQorI2RlZmluZSBGU0dfTEVEX1NZTkNfQklUCTcKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2hhcmR3YXJlLmgKaW5kZXggNzNlOGRjMy4uZmE3MjNhNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2hhcmR3YXJlLmgKQEAgLTQ1LDUgKzQ1LDYgQEAKICNpbmNsdWRlICJuc2x1Mi5oIgogI2luY2x1ZGUgIm5hczEwMGQuaCIKICNpbmNsdWRlICJkc21nNjAwLmgiCisjaW5jbHVkZSAiZnNnLmgiCiAKICNlbmRpZiAgLyogX0FTTV9BUkNIX0hBUkRXQVJFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaXJxcy5oCmluZGV4IDExODAxNjAuLjY3NGFmNGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9pcnFzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2lycXMuaApAQCAtMTI4LDQgKzEyOCwxMSBAQAogI2RlZmluZSAgICAgICAgSVJRX0RTTUc2MDBfUENJX0lOVEUgICAgSVJRX0lYUDRYWF9HUElPNwogI2RlZmluZSAgICAgICAgSVJRX0RTTUc2MDBfUENJX0lOVEYgICAgSVJRX0lYUDRYWF9HUElPNgogCisvKgorICogRnJlZWNvbSBGU0ctMyBCb2FyZCBJUlFzCisgKi8KKyNkZWZpbmUgICAgICAgIElSUV9GU0dfUENJX0lOVEEgICAgICAgIElSUV9JWFA0WFhfR1BJTzYKKyNkZWZpbmUgICAgICAgIElSUV9GU0dfUENJX0lOVEIgICAgICAgIElSUV9JWFA0WFhfR1BJTzcKKyNkZWZpbmUgICAgICAgIElSUV9GU0dfUENJX0lOVEMgICAgICAgIElSUV9JWFA0WFhfR1BJTzUKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kZWJ1Zy1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZGVidWctbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTVmYjhhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZGVidWctbWFjcm8uUwpAQCAtMCwwICsxLDIwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZGVidWctbWFjcm8uUworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKworCS5tYWNybwlhZGRydWFydCxyeAorCW1yYwlwMTUsIDAsIFxyeCwgYzEsIGMwCisJdHN0CVxyeCwgIzEJCQkJCUAgTU1VIGVuYWJsZWQ/CisJbGRyZXEJXHJ4LCA9S0lSS1dPT0RfUkVHU19QSFlTX0JBU0UKKwlsZHJuZQlccngsID1LSVJLV09PRF9SRUdTX1ZJUlRfQkFTRQorCW9ycglccngsIFxyeCwgIzB4MDAwMTIwMDAKKwkuZW5kbQorCisjZGVmaW5lIFVBUlRfU0hJRlQJMgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9kZWJ1Zy04MjUwLlM+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kbWEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RtYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYThjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kbWEuaApAQCAtMCwwICsxIEBACisvKiBlbXB0eSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZW50cnktbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2VudHJ5LW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmM2YTQzZAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2VudHJ5LW1hY3JvLlMKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2VudHJ5LW1hY3JvLlMKKyAqCisgKiBMb3ctbGV2ZWwgSVJRIGhlbHBlciBtYWNyb3MgZm9yIE1hcnZlbGwgS2lya3dvb2QgcGxhdGZvcm1zCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisKKwkubWFjcm8gIGRpc2FibGVfZmlxCisJLmVuZG0KKworCS5tYWNybyAgYXJjaF9yZXRfdG9fdXNlciwgdG1wMSwgdG1wMgorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9wcmVhbWJsZSwgYmFzZSwgdG1wCisJbGRyCVxiYXNlLCA9SVJRX1ZJUlRfQkFTRQorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9hbmRfYmFzZSwgaXJxbnIsIGlycXN0YXQsIGJhc2UsIHRtcAorCUAgY2hlY2sgbG93IGludGVycnVwdHMKKwlsZHIJXGlycXN0YXQsIFtcYmFzZSwgI0lSUV9DQVVTRV9MT1dfT0ZGXQorCWxkcglcdG1wLCBbXGJhc2UsICNJUlFfTUFTS19MT1dfT0ZGXQorCW1vdglcaXJxbnIsICMzMQorCWFuZHMJXGlycXN0YXQsIFxpcnFzdGF0LCBcdG1wCisJYm5lCTEwMDFmCisKKwlAIGlmIG5vIGxvdyBpbnRlcnJ1cHRzIHNldCwgY2hlY2sgaGlnaCBpbnRlcnJ1cHRzCisJbGRyCVxpcnFzdGF0LCBbXGJhc2UsICNJUlFfQ0FVU0VfSElHSF9PRkZdCisJbGRyCVx0bXAsIFtcYmFzZSwgI0lSUV9NQVNLX0hJR0hfT0ZGXQorCW1vdglcaXJxbnIsICM2MworCWFuZHMJXGlycXN0YXQsIFxpcnFzdGF0LCBcdG1wCisKKwlAIGZpbmQgZmlyc3QgYWN0aXZlIGludGVycnVwdCBzb3VyY2UKKzEwMDE6CWNsem5lCVxpcnFzdGF0LCBcaXJxc3RhdAorCXN1Ym5lCVxpcnFuciwgXGlycW5yLCBcaXJxc3RhdAorCS5lbmRtCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaGFyZHdhcmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjk1NzE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaGFyZHdhcmUuaApAQCAtMCwwICsxLDIxIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaGFyZHdhcmUuaAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKyNkZWZpbmUgX19BU01fQVJDSF9IQVJEV0FSRV9ICisKKyNpbmNsdWRlICJraXJrd29vZC5oIgorCisjZGVmaW5lIHBjaWJpb3NfYXNzaWduX2FsbF9idXNzZXMoKQkxCisKKyNkZWZpbmUgUENJQklPU19NSU5fSU8JCQkweDAwMDAxMDAwCisjZGVmaW5lIFBDSUJJT1NfTUlOX01FTQkJCTB4MDEwMDAwMDAKKyNkZWZpbmUgUENJTUVNX0JBU0UJCQlLSVJLV09PRF9QQ0lFX01FTV9QSFlTX0JBU0UgLyogbWVtIGJhc2UgZm9yIFZHQSAqLworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGVmNmU5NQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lvLmgKQEAgLTAsMCArMSwyNiBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lvLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSU9fSAorI2RlZmluZSBfX0FTTV9BUkNIX0lPX0gKKworI2luY2x1ZGUgImtpcmt3b29kLmgiCisKKyNkZWZpbmUgSU9fU1BBQ0VfTElNSVQJCTB4ZmZmZmZmZmYKKworc3RhdGljIGlubGluZSB2b2lkIF9faW9tZW0gKl9faW8odW5zaWduZWQgbG9uZyBhZGRyKQoreworCXJldHVybiAodm9pZCBfX2lvbWVtICopKChhZGRyIC0gS0lSS1dPT0RfUENJRV9JT19QSFlTX0JBU0UpCisJCQkJCSsgS0lSS1dPT0RfUENJRV9JT19WSVJUX0JBU0UpOworfQorCisjZGVmaW5lIF9faW8oYSkJCQlfX2lvKGEpCisjZGVmaW5lIF9fbWVtX3BjaShhKQkJKGEpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pcnFzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU3YjVkYQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lycXMuaApAQCAtMCwwICsxLDYzIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaXJxcy5oCisgKgorICogSVJRIGRlZmluaXRpb25zIGZvciBNYXJ2ZWxsIEtpcmt3b29kIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSVJRU19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSVJRU19ICisKKyNpbmNsdWRlICJraXJrd29vZC5oIgkvKiBuZWVkIEdQSU9fTUFYICovCisKKy8qCisgKiBMb3cgSW50ZXJydXB0IENvbnRyb2xsZXIKKyAqLworI2RlZmluZSBJUlFfS0lSS1dPT0RfSElHSF9TVU0JMAorI2RlZmluZSBJUlFfS0lSS1dPT0RfQlJJREdFCTEKKyNkZWZpbmUgSVJRX0tJUktXT09EX0hPU1QyQ1BVCTIKKyNkZWZpbmUgSVJRX0tJUktXT09EX0NQVTJIT1NUCTMKKyNkZWZpbmUgSVJRX0tJUktXT09EX1hPUl8wMAk1CisjZGVmaW5lIElSUV9LSVJLV09PRF9YT1JfMDEJNgorI2RlZmluZSBJUlFfS0lSS1dPT0RfWE9SXzEwCTcKKyNkZWZpbmUgSVJRX0tJUktXT09EX1hPUl8xMQk4CisjZGVmaW5lIElSUV9LSVJLV09PRF9QQ0lFCTkKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dFMDBfU1VNCTExCisjZGVmaW5lIElSUV9LSVJLV09PRF9HRTAxX1NVTQkxNQorI2RlZmluZSBJUlFfS0lSS1dPT0RfVVNCCTE5CisjZGVmaW5lIElSUV9LSVJLV09PRF9TQVRBCTIxCisjZGVmaW5lIElSUV9LSVJLV09PRF9DUllQVE8JMjIKKyNkZWZpbmUgSVJRX0tJUktXT09EX1NQSQkyMworI2RlZmluZSBJUlFfS0lSS1dPT0RfSTJTCTI0CisjZGVmaW5lIElSUV9LSVJLV09PRF9UU18wCTI2CisjZGVmaW5lIElSUV9LSVJLV09PRF9TRElPCTI4CisjZGVmaW5lIElSUV9LSVJLV09PRF9UV1NJCTI5CisjZGVmaW5lIElSUV9LSVJLV09PRF9BVkIJMzAKKyNkZWZpbmUgSVJRX0tJUktXT09EX1RETUkJMzEKKworLyoKKyAqIEhpZ2ggSW50ZXJydXB0IENvbnRyb2xsZXIKKyAqLworI2RlZmluZSBJUlFfS0lSS1dPT0RfVUFSVF8wCTMzCisjZGVmaW5lIElSUV9LSVJLV09PRF9VQVJUXzEJMzQKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fTE9XXzBfNwkzNQorI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19MT1dfOF8xNQkzNgorI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19MT1dfMTZfMjMJMzcKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fTE9XXzI0XzMxCTM4CisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0hJR0hfMF83CTM5CisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0hJR0hfOF8xNQk0MAorI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19ISUdIXzE2XzIzCTQxCisKKy8qCisgKiBLSVJLV09PRCBHZW5lcmFsIFB1cnBvc2UgUGlucworICovCisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX1NUQVJUCTY0CisjZGVmaW5lIE5SX0dQSU9fSVJRUwkJR1BJT19NQVgKKworI2RlZmluZSBOUl9JUlFTCQkJKElSUV9LSVJLV09PRF9HUElPX1NUQVJUICsgTlJfR1BJT19JUlFTKQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qva2lya3dvb2QuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2tpcmt3b29kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIzMWIzMTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9raXJrd29vZC5oCkBAIC0wLDAgKzEsMTAwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qva2lya3dvb2QuaAorICoKKyAqIEdlbmVyaWMgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgS2lya3dvb2QgU29DIGZsYXZvcnM6CisgKiAgODhGNjE4MCwgODhGNjE5MiBhbmQgODhGNjI4MS4KKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfS0lSS1dPT0RfSAorI2RlZmluZSBfX0FTTV9BUkNIX0tJUktXT09EX0gKKworLyoKKyAqIE1hcnZlbGwgS2lya3dvb2QgYWRkcmVzcyBtYXBzLgorICoKKyAqIHBoeXMKKyAqIGUwMDAwMDAwCVBDSWUgTWVtb3J5IHNwYWNlCisgKiBmMTAwMDAwMAlvbi1jaGlwIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKiBmMjAwMDAwMAlQQ0llIEkvTyBzcGFjZQorICogZjMwMDAwMDAJTkFORCBjb250cm9sbGVyIGFkZHJlc3Mgd2luZG93CisgKgorICogdmlydAkJcGh5cwkJc2l6ZQorICogZmVlMDAwMDAJZjEwMDAwMDAJMU0Jb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICogZmVmMDAwMDAJZjIwMDAwMDAJMU0JUENJZSBJL08gc3BhY2UKKyAqLworCisjZGVmaW5lIEtJUktXT09EX05BTkRfTUVNX1BIWVNfQkFTRQkweGYzMDAwMDAwCisjZGVmaW5lIEtJUktXT09EX05BTkRfTUVNX1NJWkUJCVNaXzY0SyAvKiAxSyBpcyBzdWZmaWNpZW50LCBidXQgNjRLCisJCQkJCQkqIGlzIHRoZSBtaW5pbWFsIHdpbmRvdyBzaXplCisJCQkJCQkqLworCisjZGVmaW5lIEtJUktXT09EX1BDSUVfSU9fUEhZU19CQVNFCTB4ZjIwMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfUENJRV9JT19WSVJUX0JBU0UJMHhmZWYwMDAwMAorI2RlZmluZSBLSVJLV09PRF9QQ0lFX0lPX0JVU19CQVNFCTB4MDAwMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfUENJRV9JT19TSVpFCQlTWl8xTQorCisjZGVmaW5lIEtJUktXT09EX1JFR1NfUEhZU19CQVNFCQkweGYxMDAwMDAwCisjZGVmaW5lIEtJUktXT09EX1JFR1NfVklSVF9CQVNFCQkweGZlZTAwMDAwCisjZGVmaW5lIEtJUktXT09EX1JFR1NfU0laRQkJU1pfMU0KKworI2RlZmluZSBLSVJLV09PRF9QQ0lFX01FTV9QSFlTX0JBU0UJMHhlMDAwMDAwMAorI2RlZmluZSBLSVJLV09PRF9QQ0lFX01FTV9TSVpFCQlTWl8xMjhNCisKKy8qCisgKiBNQlVTIGJyaWRnZSByZWdpc3RlcnMuCisgKi8KKyNkZWZpbmUgQlJJREdFX1ZJUlRfQkFTRQkoS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UgfCAweDIwMDAwKQorI2RlZmluZSAgQ1BVX0NPTlRST0wJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTA0KQorI2RlZmluZSAgIENQVV9SRVNFVAkJMHgwMDAwMDAwMgorI2RlZmluZSAgUlNUT1VUbl9NQVNLCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwOCkKKyNkZWZpbmUgICBTT0ZUX1JFU0VUX09VVF9FTgkweDAwMDAwMDA0CisjZGVmaW5lICBTWVNURU1fU09GVF9SRVNFVAkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwYykKKyNkZWZpbmUgICBTT0ZUX1JFU0VUCQkweDAwMDAwMDAxCisjZGVmaW5lICBCUklER0VfQ0FVU0UJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTEwKQorI2RlZmluZSAgQlJJREdFX01BU0sJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTE0KQorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIwCTB4MDAwMgorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIxCTB4MDAwNAorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIxX0NMUgkofjB4MDAwNCkKKyNkZWZpbmUgIElSUV9WSVJUX0JBU0UJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMjAwKQorI2RlZmluZSAgIElSUV9DQVVTRV9MT1dfT0ZGCTB4MDAwMAorI2RlZmluZSAgIElSUV9NQVNLX0xPV19PRkYJMHgwMDA0CisjZGVmaW5lICAgSVJRX0NBVVNFX0hJR0hfT0ZGCTB4MDAxMAorI2RlZmluZSAgIElSUV9NQVNLX0hJR0hfT0ZGCTB4MDAxNAorI2RlZmluZSAgVElNRVJfVklSVF9CQVNFCShCUklER0VfVklSVF9CQVNFIHwgMHgwMzAwKQorI2RlZmluZSAgTDJfQ09ORklHX1JFRwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMjgpCisjZGVmaW5lICAgTDJfV1JJVEVUSFJPVUdICTB4MDAwMDAwMTAKKworLyoKKyAqIFJlZ2lzdGVyIE1hcAorICovCisjZGVmaW5lIEREUl9WSVJUX0JBU0UJCShLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSB8IDB4MDAwMDApCisjZGVmaW5lICBERFJfV0lORE9XX0NQVV9CQVNFCShERFJfVklSVF9CQVNFIHwgMHgxNTAwKQorCisjZGVmaW5lIERFVl9CVVNfUEhZU19CQVNFCShLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSB8IDB4MTAwMDApCisjZGVmaW5lIERFVl9CVVNfVklSVF9CQVNFCShLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSB8IDB4MTAwMDApCisjZGVmaW5lICBTQU1QTEVfQVRfUkVTRVQJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgwMDMwKQorI2RlZmluZSAgREVWSUNFX0lECQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDAwMzQpCisjZGVmaW5lICBSVENfUEhZU19CQVNFCQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDAzMDApCisjZGVmaW5lICBTUElfUEhZU19CQVNFCQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDA2MDApCisjZGVmaW5lICBVQVJUMF9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDBfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjAwMCkKKyNkZWZpbmUgIFVBUlQxX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIxMDApCisjZGVmaW5lICBVQVJUMV9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMTAwKQorCisjZGVmaW5lIFBDSUVfVklSVF9CQVNFCQkoS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UgfCAweDQwMDAwKQorCisjZGVmaW5lIFVTQl9QSFlTX0JBU0UJCShLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSB8IDB4NTAwMDApCisKKyNkZWZpbmUgR0UwMF9QSFlTX0JBU0UJCShLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSB8IDB4NzAwMDApCisjZGVmaW5lIEdFMDFfUEhZU19CQVNFCQkoS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UgfCAweDc0MDAwKQorCisjZGVmaW5lIFNBVEFfUEhZU19CQVNFCQkoS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UgfCAweDgwMDAwKQorCisKKyNkZWZpbmUgR1BJT19NQVgJCTUwCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9tZW1vcnkuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL21lbW9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1MTA4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9tZW1vcnkuaApAQCAtMCwwICsxLDE0IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvbWVtb3J5LmgKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTUVNT1JZX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NRU1PUllfSAorCisjZGVmaW5lIFBIWVNfT0ZGU0VUCQlVTCgweDAwMDAwMDAwKQorCisjZGVmaW5lIF9fdmlydF90b19idXMoeCkJX192aXJ0X3RvX3BoeXMoeCkKKyNkZWZpbmUgX19idXNfdG9fdmlydCh4KQlfX3BoeXNfdG9fdmlydCh4KQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvc3lzdGVtLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9zeXN0ZW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGRlN2UzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvc3lzdGVtLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3N5c3RlbS5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX1NZU1RFTV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKworI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfaWRsZSh2b2lkKQoreworCWNwdV9kb19pZGxlKCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX3Jlc2V0KGNoYXIgbW9kZSkKK3sKKwkvKgorCSAqIEVuYWJsZSBzb2Z0IHJlc2V0IHRvIGFzc2VydCBSU1RPVVRuLgorCSAqLworCXdyaXRlbChTT0ZUX1JFU0VUX09VVF9FTiwgUlNUT1VUbl9NQVNLKTsKKworCS8qCisJICogQXNzZXJ0IHNvZnQgcmVzZXQuCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVQsIFNZU1RFTV9TT0ZUX1JFU0VUKTsKKworCXdoaWxlICgxKQorCQk7Cit9CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC90aW1leC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdGltZXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjEyMmUxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdGltZXguaApAQCAtMCwwICsxLDExIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdGltZXguaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoMTAwICogSFopCisKKyNkZWZpbmUgS0lSS1dPT0RfVENMSwkJMTY2NjY2NjY3CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC91bmNvbXByZXNzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC91bmNvbXByZXNzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTkwNjJiNgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3VuY29tcHJlc3MuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdW5jb21wcmVzcy5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorCisjZGVmaW5lIFNFUklBTF9CQVNFCSgodW5zaWduZWQgY2hhciAqKVVBUlQwX1BIWVNfQkFTRSkKKworc3RhdGljIHZvaWQgcHV0Yyhjb25zdCBjaGFyIGMpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmIChiYXNlW1VBUlRfTFNSIDw8IDJdICYgVUFSVF9MU1JfVEhSRSkKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQorCisJYmFzZVtVQVJUX1RYIDw8IDJdID0gYzsKK30KKworc3RhdGljIHZvaWQgZmx1c2godm9pZCkKK3sKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJdW5zaWduZWQgY2hhciBtYXNrOworCWludCBpOworCisJbWFzayA9IFVBUlRfTFNSX1RFTVQgfCBVQVJUX0xTUl9USFJFOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmICgoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIG1hc2spID09IG1hc2spCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KK30KKworLyoKKyAqIG5vdGhpbmcgdG8gZG8KKyAqLworI2RlZmluZSBhcmNoX2RlY29tcF9zZXR1cCgpCisjZGVmaW5lIGFyY2hfZGVjb21wX3dkb2coKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvdm1hbGxvYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvdm1hbGxvYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxODUyYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC92bWFsbG9jLmgKQEAgLTAsMCArMSw1IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvdm1hbGxvYy5oCisgKi8KKworI2RlZmluZSBWTUFMTE9DX0VORAkweGZlODAwMDAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RlYnVnLW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RlYnVnLW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg1NTAyZQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZGVidWctbWFjcm8uUwpAQCAtMCwwICsxLDIwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9kZWJ1Zy1tYWNyby5TCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9sb2tpLmg+CisKKwkubWFjcm8JYWRkcnVhcnQscngKKwltcmMJcDE1LCAwLCBccngsIGMxLCBjMAorCXRzdAlccngsICMxCQkJCQlAIE1NVSBlbmFibGVkPworCWxkcmVxCVxyeCwgPUxPS0lfUkVHU19QSFlTX0JBU0UKKwlsZHJuZQlccngsID1MT0tJX1JFR1NfVklSVF9CQVNFCisJb3JyCVxyeCwgXHJ4LCAjMHgwMDAxMjAwMAorCS5lbmRtCisKKyNkZWZpbmUgVUFSVF9TSElGVAkyCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2RlYnVnLTgyNTAuUz4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZG1hLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RtYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYThjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RtYS5oCkBAIC0wLDAgKzEgQEAKKy8qIGVtcHR5ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2VudHJ5LW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2VudHJ5LW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkzMjU3YwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZW50cnktbWFjcm8uUwpAQCAtMCwwICsxLDMwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9lbnRyeS1tYWNyby5TCisgKgorICogTG93LWxldmVsIElSUSBoZWxwZXIgbWFjcm9zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBwbGF0Zm9ybXMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8YXNtL2FyY2gvbG9raS5oPgorCisJLm1hY3JvICBkaXNhYmxlX2ZpcQorCS5lbmRtCisKKwkubWFjcm8gIGFyY2hfcmV0X3RvX3VzZXIsIHRtcDEsIHRtcDIKKwkuZW5kbQorCisJLm1hY3JvICBnZXRfaXJxbnJfcHJlYW1ibGUsIGJhc2UsIHRtcAorCWxkcglcYmFzZSwgPUlSUV9WSVJUX0JBU0UKKwkuZW5kbQorCisJLm1hY3JvICBnZXRfaXJxbnJfYW5kX2Jhc2UsIGlycW5yLCBpcnFzdGF0LCBiYXNlLCB0bXAKKwlsZHIJXGlycXN0YXQsIFtcYmFzZSwgI0lSUV9DQVVTRV9PRkZdCisJbGRyCVx0bXAsIFtcYmFzZSwgI0lSUV9NQVNLX09GRl0KKwltb3YJXGlycW5yLCAjMAorCWFuZHMJXGlycXN0YXQsIFxpcnFzdGF0LCBcdG1wCisJY2x6bmUJXGlycW5yLCBcaXJxc3RhdAorCXJzYm5lCVxpcnFuciwgXGlycW5yLCAjMzEKKwkuZW5kbQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9oYXJkd2FyZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2NWIwMWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2hhcmR3YXJlLmgKQEAgLTAsMCArMSwxNSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaGFyZHdhcmUuaAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKyNkZWZpbmUgX19BU01fQVJDSF9IQVJEV0FSRV9ICisKKyNpbmNsdWRlICJsb2tpLmgiCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc0MThhOQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaW8uaApAQCAtMCwwICsxLDI2IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pby5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0lPX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JT19ICisKKyNpbmNsdWRlICJsb2tpLmgiCisKKyNkZWZpbmUgSU9fU1BBQ0VfTElNSVQJCTB4ZmZmZmZmZmYKKworc3RhdGljIGlubGluZSB2b2lkIF9faW9tZW0gKl9faW8odW5zaWduZWQgbG9uZyBhZGRyKQoreworCXJldHVybiAodm9pZCBfX2lvbWVtICopKChhZGRyIC0gTE9LSV9QQ0lFMF9JT19QSFlTX0JBU0UpCisJCQkJCSsgTE9LSV9QQ0lFMF9JT19WSVJUX0JBU0UpOworfQorCisjZGVmaW5lIF9faW8oYSkJCQlfX2lvKGEpCisjZGVmaW5lIF9fbWVtX3BjaShhKQkJKGEpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaXJxcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNDk3MTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lycXMuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pcnFzLmgKKyAqCisgKiBJUlEgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSVJRU19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSVJRU19ICisKKyNpbmNsdWRlICJsb2tpLmgiCS8qIG5lZWQgR1BJT19NQVggKi8KKworLyoKKyAqIEludGVycnVwdCBDb250cm9sbGVyCisgKi8KKyNkZWZpbmUgSVJRX0xPS0lfUENJRV9BX0NQVV9EUkJMCTAKKyNkZWZpbmUgSVJRX0xPS0lfQ1BVX1BDSUVfQV9EUkJMCTEKKyNkZWZpbmUgSVJRX0xPS0lfUENJRV9CX0NQVV9EUkJMCTIKKyNkZWZpbmUgSVJRX0xPS0lfQ1BVX1BDSUVfQl9EUkJMCTMKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0FfRVJSCQk2CisjZGVmaW5lIElSUV9MT0tJX0NPTV9BX0lOCQk3CisjZGVmaW5lIElSUV9MT0tJX0NPTV9BX09VVAkJOAorI2RlZmluZSBJUlFfTE9LSV9DT01fQl9FUlIJCTkKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0JfSU4JCTEwCisjZGVmaW5lIElSUV9MT0tJX0NPTV9CX09VVAkJMTEKKyNkZWZpbmUgSVJRX0xPS0lfRE1BX0EJCQkxMgorI2RlZmluZSBJUlFfTE9LSV9ETUFfQgkJCTEzCisjZGVmaW5lIElSUV9MT0tJX1NBU19BCQkJMTQKKyNkZWZpbmUgSVJRX0xPS0lfU0FTX0IJCQkxNQorI2RlZmluZSBJUlFfTE9LSV9ERFIJCQkxNgorI2RlZmluZSBJUlFfTE9LSV9YT1IJCQkxNworI2RlZmluZSBJUlFfTE9LSV9CUklER0UJCQkxOAorI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0FfRVJSCQkyMAorI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0FfSU5UCQkyMQorI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0JfRVJSCQkyMgorI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0JfSU5UCQkyMworI2RlZmluZSBJUlFfTE9LSV9HQkVfQV9JTlQJCTI0CisjZGVmaW5lIElSUV9MT0tJX0dCRV9CX0lOVAkJMjUKKyNkZWZpbmUgSVJRX0xPS0lfREVWX0VSUgkJMjYKKyNkZWZpbmUgSVJRX0xPS0lfVUFSVDAJCQkyNworI2RlZmluZSBJUlFfTE9LSV9VQVJUMQkJCTI4CisjZGVmaW5lIElSUV9MT0tJX1RXU0kJCQkyOQorI2RlZmluZSBJUlFfTE9LSV9HUElPXzIzXzAJCTMwCisjZGVmaW5lIElSUV9MT0tJX0dQSU9fMjVfMjQJCTMxCisKKy8qCisgKiBMb2tpIEdlbmVyYWwgUHVycG9zZSBQaW5zCisgKi8KKyNkZWZpbmUgSVJRX0xPS0lfR1BJT19TVEFSVAkzMgorI2RlZmluZSBOUl9HUElPX0lSUVMJCUdQSU9fTUFYCisKKyNkZWZpbmUgTlJfSVJRUwkJCShJUlFfTE9LSV9HUElPX1NUQVJUICsgTlJfR1BJT19JUlFTKQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9sb2tpLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2xva2kuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGQwNWVlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9sb2tpLmgKQEAgLTAsMCArMSw5NyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbG9raS5oCisgKgorICogR2VuZXJpYyBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DIGZsYXZvcnMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTE9LSV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTE9LSV9ICisKKy8qCisgKiBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBhZGRyZXNzIG1hcHMuCisgKgorICogcGh5cworICogZDAwMDAwMDAJb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICogZTAwMDAwMDAJUENJZSAwIE1lbW9yeSBzcGFjZQorICogZTgwMDAwMDAJUENJZSAxIE1lbW9yeSBzcGFjZQorICogZjAwMDAwMDAJUENJZSAwIEkvTyBzcGFjZQorICogZjAxMDAwMDAJUENJZSAxIEkvTyBzcGFjZQorICoKKyAqIHZpcnQJCXBoeXMJCXNpemUKKyAqIGZlZDAwMDAwCWQwMDAwMDAwCTFNCW9uLWNoaXAgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqIGZlZTAwMDAwCWYwMDAwMDAwCTY0SwlQQ0llIDAgSS9PIHNwYWNlCisgKiBmZWYwMDAwMAlmMDEwMDAwMAk2NEsJUENJZSAxIEkvTyBzcGFjZQorICovCisKKyNkZWZpbmUgTE9LSV9SRUdTX1BIWVNfQkFTRQkJMHhkMDAwMDAwMAorI2RlZmluZSBMT0tJX1JFR1NfVklSVF9CQVNFCQkweGZlZDAwMDAwCisjZGVmaW5lIExPS0lfUkVHU19TSVpFCQkJU1pfMU0KKworI2RlZmluZSBMT0tJX1BDSUUwX0lPX1BIWVNfQkFTRQkJMHhmMDAwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUwX0lPX1ZJUlRfQkFTRQkJMHhmZWUwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUwX0lPX0JVU19CQVNFCQkweDAwMDAwMDAwCisjZGVmaW5lIExPS0lfUENJRTBfSU9fU0laRQkJU1pfNjRLCisKKyNkZWZpbmUgTE9LSV9QQ0lFMV9JT19QSFlTX0JBU0UJCTB4ZjAxMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMV9JT19WSVJUX0JBU0UJCTB4ZmVmMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMV9JT19CVVNfQkFTRQkJMHgwMDAwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUxX0lPX1NJWkUJCVNaXzY0SworCisjZGVmaW5lIExPS0lfUENJRTBfTUVNX1BIWVNfQkFTRQkweGUwMDAwMDAwCisjZGVmaW5lIExPS0lfUENJRTBfTUVNX1NJWkUJCVNaXzEyOE0KKworI2RlZmluZSBMT0tJX1BDSUUxX01FTV9QSFlTX0JBU0UJMHhlODAwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUxX01FTV9TSVpFCQlTWl8xMjhNCisKKy8qCisgKiBSZWdpc3RlciBNYXAKKyAqLworI2RlZmluZSBERVZfQlVTX1BIWVNfQkFTRQkoTE9LSV9SRUdTX1BIWVNfQkFTRSB8IDB4MTAwMDApCisjZGVmaW5lIERFVl9CVVNfVklSVF9CQVNFCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgIFVBUlQwX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIwMDApCisjZGVmaW5lICBVQVJUMF9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDFfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjEwMCkKKyNkZWZpbmUgIFVBUlQxX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIxMDApCisKKyNkZWZpbmUgQlJJREdFX1ZJUlRfQkFTRQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4MjAwMDApCisjZGVmaW5lICBCUklER0VfUkVHKHgpCQkoQlJJREdFX1ZJUlRfQkFTRSB8ICh4KSkKKyNkZWZpbmUgIFJTVE9VVG5fTUFTSwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMDgpCisjZGVmaW5lICAgU09GVF9SRVNFVF9PVVRfRU4JMHgwMDAwMDAwNAorI2RlZmluZSAgU1lTVEVNX1NPRlRfUkVTRVQJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMGMpCisjZGVmaW5lICAgU09GVF9SRVNFVAkJMHgwMDAwMDAwMQorI2RlZmluZSAgQlJJREdFX0NBVVNFCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDExMCkKKyNkZWZpbmUgIEJSSURHRV9NQVNLCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDExNCkKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMAkweDAwMDIKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMQkweDAwMDQKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMV9DTFIJMHgwMDA0CisjZGVmaW5lICBJUlFfVklSVF9CQVNFCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDIwMCkKKyNkZWZpbmUgICBJUlFfQ0FVU0VfT0ZGCQkweDAwMDAKKyNkZWZpbmUgICBJUlFfTUFTS19PRkYJCTB4MDAwNAorI2RlZmluZSAgVElNRVJfVklSVF9CQVNFCShCUklER0VfVklSVF9CQVNFIHwgMHgwMzAwKQorCisjZGVmaW5lIFBDSUUwX1ZJUlRfQkFTRQkJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweDMwMDAwKQorCisjZGVmaW5lIFBDSUUxX1ZJUlRfQkFTRQkJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweDQwMDAwKQorCisjZGVmaW5lIFNBUzBfUEhZU19CQVNFCQkoTE9LSV9SRUdTX1BIWVNfQkFTRSB8IDB4ODAwMDApCisKKyNkZWZpbmUgU0FTMV9QSFlTX0JBU0UJCShMT0tJX1JFR1NfUEhZU19CQVNFIHwgMHg5MDAwMCkKKworI2RlZmluZSBHRTBfUEhZU19CQVNFCQkoTE9LSV9SRUdTX1BIWVNfQkFTRSB8IDB4YTAwMDApCisjZGVmaW5lIEdFMF9WSVJUX0JBU0UJCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHhhMDAwMCkKKworI2RlZmluZSBHRTFfUEhZU19CQVNFCQkoTE9LSV9SRUdTX1BIWVNfQkFTRSB8IDB4YjAwMDApCisjZGVmaW5lIEdFMV9WSVJUX0JBU0UJCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHhiMDAwMCkKKworI2RlZmluZSBERFJfVklSVF9CQVNFCQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4ZjAwMDApCisjZGVmaW5lIEREUl9SRUcoeCkJCShERFJfVklSVF9CQVNFIHwgKHgpKQorCisKKyNkZWZpbmUgR1BJT19NQVgJCTgKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbWVtb3J5LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL21lbW9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzNTEwMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL21lbW9yeS5oCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL21lbW9yeS5oCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01FTU9SWV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTUVNT1JZX0gKKworI2RlZmluZSBQSFlTX09GRlNFVAkJVUwoMHgwMDAwMDAwMCkKKworI2RlZmluZSBfX3ZpcnRfdG9fYnVzKHgpCV9fdmlydF90b19waHlzKHgpCisjZGVmaW5lIF9fYnVzX3RvX3ZpcnQoeCkJX19waHlzX3RvX3ZpcnQoeCkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvc3lzdGVtLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3N5c3RlbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNTY4YWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3N5c3RlbS5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3N5c3RlbS5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX1NZU1RFTV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKworI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbG9raS5oPgorCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9pZGxlKHZvaWQpCit7CisJY3B1X2RvX2lkbGUoKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfcmVzZXQoY2hhciBtb2RlKQoreworCS8qCisJICogRW5hYmxlIHNvZnQgcmVzZXQgdG8gYXNzZXJ0IFJTVE9VVG4uCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVRfT1VUX0VOLCBSU1RPVVRuX01BU0spOworCisJLyoKKwkgKiBBc3NlcnQgc29mdCByZXNldC4KKwkgKi8KKwl3cml0ZWwoU09GVF9SRVNFVCwgU1lTVEVNX1NPRlRfUkVTRVQpOworCisJd2hpbGUgKDEpCisJCTsKK30KKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdGltZXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdGltZXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDAwMTRmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS90aW1leC5oCkBAIC0wLDAgKzEsMTEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3RpbWV4LmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKDEwMCAqIEhaKQorCisjZGVmaW5lIExPS0lfVENMSwkJMTgwMDAwMDAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3VuY29tcHJlc3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdW5jb21wcmVzcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5YTBjZjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3VuY29tcHJlc3MuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS91bmNvbXByZXNzLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2xva2kuaD4KKworI2RlZmluZSBTRVJJQUxfQkFTRQkoKHVuc2lnbmVkIGNoYXIgKilVQVJUMF9QSFlTX0JBU0UpCisKK3N0YXRpYyB2b2lkIHB1dGMoY29uc3QgY2hhciBjKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIFVBUlRfTFNSX1RIUkUpCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KKworCWJhc2VbVUFSVF9UWCA8PCAyXSA9IGM7Cit9CisKK3N0YXRpYyB2b2lkIGZsdXNoKHZvaWQpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCXVuc2lnbmVkIGNoYXIgbWFzazsKKwlpbnQgaTsKKworCW1hc2sgPSBVQVJUX0xTUl9URU1UIHwgVUFSVF9MU1JfVEhSRTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBtYXNrKSA9PSBtYXNrKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9Cit9CisKKy8qCisgKiBub3RoaW5nIHRvIGRvCisgKi8KKyNkZWZpbmUgYXJjaF9kZWNvbXBfc2V0dXAoKQorI2RlZmluZSBhcmNoX2RlY29tcF93ZG9nKCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdm1hbGxvYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS92bWFsbG9jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjViZTA2MgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdm1hbGxvYy5oCkBAIC0wLDAgKzEsNSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdm1hbGxvYy5oCisgKi8KKworI2RlZmluZSBWTUFMTE9DX0VORAkweGZlODAwMDAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL2lycXMuaAppbmRleCA1NjU0MzBjLi5lNjJhMTA4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vaXJxcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS9pcnFzLmgKQEAgLTE1LDYgKzE1LDcgQEAKICAqLwogCiAjaWZuZGVmIF9fQVNNX0FSQ0hfTVNNX0lSUVNfSAorI2RlZmluZSBfX0FTTV9BUkNIX01TTV9JUlFTX0gKIAogLyogTVNNIEFSTTExIEludGVycnVwdCBOdW1iZXJzICovCiAvKiBTZWUgODAtVkUxMTMtMSBBLCBwcDIxOS0yMjEgICAgICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vdGltZXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS90aW1leC5oCmluZGV4IDE1NGIyM2YuLjg3MjQ0ODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS90aW1leC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS90aW1leC5oCkBAIC0xNCw2ICsxNCw3IEBACiAgKi8KIAogI2lmbmRlZiBfX0FTTV9BUkNIX01TTV9USU1FWF9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTVNNX1RJTUVYX0gKIAogI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCTEwMDAwMDAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kZWJ1Zy1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kZWJ1Zy1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNTk1YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RlYnVnLW1hY3JvLlMKQEAgLTAsMCArMSwyMCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZGVidWctbWFjcm8uUworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8YXNtL2FyY2gvbXY3OHh4MC5oPgorCisJLm1hY3JvCWFkZHJ1YXJ0LHJ4CisJbXJjCXAxNSwgMCwgXHJ4LCBjMSwgYzAKKwl0c3QJXHJ4LCAjMQkJCQkJQCBNTVUgZW5hYmxlZD8KKwlsZHJlcQlccngsID1NVjc4WFgwX1JFR1NfUEhZU19CQVNFCisJbGRybmUJXHJ4LCA9TVY3OFhYMF9SRUdTX1ZJUlRfQkFTRQorCW9ycglccngsIFxyeCwgIzB4MDAwMTIwMDAKKwkuZW5kbQorCisjZGVmaW5lIFVBUlRfU0hJRlQJMgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9kZWJ1Zy04MjUwLlM+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kbWEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGE4YzE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kbWEuaApAQCAtMCwwICsxIEBACisvKiBlbXB0eSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9lbnRyeS1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9lbnRyeS1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5YTYwNmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2VudHJ5LW1hY3JvLlMKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZW50cnktbWFjcm8uUworICoKKyAqIExvdy1sZXZlbCBJUlEgaGVscGVyIG1hY3JvcyBmb3IgTWFydmVsbCBNVjc4eHgwIHBsYXRmb3JtcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisKKwkubWFjcm8gIGRpc2FibGVfZmlxCisJLmVuZG0KKworCS5tYWNybyAgYXJjaF9yZXRfdG9fdXNlciwgdG1wMSwgdG1wMgorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9wcmVhbWJsZSwgYmFzZSwgdG1wCisJbGRyCVxiYXNlLCA9SVJRX1ZJUlRfQkFTRQorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9hbmRfYmFzZSwgaXJxbnIsIGlycXN0YXQsIGJhc2UsIHRtcAorCUAgY2hlY2sgbG93IGludGVycnVwdHMKKwlsZHIJXGlycXN0YXQsIFtcYmFzZSwgI0lSUV9DQVVTRV9MT1dfT0ZGXQorCWxkcglcdG1wLCBbXGJhc2UsICNJUlFfTUFTS19MT1dfT0ZGXQorCW1vdglcaXJxbnIsICMzMQorCWFuZHMJXGlycXN0YXQsIFxpcnFzdGF0LCBcdG1wCisKKwlAIGlmIG5vIGxvdyBpbnRlcnJ1cHRzIHNldCwgY2hlY2sgaGlnaCBpbnRlcnJ1cHRzCisJbGRyZXEJXGlycXN0YXQsIFtcYmFzZSwgI0lSUV9DQVVTRV9ISUdIX09GRl0KKwlsZHJlcQlcdG1wLCBbXGJhc2UsICNJUlFfTUFTS19ISUdIX09GRl0KKwltb3ZlcQlcaXJxbnIsICM2MworCWFuZGVxcwlcaXJxc3RhdCwgXGlycXN0YXQsIFx0bXAKKworCUAgZmluZCBmaXJzdCBhY3RpdmUgaW50ZXJydXB0IHNvdXJjZQorCWNsem5lCVxpcnFzdGF0LCBcaXJxc3RhdAorCXN1Ym5lCVxpcnFuciwgXGlycW5yLCBcaXJxc3RhdAorCS5lbmRtCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2hhcmR3YXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGUxNzkyNgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaGFyZHdhcmUuaApAQCAtMCwwICsxLDIxIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9oYXJkd2FyZS5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKyNkZWZpbmUgX19BU01fQVJDSF9IQVJEV0FSRV9ICisKKyNpbmNsdWRlICJtdjc4eHgwLmgiCisKKyNkZWZpbmUgcGNpYmlvc19hc3NpZ25fYWxsX2J1c3NlcygpCTEKKworI2RlZmluZSBQQ0lCSU9TX01JTl9JTwkJCTB4MDAwMDEwMDAKKyNkZWZpbmUgUENJQklPU19NSU5fTUVNCQkJMHgwMTAwMDAwMAorI2RlZmluZSBQQ0lNRU1fQkFTRQkJCU1WNzhYWDBfUENJRV9NRU1fUEhZU19CQVNFIC8qIG1lbSBiYXNlIGZvciBWR0EgKi8KKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTVkNGM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pby5oCkBAIC0wLDAgKzEsMjYgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lvLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSU9fSAorI2RlZmluZSBfX0FTTV9BUkNIX0lPX0gKKworI2luY2x1ZGUgIm12Nzh4eDAuaCIKKworI2RlZmluZSBJT19TUEFDRV9MSU1JVAkJMHhmZmZmZmZmZgorCitzdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqX19pbyh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJcmV0dXJuICh2b2lkIF9faW9tZW0gKikoKGFkZHIgLSBNVjc4WFgwX1BDSUVfSU9fUEhZU19CQVNFKDApKQorCQkJCQkrIE1WNzhYWDBfUENJRV9JT19WSVJUX0JBU0UoMCkpOworfQorCisjZGVmaW5lIF9faW8oYSkJCQlfX2lvKGEpCisjZGVmaW5lIF9fbWVtX3BjaShhKQkJKGEpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaXJxcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1OTMwNDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lycXMuaApAQCAtMCwwICsxLDkxIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pcnFzLmgKKyAqCisgKiBJUlEgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgTVY3OHh4MCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0lSUVNfSAorI2RlZmluZSBfX0FTTV9BUkNIX0lSUVNfSAorCisjaW5jbHVkZSAibXY3OHh4MC5oIgkvKiBuZWVkIEdQSU9fTUFYICovCisKKy8qCisgKiBNVjc4eHgwIExvdyBJbnRlcnJ1cHQgQ29udHJvbGxlcgorICovCisjZGVmaW5lIElSUV9NVjc4WFgwX0VSUgkJMAorI2RlZmluZSBJUlFfTVY3OFhYMF9TUEkJCTEKKyNkZWZpbmUgSVJRX01WNzhYWDBfSTJDXzAJMgorI2RlZmluZSBJUlFfTVY3OFhYMF9JMkNfMQkzCisjZGVmaW5lIElSUV9NVjc4WFgwX0lETUFfMAk0CisjZGVmaW5lIElSUV9NVjc4WFgwX0lETUFfMQk1CisjZGVmaW5lIElSUV9NVjc4WFgwX0lETUFfMgk2CisjZGVmaW5lIElSUV9NVjc4WFgwX0lETUFfMwk3CisjZGVmaW5lIElSUV9NVjc4WFgwX1RJTUVSXzAJOAorI2RlZmluZSBJUlFfTVY3OFhYMF9USU1FUl8xCTkKKyNkZWZpbmUgSVJRX01WNzhYWDBfVElNRVJfMgkxMAorI2RlZmluZSBJUlFfTVY3OFhYMF9USU1FUl8zCTExCisjZGVmaW5lIElSUV9NVjc4WFgwX1VBUlRfMAkxMgorI2RlZmluZSBJUlFfTVY3OFhYMF9VQVJUXzEJMTMKKyNkZWZpbmUgSVJRX01WNzhYWDBfVUFSVF8yCTE0CisjZGVmaW5lIElSUV9NVjc4WFgwX1VBUlRfMwkxNQorI2RlZmluZSBJUlFfTVY3OFhYMF9VU0JfMAkxNgorI2RlZmluZSBJUlFfTVY3OFhYMF9VU0JfMQkxNworI2RlZmluZSBJUlFfTVY3OFhYMF9VU0JfMgkxOAorI2RlZmluZSBJUlFfTVY3OFhYMF9DUllQVE8JMTkKKyNkZWZpbmUgSVJRX01WNzhYWDBfU0RJT18wCTIwCisjZGVmaW5lIElSUV9NVjc4WFgwX1NESU9fMQkyMQorI2RlZmluZSBJUlFfTVY3OFhYMF9YT1JfMAkyMgorI2RlZmluZSBJUlFfTVY3OFhYMF9YT1JfMQkyMworI2RlZmluZSBJUlFfTVY3OFhYMF9JMlNfMAkyNAorI2RlZmluZSBJUlFfTVY3OFhYMF9JMlNfMQkyNQorI2RlZmluZSBJUlFfTVY3OFhYMF9TQVRBCTI2CisjZGVmaW5lIElSUV9NVjc4WFgwX1RETUkJMjcKKworLyoKKyAqIE1WNzh4eDAgSGlnaCBJbnRlcnJ1cHQgQ29udHJvbGxlcgorICovCisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMDAJMzIKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8wMQkzMworI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzAyCTM0CisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMDMJMzUKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8xMAkzNgorI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzExCTM3CisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMTIJMzgKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8xMwkzOQorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAwX1NVTQk0MAorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAwX1JYCTQxCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDBfVFgJNDIKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMF9NSVNDCTQzCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDFfU1VNCTQ0CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDFfUlgJNDUKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMV9UWAk0NgorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAxX01JU0MJNDcKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMF9TVU0JNDgKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMF9SWAk0OQorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTEwX1RYCTUwCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTBfTUlTQwk1MQorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTExX1NVTQk1MgorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTExX1JYCTUzCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTFfVFgJNTQKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMV9NSVNDCTU1CisjZGVmaW5lIElSUV9NVjc4WFgwX0dQSU9fMF83CTU2CisjZGVmaW5lIElSUV9NVjc4WFgwX0dQSU9fOF8xNQk1NworI2RlZmluZSBJUlFfTVY3OFhYMF9HUElPXzE2XzIzCTU4CisjZGVmaW5lIElSUV9NVjc4WFgwX0dQSU9fMjRfMzEJNTkKKyNkZWZpbmUgSVJRX01WNzhYWDBfREJfSU4JNjAKKyNkZWZpbmUgSVJRX01WNzhYWDBfREJfT1VUCTYxCisKKy8qCisgKiBNVjc4WFgwIEdlbmVyYWwgUHVycG9zZSBQaW5zCisgKi8KKyNkZWZpbmUgSVJRX01WNzhYWDBfR1BJT19TVEFSVAk2NAorI2RlZmluZSBOUl9HUElPX0lSUVMJCUdQSU9fTUFYCisKKyNkZWZpbmUgTlJfSVJRUwkJCShJUlFfTVY3OFhYMF9HUElPX1NUQVJUICsgTlJfR1BJT19JUlFTKQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tZW1vcnkuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbWVtb3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzIxYTZiMQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbWVtb3J5LmgKQEAgLTAsMCArMSwxNCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbWVtb3J5LmgKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTUVNT1JZX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NRU1PUllfSAorCisjZGVmaW5lIFBIWVNfT0ZGU0VUCQlVTCgweDAwMDAwMDAwKQorCisjZGVmaW5lIF9fdmlydF90b19idXMoeCkJX192aXJ0X3RvX3BoeXMoeCkKKyNkZWZpbmUgX19idXNfdG9fdmlydCh4KQlfX3BoeXNfdG9fdmlydCh4KQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tdjc4eHgwLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL212Nzh4eDAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjVkODNjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tdjc4eHgwLmgKQEAgLTAsMCArMSwxMjYgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL212Nzh4eDAuaAorICoKKyAqIEdlbmVyaWMgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgTVY3OHh4MCBTb0MgZmxhdm9yczoKKyAqICBNVjc4MXgwIGFuZCBNVjc4MngwLgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NVjc4WFgwX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NVjc4WFgwX0gKKworLyoKKyAqIE1hcnZlbGwgTVY3OHh4MCBhZGRyZXNzIG1hcHMuCisgKgorICogcGh5cworICogYzAwMDAwMDAJUENJZSBNZW1vcnkgc3BhY2UKKyAqIGYwODAwMDAwCVBDSWUgIzAgSS9PIHNwYWNlCisgKiBmMDkwMDAwMAlQQ0llICMxIEkvTyBzcGFjZQorICogZjBhMDAwMDAJUENJZSAjMiBJL08gc3BhY2UKKyAqIGYwYjAwMDAwCVBDSWUgIzMgSS9PIHNwYWNlCisgKiBmMGMwMDAwMAlQQ0llICM0IEkvTyBzcGFjZQorICogZjBkMDAwMDAJUENJZSAjNSBJL08gc3BhY2UKKyAqIGYwZTAwMDAwCVBDSWUgIzYgSS9PIHNwYWNlCisgKiBmMGYwMDAwMAlQQ0llICM3IEkvTyBzcGFjZQorICogZjEwMDAwMDAJb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICoKKyAqIHZpcnQJCXBoeXMJCXNpemUKKyAqIGZlNDAwMDAwCWYxMDJ4MDAwCTE2Swljb3JlLXNwZWNpZmljIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKiBmZTcwMDAwMAlmMDgwMDAwMAkxTQlQQ0llICMwIEkvTyBzcGFjZQorICogZmU4MDAwMDAJZjA5MDAwMDAJMU0JUENJZSAjMSBJL08gc3BhY2UKKyAqIGZlOTAwMDAwCWYwYTAwMDAwCTFNCVBDSWUgIzIgSS9PIHNwYWNlCisgKiBmZWEwMDAwMAlmMGIwMDAwMAkxTQlQQ0llICMzIEkvTyBzcGFjZQorICogZmViMDAwMDAJZjBjMDAwMDAJMU0JUENJZSAjNCBJL08gc3BhY2UKKyAqIGZlYzAwMDAwCWYwZDAwMDAwCTFNCVBDSWUgIzUgSS9PIHNwYWNlCisgKiBmZWQwMDAwMAlmMGUwMDAwMAkxTQlQQ0llICM2IEkvTyBzcGFjZQorICogZmVlMDAwMDAJZjBmMDAwMDAJMU0JUENJZSAjNyBJL08gc3BhY2UKKyAqIGZlZjAwMDAwCWYxMDAwMDAwCTFNCW9uLWNoaXAgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqLworI2RlZmluZSBNVjc4WFgwX0NPUkUwX1JFR1NfUEhZU19CQVNFCTB4ZjEwMjAwMDAKKyNkZWZpbmUgTVY3OFhYMF9DT1JFMV9SRUdTX1BIWVNfQkFTRQkweGYxMDI0MDAwCisjZGVmaW5lIE1WNzhYWDBfQ09SRV9SRUdTX1ZJUlRfQkFTRQkweGZlNDAwMDAwCisjZGVmaW5lIE1WNzhYWDBfQ09SRV9SRUdTX1NJWkUJCVNaXzE2SworCisjZGVmaW5lIE1WNzhYWDBfUENJRV9JT19QSFlTX0JBU0UoaSkJKDB4ZjA4MDAwMDAgKyAoKGkpIDw8IDIwKSkKKyNkZWZpbmUgTVY3OFhYMF9QQ0lFX0lPX1ZJUlRfQkFTRShpKQkoMHhmZTcwMDAwMCArICgoaSkgPDwgMjApKQorI2RlZmluZSBNVjc4WFgwX1BDSUVfSU9fU0laRQkJU1pfMU0KKworI2RlZmluZSBNVjc4WFgwX1JFR1NfUEhZU19CQVNFCQkweGYxMDAwMDAwCisjZGVmaW5lIE1WNzhYWDBfUkVHU19WSVJUX0JBU0UJCTB4ZmVmMDAwMDAKKyNkZWZpbmUgTVY3OFhYMF9SRUdTX1NJWkUJCVNaXzFNCisKKyNkZWZpbmUgTVY3OFhYMF9QQ0lFX01FTV9QSFlTX0JBU0UJMHhjMDAwMDAwMAorI2RlZmluZSBNVjc4WFgwX1BDSUVfTUVNX1NJWkUJCTB4MzAwMDAwMDAKKworLyoKKyAqIENvcmUtc3BlY2lmaWMgcGVyaXBoZXJhbCByZWdpc3RlcnMuCisgKi8KKyNkZWZpbmUgQlJJREdFX1ZJUlRfQkFTRQkoTVY3OFhYMF9DT1JFX1JFR1NfVklSVF9CQVNFKQorI2RlZmluZSAgQ1BVX0NPTlRST0wJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTA0KQorI2RlZmluZSAgIEwyX1dSSVRFVEhST1VHSAkweDAwMDIwMDAwCisjZGVmaW5lICBSU1RPVVRuX01BU0sJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTA4KQorI2RlZmluZSAgIFNPRlRfUkVTRVRfT1VUX0VOCTB4MDAwMDAwMDQKKyNkZWZpbmUgIFNZU1RFTV9TT0ZUX1JFU0VUCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTBjKQorI2RlZmluZSAgIFNPRlRfUkVTRVQJCTB4MDAwMDAwMDEKKyNkZWZpbmUgIEJSSURHRV9DQVVTRQkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMTApCisjZGVmaW5lICBCUklER0VfTUFTSwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMTQpCisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjAJMHgwMDAyCisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjEJMHgwMDA0CisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjFfQ0xSCSh+MHgwMDA0KQorI2RlZmluZSAgSVJRX1ZJUlRfQkFTRQkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAyMDApCisjZGVmaW5lICAgSVJRX0NBVVNFX0xPV19PRkYJMHgwMDA0CisjZGVmaW5lICAgSVJRX0NBVVNFX0hJR0hfT0ZGCTB4MDAwOAorI2RlZmluZSAgIElSUV9NQVNLX0xPV19PRkYJMHgwMDEwCisjZGVmaW5lICAgSVJRX01BU0tfSElHSF9PRkYJMHgwMDE0CisjZGVmaW5lICBUSU1FUl9WSVJUX0JBU0UJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAzMDApCisKKy8qCisgKiBSZWdpc3RlciBNYXAKKyAqLworI2RlZmluZSBERFJfVklSVF9CQVNFCQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4MDAwMDApCisjZGVmaW5lICBERFJfV0lORE9XX0NQVTBfQkFTRQkoRERSX1ZJUlRfQkFTRSB8IDB4MTUwMCkKKyNkZWZpbmUgIEREUl9XSU5ET1dfQ1BVMV9CQVNFCShERFJfVklSVF9CQVNFIHwgMHgxNzAwKQorCisjZGVmaW5lIERFVl9CVVNfUEhZU19CQVNFCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgREVWX0JVU19WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDEwMDAwKQorI2RlZmluZSAgU0FNUExFX0FUX1JFU0VUX0xPVwkoREVWX0JVU19WSVJUX0JBU0UgfCAweDAwMzApCisjZGVmaW5lICBTQU1QTEVfQVRfUkVTRVRfSElHSAkoREVWX0JVU19WSVJUX0JBU0UgfCAweDAwMzQpCisjZGVmaW5lICBVQVJUMF9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDBfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjAwMCkKKyNkZWZpbmUgIFVBUlQxX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIxMDApCisjZGVmaW5lICBVQVJUMV9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMTAwKQorI2RlZmluZSAgVUFSVDJfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjIwMCkKKyNkZWZpbmUgIFVBUlQyX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIyMDApCisjZGVmaW5lICBVQVJUM19QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMzAwKQorI2RlZmluZSAgVUFSVDNfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjMwMCkKKworI2RlZmluZSBHRTEwX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDMwMDAwKQorI2RlZmluZSBHRTExX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDM0MDAwKQorCisjZGVmaW5lIFBDSUUwMF9WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDQwMDAwKQorI2RlZmluZSBQQ0lFMDFfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg0NDAwMCkKKyNkZWZpbmUgUENJRTAyX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4NDgwMDApCisjZGVmaW5lIFBDSUUwM19WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDRjMDAwKQorCisjZGVmaW5lIFVTQjBfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4NTAwMDApCisjZGVmaW5lIFVTQjFfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4NTEwMDApCisjZGVmaW5lIFVTQjJfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4NTIwMDApCisKKyNkZWZpbmUgR0UwMF9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHg3MDAwMCkKKyNkZWZpbmUgR0UwMV9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHg3NDAwMCkKKworI2RlZmluZSBQQ0lFMTBfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg4MDAwMCkKKyNkZWZpbmUgUENJRTExX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4ODQwMDApCisjZGVmaW5lIFBDSUUxMl9WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDg4MDAwKQorI2RlZmluZSBQQ0lFMTNfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg4YzAwMCkKKworI2RlZmluZSBTQVRBX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweGEwMDAwKQorCisKKyNkZWZpbmUgR1BJT19NQVgJCTMyCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3N5c3RlbS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9zeXN0ZW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWI0N2QzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9zeXN0ZW0uaApAQCAtMCwwICsxLDM3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9zeXN0ZW0uaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9TWVNURU1fSAorI2RlZmluZSBfX0FTTV9BUkNIX1NZU1RFTV9ICisKKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL212Nzh4eDAuaD4KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfaWRsZSh2b2lkKQoreworCWNwdV9kb19pZGxlKCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX3Jlc2V0KGNoYXIgbW9kZSkKK3sKKwkvKgorCSAqIEVuYWJsZSBzb2Z0IHJlc2V0IHRvIGFzc2VydCBSU1RPVVRuLgorCSAqLworCXdyaXRlbChTT0ZUX1JFU0VUX09VVF9FTiwgUlNUT1VUbl9NQVNLKTsKKworCS8qCisJICogQXNzZXJ0IHNvZnQgcmVzZXQuCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVQsIFNZU1RFTV9TT0ZUX1JFU0VUKTsKKworCXdoaWxlICgxKQorCQk7Cit9CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3RpbWV4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3RpbWV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg1NGIxYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdGltZXguaApAQCAtMCwwICsxLDkgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3RpbWV4LmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKDEwMCAqIEhaKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC91bmNvbXByZXNzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3VuY29tcHJlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmZlMGEyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC91bmNvbXByZXNzLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdW5jb21wcmVzcy5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisKKyNkZWZpbmUgU0VSSUFMX0JBU0UJKCh1bnNpZ25lZCBjaGFyICopVUFSVDBfUEhZU19CQVNFKQorCitzdGF0aWMgdm9pZCBwdXRjKGNvbnN0IGNoYXIgYykKK3sKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBVQVJUX0xTUl9USFJFKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9CisKKwliYXNlW1VBUlRfVFggPDwgMl0gPSBjOworfQorCitzdGF0aWMgdm9pZCBmbHVzaCh2b2lkKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwl1bnNpZ25lZCBjaGFyIG1hc2s7CisJaW50IGk7CisKKwltYXNrID0gVUFSVF9MU1JfVEVNVCB8IFVBUlRfTFNSX1RIUkU7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKChiYXNlW1VBUlRfTFNSIDw8IDJdICYgbWFzaykgPT0gbWFzaykKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQorfQorCisvKgorICogbm90aGluZyB0byBkbworICovCisjZGVmaW5lIGFyY2hfZGVjb21wX3NldHVwKCkKKyNkZWZpbmUgYXJjaF9kZWNvbXBfd2RvZygpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3ZtYWxsb2MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdm1hbGxvYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyYzUxMjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3ZtYWxsb2MuaApAQCAtMCwwICsxLDUgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3ZtYWxsb2MuaAorICovCisKKyNkZWZpbmUgVk1BTExPQ19FTkQJMHhmZTAwMDAwMApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MjdhZHMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDI3YWRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFlNjZkYQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDI3YWRzLmgKQEAgLTAsMCArMSwzNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNS0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKi8KKworLyoKKyAqIFRoZSBjb2RlIGNvbnRhaW5lZCBoZXJlaW4gaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogVmVyc2lvbiAyIG9yIGxhdGVyIGF0IHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgorICoKKyAqIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvZ3BsLWxpY2Vuc2UuaHRtbAorICogaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC5odG1sCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDI3QURTX0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDI3QURTX0hfXworCisvKiBleHRlcm5hbCBpbnRlcnJ1cHQgbXVsdGlwbGV4ZXIgKi8KKyNkZWZpbmUgTVhDX0VYUF9JT19CQVNFCQkoTVhDX0dQSU9fQkFTRSArIE1YQ19NQVhfR1BJT19MSU5FUykKKworI2RlZmluZSBNWENfVklSVFVBTF9JTlRTX0JBU0UJKE1YQ19FWFBfSU9fQkFTRSArIE1YQ19NQVhfRVhQX0lPX0xJTkVTKQorI2RlZmluZSBNWENfU0RJTzFfQ0FSRF9JUlEJTVhDX1ZJUlRVQUxfSU5UU19CQVNFCisjZGVmaW5lIE1YQ19TRElPMl9DQVJEX0lSUQkoTVhDX1ZJUlRVQUxfSU5UU19CQVNFICsgMSkKKyNkZWZpbmUgTVhDX1NESU8zX0NBUkRfSVJRCShNWENfVklSVFVBTF9JTlRTX0JBU0UgKyAyKQorCisjZGVmaW5lIE1YQ19NQVhfQk9BUkRfSU5UUyAgICAgIChNWENfTUFYX0VYUF9JT19MSU5FUyArIFwKKwkJCQlNWENfTUFYX1ZJUlRVQUxfSU5UUykKKworLyoKKyAqIE1YQyBVQVJUIEVWQiBib2FyZCBsZXZlbCBjb25maWd1cmF0aW9ucworICovCisKKyNkZWZpbmUgTVhDX0xMX0VYVFVBUlRfUEFERFIJKENTNF9CQVNFX0FERFIgKyAweDIwMDAwKQorI2RlZmluZSBNWENfTExfRVhUVUFSVF9WQUREUgkoQ1M0X0JBU0VfQUREUl9WSVJUICsgMHgyMDAwMCkKKyNkZWZpbmUgTVhDX0xMX0VYVFVBUlRfMTZCSVRfQlVTCisKKyNkZWZpbmUgTVhDX0xMX1VBUlRfUEFERFIgICAgICAgVUFSVDFfQkFTRV9BRERSCisjZGVmaW5lIE1YQ19MTF9VQVJUX1ZBRERSICAgICAgIEFJUElfSU9fQUREUkVTUyhVQVJUMV9CQVNFX0FERFIpCisKKy8qCisgKiBAbmFtZSBNZW1vcnkgU2l6ZSBwYXJhbWV0ZXJzCisgKi8KKworLyoKKyAqIFNpemUgb2YgU0RSQU0gbWVtb3J5CisgKi8KKyNkZWZpbmUgU0RSQU1fTUVNX1NJWkUgICAgICAgICAgU1pfMTI4TQorCisvKgorICogUEJDIENvbnRyb2xsZXIgcGFyYW1ldGVycworICovCisKKy8qCisgKiBCYXNlIGFkZHJlc3Mgb2YgUEJDIGNvbnRyb2xsZXIsIENTNAorICovCisjZGVmaW5lIFBCQ19CQVNFX0FERFJFU1MgICAgICAgIDB4RUIwMDAwMDAKKyNkZWZpbmUgUEJDX1JFR19BRERSKG9mZnNldCkgICAgKFBCQ19CQVNFX0FERFJFU1MgKyAob2Zmc2V0KSkKKworLyoKKyAqIFBCQyBJbnRlcnVwdCBuYW1lIGRlZmluaXRpb25zCisgKi8KKyNkZWZpbmUgUEJDX0dQSU8xXzAgIDAKKyNkZWZpbmUgUEJDX0dQSU8xXzEgIDEKKyNkZWZpbmUgUEJDX0dQSU8xXzIgIDIKKyNkZWZpbmUgUEJDX0dQSU8xXzMgIDMKKyNkZWZpbmUgUEJDX0dQSU8xXzQgIDQKKyNkZWZpbmUgUEJDX0dQSU8xXzUgIDUKKworI2RlZmluZSBQQkNfSU5UUl9NQVhfTlVNIDYKKyNkZWZpbmUgUEJDX0lOVFJfU0hBUkVEX01BWF9OVU0gOAorCisvKiBXaGVuIHRoZSBQQkMgYWRkcmVzcyBjb25uZWN0aW9uIGlzIGZpeGVkIGluIGgvdywgZGVmaW5lZCBhcyAxICovCisjZGVmaW5lIFBCQ19BRERSX1NIICAgICAgICAgICAgIDAKKworLyogT2Zmc2V0cyBmb3IgdGhlIFBCQyBDb250cm9sbGVyIHJlZ2lzdGVyICovCisvKgorICogUEJDIEJvYXJkIHZlcnNpb24gcmVnaXN0ZXIgb2Zmc2V0CisgKi8KKyNkZWZpbmUgUEJDX1ZFUlNJT05fUkVHICAgICAgICAgUEJDX1JFR19BRERSKDB4MDAwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMSBzZXQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwxX1NFVF9SRUcgICAgICBQQkNfUkVHX0FERFIoMHgwMDAwOCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAxIGNsZWFyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9DTEVBUl9SRUcgICAgUEJDX1JFR19BRERSKDB4MDAwMEMgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMiBzZXQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwyX1NFVF9SRUcgICAgICBQQkNfUkVHX0FERFIoMHgwMDAxMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAyIGNsZWFyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMl9DTEVBUl9SRUcgICAgUEJDX1JFR19BRERSKDB4MDAwMTQgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMyBzZXQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwzX1NFVF9SRUcgICAgICBQQkNfUkVHX0FERFIoMHgwMDAxOCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAzIGNsZWFyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMM19DTEVBUl9SRUcgICAgUEJDX1JFR19BRERSKDB4MDAwMUMgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMyBzZXQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkw0X1NFVF9SRUcgICAgICBQQkNfUkVHX0FERFIoMHgwMDAyMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciA0IGNsZWFyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMNF9DTEVBUl9SRUcgICAgUEJDX1JFR19BRERSKDB4MDAwMjQgPj4gUEJDX0FERFJfU0gpCisvKlBCQ19BRERSX1NICisgKiBQQkMgQm9hcmQgc3RhdHVzIHJlZ2lzdGVyIDEuCisgKi8KKyNkZWZpbmUgUEJDX0JTVEFUMV9SRUcgICAgICAgICAgUEJDX1JFR19BRERSKDB4MDAwMjggPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIuCisgKi8KKyNkZWZpbmUgUEJDX0lOVFNUQVRVU19SRUcgICAgICAgUEJDX1JFR19BRERSKDB4MDAwMkMgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGludGVycnVwdCBjdXJyZW50IHN0YXR1cyByZWdpc3Rlci4KKyAqLworI2RlZmluZSBQQkNfSU5UQ1VSUl9TVEFUVVNfUkVHICBQQkNfUkVHX0FERFIoMHgwMDAzNCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgSW50ZXJydXB0IG1hc2sgcmVnaXN0ZXIgc2V0IGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0lOVE1BU0tfU0VUX1JFRyAgICAgUEJDX1JFR19BRERSKDB4MDAwMzggPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEludGVycnVwdCBtYXNrIHJlZ2lzdGVyIGNsZWFyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0lOVE1BU0tfQ0xFQVJfUkVHICAgUEJDX1JFR19BRERSKDB4MDAwM0MgPj4gUEJDX0FERFJfU0gpCisvKgorICogRXh0ZXJuYWwgVUFSVCBBLgorICovCisjZGVmaW5lIFBCQ19TQzE2QzY1Ml9VQVJUQV9SRUcgIFBCQ19SRUdfQUREUigweDIwMDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFVBUlQgNCBFeHBhbmRpbmcgU2lnbmFsIFN0YXR1cy4KKyAqLworI2RlZmluZSBQQkNfVUFSVF9TVEFUVVNfUkVHICAgICBQQkNfUkVHX0FERFIoMHgyMjAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBVQVJUIDQgRXhwYW5kaW5nIFNpZ25hbCBDb250cm9sIFNldC4KKyAqLworI2RlZmluZSBQQkNfVUNUUkxfU0VUX1JFRyAgICAgICBQQkNfUkVHX0FERFIoMHgyNDAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBVQVJUIDQgRXhwYW5kaW5nIFNpZ25hbCBDb250cm9sIENsZWFyLgorICovCisjZGVmaW5lIFBCQ19VQ1RSTF9DTFJfUkVHICAgICAgIFBCQ19SRUdfQUREUigweDI2MDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIEV0aGVybmV0IENvbnRyb2xsZXIgSU8gYmFzZSBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19DUzg5MDBBX0lPQkFTRV9SRUcgIFBCQ19SRUdfQUREUigweDQwMDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIEV0aGVybmV0IENvbnRyb2xsZXIgTWVtb3J5IGJhc2UgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQ1M4OTAwQV9NRU1CQVNFX1JFRyBQQkNfUkVHX0FERFIoMHg0MjAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBFdGhlcm5ldCBDb250cm9sbGVyIERNQSBiYXNlIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0NTODkwMEFfRE1BQkFTRV9SRUcgUEJDX1JFR19BRERSKDB4NDQwMDAgPj4gUEJDX0FERFJfU0gpCisKKy8qIFBCQyBCb2FyZCBWZXJzaW9uIFJlZ2lzdGVyIGJpdCBkZWZpbml0aW9uICovCisjZGVmaW5lIFBCQ19WRVJTSU9OX0FEUyAgICAgICAgIDB4ODAwMAkvKiBCaXQxNT0xIG1lYW5zIHZlcnNpb24gZm9yIGFkcyAqLworI2RlZmluZSBQQkNfVkVSU0lPTl9FVkJfUkVWQiAgICAweDQwMDAJLyogQklUMTQ9MSBtZWFucyB2ZXJzaW9uIGZvciBldmIgcmV2YiAqLworCisvKiBQQkMgQm9hcmQgQ29udHJvbCBSZWdpc3RlciAxIGJpdCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBQQkNfQkNUUkwxX0VSU1QgICAgICAgICAweDAwMDEJLyogRXRoZXJuZXQgUmVzZXQgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9VUlNUICAgICAgICAgMHgwMDAyCS8qIFJlc2V0IEV4dGVybmFsIFVBUlQgY29udHJvbGxlciAqLworI2RlZmluZSBQQkNfQkNUUkwxX0ZSU1QgICAgICAgICAweDAwMDQJLyogRkVDIFJlc2V0ICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfRVNMRUVQICAgICAgIDB4MDAxMAkvKiBFbmFibGUgZXRoZXJuZXQgU2xlZXAgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9MQ0RPTiAgICAgICAgMHgwODAwCS8qIEVuYWJsZSB0aGUgTENEICovCisKKy8qIFBCQyBCb2FyZCBDb250cm9sIFJlZ2lzdGVyIDIgYml0IGRlZmluaXRpb25zICovCisjZGVmaW5lIFBCQ19CQ1RSTDJfVkNDX0VOICAgICAgIDB4MDAwNAkvKiAgIEVuYWJsZSBWQ0MgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMl9WUFBfRU4gICAgICAgMHgwMDA4CS8qICAgRW5hYmxlIFZwcCAqLworI2RlZmluZSBQQkNfQkNUUkwyX0FUQUZFQ19FTiAgICAwWDAwMTAKKyNkZWZpbmUgUEJDX0JDVFJMMl9BVEFGRUNfU0VMICAgMFgwMDIwCisjZGVmaW5lIFBCQ19CQ1RSTDJfQVRBX0VOICAgICAgIDBYMDA0MAorI2RlZmluZSBQQkNfQkNUUkwyX0lSREFfU0QgICAgICAwWDAwODAKKyNkZWZpbmUgUEJDX0JDVFJMMl9JUkRBX0VOICAgICAgMFgwMTAwCisjZGVmaW5lIFBCQ19CQ1RSTDJfQ0NUTDEwICAgICAgIDBYMDIwMAorI2RlZmluZSBQQkNfQkNUUkwyX0NDVEwxMSAgICAgICAwWDA0MDAKKworLyogUEJDIEJvYXJkIENvbnRyb2wgUmVnaXN0ZXIgMyBiaXQgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgUEJDX0JDVFJMM19IU0hfRU4gICAgICAgMFgwMDIwCisjZGVmaW5lIFBCQ19CQ1RSTDNfRlNIX01PRCAgICAgIDBYMDA0MAorI2RlZmluZSBQQkNfQkNUUkwzX09UR19IU19FTiAgICAwWDAwODAKKyNkZWZpbmUgUEJDX0JDVFJMM19PVEdfVkJVU19FTiAgMFgwMTAwCisjZGVmaW5lIFBCQ19CQ1RSTDNfRlNIX1ZCVVNfRU4gIDBYMDIwMAorI2RlZmluZSBQQkNfQkNUUkwzX1VTQl9PVEdfT04gICAwWDA4MDAKKyNkZWZpbmUgUEJDX0JDVFJMM19VU0JfRlNIX09OICAgMFgxMDAwCisKKy8qIFBCQyBCb2FyZCBDb250cm9sIFJlZ2lzdGVyIDQgYml0IGRlZmluaXRpb25zICovCisjZGVmaW5lIFBCQ19CQ1RSTDRfUkVHRU5fU0VMICAgIDBYMDAwMQorI2RlZmluZSBQQkNfQkNUUkw0X1VTRVJfT0ZGICAgICAwWDAwMDIKKyNkZWZpbmUgUEJDX0JDVFJMNF9WSUJfRU4gICAgICAgMFgwMDA0CisjZGVmaW5lIFBCQ19CQ1RSTDRfUFdSR1QxX0VOICAgIDBYMDAwOAorI2RlZmluZSBQQkNfQkNUUkw0X1BXUkdUMl9FTiAgICAwWDAwMTAKKyNkZWZpbmUgUEJDX0JDVFJMNF9TVERCWV9QUkkgICAgMFgwMDIwCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisvKgorICogRW51bWVyYXRpb25zIGZvciBTRCBjYXJkcyBhbmQgbWVtb3J5IHN0aWNrIGNhcmQuIFRoaXMgY29ycmVzcG9uZHMgdG8KKyAqIHRoZSBjYXJkIEVOIGJpdHMgaW4gdGhlIElNUjogU0QxX0VOIHwgTVNfRU4gfCBTRDNfRU4gfCBTRDJfRU4uCisgKi8KK2VudW0gbXhjX2NhcmRfbm8geworCU1YQ19DQVJEX1NEMiA9IDAsCisJTVhDX0NBUkRfU0QzLAorCU1YQ19DQVJEX01TLAorCU1YQ19DQVJEX1NEMSwKKwlNWENfQ0FSRF9NSU4gPSBNWENfQ0FSRF9TRDIsCisJTVhDX0NBUkRfTUFYID0gTVhDX0NBUkRfU0QxLAorfTsKKyNlbmRpZgorCisjZGVmaW5lIE1YQ19DUExEX1ZFUl8xXzUwICAgICAgIDB4MDEKKworLyoKKyAqIFBCQyBCU1RBVCBSZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBQQkNfQlNUQVRfUFJJX0lOVCAgICAgICAwWDAwMDEKKyNkZWZpbmUgUEJDX0JTVEFUX1VTQl9CWVAgICAgICAgMFgwMDAyCisjZGVmaW5lIFBCQ19CU1RBVF9BVEFfSU9DUzE2ICAgIDBYMDAwNAorI2RlZmluZSBQQkNfQlNUQVRfQVRBX0NCTElEICAgICAwWDAwMDgKKyNkZWZpbmUgUEJDX0JTVEFUX0FUQV9EQVNQICAgICAgMFgwMDEwCisjZGVmaW5lIFBCQ19CU1RBVF9QV1JfUkRZICAgICAgIDBYMDAyMAorI2RlZmluZSBQQkNfQlNUQVRfU0QzX1dQICAgICAgICAwWDAxMDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMl9XUCAgICAgICAgMFgwMjAwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDFfV1AgICAgICAgIDBYMDQwMAorI2RlZmluZSBQQkNfQlNUQVRfU0QzX0RFVCAgICAgICAwWDA4MDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMl9ERVQgICAgICAgMFgxMDAwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDFfREVUICAgICAgIDBYMjAwMAorI2RlZmluZSBQQkNfQlNUQVRfTVNfREVUICAgICAgICAwWDQwMDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEM19ERVRfQklUICAgMTEKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMl9ERVRfQklUICAgMTIKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMV9ERVRfQklUICAgMTMKKyNkZWZpbmUgUEJDX0JTVEFUX01TX0RFVF9CSVQgICAgMTQKKyNkZWZpbmUgTVhDX0JTVEFUX0JJVChuKSAgICAgICAgKChuID09IE1YQ19DQVJEX1NEMikgPyBQQkNfQlNUQVRfU0QyX0RFVCA6IFwKKwkJCQkgKChuID09IE1YQ19DQVJEX1NEMykgPyBQQkNfQlNUQVRfU0QzX0RFVCA6IFwKKwkJCQkgKChuID09IE1YQ19DQVJEX1NEMSkgPyBQQkNfQlNUQVRfU0QxX0RFVCA6IFwKKwkJCQkgKChuID09IE1YQ19DQVJEX01TKSA/IFBCQ19CU1RBVF9NU19ERVQgOiBcCisJCQkJCTB4MCkpKSkKKworLyoKKyAqIFBCQyBVQVJUIENvbnRyb2wgUmVnaXN0ZXIgYml0IGRlZmluaXRpb25zCisgKi8KKyNkZWZpbmUgUEJDX1VDVFJMX0RDRV9EQ0QgICAgICAgMFgwMDAxCisjZGVmaW5lIFBCQ19VQ1RSTF9EQ0VfRFNSICAgICAgIDBYMDAwMgorI2RlZmluZSBQQkNfVUNUUkxfRENFX1JJICAgICAgICAwWDAwMDQKKyNkZWZpbmUgUEJDX1VDVFJMX0RURV9EVFIgICAgICAgMFgwMTAwCisKKy8qCisgKiBQQkMgVUFSVCBTdGF0dXMgUmVnaXN0ZXIgYml0IGRlZmluaXRpb25zCisgKi8KKyNkZWZpbmUgUEJDX1VTVEFUX0RURV9EQ0QgICAgICAgMFgwMDAxCisjZGVmaW5lIFBCQ19VU1RBVF9EVEVfRFNSICAgICAgIDBYMDAwMgorI2RlZmluZSBQQkNfVVNUQVRfRFRFX1JJICAgICAgICAwWDAwMDQKKyNkZWZpbmUgUEJDX1VTVEFUX0RDRV9EVFIgICAgICAgMFgwMTAwCisKKy8qCisgKiBQQkMgSW50ZXJ1cHQgbWFzayByZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBQQkNfSU5UUl9TRDNfUl9FTl9CSVQgICA0CisjZGVmaW5lIFBCQ19JTlRSX1NEMl9SX0VOX0JJVCAgIDAKKyNkZWZpbmUgUEJDX0lOVFJfU0QxX1JfRU5fQklUICAgNgorI2RlZmluZSBQQkNfSU5UUl9NU19SX0VOX0JJVCAgICA1CisjZGVmaW5lIFBCQ19JTlRSX1NEM19FTl9CSVQgICAgIDEzCisjZGVmaW5lIFBCQ19JTlRSX1NEMl9FTl9CSVQgICAgIDEyCisjZGVmaW5lIFBCQ19JTlRSX01TX0VOX0JJVCAgICAgIDE0CisjZGVmaW5lIFBCQ19JTlRSX1NEMV9FTl9CSVQgICAgIDE1CisKKyNkZWZpbmUgUEJDX0lOVFJfU0QyX1JfRU4gICAgICAgMHgwMDAxCisjZGVmaW5lIFBCQ19JTlRSX0xPV19CQVQgICAgICAgIDBYMDAwMgorI2RlZmluZSBQQkNfSU5UUl9PVEdfRlNPVkVSICAgICAwWDAwMDQKKyNkZWZpbmUgUEJDX0lOVFJfRlNIX09WRVIgICAgICAgMFgwMDA4CisjZGVmaW5lIFBCQ19JTlRSX1NEM19SX0VOICAgICAgIDB4MDAxMAorI2RlZmluZSBQQkNfSU5UUl9NU19SX0VOICAgICAgICAweDAwMjAKKyNkZWZpbmUgUEJDX0lOVFJfU0QxX1JfRU4gICAgICAgMHgwMDQwCisjZGVmaW5lIFBCQ19JTlRSX0ZFQ19JTlQgICAgICAgIDBYMDA4MAorI2RlZmluZSBQQkNfSU5UUl9FTkVUX0lOVCAgICAgICAwWDAxMDAKKyNkZWZpbmUgUEJDX0lOVFJfT1RHRlNfSU5UICAgICAgMFgwMjAwCisjZGVmaW5lIFBCQ19JTlRSX1hVQVJUX0lOVCAgICAgIDBYMDQwMAorI2RlZmluZSBQQkNfSU5UUl9DQ1RMMTIgICAgICAgICAwWDA4MDAKKyNkZWZpbmUgUEJDX0lOVFJfU0QyX0VOICAgICAgICAgMHgxMDAwCisjZGVmaW5lIFBCQ19JTlRSX1NEM19FTiAgICAgICAgIDB4MjAwMAorI2RlZmluZSBQQkNfSU5UUl9NU19FTiAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgUEJDX0lOVFJfU0QxX0VOICAgICAgICAgMHg4MDAwCisKKworCisvKiBGb3IgaW50ZXJydXB0cyBsaWtlIHh1YXJ0LCBlbmV0IGV0YyAqLworI2RlZmluZSBFWFBJT19QQVJFTlRfSU5UICAgICAgICBJT01VWF9UT19JUlEoTVgyN19QSU5fVElOKQorI2RlZmluZSBNWENfTUFYX0VYUF9JT19MSU5FUyAgICAxNgorCisvKgorICogVGhpcyBjb3JyZXNwb25kcyB0byBQQkNfSU5UTUFTS19TRVRfUkVHIGF0IG9mZnNldCAweDM4LgorICoKKyAqLworI2RlZmluZSBFWFBJT19JTlRfTE9XX0JBVCAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgMSkKKyNkZWZpbmUgRVhQSU9fSU5UX09UR19GU19PVlIgICAgKE1YQ19FWFBfSU9fQkFTRSArIDIpCisjZGVmaW5lIEVYUElPX0lOVF9GU0hfT1ZSICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyAzKQorI2RlZmluZSBFWFBJT19JTlRfUkVTNCAgICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgNCkKKyNkZWZpbmUgRVhQSU9fSU5UX1JFUzUgICAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDUpCisjZGVmaW5lIEVYUElPX0lOVF9SRVM2ICAgICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyA2KQorI2RlZmluZSBFWFBJT19JTlRfRkVDICAgICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgNykKKyNkZWZpbmUgRVhQSU9fSU5UX0VORVRfSU5UICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDgpCisjZGVmaW5lIEVYUElPX0lOVF9PVEdfRlNfSU5UICAgIChNWENfRVhQX0lPX0JBU0UgKyA5KQorI2RlZmluZSBFWFBJT19JTlRfWFVBUlRfSU5UQSAgICAoTVhDX0VYUF9JT19CQVNFICsgMTApCisjZGVmaW5lIEVYUElPX0lOVF9DQ1RMMTJfSU5UICAgIChNWENfRVhQX0lPX0JBU0UgKyAxMSkKKyNkZWZpbmUgRVhQSU9fSU5UX1NEMl9FTiAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDEyKQorI2RlZmluZSBFWFBJT19JTlRfU0QzX0VOICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgMTMpCisjZGVmaW5lIEVYUElPX0lOVF9NU19FTiAgICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyAxNCkKKyNkZWZpbmUgRVhQSU9fSU5UX1NEMV9FTiAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDE1KQorCisvKgorICogVGhpcyBpcyBTeXN0ZW0gSVJRIHVzZWQgYnkgQ1M4OTAwQSBmb3IgaW50ZXJydXB0IGdlbmVyYXRpb24KKyAqIHRha2VuIGZyb20gcGxhdGZvcm0uaAorICovCisjZGVmaW5lIENTODkwMEFJUlEgICAgICAgICAgICAgIEVYUElPX0lOVF9FTkVUX0lOVAorLyogVGhpcyBpcyBJL08gQmFzZSBhZGRyZXNzIHVzZWQgdG8gYWNjZXNzIHJlZ2lzdGVycyBvZiBDUzg5MDBBIG9uIE1YQyBBRFMgKi8KKyNkZWZpbmUgQ1M4OTAwQV9CQVNFX0FERFJFU1MgICAgKFBCQ19DUzg5MDBBX0lPQkFTRV9SRUcgKyAweDMwMCkKKworI2RlZmluZSBNWENfUE1JQ19JTlRfTElORSAgICAgICBJT01VWF9UT19JUlEoTVgyN19QSU5fVE9VVCkKKworLyoKKyogVGhpcyBpcyB1c2VkIHRvIGRldGVjdCBpZiB0aGUgQ1BMRCB2ZXJzaW9uIGlzIGZvciBteDI3IGV2YiBib2FyZCByZXYtYQorKi8KKyNkZWZpbmUgUEJDX0NQTERfVkVSU0lPTl9JU19SRVZBKCkgXAorCSgoX19yYXdfcmVhZHcoUEJDX1ZFUlNJT05fUkVHKSAmIFwKKwkoUEJDX1ZFUlNJT05fQURTIHwgUEJDX1ZFUlNJT05fRVZCX1JFVkIpKVwKKwk9PSAwKQorCisvKiBUaGlzIGlzIHVzZWQgdG8gYWN0aXZlIG9yIGluYWN0aXZlIGF0YSBzaWduYWwgaW4gQ1BMRCAuCisgKiAgSXQgaXMgZGVwZW5kZW50IHdpdGggaGFyZHdhcmUKKyAqLworI2RlZmluZSBQQkNfQVRBX1NJR05BTF9BQ1RJVkUoKSBcCisJX19yYXdfd3JpdGV3KCAgICAgICAgICAgXAorCQlQQkNfQkNUUkwyX0FUQUZFQ19FTnxQQkNfQkNUUkwyX0FUQUZFQ19TRUx8UEJDX0JDVFJMMl9BVEFfRU4sIFwKKwkJUEJDX0JDVFJMMl9DTEVBUl9SRUcpCisKKyNkZWZpbmUgUEJDX0FUQV9TSUdOQUxfSU5BQ1RJVkUoKSBcCisJX19yYXdfd3JpdGV3KCAgXAorCQlQQkNfQkNUUkwyX0FUQUZFQ19FTnxQQkNfQkNUUkwyX0FUQUZFQ19TRUx8UEJDX0JDVFJMMl9BVEFfRU4sIFwKKwkJUEJDX0JDVFJMMl9TRVRfUkVHKQorCisjZGVmaW5lIE1YQ19CRF9MRUQxICAgICAgICAgICAgICgxIDw8IDUpCisjZGVmaW5lIE1YQ19CRF9MRUQyICAgICAgICAgICAgICgxIDw8IDYpCisjZGVmaW5lIE1YQ19CRF9MRURfT04obGVkKSBcCisJX19yYXdfd3JpdGV3KGxlZCwgUEJDX0JDVFJMMV9TRVRfUkVHKQorI2RlZmluZSBNWENfQkRfTEVEX09GRihsZWQpIFwKKwlfX3Jhd193cml0ZXcobGVkLCBQQkNfQkNUUkwxX0NMRUFSX1JFRykKKworLyogdG8gZGV0ZXJtaW5lIHRoZSBjb3JyZWN0IGV4dGVybmFsIGNyeXN0YWwgcmVmZXJlbmNlICovCisjZGVmaW5lIENLSUhfMjdNSFpfQklUX1NFVCAgICAgICgxIDw8IDMpCisKKyNlbmRpZgkJCQkvKiBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDI3QURTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFhZHMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxYWRzLmgKaW5kZXggODU5MDEyNy4uMWJjNmZiMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFhZHMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWFkcy5oCkBAIC0xMDksNCArMTA5LDkgQEAKIAogI2RlZmluZSBNWENfTUFYX0VYUF9JT19MSU5FUwkxNgogCisvKiBtYW5kYXRvcnkgZm9yIENPTkZJR19MTF9ERUJVRyAqLworCisjZGVmaW5lIE1YQ19MTF9VQVJUX1BBRERSCVVBUlQxX0JBU0VfQUREUgorI2RlZmluZSBNWENfTExfVUFSVF9WQUREUglBSVBTMV9JT19BRERSRVNTKFVBUlQxX0JBU0VfQUREUikKKwogI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMzFBRFNfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWxpdGUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxbGl0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0ZTVjZjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWxpdGUuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IDIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqLworCisvKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMzFMSVRFX0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDMxTElURV9IX18KKworI2RlZmluZSBNWENfTUFYX0VYUF9JT19MSU5FUwkxNgorCisKKy8qCisgKiBNZW1vcnkgU2l6ZSBwYXJhbWV0ZXJzCisgKi8KKworLyoKKyAqIFNpemUgb2YgU0RSQU0gbWVtb3J5CisgKi8KKyNkZWZpbmUgU0RSQU1fTUVNX1NJWkUJCVNaXzEyOE0KKy8qCisgKiBTaXplIG9mIE1CWCBidWZmZXIgbWVtb3J5CisgKi8KKyNkZWZpbmUgTVhDX01CWF9NRU1fU0laRQlTWl8xNk0KKy8qCisgKiBTaXplIG9mIG1lbW9yeSBhdmFpbGFibGUgdG8ga2VybmVsCisgKi8KKyNkZWZpbmUgTUVNX1NJWkUJCShTRFJBTV9NRU1fU0laRSAtIE1YQ19NQlhfTUVNX1NJWkUpCisKKyNkZWZpbmUgTVhDX0xMX1VBUlRfUEFERFIJVUFSVDFfQkFTRV9BRERSCisjZGVmaW5lIE1YQ19MTF9VQVJUX1ZBRERSCUFJUFMxX0lPX0FERFJFU1MoVUFSVDFfQkFTRV9BRERSKQorCisjZW5kaWYgLyogX19BU01fQVJDSF9NWENfQk9BUkRfTVgzMUFEU19IX18gKi8KKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzNy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzNy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyMjMyYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtcGNtMDM3LmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX1BDTTAzN19IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM3X0hfXworCisvKiBtYW5kYXRvcnkgZm9yIENPTkZJR19MTF9ERUJVRyAqLworCisjZGVmaW5lIE1YQ19MTF9VQVJUX1BBRERSCVVBUlQxX0JBU0VfQUREUgorI2RlZmluZSBNWENfTExfVUFSVF9WQUREUglBSVBTMV9JT19BRERSRVNTKFVBUlQxX0JBU0VfQUREUikKKworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX1BDTTAzN19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1wY20wMzguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1wY20wMzguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTBjNjJhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzOC5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSnVlcmdlbiBCZWlzZXJ0IChrZXJuZWxAcGVuZ3V0cm9uaXguZGUpCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19CT0FSRF9QQ00wMzhfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX1BDTTAzOF9IX18KKworLyogbWFuZGF0b3J5IGZvciBDT05GSUdfTExfREVCVUcgKi8KKworI2RlZmluZSBNWENfTExfVUFSVF9QQUREUglVQVJUMV9CQVNFX0FERFIKKyNkZWZpbmUgTVhDX0xMX1VBUlRfVkFERFIJKEFJUElfQkFTRV9BRERSX1ZJUlQgKyAweDBBMDAwKQorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworLyoKKyAqIFRoaXMgQ1BVIG1vZHVsZSBuZWVkcyBhIGJhc2Vib2FyZCB0byB3b3JrLiBBZnRlciBiYXNpYyBpbml0aWFsaXppbmcKKyAqIGl0cyBvd24gZGV2aWNlcywgaXQgY2FsbHMgYmFzZWJvYXJkJ3MgaW5pdCBmdW5jdGlvbi4KKyAqIFRPRE86IEFkZCB5b3VyIG93biBiYXNlYm9hcmQgaW5pdCBmdW5jdGlvbiBhbmQgY2FsbCBpdCBmcm9tCisgKiBpbnNpZGUgcGNtMDM4X2luaXQoKS4KKyAqCisgKiBUaGlzIGV4YW1wbGUgaGVyZSBpcyBmb3IgdGhlIGRldmVsb3BtZW50IGJvYXJkLiBSZWZlciBwY205NzAtYmFzZWJvYXJkLmMKKyAqLworCitleHRlcm4gdm9pZCBwY205NzBfYmFzZWJvYXJkX2luaXQodm9pZCk7CisKKyNlbmRpZgorCisjZW5kaWYgLyogX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM4X0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2Nsb2NrLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY2xvY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGNhYTJiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2Nsb2NrLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA1LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfQ0xPQ0tfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0NMT0NLX0hfXworCisjaWZuZGVmIF9fQVNTRU1CTFlfXworI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworc3RydWN0IG1vZHVsZTsKKworc3RydWN0IGNsayB7CisJc3RydWN0IGxpc3RfaGVhZCBub2RlOworCXN0cnVjdCBtb2R1bGUgKm93bmVyOworCWNvbnN0IGNoYXIgKm5hbWU7CisJaW50IGlkOworCS8qIFNvdXJjZSBjbG9jayB0aGlzIGNsayBkZXBlbmRzIG9uICovCisJc3RydWN0IGNsayAqcGFyZW50OworCS8qIFNlY29uZGFyeSBjbG9jayB0byBlbmFibGUvZGlzYWJsZSB3aXRoIHRoaXMgY2xvY2sgKi8KKwlzdHJ1Y3QgY2xrICpzZWNvbmRhcnk7CisJLyogUmVmZXJlbmNlIGNvdW50IG9mIGNsb2NrIGVuYWJsZS9kaXNhYmxlICovCisJX19zOCB1c2Vjb3VudDsKKwkvKiBSZWdpc3RlciBiaXQgcG9zaXRpb24gZm9yIGNsb2NrJ3MgZW5hYmxlL2Rpc2FibGUgY29udHJvbC4gKi8KKwl1OCBlbmFibGVfc2hpZnQ7CisJLyogUmVnaXN0ZXIgYWRkcmVzcyBmb3IgY2xvY2sncyBlbmFibGUvZGlzYWJsZSBjb250cm9sLiAqLworCXUzMiBlbmFibGVfcmVnOworCXUzMiBmbGFnczsKKwkvKiBnZXQgdGhlIGN1cnJlbnQgY2xvY2sgcmF0ZSAoYWx3YXlzIGEgZnJlc2ggdmFsdWUpICovCisJdW5zaWduZWQgbG9uZyAoKmdldF9yYXRlKSAoc3RydWN0IGNsayAqKTsKKwkvKiBGdW5jdGlvbiBwdHIgdG8gc2V0IHRoZSBjbG9jayB0byBhIG5ldyByYXRlLiBUaGUgcmF0ZSBtdXN0IG1hdGNoIGEKKwkgICBzdXBwb3J0ZWQgcmF0ZSByZXR1cm5lZCBmcm9tIHJvdW5kX3JhdGUuIExlYXZlIGJsYW5rIGlmIGNsb2NrIGlzIG5vdAorCSAgIHByb2dyYW1tYWJsZSAqLworCWludCAoKnNldF9yYXRlKSAoc3RydWN0IGNsayAqLCB1bnNpZ25lZCBsb25nKTsKKwkvKiBGdW5jdGlvbiBwdHIgdG8gcm91bmQgdGhlIHJlcXVlc3RlZCBjbG9jayByYXRlIHRvIHRoZSBuZWFyZXN0CisJICAgc3VwcG9ydGVkIHJhdGUgdGhhdCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHJlcXVlc3RlZCByYXRlLiAqLworCXVuc2lnbmVkIGxvbmcgKCpyb3VuZF9yYXRlKSAoc3RydWN0IGNsayAqLCB1bnNpZ25lZCBsb25nKTsKKwkvKiBGdW5jdGlvbiBwdHIgdG8gZW5hYmxlIHRoZSBjbG9jay4gTGVhdmUgYmxhbmsgaWYgY2xvY2sgY2FuIG5vdAorCSAgIGJlIGdhdGVkLiAqLworCWludCAoKmVuYWJsZSkgKHN0cnVjdCBjbGsgKik7CisJLyogRnVuY3Rpb24gcHRyIHRvIGRpc2FibGUgdGhlIGNsb2NrLiBMZWF2ZSBibGFuayBpZiBjbG9jayBjYW4gbm90CisJICAgYmUgZ2F0ZWQuICovCisJdm9pZCAoKmRpc2FibGUpIChzdHJ1Y3QgY2xrICopOworCS8qIEZ1bmN0aW9uIHB0ciB0byBzZXQgdGhlIHBhcmVudCBjbG9jayBvZiB0aGUgY2xvY2suICovCisJaW50ICgqc2V0X3BhcmVudCkgKHN0cnVjdCBjbGsgKiwgc3RydWN0IGNsayAqKTsKK307CisKK2ludCBjbGtfcmVnaXN0ZXIoc3RydWN0IGNsayAqY2xrKTsKK3ZvaWQgY2xrX3VucmVnaXN0ZXIoc3RydWN0IGNsayAqY2xrKTsKKworI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0NMT0NLX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2NvbW1vbi5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2NvbW1vbi5oCmluZGV4IDIzYjQzNTAuLmE2ZDJlMjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9jb21tb24uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY29tbW9uLmgKQEAgLTExLDEwICsxMSwxMCBAQAogI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19DT01NT05fSF9fCiAjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0NPTU1PTl9IX18KIAotc3RydWN0IHN5c190aW1lcjsKLQogZXh0ZXJuIHZvaWQgbXhjX21hcF9pbyh2b2lkKTsKIGV4dGVybiB2b2lkIG14Y19pbml0X2lycSh2b2lkKTsKLWV4dGVybiBzdHJ1Y3Qgc3lzX3RpbWVyIG14Y190aW1lcjsKK2V4dGVybiB2b2lkIG14Y190aW1lcl9pbml0KGNvbnN0IGNoYXIgKmNsa190aW1lcik7CitleHRlcm4gaW50IG14Y19jbG9ja3NfaW5pdCh1bnNpZ25lZCBsb25nIGZyZWYpOworZXh0ZXJuIGludCBteGNfcmVnaXN0ZXJfZ3Bpb3Modm9pZCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2RlYnVnLW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZGVidWctbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzUwODdmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2RlYnVnLW1hY3JvLlMKQEAgLTAsMCArMSw0OSBAQAorLyogbGludXgvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2RlYnVnLW1hY3JvLlMKKyAqCisgKiBEZWJ1Z2dpbmcgbWFjcm8gaW5jbHVkZSBoZWFkZXIKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgUnVzc2VsbCBLaW5nCisgKiAgTW92ZWQgZnJvbSBsaW51eC9hcmNoL2FybS9rZXJuZWwvZGVidWcuUyBieSBCZW4gRG9va3MKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqLworCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKworI2lmZGVmIENPTkZJR19NQUNIX01YMzFBRFMKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDMxYWRzLmg+CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfTUFDSF9QQ00wMzcKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1wY20wMzcuaD4KKyNlbmRpZgorI2lmZGVmIENPTkZJR19NQUNIX01YMzFMSVRFCisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgzMWxpdGUuaD4KKyNlbmRpZgorI2lmZGVmIENPTkZJR19NQUNIX01YMjdBRFMKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDI3YWRzLmg+CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfTUFDSF9QQ00wMzgKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1wY20wMzguaD4KKyNlbmRpZgorCQkubWFjcm8JYWRkcnVhcnQscngKKwkJbXJjCXAxNSwgMCwgXHJ4LCBjMSwgYzAKKwkJdHN0CVxyeCwgIzEJCQlAIE1NVSBlbmFibGVkPworCQlsZHJlcQlccngsID1NWENfTExfVUFSVF9QQUREUglAIHBoeXNpY2FsCisJCWxkcm5lCVxyeCwgPU1YQ19MTF9VQVJUX1ZBRERSCUAgdmlydHVhbAorCQkuZW5kbQorCisJCS5tYWNybwlzZW5kdWFydCxyZCxyeAorCQlzdHIJXHJkLCBbXHJ4LCAjMHg0MF0JQCBUWERBVEEKKwkJLmVuZG0KKworCQkubWFjcm8Jd2FpdHVhcnQscmQscngKKwkJLmVuZG0KKworCQkubWFjcm8JYnVzeXVhcnQscmQscngKKzEwMDI6CQlsZHIJXHJkLCBbXHJ4LCAjMHg5OF0JQCBTUjIKKwkJdHN0CVxyZCwgIzEgPDwgMwkJQCBUWERDCisJCWJlcQkxMDAyYgkJCUAgd2FpdCB1bnRpbCB0cmFuc21pdCBkb25lCisJCS5lbmRtCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2dwaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzkzZTE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2dwaW8uaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IDIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19HUElPX0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19HUElPX0hfXworCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvZ3Bpby5oPgorCisvKiB1c2UgZ3Bpb2xpYiBkaXNwYXRjaGVycyAqLworI2RlZmluZSBncGlvX2dldF92YWx1ZQkJX19ncGlvX2dldF92YWx1ZQorI2RlZmluZSBncGlvX3NldF92YWx1ZQkJX19ncGlvX3NldF92YWx1ZQorI2RlZmluZSBncGlvX2NhbnNsZWVwCQlfX2dwaW9fY2Fuc2xlZXAKKworI2RlZmluZSBncGlvX3RvX2lycShncGlvKQkoTVhDX01BWF9JTlRfTElORVMgKyAoZ3BpbykpCisjZGVmaW5lIGlycV90b19ncGlvKGlycSkJKChpcnEpIC0gTVhDX01BWF9JTlRfTElORVMpCisKK3N0cnVjdCBteGNfZ3Bpb19wb3J0IHsKKwl2b2lkIF9faW9tZW0gKmJhc2U7CisJaW50IGlycTsKKwlpbnQgdmlydHVhbF9pcnFfc3RhcnQ7CisJc3RydWN0IGdwaW9fY2hpcCBjaGlwOworfTsKKworaW50IG14Y19ncGlvX2luaXQoc3RydWN0IG14Y19ncGlvX3BvcnQqLCBpbnQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2hhcmR3YXJlLmgKaW5kZXggZTg3ZmYwNi4uMzdjZGRiYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2hhcmR3YXJlLmgKQEAgLTEsMTEgKzEsMjAgQEAKIC8qCi0gKiAgQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICovCi0KLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BICAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAogI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19IQVJEV0FSRV9IX18KQEAgLTE3LDE1ICsyNiwxMiBAQAogIyBpbmNsdWRlIDxhc20vYXJjaC9teDMxLmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPGFzbS9hcmNoL214Yy5oPgotCi0vKgotICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiBCb2FyZCBzcGVjaWZpYyBkZWZpbmVzCi0gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqLwotI2lmZGVmIENPTkZJR19NQUNIX01YMzFBRFMKLSMgaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgzMWFkcy5oPgorI2lmZGVmIENPTkZJR19BUkNIX01YMgorIyBpZmRlZiBDT05GSUdfTUFDSF9NWDI3CisjICBpbmNsdWRlIDxhc20vYXJjaC9teDI3Lmg+CisjIGVuZGlmCiAjZW5kaWYKIAorI2luY2x1ZGUgPGFzbS9hcmNoL214Yy5oPgorCiAjZW5kaWYgLyogX19BU01fQVJDSF9NWENfSEFSRFdBUkVfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaWltLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaWltLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE1YmZmYQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9paW0uaApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19JSU1fSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0lJTV9IX18KKworLyogUmVnaXN0ZXIgb2Zmc2V0cyAqLworI2RlZmluZSBNWENfSUlNU1RBVCAgICAgICAgICAgICAweDAwMDAKKyNkZWZpbmUgTVhDX0lJTVNUQVRNICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIE1YQ19JSU1FUlIgICAgICAgICAgICAgIDB4MDAwOAorI2RlZmluZSBNWENfSUlNRU1BU0sgICAgICAgICAgICAweDAwMEMKKyNkZWZpbmUgTVhDX0lJTUZDVEwgICAgICAgICAgICAgMHgwMDEwCisjZGVmaW5lIE1YQ19JSU1VQSAgICAgICAgICAgICAgIDB4MDAxNAorI2RlZmluZSBNWENfSUlNTEEgICAgICAgICAgICAgICAweDAwMTgKKyNkZWZpbmUgTVhDX0lJTVNEQVQgICAgICAgICAgICAgMHgwMDFDCisjZGVmaW5lIE1YQ19JSU1QUkVWICAgICAgICAgICAgIDB4MDAyMAorI2RlZmluZSBNWENfSUlNU1JFViAgICAgICAgICAgICAweDAwMjQKKyNkZWZpbmUgTVhDX0lJTVBSR19QICAgICAgICAgICAgMHgwMDI4CisjZGVmaW5lIE1YQ19JSU1TQ1MwICAgICAgICAgICAgIDB4MDAyQworI2RlZmluZSBNWENfSUlNU0NTMSAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgTVhDX0lJTVNDUzIgICAgICAgICAgICAgMHgwMDM0CisjZGVmaW5lIE1YQ19JSU1TQ1MzICAgICAgICAgICAgIDB4MDAzOAorI2RlZmluZSBNWENfSUlNRkJBQzAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgTVhDX0lJTUpBQyAgICAgICAgICAgICAgMHgwODA0CisjZGVmaW5lIE1YQ19JSU1IV1YxICAgICAgICAgICAgIDB4MDgwOAorI2RlZmluZSBNWENfSUlNSFdWMiAgICAgICAgICAgICAweDA4MEMKKyNkZWZpbmUgTVhDX0lJTUhBQjAgICAgICAgICAgICAgMHgwODEwCisjZGVmaW5lIE1YQ19JSU1IQUIxICAgICAgICAgICAgIDB4MDgxNAorLyogRGVmaW5pdGlvbnMgZm9yIGkuTVgyNyBUTzIgKi8KKyNkZWZpbmUgTVhDX0lJTU1BQyAgICAgICAgICAgICAgMHgwODE0CisjZGVmaW5lIE1YQ19JSU1QUkVWX0ZVU0UgICAgICAgIDB4MDgxOAorI2RlZmluZSBNWENfSUlNU1JFVl9GVVNFICAgICAgICAweDA4MUMKKyNkZWZpbmUgTVhDX0lJTVNKQ19DSEFMTF8wICAgICAgMHgwODIwCisjZGVmaW5lIE1YQ19JSU1TSkNfQ0hBTExfNyAgICAgIDB4MDgzQworI2RlZmluZSBNWENfSUlNRkIwVUMxNyAgICAgICAgICAweDA4NDAKKyNkZWZpbmUgTVhDX0lJTUZCMFVDMjU1ICAgICAgICAgMHgwQkZDCisjZGVmaW5lIE1YQ19JSU1GQkFDMSAgICAgICAgICAgIDB4MEMwMAorLyogRGVmaW5pdGlvbnMgZm9yIGkuTVgyNyBUTzIgKi8KKyNkZWZpbmUgTVhDX0lJTVNVSUQgICAgICAgICAgICAgMHgwQzA0CisjZGVmaW5lIE1YQ19JSU1LRVkwICAgICAgICAgICAgIDB4MEMwNAorI2RlZmluZSBNWENfSUlNS0VZMjAgICAgICAgICAgICAweDBDNTQKKyNkZWZpbmUgTVhDX0lJTVNKQ19SRVNQXzAgICAgICAgMHgwQzU4CisjZGVmaW5lIE1YQ19JSU1TSkNfUkVTUF83ICAgICAgIDB4MEM3NAorI2RlZmluZSBNWENfSUlNRkIxVUMzMCAgICAgICAgICAweDBDNzgKKyNkZWZpbmUgTVhDX0lJTUZCMVVDMjU1ICAgICAgICAgMHgwRkZDCisKKy8qIEJpdCBkZWZpbml0aW9ucyAqLworCisjZGVmaW5lIE1YQ19JSU1IV1YxX1dMT0NLICAgICAgICAgICAgICAgKDB4MSA8PCA3KQorI2RlZmluZSBNWENfSUlNSFdWMV9NQ1VfRU5ESUFOICAgICAgICAgICgweDEgPDwgNikKKyNkZWZpbmUgTVhDX0lJTUhXVjFfRFNQX0VORElBTiAgICAgICAgICAoMHgxIDw8IDUpCisjZGVmaW5lIE1YQ19JSU1IV1YxX0JPT1RfSU5UICAgICAgICAgICAgKDB4MSA8PCA0KQorI2RlZmluZSBNWENfSUlNSFdWMV9TQ0NfRElTQUJMRSAgICAgICAgICgweDEgPDwgMykKKyNkZWZpbmUgTVhDX0lJTUhXVjFfSEFOVFJPX0RJU0FCTEUgICAgICAoMHgxIDw8IDIpCisjZGVmaW5lIE1YQ19JSU1IV1YxX01FTVNUSUNLX0RJUyAgICAgICAgKDB4MSA8PCAxKQorCisjZGVmaW5lIE1YQ19JSU1IV1YyX1dMT0NLICAgICAgICAgICAgICAgKDB4MSA8PCA3KQorI2RlZmluZSBNWENfSUlNSFdWMl9CUF9TRE1BICAgICAgICAgICAgICgweDEgPDwgNikKKyNkZWZpbmUgTVhDX0lJTUhXVjJfU0NNX0RDTSAgICAgICAgICAgICAoMHgxIDw8IDUpCisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19JSU1fSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW14LXVhcnQuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pbXgtdWFydC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZmI3MmM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lteC11YXJ0LmgKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBieSBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIEFTTUFSTV9BUkNIX1VBUlRfSAorI2RlZmluZSBBU01BUk1fQVJDSF9VQVJUX0gKKworI2RlZmluZSBJTVhVQVJUX0hBVkVfUlRTQ1RTICgxPDwwKQorCitzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhIHsKKwlpbnQgKCppbml0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKKwlpbnQgKCpleGl0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKKwl1bnNpZ25lZCBpbnQgZmxhZ3M7Cit9OworCitpbnQgX19pbml0IGlteF9pbml0X3VhcnQoaW50IHVhcnRfbm8sIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgKnBkYXRhKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW9tdXgtbXgxLW14Mi5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14MS1teDIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzZkMzdiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14MS1teDIuaApAQCAtMCwwICsxLDM3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBieSBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9NWENfR1BJT19NWDFfTVgyX0gKKyNkZWZpbmUgX01YQ19HUElPX01YMV9NWDJfSAorCisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2RlZmluZSBNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTAkwCisjZGVmaW5lIE1YQ19HUElPX0FMTE9DX01PREVfTk9fQUxMT0MJMQorI2RlZmluZSBNWENfR1BJT19BTExPQ19NT0RFX1RSWV9BTExPQwkyCisjZGVmaW5lIE1YQ19HUElPX0FMTE9DX01PREVfQUxMT0NfT05MWQk0CisjZGVmaW5lIE1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRQk4CisKKy8qCisgKiAgR1BJTyBNb2R1bGUgYW5kIEkvTyBNdWx0aXBsZXhlcgorICogIHggPSAwLi4zIGZvciByZWdfQSwgcmVnX0IsIHJlZ19DLCByZWdfRAorICovCisjZGVmaW5lIFZBX0dQSU9fQkFTRQlJT19BRERSRVNTKEdQSU9fQkFTRV9BRERSKQorI2RlZmluZSBNWENfRERJUih4KSAgICAoMHgwMCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19PQ1IxKHgpICAgICgweDA0ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX09DUjIoeCkgICAgKDB4MDggKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSUNPTkZBMSh4KSAoMHgwYyArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JQ09ORkEyKHgpICgweDEwICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lDT05GQjEoeCkgKDB4MTQgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSUNPTkZCMih4KSAoMHgxOCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19EUih4KSAgICAgICgweDFjICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0dJVVMoeCkgICAgKDB4MjAgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfU1NSKHgpICAgICAoMHgyNCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JQ1IxKHgpICAgICgweDI4ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lDUjIoeCkgICAgKDB4MmMgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSU1SKHgpICAgICAoMHgzMCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JU1IoeCkgICAgICgweDM0ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0dQUih4KSAgICAgKDB4MzggKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfU1dSKHgpICAgICAoMHgzYyArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19QVUVOKHgpICAgICgweDQwICsgKCh4KSA8PCA4KSkKKworI2lmZGVmIENPTkZJR19BUkNIX01YMQorIyBkZWZpbmUgR1BJT19QT1JUX01BWCAgMworI2VuZGlmCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgyCisjIGRlZmluZSBHUElPX1BPUlRfTUFYICA1CisjZW5kaWYKKworI2lmbmRlZiBHUElPX1BPUlRfTUFYCisjIGVycm9yICJHUElPIGNvbmZpZyBwb3J0IGNvdW50IHVua25vd24hIgorI2VuZGlmCisKKyNkZWZpbmUgR1BJT19QSU5fTUFTSyAweDFmCisKKyNkZWZpbmUgR1BJT19QT1JUX1NISUZUIDUKKyNkZWZpbmUgR1BJT19QT1JUX01BU0sgKDB4NyA8PCBHUElPX1BPUlRfU0hJRlQpCisKKyNkZWZpbmUgR1BJT19QT1JUQSAoMCA8PCBHUElPX1BPUlRfU0hJRlQpCisjZGVmaW5lIEdQSU9fUE9SVEIgKDEgPDwgR1BJT19QT1JUX1NISUZUKQorI2RlZmluZSBHUElPX1BPUlRDICgyIDw8IEdQSU9fUE9SVF9TSElGVCkKKyNkZWZpbmUgR1BJT19QT1JURCAoMyA8PCBHUElPX1BPUlRfU0hJRlQpCisjZGVmaW5lIEdQSU9fUE9SVEUgKDQgPDwgR1BJT19QT1JUX1NISUZUKQorI2RlZmluZSBHUElPX1BPUlRGICg1IDw8IEdQSU9fUE9SVF9TSElGVCkKKworI2RlZmluZSBHUElPX09VVCAgICgxIDw8IDgpCisjZGVmaW5lIEdQSU9fSU4gICAgKDAgPDwgOCkKKyNkZWZpbmUgR1BJT19QVUVOICAoMSA8PCA5KQorCisjZGVmaW5lIEdQSU9fUEYgICAgKDEgPDwgMTApCisjZGVmaW5lIEdQSU9fQUYgICAgKDEgPDwgMTEpCisKKyNkZWZpbmUgR1BJT19PQ1JfU0hJRlQgMTIKKyNkZWZpbmUgR1BJT19PQ1JfTUFTSyAoMyA8PCBHUElPX09DUl9TSElGVCkKKyNkZWZpbmUgR1BJT19BSU4gICAoMCA8PCBHUElPX09DUl9TSElGVCkKKyNkZWZpbmUgR1BJT19CSU4gICAoMSA8PCBHUElPX09DUl9TSElGVCkKKyNkZWZpbmUgR1BJT19DSU4gICAoMiA8PCBHUElPX09DUl9TSElGVCkKKyNkZWZpbmUgR1BJT19HUElPICAoMyA8PCBHUElPX09DUl9TSElGVCkKKworI2RlZmluZSBHUElPX0FPVVRfU0hJRlQgMTQKKyNkZWZpbmUgR1BJT19BT1VUX01BU0sgKDMgPDwgR1BJT19BT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0FPVVQgICAgICgwIDw8IEdQSU9fQU9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19BT1VUX0lTUiAoMSA8PCBHUElPX0FPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQU9VVF8wICAgKDIgPDwgR1BJT19BT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0FPVVRfMSAgICgzIDw8IEdQSU9fQU9VVF9TSElGVCkKKworI2RlZmluZSBHUElPX0JPVVRfU0hJRlQgMTYKKyNkZWZpbmUgR1BJT19CT1VUX01BU0sgKDMgPDwgR1BJT19CT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0JPVVQgICAgICAoMCA8PCBHUElPX0JPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQk9VVF9JU1IgICgxIDw8IEdQSU9fQk9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19CT1VUXzAgICAgKDIgPDwgR1BJT19CT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0JPVVRfMSAgICAoMyA8PCBHUElPX0JPVVRfU0hJRlQpCisKK2V4dGVybiB2b2lkIG14Y19ncGlvX21vZGUoaW50IGdwaW9fbW9kZSk7CitleHRlcm4gaW50IG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMoY29uc3QgaW50ICpwaW5fbGlzdCwgdW5zaWduZWQgY291bnQsCisJCQkJCWludCBhbGxvY19tb2RlLCBjb25zdCBjaGFyICpsYWJlbCk7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIGFzc2lnbmVtZW50cyBmb3IgR1BJTyBhbHRlcm5hdGUvcHJpbWFyeSBmdW5jdGlvbnMgKi8KKworLyogRklYTUU6IFRoaXMgbGlzdCBpcyBub3QgY29tcGxldGVkLiBUaGUgY29ycmVjdCBkaXJlY3Rpb25zIGFyZQorICogbWlzc2luZyBvbiBzb21lIChtYW55KSBwaW5zCisgKi8KKyNpZmRlZiBDT05GSUdfQVJDSF9NWDEKKyNkZWZpbmUgUEEwX0FJTl9TUEkyX0NMSyAgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IDApCisjZGVmaW5lIFBBMF9BRl9FVE1UUkFDRVNZTkMgIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDApCisjZGVmaW5lIFBBMV9BT1VUX1NQSTJfUlhEICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRBIHwgR1BJT19JTiB8IDEpCisjZGVmaW5lIFBBMV9QRl9USU4gICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDEpCisjZGVmaW5lIFBBMl9QRl9QV00wICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMikKKyNkZWZpbmUgUEEzX1BGX0NTSV9NQ0xLICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMykKKyNkZWZpbmUgUEE0X1BGX0NTSV9EMCAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgNCkKKyNkZWZpbmUgUEE1X1BGX0NTSV9EMSAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgNSkKKyNkZWZpbmUgUEE2X1BGX0NTSV9EMiAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEE3X1BGX0NTSV9EMyAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgNykKKyNkZWZpbmUgUEE4X1BGX0NTSV9ENCAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgOCkKKyNkZWZpbmUgUEE5X1BGX0NTSV9ENSAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgOSkKKyNkZWZpbmUgUEExMF9QRl9DU0lfRDYgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTApCisjZGVmaW5lIFBBMTFfUEZfQ1NJX0Q3ICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQQTEyX1BGX0NTSV9WU1lOQyAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEExM19QRl9DU0lfSFNZTkMgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTMpCisjZGVmaW5lIFBBMTRfUEZfQ1NJX1BJWENMSyAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQQTE1X1BGX0kyQ19TREEgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQQTE2X1BGX0kyQ19TQ0wgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQQTE3X0FGX0VUTVRSQUNFUEtUNCAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAxNykKKyNkZWZpbmUgUEExN19BSU5fU1BJMl9TUyAgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IDE3KQorI2RlZmluZSBQQTE4X0FGX0VUTVRSQUNFUEtUNSAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAxOCkKKyNkZWZpbmUgUEExOV9BRl9FVE1UUkFDRVBLVDYgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMTkpCisjZGVmaW5lIFBBMjBfQUZfRVRNVFJBQ0VQS1Q3IChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDIwKQorI2RlZmluZSBQQTIxX1BGX0EwICAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEEyMl9QRl9DUzQgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjIpCisjZGVmaW5lIFBBMjNfUEZfQ1M1ICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDIzKQorI2RlZmluZSBQQTI0X1BGX0ExNiAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyNCkKKyNkZWZpbmUgUEEyNF9BRl9FVE1UUkFDRVBLVDAgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjQpCisjZGVmaW5lIFBBMjVfUEZfQTE3ICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI1KQorI2RlZmluZSBQQTI1X0FGX0VUTVRSQUNFUEtUMSAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyNSkKKyNkZWZpbmUgUEEyNl9QRl9BMTggICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBBMjZfQUZfRVRNVFJBQ0VQS1QyIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI2KQorI2RlZmluZSBQQTI3X1BGX0ExOSAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyNykKKyNkZWZpbmUgUEEyN19BRl9FVE1UUkFDRVBLVDMgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjcpCisjZGVmaW5lIFBBMjhfUEZfQTIwICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI4KQorI2RlZmluZSBQQTI4X0FGX0VUTVBJUEVTVEFUMCAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyOCkKKyNkZWZpbmUgUEEyOV9QRl9BMjEgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjkpCisjZGVmaW5lIFBBMjlfQUZfRVRNUElQRVNUQVQxIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI5KQorI2RlZmluZSBQQTMwX1BGX0EyMiAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAzMCkKKyNkZWZpbmUgUEEzMF9BRl9FVE1QSVBFU1RBVDIgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMzApCisjZGVmaW5lIFBBMzFfUEZfQTIzICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDMxKQorI2RlZmluZSBQQTMxX0FGX0VUTVRSQUNFQ0xLICAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAzMSkKKyNkZWZpbmUgUEI4X1BGX1NEX0RBVDAgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOIHwgOCkKKyNkZWZpbmUgUEI4X0FGX01TX1BJTyAgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgOCkKKyNkZWZpbmUgUEI5X1BGX1NEX0RBVDEgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOICB8IDkpCisjZGVmaW5lIFBCOV9BRl9NU19QSTEgICAgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDkpCisjZGVmaW5lIFBCMTBfUEZfU0RfREFUMiAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fUFVFTiAgfCAxMCkKKyNkZWZpbmUgUEIxMF9BRl9NU19TQ0xLSSAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTApCisjZGVmaW5lIFBCMTFfUEZfU0RfREFUMyAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQQjExX0FGX01TX1NESU8gICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMSkKKyNkZWZpbmUgUEIxMl9QRl9TRF9DTEsgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBCMTJfQUZfTVNfU0NMSzAgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDEyKQorI2RlZmluZSBQQjEzX1BGX1NEX0NNRCAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCBHUElPX1BVRU4gfCAxMykKKyNkZWZpbmUgUEIxM19BRl9NU19CUyAgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTMpCisjZGVmaW5lIFBCMTRfQUZfU1NJX1JYRlMgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDE0KQorI2RlZmluZSBQQjE1X0FGX1NTSV9SWENMSyAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxNSkKKyNkZWZpbmUgUEIxNl9BRl9TU0lfUlhEQVQgICAgKEdQSU9fUE9SVEIgfCBHUElPX0lOIHwgR1BJT19BRiB8IDE2KQorI2RlZmluZSBQQjE3X0FGX1NTSV9UWERBVCAgICAoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDE3KQorI2RlZmluZSBQQjE4X0FGX1NTSV9UWEZTICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxOCkKKyNkZWZpbmUgUEIxOV9BRl9TU0lfVFhDTEsgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTkpCisjZGVmaW5lIFBCMjBfUEZfVVNCRF9BRkUgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDIwKQorI2RlZmluZSBQQjIxX1BGX1VTQkRfT0UgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEIyMl9QRlVTQkRfUkNWICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjIpCisjZGVmaW5lIFBCMjNfUEZfVVNCRF9TVVNQTkQgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDIzKQorI2RlZmluZSBQQjI0X1BGX1VTQkRfVlAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyNCkKKyNkZWZpbmUgUEIyNV9QRl9VU0JEX1ZNICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjUpCisjZGVmaW5lIFBCMjZfUEZfVVNCRF9WUE8gICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDI2KQorI2RlZmluZSBQQjI3X1BGX1VTQkRfVk1PICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyNykKKyNkZWZpbmUgUEIyOF9QRl9VQVJUMl9DVFMgICAgKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyOCkKKyNkZWZpbmUgUEIyOV9QRl9VQVJUMl9SVFMgICAgKEdQSU9fUE9SVEIgfCBHUElPX0lOIHwgR1BJT19QRiB8IDI5KQorI2RlZmluZSBQQjMwX1BGX1VBUlQyX1RYRCAgICAoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDMwKQorI2RlZmluZSBQQjMxX1BGX1VBUlQyX1JYRCAgICAoR1BJT19QT1JUQiB8IEdQSU9fSU4gfCBHUElPX1BGIHwgMzEpCisjZGVmaW5lIFBDM19QRl9TU0lfUlhGUyAgICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDMpCisjZGVmaW5lIFBDNF9QRl9TU0lfUlhDTEsgICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDQpCisjZGVmaW5lIFBDNV9QRl9TU0lfUlhEQVQgICAgIChHUElPX1BPUlRDIHwgR1BJT19JTiB8IEdQSU9fUEYgfCA1KQorI2RlZmluZSBQQzZfUEZfU1NJX1RYREFUICAgICAoR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDYpCisjZGVmaW5lIFBDN19QRl9TU0lfVFhGUyAgICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDcpCisjZGVmaW5lIFBDOF9QRl9TU0lfVFhDTEsgICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDgpCisjZGVmaW5lIFBDOV9QRl9VQVJUMV9DVFMgICAgIChHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgOSkKKyNkZWZpbmUgUEMxMF9QRl9VQVJUMV9SVFMgICAgKEdQSU9fUE9SVEMgfCBHUElPX0lOIHwgR1BJT19QRiB8IDEwKQorI2RlZmluZSBQQzExX1BGX1VBUlQxX1RYRCAgICAoR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQQzEyX1BGX1VBUlQxX1JYRCAgICAoR1BJT19QT1JUQyB8IEdQSU9fSU4gfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBDMTNfUEZfU1BJMV9TUElfUkRZIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDEzKQorI2RlZmluZSBQQzE0X1BGX1NQSTFfU0NMSyAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAxNCkKKyNkZWZpbmUgUEMxNV9QRl9TUEkxX1NTICAgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMTUpCisjZGVmaW5lIFBDMTZfUEZfU1BJMV9NSVNPICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQQzE3X1BGX1NQSTFfTU9TSSAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAxNykKKyNkZWZpbmUgUEMyNF9CSU5fVUFSVDNfUkkgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fQklOIHwgMjQpCisjZGVmaW5lIFBDMjVfQklOX1VBUlQzX0RTUiAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX0JJTiB8IDI1KQorI2RlZmluZSBQQzI2X0FPVVRfVUFSVDNfRFRSICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fSU4gfCAyNikKKyNkZWZpbmUgUEMyN19CSU5fVUFSVDNfRENEICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fQklOIHwgMjcpCisjZGVmaW5lIFBDMjhfQklOX1VBUlQzX0NUUyAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX0JJTiB8IDI4KQorI2RlZmluZSBQQzI5X0FPVVRfVUFSVDNfUlRTICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fSU4gfCAyOSkKKyNkZWZpbmUgUEMzMF9CSU5fVUFSVDNfVFggICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX0JJTiB8IDMwKQorI2RlZmluZSBQQzMxX0FPVVRfVUFSVDNfUlggICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fSU4gfCAzMSkKKyNkZWZpbmUgUEQ2X1BGX0xTQ0xLICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQRDdfUEZfUkVWICAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fUEYgfCA3KQorI2RlZmluZSBQRDdfQUZfVUFSVDJfRFRSICAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FGIHwgNykKKyNkZWZpbmUgUEQ3X0FJTl9TUEkyX1NDTEsgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0FJTiB8IDcpCisjZGVmaW5lIFBEOF9QRl9DTFMgICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19QRiB8IDgpCisjZGVmaW5lIFBEOF9BRl9VQVJUMl9EQ0QgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgOCkKKyNkZWZpbmUgUEQ4X0FJTl9TUEkyX1NTICAgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0FJTiB8IDgpCisjZGVmaW5lIFBEOV9QRl9QUyAgICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19QRiB8IDkpCisjZGVmaW5lIFBEOV9BRl9VQVJUMl9SSSAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgOSkKKyNkZWZpbmUgUEQ5X0FPVVRfU1BJMl9SWEQgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgOSkKKyNkZWZpbmUgUEQxMF9QRl9TUExfU1BSICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEQxMF9BRl9VQVJUMl9EU1IgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAxMCkKKyNkZWZpbmUgUEQxMF9BSU5fU1BJMl9UWEQgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IDEwKQorI2RlZmluZSBQRDExX1BGX0NPTlRSQVNUICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQRDEyX1BGX0FDRF9PRSAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQRDEzX1BGX0xQX0hTWU5DICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEzKQorI2RlZmluZSBQRDE0X1BGX0ZMTV9WU1lOQyAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQRDE1X1BGX0xEMCAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQRDE2X1BGX0xEMSAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQRDE3X1BGX0xEMiAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE3KQorI2RlZmluZSBQRDE4X1BGX0xEMyAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE4KQorI2RlZmluZSBQRDE5X1BGX0xENCAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE5KQorI2RlZmluZSBQRDIwX1BGX0xENSAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIwKQorI2RlZmluZSBQRDIxX1BGX0xENiAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQRDIyX1BGX0xENyAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIyKQorI2RlZmluZSBQRDIzX1BGX0xEOCAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIzKQorI2RlZmluZSBQRDI0X1BGX0xEOSAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI0KQorI2RlZmluZSBQRDI1X1BGX0xEMTAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI1KQorI2RlZmluZSBQRDI2X1BGX0xEMTEgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI2KQorI2RlZmluZSBQRDI3X1BGX0xEMTIgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI3KQorI2RlZmluZSBQRDI4X1BGX0xEMTMgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI4KQorI2RlZmluZSBQRDI5X1BGX0xEMTQgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI5KQorI2RlZmluZSBQRDMwX1BGX0xEMTUgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDMwKQorI2RlZmluZSBQRDMxX1BGX1RNUjJPVVQgICAgICAoR1BJT19QT1JURCB8IEdQSU9fUEYgfCAzMSkKKyNkZWZpbmUgUEQzMV9CSU5fU1BJMl9UWEQgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0JJTiB8IDMxKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQVJDSF9NWDIKKyNkZWZpbmUgUEE1X1BGX0xTQ0xLCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDUpCisjZGVmaW5lIFBBNl9QRl9MRDAJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEE3X1BGX0xEMQkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA3KQorI2RlZmluZSBQQThfUEZfTEQyCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDgpCisjZGVmaW5lIFBBOV9QRl9MRDMJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgOSkKKyNkZWZpbmUgUEExMF9QRl9MRDQJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTApCisjZGVmaW5lIFBBMTFfUEZfTEQ1CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQQTEyX1BGX0xENgkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEExM19QRl9MRDcJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTMpCisjZGVmaW5lIFBBMTRfUEZfTEQ4CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQQTE1X1BGX0xEOQkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNSkKKyNkZWZpbmUgUEExNl9QRl9MRDEwCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQQTE3X1BGX0xEMTEJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBBMThfUEZfTEQxMgkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOCkKKyNkZWZpbmUgUEExOV9QRl9MRDEzCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE5KQorI2RlZmluZSBQQTIwX1BGX0xEMTQJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjApCisjZGVmaW5lIFBBMjFfUEZfTEQxNQkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEEyMl9QRl9MRDE2CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIyKQorI2RlZmluZSBQQTIzX1BGX0xEMTcJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjMpCisjZGVmaW5lIFBBMjRfUEZfUkVWCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI0KQorI2RlZmluZSBQQTI1X1BGX0NMUwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNSkKKyNkZWZpbmUgUEEyNl9QRl9QUwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNikKKyNkZWZpbmUgUEEyN19QRl9TUExfU1BSCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI3KQorI2RlZmluZSBQQTI4X1BGX0hTWU5DCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI4KQorI2RlZmluZSBQQTI5X1BGX1ZTWU5DCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI5KQorI2RlZmluZSBQQTMwX1BGX0NPTlRSQVNUCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMzApCisjZGVmaW5lIFBBMzFfUEZfT0VfQUNECQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDMxKQorI2RlZmluZSBQQjEwX1BGX0NTSV9EMAkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEIxMF9BRl9VQVJUNl9UWEQJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAxMCkKKyNkZWZpbmUgUEIxMV9QRl9DU0lfRDEJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBCMTFfQUZfVUFSVDZfUlhECShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMTEpCisjZGVmaW5lIFBCMTJfUEZfQ1NJX0QyCQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQQjEyX0FGX1VBUlQ2X0NUUwkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDEyKQorI2RlZmluZSBQQjEzX1BGX0NTSV9EMwkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMykKKyNkZWZpbmUgUEIxM19BRl9VQVJUNl9SVFMJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAxMykKKyNkZWZpbmUgUEIxNF9QRl9DU0lfRDQJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTQpCisjZGVmaW5lIFBCMTVfUEZfQ1NJX01DTEsJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNSkKKyNkZWZpbmUgUEIxNl9QRl9DU0lfUElYQ0xLCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBCMTdfUEZfQ1NJX0Q1CQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE3KQorI2RlZmluZSBQQjE4X1BGX0NTSV9ENgkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOCkKKyNkZWZpbmUgUEIxOF9BRl9VQVJUNV9UWEQJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAxOCkKKyNkZWZpbmUgUEIxOV9QRl9DU0lfRDcJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTkpCisjZGVmaW5lIFBCMTlfQUZfVUFSVDVfUlhECShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMTkpCisjZGVmaW5lIFBCMjBfUEZfQ1NJX1ZTWU5DCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjApCisjZGVmaW5lIFBCMjBfQUZfVUFSVDVfQ1RTCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjApCisjZGVmaW5lIFBCMjFfUEZfQ1NJX0hTWU5DCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjEpCisjZGVmaW5lIFBCMjFfQUZfVUFSVDVfUlRTCShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMjEpCisjZGVmaW5lIFBCMjZfQUZfVUFSVDRfUlRTCShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBCMjhfQUZfVUFSVDRfVFhECShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjgpCisjZGVmaW5lIFBCMjlfQUZfVUFSVDRfQ1RTCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjkpCisjZGVmaW5lIFBCMzFfQUZfVUFSVDRfUlhECShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMzEpCisjZGVmaW5lIFBDNV9QRl9JMkMyX1NEQQkJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCA1KQorI2RlZmluZSBQQzZfUEZfSTJDMl9TQ0wJCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEMxNl9QRl9TU0k0X0ZTCQkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQQzE3X1BGX1NTSTRfUlhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBDMThfUEZfU1NJNF9UWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxOCkKKyNkZWZpbmUgUEMxOV9QRl9TU0k0X0NMSwkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDE5KQorI2RlZmluZSBQQzIwX1BGX1NTSTFfRlMJCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjApCisjZGVmaW5lIFBDMjFfUEZfU1NJMV9SWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEMyMl9QRl9TU0kxX1RYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDIyKQorI2RlZmluZSBQQzIzX1BGX1NTSTFfQ0xLCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjMpCisjZGVmaW5lIFBDMjRfUEZfU1NJMl9GUwkJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyNCkKKyNkZWZpbmUgUEMyNV9QRl9TU0kyX1JYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI1KQorI2RlZmluZSBQQzI2X1BGX1NTSTJfVFhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBDMjdfUEZfU1NJMl9DTEsJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyNykKKyNkZWZpbmUgUEMyOF9QRl9TU0kzX0ZTCQkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI4KQorI2RlZmluZSBQQzI5X1BGX1NTSTNfUlhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjkpCisjZGVmaW5lIFBDMzBfUEZfU1NJM19UWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAzMCkKKyNkZWZpbmUgUEMzMV9QRl9TU0kzX0NMSwkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDMxKQorI2RlZmluZSBQRDBfQUlOX0ZFQ19UWEQwCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDApCisjZGVmaW5lIFBEMV9BSU5fRkVDX1RYRDEJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMSkKKyNkZWZpbmUgUEQyX0FJTl9GRUNfVFhEMgkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCAyKQorI2RlZmluZSBQRDNfQUlOX0ZFQ19UWEQzCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDMpCisjZGVmaW5lIFBENF9BT1VUX0ZFQ19SWF9FUgkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCA0KQorI2RlZmluZSBQRDVfQU9VVF9GRUNfUlhEMQkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCA1KQorI2RlZmluZSBQRDZfQU9VVF9GRUNfUlhEMgkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCA2KQorI2RlZmluZSBQRDdfQU9VVF9GRUNfUlhEMwkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCA3KQorI2RlZmluZSBQRDhfQUZfRkVDX01ESU8JCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQUYgfCA4KQorI2RlZmluZSBQRDlfQUlOX0ZFQ19NREMJCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDkpCisjZGVmaW5lIFBEMTBfQU9VVF9GRUNfQ1JTCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDEwKQorI2RlZmluZSBQRDExX0FPVVRfRkVDX1RYX0NMSwkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCAxMSkKKyNkZWZpbmUgUEQxMl9BT1VUX0ZFQ19SWEQwCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDEyKQorI2RlZmluZSBQRDEzX0FPVVRfRkVDX1JYX0RWCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDEzKQorI2RlZmluZSBQRDE0X0FPVVRfRkVDX0NMUgkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCAxNCkKKyNkZWZpbmUgUEQxNV9BT1VUX0ZFQ19DT0wJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMTUpCisjZGVmaW5lIFBEMTZfQUlOX0ZFQ19UWF9FUgkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCAxNikKKyNkZWZpbmUgUEQxN19QRl9JMkNfREFUQQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE3KQorI2RlZmluZSBQRDE4X1BGX0kyQ19DTEsJCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTgpCisjZGVmaW5lIFBEMjVfUEZfQ1NQSTFfUkRZCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGICB8IDI1KQorI2RlZmluZSBQRDI2X1BGX0NTUEkxX1NTMgkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiAgfCAyNikKKyNkZWZpbmUgUEQyN19QRl9DU1BJMV9TUzEJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMjcpCisjZGVmaW5lIFBEMjhfUEZfQ1NQSTFfU1MwCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGICB8IDI4KQorI2RlZmluZSBQRDI5X1BGX0NTUEkxX1NDTEsJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMjkpCisjZGVmaW5lIFBEMzBfUEZfQ1NQSTFfTUlTTwkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX1BGICB8IDMwKQorI2RlZmluZSBQRDMxX1BGX0NTUEkxX01PU0kJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMzEpCisjZGVmaW5lIFBGMjNfQUlOX0ZFQ19UWF9FTgkoR1BJT19QT1JURiB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCAyMykKKyNkZWZpbmUgUEUzX1BGX1VBUlQyX0NUUwkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDMpCisjZGVmaW5lIFBFNF9QRl9VQVJUMl9SVFMJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCA0KQorI2RlZmluZSBQRTZfUEZfVUFSVDJfVFhECShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEU3X1BGX1VBUlQyX1JYRAkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDcpCisjZGVmaW5lIFBFOF9QRl9VQVJUM19UWEQJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA4KQorI2RlZmluZSBQRTlfUEZfVUFSVDNfUlhECShHUElPX1BPUlRFIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgOSkKKyNkZWZpbmUgUEUxMF9QRl9VQVJUM19DVFMJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEUxMV9QRl9VQVJUM19SVFMJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxMSkKKyNkZWZpbmUgUEUxMl9QRl9VQVJUMV9UWEQJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEUxM19QRl9VQVJUMV9SWEQJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxMykKKyNkZWZpbmUgUEUxNF9QRl9VQVJUMV9DVFMJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNCkKKyNkZWZpbmUgUEUxNV9QRl9VQVJUMV9SVFMJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxNSkKKyNkZWZpbmUgUEUxOF9BRl9DU1BJM19NSVNPCShHUElPX1BPUlRFIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMTgpCisjZGVmaW5lIFBFMjFfQUZfQ1NQSTNfU1MJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyMSkKKyNkZWZpbmUgUEUyMl9BRl9DU1BJM19NT1NJCShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjIpCisjZGVmaW5lIFBFMjNfQUZfQ1NQSTNfU0NMSwkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDIzKQorI2VuZGlmCisKKy8qIGRlY29kZSBpcnEgbnVtYmVyIHRvIHVzZSB3aXRoIElNUih4KSwgSVNSKHgpIGFuZCBmcmllbmRzICovCisjZGVmaW5lIElSUV9UT19SRUcoaXJxKSAoKGlycSAtIE1YQ19NQVhfSU5UX0xJTkVTKSA+PiA1KQorCisjZGVmaW5lIElSUV9HUElPQSh4KSAgKE1YQ19NQVhfSU5UX0xJTkVTICsgeCkKKyNkZWZpbmUgSVJRX0dQSU9CKHgpICAoSVJRX0dQSU9BKDMyKSArIHgpCisjZGVmaW5lIElSUV9HUElPQyh4KSAgKElSUV9HUElPQigzMikgKyB4KQorI2RlZmluZSBJUlFfR1BJT0QoeCkgIChJUlFfR1BJT0MoMzIpICsgeCkKKworI2VuZGlmIC8qIF9NWENfR1BJT19NWDFfTVgyX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pb211eC1teDMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pb211eC1teDMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTA5ZTc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14My5oCkBAIC0wLDAgKzEsNTAxIEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19NQUNIX01YMzFfSU9NVVhfSF9fCisjZGVmaW5lIF9fTUFDSF9NWDMxX0lPTVVYX0hfXworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworLyoKKyAqIHZhcmlvdXMgSU9NVVggb3V0cHV0IGZ1bmN0aW9ucworICovCisKKyNkZWZpbmUJSU9NVVhfT0NPTkZJR19HUElPICgwIDw8IDQpCS8qIHVzZWQgYXMgR1BJTyAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0ZVTkMgKDEgPDwgNCkJLyogdXNlZCBhcyBmdW5jdGlvbiAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDEgKDIgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gMSAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDIgKDMgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gMiAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDMgKDQgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gMyAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDQgKDUgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gNCAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDUgKDYgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gNSAqLworI2RlZmluZQlJT01VWF9PQ09ORklHX0FMVDYgKDcgPDwgNCkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gNiAqLworI2RlZmluZQlJT01VWF9JQ09ORklHX05PTkUgIDAJIAkvKiBub3QgY29uZmlndXJlZCBmb3IgaW5wdXQgKi8KKyNkZWZpbmUJSU9NVVhfSUNPTkZJR19HUElPICAxCQkvKiB1c2VkIGFzIEdQSU8gKi8KKyNkZWZpbmUJSU9NVVhfSUNPTkZJR19GVU5DICAyCQkvKiB1c2VkIGFzIGZ1bmN0aW9uICovCisjZGVmaW5lCUlPTVVYX0lDT05GSUdfQUxUMSAgNAkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gMSAqLworI2RlZmluZQlJT01VWF9JQ09ORklHX0FMVDIgIDgJCS8qIHVzZWQgYXMgYWx0ZXJuYXRlIGZ1bmN0aW9uIDIgKi8KKworI2RlZmluZSBJT01VWF9DT05GSUdfR1BJTyAoSU9NVVhfT0NPTkZJR19HUElPIHwgSU9NVVhfSUNPTkZJR19HUElPKQorI2RlZmluZSBJT01VWF9DT05GSUdfRlVOQyAoSU9NVVhfT0NPTkZJR19GVU5DIHwgSU9NVVhfSUNPTkZJR19GVU5DKQorI2RlZmluZSBJT01VWF9DT05GSUdfQUxUMSAoSU9NVVhfT0NPTkZJR19BTFQxIHwgSU9NVVhfSUNPTkZJR19BTFQxKQorI2RlZmluZSBJT01VWF9DT05GSUdfQUxUMiAoSU9NVVhfT0NPTkZJR19BTFQyIHwgSU9NVVhfSUNPTkZJR19BTFQyKQorCisvKgorICogdmFyaW91cyBJT01VWCBwYWQgZnVuY3Rpb25zCisgKi8KK2VudW0gaW9tdXhfcGFkX2NvbmZpZyB7CisJUEFEX0NUTF9OT0xPT1BCQUNLCT0gMHgwIDw8IDksCisJUEFEX0NUTF9MT09QQkFDSwk9IDB4MSA8PCA5LAorCVBBRF9DVExfUEtFX05PTkUJPSAweDAgPDwgOCwKKwlQQURfQ1RMX1BLRV9FTkFCTEUJPSAweDEgPDwgOCwKKwlQQURfQ1RMX1BVRV9LRUVQRVIJPSAweDAgPDwgNywKKwlQQURfQ1RMX1BVRV9QVUQJCT0gMHgxIDw8IDcsCisJUEFEX0NUTF8xMDBLX1BECQk9IDB4MCA8PCA1LAorCVBBRF9DVExfMTAwS19QVQkJPSAweDEgPDwgNSwKKwlQQURfQ1RMXzQ3S19QVQkJPSAweDIgPDwgNSwKKwlQQURfQ1RMXzIyS19QVQkJPSAweDMgPDwgNSwKKwlQQURfQ1RMX0hZU19DTU9TCT0gMHgwIDw8IDQsCisJUEFEX0NUTF9IWVNfU0NITUlUWgk9IDB4MSA8PCA0LAorCVBBRF9DVExfT0RFX0NNT1MJPSAweDAgPDwgMywKKwlQQURfQ1RMX09ERV9PcGVuRHJhaW4JPSAweDEgPDwgMywKKwlQQURfQ1RMX0RSVl9OT1JNQUwJPSAweDAgPDwgMSwKKwlQQURfQ1RMX0RSVl9ISUdICT0gMHgxIDw8IDEsCisJUEFEX0NUTF9EUlZfTUFYCQk9IDB4MiA8PCAxLAorCVBBRF9DVExfU1JFX1NMT1cJPSAweDAgPDwgMCwKKwlQQURfQ1RMX1NSRV9GQVNUCT0gMHgxIDw8IDAKK307CisKKy8qCisgKiB2YXJpb3VzIElPTVVYIGdlbmVyYWwgcHVycG9zZSBmdW5jdGlvbnMKKyAqLworZW51bSBpb211eF9ncF9mdW5jIHsKKwlNVVhfUEdQX0ZJUkkJCQk9IDEgPDwgMCwKKwlNVVhfRERSX01PREUJCQk9IDEgPDwgMSwKKwlNVVhfUEdQX0NTUElfQkIJCQk9IDEgPDwgMiwKKwlNVVhfUEdQX0FUQV8xCQkJPSAxIDw8IDMsCisJTVVYX1BHUF9BVEFfMgkJCT0gMSA8PCA0LAorCU1VWF9QR1BfQVRBXzMJCQk9IDEgPDwgNSwKKwlNVVhfUEdQX0FUQV80CQkJPSAxIDw8IDYsCisJTVVYX1BHUF9BVEFfNQkJCT0gMSA8PCA3LAorCU1VWF9QR1BfQVRBXzYJCQk9IDEgPDwgOCwKKwlNVVhfUEdQX0FUQV83CQkJPSAxIDw8IDksCisJTVVYX1BHUF9BVEFfOAkJCT0gMSA8PCAxMCwKKwlNVVhfUEdQX1VIMgkJCT0gMSA8PCAxMSwKKwlNVVhfU0RDVExfQ1NEMF9TRUwJCT0gMSA8PCAxMiwKKwlNVVhfU0RDVExfQ1NEMV9TRUwJCT0gMSA8PCAxMywKKwlNVVhfQ1NQSTFfVUFSVDMJCQk9IDEgPDwgMTQsCisJTVVYX0VYVERNQVJFUTJfTUJYX1NFTAkJPSAxIDw8IDE1LAorCU1VWF9UQU1QRVJfREVURUNUX0VOCQk9IDEgPDwgMTYsCisJTVVYX1BHUF9VU0JfNFdJUkUJCT0gMSA8PCAxNywKKwlNVVhfUEdCX1VTQl9DT01NT04JCT0gMSA8PCAxOCwKKwlNVVhfU0RIQ19NRU1TVElDSzEJCT0gMSA8PCAxOSwKKwlNVVhfU0RIQ19NRU1TVElDSzIJCT0gMSA8PCAyMCwKKwlNVVhfUEdQX1NQTExfQllQCQk9IDEgPDwgMjEsCisJTVVYX1BHUF9VUExMX0JZUAkJPSAxIDw8IDIyLAorCU1VWF9QR1BfTVNIQzFfQ0xLX1NFTAkJPSAxIDw8IDIzLAorCU1VWF9QR1BfTVNIQzJfQ0xLX1NFTAkJPSAxIDw8IDI0LAorCU1VWF9DU1BJM19VQVJUNV9TRUwJCT0gMSA8PCAyNSwKKwlNVVhfUEdQX0FUQV85CQkJPSAxIDw8IDI2LAorCU1VWF9QR1BfVVNCX1NVU1BFTkQJCT0gMSA8PCAyNywKKwlNVVhfUEdQX1VTQl9PVEdfTE9PUEJBQ0sJPSAxIDw8IDI4LAorCU1VWF9QR1BfVVNCX0hTMV9MT09QQkFDSwk9IDEgPDwgMjksCisJTVVYX1BHUF9VU0JfSFMyX0xPT1BCQUNLCT0gMSA8PCAzMCwKKwlNVVhfQ0xLT19ERFJfTU9ERQkJPSAxIDw8IDMxLAorfTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcy9kaXNhYmxlcyB0aGUgZ2VuZXJhbCBwdXJwb3NlIGZ1bmN0aW9uIGZvciBhIHBhcnRpY3VsYXIKKyAqIHNpZ25hbC4KKyAqLwordm9pZCBpb211eF9jb25maWdfZ3ByKGVudW0gaW9tdXhfZ3BfZnVuYyAsIGJvb2wpOworCisvKgorICogc2V0IHRoZSBtb2RlIGZvciBhIElPTVVYIHBpbi4KKyAqLworaW50IG14Y19pb211eF9tb2RlKHVuc2lnbmVkIGludCk7CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGVuYWJsZXMvZGlzYWJsZXMgdGhlIGdlbmVyYWwgcHVycG9zZSBmdW5jdGlvbiBmb3IgYSBwYXJ0aWN1bGFyCisgKiBzaWduYWwuCisgKi8KK3ZvaWQgbXhjX2lvbXV4X3NldF9ncHIoZW51bSBpb211eF9ncF9mdW5jLCBib29sKTsKKworI2RlZmluZSBJT01VWF9QQUROVU1fTUFTSwkweDFmZgorI2RlZmluZSBJT01VWF9HUElPTlVNX1NISUZUCTkKKyNkZWZpbmUgSU9NVVhfR1BJT05VTV9NQVNLCSgweGZmIDw8IElPTVVYX0dQSU9OVU1fU0hJRlQpCisjZGVmaW5lIElPTVVYX01PREVfU0hJRlQJMTcKKyNkZWZpbmUgSU9NVVhfTU9ERV9NQVNLCSgweGZmIDw8IElPTVVYX01PREVfU0hJRlQpCisKKyNkZWZpbmUgSU9NVVhfUElOKGdwaW9udW0sIHBhZG51bSkgXAorCSgoKGdwaW9udW0gPDwgSU9NVVhfR1BJT05VTV9TSElGVCkgJiBJT01VWF9HUElPTlVNX01BU0spIHwgXAorCSAocGFkbnVtICYgSU9NVVhfUEFETlVNX01BU0spKQorCisjZGVmaW5lIElPTVVYX01PREUocGluLCBtb2RlKSAocGluIHwgbW9kZSA8PCBJT01VWF9NT0RFX1NISUZUKQorCisjZGVmaW5lIElPTVVYX1RPX0dQSU8oaW9tdXhfcGluKSBcCisJKChpb211eF9waW4gJiBJT01VWF9HUElPTlVNX01BU0spID4+IElPTVVYX0dQSU9OVU1fU0hJRlQpCisjZGVmaW5lIElPTVVYX1RPX0lSUShpb211eF9waW4pIFwKKwkoKChpb211eF9waW4gJiBJT01VWF9HUElPTlVNX01BU0spID4+IElPTVVYX0dQSU9OVU1fU0hJRlQpICsgXAorCU1YQ19HUElPX0lOVF9CQVNFKQorCisvKgorICogVGhpcyBlbnVtZXJhdGlvbiBpcyBjb25zdHJ1Y3RlZCBiYXNlZCBvbiB0aGUgU2VjdGlvbgorICogInN3X3BhZF9jdGwgJiBzd19tdXhfY3RsIGRldGFpbHMiIG9mIHRoZSBNWDMxIElDIFNwZWMuIEVhY2ggZW51bWVyYXRlZAorICogdmFsdWUgaXMgY29uc3RydWN0ZWQgYmFzZWQgb24gdGhlIHJ1bGVzIGRlc2NyaWJlZCBhYm92ZS4KKyAqLworCitlbnVtIGlvbXV4X3BpbnMgeworCU1YMzFfUElOX1RUTV9QQUQJPSBJT01VWF9QSU4oMHhmZiwgICAwKSwKKwlNWDMxX1BJTl9DU1BJM19TUElfUkRZCT0gSU9NVVhfUElOKDB4ZmYsICAgMSksCisJTVgzMV9QSU5fQ1NQSTNfU0NMSwk9IElPTVVYX1BJTigweGZmLCAgIDIpLAorCU1YMzFfUElOX0NTUEkzX01JU08JPSBJT01VWF9QSU4oMHhmZiwgICAzKSwKKwlNWDMxX1BJTl9DU1BJM19NT1NJCT0gSU9NVVhfUElOKDB4ZmYsICAgNCksCisJTVgzMV9QSU5fQ0xLU1MJCT0gSU9NVVhfUElOKDB4ZmYsICAgNSksCisJTVgzMV9QSU5fQ0VfQ09OVFJPTAk9IElPTVVYX1BJTigweGZmLCAgIDYpLAorCU1YMzFfUElOX0FUQV9SRVNFVF9CCT0gSU9NVVhfUElOKDk1LCAgICAgNyksCisJTVgzMV9QSU5fQVRBX0RNQUNLCT0gSU9NVVhfUElOKDk0LCAgICAgOCksCisJTVgzMV9QSU5fQVRBX0RJT1cJPSBJT01VWF9QSU4oOTMsICAgICA5KSwKKwlNWDMxX1BJTl9BVEFfRElPUgk9IElPTVVYX1BJTig5MiwgICAgMTApLAorCU1YMzFfUElOX0FUQV9DUzEJPSBJT01VWF9QSU4oOTEsICAgIDExKSwKKwlNWDMxX1BJTl9BVEFfQ1MwCT0gSU9NVVhfUElOKDkwLCAgICAxMiksCisJTVgzMV9QSU5fU0QxX0RBVEEzCT0gSU9NVVhfUElOKDYzLCAgICAxMyksCisJTVgzMV9QSU5fU0QxX0RBVEEyCT0gSU9NVVhfUElOKDYyLCAgICAxNCksCisJTVgzMV9QSU5fU0QxX0RBVEExCT0gSU9NVVhfUElOKDYxLCAgICAxNSksCisJTVgzMV9QSU5fU0QxX0RBVEEwCT0gSU9NVVhfUElOKDYwLCAgICAxNiksCisJTVgzMV9QSU5fU0QxX0NMSwk9IElPTVVYX1BJTig1OSwgICAgMTcpLAorCU1YMzFfUElOX1NEMV9DTUQJPSBJT01VWF9QSU4oNTgsICAgIDE4KSwKKwlNWDMxX1BJTl9EM19TUEwJCT0gSU9NVVhfUElOKDB4ZmYsICAxOSksCisJTVgzMV9QSU5fRDNfQ0xTCQk9IElPTVVYX1BJTigweGZmLCAgMjApLAorCU1YMzFfUElOX0QzX1JFVgkJPSBJT01VWF9QSU4oMHhmZiwgIDIxKSwKKwlNWDMxX1BJTl9DT05UUkFTVAk9IElPTVVYX1BJTigweGZmLCAgMjIpLAorCU1YMzFfUElOX1ZTWU5DMwkJPSBJT01VWF9QSU4oMHhmZiwgIDIzKSwKKwlNWDMxX1BJTl9SRUFECQk9IElPTVVYX1BJTigweGZmLCAgMjQpLAorCU1YMzFfUElOX1dSSVRFCQk9IElPTVVYX1BJTigweGZmLCAgMjUpLAorCU1YMzFfUElOX1BBUl9SUwkJPSBJT01VWF9QSU4oMHhmZiwgIDI2KSwKKwlNWDMxX1BJTl9TRVJfUlMJCT0gSU9NVVhfUElOKDg5LCAgICAyNyksCisJTVgzMV9QSU5fTENTMQkJPSBJT01VWF9QSU4oODgsICAgIDI4KSwKKwlNWDMxX1BJTl9MQ1MwCQk9IElPTVVYX1BJTig4NywgICAgMjkpLAorCU1YMzFfUElOX1NEX0RfQ0xLCT0gSU9NVVhfUElOKDg2LCAgICAzMCksCisJTVgzMV9QSU5fU0RfRF9JTwk9IElPTVVYX1BJTig4NSwgICAgMzEpLAorCU1YMzFfUElOX1NEX0RfSQkJPSBJT01VWF9QSU4oODQsICAgIDMyKSwKKwlNWDMxX1BJTl9EUkRZMAkJPSBJT01VWF9QSU4oMHhmZiwgIDMzKSwKKwlNWDMxX1BJTl9GUFNISUZUCT0gSU9NVVhfUElOKDB4ZmYsICAzNCksCisJTVgzMV9QSU5fSFNZTkMJCT0gSU9NVVhfUElOKDB4ZmYsICAzNSksCisJTVgzMV9QSU5fVlNZTkMwCQk9IElPTVVYX1BJTigweGZmLCAgMzYpLAorCU1YMzFfUElOX0xEMTcJCT0gSU9NVVhfUElOKDB4ZmYsICAzNyksCisJTVgzMV9QSU5fTEQxNgkJPSBJT01VWF9QSU4oMHhmZiwgIDM4KSwKKwlNWDMxX1BJTl9MRDE1CQk9IElPTVVYX1BJTigweGZmLCAgMzkpLAorCU1YMzFfUElOX0xEMTQJCT0gSU9NVVhfUElOKDB4ZmYsICA0MCksCisJTVgzMV9QSU5fTEQxMwkJPSBJT01VWF9QSU4oMHhmZiwgIDQxKSwKKwlNWDMxX1BJTl9MRDEyCQk9IElPTVVYX1BJTigweGZmLCAgNDIpLAorCU1YMzFfUElOX0xEMTEJCT0gSU9NVVhfUElOKDB4ZmYsICA0MyksCisJTVgzMV9QSU5fTEQxMAkJPSBJT01VWF9QSU4oMHhmZiwgIDQ0KSwKKwlNWDMxX1BJTl9MRDkJCT0gSU9NVVhfUElOKDB4ZmYsICA0NSksCisJTVgzMV9QSU5fTEQ4CQk9IElPTVVYX1BJTigweGZmLCAgNDYpLAorCU1YMzFfUElOX0xENwkJPSBJT01VWF9QSU4oMHhmZiwgIDQ3KSwKKwlNWDMxX1BJTl9MRDYJCT0gSU9NVVhfUElOKDB4ZmYsICA0OCksCisJTVgzMV9QSU5fTEQ1CQk9IElPTVVYX1BJTigweGZmLCAgNDkpLAorCU1YMzFfUElOX0xENAkJPSBJT01VWF9QSU4oMHhmZiwgIDUwKSwKKwlNWDMxX1BJTl9MRDMJCT0gSU9NVVhfUElOKDB4ZmYsICA1MSksCisJTVgzMV9QSU5fTEQyCQk9IElPTVVYX1BJTigweGZmLCAgNTIpLAorCU1YMzFfUElOX0xEMQkJPSBJT01VWF9QSU4oMHhmZiwgIDUzKSwKKwlNWDMxX1BJTl9MRDAJCT0gSU9NVVhfUElOKDB4ZmYsICA1NCksCisJTVgzMV9QSU5fVVNCSDJfREFUQTEJPSBJT01VWF9QSU4oMHhmZiwgIDU1KSwKKwlNWDMxX1BJTl9VU0JIMl9EQVRBMAk9IElPTVVYX1BJTigweGZmLCAgNTYpLAorCU1YMzFfUElOX1VTQkgyX05YVAk9IElPTVVYX1BJTigweGZmLCAgNTcpLAorCU1YMzFfUElOX1VTQkgyX1NUUAk9IElPTVVYX1BJTigweGZmLCAgNTgpLAorCU1YMzFfUElOX1VTQkgyX0RJUgk9IElPTVVYX1BJTigweGZmLCAgNTkpLAorCU1YMzFfUElOX1VTQkgyX0NMSwk9IElPTVVYX1BJTigweGZmLCAgNjApLAorCU1YMzFfUElOX1VTQk9UR19EQVRBNwk9IElPTVVYX1BJTigweGZmLCAgNjEpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBNgk9IElPTVVYX1BJTigweGZmLCAgNjIpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBNQk9IElPTVVYX1BJTigweGZmLCAgNjMpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBNAk9IElPTVVYX1BJTigweGZmLCAgNjQpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBMwk9IElPTVVYX1BJTigweGZmLCAgNjUpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBMgk9IElPTVVYX1BJTigweGZmLCAgNjYpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBMQk9IElPTVVYX1BJTigweGZmLCAgNjcpLAorCU1YMzFfUElOX1VTQk9UR19EQVRBMAk9IElPTVVYX1BJTigweGZmLCAgNjgpLAorCU1YMzFfUElOX1VTQk9UR19OWFQJPSBJT01VWF9QSU4oMHhmZiwgIDY5KSwKKwlNWDMxX1BJTl9VU0JPVEdfU1RQCT0gSU9NVVhfUElOKDB4ZmYsICA3MCksCisJTVgzMV9QSU5fVVNCT1RHX0RJUgk9IElPTVVYX1BJTigweGZmLCAgNzEpLAorCU1YMzFfUElOX1VTQk9UR19DTEsJPSBJT01VWF9QSU4oMHhmZiwgIDcyKSwKKwlNWDMxX1BJTl9VU0JfQllQCT0gSU9NVVhfUElOKDMxLCAgICA3MyksCisJTVgzMV9QSU5fVVNCX09DCQk9IElPTVVYX1BJTigzMCwgICAgNzQpLAorCU1YMzFfUElOX1VTQl9QV1IJPSBJT01VWF9QSU4oMjksICAgIDc1KSwKKwlNWDMxX1BJTl9TSkNfTU9ECT0gSU9NVVhfUElOKDB4ZmYsICA3NiksCisJTVgzMV9QSU5fREVfQgkJPSBJT01VWF9QSU4oMHhmZiwgIDc3KSwKKwlNWDMxX1BJTl9UUlNUQgkJPSBJT01VWF9QSU4oMHhmZiwgIDc4KSwKKwlNWDMxX1BJTl9URE8JCT0gSU9NVVhfUElOKDB4ZmYsICA3OSksCisJTVgzMV9QSU5fVERJCQk9IElPTVVYX1BJTigweGZmLCAgODApLAorCU1YMzFfUElOX1RNUwkJPSBJT01VWF9QSU4oMHhmZiwgIDgxKSwKKwlNWDMxX1BJTl9UQ0sJCT0gSU9NVVhfUElOKDB4ZmYsICA4MiksCisJTVgzMV9QSU5fUlRDSwkJPSBJT01VWF9QSU4oMHhmZiwgIDgzKSwKKwlNWDMxX1BJTl9LRVlfQ09MNwk9IElPTVVYX1BJTig1NywgICAgODQpLAorCU1YMzFfUElOX0tFWV9DT0w2CT0gSU9NVVhfUElOKDU2LCAgICA4NSksCisJTVgzMV9QSU5fS0VZX0NPTDUJPSBJT01VWF9QSU4oNTUsICAgIDg2KSwKKwlNWDMxX1BJTl9LRVlfQ09MNAk9IElPTVVYX1BJTig1NCwgICAgODcpLAorCU1YMzFfUElOX0tFWV9DT0wzCT0gSU9NVVhfUElOKDB4ZmYsICA4OCksCisJTVgzMV9QSU5fS0VZX0NPTDIJPSBJT01VWF9QSU4oMHhmZiwgIDg5KSwKKwlNWDMxX1BJTl9LRVlfQ09MMQk9IElPTVVYX1BJTigweGZmLCAgOTApLAorCU1YMzFfUElOX0tFWV9DT0wwCT0gSU9NVVhfUElOKDB4ZmYsICA5MSksCisJTVgzMV9QSU5fS0VZX1JPVzcJPSBJT01VWF9QSU4oNTMsICAgIDkyKSwKKwlNWDMxX1BJTl9LRVlfUk9XNgk9IElPTVVYX1BJTig1MiwgICAgOTMpLAorCU1YMzFfUElOX0tFWV9ST1c1CT0gSU9NVVhfUElOKDUxLCAgICA5NCksCisJTVgzMV9QSU5fS0VZX1JPVzQJPSBJT01VWF9QSU4oNTAsICAgIDk1KSwKKwlNWDMxX1BJTl9LRVlfUk9XMwk9IElPTVVYX1BJTigweGZmLCAgOTYpLAorCU1YMzFfUElOX0tFWV9ST1cyCT0gSU9NVVhfUElOKDB4ZmYsICA5NyksCisJTVgzMV9QSU5fS0VZX1JPVzEJPSBJT01VWF9QSU4oMHhmZiwgIDk4KSwKKwlNWDMxX1BJTl9LRVlfUk9XMAk9IElPTVVYX1BJTigweGZmLCAgOTkpLAorCU1YMzFfUElOX0JBVFRfTElORQk9IElPTVVYX1BJTig0OSwgICAxMDApLAorCU1YMzFfUElOX0NUUzIJCT0gSU9NVVhfUElOKDB4ZmYsIDEwMSksCisJTVgzMV9QSU5fUlRTMgkJPSBJT01VWF9QSU4oMHhmZiwgMTAyKSwKKwlNWDMxX1BJTl9UWEQyCQk9IElPTVVYX1BJTigyOCwgICAxMDMpLAorCU1YMzFfUElOX1JYRDIJCT0gSU9NVVhfUElOKDI3LCAgIDEwNCksCisJTVgzMV9QSU5fRFRSX0RDRTIJPSBJT01VWF9QSU4oNDgsICAgMTA1KSwKKwlNWDMxX1BJTl9EQ0RfRFRFMQk9IElPTVVYX1BJTig0NywgICAxMDYpLAorCU1YMzFfUElOX1JJX0RURTEJPSBJT01VWF9QSU4oNDYsICAgMTA3KSwKKwlNWDMxX1BJTl9EU1JfRFRFMQk9IElPTVVYX1BJTig0NSwgICAxMDgpLAorCU1YMzFfUElOX0RUUl9EVEUxCT0gSU9NVVhfUElOKDQ0LCAgIDEwOSksCisJTVgzMV9QSU5fRENEX0RDRTEJPSBJT01VWF9QSU4oNDMsICAgMTEwKSwKKwlNWDMxX1BJTl9SSV9EQ0UxCT0gSU9NVVhfUElOKDQyLCAgIDExMSksCisJTVgzMV9QSU5fRFNSX0RDRTEJPSBJT01VWF9QSU4oNDEsICAgMTEyKSwKKwlNWDMxX1BJTl9EVFJfRENFMQk9IElPTVVYX1BJTig0MCwgICAxMTMpLAorCU1YMzFfUElOX0NUUzEJCT0gSU9NVVhfUElOKDM5LCAgIDExNCksCisJTVgzMV9QSU5fUlRTMQkJPSBJT01VWF9QSU4oMzgsICAgMTE1KSwKKwlNWDMxX1BJTl9UWEQxCQk9IElPTVVYX1BJTigzNywgICAxMTYpLAorCU1YMzFfUElOX1JYRDEJCT0gSU9NVVhfUElOKDM2LCAgIDExNyksCisJTVgzMV9QSU5fQ1NQSTJfU1BJX1JEWQk9IElPTVVYX1BJTigweGZmLCAxMTgpLAorCU1YMzFfUElOX0NTUEkyX1NDTEsJPSBJT01VWF9QSU4oMHhmZiwgMTE5KSwKKwlNWDMxX1BJTl9DU1BJMl9TUzIJPSBJT01VWF9QSU4oMHhmZiwgMTIwKSwKKwlNWDMxX1BJTl9DU1BJMl9TUzEJPSBJT01VWF9QSU4oMHhmZiwgMTIxKSwKKwlNWDMxX1BJTl9DU1BJMl9TUzAJPSBJT01VWF9QSU4oMHhmZiwgMTIyKSwKKwlNWDMxX1BJTl9DU1BJMl9NSVNPCT0gSU9NVVhfUElOKDB4ZmYsIDEyMyksCisJTVgzMV9QSU5fQ1NQSTJfTU9TSQk9IElPTVVYX1BJTigweGZmLCAxMjQpLAorCU1YMzFfUElOX0NTUEkxX1NQSV9SRFkJPSBJT01VWF9QSU4oMHhmZiwgMTI1KSwKKwlNWDMxX1BJTl9DU1BJMV9TQ0xLCT0gSU9NVVhfUElOKDB4ZmYsIDEyNiksCisJTVgzMV9QSU5fQ1NQSTFfU1MyCT0gSU9NVVhfUElOKDB4ZmYsIDEyNyksCisJTVgzMV9QSU5fQ1NQSTFfU1MxCT0gSU9NVVhfUElOKDB4ZmYsIDEyOCksCisJTVgzMV9QSU5fQ1NQSTFfU1MwCT0gSU9NVVhfUElOKDB4ZmYsIDEyOSksCisJTVgzMV9QSU5fQ1NQSTFfTUlTTwk9IElPTVVYX1BJTigweGZmLCAxMzApLAorCU1YMzFfUElOX0NTUEkxX01PU0kJPSBJT01VWF9QSU4oMHhmZiwgMTMxKSwKKwlNWDMxX1BJTl9TRlM2CQk9IElPTVVYX1BJTigyNiwgICAxMzIpLAorCU1YMzFfUElOX1NDSzYJCT0gSU9NVVhfUElOKDI1LCAgIDEzMyksCisJTVgzMV9QSU5fU1JYRDYJCT0gSU9NVVhfUElOKDI0LCAgIDEzNCksCisJTVgzMV9QSU5fU1RYRDYJCT0gSU9NVVhfUElOKDIzLCAgIDEzNSksCisJTVgzMV9QSU5fU0ZTNQkJPSBJT01VWF9QSU4oMHhmZiwgMTM2KSwKKwlNWDMxX1BJTl9TQ0s1CQk9IElPTVVYX1BJTigweGZmLCAxMzcpLAorCU1YMzFfUElOX1NSWEQ1CQk9IElPTVVYX1BJTigyMiwgICAxMzgpLAorCU1YMzFfUElOX1NUWEQ1CQk9IElPTVVYX1BJTigyMSwgICAxMzkpLAorCU1YMzFfUElOX1NGUzQJCT0gSU9NVVhfUElOKDB4ZmYsIDE0MCksCisJTVgzMV9QSU5fU0NLNAkJPSBJT01VWF9QSU4oMHhmZiwgMTQxKSwKKwlNWDMxX1BJTl9TUlhENAkJPSBJT01VWF9QSU4oMjAsICAgMTQyKSwKKwlNWDMxX1BJTl9TVFhENAkJPSBJT01VWF9QSU4oMTksICAgMTQzKSwKKwlNWDMxX1BJTl9TRlMzCQk9IElPTVVYX1BJTigweGZmLCAxNDQpLAorCU1YMzFfUElOX1NDSzMJCT0gSU9NVVhfUElOKDB4ZmYsIDE0NSksCisJTVgzMV9QSU5fU1JYRDMJCT0gSU9NVVhfUElOKDE4LCAgIDE0NiksCisJTVgzMV9QSU5fU1RYRDMJCT0gSU9NVVhfUElOKDE3LCAgIDE0NyksCisJTVgzMV9QSU5fSTJDX0RBVAk9IElPTVVYX1BJTigweGZmLCAxNDgpLAorCU1YMzFfUElOX0kyQ19DTEsJPSBJT01VWF9QSU4oMHhmZiwgMTQ5KSwKKwlNWDMxX1BJTl9DU0lfUElYQ0xLCT0gSU9NVVhfUElOKDgzLCAgIDE1MCksCisJTVgzMV9QSU5fQ1NJX0hTWU5DCT0gSU9NVVhfUElOKDgyLCAgIDE1MSksCisJTVgzMV9QSU5fQ1NJX1ZTWU5DCT0gSU9NVVhfUElOKDgxLCAgIDE1MiksCisJTVgzMV9QSU5fQ1NJX01DTEsJPSBJT01VWF9QSU4oODAsICAgMTUzKSwKKwlNWDMxX1BJTl9DU0lfRDE1CT0gSU9NVVhfUElOKDc5LCAgIDE1NCksCisJTVgzMV9QSU5fQ1NJX0QxNAk9IElPTVVYX1BJTig3OCwgICAxNTUpLAorCU1YMzFfUElOX0NTSV9EMTMJPSBJT01VWF9QSU4oNzcsICAgMTU2KSwKKwlNWDMxX1BJTl9DU0lfRDEyCT0gSU9NVVhfUElOKDc2LCAgIDE1NyksCisJTVgzMV9QSU5fQ1NJX0QxMQk9IElPTVVYX1BJTig3NSwgICAxNTgpLAorCU1YMzFfUElOX0NTSV9EMTAJPSBJT01VWF9QSU4oNzQsICAgMTU5KSwKKwlNWDMxX1BJTl9DU0lfRDkJCT0gSU9NVVhfUElOKDczLCAgIDE2MCksCisJTVgzMV9QSU5fQ1NJX0Q4CQk9IElPTVVYX1BJTig3MiwgICAxNjEpLAorCU1YMzFfUElOX0NTSV9ENwkJPSBJT01VWF9QSU4oNzEsICAgMTYyKSwKKwlNWDMxX1BJTl9DU0lfRDYJCT0gSU9NVVhfUElOKDcwLCAgIDE2MyksCisJTVgzMV9QSU5fQ1NJX0Q1CQk9IElPTVVYX1BJTig2OSwgICAxNjQpLAorCU1YMzFfUElOX0NTSV9ENAkJPSBJT01VWF9QSU4oNjgsICAgMTY1KSwKKwlNWDMxX1BJTl9NX0dSQU5UCT0gSU9NVVhfUElOKDB4ZmYsIDE2NiksCisJTVgzMV9QSU5fTV9SRVFVRVNUCT0gSU9NVVhfUElOKDB4ZmYsIDE2NyksCisJTVgzMV9QSU5fUENfUE9FCQk9IElPTVVYX1BJTigweGZmLCAxNjgpLAorCU1YMzFfUElOX1BDX1JXX0IJPSBJT01VWF9QSU4oMHhmZiwgMTY5KSwKKwlNWDMxX1BJTl9JT0lTMTYJCT0gSU9NVVhfUElOKDB4ZmYsIDE3MCksCisJTVgzMV9QSU5fUENfUlNUCQk9IElPTVVYX1BJTigweGZmLCAxNzEpLAorCU1YMzFfUElOX1BDX0JWRDIJPSBJT01VWF9QSU4oMHhmZiwgMTcyKSwKKwlNWDMxX1BJTl9QQ19CVkQxCT0gSU9NVVhfUElOKDB4ZmYsIDE3MyksCisJTVgzMV9QSU5fUENfVlMyCQk9IElPTVVYX1BJTigweGZmLCAxNzQpLAorCU1YMzFfUElOX1BDX1ZTMQkJPSBJT01VWF9QSU4oMHhmZiwgMTc1KSwKKwlNWDMxX1BJTl9QQ19QV1JPTgk9IElPTVVYX1BJTigweGZmLCAxNzYpLAorCU1YMzFfUElOX1BDX1JFQURZCT0gSU9NVVhfUElOKDB4ZmYsIDE3NyksCisJTVgzMV9QSU5fUENfV0FJVF9CCT0gSU9NVVhfUElOKDB4ZmYsIDE3OCksCisJTVgzMV9QSU5fUENfQ0QyX0IJPSBJT01VWF9QSU4oMHhmZiwgMTc5KSwKKwlNWDMxX1BJTl9QQ19DRDFfQgk9IElPTVVYX1BJTigweGZmLCAxODApLAorCU1YMzFfUElOX0QwCQk9IElPTVVYX1BJTigweGZmLCAxODEpLAorCU1YMzFfUElOX0QxCQk9IElPTVVYX1BJTigweGZmLCAxODIpLAorCU1YMzFfUElOX0QyCQk9IElPTVVYX1BJTigweGZmLCAxODMpLAorCU1YMzFfUElOX0QzCQk9IElPTVVYX1BJTigweGZmLCAxODQpLAorCU1YMzFfUElOX0Q0CQk9IElPTVVYX1BJTigweGZmLCAxODUpLAorCU1YMzFfUElOX0Q1CQk9IElPTVVYX1BJTigweGZmLCAxODYpLAorCU1YMzFfUElOX0Q2CQk9IElPTVVYX1BJTigweGZmLCAxODcpLAorCU1YMzFfUElOX0Q3CQk9IElPTVVYX1BJTigweGZmLCAxODgpLAorCU1YMzFfUElOX0Q4CQk9IElPTVVYX1BJTigweGZmLCAxODkpLAorCU1YMzFfUElOX0Q5CQk9IElPTVVYX1BJTigweGZmLCAxOTApLAorCU1YMzFfUElOX0QxMAkJPSBJT01VWF9QSU4oMHhmZiwgMTkxKSwKKwlNWDMxX1BJTl9EMTEJCT0gSU9NVVhfUElOKDB4ZmYsIDE5MiksCisJTVgzMV9QSU5fRDEyCQk9IElPTVVYX1BJTigweGZmLCAxOTMpLAorCU1YMzFfUElOX0QxMwkJPSBJT01VWF9QSU4oMHhmZiwgMTk0KSwKKwlNWDMxX1BJTl9EMTQJCT0gSU9NVVhfUElOKDB4ZmYsIDE5NSksCisJTVgzMV9QSU5fRDE1CQk9IElPTVVYX1BJTigweGZmLCAxOTYpLAorCU1YMzFfUElOX05GUkIJCT0gSU9NVVhfUElOKDE2LCAgIDE5NyksCisJTVgzMV9QSU5fTkZDRV9CCQk9IElPTVVYX1BJTigxNSwgICAxOTgpLAorCU1YMzFfUElOX05GV1BfQgkJPSBJT01VWF9QSU4oMTQsICAgMTk5KSwKKwlNWDMxX1BJTl9ORkNMRQkJPSBJT01VWF9QSU4oMTMsICAgMjAwKSwKKwlNWDMxX1BJTl9ORkFMRQkJPSBJT01VWF9QSU4oMTIsICAgMjAxKSwKKwlNWDMxX1BJTl9ORlJFX0IJCT0gSU9NVVhfUElOKDExLCAgIDIwMiksCisJTVgzMV9QSU5fTkZXRV9CCQk9IElPTVVYX1BJTigxMCwgICAyMDMpLAorCU1YMzFfUElOX1NEUVMzCQk9IElPTVVYX1BJTigweGZmLCAyMDQpLAorCU1YMzFfUElOX1NEUVMyCQk9IElPTVVYX1BJTigweGZmLCAyMDUpLAorCU1YMzFfUElOX1NEUVMxCQk9IElPTVVYX1BJTigweGZmLCAyMDYpLAorCU1YMzFfUElOX1NEUVMwCQk9IElPTVVYX1BJTigweGZmLCAyMDcpLAorCU1YMzFfUElOX1NEQ0xLX0IJPSBJT01VWF9QSU4oMHhmZiwgMjA4KSwKKwlNWDMxX1BJTl9TRENMSwkJPSBJT01VWF9QSU4oMHhmZiwgMjA5KSwKKwlNWDMxX1BJTl9TRENLRTEJCT0gSU9NVVhfUElOKDB4ZmYsIDIxMCksCisJTVgzMV9QSU5fU0RDS0UwCQk9IElPTVVYX1BJTigweGZmLCAyMTEpLAorCU1YMzFfUElOX1NEV0UJCT0gSU9NVVhfUElOKDB4ZmYsIDIxMiksCisJTVgzMV9QSU5fQ0FTCQk9IElPTVVYX1BJTigweGZmLCAyMTMpLAorCU1YMzFfUElOX1JBUwkJPSBJT01VWF9QSU4oMHhmZiwgMjE0KSwKKwlNWDMxX1BJTl9SVwkJPSBJT01VWF9QSU4oMHhmZiwgMjE1KSwKKwlNWDMxX1BJTl9CQ0xLCQk9IElPTVVYX1BJTigweGZmLCAyMTYpLAorCU1YMzFfUElOX0xCQQkJPSBJT01VWF9QSU4oMHhmZiwgMjE3KSwKKwlNWDMxX1BJTl9FQ0IJCT0gSU9NVVhfUElOKDB4ZmYsIDIxOCksCisJTVgzMV9QSU5fQ1M1CQk9IElPTVVYX1BJTigweGZmLCAyMTkpLAorCU1YMzFfUElOX0NTNAkJPSBJT01VWF9QSU4oMHhmZiwgMjIwKSwKKwlNWDMxX1BJTl9DUzMJCT0gSU9NVVhfUElOKDB4ZmYsIDIyMSksCisJTVgzMV9QSU5fQ1MyCQk9IElPTVVYX1BJTigweGZmLCAyMjIpLAorCU1YMzFfUElOX0NTMQkJPSBJT01VWF9QSU4oMHhmZiwgMjIzKSwKKwlNWDMxX1BJTl9DUzAJCT0gSU9NVVhfUElOKDB4ZmYsIDIyNCksCisJTVgzMV9QSU5fT0UJCT0gSU9NVVhfUElOKDB4ZmYsIDIyNSksCisJTVgzMV9QSU5fRUIxCQk9IElPTVVYX1BJTigweGZmLCAyMjYpLAorCU1YMzFfUElOX0VCMAkJPSBJT01VWF9QSU4oMHhmZiwgMjI3KSwKKwlNWDMxX1BJTl9EUU0zCQk9IElPTVVYX1BJTigweGZmLCAyMjgpLAorCU1YMzFfUElOX0RRTTIJCT0gSU9NVVhfUElOKDB4ZmYsIDIyOSksCisJTVgzMV9QSU5fRFFNMQkJPSBJT01VWF9QSU4oMHhmZiwgMjMwKSwKKwlNWDMxX1BJTl9EUU0wCQk9IElPTVVYX1BJTigweGZmLCAyMzEpLAorCU1YMzFfUElOX1NEMzEJCT0gSU9NVVhfUElOKDB4ZmYsIDIzMiksCisJTVgzMV9QSU5fU0QzMAkJPSBJT01VWF9QSU4oMHhmZiwgMjMzKSwKKwlNWDMxX1BJTl9TRDI5CQk9IElPTVVYX1BJTigweGZmLCAyMzQpLAorCU1YMzFfUElOX1NEMjgJCT0gSU9NVVhfUElOKDB4ZmYsIDIzNSksCisJTVgzMV9QSU5fU0QyNwkJPSBJT01VWF9QSU4oMHhmZiwgMjM2KSwKKwlNWDMxX1BJTl9TRDI2CQk9IElPTVVYX1BJTigweGZmLCAyMzcpLAorCU1YMzFfUElOX1NEMjUJCT0gSU9NVVhfUElOKDB4ZmYsIDIzOCksCisJTVgzMV9QSU5fU0QyNAkJPSBJT01VWF9QSU4oMHhmZiwgMjM5KSwKKwlNWDMxX1BJTl9TRDIzCQk9IElPTVVYX1BJTigweGZmLCAyNDApLAorCU1YMzFfUElOX1NEMjIJCT0gSU9NVVhfUElOKDB4ZmYsIDI0MSksCisJTVgzMV9QSU5fU0QyMQkJPSBJT01VWF9QSU4oMHhmZiwgMjQyKSwKKwlNWDMxX1BJTl9TRDIwCQk9IElPTVVYX1BJTigweGZmLCAyNDMpLAorCU1YMzFfUElOX1NEMTkJCT0gSU9NVVhfUElOKDB4ZmYsIDI0NCksCisJTVgzMV9QSU5fU0QxOAkJPSBJT01VWF9QSU4oMHhmZiwgMjQ1KSwKKwlNWDMxX1BJTl9TRDE3CQk9IElPTVVYX1BJTigweGZmLCAyNDYpLAorCU1YMzFfUElOX1NEMTYJCT0gSU9NVVhfUElOKDB4ZmYsIDI0NyksCisJTVgzMV9QSU5fU0QxNQkJPSBJT01VWF9QSU4oMHhmZiwgMjQ4KSwKKwlNWDMxX1BJTl9TRDE0CQk9IElPTVVYX1BJTigweGZmLCAyNDkpLAorCU1YMzFfUElOX1NEMTMJCT0gSU9NVVhfUElOKDB4ZmYsIDI1MCksCisJTVgzMV9QSU5fU0QxMgkJPSBJT01VWF9QSU4oMHhmZiwgMjUxKSwKKwlNWDMxX1BJTl9TRDExCQk9IElPTVVYX1BJTigweGZmLCAyNTIpLAorCU1YMzFfUElOX1NEMTAJCT0gSU9NVVhfUElOKDB4ZmYsIDI1MyksCisJTVgzMV9QSU5fU0Q5CQk9IElPTVVYX1BJTigweGZmLCAyNTQpLAorCU1YMzFfUElOX1NEOAkJPSBJT01VWF9QSU4oMHhmZiwgMjU1KSwKKwlNWDMxX1BJTl9TRDcJCT0gSU9NVVhfUElOKDB4ZmYsIDI1NiksCisJTVgzMV9QSU5fU0Q2CQk9IElPTVVYX1BJTigweGZmLCAyNTcpLAorCU1YMzFfUElOX1NENQkJPSBJT01VWF9QSU4oMHhmZiwgMjU4KSwKKwlNWDMxX1BJTl9TRDQJCT0gSU9NVVhfUElOKDB4ZmYsIDI1OSksCisJTVgzMV9QSU5fU0QzCQk9IElPTVVYX1BJTigweGZmLCAyNjApLAorCU1YMzFfUElOX1NEMgkJPSBJT01VWF9QSU4oMHhmZiwgMjYxKSwKKwlNWDMxX1BJTl9TRDEJCT0gSU9NVVhfUElOKDB4ZmYsIDI2MiksCisJTVgzMV9QSU5fU0QwCQk9IElPTVVYX1BJTigweGZmLCAyNjMpLAorCU1YMzFfUElOX1NEQkEwCQk9IElPTVVYX1BJTigweGZmLCAyNjQpLAorCU1YMzFfUElOX1NEQkExCQk9IElPTVVYX1BJTigweGZmLCAyNjUpLAorCU1YMzFfUElOX0EyNQkJPSBJT01VWF9QSU4oMHhmZiwgMjY2KSwKKwlNWDMxX1BJTl9BMjQJCT0gSU9NVVhfUElOKDB4ZmYsIDI2NyksCisJTVgzMV9QSU5fQTIzCQk9IElPTVVYX1BJTigweGZmLCAyNjgpLAorCU1YMzFfUElOX0EyMgkJPSBJT01VWF9QSU4oMHhmZiwgMjY5KSwKKwlNWDMxX1BJTl9BMjEJCT0gSU9NVVhfUElOKDB4ZmYsIDI3MCksCisJTVgzMV9QSU5fQTIwCQk9IElPTVVYX1BJTigweGZmLCAyNzEpLAorCU1YMzFfUElOX0ExOQkJPSBJT01VWF9QSU4oMHhmZiwgMjcyKSwKKwlNWDMxX1BJTl9BMTgJCT0gSU9NVVhfUElOKDB4ZmYsIDI3MyksCisJTVgzMV9QSU5fQTE3CQk9IElPTVVYX1BJTigweGZmLCAyNzQpLAorCU1YMzFfUElOX0ExNgkJPSBJT01VWF9QSU4oMHhmZiwgMjc1KSwKKwlNWDMxX1BJTl9BMTQJCT0gSU9NVVhfUElOKDB4ZmYsIDI3NiksCisJTVgzMV9QSU5fQTE1CQk9IElPTVVYX1BJTigweGZmLCAyNzcpLAorCU1YMzFfUElOX0ExMwkJPSBJT01VWF9QSU4oMHhmZiwgMjc4KSwKKwlNWDMxX1BJTl9BMTIJCT0gSU9NVVhfUElOKDB4ZmYsIDI3OSksCisJTVgzMV9QSU5fQTExCQk9IElPTVVYX1BJTigweGZmLCAyODApLAorCU1YMzFfUElOX01BMTAJCT0gSU9NVVhfUElOKDB4ZmYsIDI4MSksCisJTVgzMV9QSU5fQTEwCQk9IElPTVVYX1BJTigweGZmLCAyODIpLAorCU1YMzFfUElOX0E5CQk9IElPTVVYX1BJTigweGZmLCAyODMpLAorCU1YMzFfUElOX0E4CQk9IElPTVVYX1BJTigweGZmLCAyODQpLAorCU1YMzFfUElOX0E3CQk9IElPTVVYX1BJTigweGZmLCAyODUpLAorCU1YMzFfUElOX0E2CQk9IElPTVVYX1BJTigweGZmLCAyODYpLAorCU1YMzFfUElOX0E1CQk9IElPTVVYX1BJTigweGZmLCAyODcpLAorCU1YMzFfUElOX0E0CQk9IElPTVVYX1BJTigweGZmLCAyODgpLAorCU1YMzFfUElOX0EzCQk9IElPTVVYX1BJTigweGZmLCAyODkpLAorCU1YMzFfUElOX0EyCQk9IElPTVVYX1BJTigweGZmLCAyOTApLAorCU1YMzFfUElOX0ExCQk9IElPTVVYX1BJTigweGZmLCAyOTEpLAorCU1YMzFfUElOX0EwCQk9IElPTVVYX1BJTigweGZmLCAyOTIpLAorCU1YMzFfUElOX1ZQRzEJCT0gSU9NVVhfUElOKDB4ZmYsIDI5MyksCisJTVgzMV9QSU5fVlBHMAkJPSBJT01VWF9QSU4oMHhmZiwgMjk0KSwKKwlNWDMxX1BJTl9EVkZTMQkJPSBJT01VWF9QSU4oMHhmZiwgMjk1KSwKKwlNWDMxX1BJTl9EVkZTMAkJPSBJT01VWF9QSU4oMHhmZiwgMjk2KSwKKwlNWDMxX1BJTl9WU1RCWQkJPSBJT01VWF9QSU4oMHhmZiwgMjk3KSwKKwlNWDMxX1BJTl9QT1dFUl9GQUlMCT0gSU9NVVhfUElOKDB4ZmYsIDI5OCksCisJTVgzMV9QSU5fQ0tJTAkJPSBJT01VWF9QSU4oMHhmZiwgMjk5KSwKKwlNWDMxX1BJTl9CT09UX01PREU0CT0gSU9NVVhfUElOKDB4ZmYsIDMwMCksCisJTVgzMV9QSU5fQk9PVF9NT0RFMwk9IElPTVVYX1BJTigweGZmLCAzMDEpLAorCU1YMzFfUElOX0JPT1RfTU9ERTIJPSBJT01VWF9QSU4oMHhmZiwgMzAyKSwKKwlNWDMxX1BJTl9CT09UX01PREUxCT0gSU9NVVhfUElOKDB4ZmYsIDMwMyksCisJTVgzMV9QSU5fQk9PVF9NT0RFMAk9IElPTVVYX1BJTigweGZmLCAzMDQpLAorCU1YMzFfUElOX0NMS08JCT0gSU9NVVhfUElOKDB4ZmYsIDMwNSksCisJTVgzMV9QSU5fUE9SX0IJCT0gSU9NVVhfUElOKDB4ZmYsIDMwNiksCisJTVgzMV9QSU5fUkVTRVRfSU5fQgk9IElPTVVYX1BJTigweGZmLCAzMDcpLAorCU1YMzFfUElOX0NLSUgJCT0gSU9NVVhfUElOKDB4ZmYsIDMwOCksCisJTVgzMV9QSU5fU0lNUEQwCQk9IElPTVVYX1BJTigzNSwgICAzMDkpLAorCU1YMzFfUElOX1NSWDAJCT0gSU9NVVhfUElOKDM0LCAgIDMxMCksCisJTVgzMV9QSU5fU1RYMAkJPSBJT01VWF9QSU4oMzMsICAgMzExKSwKKwlNWDMxX1BJTl9TVkVOMAkJPSBJT01VWF9QSU4oMzIsICAgMzEyKSwKKwlNWDMxX1BJTl9TUlNUMAkJPSBJT01VWF9QSU4oNjcsICAgMzEzKSwKKwlNWDMxX1BJTl9TQ0xLMAkJPSBJT01VWF9QSU4oNjYsICAgMzE0KSwKKwlNWDMxX1BJTl9HUElPM18xCT0gSU9NVVhfUElOKDY1LCAgIDMxNSksCisJTVgzMV9QSU5fR1BJTzNfMAk9IElPTVVYX1BJTig2NCwgICAzMTYpLAorCU1YMzFfUElOX0dQSU8xXzYJPSBJT01VWF9QSU4oIDYsICAgMzE3KSwKKwlNWDMxX1BJTl9HUElPMV81CT0gSU9NVVhfUElOKCA1LCAgIDMxOCksCisJTVgzMV9QSU5fR1BJTzFfNAk9IElPTVVYX1BJTiggNCwgICAzMTkpLAorCU1YMzFfUElOX0dQSU8xXzMJPSBJT01VWF9QSU4oIDMsICAgMzIwKSwKKwlNWDMxX1BJTl9HUElPMV8yCT0gSU9NVVhfUElOKCAyLCAgIDMyMSksCisJTVgzMV9QSU5fR1BJTzFfMQk9IElPTVVYX1BJTiggMSwgICAzMjIpLAorCU1YMzFfUElOX0dQSU8xXzAJPSBJT01VWF9QSU4oIDAsICAgMzIzKSwKKwlNWDMxX1BJTl9QV01PCQk9IElPTVVYX1BJTiggOSwgICAzMjQpLAorCU1YMzFfUElOX1dBVENIRE9HX1JTVAk9IElPTVVYX1BJTigweGZmLCAzMjUpLAorCU1YMzFfUElOX0NPTVBBUkUJPSBJT01VWF9QSU4oIDgsICAgMzI2KSwKKwlNWDMxX1BJTl9DQVBUVVJFCT0gSU9NVVhfUElOKCA3LCAgIDMyNyksCit9OworCisvKgorICogQ29udmVuaWVuY2UgdmFsdWVzIGZvciB1c2Ugd2l0aCBteGNfaW9tdXhfbW9kZSgpCisgKgorICogRm9ybWF0IGhlcmUgaXMgTVgzMV9QSU5fKHBpbiBuYW1lKV9fKGZ1bmN0aW9uKQorICovCisjZGVmaW5lIE1YMzFfUElOX0NTUEkzX01PU0lfX1JYRDMJSU9NVVhfTU9ERShNWDMxX1BJTl9DU1BJM19NT1NJLCBJT01VWF9DT05GSUdfQUxUMSkKKyNkZWZpbmUgTVgzMV9QSU5fQ1NQSTNfTUlTT19fVFhEMwlJT01VWF9NT0RFKE1YMzFfUElOX0NTUEkzX01JU08sIElPTVVYX0NPTkZJR19BTFQxKQorI2RlZmluZSBNWDMxX1BJTl9DVFMxX19DVFMxCQlJT01VWF9NT0RFKE1YMzFfUElOX0NUUzEsIElPTVVYX0NPTkZJR19GVU5DKQorI2RlZmluZSBNWDMxX1BJTl9SVFMxX19SVFMxCQlJT01VWF9NT0RFKE1YMzFfUElOX1JUUzEsIElPTVVYX0NPTkZJR19GVU5DKQorI2RlZmluZSBNWDMxX1BJTl9UWEQxX19UWEQxCQlJT01VWF9NT0RFKE1YMzFfUElOX1RYRDEsIElPTVVYX0NPTkZJR19GVU5DKQorI2RlZmluZSBNWDMxX1BJTl9SWEQxX19SWEQxCQlJT01VWF9NT0RFKE1YMzFfUElOX1JYRDEsIElPTVVYX0NPTkZJR19GVU5DKQorCisvKgorICogVGhpcyBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSBwYWQgdmFsdWUgZm9yIGEgSU9NVVggcGluLgorICovCit2b2lkIG14Y19pb211eF9zZXRfcGFkKGVudW0gaW9tdXhfcGlucywgdTMyKTsKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaXJxcy5oCmluZGV4IGIyYzUyMDUuLmY0MTYxMzAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pcnFzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lycXMuaApAQCAtMTMsMTcgKzEzLDQgQEAKIAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCi0jZGVmaW5lIE1YQ19JUlFfVE9fRVhQSU8oaXJxKQkoKGlycSkgLSBNWENfRVhQX0lPX0JBU0UpCi0KLSNkZWZpbmUgTVhDX0lSUV9UT19HUElPKGlycSkJKChpcnEpIC0gTVhDX0dQSU9fSU5UX0JBU0UpCi0jZGVmaW5lIE1YQ19HUElPX1RPX0lSUSh4KQkoTVhDX0dQSU9fSU5UX0JBU0UgKyB4KQotCi0vKiBOdW1iZXIgb2Ygbm9ybWFsIGludGVycnVwdHMgKi8KLSNkZWZpbmUgTlJfSVJRUwkJKE1YQ19NQVhfSU5UX0xJTkVTICsgXAotCQkJTVhDX01BWF9HUElPX0xJTkVTICsgXAotCQkJTVhDX01BWF9WSVJUVUFMX0lOVFMpCi0KLS8qIE51bWJlciBvZiBmYXN0IGludGVycnVwdHMgKi8KLSNkZWZpbmUgTlJfRklRUwkJTVhDX01BWF9JTlRTCi0KICNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19JUlFTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MjcuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDI3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEyZWNjMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDI3LmgKQEAgLTAsMCArMSwzMDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX01YMjdfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX01YMjdfSF9fCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfSEFSRFdBUkVfSF9fCisjZXJyb3IgIkRvIG5vdCBpbmNsdWRlIGRpcmVjdGx5LiIKKyNlbmRpZgorCisvKiBJUkFNICovCisjZGVmaW5lIElSQU1fQkFTRV9BRERSICAgICAgICAgIDB4RkZGRjRDMDAJLyogaW50ZXJuYWwgcmFtICovCisKKy8qIFJlZ2lzdGVyIG9mZmVzdHMgKi8KKyNkZWZpbmUgQUlQSV9CQVNFX0FERFIgICAgICAgICAgMHgxMDAwMDAwMAorI2RlZmluZSBBSVBJX0JBU0VfQUREUl9WSVJUICAgICAweEY0MDAwMDAwCisjZGVmaW5lIEFJUElfU0laRSAgICAgICAgICAgICAgIFNaXzFNCisKKyNkZWZpbmUgRE1BX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwMTAwMCkKKyNkZWZpbmUgV0RPR19CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwMjAwMCkKKyNkZWZpbmUgR1BUMV9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwMzAwMCkKKyNkZWZpbmUgR1BUMl9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwNDAwMCkKKyNkZWZpbmUgR1BUM19CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwNTAwMCkKKyNkZWZpbmUgUFdNX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwNjAwMCkKKyNkZWZpbmUgUlRDX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwNzAwMCkKKyNkZWZpbmUgS1BQX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwODAwMCkKKyNkZWZpbmUgT1dJUkVfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwOTAwMCkKKyNkZWZpbmUgVUFSVDFfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwQTAwMCkKKyNkZWZpbmUgVUFSVDJfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwQjAwMCkKKyNkZWZpbmUgVUFSVDNfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwQzAwMCkKKyNkZWZpbmUgVUFSVDRfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwRDAwMCkKKyNkZWZpbmUgQ1NQSTFfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwRTAwMCkKKyNkZWZpbmUgQ1NQSTJfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgwRjAwMCkKKyNkZWZpbmUgU1NJMV9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxMDAwMCkKKyNkZWZpbmUgU1NJMl9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxMTAwMCkKKyNkZWZpbmUgSTJDX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxMjAwMCkKKyNkZWZpbmUgU0RIQzFfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxMzAwMCkKKyNkZWZpbmUgU0RIQzJfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxNDAwMCkKKyNkZWZpbmUgR1BJT19CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxNTAwMCkKKyNkZWZpbmUgQVVETVVYX0JBU0VfQUREUiAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxNjAwMCkKKworI2RlZmluZSBDU1BJM19CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE3MDAwKQorI2RlZmluZSBNU0hDX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE4MDAwKQorI2RlZmluZSBHUFQ1X0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE5MDAwKQorI2RlZmluZSBHUFQ0X0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFBMDAwKQorI2RlZmluZSBVQVJUNV9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFCMDAwKQorI2RlZmluZSBVQVJUNl9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFDMDAwKQorI2RlZmluZSBJMkMyX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFEMDAwKQorI2RlZmluZSBTREhDM19CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFFMDAwKQorI2RlZmluZSBHUFQ2X0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDFGMDAwKQorCisjZGVmaW5lIExDRENfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjEwMDApCisjZGVmaW5lIFNMQ0RDX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjIwMDApCisjZGVmaW5lIFZQVV9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjMwMDApCisjZGVmaW5lIFVTQk9UR19CQVNFX0FERFIgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjQwMDApCisvKiBmb3IgbXgyNyovCisjZGVmaW5lIE9UR19CQVNFX0FERFIgICAgICAgICAgIFVTQk9UR19CQVNFX0FERFIKKyNkZWZpbmUgU0FIQVJBX0JBU0VfQUREUiAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyNTAwMCkKKyNkZWZpbmUgRU1NQV9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyNjQwMCkKKyNkZWZpbmUgQ0NNX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyNzAwMCkKKyNkZWZpbmUgU1lTQ1RSTF9CQVNFX0FERFIgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyNzgwMCkKKyNkZWZpbmUgSUlNX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyODAwMCkKKworI2RlZmluZSBSVElDX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDJBMDAwKQorI2RlZmluZSBGRUNfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDJCMDAwKQorI2RlZmluZSBTQ0NfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDJDMDAwKQorI2RlZmluZSBFVEJfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDNCMDAwKQorI2RlZmluZSBFVEJfUkFNX0JBU0VfQUREUiAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDNDMDAwKQorCisjZGVmaW5lIEpBTV9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4M0UwMDApCisjZGVmaW5lIE1BWF9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4M0YwMDApCisKKy8qIFJPTVAgYW5kIEFWSUMgKi8KKyNkZWZpbmUgUk9NUF9CQVNFX0FERFIgICAgICAgICAgMHgxMDA0MTAwMAorCisjZGVmaW5lIEFWSUNfQkFTRV9BRERSICAgICAgICAgIDB4MTAwNDAwMDAKKworI2RlZmluZSBTQUhCMV9CQVNFX0FERFIgICAgICAgICAweDgwMDAwMDAwCisjZGVmaW5lIFNBSEIxX0JBU0VfQUREUl9WSVJUICAgIDB4RjQxMDAwMDAKKyNkZWZpbmUgU0FIQjFfU0laRSAgICAgICAgICAgICAgU1pfMU0KKworI2RlZmluZSBDU0lfQkFTRV9BRERSICAgICAgICAgICAoU0FIQjFfQkFTRV9BRERSICsgMHgwMDAwKQorI2RlZmluZSBBVEFfQkFTRV9BRERSICAgICAgICAgICAoU0FIQjFfQkFTRV9BRERSICsgMHgxMDAwKQorCisvKiBOQU5ELCBTRFJBTSwgV0VJTSwgTTNJRiwgRU1JIGNvbnRyb2xsZXJzICovCisjZGVmaW5lIFhfTUVNQ19CQVNFX0FERFIgICAgICAgIDB4RDgwMDAwMDAKKyNkZWZpbmUgWF9NRU1DX0JBU0VfQUREUl9WSVJUICAgMHhGNDIwMDAwMAorI2RlZmluZSBYX01FTUNfU0laRSAgICAgICAgICAgICBTWl8xTQorCisjZGVmaW5lIE5GQ19CQVNFX0FERFIgICAgICAgICAgIChYX01FTUNfQkFTRV9BRERSKQorI2RlZmluZSBTRFJBTUNfQkFTRV9BRERSICAgICAgICAoWF9NRU1DX0JBU0VfQUREUiArIDB4MTAwMCkKKyNkZWZpbmUgV0VJTV9CQVNFX0FERFIgICAgICAgICAgKFhfTUVNQ19CQVNFX0FERFIgKyAweDIwMDApCisjZGVmaW5lIE0zSUZfQkFTRV9BRERSICAgICAgICAgIChYX01FTUNfQkFTRV9BRERSICsgMHgzMDAwKQorI2RlZmluZSBQQ01DSUFfQ1RMX0JBU0VfQUREUiAgICAoWF9NRU1DX0JBU0VfQUREUiArIDB4NDAwMCkKKworLyogTWVtb3J5IHJlZ2lvbnMgYW5kIENTICovCisjZGVmaW5lIFNEUkFNX0JBU0VfQUREUgkJMHhBMDAwMDAwMAorI2RlZmluZSBDU0QxX0JBU0VfQUREUgkJMHhCMDAwMDAwMAorCisjZGVmaW5lIENTMF9CQVNFX0FERFIgICAgICAgICAgIDB4QzAwMDAwMDAKKyNkZWZpbmUgQ1MxX0JBU0VfQUREUiAgICAgICAgICAgMHhDODAwMDAwMAorI2RlZmluZSBDUzJfQkFTRV9BRERSICAgICAgICAgICAweEQwMDAwMDAwCisjZGVmaW5lIENTM19CQVNFX0FERFIgICAgICAgICAgIDB4RDIwMDAwMDAKKyNkZWZpbmUgQ1M0X0JBU0VfQUREUiAgICAgICAgICAgMHhENDAwMDAwMAorI2RlZmluZSBDUzVfQkFTRV9BRERSICAgICAgICAgICAweEQ2MDAwMDAwCisjZGVmaW5lIFBDTUNJQV9NRU1fQkFTRV9BRERSICAgIDB4REMwMDAwMDAKKworLyoKKyAqIFRoaXMgbWFjcm8gZGVmaW5lcyB0aGUgcGh5c2ljYWwgdG8gdmlydHVhbCBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCB0aGUKKyAqIHBlcmlwaGVyYWwgbW9kdWxlcy4gSXQgaXMgdXNlZCBieSBwYXNzaW5nIGluIHRoZSBwaHlzaWNhbCBhZGRyZXNzIGFzIHgKKyAqIGFuZCByZXR1cm5pbmcgdGhlIHZpcnR1YWwgYWRkcmVzcy4gSWYgdGhlIHBoeXNpY2FsIGFkZHJlc3MgaXMgbm90IG1hcHBlZCwKKyAqIGl0IHJldHVybnMgMHhERUFEQkVFRgorICovCisjZGVmaW5lIElPX0FERFJFU1MoeCkgICBcCisJKCgoeCA+PSBBSVBJX0JBU0VfQUREUikgJiYgKHggPCAoQUlQSV9CQVNFX0FERFIgKyBBSVBJX1NJWkUpKSkgPyBcCisJCUFJUElfSU9fQUREUkVTUyh4KSA6IFwKKwkoKHggPj0gU0FIQjFfQkFTRV9BRERSKSAmJiAoeCA8IChTQUhCMV9CQVNFX0FERFIgKyBTQUhCMV9TSVpFKSkpID8gXAorCQlTQUhCMV9JT19BRERSRVNTKHgpIDogXAorCSgoeCA+PSBYX01FTUNfQkFTRV9BRERSKSAmJiAoeCA8IChYX01FTUNfQkFTRV9BRERSICsgWF9NRU1DX1NJWkUpKSkgPyBcCisJCVhfTUVNQ19JT19BRERSRVNTKHgpIDogMHhERUFEQkVFRikKKworLyogZGVmaW5lIHRoZSBhZGRyZXNzIG1hcHBpbmcgbWFjcm9zOiBpbiBwaHlzaWNhbCBhZGRyZXNzIG9yZGVyICovCisjZGVmaW5lIEFJUElfSU9fQUREUkVTUyh4KSAgXAorCSgoKHgpIC0gQUlQSV9CQVNFX0FERFIpICsgQUlQSV9CQVNFX0FERFJfVklSVCkKKworI2RlZmluZSBBVklDX0lPX0FERFJFU1MoeCkJQUlQSV9JT19BRERSRVNTKHgpCisKKyNkZWZpbmUgU0FIQjFfSU9fQUREUkVTUyh4KSAgXAorCSgoKHgpIC0gU0FIQjFfQkFTRV9BRERSKSArIFNBSEIxX0JBU0VfQUREUl9WSVJUKQorCisjZGVmaW5lIENTNF9JT19BRERSRVNTKHgpICBcCisJKCgoeCkgLSBDUzRfQkFTRV9BRERSKSArIENTNF9CQVNFX0FERFJfVklSVCkKKworI2RlZmluZSBYX01FTUNfSU9fQUREUkVTUyh4KSAgXAorCSgoKHgpIC0gWF9NRU1DX0JBU0VfQUREUikgKyBYX01FTUNfQkFTRV9BRERSX1ZJUlQpCisKKyNkZWZpbmUgUENNQ0lBX0lPX0FERFJFU1MoeCkgXAorCSgoKHgpIC0gWF9NRU1DX0JBU0VfQUREUikgKyBYX01FTUNfQkFTRV9BRERSX1ZJUlQpCisKKy8qIGZpeGVkIGludGVycnB1dCBudW1iZXJzICovCisjZGVmaW5lIE1YQ19JTlRfQ0NNCQk2MworI2RlZmluZSBNWENfSU5UX0lJTQkJNjIKKyNkZWZpbmUgTVhDX0lOVF9MQ0RDCQk2MQorI2RlZmluZSBNWENfSU5UX1NMQ0RDCQk2MAorI2RlZmluZSBNWENfSU5UX1NBSEFSQQkJNTkKKyNkZWZpbmUgTVhDX0lOVF9TQ0NfU0NNCQk1OAorI2RlZmluZSBNWENfSU5UX1NDQ19TTU4JCTU3CisjZGVmaW5lIE1YQ19JTlRfVVNCMwkJNTYKKyNkZWZpbmUgTVhDX0lOVF9VU0IyCQk1NQorI2RlZmluZSBNWENfSU5UX1VTQjEJCTU0CisjZGVmaW5lIE1YQ19JTlRfVlBVCQk1MworI2RlZmluZSBNWENfSU5UX0VNTUFQUAkJNTIKKyNkZWZpbmUgTVhDX0lOVF9FTU1BUFJQCQk1MQorI2RlZmluZSBNWENfSU5UX0ZFQwkJNTAKKyNkZWZpbmUgTVhDX0lOVF9VQVJUNQkJNDkKKyNkZWZpbmUgTVhDX0lOVF9VQVJUNgkJNDgKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDE1CQk0NworI2RlZmluZSBNWENfSU5UX0RNQUNIMTQJCTQ2CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxMwkJNDUKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDEyCQk0NAorI2RlZmluZSBNWENfSU5UX0RNQUNIMTEJCTQzCisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxMAkJNDIKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDkJCTQxCisjZGVmaW5lIE1YQ19JTlRfRE1BQ0g4CQk0MAorI2RlZmluZSBNWENfSU5UX0RNQUNINwkJMzkKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDYJCTM4CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0g1CQkzNworI2RlZmluZSBNWENfSU5UX0RNQUNINAkJMzYKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDMJCTM1CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gyCQkzNAorI2RlZmluZSBNWENfSU5UX0RNQUNIMQkJMzMKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDAJCTMyCisjZGVmaW5lIE1YQ19JTlRfQ1NJCQkzMQorI2RlZmluZSBNWENfSU5UX0FUQQkJMzAKKyNkZWZpbmUgTVhDX0lOVF9OQU5ERkMJCTI5CisjZGVmaW5lIE1YQ19JTlRfUENNQ0lBCQkyOAorI2RlZmluZSBNWENfSU5UX1dET0cJCTI3CisjZGVmaW5lIE1YQ19JTlRfR1BUMQkJMjYKKyNkZWZpbmUgTVhDX0lOVF9HUFQyCQkyNQorI2RlZmluZSBNWENfSU5UX0dQVDMJCTI0CisjZGVmaW5lIE1YQ19JTlRfR1BUCQlJTlRfR1BUMQorI2RlZmluZSBNWENfSU5UX1BXTQkJMjMKKyNkZWZpbmUgTVhDX0lOVF9SVEMJCTIyCisjZGVmaW5lIE1YQ19JTlRfS1BQCQkyMQorI2RlZmluZSBNWENfSU5UX1VBUlQxCQkyMAorI2RlZmluZSBNWENfSU5UX1VBUlQyCQkxOQorI2RlZmluZSBNWENfSU5UX1VBUlQzCQkxOAorI2RlZmluZSBNWENfSU5UX1VBUlQ0CQkxNworI2RlZmluZSBNWENfSU5UX0NTUEkxCQkxNgorI2RlZmluZSBNWENfSU5UX0NTUEkyCQkxNQorI2RlZmluZSBNWENfSU5UX1NTSTEJCTE0CisjZGVmaW5lIE1YQ19JTlRfU1NJMgkJMTMKKyNkZWZpbmUgTVhDX0lOVF9JMkMJCTEyCisjZGVmaW5lIE1YQ19JTlRfU0RIQzEJCTExCisjZGVmaW5lIE1YQ19JTlRfU0RIQzIJCTEwCisjZGVmaW5lIE1YQ19JTlRfU0RIQzMJCTkKKyNkZWZpbmUgTVhDX0lOVF9HUElPCQk4CisjZGVmaW5lIE1YQ19JTlRfU0RIQwkJNworI2RlZmluZSBNWENfSU5UX0NTUEkzCQk2CisjZGVmaW5lIE1YQ19JTlRfUlRJQwkJNQorI2RlZmluZSBNWENfSU5UX0dQVDQJCTQKKyNkZWZpbmUgTVhDX0lOVF9HUFQ1CQkzCisjZGVmaW5lIE1YQ19JTlRfR1BUNgkJMgorI2RlZmluZSBNWENfSU5UX0kyQzIJCTEKKworLyogZml4ZWQgRE1BIHJlcXVlc3QgbnVtYmVycyAqLworI2RlZmluZSBETUFfUkVRX05GQyAgICAgICAgICAgICAzNworI2RlZmluZSBETUFfUkVRX1NESEMzICAgICAgICAgICAzNgorI2RlZmluZSBETUFfUkVRX1VBUlQ2X1JYICAgICAgICAzNQorI2RlZmluZSBETUFfUkVRX1VBUlQ2X1RYICAgICAgICAzNAorI2RlZmluZSBETUFfUkVRX1VBUlQ1X1JYICAgICAgICAzMworI2RlZmluZSBETUFfUkVRX1VBUlQ1X1RYICAgICAgICAzMgorI2RlZmluZSBETUFfUkVRX0NTSV9SWCAgICAgICAgICAzMQorI2RlZmluZSBETUFfUkVRX0NTSV9TVEFUICAgICAgICAzMAorI2RlZmluZSBETUFfUkVRX0FUQV9SQ1YgICAgICAgICAyOQorI2RlZmluZSBETUFfUkVRX0FUQV9UWCAgICAgICAgICAyOAorI2RlZmluZSBETUFfUkVRX1VBUlQxX1RYICAgICAgICAyNworI2RlZmluZSBETUFfUkVRX1VBUlQxX1JYICAgICAgICAyNgorI2RlZmluZSBETUFfUkVRX1VBUlQyX1RYICAgICAgICAyNQorI2RlZmluZSBETUFfUkVRX1VBUlQyX1JYICAgICAgICAyNAorI2RlZmluZSBETUFfUkVRX1VBUlQzX1RYICAgICAgICAyMworI2RlZmluZSBETUFfUkVRX1VBUlQzX1JYICAgICAgICAyMgorI2RlZmluZSBETUFfUkVRX1VBUlQ0X1RYICAgICAgICAyMQorI2RlZmluZSBETUFfUkVRX1VBUlQ0X1JYICAgICAgICAyMAorI2RlZmluZSBETUFfUkVRX0NTUEkxX1RYICAgICAgICAxOQorI2RlZmluZSBETUFfUkVRX0NTUEkxX1JYICAgICAgICAxOAorI2RlZmluZSBETUFfUkVRX0NTUEkyX1RYICAgICAgICAxNworI2RlZmluZSBETUFfUkVRX0NTUEkyX1JYICAgICAgICAxNgorI2RlZmluZSBETUFfUkVRX1NTSTFfVFgxICAgICAgICAxNQorI2RlZmluZSBETUFfUkVRX1NTSTFfUlgxICAgICAgICAxNAorI2RlZmluZSBETUFfUkVRX1NTSTFfVFgwICAgICAgICAxMworI2RlZmluZSBETUFfUkVRX1NTSTFfUlgwICAgICAgICAxMgorI2RlZmluZSBETUFfUkVRX1NTSTJfVFgxICAgICAgICAxMQorI2RlZmluZSBETUFfUkVRX1NTSTJfUlgxICAgICAgICAxMAorI2RlZmluZSBETUFfUkVRX1NTSTJfVFgwICAgICAgICA5CisjZGVmaW5lIERNQV9SRVFfU1NJMl9SWDAgICAgICAgIDgKKyNkZWZpbmUgRE1BX1JFUV9TREhDMSAgICAgICAgICAgNworI2RlZmluZSBETUFfUkVRX1NESEMyICAgICAgICAgICA2CisjZGVmaW5lIERNQV9SRVFfTVNIQyAgICAgICAgICAgIDQKKyNkZWZpbmUgRE1BX1JFUV9FWFQgICAgICAgICAgICAgMworI2RlZmluZSBETUFfUkVRX0NTUEkzX1RYICAgICAgICAyCisjZGVmaW5lIERNQV9SRVFfQ1NQSTNfUlggICAgICAgIDEKKworLyogc2lsaWNvbiByZXZpc2lvbnMgc3BlY2lmaWMgdG8gaS5NWDI3ICovCisjZGVmaW5lIENISVBfUkVWXzFfMAkJMHgwMAorI2RlZmluZSBDSElQX1JFVl8yXzAJCTB4MDEKKworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiBpbnQgbXgyN19yZXZpc2lvbih2b2lkKTsKKyNlbmRpZgorCisvKiBncGlvIGFuZCBncGlvIGJhc2VkIGludGVycnVwdCBoYW5kbGluZyAqLworI2RlZmluZSBHUElPX0RSCQkgCTB4MUMKKyNkZWZpbmUgR1BJT19HRElSCSAJMHgwMAorI2RlZmluZSBHUElPX1BTUgkgCTB4MjQKKyNkZWZpbmUgR1BJT19JQ1IxCSAJMHgyOAorI2RlZmluZSBHUElPX0lDUjIJIAkweDJDCisjZGVmaW5lIEdQSU9fSU1SCSAJMHgzMAorI2RlZmluZSBHUElPX0lTUgkgCTB4MzQKKyNkZWZpbmUgR1BJT19JTlRfTE9XX0xFVgkweDMKKyNkZWZpbmUgR1BJT19JTlRfSElHSF9MRVYJMHgyCisjZGVmaW5lIEdQSU9fSU5UX1JJU0VfRURHRSAJMHgwCisjZGVmaW5lIEdQSU9fSU5UX0ZBTExfRURHRQkweDEKKyNkZWZpbmUgR1BJT19JTlRfTk9ORQkJMHg0CisKKy8qIE1hbmRhdG9yeSBkZWZpbmVzIHVzZWQgZ2xvYmFsbHkgKi8KKworLyogdGhpcyBpcyBhbiBpLk1YMjcgQ1BVICovCisjZGVmaW5lIGNwdV9pc19teDI3KCkJCSgxKQorCisvKiB0aGlzIENQVSBzdXBwb3J0cyB1cCB0byAxOTIgR1BJT3MgKGRvbid0IGZvcmdldCB0aGUgYmFzZWJvYXJkISkgKi8KKyNkZWZpbmUgQVJDSF9OUl9HUElPUwkJKDE5MiArIDE2KQorCisvKiBPUyBjbG9jayB0aWNrIHJhdGUgKi8KKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFICAgICAgICAgMTMzMDAwMDAKKworLyogU3RhcnQgb2YgUkFNICovCisjZGVmaW5lIFBIWVNfT0ZGU0VUCQlTRFJBTV9CQVNFX0FERFIKKworLyogbWF4IGludGVycnVwdCBsaW5lcyBjb3VudCAqLworI2RlZmluZSBOUl9JUlFTCQkJMjU2CisKKy8qIGNvdW50IG9mIGludGVybmFsIGludGVycnVwdCBzb3VyY2VzICovCisjZGVmaW5lIE1YQ19NQVhfSU5UX0xJTkVTCTY0CisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19NWDI3X0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MzEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDMxLmgKaW5kZXggMzZhMWFmNC4uYTczNzNlNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MzEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgzMS5oCkBAIC0zMjAsNiArMzIwLDggQEAKICNkZWZpbmUgTVhDX01BWF9HUElPX0xJTkVTICAgICAgKEdQSU9fTlVNX1BJTiAqIEdQSU9fUE9SVF9OVU0pCiAjZGVmaW5lIE1YQ19NQVhfVklSVFVBTF9JTlRTCTE2CiAKKyNkZWZpbmUgTlJfSVJRUyAoTVhDX01BWF9JTlRfTElORVMgKyBNWENfTUFYX0dQSU9fTElORVMgKyBNWENfTUFYX1ZJUlRVQUxfSU5UUykKKwogLyohCiAgKiBOdW1iZXIgb2YgR1BJTyBwb3J0IGFzIGRlZmluZWQgaW4gdGhlIElDIFNwZWMKICAqLwpAQCAtMzQ3LDYgKzM0OSwyNSBAQAogI2RlZmluZSBTWVNURU1fUkVWX01JTgkJQ0hJUF9SRVZfMV8wCiAjZGVmaW5lIFNZU1RFTV9SRVZfTlVNCQkzCiAKKy8qIGdwaW8gYW5kIGdwaW8gYmFzZWQgaW50ZXJydXB0IGhhbmRsaW5nICovCisjZGVmaW5lIEdQSU9fRFIJCSAJMHgwMAorI2RlZmluZSBHUElPX0dESVIJIAkweDA0CisjZGVmaW5lIEdQSU9fUFNSCSAJMHgwOAorI2RlZmluZSBHUElPX0lDUjEJIAkweDBDCisjZGVmaW5lIEdQSU9fSUNSMgkgCTB4MTAKKyNkZWZpbmUgR1BJT19JTVIJIAkweDE0CisjZGVmaW5lIEdQSU9fSVNSCSAJMHgxOAorI2RlZmluZSBHUElPX0lOVF9MT1dfTEVWCTB4MAorI2RlZmluZSBHUElPX0lOVF9ISUdIX0xFVgkweDEKKyNkZWZpbmUgR1BJT19JTlRfUklTRV9FREdFCTB4MgorI2RlZmluZSBHUElPX0lOVF9GQUxMX0VER0UJMHgzCisjZGVmaW5lIEdQSU9fSU5UX05PTkUJCTB4NAorCisvKiBNYW5kYXRvcnkgZGVmaW5lcyB1c2VkIGdsb2JhbGx5ICovCisKKy8qIHRoaXMgQ1BVIHN1cHBvcnRzIHVwIHRvIDk2IEdQSU9zICovCisjZGVmaW5lIEFSQ0hfTlJfR1BJT1MJCTk2CisKICNpZiAhZGVmaW5lZChfX0FTU0VNQkxZX18pICYmICFkZWZpbmVkKF9fTVhDX0JPT1RfVU5DT01QUkVTUykKIAogLyogdGhpcyBpcyBhIGkuTVgzMSBDUFUgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGMuaAppbmRleCAxNDZkM2Y2Li4zMzJlZGE0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Yy5oCkBAIC0xLDExICsxLDIwIEBACiAvKgogICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICovCi0KLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICogQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgogICovCiAKICNpZm5kZWYgX19BU01fQVJDSF9NWENfSF9fCkBAIC0yMCwxMzMgKzI5LDggQEAKICMgZGVmaW5lIGNwdV9pc19teDMxKCkgKDApCiAjZW5kaWYKIAotLyoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogR1BUICBSZWdpc3RlciBkZWZpbml0aW9ucyAgICAgICAgICAgICAqCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqLwotI2RlZmluZSBNWENfR1BUX0dQVENSCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgwMCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRQUgkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MDQpCi0jZGVmaW5lIE1YQ19HUFRfR1BUU1IJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDA4KQotI2RlZmluZSBNWENfR1BUX0dQVElSCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgwQykKLSNkZWZpbmUgTVhDX0dQVF9HUFRPQ1IxCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgxMCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRPQ1IyCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgxNCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRPQ1IzCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgxOCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRJQ1IxCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgxQykKLSNkZWZpbmUgTVhDX0dQVF9HUFRJQ1IyCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgyMCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRDTlQJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDI0KQotCi0vKiBHUFQgQ29udHJvbCByZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMgKi8KLSNkZWZpbmUgR1BUQ1JfRk8zCQkJKDEgPDwgMzEpCi0jZGVmaW5lIEdQVENSX0ZPMgkJCSgxIDw8IDMwKQotI2RlZmluZSBHUFRDUl9GTzEJCQkoMSA8PCAyOSkKLQotI2RlZmluZSBHUFRDUl9PTTNfU0hJRlQJCQkyNgotI2RlZmluZSBHUFRDUl9PTTNfTUFTSwkJCSg3IDw8IEdQVENSX09NM19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00zX0RJU0NPTk5FQ1RFRAkJKDAgPDwgR1BUQ1JfT00zX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTNfVE9HR0xFCQkoMSA8PCBHUFRDUl9PTTNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NM19DTEVBUgkJCSgyIDw8IEdQVENSX09NM19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00zX1NFVAkJCSgzIDw8IEdQVENSX09NM19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00zX0dFTkVSQVRFX0xPVwkJKDcgPDwgR1BUQ1JfT00zX1NISUZUKQotCi0jZGVmaW5lIEdQVENSX09NMl9TSElGVAkJCTIzCi0jZGVmaW5lIEdQVENSX09NMl9NQVNLCQkJKDcgPDwgR1BUQ1JfT00yX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTJfRElTQ09OTkVDVEVECQkoMCA8PCBHUFRDUl9PTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMl9UT0dHTEUJCSgxIDw8IEdQVENSX09NMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00yX0NMRUFSCQkJKDIgPDwgR1BUQ1JfT00yX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTJfU0VUCQkJKDMgPDwgR1BUQ1JfT00yX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTJfR0VORVJBVEVfTE9XCQkoNyA8PCBHUFRDUl9PTTJfU0hJRlQpCi0KLSNkZWZpbmUgR1BUQ1JfT00xX1NISUZUCQkJMjAKLSNkZWZpbmUgR1BUQ1JfT00xX01BU0sJCQkoNyA8PCBHUFRDUl9PTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMV9ESVNDT05ORUNURUQJCSgwIDw8IEdQVENSX09NMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00xX1RPR0dMRQkJKDEgPDwgR1BUQ1JfT00xX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTFfQ0xFQVIJCQkoMiA8PCBHUFRDUl9PTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMV9TRVQJCQkoMyA8PCBHUFRDUl9PTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMV9HRU5FUkFURV9MT1cJCSg3IDw8IEdQVENSX09NMV9TSElGVCkKLQotI2RlZmluZSBHUFRDUl9JTTJfU0hJRlQJCQkxOAotI2RlZmluZSBHUFRDUl9JTTJfTUFTSwkJCSgzIDw8IEdQVENSX0lNMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0yX0NBUFRVUkVfRElTQUJMRQkoMCA8PCBHUFRDUl9JTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMl9DQVBUVVJFX1JJU0lORwkoMSA8PCBHUFRDUl9JTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMl9DQVBUVVJFX0ZBTExJTkcJKDIgPDwgR1BUQ1JfSU0yX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTJfQ0FQVFVSRV9CT1RICQkoMyA8PCBHUFRDUl9JTTJfU0hJRlQpCi0KLSNkZWZpbmUgR1BUQ1JfSU0xX1NISUZUCQkJMTYKLSNkZWZpbmUgR1BUQ1JfSU0xX01BU0sJCQkoMyA8PCBHUFRDUl9JTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMV9DQVBUVVJFX0RJU0FCTEUJKDAgPDwgR1BUQ1JfSU0xX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTFfQ0FQVFVSRV9SSVNJTkcJKDEgPDwgR1BUQ1JfSU0xX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTFfQ0FQVFVSRV9GQUxMSU5HCSgyIDw8IEdQVENSX0lNMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0xX0NBUFRVUkVfQk9USAkJKDMgPDwgR1BUQ1JfSU0xX1NISUZUKQotCi0jZGVmaW5lIEdQVENSX1NXUgkJCSgxIDw8IDE1KQotI2RlZmluZSBHUFRDUl9GUlIJCQkoMSA8PCA5KQotCi0jZGVmaW5lIEdQVENSX0NMS1NSQ19TSElGVAkJNgotI2RlZmluZSBHUFRDUl9DTEtTUkNfTUFTSwkJKDcgPDwgR1BUQ1JfQ0xLU1JDX1NISUZUKQotI2RlZmluZSBHUFRDUl9DTEtTUkNfTk9DTE9DSwkJKDAgPDwgR1BUQ1JfQ0xLU1JDX1NISUZUKQotI2RlZmluZSBHUFRDUl9DTEtTUkNfSElHSEZSRVEJCSgyIDw8IEdQVENSX0NMS1NSQ19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfQ0xLU1JDX0NMS0lOCQkoMyA8PCBHUFRDUl9DTEtTUkNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0NMS1NSQ19DTEszMksJCSg3IDw8IEdQVENSX0NMS1NSQ19TSElGVCkKLQotI2RlZmluZSBHUFRDUl9TVE9QRU4JCQkoMSA8PCA1KQotI2RlZmluZSBHUFRDUl9ET1pFTgkJCSgxIDw8IDQpCi0jZGVmaW5lIEdQVENSX1dBSVRFTgkJCSgxIDw8IDMpCi0jZGVmaW5lIEdQVENSX0RCR0VOCQkJKDEgPDwgMikKLQotI2RlZmluZSBHUFRDUl9FTk1PRAkJCSgxIDw8IDEpCi0jZGVmaW5lIEdQVENSX0VOQUJMRQkJCSgxIDw8IDApCi0KLSNkZWZpbmUgR1BUU1JfT0YxCQkJKDEgPDwgMCkKLSNkZWZpbmUgR1BUU1JfT0YyCQkJKDEgPDwgMSkKLSNkZWZpbmUgR1BUU1JfT0YzCQkJKDEgPDwgMikKLSNkZWZpbmUgR1BUU1JfSUYxCQkJKDEgPDwgMykKLSNkZWZpbmUgR1BUU1JfSUYyCQkJKDEgPDwgNCkKLSNkZWZpbmUgR1BUU1JfUk9WCQkJKDEgPDwgNSkKLQotI2RlZmluZSBHUFRJUl9PRjFJRQkJCUdQVFNSX09GMQotI2RlZmluZSBHUFRJUl9PRjJJRQkJCUdQVFNSX09GMgotI2RlZmluZSBHUFRJUl9PRjNJRQkJCUdQVFNSX09GMwotI2RlZmluZSBHUFRJUl9JRjFJRQkJCUdQVFNSX0lGMQotI2RlZmluZSBHUFRJUl9JRjJJRQkJCUdQVFNSX0lGMgotI2RlZmluZSBHUFRJUl9ST1ZJRQkJCUdQVFNSX1JPVgotCi0vKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBBVklDIFJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAgICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICovCi0jZGVmaW5lIEFWSUNfQkFTRQkJSU9fQUREUkVTUyhBVklDX0JBU0VfQUREUikKLSNkZWZpbmUgQVZJQ19JTlRDTlRMCQkoQVZJQ19CQVNFICsgMHgwMCkJLyogaW50IGNvbnRyb2wgcmVnICovCi0jZGVmaW5lIEFWSUNfTklNQVNLCQkoQVZJQ19CQVNFICsgMHgwNCkJLyogaW50IG1hc2sgcmVnICovCi0jZGVmaW5lIEFWSUNfSU5URU5OVU0JCShBVklDX0JBU0UgKyAweDA4KQkvKiBpbnQgZW5hYmxlIG51bWJlciByZWcgKi8KLSNkZWZpbmUgQVZJQ19JTlRESVNOVU0JCShBVklDX0JBU0UgKyAweDBDKQkvKiBpbnQgZGlzYWJsZSBudW1iZXIgcmVnICovCi0jZGVmaW5lIEFWSUNfSU5URU5BQkxFSAkJKEFWSUNfQkFTRSArIDB4MTApCS8qIGludCBlbmFibGUgcmVnIGhpZ2ggKi8KLSNkZWZpbmUgQVZJQ19JTlRFTkFCTEVMCQkoQVZJQ19CQVNFICsgMHgxNCkJLyogaW50IGVuYWJsZSByZWcgbG93ICovCi0jZGVmaW5lIEFWSUNfSU5UVFlQRUgJCShBVklDX0JBU0UgKyAweDE4KQkvKiBpbnQgdHlwZSByZWcgaGlnaCAqLwotI2RlZmluZSBBVklDX0lOVFRZUEVMCQkoQVZJQ19CQVNFICsgMHgxQykJLyogaW50IHR5cGUgcmVnIGxvdyAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFk3CShBVklDX0JBU0UgKyAweDIwKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw3ICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTYJKEFWSUNfQkFTRSArIDB4MjQpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDYgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZNQkoQVZJQ19CQVNFICsgMHgyOCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsNSAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFk0CShBVklDX0JBU0UgKyAweDJDKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw0ICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTMJKEFWSUNfQkFTRSArIDB4MzApCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDMgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZMgkoQVZJQ19CQVNFICsgMHgzNCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsMiAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFkxCShBVklDX0JBU0UgKyAweDM4KQkvKiBub3JtIGludCBwcmlvcml0eSBsdmwxICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTAJKEFWSUNfQkFTRSArIDB4M0MpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDAgKi8KLSNkZWZpbmUgQVZJQ19OSVZFQ1NSCQkoQVZJQ19CQVNFICsgMHg0MCkJLyogbm9ybSBpbnQgdmVjdG9yL3N0YXR1cyAqLwotI2RlZmluZSBBVklDX0ZJVkVDU1IJCShBVklDX0JBU0UgKyAweDQ0KQkvKiBmYXN0IGludCB2ZWN0b3Ivc3RhdHVzICovCi0jZGVmaW5lIEFWSUNfSU5UU1JDSAkJKEFWSUNfQkFTRSArIDB4NDgpCS8qIGludCBzb3VyY2UgcmVnIGhpZ2ggKi8KLSNkZWZpbmUgQVZJQ19JTlRTUkNMCQkoQVZJQ19CQVNFICsgMHg0QykJLyogaW50IHNvdXJjZSByZWcgbG93ICovCi0jZGVmaW5lIEFWSUNfSU5URlJDSAkJKEFWSUNfQkFTRSArIDB4NTApCS8qIGludCBmb3JjZSByZWcgaGlnaCAqLwotI2RlZmluZSBBVklDX0lOVEZSQ0wJCShBVklDX0JBU0UgKyAweDU0KQkvKiBpbnQgZm9yY2UgcmVnIGxvdyAqLwotI2RlZmluZSBBVklDX05JUE5ESAkJKEFWSUNfQkFTRSArIDB4NTgpCS8qIG5vcm0gaW50IHBlbmRpbmcgaGlnaCAqLwotI2RlZmluZSBBVklDX05JUE5ETAkJKEFWSUNfQkFTRSArIDB4NUMpCS8qIG5vcm0gaW50IHBlbmRpbmcgbG93ICovCi0jZGVmaW5lIEFWSUNfRklQTkRICQkoQVZJQ19CQVNFICsgMHg2MCkJLyogZmFzdCBpbnQgcGVuZGluZyBoaWdoICovCi0jZGVmaW5lIEFWSUNfRklQTkRMCQkoQVZJQ19CQVNFICsgMHg2NCkJLyogZmFzdCBpbnQgcGVuZGluZyBsb3cgKi8KLQotI2RlZmluZSBTWVNURU1fUFJFVl9SRUcJCUlPX0FERFJFU1MoSUlNX0JBU0VfQUREUiArIDB4MjApCi0jZGVmaW5lIFNZU1RFTV9TUkVWX1JFRwkJSU9fQUREUkVTUyhJSU1fQkFTRV9BRERSICsgMHgyNCkKLSNkZWZpbmUgSUlNX1BST0RfUkVWX1NICQkzCi0jZGVmaW5lIElJTV9QUk9EX1JFVl9MRU4JNQorI2lmbmRlZiBDT05GSUdfTUFDSF9NWDI3CisjIGRlZmluZSBjcHVfaXNfbXgyNygpICgwKQorI2VuZGlmCiAKICNlbmRpZiAvKiAgX19BU01fQVJDSF9NWENfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjX3RpbWVyLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjX3RpbWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNiMTFmNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGNfdGltZXIuaApAQCAtMCwwICsxLDE1OCBAQAorLyoKKyAqIG14Y190aW1lci5oCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFBsYXRmb3JtIGluZGVwZW5kZW50IChpLk1YMSwgaS5NWDIsIGkuTVgzKSBkZWZpbml0aW9uIGZvciB0aW1lciBoYW5kbGluZy4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX1BMQVRfTVhDX1RJTUVSX0gKKyNkZWZpbmUgX19QTEFUX01YQ19USU1FUl9ICisKKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2lmZGVmIENPTkZJR19BUkNIX0lNWAorI2RlZmluZSBUSU1FUl9CQVNFCQlJT19BRERSRVNTKFRJTTFfQkFTRV9BRERSKQorI2RlZmluZSBUSU1FUl9JTlRFUlJVUFQJCVRJTTFfSU5UCisKKyNkZWZpbmUgVENUTF9WQUwJCVRDVExfQ0xLX1BDTEsxCisjZGVmaW5lIFRDVExfSVJRRU4JCSgxPDw0KQorI2RlZmluZSBUQ1RMX0ZSUgkJKDE8PDgpCisjZGVmaW5lIFRDVExfQ0xLX1BDTEsxCQkoMTw8MSkKKyNkZWZpbmUgVENUTF9DTEtfUENMSzFfNAkoMjw8MSkKKyNkZWZpbmUgVENUTF9DTEtfVElOCQkoMzw8MSkKKyNkZWZpbmUgVENUTF9DTEtfMzIJCSg0PDwxKQorCisjZGVmaW5lIE1YQ19UQ1RMICAgMHgwMAorI2RlZmluZSBNWENfVFBSRVIgIDB4MDQKKyNkZWZpbmUgTVhDX1RDTVAgICAweDA4CisjZGVmaW5lIE1YQ19UQ1IgICAgMHgwYworI2RlZmluZSBNWENfVENOICAgIDB4MTAKKyNkZWZpbmUgTVhDX1RTVEFUICAweDE0CisjZGVmaW5lIFRTVEFUX0NBUFQJCSgxPDwxKQorI2RlZmluZSBUU1RBVF9DT01QCQkoMTw8MCkKKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZGlzYWJsZSh2b2lkKQoreworCXVuc2lnbmVkIGludCB0bXA7CisKKwl0bXAgPSBfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworCV9fcmF3X3dyaXRlbCh0bXAgJiB+VENUTF9JUlFFTiwgVElNRVJfQkFTRSArIE1YQ19UQ1RMKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZW5hYmxlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKF9fcmF3X3JlYWRsKFRJTUVSX0JBU0UgKyBNWENfVENUTCkgfCBUQ1RMX0lSUUVOLAorCQkJCVRJTUVSX0JBU0UgKyBNWENfVENUTCk7Cit9CisKK3N0YXRpYyB2b2lkIGdwdF9pcnFfYWNrbm93bGVkZ2Uodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoMCwgVElNRVJfQkFTRSArIE1YQ19UU1RBVCk7Cit9CisjZW5kaWYgLyogQ09ORklHX0FSQ0hfSU1YICovCisKKyNpZmRlZiBDT05GSUdfQVJDSF9NWDIKKyNkZWZpbmUgVElNRVJfQkFTRQkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUikKKyNkZWZpbmUgVElNRVJfSU5URVJSVVBUCQlNWENfSU5UX0dQVDEKKworI2RlZmluZSBNWENfVENUTCAgIDB4MDAKKyNkZWZpbmUgVENUTF9WQUwJCVRDVExfQ0xLX1BDTEsxCisjZGVmaW5lIFRDVExfQ0xLX1BDTEsxCQkoMTw8MSkKKyNkZWZpbmUgVENUTF9DTEtfUENMSzFfNAkoMjw8MSkKKyNkZWZpbmUgVENUTF9JUlFFTgkJKDE8PDQpCisjZGVmaW5lIFRDVExfRlJSCQkoMTw8OCkKKyNkZWZpbmUgTVhDX1RQUkVSICAweDA0CisjZGVmaW5lIE1YQ19UQ01QICAgMHgwOAorI2RlZmluZSBNWENfVENSICAgIDB4MGMKKyNkZWZpbmUgTVhDX1RDTiAgICAweDEwCisjZGVmaW5lIE1YQ19UU1RBVCAgMHgxNAorI2RlZmluZSBUU1RBVF9DQVBUCQkoMTw8MSkKKyNkZWZpbmUgVFNUQVRfQ09NUAkJKDE8PDApCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncHRfaXJxX2Rpc2FibGUodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgdG1wOworCisJdG1wID0gX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UQ1RMKTsKKwlfX3Jhd193cml0ZWwodG1wICYgflRDVExfSVJRRU4sIFRJTUVSX0JBU0UgKyBNWENfVENUTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncHRfaXJxX2VuYWJsZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDVEwpIHwgVENUTF9JUlFFTiwKKwkJCQlUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworfQorCitzdGF0aWMgdm9pZCBncHRfaXJxX2Fja25vd2xlZGdlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKFRTVEFUX0NBUFQgfCBUU1RBVF9DT01QLCBUSU1FUl9CQVNFICsgTVhDX1RTVEFUKTsKK30KKyNlbmRpZiAvKiBDT05GSUdfQVJDSF9NWDIgKi8KKworI2lmZGVmIENPTkZJR19BUkNIX01YMworI2RlZmluZSBUSU1FUl9CQVNFCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSKQorI2RlZmluZSBUSU1FUl9JTlRFUlJVUFQJCU1YQ19JTlRfR1BUCisKKyNkZWZpbmUgTVhDX1RDVEwgICAweDAwCisjZGVmaW5lIFRDVExfVkFMCQkoVENUTF9DTEtfSVBHIHwgVENUTF9XQUlURU4pCisjZGVmaW5lIFRDVExfQ0xLX0lQRwkJKDE8PDYpCisjZGVmaW5lIFRDVExfRlJSCQkoMTw8OSkKKyNkZWZpbmUgVENUTF9XQUlURU4JCSgxPDwzKQorCisjZGVmaW5lIE1YQ19UUFJFUiAgMHgwNAorI2RlZmluZSBNWENfVFNUQVQgIDB4MDgKKyNkZWZpbmUgVFNUQVRfT0YxCQkoMTw8MCkKKyNkZWZpbmUgVFNUQVRfT0YyCQkoMTw8MSkKKyNkZWZpbmUgVFNUQVRfT0YzCQkoMTw8MikKKyNkZWZpbmUgVFNUQVRfSUYxCQkoMTw8MykKKyNkZWZpbmUgVFNUQVRfSUYyCQkoMTw8NCkKKyNkZWZpbmUgVFNUQVRfUk9WCQkoMTw8NSkKKyNkZWZpbmUgTVhDX0lSICAgICAweDBjCisjZGVmaW5lIE1YQ19UQ01QICAgMHgxMAorI2RlZmluZSBNWENfVENNUDIgIDB4MTQKKyNkZWZpbmUgTVhDX1RDTVAzICAweDE4CisjZGVmaW5lIE1YQ19UQ1IgICAgMHgxYworI2RlZmluZSBNWENfVENOICAgIDB4MjQKKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZGlzYWJsZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbCgwLCBUSU1FUl9CQVNFICsgTVhDX0lSKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZW5hYmxlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKDE8PDAsIFRJTUVSX0JBU0UgKyBNWENfSVIpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9hY2tub3dsZWRnZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbChUU1RBVF9PRjEsIFRJTUVSX0JBU0UgKyBNWENfVFNUQVQpOworfQorI2VuZGlmIC8qIENPTkZJR19BUkNIX01YMyAqLworCisjZGVmaW5lIFRDVExfU1dSCQkoMTw8MTUpCisjZGVmaW5lIFRDVExfQ0MJCQkoMTw8MTApCisjZGVmaW5lIFRDVExfT00JCQkoMTw8OSkKKyNkZWZpbmUgVENUTF9DQVBfUklTCQkoMTw8NikKKyNkZWZpbmUgVENUTF9DQVBfRkFMCQkoMjw8NikKKyNkZWZpbmUgVENUTF9DQVBfUklTX0ZBTAkoMzw8NikKKyNkZWZpbmUgVENUTF9DQVBfRU5BCQkoMTw8NSkKKyNkZWZpbmUgVENUTF9URU4JCSgxPDwwKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW5zOXh4eC9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbnM5eHh4L2hhcmR3YXJlLmgKaW5kZXggMGI3YjM0Ni4uMGRjYTExYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbnM5eHh4L2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbnM5eHh4L2hhcmR3YXJlLmgKQEAgLTY2LDEzICs2NiwxMyBAQAogCSBfX1JFR0dFVCh2YXIsIHJlZyAjIyBfICMjIGZpZWxkKSAvIF9fUkVHU0hJRlQocmVnICMjIF8gIyMgZmllbGQpCiAKICMgIGRlZmluZSBSRUdHRVRJTV9JRFgodmFyLCByZWcsIGZpZWxkLCBpZHgpCQkJCVwKLQkgX19SRUdHRVQodmFyLCByZWcgIyMgXyAjIyBmaWVsZCgoaWR4KSkpIC8gCQkJXAorCSBfX1JFR0dFVCh2YXIsIHJlZyAjIyBfICMjIGZpZWxkKChpZHgpKSkgLwkJCVwKIAkgX19SRUdTSElGVChyZWcgIyMgXyAjIyBmaWVsZCgoaWR4KSkpCiAKICNlbHNlCiAKICMgIGRlZmluZSBfX1JFRyh4KQlpb19wMnYoeCkKLSMgIGRlZmluZSBfX1JFRzIoeCwgeSkJaW9fcDJ2KCh4KSArICh5KSkKKyMgIGRlZmluZSBfX1JFRzIoeCwgeSkJaW9fcDJ2KCh4KSArIDQgKiAoeSkpCiAKICNlbmRpZgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLTI0MzBzZHAuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtMjQzMHNkcC5oCmluZGV4IGU5YzY1Y2UuLmM3ZGI5MDAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtMjQzMHNkcC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtMjQzMHNkcC5oCkBAIC0zNiw5ICszNiw0IEBACiAKICNkZWZpbmUgVFdMNDAzMF9JUlFOVU0JCQlJTlRfMjRYWF9TWVNfTklSUQogCi0vKiBUV0w0MDMwIFByaW1hcnkgSW50ZXJydXB0IEhhbmRsZXIgKFBJSCkgaW50ZXJydXB0cyAqLwotI2RlZmluZSBJSF9UV0w0MDMwX0JBU0UJCQlJSF9CT0FSRF9CQVNFCi0jZGVmaW5lIElIX1RXTDQwMzBfRU5ECQkJKElIX1RXTDQwMzBfQkFTRSs4KQotI2RlZmluZSBOUl9JUlFTCQkJCShJSF9UV0w0MDMwX0VORCkKLQogI2VuZGlmIC8qIF9fQVNNX0FSQ0hfT01BUF8yNDMwU0RQX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaDMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaDMuaAppbmRleCAwZjY0MDQ0Li5jNWQwZjMyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWgzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1oMy5oCkBAIC0zMCwxMiArMzAsNiBAQAogLyogSW4gT01BUDE3MTAgSDMgdGhlIEV0aGVybmV0IGlzIGRpcmVjdGx5IGNvbm5lY3RlZCB0byBDUzEgKi8KICNkZWZpbmUgT01BUDE3MTBfRVRIUl9TVEFSVAkJMHgwNDAwMDMwMAogCi0jZGVmaW5lIE1BWElSUU5VTQkJCShJSF9CT0FSRF9CQVNFKQotI2RlZmluZSBNQVhGSVFOVU0JCQlNQVhJUlFOVU0KLSNkZWZpbmUgTUFYU1dJTlVNCQkJTUFYSVJRTlVNCi0KLSNkZWZpbmUgTlJfSVJRUwkJCQkoTUFYSVJRTlVNICsgMSkKLQogZXh0ZXJuIHZvaWQgaDNfbW1jX2luaXQodm9pZCk7CiBleHRlcm4gdm9pZCBoM19tbWNfc2xvdF9jb3Zlcl9oYW5kbGVyKHZvaWQgKmFyZywgaW50IHN0YXRlKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1pbm5vdmF0b3IuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaW5ub3ZhdG9yLmgKaW5kZXggNTZkMmM5OC4uOWNhMDNkZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1pbm5vdmF0b3IuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWlubm92YXRvci5oCkBAIC0zNiw5ICszNiw2IEBACiAjZGVmaW5lIE9NQVAxNTEwUDFfRU1JRlNfUFJJX1ZBTFVFCQkweDAwCiAjZGVmaW5lIE9NQVAxNTEwUDFfRU1JRkZfUFJJX1ZBTFVFCQkweDAwCiAKLSNkZWZpbmUgTlJfRlBHQV9JUlFTCQkyNAotI2RlZmluZSBOUl9JUlFTICAgICAgICAgICAgICAgICAoSUhfQk9BUkRfQkFTRSArIE5SX0ZQR0FfSVJRUykKLQogI2lmbmRlZiBfX0FTU0VNQkxZX18KIHZvaWQgZnBnYV93cml0ZSh1bnNpZ25lZCBjaGFyIHZhbCwgaW50IHJlZyk7CiB1bnNpZ25lZCBjaGFyIGZwZ2FfcmVhZChpbnQgcmVnKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtcGVyc2V1czIuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtcGVyc2V1czIuaAppbmRleCBlYjc0NDIwLi5kNzQyOWNiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLXBlcnNldXMyLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1wZXJzZXVzMi5oCkBAIC0zNiwxMCArMzYsNCBAQAogI2RlZmluZSBPTUFQX1NEUkFNX0RFVklDRQkJRDI1Nk1fMVgxNl80QgogI2VuZGlmCiAKLSNkZWZpbmUgTUFYSVJRTlVNCQlJSF9CT0FSRF9CQVNFCi0jZGVmaW5lIE1BWEZJUU5VTQkJTUFYSVJRTlVNCi0jZGVmaW5lIE1BWFNXSU5VTQkJTUFYSVJRTlVNCi0KLSNkZWZpbmUgTlJfSVJRUwkJCShNQVhJUlFOVU0gKyAxKQotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY2xvY2suaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY2xvY2suaAppbmRleCAxMmE1ZTRkLi40YzdiMzUxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2Nsb2NrLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jbG9jay5oCkBAIC0zMywxMiArMzMsMjQgQEAKIAl2b2lkIF9faW9tZW0JCSptdWx0X2RpdjFfcmVnOwogCXUzMgkJCW11bHRfbWFzazsKIAl1MzIJCQlkaXYxX21hc2s7CisJdTE2CQkJbGFzdF9yb3VuZGVkX207CisJdTgJCQlsYXN0X3JvdW5kZWRfbjsKKwl1bnNpZ25lZCBsb25nCQlsYXN0X3JvdW5kZWRfcmF0ZTsKKwl1bnNpZ25lZCBpbnQJCXJhdGVfdG9sZXJhbmNlOworCXUxNgkJCW1heF9tdWx0aXBsaWVyOworCXU4CQkJbWF4X2RpdmlkZXI7CisJdTMyCQkJbWF4X3RvbGVyYW5jZTsKICMgIGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDMpCisJdTgJCQltb2RlczsKIAl2b2lkIF9faW9tZW0JCSpjb250cm9sX3JlZzsKIAl1MzIJCQllbmFibGVfbWFzazsKIAl1OAkJCWF1dG9fcmVjYWxfYml0OwogCXU4CQkJcmVjYWxfZW5fYml0OwogCXU4CQkJcmVjYWxfc3RfYml0OworCXZvaWQgX19pb21lbQkJKmF1dG9pZGxlX3JlZzsKKwl1MzIJCQlhdXRvaWRsZV9tYXNrOworCXZvaWQgX19pb21lbQkJKmlkbGVzdF9yZWc7CisJdTgJCQlpZGxlc3RfYml0OwogIyAgZW5kaWYKIH07CiAKQEAgLTY2LDExICs3OCwxNCBAQAogCXZvaWQgX19pb21lbQkJKmNsa3NlbF9yZWc7CiAJdTMyCQkJY2xrc2VsX21hc2s7CiAJY29uc3Qgc3RydWN0IGNsa3NlbAkqY2xrc2VsOwotCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEJKmRwbGxfZGF0YTsKKwlzdHJ1Y3QgZHBsbF9kYXRhCSpkcGxsX2RhdGE7CiAjZWxzZQogCV9fdTgJCQlyYXRlX29mZnNldDsKIAlfX3U4CQkJc3JjX29mZnNldDsKICNlbmRpZgorI2lmIGRlZmluZWQoQ09ORklHX1BNX0RFQlVHKSAmJiBkZWZpbmVkKENPTkZJR19ERUJVR19GUykKKwlzdHJ1Y3QgZGVudHJ5CQkqZGVudDsJLyogRm9yIHZpc2libGUgdHJlZSBoaWVyYXJjaHkgKi8KKyNlbmRpZgogfTsKIAogc3RydWN0IGNwdWZyZXFfZnJlcXVlbmN5X3RhYmxlOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb21tb24uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29tbW9uLmgKaW5kZXggMzZhM2I2Mi4uOGFjMDMwNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb21tb24uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbW1vbi5oCkBAIC00Nyw4ICs0NywyMyBAQAogfQogI2VuZGlmCiAKKy8qIElPIGJhc2VzIGZvciB2YXJpb3VzIE9NQVAgcHJvY2Vzc29ycyAqLworc3RydWN0IG9tYXBfZ2xvYmFscyB7CisJdm9pZCBfX2lvbWVtCSp0YXA7CQkvKiBDb250cm9sIG1vZHVsZSBJRCBjb2RlICovCisJdm9pZCBfX2lvbWVtCSpzZHJjOwkJLyogU0RSQU0gQ29udHJvbGxlciAqLworCXZvaWQgX19pb21lbQkqc21zOwkJLyogU0RSQU0gTWVtb3J5IFNjaGVkdWxlciAqLworCXZvaWQgX19pb21lbQkqY3RybDsJCS8qIFN5c3RlbSBDb250cm9sIE1vZHVsZSAqLworCXZvaWQgX19pb21lbQkqcHJtOwkJLyogUG93ZXIgYW5kIFJlc2V0IE1hbmFnZW1lbnQgKi8KKwl2b2lkIF9faW9tZW0JKmNtOwkJLyogQ2xvY2sgTWFuYWdlbWVudCAqLworfTsKKwogdm9pZCBvbWFwMl9zZXRfZ2xvYmFsc18yNDJ4KHZvaWQpOwogdm9pZCBvbWFwMl9zZXRfZ2xvYmFsc18yNDN4KHZvaWQpOwogdm9pZCBvbWFwMl9zZXRfZ2xvYmFsc18zNDN4KHZvaWQpOwogCisvKiBUaGVzZSBnZXQgY2FsbGVkIGZyb20gb21hcDJfc2V0X2dsb2JhbHNfeHh4eCgpLCBkbyBub3QgY2FsbCB0aGVzZSAqLwordm9pZCBvbWFwMl9zZXRfZ2xvYmFsc19tZW1vcnkoc3RydWN0IG9tYXBfZ2xvYmFscyAqKTsKK3ZvaWQgb21hcDJfc2V0X2dsb2JhbHNfY29udHJvbChzdHJ1Y3Qgb21hcF9nbG9iYWxzICopOwordm9pZCBvbWFwMl9zZXRfZ2xvYmFsc19wcmNtKHN0cnVjdCBvbWFwX2dsb2JhbHMgKik7CisKICNlbmRpZiAvKiBfX0FSQ0hfQVJNX01BQ0hfT01BUF9DT01NT05fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb250cm9sLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbnRyb2wuaAppbmRleCA1OWMwNjg2Li45ODc1NTNlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbnRyb2wuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbnRyb2wuaApAQCAtMTY3LDggKzE2Nyw3IEBACiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMikgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMykKLWV4dGVybiB2b2lkIG9tYXBfY3RybF9iYXNlX3NldCh1MzIgYmFzZSk7Ci1leHRlcm4gdTMyIG9tYXBfY3RybF9iYXNlX2dldCh2b2lkKTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKm9tYXBfY3RybF9iYXNlX2dldCh2b2lkKTsKIGV4dGVybiB1OCBvbWFwX2N0cmxfcmVhZGIodTE2IG9mZnNldCk7CiBleHRlcm4gdTE2IG9tYXBfY3RybF9yZWFkdyh1MTYgb2Zmc2V0KTsKIGV4dGVybiB1MzIgb21hcF9jdHJsX3JlYWRsKHUxNiBvZmZzZXQpOwpAQCAtMTc2LDcgKzE3NSw2IEBACiBleHRlcm4gdm9pZCBvbWFwX2N0cmxfd3JpdGV3KHUxNiB2YWwsIHUxNiBvZmZzZXQpOwogZXh0ZXJuIHZvaWQgb21hcF9jdHJsX3dyaXRlbCh1MzIgdmFsLCB1MTYgb2Zmc2V0KTsKICNlbHNlCi0jZGVmaW5lIG9tYXBfY3RybF9iYXNlX3NldCh4KQkJV0FSTl9PTigxKQogI2RlZmluZSBvbWFwX2N0cmxfYmFzZV9nZXQoKQkJMAogI2RlZmluZSBvbWFwX2N0cmxfcmVhZGIoeCkJCTAKICNkZWZpbmUgb21hcF9jdHJsX3JlYWR3KHgpCQkwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NwdS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jcHUuaAppbmRleCBlOGE0Y2Y1Li41MmRiMDlmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NwdS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY3B1LmgKQEAgLTMsNyArMyw3IEBACiAgKgogICogT01BUCBjcHUgdHlwZSBkZXRlY3Rpb24KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQgTm9raWEgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbgogICoKICAqIFdyaXR0ZW4gYnkgVG9ueSBMaW5kZ3JlbiA8dG9ueS5saW5kZ3JlbkBub2tpYS5jb20+CiAgKgpAQCAtMjYsNiArMjYsMTIgQEAKICNpZm5kZWYgX19BU01fQVJDSF9PTUFQX0NQVV9ICiAjZGVmaW5lIF9fQVNNX0FSQ0hfT01BUF9DUFVfSAogCitzdHJ1Y3Qgb21hcF9jaGlwX2lkIHsKKwl1OCBvYzsKK307CisKKyNkZWZpbmUgT01BUF9DSElQX0lOSVQoeCkJeyAub2MgPSB4IH0KKwogZXh0ZXJuIHVuc2lnbmVkIGludCBzeXN0ZW1fcmV2OwogCiAjZGVmaW5lIG9tYXAyX2NwdV9yZXYoKQkJKChzeXN0ZW1fcmV2ID4+IDEyKSAmIDB4MGYpCkBAIC0zNDUsNiArMzUxLDMzIEBACiAjZGVmaW5lIE9NQVAyNDMwX1JFVl9FUzFfMAkweDI0MzAwMDAwCiAjZGVmaW5lIE9NQVAzNDMwX1JFVl9FUzFfMAkweDM0MzAwMDAwCiAjZGVmaW5lIE9NQVAzNDMwX1JFVl9FUzJfMAkweDM0MzAxMDAwCisjZGVmaW5lIE9NQVAzNDMwX1JFVl9FUzJfMQkweDM0MzAyMDAwCisjZGVmaW5lIE9NQVAzNDMwX1JFVl9FUzJfMgkweDM0MzAzMDAwCisKKy8qCisgKiBvbWFwX2NoaXAgYml0cworICoKKyAqIENISVBfSVNfT01BUHsyNDIwLDI0MzAsMzQzMH0gaW5kaWNhdGUgdGhhdCBhIHBhcnRpY3VsYXIgc3RydWN0dXJlIGlzCisgKiB2YWxpZCBvbiBhbGwgY2hpcHMgb2YgdGhhdCB0eXBlLiAgQ0hJUF9JU19PTUFQMzQzMEVTezEsMn0gaW5kaWNhdGVzCisgKiBzb21ldGhpbmcgdGhhdCBpcyBvbmx5IHZhbGlkIG9uIHRoYXQgcGFydGljdWxhciBFUyByZXZpc2lvbi4KKyAqCisgKiBUaGVzZSBiaXRzIG1heSBiZSBPUmVkIHRvZ2V0aGVyIHRvIGluZGljYXRlIHN0cnVjdHVyZXMgdGhhdCBhcmUKKyAqIGF2YWlsYWJsZSBvbiBtdWx0aXBsZSBjaGlwIHR5cGVzLgorICoKKyAqIFRvIHRlc3Qgd2hldGhlciBhIHBhcnRpY3VsYXIgc3RydWN0dXJlIG1hdGNoZXMgdGhlIGN1cnJlbnQgT01BUCBjaGlwIHR5cGUsCisgKiB1c2Ugb21hcF9jaGlwX2lzKCkuCisgKgorICovCisjZGVmaW5lIENISVBfSVNfT01BUDI0MjAgICAgICAgKDEgPDwgMCkKKyNkZWZpbmUgQ0hJUF9JU19PTUFQMjQzMCAgICAgICAoMSA8PCAxKQorI2RlZmluZSBDSElQX0lTX09NQVAzNDMwICAgICAgICgxIDw8IDIpCisjZGVmaW5lIENISVBfSVNfT01BUDM0MzBFUzEgICAgKDEgPDwgMykKKyNkZWZpbmUgQ0hJUF9JU19PTUFQMzQzMEVTMiAgICAoMSA8PCA0KQorCisjZGVmaW5lIENISVBfSVNfT01BUDI0WFggICAgICAgKENISVBfSVNfT01BUDI0MjAgfCBDSElQX0lTX09NQVAyNDMwKQorCitpbnQgb21hcF9jaGlwX2lzKHN0cnVjdCBvbWFwX2NoaXBfaWQgb2NpKTsKKwogCiAvKgogICogTWFjcm8gdG8gZGV0ZWN0IGRldmljZSB0eXBlIGkuZS4gRU1VL0hTL1RTVC9HUC9CQUQKQEAgLTM2Miw2ICszOTUsOCBAQAogI2RlZmluZSBpc19kZXZpY2VfdHlwZV9ncCgpCShnZXRfZGV2aWNlX3R5cGUoKSA9PSBERVZJQ0VfVFlQRV9HUCkKICNkZWZpbmUgaXNfZGV2aWNlX3R5cGVfYmFkKCkJKGdldF9kZXZpY2VfdHlwZSgpID09IERFVklDRV9UWVBFX0JBRCkKIAotI2VuZGlmCit2b2lkIG9tYXAyX2NoZWNrX3JldmlzaW9uKHZvaWQpOworCisjZW5kaWYgICAgLyogZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMikgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMykgKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbWEuaAppbmRleCAyNGFjZjA5Li5mNGRjYjk1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtYS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG1hLmgKQEAgLTIyLDEwOCArMjIsMTI4IEBACiAjZGVmaW5lIF9fQVNNX0FSQ0hfRE1BX0gKIAogLyogSGFyZHdhcmUgcmVnaXN0ZXJzIGZvciBvbWFwMSAqLwotI2RlZmluZSBPTUFQX0RNQV9CQVNFCQkJKDB4ZmZmZWQ4MDApCi0jZGVmaW5lIE9NQVBfRE1BX0dDUgkJCShPTUFQX0RNQV9CQVNFICsgMHg0MDApCi0jZGVmaW5lIE9NQVBfRE1BX0dTQ1IJCQkoT01BUF9ETUFfQkFTRSArIDB4NDA0KQotI2RlZmluZSBPTUFQX0RNQV9HUlNUCQkJKE9NQVBfRE1BX0JBU0UgKyAweDQwOCkKLSNkZWZpbmUgT01BUF9ETUFfSFdfSUQJCQkoT01BUF9ETUFfQkFTRSArIDB4NDQyKQotI2RlZmluZSBPTUFQX0RNQV9QQ0gyX0lECQkoT01BUF9ETUFfQkFTRSArIDB4NDQ0KQotI2RlZmluZSBPTUFQX0RNQV9QQ0gwX0lECQkoT01BUF9ETUFfQkFTRSArIDB4NDQ2KQotI2RlZmluZSBPTUFQX0RNQV9QQ0gxX0lECQkoT01BUF9ETUFfQkFTRSArIDB4NDQ4KQotI2RlZmluZSBPTUFQX0RNQV9QQ0hHX0lECQkoT01BUF9ETUFfQkFTRSArIDB4NDRhKQotI2RlZmluZSBPTUFQX0RNQV9QQ0hEX0lECQkoT01BUF9ETUFfQkFTRSArIDB4NDRjKQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzBfVQkJKE9NQVBfRE1BX0JBU0UgKyAweDQ0ZSkKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU18wX0wJCShPTUFQX0RNQV9CQVNFICsgMHg0NTApCi0jZGVmaW5lIE9NQVBfRE1BX0NBUFNfMV9VCQkoT01BUF9ETUFfQkFTRSArIDB4NDUyKQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzFfTAkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1NCkKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU18yCQkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1NikKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU18zCQkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1OCkKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU180CQkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1YSkKLSNkZWZpbmUgT01BUF9ETUFfUENIMl9TUgkJKE9NQVBfRE1BX0JBU0UgKyAweDQ2MCkKLSNkZWZpbmUgT01BUF9ETUFfUENIMF9TUgkJKE9NQVBfRE1BX0JBU0UgKyAweDQ4MCkKLSNkZWZpbmUgT01BUF9ETUFfUENIMV9TUgkJKE9NQVBfRE1BX0JBU0UgKyAweDQ4MikKLSNkZWZpbmUgT01BUF9ETUFfUENIRF9TUgkJKE9NQVBfRE1BX0JBU0UgKyAweDRjMCkKKyNkZWZpbmUgT01BUDFfRE1BX0JBU0UJCQkoMHhmZmZlZDgwMCkKIAotLyogSGFyZHdhcmUgcmVnaXN0ZXJzIGZvciBvbWFwMiAqLwotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDMpCi0jZGVmaW5lIE9NQVBfRE1BNF9CQVNFCQkJKEw0XzM0WFhfQkFTRSArIDB4NTYwMDApCi0jZWxzZQkvKiBDT05GSUdfQVJDSF9PTUFQMiAqLwotI2RlZmluZSBPTUFQX0RNQTRfQkFTRQkJCShMNF8yNFhYX0JBU0UgKyAweDU2MDAwKQotI2VuZGlmCisjZGVmaW5lIE9NQVAxX0RNQV9HQ1IJCQkweDQwMAorI2RlZmluZSBPTUFQMV9ETUFfR1NDUgkJCTB4NDA0CisjZGVmaW5lIE9NQVAxX0RNQV9HUlNUCQkJMHg0MDgKKyNkZWZpbmUgT01BUDFfRE1BX0hXX0lECQkJMHg0NDIKKyNkZWZpbmUgT01BUDFfRE1BX1BDSDJfSUQJCTB4NDQ0CisjZGVmaW5lIE9NQVAxX0RNQV9QQ0gwX0lECQkweDQ0NgorI2RlZmluZSBPTUFQMV9ETUFfUENIMV9JRAkJMHg0NDgKKyNkZWZpbmUgT01BUDFfRE1BX1BDSEdfSUQJCTB4NDRhCisjZGVmaW5lIE9NQVAxX0RNQV9QQ0hEX0lECQkweDQ0YworI2RlZmluZSBPTUFQMV9ETUFfQ0FQU18wX1UJCTB4NDRlCisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzBfTAkJMHg0NTAKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfMV9VCQkweDQ1MgorI2RlZmluZSBPTUFQMV9ETUFfQ0FQU18xX0wJCTB4NDU0CisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzIJCTB4NDU2CisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzMJCTB4NDU4CisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzQJCTB4NDVhCisjZGVmaW5lIE9NQVAxX0RNQV9QQ0gyX1NSCQkweDQ2MAorI2RlZmluZSBPTUFQMV9ETUFfUENIMF9TUgkJMHg0ODAKKyNkZWZpbmUgT01BUDFfRE1BX1BDSDFfU1IJCTB4NDgyCisjZGVmaW5lIE9NQVAxX0RNQV9QQ0hEX1NSCQkweDRjMAogCi0jZGVmaW5lIE9NQVBfRE1BNF9SRVZJU0lPTgkJKE9NQVBfRE1BNF9CQVNFICsgMHgwMCkKLSNkZWZpbmUgT01BUF9ETUE0X0dDUl9SRUcJCShPTUFQX0RNQTRfQkFTRSArIDB4NzgpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDAJCShPTUFQX0RNQTRfQkFTRSArIDB4MDgpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDEJCShPTUFQX0RNQTRfQkFTRSArIDB4MGMpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDIJCShPTUFQX0RNQTRfQkFTRSArIDB4MTApCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDMJCShPTUFQX0RNQTRfQkFTRSArIDB4MTQpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDAJCShPTUFQX0RNQTRfQkFTRSArIDB4MTgpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDEJCShPTUFQX0RNQTRfQkFTRSArIDB4MWMpCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDIJCShPTUFQX0RNQTRfQkFTRSArIDB4MjApCi0jZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDMJCShPTUFQX0RNQTRfQkFTRSArIDB4MjQpCi0jZGVmaW5lIE9NQVBfRE1BNF9TWVNTVEFUVVMJCShPTUFQX0RNQTRfQkFTRSArIDB4MjgpCi0jZGVmaW5lIE9NQVBfRE1BNF9PQ1BfU1lTQ09ORklHCQkoT01BUF9ETUE0X0JBU0UgKyAweDJjKQotI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18wCQkoT01BUF9ETUE0X0JBU0UgKyAweDY0KQotI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18yCQkoT01BUF9ETUE0X0JBU0UgKyAweDZjKQotI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18zCQkoT01BUF9ETUE0X0JBU0UgKyAweDcwKQotI2RlZmluZSBPTUFQX0RNQTRfQ0FQU180CQkoT01BUF9ETUE0X0JBU0UgKyAweDc0KQorLyogSGFyZHdhcmUgcmVnaXN0ZXJzIGZvciBvbWFwMiBhbmQgb21hcDMgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BNF9CQVNFCQkoTDRfMjRYWF9CQVNFICsgMHg1NjAwMCkKKyNkZWZpbmUgT01BUDM0WFhfRE1BNF9CQVNFCQkoTDRfMzRYWF9CQVNFICsgMHg1NjAwMCkKIAotI2lmZGVmIENPTkZJR19BUkNIX09NQVAxCisjZGVmaW5lIE9NQVBfRE1BNF9SRVZJU0lPTgkJMHgwMAorI2RlZmluZSBPTUFQX0RNQTRfR0NSCQkJMHg3OAorI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wwCQkweDA4CisjZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDEJCTB4MGMKKyNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMgkJMHgxMAorI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wzCQkweDE0CisjZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDAJCTB4MTgKKyNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMQkJMHgxYworI2RlZmluZSBPTUFQX0RNQTRfSVJRRU5BQkxFX0wyCQkweDIwCisjZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDMJCTB4MjQKKyNkZWZpbmUgT01BUF9ETUE0X1NZU1NUQVRVUwkJMHgyOAorI2RlZmluZSBPTUFQX0RNQTRfT0NQX1NZU0NPTkZJRwkJMHgyYworI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18wCQkweDY0CisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzIJCTB4NmMKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMwkJMHg3MAorI2RlZmluZSBPTUFQX0RNQTRfQ0FQU180CQkweDc0CiAKLSNkZWZpbmUgT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVAkxNworI2RlZmluZSBPTUFQMV9MT0dJQ0FMX0RNQV9DSF9DT1VOVAkxNworI2RlZmluZSBPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlQJMzIJLyogUkVWSVNJVDogSXMgdGhpcyAzMiArIDI/ICovCiAKIC8qIENvbW1vbiBjaGFubmVsIHNwZWNpZmljIHJlZ2lzdGVycyBmb3Igb21hcDEgKi8KLSNkZWZpbmUgT01BUF9ETUFfQ1NEUF9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDAwKQotI2RlZmluZSBPTUFQX0RNQV9DQ1JfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwMikKLSNkZWZpbmUgT01BUF9ETUFfQ0lDUl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDA0KQotI2RlZmluZSBPTUFQX0RNQV9DU1JfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwNikKLSNkZWZpbmUgT01BUF9ETUFfQ0VOX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MTApCi0jZGVmaW5lIE9NQVBfRE1BX0NGTl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDEyKQotI2RlZmluZSBPTUFQX0RNQV9DU0ZJX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MTQpCi0jZGVmaW5lIE9NQVBfRE1BX0NTRUlfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxNikKLSNkZWZpbmUgT01BUF9ETUFfQ1NBQ19SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDE4KQotI2RlZmluZSBPTUFQX0RNQV9DREFDX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MWEpCi0jZGVmaW5lIE9NQVBfRE1BX0NERUlfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxYykKLSNkZWZpbmUgT01BUF9ETUFfQ0RGSV9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDFlKQotI2RlZmluZSBPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKG4pCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDI4KQotCi0jZWxzZQotCi0jZGVmaW5lIE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQJMzIJLyogUkVWSVNJVDogSXMgdGhpcyAzMiArIDI/ICovCisjZGVmaW5lIE9NQVAxX0RNQV9DSF9CQVNFKG4pCQkoMHg0MCAqIChuKSArIDB4MDApCisjZGVmaW5lIE9NQVAxX0RNQV9DU0RQKG4pCQkoMHg0MCAqIChuKSArIDB4MDApCisjZGVmaW5lIE9NQVAxX0RNQV9DQ1IobikJCSgweDQwICogKG4pICsgMHgwMikKKyNkZWZpbmUgT01BUDFfRE1BX0NJQ1IobikJCSgweDQwICogKG4pICsgMHgwNCkKKyNkZWZpbmUgT01BUDFfRE1BX0NTUihuKQkJKDB4NDAgKiAobikgKyAweDA2KQorI2RlZmluZSBPTUFQMV9ETUFfQ0VOKG4pCQkoMHg0MCAqIChuKSArIDB4MTApCisjZGVmaW5lIE9NQVAxX0RNQV9DRk4obikJCSgweDQwICogKG4pICsgMHgxMikKKyNkZWZpbmUgT01BUDFfRE1BX0NTRkkobikJCSgweDQwICogKG4pICsgMHgxNCkKKyNkZWZpbmUgT01BUDFfRE1BX0NTRUkobikJCSgweDQwICogKG4pICsgMHgxNikKKyNkZWZpbmUgT01BUDFfRE1BX0NQQyhuKQkJKDB4NDAgKiAobikgKyAweDE4KQkvKiAxNXh4IG9ubHkgKi8KKyNkZWZpbmUgT01BUDFfRE1BX0NTQUMobikJCSgweDQwICogKG4pICsgMHgxOCkKKyNkZWZpbmUgT01BUDFfRE1BX0NEQUMobikJCSgweDQwICogKG4pICsgMHgxYSkKKyNkZWZpbmUgT01BUDFfRE1BX0NERUkobikJCSgweDQwICogKG4pICsgMHgxYykKKyNkZWZpbmUgT01BUDFfRE1BX0NERkkobikJCSgweDQwICogKG4pICsgMHgxZSkKKyNkZWZpbmUgT01BUDFfRE1BX0NMTktfQ1RSTChuKQkJKDB4NDAgKiAobikgKyAweDI4KQogCiAvKiBDb21tb24gY2hhbm5lbCBzcGVjaWZpYyByZWdpc3RlcnMgZm9yIG9tYXAyICovCi0jZGVmaW5lIE9NQVBfRE1BX0NDUl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg4MCkKLSNkZWZpbmUgT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhuKQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4ODQpCi0jZGVmaW5lIE9NQVBfRE1BX0NJQ1JfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4ODgpCi0jZGVmaW5lIE9NQVBfRE1BX0NTUl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg4YykKLSNkZWZpbmUgT01BUF9ETUFfQ1NEUF9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg5MCkKLSNkZWZpbmUgT01BUF9ETUFfQ0VOX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDk0KQotI2RlZmluZSBPTUFQX0RNQV9DRk5fUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4OTgpCi0jZGVmaW5lIE9NQVBfRE1BX0NTRUlfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YTQpCi0jZGVmaW5lIE9NQVBfRE1BX0NTRklfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YTgpCi0jZGVmaW5lIE9NQVBfRE1BX0NERUlfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YWMpCi0jZGVmaW5lIE9NQVBfRE1BX0NERklfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YjApCi0jZGVmaW5lIE9NQVBfRE1BX0NTQUNfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YjQpCi0jZGVmaW5lIE9NQVBfRE1BX0NEQUNfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YjgpCi0KLSNlbmRpZgorI2RlZmluZSBPTUFQX0RNQTRfQ0hfQkFTRShuKQkJKDB4NjAgKiAobikgKyAweDgwKQorI2RlZmluZSBPTUFQX0RNQTRfQ0NSKG4pCQkoMHg2MCAqIChuKSArIDB4ODApCisjZGVmaW5lIE9NQVBfRE1BNF9DTE5LX0NUUkwobikJCSgweDYwICogKG4pICsgMHg4NCkKKyNkZWZpbmUgT01BUF9ETUE0X0NJQ1IobikJCSgweDYwICogKG4pICsgMHg4OCkKKyNkZWZpbmUgT01BUF9ETUE0X0NTUihuKQkJKDB4NjAgKiAobikgKyAweDhjKQorI2RlZmluZSBPTUFQX0RNQTRfQ1NEUChuKQkJKDB4NjAgKiAobikgKyAweDkwKQorI2RlZmluZSBPTUFQX0RNQTRfQ0VOKG4pCQkoMHg2MCAqIChuKSArIDB4OTQpCisjZGVmaW5lIE9NQVBfRE1BNF9DRk4obikJCSgweDYwICogKG4pICsgMHg5OCkKKyNkZWZpbmUgT01BUF9ETUE0X0NTRUkobikJCSgweDYwICogKG4pICsgMHhhNCkKKyNkZWZpbmUgT01BUF9ETUE0X0NTRkkobikJCSgweDYwICogKG4pICsgMHhhOCkKKyNkZWZpbmUgT01BUF9ETUE0X0NERUkobikJCSgweDYwICogKG4pICsgMHhhYykKKyNkZWZpbmUgT01BUF9ETUE0X0NERkkobikJCSgweDYwICogKG4pICsgMHhiMCkKKyNkZWZpbmUgT01BUF9ETUE0X0NTQUMobikJCSgweDYwICogKG4pICsgMHhiNCkKKyNkZWZpbmUgT01BUF9ETUE0X0NEQUMobikJCSgweDYwICogKG4pICsgMHhiOCkKIAogLyogQ2hhbm5lbCBzcGVjaWZpYyByZWdpc3RlcnMgb25seSBvbiBvbWFwMSAqLwotI2RlZmluZSBPTUFQMV9ETUFfQ1NTQV9MX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MDgpCi0jZGVmaW5lIE9NQVAxX0RNQV9DU1NBX1VfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwYSkKLSNkZWZpbmUgT01BUDFfRE1BX0NEU0FfTF9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDBjKQotI2RlZmluZSBPTUFQMV9ETUFfQ0RTQV9VX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MGUpCi0jZGVmaW5lIE9NQVAxX0RNQV9DT0xPUl9MX1JFRyhuKQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgyMCkKLSNkZWZpbmUgT01BUDFfRE1BX0NDUjJfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgyNCkKLSNkZWZpbmUgT01BUDFfRE1BX0NPTE9SX1VfUkVHKG4pCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDIyKQotI2RlZmluZSBPTUFQMV9ETUFfTENIX0NUUkxfUkVHKG4pCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDJhKQorI2RlZmluZSBPTUFQMV9ETUFfQ1NTQV9MKG4pCQkoMHg0MCAqIChuKSArIDB4MDgpCisjZGVmaW5lIE9NQVAxX0RNQV9DU1NBX1UobikJCSgweDQwICogKG4pICsgMHgwYSkKKyNkZWZpbmUgT01BUDFfRE1BX0NEU0FfTChuKQkJKDB4NDAgKiAobikgKyAweDBjKQorI2RlZmluZSBPTUFQMV9ETUFfQ0RTQV9VKG4pCQkoMHg0MCAqIChuKSArIDB4MGUpCisjZGVmaW5lIE9NQVAxX0RNQV9DT0xPUl9MKG4pCQkoMHg0MCAqIChuKSArIDB4MjApCisjZGVmaW5lIE9NQVAxX0RNQV9DT0xPUl9VKG4pCQkoMHg0MCAqIChuKSArIDB4MjIpCisjZGVmaW5lIE9NQVAxX0RNQV9DQ1IyKG4pCQkoMHg0MCAqIChuKSArIDB4MjQpCisjZGVmaW5lIE9NQVAxX0RNQV9MQ0hfQ1RSTChuKQkJKDB4NDAgKiAobikgKyAweDJhKQkvKiBub3Qgb24gMTV4eCAqLworI2RlZmluZSBPTUFQMV9ETUFfQ0NFTihuKQkJMAorI2RlZmluZSBPTUFQMV9ETUFfQ0NGTihuKQkJMAogCiAvKiBDaGFubmVsIHNwZWNpZmljIHJlZ2lzdGVycyBvbmx5IG9uIG9tYXAyICovCi0jZGVmaW5lIE9NQVAyX0RNQV9DU1NBX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDljKQotI2RlZmluZSBPTUFQMl9ETUFfQ0RTQV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhhMCkKLSNkZWZpbmUgT01BUDJfRE1BX0NDRU5fUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YmMpCi0jZGVmaW5lIE9NQVAyX0RNQV9DQ0ZOX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGMwKQotI2RlZmluZSBPTUFQMl9ETUFfQ09MT1JfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YzQpCisjZGVmaW5lIE9NQVBfRE1BNF9DU1NBKG4pCQkoMHg2MCAqIChuKSArIDB4OWMpCisjZGVmaW5lIE9NQVBfRE1BNF9DRFNBKG4pCQkoMHg2MCAqIChuKSArIDB4YTApCisjZGVmaW5lIE9NQVBfRE1BNF9DQ0VOKG4pCQkoMHg2MCAqIChuKSArIDB4YmMpCisjZGVmaW5lIE9NQVBfRE1BNF9DQ0ZOKG4pCQkoMHg2MCAqIChuKSArIDB4YzApCisjZGVmaW5lIE9NQVBfRE1BNF9DT0xPUihuKQkJKDB4NjAgKiAobikgKyAweGM0KQorCisvKiBEdW1teSBkZWZpbmVzIHRvIGtlZXAgbXVsdGktb21hcCBjb21waWxlcyBoYXBweSAqLworI2RlZmluZSBPTUFQMV9ETUFfUkVWSVNJT04JCTAKKyNkZWZpbmUgT01BUDFfRE1BX0lSUVNUQVRVU19MMAkJMAorI2RlZmluZSBPTUFQMV9ETUFfSVJRRU5BQkxFX0wwCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9PQ1BfU1lTQ09ORklHCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9IV19JRAkJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMF9MCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzBfVQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18xX0wJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMV9VCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9HU0NSCQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ1BDKG4pCQkwCisKKyNkZWZpbmUgT01BUF9ETUE0X0xDSF9DVFJMKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DT0xPUl9MKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DT0xPUl9VKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DQ1IyKG4pCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9DU1NBKG4pCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9DRFNBKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DU1NBX0wobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NTU0FfVShuKQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0RTQV9MKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DRFNBX1UobikJCTAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIApAQCAtMTk2LDYzICsyMTYsOTggQEAKICNkZWZpbmUgT01BUDI0WFhfRE1BX0dQTUMJCTQJLyogU19ETUFfMyAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfR0ZYCQk1CS8qIFNfRE1BXzQgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0RTUwkJNgkvKiBTX0RNQV81ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9WTFlOUV9UWAkJNwkvKiBTX0RNQV82ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9WTFlOUV9UWAkJNwkvKiBTX0RNQV82ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9FWFRfRE1BUkVRMgk3CS8qIFNfRE1BXzYgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0NXVAkJOAkvKiBTX0RNQV83ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9BRVNfVFgJCTkJLyogU19ETUFfOCAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfQUVTX1JYCQkxMAkvKiBTX0RNQV85ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9ERVNfVFgJCTExCS8qIFNfRE1BXzEwICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9ERVNfUlgJCTEyCS8qIFNfRE1BXzExICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9TSEExTUQ1X1JYCQkxMwkvKiBTX0RNQV8xMiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRVhUX0RNQVJFUTIJMTQJLyogU19ETUFfMTMgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VYVF9ETUFSRVEzCTE1CS8qIFNfRE1BXzE0ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FWFRfRE1BUkVRNAkxNgkvKiBTX0RNQV8xNSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX0FDX1JECQkxNwkvKiBTX0RNQV8xNiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX0FDX1dSCQkxOAkvKiBTX0RNQV8xNyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX01EX1VMX1JECTE5CS8qIFNfRE1BXzE4ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfTURfVUxfV1IJMjAJLyogU19ETUFfMTkgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19NRF9ETF9SRAkyMQkvKiBTX0RNQV8yMCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX01EX0RMX1dSCTIyCS8qIFNfRE1BXzIxICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQlRfVUxfUkQJMjMJLyogU19ETUFfMjIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19CVF9VTF9XUgkyNAkvKiBTX0RNQV8yMyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX0JUX0RMX1JECTI1CS8qIFNfRE1BXzI0ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQlRfRExfV1IJMjYJLyogU19ETUFfMjUgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1NIQTJNRDVfUlgJCTEzCS8qIFNfRE1BXzEyICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FWFRfRE1BUkVRMgkxNAkvKiBTX0RNQV8xMyAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRVhUX0RNQVJFUTMJMTUJLyogU19ETUFfMTQgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VYVF9ETUFSRVE0CTE2CS8qIFNfRE1BXzE1ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfQUNfUkQJCTE3CS8qIFNfRE1BXzE2ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfQUNfV1IJCTE4CS8qIFNfRE1BXzE3ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfTURfVUxfUkQJMTkJLyogU19ETUFfMTggKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19NRF9VTF9XUgkyMAkvKiBTX0RNQV8xOSAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX01EX0RMX1JECTIxCS8qIFNfRE1BXzIwICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfTURfRExfV1IJMjIJLyogU19ETUFfMjEgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19CVF9VTF9SRAkyMwkvKiBTX0RNQV8yMiAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX0JUX1VMX1dSCTI0CS8qIFNfRE1BXzIzICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfQlRfRExfUkQJMjUJLyogU19ETUFfMjQgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19CVF9ETF9XUgkyNgkvKiBTX0RNQV8yNSAqLworI2RlZmluZSBPTUFQMjQzWF9ETUFfRVhUX0RNQVJFUTMJMTQJLyogU19ETUFfMTMgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTNfVFgwCQkxNQkvKiBTX0RNQV8xNCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJM19SWDAJCTE2CS8qIFNfRE1BXzE1ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDNfVFgJCTE3CS8qIFNfRE1BXzE2ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDNfUlgJCTE4CS8qIFNfRE1BXzE3ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDRfVFgJCTE5CS8qIFNfRE1BXzE4ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDRfUlgJCTIwCS8qIFNfRE1BXzE5ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDVfVFgJCTIxCS8qIFNfRE1BXzIwICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDVfUlgJCTIyCS8qIFNfRE1BXzIxICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkzX1RYMQkJMjMJLyogU19ETUFfMjIgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTNfUlgxCQkyNAkvKiBTX0RNQV8yMyAqLworI2RlZmluZSBPTUFQMjQzWF9ETUFfRVhUX0RNQVJFUTQJMjUJLyogU19ETUFfMjQgKi8KKyNkZWZpbmUgT01BUDI0M1hfRE1BX0VYVF9ETUFSRVE1CTI2CS8qIFNfRE1BXzI1ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9JMkMzX1RYCQkyNQkvKiBTX0RNQV8yNCAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfSTJDM19SWAkJMjYJLyogU19ETUFfMjUgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0kyQzFfVFgJCTI3CS8qIFNfRE1BXzI2ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9JMkMxX1JYCQkyOAkvKiBTX0RNQV8yNyAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfSTJDMl9UWAkJMjkJLyogU19ETUFfMjggKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0kyQzJfUlgJCTMwCS8qIFNfRE1BXzI5ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDFfVFgJCTMxCS8qIFNETUFfMzAgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMV9SWAkJMzIJLyogU0RNQV8zMSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AyX1RYCQkzMwkvKiBTRE1BXzMyICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgJCTM0CS8qIFNETUFfMzMgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgwCQkzNQkvKiBTRE1BXzM0ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMAkJMzYJLyogU0RNQV8zNSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDEJCTM3CS8qIFNETUFfMzYgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgxCQkzOAkvKiBTRE1BXzM3ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMgkJMzkJLyogU0RNQV8zOCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDIJCTQwCS8qIFNETUFfMzkgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgzCQk0MQkvKiBTRE1BXzQwICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMwkJNDIJLyogU0RNQV80MSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9UWDAJCTQzCS8qIFNETUFfNDIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfUlgwCQk0NAkvKiBTRE1BXzQzICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1RYMQkJNDUJLyogU0RNQV80NCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9SWDEJCTQ2CS8qIFNETUFfNDUgKi8KLQotI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDFfVFgJCTQ5CS8qIFNETUFfNDggKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQxX1JYCQk1MAkvKiBTRE1BXzQ5ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMl9UWAkJNTEJLyogU0RNQV81MCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDJfUlgJCTUyCS8qIFNETUFfNTEgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQzX1RYCQk1MwkvKiBTRE1BXzUyICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUM19SWAkJNTQJLyogU0RNQV81MyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfVFgwCTU1CS8qIFNETUFfNTQgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1JYMAk1NgkvKiBTRE1BXzU1ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19UWDEJNTcJLyogU0RNQV81NiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfUlgxCTU4CS8qIFNETUFfNTcgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1RYMgk1OQkvKiBTRE1BXzU4ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19SWDIJNjAJLyogU0RNQV81OSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMV9UWAkJNjEJLyogU0RNQV82MCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMV9SWAkJNjIJLyogU0RNQV82MSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTVMJCQk2MwkvKiBTRE1BXzYyICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FWFRfRE1BUkVRNQk2NAkvKiBTX0RNQV82MyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AxX1RYCQkzMQkvKiBTX0RNQV8zMCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYCQkzMgkvKiBTX0RNQV8zMSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AyX1RYCQkzMwkvKiBTX0RNQV8zMiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AyX1JYCQkzNAkvKiBTX0RNQV8zMyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDAJCTM1CS8qIFNfRE1BXzM0ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMAkJMzYJLyogU19ETUFfMzUgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgxCQkzNwkvKiBTX0RNQV8zNiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDEJCTM4CS8qIFNfRE1BXzM3ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMgkJMzkJLyogU19ETUFfMzggKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgyCQk0MAkvKiBTX0RNQV8zOSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDMJCTQxCS8qIFNfRE1BXzQwICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMwkJNDIJLyogU19ETUFfNDEgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfVFgwCQk0MwkvKiBTX0RNQV80MiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9SWDAJCTQ0CS8qIFNfRE1BXzQzICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1RYMQkJNDUJLyogU19ETUFfNDQgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfUlgxCQk0NgkvKiBTX0RNQV80NSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMl9UWAkJNDcJLyogU19ETUFfNDYgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01NQzJfUlgJCTQ4CS8qIFNfRE1BXzQ3ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMV9UWAkJNDkJLyogU19ETUFfNDggKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQxX1JYCQk1MAkvKiBTX0RNQV80OSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDJfVFgJCTUxCS8qIFNfRE1BXzUwICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMl9SWAkJNTIJLyogU19ETUFfNTEgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQzX1RYCQk1MwkvKiBTX0RNQV81MiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDNfUlgJCTU0CS8qIFNfRE1BXzUzICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19UWDAJNTUJLyogU19ETUFfNTQgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1JYMAk1NgkvKiBTX0RNQV81NSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfVFgxCTU3CS8qIFNfRE1BXzU2ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19SWDEJNTgJLyogU19ETUFfNTcgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1RYMgk1OQkvKiBTX0RNQV81OCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfUlgyCTYwCS8qIFNfRE1BXzU5ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMxX1RYCQk2MQkvKiBTX0RNQV82MCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMV9SWAkJNjIJLyogU19ETUFfNjEgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01TCQkJNjMJLyogU19ETUFfNjIgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VYVF9ETUFSRVE1CTY0CS8qIFNfRE1BXzYzICovCisjZGVmaW5lIE9NQVAyNDNYX0RNQV9FWFRfRE1BUkVRNgk2NAkvKiBTX0RNQV82MyAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfRVhUX0RNQVJFUTMJNjQJLyogU19ETUFfNjMgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0FFUzJfVFgJCTY1CS8qIFNfRE1BXzY0ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9BRVMyX1JYCQk2NgkvKiBTX0RNQV82NSAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfREVTMl9UWAkJNjcJLyogU19ETUFfNjYgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0RFUzJfUlgJCTY4CS8qIFNfRE1BXzY3ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9TSEExTUQ1X1JYCQk2OQkvKiBTX0RNQV82OCAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfU1BJNF9UWDAJCTcwCS8qIFNfRE1BXzY5ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9TUEk0X1JYMAkJNzEJLyogU19ETUFfNzAgKi8KKyNkZWZpbmUgT01BUDM0WFhfRFNTX0RNQTAJCTcyCS8qIFNfRE1BXzcxICovCisjZGVmaW5lIE9NQVAzNFhYX0RTU19ETUExCQk3MwkvKiBTX0RNQV83MiAqLworI2RlZmluZSBPTUFQMzRYWF9EU1NfRE1BMgkJNzQJLyogU19ETUFfNzMgKi8KKyNkZWZpbmUgT01BUDM0WFhfRFNTX0RNQTMJCTc1CS8qIFNfRE1BXzc0ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9NTUMzX1RYCQk3NwkvKiBTX0RNQV83NiAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfTU1DM19SWAkJNzgJLyogU19ETUFfNzcgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1VTSU1fVFgJCTc5CS8qIFNfRE1BXzc4ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9VU0lNX1JYCQk4MAkvKiBTX0RNQV83OSAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0zNTgsNiArNDEzLDExIEBACiAJT01BUF9ETUFfREFUQV9CVVJTVF8xNiwKIH07CiAKK2VudW0gZW5kX3R5cGUgeworCU9NQVBfRE1BX0xJVFRMRV9FTkRJQU4gPSAwLAorCU9NQVBfRE1BX0JJR19FTkRJQU4KK307CisKIGVudW0gb21hcF9kbWFfY29sb3JfbW9kZSB7CiAJT01BUF9ETUFfQ09MT1JfRElTID0gMCwKIAlPTUFQX0RNQV9DT05TVEFOVF9GSUxMLApAQCAtMzcwLDI0ICs0MzAsMzQgQEAKIAlPTUFQX0RNQV9XUklURV9MQVNUX05PTl9QT1NURUQKIH07CiAKK2VudW0gb21hcF9kbWFfY2hhbm5lbF9tb2RlIHsKKwlPTUFQX0RNQV9MQ0hfMkQgPSAwLAorCU9NQVBfRE1BX0xDSF9HLAorCU9NQVBfRE1BX0xDSF9QLAorCU9NQVBfRE1BX0xDSF9QRAorfTsKKwogc3RydWN0IG9tYXBfZG1hX2NoYW5uZWxfcGFyYW1zIHsKIAlpbnQgZGF0YV90eXBlOwkJLyogZGF0YSB0eXBlIDgsMTYsMzIgKi8KIAlpbnQgZWxlbV9jb3VudDsJCS8qIG51bWJlciBvZiBlbGVtZW50cyBpbiBhIGZyYW1lICovCiAJaW50IGZyYW1lX2NvdW50OwkvKiBudW1iZXIgb2YgZnJhbWVzIGluIGEgZWxlbWVudCAqLwogCiAJaW50IHNyY19wb3J0OwkJLyogT25seSBvbiBPTUFQMSBSRVZJU0lUOiBJcyB0aGlzIG5lZWRlZD8gKi8KLQlpbnQgc3JjX2Ftb2RlOwkJLyogY29uc3RhbnQgLCBwb3N0IGluY3JlbWVudCwgaW5kZXhlZCAsIGRvdWJsZSBpbmRleGVkICovCisJaW50IHNyY19hbW9kZTsJCS8qIGNvbnN0YW50LCBwb3N0IGluY3JlbWVudCwgaW5kZXhlZCwKKwkJCQkJZG91YmxlIGluZGV4ZWQgKi8KIAl1bnNpZ25lZCBsb25nIHNyY19zdGFydDsJLyogc291cmNlIGFkZHJlc3MgOiBwaHlzaWNhbCAqLwogCWludCBzcmNfZWk7CQkvKiBzb3VyY2UgZWxlbWVudCBpbmRleCAqLwogCWludCBzcmNfZmk7CQkvKiBzb3VyY2UgZnJhbWUgaW5kZXggKi8KIAogCWludCBkc3RfcG9ydDsJCS8qIE9ubHkgb24gT01BUDEgUkVWSVNJVDogSXMgdGhpcyBuZWVkZWQ/ICovCi0JaW50IGRzdF9hbW9kZTsJCS8qIGNvbnN0YW50ICwgcG9zdCBpbmNyZW1lbnQsIGluZGV4ZWQgLCBkb3VibGUgaW5kZXhlZCAqLworCWludCBkc3RfYW1vZGU7CQkvKiBjb25zdGFudCwgcG9zdCBpbmNyZW1lbnQsIGluZGV4ZWQsCisJCQkJCWRvdWJsZSBpbmRleGVkICovCiAJdW5zaWduZWQgbG9uZyBkc3Rfc3RhcnQ7CS8qIHNvdXJjZSBhZGRyZXNzIDogcGh5c2ljYWwgKi8KIAlpbnQgZHN0X2VpOwkJLyogc291cmNlIGVsZW1lbnQgaW5kZXggKi8KIAlpbnQgZHN0X2ZpOwkJLyogc291cmNlIGZyYW1lIGluZGV4ICovCiAKLQlpbnQgdHJpZ2dlcjsJCS8qIHRyaWdnZXIgYXR0YWNoZWQgaWYgdGhlIGNoYW5uZWwgaXMgc3luY2hyb25pemVkICovCisJaW50IHRyaWdnZXI7CQkvKiB0cmlnZ2VyIGF0dGFjaGVkIGlmIHRoZSBjaGFubmVsIGlzCisJCQkJCXN5bmNocm9uaXplZCAqLwogCWludCBzeW5jX21vZGU7CQkvKiBzeWNuIG9uIGVsZW1lbnQsIGZyYW1lICwgYmxvY2sgb3IgcGFja2V0ICovCiAJaW50IHNyY19vcl9kc3Rfc3luY2g7CS8qIHNvdXJjZSBzeW5jaCgxKSBvciBkZXN0aW5hdGlvbiBzeW5jaCgwKSAqLwogCkBAIC00MDQsOCArNDc0LDggQEAKIAogZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX3ByaW9yaXR5KGludCBsY2gsIGludCBkc3RfcG9ydCwgaW50IHByaW9yaXR5KTsKIGV4dGVybiBpbnQgb21hcF9yZXF1ZXN0X2RtYShpbnQgZGV2X2lkLCBjb25zdCBjaGFyICpkZXZfbmFtZSwKLQkJCSAgICB2b2lkICgqIGNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKLQkJCSAgICB2b2lkICpkYXRhLCBpbnQgKmRtYV9jaCk7CisJCQl2b2lkICgqY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAorCQkJdm9pZCAqZGF0YSwgaW50ICpkbWFfY2gpOwogZXh0ZXJuIHZvaWQgb21hcF9lbmFibGVfZG1hX2lycShpbnQgY2gsIHUxNiBpcnFfYml0cyk7CiBleHRlcm4gdm9pZCBvbWFwX2Rpc2FibGVfZG1hX2lycShpbnQgY2gsIHUxNiBpcnFfYml0cyk7CiBleHRlcm4gdm9pZCBvbWFwX2ZyZWVfZG1hKGludCBjaCk7CkBAIC00MTgsNiArNDg4LDcgQEAKIGV4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV9jb2xvcl9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfY29sb3JfbW9kZSBtb2RlLAogCQkJCSAgICB1MzIgY29sb3IpOwogZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX3dyaXRlX21vZGUoaW50IGxjaCwgZW51bSBvbWFwX2RtYV93cml0ZV9tb2RlIG1vZGUpOworZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX2NoYW5uZWxfbW9kZShpbnQgbGNoLCBlbnVtIG9tYXBfZG1hX2NoYW5uZWxfbW9kZSBtb2RlKTsKIAogZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX3NyY19wYXJhbXMoaW50IGxjaCwgaW50IHNyY19wb3J0LCBpbnQgc3JjX2Ftb2RlLAogCQkJCSAgICB1bnNpZ25lZCBsb25nIHNyY19zdGFydCwKQEAgLTQzNiwyMyArNTA3LDI2IEBACiAJCQkJCSBlbnVtIG9tYXBfZG1hX2J1cnN0X21vZGUgYnVyc3RfbW9kZSk7CiAKIGV4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV9wYXJhbXMoaW50IGxjaCwKLQkJCQlzdHJ1Y3Qgb21hcF9kbWFfY2hhbm5lbF9wYXJhbXMgKiBwYXJhbXMpOworCQkJCXN0cnVjdCBvbWFwX2RtYV9jaGFubmVsX3BhcmFtcyAqcGFyYW1zKTsKIAotZXh0ZXJuIHZvaWQgb21hcF9kbWFfbGlua19sY2ggKGludCBsY2hfaGVhZCwgaW50IGxjaF9xdWV1ZSk7Ci1leHRlcm4gdm9pZCBvbWFwX2RtYV91bmxpbmtfbGNoIChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpOworZXh0ZXJuIHZvaWQgb21hcF9kbWFfbGlua19sY2goaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKTsKK2V4dGVybiB2b2lkIG9tYXBfZG1hX3VubGlua19sY2goaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKTsKIAogZXh0ZXJuIGludCBvbWFwX3NldF9kbWFfY2FsbGJhY2soaW50IGxjaCwKLQkJCXZvaWQgKCogY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAorCQkJdm9pZCAoKmNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKIAkJCXZvaWQgKmRhdGEpOwogZXh0ZXJuIGRtYV9hZGRyX3Qgb21hcF9nZXRfZG1hX3NyY19wb3MoaW50IGxjaCk7CiBleHRlcm4gZG1hX2FkZHJfdCBvbWFwX2dldF9kbWFfZHN0X3BvcyhpbnQgbGNoKTsKLWV4dGVybiBpbnQgb21hcF9nZXRfZG1hX3NyY19hZGRyX2NvdW50ZXIoaW50IGxjaCk7CiBleHRlcm4gdm9pZCBvbWFwX2NsZWFyX2RtYShpbnQgbGNoKTsKK2V4dGVybiBpbnQgb21hcF9nZXRfZG1hX2FjdGl2ZV9zdGF0dXMoaW50IGxjaCk7CiBleHRlcm4gaW50IG9tYXBfZG1hX3J1bm5pbmcodm9pZCk7CiBleHRlcm4gdm9pZCBvbWFwX2RtYV9zZXRfZ2xvYmFsX3BhcmFtcyhpbnQgYXJiX3JhdGUsIGludCBtYXhfZmlmb19kZXB0aCwKIAkJCQkgICAgICAgaW50IHRwYXJhbXMpOwogZXh0ZXJuIGludCBvbWFwX2RtYV9zZXRfcHJpb19sY2goaW50IGxjaCwgdW5zaWduZWQgY2hhciByZWFkX3ByaW8sCiAJCQkJIHVuc2lnbmVkIGNoYXIgd3JpdGVfcHJpbyk7CitleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfZHN0X2VuZGlhbl90eXBlKGludCBsY2gsIGVudW0gZW5kX3R5cGUgZXR5cGUpOworZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX3NyY19lbmRpYW5fdHlwZShpbnQgbGNoLCBlbnVtIGVuZF90eXBlIGV0eXBlKTsKK2V4dGVybiBpbnQgb21hcF9nZXRfZG1hX2luZGV4KGludCBsY2gsIGludCAqZWksIGludCAqZmkpOwogCiAvKiBDaGFpbmluZyBBUElzICovCiAjaWZuZGVmIENPTkZJR19BUkNIX09NQVAxCkBAIC00NzgsNyArNTUyLDcgQEAKICNlbmRpZgogCiAvKiBMQ0QgRE1BIGZ1bmN0aW9ucyAqLwotZXh0ZXJuIGludCBvbWFwX3JlcXVlc3RfbGNkX2RtYSh2b2lkICgqIGNhbGxiYWNrKSh1MTYgc3RhdHVzLCB2b2lkICpkYXRhKSwKK2V4dGVybiBpbnQgb21hcF9yZXF1ZXN0X2xjZF9kbWEodm9pZCAoKmNhbGxiYWNrKSh1MTYgc3RhdHVzLCB2b2lkICpkYXRhKSwKIAkJCQl2b2lkICpkYXRhKTsKIGV4dGVybiB2b2lkIG9tYXBfZnJlZV9sY2RfZG1hKHZvaWQpOwogZXh0ZXJuIHZvaWQgb21hcF9zZXR1cF9sY2RfZG1hKHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbXRpbWVyLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtdGltZXIuaAppbmRleCBmZWZiMjc2Li4wMmIyOWU4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtdGltZXIuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtdGltZXIuaApAQCAtNjYsNiArNjYsNyBAQAogCiB2b2lkIG9tYXBfZG1fdGltZXJfc2V0X3NvdXJjZShzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBzb3VyY2UpOwogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9sb2FkKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IGF1dG9yZWxvYWQsIHVuc2lnbmVkIGludCB2YWx1ZSk7Cit2b2lkIG9tYXBfZG1fdGltZXJfc2V0X2xvYWRfc3RhcnQoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgYXV0b3JlbG9hZCwgdW5zaWduZWQgaW50IHZhbHVlKTsKIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfbWF0Y2goc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgZW5hYmxlLCB1bnNpZ25lZCBpbnQgbWF0Y2gpOwogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9wd20oc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgZGVmX29uLCBpbnQgdG9nZ2xlLCBpbnQgdHJpZ2dlcik7CiB2b2lkIG9tYXBfZG1fdGltZXJfc2V0X3ByZXNjYWxlcihzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBwcmVzY2FsZXIpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9mcGdhLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2ZwZ2EuaAppbmRleCA2YTg4M2UwLi5mNDIwODgxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2ZwZ2EuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2ZwZ2EuaApAQCAtMTY5LDMwICsxNjksMjkgQEAKICNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EJCShJSF9HUElPX0JBU0UgKyAxMykKIAogLyogSVJRIE51bWJlcnMgZm9yIGludGVycnVwdHMgbXV4ZWQgdGhyb3VnaCB0aGUgRlBHQSAqLwotI2RlZmluZSBPTUFQMTUxMF9JSF9GUEdBX0JBU0UJCUlIX0JPQVJEX0JBU0UKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQVROCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQUNLCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EyCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMikKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EzCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMykKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E0CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgNCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E1CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgNSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E2CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgNikKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E3CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgNykKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E4CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgOCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E5CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgOSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExMAkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDEwKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTExCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTEpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTIJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxMikKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0VUSEVSCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTMpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBVUFSVDEJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxNCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FVQVJUMgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE1KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9UUwkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE2KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTE3CQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTcpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0NBTQkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE4KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9SVENfQQkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE5KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9SVENfQgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDIwKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9DRAkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDIxKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTIyCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMjIpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMjMJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAyMykKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQVROCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQUNLCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EyCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMikKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EzCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMykKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E0CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgNCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E1CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgNSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E2CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgNikKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E3CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgNykKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E4CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgOCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0E5CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgOSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExMAkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDEwKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTExCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTEpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTIJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxMikKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0VUSEVSCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTMpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBVUFSVDEJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxNCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FVQVJUMgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE1KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9UUwkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE2KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTE3CQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTcpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0NBTQkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE4KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9SVENfQQkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE5KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9SVENfQgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDIwKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9DRAkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDIxKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTIyCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMjIpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMjMJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAyMykKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2hhcmR3YXJlLmgKaW5kZXggOTFkODViMy4uNDVmZGZjYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaGFyZHdhcmUuaApAQCAtMjg0LDYgKzI4NCw3IEBACiAjaW5jbHVkZSAib21hcDE1MTAuaCIKICNpbmNsdWRlICJvbWFwMjR4eC5oIgogI2luY2x1ZGUgIm9tYXAxNnh4LmgiCisjaW5jbHVkZSAib21hcDM0eHguaCIKIAogI2lmbmRlZiBfX0FTU0VNQkxFUl9fCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaW8uaAppbmRleCAxNjA1NzhlLi4wYjEzNTU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lvLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pby5oCkBAIC02MCw2ICs2MCw3IEBACiAjZGVmaW5lIElPX1NJWkUJCTB4NDAwMDAKICNkZWZpbmUgSU9fVklSVAkJKElPX1BIWVMgLSBJT19PRkZTRVQpCiAjZGVmaW5lIElPX0FERFJFU1MocGEpCSgocGEpIC0gSU9fT0ZGU0VUKQorI2RlZmluZSBPTUFQMV9JT19BRERSRVNTKHBhKQkoKHBhKSAtIElPX09GRlNFVCkKICNkZWZpbmUgaW9fcDJ2KHBhKQkoKHBhKSAtIElPX09GRlNFVCkKICNkZWZpbmUgaW9fdjJwKHZhKQkoKHZhKSArIElPX09GRlNFVCkKIApAQCAtOTEsNiArOTIsNyBAQAogCiAjZGVmaW5lIElPX09GRlNFVAkweDkwMDAwMDAwCiAjZGVmaW5lIElPX0FERFJFU1MocGEpCSgocGEpICsgSU9fT0ZGU0VUKQkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCisjZGVmaW5lIE9NQVAyX0lPX0FERFJFU1MocGEpCSgocGEpICsgSU9fT0ZGU0VUKQkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCiAjZGVmaW5lIGlvX3AydihwYSkJKChwYSkgKyBJT19PRkZTRVQpCS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KICNkZWZpbmUgaW9fdjJwKHZhKQkoKHZhKSAtIElPX09GRlNFVCkJLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLwogCkBAIC0xNDgsNiArMTUwLDcgQEAKIAogI2RlZmluZSBJT19PRkZTRVQJCTB4OTAwMDAwMDAKICNkZWZpbmUgSU9fQUREUkVTUyhwYSkJCSgocGEpICsgSU9fT0ZGU0VUKS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KKyNkZWZpbmUgT01BUDJfSU9fQUREUkVTUyhwYSkJKChwYSkgKyBJT19PRkZTRVQpLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLwogI2RlZmluZSBpb19wMnYocGEpCQkoKHBhKSArIElPX09GRlNFVCkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCiAjZGVmaW5lIGlvX3YycCh2YSkJCSgodmEpIC0gSU9fT0ZGU0VUKS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KIApAQCAtMTgzLDM1ICsxODYsMTIgQEAKICNkZWZpbmUgb21hcF93cml0ZXcodixhKQkoKih2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAqKUlPX0FERFJFU1MoYSkgPSAodikpCiAjZGVmaW5lIG9tYXBfd3JpdGVsKHYsYSkJKCoodm9sYXRpbGUgdW5zaWduZWQgaW50ICAgKilJT19BRERSRVNTKGEpID0gKHYpKQogCi0vKiAxNiBiaXQgdXNlcyBMRFJIL1NUUkgsIGJhc2UgKy8tIG9mZnNldF84ICovCi10eXBlZGVmIHN0cnVjdCB7IHZvbGF0aWxlIHUxNiBvZmZzZXRbMjU2XTsgfSBfX3JlZ2Jhc2UxNjsKLSNkZWZpbmUgX19SRUdWMTYodmFkZHIpCQkoKF9fcmVnYmFzZTE2ICopKCh2YWRkcikmfjB4ZmYpKSBcCi0JCQkJCS0+b2Zmc2V0WygodmFkZHIpJjB4ZmYpPj4xXQotI2RlZmluZSBfX1JFRzE2KHBhZGRyKSAgICAgICAgICBfX1JFR1YxNihpb19wMnYocGFkZHIpKQotCi0vKiA4LzMyIGJpdCB1c2VzIExEUi9TVFIsIGJhc2UgKy8tIG9mZnNldF8xMiAqLwotdHlwZWRlZiBzdHJ1Y3QgeyB2b2xhdGlsZSB1OCBvZmZzZXRbNDA5Nl07IH0gX19yZWdiYXNlODsKLSNkZWZpbmUgX19SRUdWOCh2YWRkcikJCSgoX19yZWdiYXNlOCAgKikoKHZhZGRyKSZ+NDA5NSkpIFwKLQkJCQkJLT5vZmZzZXRbKCh2YWRkcikmNDA5NSk+PjBdCi0jZGVmaW5lIF9fUkVHOChwYWRkcikJCV9fUkVHVjgoaW9fcDJ2KHBhZGRyKSkKLQotdHlwZWRlZiBzdHJ1Y3QgeyB2b2xhdGlsZSB1MzIgb2Zmc2V0WzQwOTZdOyB9IF9fcmVnYmFzZTMyOwotI2RlZmluZSBfX1JFR1YzMih2YWRkcikJCSgoX19yZWdiYXNlMzIgKikoKHZhZGRyKSZ+NDA5NSkpIFwKLQkJCQkJLT5vZmZzZXRbKCh2YWRkcikmNDA5NSk+PjJdCi0jZGVmaW5lIF9fUkVHMzIocGFkZHIpCQlfX1JFR1YzMihpb19wMnYocGFkZHIpKQotCiBleHRlcm4gdm9pZCBvbWFwMV9tYXBfY29tbW9uX2lvKHZvaWQpOwogZXh0ZXJuIHZvaWQgb21hcDFfaW5pdF9jb21tb25faHcodm9pZCk7CiAKIGV4dGVybiB2b2lkIG9tYXAyX21hcF9jb21tb25faW8odm9pZCk7CiBleHRlcm4gdm9pZCBvbWFwMl9pbml0X2NvbW1vbl9odyh2b2lkKTsKIAotI2Vsc2UKLQotI2RlZmluZSBfX1JFRzgocGFkZHIpCQlpb19wMnYocGFkZHIpCi0jZGVmaW5lIF9fUkVHMTYocGFkZHIpCQlpb19wMnYocGFkZHIpCi0jZGVmaW5lIF9fUkVHMzIocGFkZHIpCQlpb19wMnYocGFkZHIpCi0KICNlbmRpZgogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pcnFzLmgKaW5kZXggODc5NzM2NS4uNzQ2NGM2OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pcnFzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pcnFzLmgKQEAgLTI4NSw3ICsyODUsNDEgQEAKICNkZWZpbmUgT01BUF9NQVhfR1BJT19MSU5FUwkxOTIKICNkZWZpbmUgSUhfR1BJT19CQVNFCQkoMTI4ICsgSUgyX0JBU0UpCiAjZGVmaW5lIElIX01QVUlPX0JBU0UJCShPTUFQX01BWF9HUElPX0xJTkVTICsgSUhfR1BJT19CQVNFKQotI2RlZmluZSBJSF9CT0FSRF9CQVNFCQkoMTYgKyBJSF9NUFVJT19CQVNFKQorI2RlZmluZSBPTUFQX0lSUV9FTkQJCShJSF9NUFVJT19CQVNFICsgMTYpCisKKy8qIEV4dGVybmFsIEZQR0EgaGFuZGxlcyBpbnRlcnJ1cHRzIG9uIElubm92YXRvciBib2FyZHMgKi8KKyNkZWZpbmUJT01BUF9GUEdBX0lSUV9CQVNFCShPTUFQX0lSUV9FTkQpCisjaWZkZWYJQ09ORklHX01BQ0hfT01BUF9JTk5PVkFUT1IKKyNkZWZpbmUgT01BUF9GUEdBX05SX0lSUVMJMjQKKyNlbHNlCisjZGVmaW5lIE9NQVBfRlBHQV9OUl9JUlFTCTAKKyNlbmRpZgorI2RlZmluZSBPTUFQX0ZQR0FfSVJRX0VORAkoT01BUF9GUEdBX0lSUV9CQVNFICsgT01BUF9GUEdBX05SX0lSUVMpCisKKy8qIEV4dGVybmFsIFRXTDQwMzAgY2FuIGhhbmRsZSBpbnRlcnJ1cHRzIG9uIDI0MzAgYW5kIDM0eHggYm9hcmRzICovCisjZGVmaW5lCVRXTDQwMzBfSVJRX0JBU0UJKE9NQVBfRlBHQV9JUlFfRU5EKQorI2lmZGVmCUNPTkZJR19UV0w0MDMwX0NPUkUKKyNkZWZpbmUJVFdMNDAzMF9CQVNFX05SX0lSUVMJOAorI2RlZmluZQlUV0w0MDMwX1BXUl9OUl9JUlFTCTgKKyNlbHNlCisjZGVmaW5lCVRXTDQwMzBfQkFTRV9OUl9JUlFTCTAKKyNkZWZpbmUJVFdMNDAzMF9QV1JfTlJfSVJRUwkwCisjZW5kaWYKKyNkZWZpbmUgVFdMNDAzMF9JUlFfRU5ECQkoVFdMNDAzMF9JUlFfQkFTRSArIFRXTDQwMzBfQkFTRV9OUl9JUlFTKQorI2RlZmluZSBUV0w0MDMwX1BXUl9JUlFfQkFTRQlUV0w0MDMwX0lSUV9FTkQKKyNkZWZpbmUJVFdMNDAzMF9QV1JfSVJRX0VORAkoVFdMNDAzMF9QV1JfSVJRX0JBU0UgKyBUV0w0MDMwX1BXUl9OUl9JUlFTKQorCisvKiBFeHRlcm5hbCBUV0w0MDMwIGdwaW8gaW50ZXJydXB0cyBhcmUgb3B0aW9uYWwgKi8KKyNkZWZpbmUgVFdMNDAzMF9HUElPX0lSUV9CQVNFCVRXTDQwMzBfUFdSX0lSUV9FTkQKKyNpZmRlZglDT05GSUdfVFdMNDAzMF9HUElPCisjZGVmaW5lIFRXTDQwMzBfR1BJT19OUl9JUlFTCTE4CisjZWxzZQorI2RlZmluZQlUV0w0MDMwX0dQSU9fTlJfSVJRUwkwCisjZW5kaWYKKyNkZWZpbmUgVFdMNDAzMF9HUElPX0lSUV9FTkQJKFRXTDQwMzBfR1BJT19JUlFfQkFTRSArIFRXTDQwMzBfR1BJT19OUl9JUlFTKQorCisvKiBUb3RhbCBudW1iZXIgb2YgaW50ZXJydXB0cyBkZXBlbmRzIG9uIHRoZSBlbmFibGVkIGJsb2NrcyBhYm92ZSAqLworI2RlZmluZSBOUl9JUlFTCQkJVFdMNDAzMF9HUElPX0lSUV9FTkQKIAogI2RlZmluZSBPTUFQX0lSUV9CSVQoaXJxKQkoMSA8PCAoKGlycSkgJSAzMikpCiAKQEAgLTI5MywxNCArMzI3LDYgQEAKIGV4dGVybiB2b2lkIG9tYXBfaW5pdF9pcnEodm9pZCk7CiAjZW5kaWYKIAotLyoKLSAqIFRoZSBkZWZpbml0aW9uIG9mIE5SX0lSUVMgaXMgaW4gYm9hcmQtc3BlY2lmaWMgaGVhZGVyIGZpbGUsIHdoaWNoIGlzCi0gKiBpbmNsdWRlZCB2aWEgaGFyZHdhcmUuaAotICovCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKLSNpZm5kZWYgTlJfSVJRUwotI2RlZmluZSBOUl9JUlFTICAgICAgICAgICAgICAgICBJSF9CT0FSRF9CQVNFCi0jZW5kaWYKLQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL21jYnNwLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL21jYnNwLmgKaW5kZXggYzdhMGNjMS4uMjZjNzhmNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9tY2JzcC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvbWNic3AuaApAQCAtMjQsNyArMjQsMTEgQEAKICNpZm5kZWYgX19BU01fQVJDSF9PTUFQX01DQlNQX0gKICNkZWZpbmUgX19BU01fQVJDSF9PTUFQX01DQlNQX0gKIAorI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KIAogI2RlZmluZSBPTUFQNzMwX01DQlNQMV9CQVNFCTB4ZmZmYjEwMDAKICNkZWZpbmUgT01BUDczMF9NQ0JTUDJfQkFTRQkweGZmZmIxODAwCkBAIC00MCw2ICs0NCw5IEBACiAjZGVmaW5lIE9NQVAyNFhYX01DQlNQMV9CQVNFCTB4NDgwNzQwMDAKICNkZWZpbmUgT01BUDI0WFhfTUNCU1AyX0JBU0UJMHg0ODA3NjAwMAogCisjZGVmaW5lIE9NQVAzNFhYX01DQlNQMV9CQVNFCTB4NDgwNzQwMDAKKyNkZWZpbmUgT01BUDM0WFhfTUNCU1AyX0JBU0UJMHg0OTAyMjAwMAorCiAjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMTVYWCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMTZYWCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQNzMwKQogCiAjZGVmaW5lIE9NQVBfTUNCU1BfUkVHX0RSUjIJMHgwMApAQCAtNzQsNyArODEsOCBAQAogI2RlZmluZSBPTUFQX01DQlNQX1JFR19YQ0VSRwkweDNBCiAjZGVmaW5lIE9NQVBfTUNCU1BfUkVHX1hDRVJICTB4M0MKIAotI2RlZmluZSBPTUFQX01BWF9NQ0JTUF9DT1VOVCAzCisjZGVmaW5lIE9NQVBfTUFYX01DQlNQX0NPVU5UCTMKKyNkZWZpbmUgTUFYX01DQlNQX0NMT0NLUwkzCiAKICNkZWZpbmUgQVVESU9fTUNCU1BfREFUQVdSSVRFCShPTUFQMTUxMF9NQ0JTUDFfQkFTRSArIE9NQVBfTUNCU1BfUkVHX0RYUjEpCiAjZGVmaW5lIEFVRElPX01DQlNQX0RBVEFSRUFECShPTUFQMTUxMF9NQ0JTUDFfQkFTRSArIE9NQVBfTUNCU1BfUkVHX0RSUjEpCkBAIC0xMTcsNyArMTI1LDggQEAKICNkZWZpbmUgT01BUF9NQ0JTUF9SRUdfWENFUkcJMHg3NAogI2RlZmluZSBPTUFQX01DQlNQX1JFR19YQ0VSSAkweDc4CiAKLSNkZWZpbmUgT01BUF9NQVhfTUNCU1BfQ09VTlQgMgorI2RlZmluZSBPTUFQX01BWF9NQ0JTUF9DT1VOVAkyCisjZGVmaW5lIE1BWF9NQ0JTUF9DTE9DS1MJMgogCiAjZGVmaW5lIEFVRElPX01DQlNQX0RBVEFXUklURQkoT01BUDI0WFhfTUNCU1AyX0JBU0UgKyBPTUFQX01DQlNQX1JFR19EWFIxKQogI2RlZmluZSBBVURJT19NQ0JTUF9EQVRBUkVBRAkoT01BUDI0WFhfTUNCU1AyX0JBU0UgKyBPTUFQX01DQlNQX1JFR19EUlIxKQpAQCAtMjk4LDYgKzMwNyw1NSBAQAogCW9tYXBfbWNic3Bfd29yZF9sZW5ndGgJCXdvcmRfbGVuZ3RoOwogfTsKIAorLyogUGxhdGZvcm0gc3BlY2lmaWMgY29uZmlndXJhdGlvbiAqLworc3RydWN0IG9tYXBfbWNic3Bfb3BzIHsKKwl2b2lkICgqcmVxdWVzdCkodW5zaWduZWQgaW50KTsKKwl2b2lkICgqZnJlZSkodW5zaWduZWQgaW50KTsKKwlpbnQgKCpjaGVjaykodW5zaWduZWQgaW50KTsKK307CisKK3N0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgeworCXUzMiB2aXJ0X2Jhc2U7CisJdTggZG1hX3J4X3N5bmMsIGRtYV90eF9zeW5jOworCXUxNiByeF9pcnEsIHR4X2lycTsKKwlzdHJ1Y3Qgb21hcF9tY2JzcF9vcHMgKm9wczsKKwljaGFyIGNvbnN0ICpjbGtfbmFtZTsKK307CisKK3N0cnVjdCBvbWFwX21jYnNwIHsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJdTMyIGlvX2Jhc2U7CisJdTggaWQ7CisJdTggZnJlZTsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHJ4X3dvcmRfbGVuZ3RoOworCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggdHhfd29yZF9sZW5ndGg7CisKKwlvbWFwX21jYnNwX2lvX3R5cGVfdCBpb190eXBlOyAvKiBJUlEgb3IgcG9sbCAqLworCS8qIElSUSBiYXNlZCBUWC9SWCAqLworCWludCByeF9pcnE7CisJaW50IHR4X2lycTsKKworCS8qIERNQSBzdHVmZiAqLworCXU4IGRtYV9yeF9zeW5jOworCXNob3J0IGRtYV9yeF9sY2g7CisJdTggZG1hX3R4X3N5bmM7CisJc2hvcnQgZG1hX3R4X2xjaDsKKworCS8qIENvbXBsZXRpb24gcXVldWVzICovCisJc3RydWN0IGNvbXBsZXRpb24gdHhfaXJxX2NvbXBsZXRpb247CisJc3RydWN0IGNvbXBsZXRpb24gcnhfaXJxX2NvbXBsZXRpb247CisJc3RydWN0IGNvbXBsZXRpb24gdHhfZG1hX2NvbXBsZXRpb247CisJc3RydWN0IGNvbXBsZXRpb24gcnhfZG1hX2NvbXBsZXRpb247CisKKwkvKiBQcm90ZWN0IHRoZSBmaWVsZCAuZnJlZSwgd2hpbGUgY2hlY2tpbmcgaWYgdGhlIG1jYnNwIGlzIGluIHVzZSAqLworCXNwaW5sb2NrX3QgbG9jazsKKwlzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpwZGF0YTsKKwlzdHJ1Y3QgY2xrICpjbGs7Cit9OworCitpbnQgb21hcF9tY2JzcF9pbml0KHZvaWQpOwordm9pZCBvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpjb25maWcsCisJCQkJCWludCBzaXplKTsKIHZvaWQgb21hcF9tY2JzcF9jb25maWcodW5zaWduZWQgaW50IGlkLCBjb25zdCBzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnICogY29uZmlnKTsKIGludCBvbWFwX21jYnNwX3JlcXVlc3QodW5zaWduZWQgaW50IGlkKTsKIHZvaWQgb21hcF9tY2JzcF9mcmVlKHVuc2lnbmVkIGludCBpZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL29tYXAzNHh4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL29tYXAzNHh4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWEzMGM2ZAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvb21hcDM0eHguaApAQCAtMCwwICsxLDcyIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9vbWFwMzR4eC5oCisgKgorICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBwcm9jZXNzb3Igc3BlY2lmaWMgZGVmaW5pdGlvbnMgb2YgdGhlIFRJIE9NQVAzNFhYLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBUZXhhcyBJbnN0cnVtZW50cy4KKyAqIENvcHlyaWdodCAoQykgMjAwNyBOb2tpYSBDb3Jwb3JhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX09NQVAzNFhYX0gKKyNkZWZpbmUgX19BU01fQVJDSF9PTUFQMzRYWF9ICisKKy8qCisgKiBQbGVhc2UgcGxhY2Ugb25seSBiYXNlIGRlZmluZXMgaGVyZSBhbmQgcHV0IHRoZSByZXN0IGluIGRldmljZQorICogc3BlY2lmaWMgaGVhZGVycy4KKyAqLworCisjZGVmaW5lIEw0XzM0WFhfQkFTRQkJMHg0ODAwMDAwMAorI2RlZmluZSBMNF9XS18zNFhYX0JBU0UJCTB4NDgzMDAwMDAKKyNkZWZpbmUgTDRfV0tfT01BUF9CQVNFCQlMNF9XS18zNFhYX0JBU0UKKyNkZWZpbmUgTDRfUEVSXzM0WFhfQkFTRQkweDQ5MDAwMDAwCisjZGVmaW5lIEw0X1BFUl9PTUFQX0JBU0UJTDRfUEVSXzM0WFhfQkFTRQorI2RlZmluZSBMNF9FTVVfMzRYWF9CQVNFCTB4NTQwMDAwMDAKKyNkZWZpbmUgTDRfRU1VX0JBU0UJCUw0X0VNVV8zNFhYX0JBU0UKKyNkZWZpbmUgTDNfMzRYWF9CQVNFCQkweDY4MDAwMDAwCisjZGVmaW5lIEwzX09NQVBfQkFTRQkJTDNfMzRYWF9CQVNFCisKKyNkZWZpbmUgT01BUDM0MzBfMzJLU1lOQ1RfQkFTRQkweDQ4MzIwMDAwCisjZGVmaW5lIE9NQVAzNDMwX0NNX0JBU0UJMHg0ODAwNDgwMAorI2RlZmluZSBPTUFQMzQzMF9QUk1fQkFTRQkweDQ4MzA2ODAwCisjZGVmaW5lIE9NQVAzNDNYX1NNU19CQVNFCTB4NkMwMDAwMDAKKyNkZWZpbmUgT01BUDM0M1hfU0RSQ19CQVNFCTB4NkQwMDAwMDAKKyNkZWZpbmUgT01BUDM0WFhfR1BNQ19CQVNFCTB4NkUwMDAwMDAKKyNkZWZpbmUgT01BUDM0M1hfU0NNX0JBU0UJMHg0ODAwMjAwMAorI2RlZmluZSBPTUFQMzQzWF9DVFJMX0JBU0UJT01BUDM0M1hfU0NNX0JBU0UKKworI2RlZmluZSBPTUFQMzRYWF9JQ19CQVNFCTB4NDgyMDAwMDAKKyNkZWZpbmUgT01BUDM0WFhfSVZBX0lOVENfQkFTRQkweDQwMDAwMDAwCisjZGVmaW5lIE9NQVAzNFhYX0hTVVNCX09UR19CQVNFCShMNF8zNFhYX0JBU0UgKyAweEFCMDAwKQorI2RlZmluZSBPTUFQMzRYWF9IU1VTQl9IT1NUX0JBU0UJKEw0XzM0WFhfQkFTRSArIDB4NjQwMDApCisjZGVmaW5lIE9NQVAzNFhYX1VTQlRMTF9CQVNFCShMNF8zNFhYX0JBU0UgKyAweDYyMDAwKQorCisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzNDMwKQorCisjZGVmaW5lIE9NQVAyXzMyS1NZTkNUX0JBU0UJCU9NQVAzNDMwXzMyS1NZTkNUX0JBU0UKKyNkZWZpbmUgT01BUDJfQ01fQkFTRQkJCU9NQVAzNDMwX0NNX0JBU0UKKyNkZWZpbmUgT01BUDJfUFJNX0JBU0UJCQlPTUFQMzQzMF9QUk1fQkFTRQorI2RlZmluZSBPTUFQMl9WQV9JQ19CQVNFCQlJT19BRERSRVNTKE9NQVAzNFhYX0lDX0JBU0UpCisKKyNlbmRpZgorCisjZGVmaW5lIE9NQVAzNFhYX0RTUF9CQVNFCTB4NTgwMDAwMDAKKyNkZWZpbmUgT01BUDM0WFhfRFNQX01FTV9CQVNFCShPTUFQMzRYWF9EU1BfQkFTRSArIDB4MCkKKyNkZWZpbmUgT01BUDM0WFhfRFNQX0lQSV9CQVNFCShPTUFQMzRYWF9EU1BfQkFTRSArIDB4MTAwMDAwMCkKKyNkZWZpbmUgT01BUDM0WFhfRFNQX01NVV9CQVNFCShPTUFQMzRYWF9EU1BfQkFTRSArIDB4MjAwMDAwMCkKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX09NQVAzNFhYX0ggKi8KKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9zcmFtLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3NyYW0uaAppbmRleCBiYjliYjNmLi5iZTU5ZjRhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3NyYW0uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3NyYW0uaApAQCAtMTEsNiArMTEsNyBAQAogI2lmbmRlZiBfX0FSQ0hfQVJNX09NQVBfU1JBTV9ICiAjZGVmaW5lIF9fQVJDSF9BUk1fT01BUF9TUkFNX0gKIAorZXh0ZXJuIGludCBfX2luaXQgb21hcF9zcmFtX2luaXQodm9pZCk7CiBleHRlcm4gdm9pZCAqIG9tYXBfc3JhbV9wdXNoKHZvaWQgKiBzdGFydCwgdW5zaWduZWQgbG9uZyBzaXplKTsKIGV4dGVybiB2b2lkIG9tYXBfc3JhbV9yZXByb2dyYW1fY2xvY2sodTMyIGRwbGxjdGwsIHUzMiBja2N0bCk7CiAKQEAgLTIxLDE3ICsyMiwzNSBAQAogZXh0ZXJuIHUzMiBvbWFwMl9zZXRfcHJjbSh1MzIgZHBsbF9jdHJsX3ZhbCwgdTMyIHNkcmNfcmZyX3ZhbCwgaW50IGJ5cGFzcyk7CiAKIC8qIERvIG5vdCB1c2UgdGhlc2UgKi8KLWV4dGVybiB2b2lkIHNyYW1fcmVwcm9ncmFtX2Nsb2NrKHUzMiBja2N0bCwgdTMyIGRwbGxjdGwpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc3JhbV9yZXByb2dyYW1fY2xvY2tfc3o7CitleHRlcm4gdm9pZCBvbWFwMV9zcmFtX3JlcHJvZ3JhbV9jbG9jayh1MzIgY2tjdGwsIHUzMiBkcGxsY3RsKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrX3N6OwogCi1leHRlcm4gdm9pZCBzcmFtX2Rkcl9pbml0KHUzMiAqc2xvd19kbGxfY3RybCwgdTMyIGZhc3RfZGxsX2N0cmwsCi0JCQkgIHUzMiBiYXNlX2NzLCB1MzIgZm9yY2VfdW5sb2NrKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIHNyYW1fZGRyX2luaXRfc3o7CitleHRlcm4gdm9pZCBvbWFwMjR4eF9zcmFtX3JlcHJvZ3JhbV9jbG9jayh1MzIgY2tjdGwsIHUzMiBkcGxsY3RsKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNHh4X3NyYW1fcmVwcm9ncmFtX2Nsb2NrX3N6OwogCi1leHRlcm4gdTMyIHNyYW1fc2V0X3ByY20odTMyIGRwbGxfY3RybF92YWwsIHUzMiBzZHJjX3Jmcl92YWwsIGludCBieXBhc3MpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc3JhbV9zZXRfcHJjbV9zejsKK2V4dGVybiB2b2lkIG9tYXAyNDJ4X3NyYW1fZGRyX2luaXQodTMyICpzbG93X2RsbF9jdHJsLCB1MzIgZmFzdF9kbGxfY3RybCwKKwkJCQkJCXUzMiBiYXNlX2NzLCB1MzIgZm9yY2VfdW5sb2NrKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNDJ4X3NyYW1fZGRyX2luaXRfc3o7CiAKLWV4dGVybiB2b2lkIHNyYW1fcmVwcm9ncmFtX3NkcmModTMyIHBlcmZfbGV2ZWwsIHUzMiBkbGxfdmFsLCB1MzIgbWVtX3R5cGUpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc3JhbV9yZXByb2dyYW1fc2RyY19zejsKK2V4dGVybiB1MzIgb21hcDI0Mnhfc3JhbV9zZXRfcHJjbSh1MzIgZHBsbF9jdHJsX3ZhbCwgdTMyIHNkcmNfcmZyX3ZhbCwKKwkJCQkJCWludCBieXBhc3MpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0Mnhfc3JhbV9zZXRfcHJjbV9zejsKKworZXh0ZXJuIHZvaWQgb21hcDI0Mnhfc3JhbV9yZXByb2dyYW1fc2RyYyh1MzIgcGVyZl9sZXZlbCwgdTMyIGRsbF92YWwsCisJCQkJCQl1MzIgbWVtX3R5cGUpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0Mnhfc3JhbV9yZXByb2dyYW1fc2RyY19zejsKKworCitleHRlcm4gdm9pZCBvbWFwMjQzeF9zcmFtX2Rkcl9pbml0KHUzMiAqc2xvd19kbGxfY3RybCwgdTMyIGZhc3RfZGxsX2N0cmwsCisJCQkJCQl1MzIgYmFzZV9jcywgdTMyIGZvcmNlX3VubG9jayk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMjQzeF9zcmFtX2Rkcl9pbml0X3N6OworCitleHRlcm4gdTMyIG9tYXAyNDN4X3NyYW1fc2V0X3ByY20odTMyIGRwbGxfY3RybF92YWwsIHUzMiBzZHJjX3Jmcl92YWwsCisJCQkJCQlpbnQgYnlwYXNzKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNDN4X3NyYW1fc2V0X3ByY21fc3o7CisKK2V4dGVybiB2b2lkIG9tYXAyNDN4X3NyYW1fcmVwcm9ncmFtX3NkcmModTMyIHBlcmZfbGV2ZWwsIHUzMiBkbGxfdmFsLAorCQkJCQkJdTMyIG1lbV90eXBlKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNDN4X3NyYW1fcmVwcm9ncmFtX3NkcmNfc3o7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC90Yy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC90Yy5oCmluZGV4IDhkZWQyMTguLjY1YTljODIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdGMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3RjLmgKQEAgLTc1LDE2ICs3NSwxNCBAQAogI2lmbmRlZglfX0FTU0VNQkxFUl9fCiAKIC8qIEVNSUYgU2xvdyBJbnRlcmZhY2UgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLwotI2RlZmluZQlPTUFQX0VNSUZTX0NPTkZJR19SRUcJX19SRUczMihFTUlGU19DT05GSUcpCi0KICNkZWZpbmUgT01BUF9FTUlGU19DT05GSUdfRlIJCSgxIDw8IDQpCiAjZGVmaW5lIE9NQVBfRU1JRlNfQ09ORklHX1BERQkJKDEgPDwgMykKICNkZWZpbmUgT01BUF9FTUlGU19DT05GSUdfUFdEX0VOCSgxIDw8IDIpCiAjZGVmaW5lIE9NQVBfRU1JRlNfQ09ORklHX0JNCQkoMSA8PCAxKQogI2RlZmluZSBPTUFQX0VNSUZTX0NPTkZJR19XUAkJKDEgPDwgMCkKIAotI2RlZmluZSBFTUlGU19DQ1MobikJCV9fUkVHMzIoRU1JRlNfQ1MwX0NPTkZJRyArICg0ICogKG4pKSkKLSNkZWZpbmUgRU1JRlNfQUNTKG4pCQlfX1JFRzMyKEVNSUZTX0FDUzAgKyAoNCAqIChuKSkpCisjZGVmaW5lIEVNSUZTX0NDUyhuKQkJKEVNSUZTX0NTMF9DT05GSUcgKyAoNCAqIChuKSkpCisjZGVmaW5lIEVNSUZTX0FDUyhuKQkJKEVNSUZTX0FDUzAgKyAoNCAqIChuKSkpCiAKIC8qIEFsbW9zdCBhbGwgZG9jdW1lbnRhdGlvbiBmb3IgY2hpcCBhbmQgYm9hcmQgbWVtb3J5IG1hcHMgYXNzdW1lcwogICogQk0gaXMgY2xlYXIuICBNb3N0IGRldmVsIGJvYXJkcyBoYXZlIGEgc3dpdGNoIHRvIGNvbnRyb2wgYm9vdGluZwpAQCAtOTMsMTMgKzkxLDEzIEBACiAgKi8KIHN0YXRpYyBpbmxpbmUgdTMyIG9tYXBfY3MwX3BoeXModm9pZCkKIHsKLQlyZXR1cm4gKE9NQVBfRU1JRlNfQ09ORklHX1JFRyAmIE9NQVBfRU1JRlNfQ09ORklHX0JNKQorCXJldHVybiAob21hcF9yZWFkbChFTUlGU19DT05GSUcpICYgT01BUF9FTUlGU19DT05GSUdfQk0pCiAJCQk/ICBPTUFQX0NTM19QSFlTIDogMDsKIH0KIAogc3RhdGljIGlubGluZSB1MzIgb21hcF9jczNfcGh5cyh2b2lkKQogewotCXJldHVybiAoT01BUF9FTUlGU19DT05GSUdfUkVHICYgT01BUF9FTUlGU19DT05GSUdfQk0pCisJcmV0dXJuIChvbWFwX3JlYWRsKEVNSUZTX0NPTkZJRykgJiBPTUFQX0VNSUZTX0NPTkZJR19CTSkKIAkJCT8gMCA6IE9NQVBfQ1MzX1BIWVM7CiB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdXNiLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3VzYi5oCmluZGV4IDIxNDdkMTguLmRkZjE4NjEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdXNiLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC91c2IuaApAQCAtMzQsMTEgKzM0LDggQEAKIC8qCiAgKiBPVEcgYW5kIHRyYW5zY2VpdmVyIHJlZ2lzdGVycywgZm9yIE9NQVBzIHN0YXJ0aW5nIHdpdGggQVJNOTI2CiAgKi8KLSNkZWZpbmUgT1RHX1JFRzMyKG9mZnNldCkJCV9fUkVHMzIoT1RHX0JBU0UgKyAob2Zmc2V0KSkKLSNkZWZpbmUgT1RHX1JFRzE2KG9mZnNldCkJCV9fUkVHMTYoT1RHX0JBU0UgKyAob2Zmc2V0KSkKLQotI2RlZmluZSBPVEdfUkVWX1JFRwkJCU9UR19SRUczMigweDAwKQotI2RlZmluZSBPVEdfU1lTQ09OXzFfUkVHCQlPVEdfUkVHMzIoMHgwNCkKKyNkZWZpbmUgT1RHX1JFVgkJCQkoT1RHX0JBU0UgKyAweDAwKQorI2RlZmluZSBPVEdfU1lTQ09OXzEJCQkoT1RHX0JBU0UgKyAweDA0KQogIwlkZWZpbmUJIFVTQjJfVFJYX01PREUodykJKCgodyk+PjI0KSYweDA3KQogIwlkZWZpbmUJIFVTQjFfVFJYX01PREUodykJKCgodyk+PjIwKSYweDA3KQogIwlkZWZpbmUJIFVTQjBfVFJYX01PREUodykJKCgodyk+PjE2KSYweDA3KQpAQCAtNDcsNyArNDQsNyBAQAogIwlkZWZpbmUJIERFVl9JRExFX0VOCQkoMSA8PCAxMykKICMJZGVmaW5lCSBPVEdfUkVTRVRfRE9ORQkJKDEgPDwgMikKICMJZGVmaW5lCSBPVEdfU09GVF9SRVNFVAkJKDEgPDwgMSkKLSNkZWZpbmUgT1RHX1NZU0NPTl8yX1JFRwkJT1RHX1JFRzMyKDB4MDgpCisjZGVmaW5lIE9UR19TWVNDT05fMgkJCShPVEdfQkFTRSArIDB4MDgpCiAjCWRlZmluZQkgT1RHX0VOCQkJKDEgPDwgMzEpCiAjCWRlZmluZQkgVVNCWF9TWU5DSFJPCQkoMSA8PCAzMCkKICMJZGVmaW5lCSBPVEdfTVNUMTYJCSgxIDw8IDI5KQpAQCAtNjUsNyArNjIsNyBAQAogIwlkZWZpbmUJIEhNQ19UTExTUEVFRAkJKDEgPDwgNykKICMJZGVmaW5lCSBITUNfVExMQVRUQUNICQkoMSA8PCA2KQogIwlkZWZpbmUJIE9UR19ITUModykJCSgoKHcpPj4wKSYweDNmKQotI2RlZmluZSBPVEdfQ1RSTF9SRUcJCQlPVEdfUkVHMzIoMHgwYykKKyNkZWZpbmUgT1RHX0NUUkwJCQkoT1RHX0JBU0UgKyAweDBjKQogIwlkZWZpbmUJIE9UR19VU0IyX0VOCQkoMSA8PCAyOSkKICMJZGVmaW5lCSBPVEdfVVNCMl9EUAkJKDEgPDwgMjgpCiAjCWRlZmluZQkgT1RHX1VTQjJfRE0JCSgxIDw8IDI3KQpAQCAtOTIsNyArODksNyBAQAogIwlkZWZpbmUJIE9UR19QRF9WQlVTCQkoMSA8PCAyKQogIwlkZWZpbmUJIE9UR19QVV9WQlVTCQkoMSA8PCAxKQogIwlkZWZpbmUJIE9UR19QVV9JRAkJKDEgPDwgMCkKLSNkZWZpbmUgT1RHX0lSUV9FTl9SRUcJCQlPVEdfUkVHMTYoMHgxMCkKKyNkZWZpbmUgT1RHX0lSUV9FTgkJCShPVEdfQkFTRSArIDB4MTApCS8qIDE2LWJpdCAqLwogIwlkZWZpbmUJIERSSVZFUl9TV0lUQ0gJCSgxIDw8IDE1KQogIwlkZWZpbmUJIEFfVkJVU19FUlIJCSgxIDw8IDEzKQogIwlkZWZpbmUJIEFfUkVRX1RNUk9VVAkJKDEgPDwgMTIpCkBAIC0xMDIsOSArOTksOSBAQAogIwlkZWZpbmUJIEJfU1JQX0RPTkUJCSgxIDw8IDgpCiAjCWRlZmluZQkgQl9TUlBfU1RBUlRFRAkJKDEgPDwgNykKICMJZGVmaW5lCSBPUFJUX0NIRwkJKDEgPDwgMCkKLSNkZWZpbmUgT1RHX0lSUV9TUkNfUkVHCQkJT1RHX1JFRzE2KDB4MTQpCisjZGVmaW5lIE9UR19JUlFfU1JDCQkJKE9UR19CQVNFICsgMHgxNCkJLyogMTYtYml0ICovCiAJLy8gc2FtZSBiaXRzIGFzIGluIElSUV9FTgotI2RlZmluZSBPVEdfT1VUQ1RSTF9SRUcJCQlPVEdfUkVHMTYoMHgxOCkKKyNkZWZpbmUgT1RHX09VVENUUkwJCQkoT1RHX0JBU0UgKyAweDE4KQkvKiAxNi1iaXQgKi8KICMJZGVmaW5lCSBPVEdWUEQJCQkoMSA8PCAxNCkKICMJZGVmaW5lCSBPVEdWUFUJCQkoMSA8PCAxMykKICMJZGVmaW5lCSBPVEdQVUlECQkoMSA8PCAxMikKQEAgLTExNywxMyArMTE0LDEzIEBACiAjCWRlZmluZQkgVVNCMFZEUgkJKDEgPDwgMikKICMJZGVmaW5lCSBVU0IwUERFTgkJKDEgPDwgMSkKICMJZGVmaW5lCSBVU0IwUFVFTgkJKDEgPDwgMCkKLSNkZWZpbmUgT1RHX1RFU1RfUkVHCQkJT1RHX1JFRzE2KDB4MjApCi0jZGVmaW5lIE9UR19WRU5ET1JfQ09ERV9SRUcJCU9UR19SRUczMigweGZjKQorI2RlZmluZSBPVEdfVEVTVAkJCShPVEdfQkFTRSArIDB4MjApCS8qIDE2LWJpdCAqLworI2RlZmluZSBPVEdfVkVORE9SX0NPREUJCQkoT1RHX0JBU0UgKyAweGZjKQkvKiAxNi1iaXQgKi8KIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogLyogT01BUDEgKi8KLSNkZWZpbmUJVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHCV9fUkVHMzIoMHhmZmZlMTAwMCArIDB4MDA2NCkKKyNkZWZpbmUJVVNCX1RSQU5TQ0VJVkVSX0NUUkwJCSgweGZmZmUxMDAwICsgMHgwMDY0KQogIwlkZWZpbmUJQ09ORl9VU0IyX1VOSV9SCQkoMSA8PCA4KQogIwlkZWZpbmUJQ09ORl9VU0IxX1VOSV9SCQkoMSA8PCA3KQogIwlkZWZpbmUJQ09ORl9VU0JfUE9SVDBfUih4KQkoKCh4KT4+NCkmMHg3KQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9pby5oCmluZGV4IDUwZjhjODguLjU5ZjFiYzkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L2lvLmgKQEAgLTE0LDcgKzE0LDYgQEAKICNpbmNsdWRlICJvcmlvbjV4LmgiCiAKICNkZWZpbmUgSU9fU1BBQ0VfTElNSVQJCTB4ZmZmZmZmZmYKLSNkZWZpbmUgSU9fU1BBQ0VfUkVNQVAJCU9SSU9ONVhfUENJX1NZU19JT19CQVNFCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2lvbWVtICoKIF9fYXJjaF9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgcGFkZHIsIHNpemVfdCBzaXplLCB1bnNpZ25lZCBpbnQgbXR5cGUpCkBAIC01MywxNSArNTIsMTIgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogSGVscGVycyB0byBhY2Nlc3MgT3Jpb24gcmVnaXN0ZXJzCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNkZWZpbmUgb3Jpb241eF9yZWFkKHIpCQlfX3Jhd19yZWFkbChyKQotI2RlZmluZSBvcmlvbjV4X3dyaXRlKHIsIHZhbCkJX19yYXdfd3JpdGVsKHZhbCwgcikKLQogLyoKICAqIFRoZXNlIGFyZSBub3QgcHJlZW1wdC1zYWZlLiAgTG9ja3MsIGlmIG5lZWRlZCwgbXVzdCBiZSB0YWtlbgogICogY2FyZSBvZiBieSB0aGUgY2FsbGVyLgogICovCi0jZGVmaW5lIG9yaW9uNXhfc2V0Yml0cyhyLCBtYXNrKQlvcmlvbjV4X3dyaXRlKChyKSwgb3Jpb241eF9yZWFkKHIpIHwgKG1hc2spKQotI2RlZmluZSBvcmlvbjV4X2NscmJpdHMociwgbWFzaykJb3Jpb241eF93cml0ZSgociksIG9yaW9uNXhfcmVhZChyKSAmIH4obWFzaykpCisjZGVmaW5lIG9yaW9uNXhfc2V0Yml0cyhyLCBtYXNrKQl3cml0ZWwocmVhZGwocikgfCAobWFzayksIChyKSkKKyNkZWZpbmUgb3Jpb241eF9jbHJiaXRzKHIsIG1hc2spCXdyaXRlbChyZWFkbChyKSAmIH4obWFzayksIChyKSkKIAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvb3Jpb241eC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9vcmlvbjV4LmgKaW5kZXggMjA2ZGRkNy4uMTAyNTdmNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9vcmlvbjV4LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9vcmlvbjV4LmgKQEAgLTIsNyArMiw3IEBACiAgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L29yaW9uNXguaAogICoKICAqIEdlbmVyaWMgZGVmaW5pdGlvbnMgb2YgT3Jpb24gU29DIGZsYXZvcnM6Ci0gKiAgT3Jpb24tMSwgT3Jpb24tTkFTLCBPcmlvbi1Wb0lQLCBhbmQgT3Jpb24tMi4KKyAqICBPcmlvbi0xLCBPcmlvbi1Wb0lQLCBPcmlvbi1OQVMsIGFuZCBPcmlvbi0yLgogICoKICAqIE1haW50YWluZXI6IFR6YWNoaSBQZXJlbHN0ZWluIDx0emFjaGlAbWFydmVsbC5jb20+CiAgKgpAQCAtNjMsOSArNjMsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBTdXBwb3J0ZWQgRGV2aWNlcyAmIFJldmlzaW9ucwogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qIE9yaW9uLTEgKDg4RjUxODEpICovCisvKiBPcmlvbi0xICg4OEY1MTgxKSBhbmQgT3Jpb24tVm9JUCAoODhGNTE4MUwpICovCiAjZGVmaW5lIE1WODhGNTE4MV9ERVZfSUQJMHg1MTgxCiAjZGVmaW5lIE1WODhGNTE4MV9SRVZfQjEJMworI2RlZmluZSBNVjg4RjUxODFMX1JFVl9BMAk4CisjZGVmaW5lIE1WODhGNTE4MUxfUkVWX0ExCTkKIC8qIE9yaW9uLU5BUyAoODhGNTE4MikgKi8KICNkZWZpbmUgTVY4OEY1MTgyX0RFVl9JRAkweDUxODIKICNkZWZpbmUgTVY4OEY1MTgyX1JFVl9BMgkyCkBAIC0xNTIsNiArMTU0LDcgQEAKICNkZWZpbmUgQlJJREdFX01BU0sJCU9SSU9ONVhfQlJJREdFX1JFRygweDExNCkKICNkZWZpbmUgIEJSSURHRV9JTlRfVElNRVIwCTB4MDAwMgogI2RlZmluZSAgQlJJREdFX0lOVF9USU1FUjEJMHgwMDA0CisjZGVmaW5lICBCUklER0VfSU5UX1RJTUVSMV9DTFIJKH4weDAwMDQpCiAjZGVmaW5lIE1BSU5fSVJRX0NBVVNFCQlPUklPTjVYX0JSSURHRV9SRUcoMHgyMDApCiAjZGVmaW5lIE1BSU5fSVJRX01BU0sJCU9SSU9ONVhfQlJJREdFX1JFRygweDIwNCkKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC91bmNvbXByZXNzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L3VuY29tcHJlc3MuaAppbmRleCA1YzEzZDRmLi43NTQ4Y2VkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L3VuY29tcHJlc3MuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L3VuY29tcHJlc3MuaApAQCAtOCwyMyArOCwzOCBAQAogICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgogCi0jZGVmaW5lIE1WX1VBUlRfVEhSCSgodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKShVQVJUMF9QSFlTX0JBU0UgKyAweDApKQotI2RlZmluZSBNVl9VQVJUX0xTUiAJKCh2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopKFVBUlQwX1BIWVNfQkFTRSArIDB4MTQpKQotCi0jZGVmaW5lIExTUl9USFJFCTB4MjAKKyNkZWZpbmUgU0VSSUFMX0JBU0UJKCh1bnNpZ25lZCBjaGFyICopVUFSVDBfUEhZU19CQVNFKQogCiBzdGF0aWMgdm9pZCBwdXRjKGNvbnN0IGNoYXIgYykKIHsKLQlpbnQgaiA9IDB4MTAwMDsKLQl3aGlsZSAoLS1qICYmICEoKk1WX1VBUlRfTFNSICYgTFNSX1RIUkUpKQorCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIFVBUlRfTFNSX1RIUkUpCisJCQlicmVhazsKIAkJYmFycmllcigpOwotCSpNVl9VQVJUX1RIUiA9IGM7CisJfQorCisJYmFzZVtVQVJUX1RYIDw8IDJdID0gYzsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2godm9pZCkKIHsKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJdW5zaWduZWQgY2hhciBtYXNrOworCWludCBpOworCisJbWFzayA9IFVBUlRfTFNSX1RFTVQgfCBVQVJUX0xTUl9USFJFOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmICgoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIG1hc2spID09IG1hc2spCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KIH0KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9hdWRpby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2F1ZGlvLmgKaW5kZXggNTJiYmUzYi4uZjgyZjk2ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2F1ZGlvLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2F1ZGlvLmgKQEAgLTEyLDQgKzEyLDYgQEAKIAl2b2lkICpwcml2OwogfSBweGEyeHhfYXVkaW9fb3BzX3Q7CiAKK2V4dGVybiB2b2lkIHB4YV9zZXRfYWM5N19pbmZvKHB4YTJ4eF9hdWRpb19vcHNfdCAqb3BzKTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9oYXJkd2FyZS5oCmluZGV4IGUyNTU1OGYuLmQ5YWY2ZGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9oYXJkd2FyZS5oCkBAIC0xOTIsMTUgKzE5Miw2IEBACiBleHRlcm4gdm9pZCBweGFfZ3Bpb19zZXRfdmFsdWUodW5zaWduZWQgZ3BpbywgaW50IHZhbHVlKTsKIAogLyoKLSAqIFJvdXRpbmUgdG8gZW5hYmxlIG9yIGRpc2FibGUgQ0tFTgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX19kZXByZWNhdGVkIHB4YV9zZXRfY2tlbihpbnQgY2xvY2ssIGludCBlbmFibGUpCi17Ci0JZXh0ZXJuIHZvaWQgX19weGFfc2V0X2NrZW4oaW50IGNsb2NrLCBpbnQgZW5hYmxlKTsKLQlfX3B4YV9zZXRfY2tlbihjbG9jaywgZW5hYmxlKTsKLX0KLQotLyoKICAqIHJldHVybiBjdXJyZW50IG1lbW9yeSBhbmQgTENEIGNsb2NrIGZyZXF1ZW5jeSBpbiB1bml0cyBvZiAxMGtIegogICovCiBleHRlcm4gdW5zaWduZWQgaW50IGdldF9tZW1jbGtfZnJlcXVlbmN5XzEwa2h6KHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2lyZGEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9pcmRhLmgKaW5kZXggOTlmNGY0Mi4uMGE1MGMzYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2lyZGEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaXJkYS5oCkBAIC0xNiw0ICsxNiw4IEBACiAKIGV4dGVybiB2b2lkIHB4YV9zZXRfZmljcF9pbmZvKHN0cnVjdCBweGFmaWNwX3BsYXRmb3JtX2RhdGEgKmluZm8pOwogCisjaWYgZGVmaW5lZChDT05GSUdfUFhBMjV4KSB8fCBkZWZpbmVkKENPTkZJR19QWEEyN3gpCit2b2lkIHB4YTJ4eF90cmFuc2NlaXZlcl9tb2RlKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IG1vZGUpOworI2VuZGlmCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YS1yZWdzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhLXJlZ3MuaAppbmRleCA0YjJlYTFlLi5kY2U5MzA4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhLXJlZ3MuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhLXJlZ3MuaApAQCAtNjAwLDQxOCArNjAwLDYgQEAKIAogCiAvKgotICogVVNCIERldmljZSBDb250cm9sbGVyCi0gKiBQWEEyNXggYW5kIFBYQTI3eCBVU0IgZGV2aWNlIGNvbnRyb2xsZXIgcmVnaXN0ZXJzIGFyZSBkaWZmZXJlbnQuCi0gKi8KLSNpZiBkZWZpbmVkKENPTkZJR19QWEEyNXgpCi0KLSNkZWZpbmUgVURDX1JFUzEJX19SRUcoMHg0MDYwMDAwNCkgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDEgKi8KLSNkZWZpbmUgVURDX1JFUzIJX19SRUcoMHg0MDYwMDAwOCkgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDIgKi8KLSNkZWZpbmUgVURDX1JFUzMJX19SRUcoMHg0MDYwMDAwQykgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDMgKi8KLQotI2RlZmluZSBVRENDUgkJX19SRUcoMHg0MDYwMDAwMCkgIC8qIFVEQyBDb250cm9sIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NSX1VERQkoMSA8PCAwKQkvKiBVREMgZW5hYmxlICovCi0jZGVmaW5lIFVEQ0NSX1VEQQkoMSA8PCAxKQkvKiBVREMgYWN0aXZlICovCi0jZGVmaW5lIFVEQ0NSX1JTTQkoMSA8PCAyKQkvKiBEZXZpY2UgcmVzdW1lICovCi0jZGVmaW5lIFVEQ0NSX1JFU0lSCSgxIDw8IDMpCS8qIFJlc3VtZSBpbnRlcnJ1cHQgcmVxdWVzdCAqLwotI2RlZmluZSBVRENDUl9TVVNJUgkoMSA8PCA0KQkvKiBTdXNwZW5kIGludGVycnVwdCByZXF1ZXN0ICovCi0jZGVmaW5lIFVEQ0NSX1NSTQkoMSA8PCA1KQkvKiBTdXNwZW5kL3Jlc3VtZSBpbnRlcnJ1cHQgbWFzayAqLwotI2RlZmluZSBVRENDUl9SU1RJUgkoMSA8PCA2KQkvKiBSZXNldCBpbnRlcnJ1cHQgcmVxdWVzdCAqLwotI2RlZmluZSBVRENDUl9SRU0JKDEgPDwgNykJLyogUmVzZXQgaW50ZXJydXB0IG1hc2sgKi8KLQotI2RlZmluZSBVRENDUzAJCV9fUkVHKDB4NDA2MDAwMTApICAvKiBVREMgRW5kcG9pbnQgMCBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzBfT1BSCSgxIDw8IDApCS8qIE9VVCBwYWNrZXQgcmVhZHkgKi8KLSNkZWZpbmUgVURDQ1MwX0lQUgkoMSA8PCAxKQkvKiBJTiBwYWNrZXQgcmVhZHkgKi8KLSNkZWZpbmUgVURDQ1MwX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTMF9EUldGCSgxIDw8IDMpCS8qIERldmljZSByZW1vdGUgd2FrZXVwIGZlYXR1cmUgKi8KLSNkZWZpbmUgVURDQ1MwX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTMF9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1MwX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm8gZW1wdHkgKi8KLSNkZWZpbmUgVURDQ1MwX1NBCSgxIDw8IDcpCS8qIFNldHVwIGFjdGl2ZSAqLwotCi0vKiBCdWxrIElOIC0gRW5kcG9pbnQgMSw2LDExICovCi0jZGVmaW5lIFVEQ0NTMQkJX19SRUcoMHg0MDYwMDAxNCkgIC8qIFVEQyBFbmRwb2ludCAxIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1M2CQlfX1JFRygweDQwNjAwMDI4KSAgLyogVURDIEVuZHBvaW50IDYgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzExCQlfX1JFRygweDQwNjAwMDNDKSAgLyogVURDIEVuZHBvaW50IDExIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVRENDU19CSV9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCi0jZGVmaW5lIFVEQ0NTX0JJX1RQQwkoMSA8PCAxKQkvKiBUcmFuc21pdCBwYWNrZXQgY29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NfQklfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KLSNkZWZpbmUgVURDQ1NfQklfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KLSNkZWZpbmUgVURDQ1NfQklfU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfQklfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTX0JJX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KLQotLyogQnVsayBPVVQgLSBFbmRwb2ludCAyLDcsMTIgKi8KLSNkZWZpbmUgVURDQ1MyCQlfX1JFRygweDQwNjAwMDE4KSAgLyogVURDIEVuZHBvaW50IDIgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1M3CQlfX1JFRygweDQwNjAwMDJDKSAgLyogVURDIEVuZHBvaW50IDcgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxMgkJX19SRUcoMHg0MDYwMDA0MCkgIC8qIFVEQyBFbmRwb2ludCAxMiAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVEQ0NTX0JPX1JGUwkoMSA8PCAwKQkvKiBSZWNlaXZlIEZJRk8gc2VydmljZSAqLwotI2RlZmluZSBVRENDU19CT19SUEMJKDEgPDwgMSkJLyogUmVjZWl2ZSBwYWNrZXQgY29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NfQk9fRE1FCSgxIDw8IDMpCS8qIERNQSBlbmFibGUgKi8KLSNkZWZpbmUgVURDQ1NfQk9fU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfQk9fRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTX0JPX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm90IGVtcHR5ICovCi0jZGVmaW5lIFVEQ0NTX0JPX1JTUAkoMSA8PCA3KQkvKiBSZWNlaXZlIHNob3J0IHBhY2tldCAqLwotCi0vKiBJc29jaHJvbm91cyBJTiAtIEVuZHBvaW50IDMsOCwxMyAqLwotI2RlZmluZSBVRENDUzMJCV9fUkVHKDB4NDA2MDAwMUMpICAvKiBVREMgRW5kcG9pbnQgMyAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTOAkJX19SRUcoMHg0MDYwMDAzMCkgIC8qIFVEQyBFbmRwb2ludCA4IChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxMwkJX19SRUcoMHg0MDYwMDA0NCkgIC8qIFVEQyBFbmRwb2ludCAxMyAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVURDQ1NfSUlfVEZTCSgxIDw8IDApCS8qIFRyYW5zbWl0IEZJRk8gc2VydmljZSAqLwotI2RlZmluZSBVRENDU19JSV9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCi0jZGVmaW5lIFVEQ0NTX0lJX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTX0lJX1RVUgkoMSA8PCAzKQkvKiBUcmFuc21pdCBGSUZPIHVuZGVycnVuICovCi0jZGVmaW5lIFVEQ0NTX0lJX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KLQotLyogSXNvY2hyb25vdXMgT1VUIC0gRW5kcG9pbnQgNCw5LDE0ICovCi0jZGVmaW5lIFVEQ0NTNAkJX19SRUcoMHg0MDYwMDAyMCkgIC8qIFVEQyBFbmRwb2ludCA0IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTOQkJX19SRUcoMHg0MDYwMDAzNCkgIC8qIFVEQyBFbmRwb2ludCA5IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMTQJCV9fUkVHKDB4NDA2MDAwNDgpICAvKiBVREMgRW5kcG9pbnQgMTQgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVRENDU19JT19SRlMJKDEgPDwgMCkJLyogUmVjZWl2ZSBGSUZPIHNlcnZpY2UgKi8KLSNkZWZpbmUgVURDQ1NfSU9fUlBDCSgxIDw8IDEpCS8qIFJlY2VpdmUgcGFja2V0IGNvbXBsZXRlICovCi0jZGVmaW5lIFVEQ0NTX0lPX1JPRgkoMSA8PCAyKQkvKiBSZWNlaXZlIG92ZXJmbG93ICovCi0jZGVmaW5lIFVEQ0NTX0lPX0RNRQkoMSA8PCAzKQkvKiBETUEgZW5hYmxlICovCi0jZGVmaW5lIFVEQ0NTX0lPX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm90IGVtcHR5ICovCi0jZGVmaW5lIFVEQ0NTX0lPX1JTUAkoMSA8PCA3KQkvKiBSZWNlaXZlIHNob3J0IHBhY2tldCAqLwotCi0vKiBJbnRlcnJ1cHQgSU4gLSBFbmRwb2ludCA1LDEwLDE1ICovCi0jZGVmaW5lIFVEQ0NTNQkJX19SRUcoMHg0MDYwMDAyNCkgIC8qIFVEQyBFbmRwb2ludCA1IChJbnRlcnJ1cHQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMTAJCV9fUkVHKDB4NDA2MDAwMzgpICAvKiBVREMgRW5kcG9pbnQgMTAgKEludGVycnVwdCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxNQkJX19SRUcoMHg0MDYwMDA0QykgIC8qIFVEQyBFbmRwb2ludCAxNSAoSW50ZXJydXB0KSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVEQ0NTX0lOVF9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCi0jZGVmaW5lIFVEQ0NTX0lOVF9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCi0jZGVmaW5lIFVEQ0NTX0lOVF9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLwotI2RlZmluZSBVRENDU19JTlRfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KLSNkZWZpbmUgVURDQ1NfSU5UX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTX0lOVF9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfSU5UX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KLQotI2RlZmluZSBVRk5SSAkJX19SRUcoMHg0MDYwMDA2MCkgIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgSGlnaCAqLwotI2RlZmluZSBVRk5STAkJX19SRUcoMHg0MDYwMDA2NCkgIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgTG93ICovCi0jZGVmaW5lIFVCQ1IyCQlfX1JFRygweDQwNjAwMDY4KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDIgKi8KLSNkZWZpbmUgVUJDUjQJCV9fUkVHKDB4NDA2MDAwNmMpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgNCAqLwotI2RlZmluZSBVQkNSNwkJX19SRUcoMHg0MDYwMDA3MCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyA3ICovCi0jZGVmaW5lIFVCQ1I5CQlfX1JFRygweDQwNjAwMDc0KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDkgKi8KLSNkZWZpbmUgVUJDUjEyCQlfX1JFRygweDQwNjAwMDc4KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDEyICovCi0jZGVmaW5lIFVCQ1IxNAkJX19SRUcoMHg0MDYwMDA3YykgIC8qIFVEQyBCeXRlIENvdW50IFJlZyAxNCAqLwotI2RlZmluZSBVRERSMAkJX19SRUcoMHg0MDYwMDA4MCkgIC8qIFVEQyBFbmRwb2ludCAwIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjEJCV9fUkVHKDB4NDA2MDAxMDApICAvKiBVREMgRW5kcG9pbnQgMSBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIyCQlfX1JFRygweDQwNjAwMTgwKSAgLyogVURDIEVuZHBvaW50IDIgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMwkJX19SRUcoMHg0MDYwMDIwMCkgIC8qIFVEQyBFbmRwb2ludCAzIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjQJCV9fUkVHKDB4NDA2MDA0MDApICAvKiBVREMgRW5kcG9pbnQgNCBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFI1CQlfX1JFRygweDQwNjAwMEEwKSAgLyogVURDIEVuZHBvaW50IDUgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSNgkJX19SRUcoMHg0MDYwMDYwMCkgIC8qIFVEQyBFbmRwb2ludCA2IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjcJCV9fUkVHKDB4NDA2MDA2ODApICAvKiBVREMgRW5kcG9pbnQgNyBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFI4CQlfX1JFRygweDQwNjAwNzAwKSAgLyogVURDIEVuZHBvaW50IDggRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSOQkJX19SRUcoMHg0MDYwMDkwMCkgIC8qIFVEQyBFbmRwb2ludCA5IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjEwCQlfX1JFRygweDQwNjAwMEMwKSAgLyogVURDIEVuZHBvaW50IDEwIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjExCQlfX1JFRygweDQwNjAwQjAwKSAgLyogVURDIEVuZHBvaW50IDExIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjEyCQlfX1JFRygweDQwNjAwQjgwKSAgLyogVURDIEVuZHBvaW50IDEyIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjEzCQlfX1JFRygweDQwNjAwQzAwKSAgLyogVURDIEVuZHBvaW50IDEzIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjE0CQlfX1JFRygweDQwNjAwRTAwKSAgLyogVURDIEVuZHBvaW50IDE0IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjE1CQlfX1JFRygweDQwNjAwMEUwKSAgLyogVURDIEVuZHBvaW50IDE1IERhdGEgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVSUNSMAkJX19SRUcoMHg0MDYwMDA1MCkgIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAwICovCi0KLSNkZWZpbmUgVUlDUjBfSU0wCSgxIDw8IDApCS8qIEludGVycnVwdCBtYXNrIGVwIDAgKi8KLSNkZWZpbmUgVUlDUjBfSU0xCSgxIDw8IDEpCS8qIEludGVycnVwdCBtYXNrIGVwIDEgKi8KLSNkZWZpbmUgVUlDUjBfSU0yCSgxIDw8IDIpCS8qIEludGVycnVwdCBtYXNrIGVwIDIgKi8KLSNkZWZpbmUgVUlDUjBfSU0zCSgxIDw8IDMpCS8qIEludGVycnVwdCBtYXNrIGVwIDMgKi8KLSNkZWZpbmUgVUlDUjBfSU00CSgxIDw8IDQpCS8qIEludGVycnVwdCBtYXNrIGVwIDQgKi8KLSNkZWZpbmUgVUlDUjBfSU01CSgxIDw8IDUpCS8qIEludGVycnVwdCBtYXNrIGVwIDUgKi8KLSNkZWZpbmUgVUlDUjBfSU02CSgxIDw8IDYpCS8qIEludGVycnVwdCBtYXNrIGVwIDYgKi8KLSNkZWZpbmUgVUlDUjBfSU03CSgxIDw8IDcpCS8qIEludGVycnVwdCBtYXNrIGVwIDcgKi8KLQotI2RlZmluZSBVSUNSMQkJX19SRUcoMHg0MDYwMDA1NCkgIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAxICovCi0KLSNkZWZpbmUgVUlDUjFfSU04CSgxIDw8IDApCS8qIEludGVycnVwdCBtYXNrIGVwIDggKi8KLSNkZWZpbmUgVUlDUjFfSU05CSgxIDw8IDEpCS8qIEludGVycnVwdCBtYXNrIGVwIDkgKi8KLSNkZWZpbmUgVUlDUjFfSU0xMAkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMCAqLwotI2RlZmluZSBVSUNSMV9JTTExCSgxIDw8IDMpCS8qIEludGVycnVwdCBtYXNrIGVwIDExICovCi0jZGVmaW5lIFVJQ1IxX0lNMTIJKDEgPDwgNCkJLyogSW50ZXJydXB0IG1hc2sgZXAgMTIgKi8KLSNkZWZpbmUgVUlDUjFfSU0xMwkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMyAqLwotI2RlZmluZSBVSUNSMV9JTTE0CSgxIDw8IDYpCS8qIEludGVycnVwdCBtYXNrIGVwIDE0ICovCi0jZGVmaW5lIFVJQ1IxX0lNMTUJKDEgPDwgNykJLyogSW50ZXJydXB0IG1hc2sgZXAgMTUgKi8KLQotI2RlZmluZSBVU0lSMAkJX19SRUcoMHg0MDYwMDA1OCkgIC8qIFVEQyBTdGF0dXMgSW50ZXJydXB0IFJlZ2lzdGVyIDAgKi8KLQotI2RlZmluZSBVU0lSMF9JUjAJKDEgPDwgMCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMCAqLwotI2RlZmluZSBVU0lSMF9JUjEJKDEgPDwgMSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMSAqLwotI2RlZmluZSBVU0lSMF9JUjIJKDEgPDwgMikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMiAqLwotI2RlZmluZSBVU0lSMF9JUjMJKDEgPDwgMykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMyAqLwotI2RlZmluZSBVU0lSMF9JUjQJKDEgPDwgNCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNCAqLwotI2RlZmluZSBVU0lSMF9JUjUJKDEgPDwgNSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNSAqLwotI2RlZmluZSBVU0lSMF9JUjYJKDEgPDwgNikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNiAqLwotI2RlZmluZSBVU0lSMF9JUjcJKDEgPDwgNykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNyAqLwotCi0jZGVmaW5lIFVTSVIxCQlfX1JFRygweDQwNjAwMDVDKSAgLyogVURDIFN0YXR1cyBJbnRlcnJ1cHQgUmVnaXN0ZXIgMSAqLwotCi0jZGVmaW5lIFVTSVIxX0lSOAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA4ICovCi0jZGVmaW5lIFVTSVIxX0lSOQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA5ICovCi0jZGVmaW5lIFVTSVIxX0lSMTAJKDEgPDwgMikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTAgKi8KLSNkZWZpbmUgVVNJUjFfSVIxMQkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMSAqLwotI2RlZmluZSBVU0lSMV9JUjEyCSgxIDw8IDQpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEyICovCi0jZGVmaW5lIFVTSVIxX0lSMTMJKDEgPDwgNSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTMgKi8KLSNkZWZpbmUgVVNJUjFfSVIxNAkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxNCAqLwotI2RlZmluZSBVU0lSMV9JUjE1CSgxIDw8IDcpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDE1ICovCi0KLSNlbGlmIGRlZmluZWQoQ09ORklHX1BYQTI3eCkKLQotI2RlZmluZSBVRENDUiAgICAgICAgICAgX19SRUcoMHg0MDYwMDAwMCkgLyogVURDIENvbnRyb2wgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1JfT0VOCSgxIDw8IDMxKQkvKiBPbi10aGUtR28gRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NSX0FBTFRITlAJKDEgPDwgMzApCS8qIEEtZGV2aWNlIEFsdGVybmF0ZSBIb3N0IE5lZ290aWF0aW9uCi0JCQkJCSAgIFByb3RvY29sIFBvcnQgU3VwcG9ydCAqLwotI2RlZmluZSBVRENDUl9BSE5QCSgxIDw8IDI5KQkvKiBBLWRldmljZSBIb3N0IE5lZ290aWF0aW9uIFByb3RvY29sCi0JCQkJCSAgIFN1cHBvcnQgKi8KLSNkZWZpbmUgVURDQ1JfQkhOUAkoMSA8PCAyOCkJLyogQi1kZXZpY2UgSG9zdCBOZWdvdGlhdGlvbiBQcm90b2NvbAotCQkJCQkgICBFbmFibGUgKi8KLSNkZWZpbmUgVURDQ1JfRFdSRQkoMSA8PCAxNikJLyogRGV2aWNlIFJlbW90ZSBXYWtlLXVwIEVuYWJsZSAqLwotI2RlZmluZSBVRENDUl9BQ04JKDB4MDMgPDwgMTEpCS8qIEFjdGl2ZSBVREMgY29uZmlndXJhdGlvbiBOdW1iZXIgKi8KLSNkZWZpbmUgVURDQ1JfQUNOX1MJMTEKLSNkZWZpbmUgVURDQ1JfQUlOCSgweDA3IDw8IDgpCS8qIEFjdGl2ZSBVREMgaW50ZXJmYWNlIE51bWJlciAqLwotI2RlZmluZSBVRENDUl9BSU5fUwk4Ci0jZGVmaW5lIFVEQ0NSX0FBSVNOCSgweDA3IDw8IDUpCS8qIEFjdGl2ZSBVREMgQWx0ZXJuYXRlIEludGVyZmFjZQotCQkJCQkgICBTZXR0aW5nIE51bWJlciAqLwotI2RlZmluZSBVRENDUl9BQUlTTl9TCTUKLSNkZWZpbmUgVURDQ1JfU01BQwkoMSA8PCA0KQkvKiBTd2l0Y2ggRW5kcG9pbnQgTWVtb3J5IHRvIEFjdGl2ZQotCQkJCQkgICBDb25maWd1cmF0aW9uICovCi0jZGVmaW5lIFVEQ0NSX0VNQ0UJKDEgPDwgMykJLyogRW5kcG9pbnQgTWVtb3J5IENvbmZpZ3VyYXRpb24KLQkJCQkJICAgRXJyb3IgKi8KLSNkZWZpbmUgVURDQ1JfVURSCSgxIDw8IDIpCS8qIFVEQyBSZXN1bWUgKi8KLSNkZWZpbmUgVURDQ1JfVURBCSgxIDw8IDEpCS8qIFVEQyBBY3RpdmUgKi8KLSNkZWZpbmUgVURDQ1JfVURFCSgxIDw8IDApCS8qIFVEQyBFbmFibGUgKi8KLQotI2RlZmluZSBVRENJQ1IwICAgICAgICAgX19SRUcoMHg0MDYwMDAwNCkgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyMCAqLwotI2RlZmluZSBVRENJQ1IxICAgICAgICAgX19SRUcoMHg0MDYwMDAwOCkgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyMSAqLwotI2RlZmluZSBVRENJQ1JfRklGT0VSUgkoMSA8PCAxKQkvKiBGSUZPIEVycm9yIGludGVycnVwdCBmb3IgRVAgKi8KLSNkZWZpbmUgVURDSUNSX1BLVENPTVBMICgxIDw8IDApCS8qIFBhY2tldCBDb21wbGV0ZSBpbnRlcnJ1cHQgZm9yIEVQICovCi0KLSNkZWZpbmUgVURDX0lOVF9GSUZPRVJST1IgICgweDIpCi0jZGVmaW5lIFVEQ19JTlRfUEFDS0VUQ01QICAoMHgxKQotCi0jZGVmaW5lIFVEQ0lDUl9JTlQobixpbnRyKSAoKChpbnRyKSAmIDB4MDMpIDw8ICgoKG4pICYgMHgwRikgKiAyKSkKLSNkZWZpbmUgVURDSUNSMV9JRUNDCSgxIDw8IDMxKQkvKiBJbnRFbiAtIENvbmZpZ3VyYXRpb24gQ2hhbmdlICovCi0jZGVmaW5lIFVEQ0lDUjFfSUVTT0YJKDEgPDwgMzApCS8qIEludEVuIC0gU3RhcnQgb2YgRnJhbWUgKi8KLSNkZWZpbmUgVURDSUNSMV9JRVJVCSgxIDw8IDI5KQkvKiBJbnRFbiAtIFJlc3VtZSAqLwotI2RlZmluZSBVRENJQ1IxX0lFU1UJKDEgPDwgMjgpCS8qIEludEVuIC0gU3VzcGVuZCAqLwotI2RlZmluZSBVRENJQ1IxX0lFUlMJKDEgPDwgMjcpCS8qIEludEVuIC0gUmVzZXQgKi8KLQotI2RlZmluZSBVRENJU1IwICAgICAgICAgX19SRUcoMHg0MDYwMDAwQykgLyogVURDIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgMCAqLwotI2RlZmluZSBVRENJU1IxICAgICAgICAgX19SRUcoMHg0MDYwMDAxMCkgLyogVURDIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgMSAqLwotI2RlZmluZSBVRENJU1JfSU5UKG4saW50cikgKCgoaW50cikgJiAweDAzKSA8PCAoKChuKSAmIDB4MEYpICogMikpCi0jZGVmaW5lIFVEQ0lTUjFfSVJDQwkoMSA8PCAzMSkJLyogSW50UmVxIC0gQ29uZmlndXJhdGlvbiBDaGFuZ2UgKi8KLSNkZWZpbmUgVURDSVNSMV9JUlNPRgkoMSA8PCAzMCkJLyogSW50UmVxIC0gU3RhcnQgb2YgRnJhbWUgKi8KLSNkZWZpbmUgVURDSVNSMV9JUlJVCSgxIDw8IDI5KQkvKiBJbnRSZXEgLSBSZXN1bWUgKi8KLSNkZWZpbmUgVURDSVNSMV9JUlNVCSgxIDw8IDI4KQkvKiBJbnRSZXEgLSBTdXNwZW5kICovCi0jZGVmaW5lIFVEQ0lTUjFfSVJSUwkoMSA8PCAyNykJLyogSW50UmVxIC0gUmVzZXQgKi8KLQotI2RlZmluZSBVRENGTlIgICAgICAgICAgX19SRUcoMHg0MDYwMDAxNCkgLyogVURDIEZyYW1lIE51bWJlciBSZWdpc3RlciAqLwotI2RlZmluZSBVRENPVEdJQ1IJX19SRUcoMHg0MDYwMDAxOCkgLyogVURDIE9uLVRoZS1HbyBpbnRlcnJ1cHQgY29udHJvbCAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVTRgkoMSA8PCAyNCkJLyogT1RHIFNFVF9GRUFUVVJFIGNvbW1hbmQgcmVjdmQgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFWFIJKDEgPDwgMTcpCS8qIEV4dHJhIFRyYW5zY2lldmVyIEludGVycnVwdAotCQkJCQkgICBSaXNpbmcgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVhGCSgxIDw8IDE2KQkvKiBFeHRyYSBUcmFuc2NpZXZlciBJbnRlcnJ1cHQKLQkJCQkJICAgRmFsbGluZyBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFVlY0MFIgKDEgPDwgOSkJLyogT1RHIFZidXMgVmFsaWQgNC4wViBSaXNpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDBGICgxIDw8IDgpCS8qIE9URyBWYnVzIFZhbGlkIDQuMFYgRmFsbGluZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFVlY0NFIgKDEgPDwgNykJLyogT1RHIFZidXMgVmFsaWQgNC40ViBSaXNpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDRGICgxIDw8IDYpCS8qIE9URyBWYnVzIFZhbGlkIDQuNFYgRmFsbGluZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFU1ZSCSgxIDw8IDUpCS8qIE9URyBTZXNzaW9uIFZhbGlkIFJpc2luZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFU1ZGCSgxIDw8IDQpCS8qIE9URyBTZXNzaW9uIFZhbGlkIEZhbGxpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVNEUgkoMSA8PCAzKQkvKiBPVEcgQS1EZXZpY2UgU1JQIERldGVjdCBSaXNpbmcKLQkJCQkJICAgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVNERgkoMSA8PCAyKQkvKiBPVEcgQS1EZXZpY2UgU1JQIERldGVjdCBGYWxsaW5nCi0JCQkJCSAgIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVJRFIJKDEgPDwgMSkJLyogT1RHIElEIENoYW5nZSBSaXNpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRUlERgkoMSA8PCAwKQkvKiBPVEcgSUQgQ2hhbmdlIEZhbGxpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0KLSNkZWZpbmUgVVAyT0NSCQkgIF9fUkVHKDB4NDA2MDAwMjApICAvKiBVU0IgUG9ydCAyIE91dHB1dCBDb250cm9sIHJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVVAyT0NSX0NQVkVOCSgxIDw8IDApCS8qIENoYXJnZSBQdW1wIFZidXMgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9DUFZQRQkoMSA8PCAxKQkvKiBDaGFyZ2UgUHVtcCBWYnVzIFB1bHNlIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRFBQREUJKDEgPDwgMikJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRCsgUHVsbCBEb3duIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRE1QREUJKDEgPDwgMykJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRC0gUHVsbCBEb3duIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRFBQVUUJKDEgPDwgNCkJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRCsgUHVsbCBVcCBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0RNUFVFCSgxIDw8IDUpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQtIFB1bGwgVXAgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9EUFBVQkUJKDEgPDwgNikJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRCsgUHVsbCBVcCBCeXBhc3MgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9ETVBVQkUJKDEgPDwgNykJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRC0gUHVsbCBVcCBCeXBhc3MgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9FWFNQCQkoMSA8PCA4KQkvKiBFeHRlcm5hbCBUcmFuc2NlaXZlciBTcGVlZCBDb250cm9sICovCi0jZGVmaW5lIFVQMk9DUl9FWFNVUwkoMSA8PCA5KQkvKiBFeHRlcm5hbCBUcmFuc2NlaXZlciBTcGVlZCBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0lET04JCSgxIDw8IDEwKQkvKiBPVEcgSUQgUmVhZCBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0hYUwkJKDEgPDwgMTYpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIE91dHB1dCBTZWxlY3QgKi8KLSNkZWZpbmUgVVAyT0NSX0hYT0UJCSgxIDw8IDE3KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBPdXRwdXQgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9TRU9TCQkoMSA8PCAyNCkJLyogU2luZ2xlLUVuZGVkIE91dHB1dCBTZWxlY3QgKi8KLQotI2RlZmluZSBVRENDU04oeCkJX19SRUcyKDB4NDA2MDAxMDAsICh4KSA8PCAyKQotI2RlZmluZSBVRENDU1IwICAgICAgICAgX19SRUcoMHg0MDYwMDEwMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgMCAqLwotI2RlZmluZSBVRENDU1IwX1NBCSgxIDw8IDcpCS8qIFNldHVwIEFjdGl2ZSAqLwotI2RlZmluZSBVRENDU1IwX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gTm90IEVtcHR5ICovCi0jZGVmaW5lIFVEQ0NTUjBfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIFN0YWxsICovCi0jZGVmaW5lIFVEQ0NTUjBfU1NUCSgxIDw8IDQpCS8qIFNlbnQgU3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NSMF9ETUUJKDEgPDwgMykJLyogRE1BIEVuYWJsZSAqLwotI2RlZmluZSBVRENDU1IwX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUcmFuc21pdCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTUjBfSVBSCSgxIDw8IDEpCS8qIElOIFBhY2tldCBSZWFkeSAqLwotI2RlZmluZSBVRENDU1IwX09QQwkoMSA8PCAwKQkvKiBPVVQgUGFja2V0IENvbXBsZXRlICovCi0KLSNkZWZpbmUgVURDQ1NSQSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMDQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEEgKi8KLSNkZWZpbmUgVURDQ1NSQiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMDgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEIgKi8KLSNkZWZpbmUgVURDQ1NSQyAgICAgICAgIF9fUkVHKDB4NDA2MDAxMEMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEMgKi8KLSNkZWZpbmUgVURDQ1NSRCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMTApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEQgKi8KLSNkZWZpbmUgVURDQ1NSRSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMTQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEUgKi8KLSNkZWZpbmUgVURDQ1NSRiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMTgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEYgKi8KLSNkZWZpbmUgVURDQ1NSRyAgICAgICAgIF9fUkVHKDB4NDA2MDAxMUMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEcgKi8KLSNkZWZpbmUgVURDQ1NSSCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMjApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEggKi8KLSNkZWZpbmUgVURDQ1NSSSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMjQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEkgKi8KLSNkZWZpbmUgVURDQ1NSSiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMjgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEogKi8KLSNkZWZpbmUgVURDQ1NSSyAgICAgICAgIF9fUkVHKDB4NDA2MDAxMkMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEsgKi8KLSNkZWZpbmUgVURDQ1NSTCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMzApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEwgKi8KLSNkZWZpbmUgVURDQ1NSTSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMzQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IE0gKi8KLSNkZWZpbmUgVURDQ1NSTiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMzgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IE4gKi8KLSNkZWZpbmUgVURDQ1NSUCAgICAgICAgIF9fUkVHKDB4NDA2MDAxM0MpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFAgKi8KLSNkZWZpbmUgVURDQ1NSUSAgICAgICAgIF9fUkVHKDB4NDA2MDAxNDApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFEgKi8KLSNkZWZpbmUgVURDQ1NSUiAgICAgICAgIF9fUkVHKDB4NDA2MDAxNDQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFIgKi8KLSNkZWZpbmUgVURDQ1NSUyAgICAgICAgIF9fUkVHKDB4NDA2MDAxNDgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFMgKi8KLSNkZWZpbmUgVURDQ1NSVCAgICAgICAgIF9fUkVHKDB4NDA2MDAxNEMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFQgKi8KLSNkZWZpbmUgVURDQ1NSVSAgICAgICAgIF9fUkVHKDB4NDA2MDAxNTApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFUgKi8KLSNkZWZpbmUgVURDQ1NSViAgICAgICAgIF9fUkVHKDB4NDA2MDAxNTQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFYgKi8KLSNkZWZpbmUgVURDQ1NSVyAgICAgICAgIF9fUkVHKDB4NDA2MDAxNTgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFcgKi8KLSNkZWZpbmUgVURDQ1NSWCAgICAgICAgIF9fUkVHKDB4NDA2MDAxNUMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFggKi8KLQotI2RlZmluZSBVRENDU1JfRFBFCSgxIDw8IDkpCS8qIERhdGEgUGFja2V0IEVycm9yICovCi0jZGVmaW5lIFVEQ0NTUl9GRUYJKDEgPDwgOCkJLyogRmx1c2ggRW5kcG9pbnQgRklGTyAqLwotI2RlZmluZSBVRENDU1JfU1AJKDEgPDwgNykJLyogU2hvcnQgUGFja2V0IENvbnRyb2wvU3RhdHVzICovCi0jZGVmaW5lIFVEQ0NTUl9CTkUJKDEgPDwgNikJLyogQnVmZmVyIE5vdCBFbXB0eSAoSU4gZW5kcG9pbnRzKSAqLwotI2RlZmluZSBVRENDU1JfQk5GCSgxIDw8IDYpCS8qIEJ1ZmZlciBOb3QgRnVsbCAoT1VUIGVuZHBvaW50cykgKi8KLSNkZWZpbmUgVURDQ1NSX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBTVEFMTCAqLwotI2RlZmluZSBVRENDU1JfU1NUCSgxIDw8IDQpCS8qIFNlbnQgU1RBTEwgKi8KLSNkZWZpbmUgVURDQ1NSX0RNRQkoMSA8PCAzKQkvKiBETUEgRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NTUl9UUk4JKDEgPDwgMikJLyogVHgvUnggTkFLICovCi0jZGVmaW5lIFVEQ0NTUl9QQwkoMSA8PCAxKQkvKiBQYWNrZXQgQ29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NSX0ZTCSgxIDw8IDApCS8qIEZJRk8gbmVlZHMgc2VydmljZSAqLwotCi0jZGVmaW5lIFVEQ0JDTih4KQlfX1JFRzIoMHg0MDYwMDIwMCwgKHgpPDwyKQotI2RlZmluZSBVRENCQ1IwICAgICAgICAgX19SRUcoMHg0MDYwMDIwMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQMCAqLwotI2RlZmluZSBVRENCQ1JBICAgICAgICAgX19SRUcoMHg0MDYwMDIwNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQQSAqLwotI2RlZmluZSBVRENCQ1JCICAgICAgICAgX19SRUcoMHg0MDYwMDIwOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQQiAqLwotI2RlZmluZSBVRENCQ1JDICAgICAgICAgX19SRUcoMHg0MDYwMDIwQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQQyAqLwotI2RlZmluZSBVRENCQ1JEICAgICAgICAgX19SRUcoMHg0MDYwMDIxMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRCAqLwotI2RlZmluZSBVRENCQ1JFICAgICAgICAgX19SRUcoMHg0MDYwMDIxNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRSAqLwotI2RlZmluZSBVRENCQ1JGICAgICAgICAgX19SRUcoMHg0MDYwMDIxOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRiAqLwotI2RlZmluZSBVRENCQ1JHICAgICAgICAgX19SRUcoMHg0MDYwMDIxQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRyAqLwotI2RlZmluZSBVRENCQ1JIICAgICAgICAgX19SRUcoMHg0MDYwMDIyMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSCAqLwotI2RlZmluZSBVRENCQ1JJICAgICAgICAgX19SRUcoMHg0MDYwMDIyNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSSAqLwotI2RlZmluZSBVRENCQ1JKICAgICAgICAgX19SRUcoMHg0MDYwMDIyOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSiAqLwotI2RlZmluZSBVRENCQ1JLICAgICAgICAgX19SRUcoMHg0MDYwMDIyQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSyAqLwotI2RlZmluZSBVRENCQ1JMICAgICAgICAgX19SRUcoMHg0MDYwMDIzMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQTCAqLwotI2RlZmluZSBVRENCQ1JNICAgICAgICAgX19SRUcoMHg0MDYwMDIzNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQTSAqLwotI2RlZmluZSBVRENCQ1JOICAgICAgICAgX19SRUcoMHg0MDYwMDIzOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQTiAqLwotI2RlZmluZSBVRENCQ1JQICAgICAgICAgX19SRUcoMHg0MDYwMDIzQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUCAqLwotI2RlZmluZSBVRENCQ1JRICAgICAgICAgX19SRUcoMHg0MDYwMDI0MCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUSAqLwotI2RlZmluZSBVRENCQ1JSICAgICAgICAgX19SRUcoMHg0MDYwMDI0NCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUiAqLwotI2RlZmluZSBVRENCQ1JTICAgICAgICAgX19SRUcoMHg0MDYwMDI0OCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUyAqLwotI2RlZmluZSBVRENCQ1JUICAgICAgICAgX19SRUcoMHg0MDYwMDI0QykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQVCAqLwotI2RlZmluZSBVRENCQ1JVICAgICAgICAgX19SRUcoMHg0MDYwMDI1MCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQVSAqLwotI2RlZmluZSBVRENCQ1JWICAgICAgICAgX19SRUcoMHg0MDYwMDI1NCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQViAqLwotI2RlZmluZSBVRENCQ1JXICAgICAgICAgX19SRUcoMHg0MDYwMDI1OCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQVyAqLwotI2RlZmluZSBVRENCQ1JYICAgICAgICAgX19SRUcoMHg0MDYwMDI1QykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQWCAqLwotCi0jZGVmaW5lIFVEQ0ROKHgpCV9fUkVHMigweDQwNjAwMzAwLCAoeCk8PDIpCi0jZGVmaW5lIFBIWVNfVURDRE4oeCkJKDB4NDA2MDAzMDAgKyAoKHgpPDwyKSkKLSNkZWZpbmUgUFVEQ0ROKHgpCSh2b2xhdGlsZSB1MzIgKikoaW9fcDJ2KFBIWVNfVURDRE4oKHgpKSkpCi0jZGVmaW5lIFVEQ0RSMCAgICAgICAgICBfX1JFRygweDQwNjAwMzAwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVAwICovCi0jZGVmaW5lIFVEQ0RSQSAgICAgICAgICBfX1JFRygweDQwNjAwMzA0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBBICovCi0jZGVmaW5lIFVEQ0RSQiAgICAgICAgICBfX1JFRygweDQwNjAwMzA4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBCICovCi0jZGVmaW5lIFVEQ0RSQyAgICAgICAgICBfX1JFRygweDQwNjAwMzBDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBDICovCi0jZGVmaW5lIFVEQ0RSRCAgICAgICAgICBfX1JFRygweDQwNjAwMzEwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBEICovCi0jZGVmaW5lIFVEQ0RSRSAgICAgICAgICBfX1JFRygweDQwNjAwMzE0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBFICovCi0jZGVmaW5lIFVEQ0RSRiAgICAgICAgICBfX1JFRygweDQwNjAwMzE4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBGICovCi0jZGVmaW5lIFVEQ0RSRyAgICAgICAgICBfX1JFRygweDQwNjAwMzFDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBHICovCi0jZGVmaW5lIFVEQ0RSSCAgICAgICAgICBfX1JFRygweDQwNjAwMzIwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBIICovCi0jZGVmaW5lIFVEQ0RSSSAgICAgICAgICBfX1JFRygweDQwNjAwMzI0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBJICovCi0jZGVmaW5lIFVEQ0RSSiAgICAgICAgICBfX1JFRygweDQwNjAwMzI4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBKICovCi0jZGVmaW5lIFVEQ0RSSyAgICAgICAgICBfX1JFRygweDQwNjAwMzJDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBLICovCi0jZGVmaW5lIFVEQ0RSTCAgICAgICAgICBfX1JFRygweDQwNjAwMzMwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBMICovCi0jZGVmaW5lIFVEQ0RSTSAgICAgICAgICBfX1JFRygweDQwNjAwMzM0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBNICovCi0jZGVmaW5lIFVEQ0RSTiAgICAgICAgICBfX1JFRygweDQwNjAwMzM4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBOICovCi0jZGVmaW5lIFVEQ0RSUCAgICAgICAgICBfX1JFRygweDQwNjAwMzNDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBQICovCi0jZGVmaW5lIFVEQ0RSUSAgICAgICAgICBfX1JFRygweDQwNjAwMzQwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBRICovCi0jZGVmaW5lIFVEQ0RSUiAgICAgICAgICBfX1JFRygweDQwNjAwMzQ0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBSICovCi0jZGVmaW5lIFVEQ0RSUyAgICAgICAgICBfX1JFRygweDQwNjAwMzQ4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBTICovCi0jZGVmaW5lIFVEQ0RSVCAgICAgICAgICBfX1JFRygweDQwNjAwMzRDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBUICovCi0jZGVmaW5lIFVEQ0RSVSAgICAgICAgICBfX1JFRygweDQwNjAwMzUwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBVICovCi0jZGVmaW5lIFVEQ0RSViAgICAgICAgICBfX1JFRygweDQwNjAwMzU0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBWICovCi0jZGVmaW5lIFVEQ0RSVyAgICAgICAgICBfX1JFRygweDQwNjAwMzU4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBXICovCi0jZGVmaW5lIFVEQ0RSWCAgICAgICAgICBfX1JFRygweDQwNjAwMzVDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBYICovCi0KLSNkZWZpbmUgVURDQ04oeCkgICAgICAgX19SRUcyKDB4NDA2MDA0MDAsICh4KTw8MikKLSNkZWZpbmUgVURDQ1JBICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MDQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBBICovCi0jZGVmaW5lIFVEQ0NSQiAgICAgICAgICBfX1JFRygweDQwNjAwNDA4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQQiAqLwotI2RlZmluZSBVRENDUkMgICAgICAgICAgX19SRUcoMHg0MDYwMDQwQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEMgKi8KLSNkZWZpbmUgVURDQ1JEICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MTApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBEICovCi0jZGVmaW5lIFVEQ0NSRSAgICAgICAgICBfX1JFRygweDQwNjAwNDE0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRSAqLwotI2RlZmluZSBVRENDUkYgICAgICAgICAgX19SRUcoMHg0MDYwMDQxOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEYgKi8KLSNkZWZpbmUgVURDQ1JHICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MUMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBHICovCi0jZGVmaW5lIFVEQ0NSSCAgICAgICAgICBfX1JFRygweDQwNjAwNDIwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSCAqLwotI2RlZmluZSBVRENDUkkgICAgICAgICAgX19SRUcoMHg0MDYwMDQyNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEkgKi8KLSNkZWZpbmUgVURDQ1JKICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MjgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBKICovCi0jZGVmaW5lIFVEQ0NSSyAgICAgICAgICBfX1JFRygweDQwNjAwNDJDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSyAqLwotI2RlZmluZSBVRENDUkwgICAgICAgICAgX19SRUcoMHg0MDYwMDQzMCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEwgKi8KLSNkZWZpbmUgVURDQ1JNICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MzQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBNICovCi0jZGVmaW5lIFVEQ0NSTiAgICAgICAgICBfX1JFRygweDQwNjAwNDM4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQTiAqLwotI2RlZmluZSBVRENDUlAgICAgICAgICAgX19SRUcoMHg0MDYwMDQzQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFAgKi8KLSNkZWZpbmUgVURDQ1JRICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NDApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBRICovCi0jZGVmaW5lIFVEQ0NSUiAgICAgICAgICBfX1JFRygweDQwNjAwNDQ0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUiAqLwotI2RlZmluZSBVRENDUlMgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0OCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFMgKi8KLSNkZWZpbmUgVURDQ1JUICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NEMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBUICovCi0jZGVmaW5lIFVEQ0NSVSAgICAgICAgICBfX1JFRygweDQwNjAwNDUwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQVSAqLwotI2RlZmluZSBVRENDUlYgICAgICAgICAgX19SRUcoMHg0MDYwMDQ1NCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFYgKi8KLSNkZWZpbmUgVURDQ1JXICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NTgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBXICovCi0jZGVmaW5lIFVEQ0NSWCAgICAgICAgICBfX1JFRygweDQwNjAwNDVDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQWCAqLwotCi0jZGVmaW5lIFVEQ0NPTlJfQ04JKDB4MDMgPDwgMjUpCS8qIENvbmZpZ3VyYXRpb24gTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NPTlJfQ05fUwkoMjUpCi0jZGVmaW5lIFVEQ0NPTlJfSU4JKDB4MDcgPDwgMjIpCS8qIEludGVyZmFjZSBOdW1iZXIgKi8KLSNkZWZpbmUgVURDQ09OUl9JTl9TCSgyMikKLSNkZWZpbmUgVURDQ09OUl9BSVNOCSgweDA3IDw8IDE5KQkvKiBBbHRlcm5hdGUgSW50ZXJmYWNlIE51bWJlciAqLwotI2RlZmluZSBVRENDT05SX0FJU05fUwkoMTkpCi0jZGVmaW5lIFVEQ0NPTlJfRU4JKDB4MGYgPDwgMTUpCS8qIEVuZHBvaW50IE51bWJlciAqLwotI2RlZmluZSBVRENDT05SX0VOX1MJKDE1KQotI2RlZmluZSBVRENDT05SX0VUCSgweDAzIDw8IDEzKQkvKiBFbmRwb2ludCBUeXBlOiAqLwotI2RlZmluZSBVRENDT05SX0VUX1MJKDEzKQotI2RlZmluZSBVRENDT05SX0VUX0lOVAkoMHgwMyA8PCAxMykJLyogICBJbnRlcnJ1cHQgKi8KLSNkZWZpbmUgVURDQ09OUl9FVF9CVUxLCSgweDAyIDw8IDEzKQkvKiAgIEJ1bGsgKi8KLSNkZWZpbmUgVURDQ09OUl9FVF9JU08JKDB4MDEgPDwgMTMpCS8qICAgSXNvY2hyb25vdXMgKi8KLSNkZWZpbmUgVURDQ09OUl9FVF9OVQkoMHgwMCA8PCAxMykJLyogICBOb3QgdXNlZCAqLwotI2RlZmluZSBVRENDT05SX0VECSgxIDw8IDEyKQkvKiBFbmRwb2ludCBEaXJlY3Rpb24gKi8KLSNkZWZpbmUgVURDQ09OUl9NUFMJKDB4M2ZmIDw8IDIpCS8qIE1heGltdW0gUGFja2V0IFNpemUgKi8KLSNkZWZpbmUgVURDQ09OUl9NUFNfUwkoMikKLSNkZWZpbmUgVURDQ09OUl9ERQkoMSA8PCAxKQkvKiBEb3VibGUgQnVmZmVyaW5nIEVuYWJsZSAqLwotI2RlZmluZSBVRENDT05SX0VFCSgxIDw8IDApCS8qIEVuZHBvaW50IEVuYWJsZSAqLwotCi0KLSNkZWZpbmUgVURDX0lOVF9GSUZPRVJST1IgICgweDIpCi0jZGVmaW5lIFVEQ19JTlRfUEFDS0VUQ01QICAoMHgxKQotCi0jZGVmaW5lIFVEQ19GTlJfTUFTSyAgICAgKDB4N2ZmKQotCi0jZGVmaW5lIFVEQ0NTUl9XUl9NQVNLICAgKFVEQ0NTUl9ETUV8VURDQ1NSX0ZTVCkKLSNkZWZpbmUgVURDX0JDUl9NQVNLICAgICgweDNmZikKLSNlbmRpZgotCi0vKgogICogRmFzdCBJbmZyYXJlZCBDb21tdW5pY2F0aW9uIFBvcnQKICAqLwogCkBAIC0xMjM3LDEyMCArODI1LDkgQEAKICNlbmRpZgogCiAvKgotICogUG93ZXIgTWFuYWdlcgorICogUG93ZXIgTWFuYWdlciAtIHNlZSBweGEyeHgtcmVncy5oCiAgKi8KIAotI2RlZmluZSBQTUNSCQlfX1JFRygweDQwRjAwMDAwKSAgLyogUG93ZXIgTWFuYWdlciBDb250cm9sIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBTU1IJCV9fUkVHKDB4NDBGMDAwMDQpICAvKiBQb3dlciBNYW5hZ2VyIFNsZWVwIFN0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBQU1BSCQlfX1JFRygweDQwRjAwMDA4KSAgLyogUG93ZXIgTWFuYWdlciBTY3JhdGNoIFBhZCBSZWdpc3RlciAqLwotI2RlZmluZSBQV0VSCQlfX1JFRygweDQwRjAwMDBDKSAgLyogUG93ZXIgTWFuYWdlciBXYWtlLXVwIEVuYWJsZSBSZWdpc3RlciAqLwotI2RlZmluZSBQUkVSCQlfX1JFRygweDQwRjAwMDEwKSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFJpc2luZy1FZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUEZFUgkJX19SRUcoMHg0MEYwMDAxNCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBGYWxsaW5nLUVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAqLwotI2RlZmluZSBQRURSCQlfX1JFRygweDQwRjAwMDE4KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIEVkZ2UgRGV0ZWN0IFN0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBQQ0ZSCQlfX1JFRygweDQwRjAwMDFDKSAgLyogUG93ZXIgTWFuYWdlciBHZW5lcmFsIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUEdTUjAJCV9fUkVHKDB4NDBGMDAwMjApICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzMxLTBdICovCi0jZGVmaW5lIFBHU1IxCQlfX1JFRygweDQwRjAwMDI0KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFs2My0zMl0gKi8KLSNkZWZpbmUgUEdTUjIJCV9fUkVHKDB4NDBGMDAwMjgpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzg0LTY0XSAqLwotI2RlZmluZSBQR1NSMwkJX19SRUcoMHg0MEYwMDAyQykgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbMTE4LTk2XSAqLwotI2RlZmluZSBSQ1NSCQlfX1JFRygweDQwRjAwMDMwKSAgLyogUmVzZXQgQ29udHJvbGxlciBTdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBQU0xSCQlfX1JFRygweDQwRjAwMDM0KQkvKiBQb3dlciBNYW5hZ2VyIFNsZWVwIENvbmZpZyBSZWdpc3RlciAqLwotI2RlZmluZSBQU1RSCQlfX1JFRygweDQwRjAwMDM4KQkvKlBvd2VyIE1hbmFnZXIgU3RhbmRieSBDb25maWcgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUFNOUgkJX19SRUcoMHg0MEYwMDAzQykJLypQb3dlciBNYW5hZ2VyIFNlbnNlIENvbmZpZyBSZWdpc3RlciAqLwotI2RlZmluZSBQVkNSCQlfX1JFRygweDQwRjAwMDQwKQkvKlBvd2VyIE1hbmFnZXIgVm9sdGFnZUNvbnRyb2wgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUEtXUgkJX19SRUcoMHg0MEYwMDA1MCkJLyogUG93ZXIgTWFuYWdlciBLQiBXYWtlLXVwIEVuYWJsZSBSZWcgKi8KLSNkZWZpbmUgUEtTUgkJX19SRUcoMHg0MEYwMDA1NCkJLyogUG93ZXIgTWFuYWdlciBLQiBMZXZlbC1EZXRlY3QgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUENNRCh4KQlfX1JFRzIoMHg0MEYwMDA4MCwgKHgpPDwyKQotI2RlZmluZSBQQ01EMAlfX1JFRygweDQwRjAwMDgwICsgMCAqIDQpCi0jZGVmaW5lIFBDTUQxCV9fUkVHKDB4NDBGMDAwODAgKyAxICogNCkKLSNkZWZpbmUgUENNRDIJX19SRUcoMHg0MEYwMDA4MCArIDIgKiA0KQotI2RlZmluZSBQQ01EMwlfX1JFRygweDQwRjAwMDgwICsgMyAqIDQpCi0jZGVmaW5lIFBDTUQ0CV9fUkVHKDB4NDBGMDAwODAgKyA0ICogNCkKLSNkZWZpbmUgUENNRDUJX19SRUcoMHg0MEYwMDA4MCArIDUgKiA0KQotI2RlZmluZSBQQ01ENglfX1JFRygweDQwRjAwMDgwICsgNiAqIDQpCi0jZGVmaW5lIFBDTUQ3CV9fUkVHKDB4NDBGMDAwODAgKyA3ICogNCkKLSNkZWZpbmUgUENNRDgJX19SRUcoMHg0MEYwMDA4MCArIDggKiA0KQotI2RlZmluZSBQQ01EOQlfX1JFRygweDQwRjAwMDgwICsgOSAqIDQpCi0jZGVmaW5lIFBDTUQxMAlfX1JFRygweDQwRjAwMDgwICsgMTAgKiA0KQotI2RlZmluZSBQQ01EMTEJX19SRUcoMHg0MEYwMDA4MCArIDExICogNCkKLSNkZWZpbmUgUENNRDEyCV9fUkVHKDB4NDBGMDAwODAgKyAxMiAqIDQpCi0jZGVmaW5lIFBDTUQxMwlfX1JFRygweDQwRjAwMDgwICsgMTMgKiA0KQotI2RlZmluZSBQQ01EMTQJX19SRUcoMHg0MEYwMDA4MCArIDE0ICogNCkKLSNkZWZpbmUgUENNRDE1CV9fUkVHKDB4NDBGMDAwODAgKyAxNSAqIDQpCi0jZGVmaW5lIFBDTUQxNglfX1JFRygweDQwRjAwMDgwICsgMTYgKiA0KQotI2RlZmluZSBQQ01EMTcJX19SRUcoMHg0MEYwMDA4MCArIDE3ICogNCkKLSNkZWZpbmUgUENNRDE4CV9fUkVHKDB4NDBGMDAwODAgKyAxOCAqIDQpCi0jZGVmaW5lIFBDTUQxOQlfX1JFRygweDQwRjAwMDgwICsgMTkgKiA0KQotI2RlZmluZSBQQ01EMjAJX19SRUcoMHg0MEYwMDA4MCArIDIwICogNCkKLSNkZWZpbmUgUENNRDIxCV9fUkVHKDB4NDBGMDAwODAgKyAyMSAqIDQpCi0jZGVmaW5lIFBDTUQyMglfX1JFRygweDQwRjAwMDgwICsgMjIgKiA0KQotI2RlZmluZSBQQ01EMjMJX19SRUcoMHg0MEYwMDA4MCArIDIzICogNCkKLSNkZWZpbmUgUENNRDI0CV9fUkVHKDB4NDBGMDAwODAgKyAyNCAqIDQpCi0jZGVmaW5lIFBDTUQyNQlfX1JFRygweDQwRjAwMDgwICsgMjUgKiA0KQotI2RlZmluZSBQQ01EMjYJX19SRUcoMHg0MEYwMDA4MCArIDI2ICogNCkKLSNkZWZpbmUgUENNRDI3CV9fUkVHKDB4NDBGMDAwODAgKyAyNyAqIDQpCi0jZGVmaW5lIFBDTUQyOAlfX1JFRygweDQwRjAwMDgwICsgMjggKiA0KQotI2RlZmluZSBQQ01EMjkJX19SRUcoMHg0MEYwMDA4MCArIDI5ICogNCkKLSNkZWZpbmUgUENNRDMwCV9fUkVHKDB4NDBGMDAwODAgKyAzMCAqIDQpCi0jZGVmaW5lIFBDTUQzMQlfX1JFRygweDQwRjAwMDgwICsgMzEgKiA0KQotCi0jZGVmaW5lIFBDTURfTUJDCSgxPDwxMikKLSNkZWZpbmUgUENNRF9EQ0UJKDE8PDExKQotI2RlZmluZSBQQ01EX0xDCSgxPDwxMCkKLS8qIEZJWE1FOiAgUENNRF9TUUMgbmVlZCBiZSBjaGVja2VkLiAgICovCi0jZGVmaW5lIFBDTURfU1FDCSgzPDw4KQkvKiBjdXJyZW50bHkgb25seSBiaXQgOCBpcyBjaGFuZ2VhYmxlLAotCQkJCSAgIGJpdCA5IHNob3VsZCBiZSAwIGFsbCBkYXkuICovCi0jZGVmaW5lIFBWQ1JfVkNTQQkoMHgxPDwxNCkKLSNkZWZpbmUgUFZDUl9Db21tYW5kRGVsYXkgKDB4ZjgwKQotI2RlZmluZSBQQ0ZSX1BJMkNfRU4JKDB4MSA8PCA2KQotCi0jZGVmaW5lIFBTU1JfT1RHUEgJKDEgPDwgNikJLyogT1RHIFBlcmlwaGVyYWwgY29udHJvbCBIb2xkICovCi0jZGVmaW5lIFBTU1JfUkRICSgxIDw8IDUpCS8qIFJlYWQgRGlzYWJsZSBIb2xkICovCi0jZGVmaW5lIFBTU1JfUEgJCSgxIDw8IDQpCS8qIFBlcmlwaGVyYWwgQ29udHJvbCBIb2xkICovCi0jZGVmaW5lIFBTU1JfU1RTCSgxIDw8IDMpCS8qIFN0YW5kYnkgTW9kZSBTdGF0dXMgKi8KLSNkZWZpbmUgUFNTUl9WRlMJKDEgPDwgMikJLyogVkREIEZhdWx0IFN0YXR1cyAqLwotI2RlZmluZSBQU1NSX0JGUwkoMSA8PCAxKQkvKiBCYXR0ZXJ5IEZhdWx0IFN0YXR1cyAqLwotI2RlZmluZSBQU1NSX1NTUwkoMSA8PCAwKQkvKiBTb2Z0d2FyZSBTbGVlcCBTdGF0dXMgKi8KLQotI2RlZmluZSBQU0xSX1NMX1JPRAkoMSA8PCAyMCkJLyogU2xlZXAtTW9kZS9EZXBwLVNsZWVwIE1vZGUgblJFU0VUX09VVCBEaXNhYmxlICovCi0KLSNkZWZpbmUgUENGUl9STwkJKDEgPDwgMTUpCS8qIFJESCBPdmVycmlkZSAqLwotI2RlZmluZSBQQ0ZSX1BPCQkoMSA8PCAxNCkJLyogUEggT3ZlcnJpZGUgKi8KLSNkZWZpbmUgUENGUl9HUFJPRAkoMSA8PCAxMikJLyogR1BJTyBuUkVTRVRfT1VUIERpc2FibGUgKi8KLSNkZWZpbmUgUENGUl9MMV9FTgkoMSA8PCAxMSkJLyogU2xlZXAgTW9kZSBMMSBjb252ZXJ0ZXIgRW5hYmxlICovCi0jZGVmaW5lIFBDRlJfRlZDCSgxIDw8IDEwKQkvKiBGcmVxdWVuY3kvVm9sdGFnZSBDaGFuZ2UgKi8KLSNkZWZpbmUgUENGUl9EQ19FTgkoMSA8PCA3KQkvKiBTbGVlcC9kZWVwLXNsZWVwIERDLURDIENvbnZlcnRlciBFbmFibGUgKi8KLSNkZWZpbmUgUENGUl9QSTJDRU4JKDEgPDwgNikJLyogRW5hYmxlIFBJMkMgY29udHJvbGxlciAqLwotI2RlZmluZSBQQ0ZSX0dQUl9FTgkoMSA8PCA0KQkvKiBuUkVTRVRfR1BJTyBQaW4gRW5hYmxlICovCi0jZGVmaW5lIFBDRlJfRFMJCSgxIDw8IDMpCS8qIERlZXAgU2xlZXAgTW9kZSAqLwotI2RlZmluZSBQQ0ZSX0ZTCQkoMSA8PCAyKQkvKiBGbG9hdCBTdGF0aWMgQ2hpcCBTZWxlY3RzICovCi0jZGVmaW5lIFBDRlJfRlAJCSgxIDw8IDEpCS8qIEZsb2F0IFBDTUNJQSBjb250cm9scyAqLwotI2RlZmluZSBQQ0ZSX09QREUJKDEgPDwgMCkJLyogMy42ODY0IE1IeiBvc2NpbGxhdG9yIHBvd2VyLWRvd24gZW5hYmxlICovCi0KLSNkZWZpbmUgUkNTUl9HUFIJKDEgPDwgMykJLyogR1BJTyBSZXNldCAqLwotI2RlZmluZSBSQ1NSX1NNUgkoMSA8PCAyKQkvKiBTbGVlcCBNb2RlICovCi0jZGVmaW5lIFJDU1JfV0RSCSgxIDw8IDEpCS8qIFdhdGNoZG9nIFJlc2V0ICovCi0jZGVmaW5lIFJDU1JfSFdSCSgxIDw8IDApCS8qIEhhcmR3YXJlIFJlc2V0ICovCi0KLSNkZWZpbmUgUFdFUl9HUElPKE5iKQkoMSA8PCBOYikJLyogR1BJTyBbMC4uMTVdIHdha2UtdXAgZW5hYmxlICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8wCVBXRVJfR1BJTyAoMCkJLyogR1BJTyAgWzBdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xCVBXRVJfR1BJTyAoMSkJLyogR1BJTyAgWzFdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8yCVBXRVJfR1BJTyAoMikJLyogR1BJTyAgWzJdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8zCVBXRVJfR1BJTyAoMykJLyogR1BJTyAgWzNdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU80CVBXRVJfR1BJTyAoNCkJLyogR1BJTyAgWzRdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU81CVBXRVJfR1BJTyAoNSkJLyogR1BJTyAgWzVdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU82CVBXRVJfR1BJTyAoNikJLyogR1BJTyAgWzZdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU83CVBXRVJfR1BJTyAoNykJLyogR1BJTyAgWzddIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU84CVBXRVJfR1BJTyAoOCkJLyogR1BJTyAgWzhdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU85CVBXRVJfR1BJTyAoOSkJLyogR1BJTyAgWzldIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xMAlQV0VSX0dQSU8gKDEwKQkvKiBHUElPIFsxMF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzExCVBXRVJfR1BJTyAoMTEpCS8qIEdQSU8gWzExXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMTIJUFdFUl9HUElPICgxMikJLyogR1BJTyBbMTJdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xMwlQV0VSX0dQSU8gKDEzKQkvKiBHUElPIFsxM10gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzE0CVBXRVJfR1BJTyAoMTQpCS8qIEdQSU8gWzE0XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMTUJUFdFUl9HUElPICgxNSkJLyogR1BJTyBbMTVdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX1JUQwkweDgwMDAwMDAwCS8qIFJUQyBhbGFybSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLQogLyoKICAqIFNTUCBTZXJpYWwgUG9ydCBSZWdpc3RlcnMgLSBzZWUgaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3JlZ3Mtc3NwLmgKICAqLwpAQCAtMTM2MCw1MiArODM3LDkgQEAKICAqLwogCiAvKgotICogQ29yZSBDbG9jaworICogQ29yZSBDbG9jayAtIHNlZSBpbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LXJlZ3MuaAogICovCiAKLSNkZWZpbmUgQ0NDUgkJX19SRUcoMHg0MTMwMDAwMCkgIC8qIENvcmUgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLwotI2RlZmluZSBDS0VOCQlfX1JFRygweDQxMzAwMDA0KSAgLyogQ2xvY2sgRW5hYmxlIFJlZ2lzdGVyICovCi0jZGVmaW5lIE9TQ0MJCV9fUkVHKDB4NDEzMDAwMDgpICAvKiBPc2NpbGxhdG9yIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KLSNkZWZpbmUgQ0NTUgkJX19SRUcoMHg0MTMwMDAwQykgIC8qIENvcmUgQ2xvY2sgU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgQ0NDUl9OX01BU0sJMHgwMzgwCQkvKiBSdW4gTW9kZSBGcmVxdWVuY3kgdG8gVHVyYm8gTW9kZSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLwotI2RlZmluZSBDQ0NSX01fTUFTSwkweDAwNjAJCS8qIE1lbW9yeSBGcmVxdWVuY3kgdG8gUnVuIE1vZGUgRnJlcXVlbmN5IE11bHRpcGxpZXIgKi8KLSNkZWZpbmUgQ0NDUl9MX01BU0sJMHgwMDFmCQkvKiBDcnlzdGFsIEZyZXF1ZW5jeSB0byBNZW1vcnkgRnJlcXVlbmN5IE11bHRpcGxpZXIgKi8KLQotI2RlZmluZSBDS0VOX0FDOTdDT05GICAgKDMxKSAgICAvKiBBQzk3IENvbnRyb2xsZXIgQ29uZmlndXJhdGlvbiAqLwotI2RlZmluZSBDS0VOX0NBTUVSQQkoMjQpCS8qIENhbWVyYSBJbnRlcmZhY2UgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fU1NQMQkoMjMpCS8qIFNTUDEgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9NRU1DCSgyMikJLyogTWVtb3J5IENvbnRyb2xsZXIgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTUVNU1RLCSgyMSkJLyogTWVtb3J5IFN0aWNrIEhvc3QgQ29udHJvbGxlciAqLwotI2RlZmluZSBDS0VOX0lNCQkoMjApCS8qIEludGVybmFsIE1lbW9yeSBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9LRVlQQUQJKDE5KQkvKiBLZXlwYWQgSW50ZXJmYWNlIENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1VTSU0JKDE4KQkvKiBVU0lNIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTVNMCSgxNykJLyogTVNMIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTENECSgxNikJLyogTENEIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fUFdSSTJDCSgxNSkJLyogUFdSIEkyQyBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0kyQwkoMTQpCS8qIEkyQyBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0ZJQ1AJKDEzKQkvKiBGSUNQIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTU1DCSgxMikJLyogTU1DIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fVVNCCSgxMSkJLyogVVNCIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fQVNTUAkoMTApCS8qIEFTU1AgKFNTUDMpIENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1VTQkhPU1QJKDEwKQkvKiBVU0IgSG9zdCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX09TVElNRVIJKDkpCS8qIE9TIFRpbWVyIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTlNTUAkoOSkJLyogTlNTUCAoU1NQMikgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fSTJTCSg4KQkvKiBJMlMgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9CVFVBUlQJKDcpCS8qIEJUVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0ZGVUFSVAkoNikJLyogRkZVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fU1RVQVJUCSg1KQkvKiBTVFVBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9IV1VBUlQJKDQpCS8qIEhXVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1NTUDMJKDQpCS8qIFNTUDMgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9TU1AJKDMpCS8qIFNTUCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1NTUDIJKDMpCS8qIFNTUDIgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9BQzk3CSgyKQkvKiBBQzk3IFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fUFdNMQkoMSkJLyogUFdNMSBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9QV00wCSgwKQkvKiBQV00wIENsb2NrIEVuYWJsZSAqLwotCi0jZGVmaW5lIE9TQ0NfT09OCSgxIDw8IDEpCS8qIDMyLjc2OGtIeiBPT04gKHdyaXRlLW9uY2Ugb25seSBiaXQpICovCi0jZGVmaW5lIE9TQ0NfT09LCSgxIDw8IDApCS8qIDMyLjc2OGtIeiBPT0sgKHJlYWQtb25seSBiaXQpICovCi0KICNpZmRlZiBDT05GSUdfUFhBMjd4CiAKIC8qIENhbWVyYSBJbnRlcmZhY2UgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyNXgtdWRjLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMjV4LXVkYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MDMwNTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMjV4LXVkYy5oCkBAIC0wLDAgKzEsMTYzIEBACisjaWZuZGVmIF9BU01fQVJDSF9QWEEyNVhfVURDX0gKKyNkZWZpbmUgX0FTTV9BUkNIX1BYQTI1WF9VRENfSAorCisjaWZkZWYgX0FTTV9BUkNIX1BYQTI3WF9VRENfSAorI2Vycm9yIFlvdSBjYW4ndCBpbmNsdWRlIGJvdGggUFhBMjV4IGFuZCBQWEEyN3ggVURDIHN1cHBvcnQKKyNlbmRpZgorCisjZGVmaW5lIFVEQ19SRVMxCV9fUkVHKDB4NDA2MDAwMDQpICAvKiBVREMgVW5kb2N1bWVudGVkIC0gUmVzZXJ2ZWQxICovCisjZGVmaW5lIFVEQ19SRVMyCV9fUkVHKDB4NDA2MDAwMDgpICAvKiBVREMgVW5kb2N1bWVudGVkIC0gUmVzZXJ2ZWQyICovCisjZGVmaW5lIFVEQ19SRVMzCV9fUkVHKDB4NDA2MDAwMEMpICAvKiBVREMgVW5kb2N1bWVudGVkIC0gUmVzZXJ2ZWQzICovCisKKyNkZWZpbmUgVURDQ1IJCV9fUkVHKDB4NDA2MDAwMDApICAvKiBVREMgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUl9VREUJKDEgPDwgMCkJLyogVURDIGVuYWJsZSAqLworI2RlZmluZSBVRENDUl9VREEJKDEgPDwgMSkJLyogVURDIGFjdGl2ZSAqLworI2RlZmluZSBVRENDUl9SU00JKDEgPDwgMikJLyogRGV2aWNlIHJlc3VtZSAqLworI2RlZmluZSBVRENDUl9SRVNJUgkoMSA8PCAzKQkvKiBSZXN1bWUgaW50ZXJydXB0IHJlcXVlc3QgKi8KKyNkZWZpbmUgVURDQ1JfU1VTSVIJKDEgPDwgNCkJLyogU3VzcGVuZCBpbnRlcnJ1cHQgcmVxdWVzdCAqLworI2RlZmluZSBVRENDUl9TUk0JKDEgPDwgNSkJLyogU3VzcGVuZC9yZXN1bWUgaW50ZXJydXB0IG1hc2sgKi8KKyNkZWZpbmUgVURDQ1JfUlNUSVIJKDEgPDwgNikJLyogUmVzZXQgaW50ZXJydXB0IHJlcXVlc3QgKi8KKyNkZWZpbmUgVURDQ1JfUkVNCSgxIDw8IDcpCS8qIFJlc2V0IGludGVycnVwdCBtYXNrICovCisKKyNkZWZpbmUgVURDQ1MwCQlfX1JFRygweDQwNjAwMDEwKSAgLyogVURDIEVuZHBvaW50IDAgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MwX09QUgkoMSA8PCAwKQkvKiBPVVQgcGFja2V0IHJlYWR5ICovCisjZGVmaW5lIFVEQ0NTMF9JUFIJKDEgPDwgMSkJLyogSU4gcGFja2V0IHJlYWR5ICovCisjZGVmaW5lIFVEQ0NTMF9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLworI2RlZmluZSBVRENDUzBfRFJXRgkoMSA8PCAzKQkvKiBEZXZpY2UgcmVtb3RlIHdha2V1cCBmZWF0dXJlICovCisjZGVmaW5lIFVEQ0NTMF9TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLworI2RlZmluZSBVRENDUzBfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCisjZGVmaW5lIFVEQ0NTMF9STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIG5vIGVtcHR5ICovCisjZGVmaW5lIFVEQ0NTMF9TQQkoMSA8PCA3KQkvKiBTZXR1cCBhY3RpdmUgKi8KKworLyogQnVsayBJTiAtIEVuZHBvaW50IDEsNiwxMSAqLworI2RlZmluZSBVRENDUzEJCV9fUkVHKDB4NDA2MDAwMTQpICAvKiBVREMgRW5kcG9pbnQgMSAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTNgkJX19SRUcoMHg0MDYwMDAyOCkgIC8qIFVEQyBFbmRwb2ludCA2IChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MxMQkJX19SRUcoMHg0MDYwMDAzQykgIC8qIFVEQyBFbmRwb2ludCAxMSAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgVURDQ1NfQklfVEZTCSgxIDw8IDApCS8qIFRyYW5zbWl0IEZJRk8gc2VydmljZSAqLworI2RlZmluZSBVRENDU19CSV9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTX0JJX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCisjZGVmaW5lIFVEQ0NTX0JJX1RVUgkoMSA8PCAzKQkvKiBUcmFuc21pdCBGSUZPIHVuZGVycnVuICovCisjZGVmaW5lIFVEQ0NTX0JJX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0JJX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLworI2RlZmluZSBVRENDU19CSV9UU1AJKDEgPDwgNykJLyogVHJhbnNtaXQgc2hvcnQgcGFja2V0ICovCisKKy8qIEJ1bGsgT1VUIC0gRW5kcG9pbnQgMiw3LDEyICovCisjZGVmaW5lIFVEQ0NTMgkJX19SRUcoMHg0MDYwMDAxOCkgIC8qIFVEQyBFbmRwb2ludCAyIChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTNwkJX19SRUcoMHg0MDYwMDAyQykgIC8qIFVEQyBFbmRwb2ludCA3IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTIJCV9fUkVHKDB4NDA2MDAwNDApICAvKiBVREMgRW5kcG9pbnQgMTIgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVRENDU19CT19SRlMJKDEgPDwgMCkJLyogUmVjZWl2ZSBGSUZPIHNlcnZpY2UgKi8KKyNkZWZpbmUgVURDQ1NfQk9fUlBDCSgxIDw8IDEpCS8qIFJlY2VpdmUgcGFja2V0IGNvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTX0JPX0RNRQkoMSA8PCAzKQkvKiBETUEgZW5hYmxlICovCisjZGVmaW5lIFVEQ0NTX0JPX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0JPX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLworI2RlZmluZSBVRENDU19CT19STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIG5vdCBlbXB0eSAqLworI2RlZmluZSBVRENDU19CT19SU1AJKDEgPDwgNykJLyogUmVjZWl2ZSBzaG9ydCBwYWNrZXQgKi8KKworLyogSXNvY2hyb25vdXMgSU4gLSBFbmRwb2ludCAzLDgsMTMgKi8KKyNkZWZpbmUgVURDQ1MzCQlfX1JFRygweDQwNjAwMDFDKSAgLyogVURDIEVuZHBvaW50IDMgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzgJCV9fUkVHKDB4NDA2MDAwMzApICAvKiBVREMgRW5kcG9pbnQgOCAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTMJCV9fUkVHKDB4NDA2MDAwNDQpICAvKiBVREMgRW5kcG9pbnQgMTMgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworCisjZGVmaW5lIFVEQ0NTX0lJX1RGUwkoMSA8PCAwKQkvKiBUcmFuc21pdCBGSUZPIHNlcnZpY2UgKi8KKyNkZWZpbmUgVURDQ1NfSUlfVFBDCSgxIDw8IDEpCS8qIFRyYW5zbWl0IHBhY2tldCBjb21wbGV0ZSAqLworI2RlZmluZSBVRENDU19JSV9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLworI2RlZmluZSBVRENDU19JSV9UVVIJKDEgPDwgMykJLyogVHJhbnNtaXQgRklGTyB1bmRlcnJ1biAqLworI2RlZmluZSBVRENDU19JSV9UU1AJKDEgPDwgNykJLyogVHJhbnNtaXQgc2hvcnQgcGFja2V0ICovCisKKy8qIElzb2Nocm9ub3VzIE9VVCAtIEVuZHBvaW50IDQsOSwxNCAqLworI2RlZmluZSBVRENDUzQJCV9fUkVHKDB4NDA2MDAwMjApICAvKiBVREMgRW5kcG9pbnQgNCAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzkJCV9fUkVHKDB4NDA2MDAwMzQpICAvKiBVREMgRW5kcG9pbnQgOSAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzE0CQlfX1JFRygweDQwNjAwMDQ4KSAgLyogVURDIEVuZHBvaW50IDE0IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgVURDQ1NfSU9fUkZTCSgxIDw8IDApCS8qIFJlY2VpdmUgRklGTyBzZXJ2aWNlICovCisjZGVmaW5lIFVEQ0NTX0lPX1JQQwkoMSA8PCAxKQkvKiBSZWNlaXZlIHBhY2tldCBjb21wbGV0ZSAqLworI2RlZmluZSBVRENDU19JT19ST0YJKDEgPDwgMikJLyogUmVjZWl2ZSBvdmVyZmxvdyAqLworI2RlZmluZSBVRENDU19JT19ETUUJKDEgPDwgMykJLyogRE1BIGVuYWJsZSAqLworI2RlZmluZSBVRENDU19JT19STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIG5vdCBlbXB0eSAqLworI2RlZmluZSBVRENDU19JT19SU1AJKDEgPDwgNykJLyogUmVjZWl2ZSBzaG9ydCBwYWNrZXQgKi8KKworLyogSW50ZXJydXB0IElOIC0gRW5kcG9pbnQgNSwxMCwxNSAqLworI2RlZmluZSBVRENDUzUJCV9fUkVHKDB4NDA2MDAwMjQpICAvKiBVREMgRW5kcG9pbnQgNSAoSW50ZXJydXB0KSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzEwCQlfX1JFRygweDQwNjAwMDM4KSAgLyogVURDIEVuZHBvaW50IDEwIChJbnRlcnJ1cHQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTUJCV9fUkVHKDB4NDA2MDAwNEMpICAvKiBVREMgRW5kcG9pbnQgMTUgKEludGVycnVwdCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVRENDU19JTlRfVEZTCSgxIDw8IDApCS8qIFRyYW5zbWl0IEZJRk8gc2VydmljZSAqLworI2RlZmluZSBVRENDU19JTlRfVFBDCSgxIDw8IDEpCS8qIFRyYW5zbWl0IHBhY2tldCBjb21wbGV0ZSAqLworI2RlZmluZSBVRENDU19JTlRfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KKyNkZWZpbmUgVURDQ1NfSU5UX1RVUgkoMSA8PCAzKQkvKiBUcmFuc21pdCBGSUZPIHVuZGVycnVuICovCisjZGVmaW5lIFVEQ0NTX0lOVF9TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLworI2RlZmluZSBVRENDU19JTlRfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0lOVF9UU1AJKDEgPDwgNykJLyogVHJhbnNtaXQgc2hvcnQgcGFja2V0ICovCisKKyNkZWZpbmUgVUZOUkgJCV9fUkVHKDB4NDA2MDAwNjApICAvKiBVREMgRnJhbWUgTnVtYmVyIFJlZ2lzdGVyIEhpZ2ggKi8KKyNkZWZpbmUgVUZOUkwJCV9fUkVHKDB4NDA2MDAwNjQpICAvKiBVREMgRnJhbWUgTnVtYmVyIFJlZ2lzdGVyIExvdyAqLworI2RlZmluZSBVQkNSMgkJX19SRUcoMHg0MDYwMDA2OCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyAyICovCisjZGVmaW5lIFVCQ1I0CQlfX1JFRygweDQwNjAwMDZjKSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDQgKi8KKyNkZWZpbmUgVUJDUjcJCV9fUkVHKDB4NDA2MDAwNzApICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgNyAqLworI2RlZmluZSBVQkNSOQkJX19SRUcoMHg0MDYwMDA3NCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyA5ICovCisjZGVmaW5lIFVCQ1IxMgkJX19SRUcoMHg0MDYwMDA3OCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyAxMiAqLworI2RlZmluZSBVQkNSMTQJCV9fUkVHKDB4NDA2MDAwN2MpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgMTQgKi8KKyNkZWZpbmUgVUREUjAJCV9fUkVHKDB4NDA2MDAwODApICAvKiBVREMgRW5kcG9pbnQgMCBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxCQlfX1JFRygweDQwNjAwMTAwKSAgLyogVURDIEVuZHBvaW50IDEgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMgkJX19SRUcoMHg0MDYwMDE4MCkgIC8qIFVEQyBFbmRwb2ludCAyIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjMJCV9fUkVHKDB4NDA2MDAyMDApICAvKiBVREMgRW5kcG9pbnQgMyBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFI0CQlfX1JFRygweDQwNjAwNDAwKSAgLyogVURDIEVuZHBvaW50IDQgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSNQkJX19SRUcoMHg0MDYwMDBBMCkgIC8qIFVEQyBFbmRwb2ludCA1IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjYJCV9fUkVHKDB4NDA2MDA2MDApICAvKiBVREMgRW5kcG9pbnQgNiBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFI3CQlfX1JFRygweDQwNjAwNjgwKSAgLyogVURDIEVuZHBvaW50IDcgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSOAkJX19SRUcoMHg0MDYwMDcwMCkgIC8qIFVEQyBFbmRwb2ludCA4IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjkJCV9fUkVHKDB4NDA2MDA5MDApICAvKiBVREMgRW5kcG9pbnQgOSBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxMAkJX19SRUcoMHg0MDYwMDBDMCkgIC8qIFVEQyBFbmRwb2ludCAxMCBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxMQkJX19SRUcoMHg0MDYwMEIwMCkgIC8qIFVEQyBFbmRwb2ludCAxMSBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxMgkJX19SRUcoMHg0MDYwMEI4MCkgIC8qIFVEQyBFbmRwb2ludCAxMiBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxMwkJX19SRUcoMHg0MDYwMEMwMCkgIC8qIFVEQyBFbmRwb2ludCAxMyBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxNAkJX19SRUcoMHg0MDYwMEUwMCkgIC8qIFVEQyBFbmRwb2ludCAxNCBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIxNQkJX19SRUcoMHg0MDYwMDBFMCkgIC8qIFVEQyBFbmRwb2ludCAxNSBEYXRhIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgVUlDUjAJCV9fUkVHKDB4NDA2MDAwNTApICAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgMCAqLworCisjZGVmaW5lIFVJQ1IwX0lNMAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAwICovCisjZGVmaW5lIFVJQ1IwX0lNMQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxICovCisjZGVmaW5lIFVJQ1IwX0lNMgkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAyICovCisjZGVmaW5lIFVJQ1IwX0lNMwkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAzICovCisjZGVmaW5lIFVJQ1IwX0lNNAkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA0ICovCisjZGVmaW5lIFVJQ1IwX0lNNQkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA1ICovCisjZGVmaW5lIFVJQ1IwX0lNNgkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA2ICovCisjZGVmaW5lIFVJQ1IwX0lNNwkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA3ICovCisKKyNkZWZpbmUgVUlDUjEJCV9fUkVHKDB4NDA2MDAwNTQpICAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgMSAqLworCisjZGVmaW5lIFVJQ1IxX0lNOAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA4ICovCisjZGVmaW5lIFVJQ1IxX0lNOQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA5ICovCisjZGVmaW5lIFVJQ1IxX0lNMTAJKDEgPDwgMikJLyogSW50ZXJydXB0IG1hc2sgZXAgMTAgKi8KKyNkZWZpbmUgVUlDUjFfSU0xMQkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMSAqLworI2RlZmluZSBVSUNSMV9JTTEyCSgxIDw8IDQpCS8qIEludGVycnVwdCBtYXNrIGVwIDEyICovCisjZGVmaW5lIFVJQ1IxX0lNMTMJKDEgPDwgNSkJLyogSW50ZXJydXB0IG1hc2sgZXAgMTMgKi8KKyNkZWZpbmUgVUlDUjFfSU0xNAkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxNCAqLworI2RlZmluZSBVSUNSMV9JTTE1CSgxIDw8IDcpCS8qIEludGVycnVwdCBtYXNrIGVwIDE1ICovCisKKyNkZWZpbmUgVVNJUjAJCV9fUkVHKDB4NDA2MDAwNTgpICAvKiBVREMgU3RhdHVzIEludGVycnVwdCBSZWdpc3RlciAwICovCisKKyNkZWZpbmUgVVNJUjBfSVIwCSgxIDw8IDApCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDAgKi8KKyNkZWZpbmUgVVNJUjBfSVIxCSgxIDw8IDEpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEgKi8KKyNkZWZpbmUgVVNJUjBfSVIyCSgxIDw8IDIpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDIgKi8KKyNkZWZpbmUgVVNJUjBfSVIzCSgxIDw8IDMpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDMgKi8KKyNkZWZpbmUgVVNJUjBfSVI0CSgxIDw8IDQpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDQgKi8KKyNkZWZpbmUgVVNJUjBfSVI1CSgxIDw8IDUpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDUgKi8KKyNkZWZpbmUgVVNJUjBfSVI2CSgxIDw8IDYpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDYgKi8KKyNkZWZpbmUgVVNJUjBfSVI3CSgxIDw8IDcpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDcgKi8KKworI2RlZmluZSBVU0lSMQkJX19SRUcoMHg0MDYwMDA1QykgIC8qIFVEQyBTdGF0dXMgSW50ZXJydXB0IFJlZ2lzdGVyIDEgKi8KKworI2RlZmluZSBVU0lSMV9JUjgJKDEgPDwgMCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgOCAqLworI2RlZmluZSBVU0lSMV9JUjkJKDEgPDwgMSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgOSAqLworI2RlZmluZSBVU0lSMV9JUjEwCSgxIDw8IDIpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEwICovCisjZGVmaW5lIFVTSVIxX0lSMTEJKDEgPDwgMykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTEgKi8KKyNkZWZpbmUgVVNJUjFfSVIxMgkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMiAqLworI2RlZmluZSBVU0lSMV9JUjEzCSgxIDw8IDUpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEzICovCisjZGVmaW5lIFVTSVIxX0lSMTQJKDEgPDwgNikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTQgKi8KKyNkZWZpbmUgVVNJUjFfSVIxNQkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxNSAqLworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyN3gtdWRjLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMjd4LXVkYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMWNmN2QwCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTI3eC11ZGMuaApAQCAtMCwwICsxLDI1NyBAQAorI2lmbmRlZiBfQVNNX0FSQ0hfUFhBMjdYX1VEQ19ICisjZGVmaW5lIF9BU01fQVJDSF9QWEEyN1hfVURDX0gKKworI2lmZGVmIF9BU01fQVJDSF9QWEEyNVhfVURDX0gKKyNlcnJvciBZb3UgY2Fubm90IGluY2x1ZGUgYm90aCBQWEEyNXggYW5kIFBYQTI3eCBVREMgc3VwcG9ydAorI2VuZGlmCisKKyNkZWZpbmUgVURDQ1IgICAgICAgICAgIF9fUkVHKDB4NDA2MDAwMDApIC8qIFVEQyBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NSX09FTgkoMSA8PCAzMSkJLyogT24tdGhlLUdvIEVuYWJsZSAqLworI2RlZmluZSBVRENDUl9BQUxUSE5QCSgxIDw8IDMwKQkvKiBBLWRldmljZSBBbHRlcm5hdGUgSG9zdCBOZWdvdGlhdGlvbgorCQkJCQkgICBQcm90b2NvbCBQb3J0IFN1cHBvcnQgKi8KKyNkZWZpbmUgVURDQ1JfQUhOUAkoMSA8PCAyOSkJLyogQS1kZXZpY2UgSG9zdCBOZWdvdGlhdGlvbiBQcm90b2NvbAorCQkJCQkgICBTdXBwb3J0ICovCisjZGVmaW5lIFVEQ0NSX0JITlAJKDEgPDwgMjgpCS8qIEItZGV2aWNlIEhvc3QgTmVnb3RpYXRpb24gUHJvdG9jb2wKKwkJCQkJICAgRW5hYmxlICovCisjZGVmaW5lIFVEQ0NSX0RXUkUJKDEgPDwgMTYpCS8qIERldmljZSBSZW1vdGUgV2FrZS11cCBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ1JfQUNOCSgweDAzIDw8IDExKQkvKiBBY3RpdmUgVURDIGNvbmZpZ3VyYXRpb24gTnVtYmVyICovCisjZGVmaW5lIFVEQ0NSX0FDTl9TCTExCisjZGVmaW5lIFVEQ0NSX0FJTgkoMHgwNyA8PCA4KQkvKiBBY3RpdmUgVURDIGludGVyZmFjZSBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ1JfQUlOX1MJOAorI2RlZmluZSBVRENDUl9BQUlTTgkoMHgwNyA8PCA1KQkvKiBBY3RpdmUgVURDIEFsdGVybmF0ZSBJbnRlcmZhY2UKKwkJCQkJICAgU2V0dGluZyBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ1JfQUFJU05fUwk1CisjZGVmaW5lIFVEQ0NSX1NNQUMJKDEgPDwgNCkJLyogU3dpdGNoIEVuZHBvaW50IE1lbW9yeSB0byBBY3RpdmUKKwkJCQkJICAgQ29uZmlndXJhdGlvbiAqLworI2RlZmluZSBVRENDUl9FTUNFCSgxIDw8IDMpCS8qIEVuZHBvaW50IE1lbW9yeSBDb25maWd1cmF0aW9uCisJCQkJCSAgIEVycm9yICovCisjZGVmaW5lIFVEQ0NSX1VEUgkoMSA8PCAyKQkvKiBVREMgUmVzdW1lICovCisjZGVmaW5lIFVEQ0NSX1VEQQkoMSA8PCAxKQkvKiBVREMgQWN0aXZlICovCisjZGVmaW5lIFVEQ0NSX1VERQkoMSA8PCAwKQkvKiBVREMgRW5hYmxlICovCisKKyNkZWZpbmUgVURDSUNSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAwMDQpIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlcjAgKi8KKyNkZWZpbmUgVURDSUNSMSAgICAgICAgIF9fUkVHKDB4NDA2MDAwMDgpIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlcjEgKi8KKyNkZWZpbmUgVURDSUNSX0ZJRk9FUlIJKDEgPDwgMSkJLyogRklGTyBFcnJvciBpbnRlcnJ1cHQgZm9yIEVQICovCisjZGVmaW5lIFVEQ0lDUl9QS1RDT01QTCAoMSA8PCAwKQkvKiBQYWNrZXQgQ29tcGxldGUgaW50ZXJydXB0IGZvciBFUCAqLworCisjZGVmaW5lIFVEQ19JTlRfRklGT0VSUk9SICAoMHgyKQorI2RlZmluZSBVRENfSU5UX1BBQ0tFVENNUCAgKDB4MSkKKworI2RlZmluZSBVRENJQ1JfSU5UKG4saW50cikgKCgoaW50cikgJiAweDAzKSA8PCAoKChuKSAmIDB4MEYpICogMikpCisjZGVmaW5lIFVEQ0lDUjFfSUVDQwkoMSA8PCAzMSkJLyogSW50RW4gLSBDb25maWd1cmF0aW9uIENoYW5nZSAqLworI2RlZmluZSBVRENJQ1IxX0lFU09GCSgxIDw8IDMwKQkvKiBJbnRFbiAtIFN0YXJ0IG9mIEZyYW1lICovCisjZGVmaW5lIFVEQ0lDUjFfSUVSVQkoMSA8PCAyOSkJLyogSW50RW4gLSBSZXN1bWUgKi8KKyNkZWZpbmUgVURDSUNSMV9JRVNVCSgxIDw8IDI4KQkvKiBJbnRFbiAtIFN1c3BlbmQgKi8KKyNkZWZpbmUgVURDSUNSMV9JRVJTCSgxIDw8IDI3KQkvKiBJbnRFbiAtIFJlc2V0ICovCisKKyNkZWZpbmUgVURDSVNSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAwMEMpIC8qIFVEQyBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyIDAgKi8KKyNkZWZpbmUgVURDSVNSMSAgICAgICAgIF9fUkVHKDB4NDA2MDAwMTApIC8qIFVEQyBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyIDEgKi8KKyNkZWZpbmUgVURDSVNSX0lOVChuLGludHIpICgoKGludHIpICYgMHgwMykgPDwgKCgobikgJiAweDBGKSAqIDIpKQorI2RlZmluZSBVRENJU1IxX0lSQ0MJKDEgPDwgMzEpCS8qIEludFJlcSAtIENvbmZpZ3VyYXRpb24gQ2hhbmdlICovCisjZGVmaW5lIFVEQ0lTUjFfSVJTT0YJKDEgPDwgMzApCS8qIEludFJlcSAtIFN0YXJ0IG9mIEZyYW1lICovCisjZGVmaW5lIFVEQ0lTUjFfSVJSVQkoMSA8PCAyOSkJLyogSW50UmVxIC0gUmVzdW1lICovCisjZGVmaW5lIFVEQ0lTUjFfSVJTVQkoMSA8PCAyOCkJLyogSW50UmVxIC0gU3VzcGVuZCAqLworI2RlZmluZSBVRENJU1IxX0lSUlMJKDEgPDwgMjcpCS8qIEludFJlcSAtIFJlc2V0ICovCisKKyNkZWZpbmUgVURDRk5SICAgICAgICAgIF9fUkVHKDB4NDA2MDAwMTQpIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDT1RHSUNSCV9fUkVHKDB4NDA2MDAwMTgpIC8qIFVEQyBPbi1UaGUtR28gaW50ZXJydXB0IGNvbnRyb2wgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFU0YJKDEgPDwgMjQpCS8qIE9URyBTRVRfRkVBVFVSRSBjb21tYW5kIHJlY3ZkICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVhSCSgxIDw8IDE3KQkvKiBFeHRyYSBUcmFuc2NpZXZlciBJbnRlcnJ1cHQKKwkJCQkJICAgUmlzaW5nIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVYRgkoMSA8PCAxNikJLyogRXh0cmEgVHJhbnNjaWV2ZXIgSW50ZXJydXB0CisJCQkJCSAgIEZhbGxpbmcgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDBSICgxIDw8IDkpCS8qIE9URyBWYnVzIFZhbGlkIDQuMFYgUmlzaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQwRiAoMSA8PCA4KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjBWIEZhbGxpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDRSICgxIDw8IDcpCS8qIE9URyBWYnVzIFZhbGlkIDQuNFYgUmlzaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQ0RiAoMSA8PCA2KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjRWIEZhbGxpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVNWUgkoMSA8PCA1KQkvKiBPVEcgU2Vzc2lvbiBWYWxpZCBSaXNpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVNWRgkoMSA8PCA0KQkvKiBPVEcgU2Vzc2lvbiBWYWxpZCBGYWxsaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVTRFIJKDEgPDwgMykJLyogT1RHIEEtRGV2aWNlIFNSUCBEZXRlY3QgUmlzaW5nCisJCQkJCSAgIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVTREYJKDEgPDwgMikJLyogT1RHIEEtRGV2aWNlIFNSUCBEZXRlY3QgRmFsbGluZworCQkJCQkgICBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFSURSCSgxIDw8IDEpCS8qIE9URyBJRCBDaGFuZ2UgUmlzaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVJREYJKDEgPDwgMCkJLyogT1RHIElEIENoYW5nZSBGYWxsaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworCisjZGVmaW5lIFVQMk9DUgkJICBfX1JFRygweDQwNjAwMDIwKSAgLyogVVNCIFBvcnQgMiBPdXRwdXQgQ29udHJvbCByZWdpc3RlciAqLworI2RlZmluZSBVUDNPQ1IJCSAgX19SRUcoMHg0MDYwMDAyNCkgIC8qIFVTQiBQb3J0IDIgT3V0cHV0IENvbnRyb2wgcmVnaXN0ZXIgKi8KKworI2RlZmluZSBVUDJPQ1JfQ1BWRU4JKDEgPDwgMCkJLyogQ2hhcmdlIFB1bXAgVmJ1cyBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0NQVlBFCSgxIDw8IDEpCS8qIENoYXJnZSBQdW1wIFZidXMgUHVsc2UgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9EUFBERQkoMSA8PCAyKQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIERvd24gRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9ETVBERQkoMSA8PCAzKQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIERvd24gRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9EUFBVRQkoMSA8PCA0KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIFVwIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRE1QVUUJKDEgPDwgNSkJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRC0gUHVsbCBVcCBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RQUFVCRQkoMSA8PCA2KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIFVwIEJ5cGFzcyBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RNUFVCRQkoMSA8PCA3KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIFVwIEJ5cGFzcyBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0VYU1AJCSgxIDw8IDgpCS8qIEV4dGVybmFsIFRyYW5zY2VpdmVyIFNwZWVkIENvbnRyb2wgKi8KKyNkZWZpbmUgVVAyT0NSX0VYU1VTCSgxIDw8IDkpCS8qIEV4dGVybmFsIFRyYW5zY2VpdmVyIFNwZWVkIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfSURPTgkJKDEgPDwgMTApCS8qIE9URyBJRCBSZWFkIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfSFhTCQkoMSA8PCAxNikJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgT3V0cHV0IFNlbGVjdCAqLworI2RlZmluZSBVUDJPQ1JfSFhPRQkJKDEgPDwgMTcpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIE91dHB1dCBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX1NFT1MJCSgxIDw8IDI0KQkvKiBTaW5nbGUtRW5kZWQgT3V0cHV0IFNlbGVjdCAqLworCisjZGVmaW5lIFVEQ0NTTih4KQlfX1JFRzIoMHg0MDYwMDEwMCwgKHgpIDw8IDIpCisjZGVmaW5lIFVEQ0NTUjAgICAgICAgICBfX1JFRygweDQwNjAwMTAwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCAwICovCisjZGVmaW5lIFVEQ0NTUjBfU0EJKDEgPDwgNykJLyogU2V0dXAgQWN0aXZlICovCisjZGVmaW5lIFVEQ0NTUjBfUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBOb3QgRW1wdHkgKi8KKyNkZWZpbmUgVURDQ1NSMF9GU1QJKDEgPDwgNSkJLyogRm9yY2UgU3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NSMF9TU1QJKDEgPDwgNCkJLyogU2VudCBTdGFsbCAqLworI2RlZmluZSBVRENDU1IwX0RNRQkoMSA8PCAzKQkvKiBETUEgRW5hYmxlICovCisjZGVmaW5lIFVEQ0NTUjBfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFRyYW5zbWl0IEZJRk8gKi8KKyNkZWZpbmUgVURDQ1NSMF9JUFIJKDEgPDwgMSkJLyogSU4gUGFja2V0IFJlYWR5ICovCisjZGVmaW5lIFVEQ0NTUjBfT1BDCSgxIDw8IDApCS8qIE9VVCBQYWNrZXQgQ29tcGxldGUgKi8KKworI2RlZmluZSBVRENDU1JBICAgICAgICAgX19SRUcoMHg0MDYwMDEwNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQSAqLworI2RlZmluZSBVRENDU1JCICAgICAgICAgX19SRUcoMHg0MDYwMDEwOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQiAqLworI2RlZmluZSBVRENDU1JDICAgICAgICAgX19SRUcoMHg0MDYwMDEwQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQyAqLworI2RlZmluZSBVRENDU1JEICAgICAgICAgX19SRUcoMHg0MDYwMDExMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRCAqLworI2RlZmluZSBVRENDU1JFICAgICAgICAgX19SRUcoMHg0MDYwMDExNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRSAqLworI2RlZmluZSBVRENDU1JGICAgICAgICAgX19SRUcoMHg0MDYwMDExOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRiAqLworI2RlZmluZSBVRENDU1JHICAgICAgICAgX19SRUcoMHg0MDYwMDExQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRyAqLworI2RlZmluZSBVRENDU1JIICAgICAgICAgX19SRUcoMHg0MDYwMDEyMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSCAqLworI2RlZmluZSBVRENDU1JJICAgICAgICAgX19SRUcoMHg0MDYwMDEyNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSSAqLworI2RlZmluZSBVRENDU1JKICAgICAgICAgX19SRUcoMHg0MDYwMDEyOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSiAqLworI2RlZmluZSBVRENDU1JLICAgICAgICAgX19SRUcoMHg0MDYwMDEyQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSyAqLworI2RlZmluZSBVRENDU1JMICAgICAgICAgX19SRUcoMHg0MDYwMDEzMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTCAqLworI2RlZmluZSBVRENDU1JNICAgICAgICAgX19SRUcoMHg0MDYwMDEzNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTSAqLworI2RlZmluZSBVRENDU1JOICAgICAgICAgX19SRUcoMHg0MDYwMDEzOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTiAqLworI2RlZmluZSBVRENDU1JQICAgICAgICAgX19SRUcoMHg0MDYwMDEzQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUCAqLworI2RlZmluZSBVRENDU1JRICAgICAgICAgX19SRUcoMHg0MDYwMDE0MCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUSAqLworI2RlZmluZSBVRENDU1JSICAgICAgICAgX19SRUcoMHg0MDYwMDE0NCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUiAqLworI2RlZmluZSBVRENDU1JTICAgICAgICAgX19SRUcoMHg0MDYwMDE0OCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUyAqLworI2RlZmluZSBVRENDU1JUICAgICAgICAgX19SRUcoMHg0MDYwMDE0QykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVCAqLworI2RlZmluZSBVRENDU1JVICAgICAgICAgX19SRUcoMHg0MDYwMDE1MCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVSAqLworI2RlZmluZSBVRENDU1JWICAgICAgICAgX19SRUcoMHg0MDYwMDE1NCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgViAqLworI2RlZmluZSBVRENDU1JXICAgICAgICAgX19SRUcoMHg0MDYwMDE1OCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVyAqLworI2RlZmluZSBVRENDU1JYICAgICAgICAgX19SRUcoMHg0MDYwMDE1QykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgWCAqLworCisjZGVmaW5lIFVEQ0NTUl9EUEUJKDEgPDwgOSkJLyogRGF0YSBQYWNrZXQgRXJyb3IgKi8KKyNkZWZpbmUgVURDQ1NSX0ZFRgkoMSA8PCA4KQkvKiBGbHVzaCBFbmRwb2ludCBGSUZPICovCisjZGVmaW5lIFVEQ0NTUl9TUAkoMSA8PCA3KQkvKiBTaG9ydCBQYWNrZXQgQ29udHJvbC9TdGF0dXMgKi8KKyNkZWZpbmUgVURDQ1NSX0JORQkoMSA8PCA2KQkvKiBCdWZmZXIgTm90IEVtcHR5IChJTiBlbmRwb2ludHMpICovCisjZGVmaW5lIFVEQ0NTUl9CTkYJKDEgPDwgNikJLyogQnVmZmVyIE5vdCBGdWxsIChPVVQgZW5kcG9pbnRzKSAqLworI2RlZmluZSBVRENDU1JfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIFNUQUxMICovCisjZGVmaW5lIFVEQ0NTUl9TU1QJKDEgPDwgNCkJLyogU2VudCBTVEFMTCAqLworI2RlZmluZSBVRENDU1JfRE1FCSgxIDw8IDMpCS8qIERNQSBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ1NSX1RSTgkoMSA8PCAyKQkvKiBUeC9SeCBOQUsgKi8KKyNkZWZpbmUgVURDQ1NSX1BDCSgxIDw8IDEpCS8qIFBhY2tldCBDb21wbGV0ZSAqLworI2RlZmluZSBVRENDU1JfRlMJKDEgPDwgMCkJLyogRklGTyBuZWVkcyBzZXJ2aWNlICovCisKKyNkZWZpbmUgVURDQkNOKHgpCV9fUkVHMigweDQwNjAwMjAwLCAoeCk8PDIpCisjZGVmaW5lIFVEQ0JDUjAgICAgICAgICBfX1JFRygweDQwNjAwMjAwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVAwICovCisjZGVmaW5lIFVEQ0JDUkEgICAgICAgICBfX1JFRygweDQwNjAwMjA0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBBICovCisjZGVmaW5lIFVEQ0JDUkIgICAgICAgICBfX1JFRygweDQwNjAwMjA4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBCICovCisjZGVmaW5lIFVEQ0JDUkMgICAgICAgICBfX1JFRygweDQwNjAwMjBDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBDICovCisjZGVmaW5lIFVEQ0JDUkQgICAgICAgICBfX1JFRygweDQwNjAwMjEwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBEICovCisjZGVmaW5lIFVEQ0JDUkUgICAgICAgICBfX1JFRygweDQwNjAwMjE0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBFICovCisjZGVmaW5lIFVEQ0JDUkYgICAgICAgICBfX1JFRygweDQwNjAwMjE4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBGICovCisjZGVmaW5lIFVEQ0JDUkcgICAgICAgICBfX1JFRygweDQwNjAwMjFDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBHICovCisjZGVmaW5lIFVEQ0JDUkggICAgICAgICBfX1JFRygweDQwNjAwMjIwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBIICovCisjZGVmaW5lIFVEQ0JDUkkgICAgICAgICBfX1JFRygweDQwNjAwMjI0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBJICovCisjZGVmaW5lIFVEQ0JDUkogICAgICAgICBfX1JFRygweDQwNjAwMjI4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBKICovCisjZGVmaW5lIFVEQ0JDUksgICAgICAgICBfX1JFRygweDQwNjAwMjJDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBLICovCisjZGVmaW5lIFVEQ0JDUkwgICAgICAgICBfX1JFRygweDQwNjAwMjMwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBMICovCisjZGVmaW5lIFVEQ0JDUk0gICAgICAgICBfX1JFRygweDQwNjAwMjM0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBNICovCisjZGVmaW5lIFVEQ0JDUk4gICAgICAgICBfX1JFRygweDQwNjAwMjM4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBOICovCisjZGVmaW5lIFVEQ0JDUlAgICAgICAgICBfX1JFRygweDQwNjAwMjNDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBQICovCisjZGVmaW5lIFVEQ0JDUlEgICAgICAgICBfX1JFRygweDQwNjAwMjQwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBRICovCisjZGVmaW5lIFVEQ0JDUlIgICAgICAgICBfX1JFRygweDQwNjAwMjQ0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBSICovCisjZGVmaW5lIFVEQ0JDUlMgICAgICAgICBfX1JFRygweDQwNjAwMjQ4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBTICovCisjZGVmaW5lIFVEQ0JDUlQgICAgICAgICBfX1JFRygweDQwNjAwMjRDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBUICovCisjZGVmaW5lIFVEQ0JDUlUgICAgICAgICBfX1JFRygweDQwNjAwMjUwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBVICovCisjZGVmaW5lIFVEQ0JDUlYgICAgICAgICBfX1JFRygweDQwNjAwMjU0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBWICovCisjZGVmaW5lIFVEQ0JDUlcgICAgICAgICBfX1JFRygweDQwNjAwMjU4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBXICovCisjZGVmaW5lIFVEQ0JDUlggICAgICAgICBfX1JFRygweDQwNjAwMjVDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBYICovCisKKyNkZWZpbmUgVURDRE4oeCkJX19SRUcyKDB4NDA2MDAzMDAsICh4KTw8MikKKyNkZWZpbmUgUEhZU19VRENETih4KQkoMHg0MDYwMDMwMCArICgoeCk8PDIpKQorI2RlZmluZSBQVURDRE4oeCkJKHZvbGF0aWxlIHUzMiAqKShpb19wMnYoUEhZU19VRENETigoeCkpKSkKKyNkZWZpbmUgVURDRFIwICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUDAgKi8KKyNkZWZpbmUgVURDRFJBICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEEgKi8KKyNkZWZpbmUgVURDRFJCICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEIgKi8KKyNkZWZpbmUgVURDRFJDICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMEMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEMgKi8KKyNkZWZpbmUgVURDRFJEICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEQgKi8KKyNkZWZpbmUgVURDRFJFICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEUgKi8KKyNkZWZpbmUgVURDRFJGICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEYgKi8KKyNkZWZpbmUgVURDRFJHICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMUMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEcgKi8KKyNkZWZpbmUgVURDRFJIICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEggKi8KKyNkZWZpbmUgVURDRFJJICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEkgKi8KKyNkZWZpbmUgVURDRFJKICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEogKi8KKyNkZWZpbmUgVURDRFJLICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMkMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEsgKi8KKyNkZWZpbmUgVURDRFJMICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEwgKi8KKyNkZWZpbmUgVURDRFJNICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUE0gKi8KKyNkZWZpbmUgVURDRFJOICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUE4gKi8KKyNkZWZpbmUgVURDRFJQICAgICAgICAgIF9fUkVHKDB4NDA2MDAzM0MpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFAgKi8KKyNkZWZpbmUgVURDRFJRICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFEgKi8KKyNkZWZpbmUgVURDRFJSICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFIgKi8KKyNkZWZpbmUgVURDRFJTICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFMgKi8KKyNkZWZpbmUgVURDRFJUICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNEMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFQgKi8KKyNkZWZpbmUgVURDRFJVICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFUgKi8KKyNkZWZpbmUgVURDRFJWICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFYgKi8KKyNkZWZpbmUgVURDRFJXICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFcgKi8KKyNkZWZpbmUgVURDRFJYICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNUMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFggKi8KKworI2RlZmluZSBVRENDTih4KSAgICAgICBfX1JFRzIoMHg0MDYwMDQwMCwgKHgpPDwyKQorI2RlZmluZSBVRENDUkEgICAgICAgICAgX19SRUcoMHg0MDYwMDQwNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEEgKi8KKyNkZWZpbmUgVURDQ1JCICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MDgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBCICovCisjZGVmaW5lIFVEQ0NSQyAgICAgICAgICBfX1JFRygweDQwNjAwNDBDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQQyAqLworI2RlZmluZSBVRENDUkQgICAgICAgICAgX19SRUcoMHg0MDYwMDQxMCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEQgKi8KKyNkZWZpbmUgVURDQ1JFICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MTQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBFICovCisjZGVmaW5lIFVEQ0NSRiAgICAgICAgICBfX1JFRygweDQwNjAwNDE4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRiAqLworI2RlZmluZSBVRENDUkcgICAgICAgICAgX19SRUcoMHg0MDYwMDQxQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEcgKi8KKyNkZWZpbmUgVURDQ1JIICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MjApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBIICovCisjZGVmaW5lIFVEQ0NSSSAgICAgICAgICBfX1JFRygweDQwNjAwNDI0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSSAqLworI2RlZmluZSBVRENDUkogICAgICAgICAgX19SRUcoMHg0MDYwMDQyOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEogKi8KKyNkZWZpbmUgVURDQ1JLICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MkMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBLICovCisjZGVmaW5lIFVEQ0NSTCAgICAgICAgICBfX1JFRygweDQwNjAwNDMwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQTCAqLworI2RlZmluZSBVRENDUk0gICAgICAgICAgX19SRUcoMHg0MDYwMDQzNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUE0gKi8KKyNkZWZpbmUgVURDQ1JOICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MzgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBOICovCisjZGVmaW5lIFVEQ0NSUCAgICAgICAgICBfX1JFRygweDQwNjAwNDNDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUCAqLworI2RlZmluZSBVRENDUlEgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0MCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFEgKi8KKyNkZWZpbmUgVURDQ1JSICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NDQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBSICovCisjZGVmaW5lIFVEQ0NSUyAgICAgICAgICBfX1JFRygweDQwNjAwNDQ4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUyAqLworI2RlZmluZSBVRENDUlQgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0QykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFQgKi8KKyNkZWZpbmUgVURDQ1JVICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NTApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBVICovCisjZGVmaW5lIFVEQ0NSViAgICAgICAgICBfX1JFRygweDQwNjAwNDU0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQViAqLworI2RlZmluZSBVRENDUlcgICAgICAgICAgX19SRUcoMHg0MDYwMDQ1OCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFcgKi8KKyNkZWZpbmUgVURDQ1JYICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NUMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBYICovCisKKyNkZWZpbmUgVURDQ09OUl9DTgkoMHgwMyA8PCAyNSkJLyogQ29uZmlndXJhdGlvbiBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ09OUl9DTl9TCSgyNSkKKyNkZWZpbmUgVURDQ09OUl9JTgkoMHgwNyA8PCAyMikJLyogSW50ZXJmYWNlIE51bWJlciAqLworI2RlZmluZSBVRENDT05SX0lOX1MJKDIyKQorI2RlZmluZSBVRENDT05SX0FJU04JKDB4MDcgPDwgMTkpCS8qIEFsdGVybmF0ZSBJbnRlcmZhY2UgTnVtYmVyICovCisjZGVmaW5lIFVEQ0NPTlJfQUlTTl9TCSgxOSkKKyNkZWZpbmUgVURDQ09OUl9FTgkoMHgwZiA8PCAxNSkJLyogRW5kcG9pbnQgTnVtYmVyICovCisjZGVmaW5lIFVEQ0NPTlJfRU5fUwkoMTUpCisjZGVmaW5lIFVEQ0NPTlJfRVQJKDB4MDMgPDwgMTMpCS8qIEVuZHBvaW50IFR5cGU6ICovCisjZGVmaW5lIFVEQ0NPTlJfRVRfUwkoMTMpCisjZGVmaW5lIFVEQ0NPTlJfRVRfSU5UCSgweDAzIDw8IDEzKQkvKiAgIEludGVycnVwdCAqLworI2RlZmluZSBVRENDT05SX0VUX0JVTEsJKDB4MDIgPDwgMTMpCS8qICAgQnVsayAqLworI2RlZmluZSBVRENDT05SX0VUX0lTTwkoMHgwMSA8PCAxMykJLyogICBJc29jaHJvbm91cyAqLworI2RlZmluZSBVRENDT05SX0VUX05VCSgweDAwIDw8IDEzKQkvKiAgIE5vdCB1c2VkICovCisjZGVmaW5lIFVEQ0NPTlJfRUQJKDEgPDwgMTIpCS8qIEVuZHBvaW50IERpcmVjdGlvbiAqLworI2RlZmluZSBVRENDT05SX01QUwkoMHgzZmYgPDwgMikJLyogTWF4aW11bSBQYWNrZXQgU2l6ZSAqLworI2RlZmluZSBVRENDT05SX01QU19TCSgyKQorI2RlZmluZSBVRENDT05SX0RFCSgxIDw8IDEpCS8qIERvdWJsZSBCdWZmZXJpbmcgRW5hYmxlICovCisjZGVmaW5lIFVEQ0NPTlJfRUUJKDEgPDwgMCkJLyogRW5kcG9pbnQgRW5hYmxlICovCisKKworI2RlZmluZSBVRENfSU5UX0ZJRk9FUlJPUiAgKDB4MikKKyNkZWZpbmUgVURDX0lOVF9QQUNLRVRDTVAgICgweDEpCisKKyNkZWZpbmUgVURDX0ZOUl9NQVNLICAgICAoMHg3ZmYpCisKKyNkZWZpbmUgVURDQ1NSX1dSX01BU0sgICAoVURDQ1NSX0RNRXxVRENDU1JfRlNUKQorI2RlZmluZSBVRENfQkNSX01BU0sgICAgKDB4M2ZmKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1ncGlvLmgKaW5kZXggYjgxY2Q2My4uNmVmMWRkMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1ncGlvLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1ncGlvLmgKQEAgLTEsNiArMSw4IEBACiAjaWZuZGVmIF9fQVNNX0FSQ0hfUFhBMlhYX0dQSU9fSAogI2RlZmluZSBfX0FTTV9BUkNIX1BYQTJYWF9HUElPX0gKIAorI3dhcm5pbmcgUGxlYXNlIHVzZSBtZnAtcHhhMls1N114LmggaW5zdGVhZCBvZiBweGEyeHgtZ3Bpby5oCisKIC8qIEdQSU8gYWx0ZXJuYXRlIGZ1bmN0aW9uIGFzc2lnbm1lbnRzICovCiAKICNkZWZpbmUgR1BJTzFfUlNUCQkxCS8qIHJlc2V0ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LXJlZ3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtcmVncy5oCmluZGV4IDk1NTNiNTQuLjczZTBhMzIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtcmVncy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtcmVncy5oCkBAIC04MSw0ICs4MSwxNjYgQEAKIAogI2VuZGlmCiAKKworLyoKKyAqIFBvd2VyIE1hbmFnZXIKKyAqLworCisjZGVmaW5lIFBNQ1IJCV9fUkVHKDB4NDBGMDAwMDApICAvKiBQb3dlciBNYW5hZ2VyIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFNTUgkJX19SRUcoMHg0MEYwMDAwNCkgIC8qIFBvd2VyIE1hbmFnZXIgU2xlZXAgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFBTUFIJCV9fUkVHKDB4NDBGMDAwMDgpICAvKiBQb3dlciBNYW5hZ2VyIFNjcmF0Y2ggUGFkIFJlZ2lzdGVyICovCisjZGVmaW5lIFBXRVIJCV9fUkVHKDB4NDBGMDAwMEMpICAvKiBQb3dlciBNYW5hZ2VyIFdha2UtdXAgRW5hYmxlIFJlZ2lzdGVyICovCisjZGVmaW5lIFBSRVIJCV9fUkVHKDB4NDBGMDAwMTApICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gUmlzaW5nLUVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAqLworI2RlZmluZSBQRkVSCQlfX1JFRygweDQwRjAwMDE0KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIEZhbGxpbmctRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyICovCisjZGVmaW5lIFBFRFIJCV9fUkVHKDB4NDBGMDAwMTgpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gRWRnZSBEZXRlY3QgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFBDRlIJCV9fUkVHKDB4NDBGMDAwMUMpICAvKiBQb3dlciBNYW5hZ2VyIEdlbmVyYWwgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworI2RlZmluZSBQR1NSMAkJX19SRUcoMHg0MEYwMDAyMCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbMzEtMF0gKi8KKyNkZWZpbmUgUEdTUjEJCV9fUkVHKDB4NDBGMDAwMjQpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzYzLTMyXSAqLworI2RlZmluZSBQR1NSMgkJX19SRUcoMHg0MEYwMDAyOCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbODQtNjRdICovCisjZGVmaW5lIFBHU1IzCQlfX1JFRygweDQwRjAwMDJDKSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFsxMTgtOTZdICovCisjZGVmaW5lIFJDU1IJCV9fUkVHKDB4NDBGMDAwMzApICAvKiBSZXNldCBDb250cm9sbGVyIFN0YXR1cyBSZWdpc3RlciAqLworCisjZGVmaW5lIFBTTFIJCV9fUkVHKDB4NDBGMDAwMzQpCS8qIFBvd2VyIE1hbmFnZXIgU2xlZXAgQ29uZmlnIFJlZ2lzdGVyICovCisjZGVmaW5lIFBTVFIJCV9fUkVHKDB4NDBGMDAwMzgpCS8qIFBvd2VyIE1hbmFnZXIgU3RhbmRieSBDb25maWcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFNOUgkJX19SRUcoMHg0MEYwMDAzQykJLyogUG93ZXIgTWFuYWdlciBTZW5zZSBDb25maWcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFZDUgkJX19SRUcoMHg0MEYwMDA0MCkJLyogUG93ZXIgTWFuYWdlciBWb2x0YWdlQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBQS1dSCQlfX1JFRygweDQwRjAwMDUwKQkvKiBQb3dlciBNYW5hZ2VyIEtCIFdha2UtdXAgRW5hYmxlIFJlZyAqLworI2RlZmluZSBQS1NSCQlfX1JFRygweDQwRjAwMDU0KQkvKiBQb3dlciBNYW5hZ2VyIEtCIExldmVsLURldGVjdCBSZWdpc3RlciAqLworI2RlZmluZSBQQ01EKHgpCV9fUkVHMigweDQwRjAwMDgwLCAoeCk8PDIpCisjZGVmaW5lIFBDTUQwCV9fUkVHKDB4NDBGMDAwODAgKyAwICogNCkKKyNkZWZpbmUgUENNRDEJX19SRUcoMHg0MEYwMDA4MCArIDEgKiA0KQorI2RlZmluZSBQQ01EMglfX1JFRygweDQwRjAwMDgwICsgMiAqIDQpCisjZGVmaW5lIFBDTUQzCV9fUkVHKDB4NDBGMDAwODAgKyAzICogNCkKKyNkZWZpbmUgUENNRDQJX19SRUcoMHg0MEYwMDA4MCArIDQgKiA0KQorI2RlZmluZSBQQ01ENQlfX1JFRygweDQwRjAwMDgwICsgNSAqIDQpCisjZGVmaW5lIFBDTUQ2CV9fUkVHKDB4NDBGMDAwODAgKyA2ICogNCkKKyNkZWZpbmUgUENNRDcJX19SRUcoMHg0MEYwMDA4MCArIDcgKiA0KQorI2RlZmluZSBQQ01EOAlfX1JFRygweDQwRjAwMDgwICsgOCAqIDQpCisjZGVmaW5lIFBDTUQ5CV9fUkVHKDB4NDBGMDAwODAgKyA5ICogNCkKKyNkZWZpbmUgUENNRDEwCV9fUkVHKDB4NDBGMDAwODAgKyAxMCAqIDQpCisjZGVmaW5lIFBDTUQxMQlfX1JFRygweDQwRjAwMDgwICsgMTEgKiA0KQorI2RlZmluZSBQQ01EMTIJX19SRUcoMHg0MEYwMDA4MCArIDEyICogNCkKKyNkZWZpbmUgUENNRDEzCV9fUkVHKDB4NDBGMDAwODAgKyAxMyAqIDQpCisjZGVmaW5lIFBDTUQxNAlfX1JFRygweDQwRjAwMDgwICsgMTQgKiA0KQorI2RlZmluZSBQQ01EMTUJX19SRUcoMHg0MEYwMDA4MCArIDE1ICogNCkKKyNkZWZpbmUgUENNRDE2CV9fUkVHKDB4NDBGMDAwODAgKyAxNiAqIDQpCisjZGVmaW5lIFBDTUQxNwlfX1JFRygweDQwRjAwMDgwICsgMTcgKiA0KQorI2RlZmluZSBQQ01EMTgJX19SRUcoMHg0MEYwMDA4MCArIDE4ICogNCkKKyNkZWZpbmUgUENNRDE5CV9fUkVHKDB4NDBGMDAwODAgKyAxOSAqIDQpCisjZGVmaW5lIFBDTUQyMAlfX1JFRygweDQwRjAwMDgwICsgMjAgKiA0KQorI2RlZmluZSBQQ01EMjEJX19SRUcoMHg0MEYwMDA4MCArIDIxICogNCkKKyNkZWZpbmUgUENNRDIyCV9fUkVHKDB4NDBGMDAwODAgKyAyMiAqIDQpCisjZGVmaW5lIFBDTUQyMwlfX1JFRygweDQwRjAwMDgwICsgMjMgKiA0KQorI2RlZmluZSBQQ01EMjQJX19SRUcoMHg0MEYwMDA4MCArIDI0ICogNCkKKyNkZWZpbmUgUENNRDI1CV9fUkVHKDB4NDBGMDAwODAgKyAyNSAqIDQpCisjZGVmaW5lIFBDTUQyNglfX1JFRygweDQwRjAwMDgwICsgMjYgKiA0KQorI2RlZmluZSBQQ01EMjcJX19SRUcoMHg0MEYwMDA4MCArIDI3ICogNCkKKyNkZWZpbmUgUENNRDI4CV9fUkVHKDB4NDBGMDAwODAgKyAyOCAqIDQpCisjZGVmaW5lIFBDTUQyOQlfX1JFRygweDQwRjAwMDgwICsgMjkgKiA0KQorI2RlZmluZSBQQ01EMzAJX19SRUcoMHg0MEYwMDA4MCArIDMwICogNCkKKyNkZWZpbmUgUENNRDMxCV9fUkVHKDB4NDBGMDAwODAgKyAzMSAqIDQpCisKKyNkZWZpbmUgUENNRF9NQkMJKDE8PDEyKQorI2RlZmluZSBQQ01EX0RDRQkoMTw8MTEpCisjZGVmaW5lIFBDTURfTEMJKDE8PDEwKQorLyogRklYTUU6ICBQQ01EX1NRQyBuZWVkIGJlIGNoZWNrZWQuICAgKi8KKyNkZWZpbmUgUENNRF9TUUMJKDM8PDgpCS8qIGN1cnJlbnRseSBvbmx5IGJpdCA4IGlzIGNoYW5nZWFibGUsCisJCQkJICAgYml0IDkgc2hvdWxkIGJlIDAgYWxsIGRheS4gKi8KKyNkZWZpbmUgUFZDUl9WQ1NBCSgweDE8PDE0KQorI2RlZmluZSBQVkNSX0NvbW1hbmREZWxheSAoMHhmODApCisjZGVmaW5lIFBDRlJfUEkyQ19FTgkoMHgxIDw8IDYpCisKKyNkZWZpbmUgUFNTUl9PVEdQSAkoMSA8PCA2KQkvKiBPVEcgUGVyaXBoZXJhbCBjb250cm9sIEhvbGQgKi8KKyNkZWZpbmUgUFNTUl9SREgJKDEgPDwgNSkJLyogUmVhZCBEaXNhYmxlIEhvbGQgKi8KKyNkZWZpbmUgUFNTUl9QSAkJKDEgPDwgNCkJLyogUGVyaXBoZXJhbCBDb250cm9sIEhvbGQgKi8KKyNkZWZpbmUgUFNTUl9TVFMJKDEgPDwgMykJLyogU3RhbmRieSBNb2RlIFN0YXR1cyAqLworI2RlZmluZSBQU1NSX1ZGUwkoMSA8PCAyKQkvKiBWREQgRmF1bHQgU3RhdHVzICovCisjZGVmaW5lIFBTU1JfQkZTCSgxIDw8IDEpCS8qIEJhdHRlcnkgRmF1bHQgU3RhdHVzICovCisjZGVmaW5lIFBTU1JfU1NTCSgxIDw8IDApCS8qIFNvZnR3YXJlIFNsZWVwIFN0YXR1cyAqLworCisjZGVmaW5lIFBTTFJfU0xfUk9ECSgxIDw8IDIwKQkvKiBTbGVlcC1Nb2RlL0RlcHAtU2xlZXAgTW9kZSBuUkVTRVRfT1VUIERpc2FibGUgKi8KKworI2RlZmluZSBQQ0ZSX1JPCQkoMSA8PCAxNSkJLyogUkRIIE92ZXJyaWRlICovCisjZGVmaW5lIFBDRlJfUE8JCSgxIDw8IDE0KQkvKiBQSCBPdmVycmlkZSAqLworI2RlZmluZSBQQ0ZSX0dQUk9ECSgxIDw8IDEyKQkvKiBHUElPIG5SRVNFVF9PVVQgRGlzYWJsZSAqLworI2RlZmluZSBQQ0ZSX0wxX0VOCSgxIDw8IDExKQkvKiBTbGVlcCBNb2RlIEwxIGNvbnZlcnRlciBFbmFibGUgKi8KKyNkZWZpbmUgUENGUl9GVkMJKDEgPDwgMTApCS8qIEZyZXF1ZW5jeS9Wb2x0YWdlIENoYW5nZSAqLworI2RlZmluZSBQQ0ZSX0RDX0VOCSgxIDw8IDcpCS8qIFNsZWVwL2RlZXAtc2xlZXAgREMtREMgQ29udmVydGVyIEVuYWJsZSAqLworI2RlZmluZSBQQ0ZSX1BJMkNFTgkoMSA8PCA2KQkvKiBFbmFibGUgUEkyQyBjb250cm9sbGVyICovCisjZGVmaW5lIFBDRlJfR1BSX0VOCSgxIDw8IDQpCS8qIG5SRVNFVF9HUElPIFBpbiBFbmFibGUgKi8KKyNkZWZpbmUgUENGUl9EUwkJKDEgPDwgMykJLyogRGVlcCBTbGVlcCBNb2RlICovCisjZGVmaW5lIFBDRlJfRlMJCSgxIDw8IDIpCS8qIEZsb2F0IFN0YXRpYyBDaGlwIFNlbGVjdHMgKi8KKyNkZWZpbmUgUENGUl9GUAkJKDEgPDwgMSkJLyogRmxvYXQgUENNQ0lBIGNvbnRyb2xzICovCisjZGVmaW5lIFBDRlJfT1BERQkoMSA8PCAwKQkvKiAzLjY4NjQgTUh6IG9zY2lsbGF0b3IgcG93ZXItZG93biBlbmFibGUgKi8KKworI2RlZmluZSBSQ1NSX0dQUgkoMSA8PCAzKQkvKiBHUElPIFJlc2V0ICovCisjZGVmaW5lIFJDU1JfU01SCSgxIDw8IDIpCS8qIFNsZWVwIE1vZGUgKi8KKyNkZWZpbmUgUkNTUl9XRFIJKDEgPDwgMSkJLyogV2F0Y2hkb2cgUmVzZXQgKi8KKyNkZWZpbmUgUkNTUl9IV1IJKDEgPDwgMCkJLyogSGFyZHdhcmUgUmVzZXQgKi8KKworI2RlZmluZSBQV0VSX0dQSU8oTmIpCSgxIDw8IE5iKQkvKiBHUElPIFswLi4xNV0gd2FrZS11cCBlbmFibGUgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzAJUFdFUl9HUElPICgwKQkvKiBHUElPICBbMF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzEJUFdFUl9HUElPICgxKQkvKiBHUElPICBbMV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzIJUFdFUl9HUElPICgyKQkvKiBHUElPICBbMl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzMJUFdFUl9HUElPICgzKQkvKiBHUElPICBbM10gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzQJUFdFUl9HUElPICg0KQkvKiBHUElPICBbNF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzUJUFdFUl9HUElPICg1KQkvKiBHUElPICBbNV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzYJUFdFUl9HUElPICg2KQkvKiBHUElPICBbNl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzcJUFdFUl9HUElPICg3KQkvKiBHUElPICBbN10gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzgJUFdFUl9HUElPICg4KQkvKiBHUElPICBbOF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzkJUFdFUl9HUElPICg5KQkvKiBHUElPICBbOV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzEwCVBXRVJfR1BJTyAoMTApCS8qIEdQSU8gWzEwXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMTEJUFdFUl9HUElPICgxMSkJLyogR1BJTyBbMTFdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xMglQV0VSX0dQSU8gKDEyKQkvKiBHUElPIFsxMl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzEzCVBXRVJfR1BJTyAoMTMpCS8qIEdQSU8gWzEzXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMTQJUFdFUl9HUElPICgxNCkJLyogR1BJTyBbMTRdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xNQlQV0VSX0dQSU8gKDE1KQkvKiBHUElPIFsxNV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfUlRDCTB4ODAwMDAwMDAJLyogUlRDIGFsYXJtIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworCisvKgorICogUFhBMnh4IHNwZWNpZmljIENvcmUgY2xvY2sgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBDQ0NSCQlfX1JFRygweDQxMzAwMDAwKSAgLyogQ29yZSBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisjZGVmaW5lIENDU1IJCV9fUkVHKDB4NDEzMDAwMEMpICAvKiBDb3JlIENsb2NrIFN0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBDS0VOCQlfX1JFRygweDQxMzAwMDA0KSAgLyogQ2xvY2sgRW5hYmxlIFJlZ2lzdGVyICovCisjZGVmaW5lIE9TQ0MJCV9fUkVHKDB4NDEzMDAwMDgpICAvKiBPc2NpbGxhdG9yIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKworI2RlZmluZSBDQ0NSX05fTUFTSwkweDAzODAJLyogUnVuIE1vZGUgRnJlcXVlbmN5IHRvIFR1cmJvIE1vZGUgRnJlcXVlbmN5IE11bHRpcGxpZXIgKi8KKyNkZWZpbmUgQ0NDUl9NX01BU0sJMHgwMDYwCS8qIE1lbW9yeSBGcmVxdWVuY3kgdG8gUnVuIE1vZGUgRnJlcXVlbmN5IE11bHRpcGxpZXIgKi8KKyNkZWZpbmUgQ0NDUl9MX01BU0sJMHgwMDFmCS8qIENyeXN0YWwgRnJlcXVlbmN5IHRvIE1lbW9yeSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLworCisjZGVmaW5lIENLRU5fQUM5N0NPTkYgICAoMzEpICAgIC8qIEFDOTcgQ29udHJvbGxlciBDb25maWd1cmF0aW9uICovCisjZGVmaW5lIENLRU5fQ0FNRVJBCSgyNCkJLyogQ2FtZXJhIEludGVyZmFjZSBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9TU1AxCSgyMykJLyogU1NQMSBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX01FTUMJKDIyKQkvKiBNZW1vcnkgQ29udHJvbGxlciBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9NRU1TVEsJKDIxKQkvKiBNZW1vcnkgU3RpY2sgSG9zdCBDb250cm9sbGVyICovCisjZGVmaW5lIENLRU5fSU0JCSgyMCkJLyogSW50ZXJuYWwgTWVtb3J5IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0tFWVBBRAkoMTkpCS8qIEtleXBhZCBJbnRlcmZhY2UgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fVVNJTQkoMTgpCS8qIFVTSU0gVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9NU0wJKDE3KQkvKiBNU0wgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9MQ0QJKDE2KQkvKiBMQ0QgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9QV1JJMkMJKDE1KQkvKiBQV1IgSTJDIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fSTJDCSgxNCkJLyogSTJDIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fRklDUAkoMTMpCS8qIEZJQ1AgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9NTUMJKDEyKQkvKiBNTUMgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9VU0IJKDExKQkvKiBVU0IgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9BU1NQCSgxMCkJLyogQVNTUCAoU1NQMykgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fVVNCSE9TVAkoMTApCS8qIFVTQiBIb3N0IFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fT1NUSU1FUgkoOSkJLyogT1MgVGltZXIgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9OU1NQCSg5KQkvKiBOU1NQIChTU1AyKSBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9JMlMJKDgpCS8qIEkyUyBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0JUVUFSVAkoNykJLyogQlRVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fRkZVQVJUCSg2KQkvKiBGRlVBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9TVFVBUlQJKDUpCS8qIFNUVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0hXVUFSVAkoNCkJLyogSFdVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fU1NQMwkoNCkJLyogU1NQMyBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1NTUAkoMykJLyogU1NQIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fU1NQMgkoMykJLyogU1NQMiBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0FDOTcJKDIpCS8qIEFDOTcgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9QV00xCSgxKQkvKiBQV00xIENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1BXTTAJKDApCS8qIFBXTTAgQ2xvY2sgRW5hYmxlICovCisKKyNkZWZpbmUgT1NDQ19PT04JKDEgPDwgMSkJLyogMzIuNzY4a0h6IE9PTiAod3JpdGUtb25jZSBvbmx5IGJpdCkgKi8KKyNkZWZpbmUgT1NDQ19PT0sJKDEgPDwgMCkJLyogMzIuNzY4a0h6IE9PSyAocmVhZC1vbmx5IGJpdCkgKi8KKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvc3lzdGVtLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvc3lzdGVtLmgKaW5kZXggOWFhNmMyZS4uYmE3ZTEzMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3N5c3RlbS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9zeXN0ZW0uaApAQCAtMTIsNiArMTIsNyBAQAogCiAjaW5jbHVkZSA8YXNtL3Byb2MtZm5zLmg+CiAjaW5jbHVkZSAiaGFyZHdhcmUuaCIKKyNpbmNsdWRlICJweGEyeHgtcmVncy5oIgogI2luY2x1ZGUgInB4YS1yZWdzLmgiCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2lkbGUodm9pZCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS96eWxvbml0ZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3p5bG9uaXRlLmgKaW5kZXggNDg4MWI4MC4uZGU1NzdkZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3p5bG9uaXRlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3p5bG9uaXRlLmgKQEAgLTE1LDcgKzE1LDYgQEAKIAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9tbWNfc2xvdCB6eWxvbml0ZV9tbWNfc2xvdFtdOwogCi1leHRlcm4gaW50IGdwaW9fYmFja2xpZ2h0OwogZXh0ZXJuIGludCBncGlvX2V0aF9pcnE7CiAKIGV4dGVybiBpbnQgd205NzEzX2lycTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXJwYy9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcnBjL2lvLmgKaW5kZXggYjRkYTA4ZC4uNmJkMjI5NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcnBjL2lvLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcnBjL2lvLmgKQEAgLTEyNiw3ICsxMjYsNyBAQAogCXJldHVybiAodW5zaWduZWQgc3opdmFsdWU7CQkJCQkJXAogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqX19pb2FkZHIodW5zaWduZWQgaW50IHBvcnQpCitzdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqX19kZXByZWNhdGVkIF9faW9hZGRyKHVuc2lnbmVkIGludCBwb3J0KQogewogCXZvaWQgX19pb21lbSAqcmV0OwogCWlmIChfX1BPUlRfUENJTyhwb3J0KSkKQEAgLTIzMiw4ICsyMzIsNyBAQAogCXJlc3VsdDsJCQkJCQkJCQlcCiB9KQogCi0jZGVmaW5lIF9faW9hZGRyYyhwb3J0KQkJXAotCSgoX19QT1JUX1BDSU8ocG9ydCkgPyBQQ0lPX0JBU0UgOiBJT19CQVNFKSArICgocG9ydCkgPDwgMikpCisjZGVmaW5lIF9faW9hZGRyYyhwb3J0KQkJX19pb2FkZHIocG9ydCkKIAogI2RlZmluZSBpbmIocCkJIAkoX19idWlsdGluX2NvbnN0YW50X3AoKHApKSA/IF9faW5iYyhwKSAgICA6IF9faW5iKHApKQogI2RlZmluZSBpbncocCkJIAkoX19idWlsdGluX2NvbnN0YW50X3AoKHApKSA/IF9faW53YyhwKSAgICA6IF9faW53KHApKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaAppbmRleCA3NTgzODk1Li4xOGUxMGQyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaApAQCAtMSw2OCArMSwxOCBAQAotLyoKLSAqIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oCisvKiBsaW51eC9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaAogICoKLSAqIFMzQzI0MTAgR1BJTyB3cmFwcGVycyBmb3IgYXJjaC1uZXV0cmFsIEdQSU8gY2FsbHMKKyAqIENvcHlyaWdodCAoYykgMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKglCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CiAgKgotICogV3JpdHRlbiBieSBQaGlsaXBwIFphYmVsIDxwaGlsaXBwLnphYmVsQGdtYWlsLmNvbT4KKyAqIFMzQzI0MTAgLSBHUElPIGxpYiBzdXBwb3J0CiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQotICoKLSAqLworICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KIAotI2lmbmRlZiBfX0FTTV9BUkNIX1MzQzI0MTBfR1BJT19ICi0jZGVmaW5lIF9fQVNNX0FSQ0hfUzNDMjQxMF9HUElPX0gKKyNkZWZpbmUgZ3Bpb19nZXRfdmFsdWUJX19ncGlvX2dldF92YWx1ZQorI2RlZmluZSBncGlvX3NldF92YWx1ZQlfX2dwaW9fc2V0X3ZhbHVlCisjZGVmaW5lIGdwaW9fY2Fuc2xlZXAJX19ncGlvX2NhbnNsZWVwCiAKLSNpbmNsdWRlIDxhc20vaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1ncGlvLmg+Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGdwaW9fcmVxdWVzdCh1bnNpZ25lZCBncGlvLCBjb25zdCBjaGFyICpsYWJlbCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGdwaW9fZnJlZSh1bnNpZ25lZCBncGlvKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZ3Bpb19kaXJlY3Rpb25faW5wdXQodW5zaWduZWQgZ3BpbykKLXsKLQlzM2MyNDEwX2dwaW9fY2ZncGluKGdwaW8sIFMzQzI0MTBfR1BJT19JTlBVVCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGdwaW9fZGlyZWN0aW9uX291dHB1dCh1bnNpZ25lZCBncGlvLCBpbnQgdmFsdWUpCi17Ci0JczNjMjQxMF9ncGlvX2NmZ3BpbihncGlvLCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKLQkvKiBSRVZJU0lUIGNhbiB3ZSB3cml0ZSB0aGUgdmFsdWUgZmlyc3QsIHRvIGF2b2lkIGdsaXRjaGluZz8gKi8KLQlzM2MyNDEwX2dwaW9fc2V0cGluKGdwaW8sIHZhbHVlKTsKLQlyZXR1cm4gMDsKLX0KLQotI2RlZmluZSBncGlvX2dldF92YWx1ZShncGlvKQkJczNjMjQxMF9ncGlvX2dldHBpbihncGlvKQotI2RlZmluZSBncGlvX3NldF92YWx1ZShncGlvLHZhbHVlKQlzM2MyNDEwX2dwaW9fc2V0cGluKGdwaW8sIHZhbHVlKQotCi0jaW5jbHVkZSA8YXNtLWdlbmVyaWMvZ3Bpby5oPgkJCS8qIGNhbnNsZWVwIHdyYXBwZXJzICovCi0KLSNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0MDAKLSNkZWZpbmUgZ3Bpb190b19pcnEoZ3BpbykJCXMzYzI0MDBfZ3Bpb19nZXRpcnEoZ3BpbykKLSNlbHNlCi0jZGVmaW5lIGdwaW9fdG9faXJxKGdwaW8pCQlzM2MyNDEwX2dwaW9fZ2V0aXJxKGdwaW8pCi0jZW5kaWYKLQotLyogRklYTUUgaW1wbGVtZW50IGlycV90b19ncGlvKCkgKi8KLQotI2VuZGlmCisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvZ3Bpby5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9yZWdzLWNsb2NrLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL3JlZ3MtY2xvY2suaAppbmRleCBlY2FlOWU3Li4zNzY2MTM1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL3JlZ3MtY2xvY2suaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL3JlZ3MtY2xvY2suaApAQCAtMTg5LDYgKzE4OSw4IEBACiAjZGVmaW5lIFMzQzI0MTJfQ0xLU1JDX0kyU0NMS19NUExMCQkoMTw8OSkKICNkZWZpbmUgUzNDMjQxMl9DTEtTUkNfVVNCQ0xLX0hDTEsJCSgxPDwxMCkKICNkZWZpbmUgUzNDMjQxMl9DTEtTUkNfQ0FNQ0xLX0hDTEsJCSgxPDwxMSkKKyNkZWZpbmUgUzNDMjQxMl9DTEtTUkNfVVJFRkNMS19FWFRDTEsJKDE8PDEyKQorI2RlZmluZSBTM0MyNDEyX0NMS1NSQ19FUkVGQ0xLX0VYVENMSwkoMTw8MTQpCiAKICNlbmRpZiAvKiBDT05GSUdfQ1BVX1MzQzI0MTIgfCBDT05GSUdfQ1BVX1MzQzI0MTMgKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2Fzc2VtYmxlci5oIGIvaW5jbHVkZS9hc20tYXJtL2Fzc2VtYmxlci5oCmluZGV4IGZjZTgzMjguLjkxMTM5M2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hc3NlbWJsZXIuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXNzZW1ibGVyLmgKQEAgLTU2LDYgKzU2LDIxIEBACiAjZW5kaWYKIAogLyoKKyAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gZW5hYmxlIGNvZGUgdG8gY2FjaGVsaW5lIGFsaWduIHRoZSBkZXN0aW5hdGlvbgorICogcG9pbnRlciB3aGVuIGJ1bGsgd3JpdGluZyB0byBtZW1vcnkuICBFeHBlcmltZW50cyBvbiBTdHJvbmdBUk0gYW5kCisgKiBYU2NhbGUgZGlkbid0IHNob3cgdGhpcyBhIHdvcnRod2hpbGUgdGhpbmcgdG8gZG8gd2hlbiB0aGUgY2FjaGUgaXMgbm90CisgKiBzZXQgdG8gd3JpdGUtYWxsb2NhdGUgKHRoaXMgd291bGQgbmVlZCBmdXJ0aGVyIHRlc3Rpbmcgb24gWFNjYWxlIHdoZW4gV0EKKyAqIGlzIHVzZWQpLgorICoKKyAqIE9uIEZlcm9jZW9uIHRoZXJlIGlzIG11Y2ggdG8gZ2FpbiBob3dldmVyLCByZWdhcmRsZXNzIG9mIGNhY2hlIG1vZGUuCisgKi8KKyNpZmRlZiBDT05GSUdfQ1BVX0ZFUk9DRU9OCisjZGVmaW5lIENBTEdOKGNvZGUuLi4pIGNvZGUKKyNlbHNlCisjZGVmaW5lIENBTEdOKGNvZGUuLi4pCisjZW5kaWYKKworLyoKICAqIEVuYWJsZSBhbmQgZGlzYWJsZSBpbnRlcnJ1cHRzCiAgKi8KICNpZiBfX0xJTlVYX0FSTV9BUkNIX18gPj0gNgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2NhY2hlZmx1c2guaCBiL2luY2x1ZGUvYXNtLWFybS9jYWNoZWZsdXNoLmgKaW5kZXggNzU5YTk3Yi4uNzBiMGZlNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2NhY2hlZmx1c2guaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vY2FjaGVmbHVzaC5oCkBAIC05NSwxMSArOTUsNyBAQAogI2VuZGlmCiAKICNpZiBkZWZpbmVkKENPTkZJR19DUFVfRkVST0NFT04pCi0jIGlmZGVmIF9DQUNIRQotIyAgZGVmaW5lIE1VTFRJX0NBQ0hFIDEKLSMgZWxzZQotIyAgZGVmaW5lIF9DQUNIRSBmZXJvY2VvbgotIyBlbmRpZgorIyBkZWZpbmUgTVVMVElfQ0FDSEUgMQogI2VuZGlmCiAKICNpZiBkZWZpbmVkKENPTkZJR19DUFVfVjYpCkBAIC00MTAsNiArNDA2LDEzIEBACiAKIGV4dGVybiB2b2lkIF9fZmx1c2hfZGNhY2hlX3BhZ2Uoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIHN0cnVjdCBwYWdlICpwYWdlKTsKIAorc3RhdGljIGlubGluZSB2b2lkIF9fZmx1c2hfaWNhY2hlX2FsbCh2b2lkKQoreworCWFzbSgibWNyCXAxNSwgMCwgJTAsIGM3LCBjNSwgMAlAIGludmFsaWRhdGUgSS1jYWNoZVxuIgorCSAgICA6CisJICAgIDogInIiICgwKSk7Cit9CisKICNkZWZpbmUgQVJDSF9IQVNfRkxVU0hfQU5PTl9QQUdFCiBzdGF0aWMgaW5saW5lIHZvaWQgZmx1c2hfYW5vbl9wYWdlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogCQkJIHN0cnVjdCBwYWdlICpwYWdlLCB1bnNpZ25lZCBsb25nIHZtYWRkcikKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9keW50aWNrLmggYi9pbmNsdWRlL2FzbS1hcm0vZHludGljay5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOWZhYjJkLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLWFybS9keW50aWNrLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLSNpZm5kZWYgX0FTTUFSTV9EWU5USUNLX0gKLSNkZWZpbmUgX0FTTUFSTV9EWU5USUNLX0gKLQotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KLQotI2VuZGlmIC8qIF9BU01BUk1fRFlOVElDS19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vZWNhcmQuaCBiL2luY2x1ZGUvYXNtLWFybS9lY2FyZC5oCmluZGV4IDY4NGZlMDYuLjVlMjI4ODEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9lY2FyZC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9lY2FyZC5oCkBAIC04NSwxOSArODUsNiBAQAogCiAjZGVmaW5lIE1BWF9FQ0FSRFMJOQogCi10eXBlZGVmIGVudW0gewkJCQkvKiBDYXJkcyBhZGRyZXNzIHNwYWNlCQkqLwotCUVDQVJEX0lPQywKLQlFQ0FSRF9NRU1DLAotCUVDQVJEX0VBU0kKLX0gY2FyZF90eXBlX3Q7Ci0KLXR5cGVkZWYgZW51bSB7CQkJCS8qIFNwZWVkIGZvciBFQ0FSRF9JT0Mgc3BhY2UJKi8KLQlFQ0FSRF9TTE9XCSA9IDAsCi0JRUNBUkRfTUVESVVNCSA9IDEsCi0JRUNBUkRfRkFTVAkgPSAyLAotCUVDQVJEX1NZTkMJID0gMwotfSBjYXJkX3NwZWVkX3Q7Ci0KIHN0cnVjdCBlY2FyZF9pZCB7CQkJLyogQ2FyZCBJRCBzdHJ1Y3R1cmUJCSovCiAJdW5zaWduZWQgc2hvcnQJbWFudWZhY3R1cmVyOwogCXVuc2lnbmVkIHNob3J0CXByb2R1Y3Q7CkBAIC0xOTAsMTYgKzE3Nyw2IEBACiB9OwogCiAvKgotICogZWNhcmRfY2xhaW06IGNsYWltIGFuIGV4cGFuc2lvbiBjYXJkIGVudHJ5Ci0gKi8KLSNkZWZpbmUgZWNhcmRfY2xhaW0oZWMpICgoZWMpLT5jbGFpbWVkID0gMSkKLQotLyoKLSAqIGVjYXJkX3JlbGVhc2U6IHJlbGVhc2UgYW4gZXhwYW5zaW9uIGNhcmQgZW50cnkKLSAqLwotI2RlZmluZSBlY2FyZF9yZWxlYXNlKGVjKSAoKGVjKS0+Y2xhaW1lZCA9IDApCi0KLS8qCiAgKiBSZWFkIGEgY2h1bmsgZnJvbSBhbiBleHBhbnNpb24gY2FyZAogICogY2QgOiB3aGVyZSB0byBwdXQgcmVhZCBkYXRhCiAgKiBlYyA6IGV4cGFuc2lvbiBjYXJkIGluZm8gc3RydWN0CkBAIC0yMDksMTggKzE4Niw2IEBACiBleHRlcm4gaW50IGVjYXJkX3JlYWRjaHVuayAoc3RydWN0IGluX2NodW5rX2RpciAqY2QsIHN0cnVjdCBleHBhbnNpb25fY2FyZCAqZWMsIGludCBpZCwgaW50IG51bSk7CiAKIC8qCi0gKiBPYnRhaW4gdGhlIGFkZHJlc3Mgb2YgYSBjYXJkLiAgVGhpcyByZXR1cm5zIHRoZSAib2xkIHN0eWxlIiBhZGRyZXNzCi0gKiBhbmQgc2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkLgotICovCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBfX2RlcHJlY2F0ZWQKLWVjYXJkX2FkZHJlc3Moc3RydWN0IGV4cGFuc2lvbl9jYXJkICplYywgY2FyZF90eXBlX3QgdHlwZSwgY2FyZF9zcGVlZF90IHNwZWVkKQotewotCWV4dGVybiB1bnNpZ25lZCBpbnQgX19lY2FyZF9hZGRyZXNzKHN0cnVjdCBleHBhbnNpb25fY2FyZCAqLAotCQkJCQkgICAgY2FyZF90eXBlX3QsIGNhcmRfc3BlZWRfdCk7Ci0JcmV0dXJuIF9fZWNhcmRfYWRkcmVzcyhlYywgdHlwZSwgc3BlZWQpOwotfQotCi0vKgogICogUmVxdWVzdCBhbmQgcmVsZWFzZSBlY2FyZCByZXNvdXJjZXMKICAqLwogZXh0ZXJuIGludCBlY2FyZF9yZXF1ZXN0X3Jlc291cmNlcyhzdHJ1Y3QgZXhwYW5zaW9uX2NhcmQgKmVjKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9mdHJhY2UuaCBiL2luY2x1ZGUvYXNtLWFybS9mdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODRlZjlhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX0FTTV9BUk1fRlRSQUNFCisjZGVmaW5lIF9BU01fQVJNX0ZUUkFDRQorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2RlZmluZSBNQ09VTlRfQUREUgkJKChsb25nKShtY291bnQpKQorI2RlZmluZSBNQ09VTlRfSU5TTl9TSVpFCTQgLyogc2l6ZW9mIG1jb3VudCBjYWxsICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBtY291bnQodm9pZCk7CisjZW5kaWYKKworI2VuZGlmCisKKyNlbmRpZiAvKiBfQVNNX0FSTV9GVFJBQ0UgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9oYXJkd2FyZS9pb3AzeHgtZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXJtL2hhcmR3YXJlL2lvcDN4eC1ncGlvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM5MzMxZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9oYXJkd2FyZS9pb3AzeHgtZ3Bpby5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBsaW51eC9pbmNsdWRlL2FzbS1hcm0vaGFyZHdhcmUvaW9wM3h4LWdwaW8uaAorICoKKyAqIElPUDN4eCBHUElPIHdyYXBwZXJzCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEFybmF1ZCBQYXRhcmQgPGFybmF1ZC5wYXRhcmRAcnRwLW5ldC5vcmc+CisgKiBCYXNlZCBvbiBJWFA0WFggZ3Bpby5oIGZpbGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCisgKgorICovCisKKyNpZm5kZWYgX19BU01fQVJNX0hBUkRXQVJFX0lPUDNYWF9HUElPX0gKKyNkZWZpbmUgX19BU01fQVJNX0hBUkRXQVJFX0lPUDNYWF9HUElPX0gKKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS1nZW5lcmljL2dwaW8uaD4KKworI2RlZmluZSBJT1AzWFhfTl9HUElPUwk4CisKK3N0YXRpYyBpbmxpbmUgaW50IGdwaW9fZ2V0X3ZhbHVlKHVuc2lnbmVkIGdwaW8pCit7CisJaWYgKGdwaW8gPiBJT1AzWFhfTl9HUElPUykKKwkJcmV0dXJuIF9fZ3Bpb19nZXRfdmFsdWUoZ3Bpbyk7CisKKwlyZXR1cm4gZ3Bpb19saW5lX2dldChncGlvKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdwaW9fc2V0X3ZhbHVlKHVuc2lnbmVkIGdwaW8sIGludCB2YWx1ZSkKK3sKKwlpZiAoZ3BpbyA+IElPUDNYWF9OX0dQSU9TKSB7CisJCV9fZ3Bpb19zZXRfdmFsdWUoZ3BpbywgdmFsdWUpOworCQlyZXR1cm47CisJfQorCWdwaW9fbGluZV9zZXQoZ3BpbywgdmFsdWUpOworfQorCitzdGF0aWMgaW5saW5lIGludCBncGlvX2NhbnNsZWVwKHVuc2lnbmVkIGdwaW8pCit7CisJaWYgKGdwaW8gPCBJT1AzWFhfTl9HUElPUykKKwkJcmV0dXJuIDA7CisJZWxzZQorCQlyZXR1cm4gX19ncGlvX2NhbnNsZWVwKGdwaW8pOworfQorCisvKgorICogVGhlIEdQSU9zIGFyZSBub3QgZ2VuZXJhdGluZyBhbnkgaW50ZXJydXB0CisgKiBOb3RlIDogbWFudWFscyBhcmUgbm90IGNsZWFyIGFib3V0IHRoaXMKKyAqLworc3RhdGljIGlubGluZSBpbnQgZ3Bpb190b19pcnEoaW50IGdwaW8pCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGlycV90b19ncGlvKGludCBncGlvKQoreworCXJldHVybiAtRUlOVkFMOworfQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2h3X2lycS5oIGIvaW5jbHVkZS9hc20tYXJtL2h3X2lycS5oCmluZGV4IDk4ZDU5NGEuLmYxYTA4YTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9od19pcnEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vaHdfaXJxLmgKQEAgLTYsMTUgKzYsNCBAQAogCiAjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CiAKLSNpZiBkZWZpbmVkKENPTkZJR19OT19JRExFX0haKQotIyBpbmNsdWRlIDxhc20vZHludGljay5oPgotIyBkZWZpbmUgaGFuZGxlX2R5bmFtaWNfdGljayhhY3Rpb24pCQkJCQlcCi0JaWYgKCEoYWN0aW9uLT5mbGFncyAmIElSUUZfVElNRVIpICYmIHN5c3RlbV90aW1lci0+ZHluX3RpY2spIHsJXAotCQl3cml0ZV9zZXFsb2NrKCZ4dGltZV9sb2NrKTsJCQkJXAotCQlpZiAoc3lzdGVtX3RpbWVyLT5keW5fdGljay0+c3RhdGUgJiBEWU5fVElDS19FTkFCTEVEKQlcCi0JCQlzeXN0ZW1fdGltZXItPmR5bl90aWNrLT5oYW5kbGVyKGlycSwgTlVMTCk7CVwKLQkJd3JpdGVfc2VxdW5sb2NrKCZ4dGltZV9sb2NrKTsJCQkJXAotCX0KLSNlbmRpZgotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9rZXhlYy5oIGIvaW5jbHVkZS9hc20tYXJtL2tleGVjLmgKaW5kZXggNDdmZTM0ZC4uYzg5ODZiYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2tleGVjLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2tleGVjLmgKQEAgLTE0LDggKzE0LDYgQEAKIAogI2RlZmluZSBLRVhFQ19BUkNIIEtFWEVDX0FSQ0hfQVJNCiAKLSNkZWZpbmUgS0VYRUNfQk9PVF9QQVJBTVNfU0laRSAxNTM2Ci0KICNkZWZpbmUgS0VYRUNfQVJNX0FUQUdTX09GRlNFVCAgMHgxMDAwCiAjZGVmaW5lIEtFWEVDX0FSTV9aSU1BR0VfT0ZGU0VUIDB4ODAwMAogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0va3Byb2Jlcy5oIGIvaW5jbHVkZS9hc20tYXJtL2twcm9iZXMuaAppbmRleCBjMDQyMTk0Li5iMWEzNzg3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0va3Byb2Jlcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9rcHJvYmVzLmgKQEAgLTU5LDYgKzU5LDcgQEAKIH07CiAKIHZvaWQgYXJjaF9yZW1vdmVfa3Byb2JlKHN0cnVjdCBrcHJvYmUgKik7Cit2b2lkIGtyZXRwcm9iZV90cmFtcG9saW5lKHZvaWQpOwogCiBpbnQga3Byb2JlX3RyYXBfaGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgaW50IGluc3RyKTsKIGludCBrcHJvYmVfZmF1bHRfaGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgaW50IGZzcik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vbWFjaC90aW1lLmggYi9pbmNsdWRlL2FzbS1hcm0vbWFjaC90aW1lLmgKaW5kZXggNWRjMzU3MDEuLjJmZDM2ZWEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9tYWNoL3RpbWUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vbWFjaC90aW1lLmgKQEAgLTQxLDMwICs0MSw4IEBACiAjaWZuZGVmIENPTkZJR19HRU5FUklDX1RJTUUKIAl1bnNpZ25lZCBsb25nCQkoKm9mZnNldCkodm9pZCk7CiAjZW5kaWYKLQotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi0Jc3RydWN0IGR5bl90aWNrX3RpbWVyCSpkeW5fdGljazsKLSNlbmRpZgogfTsKIAotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi0KLSNkZWZpbmUgRFlOX1RJQ0tfRU5BQkxFRAkoMSA8PCAxKQotCi1zdHJ1Y3QgZHluX3RpY2tfdGltZXIgewotCXNwaW5sb2NrX3QJbG9jazsKLQl1bnNpZ25lZCBpbnQJc3RhdGU7CQkJLyogQ3VycmVudCBzdGF0ZSAqLwotCWludAkJKCplbmFibGUpKHZvaWQpOwkvKiBFbmFibGVzIGR5bmFtaWMgdGljayAqLwotCWludAkJKCpkaXNhYmxlKSh2b2lkKTsJLyogRGlzYWJsZXMgZHluYW1pYyB0aWNrICovCi0Jdm9pZAkJKCpyZXByb2dyYW0pKHVuc2lnbmVkIGxvbmcpOyAvKiBSZXByb2dyYW1zIHRoZSB0aW1lciAqLwotCWludAkJKCpoYW5kbGVyKShpbnQsIHZvaWQgKik7Ci19OwotCi12b2lkIHRpbWVyX2R5bl9yZXByb2dyYW0odm9pZCk7Ci0jZWxzZQotI2RlZmluZSB0aW1lcl9keW5fcmVwcm9ncmFtKCkJZG8geyB9IHdoaWxlICgwKQotI2VuZGlmCi0KIGV4dGVybiBzdHJ1Y3Qgc3lzX3RpbWVyICpzeXN0ZW1fdGltZXI7CiBleHRlcm4gdm9pZCB0aW1lcl90aWNrKHZvaWQpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vbW11X2NvbnRleHQuaCBiL2luY2x1ZGUvYXNtLWFybS9tbXVfY29udGV4dC5oCmluZGV4IDY5MTNkMDIuLjkxYjlkZmQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9tbXVfY29udGV4dC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9tbXVfY29udGV4dC5oCkBAIC05Nyw2ICs5NywxMSBAQAogI2lmZGVmIENPTkZJR19NTVUKIAl1bnNpZ25lZCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCisjaWZkZWYgQ09ORklHX1NNUAorCS8qIGNoZWNrIGZvciBwb3NzaWJsZSB0aHJlYWQgbWlncmF0aW9uICovCisJaWYgKCFjcHVzX2VtcHR5KG5leHQtPmNwdV92bV9tYXNrKSAmJiAhY3B1X2lzc2V0KGNwdSwgbmV4dC0+Y3B1X3ZtX21hc2spKQorCQlfX2ZsdXNoX2ljYWNoZV9hbGwoKTsKKyNlbmRpZgogCWlmICghY3B1X3Rlc3RfYW5kX3NldChjcHUsIG5leHQtPmNwdV92bV9tYXNrKSB8fCBwcmV2ICE9IG5leHQpIHsKIAkJY2hlY2tfY29udGV4dChuZXh0KTsKIAkJY3B1X3N3aXRjaF9tbShuZXh0LT5wZ2QsIG5leHQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaCBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE0ZTAxNgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmgKQEAgLTAsMCArMSwxMSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTWFydmVsbCBTZW1pY29uZHVjdG9yCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCitleHRlcm4gdm9pZCBfX2luaXQgZmVyb2Nlb25fbDJfaW5pdChpbnQgbDJfd3Rfb3ZlcnJpZGUpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oCmluZGV4IGZmZDM4NTIuLmFkNGNlOTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmgKQEAgLTE4LDYgKzE4LDcgQEAKIAl1OCBhbGU7CQkvKiBhZGRyZXNzIGxpbmUgbnVtYmVyIGNvbm5lY3RlZCB0byBBTEUgKi8KIAl1OCBjbGU7CQkvKiBhZGRyZXNzIGxpbmUgbnVtYmVyIGNvbm5lY3RlZCB0byBDTEUgKi8KIAl1OCB3aWR0aDsJLyogYnVzd2lkdGggKi8KKwl1OCBjaGlwX2RlbGF5OwogfTsKIAogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9wY2llLmggYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9wY2llLmgKaW5kZXggNjQzNGFjNi4uZTYxYjdiZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vcGNpZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL3BjaWUuaApAQCAtMTQsNiArMTQsNyBAQAogdTMyIG9yaW9uX3BjaWVfZGV2X2lkKHZvaWQgX19pb21lbSAqYmFzZSk7CiB1MzIgb3Jpb25fcGNpZV9yZXYodm9pZCBfX2lvbWVtICpiYXNlKTsKIGludCBvcmlvbl9wY2llX2xpbmtfdXAodm9pZCBfX2lvbWVtICpiYXNlKTsKK2ludCBvcmlvbl9wY2llX3g0X21vZGUodm9pZCBfX2lvbWVtICpiYXNlKTsKIGludCBvcmlvbl9wY2llX2dldF9sb2NhbF9idXNfbnIodm9pZCBfX2lvbWVtICpiYXNlKTsKIHZvaWQgb3Jpb25fcGNpZV9zZXRfbG9jYWxfYnVzX25yKHZvaWQgX19pb21lbSAqYmFzZSwgaW50IG5yKTsKIHZvaWQgb3Jpb25fcGNpZV9zZXR1cCh2b2lkIF9faW9tZW0gKmJhc2UsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MvcmVncy10aW1lci5oIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjL3JlZ3MtdGltZXIuaAppbmRleCA4YjBkNTk0Li5iNWJjNjkyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MvcmVncy10aW1lci5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYy9yZWdzLXRpbWVyLmgKQEAgLTY1LDYgKzY1LDE1IEBACiAjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYMF9UQ0xLMCAgKDQ8PDApCiAjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYMF9NQVNLCSAgKDE1PDwwKQogCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX0RJVjIJICAoMDw8MCkKKyNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9NVVhfRElWNAkgICgxPDwwKQorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9ESVY4CSAgKDI8PDApCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX0RJVjE2ICAgKDM8PDApCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX1RDTEsgICAgKDQ8PDApCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX01BU0sJICAoMTU8PDApCisKKyNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9TSElGVCh4KQkgICgoeCkgKiA0KQorCiAvKiBmb3IgZWFjaCB0aW1lciwgd2UgaGF2ZSBhbiBjb3VudCBidWZmZXIsIGFuIGNvbXBhcmUgYnVmZmVyIGFuZAogICogYW4gb2JzZXJ2YXRpb24gYnVmZmVyCiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjMjR4eC9kZXZzLmggYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MyNHh4L2RldnMuaAppbmRleCBmOWQ2ZjAzLi5iYWRhYWM5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MyNHh4L2RldnMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MyNHh4L2RldnMuaApAQCAtMjEsNiArMjEsOCBAQAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnMzYzI0eHhfdWFydF9kZXZzW107CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSAqczNjMjR4eF91YXJ0X3NyY1tdOwogCitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyW107CisKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdXNiOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV9sY2Q7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3dkdDsKQEAgLTM2LDExICszOCw2IEBACiAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfbmFuZDsKIAotZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcjA7Ci1leHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyMTsKLWV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIyOwotZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcjM7Ci0KIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdXNiZ2FkZ2V0OwogCiAvKiBzM2MyNDQwIHNwZWNpZmljIGRldmljZXMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9ydGMuaCBiL2luY2x1ZGUvYXNtLWFybS9ydGMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWE1YzkyMy4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vcnRjLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgotICogIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9ydGMuaAotICoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDMgRGVlcCBCbHVlIFNvbHV0aW9ucyBMdGQuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqLwotI2lmbmRlZiBBU01BUk1fUlRDX0gKLSNkZWZpbmUgQVNNQVJNX1JUQ19ICi0KLXN0cnVjdCBtb2R1bGU7Ci0KLXN0cnVjdCBydGNfb3BzIHsKLQlzdHJ1Y3QgbW9kdWxlCSpvd25lcjsKLQlpbnQJCSgqb3Blbikodm9pZCk7Ci0Jdm9pZAkJKCpyZWxlYXNlKSh2b2lkKTsKLQlpbnQJCSgqaW9jdGwpKHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZyk7Ci0KLQlpbnQJCSgqcmVhZF90aW1lKShzdHJ1Y3QgcnRjX3RpbWUgKik7Ci0JaW50CQkoKnNldF90aW1lKShzdHJ1Y3QgcnRjX3RpbWUgKik7Ci0JaW50CQkoKnJlYWRfYWxhcm0pKHN0cnVjdCBydGNfd2thbHJtICopOwotCWludAkJKCpzZXRfYWxhcm0pKHN0cnVjdCBydGNfd2thbHJtICopOwotCWludAkJKCpwcm9jKShjaGFyICpidWYpOwotfTsKLQotdm9pZCBydGNfbmV4dF9hbGFybV90aW1lKHN0cnVjdCBydGNfdGltZSAqLCBzdHJ1Y3QgcnRjX3RpbWUgKiwgc3RydWN0IHJ0Y190aW1lICopOwotdm9pZCBydGNfdXBkYXRlKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpOwotaW50IHJlZ2lzdGVyX3J0YyhzdHJ1Y3QgcnRjX29wcyAqKTsKLXZvaWQgdW5yZWdpc3Rlcl9ydGMoc3RydWN0IHJ0Y19vcHMgKik7Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHJ0Y19wZXJpb2RpY19hbGFybShzdHJ1Y3QgcnRjX3RpbWUgKnRtKQotewotCXJldHVybiAgKHRtLT50bV95ZWFyID09IC0xKSB8fAotCQkoKHVuc2lnbmVkKXRtLT50bV9tb24gPj0gMTIpIHx8Ci0JCSgodW5zaWduZWQpKHRtLT50bV9tZGF5IC0gMSkgPj0gMzEpIHx8Ci0JCSgodW5zaWduZWQpdG0tPnRtX2hvdXIgPiAyMykgfHwKLQkJKCh1bnNpZ25lZCl0bS0+dG1fbWluID4gNTkpIHx8Ci0JCSgodW5zaWduZWQpdG0tPnRtX3NlYyA+IDU5KTsKLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vc21wLmggYi9pbmNsdWRlL2FzbS1hcm0vc21wLmgKaW5kZXggYWY5OTYzNi4uN2ZmZmEyNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9zbXAuaApAQCAtMTAxLDYgKzEwMSw5IEBACiBleHRlcm4gaW50IHBsYXRmb3JtX2NwdV9raWxsKHVuc2lnbmVkIGludCBjcHUpOwogZXh0ZXJuIHZvaWQgcGxhdGZvcm1fY3B1X2VuYWJsZSh1bnNpZ25lZCBpbnQgY3B1KTsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKIC8qCiAgKiBMb2NhbCB0aW1lciBpbnRlcnJ1cHQgaGFuZGxpbmcgZnVuY3Rpb24gKGNhbiBiZSBJUEknZWQpLgogICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vdGxiZmx1c2guaCBiL2luY2x1ZGUvYXNtLWFybS90bGJmbHVzaC5oCmluZGV4IDhjNmJjMWIuLjkwOTY1NmMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS90bGJmbHVzaC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS90bGJmbHVzaC5oCkBAIC0zOSw2ICszOSw3IEBACiAjZGVmaW5lIFRMQl9WNl9EX0FTSUQJKDEgPDwgMTcpCiAjZGVmaW5lIFRMQl9WNl9JX0FTSUQJKDEgPDwgMTgpCiAKKyNkZWZpbmUgVExCX0wyQ0xFQU5fRlIJKDEgPDwgMjkpCQkvKiBGZXJvY2VvbiAqLwogI2RlZmluZSBUTEJfRENMRUFOCSgxIDw8IDMwKQogI2RlZmluZSBUTEJfV0IJCSgxIDw8IDMxKQogCkBAIC01MSw2ICs1Miw3IEBACiAgKgkgIHY0ICAgIC0gQVJNdjQgd2l0aG91dCB3cml0ZSBidWZmZXIKICAqCSAgdjR3YiAgLSBBUk12NCB3aXRoIHdyaXRlIGJ1ZmZlciB3aXRob3V0IEkgVExCIGZsdXNoIGVudHJ5IGluc3RydWN0aW9uCiAgKgkgIHY0d2JpIC0gQVJNdjQgd2l0aCB3cml0ZSBidWZmZXIgd2l0aCBJIFRMQiBmbHVzaCBlbnRyeSBpbnN0cnVjdGlvbgorICoJICBmciAgICAtIEZlcm9jZW9uICh2NHdiaSB3aXRoIG5vbi1vdXRlci1jYWNoZWFibGUgcGFnZSB0YWJsZSB3YWxrcykKICAqCSAgdjZ3YmkgLSBBUk12NiB3aXRoIHdyaXRlIGJ1ZmZlciB3aXRoIEkgVExCIGZsdXNoIGVudHJ5IGluc3RydWN0aW9uCiAgKi8KICN1bmRlZiBfVExCCkBAIC0xMDMsNiArMTA1LDIzIEBACiAjIGRlZmluZSB2NHdiaV9hbHdheXNfZmxhZ3MJKC0xVUwpCiAjZW5kaWYKIAorI2RlZmluZSBmcl90bGJfZmxhZ3MJKFRMQl9XQiB8IFRMQl9EQ0xFQU4gfCBUTEJfTDJDTEVBTl9GUiB8IFwKKwkJCSBUTEJfVjRfSV9GVUxMIHwgVExCX1Y0X0RfRlVMTCB8IFwKKwkJCSBUTEJfVjRfSV9QQUdFIHwgVExCX1Y0X0RfUEFHRSkKKworI2lmZGVmIENPTkZJR19DUFVfVExCX0ZFUk9DRU9OCisjIGRlZmluZSBmcl9wb3NzaWJsZV9mbGFncwlmcl90bGJfZmxhZ3MKKyMgZGVmaW5lIGZyX2Fsd2F5c19mbGFncwlmcl90bGJfZmxhZ3MKKyMgaWZkZWYgX1RMQgorIyAgZGVmaW5lIE1VTFRJX1RMQiAxCisjIGVsc2UKKyMgIGRlZmluZSBfVExCIHY0d2JpCisjIGVuZGlmCisjZWxzZQorIyBkZWZpbmUgZnJfcG9zc2libGVfZmxhZ3MJMAorIyBkZWZpbmUgZnJfYWx3YXlzX2ZsYWdzCSgtMVVMKQorI2VuZGlmCisKICNkZWZpbmUgdjR3Yl90bGJfZmxhZ3MJKFRMQl9XQiB8IFRMQl9EQ0xFQU4gfCBcCiAJCQkgVExCX1Y0X0lfRlVMTCB8IFRMQl9WNF9EX0ZVTEwgfCBcCiAJCQkgVExCX1Y0X0RfUEFHRSkKQEAgLTI0NSwxMiArMjY0LDE0IEBACiAjZGVmaW5lIHBvc3NpYmxlX3RsYl9mbGFncwkodjNfcG9zc2libGVfZmxhZ3MgfCBcCiAJCQkJIHY0X3Bvc3NpYmxlX2ZsYWdzIHwgXAogCQkJCSB2NHdiaV9wb3NzaWJsZV9mbGFncyB8IFwKKwkJCQkgZnJfcG9zc2libGVfZmxhZ3MgfCBcCiAJCQkJIHY0d2JfcG9zc2libGVfZmxhZ3MgfCBcCiAJCQkJIHY2d2JpX3Bvc3NpYmxlX2ZsYWdzKQogCiAjZGVmaW5lIGFsd2F5c190bGJfZmxhZ3MJKHYzX2Fsd2F5c19mbGFncyAmIFwKIAkJCQkgdjRfYWx3YXlzX2ZsYWdzICYgXAogCQkJCSB2NHdiaV9hbHdheXNfZmxhZ3MgJiBcCisJCQkJIGZyX2Fsd2F5c19mbGFncyAmIFwKIAkJCQkgdjR3Yl9hbHdheXNfZmxhZ3MgJiBcCiAJCQkJIHY2d2JpX2Fsd2F5c19mbGFncykKIApAQCAtNDE3LDYgKzQzOCwxMSBAQAogCWlmICh0bGJfZmxhZyhUTEJfRENMRUFOKSkKIAkJYXNtKCJtY3IJcDE1LCAwLCAlMCwgYzcsIGMxMCwgMQlAIGZsdXNoX3BtZCIKIAkJCTogOiAiciIgKHBtZCkgOiAiY2MiKTsKKworCWlmICh0bGJfZmxhZyhUTEJfTDJDTEVBTl9GUikpCisJCWFzbSgibWNyCXAxNSwgMSwgJTAsIGMxNSwgYzksIDEgIEAgTDIgZmx1c2hfcG1kIgorCQkJOiA6ICJyIiAocG1kKSA6ICJjYyIpOworCiAJaWYgKHRsYl9mbGFnKFRMQl9XQikpCiAJCWRzYigpOwogfQpAQCAtNDI4LDYgKzQ1NCwxMCBAQAogCWlmICh0bGJfZmxhZyhUTEJfRENMRUFOKSkKIAkJYXNtKCJtY3IJcDE1LCAwLCAlMCwgYzcsIGMxMCwgMQlAIGZsdXNoX3BtZCIKIAkJCTogOiAiciIgKHBtZCkgOiAiY2MiKTsKKworCWlmICh0bGJfZmxhZyhUTEJfTDJDTEVBTl9GUikpCisJCWFzbSgibWNyCXAxNSwgMSwgJTAsIGMxNSwgYzksIDEgIEAgTDIgZmx1c2hfcG1kIgorCQkJOiA6ICJyIiAocG1kKSA6ICJjYyIpOwogfQogCiAjdW5kZWYgdGxiX2ZsYWcKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2JvYXJkLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9ib2FyZC5oCmluZGV4IGE0ZTJkMjguLmI0Y2RkZmEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2JvYXJkLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvYm9hcmQuaApAQCAtOCw2ICs4LDEyIEBACiAKICNkZWZpbmUgR1BJT19QSU5fTk9ORQkoLTEpCiAKKy8qCisgKiBDbG9jayByYXRlcyBmb3IgdmFyaW91cyBvbi1ib2FyZCBvc2NpbGxhdG9ycy4gVGhlIG51bWJlciBvZiBlbnRyaWVzCisgKiBpbiB0aGlzIGFycmF5IGlzIGNoaXAtZGVwZW5kZW50LgorICovCitleHRlcm4gdW5zaWduZWQgbG9uZyBhdDMyX2JvYXJkX29zY19yYXRlc1tdOworICAKIC8qIEFkZCBiYXNpYyBkZXZpY2VzOiBzeXN0ZW0gbWFuYWdlciwgaW50ZXJydXB0IGNvbnRyb2xsZXIsIHBvcnRtdXhlcywgZXRjLiAqLwogdm9pZCBhdDMyX2FkZF9zeXN0ZW1fZGV2aWNlcyh2b2lkKTsKIApAQCAtMzYsNyArNDIsOCBAQAogc3RydWN0IGF0bWVsX2xjZGZiX2luZm87CiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICoKIGF0MzJfYWRkX2RldmljZV9sY2RjKHVuc2lnbmVkIGludCBpZCwgc3RydWN0IGF0bWVsX2xjZGZiX2luZm8gKmRhdGEsCi0JCSAgICAgdW5zaWduZWQgbG9uZyBmYm1lbV9zdGFydCwgdW5zaWduZWQgbG9uZyBmYm1lbV9sZW4pOworCQkgICAgIHVuc2lnbmVkIGxvbmcgZmJtZW1fc3RhcnQsIHVuc2lnbmVkIGxvbmcgZmJtZW1fbGVuLAorCQkgICAgIHVuc2lnbmVkIGludCBwaW5fY29uZmlnKTsKIAogc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YTsKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKgpAQCAtNzMsNiArODAsNyBAQAogc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYXQzMl9hZGRfZGV2aWNlX21jaSh1bnNpZ25lZCBpbnQgaWQpOwogc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYXQzMl9hZGRfZGV2aWNlX2FjOTdjKHVuc2lnbmVkIGludCBpZCk7CiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdDMyX2FkZF9kZXZpY2VfYWJkYWModW5zaWduZWQgaW50IGlkKTsKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmF0MzJfYWRkX2RldmljZV9wc2lmKHVuc2lnbmVkIGludCBpZCk7CiAKIHN0cnVjdCBjZl9wbGF0Zm9ybV9kYXRhIHsKIAlpbnQJZGV0ZWN0X3BpbjsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2luaXQuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2luaXQuaAppbmRleCA1ZTc1ZDg1Li5iYzQwZTNkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9pbml0LmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvaW5pdC5oCkBAIC0xMywxMCArMTMsNiBAQAogdm9pZCBzZXR1cF9wbGF0Zm9ybSh2b2lkKTsKIHZvaWQgc2V0dXBfYm9hcmQodm9pZCk7CiAKLS8qIENhbGxlZCBieSBzZXR1cF9wbGF0Zm9ybSAqLwotdm9pZCBhdDMyX2Nsb2NrX2luaXQodm9pZCk7Ci12b2lkIGF0MzJfcG9ydG11eF9pbml0KHZvaWQpOwotCiB2b2lkIGF0MzJfc2V0dXBfc2VyaWFsX2NvbnNvbGUodW5zaWduZWQgaW50IHVzYXJ0X2lkKTsKIAogI2VuZGlmIC8qIF9fQVNNX0FWUjMyX0FUMzJBUF9JTklUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvcG0uaCBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3BtLmgKaW5kZXggMzU2ZTQzMC4uOTc5YjM1NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvcG0uaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9wbS5oCkBAIC0xOSw2ICsxOSw3IEBACiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiBleHRlcm4gdm9pZCBjcHVfZW50ZXJfaWRsZSh2b2lkKTsKK2V4dGVybiB2b2lkIGNwdV9lbnRlcl9zdGFuZGJ5KHVuc2lnbmVkIGxvbmcgc2RyYW1jX2Jhc2UpOwogCiBleHRlcm4gYm9vbCBkaXNhYmxlX2lkbGVfc2xlZXA7CiAKQEAgLTQzLDYgKzQ0LDggQEAKIAllbHNlCiAJCWNwdV9lbnRlcl9pZGxlKCk7CiB9CisKK3ZvaWQgaW50Y19zZXRfc3VzcGVuZF9oYW5kbGVyKHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKICNlbmRpZgogCiAjZW5kaWYgLyogX19BU01fQVZSMzJfQVJDSF9QTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9zcmFtLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9zcmFtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgzOGRhZQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3NyYW0uaApAQCAtMCwwICsxLDMwIEBACisvKgorICogU2ltcGxlIFNSQU0gYWxsb2NhdG9yCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEF0bWVsIENvcnBvcmF0aW9uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworI2lmbmRlZiBfX0FTTV9BVlIzMl9BUkNIX1NSQU1fSAorI2RlZmluZSBfX0FTTV9BVlIzMl9BUkNIX1NSQU1fSAorCisjaW5jbHVkZSA8bGludXgvZ2VuYWxsb2MuaD4KKworZXh0ZXJuIHN0cnVjdCBnZW5fcG9vbCAqc3JhbV9wb29sOworCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgc3JhbV9hbGxvYyhzaXplX3QgbGVuKQoreworCWlmICghc3JhbV9wb29sKQorCQlyZXR1cm4gMFVMOworCisJcmV0dXJuIGdlbl9wb29sX2FsbG9jKHNyYW1fcG9vbCwgbGVuKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHNyYW1fZnJlZSh1bnNpZ25lZCBsb25nIGFkZHIsIHNpemVfdCBsZW4pCit7CisJcmV0dXJuIGdlbl9wb29sX2ZyZWUoc3JhbV9wb29sLCBhZGRyLCBsZW4pOworfQorCisjZW5kaWYgLyogX19BU01fQVZSMzJfQVJDSF9TUkFNX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL21tdV9jb250ZXh0LmggYi9pbmNsdWRlL2FzbS1hdnIzMi9tbXVfY29udGV4dC5oCmluZGV4IGMzN2MzOTEuLjI3ZmYyMzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL21tdV9jb250ZXh0LmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvbW11X2NvbnRleHQuaApAQCAtMTMsNyArMTMsNiBAQAogI2RlZmluZSBfX0FTTV9BVlIzMl9NTVVfQ09OVEVYVF9ICiAKICNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgogI2luY2x1ZGUgPGFzbS9zeXNyZWcuaD4KICNpbmNsdWRlIDxhc20tZ2VuZXJpYy9tbV9ob29rcy5oPgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9wY2kuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL3BjaS5oCmluZGV4IDBmNWYxMzQuLmEzMmEwMjMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3BjaS5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL3BjaS5oCkBAIC01LDQgKzUsNiBAQAogCiAjZGVmaW5lIFBDSV9ETUFfQlVTX0lTX1BIWVMJKDEpCiAKKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9wY2ktZG1hLWNvbXBhdC5oPgorCiAjZW5kaWYgLyogX19BU01fQVZSMzJfUENJX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvcGdhbGxvYy5oIGIvaW5jbHVkZS9hc20tYXZyMzIvcGdhbGxvYy5oCmluZGV4IDUxZmMxZjYuLjY0MDgyMTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3BnYWxsb2MuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9wZ2FsbG9jLmgKQEAgLTgsNjUgKzgsNzkgQEAKICNpZm5kZWYgX19BU01fQVZSMzJfUEdBTExPQ19ICiAjZGVmaW5lIF9fQVNNX0FWUjMyX1BHQUxMT0NfSAogCi0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGxpbnV4L3RocmVhZHMuaD4KLSNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9xdWlja2xpc3QuaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAKLSNkZWZpbmUgcG1kX3BvcHVsYXRlX2tlcm5lbChtbSwgcG1kLCBwdGUpIFwKLQlzZXRfcG1kKHBtZCwgX19wbWQoX1BBR0VfVEFCTEUgKyBfX3BhKHB0ZSkpKQorI2RlZmluZSBRVUlDS19QR0QJMAkvKiBQcmVzZXJ2ZSBrZXJuZWwgbWFwcGluZ3Mgb3ZlciBmcmVlICovCisjZGVmaW5lIFFVSUNLX1BUCTEJLyogWmVybyBvbiBmcmVlICovCiAKLXN0YXRpYyBfX2lubGluZV9fIHZvaWQgcG1kX3BvcHVsYXRlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwbWRfdCAqcG1kLAorc3RhdGljIGlubGluZSB2b2lkIHBtZF9wb3B1bGF0ZV9rZXJuZWwoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJICAgICAgIHBtZF90ICpwbWQsIHB0ZV90ICpwdGUpCit7CisJc2V0X3BtZChwbWQsIF9fcG1kKCh1bnNpZ25lZCBsb25nKXB0ZSkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcG1kX3BvcHVsYXRlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwbWRfdCAqcG1kLAogCQkJCSAgICBwZ3RhYmxlX3QgcHRlKQogewotCXNldF9wbWQocG1kLCBfX3BtZChfUEFHRV9UQUJMRSArIHBhZ2VfdG9fcGh5cyhwdGUpKSk7CisJc2V0X3BtZChwbWQsIF9fcG1kKCh1bnNpZ25lZCBsb25nKXBhZ2VfYWRkcmVzcyhwdGUpKSk7CiB9CiAjZGVmaW5lIHBtZF9wZ3RhYmxlKHBtZCkgcG1kX3BhZ2UocG1kKQogCitzdGF0aWMgaW5saW5lIHZvaWQgcGdkX2N0b3Iodm9pZCAqeCkKK3sKKwlwZ2RfdCAqcGdkID0geDsKKworCW1lbWNweShwZ2QgKyBVU0VSX1BUUlNfUEVSX1BHRCwKKwkJc3dhcHBlcl9wZ19kaXIgKyBVU0VSX1BUUlNfUEVSX1BHRCwKKwkJKFBUUlNfUEVSX1BHRCAtIFVTRVJfUFRSU19QRVJfUEdEKSAqIHNpemVvZihwZ2RfdCkpOworfQorCiAvKgogICogQWxsb2NhdGUgYW5kIGZyZWUgcGFnZSB0YWJsZXMKICAqLwotc3RhdGljIF9faW5saW5lX18gcGdkX3QgKnBnZF9hbGxvYyhzdHJ1Y3QgbW1fc3RydWN0ICptbSkKK3N0YXRpYyBpbmxpbmUgcGdkX3QgKnBnZF9hbGxvYyhzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIHsKLQlyZXR1cm4ga2NhbGxvYyhVU0VSX1BUUlNfUEVSX1BHRCwgc2l6ZW9mKHBnZF90KSwgR0ZQX0tFUk5FTCk7CisJcmV0dXJuIHF1aWNrbGlzdF9hbGxvYyhRVUlDS19QR0QsIEdGUF9LRVJORUwgfCBfX0dGUF9SRVBFQVQsIHBnZF9jdG9yKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHBnZF9mcmVlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkKQogewotCWtmcmVlKHBnZCk7CisJcXVpY2tsaXN0X2ZyZWUoUVVJQ0tfUEdELCBOVUxMLCBwZ2QpOwogfQogCiBzdGF0aWMgaW5saW5lIHB0ZV90ICpwdGVfYWxsb2Nfb25lX2tlcm5lbChzdHJ1Y3QgbW1fc3RydWN0ICptbSwKIAkJCQkJICB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCiB7Ci0JcHRlX3QgKnB0ZTsKLQotCXB0ZSA9IChwdGVfdCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgX19HRlBfUkVQRUFUKTsKLQotCXJldHVybiBwdGU7CisJcmV0dXJuIHF1aWNrbGlzdF9hbGxvYyhRVUlDS19QVCwgR0ZQX0tFUk5FTCB8IF9fR0ZQX1JFUEVBVCwgTlVMTCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IHBhZ2UgKnB0ZV9hbGxvY19vbmUoc3RydWN0IG1tX3N0cnVjdCAqbW0sCitzdGF0aWMgaW5saW5lIHBndGFibGVfdCBwdGVfYWxsb2Nfb25lKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAogCQkJCQkgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQogewotCXN0cnVjdCBwYWdlICpwdGU7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJdm9pZCAqcGc7CiAKLQlwdGUgPSBhbGxvY19wYWdlKEdGUF9LRVJORUwgfCBfX0dGUF9SRVBFQVQgfCBfX0dGUF9aRVJPKTsKLQlpZiAoIXB0ZSkKKwlwZyA9IHF1aWNrbGlzdF9hbGxvYyhRVUlDS19QVCwgR0ZQX0tFUk5FTCB8IF9fR0ZQX1JFUEVBVCwgTlVMTCk7CisJaWYgKCFwZykKIAkJcmV0dXJuIE5VTEw7Ci0JcGd0YWJsZV9wYWdlX2N0b3IocHRlKTsKLQlyZXR1cm4gcHRlOworCisJcGFnZSA9IHZpcnRfdG9fcGFnZShwZyk7CisJcGd0YWJsZV9wYWdlX2N0b3IocGFnZSk7CisKKwlyZXR1cm4gcGFnZTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHB0ZV9mcmVlX2tlcm5lbChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcHRlX3QgKnB0ZSkKIHsKLQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcHRlKTsKKwlxdWlja2xpc3RfZnJlZShRVUlDS19QVCwgTlVMTCwgcHRlKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHB0ZV9mcmVlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ3RhYmxlX3QgcHRlKQogewogCXBndGFibGVfcGFnZV9kdG9yKHB0ZSk7Ci0JX19mcmVlX3BhZ2UocHRlKTsKKwlxdWlja2xpc3RfZnJlZV9wYWdlKFFVSUNLX1BULCBOVUxMLCBwdGUpOwogfQogCiAjZGVmaW5lIF9fcHRlX2ZyZWVfdGxiKHRsYixwdGUpCQkJCVwKQEAgLTc1LDYgKzg5LDEwIEBACiAJdGxiX3JlbW92ZV9wYWdlKCh0bGIpLCBwdGUpOwkJCVwKIH0gd2hpbGUgKDApCiAKLSNkZWZpbmUgY2hlY2tfcGd0X2NhY2hlKCkgZG8geyB9IHdoaWxlKDApCitzdGF0aWMgaW5saW5lIHZvaWQgY2hlY2tfcGd0X2NhY2hlKHZvaWQpCit7CisJcXVpY2tsaXN0X3RyaW0oUVVJQ0tfUEdELCBOVUxMLCAyNSwgMTYpOworCXF1aWNrbGlzdF90cmltKFFVSUNLX1BULCBOVUxMLCAyNSwgMTYpOworfQogCiAjZW5kaWYgLyogX19BU01fQVZSMzJfUEdBTExPQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9wZ3RhYmxlLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9wZ3RhYmxlLmgKaW5kZXggYzBlNWUyOS4uZmVjZGRhMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvcGd0YWJsZS5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL3BndGFibGUuaApAQCAtMTI5LDEzICsxMjksNiBAQAogCiAjZGVmaW5lIF9QQUdFX0ZMQUdTX0NBQ0hFX01BU0sJKF9QQUdFX0NBQ0hBQkxFIHwgX1BBR0VfQlVGRkVSIHwgX1BBR0VfV1QpCiAKLS8qIFRPRE86IENoZWNrIGZvciBzYW5lbmVzcyAqLwotLyogVXNlci1tb2RlIHBhZ2UgdGFibGUgZmxhZ3MgKHRvIGJlIHNldCBpbiBhIHBnZCBvciBwbWQgZW50cnkpICovCi0jZGVmaW5lIF9QQUdFX1RBQkxFCQkoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1RZUEVfU01BTEwgfCBfUEFHRV9SVyBcCi0JCQkJIHwgX1BBR0VfVVNFUiB8IF9QQUdFX0FDQ0VTU0VEIHwgX1BBR0VfRElSVFkpCi0vKiBLZXJuZWwtbW9kZSBwYWdlIHRhYmxlIGZsYWdzICovCi0jZGVmaW5lIF9LRVJOUEdfVEFCTEUJCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfVFlQRV9TTUFMTCB8IF9QQUdFX1JXIFwKLQkJCQkgfCBfUEFHRV9BQ0NFU1NFRCB8IF9QQUdFX0RJUlRZKQogLyogRmxhZ3MgdGhhdCBtYXkgYmUgbW9kaWZpZWQgYnkgc29mdHdhcmUgKi8KICNkZWZpbmUgX1BBR0VfQ0hHX01BU0sJCShQVEVfTUFTSyB8IF9QQUdFX0FDQ0VTU0VEIHwgX1BBR0VfRElSVFkgXAogCQkJCSB8IF9QQUdFX0ZMQUdTX0NBQ0hFX01BU0spCkBAIC0yNjIsMTAgKzI1NSwxNCBAQAogfQogCiAjZGVmaW5lIHBtZF9ub25lKHgpCSghcG1kX3ZhbCh4KSkKLSNkZWZpbmUgcG1kX3ByZXNlbnQoeCkJKHBtZF92YWwoeCkgJiBfUEFHRV9QUkVTRU5UKQotI2RlZmluZSBwbWRfY2xlYXIoeHApCWRvIHsgc2V0X3BtZCh4cCwgX19wbWQoMCkpOyB9IHdoaWxlICgwKQotI2RlZmluZQlwbWRfYmFkKHgpCSgocG1kX3ZhbCh4KSAmICh+UEFHRV9NQVNLICYgfl9QQUdFX1VTRVIpKQlcCi0JCQkgIT0gX0tFUk5QR19UQUJMRSkKKyNkZWZpbmUgcG1kX3ByZXNlbnQoeCkJKHBtZF92YWwoeCkpCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBwbWRfY2xlYXIocG1kX3QgKnBtZHApCit7CisJc2V0X3BtZChwbWRwLCBfX3BtZCgwKSk7Cit9CisKKyNkZWZpbmUJcG1kX2JhZCh4KQkocG1kX3ZhbCh4KSAmIH5QQUdFX01BU0spCiAKIC8qCiAgKiBQZXJtYW5lbnQgYWRkcmVzcyBvZiBhIHBhZ2UuIFdlIGRvbid0IHN1cHBvcnQgaGlnaG1lbSwgc28gdGhpcyBpcwpAQCAtMzAzLDE5ICszMDAsMTYgQEAKIAogI2RlZmluZSBwYWdlX3B0ZShwYWdlKQlwYWdlX3B0ZV9wcm90KHBhZ2UsIF9fcGdwcm90KDApKQogCi0jZGVmaW5lIHBtZF9wYWdlX3ZhZGRyKHBtZCkJCQkJCVwKLQkoKHVuc2lnbmVkIGxvbmcpIF9fdmEocG1kX3ZhbChwbWQpICYgUEFHRV9NQVNLKSkKLQotI2RlZmluZSBwbWRfcGFnZShwbWQpCShwaHlzX3RvX3BhZ2UocG1kX3ZhbChwbWQpKSkKKyNkZWZpbmUgcG1kX3BhZ2VfdmFkZHIocG1kKQlwbWRfdmFsKHBtZCkKKyNkZWZpbmUgcG1kX3BhZ2UocG1kKQkJKHZpcnRfdG9fcGFnZShwbWRfdmFsKHBtZCkpKQogCiAvKiB0byBmaW5kIGFuIGVudHJ5IGluIGEgcGFnZS10YWJsZS1kaXJlY3RvcnkuICovCi0jZGVmaW5lIHBnZF9pbmRleChhZGRyZXNzKSAoKChhZGRyZXNzKSA+PiBQR0RJUl9TSElGVCkgJiAoUFRSU19QRVJfUEdELTEpKQotI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKSAoKG1tKS0+cGdkK3BnZF9pbmRleChhZGRyZXNzKSkKLSNkZWZpbmUgcGdkX29mZnNldF9jdXJyZW50KGFkZHJlc3MpCQkJCVwKLQkoKHBnZF90ICopX19tZnNyKFNZU1JFR19QVEJSKSArIHBnZF9pbmRleChhZGRyZXNzKSkKKyNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpCSgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKQlcCisJCQkJICYgKFBUUlNfUEVSX1BHRCAtIDEpKQorI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKQkoKG1tKS0+cGdkICsgcGdkX2luZGV4KGFkZHJlc3MpKQogCiAvKiB0byBmaW5kIGFuIGVudHJ5IGluIGEga2VybmVsIHBhZ2UtdGFibGUtZGlyZWN0b3J5ICovCi0jZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKSBwZ2Rfb2Zmc2V0KCZpbml0X21tLCBhZGRyZXNzKQorI2RlZmluZSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcykJcGdkX29mZnNldCgmaW5pdF9tbSwgYWRkcmVzcykKIAogLyogRmluZCBhbiBlbnRyeSBpbiB0aGUgdGhpcmQtbGV2ZWwgcGFnZSB0YWJsZS4uICovCiAjZGVmaW5lIHB0ZV9pbmRleChhZGRyZXNzKQkJCQlcCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9zZXR1cC5oIGIvaW5jbHVkZS9hc20tYXZyMzIvc2V0dXAuaAppbmRleCBlYTMwNzBmLi5mZjViN2NmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9zZXR1cC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL3NldHVwLmgKQEAgLTIsNyArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBBdG1lbCBDb3Jwb3JhdGlvbgogICoKICAqIEJhc2VkIG9uIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oCi0gKiAgIENvcHlyaWdodCAoQykgMTk5Ny0xOTk5IFJ1c3NlbCBLaW5nCisgKiAgIENvcHlyaWdodCAoQykgMTk5Ny0xOTk5IFJ1c3NlbGwgS2luZwogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvdGhyZWFkX2luZm8uaCBiL2luY2x1ZGUvYXNtLWF2cjMyL3RocmVhZF9pbmZvLmgKaW5kZXggMDcwNDlmNi4uZGY2ODYzMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvdGhyZWFkX2luZm8uaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi90aHJlYWRfaW5mby5oCkBAIC04OCw2ICs4OCw3IEBACiAjZGVmaW5lIFRJRl9NRU1ESUUJCTYKICNkZWZpbmUgVElGX1JFU1RPUkVfU0lHTUFTSwk3CS8qIHJlc3RvcmUgc2lnbmFsIG1hc2sgaW4gZG9fc2lnbmFsICovCiAjZGVmaW5lIFRJRl9DUFVfR09JTkdfVE9fU0xFRVAJOAkvKiBDUFUgaXMgZW50ZXJpbmcgc2xlZXAgMCBtb2RlICovCisjZGVmaW5lIFRJRl9GUkVFWkUJCTI5CiAjZGVmaW5lIFRJRl9ERUJVRwkJMzAJLyogZGVidWdnaW5nIGVuYWJsZWQgKi8KICNkZWZpbmUgVElGX1VTRVJTUEFDRQkJMzEgICAgICAvKiB0cnVlIGlmIEZTIHNldHMgdXNlcnNwYWNlICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL3RsYmZsdXNoLmggYi9pbmNsdWRlL2FzbS1hdnIzMi90bGJmbHVzaC5oCmluZGV4IDViYzdjODguLmJmOTBhNzggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3RsYmZsdXNoLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvdGxiZmx1c2guaApAQCAtMjYsNyArMjYsNiBAQAogZXh0ZXJuIHZvaWQgZmx1c2hfdGxiX3JhbmdlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCB1bnNpZ25lZCBsb25nIHN0YXJ0LAogCQkJICAgIHVuc2lnbmVkIGxvbmcgZW5kKTsKIGV4dGVybiB2b2lkIGZsdXNoX3RsYl9wYWdlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCB1bnNpZ25lZCBsb25nIHBhZ2UpOwotZXh0ZXJuIHZvaWQgX19mbHVzaF90bGJfcGFnZSh1bnNpZ25lZCBsb25nIGFzaWQsIHVuc2lnbmVkIGxvbmcgcGFnZSk7CiAKIGV4dGVybiB2b2lkIGZsdXNoX3RsYl9rZXJuZWxfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1mcnYvc3lzdGVtLmggYi9pbmNsdWRlL2FzbS1mcnYvc3lzdGVtLmgKaW5kZXggZDNhMTJhOS4uNzc0MmVjMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tZnJ2L3N5c3RlbS5oCisrKyBiL2luY2x1ZGUvYXNtLWZydi9zeXN0ZW0uaApAQCAtODcsNyArODcsNyBAQAogfSB3aGlsZSgwKQogCiAjZGVmaW5lIGlycXNfZGlzYWJsZWQoKSBcCi0JKHt1bnNpZ25lZCBsb25nIGZsYWdzOyBsb2NhbF9zYXZlX2ZsYWdzKGZsYWdzKTsgZmxhZ3M7IH0pCisJKHt1bnNpZ25lZCBsb25nIGZsYWdzOyBsb2NhbF9zYXZlX2ZsYWdzKGZsYWdzKTsgISFmbGFnczsgfSkKIAogI2RlZmluZQlsb2NhbF9pcnFfc2F2ZShmbGFncykJCQlcCiBkbyB7CQkJCQkJXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tZ2VuZXJpYy9wZ3RhYmxlLmggYi9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaAppbmRleCA0NGVmMzI5Li5lZjg3Zjg4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaAorKysgYi9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaApAQCAtMTk1LDYgKzE5NSw2MyBAQAogCX0KIAlyZXR1cm4gMDsKIH0KKworc3RhdGljIGlubGluZSBwdGVfdCBfX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJCSAgICAgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQkgICAgIHB0ZV90ICpwdGVwKQoreworCS8qCisJICogR2V0IHRoZSBjdXJyZW50IHB0ZSBzdGF0ZSwgYnV0IHplcm8gaXQgb3V0IHRvIG1ha2UgaXQKKwkgKiBub24tcHJlc2VudCwgcHJldmVudGluZyB0aGUgaGFyZHdhcmUgZnJvbSBhc3luY2hyb25vdXNseQorCSAqIHVwZGF0aW5nIGl0LgorCSAqLworCXJldHVybiBwdGVwX2dldF9hbmRfY2xlYXIobW0sIGFkZHIsIHB0ZXApOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgX19wdGVwX21vZGlmeV9wcm90X2NvbW1pdChzdHJ1Y3QgbW1fc3RydWN0ICptbSwKKwkJCQkJICAgICB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJCSAgICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwkvKgorCSAqIFRoZSBwdGUgaXMgbm9uLXByZXNlbnQsIHNvIHRoZXJlJ3Mgbm8gaGFyZHdhcmUgc3RhdGUgdG8KKwkgKiBwcmVzZXJ2ZS4KKwkgKi8KKwlzZXRfcHRlX2F0KG1tLCBhZGRyLCBwdGVwLCBwdGUpOworfQorCisjaWZuZGVmIF9fSEFWRV9BUkNIX1BURVBfTU9ESUZZX1BST1RfVFJBTlNBQ1RJT04KKy8qCisgKiBTdGFydCBhIHB0ZSBwcm90ZWN0aW9uIHJlYWQtbW9kaWZ5LXdyaXRlIHRyYW5zYWN0aW9uLCB3aGljaAorICogcHJvdGVjdHMgYWdhaW5zdCBhc3luY2hyb25vdXMgaGFyZHdhcmUgbW9kaWZpY2F0aW9ucyB0byB0aGUgcHRlLgorICogVGhlIGludGVudGlvbiBpcyBub3QgdG8gcHJldmVudCB0aGUgaGFyZHdhcmUgZnJvbSBtYWtpbmcgcHRlCisgKiB1cGRhdGVzLCBidXQgdG8gcHJldmVudCBhbnkgdXBkYXRlcyBpdCBtYXkgbWFrZSBmcm9tIGJlaW5nIGxvc3QuCisgKgorICogVGhpcyBkb2VzIG5vdCBwcm90ZWN0IGFnYWluc3Qgb3RoZXIgc29mdHdhcmUgbW9kaWZpY2F0aW9ucyBvZiB0aGUKKyAqIHB0ZTsgdGhlIGFwcHJvcHJpYXRlIHB0ZSBsb2NrIG11c3QgYmUgaGVsZCBvdmVyIHRoZSB0cmFuc2F0aW9uLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGludGVyZmFjZSBpcyBpbnRlbmRlZCB0byBiZSBiYXRjaGFibGUsIG1lYW5pbmcgdGhhdAorICogcHRlcF9tb2RpZnlfcHJvdF9jb21taXQgbWF5IG5vdCBhY3R1YWxseSB1cGRhdGUgdGhlIHB0ZSwgYnV0IG1lcmVseQorICogcXVldWUgdGhlIHVwZGF0ZSB0byBiZSBkb25lIGF0IHNvbWUgbGF0ZXIgdGltZS4gIFRoZSB1cGRhdGUgbXVzdCBiZQorICogYWN0dWFsbHkgY29tbWl0dGVkIGJlZm9yZSB0aGUgcHRlIGxvY2sgaXMgcmVsZWFzZWQsIGhvd2V2ZXIuCisgKi8KK3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRlcF9tb2RpZnlfcHJvdF9zdGFydChzdHJ1Y3QgbW1fc3RydWN0ICptbSwKKwkJCQkJICAgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQkgICBwdGVfdCAqcHRlcCkKK3sKKwlyZXR1cm4gX19wdGVwX21vZGlmeV9wcm90X3N0YXJ0KG1tLCBhZGRyLCBwdGVwKTsKK30KKworLyoKKyAqIENvbW1pdCBhbiB1cGRhdGUgdG8gYSBwdGUsIGxlYXZpbmcgYW55IGhhcmR3YXJlLWNvbnRyb2xsZWQgYml0cyBpbgorICogdGhlIFBURSB1bm1vZGlmaWVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJCSAgIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwlfX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KG1tLCBhZGRyLCBwdGVwLCBwdGUpOworfQorI2VuZGlmIC8qIF9fSEFWRV9BUkNIX1BURVBfTU9ESUZZX1BST1RfVFJBTlNBQ1RJT04gKi8KICNlbmRpZiAvKiBDT05GSUdfTU1VICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1nZW5lcmljL3RvcG9sb2d5LmggYi9pbmNsdWRlL2FzbS1nZW5lcmljL3RvcG9sb2d5LmgKaW5kZXggYTZhZWE3OS4uNTRiYmY2ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tZ2VuZXJpYy90b3BvbG9neS5oCisrKyBiL2luY2x1ZGUvYXNtLWdlbmVyaWMvdG9wb2xvZ3kuaApAQCAtNjAsNyArNjAsOCBAQAogI2lmbmRlZiBub2RlX3RvX2NwdW1hc2tfcHRyCiAKICNkZWZpbmUJbm9kZV90b19jcHVtYXNrX3B0cih2LCBub2RlKSAJCQkJCVwKLQkJY3B1bWFza190IF8jI3YgPSBub2RlX3RvX2NwdW1hc2sobm9kZSksICp2ID0gJl8jI3YKKwkJY3B1bWFza190IF8jI3YgPSBub2RlX3RvX2NwdW1hc2sobm9kZSk7CQkJXAorCQljb25zdCBjcHVtYXNrX3QgKnYgPSAmXyMjdgogCiAjZGVmaW5lIG5vZGVfdG9fY3B1bWFza19wdHJfbmV4dCh2LCBub2RlKQkJCQlcCiAJCQkgIF8jI3YgPSBub2RlX3RvX2NwdW1hc2sobm9kZSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWdlbmVyaWMvdm1saW51eC5sZHMuaCBiL2luY2x1ZGUvYXNtLWdlbmVyaWMvdm1saW51eC5sZHMuaAppbmRleCBmMDU0Nzc4Li5iMjA0MDk0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRzLmgKKysrIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy92bWxpbnV4Lmxkcy5oCkBAIC02Nyw2ICs2Nyw4IEBACiAJCSooLnJvZGF0YTEpCQkJCQkJXAogCX0JCQkJCQkJCVwKIAkJCQkJCQkJCVwKKwlCVUdfVEFCTEUJCQkJCQkJXAorCQkJCQkJCQkJXAogCS8qIFBDSSBxdWlya3MgKi8JCQkJCQlcCiAJLnBjaV9maXh1cCAgICAgICAgOiBBVChBRERSKC5wY2lfZml4dXApIC0gTE9BRF9PRkZTRVQpIHsJXAogCQlWTUxJTlVYX1NZTUJPTChfX3N0YXJ0X3BjaV9maXh1cHNfZWFybHkpID0gLjsJCVwKQEAgLTg2LDYgKzg4LDEzIEBACiAJCVZNTElOVVhfU1lNQk9MKF9fZW5kX3BjaV9maXh1cHNfcmVzdW1lKSA9IC47CQlcCiAJfQkJCQkJCQkJXAogCQkJCQkJCQkJXAorCS8qIEJ1aWx0LWluIGZpcm13YXJlIGJsb2JzICovCQkJCQlcCisJLmJ1aWx0aW5fZncgICAgICAgIDogQVQoQUREUiguYnVpbHRpbl9mdykgLSBMT0FEX09GRlNFVCkgewlcCisJCVZNTElOVVhfU1lNQk9MKF9fc3RhcnRfYnVpbHRpbl9mdykgPSAuOwkJCVwKKwkJKiguYnVpbHRpbl9mdykJCQkJCQlcCisJCVZNTElOVVhfU1lNQk9MKF9fZW5kX2J1aWx0aW5fZncpID0gLjsJCQlcCisJfQkJCQkJCQkJXAorCQkJCQkJCQkJXAogCS8qIFJhcGlkSU8gcm91dGUgb3BzICovCQkJCQkJXAogCS5yaW9fcm91dGUgICAgICAgIDogQVQoQUREUigucmlvX3JvdXRlKSAtIExPQURfT0ZGU0VUKSB7CVwKIAkJVk1MSU5VWF9TWU1CT0woX19zdGFydF9yaW9fcm91dGVfb3BzKSA9IC47CQlcCkBAIC05Myw2ICsxMDIsOCBAQAogCQlWTUxJTlVYX1NZTUJPTChfX2VuZF9yaW9fcm91dGVfb3BzKSA9IC47CQlcCiAJfQkJCQkJCQkJXAogCQkJCQkJCQkJXAorCVRSQUNFREFUQQkJCQkJCQlcCisJCQkJCQkJCQlcCiAJLyogS2VybmVsIHN5bWJvbCB0YWJsZTogTm9ybWFsIHN5bWJvbHMgKi8JCQlcCiAJX19rc3ltdGFiICAgICAgICAgOiBBVChBRERSKF9fa3N5bXRhYikgLSBMT0FEX09GRlNFVCkgewkJXAogCQlWTUxJTlVYX1NZTUJPTChfX3N0YXJ0X19fa3N5bXRhYikgPSAuOwkJCVwKQEAgLTMxMCw2ICszMjEsNyBAQAogCQkuc3RhYi5pbmRleHN0ciAwIDogeyAqKC5zdGFiLmluZGV4c3RyKSB9CQlcCiAJCS5jb21tZW50IDAgOiB7ICooLmNvbW1lbnQpIH0KIAorI2lmZGVmIENPTkZJR19HRU5FUklDX0JVRwogI2RlZmluZSBCVUdfVEFCTEUJCQkJCQkJXAogCS4gPSBBTElHTig4KTsJCQkJCQkJXAogCV9fYnVnX3RhYmxlIDogQVQoQUREUihfX2J1Z190YWJsZSkgLSBMT0FEX09GRlNFVCkgewkJXApAQCAtMzE3LDYgKzMyOSwyMSBAQAogCQkqKF9fYnVnX3RhYmxlKQkJCQkJCVwKIAkJX19zdG9wX19fYnVnX3RhYmxlID0gLjsJCQkJCVwKIAl9CisjZWxzZQorI2RlZmluZSBCVUdfVEFCTEUKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1BNX1RSQUNFCisjZGVmaW5lIFRSQUNFREFUQQkJCQkJCQlcCisJLiA9IEFMSUdOKDQpOwkJCQkJCQlcCisJLnRyYWNlZGF0YSA6IEFUKEFERFIoLnRyYWNlZGF0YSkgLSBMT0FEX09GRlNFVCkgewkJXAorCSAgCV9fdHJhY2VkYXRhX3N0YXJ0ID0gLjsJCQkJCVwKKwkJKigudHJhY2VkYXRhKQkJCQkJCVwKKwkgIAlfX3RyYWNlZGF0YV9lbmQgPSAuOwkJCQkJXAorCX0KKyNlbHNlCisjZGVmaW5lIFRSQUNFREFUQQorI2VuZGlmCiAKICNkZWZpbmUgTk9URVMJCQkJCQkJCVwKIAkubm90ZXMgOiBBVChBRERSKC5ub3RlcykgLSBMT0FEX09GRlNFVCkgewkJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWlhNjQvc21wLmggYi9pbmNsdWRlL2FzbS1pYTY0L3NtcC5oCmluZGV4IGVjNWYzNTUuLjI3NzMxZTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWlhNjQvc21wLmgKKysrIGIvaW5jbHVkZS9hc20taWE2NC9zbXAuaApAQCAtMzgsOSArMzgsNiBAQAogCXJldHVybiBsaWQuZi5pZCA8PCA4IHwgbGlkLmYuZWlkOwogfQogCi1leHRlcm4gaW50IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssIHZvaWQgKCpmdW5jKSh2b2lkICopLAotCQkJCSAgdm9pZCAqaW5mbywgaW50IHdhaXQpOwotCiAjZGVmaW5lIGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpCQlpYTY0X2dldF9saWQoKQogCiAjaWZkZWYgQ09ORklHX1NNUApAQCAtMTI0LDExICsxMjEsMTIgQEAKIGV4dGVybiB2b2lkIHNtcF9kb190aW1lciAoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwogCiBleHRlcm4gdm9pZCBzbXBfc2VuZF9yZXNjaGVkdWxlIChpbnQgY3B1KTsKLWV4dGVybiB2b2lkIGxvY2tfaXBpX2NhbGxsb2NrKHZvaWQpOwotZXh0ZXJuIHZvaWQgdW5sb2NrX2lwaV9jYWxsbG9jayh2b2lkKTsKIGV4dGVybiB2b2lkIGlkZW50aWZ5X3NpYmxpbmdzIChzdHJ1Y3QgY3B1aW5mb19pYTY0ICopOwogZXh0ZXJuIGludCBpc19tdWx0aXRocmVhZGluZ19lbmFibGVkKHZvaWQpOwogCitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpOworZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKTsKKwogI2Vsc2UgLyogQ09ORklHX1NNUCAqLwogCiAjZGVmaW5lIGNwdV9sb2dpY2FsX2lkKGkpCQkwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1tMzJyL3NtcC5oIGIvaW5jbHVkZS9hc20tbTMyci9zbXAuaAppbmRleCAwNzhlMWE1Li5jNWRkNjY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1tMzJyL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLW0zMnIvc21wLmgKQEAgLTg5LDYgKzg5LDkgQEAKIGV4dGVybiB2b2lkIHNtcF9zZW5kX3RpbWVyKHZvaWQpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc2VuZF9JUElfbWFza19waHlzKGNwdW1hc2tfdCwgaW50LCBpbnQpOwogCitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpOworZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKTsKKwogI2VuZGlmCS8qIG5vdCBfX0FTU0VNQkxZX18gKi8KIAogI2RlZmluZSBOT19QUk9DX0lEICgweGZmKQkvKiBObyBwcm9jZXNzb3IgbWFnaWMgbWFya2VyICovCkBAIC0xMDQsNiArMTA3LDcgQEAKICNkZWZpbmUgTE9DQUxfVElNRVJfSVBJCQkoTTMyUl9JUlFfSVBJMy1NMzJSX0lSUV9JUEkwKQogI2RlZmluZSBJTlZBTElEQVRFX0NBQ0hFX0lQSQkoTTMyUl9JUlFfSVBJNC1NMzJSX0lSUV9JUEkwKQogI2RlZmluZSBDUFVfQk9PVF9JUEkJCShNMzJSX0lSUV9JUEk1LU0zMlJfSVJRX0lQSTApCisjZGVmaW5lIENBTExfRlVOQ19TSU5HTEVfSVBJCShNMzJSX0lSUV9JUEk2LU0zMlJfSVJRX0lQSTApCiAKICNkZWZpbmUgSVBJX1NISUZUCSgwKQogI2RlZmluZSBOUl9JUElTCQkoOCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLW1pcHMvbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oIGIvaW5jbHVkZS9hc20tbWlwcy9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmgKaW5kZXggZGFlNGVjYS4uODkyYjdmMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tbWlwcy9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmgKKysrIGIvaW5jbHVkZS9hc20tbWlwcy9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmgKQEAgLTIwNCw2ICsyMDQsMTQgQEAKIAl1MzIJcHNjX2kyc3VkZjsKIH0gcHNjX2kyc190OwogCisjZGVmaW5lIFBTQ19JMlNDRkdfT0ZGU0VUCTB4MDgKKyNkZWZpbmUgUFNDX0kyU01BU0tfT0ZGU0VUCTB4MEMKKyNkZWZpbmUgUFNDX0kyU1BDUl9PRkZTRVQJMHgxMAorI2RlZmluZSBQU0NfSTJTU1RBVF9PRkZTRVQJMHgxNAorI2RlZmluZSBQU0NfSTJTRVZFTlRfT0ZGU0VUCTB4MTgKKyNkZWZpbmUgUFNDX0kyU1JYVFhfT0ZGU0VUCTB4MUMKKyNkZWZpbmUgUFNDX0kyU1VERl9PRkZTRVQJMHgyMAorCiAvKiBJMlMgQ29uZmlnIFJlZ2lzdGVyLiAqLwogI2RlZmluZSBQU0NfSTJTQ0ZHX1JUX01BU0sJKDMgPDwgMzApCiAjZGVmaW5lIFBTQ19JMlNDRkdfUlRfRklGTzEJKDAgPDwgMzApCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1taXBzL3NtcC5oIGIvaW5jbHVkZS9hc20tbWlwcy9zbXAuaAppbmRleCA4NGZlZjFhLi4wZmY1YjUyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1taXBzL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLW1pcHMvc21wLmgKQEAgLTM1LDE2ICszNSw2IEBACiAKICNkZWZpbmUgTk9fUFJPQ19JRAkoLTEpCiAKLXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IHsKLQl2b2lkCQkoKmZ1bmMpKHZvaWQgKik7Ci0Jdm9pZAkJKmluZm87Ci0JYXRvbWljX3QJc3RhcnRlZDsKLQlhdG9taWNfdAlmaW5pc2hlZDsKLQlpbnQJCXdhaXQ7Ci19OwotCi1leHRlcm4gc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKLQogI2RlZmluZSBTTVBfUkVTQ0hFRFVMRV9ZT1VSU0VMRgkweDEJLyogWFhYIGJyYWluZGVhZCAqLwogI2RlZmluZSBTTVBfQ0FMTF9GVU5DVElPTgkweDIKIApAQCAtNjcsNCArNTcsNyBAQAogCiBleHRlcm4gYXNtbGlua2FnZSB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKICNlbmRpZiAvKiBfX0FTTV9TTVBfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tcGFyaXNjL3NtcC5oIGIvaW5jbHVkZS9hc20tcGFyaXNjL3NtcC5oCmluZGV4IDMwNmY0OTUuLjM5OGNkYmEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXBhcmlzYy9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1wYXJpc2Mvc21wLmgKQEAgLTMwLDYgKzMwLDkgQEAKIGV4dGVybiB2b2lkIHNtcF9zZW5kX3Jlc2NoZWR1bGUoaW50IGNwdSk7CiBleHRlcm4gdm9pZCBzbXBfc2VuZF9hbGxfbm9wKHZvaWQpOwogCitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpOworZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKTsKKwogI2VuZGlmIC8qICFBU1NFTUJMWSAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tcG93ZXJwYy9mdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXBvd2VycGMvZnRyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU5MjEzMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXBvd2VycGMvZnRyYWNlLmgKQEAgLTAsMCArMSwxNCBAQAorI2lmbmRlZiBfQVNNX1BPV0VSUENfRlRSQUNFCisjZGVmaW5lIF9BU01fUE9XRVJQQ19GVFJBQ0UKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNkZWZpbmUgTUNPVU5UX0FERFIJCSgobG9uZykoX21jb3VudCkpCisjZGVmaW5lIE1DT1VOVF9JTlNOX1NJWkUJNCAvKiBzaXplb2YgbWNvdW50IGNhbGwgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIF9tY291bnQodm9pZCk7CisjZW5kaWYKKworI2VuZGlmCisKKyNlbmRpZiAvKiBfQVNNX1BPV0VSUENfRlRSQUNFICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1wb3dlcnBjL2h3X2lycS5oIGIvaW5jbHVkZS9hc20tcG93ZXJwYy9od19pcnEuaAppbmRleCBhZDhjOWY3Li5mNzVhNWZjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1wb3dlcnBjL2h3X2lycS5oCisrKyBiL2luY2x1ZGUvYXNtLXBvd2VycGMvaHdfaXJxLmgKQEAgLTU5LDYgKzU5LDExIEBACiAJCWdldF9wYWNhKCktPmhhcmRfZW5hYmxlZCA9IDA7CVwKIAl9IHdoaWxlKDApCiAKK3N0YXRpYyBpbmxpbmUgaW50IGlycXNfZGlzYWJsZWRfZmxhZ3ModW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlyZXR1cm4gZmxhZ3MgPT0gMDsKK30KKwogI2Vsc2UKIAogI2lmIGRlZmluZWQoQ09ORklHX0JPT0tFKQpAQCAtMTEzLDYgKzExOCwxMSBAQAogI2RlZmluZSBoYXJkX2lycV9lbmFibGUoKQlsb2NhbF9pcnFfZW5hYmxlKCkKICNkZWZpbmUgaGFyZF9pcnFfZGlzYWJsZSgpCWxvY2FsX2lycV9kaXNhYmxlKCkKIAorc3RhdGljIGlubGluZSBpbnQgaXJxc19kaXNhYmxlZF9mbGFncyh1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXJldHVybiAoZmxhZ3MgJiBNU1JfRUUpID09IDA7Cit9CisKICNlbmRpZiAvKiBDT05GSUdfUFBDNjQgKi8KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXBvd2VycGMvc21wLmggYi9pbmNsdWRlL2FzbS1wb3dlcnBjL3NtcC5oCmluZGV4IDUwNWYzNWIuLmM2NjNhMWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXBvd2VycGMvc21wLmgKKysrIGIvaW5jbHVkZS9hc20tcG93ZXJwYy9zbXAuaApAQCAtNjcsMTAgKzY3LDcgQEAKICAqIGluIC9wcm9jL2ludGVycnVwdHMgd2lsbCBiZSB3cm9uZyEhISAtLVRyb3kgKi8KICNkZWZpbmUgUFBDX01TR19DQUxMX0ZVTkNUSU9OICAgMAogI2RlZmluZSBQUENfTVNHX1JFU0NIRURVTEUgICAgICAxCi0vKiBUaGlzIGlzIHVudXNlZCBub3cgKi8KLSNpZiAwCi0jZGVmaW5lIFBQQ19NU0dfTUlHUkFURV9UQVNLICAgIDIKLSNlbmRpZgorI2RlZmluZSBQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUJMgogI2RlZmluZSBQUENfTVNHX0RFQlVHR0VSX0JSRUFLICAzCiAKIHZvaWQgc21wX2luaXRfaVNlcmllcyh2b2lkKTsKQEAgLTExNyw2ICsxMTQsOSBAQAogCiBleHRlcm4gc3RydWN0IHNtcF9vcHNfdCAqc21wX29wczsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKICNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KIAogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkIGIvaW5jbHVkZS9hc20tczM5MC9LYnVpbGQKaW5kZXggMTNjOTgwNS4uMDlmMzEyNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC9LYnVpbGQKKysrIGIvaW5jbHVkZS9hc20tczM5MC9LYnVpbGQKQEAgLTgsNiArOCw5IEBACiBoZWFkZXIteSArPSB2dG9jLmgKIGhlYWRlci15ICs9IHpjcnlwdC5oCiBoZWFkZXIteSArPSBrdm0uaAoraGVhZGVyLXkgKz0gc2NoaWQuaAoraGVhZGVyLXkgKz0gY2hzYy5oCiAKIHVuaWZkZWYteSArPSBjbWIuaAogdW5pZmRlZi15ICs9IGRlYnVnLmgKK3VuaWZkZWYteSArPSBjaHBpZC5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaCBiL2luY2x1ZGUvYXNtLXMzOTAvYWlycS5oCmluZGV4IDQxZDAyOGNiLi4xYWM4MGQ2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaApAQCAtMTMsNyArMTMsNyBAQAogCiB0eXBlZGVmIHZvaWQgKCphZGFwdGVyX2ludF9oYW5kbGVyX3QpKHZvaWQgKiwgdm9pZCAqKTsKIAotdm9pZCAqczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdChhZGFwdGVyX2ludF9oYW5kbGVyX3QsIHZvaWQgKik7Ci12b2lkIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh2b2lkICopOwordm9pZCAqczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdChhZGFwdGVyX2ludF9oYW5kbGVyX3QsIHZvaWQgKiwgdTgpOwordm9pZCBzMzkwX3VucmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQodm9pZCAqLCB1OCk7CiAKICNlbmRpZiAvKiBfQVNNX1MzOTBfQUlSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2Njd2Rldi5oIGIvaW5jbHVkZS9hc20tczM5MC9jY3dkZXYuaAppbmRleCAwNjZhYTcwLi5iYTAwN2Q4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2Njd2Rldi5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2N3ZGV2LmgKQEAgLTEyLDYgKzEyLDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KIAogLyogc3RydWN0cyBmcm9tIGFzbS9jaW8uaCAqLwogc3RydWN0IGlyYjsKQEAgLTE1Nyw2ICsxNTgsMTcgQEAKIGV4dGVybiBpbnQgY2N3X2RldmljZV9yZXN1bWUoc3RydWN0IGNjd19kZXZpY2UgKik7CiBleHRlcm4gaW50IGNjd19kZXZpY2VfaGFsdChzdHJ1Y3QgY2N3X2RldmljZSAqLCB1bnNpZ25lZCBsb25nKTsKIGV4dGVybiBpbnQgY2N3X2RldmljZV9jbGVhcihzdHJ1Y3QgY2N3X2RldmljZSAqLCB1bnNpZ25lZCBsb25nKTsKK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0X2tleShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldiwgc3RydWN0IHRjdyAqdGN3LAorCQkJICAgIHVuc2lnbmVkIGxvbmcgaW50cGFybSwgdTggbHBtLCB1OCBrZXkpOworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfa2V5KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCwgdTgpOworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkoc3RydWN0IGNjd19kZXZpY2UgKiwgc3RydWN0IHRjdyAqLAorCQkJICAgIHVuc2lnbmVkIGxvbmcsIHU4LCB1OCwgaW50KTsKK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCk7CitpbnQgY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCwgaW50KTsKK2ludCBjY3dfZGV2aWNlX3RtX2ludHJnKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KTsKIAogZXh0ZXJuIGludCBjY3dfZGV2aWNlX3NldF9vbmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpOwogZXh0ZXJuIGludCBjY3dfZGV2aWNlX3NldF9vZmZsaW5lKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvY2hwaWQuaCBiL2luY2x1ZGUvYXNtLXMzOTAvY2hwaWQuaAppbmRleCBiMjAzMzM2Li42MDY4NDRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2NocGlkLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9jaHBpZC5oCkBAIC0xMCw3ICsxMCw2IEBACiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KLSNpbmNsdWRlIDxhc20vY2lvLmg+CiAKICNkZWZpbmUgX19NQVhfQ0hQSUQgMjU1CiAKQEAgLTQxLDYgKzQwLDkgQEAKIAl9CiB9CiAKKyNpZmRlZiBfX0tFUk5FTF9fCisjaW5jbHVkZSA8YXNtL2Npby5oPgorCiBzdGF0aWMgaW5saW5lIGludCBjaHBfaWRfaXNfdmFsaWQoc3RydWN0IGNocF9pZCAqY2hwaWQpCiB7CiAJcmV0dXJuIChjaHBpZC0+Y3NzaWQgPD0gX19NQVhfQ1NTSUQpOwpAQCAtNDksNSArNTEsNiBAQAogCiAjZGVmaW5lIGNocF9pZF9mb3JfZWFjaChjKSBcCiAJZm9yIChjaHBfaWRfaW5pdChjKTsgY2hwX2lkX2lzX3ZhbGlkKGMpOyBjaHBfaWRfbmV4dChjKSkKKyNlbmRpZiAvKiBfX0tFUk5FTCAqLwogCiAjZW5kaWYgLyogX0FTTV9TMzkwX0NIUElEX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvY2hzYy5oIGIvaW5jbHVkZS9hc20tczM5MC9jaHNjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM4ZDBjZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2hzYy5oCkBAIC0wLDAgKzEsMTI3IEBACisvKgorICogaW9jdGwgaW50ZXJmYWNlIGZvciAvZGV2L2Noc2MKKyAqCisgKiBDb3B5cmlnaHQgMjAwOCBJQk0gQ29ycC4KKyAqIEF1dGhvcihzKTogQ29ybmVsaWEgSHVjayA8Y29ybmVsaWEuaHVja0BkZS5pYm0uY29tPgorICovCisKKyNpZm5kZWYgX0FTTV9DSFNDX0gKKyNkZWZpbmUgX0FTTV9DSFNDX0gKKworI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgorCitzdHJ1Y3QgY2hzY19hc3luY19oZWFkZXIgeworCV9fdTE2IGxlbmd0aDsKKwlfX3UxNiBjb2RlOworCV9fdTMyIGNtZF9kZXBlbmRlbmQ7CisJX191MzIga2V5IDogNDsKKwlfX3UzMiA6IDI4OworCXN0cnVjdCBzdWJjaGFubmVsX2lkIHNpZDsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCitzdHJ1Y3QgY2hzY19hc3luY19hcmVhIHsKKwlzdHJ1Y3QgY2hzY19hc3luY19oZWFkZXIgaGVhZGVyOworCV9fdTggZGF0YVtQQUdFX1NJWkUgLSAxNiAvKiBzaXplIG9mIGNoc2NfYXN5bmNfaGVhZGVyICovXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisKK3N0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCB7CisJX191MTYgbGVuZ3RoOworCV9fdTE2IGNvZGU7CisJX191MzIgcGFybXM7CisJX191OCBkYXRhW1BBR0VfU0laRSAtIDhdOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK3N0cnVjdCBjaHNjX2NocF9jZCB7CisJc3RydWN0IGNocF9pZCBjaHBpZDsKKwlpbnQgbTsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBjcGNiOworfTsKKworc3RydWN0IGNoc2NfY3VfY2QgeworCV9fdTE2IGN1bjsKKwlfX3U4IGNzc2lkOworCWludCBtOworCWludCBmbXQ7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IGN1Y2I7Cit9OworCitzdHJ1Y3QgY2hzY19zY2hfY3VkIHsKKwlzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZDsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBzY3ViOworfTsKKworc3RydWN0IGNvbmZfaWQgeworCWludCBtOworCV9fdTggY3NzaWQ7CisJX191OCBzc2lkOworfTsKKworc3RydWN0IGNoc2NfY29uZl9pbmZvIHsKKwlzdHJ1Y3QgY29uZl9pZCBpZDsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBzY2lkOworfTsKKworc3RydWN0IGNjbF9wYXJtX2NocGlkIHsKKwlpbnQgbTsKKwlzdHJ1Y3QgY2hwX2lkIGNocDsKK307CisKK3N0cnVjdCBjY2xfcGFybV9jc3NpZHMgeworCV9fdTggZl9jc3NpZDsKKwlfX3U4IGxfY3NzaWQ7Cit9OworCitzdHJ1Y3QgY2hzY19jb21wX2xpc3QgeworCXN0cnVjdCB7CisJCWVudW0geworCQkJQ0NMX0NVX09OX0NIUCA9IDEsCisJCQlDQ0xfQ0hQX1RZUEVfQ0FQID0gMiwKKwkJCUNDTF9DU1NfSU1HID0gNCwKKwkJCUNDTF9DU1NfSU1HX0NPTkZfQ0hBUiA9IDUsCisJCQlDQ0xfSU9QX0NIUCA9IDYsCisJCX0gY3R5cGU7CisJCWludCBmbXQ7CisJCXN0cnVjdCBjY2xfcGFybV9jaHBpZCBjaHBpZDsKKwkJc3RydWN0IGNjbF9wYXJtX2Nzc2lkcyBjc3NpZHM7CisJfSByZXE7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IHNjY2w7Cit9OworCitzdHJ1Y3QgY2hzY19kY2FsIHsKKwlzdHJ1Y3QgeworCQllbnVtIHsKKwkJCURDQUxfQ1NTX0lJRF9QTiA9IDQsCisJCX0gYXR5cGU7CisJCV9fdTMyIGxpc3RfcGFybVsyXTsKKwkJaW50IGZtdDsKKwl9IHJlcTsKKwlzdHJ1Y3QgY2hzY19yZXNwb25zZV9zdHJ1Y3Qgc2RjYWw7Cit9OworCitzdHJ1Y3QgY2hzY19jcGRfaW5mbyB7CisJc3RydWN0IGNocF9pZCBjaHBpZDsKKwlpbnQgbTsKKwlpbnQgZm10OworCWludCByZm10OworCWludCBjOworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBjaHBkYjsKK307CisKKyNkZWZpbmUgQ0hTQ19JT0NUTF9NQUdJQyAnYycKKworI2RlZmluZSBDSFNDX1NUQVJUIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODEsIHN0cnVjdCBjaHNjX2FzeW5jX2FyZWEpCisjZGVmaW5lIENIU0NfSU5GT19DSEFOTkVMX1BBVEggX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4MiwgXAorCQkJCSAgICBzdHJ1Y3QgY2hzY19jaHBfY2QpCisjZGVmaW5lIENIU0NfSU5GT19DVSBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDgzLCBzdHJ1Y3QgY2hzY19jdV9jZCkKKyNkZWZpbmUgQ0hTQ19JTkZPX1NDSF9DVSBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDg0LCBzdHJ1Y3QgY2hzY19zY2hfY3VkKQorI2RlZmluZSBDSFNDX0lORk9fQ0kgX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4NSwgc3RydWN0IGNoc2NfY29uZl9pbmZvKQorI2RlZmluZSBDSFNDX0lORk9fQ0NMIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODYsIHN0cnVjdCBjaHNjX2NvbXBfbGlzdCkKKyNkZWZpbmUgQ0hTQ19JTkZPX0NQRCBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDg3LCBzdHJ1Y3QgY2hzY19jcGRfaW5mbykKKyNkZWZpbmUgQ0hTQ19JTkZPX0RDQUwgX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4OCwgc3RydWN0IGNoc2NfZGNhbCkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2Npby5oIGIvaW5jbHVkZS9hc20tczM5MC9jaW8uaAppbmRleCAwODE4ZWNkLi42ZGNjYjA3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2Npby5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2lvLmgKQEAgLTE2LDcgKzE2LDcgQEAKICNkZWZpbmUgX19NQVhfQ1NTSUQgMAogCiAvKioKLSAqIHN0cnVjdCBzY3N3IC0gc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogc3RydWN0IGNtZF9zY3N3IC0gY29tbWFuZC1tb2RlIHN1YmNoYW5uZWwgc3RhdHVzIHdvcmQKICAqIEBrZXk6IHN1YmNoYW5uZWwga2V5CiAgKiBAc2N0bDogc3VzcGVuZCBjb250cm9sCiAgKiBAZXN3ZjogZXN3IGZvcm1hdApAQCAtMzgsNyArMzgsNyBAQAogICogQGNzdGF0OiBzdWJjaGFubmVsIHN0YXR1cwogICogQGNvdW50OiByZXNpZHVhbCBjb3VudAogICovCi1zdHJ1Y3Qgc2NzdyB7CitzdHJ1Y3QgY21kX3Njc3cgewogCV9fdTMyIGtleSAgOiA0OwogCV9fdTMyIHNjdGwgOiAxOwogCV9fdTMyIGVzd2YgOiAxOwpAQCAtNjEsNiArNjEsMTE0IEBACiAJX191MzIgY291bnQgOiAxNjsKIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCisvKioKKyAqIHN0cnVjdCB0bV9zY3N3IC0gdHJhbnNwb3J0LW1vZGUgc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogQGtleTogc3ViY2hhbm5lbCBrZXkKKyAqIEBlc3dmOiBlc3cgZm9ybWF0CisgKiBAY2M6IGRlZmVycmVkIGNvbmRpdGlvbiBjb2RlCisgKiBAZm10OiBmb3JtYXQKKyAqIEB4OiBJUkItZm9ybWF0IGNvbnRyb2wKKyAqIEBxOiBpbnRlcnJvZ2F0ZS1jb21wbGV0ZQorICogQGVjdGw6IGV4dGVuZGVkIGNvbnRyb2wKKyAqIEBwbm86IHBhdGggbm90IG9wZXJhdGlvbmFsCisgKiBAZmN0bDogZnVuY3Rpb24gY29udHJvbAorICogQGFjdGw6IGFjdGl2aXR5IGNvbnRyb2wKKyAqIEBzdGN0bDogc3RhdHVzIGNvbnRyb2wKKyAqIEB0Y3c6IFRDVyBhZGRyZXNzCisgKiBAZHN0YXQ6IGRldmljZSBzdGF0dXMKKyAqIEBjc3RhdDogc3ViY2hhbm5lbCBzdGF0dXMKKyAqIEBmY3hzOiBGQ1ggc3RhdHVzCisgKiBAc2NoeHM6IHN1YmNoYW5uZWwtZXh0ZW5kZWQgc3RhdHVzCisgKi8KK3N0cnVjdCB0bV9zY3N3IHsKKwl1MzIga2V5OjQ7CisJdTMyIDoxOworCXUzMiBlc3dmOjE7CisJdTMyIGNjOjI7CisJdTMyIGZtdDozOworCXUzMiB4OjE7CisJdTMyIHE6MTsKKwl1MzIgOjE7CisJdTMyIGVjdGw6MTsKKwl1MzIgcG5vOjE7CisJdTMyIDoxOworCXUzMiBmY3RsOjM7CisJdTMyIGFjdGw6NzsKKwl1MzIgc3RjdGw6NTsKKwl1MzIgdGN3OworCXUzMiBkc3RhdDo4OworCXUzMiBjc3RhdDo4OworCXUzMiBmY3hzOjg7CisJdTMyIHNjaHhzOjg7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyoqCisgKiB1bmlvbiBzY3N3IC0gc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogQGNtZDogY29tbWFuZC1tb2RlIFNDU1cKKyAqIEB0bTogdHJhbnNwb3J0LW1vZGUgU0NTVworICovCit1bmlvbiBzY3N3IHsKKwlzdHJ1Y3QgY21kX3Njc3cgY21kOworCXN0cnVjdCB0bV9zY3N3IHRtOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK2ludCBzY3N3X2lzX3RtKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfa2V5KHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2NjKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfa2V5KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2NjKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2tleSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9zY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfY2ModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZm10KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3BmY2godW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfaXNpYyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9hbGNjKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3NzaSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF96Y2ModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9wbm8odW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3N0Y3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3NvbGljaXRlZCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2tleSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2ZtdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3godW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9xKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZmN4cyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3NjaHhzKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpOworCiAjZGVmaW5lIFNDU1dfRkNUTF9DTEVBUl9GVU5DCSAweDEKICNkZWZpbmUgU0NTV19GQ1RMX0hBTFRfRlVOQwkgMHgyCiAjZGVmaW5lIFNDU1dfRkNUTF9TVEFSVF9GVU5DCSAweDQKQEAgLTMwMyw3ICs0MTEsNyBAQAogICogaWYgYXBwbGljYWJsZSkuCiAgKi8KIHN0cnVjdCBpcmIgewotCXN0cnVjdCBzY3N3IHNjc3c7CisJdW5pb24gc2NzdyBzY3N3OwogCXVuaW9uIHsKIAkJc3RydWN0IGVzdzAgZXN3MDsKIAkJc3RydWN0IGVzdzEgZXN3MTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvZWxmLmggYi9pbmNsdWRlL2FzbS1zMzkwL2VsZi5oCmluZGV4IGIzYWMyNjIuLjNjYWQ1NjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvZWxmLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9lbGYuaApAQCAtMTEzLDYgKzExMyw5IEBACiB0eXBlZGVmIHMzOTBfZnBfcmVncyBlbGZfZnByZWdzZXRfdDsKIHR5cGVkZWYgczM5MF9yZWdzIGVsZl9ncmVnc2V0X3Q7CiAKK3R5cGVkZWYgczM5MF9mcF9yZWdzIGNvbXBhdF9lbGZfZnByZWdzZXRfdDsKK3R5cGVkZWYgczM5MF9jb21wYXRfcmVncyBjb21wYXRfZWxmX2dyZWdzZXRfdDsKKwogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CS8qIGZvciB0YXNrX3N0cnVjdCAqLwogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4JCS8qIGZvciBzYXZlX2FjY2Vzc19yZWdzICovCiAjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CkBAIC0xMjMsNiArMTI2LDEwIEBACiAjZGVmaW5lIGVsZl9jaGVja19hcmNoKHgpIFwKIAkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKICAgICAgICAgICYmICh4KS0+ZV9pZGVudFtFSV9DTEFTU10gPT0gRUxGX0NMQVNTKSAKKyNkZWZpbmUgY29tcGF0X2VsZl9jaGVja19hcmNoKHgpIFwKKwkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKKwkgJiYgKHgpLT5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZfQ0xBU1MpCisjZGVmaW5lIGNvbXBhdF9zdGFydF90aHJlYWQJc3RhcnRfdGhyZWFkMzEKIAogLyogRm9yIFNWUjQvUzM5MCB0aGUgZnVuY3Rpb24gcG9pbnRlciB0byBiZSByZWdpc3RlcmVkIHdpdGggYGF0ZXhpdGAgaXMKICAgIHBhc3NlZCBpbiBSMTQuICovCkBAIC0xMzEsNiArMTM4LDcgQEAKIAkJX3ItPmdwcnNbMTRdID0gMDsgXAogCX0gd2hpbGUgKDApCiAKKyNkZWZpbmUgQ09SRV9EVU1QX1VTRV9SRUdTRVQKICNkZWZpbmUgVVNFX0VMRl9DT1JFX0RVTVAKICNkZWZpbmUgRUxGX0VYRUNfUEFHRVNJWkUJNDA5NgogCkBAIC0xNDAsNDQgKzE0OCw2IEBACiAgICB0aGF0IGl0IHdpbGwgImV4ZWMiLCBhbmQgdGhhdCB0aGVyZSBpcyBzdWZmaWNpZW50IHJvb20gZm9yIHRoZSBicmsuICAqLwogI2RlZmluZSBFTEZfRVRfRFlOX0JBU0UJCShTVEFDS19UT1AgLyAzICogMikKIAotLyogV293LCB0aGUgIm1haW4iIGFyY2ggbmVlZHMgYXJjaCBkZXBlbmRlbnQgZnVuY3Rpb25zIHRvby4uIDopICovCi0KLS8qIHJlZ3MgaXMgc3RydWN0IHB0X3JlZ3MsIHByX3JlZyBpcyBlbGZfZ3JlZ3NldF90ICh3aGljaCBpcwotICAgbm93IHN0cnVjdF91c2VyX3JlZ3MsIHRoZXkgYXJlIGRpZmZlcmVudCkgKi8KLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF9yZWdzKHN0cnVjdCBwdF9yZWdzICpwdHJlZ3MsIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0JbWVtY3B5KCZyZWdzLT5wc3csICZwdHJlZ3MtPnBzdywgc2l6ZW9mKHJlZ3MtPnBzdykrc2l6ZW9mKHJlZ3MtPmdwcnMpKTsKLQlzYXZlX2FjY2Vzc19yZWdzKHJlZ3MtPmFjcnMpOwotCXJlZ3MtPm9yaWdfZ3ByMiA9IHB0cmVncy0+b3JpZ19ncHIyOwotCXJldHVybiAxOwotfQotCi0jZGVmaW5lIEVMRl9DT1JFX0NPUFlfUkVHUyhwcl9yZWcsIHJlZ3MpIGR1bXBfcmVncyhyZWdzLCAmcHJfcmVnKTsKLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF90YXNrX3JlZ3Moc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0Jc3RydWN0IHB0X3JlZ3MgKnB0cmVncyA9IHRhc2tfcHRfcmVncyh0c2spOwotCW1lbWNweSgmcmVncy0+cHN3LCAmcHRyZWdzLT5wc3csIHNpemVvZihyZWdzLT5wc3cpK3NpemVvZihyZWdzLT5ncHJzKSk7Ci0JbWVtY3B5KHJlZ3MtPmFjcnMsIHRzay0+dGhyZWFkLmFjcnMsIHNpemVvZihyZWdzLT5hY3JzKSk7Ci0JcmVncy0+b3JpZ19ncHIyID0gcHRyZWdzLT5vcmlnX2dwcjI7Ci0JcmV0dXJuIDE7Ci19Ci0KLSNkZWZpbmUgRUxGX0NPUkVfQ09QWV9UQVNLX1JFR1ModHNrLCByZWdzKSBkdW1wX3Rhc2tfcmVncyh0c2ssIHJlZ3MpCi0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfdGFza19mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9mcHJlZ3NldF90ICpmcHJlZ3MpCi17Ci0JaWYgKHRzayA9PSBjdXJyZW50KQotCQlzYXZlX2ZwX3JlZ3MoZnByZWdzKTsKLQllbHNlCi0JCW1lbWNweShmcHJlZ3MsICZ0c2stPnRocmVhZC5mcF9yZWdzLCBzaXplb2YoZWxmX2ZwcmVnc2V0X3QpKTsKLQlyZXR1cm4gMTsKLX0KLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX0ZQUkVHUyh0c2ssIGZwcmVncykgZHVtcF90YXNrX2ZwdSh0c2ssIGZwcmVncykKLQotCiAvKiBUaGlzIHlpZWxkcyBhIG1hc2sgdGhhdCB1c2VyIHByb2dyYW1zIGNhbiB1c2UgdG8gZmlndXJlIG91dCB3aGF0CiAgICBpbnN0cnVjdGlvbiBzZXQgdGhpcyBDUFUgc3VwcG9ydHMuICovCiAKQEAgLTIwNCw3ICsxNzQsMTAgQEAKIAkJc2V0X3BlcnNvbmFsaXR5KFBFUl9TVlI0KTsJCVwKIAllbHNlIGlmIChjdXJyZW50LT5wZXJzb25hbGl0eSAhPSBQRVJfTElOVVgzMikJXAogCQlzZXRfcGVyc29uYWxpdHkoUEVSX0xJTlVYKTsJCVwKLQljbGVhcl90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJCVwKKwlpZiAoKGV4KS5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZDTEFTUzMyKQlcCisJCXNldF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJXAorCWVsc2UJCQkJCQlcCisJCWNsZWFyX3RocmVhZF9mbGFnKFRJRl8zMUJJVCk7CQlcCiB9IHdoaWxlICgwKQogI2VuZGlmIC8qIF9fczM5MHhfXyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2V0ci5oIGIvaW5jbHVkZS9hc20tczM5MC9ldHIuaAppbmRleCBiNDk4ZjE5Li44MGVmNThjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2V0ci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvZXRyLmgKQEAgLTEyMiw3ICsxMjIsNyBAQAogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLGFsaWduZWQoOCkpKTsKIAogLyogRVRSIGludGVycnVwdGlvbiBwYXJhbWV0ZXIgKi8KLXN0cnVjdCBldHJfaW50ZXJydXB0aW9uX3BhcmFtZXRlciB7CitzdHJ1Y3QgZXRyX2lycV9wYXJtIHsKIAl1bnNpZ25lZCBpbnQgX3BhZDAJOiA4OwogCXVuc2lnbmVkIGludCBwYzAJOiAxOwkvKiBwb3J0IDAgc3RhdGUgY2hhbmdlICovCiAJdW5zaWduZWQgaW50IHBjMQk6IDE7CS8qIHBvcnQgMSBzdGF0ZSBjaGFuZ2UgKi8KQEAgLTIxMyw3ICsyMTMsNDYgQEAKICNkZWZpbmUgRVRSX1BURkZfU0dTCTB4NDMJLyogc2V0IGdyb3NzIHN0ZWVyaW5nIHJhdGUgKi8KIAogLyogRnVuY3Rpb25zIG5lZWRlZCBieSB0aGUgbWFjaGluZSBjaGVjayBoYW5kbGVyICovCi1leHRlcm4gdm9pZCBldHJfc3dpdGNoX3RvX2xvY2FsKHZvaWQpOwotZXh0ZXJuIHZvaWQgZXRyX3N5bmNfY2hlY2sodm9pZCk7Cit2b2lkIGV0cl9zd2l0Y2hfdG9fbG9jYWwodm9pZCk7Cit2b2lkIGV0cl9zeW5jX2NoZWNrKHZvaWQpOworCisvKiBTVFAgaW50ZXJydXB0aW9uIHBhcmFtZXRlciAqLworc3RydWN0IHN0cF9pcnFfcGFybSB7CisJdW5zaWduZWQgaW50IF9wYWQwCTogMTQ7CisJdW5zaWduZWQgaW50IHRzYwk6IDE7CS8qIFRpbWluZyBzdGF0dXMgY2hhbmdlICovCisJdW5zaWduZWQgaW50IGxhYwk6IDE7CS8qIExpbmsgYXZhaWxhYmlsaXR5IGNoYW5nZSAqLworCXVuc2lnbmVkIGludCB0Y3BjCTogMTsJLyogVGltZSBjb250cm9sIHBhcmFtZXRlciBjaGFuZ2UgKi8KKwl1bnNpZ25lZCBpbnQgX3BhZDIJOiAxNTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIFNUUF9PUF9TWU5DCTEKKyNkZWZpbmUgU1RQX09QX0NUUkwJMworCitzdHJ1Y3Qgc3RwX3NzdHBpIHsKKwl1bnNpZ25lZCBpbnQgcnN2ZDA7CisJdW5zaWduZWQgaW50IHJzdmQxIDogODsKKwl1bnNpZ25lZCBpbnQgc3RyYXR1bSA6IDg7CisJdW5zaWduZWQgaW50IHZiaXRzIDogMTY7CisJdW5zaWduZWQgaW50IGxlYXBzIDogMTY7CisJdW5zaWduZWQgaW50IHRtZCA6IDQ7CisJdW5zaWduZWQgaW50IGN0biA6IDQ7CisJdW5zaWduZWQgaW50IHJzdmQyIDogMzsKKwl1bnNpZ25lZCBpbnQgYyA6IDE7CisJdW5zaWduZWQgaW50IHRzdCA6IDQ7CisJdW5zaWduZWQgaW50IHR6byA6IDE2OworCXVuc2lnbmVkIGludCBkc3RvIDogMTY7CisJdW5zaWduZWQgaW50IGN0cmwgOiAxNjsKKwl1bnNpZ25lZCBpbnQgcnN2ZDMgOiAxNjsKKwl1bnNpZ25lZCBpbnQgdHRvOworCXVuc2lnbmVkIGludCByc3ZkNDsKKwl1bnNpZ25lZCBpbnQgY3RuaWRbM107CisJdW5zaWduZWQgaW50IHJzdmQ1OworCXVuc2lnbmVkIGludCB0b2RvZmZbNF07CisJdW5zaWduZWQgaW50IHJzdmQ2WzQ4XTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKiBGdW5jdGlvbnMgbmVlZGVkIGJ5IHRoZSBtYWNoaW5lIGNoZWNrIGhhbmRsZXIgKi8KK3ZvaWQgc3RwX3N5bmNfY2hlY2sodm9pZCk7Cit2b2lkIHN0cF9pc2xhbmRfY2hlY2sodm9pZCk7CiAKICNlbmRpZiAvKiBfX1MzOTBfRVRSX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvZmN4LmggYi9pbmNsdWRlL2FzbS1zMzkwL2ZjeC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiZTFmM2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2ZjeC5oCkBAIC0wLDAgKzEsMzExIEBACisvKgorICogIEZ1bmN0aW9ucyBmb3IgYXNzZW1ibGluZyBmY3ggZW5hYmxlZCBJL08gY29udHJvbCBibG9ja3MuCisgKgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiAgICBBdXRob3Iocyk6IFBldGVyIE9iZXJwYXJsZWl0ZXIgPHBldGVyLm9iZXJwYXJsZWl0ZXJAZGUuaWJtLmNvbT4KKyAqLworCisjaWZuZGVmIF9BU01fUzM5MF9GQ1hfSAorI2RlZmluZSBfQVNNX1MzOTBfRkNYX0ggX0FTTV9TMzkwX0ZDWF9ICisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisjZGVmaW5lIFRDV19GT1JNQVRfREVGQVVMVAkJMAorI2RlZmluZSBUQ1dfVElEQVdfRk9STUFUX0RFRkFVTFQJMAorI2RlZmluZSBUQ1dfRkxBR1NfSU5QVVRfVElEQQkJMSA8PCAoMjMgLSA1KQorI2RlZmluZSBUQ1dfRkxBR1NfVENDQl9USURBCQkxIDw8ICgyMyAtIDYpCisjZGVmaW5lIFRDV19GTEFHU19PVVRQVVRfVElEQQkJMSA8PCAoMjMgLSA3KQorI2RlZmluZSBUQ1dfRkxBR1NfVElEQVdfRk9STUFUKHgpCSgoeCkgJiAzKSA8PCAoMjMgLSA5KQorI2RlZmluZSBUQ1dfRkxBR1NfR0VUX1RJREFXX0ZPUk1BVCh4KQkoKCh4KSA+PiAoMjMgLSA5KSkgJiAzKQorCisvKioKKyAqIHN0cnVjdCB0Y3cgLSBUcmFuc3BvcnQgQ29udHJvbCBXb3JkIChUQ1cpCisgKiBAZm9ybWF0OiBUQ1cgZm9ybWF0CisgKiBAZmxhZ3M6IFRDVyBmbGFncworICogQHRjY2JsOiBUcmFuc3BvcnQtQ29tbWFuZC1Db250cm9sLUJsb2NrIExlbmd0aAorICogQHI6IFJlYWQgT3BlcmF0aW9ucworICogQHc6IFdyaXRlIE9wZXJhdGlvbnMKKyAqIEBvdXRwdXQ6IE91dHB1dC1EYXRhIEFkZHJlc3MKKyAqIEBpbnB1dDogSW5wdXQtRGF0YSBBZGRyZXNzCisgKiBAdHNiOiBUcmFuc3BvcnQtU3RhdHVzLUJsb2NrIEFkZHJlc3MKKyAqIEB0Y2NiOiBUcmFuc3BvcnQtQ29tbWFuZC1Db250cm9sLUJsb2NrIEFkZHJlc3MKKyAqIEBvdXRwdXRfY291bnQ6IE91dHB1dCBDb3VudAorICogQGlucHV0X2NvdW50OiBJbnB1dCBDb3VudAorICogQGludHJnOiBJbnRlcnJvZ2F0ZSBUQ1cgQWRkcmVzcworICovCitzdHJ1Y3QgdGN3IHsKKwl1MzIgZm9ybWF0OjI7CisJdTMyIDo2OworCXUzMiBmbGFnczoyNDsKKwl1MzIgOjg7CisJdTMyIHRjY2JsOjY7CisJdTMyIHI6MTsKKwl1MzIgdzoxOworCXUzMiA6MTY7CisJdTY0IG91dHB1dDsKKwl1NjQgaW5wdXQ7CisJdTY0IHRzYjsKKwl1NjQgdGNjYjsKKwl1MzIgb3V0cHV0X2NvdW50OworCXUzMiBpbnB1dF9jb3VudDsKKwl1MzIgOjMyOworCXUzMiA6MzI7CisJdTMyIDozMjsKKwl1MzIgaW50cmc7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoNjQpKSk7CisKKyNkZWZpbmUgVElEQVdfRkxBR1NfTEFTVAkJMSA8PCAoNyAtIDApCisjZGVmaW5lIFRJREFXX0ZMQUdTX1NLSVAJCTEgPDwgKDcgLSAxKQorI2RlZmluZSBUSURBV19GTEFHU19EQVRBX0lOVAkJMSA8PCAoNyAtIDIpCisjZGVmaW5lIFRJREFXX0ZMQUdTX1RUSUMJCTEgPDwgKDcgLSAzKQorI2RlZmluZSBUSURBV19GTEFHU19JTlNFUlRfQ0JDCQkxIDw8ICg3IC0gNCkKKworLyoqCisgKiBzdHJ1Y3QgdGlkYXcgLSBUcmFuc3BvcnQtSW5kaXJlY3QtQWRkcmVzc2luZyBXb3JkIChUSURBVykKKyAqIEBmbGFnczogVElEQVcgZmxhZ3MuIENhbiBiZSBhbiBhcml0aG1ldGljIE9SIG9mIHRoZSBmb2xsb3dpbmcgY29uc3RhbnRzOgorICogJVRJREFXX0ZMQUdTX0xBU1QsICVUSURBV19GTEFHU19TS0lQLCAlVElEQVdfRkxBR1NfREFUQV9JTlQsCisgKiAlVElEQVdfRkxBR1NfVFRJQywgJVRJREFXX0ZMQUdTX0lOU0VSVF9DQkMKKyAqIEBjb3VudDogQ291bnQKKyAqIEBhZGRyOiBBZGRyZXNzCisgKi8KK3N0cnVjdCB0aWRhdyB7CisJdTMyIGZsYWdzOjg7CisJdTMyIDoyNDsKKwl1MzIgY291bnQ7CisJdTY0IGFkZHI7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoMTYpKSk7CisKKy8qKgorICogc3RydWN0IHRzYV9pb3N0YXQgLSBJL08tU3RhdHVzIFRyYW5zcG9ydC1TdGF0dXMgQXJlYSAoSU8tU3RhdCBUU0EpCisgKiBAZGV2X3RpbWU6IERldmljZSBUaW1lCisgKiBAZGVmX3RpbWU6IERlZmVyIFRpbWUKKyAqIEBxdWV1ZV90aW1lOiBRdWV1ZSBUaW1lCisgKiBAZGV2X2J1c3lfdGltZTogRGV2aWNlLUJ1c3kgVGltZQorICogQGRldl9hY3RfdGltZTogRGV2aWNlLUFjdGl2ZS1Pbmx5IFRpbWUKKyAqIEBzZW5zZTogU2Vuc2UgRGF0YSAoaWYgcHJlc2VudCkKKyAqLworc3RydWN0IHRzYV9pb3N0YXQgeworCXUzMiBkZXZfdGltZTsKKwl1MzIgZGVmX3RpbWU7CisJdTMyIHF1ZXVlX3RpbWU7CisJdTMyIGRldl9idXN5X3RpbWU7CisJdTMyIGRldl9hY3RfdGltZTsKKwl1OCBzZW5zZVszMl07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyoqCisgKiBzdHJ1Y3QgdHNhX2RkcGNzIC0gRGV2aWNlLURldGVjdGVkLVByb2dyYW0tQ2hlY2sgVHJhbnNwb3J0LVN0YXR1cyBBcmVhIChERFBDIFRTQSkKKyAqIEByYzogUmVhc29uIENvZGUKKyAqIEByY3E6IFJlYXNvbiBDb2RlIFF1YWxpZmllcgorICogQHNlbnNlOiBTZW5zZSBEYXRhIChpZiBwcmVzZW50KQorICovCitzdHJ1Y3QgdHNhX2RkcGMgeworCXUzMiA6MjQ7CisJdTMyIHJjOjg7CisJdTggcmNxWzE2XTsKKwl1OCBzZW5zZVszMl07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBUU0FfSU5UUkdfRkxBR1NfQ1VfU1RBVEVfVkFMSUQJCTEgPDwgKDcgLSAwKQorI2RlZmluZSBUU0FfSU5UUkdfRkxBR1NfREVWX1NUQVRFX1ZBTElECQkxIDw8ICg3IC0gMSkKKyNkZWZpbmUgVFNBX0lOVFJHX0ZMQUdTX09QX1NUQVRFX1ZBTElECQkxIDw8ICg3IC0gMikKKworLyoqCisgKiBzdHJ1Y3QgdHNhX2ludHJnIC0gSW50ZXJyb2dhdGUgVHJhbnNwb3J0LVN0YXR1cyBBcmVhIChJbnRyZy4gVFNBKQorICogQGZvcm1hdDogRm9ybWF0CisgKiBAZmxhZ3M6IEZsYWdzLiBDYW4gYmUgYW4gYXJpdGhtZXRpYyBPUiBvZiB0aGUgZm9sbG93aW5nIGNvbnN0YW50czoKKyAqICVUU0FfSU5UUkdfRkxBR1NfQ1VfU1RBVEVfVkFMSUQsICVUU0FfSU5UUkdfRkxBR1NfREVWX1NUQVRFX1ZBTElELAorICogJVRTQV9JTlRSR19GTEFHU19PUF9TVEFURV9WQUxJRAorICogQGN1X3N0YXRlOiBDb250cm9sZS1Vbml0IFN0YXRlCisgKiBAZGV2X3N0YXRlOiBEZXZpY2UgU3RhdGUKKyAqIEBvcF9zdGF0ZTogT3BlcmF0aW9uIFN0YXRlCisgKiBAc2RfaW5mbzogU3RhdGUtRGVwZW5kZW50IEluZm9ybWF0aW9uCisgKiBAZGxfaWQ6IERldmljZS1MZXZlbCBJZGVudGlmaWVyCisgKiBAZGRfZGF0YTogRGV2aWNlLURlcGVuZGVudCBEYXRhCisgKi8KK3N0cnVjdCB0c2FfaW50cmcgeworCXUzMiBmb3JtYXQ6ODsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgY3Vfc3RhdGU6ODsKKwl1MzIgZGV2X3N0YXRlOjg7CisJdTMyIG9wX3N0YXRlOjg7CisJdTMyIDoyNDsKKwl1OCBzZF9pbmZvWzEyXTsKKwl1MzIgZGxfaWQ7CisJdTggZGRfZGF0YVsyOF07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBUU0JfRk9STUFUX05PTkUJCTAKKyNkZWZpbmUgVFNCX0ZPUk1BVF9JT1NUQVQJMQorI2RlZmluZSBUU0JfRk9STUFUX0REUEMJCTIKKyNkZWZpbmUgVFNCX0ZPUk1BVF9JTlRSRwkzCisKKyNkZWZpbmUgVFNCX0ZMQUdTX0RDV19PRkZTRVRfVkFMSUQJMSA8PCAoNyAtIDApCisjZGVmaW5lIFRTQl9GTEFHU19DT1VOVF9WQUxJRAkJMSA8PCAoNyAtIDEpCisjZGVmaW5lIFRTQl9GTEFHU19DQUNIRV9NSVNTCQkxIDw8ICg3IC0gMikKKyNkZWZpbmUgVFNCX0ZMQUdTX1RJTUVfVkFMSUQJCTEgPDwgKDcgLSAzKQorI2RlZmluZSBUU0JfRkxBR1NfRk9STUFUKHgpCQkoKHgpICYgNykKKyNkZWZpbmUgVFNCX0ZPUk1BVCh0KQkJCSgodCktPmZsYWdzICYgNykKKworLyoqCisgKiBzdHJ1Y3QgdHNiIC0gVHJhbnNwb3J0LVN0YXR1cyBCbG9jayAoVFNCKQorICogQGxlbmd0aDogTGVuZ3RoCisgKiBAZmxhZ3M6IEZsYWdzLiBDYW4gYmUgYW4gYXJpdGhtZXRpYyBPUiBvZiB0aGUgZm9sbG93aW5nIGNvbnN0YW50czoKKyAqICVUU0JfRkxBR1NfRENXX09GRlNFVF9WQUxJRCwgJVRTQl9GTEFHU19DT1VOVF9WQUxJRCwgJVRTQl9GTEFHU19DQUNIRV9NSVNTLAorICogJVRTQl9GTEFHU19USU1FX1ZBTElECisgKiBAZGN3X29mZnNldDogRENXIE9mZnNldAorICogQGNvdW50OiBDb3VudAorICogQHRzYTogVHJhbnNwb3J0LVN0YXR1cy1BcmVhCisgKi8KK3N0cnVjdCB0c2IgeworCXUzMiBsZW5ndGg6ODsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgZGN3X29mZnNldDoxNjsKKwl1MzIgY291bnQ7CisJdTMyIDozMjsKKwl1bmlvbiB7CisJCXN0cnVjdCB0c2FfaW9zdGF0IGlvc3RhdDsKKwkJc3RydWN0IHRzYV9kZHBjIGRkcGM7CisJCXN0cnVjdCB0c2FfaW50cmcgaW50cmc7CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgdHNhOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLCBhbGlnbmVkKDgpKSk7CisKKyNkZWZpbmUgRENXX0lOVFJHX0ZPUk1BVF9ERUZBVUxUCTAKKworI2RlZmluZSBEQ1dfSU5UUkdfUkNfVU5TUEVDSUZJRUQJMAorI2RlZmluZSBEQ1dfSU5UUkdfUkNfVElNRU9VVAkJMQorCisjZGVmaW5lIERDV19JTlRSR19SQ1FfVU5TUEVDSUZJRUQJMAorI2RlZmluZSBEQ1dfSU5UUkdfUkNRX1BSSU1BUlkJCTEKKyNkZWZpbmUgRENXX0lOVFJHX1JDUV9TRUNPTkRBUlkJCTIKKworI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfTVBNCQkxIDwgKDcgLSAwKQorI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfUFBSCQkxIDwgKDcgLSAxKQorI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfQ1JJVAkJMSA8ICg3IC0gMikKKworLyoqCisgKiBzdHJ1Y3QgZGN3X2ludHJnX2RhdGEgLSBJbnRlcnJvZ2F0ZSBEQ1cgZGF0YQorICogQGZvcm1hdDogRm9ybWF0LiBTaG91bGQgYmUgJURDV19JTlRSR19GT1JNQVRfREVGQVVMVAorICogQHJjOiBSZWFzb24gQ29kZS4gQ2FuIGJlIG9uZSBvZiAlRENXX0lOVFJHX1JDX1VOU1BFQ0lGSUVELAorICogJURDV19JTlRSR19SQ19USU1FT1VUCisgKiBAcmNxOiBSZWFzb24gQ29kZSBRdWFsaWZpZXI6IENhbiBiZSBvbmUgb2YgJURDV19JTlRSR19SQ1FfVU5TUEVDSUZJRUQsCisgKiAlRENXX0lOVFJHX1JDUV9QUklNQVJZLCAlRENXX0lOVFJHX1JDUV9TRUNPTkRBUlkKKyAqIEBscG06IExvZ2ljYWwtUGF0aCBNYXNrCisgKiBAcGFtOiBQYXRoLUF2YWlsYWJsZSBNYXNrCisgKiBAcGltOiBQYXRoLUluc3RhbGxlZCBNYXNrCisgKiBAdGltZW91dDogVGltZW91dAorICogQGZsYWdzOiBGbGFncy4gQ2FuIGJlIGFuIGFyaXRobWV0aWMgT1Igb2YgJURDV19JTlRSR19GTEFHU19NUE0sCisgKiAlRENXX0lOVFJHX0ZMQUdTX1BQUiwgJURDV19JTlRSR19GTEFHU19DUklUCisgKiBAdGltZTogVGltZQorICogQHByb2dfaWQ6IFByb2dyYW0gSWRlbnRpZmllcgorICogQHByb2dfZGF0YTogUHJvZ3JhbS1EZXBlbmRlbnQgRGF0YQorICovCitzdHJ1Y3QgZGN3X2ludHJnX2RhdGEgeworCXUzMiBmb3JtYXQ6ODsKKwl1MzIgcmM6ODsKKwl1MzIgcmNxOjg7CisJdTMyIGxwbTo4OworCXUzMiBwYW06ODsKKwl1MzIgcGltOjg7CisJdTMyIHRpbWVvdXQ6MTY7CisJdTMyIGZsYWdzOjg7CisJdTMyIDoyNDsKKwl1MzIgOjMyOworCXU2NCB0aW1lOworCXU2NCBwcm9nX2lkOworCXU4ICBwcm9nX2RhdGFbMF07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBEQ1dfRkxBR1NfQ0MJCTEgPDwgKDcgLSAxKQorCisjZGVmaW5lIERDV19DTURfV1JJVEUJCTB4MDEKKyNkZWZpbmUgRENXX0NNRF9SRUFECQkweDAyCisjZGVmaW5lIERDV19DTURfQ09OVFJPTAkJMHgwMworI2RlZmluZSBEQ1dfQ01EX1NFTlNFCQkweDA0CisjZGVmaW5lIERDV19DTURfU0VOU0VfSUQJMHhlNAorI2RlZmluZSBEQ1dfQ01EX0lOVFJHCQkweDQwCisKKy8qKgorICogc3RydWN0IGRjdyAtIERldmljZS1Db21tYW5kIFdvcmQgKERDVykKKyAqIEBjbWQ6IENvbW1hbmQgQ29kZS4gQ2FuIGJlIG9uZSBvZiAlRENXX0NNRF9XUklURSwgJURDV19DTURfUkVBRCwKKyAqICVEQ1dfQ01EX0NPTlRST0wsICVEQ1dfQ01EX1NFTlNFLCAlRENXX0NNRF9TRU5TRV9JRCwgJURDV19DTURfSU5UUkcKKyAqIEBmbGFnczogRmxhZ3MuIENhbiBiZSBhbiBhcml0aG1ldGljIE9SIG9mICVEQ1dfRkxBR1NfQ0MKKyAqIEBjZF9jb3VudDogQ29udHJvbC1EYXRhIENvdW50CisgKiBAY291bnQ6IENvdW50CisgKiBAY2Q6IENvbnRyb2wgRGF0YQorICovCitzdHJ1Y3QgZGN3IHsKKwl1MzIgY21kOjg7CisJdTMyIGZsYWdzOjg7CisJdTMyIDo4OworCXUzMiBjZF9jb3VudDo4OworCXUzMiBjb3VudDsKKwl1OCBjZFswXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIFRDQ0JfRk9STUFUX0RFRkFVTFQJMHg3ZgorI2RlZmluZSBUQ0NCX01BWF9EQ1cJCTMwCisjZGVmaW5lIFRDQ0JfTUFYX1NJWkUJCShzaXplb2Yoc3RydWN0IHRjY2JfdGNhaCkgKyBcCisJCQkJIFRDQ0JfTUFYX0RDVyAqIHNpemVvZihzdHJ1Y3QgZGN3KSArIFwKKwkJCQkgc2l6ZW9mKHN0cnVjdCB0Y2NiX3RjYXQpKQorI2RlZmluZSBUQ0NCX1NBQ19ERUZBVUxUCTB4ZjkwMQorI2RlZmluZSBUQ0NCX1NBQ19JTlRSRwkJMHhmOTAyCisKKy8qKgorICogc3RydWN0IHRjY2JfdGNhaCAtIFRyYW5zcG9ydC1Db21tYW5kLUFyZWEgSGVhZGVyIChUQ0FIKQorICogQGZvcm1hdDogRm9ybWF0LiBTaG91bGQgYmUgJVRDQ0JfRk9STUFUX0RFRkFVTFQKKyAqIEB0Y2FsOiBUcmFuc3BvcnQtQ29tbWFuZC1BcmVhIExlbmd0aAorICogQHNhYzogU2VydmljZS1BY3Rpb24gQ29kZS4gQ2FuIGJlIG9uZSBvZiAlVENDQl9TQUNfREVGQVVMVCwgJVRDQ0JfU0FDX0lOVFJHCisgKiBAcHJpbzogUHJpb3JpdHkKKyAqLworc3RydWN0IHRjY2JfdGNhaCB7CisJdTMyIGZvcm1hdDo4OworCXUzMiA6MjQ7CisJdTMyIDoyNDsKKwl1MzIgdGNhbDo4OworCXUzMiBzYWM6MTY7CisJdTMyIDo4OworCXUzMiBwcmlvOjg7CisJdTMyIDozMjsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKioKKyAqIHN0cnVjdCB0Y2NiX3RjYXQgLSBUcmFuc3BvcnQtQ29tbWFuZC1BcmVhIFRyYWlsZXIgKFRDQVQpCisgKiBAY291bnQ6IFRyYW5zcG9ydCBDb3VudAorICovCitzdHJ1Y3QgdGNjYl90Y2F0IHsKKwl1MzIgOjMyOworCXUzMiBjb3VudDsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKioKKyAqIHN0cnVjdCB0Y2NiIC0gKHBhcnRpYWwpIFRyYW5zcG9ydC1Db21tYW5kLUNvbnRyb2wgQmxvY2sgKFRDQ0IpCisgKiBAdGNhaDogVENBSAorICogQHRjYTogVHJhbnNwb3J0LUNvbW1hbmQgQXJlYQorICovCitzdHJ1Y3QgdGNjYiB7CisJc3RydWN0IHRjY2JfdGNhaCB0Y2FoOworCXU4IHRjYVswXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg4KSkpOworCitzdHJ1Y3QgdGN3ICp0Y3dfZ2V0X2ludHJnKHN0cnVjdCB0Y3cgKnRjdyk7Cit2b2lkICp0Y3dfZ2V0X2RhdGEoc3RydWN0IHRjdyAqdGN3KTsKK3N0cnVjdCB0Y2NiICp0Y3dfZ2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3KTsKK3N0cnVjdCB0c2IgKnRjd19nZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdyk7CisKK3ZvaWQgdGN3X2luaXQoc3RydWN0IHRjdyAqdGN3LCBpbnQgciwgaW50IHcpOwordm9pZCB0Y3dfZmluYWxpemUoc3RydWN0IHRjdyAqdGN3LCBpbnQgbnVtX3RpZGF3cyk7CisKK3ZvaWQgdGN3X3NldF9pbnRyZyhzdHJ1Y3QgdGN3ICp0Y3csIHN0cnVjdCB0Y3cgKmludHJnX3Rjdyk7Cit2b2lkIHRjd19zZXRfZGF0YShzdHJ1Y3QgdGN3ICp0Y3csIHZvaWQgKmRhdGEsIGludCB1c2VfdGlkYWwpOwordm9pZCB0Y3dfc2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdGNjYiAqdGNjYik7Cit2b2lkIHRjd19zZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdywgc3RydWN0IHRzYiAqdHNiKTsKKwordm9pZCB0Y2NiX2luaXQoc3RydWN0IHRjY2IgKnRjY2IsIHNpemVfdCB0Y2NiX3NpemUsIHUzMiBzYWMpOwordm9pZCB0c2JfaW5pdChzdHJ1Y3QgdHNiICp0c2IpOworc3RydWN0IGRjdyAqdGNjYl9hZGRfZGN3KHN0cnVjdCB0Y2NiICp0Y2NiLCBzaXplX3QgdGNjYl9zaXplLCB1OCBjbWQsIHU4IGZsYWdzLAorCQkJIHZvaWQgKmNkLCB1OCBjZF9jb3VudCwgdTMyIGNvdW50KTsKK3N0cnVjdCB0aWRhdyAqdGN3X2FkZF90aWRhdyhzdHJ1Y3QgdGN3ICp0Y3csIGludCBudW1fdGlkYXdzLCB1OCBmbGFncywKKwkJCSAgICB2b2lkICphZGRyLCB1MzIgY291bnQpOworCisjZW5kaWYgLyogX0FTTV9TMzkwX0ZDWF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2lwbC5oIGIvaW5jbHVkZS9hc20tczM5MC9pcGwuaAppbmRleCBjMWIyZTUwLi5lYWNhNmRmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2lwbC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvaXBsLmgKQEAgLTU2LDE1ICs1NiwxOSBAQAogCXU4ICBzY3BfZGF0YVtdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAorI2RlZmluZSBESUFHMzA4X1ZNUEFSTV9TSVpFCTY0CisKIHN0cnVjdCBpcGxfYmxvY2tfY2N3IHsKLQl1OCAgbG9hZF9wYXJhbVs4XTsKKwl1OCAgbG9hZF9wYXJtWzhdOwogCXU4ICByZXNlcnZlZDFbODRdOwogCXU4ICByZXNlcnZlZDJbMl07CiAJdTE2IGRldm5vOwogCXU4ICB2bV9mbGFnczsKIAl1OCAgcmVzZXJ2ZWQzWzNdOwogCXUzMiB2bV9wYXJtX2xlbjsKLQl1OCAgcmVzZXJ2ZWQ0WzgwXTsKKwl1OCAgbnNzX25hbWVbOF07CisJdTggIHZtX3Bhcm1bRElBRzMwOF9WTVBBUk1fU0laRV07CisJdTggIHJlc2VydmVkNFs4XTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAKIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrIHsKQEAgLTczLDcgKzc3LDcgQEAKIAkJc3RydWN0IGlwbF9ibG9ja19mY3AgZmNwOwogCQlzdHJ1Y3QgaXBsX2Jsb2NrX2NjdyBjY3c7CiAJfSBpcGxfaW5mbzsKLX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCxhbGlnbmVkKDQwOTYpKSk7CiAKIC8qCiAgKiBJUEwgdmFsaWRpdHkgZmxhZ3MKQEAgLTg2LDYgKzkwLDggQEAKIGV4dGVybiB2b2lkIGRvX2hhbHQodm9pZCk7CiBleHRlcm4gdm9pZCBkb19wb2ZmKHZvaWQpOwogZXh0ZXJuIHZvaWQgaXBsX3NhdmVfcGFyYW1ldGVycyh2b2lkKTsKK2V4dGVybiB2b2lkIGlwbF91cGRhdGVfcGFyYW1ldGVycyh2b2lkKTsKK2V4dGVybiB2b2lkIGdldF9pcGxfdm1wYXJtKGNoYXIgKik7CiAKIGVudW0gewogCUlQTF9ERVZOT19WQUxJRAkJPSAxLApAQCAtMTQ3LDYgKzE1MywxMSBAQAogCURJQUczMDhfRkxBR1NfTFBfVkFMSUQJPSAweDgwLAogfTsKIAorZW51bSBkaWFnMzA4X3ZtX2ZsYWdzIHsKKwlESUFHMzA4X1ZNX0ZMQUdTX05TU19WQUxJRAk9IDB4ODAsCisJRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRAk9IDB4NDAsCit9OworCiBlbnVtIGRpYWczMDhfcmMgewogCURJQUczMDhfUkNfT0sJPSAxLAogfTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvaXNjLmggYi9pbmNsdWRlL2FzbS1zMzkwL2lzYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0YmI4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2lzYy5oCkBAIC0wLDAgKzEsMjUgQEAKKyNpZm5kZWYgX0FTTV9TMzkwX0lTQ19ICisjZGVmaW5lIF9BU01fUzM5MF9JU0NfSAorCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworLyoKKyAqIEkvTyBpbnRlcnJ1cHRpb24gc3ViY2xhc3NlcyB1c2VkIGJ5IGRyaXZlcnMuCisgKiBQbGVhc2UgYWRkIGFsbCB1c2VkIGlzY3MgaGVyZSBzbyB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIGRpc3RyaWJ1dGUKKyAqIGlzYyB1c2FnZSBiZXR3ZWVuIGRyaXZlcnMuCisgKiBSZW1pbmRlcjogMCBpcyBoaWdoZXN0IHByaW9yaXR5LCA3IGxvd2VzdC4KKyAqLworI2RlZmluZSBNQVhfSVNDIDcKKworLyogUmVndWxhciBJL08gaW50ZXJydXB0cy4gKi8KKyNkZWZpbmUgSU9fU0NIX0lTQyAzCQkJLyogcmVndWxhciBJL08gc3ViY2hhbm5lbHMgKi8KKyNkZWZpbmUgQ09OU09MRV9JU0MgMQkJCS8qIGNvbnNvbGUgSS9PIHN1YmNoYW5uZWwgKi8KKyNkZWZpbmUgQ0hTQ19TQ0hfSVNDIDcJCQkvKiBDSFNDIHN1YmNoYW5uZWxzICovCisvKiBBZGFwdGVyIGludGVycnVwdHMuICovCisjZGVmaW5lIFFESU9fQUlSUV9JU0MgSU9fU0NIX0lTQwkvKiBJL08gc3ViY2hhbm5lbCBpbiBxZGlvIG1vZGUgKi8KKworLyogRnVuY3Rpb25zIGZvciByZWdpc3RyYXRpb24gb2YgSS9PIGludGVycnVwdGlvbiBzdWJjbGFzc2VzICovCit2b2lkIGlzY19yZWdpc3Rlcih1bnNpZ25lZCBpbnQgaXNjKTsKK3ZvaWQgaXNjX3VucmVnaXN0ZXIodW5zaWduZWQgaW50IGlzYyk7CisKKyNlbmRpZiAvKiBfQVNNX1MzOTBfSVNDX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvaXRjdy5oIGIvaW5jbHVkZS9hc20tczM5MC9pdGN3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTliYzVjMwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvaXRjdy5oCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiAgRnVuY3Rpb25zIGZvciBpbmNyZW1lbnRhbCBjb25zdHJ1Y3Rpb24gb2YgZmN4IGVuYWJsZWQgSS9PIGNvbnRyb2wgYmxvY2tzLgorICoKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogICAgQXV0aG9yKHMpOiBQZXRlciBPYmVycGFybGVpdGVyIDxwZXRlci5vYmVycGFybGVpdGVyQGRlLmlibS5jb20+CisgKi8KKworI2lmbmRlZiBfQVNNX1MzOTBfSVRDV19ICisjZGVmaW5lIF9BU01fUzM5MF9JVENXX0ggX0FTTV9TMzkwX0lUQ1dfSAorCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZmN4Lmg+CisKKyNkZWZpbmUgSVRDV19PUF9SRUFECTAKKyNkZWZpbmUgSVRDV19PUF9XUklURQkxCisKK3N0cnVjdCBpdGN3OworCitzdHJ1Y3QgdGN3ICppdGN3X2dldF90Y3coc3RydWN0IGl0Y3cgKml0Y3cpOworc2l6ZV90IGl0Y3dfY2FsY19zaXplKGludCBpbnRyZywgaW50IG1heF90aWRhd3MsIGludCBpbnRyZ19tYXhfdGlkYXdzKTsKK3N0cnVjdCBpdGN3ICppdGN3X2luaXQodm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgaW50IG9wLCBpbnQgaW50cmcsCisJCSAgICAgICBpbnQgbWF4X3RpZGF3cywgaW50IGludHJnX21heF90aWRhd3MpOworc3RydWN0IGRjdyAqaXRjd19hZGRfZGN3KHN0cnVjdCBpdGN3ICppdGN3LCB1OCBjbWQsIHU4IGZsYWdzLCB2b2lkICpjZCwKKwkJCSB1OCBjZF9jb3VudCwgdTMyIGNvdW50KTsKK3N0cnVjdCB0aWRhdyAqaXRjd19hZGRfdGlkYXcoc3RydWN0IGl0Y3cgKml0Y3csIHU4IGZsYWdzLCB2b2lkICphZGRyLAorCQkJICAgICB1MzIgY291bnQpOwordm9pZCBpdGN3X3NldF9kYXRhKHN0cnVjdCBpdGN3ICppdGN3LCB2b2lkICphZGRyLCBpbnQgdXNlX3RpZGFsKTsKK3ZvaWQgaXRjd19maW5hbGl6ZShzdHJ1Y3QgaXRjdyAqaXRjdyk7CisKKyNlbmRpZiAvKiBfQVNNX1MzOTBfSVRDV19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3BndGFibGUuaCBiL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCmluZGV4IGJkMGVhMTkuLjBiZGI3MDQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCkBAIC0yOSw2ICsyOSw3IEBACiAgKiB0aGUgUzM5MCBwYWdlIHRhYmxlIHRyZWUuCiAgKi8KICNpZm5kZWYgX19BU1NFTUJMWV9fCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9tbV90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9iaXRvcHMuaD4KICNpbmNsdWRlIDxhc20vYnVnLmg+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3Byb2Nlc3Nvci5oIGIvaW5jbHVkZS9hc20tczM5MC9wcm9jZXNzb3IuaAppbmRleCBhMDBmNzlkLi40YWY4MGFmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3Byb2Nlc3Nvci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvcHJvY2Vzc29yLmgKQEAgLTE0MywxMSArMTQzLDE5IEBACiAvKgogICogRG8gbmVjZXNzYXJ5IHNldHVwIHRvIHN0YXJ0IHVwIGEgbmV3IHRocmVhZC4KICAqLwotI2RlZmluZSBzdGFydF90aHJlYWQocmVncywgbmV3X3BzdywgbmV3X3N0YWNrcCkgZG8geyAgICAgICAgICAgIFwKKyNkZWZpbmUgc3RhcnRfdGhyZWFkKHJlZ3MsIG5ld19wc3csIG5ld19zdGFja3ApIGRvIHsJCVwKIAlzZXRfZnMoVVNFUl9EUyk7CQkJCQlcCiAJcmVncy0+cHN3Lm1hc2sJPSBwc3dfdXNlcl9iaXRzOwkJCVwKLSAgICAgICAgcmVncy0+cHN3LmFkZHIgID0gbmV3X3BzdyB8IFBTV19BRERSX0FNT0RFOyAgICAgICAgICAgICBcCi0gICAgICAgIHJlZ3MtPmdwcnNbMTVdICA9IG5ld19zdGFja3AgOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCXJlZ3MtPnBzdy5hZGRyCT0gbmV3X3BzdyB8IFBTV19BRERSX0FNT0RFOwkJXAorCXJlZ3MtPmdwcnNbMTVdCT0gbmV3X3N0YWNrcDsJCQkJXAorfSB3aGlsZSAoMCkKKworI2RlZmluZSBzdGFydF90aHJlYWQzMShyZWdzLCBuZXdfcHN3LCBuZXdfc3RhY2twKSBkbyB7CQlcCisJc2V0X2ZzKFVTRVJfRFMpOwkJCQkJXAorCXJlZ3MtPnBzdy5tYXNrCT0gcHN3X3VzZXIzMl9iaXRzOwkJCVwKKwlyZWdzLT5wc3cuYWRkcgk9IG5ld19wc3cgfCBQU1dfQUREUl9BTU9ERTsJCVwKKwlyZWdzLT5ncHJzWzE1XQk9IG5ld19zdGFja3A7CQkJCVwKKwljcnN0X3RhYmxlX2Rvd25ncmFkZShjdXJyZW50LT5tbSwgMVVMIDw8IDMxKTsJCVwKIH0gd2hpbGUgKDApCiAKIC8qIEZvcndhcmQgZGVjbGFyYXRpb24sIGEgc3RyYW5nZSBDIHRoaW5nICovCkBAIC0zMjgsMTYgKzMzNiw2IEBACiBleHRlcm4gdm9pZCAoKnMzOTBfYmFzZV9wZ21faGFuZGxlcl9mbikodm9pZCk7CiBleHRlcm4gdm9pZCAoKnMzOTBfYmFzZV9leHRfaGFuZGxlcl9mbikodm9pZCk7CiAKLS8qCi0gKiBDUFUgaWRsZSBub3RpZmllciBjaGFpbi4KLSAqLwotI2RlZmluZSBTMzkwX0NQVV9JRExFCQkwCi0jZGVmaW5lIFMzOTBfQ1BVX05PVF9JRExFCTEKLQotc3RydWN0IG5vdGlmaWVyX2Jsb2NrOwotaW50IHJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYik7Ci1pbnQgdW5yZWdpc3Rlcl9pZGxlX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpOwotCiAjZGVmaW5lIEFSQ0hfTE9XX0FERFJFU1NfTElNSVQJMHg3ZmZmZmZmZlVMCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9wdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXMzOTAvcHRyYWNlLmgKaW5kZXggZDdkNGUyZS4uYWYyYzlhYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC9wdHJhY2UuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3B0cmFjZS5oCkBAIC0yMTUsNiArMjE1LDEyIEBACiAgICAgICAgIHVuc2lnbmVkIGxvbmcgYWRkcjsKIH0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoOCkpKSBwc3dfdDsKIAordHlwZWRlZiBzdHJ1Y3QKK3sKKwlfX3UzMgltYXNrOworCV9fdTMyCWFkZHI7Cit9IF9fYXR0cmlidXRlX18gKChhbGlnbmVkKDgpKSkgcHN3X2NvbXBhdF90OworCiAjaWZuZGVmIF9fczM5MHhfXwogCiAjZGVmaW5lIFBTV19NQVNLX1BFUgkJMHg0MDAwMDAwMFVMCkBAIC0yOTIsNiArMjk4LDE1IEBACiAJdW5zaWduZWQgbG9uZyBvcmlnX2dwcjI7CiB9IHMzOTBfcmVnczsKIAordHlwZWRlZiBzdHJ1Y3QKK3sKKwlwc3dfY29tcGF0X3QJcHN3OworCV9fdTMyCQlncHJzW05VTV9HUFJTXTsKKwlfX3UzMgkJYWNyc1tOVU1fQUNSU107CisJX191MzIJCW9yaWdfZ3ByMjsKK30gczM5MF9jb21wYXRfcmVnczsKKworCiAjaWZkZWYgX19LRVJORUxfXwogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL3NjaGlkLmggYi9pbmNsdWRlL2FzbS1zMzkwL3NjaGlkLmgKc2ltaWxhcml0eSBpbmRleCA2NSUKcmVuYW1lIGZyb20gZHJpdmVycy9zMzkwL2Npby9zY2hpZC5oCnJlbmFtZSB0byBpbmNsdWRlL2FzbS1zMzkwL3NjaGlkLmgKaW5kZXggNTQzMjhmZS4uNTAxN2ZmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9zY2hpZC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc2NoaWQuaApAQCAtMSwxMiArMSwxNCBAQAotI2lmbmRlZiBTMzkwX1NDSElEX0gKLSNkZWZpbmUgUzM5MF9TQ0hJRF9ICisjaWZuZGVmIEFTTV9TQ0hJRF9ICisjZGVmaW5lIEFTTV9TQ0hJRF9ICiAKIHN0cnVjdCBzdWJjaGFubmVsX2lkIHsKLQlfX3UzMiByZXNlcnZlZDoxMzsKLQlfX3UzMiBzc2lkOjI7Ci0JX191MzIgb25lOjE7Ci0JX191MzIgc2NoX25vOjE2OwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLGFsaWduZWQoNCkpKTsKKwlfX3UzMiBjc3NpZCA6IDg7CisJX191MzIgOiA0OworCV9fdTMyIG0gOiAxOworCV9fdTMyIHNzaWQgOiAyOworCV9fdTMyIG9uZSA6IDE7CisJX191MzIgc2NoX25vIDogMTY7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIAogCiAvKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHNhbmUgc3RhdGUgb2YgcHJlLWFsbG9jYXRlZCBzdWJjaGFubmVsX2lkLiAqLwpAQCAtMjMsNCArMjUsNCBAQAogCXJldHVybiAhbWVtY21wKHNjaGlkMSwgc2NoaWQyLCBzaXplb2Yoc3RydWN0IHN1YmNoYW5uZWxfaWQpKTsKIH0KIAotI2VuZGlmIC8qIFMzOTBfU0NISURfSCAqLworI2VuZGlmIC8qIEFTTV9TQ0hJRF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3NjbHAuaCBiL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCmluZGV4IGI1ZjI4NDMuLmZlZDdiZWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCkBAIC00NSw5ICs0NSw5IEBACiBpbnQgc2NscF9nZXRfY3B1X2luZm8oc3RydWN0IHNjbHBfY3B1X2luZm8gKmluZm8pOwogaW50IHNjbHBfY3B1X2NvbmZpZ3VyZSh1OCBjcHUpOwogaW50IHNjbHBfY3B1X2RlY29uZmlndXJlKHU4IGNwdSk7Ci12b2lkIHNjbHBfcmVhZF9pbmZvX2Vhcmx5KHZvaWQpOwogdm9pZCBzY2xwX2ZhY2lsaXRpZXNfZGV0ZWN0KHZvaWQpOwotdW5zaWduZWQgbG9uZyBsb25nIHNjbHBfbWVtb3J5X2RldGVjdCh2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9ybm1heCh2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9yem0odm9pZCk7CiBpbnQgc2NscF9zZGlhc19ibGtfY291bnQodm9pZCk7CiBpbnQgc2NscF9zZGlhc19jb3B5KHZvaWQgKmRlc3QsIGludCBibGtfbnVtLCBpbnQgbnJfYmxrcyk7CiBpbnQgc2NscF9jaHBfY29uZmlndXJlKHN0cnVjdCBjaHBfaWQgY2hwaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9zZXR1cC5oIGIvaW5jbHVkZS9hc20tczM5MC9zZXR1cC5oCmluZGV4IGJhNjk2NzQuLmYwOWVlM2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvc2V0dXAuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3NldHVwLmgKQEAgLTgsMTQgKzgsMTYgQEAKICNpZm5kZWYgX0FTTV9TMzkwX1NFVFVQX0gKICNkZWZpbmUgX0FTTV9TMzkwX1NFVFVQX0gKIAotI2RlZmluZSBDT01NQU5EX0xJTkVfU0laRSAJODk2CisjZGVmaW5lIENPTU1BTkRfTElORV9TSVpFCTEwMjQKKworI2RlZmluZSBBUkNIX0NPTU1BTkRfTElORV9TSVpFCTg5NgogCiAjaWZkZWYgX19LRVJORUxfXwogCiAjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CiAKICNkZWZpbmUgUEFSTUFSRUEJCTB4MTA0MDAKLSNkZWZpbmUgTUVNT1JZX0NIVU5LUwkJMTYJLyogbWF4IDB4N2ZmZiAqLworI2RlZmluZSBNRU1PUllfQ0hVTktTCQkyNTYKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtMzYsMTIgKzM4LDE0IEBACiBzdHJ1Y3QgbWVtX2NodW5rIHsKIAl1bnNpZ25lZCBsb25nIGFkZHI7CiAJdW5zaWduZWQgbG9uZyBzaXplOwotCXVuc2lnbmVkIGxvbmcgdHlwZTsKKwlpbnQgdHlwZTsKIH07CiAKIGV4dGVybiBzdHJ1Y3QgbWVtX2NodW5rIG1lbW9yeV9jaHVua1tdOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgcmVhbF9tZW1vcnlfc2l6ZTsKIAordm9pZCBkZXRlY3RfbWVtb3J5X2xheW91dChzdHJ1Y3QgbWVtX2NodW5rIGNodW5rW10pOworCiAjaWZkZWYgQ09ORklHX1MzOTBfU1dJVENIX0FNT0RFCiBleHRlcm4gdW5zaWduZWQgaW50IHN3aXRjaF9hbW9kZTsKICNlbHNlCkBAIC02MSw3ICs2NSw2IEBACiAKICNkZWZpbmUgTUFDSElORV9GTEFHX1ZNCQkoMVVMIDw8IDApCiAjZGVmaW5lIE1BQ0hJTkVfRkxBR19JRUVFCSgxVUwgPDwgMSkKLSNkZWZpbmUgTUFDSElORV9GTEFHX1AzOTAJKDFVTCA8PCAyKQogI2RlZmluZSBNQUNISU5FX0ZMQUdfQ1NQCSgxVUwgPDwgMykKICNkZWZpbmUgTUFDSElORV9GTEFHX01WUEcJKDFVTCA8PCA0KQogI2RlZmluZSBNQUNISU5FX0ZMQUdfRElBRzQ0CSgxVUwgPDwgNSkKQEAgLTk3LDcgKzEwMCw2IEBACiAjZGVmaW5lIE1BQ0hJTkVfSEFTX1BGTUYJKG1hY2hpbmVfZmxhZ3MgJiBNQUNISU5FX0ZMQUdfUEZNRikKICNlbmRpZiAvKiBfX3MzOTB4X18gKi8KIAotI2RlZmluZSBNQUNISU5FX0hBU19TQ0xQCSghTUFDSElORV9JU19QMzkwKQogI2RlZmluZSBaRkNQRFVNUF9IU0FfU0laRQkoMzJVTDw8MjApCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3NwYXJzZW1lbS5oIGIvaW5jbHVkZS9hc20tczM5MC9zcGFyc2VtZW0uaAppbmRleCAwNmRmZGFiLi41NDVkMjE5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3NwYXJzZW1lbS5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc3BhcnNlbWVtLmgKQEAgLTEsMTUgKzEsMTUgQEAKICNpZm5kZWYgX0FTTV9TMzkwX1NQQVJTRU1FTV9ICiAjZGVmaW5lIF9BU01fUzM5MF9TUEFSU0VNRU1fSAogCi0jZGVmaW5lIFNFQ1RJT05fU0laRV9CSVRTCTI1Ci0KICNpZmRlZiBDT05GSUdfNjRCSVQKIAorI2RlZmluZSBTRUNUSU9OX1NJWkVfQklUUwkyOAogI2RlZmluZSBNQVhfUEhZU0FERFJfQklUUwk0MgogI2RlZmluZSBNQVhfUEhZU01FTV9CSVRTCTQyCiAKICNlbHNlCiAKKyNkZWZpbmUgU0VDVElPTl9TSVpFX0JJVFMJMjUKICNkZWZpbmUgTUFYX1BIWVNBRERSX0JJVFMJMzEKICNkZWZpbmUgTUFYX1BIWVNNRU1fQklUUwkzMQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3RpbWVyLmggYi9pbmNsdWRlL2FzbS1zMzkwL3RpbWVyLmgKaW5kZXggYWRiMzQ4Ni4uZDk4ZDc5ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC90aW1lci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvdGltZXIuaApAQCAtNDgsNiArNDgsMTggQEAKIGV4dGVybiB2b2lkIGluaXRfY3B1X3Z0aW1lcih2b2lkKTsKIGV4dGVybiB2b2lkIHZ0aW1lX2luaXQodm9pZCk7CiAKKyNpZmRlZiBDT05GSUdfVklSVF9USU1FUgorCitleHRlcm4gdm9pZCB2dGltZV9zdGFydF9jcHVfdGltZXIodm9pZCk7CitleHRlcm4gdm9pZCB2dGltZV9zdG9wX2NwdV90aW1lcih2b2lkKTsKKworI2Vsc2UKKworc3RhdGljIGlubGluZSB2b2lkIHZ0aW1lX3N0YXJ0X2NwdV90aW1lcih2b2lkKSB7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCB2dGltZV9zdG9wX2NwdV90aW1lcih2b2lkKSB7IH0KKworI2VuZGlmIC8qIENPTkZJR19WSVJUX1RJTUVSICovCisKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCiAKICNlbmRpZiAvKiBfQVNNX1MzOTBfVElNRVJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC96Y3J5cHQuaCBiL2luY2x1ZGUvYXNtLXMzOTAvemNyeXB0LmgKaW5kZXggZjIyOGYxYi4uMDBkM2JiZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC96Y3J5cHQuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3pjcnlwdC5oCkBAIC0yOSw3ICsyOSw3IEBACiAKICNkZWZpbmUgWkNSWVBUX1ZFUlNJT04gMgogI2RlZmluZSBaQ1JZUFRfUkVMRUFTRSAxCi0jZGVmaW5lIFpDUllQVF9WQVJJQU5UIDAKKyNkZWZpbmUgWkNSWVBUX1ZBUklBTlQgMQogCiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KICNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tc2gvc21wLmggYi9pbmNsdWRlL2FzbS1zaC9zbXAuaAppbmRleCA5YzhkMzRiLi41OTMzNDNjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zaC9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1zaC9zbXAuaApAQCAtMjYsMTggKzI2LDEwIEBACiAKICNkZWZpbmUgTk9fUFJPQ19JRAkoLTEpCiAKLXN0cnVjdCBzbXBfZm5fY2FsbF9zdHJ1Y3QgewotCXNwaW5sb2NrX3QgbG9jazsKLQlhdG9taWNfdCAgIGZpbmlzaGVkOwotCXZvaWQgKCpmbikodm9pZCAqKTsKLQl2b2lkICpkYXRhOwotfTsKLQotZXh0ZXJuIHN0cnVjdCBzbXBfZm5fY2FsbF9zdHJ1Y3Qgc21wX2ZuX2NhbGw7Ci0KICNkZWZpbmUgU01QX01TR19GVU5DVElPTgkwCiAjZGVmaW5lIFNNUF9NU0dfUkVTQ0hFRFVMRQkxCi0jZGVmaW5lIFNNUF9NU0dfTlIJCTIKKyNkZWZpbmUgU01QX01TR19GVU5DVElPTl9TSU5HTEUJMgorI2RlZmluZSBTTVBfTVNHX05SCQkzCiAKIHZvaWQgcGxhdF9zbXBfc2V0dXAodm9pZCk7CiB2b2lkIHBsYXRfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7CkBAIC00Niw2ICszOCw4IEBACiB2b2lkIHBsYXRfc2VuZF9pcGkodW5zaWduZWQgaW50IGNwdSwgdW5zaWduZWQgaW50IG1lc3NhZ2UpOwogaW50IHBsYXRfcmVnaXN0ZXJfaXBpX2hhbmRsZXIodW5zaWduZWQgaW50IG1lc3NhZ2UsCiAJCQkgICAgICB2b2lkICgqaGFuZGxlcikodm9pZCAqKSwgdm9pZCAqYXJnKTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOwogCiAjZWxzZQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zcGFyYy9zbXAuaCBiL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCmluZGV4IGU2ZDU2MTUuLmI2MWU3NGIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCkBAIC03Miw3ICs3Miw3IEBACiAJCQkgICB1bnNpZ25lZCBsb25nIGFyZzMsIHVuc2lnbmVkIGxvbmcgYXJnNCwgdW5zaWduZWQgbG9uZyBhcmc1KQogeyBzbXBfY3Jvc3NfY2FsbChmdW5jLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0LCBhcmc1KTsgfQogCi1zdGF0aWMgaW5saW5lIGludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsIGludCB3YWl0KQorc3RhdGljIGlubGluZSBpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKIHsKIAl4YzEoKHNtcGZ1bmNfdClmdW5jLCAodW5zaWduZWQgbG9uZylpbmZvKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXNwYXJjNjQvZnRyYWNlLmggYi9pbmNsdWRlL2FzbS1zcGFyYzY0L2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzcxNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zcGFyYzY0L2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX0FTTV9TUEFSQzY0X0ZUUkFDRQorI2RlZmluZSBfQVNNX1NQQVJDNjRfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfTUNPVU5UCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKF9tY291bnQpKQorI2RlZmluZSBNQ09VTlRfSU5TTl9TSVpFCTQgLyogc2l6ZW9mIG1jb3VudCBjYWxsICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBfbWNvdW50KHZvaWQpOworI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYgLyogX0FTTV9TUEFSQzY0X0ZUUkFDRSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FjcGkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9hY3BpLmgKaW5kZXggMTQ0MTFjOS4uNjM1ZDc2NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FjcGkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYWNwaS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8YXNtL251bWEuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAjaW5jbHVkZSA8YXNtL21tdS5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KIAogI2RlZmluZSBDT01QSUxFUl9ERVBFTkRFTlRfSU5UNjQgICBsb25nIGxvbmcKICNkZWZpbmUgQ09NUElMRVJfREVQRU5ERU5UX1VJTlQ2NCAgdW5zaWduZWQgbG9uZyBsb25nCkBAIC0xNjAsOSArMTYxLDcgQEAKICNpZmRlZiBDT05GSUdfQUNQSV9OVU1BCiBleHRlcm4gaW50IGFjcGlfbnVtYTsKIGV4dGVybiBpbnQgYWNwaV9zY2FuX25vZGVzKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0jIGRlZmluZSBOUl9OT0RFX01FTUJMS1MgKE1BWF9OVU1OT0RFUyoyKQotI2VuZGlmCisjZGVmaW5lIE5SX05PREVfTUVNQkxLUyAoTUFYX05VTU5PREVTKjIpCiBleHRlcm4gdm9pZCBhY3BpX2Zha2Vfbm9kZXMoY29uc3Qgc3RydWN0IGJvb3Rub2RlICpmYWtlX25vZGVzLAogCQkJCSAgIGludCBudW1fbm9kZXMpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9hbHRlcm5hdGl2ZS5oIGIvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKaW5kZXggMWY2YTljYS4uZjZhYTE4ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKQEAgLTcyLDYgKzcyLDggQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBhbHRlcm5hdGl2ZXNfc21wX3N3aXRjaChpbnQgc21wKSB7fQogI2VuZGlmCS8qIENPTkZJR19TTVAgKi8KIAorY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKmZpbmRfbm9wX3RhYmxlKHZvaWQpOworCiAvKgogICogQWx0ZXJuYXRpdmUgaW5zdHJ1Y3Rpb25zIGZvciBkaWZmZXJlbnQgQ1BVIHR5cGVzIG9yIGNhcGFiaWxpdGllcy4KICAqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11LmggYi9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBhMTIwNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hbWRfaW9tbXUuaApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgorICogQXV0aG9yOiBKb2VyZyBSb2VkZWwgPGpvZXJnLnJvZWRlbEBhbWQuY29tPgorICogICAgICAgICBMZW8gRHVyYW4gPGxlby5kdXJhbkBhbWQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQorICovCisKKyNpZm5kZWYgX0FTTV9YODZfQU1EX0lPTU1VX0gKKyNkZWZpbmUgX0FTTV9YODZfQU1EX0lPTU1VX0gKKworI2lmZGVmIENPTkZJR19BTURfSU9NTVUKK2V4dGVybiBpbnQgYW1kX2lvbW11X2luaXQodm9pZCk7CitleHRlcm4gaW50IGFtZF9pb21tdV9pbml0X2RtYV9vcHModm9pZCk7CitleHRlcm4gdm9pZCBhbWRfaW9tbXVfZGV0ZWN0KHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGFtZF9pb21tdV9pbml0KHZvaWQpIHsgcmV0dXJuIC1FTk9ERVY7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBhbWRfaW9tbXVfZGV0ZWN0KHZvaWQpIHsgfQorI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FtZF9pb21tdV90eXBlcy5oIGIvaW5jbHVkZS9hc20teDg2L2FtZF9pb21tdV90eXBlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiZmNiNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11X3R5cGVzLmgKQEAgLTAsMCArMSwyNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKiBBdXRob3I6IEpvZXJnIFJvZWRlbCA8am9lcmcucm9lZGVsQGFtZC5jb20+CisgKiAgICAgICAgIExlbyBEdXJhbiA8bGVvLmR1cmFuQGFtZC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZAorICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2lmbmRlZiBfX0FNRF9JT01NVV9UWVBFU19IX18KKyNkZWZpbmUgX19BTURfSU9NTVVfVFlQRVNfSF9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorCisvKgorICogc29tZSBzaXplIGNhbGN1bGF0aW9uIGNvbnN0YW50cworICovCisjZGVmaW5lIERFVl9UQUJMRV9FTlRSWV9TSVpFCQkyNTYKKyNkZWZpbmUgQUxJQVNfVEFCTEVfRU5UUllfU0laRQkJMgorI2RlZmluZSBSTE9PS1VQX1RBQkxFX0VOVFJZX1NJWkUJKHNpemVvZih2b2lkICopKQorCisvKiBoZWxwZXIgbWFjcm9zICovCisjZGVmaW5lIExPV19VMzIoeCkgKCh4KSAmICgoMVVMTCA8PCAzMiktMSkpCisjZGVmaW5lIEhJR0hfVTMyKHgpIChMT1dfVTMyKCh4KSA+PiAzMikpCisKKy8qIExlbmd0aCBvZiB0aGUgTU1JTyByZWdpb24gZm9yIHRoZSBBTUQgSU9NTVUgKi8KKyNkZWZpbmUgTU1JT19SRUdJT05fTEVOR1RIICAgICAgIDB4NDAwMAorCisvKiBDYXBhYmlsaXR5IG9mZnNldHMgdXNlZCBieSB0aGUgZHJpdmVyICovCisjZGVmaW5lIE1NSU9fQ0FQX0hEUl9PRkZTRVQJMHgwMAorI2RlZmluZSBNTUlPX1JBTkdFX09GRlNFVAkweDBjCisKKy8qIE1hc2tzLCBzaGlmdHMgYW5kIG1hY3JvcyB0byBwYXJzZSB0aGUgZGV2aWNlIHJhbmdlIGNhcGFiaWxpdHkgKi8KKyNkZWZpbmUgTU1JT19SQU5HRV9MRF9NQVNLCTB4ZmYwMDAwMDAKKyNkZWZpbmUgTU1JT19SQU5HRV9GRF9NQVNLCTB4MDBmZjAwMDAKKyNkZWZpbmUgTU1JT19SQU5HRV9CVVNfTUFTSwkweDAwMDBmZjAwCisjZGVmaW5lIE1NSU9fUkFOR0VfTERfU0hJRlQJMjQKKyNkZWZpbmUgTU1JT19SQU5HRV9GRF9TSElGVAkxNgorI2RlZmluZSBNTUlPX1JBTkdFX0JVU19TSElGVAk4CisjZGVmaW5lIE1NSU9fR0VUX0xEKHgpICAoKCh4KSAmIE1NSU9fUkFOR0VfTERfTUFTSykgPj4gTU1JT19SQU5HRV9MRF9TSElGVCkKKyNkZWZpbmUgTU1JT19HRVRfRkQoeCkgICgoKHgpICYgTU1JT19SQU5HRV9GRF9NQVNLKSA+PiBNTUlPX1JBTkdFX0ZEX1NISUZUKQorI2RlZmluZSBNTUlPX0dFVF9CVVMoeCkgKCgoeCkgJiBNTUlPX1JBTkdFX0JVU19NQVNLKSA+PiBNTUlPX1JBTkdFX0JVU19TSElGVCkKKworLyogRmxhZyBtYXNrcyBmb3IgdGhlIEFNRCBJT01NVSBleGNsdXNpb24gcmFuZ2UgKi8KKyNkZWZpbmUgTU1JT19FWENMX0VOQUJMRV9NQVNLIDB4MDFVTEwKKyNkZWZpbmUgTU1JT19FWENMX0FMTE9XX01BU0sgIDB4MDJVTEwKKworLyogVXNlZCBvZmZzZXRzIGludG8gdGhlIE1NSU8gc3BhY2UgKi8KKyNkZWZpbmUgTU1JT19ERVZfVEFCTEVfT0ZGU0VUICAgMHgwMDAwCisjZGVmaW5lIE1NSU9fQ01EX0JVRl9PRkZTRVQgICAgIDB4MDAwOAorI2RlZmluZSBNTUlPX0VWVF9CVUZfT0ZGU0VUICAgICAweDAwMTAKKyNkZWZpbmUgTU1JT19DT05UUk9MX09GRlNFVCAgICAgMHgwMDE4CisjZGVmaW5lIE1NSU9fRVhDTF9CQVNFX09GRlNFVCAgIDB4MDAyMAorI2RlZmluZSBNTUlPX0VYQ0xfTElNSVRfT0ZGU0VUICAweDAwMjgKKyNkZWZpbmUgTU1JT19DTURfSEVBRF9PRkZTRVQJMHgyMDAwCisjZGVmaW5lIE1NSU9fQ01EX1RBSUxfT0ZGU0VUCTB4MjAwOAorI2RlZmluZSBNTUlPX0VWVF9IRUFEX09GRlNFVAkweDIwMTAKKyNkZWZpbmUgTU1JT19FVlRfVEFJTF9PRkZTRVQJMHgyMDE4CisjZGVmaW5lIE1NSU9fU1RBVFVTX09GRlNFVAkweDIwMjAKKworLyogZmVhdHVyZSBjb250cm9sIGJpdHMgKi8KKyNkZWZpbmUgQ09OVFJPTF9JT01NVV9FTiAgICAgICAgMHgwMFVMTAorI2RlZmluZSBDT05UUk9MX0hUX1RVTl9FTiAgICAgICAweDAxVUxMCisjZGVmaW5lIENPTlRST0xfRVZUX0xPR19FTiAgICAgIDB4MDJVTEwKKyNkZWZpbmUgQ09OVFJPTF9FVlRfSU5UX0VOICAgICAgMHgwM1VMTAorI2RlZmluZSBDT05UUk9MX0NPTVdBSVRfRU4gICAgICAweDA0VUxMCisjZGVmaW5lIENPTlRST0xfUEFTU1BXX0VOICAgICAgIDB4MDhVTEwKKyNkZWZpbmUgQ09OVFJPTF9SRVNQQVNTUFdfRU4gICAgMHgwOVVMTAorI2RlZmluZSBDT05UUk9MX0NPSEVSRU5UX0VOICAgICAweDBhVUxMCisjZGVmaW5lIENPTlRST0xfSVNPQ19FTiAgICAgICAgIDB4MGJVTEwKKyNkZWZpbmUgQ09OVFJPTF9DTURCVUZfRU4gICAgICAgMHgwY1VMTAorI2RlZmluZSBDT05UUk9MX1BQRkxPR19FTiAgICAgICAweDBkVUxMCisjZGVmaW5lIENPTlRST0xfUFBGSU5UX0VOICAgICAgIDB4MGVVTEwKKworLyogY29tbWFuZCBzcGVjaWZpYyBkZWZpbmVzICovCisjZGVmaW5lIENNRF9DT01QTF9XQUlUICAgICAgICAgIDB4MDEKKyNkZWZpbmUgQ01EX0lOVl9ERVZfRU5UUlkgICAgICAgMHgwMgorI2RlZmluZSBDTURfSU5WX0lPTU1VX1BBR0VTICAgICAweDAzCisKKyNkZWZpbmUgQ01EX0NPTVBMX1dBSVRfU1RPUkVfTUFTSwkweDAxCisjZGVmaW5lIENNRF9JTlZfSU9NTVVfUEFHRVNfU0laRV9NQVNLCTB4MDEKKyNkZWZpbmUgQ01EX0lOVl9JT01NVV9QQUdFU19QREVfTUFTSwkweDAyCisKKyNkZWZpbmUgQ01EX0lOVl9JT01NVV9BTExfUEFHRVNfQUREUkVTUwkweDdmZmZmZmZmZmZmZmZmZmZVTEwKKworLyogbWFjcm9zIGFuZCBkZWZpbml0aW9ucyBmb3IgZGV2aWNlIHRhYmxlIGVudHJpZXMgKi8KKyNkZWZpbmUgREVWX0VOVFJZX1ZBTElEICAgICAgICAgMHgwMAorI2RlZmluZSBERVZfRU5UUllfVFJBTlNMQVRJT04gICAweDAxCisjZGVmaW5lIERFVl9FTlRSWV9JUiAgICAgICAgICAgIDB4M2QKKyNkZWZpbmUgREVWX0VOVFJZX0lXICAgICAgICAgICAgMHgzZQorI2RlZmluZSBERVZfRU5UUllfRVggICAgICAgICAgICAweDY3CisjZGVmaW5lIERFVl9FTlRSWV9TWVNNR1QxICAgICAgIDB4NjgKKyNkZWZpbmUgREVWX0VOVFJZX1NZU01HVDIgICAgICAgMHg2OQorI2RlZmluZSBERVZfRU5UUllfSU5JVF9QQVNTICAgICAweGI4CisjZGVmaW5lIERFVl9FTlRSWV9FSU5UX1BBU1MgICAgIDB4YjkKKyNkZWZpbmUgREVWX0VOVFJZX05NSV9QQVNTICAgICAgMHhiYQorI2RlZmluZSBERVZfRU5UUllfTElOVDBfUEFTUyAgICAweGJlCisjZGVmaW5lIERFVl9FTlRSWV9MSU5UMV9QQVNTICAgIDB4YmYKKworLyogY29uc3RhbnRzIHRvIGNvbmZpZ3VyZSB0aGUgY29tbWFuZCBidWZmZXIgKi8KKyNkZWZpbmUgQ01EX0JVRkZFUl9TSVpFICAgIDgxOTIKKyNkZWZpbmUgQ01EX0JVRkZFUl9FTlRSSUVTIDUxMgorI2RlZmluZSBNTUlPX0NNRF9TSVpFX1NISUZUIDU2CisjZGVmaW5lIE1NSU9fQ01EX1NJWkVfNTEyICgweDlVTEwgPDwgTU1JT19DTURfU0laRV9TSElGVCkKKworI2RlZmluZSBQQUdFX01PREVfMV9MRVZFTCAweDAxCisjZGVmaW5lIFBBR0VfTU9ERV8yX0xFVkVMIDB4MDIKKyNkZWZpbmUgUEFHRV9NT0RFXzNfTEVWRUwgMHgwMworCisjZGVmaW5lIElPTU1VX1BERV9OTF8wICAgMHgwMDBVTEwKKyNkZWZpbmUgSU9NTVVfUERFX05MXzEgICAweDIwMFVMTAorI2RlZmluZSBJT01NVV9QREVfTkxfMiAgIDB4NDAwVUxMCisjZGVmaW5lIElPTU1VX1BERV9OTF8zICAgMHg2MDBVTEwKKworI2RlZmluZSBJT01NVV9QVEVfTDJfSU5ERVgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gMzApICYgMHgxZmZVTEwpCisjZGVmaW5lIElPTU1VX1BURV9MMV9JTkRFWChhZGRyZXNzKSAoKChhZGRyZXNzKSA+PiAyMSkgJiAweDFmZlVMTCkKKyNkZWZpbmUgSU9NTVVfUFRFX0wwX0lOREVYKGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IDEyKSAmIDB4MWZmVUxMKQorCisjZGVmaW5lIElPTU1VX01BUF9TSVpFX0wxICgxVUxMIDw8IDIxKQorI2RlZmluZSBJT01NVV9NQVBfU0laRV9MMiAoMVVMTCA8PCAzMCkKKyNkZWZpbmUgSU9NTVVfTUFQX1NJWkVfTDMgKDFVTEwgPDwgMzkpCisKKyNkZWZpbmUgSU9NTVVfUFRFX1AgICgxVUxMIDw8IDApCisjZGVmaW5lIElPTU1VX1BURV9VICAoMVVMTCA8PCA1OSkKKyNkZWZpbmUgSU9NTVVfUFRFX0ZDICgxVUxMIDw8IDYwKQorI2RlZmluZSBJT01NVV9QVEVfSVIgKDFVTEwgPDwgNjEpCisjZGVmaW5lIElPTU1VX1BURV9JVyAoMVVMTCA8PCA2MikKKworI2RlZmluZSBJT01NVV9MMV9QREUoYWRkcmVzcykgXAorCSgoYWRkcmVzcykgfCBJT01NVV9QREVfTkxfMSB8IElPTU1VX1BURV9QIHwgSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXKQorI2RlZmluZSBJT01NVV9MMl9QREUoYWRkcmVzcykgXAorCSgoYWRkcmVzcykgfCBJT01NVV9QREVfTkxfMiB8IElPTU1VX1BURV9QIHwgSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXKQorCisjZGVmaW5lIElPTU1VX1BBR0VfTUFTSyAoKCgxVUxMIDw8IDUyKSAtIDEpICYgfjB4ZmZmVUxMKQorI2RlZmluZSBJT01NVV9QVEVfUFJFU0VOVChwdGUpICgocHRlKSAmIElPTU1VX1BURV9QKQorI2RlZmluZSBJT01NVV9QVEVfUEFHRShwdGUpIChwaHlzX3RvX3ZpcnQoKHB0ZSkgJiBJT01NVV9QQUdFX01BU0spKQorI2RlZmluZSBJT01NVV9QVEVfTU9ERShwdGUpICgoKHB0ZSkgPj4gOSkgJiAweDA3KQorCisjZGVmaW5lIElPTU1VX1BST1RfTUFTSyAweDAzCisjZGVmaW5lIElPTU1VX1BST1RfSVIgMHgwMQorI2RlZmluZSBJT01NVV9QUk9UX0lXIDB4MDIKKworLyogSU9NTVUgY2FwYWJpbGl0aWVzICovCisjZGVmaW5lIElPTU1VX0NBUF9JT1RMQiAgIDI0CisjZGVmaW5lIElPTU1VX0NBUF9OUENBQ0hFIDI2CisKKyNkZWZpbmUgTUFYX0RPTUFJTl9JRCA2NTUzNgorCitzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4geworCXNwaW5sb2NrX3QgbG9jazsKKwl1MTYgaWQ7CisJaW50IG1vZGU7CisJdTY0ICpwdF9yb290OworCXZvaWQgKnByaXY7Cit9OworCitzdHJ1Y3QgZG1hX29wc19kb21haW4geworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gZG9tYWluOworCXVuc2lnbmVkIGxvbmcgYXBlcnR1cmVfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIG5leHRfYml0OworCXVuc2lnbmVkIGxvbmcgKmJpdG1hcDsKKwl1NjQgKipwdGVfcGFnZXM7Cit9OworCitzdHJ1Y3QgYW1kX2lvbW11IHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3BpbmxvY2tfdCBsb2NrOworCisJdTE2IGRldmlkOworCXUxNiBjYXBfcHRyOworCisJdTY0IG1taW9fcGh5czsKKwl1OCAqbW1pb19iYXNlOworCXUzMiBjYXA7CisJdTE2IGZpcnN0X2RldmljZTsKKwl1MTYgbGFzdF9kZXZpY2U7CisJdTY0IGV4Y2x1c2lvbl9zdGFydDsKKwl1NjQgZXhjbHVzaW9uX2xlbmd0aDsKKworCXU4ICpjbWRfYnVmOworCXUzMiBjbWRfYnVmX3NpemU7CisKKwlpbnQgbmVlZF9zeW5jOworCisJc3RydWN0IGRtYV9vcHNfZG9tYWluICpkZWZhdWx0X2RvbTsKK307CisKK2V4dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIGFtZF9pb21tdV9saXN0OworCitzdHJ1Y3QgZGV2X3RhYmxlX2VudHJ5IHsKKwl1MzIgZGF0YVs4XTsKK307CisKK3N0cnVjdCB1bml0eV9tYXBfZW50cnkgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwl1MTYgZGV2aWRfc3RhcnQ7CisJdTE2IGRldmlkX2VuZDsKKwl1NjQgYWRkcmVzc19zdGFydDsKKwl1NjQgYWRkcmVzc19lbmQ7CisJaW50IHByb3Q7Cit9OworCitleHRlcm4gc3RydWN0IGxpc3RfaGVhZCBhbWRfaW9tbXVfdW5pdHlfbWFwOworCisvKiBkYXRhIHN0cnVjdHVyZXMgZm9yIGRldmljZSBoYW5kbGluZyAqLworZXh0ZXJuIHN0cnVjdCBkZXZfdGFibGVfZW50cnkgKmFtZF9pb21tdV9kZXZfdGFibGU7CitleHRlcm4gdTE2ICphbWRfaW9tbXVfYWxpYXNfdGFibGU7CitleHRlcm4gc3RydWN0IGFtZF9pb21tdSAqKmFtZF9pb21tdV9ybG9va3VwX3RhYmxlOworCitleHRlcm4gdW5zaWduZWQgYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyOworCitleHRlcm4gdTE2IGFtZF9pb21tdV9sYXN0X2JkZjsKKworLyogZGF0YSBzdHJ1Y3R1cmVzIGZvciBwcm90ZWN0aW9uIGRvbWFpbiBoYW5kbGluZyAqLworZXh0ZXJuIHN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqKmFtZF9pb21tdV9wZF90YWJsZTsKK2V4dGVybiB1bnNpZ25lZCBsb25nICphbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwOworCitleHRlcm4gaW50IGFtZF9pb21tdV9pc29sYXRlOworCitzdGF0aWMgaW5saW5lIHZvaWQgcHJpbnRfZGV2aWQodTE2IGRldmlkLCBpbnQgbmwpCit7CisJaW50IGJ1cyA9IGRldmlkID4+IDg7CisJaW50IGRldiA9IGRldmlkID4+IDMgJiAweDFmOworCWludCBmbiAgPSBkZXZpZCAmIDB4MDc7CisKKwlwcmludGsoIiUwMng6JTAyeC4leCIsIGJ1cywgZGV2LCBmbik7CisJaWYgKG5sKQorCQlwcmludGsoIlxuIik7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9hcGljLmgKaW5kZXggYmU5NjM5YS4uNGUyYzFlNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYXBpYy5oCkBAIC0zNiwxNSArMzYsMTEgQEAKICNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKIAogZXh0ZXJuIGludCBhcGljX3ZlcmJvc2l0eTsKLWV4dGVybiBpbnQgdGltZXJfb3Zlcl84MjU0OwogZXh0ZXJuIGludCBsb2NhbF9hcGljX3RpbWVyX2MyX29rOwotZXh0ZXJuIGludCBsb2NhbF9hcGljX3RpbWVyX2Rpc2FibGVkOwogCi1leHRlcm4gaW50IGFwaWNfcnVuc19tYWluX3RpbWVyOwogZXh0ZXJuIGludCBpb2FwaWNfZm9yY2U7Ci1leHRlcm4gaW50IGRpc2FibGVfYXBpYzsKLWV4dGVybiBpbnQgZGlzYWJsZV9hcGljX3RpbWVyOwogCitleHRlcm4gaW50IGRpc2FibGVfYXBpYzsKIC8qCiAgKiBCYXNpYyBmdW5jdGlvbnMgYWNjZXNzaW5nIEFQSUNzLgogICovCkBAIC0xMjUsMTYgKzEyMSwyMiBAQAogICovCiAjaWZkZWYgQ09ORklHX1g4Nl82NAogZXh0ZXJuIHZvaWQgZWFybHlfaW5pdF9sYXBpY19tYXBwaW5nKHZvaWQpOworZXh0ZXJuIGludCBhcGljX2lzX2NsdXN0ZXJlZF9ib3godm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgYXBpY19pc19jbHVzdGVyZWRfYm94KHZvaWQpCit7CisJcmV0dXJuIDA7Cit9CiAjZW5kaWYKIAogZXh0ZXJuIHU4IHNldHVwX0FQSUNfZWlsdnRfbWNlKHU4IHZlY3RvciwgdTggbXNnX3R5cGUsIHU4IG1hc2spOwogZXh0ZXJuIHU4IHNldHVwX0FQSUNfZWlsdnRfaWJzKHU4IHZlY3RvciwgdTggbXNnX3R5cGUsIHU4IG1hc2spOwogCi1leHRlcm4gaW50IGFwaWNfaXNfY2x1c3RlcmVkX2JveCh2b2lkKTsKIAogI2Vsc2UgLyogIUNPTkZJR19YODZfTE9DQUxfQVBJQyAqLwogc3RhdGljIGlubGluZSB2b2lkIGxhcGljX3NodXRkb3duKHZvaWQpIHsgfQogI2RlZmluZSBsb2NhbF9hcGljX3RpbWVyX2MyX29rCQkxCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9hcGljX21hcHBpbmdzKHZvaWQpIHsgfQogCiAjZW5kaWYgLyogIUNPTkZJR19YODZfTE9DQUxfQVBJQyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYXNtLmggYi9pbmNsdWRlL2FzbS14ODYvYXNtLmgKaW5kZXggOTBkZWMwYy4uOTcyMjAzMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FzbS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hc20uaApAQCAtMSwzNyArMSw0MCBAQAogI2lmbmRlZiBfQVNNX1g4Nl9BU01fSAogI2RlZmluZSBfQVNNX1g4Nl9BU01fSAogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotLyogMzIgYml0cyAqLwotCi0jIGRlZmluZSBfQVNNX1BUUgkiIC5sb25nICIKLSMgZGVmaW5lIF9BU01fQUxJR04JIiAuYmFsaWduIDQgIgotIyBkZWZpbmUgX0FTTV9NT1ZfVUwJIiBtb3ZsICIKLQotIyBkZWZpbmUgX0FTTV9JTkMJIiBpbmNsICIKLSMgZGVmaW5lIF9BU01fREVDCSIgZGVjbCAiCi0jIGRlZmluZSBfQVNNX0FERAkiIGFkZGwgIgotIyBkZWZpbmUgX0FTTV9TVUIJIiBzdWJsICIKLSMgZGVmaW5lIF9BU01fWEFERAkiIHhhZGRsICIKLQorI2lmZGVmIF9fQVNTRU1CTFlfXworIyBkZWZpbmUgX19BU01fRk9STSh4KQl4CisjIGRlZmluZSBfX0FTTV9FWF9TRUMJLnNlY3Rpb24gX19leF90YWJsZQogI2Vsc2UKLS8qIDY0IGJpdHMgKi8KKyMgZGVmaW5lIF9fQVNNX0ZPUk0oeCkJIiAiICN4ICIgIgorIyBkZWZpbmUgX19BU01fRVhfU0VDCSIgLnNlY3Rpb24gX19leF90YWJsZSxcImFcIlxuIgorI2VuZGlmCiAKLSMgZGVmaW5lIF9BU01fUFRSCSIgLnF1YWQgIgotIyBkZWZpbmUgX0FTTV9BTElHTgkiIC5iYWxpZ24gOCAiCi0jIGRlZmluZSBfQVNNX01PVl9VTAkiIG1vdnEgIgorI2lmZGVmIENPTkZJR19YODZfMzIKKyMgZGVmaW5lIF9fQVNNX1NFTChhLGIpIF9fQVNNX0ZPUk0oYSkKKyNlbHNlCisjIGRlZmluZSBfX0FTTV9TRUwoYSxiKSBfX0FTTV9GT1JNKGIpCisjZW5kaWYKIAotIyBkZWZpbmUgX0FTTV9JTkMJIiBpbmNxICIKLSMgZGVmaW5lIF9BU01fREVDCSIgZGVjcSAiCi0jIGRlZmluZSBfQVNNX0FERAkiIGFkZHEgIgotIyBkZWZpbmUgX0FTTV9TVUIJIiBzdWJxICIKLSMgZGVmaW5lIF9BU01fWEFERAkiIHhhZGRxICIKKyNkZWZpbmUgX19BU01fU0laRShpbnN0KQlfX0FTTV9TRUwoaW5zdCMjbCwgaW5zdCMjcSkKKyNkZWZpbmUgX19BU01fUkVHKHJlZykJCV9fQVNNX1NFTChlIyNyZWcsIHIjI3JlZykKIAotI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KKyNkZWZpbmUgX0FTTV9QVFIJX19BU01fU0VMKC5sb25nLCAucXVhZCkKKyNkZWZpbmUgX0FTTV9BTElHTglfX0FTTV9TRUwoLmJhbGlnbiA0LCAuYmFsaWduIDgpCisjZGVmaW5lIF9BU01fTU9WX1VMCV9fQVNNX1NJWkUobW92KQorCisjZGVmaW5lIF9BU01fSU5DCV9fQVNNX1NJWkUoaW5jKQorI2RlZmluZSBfQVNNX0RFQwlfX0FTTV9TSVpFKGRlYykKKyNkZWZpbmUgX0FTTV9BREQJX19BU01fU0laRShhZGQpCisjZGVmaW5lIF9BU01fU1VCCV9fQVNNX1NJWkUoc3ViKQorI2RlZmluZSBfQVNNX1hBREQJX19BU01fU0laRSh4YWRkKQorI2RlZmluZSBfQVNNX0FYCQlfX0FTTV9SRUcoYXgpCisjZGVmaW5lIF9BU01fQlgJCV9fQVNNX1JFRyhieCkKKyNkZWZpbmUgX0FTTV9DWAkJX19BU01fUkVHKGN4KQorI2RlZmluZSBfQVNNX0RYCQlfX0FTTV9SRUcoZHgpCiAKIC8qIEV4Y2VwdGlvbiB0YWJsZSBlbnRyeSAqLwogIyBkZWZpbmUgX0FTTV9FWFRBQkxFKGZyb20sdG8pIFwKLQkiIC5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIgXAorCV9fQVNNX0VYX1NFQwlcCiAJX0FTTV9BTElHTiAiXG4iIFwKIAlfQVNNX1BUUiAjZnJvbSAiLCIgI3RvICJcbiIgXAogCSIgLnByZXZpb3VzXG4iCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYXRvbWljXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvYXRvbWljXzY0LmgKaW5kZXggM2UwY2Q3ZC4uYTAwOTUxOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2F0b21pY182NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hdG9taWNfNjQuaApAQCAtMTEsMTIgKzExLDYgQEAKICAqIHJlc291cmNlIGNvdW50aW5nIGV0Yy4uCiAgKi8KIAotI2lmZGVmIENPTkZJR19TTVAKLSNkZWZpbmUgTE9DSyAibG9jayA7ICIKLSNlbHNlCi0jZGVmaW5lIExPQ0sgIiIKLSNlbmRpZgotCiAvKgogICogTWFrZSBzdXJlIGdjYyBkb2Vzbid0IHRyeSB0byBiZSBjbGV2ZXIgYW5kIG1vdmUgdGhpbmdzIGFyb3VuZAogICogb24gdXMuIFdlIG5lZWQgdG8gdXNlIF9leGFjdGx5XyB0aGUgYWRkcmVzcyB0aGUgdXNlciBnYXZlIHVzLApAQCAtNDMxLDYgKzQyNSwzMiBAQAogCXJldHVybiBjICE9ICh1KTsKIH0KIAorLyoqCisgKiBhdG9taWNfaW5jX3Nob3J0IC0gaW5jcmVtZW50IG9mIGEgc2hvcnQgaW50ZWdlcgorICogQHY6IHBvaW50ZXIgdG8gdHlwZSBpbnQKKyAqCisgKiBBdG9taWNhbGx5IGFkZHMgMSB0byBAdgorICogUmV0dXJucyB0aGUgbmV3IHZhbHVlIG9mIEB1CisgKi8KK3N0YXRpYyBpbmxpbmUgc2hvcnQgaW50IGF0b21pY19pbmNfc2hvcnQoc2hvcnQgaW50ICp2KQoreworCWFzbShMT0NLX1BSRUZJWCAiYWRkdyAkMSwgJTAiIDogIittIiAoKnYpKTsKKwlyZXR1cm4gKnY7Cit9CisKKy8qKgorICogYXRvbWljX29yX2xvbmcgLSBPUiBvZiB0d28gbG9uZyBpbnRlZ2VycworICogQHYxOiBwb2ludGVyIHRvIHR5cGUgdW5zaWduZWQgbG9uZworICogQHYyOiBwb2ludGVyIHRvIHR5cGUgdW5zaWduZWQgbG9uZworICoKKyAqIEF0b21pY2FsbHkgT1JzIEB2MSBhbmQgQHYyCisgKiBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIE9SCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBhdG9taWNfb3JfbG9uZyh1bnNpZ25lZCBsb25nICp2MSwgdW5zaWduZWQgbG9uZyB2MikKK3sKKwlhc20oTE9DS19QUkVGSVggIm9ycSAlMSwgJTAiIDogIittIiAoKnYxKSA6ICJyIiAodjIpKTsKK30KKwogI2RlZmluZSBhdG9taWM2NF9pbmNfbm90X3plcm8odikgYXRvbWljNjRfYWRkX3VubGVzcygodiksIDEsIDApCiAKIC8qIFRoZXNlIGFyZSB4ODYtc3BlY2lmaWMsIHVzZWQgYnkgc29tZSBoZWFkZXIgZmlsZXMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9iaW9zX2ViZGEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9iaW9zX2ViZGEuaAppbmRleCBiNGE0NmI3Li4wMDMzZTUwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvYmlvc19lYmRhLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Jpb3NfZWJkYS5oCkBAIC0xNCw0ICsxNCw2IEBACiAJcmV0dXJuIGFkZHJlc3M7CS8qIDAgbWVhbnMgbm9uZSAqLwogfQogCit2b2lkIHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCk7CisKICNlbmRpZiAvKiBfTUFDSF9CSU9TX0VCREFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2JpdG9wcy5oIGIvaW5jbHVkZS9hc20teDg2L2JpdG9wcy5oCmluZGV4IGVlNGIzZWEuLjk2YjE4MjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9iaXRvcHMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYml0b3BzLmgKQEAgLTIzLDExICsyMywyMSBAQAogI2lmIF9fR05VQ19fIDwgNCB8fCAoX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA8IDEpCiAvKiBUZWNobmljYWxseSB3cm9uZywgYnV0IHRoaXMgYXZvaWRzIGNvbXBpbGF0aW9uIGVycm9ycyBvbiBzb21lIGdjYwogICAgdmVyc2lvbnMuICovCi0jZGVmaW5lIEFERFIgIj1tIiAoKih2b2xhdGlsZSBsb25nICopIGFkZHIpCisjZGVmaW5lIEJJVE9QX0FERFIoeCkgIj1tIiAoKih2b2xhdGlsZSBsb25nICopICh4KSkKICNlbHNlCi0jZGVmaW5lIEFERFIgIittIiAoKih2b2xhdGlsZSBsb25nICopIGFkZHIpCisjZGVmaW5lIEJJVE9QX0FERFIoeCkgIittIiAoKih2b2xhdGlsZSBsb25nICopICh4KSkKICNlbmRpZgogCisjZGVmaW5lIEFERFIJCQkJQklUT1BfQUREUihhZGRyKQorCisvKgorICogV2UgZG8gdGhlIGxvY2tlZCBvcHMgdGhhdCBkb24ndCByZXR1cm4gdGhlIG9sZCB2YWx1ZSBhcworICogYSBtYXNrIG9wZXJhdGlvbiBvbiBhIGJ5dGUuCisgKi8KKyNkZWZpbmUgSVNfSU1NRURJQVRFKG5yKQkJKF9fYnVpbHRpbl9jb25zdGFudF9wKG5yKSkKKyNkZWZpbmUgQ09OU1RfTUFTS19BRERSKG5yLCBhZGRyKQlCSVRPUF9BRERSKCh2b2lkICopKGFkZHIpICsgKChucik+PjMpKQorI2RlZmluZSBDT05TVF9NQVNLKG5yKQkJCSgxIDw8ICgobnIpICYgNykpCisKIC8qKgogICogc2V0X2JpdCAtIEF0b21pY2FsbHkgc2V0IGEgYml0IGluIG1lbW9yeQogICogQG5yOiB0aGUgYml0IHRvIHNldApAQCAtNDMsOSArNTMsMTcgQEAKICAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBub3QKICAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQgcXVhbnRpdHkuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KHVuc2lnbmVkIGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKLQlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImJ0cyAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpIDogIm1lbW9yeSIpOworCWlmIChJU19JTU1FRElBVEUobnIpKSB7CisJCWFzbSB2b2xhdGlsZShMT0NLX1BSRUZJWCAib3JiICUxLCUwIgorCQkJOiBDT05TVF9NQVNLX0FERFIobnIsIGFkZHIpCisJCQk6ICJpcSIgKCh1OClDT05TVF9NQVNLKG5yKSkKKwkJCTogIm1lbW9yeSIpOworCX0gZWxzZSB7CisJCWFzbSB2b2xhdGlsZShMT0NLX1BSRUZJWCAiYnRzICUxLCUwIgorCQkJOiBCSVRPUF9BRERSKGFkZHIpIDogIklyIiAobnIpIDogIm1lbW9yeSIpOworCX0KIH0KIAogLyoqCkBAIC01Nyw3ICs3NSw3IEBACiAgKiBJZiBpdCdzIGNhbGxlZCBvbiB0aGUgc2FtZSByZWdpb24gb2YgbWVtb3J5IHNpbXVsdGFuZW91c2x5LCB0aGUgZWZmZWN0CiAgKiBtYXkgYmUgdGhhdCBvbmx5IG9uZSBvcGVyYXRpb24gc3VjY2VlZHMuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3NldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYXNtIHZvbGF0aWxlKCJidHMgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSA6ICJtZW1vcnkiKTsKIH0KQEAgLTcyLDkgKzkwLDE3IEBACiAgKiB5b3Ugc2hvdWxkIGNhbGwgc21wX21iX19iZWZvcmVfY2xlYXJfYml0KCkgYW5kL29yIHNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCkKICAqIGluIG9yZGVyIHRvIGVuc3VyZSBjaGFuZ2VzIGFyZSB2aXNpYmxlIG9uIG90aGVyIHByb2Nlc3NvcnMuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7Ci0JYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJidHIgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSk7CisJaWYgKElTX0lNTUVESUFURShucikpIHsKKwkJYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJhbmRiICUxLCUwIgorCQkJOiBDT05TVF9NQVNLX0FERFIobnIsIGFkZHIpCisJCQk6ICJpcSIgKCh1OCl+Q09OU1RfTUFTSyhucikpKTsKKwl9IGVsc2UgeworCQlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImJ0ciAlMSwlMCIKKwkJCTogQklUT1BfQUREUihhZGRyKQorCQkJOiAiSXIiIChucikpOworCX0KIH0KIAogLyoKQEAgLTg1LDEzICsxMTEsMTMgQEAKICAqIGNsZWFyX2JpdCgpIGlzIGF0b21pYyBhbmQgaW1wbGllcyByZWxlYXNlIHNlbWFudGljcyBiZWZvcmUgdGhlIG1lbW9yeQogICogb3BlcmF0aW9uLiBJdCBjYW4gYmUgdXNlZCBmb3IgYW4gdW5sb2NrLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfYml0X3VubG9jayh1bnNpZ25lZCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXRfdW5sb2NrKHVuc2lnbmVkIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWJhcnJpZXIoKTsKIAljbGVhcl9iaXQobnIsIGFkZHIpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgX19jbGVhcl9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIF9fY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlhc20gdm9sYXRpbGUoImJ0ciAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpKTsKIH0KQEAgLTEwOCw3ICsxMzQsNyBAQAogICogTm8gbWVtb3J5IGJhcnJpZXIgaXMgcmVxdWlyZWQgaGVyZSwgYmVjYXVzZSB4ODYgY2Fubm90IHJlb3JkZXIgc3RvcmVzIHBhc3QKICAqIG9sZGVyIGxvYWRzLiBTYW1lIHByaW5jaXBsZSBhcyBzcGluX3VubG9jay4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIF9fY2xlYXJfYml0X3VubG9jayh1bnNpZ25lZCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2NsZWFyX2JpdF91bmxvY2sodW5zaWduZWQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYmFycmllcigpOwogCV9fY2xlYXJfYml0KG5yLCBhZGRyKTsKQEAgLTEyNiw3ICsxNTIsNyBAQAogICogSWYgaXQncyBjYWxsZWQgb24gdGhlIHNhbWUgcmVnaW9uIG9mIG1lbW9yeSBzaW11bHRhbmVvdXNseSwgdGhlIGVmZmVjdAogICogbWF5IGJlIHRoYXQgb25seSBvbmUgb3BlcmF0aW9uIHN1Y2NlZWRzLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX19jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWFzbSB2b2xhdGlsZSgiYnRjICUxLCUwIiA6IEFERFIgOiAiSXIiIChucikpOwogfQpAQCAtMTQwLDcgKzE2Niw3IEBACiAgKiBOb3RlIHRoYXQgQG5yIG1heSBiZSBhbG1vc3QgYXJiaXRyYXJpbHkgbGFyZ2U7IHRoaXMgZnVuY3Rpb24gaXMgbm90CiAgKiByZXN0cmljdGVkIHRvIGFjdGluZyBvbiBhIHNpbmdsZS13b3JkIHF1YW50aXR5LgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIHZvaWQgY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJidGMgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSk7CiB9CkBAIC0xNTMsNyArMTc5LDcgQEAKICAqIFRoaXMgb3BlcmF0aW9uIGlzIGF0b21pYyBhbmQgY2Fubm90IGJlIHJlb3JkZXJlZC4KICAqIEl0IGFsc28gaW1wbGllcyBhIG1lbW9yeSBiYXJyaWVyLgogICovCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWludCBvbGRiaXQ7CiAKQEAgLTE3MCw3ICsxOTYsNyBAQAogICoKICAqIFRoaXMgaXMgdGhlIHNhbWUgYXMgdGVzdF9hbmRfc2V0X2JpdCBvbiB4ODYuCiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXRfbG9jayhpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9zZXRfYml0X2xvY2soaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCXJldHVybiB0ZXN0X2FuZF9zZXRfYml0KG5yLCBhZGRyKTsKIH0KQEAgLTE4NCw3ICsyMTAsNyBAQAogICogSWYgdHdvIGV4YW1wbGVzIG9mIHRoaXMgb3BlcmF0aW9uIHJhY2UsIG9uZSBjYW4gYXBwZWFyIHRvIHN1Y2NlZWQKICAqIGJ1dCBhY3R1YWxseSBmYWlsLiAgWW91IG11c3QgcHJvdGVjdCBtdWx0aXBsZSBhY2Nlc3NlcyB3aXRoIGEgbG9jay4KICAqLwotc3RhdGljIGlubGluZSBpbnQgX190ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IF9fdGVzdF9hbmRfc2V0X2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjAzLDcgKzIyOSw3IEBACiAgKiBUaGlzIG9wZXJhdGlvbiBpcyBhdG9taWMgYW5kIGNhbm5vdCBiZSByZW9yZGVyZWQuCiAgKiBJdCBhbHNvIGltcGxpZXMgYSBtZW1vcnkgYmFycmllci4KICAqLwotc3RhdGljIGlubGluZSBpbnQgdGVzdF9hbmRfY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjIzLDcgKzI0OSw3IEBACiAgKiBJZiB0d28gZXhhbXBsZXMgb2YgdGhpcyBvcGVyYXRpb24gcmFjZSwgb25lIGNhbiBhcHBlYXIgdG8gc3VjY2VlZAogICogYnV0IGFjdHVhbGx5IGZhaWwuICBZb3UgbXVzdCBwcm90ZWN0IG11bHRpcGxlIGFjY2Vzc2VzIHdpdGggYSBsb2NrLgogICovCi1zdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjM1LDcgKzI2MSw3IEBACiB9CiAKIC8qIFdBUk5JTkc6IG5vbiBhdG9taWMgYW5kIGl0IGNhbiBiZSByZW9yZGVyZWQhICovCi1zdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgX190ZXN0X2FuZF9jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCkBAIC0yNTUsNyArMjgxLDcgQEAKICAqIFRoaXMgb3BlcmF0aW9uIGlzIGF0b21pYyBhbmQgY2Fubm90IGJlIHJlb3JkZXJlZC4KICAqIEl0IGFsc28gaW1wbGllcyBhIG1lbW9yeSBiYXJyaWVyLgogICovCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWludCBvbGRiaXQ7CiAKQEAgLTI2NiwxMyArMjkyLDEzIEBACiAJcmV0dXJuIG9sZGJpdDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgY29uc3RhbnRfdGVzdF9iaXQoaW50IG5yLCBjb25zdCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgY29uc3RhbnRfdGVzdF9iaXQoaW50IG5yLCBjb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCXJldHVybiAoKDFVTCA8PCAobnIgJSBCSVRTX1BFUl9MT05HKSkgJgogCQkoKCh1bnNpZ25lZCBsb25nICopYWRkcilbbnIgLyBCSVRTX1BFUl9MT05HXSkpICE9IDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHZhcmlhYmxlX3Rlc3RfYml0KGludCBuciwgdm9sYXRpbGUgY29uc3Qgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHZhcmlhYmxlX3Rlc3RfYml0KGludCBuciwgdm9sYXRpbGUgY29uc3QgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYm9vdHBhcmFtLmggYi9pbmNsdWRlL2FzbS14ODYvYm9vdHBhcmFtLmgKaW5kZXggZjYyZjQ3My4uYWUyMmJkZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2Jvb3RwYXJhbS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9ib290cGFyYW0uaApAQCAtMTEsNiArMTEsNyBAQAogCiAvKiBzZXR1cCBkYXRhIHR5cGVzICovCiAjZGVmaW5lIFNFVFVQX05PTkUJCQkwCisjZGVmaW5lIFNFVFVQX0U4MjBfRVhUCQkJMQogCiAvKiBleHRlbnNpYmxlIHNldHVwIGRhdGEgbGlzdCBub2RlICovCiBzdHJ1Y3Qgc2V0dXBfZGF0YSB7CkBAIC00MCw2ICs0MSw3IEBACiAJX191OAl0eXBlX29mX2xvYWRlcjsKIAlfX3U4CWxvYWRmbGFnczsKICNkZWZpbmUgTE9BREVEX0hJR0gJKDE8PDApCisjZGVmaW5lIFFVSUVUX0ZMQUcJKDE8PDUpCiAjZGVmaW5lIEtFRVBfU0VHTUVOVFMJKDE8PDYpCiAjZGVmaW5lIENBTl9VU0VfSEVBUAkoMTw8NykKIAlfX3UxNglzZXR1cF9tb3ZlX3NpemU7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvY21weGNoZ182NC5oIGIvaW5jbHVkZS9hc20teDg2L2NtcHhjaGdfNjQuaAppbmRleCBkOWIyNmI5Li4xNzQ2M2NjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvY21weGNoZ182NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9jbXB4Y2hnXzY0LmgKQEAgLTkzLDYgKzkzLDM5IEBACiAJcmV0dXJuIG9sZDsKIH0KIAorLyoKKyAqIEFsd2F5cyB1c2UgbG9ja2VkIG9wZXJhdGlvbnMgd2hlbiB0b3VjaGluZyBtZW1vcnkgc2hhcmVkIHdpdGggYQorICogaHlwZXJ2aXNvciwgc2luY2UgdGhlIHN5c3RlbSBtYXkgYmUgU01QIGV2ZW4gaWYgdGhlIGd1ZXN0IGtlcm5lbAorICogaXNuJ3QuCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBfX3N5bmNfY21weGNoZyh2b2xhdGlsZSB2b2lkICpwdHIsCisJCQkJCSAgIHVuc2lnbmVkIGxvbmcgb2xkLAorCQkJCQkgICB1bnNpZ25lZCBsb25nIG5ldywgaW50IHNpemUpCit7CisJdW5zaWduZWQgbG9uZyBwcmV2OworCXN3aXRjaCAoc2l6ZSkgeworCWNhc2UgMToKKwkJYXNtIHZvbGF0aWxlKCJsb2NrOyBjbXB4Y2hnYiAlYjEsJTIiCisJCQkgICAgIDogIj1hIihwcmV2KQorCQkJICAgICA6ICJxIihuZXcpLCAibSIoKl9feGcocHRyKSksICIwIihvbGQpCisJCQkgICAgIDogIm1lbW9yeSIpOworCQlyZXR1cm4gcHJldjsKKwljYXNlIDI6CisJCWFzbSB2b2xhdGlsZSgibG9jazsgY21weGNoZ3cgJXcxLCUyIgorCQkJICAgICA6ICI9YSIocHJldikKKwkJCSAgICAgOiAiciIobmV3KSwgIm0iKCpfX3hnKHB0cikpLCAiMCIob2xkKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHByZXY7CisJY2FzZSA0OgorCQlhc20gdm9sYXRpbGUoImxvY2s7IGNtcHhjaGdsICUxLCUyIgorCQkJICAgICA6ICI9YSIocHJldikKKwkJCSAgICAgOiAiciIobmV3KSwgIm0iKCpfX3hnKHB0cikpLCAiMCIob2xkKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHByZXY7CisJfQorCXJldHVybiBvbGQ7Cit9CisKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBfX2NtcHhjaGdfbG9jYWwodm9sYXRpbGUgdm9pZCAqcHRyLAogCQkJCQkgICAgdW5zaWduZWQgbG9uZyBvbGQsCiAJCQkJCSAgICB1bnNpZ25lZCBsb25nIG5ldywgaW50IHNpemUpCkBAIC0xMzksNiArMTcyLDEwIEBACiAJKChfX3R5cGVvZl9fKCoocHRyKSkpX19jbXB4Y2hnX2xvY2FsKChwdHIpLCAodW5zaWduZWQgbG9uZykobyksCVwKIAkJCQkJICAgICAodW5zaWduZWQgbG9uZykobiksCVwKIAkJCQkJICAgICBzaXplb2YoKihwdHIpKSkpCisjZGVmaW5lIHN5bmNfY21weGNoZyhwdHIsIG8sIG4pCQkJCQkJXAorCSgoX190eXBlb2ZfXygqKHB0cikpKV9fc3luY19jbXB4Y2hnKChwdHIpLCAodW5zaWduZWQgbG9uZykobyksCVwKKwkJCQkJICAgICh1bnNpZ25lZCBsb25nKShuKSwJCVwKKwkJCQkJICAgIHNpemVvZigqKHB0cikpKSkKICNkZWZpbmUgY21weGNoZzY0X2xvY2FsKHB0ciwgbywgbikJCQkJCVwKICh7CQkJCQkJCQkJXAogCUJVSUxEX0JVR19PTihzaXplb2YoKihwdHIpKSAhPSA4KTsJCQkJXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKaW5kZXggMGQ2MDljOC4uNzVlZjk1OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCkBAIC03NCw4ICs3NCw4IEBACiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0FSQ0hfUEVSRk1PTiAoMyozMisxMSkgLyogSW50ZWwgQXJjaGl0ZWN0dXJhbCBQZXJmTW9uICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX1BFQlMJKDMqMzIrMTIpICAvKiBQcmVjaXNlLUV2ZW50IEJhc2VkIFNhbXBsaW5nICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0JUUwkJKDMqMzIrMTMpICAvKiBCcmFuY2ggVHJhY2UgU3RvcmUgKi8KLS8qIDE0IGZyZWUgKi8KLS8qIDE1IGZyZWUgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfU1lTQ0FMTDMyCSgzKjMyKzE0KSAgLyogc3lzY2FsbCBpbiBpYTMyIHVzZXJzcGFjZSAqLworI2RlZmluZSBYODZfRkVBVFVSRV9TWVNFTlRFUjMyCSgzKjMyKzE1KSAgLyogc3lzZW50ZXIgaW4gaWEzMiB1c2Vyc3BhY2UgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfUkVQX0dPT0QJKDMqMzIrMTYpIC8qIHJlcCBtaWNyb2NvZGUgd29ya3Mgd2VsbCBvbiB0aGlzIENQVSAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9NRkVOQ0VfUkRUU0MgKDMqMzIrMTcpIC8qIE1mZW5jZSBzeW5jaHJvbml6ZXMgUkRUU0MgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfTEZFTkNFX1JEVFNDICgzKjMyKzE4KSAvKiBMZmVuY2Ugc3luY2hyb25pemVzIFJEVFNDICovCkBAIC0xMDYsNiArMTA2LDcgQEAKIC8qIE1vcmUgZXh0ZW5kZWQgQU1EIGZsYWdzOiBDUFVJRCBsZXZlbCAweDgwMDAwMDAxLCBlY3gsIHdvcmQgNiAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9MQUhGX0xNCSg2KjMyKyAwKSAvKiBMQUhGL1NBSEYgaW4gbG9uZyBtb2RlICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0NNUF9MRUdBQ1kJKDYqMzIrIDEpIC8qIElmIHllcyBIeXBlclRocmVhZGluZyBub3QgdmFsaWQgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfSUJTCQkoNiozMisgMTApIC8qIEluc3RydWN0aW9uIEJhc2VkIFNhbXBsaW5nICovCiAKIC8qCiAgKiBBdXhpbGlhcnkgZmxhZ3M6IExpbnV4IGRlZmluZWQgLSBGb3IgZmVhdHVyZXMgc2NhdHRlcmVkIGluIHZhcmlvdXMKQEAgLTE0MiwxMSArMTQzLDExIEBACiAjZGVmaW5lIGNsZWFyX2NwdV9jYXAoYywgYml0KQljbGVhcl9iaXQoYml0LCAodW5zaWduZWQgbG9uZyAqKSgoYyktPng4Nl9jYXBhYmlsaXR5KSkKICNkZWZpbmUgc2V0dXBfY2xlYXJfY3B1X2NhcChiaXQpIGRvIHsgXAogCWNsZWFyX2NwdV9jYXAoJmJvb3RfY3B1X2RhdGEsIGJpdCk7CVwKLQlzZXRfYml0KGJpdCwgY2xlYXJlZF9jcHVfY2Fwcyk7IAlcCisJc2V0X2JpdChiaXQsICh1bnNpZ25lZCBsb25nICopY2xlYXJlZF9jcHVfY2Fwcyk7IFwKIH0gd2hpbGUgKDApCiAjZGVmaW5lIHNldHVwX2ZvcmNlX2NwdV9jYXAoYml0KSBkbyB7IFwKIAlzZXRfY3B1X2NhcCgmYm9vdF9jcHVfZGF0YSwgYml0KTsJXAotCWNsZWFyX2JpdChiaXQsIGNsZWFyZWRfY3B1X2NhcHMpOyAJXAorCWNsZWFyX2JpdChiaXQsICh1bnNpZ25lZCBsb25nICopY2xlYXJlZF9jcHVfY2Fwcyk7IAlcCiB9IHdoaWxlICgwKQogCiAjZGVmaW5lIGNwdV9oYXNfZnB1CQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfRlBVKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmgKaW5kZXggZDI1MjZkMy4uNzUxNWMxOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oCkBAIC0xLDUgKzEsMzkgQEAKKyNpZm5kZWYgX1g4Nl9DVVJSRU5UX0gKKyNkZWZpbmUgX1g4Nl9DVVJSRU5UX0gKKwogI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAiY3VycmVudF8zMi5oIgotI2Vsc2UKLSMgaW5jbHVkZSAiY3VycmVudF82NC5oIgotI2VuZGlmCisjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KKyNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+CisKK3N0cnVjdCB0YXNrX3N0cnVjdDsKKworREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBjdXJyZW50X3Rhc2spOworc3RhdGljIF9fYWx3YXlzX2lubGluZSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdldF9jdXJyZW50KHZvaWQpCit7CisJcmV0dXJuIHg4Nl9yZWFkX3BlcmNwdShjdXJyZW50X3Rhc2spOworfQorCisjZWxzZSAvKiBYODZfMzIgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKyNpbmNsdWRlIDxhc20vcGRhLmg+CisKK3N0cnVjdCB0YXNrX3N0cnVjdDsKKworc3RhdGljIF9fYWx3YXlzX2lubGluZSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdldF9jdXJyZW50KHZvaWQpCit7CisJcmV0dXJuIHJlYWRfcGRhKHBjdXJyZW50KTsKK30KKworI2Vsc2UgLyogX19BU1NFTUJMWV9fICovCisKKyNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KKyNkZWZpbmUgR0VUX0NVUlJFTlQocmVnKSBtb3ZxICVnczoocGRhX3BjdXJyZW50KSxyZWcKKworI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLworCisjZW5kaWYgLyogWDg2XzMyICovCisKKyNkZWZpbmUgY3VycmVudCBnZXRfY3VycmVudCgpCisKKyNlbmRpZiAvKiBYODZfQ1VSUkVOVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvY3VycmVudF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2N1cnJlbnRfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFmOWJkYi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvY3VycmVudF8zMi5oCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotI2lmbmRlZiBfSTM4Nl9DVVJSRU5UX0gKLSNkZWZpbmUgX0kzODZfQ1VSUkVOVF9ICi0KLSNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgotI2luY2x1ZGUgPGFzbS9wZXJjcHUuaD4KLQotc3RydWN0IHRhc2tfc3RydWN0OwotCi1ERUNMQVJFX1BFUl9DUFUoc3RydWN0IHRhc2tfc3RydWN0ICosIGN1cnJlbnRfdGFzayk7Ci1zdGF0aWMgX19hbHdheXNfaW5saW5lIHN0cnVjdCB0YXNrX3N0cnVjdCAqZ2V0X2N1cnJlbnQodm9pZCkKLXsKLQlyZXR1cm4geDg2X3JlYWRfcGVyY3B1KGN1cnJlbnRfdGFzayk7Ci19Ci0KLSNkZWZpbmUgY3VycmVudCBnZXRfY3VycmVudCgpCi0KLSNlbmRpZiAvKiAhKF9JMzg2X0NVUlJFTlRfSCkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50XzY0LmggYi9pbmNsdWRlL2FzbS14ODYvY3VycmVudF82NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDM2OGVkLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50XzY0LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0jaWZuZGVmIF9YODZfNjRfQ1VSUkVOVF9ICi0jZGVmaW5lIF9YODZfNjRfQ1VSUkVOVF9ICi0KLSNpZiAhZGVmaW5lZChfX0FTU0VNQkxZX18pCi1zdHJ1Y3QgdGFza19zdHJ1Y3Q7Ci0KLSNpbmNsdWRlIDxhc20vcGRhLmg+Ci0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHRhc2tfc3RydWN0ICpnZXRfY3VycmVudCh2b2lkKQotewotCXN0cnVjdCB0YXNrX3N0cnVjdCAqdCA9IHJlYWRfcGRhKHBjdXJyZW50KTsKLQlyZXR1cm4gdDsKLX0KLQotI2RlZmluZSBjdXJyZW50IGdldF9jdXJyZW50KCkKLQotI2Vsc2UKLQotI2lmbmRlZiBBU01fT0ZGU0VUX0gKLSNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KLSNlbmRpZgotCi0jZGVmaW5lIEdFVF9DVVJSRU5UKHJlZykgbW92cSAlZ3M6KHBkYV9wY3VycmVudCkscmVnCi0KLSNlbmRpZgotCi0jZW5kaWYgLyogIShfWDg2XzY0X0NVUlJFTlRfSCkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmggYi9pbmNsdWRlL2FzbS14ODYvZGVzYy5oCmluZGV4IDI2OGEwMTIuLmE0NGM0ZGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Rlc2MuaApAQCAtMjksMTEgKzI5LDE3IEBACiBleHRlcm4gc3RydWN0IGRlc2NfcHRyIGlkdF9kZXNjcjsKIGV4dGVybiBnYXRlX2Rlc2MgaWR0X3RhYmxlW107CiAKK3N0cnVjdCBnZHRfcGFnZSB7CisJc3RydWN0IGRlc2Nfc3RydWN0IGdkdFtHRFRfRU5UUklFU107Cit9IF9fYXR0cmlidXRlX18oKGFsaWduZWQoUEFHRV9TSVpFKSkpOworREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCBnZHRfcGFnZSwgZ2R0X3BhZ2UpOworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBkZXNjX3N0cnVjdCAqZ2V0X2NwdV9nZHRfdGFibGUodW5zaWduZWQgaW50IGNwdSkKK3sKKwlyZXR1cm4gcGVyX2NwdShnZHRfcGFnZSwgY3B1KS5nZHQ7Cit9CisKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci1leHRlcm4gc3RydWN0IGRlc2Nfc3RydWN0IGNwdV9nZHRfdGFibGVbR0RUX0VOVFJJRVNdOwotZXh0ZXJuIHN0cnVjdCBkZXNjX3B0ciBjcHVfZ2R0X2Rlc2NyW107Ci0vKiB0aGUgY3B1IGdkdCBhY2Nlc3NvciAqLwotI2RlZmluZSBnZXRfY3B1X2dkdF90YWJsZSh4KSAoKHN0cnVjdCBkZXNjX3N0cnVjdCAqKWNwdV9nZHRfZGVzY3JbeF0uYWRkcmVzcykKIAogc3RhdGljIGlubGluZSB2b2lkIHBhY2tfZ2F0ZShnYXRlX2Rlc2MgKmdhdGUsIHVuc2lnbmVkIHR5cGUsIHVuc2lnbmVkIGxvbmcgZnVuYywKIAkJCSAgICAgdW5zaWduZWQgZHBsLCB1bnNpZ25lZCBpc3QsIHVuc2lnbmVkIHNlZykKQEAgLTUxLDE2ICs1Nyw2IEBACiB9CiAKICNlbHNlCi1zdHJ1Y3QgZ2R0X3BhZ2UgewotCXN0cnVjdCBkZXNjX3N0cnVjdCBnZHRbR0RUX0VOVFJJRVNdOwotfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKFBBR0VfU0laRSkpKTsKLURFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgZ2R0X3BhZ2UsIGdkdF9wYWdlKTsKLQotc3RhdGljIGlubGluZSBzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmdldF9jcHVfZ2R0X3RhYmxlKHVuc2lnbmVkIGludCBjcHUpCi17Ci0JcmV0dXJuIHBlcl9jcHUoZ2R0X3BhZ2UsIGNwdSkuZ2R0OwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgcGFja19nYXRlKGdhdGVfZGVzYyAqZ2F0ZSwgdW5zaWduZWQgY2hhciB0eXBlLAogCQkJICAgICB1bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGRwbCwgdW5zaWduZWQgZmxhZ3MsCiAJCQkgICAgIHVuc2lnbmVkIHNob3J0IHNlZykKQEAgLTE5Miw4ICsxODgsOCBAQAogCQl1bnNpZ25lZCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAJCWxkdF9kZXNjIGxkdDsKIAotCQlzZXRfdHNzbGR0X2Rlc2NyaXB0b3IoJmxkdCwgKHVuc2lnbmVkIGxvbmcpYWRkciwKLQkJCQkgICAgICBERVNDX0xEVCwgZW50cmllcyAqIHNpemVvZihsZHQpIC0gMSk7CisJCXNldF90c3NsZHRfZGVzY3JpcHRvcigmbGR0LCAodW5zaWduZWQgbG9uZylhZGRyLCBERVNDX0xEVCwKKwkJCQkgICAgICBlbnRyaWVzICogTERUX0VOVFJZX1NJWkUgLSAxKTsKIAkJd3JpdGVfZ2R0X2VudHJ5KGdldF9jcHVfZ2R0X3RhYmxlKGNwdSksIEdEVF9FTlRSWV9MRFQsCiAJCQkJJmxkdCwgREVTQ19MRFQpOwogCQlhc20gdm9sYXRpbGUoImxsZHQgJXcwIjo6InEiIChHRFRfRU5UUllfTERUKjgpKTsKQEAgLTMxMSw2ICszMDcsMjggQEAKIAlfc2V0X2dhdGUobiwgR0FURV9JTlRFUlJVUFQsIGFkZHIsIDAsIDAsIF9fS0VSTkVMX0NTKTsKIH0KIAorI2RlZmluZSBTWVNfVkVDVE9SX0ZSRUUJCTAKKyNkZWZpbmUgU1lTX1ZFQ1RPUl9BTExPQ0VECTEKKworZXh0ZXJuIGludCBmaXJzdF9zeXN0ZW1fdmVjdG9yOworZXh0ZXJuIGNoYXIgc3lzdGVtX3ZlY3RvcnNbXTsKKworc3RhdGljIGlubGluZSB2b2lkIGFsbG9jX3N5c3RlbV92ZWN0b3IoaW50IHZlY3RvcikKK3sKKwlpZiAoc3lzdGVtX3ZlY3RvcnNbdmVjdG9yXSA9PSBTWVNfVkVDVE9SX0ZSRUUpIHsKKwkJc3lzdGVtX3ZlY3RvcnNbdmVjdG9yXSA9IFNZU19WRUNUT1JfQUxMT0NFRDsKKwkJaWYgKGZpcnN0X3N5c3RlbV92ZWN0b3IgPiB2ZWN0b3IpCisJCQlmaXJzdF9zeXN0ZW1fdmVjdG9yID0gdmVjdG9yOworCX0gZWxzZQorCQlCVUcoKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFsbG9jX2ludHJfZ2F0ZSh1bnNpZ25lZCBpbnQgbiwgdm9pZCAqYWRkcikKK3sKKwlhbGxvY19zeXN0ZW1fdmVjdG9yKG4pOworCXNldF9pbnRyX2dhdGUobiwgYWRkcik7Cit9CisKIC8qCiAgKiBUaGlzIHJvdXRpbmUgc2V0cyB1cCBhbiBpbnRlcnJ1cHQgZ2F0ZSBhdCBkaXJlY3RvcnkgcHJpdmlsZWdlIGxldmVsIDMuCiAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kZXNjX2RlZnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9kZXNjX2RlZnMuaAppbmRleCBlY2NiNGVhLi5mN2JhY2YzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZGVzY19kZWZzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Rlc2NfZGVmcy5oCkBAIC03NSwxMCArNzUsMTQgQEAKIHR5cGVkZWYgc3RydWN0IGdhdGVfc3RydWN0NjQgZ2F0ZV9kZXNjOwogdHlwZWRlZiBzdHJ1Y3QgbGR0dHNzX2Rlc2M2NCBsZHRfZGVzYzsKIHR5cGVkZWYgc3RydWN0IGxkdHRzc19kZXNjNjQgdHNzX2Rlc2M7CisjZGVmaW5lIGdhdGVfb2Zmc2V0KGcpICgoZykub2Zmc2V0X2xvdyB8ICgodW5zaWduZWQgbG9uZykoZykub2Zmc2V0X21pZGRsZSA8PCAxNikgfCAoKHVuc2lnbmVkIGxvbmcpKGcpLm9mZnNldF9oaWdoIDw8IDMyKSkKKyNkZWZpbmUgZ2F0ZV9zZWdtZW50KGcpICgoZykuc2VnbWVudCkKICNlbHNlCiB0eXBlZGVmIHN0cnVjdCBkZXNjX3N0cnVjdCBnYXRlX2Rlc2M7CiB0eXBlZGVmIHN0cnVjdCBkZXNjX3N0cnVjdCBsZHRfZGVzYzsKIHR5cGVkZWYgc3RydWN0IGRlc2Nfc3RydWN0IHRzc19kZXNjOworI2RlZmluZSBnYXRlX29mZnNldChnKQkJKCgoZykuYiAmIDB4ZmZmZjAwMDApIHwgKChnKS5hICYgMHgwMDAwZmZmZikpCisjZGVmaW5lIGdhdGVfc2VnbWVudChnKQkJKChnKS5hID4+IDE2KQogI2VuZGlmCiAKIHN0cnVjdCBkZXNjX3B0ciB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZG1pLmggYi9pbmNsdWRlL2FzbS14ODYvZG1pLmgKaW5kZXggNGVkZjc1MS4uNThhODY1NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2RtaS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9kbWkuaApAQCAtMywxMiArMyw2IEBACiAKICNpbmNsdWRlIDxhc20vaW8uaD4KIAotI2lmZGVmIENPTkZJR19YODZfMzIKLQotI2RlZmluZSBkbWlfYWxsb2MgYWxsb2NfYm9vdG1lbQotCi0jZWxzZSAvKiBDT05GSUdfWDg2XzMyICovCi0KICNkZWZpbmUgRE1JX01BWF9EQVRBIDIwNDgKIAogZXh0ZXJuIGludCBkbWlfYWxsb2NfaW5kZXg7CkBAIC0yNSw4ICsxOSw2IEBACiAJcmV0dXJuIGRtaV9hbGxvY19kYXRhICsgaWR4OwogfQogCi0jZW5kaWYKLQogLyogVXNlIGVhcmx5IElPIG1hcHBpbmdzIGZvciBETUkgYmVjYXVzZSBpdCdzIGluaXRpYWxpemVkIGVhcmx5ICovCiAjZGVmaW5lIGRtaV9pb3JlbWFwIGVhcmx5X2lvcmVtYXAKICNkZWZpbmUgZG1pX2lvdW5tYXAgZWFybHlfaW91bm1hcApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2R3YXJmMi5oIGIvaW5jbHVkZS9hc20teDg2L2R3YXJmMi5oCmluZGV4IGIzY2JiMGMuLjczOGJiOWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZHdhcmYyLmgKQEAgLTEsNSArMSw2MSBAQAotI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAiZHdhcmYyXzMyLmgiCisjaWZuZGVmIF9EV0FSRjJfSAorI2RlZmluZSBfRFdBUkYyX0gKKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKyN3YXJuaW5nICJhc20vZHdhcmYyLmggc2hvdWxkIGJlIG9ubHkgaW5jbHVkZWQgaW4gcHVyZSBhc3NlbWJseSBmaWxlcyIKKyNlbmRpZgorCisvKgorICAgTWFjcm9zIGZvciBkd2FyZjIgQ0ZJIHVud2luZCB0YWJsZSBlbnRyaWVzLgorICAgU2VlICJhcy5pbmZvIiBmb3IgZGV0YWlscyBvbiB0aGVzZSBwc2V1ZG8gb3BzLiBVbmZvcnR1bmF0ZWx5CisgICB0aGV5IGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB2ZXJ5IG5ldyBiaW51dGlscywgc28gZGVmaW5lIHRoZW0KKyAgIGF3YXkgZm9yIG9sZGVyIHZlcnNpb24uCisgKi8KKworI2lmZGVmIENPTkZJR19BU19DRkkKKworI2RlZmluZSBDRklfU1RBUlRQUk9DIC5jZmlfc3RhcnRwcm9jCisjZGVmaW5lIENGSV9FTkRQUk9DIC5jZmlfZW5kcHJvYworI2RlZmluZSBDRklfREVGX0NGQSAuY2ZpX2RlZl9jZmEKKyNkZWZpbmUgQ0ZJX0RFRl9DRkFfUkVHSVNURVIgLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyCisjZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVCAuY2ZpX2RlZl9jZmFfb2Zmc2V0CisjZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVCAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0CisjZGVmaW5lIENGSV9PRkZTRVQgLmNmaV9vZmZzZXQKKyNkZWZpbmUgQ0ZJX1JFTF9PRkZTRVQgLmNmaV9yZWxfb2Zmc2V0CisjZGVmaW5lIENGSV9SRUdJU1RFUiAuY2ZpX3JlZ2lzdGVyCisjZGVmaW5lIENGSV9SRVNUT1JFIC5jZmlfcmVzdG9yZQorI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgLmNmaV9yZW1lbWJlcl9zdGF0ZQorI2RlZmluZSBDRklfUkVTVE9SRV9TVEFURSAuY2ZpX3Jlc3RvcmVfc3RhdGUKKyNkZWZpbmUgQ0ZJX1VOREVGSU5FRCAuY2ZpX3VuZGVmaW5lZAorCisjaWZkZWYgQ09ORklHX0FTX0NGSV9TSUdOQUxfRlJBTUUKKyNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRSAuY2ZpX3NpZ25hbF9mcmFtZQogI2Vsc2UKLSMgaW5jbHVkZSAiZHdhcmYyXzY0LmgiCisjZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUKKyNlbmRpZgorCisjZWxzZQorCisvKiBEdWUgdG8gdGhlIHN0cnVjdHVyZSBvZiBwcmUtZXhpc2l0aW5nIGNvZGUsIGRvbid0IHVzZSBhc3NlbWJsZXIgbGluZQorICAgY29tbWVudCBjaGFyYWN0ZXIgIyB0byBpZ25vcmUgdGhlIGFyZ3VtZW50cy4gSW5zdGVhZCwgdXNlIGEgZHVtbXkgbWFjcm8uICovCisubWFjcm8gY2ZpX2lnbm9yZSBhPTAsIGI9MCwgYz0wLCBkPTAKKy5lbmRtCisKKyNkZWZpbmUgQ0ZJX1NUQVJUUFJPQwljZmlfaWdub3JlCisjZGVmaW5lIENGSV9FTkRQUk9DCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX0RFRl9DRkEJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUgljZmlfaWdub3JlCisjZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVAljZmlfaWdub3JlCisjZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVAljZmlfaWdub3JlCisjZGVmaW5lIENGSV9PRkZTRVQJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfUkVMX09GRlNFVAljZmlfaWdub3JlCisjZGVmaW5lIENGSV9SRUdJU1RFUgljZmlfaWdub3JlCisjZGVmaW5lIENGSV9SRVNUT1JFCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1JFTUVNQkVSX1NUQVRFIGNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1JFU1RPUkVfU1RBVEUgY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfVU5ERUZJTkVEIGNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRSBjZmlfaWdub3JlCisKKyNlbmRpZgorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjJfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjJfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ2NjM5OC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi0jaWZuZGVmIF9EV0FSRjJfSAotI2RlZmluZSBfRFdBUkYyX0gKLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLSN3YXJuaW5nICJhc20vZHdhcmYyLmggc2hvdWxkIGJlIG9ubHkgaW5jbHVkZWQgaW4gcHVyZSBhc3NlbWJseSBmaWxlcyIKLSNlbmRpZgotCi0vKgotICAgTWFjcm9zIGZvciBkd2FyZjIgQ0ZJIHVud2luZCB0YWJsZSBlbnRyaWVzLgotICAgU2VlICJhcy5pbmZvIiBmb3IgZGV0YWlscyBvbiB0aGVzZSBwc2V1ZG8gb3BzLiBVbmZvcnR1bmF0ZWx5Ci0gICB0aGV5IGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB2ZXJ5IG5ldyBiaW51dGlscywgc28gZGVmaW5lIHRoZW0KLSAgIGF3YXkgZm9yIG9sZGVyIHZlcnNpb24uCi0gKi8KLQotI2lmZGVmIENPTkZJR19VTldJTkRfSU5GTwotCi0jZGVmaW5lIENGSV9TVEFSVFBST0MgLmNmaV9zdGFydHByb2MKLSNkZWZpbmUgQ0ZJX0VORFBST0MgLmNmaV9lbmRwcm9jCi0jZGVmaW5lIENGSV9ERUZfQ0ZBIC5jZmlfZGVmX2NmYQotI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUiAuY2ZpX2RlZl9jZmFfcmVnaXN0ZXIKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfT0ZGU0VUIC5jZmlfZGVmX2NmYV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX09GRlNFVCAuY2ZpX29mZnNldAotI2RlZmluZSBDRklfUkVMX09GRlNFVCAuY2ZpX3JlbF9vZmZzZXQKLSNkZWZpbmUgQ0ZJX1JFR0lTVEVSIC5jZmlfcmVnaXN0ZXIKLSNkZWZpbmUgQ0ZJX1JFU1RPUkUgLmNmaV9yZXN0b3JlCi0jZGVmaW5lIENGSV9SRU1FTUJFUl9TVEFURSAuY2ZpX3JlbWVtYmVyX3N0YXRlCi0jZGVmaW5lIENGSV9SRVNUT1JFX1NUQVRFIC5jZmlfcmVzdG9yZV9zdGF0ZQotI2RlZmluZSBDRklfVU5ERUZJTkVEIC5jZmlfdW5kZWZpbmVkCi0KLSNpZmRlZiBDT05GSUdfQVNfQ0ZJX1NJR05BTF9GUkFNRQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FIC5jZmlfc2lnbmFsX2ZyYW1lCi0jZWxzZQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FCi0jZW5kaWYKLQotI2Vsc2UKLQotLyogRHVlIHRvIHRoZSBzdHJ1Y3R1cmUgb2YgcHJlLWV4aXNpdGluZyBjb2RlLCBkb24ndCB1c2UgYXNzZW1ibGVyIGxpbmUKLSAgIGNvbW1lbnQgY2hhcmFjdGVyICMgdG8gaWdub3JlIHRoZSBhcmd1bWVudHMuIEluc3RlYWQsIHVzZSBhIGR1bW15IG1hY3JvLiAqLwotLm1hY3JvIGlnbm9yZSBhPTAsIGI9MCwgYz0wLCBkPTAKLS5lbmRtCi0KLSNkZWZpbmUgQ0ZJX1NUQVJUUFJPQwlpZ25vcmUKLSNkZWZpbmUgQ0ZJX0VORFBST0MJaWdub3JlCi0jZGVmaW5lIENGSV9ERUZfQ0ZBCWlnbm9yZQotI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUglpZ25vcmUKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfT0ZGU0VUCWlnbm9yZQotI2RlZmluZSBDRklfQURKVVNUX0NGQV9PRkZTRVQJaWdub3JlCi0jZGVmaW5lIENGSV9PRkZTRVQJaWdub3JlCi0jZGVmaW5lIENGSV9SRUxfT0ZGU0VUCWlnbm9yZQotI2RlZmluZSBDRklfUkVHSVNURVIJaWdub3JlCi0jZGVmaW5lIENGSV9SRVNUT1JFCWlnbm9yZQotI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgaWdub3JlCi0jZGVmaW5lIENGSV9SRVNUT1JFX1NUQVRFIGlnbm9yZQotI2RlZmluZSBDRklfVU5ERUZJTkVEIGlnbm9yZQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FIGlnbm9yZQotCi0jZW5kaWYKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5NTA1MTkuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2R3YXJmMl82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotI2lmbmRlZiBfRFdBUkYyX0gKLSNkZWZpbmUgX0RXQVJGMl9IIDEKLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLSN3YXJuaW5nICJhc20vZHdhcmYyLmggc2hvdWxkIGJlIG9ubHkgaW5jbHVkZWQgaW4gcHVyZSBhc3NlbWJseSBmaWxlcyIKLSNlbmRpZgotCi0vKgotICAgTWFjcm9zIGZvciBkd2FyZjIgQ0ZJIHVud2luZCB0YWJsZSBlbnRyaWVzLgotICAgU2VlICJhcy5pbmZvIiBmb3IgZGV0YWlscyBvbiB0aGVzZSBwc2V1ZG8gb3BzLiBVbmZvcnR1bmF0ZWx5Ci0gICB0aGV5IGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB2ZXJ5IG5ldyBiaW51dGlscywgc28gZGVmaW5lIHRoZW0KLSAgIGF3YXkgZm9yIG9sZGVyIHZlcnNpb24uCi0gKi8KLQotI2lmZGVmIENPTkZJR19BU19DRkkKLQotI2RlZmluZSBDRklfU1RBUlRQUk9DIC5jZmlfc3RhcnRwcm9jCi0jZGVmaW5lIENGSV9FTkRQUk9DIC5jZmlfZW5kcHJvYwotI2RlZmluZSBDRklfREVGX0NGQSAuY2ZpX2RlZl9jZmEKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfUkVHSVNURVIgLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVCAuY2ZpX2RlZl9jZmFfb2Zmc2V0Ci0jZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVCAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0Ci0jZGVmaW5lIENGSV9PRkZTRVQgLmNmaV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX1JFTF9PRkZTRVQgLmNmaV9yZWxfb2Zmc2V0Ci0jZGVmaW5lIENGSV9SRUdJU1RFUiAuY2ZpX3JlZ2lzdGVyCi0jZGVmaW5lIENGSV9SRVNUT1JFIC5jZmlfcmVzdG9yZQotI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgLmNmaV9yZW1lbWJlcl9zdGF0ZQotI2RlZmluZSBDRklfUkVTVE9SRV9TVEFURSAuY2ZpX3Jlc3RvcmVfc3RhdGUKLSNkZWZpbmUgQ0ZJX1VOREVGSU5FRCAuY2ZpX3VuZGVmaW5lZAotI2lmZGVmIENPTkZJR19BU19DRklfU0lHTkFMX0ZSQU1FCi0jZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUgLmNmaV9zaWduYWxfZnJhbWUKLSNlbHNlCi0jZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUKLSNlbmRpZgotCi0jZWxzZQotCi0vKiB1c2UgYXNzZW1ibGVyIGxpbmUgY29tbWVudCBjaGFyYWN0ZXIgIyB0byBpZ25vcmUgdGhlIGFyZ3VtZW50cy4gKi8KLSNkZWZpbmUgQ0ZJX1NUQVJUUFJPQwkjCi0jZGVmaW5lIENGSV9FTkRQUk9DCSMKLSNkZWZpbmUgQ0ZJX0RFRl9DRkEJIwotI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUgkjCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVAkjCi0jZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVAkjCi0jZGVmaW5lIENGSV9PRkZTRVQJIwotI2RlZmluZSBDRklfUkVMX09GRlNFVAkjCi0jZGVmaW5lIENGSV9SRUdJU1RFUgkjCi0jZGVmaW5lIENGSV9SRVNUT1JFCSMKLSNkZWZpbmUgQ0ZJX1JFTUVNQkVSX1NUQVRFCSMKLSNkZWZpbmUgQ0ZJX1JFU1RPUkVfU1RBVEUJIwotI2RlZmluZSBDRklfVU5ERUZJTkVECSMKLSNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRQkjCi0KLSNlbmRpZgotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwLmggYi9pbmNsdWRlL2FzbS14ODYvZTgyMC5oCmluZGV4IDcwMDQyNTEuLjMzZTc5M2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2U4MjAuaApAQCAtMiw2ICsyLDQxIEBACiAjZGVmaW5lIF9fQVNNX0U4MjBfSAogI2RlZmluZSBFODIwTUFQCTB4MmQwCQkvKiBvdXIgbWFwICovCiAjZGVmaW5lIEU4MjBNQVgJMTI4CQkvKiBudW1iZXIgb2YgZW50cmllcyBpbiBFODIwTUFQICovCisKKy8qCisgKiBMZWdhY3kgRTgyMCBCSU9TIGxpbWl0cyB1cyB0byAxMjggKEU4MjBNQVgpIG5vZGVzIGR1ZSB0byB0aGUKKyAqIGNvbnN0cmFpbmVkIHNwYWNlIGluIHRoZSB6ZXJvcGFnZS4gIElmIHdlIGhhdmUgbW9yZSBub2RlcyB0aGFuCisgKiB0aGF0LCBhbmQgaWYgd2UndmUgYm9vdGVkIG9mZiBFRkkgZmlybXdhcmUsIHRoZW4gdGhlIEVGSSB0YWJsZXMKKyAqIHBhc3NlZCB1cyBmcm9tIHRoZSBFRkkgZmlybXdhcmUgY2FuIGxpc3QgbW9yZSBub2Rlcy4gIFNpemUgb3VyCisgKiBpbnRlcm5hbCBtZW1vcnkgbWFwIHRhYmxlcyB0byBoYXZlIHJvb20gZm9yIHRoZXNlIGFkZGl0aW9uYWwKKyAqIG5vZGVzLCBiYXNlZCBvbiB1cCB0byB0aHJlZSBlbnRyaWVzIHBlciBub2RlIGZvciB3aGljaCB0aGUKKyAqIGtlcm5lbCB3YXMgYnVpbHQ6IE1BWF9OVU1OT0RFUyA9PSAoMSA8PCBDT05GSUdfTk9ERVNfU0hJRlQpLAorICogcGx1cyBFODIwTUFYLCBhbGxvd2luZyBzcGFjZSBmb3IgdGhlIHBvc3NpYmxlIGR1cGxpY2F0ZSBFODIwCisgKiBlbnRyaWVzIHRoYXQgbWlnaHQgbmVlZCByb29tIGluIHRoZSBzYW1lIGFycmF5cywgcHJpb3IgdG8gdGhlCisgKiBjYWxsIHRvIHNhbml0aXplX2U4MjBfbWFwKCkgdG8gcmVtb3ZlIGR1cGxpY2F0ZXMuICBUaGUgYWxsb3dhbmNlCisgKiBvZiB0aHJlZSBtZW1vcnkgbWFwIGVudHJpZXMgcGVyIG5vZGUgaXMgImVub3VnaCIgZW50cmllcyBmb3IKKyAqIHRoZSBpbml0aWFsIGhhcmR3YXJlIHBsYXRmb3JtIG1vdGl2YXRpbmcgdGhpcyBtZWNoYW5pc20gdG8gbWFrZQorICogdXNlIG9mIGFkZGl0aW9uYWwgRUZJIG1hcCBlbnRyaWVzLiAgRnV0dXJlIHBsYXRmb3JtcyBtYXkgd2FudAorICogdG8gYWxsb3cgbW9yZSB0aGFuIHRocmVlIGVudHJpZXMgcGVyIG5vZGUgb3Igb3RoZXJ3aXNlIHJlZmluZQorICogdGhpcyBzaXplLgorICovCisKKy8qCisgKiBPZGQ6ICdtYWtlIGhlYWRlcnNfY2hlY2snIGNvbXBsYWlucyBhYm91dCBudW1hLmggaWYgSSB0cnkKKyAqIHRvIGNvbGxhcHNlIHRoZSBuZXh0IHR3byAjaWZkZWYgbGluZXMgdG8gYSBzaW5nbGUgbGluZToKKyAqCSNpZiBkZWZpbmVkKF9fS0VSTkVMX18pICYmIGRlZmluZWQoQ09ORklHX0VGSSkKKyAqLworI2lmZGVmIF9fS0VSTkVMX18KKyNpZmRlZiBDT05GSUdfRUZJCisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgorI2RlZmluZSBFODIwX1hfTUFYIChFODIwTUFYICsgMyAqIE1BWF9OVU1OT0RFUykKKyNlbHNlCS8qICEgQ09ORklHX0VGSSAqLworI2RlZmluZSBFODIwX1hfTUFYIEU4MjBNQVgKKyNlbmRpZgorI2Vsc2UJLyogISBfX0tFUk5FTF9fICovCisjZGVmaW5lIEU4MjBfWF9NQVggRTgyME1BWAorI2VuZGlmCisKICNkZWZpbmUgRTgyME5SCTB4MWU4CQkvKiAjIGVudHJpZXMgaW4gRTgyME1BUCAqLwogCiAjZGVmaW5lIEU4MjBfUkFNCTEKQEAgLTksNiArNDQsOSBAQAogI2RlZmluZSBFODIwX0FDUEkJMwogI2RlZmluZSBFODIwX05WUwk0CiAKKy8qIHJlc2VydmVkIFJBTSB1c2VkIGJ5IGtlcm5lbCBpdHNlbGYgKi8KKyNkZWZpbmUgRTgyMF9SRVNFUlZFRF9LRVJOICAgICAgICAxMjgKKwogI2lmbmRlZiBfX0FTU0VNQkxZX18KIHN0cnVjdCBlODIwZW50cnkgewogCV9fdTY0IGFkZHI7CS8qIHN0YXJ0IG9mIG1lbW9yeSBzZWdtZW50ICovCkBAIC0xOCwyMiArNTYsNzkgQEAKIAogc3RydWN0IGU4MjBtYXAgewogCV9fdTMyIG5yX21hcDsKLQlzdHJ1Y3QgZTgyMGVudHJ5IG1hcFtFODIwTUFYXTsKKwlzdHJ1Y3QgZTgyMGVudHJ5IG1hcFtFODIwX1hfTUFYXTsKIH07CisKKy8qIHNlZSBjb21tZW50IGluIGFyY2gveDg2L2tlcm5lbC9lODIwLmMgKi8KK2V4dGVybiBzdHJ1Y3QgZTgyMG1hcCBlODIwOworZXh0ZXJuIHN0cnVjdCBlODIwbWFwIGU4MjBfc2F2ZWQ7CisKK2V4dGVybiBpbnQgZTgyMF9hbnlfbWFwcGVkKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgdHlwZSk7CitleHRlcm4gaW50IGU4MjBfYWxsX21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpOworZXh0ZXJuIHZvaWQgZTgyMF9hZGRfcmVnaW9uKHU2NCBzdGFydCwgdTY0IHNpemUsIGludCB0eXBlKTsKK2V4dGVybiB2b2lkIGU4MjBfcHJpbnRfbWFwKGNoYXIgKndobyk7CitleHRlcm4gaW50CitzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbWF4X25yX21hcCwgaW50ICpwbnJfbWFwKTsKK2V4dGVybiB1NjQgZTgyMF91cGRhdGVfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkgICAgICAgdW5zaWduZWQgbmV3X3R5cGUpOworZXh0ZXJuIHU2NCBlODIwX3JlbW92ZV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKKwkJCSAgICAgaW50IGNoZWNrdHlwZSk7CitleHRlcm4gdm9pZCB1cGRhdGVfZTgyMCh2b2lkKTsKK2V4dGVybiB2b2lkIGU4MjBfc2V0dXBfZ2FwKHZvaWQpOworZXh0ZXJuIGludCBlODIwX3NlYXJjaF9nYXAodW5zaWduZWQgbG9uZyAqZ2Fwc3RhcnQsIHVuc2lnbmVkIGxvbmcgKmdhcHNpemUsCisJCQl1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGxvbmcgbG9uZyBlbmRfYWRkcik7CitzdHJ1Y3Qgc2V0dXBfZGF0YTsKK2V4dGVybiB2b2lkIHBhcnNlX2U4MjBfZXh0KHN0cnVjdCBzZXR1cF9kYXRhICpkYXRhLCB1bnNpZ25lZCBsb25nIHBhX2RhdGEpOworCisjaWYgZGVmaW5lZChDT05GSUdfWDg2XzY0KSB8fCBcCisJKGRlZmluZWQoQ09ORklHX1g4Nl8zMikgJiYgZGVmaW5lZChDT05GSUdfSElCRVJOQVRJT04pKQorZXh0ZXJuIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHVuc2lnbmVkIGxvbmcgbGltaXRfcGZuKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHVuc2lnbmVkIGxvbmcgbGltaXRfcGZuKQoreworfQorI2VuZGlmCisKK2V4dGVybiB1bnNpZ25lZCBsb25nIGVuZF91c2VyX3BmbjsKKworZXh0ZXJuIHU2NCBmaW5kX2U4MjBfYXJlYSh1NjQgc3RhcnQsIHU2NCBlbmQsIHU2NCBzaXplLCB1NjQgYWxpZ24pOworZXh0ZXJuIHU2NCBmaW5kX2U4MjBfYXJlYV9zaXplKHU2NCBzdGFydCwgdTY0ICpzaXplcCwgdTY0IGFsaWduKTsKK2V4dGVybiB2b2lkIHJlc2VydmVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kLCBjaGFyICpuYW1lKTsKK2V4dGVybiB2b2lkIHJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayh1NjQgc3RhcnQsIHU2NCBlbmQsIGNoYXIgKm5hbWUpOworZXh0ZXJuIHZvaWQgZnJlZV9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQpOworZXh0ZXJuIHZvaWQgZWFybHlfcmVzX3RvX2Jvb3RtZW0odTY0IHN0YXJ0LCB1NjQgZW5kKTsKK2V4dGVybiB1NjQgZWFybHlfcmVzZXJ2ZV9lODIwKHU2NCBzdGFydHQsIHU2NCBzaXpldCwgdTY0IGFsaWduKTsKKworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZTgyMF9lbmRfb2ZfcmFtX3Bmbih2b2lkKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIGU4MjBfZW5kX29mX2xvd19yYW1fcGZuKHZvaWQpOworZXh0ZXJuIGludCBlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbihjb25zdCBzdHJ1Y3QgZTgyMGVudHJ5ICplaSwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyBsYXN0X3BmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX3N0YXJ0cGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyAqZWlfZW5kcGZuKTsKK2V4dGVybiB2b2lkIGU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJCSB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOworZXh0ZXJuIHU2NCBlODIwX2hvbGVfc2l6ZSh1NjQgc3RhcnQsIHU2NCBlbmQpOworZXh0ZXJuIHZvaWQgZmluaXNoX2U4MjBfcGFyc2luZyh2b2lkKTsKK2V4dGVybiB2b2lkIGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXModm9pZCk7CitleHRlcm4gdm9pZCBzZXR1cF9tZW1vcnlfbWFwKHZvaWQpOworZXh0ZXJuIGNoYXIgKmRlZmF1bHRfbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCk7CitleHRlcm4gY2hhciAqbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCk7CitleHRlcm4gY2hhciAqbWVtb3J5X3NldHVwKHZvaWQpOworCiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAKICNkZWZpbmUgSVNBX1NUQVJUX0FERFJFU1MJMHhhMDAwMAogI2RlZmluZSBJU0FfRU5EX0FERFJFU1MJCTB4MTAwMDAwCisjZGVmaW5lIGlzX0lTQV9yYW5nZShzLCBlKSAoKHMpID49IElTQV9TVEFSVF9BRERSRVNTICYmIChlKSA8IElTQV9FTkRfQUREUkVTUykKIAogI2RlZmluZSBCSU9TX0JFR0lOCQkweDAwMGEwMDAwCiAjZGVmaW5lIEJJT1NfRU5ECQkweDAwMTAwMDAwCiAKICNpZmRlZiBfX0tFUk5FTF9fCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotIyBpbmNsdWRlICJlODIwXzMyLmgiCi0jZWxzZQotIyBpbmNsdWRlICJlODIwXzY0LmgiCi0jZW5kaWYKKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKworI2RlZmluZSBISUdIX01FTU9SWQkoMTAyNCoxMDI0KQogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIAogI2VuZGlmICAvKiBfX0FTTV9FODIwX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvZTgyMF8zMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOWY3YzZlLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogc3RydWN0dXJlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIHRoZSBpbnQgMTUsIGF4PWU4MjAgbWVtb3J5IG1hcAotICogc2NoZW1lLgotICoKLSAqIEluIGEgbnV0c2hlbGwsIGFyY2gvaTM4Ni9ib290L3NldHVwLlMgcG9wdWxhdGVzIGEgc2NyYXRjaCB0YWJsZQotICogaW4gdGhlIGVtcHR5X3plcm9fYmxvY2sgdGhhdCBjb250YWlucyBhIGxpc3Qgb2YgdXNhYmxlIGFkZHJlc3Mvc2l6ZQotICogZHVwbGVzLiAgIEluIGFyY2gvaTM4Ni9rZXJuZWwvc2V0dXAuYywgdGhpcyBpbmZvcm1hdGlvbiBpcwotICogdHJhbnNmZXJyZWQgaW50byB0aGUgZTgyMG1hcCwgYW5kIGluIGFyY2gvaTM4Ni9tbS9pbml0LmMsIHRoYXQKLSAqIG5ldyBpbmZvcm1hdGlvbiBpcyB1c2VkIHRvIG1hcmsgcGFnZXMgcmVzZXJ2ZWQgb3Igbm90LgotICoKLSAqLwotI2lmbmRlZiBfX0U4MjBfSEVBREVSCi0jZGVmaW5lIF9fRTgyMF9IRUFERVIKLQotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgotCi0jZGVmaW5lIEhJR0hfTUVNT1JZCSgxMDI0KjEwMjQpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0KLWV4dGVybiBzdHJ1Y3QgZTgyMG1hcCBlODIwOwotZXh0ZXJuIHZvaWQgdXBkYXRlX2U4MjAodm9pZCk7Ci0KLWV4dGVybiBpbnQgZTgyMF9hbGxfbWFwcGVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAotCQkJICAgdW5zaWduZWQgdHlwZSk7Ci1leHRlcm4gaW50IGU4MjBfYW55X21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpOwotZXh0ZXJuIHZvaWQgcHJvcGFnYXRlX2U4MjBfbWFwKHZvaWQpOwotZXh0ZXJuIHZvaWQgcmVnaXN0ZXJfYm9vdG1lbV9sb3dfcGFnZXModW5zaWduZWQgbG9uZyBtYXhfbG93X3Bmbik7Ci1leHRlcm4gdm9pZCBhZGRfbWVtb3J5X3JlZ2lvbih1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsCi0JCQkgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSwgaW50IHR5cGUpOwotZXh0ZXJuIHZvaWQgdXBkYXRlX21lbW9yeV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKLQkJCQl1bnNpZ25lZCBuZXdfdHlwZSk7Ci1leHRlcm4gdm9pZCBlODIwX3JlZ2lzdGVyX21lbW9yeSh2b2lkKTsKLWV4dGVybiB2b2lkIGxpbWl0X3JlZ2lvbnModW5zaWduZWQgbG9uZyBsb25nIHNpemUpOwotZXh0ZXJuIHZvaWQgcHJpbnRfbWVtb3J5X21hcChjaGFyICp3aG8pOwotZXh0ZXJuIHZvaWQgaW5pdF9pb21lbV9yZXNvdXJjZXMoc3RydWN0IHJlc291cmNlICpjb2RlX3Jlc291cmNlLAotCQkJCSBzdHJ1Y3QgcmVzb3VyY2UgKmRhdGFfcmVzb3VyY2UsCi0JCQkJIHN0cnVjdCByZXNvdXJjZSAqYnNzX3Jlc291cmNlKTsKLQotI2lmIGRlZmluZWQoQ09ORklHX1BNKSAmJiBkZWZpbmVkKENPTkZJR19ISUJFUk5BVElPTikKLWV4dGVybiB2b2lkIGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh2b2lkKTsKLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotCi0jZW5kaWYvKiFfX0FTU0VNQkxZX18qLwotI2VuZGlmLypfX0U4MjBfSEVBREVSKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvZTgyMF82NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWM0ZDY4Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzY0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKgotICogc3RydWN0dXJlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIHRoZSBpbnQgMTUsIGF4PWU4MjAgbWVtb3J5IG1hcAotICogc2NoZW1lLgotICoKLSAqIEluIGEgbnV0c2hlbGwsIHNldHVwLlMgcG9wdWxhdGVzIGEgc2NyYXRjaCB0YWJsZSBpbiB0aGUKLSAqIGVtcHR5X3plcm9fYmxvY2sgdGhhdCBjb250YWlucyBhIGxpc3Qgb2YgdXNhYmxlIGFkZHJlc3Mvc2l6ZQotICogZHVwbGVzLiAgc2V0dXAuYywgdGhpcyBpbmZvcm1hdGlvbiBpcyB0cmFuc2ZlcnJlZCBpbnRvIHRoZSBlODIwbWFwLAotICogYW5kIGluIGluaXQuYy9udW1hLmMsIHRoYXQgbmV3IGluZm9ybWF0aW9uIGlzIHVzZWQgdG8gbWFyayBwYWdlcwotICogcmVzZXJ2ZWQgb3Igbm90LgotICovCi0jaWZuZGVmIF9fRTgyMF9IRUFERVIKLSNkZWZpbmUgX19FODIwX0hFQURFUgotCi0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gdW5zaWduZWQgbG9uZyBmaW5kX2U4MjBfYXJlYSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKLQkJCQkgICAgdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBsb25nIGFsaWduKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIGZpbmRfZTgyMF9hcmVhX3NpemUodW5zaWduZWQgbG9uZyBzdGFydCwKLQkJCQkJIHVuc2lnbmVkIGxvbmcgKnNpemVwLAotCQkJCQkgdW5zaWduZWQgbG9uZyBhbGlnbik7Ci1leHRlcm4gdm9pZCBhZGRfbWVtb3J5X3JlZ2lvbih1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIHNpemUsCi0JCQkgICAgICBpbnQgdHlwZSk7Ci1leHRlcm4gdm9pZCB1cGRhdGVfbWVtb3J5X3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAotCQkJCXVuc2lnbmVkIG5ld190eXBlKTsKLWV4dGVybiB2b2lkIHNldHVwX21lbW9yeV9yZWdpb24odm9pZCk7Ci1leHRlcm4gdm9pZCBjb250aWdfZTgyMF9zZXR1cCh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIGU4MjBfZW5kX29mX3JhbSh2b2lkKTsKLWV4dGVybiB2b2lkIGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXModm9pZCk7Ci1leHRlcm4gdm9pZCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModm9pZCk7Ci1leHRlcm4gaW50IGU4MjBfYW55X21hcHBlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKLQkJCSAgIHVuc2lnbmVkIHR5cGUpOwotZXh0ZXJuIGludCBlODIwX2FsbF9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsCi0JCQkgICB1bnNpZ25lZCB0eXBlKTsKLWV4dGVybiBpbnQgZTgyMF9hbnlfbm9uX3Jlc2VydmVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLWV4dGVybiBpbnQgaXNfbWVtb3J5X2FueV92YWxpZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci1leHRlcm4gaW50IGU4MjBfYWxsX25vbl9yZXNlcnZlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci1leHRlcm4gaW50IGlzX21lbW9yeV9hbGxfdmFsaWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZTgyMF9ob2xlX3NpemUodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotCi1leHRlcm4gdm9pZCBlODIwX3NldHVwX2dhcCh2b2lkKTsKLWV4dGVybiB2b2lkIGU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCi0JCQkJCSB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwotCi1leHRlcm4gdm9pZCBmaW5pc2hfZTgyMF9wYXJzaW5nKHZvaWQpOwotCi1leHRlcm4gc3RydWN0IGU4MjBtYXAgZTgyMDsKLWV4dGVybiB2b2lkIHVwZGF0ZV9lODIwKHZvaWQpOwotCi1leHRlcm4gdm9pZCByZXNlcnZlX2Vhcmx5KHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLCBjaGFyICpuYW1lKTsKLWV4dGVybiB2b2lkIGZyZWVfZWFybHkodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotZXh0ZXJuIHZvaWQgZWFybHlfcmVzX3RvX2Jvb3RtZW0odW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotCi0jZW5kaWYvKiFfX0FTU0VNQkxZX18qLwotCi0jZW5kaWYvKl9fRTgyMF9IRUFERVIqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2VmaS5oIGIvaW5jbHVkZS9hc20teDg2L2VmaS5oCmluZGV4IGQ1MzAwNGIuLjdlZDJiZDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lZmkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZWZpLmgKQEAgLTkwLDcgKzkwLDcgQEAKIAogI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KIAotZXh0ZXJuIHZvaWQgZWZpX3Jlc2VydmVfYm9vdG1lbSh2b2lkKTsKK2V4dGVybiB2b2lkIGVmaV9yZXNlcnZlX2Vhcmx5KHZvaWQpOwogZXh0ZXJuIHZvaWQgZWZpX2NhbGxfcGh5c19wcmVsb2codm9pZCk7CiBleHRlcm4gdm9pZCBlZmlfY2FsbF9waHlzX2VwaWxvZyh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2VsZi5oIGIvaW5jbHVkZS9hc20teDg2L2VsZi5oCmluZGV4IDhmMjMyZGMuLjdiZTQ3MzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lbGYuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZWxmLmgKQEAgLTgzLDkgKzgzLDkgQEAKIAkoKCh4KS0+ZV9tYWNoaW5lID09IEVNXzM4NikgfHwgKCh4KS0+ZV9tYWNoaW5lID09IEVNXzQ4NikpCiAKICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4JCS8qIGZvciBzYXZlc2VnbWVudCAqLwogI2luY2x1ZGUgPGFzbS9kZXNjLmg+CiAKICNkZWZpbmUgZWxmX2NoZWNrX2FyY2goeCkJZWxmX2NoZWNrX2FyY2hfaWEzMih4KQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcC5oIGIvaW5jbHVkZS9hc20teDg2L2ZpeG1hcC5oCmluZGV4IDViZDIwNjkuLjQ0ZDRmODIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXAuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwLmgKQEAgLTcsNyArNyw2MiBAQAogIyBpbmNsdWRlICJmaXhtYXBfNjQuaCIKICNlbmRpZgogCitleHRlcm4gaW50IGZpeG1hcHNfc2V0OworCit2b2lkIF9fbmF0aXZlX3NldF9maXhtYXAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LCBwdGVfdCBwdGUpOwordm9pZCBuYXRpdmVfc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsCisJCSAgICAgICB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKTsKKworI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX3NldF9maXhtYXAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LAorCQkJCXVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgZmxhZ3MpCit7CisJbmF0aXZlX3NldF9maXhtYXAoaWR4LCBwaHlzLCBmbGFncyk7Cit9CisjZW5kaWYKKworI2RlZmluZSBzZXRfZml4bWFwKGlkeCwgcGh5cykJCQkJXAorCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMKQorCisvKgorICogU29tZSBoYXJkd2FyZSB3YW50cyB0byBnZXQgZml4bWFwcGVkIHdpdGhvdXQgY2FjaGluZy4KKyAqLworI2RlZmluZSBzZXRfZml4bWFwX25vY2FjaGUoaWR4LCBwaHlzKQkJCVwKKwlfX3NldF9maXhtYXAoaWR4LCBwaHlzLCBQQUdFX0tFUk5FTF9OT0NBQ0hFKQorCiAjZGVmaW5lIGNsZWFyX2ZpeG1hcChpZHgpCQkJXAogCV9fc2V0X2ZpeG1hcChpZHgsIDAsIF9fcGdwcm90KDApKQogCisjZGVmaW5lIF9fZml4X3RvX3ZpcnQoeCkJKEZJWEFERFJfVE9QIC0gKCh4KSA8PCBQQUdFX1NISUZUKSkKKyNkZWZpbmUgX192aXJ0X3RvX2ZpeCh4KQkoKEZJWEFERFJfVE9QIC0gKCh4KSZQQUdFX01BU0spKSA+PiBQQUdFX1NISUZUKQorCitleHRlcm4gdm9pZCBfX3RoaXNfZml4bWFwX2RvZXNfbm90X2V4aXN0KHZvaWQpOworCisvKgorICogJ2luZGV4IHRvIGFkZHJlc3MnIHRyYW5zbGF0aW9uLiBJZiBhbnlvbmUgdHJpZXMgdG8gdXNlIHRoZSBpZHgKKyAqIGRpcmVjdGx5IHdpdGhvdXQgdHJhbnNsYXRpb24sIHdlIGNhdGNoIHRoZSBidWcgd2l0aCBhIE5VTEwtZGVmZXJlbmNlCisgKiBrZXJuZWwgb29wcy4gSWxsZWdhbCByYW5nZXMgb2YgaW5jb21pbmcgaW5kaWNlcyBhcmUgY2F1Z2h0IHRvby4KKyAqLworc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBsb25nIGZpeF90b192aXJ0KGNvbnN0IHVuc2lnbmVkIGludCBpZHgpCit7CisJLyoKKwkgKiB0aGlzIGJyYW5jaCBnZXRzIGNvbXBsZXRlbHkgZWxpbWluYXRlZCBhZnRlciBpbmxpbmluZywKKwkgKiBleGNlcHQgd2hlbiBzb21lb25lIHRyaWVzIHRvIHVzZSBmaXhhZGRyIGluZGljZXMgaW4gYW4KKwkgKiBpbGxlZ2FsIHdheS4gKHN1Y2ggYXMgbWl4aW5nIHVwIGFkZHJlc3MgdHlwZXMgb3IgdXNpbmcKKwkgKiBvdXQtb2YtcmFuZ2UgaW5kaWNlcykuCisJICoKKwkgKiBJZiBpdCBkb2Vzbid0IGdldCByZW1vdmVkLCB0aGUgbGlua2VyIHdpbGwgY29tcGxhaW4KKwkgKiBsb3VkbHkgd2l0aCBhIHJlYXNvbmFibHkgY2xlYXIgZXJyb3IgbWVzc2FnZS4uCisJICovCisJaWYgKGlkeCA+PSBfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMpCisJCV9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3QoKTsKKworCXJldHVybiBfX2ZpeF90b192aXJ0KGlkeCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB2aXJ0X3RvX2ZpeChjb25zdCB1bnNpZ25lZCBsb25nIHZhZGRyKQoreworCUJVR19PTih2YWRkciA+PSBGSVhBRERSX1RPUCB8fCB2YWRkciA8IEZJWEFERFJfU1RBUlQpOworCXJldHVybiBfX3ZpcnRfdG9fZml4KHZhZGRyKTsKK30KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF8zMi5oCmluZGV4IDRiOTYxNDguLmFhZTJmMDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzMyLmgKQEAgLTc5LDEwICs3OSw2IEBACiAJRklYX0tNQVBfQkVHSU4sCS8qIHJlc2VydmVkIHB0ZSdzIGZvciB0ZW1wb3Jhcnkga2VybmVsIG1hcHBpbmdzICovCiAJRklYX0tNQVBfRU5EID0gRklYX0tNQVBfQkVHSU4rKEtNX1RZUEVfTlIqTlJfQ1BVUyktMSwKICNlbmRpZgotI2lmZGVmIENPTkZJR19BQ1BJCi0JRklYX0FDUElfQkVHSU4sCi0JRklYX0FDUElfRU5EID0gRklYX0FDUElfQkVHSU4gKyBGSVhfQUNQSV9QQUdFUyAtIDEsCi0jZW5kaWYKICNpZmRlZiBDT05GSUdfUENJX01NQ09ORklHCiAJRklYX1BDSUVfTUNGRywKICNlbmRpZgpAQCAtMTAzLDIzICs5OSwxOCBAQAogCQkJKF9fZW5kX29mX3Blcm1hbmVudF9maXhlZF9hZGRyZXNzZXMgJiA1MTEpLAogCUZJWF9CVE1BUF9CRUdJTiA9IEZJWF9CVE1BUF9FTkQgKyBOUl9GSVhfQlRNQVBTKkZJWF9CVE1BUFNfTkVTVElORyAtIDEsCiAJRklYX1dQX1RFU1QsCisjaWZkZWYgQ09ORklHX0FDUEkKKwlGSVhfQUNQSV9CRUdJTiwKKwlGSVhfQUNQSV9FTkQgPSBGSVhfQUNQSV9CRUdJTiArIEZJWF9BQ1BJX1BBR0VTIC0gMSwKKyNlbmRpZgogI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCiAJRklYX09IQ0kxMzk0X0JBU0UsCiAjZW5kaWYKIAlfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMKIH07CiAKLWV4dGVybiB2b2lkIF9fc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsCi0JCQkgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7CiBleHRlcm4gdm9pZCByZXNlcnZlX3RvcF9hZGRyZXNzKHVuc2lnbmVkIGxvbmcgcmVzZXJ2ZSk7CiAKLSNkZWZpbmUgc2V0X2ZpeG1hcChpZHgsIHBoeXMpCQkJCVwKLQlfX3NldF9maXhtYXAoaWR4LCBwaHlzLCBQQUdFX0tFUk5FTCkKLS8qCi0gKiBTb21lIGhhcmR3YXJlIHdhbnRzIHRvIGdldCBmaXhtYXBwZWQgd2l0aG91dCBjYWNoaW5nLgotICovCi0jZGVmaW5lIHNldF9maXhtYXBfbm9jYWNoZShpZHgsIHBoeXMpCQkJXAotCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMX05PQ0FDSEUpCiAKICNkZWZpbmUgRklYQUREUl9UT1AJKCh1bnNpZ25lZCBsb25nKV9fRklYQUREUl9UT1ApCiAKQEAgLTEyOCwzOCArMTE5LDUgQEAKICNkZWZpbmUgRklYQUREUl9TVEFSVAkJKEZJWEFERFJfVE9QIC0gX19GSVhBRERSX1NJWkUpCiAjZGVmaW5lIEZJWEFERFJfQk9PVF9TVEFSVAkoRklYQUREUl9UT1AgLSBfX0ZJWEFERFJfQk9PVF9TSVpFKQogCi0jZGVmaW5lIF9fZml4X3RvX3ZpcnQoeCkJKEZJWEFERFJfVE9QIC0gKCh4KSA8PCBQQUdFX1NISUZUKSkKLSNkZWZpbmUgX192aXJ0X3RvX2ZpeCh4KQkoKEZJWEFERFJfVE9QIC0gKCh4KSZQQUdFX01BU0spKSA+PiBQQUdFX1NISUZUKQotCi1leHRlcm4gdm9pZCBfX3RoaXNfZml4bWFwX2RvZXNfbm90X2V4aXN0KHZvaWQpOwotCi0vKgotICogJ2luZGV4IHRvIGFkZHJlc3MnIHRyYW5zbGF0aW9uLiBJZiBhbnlvbmUgdHJpZXMgdG8gdXNlIHRoZSBpZHgKLSAqIGRpcmVjdGx5IHdpdGhvdXQgdHJhbmxhdGlvbiwgd2UgY2F0Y2ggdGhlIGJ1ZyB3aXRoIGEgTlVMTC1kZWZlcmVuY2UKLSAqIGtlcm5lbCBvb3BzLiBJbGxlZ2FsIHJhbmdlcyBvZiBpbmNvbWluZyBpbmRpY2VzIGFyZSBjYXVnaHQgdG9vLgotICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGxvbmcgZml4X3RvX3ZpcnQoY29uc3QgdW5zaWduZWQgaW50IGlkeCkKLXsKLQkvKgotCSAqIHRoaXMgYnJhbmNoIGdldHMgY29tcGxldGVseSBlbGltaW5hdGVkIGFmdGVyIGlubGluaW5nLAotCSAqIGV4Y2VwdCB3aGVuIHNvbWVvbmUgdHJpZXMgdG8gdXNlIGZpeGFkZHIgaW5kaWNlcyBpbiBhbgotCSAqIGlsbGVnYWwgd2F5LiAoc3VjaCBhcyBtaXhpbmcgdXAgYWRkcmVzcyB0eXBlcyBvciB1c2luZwotCSAqIG91dC1vZi1yYW5nZSBpbmRpY2VzKS4KLQkgKgotCSAqIElmIGl0IGRvZXNuJ3QgZ2V0IHJlbW92ZWQsIHRoZSBsaW5rZXIgd2lsbCBjb21wbGFpbgotCSAqIGxvdWRseSB3aXRoIGEgcmVhc29uYWJseSBjbGVhciBlcnJvciBtZXNzYWdlLi4KLQkgKi8KLQlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykKLQkJX190aGlzX2ZpeG1hcF9kb2VzX25vdF9leGlzdCgpOwotCi0JcmV0dXJuIF9fZml4X3RvX3ZpcnQoaWR4KTsKLX0KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHZpcnRfdG9fZml4KGNvbnN0IHVuc2lnbmVkIGxvbmcgdmFkZHIpCi17Ci0JQlVHX09OKHZhZGRyID49IEZJWEFERFJfVE9QIHx8IHZhZGRyIDwgRklYQUREUl9TVEFSVCk7Ci0JcmV0dXJuIF9fdmlydF90b19maXgodmFkZHIpOwotfQotCiAjZW5kaWYgLyogIV9fQVNTRU1CTFlfXyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzY0LmgKaW5kZXggMzU1ZDI2YS4uMDBmM2Q3NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF82NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfNjQuaApAQCAtMTIsNiArMTIsNyBAQAogI2RlZmluZSBfQVNNX0ZJWE1BUF82NF9ICiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxhc20vYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vdnN5c2NhbGwuaD4KQEAgLTM5LDMwICs0MCwzOCBAQAogCVZTWVNDQUxMX0hQRVQsCiAJRklYX0RCR1BfQkFTRSwKIAlGSVhfRUFSTFlDT05fTUVNX0JBU0UsCi0JRklYX0hQRVRfQkFTRSwKIAlGSVhfQVBJQ19CQVNFLAkvKiBsb2NhbCAoQ1BVKSBBUElDKSAtLSByZXF1aXJlZCBmb3IgU01QIG9yIG5vdCAqLwogCUZJWF9JT19BUElDX0JBU0VfMCwKIAlGSVhfSU9fQVBJQ19CQVNFX0VORCA9IEZJWF9JT19BUElDX0JBU0VfMCArIE1BWF9JT19BUElDUyAtIDEsCiAJRklYX0VGSV9JT19NQVBfTEFTVF9QQUdFLAogCUZJWF9FRklfSU9fTUFQX0ZJUlNUX1BBR0UgPSBGSVhfRUZJX0lPX01BUF9MQVNUX1BBR0UKIAkJCQkgICsgTUFYX0VGSV9JT19QQUdFUyAtIDEsCisjaWZkZWYgQ09ORklHX1BBUkFWSVJUCisJRklYX1BBUkFWSVJUX0JPT1RNQVAsCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfQUNQSQorCUZJWF9BQ1BJX0JFR0lOLAorCUZJWF9BQ1BJX0VORCA9IEZJWF9BQ1BJX0JFR0lOICsgRklYX0FDUElfUEFHRVMgLSAxLAorI2VuZGlmCiAjaWZkZWYgQ09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQKIAlGSVhfT0hDSTEzOTRfQkFTRSwKICNlbmRpZgorCV9fZW5kX29mX3Blcm1hbmVudF9maXhlZF9hZGRyZXNzZXMsCisJLyoKKwkgKiAyNTYgdGVtcG9yYXJ5IGJvb3QtdGltZSBtYXBwaW5ncywgdXNlZCBieSBlYXJseV9pb3JlbWFwKCksCisJICogYmVmb3JlIGlvcmVtYXAoKSBpcyBmdW5jdGlvbmFsLgorCSAqCisJICogV2Ugcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgNTEyIHBhZ2VzIGJvdW5kYXJ5IHNvIHRoYXQgd2UKKwkgKiBjYW4gaGF2ZSBhIHNpbmdsZSBwZ2QgZW50cnkgYW5kIGEgc2luZ2xlIHB0ZSB0YWJsZToKKwkgKi8KKyNkZWZpbmUgTlJfRklYX0JUTUFQUwkJNjQKKyNkZWZpbmUgRklYX0JUTUFQU19ORVNUSU5HCTQKKwlGSVhfQlRNQVBfRU5EID0gX19lbmRfb2ZfcGVybWFuZW50X2ZpeGVkX2FkZHJlc3NlcyArIDUxMiAtCisJCQkoX19lbmRfb2ZfcGVybWFuZW50X2ZpeGVkX2FkZHJlc3NlcyAmIDUxMSksCisJRklYX0JUTUFQX0JFR0lOID0gRklYX0JUTUFQX0VORCArIE5SX0ZJWF9CVE1BUFMqRklYX0JUTUFQU19ORVNUSU5HIC0gMSwKIAlfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMKIH07CiAKLWV4dGVybiB2b2lkIF9fc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsCi0JCQkgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7Ci0KLSNkZWZpbmUgc2V0X2ZpeG1hcChpZHgsIHBoeXMpCQkJXAotCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMKQotLyoKLSAqIFNvbWUgaGFyZHdhcmUgd2FudHMgdG8gZ2V0IGZpeG1hcHBlZCB3aXRob3V0IGNhY2hpbmcuCi0gKi8KLSNkZWZpbmUgc2V0X2ZpeG1hcF9ub2NhY2hlKGlkeCwgcGh5cykJCQlcCi0JX19zZXRfZml4bWFwKGlkeCwgcGh5cywgUEFHRV9LRVJORUxfTk9DQUNIRSkKLQogI2RlZmluZSBGSVhBRERSX1RPUAkoVlNZU0NBTExfRU5ELVBBR0VfU0laRSkKICNkZWZpbmUgRklYQUREUl9TSVpFCShfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMgPDwgUEFHRV9TSElGVCkKICNkZWZpbmUgRklYQUREUl9TVEFSVAkoRklYQUREUl9UT1AgLSBGSVhBRERSX1NJWkUpCkBAIC03MSwzMCArODAsNCBAQAogI2RlZmluZSBGSVhBRERSX1VTRVJfU1RBUlQJKCh1bnNpZ25lZCBsb25nKVZTWVNDQUxMMzJfVlNZU0NBTEwpCiAjZGVmaW5lIEZJWEFERFJfVVNFUl9FTkQJKEZJWEFERFJfVVNFUl9TVEFSVCArIFBBR0VfU0laRSkKIAotI2RlZmluZSBfX2ZpeF90b192aXJ0KHgpCShGSVhBRERSX1RPUCAtICgoeCkgPDwgUEFHRV9TSElGVCkpCi0KLWV4dGVybiB2b2lkIF9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3Qodm9pZCk7Ci0KLS8qCi0gKiAnaW5kZXggdG8gYWRkcmVzcycgdHJhbnNsYXRpb24uIElmIGFueW9uZSB0cmllcyB0byB1c2UgdGhlIGlkeAotICogZGlyZWN0bHkgd2l0aG91dCB0cmFuc2xhdGlvbiwgd2UgY2F0Y2ggdGhlIGJ1ZyB3aXRoIGEgTlVMTC1kZWZlcmVuY2UKLSAqIGtlcm5lbCBvb3BzLiBJbGxlZ2FsIHJhbmdlcyBvZiBpbmNvbWluZyBpbmRpY2VzIGFyZSBjYXVnaHQgdG9vLgotICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGxvbmcgZml4X3RvX3ZpcnQoY29uc3QgdW5zaWduZWQgaW50IGlkeCkKLXsKLQkvKgotCSAqIHRoaXMgYnJhbmNoIGdldHMgY29tcGxldGVseSBlbGltaW5hdGVkIGFmdGVyIGlubGluaW5nLAotCSAqIGV4Y2VwdCB3aGVuIHNvbWVvbmUgdHJpZXMgdG8gdXNlIGZpeGFkZHIgaW5kaWNlcyBpbiBhbgotCSAqIGlsbGVnYWwgd2F5LiAoc3VjaCBhcyBtaXhpbmcgdXAgYWRkcmVzcyB0eXBlcyBvciB1c2luZwotCSAqIG91dC1vZi1yYW5nZSBpbmRpY2VzKS4KLQkgKgotCSAqIElmIGl0IGRvZXNuJ3QgZ2V0IHJlbW92ZWQsIHRoZSBsaW5rZXIgd2lsbCBjb21wbGFpbgotCSAqIGxvdWRseSB3aXRoIGEgcmVhc29uYWJseSBjbGVhciBlcnJvciBtZXNzYWdlLi4KLQkgKi8KLQlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykKLQkJX190aGlzX2ZpeG1hcF9kb2VzX25vdF9leGlzdCgpOwotCi0JcmV0dXJuIF9fZml4X3RvX3ZpcnQoaWR4KTsKLX0KLQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZnRyYWNlLmggYi9pbmNsdWRlL2FzbS14ODYvZnRyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE4NDQ0MQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9mdHJhY2UuaApAQCAtMCwwICsxLDE0IEBACisjaWZuZGVmIF9BU01fWDg2X0ZUUkFDRQorI2RlZmluZSBfQVNNX1NQQVJDNjRfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKG1jb3VudCkpCisjZGVmaW5lIE1DT1VOVF9JTlNOX1NJWkUJNSAvKiBzaXplb2YgbWNvdW50IGNhbGwgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIG1jb3VudCh2b2lkKTsKKyNlbmRpZgorCisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCisjZW5kaWYgLyogX0FTTV9YODZfRlRSQUNFICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZ2FydC5oIGIvaW5jbHVkZS9hc20teDg2L2dhcnQuaAppbmRleCA5MDk1OGVkLi4zM2I5YWVlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZ2FydC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9nYXJ0LmgKQEAgLTEsMzQgKzEsNzIgQEAKLSNpZm5kZWYgX0FTTV9YODY2NF9JT01NVV9ICi0jZGVmaW5lIF9BU01fWDg2NjRfSU9NTVVfSCAxCisjaWZuZGVmIF9BU01fWDg2NjRfR0FSVF9ICisjZGVmaW5lIF9BU01fWDg2NjRfR0FSVF9IIDEKIAotZXh0ZXJuIHZvaWQgcGNpX2lvbW11X3NodXRkb3duKHZvaWQpOwotZXh0ZXJuIHZvaWQgbm9faW9tbXVfaW5pdCh2b2lkKTsKLWV4dGVybiBpbnQgZm9yY2VfaW9tbXUsIG5vX2lvbW11OwotZXh0ZXJuIGludCBpb21tdV9kZXRlY3RlZDsKLSNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQotZXh0ZXJuIHZvaWQgZ2FydF9pb21tdV9pbml0KHZvaWQpOwotZXh0ZXJuIHZvaWQgZ2FydF9pb21tdV9zaHV0ZG93bih2b2lkKTsKLWV4dGVybiB2b2lkIF9faW5pdCBnYXJ0X3BhcnNlX29wdGlvbnMoY2hhciAqKTsKLWV4dGVybiB2b2lkIGVhcmx5X2dhcnRfaW9tbXVfY2hlY2sodm9pZCk7Ci1leHRlcm4gdm9pZCBnYXJ0X2lvbW11X2hvbGVfaW5pdCh2b2lkKTsKKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9pb21tdS5oPgorCitleHRlcm4gdm9pZCBzZXRfdXBfZ2FydF9yZXN1bWUodTMyLCB1MzIpOworCiBleHRlcm4gaW50IGZhbGxiYWNrX2FwZXJfb3JkZXI7CiBleHRlcm4gaW50IGZhbGxiYWNrX2FwZXJfZm9yY2U7Ci1leHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmU7Ci1leHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmVfYWxsb3dlZDsKLWV4dGVybiBpbnQgZ2FydF9pb21tdV9hcGVydHVyZV9kaXNhYmxlZDsKIGV4dGVybiBpbnQgZml4X2FwZXJ0dXJlOwotI2Vsc2UKLSNkZWZpbmUgZ2FydF9pb21tdV9hcGVydHVyZSAwCi0jZGVmaW5lIGdhcnRfaW9tbXVfYXBlcnR1cmVfYWxsb3dlZCAwCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBlYXJseV9nYXJ0X2lvbW11X2NoZWNrKHZvaWQpCisvKiBQVEUgYml0cy4gKi8KKyNkZWZpbmUgR1BURV9WQUxJRAkxCisjZGVmaW5lIEdQVEVfQ09IRVJFTlQJMgorCisvKiBBcGVydHVyZSBjb250cm9sIHJlZ2lzdGVyIGJpdHMuICovCisjZGVmaW5lIEdBUlRFTgkJKDE8PDApCisjZGVmaW5lIERJU0dBUlRDUFUJKDE8PDQpCisjZGVmaW5lIERJU0dBUlRJTwkoMTw8NSkKKworLyogR0FSVCBjYWNoZSBjb250cm9sIHJlZ2lzdGVyIGJpdHMuICovCisjZGVmaW5lIElOVkdBUlQJCSgxPDwwKQorI2RlZmluZSBHQVJUUFRFRVJSCSgxPDwxKQorCisvKiBLOCBPbi1jcHUgR0FSVCByZWdpc3RlcnMgKi8KKyNkZWZpbmUgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMCTB4OTAKKyNkZWZpbmUgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRQkweDk0CisjZGVmaW5lIEFNRDY0X0dBUlRUQUJMRUJBU0UJMHg5OAorI2RlZmluZSBBTUQ2NF9HQVJUQ0FDSEVDVEwJMHg5YworI2RlZmluZSBBTUQ2NF9HQVJURU4JCSgxPDwwKQorCitzdGF0aWMgaW5saW5lIHZvaWQgZW5hYmxlX2dhcnRfdHJhbnNsYXRpb24oc3RydWN0IHBjaV9kZXYgKmRldiwgdTY0IGFkZHIpCiB7CisJdTMyIHRtcCwgY3RsOworCisgICAgICAgIC8qIGFkZHJlc3Mgb2YgdGhlIG1hcHBpbmdzIHRhYmxlICovCisgICAgICAgIGFkZHIgPj49IDEyOworICAgICAgICB0bXAgPSAodTMyKSBhZGRyPDw0OworICAgICAgICB0bXAgJj0gfjB4ZjsKKyAgICAgICAgcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRUQUJMRUJBU0UsIHRtcCk7CisKKyAgICAgICAgLyogRW5hYmxlIEdBUlQgdHJhbnNsYXRpb24gZm9yIHRoaXMgaGFtbWVyLiAqLworICAgICAgICBwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsICZjdGwpOworICAgICAgICBjdGwgfD0gR0FSVEVOOworICAgICAgICBjdGwgJj0gfihESVNHQVJUQ1BVIHwgRElTR0FSVElPKTsKKyAgICAgICAgcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgY3RsKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdhcnRfaW9tbXVfc2h1dGRvd24odm9pZCkKK3N0YXRpYyBpbmxpbmUgaW50IGFwZXJ0dXJlX3ZhbGlkKHU2NCBhcGVyX2Jhc2UsIHUzMiBhcGVyX3NpemUsIHUzMiBtaW5fc2l6ZSkKIHsKLX0KKwlpZiAoIWFwZXJfYmFzZSkKKwkJcmV0dXJuIDA7CiAKLSNlbmRpZgorCWlmIChhcGVyX2Jhc2UgKyBhcGVyX3NpemUgPiAweDEwMDAwMDAwMFVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIGJleW9uZCA0R0IuIElnbm9yaW5nLlxuIik7CisJCXJldHVybiAwOworCX0KKwlpZiAoZTgyMF9hbnlfbWFwcGVkKGFwZXJfYmFzZSwgYXBlcl9iYXNlICsgYXBlcl9zaXplLCBFODIwX1JBTSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJBcGVydHVyZSBwb2ludGluZyB0byBlODIwIFJBTS4gSWdub3JpbmcuXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmIChhcGVyX3NpemUgPCBtaW5fc2l6ZSkgeworCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIHRvbyBzbWFsbCAoJWQgTUIpIHRoYW4gKCVkIE1CKVxuIiwKKwkJCQkgYXBlcl9zaXplPj4yMCwgbWluX3NpemU+PjIwKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2dlbmFwaWNfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9nZW5hcGljXzY0LmgKaW5kZXggMWRlOTMxYi4uMGY4NTA0NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2dlbmFwaWNfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZ2VuYXBpY182NC5oCkBAIC00NCw0ICs0NCw2IEBACiBleHRlcm4gdm9pZCB1dl9jcHVfaW5pdCh2b2lkKTsKIGV4dGVybiBpbnQgdXZfd2FrZXVwX3NlY29uZGFyeShpbnQgcGh5c19hcGljaWQsIHVuc2lnbmVkIGludCBzdGFydF9yaXApOwogCitleHRlcm4gdm9pZCBzZXR1cF9hcGljX3JvdXRpbmcodm9pZCk7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2hhcmRpcnEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9oYXJkaXJxLmgKaW5kZXggMzE0NDM0ZC4uMDAwNzg3ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2hhcmRpcnEuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaGFyZGlycS5oCkBAIC0zLDMgKzMsOSBAQAogI2Vsc2UKICMgaW5jbHVkZSAiaGFyZGlycV82NC5oIgogI2VuZGlmCisKK2V4dGVybiB1NjQgYXJjaF9pcnFfc3RhdF9jcHUodW5zaWduZWQgaW50IGNwdSk7CisjZGVmaW5lIGFyY2hfaXJxX3N0YXRfY3B1CWFyY2hfaXJxX3N0YXRfY3B1CisKK2V4dGVybiB1NjQgYXJjaF9pcnFfc3RhdCh2b2lkKTsKKyNkZWZpbmUgYXJjaF9pcnFfc3RhdAkJYXJjaF9pcnFfc3RhdApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2hpZ2htZW0uaCBiL2luY2x1ZGUvYXNtLXg4Ni9oaWdobWVtLmgKaW5kZXggZTE1M2YzYi4uNDUxNGIxNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2hpZ2htZW0uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaGlnaG1lbS5oCkBAIC03NCw2ICs3NCw5IEBACiAKICNkZWZpbmUgZmx1c2hfY2FjaGVfa21hcHMoKQlkbyB7IH0gd2hpbGUgKDApCiAKK2V4dGVybiB2b2lkIGFkZF9oaWdocGFnZXNfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKKwogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIAogI2VuZGlmIC8qIF9BU01fSElHSE1FTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaHBldC5oIGIvaW5jbHVkZS9hc20teDg2L2hwZXQuaAppbmRleCA2YTliNGFjLi44MmYxYWM2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaHBldC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9ocGV0LmgKQEAgLTg2LDggKzg2LDggQEAKICNlbHNlIC8qIENPTkZJR19IUEVUX1RJTUVSICovCiAKIHN0YXRpYyBpbmxpbmUgaW50IGhwZXRfZW5hYmxlKHZvaWQpIHsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBocGV0X3JlYWRsKHVuc2lnbmVkIGxvbmcgYSkgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGluZSBpbnQgaXNfaHBldF9lbmFibGVkKHZvaWQpIHsgcmV0dXJuIDA7IH0KKyNkZWZpbmUgaHBldF9yZWFkbChhKSAwCiAKICNlbmRpZgogI2VuZGlmIC8qIEFTTV9YODZfSFBFVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxLmggYi9pbmNsdWRlL2FzbS14ODYvaHdfaXJxLmgKaW5kZXggYmYwMjUzOS4uNzdiYTUxZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2h3X2lycS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9od19pcnEuaApAQCAtMSw1ICsxLDEwNyBAQAorI2lmbmRlZiBfQVNNX0hXX0lSUV9ICisjZGVmaW5lIF9BU01fSFdfSVJRX0gKKworLyoKKyAqIChDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgorICoKKyAqIG1vdmVkIHNvbWUgb2YgdGhlIG9sZCBhcmNoL2kzODYva2VybmVsL2lycS5oIHRvIGhlcmUuIFZZCisgKgorICogSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKKyAqIDx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+CisgKgorICogaGFja2VkIGJ5IEFuZGkgS2xlZW4gZm9yIHg4Ni02NC4KKyAqIHVuaWZpZWQgYnkgdGdseAorICovCisKKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKworI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L3Byb2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKworI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vaXJxLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisKKyNkZWZpbmUgcGxhdGZvcm1fbGVnYWN5X2lycShpcnEpCSgoaXJxKSA8IDE2KQorCisvKiBJbnRlcnJ1cHQgaGFuZGxlcnMgcmVnaXN0ZXJlZCBkdXJpbmcgaW5pdF9JUlEgKi8KK2V4dGVybiB2b2lkIGFwaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgZXJyb3JfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgc3B1cmlvdXNfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgdGhlcm1hbF9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCByZXNjaGVkdWxlX2ludGVycnVwdCh2b2lkKTsKKworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDAodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDEodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDIodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDModm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDQodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDUodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDYodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDcodm9pZCk7CisKK2V4dGVybiB2b2lkIGlycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgdGhyZXNob2xkX2ludGVycnVwdCh2b2lkKTsKKworZXh0ZXJuIHZvaWQgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBjYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQodm9pZCk7CisKKy8qIFBJQyBzcGVjaWZpYyBmdW5jdGlvbnMgKi8KK2V4dGVybiB2b2lkIGRpc2FibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIHZvaWQgZW5hYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKK2V4dGVybiBpbnQgaTgyNTlBX2lycV9wZW5kaW5nKHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIHZvaWQgbWFrZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7CitleHRlcm4gdm9pZCBpbml0XzgyNTlBKGludCBhZW9pKTsKKworLyogSU9BUElDICovCisjZGVmaW5lIElPX0FQSUNfSVJRKHgpICgoKHgpID49IDE2KSB8fCAoKDE8PCh4KSkgJiBpb19hcGljX2lycXMpKQorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW9fYXBpY19pcnFzOworCitleHRlcm4gdm9pZCBpbml0X1ZJU1dTX0FQSUNfaXJxcyh2b2lkKTsKK2V4dGVybiB2b2lkIHNldHVwX0lPX0FQSUModm9pZCk7CitleHRlcm4gdm9pZCBkaXNhYmxlX0lPX0FQSUModm9pZCk7CitleHRlcm4gdm9pZCBwcmludF9JT19BUElDKHZvaWQpOworZXh0ZXJuIGludCBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZuKTsKK2V4dGVybiB2b2lkIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorZXh0ZXJuIHZvaWQgZW5hYmxlX0lPX0FQSUModm9pZCk7CisjZW5kaWYKKworLyogSVBJIGZ1bmN0aW9ucyAqLworZXh0ZXJuIHZvaWQgc2VuZF9JUElfc2VsZihpbnQgdmVjdG9yKTsKK2V4dGVybiB2b2lkIHNlbmRfSVBJKGludCBkZXN0LCBpbnQgdmVjdG9yKTsKKworLyogU3RhdGlzdGljcyAqLworZXh0ZXJuIGF0b21pY190IGlycV9lcnJfY291bnQ7CitleHRlcm4gYXRvbWljX3QgaXJxX21pc19jb3VudDsKKworLyogRUlTQSAqLworZXh0ZXJuIHZvaWQgZWlzYV9zZXRfbGV2ZWxfaXJxKHVuc2lnbmVkIGludCBpcnEpOworCisvKiBWb3lhZ2VyIGZ1bmN0aW9ucyAqLworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCB2aWNfY3BpX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgdmljX3N5c19pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHZpY19jbW5faW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfaW52YWxpZGF0ZV9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19yZXNjaGVkdWxlX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX2VuYWJsZV9pcnFfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7CisKICNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGluY2x1ZGUgImh3X2lycV8zMi5oIgorZXh0ZXJuIHZvaWQgKCpjb25zdCBpbnRlcnJ1cHRbTlJfSVJRU10pKHZvaWQpOwogI2Vsc2UKLSMgaW5jbHVkZSAiaHdfaXJxXzY0LmgiCit0eXBlZGVmIGludCB2ZWN0b3JfaXJxX3RbTlJfVkVDVE9SU107CitERUNMQVJFX1BFUl9DUFUodmVjdG9yX2lycV90LCB2ZWN0b3JfaXJxKTsKK2V4dGVybiBzcGlubG9ja190IHZlY3Rvcl9sb2NrOworI2VuZGlmCitleHRlcm4gdm9pZCBzZXR1cF92ZWN0b3JfaXJxKGludCBjcHUpOworCisjZW5kaWYgLyogIUFTU0VNQkxZXyAqLworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9od19pcnFfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9od19pcnFfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWE4ODA1NC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0jaWZuZGVmIF9BU01fSFdfSVJRX0gKLSNkZWZpbmUgX0FTTV9IV19JUlFfSAotCi0vKgotICoJbGludXgvaW5jbHVkZS9hc20vaHdfaXJxLmgKLSAqCi0gKgkoQykgMTk5MiwgMTk5MyBMaW51cyBUb3J2YWxkcywgKEMpIDE5OTcgSW5nbyBNb2xuYXIKLSAqCi0gKgltb3ZlZCBzb21lIG9mIHRoZSBvbGQgYXJjaC9pMzg2L2tlcm5lbC9pcnEuaCB0byBoZXJlLiBWWQotICoKLSAqCUlSUS9JUEkgY2hhbmdlcyB0YWtlbiBmcm9tIHdvcmsgYnkgVGhvbWFzIFJhZGtlCi0gKgk8dG9tc29mdEBpbmZvcm1hdGlrLnR1LWNoZW1uaXR6LmRlPgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9wcm9maWxlLmg+Ci0jaW5jbHVkZSA8YXNtL2F0b21pYy5oPgotI2luY2x1ZGUgPGFzbS9pcnEuaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KLQotI2RlZmluZSBOTUlfVkVDVE9SCQkweDAyCi0KLS8qCi0gKiBWYXJpb3VzIGxvdy1sZXZlbCBpcnEgZGV0YWlscyBuZWVkZWQgYnkgaXJxLmMsIHByb2Nlc3MuYywKLSAqIHRpbWUuYywgaW9fYXBpYy5jIGFuZCBzbXAuYwotICoKLSAqIEludGVycnVwdCBlbnRyeS9leGl0IGNvZGUgYXQgYm90aCBDIGFuZCBhc3NlbWJseSBsZXZlbAotICovCi0KLWV4dGVybiB2b2lkICgqY29uc3QgaW50ZXJydXB0W05SX0lSUVNdKSh2b2lkKTsKLQotI2lmZGVmIENPTkZJR19TTVAKLXZvaWQgcmVzY2hlZHVsZV9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi12b2lkIGFwaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBlcnJvcl9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIHNwdXJpb3VzX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgdGhlcm1hbF9pbnRlcnJ1cHQodm9pZCk7Ci0jZGVmaW5lIHBsYXRmb3JtX2xlZ2FjeV9pcnEoaXJxKQkoKGlycSkgPCAxNikKLSNlbmRpZgotCi12b2lkIGRpc2FibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotdm9pZCBlbmFibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotaW50IGk4MjU5QV9pcnFfcGVuZGluZyh1bnNpZ25lZCBpbnQgaXJxKTsKLXZvaWQgbWFrZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7Ci12b2lkIGluaXRfODI1OUEoaW50IGFlb2kpOwotdm9pZCBzZW5kX0lQSV9zZWxmKGludCB2ZWN0b3IpOwotdm9pZCBpbml0X1ZJU1dTX0FQSUNfaXJxcyh2b2lkKTsKLXZvaWQgc2V0dXBfSU9fQVBJQyh2b2lkKTsKLXZvaWQgZGlzYWJsZV9JT19BUElDKHZvaWQpOwotdm9pZCBwcmludF9JT19BUElDKHZvaWQpOwotaW50IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGludCBidXMsIGludCBzbG90LCBpbnQgZm4pOwotdm9pZCBzZW5kX0lQSShpbnQgZGVzdCwgaW50IHZlY3Rvcik7Ci12b2lkIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpOwotCi1leHRlcm4gdW5zaWduZWQgbG9uZyBpb19hcGljX2lycXM7Ci0KLWV4dGVybiBhdG9taWNfdCBpcnFfZXJyX2NvdW50OwotZXh0ZXJuIGF0b21pY190IGlycV9taXNfY291bnQ7Ci0KLSNkZWZpbmUgSU9fQVBJQ19JUlEoeCkgKCgoeCkgPj0gMTYpIHx8ICgoMTw8KHgpKSAmIGlvX2FwaWNfaXJxcykpCi0KLSNlbmRpZiAvKiBfQVNNX0hXX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwNjJlZjMuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2h3X2lycV82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTczICswLDAgQEAKLSNpZm5kZWYgX0FTTV9IV19JUlFfSAotI2RlZmluZSBfQVNNX0hXX0lSUV9ICi0KLS8qCi0gKglsaW51eC9pbmNsdWRlL2FzbS9od19pcnEuaAotICoKLSAqCShDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgotICoKLSAqCW1vdmVkIHNvbWUgb2YgdGhlIG9sZCBhcmNoL2kzODYva2VybmVsL2lycS5oIHRvIGhlcmUuIFZZCi0gKgotICoJSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKLSAqCTx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+Ci0gKgotICoJaGFja2VkIGJ5IEFuZGkgS2xlZW4gZm9yIHg4Ni02NC4KLSAqLwotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vaXJxLmg+Ci0jaW5jbHVkZSA8bGludXgvcHJvZmlsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgotI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgotI2VuZGlmCi0KLSNkZWZpbmUgTk1JX1ZFQ1RPUgkJMHgwMgotLyoKLSAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKLSAqIGF0IDB4MjA6Ci0gKi8KLSNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKLQotI2RlZmluZSBJQTMyX1NZU0NBTExfVkVDVE9SCTB4ODAKLQotCi0vKiBSZXNlcnZlIHRoZSBsb3dlc3QgdXNhYmxlIHByaW9yaXR5IGxldmVsIDB4MjAgLSAweDJmIGZvciB0cmlnZ2VyaW5nCi0gKiBjbGVhbnVwIGFmdGVyIGlycSBtaWdyYXRpb24uCi0gKi8KLSNkZWZpbmUgSVJRX01PVkVfQ0xFQU5VUF9WRUNUT1IJRklSU1RfRVhURVJOQUxfVkVDVE9SCi0KLS8qCi0gKiBWZWN0b3JzIDB4MzAtMHgzZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMuCi0gKi8KLSNkZWZpbmUgSVJRMF9WRUNUT1IJCShGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyAweDEwKQotI2RlZmluZSBJUlExX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMSkKLSNkZWZpbmUgSVJRMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDIpCi0jZGVmaW5lIElSUTNfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAzKQotI2RlZmluZSBJUlE0X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNCkKLSNkZWZpbmUgSVJRNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDUpCi0jZGVmaW5lIElSUTZfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA2KQotI2RlZmluZSBJUlE3X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNykKLSNkZWZpbmUgSVJROF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDgpCi0jZGVmaW5lIElSUTlfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA5KQotI2RlZmluZSBJUlExMF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEwKQotI2RlZmluZSBJUlExMV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDExKQotI2RlZmluZSBJUlExMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEyKQotI2RlZmluZSBJUlExM19WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEzKQotI2RlZmluZSBJUlExNF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE0KQotI2RlZmluZSBJUlExNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE1KQotCi0vKgotICogU3BlY2lhbCBJUlEgdmVjdG9ycyB1c2VkIGJ5IHRoZSBTTVAgYXJjaGl0ZWN0dXJlLCAweGYwLTB4ZmYKLSAqCi0gKiAgc29tZSBvZiB0aGUgZm9sbG93aW5nIHZlY3RvcnMgYXJlICdyYXJlJywgdGhleSBhcmUgbWVyZ2VkCi0gKiAgaW50byBhIHNpbmdsZSB2ZWN0b3IgKENBTExfRlVOQ1RJT05fVkVDVE9SKSB0byBzYXZlIHZlY3RvciBzcGFjZS4KLSAqICBUTEIsIHJlc2NoZWR1bGUgYW5kIGxvY2FsIEFQSUMgdmVjdG9ycyBhcmUgcGVyZm9ybWFuY2UtY3JpdGljYWwuCi0gKi8KLSNkZWZpbmUgU1BVUklPVVNfQVBJQ19WRUNUT1IJMHhmZgotI2RlZmluZSBFUlJPUl9BUElDX1ZFQ1RPUgkweGZlCi0jZGVmaW5lIFJFU0NIRURVTEVfVkVDVE9SCTB4ZmQKLSNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJMHhmYwotLyogZmIgZnJlZSAtIHBsZWFzZSBkb24ndCByZWFkZCBLREIgaGVyZSBiZWNhdXNlIGl0J3MgdXNlbGVzcwotICAgKGhpbnQgLSB0aGluayB3aGF0IGEgTk1JIGJpdCBkb2VzIHRvIGEgdmVjdG9yKSAqLwotI2RlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCTB4ZmEKLSNkZWZpbmUgVEhSRVNIT0xEX0FQSUNfVkVDVE9SICAgMHhmOQotLyogZjggZnJlZSAqLwotI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1JfRU5ECTB4ZjcKLSNkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUCTB4ZjAJLyogZjAtZjcgdXNlZCBmb3IgVExCIGZsdXNoICovCi0KLSNkZWZpbmUgTlVNX0lOVkFMSURBVEVfVExCX1ZFQ1RPUlMJOAotCi0vKgotICogTG9jYWwgQVBJQyB0aW1lciBJUlEgdmVjdG9yIGlzIG9uIGEgZGlmZmVyZW50IHByaW9yaXR5IGxldmVsLAotICogdG8gd29yayBhcm91bmQgdGhlICdsb3N0IGxvY2FsIGludGVycnVwdCBpZiBtb3JlIHRoYW4gMiBJUlEKLSAqIHNvdXJjZXMgcGVyIGxldmVsJyBlcnJhdGEuCi0gKi8KLSNkZWZpbmUgTE9DQUxfVElNRVJfVkVDVE9SCTB4ZWYKLQotLyoKLSAqIEZpcnN0IEFQSUMgdmVjdG9yIGF2YWlsYWJsZSB0byBkcml2ZXJzOiAodmVjdG9ycyAweDMwLTB4ZWUpCi0gKiB3ZSBzdGFydCBhdCAweDQxIHRvIHNwcmVhZCBvdXQgdmVjdG9ycyBldmVubHkgYmV0d2VlbiBwcmlvcml0eQotICogbGV2ZWxzLiAoMHg4MCBpcyB0aGUgc3lzY2FsbCB2ZWN0b3IpCi0gKi8KLSNkZWZpbmUgRklSU1RfREVWSUNFX1ZFQ1RPUgkoSVJRMTVfVkVDVE9SICsgMikKLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmICAgLyogZHVwbGljYXRlZCBpbiBpcnEuaCAqLwotCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0KLS8qIEludGVycnVwdCBoYW5kbGVycyByZWdpc3RlcmVkIGR1cmluZyBpbml0X0lSUSAqLwotdm9pZCBhcGljX3RpbWVyX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgc3B1cmlvdXNfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBlcnJvcl9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIHJlc2NoZWR1bGVfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0MCh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQxKHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDIodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Myh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ0KHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDUodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Nih2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ3KHZvaWQpOwotdm9pZCB0aGVybWFsX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgdGhyZXNob2xkX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgaTgyNTRfdGltZXJfcmVzdW1lKHZvaWQpOwotCi10eXBlZGVmIGludCB2ZWN0b3JfaXJxX3RbTlJfVkVDVE9SU107Ci1ERUNMQVJFX1BFUl9DUFUodmVjdG9yX2lycV90LCB2ZWN0b3JfaXJxKTsKLWV4dGVybiB2b2lkIF9fc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KTsKLWV4dGVybiBzcGlubG9ja190IHZlY3Rvcl9sb2NrOwotCi0vKgotICogVmFyaW91cyBsb3ctbGV2ZWwgaXJxIGRldGFpbHMgbmVlZGVkIGJ5IGlycS5jLCBwcm9jZXNzLmMsCi0gKiB0aW1lLmMsIGlvX2FwaWMuYyBhbmQgc21wLmMKLSAqCi0gKiBJbnRlcnJ1cHQgZW50cnkvZXhpdCBjb2RlIGF0IGJvdGggQyBhbmQgYXNzZW1ibHkgbGV2ZWwKLSAqLwotCi1leHRlcm4gdm9pZCBkaXNhYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKLWV4dGVybiB2b2lkIGVuYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7Ci1leHRlcm4gaW50IGk4MjU5QV9pcnFfcGVuZGluZyh1bnNpZ25lZCBpbnQgaXJxKTsKLWV4dGVybiB2b2lkIG1ha2VfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotZXh0ZXJuIHZvaWQgaW5pdF84MjU5QShpbnQgYWVvaSk7Ci1leHRlcm4gdm9pZCBzZW5kX0lQSV9zZWxmKGludCB2ZWN0b3IpOwotZXh0ZXJuIHZvaWQgaW5pdF9WSVNXU19BUElDX2lycXModm9pZCk7Ci1leHRlcm4gdm9pZCBzZXR1cF9JT19BUElDKHZvaWQpOwotZXh0ZXJuIHZvaWQgZW5hYmxlX0lPX0FQSUModm9pZCk7Ci1leHRlcm4gdm9pZCBkaXNhYmxlX0lPX0FQSUModm9pZCk7Ci1leHRlcm4gdm9pZCBwcmludF9JT19BUElDKHZvaWQpOwotZXh0ZXJuIGludCBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZuKTsKLWV4dGVybiB2b2lkIHNlbmRfSVBJKGludCBkZXN0LCBpbnQgdmVjdG9yKTsKLWV4dGVybiB2b2lkIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpOwotZXh0ZXJuIHZvaWQgbmF0aXZlX2luaXRfSVJRKHZvaWQpOwotCi1leHRlcm4gdW5zaWduZWQgbG9uZyBpb19hcGljX2lycXM7Ci0KLWV4dGVybiBhdG9taWNfdCBpcnFfZXJyX2NvdW50OwotZXh0ZXJuIGF0b21pY190IGlycV9taXNfY291bnQ7Ci0KLSNkZWZpbmUgSU9fQVBJQ19JUlEoeCkgKCgoeCkgPj0gMTYpIHx8ICgoMTw8KHgpKSAmIGlvX2FwaWNfaXJxcykpCi0KLSNpbmNsdWRlIDxhc20vcHRyYWNlLmg+Ci0KLSNkZWZpbmUgSVJRX05BTUUyKG5yKSBuciMjX2ludGVycnVwdCh2b2lkKQotI2RlZmluZSBJUlFfTkFNRShucikgSVJRX05BTUUyKElSUSMjbnIpCi0KLS8qCi0gKglTTVAgaGFzIGEgZmV3IHNwZWNpYWwgaW50ZXJydXB0cyBmb3IgSVBJIG1lc3NhZ2VzCi0gKi8KLQotI2RlZmluZSBCVUlMRF9JUlEobnIpCQkJCVwKLQlhc21saW5rYWdlIHZvaWQgSVJRX05BTUUobnIpOwkJXAotCWFzbSgiXG4ucDJhbGlnblxuIgkJCVwKLQkgICAgIklSUSIgI25yICJfaW50ZXJydXB0OlxuXHQiCQlcCi0JICAgICJwdXNoICR+KCIgI25yICIpIDsgIgkJXAotCSAgICAiam1wIGNvbW1vbl9pbnRlcnJ1cHQiKTsKLQotI2RlZmluZSBwbGF0Zm9ybV9sZWdhY3lfaXJxKGlycSkJKChpcnEpIDwgMTYpCi0KLSNlbmRpZgotCi0jZW5kaWYgLyogX0FTTV9IV19JUlFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2k4MjU5LmggYi9pbmNsdWRlL2FzbS14ODYvaTgyNTkuaAppbmRleCA0NWQ0ZGYzLi4yZjk4ZGY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaTgyNTkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaTgyNTkuaApAQCAtNTUsNCArNTUsNiBAQAogCXVkZWxheSgyKTsKIH0KIAorZXh0ZXJuIHN0cnVjdCBpcnFfY2hpcCBpODI1OUFfY2hpcDsKKwogI2VuZGlmCS8qIF9fQVNNX0k4MjU5X0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvLmggYi9pbmNsdWRlL2FzbS14ODYvaW8uaAppbmRleCBkNWIxMWY2Li5iZjVkNjI5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaW8uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW8uaApAQCAtMyw2ICszLDc2IEBACiAKICNkZWZpbmUgQVJDSF9IQVNfSU9SRU1BUF9XQwogCisjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KKworLyoKKyAqIGVhcmx5X2lvcmVtYXAoKSBhbmQgZWFybHlfaW91bm1hcCgpIGFyZSBmb3IgdGVtcG9yYXJ5IGVhcmx5IGJvb3QtdGltZQorICogbWFwcGluZ3MsIGJlZm9yZSB0aGUgcmVhbCBpb3JlbWFwKCkgaXMgZnVuY3Rpb25hbC4KKyAqIEEgYm9vdC10aW1lIG1hcHBpbmcgaXMgY3VycmVudGx5IGxpbWl0ZWQgdG8gYXQgbW9zdCAxNiBwYWdlcy4KKyAqLworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfaW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfY2xlYXIodm9pZCk7CitleHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX3Jlc2V0KHZvaWQpOworZXh0ZXJuIHZvaWQgKmVhcmx5X2lvcmVtYXAodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CitleHRlcm4gdm9pZCBlYXJseV9pb3VubWFwKHZvaWQgKmFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CitleHRlcm4gdm9pZCBfX2lvbWVtICpmaXhfaW9yZW1hcCh1bnNpZ25lZCBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cyk7CisjZW5kaWYKKworI2RlZmluZSBidWlsZF9tbWlvX3JlYWQobmFtZSwgc2l6ZSwgdHlwZSwgcmVnLCBiYXJyaWVyKSBcCitzdGF0aWMgaW5saW5lIHR5cGUgbmFtZShjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpIFwKK3sgdHlwZSByZXQ7IGFzbSB2b2xhdGlsZSgibW92IiBzaXplICIgJTEsJTAiOiI9IiByZWcgKHJldCkgXAorOiJtIiAoKih2b2xhdGlsZSB0eXBlIF9fZm9yY2UgKilhZGRyKSBiYXJyaWVyKTsgcmV0dXJuIHJldDsgfQorCisjZGVmaW5lIGJ1aWxkX21taW9fd3JpdGUobmFtZSwgc2l6ZSwgdHlwZSwgcmVnLCBiYXJyaWVyKSBcCitzdGF0aWMgaW5saW5lIHZvaWQgbmFtZSh0eXBlIHZhbCwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKSBcCit7IGFzbSB2b2xhdGlsZSgibW92IiBzaXplICIgJTAsJTEiOiA6cmVnICh2YWwpLCBcCisibSIgKCoodm9sYXRpbGUgdHlwZSBfX2ZvcmNlICopYWRkcikgYmFycmllcik7IH0KKworYnVpbGRfbW1pb19yZWFkKHJlYWRiLCAiYiIsIHVuc2lnbmVkIGNoYXIsICJxIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb19yZWFkKHJlYWR3LCAidyIsIHVuc2lnbmVkIHNob3J0LCAiciIsIDoibWVtb3J5IikKK2J1aWxkX21taW9fcmVhZChyZWFkbCwgImwiLCB1bnNpZ25lZCBpbnQsICJyIiwgOiJtZW1vcnkiKQorCitidWlsZF9tbWlvX3JlYWQoX19yZWFkYiwgImIiLCB1bnNpZ25lZCBjaGFyLCAicSIsICkKK2J1aWxkX21taW9fcmVhZChfX3JlYWR3LCAidyIsIHVuc2lnbmVkIHNob3J0LCAiciIsICkKK2J1aWxkX21taW9fcmVhZChfX3JlYWRsLCAibCIsIHVuc2lnbmVkIGludCwgInIiLCApCisKK2J1aWxkX21taW9fd3JpdGUod3JpdGViLCAiYiIsIHVuc2lnbmVkIGNoYXIsICJxIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb193cml0ZSh3cml0ZXcsICJ3IiwgdW5zaWduZWQgc2hvcnQsICJyIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb193cml0ZSh3cml0ZWwsICJsIiwgdW5zaWduZWQgaW50LCAiciIsIDoibWVtb3J5IikKKworYnVpbGRfbW1pb193cml0ZShfX3dyaXRlYiwgImIiLCB1bnNpZ25lZCBjaGFyLCAicSIsICkKK2J1aWxkX21taW9fd3JpdGUoX193cml0ZXcsICJ3IiwgdW5zaWduZWQgc2hvcnQsICJyIiwgKQorYnVpbGRfbW1pb193cml0ZShfX3dyaXRlbCwgImwiLCB1bnNpZ25lZCBpbnQsICJyIiwgKQorCisjZGVmaW5lIHJlYWRiX3JlbGF4ZWQoYSkgX19yZWFkYihhKQorI2RlZmluZSByZWFkd19yZWxheGVkKGEpIF9fcmVhZHcoYSkKKyNkZWZpbmUgcmVhZGxfcmVsYXhlZChhKSBfX3JlYWRsKGEpCisjZGVmaW5lIF9fcmF3X3JlYWRiIF9fcmVhZGIKKyNkZWZpbmUgX19yYXdfcmVhZHcgX19yZWFkdworI2RlZmluZSBfX3Jhd19yZWFkbCBfX3JlYWRsCisKKyNkZWZpbmUgX19yYXdfd3JpdGViIF9fd3JpdGViCisjZGVmaW5lIF9fcmF3X3dyaXRldyBfX3dyaXRldworI2RlZmluZSBfX3Jhd193cml0ZWwgX193cml0ZWwKKworI2RlZmluZSBtbWlvd2IoKSBiYXJyaWVyKCkKKworI2lmZGVmIENPTkZJR19YODZfNjQKK2J1aWxkX21taW9fcmVhZChyZWFkcSwgInEiLCB1bnNpZ25lZCBsb25nLCAiciIsIDoibWVtb3J5IikKK2J1aWxkX21taW9fcmVhZChfX3JlYWRxLCAicSIsIHVuc2lnbmVkIGxvbmcsICJyIiwgKQorYnVpbGRfbW1pb193cml0ZSh3cml0ZXEsICJxIiwgdW5zaWduZWQgbG9uZywgInIiLCA6Im1lbW9yeSIpCitidWlsZF9tbWlvX3dyaXRlKF9fd3JpdGVxLCAicSIsIHVuc2lnbmVkIGxvbmcsICJyIiwgKQorCisjZGVmaW5lIHJlYWRxX3JlbGF4ZWQoYSkgX19yZWFkcShhKQorI2RlZmluZSBfX3Jhd19yZWFkcSBfX3JlYWRxCisjZGVmaW5lIF9fcmF3X3dyaXRlcSB3cml0ZXEKKworLyogTGV0IHBlb3BsZSBrbm93IHdlIGhhdmUgdGhlbSAqLworI2RlZmluZSByZWFkcSByZWFkcQorI2RlZmluZSB3cml0ZXEgd3JpdGVxCisjZW5kaWYKKwogI2lmZGVmIENPTkZJR19YODZfMzIKICMgaW5jbHVkZSAiaW9fMzIuaCIKICNlbHNlCkBAIC0xNiw0ICs4NiwxNyBAQAogCQkJCXVuc2lnbmVkIGxvbmcgcHJvdF92YWwpOwogZXh0ZXJuIHZvaWQgX19pb21lbSAqaW9yZW1hcF93Yyh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplKTsKIAorLyoKKyAqIGVhcmx5X2lvcmVtYXAoKSBhbmQgZWFybHlfaW91bm1hcCgpIGFyZSBmb3IgdGVtcG9yYXJ5IGVhcmx5IGJvb3QtdGltZQorICogbWFwcGluZ3MsIGJlZm9yZSB0aGUgcmVhbCBpb3JlbWFwKCkgaXMgZnVuY3Rpb25hbC4KKyAqIEEgYm9vdC10aW1lIG1hcHBpbmcgaXMgY3VycmVudGx5IGxpbWl0ZWQgdG8gYXQgbW9zdCAxNiBwYWdlcy4KKyAqLworZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9pbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9jbGVhcih2b2lkKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfcmVzZXQodm9pZCk7CitleHRlcm4gdm9pZCAqZWFybHlfaW9yZW1hcCh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvdW5tYXAodm9pZCAqYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKmZpeF9pb3JlbWFwKHVuc2lnbmVkIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzKTsKKworCiAjZW5kaWYgLyogX0FTTV9YODZfSU9fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvaW9fMzIuaAppbmRleCAwNDllODFlLi40ZGY0NGVkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaW9fMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW9fMzIuaApAQCAtMTIyLDE4ICsxMjIsNiBAQAogZXh0ZXJuIHZvaWQgaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpOwogCiAvKgotICogZWFybHlfaW9yZW1hcCgpIGFuZCBlYXJseV9pb3VubWFwKCkgYXJlIGZvciB0ZW1wb3JhcnkgZWFybHkgYm9vdC10aW1lCi0gKiBtYXBwaW5ncywgYmVmb3JlIHRoZSByZWFsIGlvcmVtYXAoKSBpcyBmdW5jdGlvbmFsLgotICogQSBib290LXRpbWUgbWFwcGluZyBpcyBjdXJyZW50bHkgbGltaXRlZCB0byBhdCBtb3N0IDE2IHBhZ2VzLgotICovCi1leHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX2luaXQodm9pZCk7Ci1leHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX2NsZWFyKHZvaWQpOwotZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9yZXNldCh2b2lkKTsKLWV4dGVybiB2b2lkICplYXJseV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUpOwotZXh0ZXJuIHZvaWQgZWFybHlfaW91bm1hcCh2b2lkICphZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpOwotZXh0ZXJuIHZvaWQgX19pb21lbSAqZml4X2lvcmVtYXAodW5zaWduZWQgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMpOwotCi0vKgogICogSVNBIEkvTyBidXMgbWVtb3J5IGFkZHJlc3NlcyBhcmUgMToxIHdpdGggdGhlIHBoeXNpY2FsIGFkZHJlc3MuCiAgKi8KICNkZWZpbmUgaXNhX3ZpcnRfdG9fYnVzIHZpcnRfdG9fcGh5cwpAQCAtMTQ5LDU1ICsxMzcsNiBAQAogI2RlZmluZSB2aXJ0X3RvX2J1cyB2aXJ0X3RvX3BoeXMKICNkZWZpbmUgYnVzX3RvX3ZpcnQgcGh5c190b192aXJ0CiAKLS8qCi0gKiByZWFkWC93cml0ZVgoKSBhcmUgdXNlZCB0byBhY2Nlc3MgbWVtb3J5IG1hcHBlZCBkZXZpY2VzLiBPbiBzb21lCi0gKiBhcmNoaXRlY3R1cmVzIHRoZSBtZW1vcnkgbWFwcGVkIElPIHN0dWZmIG5lZWRzIHRvIGJlIGFjY2Vzc2VkCi0gKiBkaWZmZXJlbnRseS4gT24gdGhlIHg4NiBhcmNoaXRlY3R1cmUsIHdlIGp1c3QgcmVhZC93cml0ZSB0aGUKLSAqIG1lbW9yeSBsb2NhdGlvbiBkaXJlY3RseS4KLSAqLwotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNoYXIgcmVhZGIoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgX19mb3JjZSAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgc2hvcnQgcmVhZHcoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0IF9fZm9yY2UgKilhZGRyOwotfQotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCByZWFkbChjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICoodm9sYXRpbGUgdW5zaWduZWQgaW50IF9fZm9yY2UgKikgYWRkcjsKLX0KLQotI2RlZmluZSByZWFkYl9yZWxheGVkKGFkZHIpIHJlYWRiKGFkZHIpCi0jZGVmaW5lIHJlYWR3X3JlbGF4ZWQoYWRkcikgcmVhZHcoYWRkcikKLSNkZWZpbmUgcmVhZGxfcmVsYXhlZChhZGRyKSByZWFkbChhZGRyKQotI2RlZmluZSBfX3Jhd19yZWFkYiByZWFkYgotI2RlZmluZSBfX3Jhd19yZWFkdyByZWFkdwotI2RlZmluZSBfX3Jhd19yZWFkbCByZWFkbAotCi1zdGF0aWMgaW5saW5lIHZvaWQgd3JpdGViKHVuc2lnbmVkIGNoYXIgYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSoodm9sYXRpbGUgdW5zaWduZWQgY2hhciBfX2ZvcmNlICopYWRkciA9IGI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZXcodW5zaWduZWQgc2hvcnQgYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSoodm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgX19mb3JjZSAqKWFkZHIgPSBiOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgd3JpdGVsKHVuc2lnbmVkIGludCBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKih2b2xhdGlsZSB1bnNpZ25lZCBpbnQgX19mb3JjZSAqKWFkZHIgPSBiOwotfQotI2RlZmluZSBfX3Jhd193cml0ZWIgd3JpdGViCi0jZGVmaW5lIF9fcmF3X3dyaXRldyB3cml0ZXcKLSNkZWZpbmUgX19yYXdfd3JpdGVsIHdyaXRlbAotCi0jZGVmaW5lIG1taW93YigpCi0KIHN0YXRpYyBpbmxpbmUgdm9pZAogbWVtc2V0X2lvKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgY2hhciB2YWwsIGludCBjb3VudCkKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pb182NC5oIGIvaW5jbHVkZS9hc20teDg2L2lvXzY0LmgKaW5kZXggMDkzMGJlZC4uZGRkODA1OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lvXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2lvXzY0LmgKQEAgLTIwNCw3NyArMjA0LDYgQEAKICNkZWZpbmUgdmlydF90b19idXMgdmlydF90b19waHlzCiAjZGVmaW5lIGJ1c190b192aXJ0IHBoeXNfdG9fdmlydAogCi0vKgotICogcmVhZFgvd3JpdGVYKCkgYXJlIHVzZWQgdG8gYWNjZXNzIG1lbW9yeSBtYXBwZWQgZGV2aWNlcy4gT24gc29tZQotICogYXJjaGl0ZWN0dXJlcyB0aGUgbWVtb3J5IG1hcHBlZCBJTyBzdHVmZiBuZWVkcyB0byBiZSBhY2Nlc3NlZAotICogZGlmZmVyZW50bHkuIE9uIHRoZSB4ODYgYXJjaGl0ZWN0dXJlLCB3ZSBqdXN0IHJlYWQvd3JpdGUgdGhlCi0gKiBtZW1vcnkgbG9jYXRpb24gZGlyZWN0bHkuCi0gKi8KLQotc3RhdGljIGlubGluZSBfX3U4IF9fcmVhZGIoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKF9fZm9yY2Ugdm9sYXRpbGUgX191OCAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgX191MTYgX19yZWFkdyhjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICooX19mb3JjZSB2b2xhdGlsZSBfX3UxNiAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgX191MzIgX19yZWFkbChjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICooX19mb3JjZSB2b2xhdGlsZSBfX3UzMiAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgX191NjQgX19yZWFkcShjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICooX19mb3JjZSB2b2xhdGlsZSBfX3U2NCAqKWFkZHI7Ci19Ci0KLSNkZWZpbmUgcmVhZGIoeCkgX19yZWFkYih4KQotI2RlZmluZSByZWFkdyh4KSBfX3JlYWR3KHgpCi0jZGVmaW5lIHJlYWRsKHgpIF9fcmVhZGwoeCkKLSNkZWZpbmUgcmVhZHEoeCkgX19yZWFkcSh4KQotI2RlZmluZSByZWFkYl9yZWxheGVkKGEpIHJlYWRiKGEpCi0jZGVmaW5lIHJlYWR3X3JlbGF4ZWQoYSkgcmVhZHcoYSkKLSNkZWZpbmUgcmVhZGxfcmVsYXhlZChhKSByZWFkbChhKQotI2RlZmluZSByZWFkcV9yZWxheGVkKGEpIHJlYWRxKGEpCi0jZGVmaW5lIF9fcmF3X3JlYWRiIHJlYWRiCi0jZGVmaW5lIF9fcmF3X3JlYWR3IHJlYWR3Ci0jZGVmaW5lIF9fcmF3X3JlYWRsIHJlYWRsCi0jZGVmaW5lIF9fcmF3X3JlYWRxIHJlYWRxCi0KLSNkZWZpbmUgbW1pb3diKCkKLQotc3RhdGljIGlubGluZSB2b2lkIF9fd3JpdGVsKF9fdTMyIGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKF9fZm9yY2Ugdm9sYXRpbGUgX191MzIgKilhZGRyID0gYjsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIF9fd3JpdGVxKF9fdTY0IGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKF9fZm9yY2Ugdm9sYXRpbGUgX191NjQgKilhZGRyID0gYjsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIF9fd3JpdGViKF9fdTggYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSooX19mb3JjZSB2b2xhdGlsZSBfX3U4ICopYWRkciA9IGI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3dyaXRldyhfX3UxNiBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKihfX2ZvcmNlIHZvbGF0aWxlIF9fdTE2ICopYWRkciA9IGI7Ci19Ci0KLSNkZWZpbmUgd3JpdGVxKHZhbCwgYWRkcikgX193cml0ZXEoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgd3JpdGVsKHZhbCwgYWRkcikgX193cml0ZWwoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgd3JpdGV3KHZhbCwgYWRkcikgX193cml0ZXcoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgd3JpdGViKHZhbCwgYWRkcikgX193cml0ZWIoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgX19yYXdfd3JpdGViIHdyaXRlYgotI2RlZmluZSBfX3Jhd193cml0ZXcgd3JpdGV3Ci0jZGVmaW5lIF9fcmF3X3dyaXRlbCB3cml0ZWwKLSNkZWZpbmUgX19yYXdfd3JpdGVxIHdyaXRlcQotCiB2b2lkIF9fbWVtY3B5X2Zyb21pbyh2b2lkICosIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkKTsKIHZvaWQgX19tZW1jcHlfdG9pbyh1bnNpZ25lZCBsb25nLCBjb25zdCB2b2lkICosIHVuc2lnbmVkKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvX2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pb19hcGljLmgKaW5kZXggZDU5M2UxNC4uMTRmODJiYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lvX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW9fYXBpYy5oCkBAIC0xMSw2ICsxMSwxNSBAQAogICogQ29weXJpZ2h0IChDKSAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwIEluZ28gTW9sbmFyCiAgKi8KIAorLyogSS9PIFVuaXQgUmVkaXJlY3Rpb24gVGFibGUgKi8KKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9WRUNUT1JfTUFTSwkweDAwMEZGCisjZGVmaW5lIElPX0FQSUNfUkVESVJfREVTVF9MT0dJQ0FMCTB4MDA4MDAKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9ERVNUX1BIWVNJQ0FMCTB4MDAwMDAKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9TRU5EX1BFTkRJTkcJKDEgPDwgMTIpCisjZGVmaW5lIElPX0FQSUNfUkVESVJfUkVNT1RFX0lSUgkoMSA8PCAxNCkKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9MRVZFTF9UUklHR0VSCSgxIDw8IDE1KQorI2RlZmluZSBJT19BUElDX1JFRElSX01BU0tFRAkJKDEgPDwgMTYpCisKIC8qCiAgKiBUaGUgc3RydWN0dXJlIG9mIHRoZSBJTy1BUElDOgogICovCkBAIC0xMTIsMjEgKzEyMSwzMiBAQAogCiAjZGVmaW5lIE1QX01BWF9JT0FQSUNfUElOIDEyNwogCi1zdHJ1Y3QgbXBfaW9hcGljX3JvdXRpbmcgewotCWludCBhcGljX2lkOwotCWludCBnc2lfYmFzZTsKLQlpbnQgZ3NpX2VuZDsKLQlERUNMQVJFX0JJVE1BUChwaW5fcHJvZ3JhbW1lZCwgTVBfTUFYX0lPQVBJQ19QSU4gKyAxKTsKK3N0cnVjdCBtcF9jb25maWdfaW9hcGljIHsKKwl1bnNpZ25lZCBsb25nIG1wX2FwaWNhZGRyOworCXVuc2lnbmVkIGludCBtcF9hcGljaWQ7CisJdW5zaWduZWQgY2hhciBtcF90eXBlOworCXVuc2lnbmVkIGNoYXIgbXBfYXBpY3ZlcjsKKwl1bnNpZ25lZCBjaGFyIG1wX2ZsYWdzOworfTsKKworc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgeworCXVuc2lnbmVkIGludCBtcF9kc3RhcGljOworCXVuc2lnbmVkIGNoYXIgbXBfdHlwZTsKKwl1bnNpZ25lZCBjaGFyIG1wX2lycXR5cGU7CisJdW5zaWduZWQgc2hvcnQgbXBfaXJxZmxhZzsKKwl1bnNpZ25lZCBjaGFyIG1wX3NyY2J1czsKKwl1bnNpZ25lZCBjaGFyIG1wX3NyY2J1c2lycTsKKwl1bnNpZ25lZCBjaGFyIG1wX2RzdGlycTsKIH07CiAKIC8qIEkvTyBBUElDIGVudHJpZXMgKi8KLWV4dGVybiBzdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOworZXh0ZXJuIHN0cnVjdCBtcF9jb25maWdfaW9hcGljIG1wX2lvYXBpY3NbTUFYX0lPX0FQSUNTXTsKIAogLyogIyBvZiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KIGV4dGVybiBpbnQgbXBfaXJxX2VudHJpZXM7CiAKIC8qIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwotZXh0ZXJuIHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyBtcF9pcnFzW01BWF9JUlFfU09VUkNFU107CitleHRlcm4gc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxc1tNQVhfSVJRX1NPVVJDRVNdOwogCiAvKiBub24tMCBpZiBkZWZhdWx0ICh0YWJsZS1sZXNzKSBNUCBjb25maWd1cmF0aW9uICovCiBleHRlcm4gaW50IG1wY19kZWZhdWx0X3R5cGU7CkBAIC0xMzcsNiArMTU3LDkgQEAKIC8qIDEgaWYgIm5vYXBpYyIgYm9vdCBvcHRpb24gcGFzc2VkICovCiBleHRlcm4gaW50IHNraXBfaW9hcGljX3NldHVwOwogCisvKiAxIGlmIHRoZSB0aW1lciBJUlEgdXNlcyB0aGUgJzgyNTlBIFZpcnR1YWwgV2lyZScgbW9kZSAqLworZXh0ZXJuIGludCB0aW1lcl90aHJvdWdoXzgyNTk7CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBkaXNhYmxlX2lvYXBpY19zZXR1cCh2b2lkKQogewogCXNraXBfaW9hcGljX3NldHVwID0gMTsKQEAgLTE2Miw2ICsxODUsOCBAQAogCiAjZWxzZSAgLyogIUNPTkZJR19YODZfSU9fQVBJQyAqLwogI2RlZmluZSBpb19hcGljX2Fzc2lnbl9wY2lfaXJxcyAwCitzdGF0aWMgY29uc3QgaW50IHRpbWVyX3Rocm91Z2hfODI1OSA9IDA7CitzdGF0aWMgaW5saW5lIHZvaWQgaW9hcGljX2luaXRfbWFwcGluZ3Modm9pZCkgeyB9CiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCmluZGV4IDA3ODYyZmQuLjA2OGM5YTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCkBAIC0xLDI5ICsxLDM0IEBACi0jaWZuZGVmIF9BU01fWDg2NjRfR0FSVF9ICi0jZGVmaW5lIF9BU01fWDg2NjRfR0FSVF9IIDEKKyNpZm5kZWYgX0FTTV9YODY2NF9JT01NVV9ICisjZGVmaW5lIF9BU01fWDg2NjRfSU9NTVVfSCAxCiAKIGV4dGVybiB2b2lkIHBjaV9pb21tdV9zaHV0ZG93bih2b2lkKTsKIGV4dGVybiB2b2lkIG5vX2lvbW11X2luaXQodm9pZCk7CiBleHRlcm4gaW50IGZvcmNlX2lvbW11LCBub19pb21tdTsKIGV4dGVybiBpbnQgaW9tbXVfZGV0ZWN0ZWQ7Ci0jaWZkZWYgQ09ORklHX0lPTU1VCisKKyNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQorZXh0ZXJuIGludCBnYXJ0X2lvbW11X2FwZXJ0dXJlOworZXh0ZXJuIGludCBnYXJ0X2lvbW11X2FwZXJ0dXJlX2FsbG93ZWQ7CitleHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQ7CisKK2V4dGVybiB2b2lkIGVhcmx5X2dhcnRfaW9tbXVfY2hlY2sodm9pZCk7CiBleHRlcm4gdm9pZCBnYXJ0X2lvbW11X2luaXQodm9pZCk7CiBleHRlcm4gdm9pZCBnYXJ0X2lvbW11X3NodXRkb3duKHZvaWQpOwogZXh0ZXJuIHZvaWQgX19pbml0IGdhcnRfcGFyc2Vfb3B0aW9ucyhjaGFyICopOwotZXh0ZXJuIHZvaWQgaW9tbXVfaG9sZV9pbml0KHZvaWQpOwotZXh0ZXJuIGludCBmYWxsYmFja19hcGVyX29yZGVyOwotZXh0ZXJuIGludCBmYWxsYmFja19hcGVyX2ZvcmNlOwotZXh0ZXJuIGludCBpb21tdV9hcGVydHVyZTsKLWV4dGVybiBpbnQgaW9tbXVfYXBlcnR1cmVfYWxsb3dlZDsKLWV4dGVybiBpbnQgaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQ7Ci1leHRlcm4gaW50IGZpeF9hcGVydHVyZTsKK2V4dGVybiB2b2lkIGdhcnRfaW9tbXVfaG9sZV9pbml0KHZvaWQpOworCiAjZWxzZQotI2RlZmluZSBpb21tdV9hcGVydHVyZSAwCi0jZGVmaW5lIGlvbW11X2FwZXJ0dXJlX2FsbG93ZWQgMAorI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlICAgICAgICAgICAgMAorI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlX2FsbG93ZWQgICAgMAorI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkICAgMQorCitzdGF0aWMgaW5saW5lIHZvaWQgZWFybHlfZ2FydF9pb21tdV9jaGVjayh2b2lkKQoreworfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2FydF9pb21tdV9zaHV0ZG93bih2b2lkKQogewogfQotCiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXBpLmggYi9pbmNsdWRlL2FzbS14ODYvaXBpLmgKaW5kZXggZWNjODBmMy4uMTk2ZDYzYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lwaS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcGkuaApAQCAtMjAsNiArMjAsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2h3X2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL3NtcC5oPgogCiAvKgogICogdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgZGVhbCB3aXRoIHNlbmRpbmcgSVBJcyBiZXR3ZWVuIENQVXMuCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxLmggYi9pbmNsdWRlL2FzbS14ODYvaXJxLmgKaW5kZXggN2JhOTA1NC4uMWEyOTI1NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lycS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcnEuaApAQCAtMSw1ICsxLDUwIEBACi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotIyBpbmNsdWRlICJpcnFfMzIuaCIKLSNlbHNlCi0jIGluY2x1ZGUgImlycV82NC5oIgorI2lmbmRlZiBfQVNNX0lSUV9ICisjZGVmaW5lIF9BU01fSVJRX0gKKy8qCisgKgkoQykgMTk5MiwgMTk5MyBMaW51cyBUb3J2YWxkcywgKEMpIDE5OTcgSW5nbyBNb2xuYXIKKyAqCisgKglJUlEvSVBJIGNoYW5nZXMgdGFrZW4gZnJvbSB3b3JrIGJ5IFRob21hcyBSYWRrZQorICoJPHRvbXNvZnRAaW5mb3JtYXRpay50dS1jaGVtbml0ei5kZT4KKyAqLworCisjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KKworc3RhdGljIGlubGluZSBpbnQgaXJxX2Nhbm9uaWNhbGl6ZShpbnQgaXJxKQoreworCXJldHVybiAoKGlycSA9PSAyKSA/IDkgOiBpcnEpOworfQorCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisjIGRlZmluZSBBUkNIX0hBU19OTUlfV0FUQ0hET0cKICNlbmRpZgorCisjaWZkZWYgQ09ORklHXzRLU1RBQ0tTCisgIGV4dGVybiB2b2lkIGlycV9jdHhfaW5pdChpbnQgY3B1KTsKKyAgZXh0ZXJuIHZvaWQgaXJxX2N0eF9leGl0KGludCBjcHUpOworIyBkZWZpbmUgX19BUkNIX0hBU19ET19TT0ZUSVJRCisjZWxzZQorIyBkZWZpbmUgaXJxX2N0eF9pbml0KGNwdSkgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgaXJxX2N0eF9leGl0KGNwdSkgZG8geyB9IHdoaWxlICgwKQorIyBpZmRlZiBDT05GSUdfWDg2XzY0CisjICBkZWZpbmUgX19BUkNIX0hBU19ET19TT0ZUSVJRCisjIGVuZGlmCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19JUlFCQUxBTkNFCitleHRlcm4gaW50IGlycWJhbGFuY2VfZGlzYWJsZShjaGFyICpzdHIpOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKKyNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CitleHRlcm4gdm9pZCBmaXh1cF9pcnFzKGNwdW1hc2tfdCBtYXApOworI2VuZGlmCisKK2V4dGVybiB1bnNpZ25lZCBpbnQgZG9fSVJRKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKK2V4dGVybiB2b2lkIGluaXRfSVJRKHZvaWQpOworZXh0ZXJuIHZvaWQgbmF0aXZlX2luaXRfSVJRKHZvaWQpOworCisvKiBJbnRlcnJ1cHQgdmVjdG9yIG1hbmFnZW1lbnQgKi8KK2V4dGVybiBERUNMQVJFX0JJVE1BUCh1c2VkX3ZlY3RvcnMsIE5SX1ZFQ1RPUlMpOworCisjZW5kaWYgLyogX0FTTV9JUlFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lycV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2lycV8zMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjc5ZjMxLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFfMzIuaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLSNpZm5kZWYgX0FTTV9JUlFfSAotI2RlZmluZSBfQVNNX0lSUV9ICi0KLS8qCi0gKglsaW51eC9pbmNsdWRlL2FzbS9pcnEuaAotICoKLSAqCShDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgotICoKLSAqCUlSUS9JUEkgY2hhbmdlcyB0YWtlbiBmcm9tIHdvcmsgYnkgVGhvbWFzIFJhZGtlCi0gKgk8dG9tc29mdEBpbmZvcm1hdGlrLnR1LWNoZW1uaXR6LmRlPgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotLyogaW5jbHVkZSBjb21lcyBmcm9tIG1hY2hpbmUgc3BlY2lmaWMgZGlyZWN0b3J5ICovCi0jaW5jbHVkZSAiaXJxX3ZlY3RvcnMuaCIKLSNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLQotc3RhdGljIGlubGluZSBpbnQgaXJxX2Nhbm9uaWNhbGl6ZShpbnQgaXJxKQotewotCXJldHVybiAoKGlycSA9PSAyKSA/IDkgOiBpcnEpOwotfQotCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi0jIGRlZmluZSBBUkNIX0hBU19OTUlfV0FUQ0hET0cJCS8qIFNlZSBpbmNsdWRlL2xpbnV4L25taS5oICovCi0jZW5kaWYKLQotI2lmZGVmIENPTkZJR180S1NUQUNLUwotICBleHRlcm4gdm9pZCBpcnFfY3R4X2luaXQoaW50IGNwdSk7Ci0gIGV4dGVybiB2b2lkIGlycV9jdHhfZXhpdChpbnQgY3B1KTsKLSMgZGVmaW5lIF9fQVJDSF9IQVNfRE9fU09GVElSUQotI2Vsc2UKLSMgZGVmaW5lIGlycV9jdHhfaW5pdChjcHUpIGRvIHsgfSB3aGlsZSAoMCkKLSMgZGVmaW5lIGlycV9jdHhfZXhpdChjcHUpIGRvIHsgfSB3aGlsZSAoMCkKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0lSUUJBTEFOQ0UKLWV4dGVybiBpbnQgaXJxYmFsYW5jZV9kaXNhYmxlKGNoYXIgKnN0cik7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQotZXh0ZXJuIHZvaWQgZml4dXBfaXJxcyhjcHVtYXNrX3QgbWFwKTsKLSNlbmRpZgotCi11bnNpZ25lZCBpbnQgZG9fSVJRKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKLXZvaWQgaW5pdF9JUlEodm9pZCk7Ci12b2lkIF9faW5pdCBuYXRpdmVfaW5pdF9JUlEodm9pZCk7Ci0KLS8qIEludGVycnVwdCB2ZWN0b3IgbWFuYWdlbWVudCAqLwotZXh0ZXJuIERFQ0xBUkVfQklUTUFQKHVzZWRfdmVjdG9ycywgTlJfVkVDVE9SUyk7Ci0KLSNlbmRpZiAvKiBfQVNNX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvaXJxXzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4M2QzNWEuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lycV82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotI2lmbmRlZiBfQVNNX0lSUV9ICi0jZGVmaW5lIF9BU01fSVJRX0gKLQotLyoKLSAqCWxpbnV4L2luY2x1ZGUvYXNtL2lycS5oCi0gKgotICoJKEMpIDE5OTIsIDE5OTMgTGludXMgVG9ydmFsZHMsIChDKSAxOTk3IEluZ28gTW9sbmFyCi0gKgotICoJSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKLSAqCTx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+Ci0gKi8KLQotI2RlZmluZSBUSU1FUl9JUlEgMAotCi0vKgotICogMTYgODI1OUEgSVJRJ3MsIDIwOCBwb3RlbnRpYWwgQVBJQyBpbnRlcnJ1cHQgc291cmNlcy4KLSAqIFJpZ2h0IG5vdyB0aGUgQVBJQyBpcyBtb3N0bHkgb25seSB1c2VkIGZvciBTTVAuCi0gKiAyNTYgdmVjdG9ycyBpcyBhbiBhcmNoaXRlY3R1cmFsIGxpbWl0LiAod2UgY2FuIGhhdmUKLSAqIG1vcmUgdGhhbiAyNTYgZGV2aWNlcyB0aGVvcmV0aWNhbGx5LCBidXQgdGhleSB3aWxsCi0gKiBoYXZlIHRvIHVzZSBzaGFyZWQgaW50ZXJydXB0cykKLSAqIFNpbmNlIHZlY3RvcnMgMHgwMC0weDFmIGFyZSB1c2VkL3Jlc2VydmVkIGZvciB0aGUgQ1BVLAotICogdGhlIHVzYWJsZSB2ZWN0b3Igc3BhY2UgaXMgMHgyMC0weGZmICgyMjQgdmVjdG9ycykKLSAqLwotCi0vKgotICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHZlY3RvcnMgc3VwcG9ydGVkIGJ5IHg4Nl82NCBwcm9jZXNzb3JzCi0gKiBpcyBsaW1pdGVkIHRvIDI1Ni4gRm9yIHByb2Nlc3NvcnMgb3RoZXIgdGhhbiB4ODZfNjQsIE5SX1ZFQ1RPUlMKLSAqIHNob3VsZCBiZSBjaGFuZ2VkIGFjY29yZGluZ2x5LgotICovCi0jZGVmaW5lIE5SX1ZFQ1RPUlMgMjU2Ci0KLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmICAgLyogZHVwbGljYXRlZCBpbiBod19pcnEuaCAqLwotCi0jZGVmaW5lIE5SX0lSUVMgKE5SX1ZFQ1RPUlMgKyAoMzIgKiBOUl9DUFVTKSkKLSNkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgTlJfSVJRUwotCi1zdGF0aWMgaW5saW5lIGludCBpcnFfY2Fub25pY2FsaXplKGludCBpcnEpCi17Ci0JcmV0dXJuICgoaXJxID09IDIpID8gOSA6IGlycSk7Ci19Ci0KLSNkZWZpbmUgQVJDSF9IQVNfTk1JX1dBVENIRE9HCQkvKiBTZWUgaW5jbHVkZS9saW51eC9ubWkuaCAqLwotCi0jaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCi0jaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgotZXh0ZXJuIHZvaWQgZml4dXBfaXJxcyhjcHVtYXNrX3QgbWFwKTsKLSNlbmRpZgotCi0jZGVmaW5lIF9fQVJDSF9IQVNfRE9fU09GVElSUSAxCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxX3ZlY3RvcnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFfdmVjdG9ycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwYjFkMWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvaXJxX3ZlY3RvcnMuaApAQCAtMCwwICsxLDE3MyBAQAorI2lmbmRlZiBfQVNNX0lSUV9WRUNUT1JTX0gKKyNkZWZpbmUgX0FTTV9JUlFfVkVDVE9SU19ICisKKyNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+CisKKyNkZWZpbmUgTk1JX1ZFQ1RPUgkJMHgwMgorCisvKgorICogSURUIHZlY3RvcnMgdXNhYmxlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyBzdGFydAorICogYXQgMHgyMDoKKyAqLworI2RlZmluZSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IJMHgyMAorCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorIyBkZWZpbmUgU1lTQ0FMTF9WRUNUT1IJCTB4ODAKKyNlbHNlCisjIGRlZmluZSBJQTMyX1NZU0NBTExfVkVDVE9SCTB4ODAKKyNlbmRpZgorCisvKgorICogUmVzZXJ2ZSB0aGUgbG93ZXN0IHVzYWJsZSBwcmlvcml0eSBsZXZlbCAweDIwIC0gMHgyZiBmb3IgdHJpZ2dlcmluZworICogY2xlYW51cCBhZnRlciBpcnEgbWlncmF0aW9uIG9uIDY0IGJpdC4KKyAqLworI2RlZmluZSBJUlFfTU9WRV9DTEVBTlVQX1ZFQ1RPUglGSVJTVF9FWFRFUk5BTF9WRUNUT1IKKworLyoKKyAqIFZlY3RvcnMgMHgyMC0weDJmIGFyZSB1c2VkIGZvciBJU0EgaW50ZXJydXB0cyBvbiAzMiBiaXQuCisgKiBWZWN0b3JzIDB4MzAtMHgzZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMgb24gNjQgYml0LgorICovCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorI2RlZmluZSBJUlEwX1ZFQ1RPUgkJKEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUikKKyNlbHNlCisjZGVmaW5lIElSUTBfVkVDVE9SCQkoRklSU1RfRVhURVJOQUxfVkVDVE9SICsgMHgxMCkKKyNlbmRpZgorI2RlZmluZSBJUlExX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMSkKKyNkZWZpbmUgSVJRMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDIpCisjZGVmaW5lIElSUTNfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAzKQorI2RlZmluZSBJUlE0X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNCkKKyNkZWZpbmUgSVJRNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDUpCisjZGVmaW5lIElSUTZfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA2KQorI2RlZmluZSBJUlE3X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNykKKyNkZWZpbmUgSVJROF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDgpCisjZGVmaW5lIElSUTlfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA5KQorI2RlZmluZSBJUlExMF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEwKQorI2RlZmluZSBJUlExMV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDExKQorI2RlZmluZSBJUlExMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEyKQorI2RlZmluZSBJUlExM19WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEzKQorI2RlZmluZSBJUlExNF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE0KQorI2RlZmluZSBJUlExNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE1KQorCisvKgorICogU3BlY2lhbCBJUlEgdmVjdG9ycyB1c2VkIGJ5IHRoZSBTTVAgYXJjaGl0ZWN0dXJlLCAweGYwLTB4ZmYKKyAqCisgKiAgc29tZSBvZiB0aGUgZm9sbG93aW5nIHZlY3RvcnMgYXJlICdyYXJlJywgdGhleSBhcmUgbWVyZ2VkCisgKiAgaW50byBhIHNpbmdsZSB2ZWN0b3IgKENBTExfRlVOQ1RJT05fVkVDVE9SKSB0byBzYXZlIHZlY3RvciBzcGFjZS4KKyAqICBUTEIsIHJlc2NoZWR1bGUgYW5kIGxvY2FsIEFQSUMgdmVjdG9ycyBhcmUgcGVyZm9ybWFuY2UtY3JpdGljYWwuCisgKgorICogIFZlY3RvcnMgMHhmMC0weGZhIGFyZSBmcmVlIChyZXNlcnZlZCBmb3IgZnV0dXJlIExpbnV4IHVzZSkuCisgKi8KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisKKyMgZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCQkweGZmCisjIGRlZmluZSBFUlJPUl9BUElDX1ZFQ1RPUgkJMHhmZQorIyBkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SCQkweGZkCisjIGRlZmluZSBSRVNDSEVEVUxFX1ZFQ1RPUgkJMHhmYworIyBkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJCTB4ZmIKKyMgZGVmaW5lIENBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUgkweGZhCisjIGRlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCQkweGYwCisKKyNlbHNlCisKKyNkZWZpbmUgU1BVUklPVVNfQVBJQ19WRUNUT1IJCTB4ZmYKKyNkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJCTB4ZmUKKyNkZWZpbmUgUkVTQ0hFRFVMRV9WRUNUT1IJCTB4ZmQKKyNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJCTB4ZmMKKyNkZWZpbmUgQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SCTB4ZmIKKyNkZWZpbmUgVEhFUk1BTF9BUElDX1ZFQ1RPUgkJMHhmYQorI2RlZmluZSBUSFJFU0hPTERfQVBJQ19WRUNUT1IJCTB4ZjkKKyNkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SX0VORAkweGY3CisjZGVmaW5lIElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVAkweGYwCS8qIGYwLWY3IHVzZWQgZm9yIFRMQiBmbHVzaCAqLworCisjZGVmaW5lIE5VTV9JTlZBTElEQVRFX1RMQl9WRUNUT1JTCTgKKworI2VuZGlmCisKKy8qCisgKiBMb2NhbCBBUElDIHRpbWVyIElSUSB2ZWN0b3IgaXMgb24gYSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWwsCisgKiB0byB3b3JrIGFyb3VuZCB0aGUgJ2xvc3QgbG9jYWwgaW50ZXJydXB0IGlmIG1vcmUgdGhhbiAyIElSUQorICogc291cmNlcyBwZXIgbGV2ZWwnIGVycmF0YS4KKyAqLworI2RlZmluZSBMT0NBTF9USU1FUl9WRUNUT1IJMHhlZgorCisvKgorICogRmlyc3QgQVBJQyB2ZWN0b3IgYXZhaWxhYmxlIHRvIGRyaXZlcnM6ICh2ZWN0b3JzIDB4MzAtMHhlZSkgd2UKKyAqIHN0YXJ0IGF0IDB4MzEoMHg0MSkgdG8gc3ByZWFkIG91dCB2ZWN0b3JzIGV2ZW5seSBiZXR3ZWVuIHByaW9yaXR5CisgKiBsZXZlbHMuICgweDgwIGlzIHRoZSBzeXNjYWxsIHZlY3RvcikKKyAqLworI2lmZGVmIENPTkZJR19YODZfMzIKKyMgZGVmaW5lIEZJUlNUX0RFVklDRV9WRUNUT1IJMHgzMQorI2Vsc2UKKyMgZGVmaW5lIEZJUlNUX0RFVklDRV9WRUNUT1IJKElSUTE1X1ZFQ1RPUiArIDIpCisjZW5kaWYKKworI2RlZmluZSBOUl9WRUNUT1JTCQkyNTYKKworI2RlZmluZSBGUFVfSVJRCQkJMTMKKworI2RlZmluZQlGSVJTVF9WTTg2X0lSUQkJMworI2RlZmluZSBMQVNUX1ZNODZfSVJRCQkxNQorI2RlZmluZSBpbnZhbGlkX3ZtODZfaXJxKGlycSkJKChpcnEpIDwgMyB8fCAoaXJxKSA+IDE1KQorCisjaWYgIWRlZmluZWQoQ09ORklHX1g4Nl9WT1lBR0VSKQorCisjIGlmIGRlZmluZWQoQ09ORklHX1g4Nl9JT19BUElDKSB8fCBkZWZpbmVkKENPTkZJR19QQVJBVklSVCkgfHwgZGVmaW5lZChDT05GSUdfWDg2X1ZJU1dTKQorCisjICBkZWZpbmUgTlJfSVJRUwkJMjI0CisKKyMgIGlmICgyMjQgPj0gMzIgKiBOUl9DUFVTKQorIyAgIGRlZmluZSBOUl9JUlFfVkVDVE9SUwlOUl9JUlFTCisjICBlbHNlCisjICAgZGVmaW5lIE5SX0lSUV9WRUNUT1JTCSgzMiAqIE5SX0NQVVMpCisjICBlbmRpZgorCisjIGVsc2UgLyogSU9fQVBJQyB8fCBQQVJBVklSVCAqLworCisjICBkZWZpbmUgTlJfSVJRUwkJMTYKKyMgIGRlZmluZSBOUl9JUlFfVkVDVE9SUwlOUl9JUlFTCisKKyMgZW5kaWYKKworI2Vsc2UgLyogIVZJU1dTICYmICFWT1lBR0VSICovCisKKyMgZGVmaW5lIE5SX0lSUVMJCTIyNAorIyBkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMJCU5SX0lSUVMKKworI2VuZGlmIC8qIFZJU1dTICovCisKKy8qIFZveWFnZXIgc3BlY2lmaWMgZGVmaW5lcyAqLworLyogVGhlc2UgZGVmaW5lIHRoZSBDUElzIHdlIHVzZSBpbiBsaW51eCAqLworI2RlZmluZSBWSUNfQ1BJX0xFVkVMMAkJCTAKKyNkZWZpbmUgVklDX0NQSV9MRVZFTDEJCQkxCisvKiBub3cgdGhlIGZha2UgQ1BJcyAqLworI2RlZmluZSBWSUNfVElNRVJfQ1BJCQkJMgorI2RlZmluZSBWSUNfSU5WQUxJREFURV9DUEkJCTMKKyNkZWZpbmUgVklDX1JFU0NIRURVTEVfQ1BJCQk0CisjZGVmaW5lIFZJQ19FTkFCTEVfSVJRX0NQSQkJNQorI2RlZmluZSBWSUNfQ0FMTF9GVU5DVElPTl9DUEkJCTYKKyNkZWZpbmUgVklDX0NBTExfRlVOQ1RJT05fU0lOR0xFX0NQSQk3CisKKy8qIE5vdyB0aGUgUUlDIENQSXM6ICBTaW5jZSB3ZSBkb24ndCBuZWVkIHRoZSB0d28gaW5pdGlhbCBsZXZlbHMsCisgKiB0aGVzZSBhcmUgMiBsZXNzIHRoYW4gdGhlIFZJQyBDUElzICovCisjZGVmaW5lIFFJQ19DUElfT0ZGU0VUCQkJMQorI2RlZmluZSBRSUNfVElNRVJfQ1BJCQkJKFZJQ19USU1FUl9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKyNkZWZpbmUgUUlDX0lOVkFMSURBVEVfQ1BJCQkoVklDX0lOVkFMSURBVEVfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisjZGVmaW5lIFFJQ19SRVNDSEVEVUxFX0NQSQkJKFZJQ19SRVNDSEVEVUxFX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQorI2RlZmluZSBRSUNfRU5BQkxFX0lSUV9DUEkJCShWSUNfRU5BQkxFX0lSUV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKyNkZWZpbmUgUUlDX0NBTExfRlVOQ1RJT05fQ1BJCQkoVklDX0NBTExfRlVOQ1RJT05fQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisjZGVmaW5lIFFJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkJKFZJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKworI2RlZmluZSBWSUNfU1RBUlRfRkFLRV9DUEkJCVZJQ19USU1FUl9DUEkKKyNkZWZpbmUgVklDX0VORF9GQUtFX0NQSQkJVklDX0NBTExfRlVOQ1RJT05fU0lOR0xFX0NQSQorCisvKiB0aGlzIGlzIHRoZSBTWVNfSU5UIENQSS4gKi8KKyNkZWZpbmUgVklDX1NZU19JTlQJCQk4CisjZGVmaW5lIFZJQ19DTU5fSU5UCQkJMTUKKworLyogVGhpcyBpcyB0aGUgYm9vdCBDUEkgZm9yIGFsdGVybmF0ZSBwcm9jZXNzb3JzLiAgSXQgZ2V0cyBvdmVyd3JpdHRlbgorICogYnkgdGhlIGFib3ZlIG9uY2UgdGhlIHN5c3RlbSBoYXMgYWN0aXZhdGVkIGFsbCBhdmFpbGFibGUgcHJvY2Vzc29ycyAqLworI2RlZmluZSBWSUNfQ1BVX0JPT1RfQ1BJCQlWSUNfQ1BJX0xFVkVMMAorI2RlZmluZSBWSUNfQ1BVX0JPT1RfRVJSQVRBX0NQSQkJKFZJQ19DUElfTEVWRUwwICsgOCkKKworCisjZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxZmxhZ3MuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCmluZGV4IGMyNDI1MjcuLjQyNGFjYjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCkBAIC0xMTEsMTQgKzExMSwzNSBAQAogI2RlZmluZSBESVNBQkxFX0lOVEVSUlVQVFMoeCkJY2xpCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0CisjZGVmaW5lIFNXQVBHUwlzd2FwZ3MKKy8qCisgKiBDdXJyZW50bHkgcGFyYXZpcnQgY2FuJ3QgaGFuZGxlIHN3YXBncyBuaWNlbHkgd2hlbiB3ZQorICogZG9uJ3QgaGF2ZSBhIHN0YWNrIHdlIGNhbiByZWx5IG9uIChzdWNoIGFzIGEgdXNlciBzcGFjZQorICogc3RhY2spLiAgU28gd2UgZWl0aGVyIGZpbmQgYSB3YXkgYXJvdW5kIHRoZXNlIG9yIGp1c3QgZmF1bHQKKyAqIGFuZCBlbXVsYXRlIGlmIGEgZ3Vlc3QgdHJpZXMgdG8gY2FsbCBzd2FwZ3MgZGlyZWN0bHkuCisgKgorICogRWl0aGVyIHdheSwgdGhpcyBpcyBhIGdvb2Qgd2F5IHRvIGRvY3VtZW50IHRoYXQgd2UgZG9uJ3QKKyAqIGhhdmUgYSByZWxpYWJsZSBzdGFjay4geDg2XzY0IG9ubHkuCisgKi8KKyNkZWZpbmUgU1dBUEdTX1VOU0FGRV9TVEFDSwlzd2FwZ3MKKworI2RlZmluZSBQQVJBVklSVF9BREpVU1RfRVhDRVBUSU9OX0ZSQU1FCS8qICAqLworCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JaXJldHEKLSNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQJCQlcCi0JCQltb3ZxCSVnczpwZGFfb2xkcnNwLCAlcnNwOwlcCi0JCQlzd2FwZ3M7CQkJCVwKLQkJCXN5c3JldHE7CisjZGVmaW5lIFVTRVJHU19TWVNSRVQ2NAkJCQlcCisJc3dhcGdzOwkJCQkJXAorCXN5c3JldHE7CisjZGVmaW5lIFVTRVJHU19TWVNSRVQzMgkJCQlcCisJc3dhcGdzOwkJCQkJXAorCXN5c3JldGwKKyNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVDMyCQlcCisJc3dhcGdzOwkJCQkJXAorCXN0aTsJCQkJCVwKKwlzeXNleGl0CisKICNlbHNlCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JCWlyZXQKLSNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQJc3RpOyBzeXNleGl0CisjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQJc3RpOyBzeXNleGl0CiAjZGVmaW5lIEdFVF9DUjBfSU5UT19FQVgJCW1vdmwgJWNyMCwgJWVheAogI2VuZGlmCiAKQEAgLTE2OSwxOCArMTkwLDYgQEAKICNlbHNlCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci0vKgotICogQ3VycmVudGx5IHBhcmF2aXJ0IGNhbid0IGhhbmRsZSBzd2FwZ3MgbmljZWx5IHdoZW4gd2UKLSAqIGRvbid0IGhhdmUgYSBzdGFjayB3ZSBjYW4gcmVseSBvbiAoc3VjaCBhcyBhIHVzZXIgc3BhY2UKLSAqIHN0YWNrKS4gIFNvIHdlIGVpdGhlciBmaW5kIGEgd2F5IGFyb3VuZCB0aGVzZSBvciBqdXN0IGZhdWx0Ci0gKiBhbmQgZW11bGF0ZSBpZiBhIGd1ZXN0IHRyaWVzIHRvIGNhbGwgc3dhcGdzIGRpcmVjdGx5LgotICoKLSAqIEVpdGhlciB3YXksIHRoaXMgaXMgYSBnb29kIHdheSB0byBkb2N1bWVudCB0aGF0IHdlIGRvbid0Ci0gKiBoYXZlIGEgcmVsaWFibGUgc3RhY2suIHg4Nl82NCBvbmx5LgotICovCi0jZGVmaW5lIFNXQVBHU19VTlNBRkVfU1RBQ0sJc3dhcGdzCi0jZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PTgkJY2FsbCB0cmFjZV9oYXJkaXJxc19vbl90aHVuawotI2RlZmluZSBBUkNIX1RSQUNFX0lSUVNfT0ZGCQljYWxsIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuawogI2RlZmluZSBBUkNIX0xPQ0tERVBfU1lTX0VYSVQJCWNhbGwgbG9ja2RlcF9zeXNfZXhpdF90aHVuawogI2RlZmluZSBBUkNIX0xPQ0tERVBfU1lTX0VYSVRfSVJRCVwKIAlUUkFDRV9JUlFTX09OOyBcCkBAIC0xOTIsMjQgKzIwMSw2IEBACiAJVFJBQ0VfSVJRU19PRkY7CiAKICNlbHNlCi0jZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PTgkJCVwKLQlwdXNobCAlZWF4OwkJCQlcCi0JcHVzaGwgJWVjeDsJCQkJXAotCXB1c2hsICVlZHg7CQkJCVwKLQljYWxsIHRyYWNlX2hhcmRpcnFzX29uOwkJCVwKLQlwb3BsICVlZHg7CQkJCVwKLQlwb3BsICVlY3g7CQkJCVwKLQlwb3BsICVlYXg7Ci0KLSNkZWZpbmUgQVJDSF9UUkFDRV9JUlFTX09GRgkJCVwKLQlwdXNobCAlZWF4OwkJCQlcCi0JcHVzaGwgJWVjeDsJCQkJXAotCXB1c2hsICVlZHg7CQkJCVwKLQljYWxsIHRyYWNlX2hhcmRpcnFzX29mZjsJCVwKLQlwb3BsICVlZHg7CQkJCVwKLQlwb3BsICVlY3g7CQkJCVwKLQlwb3BsICVlYXg7Ci0KICNkZWZpbmUgQVJDSF9MT0NLREVQX1NZU19FWElUCQkJXAogCXB1c2hsICVlYXg7CQkJCVwKIAlwdXNobCAlZWN4OwkJCQlcCkBAIC0yMjMsOCArMjE0LDggQEAKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0jICBkZWZpbmUgVFJBQ0VfSVJRU19PTgkJQVJDSF9UUkFDRV9JUlFTX09OCi0jICBkZWZpbmUgVFJBQ0VfSVJRU19PRkYJQVJDSF9UUkFDRV9JUlFTX09GRgorIyAgZGVmaW5lIFRSQUNFX0lSUVNfT04JCWNhbGwgdHJhY2VfaGFyZGlycXNfb25fdGh1bms7CisjICBkZWZpbmUgVFJBQ0VfSVJRU19PRkYJY2FsbCB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bms7CiAjZWxzZQogIyAgZGVmaW5lIFRSQUNFX0lSUVNfT04KICMgIGRlZmluZSBUUkFDRV9JUlFTX09GRgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wL21hY2hfYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wL21hY2hfYXBpYy5oCmluZGV4IDgzMjc5MDcuLjAxN2M4YzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9hcGljLmgKQEAgLTgxLDcgKzgxLDcgQEAKIAogc3RhdGljIGlubGluZSBpbnQgYXBpY2lkX3RvX25vZGUoaW50IGxvZ2ljYWxfYXBpY2lkKQogewotCXJldHVybiAoMCk7CisJcmV0dXJuIGFwaWNpZF8yX25vZGVbaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCldOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBjcHVfcHJlc2VudF90b19hcGljaWQoaW50IG1wc19jcHUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9tcHNwZWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX21wc3BlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YjVkYWRjLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX21wc3BlYy5oCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0jaWZuZGVmIF9fQVNNX01BQ0hfTVBTUEVDX0gKLSNkZWZpbmUgX19BU01fTUFDSF9NUFNQRUNfSAotCi0jZGVmaW5lIE1BWF9JUlFfU09VUkNFUyAyNTYKLQotI2RlZmluZSBNQVhfTVBfQlVTU0VTIDMyCi0KLSNlbmRpZiAvKiBfX0FTTV9NQUNIX01QU1BFQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2VudHJ5X2FyY2guaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oCmluZGV4IGJjODYxNDYuLjkyODNiNjAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oCkBAIC0xMyw2ICsxMyw3IEBACiBCVUlMRF9JTlRFUlJVUFQocmVzY2hlZHVsZV9pbnRlcnJ1cHQsUkVTQ0hFRFVMRV9WRUNUT1IpCiBCVUlMRF9JTlRFUlJVUFQoaW52YWxpZGF0ZV9pbnRlcnJ1cHQsSU5WQUxJREFURV9UTEJfVkVDVE9SKQogQlVJTERfSU5URVJSVVBUKGNhbGxfZnVuY3Rpb25faW50ZXJydXB0LENBTExfRlVOQ1RJT05fVkVDVE9SKQorQlVJTERfSU5URVJSVVBUKGNhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCxDQUxMX0ZVTkNUSU9OX1NJTkdMRV9WRUNUT1IpCiAjZW5kaWYKIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODgxYzYzYy4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi0vKgotICogVGhpcyBmaWxlIHNob3VsZCBjb250YWluICNkZWZpbmVzIGZvciBhbGwgb2YgdGhlIGludGVycnVwdCB2ZWN0b3IKLSAqIG51bWJlcnMgdXNlZCBieSB0aGlzIGFyY2hpdGVjdHVyZS4KLSAqCi0gKiBJbiBhZGRpdGlvbiwgdGhlcmUgYXJlIHNvbWUgc3RhbmRhcmQgZGVmaW5lczoKLSAqCi0gKglGSVJTVF9FWFRFUk5BTF9WRUNUT1I6Ci0gKgkJVGhlIGZpcnN0IGZyZWUgcGxhY2UgZm9yIGV4dGVybmFsIGludGVycnVwdHMKLSAqCi0gKglTWVNDQUxMX1ZFQ1RPUjoKLSAqCQlUaGUgSVJRIHZlY3RvciBhIHN5c2NhbGwgbWFrZXMgdGhlIHVzZXIgdG8ga2VybmVsIHRyYW5zaXRpb24KLSAqCQl1bmRlci4KLSAqCi0gKglUSU1FUl9JUlE6Ci0gKgkJVGhlIElSUSBudW1iZXIgdGhlIHRpbWVyIGludGVycnVwdCBjb21lcyBpbiBhdC4KLSAqCi0gKglOUl9JUlFTOgotICoJCVRoZSB0b3RhbCBudW1iZXIgb2YgaW50ZXJydXB0IHZlY3RvcnMgKGluY2x1ZGluZyBhbGwgdGhlCi0gKgkJYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGludGVycnVwdHMpIG5lZWRlZC4KLSAqCi0gKi8JCQkKLSNpZm5kZWYgX0FTTV9JUlFfVkVDVE9SU19ICi0jZGVmaW5lIF9BU01fSVJRX1ZFQ1RPUlNfSAotCi0vKgotICogSURUIHZlY3RvcnMgdXNhYmxlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyBzdGFydAotICogYXQgMHgyMDoKLSAqLwotI2RlZmluZSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IJMHgyMAotCi0jZGVmaW5lIFNZU0NBTExfVkVDVE9SCQkweDgwCi0KLS8qCi0gKiBWZWN0b3JzIDB4MjAtMHgyZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMuCi0gKi8KLQotLyoKLSAqIFNwZWNpYWwgSVJRIHZlY3RvcnMgdXNlZCBieSB0aGUgU01QIGFyY2hpdGVjdHVyZSwgMHhmMC0weGZmCi0gKgotICogIHNvbWUgb2YgdGhlIGZvbGxvd2luZyB2ZWN0b3JzIGFyZSAncmFyZScsIHRoZXkgYXJlIG1lcmdlZAotICogIGludG8gYSBzaW5nbGUgdmVjdG9yIChDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikgdG8gc2F2ZSB2ZWN0b3Igc3BhY2UuCi0gKiAgVExCLCByZXNjaGVkdWxlIGFuZCBsb2NhbCBBUElDIHZlY3RvcnMgYXJlIHBlcmZvcm1hbmNlLWNyaXRpY2FsLgotICoKLSAqICBWZWN0b3JzIDB4ZjAtMHhmYSBhcmUgZnJlZSAocmVzZXJ2ZWQgZm9yIGZ1dHVyZSBMaW51eCB1c2UpLgotICovCi0jZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCTB4ZmYKLSNkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJMHhmZQotI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1IJMHhmZAotI2RlZmluZSBSRVNDSEVEVUxFX1ZFQ1RPUgkweGZjCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fVkVDVE9SCTB4ZmIKLQotI2RlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCTB4ZjAKLS8qCi0gKiBMb2NhbCBBUElDIHRpbWVyIElSUSB2ZWN0b3IgaXMgb24gYSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWwsCi0gKiB0byB3b3JrIGFyb3VuZCB0aGUgJ2xvc3QgbG9jYWwgaW50ZXJydXB0IGlmIG1vcmUgdGhhbiAyIElSUQotICogc291cmNlcyBwZXIgbGV2ZWwnIGVycmF0YS4KLSAqLwotI2RlZmluZSBMT0NBTF9USU1FUl9WRUNUT1IJMHhlZgotCi0vKgotICogRmlyc3QgQVBJQyB2ZWN0b3IgYXZhaWxhYmxlIHRvIGRyaXZlcnM6ICh2ZWN0b3JzIDB4MzAtMHhlZSkKLSAqIHdlIHN0YXJ0IGF0IDB4MzEgdG8gc3ByZWFkIG91dCB2ZWN0b3JzIGV2ZW5seSBiZXR3ZWVuIHByaW9yaXR5Ci0gKiBsZXZlbHMuICgweDgwIGlzIHRoZSBzeXNjYWxsIHZlY3RvcikKLSAqLwotI2RlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCTB4MzEKLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmCi0KLSNkZWZpbmUgVElNRVJfSVJRIDAKLQotLyoKLSAqIDE2IDgyNTlBIElSUSdzLCAyMDggcG90ZW50aWFsIEFQSUMgaW50ZXJydXB0IHNvdXJjZXMuCi0gKiBSaWdodCBub3cgdGhlIEFQSUMgaXMgbW9zdGx5IG9ubHkgdXNlZCBmb3IgU01QLgotICogMjU2IHZlY3RvcnMgaXMgYW4gYXJjaGl0ZWN0dXJhbCBsaW1pdC4gKHdlIGNhbiBoYXZlCi0gKiBtb3JlIHRoYW4gMjU2IGRldmljZXMgdGhlb3JldGljYWxseSwgYnV0IHRoZXkgd2lsbAotICogaGF2ZSB0byB1c2Ugc2hhcmVkIGludGVycnVwdHMpCi0gKiBTaW5jZSB2ZWN0b3JzIDB4MDAtMHgxZiBhcmUgdXNlZC9yZXNlcnZlZCBmb3IgdGhlIENQVSwKLSAqIHRoZSB1c2FibGUgdmVjdG9yIHNwYWNlIGlzIDB4MjAtMHhmZiAoMjI0IHZlY3RvcnMpCi0gKi8KLQotLyoKLSAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB2ZWN0b3JzIHN1cHBvcnRlZCBieSBpMzg2IHByb2Nlc3NvcnMKLSAqIGlzIGxpbWl0ZWQgdG8gMjU2LiBGb3IgcHJvY2Vzc29ycyBvdGhlciB0aGFuIGkzODYsIE5SX1ZFQ1RPUlMKLSAqIHNob3VsZCBiZSBjaGFuZ2VkIGFjY29yZGluZ2x5LgotICovCi0jZGVmaW5lIE5SX1ZFQ1RPUlMgMjU2Ci0KLSNpbmNsdWRlICJpcnFfdmVjdG9yc19saW1pdHMuaCIKLQotI2RlZmluZSBGUFVfSVJRCQkJMTMKLQotI2RlZmluZQlGSVJTVF9WTTg2X0lSUQkJMwotI2RlZmluZSBMQVNUX1ZNODZfSVJRCQkxNQotI2RlZmluZSBpbnZhbGlkX3ZtODZfaXJxKGlycSkJKChpcnEpIDwgMyB8fCAoaXJxKSA+IDE1KQotCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnNfbGltaXRzLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzX2xpbWl0cy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOTBjN2E2Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnNfbGltaXRzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0jaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfTElNSVRTX0gKLSNkZWZpbmUgX0FTTV9JUlFfVkVDVE9SU19MSU1JVFNfSAotCi0jaWYgZGVmaW5lZChDT05GSUdfWDg2X0lPX0FQSUMpIHx8IGRlZmluZWQoQ09ORklHX1BBUkFWSVJUKQotI2RlZmluZSBOUl9JUlFTIDIyNAotIyBpZiAoMjI0ID49IDMyICogTlJfQ1BVUykKLSMgZGVmaW5lIE5SX0lSUV9WRUNUT1JTIE5SX0lSUVMKLSMgZWxzZQotIyBkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgKDMyICogTlJfQ1BVUykKLSMgZW5kaWYKLSNlbHNlCi0jZGVmaW5lIE5SX0lSUVMgMTYKLSNkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgTlJfSVJRUwotI2VuZGlmCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0xJTUlUU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L21hY2hfYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9tYWNoX2FwaWMuaAppbmRleCAyMTAwM2I1Li4wYjJjZGU1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L21hY2hfYXBpYy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvbWFjaF9hcGljLmgKQEAgLTc3LDcgKzc3LDExIEBACiAKIHN0YXRpYyBpbmxpbmUgaW50IGFwaWNpZF90b19ub2RlKGludCBsb2dpY2FsX2FwaWNpZCkKIHsKKyNpZmRlZiBDT05GSUdfU01QCisJcmV0dXJuIGFwaWNpZF8yX25vZGVbaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCldOworI2Vsc2UKIAlyZXR1cm4gMDsKKyNlbmRpZgogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zZXR1cF9hcmNoLmgKaW5kZXggNjA1ZTNjYy4uMzg4NDYyMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zZXR1cF9hcmNoLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zZXR1cF9hcmNoLmgKQEAgLTEsNyArMSwzIEBACiAvKiBIb29rIHRvIGNhbGwgQklPUyBpbml0aWFsaXNhdGlvbiBmdW5jdGlvbiAqLwogCiAvKiBubyBhY3Rpb24gZm9yIGdlbmVyaWMgKi8KLQotI2lmbmRlZiBBUkNIX1NFVFVQCi0jZGVmaW5lIEFSQ0hfU0VUVVAKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zbXBib290X2hvb2tzLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaAppbmRleCA1NmQwZTFmLi41NmQwMDFiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaApAQCAtMyw3ICszLDkgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3RfY2xlYXJfaW9fYXBpY19pcnFzKHZvaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJaW9fYXBpY19pcnFzID0gMDsKKyNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9zZXR1cF93YXJtX3Jlc2V0X3ZlY3Rvcih1bnNpZ25lZCBsb25nIHN0YXJ0X2VpcCkKQEAgLTM1LDE3ICszNywyMyBAQAogCiBzdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHNtcGJvb3Rfc2V0dXBfaW9fYXBpYyh2b2lkKQogeworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCS8qCiAJICogSGVyZSB3ZSBjYW4gYmUgc3VyZSB0aGF0IHRoZXJlIGlzIGFuIElPLUFQSUMgaW4gdGhlIHN5c3RlbS4gTGV0J3MKIAkgKiBnbyBhbmQgc2V0IGl0IHVwOgogCSAqLwogCWlmICghc2tpcF9pb2FwaWNfc2V0dXAgJiYgbnJfaW9hcGljcykKIAkJc2V0dXBfSU9fQVBJQygpOwotCWVsc2UKKwllbHNlIHsKIAkJbnJfaW9hcGljcyA9IDA7CisJCWxvY2FsaXNlX25taV93YXRjaGRvZygpOworCX0KKyNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9jbGVhcl9pb19hcGljKHZvaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJbnJfaW9hcGljcyA9IDA7CisjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWVzNzAwMC9tYWNoX21wc3BlYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZXM3MDAwL21hY2hfbXBzcGVjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxZjUwMzkuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZXM3MDAwL21hY2hfbXBzcGVjLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLSNpZm5kZWYgX19BU01fTUFDSF9NUFNQRUNfSAotI2RlZmluZSBfX0FTTV9NQUNIX01QU1BFQ19ICi0KLSNkZWZpbmUgTUFYX0lSUV9TT1VSQ0VTIDI1NgotCi0jZGVmaW5lIE1BWF9NUF9CVVNTRVMgMjU2Ci0KLSNlbmRpZiAvKiBfX0FTTV9NQUNIX01QU1BFQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljL21hY2hfbXBwYXJzZS5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYy9tYWNoX21wcGFyc2UuaAppbmRleCAwZDBiNWJhLi41ODZjYWRiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljL21hY2hfbXBwYXJzZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWdlbmVyaWMvbWFjaF9tcHBhcnNlLmgKQEAgLTEsNyArMSwxMCBAQAogI2lmbmRlZiBfTUFDSF9NUFBBUlNFX0gKICNkZWZpbmUgX01BQ0hfTVBQQVJTRV9IIDEKIAotaW50IG1wc19vZW1fY2hlY2soc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sIGNoYXIgKnByb2R1Y3RpZCk7IAotaW50IGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpOyAKKworZXh0ZXJuIGludCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQkJIGNoYXIgKnByb2R1Y3RpZCk7CisKK2V4dGVybiBpbnQgYWNwaV9tYWR0X29lbV9jaGVjayhjaGFyICpvZW1faWQsIGNoYXIgKm9lbV90YWJsZV9pZCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9hcGljLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX2FwaWMuaAppbmRleCA3NWE1NmU1Li5kODAyNDY1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX2FwaWMuaApAQCAtMjAsOCArMjAsMTQgQEAKICNkZWZpbmUgSU5UX0RFTElWRVJZX01PREUgZGVzdF9Mb3dlc3RQcmlvCiAjZGVmaW5lIElOVF9ERVNUX01PREUgMCAgICAgLyogcGh5c2ljYWwgZGVsaXZlcnkgb24gTE9DQUwgcXVhZCAqLwogIAotI2RlZmluZSBjaGVja19hcGljaWRfdXNlZChiaXRtYXAsIGFwaWNpZCkgcGh5c2lkX2lzc2V0KGFwaWNpZCwgYml0bWFwKQotI2RlZmluZSBjaGVja19hcGljaWRfcHJlc2VudChiaXQpIHBoeXNpZF9pc3NldChiaXQsIHBoeXNfY3B1X3ByZXNlbnRfbWFwKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGNoZWNrX2FwaWNpZF91c2VkKHBoeXNpZF9tYXNrX3QgYml0bWFwLCBpbnQgYXBpY2lkKQoreworCXJldHVybiBwaHlzaWRfaXNzZXQoYXBpY2lkLCBiaXRtYXApOworfQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGNoZWNrX2FwaWNpZF9wcmVzZW50KGludCBiaXQpCit7CisJcmV0dXJuIHBoeXNpZF9pc3NldChiaXQsIHBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKK30KICNkZWZpbmUgYXBpY2lkX2NsdXN0ZXIoYXBpY2lkKSAoYXBpY2lkICYgMHhGMCkKIAogc3RhdGljIGlubGluZSBpbnQgYXBpY19pZF9yZWdpc3RlcmVkKHZvaWQpCkBAIC03NywxMSArODMsNiBAQAogCQlyZXR1cm4gQkFEX0FQSUNJRDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgZ2VuZXJhdGVfbG9naWNhbF9hcGljaWQoaW50IHF1YWQsIGludCBwaHlzX2FwaWNpZCkKLXsKLQlyZXR1cm4gKHF1YWQgPDwgNCkgKyAocGh5c19hcGljaWQgPyBwaHlzX2FwaWNpZCA8PCAxIDogMSk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgaW50IGFwaWNpZF90b19ub2RlKGludCBsb2dpY2FsX2FwaWNpZCkgCiB7CiAJcmV0dXJuIGxvZ2ljYWxfYXBpY2lkID4+IDQ7CkBAIC05NSwzMCArOTYsNiBAQAogCXJldHVybiBwaHlzaWRfbWFza19vZl9waHlzaWQoY3B1ICsgNCpub2RlKTsKIH0KIAotc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gewotCXVuc2lnbmVkIGNoYXIgbXBjX3R5cGU7Ci0JdW5zaWduZWQgY2hhciB0cmFuc19sZW47Ci0JdW5zaWduZWQgY2hhciB0cmFuc190eXBlOwotCXVuc2lnbmVkIGNoYXIgdHJhbnNfcXVhZDsKLQl1bnNpZ25lZCBjaGFyIHRyYW5zX2dsb2JhbDsKLQl1bnNpZ25lZCBjaGFyIHRyYW5zX2xvY2FsOwotCXVuc2lnbmVkIHNob3J0IHRyYW5zX3Jlc2VydmVkOwotfTsKLQotc3RhdGljIGlubGluZSBpbnQgbXBjX2FwaWNfaWQoc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptLCAKLQkJCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbl9yZWNvcmQpCi17Ci0JaW50IHF1YWQgPSB0cmFuc2xhdGlvbl9yZWNvcmQtPnRyYW5zX3F1YWQ7Ci0JaW50IGxvZ2ljYWxfYXBpY2lkID0gZ2VuZXJhdGVfbG9naWNhbF9hcGljaWQocXVhZCwgbS0+bXBjX2FwaWNpZCk7Ci0KLQlwcmludGsoIlByb2Nlc3NvciAjJWQgJXU6JXUgQVBJQyB2ZXJzaW9uICVkIChxdWFkICVkLCBhcGljICVkKVxuIiwKLQkgICAgICAgbS0+bXBjX2FwaWNpZCwKLQkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX0ZBTUlMWV9NQVNLKSA+PiA4LAotCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfTU9ERUxfTUFTSykgPj4gNCwKLQkgICAgICAgbS0+bXBjX2FwaWN2ZXIsIHF1YWQsIGxvZ2ljYWxfYXBpY2lkKTsKLQlyZXR1cm4gbG9naWNhbF9hcGljaWQ7Ci19Ci0KIGV4dGVybiB2b2lkICp4cXVhZF9wb3J0aW87CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXR1cF9wb3J0aW9fcmVtYXAodm9pZCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBwYXJzZS5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmgKaW5kZXggNDU5YjEyNC4uNjI2YWVmNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmgKQEAgLTEsMTQgKzEsNyBAQAogI2lmbmRlZiBfX0FTTV9NQUNIX01QUEFSU0VfSAogI2RlZmluZSBfX0FTTV9NQUNIX01QUEFSU0VfSAogCi1leHRlcm4gdm9pZCBtcGNfb2VtX2J1c19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwgY2hhciAqbmFtZSwKLQkJCSAgICAgc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uKTsKLWV4dGVybiB2b2lkIG1wY19vZW1fcGNpX2J1cyhzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0sCi0Jc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uKTsKLQotLyogSG9vayBmcm9tIGdlbmVyaWMgQUNQSSB0YWJsZXMuYyAqLwotc3RhdGljIGlubGluZSB2b2lkIGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpCi17Ci19CitleHRlcm4gdm9pZCBudW1hcV9tcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQkJCWNoYXIgKnByb2R1Y3RpZCk7CiAKICNlbmRpZiAvKiBfX0FTTV9NQUNIX01QUEFSU0VfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHNwZWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBzcGVjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmZmIwOTguLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHNwZWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX01QU1BFQ19ICi0jZGVmaW5lIF9fQVNNX01BQ0hfTVBTUEVDX0gKLQotI2RlZmluZSBNQVhfSVJRX1NPVVJDRVMgNTEyCi0KLSNkZWZpbmUgTUFYX01QX0JVU1NFUyAzMgotCi0jZW5kaWYgLyogX19BU01fTUFDSF9NUFNQRUNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtc3VtbWl0L21hY2hfbXBzcGVjLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1zdW1taXQvbWFjaF9tcHNwZWMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQ3NjU1Mi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1zdW1taXQvbWFjaF9tcHNwZWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX01QU1BFQ19ICi0jZGVmaW5lIF9fQVNNX01BQ0hfTVBTUEVDX0gKLQotI2RlZmluZSBNQVhfSVJRX1NPVVJDRVMgMjU2Ci0KLS8qIE1heGltdW0gMjU2IFBDSSBidXNzZXMsIHBsdXMgMSBJU0EgYnVzIGluIGVhY2ggb2YgNCBjYWJpbmV0cy4gKi8KLSNkZWZpbmUgTUFYX01QX0JVU1NFUyAyNjAKLQotI2VuZGlmIC8qIF9fQVNNX01BQ0hfTVBTUEVDX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2VudHJ5X2FyY2guaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2VudHJ5X2FyY2guaAppbmRleCBiMTgzZmE2Li44NmJlNTU0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9lbnRyeV9hcmNoLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvZW50cnlfYXJjaC5oCkBAIC0xLDIzICsxLDUgQEAKIC8qCi0gKiBUaGUgZm9sbG93aW5nIHZlY3RvcnMgYXJlIHBhcnQgb2YgdGhlIExpbnV4IGFyY2hpdGVjdHVyZSwgdGhlcmUKLSAqIGlzIG5vIGhhcmR3YXJlIElSUSBwaW4gZXF1aXZhbGVudCBmb3IgdGhlbSwgdGhleSBhcmUgdHJpZ2dlcmVkCi0gKiB0aHJvdWdoIHRoZSBJQ0MgYnkgdXMgKElQSXMpCisgKiBWSVNXUyB1c2VzIHRoZSBzdGFuZGFyZCBMaW51eCBlbnRyeSBwb2ludHM6CiAgKi8KLSNpZmRlZiBDT05GSUdfWDg2X1NNUAotQlVJTERfSU5URVJSVVBUKHJlc2NoZWR1bGVfaW50ZXJydXB0LFJFU0NIRURVTEVfVkVDVE9SKQotQlVJTERfSU5URVJSVVBUKGludmFsaWRhdGVfaW50ZXJydXB0LElOVkFMSURBVEVfVExCX1ZFQ1RPUikKLUJVSUxEX0lOVEVSUlVQVChjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCxDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikKLSNlbmRpZgogCi0vKgotICogZXZlcnkgcGVudGl1bSBsb2NhbCBBUElDIGhhcyB0d28gJ2xvY2FsIGludGVycnVwdHMnLCB3aXRoIGEKLSAqIHNvZnQtZGVmaW5hYmxlIHZlY3RvciBhdHRhY2hlZCB0byBib3RoIGludGVycnVwdHMsIG9uZSBvZgotICogd2hpY2ggaXMgYSB0aW1lciBpbnRlcnJ1cHQsIHRoZSBvdGhlciBvbmUgaXMgZXJyb3IgY291bnRlcgotICogb3ZlcmZsb3cuIExpbnV4IHVzZXMgdGhlIGxvY2FsIEFQSUMgdGltZXIgaW50ZXJydXB0IHRvIGdldAotICogYSBtdWNoIHNpbXBsZXIgU01QIHRpbWUgYXJjaGl0ZWN0dXJlOgotICovCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi1CVUlMRF9JTlRFUlJVUFQoYXBpY190aW1lcl9pbnRlcnJ1cHQsTE9DQUxfVElNRVJfVkVDVE9SKQotQlVJTERfSU5URVJSVVBUKGVycm9yX2ludGVycnVwdCxFUlJPUl9BUElDX1ZFQ1RPUikKLUJVSUxEX0lOVEVSUlVQVChzcHVyaW91c19pbnRlcnJ1cHQsU1BVUklPVVNfQVBJQ19WRUNUT1IpCi0jZW5kaWYKKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oIgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvaXJxX3ZlY3RvcnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2lycV92ZWN0b3JzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiNTcyZDguLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvaXJxX3ZlY3RvcnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLSNpZm5kZWYgX0FTTV9JUlFfVkVDVE9SU19ICi0jZGVmaW5lIF9BU01fSVJRX1ZFQ1RPUlNfSAotCi0vKgotICogSURUIHZlY3RvcnMgdXNhYmxlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyBzdGFydAotICogYXQgMHgyMDoKLSAqLwotI2RlZmluZSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IJMHgyMAotCi0jZGVmaW5lIFNZU0NBTExfVkVDVE9SCQkweDgwCi0KLS8qCi0gKiBWZWN0b3JzIDB4MjAtMHgyZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMuCi0gKi8KLQotLyoKLSAqIFNwZWNpYWwgSVJRIHZlY3RvcnMgdXNlZCBieSB0aGUgU01QIGFyY2hpdGVjdHVyZSwgMHhmMC0weGZmCi0gKgotICogIHNvbWUgb2YgdGhlIGZvbGxvd2luZyB2ZWN0b3JzIGFyZSAncmFyZScsIHRoZXkgYXJlIG1lcmdlZAotICogIGludG8gYSBzaW5nbGUgdmVjdG9yIChDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikgdG8gc2F2ZSB2ZWN0b3Igc3BhY2UuCi0gKiAgVExCLCByZXNjaGVkdWxlIGFuZCBsb2NhbCBBUElDIHZlY3RvcnMgYXJlIHBlcmZvcm1hbmNlLWNyaXRpY2FsLgotICoKLSAqICBWZWN0b3JzIDB4ZjAtMHhmYSBhcmUgZnJlZSAocmVzZXJ2ZWQgZm9yIGZ1dHVyZSBMaW51eCB1c2UpLgotICovCi0jZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCTB4ZmYKLSNkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJMHhmZQotI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1IJMHhmZAotI2RlZmluZSBSRVNDSEVEVUxFX1ZFQ1RPUgkweGZjCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fVkVDVE9SCTB4ZmIKLQotI2RlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCTB4ZjAKLS8qCi0gKiBMb2NhbCBBUElDIHRpbWVyIElSUSB2ZWN0b3IgaXMgb24gYSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWwsCi0gKiB0byB3b3JrIGFyb3VuZCB0aGUgJ2xvc3QgbG9jYWwgaW50ZXJydXB0IGlmIG1vcmUgdGhhbiAyIElSUQotICogc291cmNlcyBwZXIgbGV2ZWwnIGVycmF0YS4KLSAqLwotI2RlZmluZSBMT0NBTF9USU1FUl9WRUNUT1IJMHhlZgotCi0vKgotICogRmlyc3QgQVBJQyB2ZWN0b3IgYXZhaWxhYmxlIHRvIGRyaXZlcnM6ICh2ZWN0b3JzIDB4MzAtMHhlZSkKLSAqIHdlIHN0YXJ0IGF0IDB4MzEgdG8gc3ByZWFkIG91dCB2ZWN0b3JzIGV2ZW5seSBiZXR3ZWVuIHByaW9yaXR5Ci0gKiBsZXZlbHMuICgweDgwIGlzIHRoZSBzeXNjYWxsIHZlY3RvcikKLSAqLwotI2RlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCTB4MzEKLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmCi0KLSNkZWZpbmUgVElNRVJfSVJRIDAKLQotLyoKLSAqIElSUSBkZWZpbml0aW9ucwotICovCi0jZGVmaW5lIE5SX1ZFQ1RPUlMgMjU2Ci0jZGVmaW5lIE5SX0lSUVMgMjI0Ci0jZGVmaW5lIE5SX0lSUV9WRUNUT1JTIE5SX0lSUVMKLQotI2RlZmluZSBGUFVfSVJRCQkJMTMKLQotI2RlZmluZQlGSVJTVF9WTTg2X0lSUQkJMwotI2RlZmluZSBMQVNUX1ZNODZfSVJRCQkxNQotI2RlZmluZSBpbnZhbGlkX3ZtODZfaXJxKGlycSkJKChpcnEpIDwgMyB8fCAoaXJxKSA+IDE1KQotCi0jZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpYy5oCmluZGV4IGE5ZWYzM2EuLjY5NDNlN2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpYy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpYy5oCkBAIC0xLDEwMyArMSBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX0FQSUNfSAotI2RlZmluZSBfX0FTTV9NQUNIX0FQSUNfSAotCi0jaW5jbHVkZSA8bWFjaF9hcGljZGVmLmg+Ci0jaW5jbHVkZSA8YXNtL3NtcC5oPgotCi0jZGVmaW5lIEFQSUNfREZSX1ZBTFVFCShBUElDX0RGUl9GTEFUKQotCi0jZGVmaW5lIG5vX2JhbGFuY2VfaXJxICgwKQotI2RlZmluZSBlc3JfZGlzYWJsZSAoMCkKLQotI2RlZmluZSBJTlRfREVMSVZFUllfTU9ERSBkZXN0X0xvd2VzdFByaW8KLSNkZWZpbmUgSU5UX0RFU1RfTU9ERSAxICAgICAvKiBsb2dpY2FsIGRlbGl2ZXJ5IGJyb2FkY2FzdCB0byBhbGwgcHJvY3MgKi8KLQotI2lmZGVmIENPTkZJR19TTVAKLSAjZGVmaW5lIFRBUkdFVF9DUFVTIGNwdV9vbmxpbmVfbWFwCi0jZWxzZQotICNkZWZpbmUgVEFSR0VUX0NQVVMgY3B1bWFza19vZl9jcHUoMCkKLSNlbmRpZgotCi0jZGVmaW5lIGNoZWNrX2FwaWNpZF91c2VkKGJpdG1hcCwgYXBpY2lkKQlwaHlzaWRfaXNzZXQoYXBpY2lkLCBiaXRtYXApCi0jZGVmaW5lIGNoZWNrX2FwaWNpZF9wcmVzZW50KGJpdCkJCXBoeXNpZF9pc3NldChiaXQsIHBoeXNfY3B1X3ByZXNlbnRfbWFwKQotCi1zdGF0aWMgaW5saW5lIGludCBhcGljX2lkX3JlZ2lzdGVyZWQodm9pZCkKLXsKLQlyZXR1cm4gcGh5c2lkX2lzc2V0KEdFVF9BUElDX0lEKHJlYWRfYXBpY19pZCgpKSwgcGh5c19jcHVfcHJlc2VudF9tYXApOwotfQotCi0vKgotICogU2V0IHVwIHRoZSBsb2dpY2FsIGRlc3RpbmF0aW9uIElELgotICoKLSAqIEludGVsIHJlY29tbWVuZHMgdG8gc2V0IERGUiwgTERSIGFuZCBUUFIgYmVmb3JlIGVuYWJsaW5nCi0gKiBhbiBBUElDLiAgU2VlIGUuZy4gIkFQLTM4OCA4MjQ4OURYIFVzZXIncyBNYW51YWwiIChJbnRlbAotICogZG9jdW1lbnQgbnVtYmVyIDI5MjExNikuICBTbyBoZXJlIGl0IGdvZXMuLi4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGluaXRfYXBpY19sZHIodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHZhbDsKLQotCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfREZSLCBBUElDX0RGUl9WQUxVRSk7Ci0JdmFsID0gYXBpY19yZWFkKEFQSUNfTERSKSAmIH5BUElDX0xEUl9NQVNLOwotCXZhbCB8PSBTRVRfQVBJQ19MT0dJQ0FMX0lEKDFVTCA8PCBzbXBfcHJvY2Vzc29yX2lkKCkpOwotCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTERSLCB2YWwpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgc3VtbWl0X2NoZWNrKGNoYXIgKm9lbSwgY2hhciAqcHJvZHVjdGlkKSAKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHNldHVwX2FwaWNfcm91dGluZyh2b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIGludCBhcGljaWRfdG9fbm9kZShpbnQgbG9naWNhbF9hcGljaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qIE1hcHBpbmcgZnJvbSBjcHUgbnVtYmVyIHRvIGxvZ2ljYWwgYXBpY2lkICovCi1zdGF0aWMgaW5saW5lIGludCBjcHVfdG9fbG9naWNhbF9hcGljaWQoaW50IGNwdSkKLXsKLQlyZXR1cm4gMSA8PCBjcHU7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGNwdV9wcmVzZW50X3RvX2FwaWNpZChpbnQgbXBzX2NwdSkKLXsKLQlpZiAobXBzX2NwdSA8IGdldF9waHlzaWNhbF9icm9hZGNhc3QoKSkKLQkJcmV0dXJuIG1wc19jcHU7Ci0JZWxzZQotCQlyZXR1cm4gQkFEX0FQSUNJRDsKLX0KLQotc3RhdGljIGlubGluZSBwaHlzaWRfbWFza190IGFwaWNpZF90b19jcHVfcHJlc2VudChpbnQgYXBpY2lkKQotewotCXJldHVybiBwaHlzaWRfbWFza19vZl9waHlzaWQoYXBpY2lkKTsKLX0KLQotI2RlZmluZSBXQUtFX1NFQ09OREFSWV9WSUFfSU5JVAotCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfcG9ydGlvX3JlbWFwKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBlbmFibGVfYXBpY19tb2RlKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGNoZWNrX3BoeXNfYXBpY2lkX3ByZXNlbnQoaW50IGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCkKLXsKLQlyZXR1cm4gcGh5c2lkX2lzc2V0KGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCwgcGh5c19jcHVfcHJlc2VudF9tYXApOwotfQotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBjcHVfbWFza190b19hcGljaWQoY3B1bWFza190IGNwdW1hc2spCi17Ci0JcmV0dXJuIGNwdXNfYWRkcihjcHVtYXNrKVswXTsKLX0KLQotc3RhdGljIGlubGluZSB1MzIgcGh5c19wa2dfaWQodTMyIGNwdWlkX2FwaWMsIGludCBpbmRleF9tc2IpCi17Ci0JcmV0dXJuIGNwdWlkX2FwaWMgPj4gaW5kZXhfbXNiOwotfQotCi0jZW5kaWYgLyogX19BU01fTUFDSF9BUElDX0ggKi8KKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvbWFjaF9hcGljLmgiCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWNkZWYuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpY2RlZi5oCmluZGV4IDgyNmNmYTkuLjQyNzExZDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpY2RlZi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpY2RlZi5oCkBAIC0xLDEyICsxIEBACi0jaWZuZGVmIF9fQVNNX01BQ0hfQVBJQ0RFRl9ICi0jZGVmaW5lIF9fQVNNX01BQ0hfQVBJQ0RFRl9ICi0KLSNkZWZpbmUgICAgICAgICBBUElDX0lEX01BU0sgICAgICAgICAgICAoMHhGPDwyNCkKLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBnZXRfYXBpY19pZCh1bnNpZ25lZCBsb25nIHgpCi17Ci0JICAgICAgICByZXR1cm4gKCgoeCk+PjI0KSYweEYpOwotfQotI2RlZmluZSAgICAgICAgIEdFVF9BUElDX0lEKHgpICBnZXRfYXBpY19pZCh4KQotCi0jZW5kaWYKKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvbWFjaF9hcGljZGVmLmgiCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zZXR1cF9hcmNoLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zZXR1cF9hcmNoLmgKaW5kZXggMzNmNzAwZS4uZmE0NzY2YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc2V0dXBfYXJjaC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NldHVwX2FyY2guaApAQCAtMSw4ICsxIEBACi0vKiBIb29rIHRvIGNhbGwgQklPUyBpbml0aWFsaXNhdGlvbiBmdW5jdGlvbiAqLwotCi1leHRlcm4gdW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9waHlzOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fc2l6ZTsKLQotLyogbm8gYWN0aW9uIGZvciB2aXN3cyAqLwotCi0jZGVmaW5lIEFSQ0hfU0VUVVAKKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oIgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc21wYm9vdF9ob29rcy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc21wYm9vdF9ob29rcy5oCmluZGV4IGM5YjgzZTMuLmU0NDMzY2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NtcGJvb3RfaG9va3MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zbXBib290X2hvb2tzLmgKQEAgLTEsMjggKzEgQEAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X3NldHVwX3dhcm1fcmVzZXRfdmVjdG9yKHVuc2lnbmVkIGxvbmcgc3RhcnRfZWlwKQotewotCUNNT1NfV1JJVEUoMHhhLCAweGYpOwotCWxvY2FsX2ZsdXNoX3RsYigpOwotCURwcmludGsoIjEuXG4iKTsKLQkqKCh2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAqKSBUUkFNUE9MSU5FX0hJR0gpID0gc3RhcnRfZWlwID4+IDQ7Ci0JRHByaW50aygiMi5cbiIpOwotCSooKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICopIFRSQU1QT0xJTkVfTE9XKSA9IHN0YXJ0X2VpcCAmIDB4ZjsKLQlEcHJpbnRrKCIzLlxuIik7Ci19Ci0KLS8qIGZvciB2aXN3cyBkbyBub3RoaW5nIGZvciBhbnkgb2YgdGhlc2UgKi8KLQotc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3RfY2xlYXJfaW9fYXBpY19pcnFzKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X3Jlc3RvcmVfd2FybV9yZXNldF92ZWN0b3Iodm9pZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3Rfc2V0dXBfaW9fYXBpYyh2b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9jbGVhcl9pb19hcGljKHZvaWQpCi17Ci19CisjaW5jbHVkZSAiLi4vbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaCIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvZW50cnlfYXJjaC5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9lbnRyeV9hcmNoLmgKaW5kZXggNGExZTFlOC4uYWU1MjYyNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9lbnRyeV9hcmNoLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9lbnRyeV9hcmNoLmgKQEAgLTIzLDQgKzIzLDQgQEAKIEJVSUxEX0lOVEVSUlVQVChxaWNfcmVzY2hlZHVsZV9pbnRlcnJ1cHQsIFFJQ19SRVNDSEVEVUxFX0NQSSk7CiBCVUlMRF9JTlRFUlJVUFQocWljX2VuYWJsZV9pcnFfaW50ZXJydXB0LCBRSUNfRU5BQkxFX0lSUV9DUEkpOwogQlVJTERfSU5URVJSVVBUKHFpY19jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCwgUUlDX0NBTExfRlVOQ1RJT05fQ1BJKTsKLQorQlVJTERfSU5URVJSVVBUKHFpY19jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQsIFFJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9pcnFfdmVjdG9ycy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9pcnFfdmVjdG9ycy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjU0MjFmLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvaXJxX3ZlY3RvcnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLS8qIC0qLSBtb2RlOiBjOyBjLWJhc2ljLW9mZnNldDogOCAtKi0gKi8KLQotLyogQ29weXJpZ2h0IChDKSAyMDAyCi0gKgotICogQXV0aG9yOiBKYW1lcy5Cb3R0b21sZXlASGFuc2VuUGFydG5lcnNoaXAuY29tCi0gKgotICogbGludXgvYXJjaC9pMzg2L3ZveWFnZXIvaXJxX3ZlY3RvcnMuaAotICoKLSAqIFRoaXMgZmlsZSBwcm92aWRlcyBkZWZpbml0aW9ucyBmb3IgdGhlIFZJQyBhbmQgUUlDIENQSXMKLSAqLwotCi0jaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfSAotI2RlZmluZSBfQVNNX0lSUV9WRUNUT1JTX0gKLQotLyoKLSAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKLSAqIGF0IDB4MjA6Ci0gKi8KLSNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKLQotI2RlZmluZSBTWVNDQUxMX1ZFQ1RPUgkJMHg4MAotCi0vKgotICogVmVjdG9ycyAweDIwLTB4MmYgYXJlIHVzZWQgZm9yIElTQSBpbnRlcnJ1cHRzLgotICovCi0KLS8qIFRoZXNlIGRlZmluZSB0aGUgQ1BJcyB3ZSB1c2UgaW4gbGludXggKi8KLSNkZWZpbmUgVklDX0NQSV9MRVZFTDAJCQkwCi0jZGVmaW5lIFZJQ19DUElfTEVWRUwxCQkJMQotLyogbm93IHRoZSBmYWtlIENQSXMgKi8KLSNkZWZpbmUgVklDX1RJTUVSX0NQSQkJCTIKLSNkZWZpbmUgVklDX0lOVkFMSURBVEVfQ1BJCQkzCi0jZGVmaW5lIFZJQ19SRVNDSEVEVUxFX0NQSQkJNAotI2RlZmluZSBWSUNfRU5BQkxFX0lSUV9DUEkJCTUKLSNkZWZpbmUgVklDX0NBTExfRlVOQ1RJT05fQ1BJCQk2Ci0KLS8qIE5vdyB0aGUgUUlDIENQSXM6ICBTaW5jZSB3ZSBkb24ndCBuZWVkIHRoZSB0d28gaW5pdGlhbCBsZXZlbHMsCi0gKiB0aGVzZSBhcmUgMiBsZXNzIHRoYW4gdGhlIFZJQyBDUElzICovCi0jZGVmaW5lIFFJQ19DUElfT0ZGU0VUCQkJMQotI2RlZmluZSBRSUNfVElNRVJfQ1BJCQkJKFZJQ19USU1FUl9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKLSNkZWZpbmUgUUlDX0lOVkFMSURBVEVfQ1BJCQkoVklDX0lOVkFMSURBVEVfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCi0jZGVmaW5lIFFJQ19SRVNDSEVEVUxFX0NQSQkJKFZJQ19SRVNDSEVEVUxFX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQotI2RlZmluZSBRSUNfRU5BQkxFX0lSUV9DUEkJCShWSUNfRU5BQkxFX0lSUV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKLSNkZWZpbmUgUUlDX0NBTExfRlVOQ1RJT05fQ1BJCQkoVklDX0NBTExfRlVOQ1RJT05fQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCi0KLSNkZWZpbmUgVklDX1NUQVJUX0ZBS0VfQ1BJCQlWSUNfVElNRVJfQ1BJCi0jZGVmaW5lIFZJQ19FTkRfRkFLRV9DUEkJCVZJQ19DQUxMX0ZVTkNUSU9OX0NQSQotCi0vKiB0aGlzIGlzIHRoZSBTWVNfSU5UIENQSS4gKi8KLSNkZWZpbmUgVklDX1NZU19JTlQJCQk4Ci0jZGVmaW5lIFZJQ19DTU5fSU5UCQkJMTUKLQotLyogVGhpcyBpcyB0aGUgYm9vdCBDUEkgZm9yIGFsdGVybmF0ZSBwcm9jZXNzb3JzLiAgSXQgZ2V0cyBvdmVyd3JpdHRlbgotICogYnkgdGhlIGFib3ZlIG9uY2UgdGhlIHN5c3RlbSBoYXMgYWN0aXZhdGVkIGFsbCBhdmFpbGFibGUgcHJvY2Vzc29ycyAqLwotI2RlZmluZSBWSUNfQ1BVX0JPT1RfQ1BJCQlWSUNfQ1BJX0xFVkVMMAotI2RlZmluZSBWSUNfQ1BVX0JPT1RfRVJSQVRBX0NQSQkJKFZJQ19DUElfTEVWRUwwICsgOCkKLQotI2RlZmluZSBOUl9WRUNUT1JTIDI1NgotI2RlZmluZSBOUl9JUlFTIDIyNAotI2RlZmluZSBOUl9JUlFfVkVDVE9SUyBOUl9JUlFTCi0KLSNkZWZpbmUgRlBVX0lSUQkJCQkxMwotCi0jZGVmaW5lCUZJUlNUX1ZNODZfSVJRCQkzCi0jZGVmaW5lIExBU1RfVk04Nl9JUlEJCTE1Ci0jZGVmaW5lIGludmFsaWRfdm04Nl9pcnEoaXJxKQkoKGlycSkgPCAzIHx8IChpcnEpID4gMTUpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHZpY19jcGlfaW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCB2aWNfc3lzX2ludGVycnVwdCh2b2lkKTsKLWV4dGVybiBhc21saW5rYWdlIHZvaWQgdmljX2Ntbl9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY190aW1lcl9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19pbnZhbGlkYXRlX2ludGVycnVwdCh2b2lkKTsKLWV4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX3Jlc2NoZWR1bGVfaW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfZW5hYmxlX2lycV9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLSNlbmRpZiAvKiAhX19BU1NFTUJMWV9fICovCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbWNvbmZpZy5oIGIvaW5jbHVkZS9hc20teDg2L21tY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTViZWRhMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tbWNvbmZpZy5oCkBAIC0wLDAgKzEsMTIgQEAKKyNpZm5kZWYgX0FTTV9NTUNPTkZJR19ICisjZGVmaW5lIF9BU01fTU1DT05GSUdfSAorCisjaWZkZWYgQ09ORklHX1BDSV9NTUNPTkZJRworZXh0ZXJuIHZvaWQgX19jcHVpbml0IGZhbTEwaF9jaGVja19lbmFibGVfbW1jZmcodm9pZCk7CitleHRlcm4gdm9pZCBfX2luaXQgY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKHZvaWQpIHsgfQorc3RhdGljIGlubGluZSB2b2lkIGNoZWNrX2VuYWJsZV9hbWRfbW1jb25mX2RtaSh2b2lkKSB7IH0KKyNlbmRpZgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbXVfY29udGV4dC5oIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKaW5kZXggNjU5ODQ1MC4uZmFjNTcwMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKQEAgLTEsNSArMSwzNyBAQAorI2lmbmRlZiBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSAorI2RlZmluZSBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSAorCisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KKyNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKyNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KKworc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X2FjdGl2YXRlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKnByZXYsCisJCQkJCXN0cnVjdCBtbV9zdHJ1Y3QgKm5leHQpCit7Cit9CisjZW5kaWYJLyogIUNPTkZJR19QQVJBVklSVCAqLworCisvKgorICogVXNlZCBmb3IgTERUIGNvcHkvZGVzdHJ1Y3Rpb24uCisgKi8KK2ludCBpbml0X25ld19jb250ZXh0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSk7Cit2b2lkIGRlc3Ryb3lfY29udGV4dChzdHJ1Y3QgbW1fc3RydWN0ICptbSk7CisKICNpZmRlZiBDT05GSUdfWDg2XzMyCiAjIGluY2x1ZGUgIm1tdV9jb250ZXh0XzMyLmgiCiAjZWxzZQogIyBpbmNsdWRlICJtbXVfY29udGV4dF82NC5oIgogI2VuZGlmCisKKyNkZWZpbmUgYWN0aXZhdGVfbW0ocHJldiwgbmV4dCkJCQlcCitkbyB7CQkJCQkJXAorCXBhcmF2aXJ0X2FjdGl2YXRlX21tKChwcmV2KSwgKG5leHQpKTsJXAorCXN3aXRjaF9tbSgocHJldiksIChuZXh0KSwgTlVMTCk7CVwKK30gd2hpbGUgKDApOworCisKKyNlbmRpZiAvKiBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzMyLmggYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaAppbmRleCA5NzU2YWUwLi44MjRmYzU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaApAQCAtMSwyOCArMSw2IEBACiAjaWZuZGVmIF9fSTM4Nl9TQ0hFRF9ICiAjZGVmaW5lIF9fSTM4Nl9TQ0hFRF9ICiAKLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgotI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgotI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgotI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKLSNpbmNsdWRlIDxhc20tZ2VuZXJpYy9tbV9ob29rcy5oPgotCi1zdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfYWN0aXZhdGVfbW0oc3RydWN0IG1tX3N0cnVjdCAqcHJldiwKLQkJCQkJc3RydWN0IG1tX3N0cnVjdCAqbmV4dCkKLXsKLX0KLSNlbmRpZgkvKiAhQ09ORklHX1BBUkFWSVJUICovCi0KLQotLyoKLSAqIFVzZWQgZm9yIExEVCBjb3B5L2Rlc3RydWN0aW9uLgotICovCi1pbnQgaW5pdF9uZXdfY29udGV4dChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgc3RydWN0IG1tX3N0cnVjdCAqbW0pOwotdm9pZCBkZXN0cm95X2NvbnRleHQoc3RydWN0IG1tX3N0cnVjdCAqbW0pOwotCi0KIHN0YXRpYyBpbmxpbmUgdm9pZCBlbnRlcl9sYXp5X3RsYihzdHJ1Y3QgbW1fc3RydWN0ICptbSwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB7CiAjaWZkZWYgQ09ORklHX1NNUApAQCAtNzUsMTAgKzUzLDQgQEAKICNkZWZpbmUgZGVhY3RpdmF0ZV9tbSh0c2ssIG1tKQkJCVwKIAlhc20oIm1vdmwgJTAsJSVncyI6IDoiciIgKDApKTsKIAotI2RlZmluZSBhY3RpdmF0ZV9tbShwcmV2LCBuZXh0KQkJCVwKLWRvIHsJCQkJCQlcCi0JcGFyYXZpcnRfYWN0aXZhdGVfbW0oKHByZXYpLCAobmV4dCkpOwlcCi0Jc3dpdGNoX21tKChwcmV2KSwgKG5leHQpLCBOVUxMKTsJXAotfSB3aGlsZSAoMCk7Ci0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzY0LmggYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaAppbmRleCBjYTQ0YzcxLi5jNzAwMDYzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaApAQCAtMSwyMSArMSw3IEBACiAjaWZuZGVmIF9fWDg2XzY0X01NVV9DT05URVhUX0gKICNkZWZpbmUgX19YODZfNjRfTU1VX0NPTlRFWFRfSAogCi0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vcGRhLmg+Ci0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KLSNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCi0jaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KLSNlbmRpZgotCi0vKgotICogcG9zc2libHkgZG8gdGhlIExEVCB1bmxvYWQgaGVyZT8KLSAqLwotaW50IGluaXRfbmV3X2NvbnRleHQoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKLXZvaWQgZGVzdHJveV9jb250ZXh0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKIAogc3RhdGljIGlubGluZSB2b2lkIGVudGVyX2xhenlfdGxiKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykKIHsKQEAgLTY1LDggKzUxLDQgQEAKIAlhc20gdm9sYXRpbGUoIm1vdmwgJTAsJSVmcyI6OiJyIigwKSk7CVwKIH0gd2hpbGUgKDApCiAKLSNkZWZpbmUgYWN0aXZhdGVfbW0ocHJldiwgbmV4dCkJCQlcCi0Jc3dpdGNoX21tKChwcmV2KSwgKG5leHQpLCBOVUxMKQotCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tem9uZV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L21tem9uZV8zMi5oCmluZGV4IGNiMmNhZDAuLmIyMjk4YTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tbXpvbmVfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW16b25lXzMyLmgKQEAgLTEyLDExICsxMiw5IEBACiBleHRlcm4gc3RydWN0IHBnbGlzdF9kYXRhICpub2RlX2RhdGFbXTsKICNkZWZpbmUgTk9ERV9EQVRBKG5pZCkJKG5vZGVfZGF0YVtuaWRdKQogCi0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQotCSNpbmNsdWRlIDxhc20vbnVtYXEuaD4KLSNlbGlmIGRlZmluZWQoQ09ORklHX0FDUElfU1JBVCkvKiBzdW1taXQgb3IgZ2VuZXJpYyBhcmNoICovCi0JI2luY2x1ZGUgPGFzbS9zcmF0Lmg+Ci0jZW5kaWYKKyNpbmNsdWRlIDxhc20vbnVtYXEuaD4KKy8qIHN1bW1pdCBvciBnZW5lcmljIGFyY2ggKi8KKyNpbmNsdWRlIDxhc20vc3JhdC5oPgogCiBleHRlcm4gaW50IGdldF9tZW1jZmdfbnVtYV9mbGF0KHZvaWQpOwogLyoKQEAgLTI2LDI4ICsyNCwyMCBAQAogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0X21lbWNmZ19udW1hKHZvaWQpCiB7Ci0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCiAJaWYgKGdldF9tZW1jZmdfbnVtYXEoKSkKIAkJcmV0dXJuOwotI2VsaWYgZGVmaW5lZChDT05GSUdfQUNQSV9TUkFUKQogCWlmIChnZXRfbWVtY2ZnX2Zyb21fc3JhdCgpKQogCQlyZXR1cm47Ci0jZW5kaWYKLQogCWdldF9tZW1jZmdfbnVtYV9mbGF0KCk7CiB9CiAKIGV4dGVybiBpbnQgZWFybHlfcGZuX3RvX25pZCh1bnNpZ25lZCBsb25nIHBmbik7Ci1leHRlcm4gdm9pZCBudW1hX2t2YV9yZXNlcnZlKHZvaWQpOwogCiAjZWxzZSAvKiAhQ09ORklHX05VTUEgKi8KIAogI2RlZmluZSBnZXRfbWVtY2ZnX251bWEgZ2V0X21lbWNmZ19udW1hX2ZsYXQKLSNkZWZpbmUgZ2V0X3pob2xlc19zaXplKG4pICgwKQogCi1zdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9rdmFfcmVzZXJ2ZSh2b2lkKQotewotfQogI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKICNpZmRlZiBDT05GSUdfRElTQ09OVElHTUVNCkBAIC01NSwxNCArNDUsMTQgQEAKIC8qCiAgKiBnZW5lcmljIG5vZGUgbWVtb3J5IHN1cHBvcnQsIHRoZSBmb2xsb3dpbmcgYXNzdW1wdGlvbnMgYXBwbHk6CiAgKgotICogMSkgbWVtb3J5IGNvbWVzIGluIDI1Nk1iIGNvbnRpZ2lvdXMgY2h1bmtzIHdoaWNoIGFyZSBlaXRoZXIgcHJlc2VudCBvciBub3QKKyAqIDEpIG1lbW9yeSBjb21lcyBpbiA2NE1iIGNvbnRpZ2lvdXMgY2h1bmtzIHdoaWNoIGFyZSBlaXRoZXIgcHJlc2VudCBvciBub3QKICAqIDIpIHdlIHdpbGwgbm90IGhhdmUgbW9yZSB0aGFuIDY0R2IgaW4gdG90YWwKICAqCiAgKiBmb3Igbm93IGFzc3VtZSB0aGF0IDY0R2IgaXMgbWF4IGFtb3VudCBvZiBSQU0gZm9yIHdob2xlIHN5c3RlbQogICogICAgNjRHYiAvIDQwOTZieXRlcy9wYWdlID0gMTY3NzcyMTYgcGFnZXMKICAqLwogI2RlZmluZSBNQVhfTlJfUEFHRVMgMTY3NzcyMTYKLSNkZWZpbmUgTUFYX0VMRU1FTlRTIDI1NgorI2RlZmluZSBNQVhfRUxFTUVOVFMgMTAyNAogI2RlZmluZSBQQUdFU19QRVJfRUxFTUVOVCAoTUFYX05SX1BBR0VTL01BWF9FTEVNRU5UUykKIAogZXh0ZXJuIHM4IHBoeXNub2RlX21hcFtdOwpAQCAtODcsOSArNzcsNiBAQAogCV9fcGdkYXQtPm5vZGVfc3RhcnRfcGZuICsgX19wZ2RhdC0+bm9kZV9zcGFubmVkX3BhZ2VzOwkJXAogfSkKIAotI2lmZGVmIENPTkZJR19YODZfTlVNQVEgICAgICAgICAgICAvKiB3ZSBoYXZlIGNvbnRpZ3VvdXMgbWVtb3J5IG9uIE5VTUEtUSAqLwotI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBudW1fcGh5c3BhZ2VzKQotI2Vsc2UKIHN0YXRpYyBpbmxpbmUgaW50IHBmbl92YWxpZChpbnQgcGZuKQogewogCWludCBuaWQgPSBwZm5fdG9fbmlkKHBmbik7CkBAIC05OCw3ICs4NSw2IEBACiAJCXJldHVybiAocGZuIDwgbm9kZV9lbmRfcGZuKG5pZCkpOwogCXJldHVybiAwOwogfQotI2VuZGlmIC8qIENPTkZJR19YODZfTlVNQVEgKi8KIAogI2VuZGlmIC8qIENPTkZJR19ESVNDT05USUdNRU0gKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21wc3BlYy5oIGIvaW5jbHVkZS9hc20teDg2L21wc3BlYy5oCmluZGV4IDU3YTk5MWIuLmI2OTk1ZTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbXBzcGVjLmgKQEAgLTEzLDYgKzEzLDEyIEBACiBleHRlcm4gdTggYXBpY2lkXzJfbm9kZVtdOwogZXh0ZXJuIGludCBwaWNfbW9kZTsKIAorI2lmZGVmIENPTkZJR19YODZfTlVNQVEKK2V4dGVybiBpbnQgbXBfYnVzX2lkX3RvX25vZGVbTUFYX01QX0JVU1NFU107CitleHRlcm4gaW50IG1wX2J1c19pZF90b19sb2NhbFtNQVhfTVBfQlVTU0VTXTsKK2V4dGVybiBpbnQgcXVhZF9sb2NhbF90b19tcF9idXNfaWQgW05SX0NQVVMvNF1bNF07CisjZW5kaWYKKwogI2RlZmluZSBNQVhfQVBJQ0lEIDI1NgogCiAjZWxzZQpAQCAtMjEsMjYgKzI3LDMwIEBACiAvKiBFYWNoIFBDSSBzbG90IG1heSBiZSBhIGNvbWJvIGNhcmQgd2l0aCBpdHMgb3duIGJ1cy4gIDQgSVJRIHBpbnMgcGVyIHNsb3QuICovCiAjZGVmaW5lIE1BWF9JUlFfU09VUkNFUyAoTUFYX01QX0JVU1NFUyAqIDQpCiAKKyNlbmRpZgorCiBleHRlcm4gdm9pZCBlYXJseV9maW5kX3NtcF9jb25maWcodm9pZCk7CiBleHRlcm4gdm9pZCBlYXJseV9nZXRfc21wX2NvbmZpZyh2b2lkKTsKIAotI2VuZGlmCi0KICNpZiBkZWZpbmVkKENPTkZJR19NQ0EpIHx8IGRlZmluZWQoQ09ORklHX0VJU0EpCiBleHRlcm4gaW50IG1wX2J1c19pZF90b190eXBlW01BWF9NUF9CVVNTRVNdOwogI2VuZGlmCiAKIGV4dGVybiBERUNMQVJFX0JJVE1BUChtcF9idXNfbm90X3BjaSwgTUFYX01QX0JVU1NFUyk7CiAKLWV4dGVybiBpbnQgbXBfYnVzX2lkX3RvX3BjaV9idXNbTUFYX01QX0JVU1NFU107Ci0KIGV4dGVybiB1bnNpZ25lZCBpbnQgYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkOworZXh0ZXJuIHVuc2lnbmVkIGludCBtYXhfcGh5c2ljYWxfYXBpY2lkOwogZXh0ZXJuIGludCBzbXBfZm91bmRfY29uZmlnOwogZXh0ZXJuIGludCBtcGNfZGVmYXVsdF90eXBlOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbXBfbGFwaWNfYWRkcjsKIAogZXh0ZXJuIHZvaWQgZmluZF9zbXBfY29uZmlnKHZvaWQpOwogZXh0ZXJuIHZvaWQgZ2V0X3NtcF9jb25maWcodm9pZCk7CisjaWZkZWYgQ09ORklHX1g4Nl9NUFBBUlNFCitleHRlcm4gdm9pZCBlYXJseV9yZXNlcnZlX2U4MjBfbXBjX25ldyh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgZWFybHlfcmVzZXJ2ZV9lODIwX21wY19uZXcodm9pZCkgeyB9CisjZW5kaWYKIAogdm9pZCBfX2NwdWluaXQgZ2VuZXJpY19wcm9jZXNzb3JfaW5mbyhpbnQgYXBpY2lkLCBpbnQgdmVyc2lvbik7CiAjaWZkZWYgQ09ORklHX0FDUEkKQEAgLTQ5LDYgKzU5LDE3IEBACiAJCQkJICAgdTMyIGdzaSk7CiBleHRlcm4gdm9pZCBtcF9jb25maWdfYWNwaV9sZWdhY3lfaXJxcyh2b2lkKTsKIGV4dGVybiBpbnQgbXBfcmVnaXN0ZXJfZ3NpKHUzMiBnc2ksIGludCBlZGdlX2xldmVsLCBpbnQgYWN0aXZlX2hpZ2hfbG93KTsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKK2V4dGVybiBpbnQgbXBfY29uZmlnX2FjcGlfZ3NpKHVuc2lnbmVkIGNoYXIgbnVtYmVyLCB1bnNpZ25lZCBpbnQgZGV2Zm4sIHU4IHBpbiwKKwkJCQl1MzIgZ3NpLCBpbnQgdHJpZ2dlcmluZywgaW50IHBvbGFyaXR5KTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludAorbXBfY29uZmlnX2FjcGlfZ3NpKHVuc2lnbmVkIGNoYXIgbnVtYmVyLCB1bnNpZ25lZCBpbnQgZGV2Zm4sIHU4IHBpbiwKKwkJICAgdTMyIGdzaSwgaW50IHRyaWdnZXJpbmcsIGludCBwb2xhcml0eSkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgogI2VuZGlmIC8qIENPTkZJR19BQ1BJICovCiAKICNkZWZpbmUgUEhZU0lEX0FSUkFZX1NJWkUJQklUU19UT19MT05HUyhNQVhfQVBJQ1MpCkBAIC0xMDEsNiArMTIyLDcgQEAKIAkJX19waHlzaWRfbWFzazsJCQkJCQlcCiAJfSkKIAorLyogTm90ZTogd2lsbCBjcmVhdGUgdmVyeSBsYXJnZSBzdGFjayBmcmFtZXMgaWYgcGh5c2lkX21hc2tfdCBpcyBiaWcgKi8KICNkZWZpbmUgcGh5c2lkX21hc2tfb2ZfcGh5c2lkKHBoeXNpZCkJCQkJCVwKIAkoewkJCQkJCQkJXAogCQlwaHlzaWRfbWFza190IF9fcGh5c2lkX21hc2sgPSBQSFlTSURfTUFTS19OT05FOwkJXApAQCAtMTA4LDYgKzEzMCwxMiBAQAogCQlfX3BoeXNpZF9tYXNrOwkJCQkJCVwKIAl9KQogCitzdGF0aWMgaW5saW5lIHZvaWQgcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZChpbnQgcGh5c2lkLCBwaHlzaWRfbWFza190ICptYXApCit7CisJcGh5c2lkc19jbGVhcigqbWFwKTsKKwlwaHlzaWRfc2V0KHBoeXNpZCwgKm1hcCk7Cit9CisKICNkZWZpbmUgUEhZU0lEX01BU0tfQUxMCQl7IHtbMCAuLi4gUEhZU0lEX0FSUkFZX1NJWkUtMV0gPSB+MFVMfSB9CiAjZGVmaW5lIFBIWVNJRF9NQVNLX05PTkUJeyB7WzAgLi4uIFBIWVNJRF9BUlJBWV9TSVpFLTFdID0gMFVMfSB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWNfZGVmLmggYi9pbmNsdWRlL2FzbS14ODYvbXBzcGVjX2RlZi5oCmluZGV4IGRjNmVmODUuLjM4ZDFlNzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWNfZGVmLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21wc3BlY19kZWYuaApAQCAtMTcsMTAgKzE3LDExIEBACiAjIGRlZmluZSBNQVhfTVBDX0VOVFJZIDEwMjQKICMgZGVmaW5lIE1BWF9BUElDUyAgICAgIDI1NgogI2Vsc2UKLS8qCi0gKiBBIG1heGltdW0gb2YgMjU1IEFQSUNzIHdpdGggdGhlIGN1cnJlbnQgQVBJQyBJRCBhcmNoaXRlY3R1cmUuCi0gKi8KLSMgZGVmaW5lIE1BWF9BUElDUyAyNTUKKyMgaWYgTlJfQ1BVUyA8PSAyNTUKKyMgIGRlZmluZSBNQVhfQVBJQ1MgICAgIDI1NQorIyBlbHNlCisjICBkZWZpbmUgTUFYX0FQSUNTICAgMzI3NjgKKyMgZW5kaWYKICNlbmRpZgogCiBzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oIGIvaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCmluZGV4IDA5NDEzYWQuLjQ0YmNlNzcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmgKQEAgLTExMSw3ICsxMTEsOSBAQAogI2RlZmluZSBNU1JfSzhfVE9QX01FTTIJCQkweGMwMDEwMDFkCiAjZGVmaW5lIE1TUl9LOF9TWVNDRkcJCQkweGMwMDEwMDEwCiAjZGVmaW5lIE1TUl9LOF9IV0NSCQkJMHhjMDAxMDAxNQotI2RlZmluZSBNU1JfSzhfRU5BQkxFX0MxRQkJMHhjMDAxMDA1NQorI2RlZmluZSBNU1JfSzhfSU5UX1BFTkRJTkdfTVNHCQkweGMwMDEwMDU1CisvKiBDMUUgYWN0aXZlIGJpdHMgaW4gaW50IHBlbmRpbmcgbWVzc2FnZSAqLworI2RlZmluZSBLOF9JTlRQX0MxRV9BQ1RJVkVfTUFTSwkJMHgxODAwMDAwMAogI2RlZmluZSBNU1JfSzhfVFNFR19BRERSCQkweGMwMDEwMTEyCiAjZGVmaW5lIEs4X01UUlJGSVhSQU5HRV9EUkFNX0VOQUJMRQkweDAwMDQwMDAwIC8qIE10cnJGaXhEcmFtRW4gYml0ICAgICovCiAjZGVmaW5lIEs4X01UUlJGSVhSQU5HRV9EUkFNX01PRElGWQkweDAwMDgwMDAwIC8qIE10cnJGaXhEcmFtTW9kRW4gYml0ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbXNyLmggYi9pbmNsdWRlL2FzbS14ODYvbXNyLmgKaW5kZXggMmI1ZjJjOS4uY2ExMTBlZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21zci5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tc3IuaApAQCAtNjYsNyArNjYsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIG5hdGl2ZV93cml0ZV9tc3IodW5zaWduZWQgaW50IG1zciwKIAkJCQkgICAgdW5zaWduZWQgbG93LCB1bnNpZ25lZCBoaWdoKQogewotCWFzbSB2b2xhdGlsZSgid3Jtc3IiIDogOiAiYyIgKG1zciksICJhIihsb3cpLCAiZCIgKGhpZ2gpKTsKKwlhc20gdm9sYXRpbGUoIndybXNyIiA6IDogImMiIChtc3IpLCAiYSIobG93KSwgImQiIChoaWdoKSA6ICJtZW1vcnkiKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgbmF0aXZlX3dyaXRlX21zcl9zYWZlKHVuc2lnbmVkIGludCBtc3IsCkBAIC04MSw3ICs4MSw4IEBACiAJCSAgICAgX0FTTV9FWFRBQkxFKDJiLCAzYikKIAkJICAgICA6ICI9YSIgKGVycikKIAkJICAgICA6ICJjIiAobXNyKSwgIjAiIChsb3cpLCAiZCIgKGhpZ2gpLAotCQkgICAgICJpIiAoLUVGQVVMVCkpOworCQkgICAgICAgImkiICgtRUZBVUxUKQorCQkgICAgIDogIm1lbW9yeSIpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9ubWkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9ubWkuaAppbmRleCAxZTM2MzAyLi4yMWY4ZDAyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbm1pLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L25taS5oCkBAIC0xNSwzOCArMTUsMTMgQEAKICAqLwogaW50IGRvX25taV9jYWxsYmFjayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGNwdSk7CiAKLSNpZmRlZiBDT05GSUdfUE0KLQotLyoqIFJlcGxhY2UgdGhlIFBNIGNhbGxiYWNrIHJvdXRpbmUgZm9yIE5NSS4gKi8KLXN0cnVjdCBwbV9kZXYgKnNldF9ubWlfcG1fY2FsbGJhY2socG1fY2FsbGJhY2sgY2FsbGJhY2spOwotCi0vKiogVW5zZXQgdGhlIFBNIGNhbGxiYWNrIHJvdXRpbmUgYmFjayB0byB0aGUgZGVmYXVsdC4gKi8KLXZvaWQgdW5zZXRfbm1pX3BtX2NhbGxiYWNrKHN0cnVjdCBwbV9kZXYgKmRldik7Ci0KLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHBtX2RldiAqc2V0X25taV9wbV9jYWxsYmFjayhwbV9jYWxsYmFjayBjYWxsYmFjaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHVuc2V0X25taV9wbV9jYWxsYmFjayhzdHJ1Y3QgcG1fZGV2ICpkZXYpCi17Ci19Ci0KLSNlbmRpZiAvKiBDT05GSUdfUE0gKi8KLQogI2lmZGVmIENPTkZJR19YODZfNjQKIGV4dGVybiB2b2lkIGRlZmF1bHRfZG9fbm1pKHN0cnVjdCBwdF9yZWdzICopOwotZXh0ZXJuIHZvaWQgZGllX25taShjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgZG9fcGFuaWMpOwotZXh0ZXJuIHZvaWQgbm1pX3dhdGNoZG9nX2RlZmF1bHQodm9pZCk7Ci0jZWxzZQotI2RlZmluZSBubWlfd2F0Y2hkb2dfZGVmYXVsdCgpIGRvIHt9IHdoaWxlICgwKQogI2VuZGlmCiAKK2V4dGVybiB2b2lkIGRpZV9ubWkoY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGRvX3BhbmljKTsKIGV4dGVybiBpbnQgY2hlY2tfbm1pX3dhdGNoZG9nKHZvaWQpOwogZXh0ZXJuIGludCBubWlfd2F0Y2hkb2dfZW5hYmxlZDsKLWV4dGVybiBpbnQgdW5rbm93bl9ubWlfcGFuaWM7CiBleHRlcm4gaW50IGF2YWlsX3RvX3Jlc3J2X3BlcmZjdHJfbm1pX2JpdCh1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCBhdmFpbF90b19yZXNydl9wZXJmY3RyX25taSh1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCByZXNlcnZlX3BlcmZjdHJfbm1pKHVuc2lnbmVkIGludCk7CkBAIC02MiwxMiArMzcsMTAgQEAKIAogZXh0ZXJuIGF0b21pY190IG5taV9hY3RpdmU7CiBleHRlcm4gdW5zaWduZWQgaW50IG5taV93YXRjaGRvZzsKLSNkZWZpbmUgTk1JX0RJU0FCTEVEICAgIC0xCiAjZGVmaW5lIE5NSV9OT05FCTAKICNkZWZpbmUgTk1JX0lPX0FQSUMJMQogI2RlZmluZSBOTUlfTE9DQUxfQVBJQwkyCiAjZGVmaW5lIE5NSV9JTlZBTElECTMKLSNkZWZpbmUgTk1JX0RFRkFVTFQJTk1JX0RJU0FCTEVECiAKIHN0cnVjdCBjdGxfdGFibGU7CiBzdHJ1Y3QgZmlsZTsKQEAgLTc4LDYgKzUxLDI0IEBACiB2b2lkIF9fdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSh2b2lkKTsKICNkZWZpbmUgdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSgpIF9fdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSgpCiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBsb2NhbGlzZV9ubWlfd2F0Y2hkb2codm9pZCkKK3sKKwlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQorCQlubWlfd2F0Y2hkb2cgPSBOTUlfTE9DQUxfQVBJQzsKK30KKworLyogY2hlY2sgaWYgbm1pX3dhdGNoZG9nIGlzIGFjdGl2ZSAoaWUgd2FzIHNwZWNpZmllZCBhdCBib290KSAqLworc3RhdGljIGlubGluZSBpbnQgbm1pX3dhdGNoZG9nX2FjdGl2ZSh2b2lkKQoreworCS8qCisJICogYWN0dWFsbHkgaXQgc2hvdWxkIGJlOgorCSAqIAlyZXR1cm4gKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQyB8fAorCSAqIAkJbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQorCSAqIGJ1dCBzaW5jZSB0aGV5IGFyZSBwb3dlciBvZiB0d28gd2UgY291bGQgdXNlIGEKKwkgKiBjaGVhcGVyIHdheSAtLWN2ZworCSAqLworCXJldHVybiBubWlfd2F0Y2hkb2cgJiAweDM7Cit9CiAjZW5kaWYKIAogdm9pZCBsYXBpY193YXRjaGRvZ19zdG9wKHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L251bWFfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzMyLmgKaW5kZXggMDNkMGY3YS4uMjIwZDdiNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L251bWFfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbnVtYV8zMi5oCkBAIC0yLDE0ICsyLDEwIEBACiAjZGVmaW5lIF9BU01fWDg2XzMyX05VTUFfSCAxCiAKIGV4dGVybiBpbnQgcHhtX3RvX25pZChpbnQgcHhtKTsKK2V4dGVybiB2b2lkIG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KTsKIAogI2lmZGVmIENPTkZJR19OVU1BCi1leHRlcm4gdm9pZCBfX2luaXQgcmVtYXBfbnVtYV9rdmEodm9pZCk7Ci1leHRlcm4gdm9pZCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGludCk7Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIHJlbWFwX251bWFfa3ZhKHZvaWQpCi17Ci19CitleHRlcm4gdm9pZCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KHZvaWQpOwogI2VuZGlmCiAKICNlbmRpZiAvKiBfQVNNX1g4Nl8zMl9OVU1BX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvbnVtYV82NC5oCmluZGV4IDIyZTg3YzkuLjM4MzAwOTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L251bWFfNjQuaApAQCAtMTQsMzIgKzE0LDMwIEBACiAKICNkZWZpbmUgWk9ORV9BTElHTiAoMVVMIDw8IChNQVhfT1JERVIrUEFHRV9TSElGVCkpCiAKLWV4dGVybiB2b2lkIG51bWFfYWRkX2NwdShpbnQgY3B1KTsKIGV4dGVybiB2b2lkIG51bWFfaW5pdF9hcnJheSh2b2lkKTsKIGV4dGVybiBpbnQgbnVtYV9vZmY7CiAKLWV4dGVybiB2b2lkIG51bWFfc2V0X25vZGUoaW50IGNwdSwgaW50IG5vZGUpOwogZXh0ZXJuIHZvaWQgc3JhdF9yZXNlcnZlX2FkZF9hcmVhKGludCBub2RlaWQpOwogZXh0ZXJuIGludCBob3RhZGRfcGVyY2VudDsKIAogZXh0ZXJuIHMxNiBhcGljaWRfdG9fbm9kZVtNQVhfTE9DQUxfQVBJQ107CiAKLWV4dGVybiB2b2lkIG51bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnVtYV9mcmVlX2FsbF9ib290bWVtKHZvaWQpOwogZXh0ZXJuIHZvaWQgc2V0dXBfbm9kZV9ib290bWVtKGludCBub2RlaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJCQkgICAgICAgdW5zaWduZWQgbG9uZyBlbmQpOwogCiAjaWZkZWYgQ09ORklHX05VTUEKIGV4dGVybiB2b2lkIF9faW5pdCBpbml0X2NwdV90b19ub2RlKHZvaWQpOwotCi1zdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfbm9kZV9jcHVtYXNrKGludCBjcHUpCi17Ci0JY2xlYXJfYml0KGNwdSwgKHVuc2lnbmVkIGxvbmcgKikmbm9kZV90b19jcHVtYXNrX21hcFtjcHVfdG9fbm9kZShjcHUpXSk7Ci19Ci0KK2V4dGVybiB2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKTsKK2V4dGVybiB2b2lkIF9fY3B1aW5pdCBudW1hX2NsZWFyX25vZGUoaW50IGNwdSk7CitleHRlcm4gdm9pZCBfX2NwdWluaXQgbnVtYV9hZGRfY3B1KGludCBjcHUpOworZXh0ZXJuIHZvaWQgX19jcHVpbml0IG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KTsKICNlbHNlCi0jZGVmaW5lIGluaXRfY3B1X3RvX25vZGUoKSBkbyB7fSB3aGlsZSAoMCkKLSNkZWZpbmUgY2xlYXJfbm9kZV9jcHVtYXNrKGNwdSkgZG8ge30gd2hpbGUgKDApCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9jcHVfdG9fbm9kZSh2b2lkKQkJeyB9CitzdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9zZXRfbm9kZShpbnQgY3B1LCBpbnQgbm9kZSkJeyB9CitzdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9jbGVhcl9ub2RlKGludCBjcHUpCQl7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBudW1hX2FkZF9jcHUoaW50IGNwdSwgaW50IG5vZGUpCXsgfQorc3RhdGljIGlubGluZSB2b2lkIG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KQkJeyB9CiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbnVtYXEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCmluZGV4IDk0Yjg2YzMuLjM0YjkyZDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCiAKK2V4dGVybiBpbnQgZm91bmRfbnVtYXE7CiBleHRlcm4gaW50IGdldF9tZW1jZmdfbnVtYXEodm9pZCk7CiAKIC8qCkBAIC0xNTYsOSArMTU3LDEyIEBACiAJc3RydWN0CQllYWNocXVhZG1lbSBlcVtNQVhfTlVNTk9ERVNdOwkvKiBpbmRleGVkIGJ5IHF1YWQgaWQgKi8KIH07CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqZ2V0X3pob2xlc19zaXplKGludCBuaWQpCit2b2lkIG51bWFxX3RzY19kaXNhYmxlKHZvaWQpOworCisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgZ2V0X21lbWNmZ19udW1hcSh2b2lkKQogewotCXJldHVybiBOVUxMOworCXJldHVybiAwOwogfQogI2VuZGlmIC8qIENPTkZJR19YODZfTlVNQVEgKi8KICNlbmRpZiAvKiBOVU1BUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGFnZS5oIGIvaW5jbHVkZS9hc20teDg2L3BhZ2UuaAppbmRleCBkYzkzNmRkLi4yOGQ3YjQ1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgKQEAgLTUxLDkgKzUxLDE3IEBACiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKK3R5cGVkZWYgc3RydWN0IHsgcGdkdmFsX3QgcGdkOyB9IHBnZF90OwordHlwZWRlZiBzdHJ1Y3QgeyBwZ3Byb3R2YWxfdCBwZ3Byb3Q7IH0gcGdwcm90X3Q7CisKIGV4dGVybiBpbnQgcGFnZV9pc19yYW0odW5zaWduZWQgbG9uZyBwYWdlbnIpOwogZXh0ZXJuIGludCBkZXZtZW1faXNfYWxsb3dlZCh1bnNpZ25lZCBsb25nIHBhZ2Vucik7CitleHRlcm4gdm9pZCBtYXBfZGV2bWVtKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIHNpemUsCisJCSAgICAgICBwZ3Byb3RfdCB2bWFfcHJvdCk7CitleHRlcm4gdm9pZCB1bm1hcF9kZXZtZW0odW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCSBwZ3Byb3RfdCB2bWFfcHJvdCk7CiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuX21hcHBlZDsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOwogCiBzdHJ1Y3QgcGFnZTsKQEAgLTc0LDkgKzgyLDYgQEAKIAlhbGxvY19wYWdlX3ZtYShHRlBfSElHSFVTRVIgfCBfX0dGUF9aRVJPIHwgbW92YWJsZWZsYWdzLCB2bWEsIHZhZGRyKQogI2RlZmluZSBfX0hBVkVfQVJDSF9BTExPQ19aRVJPRURfVVNFUl9ISUdIUEFHRQogCi10eXBlZGVmIHN0cnVjdCB7IHBnZHZhbF90IHBnZDsgfSBwZ2RfdDsKLXR5cGVkZWYgc3RydWN0IHsgcGdwcm90dmFsX3QgcGdwcm90OyB9IHBncHJvdF90OwotCiBzdGF0aWMgaW5saW5lIHBnZF90IG5hdGl2ZV9tYWtlX3BnZChwZ2R2YWxfdCB2YWwpCiB7CiAJcmV0dXJuIChwZ2RfdCkgeyB2YWwgfTsKQEAgLTE2MCw2ICsxNjUsNyBAQAogI2VuZGlmCiAKICNkZWZpbmUgcHRlX3ZhbCh4KQluYXRpdmVfcHRlX3ZhbCh4KQorI2RlZmluZSBwdGVfZmxhZ3MoeCkJbmF0aXZlX3B0ZV92YWwoeCkKICNkZWZpbmUgX19wdGUoeCkJbmF0aXZlX21ha2VfcHRlKHgpCiAKICNlbmRpZgkvKiBDT05GSUdfUEFSQVZJUlQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGFnZV8zMi5oCmluZGV4IGNjZjBiYTMuLmFiODUyODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BhZ2VfMzIuaApAQCAtMTMsNiArMTMsMTQgQEAKICAqLwogI2RlZmluZSBfX1BBR0VfT0ZGU0VUCQlfQUMoQ09ORklHX1BBR0VfT0ZGU0VULCBVTCkKIAorI2lmZGVmIENPTkZJR180S1NUQUNLUworI2RlZmluZSBUSFJFQURfT1JERVIJMAorI2Vsc2UKKyNkZWZpbmUgVEhSRUFEX09SREVSCTEKKyNlbmRpZgorI2RlZmluZSBUSFJFQURfU0laRSAJKFBBR0VfU0laRSA8PCBUSFJFQURfT1JERVIpCisKKwogI2lmZGVmIENPTkZJR19YODZfUEFFCiAvKiA0ND0zMisxMiwgdGhlIGxpbWl0IHdlIGNhbiBmaXQgaW50byBhbiB1bnNpZ25lZCBsb25nIHBmbiAqLwogI2RlZmluZSBfX1BIWVNJQ0FMX01BU0tfU0hJRlQJNDQKQEAgLTg0LDYgKzkyLDEzIEBACiAjZGVmaW5lIFZNQUxMT0NfUkVTRVJWRQkJKCh1bnNpZ25lZCBsb25nKV9fVk1BTExPQ19SRVNFUlZFKQogI2RlZmluZSBNQVhNRU0JCQkoLV9fUEFHRV9PRkZTRVQgLSBfX1ZNQUxMT0NfUkVTRVJWRSkKIAorZXh0ZXJuIHZvaWQgZmluZF9sb3dfcGZuX3JhbmdlKHZvaWQpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9tZW1vcnlfbWFwcGluZyh1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJCQkgdW5zaWduZWQgbG9uZyBlbmQpOworZXh0ZXJuIHZvaWQgaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpOworZXh0ZXJuIHZvaWQgc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3Iodm9pZCk7CisKKwogI2lmZGVmIENPTkZJR19YODZfVVNFXzNETk9XCiAjaW5jbHVkZSA8YXNtL21teC5oPgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGFnZV82NC5oIGIvaW5jbHVkZS9hc20teDg2L3BhZ2VfNjQuaAppbmRleCA2ZWE3Mjg1Li5jNjkxNmM4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFnZV82NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzY0LmgKQEAgLTI2LDcgKzI2LDEzIEBACiAjZGVmaW5lIFBVRF9QQUdFX1NJWkUJCShfQUMoMSwgVUwpIDw8IFBVRF9TSElGVCkKICNkZWZpbmUgUFVEX1BBR0VfTUFTSwkJKH4oUFVEX1BBR0VfU0laRS0xKSkKIAotI2RlZmluZSBfX1BBR0VfT0ZGU0VUICAgICAgICAgICBfQUMoMHhmZmZmODEwMDAwMDAwMDAwLCBVTCkKKy8qCisgKiBTZXQgX19QQUdFX09GRlNFVCB0byB0aGUgbW9zdCBuZWdhdGl2ZSBwb3NzaWJsZSBhZGRyZXNzICsKKyAqIFBHRElSX1NJWkUqMTYgKHBnZCBzbG90IDI3MikuICBUaGUgZ2FwIGlzIHRvIGFsbG93IGEgc3BhY2UgZm9yIGEKKyAqIGh5cGVydmlzb3IgdG8gZml0LiAgQ2hvb3NpbmcgMTYgc2xvdHMgaGVyZSBpcyBhcmJpdHJhcnksIGJ1dCBpdCdzCisgKiB3aGF0IFhlbiByZXF1aXJlcy4KKyAqLworI2RlZmluZSBfX1BBR0VfT0ZGU0VUICAgICAgICAgICBfQUMoMHhmZmZmODgwMDAwMDAwMDAwLCBVTCkKIAogI2RlZmluZSBfX1BIWVNJQ0FMX1NUQVJUCUNPTkZJR19QSFlTSUNBTF9TVEFSVAogI2RlZmluZSBfX0tFUk5FTF9BTElHTgkJMHgyMDAwMDAKQEAgLTU4LDcgKzY0LDggQEAKIHZvaWQgY2xlYXJfcGFnZSh2b2lkICpwYWdlKTsKIHZvaWQgY29weV9wYWdlKHZvaWQgKnRvLCB2b2lkICpmcm9tKTsKIAotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZW5kX3BmbjsKKy8qIGR1cGxpY2F0ZWQgdG8gdGhlIG9uZSBpbiBib290bWVtLmggKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIG1heF9wZm47CiBleHRlcm4gdW5zaWduZWQgbG9uZyBwaHlzX2Jhc2U7CiAKIGV4dGVybiB1bnNpZ25lZCBsb25nIF9fcGh5c19hZGRyKHVuc2lnbmVkIGxvbmcpOwpAQCAtODMsMTAgKzkwLDE1IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyBpbml0X21lbW9yeV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJCQkJCSB1bnNpZ25lZCBsb25nIGVuZCk7CiAKK2V4dGVybiB2b2lkIGluaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKKworZXh0ZXJuIHZvaWQgaW5pdF9leHRyYV9tYXBwaW5nX3VjKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIGluaXRfZXh0cmFfbWFwcGluZ193Yih1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CisKICNlbmRpZgkvKiAhX19BU1NFTUJMWV9fICovCiAKICNpZmRlZiBDT05GSUdfRkxBVE1FTQotI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBlbmRfcGZuKQorI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBtYXhfcGZuKQogI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BhcmF2aXJ0LmggYi9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaAppbmRleCAwZjEzYjk0Li5lZjVlOGVjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaApAQCAtODQsNyArODQsNyBAQAogCWludCAoKnNldF93YWxsY2xvY2spKHVuc2lnbmVkIGxvbmcpOwogCiAJdW5zaWduZWQgbG9uZyBsb25nICgqc2NoZWRfY2xvY2spKHZvaWQpOwotCXVuc2lnbmVkIGxvbmcgKCpnZXRfY3B1X2toeikodm9pZCk7CisJdW5zaWduZWQgbG9uZyAoKmdldF90c2Nfa2h6KSh2b2lkKTsKIH07CiAKIHN0cnVjdCBwdl9jcHVfb3BzIHsKQEAgLTExNSw2ICsxMTUsOSBAQAogCXZvaWQgKCpzZXRfbGR0KShjb25zdCB2b2lkICpkZXNjLCB1bnNpZ25lZCBlbnRyaWVzKTsKIAl1bnNpZ25lZCBsb25nICgqc3RvcmVfdHIpKHZvaWQpOwogCXZvaWQgKCpsb2FkX3Rscykoc3RydWN0IHRocmVhZF9zdHJ1Y3QgKnQsIHVuc2lnbmVkIGludCBjcHUpOworI2lmZGVmIENPTkZJR19YODZfNjQKKwl2b2lkICgqbG9hZF9nc19pbmRleCkodW5zaWduZWQgaW50IGlkeCk7CisjZW5kaWYKIAl2b2lkICgqd3JpdGVfbGR0X2VudHJ5KShzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmxkdCwgaW50IGVudHJ5bnVtLAogCQkJCWNvbnN0IHZvaWQgKmRlc2MpOwogCXZvaWQgKCp3cml0ZV9nZHRfZW50cnkpKHN0cnVjdCBkZXNjX3N0cnVjdCAqLApAQCAtMTQxLDggKzE0NCwzMiBAQAogCXU2NCAoKnJlYWRfcG1jKShpbnQgY291bnRlcik7CiAJdW5zaWduZWQgbG9uZyBsb25nICgqcmVhZF90c2NwKSh1bnNpZ25lZCBpbnQgKmF1eCk7CiAKLQkvKiBUaGVzZSB0d28gYXJlIGptcCB0bywgbm90IGFjdHVhbGx5IGNhbGxlZC4gKi8KLQl2b2lkICgqaXJxX2VuYWJsZV9zeXNjYWxsX3JldCkodm9pZCk7CisJLyoKKwkgKiBBdG9taWNhbGx5IGVuYWJsZSBpbnRlcnJ1cHRzIGFuZCByZXR1cm4gdG8gdXNlcnNwYWNlLiAgVGhpcworCSAqIGlzIG9ubHkgZXZlciB1c2VkIHRvIHJldHVybiB0byAzMi1iaXQgcHJvY2Vzc2VzOyBpbiBhCisJICogNjQtYml0IGtlcm5lbCwgaXQncyB1c2VkIGZvciAzMi1vbi02NCBjb21wYXQgcHJvY2Vzc2VzLCBidXQKKwkgKiBuZXZlciBuYXRpdmUgNjQtYml0IHByb2Nlc3Nlcy4gIChKdW1wLCBub3QgY2FsbC4pCisJICovCisJdm9pZCAoKmlycV9lbmFibGVfc3lzZXhpdCkodm9pZCk7CisKKwkvKgorCSAqIFN3aXRjaCB0byB1c2VybW9kZSBncyBhbmQgcmV0dXJuIHRvIDY0LWJpdCB1c2VybW9kZSB1c2luZworCSAqIHN5c3JldC4gIE9ubHkgdXNlZCBpbiA2NC1iaXQga2VybmVscyB0byByZXR1cm4gdG8gNjQtYml0CisJICogcHJvY2Vzc2VzLiAgVXNlcm1vZGUgcmVnaXN0ZXIgc3RhdGUsIGluY2x1ZGluZyAlcnNwLCBtdXN0CisJICogYWxyZWFkeSBiZSByZXN0b3JlZC4KKwkgKi8KKwl2b2lkICgqdXNlcmdzX3N5c3JldDY0KSh2b2lkKTsKKworCS8qCisJICogU3dpdGNoIHRvIHVzZXJtb2RlIGdzIGFuZCByZXR1cm4gdG8gMzItYml0IHVzZXJtb2RlIHVzaW5nCisJICogc3lzcmV0LiAgVXNlZCB0byByZXR1cm4gdG8gMzItb24tNjQgY29tcGF0IHByb2Nlc3Nlcy4KKwkgKiBPdGhlciB1c2VybW9kZSByZWdpc3RlciBzdGF0ZSwgaW5jbHVkaW5nICVlc3AsIG11c3QgYWxyZWFkeQorCSAqIGJlIHJlc3RvcmVkLgorCSAqLworCXZvaWQgKCp1c2VyZ3Nfc3lzcmV0MzIpKHZvaWQpOworCisJLyogTm9ybWFsIGlyZXQuICBKdW1wIHRvIHRoaXMgd2l0aCB0aGUgc3RhbmRhcmQgaXJldCBzdGFjaworCSAgIGZyYW1lIHNldCB1cC4gKi8KIAl2b2lkICgqaXJldCkodm9pZCk7CiAKIAl2b2lkICgqc3dhcGdzKSh2b2lkKTsKQEAgLTE2NSw2ICsxOTIsMTAgQEAKIAl2b2lkICgqaXJxX2VuYWJsZSkodm9pZCk7CiAJdm9pZCAoKnNhZmVfaGFsdCkodm9pZCk7CiAJdm9pZCAoKmhhbHQpKHZvaWQpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCXZvaWQgKCphZGp1c3RfZXhjZXB0aW9uX2ZyYW1lKSh2b2lkKTsKKyNlbmRpZgogfTsKIAogc3RydWN0IHB2X2FwaWNfb3BzIHsKQEAgLTIxOSw3ICsyNTAsMTQgQEAKIAl2b2lkICgqZmx1c2hfdGxiX290aGVycykoY29uc3QgY3B1bWFza190ICpjcHVzLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSwKIAkJCQkgdW5zaWduZWQgbG9uZyB2YSk7CiAKLQkvKiBIb29rcyBmb3IgYWxsb2NhdGluZy9yZWxlYXNpbmcgcGFnZXRhYmxlIHBhZ2VzICovCisJLyogSG9va3MgZm9yIGFsbG9jYXRpbmcgYW5kIGZyZWVpbmcgYSBwYWdldGFibGUgdG9wLWxldmVsICovCisJaW50ICAoKnBnZF9hbGxvYykoc3RydWN0IG1tX3N0cnVjdCAqbW0pOworCXZvaWQgKCpwZ2RfZnJlZSkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpOworCisJLyoKKwkgKiBIb29rcyBmb3IgYWxsb2NhdGluZy9yZWxlYXNpbmcgcGFnZXRhYmxlIHBhZ2VzIHdoZW4gdGhleSdyZQorCSAqIGF0dGFjaGVkIHRvIGEgcGFnZXRhYmxlCisJICovCiAJdm9pZCAoKmFsbG9jX3B0ZSkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHUzMiBwZm4pOwogCXZvaWQgKCphbGxvY19wbWQpKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1MzIgcGZuKTsKIAl2b2lkICgqYWxsb2NfcG1kX2Nsb25lKSh1MzIgcGZuLCB1MzIgY2xvbmVwZm4sIHUzMiBzdGFydCwgdTMyIGNvdW50KTsKQEAgLTIzOCw3ICsyNzYsMTMgQEAKIAl2b2lkICgqcHRlX3VwZGF0ZV9kZWZlcikoc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAJCQkJIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwogCisJcHRlX3QgKCpwdGVwX21vZGlmeV9wcm90X3N0YXJ0KShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQlwdGVfdCAqcHRlcCk7CisJdm9pZCAoKnB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQlwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKTsKKwogCXB0ZXZhbF90ICgqcHRlX3ZhbCkocHRlX3QpOworCXB0ZXZhbF90ICgqcHRlX2ZsYWdzKShwdGVfdCk7CiAJcHRlX3QgKCptYWtlX3B0ZSkocHRldmFsX3QgcHRlKTsKIAogCXBnZHZhbF90ICgqcGdkX3ZhbCkocGdkX3QpOwpAQCAtMjczLDYgKzMxNywxMyBAQAogI2VuZGlmCiAKIAlzdHJ1Y3QgcHZfbGF6eV9vcHMgbGF6eV9tb2RlOworCisJLyogZG9tMCBvcHMgKi8KKworCS8qIFNvbWV0aW1lcyB0aGUgcGh5c2ljYWwgYWRkcmVzcyBpcyBhIHBmbiwgYW5kIHNvbWV0aW1lcyBpdHMKKwkgICBhbiBtZm4uICBXZSBjYW4gdGVsbCB3aGljaCBpcyB3aGljaCBmcm9tIHRoZSBpbmRleC4gKi8KKwl2b2lkICgqc2V0X2ZpeG1hcCkodW5zaWduZWQgLyogZW51bSBmaXhlZF9hZGRyZXNzZXMgKi8gaWR4LAorCQkJICAgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7CiB9OwogCiAvKiBUaGlzIGNvbnRhaW5zIGFsbCB0aGUgcGFyYXZpcnQgc3RydWN0dXJlczogd2UgZ2V0IGEgY29udmVuaWVudApAQCAtNDM5LDEwICs0OTAsMTcgQEAKICNkZWZpbmUgVkVYVFJBX0NMT0JCRVJTCSAsICJyYXgiLCAicjgiLCAicjkiLCAicjEwIiwgInIxMSIKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX1BBUkFWSVJUX0RFQlVHCisjZGVmaW5lIFBWT1BfVEVTVF9OVUxMKG9wKQlCVUdfT04ob3AgPT0gTlVMTCkKKyNlbHNlCisjZGVmaW5lIFBWT1BfVEVTVF9OVUxMKG9wKQkoKHZvaWQpb3ApCisjZW5kaWYKKwogI2RlZmluZSBfX1BWT1BfQ0FMTChyZXR0eXBlLCBvcCwgcHJlLCBwb3N0LCAuLi4pCQkJXAogCSh7CQkJCQkJCQlcCiAJCXJldHR5cGUgX19yZXQ7CQkJCQkJXAogCQlQVk9QX0NBTExfQVJHUzsJCQkJCVwKKwkJUFZPUF9URVNUX05VTEwob3ApOwkJCQkJXAogCQkvKiBUaGlzIGlzIDMyLWJpdCBzcGVjaWZpYywgYnV0IGlzIG9rYXkgaW4gNjQtYml0ICovCVwKIAkJLyogc2luY2UgdGhpcyBjb25kaXRpb24gd2lsbCBuZXZlciBob2xkICovCQlcCiAJCWlmIChzaXplb2YocmV0dHlwZSkgPiBzaXplb2YodW5zaWduZWQgbG9uZykpIHsJCVwKQEAgLTQ3MSw2ICs1MjksNyBAQAogI2RlZmluZSBfX1BWT1BfVkNBTEwob3AsIHByZSwgcG9zdCwgLi4uKQkJCQlcCiAJKHsJCQkJCQkJCVwKIAkJUFZPUF9WQ0FMTF9BUkdTOwkJCQkJXAorCQlQVk9QX1RFU1RfTlVMTChvcCk7CQkJCQlcCiAJCWFzbSB2b2xhdGlsZShwcmUJCQkJCVwKIAkJCSAgICAgcGFyYXZpcnRfYWx0KFBBUkFWSVJUX0NBTEwpCQlcCiAJCQkgICAgIHBvc3QJCQkJCVwKQEAgLTcyMCw3ICs3NzksNyBAQAogewogCXJldHVybiBQVk9QX0NBTEwwKHVuc2lnbmVkIGxvbmcgbG9uZywgcHZfdGltZV9vcHMuc2NoZWRfY2xvY2spOwogfQotI2RlZmluZSBjYWxjdWxhdGVfY3B1X2toeigpIChwdl90aW1lX29wcy5nZXRfY3B1X2toeigpKQorI2RlZmluZSBjYWxpYnJhdGVfdHNjKCkgKHB2X3RpbWVfb3BzLmdldF90c2Nfa2h6KCkpCiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBsb25nIHBhcmF2aXJ0X3JlYWRfcG1jKGludCBjb3VudGVyKQogewpAQCAtNzg5LDYgKzg0OCwxMyBAQAogCVBWT1BfVkNBTEwyKHB2X2NwdV9vcHMubG9hZF90bHMsIHQsIGNwdSk7CiB9CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CitzdGF0aWMgaW5saW5lIHZvaWQgbG9hZF9nc19pbmRleCh1bnNpZ25lZCBpbnQgZ3MpCit7CisJUFZPUF9WQ0FMTDEocHZfY3B1X29wcy5sb2FkX2dzX2luZGV4LCBncyk7Cit9CisjZW5kaWYKKwogc3RhdGljIGlubGluZSB2b2lkIHdyaXRlX2xkdF9lbnRyeShzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmR0LCBpbnQgZW50cnksCiAJCQkJICAgY29uc3Qgdm9pZCAqZGVzYykKIHsKQEAgLTkxMiw2ICs5NzgsMTYgQEAKIAlQVk9QX1ZDQUxMMyhwdl9tbXVfb3BzLmZsdXNoX3RsYl9vdGhlcnMsICZjcHVtYXNrLCBtbSwgdmEpOwogfQogCitzdGF0aWMgaW5saW5lIGludCBwYXJhdmlydF9wZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCit7CisJcmV0dXJuIFBWT1BfQ0FMTDEoaW50LCBwdl9tbXVfb3BzLnBnZF9hbGxvYywgbW0pOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfcGdkX2ZyZWUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCit7CisJUFZPUF9WQ0FMTDIocHZfbW11X29wcy5wZ2RfZnJlZSwgbW0sIHBnZCk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9hbGxvY19wdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIHBmbikKIHsKIAlQVk9QX1ZDQUxMMihwdl9tbXVfb3BzLmFsbG9jX3B0ZSwgbW0sIHBmbik7CkBAIC05OTYsNiArMTA3MiwyMCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgcHRldmFsX3QgcHRlX2ZsYWdzKHB0ZV90IHB0ZSkKK3sKKwlwdGV2YWxfdCByZXQ7CisKKwlpZiAoc2l6ZW9mKHB0ZXZhbF90KSA+IHNpemVvZihsb25nKSkKKwkJcmV0ID0gUFZPUF9DQUxMMihwdGV2YWxfdCwgcHZfbW11X29wcy5wdGVfZmxhZ3MsCisJCQkJIHB0ZS5wdGUsICh1NjQpcHRlLnB0ZSA+PiAzMik7CisJZWxzZQorCQlyZXQgPSBQVk9QX0NBTEwxKHB0ZXZhbF90LCBwdl9tbXVfb3BzLnB0ZV9mbGFncywKKwkJCQkgcHRlLnB0ZSk7CisKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW5saW5lIHBnZF90IF9fcGdkKHBnZHZhbF90IHZhbCkKIHsKIAlwZ2R2YWxfdCByZXQ7CkBAIC0xMDI0LDYgKzExMTQsMjkgQEAKIAlyZXR1cm4gcmV0OwogfQogCisjZGVmaW5lICBfX0hBVkVfQVJDSF9QVEVQX01PRElGWV9QUk9UX1RSQU5TQUNUSU9OCitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXApCit7CisJcHRldmFsX3QgcmV0OworCisJcmV0ID0gUFZPUF9DQUxMMyhwdGV2YWxfdCwgcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X3N0YXJ0LAorCQkJIG1tLCBhZGRyLCBwdGVwKTsKKworCXJldHVybiAocHRlX3QpIHsgLnB0ZSA9IHJldCB9OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwlpZiAoc2l6ZW9mKHB0ZXZhbF90KSA+IHNpemVvZihsb25nKSkKKwkJLyogNSBhcmcgd29yZHMgKi8KKwkJcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X2NvbW1pdChtbSwgYWRkciwgcHRlcCwgcHRlKTsKKwllbHNlCisJCVBWT1BfVkNBTEw0KHB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9jb21taXQsCisJCQkgICAgbW0sIGFkZHIsIHB0ZXAsIHB0ZS5wdGUpOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQogewogCWlmIChzaXplb2YocHRldmFsX3QpID4gc2l6ZW9mKGxvbmcpKQpAQCAtMTI1Miw2ICsxMzY1LDEyIEBACiAJfQogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgX19zZXRfZml4bWFwKHVuc2lnbmVkIC8qIGVudW0gZml4ZWRfYWRkcmVzc2VzICovIGlkeCwKKwkJCQl1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKQoreworCXB2X21tdV9vcHMuc2V0X2ZpeG1hcChpZHgsIHBoeXMsIGZsYWdzKTsKK30KKwogdm9pZCBfcGFyYXZpcnRfbm9wKHZvaWQpOwogI2RlZmluZSBwYXJhdmlydF9ub3AJKCh2b2lkICopX3BhcmF2aXJ0X25vcCkKIApAQCAtMTM3NCw1NCArMTQ5Myw4NiBAQAogI2RlZmluZSBQVl9SRVNUT1JFX1JFR1MgcG9wcSAlcmR4OyBwb3BxICVyY3g7IHBvcHEgJXJkaTsgcG9wcSAlcmF4CiAjZGVmaW5lIFBBUkFfUEFUQ0goc3RydWN0LCBvZmYpICAgICAgICAoKFBBUkFWSVJUX1BBVENIXyMjc3RydWN0ICsgKG9mZikpIC8gOCkKICNkZWZpbmUgUEFSQV9TSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzKSBfUFZTSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzLCAucXVhZCwgOCkKKyNkZWZpbmUgUEFSQV9JTkRJUkVDVChhZGRyKQkqYWRkciglcmlwKQogI2Vsc2UKICNkZWZpbmUgUFZfU0FWRV9SRUdTICAgcHVzaGwgJWVheDsgcHVzaGwgJWVkaTsgcHVzaGwgJWVjeDsgcHVzaGwgJWVkeAogI2RlZmluZSBQVl9SRVNUT1JFX1JFR1MgcG9wbCAlZWR4OyBwb3BsICVlY3g7IHBvcGwgJWVkaTsgcG9wbCAlZWF4CiAjZGVmaW5lIFBBUkFfUEFUQ0goc3RydWN0LCBvZmYpICAgICAgICAoKFBBUkFWSVJUX1BBVENIXyMjc3RydWN0ICsgKG9mZikpIC8gNCkKICNkZWZpbmUgUEFSQV9TSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzKSBfUFZTSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzLCAubG9uZywgNCkKKyNkZWZpbmUgUEFSQV9JTkRJUkVDVChhZGRyKQkqJWNzOmFkZHIKICNlbmRpZgogCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JCQkJCQlcCiAJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX2lyZXQpLCBDTEJSX05PTkUsCVwKLQkJICBqbXAgKiVjczpwdl9jcHVfb3BzK1BWX0NQVV9pcmV0KQorCQkgIGptcCBQQVJBX0lORElSRUNUKHB2X2NwdV9vcHMrUFZfQ1BVX2lyZXQpKQogCiAjZGVmaW5lIERJU0FCTEVfSU5URVJSVVBUUyhjbG9iYmVycykJCQkJCVwKIAlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9pcnFfb3BzLCBQVl9JUlFfaXJxX2Rpc2FibGUpLCBjbG9iYmVycywgXAotCQkgIFBWX1NBVkVfUkVHUzsJCQlcCi0JCSAgY2FsbCAqJWNzOnB2X2lycV9vcHMrUFZfSVJRX2lycV9kaXNhYmxlOwkJXAorCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCisJCSAgY2FsbCBQQVJBX0lORElSRUNUKHB2X2lycV9vcHMrUFZfSVJRX2lycV9kaXNhYmxlKTsJXAogCQkgIFBWX1JFU1RPUkVfUkVHUzspCQkJXAogCiAjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTKGNsb2JiZXJzKQkJCQkJXAogCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2lycV9vcHMsIFBWX0lSUV9pcnFfZW5hYmxlKSwgY2xvYmJlcnMsCVwKLQkJICBQVl9TQVZFX1JFR1M7CQkJXAotCQkgIGNhbGwgKiVjczpwdl9pcnFfb3BzK1BWX0lSUV9pcnFfZW5hYmxlOwkJXAorCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCisJCSAgY2FsbCBQQVJBX0lORElSRUNUKHB2X2lycV9vcHMrUFZfSVJRX2lycV9lbmFibGUpOwlcCiAJCSAgUFZfUkVTVE9SRV9SRUdTOykKIAotI2RlZmluZSBFTkFCTEVfSU5URVJSVVBUU19TWVNDQUxMX1JFVAkJCQkJXAotCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KSxcCisjZGVmaW5lIFVTRVJHU19TWVNSRVQzMgkJCQkJCQlcCisJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX3VzZXJnc19zeXNyZXQzMiksCVwKIAkJICBDTEJSX05PTkUsCQkJCQkJXAotCQkgIGptcCAqJWNzOnB2X2NwdV9vcHMrUFZfQ1BVX2lycV9lbmFibGVfc3lzY2FsbF9yZXQpCi0KKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV91c2VyZ3Nfc3lzcmV0MzIpKQogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotI2RlZmluZSBHRVRfQ1IwX0lOVE9fRUFYCQkJXAotCXB1c2ggJWVjeDsgcHVzaCAlZWR4OwkJCVwKLQljYWxsICpwdl9jcHVfb3BzK1BWX0NQVV9yZWFkX2NyMDsJXAorI2RlZmluZSBHRVRfQ1IwX0lOVE9fRUFYCQkJCVwKKwlwdXNoICVlY3g7IHB1c2ggJWVkeDsJCQkJXAorCWNhbGwgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9yZWFkX2NyMCk7CVwKIAlwb3AgJWVkeDsgcG9wICVlY3gKLSNlbHNlCisKKyNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVAkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpKQorCisKKyNlbHNlCS8qICFDT05GSUdfWDg2XzMyICovCisKKy8qCisgKiBJZiBzd2FwZ3MgaXMgdXNlZCB3aGlsZSB0aGUgdXNlcnNwYWNlIHN0YWNrIGlzIHN0aWxsIGN1cnJlbnQsCisgKiB0aGVyZSdzIG5vIHdheSB0byBjYWxsIGEgcHZvcC4gIFRoZSBQViByZXBsYWNlbWVudCAqbXVzdCogYmUKKyAqIGlubGluZWQsIG9yIHRoZSBzd2FwZ3MgaW5zdHJ1Y3Rpb24gbXVzdCBiZSB0cmFwcGVkIGFuZCBlbXVsYXRlZC4KKyAqLworI2RlZmluZSBTV0FQR1NfVU5TQUZFX1NUQUNLCQkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9zd2FwZ3MpLCBDTEJSX05PTkUsCVwKKwkJICBzd2FwZ3MpCisKICNkZWZpbmUgU1dBUEdTCQkJCQkJCQlcCiAJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX3N3YXBncyksIENMQlJfTk9ORSwJXAogCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCi0JCSAgY2FsbCAqcHZfY3B1X29wcytQVl9DUFVfc3dhcGdzOwkJCVwKKwkJICBjYWxsIFBBUkFfSU5ESVJFQ1QocHZfY3B1X29wcytQVl9DUFVfc3dhcGdzKTsJCVwKIAkJICBQVl9SRVNUT1JFX1JFR1MJCQkJCVwKIAkJICkKIAotI2RlZmluZSBHRVRfQ1IyX0lOVE9fUkNYCQkJXAotCWNhbGwgKnB2X21tdV9vcHMrUFZfTU1VX3JlYWRfY3IyOwlcCi0JbW92cSAlcmF4LCAlcmN4OwkJCVwKKyNkZWZpbmUgR0VUX0NSMl9JTlRPX1JDWAkJCQlcCisJY2FsbCBQQVJBX0lORElSRUNUKHB2X21tdV9vcHMrUFZfTU1VX3JlYWRfY3IyKTsJXAorCW1vdnEgJXJheCwgJXJjeDsJCQkJXAogCXhvcnEgJXJheCwgJXJheDsKIAotI2VuZGlmCisjZGVmaW5lIFBBUkFWSVJUX0FESlVTVF9FWENFUFRJT05fRlJBTUUJCQkJCVwKKwlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9pcnFfb3BzLCBQVl9JUlFfYWRqdXN0X2V4Y2VwdGlvbl9mcmFtZSksIFwKKwkJICBDTEJSX05PTkUsCQkJCQkJXAorCQkgIGNhbGwgUEFSQV9JTkRJUkVDVChwdl9pcnFfb3BzK1BWX0lSUV9hZGp1c3RfZXhjZXB0aW9uX2ZyYW1lKSkKKworI2RlZmluZSBVU0VSR1NfU1lTUkVUNjQJCQkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV91c2VyZ3Nfc3lzcmV0NjQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV91c2VyZ3Nfc3lzcmV0NjQpKQorCisjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQzMgkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpKQorI2VuZGlmCS8qIENPTkZJR19YODZfMzIgKi8KIAogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qIENPTkZJR19QQVJBVklSVCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BhdC5oIGIvaW5jbHVkZS9hc20teDg2L3BhdC5oCmluZGV4IDg4ZjYwY2MuLjdlZGM0NzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wYXQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGF0LmgKQEAgLTEsMTQgKzEsMTMgQEAKLQogI2lmbmRlZiBfQVNNX1BBVF9ICi0jZGVmaW5lIF9BU01fUEFUX0ggMQorI2RlZmluZSBfQVNNX1BBVF9ICiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQVQKLWV4dGVybiBpbnQgcGF0X3djX2VuYWJsZWQ7CitleHRlcm4gaW50IHBhdF9lbmFibGVkOwogZXh0ZXJuIHZvaWQgdmFsaWRhdGVfcGF0X3N1cHBvcnQoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKICNlbHNlCi1zdGF0aWMgY29uc3QgaW50IHBhdF93Y19lbmFibGVkID0gMDsKK3N0YXRpYyBjb25zdCBpbnQgcGF0X2VuYWJsZWQ7CiBzdGF0aWMgaW5saW5lIHZvaWQgdmFsaWRhdGVfcGF0X3N1cHBvcnQoc3RydWN0IGNwdWluZm9feDg2ICpjKSB7IH0KICNlbmRpZgogCkBAIC0yMSw0ICsyMCwzIEBACiBleHRlcm4gdm9pZCBwYXRfZGlzYWJsZShjaGFyICpyZWFzb24pOwogCiAjZW5kaWYKLQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BjaS5oIGIvaW5jbHVkZS9hc20teDg2L3BjaS5oCmluZGV4IDMwYmJkZTAuLjJkYjE0Y2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wY2kuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGNpLmgKQEAgLTE4LDYgKzE4LDggQEAKICNlbmRpZgogfTsKIAorZXh0ZXJuIGludCBwY2lfcm91dGVpcnE7CisKIC8qIHNjYW4gYSBidXMgYWZ0ZXIgYWxsb2NhdGluZyBhIHBjaV9zeXNkYXRhIGZvciBpdCAqLwogZXh0ZXJuIHN0cnVjdCBwY2lfYnVzICpwY2lfc2Nhbl9idXNfb25fbm9kZShpbnQgYnVzbm8sIHN0cnVjdCBwY2lfb3BzICpvcHMsCiAJCQkJCSAgICBpbnQgbm9kZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGNpXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGNpXzMyLmgKaW5kZXggOGM0YzNhMC4uYTUwZDQ2OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BjaV8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wY2lfMzIuaApAQCAtMTgsMTIgKzE4LDE0IEBACiAjZGVmaW5lIFBDSV9ETUFfQlVTX0lTX1BIWVMJKDEpCiAKIC8qIHBjaV91bm1hcF97cGFnZSxzaW5nbGV9IGlzIGEgbm9wIHNvLi4uICovCi0jZGVmaW5lIERFQ0xBUkVfUENJX1VOTUFQX0FERFIoQUREUl9OQU1FKQotI2RlZmluZSBERUNMQVJFX1BDSV9VTk1BUF9MRU4oTEVOX05BTUUpCi0jZGVmaW5lIHBjaV91bm1hcF9hZGRyKFBUUiwgQUREUl9OQU1FKQkJKDApCi0jZGVmaW5lIHBjaV91bm1hcF9hZGRyX3NldChQVFIsIEFERFJfTkFNRSwgVkFMKQlkbyB7IH0gd2hpbGUgKDApCi0jZGVmaW5lIHBjaV91bm1hcF9sZW4oUFRSLCBMRU5fTkFNRSkJCSgwKQotI2RlZmluZSBwY2lfdW5tYXBfbGVuX3NldChQVFIsIExFTl9OQU1FLCBWQUwpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgREVDTEFSRV9QQ0lfVU5NQVBfQUREUihBRERSX05BTUUpCWRtYV9hZGRyX3QgQUREUl9OQU1FWzBdOworI2RlZmluZSBERUNMQVJFX1BDSV9VTk1BUF9MRU4oTEVOX05BTUUpCXVuc2lnbmVkIExFTl9OQU1FWzBdOworI2RlZmluZSBwY2lfdW5tYXBfYWRkcihQVFIsIEFERFJfTkFNRSkJc2l6ZW9mKChQVFIpLT5BRERSX05BTUUpCisjZGVmaW5lIHBjaV91bm1hcF9hZGRyX3NldChQVFIsIEFERFJfTkFNRSwgVkFMKSBcCisJZG8geyBicmVhazsgfSB3aGlsZSAocGNpX3VubWFwX2FkZHIoUFRSLCBBRERSX05BTUUpKQorI2RlZmluZSBwY2lfdW5tYXBfbGVuKFBUUiwgTEVOX05BTUUpCQlzaXplb2YoKFBUUiktPkxFTl9OQU1FKQorI2RlZmluZSBwY2lfdW5tYXBfbGVuX3NldChQVFIsIExFTl9OQU1FLCBWQUwpIFwKKwlkbyB7IGJyZWFrOyB9IHdoaWxlIChwY2lfdW5tYXBfbGVuKFBUUiwgTEVOX05BTUUpKQogCiAKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGRhLmggYi9pbmNsdWRlL2FzbS14ODYvcGRhLmgKaW5kZXggMTAxZmI5ZS4uYjM0ZTlhNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BkYS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wZGEuaApAQCAtMjIsNiArMjIsOCBAQAogCQkJCQkgICBvZmZzZXQgNDAhISEgKi8KICNlbmRpZgogCWNoYXIgKmlycXN0YWNrcHRyOworCXNob3J0IG5vZGVudW1iZXI7CQkvKiBudW1iZXIgb2YgY3VycmVudCBub2RlICgzMmsgbWF4KSAqLworCXNob3J0IGluX2Jvb3RtZW07CQkvKiBwZGEgbGl2ZXMgaW4gYm9vdG1lbSAqLwogCXVuc2lnbmVkIGludCBfX3NvZnRpcnFfcGVuZGluZzsKIAl1bnNpZ25lZCBpbnQgX19ubWlfY291bnQ7CS8qIG51bWJlciBvZiBOTUkgb24gdGhpcyBDUFVzICovCiAJc2hvcnQgbW11X3N0YXRlOwpAQCAtMzcsOCArMzksNyBAQAogCXVuc2lnbmVkIGlycV9zcHVyaW91c19jb3VudDsKIH0gX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcDsKIAotZXh0ZXJuIHN0cnVjdCB4ODY2NF9wZGEgKl9jcHVfcGRhW107Ci1leHRlcm4gc3RydWN0IHg4NjY0X3BkYSBib290X2NwdV9wZGFbXTsKK2V4dGVybiBzdHJ1Y3QgeDg2NjRfcGRhICoqX2NwdV9wZGE7CiBleHRlcm4gdm9pZCBwZGFfaW5pdChpbnQpOwogCiAjZGVmaW5lIGNwdV9wZGEoaSkgKF9jcHVfcGRhW2ldKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BlcmNwdS5oIGIvaW5jbHVkZS9hc20teDg2L3BlcmNwdS5oCmluZGV4IDczNmZjM2IuLjkxMmEzYTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZXJjcHUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGVyY3B1LmgKQEAgLTE0Myw0ICsxNDMsNTAgQEAKICNkZWZpbmUgeDg2X29yX3BlcmNwdSh2YXIsIHZhbCkgcGVyY3B1X3RvX29wKCJvciIsIHBlcl9jcHVfXyMjdmFyLCB2YWwpCiAjZW5kaWYgLyogIV9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qICFDT05GSUdfWDg2XzY0ICovCisKKyNpZmRlZiBDT05GSUdfU01QCisKKy8qCisgKiBEZWZpbmUgdGhlICJFQVJMWV9QRVJfQ1BVIiBtYWNyb3MuICBUaGVzZSBhcmUgdXNlZCBmb3Igc29tZSBwZXJfY3B1CisgKiB2YXJpYWJsZXMgdGhhdCBhcmUgaW5pdGlhbGl6ZWQgYW5kIGFjY2Vzc2VkIGJlZm9yZSB0aGVyZSBhcmUgcGVyX2NwdQorICogYXJlYXMgYWxsb2NhdGVkLgorICovCisKKyNkZWZpbmUJREVGSU5FX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lLCBfaW5pdHZhbHVlKQkJCVwKKwlERUZJTkVfUEVSX0NQVShfdHlwZSwgX25hbWUpID0gX2luaXR2YWx1ZTsJCQlcCisJX190eXBlb2ZfXyhfdHlwZSkgX25hbWUjI19lYXJseV9tYXBbTlJfQ1BVU10gX19pbml0ZGF0YSA9CVwKKwkJCQl7IFswIC4uLiBOUl9DUFVTLTFdID0gX2luaXR2YWx1ZSB9OwlcCisJX190eXBlb2ZfXyhfdHlwZSkgKl9uYW1lIyNfZWFybHlfcHRyID0gX25hbWUjI19lYXJseV9tYXAKKworI2RlZmluZSBFWFBPUlRfRUFSTFlfUEVSX0NQVV9TWU1CT0woX25hbWUpCQkJXAorCUVYUE9SVF9QRVJfQ1BVX1NZTUJPTChfbmFtZSkKKworI2RlZmluZSBERUNMQVJFX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lKQkJCVwKKwlERUNMQVJFX1BFUl9DUFUoX3R5cGUsIF9uYW1lKTsJCQkJXAorCWV4dGVybiBfX3R5cGVvZl9fKF90eXBlKSAqX25hbWUjI19lYXJseV9wdHI7CQlcCisJZXh0ZXJuIF9fdHlwZW9mX18oX3R5cGUpICBfbmFtZSMjX2Vhcmx5X21hcFtdCisKKyNkZWZpbmUJZWFybHlfcGVyX2NwdV9wdHIoX25hbWUpIChfbmFtZSMjX2Vhcmx5X3B0cikKKyNkZWZpbmUJZWFybHlfcGVyX2NwdV9tYXAoX25hbWUsIF9pZHgpIChfbmFtZSMjX2Vhcmx5X21hcFtfaWR4XSkKKyNkZWZpbmUJZWFybHlfcGVyX2NwdShfbmFtZSwgX2NwdSkgCQkJCVwKKwkoZWFybHlfcGVyX2NwdV9wdHIoX25hbWUpID8JCQkJXAorCQllYXJseV9wZXJfY3B1X3B0cihfbmFtZSlbX2NwdV0gOgkJXAorCQlwZXJfY3B1KF9uYW1lLCBfY3B1KSkKKworI2Vsc2UJLyogIUNPTkZJR19TTVAgKi8KKyNkZWZpbmUJREVGSU5FX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lLCBfaW5pdHZhbHVlKQkJXAorCURFRklORV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkgPSBfaW5pdHZhbHVlCisKKyNkZWZpbmUgRVhQT1JUX0VBUkxZX1BFUl9DUFVfU1lNQk9MKF9uYW1lKQkJCVwKKwlFWFBPUlRfUEVSX0NQVV9TWU1CT0woX25hbWUpCisKKyNkZWZpbmUgREVDTEFSRV9FQVJMWV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkJCQlcCisJREVDTEFSRV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkKKworI2RlZmluZQllYXJseV9wZXJfY3B1KF9uYW1lLCBfY3B1KSBwZXJfY3B1KF9uYW1lLCBfY3B1KQorI2RlZmluZQllYXJseV9wZXJfY3B1X3B0cihfbmFtZSkgTlVMTAorLyogbm8gZWFybHlfcGVyX2NwdV9tYXAoKSAqLworCisjZW5kaWYJLyogIUNPTkZJR19TTVAgKi8KKwogI2VuZGlmIC8qIF9BU01fWDg2X1BFUkNQVV9IXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BnYWxsb2MuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ2FsbG9jLmgKaW5kZXggOTFlNDY0MS4uZDYzZWE0MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BnYWxsb2MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGdhbGxvYy5oCkBAIC01LDkgKzUsMTMgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgkJLyogZm9yIHN0cnVjdCBwYWdlICovCiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogCitzdGF0aWMgaW5saW5lIGludCAgX19wYXJhdmlydF9wZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pIHsgcmV0dXJuIDA7IH0KKwogI2lmZGVmIENPTkZJR19QQVJBVklSVAogI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgogI2Vsc2UKKyNkZWZpbmUgcGFyYXZpcnRfcGdkX2FsbG9jKG1tKQlfX3BhcmF2aXJ0X3BnZF9hbGxvYyhtbSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9wZ2RfZnJlZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkge30KIHN0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9hbGxvY19wdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgcGZuKQl7fQogc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X2FsbG9jX3BtZChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBwZm4pCXt9CiBzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfYWxsb2NfcG1kX2Nsb25lKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIGNsb25lcGZuLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BndGFibGUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlLmgKaW5kZXggOTdjMjcxYi4uNDljYmQ3NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BndGFibGUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZS5oCkBAIC0yMCwzMCArMjAsMjUgQEAKICNkZWZpbmUgX1BBR0VfQklUX1BBVF9MQVJHRQkxMgkvKiBPbiAyTUIgb3IgMUdCIHBhZ2VzICovCiAjZGVmaW5lIF9QQUdFX0JJVF9OWCAgICAgICAgICAgNjMgICAgICAgLyogTm8gZXhlY3V0ZTogb25seSB2YWxpZCBhZnRlciBjcHVpZCBjaGVjayAqLwogCi0vKgotICogTm90ZTogd2UgdXNlIF9BQygxLCBMKSBpbnN0ZWFkIG9mIF9BQygxLCBVTCkgc28gdGhhdCB3ZSBnZXQgYQotICogc2lnbi1leHRlbmRlZCB2YWx1ZSBvbiAzMi1iaXQgd2l0aCBhbGwgMSdzIGluIHRoZSB1cHBlciB3b3JkLAotICogd2hpY2ggcHJlc2VydmVzIHRoZSB1cHBlciBwdGUgdmFsdWVzIG9uIDY0LWJpdCBwdGVzOgotICovCi0jZGVmaW5lIF9QQUdFX1BSRVNFTlQJKF9BQygxLCBMKTw8X1BBR0VfQklUX1BSRVNFTlQpCi0jZGVmaW5lIF9QQUdFX1JXCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9SVykKLSNkZWZpbmUgX1BBR0VfVVNFUgkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfVVNFUikKLSNkZWZpbmUgX1BBR0VfUFdUCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9QV1QpCi0jZGVmaW5lIF9QQUdFX1BDRAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUENEKQotI2RlZmluZSBfUEFHRV9BQ0NFU1NFRAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfQUNDRVNTRUQpCi0jZGVmaW5lIF9QQUdFX0RJUlRZCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9ESVJUWSkKLSNkZWZpbmUgX1BBR0VfUFNFCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9QU0UpCS8qIDJNQiBwYWdlICovCi0jZGVmaW5lIF9QQUdFX0dMT0JBTAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfR0xPQkFMKQkvKiBHbG9iYWwgVExCIGVudHJ5ICovCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDEJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDEpCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDIJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDIpCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDMJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDMpCi0jZGVmaW5lIF9QQUdFX1BBVAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUEFUKQotI2RlZmluZSBfUEFHRV9QQVRfTEFSR0UgKF9BQygxLCBMKTw8X1BBR0VfQklUX1BBVF9MQVJHRSkKKyNkZWZpbmUgX1BBR0VfUFJFU0VOVAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfUFJFU0VOVCkKKyNkZWZpbmUgX1BBR0VfUlcJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1JXKQorI2RlZmluZSBfUEFHRV9VU0VSCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9VU0VSKQorI2RlZmluZSBfUEFHRV9QV1QJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BXVCkKKyNkZWZpbmUgX1BBR0VfUENECShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9QQ0QpCisjZGVmaW5lIF9QQUdFX0FDQ0VTU0VECShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9BQ0NFU1NFRCkKKyNkZWZpbmUgX1BBR0VfRElSVFkJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX0RJUlRZKQorI2RlZmluZSBfUEFHRV9QU0UJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BTRSkKKyNkZWZpbmUgX1BBR0VfR0xPQkFMCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9HTE9CQUwpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDEJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDEpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDIJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDIpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDMJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDMpCisjZGVmaW5lIF9QQUdFX1BBVAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfUEFUKQorI2RlZmluZSBfUEFHRV9QQVRfTEFSR0UgKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BBVF9MQVJHRSkKIAogI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgfHwgZGVmaW5lZChDT05GSUdfWDg2X1BBRSkKLSNkZWZpbmUgX1BBR0VfTlgJKF9BQygxLCBVTEwpIDw8IF9QQUdFX0JJVF9OWCkKKyNkZWZpbmUgX1BBR0VfTlgJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX05YKQogI2Vsc2UKLSNkZWZpbmUgX1BBR0VfTlgJMAorI2RlZmluZSBfUEFHRV9OWAkoX0FUKHB0ZXZhbF90LCAwKSkKICNlbmRpZgogCiAvKiBJZiBfUEFHRV9QUkVTRU5UIGlzIGNsZWFyLCB3ZSB1c2UgdGhlc2U6ICovCkBAIC04MywxOSArNzgsOSBAQAogI2RlZmluZSBQQUdFX1JFQURPTkxZX0VYRUMJX19wZ3Byb3QoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1VTRVIgfAlcCiAJCQkJCSBfUEFHRV9BQ0NFU1NFRCkKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLSNkZWZpbmUgX1BBR0VfS0VSTkVMX0VYRUMgXAotCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEKQotI2RlZmluZSBfUEFHRV9LRVJORUwgKF9QQUdFX0tFUk5FTF9FWEVDIHwgX1BBR0VfTlgpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gcHRldmFsX3QgX19QQUdFX0tFUk5FTCwgX19QQUdFX0tFUk5FTF9FWEVDOwotI2VuZGlmCS8qIF9fQVNTRU1CTFlfXyAqLwotI2Vsc2UKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9FWEVDCQkJCQkJXAotCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEKQorCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEIHwgX1BBR0VfR0xPQkFMKQogI2RlZmluZSBfX1BBR0VfS0VSTkVMCQkoX19QQUdFX0tFUk5FTF9FWEVDIHwgX1BBR0VfTlgpCi0jZW5kaWYKIAogI2RlZmluZSBfX1BBR0VfS0VSTkVMX1JPCQkoX19QQUdFX0tFUk5FTCAmIH5fUEFHRV9SVykKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9SWAkJKF9fUEFHRV9LRVJORUxfRVhFQyAmIH5fUEFHRV9SVykKQEAgLTEwNiwyNiArOTEsMjIgQEAKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9WU1lTQ0FMTAkJKF9fUEFHRV9LRVJORUxfUlggfCBfUEFHRV9VU0VSKQogI2RlZmluZSBfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMX05PQ0FDSEUJKF9fUEFHRV9LRVJORUxfVlNZU0NBTEwgfCBfUEFHRV9QQ0QgfCBfUEFHRV9QV1QpCiAjZGVmaW5lIF9fUEFHRV9LRVJORUxfTEFSR0UJCShfX1BBR0VfS0VSTkVMIHwgX1BBR0VfUFNFKQorI2RlZmluZSBfX1BBR0VfS0VSTkVMX0xBUkdFX05PQ0FDSEUJKF9fUEFHRV9LRVJORUwgfCBfUEFHRV9DQUNIRV9VQyB8IF9QQUdFX1BTRSkKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDCShfX1BBR0VfS0VSTkVMX0VYRUMgfCBfUEFHRV9QU0UpCiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGRlZmluZSBNQUtFX0dMT0JBTCh4KQkJCV9fcGdwcm90KCh4KSkKLSNlbHNlCi0jIGRlZmluZSBNQUtFX0dMT0JBTCh4KQkJCV9fcGdwcm90KCh4KSB8IF9QQUdFX0dMT0JBTCkKLSNlbmRpZgotCi0jZGVmaW5lIFBBR0VfS0VSTkVMCQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTCkKLSNkZWZpbmUgUEFHRV9LRVJORUxfUk8JCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1JPKQotI2RlZmluZSBQQUdFX0tFUk5FTF9FWEVDCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0VYRUMpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1JYCQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9SWCkKLSNkZWZpbmUgUEFHRV9LRVJORUxfV0MJCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1dDKQotI2RlZmluZSBQQUdFX0tFUk5FTF9OT0NBQ0hFCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX05PQ0FDSEUpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1VDX01JTlVTCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1VDX01JTlVTKQotI2RlZmluZSBQQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEUJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEUpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX0xBUkdFCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0xBUkdFKQotI2RlZmluZSBQQUdFX0tFUk5FTF9MQVJHRV9FWEVDCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUMpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1ZTWVNDQUxMCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMKQotI2RlZmluZSBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFCU1BS0VfR0xPQkFMKF9fUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUwJCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMKQorI2RlZmluZSBQQUdFX0tFUk5FTF9STwkJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfUk8pCisjZGVmaW5lIFBBR0VfS0VSTkVMX0VYRUMJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfRVhFQykKKyNkZWZpbmUgUEFHRV9LRVJORUxfUlgJCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1JYKQorI2RlZmluZSBQQUdFX0tFUk5FTF9XQwkJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfV0MpCisjZGVmaW5lIFBBR0VfS0VSTkVMX05PQ0FDSEUJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUxfVUNfTUlOVVMJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfVUNfTUlOVVMpCisjZGVmaW5lIFBBR0VfS0VSTkVMX0VYRUNfTk9DQUNIRQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX0VYRUNfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUxfTEFSR0UJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfTEFSR0UpCisjZGVmaW5lIFBBR0VfS0VSTkVMX0xBUkdFX05PQ0FDSEUJX19wZ3Byb3QoX19QQUdFX0tFUk5FTF9MQVJHRV9OT0NBQ0hFKQorI2RlZmluZSBQQUdFX0tFUk5FTF9MQVJHRV9FWEVDCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUMpCisjZGVmaW5lIFBBR0VfS0VSTkVMX1ZTWVNDQUxMCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMKQorI2RlZmluZSBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRSkKIAogLyogICAgICAgICB4d3IgKi8KICNkZWZpbmUgX19QMDAwCVBBR0VfTk9ORQpAQCAtMTY0LDM3ICsxNDUsMzcgQEAKICAqLwogc3RhdGljIGlubGluZSBpbnQgcHRlX2RpcnR5KHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfRElSVFk7CisJcmV0dXJuIHB0ZV9mbGFncyhwdGUpICYgX1BBR0VfRElSVFk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV95b3VuZyhwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0FDQ0VTU0VEOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX0FDQ0VTU0VEOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBwdGVfd3JpdGUocHRlX3QgcHRlKQogewotCXJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9SVzsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9SVzsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcHRlX2ZpbGUocHRlX3QgcHRlKQogewotCXJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9GSUxFOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX0ZJTEU7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9odWdlKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfUFNFOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX1BTRTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcHRlX2dsb2JhbChwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0dMT0JBTDsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9HTE9CQUw7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9leGVjKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gIShwdGVfdmFsKHB0ZSkgJiBfUEFHRV9OWCk7CisJcmV0dXJuICEocHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9OWCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9zcGVjaWFsKHB0ZV90IHB0ZSkKQEAgLTIxMCwyMiArMTkxLDIyIEBACiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rY2xlYW4ocHRlX3QgcHRlKQogewotCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+KHB0ZXZhbF90KV9QQUdFX0RJUlRZKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0RJUlRZKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQogewotCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+KHB0ZXZhbF90KV9QQUdFX0FDQ0VTU0VEKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0FDQ0VTU0VEKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfihwdGV2YWxfdClfUEFHRV9SVyk7CisJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH5fUEFHRV9SVyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZXhlYyhwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH4ocHRldmFsX3QpX1BBR0VfTlgpOworCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfTlgpOwogfQogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkKQEAgLTI1MCw3ICsyMzEsNyBAQAogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9jbHJodWdlKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfihwdGV2YWxfdClfUEFHRV9QU0UpOworCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfUFNFKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtnbG9iYWwocHRlX3QgcHRlKQpAQCAtMjYwLDcgKzI0MSw3IEBACiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX2Nscmdsb2JhbChwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH4ocHRldmFsX3QpX1BBR0VfR0xPQkFMKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0dMT0JBTCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rc3BlY2lhbChwdGVfdCBwdGUpCkBAIC0zMDUsNyArMjg2LDcgQEAKIAlyZXR1cm4gX19wZ3Byb3QocHJlc2VydmViaXRzIHwgYWRkYml0cyk7CiB9CiAKLSNkZWZpbmUgcHRlX3BncHJvdCh4KSBfX3BncHJvdChwdGVfdmFsKHgpICYgflBURV9NQVNLKQorI2RlZmluZSBwdGVfcGdwcm90KHgpIF9fcGdwcm90KHB0ZV9mbGFncyh4KSAmIH5QVEVfTUFTSykKIAogI2RlZmluZSBjYW5vbl9wZ3Byb3QocCkgX19wZ3Byb3QocGdwcm90X3ZhbChwKSAmIF9fc3VwcG9ydGVkX3B0ZV9tYXNrKQogCkBAIC0zMTgsNiArMjk5LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgcGdwcm90X3QgKnZtYV9wcm90KTsKICNlbmRpZgogCisvKiBJbnN0YWxsIGEgcHRlIGZvciBhIHBhcnRpY3VsYXIgdmFkZHIgaW4ga2VybmVsIHNwYWNlLiAqLwordm9pZCBzZXRfcHRlX3ZhZGRyKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHB0ZV90IHB0ZSk7CisKICNpZmRlZiBDT05GSUdfUEFSQVZJUlQKICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KICNlbHNlICAvKiAhQ09ORklHX1BBUkFWSVJUICovCkBAIC0zNTksNiArMzQzLDI2IEBACiAjIGluY2x1ZGUgInBndGFibGVfNjQuaCIKICNlbmRpZgogCisvKgorICogdGhlIHBnZCBwYWdlIGNhbiBiZSB0aG91Z2h0IG9mIGFuIGFycmF5IGxpa2UgdGhpczogcGdkX3RbUFRSU19QRVJfUEdEXQorICoKKyAqIHRoaXMgbWFjcm8gcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IGluIHRoZSBwZ2QgcGFnZSB3aGljaCB3b3VsZAorICogY29udHJvbCB0aGUgZ2l2ZW4gdmlydHVhbCBhZGRyZXNzCisgKi8KKyNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKKworLyoKKyAqIHBnZF9vZmZzZXQoKSByZXR1cm5zIGEgKHBnZF90ICopCisgKiBwZ2RfaW5kZXgoKSBpcyB1c2VkIGdldCB0aGUgb2Zmc2V0IGludG8gdGhlIHBnZCBwYWdlJ3MgYXJyYXkgb2YgcGdkX3QnczsKKyAqLworI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKSAoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCisvKgorICogYSBzaG9ydGN1dCB3aGljaCBpbXBsaWVzIHRoZSB1c2Ugb2YgdGhlIGtlcm5lbCdzIHBnZCwgaW5zdGVhZAorICogb2YgYSBwcm9jZXNzJ3MKKyAqLworI2RlZmluZSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcykgcGdkX29mZnNldCgmaW5pdF9tbSwgKGFkZHJlc3MpKQorCisKICNkZWZpbmUgS0VSTkVMX1BHRF9CT1VOREFSWQlwZ2RfaW5kZXgoUEFHRV9PRkZTRVQpCiAjZGVmaW5lIEtFUk5FTF9QR0RfUFRSUwkJKFBUUlNfUEVSX1BHRCAtIEtFUk5FTF9QR0RfQk9VTkRBUlkpCiAKQEAgLTM2OSw4ICszNzMsMTUgQEAKIAlQR19MRVZFTF80SywKIAlQR19MRVZFTF8yTSwKIAlQR19MRVZFTF8xRywKKwlQR19MRVZFTF9OVU0KIH07CiAKKyNpZmRlZiBDT05GSUdfUFJPQ19GUworZXh0ZXJuIHZvaWQgdXBkYXRlX3BhZ2VfY291bnQoaW50IGxldmVsLCB1bnNpZ25lZCBsb25nIHBhZ2VzKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX3BhZ2VfY291bnQoaW50IGxldmVsLCB1bnNpZ25lZCBsb25nIHBhZ2VzKSB7IH0KKyNlbmRpZgorCiAvKgogICogSGVscGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUga2VybmVsIHBhZ2V0YWJsZSBlbnRyeSBjb250cm9sbGluZwogICogdGhlIHZpcnR1YWwgYWRkcmVzcyAnYWRkcmVzcycuIE5VTEwgbWVhbnMgbm8gcGFnZXRhYmxlIGVudHJ5IHByZXNlbnQuCkBAIC00MjAsNiArNDMxLDggQEAKICAqIHJhY2Ugd2l0aCBvdGhlciBDUFUncyB0aGF0IG1pZ2h0IGJlIHVwZGF0aW5nIHRoZSBkaXJ0eQogICogYml0IGF0IHRoZSBzYW1lIHRpbWUuCiAgKi8KK3N0cnVjdCB2bV9hcmVhX3N0cnVjdDsKKwogI2RlZmluZSAgX19IQVZFX0FSQ0hfUFRFUF9TRVRfQUNDRVNTX0ZMQUdTCiBleHRlcm4gaW50IHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAkJCQkgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCBwdGVfdCAqcHRlcCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV8zMi5oCmluZGV4IDMyY2EwMzEuLmVjODcxYzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BndGFibGVfMzIuaApAQCAtMTEzLDI2ICsxMTMsNiBAQAogICovCiAjZGVmaW5lIG1rX3B0ZShwYWdlLCBwZ3Byb3QpCXBmbl9wdGUocGFnZV90b19wZm4ocGFnZSksIChwZ3Byb3QpKQogCi0vKgotICogdGhlIHBnZCBwYWdlIGNhbiBiZSB0aG91Z2h0IG9mIGFuIGFycmF5IGxpa2UgdGhpczogcGdkX3RbUFRSU19QRVJfUEdEXQotICoKLSAqIHRoaXMgbWFjcm8gcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IGluIHRoZSBwZ2QgcGFnZSB3aGljaCB3b3VsZAotICogY29udHJvbCB0aGUgZ2l2ZW4gdmlydHVhbCBhZGRyZXNzCi0gKi8KLSNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKLSNkZWZpbmUgcGdkX2luZGV4X2soYWRkcikgcGdkX2luZGV4KChhZGRyKSkKLQotLyoKLSAqIHBnZF9vZmZzZXQoKSByZXR1cm5zIGEgKHBnZF90ICopCi0gKiBwZ2RfaW5kZXgoKSBpcyB1c2VkIGdldCB0aGUgb2Zmc2V0IGludG8gdGhlIHBnZCBwYWdlJ3MgYXJyYXkgb2YgcGdkX3QnczsKLSAqLwotI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKSAoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCi0KLS8qCi0gKiBhIHNob3J0Y3V0IHdoaWNoIGltcGxpZXMgdGhlIHVzZSBvZiB0aGUga2VybmVsJ3MgcGdkLCBpbnN0ZWFkCi0gKiBvZiBhIHByb2Nlc3MncwotICovCi0jZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKSBwZ2Rfb2Zmc2V0KCZpbml0X21tLCAoYWRkcmVzcykpCiAKIHN0YXRpYyBpbmxpbmUgaW50IHB1ZF9sYXJnZShwdWRfdCBwdWQpIHsgcmV0dXJuIDA7IH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BndGFibGVfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzY0LmgKaW5kZXggMWNjNTBkMi4uZmE3MjA4YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BndGFibGVfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV82NC5oCkBAIC03MCw2ICs3MCw5IEBACiAKIHN0cnVjdCBtbV9zdHJ1Y3Q7CiAKK3ZvaWQgc2V0X3B0ZV92YWRkcl9wdWQocHVkX3QgKnB1ZF9wYWdlLCB1bnNpZ25lZCBsb25nIHZhZGRyLCBwdGVfdCBuZXdfcHRlKTsKKworCiBzdGF0aWMgaW5saW5lIHZvaWQgbmF0aXZlX3B0ZV9jbGVhcihzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAogCQkJCSAgICBwdGVfdCAqcHRlcCkKIHsKQEAgLTE5MCwxMiArMTkzLDkgQEAKICNkZWZpbmUgcGdkX3BhZ2VfdmFkZHIocGdkKQkJCQkJCVwKIAkoKHVuc2lnbmVkIGxvbmcpX192YSgodW5zaWduZWQgbG9uZylwZ2RfdmFsKChwZ2QpKSAmIFBURV9NQVNLKSkKICNkZWZpbmUgcGdkX3BhZ2UocGdkKQkJKHBmbl90b19wYWdlKHBnZF92YWwoKHBnZCkpID4+IFBBR0VfU0hJRlQpKQotI2RlZmluZSBwZ2RfaW5kZXgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gUEdESVJfU0hJRlQpICYgKFBUUlNfUEVSX1BHRCAtIDEpKQotI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKQkoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCi0jZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKSAoaW5pdF9sZXZlbDRfcGd0ICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCiAjZGVmaW5lIHBnZF9wcmVzZW50KHBnZCkgKHBnZF92YWwocGdkKSAmIF9QQUdFX1BSRVNFTlQpCiBzdGF0aWMgaW5saW5lIGludCBwZ2RfbGFyZ2UocGdkX3QgcGdkKSB7IHJldHVybiAwOyB9Ci0jZGVmaW5lIG1rX2tlcm5lbF9wZ2QoYWRkcmVzcykgKChwZ2RfdCl7IChhZGRyZXNzKSB8IF9LRVJOUEdfVEFCTEUgfSkKKyNkZWZpbmUgbWtfa2VybmVsX3BnZChhZGRyZXNzKSBfX3BnZCgoYWRkcmVzcykgfCBfS0VSTlBHX1RBQkxFKQogCiAvKiBQVUQgLSBMZXZlbDMgYWNjZXNzICovCiAvKiB0byBmaW5kIGFuIGVudHJ5IGluIGEgcGFnZS10YWJsZS1kaXJlY3RvcnkuICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLWZsYWdzLmggYi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLWZsYWdzLmgKaW5kZXggMTk5Y2FiMS4uMDkyYjM5YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci1mbGFncy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3ItZmxhZ3MuaApAQCAtODgsNCArODgsMTAgQEAKICNkZWZpbmUgQ1g4Nl9BUlJfQkFTRQkweGM0CiAjZGVmaW5lIENYODZfUkNSX0JBU0UJMHhkYwogCisjaWZkZWYgQ09ORklHX1ZNODYKKyNkZWZpbmUgWDg2X1ZNX01BU0sJWDg2X0VGTEFHU19WTQorI2Vsc2UKKyNkZWZpbmUgWDg2X1ZNX01BU0sJMCAvKiBObyBWTTg2IHN1cHBvcnQgKi8KKyNlbmRpZgorCiAjZW5kaWYJLyogX19BU01fSTM4Nl9QUk9DRVNTT1JfRkxBR1NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oIGIvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCmluZGV4IDU1OTEwNTIuLjdmNzM4MjcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKQEAgLTE1Myw3ICsxNTMsNyBAQAogCiBleHRlcm4gdm9pZCBjcHVfZGV0ZWN0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7CiAKLWV4dGVybiB2b2lkIGlkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKik7CitleHRlcm4gdm9pZCBlYXJseV9jcHVfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIGlkZW50aWZ5X2Jvb3RfY3B1KHZvaWQpOwogZXh0ZXJuIHZvaWQgaWRlbnRpZnlfc2Vjb25kYXJ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKik7CiBleHRlcm4gdm9pZCBwcmludF9jcHVfaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKik7CkBAIC0yNjMsMTUgKzI2MywxMSBAQAogCXN0cnVjdCB0aHJlYWRfc3RydWN0CSppb19iaXRtYXBfb3duZXI7CiAKIAkvKgotCSAqIFBhZCB0aGUgVFNTIHRvIGJlIGNhY2hlbGluZS1hbGlnbmVkIChzaXplIGlzIDB4MTAwKToKLQkgKi8KLQl1bnNpZ25lZCBsb25nCQlfX2NhY2hlbGluZV9maWxsZXJbMzVdOwotCS8qCiAJICogLi4gYW5kIHRoZW4gYW5vdGhlciAweDEwMCBieXRlcyBmb3IgdGhlIGVtZXJnZW5jeSBrZXJuZWwgc3RhY2s6CiAJICovCiAJdW5zaWduZWQgbG9uZwkJc3RhY2tbNjRdOwogCi19IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworfSBfX19fY2FjaGVsaW5lX2FsaWduZWQ7CiAKIERFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgdHNzX3N0cnVjdCwgaW5pdF90c3MpOwogCkBAIC01MzUsNyArNTMxLDYgQEAKIH0KIAogI2RlZmluZSBzZXRfaW9wbF9tYXNrIG5hdGl2ZV9zZXRfaW9wbF9tYXNrCi0jZGVmaW5lIFNXQVBHUwlzd2FwZ3MKICNlbmRpZiAvKiBDT05GSUdfUEFSQVZJUlQgKi8KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wcm90by5oIGIvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKaW5kZXggNmM4YjQxYi4uM2RkNDU4YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKQEAgLTE0LDggKzE0LDYgQEAKIGV4dGVybiB2b2lkIGlhMzJfY3N0YXJfdGFyZ2V0KHZvaWQpOwogZXh0ZXJuIHZvaWQgaWEzMl9zeXNlbnRlcl90YXJnZXQodm9pZCk7CiAKLWV4dGVybiB2b2lkIHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbGVuKTsKLQogZXh0ZXJuIHZvaWQgc3lzY2FsbDMyX2NwdV9pbml0KHZvaWQpOwogCiBleHRlcm4gdm9pZCBjaGVja19lZmVyKHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3B0cmFjZS5oIGIvaW5jbHVkZS9hc20teDg2L3B0cmFjZS5oCmluZGV4IDlmOTIyYjAuLjhhNzFkYjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wdHJhY2UuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcHRyYWNlLmgKQEAgLTMsNyArMywxMiBAQAogCiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4JLyogRm9yIF9fdXNlciAqLwogI2luY2x1ZGUgPGFzbS9wdHJhY2UtYWJpLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgogCisjaWZkZWYgX19LRVJORUxfXworI2luY2x1ZGUgPGFzbS9kcy5oPgkJLyogdGhlIERTIEJUUyBzdHJ1Y3QgaXMgdXNlZCBmb3IgcHRyYWNlIHRvbyAqLworI2luY2x1ZGUgPGFzbS9zZWdtZW50Lmg+CisjZW5kaWYKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtNTUsOSArNjAsNiBAQAogCXVuc2lnbmVkIGxvbmcgc3M7CiB9OwogCi0jaW5jbHVkZSA8YXNtL3ZtODYuaD4KLSNpbmNsdWRlIDxhc20vc2VnbWVudC5oPgotCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCiAjZWxzZSAvKiBfX2kzODZfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3JlYm9vdC5oIGIvaW5jbHVkZS9hc20teDg2L3JlYm9vdC5oCmluZGV4IGU2Mzc0MWYuLjIwNmYzNTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9yZWJvb3QuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcmVib290LmgKQEAgLTE0LDggKzE0LDggQEAKIAogZXh0ZXJuIHN0cnVjdCBtYWNoaW5lX29wcyBtYWNoaW5lX29wczsKIAotdm9pZCBtYWNoaW5lX3JlYWxfcmVzdGFydCh1bnNpZ25lZCBjaGFyICpjb2RlLCBpbnQgbGVuZ3RoKTsKIHZvaWQgbmF0aXZlX21hY2hpbmVfY3Jhc2hfc2h1dGRvd24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwogdm9pZCBuYXRpdmVfbWFjaGluZV9zaHV0ZG93bih2b2lkKTsKK3ZvaWQgbWFjaGluZV9yZWFsX3Jlc3RhcnQoY29uc3QgdW5zaWduZWQgY2hhciAqY29kZSwgaW50IGxlbmd0aCk7CiAKICNlbmRpZgkvKiBfQVNNX1JFQk9PVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcmVxdWlyZWQtZmVhdHVyZXMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCmluZGV4IDc0MDBkM2EuLmFkZWM4ODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCkBAIC0xOSw5ICsxOSwxMyBAQAogCiAjaWYgZGVmaW5lZChDT05GSUdfWDg2X1BBRSkgfHwgZGVmaW5lZChDT05GSUdfWDg2XzY0KQogIyBkZWZpbmUgTkVFRF9QQUUJKDE8PChYODZfRkVBVFVSRV9QQUUgJiAzMSkpCi0jIGRlZmluZSBORUVEX0NYOAkoMTw8KFg4Nl9GRUFUVVJFX0NYOCAmIDMxKSkKICNlbHNlCiAjIGRlZmluZSBORUVEX1BBRQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfQ01QWENIRzY0CisjIGRlZmluZSBORUVEX0NYOAkoMTw8KFg4Nl9GRUFUVVJFX0NYOCAmIDMxKSkKKyNlbHNlCiAjIGRlZmluZSBORUVEX0NYOAkwCiAjZW5kaWYKIApAQCAtMzgsNyArNDIsNyBAQAogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci0jZGVmaW5lIE5FRURfUFNFCSgxPDwoWDg2X0ZFQVRVUkVfUFNFICYgMzEpKQorI2RlZmluZSBORUVEX1BTRQkwCiAjZGVmaW5lIE5FRURfTVNSCSgxPDwoWDg2X0ZFQVRVUkVfTVNSICYgMzEpKQogI2RlZmluZSBORUVEX1BHRQkoMTw8KFg4Nl9GRUFUVVJFX1BHRSAmIDMxKSkKICNkZWZpbmUgTkVFRF9GWFNSCSgxPDwoWDg2X0ZFQVRVUkVfRlhTUiAmIDMxKSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9yZXN1bWUtdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9yZXN1bWUtdHJhY2UuaAppbmRleCAyNTU3NTE0Li44ZDlmMGI0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcmVzdW1lLXRyYWNlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3Jlc3VtZS10cmFjZS5oCkBAIC02LDcgKzYsNyBAQAogI2RlZmluZSBUUkFDRV9SRVNVTUUodXNlcikJCQkJCVwKIGRvIHsJCQkJCQkJCVwKIAlpZiAocG1fdHJhY2VfZW5hYmxlZCkgewkJCQkJXAotCQl2b2lkICp0cmFjZWRhdGE7CQkJCVwKKwkJY29uc3Qgdm9pZCAqdHJhY2VkYXRhOwkJCQlcCiAJCWFzbSB2b2xhdGlsZShfQVNNX01PVl9VTCAiICQxZiwlMFxuIgkJXAogCQkJICAgICAiLnNlY3Rpb24gLnRyYWNlZGF0YSxcImFcIlxuIglcCiAJCQkgICAgICIxOlx0LndvcmQgJWMxXG5cdCIJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF8zMi5oCmluZGV4IDE4ZGExOWUuLjM2ZTcxYzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlY2NvbXBfMzIuaApAQCAtMSw0ICsxLDUgQEAKICNpZm5kZWYgX0FTTV9TRUNDT01QX0gKKyNkZWZpbmUgX0FTTV9TRUNDT01QX0gKIAogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF82NC5oCmluZGV4IDU1M2FmNjUuLjc2Y2ZlNjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlY2NvbXBfNjQuaApAQCAtMSw0ICsxLDUgQEAKICNpZm5kZWYgX0FTTV9TRUNDT01QX0gKKyNkZWZpbmUgX0FTTV9TRUNDT01QX0gKIAogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWdtZW50LmggYi9pbmNsdWRlL2FzbS14ODYvc2VnbWVudC5oCmluZGV4IGVkNTEzMWQuLmRmYzg2MDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWdtZW50LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlZ21lbnQuaApAQCAtNjEsMTggKzYxLDE0IEBACiAjZGVmaW5lIEdEVF9FTlRSWV9UTFNfTUFYIAkoR0RUX0VOVFJZX1RMU19NSU4gKyBHRFRfRU5UUllfVExTX0VOVFJJRVMgLSAxKQogCiAjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfQ1MJMTQKLSNkZWZpbmUgX19VU0VSX0NTIChHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTICogOCArIDMpCiAKICNkZWZpbmUgR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9EUwkxNQotI2RlZmluZSBfX1VTRVJfRFMgKEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFMgKiA4ICsgMykKIAogI2RlZmluZSBHRFRfRU5UUllfS0VSTkVMX0JBU0UJMTIKIAogI2RlZmluZSBHRFRfRU5UUllfS0VSTkVMX0NTCQkoR0RUX0VOVFJZX0tFUk5FTF9CQVNFICsgMCkKLSNkZWZpbmUgX19LRVJORUxfQ1MgKEdEVF9FTlRSWV9LRVJORUxfQ1MgKiA4KQogCiAjZGVmaW5lIEdEVF9FTlRSWV9LRVJORUxfRFMJCShHRFRfRU5UUllfS0VSTkVMX0JBU0UgKyAxKQotI2RlZmluZSBfX0tFUk5FTF9EUyAoR0RUX0VOVFJZX0tFUk5FTF9EUyAqIDgpCiAKICNkZWZpbmUgR0RUX0VOVFJZX1RTUwkJCShHRFRfRU5UUllfS0VSTkVMX0JBU0UgKyA0KQogI2RlZmluZSBHRFRfRU5UUllfTERUCQkJKEdEVF9FTlRSWV9LRVJORUxfQkFTRSArIDUpCkBAIC0xMzksMTAgKzEzNSwxMSBAQAogI2Vsc2UKICNpbmNsdWRlIDxhc20vY2FjaGUuaD4KIAotI2RlZmluZSBfX0tFUk5FTF9DUwkweDEwCi0jZGVmaW5lIF9fS0VSTkVMX0RTCTB4MTgKKyNkZWZpbmUgR0RUX0VOVFJZX0tFUk5FTDMyX0NTIDEKKyNkZWZpbmUgR0RUX0VOVFJZX0tFUk5FTF9DUyAyCisjZGVmaW5lIEdEVF9FTlRSWV9LRVJORUxfRFMgMwogCi0jZGVmaW5lIF9fS0VSTkVMMzJfQ1MgICAweDA4CisjZGVmaW5lIF9fS0VSTkVMMzJfQ1MgICAoR0RUX0VOVFJZX0tFUk5FTDMyX0NTICogOCkKIAogLyoKICAqIHdlIGNhbm5vdCB1c2UgdGhlIHNhbWUgY29kZSBzZWdtZW50IGRlc2NyaXB0b3IgZm9yIHVzZXIgYW5kIGtlcm5lbApAQCAtMTUwLDEwICsxNDcsMTAgQEAKICAqIFRoZSBzZWdtZW50IG9mZnNldCBuZWVkcyB0byBjb250YWluIGEgUlBMLiBHcnIuIC1BSwogICogR0RUIGxheW91dCB0byBnZXQgNjRiaXQgc3lzY2FsbCByaWdodCAoc3lzcmV0IGhhcmRjb2RlcyBnZHQgb2Zmc2V0cykKICAqLwotCi0jZGVmaW5lIF9fVVNFUjMyX0NTICAgMHgyMyAgIC8qIDQqOCszICovCi0jZGVmaW5lIF9fVVNFUl9EUyAgICAgMHgyYiAgIC8qIDUqOCszICovCi0jZGVmaW5lIF9fVVNFUl9DUyAgICAgMHgzMyAgIC8qIDYqOCszICovCisjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVIzMl9DUyA0CisjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFMgNQorI2RlZmluZSBHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTIDYKKyNkZWZpbmUgX19VU0VSMzJfQ1MgICAoR0RUX0VOVFJZX0RFRkFVTFRfVVNFUjMyX0NTICogOCArIDMpCiAjZGVmaW5lIF9fVVNFUjMyX0RTCV9fVVNFUl9EUwogCiAjZGVmaW5lIEdEVF9FTlRSWV9UU1MgOAkvKiBuZWVkcyB0d28gZW50cmllcyAqLwpAQCAtMTc1LDYgKzE3MiwxMCBAQAogCiAjZW5kaWYKIAorI2RlZmluZSBfX0tFUk5FTF9DUwkoR0RUX0VOVFJZX0tFUk5FTF9DUyAqIDgpCisjZGVmaW5lIF9fS0VSTkVMX0RTCShHRFRfRU5UUllfS0VSTkVMX0RTICogOCkKKyNkZWZpbmUgX19VU0VSX0RTICAgICAoR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9EUyogOCArIDMpCisjZGVmaW5lIF9fVVNFUl9DUyAgICAgKEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfQ1MqIDggKyAzKQogI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKICNkZWZpbmUgZ2V0X2tlcm5lbF9ycGwoKSAgMAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCmluZGV4IGZhNjc2M2EuLjkwYWIyMjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCkBAIC04LDcgKzgsMjUgQEAKIC8qIEludGVycnVwdCBjb250cm9sIGZvciB2U01Qb3dlcmVkIHg4Nl82NCBzeXN0ZW1zICovCiB2b2lkIHZzbXBfaW5pdCh2b2lkKTsKIAotY2hhciAqbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCk7CisjaWZkZWYgQ09ORklHX1g4Nl9WSVNXUworZXh0ZXJuIHZvaWQgdmlzd3NfZWFybHlfZGV0ZWN0KHZvaWQpOworZXh0ZXJuIGludCBpc192aXN3c19ib3godm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHZpc3dzX2Vhcmx5X2RldGVjdCh2b2lkKSB7IH0KK3N0YXRpYyBpbmxpbmUgaW50IGlzX3Zpc3dzX2JveCh2b2lkKSB7IHJldHVybiAwOyB9CisjZW5kaWYKKworLyoKKyAqIEFueSBzZXR1cCBxdWlya3MgdG8gYmUgcGVyZm9ybWVkPworICovCitleHRlcm4gaW50ICgqYXJjaF90aW1lX2luaXRfcXVpcmspKHZvaWQpOworZXh0ZXJuIGludCAoKmFyY2hfcHJlX2ludHJfaW5pdF9xdWlyaykodm9pZCk7CitleHRlcm4gaW50ICgqYXJjaF9pbnRyX2luaXRfcXVpcmspKHZvaWQpOworZXh0ZXJuIGludCAoKmFyY2hfdHJhcF9pbml0X3F1aXJrKSh2b2lkKTsKK2V4dGVybiBjaGFyICogKCphcmNoX21lbW9yeV9zZXR1cF9xdWlyaykodm9pZCk7CitleHRlcm4gaW50ICgqbWFjaF9nZXRfc21wX2NvbmZpZ19xdWlyaykodW5zaWduZWQgaW50IGVhcmx5KTsKK2V4dGVybiBpbnQgKCptYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyaykodW5zaWduZWQgaW50IHJlc2VydmUpOworCiAjaWZuZGVmIENPTkZJR19QQVJBVklSVAogI2RlZmluZSBwYXJhdmlydF9wb3N0X2FsbG9jYXRvcl9pbml0KCkJZG8ge30gd2hpbGUgKDApCiAjZW5kaWYKQEAgLTQzLDI2ICs2MSwyMyBAQAogICovCiBleHRlcm4gc3RydWN0IGJvb3RfcGFyYW1zIGJvb3RfcGFyYW1zOwogCi0jaWZkZWYgX19pMzg2X18KIC8qCiAgKiBEbyBOT1QgRVZFUiBsb29rIGF0IHRoZSBCSU9TIG1lbW9yeSBzaXplIGxvY2F0aW9uLgogICogSXQgZG9lcyBub3Qgd29yayBvbiBtYW55IG1hY2hpbmVzLgogICovCiAjZGVmaW5lIExPV01FTVNJWkUoKQkoMHg5ZjAwMCkKIAotc3RydWN0IGU4MjBlbnRyeTsKKyNpZmRlZiBfX2kzODZfXwogCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpOwotY2hhciAqbWVtb3J5X3NldHVwKHZvaWQpOwordm9pZCBfX2luaXQgaTM4Nl9zdGFydF9rZXJuZWwodm9pZCk7CitleHRlcm4gdm9pZCBwcm9iZV9yb21zKHZvaWQpOwogCi1pbnQgX19pbml0IGNvcHlfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCk7Ci1pbnQgX19pbml0IHNhbml0aXplX2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGNoYXIgKnBucl9tYXApOwotdm9pZCBfX2luaXQgYWRkX21lbW9yeV9yZWdpb24odW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0LAotCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIHNpemUsIGludCB0eXBlKTsKLQorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfc3RhcnQ7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBpbml0X3BnX3RhYmxlc19lbmQ7CiAKLQorI2Vsc2UKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9rZXJuZWwoY2hhciAqcmVhbF9tb2RlKTsKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMoY2hhciAqcmVhbF9tb2RlX2RhdGEpOwogCiAjZW5kaWYgLyogX19pMzg2X18gKi8KICNlbmRpZiAvKiBfU0VUVVAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaAppbmRleCAxZWJhYTVjLi5jMjc4NGIzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc21wLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NtcC5oCkBAIC0yOSwyMSArMjksMTIgQEAKIGV4dGVybiB1bnNpZ25lZCBpbnQgbnVtX3Byb2Nlc3NvcnM7CiBleHRlcm4gY3B1bWFza190IGNwdV9pbml0aWFsaXplZDsKIAotI2lmZGVmIENPTkZJR19TTVAKLWV4dGVybiB1MTYgeDg2X2NwdV90b19hcGljaWRfaW5pdFtdOwotZXh0ZXJuIHUxNiB4ODZfYmlvc19jcHVfYXBpY2lkX2luaXRbXTsKLWV4dGVybiB2b2lkICp4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHI7Ci1leHRlcm4gdm9pZCAqeDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7Ci0jZWxzZQotI2RlZmluZSB4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHIgTlVMTAotI2RlZmluZSB4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciBOVUxMCi0jZW5kaWYKLQogREVDTEFSRV9QRVJfQ1BVKGNwdW1hc2tfdCwgY3B1X3NpYmxpbmdfbWFwKTsKIERFQ0xBUkVfUEVSX0NQVShjcHVtYXNrX3QsIGNwdV9jb3JlX21hcCk7CiBERUNMQVJFX1BFUl9DUFUodTE2LCBjcHVfbGxjX2lkKTsKLURFQ0xBUkVfUEVSX0NQVSh1MTYsIHg4Nl9jcHVfdG9fYXBpY2lkKTsKLURFQ0xBUkVfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQpOworCitERUNMQVJFX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfY3B1X3RvX2FwaWNpZCk7CitERUNMQVJFX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfYmlvc19jcHVfYXBpY2lkKTsKIAogLyogU3RhdGljIHN0YXRlIGluIGhlYWQuUyB1c2VkIHRvIHNldCB1cCBhIENQVSAqLwogZXh0ZXJuIHN0cnVjdCB7CkBAIC01OSw5ICs1MCw5IEBACiAKIAl2b2lkICgqc21wX3NlbmRfc3RvcCkodm9pZCk7CiAJdm9pZCAoKnNtcF9zZW5kX3Jlc2NoZWR1bGUpKGludCBjcHUpOwotCWludCAoKnNtcF9jYWxsX2Z1bmN0aW9uX21hc2spKGNwdW1hc2tfdCBtYXNrLAotCQkJCSAgICAgIHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQkgICAgICBpbnQgd2FpdCk7CisKKwl2b2lkICgqc2VuZF9jYWxsX2Z1bmNfaXBpKShjcHVtYXNrX3QgbWFzayk7CisJdm9pZCAoKnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkpKGludCBjcHUpOwogfTsKIAogLyogR2xvYmFscyBkdWUgdG8gcGFyYXZpcnQgKi8KQEAgLTEwMywyMyArOTQsMjYgQEAKIAlzbXBfb3BzLnNtcF9zZW5kX3Jlc2NoZWR1bGUoY3B1KTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywKLQkJCQkJIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkJCSBpbnQgd2FpdCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0JcmV0dXJuIHNtcF9vcHMuc21wX2NhbGxfZnVuY3Rpb25fbWFzayhtYXNrLCBmdW5jLCBpbmZvLCB3YWl0KTsKKwlzbXBfb3BzLnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkoY3B1KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKK3sKKwlzbXBfb3BzLnNlbmRfY2FsbF9mdW5jX2lwaShtYXNrKTsKIH0KIAogdm9pZCBuYXRpdmVfc21wX3ByZXBhcmVfYm9vdF9jcHUodm9pZCk7CiB2b2lkIG5hdGl2ZV9zbXBfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7CiB2b2lkIG5hdGl2ZV9zbXBfY3B1c19kb25lKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7CiBpbnQgbmF0aXZlX2NwdV91cCh1bnNpZ25lZCBpbnQgY3B1bnVtKTsKK3ZvaWQgbmF0aXZlX3NlbmRfY2FsbF9mdW5jX2lwaShjcHVtYXNrX3QgbWFzayk7Cit2b2lkIG5hdGl2ZV9zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpKGludCBjcHUpOwogCiBleHRlcm4gaW50IF9fY3B1X2Rpc2FibGUodm9pZCk7CiBleHRlcm4gdm9pZCBfX2NwdV9kaWUodW5zaWduZWQgaW50IGNwdSk7CiAKLWV4dGVybiB2b2lkIHByZWZpbGxfcG9zc2libGVfbWFwKHZvaWQpOwotCiB2b2lkIHNtcF9zdG9yZV9jcHVfaW5mbyhpbnQgaWQpOwogI2RlZmluZSBjcHVfcGh5c2ljYWxfaWQoY3B1KQlwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpCiAKQEAgLTEzMCw2ICsxMjQsMTQgQEAKIH0KICNlbmRpZiAvKiBDT05GSUdfU01QICovCiAKKyNpZiBkZWZpbmVkKENPTkZJR19TTVApICYmIGRlZmluZWQoQ09ORklHX0hPVFBMVUdfQ1BVKQorZXh0ZXJuIHZvaWQgcHJlZmlsbF9wb3NzaWJsZV9tYXAodm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHByZWZpbGxfcG9zc2libGVfbWFwKHZvaWQpCit7Cit9CisjZW5kaWYKKwogZXh0ZXJuIHVuc2lnbmVkIGRpc2FibGVkX2NwdXMgX19jcHVpbml0ZGF0YTsKIAogI2lmZGVmIENPTkZJR19YODZfMzJfU01QCkBAIC0xOTcsMTIgKzE5OSw4IEBACiAjZW5kaWYgLyogQ09ORklHX1g4Nl9MT0NBTF9BUElDICovCiAKICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKLWV4dGVybiB2b2lkIGNwdV9leGl0X2NsZWFyKHZvaWQpOwogZXh0ZXJuIHZvaWQgY3B1X3VuaW5pdCh2b2lkKTsKICNlbmRpZgogCi1leHRlcm4gdm9pZCBzbXBfYWxsb2NfbWVtb3J5KHZvaWQpOwotZXh0ZXJuIHZvaWQgbG9ja19pcGlfY2FsbF9sb2NrKHZvaWQpOwotZXh0ZXJuIHZvaWQgdW5sb2NrX2lwaV9jYWxsX2xvY2sodm9pZCk7CiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zcmF0LmggYi9pbmNsdWRlL2FzbS14ODYvc3JhdC5oCmluZGV4IGY0YmJhMTMuLjc3NGM5MTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zcmF0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NyYXQuaApAQCAtMjcsMTEgKzI3LDEzIEBACiAjaWZuZGVmIF9BU01fU1JBVF9IXwogI2RlZmluZSBfQVNNX1NSQVRfSF8KIAotI2lmbmRlZiBDT05GSUdfQUNQSV9TUkFUCi0jZXJyb3IgQ09ORklHX0FDUElfU1JBVCBub3QgZGVmaW5lZCwgYW5kIHNyYXQuaCBoZWFkZXIgaGFzIGJlZW4gaW5jbHVkZWQKLSNlbmRpZgotCisjaWZkZWYgQ09ORklHX0FDUElfTlVNQQogZXh0ZXJuIGludCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nICpnZXRfemhvbGVzX3NpemUoaW50KTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKQoreworCXJldHVybiAwOworfQorI2VuZGlmCiAKICNlbmRpZiAvKiBfQVNNX1NSQVRfSF8gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zdHJpbmdfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zdHJpbmdfMzIuaAppbmRleCBiNDkzNjlhLi4xOTM1NzhjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc3RyaW5nXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3N0cmluZ18zMi5oCkBAIC0yOSw4MSArMjksMTE2IEBACiAjZGVmaW5lIF9fSEFWRV9BUkNIX1NUUkxFTgogZXh0ZXJuIHNpemVfdCBzdHJsZW4oY29uc3QgY2hhciAqcyk7CiAKLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fbWVtY3B5KHZvaWQgKiB0bywgY29uc3Qgdm9pZCAqIGZyb20sIHNpemVfdCBuKQorc3RhdGljIF9fYWx3YXlzX2lubGluZSB2b2lkICpfX21lbWNweSh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwgc2l6ZV90IG4pCiB7Ci1pbnQgZDAsIGQxLCBkMjsKLV9fYXNtX18gX192b2xhdGlsZV9fKAotCSJyZXAgOyBtb3ZzbFxuXHQiCi0JIm1vdmwgJTQsJSVlY3hcblx0IgotCSJhbmRsICQzLCUlZWN4XG5cdCIKLQkianogMWZcblx0IgotCSJyZXAgOyBtb3ZzYlxuXHQiCi0JIjE6IgotCTogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKSwgIj0mUyIgKGQyKQotCTogIjAiIChuLzQpLCAiZyIgKG4pLCAiMSIgKChsb25nKSB0byksICIyIiAoKGxvbmcpIGZyb20pCi0JOiAibWVtb3J5Iik7Ci1yZXR1cm4gKHRvKTsKKwlpbnQgZDAsIGQxLCBkMjsKKwlhc20gdm9sYXRpbGUoInJlcCA7IG1vdnNsXG5cdCIKKwkJICAgICAibW92bCAlNCwlJWVjeFxuXHQiCisJCSAgICAgImFuZGwgJDMsJSVlY3hcblx0IgorCQkgICAgICJqeiAxZlxuXHQiCisJCSAgICAgInJlcCA7IG1vdnNiXG5cdCIKKwkJICAgICAiMToiCisJCSAgICAgOiAiPSZjIiAoZDApLCAiPSZEIiAoZDEpLCAiPSZTIiAoZDIpCisJCSAgICAgOiAiMCIgKG4gLyA0KSwgImciIChuKSwgIjEiICgobG9uZyl0byksICIyIiAoKGxvbmcpZnJvbSkKKwkJICAgICA6ICJtZW1vcnkiKTsKKwlyZXR1cm4gdG87CiB9CiAKIC8qCiAgKiBUaGlzIGxvb2tzIHVnbHksIGJ1dCB0aGUgY29tcGlsZXIgY2FuIG9wdGltaXplIGl0IHRvdGFsbHksCiAgKiBhcyB0aGUgY291bnQgaXMgY29uc3RhbnQuCiAgKi8KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fY29uc3RhbnRfbWVtY3B5KHZvaWQgKiB0bywgY29uc3Qgdm9pZCAqIGZyb20sIHNpemVfdCBuKQorc3RhdGljIF9fYWx3YXlzX2lubGluZSB2b2lkICpfX2NvbnN0YW50X21lbWNweSh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwKKwkJCQkJICAgICAgIHNpemVfdCBuKQogewogCWxvbmcgZXNpLCBlZGk7Ci0JaWYgKCFuKSByZXR1cm4gdG87Ci0jaWYgMQkvKiB3YW50IHRvIGRvIHNtYWxsIGNvcGllcyB3aXRoIG5vbi1zdHJpbmcgb3BzPyAqLworCWlmICghbikKKwkJcmV0dXJuIHRvOworCiAJc3dpdGNoIChuKSB7Ci0JCWNhc2UgMTogKihjaGFyKil0byA9ICooY2hhciopZnJvbTsgcmV0dXJuIHRvOwotCQljYXNlIDI6ICooc2hvcnQqKXRvID0gKihzaG9ydCopZnJvbTsgcmV0dXJuIHRvOwotCQljYXNlIDQ6ICooaW50Kil0byA9ICooaW50Kilmcm9tOyByZXR1cm4gdG87Ci0jaWYgMQkvKiBpbmNsdWRpbmcgdGhvc2UgZG9hYmxlIHdpdGggdHdvIG1vdmVzPyAqLwotCQljYXNlIDM6ICooc2hvcnQqKXRvID0gKihzaG9ydCopZnJvbTsKLQkJCSooKGNoYXIqKXRvKzIpID0gKigoY2hhciopZnJvbSsyKTsgcmV0dXJuIHRvOwotCQljYXNlIDU6ICooaW50Kil0byA9ICooaW50Kilmcm9tOwotCQkJKigoY2hhciopdG8rNCkgPSAqKChjaGFyKilmcm9tKzQpOyByZXR1cm4gdG87Ci0JCWNhc2UgNjogKihpbnQqKXRvID0gKihpbnQqKWZyb207Ci0JCQkqKChzaG9ydCopdG8rMikgPSAqKChzaG9ydCopZnJvbSsyKTsgcmV0dXJuIHRvOwotCQljYXNlIDg6ICooaW50Kil0byA9ICooaW50Kilmcm9tOwotCQkJKigoaW50Kil0bysxKSA9ICooKGludCopZnJvbSsxKTsgcmV0dXJuIHRvOwotI2VuZGlmCisJY2FzZSAxOgorCQkqKGNoYXIgKil0byA9ICooY2hhciAqKWZyb207CisJCXJldHVybiB0bzsKKwljYXNlIDI6CisJCSooc2hvcnQgKil0byA9ICooc2hvcnQgKilmcm9tOworCQlyZXR1cm4gdG87CisJY2FzZSA0OgorCQkqKGludCAqKXRvID0gKihpbnQgKilmcm9tOworCQlyZXR1cm4gdG87CisKKwljYXNlIDM6CisJCSooc2hvcnQgKil0byA9ICooc2hvcnQgKilmcm9tOworCQkqKChjaGFyICopdG8gKyAyKSA9ICooKGNoYXIgKilmcm9tICsgMik7CisJCXJldHVybiB0bzsKKwljYXNlIDU6CisJCSooaW50ICopdG8gPSAqKGludCAqKWZyb207CisJCSooKGNoYXIgKil0byArIDQpID0gKigoY2hhciAqKWZyb20gKyA0KTsKKwkJcmV0dXJuIHRvOworCWNhc2UgNjoKKwkJKihpbnQgKil0byA9ICooaW50ICopZnJvbTsKKwkJKigoc2hvcnQgKil0byArIDIpID0gKigoc2hvcnQgKilmcm9tICsgMik7CisJCXJldHVybiB0bzsKKwljYXNlIDg6CisJCSooaW50ICopdG8gPSAqKGludCAqKWZyb207CisJCSooKGludCAqKXRvICsgMSkgPSAqKChpbnQgKilmcm9tICsgMSk7CisJCXJldHVybiB0bzsKIAl9Ci0jZW5kaWYKLQllc2kgPSAobG9uZykgZnJvbTsKLQllZGkgPSAobG9uZykgdG87Ci0JaWYgKG4gPj0gNSo0KSB7CisKKwllc2kgPSAobG9uZylmcm9tOworCWVkaSA9IChsb25nKXRvOworCWlmIChuID49IDUgKiA0KSB7CiAJCS8qIGxhcmdlIGJsb2NrOiB1c2UgcmVwIHByZWZpeCAqLwogCQlpbnQgZWN4OwotCQlfX2FzbV9fIF9fdm9sYXRpbGVfXygKLQkJCSJyZXAgOyBtb3ZzbCIKLQkJCTogIj0mYyIgKGVjeCksICI9JkQiIChlZGkpLCAiPSZTIiAoZXNpKQotCQkJOiAiMCIgKG4vNCksICIxIiAoZWRpKSwiMiIgKGVzaSkKLQkJCTogIm1lbW9yeSIKKwkJYXNtIHZvbGF0aWxlKCJyZXAgOyBtb3ZzbCIKKwkJCSAgICAgOiAiPSZjIiAoZWN4KSwgIj0mRCIgKGVkaSksICI9JlMiIChlc2kpCisJCQkgICAgIDogIjAiIChuIC8gNCksICIxIiAoZWRpKSwgIjIiIChlc2kpCisJCQkgICAgIDogIm1lbW9yeSIKIAkJKTsKIAl9IGVsc2UgewogCQkvKiBzbWFsbCBibG9jazogZG9uJ3QgY2xvYmJlciBlY3ggKyBzbWFsbGVyIGNvZGUgKi8KLQkJaWYgKG4gPj0gNCo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMyo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMio0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMSo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKKwkJaWYgKG4gPj0gNCAqIDQpCisJCQlhc20gdm9sYXRpbGUoIm1vdnNsIgorCQkJCSAgICAgOiAiPSZEIihlZGkpLCAiPSZTIihlc2kpCisJCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJCSAgICAgOiAibWVtb3J5Iik7CisJCWlmIChuID49IDMgKiA0KQorCQkJYXNtIHZvbGF0aWxlKCJtb3ZzbCIKKwkJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCQkgICAgIDogIm1lbW9yeSIpOworCQlpZiAobiA+PSAyICogNCkKKwkJCWFzbSB2b2xhdGlsZSgibW92c2wiCisJCQkJICAgICA6ICI9JkQiKGVkaSksICI9JlMiKGVzaSkKKwkJCQkgICAgIDogIjAiKGVkaSksICIxIihlc2kpCisJCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJaWYgKG4gPj0gMSAqIDQpCisJCQlhc20gdm9sYXRpbGUoIm1vdnNsIgorCQkJCSAgICAgOiAiPSZEIihlZGkpLCAiPSZTIihlc2kpCisJCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJCSAgICAgOiAibWVtb3J5Iik7CiAJfQogCXN3aXRjaCAobiAlIDQpIHsKIAkJLyogdGFpbCAqLwotCQljYXNlIDA6IHJldHVybiB0bzsKLQkJY2FzZSAxOiBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2IiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJCXJldHVybiB0bzsKLQkJY2FzZSAyOiBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c3ciCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJCXJldHVybiB0bzsKLQkJZGVmYXVsdDogX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdnN3XG5cdG1vdnNiIgotCQkJOiI9JkQiKGVkaSksIj0mUyIoZXNpKToiMCIoZWRpKSwiMSIoZXNpKToibWVtb3J5Iik7Ci0JCQlyZXR1cm4gdG87CisJY2FzZSAwOgorCQlyZXR1cm4gdG87CisJY2FzZSAxOgorCQlhc20gdm9sYXRpbGUoIm1vdnNiIgorCQkJICAgICA6ICI9JkQiKGVkaSksICI9JlMiKGVzaSkKKwkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCSAgICAgOiAibWVtb3J5Iik7CisJCXJldHVybiB0bzsKKwljYXNlIDI6CisJCWFzbSB2b2xhdGlsZSgibW92c3ciCisJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHRvOworCWRlZmF1bHQ6CisJCWFzbSB2b2xhdGlsZSgibW92c3dcblx0bW92c2IiCisJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHRvOwogCX0KIH0KIApAQCAtMTE3LDg3ICsxNTIsODYgQEAKICAqCVRoaXMgQ1BVIGZhdm91cnMgM0ROb3cgc3Ryb25nbHkgKGVnIEFNRCBBdGhsb24pCiAgKi8KIAotc3RhdGljIGlubGluZSB2b2lkICogX19jb25zdGFudF9tZW1jcHkzZCh2b2lkICogdG8sIGNvbnN0IHZvaWQgKiBmcm9tLCBzaXplX3QgbGVuKQorc3RhdGljIGlubGluZSB2b2lkICpfX2NvbnN0YW50X21lbWNweTNkKHZvaWQgKnRvLCBjb25zdCB2b2lkICpmcm9tLCBzaXplX3QgbGVuKQogewogCWlmIChsZW4gPCA1MTIpCiAJCXJldHVybiBfX2NvbnN0YW50X21lbWNweSh0bywgZnJvbSwgbGVuKTsKIAlyZXR1cm4gX21teF9tZW1jcHkodG8sIGZyb20sIGxlbik7CiB9CiAKLXN0YXRpYyBfX2lubGluZV9fIHZvaWQgKl9fbWVtY3B5M2Qodm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHNpemVfdCBsZW4pCitzdGF0aWMgaW5saW5lIHZvaWQgKl9fbWVtY3B5M2Qodm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHNpemVfdCBsZW4pCiB7CiAJaWYgKGxlbiA8IDUxMikKIAkJcmV0dXJuIF9fbWVtY3B5KHRvLCBmcm9tLCBsZW4pOwogCXJldHVybiBfbW14X21lbWNweSh0bywgZnJvbSwgbGVuKTsKIH0KIAotI2RlZmluZSBtZW1jcHkodCwgZiwgbikgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKG4pID8gXAotIF9fY29uc3RhbnRfbWVtY3B5M2QoKHQpLChmKSwobikpIDogXAotIF9fbWVtY3B5M2QoKHQpLChmKSwobikpKQorI2RlZmluZSBtZW1jcHkodCwgZiwgbikJCQkJXAorCShfX2J1aWx0aW5fY29uc3RhbnRfcCgobikpCQlcCisJID8gX19jb25zdGFudF9tZW1jcHkzZCgodCksIChmKSwgKG4pKQlcCisJIDogX19tZW1jcHkzZCgodCksIChmKSwgKG4pKSkKIAogI2Vsc2UKIAogLyoKICAqCU5vIDNEIE5vdyEKICAqLwotIAotI2RlZmluZSBtZW1jcHkodCwgZiwgbikgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKG4pID8gXAotIF9fY29uc3RhbnRfbWVtY3B5KCh0KSwoZiksKG4pKSA6IFwKLSBfX21lbWNweSgodCksKGYpLChuKSkpCisKKyNkZWZpbmUgbWVtY3B5KHQsIGYsIG4pCQkJCVwKKwkoX19idWlsdGluX2NvbnN0YW50X3AoKG4pKQkJXAorCSA/IF9fY29uc3RhbnRfbWVtY3B5KCh0KSwgKGYpLCAobikpCVwKKwkgOiBfX21lbWNweSgodCksIChmKSwgKG4pKSkKIAogI2VuZGlmCiAKICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNTU9WRQotdm9pZCAqbWVtbW92ZSh2b2lkICogZGVzdCxjb25zdCB2b2lkICogc3JjLCBzaXplX3Qgbik7Cit2b2lkICptZW1tb3ZlKHZvaWQgKmRlc3QsIGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IG4pOwogCiAjZGVmaW5lIG1lbWNtcCBfX2J1aWx0aW5fbWVtY21wCiAKICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNQ0hSCi1leHRlcm4gdm9pZCAqbWVtY2hyKGNvbnN0IHZvaWQgKiBjcyxpbnQgYyxzaXplX3QgY291bnQpOworZXh0ZXJuIHZvaWQgKm1lbWNocihjb25zdCB2b2lkICpjcywgaW50IGMsIHNpemVfdCBjb3VudCk7CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCAqIF9fbWVtc2V0X2dlbmVyaWModm9pZCAqIHMsIGNoYXIgYyxzaXplX3QgY291bnQpCitzdGF0aWMgaW5saW5lIHZvaWQgKl9fbWVtc2V0X2dlbmVyaWModm9pZCAqcywgY2hhciBjLCBzaXplX3QgY291bnQpCiB7Ci1pbnQgZDAsIGQxOwotX19hc21fXyBfX3ZvbGF0aWxlX18oCi0JInJlcFxuXHQiCi0JInN0b3NiIgotCTogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKQotCToiYSIgKGMpLCIxIiAocyksIjAiIChjb3VudCkKLQk6Im1lbW9yeSIpOwotcmV0dXJuIHM7CisJaW50IGQwLCBkMTsKKwlhc20gdm9sYXRpbGUoInJlcFxuXHQiCisJCSAgICAgInN0b3NiIgorCQkgICAgIDogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKQorCQkgICAgIDogImEiIChjKSwgIjEiIChzKSwgIjAiIChjb3VudCkKKwkJICAgICA6ICJtZW1vcnkiKTsKKwlyZXR1cm4gczsKIH0KIAogLyogd2UgbWlnaHQgd2FudCB0byB3cml0ZSBvcHRpbWl6ZWQgdmVyc2lvbnMgb2YgdGhlc2UgbGF0ZXIgKi8KLSNkZWZpbmUgX19jb25zdGFudF9jb3VudF9tZW1zZXQocyxjLGNvdW50KSBfX21lbXNldF9nZW5lcmljKChzKSwoYyksKGNvdW50KSkKKyNkZWZpbmUgX19jb25zdGFudF9jb3VudF9tZW1zZXQocywgYywgY291bnQpIF9fbWVtc2V0X2dlbmVyaWMoKHMpLCAoYyksIChjb3VudCkpCiAKIC8qCi0gKiBtZW1zZXQoeCwwLHkpIGlzIGEgcmVhc29uYWJseSBjb21tb24gdGhpbmcgdG8gZG8sIHNvIHdlIHdhbnQgdG8gZmlsbAorICogbWVtc2V0KHgsIDAsIHkpIGlzIGEgcmVhc29uYWJseSBjb21tb24gdGhpbmcgdG8gZG8sIHNvIHdlIHdhbnQgdG8gZmlsbAogICogdGhpbmdzIDMyIGJpdHMgYXQgYSB0aW1lIGV2ZW4gd2hlbiB3ZSBkb24ndCBrbm93IHRoZSBzaXplIG9mIHRoZQogICogYXJlYSBhdCBjb21waWxlLXRpbWUuLgogICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQgKiBfX2NvbnN0YW50X2NfbWVtc2V0KHZvaWQgKiBzLCB1bnNpZ25lZCBsb25nIGMsIHNpemVfdCBjb3VudCkKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUKK3ZvaWQgKl9fY29uc3RhbnRfY19tZW1zZXQodm9pZCAqcywgdW5zaWduZWQgbG9uZyBjLCBzaXplX3QgY291bnQpCiB7Ci1pbnQgZDAsIGQxOwotX19hc21fXyBfX3ZvbGF0aWxlX18oCi0JInJlcCA7IHN0b3NsXG5cdCIKLQkidGVzdGIgJDIsJWIzXG5cdCIKLQkiamUgMWZcblx0IgotCSJzdG9zd1xuIgotCSIxOlx0dGVzdGIgJDEsJWIzXG5cdCIKLQkiamUgMmZcblx0IgotCSJzdG9zYlxuIgotCSIyOiIKLQk6Ij0mYyIgKGQwKSwgIj0mRCIgKGQxKQotCToiYSIgKGMpLCAicSIgKGNvdW50KSwgIjAiIChjb3VudC80KSwgIjEiICgobG9uZykgcykKLQk6Im1lbW9yeSIpOwotcmV0dXJuIChzKTsJCisJaW50IGQwLCBkMTsKKwlhc20gdm9sYXRpbGUoInJlcCA7IHN0b3NsXG5cdCIKKwkJICAgICAidGVzdGIgJDIsJWIzXG5cdCIKKwkJICAgICAiamUgMWZcblx0IgorCQkgICAgICJzdG9zd1xuIgorCQkgICAgICIxOlx0dGVzdGIgJDEsJWIzXG5cdCIKKwkJICAgICAiamUgMmZcblx0IgorCQkgICAgICJzdG9zYlxuIgorCQkgICAgICIyOiIKKwkJICAgICA6ICI9JmMiIChkMCksICI9JkQiIChkMSkKKwkJICAgICA6ICJhIiAoYyksICJxIiAoY291bnQpLCAiMCIgKGNvdW50LzQpLCAiMSIgKChsb25nKXMpCisJCSAgICAgOiAibWVtb3J5Iik7CisJcmV0dXJuIHM7CiB9CiAKIC8qIEFkZGVkIGJ5IEdlcnRqYW4gdmFuIFdpbmdlcmRlIHRvIG1ha2UgbWluaXggYW5kIHN5c3YgbW9kdWxlIHdvcmsgKi8KICNkZWZpbmUgX19IQVZFX0FSQ0hfU1RSTkxFTgotZXh0ZXJuIHNpemVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKiBzLCBzaXplX3QgY291bnQpOworZXh0ZXJuIHNpemVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBjb3VudCk7CiAvKiBlbmQgb2YgYWRkaXRpb25hbCBzdHVmZiAqLwogCiAjZGVmaW5lIF9fSEFWRV9BUkNIX1NUUlNUUgpAQCAtMjA3LDY2ICsyNDEsODUgQEAKICAqIFRoaXMgbG9va3MgaG9ycmlibHkgdWdseSwgYnV0IHRoZSBjb21waWxlciBjYW4gb3B0aW1pemUgaXQgdG90YWxseSwKICAqIGFzIHdlIGJ5IG5vdyBrbm93IHRoYXQgYm90aCBwYXR0ZXJuIGFuZCBjb3VudCBpcyBjb25zdGFudC4uCiAgKi8KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fY29uc3RhbnRfY19hbmRfY291bnRfbWVtc2V0KHZvaWQgKiBzLCB1bnNpZ25lZCBsb25nIHBhdHRlcm4sIHNpemVfdCBjb3VudCkKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUKK3ZvaWQgKl9fY29uc3RhbnRfY19hbmRfY291bnRfbWVtc2V0KHZvaWQgKnMsIHVuc2lnbmVkIGxvbmcgcGF0dGVybiwKKwkJCQkgICAgc2l6ZV90IGNvdW50KQogewogCXN3aXRjaCAoY291bnQpIHsKKwljYXNlIDA6CisJCXJldHVybiBzOworCWNhc2UgMToKKwkJKih1bnNpZ25lZCBjaGFyICopcyA9IHBhdHRlcm4gJiAweGZmOworCQlyZXR1cm4gczsKKwljYXNlIDI6CisJCSoodW5zaWduZWQgc2hvcnQgKilzID0gcGF0dGVybiAmIDB4ZmZmZjsKKwkJcmV0dXJuIHM7CisJY2FzZSAzOgorCQkqKHVuc2lnbmVkIHNob3J0ICopcyA9IHBhdHRlcm4gJiAweGZmZmY7CisJCSooKHVuc2lnbmVkIGNoYXIgKilzICsgMikgPSBwYXR0ZXJuICYgMHhmZjsKKwkJcmV0dXJuIHM7CisJY2FzZSA0OgorCQkqKHVuc2lnbmVkIGxvbmcgKilzID0gcGF0dGVybjsKKwkJcmV0dXJuIHM7CisJfQorCisjZGVmaW5lIENPTU1PTih4KQkJCQkJCQlcCisJYXNtIHZvbGF0aWxlKCJyZXAgOyBzdG9zbCIJCQkJCVwKKwkJICAgICB4CQkJCQkJCVwKKwkJICAgICA6ICI9JmMiIChkMCksICI9JkQiIChkMSkJCQkJXAorCQkgICAgIDogImEiIChlYXgpLCAiMCIgKGNvdW50LzQpLCAiMSIgKChsb25nKXMpCVwKKwkJICAgICA6ICJtZW1vcnkiKQorCisJeworCQlpbnQgZDAsIGQxOworI2lmIF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPT0gMAorCQkvKiBXb3JrYXJvdW5kIGZvciBicm9rZW4gZ2NjIDQuMCAqLworCQlyZWdpc3RlciB1bnNpZ25lZCBsb25nIGVheCBhc20oIiVlYXgiKSA9IHBhdHRlcm47CisjZWxzZQorCQl1bnNpZ25lZCBsb25nIGVheCA9IHBhdHRlcm47CisjZW5kaWYKKworCQlzd2l0Y2ggKGNvdW50ICUgNCkgewogCQljYXNlIDA6CisJCQlDT01NT04oIiIpOwogCQkJcmV0dXJuIHM7CiAJCWNhc2UgMToKLQkJCSoodW5zaWduZWQgY2hhciAqKXMgPSBwYXR0ZXJuICYgMHhmZjsKKwkJCUNPTU1PTigiXG5cdHN0b3NiIik7CiAJCQlyZXR1cm4gczsKIAkJY2FzZSAyOgotCQkJKih1bnNpZ25lZCBzaG9ydCAqKXMgPSBwYXR0ZXJuICYgMHhmZmZmOworCQkJQ09NTU9OKCJcblx0c3Rvc3ciKTsKIAkJCXJldHVybiBzOwotCQljYXNlIDM6Ci0JCQkqKHVuc2lnbmVkIHNob3J0ICopcyA9IHBhdHRlcm4gJiAweGZmZmY7Ci0JCQkqKDIrKHVuc2lnbmVkIGNoYXIgKilzKSA9IHBhdHRlcm4gJiAweGZmOworCQlkZWZhdWx0OgorCQkJQ09NTU9OKCJcblx0c3Rvc3dcblx0c3Rvc2IiKTsKIAkJCXJldHVybiBzOwotCQljYXNlIDQ6Ci0JCQkqKHVuc2lnbmVkIGxvbmcgKilzID0gcGF0dGVybjsKLQkJCXJldHVybiBzOworCQl9CiAJfQotI2RlZmluZSBDT01NT04oeCkgXAotX19hc21fXyAgX192b2xhdGlsZV9fKCBcCi0JInJlcCA7IHN0b3NsIiBcCi0JeCBcCi0JOiAiPSZjIiAoZDApLCAiPSZEIiAoZDEpIFwKLQk6ICJhIiAocGF0dGVybiksIjAiIChjb3VudC80KSwiMSIgKChsb25nKSBzKSBcCi0JOiAibWVtb3J5IikKLXsKLQlpbnQgZDAsIGQxOwotCXN3aXRjaCAoY291bnQgJSA0KSB7Ci0JCWNhc2UgMDogQ09NTU9OKCIiKTsgcmV0dXJuIHM7Ci0JCWNhc2UgMTogQ09NTU9OKCJcblx0c3Rvc2IiKTsgcmV0dXJuIHM7Ci0JCWNhc2UgMjogQ09NTU9OKCJcblx0c3Rvc3ciKTsgcmV0dXJuIHM7Ci0JCWRlZmF1bHQ6IENPTU1PTigiXG5cdHN0b3N3XG5cdHN0b3NiIik7IHJldHVybiBzOwotCX0KLX0KLSAgCisKICN1bmRlZiBDT01NT04KIH0KIAotI2RlZmluZSBfX2NvbnN0YW50X2NfeF9tZW1zZXQocywgYywgY291bnQpIFwKLShfX2J1aWx0aW5fY29uc3RhbnRfcChjb3VudCkgPyBcCi0gX19jb25zdGFudF9jX2FuZF9jb3VudF9tZW1zZXQoKHMpLChjKSwoY291bnQpKSA6IFwKLSBfX2NvbnN0YW50X2NfbWVtc2V0KChzKSwoYyksKGNvdW50KSkpCisjZGVmaW5lIF9fY29uc3RhbnRfY194X21lbXNldChzLCBjLCBjb3VudCkJCQlcCisJKF9fYnVpbHRpbl9jb25zdGFudF9wKGNvdW50KQkJCQlcCisJID8gX19jb25zdGFudF9jX2FuZF9jb3VudF9tZW1zZXQoKHMpLCAoYyksIChjb3VudCkpCVwKKwkgOiBfX2NvbnN0YW50X2NfbWVtc2V0KChzKSwgKGMpLCAoY291bnQpKSkKIAotI2RlZmluZSBfX21lbXNldChzLCBjLCBjb3VudCkgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKGNvdW50KSA/IFwKLSBfX2NvbnN0YW50X2NvdW50X21lbXNldCgocyksKGMpLChjb3VudCkpIDogXAotIF9fbWVtc2V0X2dlbmVyaWMoKHMpLChjKSwoY291bnQpKSkKKyNkZWZpbmUgX19tZW1zZXQocywgYywgY291bnQpCQkJCVwKKwkoX19idWlsdGluX2NvbnN0YW50X3AoY291bnQpCQkJXAorCSA/IF9fY29uc3RhbnRfY291bnRfbWVtc2V0KChzKSwgKGMpLCAoY291bnQpKQlcCisJIDogX19tZW1zZXRfZ2VuZXJpYygocyksIChjKSwgKGNvdW50KSkpCiAKICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNU0VUCi0jZGVmaW5lIG1lbXNldChzLCBjLCBjb3VudCkgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKGMpID8gXAotIF9fY29uc3RhbnRfY194X21lbXNldCgocyksKDB4MDEwMTAxMDFVTCoodW5zaWduZWQgY2hhcikoYykpLChjb3VudCkpIDogXAotIF9fbWVtc2V0KChzKSwoYyksKGNvdW50KSkpCisjZGVmaW5lIG1lbXNldChzLCBjLCBjb3VudCkJCQkJCQlcCisJKF9fYnVpbHRpbl9jb25zdGFudF9wKGMpCQkJCQlcCisJID8gX19jb25zdGFudF9jX3hfbWVtc2V0KChzKSwgKDB4MDEwMTAxMDFVTCAqICh1bnNpZ25lZCBjaGFyKShjKSksIFwKKwkJCQkgKGNvdW50KSkJCQkJXAorCSA6IF9fbWVtc2V0KChzKSwgKGMpLCAoY291bnQpKSkKIAogLyoKICAqIGZpbmQgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgYnl0ZSAnYycsIG9yIDEgcGFzdCB0aGUgYXJlYSBpZiBub25lCiAgKi8KICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNU0NBTgotZXh0ZXJuIHZvaWQgKm1lbXNjYW4odm9pZCAqIGFkZHIsIGludCBjLCBzaXplX3Qgc2l6ZSk7CitleHRlcm4gdm9pZCAqbWVtc2Nhbih2b2lkICphZGRyLCBpbnQgYywgc2l6ZV90IHNpemUpOwogCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc3VzcGVuZF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L3N1c3BlbmRfMzIuaAppbmRleCAyNGUxYzA4Li44Njc1YzY3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc3VzcGVuZF8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zdXNwZW5kXzMyLmgKQEAgLTMsNiArMyw5IEBACiAgKiBCYXNlZCBvbiBjb2RlCiAgKiBDb3B5cmlnaHQgMjAwMSBQYXRyaWNrIE1vY2hlbCA8bW9jaGVsQG9zZGwub3JnPgogICovCisjaWZuZGVmIF9fQVNNX1g4Nl8zMl9TVVNQRU5EX0gKKyNkZWZpbmUgX19BU01fWDg2XzMyX1NVU1BFTkRfSAorCiAjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KICNpbmNsdWRlIDxhc20vaTM4Ny5oPgogCkBAIC00NCwzICs0Nyw1IEBACiAvKiByb3V0aW5lcyBmb3Igc2F2aW5nL3Jlc3RvcmluZyBrZXJuZWwgc3RhdGUgKi8KIGV4dGVybiBpbnQgYWNwaV9zYXZlX3N0YXRlX21lbSh2b2lkKTsKICNlbmRpZgorCisjZW5kaWYgLyogX19BU01fWDg2XzMyX1NVU1BFTkRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3N5c3RlbS5oIGIvaW5jbHVkZS9hc20teDg2L3N5c3RlbS5oCmluZGV4IGEyZjA0Y2QuLjk4M2NlMzcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zeXN0ZW0uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvc3lzdGVtLmgKQEAgLTEzNiw3ICsxMzYsNyBAQAogI2RlZmluZSBzZXRfYmFzZShsZHQsIGJhc2UpIF9zZXRfYmFzZSgoKGNoYXIgKikmKGxkdCkpICwgKGJhc2UpKQogI2RlZmluZSBzZXRfbGltaXQobGR0LCBsaW1pdCkgX3NldF9saW1pdCgoKGNoYXIgKikmKGxkdCkpICwgKChsaW1pdCktMSkpCiAKLWV4dGVybiB2b2lkIGxvYWRfZ3NfaW5kZXgodW5zaWduZWQpOworZXh0ZXJuIHZvaWQgbmF0aXZlX2xvYWRfZ3NfaW5kZXgodW5zaWduZWQpOwogCiAvKgogICogTG9hZCBhIHNlZ21lbnQuIEZhbGwgYmFjayBvbiBsb2FkaW5nIHRoZSB6ZXJvCkBAIC0xNTMsMTQgKzE1MywxNCBAQAogCQkgICAgICJqbXAgMmJcbiIJCQlcCiAJCSAgICAgIi5wcmV2aW91c1xuIgkJXAogCQkgICAgIF9BU01fRVhUQUJMRSgxYiwzYikJXAotCQkgICAgIDogOiJyIiAodmFsdWUpLCAiciIgKDApKQorCQkgICAgIDogOiJyIiAodmFsdWUpLCAiciIgKDApIDogIm1lbW9yeSIpCiAKIAogLyoKICAqIFNhdmUgYSBzZWdtZW50IHJlZ2lzdGVyIGF3YXkKICAqLwogI2RlZmluZSBzYXZlc2VnbWVudChzZWcsIHZhbHVlKQkJCQlcCi0JYXNtIHZvbGF0aWxlKCJtb3YgJSUiICNzZWcgIiwlMCI6Ij1ybSIgKHZhbHVlKSkKKwlhc20oIm1vdiAlJSIgI3NlZyAiLCUwIjoiPXIiICh2YWx1ZSkgOiA6ICJtZW1vcnkiKQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZ2V0X2xpbWl0KHVuc2lnbmVkIGxvbmcgc2VnbWVudCkKIHsKQEAgLTI4Miw2ICsyODIsNyBAQAogI2lmZGVmIENPTkZJR19YODZfNjQKICNkZWZpbmUgcmVhZF9jcjgoKQkobmF0aXZlX3JlYWRfY3I4KCkpCiAjZGVmaW5lIHdyaXRlX2NyOCh4KQkobmF0aXZlX3dyaXRlX2NyOCh4KSkKKyNkZWZpbmUgbG9hZF9nc19pbmRleCAgIG5hdGl2ZV9sb2FkX2dzX2luZGV4CiAjZW5kaWYKIAogLyogQ2xlYXIgdGhlICdUUycgYml0ICovCkBAIC0yODksNyArMjkwLDcgQEAKIAogI2VuZGlmLyogQ09ORklHX1BBUkFWSVJUICovCiAKLSNkZWZpbmUgc3R0cygpIHdyaXRlX2NyMCg4IHwgcmVhZF9jcjAoKSkKKyNkZWZpbmUgc3R0cygpIHdyaXRlX2NyMChyZWFkX2NyMCgpIHwgWDg2X0NSMF9UUykKIAogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIApAQCAtMzAzLDcgKzMwNCw2IEBACiB2b2lkIGRpc2FibGVfaGx0KHZvaWQpOwogdm9pZCBlbmFibGVfaGx0KHZvaWQpOwogCi1leHRlcm4gaW50IGVzNzAwMF9wbGF0Owogdm9pZCBjcHVfaWRsZV93YWl0KHZvaWQpOwogCiBleHRlcm4gdW5zaWduZWQgbG9uZyBhcmNoX2FsaWduX3N0YWNrKHVuc2lnbmVkIGxvbmcgc3ApOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvLmggYi9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm8uaAppbmRleCA3NzI0NGYxLi44OTUzMzlkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm8uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm8uaApAQCAtMSw5ICsxLDI1MyBAQAorLyogdGhyZWFkX2luZm8uaDogbG93LWxldmVsIHRocmVhZCBpbmZvcm1hdGlvbgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMiAgRGF2aWQgSG93ZWxscyAoZGhvd2VsbHNAcmVkaGF0LmNvbSkKKyAqIC0gSW5jb3Jwb3JhdGluZyBzdWdnZXN0aW9ucyBtYWRlIGJ5IExpbnVzIFRvcnZhbGRzIGFuZCBEYXZlIE1pbGxlcgorICovCisKICNpZm5kZWYgX0FTTV9YODZfVEhSRUFEX0lORk9fSAorI2RlZmluZSBfQVNNX1g4Nl9USFJFQURfSU5GT19ICisKKyNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CisKKy8qCisgKiBsb3cgbGV2ZWwgdGFzayBkYXRhIHRoYXQgZW50cnkuUyBuZWVkcyBpbW1lZGlhdGUgYWNjZXNzIHRvCisgKiAtIHRoaXMgc3RydWN0IHNob3VsZCBmaXQgZW50aXJlbHkgaW5zaWRlIG9mIG9uZSBjYWNoZSBsaW5lCisgKiAtIHRoaXMgc3RydWN0IHNoYXJlcyB0aGUgc3VwZXJ2aXNvciBzdGFjayBwYWdlcworICovCisjaWZuZGVmIF9fQVNTRU1CTFlfXworc3RydWN0IHRhc2tfc3RydWN0Oworc3RydWN0IGV4ZWNfZG9tYWluOworI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKworc3RydWN0IHRocmVhZF9pbmZvIHsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRhc2s7CQkvKiBtYWluIHRhc2sgc3RydWN0dXJlICovCisJc3RydWN0IGV4ZWNfZG9tYWluCSpleGVjX2RvbWFpbjsJLyogZXhlY3V0aW9uIGRvbWFpbiAqLworCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwkJLyogbG93IGxldmVsIGZsYWdzICovCisJX191MzIJCQlzdGF0dXM7CQkvKiB0aHJlYWQgc3luY2hyb25vdXMgZmxhZ3MgKi8KKwlfX3UzMgkJCWNwdTsJCS8qIGN1cnJlbnQgQ1BVICovCisJaW50CQkJcHJlZW1wdF9jb3VudDsJLyogMCA9PiBwcmVlbXB0YWJsZSwKKwkJCQkJCSAgIDwwID0+IEJVRyAqLworCW1tX3NlZ21lbnRfdAkJYWRkcl9saW1pdDsKKwlzdHJ1Y3QgcmVzdGFydF9ibG9jayAgICByZXN0YXJ0X2Jsb2NrOworCXZvaWQgX191c2VyCQkqc3lzZW50ZXJfcmV0dXJuOwogI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAidGhyZWFkX2luZm9fMzIuaCIKLSNlbHNlCi0jIGluY2x1ZGUgInRocmVhZF9pbmZvXzY0LmgiCisJdW5zaWduZWQgbG9uZyAgICAgICAgICAgcHJldmlvdXNfZXNwOyAgIC8qIEVTUCBvZiB0aGUgcHJldmlvdXMgc3RhY2sgaW4KKwkJCQkJCSAgIGNhc2Ugb2YgbmVzdGVkIChJUlEpIHN0YWNrcworCQkJCQkJKi8KKwlfX3U4CQkJc3VwZXJ2aXNvcl9zdGFja1swXTsKICNlbmRpZgorfTsKKworI2RlZmluZSBJTklUX1RIUkVBRF9JTkZPKHRzaykJCQlcCit7CQkJCQkJXAorCS50YXNrCQk9ICZ0c2ssCQkJXAorCS5leGVjX2RvbWFpbgk9ICZkZWZhdWx0X2V4ZWNfZG9tYWluLAlcCisJLmZsYWdzCQk9IDAsCQkJXAorCS5jcHUJCT0gMCwJCQlcCisJLnByZWVtcHRfY291bnQJPSAxLAkJCVwKKwkuYWRkcl9saW1pdAk9IEtFUk5FTF9EUywJCVwKKwkucmVzdGFydF9ibG9jayA9IHsJCQlcCisJCS5mbiA9IGRvX25vX3Jlc3RhcnRfc3lzY2FsbCwJXAorCX0sCQkJCQlcCit9CisKKyNkZWZpbmUgaW5pdF90aHJlYWRfaW5mbwkoaW5pdF90aHJlYWRfdW5pb24udGhyZWFkX2luZm8pCisjZGVmaW5lIGluaXRfc3RhY2sJCShpbml0X3RocmVhZF91bmlvbi5zdGFjaykKKworI2Vsc2UgLyogIV9fQVNTRU1CTFlfXyAqLworCisjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CisKKyNlbmRpZgorCisvKgorICogdGhyZWFkIGluZm9ybWF0aW9uIGZsYWdzCisgKiAtIHRoZXNlIGFyZSBwcm9jZXNzIHN0YXRlIGZsYWdzIHRoYXQgdmFyaW91cyBhc3NlbWJseSBmaWxlcworICogICBtYXkgbmVlZCB0byBhY2Nlc3MKKyAqIC0gcGVuZGluZyB3b3JrLXRvLWJlLWRvbmUgZmxhZ3MgYXJlIGluIExTVworICogLSBvdGhlciBmbGFncyBpbiBNU1cKKyAqIFdhcm5pbmc6IGxheW91dCBvZiBMU1cgaXMgaGFyZGNvZGVkIGluIGVudHJ5LlMKKyAqLworI2RlZmluZSBUSUZfU1lTQ0FMTF9UUkFDRQkwCS8qIHN5c2NhbGwgdHJhY2UgYWN0aXZlICovCisjZGVmaW5lIFRJRl9TSUdQRU5ESU5HCQkyCS8qIHNpZ25hbCBwZW5kaW5nICovCisjZGVmaW5lIFRJRl9ORUVEX1JFU0NIRUQJMwkvKiByZXNjaGVkdWxpbmcgbmVjZXNzYXJ5ICovCisjZGVmaW5lIFRJRl9TSU5HTEVTVEVQCQk0CS8qIHJlZW5hYmxlIHNpbmdsZXN0ZXAgb24gdXNlciByZXR1cm4qLworI2RlZmluZSBUSUZfSVJFVAkJNQkvKiBmb3JjZSBJUkVUICovCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorI2RlZmluZSBUSUZfU1lTQ0FMTF9FTVUJCTYJLyogc3lzY2FsbCBlbXVsYXRpb24gYWN0aXZlICovCisjZW5kaWYKKyNkZWZpbmUgVElGX1NZU0NBTExfQVVESVQJNwkvKiBzeXNjYWxsIGF1ZGl0aW5nIGFjdGl2ZSAqLworI2RlZmluZSBUSUZfU0VDQ09NUAkJOAkvKiBzZWN1cmUgY29tcHV0aW5nICovCisjZGVmaW5lIFRJRl9NQ0VfTk9USUZZCQkxMAkvKiBub3RpZnkgdXNlcnNwYWNlIG9mIGFuIE1DRSAqLworI2RlZmluZSBUSUZfSFJUSUNLX1JFU0NIRUQJMTEJLyogcmVwcm9ncmFtIGhydGljayB0aW1lciAqLworI2RlZmluZSBUSUZfTk9UU0MJCTE2CS8qIFRTQyBpcyBub3QgYWNjZXNzaWJsZSBpbiB1c2VybGFuZCAqLworI2RlZmluZSBUSUZfSUEzMgkJMTcJLyogMzJiaXQgcHJvY2VzcyAqLworI2RlZmluZSBUSUZfRk9SSwkJMTgJLyogcmV0X2Zyb21fZm9yayAqLworI2RlZmluZSBUSUZfQUJJX1BFTkRJTkcJCTE5CisjZGVmaW5lIFRJRl9NRU1ESUUJCTIwCisjZGVmaW5lIFRJRl9ERUJVRwkJMjEJLyogdXNlcyBkZWJ1ZyByZWdpc3RlcnMgKi8KKyNkZWZpbmUgVElGX0lPX0JJVE1BUAkJMjIJLyogdXNlcyBJL08gYml0bWFwICovCisjZGVmaW5lIFRJRl9GUkVFWkUJCTIzCS8qIGlzIGZyZWV6aW5nIGZvciBzdXNwZW5kICovCisjZGVmaW5lIFRJRl9GT1JDRURfVEYJCTI0CS8qIHRydWUgaWYgVEYgaW4gZWZsYWdzIGFydGlmaWNpYWxseSAqLworI2RlZmluZSBUSUZfREVCVUdDVExNU1IJCTI1CS8qIHVzZXMgdGhyZWFkX3N0cnVjdC5kZWJ1Z2N0bG1zciAqLworI2RlZmluZSBUSUZfRFNfQVJFQV9NU1IJCTI2ICAgICAgLyogdXNlcyB0aHJlYWRfc3RydWN0LmRzX2FyZWFfbXNyICovCisjZGVmaW5lIFRJRl9CVFNfVFJBQ0VfVFMJMjcgICAgICAvKiByZWNvcmQgc2NoZWR1bGluZyBldmVudCB0aW1lc3RhbXBzICovCisKKyNkZWZpbmUgX1RJRl9TWVNDQUxMX1RSQUNFCSgxIDw8IFRJRl9TWVNDQUxMX1RSQUNFKQorI2RlZmluZSBfVElGX1NJR1BFTkRJTkcJCSgxIDw8IFRJRl9TSUdQRU5ESU5HKQorI2RlZmluZSBfVElGX1NJTkdMRVNURVAJCSgxIDw8IFRJRl9TSU5HTEVTVEVQKQorI2RlZmluZSBfVElGX05FRURfUkVTQ0hFRAkoMSA8PCBUSUZfTkVFRF9SRVNDSEVEKQorI2RlZmluZSBfVElGX0lSRVQJCSgxIDw8IFRJRl9JUkVUKQorI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgX1RJRl9TWVNDQUxMX0VNVQkoMSA8PCBUSUZfU1lTQ0FMTF9FTVUpCisjZWxzZQorI2RlZmluZSBfVElGX1NZU0NBTExfRU1VCTAKKyNlbmRpZgorI2RlZmluZSBfVElGX1NZU0NBTExfQVVESVQJKDEgPDwgVElGX1NZU0NBTExfQVVESVQpCisjZGVmaW5lIF9USUZfU0VDQ09NUAkJKDEgPDwgVElGX1NFQ0NPTVApCisjZGVmaW5lIF9USUZfTUNFX05PVElGWQkJKDEgPDwgVElGX01DRV9OT1RJRlkpCisjZGVmaW5lIF9USUZfSFJUSUNLX1JFU0NIRUQJKDEgPDwgVElGX0hSVElDS19SRVNDSEVEKQorI2RlZmluZSBfVElGX05PVFNDCQkoMSA8PCBUSUZfTk9UU0MpCisjZGVmaW5lIF9USUZfSUEzMgkJKDEgPDwgVElGX0lBMzIpCisjZGVmaW5lIF9USUZfRk9SSwkJKDEgPDwgVElGX0ZPUkspCisjZGVmaW5lIF9USUZfQUJJX1BFTkRJTkcJKDEgPDwgVElGX0FCSV9QRU5ESU5HKQorI2RlZmluZSBfVElGX0RFQlVHCQkoMSA8PCBUSUZfREVCVUcpCisjZGVmaW5lIF9USUZfSU9fQklUTUFQCQkoMSA8PCBUSUZfSU9fQklUTUFQKQorI2RlZmluZSBfVElGX0ZSRUVaRQkJKDEgPDwgVElGX0ZSRUVaRSkKKyNkZWZpbmUgX1RJRl9GT1JDRURfVEYJCSgxIDw8IFRJRl9GT1JDRURfVEYpCisjZGVmaW5lIF9USUZfREVCVUdDVExNU1IJKDEgPDwgVElGX0RFQlVHQ1RMTVNSKQorI2RlZmluZSBfVElGX0RTX0FSRUFfTVNSCSgxIDw8IFRJRl9EU19BUkVBX01TUikKKyNkZWZpbmUgX1RJRl9CVFNfVFJBQ0VfVFMJKDEgPDwgVElGX0JUU19UUkFDRV9UUykKKworLyogd29yayB0byBkbyBvbiBpbnRlcnJ1cHQvZXhjZXB0aW9uIHJldHVybiAqLworI2RlZmluZSBfVElGX1dPUktfTUFTSwkJCQkJCQlcCisJKDB4MDAwMEZGRkYgJgkJCQkJCQlcCisJIH4oX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NJTkdMRVNURVB8CVwKKwkgX1RJRl9TRUNDT01QfF9USUZfU1lTQ0FMTF9FTVUpKQorCisvKiB3b3JrIHRvIGRvIG9uIGFueSByZXR1cm4gdG8gdXNlciBzcGFjZSAqLworI2RlZmluZSBfVElGX0FMTFdPUktfTUFTSyAoMHgwMDAwRkZGRiAmIH5fVElGX1NFQ0NPTVApCisKKy8qIE9ubHkgdXNlZCBmb3IgNjQgYml0ICovCisjZGVmaW5lIF9USUZfRE9fTk9USUZZX01BU0sJCQkJCQlcCisJKF9USUZfU0lHUEVORElOR3xfVElGX1NJTkdMRVNURVB8X1RJRl9NQ0VfTk9USUZZfF9USUZfSFJUSUNLX1JFU0NIRUQpCisKKy8qIGZsYWdzIHRvIGNoZWNrIGluIF9fc3dpdGNoX3RvKCkgKi8KKyNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXCQkJCQkJCVwKKwkoX1RJRl9JT19CSVRNQVB8X1RJRl9ERUJVR0NUTE1TUnxfVElGX0RTX0FSRUFfTVNSfF9USUZfQlRTX1RSQUNFX1RTfCBcCisJCQkJCQkJCV9USUZfTk9UU0MpCisKKyNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXX1BSRVYgX1RJRl9XT1JLX0NUWFNXCisjZGVmaW5lIF9USUZfV09SS19DVFhTV19ORVhUIChfVElGX1dPUktfQ1RYU1d8X1RJRl9ERUJVRykKKworI2RlZmluZSBQUkVFTVBUX0FDVElWRQkJMHgxMDAwMDAwMAorCisvKiB0aHJlYWQgaW5mb3JtYXRpb24gYWxsb2NhdGlvbiAqLworI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS19VU0FHRQorI2RlZmluZSBUSFJFQURfRkxBR1MgKEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKQorI2Vsc2UKKyNkZWZpbmUgVEhSRUFEX0ZMQUdTIEdGUF9LRVJORUwKKyNlbmRpZgorCisjZGVmaW5lIGFsbG9jX3RocmVhZF9pbmZvKHRzaykJCQkJCQlcCisJKChzdHJ1Y3QgdGhyZWFkX2luZm8gKilfX2dldF9mcmVlX3BhZ2VzKFRIUkVBRF9GTEFHUywgVEhSRUFEX09SREVSKSkKKworI2lmZGVmIENPTkZJR19YODZfMzIKKworI2RlZmluZSBTVEFDS19XQVJOCShUSFJFQURfU0laRS84KQorLyoKKyAqIG1hY3Jvcy9mdW5jdGlvbnMgZm9yIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0dXJlCisgKgorICogcHJlZW1wdF9jb3VudCBuZWVkcyB0byBiZSAxIGluaXRpYWxseSwgdW50aWwgdGhlIHNjaGVkdWxlciBpcyBmdW5jdGlvbmFsLgorICovCisjaWZuZGVmIF9fQVNTRU1CTFlfXworCisKKy8qIGhvdyB0byBnZXQgdGhlIGN1cnJlbnQgc3RhY2sgcG9pbnRlciBmcm9tIEMgKi8KK3JlZ2lzdGVyIHVuc2lnbmVkIGxvbmcgY3VycmVudF9zdGFja19wb2ludGVyIGFzbSgiZXNwIikgX191c2VkOworCisvKiBob3cgdG8gZ2V0IHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0IGZyb20gQyAqLworc3RhdGljIGlubGluZSBzdHJ1Y3QgdGhyZWFkX2luZm8gKmN1cnJlbnRfdGhyZWFkX2luZm8odm9pZCkKK3sKKwlyZXR1cm4gKHN0cnVjdCB0aHJlYWRfaW5mbyAqKQorCQkoY3VycmVudF9zdGFja19wb2ludGVyICYgfihUSFJFQURfU0laRSAtIDEpKTsKK30KKworI2Vsc2UgLyogIV9fQVNTRU1CTFlfXyAqLworCisvKiBob3cgdG8gZ2V0IHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0IGZyb20gQVNNICovCisjZGVmaW5lIEdFVF9USFJFQURfSU5GTyhyZWcpCSBcCisJbW92bCAkLVRIUkVBRF9TSVpFLCByZWc7IFwKKwlhbmRsICVlc3AsIHJlZworCisvKiB1c2UgdGhpcyBvbmUgaWYgcmVnIGFscmVhZHkgY29udGFpbnMgJWVzcCAqLworI2RlZmluZSBHRVRfVEhSRUFEX0lORk9fV0lUSF9FU1AocmVnKSBcCisJYW5kbCAkLVRIUkVBRF9TSVpFLCByZWcKKworI2VuZGlmCisKKyNlbHNlIC8qIFg4Nl8zMiAqLworCisjaW5jbHVkZSA8YXNtL3BkYS5oPgorCisvKgorICogbWFjcm9zL2Z1bmN0aW9ucyBmb3IgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmUKKyAqIHByZWVtcHRfY291bnQgbmVlZHMgdG8gYmUgMSBpbml0aWFsbHksIHVudGlsIHRoZSBzY2hlZHVsZXIgaXMgZnVuY3Rpb25hbC4KKyAqLworI2lmbmRlZiBfX0FTU0VNQkxZX18KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRocmVhZF9pbmZvICpjdXJyZW50X3RocmVhZF9pbmZvKHZvaWQpCit7CisJc3RydWN0IHRocmVhZF9pbmZvICp0aTsKKwl0aSA9ICh2b2lkICopKHJlYWRfcGRhKGtlcm5lbHN0YWNrKSArIFBEQV9TVEFDS09GRlNFVCAtIFRIUkVBRF9TSVpFKTsKKwlyZXR1cm4gdGk7Cit9CisKKy8qIGRvIG5vdCB1c2UgaW4gaW50ZXJydXB0IGNvbnRleHQgKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRocmVhZF9pbmZvICpzdGFja190aHJlYWRfaW5mbyh2b2lkKQoreworCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGk7CisJYXNtKCJhbmRxICUlcnNwLCUwOyAiIDogIj1yIiAodGkpIDogIjAiICh+KFRIUkVBRF9TSVpFIC0gMSkpKTsKKwlyZXR1cm4gdGk7Cit9CisKKyNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8KKworLyogaG93IHRvIGdldCB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdCBmcm9tIEFTTSAqLworI2RlZmluZSBHRVRfVEhSRUFEX0lORk8ocmVnKSBcCisJbW92cSAlZ3M6cGRhX2tlcm5lbHN0YWNrLHJlZyA7IFwKKwlzdWJxICQoVEhSRUFEX1NJWkUtUERBX1NUQUNLT0ZGU0VUKSxyZWcKKworI2VuZGlmCisKKyNlbmRpZiAvKiAhWDg2XzMyICovCisKKy8qCisgKiBUaHJlYWQtc3luY2hyb25vdXMgc3RhdHVzLgorICoKKyAqIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gdGhlIGZsYWdzIGluIHRoYXQgbm9ib2R5IGVsc2UKKyAqIGV2ZXIgdG91Y2hlcyBvdXIgdGhyZWFkLXN5bmNocm9ub3VzIHN0YXR1cywgc28gd2UgZG9uJ3QKKyAqIGhhdmUgdG8gd29ycnkgYWJvdXQgYXRvbWljIGFjY2Vzc2VzLgorICovCisjZGVmaW5lIFRTX1VTRURGUFUJCTB4MDAwMQkvKiBGUFUgd2FzIHVzZWQgYnkgdGhpcyB0YXNrCisJCQkJCSAgIHRoaXMgcXVhbnR1bSAoU01QKSAqLworI2RlZmluZSBUU19DT01QQVQJCTB4MDAwMgkvKiAzMmJpdCBzeXNjYWxsIGFjdGl2ZSAoNjRCSVQpKi8KKyNkZWZpbmUgVFNfUE9MTElORwkJMHgwMDA0CS8qIHRydWUgaWYgaW4gaWRsZSBsb29wCisJCQkJCSAgIGFuZCBub3Qgc2xlZXBpbmcgKi8KKyNkZWZpbmUgVFNfUkVTVE9SRV9TSUdNQVNLCTB4MDAwOAkvKiByZXN0b3JlIHNpZ25hbCBtYXNrIGluIGRvX3NpZ25hbCgpICovCisKKyNkZWZpbmUgdHNrX2lzX3BvbGxpbmcodCkgKHRhc2tfdGhyZWFkX2luZm8odCktPnN0YXR1cyAmIFRTX1BPTExJTkcpCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisjZGVmaW5lIEhBVkVfU0VUX1JFU1RPUkVfU0lHTUFTSwkxCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3Jlc3RvcmVfc2lnbWFzayh2b2lkKQoreworCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGkgPSBjdXJyZW50X3RocmVhZF9pbmZvKCk7CisJdGktPnN0YXR1cyB8PSBUU19SRVNUT1JFX1NJR01BU0s7CisJc2V0X2JpdChUSUZfU0lHUEVORElORywgKHVuc2lnbmVkIGxvbmcgKikmdGktPmZsYWdzKTsKK30KKyNlbmRpZgkvKiAhX19BU1NFTUJMWV9fICovCiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiBleHRlcm4gdm9pZCBhcmNoX3Rhc2tfY2FjaGVfaW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb18zMi5oIGIvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvXzMyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2MzM4ODIuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMDUgKzAsMCBAQAotLyogdGhyZWFkX2luZm8uaDogaTM4NiBsb3ctbGV2ZWwgdGhyZWFkIGluZm9ybWF0aW9uCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAyICBEYXZpZCBIb3dlbGxzIChkaG93ZWxsc0ByZWRoYXQuY29tKQotICogLSBJbmNvcnBvcmF0aW5nIHN1Z2dlc3Rpb25zIG1hZGUgYnkgTGludXMgVG9ydmFsZHMgYW5kIERhdmUgTWlsbGVyCi0gKi8KLQotI2lmbmRlZiBfQVNNX1RIUkVBRF9JTkZPX0gKLSNkZWZpbmUgX0FTTV9USFJFQURfSU5GT19ICi0KLSNpZmRlZiBfX0tFUk5FTF9fCi0KLSNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgotI2luY2x1ZGUgPGFzbS9wYWdlLmg+Ci0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2VuZGlmCi0KLS8qCi0gKiBsb3cgbGV2ZWwgdGFzayBkYXRhIHRoYXQgZW50cnkuUyBuZWVkcyBpbW1lZGlhdGUgYWNjZXNzIHRvCi0gKiAtIHRoaXMgc3RydWN0IHNob3VsZCBmaXQgZW50aXJlbHkgaW5zaWRlIG9mIG9uZSBjYWNoZSBsaW5lCi0gKiAtIHRoaXMgc3RydWN0IHNoYXJlcyB0aGUgc3VwZXJ2aXNvciBzdGFjayBwYWdlcwotICogLSBpZiB0aGUgY29udGVudHMgb2YgdGhpcyBzdHJ1Y3R1cmUgYXJlIGNoYW5nZWQsCi0gKiAgIHRoZSBhc3NlbWJseSBjb25zdGFudHMgbXVzdCBhbHNvIGJlIGNoYW5nZWQKLSAqLwotI2lmbmRlZiBfX0FTU0VNQkxZX18KLQotc3RydWN0IHRocmVhZF9pbmZvIHsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRhc2s7CQkvKiBtYWluIHRhc2sgc3RydWN0dXJlICovCi0Jc3RydWN0IGV4ZWNfZG9tYWluCSpleGVjX2RvbWFpbjsJLyogZXhlY3V0aW9uIGRvbWFpbiAqLwotCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwkJLyogbG93IGxldmVsIGZsYWdzICovCi0JdW5zaWduZWQgbG9uZwkJc3RhdHVzOwkJLyogdGhyZWFkLXN5bmNocm9ub3VzIGZsYWdzICovCi0JX191MzIJCQljcHU7CQkvKiBjdXJyZW50IENQVSAqLwotCWludAkJCXByZWVtcHRfY291bnQ7CS8qIDAgPT4gcHJlZW1wdGFibGUsCi0JCQkJCQkgICA8MCA9PiBCVUcgKi8KLQltbV9zZWdtZW50X3QJCWFkZHJfbGltaXQ7CS8qIHRocmVhZCBhZGRyZXNzIHNwYWNlOgotCQkJCQkJICAgMC0weEJGRkZGRkZGIHVzZXItdGhyZWFkCi0JCQkJCQkgICAwLTB4RkZGRkZGRkYga2VybmVsLXRocmVhZAotCQkJCQkJKi8KLQl2b2lkCQkJKnN5c2VudGVyX3JldHVybjsKLQlzdHJ1Y3QgcmVzdGFydF9ibG9jayAgICByZXN0YXJ0X2Jsb2NrOwotCXVuc2lnbmVkIGxvbmcgICAgICAgICAgIHByZXZpb3VzX2VzcDsgICAvKiBFU1Agb2YgdGhlIHByZXZpb3VzIHN0YWNrIGluCi0JCQkJCQkgICBjYXNlIG9mIG5lc3RlZCAoSVJRKSBzdGFja3MKLQkJCQkJCSovCi0JX191OAkJCXN1cGVydmlzb3Jfc3RhY2tbMF07Ci19OwotCi0jZWxzZSAvKiAhX19BU1NFTUJMWV9fICovCi0KLSNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KLQotI2VuZGlmCi0KLSNkZWZpbmUgUFJFRU1QVF9BQ1RJVkUJCTB4MTAwMDAwMDAKLSNpZmRlZiBDT05GSUdfNEtTVEFDS1MKLSNkZWZpbmUgVEhSRUFEX1NJWkUgICAgICAgICAgICAoNDA5NikKLSNlbHNlCi0jZGVmaW5lIFRIUkVBRF9TSVpFCQkoODE5MikKLSNlbmRpZgotCi0jZGVmaW5lIFNUQUNLX1dBUk4gICAgICAgICAgICAgKFRIUkVBRF9TSVpFLzgpCi0vKgotICogbWFjcm9zL2Z1bmN0aW9ucyBmb3IgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmUKLSAqCi0gKiBwcmVlbXB0X2NvdW50IG5lZWRzIHRvIGJlIDEgaW5pdGlhbGx5LCB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzIGZ1bmN0aW9uYWwuCi0gKi8KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0KLSNkZWZpbmUgSU5JVF9USFJFQURfSU5GTyh0c2spCQkJXAotewkJCQkJCVwKLQkudGFzawkJPSAmdHNrLAkJCVwKLQkuZXhlY19kb21haW4JPSAmZGVmYXVsdF9leGVjX2RvbWFpbiwJXAotCS5mbGFncwkJPSAwLAkJCVwKLQkuY3B1CQk9IDAsCQkJXAotCS5wcmVlbXB0X2NvdW50CT0gMSwJCQlcCi0JLmFkZHJfbGltaXQJPSBLRVJORUxfRFMsCQlcCi0JLnJlc3RhcnRfYmxvY2sgPSB7CQkJXAotCQkuZm4gPSBkb19ub19yZXN0YXJ0X3N5c2NhbGwsCVwKLQl9LAkJCQkJXAotfQotCi0jZGVmaW5lIGluaXRfdGhyZWFkX2luZm8JKGluaXRfdGhyZWFkX3VuaW9uLnRocmVhZF9pbmZvKQotI2RlZmluZSBpbml0X3N0YWNrCQkoaW5pdF90aHJlYWRfdW5pb24uc3RhY2spCi0KLQotLyogaG93IHRvIGdldCB0aGUgY3VycmVudCBzdGFjayBwb2ludGVyIGZyb20gQyAqLwotcmVnaXN0ZXIgdW5zaWduZWQgbG9uZyBjdXJyZW50X3N0YWNrX3BvaW50ZXIgYXNtKCJlc3AiKSBfX3VzZWQ7Ci0KLS8qIGhvdyB0byBnZXQgdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3QgZnJvbSBDICovCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqY3VycmVudF90aHJlYWRfaW5mbyh2b2lkKQotewotCXJldHVybiAoc3RydWN0IHRocmVhZF9pbmZvICopCi0JCShjdXJyZW50X3N0YWNrX3BvaW50ZXIgJiB+KFRIUkVBRF9TSVpFIC0gMSkpOwotfQotCi0vKiB0aHJlYWQgaW5mb3JtYXRpb24gYWxsb2NhdGlvbiAqLwotI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS19VU0FHRQotI2RlZmluZSBhbGxvY190aHJlYWRfaW5mbyh0c2spICgoc3RydWN0IHRocmVhZF9pbmZvICopCQkJXAotCV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8sIGdldF9vcmRlcihUSFJFQURfU0laRSkpKQotI2Vsc2UKLSNkZWZpbmUgYWxsb2NfdGhyZWFkX2luZm8odHNrKSAoKHN0cnVjdCB0aHJlYWRfaW5mbyAqKQkJCVwKLQlfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsIGdldF9vcmRlcihUSFJFQURfU0laRSkpKQotI2VuZGlmCi0KLSNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8KLQotLyogaG93IHRvIGdldCB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdCBmcm9tIEFTTSAqLwotI2RlZmluZSBHRVRfVEhSRUFEX0lORk8ocmVnKQkgXAotCW1vdmwgJC1USFJFQURfU0laRSwgcmVnOyBcCi0JYW5kbCAlZXNwLCByZWcKLQotLyogdXNlIHRoaXMgb25lIGlmIHJlZyBhbHJlYWR5IGNvbnRhaW5zICVlc3AgKi8KLSNkZWZpbmUgR0VUX1RIUkVBRF9JTkZPX1dJVEhfRVNQKHJlZykgXAotCWFuZGwgJC1USFJFQURfU0laRSwgcmVnCi0KLSNlbmRpZgotCi0vKgotICogdGhyZWFkIGluZm9ybWF0aW9uIGZsYWdzCi0gKiAtIHRoZXNlIGFyZSBwcm9jZXNzIHN0YXRlIGZsYWdzIHRoYXQgdmFyaW91cwotICogICBhc3NlbWJseSBmaWxlcyBtYXkgbmVlZCB0byBhY2Nlc3MKLSAqIC0gcGVuZGluZyB3b3JrLXRvLWJlLWRvbmUgZmxhZ3MgYXJlIGluIExTVwotICogLSBvdGhlciBmbGFncyBpbiBNU1cKLSAqLwotI2RlZmluZSBUSUZfU1lTQ0FMTF9UUkFDRQkwCS8qIHN5c2NhbGwgdHJhY2UgYWN0aXZlICovCi0jZGVmaW5lIFRJRl9TSUdQRU5ESU5HCQkxCS8qIHNpZ25hbCBwZW5kaW5nICovCi0jZGVmaW5lIFRJRl9ORUVEX1JFU0NIRUQJMgkvKiByZXNjaGVkdWxpbmcgbmVjZXNzYXJ5ICovCi0jZGVmaW5lIFRJRl9TSU5HTEVTVEVQCQkzCS8qIHJlc3RvcmUgc2luZ2xlc3RlcCBvbiByZXR1cm4gdG8KLQkJCQkJICAgdXNlciBtb2RlICovCi0jZGVmaW5lIFRJRl9JUkVUCQk0CS8qIHJldHVybiB3aXRoIGlyZXQgKi8KLSNkZWZpbmUgVElGX1NZU0NBTExfRU1VCQk1CS8qIHN5c2NhbGwgZW11bGF0aW9uIGFjdGl2ZSAqLwotI2RlZmluZSBUSUZfU1lTQ0FMTF9BVURJVAk2CS8qIHN5c2NhbGwgYXVkaXRpbmcgYWN0aXZlICovCi0jZGVmaW5lIFRJRl9TRUNDT01QCQk3CS8qIHNlY3VyZSBjb21wdXRpbmcgKi8KLSNkZWZpbmUgVElGX0hSVElDS19SRVNDSEVECTkJLyogcmVwcm9ncmFtIGhydGljayB0aW1lciAqLwotI2RlZmluZSBUSUZfTUVNRElFCQkxNgotI2RlZmluZSBUSUZfREVCVUcJCTE3CS8qIHVzZXMgZGVidWcgcmVnaXN0ZXJzICovCi0jZGVmaW5lIFRJRl9JT19CSVRNQVAJCTE4CS8qIHVzZXMgSS9PIGJpdG1hcCAqLwotI2RlZmluZSBUSUZfRlJFRVpFCQkxOQkvKiBpcyBmcmVlemluZyBmb3Igc3VzcGVuZCAqLwotI2RlZmluZSBUSUZfTk9UU0MJCTIwCS8qIFRTQyBpcyBub3QgYWNjZXNzaWJsZSBpbiB1c2VybGFuZCAqLwotI2RlZmluZSBUSUZfRk9SQ0VEX1RGCQkyMQkvKiB0cnVlIGlmIFRGIGluIGVmbGFncyBhcnRpZmljaWFsbHkgKi8KLSNkZWZpbmUgVElGX0RFQlVHQ1RMTVNSCQkyMgkvKiB1c2VzIHRocmVhZF9zdHJ1Y3QuZGVidWdjdGxtc3IgKi8KLSNkZWZpbmUgVElGX0RTX0FSRUFfTVNSIAkyMyAgICAgIC8qIHVzZXMgdGhyZWFkX3N0cnVjdC5kc19hcmVhX21zciAqLwotI2RlZmluZSBUSUZfQlRTX1RSQUNFX1RTICAgICAgICAyNCAgICAgIC8qIHJlY29yZCBzY2hlZHVsaW5nIGV2ZW50IHRpbWVzdGFtcHMgKi8KLQotI2RlZmluZSBfVElGX1NZU0NBTExfVFJBQ0UJKDEgPDwgVElGX1NZU0NBTExfVFJBQ0UpCi0jZGVmaW5lIF9USUZfU0lHUEVORElORwkJKDEgPDwgVElGX1NJR1BFTkRJTkcpCi0jZGVmaW5lIF9USUZfTkVFRF9SRVNDSEVECSgxIDw8IFRJRl9ORUVEX1JFU0NIRUQpCi0jZGVmaW5lIF9USUZfU0lOR0xFU1RFUAkJKDEgPDwgVElGX1NJTkdMRVNURVApCi0jZGVmaW5lIF9USUZfSVJFVAkJKDEgPDwgVElGX0lSRVQpCi0jZGVmaW5lIF9USUZfU1lTQ0FMTF9FTVUJKDEgPDwgVElGX1NZU0NBTExfRU1VKQotI2RlZmluZSBfVElGX1NZU0NBTExfQVVESVQJKDEgPDwgVElGX1NZU0NBTExfQVVESVQpCi0jZGVmaW5lIF9USUZfU0VDQ09NUAkJKDEgPDwgVElGX1NFQ0NPTVApCi0jZGVmaW5lIF9USUZfSFJUSUNLX1JFU0NIRUQJKDEgPDwgVElGX0hSVElDS19SRVNDSEVEKQotI2RlZmluZSBfVElGX0RFQlVHCQkoMSA8PCBUSUZfREVCVUcpCi0jZGVmaW5lIF9USUZfSU9fQklUTUFQCQkoMSA8PCBUSUZfSU9fQklUTUFQKQotI2RlZmluZSBfVElGX0ZSRUVaRQkJKDEgPDwgVElGX0ZSRUVaRSkKLSNkZWZpbmUgX1RJRl9OT1RTQwkJKDEgPDwgVElGX05PVFNDKQotI2RlZmluZSBfVElGX0ZPUkNFRF9URgkJKDEgPDwgVElGX0ZPUkNFRF9URikKLSNkZWZpbmUgX1RJRl9ERUJVR0NUTE1TUgkoMSA8PCBUSUZfREVCVUdDVExNU1IpCi0jZGVmaW5lIF9USUZfRFNfQVJFQV9NU1IJKDEgPDwgVElGX0RTX0FSRUFfTVNSKQotI2RlZmluZSBfVElGX0JUU19UUkFDRV9UUwkoMSA8PCBUSUZfQlRTX1RSQUNFX1RTKQotCi0vKiB3b3JrIHRvIGRvIG9uIGludGVycnVwdC9leGNlcHRpb24gcmV0dXJuICovCi0jZGVmaW5lIF9USUZfV09SS19NQVNLCQkJCQkJCVwKLQkoMHgwMDAwRkZGRiAmIH4oX1RJRl9TWVNDQUxMX1RSQUNFIHwgX1RJRl9TWVNDQUxMX0FVRElUIHwJXAotCQkJX1RJRl9TRUNDT01QIHwgX1RJRl9TWVNDQUxMX0VNVSkpCi0vKiB3b3JrIHRvIGRvIG9uIGFueSByZXR1cm4gdG8gdS1zcGFjZSAqLwotI2RlZmluZSBfVElGX0FMTFdPUktfTUFTSwkoMHgwMDAwRkZGRiAmIH5fVElGX1NFQ0NPTVApCi0KLS8qIGZsYWdzIHRvIGNoZWNrIGluIF9fc3dpdGNoX3RvKCkgKi8KLSNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXCQkJCQkJXAotCShfVElGX0lPX0JJVE1BUCB8IF9USUZfTk9UU0MgfCBfVElGX0RFQlVHQ1RMTVNSIHwJXAotCSBfVElGX0RTX0FSRUFfTVNSIHwgX1RJRl9CVFNfVFJBQ0VfVFMpCi0jZGVmaW5lIF9USUZfV09SS19DVFhTV19QUkVWIF9USUZfV09SS19DVFhTVwotI2RlZmluZSBfVElGX1dPUktfQ1RYU1dfTkVYVCAoX1RJRl9XT1JLX0NUWFNXIHwgX1RJRl9ERUJVRykKLQotCi0vKgotICogVGhyZWFkLXN5bmNocm9ub3VzIHN0YXR1cy4KLSAqCi0gKiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBmbGFncyBpbiB0aGF0IG5vYm9keSBlbHNlCi0gKiBldmVyIHRvdWNoZXMgb3VyIHRocmVhZC1zeW5jaHJvbm91cyBzdGF0dXMsIHNvIHdlIGRvbid0Ci0gKiBoYXZlIHRvIHdvcnJ5IGFib3V0IGF0b21pYyBhY2Nlc3Nlcy4KLSAqLwotI2RlZmluZSBUU19VU0VERlBVCQkweDAwMDEJLyogRlBVIHdhcyB1c2VkIGJ5IHRoaXMgdGFzawotCQkJCQkgICB0aGlzIHF1YW50dW0gKFNNUCkgKi8KLSNkZWZpbmUgVFNfUE9MTElORwkJMHgwMDAyCS8qIFRydWUgaWYgaW4gaWRsZSBsb29wCi0JCQkJCSAgIGFuZCBub3Qgc2xlZXBpbmcgKi8KLSNkZWZpbmUgVFNfUkVTVE9SRV9TSUdNQVNLCTB4MDAwNAkvKiByZXN0b3JlIHNpZ25hbCBtYXNrIGluIGRvX3NpZ25hbCgpICovCi0KLSNkZWZpbmUgdHNrX2lzX3BvbGxpbmcodCkgKHRhc2tfdGhyZWFkX2luZm8odCktPnN0YXR1cyAmIFRTX1BPTExJTkcpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jZGVmaW5lIEhBVkVfU0VUX1JFU1RPUkVfU0lHTUFTSwkxCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0X3Jlc3RvcmVfc2lnbWFzayh2b2lkKQotewotCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGkgPSBjdXJyZW50X3RocmVhZF9pbmZvKCk7Ci0JdGktPnN0YXR1cyB8PSBUU19SRVNUT1JFX1NJR01BU0s7Ci0Jc2V0X2JpdChUSUZfU0lHUEVORElORywgJnRpLT5mbGFncyk7Ci19Ci0jZW5kaWYJLyogIV9fQVNTRU1CTFlfXyAqLwotCi0jZW5kaWYgLyogX19LRVJORUxfXyAqLwotCi0jZW5kaWYgLyogX0FTTV9USFJFQURfSU5GT19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm9fNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb182NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjY5ZjcwLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb182NC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLS8qIHRocmVhZF9pbmZvLmg6IHg4Nl82NCBsb3ctbGV2ZWwgdGhyZWFkIGluZm9ybWF0aW9uCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAyICBEYXZpZCBIb3dlbGxzIChkaG93ZWxsc0ByZWRoYXQuY29tKQotICogLSBJbmNvcnBvcmF0aW5nIHN1Z2dlc3Rpb25zIG1hZGUgYnkgTGludXMgVG9ydmFsZHMgYW5kIERhdmUgTWlsbGVyCi0gKi8KLQotI2lmbmRlZiBfQVNNX1RIUkVBRF9JTkZPX0gKLSNkZWZpbmUgX0FTTV9USFJFQURfSU5GT19ICi0KLSNpZmRlZiBfX0tFUk5FTF9fCi0KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotI2luY2x1ZGUgPGFzbS90eXBlcy5oPgotI2luY2x1ZGUgPGFzbS9wZGEuaD4KLQotLyoKLSAqIGxvdyBsZXZlbCB0YXNrIGRhdGEgdGhhdCBlbnRyeS5TIG5lZWRzIGltbWVkaWF0ZSBhY2Nlc3MgdG8KLSAqIC0gdGhpcyBzdHJ1Y3Qgc2hvdWxkIGZpdCBlbnRpcmVseSBpbnNpZGUgb2Ygb25lIGNhY2hlIGxpbmUKLSAqIC0gdGhpcyBzdHJ1Y3Qgc2hhcmVzIHRoZSBzdXBlcnZpc29yIHN0YWNrIHBhZ2VzCi0gKi8KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1zdHJ1Y3QgdGFza19zdHJ1Y3Q7Ci1zdHJ1Y3QgZXhlY19kb21haW47Ci0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotCi1zdHJ1Y3QgdGhyZWFkX2luZm8gewotCXN0cnVjdCB0YXNrX3N0cnVjdAkqdGFzazsJCS8qIG1haW4gdGFzayBzdHJ1Y3R1cmUgKi8KLQlzdHJ1Y3QgZXhlY19kb21haW4JKmV4ZWNfZG9tYWluOwkvKiBleGVjdXRpb24gZG9tYWluICovCi0JX191MzIJCQlmbGFnczsJCS8qIGxvdyBsZXZlbCBmbGFncyAqLwotCV9fdTMyCQkJc3RhdHVzOwkJLyogdGhyZWFkIHN5bmNocm9ub3VzIGZsYWdzICovCi0JX191MzIJCQljcHU7CQkvKiBjdXJyZW50IENQVSAqLwotCWludCAJCQlwcmVlbXB0X2NvdW50OwkvKiAwID0+IHByZWVtcHRhYmxlLAotCQkJCQkJICAgPDAgPT4gQlVHICovCi0JbW1fc2VnbWVudF90CQlhZGRyX2xpbWl0OwotCXN0cnVjdCByZXN0YXJ0X2Jsb2NrICAgIHJlc3RhcnRfYmxvY2s7Ci0jaWZkZWYgQ09ORklHX0lBMzJfRU1VTEFUSU9OCi0Jdm9pZCBfX3VzZXIJCSpzeXNlbnRlcl9yZXR1cm47Ci0jZW5kaWYKLX07Ci0jZW5kaWYKLQotLyoKLSAqIG1hY3Jvcy9mdW5jdGlvbnMgZm9yIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0dXJlCi0gKiBwcmVlbXB0X2NvdW50IG5lZWRzIHRvIGJlIDEgaW5pdGlhbGx5LCB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzIGZ1bmN0aW9uYWwuCi0gKi8KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jZGVmaW5lIElOSVRfVEhSRUFEX0lORk8odHNrKQkJCVwKLXsJCQkJCQlcCi0JLnRhc2sJICAgICAgID0gJnRzaywJCQlcCi0JLmV4ZWNfZG9tYWluICAgPSAmZGVmYXVsdF9leGVjX2RvbWFpbiwJXAotCS5mbGFncwkgICAgICAgPSAwLAkJCVwKLQkuY3B1CSAgICAgICA9IDAsCQkJXAotCS5wcmVlbXB0X2NvdW50ID0gMSwJCQlcCi0JLmFkZHJfbGltaXQgICAgID0gS0VSTkVMX0RTLAkJXAotCS5yZXN0YXJ0X2Jsb2NrID0gewkJCVwKLQkJLmZuID0gZG9fbm9fcmVzdGFydF9zeXNjYWxsLAlcCi0JfSwJCQkJCVwKLX0KLQotI2RlZmluZSBpbml0X3RocmVhZF9pbmZvCShpbml0X3RocmVhZF91bmlvbi50aHJlYWRfaW5mbykKLSNkZWZpbmUgaW5pdF9zdGFjawkJKGluaXRfdGhyZWFkX3VuaW9uLnN0YWNrKQotCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqY3VycmVudF90aHJlYWRfaW5mbyh2b2lkKQotewotCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGk7Ci0JdGkgPSAodm9pZCAqKShyZWFkX3BkYShrZXJuZWxzdGFjaykgKyBQREFfU1RBQ0tPRkZTRVQgLSBUSFJFQURfU0laRSk7Ci0JcmV0dXJuIHRpOwotfQotCi0vKiBkbyBub3QgdXNlIGluIGludGVycnVwdCBjb250ZXh0ICovCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqc3RhY2tfdGhyZWFkX2luZm8odm9pZCkKLXsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpOwotCWFzbSgiYW5kcSAlJXJzcCwlMDsgIiA6ICI9ciIgKHRpKSA6ICIwIiAofihUSFJFQURfU0laRSAtIDEpKSk7Ci0JcmV0dXJuIHRpOwotfQotCi0vKiB0aHJlYWQgaW5mb3JtYXRpb24gYWxsb2NhdGlvbiAqLwotI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS19VU0FHRQotI2RlZmluZSBUSFJFQURfRkxBR1MgKEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKQotI2Vsc2UKLSNkZWZpbmUgVEhSRUFEX0ZMQUdTIEdGUF9LRVJORUwKLSNlbmRpZgotCi0jZGVmaW5lIGFsbG9jX3RocmVhZF9pbmZvKHRzaykJCQkJCQlcCi0JKChzdHJ1Y3QgdGhyZWFkX2luZm8gKilfX2dldF9mcmVlX3BhZ2VzKFRIUkVBRF9GTEFHUywgVEhSRUFEX09SREVSKSkKLQotI2Vsc2UgLyogIV9fQVNTRU1CTFlfXyAqLwotCi0vKiBob3cgdG8gZ2V0IHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0IGZyb20gQVNNICovCi0jZGVmaW5lIEdFVF9USFJFQURfSU5GTyhyZWcpIFwKLQltb3ZxICVnczpwZGFfa2VybmVsc3RhY2sscmVnIDsgXAotCXN1YnEgJChUSFJFQURfU0laRS1QREFfU1RBQ0tPRkZTRVQpLHJlZwotCi0jZW5kaWYKLQotLyoKLSAqIHRocmVhZCBpbmZvcm1hdGlvbiBmbGFncwotICogLSB0aGVzZSBhcmUgcHJvY2VzcyBzdGF0ZSBmbGFncyB0aGF0IHZhcmlvdXMgYXNzZW1ibHkgZmlsZXMKLSAqICAgbWF5IG5lZWQgdG8gYWNjZXNzCi0gKiAtIHBlbmRpbmcgd29yay10by1iZS1kb25lIGZsYWdzIGFyZSBpbiBMU1cKLSAqIC0gb3RoZXIgZmxhZ3MgaW4gTVNXCi0gKiBXYXJuaW5nOiBsYXlvdXQgb2YgTFNXIGlzIGhhcmRjb2RlZCBpbiBlbnRyeS5TCi0gKi8KLSNkZWZpbmUgVElGX1NZU0NBTExfVFJBQ0UJMAkvKiBzeXNjYWxsIHRyYWNlIGFjdGl2ZSAqLwotI2RlZmluZSBUSUZfU0lHUEVORElORwkJMgkvKiBzaWduYWwgcGVuZGluZyAqLwotI2RlZmluZSBUSUZfTkVFRF9SRVNDSEVECTMJLyogcmVzY2hlZHVsaW5nIG5lY2Vzc2FyeSAqLwotI2RlZmluZSBUSUZfU0lOR0xFU1RFUAkJNAkvKiByZWVuYWJsZSBzaW5nbGVzdGVwIG9uIHVzZXIgcmV0dXJuKi8KLSNkZWZpbmUgVElGX0lSRVQJCTUJLyogZm9yY2UgSVJFVCAqLwotI2RlZmluZSBUSUZfU1lTQ0FMTF9BVURJVAk3CS8qIHN5c2NhbGwgYXVkaXRpbmcgYWN0aXZlICovCi0jZGVmaW5lIFRJRl9TRUNDT01QCQk4CS8qIHNlY3VyZSBjb21wdXRpbmcgKi8KLSNkZWZpbmUgVElGX01DRV9OT1RJRlkJCTEwCS8qIG5vdGlmeSB1c2Vyc3BhY2Ugb2YgYW4gTUNFICovCi0jZGVmaW5lIFRJRl9IUlRJQ0tfUkVTQ0hFRAkxMQkvKiByZXByb2dyYW0gaHJ0aWNrIHRpbWVyICovCi0vKiAxNiBmcmVlICovCi0jZGVmaW5lIFRJRl9JQTMyCQkxNwkvKiAzMmJpdCBwcm9jZXNzICovCi0jZGVmaW5lIFRJRl9GT1JLCQkxOAkvKiByZXRfZnJvbV9mb3JrICovCi0jZGVmaW5lIFRJRl9BQklfUEVORElORwkJMTkKLSNkZWZpbmUgVElGX01FTURJRQkJMjAKLSNkZWZpbmUgVElGX0RFQlVHCQkyMQkvKiB1c2VzIGRlYnVnIHJlZ2lzdGVycyAqLwotI2RlZmluZSBUSUZfSU9fQklUTUFQCQkyMgkvKiB1c2VzIEkvTyBiaXRtYXAgKi8KLSNkZWZpbmUgVElGX0ZSRUVaRQkJMjMJLyogaXMgZnJlZXppbmcgZm9yIHN1c3BlbmQgKi8KLSNkZWZpbmUgVElGX0ZPUkNFRF9URgkJMjQJLyogdHJ1ZSBpZiBURiBpbiBlZmxhZ3MgYXJ0aWZpY2lhbGx5ICovCi0jZGVmaW5lIFRJRl9ERUJVR0NUTE1TUgkJMjUJLyogdXNlcyB0aHJlYWRfc3RydWN0LmRlYnVnY3RsbXNyICovCi0jZGVmaW5lIFRJRl9EU19BUkVBX01TUgkJMjYgICAgICAvKiB1c2VzIHRocmVhZF9zdHJ1Y3QuZHNfYXJlYV9tc3IgKi8KLSNkZWZpbmUgVElGX0JUU19UUkFDRV9UUwkyNyAgICAgIC8qIHJlY29yZCBzY2hlZHVsaW5nIGV2ZW50IHRpbWVzdGFtcHMgKi8KLSNkZWZpbmUgVElGX05PVFNDCQkyOAkvKiBUU0MgaXMgbm90IGFjY2Vzc2libGUgaW4gdXNlcmxhbmQgKi8KLQotI2RlZmluZSBfVElGX1NZU0NBTExfVFJBQ0UJKDEgPDwgVElGX1NZU0NBTExfVFJBQ0UpCi0jZGVmaW5lIF9USUZfU0lHUEVORElORwkJKDEgPDwgVElGX1NJR1BFTkRJTkcpCi0jZGVmaW5lIF9USUZfU0lOR0xFU1RFUAkJKDEgPDwgVElGX1NJTkdMRVNURVApCi0jZGVmaW5lIF9USUZfTkVFRF9SRVNDSEVECSgxIDw8IFRJRl9ORUVEX1JFU0NIRUQpCi0jZGVmaW5lIF9USUZfSVJFVAkJKDEgPDwgVElGX0lSRVQpCi0jZGVmaW5lIF9USUZfU1lTQ0FMTF9BVURJVAkoMSA8PCBUSUZfU1lTQ0FMTF9BVURJVCkKLSNkZWZpbmUgX1RJRl9TRUNDT01QCQkoMSA8PCBUSUZfU0VDQ09NUCkKLSNkZWZpbmUgX1RJRl9NQ0VfTk9USUZZCQkoMSA8PCBUSUZfTUNFX05PVElGWSkKLSNkZWZpbmUgX1RJRl9IUlRJQ0tfUkVTQ0hFRAkoMSA8PCBUSUZfSFJUSUNLX1JFU0NIRUQpCi0jZGVmaW5lIF9USUZfSUEzMgkJKDEgPDwgVElGX0lBMzIpCi0jZGVmaW5lIF9USUZfRk9SSwkJKDEgPDwgVElGX0ZPUkspCi0jZGVmaW5lIF9USUZfQUJJX1BFTkRJTkcJKDEgPDwgVElGX0FCSV9QRU5ESU5HKQotI2RlZmluZSBfVElGX0RFQlVHCQkoMSA8PCBUSUZfREVCVUcpCi0jZGVmaW5lIF9USUZfSU9fQklUTUFQCQkoMSA8PCBUSUZfSU9fQklUTUFQKQotI2RlZmluZSBfVElGX0ZSRUVaRQkJKDEgPDwgVElGX0ZSRUVaRSkKLSNkZWZpbmUgX1RJRl9GT1JDRURfVEYJCSgxIDw8IFRJRl9GT1JDRURfVEYpCi0jZGVmaW5lIF9USUZfREVCVUdDVExNU1IJKDEgPDwgVElGX0RFQlVHQ1RMTVNSKQotI2RlZmluZSBfVElGX0RTX0FSRUFfTVNSCSgxIDw8IFRJRl9EU19BUkVBX01TUikKLSNkZWZpbmUgX1RJRl9CVFNfVFJBQ0VfVFMJKDEgPDwgVElGX0JUU19UUkFDRV9UUykKLSNkZWZpbmUgX1RJRl9OT1RTQwkJKDEgPDwgVElGX05PVFNDKQotCi0vKiB3b3JrIHRvIGRvIG9uIGludGVycnVwdC9leGNlcHRpb24gcmV0dXJuICovCi0jZGVmaW5lIF9USUZfV09SS19NQVNLCQkJCQkJCVwKLQkoMHgwMDAwRkZGRiAmCQkJCQkJCVwKLQkgfihfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0lOR0xFU1RFUHxfVElGX1NFQ0NPTVApKQotLyogd29yayB0byBkbyBvbiBhbnkgcmV0dXJuIHRvIHVzZXIgc3BhY2UgKi8KLSNkZWZpbmUgX1RJRl9BTExXT1JLX01BU0sgKDB4MDAwMEZGRkYgJiB+X1RJRl9TRUNDT01QKQotCi0jZGVmaW5lIF9USUZfRE9fTk9USUZZX01BU0sJCQkJCQlcCi0JKF9USUZfU0lHUEVORElOR3xfVElGX1NJTkdMRVNURVB8X1RJRl9NQ0VfTk9USUZZfF9USUZfSFJUSUNLX1JFU0NIRUQpCi0KLS8qIGZsYWdzIHRvIGNoZWNrIGluIF9fc3dpdGNoX3RvKCkgKi8KLSNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXCQkJCQkJCVwKLQkoX1RJRl9JT19CSVRNQVB8X1RJRl9ERUJVR0NUTE1TUnxfVElGX0RTX0FSRUFfTVNSfF9USUZfQlRTX1RSQUNFX1RTfF9USUZfTk9UU0MpCi0jZGVmaW5lIF9USUZfV09SS19DVFhTV19QUkVWIF9USUZfV09SS19DVFhTVwotI2RlZmluZSBfVElGX1dPUktfQ1RYU1dfTkVYVCAoX1RJRl9XT1JLX0NUWFNXfF9USUZfREVCVUcpCi0KLSNkZWZpbmUgUFJFRU1QVF9BQ1RJVkUgICAgIDB4MTAwMDAwMDAKLQotLyoKLSAqIFRocmVhZC1zeW5jaHJvbm91cyBzdGF0dXMuCi0gKgotICogVGhpcyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgZmxhZ3MgaW4gdGhhdCBub2JvZHkgZWxzZQotICogZXZlciB0b3VjaGVzIG91ciB0aHJlYWQtc3luY2hyb25vdXMgc3RhdHVzLCBzbyB3ZSBkb24ndAotICogaGF2ZSB0byB3b3JyeSBhYm91dCBhdG9taWMgYWNjZXNzZXMuCi0gKi8KLSNkZWZpbmUgVFNfVVNFREZQVQkJMHgwMDAxCS8qIEZQVSB3YXMgdXNlZCBieSB0aGlzIHRhc2sKLQkJCQkJICAgdGhpcyBxdWFudHVtIChTTVApICovCi0jZGVmaW5lIFRTX0NPTVBBVAkJMHgwMDAyCS8qIDMyYml0IHN5c2NhbGwgYWN0aXZlICovCi0jZGVmaW5lIFRTX1BPTExJTkcJCTB4MDAwNAkvKiB0cnVlIGlmIGluIGlkbGUgbG9vcAotCQkJCQkgICBhbmQgbm90IHNsZWVwaW5nICovCi0jZGVmaW5lIFRTX1JFU1RPUkVfU0lHTUFTSwkweDAwMDgJLyogcmVzdG9yZSBzaWduYWwgbWFzayBpbiBkb19zaWduYWwoKSAqLwotCi0jZGVmaW5lIHRza19pc19wb2xsaW5nKHQpICh0YXNrX3RocmVhZF9pbmZvKHQpLT5zdGF0dXMgJiBUU19QT0xMSU5HKQotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI2RlZmluZSBIQVZFX1NFVF9SRVNUT1JFX1NJR01BU0sJMQotc3RhdGljIGlubGluZSB2b2lkIHNldF9yZXN0b3JlX3NpZ21hc2sodm9pZCkKLXsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpID0gY3VycmVudF90aHJlYWRfaW5mbygpOwotCXRpLT5zdGF0dXMgfD0gVFNfUkVTVE9SRV9TSUdNQVNLOwotCXNldF9iaXQoVElGX1NJR1BFTkRJTkcsICZ0aS0+ZmxhZ3MpOwotfQotI2VuZGlmCS8qICFfX0FTU0VNQkxZX18gKi8KLQotI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KLQotI2VuZGlmIC8qIF9BU01fVEhSRUFEX0lORk9fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RpbWUuaCBiL2luY2x1ZGUvYXNtLXg4Ni90aW1lLmgKaW5kZXggYmNlNzJkNy4uYTE3ZmE0NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3RpbWUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdGltZS5oCkBAIC01Niw0ICs1Niw2IEBACiAKICNlbmRpZiAvKiBDT05GSUdfUEFSQVZJUlQgKi8KIAorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19pbml0IGNhbGlicmF0ZV9jcHUodm9pZCk7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RpbWVyLmggYi9pbmNsdWRlL2FzbS14ODYvdGltZXIuaAppbmRleCA0ZjZmY2IwLi5mYjJhNGRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdGltZXIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdGltZXIuaApAQCAtNywxNCArNywxNCBAQAogI2RlZmluZSBUSUNLX1NJWkUgKHRpY2tfbnNlYyAvIDEwMDApCiAKIHVuc2lnbmVkIGxvbmcgbG9uZyBuYXRpdmVfc2NoZWRfY2xvY2sodm9pZCk7Ci11bnNpZ25lZCBsb25nIG5hdGl2ZV9jYWxjdWxhdGVfY3B1X2toeih2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbmF0aXZlX2NhbGlicmF0ZV90c2Modm9pZCk7CiAKIGV4dGVybiBpbnQgdGltZXJfYWNrOwogZXh0ZXJuIGludCBub190aW1lcl9jaGVjazsKIGV4dGVybiBpbnQgcmVjYWxpYnJhdGVfY3B1X2toeih2b2lkKTsKIAogI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKLSNkZWZpbmUgY2FsY3VsYXRlX2NwdV9raHooKSBuYXRpdmVfY2FsY3VsYXRlX2NwdV9raHooKQorI2RlZmluZSBjYWxpYnJhdGVfdHNjKCkgbmF0aXZlX2NhbGlicmF0ZV90c2MoKQogI2VuZGlmCiAKIC8qIEFjY2VsZXJhdG9ycyBmb3Igc2NoZWRfY2xvY2soKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RvcG9sb2d5LmggYi9pbmNsdWRlL2FzbS14ODYvdG9wb2xvZ3kuaAppbmRleCBkY2YzZjgxLi45MGFjNzcxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdG9wb2xvZ3kuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdG9wb2xvZ3kuaApAQCAtMzUsNzkgKzM1LDkzIEBACiAjIGVuZGlmCiAjZW5kaWYKIAorLyogTm9kZSBub3QgcHJlc2VudCAqLworI2RlZmluZSBOVU1BX05PX05PREUJKC0xKQorCiAjaWZkZWYgQ09ORklHX05VTUEKICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CiAjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogCi0vKiBNYXBwaW5ncyBiZXR3ZWVuIGxvZ2ljYWwgY3B1IG51bWJlciBhbmQgbm9kZSBudW1iZXIgKi8KICNpZmRlZiBDT05GSUdfWDg2XzMyCi1leHRlcm4gaW50IGNwdV90b19ub2RlX21hcFtdOwotI2Vsc2UKLS8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgY3VycmVudCBOb2RlLiAqLwotI2RlZmluZSBudW1hX25vZGVfaWQoKQkJKGVhcmx5X2NwdV90b19ub2RlKHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpKQotI2VuZGlmCiAKLURFQ0xBUkVfUEVSX0NQVShpbnQsIHg4Nl9jcHVfdG9fbm9kZV9tYXApOwotCi0jaWZkZWYgQ09ORklHX1NNUAotZXh0ZXJuIGludCB4ODZfY3B1X3RvX25vZGVfbWFwX2luaXRbXTsKLWV4dGVybiB2b2lkICp4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0cjsKLSNlbHNlCi0jZGVmaW5lIHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyIE5VTEwKLSNlbmRpZgotCisvKiBNYXBwaW5ncyBiZXR3ZWVuIG5vZGUgbnVtYmVyIGFuZCBjcHVzIG9uIHRoYXQgbm9kZS4gKi8KIGV4dGVybiBjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrX21hcFtdOwogCi0jZGVmaW5lIE5VTUFfTk9fTk9ERQkoLTEpCisvKiBNYXBwaW5ncyBiZXR3ZWVuIGxvZ2ljYWwgY3B1IG51bWJlciBhbmQgbm9kZSBudW1iZXIgKi8KK2V4dGVybiBpbnQgY3B1X3RvX25vZGVfbWFwW107CiAKIC8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgbm9kZSBjb250YWluaW5nIENQVSAnY3B1JyAqLwotI2lmZGVmIENPTkZJR19YODZfMzIKLSNkZWZpbmUgZWFybHlfY3B1X3RvX25vZGUoY3B1KQljcHVfdG9fbm9kZShjcHUpCiBzdGF0aWMgaW5saW5lIGludCBjcHVfdG9fbm9kZShpbnQgY3B1KQogewogCXJldHVybiBjcHVfdG9fbm9kZV9tYXBbY3B1XTsKIH0KKyNkZWZpbmUgZWFybHlfY3B1X3RvX25vZGUoY3B1KQljcHVfdG9fbm9kZShjcHUpCisKKy8qIFJldHVybnMgYSBiaXRtYXNrIG9mIENQVXMgb24gTm9kZSAnbm9kZScuCisgKgorICogU2lkZSBub3RlOiB0aGlzIGZ1bmN0aW9uIGNyZWF0ZXMgdGhlIHJldHVybmVkIGNwdW1hc2sgb24gdGhlIHN0YWNrCisgKiBzbyB3aXRoIGEgaGlnaCBOUl9DUFVTIGNvdW50LCBleGNlc3NpdmUgc3RhY2sgc3BhY2UgaXMgdXNlZC4gIFRoZQorICogbm9kZV90b19jcHVtYXNrX3B0ciBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCB3aGVuZXZlciBwb3NzaWJsZS4KKyAqLworc3RhdGljIGlubGluZSBjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrKGludCBub2RlKQoreworCXJldHVybiBub2RlX3RvX2NwdW1hc2tfbWFwW25vZGVdOworfQogCiAjZWxzZSAvKiBDT05GSUdfWDg2XzY0ICovCiAKLSNpZmRlZiBDT05GSUdfU01QCi1zdGF0aWMgaW5saW5lIGludCBlYXJseV9jcHVfdG9fbm9kZShpbnQgY3B1KQotewotCWludCAqY3B1X3RvX25vZGVfbWFwID0geDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7CisvKiBNYXBwaW5ncyBiZXR3ZWVuIG5vZGUgbnVtYmVyIGFuZCBjcHVzIG9uIHRoYXQgbm9kZS4gKi8KK2V4dGVybiBjcHVtYXNrX3QgKm5vZGVfdG9fY3B1bWFza19tYXA7CiAKLQlpZiAoY3B1X3RvX25vZGVfbWFwKQotCQlyZXR1cm4gY3B1X3RvX25vZGVfbWFwW2NwdV07Ci0JZWxzZSBpZiAocGVyX2NwdV9vZmZzZXQoY3B1KSkKLQkJcmV0dXJuIHBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKLQllbHNlCi0JCXJldHVybiBOVU1BX05PX05PREU7Ci19Ci0jZWxzZQotI2RlZmluZQllYXJseV9jcHVfdG9fbm9kZShjcHUpCWNwdV90b19ub2RlKGNwdSkKLSNlbmRpZgorLyogTWFwcGluZ3MgYmV0d2VlbiBsb2dpY2FsIGNwdSBudW1iZXIgYW5kIG5vZGUgbnVtYmVyICovCitERUNMQVJFX0VBUkxZX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKTsKIAorLyogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IE5vZGUuICovCisjZGVmaW5lIG51bWFfbm9kZV9pZCgpCQlyZWFkX3BkYShub2RlbnVtYmVyKQorCisjaWZkZWYgQ09ORklHX0RFQlVHX1BFUl9DUFVfTUFQUworZXh0ZXJuIGludCBjcHVfdG9fbm9kZShpbnQgY3B1KTsKK2V4dGVybiBpbnQgZWFybHlfY3B1X3RvX25vZGUoaW50IGNwdSk7CitleHRlcm4gY29uc3QgY3B1bWFza190ICpfbm9kZV90b19jcHVtYXNrX3B0cihpbnQgbm9kZSk7CitleHRlcm4gY3B1bWFza190IG5vZGVfdG9fY3B1bWFzayhpbnQgbm9kZSk7CisKKyNlbHNlCS8qICFDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKy8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgbm9kZSBjb250YWluaW5nIENQVSAnY3B1JyAqLwogc3RhdGljIGlubGluZSBpbnQgY3B1X3RvX25vZGUoaW50IGNwdSkKIHsKLSNpZmRlZiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTCi0JaWYgKHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyKSB7Ci0JCXByaW50aygiS0VSTl9OT1RJQ0UgY3B1X3RvX25vZGUoJWQpOiB1c2FnZSB0b28gZWFybHkhXG4iLAotCQkgICAgICAgKGludCljcHUpOwotCQlkdW1wX3N0YWNrKCk7Ci0JCXJldHVybiAoKGludCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyKVtjcHVdOwotCX0KLSNlbmRpZgogCXJldHVybiBwZXJfY3B1KHg4Nl9jcHVfdG9fbm9kZV9tYXAsIGNwdSk7CiB9CiAKLSNpZmRlZglDT05GSUdfTlVNQQorLyogU2FtZSBmdW5jdGlvbiBidXQgdXNlZCBpZiBjYWxsZWQgYmVmb3JlIHBlcl9jcHUgYXJlYXMgYXJlIHNldHVwICovCitzdGF0aWMgaW5saW5lIGludCBlYXJseV9jcHVfdG9fbm9kZShpbnQgY3B1KQoreworCWlmIChlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSkKKwkJcmV0dXJuIGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fbm9kZV9tYXApW2NwdV07CisKKwlyZXR1cm4gcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpOworfQogCiAvKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgY3B1bWFzayBvZiBDUFVzIG9uIE5vZGUgJ25vZGUnLiAqLworc3RhdGljIGlubGluZSBjb25zdCBjcHVtYXNrX3QgKl9ub2RlX3RvX2NwdW1hc2tfcHRyKGludCBub2RlKQoreworCXJldHVybiAmbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KKworLyogUmV0dXJucyBhIGJpdG1hc2sgb2YgQ1BVcyBvbiBOb2RlICdub2RlJy4gKi8KK3N0YXRpYyBpbmxpbmUgY3B1bWFza190IG5vZGVfdG9fY3B1bWFzayhpbnQgbm9kZSkKK3sKKwlyZXR1cm4gbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KKworI2VuZGlmIC8qICFDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKy8qIFJlcGxhY2UgZGVmYXVsdCBub2RlX3RvX2NwdW1hc2tfcHRyIHdpdGggb3B0aW1pemVkIHZlcnNpb24gKi8KICNkZWZpbmUgbm9kZV90b19jcHVtYXNrX3B0cih2LCBub2RlKQkJXAotCQljcHVtYXNrX3QgKnYgPSAmKG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV0pCisJCWNvbnN0IGNwdW1hc2tfdCAqdiA9IF9ub2RlX3RvX2NwdW1hc2tfcHRyKG5vZGUpCiAKICNkZWZpbmUgbm9kZV90b19jcHVtYXNrX3B0cl9uZXh0KHYsIG5vZGUpCVwKLQkJCSAgIHYgPSAmKG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV0pCi0jZW5kaWYKKwkJCSAgIHYgPSBfbm9kZV90b19jcHVtYXNrX3B0cihub2RlKQogCiAjZW5kaWYgLyogQ09ORklHX1g4Nl82NCAqLwogCkBAIC0xMTcsMjAgKzEzMSw2IEBACiAgKi8KICNkZWZpbmUgcGFyZW50X25vZGUobm9kZSkgKG5vZGUpCiAKLS8qIFJldHVybnMgYSBiaXRtYXNrIG9mIENQVXMgb24gTm9kZSAnbm9kZScuICovCi1zdGF0aWMgaW5saW5lIGNwdW1hc2tfdCBub2RlX3RvX2NwdW1hc2soaW50IG5vZGUpCi17Ci0JcmV0dXJuIG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV07Ci19Ci0KLS8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgZmlyc3QgQ1BVIG9uIE5vZGUgJ25vZGUnLiAqLwotc3RhdGljIGlubGluZSBpbnQgbm9kZV90b19maXJzdF9jcHUoaW50IG5vZGUpCi17Ci0JY3B1bWFza190IG1hc2sgPSBub2RlX3RvX2NwdW1hc2sobm9kZSk7Ci0KLQlyZXR1cm4gZmlyc3RfY3B1KG1hc2spOwotfQotCiAjZGVmaW5lIHBjaWJ1c190b19ub2RlKGJ1cykgX19wY2lidXNfdG9fbm9kZShidXMpCiAjZGVmaW5lIHBjaWJ1c190b19jcHVtYXNrKGJ1cykgX19wY2lidXNfdG9fY3B1bWFzayhidXMpCiAKQEAgLTE4MCwxMiArMTgwLDQ0IEBACiAjZGVmaW5lIG5vZGVfZGlzdGFuY2UoYSwgYikgX19ub2RlX2Rpc3RhbmNlKGEsIGIpCiAjZW5kaWYKIAotI2Vsc2UgLyogQ09ORklHX05VTUEgKi8KKyNlbHNlIC8qICFDT05GSUdfTlVNQSAqLwogCisjZGVmaW5lIG51bWFfbm9kZV9pZCgpCQkwCisjZGVmaW5lCWNwdV90b19ub2RlKGNwdSkJMAorI2RlZmluZQllYXJseV9jcHVfdG9fbm9kZShjcHUpCTAKKworc3RhdGljIGlubGluZSBjb25zdCBjcHVtYXNrX3QgKl9ub2RlX3RvX2NwdW1hc2tfcHRyKGludCBub2RlKQoreworCXJldHVybiAmY3B1X29ubGluZV9tYXA7Cit9CitzdGF0aWMgaW5saW5lIGNwdW1hc2tfdCBub2RlX3RvX2NwdW1hc2soaW50IG5vZGUpCit7CisJcmV0dXJuIGNwdV9vbmxpbmVfbWFwOworfQorc3RhdGljIGlubGluZSBpbnQgbm9kZV90b19maXJzdF9jcHUoaW50IG5vZGUpCit7CisJcmV0dXJuIGZpcnN0X2NwdShjcHVfb25saW5lX21hcCk7Cit9CisKKy8qIFJlcGxhY2UgZGVmYXVsdCBub2RlX3RvX2NwdW1hc2tfcHRyIHdpdGggb3B0aW1pemVkIHZlcnNpb24gKi8KKyNkZWZpbmUgbm9kZV90b19jcHVtYXNrX3B0cih2LCBub2RlKQkJXAorCQljb25zdCBjcHVtYXNrX3QgKnYgPSBfbm9kZV90b19jcHVtYXNrX3B0cihub2RlKQorCisjZGVmaW5lIG5vZGVfdG9fY3B1bWFza19wdHJfbmV4dCh2LCBub2RlKQlcCisJCQkgICB2ID0gX25vZGVfdG9fY3B1bWFza19wdHIobm9kZSkKICNlbmRpZgogCiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvdG9wb2xvZ3kuaD4KIAorI2lmZGVmIENPTkZJR19OVU1BCisvKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgdGhlIGZpcnN0IENQVSBvbiBOb2RlICdub2RlJy4gKi8KK3N0YXRpYyBpbmxpbmUgaW50IG5vZGVfdG9fZmlyc3RfY3B1KGludCBub2RlKQoreworCW5vZGVfdG9fY3B1bWFza19wdHIobWFzaywgbm9kZSk7CisJcmV0dXJuIGZpcnN0X2NwdSgqbWFzayk7Cit9CisjZW5kaWYKKwogZXh0ZXJuIGNwdW1hc2tfdCBjcHVfY29yZWdyb3VwX21hcChpbnQgY3B1KTsKIAogI2lmZGVmIEVOQUJMRV9UT1BPX0RFRklORVMKQEAgLTE5Myw2ICsyMjUsOSBAQAogI2RlZmluZSB0b3BvbG9neV9jb3JlX2lkKGNwdSkJCQkoY3B1X2RhdGEoY3B1KS5jcHVfY29yZV9pZCkKICNkZWZpbmUgdG9wb2xvZ3lfY29yZV9zaWJsaW5ncyhjcHUpCQkocGVyX2NwdShjcHVfY29yZV9tYXAsIGNwdSkpCiAjZGVmaW5lIHRvcG9sb2d5X3RocmVhZF9zaWJsaW5ncyhjcHUpCQkocGVyX2NwdShjcHVfc2libGluZ19tYXAsIGNwdSkpCisKKy8qIGluZGljYXRlcyB0aGF0IHBvaW50ZXJzIHRvIHRoZSB0b3BvbG9neSBjcHVtYXNrX3QgbWFwcyBhcmUgdmFsaWQgKi8KKyNkZWZpbmUgYXJjaF9wcm92aWRlc190b3BvbG9neV9wb2ludGVycwkJeWVzCiAjZW5kaWYKIAogc3RhdGljIGlubGluZSB2b2lkIGFyY2hfZml4X3BoeXNfcGFja2FnZV9pZChpbnQgbnVtLCB1MzIgc2xvdCkKQEAgLTIyMCw0ICsyNTUsNCBAQAogfQogI2VuZGlmCiAKLSNlbmRpZgorI2VuZGlmIC8qIF9BU01fWDg2X1RPUE9MT0dZX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni90c2MuaCBiL2luY2x1ZGUvYXNtLXg4Ni90c2MuaAppbmRleCA1NDg4NzNhLi5jYjZmNmVlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdHNjLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3RzYy5oCkBAIC00OCw3ICs0OCw2IEBACiBleHRlcm4gdm9pZCB0c2NfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIG1hcmtfdHNjX3Vuc3RhYmxlKGNoYXIgKnJlYXNvbik7CiBleHRlcm4gaW50IHVuc3luY2hyb25pemVkX3RzYyh2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRfdHNjX2Nsb2Nrc291cmNlKHZvaWQpOwogaW50IGNoZWNrX3RzY191bnN0YWJsZSh2b2lkKTsKIAogLyoKQEAgLTU4LDcgKzU3LDYgQEAKIGV4dGVybiB2b2lkIGNoZWNrX3RzY19zeW5jX3NvdXJjZShpbnQgY3B1KTsKIGV4dGVybiB2b2lkIGNoZWNrX3RzY19zeW5jX3RhcmdldCh2b2lkKTsKIAotZXh0ZXJuIHZvaWQgdHNjX2NhbGlicmF0ZSh2b2lkKTsKIGV4dGVybiBpbnQgbm90c2Nfc2V0dXAoY2hhciAqKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzcy5oIGIvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3MuaAppbmRleCA5ZmVmZDI5Li5mNmZhNGQ4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzcy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzLmgKQEAgLTEsNSArMSw0NTMgQEAKKyNpZm5kZWYgX0FTTV9VQUNDRVNfSF8KKyNkZWZpbmUgX0FTTV9VQUNDRVNfSF8KKy8qCisgKiBVc2VyIHNwYWNlIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zCisgKi8KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CisjaW5jbHVkZSA8bGludXgvdGhyZWFkX2luZm8uaD4KKyNpbmNsdWRlIDxsaW51eC9wcmVmZXRjaC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGFzbS9hc20uaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorCisjZGVmaW5lIFZFUklGWV9SRUFEIDAKKyNkZWZpbmUgVkVSSUZZX1dSSVRFIDEKKworLyoKKyAqIFRoZSBmcyB2YWx1ZSBkZXRlcm1pbmVzIHdoZXRoZXIgYXJndW1lbnQgdmFsaWRpdHkgY2hlY2tpbmcgc2hvdWxkIGJlCisgKiBwZXJmb3JtZWQgb3Igbm90LiAgSWYgZ2V0X2ZzKCkgPT0gVVNFUl9EUywgY2hlY2tpbmcgaXMgcGVyZm9ybWVkLCB3aXRoCisgKiBnZXRfZnMoKSA9PSBLRVJORUxfRFMsIGNoZWNraW5nIGlzIGJ5cGFzc2VkLgorICoKKyAqIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIHRoZXNlIG1hY3JvcyBhcmUgZ3Jvc3NseSBtaXNuYW1lZC4KKyAqLworCisjZGVmaW5lIE1BS0VfTU1fU0VHKHMpCSgobW1fc2VnbWVudF90KSB7IChzKSB9KQorCisjZGVmaW5lIEtFUk5FTF9EUwlNQUtFX01NX1NFRygtMVVMKQorI2RlZmluZSBVU0VSX0RTCQlNQUtFX01NX1NFRyhQQUdFX09GRlNFVCkKKworI2RlZmluZSBnZXRfZHMoKQkoS0VSTkVMX0RTKQorI2RlZmluZSBnZXRfZnMoKQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0KQorI2RlZmluZSBzZXRfZnMoeCkJKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdCA9ICh4KSkKKworI2RlZmluZSBzZWdtZW50X2VxKGEsIGIpCSgoYSkuc2VnID09IChiKS5zZWcpCisKKyNkZWZpbmUgX19hZGRyX29rKGFkZHIpCQkJCQlcCisJKCh1bnNpZ25lZCBsb25nIF9fZm9yY2UpKGFkZHIpIDwJCVwKKwkgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKQorCisvKgorICogVGVzdCB3aGV0aGVyIGEgYmxvY2sgb2YgbWVtb3J5IGlzIGEgdmFsaWQgdXNlciBzcGFjZSBhZGRyZXNzLgorICogUmV0dXJucyAwIGlmIHRoZSByYW5nZSBpcyB2YWxpZCwgbm9uemVybyBvdGhlcndpc2UuCisgKgorICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBmb2xsb3dpbmcgdGVzdDoKKyAqICh1MzMpYWRkciArICh1MzMpc2l6ZSA+PSAodTMzKWN1cnJlbnQtPmFkZHJfbGltaXQuc2VnICh1NjUgZm9yIHg4Nl82NCkKKyAqCisgKiBUaGlzIG5lZWRzIDMzLWJpdCAoNjUtYml0IGZvciB4ODZfNjQpIGFyaXRobWV0aWMuIFdlIGhhdmUgYSBjYXJyeS4uLgorICovCisKKyNkZWZpbmUgX19yYW5nZV9ub3Rfb2soYWRkciwgc2l6ZSkJCQkJCVwKKyh7CQkJCQkJCQkJXAorCXVuc2lnbmVkIGxvbmcgZmxhZywgcm9rc3VtOwkJCQkJXAorCV9fY2hrX3VzZXJfcHRyKGFkZHIpOwkJCQkJCVwKKwlhc20oImFkZCAlMywlMSA7IHNiYiAlMCwlMCA7IGNtcCAlMSwlNCA7IHNiYiAkMCwlMCIJCVwKKwkgICAgOiAiPSZyIiAoZmxhZyksICI9ciIgKHJva3N1bSkJCQkJXAorCSAgICA6ICIxIiAoYWRkciksICJnIiAoKGxvbmcpKHNpemUpKSwJCQkJXAorCSAgICAgICJybSIgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKTsJCVwKKwlmbGFnOwkJCQkJCQkJXAorfSkKKworLyoqCisgKiBhY2Nlc3Nfb2s6IC0gQ2hlY2tzIGlmIGEgdXNlciBzcGFjZSBwb2ludGVyIGlzIHZhbGlkCisgKiBAdHlwZTogVHlwZSBvZiBhY2Nlc3M6ICVWRVJJRllfUkVBRCBvciAlVkVSSUZZX1dSSVRFLiAgTm90ZSB0aGF0CisgKiAgICAgICAgJVZFUklGWV9XUklURSBpcyBhIHN1cGVyc2V0IG9mICVWRVJJRllfUkVBRCAtIGlmIGl0IGlzIHNhZmUKKyAqICAgICAgICB0byB3cml0ZSB0byBhIGJsb2NrLCBpdCBpcyBhbHdheXMgc2FmZSB0byByZWFkIGZyb20gaXQuCisgKiBAYWRkcjogVXNlciBzcGFjZSBwb2ludGVyIHRvIHN0YXJ0IG9mIGJsb2NrIHRvIGNoZWNrCisgKiBAc2l6ZTogU2l6ZSBvZiBibG9jayB0byBjaGVjaworICoKKyAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCisgKgorICogQ2hlY2tzIGlmIGEgcG9pbnRlciB0byBhIGJsb2NrIG9mIG1lbW9yeSBpbiB1c2VyIHNwYWNlIGlzIHZhbGlkLgorICoKKyAqIFJldHVybnMgdHJ1ZSAobm9uemVybykgaWYgdGhlIG1lbW9yeSBibG9jayBtYXkgYmUgdmFsaWQsIGZhbHNlICh6ZXJvKQorICogaWYgaXQgaXMgZGVmaW5pdGVseSBpbnZhbGlkLgorICoKKyAqIE5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIGFyY2hpdGVjdHVyZSwgdGhpcyBmdW5jdGlvbiBwcm9iYWJseSBqdXN0CisgKiBjaGVja3MgdGhhdCB0aGUgcG9pbnRlciBpcyBpbiB0aGUgdXNlciBzcGFjZSByYW5nZSAtIGFmdGVyIGNhbGxpbmcKKyAqIHRoaXMgZnVuY3Rpb24sIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIG1heSBzdGlsbCByZXR1cm4gLUVGQVVMVC4KKyAqLworI2RlZmluZSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkgKGxpa2VseShfX3JhbmdlX25vdF9vayhhZGRyLCBzaXplKSA9PSAwKSkKKworLyoKKyAqIFRoZSBleGNlcHRpb24gdGFibGUgY29uc2lzdHMgb2YgcGFpcnMgb2YgYWRkcmVzc2VzOiB0aGUgZmlyc3QgaXMgdGhlCisgKiBhZGRyZXNzIG9mIGFuIGluc3RydWN0aW9uIHRoYXQgaXMgYWxsb3dlZCB0byBmYXVsdCwgYW5kIHRoZSBzZWNvbmQgaXMKKyAqIHRoZSBhZGRyZXNzIGF0IHdoaWNoIHRoZSBwcm9ncmFtIHNob3VsZCBjb250aW51ZS4gIE5vIHJlZ2lzdGVycyBhcmUKKyAqIG1vZGlmaWVkLCBzbyBpdCBpcyBlbnRpcmVseSB1cCB0byB0aGUgY29udGludWF0aW9uIGNvZGUgdG8gZmlndXJlIG91dAorICogd2hhdCB0byBkby4KKyAqCisgKiBBbGwgdGhlIHJvdXRpbmVzIGJlbG93IHVzZSBiaXRzIG9mIGZpeHVwIGNvZGUgdGhhdCBhcmUgb3V0IG9mIGxpbmUKKyAqIHdpdGggdGhlIG1haW4gaW5zdHJ1Y3Rpb24gcGF0aC4gIFRoaXMgbWVhbnMgd2hlbiBldmVyeXRoaW5nIGlzIHdlbGwsCisgKiB3ZSBkb24ndCBldmVuIGhhdmUgdG8ganVtcCBvdmVyIHRoZW0uICBGdXJ0aGVyLCB0aGV5IGRvIG5vdCBpbnRydWRlCisgKiBvbiBvdXIgY2FjaGUgb3IgdGxiIGVudHJpZXMuCisgKi8KKworc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSB7CisJdW5zaWduZWQgbG9uZyBpbnNuLCBmaXh1cDsKK307CisKK2V4dGVybiBpbnQgZml4dXBfZXhjZXB0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKKworLyoKKyAqIFRoZXNlIGFyZSB0aGUgbWFpbiBzaW5nbGUtdmFsdWUgdHJhbnNmZXIgcm91dGluZXMuICBUaGV5IGF1dG9tYXRpY2FsbHkKKyAqIHVzZSB0aGUgcmlnaHQgc2l6ZSBpZiB3ZSBqdXN0IGhhdmUgdGhlIHJpZ2h0IHBvaW50ZXIgdHlwZS4KKyAqCisgKiBUaGlzIGdldHMga2luZCBvZiB1Z2x5LiBXZSB3YW50IHRvIHJldHVybiBfdHdvXyB2YWx1ZXMgaW4gImdldF91c2VyKCkiCisgKiBhbmQgeWV0IHdlIGRvbid0IHdhbnQgdG8gZG8gYW55IHBvaW50ZXJzLCBiZWNhdXNlIHRoYXQgaXMgdG9vIG11Y2gKKyAqIG9mIGEgcGVyZm9ybWFuY2UgaW1wYWN0LiBUaHVzIHdlIGhhdmUgYSBmZXcgcmF0aGVyIHVnbHkgbWFjcm9zIGhlcmUsCisgKiBhbmQgaGlkZSBhbGwgdGhlIHVnbGluZXNzIGZyb20gdGhlIHVzZXIuCisgKgorICogVGhlICJfX3h4eCIgdmVyc2lvbnMgb2YgdGhlIHVzZXIgYWNjZXNzIGZ1bmN0aW9ucyBhcmUgdmVyc2lvbnMgdGhhdAorICogZG8gbm90IHZlcmlmeSB0aGUgYWRkcmVzcyBzcGFjZSwgdGhhdCBtdXN0IGhhdmUgYmVlbiBkb25lIHByZXZpb3VzbHkKKyAqIHdpdGggYSBzZXBhcmF0ZSAiYWNjZXNzX29rKCkiIGNhbGwgKHRoaXMgaXMgdXNlZCB3aGVuIHdlIGRvIG11bHRpcGxlCisgKiBhY2Nlc3NlcyB0byB0aGUgc2FtZSBhcmVhIG9mIHVzZXIgbWVtb3J5KS4KKyAqLworCitleHRlcm4gaW50IF9fZ2V0X3VzZXJfMSh2b2lkKTsKK2V4dGVybiBpbnQgX19nZXRfdXNlcl8yKHZvaWQpOworZXh0ZXJuIGludCBfX2dldF91c2VyXzQodm9pZCk7CitleHRlcm4gaW50IF9fZ2V0X3VzZXJfOCh2b2lkKTsKK2V4dGVybiBpbnQgX19nZXRfdXNlcl9iYWQodm9pZCk7CisKKyNkZWZpbmUgX19nZXRfdXNlcl94KHNpemUsIHJldCwgeCwgcHRyKQkJICAgICAgXAorCWFzbSB2b2xhdGlsZSgiY2FsbCBfX2dldF91c2VyXyIgI3NpemUJICAgICAgXAorCQkgICAgIDogIj1hIiAocmV0KSwiPWQiICh4KQkgICAgICBcCisJCSAgICAgOiAiMCIgKHB0cikpCQkgICAgICBcCisKKy8qIENhcmVmdWw6IHdlIGhhdmUgdG8gY2FzdCB0aGUgcmVzdWx0IHRvIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyCisgKiBmb3Igc2lnbiByZWFzb25zICovCisKKy8qKgorICogZ2V0X3VzZXI6IC0gR2V0IGEgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZS4KKyAqIEB4OiAgIFZhcmlhYmxlIHRvIHN0b3JlIHJlc3VsdC4KKyAqIEBwdHI6IFNvdXJjZSBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgorICoKKyAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCisgKgorICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSB0byBrZXJuZWwKKyAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgorICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgorICoKKyAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCB0aGUgcmVzdWx0IG9mCisgKiBkZXJlZmVyZW5jaW5nIEBwdHIgbXVzdCBiZSBhc3NpZ25hYmxlIHRvIEB4IHdpdGhvdXQgYSBjYXN0LgorICoKKyAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgorICogT24gZXJyb3IsIHRoZSB2YXJpYWJsZSBAeCBpcyBzZXQgdG8gemVyby4KKyAqLworI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgX19nZXRfdXNlcl84KF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKQkJCQlcCisJCV9fZ2V0X3VzZXJfeChYLCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cikKKyNlbHNlCisjZGVmaW5lIF9fZ2V0X3VzZXJfOChfX3JldF9ndSwgX192YWxfZ3UsIHB0cikJCQkJXAorCQlfX2dldF91c2VyX3goOCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpCisjZW5kaWYKKworI2RlZmluZSBnZXRfdXNlcih4LCBwdHIpCQkJCQkJXAorKHsJCQkJCQkJCQlcCisJaW50IF9fcmV0X2d1OwkJCQkJCQlcCisJdW5zaWduZWQgbG9uZyBfX3ZhbF9ndTsJCQkJCQlcCisJX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCisJc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQkJXAorCWNhc2UgMToJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl94KDEsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDI6CQkJCQkJCQlcCisJCV9fZ2V0X3VzZXJfeCgyLCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSA0OgkJCQkJCQkJXAorCQlfX2dldF91c2VyX3goNCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgODoJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl84KF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCQlcCisJCWJyZWFrOwkJCQkJCQlcCisJZGVmYXVsdDoJCQkJCQkJXAorCQlfX2dldF91c2VyX3goWCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAorCQlicmVhazsJCQkJCQkJXAorCX0JCQkJCQkJCVwKKwkoeCkgPSAoX190eXBlb2ZfXygqKHB0cikpKV9fdmFsX2d1OwkJCQlcCisJX19yZXRfZ3U7CQkJCQkJCVwKK30pCisKKyNkZWZpbmUgX19wdXRfdXNlcl94KHNpemUsIHgsIHB0ciwgX19yZXRfcHUpCQkJXAorCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXyIgI3NpemUgOiAiPWEiIChfX3JldF9wdSkJXAorCQkgICAgIDoiMCIgKCh0eXBlb2YoKihwdHIpKSkoeCkpLCAiYyIgKHB0cikgOiAiZWJ4IikKKworCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjZGVmaW5lIF9fcHV0X3VzZXJfdTY0KHgsIGFkZHIsIGVycikJCQkJCVwKKwlhc20gdm9sYXRpbGUoIjE6CW1vdmwgJSVlYXgsMCglMilcbiIJCQlcCisJCSAgICAgIjI6CW1vdmwgJSVlZHgsNCglMilcbiIJCQlcCisJCSAgICAgIjM6XG4iCQkJCQkJXAorCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKKwkJICAgICAiNDoJbW92bCAlMywlMFxuIgkJCQlcCisJCSAgICAgIglqbXAgM2JcbiIJCQkJCVwKKwkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCisJCSAgICAgX0FTTV9FWFRBQkxFKDFiLCA0YikJCQkJXAorCQkgICAgIF9BU01fRVhUQUJMRSgyYiwgNGIpCQkJCVwKKwkJICAgICA6ICI9ciIgKGVycikJCQkJCVwKKwkJICAgICA6ICJBIiAoeCksICJyIiAoYWRkciksICJpIiAoLUVGQVVMVCksICIwIiAoZXJyKSkKKworI2RlZmluZSBfX3B1dF91c2VyX3g4KHgsIHB0ciwgX19yZXRfcHUpCQkJCVwKKwlhc20gdm9sYXRpbGUoImNhbGwgX19wdXRfdXNlcl84IiA6ICI9YSIgKF9fcmV0X3B1KQlcCisJCSAgICAgOiAiQSIgKCh0eXBlb2YoKihwdHIpKSkoeCkpLCAiYyIgKHB0cikgOiAiZWJ4IikKKyNlbHNlCisjZGVmaW5lIF9fcHV0X3VzZXJfdTY0KHgsIHB0ciwgcmV0dmFsKSBcCisJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJxIiwgIiIsICJaciIsIC1FRkFVTFQpCisjZGVmaW5lIF9fcHV0X3VzZXJfeDgoeCwgcHRyLCBfX3JldF9wdSkgX19wdXRfdXNlcl94KDgsIHgsIHB0ciwgX19yZXRfcHUpCisjZW5kaWYKKworZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl9iYWQodm9pZCk7CisKKy8qCisgKiBTdHJhbmdlIG1hZ2ljIGNhbGxpbmcgY29udmVudGlvbjogcG9pbnRlciBpbiAlZWN4LAorICogdmFsdWUgaW4gJWVheCg6JWVkeCksIHJldHVybiB2YWx1ZSBpbiAlZWF4LiBjbG9iYmVycyAlcmJ4CisgKi8KK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfMSh2b2lkKTsKK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfMih2b2lkKTsKK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfNCh2b2lkKTsKK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfOCh2b2lkKTsKKworI2lmZGVmIENPTkZJR19YODZfV1BfV09SS1NfT0sKKworLyoqCisgKiBwdXRfdXNlcjogLSBXcml0ZSBhIHNpbXBsZSB2YWx1ZSBpbnRvIHVzZXIgc3BhY2UuCisgKiBAeDogICBWYWx1ZSB0byBjb3B5IHRvIHVzZXIgc3BhY2UuCisgKiBAcHRyOiBEZXN0aW5hdGlvbiBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgorICoKKyAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCisgKgorICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhbHVlIGZyb20ga2VybmVsIHNwYWNlIHRvIHVzZXIKKyAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgorICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgorICoKKyAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCBAeCBtdXN0IGJlIGFzc2lnbmFibGUKKyAqIHRvIHRoZSByZXN1bHQgb2YgZGVyZWZlcmVuY2luZyBAcHRyLgorICoKKyAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgorICovCisjZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCVwKKyh7CQkJCQkJCQlcCisJaW50IF9fcmV0X3B1OwkJCQkJCVwKKwlfX3R5cGVvZl9fKCoocHRyKSkgX19wdV92YWw7CQkJCVwKKwlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJXAorCV9fcHVfdmFsID0geDsJCQkJCQlcCisJc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQlcCisJY2FzZSAxOgkJCQkJCQlcCisJCV9fcHV0X3VzZXJfeCgxLCBfX3B1X3ZhbCwgcHRyLCBfX3JldF9wdSk7CVwKKwkJYnJlYWs7CQkJCQkJXAorCWNhc2UgMjoJCQkJCQkJXAorCQlfX3B1dF91c2VyX3goMiwgX19wdV92YWwsIHB0ciwgX19yZXRfcHUpOwlcCisJCWJyZWFrOwkJCQkJCVwKKwljYXNlIDQ6CQkJCQkJCVwKKwkJX19wdXRfdXNlcl94KDQsIF9fcHVfdmFsLCBwdHIsIF9fcmV0X3B1KTsJXAorCQlicmVhazsJCQkJCQlcCisJY2FzZSA4OgkJCQkJCQlcCisJCV9fcHV0X3VzZXJfeDgoX19wdV92YWwsIHB0ciwgX19yZXRfcHUpOwkJXAorCQlicmVhazsJCQkJCQlcCisJZGVmYXVsdDoJCQkJCQlcCisJCV9fcHV0X3VzZXJfeChYLCBfX3B1X3ZhbCwgcHRyLCBfX3JldF9wdSk7CVwKKwkJYnJlYWs7CQkJCQkJXAorCX0JCQkJCQkJXAorCV9fcmV0X3B1OwkJCQkJCVwKK30pCisKKyNkZWZpbmUgX19wdXRfdXNlcl9zaXplKHgsIHB0ciwgc2l6ZSwgcmV0dmFsLCBlcnJyZXQpCQkJXAorZG8gewkJCQkJCQkJCVwKKwlyZXR2YWwgPSAwOwkJCQkJCQlcCisJX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCisJc3dpdGNoIChzaXplKSB7CQkJCQkJCVwKKwljYXNlIDE6CQkJCQkJCQlcCisJCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAiYiIsICJiIiwgImlxIiwgZXJycmV0KTsJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgMjoJCQkJCQkJCVwKKwkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJ3IiwgInciLCAiaXIiLCBlcnJyZXQpOwlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSA0OgkJCQkJCQkJXAorCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImwiLCAiayIsICAiaXIiLCBlcnJyZXQpO1wKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDg6CQkJCQkJCQlcCisJCV9fcHV0X3VzZXJfdTY0KChfX3R5cGVvZl9fKCpwdHIpKSh4KSwgcHRyLCByZXR2YWwpOwlcCisJCWJyZWFrOwkJCQkJCQlcCisJZGVmYXVsdDoJCQkJCQkJXAorCQlfX3B1dF91c2VyX2JhZCgpOwkJCQkJXAorCX0JCQkJCQkJCVwKK30gd2hpbGUgKDApCisKKyNlbHNlCisKKyNkZWZpbmUgX19wdXRfdXNlcl9zaXplKHgsIHB0ciwgc2l6ZSwgcmV0dmFsLCBlcnJyZXQpCQkJXAorZG8gewkJCQkJCQkJCVwKKwlfX3R5cGVvZl9fKCoocHRyKSlfX3B1c190bXAgPSB4OwkJCQlcCisJcmV0dmFsID0gMDsJCQkJCQkJXAorCQkJCQkJCQkJXAorCWlmICh1bmxpa2VseShfX2NvcHlfdG9fdXNlcl9sbChwdHIsICZfX3B1c190bXAsIHNpemUpICE9IDApKQlcCisJCXJldHZhbCA9IGVycnJldDsJCQkJCVwKK30gd2hpbGUgKDApCisKKyNkZWZpbmUgcHV0X3VzZXIoeCwgcHRyKQkJCQkJXAorKHsJCQkJCQkJCVwKKwlpbnQgX19yZXRfcHU7CQkJCQkJXAorCV9fdHlwZW9mX18oKihwdHIpKV9fcHVzX3RtcCA9IHg7CQkJXAorCV9fcmV0X3B1ID0gMDsJCQkJCQlcCisJaWYgKHVubGlrZWx5KF9fY29weV90b191c2VyX2xsKHB0ciwgJl9fcHVzX3RtcCwJCVwKKwkJCQkgICAgICAgc2l6ZW9mKCoocHRyKSkpICE9IDApKQlcCisJCV9fcmV0X3B1ID0gLUVGQVVMVDsJCQkJXAorCV9fcmV0X3B1OwkJCQkJCVwKK30pCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgX19nZXRfdXNlcl9hc21fdTY0KHgsIHB0ciwgcmV0dmFsLCBlcnJyZXQpCSh4KSA9IF9fZ2V0X3VzZXJfYmFkKCkKKyNlbHNlCisjZGVmaW5lIF9fZ2V0X3VzZXJfYXNtX3U2NCh4LCBwdHIsIHJldHZhbCwgZXJycmV0KSBcCisJIF9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAicSIsICIiLCAiPXIiLCBlcnJyZXQpCisjZW5kaWYKKworI2RlZmluZSBfX2dldF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwsIGVycnJldCkJCQlcCitkbyB7CQkJCQkJCQkJXAorCXJldHZhbCA9IDA7CQkJCQkJCVwKKwlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKKwlzd2l0Y2ggKHNpemUpIHsJCQkJCQkJXAorCWNhc2UgMToJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJiIiwgImIiLCAiPXEiLCBlcnJyZXQpOwlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSAyOgkJCQkJCQkJXAorCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInciLCAidyIsICI9ciIsIGVycnJldCk7CVwKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDQ6CQkJCQkJCQlcCisJCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAibCIsICJrIiwgIj1yIiwgZXJycmV0KTsJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgODoJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl9hc21fdTY0KHgsIHB0ciwgcmV0dmFsLCBlcnJyZXQpOwkJXAorCQlicmVhazsJCQkJCQkJXAorCWRlZmF1bHQ6CQkJCQkJCVwKKwkJKHgpID0gX19nZXRfdXNlcl9iYWQoKTsJCQkJCVwKKwl9CQkJCQkJCQlcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIF9fZ2V0X3VzZXJfYXNtKHgsIGFkZHIsIGVyciwgaXR5cGUsIHJ0eXBlLCBsdHlwZSwgZXJycmV0KQlcCisJYXNtIHZvbGF0aWxlKCIxOgltb3YiaXR5cGUiICUyLCUicnR5cGUiMVxuIgkJXAorCQkgICAgICIyOlxuIgkJCQkJCVwKKwkJICAgICAiLnNlY3Rpb24gLmZpeHVwLFwiYXhcIlxuIgkJCQlcCisJCSAgICAgIjM6CW1vdiAlMywlMFxuIgkJCQlcCisJCSAgICAgIgl4b3IiaXR5cGUiICUicnR5cGUiMSwlInJ0eXBlIjFcbiIJCVwKKwkJICAgICAiCWptcCAyYlxuIgkJCQkJXAorCQkgICAgICIucHJldmlvdXNcbiIJCQkJCVwKKwkJICAgICBfQVNNX0VYVEFCTEUoMWIsIDNiKQkJCQlcCisJCSAgICAgOiAiPXIiIChlcnIpLCBsdHlwZSh4KQkJCQlcCisJCSAgICAgOiAibSIgKF9fbShhZGRyKSksICJpIiAoZXJycmV0KSwgIjAiIChlcnIpKQorCisjZGVmaW5lIF9fcHV0X3VzZXJfbm9jaGVjayh4LCBwdHIsIHNpemUpCQkJXAorKHsJCQkJCQkJCVwKKwlsb25nIF9fcHVfZXJyOwkJCQkJCVwKKwlfX3B1dF91c2VyX3NpemUoKHgpLCAocHRyKSwgKHNpemUpLCBfX3B1X2VyciwgLUVGQVVMVCk7CVwKKwlfX3B1X2VycjsJCQkJCQlcCit9KQorCisjZGVmaW5lIF9fZ2V0X3VzZXJfbm9jaGVjayh4LCBwdHIsIHNpemUpCQkJCVwKKyh7CQkJCQkJCQkJXAorCWxvbmcgX19ndV9lcnI7CQkJCQkJCVwKKwl1bnNpZ25lZCBsb25nIF9fZ3VfdmFsOwkJCQkJCVwKKwlfX2dldF91c2VyX3NpemUoX19ndV92YWwsIChwdHIpLCAoc2l6ZSksIF9fZ3VfZXJyLCAtRUZBVUxUKTsJXAorCSh4KSA9IChfX2ZvcmNlIF9fdHlwZW9mX18oKihwdHIpKSlfX2d1X3ZhbDsJCQlcCisJX19ndV9lcnI7CQkJCQkJCVwKK30pCisKKy8qIEZJWE1FOiB0aGlzIGhhY2sgaXMgZGVmaW5pdGVseSB3cm9uZyAtQUsgKi8KK3N0cnVjdCBfX2xhcmdlX3N0cnVjdCB7IHVuc2lnbmVkIGxvbmcgYnVmWzEwMF07IH07CisjZGVmaW5lIF9fbSh4KSAoKihzdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgX191c2VyICopKHgpKQorCisvKgorICogVGVsbCBnY2Mgd2UgcmVhZCBmcm9tIG1lbW9yeSBpbnN0ZWFkIG9mIHdyaXRpbmc6IHRoaXMgaXMgYmVjYXVzZQorICogd2UgZG8gbm90IHdyaXRlIHRvIGFueSBtZW1vcnkgZ2NjIGtub3dzIGFib3V0LCBzbyB0aGVyZSBhcmUgbm8KKyAqIGFsaWFzaW5nIGlzc3Vlcy4KKyAqLworI2RlZmluZSBfX3B1dF91c2VyX2FzbSh4LCBhZGRyLCBlcnIsIGl0eXBlLCBydHlwZSwgbHR5cGUsIGVycnJldCkJXAorCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlInJ0eXBlIjEsJTJcbiIJCVwKKwkJICAgICAiMjpcbiIJCQkJCQlcCisJCSAgICAgIi5zZWN0aW9uIC5maXh1cCxcImF4XCJcbiIJCQkJXAorCQkgICAgICIzOgltb3YgJTMsJTBcbiIJCQkJXAorCQkgICAgICIJam1wIDJiXG4iCQkJCQlcCisJCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAorCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgM2IpCQkJCVwKKwkJICAgICA6ICI9ciIoZXJyKQkJCQkJXAorCQkgICAgIDogbHR5cGUoeCksICJtIiAoX19tKGFkZHIpKSwgImkiIChlcnJyZXQpLCAiMCIgKGVycikpCisvKioKKyAqIF9fZ2V0X3VzZXI6IC0gR2V0IGEgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgorICogQHg6ICAgVmFyaWFibGUgdG8gc3RvcmUgcmVzdWx0LgorICogQHB0cjogU291cmNlIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCisgKgorICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KKyAqCisgKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlIHRvIGtlcm5lbAorICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCisgKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCisgKgorICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIHRoZSByZXN1bHQgb2YKKyAqIGRlcmVmZXJlbmNpbmcgQHB0ciBtdXN0IGJlIGFzc2lnbmFibGUgdG8gQHggd2l0aG91dCBhIGNhc3QuCisgKgorICogQ2FsbGVyIG11c3QgY2hlY2sgdGhlIHBvaW50ZXIgd2l0aCBhY2Nlc3Nfb2soKSBiZWZvcmUgY2FsbGluZyB0aGlzCisgKiBmdW5jdGlvbi4KKyAqCisgKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KKyAqIE9uIGVycm9yLCB0aGUgdmFyaWFibGUgQHggaXMgc2V0IHRvIHplcm8uCisgKi8KKworI2RlZmluZSBfX2dldF91c2VyKHgsIHB0cikJCQkJCQlcCisJX19nZXRfdXNlcl9ub2NoZWNrKCh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQorLyoqCisgKiBfX3B1dF91c2VyOiAtIFdyaXRlIGEgc2ltcGxlIHZhbHVlIGludG8gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgorICogQHg6ICAgVmFsdWUgdG8gY29weSB0byB1c2VyIHNwYWNlLgorICogQHB0cjogRGVzdGluYXRpb24gYWRkcmVzcywgaW4gdXNlciBzcGFjZS4KKyAqCisgKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgorICoKKyAqIFRoaXMgbWFjcm8gY29waWVzIGEgc2luZ2xlIHNpbXBsZSB2YWx1ZSBmcm9tIGtlcm5lbCBzcGFjZSB0byB1c2VyCisgKiBzcGFjZS4gIEl0IHN1cHBvcnRzIHNpbXBsZSB0eXBlcyBsaWtlIGNoYXIgYW5kIGludCwgYnV0IG5vdCBsYXJnZXIKKyAqIGRhdGEgdHlwZXMgbGlrZSBzdHJ1Y3R1cmVzIG9yIGFycmF5cy4KKyAqCisgKiBAcHRyIG11c3QgaGF2ZSBwb2ludGVyLXRvLXNpbXBsZS12YXJpYWJsZSB0eXBlLCBhbmQgQHggbXVzdCBiZSBhc3NpZ25hYmxlCisgKiB0byB0aGUgcmVzdWx0IG9mIGRlcmVmZXJlbmNpbmcgQHB0ci4KKyAqCisgKiBDYWxsZXIgbXVzdCBjaGVjayB0aGUgcG9pbnRlciB3aXRoIGFjY2Vzc19vaygpIGJlZm9yZSBjYWxsaW5nIHRoaXMKKyAqIGZ1bmN0aW9uLgorICoKKyAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgorICovCisKKyNkZWZpbmUgX19wdXRfdXNlcih4LCBwdHIpCQkJCQkJXAorCV9fcHV0X3VzZXJfbm9jaGVjaygoX190eXBlb2ZfXygqKHB0cikpKSh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQorCisjZGVmaW5lIF9fZ2V0X3VzZXJfdW5hbGlnbmVkIF9fZ2V0X3VzZXIKKyNkZWZpbmUgX19wdXRfdXNlcl91bmFsaWduZWQgX19wdXRfdXNlcgorCisvKgorICogbW92c2wgY2FuIGJlIHNsb3cgd2hlbiBzb3VyY2UgYW5kIGRlc3QgYXJlIG5vdCBib3RoIDgtYnl0ZSBhbGlnbmVkCisgKi8KKyNpZmRlZiBDT05GSUdfWDg2X0lOVEVMX1VTRVJDT1BZCitleHRlcm4gc3RydWN0IG1vdnNsX21hc2sgeworCWludCBtYXNrOworfSBfX19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIG1vdnNsX21hc2s7CisjZW5kaWYKKworI2RlZmluZSBBUkNIX0hBU19OT0NBQ0hFX1VBQ0NFU1MgMQorCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogIyBpbmNsdWRlICJ1YWNjZXNzXzMyLmgiCiAjZWxzZQorIyBkZWZpbmUgQVJDSF9IQVNfU0VBUkNIX0VYVEFCTEUKICMgaW5jbHVkZSAidWFjY2Vzc182NC5oIgogI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzMyLmgKaW5kZXggOGU3NTk1Yy4uNmZkZWYzOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzc18zMi5oCkBAIC0xMSw0MjYgKzExLDYgQEAKICNpbmNsdWRlIDxhc20vYXNtLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KIAotI2RlZmluZSBWRVJJRllfUkVBRCAwCi0jZGVmaW5lIFZFUklGWV9XUklURSAxCi0KLS8qCi0gKiBUaGUgZnMgdmFsdWUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFyZ3VtZW50IHZhbGlkaXR5IGNoZWNraW5nIHNob3VsZCBiZQotICogcGVyZm9ybWVkIG9yIG5vdC4gIElmIGdldF9mcygpID09IFVTRVJfRFMsIGNoZWNraW5nIGlzIHBlcmZvcm1lZCwgd2l0aAotICogZ2V0X2ZzKCkgPT0gS0VSTkVMX0RTLCBjaGVja2luZyBpcyBieXBhc3NlZC4KLSAqCi0gKiBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCB0aGVzZSBtYWNyb3MgYXJlIGdyb3NzbHkgbWlzbmFtZWQuCi0gKi8KLQotI2RlZmluZSBNQUtFX01NX1NFRyhzKQkoKG1tX3NlZ21lbnRfdCkgeyAocykgfSkKLQotCi0jZGVmaW5lIEtFUk5FTF9EUwlNQUtFX01NX1NFRygweEZGRkZGRkZGVUwpCi0jZGVmaW5lIFVTRVJfRFMJCU1BS0VfTU1fU0VHKFBBR0VfT0ZGU0VUKQotCi0jZGVmaW5lIGdldF9kcygpCShLRVJORUxfRFMpCi0jZGVmaW5lIGdldF9mcygpCShjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQpCi0jZGVmaW5lIHNldF9mcyh4KQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0ID0gKHgpKQotCi0jZGVmaW5lIHNlZ21lbnRfZXEoYSwgYikJKChhKS5zZWcgPT0gKGIpLnNlZykKLQotLyoKLSAqIG1vdnNsIGNhbiBiZSBzbG93IHdoZW4gc291cmNlIGFuZCBkZXN0IGFyZSBub3QgYm90aCA4LWJ5dGUgYWxpZ25lZAotICovCi0jaWZkZWYgQ09ORklHX1g4Nl9JTlRFTF9VU0VSQ09QWQotZXh0ZXJuIHN0cnVjdCBtb3ZzbF9tYXNrIHsKLQlpbnQgbWFzazsKLX0gX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcCBtb3ZzbF9tYXNrOwotI2VuZGlmCi0KLSNkZWZpbmUgX19hZGRyX29rKGFkZHIpCQkJCQlcCi0JKCh1bnNpZ25lZCBsb25nIF9fZm9yY2UpKGFkZHIpIDwJCVwKLQkgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKQotCi0vKgotICogVGVzdCB3aGV0aGVyIGEgYmxvY2sgb2YgbWVtb3J5IGlzIGEgdmFsaWQgdXNlciBzcGFjZSBhZGRyZXNzLgotICogUmV0dXJucyAwIGlmIHRoZSByYW5nZSBpcyB2YWxpZCwgbm9uemVybyBvdGhlcndpc2UuCi0gKgotICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBmb2xsb3dpbmcgdGVzdDoKLSAqICh1MzMpYWRkciArICh1MzMpc2l6ZSA+PSAodTMzKWN1cnJlbnQtPmFkZHJfbGltaXQuc2VnCi0gKgotICogVGhpcyBuZWVkcyAzMy1iaXQgYXJpdGhtZXRpYy4gV2UgaGF2ZSBhIGNhcnJ5Li4uCi0gKi8KLSNkZWZpbmUgX19yYW5nZV9vayhhZGRyLCBzaXplKQkJCQkJCVwKLSh7CQkJCQkJCQkJXAotCXVuc2lnbmVkIGxvbmcgZmxhZywgcm9rc3VtOwkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKGFkZHIpOwkJCQkJCVwKLQlhc20oImFkZGwgJTMsJTEgOyBzYmJsICUwLCUwOyBjbXBsICUxLCU0OyBzYmJsICQwLCUwIgkJXAotCSAgICA6Ij0mciIgKGZsYWcpLCAiPXIiIChyb2tzdW0pCQkJCVwKLQkgICAgOiIxIiAoYWRkciksICJnIiAoKGludCkoc2l6ZSkpLAkJCQlcCi0JICAgICJybSIgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKTsJCVwKLQlmbGFnOwkJCQkJCQkJXAotfSkKLQotLyoqCi0gKiBhY2Nlc3Nfb2s6IC0gQ2hlY2tzIGlmIGEgdXNlciBzcGFjZSBwb2ludGVyIGlzIHZhbGlkCi0gKiBAdHlwZTogVHlwZSBvZiBhY2Nlc3M6ICVWRVJJRllfUkVBRCBvciAlVkVSSUZZX1dSSVRFLiAgTm90ZSB0aGF0Ci0gKiAgICAgICAgJVZFUklGWV9XUklURSBpcyBhIHN1cGVyc2V0IG9mICVWRVJJRllfUkVBRCAtIGlmIGl0IGlzIHNhZmUKLSAqICAgICAgICB0byB3cml0ZSB0byBhIGJsb2NrLCBpdCBpcyBhbHdheXMgc2FmZSB0byByZWFkIGZyb20gaXQuCi0gKiBAYWRkcjogVXNlciBzcGFjZSBwb2ludGVyIHRvIHN0YXJ0IG9mIGJsb2NrIHRvIGNoZWNrCi0gKiBAc2l6ZTogU2l6ZSBvZiBibG9jayB0byBjaGVjawotICoKLSAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCi0gKgotICogQ2hlY2tzIGlmIGEgcG9pbnRlciB0byBhIGJsb2NrIG9mIG1lbW9yeSBpbiB1c2VyIHNwYWNlIGlzIHZhbGlkLgotICoKLSAqIFJldHVybnMgdHJ1ZSAobm9uemVybykgaWYgdGhlIG1lbW9yeSBibG9jayBtYXkgYmUgdmFsaWQsIGZhbHNlICh6ZXJvKQotICogaWYgaXQgaXMgZGVmaW5pdGVseSBpbnZhbGlkLgotICoKLSAqIE5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIGFyY2hpdGVjdHVyZSwgdGhpcyBmdW5jdGlvbiBwcm9iYWJseSBqdXN0Ci0gKiBjaGVja3MgdGhhdCB0aGUgcG9pbnRlciBpcyBpbiB0aGUgdXNlciBzcGFjZSByYW5nZSAtIGFmdGVyIGNhbGxpbmcKLSAqIHRoaXMgZnVuY3Rpb24sIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIG1heSBzdGlsbCByZXR1cm4gLUVGQVVMVC4KLSAqLwotI2RlZmluZSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkgKGxpa2VseShfX3JhbmdlX29rKGFkZHIsIHNpemUpID09IDApKQotCi0vKgotICogVGhlIGV4Y2VwdGlvbiB0YWJsZSBjb25zaXN0cyBvZiBwYWlycyBvZiBhZGRyZXNzZXM6IHRoZSBmaXJzdCBpcyB0aGUKLSAqIGFkZHJlc3Mgb2YgYW4gaW5zdHJ1Y3Rpb24gdGhhdCBpcyBhbGxvd2VkIHRvIGZhdWx0LCBhbmQgdGhlIHNlY29uZCBpcwotICogdGhlIGFkZHJlc3MgYXQgd2hpY2ggdGhlIHByb2dyYW0gc2hvdWxkIGNvbnRpbnVlLiAgTm8gcmVnaXN0ZXJzIGFyZQotICogbW9kaWZpZWQsIHNvIGl0IGlzIGVudGlyZWx5IHVwIHRvIHRoZSBjb250aW51YXRpb24gY29kZSB0byBmaWd1cmUgb3V0Ci0gKiB3aGF0IHRvIGRvLgotICoKLSAqIEFsbCB0aGUgcm91dGluZXMgYmVsb3cgdXNlIGJpdHMgb2YgZml4dXAgY29kZSB0aGF0IGFyZSBvdXQgb2YgbGluZQotICogd2l0aCB0aGUgbWFpbiBpbnN0cnVjdGlvbiBwYXRoLiAgVGhpcyBtZWFucyB3aGVuIGV2ZXJ5dGhpbmcgaXMgd2VsbCwKLSAqIHdlIGRvbid0IGV2ZW4gaGF2ZSB0byBqdW1wIG92ZXIgdGhlbS4gIEZ1cnRoZXIsIHRoZXkgZG8gbm90IGludHJ1ZGUKLSAqIG9uIG91ciBjYWNoZSBvciB0bGIgZW50cmllcy4KLSAqLwotCi1zdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5IHsKLQl1bnNpZ25lZCBsb25nIGluc24sIGZpeHVwOwotfTsKLQotZXh0ZXJuIGludCBmaXh1cF9leGNlcHRpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwotCi0vKgotICogVGhlc2UgYXJlIHRoZSBtYWluIHNpbmdsZS12YWx1ZSB0cmFuc2ZlciByb3V0aW5lcy4gIFRoZXkgYXV0b21hdGljYWxseQotICogdXNlIHRoZSByaWdodCBzaXplIGlmIHdlIGp1c3QgaGF2ZSB0aGUgcmlnaHQgcG9pbnRlciB0eXBlLgotICoKLSAqIFRoaXMgZ2V0cyBraW5kIG9mIHVnbHkuIFdlIHdhbnQgdG8gcmV0dXJuIF90d29fIHZhbHVlcyBpbiAiZ2V0X3VzZXIoKSIKLSAqIGFuZCB5ZXQgd2UgZG9uJ3Qgd2FudCB0byBkbyBhbnkgcG9pbnRlcnMsIGJlY2F1c2UgdGhhdCBpcyB0b28gbXVjaAotICogb2YgYSBwZXJmb3JtYW5jZSBpbXBhY3QuIFRodXMgd2UgaGF2ZSBhIGZldyByYXRoZXIgdWdseSBtYWNyb3MgaGVyZSwKLSAqIGFuZCBoaWRlIGFsbCB0aGUgdWdsaW5lc3MgZnJvbSB0aGUgdXNlci4KLSAqCi0gKiBUaGUgIl9feHh4IiB2ZXJzaW9ucyBvZiB0aGUgdXNlciBhY2Nlc3MgZnVuY3Rpb25zIGFyZSB2ZXJzaW9ucyB0aGF0Ci0gKiBkbyBub3QgdmVyaWZ5IHRoZSBhZGRyZXNzIHNwYWNlLCB0aGF0IG11c3QgaGF2ZSBiZWVuIGRvbmUgcHJldmlvdXNseQotICogd2l0aCBhIHNlcGFyYXRlICJhY2Nlc3Nfb2soKSIgY2FsbCAodGhpcyBpcyB1c2VkIHdoZW4gd2UgZG8gbXVsdGlwbGUKLSAqIGFjY2Vzc2VzIHRvIHRoZSBzYW1lIGFyZWEgb2YgdXNlciBtZW1vcnkpLgotICovCi0KLWV4dGVybiB2b2lkIF9fZ2V0X3VzZXJfMSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fZ2V0X3VzZXJfMih2b2lkKTsKLWV4dGVybiB2b2lkIF9fZ2V0X3VzZXJfNCh2b2lkKTsKLQotI2RlZmluZSBfX2dldF91c2VyX3goc2l6ZSwgcmV0LCB4LCBwdHIpCSAgICAgIFwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19nZXRfdXNlcl8iICNzaXplIFwKLQkJICAgICA6Ij1hIiAocmV0KSwiPWQiICh4KSAgICAgXAotCQkgICAgIDoiMCIgKHB0cikpCi0KLQotLyogQ2FyZWZ1bDogd2UgaGF2ZSB0byBjYXN0IHRoZSByZXN1bHQgdG8gdGhlIHR5cGUgb2YgdGhlIHBvaW50ZXIKLSAqIGZvciBzaWduIHJlYXNvbnMgKi8KLQotLyoqCi0gKiBnZXRfdXNlcjogLSBHZXQgYSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlLgotICogQHg6ICAgVmFyaWFibGUgdG8gc3RvcmUgcmVzdWx0LgotICogQHB0cjogU291cmNlIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCi0gKgotICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KLSAqCi0gKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlIHRvIGtlcm5lbAotICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCi0gKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCi0gKgotICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIHRoZSByZXN1bHQgb2YKLSAqIGRlcmVmZXJlbmNpbmcgQHB0ciBtdXN0IGJlIGFzc2lnbmFibGUgdG8gQHggd2l0aG91dCBhIGNhc3QuCi0gKgotICogUmV0dXJucyB6ZXJvIG9uIHN1Y2Nlc3MsIG9yIC1FRkFVTFQgb24gZXJyb3IuCi0gKiBPbiBlcnJvciwgdGhlIHZhcmlhYmxlIEB4IGlzIHNldCB0byB6ZXJvLgotICovCi0jZGVmaW5lIGdldF91c2VyKHgsIHB0cikJCQkJCQlcCi0oewkJCQkJCQkJCVwKLQlpbnQgX19yZXRfZ3U7CQkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIF9fdmFsX2d1OwkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemVvZigqKHB0cikpKSB7CQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goMSwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl94KDIsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfeCg0LCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JZGVmYXVsdDoJCQkJCQkJXAotCQlfX2dldF91c2VyX3goWCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCX0JCQkJCQkJCVwKLQkoeCkgPSAoX190eXBlb2ZfXygqKHB0cikpKV9fdmFsX2d1OwkJCQlcCi0JX19yZXRfZ3U7CQkJCQkJCVwKLX0pCi0KLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfYmFkKHZvaWQpOwotCi0vKgotICogU3RyYW5nZSBtYWdpYyBjYWxsaW5nIGNvbnZlbnRpb246IHBvaW50ZXIgaW4gJWVjeCwKLSAqIHZhbHVlIGluICVlYXgoOiVlZHgpLCByZXR1cm4gdmFsdWUgaW4gJWVheCwgbm8gY2xvYmJlcnMuCi0gKi8KLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfMSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfMih2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfNCh2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfOCh2b2lkKTsKLQotI2RlZmluZSBfX3B1dF91c2VyXzEoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzEiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICIwIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyXzIoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzIiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICIwIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyXzQoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzQiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICIwIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyXzgoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzgiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICJBIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyX1goeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyX1giIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICJjIiAocHRyKSkKLQotLyoqCi0gKiBwdXRfdXNlcjogLSBXcml0ZSBhIHNpbXBsZSB2YWx1ZSBpbnRvIHVzZXIgc3BhY2UuCi0gKiBAeDogICBWYWx1ZSB0byBjb3B5IHRvIHVzZXIgc3BhY2UuCi0gKiBAcHRyOiBEZXN0aW5hdGlvbiBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgotICoKLSAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCi0gKgotICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhbHVlIGZyb20ga2VybmVsIHNwYWNlIHRvIHVzZXIKLSAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgotICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgotICoKLSAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCBAeCBtdXN0IGJlIGFzc2lnbmFibGUKLSAqIHRvIHRoZSByZXN1bHQgb2YgZGVyZWZlcmVuY2luZyBAcHRyLgotICoKLSAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgotICovCi0jaWZkZWYgQ09ORklHX1g4Nl9XUF9XT1JLU19PSwotCi0jZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCVwKLSh7CQkJCQkJCQlcCi0JaW50IF9fcmV0X3B1OwkJCQkJCVwKLQlfX3R5cGVvZl9fKCoocHRyKSkgX19wdV92YWw7CQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJXAotCV9fcHVfdmFsID0geDsJCQkJCQlcCi0Jc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQlcCi0JY2FzZSAxOgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfMShfX3B1X3ZhbCwgcHRyKTsJCQlcCi0JCWJyZWFrOwkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCVwKLQkJX19wdXRfdXNlcl8yKF9fcHVfdmFsLCBwdHIpOwkJCVwKLQkJYnJlYWs7CQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJXAotCQlfX3B1dF91c2VyXzQoX19wdV92YWwsIHB0cik7CQkJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfOChfX3B1X3ZhbCwgcHRyKTsJCQlcCi0JCWJyZWFrOwkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCVwKLQkJX19wdXRfdXNlcl9YKF9fcHVfdmFsLCBwdHIpOwkJCVwKLQkJYnJlYWs7CQkJCQkJXAotCX0JCQkJCQkJXAotCV9fcmV0X3B1OwkJCQkJCVwKLX0pCi0KLSNlbHNlCi0jZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCVwKLSh7CQkJCQkJCQlcCi0JaW50IF9fcmV0X3B1OwkJCQkJCVwKLQlfX3R5cGVvZl9fKCoocHRyKSlfX3B1c190bXAgPSB4OwkJCVwKLQlfX3JldF9wdSA9IDA7CQkJCQkJXAotCWlmICh1bmxpa2VseShfX2NvcHlfdG9fdXNlcl9sbChwdHIsICZfX3B1c190bXAsCQlcCi0JCQkJICAgICAgIHNpemVvZigqKHB0cikpKSAhPSAwKSkJXAotCQlfX3JldF9wdSA9IC1FRkFVTFQ7CQkJCVwKLQlfX3JldF9wdTsJCQkJCQlcCi19KQotCi0KLSNlbmRpZgotCi0vKioKLSAqIF9fZ2V0X3VzZXI6IC0gR2V0IGEgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgotICogQHg6ICAgVmFyaWFibGUgdG8gc3RvcmUgcmVzdWx0LgotICogQHB0cjogU291cmNlIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCi0gKgotICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KLSAqCi0gKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlIHRvIGtlcm5lbAotICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCi0gKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCi0gKgotICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIHRoZSByZXN1bHQgb2YKLSAqIGRlcmVmZXJlbmNpbmcgQHB0ciBtdXN0IGJlIGFzc2lnbmFibGUgdG8gQHggd2l0aG91dCBhIGNhc3QuCi0gKgotICogQ2FsbGVyIG11c3QgY2hlY2sgdGhlIHBvaW50ZXIgd2l0aCBhY2Nlc3Nfb2soKSBiZWZvcmUgY2FsbGluZyB0aGlzCi0gKiBmdW5jdGlvbi4KLSAqCi0gKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KLSAqIE9uIGVycm9yLCB0aGUgdmFyaWFibGUgQHggaXMgc2V0IHRvIHplcm8uCi0gKi8KLSNkZWZpbmUgX19nZXRfdXNlcih4LCBwdHIpCQkJCVwKLQlfX2dldF91c2VyX25vY2hlY2soKHgpLCAocHRyKSwgc2l6ZW9mKCoocHRyKSkpCi0KLQotLyoqCi0gKiBfX3B1dF91c2VyOiAtIFdyaXRlIGEgc2ltcGxlIHZhbHVlIGludG8gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgotICogQHg6ICAgVmFsdWUgdG8gY29weSB0byB1c2VyIHNwYWNlLgotICogQHB0cjogRGVzdGluYXRpb24gYWRkcmVzcywgaW4gdXNlciBzcGFjZS4KLSAqCi0gKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgotICoKLSAqIFRoaXMgbWFjcm8gY29waWVzIGEgc2luZ2xlIHNpbXBsZSB2YWx1ZSBmcm9tIGtlcm5lbCBzcGFjZSB0byB1c2VyCi0gKiBzcGFjZS4gIEl0IHN1cHBvcnRzIHNpbXBsZSB0eXBlcyBsaWtlIGNoYXIgYW5kIGludCwgYnV0IG5vdCBsYXJnZXIKLSAqIGRhdGEgdHlwZXMgbGlrZSBzdHJ1Y3R1cmVzIG9yIGFycmF5cy4KLSAqCi0gKiBAcHRyIG11c3QgaGF2ZSBwb2ludGVyLXRvLXNpbXBsZS12YXJpYWJsZSB0eXBlLCBhbmQgQHggbXVzdCBiZSBhc3NpZ25hYmxlCi0gKiB0byB0aGUgcmVzdWx0IG9mIGRlcmVmZXJlbmNpbmcgQHB0ci4KLSAqCi0gKiBDYWxsZXIgbXVzdCBjaGVjayB0aGUgcG9pbnRlciB3aXRoIGFjY2Vzc19vaygpIGJlZm9yZSBjYWxsaW5nIHRoaXMKLSAqIGZ1bmN0aW9uLgotICoKLSAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgotICovCi0jZGVmaW5lIF9fcHV0X3VzZXIoeCwgcHRyKQkJCQkJCVwKLQlfX3B1dF91c2VyX25vY2hlY2soKF9fdHlwZW9mX18oKihwdHIpKSkoeCksIChwdHIpLCBzaXplb2YoKihwdHIpKSkKLQotI2RlZmluZSBfX3B1dF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCVwKLSh7CQkJCQkJCQlcCi0JbG9uZyBfX3B1X2VycjsJCQkJCQlcCi0JX19wdXRfdXNlcl9zaXplKCh4KSwgKHB0ciksIChzaXplKSwgX19wdV9lcnIsIC1FRkFVTFQpOwlcCi0JX19wdV9lcnI7CQkJCQkJXAotfSkKLQotCi0jZGVmaW5lIF9fcHV0X3VzZXJfdTY0KHgsIGFkZHIsIGVycikJCQkJCVwKLQlhc20gdm9sYXRpbGUoIjE6CW1vdmwgJSVlYXgsMCglMilcbiIJCQlcCi0JCSAgICAgIjI6CW1vdmwgJSVlZHgsNCglMilcbiIJCQlcCi0JCSAgICAgIjM6XG4iCQkJCQkJXAotCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKLQkJICAgICAiNDoJbW92bCAlMywlMFxuIgkJCQlcCi0JCSAgICAgIglqbXAgM2JcbiIJCQkJCVwKLQkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCi0JCSAgICAgX0FTTV9FWFRBQkxFKDFiLCA0YikJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgyYiwgNGIpCQkJCVwKLQkJICAgICA6ICI9ciIgKGVycikJCQkJCVwKLQkJICAgICA6ICJBIiAoeCksICJyIiAoYWRkciksICJpIiAoLUVGQVVMVCksICIwIiAoZXJyKSkKLQotI2lmZGVmIENPTkZJR19YODZfV1BfV09SS1NfT0sKLQotI2RlZmluZSBfX3B1dF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwsIGVycnJldCkJCQlcCi1kbyB7CQkJCQkJCQkJXAotCXJldHZhbCA9IDA7CQkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemUpIHsJCQkJCQkJXAotCWNhc2UgMToJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJiIiwgImIiLCAiaXEiLCBlcnJyZXQpOwlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSAyOgkJCQkJCQkJXAotCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInciLCAidyIsICJpciIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAibCIsICIiLCAgImlyIiwgZXJycmV0KTsJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgODoJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl91NjQoKF9fdHlwZW9mX18oKnB0cikpKHgpLCBwdHIsIHJldHZhbCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYmFkKCk7CQkJCQlcCi0JfQkJCQkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2Vsc2UKLQotI2RlZmluZSBfX3B1dF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwsIGVycnJldCkJCQlcCi1kbyB7CQkJCQkJCQkJXAotCV9fdHlwZW9mX18oKihwdHIpKV9fcHVzX3RtcCA9IHg7CQkJCVwKLQlyZXR2YWwgPSAwOwkJCQkJCQlcCi0JCQkJCQkJCQlcCi0JaWYgKHVubGlrZWx5KF9fY29weV90b191c2VyX2xsKHB0ciwgJl9fcHVzX3RtcCwgc2l6ZSkgIT0gMCkpCVwKLQkJcmV0dmFsID0gZXJycmV0OwkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2VuZGlmCi1zdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgeyB1bnNpZ25lZCBsb25nIGJ1ZlsxMDBdOyB9OwotI2RlZmluZSBfX20oeCkgKCooc3RydWN0IF9fbGFyZ2Vfc3RydWN0IF9fdXNlciAqKSh4KSkKLQotLyoKLSAqIFRlbGwgZ2NjIHdlIHJlYWQgZnJvbSBtZW1vcnkgaW5zdGVhZCBvZiB3cml0aW5nOiB0aGlzIGlzIGJlY2F1c2UKLSAqIHdlIGRvIG5vdCB3cml0ZSB0byBhbnkgbWVtb3J5IGdjYyBrbm93cyBhYm91dCwgc28gdGhlcmUgYXJlIG5vCi0gKiBhbGlhc2luZyBpc3N1ZXMuCi0gKi8KLSNkZWZpbmUgX19wdXRfdXNlcl9hc20oeCwgYWRkciwgZXJyLCBpdHlwZSwgcnR5cGUsIGx0eXBlLCBlcnJyZXQpCVwKLQlhc20gdm9sYXRpbGUoIjE6CW1vdiJpdHlwZSIgJSJydHlwZSIxLCUyXG4iCQlcCi0JCSAgICAgIjI6XG4iCQkJCQkJXAotCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKLQkJICAgICAiMzoJbW92bCAlMywlMFxuIgkJCQlcCi0JCSAgICAgIglqbXAgMmJcbiIJCQkJCVwKLQkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCi0JCSAgICAgX0FTTV9FWFRBQkxFKDFiLCAzYikJCQkJXAotCQkgICAgIDogIj1yIihlcnIpCQkJCQlcCi0JCSAgICAgOiBsdHlwZSAoeCksICJtIiAoX19tKGFkZHIpKSwgImkiIChlcnJyZXQpLCAiMCIgKGVycikpCi0KLQotI2RlZmluZSBfX2dldF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCQlcCi0oewkJCQkJCQkJCVwKLQlsb25nIF9fZ3VfZXJyOwkJCQkJCQlcCi0JdW5zaWduZWQgbG9uZyBfX2d1X3ZhbDsJCQkJCQlcCi0JX19nZXRfdXNlcl9zaXplKF9fZ3VfdmFsLCAocHRyKSwgKHNpemUpLCBfX2d1X2VyciwgLUVGQVVMVCk7CVwKLQkoeCkgPSAoX190eXBlb2ZfXygqKHB0cikpKV9fZ3VfdmFsOwkJCQlcCi0JX19ndV9lcnI7CQkJCQkJCVwKLX0pCi0KLWV4dGVybiBsb25nIF9fZ2V0X3VzZXJfYmFkKHZvaWQpOwotCi0jZGVmaW5lIF9fZ2V0X3VzZXJfc2l6ZSh4LCBwdHIsIHNpemUsIHJldHZhbCwgZXJycmV0KQkJCVwKLWRvIHsJCQkJCQkJCQlcCi0JcmV0dmFsID0gMDsJCQkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKHB0cik7CQkJCQkJXAotCXN3aXRjaCAoc2l6ZSkgewkJCQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImIiLCAiYiIsICI9cSIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAidyIsICJ3IiwgIj1yIiwgZXJycmV0KTsJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJsIiwgIiIsICI9ciIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCSh4KSA9IF9fZ2V0X3VzZXJfYmFkKCk7CQkJCQlcCi0JfQkJCQkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2RlZmluZSBfX2dldF91c2VyX2FzbSh4LCBhZGRyLCBlcnIsIGl0eXBlLCBydHlwZSwgbHR5cGUsIGVycnJldCkJXAotCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlMiwlInJ0eXBlIjFcbiIJCVwKLQkJICAgICAiMjpcbiIJCQkJCQlcCi0JCSAgICAgIi5zZWN0aW9uIC5maXh1cCxcImF4XCJcbiIJCQkJXAotCQkgICAgICIzOgltb3ZsICUzLCUwXG4iCQkJCVwKLQkJICAgICAiCXhvciJpdHlwZSIgJSJydHlwZSIxLCUicnR5cGUiMVxuIgkJXAotCQkgICAgICIJam1wIDJiXG4iCQkJCQlcCi0JCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgM2IpCQkJCVwKLQkJICAgICA6ICI9ciIgKGVyciksIGx0eXBlICh4KQkJCQlcCi0JCSAgICAgOiAibSIgKF9fbShhZGRyKSksICJpIiAoZXJycmV0KSwgIjAiIChlcnIpKQotCi0KIHVuc2lnbmVkIGxvbmcgX19tdXN0X2NoZWNrIF9fY29weV90b191c2VyX2xsCiAJCSh2b2lkIF9fdXNlciAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHVuc2lnbmVkIGxvbmcgbik7CiB1bnNpZ25lZCBsb25nIF9fbXVzdF9jaGVjayBfX2NvcHlfZnJvbV91c2VyX2xsCkBAIC01NzYsOCArMTU2LDYgQEAKIAlyZXR1cm4gX19jb3B5X2Zyb21fdXNlcl9sbCh0bywgZnJvbSwgbik7CiB9CiAKLSNkZWZpbmUgQVJDSF9IQVNfTk9DQUNIRV9VQUNDRVNTCi0KIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgbG9uZyBfX2NvcHlfZnJvbV91c2VyX25vY2FjaGUodm9pZCAqdG8sCiAJCQkJY29uc3Qgdm9pZCBfX3VzZXIgKmZyb20sIHVuc2lnbmVkIGxvbmcgbikKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzc182NC5oCmluZGV4IGI4YTJmNDMuLjUxNWQ0ZGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfNjQuaApAQCAtOSwyNjUgKzksNiBAQAogI2luY2x1ZGUgPGxpbnV4L3ByZWZldGNoLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KIAotI2RlZmluZSBWRVJJRllfUkVBRCAwCi0jZGVmaW5lIFZFUklGWV9XUklURSAxCi0KLS8qCi0gKiBUaGUgZnMgdmFsdWUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFyZ3VtZW50IHZhbGlkaXR5IGNoZWNraW5nIHNob3VsZCBiZQotICogcGVyZm9ybWVkIG9yIG5vdC4gIElmIGdldF9mcygpID09IFVTRVJfRFMsIGNoZWNraW5nIGlzIHBlcmZvcm1lZCwgd2l0aAotICogZ2V0X2ZzKCkgPT0gS0VSTkVMX0RTLCBjaGVja2luZyBpcyBieXBhc3NlZC4KLSAqCi0gKiBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCB0aGVzZSBtYWNyb3MgYXJlIGdyb3NzbHkgbWlzbmFtZWQuCi0gKi8KLQotI2RlZmluZSBNQUtFX01NX1NFRyhzKQkoKG1tX3NlZ21lbnRfdCkgeyAocykgfSkKLQotI2RlZmluZSBLRVJORUxfRFMJTUFLRV9NTV9TRUcoMHhGRkZGRkZGRkZGRkZGRkZGVUwpCi0jZGVmaW5lIFVTRVJfRFMJCU1BS0VfTU1fU0VHKFBBR0VfT0ZGU0VUKQotCi0jZGVmaW5lIGdldF9kcygpCShLRVJORUxfRFMpCi0jZGVmaW5lIGdldF9mcygpCShjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQpCi0jZGVmaW5lIHNldF9mcyh4KQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0ID0gKHgpKQotCi0jZGVmaW5lIHNlZ21lbnRfZXEoYSwgYikJKChhKS5zZWcgPT0gKGIpLnNlZykKLQotI2RlZmluZSBfX2FkZHJfb2soYWRkcikgKCEoKHVuc2lnbmVkIGxvbmcpKGFkZHIpICYJCQlcCi0JCQkgICAoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0LnNlZykpKQotCi0vKgotICogVWhodWgsIHRoaXMgbmVlZHMgNjUtYml0IGFyaXRobWV0aWMuIFdlIGhhdmUgYSBjYXJyeS4uCi0gKi8KLSNkZWZpbmUgX19yYW5nZV9ub3Rfb2soYWRkciwgc2l6ZSkJCQkJCVwKLSh7CQkJCQkJCQkJXAotCXVuc2lnbmVkIGxvbmcgZmxhZywgcm9rc3VtOwkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKGFkZHIpOwkJCQkJCVwKLQlhc20oIiMgcmFuZ2Vfb2tcblxyIgkJCQkJCVwKLQkgICAgImFkZHEgJTMsJTEgOyBzYmJxICUwLCUwIDsgY21wcSAlMSwlNCA7IHNiYnEgJDAsJTAiCQlcCi0JICAgIDogIj0mciIgKGZsYWcpLCAiPXIiIChyb2tzdW0pCQkJCVwKLQkgICAgOiAiMSIgKGFkZHIpLCAiZyIgKChsb25nKShzaXplKSksCQkJCVwKLQkgICAgICAiZyIgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKTsJCVwKLQlmbGFnOwkJCQkJCQkJXAotfSkKLQotI2RlZmluZSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkgKF9fcmFuZ2Vfbm90X29rKGFkZHIsIHNpemUpID09IDApCi0KLS8qCi0gKiBUaGUgZXhjZXB0aW9uIHRhYmxlIGNvbnNpc3RzIG9mIHBhaXJzIG9mIGFkZHJlc3NlczogdGhlIGZpcnN0IGlzIHRoZQotICogYWRkcmVzcyBvZiBhbiBpbnN0cnVjdGlvbiB0aGF0IGlzIGFsbG93ZWQgdG8gZmF1bHQsIGFuZCB0aGUgc2Vjb25kIGlzCi0gKiB0aGUgYWRkcmVzcyBhdCB3aGljaCB0aGUgcHJvZ3JhbSBzaG91bGQgY29udGludWUuICBObyByZWdpc3RlcnMgYXJlCi0gKiBtb2RpZmllZCwgc28gaXQgaXMgZW50aXJlbHkgdXAgdG8gdGhlIGNvbnRpbnVhdGlvbiBjb2RlIHRvIGZpZ3VyZSBvdXQKLSAqIHdoYXQgdG8gZG8uCi0gKgotICogQWxsIHRoZSByb3V0aW5lcyBiZWxvdyB1c2UgYml0cyBvZiBmaXh1cCBjb2RlIHRoYXQgYXJlIG91dCBvZiBsaW5lCi0gKiB3aXRoIHRoZSBtYWluIGluc3RydWN0aW9uIHBhdGguICBUaGlzIG1lYW5zIHdoZW4gZXZlcnl0aGluZyBpcyB3ZWxsLAotICogd2UgZG9uJ3QgZXZlbiBoYXZlIHRvIGp1bXAgb3ZlciB0aGVtLiAgRnVydGhlciwgdGhleSBkbyBub3QgaW50cnVkZQotICogb24gb3VyIGNhY2hlIG9yIHRsYiBlbnRyaWVzLgotICovCi0KLXN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgewotCXVuc2lnbmVkIGxvbmcgaW5zbiwgZml4dXA7Ci19OwotCi1leHRlcm4gaW50IGZpeHVwX2V4Y2VwdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncyk7Ci0KLSNkZWZpbmUgQVJDSF9IQVNfU0VBUkNIX0VYVEFCTEUKLQotLyoKLSAqIFRoZXNlIGFyZSB0aGUgbWFpbiBzaW5nbGUtdmFsdWUgdHJhbnNmZXIgcm91dGluZXMuICBUaGV5IGF1dG9tYXRpY2FsbHkKLSAqIHVzZSB0aGUgcmlnaHQgc2l6ZSBpZiB3ZSBqdXN0IGhhdmUgdGhlIHJpZ2h0IHBvaW50ZXIgdHlwZS4KLSAqCi0gKiBUaGlzIGdldHMga2luZCBvZiB1Z2x5LiBXZSB3YW50IHRvIHJldHVybiBfdHdvXyB2YWx1ZXMgaW4gImdldF91c2VyKCkiCi0gKiBhbmQgeWV0IHdlIGRvbid0IHdhbnQgdG8gZG8gYW55IHBvaW50ZXJzLCBiZWNhdXNlIHRoYXQgaXMgdG9vIG11Y2gKLSAqIG9mIGEgcGVyZm9ybWFuY2UgaW1wYWN0LiBUaHVzIHdlIGhhdmUgYSBmZXcgcmF0aGVyIHVnbHkgbWFjcm9zIGhlcmUsCi0gKiBhbmQgaGlkZSBhbGwgdGhlIHVnbGluZXNzIGZyb20gdGhlIHVzZXIuCi0gKgotICogVGhlICJfX3h4eCIgdmVyc2lvbnMgb2YgdGhlIHVzZXIgYWNjZXNzIGZ1bmN0aW9ucyBhcmUgdmVyc2lvbnMgdGhhdAotICogZG8gbm90IHZlcmlmeSB0aGUgYWRkcmVzcyBzcGFjZSwgdGhhdCBtdXN0IGhhdmUgYmVlbiBkb25lIHByZXZpb3VzbHkKLSAqIHdpdGggYSBzZXBhcmF0ZSAiYWNjZXNzX29rKCkiIGNhbGwgKHRoaXMgaXMgdXNlZCB3aGVuIHdlIGRvIG11bHRpcGxlCi0gKiBhY2Nlc3NlcyB0byB0aGUgc2FtZSBhcmVhIG9mIHVzZXIgbWVtb3J5KS4KLSAqLwotCi0jZGVmaW5lIF9fZ2V0X3VzZXJfeChzaXplLCByZXQsIHgsIHB0cikJCSAgICAgIFwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19nZXRfdXNlcl8iICNzaXplCSAgICAgIFwKLQkJICAgICA6ICI9YSIgKHJldCksIj1kIiAoeCkJICAgICAgXAotCQkgICAgIDogImMiIChwdHIpCQkgICAgICBcCi0JCSAgICAgOiAicjgiKQotCi0vKiBDYXJlZnVsOiB3ZSBoYXZlIHRvIGNhc3QgdGhlIHJlc3VsdCB0byB0aGUgdHlwZSBvZiB0aGUgcG9pbnRlcgotICogZm9yIHNpZ24gcmVhc29ucyAqLwotCi0jZGVmaW5lIGdldF91c2VyKHgsIHB0cikJCQkJCQlcCi0oewkJCQkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIF9fdmFsX2d1OwkJCQkJCVwKLQlpbnQgX19yZXRfZ3U7CQkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemVvZigqKHB0cikpKSB7CQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goMSwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl94KDIsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfeCg0LCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goOCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWRlZmF1bHQ6CQkJCQkJCVwKLQkJX19nZXRfdXNlcl9iYWQoKTsJCQkJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQl9CQkJCQkJCQlcCi0JKHgpID0gKF9fZm9yY2UgdHlwZW9mKCoocHRyKSkpX192YWxfZ3U7CQkJCVwKLQlfX3JldF9ndTsJCQkJCQkJXAotfSkKLQotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl8xKHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl8yKHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl80KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl84KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl9iYWQodm9pZCk7Ci0KLSNkZWZpbmUgX19wdXRfdXNlcl94KHNpemUsIHJldCwgeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXyIgI3NpemUJCQkJXAotCQkgICAgIDoiPWEiIChyZXQpCQkJCQlcCi0JCSAgICAgOiJjIiAocHRyKSwiZCIgKHgpCQkJCQlcCi0JCSAgICAgOiJyOCIpCi0KLSNkZWZpbmUgcHV0X3VzZXIoeCwgcHRyKQkJCQkJCVwKLQlfX3B1dF91c2VyX2NoZWNrKChfX3R5cGVvZl9fKCoocHRyKSkpKHgpLCAocHRyKSwgc2l6ZW9mKCoocHRyKSkpCi0KLSNkZWZpbmUgX19nZXRfdXNlcih4LCBwdHIpCQkJCQkJXAotCV9fZ2V0X3VzZXJfbm9jaGVjaygoeCksIChwdHIpLCBzaXplb2YoKihwdHIpKSkKLSNkZWZpbmUgX19wdXRfdXNlcih4LCBwdHIpCQkJCQkJXAotCV9fcHV0X3VzZXJfbm9jaGVjaygoX190eXBlb2ZfXygqKHB0cikpKSh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQotCi0jZGVmaW5lIF9fZ2V0X3VzZXJfdW5hbGlnbmVkIF9fZ2V0X3VzZXIKLSNkZWZpbmUgX19wdXRfdXNlcl91bmFsaWduZWQgX19wdXRfdXNlcgotCi0jZGVmaW5lIF9fcHV0X3VzZXJfbm9jaGVjayh4LCBwdHIsIHNpemUpCQlcCi0oewkJCQkJCQlcCi0JaW50IF9fcHVfZXJyOwkJCQkJXAotCV9fcHV0X3VzZXJfc2l6ZSgoeCksIChwdHIpLCAoc2l6ZSksIF9fcHVfZXJyKTsJXAotCV9fcHVfZXJyOwkJCQkJXAotfSkKLQotCi0jZGVmaW5lIF9fcHV0X3VzZXJfY2hlY2soeCwgcHRyLCBzaXplKQkJCQlcCi0oewkJCQkJCQkJXAotCWludCBfX3B1X2VycjsJCQkJCQlcCi0JdHlwZW9mKCoocHRyKSkgX191c2VyICpfX3B1X2FkZHIgPSAocHRyKTsJCVwKLQlzd2l0Y2ggKHNpemUpIHsJCQkJCQlcCi0JY2FzZSAxOgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCgxLCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSAyOgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCgyLCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSA0OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCg0LCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCg4LCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JZGVmYXVsdDoJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYmFkKCk7CQkJCVwKLQl9CQkJCQkJCVwKLQlfX3B1X2VycjsJCQkJCQlcCi19KQotCi0jZGVmaW5lIF9fcHV0X3VzZXJfc2l6ZSh4LCBwdHIsIHNpemUsIHJldHZhbCkJCQkJXAotZG8gewkJCQkJCQkJCVwKLQlyZXR2YWwgPSAwOwkJCQkJCQlcCi0JX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCi0Jc3dpdGNoIChzaXplKSB7CQkJCQkJCVwKLQljYXNlIDE6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAiYiIsICJiIiwgImlxIiwgLUVGQVVMVCk7XAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJ3IiwgInciLCAiaXIiLCAtRUZBVUxUKTtcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA0OgkJCQkJCQkJXAotCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImwiLCAiayIsICJpciIsIC1FRkFVTFQpO1wKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDg6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAicSIsICIiLCAiWnIiLCAtRUZBVUxUKTsJXAotCQlicmVhazsJCQkJCQkJXAotCWRlZmF1bHQ6CQkJCQkJCVwKLQkJX19wdXRfdXNlcl9iYWQoKTsJCQkJCVwKLQl9CQkJCQkJCQlcCi19IHdoaWxlICgwKQotCi0vKiBGSVhNRTogdGhpcyBoYWNrIGlzIGRlZmluaXRlbHkgd3JvbmcgLUFLICovCi1zdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgeyB1bnNpZ25lZCBsb25nIGJ1ZlsxMDBdOyB9OwotI2RlZmluZSBfX20oeCkgKCooc3RydWN0IF9fbGFyZ2Vfc3RydWN0IF9fdXNlciAqKSh4KSkKLQotLyoKLSAqIFRlbGwgZ2NjIHdlIHJlYWQgZnJvbSBtZW1vcnkgaW5zdGVhZCBvZiB3cml0aW5nOiB0aGlzIGlzIGJlY2F1c2UKLSAqIHdlIGRvIG5vdCB3cml0ZSB0byBhbnkgbWVtb3J5IGdjYyBrbm93cyBhYm91dCwgc28gdGhlcmUgYXJlIG5vCi0gKiBhbGlhc2luZyBpc3N1ZXMuCi0gKi8KLSNkZWZpbmUgX19wdXRfdXNlcl9hc20oeCwgYWRkciwgZXJyLCBpdHlwZSwgcnR5cGUsIGx0eXBlLCBlcnJubykJXAotCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlInJ0eXBlIjEsJTJcbiIJCVwKLQkJICAgICAiMjpcbiIJCQkJCQlcCi0JCSAgICAgIi5zZWN0aW9uIC5maXh1cCwgXCJheFwiXG4iCQkJXAotCQkgICAgICIzOgltb3YgJTMsJTBcbiIJCQkJXAotCQkgICAgICIJam1wIDJiXG4iCQkJCQlcCi0JCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgM2IpCQkJCVwKLQkJICAgICA6ICI9ciIoZXJyKQkJCQkJXAotCQkgICAgIDogbHR5cGUgKHgpLCAibSIgKF9fbShhZGRyKSksICJpIiAoZXJybm8pLCAiMCIgKGVycikpCi0KLQotI2RlZmluZSBfX2dldF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCVwKLSh7CQkJCQkJCQlcCi0JaW50IF9fZ3VfZXJyOwkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIF9fZ3VfdmFsOwkJCQkJXAotCV9fZ2V0X3VzZXJfc2l6ZShfX2d1X3ZhbCwgKHB0ciksIChzaXplKSwgX19ndV9lcnIpOwlcCi0JKHgpID0gKF9fZm9yY2UgdHlwZW9mKCoocHRyKSkpX19ndV92YWw7CQkJXAotCV9fZ3VfZXJyOwkJCQkJCVwKLX0pCi0KLWV4dGVybiBpbnQgX19nZXRfdXNlcl8xKHZvaWQpOwotZXh0ZXJuIGludCBfX2dldF91c2VyXzIodm9pZCk7Ci1leHRlcm4gaW50IF9fZ2V0X3VzZXJfNCh2b2lkKTsKLWV4dGVybiBpbnQgX19nZXRfdXNlcl84KHZvaWQpOwotZXh0ZXJuIGludCBfX2dldF91c2VyX2JhZCh2b2lkKTsKLQotI2RlZmluZSBfX2dldF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwpCQkJCVwKLWRvIHsJCQkJCQkJCQlcCi0JcmV0dmFsID0gMDsJCQkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKHB0cik7CQkJCQkJXAotCXN3aXRjaCAoc2l6ZSkgewkJCQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImIiLCAiYiIsICI9cSIsIC1FRkFVTFQpO1wKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAidyIsICJ3IiwgIj1yIiwgLUVGQVVMVCk7XAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJsIiwgImsiLCAiPXIiLCAtRUZBVUxUKTtcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInEiLCAiIiwgIj1yIiwgLUVGQVVMVCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCSh4KSA9IF9fZ2V0X3VzZXJfYmFkKCk7CQkJCQlcCi0JfQkJCQkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2RlZmluZSBfX2dldF91c2VyX2FzbSh4LCBhZGRyLCBlcnIsIGl0eXBlLCBydHlwZSwgbHR5cGUsIGVycm5vKQlcCi0JYXNtIHZvbGF0aWxlKCIxOgltb3YiaXR5cGUiICUyLCUicnR5cGUiMVxuIgkJXAotCQkgICAgICIyOlxuIgkJCQkJCVwKLQkJICAgICAiLnNlY3Rpb24gLmZpeHVwLCBcImF4XCJcbiIJCQlcCi0JCSAgICAgIjM6CW1vdiAlMywlMFxuIgkJCQlcCi0JCSAgICAgIgl4b3IiaXR5cGUiICUicnR5cGUiMSwlInJ0eXBlIjFcbiIJCVwKLQkJICAgICAiCWptcCAyYlxuIgkJCQkJXAotCQkgICAgICIucHJldmlvdXNcbiIJCQkJCVwKLQkJICAgICBfQVNNX0VYVEFCTEUoMWIsIDNiKQkJCQlcCi0JCSAgICAgOiAiPXIiIChlcnIpLCBsdHlwZSAoeCkJCQkJXAotCQkgICAgIDogIm0iIChfX20oYWRkcikpLCAiaSIoZXJybm8pLCAiMCIoZXJyKSkKLQogLyoKICAqIENvcHkgVG8vRnJvbSBVc2Vyc3BhY2UKICAqLwpAQCAtNDM3LDcgKzE3OCw2IEBACiAJcmV0dXJuIGNvcHlfdXNlcl9nZW5lcmljKChfX2ZvcmNlIHZvaWQgKilkc3QsIHNyYywgc2l6ZSk7CiB9CiAKLSNkZWZpbmUgQVJDSF9IQVNfTk9DQUNIRV9VQUNDRVNTIDEKIGV4dGVybiBsb25nIF9fY29weV91c2VyX25vY2FjaGUodm9pZCAqZHN0LCBjb25zdCB2b2lkIF9fdXNlciAqc3JjLAogCQkJCXVuc2lnbmVkIHNpemUsIGludCB6ZXJvcmVzdCk7CiAKQEAgLTQ1NSw0ICsxOTUsNyBAQAogCXJldHVybiBfX2NvcHlfdXNlcl9ub2NhY2hlKGRzdCwgc3JjLCBzaXplLCAwKTsKIH0KIAordW5zaWduZWQgbG9uZworY29weV91c2VyX2hhbmRsZV90YWlsKGNoYXIgKnRvLCBjaGFyICpmcm9tLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIHplcm9yZXN0KTsKKwogI2VuZGlmIC8qIF9fWDg2XzY0X1VBQ0NFU1NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3VuaXN0ZF82NC5oIGIvaW5jbHVkZS9hc20teDg2L3VuaXN0ZF82NC5oCmluZGV4IGZlMjZlMzYuLjljMWE0YTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91bmlzdGRfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdW5pc3RkXzY0LmgKQEAgLTI5MCw3ICsyOTAsNyBAQAogI2RlZmluZSBfX05SX3J0X3NpZ3F1ZXVlaW5mbwkJCTEyOQogX19TWVNDQUxMKF9fTlJfcnRfc2lncXVldWVpbmZvLCBzeXNfcnRfc2lncXVldWVpbmZvKQogI2RlZmluZSBfX05SX3J0X3NpZ3N1c3BlbmQJCQkxMzAKLV9fU1lTQ0FMTChfX05SX3J0X3NpZ3N1c3BlbmQsIHN0dWJfcnRfc2lnc3VzcGVuZCkKK19fU1lTQ0FMTChfX05SX3J0X3NpZ3N1c3BlbmQsIHN5c19ydF9zaWdzdXNwZW5kKQogI2RlZmluZSBfX05SX3NpZ2FsdHN0YWNrCQkJMTMxCiBfX1NZU0NBTEwoX19OUl9zaWdhbHRzdGFjaywgc3R1Yl9zaWdhbHRzdGFjaykKICNkZWZpbmUgX19OUl91dGltZQkJCQkxMzIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9iYXUuaCBiL2luY2x1ZGUvYXNtLXg4Ni91di91dl9iYXUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWFjMGRmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X2JhdS5oCkBAIC0wLDAgKzEsMzM3IEBACisvKgorICogVGhpcyBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UuICBTZWUgdGhlIGZpbGUgIkNPUFlJTkciIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIGFyY2hpdmUKKyAqIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogU0dJIFVWIEJyb2FkY2FzdCBBc3Npc3QgVW5pdCBkZWZpbml0aW9ucworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBTaWxpY29uIEdyYXBoaWNzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9YODZfVVZfQkFVX18KKyNkZWZpbmUgX19BU01fWDg2X1VWX0JBVV9fCisKKyNpbmNsdWRlIDxsaW51eC9iaXRtYXAuaD4KKyNkZWZpbmUgQklUU1BFUkJZVEUgOAorCisvKgorICogQnJvYWRjYXN0IEFzc2lzdCBVbml0IG1lc3NhZ2luZyBzdHJ1Y3R1cmVzCisgKgorICogU2VsZWN0aXZlIEJyb2FkY2FzdCBhY3RpdmF0aW9ucyBhcmUgaW5kdWNlZCBieSBzb2Z0d2FyZSBhY3Rpb24KKyAqIHNwZWNpZnlpbmcgYSBwYXJ0aWN1bGFyIDgtZGVzY3JpcHRvciAic2V0IiB2aWEgYSA2LWJpdCBpbmRleCB3cml0dGVuCisgKiB0byBhbiBNTVIuCisgKiBUaHVzIHRoZXJlIGFyZSA2NCB1bmlxdWUgNTEyLWJ5dGUgc2V0cyBvZiBTQiBkZXNjcmlwdG9ycyAtIG9uZSBzZXQgZm9yCisgKiBlYWNoIDYtYml0IGluZGV4IHZhbHVlLiBUaGVzZSBkZXNjcmlwdG9yIHNldHMgYXJlIG1hcHBlZCBpbiBzZXF1ZW5jZQorICogc3RhcnRpbmcgd2l0aCBzZXQgMCBsb2NhdGVkIGF0IHRoZSBhZGRyZXNzIHNwZWNpZmllZCBpbiB0aGUKKyAqIEJBVV9TQl9ERVNDUklQVE9SX0JBU0UgcmVnaXN0ZXIsIHNldCAxIGlzIGxvY2F0ZWQgYXQgQkFTRSArIDUxMiwKKyAqIHNldCAyIGlzIGF0IEJBU0UgKyAyKjUxMiwgc2V0IDMgYXQgQkFTRSArIDMqNTEyLCBhbmQgc28gb24uCisgKgorICogV2Ugd2lsbCB1c2UgMzEgc2V0cywgb25lIGZvciBzZW5kaW5nIEJBVSBtZXNzYWdlcyBmcm9tIGVhY2ggb2YgdGhlIDMyCisgKiBjcHUncyBvbiB0aGUgbm9kZS4KKyAqCisgKiBUTEIgc2hvb3Rkb3duIHdpbGwgdXNlIHRoZSBmaXJzdCBvZiB0aGUgOCBkZXNjcmlwdG9ycyBvZiBlYWNoIHNldC4KKyAqIEVhY2ggb2YgdGhlIGRlc2NyaXB0b3JzIGlzIDY0IGJ5dGVzIGluIHNpemUgKDgqNjQgPSA1MTIgYnl0ZXMgaW4gYSBzZXQpLgorICovCisKKyNkZWZpbmUgVVZfSVRFTVNfUEVSX0RFU0NSSVBUT1IJCTgKKyNkZWZpbmUgVVZfQ1BVU19QRVJfQUNUX1NUQVRVUwkJMzIKKyNkZWZpbmUgVVZfQUNUX1NUQVRVU19NQVNLCQkweDMKKyNkZWZpbmUgVVZfQUNUX1NUQVRVU19TSVpFCQkyCisjZGVmaW5lIFVWX0FDVElWQVRJT05fREVTQ1JJUFRPUl9TSVpFCTMyCisjZGVmaW5lIFVWX0RJU1RSSUJVVElPTl9TSVpFCQkyNTYKKyNkZWZpbmUgVVZfU1dfQUNLX05QRU5ESU5HCQk4CisjZGVmaW5lIFVWX0JBVV9NRVNTQUdFCQkJMjAwCisvKgorICogTWVzc2FnaW5nIGlycTsgc2VlIGlycV82NC5oIGFuZCBpbmNsdWRlL2FzbS14ODYvaHdfaXJxXzY0LmgKKyAqIFRvIGJlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbiB0aGUgZnV0dXJlCisgKi8KKyNkZWZpbmUgVVZfTkVUX0VORFBPSU5UX0lOVEQJCTB4MzgKKyNkZWZpbmUgVVZfREVTQ19CQVNFX1BOT0RFX1NISUZUCTQ5CisjZGVmaW5lIFVWX1BBWUxPQURRX1BOT0RFX1NISUZUCQk0OQorI2RlZmluZSBVVl9QVENfQkFTRU5BTUUJCQkic2dpX3V2L3B0Y19zdGF0aXN0aWNzIgorI2RlZmluZSB1dl9waHlzbm9kZWFkZHIoeCkJCSgoX19wYSgodW5zaWduZWQgbG9uZykoeCkpICYgdXZfbW1hc2spKQorCisvKgorICogYml0cyBpbiBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzAvMQorICovCisjZGVmaW5lIERFU0NfU1RBVFVTX0lETEUJCTAKKyNkZWZpbmUgREVTQ19TVEFUVVNfQUNUSVZFCQkxCisjZGVmaW5lIERFU0NfU1RBVFVTX0RFU1RJTkFUSU9OX1RJTUVPVVQJMgorI2RlZmluZSBERVNDX1NUQVRVU19TT1VSQ0VfVElNRU9VVAkzCisKKy8qCisgKiBzb3VyY2Ugc2lkZSB0aHJlc2hob2xkcyBhdCB3aGljaCBtZXNzYWdlIHJldHJpZXMgcHJpbnQgYSB3YXJuaW5nCisgKi8KKyNkZWZpbmUgU09VUkNFX1RJTUVPVVRfTElNSVQJCTIwCisjZGVmaW5lIERFU1RJTkFUSU9OX1RJTUVPVVRfTElNSVQJMjAKKworLyoKKyAqIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBkZXN0aW5hdGlvbiBzaWRlIHBheWxvYWQgcXVldWUKKyAqLworI2RlZmluZSBERVNUX1FfU0laRQkJCTE3CisvKgorICogbnVtYmVyIG9mIGRlc3RpbmF0aW9uIHNpZGUgc29mdHdhcmUgYWNrIHJlc291cmNlcworICovCisjZGVmaW5lIERFU1RfTlVNX1JFU09VUkNFUwkJOAorI2RlZmluZSBNQVhfQ1BVU19QRVJfTk9ERQkJMzIKKy8qCisgKiBjb21wbGV0aW9uIHN0YXR1c2VzIGZvciBzZW5kaW5nIGEgVExCIGZsdXNoIG1lc3NhZ2UKKyAqLworI2RlZmluZQlGTFVTSF9SRVRSWQkJCTEKKyNkZWZpbmUJRkxVU0hfR0lWRVVQCQkJMgorI2RlZmluZQlGTFVTSF9DT01QTEVURQkJCTMKKworLyoKKyAqIERpc3RyaWJ1dGlvbjogMzIgYnl0ZXMgKDI1NiBiaXRzKSAoYnl0ZXMgMC0weDFmIG9mIGRlc2NyaXB0b3IpCisgKiBJZiB0aGUgJ211bHRpbGV2ZWwnIGZsYWcgaW4gdGhlIGhlYWRlciBwb3J0aW9uIG9mIHRoZSBkZXNjcmlwdG9yCisgKiBoYXMgYmVlbiBzZXQgdG8gMCwgdGhlbiBlbmRwb2ludCBtdWx0aS11bmljYXN0IG1vZGUgaXMgc2VsZWN0ZWQuCisgKiBUaGUgZGlzdHJpYnV0aW9uIHNwZWNpZmljYXRpb24gKDMyIGJ5dGVzKSBpcyBpbnRlcnByZXRlZCBhcyBhIDI1Ni1iaXQKKyAqIGRpc3RyaWJ1dGlvbiB2ZWN0b3IuIEFkamFjZW50IGJpdHMgY29ycmVzcG9uZCB0byBjb25zZWN1dGl2ZSBldmVuIG51bWJlcmVkCisgKiBub2RlSURzLiBUaGUgcmVzdWx0IG9mIGFkZGluZyB0aGUgaW5kZXggb2YgYSBnaXZlbiBiaXQgdG8gdGhlIDE1LWJpdAorICogJ2Jhc2VfZGVzdF9ub2RlaWQnIGZpZWxkIG9mIHRoZSBoZWFkZXIgY29ycmVzcG9uZHMgdG8gdGhlCisgKiBkZXN0aW5hdGlvbiBub2RlSUQgYXNzb2NpYXRlZCB3aXRoIHRoYXQgc3BlY2lmaWVkIGJpdC4KKyAqLworc3RydWN0IGJhdV90YXJnZXRfbm9kZW1hc2sgeworCXVuc2lnbmVkIGxvbmcgYml0c1tCSVRTX1RPX0xPTkdTKDI1NildOworfTsKKworLyoKKyAqIG1hc2sgb2YgY3B1J3Mgb24gYSBub2RlCisgKiAoZHVyaW5nIGluaXRpYWxpemF0aW9uIHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB1bnNpZ25lZCBsb25nIGhhcworICogIGVub3VnaCBiaXRzIGZvciBtYXguIGNwdSdzIHBlciBub2RlKQorICovCitzdHJ1Y3QgYmF1X2xvY2FsX2NwdW1hc2sgeworCXVuc2lnbmVkIGxvbmcgYml0czsKK307CisKKy8qCisgKiBQYXlsb2FkOiAxNiBieXRlcyAoMTI4IGJpdHMpIChieXRlcyAweDIwLTB4MmYgb2YgZGVzY3JpcHRvcikKKyAqIG9ubHkgMTIgYnl0ZXMgKDk2IGJpdHMpIG9mIHRoZSBwYXlsb2FkIGFyZWEgYXJlIHVzYWJsZS4KKyAqIEFuIGFkZGl0aW9uYWwgMyBieXRlcyAoYml0cyAyNzo0KSBvZiB0aGUgaGVhZGVyIGFkZHJlc3MgYXJlIGNhcnJpZWQKKyAqIHRvIHRoZSBuZXh0IGJ5dGVzIG9mIHRoZSBkZXN0aW5hdGlvbiBwYXlsb2FkIHF1ZXVlLgorICogQW5kIGFuIGFkZGl0aW9uYWwgMiBieXRlcyBvZiB0aGUgaGVhZGVyIFN1cHBsX0EgZmllbGQgYXJlIGFsc28KKyAqIGNhcnJpZWQgdG8gdGhlIGRlc3RpbmF0aW9uIHBheWxvYWQgcXVldWUuCisgKiBCdXQgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIFN1cHBsX0EgYmVjb21lcyBiaXRzIDEyNzoxMjAgKHRoZSAxNnRoIGJ5dGUpCisgKiBvZiB0aGUgZGVzdGluYXRpb24gcGF5bG9hZCBxdWV1ZSwgd2hpY2ggaXMgd3JpdHRlbiBieSB0aGUgaGFyZHdhcmUKKyAqIHdpdGggdGhlIHMvdyBhY2sgcmVzb3VyY2UgYml0IHZlY3Rvci4KKyAqIFsgZWZmZWN0aXZlIG1lc3NhZ2UgY29udGVudHMgKDE2IGJ5dGVzICgxMjggYml0cykgbWF4aW11bSksIG5vdCBjb3VudGluZworICogICB0aGUgcy93IGFjayBiaXQgdmVjdG9yICBdCisgKi8KKworLyoKKyAqIFRoZSBwYXlsb2FkIGlzIHNvZnR3YXJlLWRlZmluZWQgZm9yIElOVEQgdHJhbnNhY3Rpb25zCisgKi8KK3N0cnVjdCBiYXVfbXNnX3BheWxvYWQgeworCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsJCS8qIHNpZ25pZmllcyBhIHBhZ2Ugb3IgYWxsIFRMQidzCisJCQkJCQlvZiB0aGUgY3B1ICovCisJLyogNjQgYml0cyAqLworCXVuc2lnbmVkIHNob3J0IHNlbmRpbmdfY3B1OwkvKiBmaWxsZWQgaW4gYnkgc2VuZGVyICovCisJLyogMTYgYml0cyAqLworCXVuc2lnbmVkIHNob3J0IGFja25vd2xlZGdlX2NvdW50Oy8qIGZpbGxlZCBpbiBieSBkZXN0aW5hdGlvbiAqLworCS8qIDE2IGJpdHMgKi8KKwl1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQxOjMyOwkvKiBub3QgdXNhYmxlICovCit9OworCisKKy8qCisgKiBNZXNzYWdlIGhlYWRlcjogIDE2IGJ5dGVzICgxMjggYml0cykgKGJ5dGVzIDB4MzAtMHgzZiBvZiBkZXNjcmlwdG9yKQorICogc2VlIHRhYmxlIDQuMi4zLjAuMSBpbiBicm9hY2FzdF9hc3Npc3Qgc3BlYy4KKyAqLworc3RydWN0IGJhdV9tc2dfaGVhZGVyIHsKKwlpbnQgZGVzdF9zdWJub2RlaWQ6NjsJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyA1OjAgKi8KKwlpbnQgYmFzZV9kZXN0X25vZGVpZDoxNTsgLyogbmFzaWQ+PjEgKHBub2RlKSBvZiBmaXJzdCBiaXQgaW4gbm9kZV9tYXAgKi8KKwkvKiBiaXRzIDIwOjYgKi8KKwlpbnQgY29tbWFuZDo4OwkJLyogbWVzc2FnZSB0eXBlICovCisJLyogYml0cyAyODoyMSAqLworCQkJCS8qIDB4Mzg6IFNOM25ldCBFbmRQb2ludCBNZXNzYWdlICovCisJaW50IHJzdmRfMTozOwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyAzMToyOSAqLworCQkJCS8qIGludCB3aWxsIGFsaWduIG9uIDMyIGJpdHMgKi8KKwlpbnQgcnN2ZF8yOjk7CQkvKiBtdXN0IGJlIHplcm8gKi8KKwkvKiBiaXRzIDQwOjMyICovCisJCQkJLyogU3VwcGxfQSBpcyA1Ni00MSAqLworCWludCBwYXlsb2FkXzJhOjg7CS8qIGJlY29tZXMgYnl0ZSAxNiBvZiBtc2cgKi8KKwkvKiBiaXRzIDQ4OjQxICovCS8qIG5vdCBjdXJyZW50bHkgdXNpbmcgKi8KKwlpbnQgcGF5bG9hZF8yYjo4OwkvKiBiZWNvbWVzIGJ5dGUgMTcgb2YgbXNnICovCisJLyogYml0cyA1Njo0OSAqLwkvKiBub3QgY3VycmVudGx5IHVzaW5nICovCisJCQkJLyogQWRkcmVzcyBmaWVsZCAoOTY6NTcpIGlzIG5ldmVyIHVzZWQgYXMgYW4KKwkJCQkgICBhZGRyZXNzICh0aGVzZSBhcmUgYWRkcmVzcyBiaXRzIDQyOjMpICovCisJaW50IHJzdmRfMzoxOwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0IDU3ICovCisJCQkJLyogYWRkcmVzcyBiaXRzIDI3OjQgYXJlIHBheWxvYWQgKi8KKwkJCQkvKiB0aGVzZSAyNCBiaXRzIGJlY29tZSBieXRlcyAxMi0xNCBvZiBtc2cgKi8KKwlpbnQgcmVwbGllZF90bzoxOwkvKiBzZW50IGFzIDAgYnkgdGhlIHNvdXJjZSB0byBieXRlIDEyICovCisJLyogYml0IDU4ICovCisKKwlpbnQgcGF5bG9hZF8xYTo1OwkvKiBub3QgY3VycmVudGx5IHVzZWQgKi8KKwkvKiBiaXRzIDYzOjU5ICovCisJaW50IHBheWxvYWRfMWI6ODsJLyogbm90IGN1cnJlbnRseSB1c2VkICovCisJLyogYml0cyA3MTo2NCAqLworCWludCBwYXlsb2FkXzFjOjg7CS8qIG5vdCBjdXJyZW50bHkgdXNlZCAqLworCS8qIGJpdHMgNzk6NzIgKi8KKwlpbnQgcGF5bG9hZF8xZDoyOwkvKiBub3QgY3VycmVudGx5IHVzZWQgKi8KKwkvKiBiaXRzIDgxOjgwICovCisKKwlpbnQgcnN2ZF80Ojc7CQkvKiBtdXN0IGJlIHplcm8gKi8KKwkvKiBiaXRzIDg4OjgyICovCisJaW50IHN3X2Fja19mbGFnOjE7CS8qIHNvZnR3YXJlIGFja25vd2xlZGdlIGZsYWcgKi8KKwkvKiBiaXQgODkgKi8KKwkJCQkvKiBJTlREIHRyYXNhY3Rpb25zIGF0IGRlc3RpbmF0aW9uIGFyZSB0bworCQkJCSAgIHdhaXQgZm9yIHNvZnR3YXJlIGFja25vd2xlZGdlICovCisJaW50IHJzdmRfNTo2OwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyA5NTo5MCAqLworCWludCByc3ZkXzY6NTsJCS8qIG11c3QgYmUgemVybyAqLworCS8qIGJpdHMgMTAwOjk2ICovCisJaW50IGludF9ib3RoOjE7CQkvKiBpZiAxLCBpbnRlcnJ1cHQgYm90aCBzb2NrZXRzIG9uIHRoZSBibGFkZSAqLworCS8qIGJpdCAxMDEqLworCWludCBmYWlybmVzczozOwkJLyogdXN1YWxseSB6ZXJvICovCisJLyogYml0cyAxMDQ6MTAyICovCisJaW50IG11bHRpbGV2ZWw6MTsJLyogbXVsdGktbGV2ZWwgbXVsdGljYXN0IGZvcm1hdCAqLworCS8qIGJpdCAxMDUgKi8KKwkJCQkvKiAwIGZvciBUTEI6IGVuZHBvaW50IG11bHRpLXVuaWNhc3QgbWVzc2FnZXMgKi8KKwlpbnQgY2hhaW5pbmc6MTsJCS8qIG5leHQgZGVzY3JpcHRvciBpcyBwYXJ0IG9mIHRoaXMgYWN0aXZhdGlvbiovCisJLyogYml0IDEwNiAqLworCWludCByc3ZkXzc6MjE7CQkvKiBtdXN0IGJlIHplcm8gKi8KKwkvKiBiaXRzIDEyNzoxMDcgKi8KK307CisKKy8qCisgKiBUaGUgYWN0aXZhdGlvbiBkZXNjcmlwdG9yOgorICogVGhlIGZvcm1hdCBvZiB0aGUgbWVzc2FnZSB0byBzZW5kLCBwbHVzIGFsbCBhY2NvbXBhbnlpbmcgY29udHJvbAorICogU2hvdWxkIGJlIDY0IGJ5dGVzCisgKi8KK3N0cnVjdCBiYXVfZGVzYyB7CisJc3RydWN0IGJhdV90YXJnZXRfbm9kZW1hc2sgZGlzdHJpYnV0aW9uOworCS8qCisJICogbWVzc2FnZSB0ZW1wbGF0ZSwgY29uc2lzdGluZyBvZiBoZWFkZXIgYW5kIHBheWxvYWQ6CisJICovCisJc3RydWN0IGJhdV9tc2dfaGVhZGVyIGhlYWRlcjsKKwlzdHJ1Y3QgYmF1X21zZ19wYXlsb2FkIHBheWxvYWQ7Cit9OworLyoKKyAqICAgLXBheWxvYWQtLSAgICAtLS0tLS0tLS1oZWFkZXItLS0tLS0KKyAqICAgYnl0ZXMgMC0xMSAgICBiaXRzIDQxLTU2ICBiaXRzIDU4LTgxCisgKiAgICAgICBBICAgICAgICAgICBCICAoMikgICAgICBDICgzKQorICoKKyAqICAgICAgICAgICAgQS9CL0MgYXJlIG1vdmVkIHRvOgorICogICAgICAgQSAgICAgICAgICAgIEMgICAgICAgICAgQgorICogICBieXRlcyAwLTExICBieXRlcyAxMi0xNCAgYnl0ZXMgMTYtMTcgIChieXRlIDE1IGZpbGxlZCBpbiBieSBodyBhcyB2ZWN0b3IpCisgKiAgIC0tLS0tLS0tLS0tLXBheWxvYWQgcXVldWUtLS0tLS0tLS0tLQorICovCisKKy8qCisgKiBUaGUgcGF5bG9hZCBxdWV1ZSBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBhbiBhcnJheSBvZiB0aGVzZS4KKyAqIFdpdGggQkFVX01JU0NfQ09OVFJPTCBzZXQgZm9yIHNvZnR3YXJlIGFja25vd2xlZGdlIG1vZGUsIHRoZSBtZXNzYWdlcworICogYXJlIDMyIGJ5dGVzICgyIG1pY3JvcGFja2V0cykgKDI1NiBiaXRzKSBpbiBsZW5ndGgsIGJ1dCBjb250YWluIG9ubHkgMTcKKyAqIGJ5dGVzIG9mIHVzYWJsZSBkYXRhLCBpbmNsdWRpbmcgdGhlIHN3IGFjayB2ZWN0b3IgaW4gYnl0ZSAxNSAoYml0cyAxMjc6MTIwKQorICogKDEyIGJ5dGVzIGNvbWUgZnJvbSBiYXVfbXNnX3BheWxvYWQsIDMgZnJvbSBwYXlsb2FkXzEsIDIgZnJvbQorICogIHN3X2Fja192ZWN0b3IgYW5kIHBheWxvYWRfMikKKyAqICJFbmFibGluZyBTb2Z0d2FyZSBBY2tub3dsZWRnbWVudCBtb2RlIChzZWUgU2VjdGlvbiA0LjMuMyBTb2Z0d2FyZQorICogIEFja25vd2xlZGdlIFByb2Nlc3NpbmcpIGFsc28gc2VsZWN0cyAzMiBieXRlICgxNyBieXRlcyB1c2FibGUpIHBheWxvYWQKKyAqICBvcGVyYXRpb24uIgorICovCitzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgeworCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsJCS8qIHNpZ25pZmllcyBhIHBhZ2Ugb3IgYWxsIFRMQidzCisJCQkJCQlvZiB0aGUgY3B1ICovCisJLyogNjQgYml0cywgYnl0ZXMgMC03ICovCisKKwl1bnNpZ25lZCBzaG9ydCBzZW5kaW5nX2NwdTsJLyogY3B1IHRoYXQgc2VudCB0aGUgbWVzc2FnZSAqLworCS8qIDE2IGJpdHMsIGJ5dGVzIDgtOSAqLworCisJdW5zaWduZWQgc2hvcnQgYWNrbm93bGVkZ2VfY291bnQ7IC8qIGZpbGxlZCBpbiBieSBkZXN0aW5hdGlvbiAqLworCS8qIDE2IGJpdHMsIGJ5dGVzIDEwLTExICovCisKKwl1bnNpZ25lZCBzaG9ydCByZXBsaWVkX3RvOjE7CS8qIHNlbnQgYXMgMCBieSB0aGUgc291cmNlICovCisJLyogMSBiaXQgKi8KKwl1bnNpZ25lZCBzaG9ydCB1bnVzZWQxOjc7ICAgICAgIC8qIG5vdCBjdXJyZW50bHkgdXNpbmcgKi8KKwkvKiA3IGJpdHM6IGJ5dGUgMTIpICovCisKKwl1bnNpZ25lZCBjaGFyIHVudXNlZDJbMl07CS8qIG5vdCBjdXJyZW50bHkgdXNpbmcgKi8KKwkvKiBieXRlcyAxMy0xNCAqLworCisJdW5zaWduZWQgY2hhciBzd19hY2tfdmVjdG9yOwkvKiBmaWxsZWQgaW4gYnkgdGhlIGhhcmR3YXJlICovCisJLyogYnl0ZSAxNSAoYml0cyAxMjc6MTIwKSAqLworCisJdW5zaWduZWQgY2hhciB1bnVzZWQ0WzNdOwkvKiBub3QgY3VycmVudGx5IHVzaW5nIGJ5dGVzIDE3LTE5ICovCisJLyogYnl0ZXMgMTctMTkgKi8KKworCWludCBudW1iZXJfb2ZfY3B1czsJCS8qIGZpbGxlZCBpbiBhdCBkZXN0aW5hdGlvbiAqLworCS8qIDMyIGJpdHMsIGJ5dGVzIDIwLTIzIChhbGlnbmVkKSAqLworCisJdW5zaWduZWQgY2hhciB1bnVzZWQ1WzhdOyAgICAgICAvKiBub3QgdXNpbmcgKi8KKwkvKiBieXRlcyAyNC0zMSAqLworfTsKKworLyoKKyAqIG9uZSBmb3IgZXZlcnkgc2xvdCBpbiB0aGUgZGVzdGluYXRpb24gcGF5bG9hZCBxdWV1ZQorICovCitzdHJ1Y3QgYmF1X21zZ19zdGF0dXMgeworCXN0cnVjdCBiYXVfbG9jYWxfY3B1bWFzayBzZWVuX2J5OwkvKiBtYXAgb2YgY3B1J3MgKi8KK307CisKKy8qCisgKiBvbmUgZm9yIGV2ZXJ5IHNsb3QgaW4gdGhlIGRlc3RpbmF0aW9uIHNvZnR3YXJlIGFjayByZXNvdXJjZXMKKyAqLworc3RydWN0IGJhdV9zd19hY2tfc3RhdHVzIHsKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZzsJLyogYXNzb2NpYXRlZCBtZXNzYWdlICovCisJaW50IHdhdGNoZXI7CQkJCS8qIGNwdSBtb25pdG9yaW5nLCBvciAtMSAqLworfTsKKworLyoKKyAqIG9uZSBvbiBldmVyeSBub2RlIGFuZCBwZXItY3B1OyB0byBsb2NhdGUgdGhlIHNvZnR3YXJlIHRhYmxlcworICovCitzdHJ1Y3QgYmF1X2NvbnRyb2wgeworCXN0cnVjdCBiYXVfZGVzYyAqZGVzY3JpcHRvcl9iYXNlOworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqYmF1X21zZ19oZWFkOworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqdmFfcXVldWVfZmlyc3Q7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICp2YV9xdWV1ZV9sYXN0OworCXN0cnVjdCBiYXVfbXNnX3N0YXR1cyAqbXNnX3N0YXR1c2VzOworCWludCAqd2F0Y2hpbmc7IC8qIHBvaW50ZXIgdG8gYXJyYXkgKi8KK307CisKKy8qCisgKiBUaGlzIHN0cnVjdHVyZSBpcyBhbGxvY2F0ZWQgcGVyX2NwdSBmb3IgVVYgVExCIHNob290ZG93biBzdGF0aXN0aWNzLgorICovCitzdHJ1Y3QgcHRjX3N0YXRzIHsKKwl1bnNpZ25lZCBsb25nIHB0Y19pOwkvKiBudW1iZXIgb2YgSVBJLXN0eWxlIGZsdXNoZXMgKi8KKwl1bnNpZ25lZCBsb25nIHJlcXVlc3RvcjsJLyogbnVtYmVyIG9mIG5vZGVzIHRoaXMgY3B1IHNlbnQgdG8gKi8KKwl1bnNpZ25lZCBsb25nIHJlcXVlc3RlZTsJLyogdGltZXMgY3B1IHdhcyByZW1vdGVseSByZXF1ZXN0ZWQgKi8KKwl1bnNpZ25lZCBsb25nIGFsbHRsYjsJLyogdGltZXMgYWxsIHRsYidzIG9uIHRoaXMgY3B1IHdlcmUgZmx1c2hlZCAqLworCXVuc2lnbmVkIGxvbmcgb25ldGxiOwkvKiB0aW1lcyBqdXN0IG9uZSB0bGIgb24gdGhpcyBjcHUgd2FzIGZsdXNoZWQgKi8KKwl1bnNpZ25lZCBsb25nIHNfcmV0cnk7CS8qIHJldHJpZXMgb24gc291cmNlIHNpZGUgdGltZW91dHMgKi8KKwl1bnNpZ25lZCBsb25nIGRfcmV0cnk7CS8qIHJldHJpZXMgb24gZGVzdGluYXRpb24gc2lkZSB0aW1lb3V0cyAqLworCXVuc2lnbmVkIGxvbmcgc2ZsdXNoOwkvKiBjeWNsZXMgc3BlbnQgaW4gdXZfZmx1c2hfdGxiX290aGVycyAqLworCXVuc2lnbmVkIGxvbmcgZGZsdXNoOwkvKiBjeWNsZXMgc3BlbnQgb24gZGVzdGluYXRpb24gc2lkZSAqLworCXVuc2lnbmVkIGxvbmcgcmV0cmllc29rOyAvKiBzdWNjZXNzZXMgb24gcmV0cmllcyAqLworCXVuc2lnbmVkIGxvbmcgbm9tc2c7CS8qIGludGVycnVwdHMgd2l0aCBubyBtZXNzYWdlICovCisJdW5zaWduZWQgbG9uZyBtdWx0bXNnOwkvKiBpbnRlcnJ1cHRzIHdpdGggbXVsdGlwbGUgbWVzc2FnZXMgKi8KKwl1bnNpZ25lZCBsb25nIG50YXJnZXRlZDsvKiBub2RlcyB0YXJnZXRlZCAqLworfTsKKworc3RhdGljIGlubGluZSBpbnQgYmF1X25vZGVfaXNzZXQoaW50IG5vZGUsIHN0cnVjdCBiYXVfdGFyZ2V0X25vZGVtYXNrICpkc3RwKQoreworCXJldHVybiBjb25zdGFudF90ZXN0X2JpdChub2RlLCAmZHN0cC0+Yml0c1swXSk7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQgYmF1X25vZGVfc2V0KGludCBub2RlLCBzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzayAqZHN0cCkKK3sKKwlfX3NldF9iaXQobm9kZSwgJmRzdHAtPmJpdHNbMF0pOworfQorc3RhdGljIGlubGluZSB2b2lkIGJhdV9ub2Rlc19jbGVhcihzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzayAqZHN0cCwgaW50IG5iaXRzKQoreworCWJpdG1hcF96ZXJvKCZkc3RwLT5iaXRzWzBdLCBuYml0cyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBiYXVfY3B1Yml0c19jbGVhcihzdHJ1Y3QgYmF1X2xvY2FsX2NwdW1hc2sgKmRzdHAsIGludCBuYml0cykKK3sKKwliaXRtYXBfemVybygmZHN0cC0+Yml0cywgbmJpdHMpOworfQorCisjZGVmaW5lIGNwdWJpdF9pc3NldChjcHUsIGJhdV9sb2NhbF9jcHVtYXNrKSBcCisJdGVzdF9iaXQoKGNwdSksIChiYXVfbG9jYWxfY3B1bWFzaykuYml0cykKKworZXh0ZXJuIGludCB1dl9mbHVzaF90bGJfb3RoZXJzKGNwdW1hc2tfdCAqLCBzdHJ1Y3QgbW1fc3RydWN0ICosIHVuc2lnbmVkIGxvbmcpOworZXh0ZXJuIHZvaWQgdXZfYmF1X21lc3NhZ2VfaW50cjEodm9pZCk7CitleHRlcm4gdm9pZCB1dl9iYXVfdGltZW91dF9pbnRyMSh2b2lkKTsKKworI2VuZGlmIC8qIF9fQVNNX1g4Nl9VVl9CQVVfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3V2L3V2X2h1Yi5oIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X2h1Yi5oCmluZGV4IDI2YjkyNDAuLmE0ZWYyNmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9odWIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdXYvdXZfaHViLmgKQEAgLTUsNyArNSw3IEBACiAgKgogICogU0dJIFVWIGFyY2hpdGVjdHVyYWwgZGVmaW5pdGlvbnMKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICovCiAKICNpZm5kZWYgX19BU01fWDg2X1VWX0hVQl9IX18KQEAgLTIwLDI2ICsyMCw0OSBAQAogLyoKICAqIEFkZHJlc3NpbmcgVGVybWlub2xvZ3kKICAqCi0gKiAJTkFTSUQgLSBuZXR3b3JrIElEIG9mIGEgcm91dGVyLCBNYnJpY2sgb3IgQ2JyaWNrLiBOYXNpZCB2YWx1ZXMgb2YKLSAqIAkJcm91dGVycyBhbHdheXMgaGF2ZSBsb3cgYml0IG9mIDEsIEMvTUJyaWNrcyBoYXZlIGxvdyBiaXQKLSAqIAkJZXF1YWwgdG8gMC4gTW9zdCBhZGRyZXNzaW5nIG1hY3JvcyB0aGF0IHRhcmdldCBVViBodWIgY2hpcHMKLSAqIAkJcmlnaHQgc2hpZnQgdGhlIE5BU0lEIGJ5IDEgdG8gZXhjbHVkZSB0aGUgYWx3YXlzLXplcm8gYml0LgorICoJTSAgICAgICAtIFRoZSBsb3cgTSBiaXRzIG9mIGEgcGh5c2ljYWwgYWRkcmVzcyByZXByZXNlbnQgdGhlIG9mZnNldAorICoJCSAgaW50byB0aGUgYmxhZGUgbG9jYWwgbWVtb3J5LiBSQU0gbWVtb3J5IG9uIGEgYmxhZGUgaXMgcGh5c2ljYWxseQorICoJCSAgY29udGlndW91cyAoYWx0aG91Z2ggdmFyaW91cyBJTyBzcGFjZXMgbWF5IHB1bmNoIGhvbGVzIGluCisgKgkJICBpdCkuLgogICoKLSAqCVNOQVNJRCAtIE5BU0lEIHJpZ2h0IHNoaWZ0ZWQgYnkgMSBiaXQuCisgKiAJTgktIE51bWJlciBvZiBiaXRzIGluIHRoZSBub2RlIHBvcnRpb24gb2YgYSBzb2NrZXQgcGh5c2ljYWwKKyAqIAkJICBhZGRyZXNzLgorICoKKyAqIAlOQVNJRCAgIC0gbmV0d29yayBJRCBvZiBhIHJvdXRlciwgTWJyaWNrIG9yIENicmljay4gTmFzaWQgdmFsdWVzIG9mCisgKiAJIAkgIHJvdXRlcnMgYWx3YXlzIGhhdmUgbG93IGJpdCBvZiAxLCBDL01Ccmlja3MgaGF2ZSBsb3cgYml0CisgKiAJCSAgZXF1YWwgdG8gMC4gTW9zdCBhZGRyZXNzaW5nIG1hY3JvcyB0aGF0IHRhcmdldCBVViBodWIgY2hpcHMKKyAqIAkJICByaWdodCBzaGlmdCB0aGUgTkFTSUQgYnkgMSB0byBleGNsdWRlIHRoZSBhbHdheXMtemVybyBiaXQuCisgKiAJCSAgTkFTSURzIGNvbnRhaW4gdXAgdG8gMTUgYml0cy4KKyAqCisgKglHTk9ERSAgIC0gTkFTSUQgcmlnaHQgc2hpZnRlZCBieSAxIGJpdC4gTW9zdCBtbXJzIGNvbnRhaW4gZ25vZGVzIGluc3RlYWQKKyAqCQkgIG9mIG5hc2lkcy4KKyAqCisgKiAJUE5PREUgICAtIHRoZSBsb3cgTiBiaXRzIG9mIHRoZSBHTk9ERS4gVGhlIFBOT0RFIGlzIHRoZSBtb3N0IHVzZWZ1bCB2YXJpYW50CisgKiAJCSAgb2YgdGhlIG5hc2lkIGZvciBzb2NrZXQgdXNhZ2UuCisgKgorICoKKyAqICBOdW1hTGluayBHbG9iYWwgUGh5c2ljYWwgQWRkcmVzcyBGb3JtYXQ6CisgKiAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqICB8MDAuLjAwMHwgICAgICBHTk9ERSAgICAgICAgICAgICB8ICAgICAgTm9kZU9mZnNldCAgICAgfAorICogICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICAgICAgICB8PC0tLS0tLS01MyAtIE0gYml0cyAtLS0+fDwtLS0tLS0tLU0gYml0cyAtLS0tLT4KKyAqCisgKglNIC0gbnVtYmVyIG9mIG5vZGUgb2Zmc2V0IGJpdHMgKDM1IC4uIDQwKQogICoKICAqCiAgKiAgTWVtb3J5L1VWLUhVQiBQcm9jZXNzb3IgU29ja2V0IEFkZHJlc3MgRm9ybWF0OgotICogICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotICogIHwwMC4uMDAwMHwgICAgU05BU0lEICAgICB8ICAgICAgTm9kZU9mZnNldCAgICAgfAotICogICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotICogICAgICAgICAgIDwtLS0gTiBiaXRzIC0tLT58PC0tLS0tLS0tTSBiaXRzIC0tLS0tPgorICogICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgfDAwLi4wMDAwMDAwMDAwMDB8ICAgUE5PREUgICAgICAgfCAgICAgIE5vZGVPZmZzZXQgICAgIHwKKyAqICArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogICAgICAgICAgICAgICAgICAgPC0tLSBOIGJpdHMgLS0tPnw8LS0tLS0tLS1NIGJpdHMgLS0tLS0+CiAgKgotICoJTSBudW1iZXIgb2Ygbm9kZSBvZmZzZXQgYml0cyAoMzUgLi4gNDApCi0gKglOIG51bWJlciBvZiBTTkFTSUQgYml0cyAoMCAuLiAxMCkKKyAqCU0gLSBudW1iZXIgb2Ygbm9kZSBvZmZzZXQgYml0cyAoMzUgLi4gNDApCisgKglOIC0gbnVtYmVyIG9mIFBOT0RFIGJpdHMgKDAgLi4gMTApCiAgKgogICoJCU5vdGU6IE0gKyBOIGNhbm5vdCBjdXJyZW50bHkgZXhjZWVkIDQ0ICh4ODZfNjQpIG9yIDQ2IChJQTY0KS4KICAqCQlUaGUgYWN0dWFsIHZhbHVlcyBhcmUgY29uZmlndXJhdGlvbiBkZXBlbmRlbnQgYW5kIGFyZSBzZXQgYXQKLSAqCQlib290IHRpbWUKKyAqCQlib290IHRpbWUuIE0gJiBOIHZhbHVlcyBhcmUgc2V0IGJ5IHRoZSBoYXJkd2FyZS9CSU9TIGF0IGJvb3QuCisgKgogICoKICAqIEFQSUNJRCBmb3JtYXQKICAqIAlOT1RFISEhISEhIFRoaXMgaXMgdGhlIGN1cnJlbnQgZm9ybWF0IG9mIHRoZSBBUElDSUQuIEhvd2V2ZXIsIGNvZGUKQEAgLTQ4LDE0ICs3MSwxNCBAQAogICoKICAqIAkJMTExMTExMDAwMDAwMDAwMAogICogCQk1NDMyMTA5ODc2NTQzMjEwCi0gKgkJbm5ubm5ubm5ubmxjMGNjaAorICoJCXBwcHBwcHBwcHBsYzBjY2gKICAqCQlzc3Nzc3Nzc3NzcwogICoKLSAqCQkJbiAgPSBzbmFzaWQgYml0cworICoJCQlwICA9IHBub2RlIGJpdHMKICAqCQkJbCA9ICBzb2NrZXQgbnVtYmVyIG9uIGJvYXJkCiAgKgkJCWMgID0gY29yZQogICoJCQloICA9IGh5cGVydGhyZWFkCi0gKgkJCXMgID0gYml0cyB0aGF0IGFyZSBpbiB0aGUgc29ja2V0IENTUgorICoJCQlzICA9IGJpdHMgdGhhdCBhcmUgaW4gdGhlIFNPQ0tFVF9JRCBDU1IKICAqCiAgKglOb3RlOiBQcm9jZXNzb3Igb25seSBzdXBwb3J0cyAxMiBiaXRzIGluIHRoZSBBUElDSUQgcmVnaXN0ZXIuIFRoZSBBQ1BJCiAgKgkgICAgICB0YWJsZXMgaG9sZCBhbGwgMTYgYml0cy4gU29mdHdhcmUgbmVlZHMgdG8gYmUgYXdhcmUgb2YgdGhpcy4KQEAgLTc0LDcgKzk3LDcgQEAKICAqIFRoaXMgdmFsdWUgaXMgYWxzbyB0aGUgdmFsdWUgb2YgdGhlIG1heGltdW0gbnVtYmVyIG9mIG5vbi1yb3V0ZXIgTkFTSURzCiAgKiBpbiB0aGUgbnVtYWxpbmsgZmFicmljLgogICoKLSAqIE5PVEU6IGEgYnJpY2sgbWF5IGJlIDEgb3IgMiBPUyBub2Rlcy4gRG9uJ3QgZ2V0IHRoZXNlIGNvbmZ1c2VkLgorICogTk9URTogYSBicmljayBtYXkgY29udGFpbiAxIG9yIDIgT1Mgbm9kZXMuIERvbid0IGdldCB0aGVzZSBjb25mdXNlZC4KICAqLwogI2RlZmluZSBVVl9NQVhfTlVNQUxJTktfQkxBREVTCTE2Mzg0CiAKQEAgLTk2LDggKzExOSwxMiBAQAogICovCiBzdHJ1Y3QgdXZfaHViX2luZm9fcyB7CiAJdW5zaWduZWQgbG9uZwlnbG9iYWxfbW1yX2Jhc2U7Ci0JdW5zaWduZWQgc2hvcnQJbG9jYWxfbmFzaWQ7Ci0JdW5zaWduZWQgc2hvcnQJZ25vZGVfdXBwZXI7CisJdW5zaWduZWQgbG9uZwlncGFfbWFzazsKKwl1bnNpZ25lZCBsb25nCWdub2RlX3VwcGVyOworCXVuc2lnbmVkIGxvbmcJbG93bWVtX3JlbWFwX3RvcDsKKwl1bnNpZ25lZCBsb25nCWxvd21lbV9yZW1hcF9iYXNlOworCXVuc2lnbmVkIHNob3J0CXBub2RlOworCXVuc2lnbmVkIHNob3J0CXBub2RlX21hc2s7CiAJdW5zaWduZWQgc2hvcnQJY29oZXJlbmN5X2RvbWFpbl9udW1iZXI7CiAJdW5zaWduZWQgc2hvcnQJbnVtYV9ibGFkZV9pZDsKIAl1bnNpZ25lZCBjaGFyCWJsYWRlX3Byb2Nlc3Nvcl9pZDsKQEAgLTExMiw4MyArMTM5LDEyNiBAQAogICogTG9jYWwgJiBHbG9iYWwgTU1SIHNwYWNlIG1hY3Jvcy4KICAqIAlOb3RlOiBtYWNyb3MgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgT05MWSBieSBpbmxpbmUgZnVuY3Rpb25zCiAgKiAJaW4gdGhpcyBmaWxlIC0gbm90IGJ5IG90aGVyIGtlcm5lbCBjb2RlLgorICogCQluIC0gIE5BU0lEIChmdWxsIDE1LWJpdCBnbG9iYWwgbmFzaWQpCisgKiAJCWcgLSAgR05PREUgKGZ1bGwgMTUtYml0IGdsb2JhbCBuYXNpZCwgcmlnaHQgc2hpZnRlZCAxKQorICogCQlwIC0gIFBOT0RFIChsb2NhbCBwYXJ0IG9mIG5zaWRzLCByaWdodCBzaGlmdGVkIDEpCiAgKi8KLSNkZWZpbmUgVVZfU05BU0lEKG4pCQkJKChuKSA+PiAxKQotI2RlZmluZSBVVl9OQVNJRChuKQkJCSgobikgPDwgMSkKKyNkZWZpbmUgVVZfTkFTSURfVE9fUE5PREUobikJCSgoKG4pID4+IDEpICYgdXZfaHViX2luZm8tPnBub2RlX21hc2spCisjZGVmaW5lIFVWX1BOT0RFX1RPX05BU0lEKHApCQkoKChwKSA8PCAxKSB8IHV2X2h1Yl9pbmZvLT5nbm9kZV91cHBlcikKIAogI2RlZmluZSBVVl9MT0NBTF9NTVJfQkFTRQkJMHhmNDAwMDAwMFVMCiAjZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9CQVNFCQkweGY4MDAwMDAwVUwKICNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X0JBU0UJCSh1dl9odWJfaW5mby0+Z2xvYmFsX21tcl9iYXNlKQorI2RlZmluZSBVVl9MT0NBTF9NTVJfU0laRQkJKDY0VUwgKiAxMDI0ICogMTAyNCkKKyNkZWZpbmUgVVZfR0xPQkFMX01NUjMyX1NJWkUJCSg2NFVMICogMTAyNCAqIDEwMjQpCiAKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjMyX1NOQVNJRF9NQVNLCTB4M2ZmCi0jZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9TTkFTSURfU0hJRlQJMTUKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X1NOQVNJRF9TSElGVAkyNgorI2RlZmluZSBVVl9HTE9CQUxfTU1SMzJfUE5PREVfU0hJRlQJMTUKKyNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X1BOT0RFX1NISUZUCTI2CiAKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjMyX05BU0lEX0JJVFMobikJCQkJCVwKLQkJKCgoVVZfU05BU0lEKG4pICYgVVZfR0xPQkFMX01NUjMyX1NOQVNJRF9NQVNLKSkgPDwJXAotCQkoVVZfR0xPQkFMX01NUjMyX1NOQVNJRF9TSElGVCkpCisjZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9QTk9ERV9CSVRTKHApCSgocCkgPDwgKFVWX0dMT0JBTF9NTVIzMl9QTk9ERV9TSElGVCkpCiAKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X05BU0lEX0JJVFMobikJCQkJCVwKLQkoKHVuc2lnbmVkIGxvbmcpVVZfU05BU0lEKG4pIDw8IFVWX0dMT0JBTF9NTVI2NF9TTkFTSURfU0hJRlQpCisjZGVmaW5lIFVWX0dMT0JBTF9NTVI2NF9QTk9ERV9CSVRTKHApCQkJCQlcCisJKCh1bnNpZ25lZCBsb25nKShwKSA8PCBVVl9HTE9CQUxfTU1SNjRfUE5PREVfU0hJRlQpCiAKLSNkZWZpbmUgVVZfQVBJQ19OQVNJRF9TSElGVAk2CisjZGVmaW5lIFVWX0FQSUNfUE5PREVfU0hJRlQJNgogCiAvKgotICogRXh0cmFjdCBhIE5BU0lEIGZyb20gYW4gQVBJQ0lEIChmdWxsIGFwaWNpZCwgbm90IHByb2Nlc3NvciBzdWJzZXQpCisgKiBNYWNyb3MgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBrZXJuZWwgdmlydHVhbCBhZGRyZXNzZXMsIHNvY2tldCBsb2NhbCBwaHlzaWNhbAorICogYWRkcmVzc2VzLCBhbmQgVVYgZ2xvYmFsIHBoeXNpY2FsIGFkZHJlc3Nlcy4KKyAqIAlOb3RlOiB1c2UgdGhlIHN0YW5kYXJkIF9fcGEoKSAmIF9fdmEoKSBtYWNyb3MgZm9yIGNvbnZlcnRpbmcKKyAqIAkgICAgICBiZXR3ZWVuIHNvY2tldCB2aXJ0dWFsIGFuZCBzb2NrZXQgcGh5c2ljYWwgYWRkcmVzc2VzLgogICovCi1zdGF0aWMgaW5saW5lIGludCB1dl9hcGljaWRfdG9fbmFzaWQoaW50IGFwaWNpZCkKKworLyogc29ja2V0IHBoeXMgUkFNIC0tPiBVViBnbG9iYWwgcGh5c2ljYWwgYWRkcmVzcyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHV2X3NvY19waHlzX3JhbV90b19ncGEodW5zaWduZWQgbG9uZyBwYWRkcikKIHsKLQlyZXR1cm4gKFVWX05BU0lEKGFwaWNpZCA+PiBVVl9BUElDX05BU0lEX1NISUZUKSk7CisJaWYgKHBhZGRyIDwgdXZfaHViX2luZm8tPmxvd21lbV9yZW1hcF90b3ApCisJCXBhZGRyICs9IHV2X2h1Yl9pbmZvLT5sb3dtZW1fcmVtYXBfYmFzZTsKKwlyZXR1cm4gcGFkZHIgfCB1dl9odWJfaW5mby0+Z25vZGVfdXBwZXI7Cit9CisKKworLyogc29ja2V0IHZpcnR1YWwgLS0+IFVWIGdsb2JhbCBwaHlzaWNhbCBhZGRyZXNzICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdXZfZ3BhKHZvaWQgKnYpCit7CisJcmV0dXJuIF9fcGEodikgfCB1dl9odWJfaW5mby0+Z25vZGVfdXBwZXI7Cit9CisKKy8qIHNvY2tldCB2aXJ0dWFsIC0tPiBVViBnbG9iYWwgcGh5c2ljYWwgYWRkcmVzcyAqLworc3RhdGljIGlubGluZSB2b2lkICp1dl92Z3BhKHZvaWQgKnYpCit7CisJcmV0dXJuICh2b2lkICopdXZfZ3BhKHYpOworfQorCisvKiBVViBnbG9iYWwgcGh5c2ljYWwgYWRkcmVzcyAtLT4gc29ja2V0IHZpcnR1YWwgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCAqdXZfdmEodW5zaWduZWQgbG9uZyBncGEpCit7CisJcmV0dXJuIF9fdmEoZ3BhICYgdXZfaHViX2luZm8tPmdwYV9tYXNrKTsKK30KKworLyogcG5vZGUsIG9mZnNldCAtLT4gc29ja2V0IHZpcnR1YWwgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCAqdXZfcG5vZGVfb2Zmc2V0X3RvX3ZhZGRyKGludCBwbm9kZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJcmV0dXJuIF9fdmEoKCh1bnNpZ25lZCBsb25nKXBub2RlIDw8IHV2X2h1Yl9pbmZvLT5tX3ZhbCkgfCBvZmZzZXQpOworfQorCisKKy8qCisgKiBFeHRyYWN0IGEgUE5PREUgZnJvbSBhbiBBUElDSUQgKGZ1bGwgYXBpY2lkLCBub3QgcHJvY2Vzc29yIHN1YnNldCkKKyAqLworc3RhdGljIGlubGluZSBpbnQgdXZfYXBpY2lkX3RvX3Bub2RlKGludCBhcGljaWQpCit7CisJcmV0dXJuIChhcGljaWQgPj4gVVZfQVBJQ19QTk9ERV9TSElGVCk7CiB9CiAKIC8qCiAgKiBBY2Nlc3MgZ2xvYmFsIE1NUnMgdXNpbmcgdGhlIGxvdyBtZW1vcnkgTU1SMzIgc3BhY2UuIFRoaXMgcmVnaW9uIHN1cHBvcnRzCiAgKiBmYXN0ZXIgTU1SIGFjY2VzcyBidXQgbm90IGFsbCBNTVJzIGFyZSBhY2Nlc3NpYmxlIGluIHRoaXMgc3BhY2UuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqdXZfZ2xvYmFsX21tcjMyX2FkZHJlc3MoaW50IG5hc2lkLAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhpbnQgcG5vZGUsCiAJCQkJdW5zaWduZWQgbG9uZyBvZmZzZXQpCiB7CiAJcmV0dXJuIF9fdmEoVVZfR0xPQkFMX01NUjMyX0JBU0UgfAotCQkgICAgICAgVVZfR0xPQkFMX01NUjMyX05BU0lEX0JJVFMobmFzaWQpIHwgb2Zmc2V0KTsKKwkJICAgICAgIFVWX0dMT0JBTF9NTVIzMl9QTk9ERV9CSVRTKHBub2RlKSB8IG9mZnNldCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB1dl93cml0ZV9nbG9iYWxfbW1yMzIoaW50IG5hc2lkLCB1bnNpZ25lZCBsb25nIG9mZnNldCwKK3N0YXRpYyBpbmxpbmUgdm9pZCB1dl93cml0ZV9nbG9iYWxfbW1yMzIoaW50IHBub2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCwKIAkJCQkgdW5zaWduZWQgbG9uZyB2YWwpCiB7Ci0JKnV2X2dsb2JhbF9tbXIzMl9hZGRyZXNzKG5hc2lkLCBvZmZzZXQpID0gdmFsOworCSp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhwbm9kZSwgb2Zmc2V0KSA9IHZhbDsKIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHV2X3JlYWRfZ2xvYmFsX21tcjMyKGludCBuYXNpZCwKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB1dl9yZWFkX2dsb2JhbF9tbXIzMihpbnQgcG5vZGUsCiAJCQkJCQkgdW5zaWduZWQgbG9uZyBvZmZzZXQpCiB7Ci0JcmV0dXJuICp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhuYXNpZCwgb2Zmc2V0KTsKKwlyZXR1cm4gKnV2X2dsb2JhbF9tbXIzMl9hZGRyZXNzKHBub2RlLCBvZmZzZXQpOwogfQogCiAvKgogICogQWNjZXNzIEdsb2JhbCBNTVIgc3BhY2UgdXNpbmcgdGhlIE1NUiBzcGFjZSBsb2NhdGVkIGF0IHRoZSB0b3Agb2YgcGh5c2ljYWwKICAqIG1lbW9yeS4KICAqLwotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICp1dl9nbG9iYWxfbW1yNjRfYWRkcmVzcyhpbnQgbmFzaWQsCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgKnV2X2dsb2JhbF9tbXI2NF9hZGRyZXNzKGludCBwbm9kZSwKIAkJCQl1bnNpZ25lZCBsb25nIG9mZnNldCkKIHsKIAlyZXR1cm4gX192YShVVl9HTE9CQUxfTU1SNjRfQkFTRSB8Ci0JCSAgICAgICBVVl9HTE9CQUxfTU1SNjRfTkFTSURfQklUUyhuYXNpZCkgfCBvZmZzZXQpOworCQkgICAgVVZfR0xPQkFMX01NUjY0X1BOT0RFX0JJVFMocG5vZGUpIHwgb2Zmc2V0KTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHV2X3dyaXRlX2dsb2JhbF9tbXI2NChpbnQgbmFzaWQsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAorc3RhdGljIGlubGluZSB2b2lkIHV2X3dyaXRlX2dsb2JhbF9tbXI2NChpbnQgcG5vZGUsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAogCQkJCXVuc2lnbmVkIGxvbmcgdmFsKQogewotCSp1dl9nbG9iYWxfbW1yNjRfYWRkcmVzcyhuYXNpZCwgb2Zmc2V0KSA9IHZhbDsKKwkqdXZfZ2xvYmFsX21tcjY0X2FkZHJlc3MocG5vZGUsIG9mZnNldCkgPSB2YWw7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB1dl9yZWFkX2dsb2JhbF9tbXI2NChpbnQgbmFzaWQsCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdXZfcmVhZF9nbG9iYWxfbW1yNjQoaW50IHBub2RlLAogCQkJCQkJIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQogewotCXJldHVybiAqdXZfZ2xvYmFsX21tcjY0X2FkZHJlc3MobmFzaWQsIG9mZnNldCk7CisJcmV0dXJuICp1dl9nbG9iYWxfbW1yNjRfYWRkcmVzcyhwbm9kZSwgb2Zmc2V0KTsKIH0KIAogLyoKLSAqIEFjY2VzcyBub2RlIGxvY2FsIE1NUnMuIEZhc3RlciB0aGFuIHVzaW5nIGdsb2JhbCBzcGFjZSBidXQgb25seSBsb2NhbCBNTVJzCisgKiBBY2Nlc3MgaHViIGxvY2FsIE1NUnMuIEZhc3RlciB0aGFuIHVzaW5nIGdsb2JhbCBzcGFjZSBidXQgb25seSBsb2NhbCBNTVJzCiAgKiBhcmUgYWNjZXNzaWJsZS4KICAqLwogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICp1dl9sb2NhbF9tbXJfYWRkcmVzcyh1bnNpZ25lZCBsb25nIG9mZnNldCkKQEAgLTIwNywxNSArMjc3LDE1IEBACiB9CiAKIC8qCi0gKiBTdHJ1Y3R1cmVzIGFuZCBkZWZpbml0aW9ucyBmb3IgY29udmVydGluZyBiZXR3ZWVuIGNwdSwgbm9kZSwgYW5kIGJsYWRlCisgKiBTdHJ1Y3R1cmVzIGFuZCBkZWZpbml0aW9ucyBmb3IgY29udmVydGluZyBiZXR3ZWVuIGNwdSwgbm9kZSwgcG5vZGUsIGFuZCBibGFkZQogICogbnVtYmVycy4KICAqLwogc3RydWN0IHV2X2JsYWRlX2luZm8gewotCXVuc2lnbmVkIHNob3J0CW5yX3Bvc2libGVfY3B1czsKKwl1bnNpZ25lZCBzaG9ydAlucl9wb3NzaWJsZV9jcHVzOwogCXVuc2lnbmVkIHNob3J0CW5yX29ubGluZV9jcHVzOwotCXVuc2lnbmVkIHNob3J0CW5hc2lkOworCXVuc2lnbmVkIHNob3J0CXBub2RlOwogfTsKLXN0cnVjdCB1dl9ibGFkZV9pbmZvICp1dl9ibGFkZV9pbmZvOworZXh0ZXJuIHN0cnVjdCB1dl9ibGFkZV9pbmZvICp1dl9ibGFkZV9pbmZvOwogZXh0ZXJuIHNob3J0ICp1dl9ub2RlX3RvX2JsYWRlOwogZXh0ZXJuIHNob3J0ICp1dl9jcHVfdG9fYmxhZGU7CiBleHRlcm4gc2hvcnQgdXZfcG9zc2libGVfYmxhZGVzOwpAQCAtMjQ0LDE2ICszMTQsMTYgQEAKIAlyZXR1cm4gdXZfbm9kZV90b19ibGFkZVtuaWRdOwogfQogCi0vKiBDb252ZXJ0IGEgYmxhZGUgaWQgdG8gdGhlIE5BU0lEIG9mIHRoZSBibGFkZSAqLwotc3RhdGljIGlubGluZSBpbnQgdXZfYmxhZGVfdG9fbmFzaWQoaW50IGJpZCkKKy8qIENvbnZlcnQgYSBibGFkZSBpZCB0byB0aGUgUE5PREUgb2YgdGhlIGJsYWRlICovCitzdGF0aWMgaW5saW5lIGludCB1dl9ibGFkZV90b19wbm9kZShpbnQgYmlkKQogewotCXJldHVybiB1dl9ibGFkZV9pbmZvW2JpZF0ubmFzaWQ7CisJcmV0dXJuIHV2X2JsYWRlX2luZm9bYmlkXS5wbm9kZTsKIH0KIAogLyogRGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY3B1cyBvbiBhIGJsYWRlICovCiBzdGF0aWMgaW5saW5lIGludCB1dl9ibGFkZV9ucl9wb3NzaWJsZV9jcHVzKGludCBiaWQpCiB7Ci0JcmV0dXJuIHV2X2JsYWRlX2luZm9bYmlkXS5ucl9wb3NpYmxlX2NwdXM7CisJcmV0dXJuIHV2X2JsYWRlX2luZm9bYmlkXS5ucl9wb3NzaWJsZV9jcHVzOwogfQogCiAvKiBEZXRlcm1pbmUgdGhlIG51bWJlciBvZiBvbmxpbmUgY3B1cyBvbiBhIGJsYWRlICovCkBAIC0yNjIsMTYgKzMzMiwxNiBAQAogCXJldHVybiB1dl9ibGFkZV9pbmZvW2JpZF0ubnJfb25saW5lX2NwdXM7CiB9CiAKLS8qIENvbnZlcnQgYSBjcHUgaWQgdG8gdGhlIE5BU0lEIG9mIHRoZSBibGFkZSBjb250YWluaW5nIHRoZSBjcHUgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHV2X2NwdV90b19uYXNpZChpbnQgY3B1KQorLyogQ29udmVydCBhIGNwdSBpZCB0byB0aGUgUE5PREUgb2YgdGhlIGJsYWRlIGNvbnRhaW5pbmcgdGhlIGNwdSAqLworc3RhdGljIGlubGluZSBpbnQgdXZfY3B1X3RvX3Bub2RlKGludCBjcHUpCiB7Ci0JcmV0dXJuIHV2X2JsYWRlX2luZm9bdXZfY3B1X3RvX2JsYWRlX2lkKGNwdSldLm5hc2lkOworCXJldHVybiB1dl9ibGFkZV9pbmZvW3V2X2NwdV90b19ibGFkZV9pZChjcHUpXS5wbm9kZTsKIH0KIAotLyogQ29udmVydCBhIG5vZGUgbnVtYmVyIHRvIHRoZSBOQVNJRCBvZiB0aGUgYmxhZGUgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHV2X25vZGVfdG9fbmFzaWQoaW50IG5pZCkKKy8qIENvbnZlcnQgYSBsaW51eCBub2RlIG51bWJlciB0byB0aGUgUE5PREUgb2YgdGhlIGJsYWRlICovCitzdGF0aWMgaW5saW5lIGludCB1dl9ub2RlX3RvX3Bub2RlKGludCBuaWQpCiB7Ci0JcmV0dXJuIHV2X2JsYWRlX2luZm9bdXZfbm9kZV90b19ibGFkZV9pZChuaWQpXS5uYXNpZDsKKwlyZXR1cm4gdXZfYmxhZGVfaW5mb1t1dl9ub2RlX3RvX2JsYWRlX2lkKG5pZCldLnBub2RlOwogfQogCiAvKiBNYXhpbXVtIHBvc3NpYmxlIG51bWJlciBvZiBibGFkZXMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9tbXJzLmggYi9pbmNsdWRlL2FzbS14ODYvdXYvdXZfbW1ycy5oCmluZGV4IDNiNjlmZTYuLjE1MWZkN2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9tbXJzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X21tcnMuaApAQCAtMTEsMTcgKzExLDI5MCBAQAogI2lmbmRlZiBfX0FTTV9YODZfVVZfTU1SU19fCiAjZGVmaW5lIF9fQVNNX1g4Nl9VVl9NTVJTX18KIAotLyoKLSAqICAgICAgIEFVVE8gR0VORVJBVEVEIC0gRG8gbm90IGVkaXQKLSAqLworI2RlZmluZSBVVl9NTVJfRU5BQkxFCQkoMVVMIDw8IDYzKQogCi0gI2RlZmluZSBVVl9NTVJfRU5BQkxFCQkoMVVMIDw8IDYzKQorLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfQkFVX0RBVEFfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHIDB4NjE2ODBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHXzMyIDB4MDQzOAorCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfVkVDVE9SX1NIRlQgMAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1ZFQ1RPUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDBmZlVMCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfRE1fU0hGVCA4CisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfRE1fTUFTSyAweDAwMDAwMDAwMDAwMDA3MDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0RFU1RNT0RFX1NIRlQgMTEKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19ERVNUTU9ERV9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfU1RBVFVTX1NIRlQgMTIKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19TVEFUVVNfTUFTSyAweDAwMDAwMDAwMDAwMDEwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1BfU0hGVCAxMworI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1BfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1RfU0hGVCAxNQorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1RfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX01fU0hGVCAxNgorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX01fTUFTSyAweDAwMDAwMDAwMDAwMTAwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0FQSUNfSURfU0hGVCAzMgorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0FQSUNfSURfTUFTSyAweGZmZmZmZmZmMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfYmF1X2RhdGFfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2JhdV9kYXRhX2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXZlY3Rvcl8gIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZG0gICAgICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkZXN0bW9kZSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0YXR1cyAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE0ICA6ICAxOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXQgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJbSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE3XzMxOiAxNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlhcGljX2lkICA6IDMyOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9FVkVOVF9PQ0NVUlJFRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDAgMHg3MDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfMzIgMHgwMDVlOAorCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSENFUlJfU0hGVCAwCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDFVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMF9IQ0VSUl9TSEZUIDEKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDJVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMV9IQ0VSUl9TSEZUIDIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDRVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xIX0hDRVJSX1NIRlQgMworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xIX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA4VUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SSF9IQ0VSUl9TSEZUIDQKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SSF9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAxMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfWE5fSENFUlJfU0hGVCA1CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfWE5fSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMjBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NJX0hDRVJSX1NIRlQgNgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NJX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDQwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9BT0VSUjBfU0hGVCA3CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMDgwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfQU9FUlIwX1NIRlQgOAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMF9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDAxMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMV9BT0VSUjBfU0hGVCA5CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfR1IxX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDIwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEhfQU9FUlIwX1NIRlQgMTAKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MSF9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDA0MDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1JIX0FPRVJSMF9TSEZUIDExCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwODAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9YTl9BT0VSUjBfU0hGVCAxMgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1hOX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMTAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU0lfQU9FUlIwX1NIRlQgMTMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TSV9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0FPRVJSMV9TSEZUIDE0CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDA0MDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfQU9FUlIxX1NIRlQgMTUKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfQU9FUlIxX1NIRlQgMTYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MSF9BT0VSUjFfU0hGVCAxNworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xIX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDAyMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfQU9FUlIxX1NIRlQgMTgKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SSF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwNDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1hOX0FPRVJSMV9TSEZUIDE5CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfWE5fQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDgwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TSV9BT0VSUjFfU0hGVCAyMAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NJX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDEwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfVlBJX0lOVF9TSEZUIDIxCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfVlBJX0lOVF9NQVNLIDB4MDAwMDAwMDAwMDIwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU1lTVEVNX1NIVVRET1dOX0lOVF9TSEZUIDIyCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU1lTVEVNX1NIVVRET1dOX0lOVF9NQVNLIDB4MDAwMDAwMDAwMDQwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8wX1NIRlQgMjMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzBfTUFTSyAweDAwMDAwMDAwMDA4MDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMV9TSEZUIDI0CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8xX01BU0sgMHgwMDAwMDAwMDAxMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzJfU0hGVCAyNQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMl9NQVNLIDB4MDAwMDAwMDAwMjAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8zX1NIRlQgMjYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzNfTUFTSyAweDAwMDAwMDAwMDQwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfNF9TSEZUIDI3CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF80X01BU0sgMHgwMDAwMDAwMDA4MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzVfU0hGVCAyOAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfNV9NQVNLIDB4MDAwMDAwMDAxMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF82X1NIRlQgMjkKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzZfTUFTSyAweDAwMDAwMDAwMjAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfN19TSEZUIDMwCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF83X01BU0sgMHgwMDAwMDAwMDQwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzhfU0hGVCAzMQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfOF9NQVNLIDB4MDAwMDAwMDA4MDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF85X1NIRlQgMzIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzlfTUFTSyAweDAwMDAwMDAxMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTBfU0hGVCAzMworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTBfTUFTSyAweDAwMDAwMDAyMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTFfU0hGVCAzNAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTFfTUFTSyAweDAwMDAwMDA0MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTJfU0hGVCAzNQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTJfTUFTSyAweDAwMDAwMDA4MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTNfU0hGVCAzNgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTNfTUFTSyAweDAwMDAwMDEwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTRfU0hGVCAzNworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTRfTUFTSyAweDAwMDAwMDIwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTVfU0hGVCAzOAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTVfTUFTSyAweDAwMDAwMDQwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX05NSV9JTlRfU0hGVCAzOQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX05NSV9JTlRfTUFTSyAweDAwMDAwMDgwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NUT1BfQ0xPQ0tfU0hGVCA0MAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NUT1BfQ0xPQ0tfTUFTSyAweDAwMDAwMTAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0FTSUNfVE9fTDFfU0hGVCA0MQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0FTSUNfVE9fTDFfTUFTSyAweDAwMDAwMjAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX1RPX0FTSUNfU0hGVCA0MgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX1RPX0FTSUNfTUFTSyAweDAwMDAwNDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xUQ19JTlRfU0hGVCA0MworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xUQ19JTlRfTUFTSyAweDAwMDAwODAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xBX1NFUV9UUklHR0VSX1NIRlQgNDQKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQV9TRVFfVFJJR0dFUl9NQVNLIDB4MDAwMDEwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfSVBJX0lOVF9TSEZUIDQ1CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfSVBJX0lOVF9NQVNLIDB4MDAwMDIwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMF9TSEZUIDQ2CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMF9NQVNLIDB4MDAwMDQwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMV9TSEZUIDQ3CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMV9NQVNLIDB4MDAwMDgwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMl9TSEZUIDQ4CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMl9NQVNLIDB4MDAwMTAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UM19TSEZUIDQ5CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UM19NQVNLIDB4MDAwMjAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUFJPRklMRV9JTlRfU0hGVCA1MAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1BST0ZJTEVfSU5UX01BU0sgMHgwMDA0MDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMwX1NIRlQgNTEKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMwX01BU0sgMHgwMDA4MDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMxX1NIRlQgNTIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMxX01BU0sgMHgwMDEwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMyX1NIRlQgNTMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMyX01BU0sgMHgwMDIwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMzX1NIRlQgNTQKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMzX01BU0sgMHgwMDQwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9CQVVfREFUQV9TSEZUIDU1CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfQkFVX0RBVEFfTUFTSyAweDAwODAwMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1BPV0VSX01BTkFHRU1FTlRfUkVRX1NIRlQgNTYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9QT1dFUl9NQU5BR0VNRU5UX1JFUV9NQVNLIDB4MDEwMDAwMDAwMDAwMDAwMFVMCit1bmlvbiB1dmhfZXZlbnRfb2NjdXJyZWQwX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2V2ZW50X29jY3VycmVkMF9zIHsKKwl1bnNpZ25lZCBsb25nCWxiX2hjZXJyICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlncjBfaGNlcnIgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZ3IxX2hjZXJyICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxoX2hjZXJyICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlyaF9oY2VyciAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJeG5faGNlcnIgICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXNpX2hjZXJyICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9hb2VycjAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZ3IwX2FvZXJyMCAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWdyMV9hb2VycjAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsaF9hb2VycjAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcmhfYW9lcnIwICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXhuX2FvZXJyMCAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlzaV9hb2VycjAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfYW9lcnIxICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWdyMF9hb2VycjEgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlncjFfYW9lcnIxICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGhfYW9lcnIxICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJoX2FvZXJyMSAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwl4bl9hb2VycjEgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJc2lfYW9lcnIxICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJoX3ZwaV9pbnQgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlzeXN0ZW1fc2h1dGRvd25faW50ICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8wICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMSAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzIgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8zICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNCAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzUgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF82ICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNyAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzggICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF85ICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzExICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xMiAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTMgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzE0ICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xNSAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWwxX25taV9pbnQgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlzdG9wX2Nsb2NrICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJYXNpY190b19sMSAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWwxX3RvX2FzaWMgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsdGNfaW50ICAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGFfc2VxX3RyaWdnZXIgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWlwaV9pbnQgICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlleHRpb19pbnQwICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZXh0aW9faW50MSAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWV4dGlvX2ludDIgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlleHRpb19pbnQzICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcHJvZmlsZV9pbnQgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJ0YzAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlydGMxICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcnRjMiAgICAgICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJ0YzMgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwliYXVfZGF0YSAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcG93ZXJfbWFuYWdlbWVudF9yZXEgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTdfNjMgICAgICAgICAgIDogIDc7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0VWRU5UX09DQ1VSUkVEMF9BTElBUyAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9BTElBUyAweDAwMDAwMDAwMDAwNzAwMDhVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0FMSUFTXzMyIDB4MDA1ZjAKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0lOVF9DTVBCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfSU5UX0NNUEIgMHgyMjA4MFVMCisKKyNkZWZpbmUgVVZIX0lOVF9DTVBCX1JFQUxfVElNRV9DTVBCX1NIRlQgMAorI2RlZmluZSBVVkhfSU5UX0NNUEJfUkVBTF9USU1FX0NNUEJfTUFTSyAweDAwZmZmZmZmZmZmZmZmZmZVTAorCit1bmlvbiB1dmhfaW50X2NtcGJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfaW50X2NtcGJfcyB7CisJdW5zaWduZWQgbG9uZwlyZWFsX3RpbWVfY21wYiA6IDU2OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTZfNjMgICAgIDogIDg7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9JTlRfQ01QQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0lOVF9DTVBDIDB4MjIxMDBVTAorCisjZGVmaW5lIFVWSF9JTlRfQ01QQ19SRUFMX1RJTUVfQ01QQ19TSEZUIDAKKyNkZWZpbmUgVVZIX0lOVF9DTVBDX1JFQUxfVElNRV9DTVBDX01BU0sgMHgwMGZmZmZmZmZmZmZmZmZmVUwKKwordW5pb24gdXZoX2ludF9jbXBjX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2ludF9jbXBjX3MgeworCXVuc2lnbmVkIGxvbmcJcmVhbF90aW1lX2NtcGMgOiA1NjsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzU2XzYzICAgICA6ICA4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfSU5UX0NNUEQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9JTlRfQ01QRCAweDIyMTgwVUwKKworI2RlZmluZSBVVkhfSU5UX0NNUERfUkVBTF9USU1FX0NNUERfU0hGVCAwCisjZGVmaW5lIFVWSF9JTlRfQ01QRF9SRUFMX1RJTUVfQ01QRF9NQVNLIDB4MDBmZmZmZmZmZmZmZmZmZlVMCisKK3VuaW9uIHV2aF9pbnRfY21wZF91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9pbnRfY21wZF9zIHsKKwl1bnNpZ25lZCBsb25nCXJlYWxfdGltZV9jbXBkIDogNTY7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81Nl82MyAgICAgOiAgODsgIC8qICAgICovCisgICAgfSBzOworfTsKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0lQSV9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfSVBJX0lOVCAweDYwNTAwVUwKLSNkZWZpbmUgVVZIX0lQSV9JTlRfMzIgMHgwMzYwCisjZGVmaW5lIFVWSF9JUElfSU5UXzMyIDB4MDM0OAogCiAjZGVmaW5lIFVWSF9JUElfSU5UX1ZFQ1RPUl9TSEZUIDAKICNkZWZpbmUgVVZIX0lQSV9JTlRfVkVDVE9SX01BU0sgMHgwMDAwMDAwMDAwMDAwMGZmVUwKQEAgLTUxLDcgKzMyNCw3IEBACiAvKiAgICAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9GSVJTVCAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0ZJUlNUIDB4MzIwMDUwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1RfMzIgMHgwMDlmMAorI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9GSVJTVF8zMiAweDAwOWMwCiAKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1RfQUREUkVTU19TSEZUIDQKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1RfQUREUkVTU19NQVNLIDB4MDAwMDA3ZmZmZmZmZmZmMFVMCkBAIC03Myw3ICszNDYsNyBAQAogLyogICAgICAgICAgICAgICAgICAgIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1QgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9MQVNUIDB4MzIwMDYwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfTEFTVF8zMiAweDAwOWY4CisjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1RfMzIgMHgwMDljOAogCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1RfQUREUkVTU19TSEZUIDQKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfTEFTVF9BRERSRVNTX01BU0sgMHgwMDAwMDdmZmZmZmZmZmYwVUwKQEAgLTkxLDcgKzM2NCw3IEBACiAvKiAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTCAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX1RBSUwgMHgzMjAwNzBVTAotI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9UQUlMXzMyIDB4MDBhMDAKKyNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTF8zMiAweDAwOWQwCiAKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTF9BRERSRVNTX1NIRlQgNAogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9UQUlMX0FERFJFU1NfTUFTSyAweDAwMDAwN2ZmZmZmZmZmZjBVTApAQCAtMTA5LDYgKzM4Miw3IEBACiAvKiAgICAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0UgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRSAweDMyMDA4MFVMCisjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRV8zMiAweDBhNjgKIAogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfUEVORElOR18wX1NIRlQgMAogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfUEVORElOR18wX01BU0sgMHgwMDAwMDAwMDAwMDAwMDAxVUwKQEAgLTE2OSwxMiArNDQzLDEzIEBACiAvKiAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfQUxJQVMgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRV9BTElBUyAweDAwMDAwMDAwMDAzMjAwODhVTAorI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfQUxJQVNfMzIgMHgwYTcwCiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0wgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0wgMHgzMjAwMjBVTAotI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fQ09OVFJPTF8zMiAweDAwOWQ4CisjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9DT05UUk9MXzMyIDB4MDA5YTgKIAogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fQ09OVFJPTF9JTkRFWF9TSEZUIDAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0xfSU5ERVhfTUFTSyAweDAwMDAwMDAwMDAwMDAwM2ZVTApAQCAtMTk3LDcgKzQ3Miw3IEBACiAvKiAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMCAweDMyMDAzMFVMCi0jZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMF8zMiAweDAwOWUwCisjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMF8zMiAweDAwOWIwCiAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wX1NUQVRVU19TSEZUIDAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wX1NUQVRVU19NQVNLIDB4ZmZmZmZmZmZmZmZmZmZmZlVMCkBAIC0yMTMsNyArNDg4LDcgQEAKIC8qICAgICAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzEgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xIDB4MzIwMDQwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xXzMyIDB4MDA5ZTgKKyNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xXzMyIDB4MDA5YjgKIAogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzFfU1RBVFVTX1NIRlQgMAogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzFfU1RBVFVTX01BU0sgMHhmZmZmZmZmZmZmZmZmZmZmVUwKQEAgLTIyOSw3ICs1MDQsNyBAQAogLyogICAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0RFU0NSSVBUT1JfQkFTRSAweDMyMDAxMFVMCi0jZGVmaW5lIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFXzMyIDB4MDA5ZDAKKyNkZWZpbmUgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0VfMzIgMHgwMDlhMAogCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFX1BBR0VfQUREUkVTU19TSEZUIDEyCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFX1BBR0VfQUREUkVTU19NQVNLIDB4MDAwMDA3ZmZmZmZmZjAwMFVMCkBAIC0yNDgsNiArNTIzLDMzNCBAQAogfTsKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEUgMHg1MGIyMFVMCisKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX09CRVNFX01TR19TSEZUIDAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX09CRVNFX01TR19NQVNLIDB4MDAwMDAwMDAwMDAwMDAwMVVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9EQVRBX1NCX0VSUl9TSEZUIDEKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX0RBVEFfU0JfRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDAyVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX05BQ0tfQlVGRl9QQVJJVFlfU0hGVCAyCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9OQUNLX0JVRkZfUEFSSVRZX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA0VUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1RJTUVPVVRfU0hGVCAzCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA4VUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX0lOQUNUSVZFX1JFUExZX1NIRlQgNAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfSU5BQ1RJVkVfUkVQTFlfTUFTSyAweDAwMDAwMDAwMDAwMDAwMTBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfVVBHUkFERV9FUlJPUl9TSEZUIDUKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1VQR1JBREVfRVJST1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwMjBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfUkVHX0NPVU5UX1VOREVSRkxPV19TSEZUIDYKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1JFR19DT1VOVF9VTkRFUkZMT1dfTUFTSyAweDAwMDAwMDAwMDAwMDAwNDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfUkVQX09CRVNFX01TR19TSEZUIDcKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1JFUF9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMDAwODBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUV9SVU5UX01TR19TSEZUIDgKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVFfUlVOVF9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMDAxMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUV9PQkVTRV9NU0dfU0hGVCA5CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVRX09CRVNFX01TR19NQVNLIDB4MDAwMDAwMDAwMDAwMDIwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVRX0RBVEFfU0JfRVJSX1NIRlQgMTAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVFfREFUQV9TQl9FUlJfTUFTSyAweDAwMDAwMDAwMDAwMDA0MDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUF9SVU5UX01TR19TSEZUIDExCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVQX1JVTlRfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDAwODAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfT0JFU0VfTVNHX1NIRlQgMTIKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfT0JFU0VfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfREFUQV9TQl9FUlJfU0hGVCAxMworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUF9EQVRBX1NCX0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMjAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVQX0NPTU1BTkRfRVJSX1NIRlQgMTQKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfQ09NTUFORF9FUlJfTUFTSyAweDAwMDAwMDAwMDAwMDQwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1BFTkRfVElNRU9VVF9TSEZUIDE1CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUEVORF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX1JVTlRfTVNHX1NIRlQgMTYKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX1JVTlRfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX09CRVNFX01TR19TSEZUIDE3CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUV9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMjAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVFfREFUQV9TQl9FUlJfU0hGVCAxOAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVFfREFUQV9TQl9FUlJfTUFTSyAweDAwMDAwMDAwMDAwNDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfUlVOVF9NU0dfU0hGVCAxOQorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfUlVOVF9NU0dfTUFTSyAweDAwMDAwMDAwMDAwODAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfT0JFU0VfTVNHX1NIRlQgMjAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVQX09CRVNFX01TR19NQVNLIDB4MDAwMDAwMDAwMDEwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUF9EQVRBX1NCX0VSUl9TSEZUIDIxCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUF9EQVRBX1NCX0VSUl9NQVNLIDB4MDAwMDAwMDAwMDIwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX0FNT19USU1FT1VUX1NIRlQgMjIKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfQU1PX1RJTUVPVVRfTUFTSyAweDAwMDAwMDAwMDA0MDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19QVVRfVElNRU9VVF9TSEZUIDIzCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1BVVF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDAwODAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfU1BVUklPVVNfRVZFTlRfU0hGVCAyNAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19TUFVSSU9VU19FVkVOVF9NQVNLIDB4MDAwMDAwMDAwMTAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JT0hfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX1NIRlQgMjUKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lPSF9ERVNUSU5BVElPTl9UQUJMRV9QQVJJVFlfTUFTSyAweDAwMDAwMDAwMDIwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfR0VUX0hBRF9FUlJPUl9SRVBMWV9TSEZUIDI2CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9HRVRfSEFEX0VSUk9SX1JFUExZX01BU0sgMHgwMDAwMDAwMDA0MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0dFVF9USU1FT1VUX1NIRlQgMjcKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0dFVF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDA4MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0xPQ0tfTUFOQUdFUl9IQURfRVJST1JfUkVQTFlfU0hGVCAyOAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTE9DS19NQU5BR0VSX0hBRF9FUlJPUl9SRVBMWV9NQVNLIDB4MDAwMDAwMDAxMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9QVVRfSEFEX0VSUk9SX1JFUExZX1NIRlQgMjkKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1BVVF9IQURfRVJST1JfUkVQTFlfTUFTSyAweDAwMDAwMDAwMjAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfUFVUX1RJTUVPVVRfU0hGVCAzMAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfUFVUX1RJTUVPVVRfTUFTSyAweDAwMDAwMDAwNDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfU0JfQUNUSVZBVElPTl9PVkVSUlVOX1NIRlQgMzEKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1NCX0FDVElWQVRJT05fT1ZFUlJVTl9NQVNLIDB4MDAwMDAwMDA4MDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9DT01QTEVURURfR0JfQUNUSVZBVElPTl9IQURfRVJST1JfUkVQTFlfU0hGVCAzMgorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQ09NUExFVEVEX0dCX0FDVElWQVRJT05fSEFEX0VSUk9SX1JFUExZX01BU0sgMHgwMDAwMDAwMTAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0NPTVBMRVRFRF9HQl9BQ1RJVkFUSU9OX1RJTUVPVVRfU0hGVCAzMworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQ09NUExFVEVEX0dCX0FDVElWQVRJT05fVElNRU9VVF9NQVNLIDB4MDAwMDAwMDIwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8wX1BBUklUWV9TSEZUIDM0CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8wX1BBUklUWV9NQVNLIDB4MDAwMDAwMDQwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8xX1BBUklUWV9TSEZUIDM1CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8xX1BBUklUWV9NQVNLIDB4MDAwMDAwMDgwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9TT0NLRVRfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX1NIRlQgMzYKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1NPQ0tFVF9ERVNUSU5BVElPTl9UQUJMRV9QQVJJVFlfTUFTSyAweDAwMDAwMDEwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQkFVX1JFUExZX1BBWUxPQURfQ09SUlVQVElPTl9TSEZUIDM3CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9CQVVfUkVQTFlfUEFZTE9BRF9DT1JSVVBUSU9OX01BU0sgMHgwMDAwMDAyMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lPX1BPUlRfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX1NIRlQgMzgKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lPX1BPUlRfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX01BU0sgMHgwMDAwMDA0MDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVERfU09GVF9BQ0tfVElNRU9VVF9TSEZUIDM5CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JTlREX1NPRlRfQUNLX1RJTUVPVVRfTUFTSyAweDAwMDAwMDgwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5UX1JFUF9PQkVTRV9NU0dfU0hGVCA0MAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5UX1JFUF9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMTAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5UX1JFUF9DT01NQU5EX0VSUl9TSEZUIDQxCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JTlRfUkVQX0NPTU1BTkRfRVJSX01BU0sgMHgwMDAwMDIwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVF9USU1FT1VUX1NIRlQgNDIKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVF9USU1FT1VUX01BU0sgMHgwMDAwMDQwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX2xiX21jYXN0X2FvZXJyMF9ycHRfZW5hYmxlX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2xiX21jYXN0X2FvZXJyMF9ycHRfZW5hYmxlX3MgeworCXVuc2lnbmVkIGxvbmcJbWNhc3Rfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfbmFja19idWZmX3Bhcml0eSAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfdGltZW91dCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfaW5hY3RpdmVfcmVwbHkgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfdXBncmFkZV9lcnJvciAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfcmVnX2NvdW50X3VuZGVyZmxvdyAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfcmVwX29iZXNlX21zZyAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcV9ydW50X21zZyAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcV9vYmVzZV9tc2cgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcV9kYXRhX3NiX2VyciAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9ydW50X21zZyAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9vYmVzZV9tc2cgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9kYXRhX3NiX2VyciAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9jb21tYW5kX2VyciAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3BlbmRfdGltZW91dCAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXFfcnVudF9tc2cgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXFfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXFfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXBfcnVudF9tc2cgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXBfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXBfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19hbW9fdGltZW91dCAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19wdXRfdGltZW91dCAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19zcHVyaW91c19ldmVudCAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW9oX2Rlc3RpbmF0aW9uX3RhYmxlX3Bhcml0eSAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ2V0X2hhZF9lcnJvcl9yZXBseSAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ2V0X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbG9ja19tYW5hZ2VyX2hhZF9lcnJvcl9yZXBseSAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcHV0X2hhZF9lcnJvcl9yZXBseSAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcHV0X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc2JfYWN0aXZhdGlvbl9vdmVycnVuICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJY29tcGxldGVkX2diX2FjdGl2YXRpb25faGFkX2Vycm9yX3JlcGx5IDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJY29tcGxldGVkX2diX2FjdGl2YXRpb25fdGltZW91dCAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzY3JpcHRvcl9idWZmZXJfMF9wYXJpdHkgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzY3JpcHRvcl9idWZmZXJfMV9wYXJpdHkgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc29ja2V0X2Rlc3RpbmF0aW9uX3RhYmxlX3Bhcml0eSAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJYmF1X3JlcGx5X3BheWxvYWRfY29ycnVwdGlvbiAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW9fcG9ydF9kZXN0aW5hdGlvbl90YWJsZV9wYXJpdHkgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50ZF9zb2Z0X2Fja190aW1lb3V0ICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50X3JlcF9vYmVzZV9tc2cgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50X3JlcF9jb21tYW5kX2VyciAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF80M182MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMjE7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfTE9DQUxfSU5UMF9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHIDB4NjEwMDBVTAorCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19WRUNUT1JfU0hGVCAwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19WRUNUT1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwZmZVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfRE1fU0hGVCA4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19ETV9NQVNLIDB4MDAwMDAwMDAwMDAwMDcwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19ERVNUTU9ERV9TSEZUIDExCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19ERVNUTU9ERV9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19TVEFUVVNfU0hGVCAxMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfU1RBVFVTX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX1BfU0hGVCAxMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfUF9NQVNLIDB4MDAwMDAwMDAwMDAwMjAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19UX1NIRlQgMTUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX1RfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfTV9TSEZUIDE2CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19NX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX0FQSUNfSURfU0hGVCAzMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfQVBJQ19JRF9NQVNLIDB4ZmZmZmZmZmYwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9sb2NhbF9pbnQwX2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9sb2NhbF9pbnQwX2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXZlY3Rvcl8gIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZG0gICAgICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkZXN0bW9kZSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0YXR1cyAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE0ICA6ICAxOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXQgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJbSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE3XzMxOiAxNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlhcGljX2lkICA6IDMyOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRSAweDY1MDAwVUwKKworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSENFUlJfU0hGVCAwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAwMVVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfSENFUlJfU0hGVCAxCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDJVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0hDRVJSX1NIRlQgMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA0VUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xIX0hDRVJSX1NIRlQgMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEhfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDhVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfSENFUlJfU0hGVCA0CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9SSF9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAxMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9YTl9IQ0VSUl9TSEZUIDUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1hOX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDIwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NJX0hDRVJSX1NIRlQgNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfU0lfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwNDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfQU9FUlIwX1NIRlQgNworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMDgwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMF9BT0VSUjBfU0hGVCA4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMTAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMV9BT0VSUjBfU0hGVCA5CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjFfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMjAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xIX0FPRVJSMF9TSEZUIDEwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MSF9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDA0MDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfQU9FUlIwX1NIRlQgMTEKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1JIX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9YTl9BT0VSUjBfU0hGVCAxMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfWE5fQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NJX0FPRVJSMF9TSEZUIDEzCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TSV9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfQU9FUlIxX1NIRlQgMTQKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDAwNDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfQU9FUlIxX1NIRlQgMTUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0FPRVJSMV9TSEZUIDE2CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjFfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xIX0FPRVJSMV9TSEZUIDE3CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MSF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwMjAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfQU9FUlIxX1NIRlQgMTgKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1JIX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDA0MDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9YTl9BT0VSUjFfU0hGVCAxOQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfWE5fQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDgwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NJX0FPRVJSMV9TSEZUIDIwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TSV9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAxMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfVlBJX0lOVF9TSEZUIDIxCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9SSF9WUElfSU5UX01BU0sgMHgwMDAwMDAwMDAwMjAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NZU1RFTV9TSFVURE9XTl9JTlRfU0hGVCAyMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfU1lTVEVNX1NIVVRET1dOX0lOVF9NQVNLIDB4MDAwMDAwMDAwMDQwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzBfU0hGVCAyMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8wX01BU0sgMHgwMDAwMDAwMDAwODAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMV9TSEZUIDI0CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzFfTUFTSyAweDAwMDAwMDAwMDEwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8yX1NIRlQgMjUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMl9NQVNLIDB4MDAwMDAwMDAwMjAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzNfU0hGVCAyNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8zX01BU0sgMHgwMDAwMDAwMDA0MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfNF9TSEZUIDI3CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzRfTUFTSyAweDAwMDAwMDAwMDgwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF81X1NIRlQgMjgKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfNV9NQVNLIDB4MDAwMDAwMDAxMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzZfU0hGVCAyOQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF82X01BU0sgMHgwMDAwMDAwMDIwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfN19TSEZUIDMwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzdfTUFTSyAweDAwMDAwMDAwNDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF84X1NIRlQgMzEKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfOF9NQVNLIDB4MDAwMDAwMDA4MDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzlfU0hGVCAzMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF85X01BU0sgMHgwMDAwMDAwMTAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTBfU0hGVCAzMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xMF9NQVNLIDB4MDAwMDAwMDIwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzExX1NIRlQgMzQKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTFfTUFTSyAweDAwMDAwMDA0MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xMl9TSEZUIDM1CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzEyX01BU0sgMHgwMDAwMDAwODAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTNfU0hGVCAzNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xM19NQVNLIDB4MDAwMDAwMTAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzE0X1NIRlQgMzcKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTRfTUFTSyAweDAwMDAwMDIwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xNV9TSEZUIDM4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzE1X01BU0sgMHgwMDAwMDA0MDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0wxX05NSV9JTlRfU0hGVCAzOQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTDFfTk1JX0lOVF9NQVNLIDB4MDAwMDAwODAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TVE9QX0NMT0NLX1NIRlQgNDAKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NUT1BfQ0xPQ0tfTUFTSyAweDAwMDAwMTAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfQVNJQ19UT19MMV9TSEZUIDQxCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9BU0lDX1RPX0wxX01BU0sgMHgwMDAwMDIwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0wxX1RPX0FTSUNfU0hGVCA0MgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTDFfVE9fQVNJQ19NQVNLIDB4MDAwMDA0MDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MVENfSU5UX1NIRlQgNDMKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xUQ19JTlRfTUFTSyAweDAwMDAwODAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEFfU0VRX1RSSUdHRVJfU0hGVCA0NAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEFfU0VRX1RSSUdHRVJfTUFTSyAweDAwMDAxMDAwMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfbG9jYWxfaW50MF9lbmFibGVfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfbG9jYWxfaW50MF9lbmFibGVfcyB7CisJdW5zaWduZWQgbG9uZwlsYl9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ3IwX2hjZXJyICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWdyMV9oY2VyciAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsaF9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcmhfaGNlcnIgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXhuX2hjZXJyICAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlzaV9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWdyMF9hb2VycjAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlncjFfYW9lcnIwICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGhfYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJoX2FvZXJyMCAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwl4bl9hb2VycjAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc2lfYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlncjBfYW9lcnIxICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ3IxX2FvZXJyMSAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxoX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyaF9hb2VycjEgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJeG5fYW9lcnIxICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXNpX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyaF92cGlfaW50ICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc3lzdGVtX3NodXRkb3duX2ludCA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMCAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8yICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMyAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzQgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF81ICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNiAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzcgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF84ICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfOSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEwICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xMSAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTIgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEzICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xNCAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTUgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsMV9ubWlfaW50ICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc3RvcF9jbG9jayAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWFzaWNfdG9fbDEgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsMV90b19hc2ljICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbHRjX2ludCAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxhX3NlcV90cmlnZ2VyICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzQ1XzYzICAgICAgICAgIDogMTk7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9OT0RFX0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX05PREVfSUQgMHgwVUwKQEAgLTI4NCwxNCArODg3LDEwMSBAQAogfTsKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9OT0RFX1BSRVNFTlRfVEFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFIDB4MTQwMFVMCisjZGVmaW5lIFVWSF9OT0RFX1BSRVNFTlRfVEFCTEVfREVQVEggMTYKKworI2RlZmluZSBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX05PREVTX1NIRlQgMAorI2RlZmluZSBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX05PREVTX01BU0sgMHhmZmZmZmZmZmZmZmZmZmZmVUwKKwordW5pb24gdXZoX25vZGVfcHJlc2VudF90YWJsZV91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ub2RlX3ByZXNlbnRfdGFibGVfcyB7CisJdW5zaWduZWQgbG9uZwlub2RlcyA6IDY0OyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18wX01NUiAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzBfTU1SIDB4MTYwMDBkMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMF9NTVJfREVTVF9CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMF9NTVJfREVTVF9CQVNFX01BU0sgMHgwMDAwM2ZmZmZmMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMF9tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2FsaWFzMjEwX3JlZGlyZWN0X2NvbmZpZ18wX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMyA6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3RfYmFzZSA6IDIyOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNjM6IDE4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18xX01NUiAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzFfTU1SIDB4MTYwMDBlMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMV9NTVJfREVTVF9CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMV9NTVJfREVTVF9CQVNFX01BU0sgMHgwMDAwM2ZmZmZmMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMV9tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2FsaWFzMjEwX3JlZGlyZWN0X2NvbmZpZ18xX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMyA6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3RfYmFzZSA6IDIyOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNjM6IDE4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18yX01NUiAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzJfTU1SIDB4MTYwMDBmMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMl9NTVJfREVTVF9CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMl9NTVJfREVTVF9CQVNFX01BU0sgMHgwMDAwM2ZmZmZmMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMl9tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2FsaWFzMjEwX3JlZGlyZWN0X2NvbmZpZ18yX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMyA6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3RfYmFzZSA6IDIyOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNjM6IDE4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUiAweDE2MDAwMjBVTAorCisjZGVmaW5lIFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX1NIRlQgMjYKKyNkZWZpbmUgVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfTUFTSyAweDAwMDAzZmZmZmMwMDAwMDBVTAorI2RlZmluZSBVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX1NIRlQgNjMKKyNkZWZpbmUgVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SX0VOQUJMRV9NQVNLIDB4ODAwMDAwMDAwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9yaF9nYW1fY2ZnX292ZXJsYXlfY29uZmlnX21tcl91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9yaF9nYW1fY2ZnX292ZXJsYXlfY29uZmlnX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yNTogMjY7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYmFzZSAgIDogMjA7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF80Nl82MjogMTc7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJZW5hYmxlIDogIDE7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVIgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SIDB4MTYwMDAxMFVMCiAKICNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfU0hGVCAyOAogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9NQVNLIDB4MDAwMDNmZmZmMDAwMDAwMFVMCi0jZGVmaW5lIFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUl9HUjRfU0hGVCA0NgotI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfR1I0X01BU0sgMHgwMDAwNDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX0dSNF9TSEZUIDQ4CisjZGVmaW5lIFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUl9HUjRfTUFTSyAweDAwMDEwMDAwMDAwMDAwMDBVTAogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfTl9HUlVfU0hGVCA1MgogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfTl9HUlVfTUFTSyAweDAwZjAwMDAwMDAwMDAwMDBVTAogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX1NIRlQgNjMKQEAgLTMwMiw4ICs5OTIsOSBAQAogICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2dydV9vdmVybGF5X2NvbmZpZ19tbXJfcyB7CiAJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjc6IDI4OyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCWJhc2UgICA6IDE4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNDc6ICAyOyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCWdyNCAgICA6ICAxOyAgLyogUlcgKi8KLQl1bnNpZ25lZCBsb25nCXJzdmRfNDdfNTE6ICA1OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDlfNTE6ICAzOyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCW5fZ3J1ICA6ICA0OyAgLyogUlcgKi8KIAl1bnNpZ25lZCBsb25nCXJzdmRfNTZfNjI6ICA3OyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCWVuYWJsZSA6ICAxOyAgLyogUlcgKi8KQEAgLTMxMSw2ICsxMDAyLDMyIEBACiB9OwogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUiAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SIDB4MTYwMDAzMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUIDMwCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfTUFTSyAweDAwMDAzZmZmYzAwMDAwMDBVTAorI2RlZmluZSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9NX0lPX1NIRlQgNDYKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfTV9JT19NQVNLIDB4MDAwZmMwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX05fSU9fU0hGVCA1MgorI2RlZmluZSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9OX0lPX01BU0sgMHgwMGYwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX1NIRlQgNjMKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX01BU0sgMHg4MDAwMDAwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9tbWlvaF9vdmVybGF5X2NvbmZpZ19tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX21taW9oX292ZXJsYXlfY29uZmlnX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yOTogMzA7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYmFzZSAgIDogMTY7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbV9pbyAgIDogIDY7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbl9pbyAgIDogIDQ7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81Nl82MjogIDc7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJZW5hYmxlIDogIDE7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX01NUl9PVkVSTEFZX0NPTkZJR19NTVIgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX1JIX0dBTV9NTVJfT1ZFUkxBWV9DT05GSUdfTU1SIDB4MTYwMDAyOFVMCkBAIC0zMzYsNyArMTA1Myw3IEBACiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi0jZGVmaW5lIFVWSF9SVEMgMHgyODAwMFVMCisjZGVmaW5lIFVWSF9SVEMgMHgzNDAwMDBVTAogCiAjZGVmaW5lIFVWSF9SVENfUkVBTF9USU1FX0NMT0NLX1NIRlQgMAogI2RlZmluZSBVVkhfUlRDX1JFQUxfVElNRV9DTE9DS19NQVNLIDB4MDBmZmZmZmZmZmZmZmZmZlVMCkBAIC0zNTAsNiArMTA2NywxMzkgQEAKIH07CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX1JUQzFfSU5UX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJRyAweDYxNWMwVUwKKworI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX1ZFQ1RPUl9TSEZUIDAKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19WRUNUT1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwZmZVTAorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX0RNX1NIRlQgOAorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX0RNX01BU0sgMHgwMDAwMDAwMDAwMDAwNzAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19ERVNUTU9ERV9TSEZUIDExCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfREVTVE1PREVfTUFTSyAweDAwMDAwMDAwMDAwMDA4MDBVTAorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX1NUQVRVU19TSEZUIDEyCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfU1RBVFVTX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19QX1NIRlQgMTMKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19QX01BU0sgMHgwMDAwMDAwMDAwMDAyMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19UX1NIRlQgMTUKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19UX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19NX1NIRlQgMTYKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19NX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19BUElDX0lEX1NIRlQgMzIKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19BUElDX0lEX01BU0sgMHhmZmZmZmZmZjAwMDAwMDAwVUwKKwordW5pb24gdXZoX3J0YzFfaW50X2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ydGMxX2ludF9jb25maWdfcyB7CisJdW5zaWduZWQgbG9uZwl2ZWN0b3JfICA6ICA4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRtICAgICAgIDogIDM7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzdG1vZGUgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlzdGF0dXMgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCXAgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xNCAgOiAgMTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwl0ICAgICAgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCW0gICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xN18zMTogMTU7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYXBpY19pZCAgOiAzMjsgIC8qIFJXICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfUlRDMl9JTlRfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHIDB4NjE2MDBVTAorCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfVkVDVE9SX1NIRlQgMAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1ZFQ1RPUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDBmZlVMCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfRE1fU0hGVCA4CisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfRE1fTUFTSyAweDAwMDAwMDAwMDAwMDA3MDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0RFU1RNT0RFX1NIRlQgMTEKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19ERVNUTU9ERV9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfU1RBVFVTX1NIRlQgMTIKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19TVEFUVVNfTUFTSyAweDAwMDAwMDAwMDAwMDEwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1BfU0hGVCAxMworI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1BfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1RfU0hGVCAxNQorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1RfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX01fU0hGVCAxNgorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX01fTUFTSyAweDAwMDAwMDAwMDAwMTAwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0FQSUNfSURfU0hGVCAzMgorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0FQSUNfSURfTUFTSyAweGZmZmZmZmZmMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfcnRjMl9pbnRfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3J0YzJfaW50X2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXZlY3Rvcl8gIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZG0gICAgICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkZXN0bW9kZSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0YXR1cyAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE0ICA6ICAxOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXQgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJbSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE3XzMxOiAxNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlhcGljX2lkICA6IDMyOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9SVEMzX0lOVF9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUcgMHg2MTY0MFVMCisKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19WRUNUT1JfU0hGVCAwCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfVkVDVE9SX01BU0sgMHgwMDAwMDAwMDAwMDAwMGZmVUwKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19ETV9TSEZUIDgKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19ETV9NQVNLIDB4MDAwMDAwMDAwMDAwMDcwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfREVTVE1PREVfU0hGVCAxMQorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX0RFU1RNT0RFX01BU0sgMHgwMDAwMDAwMDAwMDAwODAwVUwKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19TVEFUVVNfU0hGVCAxMgorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX1NUQVRVU19NQVNLIDB4MDAwMDAwMDAwMDAwMTAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfUF9TSEZUIDEzCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfUF9NQVNLIDB4MDAwMDAwMDAwMDAwMjAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfVF9TSEZUIDE1CisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfVF9NQVNLIDB4MDAwMDAwMDAwMDAwODAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfTV9TSEZUIDE2CisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfTV9NQVNLIDB4MDAwMDAwMDAwMDAxMDAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfQVBJQ19JRF9TSEZUIDMyCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfQVBJQ19JRF9NQVNLIDB4ZmZmZmZmZmYwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9ydGMzX2ludF9jb25maWdfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcnRjM19pbnRfY29uZmlnX3MgeworCXVuc2lnbmVkIGxvbmcJdmVjdG9yXyAgOiAgODsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkbSAgICAgICA6ICAzOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3Rtb2RlIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc3RhdHVzICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlwICAgICAgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMTQgIDogIDE7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJdCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwltICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMTdfMzE6IDE1OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWFwaWNfaWQgIDogMzI7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9SVENfSU5DX1JBVElPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1JUQ19JTkNfUkFUSU8gMHgzNTAwMDBVTAorCisjZGVmaW5lIFVWSF9SVENfSU5DX1JBVElPX0ZSQUNUSU9OX1NIRlQgMAorI2RlZmluZSBVVkhfUlRDX0lOQ19SQVRJT19GUkFDVElPTl9NQVNLIDB4MDAwMDAwMDAwMDBmZmZmZlVMCisjZGVmaW5lIFVWSF9SVENfSU5DX1JBVElPX1JBVElPX1NIRlQgMjAKKyNkZWZpbmUgVVZIX1JUQ19JTkNfUkFUSU9fUkFUSU9fTUFTSyAweDAwMDAwMDAwMDA3MDAwMDBVTAorCit1bmlvbiB1dmhfcnRjX2luY19yYXRpb191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ydGNfaW5jX3JhdGlvX3MgeworCXVuc2lnbmVkIGxvbmcJZnJhY3Rpb24gOiAyMDsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyYXRpbyAgICA6ICAzOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMjNfNjM6IDQxOyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX1NJX0FERFJfTUFQX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9TSV9BRERSX01BUF9DT05GSUcgMHhjODAwMDBVTApAQCAtMzY5LDUgKzEyMTksNzcgQEAKICAgICB9IHM7CiB9OwogCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgVVZIX1NJX0FMSUFTMF9PVkVSTEFZX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUcgMHhjODAwMDhVTAorCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfQkFTRV9TSEZUIDI0CisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfQkFTRV9NQVNLIDB4MDAwMDAwMDBmZjAwMDAwMFVMCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfTV9BTElBU19TSEZUIDQ4CisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfTV9BTElBU19NQVNLIDB4MDAxZjAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfRU5BQkxFX1NIRlQgNjMKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMF9PVkVSTEFZX0NPTkZJR19FTkFCTEVfTUFTSyAweDgwMDAwMDAwMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfc2lfYWxpYXMwX292ZXJsYXlfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3NpX2FsaWFzMF9vdmVybGF5X2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMzogMjQ7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYmFzZSAgICA6ICA4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMzJfNDc6IDE2OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCW1fYWxpYXMgOiAgNTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzUzXzYyOiAxMDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwllbmFibGUgIDogIDE7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICBVVkhfU0lfQUxJQVMxX09WRVJMQVlfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJRyAweGM4MDAxMFVMCisKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19CQVNFX01BU0sgMHgwMDAwMDAwMGZmMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19NX0FMSUFTX1NIRlQgNDgKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19NX0FMSUFTX01BU0sgMHgwMDFmMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19FTkFCTEVfU0hGVCA2MworI2RlZmluZSBVVkhfU0lfQUxJQVMxX09WRVJMQVlfQ09ORklHX0VOQUJMRV9NQVNLIDB4ODAwMDAwMDAwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9zaV9hbGlhczFfb3ZlcmxheV9jb25maWdfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfc2lfYWxpYXMxX292ZXJsYXlfY29uZmlnX3MgeworCXVuc2lnbmVkIGxvbmcJcnN2ZF8wXzIzOiAyNDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwliYXNlICAgIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8zMl80NzogMTY7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJbV9hbGlhcyA6ICA1OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTNfNjI6IDEwOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWVuYWJsZSAgOiAgMTsgIC8qIFJXICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgIFVWSF9TSV9BTElBUzJfT1ZFUkxBWV9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHIDB4YzgwMDE4VUwKKworI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX0JBU0VfU0hGVCAyNAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX0JBU0VfTUFTSyAweDAwMDAwMDAwZmYwMDAwMDBVTAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX01fQUxJQVNfU0hGVCA0OAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX01fQUxJQVNfTUFTSyAweDAwMWYwMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX0VOQUJMRV9TSEZUIDYzCisjZGVmaW5lIFVWSF9TSV9BTElBUzJfT1ZFUkxBWV9DT05GSUdfRU5BQkxFX01BU0sgMHg4MDAwMDAwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX3NpX2FsaWFzMl9vdmVybGF5X2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9zaV9hbGlhczJfb3ZlcmxheV9jb25maWdfcyB7CisJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjM6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWJhc2UgICAgOiAgODsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzMyXzQ3OiAxNjsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwltX2FsaWFzIDogIDU7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81M182MjogMTA7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJZW5hYmxlICA6ICAxOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCiAKICNlbmRpZiAvKiBfX0FTTV9YODZfVVZfTU1SU19fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9jb2JhbHQuaCBiL2luY2x1ZGUvYXNtLXg4Ni92aXN3cy9jb2JhbHQuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvY29iYWx0LmgKcmVuYW1lIHRvIGluY2x1ZGUvYXNtLXg4Ni92aXN3cy9jb2JhbHQuaApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbGl0aGl1bS5oIGIvaW5jbHVkZS9hc20teDg2L3Zpc3dzL2xpdGhpdW0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbGl0aGl1bS5oCnJlbmFtZSB0byBpbmNsdWRlL2FzbS14ODYvdmlzd3MvbGl0aGl1bS5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9waWl4NC5oIGIvaW5jbHVkZS9hc20teDg2L3Zpc3dzL3BpaXg0LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGluY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3BpaXg0LmgKcmVuYW1lIHRvIGluY2x1ZGUvYXNtLXg4Ni92aXN3cy9waWl4NC5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdmlzd3Mvc2dpdncuaCBiL2luY2x1ZGUvYXNtLXg4Ni92aXN3cy9zZ2l2dy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmYmY2M2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvdmlzd3Mvc2dpdncuaApAQCAtMCwwICsxLDUgQEAKKy8qCisgKiBGcmFtZSBidWZmZXIgcG9zaXRpb24gYW5kIHNpemU6CisgKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3BoeXM7CitleHRlcm4gdW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9zaXplOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3ZtODYuaCBiL2luY2x1ZGUvYXNtLXg4Ni92bTg2LmgKaW5kZXggMDc0YjM1Ny4uNWNlMzUxMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3ZtODYuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdm04Ni5oCkBAIC0xNCwxMiArMTQsNiBAQAogCiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgogCi0jaWZkZWYgQ09ORklHX1ZNODYKLSNkZWZpbmUgWDg2X1ZNX01BU0sJWDg2X0VGTEFHU19WTQotI2Vsc2UKLSNkZWZpbmUgWDg2X1ZNX01BU0sJMCAvKiBObyBWTTg2IHN1cHBvcnQgKi8KLSNlbmRpZgotCiAjZGVmaW5lIEJJT1NTRUcJCTB4MGYwMDAKIAogI2RlZmluZSBDUFVfMDg2CQkwCkBAIC0xMjEsNyArMTE1LDYgQEAKIAl1bnNpZ25lZCBsb25nIGlzX3ZtODZwdXM6MTsJICAgICAgLyogZm9yIHZtODYgaW50ZXJuYWwgdXNlICovCiAJdW5zaWduZWQgY2hhciB2bTg2ZGJnX2ludHh4dGFiWzMyXTsgICAvKiBmb3IgZGVidWdnZXIgKi8KIH07Ci0KIHN0cnVjdCB2bTg2cGx1c19zdHJ1Y3QgewogCXN0cnVjdCB2bTg2X3JlZ3MgcmVnczsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtMTMzLDYgKzEyNiw5IEBACiB9OwogCiAjaWZkZWYgX19LRVJORUxfXworCisjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorCiAvKgogICogVGhpcyBpcyB0aGUgKGtlcm5lbCkgc3RhY2stbGF5b3V0IHdoZW4gd2UgaGF2ZSBkb25lIGEgIlNBVkVfQUxMIiBmcm9tIHZtODYKICAqIG1vZGUgLSB0aGUgbWFpbiBjaGFuZ2UgaXMgdGhhdCB0aGUgb2xkIHNlZ21lbnQgZGVzY3JpcHRvcnMgYXJlbid0CkBAIC0xNDEsNyArMTM3LDYgQEAKICAqIGF0IHRoZSBlbmQgb2YgdGhlIHN0cnVjdHVyZS4gTG9vayBhdCBwdHJhY2UuaCB0byBzZWUgdGhlICJub3JtYWwiCiAgKiBzZXR1cC4gRm9yIHVzZXIgc3BhY2UgbGF5b3V0IHNlZSAnc3RydWN0IHZtODZfcmVncycgYWJvdmUuCiAgKi8KLSNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAKIHN0cnVjdCBrZXJuZWxfdm04Nl9yZWdzIHsKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdm1pX3RpbWUuaCBiL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCmluZGV4IDQ3ODE4ODEuLmMzMTE4YzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCkBAIC01MCw3ICs1MCw3IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyB2bWlfZ2V0X3dhbGxjbG9jayh2b2lkKTsKIGV4dGVybiBpbnQgdm1pX3NldF93YWxsY2xvY2sodW5zaWduZWQgbG9uZyBub3cpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyB2bWlfc2NoZWRfY2xvY2sodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyB2bWlfY3B1X2toeih2b2lkKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIHZtaV90c2Nfa2h6KHZvaWQpOwogCiAjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiBleHRlcm4gdm9pZCBfX2RldmluaXQgdm1pX3RpbWVfYnNwX2luaXQodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdnN5c2NhbGwuaCBiL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCmluZGV4IDE3YjM3MDAuLjZiNjZmZjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCkBAIC0yNCw3ICsyNCw4IEBACiAJKCh1bnVzZWQsIF9fc2VjdGlvbl9fICgiLnZzeXNjYWxsX2d0b2RfZGF0YSIpLGFsaWduZWQoMTYpKSkKICNkZWZpbmUgX19zZWN0aW9uX3ZzeXNjYWxsX2Nsb2NrIF9fYXR0cmlidXRlX18gXAogCSgodW51c2VkLCBfX3NlY3Rpb25fXyAoIi52c3lzY2FsbF9jbG9jayIpLGFsaWduZWQoMTYpKSkKLSNkZWZpbmUgX192c3lzY2FsbF9mbiBfX2F0dHJpYnV0ZV9fICgodW51c2VkLF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfZm4iKSkpCisjZGVmaW5lIF9fdnN5c2NhbGxfZm4gXAorCV9fYXR0cmlidXRlX18gKCh1bnVzZWQsIF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfZm4iKSkpIG5vdHJhY2UKIAogI2RlZmluZSBWR0VUQ1BVX1JEVFNDUAkxCiAjZGVmaW5lIFZHRVRDUFVfTFNMCTIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vZXZlbnRzLmggYi9pbmNsdWRlL2FzbS14ODYveGVuL2V2ZW50cy5oCmluZGV4IDU5NjMxMmEuLmY4ZDU3ZWEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vZXZlbnRzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hlbi9ldmVudHMuaApAQCAtNCw2ICs0LDcgQEAKIGVudW0gaXBpX3ZlY3RvciB7CiAJWEVOX1JFU0NIRURVTEVfVkVDVE9SLAogCVhFTl9DQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwKKwlYRU5fQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SLAogCiAJWEVOX05SX0lQSVMsCiB9OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3hlbi9oeXBlcmNhbGwuaCBiL2luY2x1ZGUvYXNtLXg4Ni94ZW4vaHlwZXJjYWxsLmgKaW5kZXggYzJjY2Q5OS4uMmE0ZjliNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3hlbi9oeXBlcmNhbGwuaAorKysgYi9pbmNsdWRlL2FzbS14ODYveGVuL2h5cGVyY2FsbC5oCkBAIC0xNzYsOSArMTc2LDkgQEAKIH0KIAogc3RhdGljIGlubGluZSBpbnQKLUhZUEVSVklTT1Jfc2NoZWRfb3AoaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCitIWVBFUlZJU09SX3NjaGVkX29wKGludCBjbWQsIHZvaWQgKmFyZykKIHsKLQlyZXR1cm4gX2h5cGVyY2FsbDIoaW50LCBzY2hlZF9vcCwgY21kLCBhcmcpOworCXJldHVybiBfaHlwZXJjYWxsMihpbnQsIHNjaGVkX29wX25ldywgY21kLCBhcmcpOwogfQogCiBzdGF0aWMgaW5saW5lIGxvbmcKQEAgLTMxNSw2ICszMTUsMTMgQEAKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCitNVUxUSV9mcHVfdGFza3N3aXRjaChzdHJ1Y3QgbXVsdGljYWxsX2VudHJ5ICptY2wsIGludCBzZXQpCit7CisJbWNsLT5vcCA9IF9fSFlQRVJWSVNPUl9mcHVfdGFza3N3aXRjaDsKKwltY2wtPmFyZ3NbMF0gPSBzZXQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAogTVVMVElfdXBkYXRlX3ZhX21hcHBpbmcoc3RydWN0IG11bHRpY2FsbF9lbnRyeSAqbWNsLCB1bnNpZ25lZCBsb25nIHZhLAogCQkJcHRlX3QgbmV3X3ZhbCwgdW5zaWduZWQgbG9uZyBmbGFncykKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vcGFnZS5oIGIvaW5jbHVkZS9hc20teDg2L3hlbi9wYWdlLmgKaW5kZXggZTExZjI0MC4uMzc3YzA0NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3hlbi9wYWdlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hlbi9wYWdlLmgKQEAgLTI2LDE1ICsyNiwyMCBAQAogI2RlZmluZSBGT1JFSUdOX0ZSQU1FX0JJVAkoMVVMPDwzMSkKICNkZWZpbmUgRk9SRUlHTl9GUkFNRShtKQkoKG0pIHwgRk9SRUlHTl9GUkFNRV9CSVQpCiAKLWV4dGVybiB1bnNpZ25lZCBsb25nICpwaHlzX3RvX21hY2hpbmVfbWFwcGluZzsKKy8qIE1heGltdW0gYW1vdW50IG9mIG1lbW9yeSB3ZSBjYW4gaGFuZGxlIGluIGEgZG9tYWluIGluIHBhZ2VzICovCisjZGVmaW5lIE1BWF9ET01BSU5fUEFHRVMJCQkJCQlcCisgICAgKCh1bnNpZ25lZCBsb25nKSgodTY0KUNPTkZJR19YRU5fTUFYX0RPTUFJTl9NRU1PUlkgKiAxMDI0ICogMTAyNCAqIDEwMjQgLyBQQUdFX1NJWkUpKQorCisKK2V4dGVybiB1bnNpZ25lZCBsb25nIGdldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4pOworZXh0ZXJuIHZvaWQgc2V0X3BoeXNfdG9fbWFjaGluZSh1bnNpZ25lZCBsb25nIHBmbiwgdW5zaWduZWQgbG9uZyBtZm4pOwogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcGZuX3RvX21mbih1bnNpZ25lZCBsb25nIHBmbikKIHsKIAlpZiAoeGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkpCiAJCXJldHVybiBwZm47CiAKLQlyZXR1cm4gcGh5c190b19tYWNoaW5lX21hcHBpbmdbKHVuc2lnbmVkIGludCkocGZuKV0gJgotCQl+Rk9SRUlHTl9GUkFNRV9CSVQ7CisJcmV0dXJuIGdldF9waHlzX3RvX21hY2hpbmUocGZuKSAmIH5GT1JFSUdOX0ZSQU1FX0JJVDsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcGh5c190b19tYWNoaW5lX21hcHBpbmdfdmFsaWQodW5zaWduZWQgbG9uZyBwZm4pCkBAIC00Miw3ICs0Nyw3IEBACiAJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKQogCQlyZXR1cm4gMTsKIAotCXJldHVybiAocGh5c190b19tYWNoaW5lX21hcHBpbmdbcGZuXSAhPSBJTlZBTElEX1AyTV9FTlRSWSk7CisJcmV0dXJuIGdldF9waHlzX3RvX21hY2hpbmUocGZuKSAhPSBJTlZBTElEX1AyTV9FTlRSWTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIG1mbl90b19wZm4odW5zaWduZWQgbG9uZyBtZm4pCkBAIC0xMDYsMjAgKzExMSwxMiBAQAogCXVuc2lnbmVkIGxvbmcgcGZuID0gbWZuX3RvX3BmbihtZm4pOwogCWlmICgocGZuIDwgbWF4X21hcG5yKQogCSAgICAmJiAheGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkKLQkgICAgJiYgKHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nW3Bmbl0gIT0gbWZuKSkKKwkgICAgJiYgKGdldF9waHlzX3RvX21hY2hpbmUocGZuKSAhPSBtZm4pKQogCQlyZXR1cm4gbWF4X21hcG5yOyAvKiBmb3JjZSAhcGZuX3ZhbGlkKCkgKi8KKwkvKiBYWFggZml4bWU7IG5vdCB0cnVlIHdpdGggc3BhcnNlbWVtICovCiAJcmV0dXJuIHBmbjsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHNldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgbWZuKQotewotCWlmICh4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkgewotCQlCVUdfT04ocGZuICE9IG1mbiAmJiBtZm4gIT0gSU5WQUxJRF9QMk1fRU5UUlkpOwotCQlyZXR1cm47Ci0JfQotCXBoeXNfdG9fbWFjaGluZV9tYXBwaW5nW3Bmbl0gPSBtZm47Ci19Ci0KIC8qIFZJUlQgPC0+IE1BQ0hJTkUgY29udmVyc2lvbiAqLwogI2RlZmluZSB2aXJ0X3RvX21hY2hpbmUodikJKHBoeXNfdG9fbWFjaGluZShYUEFERFIoX19wYSh2KSkpKQogI2RlZmluZSB2aXJ0X3RvX21mbih2KQkJKHBmbl90b19tZm4oUEZOX0RPV04oX19wYSh2KSkpKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3hvcl8zMi5oIGIvaW5jbHVkZS9hc20teDg2L3hvcl8zMi5oCmluZGV4IDA2N2I1YzEuLjkyMWI0NTggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94b3JfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYveG9yXzMyLmgKQEAgLTEsMyArMSw2IEBACisjaWZuZGVmIEFTTV9YODZfX1hPUl8zMl9ICisjZGVmaW5lIEFTTV9YODZfX1hPUl8zMl9ICisKIC8qCiAgKiBPcHRpbWl6ZWQgUkFJRC01IGNoZWNrc3VtbWluZyBmdW5jdGlvbnMgZm9yIE1NWCBhbmQgU1NFLgogICoKQEAgLTg4MSwzICs4ODQsNSBAQAogICAgZGVhbHMgd2l0aCBhIGxvYWQgdG8gYSBsaW5lIHRoYXQgaXMgYmVpbmcgcHJlZmV0Y2hlZC4gICovCiAjZGVmaW5lIFhPUl9TRUxFQ1RfVEVNUExBVEUoRkFTVEVTVCkJCQlcCiAJKGNwdV9oYXNfeG1tID8gJnhvcl9ibG9ja19wSUlJX3NzZSA6IEZBU1RFU1QpCisKKyNlbmRpZiAvKiBBU01fWDg2X19YT1JfMzJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3hvcl82NC5oIGIvaW5jbHVkZS9hc20teDg2L3hvcl82NC5oCmluZGV4IDI0OTU3ZTMuLjJkM2ExOGQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94b3JfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYveG9yXzY0LmgKQEAgLTEsMyArMSw2IEBACisjaWZuZGVmIEFTTV9YODZfX1hPUl82NF9ICisjZGVmaW5lIEFTTV9YODZfX1hPUl82NF9ICisKIC8qCiAgKiBPcHRpbWl6ZWQgUkFJRC01IGNoZWNrc3VtbWluZyBmdW5jdGlvbnMgZm9yIE1NWCBhbmQgU1NFLgogICoKQEAgLTM1NCwzICszNTcsNSBAQAogICAgV2UgbWF5IGFsc28gYmUgYWJsZSB0byBsb2FkIGludG8gdGhlIEwxIG9ubHkgZGVwZW5kaW5nIG9uIGhvdyB0aGUgY3B1CiAgICBkZWFscyB3aXRoIGEgbG9hZCB0byBhIGxpbmUgdGhhdCBpcyBiZWluZyBwcmVmZXRjaGVkLiAgKi8KICNkZWZpbmUgWE9SX1NFTEVDVF9URU1QTEFURShGQVNURVNUKSAoJnhvcl9ibG9ja19zc2UpCisKKyNlbmRpZiAvKiBBU01fWDg2X19YT1JfNjRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jcnlwdG8vaGFzaC5oIGIvaW5jbHVkZS9jcnlwdG8vaGFzaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxMjQ5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2NyeXB0by9oYXNoLmgKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiBIYXNoOiBIYXNoIGFsZ29yaXRobXMgdW5kZXIgdGhlIGNyeXB0byBBUEkKKyAqIAorICogQ29weXJpZ2h0IChjKSAyMDA4IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2lmbmRlZiBfQ1JZUFRPX0hBU0hfSAorI2RlZmluZSBfQ1JZUFRPX0hBU0hfSAorCisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisKK3N0cnVjdCBjcnlwdG9fYWhhc2ggeworCXN0cnVjdCBjcnlwdG9fdGZtIGJhc2U7Cit9OworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjcnlwdG9fYWhhc2ggKl9fY3J5cHRvX2FoYXNoX2Nhc3Qoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlyZXR1cm4gKHN0cnVjdCBjcnlwdG9fYWhhc2ggKil0Zm07Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGNyeXB0b19haGFzaCAqY3J5cHRvX2FsbG9jX2FoYXNoKGNvbnN0IGNoYXIgKmFsZ19uYW1lLAorCQkJCQkJICAgICAgdTMyIHR5cGUsIHUzMiBtYXNrKQoreworCXR5cGUgJj0gfkNSWVBUT19BTEdfVFlQRV9NQVNLOworCW1hc2sgJj0gfkNSWVBUT19BTEdfVFlQRV9NQVNLOworCXR5cGUgfD0gQ1JZUFRPX0FMR19UWVBFX0FIQVNIOworCW1hc2sgfD0gQ1JZUFRPX0FMR19UWVBFX0FIQVNIX01BU0s7CisKKwlyZXR1cm4gX19jcnlwdG9fYWhhc2hfY2FzdChjcnlwdG9fYWxsb2NfYmFzZShhbGdfbmFtZSwgdHlwZSwgbWFzaykpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjcnlwdG9fdGZtICpjcnlwdG9fYWhhc2hfdGZtKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gJnRmbS0+YmFzZTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGNyeXB0b19mcmVlX2FoYXNoKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwljcnlwdG9fZnJlZV90Zm0oY3J5cHRvX2FoYXNoX3RmbSh0Zm0pKTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgY3J5cHRvX2FoYXNoX2FsaWdubWFzaygKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b190Zm1fYWxnX2FsaWdubWFzayhjcnlwdG9fYWhhc2hfdGZtKHRmbSkpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBhaGFzaF90Zm0gKmNyeXB0b19haGFzaF9jcnQoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJldHVybiAmY3J5cHRvX2FoYXNoX3RmbSh0Zm0pLT5jcnRfYWhhc2g7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX2FoYXNoX2NydCh0Zm0pLT5kaWdlc3RzaXplOworfQorCitzdGF0aWMgaW5saW5lIHUzMiBjcnlwdG9fYWhhc2hfZ2V0X2ZsYWdzKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX3RmbV9nZXRfZmxhZ3MoY3J5cHRvX2FoYXNoX3RmbSh0Zm0pKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGNyeXB0b19haGFzaF9zZXRfZmxhZ3Moc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCB1MzIgZmxhZ3MpCit7CisJY3J5cHRvX3RmbV9zZXRfZmxhZ3MoY3J5cHRvX2FoYXNoX3RmbSh0Zm0pLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3Moc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCB1MzIgZmxhZ3MpCit7CisJY3J5cHRvX3RmbV9jbGVhcl9mbGFncyhjcnlwdG9fYWhhc2hfdGZtKHRmbSksIGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRvX2FoYXNoICpjcnlwdG9fYWhhc2hfcmVxdGZtKAorCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIF9fY3J5cHRvX2FoYXNoX2Nhc3QocmVxLT5iYXNlLnRmbSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGNyeXB0b19haGFzaF9yZXFzaXplKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX2FoYXNoX2NydCh0Zm0pLT5yZXFzaXplOworfQorCitzdGF0aWMgaW5saW5lIGludCBjcnlwdG9fYWhhc2hfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwKKwkJCQkgICAgICBjb25zdCB1OCAqa2V5LCB1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBhaGFzaF90Zm0gKmNydCA9IGNyeXB0b19haGFzaF9jcnQodGZtKTsKKworCXJldHVybiBjcnQtPnNldGtleSh0Zm0sIGtleSwga2V5bGVuKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgY3J5cHRvX2FoYXNoX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBhaGFzaF90Zm0gKmNydCA9IGNyeXB0b19haGFzaF9jcnQoY3J5cHRvX2FoYXNoX3JlcXRmbShyZXEpKTsKKwlyZXR1cm4gY3J0LT5kaWdlc3QocmVxKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFoYXNoX3JlcXVlc3Rfc2V0X3RmbShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJCQkgc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJlcS0+YmFzZS50Zm0gPSBjcnlwdG9fYWhhc2hfdGZtKHRmbSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFoYXNoX3JlcXVlc3QgKmFoYXNoX3JlcXVlc3RfYWxsb2MoCisJc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBnZnBfdCBnZnApCit7CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcTsKKworCXJlcSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhaGFzaF9yZXF1ZXN0KSArCisJCSAgICAgIGNyeXB0b19haGFzaF9yZXFzaXplKHRmbSksIGdmcCk7CisKKwlpZiAobGlrZWx5KHJlcSkpCisJCWFoYXNoX3JlcXVlc3Rfc2V0X3RmbShyZXEsIHRmbSk7CisKKwlyZXR1cm4gcmVxOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWhhc2hfcmVxdWVzdF9mcmVlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJa2ZyZWUocmVxKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqYWhhc2hfcmVxdWVzdF9jYXN0KAorCXN0cnVjdCBjcnlwdG9fYXN5bmNfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjb250YWluZXJfb2YocmVxLCBzdHJ1Y3QgYWhhc2hfcmVxdWVzdCwgYmFzZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhaGFzaF9yZXF1ZXN0X3NldF9jYWxsYmFjayhzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJCQkgICAgICB1MzIgZmxhZ3MsCisJCQkJCSAgICAgIGNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGUsCisJCQkJCSAgICAgIHZvaWQgKmRhdGEpCit7CisJcmVxLT5iYXNlLmNvbXBsZXRlID0gY29tcGxldGU7CisJcmVxLT5iYXNlLmRhdGEgPSBkYXRhOworCXJlcS0+YmFzZS5mbGFncyA9IGZsYWdzOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWhhc2hfcmVxdWVzdF9zZXRfY3J5cHQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCQkJICAgc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmMsIHU4ICpyZXN1bHQsCisJCQkJCSAgIHVuc2lnbmVkIGludCBuYnl0ZXMpCit7CisJcmVxLT5zcmMgPSBzcmM7CisJcmVxLT5uYnl0ZXMgPSBuYnl0ZXM7CisJcmVxLT5yZXN1bHQgPSByZXN1bHQ7Cit9CisKKyNlbmRpZgkvKiBfQ1JZUFRPX0hBU0hfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jcnlwdG8vaW50ZXJuYWwvaGFzaC5oIGIvaW5jbHVkZS9jcnlwdG8vaW50ZXJuYWwvaGFzaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxN2FlNTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2NyeXB0by9pbnRlcm5hbC9oYXNoLmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIEhhc2ggYWxnb3JpdGhtcy4KKyAqIAorICogQ29weXJpZ2h0IChjKSAyMDA4IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2lmbmRlZiBfQ1JZUFRPX0lOVEVSTkFMX0hBU0hfSAorI2RlZmluZSBfQ1JZUFRPX0lOVEVSTkFMX0hBU0hfSAorCisjaW5jbHVkZSA8Y3J5cHRvL2FsZ2FwaS5oPgorI2luY2x1ZGUgPGNyeXB0by9oYXNoLmg+CisKK3N0cnVjdCBhaGFzaF9yZXF1ZXN0Oworc3RydWN0IHNjYXR0ZXJsaXN0OworCitzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayB7CisJY2hhciAqZGF0YTsKKworCXVuc2lnbmVkIGludCBvZmZzZXQ7CisJdW5zaWduZWQgaW50IGFsaWdubWFzazsKKworCXN0cnVjdCBwYWdlICpwZzsKKwl1bnNpZ25lZCBpbnQgZW50cnlsZW47CisKKwl1bnNpZ25lZCBpbnQgdG90YWw7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKworCXVuc2lnbmVkIGludCBmbGFnczsKK307CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgY3J5cHRvX3R5cGUgY3J5cHRvX2FoYXNoX3R5cGU7CisKK2ludCBjcnlwdG9faGFzaF93YWxrX2RvbmUoc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGssIGludCBlcnIpOworaW50IGNyeXB0b19oYXNoX3dhbGtfZmlyc3Qoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCSAgIHN0cnVjdCBjcnlwdG9faGFzaF93YWxrICp3YWxrKTsKKworc3RhdGljIGlubGluZSB2b2lkICpjcnlwdG9fYWhhc2hfY3R4KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX3RmbV9jdHgoJnRmbS0+YmFzZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFoYXNoX2FsZyAqY3J5cHRvX2FoYXNoX2FsZygKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuICZjcnlwdG9fYWhhc2hfdGZtKHRmbSktPl9fY3J0X2FsZy0+Y3JhX2FoYXNoOworfQorCitzdGF0aWMgaW5saW5lIGludCBhaGFzaF9lbnF1ZXVlX3JlcXVlc3Qoc3RydWN0IGNyeXB0b19xdWV1ZSAqcXVldWUsCisJCQkJCSAgICAgc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcXVlc3QpCit7CisJcmV0dXJuIGNyeXB0b19lbnF1ZXVlX3JlcXVlc3QocXVldWUsICZyZXF1ZXN0LT5iYXNlKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqYWhhc2hfZGVxdWV1ZV9yZXF1ZXN0KAorCXN0cnVjdCBjcnlwdG9fcXVldWUgKnF1ZXVlKQoreworCXJldHVybiBhaGFzaF9yZXF1ZXN0X2Nhc3QoY3J5cHRvX2RlcXVldWVfcmVxdWVzdChxdWV1ZSkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgKmFoYXNoX3JlcXVlc3RfY3R4KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIHJlcS0+X19jdHg7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGFoYXNoX3RmbV9pbl9xdWV1ZShzdHJ1Y3QgY3J5cHRvX3F1ZXVlICpxdWV1ZSwKKwkJCQkJICBzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b190Zm1faW5fcXVldWUocXVldWUsIGNyeXB0b19haGFzaF90Zm0odGZtKSk7Cit9CisKKyNlbmRpZgkvKiBfQ1JZUFRPX0lOVEVSTkFMX0hBU0hfSCAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9LYnVpbGQgYi9pbmNsdWRlL2RybS9LYnVpbGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJiNjk4MwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZHJtL0tidWlsZApAQCAtMCwwICsxLDEwIEBACit1bmlmZGVmLXkgKz0gZHJtLmggZHJtX3NhcmVhLmgKK3VuaWZkZWYteSArPSBpODEwX2RybS5oCit1bmlmZGVmLXkgKz0gaTgzMF9kcm0uaAordW5pZmRlZi15ICs9IGk5MTVfZHJtLmgKK3VuaWZkZWYteSArPSBtZ2FfZHJtLmgKK3VuaWZkZWYteSArPSByMTI4X2RybS5oCit1bmlmZGVmLXkgKz0gcmFkZW9uX2RybS5oCit1bmlmZGVmLXkgKz0gc2lzX2RybS5oCit1bmlmZGVmLXkgKz0gc2F2YWdlX2RybS5oCit1bmlmZGVmLXkgKz0gdmlhX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybS5oIGIvaW5jbHVkZS9kcm0vZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybVAuaCBiL2luY2x1ZGUvZHJtL2RybVAuaApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybVAuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtUC5oCmluZGV4IDA3NjRiNjYuLjFjMWIxM2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kcm0vZHJtUC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybVAuaApAQCAtMTA4OSw2ICsxMDg5LDcgQEAKIGV4dGVybiBpbnQgZHJtX21tX2FkZF9zcGFjZV90b190YWlsKHN0cnVjdCBkcm1fbW0gKm1tLCB1bnNpZ25lZCBsb25nIHNpemUpOwogCiBleHRlcm4gdm9pZCBkcm1fY29yZV9pb3JlbWFwKHN0cnVjdCBkcm1fbWFwICptYXAsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOworZXh0ZXJuIHZvaWQgZHJtX2NvcmVfaW9yZW1hcF93YyhzdHJ1Y3QgZHJtX21hcCAqbWFwLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGV4dGVybiB2b2lkIGRybV9jb3JlX2lvcmVtYXBmcmVlKHN0cnVjdCBkcm1fbWFwICptYXAsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCiBzdGF0aWMgX19pbmxpbmVfXyBzdHJ1Y3QgZHJtX21hcCAqZHJtX2NvcmVfZmluZG1hcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fY29yZS5oIGIvaW5jbHVkZS9kcm0vZHJtX2NvcmUuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fY29yZS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fY29yZS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmggYi9pbmNsdWRlL2RybS9kcm1faGFzaHRhYi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9oYXNodGFiLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX21lbW9yeS5oIGIvaW5jbHVkZS9kcm0vZHJtX21lbW9yeS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnkuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX21lbW9yeS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnlfZGVidWcuaCBiL2luY2x1ZGUvZHJtL2RybV9tZW1vcnlfZGVidWcuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5X2RlYnVnLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9tZW1vcnlfZGVidWcuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fb3NfbGludXguaCBiL2luY2x1ZGUvZHJtL2RybV9vc19saW51eC5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9vc19saW51eC5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fb3NfbGludXguaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fcGNpaWRzLmggYi9pbmNsdWRlL2RybS9kcm1fcGNpaWRzLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3BjaWlkcy5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fcGNpaWRzLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NhcmVhLmggYi9pbmNsdWRlL2RybS9kcm1fc2FyZWEuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fc2FyZWEuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX3NhcmVhLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uaCBiL2luY2x1ZGUvZHJtL2RybV9zbWFuLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX3NtYW4uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODEwX2RybS5oIGIvaW5jbHVkZS9kcm0vaTgxMF9kcm0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODEwX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9pODEwX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJtLmggYi9pbmNsdWRlL2RybS9pODMwX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2k4MzBfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvZHJtL2k5MTVfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vaTkxNV9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfZHJtLmggYi9pbmNsdWRlL2RybS9tZ2FfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9tZ2FfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9kcm0uaCBiL2luY2x1ZGUvZHJtL3IxMjhfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjEyOF9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vcjEyOF9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJtLmggYi9pbmNsdWRlL2RybS9yYWRlb25fZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9yYWRlb25fZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2RybS5oIGIvaW5jbHVkZS9kcm0vc2F2YWdlX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vc2F2YWdlX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3Npc19kcm0uaCBiL2luY2x1ZGUvZHJtL3Npc19kcm0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zaXNfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL3Npc19kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfZHJtLmggYi9pbmNsdWRlL2RybS92aWFfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS92aWFfZHJtLmgKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYWNwaS5oIGIvaW5jbHVkZS9saW51eC9hY3BpLmgKaW5kZXggNDFmN2NlNy4uMDYwMTA3NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9hY3BpLmgKKysrIGIvaW5jbHVkZS9saW51eC9hY3BpLmgKQEAgLTgyLDYgKzgyLDcgQEAKIGludCBlYXJseV9hY3BpX2Jvb3RfaW5pdCh2b2lkKTsKIGludCBhY3BpX2Jvb3RfaW5pdCAodm9pZCk7CiBpbnQgYWNwaV9ib290X3RhYmxlX2luaXQgKHZvaWQpOworaW50IGFjcGlfbXBzX2NoZWNrICh2b2lkKTsKIGludCBhY3BpX251bWFfaW5pdCAodm9pZCk7CiAKIGludCBhY3BpX3RhYmxlX2luaXQgKHZvaWQpOwpAQCAtMjUwLDYgKzI1MSwxMSBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW5saW5lIGludCBhY3BpX21wc19jaGVjayh2b2lkKQoreworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW5saW5lIGludCBhY3BpX2NoZWNrX3Jlc291cmNlX2NvbmZsaWN0KHN0cnVjdCByZXNvdXJjZSAqcmVzKQogewogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9iaW8uaCBiL2luY2x1ZGUvbGludXgvYmlvLmgKaW5kZXggNjFjMTVlYS4uMDkzM2ExNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9iaW8uaAorKysgYi9pbmNsdWRlL2xpbnV4L2Jpby5oCkBAIC02NCw2ICs2NCw3IEBACiAKIHN0cnVjdCBiaW9fc2V0Owogc3RydWN0IGJpbzsKK3N0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQ7CiB0eXBlZGVmIHZvaWQgKGJpb19lbmRfaW9fdCkgKHN0cnVjdCBiaW8gKiwgaW50KTsKIHR5cGVkZWYgdm9pZCAoYmlvX2Rlc3RydWN0b3JfdCkgKHN0cnVjdCBiaW8gKik7CiAKQEAgLTExMiw2ICsxMTMsOSBAQAogCWF0b21pY190CQliaV9jbnQ7CQkvKiBwaW4gY291bnQgKi8KIAogCXZvaWQJCQkqYmlfcHJpdmF0ZTsKKyNpZiBkZWZpbmVkKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaV9pbnRlZ3JpdHk7ICAvKiBkYXRhIGludGVncml0eSAqLworI2VuZGlmCiAKIAliaW9fZGVzdHJ1Y3Rvcl90CSpiaV9kZXN0cnVjdG9yOwkvKiBkZXN0cnVjdG9yICovCiB9OwpAQCAtMjcxLDYgKzI3NSwyOSBAQAogICovCiAjZGVmaW5lIGJpb19nZXQoYmlvKQlhdG9taWNfaW5jKCYoYmlvKS0+YmlfY250KQogCisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisvKgorICogYmlvIGludGVncml0eSBwYXlsb2FkCisgKi8KK3N0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgeworCXN0cnVjdCBiaW8JCSpiaXBfYmlvOwkvKiBwYXJlbnQgYmlvICovCisJc3RydWN0IGJpb192ZWMJCSpiaXBfdmVjOwkvKiBpbnRlZ3JpdHkgZGF0YSB2ZWN0b3IgKi8KKworCXNlY3Rvcl90CQliaXBfc2VjdG9yOwkvKiB2aXJ0dWFsIHN0YXJ0IHNlY3RvciAqLworCisJdm9pZAkJCSpiaXBfYnVmOwkvKiBnZW5lcmF0ZWQgaW50ZWdyaXR5IGRhdGEgKi8KKwliaW9fZW5kX2lvX3QJCSpiaXBfZW5kX2lvOwkvKiBzYXZlZCBJL08gY29tcGxldGlvbiBmbiAqLworCisJaW50CQkJYmlwX2Vycm9yOwkvKiBzYXZlZCBJL08gZXJyb3IgKi8KKwl1bnNpZ25lZCBpbnQJCWJpcF9zaXplOworCisJdW5zaWduZWQgc2hvcnQJCWJpcF9wb29sOwkvKiBwb29sIHRoZSBpdmVjIGNhbWUgZnJvbSAqLworCXVuc2lnbmVkIHNob3J0CQliaXBfdmNudDsJLyogIyBvZiBpbnRlZ3JpdHkgYmlvX3ZlY3MgKi8KKwl1bnNpZ25lZCBzaG9ydAkJYmlwX2lkeDsJLyogY3VycmVudCBiaXBfdmVjIGluZGV4ICovCisKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QJYmlwX3dvcms7CS8qIEkvTyBjb21wbGV0aW9uICovCit9OworI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lOVEVHUklUWSAqLwogCiAvKgogICogQSBiaW9fcGFpciBpcyB1c2VkIHdoZW4gd2UgbmVlZCB0byBzcGxpdCBhIGJpby4KQEAgLTI4MywxMCArMzEwLDE0IEBACiAgKiAgIGluIGJpbzIuYmlfcHJpdmF0ZQogICovCiBzdHJ1Y3QgYmlvX3BhaXIgewotCXN0cnVjdCBiaW8JYmlvMSwgYmlvMjsKLQlzdHJ1Y3QgYmlvX3ZlYwlidjEsIGJ2MjsKLQlhdG9taWNfdAljbnQ7Ci0JaW50CQllcnJvcjsKKwlzdHJ1Y3QgYmlvCQkJYmlvMSwgYmlvMjsKKwlzdHJ1Y3QgYmlvX3ZlYwkJCWJ2MSwgYnYyOworI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQJYmlwMSwgYmlwMjsKKwlzdHJ1Y3QgYmlvX3ZlYwkJCWl2MSwgaXYyOworI2VuZGlmCisJYXRvbWljX3QJCQljbnQ7CisJaW50CQkJCWVycm9yOwogfTsKIGV4dGVybiBzdHJ1Y3QgYmlvX3BhaXIgKmJpb19zcGxpdChzdHJ1Y3QgYmlvICpiaSwgbWVtcG9vbF90ICpwb29sLAogCQkJCSAgaW50IGZpcnN0X3NlY3RvcnMpOwpAQCAtMzMzLDYgKzM2NCwzOSBAQAogCQkJCSAgICAgaW50LCBpbnQpOwogZXh0ZXJuIGludCBiaW9fdW5jb3B5X3VzZXIoc3RydWN0IGJpbyAqKTsKIHZvaWQgemVyb19maWxsX2JpbyhzdHJ1Y3QgYmlvICpiaW8pOworZXh0ZXJuIHN0cnVjdCBiaW9fdmVjICpidmVjX2FsbG9jX2JzKGdmcF90LCBpbnQsIHVuc2lnbmVkIGxvbmcgKiwgc3RydWN0IGJpb19zZXQgKik7CitleHRlcm4gdW5zaWduZWQgaW50IGJ2ZWNfbnJfdmVjcyh1bnNpZ25lZCBzaG9ydCBpZHgpOworCisvKgorICogYmlvX3NldCBpcyB1c2VkIHRvIGFsbG93IG90aGVyIHBvcnRpb25zIG9mIHRoZSBJTyBzeXN0ZW0gdG8KKyAqIGFsbG9jYXRlIHRoZWlyIG93biBwcml2YXRlIG1lbW9yeSBwb29scyBmb3IgYmlvIGFuZCBpb3ZlYyBzdHJ1Y3R1cmVzLgorICogVGhlc2UgbWVtb3J5IHBvb2xzIGluIHR1cm4gYWxsIGFsbG9jYXRlIGZyb20gdGhlIGJpb19zbGFiCisgKiBhbmQgdGhlIGJ2ZWNfc2xhYnNbXS4KKyAqLworI2RlZmluZSBCSU9fUE9PTF9TSVpFIDIKKyNkZWZpbmUgQklPVkVDX05SX1BPT0xTIDYKKworc3RydWN0IGJpb19zZXQgeworCW1lbXBvb2xfdCAqYmlvX3Bvb2w7CisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisJbWVtcG9vbF90ICpiaW9faW50ZWdyaXR5X3Bvb2w7CisjZW5kaWYKKwltZW1wb29sX3QgKmJ2ZWNfcG9vbHNbQklPVkVDX05SX1BPT0xTXTsKK307CisKK3N0cnVjdCBiaW92ZWNfc2xhYiB7CisJaW50IG5yX3ZlY3M7CisJY2hhciAqbmFtZTsKKwlzdHJ1Y3Qga21lbV9jYWNoZSAqc2xhYjsKK307CisKK2V4dGVybiBzdHJ1Y3QgYmlvX3NldCAqZnNfYmlvX3NldDsKKworLyoKKyAqIGEgc21hbGwgbnVtYmVyIG9mIGVudHJpZXMgaXMgZmluZSwgbm90IGdvaW5nIHRvIGJlIHBlcmZvcm1hbmNlIGNyaXRpY2FsLgorICogYmFzaWNhbGx5IHdlIGp1c3QgbmVlZCB0byBzdXJ2aXZlCisgKi8KKyNkZWZpbmUgQklPX1NQTElUX0VOVFJJRVMgMgogCiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KIC8qCkBAIC0zODEsNSArNDQ1LDYzIEBACiAJX19iaW9fa21hcF9pcnEoKGJpbyksIChiaW8pLT5iaV9pZHgsIChmbGFncykpCiAjZGVmaW5lIGJpb19rdW5tYXBfaXJxKGJ1ZixmbGFncykJX19iaW9fa3VubWFwX2lycShidWYsIGZsYWdzKQogCisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisKKyNkZWZpbmUgYmlwX3ZlY19pZHgoYmlwLCBpZHgpCSgmKGJpcC0+YmlwX3ZlY1soaWR4KV0pKQorI2RlZmluZSBiaXBfdmVjKGJpcCkJCWJpcF92ZWNfaWR4KGJpcCwgMCkKKworI2RlZmluZSBfX2JpcF9mb3JfZWFjaF92ZWMoYnZsLCBiaXAsIGksIHN0YXJ0X2lkeCkJCQlcCisJZm9yIChidmwgPSBiaXBfdmVjX2lkeCgoYmlwKSwgKHN0YXJ0X2lkeCkpLCBpID0gKHN0YXJ0X2lkeCk7CVwKKwkgICAgIGkgPCAoYmlwKS0+YmlwX3ZjbnQ7CQkJCQlcCisJICAgICBidmwrKywgaSsrKQorCisjZGVmaW5lIGJpcF9mb3JfZWFjaF92ZWMoYnZsLCBiaXAsIGkpCQkJCQlcCisJX19iaXBfZm9yX2VhY2hfdmVjKGJ2bCwgYmlwLCBpLCAoYmlwKS0+YmlwX2lkeCkKKworc3RhdGljIGlubGluZSBpbnQgYmlvX2ludGVncml0eShzdHJ1Y3QgYmlvICpiaW8pCit7CisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisJcmV0dXJuIGJpby0+YmlfaW50ZWdyaXR5ICE9IE5VTEw7CisjZWxzZQorCXJldHVybiAwOworI2VuZGlmCit9CisKK2V4dGVybiBzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaW9faW50ZWdyaXR5X2FsbG9jX2Jpb3NldChzdHJ1Y3QgYmlvICosIGdmcF90LCB1bnNpZ25lZCBpbnQsIHN0cnVjdCBiaW9fc2V0ICopOworZXh0ZXJuIHN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpb19pbnRlZ3JpdHlfYWxsb2Moc3RydWN0IGJpbyAqLCBnZnBfdCwgdW5zaWduZWQgaW50KTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfZnJlZShzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW9fc2V0ICopOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2FkZF9wYWdlKHN0cnVjdCBiaW8gKiwgc3RydWN0IHBhZ2UgKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2VuYWJsZWQoc3RydWN0IGJpbyAqYmlvKTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9zZXRfdGFnKHN0cnVjdCBiaW8gKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2dldF90YWcoc3RydWN0IGJpbyAqLCB2b2lkICosIHVuc2lnbmVkIGludCk7CitleHRlcm4gaW50IGJpb19pbnRlZ3JpdHlfcHJlcChzdHJ1Y3QgYmlvICopOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV9lbmRpbyhzdHJ1Y3QgYmlvICosIGludCk7CitleHRlcm4gdm9pZCBiaW9faW50ZWdyaXR5X2FkdmFuY2Uoc3RydWN0IGJpbyAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV90cmltKHN0cnVjdCBiaW8gKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV9zcGxpdChzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW9fcGFpciAqLCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2Nsb25lKHN0cnVjdCBiaW8gKiwgc3RydWN0IGJpbyAqLCBzdHJ1Y3QgYmlvX3NldCAqKTsKK2V4dGVybiBpbnQgYmlvc2V0X2ludGVncml0eV9jcmVhdGUoc3RydWN0IGJpb19zZXQgKiwgaW50KTsKK2V4dGVybiB2b2lkIGJpb3NldF9pbnRlZ3JpdHlfZnJlZShzdHJ1Y3QgYmlvX3NldCAqKTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfaW5pdF9zbGFiKHZvaWQpOworCisjZWxzZSAvKiBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgKi8KKworI2RlZmluZSBiaW9faW50ZWdyaXR5KGEpCQkoMCkKKyNkZWZpbmUgYmlvc2V0X2ludGVncml0eV9jcmVhdGUoYSwgYikJKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfcHJlcChhKQkJKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfZW5hYmxlZChhKQkoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9jbG9uZShhLCBiLCBjKQkoMCkKKyNkZWZpbmUgYmlvc2V0X2ludGVncml0eV9mcmVlKGEpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9mcmVlKGEsIGIpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9lbmRpbyhhLCBiKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfYWR2YW5jZShhLCBiKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfdHJpbShhLCBiLCBjKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfc3BsaXQoYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X3NldF90YWcoYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X2dldF90YWcoYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X2luaXRfc2xhYihhKQlkbyB7IH0gd2hpbGUgKDApCisKKyNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgKi8KKwogI2VuZGlmIC8qIENPTkZJR19CTE9DSyAqLwogI2VuZGlmIC8qIF9fTElOVVhfQklPX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYmxrZGV2LmggYi9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oCmluZGV4IGQyYTFiNzEuLjMyYTQ0MWIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvYmxrZGV2LmgKKysrIGIvaW5jbHVkZS9saW51eC9ibGtkZXYuaApAQCAtMjMsNyArMjMsNiBAQAogc3RydWN0IHNjc2lfaW9jdGxfY29tbWFuZDsKIAogc3RydWN0IHJlcXVlc3RfcXVldWU7Ci10eXBlZGVmIHN0cnVjdCByZXF1ZXN0X3F1ZXVlIHJlcXVlc3RfcXVldWVfdCBfX2RlcHJlY2F0ZWQ7CiBzdHJ1Y3QgZWxldmF0b3JfcXVldWU7CiB0eXBlZGVmIHN0cnVjdCBlbGV2YXRvcl9xdWV1ZSBlbGV2YXRvcl90Owogc3RydWN0IHJlcXVlc3RfcG1fc3RhdGU7CkBAIC0zNCwxMiArMzMsNiBAQAogI2RlZmluZSBCTEtERVZfTUlOX1JRCTQKICNkZWZpbmUgQkxLREVWX01BWF9SUQkxMjgJLyogRGVmYXVsdCBtYXhpbXVtICovCiAKLWludCBwdXRfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKTsKLXZvaWQgZXhpdF9pb19jb250ZXh0KHZvaWQpOwotc3RydWN0IGlvX2NvbnRleHQgKmdldF9pb19jb250ZXh0KGdmcF90IGdmcF9mbGFncywgaW50IG5vZGUpOwotc3RydWN0IGlvX2NvbnRleHQgKmFsbG9jX2lvX2NvbnRleHQoZ2ZwX3QgZ2ZwX2ZsYWdzLCBpbnQgbm9kZSk7Ci12b2lkIGNvcHlfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqKnBkc3QsIHN0cnVjdCBpb19jb250ZXh0ICoqcHNyYyk7Ci0KIHN0cnVjdCByZXF1ZXN0OwogdHlwZWRlZiB2b2lkIChycV9lbmRfaW9fZm4pKHN0cnVjdCByZXF1ZXN0ICosIGludCk7CiAKQEAgLTExMyw2ICsxMDYsNyBAQAogCV9fUkVRX0FMTE9DRUQsCQkvKiByZXF1ZXN0IGNhbWUgZnJvbSBvdXIgYWxsb2MgcG9vbCAqLwogCV9fUkVRX1JXX01FVEEsCQkvKiBtZXRhZGF0YSBpbyByZXF1ZXN0ICovCiAJX19SRVFfQ09QWV9VU0VSLAkvKiBjb250YWlucyBjb3BpZXMgb2YgdXNlciBwYWdlcyAqLworCV9fUkVRX0lOVEVHUklUWSwJLyogaW50ZWdyaXR5IG1ldGFkYXRhIGhhcyBiZWVuIHJlbWFwcGVkICovCiAJX19SRVFfTlJfQklUUywJCS8qIHN0b3BzIGhlcmUgKi8KIH07CiAKQEAgLTEzNSw2ICsxMjksNyBAQAogI2RlZmluZSBSRVFfQUxMT0NFRAkoMSA8PCBfX1JFUV9BTExPQ0VEKQogI2RlZmluZSBSRVFfUldfTUVUQQkoMSA8PCBfX1JFUV9SV19NRVRBKQogI2RlZmluZSBSRVFfQ09QWV9VU0VSCSgxIDw8IF9fUkVRX0NPUFlfVVNFUikKKyNkZWZpbmUgUkVRX0lOVEVHUklUWQkoMSA8PCBfX1JFUV9JTlRFR1JJVFkpCiAKICNkZWZpbmUgQkxLX01BWF9DREIJMTYKIApAQCAtMjU5LDcgKzI1NCwxNCBAQAogdHlwZWRlZiB2b2lkICh1bnBsdWdfZm4pIChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqKTsKIAogc3RydWN0IGJpb192ZWM7Ci10eXBlZGVmIGludCAobWVyZ2VfYnZlY19mbikgKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCBiaW8gKiwgc3RydWN0IGJpb192ZWMgKik7CitzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhIHsKKwlzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiaV9iZGV2OworCXNlY3Rvcl90IGJpX3NlY3RvcjsKKwl1bnNpZ25lZCBiaV9zaXplOworCXVuc2lnbmVkIGxvbmcgYmlfcnc7Cit9OwordHlwZWRlZiBpbnQgKG1lcmdlX2J2ZWNfZm4pIChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICosCisJCQkgICAgIHN0cnVjdCBiaW9fdmVjICopOwogdHlwZWRlZiB2b2lkIChwcmVwYXJlX2ZsdXNoX2ZuKSAoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKik7CiB0eXBlZGVmIHZvaWQgKHNvZnRpcnFfZG9uZV9mbikoc3RydWN0IHJlcXVlc3QgKik7CiB0eXBlZGVmIGludCAoZG1hX2RyYWluX25lZWRlZF9mbikoc3RydWN0IHJlcXVlc3QgKik7CkBAIC00MjYsNiArNDI4LDMyIEBACiAJX19zZXRfYml0KGZsYWcsICZxLT5xdWV1ZV9mbGFncyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHF1ZXVlX2ZsYWdfdGVzdF9hbmRfY2xlYXIodW5zaWduZWQgaW50IGZsYWcsCisJCQkJCSAgICBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkKK3sKKwlXQVJOX09OX09OQ0UoIXF1ZXVlX2lzX2xvY2tlZChxKSk7CisKKwlpZiAodGVzdF9iaXQoZmxhZywgJnEtPnF1ZXVlX2ZsYWdzKSkgeworCQlfX2NsZWFyX2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpOworCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgcXVldWVfZmxhZ190ZXN0X2FuZF9zZXQodW5zaWduZWQgaW50IGZsYWcsCisJCQkJCSAgc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpCit7CisJV0FSTl9PTl9PTkNFKCFxdWV1ZV9pc19sb2NrZWQocSkpOworCisJaWYgKCF0ZXN0X2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpKSB7CisJCV9fc2V0X2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpOworCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIHF1ZXVlX2ZsYWdfc2V0KHVuc2lnbmVkIGludCBmbGFnLCBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkKIHsKIAlXQVJOX09OX09OQ0UoIXF1ZXVlX2lzX2xvY2tlZChxKSk7CkBAIC02MjMsNyArNjUxLDYgQEAKIGV4dGVybiB2b2lkIGJsa19ycV9pbml0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpOwogZXh0ZXJuIHZvaWQgYmxrX3B1dF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0ICopOwogZXh0ZXJuIHZvaWQgX19ibGtfcHV0X3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKik7Ci1leHRlcm4gdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpOwogZXh0ZXJuIHN0cnVjdCByZXF1ZXN0ICpibGtfZ2V0X3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgaW50LCBnZnBfdCk7CiBleHRlcm4gdm9pZCBibGtfaW5zZXJ0X3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKiwgaW50LCB2b2lkICopOwogZXh0ZXJuIHZvaWQgYmxrX3JlcXVldWVfcmVxdWVzdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgcmVxdWVzdCAqKTsKQEAgLTY3Niw3ICs3MDMsNiBAQAogCQkJICBzdHJ1Y3QgcmVxdWVzdCAqLCBpbnQpOwogZXh0ZXJuIHZvaWQgYmxrX2V4ZWN1dGVfcnFfbm93YWl0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCBnZW5kaXNrICosCiAJCQkJICBzdHJ1Y3QgcmVxdWVzdCAqLCBpbnQsIHJxX2VuZF9pb19mbiAqKTsKLWV4dGVybiBpbnQgYmxrX3ZlcmlmeV9jb21tYW5kKHVuc2lnbmVkIGNoYXIgKiwgaW50KTsKIGV4dGVybiB2b2lkIGJsa191bnBsdWcoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpOwogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpiZGV2X2dldF9xdWV1ZShzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQpAQCAtNzQ5LDYgKzc3NSw3IEBACiBleHRlcm4gdm9pZCBibGtfcXVldWVfaGFyZHNlY3Rfc2l6ZShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCB1bnNpZ25lZCBzaG9ydCk7CiBleHRlcm4gdm9pZCBibGtfcXVldWVfc3RhY2tfbGltaXRzKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICp0LCBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqYik7CiBleHRlcm4gdm9pZCBibGtfcXVldWVfZG1hX3BhZChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIHZvaWQgYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHVuc2lnbmVkIGludCk7CiBleHRlcm4gaW50IGJsa19xdWV1ZV9kbWFfZHJhaW4oc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCiAJCQkgICAgICAgZG1hX2RyYWluX25lZWRlZF9mbiAqZG1hX2RyYWluX25lZWRlZCwKIAkJCSAgICAgICB2b2lkICpidWYsIHVuc2lnbmVkIGludCBzaXplKTsKQEAgLTgwMiw2ICs4MjksMTUgQEAKIAogZXh0ZXJuIGludCBibGtkZXZfaXNzdWVfZmx1c2goc3RydWN0IGJsb2NrX2RldmljZSAqLCBzZWN0b3JfdCAqKTsKIAorLyoKKyogY29tbWFuZCBmaWx0ZXIgZnVuY3Rpb25zCisqLworZXh0ZXJuIGludCBibGtfdmVyaWZ5X2NvbW1hbmQoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGNoYXIgKmNtZCk7CitleHRlcm4gaW50IGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIsCisJCQkJCSB1bnNpZ25lZCBjaGFyICpjbWQsIG1vZGVfdCAqZl9tb2RlKTsKK2V4dGVybiBpbnQgYmxrX3JlZ2lzdGVyX2ZpbHRlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzayk7CitleHRlcm4gdm9pZCBibGtfdW5yZWdpc3Rlcl9maWx0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spOworCiAjZGVmaW5lIE1BWF9QSFlTX1NFR01FTlRTIDEyOAogI2RlZmluZSBNQVhfSFdfU0VHTUVOVFMgMTI4CiAjZGVmaW5lIFNBRkVfTUFYX1NFQ1RPUlMgMjU1CkBAIC04NjUsNiArOTAxLDEwNSBAQAogI2RlZmluZSBNT0RVTEVfQUxJQVNfQkxPQ0tERVZfTUFKT1IobWFqb3IpIFwKIAlNT0RVTEVfQUxJQVMoImJsb2NrLW1ham9yLSIgX19zdHJpbmdpZnkobWFqb3IpICItKiIpCiAKKyNpZiBkZWZpbmVkKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkKKworI2RlZmluZSBJTlRFR1JJVFlfRkxBR19SRUFECTIJLyogdmVyaWZ5IGRhdGEgaW50ZWdyaXR5IG9uIHJlYWQgKi8KKyNkZWZpbmUgSU5URUdSSVRZX0ZMQUdfV1JJVEUJNAkvKiBnZW5lcmF0ZSBkYXRhIGludGVncml0eSBvbiB3cml0ZSAqLworCitzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyB7CisJdm9pZAkJCSpwcm90X2J1ZjsKKwl2b2lkCQkJKmRhdGFfYnVmOworCXNlY3Rvcl90CQlzZWN0b3I7CisJdW5zaWduZWQgaW50CQlkYXRhX3NpemU7CisJdW5zaWduZWQgc2hvcnQJCXNlY3Rvcl9zaXplOworCWNvbnN0IGNoYXIJCSpkaXNrX25hbWU7Cit9OworCit0eXBlZGVmIHZvaWQgKGludGVncml0eV9nZW5fZm4pIChzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyAqKTsKK3R5cGVkZWYgaW50IChpbnRlZ3JpdHlfdnJmeV9mbikgKHN0cnVjdCBibGtfaW50ZWdyaXR5X2V4Y2hnICopOwordHlwZWRlZiB2b2lkIChpbnRlZ3JpdHlfc2V0X3RhZ19mbikgKHZvaWQgKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOwordHlwZWRlZiB2b2lkIChpbnRlZ3JpdHlfZ2V0X3RhZ19mbikgKHZvaWQgKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOworCitzdHJ1Y3QgYmxrX2ludGVncml0eSB7CisJaW50ZWdyaXR5X2dlbl9mbgkqZ2VuZXJhdGVfZm47CisJaW50ZWdyaXR5X3ZyZnlfZm4JKnZlcmlmeV9mbjsKKwlpbnRlZ3JpdHlfc2V0X3RhZ19mbgkqc2V0X3RhZ19mbjsKKwlpbnRlZ3JpdHlfZ2V0X3RhZ19mbgkqZ2V0X3RhZ19mbjsKKworCXVuc2lnbmVkIHNob3J0CQlmbGFnczsKKwl1bnNpZ25lZCBzaG9ydAkJdHVwbGVfc2l6ZTsKKwl1bnNpZ25lZCBzaG9ydAkJc2VjdG9yX3NpemU7CisJdW5zaWduZWQgc2hvcnQJCXRhZ19zaXplOworCisJY29uc3QgY2hhcgkJKm5hbWU7CisKKwlzdHJ1Y3Qga29iamVjdAkJa29iajsKK307CisKK2V4dGVybiBpbnQgYmxrX2ludGVncml0eV9yZWdpc3RlcihzdHJ1Y3QgZ2VuZGlzayAqLCBzdHJ1Y3QgYmxrX2ludGVncml0eSAqKTsKK2V4dGVybiB2b2lkIGJsa19pbnRlZ3JpdHlfdW5yZWdpc3RlcihzdHJ1Y3QgZ2VuZGlzayAqKTsKK2V4dGVybiBpbnQgYmxrX2ludGVncml0eV9jb21wYXJlKHN0cnVjdCBibG9ja19kZXZpY2UgKiwgc3RydWN0IGJsb2NrX2RldmljZSAqKTsKK2V4dGVybiBpbnQgYmxrX3JxX21hcF9pbnRlZ3JpdHlfc2coc3RydWN0IHJlcXVlc3QgKiwgc3RydWN0IHNjYXR0ZXJsaXN0ICopOworZXh0ZXJuIGludCBibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnKHN0cnVjdCByZXF1ZXN0ICopOworCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHNob3J0IGJsa19pbnRlZ3JpdHlfdHVwbGVfc2l6ZShzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkpCit7CisJaWYgKGJpKQorCQlyZXR1cm4gYmktPnR1cGxlX3NpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmRldl9nZXRfaW50ZWdyaXR5KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCit7CisJcmV0dXJuIGJkZXYtPmJkX2Rpc2stPmludGVncml0eTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYmRldl9nZXRfdGFnX3NpemUoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldikKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmRldik7CisKKwlpZiAoYmkpCisJCXJldHVybiBiaS0+dGFnX3NpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgYmRldl9pbnRlZ3JpdHlfZW5hYmxlZChzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBpbnQgcncpCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJkZXYpOworCisJaWYgKGJpID09IE5VTEwpCisJCXJldHVybiAwOworCisJaWYgKHJ3ID09IFJFQUQgJiYgYmktPnZlcmlmeV9mbiAhPSBOVUxMICYmCisJICAgIChiaS0+ZmxhZ3MgJiBJTlRFR1JJVFlfRkxBR19SRUFEKSkKKwkJcmV0dXJuIDE7CisKKwlpZiAocncgPT0gV1JJVEUgJiYgYmktPmdlbmVyYXRlX2ZuICE9IE5VTEwgJiYKKwkgICAgKGJpLT5mbGFncyAmIElOVEVHUklUWV9GTEFHX1dSSVRFKSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgYmxrX2ludGVncml0eV9ycShzdHJ1Y3QgcmVxdWVzdCAqcnEpCit7CisJcmV0dXJuIGJpb19pbnRlZ3JpdHkocnEtPmJpbyk7Cit9CisKKyNlbHNlIC8qIENPTkZJR19CTEtfREVWX0lOVEVHUklUWSAqLworCisjZGVmaW5lIGJsa19pbnRlZ3JpdHlfcnEocnEpCQkJKDApCisjZGVmaW5lIGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2coYSkJCSgwKQorI2RlZmluZSBibGtfcnFfbWFwX2ludGVncml0eV9zZyhhLCBiKQkJKDApCisjZGVmaW5lIGJkZXZfZ2V0X2ludGVncml0eShhKQkJCSgwKQorI2RlZmluZSBiZGV2X2dldF90YWdfc2l6ZShhKQkJCSgwKQorI2RlZmluZSBibGtfaW50ZWdyaXR5X2NvbXBhcmUoYSwgYikJCSgwKQorI2RlZmluZSBibGtfaW50ZWdyaXR5X3JlZ2lzdGVyKGEsIGIpCQkoMCkKKyNkZWZpbmUgYmxrX2ludGVncml0eV91bnJlZ2lzdGVyKGEpCQlkbyB7IH0gd2hpbGUgKDApOworCisjZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSU5URUdSSVRZICovCiAKICNlbHNlIC8qIENPTkZJR19CTE9DSyAqLwogLyoKQEAgLTg3NywxNyArMTAxMiw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBleGl0X2lvX2NvbnRleHQodm9pZCkKLXsKLX0KLQotc3RydWN0IGlvX2NvbnRleHQ7Ci1zdGF0aWMgaW5saW5lIGludCBwdXRfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKQotewotCXJldHVybiAxOwotfQotCi0KICNlbmRpZiAvKiBDT05GSUdfQkxPQ0sgKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Jsa3RyYWNlX2FwaS5oIGIvaW5jbHVkZS9saW51eC9ibGt0cmFjZV9hcGkuaAppbmRleCBlM2VmOTAzLi5kMDg0YjhkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Jsa3RyYWNlX2FwaS5oCisrKyBiL2luY2x1ZGUvbGludXgvYmxrdHJhY2VfYXBpLmgKQEAgLTEyOSw2ICsxMjksNyBAQAogCXUzMiBkZXY7CiAJc3RydWN0IGRlbnRyeSAqZGlyOwogCXN0cnVjdCBkZW50cnkgKmRyb3BwZWRfZmlsZTsKKwlzdHJ1Y3QgZGVudHJ5ICptc2dfZmlsZTsKIAlhdG9taWNfdCBkcm9wcGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9ib290bWVtLmggYi9pbmNsdWRlL2xpbnV4L2Jvb3RtZW0uaAppbmRleCA2ODY4OTViLi5hMWQ5Yjc5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Jvb3RtZW0uaAorKysgYi9pbmNsdWRlL2xpbnV4L2Jvb3RtZW0uaApAQCAtODQsNiArODQsOCBAQAogCV9fYWxsb2NfYm9vdG1lbV9sb3coeCwgUEFHRV9TSVpFLCAwKQogI2VuZGlmIC8qICFDT05GSUdfSEFWRV9BUkNIX0JPT1RNRU1fTk9ERSAqLwogCitleHRlcm4gaW50IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCSAgIGludCBmbGFncyk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBmcmVlX2FsbF9ib290bWVtKHZvaWQpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZnJlZV9hbGxfYm9vdG1lbV9ub2RlKHBnX2RhdGFfdCAqcGdkYXQpOwogZXh0ZXJuIHZvaWQgKl9fYWxsb2NfYm9vdG1lbV9ub2RlKHBnX2RhdGFfdCAqcGdkYXQsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaCBiL2luY2x1ZGUvbGludXgvY29uc29sZS5oCmluZGV4IGE0ZjI3ZmIuLjI0OGU2ZTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvY29uc29sZS5oCisrKyBiL2luY2x1ZGUvbGludXgvY29uc29sZS5oCkBAIC0xMDgsNiArMTA4LDggQEAKIAlzdHJ1Y3QJIGNvbnNvbGUgKm5leHQ7CiB9OwogCitleHRlcm4gaW50IGNvbnNvbGVfc2V0X29uX2NtZGxpbmU7CisKIGV4dGVybiBpbnQgYWRkX3ByZWZlcnJlZF9jb25zb2xlKGNoYXIgKm5hbWUsIGludCBpZHgsIGNoYXIgKm9wdGlvbnMpOwogZXh0ZXJuIGludCB1cGRhdGVfY29uc29sZV9jbWRsaW5lKGNoYXIgKm5hbWUsIGludCBpZHgsIGNoYXIgKm5hbWVfbmV3LCBpbnQgaWR4X25ldywgY2hhciAqb3B0aW9ucyk7CiBleHRlcm4gdm9pZCByZWdpc3Rlcl9jb25zb2xlKHN0cnVjdCBjb25zb2xlICopOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jcnlwdG8uaCBiL2luY2x1ZGUvbGludXgvY3J5cHRvLmgKaW5kZXggNDI1ODI0Yi4uYzQzZGM0NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9jcnlwdG8uaAorKysgYi9pbmNsdWRlL2xpbnV4L2NyeXB0by5oCkBAIC0zMCwxNSArMzAsMTcgQEAKICAqLwogI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfTUFTSwkJMHgwMDAwMDAwZgogI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQ0lQSEVSCQkweDAwMDAwMDAxCi0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9ESUdFU1QJCTB4MDAwMDAwMDIKLSNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0hBU0gJCTB4MDAwMDAwMDMKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0NPTVBSRVNTCTB4MDAwMDAwMDIKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0FFQUQJCTB4MDAwMDAwMDMKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUgkweDAwMDAwMDA0CiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BQkxLQ0lQSEVSCTB4MDAwMDAwMDUKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0dJVkNJUEhFUgkweDAwMDAwMDA2Ci0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9DT01QUkVTUwkweDAwMDAwMDA4Ci0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BRUFECQkweDAwMDAwMDA5CisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9ESUdFU1QJCTB4MDAwMDAwMDgKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0hBU0gJCTB4MDAwMDAwMDkKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0FIQVNICQkweDAwMDAwMDBhCiAKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSwkweDAwMDAwMDBlCisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BSEFTSF9NQVNLCTB4MDAwMDAwMGMKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUl9NQVNLCTB4MDAwMDAwMGMKIAogI2RlZmluZSBDUllQVE9fQUxHX0xBUlZBTAkJMHgwMDAwMDAxMApAQCAtMTAyLDYgKzEwNCw3IEBACiBzdHJ1Y3QgY3J5cHRvX2FlYWQ7CiBzdHJ1Y3QgY3J5cHRvX2Jsa2NpcGhlcjsKIHN0cnVjdCBjcnlwdG9faGFzaDsKK3N0cnVjdCBjcnlwdG9fYWhhc2g7CiBzdHJ1Y3QgY3J5cHRvX3RmbTsKIHN0cnVjdCBjcnlwdG9fdHlwZTsKIHN0cnVjdCBhZWFkX2dpdmNyeXB0X3JlcXVlc3Q7CkBAIC0xMzEsNiArMTM0LDE2IEBACiAJdm9pZCAqX19jdHhbXSBDUllQVE9fTUlOQUxJR05fQVRUUjsKIH07CiAKK3N0cnVjdCBhaGFzaF9yZXF1ZXN0IHsKKwlzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgYmFzZTsKKworCXVuc2lnbmVkIGludCBuYnl0ZXM7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmM7CisJdTgJCSAgICpyZXN1bHQ7CisKKwl2b2lkICpfX2N0eFtdIENSWVBUT19NSU5BTElHTl9BVFRSOworfTsKKwogLyoqCiAgKglzdHJ1Y3QgYWVhZF9yZXF1ZXN0IC0gQUVBRCByZXF1ZXN0CiAgKglAYmFzZTogQ29tbW9uIGF0dHJpYnV0ZXMgZm9yIGFzeW5jIGNyeXB0byByZXF1ZXN0cwpAQCAtMTk1LDYgKzIwOCwxNyBAQAogCXVuc2lnbmVkIGludCBpdnNpemU7CiB9OwogCitzdHJ1Y3QgYWhhc2hfYWxnIHsKKwlpbnQgKCppbml0KShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCp1cGRhdGUpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKmZpbmFsKShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCpkaWdlc3QpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKnNldGtleSkoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbik7CisKKwl1bnNpZ25lZCBpbnQgZGlnZXN0c2l6ZTsKK307CisKIHN0cnVjdCBhZWFkX2FsZyB7CiAJaW50ICgqc2V0a2V5KShzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSwgY29uc3QgdTggKmtleSwKIAkgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBrZXlsZW4pOwpAQCAtMjcyLDYgKzI5Niw3IEBACiAjZGVmaW5lIGNyYV9jaXBoZXIJY3JhX3UuY2lwaGVyCiAjZGVmaW5lIGNyYV9kaWdlc3QJY3JhX3UuZGlnZXN0CiAjZGVmaW5lIGNyYV9oYXNoCWNyYV91Lmhhc2gKKyNkZWZpbmUgY3JhX2FoYXNoCWNyYV91LmFoYXNoCiAjZGVmaW5lIGNyYV9jb21wcmVzcwljcmFfdS5jb21wcmVzcwogCiBzdHJ1Y3QgY3J5cHRvX2FsZyB7CkBAIC0yOTgsNiArMzIzLDcgQEAKIAkJc3RydWN0IGNpcGhlcl9hbGcgY2lwaGVyOwogCQlzdHJ1Y3QgZGlnZXN0X2FsZyBkaWdlc3Q7CiAJCXN0cnVjdCBoYXNoX2FsZyBoYXNoOworCQlzdHJ1Y3QgYWhhc2hfYWxnIGFoYXNoOwogCQlzdHJ1Y3QgY29tcHJlc3NfYWxnIGNvbXByZXNzOwogCX0gY3JhX3U7CiAKQEAgLTM4Myw2ICs0MDksMTggQEAKIAl1bnNpZ25lZCBpbnQgZGlnZXN0c2l6ZTsKIH07CiAKK3N0cnVjdCBhaGFzaF90Zm0geworCWludCAoKmluaXQpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKnVwZGF0ZSkoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSk7CisJaW50ICgqZmluYWwpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKmRpZ2VzdCkoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSk7CisJaW50ICgqc2V0a2V5KShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0sIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKTsKKworCXVuc2lnbmVkIGludCBkaWdlc3RzaXplOworCXVuc2lnbmVkIGludCByZXFzaXplOworfTsKKwogc3RydWN0IGNvbXByZXNzX3RmbSB7CiAJaW50ICgqY290X2NvbXByZXNzKShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLAogCSAgICAgICAgICAgICAgICAgICAgY29uc3QgdTggKnNyYywgdW5zaWduZWQgaW50IHNsZW4sCkBAIC0zOTcsNiArNDM1LDcgQEAKICNkZWZpbmUgY3J0X2Jsa2NpcGhlcgljcnRfdS5ibGtjaXBoZXIKICNkZWZpbmUgY3J0X2NpcGhlcgljcnRfdS5jaXBoZXIKICNkZWZpbmUgY3J0X2hhc2gJY3J0X3UuaGFzaAorI2RlZmluZSBjcnRfYWhhc2gJY3J0X3UuYWhhc2gKICNkZWZpbmUgY3J0X2NvbXByZXNzCWNydF91LmNvbXByZXNzCiAKIHN0cnVjdCBjcnlwdG9fdGZtIHsKQEAgLTQwOSw2ICs0NDgsNyBAQAogCQlzdHJ1Y3QgYmxrY2lwaGVyX3RmbSBibGtjaXBoZXI7CiAJCXN0cnVjdCBjaXBoZXJfdGZtIGNpcGhlcjsKIAkJc3RydWN0IGhhc2hfdGZtIGhhc2g7CisJCXN0cnVjdCBhaGFzaF90Zm0gYWhhc2g7CiAJCXN0cnVjdCBjb21wcmVzc190Zm0gY29tcHJlc3M7CiAJfSBjcnRfdTsKIAkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZGNhY2hlLmggYi9pbmNsdWRlL2xpbnV4L2RjYWNoZS5oCmluZGV4IGQ5ODJlYjguLjk4MjAyYzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZGNhY2hlLmgKKysrIGIvaW5jbHVkZS9saW51eC9kY2FjaGUuaApAQCAtMyw2ICszLDcgQEAKIAogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvY2FjaGUuaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kZWxheS5oIGIvaW5jbHVkZS9saW51eC9kZWxheS5oCmluZGV4IDU0NTUyZDIuLmZkODMyYzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZGVsYXkuaAorKysgYi9pbmNsdWRlL2xpbnV4L2RlbGF5LmgKQEAgLTQxLDYgKzQxLDcgQEAKICNkZWZpbmUgbmRlbGF5KHgpIG5kZWxheSh4KQogI2VuZGlmCiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIGxwal9maW5lOwogdm9pZCBjYWxpYnJhdGVfZGVsYXkodm9pZCk7CiB2b2lkIG1zbGVlcCh1bnNpZ25lZCBpbnQgbXNlY3MpOwogdW5zaWduZWQgbG9uZyBtc2xlZXBfaW50ZXJydXB0aWJsZSh1bnNpZ25lZCBpbnQgbXNlY3MpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9lZmkuaCBiL2luY2x1ZGUvbGludXgvZWZpLmgKaW5kZXggYTVmMzU5YS4uODA3MzczZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9lZmkuaAorKysgYi9pbmNsdWRlL2xpbnV4L2VmaS5oCkBAIC0yODcsNyArMjg3LDYgQEAKIGV4dGVybiB2b2lkIGVmaV9pbml0ICh2b2lkKTsKIGV4dGVybiB2b2lkICplZmlfZ2V0X3BhbF9hZGRyICh2b2lkKTsKIGV4dGVybiB2b2lkIGVmaV9tYXBfcGFsX2NvZGUgKHZvaWQpOwotZXh0ZXJuIHZvaWQgZWZpX21hcF9tZW1tYXAodm9pZCk7CiBleHRlcm4gdm9pZCBlZmlfbWVtbWFwX3dhbGsgKGVmaV9mcmVlbWVtX2NhbGxiYWNrX3QgY2FsbGJhY2ssIHZvaWQgKmFyZyk7CiBleHRlcm4gdm9pZCBlZmlfZ2V0dGltZW9mZGF5IChzdHJ1Y3QgdGltZXNwZWMgKnRzKTsKIGV4dGVybiB2b2lkIGVmaV9lbnRlcl92aXJ0dWFsX21vZGUgKHZvaWQpOwkvKiBzd2l0Y2ggRUZJIHRvIHZpcnR1YWwgbW9kZSwgaWYgcG9zc2libGUgKi8KQEAgLTI5NSwxNCArMjk0LDExIEBACiBleHRlcm4gdTMyIGVmaV9tZW1fdHlwZSAodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIpOwogZXh0ZXJuIHU2NCBlZmlfbWVtX2F0dHJpYnV0ZXMgKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyKTsKIGV4dGVybiB1NjQgZWZpX21lbV9hdHRyaWJ1dGUgKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpOwotZXh0ZXJuIGludCBlZmlfbWVtX2F0dHJpYnV0ZV9yYW5nZSAodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKLQkJCQkgICAgdTY0IGF0dHIpOwogZXh0ZXJuIGludCBfX2luaXQgZWZpX3VhcnRfY29uc29sZV9vbmx5ICh2b2lkKTsKIGV4dGVybiB2b2lkIGVmaV9pbml0aWFsaXplX2lvbWVtX3Jlc291cmNlcyhzdHJ1Y3QgcmVzb3VyY2UgKmNvZGVfcmVzb3VyY2UsCiAJCXN0cnVjdCByZXNvdXJjZSAqZGF0YV9yZXNvdXJjZSwgc3RydWN0IHJlc291cmNlICpic3NfcmVzb3VyY2UpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZWZpX2dldF90aW1lKHZvaWQpOwogZXh0ZXJuIGludCBlZmlfc2V0X3J0Y19tbXNzKHVuc2lnbmVkIGxvbmcgbm93dGltZSk7Ci1leHRlcm4gaW50IGlzX2F2YWlsYWJsZV9tZW1vcnkoZWZpX21lbW9yeV9kZXNjX3QgKiBtZCk7CiBleHRlcm4gc3RydWN0IGVmaV9tZW1vcnlfbWFwIG1lbW1hcDsKIAogLyoqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLW1hcC5oIGIvaW5jbHVkZS9saW51eC9maXJtd2FyZS1tYXAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2JkYmNjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9maXJtd2FyZS1tYXAuaApAQCAtMCwwICsxLDc0IEBACisvKgorICogaW5jbHVkZS9saW51eC9maXJtd2FyZS1tYXAuaDoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggU1VTRSBMSU5VWCBQcm9kdWN0cyBHbWJICisgKiAgYnkgQmVybmhhcmQgV2FsbGUgPGJ3YWxsZUBzdXNlLmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyLjAgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKi8KKyNpZm5kZWYgX0xJTlVYX0ZJUk1XQVJFX01BUF9ICisjZGVmaW5lIF9MSU5VWF9GSVJNV0FSRV9NQVBfSAorCisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tvYmplY3QuaD4KKworLyoKKyAqIHByb3ZpZGUgYSBkdW1teSBpbnRlcmZhY2UgaWYgQ09ORklHX0ZJUk1XQVJFX01FTU1BUCBpcyBkaXNhYmxlZAorICovCisjaWZkZWYgQ09ORklHX0ZJUk1XQVJFX01FTU1BUAorCisvKioKKyAqIEFkZHMgYSBmaXJtd2FyZSBtYXBwaW5nIGVudHJ5LiBUaGlzIGZ1bmN0aW9uIHVzZXMga21hbGxvYygpIGZvciBtZW1vcnkKKyAqIGFsbG9jYXRpb24uIFVzZSBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KCkgaWYgeW91IHdhbnQgdG8gdXNlIHRoZSBib290bWVtCisgKiBhbGxvY2F0b3IuCisgKgorICogVGhhdCBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgbGF0ZV9pbml0Y2FsbC4KKyAqCisgKiBAc3RhcnQ6IFN0YXJ0IG9mIHRoZSBtZW1vcnkgcmFuZ2UuCisgKiBAZW5kOiAgIEVuZCBvZiB0aGUgbWVtb3J5IHJhbmdlIChpbmNsdXNpdmUpLgorICogQHR5cGU6ICBUeXBlIG9mIHRoZSBtZW1vcnkgcmFuZ2UuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIC1FTk9NRU0gaWYgbm8gbWVtb3J5IGNvdWxkIGJlIGFsbG9jYXRlZC4KKyAqLworaW50IGZpcm13YXJlX21hcF9hZGQocmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCByZXNvdXJjZV9zaXplX3QgZW5kLAorCQkgICAgIGNvbnN0IGNoYXIgKnR5cGUpOworCisvKioKKyAqIEFkZHMgYSBmaXJtd2FyZSBtYXBwaW5nIGVudHJ5LiBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIGJvb3RtZW0gYWxsb2NhdG9yCisgKiBmb3IgbWVtb3J5IGFsbG9jYXRpb24uIFVzZSBmaXJtd2FyZV9tYXBfYWRkKCkgaWYgeW91IHdhbnQgdG8gdXNlIGttYWxsb2MoKS4KKyAqCisgKiBUaGF0IGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBsYXRlX2luaXRjYWxsLgorICoKKyAqIEBzdGFydDogU3RhcnQgb2YgdGhlIG1lbW9yeSByYW5nZS4KKyAqIEBlbmQ6ICAgRW5kIG9mIHRoZSBtZW1vcnkgcmFuZ2UgKGluY2x1c2l2ZSkuCisgKiBAdHlwZTogIFR5cGUgb2YgdGhlIG1lbW9yeSByYW5nZS4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgLUVOT01FTSBpZiBubyBtZW1vcnkgY291bGQgYmUgYWxsb2NhdGVkLgorICovCitpbnQgZmlybXdhcmVfbWFwX2FkZF9lYXJseShyZXNvdXJjZV9zaXplX3Qgc3RhcnQsIHJlc291cmNlX3NpemVfdCBlbmQsCisJCQkgICBjb25zdCBjaGFyICp0eXBlKTsKKworI2Vsc2UgLyogQ09ORklHX0ZJUk1XQVJFX01FTU1BUCAqLworCitzdGF0aWMgaW5saW5lIGludCBmaXJtd2FyZV9tYXBfYWRkKHJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90IGVuZCwKKwkJCQkgICBjb25zdCBjaGFyICp0eXBlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludCBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KHJlc291cmNlX3NpemVfdCBzdGFydCwKKwkJCQkJIHJlc291cmNlX3NpemVfdCBlbmQsIGNvbnN0IGNoYXIgKnR5cGUpCit7CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfRklSTVdBUkVfTUVNTUFQICovCisKKyNlbmRpZiAvKiBfTElOVVhfRklSTVdBUkVfTUFQX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZmlybXdhcmUuaCBiL2luY2x1ZGUvbGludXgvZmlybXdhcmUuaAppbmRleCA2YzdlZmYyLi5jOGVjZjViIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLmgKKysrIGIvaW5jbHVkZS9saW51eC9maXJtd2FyZS5oCkBAIC0xLDE4ICsxLDM5IEBACiAjaWZuZGVmIF9MSU5VWF9GSVJNV0FSRV9ICiAjZGVmaW5lIF9MSU5VWF9GSVJNV0FSRV9ICisKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CisKICNkZWZpbmUgRklSTVdBUkVfTkFNRV9NQVggMzAgCiAjZGVmaW5lIEZXX0FDVElPTl9OT0hPVFBMVUcgMAogI2RlZmluZSBGV19BQ1RJT05fSE9UUExVRyAxCiAKIHN0cnVjdCBmaXJtd2FyZSB7CiAJc2l6ZV90IHNpemU7Ci0JdTggKmRhdGE7CisJY29uc3QgdTggKmRhdGE7CiB9OwogCiBzdHJ1Y3QgZGV2aWNlOwogCitzdHJ1Y3QgYnVpbHRpbl9mdyB7CisJY2hhciAqbmFtZTsKKwl2b2lkICpkYXRhOworCXVuc2lnbmVkIGxvbmcgc2l6ZTsKK307CisKKy8qIFdlIGhhdmUgdG8gcGxheSB0cmlja3MgaGVyZSBtdWNoIGxpa2Ugc3RyaW5naWZ5KCkgdG8gZ2V0IHRoZQorICAgX19DT1VOVEVSX18gbWFjcm8gdG8gYmUgZXhwYW5kZWQgYXMgd2Ugd2FudCBpdCAqLworI2RlZmluZSBfX2Z3X2NvbmNhdDEoeCwgeSkgeCMjeQorI2RlZmluZSBfX2Z3X2NvbmNhdCh4LCB5KSBfX2Z3X2NvbmNhdDEoeCwgeSkKKworI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fRklSTVdBUkUobmFtZSwgYmxvYikJCQkJICAgICBcCisJREVDTEFSRV9CVUlMVElOX0ZJUk1XQVJFX1NJWkUobmFtZSwgJihibG9iKSwgc2l6ZW9mKGJsb2IpKQorCisjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9GSVJNV0FSRV9TSVpFKG5hbWUsIGJsb2IsIHNpemUpCQkJICAgICBcCisJc3RhdGljIGNvbnN0IHN0cnVjdCBidWlsdGluX2Z3IF9fZndfY29uY2F0KF9fYnVpbHRpbl9mdyxfX0NPVU5URVJfXykgXAorCV9fdXNlZCBfX3NlY3Rpb24oLmJ1aWx0aW5fZncpID0geyBuYW1lLCBibG9iLCBzaXplIH0KKwogI2lmIGRlZmluZWQoQ09ORklHX0ZXX0xPQURFUikgfHwgKGRlZmluZWQoQ09ORklHX0ZXX0xPQURFUl9NT0RVTEUpICYmIGRlZmluZWQoTU9EVUxFKSkKIGludCByZXF1ZXN0X2Zpcm13YXJlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqKmZ3LCBjb25zdCBjaGFyICpuYW1lLAogCQkgICAgIHN0cnVjdCBkZXZpY2UgKmRldmljZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2ZzLmggYi9pbmNsdWRlL2xpbnV4L2ZzLmgKaW5kZXggZDhlMjc2Mi4uNTJlNTEwYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9mcy5oCisrKyBiL2luY2x1ZGUvbGludXgvZnMuaApAQCAtMTc0MCw2ICsxNzQwLDggQEAKIAkJCQlwZ29mZl90IHN0YXJ0LCBwZ29mZl90IGVuZCk7CiBleHRlcm4gaW50IF9fZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAogCQkJCWxvZmZfdCBzdGFydCwgbG9mZl90IGVuZCwgaW50IHN5bmNfbW9kZSk7CitleHRlcm4gaW50IGZpbGVtYXBfZmRhdGF3cml0ZV9yYW5nZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJCQlsb2ZmX3Qgc3RhcnQsIGxvZmZfdCBlbmQpOwogCiBleHRlcm4gbG9uZyBkb19mc3luYyhzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IGRhdGFzeW5jKTsKIGV4dGVybiB2b2lkIHN5bmNfc3VwZXJzKHZvaWQpOwpAQCAtMTg3MCw3ICsxODcyLDggQEAKIGZpbGVfcmFfc3RhdGVfaW5pdChzdHJ1Y3QgZmlsZV9yYV9zdGF0ZSAqcmEsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nKTsKIGV4dGVybiBsb2ZmX3Qgbm9fbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKTsKIGV4dGVybiBsb2ZmX3QgZ2VuZXJpY19maWxlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbik7Ci1leHRlcm4gbG9mZl90IHJlbW90ZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pOworZXh0ZXJuIGxvZmZfdCBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LAorCQkJaW50IG9yaWdpbik7CiBleHRlcm4gaW50IGdlbmVyaWNfZmlsZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApOwogZXh0ZXJuIGludCBub25zZWVrYWJsZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Z0cmFjZS5oIGIvaW5jbHVkZS9saW51eC9mdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzY4ZDA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9mdHJhY2UuaApAQCAtMCwwICsxLDE0NCBAQAorI2lmbmRlZiBfTElOVVhfRlRSQUNFX0gKKyNkZWZpbmUgX0xJTlVYX0ZUUkFDRV9ICisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisKKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKworZXh0ZXJuIGludCBmdHJhY2VfZW5hYmxlZDsKK2V4dGVybiBpbnQKK2Z0cmFjZV9lbmFibGVfc3lzY3RsKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsCisJCSAgICAgc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwKKwkJICAgICBsb2ZmX3QgKnBwb3MpOworCit0eXBlZGVmIHZvaWQgKCpmdHJhY2VfZnVuY190KSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCk7CisKK3N0cnVjdCBmdHJhY2Vfb3BzIHsKKwlmdHJhY2VfZnVuY190CSAgZnVuYzsKKwlzdHJ1Y3QgZnRyYWNlX29wcyAqbmV4dDsKK307CisKKy8qCisgKiBUaGUgZnRyYWNlX29wcyBtdXN0IGJlIGEgc3RhdGljIGFuZCBzaG91bGQgYWxzbworICogYmUgcmVhZF9tb3N0bHkuICBUaGVzZSBmdW5jdGlvbnMgZG8gbW9kaWZ5IHJlYWRfbW9zdGx5IHZhcmlhYmxlcworICogc28gdXNlIHRoZW0gc3BhcmVseS4gTmV2ZXIgZnJlZSBhbiBmdHJhY2Vfb3Agb3IgbW9kaWZ5IHRoZQorICogbmV4dCBwb2ludGVyIGFmdGVyIGl0IGhhcyBiZWVuIHJlZ2lzdGVyZWQuIEV2ZW4gYWZ0ZXIgdW5yZWdpc3RlcmluZworICogaXQsIHRoZSBuZXh0IHBvaW50ZXIgbWF5IHN0aWxsIGJlIHVzZWQgaW50ZXJuYWxseS4KKyAqLworaW50IHJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKTsKK2ludCB1bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKTsKK3ZvaWQgY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKHZvaWQpOworCitleHRlcm4gdm9pZCBmdHJhY2Vfc3R1Yih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKTsKKworI2Vsc2UgLyogIUNPTkZJR19GVFJBQ0UgKi8KKyMgZGVmaW5lIHJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihvcHMpIGRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKG9wcykgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKG9wcykgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorIyBkZWZpbmUgRlRSQUNFX0hBU0hCSVRTCTEwCisjIGRlZmluZSBGVFJBQ0VfSEFTSFNJWkUJKDE8PEZUUkFDRV9IQVNIQklUUykKKworZW51bSB7CisJRlRSQUNFX0ZMX0ZSRUUJCT0gKDEgPDwgMCksCisJRlRSQUNFX0ZMX0ZBSUxFRAk9ICgxIDw8IDEpLAorCUZUUkFDRV9GTF9GSUxURVIJPSAoMSA8PCAyKSwKKwlGVFJBQ0VfRkxfRU5BQkxFRAk9ICgxIDw8IDMpLAorCUZUUkFDRV9GTF9OT1RSQUNFCT0gKDEgPDwgNCksCisJRlRSQUNFX0ZMX0NPTlZFUlRFRAk9ICgxIDw8IDUpLAorCUZUUkFDRV9GTF9GUk9aRU4JPSAoMSA8PCA2KSwKK307CisKK3N0cnVjdCBkeW5fZnRyYWNlIHsKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSBub2RlOworCXVuc2lnbmVkIGxvbmcJICBpcDsgLyogYWRkcmVzcyBvZiBtY291bnQgY2FsbC1zaXRlICovCisJdW5zaWduZWQgbG9uZwkgIGZsYWdzOworfTsKKworaW50IGZ0cmFjZV9mb3JjZV91cGRhdGUodm9pZCk7Cit2b2lkIGZ0cmFjZV9zZXRfZmlsdGVyKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbiwgaW50IHJlc2V0KTsKKworLyogZGVmaW5lZCBpbiBhcmNoICovCitleHRlcm4gaW50IGZ0cmFjZV9pcF9jb252ZXJ0ZWQodW5zaWduZWQgbG9uZyBpcCk7CitleHRlcm4gdW5zaWduZWQgY2hhciAqZnRyYWNlX25vcF9yZXBsYWNlKHZvaWQpOworZXh0ZXJuIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9jYWxsX3JlcGxhY2UodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBhZGRyKTsKK2V4dGVybiBpbnQgZnRyYWNlX2R5bl9hcmNoX2luaXQodm9pZCAqZGF0YSk7CitleHRlcm4gaW50IGZ0cmFjZV9tY291bnRfc2V0KHVuc2lnbmVkIGxvbmcgKmRhdGEpOworZXh0ZXJuIGludCBmdHJhY2VfbW9kaWZ5X2NvZGUodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgY2hhciAqb2xkX2NvZGUsCisJCQkgICAgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSk7CitleHRlcm4gaW50IGZ0cmFjZV91cGRhdGVfZnRyYWNlX2Z1bmMoZnRyYWNlX2Z1bmNfdCBmdW5jKTsKK2V4dGVybiB2b2lkIGZ0cmFjZV9jYWxsZXIodm9pZCk7CitleHRlcm4gdm9pZCBmdHJhY2VfY2FsbCh2b2lkKTsKK2V4dGVybiB2b2lkIG1jb3VudF9jYWxsKHZvaWQpOworCitleHRlcm4gaW50IHNraXBfdHJhY2UodW5zaWduZWQgbG9uZyBpcCk7CisKK3ZvaWQgZnRyYWNlX2Rpc2FibGVfZGFlbW9uKHZvaWQpOwordm9pZCBmdHJhY2VfZW5hYmxlX2RhZW1vbih2b2lkKTsKKworI2Vsc2UKKyMgZGVmaW5lIHNraXBfdHJhY2UoaXApCQkJCSh7IDA7IH0pCisjIGRlZmluZSBmdHJhY2VfZm9yY2VfdXBkYXRlKCkJCQkoeyAwOyB9KQorIyBkZWZpbmUgZnRyYWNlX3NldF9maWx0ZXIoYnVmLCBsZW4sIHJlc2V0KQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBmdHJhY2VfZGlzYWJsZV9kYWVtb24oKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX2VuYWJsZV9kYWVtb24oKQkJCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKworLyogdG90YWxseSBkaXNhYmxlIGZ0cmFjZSAtIGNhbiBub3QgcmUtZW5hYmxlIGFmdGVyIHRoaXMgKi8KK3ZvaWQgZnRyYWNlX2tpbGwodm9pZCk7Cit2b2lkIGZ0cmFjZV9raWxsX2F0b21pYyh2b2lkKTsKKworc3RhdGljIGlubGluZSB2b2lkIHRyYWNlcl9kaXNhYmxlKHZvaWQpCit7CisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCWZ0cmFjZV9lbmFibGVkID0gMDsKKyNlbmRpZgorfQorCisjaWZkZWYgQ09ORklHX0ZSQU1FX1BPSU5URVIKKy8qIFRPRE86IG5lZWQgdG8gZml4IHRoaXMgZm9yIEFSTSAqLworIyBkZWZpbmUgQ0FMTEVSX0FERFIwICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpCisjIGRlZmluZSBDQUxMRVJfQUREUjEgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygxKSkKKyMgZGVmaW5lIENBTExFUl9BRERSMiAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDIpKQorIyBkZWZpbmUgQ0FMTEVSX0FERFIzICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMykpCisjIGRlZmluZSBDQUxMRVJfQUREUjQgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcyg0KSkKKyMgZGVmaW5lIENBTExFUl9BRERSNSAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDUpKQorIyBkZWZpbmUgQ0FMTEVSX0FERFI2ICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoNikpCisjZWxzZQorIyBkZWZpbmUgQ0FMTEVSX0FERFIwICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpCisjIGRlZmluZSBDQUxMRVJfQUREUjEgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjIgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjMgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjQgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjUgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjYgMFVMCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgorICBleHRlcm4gdm9pZCB0aW1lX2hhcmRpcnFzX29uKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpOworICBleHRlcm4gdm9pZCB0aW1lX2hhcmRpcnFzX29mZih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKTsKKyNlbHNlCisjIGRlZmluZSB0aW1lX2hhcmRpcnFzX29uKGEwLCBhMSkJCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHRpbWVfaGFyZGlycXNfb2ZmKGEwLCBhMSkJCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCisgIGV4dGVybiB2b2lkIHRyYWNlX3ByZWVtcHRfb24odW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSk7CisgIGV4dGVybiB2b2lkIHRyYWNlX3ByZWVtcHRfb2ZmKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpOworI2Vsc2UKKyMgZGVmaW5lIHRyYWNlX3ByZWVtcHRfb24oYTAsIGExKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgdHJhY2VfcHJlZW1wdF9vZmYoYTAsIGExKQkJZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfVFJBQ0lORworZXh0ZXJuIHZvaWQKK2Z0cmFjZV9zcGVjaWFsKHVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZAorZnRyYWNlX3NwZWNpYWwodW5zaWduZWQgbG9uZyBhcmcxLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMykgeyB9CisjZW5kaWYKKworI2VuZGlmIC8qIF9MSU5VWF9GVFJBQ0VfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9nZW5oZC5oIGIvaW5jbHVkZS9saW51eC9nZW5oZC5oCmluZGV4IGFlN2FlYzMuLmU4Nzg3NDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZ2VuaGQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2dlbmhkLmgKQEAgLTExMCw2ICsxMTAsMTQgQEAKICNkZWZpbmUgR0VOSERfRkxfU1VQUFJFU1NfUEFSVElUSU9OX0lORk8JMzIKICNkZWZpbmUgR0VOSERfRkxfRkFJTAkJCQk2NAogCisjZGVmaW5lIEJMS19TQ1NJX01BWF9DTURTCSgyNTYpCisjZGVmaW5lIEJMS19TQ1NJX0NNRF9QRVJfTE9ORwkoQkxLX1NDU0lfTUFYX0NNRFMgLyAoc2l6ZW9mKGxvbmcpICogOCkpCisKK3N0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyIHsKKwl1bnNpZ25lZCBsb25nIHJlYWRfb2tbQkxLX1NDU0lfQ01EX1BFUl9MT05HXTsKKwl1bnNpZ25lZCBsb25nIHdyaXRlX29rW0JMS19TQ1NJX0NNRF9QRVJfTE9OR107CisJc3RydWN0IGtvYmplY3Qga29iajsKK307CiAKIHN0cnVjdCBnZW5kaXNrIHsKIAlpbnQgbWFqb3I7CQkJLyogbWFqb3IgbnVtYmVyIG9mIGRyaXZlciAqLwpAQCAtMTIwLDYgKzEyOCw3IEBACiAJc3RydWN0IGhkX3N0cnVjdCAqKnBhcnQ7CS8qIFtpbmRleGVkIGJ5IG1pbm9yXSAqLwogCXN0cnVjdCBibG9ja19kZXZpY2Vfb3BlcmF0aW9ucyAqZm9wczsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcXVldWU7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgY21kX2ZpbHRlcjsKIAl2b2lkICpwcml2YXRlX2RhdGE7CiAJc2VjdG9yX3QgY2FwYWNpdHk7CiAKQEAgLTE0MSw2ICsxNTAsOSBAQAogCXN0cnVjdCBkaXNrX3N0YXRzIGRrc3RhdHM7CiAjZW5kaWYKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgYXN5bmNfbm90aWZ5OworI2lmZGVmICBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqaW50ZWdyaXR5OworI2VuZGlmCiB9OwogCiAvKiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaTJjLWFsZ28tcGNmLmggYi9pbmNsdWRlL2xpbnV4L2kyYy1hbGdvLXBjZi5oCmluZGV4IDc3YWZiYjYuLjAxNzdkMjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaTJjLWFsZ28tcGNmLmgKKysrIGIvaW5jbHVkZS9saW51eC9pMmMtYWxnby1wY2YuaApAQCAtMzMsOSArMzMsMTEgQEAKIAlpbnQgICgqZ2V0Y2xvY2spICh2b2lkICpkYXRhKTsKIAl2b2lkICgqd2FpdGZvcnBpbikgKHZvaWQpOwogCi0JLyogbG9jYWwgc2V0dGluZ3MgKi8KLQlpbnQgdWRlbGF5OwotCWludCB0aW1lb3V0OworCS8qIE11bHRpLW1hc3RlciBsb3N0IGFyYml0cmF0aW9uIGJhY2stb2ZmIGRlbGF5IChtc2VjcykKKwkgKiBUaGlzIHNob3VsZCBiZSBzZXQgYnkgdGhlIGJ1cyBhZGFwdGVyIG9yIGtub3dsZWRnYWJsZSBjbGllbnQKKwkgKiBpZiBidXMgaXMgbXVsdGktbWFzdGVyZWQsIGVsc2UgemVybworCSAqLworCXVuc2lnbmVkIGxvbmcgbGFiX21kZWxheTsKIH07CiAKIGludCBpMmNfcGNmX2FkZF9idXMoc3RydWN0IGkyY19hZGFwdGVyICopOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pMmMtaWQuaCBiL2luY2x1ZGUvbGludXgvaTJjLWlkLmgKaW5kZXggNTgwYWNjOS4uZWYxM2I3YzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaTJjLWlkLmgKKysrIGIvaW5jbHVkZS9saW51eC9pMmMtaWQuaApAQCAtOTEsOCArOTEsNiBAQAogI2RlZmluZSBJMkNfRFJJVkVSSURfTTUyNzkwIAk5NSAgICAgIC8qIE1pdHN1YmlzaGkgTTUyNzkwU1AvRlAgQVYgc3dpdGNoICovCiAjZGVmaW5lIEkyQ19EUklWRVJJRF9DUzUzNDUJOTYJLyogY3M1MzQ1IGF1ZGlvIHByb2Nlc3NvcgkqLwogCi0jZGVmaW5lIEkyQ19EUklWRVJJRF9JMkNERVYJOTAwCi0KICNkZWZpbmUgSTJDX0RSSVZFUklEX09WNzY3MCAxMDQ4CS8qIE9tbml2aXNpb24gNzY3MCBjYW1lcmEgKi8KIAogLyoKQEAgLTExMSw3ICsxMDksNiBAQAogI2RlZmluZSBJMkNfSFdfQl9SSVZBCQkweDAxMDAxMCAvKiBSaXZhIGJhc2VkIGdyYXBoaWNzIGNhcmRzICovCiAjZGVmaW5lIEkyQ19IV19CX0lPQwkJMHgwMTAwMTEgLyogSU9DIGJpdC13aWdnbGluZyAqLwogI2RlZmluZSBJMkNfSFdfQl9JWFAyMDAwCTB4MDEwMDE2IC8qIEdQSU8gb24gSVhQMjAwMCBzeXN0ZW1zICovCi0jZGVmaW5lIEkyQ19IV19CX1MzVklBCQkweDAxMDAxOCAvKiBTM1ZpYSBQcm9TYXZhZ2UgYWRhcHRlciAqLwogI2RlZmluZSBJMkNfSFdfQl9aUjM2MDY3CTB4MDEwMDE5IC8qIFpvcmFuLTM2MDU3LzM2MDY3IGJhc2VkIGJvYXJkcyAqLwogI2RlZmluZSBJMkNfSFdfQl9QQ0lMWU5YCTB4MDEwMDFhIC8qIFRJIFBDSUx5bnggSTJDIGFkYXB0ZXIgKi8KICNkZWZpbmUgSTJDX0hXX0JfQ1gyMzg4eAkweDAxMDAxYiAvKiBjb25uZXhhbnQgMjM4OHggYmFzZWQgdHYgY2FyZHMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaTJjLmggYi9pbmNsdWRlL2xpbnV4L2kyYy5oCmluZGV4IDhkYzczMDEuLjA4YmUwZDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaTJjLmgKKysrIGIvaW5jbHVkZS9saW51eC9pMmMuaApAQCAtMzUsNiArMzUsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CS8qIGZvciBjb21wbGV0aW9uICovCiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KIAorZXh0ZXJuIHN0cnVjdCBidXNfdHlwZSBpMmNfYnVzX3R5cGU7CisKIC8qIC0tLSBHZW5lcmFsIG9wdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCSovCiAKIHN0cnVjdCBpMmNfbXNnOwpAQCAtNDMsNiArNDUsNyBAQAogc3RydWN0IGkyY19jbGllbnQ7CiBzdHJ1Y3QgaTJjX2RyaXZlcjsKIHVuaW9uIGkyY19zbWJ1c19kYXRhOworc3RydWN0IGkyY19ib2FyZF9pbmZvOwogCiAvKgogICogVGhlIG1hc3RlciByb3V0aW5lcyBhcmUgdGhlIG9uZXMgbm9ybWFsbHkgdXNlZCB0byB0cmFuc21pdCBkYXRhIHRvIGRldmljZXMKQEAgLTY5LDkgKzcyLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSk7CiAKIC8qIE5vdyBmb2xsb3cgdGhlICduaWNlJyBhY2Nlc3Mgcm91dGluZXMuIFRoZXNlIGFsc28gZG9jdW1lbnQgdGhlIGNhbGxpbmcKLSAgIGNvbnZlbnRpb25zIG9mIHNtYnVzX2FjY2Vzcy4gKi8KKyAgIGNvbnZlbnRpb25zIG9mIGkyY19zbWJ1c194ZmVyLiAqLwogCi1leHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9xdWljayhzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggdmFsdWUpOwogZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50KTsKIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IHZhbHVlKTsKIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCBjb21tYW5kKTsKQEAgLTkzLDE1ICs5NSwzMyBAQAogCQkJCQkgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwKIAkJCQkJICBjb25zdCB1OCAqdmFsdWVzKTsKIAotLyoKLSAqIEEgZHJpdmVyIGlzIGNhcGFibGUgb2YgaGFuZGxpbmcgb25lIG9yIG1vcmUgcGh5c2ljYWwgZGV2aWNlcyBwcmVzZW50IG9uCi0gKiBJMkMgYWRhcHRlcnMuIFRoaXMgaW5mb3JtYXRpb24gaXMgdXNlZCB0byBpbmZvcm0gdGhlIGRyaXZlciBvZiBhZGFwdGVyCi0gKiBldmVudHMuCisvKioKKyAqIHN0cnVjdCBpMmNfZHJpdmVyIC0gcmVwcmVzZW50IGFuIEkyQyBkZXZpY2UgZHJpdmVyCisgKiBAY2xhc3M6IFdoYXQga2luZCBvZiBpMmMgZGV2aWNlIHdlIGluc3RhbnRpYXRlIChmb3IgZGV0ZWN0KQorICogQGRldGVjdDogQ2FsbGJhY2sgZm9yIGRldmljZSBkZXRlY3Rpb24KKyAqIEBhZGRyZXNzX2RhdGE6IFRoZSBJMkMgYWRkcmVzc2VzIHRvIHByb2JlLCBpZ25vcmUgb3IgZm9yY2UgKGZvciBkZXRlY3QpCisgKiBAY2xpZW50czogTGlzdCBvZiBkZXRlY3RlZCBjbGllbnRzIHdlIGNyZWF0ZWQgKGZvciBpMmMtY29yZSB1c2Ugb25seSkKICAqCiAgKiBUaGUgZHJpdmVyLm93bmVyIGZpZWxkIHNob3VsZCBiZSBzZXQgdG8gdGhlIG1vZHVsZSBvd25lciBvZiB0aGlzIGRyaXZlci4KICAqIFRoZSBkcml2ZXIubmFtZSBmaWVsZCBzaG91bGQgYmUgc2V0IHRvIHRoZSBuYW1lIG9mIHRoaXMgZHJpdmVyLgorICoKKyAqIEZvciBhdXRvbWF0aWMgZGV2aWNlIGRldGVjdGlvbiwgYm90aCBAZGV0ZWN0IGFuZCBAYWRkcmVzc19kYXRhIG11c3QKKyAqIGJlIGRlZmluZWQuIEBjbGFzcyBzaG91bGQgYWxzbyBiZSBzZXQsIG90aGVyd2lzZSBvbmx5IGRldmljZXMgZm9yY2VkCisgKiB3aXRoIG1vZHVsZSBwYXJhbWV0ZXJzIHdpbGwgYmUgY3JlYXRlZC4gVGhlIGRldGVjdCBmdW5jdGlvbiBtdXN0CisgKiBmaWxsIGF0IGxlYXN0IHRoZSBuYW1lIGZpZWxkIG9mIHRoZSBpMmNfYm9hcmRfaW5mbyBzdHJ1Y3R1cmUgaXQgaXMKKyAqIGhhbmRlZCB1cG9uIHN1Y2Nlc3NmdWwgZGV0ZWN0aW9uLCBhbmQgcG9zc2libHkgYWxzbyB0aGUgZmxhZ3MgZmllbGQuCisgKgorICogSWYgQGRldGVjdCBpcyBtaXNzaW5nLCB0aGUgZHJpdmVyIHdpbGwgc3RpbGwgd29yayBmaW5lIGZvciBlbnVtZXJhdGVkCisgKiBkZXZpY2VzLiBEZXRlY3RlZCBkZXZpY2VzIHNpbXBseSB3b24ndCBiZSBzdXBwb3J0ZWQuIFRoaXMgaXMgZXhwZWN0ZWQKKyAqIGZvciB0aGUgbWFueSBJMkMvU01CdXMgZGV2aWNlcyB3aGljaCBjYW4ndCBiZSBkZXRlY3RlZCByZWxpYWJseSwgYW5kCisgKiB0aGUgb25lcyB3aGljaCBjYW4gYWx3YXlzIGJlIGVudW1lcmF0ZWQgaW4gcHJhY3RpY2UuCisgKgorICogVGhlIGkyY19jbGllbnQgc3RydWN0dXJlIHdoaWNoIGlzIGhhbmRlZCB0byB0aGUgQGRldGVjdCBjYWxsYmFjayBpcworICogbm90IGEgcmVhbCBpMmNfY2xpZW50LiBJdCBpcyBpbml0aWFsaXplZCBqdXN0IGVub3VnaCBzbyB0aGF0IHlvdSBjYW4KKyAqIGNhbGwgaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhIGFuZCBmcmllbmRzIG9uIGl0LiBEb24ndCBkbyBhbnl0aGluZworICogZWxzZSB3aXRoIGl0LiBJbiBwYXJ0aWN1bGFyLCBjYWxsaW5nIGRldl9kYmcgYW5kIGZyaWVuZHMgb24gaXQgaXMKKyAqIG5vdCBhbGxvd2VkLgogICovCi0KIHN0cnVjdCBpMmNfZHJpdmVyIHsKIAlpbnQgaWQ7CiAJdW5zaWduZWQgaW50IGNsYXNzOwpAQCAtMTQxLDYgKzE2MSwxMSBAQAogCiAJc3RydWN0IGRldmljZV9kcml2ZXIgZHJpdmVyOwogCWNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZF90YWJsZTsKKworCS8qIERldmljZSBkZXRlY3Rpb24gY2FsbGJhY2sgZm9yIGF1dG9tYXRpYyBkZXZpY2UgY3JlYXRpb24gKi8KKwlpbnQgKCpkZXRlY3QpKHN0cnVjdCBpMmNfY2xpZW50ICosIGludCBraW5kLCBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gKik7CisJY29uc3Qgc3RydWN0IGkyY19jbGllbnRfYWRkcmVzc19kYXRhICphZGRyZXNzX2RhdGE7CisJc3RydWN0IGxpc3RfaGVhZCBjbGllbnRzOwogfTsKICNkZWZpbmUgdG9faTJjX2RyaXZlcihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IGkyY19kcml2ZXIsIGRyaXZlcikKIApAQCAtMTU2LDYgKzE4MSw3IEBACiAgKiBAZGV2OiBEcml2ZXIgbW9kZWwgZGV2aWNlIG5vZGUgZm9yIHRoZSBzbGF2ZS4KICAqIEBpcnE6IGluZGljYXRlcyB0aGUgSVJRIGdlbmVyYXRlZCBieSB0aGlzIGRldmljZSAoaWYgYW55KQogICogQGxpc3Q6IGxpc3Qgb2YgYWN0aXZlL2J1c3kgY2xpZW50cyAoREVQUkVDQVRFRCkKKyAqIEBkZXRlY3RlZDogbWVtYmVyIG9mIGFuIGkyY19kcml2ZXIuY2xpZW50cyBsaXN0CiAgKiBAcmVsZWFzZWQ6IHVzZWQgdG8gc3luY2hyb25pemUgY2xpZW50IHJlbGVhc2VzICYgZGV0YWNoZXMgYW5kIHJlZmVyZW5jZXMKICAqCiAgKiBBbiBpMmNfY2xpZW50IGlkZW50aWZpZXMgYSBzaW5nbGUgZGV2aWNlIChpLmUuIGNoaXApIGNvbm5lY3RlZCB0byBhbgpAQCAtMTczLDYgKzE5OSw3IEBACiAJc3RydWN0IGRldmljZSBkZXY7CQkvKiB0aGUgZGV2aWNlIHN0cnVjdHVyZQkJKi8KIAlpbnQgaXJxOwkJCS8qIGlycSBpc3N1ZWQgYnkgZGV2aWNlCQkqLwogCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsJCS8qIERFUFJFQ0FURUQgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIGRldGVjdGVkOwogCXN0cnVjdCBjb21wbGV0aW9uIHJlbGVhc2VkOwogfTsKICNkZWZpbmUgdG9faTJjX2NsaWVudChkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IGkyY19jbGllbnQsIGRldikKQEAgLTM1MCwxMCArMzc3LDExIEBACiAjZGVmaW5lIEkyQ19DTEFTU19IV01PTgkJKDE8PDApCS8qIGxtX3NlbnNvcnMsIC4uLiAqLwogI2RlZmluZSBJMkNfQ0xBU1NfVFZfQU5BTE9HCSgxPDwxKQkvKiBidHR2ICsgZnJpZW5kcyAqLwogI2RlZmluZSBJMkNfQ0xBU1NfVFZfRElHSVRBTAkoMTw8MikJLyogZHZiIGNhcmRzICovCi0jZGVmaW5lIEkyQ19DTEFTU19EREMJCSgxPDwzKQkvKiBpMmMtbWF0cm94ZmIgPyAqLworI2RlZmluZSBJMkNfQ0xBU1NfRERDCQkoMTw8MykJLyogRERDIGJ1cyBvbiBncmFwaGljcyBhZGFwdGVycyAqLwogI2RlZmluZSBJMkNfQ0xBU1NfQ0FNX0FOQUxPRwkoMTw8NCkJLyogY2FtZXJhIHdpdGggYW5hbG9nIENDRCAqLwogI2RlZmluZSBJMkNfQ0xBU1NfQ0FNX0RJR0lUQUwJKDE8PDUpCS8qIG1vc3Qgd2ViY2FtcyAqLwogI2RlZmluZSBJMkNfQ0xBU1NfU09VTkQJCSgxPDw2KQkvKiBzb3VuZCBkZXZpY2VzICovCisjZGVmaW5lIEkyQ19DTEFTU19TUEQJCSgxPDw3KQkvKiBTUEQgRUVQUk9NcyBhbmQgc2ltaWxhciAqLwogI2RlZmluZSBJMkNfQ0xBU1NfQUxMCQkoVUlOVF9NQVgpIC8qIGFsbCBvZiB0aGUgYWJvdmUgKi8KIAogLyogaTJjX2NsaWVudF9hZGRyZXNzX2RhdGEgaXMgdGhlIHN0cnVjdCBmb3IgaG9sZGluZyBkZWZhdWx0IGNsaWVudApAQCAtNTM3LDcgKzU2NSw3IEBACiAJICAgICAgICAgICAgICAgICAgICAgICAvKiBhbmQgb25lIG1vcmUgZm9yIHVzZXItc3BhY2UgY29tcGF0aWJpbGl0eSAqLwogfTsKIAotLyogc21idXNfYWNjZXNzIHJlYWQgb3Igd3JpdGUgbWFya2VycyAqLworLyogaTJjX3NtYnVzX3hmZXIgcmVhZCBvciB3cml0ZSBtYXJrZXJzICovCiAjZGVmaW5lIEkyQ19TTUJVU19SRUFECTEKICNkZWZpbmUgSTJDX1NNQlVTX1dSSVRFCTAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pMmMvYXQyNC5oIGIvaW5jbHVkZS9saW51eC9pMmMvYXQyNC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZWRkNTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L2kyYy9hdDI0LmgKQEAgLTAsMCArMSwyOCBAQAorI2lmbmRlZiBfTElOVVhfQVQyNF9ICisjZGVmaW5lIF9MSU5VWF9BVDI0X0gKKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKKy8qCisgKiBBcyBzZWVuIHRocm91Z2ggTGludXggSTJDLCBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBtb3N0IGNvbW1vbiB0eXBlcyBvZiBJMkMKKyAqIG1lbW9yeSBpbmNsdWRlOgorICogLSBIb3cgbXVjaCBtZW1vcnkgaXMgYXZhaWxhYmxlICh1c3VhbGx5IHNwZWNpZmllZCBpbiBiaXQpPworICogLSBXaGF0IHdyaXRlIHBhZ2Ugc2l6ZSBkb2VzIGl0IHN1cHBvcnQ/CisgKiAtIFNwZWNpYWwgZmxhZ3MgKDE2IGJpdCBhZGRyZXNzZXMsIHJlYWRfb25seSwgd29ybGQgcmVhZGFibGUuLi4pPworICoKKyAqIElmIHlvdSBzZXQgdXAgYSBjdXN0b20gZWVwcm9tIHR5cGUsIHBsZWFzZSBkb3VibGUtY2hlY2sgdGhlIHBhcmFtZXRlcnMuCisgKiBFc3BlY2lhbGx5IHBhZ2Vfc2l6ZSBuZWVkcyBleHRyYSBjYXJlLCBhcyB5b3UgcmlzayBkYXRhIGxvc3MgaWYgeW91ciB2YWx1ZQorICogaXMgYmlnZ2VyIHRoYW4gd2hhdCB0aGUgY2hpcCBhY3R1YWxseSBzdXBwb3J0cyEKKyAqLworCitzdHJ1Y3QgYXQyNF9wbGF0Zm9ybV9kYXRhIHsKKwl1MzIJCWJ5dGVfbGVuOwkJLyogc2l6ZSAoc3VtIG9mIGFsbCBhZGRyKSAqLworCXUxNgkJcGFnZV9zaXplOwkJLyogZm9yIHdyaXRlcyAqLworCXU4CQlmbGFnczsKKyNkZWZpbmUgQVQyNF9GTEFHX0FERFIxNgkweDgwCS8qIGFkZHJlc3MgcG9pbnRlciBpcyAxNiBiaXQgKi8KKyNkZWZpbmUgQVQyNF9GTEFHX1JFQURPTkxZCTB4NDAJLyogc3lzZnMtZW50cnkgd2lsbCBiZSByZWFkLW9ubHkgKi8KKyNkZWZpbmUgQVQyNF9GTEFHX0lSVUdPCQkweDIwCS8qIHN5c2ZzLWVudHJ5IHdpbGwgYmUgd29ybGQtcmVhZGFibGUgKi8KKyNkZWZpbmUgQVQyNF9GTEFHX1RBS0U4QUREUgkweDEwCS8qIHRha2UgYWx3YXlzIDggYWRkcmVzc2VzICgyNGMwMCkgKi8KK307CisKKyNlbmRpZiAvKiBfTElOVVhfQVQyNF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2lkZS5oIGIvaW5jbHVkZS9saW51eC9pZGUuaAppbmRleCBlZGRiNmRhLi5hYzRlZWIyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2lkZS5oCisrKyBiL2luY2x1ZGUvbGludXgvaWRlLmgKQEAgLTM2NCw3ICszNjQsNiBAQAogICAgICAgICB1OAl3Y2FjaGU7CQkvKiBzdGF0dXMgb2Ygd3JpdGUgY2FjaGUgKi8KIAl1OAlhY291c3RpYzsJLyogYWNvdXN0aWMgbWFuYWdlbWVudCAqLwogCXU4CW1lZGlhOwkJLyogZGlzaywgY2Ryb20sIHRhcGUsIGZsb3BweSwgLi4uICovCi0JdTgJY3RsOwkJLyogIm5vcm1hbCIgdmFsdWUgZm9yIENvbnRyb2wgcmVnaXN0ZXIgKi8KIAl1OAlyZWFkeV9zdGF0OwkvKiBtaW4gc3RhdHVzIHZhbHVlIGZvciBkcml2ZSByZWFkeSAqLwogCXU4CW11bHRfY291bnQ7CS8qIGN1cnJlbnQgbXVsdGlwbGUgc2VjdG9yIHNldHRpbmcgKi8KIAl1OAltdWx0X3JlcTsJLyogcmVxdWVzdGVkIG11bHRpcGxlIHNlY3RvciBzZXR0aW5nICovCkBAIC00OTMsNyArNDkyLDcgQEAKIAl2b2lkICgqaWRlX2RtYV9jbGVhcl9pcnEpKGlkZV9kcml2ZV90ICpkcml2ZSk7CiAKIAl2b2lkICgqT1VUQikodTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KTsKLQl2b2lkICgqT1VUQlNZTkMpKGlkZV9kcml2ZV90ICpkcml2ZSwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KTsKKwl2b2lkICgqT1VUQlNZTkMpKHN0cnVjdCBod2lmX3MgKmh3aWYsIHU4IGFkZHIsIHVuc2lnbmVkIGxvbmcgcG9ydCk7CiAKIAl1OCAgKCpJTkIpKHVuc2lnbmVkIGxvbmcgcG9ydCk7CiAKQEAgLTUzMiw3ICs1MzEsNiBAQAogCXVuc2lnbmVkCXNlcmlhbGl6ZWQgOiAxOwkvKiBzZXJpYWxpemVkIGFsbCBjaGFubmVsIG9wZXJhdGlvbiAqLwogCXVuc2lnbmVkCXNoYXJpbmdfaXJxOiAxOwkvKiAxID0gc2hhcmluZyBpcnEgd2l0aCBhbm90aGVyIGh3aWYgKi8KIAl1bnNpZ25lZAlzZ19tYXBwZWQgIDogMTsJLyogc2dfdGFibGUgYW5kIHNnX25lbnRzIGFyZSByZWFkeSAqLwotCXVuc2lnbmVkCW1taW8gICAgICAgOiAxOyAvKiBob3N0IHVzZXMgTU1JTyAqLwogCiAJc3RydWN0IGRldmljZQkJZ2VuZGV2OwogCXN0cnVjdCBkZXZpY2UJCSpwb3J0ZGV2OwpAQCAtNjA0LDEyICs2MDIsMTMgQEAKIAlQQ19GTEFHX1NVUFBSRVNTX0VSUk9SCQk9ICgxIDw8IDEpLAogCVBDX0ZMQUdfV0FJVF9GT1JfRFNDCQk9ICgxIDw8IDIpLAogCVBDX0ZMQUdfRE1BX09LCQkJPSAoMSA8PCAzKSwKLQlQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRAkJPSAoMSA8PCA0KSwKLQlQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUwkJPSAoMSA8PCA1KSwKLQlQQ19GTEFHX0RNQV9FUlJPUgkJPSAoMSA8PCA2KSwKLQlQQ19GTEFHX1dSSVRJTkcJCQk9ICgxIDw8IDcpLAorCVBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTCQk9ICgxIDw8IDQpLAorCVBDX0ZMQUdfRE1BX0VSUk9SCQk9ICgxIDw8IDUpLAorCVBDX0ZMQUdfV1JJVElORwkJCT0gKDEgPDwgNiksCiAJLyogY29tbWFuZCB0aW1lZCBvdXQgKi8KLQlQQ19GTEFHX1RJTUVET1VUCQk9ICgxIDw8IDgpLAorCVBDX0ZMQUdfVElNRURPVVQJCT0gKDEgPDwgNyksCisJUENfRkxBR19aSVBfRFJJVkUJCT0gKDEgPDwgOCksCisJUENfRkxBR19EUlFfSU5URVJSVVBUCQk9ICgxIDw8IDkpLAogfTsKIAogc3RydWN0IGlkZV9hdGFwaV9wYyB7CkBAIC02NDIsOCArNjQxLDggQEAKIAkgKiB0byBjaGFuZ2UvcmVtb3ZhbCBsYXRlci4KIAkgKi8KIAl1OCBwY19idWZbMjU2XTsKLQl2b2lkICgqaWRlZmxvcHB5X2NhbGxiYWNrKSAoaWRlX2RyaXZlX3QgKik7Ci0JaWRlX3N0YXJ0c3RvcF90ICgqaWRldGFwZV9jYWxsYmFjaykgKGlkZV9kcml2ZV90ICopOworCisJdm9pZCAoKmNhbGxiYWNrKShpZGVfZHJpdmVfdCAqKTsKIAogCS8qIGlkZXRhcGUgb25seSAqLwogCXN0cnVjdCBpZGV0YXBlX2JoICpiaDsKQEAgLTgxMywxMCArODEyLDYgQEAKICNpZm5kZWYgX0lERV9DCiBleHRlcm4JaWRlX2h3aWZfdAlpZGVfaHdpZnNbXTsJCS8qIG1hc3RlciBkYXRhIHJlcG9zaXRvcnkgKi8KICNlbmRpZgotZXh0ZXJuIGludCBpZGVfbm9hY3BpOwotZXh0ZXJuIGludCBpZGVfYWNwaWd0ZjsKLWV4dGVybiBpbnQgaWRlX2FjcGlvbmJvb3Q7Ci1leHRlcm4gaW50IG5vYXV0b2RtYTsKIAogZXh0ZXJuIGludCBpZGVfdmxiX2NsazsKIGV4dGVybiBpbnQgaWRlX3BjaV9jbGs7CkBAIC04NTcsMjUgKzg1MiwxMiBAQAogCiBleHRlcm4gaWRlX3N0YXJ0c3RvcF90IGlkZV9kb19yZXNldCAoaWRlX2RyaXZlX3QgKik7CiAKLWV4dGVybiB2b2lkIGlkZV9pbml0X2RyaXZlX2NtZCAoc3RydWN0IHJlcXVlc3QgKnJxKTsKLQotLyoKLSAqICJhY3Rpb24iIHBhcmFtZXRlciB0eXBlIGZvciBpZGVfZG9fZHJpdmVfY21kKCkgYmVsb3cuCi0gKi8KLXR5cGVkZWYgZW51bSB7Ci0JaWRlX3dhaXQsCS8qIGluc2VydCBycSBhdCBlbmQgb2YgbGlzdCwgYW5kIHdhaXQgZm9yIGl0ICovCi0JaWRlX3ByZWVtcHQsCS8qIGluc2VydCBycSBpbiBmcm9udCBvZiBjdXJyZW50IHJlcXVlc3QgKi8KLQlpZGVfaGVhZF93YWl0LAkvKiBpbnNlcnQgcnEgaW4gZnJvbnQgb2YgY3VycmVudCByZXF1ZXN0IGFuZCB3YWl0IGZvciBpdCAqLwotCWlkZV9lbmQJCS8qIGluc2VydCBycSBhdCBlbmQgb2YgbGlzdCwgYnV0IGRvbid0IHdhaXQgZm9yIGl0ICovCi19IGlkZV9hY3Rpb25fdDsKLQotZXh0ZXJuIGludCBpZGVfZG9fZHJpdmVfY21kKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICosIGlkZV9hY3Rpb25fdCk7CitleHRlcm4gdm9pZCBpZGVfZG9fZHJpdmVfY21kKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICopOwogCiBleHRlcm4gdm9pZCBpZGVfZW5kX2RyaXZlX2NtZChpZGVfZHJpdmVfdCAqLCB1OCwgdTgpOwogCiBlbnVtIHsKIAlJREVfVEZMQUdfTEJBNDgJCQk9ICgxIDw8IDApLAotCUlERV9URkxBR19OT19TRUxFQ1RfTUFTSwk9ICgxIDw8IDEpLAogCUlERV9URkxBR19GTEFHR0VECQk9ICgxIDw8IDIpLAogCUlERV9URkxBR19PVVRfREFUQQkJPSAoMSA8PCAzKSwKIAlJREVfVEZMQUdfT1VUX0hPQl9GRUFUVVJFCT0gKDEgPDwgNCksCkBAIC05ODAsMTEgKzk2MiwyMyBAQAogdm9pZCBpZGVfdGZfZHVtcChjb25zdCBjaGFyICosIHN0cnVjdCBpZGVfdGFza2ZpbGUgKik7CiAKIGV4dGVybiB2b2lkIFNFTEVDVF9EUklWRShpZGVfZHJpdmVfdCAqKTsKK3ZvaWQgU0VMRUNUX01BU0soaWRlX2RyaXZlX3QgKiwgaW50KTsKIAogZXh0ZXJuIGludCBkcml2ZV9pc19yZWFkeShpZGVfZHJpdmVfdCAqKTsKIAogdm9pZCBpZGVfcGt0Y21kX3RmX2xvYWQoaWRlX2RyaXZlX3QgKiwgdTMyLCB1MTYsIHU4KTsKIAoraWRlX3N0YXJ0c3RvcF90IGlkZV9wY19pbnRyKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJaWRlX2hhbmRsZXJfdCAqaGFuZGxlciwgdW5zaWduZWQgaW50IHRpbWVvdXQsIGlkZV9leHBpcnlfdCAqZXhwaXJ5LAorCXZvaWQgKCp1cGRhdGVfYnVmZmVycykoaWRlX2RyaXZlX3QgKiwgc3RydWN0IGlkZV9hdGFwaV9wYyAqKSwKKwl2b2lkICgqcmV0cnlfcGMpKGlkZV9kcml2ZV90ICopLCB2b2lkICgqZHNjX2hhbmRsZSkoaWRlX2RyaXZlX3QgKiksCisJdm9pZCAoKmlvX2J1ZmZlcnMpKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiwgdW5zaWduZWQgaW50LAorCQkJICAgaW50KSk7CitpZGVfc3RhcnRzdG9wX3QgaWRlX3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiwKKwkJCQlpZGVfaGFuZGxlcl90ICosIHVuc2lnbmVkIGludCwgaWRlX2V4cGlyeV90ICopOworaWRlX3N0YXJ0c3RvcF90IGlkZV9pc3N1ZV9wYyhpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICosCisJCQkgICAgIGlkZV9oYW5kbGVyX3QgKiwgdW5zaWduZWQgaW50LCBpZGVfZXhwaXJ5X3QgKik7CisKIGlkZV9zdGFydHN0b3BfdCBkb19yd190YXNrZmlsZShpZGVfZHJpdmVfdCAqLCBpZGVfdGFza190ICopOwogCiB2b2lkIHRhc2tfZW5kX3JlcXVlc3QoaWRlX2RyaXZlX3QgKiwgc3RydWN0IHJlcXVlc3QgKiwgdTgpOwpAQCAtOTk2LDggKzk5MCw2IEBACiBpbnQgaWRlX2NtZF9pb2N0bChpZGVfZHJpdmVfdCAqLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwogaW50IGlkZV90YXNrX2lvY3RsKGlkZV9kcml2ZV90ICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZyk7CiAKLWV4dGVybiBpbnQgc3lzdGVtX2J1c19jbG9jayh2b2lkKTsKLQogZXh0ZXJuIGludCBpZGVfZHJpdmVpZF91cGRhdGUoaWRlX2RyaXZlX3QgKik7CiBleHRlcm4gaW50IGlkZV9jb25maWdfZHJpdmVfc3BlZWQoaWRlX2RyaXZlX3QgKiwgdTgpOwogZXh0ZXJuIHU4IGVpZ2h0eV9uaW50eV90aHJlZSAoaWRlX2RyaXZlX3QgKik7CkBAIC0xMzQ5LDcgKzEzNDEsOCBAQAogewogCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAotCWh3aWYtPk9VVEIoZHJpdmUtPmN0bCB8IChvbiA/IDAgOiAyKSwgaHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIEFUQV9ERVZDVExfT0JTIHwgKG9uID8gMCA6IDIpLAorCQkgICAgICAgaHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOwogfQogCiBzdGF0aWMgaW5saW5lIHU4IGlkZV9yZWFkX3N0YXR1cyhpZGVfZHJpdmVfdCAqZHJpdmUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2loZXguaCBiL2luY2x1ZGUvbGludXgvaWhleC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiYWFjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L2loZXguaApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29tcGFjdCBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleCByZWNvcmRzLiBTb21lIGRldmljZXMgbmVlZCB0aGVpcgorICogZmlybXdhcmUgbG9hZGVkIGluIHN0cmFuZ2Ugb3JkZXJzIHJhdGhlciB0aGFuIGEgc2luZ2xlIGJpZyBibG9iLCBidXQKKyAqIGFjdHVhbGx5IHBhcnNpbmcgaWhleC1hcy10ZXh0IHdpdGhpbiB0aGUga2VybmVsIHNlZW1zIHNpbGx5LiBUaHVzLC4uLgorICovCisKKyNpZm5kZWYgX19MSU5VWF9JSEVYX0hfXworI2RlZmluZSBfX0xJTlVYX0lIRVhfSF9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisKKy8qIEludGVsIEhFWCBmaWxlcyBhY3R1YWxseSBsaW1pdCB0aGUgbGVuZ3RoIHRvIDI1NiBieXRlcywgYnV0IHdlIGhhdmUKKyAgIGRyaXZlcnMgd2hpY2ggd291bGQgYmVuZWZpdCBmcm9tIHVzaW5nIHNlcGFyYXRlIHJlY29yZHMgd2hpY2ggYXJlCisgICBsb25nZXIgdGhhbiB0aGF0LCBzbyB3ZSBleHRlbmQgdG8gMTYgYml0cyBvZiBsZW5ndGggKi8KK3N0cnVjdCBpaGV4X2JpbnJlYyB7CisJX19iZTMyIGFkZHI7CisJX19iZTE2IGxlbjsKKwl1aW50OF90IGRhdGFbMF07Cit9IF9fYXR0cmlidXRlX18oKGFsaWduZWQoNCkpKTsKKworLyogRmluZCB0aGUgbmV4dCByZWNvcmQsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIDQtYnl0ZSBhbGlnbm1lbnQgKi8KK3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICoKK2loZXhfbmV4dF9iaW5yZWMoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWMpCit7CisJaW50IG5leHQgPSAoKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSArIDUpICYgfjMpIC0gMjsKKwlyZWMgPSAodm9pZCAqKSZyZWMtPmRhdGFbbmV4dF07CisKKwlyZXR1cm4gYmUxNl90b19jcHUocmVjLT5sZW4pID8gcmVjIDogTlVMTDsKK30KKworLyogQ2hlY2sgdGhhdCBpaGV4X25leHRfYmlucmVjKCkgd29uJ3QgdGFrZSB1cyBvZmYgdGhlIGVuZCBvZiB0aGUgaW1hZ2UuLi4gKi8KK3N0YXRpYyBpbmxpbmUgaW50IGloZXhfdmFsaWRhdGVfZncoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKK3sKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKKwlzaXplX3Qgb2ZzID0gMDsKKworCXdoaWxlIChvZnMgPD0gZnctPnNpemUgLSBzaXplb2YoKnJlYykpIHsKKwkJcmVjID0gKHZvaWQgKikmZnctPmRhdGFbb2ZzXTsKKworCQkvKiBaZXJvIGxlbmd0aCBtYXJrcyBlbmQgb2YgcmVjb3JkcyAqLworCQlpZiAoIWJlMTZfdG9fY3B1KHJlYy0+bGVuKSkKKwkJCXJldHVybiAwOworCisJCS8qIFBvaW50IHRvIG5leHQgcmVjb3JkLi4uICovCisJCW9mcyArPSAoc2l6ZW9mKCpyZWMpICsgYmUxNl90b19jcHUocmVjLT5sZW4pICsgMykgJiB+MzsKKwl9CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKKy8qIFJlcXVlc3QgZmlybXdhcmUgYW5kIHZhbGlkYXRlIGl0IHNvIHRoYXQgd2UgY2FuIHRydXN0IHdlIHdvbid0CisgKiBydW4gb2ZmIHRoZSBlbmQgd2hpbGUgcmVhZGluZyByZWNvcmRzLi4uICovCitzdGF0aWMgaW5saW5lIGludCByZXF1ZXN0X2loZXhfZmlybXdhcmUoY29uc3Qgc3RydWN0IGZpcm13YXJlICoqZncsCisJCQkJCWNvbnN0IGNoYXIgKmZ3X25hbWUsCisJCQkJCXN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmxmdzsKKwlpbnQgcmV0OworCisJcmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmbGZ3LCBmd19uYW1lLCBkZXYpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJcmV0ID0gaWhleF92YWxpZGF0ZV9mdyhsZncpOworCWlmIChyZXQpIHsKKwkJZGV2X2VycihkZXYsICJGaXJtd2FyZSBcIiVzXCIgbm90IHZhbGlkIElIRVggcmVjb3Jkc1xuIiwKKwkJCWZ3X25hbWUpOworCQlyZWxlYXNlX2Zpcm13YXJlKGxmdyk7CisJCXJldHVybiByZXQ7CisJfQorCSpmdyA9IGxmdzsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBfX0xJTlVYX0lIRVhfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oIGIvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAppbmRleCBmMWZjNzQ3Li42MmFhNGY4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCisrKyBiL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKQEAgLTEwNCw4ICsxMDQsMTEgQEAKIAogI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfR0VORVJJQ19IQVJESVJRUykKIAorZXh0ZXJuIGNwdW1hc2tfdCBpcnFfZGVmYXVsdF9hZmZpbml0eTsKKwogZXh0ZXJuIGludCBpcnFfc2V0X2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEsIGNwdW1hc2tfdCBjcHVtYXNrKTsKIGV4dGVybiBpbnQgaXJxX2Nhbl9zZXRfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSk7CitleHRlcm4gaW50IGlycV9zZWxlY3RfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSk7CiAKICNlbHNlIC8qIENPTkZJR19TTVAgKi8KIApAQCAtMTE5LDYgKzEyMiw4IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IGlycV9zZWxlY3RfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSkgIHsgcmV0dXJuIDA7IH0KKwogI2VuZGlmIC8qIENPTkZJR19TTVAgJiYgQ09ORklHX0dFTkVSSUNfSEFSRElSUVMgKi8KIAogI2lmZGVmIENPTkZJR19HRU5FUklDX0hBUkRJUlFTCkBAIC0yODUsMTIgKzI5MCwxMSBAQAogc3RydWN0IHNvZnRpcnFfYWN0aW9uCiB7CiAJdm9pZAkoKmFjdGlvbikoc3RydWN0IHNvZnRpcnFfYWN0aW9uICopOwotCXZvaWQJKmRhdGE7CiB9OwogCiBhc21saW5rYWdlIHZvaWQgZG9fc29mdGlycSh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBfX2RvX3NvZnRpcnEodm9pZCk7Ci1leHRlcm4gdm9pZCBvcGVuX3NvZnRpcnEoaW50IG5yLCB2b2lkICgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24qKSwgdm9pZCAqZGF0YSk7CitleHRlcm4gdm9pZCBvcGVuX3NvZnRpcnEoaW50IG5yLCB2b2lkICgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24gKikpOwogZXh0ZXJuIHZvaWQgc29mdGlycV9pbml0KHZvaWQpOwogI2RlZmluZSBfX3JhaXNlX3NvZnRpcnFfaXJxb2ZmKG5yKSBkbyB7IG9yX3NvZnRpcnFfcGVuZGluZygxVUwgPDwgKG5yKSk7IH0gd2hpbGUgKDApCiBleHRlcm4gdm9pZCByYWlzZV9zb2Z0aXJxX2lycW9mZih1bnNpZ25lZCBpbnQgbnIpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pb2NvbnRleHQuaCBiL2luY2x1ZGUvbGludXgvaW9jb250ZXh0LmgKaW5kZXggMmI3YTExOC4uMDhiOTg3YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pb2NvbnRleHQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lvY29udGV4dC5oCkBAIC05OSw0ICs5OSwyMiBAQAogCXJldHVybiBOVUxMOwogfQogCisjaWZkZWYgQ09ORklHX0JMT0NLCitpbnQgcHV0X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKmlvYyk7Cit2b2lkIGV4aXRfaW9fY29udGV4dCh2b2lkKTsKK3N0cnVjdCBpb19jb250ZXh0ICpnZXRfaW9fY29udGV4dChnZnBfdCBnZnBfZmxhZ3MsIGludCBub2RlKTsKK3N0cnVjdCBpb19jb250ZXh0ICphbGxvY19pb19jb250ZXh0KGdmcF90IGdmcF9mbGFncywgaW50IG5vZGUpOwordm9pZCBjb3B5X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKipwZHN0LCBzdHJ1Y3QgaW9fY29udGV4dCAqKnBzcmMpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBleGl0X2lvX2NvbnRleHQodm9pZCkKK3sKK30KKworc3RydWN0IGlvX2NvbnRleHQ7CitzdGF0aWMgaW5saW5lIGludCBwdXRfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKQoreworCXJldHVybiAxOworfQorI2VuZGlmCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pcnEuaCBiL2luY2x1ZGUvbGludXgvaXJxLmgKaW5kZXggNTUyZTBlYy4uOGNjYjQ2MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pcnEuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lycS5oCkBAIC0yNDQsMTUgKzI0NCw2IEBACiB9CiAjZW5kaWYKIAotI2lmZGVmIENPTkZJR19BVVRPX0lSUV9BRkZJTklUWQotZXh0ZXJuIGludCBzZWxlY3Rfc21wX2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpOwotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgaW50IHNlbGVjdF9zbXBfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSkKLXsKLQlyZXR1cm4gMTsKLX0KLSNlbmRpZgotCiBleHRlcm4gaW50IG5vX2lycV9hZmZpbml0eTsKIAogc3RhdGljIGlubGluZSBpbnQgaXJxX2JhbGFuY2luZ19kaXNhYmxlZCh1bnNpZ25lZCBpbnQgaXJxKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oIGIvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCmluZGV4IGU2MDBjNGUuLjJiMWMyZTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaXJxZmxhZ3MuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lycWZsYWdzLmgKQEAgLTEyLDEwICsxMiwxMCBAQAogI2RlZmluZSBfTElOVVhfVFJBQ0VfSVJRRkxBR1NfSAogCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0gIGV4dGVybiB2b2lkIHRyYWNlX2hhcmRpcnFzX29uKHZvaWQpOwotICBleHRlcm4gdm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCk7CiAgIGV4dGVybiB2b2lkIHRyYWNlX3NvZnRpcnFzX29uKHVuc2lnbmVkIGxvbmcgaXApOwogICBleHRlcm4gdm9pZCB0cmFjZV9zb2Z0aXJxc19vZmYodW5zaWduZWQgbG9uZyBpcCk7CisgIGV4dGVybiB2b2lkIHRyYWNlX2hhcmRpcnFzX29uKHZvaWQpOworICBleHRlcm4gdm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCk7CiAjIGRlZmluZSB0cmFjZV9oYXJkaXJxX2NvbnRleHQocCkJKChwKS0+aGFyZGlycV9jb250ZXh0KQogIyBkZWZpbmUgdHJhY2Vfc29mdGlycV9jb250ZXh0KHApCSgocCktPnNvZnRpcnFfY29udGV4dCkKICMgZGVmaW5lIHRyYWNlX2hhcmRpcnFzX2VuYWJsZWQocCkJKChwKS0+aGFyZGlycXNfZW5hYmxlZCkKQEAgLTQxLDYgKzQxLDE1IEBACiAjIGRlZmluZSBJTklUX1RSQUNFX0lSUUZMQUdTCiAjZW5kaWYKIAorI2lmIGRlZmluZWQoQ09ORklHX0lSUVNPRkZfVFJBQ0VSKSB8fCBcCisJZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCisgZXh0ZXJuIHZvaWQgc3RvcF9jcml0aWNhbF90aW1pbmdzKHZvaWQpOworIGV4dGVybiB2b2lkIHN0YXJ0X2NyaXRpY2FsX3RpbWluZ3Modm9pZCk7CisjZWxzZQorIyBkZWZpbmUgc3RvcF9jcml0aWNhbF90aW1pbmdzKCkgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgc3RhcnRfY3JpdGljYWxfdGltaW5ncygpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQKIAogI2luY2x1ZGUgPGFzbS9pcnFmbGFncy5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9qYmQyLmggYi9pbmNsdWRlL2xpbnV4L2piZDIuaAppbmRleCBkMTQ3ZjBmLi4zZGQyMDkwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2piZDIuaAorKysgYi9pbmNsdWRlL2xpbnV4L2piZDIuaApAQCAtMTY4LDYgKzE2OCw4IEBACiAJdW5zaWduZWQgY2hhciAgIGhfY2hrc3VtX3NpemU7CiAJdW5zaWduZWQgY2hhciAJaF9wYWRkaW5nWzJdOwogCV9fYmUzMiAJCWhfY2hrc3VtW0pCRDJfQ0hFQ0tTVU1fQllURVNdOworCV9fYmU2NAkJaF9jb21taXRfc2VjOworCV9fYmUzMgkJaF9jb21taXRfbnNlYzsKIH07CiAKIC8qCkBAIC0zNzksNiArMzgxLDM4IEBACiAJYml0X3NwaW5fdW5sb2NrKEJIX0pvdXJuYWxIZWFkLCAmYmgtPmJfc3RhdGUpOwogfQogCisvKiBGbGFncyBpbiBqYmRfaW5vZGUtPmlfZmxhZ3MgKi8KKyNkZWZpbmUgX19KSV9DT01NSVRfUlVOTklORyAwCisvKiBDb21taXQgb2YgdGhlIGlub2RlIGRhdGEgaW4gcHJvZ3Jlc3MuIFdlIHVzZSB0aGlzIGZsYWcgdG8gcHJvdGVjdCB1cyBmcm9tCisgKiBjb25jdXJyZW50IGRlbGV0aW9uIG9mIGlub2RlLiBXZSBjYW5ub3QgdXNlIHJlZmVyZW5jZSB0byBpbm9kZSBmb3IgdGhpcworICogc2luY2Ugd2UgY2Fubm90IGFmZm9yZCBkb2luZyBsYXN0IGlwdXQoKSBvbiBiZWhhbGYgb2Yga2pvdXJuYWxkCisgKi8KKyNkZWZpbmUgSklfQ09NTUlUX1JVTk5JTkcgKDEgPDwgX19KSV9DT01NSVRfUlVOTklORykKKworLyoqCisgKiBzdHJ1Y3QgamJkX2lub2RlIGlzIHRoZSBzdHJ1Y3R1cmUgbGlua2luZyBpbm9kZXMgaW4gb3JkZXJlZCBtb2RlCisgKiAgIHByZXNlbnQgaW4gYSB0cmFuc2FjdGlvbiBzbyB0aGF0IHdlIGNhbiBzeW5jIHRoZW0gZHVyaW5nIGNvbW1pdC4KKyAqLworc3RydWN0IGpiZDJfaW5vZGUgeworCS8qIFdoaWNoIHRyYW5zYWN0aW9uIGRvZXMgdGhpcyBpbm9kZSBiZWxvbmcgdG8/IEVpdGhlciB0aGUgcnVubmluZworCSAqIHRyYW5zYWN0aW9uIG9yIHRoZSBjb21taXR0aW5nIG9uZS4gW2pfbGlzdF9sb2NrXSAqLworCXRyYW5zYWN0aW9uX3QgKmlfdHJhbnNhY3Rpb247CisKKwkvKiBQb2ludGVyIHRvIHRoZSBydW5uaW5nIHRyYW5zYWN0aW9uIG1vZGlmeWluZyBpbm9kZSdzIGRhdGEgaW4gY2FzZQorCSAqIHRoZXJlIGlzIGFscmVhZHkgYSBjb21taXR0aW5nIHRyYW5zYWN0aW9uIHRvdWNoaW5nIGl0LiBbal9saXN0X2xvY2tdICovCisJdHJhbnNhY3Rpb25fdCAqaV9uZXh0X3RyYW5zYWN0aW9uOworCisJLyogTGlzdCBvZiBpbm9kZXMgaW4gdGhlIGlfdHJhbnNhY3Rpb24gW2pfbGlzdF9sb2NrXSAqLworCXN0cnVjdCBsaXN0X2hlYWQgaV9saXN0OworCisJLyogVkZTIGlub2RlIHRoaXMgaW5vZGUgYmVsb25ncyB0byBbY29uc3RhbnQgZHVyaW5nIHRoZSBsaWZldGltZQorCSAqIG9mIHRoZSBzdHJ1Y3R1cmVdICovCisJc3RydWN0IGlub2RlICppX3Zmc19pbm9kZTsKKworCS8qIEZsYWdzIG9mIGlub2RlIFtqX2xpc3RfbG9ja10gKi8KKwl1bnNpZ25lZCBpbnQgaV9mbGFnczsKK307CisKIHN0cnVjdCBqYmQyX3Jldm9rZV90YWJsZV9zOwogCiAvKioKQEAgLTUwOSwyNCArNTQzLDEyIEBACiAJc3RydWN0IGpvdXJuYWxfaGVhZAkqdF9yZXNlcnZlZF9saXN0OwogCiAJLyoKLQkgKiBEb3VibHktbGlua2VkIGNpcmN1bGFyIGxpc3Qgb2YgYWxsIGJ1ZmZlcnMgdW5kZXIgd3JpdGVvdXQgZHVyaW5nCi0JICogY29tbWl0IFtqX2xpc3RfbG9ja10KLQkgKi8KLQlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X2xvY2tlZF9saXN0OwotCi0JLyoKIAkgKiBEb3VibHktbGlua2VkIGNpcmN1bGFyIGxpc3Qgb2YgYWxsIG1ldGFkYXRhIGJ1ZmZlcnMgb3duZWQgYnkgdGhpcwogCSAqIHRyYW5zYWN0aW9uIFtqX2xpc3RfbG9ja10KIAkgKi8KIAlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X2J1ZmZlcnM7CiAKIAkvKgotCSAqIERvdWJseS1saW5rZWQgY2lyY3VsYXIgbGlzdCBvZiBhbGwgZGF0YSBidWZmZXJzIHN0aWxsIHRvIGJlCi0JICogZmx1c2hlZCBiZWZvcmUgdGhpcyB0cmFuc2FjdGlvbiBjYW4gYmUgY29tbWl0dGVkIFtqX2xpc3RfbG9ja10KLQkgKi8KLQlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X3N5bmNfZGF0YWxpc3Q7Ci0KLQkvKgogCSAqIERvdWJseS1saW5rZWQgY2lyY3VsYXIgbGlzdCBvZiBhbGwgZm9yZ2V0IGJ1ZmZlcnMgKHN1cGVyc2VkZWQKIAkgKiBidWZmZXJzIHdoaWNoIHdlIGNhbiB1bi1jaGVja3BvaW50IG9uY2UgdGhpcyB0cmFuc2FjdGlvbiBjb21taXRzKQogCSAqIFtqX2xpc3RfbG9ja10KQEAgLTU2NSw2ICs1ODcsMTIgQEAKIAlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X2xvZ19saXN0OwogCiAJLyoKKwkgKiBMaXN0IG9mIGlub2RlcyB3aG9zZSBkYXRhIHdlJ3ZlIG1vZGlmaWVkIGluIGRhdGE9b3JkZXJlZCBtb2RlLgorCSAqIFtqX2xpc3RfbG9ja10KKwkgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkCXRfaW5vZGVfbGlzdDsKKworCS8qCiAJICogUHJvdGVjdHMgaW5mbyByZWxhdGVkIHRvIGhhbmRsZXMKIAkgKi8KIAlzcGlubG9ja190CQl0X2hhbmRsZV9sb2NrOwpAQCAtMTAwNCw3ICsxMDMyLDYgQEAKIGV4dGVybiBpbnQJIGpiZDJfam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKGhhbmRsZV90ICosIHN0cnVjdCBidWZmZXJfaGVhZCAqKTsKIGV4dGVybiBpbnQJIGpiZDJfam91cm5hbF9nZXRfY3JlYXRlX2FjY2VzcyAoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwogZXh0ZXJuIGludAkgamJkMl9qb3VybmFsX2dldF91bmRvX2FjY2VzcyhoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7Ci1leHRlcm4gaW50CSBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YSAoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwogZXh0ZXJuIGludAkgamJkMl9qb3VybmFsX2RpcnR5X21ldGFkYXRhIChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CiBleHRlcm4gdm9pZAkgamJkMl9qb3VybmFsX3JlbGVhc2VfYnVmZmVyIChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CiBleHRlcm4gaW50CSBqYmQyX2pvdXJuYWxfZm9yZ2V0IChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CkBAIC0xMDQ0LDYgKzEwNzEsMTAgQEAKIGV4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2NsZWFyX2VyciAgKGpvdXJuYWxfdCAqKTsKIGV4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2JtYXAoam91cm5hbF90ICosIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcgbG9uZyAqKTsKIGV4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2ZvcmNlX2NvbW1pdChqb3VybmFsX3QgKik7CitleHRlcm4gaW50CSAgIGpiZDJfam91cm5hbF9maWxlX2lub2RlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBqYmQyX2lub2RlICppbm9kZSk7CitleHRlcm4gaW50CSAgIGpiZDJfam91cm5hbF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKHN0cnVjdCBqYmQyX2lub2RlICppbm9kZSwgbG9mZl90IG5ld19zaXplKTsKK2V4dGVybiB2b2lkCSAgIGpiZDJfam91cm5hbF9pbml0X2piZF9pbm9kZShzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKK2V4dGVybiB2b2lkCSAgIGpiZDJfam91cm5hbF9yZWxlYXNlX2piZF9pbm9kZShqb3VybmFsX3QgKmpvdXJuYWwsIHN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGUpOwogCiAvKgogICogam91cm5hbF9oZWFkIG1hbmFnZW1lbnQKQEAgLTExNzksMTUgKzEyMTAsMTMgQEAKIAogLyogam91cm5hbGluZyBidWZmZXIgdHlwZXMgKi8KICNkZWZpbmUgQkpfTm9uZQkJMAkvKiBOb3Qgam91cm5hbGVkICovCi0jZGVmaW5lIEJKX1N5bmNEYXRhCTEJLyogTm9ybWFsIGRhdGE6IGZsdXNoIGJlZm9yZSBjb21taXQgKi8KLSNkZWZpbmUgQkpfTWV0YWRhdGEJMgkvKiBOb3JtYWwgam91cm5hbGVkIG1ldGFkYXRhICovCi0jZGVmaW5lIEJKX0ZvcmdldAkzCS8qIEJ1ZmZlciBzdXBlcnNlZGVkIGJ5IHRoaXMgdHJhbnNhY3Rpb24gKi8KLSNkZWZpbmUgQkpfSU8JCTQJLyogQnVmZmVyIGlzIGZvciB0ZW1wb3JhcnkgSU8gdXNlICovCi0jZGVmaW5lIEJKX1NoYWRvdwk1CS8qIEJ1ZmZlciBjb250ZW50cyBiZWluZyBzaGFkb3dlZCB0byB0aGUgbG9nICovCi0jZGVmaW5lIEJKX0xvZ0N0bAk2CS8qIEJ1ZmZlciBjb250YWlucyBsb2cgZGVzY3JpcHRvcnMgKi8KLSNkZWZpbmUgQkpfUmVzZXJ2ZWQJNwkvKiBCdWZmZXIgaXMgcmVzZXJ2ZWQgZm9yIGFjY2VzcyBieSBqb3VybmFsICovCi0jZGVmaW5lIEJKX0xvY2tlZAk4CS8qIExvY2tlZCBmb3IgSS9PIGR1cmluZyBjb21taXQgKi8KLSNkZWZpbmUgQkpfVHlwZXMJOQorI2RlZmluZSBCSl9NZXRhZGF0YQkxCS8qIE5vcm1hbCBqb3VybmFsZWQgbWV0YWRhdGEgKi8KKyNkZWZpbmUgQkpfRm9yZ2V0CTIJLyogQnVmZmVyIHN1cGVyc2VkZWQgYnkgdGhpcyB0cmFuc2FjdGlvbiAqLworI2RlZmluZSBCSl9JTwkJMwkvKiBCdWZmZXIgaXMgZm9yIHRlbXBvcmFyeSBJTyB1c2UgKi8KKyNkZWZpbmUgQkpfU2hhZG93CTQJLyogQnVmZmVyIGNvbnRlbnRzIGJlaW5nIHNoYWRvd2VkIHRvIHRoZSBsb2cgKi8KKyNkZWZpbmUgQkpfTG9nQ3RsCTUJLyogQnVmZmVyIGNvbnRhaW5zIGxvZyBkZXNjcmlwdG9ycyAqLworI2RlZmluZSBCSl9SZXNlcnZlZAk2CS8qIEJ1ZmZlciBpcyByZXNlcnZlZCBmb3IgYWNjZXNzIGJ5IGpvdXJuYWwgKi8KKyNkZWZpbmUgQkpfVHlwZXMJNwogCiBleHRlcm4gaW50IGpiZF9ibG9ja3NfcGVyX3BhZ2Uoc3RydWN0IGlub2RlICppbm9kZSk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgva2VybmVsLmggYi9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oCmluZGV4IDJlNzAwMDYuLmY5Y2Q3YTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgva2VybmVsLmgKKysrIGIvaW5jbHVkZS9saW51eC9rZXJuZWwuaApAQCAtMTg3LDkgKzE4Nyw2IEBACiAJX19hdHRyaWJ1dGVfXyAoKGZvcm1hdCAocHJpbnRmLCAxLCAwKSkpOwogYXNtbGlua2FnZSBpbnQgcHJpbnRrKGNvbnN0IGNoYXIgKiBmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmludGYsIDEsIDIpKSkgX19jb2xkOwotZXh0ZXJuIGludCBsb2dfYnVmX2dldF9sZW4odm9pZCk7Ci1leHRlcm4gaW50IGxvZ19idWZfcmVhZChpbnQgaWR4KTsKLWV4dGVybiBpbnQgbG9nX2J1Zl9jb3B5KGNoYXIgKmRlc3QsIGludCBpZHgsIGludCBsZW4pOwogCiBleHRlcm4gaW50IHByaW50a19yYXRlbGltaXRfamlmZmllczsKIGV4dGVybiBpbnQgcHJpbnRrX3JhdGVsaW1pdF9idXJzdDsKQEAgLTIwNSw5ICsyMDIsNiBAQAogc3RhdGljIGlubGluZSBpbnQgcHJpbnRrKGNvbnN0IGNoYXIgKnMsIC4uLikKIAlfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CiBzdGF0aWMgaW5saW5lIGludCBfX2NvbGQgcHJpbnRrKGNvbnN0IGNoYXIgKnMsIC4uLikgeyByZXR1cm4gMDsgfQotc3RhdGljIGlubGluZSBpbnQgbG9nX2J1Zl9nZXRfbGVuKHZvaWQpIHsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgaW50IGxvZ19idWZfcmVhZChpbnQgaWR4KSB7IHJldHVybiAwOyB9Ci1zdGF0aWMgaW5saW5lIGludCBsb2dfYnVmX2NvcHkoY2hhciAqZGVzdCwgaW50IGlkeCwgaW50IGxlbikgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGluZSBpbnQgcHJpbnRrX3JhdGVsaW1pdCh2b2lkKSB7IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5lIGludCBfX3ByaW50a19yYXRlbGltaXQoaW50IHJhdGVsaW1pdF9qaWZmaWVzLCBcCiAJCQkJICAgICBpbnQgcmF0ZWxpbWl0X2J1cnN0KSB7IHJldHVybiAwOyB9CkBAIC0yMTYsNyArMjEwLDcgQEAKIAkJeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCi1leHRlcm4gdm9pZCBfX2F0dHJpYnV0ZV9fKChmb3JtYXQocHJpbnRmLCAxLCAyKSkpCitleHRlcm4gdm9pZCBhc21saW5rYWdlIF9fYXR0cmlidXRlX18oKGZvcm1hdChwcmludGYsIDEsIDIpKSkKIAllYXJseV9wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pOwogCiB1bnNpZ25lZCBsb25nIGludF9zcXJ0KHVuc2lnbmVkIGxvbmcpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9rZXJuZWxfc3RhdC5oIGIvaW5jbHVkZS9saW51eC9rZXJuZWxfc3RhdC5oCmluZGV4IGU4ZmZjZTguLmNmOWY0MGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgva2VybmVsX3N0YXQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2tlcm5lbF9zdGF0LmgKQEAgLTEsMTEgKzEsMTEgQEAKICNpZm5kZWYgX0xJTlVYX0tFUk5FTF9TVEFUX0gKICNkZWZpbmUgX0xJTlVYX0tFUk5FTF9TVEFUX0gKIAotI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+CiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vY3B1dGltZS5oPgogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9rcHJvYmVzLmggYi9pbmNsdWRlL2xpbnV4L2twcm9iZXMuaAppbmRleCAxMDM2NjMxLi4wNGEzNTU2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2twcm9iZXMuaAorKysgYi9pbmNsdWRlL2xpbnV4L2twcm9iZXMuaApAQCAtMjU5LDYgKzI1OSwxMCBAQAogc3RydWN0IGpwcm9iZTsKIHN0cnVjdCBrcmV0cHJvYmU7CiAKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGtwcm9iZSAqZ2V0X2twcm9iZSh2b2lkICphZGRyKQoreworCXJldHVybiBOVUxMOworfQogc3RhdGljIGlubGluZSBzdHJ1Y3Qga3Byb2JlICprcHJvYmVfcnVubmluZyh2b2lkKQogewogCXJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9saWJhdGEuaCBiL2luY2x1ZGUvbGludXgvbGliYXRhLmgKaW5kZXggZTU3ZTVkMC4uNWIyNDdiOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9saWJhdGEuaAorKysgYi9pbmNsdWRlL2xpbnV4L2xpYmF0YS5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIF9fTElOVVhfTElCQVRBX0hfXwogCiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgpAQCAtMTE1LDcgKzExNiw3IEBACiAJLyogdGFnIEFUQV9NQVhfUVVFVUUgLSAxIGlzIHJlc2VydmVkIGZvciBpbnRlcm5hbCBjb21tYW5kcyAqLwogCUFUQV9NQVhfUVVFVUUJCT0gMzIsCiAJQVRBX1RBR19JTlRFUk5BTAk9IEFUQV9NQVhfUVVFVUUgLSAxLAotCUFUQV9TSE9SVF9QQVVTRQkJPSAoSFogPj4gNikgKyAxLAorCUFUQV9TSE9SVF9QQVVTRQkJPSAxNiwKIAogCUFUQVBJX01BWF9EUkFJTgkJPSAxNiA8PCAxMCwKIApAQCAtMTY4LDYgKzE2OSw3IEBACiAJQVRBX0xGTEFHX0FTU1VNRV9DTEFTUwk9IEFUQV9MRkxBR19BU1NVTUVfQVRBIHwgQVRBX0xGTEFHX0FTU1VNRV9TRU1CLAogCUFUQV9MRkxBR19OT19SRVRSWQk9ICgxIDw8IDUpLCAvKiBkb24ndCByZXRyeSB0aGlzIGxpbmsgKi8KIAlBVEFfTEZMQUdfRElTQUJMRUQJPSAoMSA8PCA2KSwgLyogbGluayBpcyBkaXNhYmxlZCAqLworCUFUQV9MRkxBR19TV19BQ1RJVklUWQk9ICgxIDw8IDcpLCAvKiBrZWVwIGFjdGl2aXR5IHN0YXRzICovCiAKIAkvKiBzdHJ1Y3QgYXRhX3BvcnQgZmxhZ3MgKi8KIAlBVEFfRkxBR19TTEFWRV9QT1NTCT0gKDEgPDwgMCksIC8qIGhvc3Qgc3VwcG9ydHMgc2xhdmUgZGV2ICovCkBAIC0xOTAsNiArMTkyLDEwIEBACiAJQVRBX0ZMQUdfQU4JCT0gKDEgPDwgMTgpLCAvKiBjb250cm9sbGVyIHN1cHBvcnRzIEFOICovCiAJQVRBX0ZMQUdfUE1QCQk9ICgxIDw8IDE5KSwgLyogY29udHJvbGxlciBzdXBwb3J0cyBQTVAgKi8KIAlBVEFfRkxBR19JUE0JCT0gKDEgPDwgMjApLCAvKiBkcml2ZXIgY2FuIGhhbmRsZSBJUE0gKi8KKwlBVEFfRkxBR19FTQkJPSAoMSA8PCAyMSksIC8qIGRyaXZlciBzdXBwb3J0cyBlbmNsb3N1cmUKKwkJCQkJICAgICAgKiBtYW5hZ2VtZW50ICovCisJQVRBX0ZMQUdfU1dfQUNUSVZJVFkJPSAoMSA8PCAyMiksIC8qIGRyaXZlciBzdXBwb3J0cyBzdyBhY3Rpdml0eQorCQkJCQkgICAgICAqIGxlZCAqLwogCiAJLyogVGhlIGZvbGxvd2luZyBmbGFnIGJlbG9uZ3MgdG8gYXAtPnBmbGFncyBidXQgaXMga2VwdCBpbgogCSAqIGFwLT5mbGFncyBiZWNhdXNlIGl0J3MgcmVmZXJlbmNlZCBpbiBtYW55IExMRHMgYW5kIHdpbGwgYmUKQEAgLTIzNCwxNyArMjQwLDE2IEBACiAJLyogYml0cyAyNDozMSBvZiBob3N0LT5mbGFncyBhcmUgcmVzZXJ2ZWQgZm9yIExMRCBzcGVjaWZpYyBmbGFncyAqLwogCiAJLyogdmFyaW91cyBsZW5ndGhzIG9mIHRpbWUgKi8KLQlBVEFfVE1PVVRfQk9PVAkJPSAzMCAqIEhaLAkvKiBoZXVyaXN0aWMgKi8KLQlBVEFfVE1PVVRfQk9PVF9RVUlDSwk9IDcgKiBIWiwJLyogaGV1cmlzdGljICovCi0JQVRBX1RNT1VUX0lOVEVSTkFMCT0gMzAgKiBIWiwKLQlBVEFfVE1PVVRfSU5URVJOQUxfUVVJQ0sgPSA1ICogSFosCisJQVRBX1RNT1VUX0JPT1QJCT0gMzAwMDAsCS8qIGhldXJpc3RpYyAqLworCUFUQV9UTU9VVF9CT09UX1FVSUNLCT0gIDcwMDAsCS8qIGhldXJpc3RpYyAqLworCUFUQV9UTU9VVF9JTlRFUk5BTF9RVUlDSyA9IDUwMDAsCiAKIAkvKiBGSVhNRTogR29WYXVsdCBuZWVkcyAycyBidXQgd2UgY2FuJ3QgYWZmb3JkIHRoYXQgd2l0aG91dAogCSAqIHBhcmFsbGVsIHByb2JpbmcuICA4MDBtcyBpcyBlbm91Z2ggZm9yIGlWRFIgZGlzawogCSAqIEhIRDQyNDAyMEY3U1YwMC4gIEluY3JlYXNlIHRvIDJzZWNzIHdoZW4gcGFyYWxsZWwgcHJvYmluZwogCSAqIGlzIGluIHBsYWNlLgogCSAqLwotCUFUQV9UTU9VVF9GRl9XQUlUCT0gNCAqIEhaIC8gNSwKKwlBVEFfVE1PVVRfRkZfV0FJVAk9ICA4MDAsCiAKIAkvKiBTcGVjIG1hbmRhdGVzIHRvIHdhaXQgZm9yICI+PSAybXMiIGJlZm9yZSBjaGVja2luZyBzdGF0dXMKIAkgKiBhZnRlciByZXNldC4gIFdlIHdhaXQgMTUwbXMsIGJlY2F1c2UgdGhhdCB3YXMgdGhlIG1hZ2ljCkBAIC0yNTYsMTQgKzI2MSwxNCBAQAogCSAqCiAJICogT2xkIGRyaXZlcnMvaWRlIHVzZXMgdGhlIDJtUyBydWxlIGFuZCB0aGVuIHdhaXRzIGZvciByZWFkeS4KIAkgKi8KLQlBVEFfV0FJVF9BRlRFUl9SRVNFVF9NU0VDUyA9IDE1MCwKKwlBVEFfV0FJVF9BRlRFUl9SRVNFVAk9ICAxNTAsCiAKIAkvKiBJZiBQTVAgaXMgc3VwcG9ydGVkLCB3ZSBoYXZlIHRvIGRvIGZvbGxvdy11cCBTUlNULiAgQXMgc29tZQogCSAqIFBNUHMgZG9uJ3Qgc2VuZCBEMkggUmVnIEZJUyBhZnRlciBoYXJkcmVzZXQsIExMRHMgYXJlCiAJICogYWR2aXNlZCB0byB3YWl0IG9ubHkgZm9yIHRoZSBmb2xsb3dpbmcgZHVyYXRpb24gYmVmb3JlCiAJICogZG9pbmcgU1JTVC4KIAkgKi8KLQlBVEFfVE1PVVRfUE1QX1NSU1RfV0FJVAk9IDEgKiBIWiwKKwlBVEFfVE1PVVRfUE1QX1NSU1RfV0FJVAk9IDEwMDAsCiAKIAkvKiBBVEEgYnVzIHN0YXRlcyAqLwogCUJVU19VTktOT1dOCQk9IDAsCkBAIC0zNDAsNiArMzQ1LDExIEBACiAKIAlTQVRBX1BNUF9SV19USU1FT1VUCT0gMzAwMCwJCS8qIFBNUCByZWFkL3dyaXRlIHRpbWVvdXQgKi8KIAorCS8qIFRoaXMgc2hvdWxkIG1hdGNoIHRoZSBhY3R1YWwgdGFibGUgc2l6ZSBvZgorCSAqIGF0YV9laF9jbWRfdGltZW91dF90YWJsZSBpbiBsaWJhdGEtZWguYy4KKwkgKi8KKwlBVEFfRUhfQ01EX1RJTUVPVVRfVEFCTEVfU0laRSA9IDUsCisKIAkvKiBIb3JrYWdlIHR5cGVzLiBNYXkgYmUgc2V0IGJ5IGxpYmF0YSBvciBjb250cm9sbGVyIG9uIGRyaXZlcwogCSAgIChzb21lIGhvcmthZ2UgbWF5IGJlIGRyaXZlL2NvbnRyb2xsZXIgcGFpciBkZXBlbmRhbnQgKi8KIApAQCAtNDQxLDYgKzQ1MSwxNSBAQAogCU1FRElVTV9QT1dFUiwKIH07CiBleHRlcm4gc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHJfbGlua19wb3dlcl9tYW5hZ2VtZW50X3BvbGljeTsKK2V4dGVybiBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cl9lbV9tZXNzYWdlX3R5cGU7CitleHRlcm4gc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHJfZW1fbWVzc2FnZTsKK2V4dGVybiBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cl9zd19hY3Rpdml0eTsKKworZW51bSBzd19hY3Rpdml0eSB7CisJT0ZGLAorCUJMSU5LX09OLAorCUJMSU5LX09GRiwKK307CiAKICNpZmRlZiBDT05GSUdfQVRBX1NGRgogc3RydWN0IGF0YV9pb3BvcnRzIHsKQEAgLTU5NywxMCArNjE2LDE0IEBACiBzdHJ1Y3QgYXRhX2VoX2NvbnRleHQgewogCXN0cnVjdCBhdGFfZWhfaW5mbwlpOwogCWludAkJCXRyaWVzW0FUQV9NQVhfREVWSUNFU107CisJaW50CQkJY21kX3RpbWVvdXRfaWR4W0FUQV9NQVhfREVWSUNFU10KKwkJCQkJICAgICAgIFtBVEFfRUhfQ01EX1RJTUVPVVRfVEFCTEVfU0laRV07CiAJdW5zaWduZWQgaW50CQljbGFzc2VzW0FUQV9NQVhfREVWSUNFU107CiAJdW5zaWduZWQgaW50CQlkaWRfcHJvYmVfbWFzazsKIAl1bnNpZ25lZCBpbnQJCXNhdmVkX25jcV9lbmFibGVkOwogCXU4CQkJc2F2ZWRfeGZlcl9tb2RlW0FUQV9NQVhfREVWSUNFU107CisJLyogdGltZXN0YW1wIGZvciB0aGUgbGFzdCByZXNldCBhdHRlbXB0IG9yIHN1Y2Nlc3MgKi8KKwl1bnNpZ25lZCBsb25nCQlsYXN0X3Jlc2V0OwogfTsKIAogc3RydWN0IGF0YV9hY3BpX2RyaXZlCkBAIC02OTIsNiArNzE1LDcgQEAKIAlzdHJ1Y3QgdGltZXJfbGlzdAlmYXN0ZHJhaW5fdGltZXI7CiAJdW5zaWduZWQgbG9uZwkJZmFzdGRyYWluX2NudDsKIAorCWludAkJCWVtX21lc3NhZ2VfdHlwZTsKIAl2b2lkCQkJKnByaXZhdGVfZGF0YTsKIAogI2lmZGVmIENPTkZJR19BVEFfQUNQSQpAQCAtNzgzLDYgKzgwNywxMiBAQAogCXU4ICAgKCpibWRtYV9zdGF0dXMpKHN0cnVjdCBhdGFfcG9ydCAqYXApOwogI2VuZGlmIC8qIENPTkZJR19BVEFfU0ZGICovCiAKKwlzc2l6ZV90ICgqZW1fc2hvdykoc3RydWN0IGF0YV9wb3J0ICphcCwgY2hhciAqYnVmKTsKKwlzc2l6ZV90ICgqZW1fc3RvcmUpKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKm1lc3NhZ2UsCisJCQkgICAgc2l6ZV90IHNpemUpOworCXNzaXplX3QgKCpzd19hY3Rpdml0eV9zaG93KShzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCBjaGFyICpidWYpOworCXNzaXplX3QgKCpzd19hY3Rpdml0eV9zdG9yZSkoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwKKwkJCQkgICAgIGVudW0gc3dfYWN0aXZpdHkgdmFsKTsKIAkvKgogCSAqIE9ic29sZXRlCiAJICovCkBAIC04OTUsOCArOTI1LDcgQEAKICNlbmRpZgogZXh0ZXJuIGludCBhdGFfcmF0ZWxpbWl0KHZvaWQpOwogZXh0ZXJuIHUzMiBhdGFfd2FpdF9yZWdpc3Rlcih2b2lkIF9faW9tZW0gKnJlZywgdTMyIG1hc2ssIHUzMiB2YWwsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWxfbXNlYywKLQkJCSAgICAgdW5zaWduZWQgbG9uZyB0aW1lb3V0X21zZWMpOworCQkJICAgICB1bnNpZ25lZCBsb25nIGludGVydmFsLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQpOwogZXh0ZXJuIGludCBhdGFwaV9jbWRfdHlwZSh1OCBvcGNvZGUpOwogZXh0ZXJuIHZvaWQgYXRhX3RmX3RvX2Zpcyhjb25zdCBzdHJ1Y3QgYXRhX3Rhc2tmaWxlICp0ZiwKIAkJCSAgdTggcG1wLCBpbnQgaXNfY21kLCB1OCAqZmlzKTsKQEAgLTEzODksNiArMTQxOCwxMiBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgYXRhX2RlYWRsaW5lKHVuc2lnbmVkIGxvbmcgZnJvbV9qaWZmaWVzLAorCQkJCQkgdW5zaWduZWQgbG9uZyB0aW1lb3V0X21zZWNzKQoreworCXJldHVybiBmcm9tX2ppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKHRpbWVvdXRfbXNlY3MpOworfQorCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogUE1QIC0gZHJpdmVycy9hdGEvbGliYXRhLXBtcC5jCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2xpbmthZ2UuaCBiL2luY2x1ZGUvbGludXgvbGlua2FnZS5oCmluZGV4IDIxMTk2MTAuLjU2YmEzNzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbGlua2FnZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbGlua2FnZS5oCkBAIC0xLDggKzEsMTEgQEAKICNpZm5kZWYgX0xJTlVYX0xJTktBR0VfSAogI2RlZmluZSBfTElOVVhfTElOS0FHRV9ICiAKKyNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgogI2luY2x1ZGUgPGFzbS9saW5rYWdlLmg+CiAKKyNkZWZpbmUgbm90cmFjZSBfX2F0dHJpYnV0ZV9fKChub19pbnN0cnVtZW50X2Z1bmN0aW9uKSkKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiAjZGVmaW5lIENQUF9BU01MSU5LQUdFIGV4dGVybiAiQyIKICNlbHNlCkBAIC0xNyw2ICsyMCw5IEBACiAjIGRlZmluZSBhc21yZWdwYXJtCiAjZW5kaWYKIAorI2RlZmluZSBfX3BhZ2VfYWxpZ25lZF9kYXRhCV9fc2VjdGlvbiguZGF0YS5wYWdlX2FsaWduZWQpIF9fYWxpZ25lZChQQUdFX1NJWkUpCisjZGVmaW5lIF9fcGFnZV9hbGlnbmVkX2JzcwlfX3NlY3Rpb24oLmJzcy5wYWdlX2FsaWduZWQpIF9fYWxpZ25lZChQQUdFX1NJWkUpCisKIC8qCiAgKiBUaGlzIGlzIHVzZWQgYnkgYXJjaGl0ZWN0dXJlcyB0byBrZWVwIGFyZ3VtZW50cyBvbiB0aGUgc3RhY2sKICAqIHVudG91Y2hlZCBieSB0aGUgY29tcGlsZXIgYnkga2VlcGluZyB0aGVtIGxpdmUgdW50aWwgdGhlIGVuZC4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbGlzdC5oIGIvaW5jbHVkZS9saW51eC9saXN0LmgKaW5kZXggMDhjZjRmNi4uMTM5ZWM0MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9saXN0LmgKKysrIGIvaW5jbHVkZS9saW51eC9saXN0LmgKQEAgLTg1LDY1ICs4NSw2IEBACiB9CiAKIC8qCi0gKiBJbnNlcnQgYSBuZXcgZW50cnkgYmV0d2VlbiB0d28ga25vd24gY29uc2VjdXRpdmUgZW50cmllcy4KLSAqCi0gKiBUaGlzIGlzIG9ubHkgZm9yIGludGVybmFsIGxpc3QgbWFuaXB1bGF0aW9uIHdoZXJlIHdlIGtub3cKLSAqIHRoZSBwcmV2L25leHQgZW50cmllcyBhbHJlYWR5IQotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX19saXN0X2FkZF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqIG5ldywKLQkJc3RydWN0IGxpc3RfaGVhZCAqIHByZXYsIHN0cnVjdCBsaXN0X2hlYWQgKiBuZXh0KQotewotCW5ldy0+bmV4dCA9IG5leHQ7Ci0JbmV3LT5wcmV2ID0gcHJldjsKLQlzbXBfd21iKCk7Ci0JbmV4dC0+cHJldiA9IG5ldzsKLQlwcmV2LT5uZXh0ID0gbmV3OwotfQotCi0vKioKLSAqIGxpc3RfYWRkX3JjdSAtIGFkZCBhIG5ldyBlbnRyeSB0byByY3UtcHJvdGVjdGVkIGxpc3QKLSAqIEBuZXc6IG5ldyBlbnRyeSB0byBiZSBhZGRlZAotICogQGhlYWQ6IGxpc3QgaGVhZCB0byBhZGQgaXQgYWZ0ZXIKLSAqCi0gKiBJbnNlcnQgYSBuZXcgZW50cnkgYWZ0ZXIgdGhlIHNwZWNpZmllZCBoZWFkLgotICogVGhpcyBpcyBnb29kIGZvciBpbXBsZW1lbnRpbmcgc3RhY2tzLgotICoKLSAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKLSAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZwotICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCi0gKiBvciBsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KLSAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKLSAqIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCkuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2FkZF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqbmV3LCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQotewotCV9fbGlzdF9hZGRfcmN1KG5ldywgaGVhZCwgaGVhZC0+bmV4dCk7Ci19Ci0KLS8qKgotICogbGlzdF9hZGRfdGFpbF9yY3UgLSBhZGQgYSBuZXcgZW50cnkgdG8gcmN1LXByb3RlY3RlZCBsaXN0Ci0gKiBAbmV3OiBuZXcgZW50cnkgdG8gYmUgYWRkZWQKLSAqIEBoZWFkOiBsaXN0IGhlYWQgdG8gYWRkIGl0IGJlZm9yZQotICoKLSAqIEluc2VydCBhIG5ldyBlbnRyeSBiZWZvcmUgdGhlIHNwZWNpZmllZCBoZWFkLgotICogVGhpcyBpcyB1c2VmdWwgZm9yIGltcGxlbWVudGluZyBxdWV1ZXMuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgbGlzdF9hZGRfdGFpbF9yY3UoKQotICogb3IgbGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9hZGRfdGFpbF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqbmV3LAotCQkJCQlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQotewotCV9fbGlzdF9hZGRfcmN1KG5ldywgaGVhZC0+cHJldiwgaGVhZCk7Ci19Ci0KLS8qCiAgKiBEZWxldGUgYSBsaXN0IGVudHJ5IGJ5IG1ha2luZyB0aGUgcHJldi9uZXh0IGVudHJpZXMKICAqIHBvaW50IHRvIGVhY2ggb3RoZXIuCiAgKgpAQCAtMTc0LDM2ICsxMTUsNiBAQAogI2VuZGlmCiAKIC8qKgotICogbGlzdF9kZWxfcmN1IC0gZGVsZXRlcyBlbnRyeSBmcm9tIGxpc3Qgd2l0aG91dCByZS1pbml0aWFsaXphdGlvbgotICogQGVudHJ5OiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgbGlzdC4KLSAqCi0gKiBOb3RlOiBsaXN0X2VtcHR5KCkgb24gZW50cnkgZG9lcyBub3QgcmV0dXJuIHRydWUgYWZ0ZXIgdGhpcywKLSAqIHRoZSBlbnRyeSBpcyBpbiBhbiB1bmRlZmluZWQgc3RhdGUuIEl0IGlzIHVzZWZ1bCBmb3IgUkNVIGJhc2VkCi0gKiBsb2NrZnJlZSB0cmF2ZXJzYWwuCi0gKgotICogSW4gcGFydGljdWxhciwgaXQgbWVhbnMgdGhhdCB3ZSBjYW4gbm90IHBvaXNvbiB0aGUgZm9yd2FyZAotICogcG9pbnRlcnMgdGhhdCBtYXkgc3RpbGwgYmUgdXNlZCBmb3Igd2Fsa2luZyB0aGUgbGlzdC4KLSAqCi0gKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5Ci0gKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKLSAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBsaXN0X2RlbF9yY3UoKQotICogb3IgbGlzdF9hZGRfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLgotICoKLSAqIE5vdGUgdGhhdCB0aGUgY2FsbGVyIGlzIG5vdCBwZXJtaXR0ZWQgdG8gaW1tZWRpYXRlbHkgZnJlZQotICogdGhlIG5ld2x5IGRlbGV0ZWQgZW50cnkuICBJbnN0ZWFkLCBlaXRoZXIgc3luY2hyb25pemVfcmN1KCkKLSAqIG9yIGNhbGxfcmN1KCkgbXVzdCBiZSB1c2VkIHRvIGRlZmVyIGZyZWVpbmcgdW50aWwgYW4gUkNVCi0gKiBncmFjZSBwZXJpb2QgaGFzIGVsYXBzZWQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2RlbF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqZW50cnkpCi17Ci0JX19saXN0X2RlbChlbnRyeS0+cHJldiwgZW50cnktPm5leHQpOwotCWVudHJ5LT5wcmV2ID0gTElTVF9QT0lTT04yOwotfQotCi0vKioKICAqIGxpc3RfcmVwbGFjZSAtIHJlcGxhY2Ugb2xkIGVudHJ5IGJ5IG5ldyBvbmUKICAqIEBvbGQgOiB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZAogICogQG5ldyA6IHRoZSBuZXcgZWxlbWVudCB0byBpbnNlcnQKQEAgLTIyNywyNSArMTM4LDYgQEAKIH0KIAogLyoqCi0gKiBsaXN0X3JlcGxhY2VfcmN1IC0gcmVwbGFjZSBvbGQgZW50cnkgYnkgbmV3IG9uZQotICogQG9sZCA6IHRoZSBlbGVtZW50IHRvIGJlIHJlcGxhY2VkCi0gKiBAbmV3IDogdGhlIG5ldyBlbGVtZW50IHRvIGluc2VydAotICoKLSAqIFRoZSBAb2xkIGVudHJ5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgQG5ldyBlbnRyeSBhdG9taWNhbGx5LgotICogTm90ZTogQG9sZCBzaG91bGQgbm90IGJlIGVtcHR5LgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9yZXBsYWNlX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpvbGQsCi0JCQkJc3RydWN0IGxpc3RfaGVhZCAqbmV3KQotewotCW5ldy0+bmV4dCA9IG9sZC0+bmV4dDsKLQluZXctPnByZXYgPSBvbGQtPnByZXY7Ci0Jc21wX3dtYigpOwotCW5ldy0+bmV4dC0+cHJldiA9IG5ldzsKLQluZXctPnByZXYtPm5leHQgPSBuZXc7Ci0Jb2xkLT5wcmV2ID0gTElTVF9QT0lTT04yOwotfQotCi0vKioKICAqIGxpc3RfZGVsX2luaXQgLSBkZWxldGVzIGVudHJ5IGZyb20gbGlzdCBhbmQgcmVpbml0aWFsaXplIGl0LgogICogQGVudHJ5OiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgbGlzdC4KICAqLwpAQCAtMzY5LDYyICsyNjEsNiBAQAogfQogCiAvKioKLSAqIGxpc3Rfc3BsaWNlX2luaXRfcmN1IC0gc3BsaWNlIGFuIFJDVS1wcm90ZWN0ZWQgbGlzdCBpbnRvIGFuIGV4aXN0aW5nIGxpc3QuCi0gKiBAbGlzdDoJdGhlIFJDVS1wcm90ZWN0ZWQgbGlzdCB0byBzcGxpY2UKLSAqIEBoZWFkOgl0aGUgcGxhY2UgaW4gdGhlIGxpc3QgdG8gc3BsaWNlIHRoZSBmaXJzdCBsaXN0IGludG8KLSAqIEBzeW5jOglmdW5jdGlvbiB0byBzeW5jOiBzeW5jaHJvbml6ZV9yY3UoKSwgc3luY2hyb25pemVfc2NoZWQoKSwgLi4uCi0gKgotICogQGhlYWQgY2FuIGJlIFJDVS1yZWFkIHRyYXZlcnNlZCBjb25jdXJyZW50bHkgd2l0aCB0aGlzIGZ1bmN0aW9uLgotICoKLSAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGJsb2Nrcy4KLSAqCi0gKiBJbXBvcnRhbnQgbm90ZTogdGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgYWN0aW9uIGlzIG5lY2Vzc2FyeSB0bwotICoJcHJldmVudCBhbnkgb3RoZXIgdXBkYXRlcyB0byBAaGVhZC4gIEluIHByaW5jaXBsZSwgaXQgaXMgcG9zc2libGUKLSAqCXRvIG1vZGlmeSB0aGUgbGlzdCBhcyBzb29uIGFzIHN5bmMoKSBiZWdpbnMgZXhlY3V0aW9uLgotICoJSWYgdGhpcyBzb3J0IG9mIHRoaW5nIGJlY29tZXMgbmVjZXNzYXJ5LCBhbiBhbHRlcm5hdGl2ZSB2ZXJzaW9uCi0gKgliYXNlZCBvbiBjYWxsX3JjdSgpIGNvdWxkIGJlIGNyZWF0ZWQuICBCdXQgb25seSBpZiAtcmVhbGx5LQotICoJbmVlZGVkIC0tIHRoZXJlIGlzIG5vIHNob3J0YWdlIG9mIFJDVSBBUEkgbWVtYmVycy4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGxpc3Rfc3BsaWNlX2luaXRfcmN1KHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QsCi0JCQkJCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsCi0JCQkJCXZvaWQgKCpzeW5jKSh2b2lkKSkKLXsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpmaXJzdCA9IGxpc3QtPm5leHQ7Ci0Jc3RydWN0IGxpc3RfaGVhZCAqbGFzdCA9IGxpc3QtPnByZXY7Ci0Jc3RydWN0IGxpc3RfaGVhZCAqYXQgPSBoZWFkLT5uZXh0OwotCi0JaWYgKGxpc3RfZW1wdHkoaGVhZCkpCi0JCXJldHVybjsKLQotCS8qICJmaXJzdCIgYW5kICJsYXN0IiB0cmFja2luZyBsaXN0LCBzbyBpbml0aWFsaXplIGl0LiAqLwotCi0JSU5JVF9MSVNUX0hFQUQobGlzdCk7Ci0KLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQsIHRoZSBsaXN0IGJvZHkgc3RpbGwgcG9pbnRzIHRvIHRoZSBzb3VyY2UgbGlzdC4KLQkgKiBXYWl0IGZvciBhbnkgcmVhZGVycyB0byBmaW5pc2ggdXNpbmcgdGhlIGxpc3QgYmVmb3JlIHNwbGljaW5nCi0JICogdGhlIGxpc3QgYm9keSBpbnRvIHRoZSBuZXcgbGlzdC4gIEFueSBuZXcgcmVhZGVycyB3aWxsIHNlZQotCSAqIGFuIGVtcHR5IGxpc3QuCi0JICovCi0KLQlzeW5jKCk7Ci0KLQkvKgotCSAqIFJlYWRlcnMgYXJlIGZpbmlzaGVkIHdpdGggdGhlIHNvdXJjZSBsaXN0LCBzbyBwZXJmb3JtIHNwbGljZS4KLQkgKiBUaGUgb3JkZXIgaXMgaW1wb3J0YW50IGlmIHRoZSBuZXcgbGlzdCBpcyBnbG9iYWwgYW5kIGFjY2Vzc2libGUKLQkgKiB0byBjb25jdXJyZW50IFJDVSByZWFkZXJzLiAgTm90ZSB0aGF0IFJDVSByZWFkZXJzIGFyZSBub3QKLQkgKiBwZXJtaXR0ZWQgdG8gdHJhdmVyc2UgdGhlIHByZXYgcG9pbnRlcnMgd2l0aG91dCBleGNsdWRpbmcKLQkgKiB0aGlzIGZ1bmN0aW9uLgotCSAqLwotCi0JbGFzdC0+bmV4dCA9IGF0OwotCXNtcF93bWIoKTsKLQloZWFkLT5uZXh0ID0gZmlyc3Q7Ci0JZmlyc3QtPnByZXYgPSBoZWFkOwotCWF0LT5wcmV2ID0gbGFzdDsKLX0KLQotLyoqCiAgKiBsaXN0X2VudHJ5IC0gZ2V0IHRoZSBzdHJ1Y3QgZm9yIHRoaXMgZW50cnkKICAqIEBwdHI6CXRoZSAmc3RydWN0IGxpc3RfaGVhZCBwb2ludGVyLgogICogQHR5cGU6CXRoZSB0eXBlIG9mIHRoZSBzdHJ1Y3QgdGhpcyBpcyBlbWJlZGRlZCBpbi4KQEAgLTYyOSw1NyArNDY1LDYgQEAKIAkgICAgICZwb3MtPm1lbWJlciAhPSAoaGVhZCk7IAkJCQkJXAogCSAgICAgcG9zID0gbiwgbiA9IGxpc3RfZW50cnkobi0+bWVtYmVyLnByZXYsIHR5cGVvZigqbiksIG1lbWJlcikpCiAKLS8qKgotICogbGlzdF9mb3JfZWFjaF9yY3UJLQlpdGVyYXRlIG92ZXIgYW4gcmN1LXByb3RlY3RlZCBsaXN0Ci0gKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCi0gKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KLSAqCi0gKiBUaGlzIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtYXkgc2FmZWx5IHJ1biBjb25jdXJyZW50bHkgd2l0aAotICogdGhlIF9yY3UgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmVzIHN1Y2ggYXMgbGlzdF9hZGRfcmN1KCkKLSAqIGFzIGxvbmcgYXMgdGhlIHRyYXZlcnNhbCBpcyBndWFyZGVkIGJ5IHJjdV9yZWFkX2xvY2soKS4KLSAqLwotI2RlZmluZSBsaXN0X2Zvcl9lYWNoX3JjdShwb3MsIGhlYWQpIFwKLQlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpOyBcCi0JCXByZWZldGNoKHBvcy0+bmV4dCksIHBvcyAhPSAoaGVhZCk7IFwKLQkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCi0KLSNkZWZpbmUgX19saXN0X2Zvcl9lYWNoX3JjdShwb3MsIGhlYWQpIFwKLQlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpOyBcCi0JCXBvcyAhPSAoaGVhZCk7IFwKLQkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCi0KLS8qKgotICogbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UJLQlpdGVyYXRlIG92ZXIgcmN1IGxpc3Qgb2YgZ2l2ZW4gdHlwZQotICogQHBvczoJdGhlIHR5cGUgKiB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KLSAqIEBoZWFkOgl0aGUgaGVhZCBmb3IgeW91ciBsaXN0LgotICogQG1lbWJlcjoJdGhlIG5hbWUgb2YgdGhlIGxpc3Rfc3RydWN0IHdpdGhpbiB0aGUgc3RydWN0LgotICoKLSAqIFRoaXMgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlIG1heSBzYWZlbHkgcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZXMgc3VjaCBhcyBsaXN0X2FkZF9yY3UoKQotICogYXMgbG9uZyBhcyB0aGUgdHJhdmVyc2FsIGlzIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgotICovCi0jZGVmaW5lIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHBvcywgaGVhZCwgbWVtYmVyKSBcCi0JZm9yIChwb3MgPSBsaXN0X2VudHJ5KHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpLCB0eXBlb2YoKnBvcyksIG1lbWJlcik7IFwKLQkJcHJlZmV0Y2gocG9zLT5tZW1iZXIubmV4dCksICZwb3MtPm1lbWJlciAhPSAoaGVhZCk7IFwKLQkJcG9zID0gbGlzdF9lbnRyeShyY3VfZGVyZWZlcmVuY2UocG9zLT5tZW1iZXIubmV4dCksIHR5cGVvZigqcG9zKSwgbWVtYmVyKSkKLQotCi0vKioKLSAqIGxpc3RfZm9yX2VhY2hfY29udGludWVfcmN1Ci0gKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCi0gKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KLSAqCi0gKiBJdGVyYXRlIG92ZXIgYW4gcmN1LXByb3RlY3RlZCBsaXN0LCBjb250aW51aW5nIGFmdGVyIGN1cnJlbnQgcG9pbnQuCi0gKgotICogVGhpcyBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbWF5IHNhZmVseSBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlcyBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCi0gKiBhcyBsb25nIGFzIHRoZSB0cmF2ZXJzYWwgaXMgZ3VhcmRlZCBieSByY3VfcmVhZF9sb2NrKCkuCi0gKi8KLSNkZWZpbmUgbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UocG9zLCBoZWFkKSBcCi0JZm9yICgocG9zKSA9IHJjdV9kZXJlZmVyZW5jZSgocG9zKS0+bmV4dCk7IFwKLQkJcHJlZmV0Y2goKHBvcyktPm5leHQpLCAocG9zKSAhPSAoaGVhZCk7IFwKLQkJKHBvcykgPSByY3VfZGVyZWZlcmVuY2UoKHBvcyktPm5leHQpKQotCiAvKgogICogRG91YmxlIGxpbmtlZCBsaXN0cyB3aXRoIGEgc2luZ2xlIHBvaW50ZXIgbGlzdCBoZWFkLgogICogTW9zdGx5IHVzZWZ1bCBmb3IgaGFzaCB0YWJsZXMgd2hlcmUgdGhlIHR3byBwb2ludGVyIGxpc3QgaGVhZCBpcwpAQCAtNzMwLDMxICs1MTUsNiBAQAogCW4tPnBwcmV2ID0gTElTVF9QT0lTT04yOwogfQogCi0vKioKLSAqIGhsaXN0X2RlbF9yY3UgLSBkZWxldGVzIGVudHJ5IGZyb20gaGFzaCBsaXN0IHdpdGhvdXQgcmUtaW5pdGlhbGl6YXRpb24KLSAqIEBuOiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgaGFzaCBsaXN0LgotICoKLSAqIE5vdGU6IGxpc3RfdW5oYXNoZWQoKSBvbiBlbnRyeSBkb2VzIG5vdCByZXR1cm4gdHJ1ZSBhZnRlciB0aGlzLAotICogdGhlIGVudHJ5IGlzIGluIGFuIHVuZGVmaW5lZCBzdGF0ZS4gSXQgaXMgdXNlZnVsIGZvciBSQ1UgYmFzZWQKLSAqIGxvY2tmcmVlIHRyYXZlcnNhbC4KLSAqCi0gKiBJbiBwYXJ0aWN1bGFyLCBpdCBtZWFucyB0aGF0IHdlIGNhbiBub3QgcG9pc29uIHRoZSBmb3J3YXJkCi0gKiBwb2ludGVycyB0aGF0IG1heSBzdGlsbCBiZSB1c2VkIGZvciB3YWxraW5nIHRoZSBoYXNoIGxpc3QuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKLSAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KLSAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKLSAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KCkuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9kZWxfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuKQotewotCV9faGxpc3RfZGVsKG4pOwotCW4tPnBwcmV2ID0gTElTVF9QT0lTT04yOwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfZGVsX2luaXQoc3RydWN0IGhsaXN0X25vZGUgKm4pCiB7CiAJaWYgKCFobGlzdF91bmhhc2hlZChuKSkgewpAQCAtNzYzLDI3ICs1MjMsNiBAQAogCX0KIH0KIAotLyoqCi0gKiBobGlzdF9yZXBsYWNlX3JjdSAtIHJlcGxhY2Ugb2xkIGVudHJ5IGJ5IG5ldyBvbmUKLSAqIEBvbGQgOiB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZAotICogQG5ldyA6IHRoZSBuZXcgZWxlbWVudCB0byBpbnNlcnQKLSAqCi0gKiBUaGUgQG9sZCBlbnRyeSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIEBuZXcgZW50cnkgYXRvbWljYWxseS4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X3JlcGxhY2VfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpvbGQsCi0JCQkJCXN0cnVjdCBobGlzdF9ub2RlICpuZXcpCi17Ci0Jc3RydWN0IGhsaXN0X25vZGUgKm5leHQgPSBvbGQtPm5leHQ7Ci0KLQluZXctPm5leHQgPSBuZXh0OwotCW5ldy0+cHByZXYgPSBvbGQtPnBwcmV2OwotCXNtcF93bWIoKTsKLQlpZiAobmV4dCkKLQkJbmV3LT5uZXh0LT5wcHJldiA9ICZuZXctPm5leHQ7Ci0JKm5ldy0+cHByZXYgPSBuZXc7Ci0Jb2xkLT5wcHJldiA9IExJU1RfUE9JU09OMjsKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9oZWFkKHN0cnVjdCBobGlzdF9ub2RlICpuLCBzdHJ1Y3QgaGxpc3RfaGVhZCAqaCkKIHsKIAlzdHJ1Y3QgaGxpc3Rfbm9kZSAqZmlyc3QgPSBoLT5maXJzdDsKQEAgLTc5NCwzOCArNTMzLDYgQEAKIAluLT5wcHJldiA9ICZoLT5maXJzdDsKIH0KIAotCi0vKioKLSAqIGhsaXN0X2FkZF9oZWFkX3JjdQotICogQG46IHRoZSBlbGVtZW50IHRvIGFkZCB0byB0aGUgaGFzaCBsaXN0LgotICogQGg6IHRoZSBsaXN0IHRvIGFkZCB0by4KLSAqCi0gKiBEZXNjcmlwdGlvbjoKLSAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QsCi0gKiB3aGlsZSBwZXJtaXR0aW5nIHJhY2luZyB0cmF2ZXJzYWxzLgotICoKLSAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKLSAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZwotICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCi0gKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKSwgdXNlZCB0byBwcmV2ZW50IG1lbW9yeS1jb25zaXN0ZW5jeQotICogcHJvYmxlbXMgb24gQWxwaGEgQ1BVcy4gIFJlZ2FyZGxlc3Mgb2YgdGhlIHR5cGUgb2YgQ1BVLCB0aGUKLSAqIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtdXN0IGJlIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2hlYWRfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuLAotCQkJCQlzdHJ1Y3QgaGxpc3RfaGVhZCAqaCkKLXsKLQlzdHJ1Y3QgaGxpc3Rfbm9kZSAqZmlyc3QgPSBoLT5maXJzdDsKLQluLT5uZXh0ID0gZmlyc3Q7Ci0Jbi0+cHByZXYgPSAmaC0+Zmlyc3Q7Ci0Jc21wX3dtYigpOwotCWlmIChmaXJzdCkKLQkJZmlyc3QtPnBwcmV2ID0gJm4tPm5leHQ7Ci0JaC0+Zmlyc3QgPSBuOwotfQotCiAvKiBuZXh0IG11c3QgYmUgIT0gTlVMTCAqLwogc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9iZWZvcmUoc3RydWN0IGhsaXN0X25vZGUgKm4sCiAJCQkJCXN0cnVjdCBobGlzdF9ub2RlICpuZXh0KQpAQCAtODQ3LDYzICs1NTQsNiBAQAogCQluZXh0LT5uZXh0LT5wcHJldiAgPSAmbmV4dC0+bmV4dDsKIH0KIAotLyoqCi0gKiBobGlzdF9hZGRfYmVmb3JlX3JjdQotICogQG46IHRoZSBuZXcgZWxlbWVudCB0byBhZGQgdG8gdGhlIGhhc2ggbGlzdC4KLSAqIEBuZXh0OiB0aGUgZXhpc3RpbmcgZWxlbWVudCB0byBhZGQgdGhlIG5ldyBlbGVtZW50IGJlZm9yZS4KLSAqCi0gKiBEZXNjcmlwdGlvbjoKLSAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QKLSAqIGJlZm9yZSB0aGUgc3BlY2lmaWVkIG5vZGUgd2hpbGUgcGVybWl0dGluZyByYWNpbmcgdHJhdmVyc2Fscy4KLSAqCi0gKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5Ci0gKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKLSAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBobGlzdF9hZGRfaGVhZF9yY3UoKQotICogb3IgaGxpc3RfZGVsX3JjdSgpLCBydW5uaW5nIG9uIHRoaXMgc2FtZSBsaXN0LgotICogSG93ZXZlciwgaXQgaXMgcGVyZmVjdGx5IGxlZ2FsIHRvIHJ1biBjb25jdXJyZW50bHkgd2l0aAotICogdGhlIF9yY3UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgc3VjaCBhcwotICogaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksIHVzZWQgdG8gcHJldmVudCBtZW1vcnktY29uc2lzdGVuY3kKLSAqIHByb2JsZW1zIG9uIEFscGhhIENQVXMuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9hZGRfYmVmb3JlX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqbiwKLQkJCQkJc3RydWN0IGhsaXN0X25vZGUgKm5leHQpCi17Ci0Jbi0+cHByZXYgPSBuZXh0LT5wcHJldjsKLQluLT5uZXh0ID0gbmV4dDsKLQlzbXBfd21iKCk7Ci0JbmV4dC0+cHByZXYgPSAmbi0+bmV4dDsKLQkqKG4tPnBwcmV2KSA9IG47Ci19Ci0KLS8qKgotICogaGxpc3RfYWRkX2FmdGVyX3JjdQotICogQHByZXY6IHRoZSBleGlzdGluZyBlbGVtZW50IHRvIGFkZCB0aGUgbmV3IGVsZW1lbnQgYWZ0ZXIuCi0gKiBAbjogdGhlIG5ldyBlbGVtZW50IHRvIGFkZCB0byB0aGUgaGFzaCBsaXN0LgotICoKLSAqIERlc2NyaXB0aW9uOgotICogQWRkcyB0aGUgc3BlY2lmaWVkIGVsZW1lbnQgdG8gdGhlIHNwZWNpZmllZCBobGlzdAotICogYWZ0ZXIgdGhlIHNwZWNpZmllZCBub2RlIHdoaWxlIHBlcm1pdHRpbmcgcmFjaW5nIHRyYXZlcnNhbHMuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKLSAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KLSAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKLSAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLCB1c2VkIHRvIHByZXZlbnQgbWVtb3J5LWNvbnNpc3RlbmN5Ci0gKiBwcm9ibGVtcyBvbiBBbHBoYSBDUFVzLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2FmdGVyX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqcHJldiwKLQkJCQkgICAgICAgc3RydWN0IGhsaXN0X25vZGUgKm4pCi17Ci0Jbi0+bmV4dCA9IHByZXYtPm5leHQ7Ci0Jbi0+cHByZXYgPSAmcHJldi0+bmV4dDsKLQlzbXBfd21iKCk7Ci0JcHJldi0+bmV4dCA9IG47Ci0JaWYgKG4tPm5leHQpCi0JCW4tPm5leHQtPnBwcmV2ID0gJm4tPm5leHQ7Ci19Ci0KICNkZWZpbmUgaGxpc3RfZW50cnkocHRyLCB0eXBlLCBtZW1iZXIpIGNvbnRhaW5lcl9vZihwdHIsdHlwZSxtZW1iZXIpCiAKICNkZWZpbmUgaGxpc3RfZm9yX2VhY2gocG9zLCBoZWFkKSBcCkBAIC05NjQsMjEgKzYxNCw0IEBACiAJCSh7IHRwb3MgPSBobGlzdF9lbnRyeShwb3MsIHR5cGVvZigqdHBvcyksIG1lbWJlcik7IDE7fSk7IFwKIAkgICAgIHBvcyA9IG4pCiAKLS8qKgotICogaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1IC0gaXRlcmF0ZSBvdmVyIHJjdSBsaXN0IG9mIGdpdmVuIHR5cGUKLSAqIEB0cG9zOgl0aGUgdHlwZSAqIHRvIHVzZSBhcyBhIGxvb3AgY3Vyc29yLgotICogQHBvczoJdGhlICZzdHJ1Y3QgaGxpc3Rfbm9kZSB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KLSAqIEBoZWFkOgl0aGUgaGVhZCBmb3IgeW91ciBsaXN0LgotICogQG1lbWJlcjoJdGhlIG5hbWUgb2YgdGhlIGhsaXN0X25vZGUgd2l0aGluIHRoZSBzdHJ1Y3QuCi0gKgotICogVGhpcyBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbWF5IHNhZmVseSBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlcyBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCi0gKiBhcyBsb25nIGFzIHRoZSB0cmF2ZXJzYWwgaXMgZ3VhcmRlZCBieSByY3VfcmVhZF9sb2NrKCkuCi0gKi8KLSNkZWZpbmUgaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHRwb3MsIHBvcywgaGVhZCwgbWVtYmVyKQkJIFwKLQlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPmZpcnN0KTsJCQkgXAotCSAgICAgICAgcG9zICYmICh7IHByZWZldGNoKHBvcy0+bmV4dCk7IDE7fSkgJiYJCQkgXAotCQkoeyB0cG9zID0gaGxpc3RfZW50cnkocG9zLCB0eXBlb2YoKnRwb3MpLCBtZW1iZXIpOyAxO30pOyBcCi0JICAgICBwb3MgPSByY3VfZGVyZWZlcmVuY2UocG9zLT5uZXh0KSkKLQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2xtX2ludGVyZmFjZS5oIGIvaW5jbHVkZS9saW51eC9sbV9pbnRlcmZhY2UuaAppbmRleCBmMjc0OTk3Li4yZWQ4ZmExIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2xtX2ludGVyZmFjZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbG1faW50ZXJmYWNlLmgKQEAgLTEyMiwxMSArMTIyLDkgQEAKICAqLwogCiAjZGVmaW5lIExNX09VVF9TVF9NQVNLCQkweDAwMDAwMDAzCi0jZGVmaW5lIExNX09VVF9DQUNIRUFCTEUJMHgwMDAwMDAwNAogI2RlZmluZSBMTV9PVVRfQ0FOQ0VMRUQJCTB4MDAwMDAwMDgKICNkZWZpbmUgTE1fT1VUX0FTWU5DCQkweDAwMDAwMDgwCiAjZGVmaW5lIExNX09VVF9FUlJPUgkJMHgwMDAwMDEwMAotI2RlZmluZSBMTV9PVVRfQ09OVl9ERUFETEsJMHgwMDAwMDIwMAogCiAvKgogICogbG1fY2FsbGJhY2tfdCB0eXBlcwpAQCAtMTM4LDkgKzEzNiw2IEBACiAgKiBMTV9DQl9ORUVEX1JFQ09WRVJZCiAgKiBUaGUgZ2l2ZW4gam91cm5hbCBuZWVkcyB0byBiZSByZWNvdmVyZWQuCiAgKgotICogTE1fQ0JfRFJPUExPQ0tTCi0gKiBSZWR1Y2UgdGhlIG51bWJlciBvZiBjYWNoZWQgbG9ja3MuCi0gKgogICogTE1fQ0JfQVNZTkMKICAqIFRoZSBnaXZlbiBsb2NrIGhhcyBiZWVuIGdyYW50ZWQuCiAgKi8KQEAgLTE0OSw3ICsxNDQsNiBAQAogI2RlZmluZSBMTV9DQl9ORUVEX0QJCTI1OAogI2RlZmluZSBMTV9DQl9ORUVEX1MJCTI1OQogI2RlZmluZSBMTV9DQl9ORUVEX1JFQ09WRVJZCTI2MAotI2RlZmluZSBMTV9DQl9EUk9QTE9DS1MJCTI2MQogI2RlZmluZSBMTV9DQl9BU1lOQwkJMjYyCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2xvY2tkZXAuaCBiL2luY2x1ZGUvbGludXgvbG9ja2RlcC5oCmluZGV4IDRjNGQyMzYuLjI0ODZlYjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbG9ja2RlcC5oCisrKyBiL2luY2x1ZGUvbGludXgvbG9ja2RlcC5oCkBAIC0xODIsNiArMTgyLDkgQEAKICAqIFdlIHJlY29yZCBsb2NrIGRlcGVuZGVuY3kgY2hhaW5zLCBzbyB0aGF0IHdlIGNhbiBjYWNoZSB0aGVtOgogICovCiBzdHJ1Y3QgbG9ja19jaGFpbiB7CisJdTgJCQkJaXJxX2NvbnRleHQ7CisJdTgJCQkJZGVwdGg7CisJdTE2CQkJCWJhc2U7CiAJc3RydWN0IGxpc3RfaGVhZAkJZW50cnk7CiAJdTY0CQkJCWNoYWluX2tleTsKIH07CkBAIC0yNzYsMTQgKzI3OSw2IEBACiAJCQkJIChsb2NrKS0+ZGVwX21hcC5rZXksIHN1YikKIAogLyoKLSAqIFRvIGluaXRpYWxpemUgYSBsb2NrZGVwX21hcCBzdGF0aWNhbGx5IHVzZSB0aGlzIG1hY3JvLgotICogTm90ZSB0aGF0IF9uYW1lIG11c3Qgbm90IGJlIE5VTEwuCi0gKi8KLSNkZWZpbmUgU1RBVElDX0xPQ0tERVBfTUFQX0lOSVQoX25hbWUsIF9rZXkpIFwKLQl7IC5uYW1lID0gKF9uYW1lKSwgLmtleSA9ICh2b2lkICopKF9rZXkpLCB9Ci0KLQotLyoKICAqIEFjcXVpcmUgYSBsb2NrLgogICoKICAqIFZhbHVlcyBmb3IgInJlYWQiOgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tYXJrZXIuaCBiL2luY2x1ZGUvbGludXgvbWFya2VyLmgKaW5kZXggNDMwZjZhZC4uMTI5MDY1MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tYXJrZXIuaAorKysgYi9pbmNsdWRlL2xpbnV4L21hcmtlci5oCkBAIC00NCw4ICs0NCw4IEBACiAJCQkJICovCiAJY2hhciBzdGF0ZTsJCS8qIE1hcmtlciBzdGF0ZS4gKi8KIAljaGFyIHB0eXBlOwkJLyogcHJvYmUgdHlwZSA6IDAgOiBzaW5nbGUsIDEgOiBtdWx0aSAqLwotCXZvaWQgKCpjYWxsKShjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwJLyogUHJvYmUgd3JhcHBlciAqLwotCQl2b2lkICpjYWxsX3ByaXZhdGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKwkJCQkvKiBQcm9iZSB3cmFwcGVyICovCisJdm9pZCAoKmNhbGwpKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLCB2b2lkICpjYWxsX3ByaXZhdGUsIC4uLik7CiAJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlIHNpbmdsZTsKIAlzdHJ1Y3QgbWFya2VyX3Byb2JlX2Nsb3N1cmUgKm11bHRpOwogfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CkBAIC01OCw4ICs1OCwxMiBAQAogICogTWFrZSBzdXJlIHRoZSBhbGlnbm1lbnQgb2YgdGhlIHN0cnVjdHVyZSBpbiB0aGUgX19tYXJrZXJzIHNlY3Rpb24gd2lsbAogICogbm90IGFkZCB1bndhbnRlZCBwYWRkaW5nIGJldHdlZW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgc2VjdGlvbiBhbmQgdGhlCiAgKiBzdHJ1Y3R1cmUuIEZvcmNlIGFsaWdubWVudCB0byB0aGUgc2FtZSBhbGlnbm1lbnQgYXMgdGhlIHNlY3Rpb24gc3RhcnQuCisgKgorICogVGhlICJnZW5lcmljIiBhcmd1bWVudCBjb250cm9scyB3aGljaCBtYXJrZXIgZW5hYmxpbmcgbWVjaGFuaXNtIG11c3QgYmUgdXNlZC4KKyAqIElmIGdlbmVyaWMgaXMgdHJ1ZSwgYSB2YXJpYWJsZSByZWFkIGlzIHVzZWQuCisgKiBJZiBnZW5lcmljIGlzIGZhbHNlLCBpbW1lZGlhdGUgdmFsdWVzIGFyZSB1c2VkLgogICovCi0jZGVmaW5lIF9fdHJhY2VfbWFyayhuYW1lLCBjYWxsX3ByaXZhdGUsIGZvcm1hdCwgYXJncy4uLikJCVwKKyNkZWZpbmUgX190cmFjZV9tYXJrKGdlbmVyaWMsIG5hbWUsIGNhbGxfcHJpdmF0ZSwgZm9ybWF0LCBhcmdzLi4uKQlcCiAJZG8gewkJCQkJCQkJXAogCQlzdGF0aWMgY29uc3QgY2hhciBfX21zdHJ0YWJfIyNuYW1lW10JCQlcCiAJCV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIl9fbWFya2Vyc19zdHJpbmdzIikpKQkJXApAQCAtNzIsMTUgKzc2LDE0IEBACiAJCV9fbWFya19jaGVja19mb3JtYXQoZm9ybWF0LCAjIyBhcmdzKTsJCQlcCiAJCWlmICh1bmxpa2VseShfX21hcmtfIyNuYW1lLnN0YXRlKSkgewkJCVwKIAkJCSgqX19tYXJrXyMjbmFtZS5jYWxsKQkJCQlcCi0JCQkJKCZfX21hcmtfIyNuYW1lLCBjYWxsX3ByaXZhdGUsCQlcCi0JCQkJZm9ybWF0LCAjIyBhcmdzKTsJCQlcCisJCQkJKCZfX21hcmtfIyNuYW1lLCBjYWxsX3ByaXZhdGUsICMjIGFyZ3MpO1wKIAkJfQkJCQkJCQlcCiAJfSB3aGlsZSAoMCkKIAogZXh0ZXJuIHZvaWQgbWFya2VyX3VwZGF0ZV9wcm9iZV9yYW5nZShzdHJ1Y3QgbWFya2VyICpiZWdpbiwKIAlzdHJ1Y3QgbWFya2VyICplbmQpOwogI2Vsc2UgLyogIUNPTkZJR19NQVJLRVJTICovCi0jZGVmaW5lIF9fdHJhY2VfbWFyayhuYW1lLCBjYWxsX3ByaXZhdGUsIGZvcm1hdCwgYXJncy4uLikgXAorI2RlZmluZSBfX3RyYWNlX21hcmsoZ2VuZXJpYywgbmFtZSwgY2FsbF9wcml2YXRlLCBmb3JtYXQsIGFyZ3MuLi4pIFwKIAkJX19tYXJrX2NoZWNrX2Zvcm1hdChmb3JtYXQsICMjIGFyZ3MpCiBzdGF0aWMgaW5saW5lIHZvaWQgbWFya2VyX3VwZGF0ZV9wcm9iZV9yYW5nZShzdHJ1Y3QgbWFya2VyICpiZWdpbiwKIAlzdHJ1Y3QgbWFya2VyICplbmQpCkBAIC04OCwxNSArOTEsMzAgQEAKICNlbmRpZiAvKiBDT05GSUdfTUFSS0VSUyAqLwogCiAvKioKLSAqIHRyYWNlX21hcmsgLSBNYXJrZXIKKyAqIHRyYWNlX21hcmsgLSBNYXJrZXIgdXNpbmcgY29kZSBwYXRjaGluZwogICogQG5hbWU6IG1hcmtlciBuYW1lLCBub3QgcXVvdGVkLgogICogQGZvcm1hdDogZm9ybWF0IHN0cmluZwogICogQGFyZ3MuLi46IHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QKICAqCi0gKiBQbGFjZXMgYSBtYXJrZXIuCisgKiBQbGFjZXMgYSBtYXJrZXIgdXNpbmcgb3B0aW1pemVkIGNvZGUgcGF0Y2hpbmcgdGVjaG5pcXVlIChpbXZfcmVhZCgpKQorICogdG8gYmUgZW5hYmxlZCB3aGVuIGltbWVkaWF0ZSB2YWx1ZXMgYXJlIHByZXNlbnQuCiAgKi8KICNkZWZpbmUgdHJhY2VfbWFyayhuYW1lLCBmb3JtYXQsIGFyZ3MuLi4pIFwKLQlfX3RyYWNlX21hcmsobmFtZSwgTlVMTCwgZm9ybWF0LCAjIyBhcmdzKQorCV9fdHJhY2VfbWFyaygwLCBuYW1lLCBOVUxMLCBmb3JtYXQsICMjIGFyZ3MpCisKKy8qKgorICogX3RyYWNlX21hcmsgLSBNYXJrZXIgdXNpbmcgdmFyaWFibGUgcmVhZAorICogQG5hbWU6IG1hcmtlciBuYW1lLCBub3QgcXVvdGVkLgorICogQGZvcm1hdDogZm9ybWF0IHN0cmluZworICogQGFyZ3MuLi46IHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QKKyAqCisgKiBQbGFjZXMgYSBtYXJrZXIgdXNpbmcgYSBzdGFuZGFyZCBtZW1vcnkgcmVhZCAoX2ltdl9yZWFkKCkpIHRvIGJlCisgKiBlbmFibGVkLiBTaG91bGQgYmUgdXNlZCBmb3IgbWFya2VycyBpbiBjb2RlIHBhdGhzIHdoZXJlIGluc3RydWN0aW9uCisgKiBtb2RpZmljYXRpb24gYmFzZWQgZW5hYmxpbmcgaXMgbm90IHdlbGNvbWUuIChfX2luaXQgYW5kIF9fZXhpdCBmdW5jdGlvbnMsCisgKiBsb2NrZGVwLCBzb21lIHRyYXBzLCBwcmludGspLgorICovCisjZGVmaW5lIF90cmFjZV9tYXJrKG5hbWUsIGZvcm1hdCwgYXJncy4uLikgXAorCV9fdHJhY2VfbWFyaygxLCBuYW1lLCBOVUxMLCBmb3JtYXQsICMjIGFyZ3MpCiAKIC8qKgogICogTUFSS19OT0FSR1MgLSBGb3JtYXQgc3RyaW5nIGZvciBhIG1hcmtlciB3aXRoIG5vIGFyZ3VtZW50LgpAQCAtMTE3LDkgKzEzNSw5IEBACiBleHRlcm4gbWFya2VyX3Byb2JlX2Z1bmMgX19tYXJrX2VtcHR5X2Z1bmN0aW9uOwogCiBleHRlcm4gdm9pZCBtYXJrZXJfcHJvYmVfY2IoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsCi0Jdm9pZCAqY2FsbF9wcml2YXRlLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisJdm9pZCAqY2FsbF9wcml2YXRlLCAuLi4pOwogZXh0ZXJuIHZvaWQgbWFya2VyX3Byb2JlX2NiX25vYXJnKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLAotCXZvaWQgKmNhbGxfcHJpdmF0ZSwgY29uc3QgY2hhciAqZm10LCAuLi4pOworCXZvaWQgKmNhbGxfcHJpdmF0ZSwgLi4uKTsKIAogLyoKICAqIENvbm5lY3QgYSBwcm9iZSB0byBhIG1hcmtlci4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWx4NC9kZXZpY2UuaCBiL2luY2x1ZGUvbGludXgvbWx4NC9kZXZpY2UuaAppbmRleCBhNzQ0MzgzLi44MWIzZGQ1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21seDQvZGV2aWNlLmgKKysrIGIvaW5jbHVkZS9saW51eC9tbHg0L2RldmljZS5oCkBAIC0zOTgsNyArMzk4LDggQEAKIGludCBtbHg0X0lOSVRfUE9SVChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgaW50IHBvcnQpOwogaW50IG1seDRfQ0xPU0VfUE9SVChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgaW50IHBvcnQpOwogCi1pbnQgbWx4NF9tdWx0aWNhc3RfYXR0YWNoKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9xcCAqcXAsIHU4IGdpZFsxNl0pOworaW50IG1seDRfbXVsdGljYXN0X2F0dGFjaChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfcXAgKnFwLCB1OCBnaWRbMTZdLAorCQkJICBpbnQgYmxvY2tfbWNhc3RfbG9vcGJhY2spOwogaW50IG1seDRfbXVsdGljYXN0X2RldGFjaChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfcXAgKnFwLCB1OCBnaWRbMTZdKTsKIAogaW50IG1seDRfbWFwX3BoeXNfZm1yKHN0cnVjdCBtbHg0X2RldiAqZGV2LCBzdHJ1Y3QgbWx4NF9mbXIgKmZtciwgdTY0ICpwYWdlX2xpc3QsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tLmggYi9pbmNsdWRlL2xpbnV4L21tLmgKaW5kZXggNTg2YTk0My4uY2YxY2QzYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tbS5oCisrKyBiL2luY2x1ZGUvbGludXgvbW0uaApAQCAtOTk4LDggKzk5OCw4IEBACiBleHRlcm4gdm9pZCBmcmVlX2FyZWFfaW5pdF9ub2Rlcyh1bnNpZ25lZCBsb25nICptYXhfem9uZV9wZm4pOwogZXh0ZXJuIHZvaWQgYWRkX2FjdGl2ZV9yYW5nZSh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKIAkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKLWV4dGVybiB2b2lkIHNocmlua19hY3RpdmVfcmFuZ2UodW5zaWduZWQgaW50IG5pZCwgdW5zaWduZWQgbG9uZyBvbGRfZW5kX3BmbiwKLQkJCQkJCXVuc2lnbmVkIGxvbmcgbmV3X2VuZF9wZm4pOworZXh0ZXJuIHZvaWQgcmVtb3ZlX2FjdGl2ZV9yYW5nZSh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKIGV4dGVybiB2b2lkIHB1c2hfbm9kZV9ib3VuZGFyaWVzKHVuc2lnbmVkIGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAogCQkJCQl1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwogZXh0ZXJuIHZvaWQgcmVtb3ZlX2FsbF9hY3RpdmVfcmFuZ2VzKHZvaWQpOwpAQCAtMTAxMSw2ICsxMDExLDggQEAKIGV4dGVybiB1bnNpZ25lZCBsb25nIGZpbmRfbWF4X3Bmbl93aXRoX2FjdGl2ZV9yZWdpb25zKHZvaWQpOwogZXh0ZXJuIHZvaWQgZnJlZV9ib290bWVtX3dpdGhfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwKIAkJCQkJCXVuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm4pOwordHlwZWRlZiBpbnQgKCp3b3JrX2ZuX3QpKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHZvaWQgKik7CitleHRlcm4gdm9pZCB3b3JrX3dpdGhfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgd29ya19mbl90IHdvcmtfZm4sIHZvaWQgKmRhdGEpOwogZXh0ZXJuIHZvaWQgc3BhcnNlX21lbW9yeV9wcmVzZW50X3dpdGhfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCk7CiAjaWZuZGVmIENPTkZJR19IQVZFX0FSQ0hfRUFSTFlfUEZOX1RPX05JRAogZXh0ZXJuIGludCBlYXJseV9wZm5fdG9fbmlkKHVuc2lnbmVkIGxvbmcgcGZuKTsKQEAgLTEwMjQsNiArMTAyNiw3IEBACiBleHRlcm4gdm9pZCBzaG93X21lbSh2b2lkKTsKIGV4dGVybiB2b2lkIHNpX21lbWluZm8oc3RydWN0IHN5c2luZm8gKiB2YWwpOwogZXh0ZXJuIHZvaWQgc2lfbWVtaW5mb19ub2RlKHN0cnVjdCBzeXNpbmZvICp2YWwsIGludCBuaWQpOworZXh0ZXJuIGludCBhZnRlcl9ib290bWVtOwogCiAjaWZkZWYgQ09ORklHX05VTUEKIGV4dGVybiB2b2lkIHNldHVwX3Blcl9jcHVfcGFnZXNldCh2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW1pb3RyYWNlLmggYi9pbmNsdWRlL2xpbnV4L21taW90cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxZDE5ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L21taW90cmFjZS5oCkBAIC0wLDAgKzEsODUgQEAKKyNpZm5kZWYgTU1JT1RSQUNFX0gKKyNkZWZpbmUgTU1JT1RSQUNFX0gKKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorCitzdHJ1Y3Qga21taW9fcHJvYmU7CitzdHJ1Y3QgcHRfcmVnczsKKwordHlwZWRlZiB2b2lkICgqa21taW9fcHJlX2hhbmRsZXJfdCkoc3RydWN0IGttbWlvX3Byb2JlICosCisJCQkJc3RydWN0IHB0X3JlZ3MgKiwgdW5zaWduZWQgbG9uZyBhZGRyKTsKK3R5cGVkZWYgdm9pZCAoKmttbWlvX3Bvc3RfaGFuZGxlcl90KShzdHJ1Y3Qga21taW9fcHJvYmUgKiwKKwkJCQl1bnNpZ25lZCBsb25nIGNvbmRpdGlvbiwgc3RydWN0IHB0X3JlZ3MgKik7CisKK3N0cnVjdCBrbW1pb19wcm9iZSB7CisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OyAvKiBrbW1pbyBpbnRlcm5hbCBsaXN0ICovCisJdW5zaWduZWQgbG9uZyBhZGRyOyAvKiBzdGFydCBsb2NhdGlvbiBvZiB0aGUgcHJvYmUgcG9pbnQgKi8KKwl1bnNpZ25lZCBsb25nIGxlbjsgLyogbGVuZ3RoIG9mIHRoZSBwcm9iZSByZWdpb24gKi8KKwlrbW1pb19wcmVfaGFuZGxlcl90IHByZV9oYW5kbGVyOyAvKiBDYWxsZWQgYmVmb3JlIGFkZHIgaXMgZXhlY3V0ZWQuICovCisJa21taW9fcG9zdF9oYW5kbGVyX3QgcG9zdF9oYW5kbGVyOyAvKiBDYWxsZWQgYWZ0ZXIgYWRkciBpcyBleGVjdXRlZCAqLworCXZvaWQgKnByaXZhdGU7Cit9OworCisvKiBrbW1pbyBpcyBhY3RpdmUgYnkgc29tZSBrbW1pb19wcm9iZXM/ICovCitzdGF0aWMgaW5saW5lIGludCBpc19rbW1pb19hY3RpdmUodm9pZCkKK3sKKwlleHRlcm4gdW5zaWduZWQgaW50IGttbWlvX2NvdW50OworCXJldHVybiBrbW1pb19jb3VudDsKK30KKworZXh0ZXJuIGludCByZWdpc3Rlcl9rbW1pb19wcm9iZShzdHJ1Y3Qga21taW9fcHJvYmUgKnApOworZXh0ZXJuIHZvaWQgdW5yZWdpc3Rlcl9rbW1pb19wcm9iZShzdHJ1Y3Qga21taW9fcHJvYmUgKnApOworCisvKiBDYWxsZWQgZnJvbSBwYWdlIGZhdWx0IGhhbmRsZXIuICovCitleHRlcm4gaW50IGttbWlvX2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgYWRkcik7CisKKy8qIENhbGxlZCBmcm9tIGlvcmVtYXAuYyAqLworI2lmZGVmIENPTkZJR19NTUlPVFJBQ0UKK2V4dGVybiB2b2lkIG1taW90cmFjZV9pb3JlbWFwKHJlc291cmNlX3NpemVfdCBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCQkJCQl2b2lkIF9faW9tZW0gKmFkZHIpOworZXh0ZXJuIHZvaWQgbW1pb3RyYWNlX2lvdW5tYXAodm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgbW1pb3RyYWNlX2lvcmVtYXAocmVzb3VyY2Vfc2l6ZV90IG9mZnNldCwKKwkJCQkJdW5zaWduZWQgbG9uZyBzaXplLCB2b2lkIF9faW9tZW0gKmFkZHIpCit7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBtbWlvdHJhY2VfaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCit7Cit9CisjZW5kaWYgLyogQ09ORklHX01NSU9UUkFDRV9IT09LUyAqLworCitlbnVtIG1tX2lvX29wY29kZSB7CisJTU1JT19SRUFEID0gMHgxLCAgICAgLyogc3RydWN0IG1taW90cmFjZV9ydyAqLworCU1NSU9fV1JJVEUgPSAweDIsICAgIC8qIHN0cnVjdCBtbWlvdHJhY2VfcncgKi8KKwlNTUlPX1BST0JFID0gMHgzLCAgICAvKiBzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqLworCU1NSU9fVU5QUk9CRSA9IDB4NCwgIC8qIHN0cnVjdCBtbWlvdHJhY2VfbWFwICovCisJTU1JT19NQVJLRVIgPSAweDUsICAgLyogcmF3IGNoYXIgZGF0YSAqLworCU1NSU9fVU5LTk9XTl9PUCA9IDB4NiwgLyogc3RydWN0IG1taW90cmFjZV9ydyAqLworfTsKKworc3RydWN0IG1taW90cmFjZV9ydyB7CisJcmVzb3VyY2Vfc2l6ZV90IHBoeXM7CS8qIFBDSSBhZGRyZXNzIG9mIHJlZ2lzdGVyICovCisJdW5zaWduZWQgbG9uZyB2YWx1ZTsKKwl1bnNpZ25lZCBsb25nIHBjOwkvKiBvcHRpb25hbCBwcm9ncmFtIGNvdW50ZXIgKi8KKwlpbnQgbWFwX2lkOworCXVuc2lnbmVkIGNoYXIgb3Bjb2RlOwkvKiBvbmUgb2YgTU1JT197UkVBRCxXUklURSxVTktOT1dOX09QfSAqLworCXVuc2lnbmVkIGNoYXIgd2lkdGg7CS8qIHNpemUgb2YgcmVnaXN0ZXIgYWNjZXNzIGluIGJ5dGVzICovCit9OworCitzdHJ1Y3QgbW1pb3RyYWNlX21hcCB7CisJcmVzb3VyY2Vfc2l6ZV90IHBoeXM7CS8qIGJhc2UgYWRkcmVzcyBpbiBQQ0kgc3BhY2UgKi8KKwl1bnNpZ25lZCBsb25nIHZpcnQ7CS8qIGJhc2UgdmlydHVhbCBhZGRyZXNzICovCisJdW5zaWduZWQgbG9uZyBsZW47CS8qIG1hcHBpbmcgc2l6ZSAqLworCWludCBtYXBfaWQ7CisJdW5zaWduZWQgY2hhciBvcGNvZGU7CS8qIE1NSU9fUFJPQkUgb3IgTU1JT19VTlBST0JFICovCit9OworCisvKiBpbiBrZXJuZWwvdHJhY2UvdHJhY2VfbW1pb3RyYWNlLmMgKi8KK2V4dGVybiB2b2lkIGVuYWJsZV9tbWlvdHJhY2Uodm9pZCk7CitleHRlcm4gdm9pZCBkaXNhYmxlX21taW90cmFjZSh2b2lkKTsKK2V4dGVybiB2b2lkIG1taW9fdHJhY2Vfcncoc3RydWN0IG1taW90cmFjZV9ydyAqcncpOworZXh0ZXJuIHZvaWQgbW1pb190cmFjZV9tYXBwaW5nKHN0cnVjdCBtbWlvdHJhY2VfbWFwICptYXApOworCisjZW5kaWYgLyogTU1JT1RSQUNFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmggYi9pbmNsdWRlL2xpbnV4L21vZF9kZXZpY2V0YWJsZS5oCmluZGV4IDY5YjIzNDIuLmM0ZGI1ODIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmgKKysrIGIvaW5jbHVkZS9saW51eC9tb2RfZGV2aWNldGFibGUuaApAQCAtMTU5LDYgKzE1OSwxNSBAQAogCiAjZGVmaW5lIEFQX0RFVklDRV9JRF9NQVRDSF9ERVZJQ0VfVFlQRQkJMHgwMQogCisvKiBzMzkwIGNzcyBidXMgZGV2aWNlcyAoc3ViY2hhbm5lbHMpICovCitzdHJ1Y3QgY3NzX2RldmljZV9pZCB7CisJX191OCBtYXRjaF9mbGFnczsKKwlfX3U4IHR5cGU7IC8qIHN1YmNoYW5uZWwgdHlwZSAqLworCV9fdTE2IHBhZDI7CisJX191MzIgcGFkMzsKKwlrZXJuZWxfdWxvbmdfdCBkcml2ZXJfZGF0YTsKK307CisKICNkZWZpbmUgQUNQSV9JRF9MRU4JMTYgLyogb25seSA5IGJ5dGVzIG5lZWRlZCBoZXJlLCAxNiBieXRlcyBhcmUgdXNlZCAqLwogCQkJICAgLyogdG8gd29ya2Fyb3VuZCBjcm9zc2NvbXBpbGUgaXNzdWVzICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbXBhZ2UuaCBiL2luY2x1ZGUvbGludXgvbXBhZ2UuaAppbmRleCAwNjhhMGM5Li41YzQyODIxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21wYWdlLmgKKysrIGIvaW5jbHVkZS9saW51eC9tcGFnZS5oCkBAIC0xMSwxMSArMTEsMjEgQEAKICAqLwogI2lmZGVmIENPTkZJR19CTE9DSwogCitzdHJ1Y3QgbXBhZ2VfZGF0YSB7CisJc3RydWN0IGJpbyAqYmlvOworCXNlY3Rvcl90IGxhc3RfYmxvY2tfaW5fYmlvOworCWdldF9ibG9ja190ICpnZXRfYmxvY2s7CisJdW5zaWduZWQgdXNlX3dyaXRlcGFnZTsKK307CisKIHN0cnVjdCB3cml0ZWJhY2tfY29udHJvbDsKIAorc3RydWN0IGJpbyAqbXBhZ2VfYmlvX3N1Ym1pdChpbnQgcncsIHN0cnVjdCBiaW8gKmJpbyk7CiBpbnQgbXBhZ2VfcmVhZHBhZ2VzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBzdHJ1Y3QgbGlzdF9oZWFkICpwYWdlcywKIAkJCQl1bnNpZ25lZCBucl9wYWdlcywgZ2V0X2Jsb2NrX3QgZ2V0X2Jsb2NrKTsKIGludCBtcGFnZV9yZWFkcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgZ2V0X2Jsb2NrX3QgZ2V0X2Jsb2NrKTsKK2ludCBfX21wYWdlX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsCisJCSAgICAgIHZvaWQgKmRhdGEpOwogaW50IG1wYWdlX3dyaXRlcGFnZXMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCiAJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjLCBnZXRfYmxvY2tfdCBnZXRfYmxvY2spOwogaW50IG1wYWdlX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgZ2V0X2Jsb2NrX3QgKmdldF9ibG9jaywKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oIGIvaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmgKaW5kZXggZjMxZGViZi4uMGQyYTRlNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmgKKysrIGIvaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmgKQEAgLTE1Nyw2ICsxNTcsNyBAQAogX19QQUdFRkxBRyhTbGFiLCBzbGFiKQogUEFHRUZMQUcoQ2hlY2tlZCwgb3duZXJfcHJpdl8xKQkJLyogVXNlZCBieSBzb21lIGZpbGVzeXN0ZW1zICovCiBQQUdFRkxBRyhQaW5uZWQsIG93bmVyX3ByaXZfMSkgVEVTVFNDRkxBRyhQaW5uZWQsIG93bmVyX3ByaXZfMSkgLyogWGVuICovCitQQUdFRkxBRyhTYXZlUGlubmVkLCBkaXJ0eSk7CQkJCQkvKiBYZW4gKi8KIFBBR0VGTEFHKFJlc2VydmVkLCByZXNlcnZlZCkgX19DTEVBUlBBR0VGTEFHKFJlc2VydmVkLCByZXNlcnZlZCkKIFBBR0VGTEFHKFByaXZhdGUsIHByaXZhdGUpIF9fQ0xFQVJQQUdFRkxBRyhQcml2YXRlLCBwcml2YXRlKQogCV9fU0VUUEFHRUZMQUcoUHJpdmF0ZSwgcHJpdmF0ZSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGFnZWJsb2NrLWZsYWdzLmggYi9pbmNsdWRlL2xpbnV4L3BhZ2VibG9jay1mbGFncy5oCmluZGV4IGU4NzU5MDUuLmU4YzA2MTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcGFnZWJsb2NrLWZsYWdzLmgKKysrIGIvaW5jbHVkZS9saW51eC9wYWdlYmxvY2stZmxhZ3MuaApAQCAtMjUsMTMgKzI1LDExIEBACiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCi0vKiBNYWNybyB0byBhaWQgdGhlIGRlZmluaXRpb24gb2YgcmFuZ2VzIG9mIGJpdHMgKi8KLSNkZWZpbmUgUEJfcmFuZ2UobmFtZSwgcmVxdWlyZWRfYml0cykgXAotCW5hbWUsIG5hbWUgIyMgX2VuZCA9IChuYW1lICsgcmVxdWlyZWRfYml0cykgLSAxCi0KIC8qIEJpdCBpbmRpY2VzIHRoYXQgYWZmZWN0IGEgd2hvbGUgYmxvY2sgb2YgcGFnZXMgKi8KIGVudW0gcGFnZWJsb2NrX2JpdHMgewotCVBCX3JhbmdlKFBCX21pZ3JhdGUsIDMpLCAvKiAzIGJpdHMgcmVxdWlyZWQgZm9yIG1pZ3JhdGUgdHlwZXMgKi8KKwlQQl9taWdyYXRlLAorCVBCX21pZ3JhdGVfZW5kID0gUEJfbWlncmF0ZSArIDMgLSAxLAorCQkJLyogMyBiaXRzIHJlcXVpcmVkIGZvciBtaWdyYXRlIHR5cGVzICovCiAJTlJfUEFHRUJMT0NLX0JJVFMKIH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGVyY3B1X2NvdW50ZXIuaCBiL2luY2x1ZGUvbGludXgvcGVyY3B1X2NvdW50ZXIuaAppbmRleCA5MDA3Y2NkLi4yMDgzODg4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BlcmNwdV9jb3VudGVyLmgKKysrIGIvaW5jbHVkZS9saW51eC9wZXJjcHVfY291bnRlci5oCkBAIC0zNSw3ICszNSw3IEBACiB2b2lkIHBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpOwogdm9pZCBwZXJjcHVfY291bnRlcl9zZXQoc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMsIHM2NCBhbW91bnQpOwogdm9pZCBfX3BlcmNwdV9jb3VudGVyX2FkZChzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYywgczY0IGFtb3VudCwgczMyIGJhdGNoKTsKLXM2NCBfX3BlcmNwdV9jb3VudGVyX3N1bShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYyk7CitzNjQgX19wZXJjcHVfY291bnRlcl9zdW0oc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMsIGludCBzZXQpOwogCiBzdGF0aWMgaW5saW5lIHZvaWQgcGVyY3B1X2NvdW50ZXJfYWRkKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjLCBzNjQgYW1vdW50KQogewpAQCAtNDQsMTMgKzQ0LDE5IEBACiAKIHN0YXRpYyBpbmxpbmUgczY0IHBlcmNwdV9jb3VudGVyX3N1bV9wb3NpdGl2ZShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYykKIHsKLQlzNjQgcmV0ID0gX19wZXJjcHVfY291bnRlcl9zdW0oZmJjKTsKKwlzNjQgcmV0ID0gX19wZXJjcHVfY291bnRlcl9zdW0oZmJjLCAwKTsKIAlyZXR1cm4gcmV0IDwgMCA/IDAgOiByZXQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgczY0IHBlcmNwdV9jb3VudGVyX3N1bV9hbmRfc2V0KHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjKQoreworCXJldHVybiBfX3BlcmNwdV9jb3VudGVyX3N1bShmYmMsIDEpOworfQorCisKIHN0YXRpYyBpbmxpbmUgczY0IHBlcmNwdV9jb3VudGVyX3N1bShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYykKIHsKLQlyZXR1cm4gX19wZXJjcHVfY291bnRlcl9zdW0oZmJjKTsKKwlyZXR1cm4gX19wZXJjcHVfY291bnRlcl9zdW0oZmJjLCAwKTsKIH0KIAogc3RhdGljIGlubGluZSBzNjQgcGVyY3B1X2NvdW50ZXJfcmVhZChzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYykKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oIGIvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKaW5kZXggMjNmMGM1NC4uNzJiMWExMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKKysrIGIvaW5jbHVkZS9saW51eC9wcmVlbXB0LmgKQEAgLTEwLDcgKzEwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogCi0jaWZkZWYgQ09ORklHX0RFQlVHX1BSRUVNUFQKKyNpZiBkZWZpbmVkKENPTkZJR19ERUJVR19QUkVFTVBUKSB8fCBkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikKICAgZXh0ZXJuIHZvaWQgYWRkX3ByZWVtcHRfY291bnQoaW50IHZhbCk7CiAgIGV4dGVybiB2b2lkIHN1Yl9wcmVlbXB0X2NvdW50KGludCB2YWwpOwogI2Vsc2UKQEAgLTUyLDYgKzUyLDM0IEBACiAJcHJlZW1wdF9jaGVja19yZXNjaGVkKCk7IFwKIH0gd2hpbGUgKDApCiAKKy8qIEZvciBkZWJ1Z2dpbmcgYW5kIHRyYWNlciBpbnRlcm5hbHMgb25seSEgKi8KKyNkZWZpbmUgYWRkX3ByZWVtcHRfY291bnRfbm90cmFjZSh2YWwpCQkJXAorCWRvIHsgcHJlZW1wdF9jb3VudCgpICs9ICh2YWwpOyB9IHdoaWxlICgwKQorI2RlZmluZSBzdWJfcHJlZW1wdF9jb3VudF9ub3RyYWNlKHZhbCkJCQlcCisJZG8geyBwcmVlbXB0X2NvdW50KCkgLT0gKHZhbCk7IH0gd2hpbGUgKDApCisjZGVmaW5lIGluY19wcmVlbXB0X2NvdW50X25vdHJhY2UoKSBhZGRfcHJlZW1wdF9jb3VudF9ub3RyYWNlKDEpCisjZGVmaW5lIGRlY19wcmVlbXB0X2NvdW50X25vdHJhY2UoKSBzdWJfcHJlZW1wdF9jb3VudF9ub3RyYWNlKDEpCisKKyNkZWZpbmUgcHJlZW1wdF9kaXNhYmxlX25vdHJhY2UoKSBcCitkbyB7IFwKKwlpbmNfcHJlZW1wdF9jb3VudF9ub3RyYWNlKCk7IFwKKwliYXJyaWVyKCk7IFwKK30gd2hpbGUgKDApCisKKyNkZWZpbmUgcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZF9ub3RyYWNlKCkgXAorZG8geyBcCisJYmFycmllcigpOyBcCisJZGVjX3ByZWVtcHRfY291bnRfbm90cmFjZSgpOyBcCit9IHdoaWxlICgwKQorCisvKiBwcmVlbXB0X2NoZWNrX3Jlc2NoZWQgaXMgT0sgdG8gdHJhY2UgKi8KKyNkZWZpbmUgcHJlZW1wdF9lbmFibGVfbm90cmFjZSgpIFwKK2RvIHsgXAorCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWRfbm90cmFjZSgpOyBcCisJYmFycmllcigpOyBcCisJcHJlZW1wdF9jaGVja19yZXNjaGVkKCk7IFwKK30gd2hpbGUgKDApCisKICNlbHNlCiAKICNkZWZpbmUgcHJlZW1wdF9kaXNhYmxlKCkJCWRvIHsgfSB3aGlsZSAoMCkKQEAgLTU5LDYgKzg3LDEwIEBACiAjZGVmaW5lIHByZWVtcHRfZW5hYmxlKCkJCWRvIHsgfSB3aGlsZSAoMCkKICNkZWZpbmUgcHJlZW1wdF9jaGVja19yZXNjaGVkKCkJCWRvIHsgfSB3aGlsZSAoMCkKIAorI2RlZmluZSBwcmVlbXB0X2Rpc2FibGVfbm90cmFjZSgpCQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIHByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWRfbm90cmFjZSgpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgcHJlZW1wdF9lbmFibGVfbm90cmFjZSgpCQlkbyB7IH0gd2hpbGUgKDApCisKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1BSRUVNUFRfTk9USUZJRVJTCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3B0cmFjZS5oIGIvaW5jbHVkZS9saW51eC9wdHJhY2UuaAppbmRleCBmOTg1MDFiLi5jNmY1ZjlkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3B0cmFjZS5oCisrKyBiL2luY2x1ZGUvbGludXgvcHRyYWNlLmgKQEAgLTk1LDggKzk1LDEyIEBACiAJCQkgIHN0cnVjdCB0YXNrX3N0cnVjdCAqbmV3X3BhcmVudCk7CiBleHRlcm4gdm9pZCBfX3B0cmFjZV91bmxpbmsoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCk7CiBleHRlcm4gdm9pZCBwdHJhY2VfdW50cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKTsKLWV4dGVybiBpbnQgcHRyYWNlX21heV9hdHRhY2goc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKTsKLWV4dGVybiBpbnQgX19wdHJhY2VfbWF5X2F0dGFjaChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spOworI2RlZmluZSBQVFJBQ0VfTU9ERV9SRUFEICAgMQorI2RlZmluZSBQVFJBQ0VfTU9ERV9BVFRBQ0ggMgorLyogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIC1lcnJubyBvbiBkZW5pYWwuICovCitleHRlcm4gaW50IF9fcHRyYWNlX21heV9hY2Nlc3Moc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBpbnQgbW9kZSk7CisvKiBSZXR1cm5zIHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb24gZGVuaWFsLiAqLworZXh0ZXJuIGJvb2wgcHRyYWNlX21heV9hY2Nlc3Moc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBpbnQgbW9kZSk7CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0cmFjZV9yZXBhcmVudGVkKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpCiB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3B3bS5oIGIvaW5jbHVkZS9saW51eC9wd20uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTQ1ZjgwCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9wd20uaApAQCAtMCwwICsxLDMxIEBACisjaWZuZGVmIF9fTElOVVhfUFdNX0gKKyNkZWZpbmUgX19MSU5VWF9QV01fSAorCitzdHJ1Y3QgcHdtX2RldmljZTsKKworLyoKKyAqIHB3bV9yZXF1ZXN0IC0gcmVxdWVzdCBhIFBXTSBkZXZpY2UKKyAqLworc3RydWN0IHB3bV9kZXZpY2UgKnB3bV9yZXF1ZXN0KGludCBwd21faWQsIGNvbnN0IGNoYXIgKmxhYmVsKTsKKworLyoKKyAqIHB3bV9mcmVlIC0gZnJlZSBhIFBXTSBkZXZpY2UKKyAqLwordm9pZCBwd21fZnJlZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKTsKKworLyoKKyAqIHB3bV9jb25maWcgLSBjaGFuZ2UgYSBQV00gZGV2aWNlIGNvbmZpZ3VyYXRpb24KKyAqLworaW50IHB3bV9jb25maWcoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwgaW50IGR1dHlfbnMsIGludCBwZXJpb2RfbnMpOworCisvKgorICogcHdtX2VuYWJsZSAtIHN0YXJ0IGEgUFdNIG91dHB1dCB0b2dnbGluZworICovCitpbnQgcHdtX2VuYWJsZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKTsKKworLyoKKyAqIHB3bV9kaXNhYmxlIC0gc3RvcCBhIFBXTSBvdXRwdXQgdG9nZ2xpbmcKKyAqLwordm9pZCBwd21fZGlzYWJsZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKTsKKworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfUFdNX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcHdtX2JhY2tsaWdodC5oIGIvaW5jbHVkZS9saW51eC9wd21fYmFja2xpZ2h0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5NzU0YwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvcHdtX2JhY2tsaWdodC5oCkBAIC0wLDAgKzEsMTcgQEAKKy8qCisgKiBHZW5lcmljIFBXTSBiYWNrbGlnaHQgZHJpdmVyIGRhdGEgLSBzZWUgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMKKyAqLworI2lmbmRlZiBfX0xJTlVYX1BXTV9CQUNLTElHSFRfSAorI2RlZmluZSBfX0xJTlVYX1BXTV9CQUNLTElHSFRfSAorCitzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIHsKKwlpbnQgcHdtX2lkOworCXVuc2lnbmVkIGludCBtYXhfYnJpZ2h0bmVzczsKKwl1bnNpZ25lZCBpbnQgZGZ0X2JyaWdodG5lc3M7CisJdW5zaWduZWQgaW50IHB3bV9wZXJpb2RfbnM7CisJaW50ICgqaW5pdCkoc3RydWN0IGRldmljZSAqZGV2KTsKKwlpbnQgKCpub3RpZnkpKGludCBicmlnaHRuZXNzKTsKKwl2b2lkICgqZXhpdCkoc3RydWN0IGRldmljZSAqZGV2KTsKK307CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9yY3VjbGFzc2ljLmggYi9pbmNsdWRlL2xpbnV4L3JjdWNsYXNzaWMuaAppbmRleCBiM2FhMDViLi44Yzc3NDkwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3JjdWNsYXNzaWMuaAorKysgYi9pbmNsdWRlL2xpbnV4L3JjdWNsYXNzaWMuaApAQCAtMTUxLDcgKzE1MSwxMCBAQAogCiAjZGVmaW5lIF9fc3luY2hyb25pemVfc2NoZWQoKSBzeW5jaHJvbml6ZV9yY3UoKQogCisjZGVmaW5lIGNhbGxfcmN1X3NjaGVkKGhlYWQsIGZ1bmMpIGNhbGxfcmN1KGhlYWQsIGZ1bmMpCisKIGV4dGVybiB2b2lkIF9fcmN1X2luaXQodm9pZCk7CisjZGVmaW5lIHJjdV9pbml0X3NjaGVkKCkJZG8geyB9IHdoaWxlICgwKQogZXh0ZXJuIHZvaWQgcmN1X2NoZWNrX2NhbGxiYWNrcyhpbnQgY3B1LCBpbnQgdXNlcik7CiBleHRlcm4gdm9pZCByY3VfcmVzdGFydF9jcHUoaW50IGNwdSk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcmN1bGlzdC5oIGIvaW5jbHVkZS9saW51eC9yY3VsaXN0LmgKaW5kZXggYmRlNDU4Ni4uYjBmMzliZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9yY3VsaXN0LmgKKysrIGIvaW5jbHVkZS9saW51eC9yY3VsaXN0LmgKQEAgLTEsNiArMSwzNzMgQEAKICNpZm5kZWYgX0xJTlVYX1JDVUxJU1RfSAogI2RlZmluZSBfTElOVVhfUkNVTElTVF9ICiAKLSNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaWZkZWYgX19LRVJORUxfXwogCi0jZW5kaWYJLyogX0xJTlVYX1JDVUxJU1RfSCAqLworLyoKKyAqIFJDVS1wcm90ZWN0ZWQgbGlzdCB2ZXJzaW9uCisgKi8KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KKworLyoKKyAqIEluc2VydCBhIG5ldyBlbnRyeSBiZXR3ZWVuIHR3byBrbm93biBjb25zZWN1dGl2ZSBlbnRyaWVzLgorICoKKyAqIFRoaXMgaXMgb25seSBmb3IgaW50ZXJuYWwgbGlzdCBtYW5pcHVsYXRpb24gd2hlcmUgd2Uga25vdworICogdGhlIHByZXYvbmV4dCBlbnRyaWVzIGFscmVhZHkhCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2xpc3RfYWRkX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpuZXcsCisJCXN0cnVjdCBsaXN0X2hlYWQgKnByZXYsIHN0cnVjdCBsaXN0X2hlYWQgKm5leHQpCit7CisJbmV3LT5uZXh0ID0gbmV4dDsKKwluZXctPnByZXYgPSBwcmV2OworCXJjdV9hc3NpZ25fcG9pbnRlcihwcmV2LT5uZXh0LCBuZXcpOworCW5leHQtPnByZXYgPSBuZXc7Cit9CisKKy8qKgorICogbGlzdF9hZGRfcmN1IC0gYWRkIGEgbmV3IGVudHJ5IHRvIHJjdS1wcm90ZWN0ZWQgbGlzdAorICogQG5ldzogbmV3IGVudHJ5IHRvIGJlIGFkZGVkCisgKiBAaGVhZDogbGlzdCBoZWFkIHRvIGFkZCBpdCBhZnRlcgorICoKKyAqIEluc2VydCBhIG5ldyBlbnRyeSBhZnRlciB0aGUgc3BlY2lmaWVkIGhlYWQuCisgKiBUaGlzIGlzIGdvb2QgZm9yIGltcGxlbWVudGluZyBzdGFja3MuCisgKgorICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQorICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCisgKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgbGlzdF9hZGRfcmN1KCkKKyAqIG9yIGxpc3RfZGVsX3JjdSgpLCBydW5uaW5nIG9uIHRoaXMgc2FtZSBsaXN0LgorICogSG93ZXZlciwgaXQgaXMgcGVyZmVjdGx5IGxlZ2FsIHRvIHJ1biBjb25jdXJyZW50bHkgd2l0aAorICogdGhlIF9yY3UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgc3VjaCBhcworICogbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGxpc3RfYWRkX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpuZXcsIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCit7CisJX19saXN0X2FkZF9yY3UobmV3LCBoZWFkLCBoZWFkLT5uZXh0KTsKK30KKworLyoqCisgKiBsaXN0X2FkZF90YWlsX3JjdSAtIGFkZCBhIG5ldyBlbnRyeSB0byByY3UtcHJvdGVjdGVkIGxpc3QKKyAqIEBuZXc6IG5ldyBlbnRyeSB0byBiZSBhZGRlZAorICogQGhlYWQ6IGxpc3QgaGVhZCB0byBhZGQgaXQgYmVmb3JlCisgKgorICogSW5zZXJ0IGEgbmV3IGVudHJ5IGJlZm9yZSB0aGUgc3BlY2lmaWVkIGhlYWQuCisgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgaW1wbGVtZW50aW5nIHF1ZXVlcy4KKyAqCisgKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5CisgKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKKyAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBsaXN0X2FkZF90YWlsX3JjdSgpCisgKiBvciBsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KKyAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKKyAqIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCkuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2FkZF90YWlsX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpuZXcsCisJCQkJCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCit7CisJX19saXN0X2FkZF9yY3UobmV3LCBoZWFkLT5wcmV2LCBoZWFkKTsKK30KKworLyoqCisgKiBsaXN0X2RlbF9yY3UgLSBkZWxldGVzIGVudHJ5IGZyb20gbGlzdCB3aXRob3V0IHJlLWluaXRpYWxpemF0aW9uCisgKiBAZW50cnk6IHRoZSBlbGVtZW50IHRvIGRlbGV0ZSBmcm9tIHRoZSBsaXN0LgorICoKKyAqIE5vdGU6IGxpc3RfZW1wdHkoKSBvbiBlbnRyeSBkb2VzIG5vdCByZXR1cm4gdHJ1ZSBhZnRlciB0aGlzLAorICogdGhlIGVudHJ5IGlzIGluIGFuIHVuZGVmaW5lZCBzdGF0ZS4gSXQgaXMgdXNlZnVsIGZvciBSQ1UgYmFzZWQKKyAqIGxvY2tmcmVlIHRyYXZlcnNhbC4KKyAqCisgKiBJbiBwYXJ0aWN1bGFyLCBpdCBtZWFucyB0aGF0IHdlIGNhbiBub3QgcG9pc29uIHRoZSBmb3J3YXJkCisgKiBwb2ludGVycyB0aGF0IG1heSBzdGlsbCBiZSB1c2VkIGZvciB3YWxraW5nIHRoZSBsaXN0LgorICoKKyAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKKyAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZworICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGxpc3RfZGVsX3JjdSgpCisgKiBvciBsaXN0X2FkZF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KKyAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKKyAqIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCkuCisgKgorICogTm90ZSB0aGF0IHRoZSBjYWxsZXIgaXMgbm90IHBlcm1pdHRlZCB0byBpbW1lZGlhdGVseSBmcmVlCisgKiB0aGUgbmV3bHkgZGVsZXRlZCBlbnRyeS4gIEluc3RlYWQsIGVpdGhlciBzeW5jaHJvbml6ZV9yY3UoKQorICogb3IgY2FsbF9yY3UoKSBtdXN0IGJlIHVzZWQgdG8gZGVmZXIgZnJlZWluZyB1bnRpbCBhbiBSQ1UKKyAqIGdyYWNlIHBlcmlvZCBoYXMgZWxhcHNlZC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGxpc3RfZGVsX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICplbnRyeSkKK3sKKwlfX2xpc3RfZGVsKGVudHJ5LT5wcmV2LCBlbnRyeS0+bmV4dCk7CisJZW50cnktPnByZXYgPSBMSVNUX1BPSVNPTjI7Cit9CisKKy8qKgorICogbGlzdF9yZXBsYWNlX3JjdSAtIHJlcGxhY2Ugb2xkIGVudHJ5IGJ5IG5ldyBvbmUKKyAqIEBvbGQgOiB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZAorICogQG5ldyA6IHRoZSBuZXcgZWxlbWVudCB0byBpbnNlcnQKKyAqCisgKiBUaGUgQG9sZCBlbnRyeSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIEBuZXcgZW50cnkgYXRvbWljYWxseS4KKyAqIE5vdGU6IEBvbGQgc2hvdWxkIG5vdCBiZSBlbXB0eS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGxpc3RfcmVwbGFjZV9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqb2xkLAorCQkJCXN0cnVjdCBsaXN0X2hlYWQgKm5ldykKK3sKKwluZXctPm5leHQgPSBvbGQtPm5leHQ7CisJbmV3LT5wcmV2ID0gb2xkLT5wcmV2OworCXJjdV9hc3NpZ25fcG9pbnRlcihuZXctPnByZXYtPm5leHQsIG5ldyk7CisJbmV3LT5uZXh0LT5wcmV2ID0gbmV3OworCW9sZC0+cHJldiA9IExJU1RfUE9JU09OMjsKK30KKworLyoqCisgKiBsaXN0X3NwbGljZV9pbml0X3JjdSAtIHNwbGljZSBhbiBSQ1UtcHJvdGVjdGVkIGxpc3QgaW50byBhbiBleGlzdGluZyBsaXN0LgorICogQGxpc3Q6CXRoZSBSQ1UtcHJvdGVjdGVkIGxpc3QgdG8gc3BsaWNlCisgKiBAaGVhZDoJdGhlIHBsYWNlIGluIHRoZSBsaXN0IHRvIHNwbGljZSB0aGUgZmlyc3QgbGlzdCBpbnRvCisgKiBAc3luYzoJZnVuY3Rpb24gdG8gc3luYzogc3luY2hyb25pemVfcmN1KCksIHN5bmNocm9uaXplX3NjaGVkKCksIC4uLgorICoKKyAqIEBoZWFkIGNhbiBiZSBSQ1UtcmVhZCB0cmF2ZXJzZWQgY29uY3VycmVudGx5IHdpdGggdGhpcyBmdW5jdGlvbi4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBibG9ja3MuCisgKgorICogSW1wb3J0YW50IG5vdGU6IHRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIGFjdGlvbiBpcyBuZWNlc3NhcnkgdG8KKyAqCXByZXZlbnQgYW55IG90aGVyIHVwZGF0ZXMgdG8gQGhlYWQuICBJbiBwcmluY2lwbGUsIGl0IGlzIHBvc3NpYmxlCisgKgl0byBtb2RpZnkgdGhlIGxpc3QgYXMgc29vbiBhcyBzeW5jKCkgYmVnaW5zIGV4ZWN1dGlvbi4KKyAqCUlmIHRoaXMgc29ydCBvZiB0aGluZyBiZWNvbWVzIG5lY2Vzc2FyeSwgYW4gYWx0ZXJuYXRpdmUgdmVyc2lvbgorICoJYmFzZWQgb24gY2FsbF9yY3UoKSBjb3VsZCBiZSBjcmVhdGVkLiAgQnV0IG9ubHkgaWYgLXJlYWxseS0KKyAqCW5lZWRlZCAtLSB0aGVyZSBpcyBubyBzaG9ydGFnZSBvZiBSQ1UgQVBJIG1lbWJlcnMuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X3NwbGljZV9pbml0X3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0LAorCQkJCQlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkLAorCQkJCQl2b2lkICgqc3luYykodm9pZCkpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqZmlyc3QgPSBsaXN0LT5uZXh0OworCXN0cnVjdCBsaXN0X2hlYWQgKmxhc3QgPSBsaXN0LT5wcmV2OworCXN0cnVjdCBsaXN0X2hlYWQgKmF0ID0gaGVhZC0+bmV4dDsKKworCWlmIChsaXN0X2VtcHR5KGhlYWQpKQorCQlyZXR1cm47CisKKwkvKiAiZmlyc3QiIGFuZCAibGFzdCIgdHJhY2tpbmcgbGlzdCwgc28gaW5pdGlhbGl6ZSBpdC4gKi8KKworCUlOSVRfTElTVF9IRUFEKGxpc3QpOworCisJLyoKKwkgKiBBdCB0aGlzIHBvaW50LCB0aGUgbGlzdCBib2R5IHN0aWxsIHBvaW50cyB0byB0aGUgc291cmNlIGxpc3QuCisJICogV2FpdCBmb3IgYW55IHJlYWRlcnMgdG8gZmluaXNoIHVzaW5nIHRoZSBsaXN0IGJlZm9yZSBzcGxpY2luZworCSAqIHRoZSBsaXN0IGJvZHkgaW50byB0aGUgbmV3IGxpc3QuICBBbnkgbmV3IHJlYWRlcnMgd2lsbCBzZWUKKwkgKiBhbiBlbXB0eSBsaXN0LgorCSAqLworCisJc3luYygpOworCisJLyoKKwkgKiBSZWFkZXJzIGFyZSBmaW5pc2hlZCB3aXRoIHRoZSBzb3VyY2UgbGlzdCwgc28gcGVyZm9ybSBzcGxpY2UuCisJICogVGhlIG9yZGVyIGlzIGltcG9ydGFudCBpZiB0aGUgbmV3IGxpc3QgaXMgZ2xvYmFsIGFuZCBhY2Nlc3NpYmxlCisJICogdG8gY29uY3VycmVudCBSQ1UgcmVhZGVycy4gIE5vdGUgdGhhdCBSQ1UgcmVhZGVycyBhcmUgbm90CisJICogcGVybWl0dGVkIHRvIHRyYXZlcnNlIHRoZSBwcmV2IHBvaW50ZXJzIHdpdGhvdXQgZXhjbHVkaW5nCisJICogdGhpcyBmdW5jdGlvbi4KKwkgKi8KKworCWxhc3QtPm5leHQgPSBhdDsKKwlyY3VfYXNzaWduX3BvaW50ZXIoaGVhZC0+bmV4dCwgZmlyc3QpOworCWZpcnN0LT5wcmV2ID0gaGVhZDsKKwlhdC0+cHJldiA9IGxhc3Q7Cit9CisKKy8qKgorICogbGlzdF9mb3JfZWFjaF9yY3UJLQlpdGVyYXRlIG92ZXIgYW4gcmN1LXByb3RlY3RlZCBsaXN0CisgKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KKyAqCisgKiBUaGlzIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtYXkgc2FmZWx5IHJ1biBjb25jdXJyZW50bHkgd2l0aAorICogdGhlIF9yY3UgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmVzIHN1Y2ggYXMgbGlzdF9hZGRfcmN1KCkKKyAqIGFzIGxvbmcgYXMgdGhlIHRyYXZlcnNhbCBpcyBndWFyZGVkIGJ5IHJjdV9yZWFkX2xvY2soKS4KKyAqLworI2RlZmluZSBsaXN0X2Zvcl9lYWNoX3JjdShwb3MsIGhlYWQpIFwKKwlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpOyBcCisJCXByZWZldGNoKHBvcy0+bmV4dCksIHBvcyAhPSAoaGVhZCk7IFwKKwkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCisKKyNkZWZpbmUgX19saXN0X2Zvcl9lYWNoX3JjdShwb3MsIGhlYWQpIFwKKwlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpOyBcCisJCXBvcyAhPSAoaGVhZCk7IFwKKwkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCisKKy8qKgorICogbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UJLQlpdGVyYXRlIG92ZXIgcmN1IGxpc3Qgb2YgZ2l2ZW4gdHlwZQorICogQHBvczoJdGhlIHR5cGUgKiB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KKyAqIEBoZWFkOgl0aGUgaGVhZCBmb3IgeW91ciBsaXN0LgorICogQG1lbWJlcjoJdGhlIG5hbWUgb2YgdGhlIGxpc3Rfc3RydWN0IHdpdGhpbiB0aGUgc3RydWN0LgorICoKKyAqIFRoaXMgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlIG1heSBzYWZlbHkgcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZXMgc3VjaCBhcyBsaXN0X2FkZF9yY3UoKQorICogYXMgbG9uZyBhcyB0aGUgdHJhdmVyc2FsIGlzIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgorICovCisjZGVmaW5lIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHBvcywgaGVhZCwgbWVtYmVyKSBcCisJZm9yIChwb3MgPSBsaXN0X2VudHJ5KHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpLCB0eXBlb2YoKnBvcyksIG1lbWJlcik7IFwKKwkJcHJlZmV0Y2gocG9zLT5tZW1iZXIubmV4dCksICZwb3MtPm1lbWJlciAhPSAoaGVhZCk7IFwKKwkJcG9zID0gbGlzdF9lbnRyeShyY3VfZGVyZWZlcmVuY2UocG9zLT5tZW1iZXIubmV4dCksIHR5cGVvZigqcG9zKSwgbWVtYmVyKSkKKworCisvKioKKyAqIGxpc3RfZm9yX2VhY2hfY29udGludWVfcmN1CisgKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KKyAqCisgKiBJdGVyYXRlIG92ZXIgYW4gcmN1LXByb3RlY3RlZCBsaXN0LCBjb250aW51aW5nIGFmdGVyIGN1cnJlbnQgcG9pbnQuCisgKgorICogVGhpcyBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbWF5IHNhZmVseSBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlcyBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCisgKiBhcyBsb25nIGFzIHRoZSB0cmF2ZXJzYWwgaXMgZ3VhcmRlZCBieSByY3VfcmVhZF9sb2NrKCkuCisgKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UocG9zLCBoZWFkKSBcCisJZm9yICgocG9zKSA9IHJjdV9kZXJlZmVyZW5jZSgocG9zKS0+bmV4dCk7IFwKKwkJcHJlZmV0Y2goKHBvcyktPm5leHQpLCAocG9zKSAhPSAoaGVhZCk7IFwKKwkJKHBvcykgPSByY3VfZGVyZWZlcmVuY2UoKHBvcyktPm5leHQpKQorCisvKioKKyAqIGhsaXN0X2RlbF9yY3UgLSBkZWxldGVzIGVudHJ5IGZyb20gaGFzaCBsaXN0IHdpdGhvdXQgcmUtaW5pdGlhbGl6YXRpb24KKyAqIEBuOiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgaGFzaCBsaXN0LgorICoKKyAqIE5vdGU6IGxpc3RfdW5oYXNoZWQoKSBvbiBlbnRyeSBkb2VzIG5vdCByZXR1cm4gdHJ1ZSBhZnRlciB0aGlzLAorICogdGhlIGVudHJ5IGlzIGluIGFuIHVuZGVmaW5lZCBzdGF0ZS4gSXQgaXMgdXNlZnVsIGZvciBSQ1UgYmFzZWQKKyAqIGxvY2tmcmVlIHRyYXZlcnNhbC4KKyAqCisgKiBJbiBwYXJ0aWN1bGFyLCBpdCBtZWFucyB0aGF0IHdlIGNhbiBub3QgcG9pc29uIHRoZSBmb3J3YXJkCisgKiBwb2ludGVycyB0aGF0IG1heSBzdGlsbCBiZSB1c2VkIGZvciB3YWxraW5nIHRoZSBoYXNoIGxpc3QuCisgKgorICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQorICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCisgKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKKyAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KKyAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKKyAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KCkuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9kZWxfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuKQoreworCV9faGxpc3RfZGVsKG4pOworCW4tPnBwcmV2ID0gTElTVF9QT0lTT04yOworfQorCisvKioKKyAqIGhsaXN0X3JlcGxhY2VfcmN1IC0gcmVwbGFjZSBvbGQgZW50cnkgYnkgbmV3IG9uZQorICogQG9sZCA6IHRoZSBlbGVtZW50IHRvIGJlIHJlcGxhY2VkCisgKiBAbmV3IDogdGhlIG5ldyBlbGVtZW50IHRvIGluc2VydAorICoKKyAqIFRoZSBAb2xkIGVudHJ5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgQG5ldyBlbnRyeSBhdG9taWNhbGx5LgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfcmVwbGFjZV9yY3Uoc3RydWN0IGhsaXN0X25vZGUgKm9sZCwKKwkJCQkJc3RydWN0IGhsaXN0X25vZGUgKm5ldykKK3sKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSAqbmV4dCA9IG9sZC0+bmV4dDsKKworCW5ldy0+bmV4dCA9IG5leHQ7CisJbmV3LT5wcHJldiA9IG9sZC0+cHByZXY7CisJcmN1X2Fzc2lnbl9wb2ludGVyKCpuZXctPnBwcmV2LCBuZXcpOworCWlmIChuZXh0KQorCQluZXctPm5leHQtPnBwcmV2ID0gJm5ldy0+bmV4dDsKKwlvbGQtPnBwcmV2ID0gTElTVF9QT0lTT04yOworfQorCisvKioKKyAqIGhsaXN0X2FkZF9oZWFkX3JjdQorICogQG46IHRoZSBlbGVtZW50IHRvIGFkZCB0byB0aGUgaGFzaCBsaXN0LgorICogQGg6IHRoZSBsaXN0IHRvIGFkZCB0by4KKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QsCisgKiB3aGlsZSBwZXJtaXR0aW5nIHJhY2luZyB0cmF2ZXJzYWxzLgorICoKKyAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKKyAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZworICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCisgKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCisgKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCisgKiBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKSwgdXNlZCB0byBwcmV2ZW50IG1lbW9yeS1jb25zaXN0ZW5jeQorICogcHJvYmxlbXMgb24gQWxwaGEgQ1BVcy4gIFJlZ2FyZGxlc3Mgb2YgdGhlIHR5cGUgb2YgQ1BVLCB0aGUKKyAqIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtdXN0IGJlIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2hlYWRfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuLAorCQkJCQlzdHJ1Y3QgaGxpc3RfaGVhZCAqaCkKK3sKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSAqZmlyc3QgPSBoLT5maXJzdDsKKworCW4tPm5leHQgPSBmaXJzdDsKKwluLT5wcHJldiA9ICZoLT5maXJzdDsKKwlyY3VfYXNzaWduX3BvaW50ZXIoaC0+Zmlyc3QsIG4pOworCWlmIChmaXJzdCkKKwkJZmlyc3QtPnBwcmV2ID0gJm4tPm5leHQ7Cit9CisKKy8qKgorICogaGxpc3RfYWRkX2JlZm9yZV9yY3UKKyAqIEBuOiB0aGUgbmV3IGVsZW1lbnQgdG8gYWRkIHRvIHRoZSBoYXNoIGxpc3QuCisgKiBAbmV4dDogdGhlIGV4aXN0aW5nIGVsZW1lbnQgdG8gYWRkIHRoZSBuZXcgZWxlbWVudCBiZWZvcmUuCisgKgorICogRGVzY3JpcHRpb246CisgKiBBZGRzIHRoZSBzcGVjaWZpZWQgZWxlbWVudCB0byB0aGUgc3BlY2lmaWVkIGhsaXN0CisgKiBiZWZvcmUgdGhlIHNwZWNpZmllZCBub2RlIHdoaWxlIHBlcm1pdHRpbmcgcmFjaW5nIHRyYXZlcnNhbHMuCisgKgorICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQorICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCisgKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKKyAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KKyAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKKyAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLCB1c2VkIHRvIHByZXZlbnQgbWVtb3J5LWNvbnNpc3RlbmN5CisgKiBwcm9ibGVtcyBvbiBBbHBoYSBDUFVzLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2JlZm9yZV9yY3Uoc3RydWN0IGhsaXN0X25vZGUgKm4sCisJCQkJCXN0cnVjdCBobGlzdF9ub2RlICpuZXh0KQoreworCW4tPnBwcmV2ID0gbmV4dC0+cHByZXY7CisJbi0+bmV4dCA9IG5leHQ7CisJcmN1X2Fzc2lnbl9wb2ludGVyKCoobi0+cHByZXYpLCBuKTsKKwluZXh0LT5wcHJldiA9ICZuLT5uZXh0OworfQorCisvKioKKyAqIGhsaXN0X2FkZF9hZnRlcl9yY3UKKyAqIEBwcmV2OiB0aGUgZXhpc3RpbmcgZWxlbWVudCB0byBhZGQgdGhlIG5ldyBlbGVtZW50IGFmdGVyLgorICogQG46IHRoZSBuZXcgZWxlbWVudCB0byBhZGQgdG8gdGhlIGhhc2ggbGlzdC4KKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QKKyAqIGFmdGVyIHRoZSBzcGVjaWZpZWQgbm9kZSB3aGlsZSBwZXJtaXR0aW5nIHJhY2luZyB0cmF2ZXJzYWxzLgorICoKKyAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKKyAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZworICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCisgKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCisgKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCisgKiBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKSwgdXNlZCB0byBwcmV2ZW50IG1lbW9yeS1jb25zaXN0ZW5jeQorICogcHJvYmxlbXMgb24gQWxwaGEgQ1BVcy4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9hZnRlcl9yY3Uoc3RydWN0IGhsaXN0X25vZGUgKnByZXYsCisJCQkJICAgICAgIHN0cnVjdCBobGlzdF9ub2RlICpuKQoreworCW4tPm5leHQgPSBwcmV2LT5uZXh0OworCW4tPnBwcmV2ID0gJnByZXYtPm5leHQ7CisJcmN1X2Fzc2lnbl9wb2ludGVyKHByZXYtPm5leHQsIG4pOworCWlmIChuLT5uZXh0KQorCQluLT5uZXh0LT5wcHJldiA9ICZuLT5uZXh0OworfQorCisvKioKKyAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSAtIGl0ZXJhdGUgb3ZlciByY3UgbGlzdCBvZiBnaXZlbiB0eXBlCisgKiBAdHBvczoJdGhlIHR5cGUgKiB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KKyAqIEBwb3M6CXRoZSAmc3RydWN0IGhsaXN0X25vZGUgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KKyAqIEBtZW1iZXI6CXRoZSBuYW1lIG9mIHRoZSBobGlzdF9ub2RlIHdpdGhpbiB0aGUgc3RydWN0LgorICoKKyAqIFRoaXMgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlIG1heSBzYWZlbHkgcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZXMgc3VjaCBhcyBobGlzdF9hZGRfaGVhZF9yY3UoKQorICogYXMgbG9uZyBhcyB0aGUgdHJhdmVyc2FsIGlzIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgorICovCisjZGVmaW5lIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSh0cG9zLCBwb3MsIGhlYWQsIG1lbWJlcikJCSBcCisJZm9yIChwb3MgPSByY3VfZGVyZWZlcmVuY2UoKGhlYWQpLT5maXJzdCk7CQkJIFwKKwkJcG9zICYmICh7IHByZWZldGNoKHBvcy0+bmV4dCk7IDE7IH0pICYmCQkJIFwKKwkJKHsgdHBvcyA9IGhsaXN0X2VudHJ5KHBvcywgdHlwZW9mKCp0cG9zKSwgbWVtYmVyKTsgMTsgfSk7IFwKKwkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCisKKyNlbmRpZgkvKiBfX0tFUk5FTF9fICovCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcmN1cGRhdGUuaCBiL2luY2x1ZGUvbGludXgvcmN1cGRhdGUuaAppbmRleCBkNDJkYmVjLi5lOGI0MDM5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKKysrIGIvaW5jbHVkZS9saW51eC9yY3VwZGF0ZS5oCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcWxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9sb2NrZGVwLmg+CisjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogCiAvKioKICAqIHN0cnVjdCByY3VfaGVhZCAtIGNhbGxiYWNrIHN0cnVjdHVyZSBmb3IgdXNlIHdpdGggUkNVCkBAIC0xNjgsNiArMTY5LDI3IEBACiAJCShwKSA9ICh2KTsgXAogCX0pCiAKKy8qIEluZnJhc3RydWN0dXJlIHRvIGltcGxlbWVudCB0aGUgc3luY2hyb25pemVfKCkgcHJpbWl0aXZlcy4gKi8KKworc3RydWN0IHJjdV9zeW5jaHJvbml6ZSB7CisJc3RydWN0IHJjdV9oZWFkIGhlYWQ7CisJc3RydWN0IGNvbXBsZXRpb24gY29tcGxldGlvbjsKK307CisKK2V4dGVybiB2b2lkIHdha2VtZV9hZnRlcl9yY3Uoc3RydWN0IHJjdV9oZWFkICAqaGVhZCk7CisKKyNkZWZpbmUgc3luY2hyb25pemVfcmN1X3h4eChuYW1lLCBmdW5jKSBcCit2b2lkIG5hbWUodm9pZCkgXAoreyBcCisJc3RydWN0IHJjdV9zeW5jaHJvbml6ZSByY3U7IFwKKwlcCisJaW5pdF9jb21wbGV0aW9uKCZyY3UuY29tcGxldGlvbik7IFwKKwkvKiBXaWxsIHdha2UgbWUgYWZ0ZXIgUkNVIGZpbmlzaGVkLiAqLyBcCisJZnVuYygmcmN1LmhlYWQsIHdha2VtZV9hZnRlcl9yY3UpOyBcCisJLyogV2FpdCBmb3IgaXQuICovIFwKKwl3YWl0X2Zvcl9jb21wbGV0aW9uKCZyY3UuY29tcGxldGlvbik7IFwKK30KKwogLyoqCiAgKiBzeW5jaHJvbml6ZV9zY2hlZCAtIGJsb2NrIHVudGlsIGFsbCBDUFVzIGhhdmUgZXhpdGVkIGFueSBub24tcHJlZW1wdGl2ZQogICoga2VybmVsIGNvZGUgc2VxdWVuY2VzLgpAQCAtMjI0LDggKzI0Niw4IEBACiAvKiBFeHBvcnRlZCBjb21tb24gaW50ZXJmYWNlcyAqLwogZXh0ZXJuIHZvaWQgc3luY2hyb25pemVfcmN1KHZvaWQpOwogZXh0ZXJuIHZvaWQgcmN1X2JhcnJpZXIodm9pZCk7Ci1leHRlcm4gbG9uZyByY3VfYmF0Y2hlc19jb21wbGV0ZWQodm9pZCk7Ci1leHRlcm4gbG9uZyByY3VfYmF0Y2hlc19jb21wbGV0ZWRfYmgodm9pZCk7CitleHRlcm4gdm9pZCByY3VfYmFycmllcl9iaCh2b2lkKTsKK2V4dGVybiB2b2lkIHJjdV9iYXJyaWVyX3NjaGVkKHZvaWQpOwogCiAvKiBJbnRlcm5hbCB0byBrZXJuZWwgKi8KIGV4dGVybiB2b2lkIHJjdV9pbml0KHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9yY3VwcmVlbXB0LmggYi9pbmNsdWRlL2xpbnV4L3JjdXByZWVtcHQuaAppbmRleCA4YTA1YzdlLi5mMDRiNjRlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3JjdXByZWVtcHQuaAorKysgYi9pbmNsdWRlL2xpbnV4L3JjdXByZWVtcHQuaApAQCAtNDAsMTAgKzQwLDM5IEBACiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcWxvY2suaD4KIAotI2RlZmluZSByY3VfcXNjdHJfaW5jKGNwdSkKK3N0cnVjdCByY3VfZHludGlja19zY2hlZCB7CisJaW50IGR5bnRpY2tzOworCWludCBkeW50aWNrc19zbmFwOworCWludCBzY2hlZF9xczsKKwlpbnQgc2NoZWRfcXNfc25hcDsKKwlpbnQgc2NoZWRfZHludGlja3Nfc25hcDsKK307CisKK0RFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQsIHJjdV9keW50aWNrX3NjaGVkKTsKKworc3RhdGljIGlubGluZSB2b2lkIHJjdV9xc2N0cl9pbmMoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwlyZHNzcC0+c2NoZWRfcXMrKzsKK30KICNkZWZpbmUgcmN1X2JoX3FzY3RyX2luYyhjcHUpCiAjZGVmaW5lIGNhbGxfcmN1X2JoKGhlYWQsIHJjdSkgY2FsbF9yY3UoaGVhZCwgcmN1KQogCisvKioKKyAqIGNhbGxfcmN1X3NjaGVkIC0gUXVldWUgUkNVIGNhbGxiYWNrIGZvciBpbnZvY2F0aW9uIGFmdGVyIHNjaGVkIGdyYWNlIHBlcmlvZC4KKyAqIEBoZWFkOiBzdHJ1Y3R1cmUgdG8gYmUgdXNlZCBmb3IgcXVldWVpbmcgdGhlIFJDVSB1cGRhdGVzLgorICogQGZ1bmM6IGFjdHVhbCB1cGRhdGUgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCBhZnRlciB0aGUgZ3JhY2UgcGVyaW9kCisgKgorICogVGhlIHVwZGF0ZSBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgc29tZSB0aW1lIGFmdGVyIGEgZnVsbAorICogc3luY2hyb25pemVfc2NoZWQoKS1zdHlsZSBncmFjZSBwZXJpb2QgZWxhcHNlcywgaW4gb3RoZXIgd29yZHMgYWZ0ZXIKKyAqIGFsbCBjdXJyZW50bHkgZXhlY3V0aW5nIHByZWVtcHQtZGlzYWJsZWQgc2VjdGlvbnMgb2YgY29kZSAoaW5jbHVkaW5nCisgKiBoYXJkaXJxIGhhbmRsZXJzLCBOTUkgaGFuZGxlcnMsIGFuZCBsb2NhbF9pcnFfc2F2ZSgpIGJsb2NrcykgaGF2ZQorICogY29tcGxldGVkLgorICovCitleHRlcm4gdm9pZCBjYWxsX3JjdV9zY2hlZChzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQsCisJCQkgICB2b2lkICgqZnVuYykoc3RydWN0IHJjdV9oZWFkICpoZWFkKSk7CisKIGV4dGVybiB2b2lkIF9fcmN1X3JlYWRfbG9jayh2b2lkKQlfX2FjcXVpcmVzKFJDVSk7CiBleHRlcm4gdm9pZCBfX3JjdV9yZWFkX3VubG9jayh2b2lkKQlfX3JlbGVhc2VzKFJDVSk7CiBleHRlcm4gaW50IHJjdV9wZW5kaW5nKGludCBjcHUpOwpAQCAtNTUsNiArODQsNyBAQAogZXh0ZXJuIHZvaWQgX19zeW5jaHJvbml6ZV9zY2hlZCh2b2lkKTsKIAogZXh0ZXJuIHZvaWQgX19yY3VfaW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIHJjdV9pbml0X3NjaGVkKHZvaWQpOwogZXh0ZXJuIHZvaWQgcmN1X2NoZWNrX2NhbGxiYWNrcyhpbnQgY3B1LCBpbnQgdXNlcik7CiBleHRlcm4gdm9pZCByY3VfcmVzdGFydF9jcHUoaW50IGNwdSk7CiBleHRlcm4gbG9uZyByY3VfYmF0Y2hlc19jb21wbGV0ZWQodm9pZCk7CkBAIC04MSwyMCArMTExLDIwIEBACiBzdHJ1Y3Qgc29mdGlycV9hY3Rpb247CiAKICNpZmRlZiBDT05GSUdfTk9fSFoKLURFQ0xBUkVfUEVSX0NQVShsb25nLCBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyKTsKK0RFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQsIHJjdV9keW50aWNrX3NjaGVkKTsKIAogc3RhdGljIGlubGluZSB2b2lkIHJjdV9lbnRlcl9ub2h6KHZvaWQpCiB7CiAJc21wX21iKCk7IC8qIENQVXMgc2VlaW5nICsrIG11c3Qgc2VlIHByaW9yIFJDVSByZWFkLXNpZGUgY3JpdCBzZWN0cyAqLwotCV9fZ2V0X2NwdV92YXIoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlcikrKzsKLQlXQVJOX09OKF9fZ2V0X2NwdV92YXIoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlcikgJiAweDEpOworCV9fZ2V0X2NwdV92YXIocmN1X2R5bnRpY2tfc2NoZWQpLmR5bnRpY2tzKys7CisJV0FSTl9PTihfX2dldF9jcHVfdmFyKHJjdV9keW50aWNrX3NjaGVkKS5keW50aWNrcyAmIDB4MSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCByY3VfZXhpdF9ub2h6KHZvaWQpCiB7Ci0JX19nZXRfY3B1X3ZhcihkeW50aWNrc19wcm9ncmVzc19jb3VudGVyKSsrOwogCXNtcF9tYigpOyAvKiBDUFVzIHNlZWluZyArKyBtdXN0IHNlZSBsYXRlciBSQ1UgcmVhZC1zaWRlIGNyaXQgc2VjdHMgKi8KLQlXQVJOX09OKCEoX19nZXRfY3B1X3ZhcihkeW50aWNrc19wcm9ncmVzc19jb3VudGVyKSAmIDB4MSkpOworCV9fZ2V0X2NwdV92YXIocmN1X2R5bnRpY2tfc2NoZWQpLmR5bnRpY2tzKys7CisJV0FSTl9PTighKF9fZ2V0X2NwdV92YXIocmN1X2R5bnRpY2tfc2NoZWQpLmR5bnRpY2tzICYgMHgxKSk7CiB9CiAKICNlbHNlIC8qIENPTkZJR19OT19IWiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9yZXN1bWUtdHJhY2UuaCBiL2luY2x1ZGUvbGludXgvcmVzdW1lLXRyYWNlLmgKaW5kZXggZjNmNGYyOC4uYzliYTJmZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9yZXN1bWUtdHJhY2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L3Jlc3VtZS10cmFjZS5oCkBAIC04LDcgKzgsNyBAQAogCiBzdHJ1Y3QgZGV2aWNlOwogZXh0ZXJuIHZvaWQgc2V0X3RyYWNlX2RldmljZShzdHJ1Y3QgZGV2aWNlICopOwotZXh0ZXJuIHZvaWQgZ2VuZXJhdGVfcmVzdW1lX3RyYWNlKHZvaWQgKnRyYWNlZGF0YSwgdW5zaWduZWQgaW50IHVzZXIpOworZXh0ZXJuIHZvaWQgZ2VuZXJhdGVfcmVzdW1lX3RyYWNlKGNvbnN0IHZvaWQgKnRyYWNlZGF0YSwgdW5zaWduZWQgaW50IHVzZXIpOwogCiAjZGVmaW5lIFRSQUNFX0RFVklDRShkZXYpIGRvIHsgXAogCWlmIChwbV90cmFjZV9lbmFibGVkKSBcCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmggYi9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKaW5kZXggYzVkM2Y4NC4uMjEzNDkxNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zY2hlZC5oCisrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaApAQCAtMTM0LDcgKzEzNCw2IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl91bmludGVycnVwdGlibGUodm9pZCk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9hY3RpdmUodm9pZCk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9pb3dhaXQodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyB3ZWlnaHRlZF9jcHVsb2FkKGNvbnN0IGludCBjcHUpOwogCiBzdHJ1Y3Qgc2VxX2ZpbGU7CiBzdHJ1Y3QgY2ZzX3JxOwpAQCAtMjQ2LDYgKzI0NSw4IEBACiBleHRlcm4gdm9pZCBpbml0X2lkbGUoc3RydWN0IHRhc2tfc3RydWN0ICppZGxlLCBpbnQgY3B1KTsKIGV4dGVybiB2b2lkIGluaXRfaWRsZV9ib290dXBfdGFzayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmlkbGUpOwogCitleHRlcm4gaW50IHJ1bnF1ZXVlX2lzX2xvY2tlZCh2b2lkKTsKKwogZXh0ZXJuIGNwdW1hc2tfdCBub2h6X2NwdV9tYXNrOwogI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfTk9fSFopCiBleHRlcm4gaW50IHNlbGVjdF9ub2h6X2xvYWRfYmFsYW5jZXIoaW50IGNwdSk7CkBAIC03ODQsNiArNzg1LDggQEAKIAl1bnNpZ25lZCBpbnQgYmFsYW5jZV9pbnRlcnZhbDsJLyogaW5pdGlhbGlzZSB0byAxLiB1bml0cyBpbiBtcy4gKi8KIAl1bnNpZ25lZCBpbnQgbnJfYmFsYW5jZV9mYWlsZWQ7IC8qIGluaXRpYWxpc2UgdG8gMCAqLwogCisJdTY0IGxhc3RfdXBkYXRlOworCiAjaWZkZWYgQ09ORklHX1NDSEVEU1RBVFMKIAkvKiBsb2FkX2JhbGFuY2UoKSBzdGF0cyAqLwogCXVuc2lnbmVkIGludCBsYl9jb3VudFtDUFVfTUFYX0lETEVfVFlQRVNdOwpAQCAtODIzLDIzICs4MjYsNiBAQAogCiAjZW5kaWYJLyogQ09ORklHX1NNUCAqLwogCi0vKgotICogQSBydW5xdWV1ZSBsYWRlbiB3aXRoIGEgc2luZ2xlIG5pY2UgMCB0YXNrIHNjb3JlcyBhIHdlaWdodGVkX2NwdWxvYWQgb2YKLSAqIFNDSEVEX0xPQURfU0NBTEUuIFRoaXMgZnVuY3Rpb24gcmV0dXJucyAxIGlmIGFueSBjcHUgaXMgbGFkZW4gd2l0aCBhCi0gKiB0YXNrIG9mIG5pY2UgMCBvciBlbm91Z2ggbG93ZXIgcHJpb3JpdHkgdGFza3MgdG8gYnJpbmcgdXAgdGhlCi0gKiB3ZWlnaHRlZF9jcHVsb2FkCi0gKi8KLXN0YXRpYyBpbmxpbmUgaW50IGFib3ZlX2JhY2tncm91bmRfbG9hZCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgY3B1OwotCi0JZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKLQkJaWYgKHdlaWdodGVkX2NwdWxvYWQoY3B1KSA+PSBTQ0hFRF9MT0FEX1NDQUxFKQotCQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotCiBzdHJ1Y3QgaW9fY29udGV4dDsJCQkvKiBTZWUgYmxrZGV2LmggKi8KICNkZWZpbmUgTkdST1VQU19TTUFMTAkJMzIKICNkZWZpbmUgTkdST1VQU19QRVJfQkxPQ0sJKCh1bnNpZ25lZCBpbnQpKFBBR0VfU0laRSAvIHNpemVvZihnaWRfdCkpKQpAQCAtOTIxLDggKzkwNyw4IEBACiAJdm9pZCAoKnNldF9jcHVzX2FsbG93ZWQpKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwKIAkJCQkgY29uc3QgY3B1bWFza190ICpuZXdtYXNrKTsKIAotCXZvaWQgKCpqb2luX2RvbWFpbikoc3RydWN0IHJxICpycSk7Ci0Jdm9pZCAoKmxlYXZlX2RvbWFpbikoc3RydWN0IHJxICpycSk7CisJdm9pZCAoKnJxX29ubGluZSkoc3RydWN0IHJxICpycSk7CisJdm9pZCAoKnJxX29mZmxpbmUpKHN0cnVjdCBycSAqcnEpOwogCiAJdm9pZCAoKnN3aXRjaGVkX2Zyb20pIChzdHJ1Y3QgcnEgKnRoaXNfcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywKIAkJCSAgICAgICBpbnQgcnVubmluZyk7CkBAIC0xMDM5LDYgKzEwMjUsNyBAQAogI2VuZGlmCiAKIAlpbnQgcHJpbywgc3RhdGljX3ByaW8sIG5vcm1hbF9wcmlvOworCXVuc2lnbmVkIGludCBydF9wcmlvcml0eTsKIAljb25zdCBzdHJ1Y3Qgc2NoZWRfY2xhc3MgKnNjaGVkX2NsYXNzOwogCXN0cnVjdCBzY2hlZF9lbnRpdHkgc2U7CiAJc3RydWN0IHNjaGVkX3J0X2VudGl0eSBydDsKQEAgLTExMjIsNyArMTEwOSw2IEBACiAJaW50IF9fdXNlciAqc2V0X2NoaWxkX3RpZDsJCS8qIENMT05FX0NISUxEX1NFVFRJRCAqLwogCWludCBfX3VzZXIgKmNsZWFyX2NoaWxkX3RpZDsJCS8qIENMT05FX0NISUxEX0NMRUFSVElEICovCiAKLQl1bnNpZ25lZCBpbnQgcnRfcHJpb3JpdHk7CiAJY3B1dGltZV90IHV0aW1lLCBzdGltZSwgdXRpbWVzY2FsZWQsIHN0aW1lc2NhbGVkOwogCWNwdXRpbWVfdCBndGltZTsKIAljcHV0aW1lX3QgcHJldl91dGltZSwgcHJldl9zdGltZTsKQEAgLTExNDEsMTIgKzExMjcsMTIgQEAKIAlnaWRfdCBnaWQsZWdpZCxzZ2lkLGZzZ2lkOwogCXN0cnVjdCBncm91cF9pbmZvICpncm91cF9pbmZvOwogCWtlcm5lbF9jYXBfdCAgIGNhcF9lZmZlY3RpdmUsIGNhcF9pbmhlcml0YWJsZSwgY2FwX3Blcm1pdHRlZCwgY2FwX2JzZXQ7Ci0JdW5zaWduZWQgc2VjdXJlYml0czsKIAlzdHJ1Y3QgdXNlcl9zdHJ1Y3QgKnVzZXI7CisJdW5zaWduZWQgc2VjdXJlYml0czsKICNpZmRlZiBDT05GSUdfS0VZUworCXVuc2lnbmVkIGNoYXIgaml0X2tleXJpbmc7CS8qIGRlZmF1bHQga2V5cmluZyB0byBhdHRhY2ggcmVxdWVzdGVkIGtleXMgdG8gKi8KIAlzdHJ1Y3Qga2V5ICpyZXF1ZXN0X2tleV9hdXRoOwkvKiBhc3N1bWVkIHJlcXVlc3Rfa2V5IGF1dGhvcml0eSAqLwogCXN0cnVjdCBrZXkgKnRocmVhZF9rZXlyaW5nOwkvKiBrZXlyaW5nIHByaXZhdGUgdG8gdGhpcyB0aHJlYWQgKi8KLQl1bnNpZ25lZCBjaGFyIGppdF9rZXlyaW5nOwkvKiBkZWZhdWx0IGtleXJpbmcgdG8gYXR0YWNoIHJlcXVlc3RlZCBrZXlzIHRvICovCiAjZW5kaWYKIAljaGFyIGNvbW1bVEFTS19DT01NX0xFTl07IC8qIGV4ZWN1dGFibGUgbmFtZSBleGNsdWRpbmcgcGF0aAogCQkJCSAgICAgLSBhY2Nlc3Mgd2l0aCBbZ3NdZXRfdGFza19jb21tICh3aGljaCBsb2NrCkBAIC0xMjMzLDggKzEyMTksOCBAQAogIyBkZWZpbmUgTUFYX0xPQ0tfREVQVEggNDhVTAogCXU2NCBjdXJyX2NoYWluX2tleTsKIAlpbnQgbG9ja2RlcF9kZXB0aDsKLQlzdHJ1Y3QgaGVsZF9sb2NrIGhlbGRfbG9ja3NbTUFYX0xPQ0tfREVQVEhdOwogCXVuc2lnbmVkIGludCBsb2NrZGVwX3JlY3Vyc2lvbjsKKwlzdHJ1Y3QgaGVsZF9sb2NrIGhlbGRfbG9ja3NbTUFYX0xPQ0tfREVQVEhdOwogI2VuZGlmCiAKIC8qIGpvdXJuYWxsaW5nIGZpbGVzeXN0ZW0gaW5mbyAqLwpAQCAtMTI2MiwxMCArMTI0OCw2IEBACiAJdTY0IGFjY3Rfdm1fbWVtMTsJLyogYWNjdW11bGF0ZWQgdmlydHVhbCBtZW1vcnkgdXNhZ2UgKi8KIAljcHV0aW1lX3QgYWNjdF9zdGltZXhwZDsvKiBzdGltZSBzaW5jZSBsYXN0IHVwZGF0ZSAqLwogI2VuZGlmCi0jaWZkZWYgQ09ORklHX05VTUEKLSAgCXN0cnVjdCBtZW1wb2xpY3kgKm1lbXBvbGljeTsKLQlzaG9ydCBpbF9uZXh0OwotI2VuZGlmCiAjaWZkZWYgQ09ORklHX0NQVVNFVFMKIAlub2RlbWFza190IG1lbXNfYWxsb3dlZDsKIAlpbnQgY3B1c2V0X21lbXNfZ2VuZXJhdGlvbjsKQEAgLTEyODUsNiArMTI2NywxMCBAQAogCXN0cnVjdCBsaXN0X2hlYWQgcGlfc3RhdGVfbGlzdDsKIAlzdHJ1Y3QgZnV0ZXhfcGlfc3RhdGUgKnBpX3N0YXRlX2NhY2hlOwogI2VuZGlmCisjaWZkZWYgQ09ORklHX05VTUEKKwlzdHJ1Y3QgbWVtcG9saWN5ICptZW1wb2xpY3k7CisJc2hvcnQgaWxfbmV4dDsKKyNlbmRpZgogCWF0b21pY190IGZzX2V4Y2w7CS8qIGhvbGRpbmcgZnMgZXhjbHVzaXZlIHJlc291cmNlcyAqLwogCXN0cnVjdCByY3VfaGVhZCByY3U7CiAKQEAgLTE1MDQsNiArMTQ5MCw3IEBACiAjZGVmaW5lIFBGX1NXQVBXUklURQkweDAwODAwMDAwCS8qIEFsbG93ZWQgdG8gd3JpdGUgdG8gc3dhcCAqLwogI2RlZmluZSBQRl9TUFJFQURfUEFHRQkweDAxMDAwMDAwCS8qIFNwcmVhZCBwYWdlIGNhY2hlIG92ZXIgY3B1c2V0ICovCiAjZGVmaW5lIFBGX1NQUkVBRF9TTEFCCTB4MDIwMDAwMDAJLyogU3ByZWFkIHNvbWUgc2xhYiBjYWNoZXMgb3ZlciBjcHVzZXQgKi8KKyNkZWZpbmUgUEZfVEhSRUFEX0JPVU5ECTB4MDQwMDAwMDAJLyogVGhyZWFkIGJvdW5kIHRvIHNwZWNpZmljIGNwdSAqLwogI2RlZmluZSBQRl9NRU1QT0xJQ1kJMHgxMDAwMDAwMAkvKiBOb24tZGVmYXVsdCBOVU1BIG1lbXBvbGljeSAqLwogI2RlZmluZSBQRl9NVVRFWF9URVNURVIJMHgyMDAwMDAwMAkvKiBUaHJlYWQgYmVsb25ncyB0byB0aGUgcnQgbXV0ZXggdGVzdGVyICovCiAjZGVmaW5lIFBGX0ZSRUVaRVJfU0tJUAkweDQwMDAwMDAwCS8qIEZyZWV6ZXIgc2hvdWxkIG5vdCBjb3VudCBpdCBhcyBmcmVlemVhYmxlICovCkBAIC0xNTczLDEzICsxNTYwLDI4IEBACiBzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfY2xvY2tfaWRsZV93YWtldXBfZXZlbnQodTY0IGRlbHRhX25zKQogewogfQotI2Vsc2UKKworI2lmZGVmIENPTkZJR19OT19IWgorc3RhdGljIGlubGluZSB2b2lkIHNjaGVkX2Nsb2NrX3RpY2tfc3RvcChpbnQgY3B1KQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfY2xvY2tfdGlja19zdGFydChpbnQgY3B1KQoreworfQorI2VuZGlmCisKKyNlbHNlIC8qIENPTkZJR19IQVZFX1VOU1RBQkxFX1NDSEVEX0NMT0NLICovCiBleHRlcm4gdm9pZCBzY2hlZF9jbG9ja19pbml0KHZvaWQpOwogZXh0ZXJuIHU2NCBzY2hlZF9jbG9ja19jcHUoaW50IGNwdSk7CiBleHRlcm4gdm9pZCBzY2hlZF9jbG9ja190aWNrKHZvaWQpOwogZXh0ZXJuIHZvaWQgc2NoZWRfY2xvY2tfaWRsZV9zbGVlcF9ldmVudCh2b2lkKTsKIGV4dGVybiB2b2lkIHNjaGVkX2Nsb2NrX2lkbGVfd2FrZXVwX2V2ZW50KHU2NCBkZWx0YV9ucyk7CisjaWZkZWYgQ09ORklHX05PX0haCitleHRlcm4gdm9pZCBzY2hlZF9jbG9ja190aWNrX3N0b3AoaW50IGNwdSk7CitleHRlcm4gdm9pZCBzY2hlZF9jbG9ja190aWNrX3N0YXJ0KGludCBjcHUpOwogI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0hBVkVfVU5TVEFCTEVfU0NIRURfQ0xPQ0sgKi8KIAogLyoKICAqIEZvciBrZXJuZWwtaW50ZXJuYWwgdXNlOiBoaWdoLXNwZWVkIChidXQgc2xpZ2h0bHkgaW5jb3JyZWN0KSBwZXItY3B1CkBAIC0xNjIyLDYgKzE2MjQsNyBAQAogZXh0ZXJuIHVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfZmVhdHVyZXM7CiBleHRlcm4gdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9taWdyYXRpb25fY29zdDsKIGV4dGVybiB1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX25yX21pZ3JhdGU7CitleHRlcm4gdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9zaGFyZXNfcmF0ZWxpbWl0OwogCiBpbnQgc2NoZWRfbnJfbGF0ZW5jeV9oYW5kbGVyKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsCiAJCXN0cnVjdCBmaWxlICpmaWxlLCB2b2lkIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgKmxlbmd0aCwKQEAgLTE2NTUsNiArMTY1OCw4IEBACiBleHRlcm4gaW50IHRhc2tfY3Vycihjb25zdCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApOwogZXh0ZXJuIGludCBpZGxlX2NwdShpbnQgY3B1KTsKIGV4dGVybiBpbnQgc2NoZWRfc2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBpbnQsIHN0cnVjdCBzY2hlZF9wYXJhbSAqKTsKK2V4dGVybiBpbnQgc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2soc3RydWN0IHRhc2tfc3RydWN0ICosIGludCwKKwkJCQkgICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKik7CiBleHRlcm4gc3RydWN0IHRhc2tfc3RydWN0ICppZGxlX3Rhc2soaW50IGNwdSk7CiBleHRlcm4gc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyX3Rhc2soaW50IGNwdSk7CiBleHRlcm4gdm9pZCBzZXRfY3Vycl90YXNrKGludCBjcHUsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCk7CkBAIC0yMTMxLDYgKzIxMzYsMTggQEAKIH0KICNlbmRpZgogCisjaWZkZWYgQ09ORklHX1RSQUNJTkcKK2V4dGVybiB2b2lkCitfX3RyYWNlX3NwZWNpYWwodm9pZCAqX190ciwgdm9pZCAqX19kYXRhLAorCQl1bnNpZ25lZCBsb25nIGFyZzEsIHVuc2lnbmVkIGxvbmcgYXJnMiwgdW5zaWduZWQgbG9uZyBhcmczKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQKK19fdHJhY2Vfc3BlY2lhbCh2b2lkICpfX3RyLCB2b2lkICpfX2RhdGEsCisJCXVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpCit7Cit9CisjZW5kaWYKKwogZXh0ZXJuIGxvbmcgc2NoZWRfc2V0YWZmaW5pdHkocGlkX3QgcGlkLCBjb25zdCBjcHVtYXNrX3QgKm5ld19tYXNrKTsKIGV4dGVybiBsb25nIHNjaGVkX2dldGFmZmluaXR5KHBpZF90IHBpZCwgY3B1bWFza190ICptYXNrKTsKIApAQCAtMjIyNSw2ICsyMjQyLDggQEAKIH0KICNlbmRpZiAvKiBDT05GSUdfTU1fT1dORVIgKi8KIAorI2RlZmluZSBUQVNLX1NUQVRFX1RPX0NIQVJfU1RSICJSU0RUdFpYIgorCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaCBiL2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaAppbmRleCA1MDczN2M3Li4zMWM4ODUxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3NlY3VyaXR5LmgKKysrIGIvaW5jbHVkZS9saW51eC9zZWN1cml0eS5oCkBAIC00Niw3ICs0Niw4IEBACiAgKi8KIGV4dGVybiBpbnQgY2FwX2NhcGFibGUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjYXApOwogZXh0ZXJuIGludCBjYXBfc2V0dGltZShzdHJ1Y3QgdGltZXNwZWMgKnRzLCBzdHJ1Y3QgdGltZXpvbmUgKnR6KTsKLWV4dGVybiBpbnQgY2FwX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCk7CitleHRlcm4gaW50IGNhcF9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCSAgICAgIHVuc2lnbmVkIGludCBtb2RlKTsKIGV4dGVybiBpbnQgY2FwX2NhcGdldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwga2VybmVsX2NhcF90ICplZmZlY3RpdmUsIGtlcm5lbF9jYXBfdCAqaW5oZXJpdGFibGUsIGtlcm5lbF9jYXBfdCAqcGVybWl0dGVkKTsKIGV4dGVybiBpbnQgY2FwX2NhcHNldF9jaGVjayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwga2VybmVsX2NhcF90ICplZmZlY3RpdmUsIGtlcm5lbF9jYXBfdCAqaW5oZXJpdGFibGUsIGtlcm5lbF9jYXBfdCAqcGVybWl0dGVkKTsKIGV4dGVybiB2b2lkIGNhcF9jYXBzZXRfc2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBrZXJuZWxfY2FwX3QgKmVmZmVjdGl2ZSwga2VybmVsX2NhcF90ICppbmhlcml0YWJsZSwga2VybmVsX2NhcF90ICpwZXJtaXR0ZWQpOwpAQCAtNzksNiArODAsNyBAQAogc3RydWN0IHhmcm1fcG9saWN5Owogc3RydWN0IHhmcm1fc3RhdGU7CiBzdHJ1Y3QgeGZybV91c2VyX3NlY19jdHg7CitzdHJ1Y3Qgc2VxX2ZpbGU7CiAKIGV4dGVybiBpbnQgY2FwX25ldGxpbmtfc2VuZChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpOwogZXh0ZXJuIGludCBjYXBfbmV0bGlua19yZWN2KHN0cnVjdCBza19idWZmICpza2IsIGludCBjYXApOwpAQCAtMjg5LDEwICsyOTEsNiBAQAogICoJVXBkYXRlIG1vZHVsZSBzdGF0ZSBhZnRlciBhIHN1Y2Nlc3NmdWwgcGl2b3QuCiAgKglAb2xkX3BhdGggY29udGFpbnMgdGhlIHBhdGggZm9yIHRoZSBvbGQgcm9vdC4KICAqCUBuZXdfcGF0aCBjb250YWlucyB0aGUgcGF0aCBmb3IgdGhlIG5ldyByb290LgotICogQHNiX2dldF9tbnRfb3B0czoKLSAqCUdldCB0aGUgc2VjdXJpdHkgcmVsZXZhbnQgbW91bnQgb3B0aW9ucyB1c2VkIGZvciBhIHN1cGVyYmxvY2sKLSAqCUBzYiB0aGUgc3VwZXJibG9jayB0byBnZXQgc2VjdXJpdHkgbW91bnQgb3B0aW9ucyBmcm9tCi0gKglAb3B0cyBiaW5hcnkgZGF0YSBzdHJ1Y3R1cmUgY29udGFpbmluZyBhbGwgbHNtIG1vdW50IGRhdGEKICAqIEBzYl9zZXRfbW50X29wdHM6CiAgKglTZXQgdGhlIHNlY3VyaXR5IHJlbGV2YW50IG1vdW50IG9wdGlvbnMgdXNlZCBmb3IgYSBzdXBlcmJsb2NrCiAgKglAc2IgdGhlIHN1cGVyYmxvY2sgdG8gc2V0IHNlY3VyaXR5IG1vdW50IG9wdGlvbnMgZm9yCkBAIC0xMTcwLDYgKzExNjgsNyBAQAogICoJYXR0cmlidXRlcyB3b3VsZCBiZSBjaGFuZ2VkIGJ5IHRoZSBleGVjdmUuCiAgKglAcGFyZW50IGNvbnRhaW5zIHRoZSB0YXNrX3N0cnVjdCBzdHJ1Y3R1cmUgZm9yIHBhcmVudCBwcm9jZXNzLgogICoJQGNoaWxkIGNvbnRhaW5zIHRoZSB0YXNrX3N0cnVjdCBzdHJ1Y3R1cmUgZm9yIGNoaWxkIHByb2Nlc3MuCisgKglAbW9kZSBjb250YWlucyB0aGUgUFRSQUNFX01PREUgZmxhZ3MgaW5kaWNhdGluZyB0aGUgZm9ybSBvZiBhY2Nlc3MuCiAgKglSZXR1cm4gMCBpZiBwZXJtaXNzaW9uIGlzIGdyYW50ZWQuCiAgKiBAY2FwZ2V0OgogICoJR2V0IHRoZSBAZWZmZWN0aXZlLCBAaW5oZXJpdGFibGUsIGFuZCBAcGVybWl0dGVkIGNhcGFiaWxpdHkgc2V0cyBmb3IKQEAgLTEyNDAsMTEgKzEyMzksNiBAQAogICoJQHBhZ2VzIGNvbnRhaW5zIHRoZSBudW1iZXIgb2YgcGFnZXMuCiAgKglSZXR1cm4gMCBpZiBwZXJtaXNzaW9uIGlzIGdyYW50ZWQuCiAgKgotICogQHJlZ2lzdGVyX3NlY3VyaXR5OgotICoJYWxsb3cgbW9kdWxlIHN0YWNraW5nLgotICoJQG5hbWUgY29udGFpbnMgdGhlIG5hbWUgb2YgdGhlIHNlY3VyaXR5IG1vZHVsZSBiZWluZyBzdGFja2VkLgotICoJQG9wcyBjb250YWlucyBhIHBvaW50ZXIgdG8gdGhlIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIG9mIHRoZSBtb2R1bGUgdG8gc3RhY2suCi0gKgogICogQHNlY2lkX3RvX3NlY2N0eDoKICAqCUNvbnZlcnQgc2VjaWQgdG8gc2VjdXJpdHkgY29udGV4dC4KICAqCUBzZWNpZCBjb250YWlucyB0aGUgc2VjdXJpdHkgSUQuCkBAIC0xMjk1LDcgKzEyODksOCBAQAogc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgewogCWNoYXIgbmFtZVtTRUNVUklUWV9OQU1FX01BWCArIDFdOwogCi0JaW50ICgqcHRyYWNlKSAoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpOworCWludCAoKnB0cmFjZSkgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkgICAgICAgdW5zaWduZWQgaW50IG1vZGUpOwogCWludCAoKmNhcGdldCkgKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAogCQkgICAgICAga2VybmVsX2NhcF90ICplZmZlY3RpdmUsCiAJCSAgICAgICBrZXJuZWxfY2FwX3QgKmluaGVyaXRhYmxlLCBrZXJuZWxfY2FwX3QgKnBlcm1pdHRlZCk7CkBAIC0xMzI4LDYgKzEzMjMsNyBAQAogCXZvaWQgKCpzYl9mcmVlX3NlY3VyaXR5KSAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYik7CiAJaW50ICgqc2JfY29weV9kYXRhKSAoY2hhciAqb3JpZywgY2hhciAqY29weSk7CiAJaW50ICgqc2Jfa2Vybl9tb3VudCkgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHZvaWQgKmRhdGEpOworCWludCAoKnNiX3Nob3dfb3B0aW9ucykgKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYik7CiAJaW50ICgqc2Jfc3RhdGZzKSAoc3RydWN0IGRlbnRyeSAqZGVudHJ5KTsKIAlpbnQgKCpzYl9tb3VudCkgKGNoYXIgKmRldl9uYW1lLCBzdHJ1Y3QgcGF0aCAqcGF0aCwKIAkJCSBjaGFyICp0eXBlLCB1bnNpZ25lZCBsb25nIGZsYWdzLCB2b2lkICpkYXRhKTsKQEAgLTEzNDMsOCArMTMzOSw2IEBACiAJCQkgICAgIHN0cnVjdCBwYXRoICpuZXdfcGF0aCk7CiAJdm9pZCAoKnNiX3Bvc3RfcGl2b3Ryb290KSAoc3RydWN0IHBhdGggKm9sZF9wYXRoLAogCQkJCSAgIHN0cnVjdCBwYXRoICpuZXdfcGF0aCk7Ci0JaW50ICgqc2JfZ2V0X21udF9vcHRzKSAoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKLQkJCQlzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpOwogCWludCAoKnNiX3NldF9tbnRfb3B0cykgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQkJc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKTsKIAl2b2lkICgqc2JfY2xvbmVfbW50X29wdHMpIChjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm9sZHNiLApAQCAtMTQ3MiwxMCArMTQ2Niw2IEBACiAJaW50ICgqbmV0bGlua19zZW5kKSAoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKTsKIAlpbnQgKCpuZXRsaW5rX3JlY3YpIChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgY2FwKTsKIAotCS8qIGFsbG93IG1vZHVsZSBzdGFja2luZyAqLwotCWludCAoKnJlZ2lzdGVyX3NlY3VyaXR5KSAoY29uc3QgY2hhciAqbmFtZSwKLQkJCQkgIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpOwotCiAJdm9pZCAoKmRfaW5zdGFudGlhdGUpIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUpOwogCiAJaW50ICgqZ2V0cHJvY2F0dHIpIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNoYXIgKm5hbWUsIGNoYXIgKip2YWx1ZSk7CkBAIC0xNTY1LDcgKzE1NTUsNiBAQAogZXh0ZXJuIGludCBzZWN1cml0eV9pbml0KHZvaWQpOwogZXh0ZXJuIGludCBzZWN1cml0eV9tb2R1bGVfZW5hYmxlKHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpOwogZXh0ZXJuIGludCByZWdpc3Rlcl9zZWN1cml0eShzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKTsKLWV4dGVybiBpbnQgbW9kX3JlZ19zZWN1cml0eShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKTsKIGV4dGVybiBzdHJ1Y3QgZGVudHJ5ICpzZWN1cml0eWZzX2NyZWF0ZV9maWxlKGNvbnN0IGNoYXIgKm5hbWUsIG1vZGVfdCBtb2RlLAogCQkJCQkgICAgIHN0cnVjdCBkZW50cnkgKnBhcmVudCwgdm9pZCAqZGF0YSwKIAkJCQkJICAgICBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpmb3BzKTsKQEAgLTE1NzMsNyArMTU2Miw4IEBACiBleHRlcm4gdm9pZCBzZWN1cml0eWZzX3JlbW92ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpOwogCiAvKiBTZWN1cml0eSBvcGVyYXRpb25zICovCi1pbnQgc2VjdXJpdHlfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKTsKK2ludCBzZWN1cml0eV9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCSAgICB1bnNpZ25lZCBpbnQgbW9kZSk7CiBpbnQgc2VjdXJpdHlfY2FwZ2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAogCQkgICAga2VybmVsX2NhcF90ICplZmZlY3RpdmUsCiAJCSAgICBrZXJuZWxfY2FwX3QgKmluaGVyaXRhYmxlLApAQCAtMTYwNiw2ICsxNTk2LDcgQEAKIHZvaWQgc2VjdXJpdHlfc2JfZnJlZShzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsKIGludCBzZWN1cml0eV9zYl9jb3B5X2RhdGEoY2hhciAqb3JpZywgY2hhciAqY29weSk7CiBpbnQgc2VjdXJpdHlfc2Jfa2Vybl9tb3VudChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRhKTsKK2ludCBzZWN1cml0eV9zYl9zaG93X29wdGlvbnMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsKIGludCBzZWN1cml0eV9zYl9zdGF0ZnMoc3RydWN0IGRlbnRyeSAqZGVudHJ5KTsKIGludCBzZWN1cml0eV9zYl9tb3VudChjaGFyICpkZXZfbmFtZSwgc3RydWN0IHBhdGggKnBhdGgsCiAJCSAgICAgIGNoYXIgKnR5cGUsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsIHZvaWQgKmRhdGEpOwpAQCAtMTYxNyw4ICsxNjA4LDYgQEAKIHZvaWQgc2VjdXJpdHlfc2JfcG9zdF9hZGRtb3VudChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IHBhdGggKm1vdW50cG9pbnQpOwogaW50IHNlY3VyaXR5X3NiX3Bpdm90cm9vdChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsIHN0cnVjdCBwYXRoICpuZXdfcGF0aCk7CiB2b2lkIHNlY3VyaXR5X3NiX3Bvc3RfcGl2b3Ryb290KHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKTsKLWludCBzZWN1cml0eV9zYl9nZXRfbW50X29wdHMoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKLQkJCQlzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpOwogaW50IHNlY3VyaXR5X3NiX3NldF9tbnRfb3B0cyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpOwogdm9pZCBzZWN1cml0eV9zYl9jbG9uZV9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm9sZHNiLAogCQkJCXN0cnVjdCBzdXBlcl9ibG9jayAqbmV3c2IpOwpAQCAtMTc1NSw5ICsxNzQ0LDExIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCkKK3N0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwKKwkJCQkgIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkJICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKLQlyZXR1cm4gY2FwX3B0cmFjZShwYXJlbnQsIGNoaWxkKTsKKwlyZXR1cm4gY2FwX3B0cmFjZShwYXJlbnQsIGNoaWxkLCBtb2RlKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgc2VjdXJpdHlfY2FwZ2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LApAQCAtMTg4MSw2ICsxODcyLDEyIEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X3NiX3Nob3dfb3B0aW9ucyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCisJCQkJCSAgIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X3NiX3N0YXRmcyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJcmV0dXJuIDA7CkBAIC0xOTI3LDEyICsxOTI0LDYgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzZWN1cml0eV9zYl9wb3N0X3Bpdm90cm9vdChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsCiAJCQkJCSAgICAgIHN0cnVjdCBwYXRoICpuZXdfcGF0aCkKIHsgfQotc3RhdGljIGlubGluZSBpbnQgc2VjdXJpdHlfc2JfZ2V0X21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCi0JCQkJCSAgIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKLXsKLQlzZWN1cml0eV9pbml0X21udF9vcHRzKG9wdHMpOwotCXJldHVybiAwOwotfQogCiBzdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9zYl9zZXRfbW50X29wdHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCQkJICAgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zbXAuaCBiL2luY2x1ZGUvbGludXgvc21wLmgKaW5kZXggNTUyMzJjYy4uNDgyNjJmOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zbXAuaAorKysgYi9pbmNsdWRlL2xpbnV4L3NtcC5oCkBAIC03LDkgKzcsMTggQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogCiBleHRlcm4gdm9pZCBjcHVfaWRsZSh2b2lkKTsKIAorc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pOworCXZvaWQgKmluZm87CisJdW5zaWduZWQgaW50IGZsYWdzOworfTsKKwogI2lmZGVmIENPTkZJR19TTVAKIAogI2luY2x1ZGUgPGxpbnV4L3ByZWVtcHQuaD4KQEAgLTUyLDE1ICs2MSwzNCBAQAogLyoKICAqIENhbGwgYSBmdW5jdGlvbiBvbiBhbGwgb3RoZXIgcHJvY2Vzc29ycwogICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCByZXRyeSwgaW50IHdhaXQpOwotCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCB3YWl0KTsKK2ludCBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfdCBtYXNrLCB2b2lkKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKKwkJCQlpbnQgd2FpdCk7CiBpbnQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHVpZCwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQlpbnQgcmV0cnksIGludCB3YWl0KTsKKwkJCQlpbnQgd2FpdCk7Cit2b2lkIF9fc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHVpZCwgc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgKmRhdGEpOworCisvKgorICogR2VuZXJpYyBhbmQgYXJjaCBoZWxwZXJzCisgKi8KKyNpZmRlZiBDT05GSUdfVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMKK3ZvaWQgZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpOwordm9pZCBnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKK3ZvaWQgaW5pdF9jYWxsX3NpbmdsZV9kYXRhKHZvaWQpOwordm9pZCBpcGlfY2FsbF9sb2NrKHZvaWQpOwordm9pZCBpcGlfY2FsbF91bmxvY2sodm9pZCk7Cit2b2lkIGlwaV9jYWxsX2xvY2tfaXJxKHZvaWQpOwordm9pZCBpcGlfY2FsbF91bmxvY2tfaXJxKHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBpbml0X2NhbGxfc2luZ2xlX2RhdGEodm9pZCkKK3sKK30KKyNlbmRpZgogCiAvKgogICogQ2FsbCBhIGZ1bmN0aW9uIG9uIGFsbCBwcm9jZXNzb3JzCiAgKi8KLWludCBvbl9lYWNoX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0KTsKK2ludCBvbl9lYWNoX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCk7CiAKICNkZWZpbmUgTVNHX0FMTF9CVVRfU0VMRgkweDgwMDAJLyogQXNzdW1lIDwzMjc2OCBDUFUncyAqLwogI2RlZmluZSBNU0dfQUxMCQkJMHg4MDAxCkBAIC05MCw5ICsxMTgsOSBAQAogewogCXJldHVybiAwOwogfQotI2RlZmluZSBzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCkgXAorI2RlZmluZSBzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCB3YWl0KSBcCiAJCQkodXBfc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbykpCi0jZGVmaW5lIG9uX2VhY2hfY3B1KGZ1bmMsaW5mbyxyZXRyeSx3YWl0KQlcCisjZGVmaW5lIG9uX2VhY2hfY3B1KGZ1bmMsaW5mbyx3YWl0KQkJXAogCSh7CQkJCQlcCiAJCWxvY2FsX2lycV9kaXNhYmxlKCk7CQlcCiAJCWZ1bmMoaW5mbyk7CQkJXApAQCAtMTAyLDcgKzEzMCw3IEBACiBzdGF0aWMgaW5saW5lIHZvaWQgc21wX3NlbmRfcmVzY2hlZHVsZShpbnQgY3B1KSB7IH0KICNkZWZpbmUgbnVtX2Jvb3RpbmdfY3B1cygpCQkJMQogI2RlZmluZSBzbXBfcHJlcGFyZV9ib290X2NwdSgpCQkJZG8ge30gd2hpbGUgKDApCi0jZGVmaW5lIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHVpZCwgZnVuYywgaW5mbywgcmV0cnksIHdhaXQpIFwKKyNkZWZpbmUgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdWlkLCBmdW5jLCBpbmZvLCB3YWl0KSBcCiAoeyBcCiAJV0FSTl9PTihjcHVpZCAhPSAwKTsJXAogCWxvY2FsX2lycV9kaXNhYmxlKCk7CVwKQEAgLTExMiw3ICsxNDAsOSBAQAogfSkKICNkZWZpbmUgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhtYXNrLCBmdW5jLCBpbmZvLCB3YWl0KSBcCiAJCQkodXBfc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbykpCi0KK3N0YXRpYyBpbmxpbmUgdm9pZCBpbml0X2NhbGxfc2luZ2xlX2RhdGEodm9pZCkKK3sKK30KICNlbmRpZiAvKiAhU01QICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NtcF9sb2NrLmggYi9pbmNsdWRlL2xpbnV4L3NtcF9sb2NrLmgKaW5kZXggYWFiM2E0Yy4uODEzYmU1OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zbXBfbG9jay5oCisrKyBiL2luY2x1ZGUvbGludXgvc21wX2xvY2suaApAQCAtMjcsMTEgKzI3LDI0IEBACiBleHRlcm4gdm9pZCBfX2xvY2tmdW5jIGxvY2tfa2VybmVsKHZvaWQpCV9fYWNxdWlyZXMoa2VybmVsX2xvY2spOwogZXh0ZXJuIHZvaWQgX19sb2NrZnVuYyB1bmxvY2tfa2VybmVsKHZvaWQpCV9fcmVsZWFzZXMoa2VybmVsX2xvY2spOwogCisvKgorICogVmFyaW91cyBsZWdhY3kgZHJpdmVycyBkb24ndCByZWFsbHkgbmVlZCB0aGUgQktMIGluIGEgc3BlY2lmaWMKKyAqIGZ1bmN0aW9uLCBidXQgdGhleSAqZG8qIG5lZWQgdG8ga25vdyB0aGF0IHRoZSBCS0wgYmVjYW1lIGF2YWlsYWJsZS4KKyAqIFRoaXMgZnVuY3Rpb24ganVzdCBhdm9pZHMgd3JhcHBpbmcgYSBidW5jaCBvZiBsb2NrL3VubG9jayBwYWlycworICogYXJvdW5kIGNvZGUgd2hpY2ggZG9lc24ndCByZWFsbHkgbmVlZCBpdC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGN5Y2xlX2tlcm5lbF9sb2NrKHZvaWQpCit7CisJbG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfa2VybmVsKCk7Cit9CisKICNlbHNlCiAKICNkZWZpbmUgbG9ja19rZXJuZWwoKQkJCQlkbyB7IH0gd2hpbGUoMCkKICNkZWZpbmUgdW5sb2NrX2tlcm5lbCgpCQkJCWRvIHsgfSB3aGlsZSgwKQogI2RlZmluZSByZWxlYXNlX2tlcm5lbF9sb2NrKHRhc2spCQlkbyB7IH0gd2hpbGUoMCkKKyNkZWZpbmUgY3ljbGVfa2VybmVsX2xvY2soKQkJCWRvIHsgfSB3aGlsZSgwKQogI2RlZmluZSByZWFjcXVpcmVfa2VybmVsX2xvY2sodGFzaykJCTAKICNkZWZpbmUga2VybmVsX2xvY2tlZCgpCQkJCTEKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC90b3BvbG9neS5oIGIvaW5jbHVkZS9saW51eC90b3BvbG9neS5oCmluZGV4IDI0ZjNkMjIuLjIxNThmYzAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvdG9wb2xvZ3kuaAorKysgYi9pbmNsdWRlL2xpbnV4L3RvcG9sb2d5LmgKQEAgLTE3OSw0ICsxNzksMTcgQEAKICNlbmRpZgogI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKKyNpZm5kZWYgdG9wb2xvZ3lfcGh5c2ljYWxfcGFja2FnZV9pZAorI2RlZmluZSB0b3BvbG9neV9waHlzaWNhbF9wYWNrYWdlX2lkKGNwdSkJKCh2b2lkKShjcHUpLCAtMSkKKyNlbmRpZgorI2lmbmRlZiB0b3BvbG9neV9jb3JlX2lkCisjZGVmaW5lIHRvcG9sb2d5X2NvcmVfaWQoY3B1KQkJCSgodm9pZCkoY3B1KSwgMCkKKyNlbmRpZgorI2lmbmRlZiB0b3BvbG9neV90aHJlYWRfc2libGluZ3MKKyNkZWZpbmUgdG9wb2xvZ3lfdGhyZWFkX3NpYmxpbmdzKGNwdSkJCWNwdW1hc2tfb2ZfY3B1KGNwdSkKKyNlbmRpZgorI2lmbmRlZiB0b3BvbG9neV9jb3JlX3NpYmxpbmdzCisjZGVmaW5lIHRvcG9sb2d5X2NvcmVfc2libGluZ3MoY3B1KQkJY3B1bWFza19vZl9jcHUoY3B1KQorI2VuZGlmCisKICNlbmRpZiAvKiBfTElOVVhfVE9QT0xPR1lfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC93cml0ZWJhY2suaCBiL2luY2x1ZGUvbGludXgvd3JpdGViYWNrLmgKaW5kZXggZjQ2MjQzOS4uMTJiMTVjNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC93cml0ZWJhY2suaAorKysgYi9pbmNsdWRlL2xpbnV4L3dyaXRlYmFjay5oCkBAIC02Myw2ICs2Myw3IEBACiAJdW5zaWduZWQgZm9yX3dyaXRlcGFnZXM6MTsJLyogVGhpcyBpcyBhIHdyaXRlcGFnZXMoKSBjYWxsICovCiAJdW5zaWduZWQgcmFuZ2VfY3ljbGljOjE7CS8qIHJhbmdlX3N0YXJ0IGlzIGN5Y2xpYyAqLwogCXVuc2lnbmVkIG1vcmVfaW86MTsJCS8qIG1vcmUgaW8gdG8gYmUgZGlzcGF0Y2hlZCAqLworCXVuc2lnbmVkIHJhbmdlX2NvbnQ6MTsKIH07CiAKIC8qCkBAIC0xMDUsNiArMTA2LDggQEAKIGV4dGVybiBpbnQgYmxvY2tfZHVtcDsKIGV4dGVybiBpbnQgbGFwdG9wX21vZGU7CiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIGRldGVybWluZV9kaXJ0eWFibGVfbWVtb3J5KHZvaWQpOworCiBleHRlcm4gaW50IGRpcnR5X3JhdGlvX2hhbmRsZXIoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKIAkJc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwKIAkJbG9mZl90ICpwcG9zKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgveGZybS5oIGIvaW5jbHVkZS9saW51eC94ZnJtLmgKaW5kZXggMmNhNmJhZS4uZmIwYzIxNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC94ZnJtLmgKKysrIGIvaW5jbHVkZS9saW51eC94ZnJtLmgKQEAgLTMzOSw2ICszMzksNyBAQAogI2RlZmluZSBYRlJNX1NUQVRFX05PUE1UVURJU0MJNAogI2RlZmluZSBYRlJNX1NUQVRFX1dJTERSRUNWCTgKICNkZWZpbmUgWEZSTV9TVEFURV9JQ01QCQkxNgorI2RlZmluZSBYRlJNX1NUQVRFX0FGX1VOU1BFQwkzMgogfTsKIAogc3RydWN0IHhmcm1fdXNlcnNhX2lkIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGNtY2lhL2J1bGttZW0uaCBiL2luY2x1ZGUvcGNtY2lhL2J1bGttZW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmJjNzQ3Mi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL3BjbWNpYS9idWxrbWVtLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0vKgotICogYnVsa21lbS5oIC0tIERlZmluaXRpb25zIGZvciBidWxrIG1lbW9yeSBzZXJ2aWNlcwotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhlIGluaXRpYWwgZGV2ZWxvcGVyIG9mIHRoZSBvcmlnaW5hbCBjb2RlIGlzIERhdmlkIEEuIEhpbmRzCi0gKiA8ZGFoaW5kc0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+LiAgUG9ydGlvbnMgY3JlYXRlZCBieSBEYXZpZCBBLiBIaW5kcwotICogYXJlIENvcHlyaWdodCAoQykgMTk5OSBEYXZpZCBBLiBIaW5kcy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogKEMpIDE5OTkJCURhdmlkIEEuIEhpbmRzCi0gKi8KLQotI2lmbmRlZiBfTElOVVhfQlVMS01FTV9ICi0jZGVmaW5lIF9MSU5VWF9CVUxLTUVNX0gKLQotLyogRm9yIEdldEZpcnN0UmVnaW9uIGFuZCBHZXROZXh0UmVnaW9uICovCi10eXBlZGVmIHN0cnVjdCByZWdpb25faW5mb190IHsKLSAgICB1X2ludAkJQXR0cmlidXRlczsKLSAgICB1X2ludAkJQ2FyZE9mZnNldDsKLSAgICB1X2ludAkJUmVnaW9uU2l6ZTsKLSAgICB1X2ludAkJQWNjZXNzU3BlZWQ7Ci0gICAgdV9pbnQJCUJsb2NrU2l6ZTsKLSAgICB1X2ludAkJUGFydE11bHRpcGxlOwotICAgIHVfY2hhcgkJSmVkZWNNZnIsIEplZGVjSW5mbzsKLSAgICBtZW1vcnlfaGFuZGxlX3QJbmV4dDsKLX0gcmVnaW9uX2luZm9fdDsKLQotI2RlZmluZSBSRUdJT05fVFlQRQkJMHgwMDAxCi0jZGVmaW5lIFJFR0lPTl9UWVBFX0NNCQkweDAwMDAKLSNkZWZpbmUgUkVHSU9OX1RZUEVfQU0JCTB4MDAwMQotI2RlZmluZSBSRUdJT05fUFJFRkVUQ0gJCTB4MDAwOAotI2RlZmluZSBSRUdJT05fQ0FDSEVBQkxFCTB4MDAxMAotI2RlZmluZSBSRUdJT05fQkFSX01BU0sJCTB4ZTAwMAotI2RlZmluZSBSRUdJT05fQkFSX1NISUZUCTEzCi0KLWludCBwY21jaWFfZ2V0X2ZpcnN0X3JlZ2lvbihzdHJ1Y3QgcGNtY2lhX2RldmljZSAqaGFuZGxlLCByZWdpb25faW5mb190ICpyZ24pOwotaW50IHBjbWNpYV9nZXRfbmV4dF9yZWdpb24oc3RydWN0IHBjbWNpYV9kZXZpY2UgKmhhbmRsZSwgcmVnaW9uX2luZm9fdCAqcmduKTsKLQotI2VuZGlmIC8qIF9MSU5VWF9CVUxLTUVNX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGNtY2lhL2Npc3RwbC5oIGIvaW5jbHVkZS9wY21jaWEvY2lzdHBsLmgKaW5kZXggZDNiYmIxOS4uZTJlMTBjMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wY21jaWEvY2lzdHBsLmgKKysrIGIvaW5jbHVkZS9wY21jaWEvY2lzdHBsLmgKQEAgLTU5NSw3ICs1OTUsNyBAQAogaW50IHBjY2FyZF9nZXRfdHVwbGVfZGF0YShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdHVwbGVfdCAqdHVwbGUpOwogaW50IHBjY2FyZF9wYXJzZV90dXBsZSh0dXBsZV90ICp0dXBsZSwgY2lzcGFyc2VfdCAqcGFyc2UpOwogCi1pbnQgcGNjYXJkX3ZhbGlkYXRlX2NpcyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdW5zaWduZWQgaW50IGZ1bmN0aW9uLCBjaXNpbmZvX3QgKmluZm8pOworaW50IHBjY2FyZF92YWxpZGF0ZV9jaXMoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHVuc2lnbmVkIGludCBmdW5jdGlvbiwgdW5zaWduZWQgaW50ICpjb3VudCk7CiAKIC8qIC4uLiBidXQgdXNlIHRoZXNlIHdyYXBwZXJzIGluc3RlYWQgKi8KICNkZWZpbmUgcGNtY2lhX2dldF9maXJzdF90dXBsZShwX2RldiwgdHVwbGUpIFwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGNtY2lhL2NzLmggYi9pbmNsdWRlL3BjbWNpYS9jcy5oCmluZGV4IDg3YTI2MGUuLjQ1ZDg0YjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcGNtY2lhL2NzLmgKKysrIGIvaW5jbHVkZS9wY21jaWEvY3MuaApAQCAtMzczLDkgKzM3Myw2IEBACiAKIGludCBwY21jaWFfYWNjZXNzX2NvbmZpZ3VyYXRpb25fcmVnaXN0ZXIoc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBjb25mX3JlZ190ICpyZWcpOwogaW50IHBjbWNpYV9nZXRfY29uZmlndXJhdGlvbl9pbmZvKHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwgY29uZmlnX2luZm9fdCAqY29uZmlnKTsKLWludCBwY21jaWFfZ2V0X2ZpcnN0X3dpbmRvdyh3aW5kb3dfaGFuZGxlX3QgKndpbiwgd2luX3JlcV90ICpyZXEpOwotaW50IHBjbWNpYV9nZXRfbmV4dF93aW5kb3cod2luZG93X2hhbmRsZV90ICp3aW4sIHdpbl9yZXFfdCAqcmVxKTsKLWludCBwY21jaWFfZ2V0X3N0YXR1cyhzdHJ1Y3QgcGNtY2lhX2RldmljZSAqcF9kZXYsIGNzX3N0YXR1c190ICpzdGF0dXMpOwogaW50IHBjbWNpYV9nZXRfbWVtX3BhZ2Uod2luZG93X2hhbmRsZV90IHdpbiwgbWVtcmVxX3QgKnJlcSk7CiBpbnQgcGNtY2lhX21hcF9tZW1fcGFnZSh3aW5kb3dfaGFuZGxlX3Qgd2luLCBtZW1yZXFfdCAqcmVxKTsKIGludCBwY21jaWFfbW9kaWZ5X2NvbmZpZ3VyYXRpb24oc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBtb2Rjb25mX3QgKm1vZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9jc190eXBlcy5oIGIvaW5jbHVkZS9wY21jaWEvY3NfdHlwZXMuaAppbmRleCA5YTZiY2M0Li5mNDAyYTBmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3BjbWNpYS9jc190eXBlcy5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL2NzX3R5cGVzLmgKQEAgLTIxLDcgKzIxLDggQEAKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNlbmRpZgogCi0jaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fYXZyMzJfXykKKyNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19hdnIzMl9fKSB8fCBcCisJZGVmaW5lZChfX2JmaW5fXykKIC8qIFRoaXMgKGlvYWRkcl90KSBpcyBleHBvc2VkIHRvIHVzZXJzcGFjZSAmIGhlbmNlIGNhbm5vdCBiZSBjaGFuZ2VkLiAqLwogdHlwZWRlZiB1X2ludCAgIGlvYWRkcl90OwogI2Vsc2UKQEAgLTMzLDkgKzM0LDYgQEAKIHR5cGVkZWYgdV9jaGFyCWNpc2RhdGFfdDsKIHR5cGVkZWYgdV9zaG9ydAlwYWdlX3Q7CiAKLXN0cnVjdCBwY21jaWFfZGV2aWNlOwotdHlwZWRlZiBzdHJ1Y3QgcGNtY2lhX2RldmljZSAqY2xpZW50X2hhbmRsZV90OwotCiBzdHJ1Y3Qgd2luZG93X3Q7CiB0eXBlZGVmIHN0cnVjdCB3aW5kb3dfdCAqd2luZG93X2hhbmRsZV90OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9kcy5oIGIvaW5jbHVkZS9wY21jaWEvZHMuaAppbmRleCBmMDQ3YTFmLi5iMzE2MDI3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3BjbWNpYS9kcy5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL2RzLmgKQEAgLTIwLDcgKzIwLDYgQEAKICNpbmNsdWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvZGV2aWNlX2lkLmg+CiAKQEAgLTUxLDYgKzUwLDI0IEBACiAgICAgdV9pbnQJCUNhcmRPZmZzZXQ7CiB9IG10ZF9pbmZvX3Q7CiAKK3R5cGVkZWYgc3RydWN0IHJlZ2lvbl9pbmZvX3QgeworICAgIHVfaW50CQlBdHRyaWJ1dGVzOworICAgIHVfaW50CQlDYXJkT2Zmc2V0OworICAgIHVfaW50CQlSZWdpb25TaXplOworICAgIHVfaW50CQlBY2Nlc3NTcGVlZDsKKyAgICB1X2ludAkJQmxvY2tTaXplOworICAgIHVfaW50CQlQYXJ0TXVsdGlwbGU7CisgICAgdV9jaGFyCQlKZWRlY01mciwgSmVkZWNJbmZvOworICAgIG1lbW9yeV9oYW5kbGVfdAluZXh0OworfSByZWdpb25faW5mb190OworI2RlZmluZSBSRUdJT05fVFlQRQkJMHgwMDAxCisjZGVmaW5lIFJFR0lPTl9UWVBFX0NNCQkweDAwMDAKKyNkZWZpbmUgUkVHSU9OX1RZUEVfQU0JCTB4MDAwMQorI2RlZmluZSBSRUdJT05fUFJFRkVUQ0gJCTB4MDAwOAorI2RlZmluZSBSRUdJT05fQ0FDSEVBQkxFCTB4MDAxMAorI2RlZmluZSBSRUdJT05fQkFSX01BU0sJCTB4ZTAwMAorI2RlZmluZSBSRUdJT05fQkFSX1NISUZUCTEzCisKIHR5cGVkZWYgdW5pb24gZHNfaW9jdGxfYXJnX3QgewogICAgIGFkanVzdF90CQlhZGp1c3Q7CiAgICAgY29uZmlnX2luZm9fdAljb25maWc7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9zcy5oIGIvaW5jbHVkZS9wY21jaWEvc3MuaAppbmRleCBmOTVkY2EwLi5lZDkxOWRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL3BjbWNpYS9zcy5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL3NzLmgKQEAgLTIxLDcgKzIxLDYgQEAKIAogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaWZkZWYgQ09ORklHX0NBUkRCVVMKICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNlbmRpZgpAQCAtMTM2LDggKzEzNSwxNCBAQAogCXN0cnVjdCByZXNvdXJjZSogKCpmaW5kX21lbSkJKHVuc2lnbmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9uZyBudW0sCiAJCQkJCSB1bnNpZ25lZCBsb25nIGFsaWduLCBpbnQgbG93LAogCQkJCQkgc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMpOwotCWludAkoKmFkanVzdF9yZXNvdXJjZSkJKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLAotCQkJCQkgYWRqdXN0X3QgKmFkaik7CisJaW50CSgqYWRkX2lvKQkJKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLAorCQkJCQkgdW5zaWduZWQgaW50IGFjdGlvbiwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgcl9zdGFydCwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgcl9lbmQpOworCWludAkoKmFkZF9tZW0pCQkoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsCisJCQkJCSB1bnNpZ25lZCBpbnQgYWN0aW9uLAorCQkJCQkgdW5zaWduZWQgbG9uZyByX3N0YXJ0LAorCQkJCQkgdW5zaWduZWQgbG9uZyByX2VuZCk7CiAJaW50CSgqaW5pdCkJCQkoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMpOwogCXZvaWQJKCpleGl0KQkJCShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcyk7CiB9OwpAQCAtMjQ1LDcgKzI1MCw2IEBACiAKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QJCSp0aHJlYWQ7CiAJc3RydWN0IGNvbXBsZXRpb24JCXRocmVhZF9kb25lOwotCXdhaXRfcXVldWVfaGVhZF90CQl0aHJlYWRfd2FpdDsKIAlzcGlubG9ja190CQkJdGhyZWFkX2xvY2s7CS8qIHByb3RlY3RzIHRocmVhZF9ldmVudHMgKi8KIAl1bnNpZ25lZCBpbnQJCQl0aHJlYWRfZXZlbnRzOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS92ZXJzaW9uLmggYi9pbmNsdWRlL3BjbWNpYS92ZXJzaW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhZDljNWUuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9wY21jaWEvdmVyc2lvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0vKiB2ZXJzaW9uLmggMS45NCAyMDAwLzEwLzAzIDE3OjU1OjQ4IChEYXZpZCBIaW5kcykgKi8KLQotLyogVGhpcyBmaWxlIHdpbGwgYmUgcmVtb3ZlZCwgcGxlYXNlIGRvbid0IGluY2x1ZGUgaXQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9hZGRyLmggYi9pbmNsdWRlL3JkbWEvaWJfYWRkci5oCmluZGV4IGMzNjc1MGYuLjQ4MzA1N2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9hZGRyLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX2FkZHIuaApAQCAtMiwyOSArMiwzMyBAQAogICogQ29weXJpZ2h0IChjKSAyMDA1IFZvbHRhaXJlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgSW50ZWwgQ29ycG9yYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFRoaXMgU29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXM6CisgKiBUaGlzIHNvZnR3YXJlIGlzIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYSBjaG9pY2Ugb2Ygb25lIG9mIHR3bworICogbGljZW5zZXMuICBZb3UgbWF5IGNob29zZSB0byBiZSBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIsIGF2YWlsYWJsZSBmcm9tIHRoZSBmaWxlCisgKiBDT1BZSU5HIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLCBvciB0aGUKKyAqIE9wZW5JQi5vcmcgQlNEIGxpY2Vuc2UgYmVsb3c6CiAgKgotICogMSkgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiQ29tbW9uIFB1YmxpYyBMaWNlbnNlIDEuMCIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2NwbC5waHAuCisgKiAgICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgorICogICAgIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZworICogICAgIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAqCi0gKiAyKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJUaGUgQlNEIExpY2Vuc2UiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lci4KICAqCi0gKiAzKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIiIGEKLSAqICAgIGNvcHkgb2Ygd2hpY2ggaXMgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICAgICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICoKLSAqIExpY2Vuc2VlIGhhcyB0aGUgcmlnaHQgdG8gY2hvb3NlIG9uZSBvZiB0aGUgYWJvdmUgbGljZW5zZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSBhbmQgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIGJvdGggdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcyBpbiB0aGUgZG9jdW1lbnRhdGlvbgotICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisgKiBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisgKiBTT0ZUV0FSRS4KICAqLwogCiAjaWYgIWRlZmluZWQoSUJfQUREUl9IKQpAQCAtNTcsNiArNjEsNyBAQAogCXVuc2lnbmVkIGNoYXIgZHN0X2Rldl9hZGRyW01BWF9BRERSX0xFTl07CiAJdW5zaWduZWQgY2hhciBicm9hZGNhc3RbTUFYX0FERFJfTEVOXTsKIAllbnVtIHJkbWFfbm9kZV90eXBlIGRldl90eXBlOworCXN0cnVjdCBuZXRfZGV2aWNlICpzcmNfZGV2OwogfTsKIAogLyoqCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfY2FjaGUuaCBiL2luY2x1ZGUvcmRtYS9pYl9jYWNoZS5oCmluZGV4IGYxNzlkMjMuLjAwYTJiOGUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9jYWNoZS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9jYWNoZS5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9jYWNoZS5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIF9JQl9DQUNIRV9ICmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfY20uaCBiL2luY2x1ZGUvcmRtYS9pYl9jbS5oCmluZGV4IGE2MjdjODYuLmVjN2M2ZDkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9jbS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9jbS5oCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9jbS5oIDQzMTEgMjAwNS0xMi0wNSAxODo0MjowMVogc2Vhbi5oZWZ0eSAkCiAgKi8KICNpZiAhZGVmaW5lZChJQl9DTV9IKQogI2RlZmluZSBJQl9DTV9ICmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfZm1yX3Bvb2wuaCBiL2luY2x1ZGUvcmRtYS9pYl9mbXJfcG9vbC5oCmluZGV4IDAwZGFkYmYuLmY2MmI4NDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9mbXJfcG9vbC5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9mbXJfcG9vbC5oCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9mbXJfcG9vbC5oIDI3MzAgMjAwNS0wNi0yOCAxNjo0MzowM1ogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmICFkZWZpbmVkKElCX0ZNUl9QT09MX0gpCkBAIC02MSw3ICs1OSw3IEBACiAJaW50ICAgICAgICAgICAgICAgICAgICAgcG9vbF9zaXplOwogCWludCAgICAgICAgICAgICAgICAgICAgIGRpcnR5X3dhdGVybWFyazsKIAl2b2lkICAgICAgICAgICAgICAgICAgKCpmbHVzaF9mdW5jdGlvbikoc3RydWN0IGliX2Ztcl9wb29sICpwb29sLAotCQkJCQkJdm9pZCAqICAgICAgICAgICAgICBhcmcpOworCQkJCQkJdm9pZCAgICAgICAgICAgICAgICphcmcpOwogCXZvaWQgICAgICAgICAgICAgICAgICAgKmZsdXNoX2FyZzsKIAl1bnNpZ25lZCAgICAgICAgICAgICAgICBjYWNoZToxOwogfTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9tYWQuaCBiL2luY2x1ZGUvcmRtYS9pYl9tYWQuaAppbmRleCA3MjI4YzA1Li41ZjZjNDBmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfbWFkLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX21hZC5oCkBAIC0zMiwxMSArMzIsOSBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfbWFkLmggNTU5NiAyMDA2LTAzLTAzIDAxOjAwOjA3WiBzZWFuLmhlZnR5ICQKICAqLwogCi0jaWYgIWRlZmluZWQoIElCX01BRF9IICkKKyNpZiAhZGVmaW5lZChJQl9NQURfSCkKICNkZWZpbmUgSUJfTUFEX0gKIAogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KQEAgLTE5NCw4ICsxOTIsNyBAQAogCXU4CQkJZGF0YVtJQl9NR01UX1ZFTkRPUl9EQVRBXTsKIH07CiAKLXN0cnVjdCBpYl9jbGFzc19wb3J0X2luZm8KLXsKK3N0cnVjdCBpYl9jbGFzc19wb3J0X2luZm8gewogCXU4CQkJYmFzZV92ZXJzaW9uOwogCXU4CQkJY2xhc3NfdmVyc2lvbjsKIAlfX2JlMTYJCQljYXBhYmlsaXR5X21hc2s7CkBAIC02MTQsMTEgKzYxMSwxMSBAQAogICogYW55IGNsYXNzIHNwZWNpZmljIGhlYWRlciwgYW5kIE1BRCBkYXRhIGFyZWEuCiAgKiBJZiBAcm1wcF9hY3RpdmUgaXMgc2V0LCB0aGUgUk1QUCBoZWFkZXIgd2lsbCBiZSBpbml0aWFsaXplZCBmb3Igc2VuZGluZy4KICAqLwotc3RydWN0IGliX21hZF9zZW5kX2J1ZiAqIGliX2NyZWF0ZV9zZW5kX21hZChzdHJ1Y3QgaWJfbWFkX2FnZW50ICptYWRfYWdlbnQsCi0JCQkJCSAgICB1MzIgcmVtb3RlX3FwbiwgdTE2IHBrZXlfaW5kZXgsCi0JCQkJCSAgICBpbnQgcm1wcF9hY3RpdmUsCi0JCQkJCSAgICBpbnQgaGRyX2xlbiwgaW50IGRhdGFfbGVuLAotCQkJCQkgICAgZ2ZwX3QgZ2ZwX21hc2spOworc3RydWN0IGliX21hZF9zZW5kX2J1ZiAqaWJfY3JlYXRlX3NlbmRfbWFkKHN0cnVjdCBpYl9tYWRfYWdlbnQgKm1hZF9hZ2VudCwKKwkJCQkJICAgdTMyIHJlbW90ZV9xcG4sIHUxNiBwa2V5X2luZGV4LAorCQkJCQkgICBpbnQgcm1wcF9hY3RpdmUsCisJCQkJCSAgIGludCBoZHJfbGVuLCBpbnQgZGF0YV9sZW4sCisJCQkJCSAgIGdmcF90IGdmcF9tYXNrKTsKIAogLyoqCiAgKiBpYl9pc19tYWRfY2xhc3Nfcm1wcCAtIHJldHVybnMgd2hldGhlciBnaXZlbiBtYW5hZ2VtZW50IGNsYXNzCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfcGFjay5oIGIvaW5jbHVkZS9yZG1hL2liX3BhY2suaAppbmRleCBmOTI2MDIwLi5kN2ZjNDVjIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfcGFjay5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9wYWNrLmgKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3BhY2suaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBJQl9QQUNLX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9zYS5oIGIvaW5jbHVkZS9yZG1hL2liX3NhLmgKaW5kZXggOTQyNjkyYi4uMzg0MWMxYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL2liX3NhLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3NhLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3NhLmggMjgxMSAyMDA1LTA3LTA2IDE4OjExOjQzWiBoYWxyICQKICAqLwogCiAjaWZuZGVmIElCX1NBX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl9zbWkuaCBiL2luY2x1ZGUvcmRtYS9pYl9zbWkuaAppbmRleCBmMjlhZjEzLi5hYWNhMDg3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfc21pLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3NtaS5oCkBAIC0zMiwxMSArMzIsOSBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfc21pLmggMTM4OSAyMDA0LTEyLTI3IDIyOjU2OjQ3WiByb2xhbmQgJAogICovCiAKLSNpZiAhZGVmaW5lZCggSUJfU01JX0ggKQorI2lmICFkZWZpbmVkKElCX1NNSV9IKQogI2RlZmluZSBJQl9TTUlfSAogCiAjaW5jbHVkZSA8cmRtYS9pYl9tYWQuaD4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX2NtLmggYi9pbmNsdWRlL3JkbWEvaWJfdXNlcl9jbS5oCmluZGV4IDM3NjUwYWYuLmJkM2QzODAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX2NtLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfY20uaApAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfdXNlcl9jbS5oIDQwMTkgMjAwNS0xMS0xMSAwMDozMzowOVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmbmRlZiBJQl9VU0VSX0NNX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX21hZC5oIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfbWFkLmgKaW5kZXggMjlkMmM3Mi4uZDZmY2UxYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL2liX3VzZXJfbWFkLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfbWFkLmgKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3VzZXJfbWFkLmggMjgxNCAyMDA1LTA3LTA2IDE5OjE0OjA5WiBoYWxyICQKICAqLwogCiAjaWZuZGVmIElCX1VTRVJfTUFEX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX3ZlcmJzLmggYi9pbmNsdWRlL3JkbWEvaWJfdXNlcl92ZXJicy5oCmluZGV4IDhkNjViZjAuLmExN2Y3NzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX3ZlcmJzLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfdmVyYnMuaApAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfdXNlcl92ZXJicy5oIDQwMTkgMjAwNS0xMS0xMSAwMDozMzowOVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmbmRlZiBJQl9VU0VSX1ZFUkJTX0gKQEAgLTI5MSw3ICsyODksMTAgQEAKIAlfX3UzMiBvcGNvZGU7CiAJX191MzIgdmVuZG9yX2VycjsKIAlfX3UzMiBieXRlX2xlbjsKLQlfX3UzMiBpbW1fZGF0YTsKKwl1bmlvbiB7CisJCV9fdTMyIGltbV9kYXRhOworCQlfX3UzMiBpbnZhbGlkYXRlX3JrZXk7CisJfSBleDsKIAlfX3UzMiBxcF9udW07CiAJX191MzIgc3JjX3FwOwogCV9fdTMyIHdjX2ZsYWdzOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL2liX3ZlcmJzLmggYi9pbmNsdWRlL3JkbWEvaWJfdmVyYnMuaAppbmRleCAzMWQzMGIxLi45MGI1MjlmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfdmVyYnMuaAorKysgYi9pbmNsdWRlL3JkbWEvaWJfdmVyYnMuaApAQCAtMzQsOCArMzQsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfdmVyYnMuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmICFkZWZpbmVkKElCX1ZFUkJTX0gpCkBAIC05Myw3ICs5MSw3IEBACiAJSUJfREVWSUNFX1JDX1JOUl9OQUtfR0VOCT0gKDE8PDEyKSwKIAlJQl9ERVZJQ0VfU1JRX1JFU0laRQkJPSAoMTw8MTMpLAogCUlCX0RFVklDRV9OX05PVElGWV9DUQkJPSAoMTw8MTQpLAotCUlCX0RFVklDRV9aRVJPX1NUQUcJCT0gKDE8PDE1KSwKKwlJQl9ERVZJQ0VfTE9DQUxfRE1BX0xLRVkJPSAoMTw8MTUpLAogCUlCX0RFVklDRV9SRVNFUlZFRAkJPSAoMTw8MTYpLCAvKiBvbGQgU0VORF9XX0lOViAqLwogCUlCX0RFVklDRV9NRU1fV0lORE9XCQk9ICgxPDwxNyksCiAJLyoKQEAgLTEwNSw2ICsxMDMsOCBAQAogCSAqLwogCUlCX0RFVklDRV9VRF9JUF9DU1VNCQk9ICgxPDwxOCksCiAJSUJfREVWSUNFX1VEX1RTTwkJPSAoMTw8MTkpLAorCUlCX0RFVklDRV9NRU1fTUdUX0VYVEVOU0lPTlMJPSAoMTw8MjEpLAorCUlCX0RFVklDRV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0sgPSAoMTw8MjIpLAogfTsKIAogZW51bSBpYl9hdG9taWNfY2FwIHsKQEAgLTE1MCw2ICsxNTAsNyBAQAogCWludAkJCW1heF9zcnE7CiAJaW50CQkJbWF4X3NycV93cjsKIAlpbnQJCQltYXhfc3JxX3NnZTsKKwl1bnNpZ25lZCBpbnQJCW1heF9mYXN0X3JlZ19wYWdlX2xpc3RfbGVuOwogCXUxNgkJCW1heF9wa2V5czsKIAl1OAkJCWxvY2FsX2NhX2Fja19kZWxheTsKIH07CkBAIC0yMjYsNiArMjI3LDU3IEBACiAJfQogfQogCitzdHJ1Y3QgaWJfcHJvdG9jb2xfc3RhdHMgeworCS8qIFRCRC4uLiAqLworfTsKKworc3RydWN0IGl3X3Byb3RvY29sX3N0YXRzIHsKKwl1NjQJaXBJblJlY2VpdmVzOworCXU2NAlpcEluSGRyRXJyb3JzOworCXU2NAlpcEluVG9vQmlnRXJyb3JzOworCXU2NAlpcEluTm9Sb3V0ZXM7CisJdTY0CWlwSW5BZGRyRXJyb3JzOworCXU2NAlpcEluVW5rbm93blByb3RvczsKKwl1NjQJaXBJblRydW5jYXRlZFBrdHM7CisJdTY0CWlwSW5EaXNjYXJkczsKKwl1NjQJaXBJbkRlbGl2ZXJzOworCXU2NAlpcE91dEZvcndEYXRhZ3JhbXM7CisJdTY0CWlwT3V0UmVxdWVzdHM7CisJdTY0CWlwT3V0RGlzY2FyZHM7CisJdTY0CWlwT3V0Tm9Sb3V0ZXM7CisJdTY0CWlwUmVhc21UaW1lb3V0OworCXU2NAlpcFJlYXNtUmVxZHM7CisJdTY0CWlwUmVhc21PS3M7CisJdTY0CWlwUmVhc21GYWlsczsKKwl1NjQJaXBGcmFnT0tzOworCXU2NAlpcEZyYWdGYWlsczsKKwl1NjQJaXBGcmFnQ3JlYXRlczsKKwl1NjQJaXBJbk1jYXN0UGt0czsKKwl1NjQJaXBPdXRNY2FzdFBrdHM7CisJdTY0CWlwSW5CY2FzdFBrdHM7CisJdTY0CWlwT3V0QmNhc3RQa3RzOworCisJdTY0CXRjcFJ0b0FsZ29yaXRobTsKKwl1NjQJdGNwUnRvTWluOworCXU2NAl0Y3BSdG9NYXg7CisJdTY0CXRjcE1heENvbm47CisJdTY0CXRjcEFjdGl2ZU9wZW5zOworCXU2NAl0Y3BQYXNzaXZlT3BlbnM7CisJdTY0CXRjcEF0dGVtcHRGYWlsczsKKwl1NjQJdGNwRXN0YWJSZXNldHM7CisJdTY0CXRjcEN1cnJFc3RhYjsKKwl1NjQJdGNwSW5TZWdzOworCXU2NAl0Y3BPdXRTZWdzOworCXU2NAl0Y3BSZXRyYW5zU2VnczsKKwl1NjQJdGNwSW5FcnJzOworCXU2NAl0Y3BPdXRSc3RzOworfTsKKwordW5pb24gcmRtYV9wcm90b2NvbF9zdGF0cyB7CisJc3RydWN0IGliX3Byb3RvY29sX3N0YXRzCWliOworCXN0cnVjdCBpd19wcm90b2NvbF9zdGF0cwlpdzsKK307CisKIHN0cnVjdCBpYl9wb3J0X2F0dHIgewogCWVudW0gaWJfcG9ydF9zdGF0ZQlzdGF0ZTsKIAllbnVtIGliX210dQkJbWF4X210dTsKQEAgLTQxMyw2ICs0NjUsOCBAQAogCUlCX1dDX0ZFVENIX0FERCwKIAlJQl9XQ19CSU5EX01XLAogCUlCX1dDX0xTTywKKwlJQl9XQ19MT0NBTF9JTlYsCisJSUJfV0NfRkFTVF9SRUdfTVIsCiAvKgogICogU2V0IHZhbHVlIG9mIElCX1dDX1JFQ1Ygc28gY29uc3VtZXJzIGNhbiB0ZXN0IGlmIGEgY29tcGxldGlvbiBpcyBhCiAgKiByZWNlaXZlIGJ5IHRlc3RpbmcgKG9wY29kZSAmIElCX1dDX1JFQ1YpLgpAQCAtNDIzLDcgKzQ3Nyw4IEBACiAKIGVudW0gaWJfd2NfZmxhZ3MgewogCUlCX1dDX0dSSAkJPSAxLAotCUlCX1dDX1dJVEhfSU1NCQk9ICgxPDwxKQorCUlCX1dDX1dJVEhfSU1NCQk9ICgxPDwxKSwKKwlJQl9XQ19XSVRIX0lOVkFMSURBVEUJPSAoMTw8MiksCiB9OwogCiBzdHJ1Y3QgaWJfd2MgewpAQCAtNDMzLDcgKzQ4OCwxMCBAQAogCXUzMgkJCXZlbmRvcl9lcnI7CiAJdTMyCQkJYnl0ZV9sZW47CiAJc3RydWN0IGliX3FwCSAgICAgICAqcXA7Ci0JX19iZTMyCQkJaW1tX2RhdGE7CisJdW5pb24geworCQlfX2JlMzIJCWltbV9kYXRhOworCQl1MzIJCWludmFsaWRhdGVfcmtleTsKKwl9IGV4OwogCXUzMgkJCXNyY19xcDsKIAlpbnQJCQl3Y19mbGFnczsKIAl1MTYJCQlwa2V5X2luZGV4OwpAQCAtNDk4LDcgKzU1Niw4IEBACiB9OwogCiBlbnVtIGliX3FwX2NyZWF0ZV9mbGFncyB7Ci0JSUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTwk9IDEgPDwgMCwKKwlJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPCQk9IDEgPDwgMCwKKwlJQl9RUF9DUkVBVEVfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLCT0gMSA8PCAxLAogfTsKIAogc3RydWN0IGliX3FwX2luaXRfYXR0ciB7CkBAIC02MjcsNiArNjg2LDkgQEAKIAlJQl9XUl9BVE9NSUNfRkVUQ0hfQU5EX0FERCwKIAlJQl9XUl9MU08sCiAJSUJfV1JfU0VORF9XSVRIX0lOViwKKwlJQl9XUl9SRE1BX1JFQURfV0lUSF9JTlYsCisJSUJfV1JfTE9DQUxfSU5WLAorCUlCX1dSX0ZBU1RfUkVHX01SLAogfTsKIAogZW51bSBpYl9zZW5kX2ZsYWdzIHsKQEAgLTY0Myw2ICs3MDUsMTIgQEAKIAl1MzIJbGtleTsKIH07CiAKK3N0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgeworCXN0cnVjdCBpYl9kZXZpY2UgICAgICAgKmRldmljZTsKKwl1NjQJCSAgICAgICAqcGFnZV9saXN0OworCXVuc2lnbmVkIGludAkJbWF4X3BhZ2VfbGlzdF9sZW47Cit9OworCiBzdHJ1Y3QgaWJfc2VuZF93ciB7CiAJc3RydWN0IGliX3NlbmRfd3IgICAgICAqbmV4dDsKIAl1NjQJCQl3cl9pZDsKQEAgLTY3NSw2ICs3NDMsMTUgQEAKIAkJCXUxNglwa2V5X2luZGV4OyAvKiB2YWxpZCBmb3IgR1NJIG9ubHkgKi8KIAkJCXU4CXBvcnRfbnVtOyAgIC8qIHZhbGlkIGZvciBEUiBTTVBzIG9uIHN3aXRjaCBvbmx5ICovCiAJCX0gdWQ7CisJCXN0cnVjdCB7CisJCQl1NjQJCQkJaW92YV9zdGFydDsKKwkJCXN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgICAqcGFnZV9saXN0OworCQkJdW5zaWduZWQgaW50CQkJcGFnZV9zaGlmdDsKKwkJCXVuc2lnbmVkIGludAkJCXBhZ2VfbGlzdF9sZW47CisJCQl1MzIJCQkJbGVuZ3RoOworCQkJaW50CQkJCWFjY2Vzc19mbGFnczsKKwkJCXUzMgkJCQlya2V5OworCQl9IGZhc3RfcmVnOwogCX0gd3I7CiB9OwogCkBAIC03NzcsNyArODU0LDcgQEAKIAlzdHJ1Y3QgaWJfdW9iamVjdCAgICAgICp1b2JqZWN0OwogCWliX2NvbXBfaGFuZGxlciAgIAljb21wX2hhbmRsZXI7CiAJdm9pZCAgICAgICAgICAgICAgICAgICgqZXZlbnRfaGFuZGxlcikoc3RydWN0IGliX2V2ZW50ICosIHZvaWQgKik7Ci0Jdm9pZCAqICAgICAgICAgICAgCWNxX2NvbnRleHQ7CisJdm9pZCAgICAgICAgICAgICAgICAgICAqY3FfY29udGV4dDsKIAlpbnQgICAgICAgICAgICAgICAJY3FlOwogCWF0b21pY190ICAgICAgICAgIAl1c2VjbnQ7IC8qIGNvdW50IG51bWJlciBvZiB3b3JrIHF1ZXVlcyAqLwogfTsKQEAgLTg4Myw3ICs5NjAsNyBAQAogCXZvaWQJCSgqc3luY19zaW5nbGVfZm9yX2NwdSkoc3RydWN0IGliX2RldmljZSAqZGV2LAogCQkJCQkgICAgICAgdTY0IGRtYV9oYW5kbGUsCiAJCQkJCSAgICAgICBzaXplX3Qgc2l6ZSwKLQkJCQkgICAgICAgICAgICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpOworCQkJCQkgICAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsKIAl2b2lkCQkoKnN5bmNfc2luZ2xlX2Zvcl9kZXZpY2UpKHN0cnVjdCBpYl9kZXZpY2UgKmRldiwKIAkJCQkJCSAgdTY0IGRtYV9oYW5kbGUsCiAJCQkJCQkgIHNpemVfdCBzaXplLApAQCAtOTE5LDYgKzk5Niw4IEBACiAKIAlzdHJ1Y3QgaXdfY21fdmVyYnMJICAgICAqaXdjbTsKIAorCWludAkJICAgICAgICAgICAoKmdldF9wcm90b2NvbF9zdGF0cykoc3RydWN0IGliX2RldmljZSAqZGV2aWNlLAorCQkJCQkJCSB1bmlvbiByZG1hX3Byb3RvY29sX3N0YXRzICpzdGF0cyk7CiAJaW50CQkgICAgICAgICAgICgqcXVlcnlfZGV2aWNlKShzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCiAJCQkJCQkgICBzdHJ1Y3QgaWJfZGV2aWNlX2F0dHIgKmRldmljZV9hdHRyKTsKIAlpbnQJCSAgICAgICAgICAgKCpxdWVyeV9wb3J0KShzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCkBAIC0xMDEzLDYgKzEwOTIsMTEgQEAKIAlpbnQgICAgICAgICAgICAgICAgICAgICAgICAoKnF1ZXJ5X21yKShzdHJ1Y3QgaWJfbXIgKm1yLAogCQkJCQkgICAgICAgc3RydWN0IGliX21yX2F0dHIgKm1yX2F0dHIpOwogCWludCAgICAgICAgICAgICAgICAgICAgICAgICgqZGVyZWdfbXIpKHN0cnVjdCBpYl9tciAqbXIpOworCXN0cnVjdCBpYl9tciAqCQkgICAoKmFsbG9jX2Zhc3RfcmVnX21yKShzdHJ1Y3QgaWJfcGQgKnBkLAorCQkJCQkgICAgICAgaW50IG1heF9wYWdlX2xpc3RfbGVuKTsKKwlzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICogKCphbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QpKHN0cnVjdCBpYl9kZXZpY2UgKmRldmljZSwKKwkJCQkJCQkJICAgaW50IHBhZ2VfbGlzdF9sZW4pOworCXZvaWQJCQkgICAoKmZyZWVfZmFzdF9yZWdfcGFnZV9saXN0KShzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3QpOwogCWludCAgICAgICAgICAgICAgICAgICAgICAgICgqcmVyZWdfcGh5c19tcikoc3RydWN0IGliX21yICptciwKIAkJCQkJCSAgICBpbnQgbXJfcmVyZWdfbWFzaywKIAkJCQkJCSAgICBzdHJ1Y3QgaWJfcGQgKnBkLApAQCAtMTA2NSw2ICsxMTQ5LDcgQEAKIAogCWNoYXIJCQkgICAgIG5vZGVfZGVzY1s2NF07CiAJX19iZTY0CQkJICAgICBub2RlX2d1aWQ7CisJdTMyCQkJICAgICBsb2NhbF9kbWFfbGtleTsKIAl1OCAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVfdHlwZTsKIAl1OCAgICAgICAgICAgICAgICAgICAgICAgICAgIHBoeXNfcG9ydF9jbnQ7CiB9OwpAQCAtMTgwNyw2ICsxODkyLDU0IEBACiBpbnQgaWJfZGVyZWdfbXIoc3RydWN0IGliX21yICptcik7CiAKIC8qKgorICogaWJfYWxsb2NfZmFzdF9yZWdfbXIgLSBBbGxvY2F0ZXMgbWVtb3J5IHJlZ2lvbiB1c2FibGUgd2l0aCB0aGUKKyAqICAgSUJfV1JfRkFTVF9SRUdfTVIgc2VuZCB3b3JrIHJlcXVlc3QuCisgKiBAcGQ6IFRoZSBwcm90ZWN0aW9uIGRvbWFpbiBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZ2lvbi4KKyAqIEBtYXhfcGFnZV9saXN0X2xlbjogcmVxdWVzdGVkIG1heCBwaHlzaWNhbCBidWZmZXIgbGlzdCBsZW5ndGggdG8gYmUKKyAqICAgdXNlZCB3aXRoIGZhc3QgcmVnaXN0ZXIgd29yayByZXF1ZXN0cyBmb3IgdGhpcyBNUi4KKyAqLworc3RydWN0IGliX21yICppYl9hbGxvY19mYXN0X3JlZ19tcihzdHJ1Y3QgaWJfcGQgKnBkLCBpbnQgbWF4X3BhZ2VfbGlzdF9sZW4pOworCisvKioKKyAqIGliX2FsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCAtIEFsbG9jYXRlcyBhIHBhZ2UgbGlzdCBhcnJheQorICogQGRldmljZSAtIGliIGRldmljZSBwb2ludGVyLgorICogQHBhZ2VfbGlzdF9sZW4gLSBzaXplIG9mIHRoZSBwYWdlIGxpc3QgYXJyYXkgdG8gYmUgYWxsb2NhdGVkLgorICoKKyAqIFRoaXMgYWxsb2NhdGVzIGFuZCByZXR1cm5zIGEgc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqIGFuZCBhCisgKiBwYWdlX2xpc3QgYXJyYXkgdGhhdCBpcyBhdCBsZWFzdCBwYWdlX2xpc3RfbGVuIGluIHNpemUuICBUaGUgYWN0dWFsCisgKiBzaXplIGlzIHJldHVybmVkIGluIG1heF9wYWdlX2xpc3RfbGVuLiAgVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZQorICogZm9yIGluaXRpYWxpemluZyB0aGUgY29udGVudHMgb2YgdGhlIHBhZ2VfbGlzdCBhcnJheSBiZWZvcmUgcG9zdGluZworICogYSBzZW5kIHdvcmsgcmVxdWVzdCB3aXRoIHRoZSBJQl9XQ19GQVNUX1JFR19NUiBvcGNvZGUuCisgKgorICogVGhlIHBhZ2VfbGlzdCBhcnJheSBlbnRyaWVzIG11c3QgYmUgdHJhbnNsYXRlZCB1c2luZyBvbmUgb2YgdGhlCisgKiBpYl9kbWFfKigpIGZ1bmN0aW9ucyBqdXN0IGxpa2UgdGhlIGFkZHJlc3NlcyBwYXNzZWQgdG8KKyAqIGliX21hcF9waHlzX2ZtcigpLiAgT25jZSB0aGUgaWJfcG9zdF9zZW5kKCkgaXMgaXNzdWVkLCB0aGUgc3RydWN0CisgKiBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgbXVzdCBub3QgYmUgbW9kaWZpZWQgYnkgdGhlIGNhbGxlciB1bnRpbCB0aGUKKyAqIElCX1dDX0ZBU1RfUkVHX01SIHdvcmsgcmVxdWVzdCBjb21wbGV0ZXMuCisgKi8KK3N0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKmliX2FsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCgKKwkJCQlzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsIGludCBwYWdlX2xpc3RfbGVuKTsKKworLyoqCisgKiBpYl9mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdCAtIERlYWxsb2NhdGVzIGEgcHJldmlvdXNseSBhbGxvY2F0ZWQKKyAqICAgcGFnZSBsaXN0IGFycmF5LgorICogQHBhZ2VfbGlzdCAtIHN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgcG9pbnRlciB0byBiZSBkZWFsbG9jYXRlZC4KKyAqLwordm9pZCBpYl9mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdChzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3QpOworCisvKioKKyAqIGliX3VwZGF0ZV9mYXN0X3JlZ19rZXkgLSB1cGRhdGVzIHRoZSBrZXkgcG9ydGlvbiBvZiB0aGUgZmFzdF9yZWcgTVIKKyAqICAgUl9LZXkgYW5kIExfS2V5LgorICogQG1yIC0gc3RydWN0IGliX21yIHBvaW50ZXIgdG8gYmUgdXBkYXRlZC4KKyAqIEBuZXdrZXkgLSBuZXcga2V5IHRvIGJlIHVzZWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBpYl91cGRhdGVfZmFzdF9yZWdfa2V5KHN0cnVjdCBpYl9tciAqbXIsIHU4IG5ld2tleSkKK3sKKwltci0+bGtleSA9IChtci0+bGtleSAmIDB4ZmZmZmZmMDApIHwgbmV3a2V5OworCW1yLT5ya2V5ID0gKG1yLT5ya2V5ICYgMHhmZmZmZmYwMCkgfCBuZXdrZXk7Cit9CisKKy8qKgogICogaWJfYWxsb2NfbXcgLSBBbGxvY2F0ZXMgYSBtZW1vcnkgd2luZG93LgogICogQHBkOiBUaGUgcHJvdGVjdGlvbiBkb21haW4gYXNzb2NpYXRlZCB3aXRoIHRoZSBtZW1vcnkgd2luZG93LgogICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaXdfY20uaCBiL2luY2x1ZGUvcmRtYS9pd19jbS5oCmluZGV4IGFlZWZhOWIuLmNiYjgyMmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pd19jbS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pd19jbS5oCkBAIC02Miw3ICs2Miw3IEBACiAJc3RydWN0IHNvY2thZGRyX2luIHJlbW90ZV9hZGRyOwogCXZvaWQgKnByaXZhdGVfZGF0YTsKIAl1OCBwcml2YXRlX2RhdGFfbGVuOwotCXZvaWQqIHByb3ZpZGVyX2RhdGE7CisJdm9pZCAqcHJvdmlkZXJfZGF0YTsKIH07CiAKIC8qKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL3JkbWFfY20uaCBiL2luY2x1ZGUvcmRtYS9yZG1hX2NtLmgKaW5kZXggMDEwZjg3Ni4uMjJiYjJlNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL3JkbWFfY20uaAorKysgYi9pbmNsdWRlL3JkbWEvcmRtYV9jbS5oCkBAIC0yLDI5ICsyLDMzIEBACiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgVm9sdGFpcmUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwNSBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlczoKKyAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCisgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiwgYXZhaWxhYmxlIGZyb20gdGhlIGZpbGUKKyAqIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUsIG9yIHRoZQorICogT3BlbklCLm9yZyBCU0QgbGljZW5zZSBiZWxvdzoKICAqCi0gKiAxKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJDb21tb24gUHVibGljIExpY2Vuc2UgMS4wIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsLnBocC4KKyAqICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yCisgKiAgICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nCisgKiAgICAgY29uZGl0aW9ucyBhcmUgbWV0OgogICoKLSAqIDIpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIlRoZSBCU0QgTGljZW5zZSIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyLgogICoKLSAqIDMpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiIgYQotICogICAgY29weSBvZiB3aGljaCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgICAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogTGljZW5zZWUgaGFzIHRoZSByaWdodCB0byBjaG9vc2Ugb25lIG9mIHRoZSBhYm92ZSBsaWNlbnNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlIGFuZCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYm90aCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKyAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgorICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKyAqIFNPRlRXQVJFLgogICovCiAKICNpZiAhZGVmaW5lZChSRE1BX0NNX0gpCkBAIC01NywxMSArNjEsMTEgQEAKIH07CiAKIGVudW0gcmRtYV9wb3J0X3NwYWNlIHsKLQlSRE1BX1BTX1NEUCAgPSAweDAwMDEsCi0JUkRNQV9QU19JUE9JQj0gMHgwMDAyLAotCVJETUFfUFNfVENQICA9IDB4MDEwNiwKLQlSRE1BX1BTX1VEUCAgPSAweDAxMTEsCi0JUkRNQV9QU19TQ1RQID0gMHgwMTgzCisJUkRNQV9QU19TRFAgICA9IDB4MDAwMSwKKwlSRE1BX1BTX0lQT0lCID0gMHgwMDAyLAorCVJETUFfUFNfVENQICAgPSAweDAxMDYsCisJUkRNQV9QU19VRFAgICA9IDB4MDExMSwKKwlSRE1BX1BTX1NDVFAgID0gMHgwMTgzCiB9OwogCiBzdHJ1Y3QgcmRtYV9hZGRyIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9yZG1hX2NtX2liLmggYi9pbmNsdWRlL3JkbWEvcmRtYV9jbV9pYi5oCmluZGV4IDk1MDQyNGIuLjIzODljM2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9yZG1hX2NtX2liLmgKKysrIGIvaW5jbHVkZS9yZG1hL3JkbWFfY21faWIuaApAQCAtMSwyOSArMSwzMyBAQAogLyoKICAqIENvcHlyaWdodCAoYykgMjAwNiBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlczoKKyAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCisgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiwgYXZhaWxhYmxlIGZyb20gdGhlIGZpbGUKKyAqIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUsIG9yIHRoZQorICogT3BlbklCLm9yZyBCU0QgbGljZW5zZSBiZWxvdzoKICAqCi0gKiAxKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJDb21tb24gUHVibGljIExpY2Vuc2UgMS4wIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsLnBocC4KKyAqICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yCisgKiAgICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nCisgKiAgICAgY29uZGl0aW9ucyBhcmUgbWV0OgogICoKLSAqIDIpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIlRoZSBCU0QgTGljZW5zZSIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyLgogICoKLSAqIDMpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiIgYQotICogICAgY29weSBvZiB3aGljaCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgICAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogTGljZW5zZWUgaGFzIHRoZSByaWdodCB0byBjaG9vc2Ugb25lIG9mIHRoZSBhYm92ZSBsaWNlbnNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlIGFuZCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYm90aCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKyAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgorICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKyAqIFNPRlRXQVJFLgogICovCiAKICNpZiAhZGVmaW5lZChSRE1BX0NNX0lCX0gpCmRpZmYgLS1naXQgYS9pbmNsdWRlL3Njc2kvc2NzaV9kZXZpY2UuaCBiL2luY2x1ZGUvc2NzaS9zY3NpX2RldmljZS5oCmluZGV4IGY2YTlmZTAuLjAwYjc4NzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc2NzaS9zY3NpX2RldmljZS5oCisrKyBiL2luY2x1ZGUvc2NzaS9zY3NpX2RldmljZS5oCkBAIC0xMzQsNiArMTM0LDcgQEAKIAl1bnNpZ25lZCBub19zdGFydF9vbl9hZGQ6MTsJLyogZG8gbm90IGlzc3VlIHN0YXJ0IG9uIGFkZCAqLwogCXVuc2lnbmVkIGFsbG93X3Jlc3RhcnQ6MTsgLyogaXNzdWUgU1RBUlRfVU5JVCBpbiBlcnJvciBoYW5kbGVyICovCiAJdW5zaWduZWQgbWFuYWdlX3N0YXJ0X3N0b3A6MTsJLyogTGV0IEhMRCAoc2QpIG1hbmFnZSBzdGFydC9zdG9wICovCisJdW5zaWduZWQgc3RhcnRfc3RvcF9wd3JfY29uZDoxOwkvKiBTZXQgcG93ZXIgY29uZC4gaW4gU1RBUlRfU1RPUF9VTklUICovCiAJdW5zaWduZWQgbm9fdWxkX2F0dGFjaDoxOyAvKiBkaXNhYmxlIGNvbm5lY3RpbmcgdG8gdXBwZXIgbGV2ZWwgZHJpdmVycyAqLwogCXVuc2lnbmVkIHNlbGVjdF9ub19hdG46MTsKIAl1bnNpZ25lZCBmaXhfY2FwYWNpdHk6MTsJLyogUkVBRF9DQVBBQ0lUWSBpcyB0b28gaGlnaCBieSAxICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2FkMTg0My5oIGIvaW5jbHVkZS9zb3VuZC9hZDE4NDMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjM2YTlkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zb3VuZC9hZDE4NDMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogVGhpcyBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UuICBTZWUgdGhlIGZpbGUgIkNPUFlJTkciIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIGFyY2hpdmUKKyAqIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogQ29weXJpZ2h0IDIwMDMgVml2aWVuIENoYXBwZWxpZXIgPHZpdmllbi5jaGFwcGVsaWVyQGxpbnV4LW1pcHMub3JnPgorICogQ29weXJpZ2h0IDIwMDggVGhvbWFzIEJvZ2VuZG9lcmZlciA8dHNib2dlbmRAZnJhbmtlbi5kZT4KKyAqLworCisjaWZuZGVmIF9fU09VTkRfQUQxODQzX0gKKyNkZWZpbmUgX19TT1VORF9BRDE4NDNfSAorCitzdHJ1Y3Qgc25kX2FkMTg0MyB7CisJdm9pZCAqY2hpcDsKKwlpbnQgKCpyZWFkKSh2b2lkICpjaGlwLCBpbnQgcmVnKTsKKwlpbnQgKCp3cml0ZSkodm9pZCAqY2hpcCwgaW50IHJlZywgaW50IHZhbCk7Cit9OworCisjZGVmaW5lIEFEMTg0M19HQUlOX1JFQ0xFViAwCisjZGVmaW5lIEFEMTg0M19HQUlOX0xJTkUgICAxCisjZGVmaW5lIEFEMTg0M19HQUlOX0xJTkVfMiAyCisjZGVmaW5lIEFEMTg0M19HQUlOX01JQyAgICAzCisjZGVmaW5lIEFEMTg0M19HQUlOX1BDTV8wICA0CisjZGVmaW5lIEFEMTg0M19HQUlOX1BDTV8xICA1CisjZGVmaW5lIEFEMTg0M19HQUlOX1NJWkUgICAoQUQxODQzX0dBSU5fUENNXzErMSkKKworaW50IGFkMTg0M19nZXRfZ2Fpbl9tYXgoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkKTsKK2ludCBhZDE4NDNfZ2V0X2dhaW4oc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkKTsKK2ludCBhZDE4NDNfc2V0X2dhaW4oc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkLCBpbnQgbmV3dmFsKTsKK2ludCBhZDE4NDNfZ2V0X3JlY3NyYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKTsKK2ludCBhZDE4NDNfc2V0X3JlY3NyYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgbmV3c3JjKTsKK3ZvaWQgYWQxODQzX3NldHVwX2RhYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkgICAgICB1bnNpZ25lZCBpbnQgaWQsCisJCSAgICAgIHVuc2lnbmVkIGludCBmcmFtZXJhdGUsCisJCSAgICAgIHNuZF9wY21fZm9ybWF0X3QgZm10LAorCQkgICAgICB1bnNpZ25lZCBpbnQgY2hhbm5lbHMpOwordm9pZCBhZDE4NDNfc2h1dGRvd25fZGFjKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsCisJCQkgdW5zaWduZWQgaW50IGlkKTsKK3ZvaWQgYWQxODQzX3NldHVwX2FkYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkgICAgICB1bnNpZ25lZCBpbnQgZnJhbWVyYXRlLAorCQkgICAgICBzbmRfcGNtX2Zvcm1hdF90IGZtdCwKKwkJICAgICAgdW5zaWduZWQgaW50IGNoYW5uZWxzKTsKK3ZvaWQgYWQxODQzX3NodXRkb3duX2FkYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKTsKK2ludCBhZDE4NDNfaW5pdChzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKTsKKworI2VuZGlmIC8qIF9fU09VTkRfQUQxODQzX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvY29udHJvbC5oIGIvaW5jbHVkZS9zb3VuZC9jb250cm9sLmgKaW5kZXggM2RjMTI5MS4uNDcyMWI0YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9jb250cm9sLmgKKysrIGIvaW5jbHVkZS9zb3VuZC9jb250cm9sLmgKQEAgLTEyOSw5ICsxMjksNiBAQAogI2RlZmluZSBzbmRfY3RsX3VucmVnaXN0ZXJfaW9jdGxfY29tcGF0KGZjbikKICNlbmRpZgogCi1pbnQgc25kX2N0bF9lbGVtX3JlYWQoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKTsKLWludCBzbmRfY3RsX2VsZW1fd3JpdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2N0bF9maWxlICpmaWxlLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKTsKLQogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgc25kX2N0bF9nZXRfaW9mZm51bShzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2lkICppZCkKIHsKIAlyZXR1cm4gaWQtPm51bWlkIC0ga2N0bC0+aWQubnVtaWQ7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2NvcmUuaCBiL2luY2x1ZGUvc291bmQvY29yZS5oCmluZGV4IDY5NWVlNTMuLjU1OGI5NjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvY29yZS5oCisrKyBiL2luY2x1ZGUvc291bmQvY29yZS5oCkBAIC00MTIsMTMgKzQxMiwxMyBAQAogCiAjZW5kaWYgLyogQ09ORklHX1NORF9ERUJVRyAqLwogCi0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIC8qKgogICogc25kX3ByaW50ZGQgLSBkZWJ1ZyBwcmludGsKICAqIEBmb3JtYXQ6IGZvcm1hdCBzdHJpbmcKICAqCiAgKiBXb3JrcyBsaWtlIHNuZF9wcmludGsoKSBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLgotICogSWdub3JlZCB3aGVuIENPTkZJR19TTkRfREVCVUdfREVURUNUIGlzIG5vdCBzZXQuCisgKiBJZ25vcmVkIHdoZW4gQ09ORklHX1NORF9ERUJVR19WRVJCT1NFIGlzIG5vdCBzZXQuCiAgKi8KICNkZWZpbmUgc25kX3ByaW50ZGQoZm9ybWF0LCBhcmdzLi4uKSBzbmRfcHJpbnRrKGZvcm1hdCwgIyNhcmdzKQogI2Vsc2UKQEAgLTQ0Miw3ICs0NDIsNyBAQAogCXVuc2lnbmVkIHNob3J0IHN1YnZlbmRvcjsJLyogUENJIHN1YnZlbmRvciBJRCAqLwogCXVuc2lnbmVkIHNob3J0IHN1YmRldmljZTsJLyogUENJIHN1YmRldmljZSBJRCAqLwogCWludCB2YWx1ZTsJCQkvKiB2YWx1ZSAqLwotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJY29uc3QgY2hhciAqbmFtZTsJCS8qIG5hbWUgb2YgdGhlIGRldmljZSAob3B0aW9uYWwpICovCiAjZW5kaWYKIH07CkBAIC00NTAsNyArNDUwLDcgQEAKICNkZWZpbmUgX1NORF9QQ0lfUVVJUktfSUQodmVuZCxkZXYpIFwKIAkuc3VidmVuZG9yID0gKHZlbmQpLCAuc3ViZGV2aWNlID0gKGRldikKICNkZWZpbmUgU05EX1BDSV9RVUlSS19JRCh2ZW5kLGRldikge19TTkRfUENJX1FVSVJLX0lEKHZlbmQsIGRldil9Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKICNkZWZpbmUgU05EX1BDSV9RVUlSSyh2ZW5kLGRldix4bmFtZSx2YWwpIFwKIAl7X1NORF9QQ0lfUVVJUktfSUQodmVuZCwgZGV2KSwgLnZhbHVlID0gKHZhbCksIC5uYW1lID0gKHhuYW1lKX0KICNlbHNlCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2NzNDIzMS1yZWdzLmggYi9pbmNsdWRlL3NvdW5kL2NzNDIzMS1yZWdzLmgKaW5kZXggZThkMWYzZS4uOTI2NDc1MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9jczQyMzEtcmVncy5oCisrKyBiL2luY2x1ZGUvc291bmQvY3M0MjMxLXJlZ3MuaApAQCAtMTc3LDQgKzE3NywxMiBAQAogI2RlZmluZSBDUzQyMzZfUklHSFRfV0FWRQkweDFjCS8qIHJpZ2h0IHdhdmV0YWJsZSBzZXJpYWwgcG9ydCB2b2x1bWUgKi8KICNkZWZpbmUgQ1M0MjM2X1ZFUlNJT04JCTB4OWMJLyogY2hpcCB2ZXJzaW9uIGFuZCBJRCAqLwogCisvKiBkZWZpbml0aW9ucyBmb3IgZXh0ZW5kZWQgcmVnaXN0ZXJzIC0gT1BUSTkzWCAqLworI2RlZmluZSBPUFRpOTMxX0FVWF9MRUZUX0lOUFVUCTB4MTAKKyNkZWZpbmUgT1BUaTkzMV9BVVhfUklHSFRfSU5QVVQJMHgxMQorI2RlZmluZSBPUFRpOTNYX01JQ19MRUZUX0lOUFVUCTB4MTQKKyNkZWZpbmUgT1BUaTkzWF9NSUNfUklHSFRfSU5QVVQJMHgxNQorI2RlZmluZSBPUFRpOTNYX09VVF9MRUZUCTB4MTYKKyNkZWZpbmUgT1BUaTkzWF9PVVRfUklHSFQJMHgxNworCiAjZW5kaWYgLyogX19TT1VORF9DUzQyMzFfUkVHU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2NzNDIzMS5oIGIvaW5jbHVkZS9zb3VuZC9jczQyMzEuaAppbmRleCA2NjA1NWQ3Li5mMDc4NWY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL3NvdW5kL2NzNDIzMS5oCisrKyBiL2luY2x1ZGUvc291bmQvY3M0MjMxLmgKQEAgLTU4LDYgKzU4LDcgQEAKIC8qIGNvbXBhdGlibGUsIGJ1dCBjbG9uZXMgKi8KICNkZWZpbmUgQ1M0MjMxX0hXX0lOVEVSV0FWRSAgICAgMHgxMDAwCS8qIEludGVyV2F2ZSBjaGlwICovCiAjZGVmaW5lIENTNDIzMV9IV19PUEwzU0EyICAgICAgIDB4MTEwMQkvKiBPUEwzLVNBMiBjaGlwLCBzaW1pbGFyIHRvIGNzNDIzMSAqLworI2RlZmluZSBDUzQyMzFfSFdfT1BUSTkzWCAJMHgxMTAyCS8qIE9wdGkgOTMwLzkzMS85MzMgKi8KIAogLyogZGVmaW5lcyBmb3IgY29kZWMuaHdzaGFyZSAqLwogI2RlZmluZSBDUzQyMzFfSFdTSEFSRV9JUlEJKDE8PDApCkBAIC0xMjAsNiArMTIxLDggQEAKIHZvaWQgc25kX2NzNDIzMV9tY2VfdXAoc3RydWN0IHNuZF9jczQyMzEgKmNoaXApOwogdm9pZCBzbmRfY3M0MjMxX21jZV9kb3duKHN0cnVjdCBzbmRfY3M0MjMxICpjaGlwKTsKIAordm9pZCBzbmRfY3M0MjMxX292ZXJyYW5nZShzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCk7CisKIGlycXJldHVybl90IHNuZF9jczQyMzFfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCk7CiAKIGNvbnN0IGNoYXIgKnNuZF9jczQyMzFfY2hpcF9pZChzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2VtdTEwazEuaCBiL2luY2x1ZGUvc291bmQvZW11MTBrMS5oCmluZGV4IDdiN2I5YjEuLjEwZWUyOGUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvZW11MTBrMS5oCisrKyBiL2luY2x1ZGUvc291bmQvZW11MTBrMS5oCkBAIC0xNjcwLDYgKzE2NzAsNyBAQAogCXVuc2lnbmVkIGNoYXIgc3BpX2RhYzsgICAgICAvKiBTUEkgaW50ZXJmYWNlIGZvciBEQUMgKi8KIAl1bnNpZ25lZCBjaGFyIGkyY19hZGM7ICAgICAgLyogSTJDIGludGVyZmFjZSBmb3IgQURDICovCiAJdW5zaWduZWQgY2hhciBhZGNfMTM2MXQ7ICAgIC8qIFVzZSBQaGlsaXBzIDEzNjFUIEFEQyAqLworCXVuc2lnbmVkIGNoYXIgaW52ZXJ0X3NoYXJlZF9zcGRpZjsgLyogYW5hbG9nL2RpZ2l0YWwgc3dpdGNoIGludmVydGVkICovCiAJY29uc3QgY2hhciAqZHJpdmVyOwogCWNvbnN0IGNoYXIgKm5hbWU7CiAJY29uc3QgY2hhciAqaWQ7CQkvKiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAtIGNhbiBiZSBOVUxMIGlmIG5vdCBuZWVkZWQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvc2VxX2tlcm5lbC5oIGIvaW5jbHVkZS9zb3VuZC9zZXFfa2VybmVsLmgKaW5kZXggZjAyM2MxYi4uM2Q5YWZiNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9zZXFfa2VybmVsLmgKKysrIGIvaW5jbHVkZS9zb3VuZC9zZXFfa2VybmVsLmgKQEAgLTEwNSw3ICsxMDUsNyBAQAogCQkJICAgICAgaW50IGNhcCwgaW50IHR5cGUsIGludCBtaWRpX2NoYW5uZWxzLCBpbnQgbWlkaV92b2ljZXMsIGNoYXIgKnBvcnRuYW1lKTsKIGludCBzbmRfc2VxX2V2ZW50X3BvcnRfZGV0YWNoKGludCBjbGllbnQsIGludCBwb3J0KTsKIAotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIHZvaWQgc25kX3NlcV9hdXRvbG9hZF9sb2NrKHZvaWQpOwogdm9pZCBzbmRfc2VxX2F1dG9sb2FkX3VubG9jayh2b2lkKTsKICNlbHNlCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL3NvYy1kYXBtLmggYi9pbmNsdWRlL3NvdW5kL3NvYy1kYXBtLmgKaW5kZXggYTEwNWIwMS4uMzAzMGZkYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9zb2MtZGFwbS5oCisrKyBiL2luY2x1ZGUvc291bmQvc29jLWRhcG0uaApAQCAtMTMwLDYgKzEzMCwxMyBAQAogewkuaWQgPSBzbmRfc29jX2RhcG1fYWRjLCAubmFtZSA9IHduYW1lLCAuc25hbWUgPSBzdG5hbWUsIC5yZWcgPSB3cmVnLCBcCiAJLnNoaWZ0ID0gd3NoaWZ0LCAuaW52ZXJ0ID0gd2ludmVydH0KIAorLyogZ2VuZXJpYyByZWdpc3RlciBtb2RpZmllciB3aWRnZXQgKi8KKyNkZWZpbmUgU05EX1NPQ19EQVBNX1JFRyh3aWQsIHduYW1lLCB3cmVnLCB3c2hpZnQsIHdtYXNrLCB3b25fdmFsLCB3b2ZmX3ZhbCkgXAorewkuaWQgPSB3aWQsIC5uYW1lID0gd25hbWUsIC5rY29udHJvbHMgPSBOVUxMLCAubnVtX2tjb250cm9scyA9IDAsIFwKKwkucmVnID0gLSgod3JlZykgKyAxKSwgLnNoaWZ0ID0gd3NoaWZ0LCAubWFzayA9IHdtYXNrLCBcCisJLm9uX3ZhbCA9IHdvbl92YWwsIC5vZmZfdmFsID0gd29mZl92YWwsIC5ldmVudCA9IGRhcG1fcmVnX2V2ZW50LCBcCisJLmV2ZW50X2ZsYWdzID0gU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUR9CisKIC8qIGRhcG0ga2NvbnRyb2wgdHlwZXMgKi8KICNkZWZpbmUgU09DX0RBUE1fU0lOR0xFKHhuYW1lLCByZWcsIHNoaWZ0LCBtYXgsIGludmVydCkgXAogewkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSB4bmFtZSwgXApAQCAtMTkzLDYgKzIwMCw3IEBACiBlbnVtIHNuZF9zb2NfZGFwbV90eXBlOwogc3RydWN0IHNuZF9zb2NfZGFwbV9wYXRoOwogc3RydWN0IHNuZF9zb2NfZGFwbV9waW47CitzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlOwogCiAvKiBkYXBtIGNvbnRyb2xzICovCiBpbnQgc25kX3NvY19kYXBtX3B1dF92b2xzdyhzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKQEAgLTIwNSwyNSArMjEzLDMyIEBACiAJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpOwogaW50IHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCiAJY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKndpZGdldCk7CitpbnQgc25kX3NvY19kYXBtX25ld19jb250cm9scyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKndpZGdldCwKKwlpbnQgbnVtKTsKIAogLyogZGFwbSBwYXRoIHNldHVwICovCi1pbnQgc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAoraW50ICBfX2RlcHJlY2F0ZWQgc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAogCWNvbnN0IGNoYXIgKnNpbmtfbmFtZSwgY29uc3QgY2hhciAqY29udHJvbF9uYW1lLCBjb25zdCBjaGFyICpzcmNfbmFtZSk7CiBpbnQgc25kX3NvY19kYXBtX25ld193aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyk7CiB2b2lkIHNuZF9zb2NfZGFwbV9mcmVlKHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2KTsKK2ludCBzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkgICAgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSAqcm91dGUsIGludCBudW0pOwogCiAvKiBkYXBtIGV2ZW50cyAqLwogaW50IHNuZF9zb2NfZGFwbV9zdHJlYW1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpzdHJlYW0sCiAJaW50IGV2ZW50KTsKLWludCBzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2LCBpbnQgZXZlbnQpOworaW50IHNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiwKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCk7CiAKIC8qIGRhcG0gc3lzIGZzIC0gdXNlZCBieSB0aGUgY29yZSAqLwogaW50IHNuZF9zb2NfZGFwbV9zeXNfYWRkKHN0cnVjdCBkZXZpY2UgKmRldik7CiAKLS8qIGRhcG0gYXVkaW8gZW5kcG9pbnQgY29udHJvbCAqLwotaW50IHNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAotCWNoYXIgKnBpbiwgaW50IHN0YXR1cyk7Ci1pbnQgc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyk7CisvKiBkYXBtIGF1ZGlvIHBpbiBjb250cm9sIGFuZCBzdGF0dXMgKi8KK2ludCBzbmRfc29jX2RhcG1fZW5hYmxlX3BpbihzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGNoYXIgKnBpbik7CitpbnQgc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY2hhciAqcGluKTsKK2ludCBzbmRfc29jX2RhcG1fZ2V0X3Bpbl9zdGF0dXMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpwaW4pOworaW50IHNuZF9zb2NfZGFwbV9zeW5jKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyk7CiAKIC8qIGRhcG0gd2lkZ2V0IHR5cGVzICovCiBlbnVtIHNuZF9zb2NfZGFwbV90eXBlIHsKQEAgLTI0NSw2ICsyNjAsMTggQEAKIAlzbmRfc29jX2RhcG1fcG9zdCwJCQkvKiBtYWNoaW5lIHNwZWNpZmljIHBvc3Qgd2lkZ2V0IC0gZXhlYyBsYXN0ICovCiB9OwogCisvKgorICogREFQTSBhdWRpbyByb3V0ZSBkZWZpbml0aW9uLgorICoKKyAqIERlZmluZXMgYW4gYXVkaW8gcm91dGUgb3JpZ2luYXRpbmcgYXQgc291cmNlIHZpYSBjb250cm9sIGFuZCBmaW5pc2hpbmcKKyAqIGF0IHNpbmsuCisgKi8KK3N0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgeworCWNvbnN0IGNoYXIgKnNpbms7CisJY29uc3QgY2hhciAqY29udHJvbDsKKwljb25zdCBjaGFyICpzb3VyY2U7Cit9OworCiAvKiBkYXBtIGF1ZGlvIHBhdGggYmV0d2VlbiB0d28gd2lkZ2V0cyAqLwogc3RydWN0IHNuZF9zb2NfZGFwbV9wYXRoIHsKIAljaGFyICpuYW1lOwpAQCAtMjc3LDYgKzMwNCw5IEBACiAJdW5zaWduZWQgY2hhciBzaGlmdDsJCQkvKiBiaXRzIHRvIHNoaWZ0ICovCiAJdW5zaWduZWQgaW50IHNhdmVkX3ZhbHVlOwkJLyogd2lkZ2V0IHNhdmVkIHZhbHVlICovCiAJdW5zaWduZWQgaW50IHZhbHVlOwkJCQkvKiB3aWRnZXQgY3VycmVudCB2YWx1ZSAqLworCXVuc2lnbmVkIGludCBtYXNrOwkJCS8qIG5vbi1zaGlmdGVkIG1hc2sgKi8KKwl1bnNpZ25lZCBpbnQgb25fdmFsOwkJCS8qIG9uIHN0YXRlIHZhbHVlICovCisJdW5zaWduZWQgaW50IG9mZl92YWw7CQkJLyogb2ZmIHN0YXRlIHZhbHVlICovCiAJdW5zaWduZWQgY2hhciBwb3dlcjoxOwkJCS8qIGJsb2NrIHBvd2VyIHN0YXR1cyAqLwogCXVuc2lnbmVkIGNoYXIgaW52ZXJ0OjE7CQkJLyogaW52ZXJ0IHRoZSBwb3dlciBiaXQgKi8KIAl1bnNpZ25lZCBjaGFyIGFjdGl2ZToxOwkJCS8qIGFjdGl2ZSBzdHJlYW0gb24gREFDLCBBREMncyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9zb2MuaCBiL2luY2x1ZGUvc291bmQvc29jLmgKaW5kZXggZDNjOGMwMy4uMTg5MGQ4NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9zb2MuaAorKysgYi9pbmNsdWRlL3NvdW5kL3NvYy5oCkBAIC03Myw2ICs3MywxNSBAQAogCS5nZXQgPSBzbmRfc29jX2dldF92b2xzd18yciwgLnB1dCA9IHNuZF9zb2NfcHV0X3ZvbHN3XzJyLCBcCiAJLnByaXZhdGVfdmFsdWUgPSAocmVnX2xlZnQpIHwgKChzaGlmdCkgPDwgOCkgIHwgXAogCQkoKG1heCkgPDwgMTIpIHwgKChpbnZlcnQpIDw8IDIwKSB8ICgocmVnX3JpZ2h0KSA8PCAyNCkgfQorI2RlZmluZSBTT0NfRE9VQkxFX1M4X1RMVih4bmFtZSwgcmVnLCBtaW4sIG1heCwgdGx2X2FycmF5KSBcCit7CS5pZmFjZSAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSAoeG5hbWUpLCBcCisJLmFjY2VzcyA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19UTFZfUkVBRCB8IFwKKwkJICBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLCBcCisJLnRsdi5wICA9ICh0bHZfYXJyYXkpLCBcCisJLmluZm8gICA9IHNuZF9zb2NfaW5mb192b2xzd19zOCwgLmdldCA9IHNuZF9zb2NfZ2V0X3ZvbHN3X3M4LCBcCisJLnB1dCAgICA9IHNuZF9zb2NfcHV0X3ZvbHN3X3M4LCBcCisJLnByaXZhdGVfdmFsdWUgPSAocmVnKSB8ICgoKHNpZ25lZCBjaGFyKW1heCkgPDwgMTYpIHwgXAorCQkJICgoKHNpZ25lZCBjaGFyKW1pbikgPDwgMjQpIH0KICNkZWZpbmUgU09DX0VOVU1fRE9VQkxFKHhyZWcsIHhzaGlmdF9sLCB4c2hpZnRfciwgeG1hc2ssIHh0ZXh0cykgXAogewkucmVnID0geHJlZywgLnNoaWZ0X2wgPSB4c2hpZnRfbCwgLnNoaWZ0X3IgPSB4c2hpZnRfciwgXAogCS5tYXNrID0geG1hc2ssIC50ZXh0cyA9IHh0ZXh0cyB9CkBAIC05MSw2ICsxMDAsMTUgQEAKIAkuaW5mbyA9IHNuZF9zb2NfaW5mb192b2xzdywgXAogCS5nZXQgPSB4aGFuZGxlcl9nZXQsIC5wdXQgPSB4aGFuZGxlcl9wdXQsIFwKIAkucHJpdmF0ZV92YWx1ZSA9IFNPQ19TSU5HTEVfVkFMVUUoeHJlZywgeHNoaWZ0LCB4bWFzaywgeGludmVydCkgfQorI2RlZmluZSBTT0NfU0lOR0xFX0VYVF9UTFYoeG5hbWUsIHhyZWcsIHhzaGlmdCwgeG1hc2ssIHhpbnZlcnQsXAorCSB4aGFuZGxlcl9nZXQsIHhoYW5kbGVyX3B1dCwgdGx2X2FycmF5KSBcCit7CS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9IHhuYW1lLCBcCisJLmFjY2VzcyA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19UTFZfUkVBRCB8XAorCQkgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSxcCisJLnRsdi5wID0gKHRsdl9hcnJheSksIFwKKwkuaW5mbyA9IHNuZF9zb2NfaW5mb192b2xzdywgXAorCS5nZXQgPSB4aGFuZGxlcl9nZXQsIC5wdXQgPSB4aGFuZGxlcl9wdXQsIFwKKwkucHJpdmF0ZV92YWx1ZSA9IFNPQ19TSU5HTEVfVkFMVUUoeHJlZywgeHNoaWZ0LCB4bWFzaywgeGludmVydCkgfQogI2RlZmluZSBTT0NfU0lOR0xFX0JPT0xfRVhUKHhuYW1lLCB4ZGF0YSwgeGhhbmRsZXJfZ2V0LCB4aGFuZGxlcl9wdXQpIFwKIHsJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0geG5hbWUsIFwKIAkuaW5mbyA9IHNuZF9zb2NfaW5mb19ib29sX2V4dCwgXApAQCAtMTAzLDYgKzEyMSwyNCBAQAogCS5wcml2YXRlX3ZhbHVlID0gKHVuc2lnbmVkIGxvbmcpJnhlbnVtIH0KIAogLyoKKyAqIEJpYXMgbGV2ZWxzCisgKgorICogQE9OOiAgICAgIEJpYXMgaXMgZnVsbHkgb24gZm9yIGF1ZGlvIHBsYXliYWNrIGFuZCBjYXB0dXJlIG9wZXJhdGlvbnMuCisgKiBAUFJFUEFSRTogUHJlcGFyZSBmb3IgYXVkaW8gb3BlcmF0aW9ucy4gQ2FsbGVkIGJlZm9yZSBEQVBNIHN3aXRjaGluZyBmb3IKKyAqICAgICAgICAgICBzdHJlYW0gc3RhcnQgYW5kIHN0b3Agb3BlcmF0aW9ucy4KKyAqIEBTVEFOREJZOiBMb3cgcG93ZXIgc3RhbmRieSBzdGF0ZSB3aGVuIG5vIHBsYXliYWNrL2NhcHR1cmUgb3BlcmF0aW9ucyBhcmUKKyAqICAgICAgICAgICBpbiBwcm9ncmVzcy4gTk9URTogVGhlIHRyYW5zaXRpb24gdGltZSBiZXR3ZWVuIFNUQU5EQlkgYW5kIE9OCisgKiAgICAgICAgICAgc2hvdWxkIGJlIGFzIGZhc3QgYXMgcG9zc2libGUgYW5kIG5vIGxvbmdlciB0aGFuIDEwbXMuCisgKiBAT0ZGOiAgICAgUG93ZXIgT2ZmLiBObyByZXN0cmljdGlvbnMgb24gdHJhbnNpdGlvbiB0aW1lcy4KKyAqLworZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgeworCVNORF9TT0NfQklBU19PTiwKKwlTTkRfU09DX0JJQVNfUFJFUEFSRSwKKwlTTkRfU09DX0JJQVNfU1RBTkRCWSwKKwlTTkRfU09DX0JJQVNfT0ZGLAorfTsKKworLyoKICAqIERpZ2l0YWwgQXVkaW8gSW50ZXJmYWNlIChEQUkpIHR5cGVzCiAgKi8KICNkZWZpbmUgU05EX1NPQ19EQUlfQUM5NwkweDEKQEAgLTE4NSw4ICsyMjEsNyBAQAogc3RydWN0IHNuZF9zb2Nfb3BzOwogc3RydWN0IHNuZF9zb2NfZGFpX21vZGU7CiBzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZTsKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaTsKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWk7CitzdHJ1Y3Qgc25kX3NvY19kYWk7CiBzdHJ1Y3Qgc25kX3NvY19jb2RlYzsKIHN0cnVjdCBzbmRfc29jX21hY2hpbmVfY29uZmlnOwogc3RydWN0IHNvY19lbnVtOwpAQCAtMjIxLDYgKzI1NiwyNyBAQAogCXN0cnVjdCBzbmRfYWM5N19idXNfb3BzICpvcHMsIGludCBudW0pOwogdm9pZCBzbmRfc29jX2ZyZWVfYWM5N19jb2RlYyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpOwogCisvKiBEaWdpdGFsIEF1ZGlvIEludGVyZmFjZSBjbG9ja2luZyBBUEkuKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgY2xrX2lkLAorCXVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKTsKKworaW50IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJaW50IGRpdl9pZCwgaW50IGRpdik7CisKK2ludCBzbmRfc29jX2RhaV9zZXRfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpOworCisvKiBEaWdpdGFsIEF1ZGlvIGludGVyZmFjZSBmb3JtYXR0aW5nICovCitpbnQgc25kX3NvY19kYWlfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCk7CisKK2ludCBzbmRfc29jX2RhaV9zZXRfdGRtX3Nsb3Qoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJdW5zaWduZWQgaW50IG1hc2ssIGludCBzbG90cyk7CisKK2ludCBzbmRfc29jX2RhaV9zZXRfdHJpc3RhdGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCB0cmlzdGF0ZSk7CisKKy8qIERpZ2l0YWwgQXVkaW8gSW50ZXJmYWNlIG11dGUgKi8KK2ludCBzbmRfc29jX2RhaV9kaWdpdGFsX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKTsKKwogLyoKICAqQ29udHJvbHMKICAqLwpAQCAtMjQ5LDYgKzMwNSwxMiBAQAogCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKTsKIGludCBzbmRfc29jX3B1dF92b2xzd18ycihzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKIAlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCk7CitpbnQgc25kX3NvY19pbmZvX3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pOworaW50IHNuZF9zb2NfZ2V0X3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKTsKK2ludCBzbmRfc29jX3B1dF92b2xzd19zOChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCk7CiAKIC8qIFNvQyBQQ00gc3RyZWFtIGluZm9ybWF0aW9uICovCiBzdHJ1Y3Qgc25kX3NvY19wY21fc3RyZWFtIHsKQEAgLTI3Miw4NyArMzM0LDQ1IEBACiAJaW50ICgqdHJpZ2dlcikoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICosIGludCk7CiB9OwogCi0vKiBBU29DIGNvZGVjIERBSSBvcHMgKi8KLXN0cnVjdCBzbmRfc29jX2NvZGVjX29wcyB7Ci0JLyogY29kZWMgREFJIGNsb2NraW5nIGNvbmZpZ3VyYXRpb24gKi8KLQlpbnQgKCpzZXRfc3lzY2xrKShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKKy8qIEFTb0MgREFJIG9wcyAqLworc3RydWN0IHNuZF9zb2NfZGFpX29wcyB7CisJLyogREFJIGNsb2NraW5nIGNvbmZpZ3VyYXRpb24gKi8KKwlpbnQgKCpzZXRfc3lzY2xrKShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKIAkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpOwotCWludCAoKnNldF9wbGwpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorCWludCAoKnNldF9wbGwpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCQlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KTsKLQlpbnQgKCpzZXRfY2xrZGl2KShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKLQkJaW50IGRpdl9pZCwgaW50IGRpdik7CisJaW50ICgqc2V0X2Nsa2Rpdikoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBkaXZfaWQsIGludCBkaXYpOwogCi0JLyogQ1BVIERBSSBmb3JtYXQgY29uZmlndXJhdGlvbiAqLwotCWludCAoKnNldF9mbXQpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAotCQl1bnNpZ25lZCBpbnQgZm10KTsKLQlpbnQgKCpzZXRfdGRtX3Nsb3QpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorCS8qIERBSSBmb3JtYXQgY29uZmlndXJhdGlvbiAqLworCWludCAoKnNldF9mbXQpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCB1bnNpZ25lZCBpbnQgZm10KTsKKwlpbnQgKCpzZXRfdGRtX3Nsb3QpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCQl1bnNpZ25lZCBpbnQgbWFzaywgaW50IHNsb3RzKTsKLQlpbnQgKCpzZXRfdHJpc3RhdGUpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqLCBpbnQgdHJpc3RhdGUpOworCWludCAoKnNldF90cmlzdGF0ZSkoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCB0cmlzdGF0ZSk7CiAKIAkvKiBkaWdpdGFsIG11dGUgKi8KLQlpbnQgKCpkaWdpdGFsX211dGUpKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqLCBpbnQgbXV0ZSk7CisJaW50ICgqZGlnaXRhbF9tdXRlKShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpOwogfTsKIAotLyogQVNvQyBjcHUgREFJIG9wcyAqLwotc3RydWN0IHNuZF9zb2NfY3B1X29wcyB7Ci0JLyogQ1BVIERBSSBjbG9ja2luZyBjb25maWd1cmF0aW9uICovCi0JaW50ICgqc2V0X3N5c2Nsaykoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKLQkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpOwotCWludCAoKnNldF9jbGtkaXYpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCWludCBkaXZfaWQsIGludCBkaXYpOwotCWludCAoKnNldF9wbGwpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpOwotCi0JLyogQ1BVIERBSSBmb3JtYXQgY29uZmlndXJhdGlvbiAqLwotCWludCAoKnNldF9mbXQpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCXVuc2lnbmVkIGludCBmbXQpOwotCWludCAoKnNldF90ZG1fc2xvdCkoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKLQkJdW5zaWduZWQgaW50IG1hc2ssIGludCBzbG90cyk7Ci0JaW50ICgqc2V0X3RyaXN0YXRlKShzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICosIGludCB0cmlzdGF0ZSk7Ci19OwotCi0vKiBTb0MgQ29kZWMgREFJICovCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgewotCWNoYXIgKm5hbWU7Ci0JaW50IGlkOwotCXVuc2lnbmVkIGNoYXIgdHlwZTsKLQotCS8qIERBSSBjYXBhYmlsaXRpZXMgKi8KLQlzdHJ1Y3Qgc25kX3NvY19wY21fc3RyZWFtIHBsYXliYWNrOwotCXN0cnVjdCBzbmRfc29jX3BjbV9zdHJlYW0gY2FwdHVyZTsKLQotCS8qIERBSSBydW50aW1lIGluZm8gKi8KLQlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7Ci0JdW5zaWduZWQgaW50IGFjdGl2ZTsKLQl1bnNpZ25lZCBjaGFyIHBvcF93YWl0OjE7Ci0KLQkvKiBvcHMgKi8KLQlzdHJ1Y3Qgc25kX3NvY19vcHMgb3BzOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX29wcyBkYWlfb3BzOwotCi0JLyogREFJIHByaXZhdGUgZGF0YSAqLwotCXZvaWQgKnByaXZhdGVfZGF0YTsKLX07Ci0KLS8qIFNvQyBDUFUgREFJICovCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHsKLQorLyogU29DICBEQUkgKERpZ2l0YWwgQXVkaW8gSW50ZXJmYWNlKSAqLworc3RydWN0IHNuZF9zb2NfZGFpIHsKIAkvKiBEQUkgZGVzY3JpcHRpb24gKi8KIAljaGFyICpuYW1lOwogCXVuc2lnbmVkIGludCBpZDsKIAl1bnNpZ25lZCBjaGFyIHR5cGU7CiAKIAkvKiBEQUkgY2FsbGJhY2tzICovCi0JaW50ICgqcHJvYmUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOwotCXZvaWQgKCpyZW1vdmUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOworCWludCAoKnByb2JlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKTsKKwl2b2lkICgqcmVtb3ZlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpOwogCWludCAoKnN1c3BlbmQpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpOworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSk7CiAJaW50ICgqcmVzdW1lKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpOwogCiAJLyogb3BzICovCiAJc3RydWN0IHNuZF9zb2Nfb3BzIG9wczsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfb3BzIGRhaV9vcHM7CisJc3RydWN0IHNuZF9zb2NfZGFpX29wcyBkYWlfb3BzOwogCiAJLyogREFJIGNhcGFiaWxpdGllcyAqLwogCXN0cnVjdCBzbmRfc29jX3BjbV9zdHJlYW0gY2FwdHVyZTsKQEAgLTM2MCw3ICszODAsOSBAQAogCiAJLyogREFJIHJ1bnRpbWUgaW5mbyAqLwogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWU7Ci0JdW5zaWduZWQgY2hhciBhY3RpdmU6MTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CisJdW5zaWduZWQgaW50IGFjdGl2ZTsKKwl1bnNpZ25lZCBjaGFyIHBvcF93YWl0OjE7CiAJdm9pZCAqZG1hX2RhdGE7CiAKIAkvKiBEQUkgcHJpdmF0ZSBkYXRhICovCkBAIC0zNzQsNyArMzk2LDggQEAKIAlzdHJ1Y3QgbXV0ZXggbXV0ZXg7CiAKIAkvKiBjYWxsYmFja3MgKi8KLQlpbnQgKCpkYXBtX2V2ZW50KShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCk7CisJaW50ICgqc2V0X2JpYXNfbGV2ZWwpKHN0cnVjdCBzbmRfc29jX2NvZGVjICosCisJCQkgICAgICBlbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCk7CiAKIAkvKiBydW50aW1lICovCiAJc3RydWN0IHNuZF9jYXJkICpjYXJkOwpAQCAtMzk2LDEyICs0MTksMTIgQEAKIAkvKiBkYXBtICovCiAJc3RydWN0IGxpc3RfaGVhZCBkYXBtX3dpZGdldHM7CiAJc3RydWN0IGxpc3RfaGVhZCBkYXBtX3BhdGhzOwotCXVuc2lnbmVkIGludCBkYXBtX3N0YXRlOwotCXVuc2lnbmVkIGludCBzdXNwZW5kX2RhcG1fc3RhdGU7CisJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgYmlhc19sZXZlbDsKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBzdXNwZW5kX2JpYXNfbGV2ZWw7CiAJc3RydWN0IGRlbGF5ZWRfd29yayBkZWxheWVkX3dvcms7CiAKIAkvKiBjb2RlYyBEQUkncyAqLwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpOwogCXVuc2lnbmVkIGludCBudW1fZGFpOwogfTsKIApAQCAtNDIwLDEyICs0NDMsMTIgQEAKIAlpbnQgKCpwcm9iZSkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldik7CiAJaW50ICgqcmVtb3ZlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKIAlpbnQgKCpzdXNwZW5kKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpOwogCWludCAoKnJlc3VtZSkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSk7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKTsKIAogCS8qIHBjbSBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gKi8KLQlpbnQgKCpwY21fbmV3KShzdHJ1Y3Qgc25kX2NhcmQgKiwgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICosCisJaW50ICgqcGNtX25ldykoc3RydWN0IHNuZF9jYXJkICosIHN0cnVjdCBzbmRfc29jX2RhaSAqLAogCQlzdHJ1Y3Qgc25kX3BjbSAqKTsKIAl2b2lkICgqcGNtX2ZyZWUpKHN0cnVjdCBzbmRfcGNtICopOwogCkBAIC00MzksOCArNDYyLDggQEAKIAljaGFyICpzdHJlYW1fbmFtZTsJCS8qIFN0cmVhbSBuYW1lICovCiAKIAkvKiBEQUkgKi8KLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaTsKIAogCS8qIG1hY2hpbmUgc3RyZWFtIG9wZXJhdGlvbnMgKi8KIAlzdHJ1Y3Qgc25kX3NvY19vcHMgKm9wczsKQEAgLTQ2Nyw3ICs0OTAsOCBAQAogCWludCAoKnJlc3VtZV9wb3N0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKIAogCS8qIGNhbGxiYWNrcyAqLwotCWludCAoKmRhcG1fZXZlbnQpKHN0cnVjdCBzbmRfc29jX21hY2hpbmUgKiwgaW50IGV2ZW50KTsKKwlpbnQgKCpzZXRfYmlhc19sZXZlbCkoc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqLAorCQkJICAgICAgZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpOwogCiAJLyogQ1BVIDwtLT4gQ29kZWMgREFJIGxpbmtzICAqLwogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICpkYWlfbGluazsKQEAgLTQ4Miw2ICs1MDYsNyBAQAogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYzsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2UgKmNvZGVjX2RldjsKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIGRlbGF5ZWRfd29yazsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZGVmZXJyZWRfcmVzdW1lX3dvcms7CiAJdm9pZCAqY29kZWNfZGF0YTsKIH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvdWRhMTM0MS5oIGIvaW5jbHVkZS9zb3VuZC91ZGExMzQxLmgKaW5kZXggMmU1NjRiZi4uMTEwZDVkYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC91ZGExMzQxLmgKKysrIGIvaW5jbHVkZS9zb3VuZC91ZGExMzQxLmgKQEAgLTE1LDggKzE1LDYgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZXMgc3VwcG9ydAogICovCiAKLS8qICRJZDogdWRhMTM0MS5oLHYgMS44IDIwMDUvMTEvMTcgMTQ6MTc6MjEgdGl3YWkgRXhwICQgKi8KLQogI2RlZmluZSBVREExMzQxX0FMU0FfTkFNRSAic25kLXVkYTEzNDEiCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL3ZlcnNpb24uaCBiL2luY2x1ZGUvc291bmQvdmVyc2lvbi5oCmluZGV4IGVkNmZiMmUuLjZiNzhhZmYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvdmVyc2lvbi5oCisrKyBiL2luY2x1ZGUvc291bmQvdmVyc2lvbi5oCkBAIC0xLDMgKzEsMyBAQAotLyogaW5jbHVkZS92ZXJzaW9uLmguICBHZW5lcmF0ZWQgYnkgYWxzYS9rc3luYyBzY3JpcHQuICAqLwotI2RlZmluZSBDT05GSUdfU05EX1ZFUlNJT04gIjEuMC4xNiIKKy8qIGluY2x1ZGUvdmVyc2lvbi5oICovCisjZGVmaW5lIENPTkZJR19TTkRfVkVSU0lPTiAiMS4wLjE3IgogI2RlZmluZSBDT05GSUdfU05EX0RBVEUgIiIKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2V2ZW50cy5oIGIvaW5jbHVkZS94ZW4vZXZlbnRzLmgKaW5kZXggYWNkOGUwNi4uNjdjNDQzNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vZXZlbnRzLmgKKysrIGIvaW5jbHVkZS94ZW4vZXZlbnRzLmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogdm9pZCB4ZW5fc2VuZF9JUElfb25lKHVuc2lnbmVkIGludCBjcHUsIGVudW0gaXBpX3ZlY3RvciB2ZWN0b3IpOwogaW50IHJlc2VuZF9pcnFfb25fZXZ0Y2huKHVuc2lnbmVkIGludCBpcnEpOwordm9pZCByZWJpbmRfZXZ0Y2huX2lycShpbnQgZXZ0Y2huLCBpbnQgaXJxKTsKIAogc3RhdGljIGlubGluZSB2b2lkIG5vdGlmeV9yZW1vdGVfdmlhX2V2dGNobihpbnQgcG9ydCkKIHsKQEAgLTQwLDQgKzQxLDcgQEAKIH0KIAogZXh0ZXJuIHZvaWQgbm90aWZ5X3JlbW90ZV92aWFfaXJxKGludCBpcnEpOworCitleHRlcm4gdm9pZCB4ZW5faXJxX3Jlc3VtZSh2b2lkKTsKKwogI2VuZGlmCS8qIF9YRU5fRVZFTlRTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmggYi9pbmNsdWRlL3hlbi9ncmFudF90YWJsZS5oCmluZGV4IDQ2NjIwNDguLmE0MGYxY2QgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgKKysrIGIvaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaApAQCAtNTEsNiArNTEsOSBAQAogCXUxNiBjb3VudDsKIH07CiAKK2ludCBnbnR0YWJfc3VzcGVuZCh2b2lkKTsKK2ludCBnbnR0YWJfcmVzdW1lKHZvaWQpOworCiBpbnQgZ250dGFiX2dyYW50X2ZvcmVpZ25fYWNjZXNzKGRvbWlkX3QgZG9taWQsIHVuc2lnbmVkIGxvbmcgZnJhbWUsCiAJCQkJaW50IHJlYWRvbmx5KTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaHZjLWNvbnNvbGUuaCBiL2luY2x1ZGUveGVuL2h2Yy1jb25zb2xlLmgKaW5kZXggMjFjMGVjZi4uOThiNzliYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaHZjLWNvbnNvbGUuaAorKysgYi9pbmNsdWRlL3hlbi9odmMtY29uc29sZS5oCkBAIC0zLDQgKzMsMTMgQEAKIAogZXh0ZXJuIHN0cnVjdCBjb25zb2xlIHhlbmJvb3RfY29uc29sZTsKIAorI2lmZGVmIENPTkZJR19IVkNfWEVOCit2b2lkIHhlbl9jb25zb2xlX3Jlc3VtZSh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgeGVuX2NvbnNvbGVfcmVzdW1lKHZvaWQpIHsgfQorI2VuZGlmCisKK3ZvaWQgeGVuX3Jhd19jb25zb2xlX3dyaXRlKGNvbnN0IGNoYXIgKnN0cik7Cit2b2lkIHhlbl9yYXdfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKwogI2VuZGlmCS8qIFhFTl9IVkNfQ09OU09MRV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZWxmbm90ZS5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2VsZm5vdGUuaAppbmRleCBhNjRkM2RmLi43YTgyNjJjIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZWxmbm90ZS5oCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9lbGZub3RlLmgKQEAgLTEyMCw2ICsxMjAsMjYgQEAKICAqLwogI2RlZmluZSBYRU5fRUxGTk9URV9CU0RfU1lNVEFCICAgIDExCiAKKy8qCisgKiBUaGUgbG93ZXN0IGFkZHJlc3MgdGhlIGh5cGVydmlzb3IgaG9sZSBjYW4gYmVnaW4gYXQgKG51bWVyaWMpLgorICoKKyAqIFRoaXMgbXVzdCBub3QgYmUgc2V0IGhpZ2hlciB0aGFuIEhZUEVSVklTT1JfVklSVF9TVEFSVC4gSXRzIHByZXNlbmNlCisgKiBhbHNvIGluZGljYXRlcyB0byB0aGUgaHlwZXJ2aXNvciB0aGF0IHRoZSBrZXJuZWwgY2FuIGRlYWwgd2l0aCB0aGUKKyAqIGhvbGUgc3RhcnRpbmcgYXQgYSBoaWdoZXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9IVl9TVEFSVF9MT1cgIDEyCisKKy8qCisgKiBMaXN0IG9mIG1hZGRyX3Qtc2l6ZWQgbWFzay92YWx1ZSBwYWlycyBkZXNjcmliaW5nIGhvdyB0byByZWNvZ25pemUKKyAqIChub24tcHJlc2VudCkgTDEgcGFnZSB0YWJsZSBlbnRyaWVzIGNhcnJ5aW5nIHZhbGlkIE1GTnMgKG51bWVyaWMpLgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RFX0wxX01GTl9WQUxJRCAgMTMKKworLyoKKyAqIFdoZXRoZXIgb3Igbm90IHRoZSBndWVzdCBzdXBwb3J0cyBjb29wZXJhdGl2ZSBzdXNwZW5kIGNhbmNlbGxhdGlvbi4KKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9TVVNQRU5EX0NBTkNFTCAxNAorCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX0VMRk5PVEVfSF9fICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZmVhdHVyZXMuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9mZWF0dXJlcy5oCmluZGV4IGQ3MzIyOGQuLmY1MWI2NDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9mZWF0dXJlcy5oCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9mZWF0dXJlcy5oCkBAIC0zOCw2ICszOCw5IEBACiAgKi8KICNkZWZpbmUgWEVORkVBVF9wYWVfcGdkaXJfYWJvdmVfNGdiICAgICAgICA0CiAKKy8qIHg4NjogRG9lcyB0aGlzIFhlbiBob3N0IHN1cHBvcnQgdGhlIE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQgaHlwZXJjYWxsPyAqLworI2RlZmluZSBYRU5GRUFUX21tdV9wdF91cGRhdGVfcHJlc2VydmVfYWQgIDUKKwogI2RlZmluZSBYRU5GRUFUX05SX1NVQk1BUFMgMQogCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX0ZFQVRVUkVTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2ZiaWYuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9mYmlmLmgKaW5kZXggNWE5MzRkZC4uOTc0YTUxZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2ZiaWYuaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvaW8vZmJpZi5oCkBAIC00OSwxMSArNDksMjcgQEAKIAlpbnQzMl90IGhlaWdodDsJCS8qIHJlY3QgaGVpZ2h0ICovCiB9OwogCisvKgorICogRnJhbWVidWZmZXIgcmVzaXplIG5vdGlmaWNhdGlvbiBldmVudAorICogQ2FwYWJsZSBiYWNrZW5kIHNldHMgZmVhdHVyZS1yZXNpemUgaW4geGVuc3RvcmUuCisgKi8KKyNkZWZpbmUgWEVORkJfVFlQRV9SRVNJWkUgMworCitzdHJ1Y3QgeGVuZmJfcmVzaXplIHsKKwl1aW50OF90IHR5cGU7CQkvKiBYRU5GQl9UWVBFX1JFU0laRSAqLworCWludDMyX3Qgd2lkdGg7CQkvKiB3aWR0aCBpbiBwaXhlbHMgKi8KKwlpbnQzMl90IGhlaWdodDsJCS8qIGhlaWdodCBpbiBwaXhlbHMgKi8KKwlpbnQzMl90IHN0cmlkZTsJCS8qIHN0cmlkZSBpbiBieXRlcyAqLworCWludDMyX3QgZGVwdGg7CQkvKiBkZXB0aCBpbiBiaXRzICovCisJaW50MzJfdCBvZmZzZXQ7CQkvKiBzdGFydCBvZmZzZXQgd2l0aGluIGZyYW1lYnVmZmVyICovCit9OworCiAjZGVmaW5lIFhFTkZCX09VVF9FVkVOVF9TSVpFIDQwCiAKIHVuaW9uIHhlbmZiX291dF9ldmVudCB7CiAJdWludDhfdCB0eXBlOwogCXN0cnVjdCB4ZW5mYl91cGRhdGUgdXBkYXRlOworCXN0cnVjdCB4ZW5mYl9yZXNpemUgcmVzaXplOwogCWNoYXIgcGFkW1hFTkZCX09VVF9FVkVOVF9TSVpFXTsKIH07CiAKQEAgLTEwNSwxNSArMTIxLDE4IEBACiAJICogRWFjaCBkaXJlY3RvcnkgcGFnZSBob2xkcyBQQUdFX1NJWkUgLyBzaXplb2YoKnBkKQogCSAqIGZyYW1lYnVmZmVyIHBhZ2VzLCBhbmQgY2FuIHRodXMgbWFwIHVwIHRvIFBBR0VfU0laRSAqCiAJICogUEFHRV9TSVpFIC8gc2l6ZW9mKCpwZCkgYnl0ZXMuICBXaXRoIFBBR0VfU0laRSA9PSA0MDk2IGFuZAotCSAqIHNpemVvZih1bnNpZ25lZCBsb25nKSA9PSA0LCB0aGF0J3MgNCBNZWdzLiAgVHdvIGRpcmVjdG9yeQotCSAqIHBhZ2VzIHNob3VsZCBiZSBlbm91Z2ggZm9yIGEgd2hpbGUuCisJICogc2l6ZW9mKHVuc2lnbmVkIGxvbmcpID09IDQvOCwgdGhhdCdzIDQgTWVncyAzMiBiaXQgYW5kIDIKKwkgKiBNZWdzIDY0IGJpdC4gIDI1NiBkaXJlY3RvcmllcyBnaXZlIGVub3VnaCByb29tIGZvciBhIDUxMgorCSAqIE1lZyBmcmFtZWJ1ZmZlciB3aXRoIGEgbWF4IHJlc29sdXRpb24gb2YgMTIsODAweDEwLDI0MC4KKwkgKiBTaG91bGQgYmUgZW5vdWdoIGZvciBhIHdoaWxlIHdpdGggcm9vbSBsZWZ0b3ZlciBmb3IKKwkgKiBleHBhbnNpb24uCiAJICovCi0JdW5zaWduZWQgbG9uZyBwZFsyXTsKKwl1bnNpZ25lZCBsb25nIHBkWzI1Nl07CiB9OwogCiAvKgotICogV2FydDogeGVua2JkIG5lZWRzIHRvIGtub3cgcmVzb2x1dGlvbi4gIFB1dCBpdCBoZXJlIHVudGlsIGEgYmV0dGVyCi0gKiBzb2x1dGlvbiBpcyBmb3VuZCwgYnV0IGRvbid0IGxlYWsgaXQgdG8gdGhlIGJhY2tlbmQuCisgKiBXYXJ0OiB4ZW5rYmQgbmVlZHMgdG8ga25vdyBkZWZhdWx0IHJlc29sdXRpb24uICBQdXQgaXQgaGVyZSB1bnRpbCBhCisgKiBiZXR0ZXIgc29sdXRpb24gaXMgZm91bmQsIGJ1dCBkb24ndCBsZWFrIGl0IHRvIHRoZSBiYWNrZW5kLgogICovCiAjaWZkZWYgX19LRVJORUxfXwogI2RlZmluZSBYRU5GQl9XSURUSCA4MDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9rYmRpZi5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmgKaW5kZXggZmI5N2Y0Mi4uODA2NmM3OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmgKKysrIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmgKQEAgLTQ5LDYgKzQ5LDcgQEAKIAl1aW50OF90IHR5cGU7CQkvKiBYRU5LQkRfVFlQRV9NT1RJT04gKi8KIAlpbnQzMl90IHJlbF94OwkJLyogcmVsYXRpdmUgWCBtb3Rpb24gKi8KIAlpbnQzMl90IHJlbF95OwkJLyogcmVsYXRpdmUgWSBtb3Rpb24gKi8KKwlpbnQzMl90IHJlbF96OwkJLyogcmVsYXRpdmUgWiBtb3Rpb24gKHdoZWVsKSAqLwogfTsKIAogc3RydWN0IHhlbmtiZF9rZXkgewpAQCAtNjEsNiArNjIsNyBAQAogCXVpbnQ4X3QgdHlwZTsJCS8qIFhFTktCRF9UWVBFX1BPUyAqLwogCWludDMyX3QgYWJzX3g7CQkvKiBhYnNvbHV0ZSBYIHBvc2l0aW9uIChpbiBGQiBwaXhlbHMpICovCiAJaW50MzJfdCBhYnNfeTsJCS8qIGFic29sdXRlIFkgcG9zaXRpb24gKGluIEZCIHBpeGVscykgKi8KKwlpbnQzMl90IHJlbF96OwkJLyogcmVsYXRpdmUgWiBtb3Rpb24gKHdoZWVsKSAqLwogfTsKIAogI2RlZmluZSBYRU5LQkRfSU5fRVZFTlRfU0laRSA0MApkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL21lbW9yeS5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL21lbW9yeS5oCmluZGV4IGRhNzY4NDYuLmFmMzZlYWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9tZW1vcnkuaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvbWVtb3J5LmgKQEAgLTI5LDcgKzI5LDcgQEAKICAgICAgKiAgIE9VVDogR01GTiBiYXNlcyBvZiBleHRlbnRzIHRoYXQgd2VyZSBhbGxvY2F0ZWQKICAgICAgKiAgIChOQi4gVGhpcyBjb21tYW5kIGFsc28gdXBkYXRlcyB0aGUgbWFjaF90b19waHlzIHRyYW5zbGF0aW9uIHRhYmxlKQogICAgICAqLwotICAgIHVsb25nIGV4dGVudF9zdGFydDsKKyAgICBHVUVTVF9IQU5ETEUodWxvbmcpIGV4dGVudF9zdGFydDsKIAogICAgIC8qIE51bWJlciBvZiBleHRlbnRzLCBhbmQgc2l6ZS9hbGlnbm1lbnQgb2YgZWFjaCAoMl5leHRlbnRfb3JkZXIgcGFnZXMpLiAqLwogICAgIHVuc2lnbmVkIGxvbmcgIG5yX2V4dGVudHM7CkBAIC01MCw2ICs1MCw3IEBACiAgICAgZG9taWRfdCAgICAgICAgZG9taWQ7CiAKIH07CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5fbWVtb3J5X3Jlc2VydmF0aW9uKTsKIAogLyoKICAqIFJldHVybnMgdGhlIG1heGltdW0gbWFjaGluZSBmcmFtZSBudW1iZXIgb2YgbWFwcGVkIFJBTSBpbiB0aGlzIHN5c3RlbS4KQEAgLTg1LDcgKzg2LDcgQEAKICAgICAgKiBhbnkgbGFyZ2UgZGlzY29udGlndWl0aWVzIGluIHRoZSBtYWNoaW5lIGFkZHJlc3Mgc3BhY2UsIDJNQiBnYXBzIGluCiAgICAgICogdGhlIG1hY2hwaHlzIHRhYmxlIHdpbGwgYmUgcmVwcmVzZW50ZWQgYnkgYW4gTUZOIGJhc2Ugb2YgemVyby4KICAgICAgKi8KLSAgICB1bG9uZyBleHRlbnRfc3RhcnQ7CisgICAgR1VFU1RfSEFORExFKHVsb25nKSBleHRlbnRfc3RhcnQ7CiAKICAgICAvKgogICAgICAqIE51bWJlciBvZiBleHRlbnRzIHdyaXR0ZW4gdG8gdGhlIGFib3ZlIGFycmF5LiBUaGlzIHdpbGwgYmUgc21hbGxlcgpAQCAtOTMsNiArOTQsNyBAQAogICAgICAqLwogICAgIHVuc2lnbmVkIGludCBucl9leHRlbnRzOwogfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKHhlbl9tYWNocGh5c19tZm5fbGlzdCk7CiAKIC8qCiAgKiBTZXRzIHRoZSBHUEZOIGF0IHdoaWNoIGEgcGFydGljdWxhciBwYWdlIGFwcGVhcnMgaW4gdGhlIHNwZWNpZmllZCBndWVzdCdzCkBAIC0xMTUsNiArMTE3LDcgQEAKICAgICAvKiBHUEZOIHdoZXJlIHRoZSBzb3VyY2UgbWFwcGluZyBwYWdlIHNob3VsZCBhcHBlYXIuICovCiAgICAgdW5zaWduZWQgbG9uZyBncGZuOwogfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKHhlbl9hZGRfdG9fcGh5c21hcCk7CiAKIC8qCiAgKiBUcmFuc2xhdGVzIGEgbGlzdCBvZiBkb21haW4tc3BlY2lmaWMgR1BGTnMgaW50byBNRk5zLiBSZXR1cm5zIGEgLXZlIGVycm9yCkBAIC0xMjksMTMgKzEzMiwxNCBAQAogICAgIHVuc2lnbmVkIGxvbmcgbnJfZ3BmbnM7CiAKICAgICAvKiBMaXN0IG9mIEdQRk5zIHRvIHRyYW5zbGF0ZS4gKi8KLSAgICB1bG9uZyBncGZuX2xpc3Q7CisgICAgR1VFU1RfSEFORExFKHVsb25nKSBncGZuX2xpc3Q7CiAKICAgICAvKgogICAgICAqIE91dHB1dCBsaXN0IHRvIGNvbnRhaW4gTUZOIHRyYW5zbGF0aW9ucy4gTWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBpbnB1dAogICAgICAqIGxpc3QgKGluIHdoaWNoIGNhc2UgZWFjaCBpbnB1dCBHUEZOIGlzIG92ZXJ3cml0dGVuIHdpdGggdGhlIG91dHB1dCBNRk4pLgogICAgICAqLwotICAgIHVsb25nIG1mbl9saXN0OworICAgIEdVRVNUX0hBTkRMRSh1bG9uZykgbWZuX2xpc3Q7CiB9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX3RyYW5zbGF0ZV9ncGZuX2xpc3QpOwogCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX01FTU9SWV9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4uaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4uaAppbmRleCA4MTlhMDMzLi4yYmVmYTNlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmgKKysrIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hlbi5oCkBAIC0xMTQsOSArMTE0LDE0IEBACiAgKiBwdHJbOjJdICAtLSBNYWNoaW5lIGFkZHJlc3Mgd2l0aGluIHRoZSBmcmFtZSB3aG9zZSBtYXBwaW5nIHRvIG1vZGlmeS4KICAqICAgICAgICAgICAgIFRoZSBmcmFtZSBtdXN0IGJlbG9uZyB0byB0aGUgRkQsIGlmIG9uZSBpcyBzcGVjaWZpZWQuCiAgKiB2YWwgICAgICAtLSBWYWx1ZSB0byB3cml0ZSBpbnRvIHRoZSBtYXBwaW5nIGVudHJ5LgorICoKKyAqIHB0clsxOjBdID09IE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQ6CisgKiBBcyBNTVVfTk9STUFMX1BUX1VQREFURSBhYm92ZSwgYnV0IEEvRCBiaXRzIGN1cnJlbnRseSBpbiB0aGUgUFRFIGFyZSBPUmVkCisgKiB3aXRoIHRob3NlIGluIEB2YWwuCiAgKi8KLSNkZWZpbmUgTU1VX05PUk1BTF9QVF9VUERBVEUgICAgIDAgLyogY2hlY2tlZCAnKnB0ciA9IHZhbCcuIHB0ciBpcyBNQS4gICAgICAgKi8KLSNkZWZpbmUgTU1VX01BQ0hQSFlTX1VQREFURSAgICAgIDEgLyogcHRyID0gTUEgb2YgZnJhbWUgdG8gbW9kaWZ5IGVudHJ5IGZvciAgKi8KKyNkZWZpbmUgTU1VX05PUk1BTF9QVF9VUERBVEUgICAgICAwIC8qIGNoZWNrZWQgJypwdHIgPSB2YWwnLiBwdHIgaXMgTUEuICAgICAgICovCisjZGVmaW5lIE1NVV9NQUNIUEhZU19VUERBVEUgICAgICAgMSAvKiBwdHIgPSBNQSBvZiBmcmFtZSB0byBtb2RpZnkgZW50cnkgZm9yICAqLworI2RlZmluZSBNTVVfUFRfVVBEQVRFX1BSRVNFUlZFX0FEIDIgLyogYXRvbWljYWxseTogKnB0ciA9IHZhbCB8ICgqcHRyJihBfEQpKSAqLwogCiAvKgogICogTU1VIEVYVEVOREVEIE9QRVJBVElPTlMKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL3hlbi1vcHMuaCBiL2luY2x1ZGUveGVuL3hlbi1vcHMuaAppbmRleCAxMGRkZmUwLi5hNzA2ZDZhIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi94ZW4tb3BzLmgKKysrIGIvaW5jbHVkZS94ZW4veGVuLW9wcy5oCkBAIC01LDQgKzUsMTAgQEAKIAogREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB2Y3B1X2luZm8gKiwgeGVuX3ZjcHUpOwogCit2b2lkIHhlbl9wcmVfc3VzcGVuZCh2b2lkKTsKK3ZvaWQgeGVuX3Bvc3Rfc3VzcGVuZChpbnQgc3VzcGVuZF9jYW5jZWxsZWQpOworCit2b2lkIHhlbl9tbV9waW5fYWxsKHZvaWQpOwordm9pZCB4ZW5fbW1fdW5waW5fYWxsKHZvaWQpOworCiAjZW5kaWYgLyogSU5DTFVERV9YRU5fT1BTX0ggKi8KZGlmZiAtLWdpdCBhL2luaXQvY2FsaWJyYXRlLmMgYi9pbml0L2NhbGlicmF0ZS5jCmluZGV4IGVjYjM4MjIuLjc5NjNlM2YgMTAwNjQ0Ci0tLSBhL2luaXQvY2FsaWJyYXRlLmMKKysrIGIvaW5pdC9jYWxpYnJhdGUuYwpAQCAtOCw3ICs4LDkgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogCit1bnNpZ25lZCBsb25nIGxwal9maW5lOwogdW5zaWduZWQgbG9uZyBwcmVzZXRfbHBqOwogc3RhdGljIGludCBfX2luaXQgbHBqX3NldHVwKGNoYXIgKnN0cikKIHsKQEAgLTMzLDkgKzM1LDkgQEAKIAl1bnNpZ25lZCBsb25nIHByZV9zdGFydCwgc3RhcnQsIHBvc3Rfc3RhcnQ7CiAJdW5zaWduZWQgbG9uZyBwcmVfZW5kLCBlbmQsIHBvc3RfZW5kOwogCXVuc2lnbmVkIGxvbmcgc3RhcnRfamlmZmllczsKLQl1bnNpZ25lZCBsb25nIHRzY19yYXRlX21pbiwgdHNjX3JhdGVfbWF4OwotCXVuc2lnbmVkIGxvbmcgZ29vZF90c2Nfc3VtID0gMDsKLQl1bnNpZ25lZCBsb25nIGdvb2RfdHNjX2NvdW50ID0gMDsKKwl1bnNpZ25lZCBsb25nIHRpbWVyX3JhdGVfbWluLCB0aW1lcl9yYXRlX21heDsKKwl1bnNpZ25lZCBsb25nIGdvb2RfdGltZXJfc3VtID0gMDsKKwl1bnNpZ25lZCBsb25nIGdvb2RfdGltZXJfY291bnQgPSAwOwogCWludCBpOwogCiAJaWYgKHJlYWRfY3VycmVudF90aW1lcigmcHJlX3N0YXJ0KSA8IDAgKQpAQCAtNzksMjIgKzgxLDI0IEBACiAJCX0KIAkJcmVhZF9jdXJyZW50X3RpbWVyKCZwb3N0X2VuZCk7CiAKLQkJdHNjX3JhdGVfbWF4ID0gKHBvc3RfZW5kIC0gcHJlX3N0YXJ0KSAvIERFTEFZX0NBTElCUkFUSU9OX1RJQ0tTOwotCQl0c2NfcmF0ZV9taW4gPSAocHJlX2VuZCAtIHBvc3Rfc3RhcnQpIC8gREVMQVlfQ0FMSUJSQVRJT05fVElDS1M7CisJCXRpbWVyX3JhdGVfbWF4ID0gKHBvc3RfZW5kIC0gcHJlX3N0YXJ0KSAvCisJCQkJCURFTEFZX0NBTElCUkFUSU9OX1RJQ0tTOworCQl0aW1lcl9yYXRlX21pbiA9IChwcmVfZW5kIC0gcG9zdF9zdGFydCkgLworCQkJCQlERUxBWV9DQUxJQlJBVElPTl9USUNLUzsKIAogCQkvKgotCSAJICogSWYgdGhlIHVwcGVyIGxpbWl0IGFuZCBsb3dlciBsaW1pdCBvZiB0aGUgdHNjX3JhdGUgaXMKKwkJICogSWYgdGhlIHVwcGVyIGxpbWl0IGFuZCBsb3dlciBsaW1pdCBvZiB0aGUgdGltZXJfcmF0ZSBpcwogCQkgKiA+PSAxMi41JSBhcGFydCwgcmVkbyBjYWxpYnJhdGlvbi4KIAkJICovCiAJCWlmIChwcmVfc3RhcnQgIT0gMCAmJiBwcmVfZW5kICE9IDAgJiYKLQkJICAgICh0c2NfcmF0ZV9tYXggLSB0c2NfcmF0ZV9taW4pIDwgKHRzY19yYXRlX21heCA+PiAzKSkgewotCQkJZ29vZF90c2NfY291bnQrKzsKLQkJCWdvb2RfdHNjX3N1bSArPSB0c2NfcmF0ZV9tYXg7CisJCSAgICAodGltZXJfcmF0ZV9tYXggLSB0aW1lcl9yYXRlX21pbikgPCAodGltZXJfcmF0ZV9tYXggPj4gMykpIHsKKwkJCWdvb2RfdGltZXJfY291bnQrKzsKKwkJCWdvb2RfdGltZXJfc3VtICs9IHRpbWVyX3JhdGVfbWF4OwogCQl9CiAJfQogCi0JaWYgKGdvb2RfdHNjX2NvdW50KQotCQlyZXR1cm4gKGdvb2RfdHNjX3N1bS9nb29kX3RzY19jb3VudCk7CisJaWYgKGdvb2RfdGltZXJfY291bnQpCisJCXJldHVybiAoZ29vZF90aW1lcl9zdW0vZ29vZF90aW1lcl9jb3VudCk7CiAKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjYWxpYnJhdGVfZGVsYXlfZGlyZWN0KCkgZmFpbGVkIHRvIGdldCBhIGdvb2QgIgogCSAgICAgICAiZXN0aW1hdGUgZm9yIGxvb3BzX3Blcl9qaWZmeS5cblByb2JhYmx5IGR1ZSB0byBsb25nIHBsYXRmb3JtIGludGVycnVwdHMuIENvbnNpZGVyIHVzaW5nIFwibHBqPVwiIGJvb3Qgb3B0aW9uLlxuIik7CkBAIC0xMDgsNiArMTEyLDEwIEBACiAgKiBUaGlzIGlzIHRoZSBudW1iZXIgb2YgYml0cyBvZiBwcmVjaXNpb24gZm9yIHRoZSBsb29wc19wZXJfamlmZnkuICBFYWNoCiAgKiBiaXQgdGFrZXMgb24gYXZlcmFnZSAxLjUvSFogc2Vjb25kcy4gIFRoaXMgKGxpa2UgdGhlIG9yaWdpbmFsKSBpcyBhIGxpdHRsZQogICogYmV0dGVyIHRoYW4gMSUKKyAqIEZvciB0aGUgYm9vdCBjcHUgd2UgY2FuIHNraXAgdGhlIGRlbGF5IGNhbGlicmF0aW9uIGFuZCBhc3NpZ24gaXQgYSB2YWx1ZQorICogY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdGltZXIgZnJlcXVlbmN5LgorICogRm9yIHRoZSByZXN0IG9mIHRoZSBDUFVzIHdlIGNhbm5vdCBhc3N1bWUgdGhhdCB0aGUgdGltZXIgZnJlcXVlbmN5IGlzIHNhbWUgYXMKKyAqIHRoZSBjcHUgZnJlcXVlbmN5LCBoZW5jZSBkbyB0aGUgY2FsaWJyYXRpb24gZm9yIHRob3NlLgogICovCiAjZGVmaW5lIExQU19QUkVDIDgKIApAQCAtMTE4LDIwICsxMjYsMjAgQEAKIAogCWlmIChwcmVzZXRfbHBqKSB7CiAJCWxvb3BzX3Blcl9qaWZmeSA9IHByZXNldF9scGo7Ci0JCXByaW50aygiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCkuLi4gIgotCQkJIiVsdS4lMDJsdSBCb2dvTUlQUyBwcmVzZXRcbiIsCi0JCQlsb29wc19wZXJfamlmZnkvKDUwMDAwMC9IWiksCi0JCQkobG9vcHNfcGVyX2ppZmZ5Lyg1MDAwL0haKSkgJSAxMDApOworCQlwcmludGsoS0VSTl9JTkZPCisJCQkiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCkgcHJlc2V0IHZhbHVlLi4gIik7CisJfSBlbHNlIGlmICgoc21wX3Byb2Nlc3Nvcl9pZCgpID09IDApICYmIGxwal9maW5lKSB7CisJCWxvb3BzX3Blcl9qaWZmeSA9IGxwal9maW5lOworCQlwcmludGsoS0VSTl9JTkZPCisJCQkiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksICIKKwkJCSJ2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRpbWVyIGZyZXF1ZW5jeS4uICIpOwogCX0gZWxzZSBpZiAoKGxvb3BzX3Blcl9qaWZmeSA9IGNhbGlicmF0ZV9kZWxheV9kaXJlY3QoKSkgIT0gMCkgewotCQlwcmludGsoIkNhbGlicmF0aW5nIGRlbGF5IHVzaW5nIHRpbWVyIHNwZWNpZmljIHJvdXRpbmUuLiAiKTsKLQkJcHJpbnRrKCIlbHUuJTAybHUgQm9nb01JUFMgKGxwaj0lbHUpXG4iLAotCQkJbG9vcHNfcGVyX2ppZmZ5Lyg1MDAwMDAvSFopLAotCQkJKGxvb3BzX3Blcl9qaWZmeS8oNTAwMC9IWikpICUgMTAwLAotCQkJbG9vcHNfcGVyX2ppZmZ5KTsKKwkJcHJpbnRrKEtFUk5fSU5GTworCQkJIkNhbGlicmF0aW5nIGRlbGF5IHVzaW5nIHRpbWVyIHNwZWNpZmljIHJvdXRpbmUuLiAiKTsKIAl9IGVsc2UgewogCQlsb29wc19wZXJfamlmZnkgPSAoMTw8MTIpOwogCi0JCXByaW50ayhLRVJOX0RFQlVHICJDYWxpYnJhdGluZyBkZWxheSBsb29wLi4uICIpOworCQlwcmludGsoS0VSTl9JTkZPICJDYWxpYnJhdGluZyBkZWxheSBsb29wLi4uICIpOwogCQl3aGlsZSAoKGxvb3BzX3Blcl9qaWZmeSA8PD0gMSkgIT0gMCkgewogCQkJLyogd2FpdCBmb3IgInN0YXJ0IG9mIiBjbG9jayB0aWNrICovCiAJCQl0aWNrcyA9IGppZmZpZXM7CkBAIC0xNjEsMTIgKzE2OSw4IEBACiAJCQlpZiAoamlmZmllcyAhPSB0aWNrcykJLyogbG9uZ2VyIHRoYW4gMSB0aWNrICovCiAJCQkJbG9vcHNfcGVyX2ppZmZ5ICY9IH5sb29wYml0OwogCQl9Ci0KLQkJLyogUm91bmQgdGhlIHZhbHVlIGFuZCBwcmludCBpdCAqLwotCQlwcmludGsoIiVsdS4lMDJsdSBCb2dvTUlQUyAobHBqPSVsdSlcbiIsCi0JCQlsb29wc19wZXJfamlmZnkvKDUwMDAwMC9IWiksCi0JCQkobG9vcHNfcGVyX2ppZmZ5Lyg1MDAwL0haKSkgJSAxMDAsCi0JCQlsb29wc19wZXJfamlmZnkpOwogCX0KLQorCXByaW50ayhLRVJOX0lORk8gIiVsdS4lMDJsdSBCb2dvTUlQUyAobHBqPSVsdSlcbiIsCisJCQlsb29wc19wZXJfamlmZnkvKDUwMDAwMC9IWiksCisJCQkobG9vcHNfcGVyX2ppZmZ5Lyg1MDAwL0haKSkgJSAxMDAsIGxvb3BzX3Blcl9qaWZmeSk7CiB9CmRpZmYgLS1naXQgYS9pbml0L21haW4uYyBiL2luaXQvbWFpbi5jCmluZGV4IGY3ZmIyMDAuLmVkZWFjZTAgMTAwNjQ0Ci0tLSBhL2luaXQvbWFpbi5jCisrKyBiL2luaXQvbWFpbi5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KICNpbmNsdWRlIDxsaW51eC9zdGFydF9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgpAQCAtNzU4LDYgKzc1OSw3IEBACiAgKi8KIHN0YXRpYyB2b2lkIF9faW5pdCBkb19iYXNpY19zZXR1cCh2b2lkKQogeworCXJjdV9pbml0X3NjaGVkKCk7IC8qIG5lZWRlZCBieSBtb2R1bGVfaW5pdCBzdGFnZS4gKi8KIAkvKiBkcml2ZXJzIHdpbGwgc2VuZCBob3RwbHVnIGV2ZW50cyAqLwogCWluaXRfd29ya3F1ZXVlcygpOwogCXVzZXJtb2RlaGVscGVyX2luaXQoKTsKQEAgLTc3OSw2ICs3ODEsNyBAQAogewogCWV4dGVybiBpbnQgc3Bhd25fa3NvZnRpcnFkKHZvaWQpOwogCisJaW5pdF9jYWxsX3NpbmdsZV9kYXRhKCk7CiAJbWlncmF0aW9uX2luaXQoKTsKIAlzcGF3bl9rc29mdGlycWQoKTsKIAlpZiAoIW5vc29mdGxvY2t1cCkKZGlmZiAtLWdpdCBhL2tlcm5lbC9NYWtlZmlsZSBiL2tlcm5lbC9NYWtlZmlsZQppbmRleCAxYzk5MzhhLi4wYTdlZDgzIDEwMDY0NAotLS0gYS9rZXJuZWwvTWFrZWZpbGUKKysrIGIva2VybmVsL01ha2VmaWxlCkBAIC0zLDcgKzMsNyBAQAogIwogCiBvYmoteSAgICAgPSBzY2hlZC5vIGZvcmsubyBleGVjX2RvbWFpbi5vIHBhbmljLm8gcHJpbnRrLm8gcHJvZmlsZS5vIFwKLQkgICAgZXhpdC5vIGl0aW1lci5vIHRpbWUubyBzb2Z0aXJxLm8gcmVzb3VyY2UubyBcCisJICAgIGNwdS5vIGV4aXQubyBpdGltZXIubyB0aW1lLm8gc29mdGlycS5vIHJlc291cmNlLm8gXAogCSAgICBzeXNjdGwubyBjYXBhYmlsaXR5Lm8gcHRyYWNlLm8gdGltZXIubyB1c2VyLm8gXAogCSAgICBzaWduYWwubyBzeXMubyBrbW9kLm8gd29ya3F1ZXVlLm8gcGlkLm8gXAogCSAgICByY3VwZGF0ZS5vIGV4dGFibGUubyBwYXJhbXMubyBwb3NpeC10aW1lcnMubyBcCkBAIC0xMSw2ICsxMSwxOCBAQAogCSAgICBocnRpbWVyLm8gcndzZW0ubyBuc3Byb3h5Lm8gc3JjdS5vIHNlbWFwaG9yZS5vIFwKIAkgICAgbm90aWZpZXIubyBrc3lzZnMubyBwbV9xb3NfcGFyYW1zLm8gc2NoZWRfY2xvY2subwogCitDRkxBR1NfUkVNT1ZFX3NjaGVkLm8gPSAtbW5vLXNwZQorCitpZmRlZiBDT05GSUdfRlRSQUNFCisjIERvIG5vdCB0cmFjZSBkZWJ1ZyBmaWxlcyBhbmQgaW50ZXJuYWwgZnRyYWNlIGZpbGVzCitDRkxBR1NfUkVNT1ZFX2xvY2tkZXAubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9sb2NrZGVwX3Byb2MubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9tdXRleC1kZWJ1Zy5vID0gLXBnCitDRkxBR1NfUkVNT1ZFX3J0bXV0ZXgtZGVidWcubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9jZ3JvdXAtZGVidWcubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9zY2hlZF9jbG9jay5vID0gLXBnCitlbmRpZgorCiBvYmotJChDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0spICs9IHN5c2N0bF9jaGVjay5vCiBvYmotJChDT05GSUdfU1RBQ0tUUkFDRSkgKz0gc3RhY2t0cmFjZS5vCiBvYmoteSArPSB0aW1lLwpAQCAtMjcsNyArMzksOCBAQAogb2JqLSQoQ09ORklHX0RFQlVHX1JUX01VVEVYRVMpICs9IHJ0bXV0ZXgtZGVidWcubwogb2JqLSQoQ09ORklHX1JUX01VVEVYX1RFU1RFUikgKz0gcnRtdXRleC10ZXN0ZXIubwogb2JqLSQoQ09ORklHX0dFTkVSSUNfSVNBX0RNQSkgKz0gZG1hLm8KLW9iai0kKENPTkZJR19TTVApICs9IGNwdS5vIHNwaW5sb2NrLm8KK29iai0kKENPTkZJR19VU0VfR0VORVJJQ19TTVBfSEVMUEVSUykgKz0gc21wLm8KK29iai0kKENPTkZJR19TTVApICs9IHNwaW5sb2NrLm8KIG9iai0kKENPTkZJR19ERUJVR19TUElOTE9DSykgKz0gc3BpbmxvY2subwogb2JqLSQoQ09ORklHX1BST1ZFX0xPQ0tJTkcpICs9IHNwaW5sb2NrLm8KIG9iai0kKENPTkZJR19VSUQxNikgKz0gdWlkMTYubwpAQCAtNjksNiArODIsOSBAQAogb2JqLSQoQ09ORklHX1RBU0tTVEFUUykgKz0gdGFza3N0YXRzLm8gdHNhY2N0Lm8KIG9iai0kKENPTkZJR19NQVJLRVJTKSArPSBtYXJrZXIubwogb2JqLSQoQ09ORklHX0xBVEVOQ1lUT1ApICs9IGxhdGVuY3l0b3Aubworb2JqLSQoQ09ORklHX0ZUUkFDRSkgKz0gdHJhY2UvCitvYmotJChDT05GSUdfVFJBQ0lORykgKz0gdHJhY2UvCitvYmotJChDT05GSUdfU01QKSArPSBzY2hlZF9jcHVwcmkubwogCiBpZm5lcSAoJChDT05GSUdfU0NIRURfTk9fTk9fT01JVF9GUkFNRV9QT0lOVEVSKSx5KQogIyBBY2NvcmRpbmcgdG8gQWxhbiBNb2RyYSA8YWxhbkBsaW51eGNhcmUuY29tLmF1PiwgdGhlIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIGlzCmRpZmYgLS1naXQgYS9rZXJuZWwvYmFja3RyYWNldGVzdC5jIGIva2VybmVsL2JhY2t0cmFjZXRlc3QuYwppbmRleCBkMWE3NjA1Li5hNWUwMjZiIDEwMDY0NAotLS0gYS9rZXJuZWwvYmFja3RyYWNldGVzdC5jCisrKyBiL2tlcm5lbC9iYWNrdHJhY2V0ZXN0LmMKQEAgLTEwLDMwICsxMCw3MyBAQAogICogb2YgdGhlIExpY2Vuc2UuCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9zdGFja3RyYWNlLmg+CiAKLXN0YXRpYyBzdHJ1Y3QgdGltZXJfbGlzdCBiYWNrdHJhY2VfdGltZXI7CitzdGF0aWMgdm9pZCBiYWNrdHJhY2VfdGVzdF9ub3JtYWwodm9pZCkKK3sKKwlwcmludGsoIlRlc3RpbmcgYSBiYWNrdHJhY2UgZnJvbSBwcm9jZXNzIGNvbnRleHQuXG4iKTsKKwlwcmludGsoIlRoZSBmb2xsb3dpbmcgdHJhY2UgaXMgYSBrZXJuZWwgc2VsZiB0ZXN0IGFuZCBub3QgYSBidWchXG4iKTsKIAotc3RhdGljIHZvaWQgYmFja3RyYWNlX3Rlc3RfdGltZXIodW5zaWduZWQgbG9uZyBkYXRhKQorCWR1bXBfc3RhY2soKTsKK30KKworc3RhdGljIERFQ0xBUkVfQ09NUExFVElPTihiYWNrdHJhY2Vfd29yayk7CisKK3N0YXRpYyB2b2lkIGJhY2t0cmFjZV90ZXN0X2lycV9jYWxsYmFjayh1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJZHVtcF9zdGFjaygpOworCWNvbXBsZXRlKCZiYWNrdHJhY2Vfd29yayk7Cit9CisKK3N0YXRpYyBERUNMQVJFX1RBU0tMRVQoYmFja3RyYWNlX3Rhc2tsZXQsICZiYWNrdHJhY2VfdGVzdF9pcnFfY2FsbGJhY2ssIDApOworCitzdGF0aWMgdm9pZCBiYWNrdHJhY2VfdGVzdF9pcnEodm9pZCkKIHsKIAlwcmludGsoIlRlc3RpbmcgYSBiYWNrdHJhY2UgZnJvbSBpcnEgY29udGV4dC5cbiIpOwogCXByaW50aygiVGhlIGZvbGxvd2luZyB0cmFjZSBpcyBhIGtlcm5lbCBzZWxmIHRlc3QgYW5kIG5vdCBhIGJ1ZyFcbiIpOwotCWR1bXBfc3RhY2soKTsKKworCWluaXRfY29tcGxldGlvbigmYmFja3RyYWNlX3dvcmspOworCXRhc2tsZXRfc2NoZWR1bGUoJmJhY2t0cmFjZV90YXNrbGV0KTsKKwl3YWl0X2Zvcl9jb21wbGV0aW9uKCZiYWNrdHJhY2Vfd29yayk7CiB9CisKKyNpZmRlZiBDT05GSUdfU1RBQ0tUUkFDRQorc3RhdGljIHZvaWQgYmFja3RyYWNlX3Rlc3Rfc2F2ZWQodm9pZCkKK3sKKwlzdHJ1Y3Qgc3RhY2tfdHJhY2UgdHJhY2U7CisJdW5zaWduZWQgbG9uZyBlbnRyaWVzWzhdOworCisJcHJpbnRrKCJUZXN0aW5nIGEgc2F2ZWQgYmFja3RyYWNlLlxuIik7CisJcHJpbnRrKCJUaGUgZm9sbG93aW5nIHRyYWNlIGlzIGEga2VybmVsIHNlbGYgdGVzdCBhbmQgbm90IGEgYnVnIVxuIik7CisKKwl0cmFjZS5ucl9lbnRyaWVzID0gMDsKKwl0cmFjZS5tYXhfZW50cmllcyA9IEFSUkFZX1NJWkUoZW50cmllcyk7CisJdHJhY2UuZW50cmllcyA9IGVudHJpZXM7CisJdHJhY2Uuc2tpcCA9IDA7CisKKwlzYXZlX3N0YWNrX3RyYWNlKCZ0cmFjZSk7CisJcHJpbnRfc3RhY2tfdHJhY2UoJnRyYWNlLCAwKTsKK30KKyNlbHNlCitzdGF0aWMgdm9pZCBiYWNrdHJhY2VfdGVzdF9zYXZlZCh2b2lkKQoreworCXByaW50aygiU2F2ZWQgYmFja3RyYWNlIHRlc3Qgc2tpcHBlZC5cbiIpOworfQorI2VuZGlmCisKIHN0YXRpYyBpbnQgYmFja3RyYWNlX3JlZ3Jlc3Npb25fdGVzdCh2b2lkKQogewogCXByaW50aygiPT09PVsgYmFja3RyYWNlIHRlc3RpbmcgXT09PT09PT09PT09XG4iKTsKLQlwcmludGsoIlRlc3RpbmcgYSBiYWNrdHJhY2UgZnJvbSBwcm9jZXNzIGNvbnRleHQuXG4iKTsKLQlwcmludGsoIlRoZSBmb2xsb3dpbmcgdHJhY2UgaXMgYSBrZXJuZWwgc2VsZiB0ZXN0IGFuZCBub3QgYSBidWchXG4iKTsKLQlkdW1wX3N0YWNrKCk7CiAKLQlpbml0X3RpbWVyKCZiYWNrdHJhY2VfdGltZXIpOwotCWJhY2t0cmFjZV90aW1lci5mdW5jdGlvbiA9IGJhY2t0cmFjZV90ZXN0X3RpbWVyOwotCW1vZF90aW1lcigmYmFja3RyYWNlX3RpbWVyLCBqaWZmaWVzICsgMTApOworCWJhY2t0cmFjZV90ZXN0X25vcm1hbCgpOworCWJhY2t0cmFjZV90ZXN0X2lycSgpOworCWJhY2t0cmFjZV90ZXN0X3NhdmVkKCk7CiAKLQltc2xlZXAoMTApOwogCXByaW50aygiPT09PVsgZW5kIG9mIGJhY2t0cmFjZSB0ZXN0aW5nIF09PT09XG4iKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2tlcm5lbC9jcHUuYyBiL2tlcm5lbC9jcHUuYwppbmRleCBjNzdiYzNhLi5iMTFmMDZkIDEwMDY0NAotLS0gYS9rZXJuZWwvY3B1LmMKKysrIGIva2VybmVsL2NwdS5jCkBAIC0xNSw2ICsxNSwyOCBAQAogI2luY2x1ZGUgPGxpbnV4L3N0b3BfbWFjaGluZS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAKKy8qCisgKiBSZXByZXNlbnRzIGFsbCBjcHUncyBwcmVzZW50IGluIHRoZSBzeXN0ZW0KKyAqIEluIHN5c3RlbXMgY2FwYWJsZSBvZiBob3RwbHVnLCB0aGlzIG1hcCBjb3VsZCBkeW5hbWljYWxseSBncm93CisgKiBhcyBuZXcgY3B1J3MgYXJlIGRldGVjdGVkIGluIHRoZSBzeXN0ZW0gdmlhIGFueSBwbGF0Zm9ybSBzcGVjaWZpYworICogbWV0aG9kLCBzdWNoIGFzIEFDUEkgZm9yIGUuZy4KKyAqLworY3B1bWFza190IGNwdV9wcmVzZW50X21hcCBfX3JlYWRfbW9zdGx5OworRVhQT1JUX1NZTUJPTChjcHVfcHJlc2VudF9tYXApOworCisjaWZuZGVmIENPTkZJR19TTVAKKworLyoKKyAqIFJlcHJlc2VudHMgYWxsIGNwdSdzIHRoYXQgYXJlIGN1cnJlbnRseSBvbmxpbmUuCisgKi8KK2NwdW1hc2tfdCBjcHVfb25saW5lX21hcCBfX3JlYWRfbW9zdGx5ID0gQ1BVX01BU0tfQUxMOworRVhQT1JUX1NZTUJPTChjcHVfb25saW5lX21hcCk7CisKK2NwdW1hc2tfdCBjcHVfcG9zc2libGVfbWFwIF9fcmVhZF9tb3N0bHkgPSBDUFVfTUFTS19BTEw7CitFWFBPUlRfU1lNQk9MKGNwdV9wb3NzaWJsZV9tYXApOworCisjZWxzZSAvKiBDT05GSUdfU01QICovCisKIC8qIFNlcmlhbGl6ZXMgdGhlIHVwZGF0ZXMgdG8gY3B1X29ubGluZV9tYXAsIGNwdV9wcmVzZW50X21hcCAqLwogc3RhdGljIERFRklORV9NVVRFWChjcHVfYWRkX3JlbW92ZV9sb2NrKTsKIApAQCAtNDAzLDMgKzQyNSw1IEBACiAJY3B1X21hcHNfdXBkYXRlX2RvbmUoKTsKIH0KICNlbmRpZiAvKiBDT05GSUdfUE1fU0xFRVBfU01QICovCisKKyNlbmRpZiAvKiBDT05GSUdfU01QICovCmRpZmYgLS1naXQgYS9rZXJuZWwvY3B1c2V0LmMgYi9rZXJuZWwvY3B1c2V0LmMKaW5kZXggOWZjZWI5Ny4uNDU5ZDYwMSAxMDA2NDQKLS0tIGEva2VybmVsL2NwdXNldC5jCisrKyBiL2tlcm5lbC9jcHVzZXQuYwpAQCAtMTE5NCw2ICsxMTk0LDE1IEBACiAKIAlpZiAoY3B1c19lbXB0eShjcy0+Y3B1c19hbGxvd2VkKSB8fCBub2Rlc19lbXB0eShjcy0+bWVtc19hbGxvd2VkKSkKIAkJcmV0dXJuIC1FTk9TUEM7CisJaWYgKHRzay0+ZmxhZ3MgJiBQRl9USFJFQURfQk9VTkQpIHsKKwkJY3B1bWFza190IG1hc2s7CisKKwkJbXV0ZXhfbG9jaygmY2FsbGJhY2tfbXV0ZXgpOworCQltYXNrID0gY3MtPmNwdXNfYWxsb3dlZDsKKwkJbXV0ZXhfdW5sb2NrKCZjYWxsYmFja19tdXRleCk7CisJCWlmICghY3B1c19lcXVhbCh0c2stPmNwdXNfYWxsb3dlZCwgbWFzaykpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9CiAKIAlyZXR1cm4gc2VjdXJpdHlfdGFza19zZXRzY2hlZHVsZXIodHNrLCAwLCBOVUxMKTsKIH0KQEAgLTEyMDcsMTEgKzEyMTYsMTQgQEAKIAlzdHJ1Y3QgbW1fc3RydWN0ICptbTsKIAlzdHJ1Y3QgY3B1c2V0ICpjcyA9IGNncm91cF9jcyhjb250KTsKIAlzdHJ1Y3QgY3B1c2V0ICpvbGRjcyA9IGNncm91cF9jcyhvbGRjb250KTsKKwlpbnQgZXJyOwogCiAJbXV0ZXhfbG9jaygmY2FsbGJhY2tfbXV0ZXgpOwogCWd1YXJhbnRlZV9vbmxpbmVfY3B1cyhjcywgJmNwdXMpOwotCXNldF9jcHVzX2FsbG93ZWRfcHRyKHRzaywgJmNwdXMpOworCWVyciA9IHNldF9jcHVzX2FsbG93ZWRfcHRyKHRzaywgJmNwdXMpOwogCW11dGV4X3VubG9jaygmY2FsbGJhY2tfbXV0ZXgpOworCWlmIChlcnIpCisJCXJldHVybjsKIAogCWZyb20gPSBvbGRjcy0+bWVtc19hbGxvd2VkOwogCXRvID0gY3MtPm1lbXNfYWxsb3dlZDsKQEAgLTE4ODIsNyArMTg5NCw3IEBACiAgKiBpbiBvcmRlciB0byBtaW5pbWl6ZSB0ZXh0IHNpemUuCiAgKi8KIAotc3RhdGljIHZvaWQgY29tbW9uX2NwdV9tZW1faG90cGx1Z191bnBsdWcodm9pZCkKK3N0YXRpYyB2b2lkIGNvbW1vbl9jcHVfbWVtX2hvdHBsdWdfdW5wbHVnKGludCByZWJ1aWxkX3NkKQogewogCWNncm91cF9sb2NrKCk7CiAKQEAgLTE4OTQsNyArMTkwNiw4IEBACiAJICogU2NoZWR1bGVyIGRlc3Ryb3lzIGRvbWFpbnMgb24gaG90cGx1ZyBldmVudHMuCiAJICogUmVidWlsZCB0aGVtIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNldHRpbmdzLgogCSAqLwotCXJlYnVpbGRfc2NoZWRfZG9tYWlucygpOworCWlmIChyZWJ1aWxkX3NkKQorCQlyZWJ1aWxkX3NjaGVkX2RvbWFpbnMoKTsKIAogCWNncm91cF91bmxvY2soKTsKIH0KQEAgLTE5MTIsMTEgKzE5MjUsMjIgQEAKIHN0YXRpYyBpbnQgY3B1c2V0X2hhbmRsZV9jcHVocChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnVudXNlZF9uYiwKIAkJCQl1bnNpZ25lZCBsb25nIHBoYXNlLCB2b2lkICp1bnVzZWRfY3B1KQogewotCWlmIChwaGFzZSA9PSBDUFVfRFlJTkcgfHwgcGhhc2UgPT0gQ1BVX0RZSU5HX0ZST1pFTikKKwlzd2l0Y2ggKHBoYXNlKSB7CisJY2FzZSBDUFVfVVBfQ0FOQ0VMRUQ6CisJY2FzZSBDUFVfVVBfQ0FOQ0VMRURfRlJPWkVOOgorCWNhc2UgQ1BVX0RPV05fRkFJTEVEOgorCWNhc2UgQ1BVX0RPV05fRkFJTEVEX0ZST1pFTjoKKwljYXNlIENQVV9PTkxJTkU6CisJY2FzZSBDUFVfT05MSU5FX0ZST1pFTjoKKwljYXNlIENQVV9ERUFEOgorCWNhc2UgQ1BVX0RFQURfRlJPWkVOOgorCQljb21tb25fY3B1X21lbV9ob3RwbHVnX3VucGx1ZygxKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKIAkJcmV0dXJuIE5PVElGWV9ET05FOworCX0KIAotCWNvbW1vbl9jcHVfbWVtX2hvdHBsdWdfdW5wbHVnKCk7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIE5PVElGWV9PSzsKIH0KIAogI2lmZGVmIENPTkZJR19NRU1PUllfSE9UUExVRwpAQCAtMTkyOSw3ICsxOTUzLDcgQEAKIAogdm9pZCBjcHVzZXRfdHJhY2tfb25saW5lX25vZGVzKHZvaWQpCiB7Ci0JY29tbW9uX2NwdV9tZW1faG90cGx1Z191bnBsdWcoKTsKKwljb21tb25fY3B1X21lbV9ob3RwbHVnX3VucGx1ZygwKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9rZXJuZWwvZXhpdC5jIGIva2VybmVsL2V4aXQuYwppbmRleCA4ZjYxODVlLi5jZWIyNTg3OCAxMDA2NDQKLS0tIGEva2VybmVsL2V4aXQuYworKysgYi9rZXJuZWwvZXhpdC5jCkBAIC0xMyw2ICsxMyw3IEBACiAjaW5jbHVkZSA8bGludXgvcGVyc29uYWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC90dHkuaD4KICNpbmNsdWRlIDxsaW51eC9tbnRfbmFtZXNwYWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW9jb250ZXh0Lmg+CiAjaW5jbHVkZSA8bGludXgva2V5Lmg+CiAjaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KZGlmZiAtLWdpdCBhL2tlcm5lbC9mb3JrLmMgYi9rZXJuZWwvZm9yay5jCmluZGV4IDE5OTA4YjIuLjRiZDJmNTEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9mb3JrLmMKKysrIGIva2VybmVsL2ZvcmsuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NlbS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9mZHRhYmxlLmg+CisjaW5jbHVkZSA8bGludXgvaW9jb250ZXh0Lmg+CiAjaW5jbHVkZSA8bGludXgva2V5Lmg+CiAjaW5jbHVkZSA8bGludXgvYmluZm10cy5oPgogI2luY2x1ZGUgPGxpbnV4L21tYW4uaD4KQEAgLTkwOSw3ICs5MTAsNyBAQAogCiAJcnRfbXV0ZXhfaW5pdF90YXNrKHApOwogCi0jaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCisjaWZkZWYgQ09ORklHX1BST1ZFX0xPQ0tJTkcKIAlERUJVR19MT0NLU19XQVJOX09OKCFwLT5oYXJkaXJxc19lbmFibGVkKTsKIAlERUJVR19MT0NLU19XQVJOX09OKCFwLT5zb2Z0aXJxc19lbmFibGVkKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEva2VybmVsL2hydGltZXIuYyBiL2tlcm5lbC9ocnRpbWVyLmMKaW5kZXggYWI4MDUxNS4uYjhlNGRjZSAxMDA2NDQKLS0tIGEva2VybmVsL2hydGltZXIuYworKysgYi9rZXJuZWwvaHJ0aW1lci5jCkBAIC0zMDAsMTEgKzMwMCwxMCBAQAogICovCiB1NjQga3RpbWVfZGl2bnMoY29uc3Qga3RpbWVfdCBrdCwgczY0IGRpdikKIHsKLQl1NjQgZGNsYywgaW5jLCBkbnM7CisJdTY0IGRjbGM7CiAJaW50IHNmdCA9IDA7CiAKLQlkY2xjID0gZG5zID0ga3RpbWVfdG9fbnMoa3QpOwotCWluYyA9IGRpdjsKKwlkY2xjID0ga3RpbWVfdG9fbnMoa3QpOwogCS8qIE1ha2Ugc3VyZSB0aGUgZGl2aXNvciBpcyBsZXNzIHRoYW4gMl4zMjogKi8KIAl3aGlsZSAoZGl2ID4+IDMyKSB7CiAJCXNmdCsrOwpAQCAtNjIzLDcgKzYyMiw3IEBACiB2b2lkIGNsb2NrX3dhc19zZXQodm9pZCkKIHsKIAkvKiBSZXRyaWdnZXIgdGhlIENQVSBsb2NhbCBldmVudHMgZXZlcnl3aGVyZSAqLwotCW9uX2VhY2hfY3B1KHJldHJpZ2dlcl9uZXh0X2V2ZW50LCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShyZXRyaWdnZXJfbmV4dF9ldmVudCwgTlVMTCwgMSk7CiB9CiAKIC8qCkBAIC02MzIsOCArNjMxLDYgQEAKICAqLwogdm9pZCBocmVzX3RpbWVyc19yZXN1bWUodm9pZCkKIHsKLQlXQVJOX09OX09OQ0UobnVtX29ubGluZV9jcHVzKCkgPiAxKTsKLQogCS8qIFJldHJpZ2dlciB0aGUgQ1BVIGxvY2FsIGV2ZW50czogKi8KIAlyZXRyaWdnZXJfbmV4dF9ldmVudChOVUxMKTsKIH0KQEAgLTEwODYsNyArMTA4Myw3IEBACiB9CiBFWFBPUlRfU1lNQk9MX0dQTChocnRpbWVyX2dldF9yZW1haW5pbmcpOwogCi0jaWYgZGVmaW5lZChDT05GSUdfTk9fSURMRV9IWikgfHwgZGVmaW5lZChDT05GSUdfTk9fSFopCisjaWZkZWYgQ09ORklHX05PX0haCiAvKioKICAqIGhydGltZXJfZ2V0X25leHRfZXZlbnQgLSBnZXQgdGhlIHRpbWUgdW50aWwgbmV4dCBleHBpcnkgZXZlbnQKICAqCkBAIC0xNjc3LDcgKzE2NzQsNyBAQAogCQkJICAodm9pZCAqKShsb25nKXNtcF9wcm9jZXNzb3JfaWQoKSk7CiAJcmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZocnRpbWVyc19uYik7CiAjaWZkZWYgQ09ORklHX0hJR0hfUkVTX1RJTUVSUwotCW9wZW5fc29mdGlycShIUlRJTUVSX1NPRlRJUlEsIHJ1bl9ocnRpbWVyX3NvZnRpcnEsIE5VTEwpOworCW9wZW5fc29mdGlycShIUlRJTUVSX1NPRlRJUlEsIHJ1bl9ocnRpbWVyX3NvZnRpcnEpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9pcnEvbWFuYWdlLmMgYi9rZXJuZWwvaXJxL21hbmFnZS5jCmluZGV4IDQ2ZDY2MTEuLjc3YTUxYmUgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9pcnEvbWFuYWdlLmMKKysrIGIva2VybmVsL2lycS9tYW5hZ2UuYwpAQCAtMTcsNiArMTcsOCBAQAogCiAjaWZkZWYgQ09ORklHX1NNUAogCitjcHVtYXNrX3QgaXJxX2RlZmF1bHRfYWZmaW5pdHkgPSBDUFVfTUFTS19BTEw7CisKIC8qKgogICoJc3luY2hyb25pemVfaXJxIC0gd2FpdCBmb3IgcGVuZGluZyBJUlEgaGFuZGxlcnMgKG9uIG90aGVyIENQVXMpCiAgKglAaXJxOiBpbnRlcnJ1cHQgbnVtYmVyIHRvIHdhaXQgZm9yCkBAIC05NSw2ICs5NywyNyBAQAogCXJldHVybiAwOwogfQogCisjaWZuZGVmIENPTkZJR19BVVRPX0lSUV9BRkZJTklUWQorLyoKKyAqIEdlbmVyaWMgdmVyc2lvbiBvZiB0aGUgYWZmaW5pdHkgYXV0b3NlbGVjdG9yLgorICovCitpbnQgaXJxX3NlbGVjdF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKQoreworCWNwdW1hc2tfdCBtYXNrOworCisJaWYgKCFpcnFfY2FuX3NldF9hZmZpbml0eShpcnEpKQorCQlyZXR1cm4gMDsKKworCWNwdXNfYW5kKG1hc2ssIGNwdV9vbmxpbmVfbWFwLCBpcnFfZGVmYXVsdF9hZmZpbml0eSk7CisKKwlpcnFfZGVzY1tpcnFdLmFmZmluaXR5ID0gbWFzazsKKwlpcnFfZGVzY1tpcnFdLmNoaXAtPnNldF9hZmZpbml0eShpcnEsIG1hc2spOworCisJc2V0X2JhbGFuY2VfaXJxX2FmZmluaXR5KGlycSwgbWFzayk7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKwogI2VuZGlmCiAKIC8qKgpAQCAtMzU0LDcgKzM3Nyw3IEBACiAKIAkJLyogU2V0dXAgdGhlIHR5cGUgKGxldmVsLCBlZGdlIHBvbGFyaXR5KSBpZiBjb25maWd1cmVkOiAqLwogCQlpZiAobmV3LT5mbGFncyAmIElSUUZfVFJJR0dFUl9NQVNLKSB7Ci0JCQlpZiAoZGVzYy0+Y2hpcCAmJiBkZXNjLT5jaGlwLT5zZXRfdHlwZSkKKwkJCWlmIChkZXNjLT5jaGlwLT5zZXRfdHlwZSkKIAkJCQlkZXNjLT5jaGlwLT5zZXRfdHlwZShpcnEsCiAJCQkJCQluZXctPmZsYWdzICYgSVJRRl9UUklHR0VSX01BU0spOwogCQkJZWxzZQpAQCAtMzY0LDggKzM4Nyw3IEBACiAJCQkJICovCiAJCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiTm8gSVJRRl9UUklHR0VSIHNldF90eXBlICIKIAkJCQkgICAgICAgImZ1bmN0aW9uIGZvciBJUlEgJWQgKCVzKVxuIiwgaXJxLAotCQkJCSAgICAgICBkZXNjLT5jaGlwID8gZGVzYy0+Y2hpcC0+bmFtZSA6Ci0JCQkJICAgICAgICJ1bmtub3duIik7CisJCQkJICAgICAgIGRlc2MtPmNoaXAtPm5hbWUpOwogCQl9IGVsc2UKIAkJCWNvbXBhdF9pcnFfY2hpcF9zZXRfZGVmYXVsdF9oYW5kbGVyKGRlc2MpOwogCkBAIC0zODIsNiArNDA0LDkgQEAKIAkJfSBlbHNlCiAJCQkvKiBVbmRvIG5lc3RlZCBkaXNhYmxlczogKi8KIAkJCWRlc2MtPmRlcHRoID0gMTsKKworCQkvKiBTZXQgZGVmYXVsdCBhZmZpbml0eSBtYXNrIG9uY2UgZXZlcnl0aGluZyBpcyBzZXR1cCAqLworCQlpcnFfc2VsZWN0X2FmZmluaXR5KGlycSk7CiAJfQogCS8qIFJlc2V0IGJyb2tlbiBpcnEgZGV0ZWN0aW9uIHdoZW4gaW5zdGFsbGluZyBuZXcgaGFuZGxlciAqLwogCWRlc2MtPmlycV9jb3VudCA9IDA7CkBAIC01NzEsOCArNTk2LDYgQEAKIAlhY3Rpb24tPm5leHQgPSBOVUxMOwogCWFjdGlvbi0+ZGV2X2lkID0gZGV2X2lkOwogCi0Jc2VsZWN0X3NtcF9hZmZpbml0eShpcnEpOwotCiAjaWZkZWYgQ09ORklHX0RFQlVHX1NISVJRCiAJaWYgKGlycWZsYWdzICYgSVJRRl9TSEFSRUQpIHsKIAkJLyoKZGlmZiAtLWdpdCBhL2tlcm5lbC9pcnEvcHJvYy5jIGIva2VybmVsL2lycS9wcm9jLmMKaW5kZXggYzJmMmNjYi4uNmM2ZDM1ZCAxMDA2NDQKLS0tIGEva2VybmVsL2lycS9wcm9jLmMKKysrIGIva2VybmVsL2lycS9wcm9jLmMKQEAgLTQ0LDcgKzQ0LDcgQEAKIAkJCQkgICB1bnNpZ25lZCBsb25nIGNvdW50LCB2b2lkICpkYXRhKQogewogCXVuc2lnbmVkIGludCBpcnEgPSAoaW50KShsb25nKWRhdGEsIGZ1bGxfY291bnQgPSBjb3VudCwgZXJyOwotCWNwdW1hc2tfdCBuZXdfdmFsdWUsIHRtcDsKKwljcHVtYXNrX3QgbmV3X3ZhbHVlOwogCiAJaWYgKCFpcnFfZGVzY1tpcnFdLmNoaXAtPnNldF9hZmZpbml0eSB8fCBub19pcnFfYWZmaW5pdHkgfHwKIAkgICAgaXJxX2JhbGFuY2luZ19kaXNhYmxlZChpcnEpKQpAQCAtNjIsMTcgKzYyLDUxIEBACiAJICogd2F5IHRvIG1ha2UgdGhlIHN5c3RlbSB1bnVzYWJsZSBhY2NpZGVudGFsbHkgOi0pIEF0IGxlYXN0CiAJICogb25lIG9ubGluZSBDUFUgc3RpbGwgaGFzIHRvIGJlIHRhcmdldGVkLgogCSAqLwotCWNwdXNfYW5kKHRtcCwgbmV3X3ZhbHVlLCBjcHVfb25saW5lX21hcCk7Ci0JaWYgKGNwdXNfZW1wdHkodG1wKSkKKwlpZiAoIWNwdXNfaW50ZXJzZWN0cyhuZXdfdmFsdWUsIGNwdV9vbmxpbmVfbWFwKSkKIAkJLyogU3BlY2lhbCBjYXNlIGZvciBlbXB0eSBzZXQgLSBhbGxvdyB0aGUgYXJjaGl0ZWN0dXJlCiAJCSAgIGNvZGUgdG8gc2V0IGRlZmF1bHQgU01QIGFmZmluaXR5LiAqLwotCQlyZXR1cm4gc2VsZWN0X3NtcF9hZmZpbml0eShpcnEpID8gLUVJTlZBTCA6IGZ1bGxfY291bnQ7CisJCXJldHVybiBpcnFfc2VsZWN0X2FmZmluaXR5KGlycSkgPyAtRUlOVkFMIDogZnVsbF9jb3VudDsKIAogCWlycV9zZXRfYWZmaW5pdHkoaXJxLCBuZXdfdmFsdWUpOwogCiAJcmV0dXJuIGZ1bGxfY291bnQ7CiB9CiAKK3N0YXRpYyBpbnQgZGVmYXVsdF9hZmZpbml0eV9yZWFkKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLAorCQkJCSAgaW50IGNvdW50LCBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3sKKwlpbnQgbGVuID0gY3B1bWFza19zY25wcmludGYocGFnZSwgY291bnQsIGlycV9kZWZhdWx0X2FmZmluaXR5KTsKKwlpZiAoY291bnQgLSBsZW4gPCAyKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCAiXG4iKTsKKwlyZXR1cm4gbGVuOworfQorCitzdGF0aWMgaW50IGRlZmF1bHRfYWZmaW5pdHlfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsCisJCQkJICAgdW5zaWduZWQgbG9uZyBjb3VudCwgdm9pZCAqZGF0YSkKK3sKKwl1bnNpZ25lZCBpbnQgZnVsbF9jb3VudCA9IGNvdW50LCBlcnI7CisJY3B1bWFza190IG5ld192YWx1ZTsKKworCWVyciA9IGNwdW1hc2tfcGFyc2VfdXNlcihidWZmZXIsIGNvdW50LCBuZXdfdmFsdWUpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlpZiAoIWlzX2FmZmluaXR5X21hc2tfdmFsaWQobmV3X3ZhbHVlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKgorCSAqIERvIG5vdCBhbGxvdyBkaXNhYmxpbmcgSVJRcyBjb21wbGV0ZWx5IC0gaXQncyBhIHRvbyBlYXN5CisJICogd2F5IHRvIG1ha2UgdGhlIHN5c3RlbSB1bnVzYWJsZSBhY2NpZGVudGFsbHkgOi0pIEF0IGxlYXN0CisJICogb25lIG9ubGluZSBDUFUgc3RpbGwgaGFzIHRvIGJlIHRhcmdldGVkLgorCSAqLworCWlmICghY3B1c19pbnRlcnNlY3RzKG5ld192YWx1ZSwgY3B1X29ubGluZV9tYXApKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlycV9kZWZhdWx0X2FmZmluaXR5ID0gbmV3X3ZhbHVlOworCisJcmV0dXJuIGZ1bGxfY291bnQ7Cit9CiAjZW5kaWYKIAogc3RhdGljIGludCBpcnFfc3B1cmlvdXNfcmVhZChjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZiwKQEAgLTE3MSw2ICsyMDUsMjEgQEAKIAkJcmVtb3ZlX3Byb2NfZW50cnkoYWN0aW9uLT5kaXItPm5hbWUsIGlycV9kZXNjW2lycV0uZGlyKTsKIH0KIAordm9pZCByZWdpc3Rlcl9kZWZhdWx0X2FmZmluaXR5X3Byb2Modm9pZCkKK3sKKyNpZmRlZiBDT05GSUdfU01QCisJc3RydWN0IHByb2NfZGlyX2VudHJ5ICplbnRyeTsKKworCS8qIGNyZWF0ZSAvcHJvYy9pcnEvZGVmYXVsdF9zbXBfYWZmaW5pdHkgKi8KKwllbnRyeSA9IGNyZWF0ZV9wcm9jX2VudHJ5KCJkZWZhdWx0X3NtcF9hZmZpbml0eSIsIDA2MDAsIHJvb3RfaXJxX2Rpcik7CisJaWYgKGVudHJ5KSB7CisJCWVudHJ5LT5kYXRhID0gTlVMTDsKKwkJZW50cnktPnJlYWRfcHJvYyAgPSBkZWZhdWx0X2FmZmluaXR5X3JlYWQ7CisJCWVudHJ5LT53cml0ZV9wcm9jID0gZGVmYXVsdF9hZmZpbml0eV93cml0ZTsKKwl9CisjZW5kaWYKK30KKwogdm9pZCBpbml0X2lycV9wcm9jKHZvaWQpCiB7CiAJaW50IGk7CkBAIC0xODAsNiArMjI5LDggQEAKIAlpZiAoIXJvb3RfaXJxX2RpcikKIAkJcmV0dXJuOwogCisJcmVnaXN0ZXJfZGVmYXVsdF9hZmZpbml0eV9wcm9jKCk7CisKIAkvKgogCSAqIENyZWF0ZSBlbnRyaWVzIGZvciBhbGwgZXhpc3RpbmcgSVJRcy4KIAkgKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC9rcHJvYmVzLmMgYi9rZXJuZWwva3Byb2Jlcy5jCmluZGV4IGQ0OTk4ZjguLjE0ODVjYTggMTAwNjQ0Ci0tLSBhL2tlcm5lbC9rcHJvYmVzLmMKKysrIGIva2VybmVsL2twcm9iZXMuYwpAQCAtNzksNyArNzksNyBAQAogICoKICAqIEZvciBzdWNoIGNhc2VzLCB3ZSBub3cgaGF2ZSBhIGJsYWNrbGlzdAogICovCi1zdHJ1Y3Qga3Byb2JlX2JsYWNrcG9pbnQga3Byb2JlX2JsYWNrbGlzdFtdID0geworc3RhdGljIHN0cnVjdCBrcHJvYmVfYmxhY2twb2ludCBrcHJvYmVfYmxhY2tsaXN0W10gPSB7CiAJeyJwcmVlbXB0X3NjaGVkdWxlIix9LAogCXtOVUxMfSAgICAvKiBUZXJtaW5hdG9yICovCiB9OwpkaWZmIC0tZ2l0IGEva2VybmVsL2t0aHJlYWQuYyBiL2tlcm5lbC9rdGhyZWFkLmMKaW5kZXggYmQxYjllYS4uOTc3NDdjZCAxMDA2NDQKLS0tIGEva2VybmVsL2t0aHJlYWQuYworKysgYi9rZXJuZWwva3RocmVhZC5jCkBAIC0xODAsNiArMTgwLDcgQEAKIAlzZXRfdGFza19jcHUoaywgY3B1KTsKIAlrLT5jcHVzX2FsbG93ZWQgPSBjcHVtYXNrX29mX2NwdShjcHUpOwogCWstPnJ0Lm5yX2NwdXNfYWxsb3dlZCA9IDE7CisJay0+ZmxhZ3MgfD0gUEZfVEhSRUFEX0JPVU5EOwogfQogRVhQT1JUX1NZTUJPTChrdGhyZWFkX2JpbmQpOwogCmRpZmYgLS1naXQgYS9rZXJuZWwvbG9ja2RlcC5jIGIva2VybmVsL2xvY2tkZXAuYwppbmRleCA4MWE0ZTRhLi5kMzhhNjQzIDEwMDY0NAotLS0gYS9rZXJuZWwvbG9ja2RlcC5jCisrKyBiL2tlcm5lbC9sb2NrZGVwLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pcnFmbGFncy5oPgogI2luY2x1ZGUgPGxpbnV4L3V0c25hbWUuaD4KICNpbmNsdWRlIDxsaW51eC9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CiAKICNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KIApAQCAtODEsNiArODIsOCBAQAogCQlfX3Jhd19zcGluX3VubG9jaygmbG9ja2RlcF9sb2NrKTsKIAkJcmV0dXJuIDA7CiAJfQorCS8qIHByZXZlbnQgYW55IHJlY3Vyc2lvbnMgd2l0aGluIGxvY2tkZXAgZnJvbSBjYXVzaW5nIGRlYWRsb2NrcyAqLworCWN1cnJlbnQtPmxvY2tkZXBfcmVjdXJzaW9uKys7CiAJcmV0dXJuIDE7CiB9CiAKQEAgLTg5LDYgKzkyLDcgQEAKIAlpZiAoZGVidWdfbG9ja3MgJiYgIV9fcmF3X3NwaW5faXNfbG9ja2VkKCZsb2NrZGVwX2xvY2spKQogCQlyZXR1cm4gREVCVUdfTE9DS1NfV0FSTl9PTigxKTsKIAorCWN1cnJlbnQtPmxvY2tkZXBfcmVjdXJzaW9uLS07CiAJX19yYXdfc3Bpbl91bmxvY2soJmxvY2tkZXBfbG9jayk7CiAJcmV0dXJuIDA7CiB9CkBAIC05ODIsNyArOTg2LDcgQEAKIAlyZXR1cm4gMTsKIH0KIAotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUworI2lmIGRlZmluZWQoQ09ORklHX1RSQUNFX0lSUUZMQUdTKSAmJiBkZWZpbmVkKENPTkZJR19QUk9WRV9MT0NLSU5HKQogLyoKICAqIEZvcndhcmRzIGFuZCBiYWNrd2FyZHMgc3ViZ3JhcGggc2VhcmNoaW5nLCBmb3IgdGhlIHB1cnBvc2VzIG9mCiAgKiBwcm92aW5nIHRoYXQgdHdvIHN1YmdyYXBocyBjYW4gYmUgY29ubmVjdGVkIGJ5IGEgbmV3IGRlcGVuZGVuY3kKQEAgLTE0NTgsNyArMTQ2MiwxNCBAQAogfQogCiB1bnNpZ25lZCBsb25nIG5yX2xvY2tfY2hhaW5zOwotc3RhdGljIHN0cnVjdCBsb2NrX2NoYWluIGxvY2tfY2hhaW5zW01BWF9MT0NLREVQX0NIQUlOU107CitzdHJ1Y3QgbG9ja19jaGFpbiBsb2NrX2NoYWluc1tNQVhfTE9DS0RFUF9DSEFJTlNdOworaW50IG5yX2NoYWluX2hsb2NrczsKK3N0YXRpYyB1MTYgY2hhaW5faGxvY2tzW01BWF9MT0NLREVQX0NIQUlOX0hMT0NLU107CisKK3N0cnVjdCBsb2NrX2NsYXNzICpsb2NrX2NoYWluX2dldF9jbGFzcyhzdHJ1Y3QgbG9ja19jaGFpbiAqY2hhaW4sIGludCBpKQoreworCXJldHVybiBsb2NrX2NsYXNzZXMgKyBjaGFpbl9obG9ja3NbY2hhaW4tPmJhc2UgKyBpXTsKK30KIAogLyoKICAqIExvb2sgdXAgYSBkZXBlbmRlbmN5IGNoYWluLiBJZiB0aGUga2V5IGlzIG5vdCBwcmVzZW50IHlldCB0aGVuCkBAIC0xNDY2LDEwICsxNDc3LDE1IEBACiAgKiB2YWxpZGF0ZWQuIElmIHRoZSBrZXkgaXMgYWxyZWFkeSBoYXNoZWQsIHJldHVybiAwLgogICogKE9uIHJldHVybiB3aXRoIDEgZ3JhcGhfbG9jayBpcyBoZWxkLikKICAqLwotc3RhdGljIGlubGluZSBpbnQgbG9va3VwX2NoYWluX2NhY2hlKHU2NCBjaGFpbl9rZXksIHN0cnVjdCBsb2NrX2NsYXNzICpjbGFzcykKK3N0YXRpYyBpbmxpbmUgaW50IGxvb2t1cF9jaGFpbl9jYWNoZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIsCisJCQkJICAgICBzdHJ1Y3QgaGVsZF9sb2NrICpobG9jaywKKwkJCQkgICAgIHU2NCBjaGFpbl9rZXkpCiB7CisJc3RydWN0IGxvY2tfY2xhc3MgKmNsYXNzID0gaGxvY2stPmNsYXNzOwogCXN0cnVjdCBsaXN0X2hlYWQgKmhhc2hfaGVhZCA9IGNoYWluaGFzaGVudHJ5KGNoYWluX2tleSk7CiAJc3RydWN0IGxvY2tfY2hhaW4gKmNoYWluOworCXN0cnVjdCBoZWxkX2xvY2sgKmhsb2NrX2N1cnIsICpobG9ja19uZXh0OworCWludCBpLCBqLCBuLCBjbjsKIAogCWlmIChERUJVR19MT0NLU19XQVJOX09OKCFpcnFzX2Rpc2FibGVkKCkpKQogCQlyZXR1cm4gMDsKQEAgLTE1MTcsNiArMTUzMywzMiBAQAogCX0KIAljaGFpbiA9IGxvY2tfY2hhaW5zICsgbnJfbG9ja19jaGFpbnMrKzsKIAljaGFpbi0+Y2hhaW5fa2V5ID0gY2hhaW5fa2V5OworCWNoYWluLT5pcnFfY29udGV4dCA9IGhsb2NrLT5pcnFfY29udGV4dDsKKwkvKiBGaW5kIHRoZSBmaXJzdCBoZWxkX2xvY2sgb2YgY3VycmVudCBjaGFpbiAqLworCWhsb2NrX25leHQgPSBobG9jazsKKwlmb3IgKGkgPSBjdXJyLT5sb2NrZGVwX2RlcHRoIC0gMTsgaSA+PSAwOyBpLS0pIHsKKwkJaGxvY2tfY3VyciA9IGN1cnItPmhlbGRfbG9ja3MgKyBpOworCQlpZiAoaGxvY2tfY3Vyci0+aXJxX2NvbnRleHQgIT0gaGxvY2tfbmV4dC0+aXJxX2NvbnRleHQpCisJCQlicmVhazsKKwkJaGxvY2tfbmV4dCA9IGhsb2NrOworCX0KKwlpKys7CisJY2hhaW4tPmRlcHRoID0gY3Vyci0+bG9ja2RlcF9kZXB0aCArIDEgLSBpOworCWNuID0gbnJfY2hhaW5faGxvY2tzOworCXdoaWxlIChjbiArIGNoYWluLT5kZXB0aCA8PSBNQVhfTE9DS0RFUF9DSEFJTl9ITE9DS1MpIHsKKwkJbiA9IGNtcHhjaGcoJm5yX2NoYWluX2hsb2NrcywgY24sIGNuICsgY2hhaW4tPmRlcHRoKTsKKwkJaWYgKG4gPT0gY24pCisJCQlicmVhazsKKwkJY24gPSBuOworCX0KKwlpZiAobGlrZWx5KGNuICsgY2hhaW4tPmRlcHRoIDw9IE1BWF9MT0NLREVQX0NIQUlOX0hMT0NLUykpIHsKKwkJY2hhaW4tPmJhc2UgPSBjbjsKKwkJZm9yIChqID0gMDsgaiA8IGNoYWluLT5kZXB0aCAtIDE7IGorKywgaSsrKSB7CisJCQlpbnQgbG9ja19pZCA9IGN1cnItPmhlbGRfbG9ja3NbaV0uY2xhc3MgLSBsb2NrX2NsYXNzZXM7CisJCQljaGFpbl9obG9ja3NbY2hhaW4tPmJhc2UgKyBqXSA9IGxvY2tfaWQ7CisJCX0KKwkJY2hhaW5faGxvY2tzW2NoYWluLT5iYXNlICsgal0gPSBjbGFzcyAtIGxvY2tfY2xhc3NlczsKKwl9CiAJbGlzdF9hZGRfdGFpbF9yY3UoJmNoYWluLT5lbnRyeSwgaGFzaF9oZWFkKTsKIAlkZWJ1Z19hdG9taWNfaW5jKCZjaGFpbl9sb29rdXBfbWlzc2VzKTsKIAlpbmNfY2hhaW5zKCk7CkBAIC0xNTM4LDcgKzE1ODAsNyBAQAogCSAqIGdyYXBoX2xvY2sgZm9yIHVzKQogCSAqLwogCWlmICghaGxvY2stPnRyeWxvY2sgJiYgKGhsb2NrLT5jaGVjayA9PSAyKSAmJgotCQkJbG9va3VwX2NoYWluX2NhY2hlKGNoYWluX2tleSwgaGxvY2stPmNsYXNzKSkgeworCSAgICBsb29rdXBfY2hhaW5fY2FjaGUoY3VyciwgaGxvY2ssIGNoYWluX2tleSkpIHsKIAkJLyoKIAkJICogQ2hlY2sgd2hldGhlciBsYXN0IGhlbGQgbG9jazoKIAkJICoKQEAgLTE2ODAsNyArMTcyMiw3IEBACiBzdGF0aWMgaW50IG1hcmtfbG9jayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIsIHN0cnVjdCBoZWxkX2xvY2sgKnRoaXMsCiAJCSAgICAgZW51bSBsb2NrX3VzYWdlX2JpdCBuZXdfYml0KTsKIAotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUworI2lmIGRlZmluZWQoQ09ORklHX1RSQUNFX0lSUUZMQUdTKSAmJiBkZWZpbmVkKENPTkZJR19QUk9WRV9MT0NLSU5HKQogCiAvKgogICogcHJpbnQgaXJxIGludmVyc2lvbiBidWc6CkBAIC0yMDEzLDExICsyMDU1LDEzIEBACiAvKgogICogSGFyZGlycXMgd2lsbCBiZSBlbmFibGVkOgogICovCi12b2lkIHRyYWNlX2hhcmRpcnFzX29uKHZvaWQpCit2b2lkIHRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcih1bnNpZ25lZCBsb25nIGEwKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyciA9IGN1cnJlbnQ7CiAJdW5zaWduZWQgbG9uZyBpcDsKIAorCXRpbWVfaGFyZGlycXNfb24oQ0FMTEVSX0FERFIwLCBhMCk7CisKIAlpZiAodW5saWtlbHkoIWRlYnVnX2xvY2tzIHx8IGN1cnJlbnQtPmxvY2tkZXBfcmVjdXJzaW9uKSkKIAkJcmV0dXJuOwogCkBAIC0yMDU1LDE2ICsyMDk5LDIzIEBACiAJY3Vyci0+aGFyZGlycV9lbmFibGVfZXZlbnQgPSArK2N1cnItPmlycV9ldmVudHM7CiAJZGVidWdfYXRvbWljX2luYygmaGFyZGlycXNfb25fZXZlbnRzKTsKIH0KK0VYUE9SVF9TWU1CT0wodHJhY2VfaGFyZGlycXNfb25fY2FsbGVyKTsKIAordm9pZCB0cmFjZV9oYXJkaXJxc19vbih2b2lkKQoreworCXRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcihDQUxMRVJfQUREUjApOworfQogRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vbik7CiAKIC8qCiAgKiBIYXJkaXJxcyB3ZXJlIGRpc2FibGVkOgogICovCi12b2lkIHRyYWNlX2hhcmRpcnFzX29mZih2b2lkKQordm9pZCB0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyKHVuc2lnbmVkIGxvbmcgYTApCiB7CiAJc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyID0gY3VycmVudDsKIAorCXRpbWVfaGFyZGlycXNfb2ZmKENBTExFUl9BRERSMCwgYTApOworCiAJaWYgKHVubGlrZWx5KCFkZWJ1Z19sb2NrcyB8fCBjdXJyZW50LT5sb2NrZGVwX3JlY3Vyc2lvbikpCiAJCXJldHVybjsKIApAQCAtMjA4Miw3ICsyMTMzLDEyIEBACiAJfSBlbHNlCiAJCWRlYnVnX2F0b21pY19pbmMoJnJlZHVuZGFudF9oYXJkaXJxc19vZmYpOwogfQorRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyKTsKIAordm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCkKK3sKKwl0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyKENBTExFUl9BRERSMCk7Cit9CiBFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29mZik7CiAKIC8qCkBAIC0yMjQ2LDcgKzIzMDIsNyBAQAogICogTWFyayBhIGxvY2sgd2l0aCBhIHVzYWdlIGJpdCwgYW5kIHZhbGlkYXRlIHRoZSBzdGF0ZSB0cmFuc2l0aW9uOgogICovCiBzdGF0aWMgaW50IG1hcmtfbG9jayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIsIHN0cnVjdCBoZWxkX2xvY2sgKnRoaXMsCi0JCSAgICAgZW51bSBsb2NrX3VzYWdlX2JpdCBuZXdfYml0KQorCQkJICAgICBlbnVtIGxvY2tfdXNhZ2VfYml0IG5ld19iaXQpCiB7CiAJdW5zaWduZWQgaW50IG5ld19tYXNrID0gMSA8PCBuZXdfYml0LCByZXQgPSAxOwogCkBAIC0yNjUwLDcgKzI3MDYsOCBAQAogICovCiBzdGF0aWMgdm9pZCBjaGVja19mbGFncyh1bnNpZ25lZCBsb25nIGZsYWdzKQogewotI2lmIGRlZmluZWQoQ09ORklHX0RFQlVHX0xPQ0tERVApICYmIGRlZmluZWQoQ09ORklHX1RSQUNFX0lSUUZMQUdTKQorI2lmIGRlZmluZWQoQ09ORklHX1BST1ZFX0xPQ0tJTkcpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX0xPQ0tERVApICYmIFwKKyAgICBkZWZpbmVkKENPTkZJR19UUkFDRV9JUlFGTEFHUykKIAlpZiAoIWRlYnVnX2xvY2tzKQogCQlyZXR1cm47CiAKQEAgLTI2ODYsNyArMjc0Myw3IEBACiAgKiBhbmQgYWxzbyBhdm9pZCBsb2NrZGVwIHJlY3Vyc2lvbjoKICAqLwogdm9pZCBsb2NrX2FjcXVpcmUoc3RydWN0IGxvY2tkZXBfbWFwICpsb2NrLCB1bnNpZ25lZCBpbnQgc3ViY2xhc3MsCi0JCSAgaW50IHRyeWxvY2ssIGludCByZWFkLCBpbnQgY2hlY2ssIHVuc2lnbmVkIGxvbmcgaXApCisJCQkgIGludCB0cnlsb2NrLCBpbnQgcmVhZCwgaW50IGNoZWNrLCB1bnNpZ25lZCBsb25nIGlwKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKQEAgLTI3MDgsNyArMjc2NSw4IEBACiAKIEVYUE9SVF9TWU1CT0xfR1BMKGxvY2tfYWNxdWlyZSk7CiAKLXZvaWQgbG9ja19yZWxlYXNlKHN0cnVjdCBsb2NrZGVwX21hcCAqbG9jaywgaW50IG5lc3RlZCwgdW5zaWduZWQgbG9uZyBpcCkKK3ZvaWQgbG9ja19yZWxlYXNlKHN0cnVjdCBsb2NrZGVwX21hcCAqbG9jaywgaW50IG5lc3RlZCwKKwkJCSAgdW5zaWduZWQgbG9uZyBpcCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCmRpZmYgLS1naXQgYS9rZXJuZWwvbG9ja2RlcF9pbnRlcm5hbHMuaCBiL2tlcm5lbC9sb2NrZGVwX2ludGVybmFscy5oCmluZGV4IDhjZTA5YmMuLmMzNjAwYTAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9sb2NrZGVwX2ludGVybmFscy5oCisrKyBiL2tlcm5lbC9sb2NrZGVwX2ludGVybmFscy5oCkBAIC0yMyw2ICsyMyw4IEBACiAjZGVmaW5lIE1BWF9MT0NLREVQX0NIQUlOU19CSVRTCTE0CiAjZGVmaW5lIE1BWF9MT0NLREVQX0NIQUlOUwkoMVVMIDw8IE1BWF9MT0NLREVQX0NIQUlOU19CSVRTKQogCisjZGVmaW5lIE1BWF9MT0NLREVQX0NIQUlOX0hMT0NLUyAoTUFYX0xPQ0tERVBfQ0hBSU5TKjUpCisKIC8qCiAgKiBTdGFjay10cmFjZTogdGlnaHRseSBwYWNrZWQgYXJyYXkgb2Ygc3RhY2sgYmFja3RyYWNlCiAgKiBhZGRyZXNzZXMuIFByb3RlY3RlZCBieSB0aGUgaGFzaF9sb2NrLgpAQCAtMzAsMTUgKzMyLDE5IEBACiAjZGVmaW5lIE1BWF9TVEFDS19UUkFDRV9FTlRSSUVTCTI2MjE0NFVMCiAKIGV4dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIGFsbF9sb2NrX2NsYXNzZXM7CitleHRlcm4gc3RydWN0IGxvY2tfY2hhaW4gbG9ja19jaGFpbnNbXTsKIAogZXh0ZXJuIHZvaWQKIGdldF91c2FnZV9jaGFycyhzdHJ1Y3QgbG9ja19jbGFzcyAqY2xhc3MsIGNoYXIgKmMxLCBjaGFyICpjMiwgY2hhciAqYzMsIGNoYXIgKmM0KTsKIAogZXh0ZXJuIGNvbnN0IGNoYXIgKiBfX2dldF9rZXlfbmFtZShzdHJ1Y3QgbG9ja2RlcF9zdWJjbGFzc19rZXkgKmtleSwgY2hhciAqc3RyKTsKIAorc3RydWN0IGxvY2tfY2xhc3MgKmxvY2tfY2hhaW5fZ2V0X2NsYXNzKHN0cnVjdCBsb2NrX2NoYWluICpjaGFpbiwgaW50IGkpOworCiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9sb2NrX2NsYXNzZXM7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9saXN0X2VudHJpZXM7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9sb2NrX2NoYWluczsKK2V4dGVybiBpbnQgbnJfY2hhaW5faGxvY2tzOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfc3RhY2tfdHJhY2VfZW50cmllczsKIAogZXh0ZXJuIHVuc2lnbmVkIGludCBucl9oYXJkaXJxX2NoYWluczsKZGlmZiAtLWdpdCBhL2tlcm5lbC9sb2NrZGVwX3Byb2MuYyBiL2tlcm5lbC9sb2NrZGVwX3Byb2MuYwppbmRleCBkYzVkMjk2Li45YjBlOTQwIDEwMDY0NAotLS0gYS9rZXJuZWwvbG9ja2RlcF9wcm9jLmMKKysrIGIva2VybmVsL2xvY2tkZXBfcHJvYy5jCkBAIC0xMzksNyArMTM5LDcgQEAKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkoZW50cnksICZjbGFzcy0+bG9ja3NfYWZ0ZXIsIGVudHJ5KSB7CiAJCWlmIChlbnRyeS0+ZGlzdGFuY2UgPT0gMSkgewotCQkJc2VxX3ByaW50ZihtLCAiIC0+IFslcF0gIiwgZW50cnktPmNsYXNzKTsKKwkJCXNlcV9wcmludGYobSwgIiAtPiBbJXBdICIsIGVudHJ5LT5jbGFzcy0+a2V5KTsKIAkJCXByaW50X25hbWUobSwgZW50cnktPmNsYXNzKTsKIAkJCXNlcV9wdXRzKG0sICJcbiIpOwogCQl9CkBAIC0xNzgsNiArMTc4LDk1IEBACiAJLnJlbGVhc2UJPSBzZXFfcmVsZWFzZSwKIH07CiAKKyNpZmRlZiBDT05GSUdfUFJPVkVfTE9DS0lORworc3RhdGljIHZvaWQgKmxjX25leHQoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2LCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgbG9ja19jaGFpbiAqY2hhaW47CisKKwkoKnBvcykrKzsKKworCWlmICh2ID09IFNFUV9TVEFSVF9UT0tFTikKKwkJY2hhaW4gPSBtLT5wcml2YXRlOworCWVsc2UgeworCQljaGFpbiA9IHY7CisKKwkJaWYgKCpwb3MgPCBucl9sb2NrX2NoYWlucykKKwkJCWNoYWluID0gbG9ja19jaGFpbnMgKyAqcG9zOworCQllbHNlCisJCQljaGFpbiA9IE5VTEw7CisJfQorCisJcmV0dXJuIGNoYWluOworfQorCitzdGF0aWMgdm9pZCAqbGNfc3RhcnQoc3RydWN0IHNlcV9maWxlICptLCBsb2ZmX3QgKnBvcykKK3sKKwlpZiAoKnBvcyA9PSAwKQorCQlyZXR1cm4gU0VRX1NUQVJUX1RPS0VOOworCisJaWYgKCpwb3MgPCBucl9sb2NrX2NoYWlucykKKwkJcmV0dXJuIGxvY2tfY2hhaW5zICsgKnBvczsKKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBsY19zdG9wKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKK3sKK30KKworc3RhdGljIGludCBsY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKK3sKKwlzdHJ1Y3QgbG9ja19jaGFpbiAqY2hhaW4gPSB2OworCXN0cnVjdCBsb2NrX2NsYXNzICpjbGFzczsKKwlpbnQgaTsKKworCWlmICh2ID09IFNFUV9TVEFSVF9UT0tFTikgeworCQlzZXFfcHJpbnRmKG0sICJhbGwgbG9jayBjaGFpbnM6XG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJc2VxX3ByaW50ZihtLCAiaXJxX2NvbnRleHQ6ICVkXG4iLCBjaGFpbi0+aXJxX2NvbnRleHQpOworCisJZm9yIChpID0gMDsgaSA8IGNoYWluLT5kZXB0aDsgaSsrKSB7CisJCWNsYXNzID0gbG9ja19jaGFpbl9nZXRfY2xhc3MoY2hhaW4sIGkpOworCQlzZXFfcHJpbnRmKG0sICJbJXBdICIsIGNsYXNzLT5rZXkpOworCQlwcmludF9uYW1lKG0sIGNsYXNzKTsKKwkJc2VxX3B1dHMobSwgIlxuIik7CisJfQorCXNlcV9wdXRzKG0sICJcbiIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgbG9ja2RlcF9jaGFpbnNfb3BzID0geworCS5zdGFydAk9IGxjX3N0YXJ0LAorCS5uZXh0CT0gbGNfbmV4dCwKKwkuc3RvcAk9IGxjX3N0b3AsCisJLnNob3cJPSBsY19zaG93LAorfTsKKworc3RhdGljIGludCBsb2NrZGVwX2NoYWluc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWludCByZXMgPSBzZXFfb3BlbihmaWxlLCAmbG9ja2RlcF9jaGFpbnNfb3BzKTsKKwlpZiAoIXJlcykgeworCQlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBmaWxlLT5wcml2YXRlX2RhdGE7CisKKwkJaWYgKG5yX2xvY2tfY2hhaW5zKQorCQkJbS0+cHJpdmF0ZSA9IGxvY2tfY2hhaW5zOworCQllbHNlCisJCQltLT5wcml2YXRlID0gTlVMTDsKKwl9CisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgcHJvY19sb2NrZGVwX2NoYWluc19vcGVyYXRpb25zID0geworCS5vcGVuCQk9IGxvY2tkZXBfY2hhaW5zX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzZXFfcmVsZWFzZSwKK307CisjZW5kaWYgLyogQ09ORklHX1BST1ZFX0xPQ0tJTkcgKi8KKwogc3RhdGljIHZvaWQgbG9ja2RlcF9zdGF0c19kZWJ1Z19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSkKIHsKICNpZmRlZiBDT05GSUdfREVCVUdfTE9DS0RFUApAQCAtMjk0LDYgKzM4Myw4IEBACiAjaWZkZWYgQ09ORklHX1BST1ZFX0xPQ0tJTkcKIAlzZXFfcHJpbnRmKG0sICIgZGVwZW5kZW5jeSBjaGFpbnM6ICAgICAgICAgICAgICUxMWx1IFttYXg6ICVsdV1cbiIsCiAJCQlucl9sb2NrX2NoYWlucywgTUFYX0xPQ0tERVBfQ0hBSU5TKTsKKwlzZXFfcHJpbnRmKG0sICIgZGVwZW5kZW5jeSBjaGFpbiBobG9ja3M6ICAgICAgICUxMWQgW21heDogJWx1XVxuIiwKKwkJCW5yX2NoYWluX2hsb2NrcywgTUFYX0xPQ0tERVBfQ0hBSU5fSExPQ0tTKTsKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCkBAIC02NjEsNiArNzUyLDEwIEBACiBzdGF0aWMgaW50IF9faW5pdCBsb2NrZGVwX3Byb2NfaW5pdCh2b2lkKQogewogCXByb2NfY3JlYXRlKCJsb2NrZGVwIiwgU19JUlVTUiwgTlVMTCwgJnByb2NfbG9ja2RlcF9vcGVyYXRpb25zKTsKKyNpZmRlZiBDT05GSUdfUFJPVkVfTE9DS0lORworCXByb2NfY3JlYXRlKCJsb2NrZGVwX2NoYWlucyIsIFNfSVJVU1IsIE5VTEwsCisJCSAgICAmcHJvY19sb2NrZGVwX2NoYWluc19vcGVyYXRpb25zKTsKKyNlbmRpZgogCXByb2NfY3JlYXRlKCJsb2NrZGVwX3N0YXRzIiwgU19JUlVTUiwgTlVMTCwKIAkJICAgICZwcm9jX2xvY2tkZXBfc3RhdHNfb3BlcmF0aW9ucyk7CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9tYXJrZXIuYyBiL2tlcm5lbC9tYXJrZXIuYwppbmRleCBiNWE5ZmUxLi4xYWJmYjkyIDEwMDY0NAotLS0gYS9rZXJuZWwvbWFya2VyLmMKKysrIGIva2VybmVsL21hcmtlci5jCkBAIC01NSw4ICs1NSw4IEBACiBzdHJ1Y3QgbWFya2VyX2VudHJ5IHsKIAlzdHJ1Y3QgaGxpc3Rfbm9kZSBobGlzdDsKIAljaGFyICpmb3JtYXQ7Ci0Jdm9pZCAoKmNhbGwpKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLAkvKiBQcm9iZSB3cmFwcGVyICovCi0JCXZvaWQgKmNhbGxfcHJpdmF0ZSwgY29uc3QgY2hhciAqZm10LCAuLi4pOworCQkJLyogUHJvYmUgd3JhcHBlciAqLworCXZvaWQgKCpjYWxsKShjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwgdm9pZCAqY2FsbF9wcml2YXRlLCAuLi4pOwogCXN0cnVjdCBtYXJrZXJfcHJvYmVfY2xvc3VyZSBzaW5nbGU7CiAJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlICptdWx0aTsKIAlpbnQgcmVmY291bnQ7CS8qIE51bWJlciBvZiB0aW1lcyBhcm1lZC4gMCBpZiBkaXNhcm1lZC4gKi8KQEAgLTkxLDE1ICs5MSwxMyBAQAogICogbWFya2VyX3Byb2JlX2NiIENhbGxiYWNrIHRoYXQgcHJlcGFyZXMgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QgZm9yIHByb2Jlcy4KICAqIEBtZGF0YTogcG9pbnRlciBvZiB0eXBlIHN0cnVjdCBtYXJrZXIKICAqIEBjYWxsX3ByaXZhdGU6IGNhbGxlciBzaXRlIHByaXZhdGUgZGF0YQotICogQGZtdDogZm9ybWF0IHN0cmluZwogICogQC4uLjogIFZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuCiAgKgogICogU2luY2Ugd2UgZG8gbm90IHVzZSAidHlwaWNhbCIgcG9pbnRlciBiYXNlZCBSQ1UgaW4gdGhlIDEgYXJndW1lbnQgY2FzZSwgd2UKICAqIG5lZWQgdG8gcHV0IGEgZnVsbCBzbXBfcm1iKCkgaW4gdGhpcyBicmFuY2guIFRoaXMgaXMgd2h5IHdlIGRvIG5vdCB1c2UKICAqIHJjdV9kZXJlZmVyZW5jZSgpIGZvciB0aGUgcG9pbnRlciByZWFkLgogICovCi12b2lkIG1hcmtlcl9wcm9iZV9jYihjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwgdm9pZCAqY2FsbF9wcml2YXRlLAotCWNvbnN0IGNoYXIgKmZtdCwgLi4uKQordm9pZCBtYXJrZXJfcHJvYmVfY2IoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsIHZvaWQgKmNhbGxfcHJpdmF0ZSwgLi4uKQogewogCXZhX2xpc3QgYXJnczsKIAljaGFyIHB0eXBlOwpAQCAtMTIwLDggKzExOCw5IEBACiAJCS8qIE11c3QgcmVhZCB0aGUgcHRyIGJlZm9yZSBwcml2YXRlIGRhdGEuIFRoZXkgYXJlIG5vdCBkYXRhCiAJCSAqIGRlcGVuZGFudCwgc28gd2UgcHV0IGFuIGV4cGxpY2l0IHNtcF9ybWIoKSBoZXJlLiAqLwogCQlzbXBfcm1iKCk7Ci0JCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7Ci0JCWZ1bmMobWRhdGEtPnNpbmdsZS5wcm9iZV9wcml2YXRlLCBjYWxsX3ByaXZhdGUsIGZtdCwgJmFyZ3MpOworCQl2YV9zdGFydChhcmdzLCBjYWxsX3ByaXZhdGUpOworCQlmdW5jKG1kYXRhLT5zaW5nbGUucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLCBtZGF0YS0+Zm9ybWF0LAorCQkJJmFyZ3MpOwogCQl2YV9lbmQoYXJncyk7CiAJfSBlbHNlIHsKIAkJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlICptdWx0aTsKQEAgLTEzNiw5ICsxMzUsOSBAQAogCQlzbXBfcmVhZF9iYXJyaWVyX2RlcGVuZHMoKTsKIAkJbXVsdGkgPSBtZGF0YS0+bXVsdGk7CiAJCWZvciAoaSA9IDA7IG11bHRpW2ldLmZ1bmM7IGkrKykgewotCQkJdmFfc3RhcnQoYXJncywgZm10KTsKLQkJCW11bHRpW2ldLmZ1bmMobXVsdGlbaV0ucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLCBmbXQsCi0JCQkJJmFyZ3MpOworCQkJdmFfc3RhcnQoYXJncywgY2FsbF9wcml2YXRlKTsKKwkJCW11bHRpW2ldLmZ1bmMobXVsdGlbaV0ucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLAorCQkJCW1kYXRhLT5mb3JtYXQsICZhcmdzKTsKIAkJCXZhX2VuZChhcmdzKTsKIAkJfQogCX0KQEAgLTE1MCwxMyArMTQ5LDExIEBACiAgKiBtYXJrZXJfcHJvYmVfY2IgQ2FsbGJhY2sgdGhhdCBkb2VzIG5vdCBwcmVwYXJlIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LgogICogQG1kYXRhOiBwb2ludGVyIG9mIHR5cGUgc3RydWN0IG1hcmtlcgogICogQGNhbGxfcHJpdmF0ZTogY2FsbGVyIHNpdGUgcHJpdmF0ZSBkYXRhCi0gKiBAZm10OiBmb3JtYXQgc3RyaW5nCiAgKiBALi4uOiAgVmFyaWFibGUgYXJndW1lbnQgbGlzdC4KICAqCiAgKiBTaG91bGQgYmUgY29ubmVjdGVkIHRvIG1hcmtlcnMgIk1BUktfTk9BUkdTIi4KICAqLwotdm9pZCBtYXJrZXJfcHJvYmVfY2Jfbm9hcmcoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsCi0Jdm9pZCAqY2FsbF9wcml2YXRlLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3ZvaWQgbWFya2VyX3Byb2JlX2NiX25vYXJnKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLCB2b2lkICpjYWxsX3ByaXZhdGUsIC4uLikKIHsKIAl2YV9saXN0IGFyZ3M7CS8qIG5vdCBpbml0aWFsaXplZCAqLwogCWNoYXIgcHR5cGU7CkBAIC0xNzIsNyArMTY5LDggQEAKIAkJLyogTXVzdCByZWFkIHRoZSBwdHIgYmVmb3JlIHByaXZhdGUgZGF0YS4gVGhleSBhcmUgbm90IGRhdGEKIAkJICogZGVwZW5kYW50LCBzbyB3ZSBwdXQgYW4gZXhwbGljaXQgc21wX3JtYigpIGhlcmUuICovCiAJCXNtcF9ybWIoKTsKLQkJZnVuYyhtZGF0YS0+c2luZ2xlLnByb2JlX3ByaXZhdGUsIGNhbGxfcHJpdmF0ZSwgZm10LCAmYXJncyk7CisJCWZ1bmMobWRhdGEtPnNpbmdsZS5wcm9iZV9wcml2YXRlLCBjYWxsX3ByaXZhdGUsIG1kYXRhLT5mb3JtYXQsCisJCQkmYXJncyk7CiAJfSBlbHNlIHsKIAkJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlICptdWx0aTsKIAkJaW50IGk7CkBAIC0xODYsOCArMTg0LDggQEAKIAkJc21wX3JlYWRfYmFycmllcl9kZXBlbmRzKCk7CiAJCW11bHRpID0gbWRhdGEtPm11bHRpOwogCQlmb3IgKGkgPSAwOyBtdWx0aVtpXS5mdW5jOyBpKyspCi0JCQltdWx0aVtpXS5mdW5jKG11bHRpW2ldLnByb2JlX3ByaXZhdGUsIGNhbGxfcHJpdmF0ZSwgZm10LAotCQkJCSZhcmdzKTsKKwkJCW11bHRpW2ldLmZ1bmMobXVsdGlbaV0ucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLAorCQkJCW1kYXRhLT5mb3JtYXQsICZhcmdzKTsKIAl9CiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KZGlmZiAtLWdpdCBhL2tlcm5lbC9tdXRleC1kZWJ1Zy5jIGIva2VybmVsL211dGV4LWRlYnVnLmMKaW5kZXggM2FhYTA2Yy4uMWQ5NDE2MCAxMDA2NDQKLS0tIGEva2VybmVsL211dGV4LWRlYnVnLmMKKysrIGIva2VybmVsL211dGV4LWRlYnVnLmMKQEAgLTc5LDggKzc5LDggQEAKIAlpZiAodW5saWtlbHkoIWRlYnVnX2xvY2tzKSkKIAkJcmV0dXJuOwogCi0JREVCVUdfTE9DS1NfV0FSTl9PTihsb2NrLT5vd25lciAhPSBjdXJyZW50X3RocmVhZF9pbmZvKCkpOwogCURFQlVHX0xPQ0tTX1dBUk5fT04obG9jay0+bWFnaWMgIT0gbG9jayk7CisJREVCVUdfTE9DS1NfV0FSTl9PTihsb2NrLT5vd25lciAhPSBjdXJyZW50X3RocmVhZF9pbmZvKCkpOwogCURFQlVHX0xPQ0tTX1dBUk5fT04oIWxvY2stPndhaXRfbGlzdC5wcmV2ICYmICFsb2NrLT53YWl0X2xpc3QubmV4dCk7CiAJREVCVUdfTE9DS1NfV0FSTl9PTihsb2NrLT5vd25lciAhPSBjdXJyZW50X3RocmVhZF9pbmZvKCkpOwogfQpkaWZmIC0tZ2l0IGEva2VybmVsL211dGV4LmMgYi9rZXJuZWwvbXV0ZXguYwppbmRleCBkMDQ2YTM0Li5iY2RjOWFjIDEwMDY0NAotLS0gYS9rZXJuZWwvbXV0ZXguYworKysgYi9rZXJuZWwvbXV0ZXguYwpAQCAtMTY1LDEwICsxNjUsNyBAQAogCQkgKiBnb3QgYSBzaWduYWw/IChUaGlzIGNvZGUgZ2V0cyBlbGltaW5hdGVkIGluIHRoZQogCQkgKiBUQVNLX1VOSU5URVJSVVBUSUJMRSBjYXNlLikKIAkJICovCi0JCWlmICh1bmxpa2VseSgoc3RhdGUgPT0gVEFTS19JTlRFUlJVUFRJQkxFICYmCi0JCQkJCXNpZ25hbF9wZW5kaW5nKHRhc2spKSB8fAotCQkJICAgICAgKHN0YXRlID09IFRBU0tfS0lMTEFCTEUgJiYKLQkJCQkJZmF0YWxfc2lnbmFsX3BlbmRpbmcodGFzaykpKSkgeworCQlpZiAodW5saWtlbHkoc2lnbmFsX3BlbmRpbmdfc3RhdGUoc3RhdGUsIHRhc2spKSkgewogCQkJbXV0ZXhfcmVtb3ZlX3dhaXRlcihsb2NrLCAmd2FpdGVyLAogCQkJCQkgICAgdGFza190aHJlYWRfaW5mbyh0YXNrKSk7CiAJCQltdXRleF9yZWxlYXNlKCZsb2NrLT5kZXBfbWFwLCAxLCBpcCk7CmRpZmYgLS1naXQgYS9rZXJuZWwvcGlkLmMgYi9rZXJuZWwvcGlkLmMKaW5kZXggMjBkNTlmYS4uMzBiZDVkNCAxMDA2NDQKLS0tIGEva2VybmVsL3BpZC5jCisrKyBiL2tlcm5lbC9waWQuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9oYXNoLmg+CiAjaW5jbHVkZSA8bGludXgvcGlkX25hbWVzcGFjZS5oPgpkaWZmIC0tZ2l0IGEva2VybmVsL3BtX3Fvc19wYXJhbXMuYyBiL2tlcm5lbC9wbV9xb3NfcGFyYW1zLmMKaW5kZXggMGFmZTMyYi4uOGNiNzU3MCAxMDA2NDQKLS0tIGEva2VybmVsL3BtX3Fvc19wYXJhbXMuYworKysgYi9rZXJuZWwvcG1fcW9zX3BhcmFtcy5jCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9wbV9xb3NfcGFyYW1zLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KQEAgLTM1OCwxNSArMzU5LDE5IEBACiAJaW50IHJldDsKIAlsb25nIHBtX3Fvc19jbGFzczsKIAorCWxvY2tfa2VybmVsKCk7CiAJcG1fcW9zX2NsYXNzID0gZmluZF9wbV9xb3Nfb2JqZWN0X2J5X21pbm9yKGltaW5vcihpbm9kZSkpOwogCWlmIChwbV9xb3NfY2xhc3MgPj0gMCkgewogCQlmaWxwLT5wcml2YXRlX2RhdGEgPSAodm9pZCAqKXBtX3Fvc19jbGFzczsKIAkJc3ByaW50ZihuYW1lLCAicHJvY2Vzc18lZCIsIGN1cnJlbnQtPnBpZCk7CiAJCXJldCA9IHBtX3Fvc19hZGRfcmVxdWlyZW1lbnQocG1fcW9zX2NsYXNzLCBuYW1lLAogCQkJCQlQTV9RT1NfREVGQVVMVF9WQUxVRSk7Ci0JCWlmIChyZXQgPj0gMCkKKwkJaWYgKHJldCA+PSAwKSB7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gMDsKKwkJfQogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gLUVQRVJNOwogfQpkaWZmIC0tZ2l0IGEva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYyBiL2tlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMKaW5kZXggZjE1MjVhZC4uYzQyYTAzYSAxMDA2NDQKLS0tIGEva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYworKysgYi9rZXJuZWwvcG9zaXgtY3B1LXRpbWVycy5jCkBAIC0xMDM3LDYgKzEwMzcsOSBAQAogCQkJCXNpZy0+cmxpbVtSTElNSVRfUlRUSU1FXS5ybGltX2N1ciArPQogCQkJCQkJCQlVU0VDX1BFUl9TRUM7CiAJCQl9CisJCQlwcmludGsoS0VSTl9JTkZPCisJCQkJIlJUIFdhdGNoZG9nIFRpbWVvdXQ6ICVzWyVkXVxuIiwKKwkJCQl0c2stPmNvbW0sIHRhc2tfcGlkX25yKHRzaykpOwogCQkJX19ncm91cF9zZW5kX3NpZ19pbmZvKFNJR1hDUFUsIFNFTkRfU0lHX1BSSVYsIHRzayk7CiAJCX0KIAl9CmRpZmYgLS1naXQgYS9rZXJuZWwvcHJpbnRrLmMgYi9rZXJuZWwvcHJpbnRrLmMKaW5kZXggOGZiMDFjMy4uMDdhZDllNyAxMDA2NDQKLS0tIGEva2VybmVsL3ByaW50ay5jCisrKyBiL2tlcm5lbC9wcmludGsuYwpAQCAtMzgsNyArMzgsNyBAQAogLyoKICAqIEFyY2hpdGVjdHVyZXMgY2FuIG92ZXJyaWRlIGl0OgogICovCi12b2lkIF9fYXR0cmlidXRlX18oKHdlYWspKSBlYXJseV9wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pCit2b2lkIGFzbWxpbmthZ2UgX19hdHRyaWJ1dGVfXygod2VhaykpIGVhcmx5X3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKIH0KIApAQCAtNzUsNiArNzUsOCBAQAogc3RhdGljIERFQ0xBUkVfTVVURVgoY29uc29sZV9zZW0pOwogc3RhdGljIERFQ0xBUkVfTVVURVgoc2Vjb25kYXJ5X2NvbnNvbGVfc2VtKTsKIHN0cnVjdCBjb25zb2xlICpjb25zb2xlX2RyaXZlcnM7CitFWFBPUlRfU1lNQk9MX0dQTChjb25zb2xlX2RyaXZlcnMpOworCiAvKgogICogVGhpcyBpcyB1c2VkIGZvciBkZWJ1Z2dpbmcgdGhlIG1lc3MgdGhhdCBpcyB0aGUgVlQgY29kZSBieQogICoga2VlcGluZyB0cmFjayBpZiB3ZSBoYXZlIHRoZSBjb25zb2xlIHNlbWFwaG9yZSBoZWxkLiBJdCdzCkBAIC0xMjEsNiArMTIzLDggQEAKIHN0YXRpYyBzdHJ1Y3QgY29uc29sZV9jbWRsaW5lIGNvbnNvbGVfY21kbGluZVtNQVhfQ01ETElORUNPTlNPTEVTXTsKIHN0YXRpYyBpbnQgc2VsZWN0ZWRfY29uc29sZSA9IC0xOwogc3RhdGljIGludCBwcmVmZXJyZWRfY29uc29sZSA9IC0xOworaW50IGNvbnNvbGVfc2V0X29uX2NtZGxpbmU7CitFWFBPUlRfU1lNQk9MKGNvbnNvbGVfc2V0X29uX2NtZGxpbmUpOwogCiAvKiBGbGFnOiBjb25zb2xlIGNvZGUgbWF5IGNhbGwgc2NoZWR1bGUoKSAqLwogc3RhdGljIGludCBjb25zb2xlX21heV9zY2hlZHVsZTsKQEAgLTIzMSw3ICsyMzUsNyBAQAogLyoKICAqIFJldHVybiB0aGUgbnVtYmVyIG9mIHVucmVhZCBjaGFyYWN0ZXJzIGluIHRoZSBsb2cgYnVmZmVyLgogICovCi1pbnQgbG9nX2J1Zl9nZXRfbGVuKHZvaWQpCitzdGF0aWMgaW50IGxvZ19idWZfZ2V0X2xlbih2b2lkKQogewogCXJldHVybiBsb2dnZWRfY2hhcnM7CiB9CkBAIC0yNjgsMTkgKzI3Miw2IEBACiB9CiAKIC8qCi0gKiBFeHRyYWN0IGEgc2luZ2xlIGNoYXJhY3RlciBmcm9tIHRoZSBsb2cgYnVmZmVyLgotICovCi1pbnQgbG9nX2J1Zl9yZWFkKGludCBpZHgpCi17Ci0JY2hhciByZXQ7Ci0KLQlpZiAobG9nX2J1Zl9jb3B5KCZyZXQsIGlkeCwgMSkgPT0gMSkKLQkJcmV0dXJuIHJldDsKLQllbHNlCi0JCXJldHVybiAtMTsKLX0KLQotLyoKICAqIENvbW1hbmRzIHRvIGRvX3N5c2xvZzoKICAqCiAgKiAJMCAtLSBDbG9zZSB0aGUgbG9nLiAgQ3VycmVudGx5IGEgTk9QLgpAQCAtNjY1LDE4ICs2NTYsMTcgQEAKIAlzcGluX3VubG9jaygmbG9nYnVmX2xvY2spOwogCXJldHVybiByZXR2YWw7CiB9Ci0KLWNvbnN0IGNoYXIgcHJpbnRrX3JlY3Vyc2lvbl9idWdfbXNnIFtdID0KLQkJCUtFUk5fQ1JJVCAiQlVHOiByZWNlbnQgcHJpbnRrIHJlY3Vyc2lvbiFcbiI7Ci1zdGF0aWMgaW50IHByaW50a19yZWN1cnNpb25fYnVnOworc3RhdGljIGNvbnN0IGNoYXIgcmVjdXJzaW9uX2J1Z19tc2cgW10gPQorCQlLRVJOX0NSSVQgIkJVRzogcmVjZW50IHByaW50ayByZWN1cnNpb24hXG4iOworc3RhdGljIGludCByZWN1cnNpb25fYnVnOworCXN0YXRpYyBpbnQgbmV3X3RleHRfbGluZSA9IDE7CitzdGF0aWMgY2hhciBwcmludGtfYnVmWzEwMjRdOwogCiBhc21saW5rYWdlIGludCB2cHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKQogewotCXN0YXRpYyBpbnQgbG9nX2xldmVsX3Vua25vd24gPSAxOwotCXN0YXRpYyBjaGFyIHByaW50a19idWZbMTAyNF07Ci0KLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBwcmludGVkX2xlbiA9IDA7CisJaW50IGN1cnJlbnRfbG9nX2xldmVsID0gZGVmYXVsdF9tZXNzYWdlX2xvZ2xldmVsOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHRoaXNfY3B1OwogCWNoYXIgKnA7CiAKQEAgLTY5OSw3ICs2ODksNyBAQAogCQkgKiBpdCBjYW4gYmUgcHJpbnRlZCBhdCB0aGUgbmV4dCBhcHByb3ByaWF0ZSBtb21lbnQ6CiAJCSAqLwogCQlpZiAoIW9vcHNfaW5fcHJvZ3Jlc3MpIHsKLQkJCXByaW50a19yZWN1cnNpb25fYnVnID0gMTsKKwkJCXJlY3Vyc2lvbl9idWcgPSAxOwogCQkJZ290byBvdXRfcmVzdG9yZV9pcnFzOwogCQl9CiAJCXphcF9sb2NrcygpOwpAQCAtNzA5LDcwICs2OTksNjIgQEAKIAlzcGluX2xvY2soJmxvZ2J1Zl9sb2NrKTsKIAlwcmludGtfY3B1ID0gdGhpc19jcHU7CiAKLQlpZiAocHJpbnRrX3JlY3Vyc2lvbl9idWcpIHsKLQkJcHJpbnRrX3JlY3Vyc2lvbl9idWcgPSAwOwotCQlzdHJjcHkocHJpbnRrX2J1ZiwgcHJpbnRrX3JlY3Vyc2lvbl9idWdfbXNnKTsKLQkJcHJpbnRlZF9sZW4gPSBzaXplb2YocHJpbnRrX3JlY3Vyc2lvbl9idWdfbXNnKTsKKwlpZiAocmVjdXJzaW9uX2J1ZykgeworCQlyZWN1cnNpb25fYnVnID0gMDsKKwkJc3RyY3B5KHByaW50a19idWYsIHJlY3Vyc2lvbl9idWdfbXNnKTsKKwkJcHJpbnRlZF9sZW4gPSBzaXplb2YocmVjdXJzaW9uX2J1Z19tc2cpOwogCX0KIAkvKiBFbWl0IHRoZSBvdXRwdXQgaW50byB0aGUgdGVtcG9yYXJ5IGJ1ZmZlciAqLwogCXByaW50ZWRfbGVuICs9IHZzY25wcmludGYocHJpbnRrX2J1ZiArIHByaW50ZWRfbGVuLAogCQkJCSAgc2l6ZW9mKHByaW50a19idWYpIC0gcHJpbnRlZF9sZW4sIGZtdCwgYXJncyk7CiAKKwogCS8qCiAJICogQ29weSB0aGUgb3V0cHV0IGludG8gbG9nX2J1Zi4gIElmIHRoZSBjYWxsZXIgZGlkbid0IHByb3ZpZGUKIAkgKiBhcHByb3ByaWF0ZSBsb2cgbGV2ZWwgdGFncywgd2UgaW5zZXJ0IHRoZW0gaGVyZQogCSAqLwogCWZvciAocCA9IHByaW50a19idWY7ICpwOyBwKyspIHsKLQkJaWYgKGxvZ19sZXZlbF91bmtub3duKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvKiBsb2dfbGV2ZWxfdW5rbm93biBzaWduYWxzIHRoZSBzdGFydCBvZiBhIG5ldyBsaW5lICovCisJCWlmIChuZXdfdGV4dF9saW5lKSB7CisJCQkvKiBJZiBhIHRva2VuLCBzZXQgY3VycmVudF9sb2dfbGV2ZWwgYW5kIHNraXAgb3ZlciAqLworCQkJaWYgKHBbMF0gPT0gJzwnICYmIHBbMV0gPj0gJzAnICYmIHBbMV0gPD0gJzcnICYmCisJCQkgICAgcFsyXSA9PSAnPicpIHsKKwkJCQljdXJyZW50X2xvZ19sZXZlbCA9IHBbMV0gLSAnMCc7CisJCQkJcCArPSAzOworCQkJCXByaW50ZWRfbGVuIC09IDM7CisJCQl9CisKKwkJCS8qIEFsd2F5cyBvdXRwdXQgdGhlIHRva2VuICovCisJCQllbWl0X2xvZ19jaGFyKCc8Jyk7CisJCQllbWl0X2xvZ19jaGFyKGN1cnJlbnRfbG9nX2xldmVsICsgJzAnKTsKKwkJCWVtaXRfbG9nX2NoYXIoJz4nKTsKKwkJCXByaW50ZWRfbGVuICs9IDM7CisJCQluZXdfdGV4dF9saW5lID0gMDsKKwogCQkJaWYgKHByaW50a190aW1lKSB7Ci0JCQkJaW50IGxvZ2xldl9jaGFyOworCQkJCS8qIEZvbGxvdyB0aGUgdG9rZW4gd2l0aCB0aGUgdGltZSAqLwogCQkJCWNoYXIgdGJ1Zls1MF0sICp0cDsKIAkJCQl1bnNpZ25lZCB0bGVuOwogCQkJCXVuc2lnbmVkIGxvbmcgbG9uZyB0OwogCQkJCXVuc2lnbmVkIGxvbmcgbmFub3NlY19yZW07CiAKLQkJCQkvKgotCQkJCSAqIGZvcmNlIHRoZSBsb2cgbGV2ZWwgdG9rZW4gdG8gYmUKLQkJCQkgKiBiZWZvcmUgdGhlIHRpbWUgb3V0cHV0LgotCQkJCSAqLwotCQkJCWlmIChwWzBdID09ICc8JyAmJiBwWzFdID49JzAnICYmCi0JCQkJICAgcFsxXSA8PSAnNycgJiYgcFsyXSA9PSAnPicpIHsKLQkJCQkJbG9nbGV2X2NoYXIgPSBwWzFdOwotCQkJCQlwICs9IDM7Ci0JCQkJCXByaW50ZWRfbGVuIC09IDM7Ci0JCQkJfSBlbHNlIHsKLQkJCQkJbG9nbGV2X2NoYXIgPSBkZWZhdWx0X21lc3NhZ2VfbG9nbGV2ZWwKLQkJCQkJCSsgJzAnOwotCQkJCX0KIAkJCQl0ID0gY3B1X2Nsb2NrKHByaW50a19jcHUpOwogCQkJCW5hbm9zZWNfcmVtID0gZG9fZGl2KHQsIDEwMDAwMDAwMDApOwotCQkJCXRsZW4gPSBzcHJpbnRmKHRidWYsCi0JCQkJCQkiPCVjPlslNWx1LiUwNmx1XSAiLAotCQkJCQkJbG9nbGV2X2NoYXIsCi0JCQkJCQkodW5zaWduZWQgbG9uZyl0LAotCQkJCQkJbmFub3NlY19yZW0vMTAwMCk7CisJCQkJdGxlbiA9IHNwcmludGYodGJ1ZiwgIlslNWx1LiUwNmx1XSAiLAorCQkJCQkJKHVuc2lnbmVkIGxvbmcpIHQsCisJCQkJCQluYW5vc2VjX3JlbSAvIDEwMDApOwogCiAJCQkJZm9yICh0cCA9IHRidWY7IHRwIDwgdGJ1ZiArIHRsZW47IHRwKyspCiAJCQkJCWVtaXRfbG9nX2NoYXIoKnRwKTsKIAkJCQlwcmludGVkX2xlbiArPSB0bGVuOwotCQkJfSBlbHNlIHsKLQkJCQlpZiAocFswXSAhPSAnPCcgfHwgcFsxXSA8ICcwJyB8fAotCQkJCSAgIHBbMV0gPiAnNycgfHwgcFsyXSAhPSAnPicpIHsKLQkJCQkJZW1pdF9sb2dfY2hhcignPCcpOwotCQkJCQllbWl0X2xvZ19jaGFyKGRlZmF1bHRfbWVzc2FnZV9sb2dsZXZlbAotCQkJCQkJKyAnMCcpOwotCQkJCQllbWl0X2xvZ19jaGFyKCc+Jyk7Ci0JCQkJCXByaW50ZWRfbGVuICs9IDM7Ci0JCQkJfQogCQkJfQotCQkJbG9nX2xldmVsX3Vua25vd24gPSAwOworCiAJCQlpZiAoISpwKQogCQkJCWJyZWFrOwogCQl9CisKIAkJZW1pdF9sb2dfY2hhcigqcCk7CiAJCWlmICgqcCA9PSAnXG4nKQotCQkJbG9nX2xldmVsX3Vua25vd24gPSAxOworCQkJbmV3X3RleHRfbGluZSA9IDE7CiAJfQogCiAJLyoKQEAgLTg5MCw2ICs4NzIsNyBAQAogCSpzID0gMDsKIAogCV9fYWRkX3ByZWZlcnJlZF9jb25zb2xlKGJ1ZiwgaWR4LCBvcHRpb25zLCBicmxfb3B0aW9ucyk7CisJY29uc29sZV9zZXRfb25fY21kbGluZSA9IDE7CiAJcmV0dXJuIDE7CiB9CiBfX3NldHVwKCJjb25zb2xlPSIsIGNvbnNvbGVfc2V0dXApOwpAQCAtMTA0MSw3ICsxMDI0LDkgQEAKIAkJX2xvZ19lbmQgPSBsb2dfZW5kOwogCQljb25fc3RhcnQgPSBsb2dfZW5kOwkJLyogRmx1c2ggKi8KIAkJc3Bpbl91bmxvY2soJmxvZ2J1Zl9sb2NrKTsKKwkJc3RvcF9jcml0aWNhbF90aW1pbmdzKCk7CS8qIGRvbid0IHRyYWNlIHByaW50IGxhdGVuY3kgKi8KIAkJY2FsbF9jb25zb2xlX2RyaXZlcnMoX2Nvbl9zdGFydCwgX2xvZ19lbmQpOworCQlzdGFydF9jcml0aWNhbF90aW1pbmdzKCk7CiAJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIAl9CiAJY29uc29sZV9sb2NrZWQgPSAwOwpAQCAtMTE3Miw4ICsxMTU3LDExIEBACiAJCQljb25zb2xlLT5pbmRleCA9IDA7CiAJCWlmIChjb25zb2xlLT5zZXR1cCA9PSBOVUxMIHx8CiAJCSAgICBjb25zb2xlLT5zZXR1cChjb25zb2xlLCBOVUxMKSA9PSAwKSB7Ci0JCQljb25zb2xlLT5mbGFncyB8PSBDT05fRU5BQkxFRCB8IENPTl9DT05TREVWOwotCQkJcHJlZmVycmVkX2NvbnNvbGUgPSAwOworCQkJY29uc29sZS0+ZmxhZ3MgfD0gQ09OX0VOQUJMRUQ7CisJCQlpZiAoY29uc29sZS0+ZGV2aWNlKSB7CisJCQkJY29uc29sZS0+ZmxhZ3MgfD0gQ09OX0NPTlNERVY7CisJCQkJcHJlZmVycmVkX2NvbnNvbGUgPSAwOworCQkJfQogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9rZXJuZWwvcHJvZmlsZS5jIGIva2VybmVsL3Byb2ZpbGUuYwppbmRleCBhZTdlYWQ4Li41ODkyNjQxIDEwMDY0NAotLS0gYS9rZXJuZWwvcHJvZmlsZS5jCisrKyBiL2tlcm5lbC9wcm9maWxlLmMKQEAgLTI1Miw3ICsyNTIsNyBAQAogCW11dGV4X2xvY2soJnByb2ZpbGVfZmxpcF9tdXRleCk7CiAJaiA9IHBlcl9jcHUoY3B1X3Byb2ZpbGVfZmxpcCwgZ2V0X2NwdSgpKTsKIAlwdXRfY3B1KCk7Ci0Jb25fZWFjaF9jcHUoX19wcm9maWxlX2ZsaXBfYnVmZmVycywgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoX19wcm9maWxlX2ZsaXBfYnVmZmVycywgTlVMTCwgMSk7CiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKIAkJc3RydWN0IHByb2ZpbGVfaGl0ICpoaXRzID0gcGVyX2NwdShjcHVfcHJvZmlsZV9oaXRzLCBjcHUpW2pdOwogCQlmb3IgKGkgPSAwOyBpIDwgTlJfUFJPRklMRV9ISVQ7ICsraSkgewpAQCAtMjc1LDcgKzI3NSw3IEBACiAJbXV0ZXhfbG9jaygmcHJvZmlsZV9mbGlwX211dGV4KTsKIAlpID0gcGVyX2NwdShjcHVfcHJvZmlsZV9mbGlwLCBnZXRfY3B1KCkpOwogCXB1dF9jcHUoKTsKLQlvbl9lYWNoX2NwdShfX3Byb2ZpbGVfZmxpcF9idWZmZXJzLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShfX3Byb2ZpbGVfZmxpcF9idWZmZXJzLCBOVUxMLCAxKTsKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgewogCQlzdHJ1Y3QgcHJvZmlsZV9oaXQgKmhpdHMgPSBwZXJfY3B1KGNwdV9wcm9maWxlX2hpdHMsIGNwdSlbaV07CiAJCW1lbXNldChoaXRzLCAwLCBOUl9QUk9GSUxFX0hJVCpzaXplb2Yoc3RydWN0IHByb2ZpbGVfaGl0KSk7CkBAIC01NTgsNyArNTU4LDcgQEAKIG91dF9jbGVhbnVwOgogCXByb2Zfb24gPSAwOwogCXNtcF9tYigpOwotCW9uX2VhY2hfY3B1KHByb2ZpbGVfbm9wLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShwcm9maWxlX25vcCwgTlVMTCwgMSk7CiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKIAkJc3RydWN0IHBhZ2UgKnBhZ2U7CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9wdHJhY2UuYyBiL2tlcm5lbC9wdHJhY2UuYwppbmRleCA2YzE5ZTk0Li5lMzM3MzkwIDEwMDY0NAotLS0gYS9rZXJuZWwvcHRyYWNlLmMKKysrIGIva2VybmVsL3B0cmFjZS5jCkBAIC0xMjEsNyArMTIxLDcgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgX19wdHJhY2VfbWF5X2F0dGFjaChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCitpbnQgX19wdHJhY2VfbWF5X2FjY2VzcyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHVuc2lnbmVkIGludCBtb2RlKQogewogCS8qIE1heSB3ZSBpbnNwZWN0IHRoZSBnaXZlbiB0YXNrPwogCSAqIFRoaXMgY2hlY2sgaXMgdXNlZCBib3RoIGZvciBhdHRhY2hpbmcgd2l0aCBwdHJhY2UKQEAgLTE0OCwxNiArMTQ4LDE2IEBACiAJaWYgKCFkdW1wYWJsZSAmJiAhY2FwYWJsZShDQVBfU1lTX1BUUkFDRSkpCiAJCXJldHVybiAtRVBFUk07CiAKLQlyZXR1cm4gc2VjdXJpdHlfcHRyYWNlKGN1cnJlbnQsIHRhc2spOworCXJldHVybiBzZWN1cml0eV9wdHJhY2UoY3VycmVudCwgdGFzaywgbW9kZSk7CiB9CiAKLWludCBwdHJhY2VfbWF5X2F0dGFjaChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCitib29sIHB0cmFjZV9tYXlfYWNjZXNzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAJaW50IGVycjsKIAl0YXNrX2xvY2sodGFzayk7Ci0JZXJyID0gX19wdHJhY2VfbWF5X2F0dGFjaCh0YXNrKTsKKwllcnIgPSBfX3B0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIG1vZGUpOwogCXRhc2tfdW5sb2NrKHRhc2spOwotCXJldHVybiAhZXJyOworCXJldHVybiAoIWVyciA/IHRydWUgOiBmYWxzZSk7CiB9CiAKIGludCBwdHJhY2VfYXR0YWNoKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKQEAgLTE5NSw3ICsxOTUsNyBAQAogCS8qIHRoZSBzYW1lIHByb2Nlc3MgY2Fubm90IGJlIGF0dGFjaGVkIG1hbnkgdGltZXMgKi8KIAlpZiAodGFzay0+cHRyYWNlICYgUFRfUFRSQUNFRCkKIAkJZ290byBiYWQ7Ci0JcmV0dmFsID0gX19wdHJhY2VfbWF5X2F0dGFjaCh0YXNrKTsKKwlyZXR2YWwgPSBfX3B0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX0FUVEFDSCk7CiAJaWYgKHJldHZhbCkKIAkJZ290byBiYWQ7CiAKQEAgLTQ5NCw3ICs0OTQsOCBAQAogCSAqLwogCXRhc2tfbG9jayhjdXJyZW50KTsKIAlpZiAoIShjdXJyZW50LT5wdHJhY2UgJiBQVF9QVFJBQ0VEKSkgewotCQlyZXQgPSBzZWN1cml0eV9wdHJhY2UoY3VycmVudC0+cGFyZW50LCBjdXJyZW50KTsKKwkJcmV0ID0gc2VjdXJpdHlfcHRyYWNlKGN1cnJlbnQtPnBhcmVudCwgY3VycmVudCwKKwkJCQkgICAgICBQVFJBQ0VfTU9ERV9BVFRBQ0gpOwogCQkvKgogCQkgKiBTZXQgdGhlIHB0cmFjZSBiaXQgaW4gdGhlIHByb2Nlc3MgcHRyYWNlIGZsYWdzLgogCQkgKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC9yY3VjbGFzc2ljLmMgYi9rZXJuZWwvcmN1Y2xhc3NpYy5jCmluZGV4IGEzODg5NWEuLjE2ZWVlYWEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9yY3VjbGFzc2ljLmMKKysrIGIva2VybmVsL3JjdWNsYXNzaWMuYwpAQCAtMzg3LDYgKzM4NywxMCBAQAogCXJjdV9tb3ZlX2JhdGNoKHRoaXNfcmRwLCByZHAtPmRvbmVsaXN0LCByZHAtPmRvbmV0YWlsKTsKIAlyY3VfbW92ZV9iYXRjaCh0aGlzX3JkcCwgcmRwLT5jdXJsaXN0LCByZHAtPmN1cnRhaWwpOwogCXJjdV9tb3ZlX2JhdGNoKHRoaXNfcmRwLCByZHAtPm54dGxpc3QsIHJkcC0+bnh0dGFpbCk7CisKKwlsb2NhbF9pcnFfZGlzYWJsZSgpOworCXRoaXNfcmRwLT5xbGVuICs9IHJkcC0+cWxlbjsKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CiB9CiAKIHN0YXRpYyB2b2lkIHJjdV9vZmZsaW5lX2NwdShpbnQgY3B1KQpAQCAtNTE2LDEwICs1MjAsMzggQEAKIAlpZiAodXNlciB8fAogCSAgICAoaWRsZV9jcHUoY3B1KSAmJiAhaW5fc29mdGlycSgpICYmCiAJCQkJaGFyZGlycV9jb3VudCgpIDw9ICgxIDw8IEhBUkRJUlFfU0hJRlQpKSkgeworCisJCS8qCisJCSAqIEdldCBoZXJlIGlmIHRoaXMgQ1BVIHRvb2sgaXRzIGludGVycnVwdCBmcm9tIHVzZXIKKwkJICogbW9kZSBvciBmcm9tIHRoZSBpZGxlIGxvb3AsIGFuZCBpZiB0aGlzIGlzIG5vdCBhCisJCSAqIG5lc3RlZCBpbnRlcnJ1cHQuICBJbiB0aGlzIGNhc2UsIHRoZSBDUFUgaXMgaW4KKwkJICogYSBxdWllc2NlbnQgc3RhdGUsIHNvIGNvdW50IGl0LgorCQkgKgorCQkgKiBBbHNvIGRvIGEgbWVtb3J5IGJhcnJpZXIuICBUaGlzIGlzIG5lZWRlZCB0byBoYW5kbGUKKwkJICogdGhlIGNhc2Ugd2hlcmUgd3JpdGVzIGZyb20gYSBwcmVlbXB0LWRpc2FibGUgc2VjdGlvbgorCQkgKiBvZiBjb2RlIGdldCByZW9yZGVyZWQgaW50byBzY2hlZHVsZSgpIGJ5IHRoaXMgQ1BVJ3MKKwkJICogd3JpdGUgYnVmZmVyLiAgVGhlIG1lbW9yeSBiYXJyaWVyIG1ha2VzIHN1cmUgdGhhdAorCQkgKiB0aGUgcmN1X3FzY3RyX2luYygpIGFuZCByY3VfYmhfcXNjdHJfaW5jKCkgYXJlIHNlZQorCQkgKiBieSBvdGhlciBDUFVzIHRvIGhhcHBlbiBhZnRlciBhbnkgc3VjaCB3cml0ZS4KKwkJICovCisKKwkJc21wX21iKCk7ICAvKiBTZWUgYWJvdmUgYmxvY2sgY29tbWVudC4gKi8KIAkJcmN1X3FzY3RyX2luYyhjcHUpOwogCQlyY3VfYmhfcXNjdHJfaW5jKGNwdSk7Ci0JfSBlbHNlIGlmICghaW5fc29mdGlycSgpKQorCisJfSBlbHNlIGlmICghaW5fc29mdGlycSgpKSB7CisKKwkJLyoKKwkJICogR2V0IGhlcmUgaWYgdGhpcyBDUFUgZGlkIG5vdCB0YWtlIGl0cyBpbnRlcnJ1cHQgZnJvbQorCQkgKiBzb2Z0aXJxLCBpbiBvdGhlciB3b3JkcywgaWYgaXQgaXMgbm90IGludGVycnVwdGluZworCQkgKiBhIHJjdV9iaCByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbi4gIFRoaXMgaXMgYW4gX2JoCisJCSAqIGNyaXRpY2FsIHNlY3Rpb24sIHNvIGNvdW50IGl0LiAgVGhlIG1lbW9yeSBiYXJyaWVyCisJCSAqIGlzIG5lZWRlZCBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIGlzIHRoZSBhYm92ZSBvbmUuCisJCSAqLworCisJCXNtcF9tYigpOyAgLyogU2VlIGFib3ZlIGJsb2NrIGNvbW1lbnQuICovCiAJCXJjdV9iaF9xc2N0cl9pbmMoY3B1KTsKKwl9CiAJcmFpc2VfcmN1X3NvZnRpcnEoKTsKIH0KIApAQCAtNTQzLDcgKzU3NSw3IEBACiAKIAlyY3VfaW5pdF9wZXJjcHVfZGF0YShjcHUsICZyY3VfY3RybGJsaywgcmRwKTsKIAlyY3VfaW5pdF9wZXJjcHVfZGF0YShjcHUsICZyY3VfYmhfY3RybGJsaywgYmhfcmRwKTsKLQlvcGVuX3NvZnRpcnEoUkNVX1NPRlRJUlEsIHJjdV9wcm9jZXNzX2NhbGxiYWNrcywgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKFJDVV9TT0ZUSVJRLCByY3VfcHJvY2Vzc19jYWxsYmFja3MpOwogfQogCiBzdGF0aWMgaW50IF9fY3B1aW5pdCByY3VfY3B1X25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnNlbGYsCmRpZmYgLS1naXQgYS9rZXJuZWwvcmN1cGRhdGUuYyBiL2tlcm5lbC9yY3VwZGF0ZS5jCmluZGV4IGMwOTYwNWYuLmYxNGYzNzIgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9yY3VwZGF0ZS5jCisrKyBiL2tlcm5lbC9yY3VwZGF0ZS5jCkBAIC0zOSwxNiArMzksMTYgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KLSNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCi1zdHJ1Y3QgcmN1X3N5bmNocm9uaXplIHsKLQlzdHJ1Y3QgcmN1X2hlYWQgaGVhZDsKLQlzdHJ1Y3QgY29tcGxldGlvbiBjb21wbGV0aW9uOworZW51bSByY3VfYmFycmllciB7CisJUkNVX0JBUlJJRVJfU1RELAorCVJDVV9CQVJSSUVSX0JILAorCVJDVV9CQVJSSUVSX1NDSEVELAogfTsKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCByY3VfaGVhZCwgcmN1X2JhcnJpZXJfaGVhZCkgPSB7TlVMTH07CkBAIC02MCw3ICs2MCw3IEBACiAgKiBBd2FrZW4gdGhlIGNvcnJlc3BvbmRpbmcgc3luY2hyb25pemVfcmN1KCkgaW5zdGFuY2Ugbm93IHRoYXQgYQogICogZ3JhY2UgcGVyaW9kIGhhcyBlbGFwc2VkLgogICovCi1zdGF0aWMgdm9pZCB3YWtlbWVfYWZ0ZXJfcmN1KHN0cnVjdCByY3VfaGVhZCAgKmhlYWQpCit2b2lkIHdha2VtZV9hZnRlcl9yY3Uoc3RydWN0IHJjdV9oZWFkICAqaGVhZCkKIHsKIAlzdHJ1Y3QgcmN1X3N5bmNocm9uaXplICpyY3U7CiAKQEAgLTc3LDE3ICs3Nyw3IEBACiAgKiBzZWN0aW9ucyBhcmUgZGVsaW1pdGVkIGJ5IHJjdV9yZWFkX2xvY2soKSBhbmQgcmN1X3JlYWRfdW5sb2NrKCksCiAgKiBhbmQgbWF5IGJlIG5lc3RlZC4KICAqLwotdm9pZCBzeW5jaHJvbml6ZV9yY3Uodm9pZCkKLXsKLQlzdHJ1Y3QgcmN1X3N5bmNocm9uaXplIHJjdTsKLQotCWluaXRfY29tcGxldGlvbigmcmN1LmNvbXBsZXRpb24pOwotCS8qIFdpbGwgd2FrZSBtZSBhZnRlciBSQ1UgZmluaXNoZWQgKi8KLQljYWxsX3JjdSgmcmN1LmhlYWQsIHdha2VtZV9hZnRlcl9yY3UpOwotCi0JLyogV2FpdCBmb3IgaXQgKi8KLQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZyY3UuY29tcGxldGlvbik7Ci19CitzeW5jaHJvbml6ZV9yY3VfeHh4KHN5bmNocm9uaXplX3JjdSwgY2FsbF9yY3UpCiBFWFBPUlRfU1lNQk9MX0dQTChzeW5jaHJvbml6ZV9yY3UpOwogCiBzdGF0aWMgdm9pZCByY3VfYmFycmllcl9jYWxsYmFjayhzdHJ1Y3QgcmN1X2hlYWQgKm5vdHVzZWQpCkBAIC05OSwxOSArODksMzAgQEAKIC8qCiAgKiBDYWxsZWQgd2l0aCBwcmVlbXB0aW9uIGRpc2FibGVkLCBhbmQgZnJvbSBjcm9zcy1jcHUgSVJRIGNvbnRleHQuCiAgKi8KLXN0YXRpYyB2b2lkIHJjdV9iYXJyaWVyX2Z1bmModm9pZCAqbm90dXNlZCkKK3N0YXRpYyB2b2lkIHJjdV9iYXJyaWVyX2Z1bmModm9pZCAqdHlwZSkKIHsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCXN0cnVjdCByY3VfaGVhZCAqaGVhZCA9ICZwZXJfY3B1KHJjdV9iYXJyaWVyX2hlYWQsIGNwdSk7CiAKIAlhdG9taWNfaW5jKCZyY3VfYmFycmllcl9jcHVfY291bnQpOwotCWNhbGxfcmN1KGhlYWQsIHJjdV9iYXJyaWVyX2NhbGxiYWNrKTsKKwlzd2l0Y2ggKChlbnVtIHJjdV9iYXJyaWVyKXR5cGUpIHsKKwljYXNlIFJDVV9CQVJSSUVSX1NURDoKKwkJY2FsbF9yY3UoaGVhZCwgcmN1X2JhcnJpZXJfY2FsbGJhY2spOworCQlicmVhazsKKwljYXNlIFJDVV9CQVJSSUVSX0JIOgorCQljYWxsX3JjdV9iaChoZWFkLCByY3VfYmFycmllcl9jYWxsYmFjayk7CisJCWJyZWFrOworCWNhc2UgUkNVX0JBUlJJRVJfU0NIRUQ6CisJCWNhbGxfcmN1X3NjaGVkKGhlYWQsIHJjdV9iYXJyaWVyX2NhbGxiYWNrKTsKKwkJYnJlYWs7CisJfQogfQogCi0vKioKLSAqIHJjdV9iYXJyaWVyIC0gV2FpdCB1bnRpbCBhbGwgdGhlIGluLWZsaWdodCBSQ1VzIGFyZSBjb21wbGV0ZS4KKy8qCisgKiBPcmNoZXN0cmF0ZSB0aGUgc3BlY2lmaWVkIHR5cGUgb2YgUkNVIGJhcnJpZXIsIHdhaXRpbmcgZm9yIGFsbAorICogUkNVIGNhbGxiYWNrcyBvZiB0aGUgc3BlY2lmaWVkIHR5cGUgdG8gY29tcGxldGUuCiAgKi8KLXZvaWQgcmN1X2JhcnJpZXIodm9pZCkKK3N0YXRpYyB2b2lkIF9yY3VfYmFycmllcihlbnVtIHJjdV9iYXJyaWVyIHR5cGUpCiB7CiAJQlVHX09OKGluX2ludGVycnVwdCgpKTsKIAkvKiBUYWtlIGNwdWNvbnRyb2wgbXV0ZXggdG8gcHJvdGVjdCBhZ2FpbnN0IENQVSBob3RwbHVnICovCkBAIC0xMjcsMTMgKzEyOCwzOSBAQAogCSAqIHVudGlsIGFsbCB0aGUgY2FsbGJhY2tzIGFyZSBxdWV1ZWQuCiAJICovCiAJcmN1X3JlYWRfbG9jaygpOwotCW9uX2VhY2hfY3B1KHJjdV9iYXJyaWVyX2Z1bmMsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KHJjdV9iYXJyaWVyX2Z1bmMsICh2b2lkICopdHlwZSwgMSk7CiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAJd2FpdF9mb3JfY29tcGxldGlvbigmcmN1X2JhcnJpZXJfY29tcGxldGlvbik7CiAJbXV0ZXhfdW5sb2NrKCZyY3VfYmFycmllcl9tdXRleCk7CiB9CisKKy8qKgorICogcmN1X2JhcnJpZXIgLSBXYWl0IHVudGlsIGFsbCBpbi1mbGlnaHQgY2FsbF9yY3UoKSBjYWxsYmFja3MgY29tcGxldGUuCisgKi8KK3ZvaWQgcmN1X2JhcnJpZXIodm9pZCkKK3sKKwlfcmN1X2JhcnJpZXIoUkNVX0JBUlJJRVJfU1REKTsKK30KIEVYUE9SVF9TWU1CT0xfR1BMKHJjdV9iYXJyaWVyKTsKIAorLyoqCisgKiByY3VfYmFycmllcl9iaCAtIFdhaXQgdW50aWwgYWxsIGluLWZsaWdodCBjYWxsX3JjdV9iaCgpIGNhbGxiYWNrcyBjb21wbGV0ZS4KKyAqLwordm9pZCByY3VfYmFycmllcl9iaCh2b2lkKQoreworCV9yY3VfYmFycmllcihSQ1VfQkFSUklFUl9CSCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChyY3VfYmFycmllcl9iaCk7CisKKy8qKgorICogcmN1X2JhcnJpZXJfc2NoZWQgLSBXYWl0IGZvciBpbi1mbGlnaHQgY2FsbF9yY3Vfc2NoZWQoKSBjYWxsYmFja3MuCisgKi8KK3ZvaWQgcmN1X2JhcnJpZXJfc2NoZWQodm9pZCkKK3sKKwlfcmN1X2JhcnJpZXIoUkNVX0JBUlJJRVJfU0NIRUQpOworfQorRVhQT1JUX1NZTUJPTF9HUEwocmN1X2JhcnJpZXJfc2NoZWQpOworCiB2b2lkIF9faW5pdCByY3VfaW5pdCh2b2lkKQogewogCV9fcmN1X2luaXQoKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9yY3VwcmVlbXB0LmMgYi9rZXJuZWwvcmN1cHJlZW1wdC5jCmluZGV4IDVlMDJiNzcuLjZmNjJiNzcgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9yY3VwcmVlbXB0LmMKKysrIGIva2VybmVsL3JjdXByZWVtcHQuYwpAQCAtNDYsMTEgKzQ2LDExIEBACiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgotI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvcmFuZG9tLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTgyLDE0ICs4MiwxOCBAQAogCXNwaW5sb2NrX3QJbG9jazsJCS8qIFByb3RlY3QgcmN1X2RhdGEgZmllbGRzLiAqLwogCWxvbmcJCWNvbXBsZXRlZDsJLyogTnVtYmVyIG9mIGxhc3QgY29tcGxldGVkIGJhdGNoLiAqLwogCWludAkJd2FpdGxpc3Rjb3VudDsKLQlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgcmN1X3Rhc2tsZXQ7CiAJc3RydWN0IHJjdV9oZWFkICpuZXh0bGlzdDsKIAlzdHJ1Y3QgcmN1X2hlYWQgKipuZXh0dGFpbDsKIAlzdHJ1Y3QgcmN1X2hlYWQgKndhaXRsaXN0W0dQX1NUQUdFU107CiAJc3RydWN0IHJjdV9oZWFkICoqd2FpdHRhaWxbR1BfU1RBR0VTXTsKLQlzdHJ1Y3QgcmN1X2hlYWQgKmRvbmVsaXN0OworCXN0cnVjdCByY3VfaGVhZCAqZG9uZWxpc3Q7CS8qIGZyb20gd2FpdGxpc3QgJiB3YWl0c2NoZWRsaXN0ICovCiAJc3RydWN0IHJjdV9oZWFkICoqZG9uZXRhaWw7CiAJbG9uZyByY3VfZmxpcGN0clsyXTsKKwlzdHJ1Y3QgcmN1X2hlYWQgKm5leHRzY2hlZGxpc3Q7CisJc3RydWN0IHJjdV9oZWFkICoqbmV4dHNjaGVkdGFpbDsKKwlzdHJ1Y3QgcmN1X2hlYWQgKndhaXRzY2hlZGxpc3Q7CisJc3RydWN0IHJjdV9oZWFkICoqd2FpdHNjaGVkdGFpbDsKKwlpbnQgcmN1X3NjaGVkX3NsZWVwaW5nOwogI2lmZGVmIENPTkZJR19SQ1VfVFJBQ0UKIAlzdHJ1Y3QgcmN1cHJlZW1wdF90cmFjZSB0cmFjZTsKICNlbmRpZiAvKiAjaWZkZWYgQ09ORklHX1JDVV9UUkFDRSAqLwpAQCAtMTMxLDExICsxMzUsMjQgQEAKIAlyY3VfdHJ5X2ZsaXBfd2FpdG1iX3N0YXRlLAogfTsKIAorLyoKKyAqIFN0YXRlcyBmb3IgcmN1X2N0cmxibGsucmN1X3NjaGVkX3NsZWVwLgorICovCisKK2VudW0gcmN1X3NjaGVkX3NsZWVwX3N0YXRlcyB7CisJcmN1X3NjaGVkX25vdF9zbGVlcGluZywJLyogTm90IHNsZWVwaW5nLCBjYWxsYmFja3MgbmVlZCBHUC4gICovCisJcmN1X3NjaGVkX3NsZWVwX3ByZXAsCS8qIFRoaW5raW5nIG9mIHNsZWVwaW5nLCByZWNoZWNraW5nLiAqLworCXJjdV9zY2hlZF9zbGVlcGluZywJLyogU2xlZXBpbmcsIGF3YWtlbiBpZiBHUCBuZWVkZWQuICovCit9OworCiBzdHJ1Y3QgcmN1X2N0cmxibGsgewogCXNwaW5sb2NrX3QJZmxpcGxvY2s7CS8qIFByb3RlY3Qgc3RhdGUtbWFjaGluZSB0cmFuc2l0aW9ucy4gKi8KIAlsb25nCQljb21wbGV0ZWQ7CS8qIE51bWJlciBvZiBsYXN0IGNvbXBsZXRlZCBiYXRjaC4gKi8KIAllbnVtIHJjdV90cnlfZmxpcF9zdGF0ZXMgcmN1X3RyeV9mbGlwX3N0YXRlOyAvKiBUaGUgY3VycmVudCBzdGF0ZSBvZgogCQkJCQkJCXRoZSByY3Ugc3RhdGUgbWFjaGluZSAqLworCXNwaW5sb2NrX3QJc2NoZWRsb2NrOwkvKiBQcm90ZWN0IHJjdV9zY2hlZCBzbGVlcCBzdGF0ZS4gKi8KKwllbnVtIHJjdV9zY2hlZF9zbGVlcF9zdGF0ZXMgc2NoZWRfc2xlZXA7IC8qIHJjdV9zY2hlZCBzdGF0ZS4gKi8KKwl3YWl0X3F1ZXVlX2hlYWRfdCBzY2hlZF93cTsJLyogUGxhY2UgZm9yIHJjdV9zY2hlZCB0byBzbGVlcC4gKi8KIH07CiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgcmN1X2RhdGEsIHJjdV9kYXRhKTsKQEAgLTE0Myw4ICsxNjAsMTIgQEAKIAkuZmxpcGxvY2sgPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChyY3VfY3RybGJsay5mbGlwbG9jayksCiAJLmNvbXBsZXRlZCA9IDAsCiAJLnJjdV90cnlfZmxpcF9zdGF0ZSA9IHJjdV90cnlfZmxpcF9pZGxlX3N0YXRlLAorCS5zY2hlZGxvY2sgPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChyY3VfY3RybGJsay5zY2hlZGxvY2spLAorCS5zY2hlZF9zbGVlcCA9IHJjdV9zY2hlZF9ub3Rfc2xlZXBpbmcsCisJLnNjaGVkX3dxID0gX19XQUlUX1FVRVVFX0hFQURfSU5JVElBTElaRVIocmN1X2N0cmxibGsuc2NoZWRfd3EpLAogfTsKIAorc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqcmN1X3NjaGVkX2dyYWNlX3BlcmlvZF90YXNrOwogCiAjaWZkZWYgQ09ORklHX1JDVV9UUkFDRQogc3RhdGljIGNoYXIgKnJjdV90cnlfZmxpcF9zdGF0ZV9uYW1lc1tdID0KQEAgLTIwNyw2ICsyMjgsOCBAQAogICovCiAjZGVmaW5lIFJDVV9UUkFDRV9SRFAoZiwgcmRwKSBSQ1VfVFJBQ0UoZiwgJigocmRwKS0+dHJhY2UpKTsKIAorI2RlZmluZSBSQ1VfU0NIRURfQkFUQ0hfVElNRSAoSFogLyA1MCkKKwogLyoKICAqIFJldHVybiB0aGUgbnVtYmVyIG9mIFJDVSBiYXRjaGVzIHByb2Nlc3NlZCB0aHVzIGZhci4gIFVzZWZ1bAogICogZm9yIGRlYnVnIGFuZCBzdGF0aXN0aWNzLgpAQCAtNDExLDMyICs0MzQsMzQgQEAKIAl9CiB9CiAKLSNpZmRlZiBDT05GSUdfTk9fSFoKK0RFRklORV9QRVJfQ1BVX1NIQVJFRF9BTElHTkVEKHN0cnVjdCByY3VfZHludGlja19zY2hlZCwgcmN1X2R5bnRpY2tfc2NoZWQpID0geworCS5keW50aWNrcyA9IDEsCit9OwogCi1ERUZJTkVfUEVSX0NQVShsb25nLCBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyKSA9IDE7Ci1zdGF0aWMgREVGSU5FX1BFUl9DUFUobG9uZywgcmN1X2R5bnRpY2tfc25hcHNob3QpOworI2lmZGVmIENPTkZJR19OT19IWgogc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgcmN1X3VwZGF0ZV9mbGFnKTsKIAogLyoqCiAgKiByY3VfaXJxX2VudGVyIC0gQ2FsbGVkIGZyb20gSGFyZCBpcnEgaGFuZGxlcnMgYW5kIE5NSS9TTUkuCiAgKgogICogSWYgdGhlIENQVSB3YXMgaWRsZSB3aXRoIGR5bmFtaWMgdGlja3MgYWN0aXZlLCB0aGlzIHVwZGF0ZXMgdGhlCi0gKiBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyIHRvIGxldCB0aGUgUkNVIGhhbmRsaW5nIGtub3cgdGhhdCB0aGUKKyAqIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzIHRvIGxldCB0aGUgUkNVIGhhbmRsaW5nIGtub3cgdGhhdCB0aGUKICAqIENQVSBpcyBhY3RpdmUuCiAgKi8KIHZvaWQgcmN1X2lycV9lbnRlcih2b2lkKQogewogCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOwogCiAJaWYgKHBlcl9jcHUocmN1X3VwZGF0ZV9mbGFnLCBjcHUpKQogCQlwZXJfY3B1KHJjdV91cGRhdGVfZmxhZywgY3B1KSsrOwogCiAJLyoKIAkgKiBPbmx5IHVwZGF0ZSBpZiB3ZSBhcmUgY29taW5nIGZyb20gYSBzdG9wcGVkIHRpY2tzIG1vZGUKLQkgKiAoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciBpcyBldmVuKS4KKwkgKiAocmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3MgaXMgZXZlbikuCiAJICovCiAJaWYgKCFpbl9pbnRlcnJ1cHQoKSAmJgotCSAgICAocGVyX2NwdShkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLCBjcHUpICYgMHgxKSA9PSAwKSB7CisJICAgIChyZHNzcC0+ZHludGlja3MgJiAweDEpID09IDApIHsKIAkJLyoKIAkJICogVGhlIGZvbGxvd2luZyBtaWdodCBzZWVtIGxpa2Ugd2UgY291bGQgaGF2ZSBhIHJhY2UKIAkJICogd2l0aCBOTUkvU01Jcy4gQnV0IHRoaXMgcmVhbGx5IGlzbid0IGEgcHJvYmxlbS4KQEAgLTQ1OSwxMiArNDg0LDEyIEBACiAJCSAqIFJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMgb24gdGhpcyBDUFUgd291bGQKIAkJICogaGF2ZSBhbHJlYWR5IGNvbXBsZXRlZC4KIAkJICovCi0JCXBlcl9jcHUoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciwgY3B1KSsrOworCQlyZHNzcC0+ZHludGlja3MrKzsKIAkJLyoKIAkJICogVGhlIGZvbGxvd2luZyBtZW1vcnkgYmFycmllciBlbnN1cmVzIHRoYXQgYW55CiAJCSAqIHJjdV9yZWFkX2xvY2soKSBwcmltaXRpdmVzIGluIHRoZSBpcnEgaGFuZGxlcgogCQkgKiBhcmUgc2VlbiBieSBvdGhlciBDUFVzIHRvIGZvbGxvdyB0aGUgYWJvdmUKLQkJICogaW5jcmVtZW50IHRvIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIuIFRoaXMgaXMKKwkJICogaW5jcmVtZW50IHRvIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzLiBUaGlzIGlzCiAJCSAqIHJlcXVpcmVkIGluIG9yZGVyIGZvciBvdGhlciBDUFVzIHRvIGNvcnJlY3RseQogCQkgKiBkZXRlcm1pbmUgd2hlbiBpdCBpcyBzYWZlIHRvIGFkdmFuY2UgdGhlIFJDVQogCQkgKiBncmFjZS1wZXJpb2Qgc3RhdGUgbWFjaGluZS4KQEAgLTQ3Miw3ICs0OTcsNyBAQAogCQlzbXBfbWIoKTsgLyogc2VlIGFib3ZlIGJsb2NrIGNvbW1lbnQuICovCiAJCS8qCiAJCSAqIFNpbmNlIHdlIGNhbid0IGRldGVybWluZSB0aGUgZHluYW1pYyB0aWNrIG1vZGUgZnJvbQotCQkgKiB0aGUgZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciBhZnRlciB0aGlzIHJvdXRpbmUsCisJCSAqIHRoZSByY3VfZHludGlja19zY2hlZC5keW50aWNrcyBhZnRlciB0aGlzIHJvdXRpbmUsCiAJCSAqIHdlIHVzZSBhIHNlY29uZCBmbGFnIHRvIGFja25vd2xlZGdlIHRoYXQgd2UgY2FtZQogCQkgKiBmcm9tIGFuIGlkbGUgc3RhdGUgd2l0aCB0aWNrcyBzdG9wcGVkLgogCQkgKi8KQEAgLTQ4MCw3ICs1MDUsNyBAQAogCQkvKgogCQkgKiBJZiB3ZSB0YWtlIGFuIE5NSS9TTUkgbm93LCB0aGV5IHdpbGwgYWxzbyBpbmNyZW1lbnQKIAkJICogdGhlIHJjdV91cGRhdGVfZmxhZywgYW5kIHdpbGwgbm90IHVwZGF0ZSB0aGUKLQkJICogZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciBvbiBleGl0LiBUaGF0IGlzIGZvcgorCQkgKiByY3VfZHludGlja19zY2hlZC5keW50aWNrcyBvbiBleGl0LiBUaGF0IGlzIGZvcgogCQkgKiB0aGlzIElSUSB0byBkby4KIAkJICovCiAJfQpAQCAtNDkwLDEyICs1MTUsMTMgQEAKICAqIHJjdV9pcnFfZXhpdCAtIENhbGxlZCBmcm9tIGV4aXRpbmcgSGFyZCBpcnEgY29udGV4dC4KICAqCiAgKiBJZiB0aGUgQ1BVIHdhcyBpZGxlIHdpdGggZHluYW1pYyB0aWNrcyBhY3RpdmUsIHVwZGF0ZSB0aGUKLSAqIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIgdG8gcHV0IGxldCB0aGUgUkNVIGhhbmRsaW5nIGJlCisgKiByY3VfZHludGlja19zY2hlZC5keW50aWNrcyB0byBwdXQgbGV0IHRoZSBSQ1UgaGFuZGxpbmcgYmUKICAqIGF3YXJlIHRoYXQgdGhlIENQVSBpcyBnb2luZyBiYWNrIHRvIGlkbGUgd2l0aCBubyB0aWNrcy4KICAqLwogdm9pZCByY3VfaXJxX2V4aXQodm9pZCkKIHsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKIAogCS8qCiAJICogcmN1X3VwZGF0ZV9mbGFnIGlzIHNldCBpZiB3ZSBpbnRlcnJ1cHRlZCB0aGUgQ1BVCkBAIC01MDMsNyArNTI5LDcgQEAKIAkgKiBPbmNlIHRoaXMgb2NjdXJzLCB3ZSBrZWVwIHRyYWNrIG9mIGludGVycnVwdCBuZXN0aW5nCiAJICogYmVjYXVzZSBhIE5NSS9TTUkgY291bGQgYWxzbyBjb21lIGluLCBhbmQgd2Ugc3RpbGwKIAkgKiBvbmx5IHdhbnQgdGhlIElSUSB0aGF0IHN0YXJ0ZWQgdGhlIGluY3JlbWVudCBvZiB0aGUKLQkgKiBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyIHRvIGJlIHRoZSBvbmUgdGhhdCBtb2RpZmllcworCSAqIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzIHRvIGJlIHRoZSBvbmUgdGhhdCBtb2RpZmllcwogCSAqIGl0IG9uIGV4aXQuCiAJICovCiAJaWYgKHBlcl9jcHUocmN1X3VwZGF0ZV9mbGFnLCBjcHUpKSB7CkBAIC01MTUsMjggKzU0MSwyOSBAQAogCiAJCS8qCiAJCSAqIElmIGFuIE5NSS9TTUkgaGFwcGVucyBub3cgd2UgYXJlIHN0aWxsCi0JCSAqIHByb3RlY3RlZCBieSB0aGUgZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciBiZWluZyBvZGQuCisJCSAqIHByb3RlY3RlZCBieSB0aGUgcmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3MgYmVpbmcgb2RkLgogCQkgKi8KIAogCQkvKgogCQkgKiBUaGUgZm9sbG93aW5nIG1lbW9yeSBiYXJyaWVyIGVuc3VyZXMgdGhhdCBhbnkKIAkJICogcmN1X3JlYWRfdW5sb2NrKCkgcHJpbWl0aXZlcyBpbiB0aGUgaXJxIGhhbmRsZXIKIAkJICogYXJlIHNlZW4gYnkgb3RoZXIgQ1BVcyB0byBwcmVjZWVkIHRoZSBmb2xsb3dpbmcKLQkJICogaW5jcmVtZW50IHRvIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIuIFRoaXMKKwkJICogaW5jcmVtZW50IHRvIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzLiBUaGlzCiAJCSAqIGlzIHJlcXVpcmVkIGluIG9yZGVyIGZvciBvdGhlciBDUFVzIHRvIGRldGVybWluZQogCQkgKiB3aGVuIGl0IGlzIHNhZmUgdG8gYWR2YW5jZSB0aGUgUkNVIGdyYWNlLXBlcmlvZAogCQkgKiBzdGF0ZSBtYWNoaW5lLgogCQkgKi8KIAkJc21wX21iKCk7IC8qIHNlZSBhYm92ZSBibG9jayBjb21tZW50LiAqLwotCQlwZXJfY3B1KGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIsIGNwdSkrKzsKLQkJV0FSTl9PTihwZXJfY3B1KGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIsIGNwdSkgJiAweDEpOworCQlyZHNzcC0+ZHludGlja3MrKzsKKwkJV0FSTl9PTihyZHNzcC0+ZHludGlja3MgJiAweDEpOwogCX0KIH0KIAogc3RhdGljIHZvaWQgZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXIoaW50IGNwdSkKIHsKLQlwZXJfY3B1KHJjdV9keW50aWNrX3NuYXBzaG90LCBjcHUpID0KLQkJcGVyX2NwdShkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLCBjcHUpOworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKKworCXJkc3NwLT5keW50aWNrc19zbmFwID0gcmRzc3AtPmR5bnRpY2tzOwogfQogCiBzdGF0aWMgaW5saW5lIGludApAQCAtNTQ0LDkgKzU3MSwxMCBAQAogewogCWxvbmcgY3VycjsKIAlsb25nIHNuYXA7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOwogCi0JY3VyciA9IHBlcl9jcHUoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciwgY3B1KTsKLQlzbmFwID0gcGVyX2NwdShyY3VfZHludGlja19zbmFwc2hvdCwgY3B1KTsKKwljdXJyID0gcmRzc3AtPmR5bnRpY2tzOworCXNuYXAgPSByZHNzcC0+ZHludGlja3Nfc25hcDsKIAlzbXBfbWIoKTsgLyogZm9yY2Ugb3JkZXJpbmcgd2l0aCBjcHUgZW50ZXJpbmcvbGVhdmluZyBkeW50aWNrcy4gKi8KIAogCS8qCkBAIC01NjcsNyArNTk1LDcgQEAKIAkgKiB0aGF0IHRoaXMgQ1BVIGFscmVhZHkgYWNrbm93bGVkZ2VkIHRoZSBjb3VudGVyLgogCSAqLwogCi0JaWYgKChjdXJyIC0gc25hcCkgPiAyIHx8IChzbmFwICYgMHgxKSA9PSAwKQorCWlmICgoY3VyciAtIHNuYXApID4gMiB8fCAoY3VyciAmIDB4MSkgPT0gMCkKIAkJcmV0dXJuIDA7CiAKIAkvKiBXZSBuZWVkIHRoaXMgQ1BVIHRvIGV4cGxpY2l0bHkgYWNrbm93bGVkZ2UgdGhlIGNvdW50ZXIgZmxpcC4gKi8KQEAgLTU4MCw5ICs2MDgsMTAgQEAKIHsKIAlsb25nIGN1cnI7CiAJbG9uZyBzbmFwOworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKIAotCWN1cnIgPSBwZXJfY3B1KGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIsIGNwdSk7Ci0Jc25hcCA9IHBlcl9jcHUocmN1X2R5bnRpY2tfc25hcHNob3QsIGNwdSk7CisJY3VyciA9IHJkc3NwLT5keW50aWNrczsKKwlzbmFwID0gcmRzc3AtPmR5bnRpY2tzX3NuYXA7CiAJc21wX21iKCk7IC8qIGZvcmNlIG9yZGVyaW5nIHdpdGggY3B1IGVudGVyaW5nL2xlYXZpbmcgZHludGlja3MuICovCiAKIAkvKgpAQCAtNjA5LDE0ICs2MzgsODYgQEAKIAlyZXR1cm4gMTsKIH0KIAorc3RhdGljIHZvaWQgZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXJfc2NoZWQoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwlyZHNzcC0+c2NoZWRfZHludGlja3Nfc25hcCA9IHJkc3NwLT5keW50aWNrczsKK30KKworc3RhdGljIGludCByY3VfcXNjdHJfaW5jX25lZWRlZF9keW50aWNrKGludCBjcHUpCit7CisJbG9uZyBjdXJyOworCWxvbmcgc25hcDsKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwljdXJyID0gcmRzc3AtPmR5bnRpY2tzOworCXNuYXAgPSByZHNzcC0+c2NoZWRfZHludGlja3Nfc25hcDsKKwlzbXBfbWIoKTsgLyogZm9yY2Ugb3JkZXJpbmcgd2l0aCBjcHUgZW50ZXJpbmcvbGVhdmluZyBkeW50aWNrcy4gKi8KKworCS8qCisJICogSWYgdGhlIENQVSByZW1haW5lZCBpbiBkeW50aWNrcyBtb2RlIGZvciB0aGUgZW50aXJlIHRpbWUKKwkgKiBhbmQgZGlkbid0IHRha2UgYW55IGludGVycnVwdHMsIE5NSXMsIFNNSXMsIG9yIHdoYXRldmVyLAorCSAqIHRoZW4gaXQgY2Fubm90IGJlIGluIHRoZSBtaWRkbGUgb2YgYW4gcmN1X3JlYWRfbG9jaygpLCBzbworCSAqIHRoZSBuZXh0IHJjdV9yZWFkX2xvY2soKSBpdCBleGVjdXRlcyBtdXN0IHVzZSB0aGUgbmV3IHZhbHVlCisJICogb2YgdGhlIGNvdW50ZXIuICBUaGVyZWZvcmUsIHRoaXMgQ1BVIGhhcyBiZWVuIGluIGEgcXVpZXNjZW50CisJICogc3RhdGUgdGhlIGVudGlyZSB0aW1lLCBhbmQgd2UgZG9uJ3QgbmVlZCB0byB3YWl0IGZvciBpdC4KKwkgKi8KKworCWlmICgoY3VyciA9PSBzbmFwKSAmJiAoKGN1cnIgJiAweDEpID09IDApKQorCQlyZXR1cm4gMDsKKworCS8qCisJICogSWYgdGhlIENQVSBwYXNzZWQgdGhyb3VnaCBvciBlbnRlcmVkIGEgZHludGlja3MgaWRsZSBwaGFzZSB3aXRoCisJICogbm8gYWN0aXZlIGlycSBoYW5kbGVycywgdGhlbiwgYXMgYWJvdmUsIHRoaXMgQ1BVIGhhcyBhbHJlYWR5CisJICogcGFzc2VkIHRocm91Z2ggYSBxdWllc2NlbnQgc3RhdGUuCisJICovCisKKwlpZiAoKGN1cnIgLSBzbmFwKSA+IDIgfHwgKHNuYXAgJiAweDEpID09IDApCisJCXJldHVybiAwOworCisJLyogV2UgbmVlZCB0aGlzIENQVSB0byBnbyB0aHJvdWdoIGEgcXVpZXNjZW50IHN0YXRlLiAqLworCisJcmV0dXJuIDE7Cit9CisKICNlbHNlIC8qICFDT05GSUdfTk9fSFogKi8KIAotIyBkZWZpbmUgZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXIoY3B1KQlkbyB7IH0gd2hpbGUgKDApCi0jIGRlZmluZSByY3VfdHJ5X2ZsaXBfd2FpdGFja19uZWVkZWQoY3B1KQkoMSkKLSMgZGVmaW5lIHJjdV90cnlfZmxpcF93YWl0bWJfbmVlZGVkKGNwdSkJKDEpCisjIGRlZmluZSBkeW50aWNrX3NhdmVfcHJvZ3Jlc3NfY291bnRlcihjcHUpCQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSByY3VfdHJ5X2ZsaXBfd2FpdGFja19uZWVkZWQoY3B1KQkJKDEpCisjIGRlZmluZSByY3VfdHJ5X2ZsaXBfd2FpdG1iX25lZWRlZChjcHUpCQkoMSkKKworIyBkZWZpbmUgZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXJfc2NoZWQoY3B1KQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSByY3VfcXNjdHJfaW5jX25lZWRlZF9keW50aWNrKGNwdSkJCSgxKQogCiAjZW5kaWYgLyogQ09ORklHX05PX0haICovCiAKK3N0YXRpYyB2b2lkIHNhdmVfcXNjdHJfc2NoZWQoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwlyZHNzcC0+c2NoZWRfcXNfc25hcCA9IHJkc3NwLT5zY2hlZF9xczsKK30KKworc3RhdGljIGlubGluZSBpbnQgcmN1X3FzY3RyX2luY19uZWVkZWQoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwkvKgorCSAqIElmIHRoZXJlIGhhcyBiZWVuIGEgcXVpZXNjZW50IHN0YXRlLCBubyBtb3JlIG5lZWQgdG8gd2FpdAorCSAqIG9uIHRoaXMgQ1BVLgorCSAqLworCisJaWYgKHJkc3NwLT5zY2hlZF9xcyAhPSByZHNzcC0+c2NoZWRfcXNfc25hcCkgeworCQlzbXBfbWIoKTsgLyogZm9yY2Ugb3JkZXJpbmcgd2l0aCBjcHUgZW50ZXJpbmcgc2NoZWR1bGUoKS4gKi8KKwkJcmV0dXJuIDA7CisJfQorCisJLyogV2UgbmVlZCB0aGlzIENQVSB0byBnbyB0aHJvdWdoIGEgcXVpZXNjZW50IHN0YXRlLiAqLworCisJcmV0dXJuIDE7Cit9CisKIC8qCiAgKiBHZXQgaGVyZSB3aGVuIFJDVSBpcyBpZGxlLiAgRGVjaWRlIHdoZXRoZXIgd2UgbmVlZCB0bwogICogbW92ZSBvdXQgb2YgaWRsZSBzdGF0ZSwgYW5kIHJldHVybiBub24temVybyBpZiBzby4KQEAgLTgxOSw2ICs5MjAsMjYgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCByY3VfZGF0YSAqcmRwID0gUkNVX0RBVEFfQ1BVKGNwdSk7CiAKKwkvKgorCSAqIElmIHRoaXMgQ1BVIHRvb2sgaXRzIGludGVycnVwdCBmcm9tIHVzZXIgbW9kZSBvciBmcm9tIHRoZQorCSAqIGlkbGUgbG9vcCwgYW5kIHRoaXMgaXMgbm90IGEgbmVzdGVkIGludGVycnVwdCwgdGhlbgorCSAqIHRoaXMgQ1BVIGhhcyB0byBoYXZlIGV4aXRlZCBhbGwgcHJpb3IgcHJlZXB0LWRpc2FibGUKKwkgKiBzZWN0aW9ucyBvZiBjb2RlLiAgU28gaW5jcmVtZW50IHRoZSBjb3VudGVyIHRvIG5vdGUgdGhpcy4KKwkgKgorCSAqIFRoZSBtZW1vcnkgYmFycmllciBpcyBuZWVkZWQgdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlCisJICogd3JpdGVzIGZyb20gYSBwcmVlbXB0LWRpc2FibGUgc2VjdGlvbiBvZiBjb2RlIGdldCByZW9yZGVyZWQKKwkgKiBpbnRvIHNjaGVkdWxlKCkgYnkgdGhpcyBDUFUncyB3cml0ZSBidWZmZXIuICBTbyB0aGUgbWVtb3J5CisJICogYmFycmllciBtYWtlcyBzdXJlIHRoYXQgdGhlIHJjdV9xc2N0cl9pbmMoKSBpcyBzZWVuIGJ5IG90aGVyCisJICogQ1BVcyB0byBoYXBwZW4gYWZ0ZXIgYW55IHN1Y2ggd3JpdGUuCisJICovCisKKwlpZiAodXNlciB8fAorCSAgICAoaWRsZV9jcHUoY3B1KSAmJiAhaW5fc29mdGlycSgpICYmCisJICAgICBoYXJkaXJxX2NvdW50KCkgPD0gKDEgPDwgSEFSRElSUV9TSElGVCkpKSB7CisJCXNtcF9tYigpOwkvKiBHdWFyZCBhZ2FpbnN0IGFnZ3Jlc3NpdmUgc2NoZWR1bGUoKS4gKi8KKwkgICAgIAlyY3VfcXNjdHJfaW5jKGNwdSk7CisJfQorCiAJcmN1X2NoZWNrX21iKGNwdSk7CiAJaWYgKHJjdV9jdHJsYmxrLmNvbXBsZXRlZCA9PSByZHAtPmNvbXBsZXRlZCkKIAkJcmN1X3RyeV9mbGlwKCk7CkBAIC04NjksNiArOTkwLDggQEAKIAlzdHJ1Y3QgcmN1X2hlYWQgKmxpc3QgPSBOVUxMOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IHJjdV9kYXRhICpyZHAgPSBSQ1VfREFUQV9DUFUoY3B1KTsKKwlzdHJ1Y3QgcmN1X2hlYWQgKnNjaGVkbGlzdCA9IE5VTEw7CisJc3RydWN0IHJjdV9oZWFkICoqc2NoZWR0YWlsID0gJnNjaGVkbGlzdDsKIAlzdHJ1Y3QgcmN1X2hlYWQgKip0YWlsID0gJmxpc3Q7CiAKIAkvKgpAQCAtODgyLDYgKzEwMDUsMTEgQEAKIAkJcmN1X29mZmxpbmVfY3B1X2VucXVldWUocmRwLT53YWl0bGlzdFtpXSwgcmRwLT53YWl0dGFpbFtpXSwKIAkJCQkJCWxpc3QsIHRhaWwpOwogCXJjdV9vZmZsaW5lX2NwdV9lbnF1ZXVlKHJkcC0+bmV4dGxpc3QsIHJkcC0+bmV4dHRhaWwsIGxpc3QsIHRhaWwpOworCXJjdV9vZmZsaW5lX2NwdV9lbnF1ZXVlKHJkcC0+d2FpdHNjaGVkbGlzdCwgcmRwLT53YWl0c2NoZWR0YWlsLAorCQkJCXNjaGVkbGlzdCwgc2NoZWR0YWlsKTsKKwlyY3Vfb2ZmbGluZV9jcHVfZW5xdWV1ZShyZHAtPm5leHRzY2hlZGxpc3QsIHJkcC0+bmV4dHNjaGVkdGFpbCwKKwkJCQlzY2hlZGxpc3QsIHNjaGVkdGFpbCk7CisJcmRwLT5yY3Vfc2NoZWRfc2xlZXBpbmcgPSAwOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkcC0+bG9jaywgZmxhZ3MpOwogCXJkcC0+d2FpdGxpc3Rjb3VudCA9IDA7CiAKQEAgLTkxNiwzNiArMTA0NCw1MCBAQAogCSAqIGZpeC4KIAkgKi8KIAotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7ICAvKiBkaXNhYmxlIHByZWVtcHQgdGlsbCB3ZSBrbm93IHdoYXQgbG9jay4gKi8KIAlyZHAgPSBSQ1VfREFUQV9NRSgpOwogCXNwaW5fbG9jaygmcmRwLT5sb2NrKTsKIAkqcmRwLT5uZXh0dGFpbCA9IGxpc3Q7CiAJaWYgKGxpc3QpCiAJCXJkcC0+bmV4dHRhaWwgPSB0YWlsOworCSpyZHAtPm5leHRzY2hlZHRhaWwgPSBzY2hlZGxpc3Q7CisJaWYgKHNjaGVkbGlzdCkKKwkJcmRwLT5uZXh0c2NoZWR0YWlsID0gc2NoZWR0YWlsOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkcC0+bG9jaywgZmxhZ3MpOwogfQogCi12b2lkIF9fZGV2aW5pdCByY3Vfb25saW5lX2NwdShpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcmN1X2N0cmxibGsuZmxpcGxvY2ssIGZsYWdzKTsKLQljcHVfc2V0KGNwdSwgcmN1X2NwdV9vbmxpbmVfbWFwKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyY3VfY3RybGJsay5mbGlwbG9jaywgZmxhZ3MpOwotfQotCiAjZWxzZSAvKiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVICovCiAKIHZvaWQgcmN1X29mZmxpbmVfY3B1KGludCBjcHUpCiB7CiB9CiAKLXZvaWQgX19kZXZpbml0IHJjdV9vbmxpbmVfY3B1KGludCBjcHUpCi17Ci19Ci0KICNlbmRpZiAvKiAjZWxzZSAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVICovCiAKK3ZvaWQgX19jcHVpbml0IHJjdV9vbmxpbmVfY3B1KGludCBjcHUpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcmN1X2RhdGEgKnJkcDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZyY3VfY3RybGJsay5mbGlwbG9jaywgZmxhZ3MpOworCWNwdV9zZXQoY3B1LCByY3VfY3B1X29ubGluZV9tYXApOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJjdV9jdHJsYmxrLmZsaXBsb2NrLCBmbGFncyk7CisKKwkvKgorCSAqIFRoZSByY3Vfc2NoZWQgZ3JhY2UtcGVyaW9kIHByb2Nlc3NpbmcgbWlnaHQgaGF2ZSBieXBhc3NlZAorCSAqIHRoaXMgQ1BVLCBnaXZlbiB0aGF0IGl0IHdhcyBub3QgaW4gdGhlIHJjdV9jcHVfb25saW5lX21hcAorCSAqIHdoZW4gdGhlIGdyYWNlLXBlcmlvZCBzY2FuIHN0YXJ0ZWQuICBUaGlzIG1lYW5zIHRoYXQgdGhlCisJICogZ3JhY2UtcGVyaW9kIHRhc2sgbWlnaHQgc2xlZXAuICBTbyBtYWtlIHN1cmUgdGhhdCBpZiB0aGlzCisJICogc2hvdWxkIGhhcHBlbiwgdGhlIGZpcnN0IGNhbGxiYWNrIHBvc3RlZCB0byB0aGlzIENQVSB3aWxsCisJICogd2FrZSB1cCB0aGUgZ3JhY2UtcGVyaW9kIHRhc2sgaWYgbmVlZCBiZS4KKwkgKi8KKworCXJkcCA9IFJDVV9EQVRBX0NQVShjcHUpOworCXNwaW5fbG9ja19pcnFzYXZlKCZyZHAtPmxvY2ssIGZsYWdzKTsKKwlyZHAtPnJjdV9zY2hlZF9zbGVlcGluZyA9IDE7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmRwLT5sb2NrLCBmbGFncyk7Cit9CisKIHN0YXRpYyB2b2lkIHJjdV9wcm9jZXNzX2NhbGxiYWNrcyhzdHJ1Y3Qgc29mdGlycV9hY3Rpb24gKnVudXNlZCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtOTg2LDMzICsxMTI4LDE5OCBAQAogCSpyZHAtPm5leHR0YWlsID0gaGVhZDsKIAlyZHAtPm5leHR0YWlsID0gJmhlYWQtPm5leHQ7CiAJUkNVX1RSQUNFX1JEUChyY3VwcmVlbXB0X3RyYWNlX25leHRfYWRkLCByZHApOwotCXNwaW5fdW5sb2NrKCZyZHAtPmxvY2spOwotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZHAtPmxvY2ssIGZsYWdzKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGNhbGxfcmN1KTsKIAordm9pZCBjYWxsX3JjdV9zY2hlZChzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQsIHZvaWQgKCpmdW5jKShzdHJ1Y3QgcmN1X2hlYWQgKnJjdSkpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcmN1X2RhdGEgKnJkcDsKKwlpbnQgd2FrZV9ncCA9IDA7CisKKwloZWFkLT5mdW5jID0gZnVuYzsKKwloZWFkLT5uZXh0ID0gTlVMTDsKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJcmRwID0gUkNVX0RBVEFfTUUoKTsKKwlzcGluX2xvY2soJnJkcC0+bG9jayk7CisJKnJkcC0+bmV4dHNjaGVkdGFpbCA9IGhlYWQ7CisJcmRwLT5uZXh0c2NoZWR0YWlsID0gJmhlYWQtPm5leHQ7CisJaWYgKHJkcC0+cmN1X3NjaGVkX3NsZWVwaW5nKSB7CisKKwkJLyogR3JhY2UtcGVyaW9kIHByb2Nlc3NpbmcgbWlnaHQgYmUgc2xlZXBpbmcuLi4gKi8KKworCQlyZHAtPnJjdV9zY2hlZF9zbGVlcGluZyA9IDA7CisJCXdha2VfZ3AgPSAxOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZHAtPmxvY2ssIGZsYWdzKTsKKwlpZiAod2FrZV9ncCkgeworCisJCS8qIFdha2UgdXAgZ3JhY2UtcGVyaW9kIHByb2Nlc3NpbmcsIHVubGVzcyBzb21lb25lIGJlYXQgdXMuICovCisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnJjdV9jdHJsYmxrLnNjaGVkbG9jaywgZmxhZ3MpOworCQlpZiAocmN1X2N0cmxibGsuc2NoZWRfc2xlZXAgIT0gcmN1X3NjaGVkX3NsZWVwaW5nKQorCQkJd2FrZV9ncCA9IDA7CisJCXJjdV9jdHJsYmxrLnNjaGVkX3NsZWVwID0gcmN1X3NjaGVkX25vdF9zbGVlcGluZzsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmN1X2N0cmxibGsuc2NoZWRsb2NrLCBmbGFncyk7CisJCWlmICh3YWtlX2dwKQorCQkJd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZyY3VfY3RybGJsay5zY2hlZF93cSk7CisJfQorfQorRVhQT1JUX1NZTUJPTF9HUEwoY2FsbF9yY3Vfc2NoZWQpOworCiAvKgogICogV2FpdCB1bnRpbCBhbGwgY3VycmVudGx5IHJ1bm5pbmcgcHJlZW1wdF9kaXNhYmxlKCkgY29kZSBzZWdtZW50cwogICogKGluY2x1ZGluZyBoYXJkd2FyZS1pcnEtZGlzYWJsZSBzZWdtZW50cykgY29tcGxldGUuICBOb3RlIHRoYXQKICAqIGluIC1ydCB0aGlzIGRvZXMgLW5vdC0gbmVjZXNzYXJpbHkgcmVzdWx0IGluIGFsbCBjdXJyZW50bHkgZXhlY3V0aW5nCiAgKiBpbnRlcnJ1cHQgLWhhbmRsZXJzLSBoYXZpbmcgY29tcGxldGVkLgogICovCi12b2lkIF9fc3luY2hyb25pemVfc2NoZWQodm9pZCkKLXsKLQljcHVtYXNrX3Qgb2xkbWFzazsKLQlpbnQgY3B1OwotCi0JaWYgKHNjaGVkX2dldGFmZmluaXR5KDAsICZvbGRtYXNrKSA8IDApCi0JCW9sZG1hc2sgPSBjcHVfcG9zc2libGVfbWFwOwotCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7Ci0JCXNjaGVkX3NldGFmZmluaXR5KDAsICZjcHVtYXNrX29mX2NwdShjcHUpKTsKLQkJc2NoZWR1bGUoKTsKLQl9Ci0Jc2NoZWRfc2V0YWZmaW5pdHkoMCwgJm9sZG1hc2spOwotfQorc3luY2hyb25pemVfcmN1X3h4eChfX3N5bmNocm9uaXplX3NjaGVkLCBjYWxsX3JjdV9zY2hlZCkKIEVYUE9SVF9TWU1CT0xfR1BMKF9fc3luY2hyb25pemVfc2NoZWQpOwogCiAvKgorICoga3RocmVhZCBmdW5jdGlvbiB0aGF0IG1hbmFnZXMgY2FsbF9yY3Vfc2NoZWQgZ3JhY2UgcGVyaW9kcy4KKyAqLworc3RhdGljIGludCByY3Vfc2NoZWRfZ3JhY2VfcGVyaW9kKHZvaWQgKmFyZykKK3sKKwlpbnQgY291bGRzbGVlcDsJCS8qIG1pZ2h0IHNsZWVwIGFmdGVyIGN1cnJlbnQgcGFzcy4gKi8KKwlpbnQgY291bGRzbGVlcG5leHQgPSAwOyAvKiBtaWdodCBzbGVlcCBhZnRlciBuZXh0IHBhc3MuICovCisJaW50IGNwdTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCByY3VfZGF0YSAqcmRwOworCWludCByZXQ7CisKKwkvKgorCSAqIEVhY2ggcGFzcyB0aHJvdWdoIHRoZSBmb2xsb3dpbmcgbG9vcCBoYW5kbGVzIG9uZQorCSAqIHJjdV9zY2hlZCBncmFjZSBwZXJpb2QgY3ljbGUuCisJICovCisJZG8geworCQkvKiBTYXZlIGVhY2ggQ1BVJ3MgY3VycmVudCBzdGF0ZS4gKi8KKworCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQkJZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXJfc2NoZWQoY3B1KTsKKwkJCXNhdmVfcXNjdHJfc2NoZWQoY3B1KTsKKwkJfQorCisJCS8qCisJCSAqIFNsZWVwIGZvciBhYm91dCBhbiBSQ1UgZ3JhY2UtcGVyaW9kJ3Mgd29ydGggdG8KKwkJICogYWxsb3cgYmV0dGVyIGJhdGNoaW5nIGFuZCB0byBjb25zdW1lIGxlc3MgQ1BVLgorCQkgKi8KKwkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKFJDVV9TQ0hFRF9CQVRDSF9USU1FKTsKKworCQkvKgorCQkgKiBJZiB0aGVyZSB3YXMgbm90aGluZyB0byBkbyBsYXN0IHRpbWUsIHByZXBhcmUgdG8KKwkJICogc2xlZXAgYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBncmFjZSBwZXJpb2QgY3ljbGUuCisJCSAqLworCQljb3VsZHNsZWVwID0gY291bGRzbGVlcG5leHQ7CisJCWNvdWxkc2xlZXBuZXh0ID0gMTsKKwkJaWYgKGNvdWxkc2xlZXApIHsKKwkJCXNwaW5fbG9ja19pcnFzYXZlKCZyY3VfY3RybGJsay5zY2hlZGxvY2ssIGZsYWdzKTsKKwkJCXJjdV9jdHJsYmxrLnNjaGVkX3NsZWVwID0gcmN1X3NjaGVkX3NsZWVwX3ByZXA7CisJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyY3VfY3RybGJsay5zY2hlZGxvY2ssIGZsYWdzKTsKKwkJfQorCisJCS8qCisJCSAqIFdhaXQgb24gZWFjaCBDUFUgaW4gdHVybiB0byBoYXZlIGVpdGhlciB2aXNpdGVkCisJCSAqIGEgcXVpZXNjZW50IHN0YXRlIG9yIGJlZW4gaW4gZHludGlja3MtaWRsZSBtb2RlLgorCQkgKi8KKwkJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKKwkJCXdoaWxlIChyY3VfcXNjdHJfaW5jX25lZWRlZChjcHUpICYmCisJCQkgICAgICAgcmN1X3FzY3RyX2luY19uZWVkZWRfZHludGljayhjcHUpKSB7CisJCQkJLyogcmVzY2hlZF9jcHUoY3B1KTsgQEBAICovCisJCQkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKDEpOworCQkJfQorCQl9CisKKwkJLyogQWR2YW5jZSBjYWxsYmFja3MgZm9yIGVhY2ggQ1BVLiAgKi8KKworCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCisJCQlyZHAgPSBSQ1VfREFUQV9DUFUoY3B1KTsKKwkJCXNwaW5fbG9ja19pcnFzYXZlKCZyZHAtPmxvY2ssIGZsYWdzKTsKKworCQkJLyoKKwkJCSAqIFdlIGFyZSBydW5uaW5nIG9uIHRoaXMgQ1BVIGlycS1kaXNhYmxlZCwgc28gbm8KKwkJCSAqIENQVSBjYW4gZ28gb2ZmbGluZSB1bnRpbCB3ZSByZS1lbmFibGUgaXJxcy4KKwkJCSAqIFRoZSBjdXJyZW50IENQVSBtaWdodCBoYXZlIGFscmVhZHkgZ29uZQorCQkJICogb2ZmbGluZSAoYmV0d2VlbiB0aGUgZm9yX2VhY2hfb2ZmbGluZV9jcHUgYW5kCisJCQkgKiB0aGUgc3Bpbl9sb2NrX2lycXNhdmUpLCBidXQgaW4gdGhhdCBjYXNlIGFsbCBpdHMKKwkJCSAqIGNhbGxiYWNrIGxpc3RzIHdpbGwgYmUgZW1wdHksIHNvIG5vIGhhcm0gZG9uZS4KKwkJCSAqCisJCQkgKiBBZHZhbmNlIHRoZSBjYWxsYmFja3MhICBXZSBzaGFyZSBub3JtYWwgUkNVJ3MKKwkJCSAqIGRvbmVsaXN0LCBzaW5jZSBjYWxsYmFja3MgYXJlIGludm9rZWQgdGhlCisJCQkgKiBzYW1lIHdheSBpbiBlaXRoZXIgY2FzZS4KKwkJCSAqLworCQkJaWYgKHJkcC0+d2FpdHNjaGVkbGlzdCAhPSBOVUxMKSB7CisJCQkJKnJkcC0+ZG9uZXRhaWwgPSByZHAtPndhaXRzY2hlZGxpc3Q7CisJCQkJcmRwLT5kb25ldGFpbCA9IHJkcC0+d2FpdHNjaGVkdGFpbDsKKworCQkJCS8qCisJCQkJICogTmV4dCByY3VfY2hlY2tfY2FsbGJhY2tzKCkgd2lsbAorCQkJCSAqIGRvIHRoZSByZXF1aXJlZCByYWlzZV9zb2Z0aXJxKCkuCisJCQkJICovCisJCQl9CisJCQlpZiAocmRwLT5uZXh0c2NoZWRsaXN0ICE9IE5VTEwpIHsKKwkJCQlyZHAtPndhaXRzY2hlZGxpc3QgPSByZHAtPm5leHRzY2hlZGxpc3Q7CisJCQkJcmRwLT53YWl0c2NoZWR0YWlsID0gcmRwLT5uZXh0c2NoZWR0YWlsOworCQkJCWNvdWxkc2xlZXAgPSAwOworCQkJCWNvdWxkc2xlZXBuZXh0ID0gMDsKKwkJCX0gZWxzZSB7CisJCQkJcmRwLT53YWl0c2NoZWRsaXN0ID0gTlVMTDsKKwkJCQlyZHAtPndhaXRzY2hlZHRhaWwgPSAmcmRwLT53YWl0c2NoZWRsaXN0OworCQkJfQorCQkJcmRwLT5uZXh0c2NoZWRsaXN0ID0gTlVMTDsKKwkJCXJkcC0+bmV4dHNjaGVkdGFpbCA9ICZyZHAtPm5leHRzY2hlZGxpc3Q7CisKKwkJCS8qIE1hcmsgc2xlZXAgaW50ZW50aW9uLiAqLworCisJCQlyZHAtPnJjdV9zY2hlZF9zbGVlcGluZyA9IGNvdWxkc2xlZXA7CisKKwkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkcC0+bG9jaywgZmxhZ3MpOworCQl9CisKKwkJLyogSWYgd2Ugc2F3IGNhbGxiYWNrcyBvbiB0aGUgbGFzdCBzY2FuLCBnbyBkZWFsIHdpdGggdGhlbS4gKi8KKworCQlpZiAoIWNvdWxkc2xlZXApCisJCQljb250aW51ZTsKKworCQkvKiBBdHRlbXB0IHRvIGJsb2NrLi4uICovCisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnJjdV9jdHJsYmxrLnNjaGVkbG9jaywgZmxhZ3MpOworCQlpZiAocmN1X2N0cmxibGsuc2NoZWRfc2xlZXAgIT0gcmN1X3NjaGVkX3NsZWVwX3ByZXApIHsKKworCQkJLyoKKwkJCSAqIFNvbWVvbmUgcG9zdGVkIGEgY2FsbGJhY2sgYWZ0ZXIgd2Ugc2Nhbm5lZC4KKwkJCSAqIEdvIHRha2UgY2FyZSBvZiBpdC4KKwkJCSAqLworCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmN1X2N0cmxibGsuc2NoZWRsb2NrLCBmbGFncyk7CisJCQljb3VsZHNsZWVwbmV4dCA9IDA7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIEJsb2NrIHVudGlsIHRoZSBuZXh0IHBlcnNvbiBwb3N0cyBhIGNhbGxiYWNrLiAqLworCisJCXJjdV9jdHJsYmxrLnNjaGVkX3NsZWVwID0gcmN1X3NjaGVkX3NsZWVwaW5nOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyY3VfY3RybGJsay5zY2hlZGxvY2ssIGZsYWdzKTsKKwkJcmV0ID0gMDsKKwkJX193YWl0X2V2ZW50X2ludGVycnVwdGlibGUocmN1X2N0cmxibGsuc2NoZWRfd3EsCisJCQlyY3VfY3RybGJsay5zY2hlZF9zbGVlcCAhPSByY3Vfc2NoZWRfc2xlZXBpbmcsCisJCQlyZXQpOworCisJCS8qCisJCSAqIFNpZ25hbHMgd291bGQgcHJldmVudCB1cyBmcm9tIHNsZWVwaW5nLCBhbmQgd2UgY2Fubm90CisJCSAqIGRvIG11Y2ggd2l0aCB0aGVtIGluIGFueSBjYXNlLiAgU28gZmx1c2ggdGhlbS4KKwkJICovCisJCWlmIChyZXQpCisJCQlmbHVzaF9zaWduYWxzKGN1cnJlbnQpOworCQljb3VsZHNsZWVwbmV4dCA9IDA7CisKKwl9IHdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKTsKKworCXJldHVybiAoMCk7Cit9CisKKy8qCiAgKiBDaGVjayB0byBzZWUgaWYgYW55IGZ1dHVyZSBSQ1UtcmVsYXRlZCB3b3JrIHdpbGwgbmVlZCB0byBiZSBkb25lCiAgKiBieSB0aGUgY3VycmVudCBDUFUsIGV2ZW4gaWYgbm9uZSBuZWVkIGJlIGRvbmUgaW1tZWRpYXRlbHksIHJldHVybmluZwogICogMSBpZiBzby4gIEFzc3VtZXMgdGhhdCBub3RpZmllcnMgd291bGQgdGFrZSBjYXJlIG9mIGhhbmRsaW5nIGFueQpAQCAtMTAyNyw3ICsxMzM0LDkgQEAKIAogCXJldHVybiAocmRwLT5kb25lbGlzdCAhPSBOVUxMIHx8CiAJCSEhcmRwLT53YWl0bGlzdGNvdW50IHx8Ci0JCXJkcC0+bmV4dGxpc3QgIT0gTlVMTCk7CisJCXJkcC0+bmV4dGxpc3QgIT0gTlVMTCB8fAorCQlyZHAtPm5leHRzY2hlZGxpc3QgIT0gTlVMTCB8fAorCQlyZHAtPndhaXRzY2hlZGxpc3QgIT0gTlVMTCk7CiB9CiAKIGludCByY3VfcGVuZGluZyhpbnQgY3B1KQpAQCAtMTAzOCw3ICsxMzQ3LDkgQEAKIAogCWlmIChyZHAtPmRvbmVsaXN0ICE9IE5VTEwgfHwKIAkgICAgISFyZHAtPndhaXRsaXN0Y291bnQgfHwKLQkgICAgcmRwLT5uZXh0bGlzdCAhPSBOVUxMKQorCSAgICByZHAtPm5leHRsaXN0ICE9IE5VTEwgfHwKKwkgICAgcmRwLT5uZXh0c2NoZWRsaXN0ICE9IE5VTEwgfHwKKwkgICAgcmRwLT53YWl0c2NoZWRsaXN0ICE9IE5VTEwpCiAJCXJldHVybiAxOwogCiAJLyogVGhlIFJDVSBjb3JlIG5lZWRzIGFuIGFja25vd2xlZGdlbWVudCBmcm9tIHRoaXMgQ1BVLiAqLwpAQCAtMTEwNSw2ICsxNDE2LDExIEBACiAJCXJkcC0+ZG9uZXRhaWwgPSAmcmRwLT5kb25lbGlzdDsKIAkJcmRwLT5yY3VfZmxpcGN0clswXSA9IDA7CiAJCXJkcC0+cmN1X2ZsaXBjdHJbMV0gPSAwOworCQlyZHAtPm5leHRzY2hlZGxpc3QgPSBOVUxMOworCQlyZHAtPm5leHRzY2hlZHRhaWwgPSAmcmRwLT5uZXh0c2NoZWRsaXN0OworCQlyZHAtPndhaXRzY2hlZGxpc3QgPSBOVUxMOworCQlyZHAtPndhaXRzY2hlZHRhaWwgPSAmcmRwLT53YWl0c2NoZWRsaXN0OworCQlyZHAtPnJjdV9zY2hlZF9zbGVlcGluZyA9IDA7CiAJfQogCXJlZ2lzdGVyX2NwdV9ub3RpZmllcigmcmN1X25iKTsKIApAQCAtMTEyMywxNSArMTQzOSwxOSBAQAogCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQogCQlyY3VfY3B1X25vdGlmeSgmcmN1X25iLCBDUFVfVVBfUFJFUEFSRSwJKHZvaWQgKikobG9uZykgY3B1KTsKIAotCW9wZW5fc29mdGlycShSQ1VfU09GVElSUSwgcmN1X3Byb2Nlc3NfY2FsbGJhY2tzLCBOVUxMKTsKKwlvcGVuX3NvZnRpcnEoUkNVX1NPRlRJUlEsIHJjdV9wcm9jZXNzX2NhbGxiYWNrcyk7CiB9CiAKIC8qCi0gKiBEZXByZWNhdGVkLCB1c2Ugc3luY2hyb25pemVfcmN1KCkgb3Igc3luY2hyb25pemVfc2NoZWQoKSBpbnN0ZWFkLgorICogTGF0ZS1ib290LXRpbWUgUkNVIGluaXRpYWxpemF0aW9uIHRoYXQgbXVzdCB3YWl0IHVudGlsIGFmdGVyIHNjaGVkdWxlcgorICogaGFzIGJlZW4gaW5pdGlhbGl6ZWQuCiAgKi8KLXZvaWQgc3luY2hyb25pemVfa2VybmVsKHZvaWQpCit2b2lkIF9faW5pdCByY3VfaW5pdF9zY2hlZCh2b2lkKQogewotCXN5bmNocm9uaXplX3JjdSgpOworCXJjdV9zY2hlZF9ncmFjZV9wZXJpb2RfdGFzayA9IGt0aHJlYWRfcnVuKHJjdV9zY2hlZF9ncmFjZV9wZXJpb2QsCisJCQkJCQkgIE5VTEwsCisJCQkJCQkgICJyY3Vfc2NoZWRfZ3JhY2VfcGVyaW9kIik7CisJV0FSTl9PTihJU19FUlIocmN1X3NjaGVkX2dyYWNlX3BlcmlvZF90YXNrKSk7CiB9CiAKICNpZmRlZiBDT05GSUdfUkNVX1RSQUNFCmRpZmYgLS1naXQgYS9rZXJuZWwvcmN1cHJlZW1wdF90cmFjZS5jIGIva2VybmVsL3JjdXByZWVtcHRfdHJhY2UuYwppbmRleCA0OWFjNDk0Ny4uNWVkZjgyYyAxMDA2NDQKLS0tIGEva2VybmVsL3JjdXByZWVtcHRfdHJhY2UuYworKysgYi9rZXJuZWwvcmN1cHJlZW1wdF90cmFjZS5jCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgotI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwcmVlbXB0X3RyYWNlLmg+CmRpZmYgLS1naXQgYS9rZXJuZWwvcmN1dG9ydHVyZS5jIGIva2VybmVsL3JjdXRvcnR1cmUuYwppbmRleCAzM2FjYzQyNC4uOTBiNWIxMiAxMDA2NDQKLS0tIGEva2VybmVsL3JjdXRvcnR1cmUuYworKysgYi9rZXJuZWwvcmN1dG9ydHVyZS5jCkBAIC01Nyw3ICs1Nyw5IEBACiAJCQkJLyogIERlZmF1bHRzIHRvICJvbmx5IGF0IGVuZCBvZiB0ZXN0Ii4gKi8KIHN0YXRpYyBpbnQgdmVyYm9zZTsJCS8qIFByaW50IG1vcmUgZGVidWcgaW5mby4gKi8KIHN0YXRpYyBpbnQgdGVzdF9ub19pZGxlX2h6OwkvKiBUZXN0IFJDVSdzIHN1cHBvcnQgZm9yIHRpY2tsZXNzIGlkbGUgQ1BVcy4gKi8KLXN0YXRpYyBpbnQgc2h1ZmZsZV9pbnRlcnZhbCA9IDU7IC8qIEludGVydmFsIGJldHdlZW4gc2h1ZmZsZXMgKGluIHNlYykqLworc3RhdGljIGludCBzaHVmZmxlX2ludGVydmFsID0gMzsgLyogSW50ZXJ2YWwgYmV0d2VlbiBzaHVmZmxlcyAoaW4gc2VjKSovCitzdGF0aWMgaW50IHN0dXR0ZXIgPSA1OwkJLyogU3RhcnQvc3RvcCB0ZXN0aW5nIGludGVydmFsIChpbiBzZWMpICovCitzdGF0aWMgaW50IGlycXJlYWRlciA9IDE7CS8qIFJDVSByZWFkZXJzIGZyb20gaXJxICh0aW1lcnMpLiAqLwogc3RhdGljIGNoYXIgKnRvcnR1cmVfdHlwZSA9ICJyY3UiOyAvKiBXaGF0IFJDVSBpbXBsZW1lbnRhdGlvbiB0byB0b3J0dXJlLiAqLwogCiBtb2R1bGVfcGFyYW0obnJlYWRlcnMsIGludCwgMDQ0NCk7CkBAIC03Miw2ICs3NCwxMCBAQAogTU9EVUxFX1BBUk1fREVTQyh0ZXN0X25vX2lkbGVfaHosICJUZXN0IHN1cHBvcnQgZm9yIHRpY2tsZXNzIGlkbGUgQ1BVcyIpOwogbW9kdWxlX3BhcmFtKHNodWZmbGVfaW50ZXJ2YWwsIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHNodWZmbGVfaW50ZXJ2YWwsICJOdW1iZXIgb2Ygc2Vjb25kcyBiZXR3ZWVuIHNodWZmbGVzIik7Cittb2R1bGVfcGFyYW0oc3R1dHRlciwgaW50LCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0Moc3R1dHRlciwgIk51bWJlciBvZiBzZWNvbmRzIHRvIHJ1bi9oYWx0IHRlc3QiKTsKK21vZHVsZV9wYXJhbShpcnFyZWFkZXIsIGludCwgMDQ0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGlycXJlYWRlciwgIkFsbG93IFJDVSByZWFkZXJzIGZyb20gaXJxIGhhbmRsZXJzIik7CiBtb2R1bGVfcGFyYW0odG9ydHVyZV90eXBlLCBjaGFycCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHRvcnR1cmVfdHlwZSwgIlR5cGUgb2YgUkNVIHRvIHRvcnR1cmUgKHJjdSwgcmN1X2JoLCBzcmN1KSIpOwogCkBAIC05MSw2ICs5Nyw3IEBACiBzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICoqcmVhZGVyX3Rhc2tzOwogc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqc3RhdHNfdGFzazsKIHN0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnNodWZmbGVyX3Rhc2s7CitzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICpzdHV0dGVyX3Rhc2s7CiAKICNkZWZpbmUgUkNVX1RPUlRVUkVfUElQRV9MRU4gMTAKIApAQCAtMTE3LDggKzEyNCwxOCBAQAogc3RhdGljIGF0b21pY190IG5fcmN1X3RvcnR1cmVfZnJlZTsKIHN0YXRpYyBhdG9taWNfdCBuX3JjdV90b3J0dXJlX21iZXJyb3I7CiBzdGF0aWMgYXRvbWljX3Qgbl9yY3VfdG9ydHVyZV9lcnJvcjsKK3N0YXRpYyBsb25nIG5fcmN1X3RvcnR1cmVfdGltZXJzID0gMDsKIHN0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkIHJjdV90b3J0dXJlX3JlbW92ZWQ7CiAKK3N0YXRpYyBpbnQgc3R1dHRlcl9wYXVzZV90ZXN0ID0gMDsKKworI2lmIGRlZmluZWQoTU9EVUxFKSB8fCBkZWZpbmVkKENPTkZJR19SQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFKQorI2RlZmluZSBSQ1VUT1JUVVJFX1JVTk5BQkxFX0lOSVQgMQorI2Vsc2UKKyNkZWZpbmUgUkNVVE9SVFVSRV9SVU5OQUJMRV9JTklUIDAKKyNlbmRpZgoraW50IHJjdXRvcnR1cmVfcnVubmFibGUgPSBSQ1VUT1JUVVJFX1JVTk5BQkxFX0lOSVQ7CisKIC8qCiAgKiBBbGxvY2F0ZSBhbiBlbGVtZW50IGZyb20gdGhlIHJjdV90b3J0dXJlcyBwb29sLgogICovCkBAIC0xNzksNiArMTk2LDE2IEBACiAJcmV0dXJuIHN3YWh3MzIocnJzcC0+cnJzX3N0YXRlKTsKIH0KIAorc3RhdGljIHZvaWQKK3JjdV9zdHV0dGVyX3dhaXQodm9pZCkKK3sKKwl3aGlsZSAoc3R1dHRlcl9wYXVzZV90ZXN0IHx8ICFyY3V0b3J0dXJlX3J1bm5hYmxlKQorCQlpZiAocmN1dG9ydHVyZV9ydW5uYWJsZSkKKwkJCXNjaGVkdWxlX3RpbWVvdXRfaW50ZXJydXB0aWJsZSgxKTsKKwkJZWxzZQorCQkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKHJvdW5kX2ppZmZpZXNfcmVsYXRpdmUoSFopKTsKK30KKwogLyoKICAqIE9wZXJhdGlvbnMgdmVjdG9yIGZvciBzZWxlY3RpbmcgZGlmZmVyZW50IHR5cGVzIG9mIHRlc3RzLgogICovCkBAIC0xOTIsNyArMjE5LDkgQEAKIAlpbnQgKCpjb21wbGV0ZWQpKHZvaWQpOwogCXZvaWQgKCpkZWZlcnJlZGZyZWUpKHN0cnVjdCByY3VfdG9ydHVyZSAqcCk7CiAJdm9pZCAoKnN5bmMpKHZvaWQpOworCXZvaWQgKCpjYl9iYXJyaWVyKSh2b2lkKTsKIAlpbnQgKCpzdGF0cykoY2hhciAqcGFnZSk7CisJaW50IGlycWNhcGFibGU7CiAJY2hhciAqbmFtZTsKIH07CiBzdGF0aWMgc3RydWN0IHJjdV90b3J0dXJlX29wcyAqY3VyX29wcyA9IE5VTEw7CkBAIC0yNjUsNyArMjk0LDkgQEAKIAkuY29tcGxldGVkID0gcmN1X3RvcnR1cmVfY29tcGxldGVkLAogCS5kZWZlcnJlZGZyZWUgPSByY3VfdG9ydHVyZV9kZWZlcnJlZF9mcmVlLAogCS5zeW5jID0gc3luY2hyb25pemVfcmN1LAorCS5jYl9iYXJyaWVyID0gcmN1X2JhcnJpZXIsCiAJLnN0YXRzID0gTlVMTCwKKwkuaXJxY2FwYWJsZSA9IDEsCiAJLm5hbWUgPSAicmN1IgogfTsKIApAQCAtMzA0LDcgKzMzNSw5IEBACiAJLmNvbXBsZXRlZCA9IHJjdV90b3J0dXJlX2NvbXBsZXRlZCwKIAkuZGVmZXJyZWRmcmVlID0gcmN1X3N5bmNfdG9ydHVyZV9kZWZlcnJlZF9mcmVlLAogCS5zeW5jID0gc3luY2hyb25pemVfcmN1LAorCS5jYl9iYXJyaWVyID0gTlVMTCwKIAkuc3RhdHMgPSBOVUxMLAorCS5pcnFjYXBhYmxlID0gMSwKIAkubmFtZSA9ICJyY3Vfc3luYyIKIH07CiAKQEAgLTM2NCw3ICszOTcsOSBAQAogCS5jb21wbGV0ZWQgPSByY3VfYmhfdG9ydHVyZV9jb21wbGV0ZWQsCiAJLmRlZmVycmVkZnJlZSA9IHJjdV9iaF90b3J0dXJlX2RlZmVycmVkX2ZyZWUsCiAJLnN5bmMgPSByY3VfYmhfdG9ydHVyZV9zeW5jaHJvbml6ZSwKKwkuY2JfYmFycmllciA9IHJjdV9iYXJyaWVyX2JoLAogCS5zdGF0cyA9IE5VTEwsCisJLmlycWNhcGFibGUgPSAxLAogCS5uYW1lID0gInJjdV9iaCIKIH07CiAKQEAgLTM3Nyw3ICs0MTIsOSBAQAogCS5jb21wbGV0ZWQgPSByY3VfYmhfdG9ydHVyZV9jb21wbGV0ZWQsCiAJLmRlZmVycmVkZnJlZSA9IHJjdV9zeW5jX3RvcnR1cmVfZGVmZXJyZWRfZnJlZSwKIAkuc3luYyA9IHJjdV9iaF90b3J0dXJlX3N5bmNocm9uaXplLAorCS5jYl9iYXJyaWVyID0gTlVMTCwKIAkuc3RhdHMgPSBOVUxMLAorCS5pcnFjYXBhYmxlID0gMSwKIAkubmFtZSA9ICJyY3VfYmhfc3luYyIKIH07CiAKQEAgLTQ1OCw2ICs0OTUsNyBAQAogCS5jb21wbGV0ZWQgPSBzcmN1X3RvcnR1cmVfY29tcGxldGVkLAogCS5kZWZlcnJlZGZyZWUgPSByY3Vfc3luY190b3J0dXJlX2RlZmVycmVkX2ZyZWUsCiAJLnN5bmMgPSBzcmN1X3RvcnR1cmVfc3luY2hyb25pemUsCisJLmNiX2JhcnJpZXIgPSBOVUxMLAogCS5zdGF0cyA9IHNyY3VfdG9ydHVyZV9zdGF0cywKIAkubmFtZSA9ICJzcmN1IgogfTsKQEAgLTQ4Miw2ICs1MjAsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgcmN1X3NjaGVkX3RvcnR1cmVfZGVmZXJyZWRfZnJlZShzdHJ1Y3QgcmN1X3RvcnR1cmUgKnApCit7CisJY2FsbF9yY3Vfc2NoZWQoJnAtPnJ0b3J0X3JjdSwgcmN1X3RvcnR1cmVfY2IpOworfQorCiBzdGF0aWMgdm9pZCBzY2hlZF90b3J0dXJlX3N5bmNocm9uaXplKHZvaWQpCiB7CiAJc3luY2hyb25pemVfc2NoZWQoKTsKQEAgLTQ5NCwxMCArNTM3LDI2IEBACiAJLnJlYWRkZWxheSA9IHJjdV9yZWFkX2RlbGF5LCAgLyoganVzdCByZXVzZSByY3UncyB2ZXJzaW9uLiAqLwogCS5yZWFkdW5sb2NrID0gc2NoZWRfdG9ydHVyZV9yZWFkX3VubG9jaywKIAkuY29tcGxldGVkID0gc2NoZWRfdG9ydHVyZV9jb21wbGV0ZWQsCisJLmRlZmVycmVkZnJlZSA9IHJjdV9zY2hlZF90b3J0dXJlX2RlZmVycmVkX2ZyZWUsCisJLnN5bmMgPSBzY2hlZF90b3J0dXJlX3N5bmNocm9uaXplLAorCS5jYl9iYXJyaWVyID0gcmN1X2JhcnJpZXJfc2NoZWQsCisJLnN0YXRzID0gTlVMTCwKKwkuaXJxY2FwYWJsZSA9IDEsCisJLm5hbWUgPSAic2NoZWQiCit9OworCitzdGF0aWMgc3RydWN0IHJjdV90b3J0dXJlX29wcyBzY2hlZF9vcHNfc3luYyA9IHsKKwkuaW5pdCA9IHJjdV9zeW5jX3RvcnR1cmVfaW5pdCwKKwkuY2xlYW51cCA9IE5VTEwsCisJLnJlYWRsb2NrID0gc2NoZWRfdG9ydHVyZV9yZWFkX2xvY2ssCisJLnJlYWRkZWxheSA9IHJjdV9yZWFkX2RlbGF5LCAgLyoganVzdCByZXVzZSByY3UncyB2ZXJzaW9uLiAqLworCS5yZWFkdW5sb2NrID0gc2NoZWRfdG9ydHVyZV9yZWFkX3VubG9jaywKKwkuY29tcGxldGVkID0gc2NoZWRfdG9ydHVyZV9jb21wbGV0ZWQsCiAJLmRlZmVycmVkZnJlZSA9IHJjdV9zeW5jX3RvcnR1cmVfZGVmZXJyZWRfZnJlZSwKIAkuc3luYyA9IHNjaGVkX3RvcnR1cmVfc3luY2hyb25pemUsCisJLmNiX2JhcnJpZXIgPSBOVUxMLAogCS5zdGF0cyA9IE5VTEwsCi0JLm5hbWUgPSAic2NoZWQiCisJLm5hbWUgPSAic2NoZWRfc3luYyIKIH07CiAKIC8qCkBAIC01MzcsNiArNTk2LDcgQEAKIAkJfQogCQlyY3VfdG9ydHVyZV9jdXJyZW50X3ZlcnNpb24rKzsKIAkJb2xkYmF0Y2ggPSBjdXJfb3BzLT5jb21wbGV0ZWQoKTsKKwkJcmN1X3N0dXR0ZXJfd2FpdCgpOwogCX0gd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkgJiYgIWZ1bGxzdG9wKTsKIAlWRVJCT1NFX1BSSU5US19TVFJJTkcoInJjdV90b3J0dXJlX3dyaXRlciB0YXNrIHN0b3BwaW5nIik7CiAJd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpCkBAIC01NjAsNiArNjIwLDcgQEAKIAkJc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUoMSArIHJjdV9yYW5kb20oJnJhbmQpJTEwKTsKIAkJdWRlbGF5KHJjdV9yYW5kb20oJnJhbmQpICYgMHgzZmYpOwogCQljdXJfb3BzLT5zeW5jKCk7CisJCXJjdV9zdHV0dGVyX3dhaXQoKTsKIAl9IHdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpICYmICFmdWxsc3RvcCk7CiAKIAlWRVJCT1NFX1BSSU5US19TVFJJTkcoInJjdV90b3J0dXJlX2Zha2V3cml0ZXIgdGFzayBzdG9wcGluZyIpOwpAQCAtNTY5LDYgKzYzMCw1MiBAQAogfQogCiAvKgorICogUkNVIHRvcnR1cmUgcmVhZGVyIGZyb20gdGltZXIgaGFuZGxlci4gIERlcmVmZXJlbmNlcyByY3VfdG9ydHVyZV9jdXJyZW50LAorICogaW5jcmVtZW50aW5nIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnQgb2YgdGhlIHBpcGVsaW5lIGFycmF5LiAgVGhlCisgKiBjb3VudGVyIGluIHRoZSBlbGVtZW50IHNob3VsZCBuZXZlciBiZSBncmVhdGVyIHRoYW4gMSwgb3RoZXJ3aXNlLCB0aGUKKyAqIFJDVSBpbXBsZW1lbnRhdGlvbiBpcyBicm9rZW4uCisgKi8KK3N0YXRpYyB2b2lkIHJjdV90b3J0dXJlX3RpbWVyKHVuc2lnbmVkIGxvbmcgdW51c2VkKQoreworCWludCBpZHg7CisJaW50IGNvbXBsZXRlZDsKKwlzdGF0aWMgREVGSU5FX1JDVV9SQU5ET00ocmFuZCk7CisJc3RhdGljIERFRklORV9TUElOTE9DSyhyYW5kX2xvY2spOworCXN0cnVjdCByY3VfdG9ydHVyZSAqcDsKKwlpbnQgcGlwZV9jb3VudDsKKworCWlkeCA9IGN1cl9vcHMtPnJlYWRsb2NrKCk7CisJY29tcGxldGVkID0gY3VyX29wcy0+Y29tcGxldGVkKCk7CisJcCA9IHJjdV9kZXJlZmVyZW5jZShyY3VfdG9ydHVyZV9jdXJyZW50KTsKKwlpZiAocCA9PSBOVUxMKSB7CisJCS8qIExlYXZlIGJlY2F1c2UgcmN1X3RvcnR1cmVfd3JpdGVyIGlzIG5vdCB5ZXQgdW5kZXJ3YXkgKi8KKwkJY3VyX29wcy0+cmVhZHVubG9jayhpZHgpOworCQlyZXR1cm47CisJfQorCWlmIChwLT5ydG9ydF9tYnRlc3QgPT0gMCkKKwkJYXRvbWljX2luYygmbl9yY3VfdG9ydHVyZV9tYmVycm9yKTsKKwlzcGluX2xvY2soJnJhbmRfbG9jayk7CisJY3VyX29wcy0+cmVhZGRlbGF5KCZyYW5kKTsKKwluX3JjdV90b3J0dXJlX3RpbWVycysrOworCXNwaW5fdW5sb2NrKCZyYW5kX2xvY2spOworCXByZWVtcHRfZGlzYWJsZSgpOworCXBpcGVfY291bnQgPSBwLT5ydG9ydF9waXBlX2NvdW50OworCWlmIChwaXBlX2NvdW50ID4gUkNVX1RPUlRVUkVfUElQRV9MRU4pIHsKKwkJLyogU2hvdWxkIG5vdCBoYXBwZW4sIGJ1dC4uLiAqLworCQlwaXBlX2NvdW50ID0gUkNVX1RPUlRVUkVfUElQRV9MRU47CisJfQorCSsrX19nZXRfY3B1X3ZhcihyY3VfdG9ydHVyZV9jb3VudClbcGlwZV9jb3VudF07CisJY29tcGxldGVkID0gY3VyX29wcy0+Y29tcGxldGVkKCkgLSBjb21wbGV0ZWQ7CisJaWYgKGNvbXBsZXRlZCA+IFJDVV9UT1JUVVJFX1BJUEVfTEVOKSB7CisJCS8qIFNob3VsZCBub3QgaGFwcGVuLCBidXQuLi4gKi8KKwkJY29tcGxldGVkID0gUkNVX1RPUlRVUkVfUElQRV9MRU47CisJfQorCSsrX19nZXRfY3B1X3ZhcihyY3VfdG9ydHVyZV9iYXRjaClbY29tcGxldGVkXTsKKwlwcmVlbXB0X2VuYWJsZSgpOworCWN1cl9vcHMtPnJlYWR1bmxvY2soaWR4KTsKK30KKworLyoKICAqIFJDVSB0b3J0dXJlIHJlYWRlciBrdGhyZWFkLiAgUmVwZWF0ZWRseSBkZXJlZmVyZW5jZXMgcmN1X3RvcnR1cmVfY3VycmVudCwKICAqIGluY3JlbWVudGluZyB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50IG9mIHRoZSBwaXBlbGluZSBhcnJheS4gIFRoZQogICogY291bnRlciBpbiB0aGUgZWxlbWVudCBzaG91bGQgbmV2ZXIgYmUgZ3JlYXRlciB0aGFuIDEsIG90aGVyd2lzZSwgdGhlCkBAIC01ODIsMTEgKzY4OSwxOCBAQAogCURFRklORV9SQ1VfUkFORE9NKHJhbmQpOwogCXN0cnVjdCByY3VfdG9ydHVyZSAqcDsKIAlpbnQgcGlwZV9jb3VudDsKKwlzdHJ1Y3QgdGltZXJfbGlzdCB0OwogCiAJVkVSQk9TRV9QUklOVEtfU1RSSU5HKCJyY3VfdG9ydHVyZV9yZWFkZXIgdGFzayBzdGFydGVkIik7CiAJc2V0X3VzZXJfbmljZShjdXJyZW50LCAxOSk7CisJaWYgKGlycXJlYWRlciAmJiBjdXJfb3BzLT5pcnFjYXBhYmxlKQorCQlzZXR1cF90aW1lcl9vbl9zdGFjaygmdCwgcmN1X3RvcnR1cmVfdGltZXIsIDApOwogCiAJZG8geworCQlpZiAoaXJxcmVhZGVyICYmIGN1cl9vcHMtPmlycWNhcGFibGUpIHsKKwkJCWlmICghdGltZXJfcGVuZGluZygmdCkpCisJCQkJbW9kX3RpbWVyKCZ0LCAxKTsKKwkJfQogCQlpZHggPSBjdXJfb3BzLT5yZWFkbG9jaygpOwogCQljb21wbGV0ZWQgPSBjdXJfb3BzLT5jb21wbGV0ZWQoKTsKIAkJcCA9IHJjdV9kZXJlZmVyZW5jZShyY3VfdG9ydHVyZV9jdXJyZW50KTsKQEAgLTYxNSw4ICs3MjksMTEgQEAKIAkJcHJlZW1wdF9lbmFibGUoKTsKIAkJY3VyX29wcy0+cmVhZHVubG9jayhpZHgpOwogCQlzY2hlZHVsZSgpOworCQlyY3Vfc3R1dHRlcl93YWl0KCk7CiAJfSB3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSAmJiAhZnVsbHN0b3ApOwogCVZFUkJPU0VfUFJJTlRLX1NUUklORygicmN1X3RvcnR1cmVfcmVhZGVyIHRhc2sgc3RvcHBpbmciKTsKKwlpZiAoaXJxcmVhZGVyICYmIGN1cl9vcHMtPmlycWNhcGFibGUpCisJCWRlbF90aW1lcl9zeW5jKCZ0KTsKIAl3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSkKIAkJc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUoMSk7CiAJcmV0dXJuIDA7CkBAIC02NDcsMjAgKzc2NCwyMiBAQAogCWNudCArPSBzcHJpbnRmKCZwYWdlW2NudF0sICIlcyVzICIsIHRvcnR1cmVfdHlwZSwgVE9SVFVSRV9GTEFHKTsKIAljbnQgKz0gc3ByaW50ZigmcGFnZVtjbnRdLAogCQkgICAgICAgInJ0YzogJXAgdmVyOiAlbGQgdGZsZTogJWQgcnRhOiAlZCBydGFmOiAlZCBydGY6ICVkICIKLQkJICAgICAgICJydG1iZTogJWQiLAorCQkgICAgICAgInJ0bWJlOiAlZCBudDogJWxkIiwKIAkJICAgICAgIHJjdV90b3J0dXJlX2N1cnJlbnQsCiAJCSAgICAgICByY3VfdG9ydHVyZV9jdXJyZW50X3ZlcnNpb24sCiAJCSAgICAgICBsaXN0X2VtcHR5KCZyY3VfdG9ydHVyZV9mcmVlbGlzdCksCiAJCSAgICAgICBhdG9taWNfcmVhZCgmbl9yY3VfdG9ydHVyZV9hbGxvYyksCiAJCSAgICAgICBhdG9taWNfcmVhZCgmbl9yY3VfdG9ydHVyZV9hbGxvY19mYWlsKSwKIAkJICAgICAgIGF0b21pY19yZWFkKCZuX3JjdV90b3J0dXJlX2ZyZWUpLAotCQkgICAgICAgYXRvbWljX3JlYWQoJm5fcmN1X3RvcnR1cmVfbWJlcnJvcikpOworCQkgICAgICAgYXRvbWljX3JlYWQoJm5fcmN1X3RvcnR1cmVfbWJlcnJvciksCisJCSAgICAgICBuX3JjdV90b3J0dXJlX3RpbWVycyk7CiAJaWYgKGF0b21pY19yZWFkKCZuX3JjdV90b3J0dXJlX21iZXJyb3IpICE9IDApCiAJCWNudCArPSBzcHJpbnRmKCZwYWdlW2NudF0sICIgISEhIik7CiAJY250ICs9IHNwcmludGYoJnBhZ2VbY250XSwgIlxuJXMlcyAiLCB0b3J0dXJlX3R5cGUsIFRPUlRVUkVfRkxBRyk7CiAJaWYgKGkgPiAxKSB7CiAJCWNudCArPSBzcHJpbnRmKCZwYWdlW2NudF0sICIhISEgIik7CiAJCWF0b21pY19pbmMoJm5fcmN1X3RvcnR1cmVfZXJyb3IpOworCQlXQVJOX09OX09OQ0UoMSk7CiAJfQogCWNudCArPSBzcHJpbnRmKCZwYWdlW2NudF0sICJSZWFkZXIgUGlwZTogIik7CiAJZm9yIChpID0gMDsgaSA8IFJDVV9UT1JUVVJFX1BJUEVfTEVOICsgMTsgaSsrKQpAQCAtNzg1LDE1ICs5MDQsMzQgQEAKIAlyZXR1cm4gMDsKIH0KIAorLyogQ2F1c2UgdGhlIHJjdXRvcnR1cmUgdGVzdCB0byAic3R1dHRlciIsIHN0YXJ0aW5nIGFuZCBzdG9wcGluZyBhbGwKKyAqIHRocmVhZHMgcGVyaW9kaWNhbGx5LgorICovCitzdGF0aWMgaW50CityY3VfdG9ydHVyZV9zdHV0dGVyKHZvaWQgKmFyZykKK3sKKwlWRVJCT1NFX1BSSU5US19TVFJJTkcoInJjdV90b3J0dXJlX3N0dXR0ZXIgdGFzayBzdGFydGVkIik7CisJZG8geworCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUoc3R1dHRlciAqIEhaKTsKKwkJc3R1dHRlcl9wYXVzZV90ZXN0ID0gMTsKKwkJaWYgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpCisJCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUoc3R1dHRlciAqIEhaKTsKKwkJc3R1dHRlcl9wYXVzZV90ZXN0ID0gMDsKKwl9IHdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKTsKKwlWRVJCT1NFX1BSSU5US19TVFJJTkcoInJjdV90b3J0dXJlX3N0dXR0ZXIgdGFzayBzdG9wcGluZyIpOworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQKIHJjdV90b3J0dXJlX3ByaW50X21vZHVsZV9wYXJtcyhjaGFyICp0YWcpCiB7CiAJcHJpbnRrKEtFUk5fQUxFUlQgIiVzIiBUT1JUVVJFX0ZMQUcKIAkJIi0tLSAlczogbnJlYWRlcnM9JWQgbmZha2V3cml0ZXJzPSVkICIKIAkJInN0YXRfaW50ZXJ2YWw9JWQgdmVyYm9zZT0lZCB0ZXN0X25vX2lkbGVfaHo9JWQgIgotCQkic2h1ZmZsZV9pbnRlcnZhbCA9ICVkXG4iLAorCQkic2h1ZmZsZV9pbnRlcnZhbD0lZCBzdHV0dGVyPSVkIGlycXJlYWRlcj0lZFxuIiwKIAkJdG9ydHVyZV90eXBlLCB0YWcsIG5yZWFscmVhZGVycywgbmZha2V3cml0ZXJzLAotCQlzdGF0X2ludGVydmFsLCB2ZXJib3NlLCB0ZXN0X25vX2lkbGVfaHosIHNodWZmbGVfaW50ZXJ2YWwpOworCQlzdGF0X2ludGVydmFsLCB2ZXJib3NlLCB0ZXN0X25vX2lkbGVfaHosIHNodWZmbGVfaW50ZXJ2YWwsCisJCXN0dXR0ZXIsIGlycXJlYWRlcik7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC04MDIsNiArOTQwLDExIEBACiAJaW50IGk7CiAKIAlmdWxsc3RvcCA9IDE7CisJaWYgKHN0dXR0ZXJfdGFzaykgeworCQlWRVJCT1NFX1BSSU5US19TVFJJTkcoIlN0b3BwaW5nIHJjdV90b3J0dXJlX3N0dXR0ZXIgdGFzayIpOworCQlrdGhyZWFkX3N0b3Aoc3R1dHRlcl90YXNrKTsKKwl9CisJc3R1dHRlcl90YXNrID0gTlVMTDsKIAlpZiAoc2h1ZmZsZXJfdGFzaykgewogCQlWRVJCT1NFX1BSSU5US19TVFJJTkcoIlN0b3BwaW5nIHJjdV90b3J0dXJlX3NodWZmbGUgdGFzayIpOwogCQlrdGhyZWFkX3N0b3Aoc2h1ZmZsZXJfdGFzayk7CkBAIC04NDgsNyArOTkxLDkgQEAKIAlzdGF0c190YXNrID0gTlVMTDsKIAogCS8qIFdhaXQgZm9yIGFsbCBSQ1UgY2FsbGJhY2tzIHRvIGZpcmUuICAqLwotCXJjdV9iYXJyaWVyKCk7CisKKwlpZiAoY3VyX29wcy0+Y2JfYmFycmllciAhPSBOVUxMKQorCQljdXJfb3BzLT5jYl9iYXJyaWVyKCk7CiAKIAlyY3VfdG9ydHVyZV9zdGF0c19wcmludCgpOyAgLyogLUFmdGVyLSB0aGUgc3RhdHMgdGhyZWFkIGlzIHN0b3BwZWQhICovCiAKQEAgLTg2OCw3ICsxMDEzLDcgQEAKIAlpbnQgZmlyc3RlcnIgPSAwOwogCXN0YXRpYyBzdHJ1Y3QgcmN1X3RvcnR1cmVfb3BzICp0b3J0dXJlX29wc1tdID0KIAkJeyAmcmN1X29wcywgJnJjdV9zeW5jX29wcywgJnJjdV9iaF9vcHMsICZyY3VfYmhfc3luY19vcHMsCi0JCSAgJnNyY3Vfb3BzLCAmc2NoZWRfb3BzLCB9OworCQkgICZzcmN1X29wcywgJnNjaGVkX29wcywgJnNjaGVkX29wc19zeW5jLCB9OwogCiAJLyogUHJvY2VzcyBhcmdzIGFuZCB0ZWxsIHRoZSB3b3JsZCB0aGF0IHRoZSB0b3J0dXJlciBpcyBvbiB0aGUgam9iLiAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRvcnR1cmVfb3BzKTsgaSsrKSB7CkBAIC05ODgsNiArMTEzMywxOSBAQAogCQkJZ290byB1bndpbmQ7CiAJCX0KIAl9CisJaWYgKHN0dXR0ZXIgPCAwKQorCQlzdHV0dGVyID0gMDsKKwlpZiAoc3R1dHRlcikgeworCQkvKiBDcmVhdGUgdGhlIHN0dXR0ZXIgdGhyZWFkICovCisJCXN0dXR0ZXJfdGFzayA9IGt0aHJlYWRfcnVuKHJjdV90b3J0dXJlX3N0dXR0ZXIsIE5VTEwsCisJCQkJCSAgInJjdV90b3J0dXJlX3N0dXR0ZXIiKTsKKwkJaWYgKElTX0VSUihzdHV0dGVyX3Rhc2spKSB7CisJCQlmaXJzdGVyciA9IFBUUl9FUlIoc3R1dHRlcl90YXNrKTsKKwkJCVZFUkJPU0VfUFJJTlRLX0VSUlNUUklORygiRmFpbGVkIHRvIGNyZWF0ZSBzdHV0dGVyIik7CisJCQlzdHV0dGVyX3Rhc2sgPSBOVUxMOworCQkJZ290byB1bndpbmQ7CisJCX0KKwl9CiAJcmV0dXJuIDA7CiAKIHVud2luZDoKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZC5jIGIva2VybmVsL3NjaGVkLmMKaW5kZXggOTRlYWQ0My4uOTllNmQ4NSAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkLmMKKysrIGIva2VybmVsL3NjaGVkLmMKQEAgLTcwLDEwICs3MCwxMyBAQAogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KIAogI2luY2x1ZGUgPGFzbS90bGIuaD4KICNpbmNsdWRlIDxhc20vaXJxX3JlZ3MuaD4KIAorI2luY2x1ZGUgInNjaGVkX2NwdXByaS5oIgorCiAvKgogICogQ29udmVydCB1c2VyLW5pY2UgdmFsdWVzIFsgLTIwIC4uLiAwIC4uLiAxOSBdCiAgKiB0byBzdGF0aWMgcHJpb3JpdHkgWyBNQVhfUlRfUFJJTy4uTUFYX1BSSU8tMSBdLApAQCAtMjg5LDE1ICsyOTIsMTUgQEAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfZW50aXR5LCBpbml0X3NjaGVkX2VudGl0eSk7CiAvKiBEZWZhdWx0IHRhc2sgZ3JvdXAncyBjZnNfcnEgb24gZWFjaCBjcHUgKi8KIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgY2ZzX3JxLCBpbml0X2Nmc19ycSkgX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcDsKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5LCBpbml0X3NjaGVkX3J0X2VudGl0eSk7CiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHJ0X3JxLCBpbml0X3J0X3JxKSBfX19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wOwotI2VuZGlmCi0jZWxzZQorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLworI2Vsc2UgLyogIUNPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAjZGVmaW5lIHJvb3RfdGFza19ncm91cCBpbml0X3Rhc2tfZ3JvdXAKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAKIC8qIHRhc2tfZ3JvdXBfbG9jayBzZXJpYWxpemVzIGFkZC9yZW1vdmUgb2YgdGFzayBncm91cHMgYW5kIGFsc28gY2hhbmdlcyB0bwogICogYSB0YXNrIGdyb3VwJ3MgY3B1IHNoYXJlcy4KQEAgLTMwNyw5ICszMTAsOSBAQAogI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECiAjaWZkZWYgQ09ORklHX1VTRVJfU0NIRUQKICMgZGVmaW5lIElOSVRfVEFTS19HUk9VUF9MT0FECSgyKk5JQ0VfMF9MT0FEKQotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfVVNFUl9TQ0hFRCAqLwogIyBkZWZpbmUgSU5JVF9UQVNLX0dST1VQX0xPQUQJTklDRV8wX0xPQUQKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19VU0VSX1NDSEVEICovCiAKIC8qCiAgKiBBIHdlaWdodCBvZiAwIG9yIDEgY2FuIGNhdXNlIGFyaXRobWV0aWNzIHByb2JsZW1zLgpAQCAtMzYzLDYgKzM2NiwxMCBAQAogI2Vsc2UKIAogc3RhdGljIGlubGluZSB2b2lkIHNldF90YXNrX3JxKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdW5zaWduZWQgaW50IGNwdSkgeyB9CitzdGF0aWMgaW5saW5lIHN0cnVjdCB0YXNrX2dyb3VwICp0YXNrX2dyb3VwKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gTlVMTDsKK30KIAogI2VuZGlmCS8qIENPTkZJR19HUk9VUF9TQ0hFRCAqLwogCkBAIC0zNzMsNiArMzgwLDcgQEAKIAogCXU2NCBleGVjX2Nsb2NrOwogCXU2NCBtaW5fdnJ1bnRpbWU7CisJdTY0IHBhaXJfc3RhcnQ7CiAKIAlzdHJ1Y3QgcmJfcm9vdCB0YXNrc190aW1lbGluZTsKIAlzdHJ1Y3QgcmJfbm9kZSAqcmJfbGVmdG1vc3Q7CkBAIC00MDEsNiArNDA5LDMxIEBACiAJICovCiAJc3RydWN0IGxpc3RfaGVhZCBsZWFmX2Nmc19ycV9saXN0OwogCXN0cnVjdCB0YXNrX2dyb3VwICp0ZzsJLyogZ3JvdXAgdGhhdCAib3ducyIgdGhpcyBydW5xdWV1ZSAqLworCisjaWZkZWYgQ09ORklHX1NNUAorCS8qCisJICogdGhlIHBhcnQgb2YgbG9hZC53ZWlnaHQgY29udHJpYnV0ZWQgYnkgdGFza3MKKwkgKi8KKwl1bnNpZ25lZCBsb25nIHRhc2tfd2VpZ2h0OworCisJLyoKKwkgKiAgIGhfbG9hZCA9IHdlaWdodCAqIGYodGcpCisJICoKKwkgKiBXaGVyZSBmKHRnKSBpcyB0aGUgcmVjdXJzaXZlIHdlaWdodCBmcmFjdGlvbiBhc3NpZ25lZCB0bworCSAqIHRoaXMgZ3JvdXAuCisJICovCisJdW5zaWduZWQgbG9uZyBoX2xvYWQ7CisKKwkvKgorCSAqIHRoaXMgY3B1J3MgcGFydCBvZiB0Zy0+c2hhcmVzCisJICovCisJdW5zaWduZWQgbG9uZyBzaGFyZXM7CisKKwkvKgorCSAqIGxvYWQud2VpZ2h0IGF0IHRoZSB0aW1lIHdlIHNldCBzaGFyZXMKKwkgKi8KKwl1bnNpZ25lZCBsb25nIHJxX3dlaWdodDsKKyNlbmRpZgogI2VuZGlmCiB9OwogCkBAIC00NTIsNiArNDg1LDkgQEAKIAkgKi8KIAljcHVtYXNrX3QgcnRvX21hc2s7CiAJYXRvbWljX3QgcnRvX2NvdW50OworI2lmZGVmIENPTkZJR19TTVAKKwlzdHJ1Y3QgY3B1cHJpIGNwdXByaTsKKyNlbmRpZgogfTsKIAogLyoKQEAgLTUyNiw2ICs1NjIsOSBAQAogCWludCBwdXNoX2NwdTsKIAkvKiBjcHUgb2YgdGhpcyBydW5xdWV1ZTogKi8KIAlpbnQgY3B1OworCWludCBvbmxpbmU7CisKKwl1bnNpZ25lZCBsb25nIGF2Z19sb2FkX3Blcl90YXNrOwogCiAJc3RydWN0IHRhc2tfc3RydWN0ICptaWdyYXRpb25fdGhyZWFkOwogCXN0cnVjdCBsaXN0X2hlYWQgbWlncmF0aW9uX3F1ZXVlOwpAQCAtNjA3LDYgKzY0NiwyNCBAQAogIyBkZWZpbmUgY29uc3RfZGVidWcgc3RhdGljIGNvbnN0CiAjZW5kaWYKIAorLyoqCisgKiBydW5xdWV1ZV9pc19sb2NrZWQKKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgY3B1IHJ1bnF1ZXVlIGlzIGxvY2tlZC4KKyAqIFRoaXMgaW50ZXJmYWNlIGFsbG93cyBwcmludGsgdG8gYmUgY2FsbGVkIHdpdGggdGhlIHJ1bnF1ZXVlIGxvY2sKKyAqIGhlbGQgYW5kIGtub3cgd2hldGhlciBvciBub3QgaXQgaXMgT0sgdG8gd2FrZSB1cCB0aGUga2xvZ2QuCisgKi8KK2ludCBydW5xdWV1ZV9pc19sb2NrZWQodm9pZCkKK3sKKwlpbnQgY3B1ID0gZ2V0X2NwdSgpOworCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKKwlpbnQgcmV0OworCisJcmV0ID0gc3Bpbl9pc19sb2NrZWQoJnJxLT5sb2NrKTsKKwlwdXRfY3B1KCk7CisJcmV0dXJuIHJldDsKK30KKwogLyoKICAqIERlYnVnZ2luZzogdmFyaW91cyBmZWF0dXJlIGJpdHMKICAqLwpAQCAtNzQ5LDYgKzgwNiwxMiBAQAogY29uc3RfZGVidWcgdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9ucl9taWdyYXRlID0gMzI7CiAKIC8qCisgKiByYXRlbGltaXQgZm9yIHVwZGF0aW5nIHRoZSBncm91cCBzaGFyZXMuCisgKiBkZWZhdWx0OiAwLjVtcworICovCitjb25zdF9kZWJ1ZyB1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX3NoYXJlc19yYXRlbGltaXQgPSA1MDAwMDA7CisKKy8qCiAgKiBwZXJpb2Qgb3ZlciB3aGljaCB3ZSBtZWFzdXJlIC1ydCB0YXNrIGNwdSB1c2FnZSBpbiB1cy4KICAqIGRlZmF1bHQ6IDFzCiAgKi8KQEAgLTc3NSw4MiArODM4LDYgQEAKIAlyZXR1cm4gKHU2NClzeXNjdGxfc2NoZWRfcnRfcnVudGltZSAqIE5TRUNfUEVSX1VTRUM7CiB9CiAKLXVuc2lnbmVkIGxvbmcgbG9uZyB0aW1lX3N5bmNfdGhyZXNoID0gMTAwMDAwOwotCi1zdGF0aWMgREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZyBsb25nLCB0aW1lX29mZnNldCk7Ci1zdGF0aWMgREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZyBsb25nLCBwcmV2X2NwdV90aW1lKTsKLQotLyoKLSAqIEdsb2JhbCBsb2NrIHdoaWNoIHdlIHRha2UgZXZlcnkgbm93IGFuZCB0aGVuIHRvIHN5bmNocm9uaXplCi0gKiB0aGUgQ1BVcyB0aW1lLiBUaGlzIG1ldGhvZCBpcyBub3Qgd2FycC1zYWZlLCBidXQgaXQncyBnb29kCi0gKiBlbm91Z2ggdG8gc3luY2hyb25pemUgc2xvd2x5IGRpdmVyZ2luZyB0aW1lIHNvdXJjZXMgYW5kIHRodXMKLSAqIGl0J3MgZ29vZCBlbm91Z2ggZm9yIHRyYWNpbmc6Ci0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0sodGltZV9zeW5jX2xvY2spOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBwcmV2X2dsb2JhbF90aW1lOwotCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIF9fc3luY19jcHVfY2xvY2sodW5zaWduZWQgbG9uZyBsb25nIHRpbWUsIGludCBjcHUpCi17Ci0JLyoKLQkgKiBXZSB3YW50IHRoaXMgaW5saW5lZCwgdG8gbm90IGdldCB0cmFjZXIgZnVuY3Rpb24gY2FsbHMKLQkgKiBpbiB0aGlzIGNyaXRpY2FsIHNlY3Rpb246Ci0JICovCi0Jc3Bpbl9hY3F1aXJlKCZ0aW1lX3N5bmNfbG9jay5kZXBfbWFwLCAwLCAwLCBfVEhJU19JUF8pOwotCV9fcmF3X3NwaW5fbG9jaygmdGltZV9zeW5jX2xvY2sucmF3X2xvY2spOwotCi0JaWYgKHRpbWUgPCBwcmV2X2dsb2JhbF90aW1lKSB7Ci0JCXBlcl9jcHUodGltZV9vZmZzZXQsIGNwdSkgKz0gcHJldl9nbG9iYWxfdGltZSAtIHRpbWU7Ci0JCXRpbWUgPSBwcmV2X2dsb2JhbF90aW1lOwotCX0gZWxzZSB7Ci0JCXByZXZfZ2xvYmFsX3RpbWUgPSB0aW1lOwotCX0KLQotCV9fcmF3X3NwaW5fdW5sb2NrKCZ0aW1lX3N5bmNfbG9jay5yYXdfbG9jayk7Ci0Jc3Bpbl9yZWxlYXNlKCZ0aW1lX3N5bmNfbG9jay5kZXBfbWFwLCAxLCBfVEhJU19JUF8pOwotCi0JcmV0dXJuIHRpbWU7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgX19jcHVfY2xvY2soaW50IGNwdSkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbm93OwotCi0JLyoKLQkgKiBPbmx5IGNhbGwgc2NoZWRfY2xvY2soKSBpZiB0aGUgc2NoZWR1bGVyIGhhcyBhbHJlYWR5IGJlZW4KLQkgKiBpbml0aWFsaXplZCAoc29tZSBjb2RlIG1pZ2h0IGNhbGwgY3B1X2Nsb2NrKCkgdmVyeSBlYXJseSk6Ci0JICovCi0JaWYgKHVubGlrZWx5KCFzY2hlZHVsZXJfcnVubmluZykpCi0JCXJldHVybiAwOwotCi0Jbm93ID0gc2NoZWRfY2xvY2tfY3B1KGNwdSk7Ci0KLQlyZXR1cm4gbm93OwotfQotCi0vKgotICogRm9yIGtlcm5lbC1pbnRlcm5hbCB1c2U6IGhpZ2gtc3BlZWQgKGJ1dCBzbGlnaHRseSBpbmNvcnJlY3QpIHBlci1jcHUKLSAqIGNsb2NrIGNvbnN0cnVjdGVkIGZyb20gc2NoZWRfY2xvY2soKToKLSAqLwotdW5zaWduZWQgbG9uZyBsb25nIGNwdV9jbG9jayhpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBwcmV2X2NwdV90aW1lLCB0aW1lLCBkZWx0YV90aW1lOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0JcHJldl9jcHVfdGltZSA9IHBlcl9jcHUocHJldl9jcHVfdGltZSwgY3B1KTsKLQl0aW1lID0gX19jcHVfY2xvY2soY3B1KSArIHBlcl9jcHUodGltZV9vZmZzZXQsIGNwdSk7Ci0JZGVsdGFfdGltZSA9IHRpbWUtcHJldl9jcHVfdGltZTsKLQotCWlmICh1bmxpa2VseShkZWx0YV90aW1lID4gdGltZV9zeW5jX3RocmVzaCkpIHsKLQkJdGltZSA9IF9fc3luY19jcHVfY2xvY2sodGltZSwgY3B1KTsKLQkJcGVyX2NwdShwcmV2X2NwdV90aW1lLCBjcHUpID0gdGltZTsKLQl9Ci0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCi0JcmV0dXJuIHRpbWU7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChjcHVfY2xvY2spOwotCiAjaWZuZGVmIHByZXBhcmVfYXJjaF9zd2l0Y2gKICMgZGVmaW5lIHByZXBhcmVfYXJjaF9zd2l0Y2gobmV4dCkJZG8geyB9IHdoaWxlICgwKQogI2VuZGlmCkBAIC0xMzEzLDE1ICsxMzAwLDE1IEBACiAJaWYgKCF0c2tfaXNfcG9sbGluZyhycS0+aWRsZSkpCiAJCXNtcF9zZW5kX3Jlc2NoZWR1bGUoY3B1KTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19OT19IWiAqLwogCi0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19TTVAgKi8KIHN0YXRpYyB2b2lkIF9fcmVzY2hlZF90YXNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHRpZl9iaXQpCiB7CiAJYXNzZXJ0X3NwaW5fbG9ja2VkKCZ0YXNrX3JxKHApLT5sb2NrKTsKIAlzZXRfdHNrX3RocmVhZF9mbGFnKHAsIHRpZl9iaXQpOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogCiAjaWYgQklUU19QRVJfTE9ORyA9PSAzMgogIyBkZWZpbmUgV01VTFRfQ09OU1QJKH4wVUwpCkBAIC0xMzM2LDYgKzEzMjMsOSBAQAogICovCiAjZGVmaW5lIFNSUih4LCB5KSAoKCh4KSArICgxVUwgPDwgKCh5KSAtIDEpKSkgPj4gKHkpKQogCisvKgorICogZGVsdGEgKj0gd2VpZ2h0IC8gbHcKKyAqLwogc3RhdGljIHVuc2lnbmVkIGxvbmcKIGNhbGNfZGVsdGFfbWluZSh1bnNpZ25lZCBsb25nIGRlbHRhX2V4ZWMsIHVuc2lnbmVkIGxvbmcgd2VpZ2h0LAogCQlzdHJ1Y3QgbG9hZF93ZWlnaHQgKmx3KQpAQCAtMTM2MywxMiArMTM1Myw2IEBACiAJcmV0dXJuICh1bnNpZ25lZCBsb25nKW1pbih0bXAsICh1NjQpKHVuc2lnbmVkIGxvbmcpTE9OR19NQVgpOwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcKLWNhbGNfZGVsdGFfZmFpcih1bnNpZ25lZCBsb25nIGRlbHRhX2V4ZWMsIHN0cnVjdCBsb2FkX3dlaWdodCAqbHcpCi17Ci0JcmV0dXJuIGNhbGNfZGVsdGFfbWluZShkZWx0YV9leGVjLCBOSUNFXzBfTE9BRCwgbHcpOwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX2xvYWRfYWRkKHN0cnVjdCBsb2FkX3dlaWdodCAqbHcsIHVuc2lnbmVkIGxvbmcgaW5jKQogewogCWx3LT53ZWlnaHQgKz0gaW5jOwpAQCAtMTQ3OSwxOCArMTQ2MywyMTIgQEAKICNpZmRlZiBDT05GSUdfU01QCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBzb3VyY2VfbG9hZChpbnQgY3B1LCBpbnQgdHlwZSk7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyB0YXJnZXRfbG9hZChpbnQgY3B1LCBpbnQgdHlwZSk7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBjcHVfYXZnX2xvYWRfcGVyX3Rhc2soaW50IGNwdSk7CiBzdGF0aWMgaW50IHRhc2tfaG90KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdTY0IG5vdywgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpOwotI2Vsc2UgLyogQ09ORklHX1NNUCAqLworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjcHVfYXZnX2xvYWRfcGVyX3Rhc2soaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGNwdSk7CisKKwlpZiAocnEtPm5yX3J1bm5pbmcpCisJCXJxLT5hdmdfbG9hZF9wZXJfdGFzayA9IHJxLT5sb2FkLndlaWdodCAvIHJxLT5ucl9ydW5uaW5nOworCisJcmV0dXJuIHJxLT5hdmdfbG9hZF9wZXJfdGFzazsKK30KKworI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECisKK3R5cGVkZWYgdm9pZCAoKnRnX3Zpc2l0b3IpKHN0cnVjdCB0YXNrX2dyb3VwICosIGludCwgc3RydWN0IHNjaGVkX2RvbWFpbiAqKTsKKworLyoKKyAqIEl0ZXJhdGUgdGhlIGZ1bGwgdHJlZSwgY2FsbGluZyBAZG93biB3aGVuIGZpcnN0IGVudGVyaW5nIGEgbm9kZSBhbmQgQHVwIHdoZW4KKyAqIGxlYXZpbmcgaXQgZm9yIHRoZSBmaW5hbCB0aW1lLgorICovCitzdGF0aWMgdm9pZAord2Fsa190Z190cmVlKHRnX3Zpc2l0b3IgZG93biwgdGdfdmlzaXRvciB1cCwgaW50IGNwdSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7CisJc3RydWN0IHRhc2tfZ3JvdXAgKnBhcmVudCwgKmNoaWxkOworCisJcmN1X3JlYWRfbG9jaygpOworCXBhcmVudCA9ICZyb290X3Rhc2tfZ3JvdXA7Citkb3duOgorCSgqZG93bikocGFyZW50LCBjcHUsIHNkKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShjaGlsZCwgJnBhcmVudC0+Y2hpbGRyZW4sIHNpYmxpbmdzKSB7CisJCXBhcmVudCA9IGNoaWxkOworCQlnb3RvIGRvd247CisKK3VwOgorCQljb250aW51ZTsKKwl9CisJKCp1cCkocGFyZW50LCBjcHUsIHNkKTsKKworCWNoaWxkID0gcGFyZW50OworCXBhcmVudCA9IHBhcmVudC0+cGFyZW50OworCWlmIChwYXJlbnQpCisJCWdvdG8gdXA7CisJcmN1X3JlYWRfdW5sb2NrKCk7Cit9CisKK3N0YXRpYyB2b2lkIF9fc2V0X3NlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpOworCisvKgorICogQ2FsY3VsYXRlIGFuZCBzZXQgdGhlIGNwdSdzIGdyb3VwIHNoYXJlcy4KKyAqLworc3RhdGljIHZvaWQKK19fdXBkYXRlX2dyb3VwX3NoYXJlc19jcHUoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LAorCQkJICB1bnNpZ25lZCBsb25nIHNkX3NoYXJlcywgdW5zaWduZWQgbG9uZyBzZF9ycV93ZWlnaHQpCit7CisJaW50IGJvb3N0ID0gMDsKKwl1bnNpZ25lZCBsb25nIHNoYXJlczsKKwl1bnNpZ25lZCBsb25nIHJxX3dlaWdodDsKKworCWlmICghdGctPnNlW2NwdV0pCisJCXJldHVybjsKKworCXJxX3dlaWdodCA9IHRnLT5jZnNfcnFbY3B1XS0+bG9hZC53ZWlnaHQ7CisKKwkvKgorCSAqIElmIHRoZXJlIGFyZSBjdXJyZW50bHkgbm8gdGFza3Mgb24gdGhlIGNwdSBwcmV0ZW5kIHRoZXJlIGlzIG9uZSBvZgorCSAqIGF2ZXJhZ2UgbG9hZCBzbyB0aGF0IHdoZW4gYSBuZXcgdGFzayBnZXRzIHRvIHJ1biBoZXJlIGl0IHdpbGwgbm90CisJICogZ2V0IGRlbGF5ZWQgYnkgZ3JvdXAgc3RhcnZhdGlvbi4KKwkgKi8KKwlpZiAoIXJxX3dlaWdodCkgeworCQlib29zdCA9IDE7CisJCXJxX3dlaWdodCA9IE5JQ0VfMF9MT0FEOworCX0KKworCWlmICh1bmxpa2VseShycV93ZWlnaHQgPiBzZF9ycV93ZWlnaHQpKQorCQlycV93ZWlnaHQgPSBzZF9ycV93ZWlnaHQ7CisKKwkvKgorCSAqICAgICAgICAgICBcU3VtIHNoYXJlcyAqIHJxX3dlaWdodAorCSAqIHNoYXJlcyA9ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCSAqICAgICAgICAgICAgICAgXFN1bSBycV93ZWlnaHQKKwkgKgorCSAqLworCXNoYXJlcyA9IChzZF9zaGFyZXMgKiBycV93ZWlnaHQpIC8gKHNkX3JxX3dlaWdodCArIDEpOworCisJLyoKKwkgKiByZWNvcmQgdGhlIGFjdHVhbCBudW1iZXIgb2Ygc2hhcmVzLCBub3QgdGhlIGJvb3N0ZWQgYW1vdW50LgorCSAqLworCXRnLT5jZnNfcnFbY3B1XS0+c2hhcmVzID0gYm9vc3QgPyAwIDogc2hhcmVzOworCXRnLT5jZnNfcnFbY3B1XS0+cnFfd2VpZ2h0ID0gcnFfd2VpZ2h0OworCisJaWYgKHNoYXJlcyA8IE1JTl9TSEFSRVMpCisJCXNoYXJlcyA9IE1JTl9TSEFSRVM7CisJZWxzZSBpZiAoc2hhcmVzID4gTUFYX1NIQVJFUykKKwkJc2hhcmVzID0gTUFYX1NIQVJFUzsKKworCV9fc2V0X3NlX3NoYXJlcyh0Zy0+c2VbY3B1XSwgc2hhcmVzKTsKK30KKworLyoKKyAqIFJlLWNvbXB1dGUgdGhlIHRhc2sgZ3JvdXAgdGhlaXIgcGVyIGNwdSBzaGFyZXMgb3ZlciB0aGUgZ2l2ZW4gZG9tYWluLgorICogVGhpcyBuZWVkcyB0byBiZSBkb25lIGluIGEgYm90dG9tLXVwIGZhc2hpb24gYmVjYXVzZSB0aGUgcnEgd2VpZ2h0IG9mIGEKKyAqIHBhcmVudCBncm91cCBkZXBlbmRzIG9uIHRoZSBzaGFyZXMgb2YgaXRzIGNoaWxkIGdyb3Vwcy4KKyAqLworc3RhdGljIHZvaWQKK3RnX3NoYXJlc191cChzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXVuc2lnbmVkIGxvbmcgcnFfd2VpZ2h0ID0gMDsKKwl1bnNpZ25lZCBsb25nIHNoYXJlcyA9IDA7CisJaW50IGk7CisKKwlmb3JfZWFjaF9jcHVfbWFzayhpLCBzZC0+c3BhbikgeworCQlycV93ZWlnaHQgKz0gdGctPmNmc19ycVtpXS0+bG9hZC53ZWlnaHQ7CisJCXNoYXJlcyArPSB0Zy0+Y2ZzX3JxW2ldLT5zaGFyZXM7CisJfQorCisJaWYgKCghc2hhcmVzICYmIHJxX3dlaWdodCkgfHwgc2hhcmVzID4gdGctPnNoYXJlcykKKwkJc2hhcmVzID0gdGctPnNoYXJlczsKKworCWlmICghc2QtPnBhcmVudCB8fCAhKHNkLT5wYXJlbnQtPmZsYWdzICYgU0RfTE9BRF9CQUxBTkNFKSkKKwkJc2hhcmVzID0gdGctPnNoYXJlczsKKworCWlmICghcnFfd2VpZ2h0KQorCQlycV93ZWlnaHQgPSBjcHVzX3dlaWdodChzZC0+c3BhbikgKiBOSUNFXzBfTE9BRDsKKworCWZvcl9lYWNoX2NwdV9tYXNrKGksIHNkLT5zcGFuKSB7CisJCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoaSk7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CisJCV9fdXBkYXRlX2dyb3VwX3NoYXJlc19jcHUodGcsIGksIHNoYXJlcywgcnFfd2VpZ2h0KTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKKwl9Cit9CisKKy8qCisgKiBDb21wdXRlIHRoZSBjcHUncyBoaWVyYXJjaGljYWwgbG9hZCBmYWN0b3IgZm9yIGVhY2ggdGFzayBncm91cC4KKyAqIFRoaXMgbmVlZHMgdG8gYmUgZG9uZSBpbiBhIHRvcC1kb3duIGZhc2hpb24gYmVjYXVzZSB0aGUgbG9hZCBvZiBhIGNoaWxkCisgKiBncm91cCBpcyBhIGZyYWN0aW9uIG9mIGl0cyBwYXJlbnRzIGxvYWQuCisgKi8KK3N0YXRpYyB2b2lkCit0Z19sb2FkX2Rvd24oc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKK3sKKwl1bnNpZ25lZCBsb25nIGxvYWQ7CisKKwlpZiAoIXRnLT5wYXJlbnQpIHsKKwkJbG9hZCA9IGNwdV9ycShjcHUpLT5sb2FkLndlaWdodDsKKwl9IGVsc2UgeworCQlsb2FkID0gdGctPnBhcmVudC0+Y2ZzX3JxW2NwdV0tPmhfbG9hZDsKKwkJbG9hZCAqPSB0Zy0+Y2ZzX3JxW2NwdV0tPnNoYXJlczsKKwkJbG9hZCAvPSB0Zy0+cGFyZW50LT5jZnNfcnFbY3B1XS0+bG9hZC53ZWlnaHQgKyAxOworCX0KKworCXRnLT5jZnNfcnFbY3B1XS0+aF9sb2FkID0gbG9hZDsKK30KKworc3RhdGljIHZvaWQKK3RnX25vcChzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfc2hhcmVzKHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXU2NCBub3cgPSBjcHVfY2xvY2socmF3X3NtcF9wcm9jZXNzb3JfaWQoKSk7CisJczY0IGVsYXBzZWQgPSBub3cgLSBzZC0+bGFzdF91cGRhdGU7CisKKwlpZiAoZWxhcHNlZCA+PSAoczY0KSh1NjQpc3lzY3RsX3NjaGVkX3NoYXJlc19yYXRlbGltaXQpIHsKKwkJc2QtPmxhc3RfdXBkYXRlID0gbm93OworCQl3YWxrX3RnX3RyZWUodGdfbm9wLCB0Z19zaGFyZXNfdXAsIDAsIHNkKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9zaGFyZXNfbG9ja2VkKHN0cnVjdCBycSAqcnEsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXNwaW5fdW5sb2NrKCZycS0+bG9jayk7CisJdXBkYXRlX3NoYXJlcyhzZCk7CisJc3Bpbl9sb2NrKCZycS0+bG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9oX2xvYWQoaW50IGNwdSkKK3sKKwl3YWxrX3RnX3RyZWUodGdfbG9hZF9kb3duLCB0Z19ub3AsIGNwdSwgTlVMTCk7Cit9CisKKyNlbHNlCisKK3N0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVfc2hhcmVzKHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX3NoYXJlc19sb2NrZWQoc3RydWN0IHJxICpycSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7Cit9CisKKyNlbmRpZgorCisjZW5kaWYKIAogI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECiBzdGF0aWMgdm9pZCBjZnNfcnFfc2V0X3NoYXJlcyhzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHVuc2lnbmVkIGxvbmcgc2hhcmVzKQogeworI2lmZGVmIENPTkZJR19TTVAKKwljZnNfcnEtPnNoYXJlcyA9IHNoYXJlczsKKyNlbmRpZgogfQogI2VuZGlmCiAKLSNlbmRpZiAvKiBDT05GSUdfU01QICovCi0KICNpbmNsdWRlICJzY2hlZF9zdGF0cy5oIgogI2luY2x1ZGUgInNjaGVkX2lkbGV0YXNrLmMiCiAjaW5jbHVkZSAic2NoZWRfZmFpci5jIgpAQCAtMTUwMCwyNyArMTY3OCwxNyBAQAogI2VuZGlmCiAKICNkZWZpbmUgc2NoZWRfY2xhc3NfaGlnaGVzdCAoJnJ0X3NjaGVkX2NsYXNzKQorI2RlZmluZSBmb3JfZWFjaF9jbGFzcyhjbGFzcykgXAorICAgZm9yIChjbGFzcyA9IHNjaGVkX2NsYXNzX2hpZ2hlc3Q7IGNsYXNzOyBjbGFzcyA9IGNsYXNzLT5uZXh0KQogCi1zdGF0aWMgaW5saW5lIHZvaWQgaW5jX2xvYWQoc3RydWN0IHJxICpycSwgY29uc3Qgc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXVwZGF0ZV9sb2FkX2FkZCgmcnEtPmxvYWQsIHAtPnNlLmxvYWQud2VpZ2h0KTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGRlY19sb2FkKHN0cnVjdCBycSAqcnEsIGNvbnN0IHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQl1cGRhdGVfbG9hZF9zdWIoJnJxLT5sb2FkLCBwLT5zZS5sb2FkLndlaWdodCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGluY19ucl9ydW5uaW5nKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IHJxICpycSkKK3N0YXRpYyB2b2lkIGluY19ucl9ydW5uaW5nKHN0cnVjdCBycSAqcnEpCiB7CiAJcnEtPm5yX3J1bm5pbmcrKzsKLQlpbmNfbG9hZChycSwgcCk7CiB9CiAKLXN0YXRpYyB2b2lkIGRlY19ucl9ydW5uaW5nKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IHJxICpycSkKK3N0YXRpYyB2b2lkIGRlY19ucl9ydW5uaW5nKHN0cnVjdCBycSAqcnEpCiB7CiAJcnEtPm5yX3J1bm5pbmctLTsKLQlkZWNfbG9hZChycSwgcCk7CiB9CiAKIHN0YXRpYyB2b2lkIHNldF9sb2FkX3dlaWdodChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCkBAIC0xNTQ0LDYgKzE3MTIsMTIgQEAKIAlwLT5zZS5sb2FkLmludl93ZWlnaHQgPSBwcmlvX3RvX3dtdWx0W3AtPnN0YXRpY19wcmlvIC0gTUFYX1JUX1BSSU9dOwogfQogCitzdGF0aWMgdm9pZCB1cGRhdGVfYXZnKHU2NCAqYXZnLCB1NjQgc2FtcGxlKQoreworCXM2NCBkaWZmID0gc2FtcGxlIC0gKmF2ZzsKKwkqYXZnICs9IGRpZmYgPj4gMzsKK30KKwogc3RhdGljIHZvaWQgZW5xdWV1ZV90YXNrKHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHdha2V1cCkKIHsKIAlzY2hlZF9pbmZvX3F1ZXVlZChwKTsKQEAgLTE1NTMsNiArMTcyNywxMyBAQAogCiBzdGF0aWMgdm9pZCBkZXF1ZXVlX3Rhc2soc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgc2xlZXApCiB7CisJaWYgKHNsZWVwICYmIHAtPnNlLmxhc3Rfd2FrZXVwKSB7CisJCXVwZGF0ZV9hdmcoJnAtPnNlLmF2Z19vdmVybGFwLAorCQkJICAgcC0+c2Uuc3VtX2V4ZWNfcnVudGltZSAtIHAtPnNlLmxhc3Rfd2FrZXVwKTsKKwkJcC0+c2UubGFzdF93YWtldXAgPSAwOworCX0KKworCXNjaGVkX2luZm9fZGVxdWV1ZWQocCk7CiAJcC0+c2NoZWRfY2xhc3MtPmRlcXVldWVfdGFzayhycSwgcCwgc2xlZXApOwogCXAtPnNlLm9uX3JxID0gMDsKIH0KQEAgLTE2MTIsNyArMTc5Myw3IEBACiAJCXJxLT5ucl91bmludGVycnVwdGlibGUtLTsKIAogCWVucXVldWVfdGFzayhycSwgcCwgd2FrZXVwKTsKLQlpbmNfbnJfcnVubmluZyhwLCBycSk7CisJaW5jX25yX3J1bm5pbmcocnEpOwogfQogCiAvKgpAQCAtMTYyNCw3ICsxODA1LDcgQEAKIAkJcnEtPm5yX3VuaW50ZXJydXB0aWJsZSsrOwogCiAJZGVxdWV1ZV90YXNrKHJxLCBwLCBzbGVlcCk7Ci0JZGVjX25yX3J1bm5pbmcocCwgcnEpOworCWRlY19ucl9ydW5uaW5nKHJxKTsKIH0KIAogLyoqCkBAIC0xNjM2LDEyICsxODE3LDYgQEAKIAlyZXR1cm4gY3B1X2N1cnIodGFza19jcHUocCkpID09IHA7CiB9CiAKLS8qIFVzZWQgaW5zdGVhZCBvZiBzb3VyY2VfbG9hZCB3aGVuIHdlIGtub3cgdGhlIHR5cGUgPT0gMCAqLwotdW5zaWduZWQgbG9uZyB3ZWlnaHRlZF9jcHVsb2FkKGNvbnN0IGludCBjcHUpCi17Ci0JcmV0dXJuIGNwdV9ycShjcHUpLT5sb2FkLndlaWdodDsKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X3Rhc2tfY3B1KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdW5zaWduZWQgaW50IGNwdSkKIHsKIAlzZXRfdGFza19ycShwLCBjcHUpOwpAQCAtMTY3MCw2ICsxODQ1LDEyIEBACiAKICNpZmRlZiBDT05GSUdfU01QCiAKKy8qIFVzZWQgaW5zdGVhZCBvZiBzb3VyY2VfbG9hZCB3aGVuIHdlIGtub3cgdGhlIHR5cGUgPT0gMCAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgd2VpZ2h0ZWRfY3B1bG9hZChjb25zdCBpbnQgY3B1KQoreworCXJldHVybiBjcHVfcnEoY3B1KS0+bG9hZC53ZWlnaHQ7Cit9CisKIC8qCiAgKiBJcyB0aGlzIHRhc2sgbGlrZWx5IGNhY2hlLWhvdDoKICAqLwpAQCAtMTg4MCw3ICsyMDYxLDcgQEAKIAlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGNwdSk7CiAJdW5zaWduZWQgbG9uZyB0b3RhbCA9IHdlaWdodGVkX2NwdWxvYWQoY3B1KTsKIAotCWlmICh0eXBlID09IDApCisJaWYgKHR5cGUgPT0gMCB8fCAhc2NoZWRfZmVhdChMQl9CSUFTKSkKIAkJcmV0dXJuIHRvdGFsOwogCiAJcmV0dXJuIG1pbihycS0+Y3B1X2xvYWRbdHlwZS0xXSwgdG90YWwpOwpAQCAtMTg5NSwyNSArMjA3NiwxMyBAQAogCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKIAl1bnNpZ25lZCBsb25nIHRvdGFsID0gd2VpZ2h0ZWRfY3B1bG9hZChjcHUpOwogCi0JaWYgKHR5cGUgPT0gMCkKKwlpZiAodHlwZSA9PSAwIHx8ICFzY2hlZF9mZWF0KExCX0JJQVMpKQogCQlyZXR1cm4gdG90YWw7CiAKIAlyZXR1cm4gbWF4KHJxLT5jcHVfbG9hZFt0eXBlLTFdLCB0b3RhbCk7CiB9CiAKIC8qCi0gKiBSZXR1cm4gdGhlIGF2ZXJhZ2UgbG9hZCBwZXIgdGFzayBvbiB0aGUgY3B1J3MgcnVuIHF1ZXVlCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGNwdV9hdmdfbG9hZF9wZXJfdGFzayhpbnQgY3B1KQotewotCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKLQl1bnNpZ25lZCBsb25nIHRvdGFsID0gd2VpZ2h0ZWRfY3B1bG9hZChjcHUpOwotCXVuc2lnbmVkIGxvbmcgbiA9IHJxLT5ucl9ydW5uaW5nOwotCi0JcmV0dXJuIG4gPyB0b3RhbCAvIG4gOiBTQ0hFRF9MT0FEX1NDQUxFOwotfQotCi0vKgogICogZmluZF9pZGxlc3RfZ3JvdXAgZmluZHMgYW5kIHJldHVybnMgdGhlIGxlYXN0IGJ1c3kgQ1BVIGdyb3VwIHdpdGhpbiB0aGUKICAqIGRvbWFpbi4KICAqLwpAQCAtMjAxOSw2ICsyMTg4LDkgQEAKIAkJCXNkID0gdG1wOwogCX0KIAorCWlmIChzZCkKKwkJdXBkYXRlX3NoYXJlcyhzZCk7CisKIAl3aGlsZSAoc2QpIHsKIAkJY3B1bWFza190IHNwYW4sIHRtcG1hc2s7CiAJCXN0cnVjdCBzY2hlZF9ncm91cCAqZ3JvdXA7CkBAIC0yMDg1LDYgKzIyNTcsMjIgQEAKIAlpZiAoIXNjaGVkX2ZlYXQoU1lOQ19XQUtFVVBTKSkKIAkJc3luYyA9IDA7CiAKKyNpZmRlZiBDT05GSUdfU01QCisJaWYgKHNjaGVkX2ZlYXQoTEJfV0FLRVVQX1VQREFURSkpIHsKKwkJc3RydWN0IHNjaGVkX2RvbWFpbiAqc2Q7CisKKwkJdGhpc19jcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCQljcHUgPSB0YXNrX2NwdShwKTsKKworCQlmb3JfZWFjaF9kb21haW4odGhpc19jcHUsIHNkKSB7CisJCQlpZiAoY3B1X2lzc2V0KGNwdSwgc2QtPnNwYW4pKSB7CisJCQkJdXBkYXRlX3NoYXJlcyhzZCk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisjZW5kaWYKKwogCXNtcF93bWIoKTsKIAlycSA9IHRhc2tfcnFfbG9jayhwLCAmZmxhZ3MpOwogCW9sZF9zdGF0ZSA9IHAtPnN0YXRlOwpAQCAtMjEzMSw3ICsyMzE5LDcgQEAKIAkJCX0KIAkJfQogCX0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TQ0hFRFNUQVRTICovCiAKIG91dF9hY3RpdmF0ZToKICNlbmRpZiAvKiBDT05GSUdfU01QICovCkBAIC0yMTQ5LDYgKzIzMzcsOSBAQAogCXN1Y2Nlc3MgPSAxOwogCiBvdXRfcnVubmluZzoKKwl0cmFjZV9tYXJrKGtlcm5lbF9zY2hlZF93YWtldXAsCisJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQlwLT5waWQsIHAtPnN0YXRlLCBycSwgcCwgcnEtPmN1cnIpOwogCWNoZWNrX3ByZWVtcHRfY3VycihycSwgcCk7CiAKIAlwLT5zdGF0ZSA9IFRBU0tfUlVOTklORzsKQEAgLTIxNTcsNiArMjM0OCw4IEBACiAJCXAtPnNjaGVkX2NsYXNzLT50YXNrX3dha2VfdXAocnEsIHApOwogI2VuZGlmCiBvdXQ6CisJY3VycmVudC0+c2UubGFzdF93YWtldXAgPSBjdXJyZW50LT5zZS5zdW1fZXhlY19ydW50aW1lOworCiAJdGFza19ycV91bmxvY2socnEsICZmbGFncyk7CiAKIAlyZXR1cm4gc3VjY2VzczsKQEAgLTIyNzcsOCArMjQ3MCwxMSBAQAogCQkgKiBtYW5hZ2VtZW50IChpZiBhbnkpOgogCQkgKi8KIAkJcC0+c2NoZWRfY2xhc3MtPnRhc2tfbmV3KHJxLCBwKTsKLQkJaW5jX25yX3J1bm5pbmcocCwgcnEpOworCQlpbmNfbnJfcnVubmluZyhycSk7CiAJfQorCXRyYWNlX21hcmsoa2VybmVsX3NjaGVkX3dha2V1cF9uZXcsCisJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQlwLT5waWQsIHAtPnN0YXRlLCBycSwgcCwgcnEtPmN1cnIpOwogCWNoZWNrX3ByZWVtcHRfY3VycihycSwgcCk7CiAjaWZkZWYgQ09ORklHX1NNUAogCWlmIChwLT5zY2hlZF9jbGFzcy0+dGFza193YWtlX3VwKQpAQCAtMjMzMSw3ICsyNTI3LDcgQEAKIAkJbm90aWZpZXItPm9wcy0+c2NoZWRfb3V0KG5vdGlmaWVyLCBuZXh0KTsKIH0KIAotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfUFJFRU1QVF9OT1RJRklFUlMgKi8KIAogc3RhdGljIHZvaWQgZmlyZV9zY2hlZF9pbl9wcmVlbXB0X25vdGlmaWVycyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIpCiB7CkBAIC0yMzQzLDcgKzI1MzksNyBAQAogewogfQogCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUFJFRU1QVF9OT1RJRklFUlMgKi8KIAogLyoqCiAgKiBwcmVwYXJlX3Rhc2tfc3dpdGNoIC0gcHJlcGFyZSB0byBzd2l0Y2ggdGFza3MKQEAgLTI0NTEsNiArMjY0NywxMSBAQAogCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCAqb2xkbW07CiAKIAlwcmVwYXJlX3Rhc2tfc3dpdGNoKHJxLCBwcmV2LCBuZXh0KTsKKwl0cmFjZV9tYXJrKGtlcm5lbF9zY2hlZF9zY2hlZHVsZSwKKwkJInByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICIKKwkJIiMjIHJxICVwIHByZXYgJXAgbmV4dCAlcCIsCisJCXByZXYtPnBpZCwgbmV4dC0+cGlkLCBwcmV2LT5zdGF0ZSwKKwkJcnEsIHByZXYsIG5leHQpOwogCW1tID0gbmV4dC0+bW07CiAJb2xkbW0gPSBwcmV2LT5hY3RpdmVfbW07CiAJLyoKQEAgLTI3ODUsNyArMjk4Niw3IEBACiAJICAgICAgZW51bSBjcHVfaWRsZV90eXBlIGlkbGUsIGludCAqYWxsX3Bpbm5lZCwKIAkgICAgICBpbnQgKnRoaXNfYmVzdF9wcmlvLCBzdHJ1Y3QgcnFfaXRlcmF0b3IgKml0ZXJhdG9yKQogewotCWludCBsb29wcyA9IDAsIHB1bGxlZCA9IDAsIHBpbm5lZCA9IDAsIHNraXBfZm9yX2xvYWQ7CisJaW50IGxvb3BzID0gMCwgcHVsbGVkID0gMCwgcGlubmVkID0gMDsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CiAJbG9uZyByZW1fbG9hZF9tb3ZlID0gbWF4X2xvYWRfbW92ZTsKIApAQCAtMjgwMSwxNCArMzAwMiw4IEBACiBuZXh0OgogCWlmICghcCB8fCBsb29wcysrID4gc3lzY3RsX3NjaGVkX25yX21pZ3JhdGUpCiAJCWdvdG8gb3V0OwotCS8qCi0JICogVG8gaGVscCBkaXN0cmlidXRlIGhpZ2ggcHJpb3JpdHkgdGFza3MgYWNyb3NzIENQVXMgd2UgZG9uJ3QKLQkgKiBza2lwIGEgdGFzayBpZiBpdCB3aWxsIGJlIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgKGkuZS4gc21hbGxlc3QKLQkgKiBwcmlvIHZhbHVlKSBvbiBpdHMgbmV3IHF1ZXVlIHJlZ2FyZGxlc3Mgb2YgaXRzIGxvYWQgd2VpZ2h0Ci0JICovCi0Jc2tpcF9mb3JfbG9hZCA9IChwLT5zZS5sb2FkLndlaWdodCA+PiAxKSA+IHJlbV9sb2FkX21vdmUgKwotCQkJCQkJCSBTQ0hFRF9MT0FEX1NDQUxFX0ZVWlo7Ci0JaWYgKChza2lwX2Zvcl9sb2FkICYmIHAtPnByaW8gPj0gKnRoaXNfYmVzdF9wcmlvKSB8fAorCisJaWYgKChwLT5zZS5sb2FkLndlaWdodCA+PiAxKSA+IHJlbV9sb2FkX21vdmUgfHwKIAkgICAgIWNhbl9taWdyYXRlX3Rhc2socCwgYnVzaWVzdCwgdGhpc19jcHUsIHNkLCBpZGxlLCAmcGlubmVkKSkgewogCQlwID0gaXRlcmF0b3ItPm5leHQoaXRlcmF0b3ItPmFyZyk7CiAJCWdvdG8gbmV4dDsKQEAgLTI4NjMsNiArMzA1OCwxMCBAQAogCQkJCW1heF9sb2FkX21vdmUgLSB0b3RhbF9sb2FkX21vdmVkLAogCQkJCXNkLCBpZGxlLCBhbGxfcGlubmVkLCAmdGhpc19iZXN0X3ByaW8pOwogCQljbGFzcyA9IGNsYXNzLT5uZXh0OworCisJCWlmIChpZGxlID09IENQVV9ORVdMWV9JRExFICYmIHRoaXNfcnEtPm5yX3J1bm5pbmcpCisJCQlicmVhazsKKwogCX0gd2hpbGUgKGNsYXNzICYmIG1heF9sb2FkX21vdmUgPiB0b3RhbF9sb2FkX21vdmVkKTsKIAogCXJldHVybiB0b3RhbF9sb2FkX21vdmVkID4gMDsKQEAgLTI5MzksNiArMzEzOCw3IEBACiAJbWF4X2xvYWQgPSB0aGlzX2xvYWQgPSB0b3RhbF9sb2FkID0gdG90YWxfcHdyID0gMDsKIAlidXNpZXN0X2xvYWRfcGVyX3Rhc2sgPSBidXNpZXN0X25yX3J1bm5pbmcgPSAwOwogCXRoaXNfbG9hZF9wZXJfdGFzayA9IHRoaXNfbnJfcnVubmluZyA9IDA7CisKIAlpZiAoaWRsZSA9PSBDUFVfTk9UX0lETEUpCiAJCWxvYWRfaWR4ID0gc2QtPmJ1c3lfaWR4OwogCWVsc2UgaWYgKGlkbGUgPT0gQ1BVX05FV0xZX0lETEUpCkBAIC0yOTUzLDYgKzMxNTMsOCBAQAogCQlpbnQgX19ncm91cF9pbWIgPSAwOwogCQl1bnNpZ25lZCBpbnQgYmFsYW5jZV9jcHUgPSAtMSwgZmlyc3RfaWRsZV9jcHUgPSAwOwogCQl1bnNpZ25lZCBsb25nIHN1bV9ucl9ydW5uaW5nLCBzdW1fd2VpZ2h0ZWRfbG9hZDsKKwkJdW5zaWduZWQgbG9uZyBzdW1fYXZnX2xvYWRfcGVyX3Rhc2s7CisJCXVuc2lnbmVkIGxvbmcgYXZnX2xvYWRfcGVyX3Rhc2s7CiAKIAkJbG9jYWxfZ3JvdXAgPSBjcHVfaXNzZXQodGhpc19jcHUsIGdyb3VwLT5jcHVtYXNrKTsKIApAQCAtMjk2MSw2ICszMTYzLDggQEAKIAogCQkvKiBUYWxseSB1cCB0aGUgbG9hZCBvZiBhbGwgQ1BVcyBpbiB0aGUgZ3JvdXAgKi8KIAkJc3VtX3dlaWdodGVkX2xvYWQgPSBzdW1fbnJfcnVubmluZyA9IGF2Z19sb2FkID0gMDsKKwkJc3VtX2F2Z19sb2FkX3Blcl90YXNrID0gYXZnX2xvYWRfcGVyX3Rhc2sgPSAwOworCiAJCW1heF9jcHVfbG9hZCA9IDA7CiAJCW1pbl9jcHVfbG9hZCA9IH4wVUw7CiAKQEAgLTI5OTQsNiArMzE5OCw4IEBACiAJCQlhdmdfbG9hZCArPSBsb2FkOwogCQkJc3VtX25yX3J1bm5pbmcgKz0gcnEtPm5yX3J1bm5pbmc7CiAJCQlzdW1fd2VpZ2h0ZWRfbG9hZCArPSB3ZWlnaHRlZF9jcHVsb2FkKGkpOworCisJCQlzdW1fYXZnX2xvYWRfcGVyX3Rhc2sgKz0gY3B1X2F2Z19sb2FkX3Blcl90YXNrKGkpOwogCQl9CiAKIAkJLyoKQEAgLTMwMTUsNyArMzIyMSwyMCBAQAogCQlhdmdfbG9hZCA9IHNnX2Rpdl9jcHVfcG93ZXIoZ3JvdXAsCiAJCQkJYXZnX2xvYWQgKiBTQ0hFRF9MT0FEX1NDQUxFKTsKIAotCQlpZiAoKG1heF9jcHVfbG9hZCAtIG1pbl9jcHVfbG9hZCkgPiBTQ0hFRF9MT0FEX1NDQUxFKQorCisJCS8qCisJCSAqIENvbnNpZGVyIHRoZSBncm91cCB1bmJhbGFuY2VkIHdoZW4gdGhlIGltYmFsYW5jZSBpcyBsYXJnZXIKKwkJICogdGhhbiB0aGUgYXZlcmFnZSB3ZWlnaHQgb2YgdHdvIHRhc2tzLgorCQkgKgorCQkgKiBBUFo6IHdpdGggY2dyb3VwIHRoZSBhdmcgdGFzayB3ZWlnaHQgY2FuIHZhcnkgd2lsZGx5IGFuZAorCQkgKiAgICAgIG1pZ2h0IG5vdCBiZSBhIHN1aXRhYmxlIG51bWJlciAtIHNob3VsZCB3ZSBrZWVwIGEKKwkJICogICAgICBub3JtYWxpemVkIG5yX3J1bm5pbmcgbnVtYmVyIHNvbWV3aGVyZSB0aGF0IG5lZ2F0ZXMKKwkJICogICAgICB0aGUgaGllcmFyY2h5PworCQkgKi8KKwkJYXZnX2xvYWRfcGVyX3Rhc2sgPSBzZ19kaXZfY3B1X3Bvd2VyKGdyb3VwLAorCQkJCXN1bV9hdmdfbG9hZF9wZXJfdGFzayAqIFNDSEVEX0xPQURfU0NBTEUpOworCisJCWlmICgobWF4X2NwdV9sb2FkIC0gbWluX2NwdV9sb2FkKSA+IDIqYXZnX2xvYWRfcGVyX3Rhc2spCiAJCQlfX2dyb3VwX2ltYiA9IDE7CiAKIAkJZ3JvdXBfY2FwYWNpdHkgPSBncm91cC0+X19jcHVfcG93ZXIgLyBTQ0hFRF9MT0FEX1NDQUxFOwpAQCAtMzE1Niw5ICszMzc1LDkgQEAKIAkJCWlmIChidXNpZXN0X2xvYWRfcGVyX3Rhc2sgPiB0aGlzX2xvYWRfcGVyX3Rhc2spCiAJCQkJaW1ibiA9IDE7CiAJCX0gZWxzZQotCQkJdGhpc19sb2FkX3Blcl90YXNrID0gU0NIRURfTE9BRF9TQ0FMRTsKKwkJCXRoaXNfbG9hZF9wZXJfdGFzayA9IGNwdV9hdmdfbG9hZF9wZXJfdGFzayh0aGlzX2NwdSk7CiAKLQkJaWYgKG1heF9sb2FkIC0gdGhpc19sb2FkICsgU0NIRURfTE9BRF9TQ0FMRV9GVVpaID49CisJCWlmIChtYXhfbG9hZCAtIHRoaXNfbG9hZCArIDIqYnVzaWVzdF9sb2FkX3Blcl90YXNrID49CiAJCQkJCWJ1c2llc3RfbG9hZF9wZXJfdGFzayAqIGltYm4pIHsKIAkJCSppbWJhbGFuY2UgPSBidXNpZXN0X2xvYWRfcGVyX3Rhc2s7CiAJCQlyZXR1cm4gYnVzaWVzdDsKQEAgLTMyODQsNiArMzUwMyw3IEBACiAJc2NoZWRzdGF0X2luYyhzZCwgbGJfY291bnRbaWRsZV0pOwogCiByZWRvOgorCXVwZGF0ZV9zaGFyZXMoc2QpOwogCWdyb3VwID0gZmluZF9idXNpZXN0X2dyb3VwKHNkLCB0aGlzX2NwdSwgJmltYmFsYW5jZSwgaWRsZSwgJnNkX2lkbGUsCiAJCQkJICAgY3B1cywgYmFsYW5jZSk7CiAKQEAgLTMzODYsOCArMzYwNiw5IEBACiAKIAlpZiAoIWxkX21vdmVkICYmICFzZF9pZGxlICYmIHNkLT5mbGFncyAmIFNEX1NIQVJFX0NQVVBPV0VSICYmCiAJICAgICF0ZXN0X3NkX3BhcmVudChzZCwgU0RfUE9XRVJTQVZJTkdTX0JBTEFOQ0UpKQotCQlyZXR1cm4gLTE7Ci0JcmV0dXJuIGxkX21vdmVkOworCQlsZF9tb3ZlZCA9IC0xOworCisJZ290byBvdXQ7CiAKIG91dF9iYWxhbmNlZDoKIAlzY2hlZHN0YXRfaW5jKHNkLCBsYl9iYWxhbmNlZFtpZGxlXSk7CkBAIC0zNDAyLDggKzM2MjMsMTMgQEAKIAogCWlmICghc2RfaWRsZSAmJiBzZC0+ZmxhZ3MgJiBTRF9TSEFSRV9DUFVQT1dFUiAmJgogCSAgICAhdGVzdF9zZF9wYXJlbnQoc2QsIFNEX1BPV0VSU0FWSU5HU19CQUxBTkNFKSkKLQkJcmV0dXJuIC0xOwotCXJldHVybiAwOworCQlsZF9tb3ZlZCA9IC0xOworCWVsc2UKKwkJbGRfbW92ZWQgPSAwOworb3V0OgorCWlmIChsZF9tb3ZlZCkKKwkJdXBkYXRlX3NoYXJlcyhzZCk7CisJcmV0dXJuIGxkX21vdmVkOwogfQogCiAvKgpAQCAtMzQzOCw2ICszNjY0LDcgQEAKIAogCXNjaGVkc3RhdF9pbmMoc2QsIGxiX2NvdW50W0NQVV9ORVdMWV9JRExFXSk7CiByZWRvOgorCXVwZGF0ZV9zaGFyZXNfbG9ja2VkKHRoaXNfcnEsIHNkKTsKIAlncm91cCA9IGZpbmRfYnVzaWVzdF9ncm91cChzZCwgdGhpc19jcHUsICZpbWJhbGFuY2UsIENQVV9ORVdMWV9JRExFLAogCQkJCSAgICZzZF9pZGxlLCBjcHVzLCBOVUxMKTsKIAlpZiAoIWdyb3VwKSB7CkBAIC0zNDgxLDYgKzM3MDgsNyBAQAogCX0gZWxzZQogCQlzZC0+bnJfYmFsYW5jZV9mYWlsZWQgPSAwOwogCisJdXBkYXRlX3NoYXJlc19sb2NrZWQodGhpc19ycSwgc2QpOwogCXJldHVybiBsZF9tb3ZlZDsKIAogb3V0X2JhbGFuY2VkOgpAQCAtMzY3Miw2ICszOTAwLDcgQEAKIAkvKiBFYXJsaWVzdCB0aW1lIHdoZW4gd2UgaGF2ZSB0byBkbyByZWJhbGFuY2UgYWdhaW4gKi8KIAl1bnNpZ25lZCBsb25nIG5leHRfYmFsYW5jZSA9IGppZmZpZXMgKyA2MCpIWjsKIAlpbnQgdXBkYXRlX25leHRfYmFsYW5jZSA9IDA7CisJaW50IG5lZWRfc2VyaWFsaXplOwogCWNwdW1hc2tfdCB0bXA7CiAKIAlmb3JfZWFjaF9kb21haW4oY3B1LCBzZCkgewpAQCAtMzY4OSw4ICszOTE4LDkgQEAKIAkJaWYgKGludGVydmFsID4gSFoqTlJfQ1BVUy8xMCkKIAkJCWludGVydmFsID0gSFoqTlJfQ1BVUy8xMDsKIAorCQluZWVkX3NlcmlhbGl6ZSA9IHNkLT5mbGFncyAmIFNEX1NFUklBTElaRTsKIAotCQlpZiAoc2QtPmZsYWdzICYgU0RfU0VSSUFMSVpFKSB7CisJCWlmIChuZWVkX3NlcmlhbGl6ZSkgewogCQkJaWYgKCFzcGluX3RyeWxvY2soJmJhbGFuY2luZykpCiAJCQkJZ290byBvdXQ7CiAJCX0KQEAgLTM3MDYsNyArMzkzNiw3IEBACiAJCQl9CiAJCQlzZC0+bGFzdF9iYWxhbmNlID0gamlmZmllczsKIAkJfQotCQlpZiAoc2QtPmZsYWdzICYgU0RfU0VSSUFMSVpFKQorCQlpZiAobmVlZF9zZXJpYWxpemUpCiAJCQlzcGluX3VubG9jaygmYmFsYW5jaW5nKTsKIG91dDoKIAkJaWYgKHRpbWVfYWZ0ZXIobmV4dF9iYWxhbmNlLCBzZC0+bGFzdF9iYWxhbmNlICsgaW50ZXJ2YWwpKSB7CkBAIC00MDIxLDI2ICs0MjUxLDQ0IEBACiAjZW5kaWYKIH0KIAotI2lmIGRlZmluZWQoQ09ORklHX1BSRUVNUFQpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX1BSRUVNUFQpCisjaWYgZGVmaW5lZChDT05GSUdfUFJFRU1QVCkgJiYgKGRlZmluZWQoQ09ORklHX0RFQlVHX1BSRUVNUFQpIHx8IFwKKwkJCQlkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikpCisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBnZXRfcGFyZW50X2lwKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlpZiAoaW5fbG9ja19mdW5jdGlvbnMoYWRkcikpIHsKKwkJYWRkciA9IENBTExFUl9BRERSMjsKKwkJaWYgKGluX2xvY2tfZnVuY3Rpb25zKGFkZHIpKQorCQkJYWRkciA9IENBTExFUl9BRERSMzsKKwl9CisJcmV0dXJuIGFkZHI7Cit9CiAKIHZvaWQgX19rcHJvYmVzIGFkZF9wcmVlbXB0X2NvdW50KGludCB2YWwpCiB7CisjaWZkZWYgQ09ORklHX0RFQlVHX1BSRUVNUFQKIAkvKgogCSAqIFVuZGVyZmxvdz8KIAkgKi8KIAlpZiAoREVCVUdfTE9DS1NfV0FSTl9PTigocHJlZW1wdF9jb3VudCgpIDwgMCkpKQogCQlyZXR1cm47CisjZW5kaWYKIAlwcmVlbXB0X2NvdW50KCkgKz0gdmFsOworI2lmZGVmIENPTkZJR19ERUJVR19QUkVFTVBUCiAJLyoKIAkgKiBTcGlubG9jayBjb3VudCBvdmVyZmxvd2luZyBzb29uPwogCSAqLwogCURFQlVHX0xPQ0tTX1dBUk5fT04oKHByZWVtcHRfY291bnQoKSAmIFBSRUVNUFRfTUFTSykgPj0KIAkJCQlQUkVFTVBUX01BU0sgLSAxMCk7CisjZW5kaWYKKwlpZiAocHJlZW1wdF9jb3VudCgpID09IHZhbCkKKwkJdHJhY2VfcHJlZW1wdF9vZmYoQ0FMTEVSX0FERFIwLCBnZXRfcGFyZW50X2lwKENBTExFUl9BRERSMSkpOwogfQogRVhQT1JUX1NZTUJPTChhZGRfcHJlZW1wdF9jb3VudCk7CiAKIHZvaWQgX19rcHJvYmVzIHN1Yl9wcmVlbXB0X2NvdW50KGludCB2YWwpCiB7CisjaWZkZWYgQ09ORklHX0RFQlVHX1BSRUVNUFQKIAkvKgogCSAqIFVuZGVyZmxvdz8KIAkgKi8KQEAgLTQwNTIsNyArNDMwMCwxMCBAQAogCWlmIChERUJVR19MT0NLU19XQVJOX09OKCh2YWwgPCBQUkVFTVBUX01BU0spICYmCiAJCQkhKHByZWVtcHRfY291bnQoKSAmIFBSRUVNUFRfTUFTSykpKQogCQlyZXR1cm47CisjZW5kaWYKIAorCWlmIChwcmVlbXB0X2NvdW50KCkgPT0gdmFsKQorCQl0cmFjZV9wcmVlbXB0X29uKENBTExFUl9BRERSMCwgZ2V0X3BhcmVudF9pcChDQUxMRVJfQUREUjEpKTsKIAlwcmVlbXB0X2NvdW50KCkgLT0gdmFsOwogfQogRVhQT1JUX1NZTUJPTChzdWJfcHJlZW1wdF9jb3VudCk7CkBAIC00MDcwLDYgKzQzMjEsNyBAQAogCQlwcmV2LT5jb21tLCBwcmV2LT5waWQsIHByZWVtcHRfY291bnQoKSk7CiAKIAlkZWJ1Z19zaG93X2hlbGRfbG9ja3MocHJldik7CisJcHJpbnRfbW9kdWxlcygpOwogCWlmIChpcnFzX2Rpc2FibGVkKCkpCiAJCXByaW50X2lycXRyYWNlX2V2ZW50cyhwcmV2KTsKIApAQCAtNDE0Myw3ICs0Mzk1LDcgQEAKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsICpuZXh0OwogCXVuc2lnbmVkIGxvbmcgKnN3aXRjaF9jb3VudDsKIAlzdHJ1Y3QgcnEgKnJxOwotCWludCBjcHU7CisJaW50IGNwdSwgaHJ0aWNrID0gc2NoZWRfZmVhdChIUlRJQ0spOwogCiBuZWVkX3Jlc2NoZWQ6CiAJcHJlZW1wdF9kaXNhYmxlKCk7CkBAIC00MTU4LDcgKzQ0MTAsOCBAQAogCiAJc2NoZWR1bGVfZGVidWcocHJldik7CiAKLQlocnRpY2tfY2xlYXIocnEpOworCWlmIChocnRpY2spCisJCWhydGlja19jbGVhcihycSk7CiAKIAkvKgogCSAqIERvIHRoZSBycS1jbG9jayB1cGRhdGUgb3V0c2lkZSB0aGUgcnEgbG9jazoKQEAgLTQyMDQsNyArNDQ1Nyw4IEBACiAJfSBlbHNlCiAJCXNwaW5fdW5sb2NrX2lycSgmcnEtPmxvY2spOwogCi0JaHJ0aWNrX3NldChycSk7CisJaWYgKGhydGljaykKKwkJaHJ0aWNrX3NldChycSk7CiAKIAlpZiAodW5saWtlbHkocmVhY3F1aXJlX2tlcm5lbF9sb2NrKGN1cnJlbnQpIDwgMCkpCiAJCWdvdG8gbmVlZF9yZXNjaGVkX25vbnByZWVtcHRpYmxlOwpAQCAtNDU4NiwxMCArNDg0MCw4IEBACiAJCWdvdG8gb3V0X3VubG9jazsKIAl9CiAJb25fcnEgPSBwLT5zZS5vbl9ycTsKLQlpZiAob25fcnEpIHsKKwlpZiAob25fcnEpCiAJCWRlcXVldWVfdGFzayhycSwgcCwgMCk7Ci0JCWRlY19sb2FkKHJxLCBwKTsKLQl9CiAKIAlwLT5zdGF0aWNfcHJpbyA9IE5JQ0VfVE9fUFJJTyhuaWNlKTsKIAlzZXRfbG9hZF93ZWlnaHQocCk7CkBAIC00NTk5LDcgKzQ4NTEsNiBAQAogCiAJaWYgKG9uX3JxKSB7CiAJCWVucXVldWVfdGFzayhycSwgcCwgMCk7Ci0JCWluY19sb2FkKHJxLCBwKTsKIAkJLyoKIAkJICogSWYgdGhlIHRhc2sgaW5jcmVhc2VkIGl0cyBwcmlvcml0eSBvciBpcyBydW5uaW5nIGFuZAogCQkgKiBsb3dlcmVkIGl0cyBwcmlvcml0eSwgdGhlbiByZXNjaGVkdWxlIGl0cyBDUFU6CkBAIC00NzQ0LDE2ICs0OTk1LDggQEAKIAlzZXRfbG9hZF93ZWlnaHQocCk7CiB9CiAKLS8qKgotICogc2NoZWRfc2V0c2NoZWR1bGVyIC0gY2hhbmdlIHRoZSBzY2hlZHVsaW5nIHBvbGljeSBhbmQvb3IgUlQgcHJpb3JpdHkgb2YgYSB0aHJlYWQuCi0gKiBAcDogdGhlIHRhc2sgaW4gcXVlc3Rpb24uCi0gKiBAcG9saWN5OiBuZXcgcG9saWN5LgotICogQHBhcmFtOiBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgbmV3IFJUIHByaW9yaXR5LgotICoKLSAqIE5PVEUgdGhhdCB0aGUgdGFzayBtYXkgYmUgYWxyZWFkeSBkZWFkLgotICovCi1pbnQgc2NoZWRfc2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKLQkJICAgICAgIHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pCitzdGF0aWMgaW50IF9fc2NoZWRfc2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKKwkJCQlzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtLCBib29sIHVzZXIpCiB7CiAJaW50IHJldHZhbCwgb2xkcHJpbywgb2xkcG9saWN5ID0gLTEsIG9uX3JxLCBydW5uaW5nOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC00Nzg1LDcgKzUwMjgsNyBAQAogCS8qCiAJICogQWxsb3cgdW5wcml2aWxlZ2VkIFJUIHRhc2tzIHRvIGRlY3JlYXNlIHByaW9yaXR5OgogCSAqLwotCWlmICghY2FwYWJsZShDQVBfU1lTX05JQ0UpKSB7CisJaWYgKHVzZXIgJiYgIWNhcGFibGUoQ0FQX1NZU19OSUNFKSkgewogCQlpZiAocnRfcG9saWN5KHBvbGljeSkpIHsKIAkJCXVuc2lnbmVkIGxvbmcgcmxpbV9ydHByaW87CiAKQEAgLTQ4MjEsNyArNTA2NCw4IEBACiAJICogRG8gbm90IGFsbG93IHJlYWx0aW1lIHRhc2tzIGludG8gZ3JvdXBzIHRoYXQgaGF2ZSBubyBydW50aW1lCiAJICogYXNzaWduZWQuCiAJICovCi0JaWYgKHJ0X3BvbGljeShwb2xpY3kpICYmIHRhc2tfZ3JvdXAocCktPnJ0X2JhbmR3aWR0aC5ydF9ydW50aW1lID09IDApCisJaWYgKHVzZXIKKwkgICAgJiYgcnRfcG9saWN5KHBvbGljeSkgJiYgdGFza19ncm91cChwKS0+cnRfYmFuZHdpZHRoLnJ0X3J1bnRpbWUgPT0gMCkKIAkJcmV0dXJuIC1FUEVSTTsKICNlbmRpZgogCkBAIC00ODcwLDggKzUxMTQsMzkgQEAKIAogCXJldHVybiAwOwogfQorCisvKioKKyAqIHNjaGVkX3NldHNjaGVkdWxlciAtIGNoYW5nZSB0aGUgc2NoZWR1bGluZyBwb2xpY3kgYW5kL29yIFJUIHByaW9yaXR5IG9mIGEgdGhyZWFkLgorICogQHA6IHRoZSB0YXNrIGluIHF1ZXN0aW9uLgorICogQHBvbGljeTogbmV3IHBvbGljeS4KKyAqIEBwYXJhbTogc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIG5ldyBSVCBwcmlvcml0eS4KKyAqCisgKiBOT1RFIHRoYXQgdGhlIHRhc2sgbWF5IGJlIGFscmVhZHkgZGVhZC4KKyAqLworaW50IHNjaGVkX3NldHNjaGVkdWxlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBwb2xpY3ksCisJCSAgICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKQoreworCXJldHVybiBfX3NjaGVkX3NldHNjaGVkdWxlcihwLCBwb2xpY3ksIHBhcmFtLCB0cnVlKTsKK30KIEVYUE9SVF9TWU1CT0xfR1BMKHNjaGVkX3NldHNjaGVkdWxlcik7CiAKKy8qKgorICogc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2sgLSBjaGFuZ2UgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGFuZC9vciBSVCBwcmlvcml0eSBvZiBhIHRocmVhZCBmcm9tIGtlcm5lbHNwYWNlLgorICogQHA6IHRoZSB0YXNrIGluIHF1ZXN0aW9uLgorICogQHBvbGljeTogbmV3IHBvbGljeS4KKyAqIEBwYXJhbTogc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIG5ldyBSVCBwcmlvcml0eS4KKyAqCisgKiBKdXN0IGxpa2Ugc2NoZWRfc2V0c2NoZWR1bGVyLCBvbmx5IGRvbid0IGJvdGhlciBjaGVja2luZyBpZiB0aGUKKyAqIGN1cnJlbnQgY29udGV4dCBoYXMgcGVybWlzc2lvbi4gIEZvciBleGFtcGxlLCB0aGlzIGlzIG5lZWRlZCBpbgorICogc3RvcF9tYWNoaW5lKCk6IHdlIGNyZWF0ZSB0ZW1wb3JhcnkgaGlnaCBwcmlvcml0eSB3b3JrZXIgdGhyZWFkcywKKyAqIGJ1dCBvdXIgY2FsbGVyIG1pZ2h0IG5vdCBoYXZlIHRoYXQgY2FwYWJpbGl0eS4KKyAqLworaW50IHNjaGVkX3NldHNjaGVkdWxlcl9ub2NoZWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKKwkJCSAgICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKQoreworCXJldHVybiBfX3NjaGVkX3NldHNjaGVkdWxlcihwLCBwb2xpY3ksIHBhcmFtLCBmYWxzZSk7Cit9CisKIHN0YXRpYyBpbnQKIGRvX3NjaGVkX3NldHNjaGVkdWxlcihwaWRfdCBwaWQsIGludCBwb2xpY3ksIHN0cnVjdCBzY2hlZF9wYXJhbSBfX3VzZXIgKnBhcmFtKQogewpAQCAtNTA3MCwyNCArNTM0NSw2IEBACiAJcmV0dXJuIHNjaGVkX3NldGFmZmluaXR5KHBpZCwgJm5ld19tYXNrKTsKIH0KIAotLyoKLSAqIFJlcHJlc2VudHMgYWxsIGNwdSdzIHByZXNlbnQgaW4gdGhlIHN5c3RlbQotICogSW4gc3lzdGVtcyBjYXBhYmxlIG9mIGhvdHBsdWcsIHRoaXMgbWFwIGNvdWxkIGR5bmFtaWNhbGx5IGdyb3cKLSAqIGFzIG5ldyBjcHUncyBhcmUgZGV0ZWN0ZWQgaW4gdGhlIHN5c3RlbSB2aWEgYW55IHBsYXRmb3JtIHNwZWNpZmljCi0gKiBtZXRob2QsIHN1Y2ggYXMgQUNQSSBmb3IgZS5nLgotICovCi0KLWNwdW1hc2tfdCBjcHVfcHJlc2VudF9tYXAgX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woY3B1X3ByZXNlbnRfbWFwKTsKLQotI2lmbmRlZiBDT05GSUdfU01QCi1jcHVtYXNrX3QgY3B1X29ubGluZV9tYXAgX19yZWFkX21vc3RseSA9IENQVV9NQVNLX0FMTDsKLUVYUE9SVF9TWU1CT0woY3B1X29ubGluZV9tYXApOwotCi1jcHVtYXNrX3QgY3B1X3Bvc3NpYmxlX21hcCBfX3JlYWRfbW9zdGx5ID0gQ1BVX01BU0tfQUxMOwotRVhQT1JUX1NZTUJPTChjcHVfcG9zc2libGVfbWFwKTsKLSNlbmRpZgotCiBsb25nIHNjaGVkX2dldGFmZmluaXR5KHBpZF90IHBpZCwgY3B1bWFza190ICptYXNrKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqcDsKQEAgLTUzODQsNyArNTY0MSw3IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgc3RhdF9uYW1bXSA9ICJSU0RUdFpYIjsKK3N0YXRpYyBjb25zdCBjaGFyIHN0YXRfbmFtW10gPSBUQVNLX1NUQVRFX1RPX0NIQVJfU1RSOwogCiB2b2lkIHNjaGVkX3Nob3dfdGFzayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCiB7CkBAIC01NTcxLDYgKzU4MjgsMTIgQEAKIAkJZ290byBvdXQ7CiAJfQogCisJaWYgKHVubGlrZWx5KChwLT5mbGFncyAmIFBGX1RIUkVBRF9CT1VORCkgJiYgcCAhPSBjdXJyZW50ICYmCisJCSAgICAgIWNwdXNfZXF1YWwocC0+Y3B1c19hbGxvd2VkLCAqbmV3X21hc2spKSkgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dDsKKwl9CisKIAlpZiAocC0+c2NoZWRfY2xhc3MtPnNldF9jcHVzX2FsbG93ZWQpCiAJCXAtPnNjaGVkX2NsYXNzLT5zZXRfY3B1c19hbGxvd2VkKHAsIG5ld19tYXNrKTsKIAllbHNlIHsKQEAgLTU2MjIsMTAgKzU4ODUsMTAgQEAKIAlkb3VibGVfcnFfbG9jayhycV9zcmMsIHJxX2Rlc3QpOwogCS8qIEFscmVhZHkgbW92ZWQuICovCiAJaWYgKHRhc2tfY3B1KHApICE9IHNyY19jcHUpCi0JCWdvdG8gb3V0OworCQlnb3RvIGRvbmU7CiAJLyogQWZmaW5pdHkgY2hhbmdlZCAoYWdhaW4pLiAqLwogCWlmICghY3B1X2lzc2V0KGRlc3RfY3B1LCBwLT5jcHVzX2FsbG93ZWQpKQotCQlnb3RvIG91dDsKKwkJZ290byBmYWlsOwogCiAJb25fcnEgPSBwLT5zZS5vbl9ycTsKIAlpZiAob25fcnEpCkBAIC01NjM2LDggKzU4OTksOSBAQAogCQlhY3RpdmF0ZV90YXNrKHJxX2Rlc3QsIHAsIDApOwogCQljaGVja19wcmVlbXB0X2N1cnIocnFfZGVzdCwgcCk7CiAJfQorZG9uZToKIAlyZXQgPSAxOwotb3V0OgorZmFpbDoKIAlkb3VibGVfcnFfdW5sb2NrKHJxX3NyYywgcnFfZGVzdCk7CiAJcmV0dXJuIHJldDsKIH0KQEAgLTYwNTksNiArNjMyMywzNiBAQAogfQogI2VuZGlmCiAKK3N0YXRpYyB2b2lkIHNldF9ycV9vbmxpbmUoc3RydWN0IHJxICpycSkKK3sKKwlpZiAoIXJxLT5vbmxpbmUpIHsKKwkJY29uc3Qgc3RydWN0IHNjaGVkX2NsYXNzICpjbGFzczsKKworCQljcHVfc2V0KHJxLT5jcHUsIHJxLT5yZC0+b25saW5lKTsKKwkJcnEtPm9ubGluZSA9IDE7CisKKwkJZm9yX2VhY2hfY2xhc3MoY2xhc3MpIHsKKwkJCWlmIChjbGFzcy0+cnFfb25saW5lKQorCQkJCWNsYXNzLT5ycV9vbmxpbmUocnEpOworCQl9CisJfQorfQorCitzdGF0aWMgdm9pZCBzZXRfcnFfb2ZmbGluZShzdHJ1Y3QgcnEgKnJxKQoreworCWlmIChycS0+b25saW5lKSB7CisJCWNvbnN0IHN0cnVjdCBzY2hlZF9jbGFzcyAqY2xhc3M7CisKKwkJZm9yX2VhY2hfY2xhc3MoY2xhc3MpIHsKKwkJCWlmIChjbGFzcy0+cnFfb2ZmbGluZSkKKwkJCQljbGFzcy0+cnFfb2ZmbGluZShycSk7CisJCX0KKworCQljcHVfY2xlYXIocnEtPmNwdSwgcnEtPnJkLT5vbmxpbmUpOworCQlycS0+b25saW5lID0gMDsKKwl9Cit9CisKIC8qCiAgKiBtaWdyYXRpb25fY2FsbCAtIGNhbGxiYWNrIHRoYXQgZ2V0cyB0cmlnZ2VyZWQgd2hlbiBhIENQVSBpcyBhZGRlZC4KICAqIEhlcmUgd2UgY2FuIHN0YXJ0IHVwIHRoZSBuZWNlc3NhcnkgbWlncmF0aW9uIHRocmVhZCBmb3IgdGhlIG5ldyBDUFUuCkBAIC02MDk2LDcgKzYzOTAsOCBAQAogCQlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKIAkJaWYgKHJxLT5yZCkgewogCQkJQlVHX09OKCFjcHVfaXNzZXQoY3B1LCBycS0+cmQtPnNwYW4pKTsKLQkJCWNwdV9zZXQoY3B1LCBycS0+cmQtPm9ubGluZSk7CisKKwkJCXNldF9ycV9vbmxpbmUocnEpOwogCQl9CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CiAJCWJyZWFrOwpAQCAtNjE1Nyw3ICs2NDUyLDcgQEAKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CiAJCWlmIChycS0+cmQpIHsKIAkJCUJVR19PTighY3B1X2lzc2V0KGNwdSwgcnEtPnJkLT5zcGFuKSk7Ci0JCQljcHVfY2xlYXIoY3B1LCBycS0+cmQtPm9ubGluZSk7CisJCQlzZXRfcnFfb2ZmbGluZShycSk7CiAJCX0KIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKIAkJYnJlYWs7CkBAIC02MTkxLDYgKzY0ODYsMjggQEAKIAogI2lmZGVmIENPTkZJR19TQ0hFRF9ERUJVRwogCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnNkX2xldmVsX3RvX3N0cmluZyhlbnVtIHNjaGVkX2RvbWFpbl9sZXZlbCBsdmwpCit7CisJc3dpdGNoIChsdmwpIHsKKwljYXNlIFNEX0xWX05PTkU6CisJCQlyZXR1cm4gIk5PTkUiOworCWNhc2UgU0RfTFZfU0lCTElORzoKKwkJCXJldHVybiAiU0lCTElORyI7CisJY2FzZSBTRF9MVl9NQzoKKwkJCXJldHVybiAiTUMiOworCWNhc2UgU0RfTFZfQ1BVOgorCQkJcmV0dXJuICJDUFUiOworCWNhc2UgU0RfTFZfTk9ERToKKwkJCXJldHVybiAiTk9ERSI7CisJY2FzZSBTRF9MVl9BTExOT0RFUzoKKwkJCXJldHVybiAiQUxMTk9ERVMiOworCWNhc2UgU0RfTFZfTUFYOgorCQkJcmV0dXJuICJNQVgiOworCisJfQorCXJldHVybiAiTUFYIjsKK30KKwogc3RhdGljIGludCBzY2hlZF9kb21haW5fZGVidWdfb25lKHN0cnVjdCBzY2hlZF9kb21haW4gKnNkLCBpbnQgY3B1LCBpbnQgbGV2ZWwsCiAJCQkJICBjcHVtYXNrX3QgKmdyb3VwbWFzaykKIHsKQEAgLTYyMTAsNyArNjUyNyw4IEBACiAJCXJldHVybiAtMTsKIAl9CiAKLQlwcmludGsoS0VSTl9DT05UICJzcGFuICVzXG4iLCBzdHIpOworCXByaW50ayhLRVJOX0NPTlQgInNwYW4gJXMgbGV2ZWwgJXNcbiIsCisJCXN0ciwgc2RfbGV2ZWxfdG9fc3RyaW5nKHNkLT5sZXZlbCkpOwogCiAJaWYgKCFjcHVfaXNzZXQoY3B1LCBzZC0+c3BhbikpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJFUlJPUjogZG9tYWluLT5zcGFuIGRvZXMgbm90IGNvbnRhaW4gIgpAQCAtNjI5NCw5ICs2NjEyLDkgQEAKIAl9CiAJa2ZyZWUoZ3JvdXBtYXNrKTsKIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1NDSEVEX0RFQlVHICovCiAjIGRlZmluZSBzY2hlZF9kb21haW5fZGVidWcoc2QsIGNwdSkgZG8geyB9IHdoaWxlICgwKQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NDSEVEX0RFQlVHICovCiAKIHN0YXRpYyBpbnQgc2RfZGVnZW5lcmF0ZShzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKIHsKQEAgLTYzNTYsMjAgKzY2NzQsMTYgQEAKIHN0YXRpYyB2b2lkIHJxX2F0dGFjaF9yb290KHN0cnVjdCBycSAqcnEsIHN0cnVjdCByb290X2RvbWFpbiAqcmQpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQljb25zdCBzdHJ1Y3Qgc2NoZWRfY2xhc3MgKmNsYXNzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CiAKIAlpZiAocnEtPnJkKSB7CiAJCXN0cnVjdCByb290X2RvbWFpbiAqb2xkX3JkID0gcnEtPnJkOwogCi0JCWZvciAoY2xhc3MgPSBzY2hlZF9jbGFzc19oaWdoZXN0OyBjbGFzczsgY2xhc3MgPSBjbGFzcy0+bmV4dCkgewotCQkJaWYgKGNsYXNzLT5sZWF2ZV9kb21haW4pCi0JCQkJY2xhc3MtPmxlYXZlX2RvbWFpbihycSk7Ci0JCX0KKwkJaWYgKGNwdV9pc3NldChycS0+Y3B1LCBvbGRfcmQtPm9ubGluZSkpCisJCQlzZXRfcnFfb2ZmbGluZShycSk7CiAKIAkJY3B1X2NsZWFyKHJxLT5jcHUsIG9sZF9yZC0+c3Bhbik7Ci0JCWNwdV9jbGVhcihycS0+Y3B1LCBvbGRfcmQtPm9ubGluZSk7CiAKIAkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJm9sZF9yZC0+cmVmY291bnQpKQogCQkJa2ZyZWUob2xkX3JkKTsKQEAgLTYzODAsMTIgKzY2OTQsNyBAQAogCiAJY3B1X3NldChycS0+Y3B1LCByZC0+c3Bhbik7CiAJaWYgKGNwdV9pc3NldChycS0+Y3B1LCBjcHVfb25saW5lX21hcCkpCi0JCWNwdV9zZXQocnEtPmNwdSwgcmQtPm9ubGluZSk7Ci0KLQlmb3IgKGNsYXNzID0gc2NoZWRfY2xhc3NfaGlnaGVzdDsgY2xhc3M7IGNsYXNzID0gY2xhc3MtPm5leHQpIHsKLQkJaWYgKGNsYXNzLT5qb2luX2RvbWFpbikKLQkJCWNsYXNzLT5qb2luX2RvbWFpbihycSk7Ci0JfQorCQlzZXRfcnFfb25saW5lKHJxKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CiB9CkBAIC02Mzk2LDYgKzY3MDUsOCBAQAogCiAJY3B1c19jbGVhcihyZC0+c3Bhbik7CiAJY3B1c19jbGVhcihyZC0+b25saW5lKTsKKworCWNwdXByaV9pbml0KCZyZC0+Y3B1cHJpKTsKIH0KIAogc3RhdGljIHZvaWQgaW5pdF9kZWZyb290ZG9tYWluKHZvaWQpCkBAIC02NTM4LDkgKzY4NDksOSBAQAogCiAJbWluX3ZhbCA9IElOVF9NQVg7CiAKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX05VTU5PREVTOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfbm9kZV9pZHM7IGkrKykgewogCQkvKiBTdGFydCBhdCBAbm9kZSAqLwotCQluID0gKG5vZGUgKyBpKSAlIE1BWF9OVU1OT0RFUzsKKwkJbiA9IChub2RlICsgaSkgJSBucl9ub2RlX2lkczsKIAogCQlpZiAoIW5yX2NwdXNfbm9kZShuKSkKIAkJCWNvbnRpbnVlOwpAQCAtNjU5MCw3ICs2OTAxLDcgQEAKIAkJY3B1c19vcigqc3BhbiwgKnNwYW4sICpub2RlbWFzayk7CiAJfQogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX05VTUEgKi8KIAogaW50IHNjaGVkX3NtdF9wb3dlcl9zYXZpbmdzID0gMCwgc2NoZWRfbWNfcG93ZXJfc2F2aW5ncyA9IDA7CiAKQEAgLTY2MDksNyArNjkyMCw3IEBACiAJCSpzZyA9ICZwZXJfY3B1KHNjaGVkX2dyb3VwX2NwdXMsIGNwdSk7CiAJcmV0dXJuIGNwdTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9TTVQgKi8KIAogLyoKICAqIG11bHRpLWNvcmUgc2NoZWQtZG9tYWluczoKQEAgLTY2MTcsNyArNjkyOCw3IEBACiAjaWZkZWYgQ09ORklHX1NDSEVEX01DCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHNjaGVkX2RvbWFpbiwgY29yZV9kb21haW5zKTsKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfZ3JvdXAsIHNjaGVkX2dyb3VwX2NvcmUpOwotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NDSEVEX01DICovCiAKICNpZiBkZWZpbmVkKENPTkZJR19TQ0hFRF9NQykgJiYgZGVmaW5lZChDT05GSUdfU0NIRURfU01UKQogc3RhdGljIGludApAQCAtNjcxOSw3ICs3MDMwLDcgQEAKIAkJc2cgPSBzZy0+bmV4dDsKIAl9IHdoaWxlIChzZyAhPSBncm91cF9oZWFkKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKICNpZmRlZiBDT05GSUdfTlVNQQogLyogRnJlZSBtZW1vcnkgYWxsb2NhdGVkIGZvciB2YXJpb3VzIHNjaGVkX2dyb3VwIHN0cnVjdHVyZXMgKi8KQEAgLTY3MzQsNyArNzA0NSw3IEBACiAJCWlmICghc2NoZWRfZ3JvdXBfbm9kZXMpCiAJCQljb250aW51ZTsKIAotCQlmb3IgKGkgPSAwOyBpIDwgTUFYX05VTU5PREVTOyBpKyspIHsKKwkJZm9yIChpID0gMDsgaSA8IG5yX25vZGVfaWRzOyBpKyspIHsKIAkJCXN0cnVjdCBzY2hlZF9ncm91cCAqb2xkc2csICpzZyA9IHNjaGVkX2dyb3VwX25vZGVzW2ldOwogCiAJCQkqbm9kZW1hc2sgPSBub2RlX3RvX2NwdW1hc2soaSk7CkBAIC02NzU2LDExICs3MDY3LDExIEBACiAJCXNjaGVkX2dyb3VwX25vZGVzX2J5Y3B1W2NwdV0gPSBOVUxMOwogCX0KIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX05VTUEgKi8KIHN0YXRpYyB2b2lkIGZyZWVfc2NoZWRfZ3JvdXBzKGNvbnN0IGNwdW1hc2tfdCAqY3B1X21hcCwgY3B1bWFza190ICpub2RlbWFzaykKIHsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKIC8qCiAgKiBJbml0aWFsaXplIHNjaGVkIGdyb3VwcyBjcHVfcG93ZXIuCkBAIC02OTI3LDcgKzcyMzgsNyBAQAogCS8qCiAJICogQWxsb2NhdGUgdGhlIHBlci1ub2RlIGxpc3Qgb2Ygc2NoZWQgZ3JvdXBzCiAJICovCi0Jc2NoZWRfZ3JvdXBfbm9kZXMgPSBrY2FsbG9jKE1BWF9OVU1OT0RFUywgc2l6ZW9mKHN0cnVjdCBzY2hlZF9ncm91cCAqKSwKKwlzY2hlZF9ncm91cF9ub2RlcyA9IGtjYWxsb2MobnJfbm9kZV9pZHMsIHNpemVvZihzdHJ1Y3Qgc2NoZWRfZ3JvdXAgKiksCiAJCQkJICAgIEdGUF9LRVJORUwpOwogCWlmICghc2NoZWRfZ3JvdXBfbm9kZXMpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiQ2FuIG5vdCBhbGxvYyBzY2hlZCBncm91cCBub2RlIGxpc3RcbiIpOwpAQCAtNzA2Niw3ICs3Mzc3LDcgQEAKICNlbmRpZgogCiAJLyogU2V0IHVwIHBoeXNpY2FsIGdyb3VwcyAqLwotCWZvciAoaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKSB7CiAJCVNDSEVEX0NQVU1BU0tfVkFSKG5vZGVtYXNrLCBhbGxtYXNrcyk7CiAJCVNDSEVEX0NQVU1BU0tfVkFSKHNlbmRfY292ZXJlZCwgYWxsbWFza3MpOwogCkBAIC03MDkwLDcgKzc0MDEsNyBAQAogCQkJCQlzZW5kX2NvdmVyZWQsIHRtcG1hc2spOwogCX0KIAotCWZvciAoaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKSB7CiAJCS8qIFNldCB1cCBub2RlIGdyb3VwcyAqLwogCQlzdHJ1Y3Qgc2NoZWRfZ3JvdXAgKnNnLCAqcHJldjsKIAkJU0NIRURfQ1BVTUFTS19WQVIobm9kZW1hc2ssIGFsbG1hc2tzKTsKQEAgLTcxMjksOSArNzQ0MCw5IEBACiAJCWNwdXNfb3IoKmNvdmVyZWQsICpjb3ZlcmVkLCAqbm9kZW1hc2spOwogCQlwcmV2ID0gc2c7CiAKLQkJZm9yIChqID0gMDsgaiA8IE1BWF9OVU1OT0RFUzsgaisrKSB7CisJCWZvciAoaiA9IDA7IGogPCBucl9ub2RlX2lkczsgaisrKSB7CiAJCQlTQ0hFRF9DUFVNQVNLX1ZBUihub3Rjb3ZlcmVkLCBhbGxtYXNrcyk7Ci0JCQlpbnQgbiA9IChpICsgaikgJSBNQVhfTlVNTk9ERVM7CisJCQlpbnQgbiA9IChpICsgaikgJSBucl9ub2RlX2lkczsKIAkJCW5vZGVfdG9fY3B1bWFza19wdHIocG5vZGVtYXNrLCBuKTsKIAogCQkJY3B1c19jb21wbGVtZW50KCpub3Rjb3ZlcmVkLCAqY292ZXJlZCk7CkBAIC03MTg0LDcgKzc0OTUsNyBAQAogCX0KIAogI2lmZGVmIENPTkZJR19OVU1BCi0JZm9yIChpID0gMDsgaSA8IE1BWF9OVU1OT0RFUzsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKQogCQlpbml0X251bWFfc2NoZWRfZ3JvdXBzX3Bvd2VyKHNjaGVkX2dyb3VwX25vZGVzW2ldKTsKIAogCWlmIChzZF9hbGxub2RlcykgewpAQCAtNzQ2OSw3ICs3NzgwLDcgQEAKICNlbmRpZgogCXJldHVybiBlcnI7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU0NIRURfTUMgfHwgQ09ORklHX1NDSEVEX1NNVCAqLwogCiAvKgogICogRm9yY2UgYSByZWluaXRpYWxpemF0aW9uIG9mIHRoZSBzY2hlZCBkb21haW5zIGhpZXJhcmNoeS4gVGhlIGRvbWFpbnMKQEAgLTc0ODAsMjEgKzc3OTEsMjggQEAKIHN0YXRpYyBpbnQgdXBkYXRlX3NjaGVkX2RvbWFpbnMoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuZmIsCiAJCQkJdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmhjcHUpCiB7CisJaW50IGNwdSA9IChpbnQpKGxvbmcpaGNwdTsKKwogCXN3aXRjaCAoYWN0aW9uKSB7Ci0JY2FzZSBDUFVfVVBfUFJFUEFSRToKLQljYXNlIENQVV9VUF9QUkVQQVJFX0ZST1pFTjoKIAljYXNlIENQVV9ET1dOX1BSRVBBUkU6CiAJY2FzZSBDUFVfRE9XTl9QUkVQQVJFX0ZST1pFTjoKKwkJZGlzYWJsZV9ydW50aW1lKGNwdV9ycShjcHUpKTsKKwkJLyogZmFsbC10aHJvdWdoICovCisJY2FzZSBDUFVfVVBfUFJFUEFSRToKKwljYXNlIENQVV9VUF9QUkVQQVJFX0ZST1pFTjoKIAkJZGV0YWNoX2Rlc3Ryb3lfZG9tYWlucygmY3B1X29ubGluZV9tYXApOwogCQlmcmVlX3NjaGVkX2RvbWFpbnMoKTsKIAkJcmV0dXJuIE5PVElGWV9PSzsKIAotCWNhc2UgQ1BVX1VQX0NBTkNFTEVEOgotCWNhc2UgQ1BVX1VQX0NBTkNFTEVEX0ZST1pFTjoKKwogCWNhc2UgQ1BVX0RPV05fRkFJTEVEOgogCWNhc2UgQ1BVX0RPV05fRkFJTEVEX0ZST1pFTjoKIAljYXNlIENQVV9PTkxJTkU6CiAJY2FzZSBDUFVfT05MSU5FX0ZST1pFTjoKKwkJZW5hYmxlX3J1bnRpbWUoY3B1X3JxKGNwdSkpOworCQkvKiBmYWxsLXRocm91Z2ggKi8KKwljYXNlIENQVV9VUF9DQU5DRUxFRDoKKwljYXNlIENQVV9VUF9DQU5DRUxFRF9GUk9aRU46CiAJY2FzZSBDUFVfREVBRDoKIAljYXNlIENQVV9ERUFEX0ZST1pFTjoKIAkJLyoKQEAgLTc2OTQsOCArODAxMiw4IEBACiAKIAkJcm9vdF90YXNrX2dyb3VwLmNmc19ycSA9IChzdHJ1Y3QgY2ZzX3JxICoqKXB0cjsKIAkJcHRyICs9IG5yX2NwdV9pZHMgKiBzaXplb2Yodm9pZCAqKik7Ci0jZW5kaWYKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19VU0VSX1NDSEVEICovCisjZW5kaWYgLyogQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKIAkJaW5pdF90YXNrX2dyb3VwLnJ0X3NlID0gKHN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgKiopcHRyOwogCQlwdHIgKz0gbnJfY3B1X2lkcyAqIHNpemVvZih2b2lkICoqKTsKQEAgLTc3MDksOCArODAyNyw4IEBACiAKIAkJcm9vdF90YXNrX2dyb3VwLnJ0X3JxID0gKHN0cnVjdCBydF9ycSAqKilwdHI7CiAJCXB0ciArPSBucl9jcHVfaWRzICogc2l6ZW9mKHZvaWQgKiopOwotI2VuZGlmCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfVVNFUl9TQ0hFRCAqLworI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCX0KIAogI2lmZGVmIENPTkZJR19TTVAKQEAgLTc3MjYsOCArODA0NCw4IEBACiAjaWZkZWYgQ09ORklHX1VTRVJfU0NIRUQKIAlpbml0X3J0X2JhbmR3aWR0aCgmcm9vdF90YXNrX2dyb3VwLnJ0X2JhbmR3aWR0aCwKIAkJCWdsb2JhbF9ydF9wZXJpb2QoKSwgUlVOVElNRV9JTkYpOwotI2VuZGlmCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfVVNFUl9TQ0hFRCAqLworI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCiAjaWZkZWYgQ09ORklHX0dST1VQX1NDSEVECiAJbGlzdF9hZGQoJmluaXRfdGFza19ncm91cC5saXN0LCAmdGFza19ncm91cHMpOwpAQCAtNzczNyw4ICs4MDU1LDggQEAKIAlJTklUX0xJU1RfSEVBRCgmcm9vdF90YXNrX2dyb3VwLmNoaWxkcmVuKTsKIAlpbml0X3Rhc2tfZ3JvdXAucGFyZW50ID0gJnJvb3RfdGFza19ncm91cDsKIAlsaXN0X2FkZCgmaW5pdF90YXNrX2dyb3VwLnNpYmxpbmdzLCAmcm9vdF90YXNrX2dyb3VwLmNoaWxkcmVuKTsKLSNlbmRpZgotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1VTRVJfU0NIRUQgKi8KKyNlbmRpZiAvKiBDT05GSUdfR1JPVVBfU0NIRUQgKi8KIAogCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShpKSB7CiAJCXN0cnVjdCBycSAqcnE7CkBAIC03ODE4LDYgKzgxMzYsNyBAQAogCQlycS0+bmV4dF9iYWxhbmNlID0gamlmZmllczsKIAkJcnEtPnB1c2hfY3B1ID0gMDsKIAkJcnEtPmNwdSA9IGk7CisJCXJxLT5vbmxpbmUgPSAwOwogCQlycS0+bWlncmF0aW9uX3RocmVhZCA9IE5VTEw7CiAJCUlOSVRfTElTVF9IRUFEKCZycS0+bWlncmF0aW9uX3F1ZXVlKTsKIAkJcnFfYXR0YWNoX3Jvb3QocnEsICZkZWZfcm9vdF9kb21haW4pOwpAQCAtNzgzMyw3ICs4MTUyLDcgQEAKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1NNUAotCW9wZW5fc29mdGlycShTQ0hFRF9TT0ZUSVJRLCBydW5fcmViYWxhbmNlX2RvbWFpbnMsIE5VTEwpOworCW9wZW5fc29mdGlycShTQ0hFRF9TT0ZUSVJRLCBydW5fcmViYWxhbmNlX2RvbWFpbnMpOwogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfUlRfTVVURVhFUwpAQCAtODA1Nyw3ICs4Mzc2LDcgQEAKIHsKIAlsaXN0X2RlbF9yY3UoJnRnLT5jZnNfcnFbY3B1XS0+bGVhZl9jZnNfcnFfbGlzdCk7CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBmcmVlX2ZhaXJfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnKQogewogfQpAQCAtODA3NSw3ICs4Mzk0LDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCB1bnJlZ2lzdGVyX2ZhaXJfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1KQogewogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KIAogI2lmZGVmIENPTkZJR19SVF9HUk9VUF9TQ0hFRAogc3RhdGljIHZvaWQgZnJlZV9ydF9zY2hlZF9ncm91cChzdHJ1Y3QgdGFza19ncm91cCAqdGcpCkBAIC04MTQ2LDcgKzg0NjUsNyBAQAogewogCWxpc3RfZGVsX3JjdSgmdGctPnJ0X3JxW2NwdV0tPmxlYWZfcnRfcnFfbGlzdCk7CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogc3RhdGljIGlubGluZSB2b2lkIGZyZWVfcnRfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnKQogewogfQpAQCAtODE2NCw3ICs4NDgzLDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCB1bnJlZ2lzdGVyX3J0X3NjaGVkX2dyb3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSkKIHsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCiAjaWZkZWYgQ09ORklHX0dST1VQX1NDSEVECiBzdGF0aWMgdm9pZCBmcmVlX3NjaGVkX2dyb3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZykKQEAgLTgyNzUsMTcgKzg1OTQsMTQgQEAKIAogCXRhc2tfcnFfdW5sb2NrKHJxLCAmZmxhZ3MpOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAotc3RhdGljIHZvaWQgc2V0X3NlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpCitzdGF0aWMgdm9pZCBfX3NldF9zZV9zaGFyZXMoc3RydWN0IHNjaGVkX2VudGl0eSAqc2UsIHVuc2lnbmVkIGxvbmcgc2hhcmVzKQogewogCXN0cnVjdCBjZnNfcnEgKmNmc19ycSA9IHNlLT5jZnNfcnE7Ci0Jc3RydWN0IHJxICpycSA9IGNmc19ycS0+cnE7CiAJaW50IG9uX3JxOwogCi0Jc3Bpbl9sb2NrX2lycSgmcnEtPmxvY2spOwotCiAJb25fcnEgPSBzZS0+b25fcnE7CiAJaWYgKG9uX3JxKQogCQlkZXF1ZXVlX2VudGl0eShjZnNfcnEsIHNlLCAwKTsKQEAgLTgyOTUsOCArODYxMSwxNyBAQAogCiAJaWYgKG9uX3JxKQogCQllbnF1ZXVlX2VudGl0eShjZnNfcnEsIHNlLCAwKTsKK30KIAotCXNwaW5fdW5sb2NrX2lycSgmcnEtPmxvY2spOworc3RhdGljIHZvaWQgc2V0X3NlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpCit7CisJc3RydWN0IGNmc19ycSAqY2ZzX3JxID0gc2UtPmNmc19ycTsKKwlzdHJ1Y3QgcnEgKnJxID0gY2ZzX3JxLT5ycTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CisJX19zZXRfc2Vfc2hhcmVzKHNlLCBzaGFyZXMpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CiB9CiAKIHN0YXRpYyBERUZJTkVfTVVURVgoc2hhcmVzX211dGV4KTsKQEAgLTgzMzUsOCArODY2MCwxMyBAQAogCSAqIHcvbyB0cmlwcGluZyByZWJhbGFuY2Vfc2hhcmUgb3IgbG9hZF9iYWxhbmNlX2ZhaXIuCiAJICovCiAJdGctPnNoYXJlcyA9IHNoYXJlczsKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgeworCQkvKgorCQkgKiBmb3JjZSBhIHJlYmFsYW5jZQorCQkgKi8KKwkJY2ZzX3JxX3NldF9zaGFyZXModGctPmNmc19ycVtpXSwgMCk7CiAJCXNldF9zZV9zaGFyZXModGctPnNlW2ldLCBzaGFyZXMpOworCX0KIAogCS8qCiAJICogRW5hYmxlIGxvYWQgYmFsYW5jZSBhY3Rpdml0eSBvbiB0aGlzIGdyb3VwLCBieSBpbnNlcnRpbmcgaXQgYmFjayBvbgpAQCAtODM3NSw3ICs4NzA1LDcgQEAKICNpZmRlZiBDT05GSUdfQ0dST1VQX1NDSEVECiBzdGF0aWMgaW50IF9fcnRfc2NoZWR1bGFibGUoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCB1NjQgcGVyaW9kLCB1NjQgcnVudGltZSkKIHsKLQlzdHJ1Y3QgdGFza19ncm91cCAqdGdpLCAqcGFyZW50ID0gdGcgPyB0Zy0+cGFyZW50IDogTlVMTDsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGdpLCAqcGFyZW50ID0gdGctPnBhcmVudDsKIAl1bnNpZ25lZCBsb25nIHRvdGFsID0gMDsKIAogCWlmICghcGFyZW50KSB7CkBAIC04Mzk5LDcgKzg3MjksNyBAQAogCX0KIAlyY3VfcmVhZF91bmxvY2soKTsKIAotCXJldHVybiB0b3RhbCArIHRvX3JhdGlvKHBlcmlvZCwgcnVudGltZSkgPAorCXJldHVybiB0b3RhbCArIHRvX3JhdGlvKHBlcmlvZCwgcnVudGltZSkgPD0KIAkJdG9fcmF0aW8oa3RpbWVfdG9fbnMocGFyZW50LT5ydF9iYW5kd2lkdGgucnRfcGVyaW9kKSwKIAkJCQlwYXJlbnQtPnJ0X2JhbmR3aWR0aC5ydF9ydW50aW1lKTsKIH0KQEAgLTg1MTksMTYgKzg4NDksMjEgQEAKIAogc3RhdGljIGludCBzY2hlZF9ydF9nbG9iYWxfY29uc3RyYWludHModm9pZCkKIHsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGcgPSAmcm9vdF90YXNrX2dyb3VwOworCXU2NCBydF9ydW50aW1lLCBydF9wZXJpb2Q7CiAJaW50IHJldCA9IDA7CiAKKwlydF9wZXJpb2QgPSBrdGltZV90b19ucyh0Zy0+cnRfYmFuZHdpZHRoLnJ0X3BlcmlvZCk7CisJcnRfcnVudGltZSA9IHRnLT5ydF9iYW5kd2lkdGgucnRfcnVudGltZTsKKwogCW11dGV4X2xvY2soJnJ0X2NvbnN0cmFpbnRzX211dGV4KTsKLQlpZiAoIV9fcnRfc2NoZWR1bGFibGUoTlVMTCwgMSwgMCkpCisJaWYgKCFfX3J0X3NjaGVkdWxhYmxlKHRnLCBydF9wZXJpb2QsIHJ0X3J1bnRpbWUpKQogCQlyZXQgPSAtRUlOVkFMOwogCW11dGV4X3VubG9jaygmcnRfY29uc3RyYWludHNfbXV0ZXgpOwogCiAJcmV0dXJuIHJldDsKIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1JUX0dST1VQX1NDSEVEICovCiBzdGF0aWMgaW50IHNjaGVkX3J0X2dsb2JhbF9jb25zdHJhaW50cyh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC04NTQ2LDcgKzg4ODEsNyBAQAogCiAJcmV0dXJuIDA7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogaW50IHNjaGVkX3J0X2hhbmRsZXIoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKIAkJc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwKQEAgLTg2NTQsNyArODk4OSw3IEBACiAKIAlyZXR1cm4gKHU2NCkgdGctPnNoYXJlczsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKIHN0YXRpYyBpbnQgY3B1X3J0X3J1bnRpbWVfd3JpdGUoc3RydWN0IGNncm91cCAqY2dycCwgc3RydWN0IGNmdHlwZSAqY2Z0LApAQCAtODY3OCw3ICs5MDEzLDcgQEAKIHsKIAlyZXR1cm4gc2NoZWRfZ3JvdXBfcnRfcGVyaW9kKGNncm91cF90ZyhjZ3JwKSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogc3RhdGljIHN0cnVjdCBjZnR5cGUgY3B1X2ZpbGVzW10gPSB7CiAjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9jbG9jay5jIGIva2VybmVsL3NjaGVkX2Nsb2NrLmMKaW5kZXggY2UwNTI3MS4uMjJlZDU1ZCAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX2Nsb2NrLmMKKysrIGIva2VybmVsL3NjaGVkX2Nsb2NrLmMKQEAgLTMsNiArMyw5IEBACiAgKgogICogIENvcHlyaWdodCAoQykgMjAwOCBSZWQgSGF0LCBJbmMuLCBQZXRlciBaaWpsc3RyYSA8cHppamxzdHJAcmVkaGF0LmNvbT4KICAqCisgKiAgVXBkYXRlcyBhbmQgZW5oYW5jZW1lbnRzOgorICogICAgQ29weXJpZ2h0IChDKSAyMDA4IFJlZCBIYXQsIEluYy4gU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKgogICogQmFzZWQgb24gY29kZSBieToKICAqICAgSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CiAgKiAgIEd1aWxsYXVtZSBDaGF6YXJhaW4gPGd1aWNoYXpAZ21haWwuY29tPgpAQCAtMzIsNiArMzUsMTEgQEAKIAogI2lmZGVmIENPTkZJR19IQVZFX1VOU1RBQkxFX1NDSEVEX0NMT0NLCiAKKyNkZWZpbmUgTVVMVElfU0hJRlQgMTUKKy8qIE1heCBpcyBkb3VibGUsIE1pbiBpcyAxLzIgKi8KKyNkZWZpbmUgTUFYX01VTFRJICgyTEwgPDwgTVVMVElfU0hJRlQpCisjZGVmaW5lIE1JTl9NVUxUSSAoMUxMIDw8IChNVUxUSV9TSElGVC0xKSkKKwogc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgewogCS8qCiAJICogUmF3IHNwaW5sb2NrIC0gdGhpcyBpcyBhIHNwZWNpYWwgY2FzZTogdGhpcyBtaWdodCBiZSBjYWxsZWQKQEAgLTQwLDExICs0OCwxNSBAQAogCSAqLwogCXJhd19zcGlubG9ja190CQlsb2NrOwogCi0JdW5zaWduZWQgbG9uZwkJcHJldl9qaWZmaWVzOworCXVuc2lnbmVkIGxvbmcJCXRpY2tfamlmZmllczsKIAl1NjQJCQlwcmV2X3JhdzsKIAl1NjQJCQl0aWNrX3JhdzsKIAl1NjQJCQl0aWNrX2d0b2Q7CiAJdTY0CQkJY2xvY2s7CisJczY0CQkJbXVsdGk7CisjaWZkZWYgQ09ORklHX05PX0haCisJaW50CQkJY2hlY2tfbWF4OworI2VuZGlmCiB9OwogCiBzdGF0aWMgREVGSU5FX1BFUl9DUFVfU0hBUkVEX0FMSUdORUQoc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEsIHNjaGVkX2Nsb2NrX2RhdGEpOwpAQCAtNzEsNDEgKzgzLDkxIEBACiAJCXN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QgPSBjcHVfc2RjKGNwdSk7CiAKIAkJc2NkLT5sb2NrID0gKHJhd19zcGlubG9ja190KV9fUkFXX1NQSU5fTE9DS19VTkxPQ0tFRDsKLQkJc2NkLT5wcmV2X2ppZmZpZXMgPSBub3dfamlmZmllczsKKwkJc2NkLT50aWNrX2ppZmZpZXMgPSBub3dfamlmZmllczsKIAkJc2NkLT5wcmV2X3JhdyA9IDA7CiAJCXNjZC0+dGlja19yYXcgPSAwOwogCQlzY2QtPnRpY2tfZ3RvZCA9IGt0aW1lX25vdzsKIAkJc2NkLT5jbG9jayA9IGt0aW1lX25vdzsKKwkJc2NkLT5tdWx0aSA9IDEgPDwgTVVMVElfU0hJRlQ7CisjaWZkZWYgQ09ORklHX05PX0haCisJCXNjZC0+Y2hlY2tfbWF4ID0gMTsKKyNlbmRpZgogCX0KIAogCXNjaGVkX2Nsb2NrX3J1bm5pbmcgPSAxOwogfQogCisjaWZkZWYgQ09ORklHX05PX0haCisvKgorICogVGhlIGR5bmFtaWMgdGlja3MgbWFrZXMgdGhlIGRlbHRhIGppZmZpZXMgaW5hY2N1cmF0ZS4gVGhpcworICogcHJldmVudHMgdXMgZnJvbSBjaGVja2luZyB0aGUgbWF4aW11bSB0aW1lIHVwZGF0ZS4KKyAqIERpc2FibGUgdGhlIG1heGltdW0gY2hlY2sgZHVyaW5nIHN0b3BwZWQgdGlja3MuCisgKi8KK3ZvaWQgc2NoZWRfY2xvY2tfdGlja19zdG9wKGludCBjcHUpCit7CisJc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCA9IGNwdV9zZGMoY3B1KTsKKworCXNjZC0+Y2hlY2tfbWF4ID0gMDsKK30KKwordm9pZCBzY2hlZF9jbG9ja190aWNrX3N0YXJ0KGludCBjcHUpCit7CisJc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCA9IGNwdV9zZGMoY3B1KTsKKworCXNjZC0+Y2hlY2tfbWF4ID0gMTsKK30KKworc3RhdGljIGludCBjaGVja19tYXgoc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCkKK3sKKwlyZXR1cm4gc2NkLT5jaGVja19tYXg7Cit9CisjZWxzZQorc3RhdGljIGludCBjaGVja19tYXgoc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCkKK3sKKwlyZXR1cm4gMTsKK30KKyNlbmRpZiAvKiBDT05GSUdfTk9fSFogKi8KKwogLyoKICAqIHVwZGF0ZSB0aGUgcGVyY3B1IHNjZCBmcm9tIHRoZSByYXcgQG5vdyB2YWx1ZQogICoKICAqICAtIGZpbHRlciBvdXQgYmFja3dhcmQgbW90aW9uCiAgKiAgLSB1c2UgamlmZmllcyB0byBnZW5lcmF0ZSBhIG1pbixtYXggd2luZG93IHRvIGNsaXAgdGhlIHJhdyB2YWx1ZXMKICAqLwotc3RhdGljIHZvaWQgX191cGRhdGVfc2NoZWRfY2xvY2soc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCwgdTY0IG5vdykKK3N0YXRpYyB2b2lkIF9fdXBkYXRlX3NjaGVkX2Nsb2NrKHN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QsIHU2NCBub3csIHU2NCAqdGltZSkKIHsKIAl1bnNpZ25lZCBsb25nIG5vd19qaWZmaWVzID0gamlmZmllczsKLQlsb25nIGRlbHRhX2ppZmZpZXMgPSBub3dfamlmZmllcyAtIHNjZC0+cHJldl9qaWZmaWVzOworCWxvbmcgZGVsdGFfamlmZmllcyA9IG5vd19qaWZmaWVzIC0gc2NkLT50aWNrX2ppZmZpZXM7CiAJdTY0IGNsb2NrID0gc2NkLT5jbG9jazsKIAl1NjQgbWluX2Nsb2NrLCBtYXhfY2xvY2s7CiAJczY0IGRlbHRhID0gbm93IC0gc2NkLT5wcmV2X3JhdzsKIAogCVdBUk5fT05fT05DRSghaXJxc19kaXNhYmxlZCgpKTsKLQltaW5fY2xvY2sgPSBzY2QtPnRpY2tfZ3RvZCArIGRlbHRhX2ppZmZpZXMgKiBUSUNLX05TRUM7CisKKwkvKgorCSAqIEF0IHNjaGVkdWxlIHRpY2sgdGhlIGNsb2NrIGNhbiBiZSBqdXN0IHVuZGVyIHRoZSBndG9kLiBXZSBkb24ndAorCSAqIHdhbnQgdG8gcHVzaCBpdCB0b28gcHJlbWF0dXJlbHkuCisJICovCisJbWluX2Nsb2NrID0gc2NkLT50aWNrX2d0b2QgKyAoZGVsdGFfamlmZmllcyAqIFRJQ0tfTlNFQyk7CisJaWYgKG1pbl9jbG9jayA+IFRJQ0tfTlNFQykKKwkJbWluX2Nsb2NrIC09IFRJQ0tfTlNFQyAvIDI7CiAKIAlpZiAodW5saWtlbHkoZGVsdGEgPCAwKSkgewogCQljbG9jaysrOwogCQlnb3RvIG91dDsKIAl9CiAKLQltYXhfY2xvY2sgPSBtaW5fY2xvY2sgKyBUSUNLX05TRUM7CisJLyoKKwkgKiBUaGUgY2xvY2sgbXVzdCBzdGF5IHdpdGhpbiBhIGppZmZpZSBvZiB0aGUgZ3RvZC4KKwkgKiBCdXQgc2luY2Ugd2UgbWF5IGJlIGF0IHRoZSBzdGFydCBvZiBhIGppZmZ5IG9yIHRoZSBlbmQgb2Ygb25lCisJICogd2UgYWRkIGFub3RoZXIgamlmZnkgYnVmZmVyLgorCSAqLworCW1heF9jbG9jayA9IHNjZC0+dGlja19ndG9kICsgKDIgKyBkZWx0YV9qaWZmaWVzKSAqIFRJQ0tfTlNFQzsKIAotCWlmICh1bmxpa2VseShjbG9jayArIGRlbHRhID4gbWF4X2Nsb2NrKSkgeworCWRlbHRhICo9IHNjZC0+bXVsdGk7CisJZGVsdGEgPj49IE1VTFRJX1NISUZUOworCisJaWYgKHVubGlrZWx5KGNsb2NrICsgZGVsdGEgPiBtYXhfY2xvY2spICYmIGNoZWNrX21heChzY2QpKSB7CiAJCWlmIChjbG9jayA8IG1heF9jbG9jaykKIAkJCWNsb2NrID0gbWF4X2Nsb2NrOwogCQllbHNlCkBAIC0xMTgsOSArMTgwLDEyIEBACiAJaWYgKHVubGlrZWx5KGNsb2NrIDwgbWluX2Nsb2NrKSkKIAkJY2xvY2sgPSBtaW5fY2xvY2s7CiAKLQlzY2QtPnByZXZfcmF3ID0gbm93OwotCXNjZC0+cHJldl9qaWZmaWVzID0gbm93X2ppZmZpZXM7Ci0Jc2NkLT5jbG9jayA9IGNsb2NrOworCWlmICh0aW1lKQorCQkqdGltZSA9IGNsb2NrOworCWVsc2UgeworCQlzY2QtPnByZXZfcmF3ID0gbm93OworCQlzY2QtPmNsb2NrID0gY2xvY2s7CisJfQogfQogCiBzdGF0aWMgdm9pZCBsb2NrX2RvdWJsZV9jbG9jayhzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqZGF0YTEsCkBAIC0xNjAsMjUgKzIyNSwzMCBAQAogCQlub3cgLT0gbXlfc2NkLT50aWNrX3JhdzsKIAkJbm93ICs9IHNjZC0+dGlja19yYXc7CiAKLQkJbm93IC09IG15X3NjZC0+dGlja19ndG9kOwotCQlub3cgKz0gc2NkLT50aWNrX2d0b2Q7CisJCW5vdyArPSBteV9zY2QtPnRpY2tfZ3RvZDsKKwkJbm93IC09IHNjZC0+dGlja19ndG9kOwogCiAJCV9fcmF3X3NwaW5fdW5sb2NrKCZteV9zY2QtPmxvY2spOworCisJCV9fdXBkYXRlX3NjaGVkX2Nsb2NrKHNjZCwgbm93LCAmY2xvY2spOworCisJCV9fcmF3X3NwaW5fdW5sb2NrKCZzY2QtPmxvY2spOworCiAJfSBlbHNlIHsKIAkJX19yYXdfc3Bpbl9sb2NrKCZzY2QtPmxvY2spOworCQlfX3VwZGF0ZV9zY2hlZF9jbG9jayhzY2QsIG5vdywgTlVMTCk7CisJCWNsb2NrID0gc2NkLT5jbG9jazsKKwkJX19yYXdfc3Bpbl91bmxvY2soJnNjZC0+bG9jayk7CiAJfQogCi0JX191cGRhdGVfc2NoZWRfY2xvY2soc2NkLCBub3cpOwotCWNsb2NrID0gc2NkLT5jbG9jazsKLQotCV9fcmF3X3NwaW5fdW5sb2NrKCZzY2QtPmxvY2spOwotCiAJcmV0dXJuIGNsb2NrOwogfQogCiB2b2lkIHNjaGVkX2Nsb2NrX3RpY2sodm9pZCkKIHsKIAlzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqc2NkID0gdGhpc19zY2QoKTsKKwl1bnNpZ25lZCBsb25nIG5vd19qaWZmaWVzID0gamlmZmllczsKKwlzNjQgbXVsdCwgZGVsdGFfZ3RvZCwgZGVsdGFfcmF3OwogCXU2NCBub3csIG5vd19ndG9kOwogCiAJaWYgKHVubGlrZWx5KCFzY2hlZF9jbG9ja19ydW5uaW5nKSkKQEAgLTE4NiwxOCArMjU2LDMzIEBACiAKIAlXQVJOX09OX09OQ0UoIWlycXNfZGlzYWJsZWQoKSk7CiAKLQlub3cgPSBzY2hlZF9jbG9jaygpOwogCW5vd19ndG9kID0ga3RpbWVfdG9fbnMoa3RpbWVfZ2V0KCkpOworCW5vdyA9IHNjaGVkX2Nsb2NrKCk7CiAKIAlfX3Jhd19zcGluX2xvY2soJnNjZC0+bG9jayk7Ci0JX191cGRhdGVfc2NoZWRfY2xvY2soc2NkLCBub3cpOworCV9fdXBkYXRlX3NjaGVkX2Nsb2NrKHNjZCwgbm93LCBOVUxMKTsKIAkvKgogCSAqIHVwZGF0ZSB0aWNrX2d0b2QgYWZ0ZXIgX191cGRhdGVfc2NoZWRfY2xvY2soKSBiZWNhdXNlIHRoYXQgd2lsbAogCSAqIGFscmVhZHkgb2JzZXJ2ZSAxIG5ldyBqaWZmeTsgYWRkaW5nIGEgbmV3IHRpY2tfZ3RvZCB0byB0aGF0IHdvdWxkCiAJICogaW5jcmVhc2UgdGhlIGNsb2NrIDIgamlmZmllcy4KIAkgKi8KKwlkZWx0YV9ndG9kID0gbm93X2d0b2QgLSBzY2QtPnRpY2tfZ3RvZDsKKwlkZWx0YV9yYXcgPSBub3cgLSBzY2QtPnRpY2tfcmF3OworCisJaWYgKChsb25nKWRlbHRhX3JhdyA+IDApIHsKKwkJbXVsdCA9IGRlbHRhX2d0b2QgPDwgTVVMVElfU0hJRlQ7CisJCWRvX2RpdihtdWx0LCBkZWx0YV9yYXcpOworCQlzY2QtPm11bHRpID0gbXVsdDsKKwkJaWYgKHNjZC0+bXVsdGkgPiBNQVhfTVVMVEkpCisJCQlzY2QtPm11bHRpID0gTUFYX01VTFRJOworCQllbHNlIGlmIChzY2QtPm11bHRpIDwgTUlOX01VTFRJKQorCQkJc2NkLT5tdWx0aSA9IE1JTl9NVUxUSTsKKwl9IGVsc2UKKwkJc2NkLT5tdWx0aSA9IDEgPDwgTVVMVElfU0hJRlQ7CisKIAlzY2QtPnRpY2tfcmF3ID0gbm93OwogCXNjZC0+dGlja19ndG9kID0gbm93X2d0b2Q7CisJc2NkLT50aWNrX2ppZmZpZXMgPSBub3dfamlmZmllczsKIAlfX3Jhd19zcGluX3VubG9jaygmc2NkLT5sb2NrKTsKIH0KIApAQCAtMjI3LDYgKzMxMiw3IEBACiAJX19yYXdfc3Bpbl9sb2NrKCZzY2QtPmxvY2spOwogCXNjZC0+cHJldl9yYXcgPSBub3c7CiAJc2NkLT5jbG9jayArPSBkZWx0YV9uczsKKwlzY2QtPm11bHRpID0gMSA8PCBNVUxUSV9TSElGVDsKIAlfX3Jhd19zcGluX3VubG9jaygmc2NkLT5sb2NrKTsKIAogCXRvdWNoX3NvZnRsb2NrdXBfd2F0Y2hkb2coKTsKQEAgLTI0NCwzICszMzAsMTYgQEAKIHsKIAlyZXR1cm4gKHVuc2lnbmVkIGxvbmcgbG9uZylqaWZmaWVzICogKE5TRUNfUEVSX1NFQyAvIEhaKTsKIH0KKwordW5zaWduZWQgbG9uZyBsb25nIGNwdV9jbG9jayhpbnQgY3B1KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBjbG9jazsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWNsb2NrID0gc2NoZWRfY2xvY2tfY3B1KGNwdSk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJcmV0dXJuIGNsb2NrOworfQorRVhQT1JUX1NZTUJPTF9HUEwoY3B1X2Nsb2NrKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9jcHVwcmkuYyBiL2tlcm5lbC9zY2hlZF9jcHVwcmkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjE1NGZlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3NjaGVkX2NwdXByaS5jCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogIGtlcm5lbC9zY2hlZF9jcHVwcmkuYworICoKKyAqICBDUFUgcHJpb3JpdHkgbWFuYWdlbWVudAorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBOb3ZlbGwKKyAqCisgKiAgQXV0aG9yOiBHcmVnb3J5IEhhc2tpbnMgPGdoYXNraW5zQG5vdmVsbC5jb20+CisgKgorICogIFRoaXMgY29kZSB0cmFja3MgdGhlIHByaW9yaXR5IG9mIGVhY2ggQ1BVIHNvIHRoYXQgZ2xvYmFsIG1pZ3JhdGlvbgorICogIGRlY2lzaW9ucyBhcmUgZWFzeSB0byBjYWxjdWxhdGUuICBFYWNoIENQVSBjYW4gYmUgaW4gYSBzdGF0ZSBhcyBmb2xsb3dzOgorICoKKyAqICAgICAgICAgICAgICAgICAoSU5WQUxJRCksIElETEUsIE5PUk1BTCwgUlQxLCAuLi4gUlQ5OQorICoKKyAqICBnb2luZyBmcm9tIHRoZSBsb3dlc3QgcHJpb3JpdHkgdG8gdGhlIGhpZ2hlc3QuICBDUFVzIGluIHRoZSBJTlZBTElEIHN0YXRlCisgKiAgYXJlIG5vdCBlbGlnaWJsZSBmb3Igcm91dGluZy4gIFRoZSBzeXN0ZW0gbWFpbnRhaW5zIHRoaXMgc3RhdGUgd2l0aAorICogIGEgMiBkaW1lbnNpb25hbCBiaXRtYXAgKHRoZSBmaXJzdCBmb3IgcHJpb3JpdHkgY2xhc3MsIHRoZSBzZWNvbmQgZm9yIGNwdXMKKyAqICBpbiB0aGF0IGNsYXNzKS4gIFRoZXJlZm9yZSBhIHR5cGljYWwgYXBwbGljYXRpb24gd2l0aG91dCBhZmZpbml0eQorICogIHJlc3RyaWN0aW9ucyBjYW4gZmluZCBhIHN1aXRhYmxlIENQVSB3aXRoIE8oMSkgY29tcGxleGl0eSAoZS5nLiB0d28gYml0CisgKiAgc2VhcmNoZXMpLiAgRm9yIHRhc2tzIHdpdGggYWZmaW5pdHkgcmVzdHJpY3Rpb25zLCB0aGUgYWxnb3JpdGhtIGhhcyBhCisgKiAgd29yc3QgY2FzZSBjb21wbGV4aXR5IG9mIE8obWluKDEwMiwgbnJfZG9tY3B1cykpLCB0aG91Z2ggdGhlIHNjZW5hcmlvIHRoYXQKKyAqICB5aWVsZHMgdGhlIHdvcnN0IGNhc2Ugc2VhcmNoIGlzIGZhaXJseSBjb250cml2ZWQuCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIKKyAqICBvZiB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSAic2NoZWRfY3B1cHJpLmgiCisKKy8qIENvbnZlcnQgYmV0d2VlbiBhIDE0MCBiYXNlZCB0YXNrLT5wcmlvLCBhbmQgb3VyIDEwMiBiYXNlZCBjcHVwcmkgKi8KK3N0YXRpYyBpbnQgY29udmVydF9wcmlvKGludCBwcmlvKQoreworCWludCBjcHVwcmk7CisKKwlpZiAocHJpbyA9PSBDUFVQUklfSU5WQUxJRCkKKwkJY3B1cHJpID0gQ1BVUFJJX0lOVkFMSUQ7CisJZWxzZSBpZiAocHJpbyA9PSBNQVhfUFJJTykKKwkJY3B1cHJpID0gQ1BVUFJJX0lETEU7CisJZWxzZSBpZiAocHJpbyA+PSBNQVhfUlRfUFJJTykKKwkJY3B1cHJpID0gQ1BVUFJJX05PUk1BTDsKKwllbHNlCisJCWNwdXByaSA9IE1BWF9SVF9QUklPIC0gcHJpbyArIDE7CisKKwlyZXR1cm4gY3B1cHJpOworfQorCisjZGVmaW5lIGZvcl9lYWNoX2NwdXByaV9hY3RpdmUoYXJyYXksIGlkeCkgICAgICAgICAgICAgICAgICAgIFwKKyAgZm9yIChpZHggPSBmaW5kX2ZpcnN0X2JpdChhcnJheSwgQ1BVUFJJX05SX1BSSU9SSVRJRVMpOyAgICAgXAorICAgICAgIGlkeCA8IENQVVBSSV9OUl9QUklPUklUSUVTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgaWR4ID0gZmluZF9uZXh0X2JpdChhcnJheSwgQ1BVUFJJX05SX1BSSU9SSVRJRVMsIGlkeCsxKSkKKworLyoqCisgKiBjcHVwcmlfZmluZCAtIGZpbmQgdGhlIGJlc3QgKGxvd2VzdC1wcmkpIENQVSBpbiB0aGUgc3lzdGVtCisgKiBAY3A6IFRoZSBjcHVwcmkgY29udGV4dAorICogQHA6IFRoZSB0YXNrCisgKiBAbG93ZXN0X21hc2s6IEEgbWFzayB0byBmaWxsIGluIHdpdGggc2VsZWN0ZWQgQ1BVcworICoKKyAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgcmVjb21tZW5kZWQgQ1BVcyBhcyBjYWxjdWxhdGVkIGR1cmluZyB0aGUKKyAqIGN1cnJlbnQgaW52b2thdGlvbi4gIEJ5IHRoZSB0aW1lIHRoZSBjYWxsIHJldHVybnMsIHRoZSBDUFVzIG1heSBoYXZlIGluCisgKiBmYWN0IGNoYW5nZWQgcHJpb3JpdGllcyBhbnkgbnVtYmVyIG9mIHRpbWVzLiAgV2hpbGUgbm90IGlkZWFsLCBpdCBpcyBub3QKKyAqIGFuIGlzc3VlIG9mIGNvcnJlY3RuZXNzIHNpbmNlIHRoZSBub3JtYWwgcmViYWxhbmNlciBsb2dpYyB3aWxsIGNvcnJlY3QKKyAqIGFueSBkaXNjcmVwYW5jaWVzIGNyZWF0ZWQgYnkgcmFjaW5nIGFnYWluc3QgdGhlIHVuY2VydGFpbnR5IG9mIHRoZSBjdXJyZW50CisgKiBwcmlvcml0eSBjb25maWd1cmF0aW9uLgorICoKKyAqIFJldHVybnM6IChpbnQpYm9vbCAtIENQVXMgd2VyZSBmb3VuZAorICovCitpbnQgY3B1cHJpX2ZpbmQoc3RydWN0IGNwdXByaSAqY3AsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwKKwkJY3B1bWFza190ICpsb3dlc3RfbWFzaykKK3sKKwlpbnQgICAgICAgICAgICAgICAgICBpZHggICAgICA9IDA7CisJaW50ICAgICAgICAgICAgICAgICAgdGFza19wcmkgPSBjb252ZXJ0X3ByaW8ocC0+cHJpbyk7CisKKwlmb3JfZWFjaF9jcHVwcmlfYWN0aXZlKGNwLT5wcmlfYWN0aXZlLCBpZHgpIHsKKwkJc3RydWN0IGNwdXByaV92ZWMgKnZlYyAgPSAmY3AtPnByaV90b19jcHVbaWR4XTsKKwkJY3B1bWFza190IG1hc2s7CisKKwkJaWYgKGlkeCA+PSB0YXNrX3ByaSkKKwkJCWJyZWFrOworCisJCWNwdXNfYW5kKG1hc2ssIHAtPmNwdXNfYWxsb3dlZCwgdmVjLT5tYXNrKTsKKworCQlpZiAoY3B1c19lbXB0eShtYXNrKSkKKwkJCWNvbnRpbnVlOworCisJCSpsb3dlc3RfbWFzayA9IG1hc2s7CisJCXJldHVybiAxOworCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIGNwdXByaV9zZXQgLSB1cGRhdGUgdGhlIGNwdSBwcmlvcml0eSBzZXR0aW5nCisgKiBAY3A6IFRoZSBjcHVwcmkgY29udGV4dAorICogQGNwdTogVGhlIHRhcmdldCBjcHUKKyAqIEBwcmk6IFRoZSBwcmlvcml0eSAoSU5WQUxJRC1SVDk5KSB0byBhc3NpZ24gdG8gdGhpcyBDUFUKKyAqCisgKiBOb3RlOiBBc3N1bWVzIGNwdV9ycShjcHUpLT5sb2NrIGlzIGxvY2tlZAorICoKKyAqIFJldHVybnM6ICh2b2lkKQorICovCit2b2lkIGNwdXByaV9zZXQoc3RydWN0IGNwdXByaSAqY3AsIGludCBjcHUsIGludCBuZXdwcmkpCit7CisJaW50ICAgICAgICAgICAgICAgICAqY3VycnByaSA9ICZjcC0+Y3B1X3RvX3ByaVtjcHVdOworCWludCAgICAgICAgICAgICAgICAgIG9sZHByaSAgPSAqY3VycnByaTsKKwl1bnNpZ25lZCBsb25nICAgICAgICBmbGFnczsKKworCW5ld3ByaSA9IGNvbnZlcnRfcHJpbyhuZXdwcmkpOworCisJQlVHX09OKG5ld3ByaSA+PSBDUFVQUklfTlJfUFJJT1JJVElFUyk7CisKKwlpZiAobmV3cHJpID09IG9sZHByaSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBJZiB0aGUgY3B1IHdhcyBjdXJyZW50bHkgbWFwcGVkIHRvIGEgZGlmZmVyZW50IHZhbHVlLCB3ZQorCSAqIGZpcnN0IG5lZWQgdG8gdW5tYXAgdGhlIG9sZCB2YWx1ZQorCSAqLworCWlmIChsaWtlbHkob2xkcHJpICE9IENQVVBSSV9JTlZBTElEKSkgeworCQlzdHJ1Y3QgY3B1cHJpX3ZlYyAqdmVjICA9ICZjcC0+cHJpX3RvX2NwdVtvbGRwcmldOworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKworCQl2ZWMtPmNvdW50LS07CisJCWlmICghdmVjLT5jb3VudCkKKwkJCWNsZWFyX2JpdChvbGRwcmksIGNwLT5wcmlfYWN0aXZlKTsKKwkJY3B1X2NsZWFyKGNwdSwgdmVjLT5tYXNrKTsKKworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKwl9CisKKwlpZiAobGlrZWx5KG5ld3ByaSAhPSBDUFVQUklfSU5WQUxJRCkpIHsKKwkJc3RydWN0IGNwdXByaV92ZWMgKnZlYyA9ICZjcC0+cHJpX3RvX2NwdVtuZXdwcmldOworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKworCQljcHVfc2V0KGNwdSwgdmVjLT5tYXNrKTsKKwkJdmVjLT5jb3VudCsrOworCQlpZiAodmVjLT5jb3VudCA9PSAxKQorCQkJc2V0X2JpdChuZXdwcmksIGNwLT5wcmlfYWN0aXZlKTsKKworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKwl9CisKKwkqY3VycnByaSA9IG5ld3ByaTsKK30KKworLyoqCisgKiBjcHVwcmlfaW5pdCAtIGluaXRpYWxpemUgdGhlIGNwdXByaSBzdHJ1Y3R1cmUKKyAqIEBjcDogVGhlIGNwdXByaSBjb250ZXh0CisgKgorICogUmV0dXJuczogKHZvaWQpCisgKi8KK3ZvaWQgY3B1cHJpX2luaXQoc3RydWN0IGNwdXByaSAqY3ApCit7CisJaW50IGk7CisKKwltZW1zZXQoY3AsIDAsIHNpemVvZigqY3ApKTsKKworCWZvciAoaSA9IDA7IGkgPCBDUFVQUklfTlJfUFJJT1JJVElFUzsgaSsrKSB7CisJCXN0cnVjdCBjcHVwcmlfdmVjICp2ZWMgPSAmY3AtPnByaV90b19jcHVbaV07CisKKwkJc3Bpbl9sb2NrX2luaXQoJnZlYy0+bG9jayk7CisJCXZlYy0+Y291bnQgPSAwOworCQljcHVzX2NsZWFyKHZlYy0+bWFzayk7CisJfQorCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpCisJCWNwLT5jcHVfdG9fcHJpW2ldID0gQ1BVUFJJX0lOVkFMSUQ7Cit9CisKKwpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX2NwdXByaS5oIGIva2VybmVsL3NjaGVkX2NwdXByaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNTgxMWIwCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3NjaGVkX2NwdXByaS5oCkBAIC0wLDAgKzEsMzYgQEAKKyNpZm5kZWYgX0xJTlVYX0NQVVBSSV9ICisjZGVmaW5lIF9MSU5VWF9DUFVQUklfSAorCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKworI2RlZmluZSBDUFVQUklfTlJfUFJJT1JJVElFUwkoTUFYX1JUX1BSSU8gKyAyKQorI2RlZmluZSBDUFVQUklfTlJfUFJJX1dPUkRTCUJJVFNfVE9fTE9OR1MoQ1BVUFJJX05SX1BSSU9SSVRJRVMpCisKKyNkZWZpbmUgQ1BVUFJJX0lOVkFMSUQgLTEKKyNkZWZpbmUgQ1BVUFJJX0lETEUgICAgIDAKKyNkZWZpbmUgQ1BVUFJJX05PUk1BTCAgIDEKKy8qIHZhbHVlcyAyLTEwMSBhcmUgUlQgcHJpb3JpdGllcyAwLTk5ICovCisKK3N0cnVjdCBjcHVwcmlfdmVjIHsKKwlzcGlubG9ja190IGxvY2s7CisJaW50ICAgICAgICBjb3VudDsKKwljcHVtYXNrX3QgIG1hc2s7Cit9OworCitzdHJ1Y3QgY3B1cHJpIHsKKwlzdHJ1Y3QgY3B1cHJpX3ZlYyBwcmlfdG9fY3B1W0NQVVBSSV9OUl9QUklPUklUSUVTXTsKKwlsb25nICAgICAgICAgICAgICBwcmlfYWN0aXZlW0NQVVBSSV9OUl9QUklfV09SRFNdOworCWludCAgICAgICAgICAgICAgIGNwdV90b19wcmlbTlJfQ1BVU107Cit9OworCisjaWZkZWYgQ09ORklHX1NNUAoraW50ICBjcHVwcmlfZmluZChzdHJ1Y3QgY3B1cHJpICpjcCwKKwkJIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY3B1bWFza190ICpsb3dlc3RfbWFzayk7Cit2b2lkIGNwdXByaV9zZXQoc3RydWN0IGNwdXByaSAqY3AsIGludCBjcHUsIGludCBwcmkpOwordm9pZCBjcHVwcmlfaW5pdChzdHJ1Y3QgY3B1cHJpICpjcCk7CisjZWxzZQorI2RlZmluZSBjcHVwcmlfc2V0KGNwLCBjcHUsIHByaSkgZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBjcHVwcmlfaW5pdCgpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjZW5kaWYgLyogX0xJTlVYX0NQVVBSSV9IICovCmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfZGVidWcuYyBiL2tlcm5lbC9zY2hlZF9kZWJ1Zy5jCmluZGV4IDhiYjcxMzAuLmJiZTZiMzEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZF9kZWJ1Zy5jCisrKyBiL2tlcm5lbC9zY2hlZF9kZWJ1Zy5jCkBAIC0xMTksOSArMTE5LDcgQEAKIAlzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpsYXN0OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLSNpZiAhZGVmaW5lZChDT05GSUdfQ0dST1VQX1NDSEVEKSB8fCAhZGVmaW5lZChDT05GSUdfVVNFUl9TQ0hFRCkKLQlTRVFfcHJpbnRmKG0sICJcbmNmc19ycVslZF06XG4iLCBjcHUpOwotI2Vsc2UKKyNpZiBkZWZpbmVkKENPTkZJR19DR1JPVVBfU0NIRUQpICYmIGRlZmluZWQoQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQpCiAJY2hhciBwYXRoWzEyOF0gPSAiIjsKIAlzdHJ1Y3QgY2dyb3VwICpjZ3JvdXAgPSBOVUxMOwogCXN0cnVjdCB0YXNrX2dyb3VwICp0ZyA9IGNmc19ycS0+dGc7CkBAIC0xMzMsNiArMTMxLDggQEAKIAkJY2dyb3VwX3BhdGgoY2dyb3VwLCBwYXRoLCBzaXplb2YocGF0aCkpOwogCiAJU0VRX3ByaW50ZihtLCAiXG5jZnNfcnFbJWRdOiVzXG4iLCBjcHUsIHBhdGgpOworI2Vsc2UKKwlTRVFfcHJpbnRmKG0sICJcbmNmc19ycVslZF06XG4iLCBjcHUpOwogI2VuZGlmCiAKIAlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJUxkLiUwNmxkXG4iLCAiZXhlY19jbG9jayIsCkBAIC0xNjIsMTEgKzE2Miw2NCBAQAogCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlbGRcbiIsICJucl9ydW5uaW5nIiwgY2ZzX3JxLT5ucl9ydW5uaW5nKTsKIAlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJWxkXG4iLCAibG9hZCIsIGNmc19ycS0+bG9hZC53ZWlnaHQpOwogI2lmZGVmIENPTkZJR19TQ0hFRFNUQVRTCi0JU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVkXG4iLCAiYmtsX2NvdW50IiwKLQkJCXJxLT5ia2xfY291bnQpOworI2RlZmluZSBQKG4pIFNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlZFxuIiwgI24sIHJxLT5uKTsKKworCVAoeWxkX2V4cF9lbXB0eSk7CisJUCh5bGRfYWN0X2VtcHR5KTsKKwlQKHlsZF9ib3RoX2VtcHR5KTsKKwlQKHlsZF9jb3VudCk7CisKKwlQKHNjaGVkX3N3aXRjaCk7CisJUChzY2hlZF9jb3VudCk7CisJUChzY2hlZF9nb2lkbGUpOworCisJUCh0dHd1X2NvdW50KTsKKwlQKHR0d3VfbG9jYWwpOworCisJUChia2xfY291bnQpOworCisjdW5kZWYgUAogI2VuZGlmCiAJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVsZFxuIiwgIm5yX3NwcmVhZF9vdmVyIiwKIAkJCWNmc19ycS0+bnJfc3ByZWFkX292ZXIpOworI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECisjaWZkZWYgQ09ORklHX1NNUAorCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlbHVcbiIsICJzaGFyZXMiLCBjZnNfcnEtPnNoYXJlcyk7CisjZW5kaWYKKyNlbmRpZgorfQorCit2b2lkIHByaW50X3J0X3JxKHN0cnVjdCBzZXFfZmlsZSAqbSwgaW50IGNwdSwgc3RydWN0IHJ0X3JxICpydF9ycSkKK3sKKyNpZiBkZWZpbmVkKENPTkZJR19DR1JPVVBfU0NIRUQpICYmIGRlZmluZWQoQ09ORklHX1JUX0dST1VQX1NDSEVEKQorCWNoYXIgcGF0aFsxMjhdID0gIiI7CisJc3RydWN0IGNncm91cCAqY2dyb3VwID0gTlVMTDsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGcgPSBydF9ycS0+dGc7CisKKwlpZiAodGcpCisJCWNncm91cCA9IHRnLT5jc3MuY2dyb3VwOworCisJaWYgKGNncm91cCkKKwkJY2dyb3VwX3BhdGgoY2dyb3VwLCBwYXRoLCBzaXplb2YocGF0aCkpOworCisJU0VRX3ByaW50ZihtLCAiXG5ydF9ycVslZF06JXNcbiIsIGNwdSwgcGF0aCk7CisjZWxzZQorCVNFUV9wcmludGYobSwgIlxucnRfcnFbJWRdOlxuIiwgY3B1KTsKKyNlbmRpZgorCisKKyNkZWZpbmUgUCh4KSBcCisJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVMZFxuIiwgI3gsIChsb25nIGxvbmcpKHJ0X3JxLT54KSkKKyNkZWZpbmUgUE4oeCkgXAorCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlTGQuJTA2bGRcbiIsICN4LCBTUExJVF9OUyhydF9ycS0+eCkpCisKKwlQKHJ0X25yX3J1bm5pbmcpOworCVAocnRfdGhyb3R0bGVkKTsKKwlQTihydF90aW1lKTsKKwlQTihydF9ydW50aW1lKTsKKworI3VuZGVmIFBOCisjdW5kZWYgUAogfQogCiBzdGF0aWMgdm9pZCBwcmludF9jcHUoc3RydWN0IHNlcV9maWxlICptLCBpbnQgY3B1KQpAQCAtMjA4LDYgKzI2MSw3IEBACiAjdW5kZWYgUE4KIAogCXByaW50X2Nmc19zdGF0cyhtLCBjcHUpOworCXByaW50X3J0X3N0YXRzKG0sIGNwdSk7CiAKIAlwcmludF9ycShtLCBycSwgY3B1KTsKIH0KZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9mYWlyLmMgYi9rZXJuZWwvc2NoZWRfZmFpci5jCmluZGV4IDA4YWU4NDguLmYyYWE5ODcgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZF9mYWlyLmMKKysrIGIva2VybmVsL3NjaGVkX2ZhaXIuYwpAQCAtNjMsMTMgKzYzLDEzIEBACiAKIC8qCiAgKiBTQ0hFRF9PVEhFUiB3YWtlLXVwIGdyYW51bGFyaXR5LgotICogKGRlZmF1bHQ6IDEwIG1zZWMgKiAoMSArIGlsb2cobmNwdXMpKSwgdW5pdHM6IG5hbm9zZWNvbmRzKQorICogKGRlZmF1bHQ6IDUgbXNlYyAqICgxICsgaWxvZyhuY3B1cykpLCB1bml0czogbmFub3NlY29uZHMpCiAgKgogICogVGhpcyBvcHRpb24gZGVsYXlzIHRoZSBwcmVlbXB0aW9uIGVmZmVjdHMgb2YgZGVjb3VwbGVkIHdvcmtsb2FkcwogICogYW5kIHJlZHVjZXMgdGhlaXIgb3Zlci1zY2hlZHVsaW5nLiBTeW5jaHJvbm91cyB3b3JrbG9hZHMgd2lsbCBzdGlsbAogICogaGF2ZSBpbW1lZGlhdGUgd2FrZXVwL3NsZWVwIGxhdGVuY2llcy4KICAqLwotdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHkgPSAxMDAwMDAwMFVMOwordW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHkgPSA1MDAwMDAwVUw7CiAKIGNvbnN0X2RlYnVnIHVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfbWlncmF0aW9uX2Nvc3QgPSA1MDAwMDBVTDsKIApAQCAtMzM0LDYgKzMzNCwzNCBAQAogI2VuZGlmCiAKIC8qCisgKiBkZWx0YSAqPSB3IC8gcncKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nCitjYWxjX2RlbHRhX3dlaWdodCh1bnNpZ25lZCBsb25nIGRlbHRhLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKK3sKKwlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKKwkJZGVsdGEgPSBjYWxjX2RlbHRhX21pbmUoZGVsdGEsCisJCQkJc2UtPmxvYWQud2VpZ2h0LCAmY2ZzX3JxX29mKHNlKS0+bG9hZCk7CisJfQorCisJcmV0dXJuIGRlbHRhOworfQorCisvKgorICogZGVsdGEgKj0gcncgLyB3CisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZworY2FsY19kZWx0YV9mYWlyKHVuc2lnbmVkIGxvbmcgZGVsdGEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQoreworCWZvcl9lYWNoX3NjaGVkX2VudGl0eShzZSkgeworCQlkZWx0YSA9IGNhbGNfZGVsdGFfbWluZShkZWx0YSwKKwkJCQljZnNfcnFfb2Yoc2UpLT5sb2FkLndlaWdodCwgJnNlLT5sb2FkKTsKKwl9CisKKwlyZXR1cm4gZGVsdGE7Cit9CisKKy8qCiAgKiBUaGUgaWRlYSBpcyB0byBzZXQgYSBwZXJpb2QgaW4gd2hpY2ggZWFjaCB0YXNrIHJ1bnMgb25jZS4KICAqCiAgKiBXaGVuIHRoZXJlIGFyZSB0b28gbWFueSB0YXNrcyAoc3lzY3RsX3NjaGVkX25yX2xhdGVuY3kpIHdlIGhhdmUgdG8gc3RyZXRjaApAQCAtMzYyLDQ3ICszOTAsODAgQEAKICAqLwogc3RhdGljIHU2NCBzY2hlZF9zbGljZShzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQogewotCXU2NCBzbGljZSA9IF9fc2NoZWRfcGVyaW9kKGNmc19ycS0+bnJfcnVubmluZyk7Ci0KLQlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKLQkJY2ZzX3JxID0gY2ZzX3JxX29mKHNlKTsKLQotCQlzbGljZSAqPSBzZS0+bG9hZC53ZWlnaHQ7Ci0JCWRvX2RpdihzbGljZSwgY2ZzX3JxLT5sb2FkLndlaWdodCk7Ci0JfQotCi0KLQlyZXR1cm4gc2xpY2U7CisJcmV0dXJuIGNhbGNfZGVsdGFfd2VpZ2h0KF9fc2NoZWRfcGVyaW9kKGNmc19ycS0+bnJfcnVubmluZyksIHNlKTsKIH0KIAogLyoKICAqIFdlIGNhbGN1bGF0ZSB0aGUgdnJ1bnRpbWUgc2xpY2Ugb2YgYSB0byBiZSBpbnNlcnRlZCB0YXNrCiAgKgotICogdnMgPSBzL3cgPSBwL3J3CisgKiB2cyA9IHMqcncvdyA9IHAKICAqLwogc3RhdGljIHU2NCBzY2hlZF92c2xpY2VfYWRkKHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCiB7CiAJdW5zaWduZWQgbG9uZyBucl9ydW5uaW5nID0gY2ZzX3JxLT5ucl9ydW5uaW5nOwotCXVuc2lnbmVkIGxvbmcgd2VpZ2h0OwotCXU2NCB2c2xpY2U7CiAKIAlpZiAoIXNlLT5vbl9ycSkKIAkJbnJfcnVubmluZysrOwogCi0JdnNsaWNlID0gX19zY2hlZF9wZXJpb2QobnJfcnVubmluZyk7CisJcmV0dXJuIF9fc2NoZWRfcGVyaW9kKG5yX3J1bm5pbmcpOworfQorCisvKgorICogVGhlIGdvYWwgb2YgY2FsY19kZWx0YV9hc3ltKCkgaXMgdG8gYmUgYXN5bW1ldHJpY2FsbHkgYXJvdW5kIE5JQ0VfMF9MT0FELCBpbgorICogdGhhdCBpdCBmYXZvdXJzID49MCBvdmVyIDwwLgorICoKKyAqICAgLTIwICAgICAgICAgfAorICogICAgICAgICAgICAgICB8CisgKiAgICAgMCAtLS0tLS0tLSstLS0tLS0tCisgKiAgICAgICAgICAgICAuJworICogICAgMTkgICAgIC4nCisgKgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZworY2FsY19kZWx0YV9hc3ltKHVuc2lnbmVkIGxvbmcgZGVsdGEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQoreworCXN0cnVjdCBsb2FkX3dlaWdodCBsdyA9IHsKKwkJLndlaWdodCA9IE5JQ0VfMF9MT0FELAorCQkuaW52X3dlaWdodCA9IDFVTCA8PCAoV01VTFRfU0hJRlQtTklDRV8wX1NISUZUKQorCX07CiAKIAlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKLQkJY2ZzX3JxID0gY2ZzX3JxX29mKHNlKTsKKwkJc3RydWN0IGxvYWRfd2VpZ2h0ICpzZV9sdyA9ICZzZS0+bG9hZDsKKwkJdW5zaWduZWQgbG9uZyBydyA9IGNmc19ycV9vZihzZSktPmxvYWQud2VpZ2h0OwogCi0JCXdlaWdodCA9IGNmc19ycS0+bG9hZC53ZWlnaHQ7Ci0JCWlmICghc2UtPm9uX3JxKQotCQkJd2VpZ2h0ICs9IHNlLT5sb2FkLndlaWdodDsKKyNpZmRlZiBDT05GSUdfRkFJUl9TQ0hFRF9HUk9VUAorCQlzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEgPSBzZS0+bXlfcTsKKwkJc3RydWN0IHRhc2tfZ3JvdXAgKnRnID0gTlVMTAogCi0JCXZzbGljZSAqPSBOSUNFXzBfTE9BRDsKLQkJZG9fZGl2KHZzbGljZSwgd2VpZ2h0KTsKKwkJaWYgKGNmc19ycSkKKwkJCXRnID0gY2ZzX3JxLT50ZzsKKworCQlpZiAodGcgJiYgdGctPnNoYXJlcyA8IE5JQ0VfMF9MT0FEKSB7CisJCQkvKgorCQkJICogc2NhbGUgc2hhcmVzIHRvIHdoYXQgaXQgd291bGQgaGF2ZSBiZWVuIGhhZAorCQkJICogdGctPndlaWdodCBiZWVuIE5JQ0VfMF9MT0FEOgorCQkJICoKKwkJCSAqICAgd2VpZ2h0ID0gMTAyNCAqIHNoYXJlcyAvIHRnLT53ZWlnaHQKKwkJCSAqLworCQkJbHcud2VpZ2h0ICo9IHNlLT5sb2FkLndlaWdodDsKKwkJCWx3LndlaWdodCAvPSB0Zy0+c2hhcmVzOworCisJCQlsdy5pbnZfd2VpZ2h0ID0gMDsKKworCQkJc2VfbHcgPSAmbHc7CisJCQlydyArPSBsdy53ZWlnaHQgLSBzZS0+bG9hZC53ZWlnaHQ7CisJCX0gZWxzZQorI2VuZGlmCisKKwkJaWYgKHNlLT5sb2FkLndlaWdodCA8IE5JQ0VfMF9MT0FEKSB7CisJCQlzZV9sdyA9ICZsdzsKKwkJCXJ3ICs9IE5JQ0VfMF9MT0FEIC0gc2UtPmxvYWQud2VpZ2h0OworCQl9CisKKwkJZGVsdGEgPSBjYWxjX2RlbHRhX21pbmUoZGVsdGEsIHJ3LCBzZV9sdyk7CiAJfQogCi0JcmV0dXJuIHZzbGljZTsKKwlyZXR1cm4gZGVsdGE7CiB9CiAKIC8qCkBAIC00MTksMTEgKzQ4MCw3IEBACiAKIAljdXJyLT5zdW1fZXhlY19ydW50aW1lICs9IGRlbHRhX2V4ZWM7CiAJc2NoZWRzdGF0X2FkZChjZnNfcnEsIGV4ZWNfY2xvY2ssIGRlbHRhX2V4ZWMpOwotCWRlbHRhX2V4ZWNfd2VpZ2h0ZWQgPSBkZWx0YV9leGVjOwotCWlmICh1bmxpa2VseShjdXJyLT5sb2FkLndlaWdodCAhPSBOSUNFXzBfTE9BRCkpIHsKLQkJZGVsdGFfZXhlY193ZWlnaHRlZCA9IGNhbGNfZGVsdGFfZmFpcihkZWx0YV9leGVjX3dlaWdodGVkLAotCQkJCQkJCSZjdXJyLT5sb2FkKTsKLQl9CisJZGVsdGFfZXhlY193ZWlnaHRlZCA9IGNhbGNfZGVsdGFfZmFpcihkZWx0YV9leGVjLCBjdXJyKTsKIAljdXJyLT52cnVudGltZSArPSBkZWx0YV9leGVjX3dlaWdodGVkOwogfQogCkBAIC01MTAsMTAgKzU2NywyNyBAQAogICogU2NoZWR1bGluZyBjbGFzcyBxdWV1ZWluZyBtZXRob2RzOgogICovCiAKKyNpZiBkZWZpbmVkIENPTkZJR19TTVAgJiYgZGVmaW5lZCBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAorc3RhdGljIHZvaWQKK2FkZF9jZnNfdGFza193ZWlnaHQoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCB1bnNpZ25lZCBsb25nIHdlaWdodCkKK3sKKwljZnNfcnEtPnRhc2tfd2VpZ2h0ICs9IHdlaWdodDsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQKK2FkZF9jZnNfdGFza193ZWlnaHQoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCB1bnNpZ25lZCBsb25nIHdlaWdodCkKK3sKK30KKyNlbmRpZgorCiBzdGF0aWMgdm9pZAogYWNjb3VudF9lbnRpdHlfZW5xdWV1ZShzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQogewogCXVwZGF0ZV9sb2FkX2FkZCgmY2ZzX3JxLT5sb2FkLCBzZS0+bG9hZC53ZWlnaHQpOworCWlmICghcGFyZW50X2VudGl0eShzZSkpCisJCWluY19jcHVfbG9hZChycV9vZihjZnNfcnEpLCBzZS0+bG9hZC53ZWlnaHQpOworCWlmIChlbnRpdHlfaXNfdGFzayhzZSkpCisJCWFkZF9jZnNfdGFza193ZWlnaHQoY2ZzX3JxLCBzZS0+bG9hZC53ZWlnaHQpOwogCWNmc19ycS0+bnJfcnVubmluZysrOwogCXNlLT5vbl9ycSA9IDE7CiAJbGlzdF9hZGQoJnNlLT5ncm91cF9ub2RlLCAmY2ZzX3JxLT50YXNrcyk7CkBAIC01MjMsNiArNTk3LDEwIEBACiBhY2NvdW50X2VudGl0eV9kZXF1ZXVlKHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCiB7CiAJdXBkYXRlX2xvYWRfc3ViKCZjZnNfcnEtPmxvYWQsIHNlLT5sb2FkLndlaWdodCk7CisJaWYgKCFwYXJlbnRfZW50aXR5KHNlKSkKKwkJZGVjX2NwdV9sb2FkKHJxX29mKGNmc19ycSksIHNlLT5sb2FkLndlaWdodCk7CisJaWYgKGVudGl0eV9pc190YXNrKHNlKSkKKwkJYWRkX2Nmc190YXNrX3dlaWdodChjZnNfcnEsIC1zZS0+bG9hZC53ZWlnaHQpOwogCWNmc19ycS0+bnJfcnVubmluZy0tOwogCXNlLT5vbl9ycSA9IDA7CiAJbGlzdF9kZWxfaW5pdCgmc2UtPmdyb3VwX25vZGUpOwpAQCAtNjA5LDggKzY4NywxNyBAQAogCiAJaWYgKCFpbml0aWFsKSB7CiAJCS8qIHNsZWVwcyB1cHRvIGEgc2luZ2xlIGxhdGVuY3kgZG9uJ3QgY291bnQuICovCi0JCWlmIChzY2hlZF9mZWF0KE5FV19GQUlSX1NMRUVQRVJTKSkKLQkJCXZydW50aW1lIC09IHN5c2N0bF9zY2hlZF9sYXRlbmN5OworCQlpZiAoc2NoZWRfZmVhdChORVdfRkFJUl9TTEVFUEVSUykpIHsKKwkJCXVuc2lnbmVkIGxvbmcgdGhyZXNoID0gc3lzY3RsX3NjaGVkX2xhdGVuY3k7CisKKwkJCS8qCisJCQkgKiBjb252ZXJ0IHRoZSBzbGVlcGVyIHRocmVzaG9sZCBpbnRvIHZpcnR1YWwgdGltZQorCQkJICovCisJCQlpZiAoc2NoZWRfZmVhdChOT1JNQUxJWkVEX1NMRUVQRVIpKQorCQkJCXRocmVzaCA9IGNhbGNfZGVsdGFfZmFpcih0aHJlc2gsIHNlKTsKKworCQkJdnJ1bnRpbWUgLT0gdGhyZXNoOworCQl9CiAKIAkJLyogZW5zdXJlIHdlIG5ldmVyIGdhaW4gdGltZSBieSBiZWluZyBwbGFjZWQgYmFja3dhcmRzLiAqLwogCQl2cnVudGltZSA9IG1heF92cnVudGltZShzZS0+dnJ1bnRpbWUsIHZydW50aW1lKTsKQEAgLTYzOSwyMSArNzI2LDYgQEAKIAkJX19lbnF1ZXVlX2VudGl0eShjZnNfcnEsIHNlKTsKIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlX2F2Zyh1NjQgKmF2ZywgdTY0IHNhbXBsZSkKLXsKLQlzNjQgZGlmZiA9IHNhbXBsZSAtICphdmc7Ci0JKmF2ZyArPSBkaWZmID4+IDM7Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9hdmdfc3RhdHMoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKLXsKLQlpZiAoIXNlLT5sYXN0X3dha2V1cCkKLQkJcmV0dXJuOwotCi0JdXBkYXRlX2F2Zygmc2UtPmF2Z19vdmVybGFwLCBzZS0+c3VtX2V4ZWNfcnVudGltZSAtIHNlLT5sYXN0X3dha2V1cCk7Ci0Jc2UtPmxhc3Rfd2FrZXVwID0gMDsKLX0KLQogc3RhdGljIHZvaWQKIGRlcXVldWVfZW50aXR5KHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UsIGludCBzbGVlcCkKIHsKQEAgLTY2NCw3ICs3MzYsNiBAQAogCiAJdXBkYXRlX3N0YXRzX2RlcXVldWUoY2ZzX3JxLCBzZSk7CiAJaWYgKHNsZWVwKSB7Ci0JCXVwZGF0ZV9hdmdfc3RhdHMoY2ZzX3JxLCBzZSk7CiAjaWZkZWYgQ09ORklHX1NDSEVEU1RBVFMKIAkJaWYgKGVudGl0eV9pc190YXNrKHNlKSkgewogCQkJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSB0YXNrX29mKHNlKTsKQEAgLTcyNiwxNyArNzk3LDE2IEBACiAJc2UtPnByZXZfc3VtX2V4ZWNfcnVudGltZSA9IHNlLT5zdW1fZXhlY19ydW50aW1lOwogfQogCi1zdGF0aWMgaW50Ci13YWtldXBfcHJlZW1wdF9lbnRpdHkoc3RydWN0IHNjaGVkX2VudGl0eSAqY3Vyciwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpOwotCiBzdGF0aWMgc3RydWN0IHNjaGVkX2VudGl0eSAqCiBwaWNrX25leHQoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKIHsKLQlpZiAoIWNmc19ycS0+bmV4dCkKLQkJcmV0dXJuIHNlOworCXN0cnVjdCBycSAqcnEgPSBycV9vZihjZnNfcnEpOworCXU2NCBwYWlyX3NsaWNlID0gcnEtPmNsb2NrIC0gY2ZzX3JxLT5wYWlyX3N0YXJ0OwogCi0JaWYgKHdha2V1cF9wcmVlbXB0X2VudGl0eShjZnNfcnEtPm5leHQsIHNlKSAhPSAwKQorCWlmICghY2ZzX3JxLT5uZXh0IHx8IHBhaXJfc2xpY2UgPiBzY2hlZF9zbGljZShjZnNfcnEsIGNmc19ycS0+bmV4dCkpIHsKKwkJY2ZzX3JxLT5wYWlyX3N0YXJ0ID0gcnEtPmNsb2NrOwogCQlyZXR1cm4gc2U7CisJfQogCiAJcmV0dXJuIGNmc19ycS0+bmV4dDsKIH0KQEAgLTgzNSw3ICs5MDUsNyBAQAogCQlocnRpY2tfc3RhcnQocnEsIGRlbHRhLCByZXF1ZXVlKTsKIAl9CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19TQ0hFRF9IUlRJQ0sgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZAogaHJ0aWNrX3N0YXJ0X2ZhaXIoc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwKQogewpAQCAtOTc2LDcgKzEwNDYsNyBAQAogCX0KIAlyZXR1cm4gY3B1OwogfQotI2Vsc2UKKyNlbHNlIC8qICFBUkNIX0hBU19TQ0hFRF9XQUtFX0lETEUqLwogc3RhdGljIGlubGluZSBpbnQgd2FrZV9pZGxlKGludCBjcHUsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIHsKIAlyZXR1cm4gY3B1OwpAQCAtOTg3LDYgKzEwNTcsODkgQEAKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzY2hlZF9jbGFzcyBmYWlyX3NjaGVkX2NsYXNzOwogCisjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKKy8qCisgKiBlZmZlY3RpdmVfbG9hZCgpIGNhbGN1bGF0ZXMgdGhlIGxvYWQgY2hhbmdlIGFzIHNlZW4gZnJvbSB0aGUgcm9vdF90YXNrX2dyb3VwCisgKgorICogQWRkaW5nIGxvYWQgdG8gYSBncm91cCBkb2Vzbid0IG1ha2UgYSBncm91cCBoZWF2aWVyLCBidXQgY2FuIGNhdXNlIG1vdmVtZW50CisgKiBvZiBncm91cCBzaGFyZXMgYmV0d2VlbiBjcHVzLiBBc3N1bWluZyB0aGUgc2hhcmVzIHdlcmUgcGVyZmVjdGx5IGFsaWduZWQgb25lCisgKiBjYW4gY2FsY3VsYXRlIHRoZSBzaGlmdCBpbiBzaGFyZXMuCisgKgorICogVGhlIHByb2JsZW0gaXMgdGhhdCBwZXJmZWN0bHkgYWxpZ25pbmcgdGhlIHNoYXJlcyBpcyByYXRoZXIgZXhwZW5zaXZlLCBoZW5jZQorICogd2UgdHJ5IHRvIGF2b2lkIGRvaW5nIHRoYXQgdG9vIG9mdGVuIC0gc2VlIHVwZGF0ZV9zaGFyZXMoKSwgd2hpY2ggcmF0ZWxpbWl0cworICogdGhpcyBjaGFuZ2UuCisgKgorICogV2UgY29tcGVuc2F0ZSB0aGlzIGJ5IG5vdCBvbmx5IHRha2luZyB0aGUgY3VycmVudCBkZWx0YSBpbnRvIGFjY291bnQsIGJ1dAorICogYWxzbyBjb25zaWRlcmluZyB0aGUgZGVsdGEgYmV0d2VlbiB3aGVuIHRoZSBzaGFyZXMgd2VyZSBsYXN0IGFkanVzdGVkIGFuZAorICogbm93LgorICoKKyAqIFdlIHN0aWxsIHNhdyBhIHBlcmZvcm1hbmNlIGRpcCwgc29tZSB0cmFjaW5nIGxlYXJuZWQgdXMgdGhhdCBiZXR3ZWVuCisgKiBjZ3JvdXA6LyBhbmQgY2dyb3VwOi9mb28gYmFsYW5jaW5nIHRoZSBudW1iZXIgb2YgYWZmaW5lIHdha2V1cHMgaW5jcmVhc2VkCisgKiBzaWduaWZpY2FudGx5LiBUaGVyZWZvcmUgdHJ5IHRvIGJpYXMgdGhlIGVycm9yIGluIGRpcmVjdGlvbiBvZiBmYWlsaW5nCisgKiB0aGUgYWZmaW5lIHdha2V1cC4KKyAqCisgKi8KK3N0YXRpYyBsb25nIGVmZmVjdGl2ZV9sb2FkKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSwKKwkJbG9uZyB3bCwgbG9uZyB3ZykKK3sKKwlzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSA9IHRnLT5zZVtjcHVdOworCWxvbmcgbW9yZV93OworCisJaWYgKCF0Zy0+cGFyZW50KQorCQlyZXR1cm4gd2w7CisKKwkvKgorCSAqIEJ5IG5vdCB0YWtpbmcgdGhlIGRlY3JlYXNlIG9mIHNoYXJlcyBvbiB0aGUgb3RoZXIgY3B1IGludG8KKwkgKiBhY2NvdW50IG91ciBlcnJvciBsZWFucyB0b3dhcmRzIHJlZHVjaW5nIHRoZSBhZmZpbmUgd2FrZXVwcy4KKwkgKi8KKwlpZiAoIXdsICYmIHNjaGVkX2ZlYXQoQVNZTV9FRkZfTE9BRCkpCisJCXJldHVybiB3bDsKKworCS8qCisJICogSW5zdGVhZCBvZiB1c2luZyB0aGlzIGluY3JlbWVudCwgYWxzbyBhZGQgdGhlIGRpZmZlcmVuY2UKKwkgKiBiZXR3ZWVuIHdoZW4gdGhlIHNoYXJlcyB3ZXJlIGxhc3QgdXBkYXRlZCBhbmQgbm93LgorCSAqLworCW1vcmVfdyA9IHNlLT5teV9xLT5sb2FkLndlaWdodCAtIHNlLT5teV9xLT5ycV93ZWlnaHQ7CisJd2wgKz0gbW9yZV93OworCXdnICs9IG1vcmVfdzsKKworCWZvcl9lYWNoX3NjaGVkX2VudGl0eShzZSkgeworI2RlZmluZSBEKG4pIChsaWtlbHkobikgPyAobikgOiAxKQorCisJCWxvbmcgUywgcncsIHMsIGEsIGI7CisKKwkJUyA9IHNlLT5teV9xLT50Zy0+c2hhcmVzOworCQlzID0gc2UtPm15X3EtPnNoYXJlczsKKwkJcncgPSBzZS0+bXlfcS0+cnFfd2VpZ2h0OworCisJCWEgPSBTKihydyArIHdsKTsKKwkJYiA9IFMqcncgKyBzKndnOworCisJCXdsID0gcyooYS1iKS9EKGIpOworCQkvKgorCQkgKiBBc3N1bWUgdGhlIGdyb3VwIGlzIGFscmVhZHkgcnVubmluZyBhbmQgd2lsbAorCQkgKiB0aHVzIGFscmVhZHkgYmUgYWNjb3VudGVkIGZvciBpbiB0aGUgd2VpZ2h0LgorCQkgKgorCQkgKiBUaGF0IGlzLCBtb3Zpbmcgc2hhcmVzIGJldHdlZW4gQ1BVcywgZG9lcyBub3QKKwkJICogYWx0ZXIgdGhlIGdyb3VwIHdlaWdodC4KKwkJICovCisJCXdnID0gMDsKKyN1bmRlZiBECisJfQorCisJcmV0dXJuIHdsOworfQorCisjZWxzZQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZWZmZWN0aXZlX2xvYWQoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LAorCQl1bnNpZ25lZCBsb25nIHdsLCB1bnNpZ25lZCBsb25nIHdnKQoreworCXJldHVybiB3bDsKK30KKworI2VuZGlmCisKIHN0YXRpYyBpbnQKIHdha2VfYWZmaW5lKHN0cnVjdCBycSAqcnEsIHN0cnVjdCBzY2hlZF9kb21haW4gKnRoaXNfc2QsIHN0cnVjdCBycSAqdGhpc19ycSwKIAkgICAgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgcHJldl9jcHUsIGludCB0aGlzX2NwdSwgaW50IHN5bmMsCkBAIC05OTQsOCArMTE0NywxMCBAQAogCSAgICB1bnNpZ25lZCBpbnQgaW1iYWxhbmNlKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyciA9IHRoaXNfcnEtPmN1cnI7CisJc3RydWN0IHRhc2tfZ3JvdXAgKnRnOwogCXVuc2lnbmVkIGxvbmcgdGwgPSB0aGlzX2xvYWQ7CiAJdW5zaWduZWQgbG9uZyB0bF9wZXJfdGFzazsKKwl1bnNpZ25lZCBsb25nIHdlaWdodDsKIAlpbnQgYmFsYW5jZWQ7CiAKIAlpZiAoISh0aGlzX3NkLT5mbGFncyAmIFNEX1dBS0VfQUZGSU5FKSB8fCAhc2NoZWRfZmVhdChBRkZJTkVfV0FLRVVQUykpCkBAIC0xMDA2LDE5ICsxMTYxLDI4IEBACiAJICogZWZmZWN0IG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrIGZyb20gdGhlIGxvYWQKIAkgKiBvZiB0aGUgY3VycmVudCBDUFU6CiAJICovCi0JaWYgKHN5bmMpCi0JCXRsIC09IGN1cnJlbnQtPnNlLmxvYWQud2VpZ2h0OworCWlmIChzeW5jKSB7CisJCXRnID0gdGFza19ncm91cChjdXJyZW50KTsKKwkJd2VpZ2h0ID0gY3VycmVudC0+c2UubG9hZC53ZWlnaHQ7CiAKLQliYWxhbmNlZCA9IDEwMCoodGwgKyBwLT5zZS5sb2FkLndlaWdodCkgPD0gaW1iYWxhbmNlKmxvYWQ7CisJCXRsICs9IGVmZmVjdGl2ZV9sb2FkKHRnLCB0aGlzX2NwdSwgLXdlaWdodCwgLXdlaWdodCk7CisJCWxvYWQgKz0gZWZmZWN0aXZlX2xvYWQodGcsIHByZXZfY3B1LCAwLCAtd2VpZ2h0KTsKKwl9CisKKwl0ZyA9IHRhc2tfZ3JvdXAocCk7CisJd2VpZ2h0ID0gcC0+c2UubG9hZC53ZWlnaHQ7CisKKwliYWxhbmNlZCA9IDEwMCoodGwgKyBlZmZlY3RpdmVfbG9hZCh0ZywgdGhpc19jcHUsIHdlaWdodCwgd2VpZ2h0KSkgPD0KKwkJaW1iYWxhbmNlKihsb2FkICsgZWZmZWN0aXZlX2xvYWQodGcsIHByZXZfY3B1LCAwLCB3ZWlnaHQpKTsKIAogCS8qCiAJICogSWYgdGhlIGN1cnJlbnRseSBydW5uaW5nIHRhc2sgd2lsbCBzbGVlcCB3aXRoaW4KIAkgKiBhIHJlYXNvbmFibGUgYW1vdW50IG9mIHRpbWUgdGhlbiBhdHRyYWN0IHRoaXMgbmV3bHkKIAkgKiB3b2tlbiB0YXNrOgogCSAqLwotCWlmIChzeW5jICYmIGJhbGFuY2VkICYmIGN1cnItPnNjaGVkX2NsYXNzID09ICZmYWlyX3NjaGVkX2NsYXNzKSB7CisJaWYgKHN5bmMgJiYgYmFsYW5jZWQpIHsKIAkJaWYgKGN1cnItPnNlLmF2Z19vdmVybGFwIDwgc3lzY3RsX3NjaGVkX21pZ3JhdGlvbl9jb3N0ICYmCi0JCQkJcC0+c2UuYXZnX292ZXJsYXAgPCBzeXNjdGxfc2NoZWRfbWlncmF0aW9uX2Nvc3QpCisJCSAgICBwLT5zZS5hdmdfb3ZlcmxhcCA8IHN5c2N0bF9zY2hlZF9taWdyYXRpb25fY29zdCkKIAkJCXJldHVybiAxOwogCX0KIApAQCAtMTExMSwxMSArMTI3NSwxMyBAQAogCXVuc2lnbmVkIGxvbmcgZ3JhbiA9IHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHk7CiAKIAkvKgotCSAqIE1vcmUgZWFzaWx5IHByZWVtcHQgLSBuaWNlIHRhc2tzLCB3aGlsZSBub3QgbWFraW5nCi0JICogaXQgaGFyZGVyIGZvciArIG5pY2UgdGFza3MuCisJICogTW9yZSBlYXNpbHkgcHJlZW1wdCAtIG5pY2UgdGFza3MsIHdoaWxlIG5vdCBtYWtpbmcgaXQgaGFyZGVyIGZvcgorCSAqICsgbmljZSB0YXNrcy4KIAkgKi8KLQlpZiAodW5saWtlbHkoc2UtPmxvYWQud2VpZ2h0ID4gTklDRV8wX0xPQUQpKQotCQlncmFuID0gY2FsY19kZWx0YV9mYWlyKGdyYW4sICZzZS0+bG9hZCk7CisJaWYgKHNjaGVkX2ZlYXQoQVNZTV9HUkFOKSkKKwkJZ3JhbiA9IGNhbGNfZGVsdGFfYXN5bShzeXNjdGxfc2NoZWRfd2FrZXVwX2dyYW51bGFyaXR5LCBzZSk7CisJZWxzZQorCQlncmFuID0gY2FsY19kZWx0YV9mYWlyKHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHksIHNlKTsKIAogCXJldHVybiBncmFuOwogfQpAQCAtMTE3Nyw3ICsxMzQzLDYgQEAKIAkJcmV0dXJuOwogCX0KIAotCXNlLT5sYXN0X3dha2V1cCA9IHNlLT5zdW1fZXhlY19ydW50aW1lOwogCWlmICh1bmxpa2VseShzZSA9PSBwc2UpKQogCQlyZXR1cm47CiAKQEAgLTEyNzUsMjMgKzE0NDAsMTggQEAKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAgPSBOVUxMOwogCXN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlOwogCi0JaWYgKG5leHQgPT0gJmNmc19ycS0+dGFza3MpCi0JCXJldHVybiBOVUxMOwotCi0JLyogU2tpcCBvdmVyIGVudGl0aWVzIHRoYXQgYXJlIG5vdCB0YXNrcyAqLwotCWRvIHsKKwl3aGlsZSAobmV4dCAhPSAmY2ZzX3JxLT50YXNrcykgewogCQlzZSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IHNjaGVkX2VudGl0eSwgZ3JvdXBfbm9kZSk7CiAJCW5leHQgPSBuZXh0LT5uZXh0OwotCX0gd2hpbGUgKG5leHQgIT0gJmNmc19ycS0+dGFza3MgJiYgIWVudGl0eV9pc190YXNrKHNlKSk7CiAKLQlpZiAobmV4dCA9PSAmY2ZzX3JxLT50YXNrcykKLQkJcmV0dXJuIE5VTEw7CisJCS8qIFNraXAgb3ZlciBlbnRpdGllcyB0aGF0IGFyZSBub3QgdGFza3MgKi8KKwkJaWYgKGVudGl0eV9pc190YXNrKHNlKSkgeworCQkJcCA9IHRhc2tfb2Yoc2UpOworCQkJYnJlYWs7CisJCX0KKwl9CiAKIAljZnNfcnEtPmJhbGFuY2VfaXRlcmF0b3IgPSBuZXh0OwotCi0JaWYgKGVudGl0eV9pc190YXNrKHNlKSkKLQkJcCA9IHRhc2tfb2Yoc2UpOwotCiAJcmV0dXJuIHA7CiB9CiAKQEAgLTEzMDksNzUgKzE0NjksODIgQEAKIAlyZXR1cm4gX19sb2FkX2JhbGFuY2VfaXRlcmF0b3IoY2ZzX3JxLCBjZnNfcnEtPmJhbGFuY2VfaXRlcmF0b3IpOwogfQogCi0jaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKLXN0YXRpYyBpbnQgY2ZzX3JxX2Jlc3RfcHJpbyhzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEpCitzdGF0aWMgdW5zaWduZWQgbG9uZworX19sb2FkX2JhbGFuY2VfZmFpcihzdHJ1Y3QgcnEgKnRoaXNfcnEsIGludCB0aGlzX2NwdSwgc3RydWN0IHJxICpidXNpZXN0LAorCQl1bnNpZ25lZCBsb25nIG1heF9sb2FkX21vdmUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkLAorCQllbnVtIGNwdV9pZGxlX3R5cGUgaWRsZSwgaW50ICphbGxfcGlubmVkLCBpbnQgKnRoaXNfYmVzdF9wcmlvLAorCQlzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEpCiB7Ci0Jc3RydWN0IHNjaGVkX2VudGl0eSAqY3VycjsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CisJc3RydWN0IHJxX2l0ZXJhdG9yIGNmc19ycV9pdGVyYXRvcjsKIAotCWlmICghY2ZzX3JxLT5ucl9ydW5uaW5nIHx8ICFmaXJzdF9mYWlyKGNmc19ycSkpCi0JCXJldHVybiBNQVhfUFJJTzsKKwljZnNfcnFfaXRlcmF0b3Iuc3RhcnQgPSBsb2FkX2JhbGFuY2Vfc3RhcnRfZmFpcjsKKwljZnNfcnFfaXRlcmF0b3IubmV4dCA9IGxvYWRfYmFsYW5jZV9uZXh0X2ZhaXI7CisJY2ZzX3JxX2l0ZXJhdG9yLmFyZyA9IGNmc19ycTsKIAotCWN1cnIgPSBjZnNfcnEtPmN1cnI7Ci0JaWYgKCFjdXJyKQotCQljdXJyID0gX19waWNrX25leHRfZW50aXR5KGNmc19ycSk7Ci0KLQlwID0gdGFza19vZihjdXJyKTsKLQotCXJldHVybiBwLT5wcmlvOworCXJldHVybiBiYWxhbmNlX3Rhc2tzKHRoaXNfcnEsIHRoaXNfY3B1LCBidXNpZXN0LAorCQkJbWF4X2xvYWRfbW92ZSwgc2QsIGlkbGUsIGFsbF9waW5uZWQsCisJCQl0aGlzX2Jlc3RfcHJpbywgJmNmc19ycV9pdGVyYXRvcik7CiB9Ci0jZW5kaWYKIAorI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECiBzdGF0aWMgdW5zaWduZWQgbG9uZwogbG9hZF9iYWxhbmNlX2ZhaXIoc3RydWN0IHJxICp0aGlzX3JxLCBpbnQgdGhpc19jcHUsIHN0cnVjdCBycSAqYnVzaWVzdCwKIAkJICB1bnNpZ25lZCBsb25nIG1heF9sb2FkX21vdmUsCiAJCSAgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QsIGVudW0gY3B1X2lkbGVfdHlwZSBpZGxlLAogCQkgIGludCAqYWxsX3Bpbm5lZCwgaW50ICp0aGlzX2Jlc3RfcHJpbykKIHsKLQlzdHJ1Y3QgY2ZzX3JxICpidXN5X2Nmc19ycTsKIAlsb25nIHJlbV9sb2FkX21vdmUgPSBtYXhfbG9hZF9tb3ZlOwotCXN0cnVjdCBycV9pdGVyYXRvciBjZnNfcnFfaXRlcmF0b3I7CisJaW50IGJ1c2llc3RfY3B1ID0gY3B1X29mKGJ1c2llc3QpOworCXN0cnVjdCB0YXNrX2dyb3VwICp0ZzsKIAotCWNmc19ycV9pdGVyYXRvci5zdGFydCA9IGxvYWRfYmFsYW5jZV9zdGFydF9mYWlyOwotCWNmc19ycV9pdGVyYXRvci5uZXh0ID0gbG9hZF9iYWxhbmNlX25leHRfZmFpcjsKKwlyY3VfcmVhZF9sb2NrKCk7CisJdXBkYXRlX2hfbG9hZChidXNpZXN0X2NwdSk7CiAKLQlmb3JfZWFjaF9sZWFmX2Nmc19ycShidXNpZXN0LCBidXN5X2Nmc19ycSkgewotI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECi0JCXN0cnVjdCBjZnNfcnEgKnRoaXNfY2ZzX3JxOwotCQlsb25nIGltYmFsYW5jZTsKLQkJdW5zaWduZWQgbG9uZyBtYXhsb2FkOworCWxpc3RfZm9yX2VhY2hfZW50cnkodGcsICZ0YXNrX2dyb3VwcywgbGlzdCkgeworCQlzdHJ1Y3QgY2ZzX3JxICpidXNpZXN0X2Nmc19ycSA9IHRnLT5jZnNfcnFbYnVzaWVzdF9jcHVdOworCQl1bnNpZ25lZCBsb25nIGJ1c2llc3RfaF9sb2FkID0gYnVzaWVzdF9jZnNfcnEtPmhfbG9hZDsKKwkJdW5zaWduZWQgbG9uZyBidXNpZXN0X3dlaWdodCA9IGJ1c2llc3RfY2ZzX3JxLT5sb2FkLndlaWdodDsKKwkJdTY0IHJlbV9sb2FkLCBtb3ZlZF9sb2FkOwogCi0JCXRoaXNfY2ZzX3JxID0gY3B1X2Nmc19ycShidXN5X2Nmc19ycSwgdGhpc19jcHUpOwotCi0JCWltYmFsYW5jZSA9IGJ1c3lfY2ZzX3JxLT5sb2FkLndlaWdodCAtIHRoaXNfY2ZzX3JxLT5sb2FkLndlaWdodDsKLQkJLyogRG9uJ3QgcHVsbCBpZiB0aGlzX2Nmc19ycSBoYXMgbW9yZSBsb2FkIHRoYW4gYnVzeV9jZnNfcnEgKi8KLQkJaWYgKGltYmFsYW5jZSA8PSAwKQorCQkvKgorCQkgKiBlbXB0eSBncm91cAorCQkgKi8KKwkJaWYgKCFidXNpZXN0X2Nmc19ycS0+dGFza193ZWlnaHQpCiAJCQljb250aW51ZTsKIAotCQkvKiBEb24ndCBwdWxsIG1vcmUgdGhhbiBpbWJhbGFuY2UvMiAqLwotCQlpbWJhbGFuY2UgLz0gMjsKLQkJbWF4bG9hZCA9IG1pbihyZW1fbG9hZF9tb3ZlLCBpbWJhbGFuY2UpOworCQlyZW1fbG9hZCA9ICh1NjQpcmVtX2xvYWRfbW92ZSAqIGJ1c2llc3Rfd2VpZ2h0OworCQlyZW1fbG9hZCA9IGRpdl91NjQocmVtX2xvYWQsIGJ1c2llc3RfaF9sb2FkICsgMSk7CiAKLQkJKnRoaXNfYmVzdF9wcmlvID0gY2ZzX3JxX2Jlc3RfcHJpbyh0aGlzX2Nmc19ycSk7Ci0jZWxzZQotIyBkZWZpbmUgbWF4bG9hZCByZW1fbG9hZF9tb3ZlCi0jZW5kaWYKLQkJLyoKLQkJICogcGFzcyBidXN5X2Nmc19ycSBhcmd1bWVudCBpbnRvCi0JCSAqIGxvYWRfYmFsYW5jZV9bc3RhcnR8bmV4dF1fZmFpciBpdGVyYXRvcnMKLQkJICovCi0JCWNmc19ycV9pdGVyYXRvci5hcmcgPSBidXN5X2Nmc19ycTsKLQkJcmVtX2xvYWRfbW92ZSAtPSBiYWxhbmNlX3Rhc2tzKHRoaXNfcnEsIHRoaXNfY3B1LCBidXNpZXN0LAotCQkJCQkgICAgICAgbWF4bG9hZCwgc2QsIGlkbGUsIGFsbF9waW5uZWQsCi0JCQkJCSAgICAgICB0aGlzX2Jlc3RfcHJpbywKLQkJCQkJICAgICAgICZjZnNfcnFfaXRlcmF0b3IpOworCQltb3ZlZF9sb2FkID0gX19sb2FkX2JhbGFuY2VfZmFpcih0aGlzX3JxLCB0aGlzX2NwdSwgYnVzaWVzdCwKKwkJCQlyZW1fbG9hZCwgc2QsIGlkbGUsIGFsbF9waW5uZWQsIHRoaXNfYmVzdF9wcmlvLAorCQkJCXRnLT5jZnNfcnFbYnVzaWVzdF9jcHVdKTsKIAotCQlpZiAocmVtX2xvYWRfbW92ZSA8PSAwKQorCQlpZiAoIW1vdmVkX2xvYWQpCisJCQljb250aW51ZTsKKworCQltb3ZlZF9sb2FkICo9IGJ1c2llc3RfaF9sb2FkOworCQltb3ZlZF9sb2FkID0gZGl2X3U2NChtb3ZlZF9sb2FkLCBidXNpZXN0X3dlaWdodCArIDEpOworCisJCXJlbV9sb2FkX21vdmUgLT0gbW92ZWRfbG9hZDsKKwkJaWYgKHJlbV9sb2FkX21vdmUgPCAwKQogCQkJYnJlYWs7CiAJfQorCXJjdV9yZWFkX3VubG9jaygpOwogCiAJcmV0dXJuIG1heF9sb2FkX21vdmUgLSByZW1fbG9hZF9tb3ZlOwogfQorI2Vsc2UKK3N0YXRpYyB1bnNpZ25lZCBsb25nCitsb2FkX2JhbGFuY2VfZmFpcihzdHJ1Y3QgcnEgKnRoaXNfcnEsIGludCB0aGlzX2NwdSwgc3RydWN0IHJxICpidXNpZXN0LAorCQkgIHVuc2lnbmVkIGxvbmcgbWF4X2xvYWRfbW92ZSwKKwkJICBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCwgZW51bSBjcHVfaWRsZV90eXBlIGlkbGUsCisJCSAgaW50ICphbGxfcGlubmVkLCBpbnQgKnRoaXNfYmVzdF9wcmlvKQoreworCXJldHVybiBfX2xvYWRfYmFsYW5jZV9mYWlyKHRoaXNfcnEsIHRoaXNfY3B1LCBidXNpZXN0LAorCQkJbWF4X2xvYWRfbW92ZSwgc2QsIGlkbGUsIGFsbF9waW5uZWQsCisJCQl0aGlzX2Jlc3RfcHJpbywgJmJ1c2llc3QtPmNmcyk7Cit9CisjZW5kaWYKIAogc3RhdGljIGludAogbW92ZV9vbmVfdGFza19mYWlyKHN0cnVjdCBycSAqdGhpc19ycSwgaW50IHRoaXNfY3B1LCBzdHJ1Y3QgcnEgKmJ1c2llc3QsCkBAIC0xNDAyLDcgKzE1NjksNyBAQAogCiAJcmV0dXJuIDA7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU01QICovCiAKIC8qCiAgKiBzY2hlZHVsZXIgdGljayBoaXR0aW5nIGEgdGFzayBvZiBvdXIgc2NoZWR1bGluZyBjbGFzczoKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9mZWF0dXJlcy5oIGIva2VybmVsL3NjaGVkX2ZlYXR1cmVzLmgKaW5kZXggMWM3MjgzYy4uODYyYjA2YiAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX2ZlYXR1cmVzLmgKKysrIGIva2VybmVsL3NjaGVkX2ZlYXR1cmVzLmgKQEAgLTEsNCArMSw1IEBACiBTQ0hFRF9GRUFUKE5FV19GQUlSX1NMRUVQRVJTLCAxKQorU0NIRURfRkVBVChOT1JNQUxJWkVEX1NMRUVQRVIsIDEpCiBTQ0hFRF9GRUFUKFdBS0VVUF9QUkVFTVBULCAxKQogU0NIRURfRkVBVChTVEFSVF9ERUJJVCwgMSkKIFNDSEVEX0ZFQVQoQUZGSU5FX1dBS0VVUFMsIDEpCkBAIC02LDUgKzcsNyBAQAogU0NIRURfRkVBVChTWU5DX1dBS0VVUFMsIDEpCiBTQ0hFRF9GRUFUKEhSVElDSywgMSkKIFNDSEVEX0ZFQVQoRE9VQkxFX1RJQ0ssIDApCi1TQ0hFRF9GRUFUKE5PUk1BTElaRURfU0xFRVBFUiwgMSkKLVNDSEVEX0ZFQVQoREVBRExJTkUsIDEpCitTQ0hFRF9GRUFUKEFTWU1fR1JBTiwgMSkKK1NDSEVEX0ZFQVQoTEJfQklBUywgMCkKK1NDSEVEX0ZFQVQoTEJfV0FLRVVQX1VQREFURSwgMSkKK1NDSEVEX0ZFQVQoQVNZTV9FRkZfTE9BRCwgMSkKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9ydC5jIGIva2VybmVsL3NjaGVkX3J0LmMKaW5kZXggMGYzYzE5MS4uNDdjZWFjOSAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX3J0LmMKKysrIGIva2VybmVsL3NjaGVkX3J0LmMKQEAgLTEyLDYgKzEyLDkgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIHJ0X3NldF9vdmVybG9hZChzdHJ1Y3QgcnEgKnJxKQogeworCWlmICghcnEtPm9ubGluZSkKKwkJcmV0dXJuOworCiAJY3B1X3NldChycS0+Y3B1LCBycS0+cmQtPnJ0b19tYXNrKTsKIAkvKgogCSAqIE1ha2Ugc3VyZSB0aGUgbWFzayBpcyB2aXNpYmxlIGJlZm9yZSB3ZSBzZXQKQEAgLTI2LDYgKzI5LDkgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIHJ0X2NsZWFyX292ZXJsb2FkKHN0cnVjdCBycSAqcnEpCiB7CisJaWYgKCFycS0+b25saW5lKQorCQlyZXR1cm47CisKIAkvKiB0aGUgb3JkZXIgaGVyZSByZWFsbHkgZG9lc24ndCBtYXR0ZXIgKi8KIAlhdG9taWNfZGVjKCZycS0+cmQtPnJ0b19jb3VudCk7CiAJY3B1X2NsZWFyKHJxLT5jcHUsIHJxLT5yZC0+cnRvX21hc2spOwpAQCAtMTU1LDcgKzE2MSw3IEBACiAJcmV0dXJuICZydF9ycS0+dGctPnJ0X2JhbmR3aWR0aDsKIH0KIAotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogc3RhdGljIGlubGluZSB1NjQgc2NoZWRfcnRfcnVudGltZShzdHJ1Y3QgcnRfcnEgKnJ0X3JxKQogewpAQCAtMjIwLDcgKzIyNiwxNjAgQEAKIAlyZXR1cm4gJmRlZl9ydF9iYW5kd2lkdGg7CiB9CiAKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLworCisjaWZkZWYgQ09ORklHX1NNUAorc3RhdGljIGludCBkb19iYWxhbmNlX3J1bnRpbWUoc3RydWN0IHJ0X3JxICpydF9ycSkKK3sKKwlzdHJ1Y3QgcnRfYmFuZHdpZHRoICpydF9iID0gc2NoZWRfcnRfYmFuZHdpZHRoKHJ0X3JxKTsKKwlzdHJ1Y3Qgcm9vdF9kb21haW4gKnJkID0gY3B1X3JxKHNtcF9wcm9jZXNzb3JfaWQoKSktPnJkOworCWludCBpLCB3ZWlnaHQsIG1vcmUgPSAwOworCXU2NCBydF9wZXJpb2Q7CisKKwl3ZWlnaHQgPSBjcHVzX3dlaWdodChyZC0+c3Bhbik7CisKKwlzcGluX2xvY2soJnJ0X2ItPnJ0X3J1bnRpbWVfbG9jayk7CisJcnRfcGVyaW9kID0ga3RpbWVfdG9fbnMocnRfYi0+cnRfcGVyaW9kKTsKKwlmb3JfZWFjaF9jcHVfbWFzayhpLCByZC0+c3BhbikgeworCQlzdHJ1Y3QgcnRfcnEgKml0ZXIgPSBzY2hlZF9ydF9wZXJpb2RfcnRfcnEocnRfYiwgaSk7CisJCXM2NCBkaWZmOworCisJCWlmIChpdGVyID09IHJ0X3JxKQorCQkJY29udGludWU7CisKKwkJc3Bpbl9sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCQlpZiAoaXRlci0+cnRfcnVudGltZSA9PSBSVU5USU1FX0lORikKKwkJCWdvdG8gbmV4dDsKKworCQlkaWZmID0gaXRlci0+cnRfcnVudGltZSAtIGl0ZXItPnJ0X3RpbWU7CisJCWlmIChkaWZmID4gMCkgeworCQkJZG9fZGl2KGRpZmYsIHdlaWdodCk7CisJCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgKyBkaWZmID4gcnRfcGVyaW9kKQorCQkJCWRpZmYgPSBydF9wZXJpb2QgLSBydF9ycS0+cnRfcnVudGltZTsKKwkJCWl0ZXItPnJ0X3J1bnRpbWUgLT0gZGlmZjsKKwkJCXJ0X3JxLT5ydF9ydW50aW1lICs9IGRpZmY7CisJCQltb3JlID0gMTsKKwkJCWlmIChydF9ycS0+cnRfcnVudGltZSA9PSBydF9wZXJpb2QpIHsKKwkJCQlzcGluX3VubG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorbmV4dDoKKwkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7CisJfQorCXNwaW5fdW5sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCisJcmV0dXJuIG1vcmU7Cit9CisKK3N0YXRpYyB2b2lkIF9fZGlzYWJsZV9ydW50aW1lKHN0cnVjdCBycSAqcnEpCit7CisJc3RydWN0IHJvb3RfZG9tYWluICpyZCA9IHJxLT5yZDsKKwlzdHJ1Y3QgcnRfcnEgKnJ0X3JxOworCisJaWYgKHVubGlrZWx5KCFzY2hlZHVsZXJfcnVubmluZykpCisJCXJldHVybjsKKworCWZvcl9lYWNoX2xlYWZfcnRfcnEocnRfcnEsIHJxKSB7CisJCXN0cnVjdCBydF9iYW5kd2lkdGggKnJ0X2IgPSBzY2hlZF9ydF9iYW5kd2lkdGgocnRfcnEpOworCQlzNjQgd2FudDsKKwkJaW50IGk7CisKKwkJc3Bpbl9sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgPT0gUlVOVElNRV9JTkYgfHwKKwkJCQlydF9ycS0+cnRfcnVudGltZSA9PSBydF9iLT5ydF9ydW50aW1lKQorCQkJZ290byBiYWxhbmNlZDsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCisJCXdhbnQgPSBydF9iLT5ydF9ydW50aW1lIC0gcnRfcnEtPnJ0X3J1bnRpbWU7CisKKwkJZm9yX2VhY2hfY3B1X21hc2soaSwgcmQtPnNwYW4pIHsKKwkJCXN0cnVjdCBydF9ycSAqaXRlciA9IHNjaGVkX3J0X3BlcmlvZF9ydF9ycShydF9iLCBpKTsKKwkJCXM2NCBkaWZmOworCisJCQlpZiAoaXRlciA9PSBydF9ycSkKKwkJCQljb250aW51ZTsKKworCQkJc3Bpbl9sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCQkJaWYgKHdhbnQgPiAwKSB7CisJCQkJZGlmZiA9IG1pbl90KHM2NCwgaXRlci0+cnRfcnVudGltZSwgd2FudCk7CisJCQkJaXRlci0+cnRfcnVudGltZSAtPSBkaWZmOworCQkJCXdhbnQgLT0gZGlmZjsKKwkJCX0gZWxzZSB7CisJCQkJaXRlci0+cnRfcnVudGltZSAtPSB3YW50OworCQkJCXdhbnQgLT0gd2FudDsKKwkJCX0KKwkJCXNwaW5fdW5sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCisJCQlpZiAoIXdhbnQpCisJCQkJYnJlYWs7CisJCX0KKworCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlCVUdfT04od2FudCk7CitiYWxhbmNlZDoKKwkJcnRfcnEtPnJ0X3J1bnRpbWUgPSBSVU5USU1FX0lORjsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX3VubG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGRpc2FibGVfcnVudGltZShzdHJ1Y3QgcnEgKnJxKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKKwlfX2Rpc2FibGVfcnVudGltZShycSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgX19lbmFibGVfcnVudGltZShzdHJ1Y3QgcnEgKnJxKQoreworCXN0cnVjdCBydF9ycSAqcnRfcnE7CisKKwlpZiAodW5saWtlbHkoIXNjaGVkdWxlcl9ydW5uaW5nKSkKKwkJcmV0dXJuOworCisJZm9yX2VhY2hfbGVhZl9ydF9ycShydF9ycSwgcnEpIHsKKwkJc3RydWN0IHJ0X2JhbmR3aWR0aCAqcnRfYiA9IHNjaGVkX3J0X2JhbmR3aWR0aChydF9ycSk7CisKKwkJc3Bpbl9sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlydF9ycS0+cnRfcnVudGltZSA9IHJ0X2ItPnJ0X3J1bnRpbWU7CisJCXJ0X3JxLT5ydF90aW1lID0gMDsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX3VubG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGVuYWJsZV9ydW50aW1lKHN0cnVjdCBycSAqcnEpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZycS0+bG9jaywgZmxhZ3MpOworCV9fZW5hYmxlX3J1bnRpbWUocnEpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbnQgYmFsYW5jZV9ydW50aW1lKHN0cnVjdCBydF9ycSAqcnRfcnEpCit7CisJaW50IG1vcmUgPSAwOworCisJaWYgKHJ0X3JxLT5ydF90aW1lID4gcnRfcnEtPnJ0X3J1bnRpbWUpIHsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQltb3JlID0gZG9fYmFsYW5jZV9ydW50aW1lKHJ0X3JxKTsKKwkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwl9CisKKwlyZXR1cm4gbW9yZTsKK30KKyNlbHNlIC8qICFDT05GSUdfU01QICovCitzdGF0aWMgaW5saW5lIGludCBiYWxhbmNlX3J1bnRpbWUoc3RydWN0IHJ0X3JxICpydF9ycSkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBDT05GSUdfU01QICovCiAKIHN0YXRpYyBpbnQgZG9fc2NoZWRfcnRfcGVyaW9kX3RpbWVyKHN0cnVjdCBydF9iYW5kd2lkdGggKnJ0X2IsIGludCBvdmVycnVuKQogewpAQCAtMjQxLDYgKzQwMCw4IEBACiAJCQl1NjQgcnVudGltZTsKIAogCQkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwkJCWlmIChydF9ycS0+cnRfdGhyb3R0bGVkKQorCQkJCWJhbGFuY2VfcnVudGltZShydF9ycSk7CiAJCQlydW50aW1lID0gcnRfcnEtPnJ0X3J1bnRpbWU7CiAJCQlydF9ycS0+cnRfdGltZSAtPSBtaW4ocnRfcnEtPnJ0X3RpbWUsIG92ZXJydW4qcnVudGltZSk7CiAJCQlpZiAocnRfcnEtPnJ0X3Rocm90dGxlZCAmJiBydF9ycS0+cnRfdGltZSA8IHJ1bnRpbWUpIHsKQEAgLTI2MSw0NyArNDIyLDYgQEAKIAlyZXR1cm4gaWRsZTsKIH0KIAotI2lmZGVmIENPTkZJR19TTVAKLXN0YXRpYyBpbnQgYmFsYW5jZV9ydW50aW1lKHN0cnVjdCBydF9ycSAqcnRfcnEpCi17Ci0Jc3RydWN0IHJ0X2JhbmR3aWR0aCAqcnRfYiA9IHNjaGVkX3J0X2JhbmR3aWR0aChydF9ycSk7Ci0Jc3RydWN0IHJvb3RfZG9tYWluICpyZCA9IGNwdV9ycShzbXBfcHJvY2Vzc29yX2lkKCkpLT5yZDsKLQlpbnQgaSwgd2VpZ2h0LCBtb3JlID0gMDsKLQl1NjQgcnRfcGVyaW9kOwotCi0Jd2VpZ2h0ID0gY3B1c193ZWlnaHQocmQtPnNwYW4pOwotCi0Jc3Bpbl9sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOwotCXJ0X3BlcmlvZCA9IGt0aW1lX3RvX25zKHJ0X2ItPnJ0X3BlcmlvZCk7Ci0JZm9yX2VhY2hfY3B1X21hc2soaSwgcmQtPnNwYW4pIHsKLQkJc3RydWN0IHJ0X3JxICppdGVyID0gc2NoZWRfcnRfcGVyaW9kX3J0X3JxKHJ0X2IsIGkpOwotCQlzNjQgZGlmZjsKLQotCQlpZiAoaXRlciA9PSBydF9ycSkKLQkJCWNvbnRpbnVlOwotCi0JCXNwaW5fbG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKLQkJZGlmZiA9IGl0ZXItPnJ0X3J1bnRpbWUgLSBpdGVyLT5ydF90aW1lOwotCQlpZiAoZGlmZiA+IDApIHsKLQkJCWRvX2RpdihkaWZmLCB3ZWlnaHQpOwotCQkJaWYgKHJ0X3JxLT5ydF9ydW50aW1lICsgZGlmZiA+IHJ0X3BlcmlvZCkKLQkJCQlkaWZmID0gcnRfcGVyaW9kIC0gcnRfcnEtPnJ0X3J1bnRpbWU7Ci0JCQlpdGVyLT5ydF9ydW50aW1lIC09IGRpZmY7Ci0JCQlydF9ycS0+cnRfcnVudGltZSArPSBkaWZmOwotCQkJbW9yZSA9IDE7Ci0JCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgPT0gcnRfcGVyaW9kKSB7Ci0JCQkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0JCX0KLQkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7Ci0JfQotCXNwaW5fdW5sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOwotCi0JcmV0dXJuIG1vcmU7Ci19Ci0jZW5kaWYKLQogc3RhdGljIGlubGluZSBpbnQgcnRfc2VfcHJpbyhzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpydF9zZSkKIHsKICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKQEAgLTMyNywxOCArNDQ3LDEwIEBACiAJaWYgKHNjaGVkX3J0X3J1bnRpbWUocnRfcnEpID49IHNjaGVkX3J0X3BlcmlvZChydF9ycSkpCiAJCXJldHVybiAwOwogCi0jaWZkZWYgQ09ORklHX1NNUAotCWlmIChydF9ycS0+cnRfdGltZSA+IHJ1bnRpbWUpIHsKLQkJaW50IG1vcmU7Ci0KLQkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOwotCQltb3JlID0gYmFsYW5jZV9ydW50aW1lKHJ0X3JxKTsKLQkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKLQotCQlpZiAobW9yZSkKLQkJCXJ1bnRpbWUgPSBzY2hlZF9ydF9ydW50aW1lKHJ0X3JxKTsKLQl9Ci0jZW5kaWYKKwliYWxhbmNlX3J1bnRpbWUocnRfcnEpOworCXJ1bnRpbWUgPSBzY2hlZF9ydF9ydW50aW1lKHJ0X3JxKTsKKwlpZiAocnVudGltZSA9PSBSVU5USU1FX0lORikKKwkJcmV0dXJuIDA7CiAKIAlpZiAocnRfcnEtPnJ0X3RpbWUgPiBydW50aW1lKSB7CiAJCXJ0X3JxLT5ydF90aHJvdHRsZWQgPSAxOwpAQCAtMzkyLDEyICs1MDQsMjEgQEAKIAlXQVJOX09OKCFydF9wcmlvKHJ0X3NlX3ByaW8ocnRfc2UpKSk7CiAJcnRfcnEtPnJ0X25yX3J1bm5pbmcrKzsKICNpZiBkZWZpbmVkIENPTkZJR19TTVAgfHwgZGVmaW5lZCBDT05GSUdfUlRfR1JPVVBfU0NIRUQKLQlpZiAocnRfc2VfcHJpbyhydF9zZSkgPCBydF9ycS0+aGlnaGVzdF9wcmlvKQorCWlmIChydF9zZV9wcmlvKHJ0X3NlKSA8IHJ0X3JxLT5oaWdoZXN0X3ByaW8pIHsKKwkJc3RydWN0IHJxICpycSA9IHJxX29mX3J0X3JxKHJ0X3JxKTsKKwogCQlydF9ycS0+aGlnaGVzdF9wcmlvID0gcnRfc2VfcHJpbyhydF9zZSk7CisjaWZkZWYgQ09ORklHX1NNUAorCQlpZiAocnEtPm9ubGluZSkKKwkJCWNwdXByaV9zZXQoJnJxLT5yZC0+Y3B1cHJpLCBycS0+Y3B1LAorCQkJCSAgIHJ0X3NlX3ByaW8ocnRfc2UpKTsKKyNlbmRpZgorCX0KICNlbmRpZgogI2lmZGVmIENPTkZJR19TTVAKIAlpZiAocnRfc2UtPm5yX2NwdXNfYWxsb3dlZCA+IDEpIHsKIAkJc3RydWN0IHJxICpycSA9IHJxX29mX3J0X3JxKHJ0X3JxKTsKKwogCQlycS0+cnQucnRfbnJfbWlncmF0b3J5Kys7CiAJfQogCkBAIC00MTcsNiArNTM4LDEwIEBACiBzdGF0aWMgaW5saW5lCiB2b2lkIGRlY19ydF90YXNrcyhzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpydF9zZSwgc3RydWN0IHJ0X3JxICpydF9ycSkKIHsKKyNpZmRlZiBDT05GSUdfU01QCisJaW50IGhpZ2hlc3RfcHJpbyA9IHJ0X3JxLT5oaWdoZXN0X3ByaW87CisjZW5kaWYKKwogCVdBUk5fT04oIXJ0X3ByaW8ocnRfc2VfcHJpbyhydF9zZSkpKTsKIAlXQVJOX09OKCFydF9ycS0+cnRfbnJfcnVubmluZyk7CiAJcnRfcnEtPnJ0X25yX3J1bm5pbmctLTsKQEAgLTQ0MCw2ICs1NjUsMTQgQEAKIAkJcnEtPnJ0LnJ0X25yX21pZ3JhdG9yeS0tOwogCX0KIAorCWlmIChydF9ycS0+aGlnaGVzdF9wcmlvICE9IGhpZ2hlc3RfcHJpbykgeworCQlzdHJ1Y3QgcnEgKnJxID0gcnFfb2ZfcnRfcnEocnRfcnEpOworCisJCWlmIChycS0+b25saW5lKQorCQkJY3B1cHJpX3NldCgmcnEtPnJkLT5jcHVwcmksIHJxLT5jcHUsCisJCQkJICAgcnRfcnEtPmhpZ2hlc3RfcHJpbyk7CisJfQorCiAJdXBkYXRlX3J0X21pZ3JhdGlvbihycV9vZl9ydF9ycShydF9ycSkpOwogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKQEAgLTQ1NSw2ICs1ODgsNyBAQAogCXN0cnVjdCBydF9ycSAqcnRfcnEgPSBydF9ycV9vZl9zZShydF9zZSk7CiAJc3RydWN0IHJ0X3ByaW9fYXJyYXkgKmFycmF5ID0gJnJ0X3JxLT5hY3RpdmU7CiAJc3RydWN0IHJ0X3JxICpncm91cF9ycSA9IGdyb3VwX3J0X3JxKHJ0X3NlKTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpxdWV1ZSA9IGFycmF5LT5xdWV1ZSArIHJ0X3NlX3ByaW8ocnRfc2UpOwogCiAJLyoKIAkgKiBEb24ndCBlbnF1ZXVlIHRoZSBncm91cCBpZiBpdHMgdGhyb3R0bGVkLCBvciB3aGVuIGVtcHR5LgpAQCAtNDY1LDcgKzU5OSwxMSBAQAogCWlmIChncm91cF9ycSAmJiAocnRfcnFfdGhyb3R0bGVkKGdyb3VwX3JxKSB8fCAhZ3JvdXBfcnEtPnJ0X25yX3J1bm5pbmcpKQogCQlyZXR1cm47CiAKLQlsaXN0X2FkZF90YWlsKCZydF9zZS0+cnVuX2xpc3QsIGFycmF5LT5xdWV1ZSArIHJ0X3NlX3ByaW8ocnRfc2UpKTsKKwlpZiAocnRfc2UtPm5yX2NwdXNfYWxsb3dlZCA9PSAxKQorCQlsaXN0X2FkZCgmcnRfc2UtPnJ1bl9saXN0LCBxdWV1ZSk7CisJZWxzZQorCQlsaXN0X2FkZF90YWlsKCZydF9zZS0+cnVuX2xpc3QsIHF1ZXVlKTsKKwogCV9fc2V0X2JpdChydF9zZV9wcmlvKHJ0X3NlKSwgYXJyYXktPmJpdG1hcCk7CiAKIAlpbmNfcnRfdGFza3MocnRfc2UsIHJ0X3JxKTsKQEAgLTUzMiw2ICs2NzAsOCBAQAogCQlydF9zZS0+dGltZW91dCA9IDA7CiAKIAllbnF1ZXVlX3J0X2VudGl0eShydF9zZSk7CisKKwlpbmNfY3B1X2xvYWQocnEsIHAtPnNlLmxvYWQud2VpZ2h0KTsKIH0KIAogc3RhdGljIHZvaWQgZGVxdWV1ZV90YXNrX3J0KHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHNsZWVwKQpAQCAtNTQwLDYgKzY4MCw4IEBACiAKIAl1cGRhdGVfY3Vycl9ydChycSk7CiAJZGVxdWV1ZV9ydF9lbnRpdHkocnRfc2UpOworCisJZGVjX2NwdV9sb2FkKHJxLCBwLT5zZS5sb2FkLndlaWdodCk7CiB9CiAKIC8qCkBAIC01NTAsMTAgKzY5MiwxMiBAQAogdm9pZCByZXF1ZXVlX3J0X2VudGl0eShzdHJ1Y3QgcnRfcnEgKnJ0X3JxLCBzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpydF9zZSkKIHsKIAlzdHJ1Y3QgcnRfcHJpb19hcnJheSAqYXJyYXkgPSAmcnRfcnEtPmFjdGl2ZTsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpxdWV1ZSA9IGFycmF5LT5xdWV1ZSArIHJ0X3NlX3ByaW8ocnRfc2UpOwogCi0JaWYgKG9uX3J0X3JxKHJ0X3NlKSkKLQkJbGlzdF9tb3ZlX3RhaWwoJnJ0X3NlLT5ydW5fbGlzdCwgcXVldWUpOworCWlmIChvbl9ydF9ycShydF9zZSkpIHsKKwkJbGlzdF9kZWxfaW5pdCgmcnRfc2UtPnJ1bl9saXN0KTsKKwkJbGlzdF9hZGRfdGFpbCgmcnRfc2UtPnJ1bl9saXN0LAorCQkJICAgICAgYXJyYXktPnF1ZXVlICsgcnRfc2VfcHJpbyhydF9zZSkpOworCX0KIH0KIAogc3RhdGljIHZvaWQgcmVxdWV1ZV90YXNrX3J0KHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKQEAgLTYxNiw4ICs3NjAsMzcgQEAKICAqLwogc3RhdGljIHZvaWQgY2hlY2tfcHJlZW1wdF9jdXJyX3J0KHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIHsKLQlpZiAocC0+cHJpbyA8IHJxLT5jdXJyLT5wcmlvKQorCWlmIChwLT5wcmlvIDwgcnEtPmN1cnItPnByaW8pIHsKIAkJcmVzY2hlZF90YXNrKHJxLT5jdXJyKTsKKwkJcmV0dXJuOworCX0KKworI2lmZGVmIENPTkZJR19TTVAKKwkvKgorCSAqIElmOgorCSAqCisJICogLSB0aGUgbmV3bHkgd29rZW4gdGFzayBpcyBvZiBlcXVhbCBwcmlvcml0eSB0byB0aGUgY3VycmVudCB0YXNrCisJICogLSB0aGUgbmV3bHkgd29rZW4gdGFzayBpcyBub24tbWlncmF0YWJsZSB3aGlsZSBjdXJyZW50IGlzIG1pZ3JhdGFibGUKKwkgKiAtIGN1cnJlbnQgd2lsbCBiZSBwcmVlbXB0ZWQgb24gdGhlIG5leHQgcmVzY2hlZHVsZQorCSAqCisJICogd2Ugc2hvdWxkIGNoZWNrIHRvIHNlZSBpZiBjdXJyZW50IGNhbiByZWFkaWx5IG1vdmUgdG8gYSBkaWZmZXJlbnQKKwkgKiBjcHUuICBJZiBzbywgd2Ugd2lsbCByZXNjaGVkdWxlIHRvIGFsbG93IHRoZSBwdXNoIGxvZ2ljIHRvIHRyeQorCSAqIHRvIG1vdmUgY3VycmVudCBzb21ld2hlcmUgZWxzZSwgbWFraW5nIHJvb20gZm9yIG91ciBub24tbWlncmF0YWJsZQorCSAqIHRhc2suCisJICovCisJaWYoKHAtPnByaW8gPT0gcnEtPmN1cnItPnByaW8pCisJICAgJiYgcC0+cnQubnJfY3B1c19hbGxvd2VkID09IDEKKwkgICAmJiBycS0+Y3Vyci0+cnQubnJfY3B1c19hbGxvd2VkICE9IDEpIHsKKwkJY3B1bWFza190IG1hc2s7CisKKwkJaWYgKGNwdXByaV9maW5kKCZycS0+cmQtPmNwdXByaSwgcnEtPmN1cnIsICZtYXNrKSkKKwkJCS8qCisJCQkgKiBUaGVyZSBhcHBlYXJzIHRvIGJlIG90aGVyIGNwdXMgdGhhdCBjYW4gYWNjZXB0CisJCQkgKiBjdXJyZW50LCBzbyBsZXRzIHJlc2NoZWR1bGUgdG8gdHJ5IGFuZCBwdXNoIGl0IGF3YXkKKwkJCSAqLworCQkJcmVzY2hlZF90YXNrKHJxLT5jdXJyKTsKKwl9CisjZW5kaWYKIH0KIAogc3RhdGljIHN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgKnBpY2tfbmV4dF9ydF9lbnRpdHkoc3RydWN0IHJxICpycSwKQEAgLTcyMCw3MyArODkzLDYgQEAKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKGNwdW1hc2tfdCwgbG9jYWxfY3B1X21hc2spOwogCi1zdGF0aWMgaW50IGZpbmRfbG93ZXN0X2NwdXMoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBjcHVtYXNrX3QgKmxvd2VzdF9tYXNrKQotewotCWludCAgICAgICBsb3dlc3RfcHJpbyA9IC0xOwotCWludCAgICAgICBsb3dlc3RfY3B1ICA9IC0xOwotCWludCAgICAgICBjb3VudCAgICAgICA9IDA7Ci0JaW50ICAgICAgIGNwdTsKLQotCWNwdXNfYW5kKCpsb3dlc3RfbWFzaywgdGFza19ycSh0YXNrKS0+cmQtPm9ubGluZSwgdGFzay0+Y3B1c19hbGxvd2VkKTsKLQotCS8qCi0JICogU2NhbiBlYWNoIHJxIGZvciB0aGUgbG93ZXN0IHByaW8uCi0JICovCi0JZm9yX2VhY2hfY3B1X21hc2soY3B1LCAqbG93ZXN0X21hc2spIHsKLQkJc3RydWN0IHJxICpycSA9IGNwdV9ycShjcHUpOwotCi0JCS8qIFdlIGxvb2sgZm9yIGxvd2VzdCBSVCBwcmlvIG9yIG5vbi1ydCBDUFUgKi8KLQkJaWYgKHJxLT5ydC5oaWdoZXN0X3ByaW8gPj0gTUFYX1JUX1BSSU8pIHsKLQkJCS8qCi0JCQkgKiBpZiB3ZSBhbHJlYWR5IGZvdW5kIGEgbG93IFJUIHF1ZXVlCi0JCQkgKiBhbmQgbm93IHdlIGZvdW5kIHRoaXMgbm9uLXJ0IHF1ZXVlCi0JCQkgKiBjbGVhciB0aGUgbWFzayBhbmQgc2V0IG91ciBiaXQuCi0JCQkgKiBPdGhlcndpc2UganVzdCByZXR1cm4gdGhlIHF1ZXVlIGFzIGlzCi0JCQkgKiBhbmQgdGhlIGNvdW50PT0xIHdpbGwgY2F1c2UgdGhlIGFsZ29yaXRobQotCQkJICogdG8gdXNlIHRoZSBmaXJzdCBiaXQgZm91bmQuCi0JCQkgKi8KLQkJCWlmIChsb3dlc3RfY3B1ICE9IC0xKSB7Ci0JCQkJY3B1c19jbGVhcigqbG93ZXN0X21hc2spOwotCQkJCWNwdV9zZXQocnEtPmNwdSwgKmxvd2VzdF9tYXNrKTsKLQkJCX0KLQkJCXJldHVybiAxOwotCQl9Ci0KLQkJLyogbm8gbG9ja2luZyBmb3Igbm93ICovCi0JCWlmICgocnEtPnJ0LmhpZ2hlc3RfcHJpbyA+IHRhc2stPnByaW8pCi0JCSAgICAmJiAocnEtPnJ0LmhpZ2hlc3RfcHJpbyA+PSBsb3dlc3RfcHJpbykpIHsKLQkJCWlmIChycS0+cnQuaGlnaGVzdF9wcmlvID4gbG93ZXN0X3ByaW8pIHsKLQkJCQkvKiBuZXcgbG93IC0gY2xlYXIgb2xkIGRhdGEgKi8KLQkJCQlsb3dlc3RfcHJpbyA9IHJxLT5ydC5oaWdoZXN0X3ByaW87Ci0JCQkJbG93ZXN0X2NwdSA9IGNwdTsKLQkJCQljb3VudCA9IDA7Ci0JCQl9Ci0JCQljb3VudCsrOwotCQl9IGVsc2UKLQkJCWNwdV9jbGVhcihjcHUsICpsb3dlc3RfbWFzayk7Ci0JfQotCi0JLyoKLQkgKiBDbGVhciBvdXQgYWxsIHRoZSBzZXQgYml0cyB0aGF0IHJlcHJlc2VudAotCSAqIHJ1bnF1ZXVlcyB0aGF0IHdlcmUgb2YgaGlnaGVyIHByaW8gdGhhbgotCSAqIHRoZSBsb3dlc3RfcHJpby4KLQkgKi8KLQlpZiAobG93ZXN0X2NwdSA+IDApIHsKLQkJLyoKLQkJICogUGVyaGFwcyB3ZSBjb3VsZCBhZGQgYW5vdGhlciBjcHVtYXNrIG9wIHRvCi0JCSAqIHplcm8gb3V0IGJpdHMuIExpa2UgY3B1X3plcm9fYml0cyhjcHVtYXNrLCBucmJpdHMpOwotCQkgKiBUaGVuIHRoYXQgY291bGQgYmUgb3B0aW1pemVkIHRvIHVzZSBtZW1zZXQgYW5kIHN1Y2guCi0JCSAqLwotCQlmb3JfZWFjaF9jcHVfbWFzayhjcHUsICpsb3dlc3RfbWFzaykgewotCQkJaWYgKGNwdSA+PSBsb3dlc3RfY3B1KQotCQkJCWJyZWFrOwotCQkJY3B1X2NsZWFyKGNwdSwgKmxvd2VzdF9tYXNrKTsKLQkJfQotCX0KLQotCXJldHVybiBjb3VudDsKLX0KLQogc3RhdGljIGlubGluZSBpbnQgcGlja19vcHRpbWFsX2NwdShpbnQgdGhpc19jcHUsIGNwdW1hc2tfdCAqbWFzaykKIHsKIAlpbnQgZmlyc3Q7CkBAIC04MDgsMTkgKzkxNCwxNCBAQAogCWNwdW1hc2tfdCAqbG93ZXN0X21hc2sgPSAmX19nZXRfY3B1X3Zhcihsb2NhbF9jcHVfbWFzayk7CiAJaW50IHRoaXNfY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCWludCBjcHUgICAgICA9IHRhc2tfY3B1KHRhc2spOwotCWludCBjb3VudCAgICA9IGZpbmRfbG93ZXN0X2NwdXModGFzaywgbG93ZXN0X21hc2spOwogCi0JaWYgKCFjb3VudCkKKwlpZiAodGFzay0+cnQubnJfY3B1c19hbGxvd2VkID09IDEpCisJCXJldHVybiAtMTsgLyogTm8gb3RoZXIgdGFyZ2V0cyBwb3NzaWJsZSAqLworCisJaWYgKCFjcHVwcmlfZmluZCgmdGFza19ycSh0YXNrKS0+cmQtPmNwdXByaSwgdGFzaywgbG93ZXN0X21hc2spKQogCQlyZXR1cm4gLTE7IC8qIE5vIHRhcmdldHMgZm91bmQgKi8KIAogCS8qCi0JICogVGhlcmUgaXMgbm8gc2Vuc2UgaW4gcGVyZm9ybWluZyBhbiBvcHRpbWFsIHNlYXJjaCBpZiBvbmx5IG9uZQotCSAqIHRhcmdldCBpcyBmb3VuZC4KLQkgKi8KLQlpZiAoY291bnQgPT0gMSkKLQkJcmV0dXJuIGZpcnN0X2NwdSgqbG93ZXN0X21hc2spOwotCi0JLyoKIAkgKiBBdCB0aGlzIHBvaW50IHdlIGhhdmUgYnVpbHQgYSBtYXNrIG9mIGNwdXMgcmVwcmVzZW50aW5nIHRoZQogCSAqIGxvd2VzdCBwcmlvcml0eSB0YXNrcyBpbiB0aGUgc3lzdGVtLiAgTm93IHdlIHdhbnQgdG8gZWxlY3QKIAkgKiB0aGUgYmVzdCBvbmUgYmFzZWQgb24gb3VyIGFmZmluaXR5IGFuZCB0b3BvbG9neS4KQEAgLTExNjMsMTcgKzEyNjQsMjUgQEAKIH0KIAogLyogQXNzdW1lcyBycS0+bG9jayBpcyBoZWxkICovCi1zdGF0aWMgdm9pZCBqb2luX2RvbWFpbl9ydChzdHJ1Y3QgcnEgKnJxKQorc3RhdGljIHZvaWQgcnFfb25saW5lX3J0KHN0cnVjdCBycSAqcnEpCiB7CiAJaWYgKHJxLT5ydC5vdmVybG9hZGVkKQogCQlydF9zZXRfb3ZlcmxvYWQocnEpOworCisJX19lbmFibGVfcnVudGltZShycSk7CisKKwljcHVwcmlfc2V0KCZycS0+cmQtPmNwdXByaSwgcnEtPmNwdSwgcnEtPnJ0LmhpZ2hlc3RfcHJpbyk7CiB9CiAKIC8qIEFzc3VtZXMgcnEtPmxvY2sgaXMgaGVsZCAqLwotc3RhdGljIHZvaWQgbGVhdmVfZG9tYWluX3J0KHN0cnVjdCBycSAqcnEpCitzdGF0aWMgdm9pZCBycV9vZmZsaW5lX3J0KHN0cnVjdCBycSAqcnEpCiB7CiAJaWYgKHJxLT5ydC5vdmVybG9hZGVkKQogCQlydF9jbGVhcl9vdmVybG9hZChycSk7CisKKwlfX2Rpc2FibGVfcnVudGltZShycSk7CisKKwljcHVwcmlfc2V0KCZycS0+cmQtPmNwdXByaSwgcnEtPmNwdSwgQ1BVUFJJX0lOVkFMSUQpOwogfQogCiAvKgpAQCAtMTMzNiw4ICsxNDQ1LDggQEAKIAkubG9hZF9iYWxhbmNlCQk9IGxvYWRfYmFsYW5jZV9ydCwKIAkubW92ZV9vbmVfdGFzawkJPSBtb3ZlX29uZV90YXNrX3J0LAogCS5zZXRfY3B1c19hbGxvd2VkICAgICAgID0gc2V0X2NwdXNfYWxsb3dlZF9ydCwKLQkuam9pbl9kb21haW4gICAgICAgICAgICA9IGpvaW5fZG9tYWluX3J0LAotCS5sZWF2ZV9kb21haW4gICAgICAgICAgID0gbGVhdmVfZG9tYWluX3J0LAorCS5ycV9vbmxpbmUgICAgICAgICAgICAgID0gcnFfb25saW5lX3J0LAorCS5ycV9vZmZsaW5lICAgICAgICAgICAgID0gcnFfb2ZmbGluZV9ydCwKIAkucHJlX3NjaGVkdWxlCQk9IHByZV9zY2hlZHVsZV9ydCwKIAkucG9zdF9zY2hlZHVsZQkJPSBwb3N0X3NjaGVkdWxlX3J0LAogCS50YXNrX3dha2VfdXAJCT0gdGFza193YWtlX3VwX3J0LApAQCAtMTM1MCwzICsxNDU5LDE3IEBACiAJLnByaW9fY2hhbmdlZAkJPSBwcmlvX2NoYW5nZWRfcnQsCiAJLnN3aXRjaGVkX3RvCQk9IHN3aXRjaGVkX3RvX3J0LAogfTsKKworI2lmZGVmIENPTkZJR19TQ0hFRF9ERUJVRworZXh0ZXJuIHZvaWQgcHJpbnRfcnRfcnEoc3RydWN0IHNlcV9maWxlICptLCBpbnQgY3B1LCBzdHJ1Y3QgcnRfcnEgKnJ0X3JxKTsKKworc3RhdGljIHZvaWQgcHJpbnRfcnRfc3RhdHMoc3RydWN0IHNlcV9maWxlICptLCBpbnQgY3B1KQoreworCXN0cnVjdCBydF9ycSAqcnRfcnE7CisKKwlyY3VfcmVhZF9sb2NrKCk7CisJZm9yX2VhY2hfbGVhZl9ydF9ycShydF9ycSwgY3B1X3JxKGNwdSkpCisJCXByaW50X3J0X3JxKG0sIGNwdSwgcnRfcnEpOworCXJjdV9yZWFkX3VubG9jaygpOworfQorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9ERUJVRyAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX3N0YXRzLmggYi9rZXJuZWwvc2NoZWRfc3RhdHMuaAppbmRleCA4MDE3OWVmLi44Mzg1ZDQzIDEwMDY0NAotLS0gYS9rZXJuZWwvc2NoZWRfc3RhdHMuaAorKysgYi9rZXJuZWwvc2NoZWRfc3RhdHMuaApAQCAtMTE4LDYgKzExOCwxMyBAQAogCWlmIChycSkKIAkJcnEtPnJxX3NjaGVkX2luZm8uY3B1X3RpbWUgKz0gZGVsdGE7CiB9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorcnFfc2NoZWRfaW5mb19kZXF1ZXVlZChzdHJ1Y3QgcnEgKnJxLCB1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEpCit7CisJaWYgKHJxKQorCQlycS0+cnFfc2NoZWRfaW5mby5ydW5fZGVsYXkgKz0gZGVsdGE7Cit9CiAjIGRlZmluZSBzY2hlZHN0YXRfaW5jKHJxLCBmaWVsZCkJZG8geyAocnEpLT5maWVsZCsrOyB9IHdoaWxlICgwKQogIyBkZWZpbmUgc2NoZWRzdGF0X2FkZChycSwgZmllbGQsIGFtdCkJZG8geyAocnEpLT5maWVsZCArPSAoYW10KTsgfSB3aGlsZSAoMCkKICMgZGVmaW5lIHNjaGVkc3RhdF9zZXQodmFyLCB2YWwpCWRvIHsgdmFyID0gKHZhbCk7IH0gd2hpbGUgKDApCkBAIC0xMjYsNiArMTMzLDkgQEAKIHJxX3NjaGVkX2luZm9fYXJyaXZlKHN0cnVjdCBycSAqcnEsIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWx0YSkKIHt9CiBzdGF0aWMgaW5saW5lIHZvaWQKK3JxX3NjaGVkX2luZm9fZGVxdWV1ZWQoc3RydWN0IHJxICpycSwgdW5zaWduZWQgbG9uZyBsb25nIGRlbHRhKQore30KK3N0YXRpYyBpbmxpbmUgdm9pZAogcnFfc2NoZWRfaW5mb19kZXBhcnQoc3RydWN0IHJxICpycSwgdW5zaWduZWQgbG9uZyBsb25nIGRlbHRhKQoge30KICMgZGVmaW5lIHNjaGVkc3RhdF9pbmMocnEsIGZpZWxkKQlkbyB7IH0gd2hpbGUgKDApCkBAIC0xMzQsNiArMTQ0LDExIEBACiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX1NDSEVEU1RBVFMpIHx8IGRlZmluZWQoQ09ORklHX1RBU0tfREVMQVlfQUNDVCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9pbmZvX3Jlc2V0X2RlcXVldWVkKHN0cnVjdCB0YXNrX3N0cnVjdCAqdCkKK3sKKwl0LT5zY2hlZF9pbmZvLmxhc3RfcXVldWVkID0gMDsKK30KKwogLyoKICAqIENhbGxlZCB3aGVuIGEgcHJvY2VzcyBpcyBkZXF1ZXVlZCBmcm9tIHRoZSBhY3RpdmUgYXJyYXkgYW5kIGdpdmVuCiAgKiB0aGUgY3B1LiAgV2Ugc2hvdWxkIG5vdGUgdGhhdCB3aXRoIHRoZSBleGNlcHRpb24gb2YgaW50ZXJhY3RpdmUKQEAgLTE0MywxNSArMTU4LDIyIEBACiAgKiBhY3RpdmUgcXVldWUsIHRodXMgZGVsYXlpbmcgdGFza3MgaW4gdGhlIGV4cGlyZWQgcXVldWUgZnJvbSBydW5uaW5nOwogICogc2VlIHNjaGVkdWxlcl90aWNrKCkpLgogICoKLSAqIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgZnJvbSBzY2hlZF9pbmZvX2Fycml2ZSgpLCByYXRoZXIgdGhhbgotICogZGVxdWV1ZV90YXNrKCkuIEV2ZW4gdGhvdWdoIGEgdGFzayBtYXkgYmUgcXVldWVkIGFuZCBkZXF1ZXVlZCBtdWx0aXBsZQotICogdGltZXMgYXMgaXQgaXMgc2h1ZmZsZWQgYWJvdXQsIHdlJ3JlIHJlYWxseSBpbnRlcmVzdGVkIGluIGtub3dpbmcgaG93Ci0gKiBsb25nIGl0IHdhcyBmcm9tIHRoZSAqZmlyc3QqIHRpbWUgaXQgd2FzIHF1ZXVlZCB0byB0aGUgdGltZSB0aGF0IGl0Ci0gKiBmaW5hbGx5IGhpdCBhIGNwdS4KKyAqIFRob3VnaCB3ZSBhcmUgaW50ZXJlc3RlZCBpbiBrbm93aW5nIGhvdyBsb25nIGl0IHdhcyBmcm9tIHRoZSAqZmlyc3QqIHRpbWUgYQorICogdGFzayB3YXMgcXVldWVkIHRvIHRoZSB0aW1lIHRoYXQgaXQgZmluYWxseSBoaXQgYSBjcHUsIHdlIGNhbGwgdGhpcyByb3V0aW5lCisgKiBmcm9tIGRlcXVldWVfdGFzaygpIHRvIGFjY291bnQgZm9yIHBvc3NpYmxlIHJxLT5jbG9jayBza2V3IGFjcm9zcyBjcHVzLiBUaGUKKyAqIGRlbHRhIHRha2VuIG9uIGVhY2ggY3B1IHdvdWxkIGFubnVsIHRoZSBza2V3LgogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfaW5mb19kZXF1ZXVlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnQpCiB7Ci0JdC0+c2NoZWRfaW5mby5sYXN0X3F1ZXVlZCA9IDA7CisJdW5zaWduZWQgbG9uZyBsb25nIG5vdyA9IHRhc2tfcnEodCktPmNsb2NrLCBkZWx0YSA9IDA7CisKKwlpZiAodW5saWtlbHkoc2NoZWRfaW5mb19vbigpKSkKKwkJaWYgKHQtPnNjaGVkX2luZm8ubGFzdF9xdWV1ZWQpCisJCQlkZWx0YSA9IG5vdyAtIHQtPnNjaGVkX2luZm8ubGFzdF9xdWV1ZWQ7CisJc2NoZWRfaW5mb19yZXNldF9kZXF1ZXVlZCh0KTsKKwl0LT5zY2hlZF9pbmZvLnJ1bl9kZWxheSArPSBkZWx0YTsKKworCXJxX3NjaGVkX2luZm9fZGVxdWV1ZWQodGFza19ycSh0KSwgZGVsdGEpOwogfQogCiAvKgpAQCAtMTY1LDcgKzE4Nyw3IEBACiAKIAlpZiAodC0+c2NoZWRfaW5mby5sYXN0X3F1ZXVlZCkKIAkJZGVsdGEgPSBub3cgLSB0LT5zY2hlZF9pbmZvLmxhc3RfcXVldWVkOwotCXNjaGVkX2luZm9fZGVxdWV1ZWQodCk7CisJc2NoZWRfaW5mb19yZXNldF9kZXF1ZXVlZCh0KTsKIAl0LT5zY2hlZF9pbmZvLnJ1bl9kZWxheSArPSBkZWx0YTsKIAl0LT5zY2hlZF9pbmZvLmxhc3RfYXJyaXZhbCA9IG5vdzsKIAl0LT5zY2hlZF9pbmZvLnBjb3VudCsrOwpAQCAtMjQyLDcgKzI2NCw5IEBACiAJCV9fc2NoZWRfaW5mb19zd2l0Y2gocHJldiwgbmV4dCk7CiB9CiAjZWxzZQotI2RlZmluZSBzY2hlZF9pbmZvX3F1ZXVlZCh0KQkJZG8geyB9IHdoaWxlICgwKQotI2RlZmluZSBzY2hlZF9pbmZvX3N3aXRjaCh0LCBuZXh0KQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIHNjaGVkX2luZm9fcXVldWVkKHQpCQkJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBzY2hlZF9pbmZvX3Jlc2V0X2RlcXVldWVkKHQpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgc2NoZWRfaW5mb19kZXF1ZXVlZCh0KQkJCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgc2NoZWRfaW5mb19zd2l0Y2godCwgbmV4dCkJCWRvIHsgfSB3aGlsZSAoMCkKICNlbmRpZiAvKiBDT05GSUdfU0NIRURTVEFUUyB8fCBDT05GSUdfVEFTS19ERUxBWV9BQ0NUICovCiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9zZW1hcGhvcmUuYyBiL2tlcm5lbC9zZW1hcGhvcmUuYwppbmRleCA1YzI5NDJlLi5hYWFlYWU4IDEwMDY0NAotLS0gYS9rZXJuZWwvc2VtYXBob3JlLmMKKysrIGIva2VybmVsL3NlbWFwaG9yZS5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zZW1hcGhvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgogCiBzdGF0aWMgbm9pbmxpbmUgdm9pZCBfX2Rvd24oc3RydWN0IHNlbWFwaG9yZSAqc2VtKTsKIHN0YXRpYyBub2lubGluZSBpbnQgX19kb3duX2ludGVycnVwdGlibGUoc3RydWN0IHNlbWFwaG9yZSAqc2VtKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zbXAuYyBiL2tlcm5lbC9zbXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjJjNzg1Ci0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3NtcC5jCkBAIC0wLDAgKzEsMzgzIEBACisvKgorICogR2VuZXJpYyBoZWxwZXJzIGZvciBzbXAgaXBpIGNhbGxzCisgKgorICogKEMpIEplbnMgQXhib2UgPGplbnMuYXhib2VAb3JhY2xlLmNvbT4gMjAwOAorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBjYWxsX3NpbmdsZV9xdWV1ZSwgY2FsbF9zaW5nbGVfcXVldWUpOworc3RhdGljIExJU1RfSEVBRChjYWxsX2Z1bmN0aW9uX3F1ZXVlKTsKK19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIERFRklORV9TUElOTE9DSyhjYWxsX2Z1bmN0aW9uX2xvY2spOworCitlbnVtIHsKKwlDU0RfRkxBR19XQUlUCQk9IDB4MDEsCisJQ1NEX0ZMQUdfQUxMT0MJCT0gMHgwMiwKK307CisKK3N0cnVjdCBjYWxsX2Z1bmN0aW9uX2RhdGEgeworCXN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhIGNzZDsKKwlzcGlubG9ja190IGxvY2s7CisJdW5zaWduZWQgaW50IHJlZnM7CisJY3B1bWFza190IGNwdW1hc2s7CisJc3RydWN0IHJjdV9oZWFkIHJjdV9oZWFkOworfTsKKworc3RydWN0IGNhbGxfc2luZ2xlX3F1ZXVlIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3BpbmxvY2tfdCBsb2NrOworfTsKKwordm9pZCBfX2NwdWluaXQgaW5pdF9jYWxsX3NpbmdsZV9kYXRhKHZvaWQpCit7CisJaW50IGk7CisKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgeworCQlzdHJ1Y3QgY2FsbF9zaW5nbGVfcXVldWUgKnEgPSAmcGVyX2NwdShjYWxsX3NpbmdsZV9xdWV1ZSwgaSk7CisKKwkJc3Bpbl9sb2NrX2luaXQoJnEtPmxvY2spOworCQlJTklUX0xJU1RfSEVBRCgmcS0+bGlzdCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBjc2RfZmxhZ193YWl0KHN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhICpkYXRhKQoreworCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCisJZG8geworCQkvKgorCQkgKiBXZSBuZWVkIHRvIHNlZSB0aGUgZmxhZ3Mgc3RvcmUgaW4gdGhlIElQSSBoYW5kbGVyCisJCSAqLworCQlzbXBfbWIoKTsKKwkJaWYgKCEoZGF0YS0+ZmxhZ3MgJiBDU0RfRkxBR19XQUlUKSkKKwkJCWJyZWFrOworCQljcHVfcmVsYXgoKTsKKwl9IHdoaWxlICgxKTsKK30KKworLyoKKyAqIEluc2VydCBhIHByZXZpb3VzbHkgYWxsb2NhdGVkIGNhbGxfc2luZ2xlX2RhdGEgZWxlbWVudCBmb3IgZXhlY3V0aW9uCisgKiBvbiB0aGUgZ2l2ZW4gQ1BVLiBkYXRhIG11c3QgYWxyZWFkeSBoYXZlIC0+ZnVuYywgLT5pbmZvLCBhbmQgLT5mbGFncyBzZXQuCisgKi8KK3N0YXRpYyB2b2lkIGdlbmVyaWNfZXhlY19zaW5nbGUoaW50IGNwdSwgc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgKmRhdGEpCit7CisJc3RydWN0IGNhbGxfc2luZ2xlX3F1ZXVlICpkc3QgPSAmcGVyX2NwdShjYWxsX3NpbmdsZV9xdWV1ZSwgY3B1KTsKKwlpbnQgd2FpdCA9IGRhdGEtPmZsYWdzICYgQ1NEX0ZMQUdfV0FJVCwgaXBpOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZHN0LT5sb2NrLCBmbGFncyk7CisJaXBpID0gbGlzdF9lbXB0eSgmZHN0LT5saXN0KTsKKwlsaXN0X2FkZF90YWlsKCZkYXRhLT5saXN0LCAmZHN0LT5saXN0KTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkc3QtPmxvY2ssIGZsYWdzKTsKKworCWlmIChpcGkpCisJCWFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoY3B1KTsKKworCWlmICh3YWl0KQorCQljc2RfZmxhZ193YWl0KGRhdGEpOworfQorCitzdGF0aWMgdm9pZCByY3VfZnJlZV9jYWxsX2RhdGEoc3RydWN0IHJjdV9oZWFkICpoZWFkKQoreworCXN0cnVjdCBjYWxsX2Z1bmN0aW9uX2RhdGEgKmRhdGE7CisKKwlkYXRhID0gY29udGFpbmVyX29mKGhlYWQsIHN0cnVjdCBjYWxsX2Z1bmN0aW9uX2RhdGEsIHJjdV9oZWFkKTsKKworCWtmcmVlKGRhdGEpOworfQorCisvKgorICogSW52b2tlZCBieSBhcmNoIHRvIGhhbmRsZSBhbiBJUEkgZm9yIGNhbGwgZnVuY3Rpb24uIE11c3QgYmUgY2FsbGVkIHdpdGgKKyAqIGludGVycnVwdHMgZGlzYWJsZWQuCisgKi8KK3ZvaWQgZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCkKK3sKKwlzdHJ1Y3QgY2FsbF9mdW5jdGlvbl9kYXRhICpkYXRhOworCWludCBjcHUgPSBnZXRfY3B1KCk7CisKKwkvKgorCSAqIEl0J3Mgb2sgdG8gdXNlIGxpc3RfZm9yX2VhY2hfcmN1KCkgaGVyZSBldmVuIHRob3VnaCB3ZSBtYXkgZGVsZXRlCisJICogJ3BvcycsIHNpbmNlIGxpc3RfZGVsX3JjdSgpIGRvZXNuJ3QgY2xlYXIgLT5uZXh0CisJICovCisJcmN1X3JlYWRfbG9jaygpOworCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KGRhdGEsICZjYWxsX2Z1bmN0aW9uX3F1ZXVlLCBjc2QubGlzdCkgeworCQlpbnQgcmVmczsKKworCQlpZiAoIWNwdV9pc3NldChjcHUsIGRhdGEtPmNwdW1hc2spKQorCQkJY29udGludWU7CisKKwkJZGF0YS0+Y3NkLmZ1bmMoZGF0YS0+Y3NkLmluZm8pOworCisJCXNwaW5fbG9jaygmZGF0YS0+bG9jayk7CisJCWNwdV9jbGVhcihjcHUsIGRhdGEtPmNwdW1hc2spOworCQlXQVJOX09OKGRhdGEtPnJlZnMgPT0gMCk7CisJCWRhdGEtPnJlZnMtLTsKKwkJcmVmcyA9IGRhdGEtPnJlZnM7CisJCXNwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKworCQlpZiAocmVmcykKKwkJCWNvbnRpbnVlOworCisJCXNwaW5fbG9jaygmY2FsbF9mdW5jdGlvbl9sb2NrKTsKKwkJbGlzdF9kZWxfcmN1KCZkYXRhLT5jc2QubGlzdCk7CisJCXNwaW5fdW5sb2NrKCZjYWxsX2Z1bmN0aW9uX2xvY2spOworCisJCWlmIChkYXRhLT5jc2QuZmxhZ3MgJiBDU0RfRkxBR19XQUlUKSB7CisJCQkvKgorCQkJICogc2VyaWFsaXplIHN0b3JlcyB0byBkYXRhIHdpdGggdGhlIGZsYWcgY2xlYXIKKwkJCSAqIGFuZCB3YWtldXAKKwkJCSAqLworCQkJc21wX3dtYigpOworCQkJZGF0YS0+Y3NkLmZsYWdzICY9IH5DU0RfRkxBR19XQUlUOworCQl9IGVsc2UKKwkJCWNhbGxfcmN1KCZkYXRhLT5yY3VfaGVhZCwgcmN1X2ZyZWVfY2FsbF9kYXRhKTsKKwl9CisJcmN1X3JlYWRfdW5sb2NrKCk7CisKKwlwdXRfY3B1KCk7Cit9CisKKy8qCisgKiBJbnZva2VkIGJ5IGFyY2ggdG8gaGFuZGxlIGFuIElQSSBmb3IgY2FsbCBmdW5jdGlvbiBzaW5nbGUuIE11c3QgYmUgY2FsbGVkCisgKiBmcm9tIHRoZSBhcmNoIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4KKyAqLwordm9pZCBnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQodm9pZCkKK3sKKwlzdHJ1Y3QgY2FsbF9zaW5nbGVfcXVldWUgKnEgPSAmX19nZXRfY3B1X3ZhcihjYWxsX3NpbmdsZV9xdWV1ZSk7CisJTElTVF9IRUFEKGxpc3QpOworCisJLyoKKwkgKiBOZWVkIHRvIHNlZSBvdGhlciBzdG9yZXMgdG8gbGlzdCBoZWFkIGZvciBjaGVja2luZyB3aGV0aGVyCisJICogbGlzdCBpcyBlbXB0eSB3aXRob3V0IGhvbGRpbmcgcS0+bG9jaworCSAqLworCXNtcF9tYigpOworCXdoaWxlICghbGlzdF9lbXB0eSgmcS0+bGlzdCkpIHsKKwkJdW5zaWduZWQgaW50IGRhdGFfZmxhZ3M7CisKKwkJc3Bpbl9sb2NrKCZxLT5sb2NrKTsKKwkJbGlzdF9yZXBsYWNlX2luaXQoJnEtPmxpc3QsICZsaXN0KTsKKwkJc3Bpbl91bmxvY2soJnEtPmxvY2spOworCisJCXdoaWxlICghbGlzdF9lbXB0eSgmbGlzdCkpIHsKKwkJCXN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhICpkYXRhOworCisJCQlkYXRhID0gbGlzdF9lbnRyeShsaXN0Lm5leHQsIHN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhLAorCQkJCQkJbGlzdCk7CisJCQlsaXN0X2RlbCgmZGF0YS0+bGlzdCk7CisKKwkJCS8qCisJCQkgKiAnZGF0YScgY2FuIGJlIGludmFsaWQgYWZ0ZXIgdGhpcyBjYWxsIGlmCisJCQkgKiBmbGFncyA9PSAwICh3aGVuIGNhbGxlZCB0aHJvdWdoCisJCQkgKiBnZW5lcmljX2V4ZWNfc2luZ2xlKCksIHNvIHNhdmUgdGhlbSBhd2F5IGJlZm9yZQorCQkJICogbWFraW5nIHRoZSBjYWxsLgorCQkJICovCisJCQlkYXRhX2ZsYWdzID0gZGF0YS0+ZmxhZ3M7CisKKwkJCWRhdGEtPmZ1bmMoZGF0YS0+aW5mbyk7CisKKwkJCWlmIChkYXRhX2ZsYWdzICYgQ1NEX0ZMQUdfV0FJVCkgeworCQkJCXNtcF93bWIoKTsKKwkJCQlkYXRhLT5mbGFncyAmPSB+Q1NEX0ZMQUdfV0FJVDsKKwkJCX0gZWxzZSBpZiAoZGF0YV9mbGFncyAmIENTRF9GTEFHX0FMTE9DKQorCQkJCWtmcmVlKGRhdGEpOworCQl9CisJCS8qCisJCSAqIFNlZSBjb21tZW50IG9uIG91dGVyIGxvb3AKKwkJICovCisJCXNtcF9tYigpOworCX0KK30KKworLyoKKyAqIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSAtIFJ1biBhIGZ1bmN0aW9uIG9uIGEgc3BlY2lmaWMgQ1BVCisgKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KKyAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KKyAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLiBOb3RlIHRoYXQgQHdhaXQKKyAqIHdpbGwgYmUgaW1wbGljaXRseSB0dXJuZWQgb24gaW4gY2FzZSBvZiBhbGxvY2F0aW9uIGZhaWx1cmVzLCBzaW5jZQorICogd2UgZmFsbCBiYWNrIHRvIG9uLXN0YWNrIGFsbG9jYXRpb24uCisgKi8KK2ludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKKwkJCSAgICAgaW50IHdhaXQpCit7CisJc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgZDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCS8qIHByZXZlbnQgcHJlZW1wdGlvbiBhbmQgcmVzY2hlZHVsZSBvbiBhbm90aGVyIHByb2Nlc3NvciAqLworCWludCBtZSA9IGdldF9jcHUoKTsKKworCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KKwlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7CisKKwlpZiAoY3B1ID09IG1lKSB7CisJCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwkJZnVuYyhpbmZvKTsKKwkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCX0gZWxzZSB7CisJCXN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhICpkYXRhID0gTlVMTDsKKworCQlpZiAoIXdhaXQpIHsKKwkJCWRhdGEgPSBrbWFsbG9jKHNpemVvZigqZGF0YSksIEdGUF9BVE9NSUMpOworCQkJaWYgKGRhdGEpCisJCQkJZGF0YS0+ZmxhZ3MgPSBDU0RfRkxBR19BTExPQzsKKwkJfQorCQlpZiAoIWRhdGEpIHsKKwkJCWRhdGEgPSAmZDsKKwkJCWRhdGEtPmZsYWdzID0gQ1NEX0ZMQUdfV0FJVDsKKwkJfQorCisJCWRhdGEtPmZ1bmMgPSBmdW5jOworCQlkYXRhLT5pbmZvID0gaW5mbzsKKwkJZ2VuZXJpY19leGVjX3NpbmdsZShjcHUsIGRhdGEpOworCX0KKworCXB1dF9jcHUoKTsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKTsKKworLyoqCisgKiBfX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSgpOiBSdW4gYSBmdW5jdGlvbiBvbiBhbm90aGVyIENQVQorICogQGNwdTogVGhlIENQVSB0byBydW4gb24uCisgKiBAZGF0YTogUHJlLWFsbG9jYXRlZCBhbmQgc2V0dXAgZGF0YSBzdHJ1Y3R1cmUKKyAqCisgKiBMaWtlIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSgpLCBidXQgYWxsb3cgY2FsbGVyIHRvIHBhc3MgaW4gYSBwcmUtYWxsb2NhdGVkCisgKiBkYXRhIHN0cnVjdHVyZS4gVXNlZnVsIGZvciBlbWJlZGRpbmcgQGRhdGEgaW5zaWRlIG90aGVyIHN0cnVjdHVyZXMsIGZvcgorICogaW5zdGFuY2UuCisgKgorICovCit2b2lkIF9fc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHUsIHN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhICpkYXRhKQoreworCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KKwlXQVJOX09OKChkYXRhLT5mbGFncyAmIENTRF9GTEFHX1dBSVQpICYmIGlycXNfZGlzYWJsZWQoKSk7CisKKwlnZW5lcmljX2V4ZWNfc2luZ2xlKGNwdSwgZGF0YSk7Cit9CisKKy8qKgorICogc21wX2NhbGxfZnVuY3Rpb25fbWFzaygpOiBSdW4gYSBmdW5jdGlvbiBvbiBhIHNldCBvZiBvdGhlciBDUFVzLgorICogQG1hc2s6IFRoZSBzZXQgb2YgY3B1cyB0byBydW4gb24uCisgKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KKyAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KKyAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KKyAqCisgKiBJZiBAd2FpdCBpcyB0cnVlLCB0aGVuIHJldHVybnMgb25jZSBAZnVuYyBoYXMgcmV0dXJuZWQuIE5vdGUgdGhhdCBAd2FpdAorICogd2lsbCBiZSBpbXBsaWNpdGx5IHR1cm5lZCBvbiBpbiBjYXNlIG9mIGFsbG9jYXRpb24gZmFpbHVyZXMsIHNpbmNlCisgKiB3ZSBmYWxsIGJhY2sgdG8gb24tc3RhY2sgYWxsb2NhdGlvbi4KKyAqCisgKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKKyAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLiBQcmVlbXB0aW9uCisgKiBtdXN0IGJlIGRpc2FibGVkIHdoZW4gY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgorICovCitpbnQgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywgdm9pZCAoKmZ1bmMpKHZvaWQgKiksIHZvaWQgKmluZm8sCisJCQkgICBpbnQgd2FpdCkKK3sKKwlzdHJ1Y3QgY2FsbF9mdW5jdGlvbl9kYXRhIGQ7CisJc3RydWN0IGNhbGxfZnVuY3Rpb25fZGF0YSAqZGF0YSA9IE5VTEw7CisJY3B1bWFza190IGFsbGJ1dHNlbGY7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgY3B1LCBudW1fY3B1czsKKworCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KKwlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7CisKKwljcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJYWxsYnV0c2VsZiA9IGNwdV9vbmxpbmVfbWFwOworCWNwdV9jbGVhcihjcHUsIGFsbGJ1dHNlbGYpOworCWNwdXNfYW5kKG1hc2ssIG1hc2ssIGFsbGJ1dHNlbGYpOworCW51bV9jcHVzID0gY3B1c193ZWlnaHQobWFzayk7CisKKwkvKgorCSAqIElmIHplcm8gQ1BVcywgcmV0dXJuLiBJZiBqdXN0IGEgc2luZ2xlIENQVSwgdHVybiB0aGlzIHJlcXVlc3QKKwkgKiBpbnRvIGEgdGFyZ2V0dGVkIHNpbmdsZSBjYWxsIGluc3RlYWQgc2luY2UgaXQncyBmYXN0ZXIuCisJICovCisJaWYgKCFudW1fY3B1cykKKwkJcmV0dXJuIDA7CisJZWxzZSBpZiAobnVtX2NwdXMgPT0gMSkgeworCQljcHUgPSBmaXJzdF9jcHUobWFzayk7CisJCXJldHVybiBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBmdW5jLCBpbmZvLCB3YWl0KTsKKwl9CisKKwlpZiAoIXdhaXQpIHsKKwkJZGF0YSA9IGttYWxsb2Moc2l6ZW9mKCpkYXRhKSwgR0ZQX0FUT01JQyk7CisJCWlmIChkYXRhKQorCQkJZGF0YS0+Y3NkLmZsYWdzID0gQ1NEX0ZMQUdfQUxMT0M7CisJfQorCWlmICghZGF0YSkgeworCQlkYXRhID0gJmQ7CisJCWRhdGEtPmNzZC5mbGFncyA9IENTRF9GTEFHX1dBSVQ7CisJCXdhaXQgPSAxOworCX0KKworCXNwaW5fbG9ja19pbml0KCZkYXRhLT5sb2NrKTsKKwlkYXRhLT5jc2QuZnVuYyA9IGZ1bmM7CisJZGF0YS0+Y3NkLmluZm8gPSBpbmZvOworCWRhdGEtPnJlZnMgPSBudW1fY3B1czsKKwlkYXRhLT5jcHVtYXNrID0gbWFzazsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjYWxsX2Z1bmN0aW9uX2xvY2ssIGZsYWdzKTsKKwlsaXN0X2FkZF90YWlsX3JjdSgmZGF0YS0+Y3NkLmxpc3QsICZjYWxsX2Z1bmN0aW9uX3F1ZXVlKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjYWxsX2Z1bmN0aW9uX2xvY2ssIGZsYWdzKTsKKworCS8qIFNlbmQgYSBtZXNzYWdlIHRvIGFsbCBDUFVzIGluIHRoZSBtYXAgKi8KKwlhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkobWFzayk7CisKKwkvKiBvcHRpb25hbGx5IHdhaXQgZm9yIHRoZSBDUFVzIHRvIGNvbXBsZXRlICovCisJaWYgKHdhaXQpCisJCWNzZF9mbGFnX3dhaXQoJmRhdGEtPmNzZCk7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb25fbWFzayk7CisKKy8qKgorICogc21wX2NhbGxfZnVuY3Rpb24oKTogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCisgKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KKyAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KKyAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KKyAqCisgKiBJZiBAd2FpdCBpcyB0cnVlLCB0aGVuIHJldHVybnMgb25jZSBAZnVuYyBoYXMgcmV0dXJuZWQ7IG90aGVyd2lzZQorICogaXQgcmV0dXJucyBqdXN0IGJlZm9yZSB0aGUgdGFyZ2V0IGNwdSBjYWxscyBAZnVuYy4gSW4gY2FzZSBvZiBhbGxvY2F0aW9uCisgKiBmYWlsdXJlLCBAd2FpdCB3aWxsIGJlIGltcGxpY2l0bHkgdHVybmVkIG9uLgorICoKKyAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzIG9yIGZyb20gYQorICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuCisgKi8KK2ludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpCit7CisJaW50IHJldDsKKworCXByZWVtcHRfZGlzYWJsZSgpOworCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1X29ubGluZV9tYXAsIGZ1bmMsIGluZm8sIHdhaXQpOworCXByZWVtcHRfZW5hYmxlKCk7CisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOworCit2b2lkIGlwaV9jYWxsX2xvY2sodm9pZCkKK3sKKwlzcGluX2xvY2soJmNhbGxfZnVuY3Rpb25fbG9jayk7Cit9CisKK3ZvaWQgaXBpX2NhbGxfdW5sb2NrKHZvaWQpCit7CisJc3Bpbl91bmxvY2soJmNhbGxfZnVuY3Rpb25fbG9jayk7Cit9CisKK3ZvaWQgaXBpX2NhbGxfbG9ja19pcnEodm9pZCkKK3sKKwlzcGluX2xvY2tfaXJxKCZjYWxsX2Z1bmN0aW9uX2xvY2spOworfQorCit2b2lkIGlwaV9jYWxsX3VubG9ja19pcnEodm9pZCkKK3sKKwlzcGluX3VubG9ja19pcnEoJmNhbGxfZnVuY3Rpb25fbG9jayk7Cit9CmRpZmYgLS1naXQgYS9rZXJuZWwvc29mdGlycS5jIGIva2VybmVsL3NvZnRpcnEuYwppbmRleCAzNmUwNjE3Li44MWUyZmUwIDEwMDY0NAotLS0gYS9rZXJuZWwvc29mdGlycS5jCisrKyBiL2tlcm5lbC9zb2Z0aXJxLmMKQEAgLTEzMSw0OCArMTMxLDExIEBACiAKIEVYUE9SVF9TWU1CT0woX2xvY2FsX2JoX2VuYWJsZSk7CiAKLXZvaWQgbG9jYWxfYmhfZW5hYmxlKHZvaWQpCitzdGF0aWMgaW5saW5lIHZvaWQgX2xvY2FsX2JoX2VuYWJsZV9pcCh1bnNpZ25lZCBsb25nIGlwKQogeworCVdBUk5fT05fT05DRShpbl9pcnEoKSB8fCBpcnFzX2Rpc2FibGVkKCkpOwogI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlXQVJOX09OX09OQ0UoaW5faXJxKCkpOwotI2VuZGlmCi0JV0FSTl9PTl9PTkNFKGlycXNfZGlzYWJsZWQoKSk7Ci0KLSNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0jZW5kaWYKLQkvKgotCSAqIEFyZSBzb2Z0aXJxcyBnb2luZyB0byBiZSB0dXJuZWQgb24gbm93OgotCSAqLwotCWlmIChzb2Z0aXJxX2NvdW50KCkgPT0gU09GVElSUV9PRkZTRVQpCi0JCXRyYWNlX3NvZnRpcnFzX29uKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSk7Ci0JLyoKLQkgKiBLZWVwIHByZWVtcHRpb24gZGlzYWJsZWQgdW50aWwgd2UgYXJlIGRvbmUgd2l0aAotCSAqIHNvZnRpcnEgcHJvY2Vzc2luZzoKLSAJICovCi0gCXN1Yl9wcmVlbXB0X2NvdW50KFNPRlRJUlFfT0ZGU0VUIC0gMSk7Ci0KLQlpZiAodW5saWtlbHkoIWluX2ludGVycnVwdCgpICYmIGxvY2FsX3NvZnRpcnFfcGVuZGluZygpKSkKLQkJZG9fc29mdGlycSgpOwotCi0JZGVjX3ByZWVtcHRfY291bnQoKTsKLSNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci0jZW5kaWYKLQlwcmVlbXB0X2NoZWNrX3Jlc2NoZWQoKTsKLX0KLUVYUE9SVF9TWU1CT0wobG9jYWxfYmhfZW5hYmxlKTsKLQotdm9pZCBsb2NhbF9iaF9lbmFibGVfaXAodW5zaWduZWQgbG9uZyBpcCkKLXsKLSNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JV0FSTl9PTl9PTkNFKGluX2lycSgpKTsKLQotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlsb2NhbF9pcnFfZGlzYWJsZSgpOwogI2VuZGlmCiAJLyoKIAkgKiBBcmUgc29mdGlycXMgZ29pbmcgdG8gYmUgdHVybmVkIG9uIG5vdzoKQEAgLTE5MCwxMCArMTUzLDIxIEBACiAKIAlkZWNfcHJlZW1wdF9jb3VudCgpOwogI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CiAjZW5kaWYKIAlwcmVlbXB0X2NoZWNrX3Jlc2NoZWQoKTsKIH0KKwordm9pZCBsb2NhbF9iaF9lbmFibGUodm9pZCkKK3sKKwlfbG9jYWxfYmhfZW5hYmxlX2lwKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSk7Cit9CitFWFBPUlRfU1lNQk9MKGxvY2FsX2JoX2VuYWJsZSk7CisKK3ZvaWQgbG9jYWxfYmhfZW5hYmxlX2lwKHVuc2lnbmVkIGxvbmcgaXApCit7CisJX2xvY2FsX2JoX2VuYWJsZV9pcChpcCk7Cit9CiBFWFBPUlRfU1lNQk9MKGxvY2FsX2JoX2VuYWJsZV9pcCk7CiAKIC8qCkBAIC0zNDcsOSArMzIxLDggQEAKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKLXZvaWQgb3Blbl9zb2Z0aXJxKGludCBuciwgdm9pZCAoKmFjdGlvbikoc3RydWN0IHNvZnRpcnFfYWN0aW9uKiksIHZvaWQgKmRhdGEpCit2b2lkIG9wZW5fc29mdGlycShpbnQgbnIsIHZvaWQgKCphY3Rpb24pKHN0cnVjdCBzb2Z0aXJxX2FjdGlvbiAqKSkKIHsKLQlzb2Z0aXJxX3ZlY1tucl0uZGF0YSA9IGRhdGE7CiAJc29mdGlycV92ZWNbbnJdLmFjdGlvbiA9IGFjdGlvbjsKIH0KIApAQCAtMzYwLDEwICszMzMsOCBAQAogCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCAqKnRhaWw7CiB9OwogCi0vKiBTb21lIGNvbXBpbGVycyBkaXNvYmV5IHNlY3Rpb24gYXR0cmlidXRlIG9uIHN0YXRpY3Mgd2hlbiBub3QKLSAgIGluaXRpYWxpemVkIC0tIFJSICovCi1zdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRhc2tsZXRfaGVhZCwgdGFza2xldF92ZWMpID0geyBOVUxMIH07Ci1zdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRhc2tsZXRfaGVhZCwgdGFza2xldF9oaV92ZWMpID0geyBOVUxMIH07CitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRhc2tsZXRfaGVhZCwgdGFza2xldF92ZWMpOworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0YXNrbGV0X2hlYWQsIHRhc2tsZXRfaGlfdmVjKTsKIAogdm9pZCBfX3Rhc2tsZXRfc2NoZWR1bGUoc3RydWN0IHRhc2tsZXRfc3RydWN0ICp0KQogewpAQCAtNTAzLDggKzQ3NCw4IEBACiAJCQkmcGVyX2NwdSh0YXNrbGV0X2hpX3ZlYywgY3B1KS5oZWFkOwogCX0KIAotCW9wZW5fc29mdGlycShUQVNLTEVUX1NPRlRJUlEsIHRhc2tsZXRfYWN0aW9uLCBOVUxMKTsKLQlvcGVuX3NvZnRpcnEoSElfU09GVElSUSwgdGFza2xldF9oaV9hY3Rpb24sIE5VTEwpOworCW9wZW5fc29mdGlycShUQVNLTEVUX1NPRlRJUlEsIHRhc2tsZXRfYWN0aW9uKTsKKwlvcGVuX3NvZnRpcnEoSElfU09GVElSUSwgdGFza2xldF9oaV9hY3Rpb24pOwogfQogCiBzdGF0aWMgaW50IGtzb2Z0aXJxZCh2b2lkICogX19iaW5kX2NwdSkKQEAgLTY0NSw3ICs2MTYsNyBAQAogCiAJCXAgPSBwZXJfY3B1KGtzb2Z0aXJxZCwgaG90Y3B1KTsKIAkJcGVyX2NwdShrc29mdGlycWQsIGhvdGNwdSkgPSBOVUxMOwotCQlzY2hlZF9zZXRzY2hlZHVsZXIocCwgU0NIRURfRklGTywgJnBhcmFtKTsKKwkJc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2socCwgU0NIRURfRklGTywgJnBhcmFtKTsKIAkJa3RocmVhZF9zdG9wKHApOwogCQl0YWtlb3Zlcl90YXNrbGV0cyhob3RjcHUpOwogCQlicmVhazsKQEAgLTY3NCwxMiArNjQ1LDEyIEBACiAvKgogICogQ2FsbCBhIGZ1bmN0aW9uIG9uIGFsbCBwcm9jZXNzb3JzCiAgKi8KLWludCBvbl9lYWNoX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0KQoraW50IG9uX2VhY2hfY3B1KHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCB3YWl0KQogewogCWludCByZXQgPSAwOwogCiAJcHJlZW1wdF9kaXNhYmxlKCk7Ci0JcmV0ID0gc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgcmV0cnksIHdhaXQpOworCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uKGZ1bmMsIGluZm8sIHdhaXQpOwogCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAJZnVuYyhpbmZvKTsKIAlsb2NhbF9pcnFfZW5hYmxlKCk7CmRpZmYgLS1naXQgYS9rZXJuZWwvc3BpbmxvY2suYyBiL2tlcm5lbC9zcGlubG9jay5jCmluZGV4IGFlMjhjODIuLmExZmI1NGMgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zcGlubG9jay5jCisrKyBiL2tlcm5lbC9zcGlubG9jay5jCkBAIC00MzYsNyArNDM2LDcgQEAKIH0KIEVYUE9SVF9TWU1CT0woX3NwaW5fdHJ5bG9ja19iaCk7CiAKLWludCBpbl9sb2NrX2Z1bmN0aW9ucyh1bnNpZ25lZCBsb25nIGFkZHIpCitub3RyYWNlIGludCBpbl9sb2NrX2Z1bmN0aW9ucyh1bnNpZ25lZCBsb25nIGFkZHIpCiB7CiAJLyogTGlua2VyIGFkZHMgdGhlc2U6IHN0YXJ0IGFuZCBlbmQgb2YgX19sb2NrZnVuYyBmdW5jdGlvbnMgKi8KIAlleHRlcm4gY2hhciBfX2xvY2tfdGV4dF9zdGFydFtdLCBfX2xvY2tfdGV4dF9lbmRbXTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGI3MTgxNmUuLjk0YjUyN2UgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIva2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtNiwxOSArNiwyMSBAQAogICogIENvcHlyaWdodCAoQykgMjAwNiBSZWQgSGF0LCBJbmMuLCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KICAqLwogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KICNpbmNsdWRlIDxsaW51eC9zdGFja3RyYWNlLmg+CiAKIHZvaWQgcHJpbnRfc3RhY2tfdHJhY2Uoc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSwgaW50IHNwYWNlcykKIHsKLQlpbnQgaSwgajsKKwlpbnQgaTsKKworCWlmIChXQVJOX09OKCF0cmFjZS0+ZW50cmllcykpCisJCXJldHVybjsKIAogCWZvciAoaSA9IDA7IGkgPCB0cmFjZS0+bnJfZW50cmllczsgaSsrKSB7Ci0JCXVuc2lnbmVkIGxvbmcgaXAgPSB0cmFjZS0+ZW50cmllc1tpXTsKLQotCQlmb3IgKGogPSAwOyBqIDwgc3BhY2VzICsgMTsgaisrKQotCQkJcHJpbnRrKCIgIik7Ci0JCXByaW50X2lwX3N5bShpcCk7CisJCXByaW50aygiJSpjIiwgMSArIHNwYWNlcywgJyAnKTsKKwkJcHJpbnRfaXBfc3ltKHRyYWNlLT5lbnRyaWVzW2ldKTsKIAl9CiB9CitFWFBPUlRfU1lNQk9MX0dQTChwcmludF9zdGFja190cmFjZSk7CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9zdG9wX21hY2hpbmUuYyBiL2tlcm5lbC9zdG9wX21hY2hpbmUuYwppbmRleCBiNzM1MGJiLi5iYTliMjA1IDEwMDY0NAotLS0gYS9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKKysrIGIva2VybmVsL3N0b3BfbWFjaGluZS5jCkBAIC0xODcsNyArMTg3LDcgQEAKIAkJc3RydWN0IHNjaGVkX3BhcmFtIHBhcmFtID0geyAuc2NoZWRfcHJpb3JpdHkgPSBNQVhfUlRfUFJJTy0xIH07CiAKIAkJLyogT25lIGhpZ2gtcHJpbyB0aHJlYWQgcGVyIGNwdS4gIFdlJ2xsIGRvIHRoaXMgb25lLiAqLwotCQlzY2hlZF9zZXRzY2hlZHVsZXIocCwgU0NIRURfRklGTywgJnBhcmFtKTsKKwkJc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2socCwgU0NIRURfRklGTywgJnBhcmFtKTsKIAkJa3RocmVhZF9iaW5kKHAsIGNwdSk7CiAJCXdha2VfdXBfcHJvY2VzcyhwKTsKIAkJd2FpdF9mb3JfY29tcGxldGlvbigmc21kYXRhLmRvbmUpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3N5c2N0bC5jIGIva2VybmVsL3N5c2N0bC5jCmluZGV4IDI5MTE2NjUuLjZiMTZlMTYgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zeXNjdGwuYworKysgYi9rZXJuZWwvc3lzY3RsLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9uZnNfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8bGludXgvcmVib290Lmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KQEAgLTgyLDYgKzgzLDkgQEAKIGV4dGVybiBpbnQgc3lzY3RsX3N0YXRfaW50ZXJ2YWw7CiBleHRlcm4gaW50IGxhdGVuY3l0b3BfZW5hYmxlZDsKIGV4dGVybiBpbnQgc3lzY3RsX25yX29wZW5fbWluLCBzeXNjdGxfbnJfb3Blbl9tYXg7CisjaWZkZWYgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QKK2V4dGVybiBpbnQgcmN1dG9ydHVyZV9ydW5uYWJsZTsKKyNlbmRpZiAvKiAjaWZkZWYgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgKi8KIAogLyogQ29uc3RhbnRzIHVzZWQgZm9yIG1pbmltdW0gYW5kICBtYXhpbXVtICovCiAjaWYgZGVmaW5lZChDT05GSUdfREVURUNUX1NPRlRMT0NLVVApIHx8IGRlZmluZWQoQ09ORklHX0hJR0hNRU0pCkBAIC0xMzIsOCArMTM2LDYgQEAKIGV4dGVybiBpbnQgc3Bpbl9yZXRyeTsKICNlbmRpZgogCi1leHRlcm4gaW50IHN5c2N0bF9oel90aW1lcjsKLQogI2lmZGVmIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUCiBleHRlcm4gaW50IGFjY3RfcGFybVtdOwogI2VuZGlmCkBAIC0yNjYsNiArMjY4LDE0IEBACiAJfSwKIAl7CiAJCS5jdGxfbmFtZQk9IENUTF9VTk5VTUJFUkVELAorCQkucHJvY25hbWUJPSAic2NoZWRfc2hhcmVzX3JhdGVsaW1pdCIsCisJCS5kYXRhCQk9ICZzeXNjdGxfc2NoZWRfc2hhcmVzX3JhdGVsaW1pdCwKKwkJLm1heGxlbgkJPSBzaXplb2YodW5zaWduZWQgaW50KSwKKwkJLm1vZGUJCT0gMDY0NCwKKwkJLnByb2NfaGFuZGxlcgk9ICZwcm9jX2RvaW50dmVjLAorCX0sCisJeworCQkuY3RsX25hbWUJPSBDVExfVU5OVU1CRVJFRCwKIAkJLnByb2NuYW1lCT0gInNjaGVkX2NoaWxkX3J1bnNfZmlyc3QiLAogCQkuZGF0YQkJPSAmc3lzY3RsX3NjaGVkX2NoaWxkX3J1bnNfZmlyc3QsCiAJCS5tYXhsZW4JCT0gc2l6ZW9mKHVuc2lnbmVkIGludCksCkBAIC00NTUsNiArNDY1LDE2IEBACiAJCS5tb2RlCQk9IDA2NDQsCiAJCS5wcm9jX2hhbmRsZXIJPSAmcHJvY19kb2ludHZlYywKIAl9LAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKwl7CisJCS5jdGxfbmFtZQk9IENUTF9VTk5VTUJFUkVELAorCQkucHJvY25hbWUJPSAiZnRyYWNlX2VuYWJsZWQiLAorCQkuZGF0YQkJPSAmZnRyYWNlX2VuYWJsZWQsCisJCS5tYXhsZW4JCT0gc2l6ZW9mKGludCksCisJCS5tb2RlCQk9IDA2NDQsCisJCS5wcm9jX2hhbmRsZXIJPSAmZnRyYWNlX2VuYWJsZV9zeXNjdGwsCisJfSwKKyNlbmRpZgogI2lmZGVmIENPTkZJR19LTU9ECiAJewogCQkuY3RsX25hbWUJPSBLRVJOX01PRFBST0JFLApAQCAtNTYzLDE2ICs1ODMsNiBAQAogCQkucHJvY19oYW5kbGVyCT0gJnByb2NfZG9pbnR2ZWMsCiAJfSwKICNlbmRpZgotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi0JewotCQkuY3RsX25hbWUgICAgICAgPSBLRVJOX0haX1RJTUVSLAotCQkucHJvY25hbWUgICAgICAgPSAiaHpfdGltZXIiLAotCQkuZGF0YSAgICAgICAgICAgPSAmc3lzY3RsX2h6X3RpbWVyLAotCQkubWF4bGVuICAgICAgICAgPSBzaXplb2YoaW50KSwKLQkJLm1vZGUgICAgICAgICAgID0gMDY0NCwKLQkJLnByb2NfaGFuZGxlciAgID0gJnByb2NfZG9pbnR2ZWMsCi0JfSwKLSNlbmRpZgogCXsKIAkJLmN0bF9uYW1lCT0gS0VSTl9TMzkwX1VTRVJfREVCVUdfTE9HR0lORywKIAkJLnByb2NuYW1lCT0gInVzZXJwcm9jZXNzX2RlYnVnIiwKQEAgLTgxMyw2ICs4MjMsMTYgQEAKIAkJLmNoaWxkCQk9IGtleV9zeXNjdGxzLAogCX0sCiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVAorCXsKKwkJLmN0bF9uYW1lICAgICAgID0gQ1RMX1VOTlVNQkVSRUQsCisJCS5wcm9jbmFtZSAgICAgICA9ICJyY3V0b3J0dXJlX3J1bm5hYmxlIiwKKwkJLmRhdGEgICAgICAgICAgID0gJnJjdXRvcnR1cmVfcnVubmFibGUsCisJCS5tYXhsZW4gICAgICAgICA9IHNpemVvZihpbnQpLAorCQkubW9kZSAgICAgICAgICAgPSAwNjQ0LAorCQkucHJvY19oYW5kbGVyICAgPSAmcHJvY19kb2ludHZlYywKKwl9LAorI2VuZGlmCiAvKgogICogTk9URTogZG8gbm90IGFkZCBuZXcgZW50cmllcyB0byB0aGlzIHRhYmxlIHVubGVzcyB5b3UgaGF2ZSByZWFkCiAgKiBEb2N1bWVudGF0aW9uL3N5c2N0bC9jdGxfdW5udW1iZXJlZC50eHQKZGlmZiAtLWdpdCBhL2tlcm5lbC90aW1lL3RpY2stYnJvYWRjYXN0LmMgYi9rZXJuZWwvdGltZS90aWNrLWJyb2FkY2FzdC5jCmluZGV4IDU3YTFmMDIuLmY0OGQwZjAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC90aW1lL3RpY2stYnJvYWRjYXN0LmMKKysrIGIva2VybmVsL3RpbWUvdGljay1icm9hZGNhc3QuYwpAQCAtMzAsNiArMzAsNyBAQAogc3RydWN0IHRpY2tfZGV2aWNlIHRpY2tfYnJvYWRjYXN0X2RldmljZTsKIHN0YXRpYyBjcHVtYXNrX3QgdGlja19icm9hZGNhc3RfbWFzazsKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sodGlja19icm9hZGNhc3RfbG9jayk7CitzdGF0aWMgaW50IHRpY2tfYnJvYWRjYXN0X2ZvcmNlOwogCiAjaWZkZWYgQ09ORklHX1RJQ0tfT05FU0hPVAogc3RhdGljIHZvaWQgdGlja19icm9hZGNhc3RfY2xlYXJfb25lc2hvdChpbnQgY3B1KTsKQEAgLTIzMiwxMCArMjMzLDExIEBACiAJCQkJCQkgICAgIENMT0NLX0VWVF9NT0RFX1NIVVRET1dOKTsKIAkJfQogCQlpZiAoKnJlYXNvbiA9PSBDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9GT1JDRSkKLQkJCWRldi0+ZmVhdHVyZXMgfD0gQ0xPQ0tfRVZUX0ZFQVRfRFVNTVk7CisJCQl0aWNrX2Jyb2FkY2FzdF9mb3JjZSA9IDE7CiAJCWJyZWFrOwogCWNhc2UgQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfT0ZGOgotCQlpZiAoY3B1X2lzc2V0KGNwdSwgdGlja19icm9hZGNhc3RfbWFzaykpIHsKKwkJaWYgKCF0aWNrX2Jyb2FkY2FzdF9mb3JjZSAmJgorCQkgICAgY3B1X2lzc2V0KGNwdSwgdGlja19icm9hZGNhc3RfbWFzaykpIHsKIAkJCWNwdV9jbGVhcihjcHUsIHRpY2tfYnJvYWRjYXN0X21hc2spOwogCQkJaWYgKHRkLT5tb2RlID09IFRJQ0tERVZfTU9ERV9QRVJJT0RJQykKIAkJCQl0aWNrX3NldHVwX3BlcmlvZGljKGRldiwgMCk7CkBAIC0yNjYsNyArMjY4LDcgQEAKIAkJICAgICAgICJvZmZsaW5lIENQVSAjJWRcbiIsICpvbmNwdSk7CiAJZWxzZQogCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoKm9uY3B1LCB0aWNrX2RvX2Jyb2FkY2FzdF9vbl9vZmYsCi0JCQkJCSAmcmVhc29uLCAxLCAxKTsKKwkJCQkJICZyZWFzb24sIDEpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEva2VybmVsL3RpbWUvdGljay1zY2hlZC5jIGIva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCmluZGV4IGI4NTRhODkuLmJlZWY3Y2MgMTAwNjQ0Ci0tLSBhL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYworKysgYi9rZXJuZWwvdGltZS90aWNrLXNjaGVkLmMKQEAgLTQ4LDYgKzQ4LDEzIEBACiAJdW5zaWduZWQgbG9uZyB0aWNrcyA9IDA7CiAJa3RpbWVfdCBkZWx0YTsKIAorCS8qCisJICogRG8gYSBxdWljayBjaGVjayB3aXRob3V0IGhvbGRpbmcgeHRpbWVfbG9jazoKKwkgKi8KKwlkZWx0YSA9IGt0aW1lX3N1Yihub3csIGxhc3RfamlmZmllc191cGRhdGUpOworCWlmIChkZWx0YS50djY0IDwgdGlja19wZXJpb2QudHY2NCkKKwkJcmV0dXJuOworCiAJLyogUmVldmFsdXRlIHdpdGggeHRpbWVfbG9jayBoZWxkICovCiAJd3JpdGVfc2VxbG9jaygmeHRpbWVfbG9jayk7CiAKQEAgLTIyOCw2ICsyMzUsNyBAQAogCQkJICAgICAgIGxvY2FsX3NvZnRpcnFfcGVuZGluZygpKTsKIAkJCXJhdGVsaW1pdCsrOwogCQl9CisJCWdvdG8gZW5kOwogCX0KIAogCXRzLT5pZGxlX2NhbGxzKys7CkBAIC0yNzYsNiArMjg0LDcgQEAKIAkJCXRzLT50aWNrX3N0b3BwZWQgPSAxOwogCQkJdHMtPmlkbGVfamlmZmllcyA9IGxhc3RfamlmZmllczsKIAkJCXJjdV9lbnRlcl9ub2h6KCk7CisJCQlzY2hlZF9jbG9ja190aWNrX3N0b3AoY3B1KTsKIAkJfQogCiAJCS8qCkBAIC0zNzUsNiArMzg0LDcgQEAKIAlzZWxlY3Rfbm9oel9sb2FkX2JhbGFuY2VyKDApOwogCW5vdyA9IGt0aW1lX2dldCgpOwogCXRpY2tfZG9fdXBkYXRlX2ppZmZpZXM2NChub3cpOworCXNjaGVkX2Nsb2NrX3RpY2tfc3RhcnQoY3B1KTsKIAljcHVfY2xlYXIoY3B1LCBub2h6X2NwdV9tYXNrKTsKIAogCS8qCmRpZmYgLS1naXQgYS9rZXJuZWwvdGltZXIuYyBiL2tlcm5lbC90aW1lci5jCmluZGV4IGNlYWNjNjYuLjAzYmM3ZjEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC90aW1lci5jCisrKyBiL2tlcm5lbC90aW1lci5jCkBAIC04MTIsNyArODEyLDcgQEAKIAlzcGluX3VubG9ja19pcnEoJmJhc2UtPmxvY2spOwogfQogCi0jaWYgZGVmaW5lZChDT05GSUdfTk9fSURMRV9IWikgfHwgZGVmaW5lZChDT05GSUdfTk9fSFopCisjaWZkZWYgQ09ORklHX05PX0haCiAvKgogICogRmluZCBvdXQgd2hlbiB0aGUgbmV4dCB0aW1lciBldmVudCBpcyBkdWUgdG8gaGFwcGVuLiBUaGlzCiAgKiBpcyB1c2VkIG9uIFMvMzkwIHRvIHN0b3AgYWxsIGFjdGl2aXR5IHdoZW4gYSBjcHVzIGlzIGlkbGUuCkBAIC05NDcsMTQgKzk0Nyw2IEBACiAKIAlyZXR1cm4gY21wX25leHRfaHJ0aW1lcl9ldmVudChub3csIGV4cGlyZXMpOwogfQotCi0jaWZkZWYgQ09ORklHX05PX0lETEVfSFoKLXVuc2lnbmVkIGxvbmcgbmV4dF90aW1lcl9pbnRlcnJ1cHQodm9pZCkKLXsKLQlyZXR1cm4gZ2V0X25leHRfdGltZXJfaW50ZXJydXB0KGppZmZpZXMpOwotfQotI2VuZGlmCi0KICNlbmRpZgogCiAjaWZuZGVmIENPTkZJR19WSVJUX0NQVV9BQ0NPVU5USU5HCkBAIC0xNTAyLDcgKzE0OTQsNyBAQAogCiAJQlVHX09OKGVyciA9PSBOT1RJRllfQkFEKTsKIAlyZWdpc3Rlcl9jcHVfbm90aWZpZXIoJnRpbWVyc19uYik7Ci0Jb3Blbl9zb2Z0aXJxKFRJTUVSX1NPRlRJUlEsIHJ1bl90aW1lcl9zb2Z0aXJxLCBOVUxMKTsKKwlvcGVuX3NvZnRpcnEoVElNRVJfU09GVElSUSwgcnVuX3RpbWVyX3NvZnRpcnEpOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS9LY29uZmlnIGIva2VybmVsL3RyYWNlL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYzZTllNgotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS9LY29uZmlnCkBAIC0wLDAgKzEsMTM1IEBACisjCisjIEFyY2hpdGVjdHVyZXMgdGhhdCBvZmZlciBhbiBGVFJBQ0UgaW1wbGVtZW50YXRpb24gc2hvdWxkIHNlbGVjdCBIQVZFX0ZUUkFDRToKKyMKK2NvbmZpZyBIQVZFX0ZUUkFDRQorCWJvb2wKKworY29uZmlnIEhBVkVfRFlOQU1JQ19GVFJBQ0UKKwlib29sCisKK2NvbmZpZyBUUkFDRVJfTUFYX1RSQUNFCisJYm9vbAorCitjb25maWcgVFJBQ0lORworCWJvb2wKKwlzZWxlY3QgREVCVUdfRlMKKwlzZWxlY3QgU1RBQ0tUUkFDRQorCitjb25maWcgRlRSQUNFCisJYm9vbCAiS2VybmVsIEZ1bmN0aW9uIFRyYWNlciIKKwlkZXBlbmRzIG9uIEhBVkVfRlRSQUNFCisJc2VsZWN0IEZSQU1FX1BPSU5URVIKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBDT05URVhUX1NXSVRDSF9UUkFDRVIKKwloZWxwCisJICBFbmFibGUgdGhlIGtlcm5lbCB0byB0cmFjZSBldmVyeSBrZXJuZWwgZnVuY3Rpb24uIFRoaXMgaXMgZG9uZQorCSAgYnkgdXNpbmcgYSBjb21waWxlciBmZWF0dXJlIHRvIGluc2VydCBhIHNtYWxsLCA1LWJ5dGUgTm8tT3BlcmF0aW9uCisJICBpbnN0cnVjdGlvbiB0byB0aGUgYmVnaW5uaW5nIG9mIGV2ZXJ5IGtlcm5lbCBmdW5jdGlvbiwgd2hpY2ggTk9QCisJICBzZXF1ZW5jZSBpcyB0aGVuIGR5bmFtaWNhbGx5IHBhdGNoZWQgaW50byBhIHRyYWNlciBjYWxsIHdoZW4KKwkgIHRyYWNpbmcgaXMgZW5hYmxlZCBieSB0aGUgYWRtaW5pc3RyYXRvci4gSWYgaXQncyBydW50aW1lIGRpc2FibGVkCisJICAodGhlIGJvb3R1cCBkZWZhdWx0KSwgdGhlbiB0aGUgb3ZlcmhlYWQgb2YgdGhlIGluc3RydWN0aW9ucyBpcyB2ZXJ5CisJICBzbWFsbCBhbmQgbm90IG1lYXN1cmFibGUgZXZlbiBpbiBtaWNyby1iZW5jaG1hcmtzLgorCitjb25maWcgSVJRU09GRl9UUkFDRVIKKwlib29sICJJbnRlcnJ1cHRzLW9mZiBMYXRlbmN5IFRyYWNlciIKKwlkZWZhdWx0IG4KKwlkZXBlbmRzIG9uIFRSQUNFX0lSUUZMQUdTX1NVUFBPUlQKKwlkZXBlbmRzIG9uIEdFTkVSSUNfVElNRQorCWRlcGVuZHMgb24gSEFWRV9GVFJBQ0UKKwlzZWxlY3QgVFJBQ0VfSVJRRkxBR1MKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBUUkFDRVJfTUFYX1RSQUNFCisJaGVscAorCSAgVGhpcyBvcHRpb24gbWVhc3VyZXMgdGhlIHRpbWUgc3BlbnQgaW4gaXJxcy1vZmYgY3JpdGljYWwKKwkgIHNlY3Rpb25zLCB3aXRoIG1pY3Jvc2Vjb25kIGFjY3VyYWN5LgorCisJICBUaGUgZGVmYXVsdCBtZWFzdXJlbWVudCBtZXRob2QgaXMgYSBtYXhpbXVtIHNlYXJjaCwgd2hpY2ggaXMKKwkgIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGNhbiBiZSBydW50aW1lIChyZS0pc3RhcnRlZAorCSAgdmlhOgorCisJICAgICAgZWNobyAwID4gL2RlYnVnZnMvdHJhY2luZy90cmFjaW5nX21heF9sYXRlbmN5CisKKwkgIChOb3RlIHRoYXQga2VybmVsIHNpemUgYW5kIG92ZXJoZWFkIGluY3JlYXNlcyB3aXRoIHRoaXMgb3B0aW9uCisJICBlbmFibGVkLiBUaGlzIG9wdGlvbiBhbmQgdGhlIHByZWVtcHQtb2ZmIHRpbWluZyBvcHRpb24gY2FuIGJlCisJICB1c2VkIHRvZ2V0aGVyIG9yIHNlcGFyYXRlbHkuKQorCitjb25maWcgUFJFRU1QVF9UUkFDRVIKKwlib29sICJQcmVlbXB0aW9uLW9mZiBMYXRlbmN5IFRyYWNlciIKKwlkZWZhdWx0IG4KKwlkZXBlbmRzIG9uIEdFTkVSSUNfVElNRQorCWRlcGVuZHMgb24gUFJFRU1QVAorCWRlcGVuZHMgb24gSEFWRV9GVFJBQ0UKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBUUkFDRVJfTUFYX1RSQUNFCisJaGVscAorCSAgVGhpcyBvcHRpb24gbWVhc3VyZXMgdGhlIHRpbWUgc3BlbnQgaW4gcHJlZW1wdGlvbiBvZmYgY3JpdGljYWwKKwkgIHNlY3Rpb25zLCB3aXRoIG1pY3Jvc2Vjb25kIGFjY3VyYWN5LgorCisJICBUaGUgZGVmYXVsdCBtZWFzdXJlbWVudCBtZXRob2QgaXMgYSBtYXhpbXVtIHNlYXJjaCwgd2hpY2ggaXMKKwkgIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGNhbiBiZSBydW50aW1lIChyZS0pc3RhcnRlZAorCSAgdmlhOgorCisJICAgICAgZWNobyAwID4gL2RlYnVnZnMvdHJhY2luZy90cmFjaW5nX21heF9sYXRlbmN5CisKKwkgIChOb3RlIHRoYXQga2VybmVsIHNpemUgYW5kIG92ZXJoZWFkIGluY3JlYXNlcyB3aXRoIHRoaXMgb3B0aW9uCisJICBlbmFibGVkLiBUaGlzIG9wdGlvbiBhbmQgdGhlIGlycXMtb2ZmIHRpbWluZyBvcHRpb24gY2FuIGJlCisJICB1c2VkIHRvZ2V0aGVyIG9yIHNlcGFyYXRlbHkuKQorCitjb25maWcgU1lTUFJPRl9UUkFDRVIKKwlib29sICJTeXNwcm9mIFRyYWNlciIKKwlkZXBlbmRzIG9uIFg4NgorCXNlbGVjdCBUUkFDSU5HCisJaGVscAorCSAgVGhpcyB0cmFjZXIgcHJvdmlkZXMgdGhlIHRyYWNlIG5lZWRlZCBieSB0aGUgJ1N5c3Byb2YnIHVzZXJzcGFjZQorCSAgdG9vbC4KKworY29uZmlnIFNDSEVEX1RSQUNFUgorCWJvb2wgIlNjaGVkdWxpbmcgTGF0ZW5jeSBUcmFjZXIiCisJZGVwZW5kcyBvbiBIQVZFX0ZUUkFDRQorCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IENPTlRFWFRfU1dJVENIX1RSQUNFUgorCXNlbGVjdCBUUkFDRVJfTUFYX1RSQUNFCisJaGVscAorCSAgVGhpcyB0cmFjZXIgdHJhY2tzIHRoZSBsYXRlbmN5IG9mIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sKKwkgIHRvIGJlIHNjaGVkdWxlZCBpbiwgc3RhcnRpbmcgZnJvbSB0aGUgcG9pbnQgaXQgaGFzIHdva2VuIHVwLgorCitjb25maWcgQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSCisJYm9vbCAiVHJhY2UgcHJvY2VzcyBjb250ZXh0IHN3aXRjaGVzIgorCWRlcGVuZHMgb24gSEFWRV9GVFJBQ0UKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBNQVJLRVJTCisJaGVscAorCSAgVGhpcyB0cmFjZXIgZ2V0cyBjYWxsZWQgZnJvbSB0aGUgY29udGV4dCBzd2l0Y2ggYW5kIHJlY29yZHMKKwkgIGFsbCBzd2l0Y2hpbmcgb2YgdGFza3MuCisKK2NvbmZpZyBEWU5BTUlDX0ZUUkFDRQorCWJvb2wgImVuYWJsZS9kaXNhYmxlIGZ0cmFjZSB0cmFjZXBvaW50cyBkeW5hbWljYWxseSIKKwlkZXBlbmRzIG9uIEZUUkFDRQorCWRlcGVuZHMgb24gSEFWRV9EWU5BTUlDX0ZUUkFDRQorCWRlZmF1bHQgeQorCWhlbHAKKyAgICAgICAgIFRoaXMgb3B0aW9uIHdpbGwgbW9kaWZ5IGFsbCB0aGUgY2FsbHMgdG8gZnRyYWNlIGR5bmFtaWNhbGx5CisJICh3aWxsIHBhdGNoIHRoZW0gb3V0IG9mIHRoZSBiaW5hcnkgaW1hZ2UgYW5kIHJlcGxhY2VzIHRoZW0KKwkgd2l0aCBhIE5vLU9wIGluc3RydWN0aW9uKSBhcyB0aGV5IGFyZSBjYWxsZWQuIEEgdGFibGUgaXMKKwkgY3JlYXRlZCB0byBkeW5hbWljYWxseSBlbmFibGUgdGhlbSBhZ2Fpbi4KKworCSBUaGlzIHdheSBhIENPTkZJR19GVFJBQ0Uga2VybmVsIGlzIHNsaWdodGx5IGxhcmdlciwgYnV0IG90aGVyd2lzZQorCSBoYXMgbmF0aXZlIHBlcmZvcm1hbmNlIGFzIGxvbmcgYXMgbm8gdHJhY2luZyBpcyBhY3RpdmUuCisKKwkgVGhlIGNoYW5nZXMgdG8gdGhlIGNvZGUgYXJlIGRvbmUgYnkgYSBrZXJuZWwgdGhyZWFkIHRoYXQKKwkgd2FrZXMgdXAgb25jZSBhIHNlY29uZCBhbmQgY2hlY2tzIHRvIHNlZSBpZiBhbnkgZnRyYWNlIGNhbGxzCisJIHdlcmUgbWFkZS4gSWYgc28sIGl0IHJ1bnMgc3RvcF9tYWNoaW5lIChzdG9wcyBhbGwgQ1BVUykKKwkgYW5kIG1vZGlmaWVzIHRoZSBjb2RlIHRvIGp1bXAgb3ZlciB0aGUgY2FsbCB0byBmdHJhY2UuCisKK2NvbmZpZyBGVFJBQ0VfU0VMRlRFU1QKKwlib29sCisKK2NvbmZpZyBGVFJBQ0VfU1RBUlRVUF9URVNUCisJYm9vbCAiUGVyZm9ybSBhIHN0YXJ0dXAgdGVzdCBvbiBmdHJhY2UiCisJZGVwZW5kcyBvbiBUUkFDSU5HCisJc2VsZWN0IEZUUkFDRV9TRUxGVEVTVAorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIHBlcmZvcm1zIGEgc2VyaWVzIG9mIHN0YXJ0dXAgdGVzdHMgb24gZnRyYWNlLiBPbiBib290dXAKKwkgIGEgc2VyaWVzIG9mIHRlc3RzIGFyZSBtYWRlIHRvIHZlcmlmeSB0aGF0IHRoZSB0cmFjZXIgaXMKKwkgIGZ1bmN0aW9uaW5nIHByb3Blcmx5LiBJdCB3aWxsIGRvIHRlc3RzIG9uIGFsbCB0aGUgY29uZmlndXJlZAorCSAgdHJhY2VycyBvZiBmdHJhY2UuCmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvTWFrZWZpbGUgYi9rZXJuZWwvdHJhY2UvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzFkMTdkZQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS9NYWtlZmlsZQpAQCAtMCwwICsxLDI0IEBACisKKyMgRG8gbm90IGluc3RydW1lbnQgdGhlIHRyYWNlciBpdHNlbGY6CisKK2lmZGVmIENPTkZJR19GVFJBQ0UKK09SSUdfQ0ZMQUdTIDo9ICQoS0JVSUxEX0NGTEFHUykKK0tCVUlMRF9DRkxBR1MgPSAkKHN1YnN0IC1wZywsJChPUklHX0NGTEFHUykpCisKKyMgc2VsZnRlc3QgbmVlZHMgaW5zdHJ1bWVudGF0aW9uCitDRkxBR1NfdHJhY2Vfc2VsZnRlc3RfZHluYW1pYy5vID0gLXBnCitvYmoteSArPSB0cmFjZV9zZWxmdGVzdF9keW5hbWljLm8KK2VuZGlmCisKK29iai0kKENPTkZJR19GVFJBQ0UpICs9IGxpYmZ0cmFjZS5vCisKK29iai0kKENPTkZJR19UUkFDSU5HKSArPSB0cmFjZS5vCitvYmotJChDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSKSArPSB0cmFjZV9zY2hlZF9zd2l0Y2gubworb2JqLSQoQ09ORklHX1NZU1BST0ZfVFJBQ0VSKSArPSB0cmFjZV9zeXNwcm9mLm8KK29iai0kKENPTkZJR19GVFJBQ0UpICs9IHRyYWNlX2Z1bmN0aW9ucy5vCitvYmotJChDT05GSUdfSVJRU09GRl9UUkFDRVIpICs9IHRyYWNlX2lycXNvZmYubworb2JqLSQoQ09ORklHX1BSRUVNUFRfVFJBQ0VSKSArPSB0cmFjZV9pcnFzb2ZmLm8KK29iai0kKENPTkZJR19TQ0hFRF9UUkFDRVIpICs9IHRyYWNlX3NjaGVkX3dha2V1cC5vCitvYmotJChDT05GSUdfTU1JT1RSQUNFKSArPSB0cmFjZV9tbWlvdHJhY2UubworCitsaWJmdHJhY2UteSA6PSBmdHJhY2UubwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL2Z0cmFjZS5jIGIva2VybmVsL3RyYWNlL2Z0cmFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyMzFhM2QKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvZnRyYWNlLmMKQEAgLTAsMCArMSwxNzI3IEBACisvKgorICogSW5mcmFzdHJ1Y3R1cmUgZm9yIHByb2ZpbGluZyBjb2RlIGluc2VydGVkIGJ5ICdnY2MgLXBnJy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA4IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgorICoKKyAqIE9yaWdpbmFsbHkgcG9ydGVkIGZyb20gdGhlIC1ydCBwYXRjaCBieToKKyAqICAgQ29weXJpZ2h0IChDKSAyMDA3IEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNtZUByZWRoYXQuY29tPgorICoKKyAqIEJhc2VkIG9uIGNvZGUgaW4gdGhlIGxhdGVuY3lfdHJhY2VyLCB0aGF0IGlzOgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBJbmdvIE1vbG5hcgorICogIENvcHlyaWdodCAoQykgMjAwNCBXaWxsaWFtIExlZSBJcndpbiBJSUkKKyAqLworCisjaW5jbHVkZSA8bGludXgvc3RvcF9tYWNoaW5lLmg+CisjaW5jbHVkZSA8bGludXgvY2xvY2tzb3VyY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNjdGwuaD4KKyNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L2hhc2guaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisKKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCisvKiBmdHJhY2VfZW5hYmxlZCBpcyBhIG1ldGhvZCB0byB0dXJuIGZ0cmFjZSBvbiBvciBvZmYgKi8KK2ludCBmdHJhY2VfZW5hYmxlZCBfX3JlYWRfbW9zdGx5Oworc3RhdGljIGludCBsYXN0X2Z0cmFjZV9lbmFibGVkOworCisvKgorICogZnRyYWNlX2Rpc2FibGVkIGlzIHNldCB3aGVuIGFuIGFub21hbHkgaXMgZGlzY292ZXJlZC4KKyAqIGZ0cmFjZV9kaXNhYmxlZCBpcyBtdWNoIHN0cm9uZ2VyIHRoYW4gZnRyYWNlX2VuYWJsZWQuCisgKi8KK3N0YXRpYyBpbnQgZnRyYWNlX2Rpc2FibGVkIF9fcmVhZF9tb3N0bHk7CisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soZnRyYWNlX2xvY2spOworc3RhdGljIERFRklORV9NVVRFWChmdHJhY2Vfc3lzY3RsX2xvY2spOworCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9vcHMgZnRyYWNlX2xpc3RfZW5kIF9fcmVhZF9tb3N0bHkgPQoreworCS5mdW5jID0gZnRyYWNlX3N0dWIsCit9OworCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9vcHMgKmZ0cmFjZV9saXN0IF9fcmVhZF9tb3N0bHkgPSAmZnRyYWNlX2xpc3RfZW5kOworZnRyYWNlX2Z1bmNfdCBmdHJhY2VfdHJhY2VfZnVuY3Rpb24gX19yZWFkX21vc3RseSA9IGZ0cmFjZV9zdHViOworCitzdGF0aWMgdm9pZCBmdHJhY2VfbGlzdF9mdW5jKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKQoreworCXN0cnVjdCBmdHJhY2Vfb3BzICpvcCA9IGZ0cmFjZV9saXN0OworCisJLyogaW4gY2FzZSBzb21lb25lIGFjdHVhbGx5IHBvcnRzIHRoaXMgdG8gYWxwaGEhICovCisJcmVhZF9iYXJyaWVyX2RlcGVuZHMoKTsKKworCXdoaWxlIChvcCAhPSAmZnRyYWNlX2xpc3RfZW5kKSB7CisJCS8qIHNpbGx5IGFscGhhICovCisJCXJlYWRfYmFycmllcl9kZXBlbmRzKCk7CisJCW9wLT5mdW5jKGlwLCBwYXJlbnRfaXApOworCQlvcCA9IG9wLT5uZXh0OworCX07Cit9CisKKy8qKgorICogY2xlYXJfZnRyYWNlX2Z1bmN0aW9uIC0gcmVzZXQgdGhlIGZ0cmFjZSBmdW5jdGlvbgorICoKKyAqIFRoaXMgTlVMTHMgdGhlIGZ0cmFjZSBmdW5jdGlvbiBhbmQgaW4gZXNzZW5jZSBzdG9wcworICogdHJhY2luZy4gIFRoZXJlIG1heSBiZSBsYWcKKyAqLwordm9pZCBjbGVhcl9mdHJhY2VfZnVuY3Rpb24odm9pZCkKK3sKKwlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2Vfc3R1YjsKK30KKworc3RhdGljIGludCBfX3JlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKQoreworCS8qIFNob3VsZCBuZXZlciBiZSBjYWxsZWQgYnkgaW50ZXJydXB0cyAqLworCXNwaW5fbG9jaygmZnRyYWNlX2xvY2spOworCisJb3BzLT5uZXh0ID0gZnRyYWNlX2xpc3Q7CisJLyoKKwkgKiBXZSBhcmUgZW50ZXJpbmcgb3BzIGludG8gdGhlIGZ0cmFjZV9saXN0IGJ1dCBhbm90aGVyCisJICogQ1BVIG1pZ2h0IGJlIHdhbGtpbmcgdGhhdCBsaXN0LiBXZSBuZWVkIHRvIG1ha2Ugc3VyZQorCSAqIHRoZSBvcHMtPm5leHQgcG9pbnRlciBpcyB2YWxpZCBiZWZvcmUgYW5vdGhlciBDUFUgc2VlcworCSAqIHRoZSBvcHMgcG9pbnRlciBpbmNsdWRlZCBpbnRvIHRoZSBmdHJhY2VfbGlzdC4KKwkgKi8KKwlzbXBfd21iKCk7CisJZnRyYWNlX2xpc3QgPSBvcHM7CisKKwlpZiAoZnRyYWNlX2VuYWJsZWQpIHsKKwkJLyoKKwkJICogRm9yIG9uZSBmdW5jLCBzaW1wbHkgY2FsbCBpdCBkaXJlY3RseS4KKwkJICogRm9yIG1vcmUgdGhhbiBvbmUgZnVuYywgY2FsbCB0aGUgY2hhaW4uCisJCSAqLworCQlpZiAob3BzLT5uZXh0ID09ICZmdHJhY2VfbGlzdF9lbmQpCisJCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBvcHMtPmZ1bmM7CisJCWVsc2UKKwkJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9saXN0X2Z1bmM7CisJfQorCisJc3Bpbl91bmxvY2soJmZ0cmFjZV9sb2NrKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oc3RydWN0IGZ0cmFjZV9vcHMgKm9wcykKK3sKKwlzdHJ1Y3QgZnRyYWNlX29wcyAqKnA7CisJaW50IHJldCA9IDA7CisKKwlzcGluX2xvY2soJmZ0cmFjZV9sb2NrKTsKKworCS8qCisJICogSWYgd2UgYXJlIHJlbW92aW5nIHRoZSBsYXN0IGZ1bmN0aW9uLCB0aGVuIHNpbXBseSBwb2ludAorCSAqIHRvIHRoZSBmdHJhY2Vfc3R1Yi4KKwkgKi8KKwlpZiAoZnRyYWNlX2xpc3QgPT0gb3BzICYmIG9wcy0+bmV4dCA9PSAmZnRyYWNlX2xpc3RfZW5kKSB7CisJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9zdHViOworCQlmdHJhY2VfbGlzdCA9ICZmdHJhY2VfbGlzdF9lbmQ7CisJCWdvdG8gb3V0OworCX0KKworCWZvciAocCA9ICZmdHJhY2VfbGlzdDsgKnAgIT0gJmZ0cmFjZV9saXN0X2VuZDsgcCA9ICYoKnApLT5uZXh0KQorCQlpZiAoKnAgPT0gb3BzKQorCQkJYnJlYWs7CisKKwlpZiAoKnAgIT0gb3BzKSB7CisJCXJldCA9IC0xOworCQlnb3RvIG91dDsKKwl9CisKKwkqcCA9ICgqcCktPm5leHQ7CisKKwlpZiAoZnRyYWNlX2VuYWJsZWQpIHsKKwkJLyogSWYgd2Ugb25seSBoYXZlIG9uZSBmdW5jIGxlZnQsIHRoZW4gY2FsbCB0aGF0IGRpcmVjdGx5ICovCisJCWlmIChmdHJhY2VfbGlzdCA9PSAmZnRyYWNlX2xpc3RfZW5kIHx8CisJCSAgICBmdHJhY2VfbGlzdC0+bmV4dCA9PSAmZnRyYWNlX2xpc3RfZW5kKQorCQkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX2xpc3QtPmZ1bmM7CisJfQorCisgb3V0OgorCXNwaW5fdW5sb2NrKCZmdHJhY2VfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisKK3N0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmZ0cmFjZWRfdGFzazsKKworZW51bSB7CisJRlRSQUNFX0VOQUJMRV9DQUxMUwkJPSAoMSA8PCAwKSwKKwlGVFJBQ0VfRElTQUJMRV9DQUxMUwkJPSAoMSA8PCAxKSwKKwlGVFJBQ0VfVVBEQVRFX1RSQUNFX0ZVTkMJPSAoMSA8PCAyKSwKKwlGVFJBQ0VfRU5BQkxFX01DT1VOVAkJPSAoMSA8PCAzKSwKKwlGVFJBQ0VfRElTQUJMRV9NQ09VTlQJCT0gKDEgPDwgNCksCit9OworCitzdGF0aWMgaW50IGZ0cmFjZV9maWx0ZXJlZDsKK3N0YXRpYyBpbnQgdHJhY2luZ19vbjsKK3N0YXRpYyBpbnQgZnJvemVuX3JlY29yZF9jb3VudDsKKworc3RhdGljIHN0cnVjdCBobGlzdF9oZWFkIGZ0cmFjZV9oYXNoW0ZUUkFDRV9IQVNIU0laRV07CisKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIGZ0cmFjZV9zaHV0ZG93bl9kaXNhYmxlX2NwdSk7CisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soZnRyYWNlX3NodXRkb3duX2xvY2spOworc3RhdGljIERFRklORV9NVVRFWChmdHJhY2VkX2xvY2spOworc3RhdGljIERFRklORV9NVVRFWChmdHJhY2VfcmVnZXhfbG9jayk7CisKK3N0cnVjdCBmdHJhY2VfcGFnZSB7CisJc3RydWN0IGZ0cmFjZV9wYWdlCSpuZXh0OworCXVuc2lnbmVkIGxvbmcJCWluZGV4OworCXN0cnVjdCBkeW5fZnRyYWNlCXJlY29yZHNbXTsKK307CisKKyNkZWZpbmUgRU5UUklFU19QRVJfUEFHRSBcCisgICgoUEFHRV9TSVpFIC0gc2l6ZW9mKHN0cnVjdCBmdHJhY2VfcGFnZSkpIC8gc2l6ZW9mKHN0cnVjdCBkeW5fZnRyYWNlKSkKKworLyogZXN0aW1hdGUgZnJvbSBydW5uaW5nIGRpZmZlcmVudCBrZXJuZWxzICovCisjZGVmaW5lIE5SX1RPX0lOSVQJCTEwMDAwCisKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX3BhZ2UJKmZ0cmFjZV9wYWdlc19zdGFydDsKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX3BhZ2UJKmZ0cmFjZV9wYWdlczsKKworc3RhdGljIGludCBmdHJhY2VkX3RyaWdnZXI7CitzdGF0aWMgaW50IGZ0cmFjZWRfc3VzcGVuZDsKK3N0YXRpYyBpbnQgZnRyYWNlZF9zdG9wOworCitzdGF0aWMgaW50IGZ0cmFjZV9yZWNvcmRfc3VzcGVuZDsKKworc3RhdGljIHN0cnVjdCBkeW5fZnRyYWNlICpmdHJhY2VfZnJlZV9yZWNvcmRzOworCisKKyNpZmRlZiBDT05GSUdfS1BST0JFUworc3RhdGljIGlubGluZSB2b2lkIGZyZWV6ZV9yZWNvcmQoc3RydWN0IGR5bl9mdHJhY2UgKnJlYykKK3sKKwlpZiAoIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZST1pFTikpIHsKKwkJcmVjLT5mbGFncyB8PSBGVFJBQ0VfRkxfRlJPWkVOOworCQlmcm96ZW5fcmVjb3JkX2NvdW50Kys7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdW5mcmVlemVfcmVjb3JkKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMpCit7CisJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRlJPWkVOKSB7CisJCXJlYy0+ZmxhZ3MgJj0gfkZUUkFDRV9GTF9GUk9aRU47CisJCWZyb3plbl9yZWNvcmRfY291bnQtLTsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHJlY29yZF9mcm96ZW4oc3RydWN0IGR5bl9mdHJhY2UgKnJlYykKK3sKKwlyZXR1cm4gcmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GUk9aRU47Cit9CisjZWxzZQorIyBkZWZpbmUgZnJlZXplX3JlY29yZChyZWMpCQkJKHsgMDsgfSkKKyMgZGVmaW5lIHVuZnJlZXplX3JlY29yZChyZWMpCQkJKHsgMDsgfSkKKyMgZGVmaW5lIHJlY29yZF9mcm96ZW4ocmVjKQkJCSh7IDA7IH0pCisjZW5kaWYgLyogQ09ORklHX0tQUk9CRVMgKi8KKworaW50IHNraXBfdHJhY2UodW5zaWduZWQgbG9uZyBpcCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsOworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWM7CisJc3RydWN0IGhsaXN0X25vZGUgKnQ7CisJc3RydWN0IGhsaXN0X2hlYWQgKmhlYWQ7CisKKwlpZiAoZnJvemVuX3JlY29yZF9jb3VudCA9PSAwKQorCQlyZXR1cm4gMDsKKworCWhlYWQgPSAmZnRyYWNlX2hhc2hbaGFzaF9sb25nKGlwLCBGVFJBQ0VfSEFTSEJJVFMpXTsKKwlobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UocmVjLCB0LCBoZWFkLCBub2RlKSB7CisJCWlmIChyZWMtPmlwID09IGlwKSB7CisJCQlpZiAocmVjb3JkX2Zyb3plbihyZWMpKSB7CisJCQkJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKQorCQkJCQlyZXR1cm4gMTsKKworCQkJCWlmICghKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfQ09OVkVSVEVEKSkKKwkJCQkJcmV0dXJuIDE7CisKKwkJCQlpZiAoIXRyYWNpbmdfb24gfHwgIWZ0cmFjZV9lbmFibGVkKQorCQkJCQlyZXR1cm4gMTsKKworCQkJCWlmIChmdHJhY2VfZmlsdGVyZWQpIHsKKwkJCQkJZmwgPSByZWMtPmZsYWdzICYgKEZUUkFDRV9GTF9GSUxURVIgfAorCQkJCQkJCSAgIEZUUkFDRV9GTF9OT1RSQUNFKTsKKwkJCQkJaWYgKCFmbCB8fCAoZmwgJiBGVFJBQ0VfRkxfTk9UUkFDRSkpCisJCQkJCQlyZXR1cm4gMTsKKwkJCQl9CisJCQl9CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludAorZnRyYWNlX2lwX2luX2hhc2godW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBrZXkpCit7CisJc3RydWN0IGR5bl9mdHJhY2UgKnA7CisJc3RydWN0IGhsaXN0X25vZGUgKnQ7CisJaW50IGZvdW5kID0gMDsKKworCWhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShwLCB0LCAmZnRyYWNlX2hhc2hba2V5XSwgbm9kZSkgeworCQlpZiAocC0+aXAgPT0gaXApIHsKKwkJCWZvdW5kID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJcmV0dXJuIGZvdW5kOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK2Z0cmFjZV9hZGRfaGFzaChzdHJ1Y3QgZHluX2Z0cmFjZSAqbm9kZSwgdW5zaWduZWQgbG9uZyBrZXkpCit7CisJaGxpc3RfYWRkX2hlYWRfcmN1KCZub2RlLT5ub2RlLCAmZnRyYWNlX2hhc2hba2V5XSk7Cit9CisKKy8qIGNhbGxlZCBmcm9tIGtzdG9wX21hY2hpbmUgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBmdHJhY2VfZGVsX2hhc2goc3RydWN0IGR5bl9mdHJhY2UgKm5vZGUpCit7CisJaGxpc3RfZGVsKCZub2RlLT5ub2RlKTsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX2ZyZWVfcmVjKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMpCit7CisJLyogbm8gbG9ja2luZywgb25seSBjYWxsZWQgZnJvbSBrc3RvcF9tYWNoaW5lICovCisKKwlyZWMtPmlwID0gKHVuc2lnbmVkIGxvbmcpZnRyYWNlX2ZyZWVfcmVjb3JkczsKKwlmdHJhY2VfZnJlZV9yZWNvcmRzID0gcmVjOworCXJlYy0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0ZSRUU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZHluX2Z0cmFjZSAqZnRyYWNlX2FsbG9jX2R5bl9ub2RlKHVuc2lnbmVkIGxvbmcgaXApCit7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYzsKKworCS8qIEZpcnN0IGNoZWNrIGZvciBmcmVlZCByZWNvcmRzICovCisJaWYgKGZ0cmFjZV9mcmVlX3JlY29yZHMpIHsKKwkJcmVjID0gZnRyYWNlX2ZyZWVfcmVjb3JkczsKKworCQlpZiAodW5saWtlbHkoIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZSRUUpKSkgeworCQkJV0FSTl9PTl9PTkNFKDEpOworCQkJZnRyYWNlX2ZyZWVfcmVjb3JkcyA9IE5VTEw7CisJCQlmdHJhY2VfZGlzYWJsZWQgPSAxOworCQkJZnRyYWNlX2VuYWJsZWQgPSAwOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKworCQlmdHJhY2VfZnJlZV9yZWNvcmRzID0gKHZvaWQgKilyZWMtPmlwOworCQltZW1zZXQocmVjLCAwLCBzaXplb2YoKnJlYykpOworCQlyZXR1cm4gcmVjOworCX0KKworCWlmIChmdHJhY2VfcGFnZXMtPmluZGV4ID09IEVOVFJJRVNfUEVSX1BBR0UpIHsKKwkJaWYgKCFmdHJhY2VfcGFnZXMtPm5leHQpCisJCQlyZXR1cm4gTlVMTDsKKwkJZnRyYWNlX3BhZ2VzID0gZnRyYWNlX3BhZ2VzLT5uZXh0OworCX0KKworCXJldHVybiAmZnRyYWNlX3BhZ2VzLT5yZWNvcmRzW2Z0cmFjZV9wYWdlcy0+aW5kZXgrK107Cit9CisKK3N0YXRpYyB2b2lkCitmdHJhY2VfcmVjb3JkX2lwKHVuc2lnbmVkIGxvbmcgaXApCit7CisJc3RydWN0IGR5bl9mdHJhY2UgKm5vZGU7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIGtleTsKKwlpbnQgcmVzY2hlZDsKKwlpbnQgYXRvbWljOworCWludCBjcHU7CisKKwlpZiAoIWZ0cmFjZV9lbmFibGVkIHx8IGZ0cmFjZV9kaXNhYmxlZCkKKwkJcmV0dXJuOworCisJcmVzY2hlZCA9IG5lZWRfcmVzY2hlZCgpOworCXByZWVtcHRfZGlzYWJsZV9ub3RyYWNlKCk7CisKKwkvKgorCSAqIFdlIHNpbXBseSBuZWVkIHRvIHByb3RlY3QgYWdhaW5zdCByZWN1cnNpb24uCisJICogVXNlIHRoZSB0aGUgcmF3IHZlcnNpb24gb2Ygc21wX3Byb2Nlc3Nvcl9pZCBhbmQgbm90CisJICogX19nZXRfY3B1X3ZhciB3aGljaCBjYW4gY2FsbCBkZWJ1ZyBob29rcyB0aGF0IGNhbgorCSAqIGNhdXNlIGEgcmVjdXJzaXZlIGNyYXNoIGhlcmUuCisJICovCisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlwZXJfY3B1KGZ0cmFjZV9zaHV0ZG93bl9kaXNhYmxlX2NwdSwgY3B1KSsrOworCWlmIChwZXJfY3B1KGZ0cmFjZV9zaHV0ZG93bl9kaXNhYmxlX2NwdSwgY3B1KSAhPSAxKQorCQlnb3RvIG91dDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfcmVjb3JkX3N1c3BlbmQpKQorCQlnb3RvIG91dDsKKworCWtleSA9IGhhc2hfbG9uZyhpcCwgRlRSQUNFX0hBU0hCSVRTKTsKKworCVdBUk5fT05fT05DRShrZXkgPj0gRlRSQUNFX0hBU0hTSVpFKTsKKworCWlmIChmdHJhY2VfaXBfaW5faGFzaChpcCwga2V5KSkKKwkJZ290byBvdXQ7CisKKwlhdG9taWMgPSBpcnFzX2Rpc2FibGVkKCk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZnRyYWNlX3NodXRkb3duX2xvY2ssIGZsYWdzKTsKKworCS8qIFRoaXMgaXAgbWF5IGhhdmUgaGl0IHRoZSBoYXNoIGJlZm9yZSB0aGUgbG9jayAqLworCWlmIChmdHJhY2VfaXBfaW5faGFzaChpcCwga2V5KSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJbm9kZSA9IGZ0cmFjZV9hbGxvY19keW5fbm9kZShpcCk7CisJaWYgKCFub2RlKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwlub2RlLT5pcCA9IGlwOworCisJZnRyYWNlX2FkZF9oYXNoKG5vZGUsIGtleSk7CisKKwlmdHJhY2VkX3RyaWdnZXIgPSAxOworCisgb3V0X3VubG9jazoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmdHJhY2Vfc2h1dGRvd25fbG9jaywgZmxhZ3MpOworIG91dDoKKwlwZXJfY3B1KGZ0cmFjZV9zaHV0ZG93bl9kaXNhYmxlX2NwdSwgY3B1KS0tOworCisJLyogcHJldmVudCByZWN1cnNpb24gd2l0aCBzY2hlZHVsZXIgKi8KKwlpZiAocmVzY2hlZCkKKwkJcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZF9ub3RyYWNlKCk7CisJZWxzZQorCQlwcmVlbXB0X2VuYWJsZV9ub3RyYWNlKCk7Cit9CisKKyNkZWZpbmUgRlRSQUNFX0FERFIgKChsb25nKShmdHJhY2VfY2FsbGVyKSkKKworc3RhdGljIGludAorX19mdHJhY2VfcmVwbGFjZV9jb2RlKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMsCisJCSAgICAgIHVuc2lnbmVkIGNoYXIgKm9sZCwgdW5zaWduZWQgY2hhciAqbmV3LCBpbnQgZW5hYmxlKQoreworCXVuc2lnbmVkIGxvbmcgaXAsIGZsOworCisJaXAgPSByZWMtPmlwOworCisJaWYgKGZ0cmFjZV9maWx0ZXJlZCAmJiBlbmFibGUpIHsKKwkJLyoKKwkJICogSWYgZmlsdGVyaW5nIGlzIG9uOgorCQkgKgorCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBzZXQgdG8gYmUgZmlsdGVyZWQgYW5kCisJCSAqIGlzIGVuYWJsZWQgdGhlbiBkbyBub3RoaW5nLgorCQkgKgorCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBzZXQgdG8gYmUgZmlsdGVyZWQgYW5kCisJCSAqIGl0IGlzIG5vdCBlbmFibGVkLCBlbmFibGUgaXQuCisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIG5vdCBzZXQgdG8gYmUgZmlsdGVyZWQKKwkJICogYW5kIGl0IGlzIG5vdCBlbmFibGVkIGRvIG5vdGhpbmcuCisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIHNldCBub3QgdG8gdHJhY2UgdGhlbgorCQkgKiBkbyBub3RoaW5nLgorCQkgKgorCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBzZXQgbm90IHRvIHRyYWNlIGFuZAorCQkgKiBpdCBpcyBlbmFibGVkIHRoZW4gZGlzYWJsZSBpdC4KKwkJICoKKwkJICogSWYgdGhpcyByZWNvcmQgaXMgbm90IHNldCB0byBiZSBmaWx0ZXJlZCBhbmQKKwkJICogaXQgaXMgZW5hYmxlZCwgZGlzYWJsZSBpdC4KKwkJICovCisKKwkJZmwgPSByZWMtPmZsYWdzICYgKEZUUkFDRV9GTF9GSUxURVIgfCBGVFJBQ0VfRkxfTk9UUkFDRSB8CisJCQkJICAgRlRSQUNFX0ZMX0VOQUJMRUQpOworCisJCWlmICgoZmwgPT0gIChGVFJBQ0VfRkxfRklMVEVSIHwgRlRSQUNFX0ZMX0VOQUJMRUQpKSB8fAorCQkgICAgKGZsID09ICAoRlRSQUNFX0ZMX0ZJTFRFUiB8IEZUUkFDRV9GTF9OT1RSQUNFKSkgfHwKKwkJICAgICFmbCB8fCAoZmwgPT0gRlRSQUNFX0ZMX05PVFJBQ0UpKQorCQkJcmV0dXJuIDA7CisKKwkJLyoKKwkJICogSWYgaXQgaXMgZW5hYmxlZCBkaXNhYmxlIGl0LAorCQkgKiBvdGhlcndpc2UgZW5hYmxlIGl0IQorCQkgKi8KKwkJaWYgKGZsICYgRlRSQUNFX0ZMX0VOQUJMRUQpIHsKKwkJCS8qIHN3YXAgbmV3IGFuZCBvbGQgKi8KKwkJCW5ldyA9IG9sZDsKKwkJCW9sZCA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsIEZUUkFDRV9BRERSKTsKKwkJCXJlYy0+ZmxhZ3MgJj0gfkZUUkFDRV9GTF9FTkFCTEVEOworCQl9IGVsc2UgeworCQkJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgRlRSQUNFX0FERFIpOworCQkJcmVjLT5mbGFncyB8PSBGVFJBQ0VfRkxfRU5BQkxFRDsKKwkJfQorCX0gZWxzZSB7CisKKwkJaWYgKGVuYWJsZSkgeworCQkJLyoKKwkJCSAqIElmIHRoaXMgcmVjb3JkIGlzIHNldCBub3QgdG8gdHJhY2UgYW5kIGlzCisJCQkgKiBub3QgZW5hYmxlZCwgZG8gbm90aGluZy4KKwkJCSAqLworCQkJZmwgPSByZWMtPmZsYWdzICYgKEZUUkFDRV9GTF9OT1RSQUNFIHwgRlRSQUNFX0ZMX0VOQUJMRUQpOworCQkJaWYgKGZsID09IEZUUkFDRV9GTF9OT1RSQUNFKQorCQkJCXJldHVybiAwOworCisJCQluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCBGVFJBQ0VfQUREUik7CisJCX0gZWxzZQorCQkJb2xkID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgRlRSQUNFX0FERFIpOworCisJCWlmIChlbmFibGUpIHsKKwkJCWlmIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0VOQUJMRUQpCisJCQkJcmV0dXJuIDA7CisJCQlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9FTkFCTEVEOworCQl9IGVsc2UgeworCQkJaWYgKCEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9FTkFCTEVEKSkKKwkJCQlyZXR1cm4gMDsKKwkJCXJlYy0+ZmxhZ3MgJj0gfkZUUkFDRV9GTF9FTkFCTEVEOworCQl9CisJfQorCisJcmV0dXJuIGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgb2xkLCBuZXcpOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2VfcmVwbGFjZV9jb2RlKGludCBlbmFibGUpCit7CisJaW50IGksIGZhaWxlZDsKKwl1bnNpZ25lZCBjaGFyICpuZXcgPSBOVUxMLCAqb2xkID0gTlVMTDsKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjOworCXN0cnVjdCBmdHJhY2VfcGFnZSAqcGc7CisKKwlpZiAoZW5hYmxlKQorCQlvbGQgPSBmdHJhY2Vfbm9wX3JlcGxhY2UoKTsKKwllbHNlCisJCW5ldyA9IGZ0cmFjZV9ub3BfcmVwbGFjZSgpOworCisJZm9yIChwZyA9IGZ0cmFjZV9wYWdlc19zdGFydDsgcGc7IHBnID0gcGctPm5leHQpIHsKKwkJZm9yIChpID0gMDsgaSA8IHBnLT5pbmRleDsgaSsrKSB7CisJCQlyZWMgPSAmcGctPnJlY29yZHNbaV07CisKKwkJCS8qIGRvbid0IG1vZGlmeSBjb2RlIHRoYXQgaGFzIGFscmVhZHkgZmF1bHRlZCAqLworCQkJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBpZ25vcmUgdXBkYXRlcyB0byB0aGlzIHJlY29yZCdzIG1jb3VudCBzaXRlICovCisJCQlpZiAoZ2V0X2twcm9iZSgodm9pZCAqKXJlYy0+aXApKSB7CisJCQkJZnJlZXplX3JlY29yZChyZWMpOworCQkJCWNvbnRpbnVlOworCQkJfSBlbHNlIHsKKwkJCQl1bmZyZWV6ZV9yZWNvcmQocmVjKTsKKwkJCX0KKworCQkJZmFpbGVkID0gX19mdHJhY2VfcmVwbGFjZV9jb2RlKHJlYywgb2xkLCBuZXcsIGVuYWJsZSk7CisJCQlpZiAoZmFpbGVkICYmIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0NPTlZFUlRFRCkpIHsKKwkJCQlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9GQUlMRUQ7CisJCQkJaWYgKChzeXN0ZW1fc3RhdGUgPT0gU1lTVEVNX0JPT1RJTkcpIHx8CisJCQkJICAgICFjb3JlX2tlcm5lbF90ZXh0KHJlYy0+aXApKSB7CisJCQkJCWZ0cmFjZV9kZWxfaGFzaChyZWMpOworCQkJCQlmdHJhY2VfZnJlZV9yZWMocmVjKTsKKwkJCQl9CisJCQl9CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9zaHV0ZG93bl9yZXBsZW5pc2godm9pZCkKK3sKKwlpZiAoZnRyYWNlX3BhZ2VzLT5uZXh0KQorCQlyZXR1cm47CisKKwkvKiBhbGxvY2F0ZSBhbm90aGVyIHBhZ2UgKi8KKwlmdHJhY2VfcGFnZXMtPm5leHQgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKK30KKworc3RhdGljIGludAorZnRyYWNlX2NvZGVfZGlzYWJsZShzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjKQoreworCXVuc2lnbmVkIGxvbmcgaXA7CisJdW5zaWduZWQgY2hhciAqbm9wLCAqY2FsbDsKKwlpbnQgZmFpbGVkOworCisJaXAgPSByZWMtPmlwOworCisJbm9wID0gZnRyYWNlX25vcF9yZXBsYWNlKCk7CisJY2FsbCA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsIE1DT1VOVF9BRERSKTsKKworCWZhaWxlZCA9IGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgY2FsbCwgbm9wKTsKKwlpZiAoZmFpbGVkKSB7CisJCXJlYy0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0ZBSUxFRDsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IF9fZnRyYWNlX3VwZGF0ZV9jb2RlKHZvaWQgKmlnbm9yZSk7CisKK3N0YXRpYyBpbnQgX19mdHJhY2VfbW9kaWZ5X2NvZGUodm9pZCAqZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJaW50ICpjb21tYW5kID0gZGF0YTsKKworCWlmICgqY29tbWFuZCAmIEZUUkFDRV9FTkFCTEVfQ0FMTFMpIHsKKwkJLyoKKwkJICogVXBkYXRlIGFueSByZWNvcmRlZCBpcHMgbm93IHRoYXQgd2UgaGF2ZSB0aGUKKwkJICogbWFjaGluZSBzdG9wcGVkCisJCSAqLworCQlfX2Z0cmFjZV91cGRhdGVfY29kZShOVUxMKTsKKwkJZnRyYWNlX3JlcGxhY2VfY29kZSgxKTsKKwkJdHJhY2luZ19vbiA9IDE7CisJfSBlbHNlIGlmICgqY29tbWFuZCAmIEZUUkFDRV9ESVNBQkxFX0NBTExTKSB7CisJCWZ0cmFjZV9yZXBsYWNlX2NvZGUoMCk7CisJCXRyYWNpbmdfb24gPSAwOworCX0KKworCWlmICgqY29tbWFuZCAmIEZUUkFDRV9VUERBVEVfVFJBQ0VfRlVOQykKKwkJZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfdHJhY2VfZnVuY3Rpb24pOworCisJaWYgKCpjb21tYW5kICYgRlRSQUNFX0VOQUJMRV9NQ09VTlQpIHsKKwkJYWRkciA9ICh1bnNpZ25lZCBsb25nKWZ0cmFjZV9yZWNvcmRfaXA7CisJCWZ0cmFjZV9tY291bnRfc2V0KCZhZGRyKTsKKwl9IGVsc2UgaWYgKCpjb21tYW5kICYgRlRSQUNFX0RJU0FCTEVfTUNPVU5UKSB7CisJCWFkZHIgPSAodW5zaWduZWQgbG9uZylmdHJhY2Vfc3R1YjsKKwkJZnRyYWNlX21jb3VudF9zZXQoJmFkZHIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2VfcnVuX3VwZGF0ZV9jb2RlKGludCBjb21tYW5kKQoreworCXN0b3BfbWFjaGluZV9ydW4oX19mdHJhY2VfbW9kaWZ5X2NvZGUsICZjb21tYW5kLCBOUl9DUFVTKTsKK30KKwordm9pZCBmdHJhY2VfZGlzYWJsZV9kYWVtb24odm9pZCkKK3sKKwkvKiBTdG9wIHRoZSBkYWVtb24gZnJvbSBjYWxsaW5nIGtzdG9wX21hY2hpbmUgKi8KKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCWZ0cmFjZWRfc3RvcCA9IDE7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworCisJZnRyYWNlX2ZvcmNlX3VwZGF0ZSgpOworfQorCit2b2lkIGZ0cmFjZV9lbmFibGVfZGFlbW9uKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwlmdHJhY2VkX3N0b3AgPSAwOworCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKKworCWZ0cmFjZV9mb3JjZV91cGRhdGUoKTsKK30KKworc3RhdGljIGZ0cmFjZV9mdW5jX3Qgc2F2ZWRfZnRyYWNlX2Z1bmM7CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9zdGFydHVwKHZvaWQpCit7CisJaW50IGNvbW1hbmQgPSAwOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJZnRyYWNlZF9zdXNwZW5kKys7CisJaWYgKGZ0cmFjZWRfc3VzcGVuZCA9PSAxKQorCQljb21tYW5kIHw9IEZUUkFDRV9FTkFCTEVfQ0FMTFM7CisKKwlpZiAoc2F2ZWRfZnRyYWNlX2Z1bmMgIT0gZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKSB7CisJCXNhdmVkX2Z0cmFjZV9mdW5jID0gZnRyYWNlX3RyYWNlX2Z1bmN0aW9uOworCQljb21tYW5kIHw9IEZUUkFDRV9VUERBVEVfVFJBQ0VfRlVOQzsKKwl9CisKKwlpZiAoIWNvbW1hbmQgfHwgIWZ0cmFjZV9lbmFibGVkKQorCQlnb3RvIG91dDsKKworCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoY29tbWFuZCk7Cisgb3V0OgorCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX3NodXRkb3duKHZvaWQpCit7CisJaW50IGNvbW1hbmQgPSAwOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJZnRyYWNlZF9zdXNwZW5kLS07CisJaWYgKCFmdHJhY2VkX3N1c3BlbmQpCisJCWNvbW1hbmQgfD0gRlRSQUNFX0RJU0FCTEVfQ0FMTFM7CisKKwlpZiAoc2F2ZWRfZnRyYWNlX2Z1bmMgIT0gZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKSB7CisJCXNhdmVkX2Z0cmFjZV9mdW5jID0gZnRyYWNlX3RyYWNlX2Z1bmN0aW9uOworCQljb21tYW5kIHw9IEZUUkFDRV9VUERBVEVfVFJBQ0VfRlVOQzsKKwl9CisKKwlpZiAoIWNvbW1hbmQgfHwgIWZ0cmFjZV9lbmFibGVkKQorCQlnb3RvIG91dDsKKworCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoY29tbWFuZCk7Cisgb3V0OgorCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX3N0YXJ0dXBfc3lzY3RsKHZvaWQpCit7CisJaW50IGNvbW1hbmQgPSBGVFJBQ0VfRU5BQkxFX01DT1VOVDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCS8qIEZvcmNlIHVwZGF0ZSBuZXh0IHRpbWUgKi8KKwlzYXZlZF9mdHJhY2VfZnVuYyA9IE5VTEw7CisJLyogZnRyYWNlZF9zdXNwZW5kIGlzIHRydWUgaWYgd2Ugd2FudCBmdHJhY2UgcnVubmluZyAqLworCWlmIChmdHJhY2VkX3N1c3BlbmQpCisJCWNvbW1hbmQgfD0gRlRSQUNFX0VOQUJMRV9DQUxMUzsKKworCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoY29tbWFuZCk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2Vfc2h1dGRvd25fc3lzY3RsKHZvaWQpCit7CisJaW50IGNvbW1hbmQgPSBGVFJBQ0VfRElTQUJMRV9NQ09VTlQ7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwkvKiBmdHJhY2VkX3N1c3BlbmQgaXMgdHJ1ZSBpZiBmdHJhY2UgaXMgcnVubmluZyAqLworCWlmIChmdHJhY2VkX3N1c3BlbmQpCisJCWNvbW1hbmQgfD0gRlRSQUNFX0RJU0FCTEVfQ0FMTFM7CisKKwlmdHJhY2VfcnVuX3VwZGF0ZV9jb2RlKGNvbW1hbmQpOworCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKK30KKworc3RhdGljIGN5Y2xlX3QJCWZ0cmFjZV91cGRhdGVfdGltZTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nCWZ0cmFjZV91cGRhdGVfY250OwordW5zaWduZWQgbG9uZwkJZnRyYWNlX3VwZGF0ZV90b3RfY250OworCitzdGF0aWMgaW50IF9fZnRyYWNlX3VwZGF0ZV9jb2RlKHZvaWQgKmlnbm9yZSkKK3sKKwlpbnQgaSwgc2F2ZV9mdHJhY2VfZW5hYmxlZDsKKwljeWNsZV90IHN0YXJ0LCBzdG9wOworCXN0cnVjdCBkeW5fZnRyYWNlICpwOworCXN0cnVjdCBobGlzdF9ub2RlICp0LCAqbjsKKwlzdHJ1Y3QgaGxpc3RfaGVhZCAqaGVhZCwgdGVtcF9saXN0OworCisJLyogRG9uJ3QgYmUgcmVjb3JkaW5nIGZ1bmNzIG5vdyAqLworCWZ0cmFjZV9yZWNvcmRfc3VzcGVuZCsrOworCXNhdmVfZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2VfZW5hYmxlZDsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisKKwlzdGFydCA9IGZ0cmFjZV9ub3cocmF3X3NtcF9wcm9jZXNzb3JfaWQoKSk7CisJZnRyYWNlX3VwZGF0ZV9jbnQgPSAwOworCisJLyogTm8gbG9ja3MgbmVlZGVkLCB0aGUgbWFjaGluZSBpcyBzdG9wcGVkISAqLworCWZvciAoaSA9IDA7IGkgPCBGVFJBQ0VfSEFTSFNJWkU7IGkrKykgeworCQlJTklUX0hMSVNUX0hFQUQoJnRlbXBfbGlzdCk7CisJCWhlYWQgPSAmZnRyYWNlX2hhc2hbaV07CisKKwkJLyogYWxsIENQVVMgYXJlIHN0b3BwZWQsIHdlIGFyZSBzYWZlIHRvIG1vZGlmeSBjb2RlICovCisJCWhsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocCwgdCwgbiwgaGVhZCwgbm9kZSkgeworCQkJLyogU2tpcCBvdmVyIGZhaWxlZCByZWNvcmRzIHdoaWNoIGhhdmUgbm90IGJlZW4KKwkJCSAqIGZyZWVkLiAqLworCQkJaWYgKHAtPmZsYWdzICYgRlRSQUNFX0ZMX0ZBSUxFRCkKKwkJCQljb250aW51ZTsKKworCQkJLyogVW5jb252ZXJ0ZWQgcmVjb3JkcyBhcmUgYWx3YXlzIGF0IHRoZSBoZWFkIG9mIHRoZQorCQkJICogaGFzaCBidWNrZXQuIE9uY2Ugd2UgZW5jb3VudGVyIGEgY29udmVydGVkIHJlY29yZCwKKwkJCSAqIHNpbXBseSBza2lwIG92ZXIgdG8gdGhlIG5leHQgYnVja2V0LiBTYXZlcyBmdHJhY2VkCisJCQkgKiBzb21lIHByb2Nlc3NvciBjeWNsZXMgKGZ0cmFjZSBkb2VzIGl0cyBiaWQgZm9yCisJCQkgKiBnbG9iYWwgd2FybWluZyA6LXAgKS4gKi8KKwkJCWlmIChwLT5mbGFncyAmIChGVFJBQ0VfRkxfQ09OVkVSVEVEKSkKKwkJCQlicmVhazsKKworCQkJLyogSWdub3JlIHVwZGF0ZXMgdG8gdGhpcyByZWNvcmQncyBtY291bnQgc2l0ZS4KKwkJCSAqIFJlaW50cm9kdWNlIHRoaXMgcmVjb3JkIGF0IHRoZSBoZWFkIG9mIHRoaXMKKwkJCSAqIGJ1Y2tldCB0byBhdHRlbXB0IHRvICJjb252ZXJ0IiBpdCBhZ2FpbiBpZgorCQkJICogdGhlIGtwcm9iZSBvbiBpdCBpcyB1bnJlZ2lzdGVyZWQgYmVmb3JlIHRoZQorCQkJICogbmV4dCBydW4uICovCisJCQlpZiAoZ2V0X2twcm9iZSgodm9pZCAqKXAtPmlwKSkgeworCQkJCWZ0cmFjZV9kZWxfaGFzaChwKTsKKwkJCQlJTklUX0hMSVNUX05PREUoJnAtPm5vZGUpOworCQkJCWhsaXN0X2FkZF9oZWFkKCZwLT5ub2RlLCAmdGVtcF9saXN0KTsKKwkJCQlmcmVlemVfcmVjb3JkKHApOworCQkJCWNvbnRpbnVlOworCQkJfSBlbHNlIHsKKwkJCQl1bmZyZWV6ZV9yZWNvcmQocCk7CisJCQl9CisKKwkJCS8qIGNvbnZlcnQgcmVjb3JkIChpLmUsIHBhdGNoIG1jb3VudC1jYWxsIHdpdGggTk9QKSAqLworCQkJaWYgKGZ0cmFjZV9jb2RlX2Rpc2FibGUocCkpIHsKKwkJCQlwLT5mbGFncyB8PSBGVFJBQ0VfRkxfQ09OVkVSVEVEOworCQkJCWZ0cmFjZV91cGRhdGVfY250Kys7CisJCQl9IGVsc2UgeworCQkJCWlmICgoc3lzdGVtX3N0YXRlID09IFNZU1RFTV9CT09USU5HKSB8fAorCQkJCSAgICAhY29yZV9rZXJuZWxfdGV4dChwLT5pcCkpIHsKKwkJCQkJZnRyYWNlX2RlbF9oYXNoKHApOworCQkJCQlmdHJhY2VfZnJlZV9yZWMocCk7CisJCQkJfQorCQkJfQorCQl9CisKKwkJaGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwLCB0LCBuLCAmdGVtcF9saXN0LCBub2RlKSB7CisJCQlobGlzdF9kZWwoJnAtPm5vZGUpOworCQkJSU5JVF9ITElTVF9OT0RFKCZwLT5ub2RlKTsKKwkJCWhsaXN0X2FkZF9oZWFkKCZwLT5ub2RlLCBoZWFkKTsKKwkJfQorCX0KKworCXN0b3AgPSBmdHJhY2Vfbm93KHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpOworCWZ0cmFjZV91cGRhdGVfdGltZSA9IHN0b3AgLSBzdGFydDsKKwlmdHJhY2VfdXBkYXRlX3RvdF9jbnQgKz0gZnRyYWNlX3VwZGF0ZV9jbnQ7CisJZnRyYWNlZF90cmlnZ2VyID0gMDsKKworCWZ0cmFjZV9lbmFibGVkID0gc2F2ZV9mdHJhY2VfZW5hYmxlZDsKKwlmdHJhY2VfcmVjb3JkX3N1c3BlbmQtLTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGZ0cmFjZV91cGRhdGVfY29kZSh2b2lkKQoreworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpIHx8CisJICAgICFmdHJhY2VfZW5hYmxlZCB8fCAhZnRyYWNlZF90cmlnZ2VyKQorCQlyZXR1cm4gMDsKKworCXN0b3BfbWFjaGluZV9ydW4oX19mdHJhY2VfdXBkYXRlX2NvZGUsIE5VTEwsIE5SX0NQVVMpOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgZnRyYWNlZCh2b2lkICppZ25vcmUpCit7CisJdW5zaWduZWQgbG9uZyB1c2VjczsKKworCXdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKSB7CisKKwkJc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19JTlRFUlJVUFRJQkxFKTsKKworCQkvKiBjaGVjayBvbmNlIGEgc2Vjb25kICovCisJCXNjaGVkdWxlX3RpbWVvdXQoSFopOworCisJCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQkJY29udGludWU7CisKKwkJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwkJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwkJaWYgKCFmdHJhY2VkX3N1c3BlbmQgJiYgIWZ0cmFjZWRfc3RvcCAmJgorCQkgICAgZnRyYWNlX3VwZGF0ZV9jb2RlKCkpIHsKKwkJCXVzZWNzID0gbnNlY3NfdG9fdXNlY3MoZnRyYWNlX3VwZGF0ZV90aW1lKTsKKwkJCWlmIChmdHJhY2VfdXBkYXRlX3RvdF9jbnQgPiAxMDAwMDApIHsKKwkJCQlmdHJhY2VfdXBkYXRlX3RvdF9jbnQgPSAwOworCQkJCXByX2luZm8oImhtLCBkZnRyYWNlIG92ZXJmbG93OiAlbHUgY2hhbmdlJXMiCisJCQkJCSIgKCVsdSB0b3RhbCkgaW4gJWx1IHVzZWMlc1xuIiwKKwkJCQkJZnRyYWNlX3VwZGF0ZV9jbnQsCisJCQkJCWZ0cmFjZV91cGRhdGVfY250ICE9IDEgPyAicyIgOiAiIiwKKwkJCQkJZnRyYWNlX3VwZGF0ZV90b3RfY250LAorCQkJCQl1c2VjcywgdXNlY3MgIT0gMSA/ICJzIiA6ICIiKTsKKwkJCQlmdHJhY2VfZGlzYWJsZWQgPSAxOworCQkJCVdBUk5fT05fT05DRSgxKTsKKwkJCX0KKwkJfQorCQltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisJCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCQlmdHJhY2Vfc2h1dGRvd25fcmVwbGVuaXNoKCk7CisJfQorCV9fc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19SVU5OSU5HKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgZnRyYWNlX2R5bl90YWJsZV9hbGxvYyh2b2lkKQoreworCXN0cnVjdCBmdHJhY2VfcGFnZSAqcGc7CisJaW50IGNudDsKKwlpbnQgaTsKKworCS8qIGFsbG9jYXRlIGEgZmV3IHBhZ2VzICovCisJZnRyYWNlX3BhZ2VzX3N0YXJ0ID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJaWYgKCFmdHJhY2VfcGFnZXNfc3RhcnQpCisJCXJldHVybiAtMTsKKworCS8qCisJICogQWxsb2NhdGUgYSBmZXcgbW9yZSBwYWdlcy4KKwkgKgorCSAqIFRPRE86IGhhdmUgc29tZSBwYXJzZXIgc2VhcmNoIHZtbGludXggYmVmb3JlCisJICogICBmaW5hbCBsaW5raW5nIHRvIGZpbmQgYWxsIGNhbGxzIHRvIGZ0cmFjZS4KKwkgKiAgIFRoZW4gd2UgY2FuOgorCSAqICAgIGEpIGtub3cgaG93IG1hbnkgcGFnZXMgdG8gYWxsb2NhdGUuCisJICogICAgIGFuZC9vcgorCSAqICAgIGIpIHNldCB1cCB0aGUgdGFibGUgdGhlbi4KKwkgKgorCSAqICBUaGUgZHluYW1pYyBjb2RlIGlzIHN0aWxsIG5lY2Vzc2FyeSBmb3IKKwkgKiAgbW9kdWxlcy4KKwkgKi8KKworCXBnID0gZnRyYWNlX3BhZ2VzID0gZnRyYWNlX3BhZ2VzX3N0YXJ0OworCisJY250ID0gTlJfVE9fSU5JVCAvIEVOVFJJRVNfUEVSX1BBR0U7CisKKwlmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKKwkJcGctPm5leHQgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKworCQkvKiBJZiB3ZSBmYWlsLCB3ZSdsbCB0cnkgbGF0ZXIgYW55d2F5ICovCisJCWlmICghcGctPm5leHQpCisJCQlicmVhazsKKworCQlwZyA9IHBnLT5uZXh0OworCX0KKworCXJldHVybiAwOworfQorCitlbnVtIHsKKwlGVFJBQ0VfSVRFUl9GSUxURVIJPSAoMSA8PCAwKSwKKwlGVFJBQ0VfSVRFUl9DT05UCT0gKDEgPDwgMSksCisJRlRSQUNFX0lURVJfTk9UUkFDRQk9ICgxIDw8IDIpLAorCUZUUkFDRV9JVEVSX0ZBSUxVUkVTCT0gKDEgPDwgMyksCit9OworCisjZGVmaW5lIEZUUkFDRV9CVUZGX01BWCAoS1NZTV9TWU1CT0xfTEVOKzQpIC8qIHJvb20gZm9yIHdpbGRjYXJkcyAqLworCitzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yIHsKKwlsb2ZmX3QJCQlwb3M7CisJc3RydWN0IGZ0cmFjZV9wYWdlCSpwZzsKKwl1bnNpZ25lZAkJaWR4OworCXVuc2lnbmVkCQlmbGFnczsKKwl1bnNpZ25lZCBjaGFyCQlidWZmZXJbRlRSQUNFX0JVRkZfTUFYKzFdOworCXVuc2lnbmVkCQlidWZmZXJfaWR4OworCXVuc2lnbmVkCQlmaWx0ZXJlZDsKK307CisKK3N0YXRpYyB2b2lkICoKK3RfbmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYsIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWMgPSBOVUxMOworCisJKCpwb3MpKys7CisKKyByZXRyeToKKwlpZiAoaXRlci0+aWR4ID49IGl0ZXItPnBnLT5pbmRleCkgeworCQlpZiAoaXRlci0+cGctPm5leHQpIHsKKwkJCWl0ZXItPnBnID0gaXRlci0+cGctPm5leHQ7CisJCQlpdGVyLT5pZHggPSAwOworCQkJZ290byByZXRyeTsKKwkJfQorCX0gZWxzZSB7CisJCXJlYyA9ICZpdGVyLT5wZy0+cmVjb3Jkc1tpdGVyLT5pZHgrK107CisJCWlmICgoIShpdGVyLT5mbGFncyAmIEZUUkFDRV9JVEVSX0ZBSUxVUkVTKSAmJgorCQkgICAgIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZBSUxFRCkpIHx8CisKKwkJICAgICgoaXRlci0+ZmxhZ3MgJiBGVFJBQ0VfSVRFUl9GQUlMVVJFUykgJiYKKwkJICAgICAoIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZBSUxFRCkgfHwKKwkJICAgICAgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRlJFRSkpKSB8fAorCisJCSAgICAoKGl0ZXItPmZsYWdzICYgRlRSQUNFX0lURVJfRklMVEVSKSAmJgorCQkgICAgICEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GSUxURVIpKSB8fAorCisJCSAgICAoKGl0ZXItPmZsYWdzICYgRlRSQUNFX0lURVJfTk9UUkFDRSkgJiYKKwkJICAgICAhKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfTk9UUkFDRSkpKSB7CisJCQlyZWMgPSBOVUxMOworCQkJZ290byByZXRyeTsKKwkJfQorCX0KKworCWl0ZXItPnBvcyA9ICpwb3M7CisKKwlyZXR1cm4gcmVjOworfQorCitzdGF0aWMgdm9pZCAqdF9zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCXZvaWQgKnAgPSBOVUxMOworCWxvZmZfdCBsID0gLTE7CisKKwlpZiAoKnBvcyAhPSBpdGVyLT5wb3MpIHsKKwkJZm9yIChwID0gdF9uZXh0KG0sIHAsICZsKTsgcCAmJiBsIDwgKnBvczsgcCA9IHRfbmV4dChtLCBwLCAmbCkpCisJCQk7CisJfSBlbHNlIHsKKwkJbCA9ICpwb3M7CisJCXAgPSB0X25leHQobSwgcCwgJmwpOworCX0KKworCXJldHVybiBwOworfQorCitzdGF0aWMgdm9pZCB0X3N0b3Aoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpwKQoreworfQorCitzdGF0aWMgaW50IHRfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCit7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYyA9IHY7CisJY2hhciBzdHJbS1NZTV9TWU1CT0xfTEVOXTsKKworCWlmICghcmVjKQorCQlyZXR1cm4gMDsKKworCWthbGxzeW1zX2xvb2t1cChyZWMtPmlwLCBOVUxMLCBOVUxMLCBOVUxMLCBzdHIpOworCisJc2VxX3ByaW50ZihtLCAiJXNcbiIsIHN0cik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzZXFfb3BlcmF0aW9ucyBzaG93X2Z0cmFjZV9zZXFfb3BzID0geworCS5zdGFydCA9IHRfc3RhcnQsCisJLm5leHQgPSB0X25leHQsCisJLnN0b3AgPSB0X3N0b3AsCisJLnNob3cgPSB0X3Nob3csCit9OworCitzdGF0aWMgaW50CitmdHJhY2VfYXZhaWxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyOworCWludCByZXQ7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlpdGVyID0ga3phbGxvYyhzaXplb2YoKml0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWl0ZXIpCisJCXJldHVybiAtRU5PTUVNOworCisJaXRlci0+cGcgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7CisJaXRlci0+cG9zID0gLTE7CisKKwlyZXQgPSBzZXFfb3BlbihmaWxlLCAmc2hvd19mdHJhY2Vfc2VxX29wcyk7CisJaWYgKCFyZXQpIHsKKwkJc3RydWN0IHNlcV9maWxlICptID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCisJCW0tPnByaXZhdGUgPSBpdGVyOworCX0gZWxzZSB7CisJCWtmcmVlKGl0ZXIpOworCX0KKworCXJldHVybiByZXQ7Cit9CisKK2ludCBmdHJhY2VfYXZhaWxfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSAoc3RydWN0IHNlcV9maWxlICopZmlsZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCisJc2VxX3JlbGVhc2UoaW5vZGUsIGZpbGUpOworCWtmcmVlKGl0ZXIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9mYWlsdXJlc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWludCByZXQ7CisJc3RydWN0IHNlcV9maWxlICptOworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisKKwlyZXQgPSBmdHJhY2VfYXZhaWxfb3Blbihpbm9kZSwgZmlsZSk7CisJaWYgKCFyZXQpIHsKKwkJbSA9IChzdHJ1Y3Qgc2VxX2ZpbGUgKilmaWxlLT5wcml2YXRlX2RhdGE7CisJCWl0ZXIgPSAoc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqKW0tPnByaXZhdGU7CisJCWl0ZXItPmZsYWdzID0gRlRSQUNFX0lURVJfRkFJTFVSRVM7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworCitzdGF0aWMgdm9pZCBmdHJhY2VfZmlsdGVyX3Jlc2V0KGludCBlbmFibGUpCit7CisJc3RydWN0IGZ0cmFjZV9wYWdlICpwZzsKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjOworCXVuc2lnbmVkIGxvbmcgdHlwZSA9IGVuYWJsZSA/IEZUUkFDRV9GTF9GSUxURVIgOiBGVFJBQ0VfRkxfTk9UUkFDRTsKKwl1bnNpZ25lZCBpOworCisJLyoga2VlcCBrc3RvcCBtYWNoaW5lIGZyb20gcnVubmluZyAqLworCXByZWVtcHRfZGlzYWJsZSgpOworCWlmIChlbmFibGUpCisJCWZ0cmFjZV9maWx0ZXJlZCA9IDA7CisJcGcgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7CisJd2hpbGUgKHBnKSB7CisJCWZvciAoaSA9IDA7IGkgPCBwZy0+aW5kZXg7IGkrKykgeworCQkJcmVjID0gJnBnLT5yZWNvcmRzW2ldOworCQkJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKQorCQkJCWNvbnRpbnVlOworCQkJcmVjLT5mbGFncyAmPSB+dHlwZTsKKwkJfQorCQlwZyA9IHBnLT5uZXh0OworCX0KKwlwcmVlbXB0X2VuYWJsZSgpOworfQorCitzdGF0aWMgaW50CitmdHJhY2VfcmVnZXhfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyOworCWludCByZXQgPSAwOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybiAtRU5PREVWOworCisJaXRlciA9IGt6YWxsb2Moc2l6ZW9mKCppdGVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFpdGVyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKwlpZiAoKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKSAmJgorCSAgICAhKGZpbGUtPmZfZmxhZ3MgJiBPX0FQUEVORCkpCisJCWZ0cmFjZV9maWx0ZXJfcmVzZXQoZW5hYmxlKTsKKworCWlmIChmaWxlLT5mX21vZGUgJiBGTU9ERV9SRUFEKSB7CisJCWl0ZXItPnBnID0gZnRyYWNlX3BhZ2VzX3N0YXJ0OworCQlpdGVyLT5wb3MgPSAtMTsKKwkJaXRlci0+ZmxhZ3MgPSBlbmFibGUgPyBGVFJBQ0VfSVRFUl9GSUxURVIgOgorCQkJRlRSQUNFX0lURVJfTk9UUkFDRTsKKworCQlyZXQgPSBzZXFfb3BlbihmaWxlLCAmc2hvd19mdHJhY2Vfc2VxX29wcyk7CisJCWlmICghcmV0KSB7CisJCQlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBmaWxlLT5wcml2YXRlX2RhdGE7CisJCQltLT5wcml2YXRlID0gaXRlcjsKKwkJfSBlbHNlCisJCQlrZnJlZShpdGVyKTsKKwl9IGVsc2UKKwkJZmlsZS0+cHJpdmF0ZV9kYXRhID0gaXRlcjsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9maWx0ZXJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gZnRyYWNlX3JlZ2V4X29wZW4oaW5vZGUsIGZpbGUsIDEpOworfQorCitzdGF0aWMgaW50CitmdHJhY2Vfbm90cmFjZV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfb3Blbihpbm9kZSwgZmlsZSwgMCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdHJhY2VfcmVnZXhfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1JFQUQpCisJCXJldHVybiBzZXFfcmVhZChmaWxlLCB1YnVmLCBjbnQsIHBwb3MpOworCWVsc2UKKwkJcmV0dXJuIC1FUEVSTTsKK30KKworc3RhdGljIGxvZmZfdAorZnRyYWNlX3JlZ2V4X2xzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQoreworCWxvZmZfdCByZXQ7CisKKwlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfUkVBRCkKKwkJcmV0ID0gc2VxX2xzZWVrKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwllbHNlCisJCWZpbGUtPmZfcG9zID0gcmV0ID0gMTsKKworCXJldHVybiByZXQ7Cit9CisKK2VudW0geworCU1BVENIX0ZVTEwsCisJTUFUQ0hfRlJPTlRfT05MWSwKKwlNQVRDSF9NSURETEVfT05MWSwKKwlNQVRDSF9FTkRfT05MWSwKK307CisKK3N0YXRpYyB2b2lkCitmdHJhY2VfbWF0Y2godW5zaWduZWQgY2hhciAqYnVmZiwgaW50IGxlbiwgaW50IGVuYWJsZSkKK3sKKwljaGFyIHN0cltLU1lNX1NZTUJPTF9MRU5dOworCWNoYXIgKnNlYXJjaCA9IE5VTEw7CisJc3RydWN0IGZ0cmFjZV9wYWdlICpwZzsKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjOworCWludCB0eXBlID0gTUFUQ0hfRlVMTDsKKwl1bnNpZ25lZCBsb25nIGZsYWcgPSBlbmFibGUgPyBGVFJBQ0VfRkxfRklMVEVSIDogRlRSQUNFX0ZMX05PVFJBQ0U7CisJdW5zaWduZWQgaSwgbWF0Y2ggPSAwLCBzZWFyY2hfbGVuID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworCQlpZiAoYnVmZltpXSA9PSAnKicpIHsKKwkJCWlmICghaSkgeworCQkJCXNlYXJjaCA9IGJ1ZmYgKyBpICsgMTsKKwkJCQl0eXBlID0gTUFUQ0hfRU5EX09OTFk7CisJCQkJc2VhcmNoX2xlbiA9IGxlbiAtIChpICsgMSk7CisJCQl9IGVsc2UgeworCQkJCWlmICh0eXBlID09IE1BVENIX0VORF9PTkxZKSB7CisJCQkJCXR5cGUgPSBNQVRDSF9NSURETEVfT05MWTsKKwkJCQl9IGVsc2UgeworCQkJCQltYXRjaCA9IGk7CisJCQkJCXR5cGUgPSBNQVRDSF9GUk9OVF9PTkxZOworCQkJCX0KKwkJCQlidWZmW2ldID0gMDsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKworCS8qIGtlZXAga3N0b3AgbWFjaGluZSBmcm9tIHJ1bm5pbmcgKi8KKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwlpZiAoZW5hYmxlKQorCQlmdHJhY2VfZmlsdGVyZWQgPSAxOworCXBnID0gZnRyYWNlX3BhZ2VzX3N0YXJ0OworCXdoaWxlIChwZykgeworCQlmb3IgKGkgPSAwOyBpIDwgcGctPmluZGV4OyBpKyspIHsKKwkJCWludCBtYXRjaGVkID0gMDsKKwkJCWNoYXIgKnB0cjsKKworCQkJcmVjID0gJnBnLT5yZWNvcmRzW2ldOworCQkJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKQorCQkJCWNvbnRpbnVlOworCQkJa2FsbHN5bXNfbG9va3VwKHJlYy0+aXAsIE5VTEwsIE5VTEwsIE5VTEwsIHN0cik7CisJCQlzd2l0Y2ggKHR5cGUpIHsKKwkJCWNhc2UgTUFUQ0hfRlVMTDoKKwkJCQlpZiAoc3RyY21wKHN0ciwgYnVmZikgPT0gMCkKKwkJCQkJbWF0Y2hlZCA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlIE1BVENIX0ZST05UX09OTFk6CisJCQkJaWYgKG1lbWNtcChzdHIsIGJ1ZmYsIG1hdGNoKSA9PSAwKQorCQkJCQltYXRjaGVkID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgTUFUQ0hfTUlERExFX09OTFk6CisJCQkJaWYgKHN0cnN0cihzdHIsIHNlYXJjaCkpCisJCQkJCW1hdGNoZWQgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSBNQVRDSF9FTkRfT05MWToKKwkJCQlwdHIgPSBzdHJzdHIoc3RyLCBzZWFyY2gpOworCQkJCWlmIChwdHIgJiYgKHB0cltzZWFyY2hfbGVuXSA9PSAwKSkKKwkJCQkJbWF0Y2hlZCA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAobWF0Y2hlZCkKKwkJCQlyZWMtPmZsYWdzIHw9IGZsYWc7CisJCX0KKwkJcGcgPSBwZy0+bmV4dDsKKwl9CisJcHJlZW1wdF9lbmFibGUoKTsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZV9yZWdleF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcywgaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyOworCWNoYXIgY2g7CisJc2l6ZV90IHJlYWQgPSAwOworCXNzaXplX3QgcmV0OworCisJaWYgKCFjbnQgfHwgY250IDwgMCkKKwkJcmV0dXJuIDA7CisKKwltdXRleF9sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7CisKKwlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfUkVBRCkgeworCQlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBmaWxlLT5wcml2YXRlX2RhdGE7CisJCWl0ZXIgPSBtLT5wcml2YXRlOworCX0gZWxzZQorCQlpdGVyID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCisJaWYgKCEqcHBvcykgeworCQlpdGVyLT5mbGFncyAmPSB+RlRSQUNFX0lURVJfQ09OVDsKKwkJaXRlci0+YnVmZmVyX2lkeCA9IDA7CisJfQorCisJcmV0ID0gZ2V0X3VzZXIoY2gsIHVidWYrKyk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisJcmVhZCsrOworCWNudC0tOworCisJaWYgKCEoaXRlci0+ZmxhZ3MgJiB+RlRSQUNFX0lURVJfQ09OVCkpIHsKKwkJLyogc2tpcCB3aGl0ZSBzcGFjZSAqLworCQl3aGlsZSAoY250ICYmIGlzc3BhY2UoY2gpKSB7CisJCQlyZXQgPSBnZXRfdXNlcihjaCwgdWJ1ZisrKTsKKwkJCWlmIChyZXQpCisJCQkJZ290byBvdXQ7CisJCQlyZWFkKys7CisJCQljbnQtLTsKKwkJfQorCisJCWlmIChpc3NwYWNlKGNoKSkgeworCQkJZmlsZS0+Zl9wb3MgKz0gcmVhZDsKKwkJCXJldCA9IHJlYWQ7CisJCQlnb3RvIG91dDsKKwkJfQorCisJCWl0ZXItPmJ1ZmZlcl9pZHggPSAwOworCX0KKworCXdoaWxlIChjbnQgJiYgIWlzc3BhY2UoY2gpKSB7CisJCWlmIChpdGVyLT5idWZmZXJfaWR4IDwgRlRSQUNFX0JVRkZfTUFYKQorCQkJaXRlci0+YnVmZmVyW2l0ZXItPmJ1ZmZlcl9pZHgrK10gPSBjaDsKKwkJZWxzZSB7CisJCQlyZXQgPSAtRUlOVkFMOworCQkJZ290byBvdXQ7CisJCX0KKwkJcmV0ID0gZ2V0X3VzZXIoY2gsIHVidWYrKyk7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dDsKKwkJcmVhZCsrOworCQljbnQtLTsKKwl9CisKKwlpZiAoaXNzcGFjZShjaCkpIHsKKwkJaXRlci0+ZmlsdGVyZWQrKzsKKwkJaXRlci0+YnVmZmVyW2l0ZXItPmJ1ZmZlcl9pZHhdID0gMDsKKwkJZnRyYWNlX21hdGNoKGl0ZXItPmJ1ZmZlciwgaXRlci0+YnVmZmVyX2lkeCwgZW5hYmxlKTsKKwkJaXRlci0+YnVmZmVyX2lkeCA9IDA7CisJfSBlbHNlCisJCWl0ZXItPmZsYWdzIHw9IEZUUkFDRV9JVEVSX0NPTlQ7CisKKworCWZpbGUtPmZfcG9zICs9IHJlYWQ7CisKKwlyZXQgPSByZWFkOworIG91dDoKKwltdXRleF91bmxvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdHJhY2VfZmlsdGVyX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlyZXR1cm4gZnRyYWNlX3JlZ2V4X3dyaXRlKGZpbGUsIHVidWYsIGNudCwgcHBvcywgMSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdHJhY2Vfbm90cmFjZV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfd3JpdGUoZmlsZSwgdWJ1ZiwgY250LCBwcG9zLCAwKTsKK30KKworc3RhdGljIHZvaWQKK2Z0cmFjZV9zZXRfcmVnZXgodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgbGVuLCBpbnQgcmVzZXQsIGludCBlbmFibGUpCit7CisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKwlpZiAocmVzZXQpCisJCWZ0cmFjZV9maWx0ZXJfcmVzZXQoZW5hYmxlKTsKKwlpZiAoYnVmKQorCQlmdHJhY2VfbWF0Y2goYnVmLCBsZW4sIGVuYWJsZSk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7Cit9CisKKy8qKgorICogZnRyYWNlX3NldF9maWx0ZXIgLSBzZXQgYSBmdW5jdGlvbiB0byBmaWx0ZXIgb24gaW4gZnRyYWNlCisgKiBAYnVmIC0gdGhlIHN0cmluZyB0aGF0IGhvbGRzIHRoZSBmdW5jdGlvbiBmaWx0ZXIgdGV4dC4KKyAqIEBsZW4gLSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcuCisgKiBAcmVzZXQgLSBub24gemVybyB0byByZXNldCBhbGwgZmlsdGVycyBiZWZvcmUgYXBwbHlpbmcgdGhpcyBmaWx0ZXIuCisgKgorICogRmlsdGVycyBkZW5vdGUgd2hpY2ggZnVuY3Rpb25zIHNob3VsZCBiZSBlbmFibGVkIHdoZW4gdHJhY2luZyBpcyBlbmFibGVkLgorICogSWYgQGJ1ZiBpcyBOVUxMIGFuZCByZXNldCBpcyBzZXQsIGFsbCBmdW5jdGlvbnMgd2lsbCBiZSBlbmFibGVkIGZvciB0cmFjaW5nLgorICovCit2b2lkIGZ0cmFjZV9zZXRfZmlsdGVyKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbiwgaW50IHJlc2V0KQoreworCWZ0cmFjZV9zZXRfcmVnZXgoYnVmLCBsZW4sIHJlc2V0LCAxKTsKK30KKworLyoqCisgKiBmdHJhY2Vfc2V0X25vdHJhY2UgLSBzZXQgYSBmdW5jdGlvbiB0byBub3QgdHJhY2UgaW4gZnRyYWNlCisgKiBAYnVmIC0gdGhlIHN0cmluZyB0aGF0IGhvbGRzIHRoZSBmdW5jdGlvbiBub3RyYWNlIHRleHQuCisgKiBAbGVuIC0gdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nLgorICogQHJlc2V0IC0gbm9uIHplcm8gdG8gcmVzZXQgYWxsIGZpbHRlcnMgYmVmb3JlIGFwcGx5aW5nIHRoaXMgZmlsdGVyLgorICoKKyAqIE5vdHJhY2UgRmlsdGVycyBkZW5vdGUgd2hpY2ggZnVuY3Rpb25zIHNob3VsZCBub3QgYmUgZW5hYmxlZCB3aGVuIHRyYWNpbmcKKyAqIGlzIGVuYWJsZWQuIElmIEBidWYgaXMgTlVMTCBhbmQgcmVzZXQgaXMgc2V0LCBhbGwgZnVuY3Rpb25zIHdpbGwgYmUgZW5hYmxlZAorICogZm9yIHRyYWNpbmcuCisgKi8KK3ZvaWQgZnRyYWNlX3NldF9ub3RyYWNlKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbiwgaW50IHJlc2V0KQoreworCWZ0cmFjZV9zZXRfcmVnZXgoYnVmLCBsZW4sIHJlc2V0LCAwKTsKK30KKworc3RhdGljIGludAorZnRyYWNlX3JlZ2V4X3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIGludCBlbmFibGUpCit7CisJc3RydWN0IHNlcV9maWxlICptID0gKHN0cnVjdCBzZXFfZmlsZSAqKWZpbGUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCWlmIChmaWxlLT5mX21vZGUgJiBGTU9ERV9SRUFEKSB7CisJCWl0ZXIgPSBtLT5wcml2YXRlOworCisJCXNlcV9yZWxlYXNlKGlub2RlLCBmaWxlKTsKKwl9IGVsc2UKKwkJaXRlciA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKworCWlmIChpdGVyLT5idWZmZXJfaWR4KSB7CisJCWl0ZXItPmZpbHRlcmVkKys7CisJCWl0ZXItPmJ1ZmZlcltpdGVyLT5idWZmZXJfaWR4XSA9IDA7CisJCWZ0cmFjZV9tYXRjaChpdGVyLT5idWZmZXIsIGl0ZXItPmJ1ZmZlcl9pZHgsIGVuYWJsZSk7CisJfQorCisJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCWlmIChpdGVyLT5maWx0ZXJlZCAmJiBmdHJhY2VkX3N1c3BlbmQgJiYgZnRyYWNlX2VuYWJsZWQpCisJCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoRlRSQUNFX0VOQUJMRV9DQUxMUyk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCWtmcmVlKGl0ZXIpOworCW11dGV4X3VubG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CitmdHJhY2VfZmlsdGVyX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIGZ0cmFjZV9yZWdleF9yZWxlYXNlKGlub2RlLCBmaWxlLCAxKTsKK30KKworc3RhdGljIGludAorZnRyYWNlX25vdHJhY2VfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gZnRyYWNlX3JlZ2V4X3JlbGVhc2UoaW5vZGUsIGZpbGUsIDApOworfQorCitzdGF0aWMgc3NpemVfdAorZnRyYWNlZF9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJLyogZG9uJ3Qgd29ycnkgYWJvdXQgcmFjZXMgKi8KKwljaGFyICpidWYgPSBmdHJhY2VkX3N0b3AgPyAiZGlzYWJsZWRcbiIgOiAiZW5hYmxlZFxuIjsKKwlpbnQgciA9IHN0cmxlbihidWYpOworCisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZWRfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciBidWZbNjRdOworCWxvbmcgdmFsOworCWludCByZXQ7CisKKwlpZiAoY250ID49IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWlmIChzdHJuY21wKGJ1ZiwgImVuYWJsZSIsIDYpID09IDApCisJCXZhbCA9IDE7CisJZWxzZSBpZiAoc3RybmNtcChidWYsICJkaXNhYmxlIiwgNykgPT0gMCkKKwkJdmFsID0gMDsKKwllbHNlIHsKKwkJYnVmW2NudF0gPSAwOworCisJCXJldCA9IHN0cmljdF9zdHJ0b3VsKGJ1ZiwgMTAsICZ2YWwpOworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVybiByZXQ7CisKKwkJdmFsID0gISF2YWw7CisJfQorCisJaWYgKHZhbCkKKwkJZnRyYWNlX2VuYWJsZV9kYWVtb24oKTsKKwllbHNlCisJCWZ0cmFjZV9kaXNhYmxlX2RhZW1vbigpOworCisJZmlscC0+Zl9wb3MgKz0gY250OworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZnRyYWNlX2F2YWlsX2ZvcHMgPSB7CisJLm9wZW4gPSBmdHJhY2VfYXZhaWxfb3BlbiwKKwkucmVhZCA9IHNlcV9yZWFkLAorCS5sbHNlZWsgPSBzZXFfbHNlZWssCisJLnJlbGVhc2UgPSBmdHJhY2VfYXZhaWxfcmVsZWFzZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZ0cmFjZV9mYWlsdXJlc19mb3BzID0geworCS5vcGVuID0gZnRyYWNlX2ZhaWx1cmVzX29wZW4sCisJLnJlYWQgPSBzZXFfcmVhZCwKKwkubGxzZWVrID0gc2VxX2xzZWVrLAorCS5yZWxlYXNlID0gZnRyYWNlX2F2YWlsX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmdHJhY2VfZmlsdGVyX2ZvcHMgPSB7CisJLm9wZW4gPSBmdHJhY2VfZmlsdGVyX29wZW4sCisJLnJlYWQgPSBmdHJhY2VfcmVnZXhfcmVhZCwKKwkud3JpdGUgPSBmdHJhY2VfZmlsdGVyX3dyaXRlLAorCS5sbHNlZWsgPSBmdHJhY2VfcmVnZXhfbHNlZWssCisJLnJlbGVhc2UgPSBmdHJhY2VfZmlsdGVyX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmdHJhY2Vfbm90cmFjZV9mb3BzID0geworCS5vcGVuID0gZnRyYWNlX25vdHJhY2Vfb3BlbiwKKwkucmVhZCA9IGZ0cmFjZV9yZWdleF9yZWFkLAorCS53cml0ZSA9IGZ0cmFjZV9ub3RyYWNlX3dyaXRlLAorCS5sbHNlZWsgPSBmdHJhY2VfcmVnZXhfbHNlZWssCisJLnJlbGVhc2UgPSBmdHJhY2Vfbm90cmFjZV9yZWxlYXNlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZnRyYWNlZF9mb3BzID0geworCS5vcGVuID0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQgPSBmdHJhY2VkX3JlYWQsCisJLndyaXRlID0gZnRyYWNlZF93cml0ZSwKK307CisKKy8qKgorICogZnRyYWNlX2ZvcmNlX3VwZGF0ZSAtIGZvcmNlIGFuIHVwZGF0ZSB0byBhbGwgcmVjb3JkaW5nIGZ0cmFjZSBmdW5jdGlvbnMKKyAqLworaW50IGZ0cmFjZV9mb3JjZV91cGRhdGUodm9pZCkKK3sKKwlpbnQgcmV0ID0gMDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKworCS8qCisJICogSWYgZnRyYWNlZF90cmlnZ2VyIGlzIG5vdCBzZXQsIHRoZW4gdGhlcmUgaXMgbm90aGluZworCSAqIHRvIHVwZGF0ZS4KKwkgKi8KKwlpZiAoZnRyYWNlZF90cmlnZ2VyICYmICFmdHJhY2VfdXBkYXRlX2NvZGUoKSkKKwkJcmV0ID0gLUVCVVNZOworCisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9mb3JjZV9zaHV0ZG93bih2b2lkKQoreworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKKwlpbnQgY29tbWFuZCA9IEZUUkFDRV9ESVNBQkxFX0NBTExTIHwgRlRSQUNFX1VQREFURV9UUkFDRV9GVU5DOworCisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwl0YXNrID0gZnRyYWNlZF90YXNrOworCWZ0cmFjZWRfdGFzayA9IE5VTEw7CisJZnRyYWNlZF9zdXNwZW5kID0gLTE7CisJZnRyYWNlX3J1bl91cGRhdGVfY29kZShjb21tYW5kKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisKKwlpZiAodGFzaykKKwkJa3RocmVhZF9zdG9wKHRhc2spOworfQorCitzdGF0aWMgX19pbml0IGludCBmdHJhY2VfaW5pdF9kZWJ1Z2ZzKHZvaWQpCit7CisJc3RydWN0IGRlbnRyeSAqZF90cmFjZXI7CisJc3RydWN0IGRlbnRyeSAqZW50cnk7CisKKwlkX3RyYWNlciA9IHRyYWNpbmdfaW5pdF9kZW50cnkoKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiYXZhaWxhYmxlX2ZpbHRlcl9mdW5jdGlvbnMiLCAwNDQ0LAorCQkJCSAgICBkX3RyYWNlciwgTlVMTCwgJmZ0cmFjZV9hdmFpbF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIidhdmFpbGFibGVfZmlsdGVyX2Z1bmN0aW9ucycgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJmYWlsdXJlcyIsIDA0NDQsCisJCQkJICAgIGRfdHJhY2VyLCBOVUxMLCAmZnRyYWNlX2ZhaWx1cmVzX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAnZmFpbHVyZXMnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgic2V0X2Z0cmFjZV9maWx0ZXIiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJmZ0cmFjZV9maWx0ZXJfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICInc2V0X2Z0cmFjZV9maWx0ZXInIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgic2V0X2Z0cmFjZV9ub3RyYWNlIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZmdHJhY2Vfbm90cmFjZV9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIidzZXRfZnRyYWNlX25vdHJhY2UnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiZnRyYWNlZF9lbmFibGVkIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZmdHJhY2VkX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ2Z0cmFjZWRfZW5hYmxlZCcgZW50cnlcbiIpOworCXJldHVybiAwOworfQorCitmc19pbml0Y2FsbChmdHJhY2VfaW5pdF9kZWJ1Z2ZzKTsKKworc3RhdGljIGludCBfX2luaXQgZnRyYWNlX2R5bmFtaWNfaW5pdCh2b2lkKQoreworCXN0cnVjdCB0YXNrX3N0cnVjdCAqcDsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJaW50IHJldDsKKworCWFkZHIgPSAodW5zaWduZWQgbG9uZylmdHJhY2VfcmVjb3JkX2lwOworCisJc3RvcF9tYWNoaW5lX3J1bihmdHJhY2VfZHluX2FyY2hfaW5pdCwgJmFkZHIsIE5SX0NQVVMpOworCisJLyogZnRyYWNlX2R5bl9hcmNoX2luaXQgcGxhY2VzIHRoZSByZXR1cm4gY29kZSBpbiBhZGRyICovCisJaWYgKGFkZHIpIHsKKwkJcmV0ID0gKGludClhZGRyOworCQlnb3RvIGZhaWxlZDsKKwl9CisKKwlyZXQgPSBmdHJhY2VfZHluX3RhYmxlX2FsbG9jKCk7CisJaWYgKHJldCkKKwkJZ290byBmYWlsZWQ7CisKKwlwID0ga3RocmVhZF9ydW4oZnRyYWNlZCwgTlVMTCwgImZ0cmFjZWQiKTsKKwlpZiAoSVNfRVJSKHApKSB7CisJCXJldCA9IC0xOworCQlnb3RvIGZhaWxlZDsKKwl9CisKKwlsYXN0X2Z0cmFjZV9lbmFibGVkID0gZnRyYWNlX2VuYWJsZWQgPSAxOworCWZ0cmFjZWRfdGFzayA9IHA7CisKKwlyZXR1cm4gMDsKKworIGZhaWxlZDoKKwlmdHJhY2VfZGlzYWJsZWQgPSAxOworCXJldHVybiByZXQ7Cit9CisKK2NvcmVfaW5pdGNhbGwoZnRyYWNlX2R5bmFtaWNfaW5pdCk7CisjZWxzZQorIyBkZWZpbmUgZnRyYWNlX3N0YXJ0dXAoKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX3NodXRkb3duKCkJCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGZ0cmFjZV9zdGFydHVwX3N5c2N0bCgpCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGZ0cmFjZV9zaHV0ZG93bl9zeXNjdGwoKQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBmdHJhY2VfZm9yY2Vfc2h1dGRvd24oKQlkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisKKy8qKgorICogZnRyYWNlX2tpbGxfYXRvbWljIC0ga2lsbCBmdHJhY2UgZnJvbSBjcml0aWNhbCBzZWN0aW9ucworICoKKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgYnkgcGFuaWMgY29kZS4gSXQgc3RvcHMgZnRyYWNlCisgKiBidXQgaW4gYSBub3Qgc28gbmljZSB3YXkuIElmIHlvdSBuZWVkIHRvIHNpbXBseSBraWxsIGZ0cmFjZQorICogZnJvbSBhIG5vbi1hdG9taWMgc2VjdGlvbiwgdXNlIGZ0cmFjZV9raWxsLgorICovCit2b2lkIGZ0cmFjZV9raWxsX2F0b21pYyh2b2lkKQoreworCWZ0cmFjZV9kaXNhYmxlZCA9IDE7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCWZ0cmFjZWRfc3VzcGVuZCA9IC0xOworI2VuZGlmCisJY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKCk7Cit9CisKKy8qKgorICogZnRyYWNlX2tpbGwgLSB0b3RhbGx5IHNodXRkb3duIGZ0cmFjZQorICoKKyAqIFRoaXMgaXMgYSBzYWZldHkgbWVhc3VyZS4gSWYgc29tZXRoaW5nIHdhcyBkZXRlY3RlZCB0aGF0IHNlZW1zCisgKiB3cm9uZywgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIHdpbGwga2VlcCBmdHJhY2UgZnJvbSBkb2luZworICogYW55IG1vcmUgbW9kaWZpY2F0aW9ucywgYW5kIHVwZGF0ZXMuCisgKiB1c2VkIHdoZW4gc29tZXRoaW5nIHdlbnQgd3JvbmcuCisgKi8KK3ZvaWQgZnRyYWNlX2tpbGwodm9pZCkKK3sKKwltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCWZ0cmFjZV9kaXNhYmxlZCA9IDE7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworCisJY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKCk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJLyogVHJ5IHRvIHRvdGFsbHkgZGlzYWJsZSBmdHJhY2UgKi8KKwlmdHJhY2VfZm9yY2Vfc2h1dGRvd24oKTsKK30KKworLyoqCisgKiByZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24gLSByZWdpc3RlciBhIGZ1bmN0aW9uIGZvciBwcm9maWxpbmcKKyAqIEBvcHMgLSBvcHMgc3RydWN0dXJlIHRoYXQgaG9sZHMgdGhlIGZ1bmN0aW9uIGZvciBwcm9maWxpbmcuCisgKgorICogUmVnaXN0ZXIgYSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgYnkgYWxsIGZ1bmN0aW9ucyBpbiB0aGUKKyAqIGtlcm5lbC4KKyAqCisgKiBOb3RlOiBAb3BzLT5mdW5jIGFuZCBhbGwgdGhlIGZ1bmN0aW9ucyBpdCBjYWxscyBtdXN0IGJlIGxhYmVsZWQKKyAqICAgICAgIHdpdGggIm5vdHJhY2UiLCBvdGhlcndpc2UgaXQgd2lsbCBnbyBpbnRvIGEKKyAqICAgICAgIHJlY3Vyc2l2ZSBsb29wLgorICovCitpbnQgcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKHN0cnVjdCBmdHJhY2Vfb3BzICpvcHMpCit7CisJaW50IHJldDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm4gLTE7CisKKwltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCXJldCA9IF9fcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKG9wcyk7CisJZnRyYWNlX3N0YXJ0dXAoKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCisvKioKKyAqIHVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uIC0gdW5yZXNnaXN0ZXIgYSBmdW5jdGlvbiBmb3IgcHJvZmlsaW5nLgorICogQG9wcyAtIG9wcyBzdHJ1Y3R1cmUgdGhhdCBob2xkcyB0aGUgZnVuY3Rpb24gdG8gdW5yZWdpc3RlcgorICoKKyAqIFVucmVnaXN0ZXIgYSBmdW5jdGlvbiB0aGF0IHdhcyBhZGRlZCB0byBiZSBjYWxsZWQgYnkgZnRyYWNlIHByb2ZpbGluZy4KKyAqLworaW50IHVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKHN0cnVjdCBmdHJhY2Vfb3BzICpvcHMpCit7CisJaW50IHJldDsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJcmV0ID0gX191bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihvcHMpOworCWZ0cmFjZV9zaHV0ZG93bigpOworCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKK2ludAorZnRyYWNlX2VuYWJsZV9zeXNjdGwoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKKwkJICAgICBzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90ICpsZW5wLAorCQkgICAgIGxvZmZfdCAqcHBvcykKK3sKKwlpbnQgcmV0OworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybiAtRU5PREVWOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCXJldCAgPSBwcm9jX2RvaW50dmVjKHRhYmxlLCB3cml0ZSwgZmlsZSwgYnVmZmVyLCBsZW5wLCBwcG9zKTsKKworCWlmIChyZXQgfHwgIXdyaXRlIHx8IChsYXN0X2Z0cmFjZV9lbmFibGVkID09IGZ0cmFjZV9lbmFibGVkKSkKKwkJZ290byBvdXQ7CisKKwlsYXN0X2Z0cmFjZV9lbmFibGVkID0gZnRyYWNlX2VuYWJsZWQ7CisKKwlpZiAoZnRyYWNlX2VuYWJsZWQpIHsKKworCQlmdHJhY2Vfc3RhcnR1cF9zeXNjdGwoKTsKKworCQkvKiB3ZSBhcmUgc3RhcnRpbmcgZnRyYWNlIGFnYWluICovCisJCWlmIChmdHJhY2VfbGlzdCAhPSAmZnRyYWNlX2xpc3RfZW5kKSB7CisJCQlpZiAoZnRyYWNlX2xpc3QtPm5leHQgPT0gJmZ0cmFjZV9saXN0X2VuZCkKKwkJCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2VfbGlzdC0+ZnVuYzsKKwkJCWVsc2UKKwkJCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2VfbGlzdF9mdW5jOworCQl9CisKKwl9IGVsc2UgeworCQkvKiBzdG9wcGluZyBmdHJhY2UgY2FsbHMgKGp1c3Qgc2VuZCB0byBmdHJhY2Vfc3R1YikgKi8KKwkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX3N0dWI7CisKKwkJZnRyYWNlX3NodXRkb3duX3N5c2N0bCgpOworCX0KKworIG91dDoKKwltdXRleF91bmxvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZS5jIGIva2VybmVsL3RyYWNlL3RyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY4ZTEyMQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZS5jCkBAIC0wLDAgKzEsMzE2MSBAQAorLyoKKyAqIHJpbmcgYnVmZmVyIGJhc2VkIGZ1bmN0aW9uIHRyYWNlcgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgorICoKKyAqIE9yaWdpbmFsbHkgdGFrZW4gZnJvbSB0aGUgUlQgcGF0Y2ggYnk6CisgKiAgICBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAcmVkaGF0LmNvbT4KKyAqCisgKiBCYXNlZCBvbiBjb2RlIGZyb20gdGhlIGxhdGVuY3lfdHJhY2VyLCB0aGF0IGlzOgorICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEluZ28gTW9sbmFyCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0IFdpbGxpYW0gTGVlIElyd2luIElJSQorICovCisjaW5jbHVkZSA8bGludXgvdXRzcmVsZWFzZS5oPgorI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgorI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KKyNpbmNsdWRlIDxsaW51eC9nZnAuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KKyNpbmNsdWRlIDxsaW51eC93cml0ZWJhY2suaD4KKworI2luY2x1ZGUgPGxpbnV4L3N0YWNrdHJhY2UuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3Vuc2lnbmVkIGxvbmcgX19yZWFkX21vc3RseQl0cmFjaW5nX21heF9sYXRlbmN5ID0gKGN5Y2xlX3QpVUxPTkdfTUFYOwordW5zaWduZWQgbG9uZyBfX3JlYWRfbW9zdGx5CXRyYWNpbmdfdGhyZXNoOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX3JlYWRfbW9zdGx5CXRyYWNpbmdfbnJfYnVmZmVyczsKK3N0YXRpYyBjcHVtYXNrX3QgX19yZWFkX21vc3RseQkJdHJhY2luZ19idWZmZXJfbWFzazsKKworI2RlZmluZSBmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpCVwKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIHRyYWNpbmdfYnVmZmVyX21hc2spCisKK3N0YXRpYyBpbnQgdHJhY2VfYWxsb2NfcGFnZSh2b2lkKTsKK3N0YXRpYyBpbnQgdHJhY2VfZnJlZV9wYWdlKHZvaWQpOworCitzdGF0aWMgaW50IHRyYWNpbmdfZGlzYWJsZWQgPSAxOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyB0cmFjaW5nX3BhZ2VzX2FsbG9jYXRlZDsKKworbG9uZworbnMydXNlY3MoY3ljbGVfdCBuc2VjKQoreworCW5zZWMgKz0gNTAwOworCWRvX2Rpdihuc2VjLCAxMDAwKTsKKwlyZXR1cm4gbnNlYzsKK30KKworY3ljbGVfdCBmdHJhY2Vfbm93KGludCBjcHUpCit7CisJcmV0dXJuIGNwdV9jbG9jayhjcHUpOworfQorCisvKgorICogVGhlIGdsb2JhbF90cmFjZSBpcyB0aGUgZGVzY3JpcHRvciB0aGF0IGhvbGRzIHRoZSB0cmFjaW5nCisgKiBidWZmZXJzIGZvciB0aGUgbGl2ZSB0cmFjaW5nLiBGb3IgZWFjaCBDUFUsIGl0IGNvbnRhaW5zCisgKiBhIGxpbmsgbGlzdCBvZiBwYWdlcyB0aGF0IHdpbGwgc3RvcmUgdHJhY2UgZW50cmllcy4gVGhlCisgKiBwYWdlIGRlc2NyaXB0b3Igb2YgdGhlIHBhZ2VzIGluIHRoZSBtZW1vcnkgaXMgdXNlZCB0byBob2xkCisgKiB0aGUgbGluayBsaXN0IGJ5IGxpbmtpbmcgdGhlIGxydSBpdGVtIGluIHRoZSBwYWdlIGRlc2NyaXB0b3IKKyAqIHRvIGVhY2ggb2YgdGhlIHBhZ2VzIGluIHRoZSBidWZmZXIgcGVyIENQVS4KKyAqCisgKiBGb3IgZWFjaCBhY3RpdmUgQ1BVIHRoZXJlIGlzIGEgZGF0YSBmaWVsZCB0aGF0IGhvbGRzIHRoZQorICogcGFnZXMgZm9yIHRoZSBidWZmZXIgZm9yIHRoYXQgQ1BVLiBFYWNoIENQVSBoYXMgdGhlIHNhbWUgbnVtYmVyCisgKiBvZiBwYWdlcyBhbGxvY2F0ZWQgZm9yIGl0cyBidWZmZXIuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJZ2xvYmFsX3RyYWNlOworCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRyYWNlX2FycmF5X2NwdSwgZ2xvYmFsX3RyYWNlX2NwdSk7CisKKy8qCisgKiBUaGUgbWF4X3RyIGlzIHVzZWQgdG8gc25hcHNob3QgdGhlIGdsb2JhbF90cmFjZSB3aGVuIGEgbWF4aW11bQorICogbGF0ZW5jeSBpcyByZWFjaGVkLiBTb21lIHRyYWNlcnMgd2lsbCB1c2UgdGhpcyB0byBzdG9yZSBhIG1heGltdW0KKyAqIHRyYWNlIHdoaWxlIGl0IGNvbnRpbnVlcyBleGFtaW5pbmcgbGl2ZSB0cmFjZXMuCisgKgorICogVGhlIGJ1ZmZlcnMgZm9yIHRoZSBtYXhfdHIgYXJlIHNldCB1cCB0aGUgc2FtZSBhcyB0aGUgZ2xvYmFsX3RyYWNlLgorICogV2hlbiBhIHNuYXBzaG90IGlzIHRha2VuLCB0aGUgbGluayBsaXN0IG9mIHRoZSBtYXhfdHIgaXMgc3dhcHBlZAorICogd2l0aCB0aGUgbGluayBsaXN0IG9mIHRoZSBnbG9iYWxfdHJhY2UgYW5kIHRoZSBidWZmZXJzIGFyZSByZXNldCBmb3IKKyAqIHRoZSBnbG9iYWxfdHJhY2Ugc28gdGhlIHRyYWNpbmcgY2FuIGNvbnRpbnVlLgorICovCitzdGF0aWMgc3RydWN0IHRyYWNlX2FycmF5CW1heF90cjsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUsIG1heF9kYXRhKTsKKworLyogdHJhY2VyX2VuYWJsZWQgaXMgdXNlZCB0byB0b2dnbGUgYWN0aXZhdGlvbiBvZiBhIHRyYWNlciAqLworc3RhdGljIGludAkJCXRyYWNlcl9lbmFibGVkID0gMTsKKworLyogZnVuY3Rpb24gdHJhY2luZyBlbmFibGVkICovCitpbnQJCQkJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQ7CisKKy8qCisgKiB0cmFjZV9ucl9lbnRyaWVzIGlzIHRoZSBudW1iZXIgb2YgZW50cmllcyB0aGF0IGlzIGFsbG9jYXRlZAorICogZm9yIGEgYnVmZmVyLiBOb3RlLCB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaXMgYWx3YXlzIHJvdW5kZWQKKyAqIHRvIEVOVFJJRVNfUEVSX1BBR0UuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nCQl0cmFjZV9ucl9lbnRyaWVzID0gNjU1MzZVTDsKKworLyogdHJhY2VfdHlwZXMgaG9sZHMgYSBsaW5rIGxpc3Qgb2YgYXZhaWxhYmxlIHRyYWNlcnMuICovCitzdGF0aWMgc3RydWN0IHRyYWNlcgkJKnRyYWNlX3R5cGVzIF9fcmVhZF9tb3N0bHk7CisKKy8qIGN1cnJlbnRfdHJhY2UgcG9pbnRzIHRvIHRoZSB0cmFjZXIgdGhhdCBpcyBjdXJyZW50bHkgYWN0aXZlICovCitzdGF0aWMgc3RydWN0IHRyYWNlcgkJKmN1cnJlbnRfdHJhY2UgX19yZWFkX21vc3RseTsKKworLyoKKyAqIG1heF90cmFjZXJfdHlwZV9sZW4gaXMgdXNlZCB0byBzaW1wbGlmeSB0aGUgYWxsb2NhdGluZyBvZgorICogYnVmZmVycyB0byByZWFkIHVzZXJzcGFjZSB0cmFjZXIgbmFtZXMuIFdlIGtlZXAgdHJhY2sgb2YKKyAqIHRoZSBsb25nZXN0IHRyYWNlciBuYW1lIHJlZ2lzdGVyZWQuCisgKi8KK3N0YXRpYyBpbnQJCQltYXhfdHJhY2VyX3R5cGVfbGVuOworCisvKgorICogdHJhY2VfdHlwZXNfbG9jayBpcyB1c2VkIHRvIHByb3RlY3QgdGhlIHRyYWNlX3R5cGVzIGxpc3QuCisgKiBUaGlzIGxvY2sgaXMgYWxzbyB1c2VkIHRvIGtlZXAgdXNlciBhY2Nlc3Mgc2VyaWFsaXplZC4KKyAqIEFjY2Vzc2VzIGZyb20gdXNlcnNwYWNlIHdpbGwgZ3JhYiB0aGlzIGxvY2sgd2hpbGUgdXNlcnNwYWNlCisgKiBhY3Rpdml0aWVzIGhhcHBlbiBpbnNpZGUgdGhlIGtlcm5lbC4KKyAqLworc3RhdGljIERFRklORV9NVVRFWCh0cmFjZV90eXBlc19sb2NrKTsKKworLyogdHJhY2Vfd2FpdCBpcyBhIHdhaXRxdWV1ZSBmb3IgdGFza3MgYmxvY2tlZCBvbiB0cmFjZV9wb2xsICovCitzdGF0aWMgREVDTEFSRV9XQUlUX1FVRVVFX0hFQUQodHJhY2Vfd2FpdCk7CisKKy8qIHRyYWNlX2ZsYWdzIGhvbGRzIGl0ZXJfY3RybCBvcHRpb25zICovCit1bnNpZ25lZCBsb25nIHRyYWNlX2ZsYWdzID0gVFJBQ0VfSVRFUl9QUklOVF9QQVJFTlQ7CisKK3N0YXRpYyBub3RyYWNlIHZvaWQgbm9fdHJhY2VfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCBjcHU7CisKKwlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCA9IDA7CisJaWYodHItPmN0cmwpCisJCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQkJdHJhY2luZ19yZXNldCh0ci0+ZGF0YVtjcHVdKTsKKwl0cmFjZXJfZW5hYmxlZCA9IDA7Cit9CisKKy8qIGR1bW15IHRyYWNlIHRvIGRpc2FibGUgdHJhY2luZyAqLworc3RhdGljIHN0cnVjdCB0cmFjZXIgbm9fdHJhY2VyIF9fcmVhZF9tb3N0bHkgPSB7CisJLm5hbWUJCT0gIm5vbmUiLAorCS5pbml0CQk9IG5vX3RyYWNlX2luaXQKK307CisKKworLyoqCisgKiB0cmFjZV93YWtlX3VwIC0gd2FrZSB1cCB0YXNrcyB3YWl0aW5nIGZvciB0cmFjZSBpbnB1dAorICoKKyAqIFNpbXBseSB3YWtlcyB1cCBhbnkgdGFzayB0aGF0IGlzIGJsb2NrZWQgb24gdGhlIHRyYWNlX3dhaXQKKyAqIHF1ZXVlLiBUaGVzZSBpcyB1c2VkIHdpdGggdHJhY2VfcG9sbCBmb3IgdGFza3MgcG9sbGluZyB0aGUgdHJhY2UuCisgKi8KK3ZvaWQgdHJhY2Vfd2FrZV91cCh2b2lkKQoreworCS8qCisJICogVGhlIHJ1bnF1ZXVlX2lzX2xvY2tlZCgpIGNhbiBmYWlsLCBidXQgdGhpcyBpcyB0aGUgYmVzdCB3ZQorCSAqIGhhdmUgZm9yIG5vdzoKKwkgKi8KKwlpZiAoISh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfQkxPQ0spICYmICFydW5xdWV1ZV9pc19sb2NrZWQoKSkKKwkJd2FrZV91cCgmdHJhY2Vfd2FpdCk7Cit9CisKKyNkZWZpbmUgRU5UUklFU19QRVJfUEFHRSAoUEFHRV9TSVpFIC8gc2l6ZW9mKHN0cnVjdCB0cmFjZV9lbnRyeSkpCisKK3N0YXRpYyBpbnQgX19pbml0IHNldF9ucl9lbnRyaWVzKGNoYXIgKnN0cikKK3sKKwl1bnNpZ25lZCBsb25nIG5yX2VudHJpZXM7CisJaW50IHJldDsKKworCWlmICghc3RyKQorCQlyZXR1cm4gMDsKKwlyZXQgPSBzdHJpY3Rfc3RydG91bChzdHIsIDAsICZucl9lbnRyaWVzKTsKKwkvKiBucl9lbnRyaWVzIGNhbiBub3QgYmUgemVybyAqLworCWlmIChyZXQgPCAwIHx8IG5yX2VudHJpZXMgPT0gMCkKKwkJcmV0dXJuIDA7CisJdHJhY2VfbnJfZW50cmllcyA9IG5yX2VudHJpZXM7CisJcmV0dXJuIDE7Cit9CitfX3NldHVwKCJ0cmFjZV9lbnRyaWVzPSIsIHNldF9ucl9lbnRyaWVzKTsKKwordW5zaWduZWQgbG9uZyBuc2Vjc190b191c2Vjcyh1bnNpZ25lZCBsb25nIG5zZWNzKQoreworCXJldHVybiBuc2VjcyAvIDEwMDA7Cit9CisKKy8qCisgKiB0cmFjZV9mbGFnX3R5cGUgaXMgYW4gZW51bWVyYXRpb24gdGhhdCBob2xkcyBkaWZmZXJlbnQKKyAqIHN0YXRlcyB3aGVuIGEgdHJhY2Ugb2NjdXJzLiBUaGVzZSBhcmU6CisgKiAgSVJRU19PRkYJLSBpbnRlcnJ1cHRzIHdlcmUgZGlzYWJsZWQKKyAqICBORUVEX1JFU0NFRCAtIHJlc2NoZWR1bGUgaXMgcmVxdWVzdGVkCisgKiAgSEFSRElSUQktIGluc2lkZSBhbiBpbnRlcnJ1cHQgaGFuZGxlcgorICogIFNPRlRJUlEJLSBpbnNpZGUgYSBzb2Z0aXJxIGhhbmRsZXIKKyAqLworZW51bSB0cmFjZV9mbGFnX3R5cGUgeworCVRSQUNFX0ZMQUdfSVJRU19PRkYJCT0gMHgwMSwKKwlUUkFDRV9GTEFHX05FRURfUkVTQ0hFRAkJPSAweDAyLAorCVRSQUNFX0ZMQUdfSEFSRElSUQkJPSAweDA0LAorCVRSQUNFX0ZMQUdfU09GVElSUQkJPSAweDA4LAorfTsKKworLyoKKyAqIFRSQUNFX0lURVJfU1lNX01BU0sgbWFza3MgdGhlIG9wdGlvbnMgaW4gdHJhY2VfZmxhZ3MgdGhhdAorICogY29udHJvbCB0aGUgb3V0cHV0IG9mIGtlcm5lbCBzeW1ib2xzLgorICovCisjZGVmaW5lIFRSQUNFX0lURVJfU1lNX01BU0sgXAorCShUUkFDRV9JVEVSX1BSSU5UX1BBUkVOVHxUUkFDRV9JVEVSX1NZTV9PRkZTRVR8VFJBQ0VfSVRFUl9TWU1fQUREUikKKworLyogVGhlc2UgbXVzdCBtYXRjaCB0aGUgYml0IHBvc3Rpb25zIGluIHRyYWNlX2l0ZXJhdG9yX2ZsYWdzICovCitzdGF0aWMgY29uc3QgY2hhciAqdHJhY2Vfb3B0aW9uc1tdID0geworCSJwcmludC1wYXJlbnQiLAorCSJzeW0tb2Zmc2V0IiwKKwkic3ltLWFkZHIiLAorCSJ2ZXJib3NlIiwKKwkicmF3IiwKKwkiaGV4IiwKKwkiYmluIiwKKwkiYmxvY2siLAorCSJzdGFja3RyYWNlIiwKKwkic2NoZWQtdHJlZSIsCisJTlVMTAorfTsKKworLyoKKyAqIGZ0cmFjZV9tYXhfbG9jayBpcyB1c2VkIHRvIHByb3RlY3QgdGhlIHN3YXBwaW5nIG9mIGJ1ZmZlcnMKKyAqIHdoZW4gdGFraW5nIGEgbWF4IHNuYXBzaG90LiBUaGUgYnVmZmVycyB0aGVtc2VsdmVzIGFyZQorICogcHJvdGVjdGVkIGJ5IHBlcl9jcHUgc3BpbmxvY2tzLiBCdXQgdGhlIGFjdGlvbiBvZiB0aGUgc3dhcAorICogbmVlZHMgaXRzIG93biBsb2NrLgorICoKKyAqIFRoaXMgaXMgZGVmaW5lZCBhcyBhIHJhd19zcGlubG9ja190IGluIG9yZGVyIHRvIGhlbHAKKyAqIHdpdGggcGVyZm9ybWFuY2Ugd2hlbiBsb2NrZGVwIGRlYnVnZ2luZyBpcyBlbmFibGVkLgorICovCitzdGF0aWMgcmF3X3NwaW5sb2NrX3QgZnRyYWNlX21heF9sb2NrID0KKwkocmF3X3NwaW5sb2NrX3QpX19SQVdfU1BJTl9MT0NLX1VOTE9DS0VEOworCisvKgorICogQ29weSB0aGUgbmV3IG1heGltdW0gdHJhY2UgaW50byB0aGUgc2VwYXJhdGUgbWF4aW11bS10cmFjZQorICogc3RydWN0dXJlLiAodGhpcyB3YXkgdGhlIG1heGltdW0gdHJhY2UgaXMgcGVybWFuZW50bHkgc2F2ZWQsCisgKiBmb3IgbGF0ZXIgcmV0cmlldmFsIHZpYSAvZGVidWdmcy90cmFjaW5nL2xhdGVuY3lfdHJhY2UpCisgKi8KK3N0YXRpYyB2b2lkCitfX3VwZGF0ZV9tYXhfdHIoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjcHUpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IHRyLT5kYXRhW2NwdV07CisKKwltYXhfdHIuY3B1ID0gY3B1OworCW1heF90ci50aW1lX3N0YXJ0ID0gZGF0YS0+cHJlZW1wdF90aW1lc3RhbXA7CisKKwlkYXRhID0gbWF4X3RyLmRhdGFbY3B1XTsKKwlkYXRhLT5zYXZlZF9sYXRlbmN5ID0gdHJhY2luZ19tYXhfbGF0ZW5jeTsKKworCW1lbWNweShkYXRhLT5jb21tLCB0c2stPmNvbW0sIFRBU0tfQ09NTV9MRU4pOworCWRhdGEtPnBpZCA9IHRzay0+cGlkOworCWRhdGEtPnVpZCA9IHRzay0+dWlkOworCWRhdGEtPm5pY2UgPSB0c2stPnN0YXRpY19wcmlvIC0gMjAgLSBNQVhfUlRfUFJJTzsKKwlkYXRhLT5wb2xpY3kgPSB0c2stPnBvbGljeTsKKwlkYXRhLT5ydF9wcmlvcml0eSA9IHRzay0+cnRfcHJpb3JpdHk7CisKKwkvKiByZWNvcmQgdGhpcyB0YXNrcyBjb21tICovCisJdHJhY2luZ19yZWNvcmRfY21kbGluZShjdXJyZW50KTsKK30KKworI2RlZmluZSBDSEVDS19DT05EKGNvbmQpCQkJXAorCWlmICh1bmxpa2VseShjb25kKSkgewkJCVwKKwkJdHJhY2luZ19kaXNhYmxlZCA9IDE7CQlcCisJCVdBUk5fT04oMSk7CQkJXAorCQlyZXR1cm4gLTE7CQkJXAorCX0KKworLyoqCisgKiBjaGVja19wYWdlcyAtIGludGVncml0eSBjaGVjayBvZiB0cmFjZSBidWZmZXJzCisgKgorICogQXMgYSBzYWZ0eSBtZWFzdXJlIHdlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgZGF0YSBwYWdlcyBoYXZlIG5vdAorICogYmVlbiBjb3JydXB0ZWQuCisgKi8KK2ludCBjaGVja19wYWdlcyhzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCXN0cnVjdCBwYWdlICpwYWdlLCAqdG1wOworCisJQ0hFQ0tfQ09ORChkYXRhLT50cmFjZV9wYWdlcy5uZXh0LT5wcmV2ICE9ICZkYXRhLT50cmFjZV9wYWdlcyk7CisJQ0hFQ0tfQ09ORChkYXRhLT50cmFjZV9wYWdlcy5wcmV2LT5uZXh0ICE9ICZkYXRhLT50cmFjZV9wYWdlcyk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocGFnZSwgdG1wLCAmZGF0YS0+dHJhY2VfcGFnZXMsIGxydSkgeworCQlDSEVDS19DT05EKHBhZ2UtPmxydS5uZXh0LT5wcmV2ICE9ICZwYWdlLT5scnUpOworCQlDSEVDS19DT05EKHBhZ2UtPmxydS5wcmV2LT5uZXh0ICE9ICZwYWdlLT5scnUpOworCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIGhlYWRfcGFnZSAtIHBhZ2UgYWRkcmVzcyBvZiB0aGUgZmlyc3QgcGFnZSBpbiBwZXJfY3B1IGJ1ZmZlci4KKyAqCisgKiBoZWFkX3BhZ2UgcmV0dXJucyB0aGUgcGFnZSBhZGRyZXNzIG9mIHRoZSBmaXJzdCBwYWdlIGluCisgKiBhIHBlcl9jcHUgYnVmZmVyLiBUaGlzIGFsc28gcHJlZm9ybXMgdmFyaW91cyBjb25zaXN0ZW5jeQorICogY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGUgYnVmZmVyIGhhcyBub3QgYmVlbiBjb3JydXB0ZWQuCisgKi8KK3ZvaWQgKmhlYWRfcGFnZShzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCXN0cnVjdCBwYWdlICpwYWdlOworCisJaWYgKGxpc3RfZW1wdHkoJmRhdGEtPnRyYWNlX3BhZ2VzKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlwYWdlID0gbGlzdF9lbnRyeShkYXRhLT50cmFjZV9wYWdlcy5uZXh0LCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwlCVUdfT04oJnBhZ2UtPmxydSA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpOworCisJcmV0dXJuIHBhZ2VfYWRkcmVzcyhwYWdlKTsKK30KKworLyoqCisgKiB0cmFjZV9zZXFfcHJpbnRmIC0gc2VxdWVuY2UgcHJpbnRpbmcgb2YgdHJhY2UgaW5mb3JtYXRpb24KKyAqIEBzOiB0cmFjZSBzZXF1ZW5jZSBkZXNjcmlwdG9yCisgKiBAZm10OiBwcmludGYgZm9ybWF0IHN0cmluZworICoKKyAqIFRoZSB0cmFjZXIgbWF5IHVzZSBlaXRoZXIgc2VxdWVuY2Ugb3BlcmF0aW9ucyBvciBpdHMgb3duCisgKiBjb3B5IHRvIHVzZXIgcm91dGluZXMuIFRvIHNpbXBsaWZ5IGZvcm1hdGluZyBvZiBhIHRyYWNlCisgKiB0cmFjZV9zZXFfcHJpbnRmIGlzIHVzZWQgdG8gc3RvcmUgc3RyaW5ncyBpbnRvIGEgc3BlY2lhbAorICogYnVmZmVyIChAcykuIFRoZW4gdGhlIG91dHB1dCBtYXkgYmUgZWl0aGVyIHVzZWQgYnkKKyAqIHRoZSBzZXF1ZW5jZXIgb3IgcHVsbGVkIGludG8gYW5vdGhlciBidWZmZXIuCisgKi8KK2ludAordHJhY2Vfc2VxX3ByaW50ZihzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlpbnQgbGVuID0gKFBBR0VfU0laRSAtIDEpIC0gcy0+bGVuOworCXZhX2xpc3QgYXA7CisJaW50IHJldDsKKworCWlmICghbGVuKQorCQlyZXR1cm4gMDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXJldCA9IHZzbnByaW50ZihzLT5idWZmZXIgKyBzLT5sZW4sIGxlbiwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKworCS8qIElmIHdlIGNhbid0IHdyaXRlIGl0IGFsbCwgZG9uJ3QgYm90aGVyIHdyaXRpbmcgYW55dGhpbmcgKi8KKwlpZiAocmV0ID49IGxlbikKKwkJcmV0dXJuIDA7CisKKwlzLT5sZW4gKz0gcmV0OworCisJcmV0dXJuIGxlbjsKK30KKworLyoqCisgKiB0cmFjZV9zZXFfcHV0cyAtIHRyYWNlIHNlcXVlbmNlIHByaW50aW5nIG9mIHNpbXBsZSBzdHJpbmcKKyAqIEBzOiB0cmFjZSBzZXF1ZW5jZSBkZXNjcmlwdG9yCisgKiBAc3RyOiBzaW1wbGUgc3RyaW5nIHRvIHJlY29yZAorICoKKyAqIFRoZSB0cmFjZXIgbWF5IHVzZSBlaXRoZXIgdGhlIHNlcXVlbmNlIG9wZXJhdGlvbnMgb3IgaXRzIG93bgorICogY29weSB0byB1c2VyIHJvdXRpbmVzLiBUaGlzIGZ1bmN0aW9uIHJlY29yZHMgYSBzaW1wbGUgc3RyaW5nCisgKiBpbnRvIGEgc3BlY2lhbCBidWZmZXIgKEBzKSBmb3IgbGF0ZXIgcmV0cmlldmFsIGJ5IGEgc2VxdWVuY2VyCisgKiBvciBvdGhlciBtZWNoYW5pc20uCisgKi8KK3N0YXRpYyBpbnQKK3RyYWNlX3NlcV9wdXRzKHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlpbnQgbGVuID0gc3RybGVuKHN0cik7CisKKwlpZiAobGVuID4gKChQQUdFX1NJWkUgLSAxKSAtIHMtPmxlbikpCisJCXJldHVybiAwOworCisJbWVtY3B5KHMtPmJ1ZmZlciArIHMtPmxlbiwgc3RyLCBsZW4pOworCXMtPmxlbiArPSBsZW47CisKKwlyZXR1cm4gbGVuOworfQorCitzdGF0aWMgaW50Cit0cmFjZV9zZXFfcHV0YyhzdHJ1Y3QgdHJhY2Vfc2VxICpzLCB1bnNpZ25lZCBjaGFyIGMpCit7CisJaWYgKHMtPmxlbiA+PSAoUEFHRV9TSVpFIC0gMSkpCisJCXJldHVybiAwOworCisJcy0+YnVmZmVyW3MtPmxlbisrXSA9IGM7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludAordHJhY2Vfc2VxX3B1dG1lbShzdHJ1Y3QgdHJhY2Vfc2VxICpzLCB2b2lkICptZW0sIHNpemVfdCBsZW4pCit7CisJaWYgKGxlbiA+ICgoUEFHRV9TSVpFIC0gMSkgLSBzLT5sZW4pKQorCQlyZXR1cm4gMDsKKworCW1lbWNweShzLT5idWZmZXIgKyBzLT5sZW4sIG1lbSwgbGVuKTsKKwlzLT5sZW4gKz0gbGVuOworCisJcmV0dXJuIGxlbjsKK30KKworI2RlZmluZSBIRVhfQ0hBUlMgMTcKK3N0YXRpYyBjb25zdCBjaGFyIGhleDJhc2NbXSA9ICIwMTIzNDU2Nzg5YWJjZGVmIjsKKworc3RhdGljIGludAordHJhY2Vfc2VxX3B1dG1lbV9oZXgoc3RydWN0IHRyYWNlX3NlcSAqcywgdm9pZCAqbWVtLCBzaXplX3QgbGVuKQoreworCXVuc2lnbmVkIGNoYXIgaGV4W0hFWF9DSEFSU107CisJdW5zaWduZWQgY2hhciAqZGF0YSA9IG1lbTsKKwl1bnNpZ25lZCBjaGFyIGJ5dGU7CisJaW50IGksIGo7CisKKwlCVUdfT04obGVuID49IEhFWF9DSEFSUyk7CisKKyNpZmRlZiBfX0JJR19FTkRJQU4KKwlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IGxlbjsgaSsrKSB7CisjZWxzZQorCWZvciAoaSA9IGxlbi0xLCBqID0gMDsgaSA+PSAwOyBpLS0pIHsKKyNlbmRpZgorCQlieXRlID0gZGF0YVtpXTsKKworCQloZXhbaisrXSA9IGhleDJhc2NbYnl0ZSAmIDB4MGZdOworCQloZXhbaisrXSA9IGhleDJhc2NbYnl0ZSA+PiA0XTsKKwl9CisJaGV4W2orK10gPSAnICc7CisKKwlyZXR1cm4gdHJhY2Vfc2VxX3B1dG1lbShzLCBoZXgsIGopOworfQorCitzdGF0aWMgdm9pZAordHJhY2Vfc2VxX3Jlc2V0KHN0cnVjdCB0cmFjZV9zZXEgKnMpCit7CisJcy0+bGVuID0gMDsKKwlzLT5yZWFkcG9zID0gMDsKK30KKworc3NpemVfdCB0cmFjZV9zZXFfdG9fdXNlcihzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjaGFyIF9fdXNlciAqdWJ1Ziwgc2l6ZV90IGNudCkKK3sKKwlpbnQgbGVuOworCWludCByZXQ7CisKKwlpZiAocy0+bGVuIDw9IHMtPnJlYWRwb3MpCisJCXJldHVybiAtRUJVU1k7CisKKwlsZW4gPSBzLT5sZW4gLSBzLT5yZWFkcG9zOworCWlmIChjbnQgPiBsZW4pCisJCWNudCA9IGxlbjsKKwlyZXQgPSBjb3B5X3RvX3VzZXIodWJ1Ziwgcy0+YnVmZmVyICsgcy0+cmVhZHBvcywgY250KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gLUVGQVVMVDsKKworCXMtPnJlYWRwb3MgKz0gbGVuOworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyB2b2lkCit0cmFjZV9wcmludF9zZXEoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgdHJhY2Vfc2VxICpzKQoreworCWludCBsZW4gPSBzLT5sZW4gPj0gUEFHRV9TSVpFID8gUEFHRV9TSVpFIC0gMSA6IHMtPmxlbjsKKworCXMtPmJ1ZmZlcltsZW5dID0gMDsKKwlzZXFfcHV0cyhtLCBzLT5idWZmZXIpOworCisJdHJhY2Vfc2VxX3Jlc2V0KHMpOworfQorCisvKgorICogZmxpcCB0aGUgdHJhY2UgYnVmZmVycyBiZXR3ZWVuIHR3byB0cmFjZSBkZXNjcmlwdG9ycy4KKyAqIFRoaXMgdXN1YWxseSBpcyB0aGUgYnVmZmVycyBiZXR3ZWVuIHRoZSBnbG9iYWxfdHJhY2UgYW5kCisgKiB0aGUgbWF4X3RyIHRvIHJlY29yZCBhIHNuYXBzaG90IG9mIGEgY3VycmVudCB0cmFjZS4KKyAqCisgKiBUaGUgZnRyYWNlX21heF9sb2NrIG11c3QgYmUgaGVsZC4KKyAqLworc3RhdGljIHZvaWQKK2ZsaXBfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqdHIxLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICp0cjIpCit7CisJc3RydWN0IGxpc3RfaGVhZCBmbGlwX3BhZ2VzOworCisJSU5JVF9MSVNUX0hFQUQoJmZsaXBfcGFnZXMpOworCisJbWVtY3B5KCZ0cjEtPnRyYWNlX2hlYWRfaWR4LCAmdHIyLT50cmFjZV9oZWFkX2lkeCwKKwkJc2l6ZW9mKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUpIC0KKwkJb2Zmc2V0b2Yoc3RydWN0IHRyYWNlX2FycmF5X2NwdSwgdHJhY2VfaGVhZF9pZHgpKTsKKworCWNoZWNrX3BhZ2VzKHRyMSk7CisJY2hlY2tfcGFnZXModHIyKTsKKwlsaXN0X3NwbGljZV9pbml0KCZ0cjEtPnRyYWNlX3BhZ2VzLCAmZmxpcF9wYWdlcyk7CisJbGlzdF9zcGxpY2VfaW5pdCgmdHIyLT50cmFjZV9wYWdlcywgJnRyMS0+dHJhY2VfcGFnZXMpOworCWxpc3Rfc3BsaWNlX2luaXQoJmZsaXBfcGFnZXMsICZ0cjItPnRyYWNlX3BhZ2VzKTsKKwlCVUdfT04oIWxpc3RfZW1wdHkoJmZsaXBfcGFnZXMpKTsKKwljaGVja19wYWdlcyh0cjEpOworCWNoZWNrX3BhZ2VzKHRyMik7Cit9CisKKy8qKgorICogdXBkYXRlX21heF90ciAtIHNuYXBzaG90IGFsbCB0cmFjZSBidWZmZXJzIGZyb20gZ2xvYmFsX3RyYWNlIHRvIG1heF90cgorICogQHRyOiB0cmFjZXIKKyAqIEB0c2s6IHRoZSB0YXNrIHdpdGggdGhlIGxhdGVuY3kKKyAqIEBjcHU6IFRoZSBjcHUgdGhhdCBpbml0aWF0ZWQgdGhlIHRyYWNlLgorICoKKyAqIEZsaXAgdGhlIGJ1ZmZlcnMgYmV0d2VlbiB0aGUgQHRyIGFuZCB0aGUgbWF4X3RyIGFuZCByZWNvcmQgaW5mb3JtYXRpb24KKyAqIGFib3V0IHdoaWNoIHRhc2sgd2FzIHRoZSBjYXVzZSBvZiB0aGlzIGxhdGVuY3kuCisgKi8KK3ZvaWQKK3VwZGF0ZV9tYXhfdHIoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjcHUpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwlpbnQgaTsKKworCVdBUk5fT05fT05DRSghaXJxc19kaXNhYmxlZCgpKTsKKwlfX3Jhd19zcGluX2xvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJLyogY2xlYXIgb3V0IGFsbCB0aGUgcHJldmlvdXMgdHJhY2VzICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQlkYXRhID0gdHItPmRhdGFbaV07CisJCWZsaXBfdHJhY2UobWF4X3RyLmRhdGFbaV0sIGRhdGEpOworCQl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCX0KKworCV9fdXBkYXRlX21heF90cih0ciwgdHNrLCBjcHUpOworCV9fcmF3X3NwaW5fdW5sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworfQorCisvKioKKyAqIHVwZGF0ZV9tYXhfdHJfc2luZ2xlIC0gb25seSBjb3B5IG9uZSB0cmFjZSBvdmVyLCBhbmQgcmVzZXQgdGhlIHJlc3QKKyAqIEB0ciAtIHRyYWNlcgorICogQHRzayAtIHRhc2sgd2l0aCB0aGUgbGF0ZW5jeQorICogQGNwdSAtIHRoZSBjcHUgb2YgdGhlIGJ1ZmZlciB0byBjb3B5LgorICoKKyAqIEZsaXAgdGhlIHRyYWNlIG9mIGEgc2luZ2xlIENQVSBidWZmZXIgYmV0d2VlbiB0aGUgQHRyIGFuZCB0aGUgbWF4X3RyLgorICovCit2b2lkCit1cGRhdGVfbWF4X3RyX3NpbmdsZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlpbnQgaTsKKworCVdBUk5fT05fT05DRSghaXJxc19kaXNhYmxlZCgpKTsKKwlfX3Jhd19zcGluX2xvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkKKwkJdHJhY2luZ19yZXNldChtYXhfdHIuZGF0YVtpXSk7CisKKwlmbGlwX3RyYWNlKG1heF90ci5kYXRhW2NwdV0sIGRhdGEpOworCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisKKwlfX3VwZGF0ZV9tYXhfdHIodHIsIHRzaywgY3B1KTsKKwlfX3Jhd19zcGluX3VubG9jaygmZnRyYWNlX21heF9sb2NrKTsKK30KKworLyoqCisgKiByZWdpc3Rlcl90cmFjZXIgLSByZWdpc3RlciBhIHRyYWNlciB3aXRoIHRoZSBmdHJhY2Ugc3lzdGVtLgorICogQHR5cGUgLSB0aGUgcGx1Z2luIGZvciB0aGUgdHJhY2VyCisgKgorICogUmVnaXN0ZXIgYSBuZXcgcGx1Z2luIHRyYWNlci4KKyAqLworaW50IHJlZ2lzdGVyX3RyYWNlcihzdHJ1Y3QgdHJhY2VyICp0eXBlKQoreworCXN0cnVjdCB0cmFjZXIgKnQ7CisJaW50IGxlbjsKKwlpbnQgcmV0ID0gMDsKKworCWlmICghdHlwZS0+bmFtZSkgeworCQlwcl9pbmZvKCJUcmFjZXIgbXVzdCBoYXZlIGEgbmFtZVxuIik7CisJCXJldHVybiAtMTsKKwl9CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlmb3IgKHQgPSB0cmFjZV90eXBlczsgdDsgdCA9IHQtPm5leHQpIHsKKwkJaWYgKHN0cmNtcCh0eXBlLT5uYW1lLCB0LT5uYW1lKSA9PSAwKSB7CisJCQkvKiBhbHJlYWR5IGZvdW5kICovCisJCQlwcl9pbmZvKCJUcmFjZSAlcyBhbHJlYWR5IHJlZ2lzdGVyZWRcbiIsCisJCQkJdHlwZS0+bmFtZSk7CisJCQlyZXQgPSAtMTsKKwkJCWdvdG8gb3V0OworCQl9CisJfQorCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TVEFSVFVQX1RFU1QKKwlpZiAodHlwZS0+c2VsZnRlc3QpIHsKKwkJc3RydWN0IHRyYWNlciAqc2F2ZWRfdHJhY2VyID0gY3VycmVudF90cmFjZTsKKwkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwkJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICZnbG9iYWxfdHJhY2U7CisJCWludCBzYXZlZF9jdHJsID0gdHItPmN0cmw7CisJCWludCBpOworCQkvKgorCQkgKiBSdW4gYSBzZWxmdGVzdCBvbiB0aGlzIHRyYWNlci4KKwkJICogSGVyZSB3ZSByZXNldCB0aGUgdHJhY2UgYnVmZmVyLCBhbmQgc2V0IHRoZSBjdXJyZW50CisJCSAqIHRyYWNlciB0byBiZSB0aGlzIHRyYWNlci4gVGhlIHRyYWNlciBjYW4gdGhlbiBydW4gc29tZQorCQkgKiBpbnRlcm5hbCB0cmFjaW5nIHRvIHZlcmlmeSB0aGF0IGV2ZXJ5dGhpbmcgaXMgaW4gb3JkZXIuCisJCSAqIElmIHdlIGZhaWwsIHdlIGRvIG5vdCByZWdpc3RlciB0aGlzIHRyYWNlci4KKwkJICovCisJCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJCWRhdGEgPSB0ci0+ZGF0YVtpXTsKKwkJCWlmICghaGVhZF9wYWdlKGRhdGEpKQorCQkJCWNvbnRpbnVlOworCQkJdHJhY2luZ19yZXNldChkYXRhKTsKKwkJfQorCQljdXJyZW50X3RyYWNlID0gdHlwZTsKKwkJdHItPmN0cmwgPSAwOworCQkvKiB0aGUgdGVzdCBpcyByZXNwb25zaWJsZSBmb3IgaW5pdGlhbGl6aW5nIGFuZCBlbmFibGluZyAqLworCQlwcl9pbmZvKCJUZXN0aW5nIHRyYWNlciAlczogIiwgdHlwZS0+bmFtZSk7CisJCXJldCA9IHR5cGUtPnNlbGZ0ZXN0KHR5cGUsIHRyKTsKKwkJLyogdGhlIHRlc3QgaXMgcmVzcG9uc2libGUgZm9yIHJlc2V0dGluZyB0b28gKi8KKwkJY3VycmVudF90cmFjZSA9IHNhdmVkX3RyYWNlcjsKKwkJdHItPmN0cmwgPSBzYXZlZF9jdHJsOworCQlpZiAocmV0KSB7CisJCQlwcmludGsoS0VSTl9DT05UICJGQUlMRUQhXG4iKTsKKwkJCWdvdG8gb3V0OworCQl9CisJCS8qIE9ubHkgcmVzZXQgb24gcGFzc2luZywgdG8gYXZvaWQgdG91Y2hpbmcgY29ycnVwdGVkIGJ1ZmZlcnMgKi8KKwkJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQkJZGF0YSA9IHRyLT5kYXRhW2ldOworCQkJaWYgKCFoZWFkX3BhZ2UoZGF0YSkpCisJCQkJY29udGludWU7CisJCQl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCQl9CisJCXByaW50ayhLRVJOX0NPTlQgIlBBU1NFRFxuIik7CisJfQorI2VuZGlmCisKKwl0eXBlLT5uZXh0ID0gdHJhY2VfdHlwZXM7CisJdHJhY2VfdHlwZXMgPSB0eXBlOworCWxlbiA9IHN0cmxlbih0eXBlLT5uYW1lKTsKKwlpZiAobGVuID4gbWF4X3RyYWNlcl90eXBlX2xlbikKKwkJbWF4X3RyYWNlcl90eXBlX2xlbiA9IGxlbjsKKworIG91dDoKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKwordm9pZCB1bnJlZ2lzdGVyX3RyYWNlcihzdHJ1Y3QgdHJhY2VyICp0eXBlKQoreworCXN0cnVjdCB0cmFjZXIgKip0OworCWludCBsZW47CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlmb3IgKHQgPSAmdHJhY2VfdHlwZXM7ICp0OyB0ID0gJigqdCktPm5leHQpIHsKKwkJaWYgKCp0ID09IHR5cGUpCisJCQlnb3RvIGZvdW5kOworCX0KKwlwcl9pbmZvKCJUcmFjZSAlcyBub3QgcmVnaXN0ZXJlZFxuIiwgdHlwZS0+bmFtZSk7CisJZ290byBvdXQ7CisKKyBmb3VuZDoKKwkqdCA9ICgqdCktPm5leHQ7CisJaWYgKHN0cmxlbih0eXBlLT5uYW1lKSAhPSBtYXhfdHJhY2VyX3R5cGVfbGVuKQorCQlnb3RvIG91dDsKKworCW1heF90cmFjZXJfdHlwZV9sZW4gPSAwOworCWZvciAodCA9ICZ0cmFjZV90eXBlczsgKnQ7IHQgPSAmKCp0KS0+bmV4dCkgeworCQlsZW4gPSBzdHJsZW4oKCp0KS0+bmFtZSk7CisJCWlmIChsZW4gPiBtYXhfdHJhY2VyX3R5cGVfbGVuKQorCQkJbWF4X3RyYWNlcl90eXBlX2xlbiA9IGxlbjsKKwl9Cisgb3V0OgorCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7Cit9CisKK3ZvaWQgdHJhY2luZ19yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCWRhdGEtPnRyYWNlX2lkeCA9IDA7CisJZGF0YS0+b3ZlcnJ1biA9IDA7CisJZGF0YS0+dHJhY2VfaGVhZCA9IGRhdGEtPnRyYWNlX3RhaWwgPSBoZWFkX3BhZ2UoZGF0YSk7CisJZGF0YS0+dHJhY2VfaGVhZF9pZHggPSAwOworCWRhdGEtPnRyYWNlX3RhaWxfaWR4ID0gMDsKK30KKworI2RlZmluZSBTQVZFRF9DTURMSU5FUyAxMjgKK3N0YXRpYyB1bnNpZ25lZCBtYXBfcGlkX3RvX2NtZGxpbmVbUElEX01BWF9ERUZBVUxUKzFdOworc3RhdGljIHVuc2lnbmVkIG1hcF9jbWRsaW5lX3RvX3BpZFtTQVZFRF9DTURMSU5FU107CitzdGF0aWMgY2hhciBzYXZlZF9jbWRsaW5lc1tTQVZFRF9DTURMSU5FU11bVEFTS19DT01NX0xFTl07CitzdGF0aWMgaW50IGNtZGxpbmVfaWR4Oworc3RhdGljIERFRklORV9TUElOTE9DSyh0cmFjZV9jbWRsaW5lX2xvY2spOworCisvKiB0ZW1wb3JhcnkgZGlzYWJsZSByZWNvcmRpbmcgKi8KK2F0b21pY190IHRyYWNlX3JlY29yZF9jbWRsaW5lX2Rpc2FibGVkIF9fcmVhZF9tb3N0bHk7CisKK3N0YXRpYyB2b2lkIHRyYWNlX2luaXRfY21kbGluZXModm9pZCkKK3sKKwltZW1zZXQoJm1hcF9waWRfdG9fY21kbGluZSwgLTEsIHNpemVvZihtYXBfcGlkX3RvX2NtZGxpbmUpKTsKKwltZW1zZXQoJm1hcF9jbWRsaW5lX3RvX3BpZCwgLTEsIHNpemVvZihtYXBfY21kbGluZV90b19waWQpKTsKKwljbWRsaW5lX2lkeCA9IDA7Cit9CisKK3ZvaWQgdHJhY2Vfc3RvcF9jbWRsaW5lX3JlY29yZGluZyh2b2lkKTsKKworc3RhdGljIHZvaWQgdHJhY2Vfc2F2ZV9jbWRsaW5lKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQoreworCXVuc2lnbmVkIG1hcDsKKwl1bnNpZ25lZCBpZHg7CisKKwlpZiAoIXRzay0+cGlkIHx8IHVubGlrZWx5KHRzay0+cGlkID4gUElEX01BWF9ERUZBVUxUKSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBJdCdzIG5vdCB0aGUgZW5kIG9mIHRoZSB3b3JsZCBpZiB3ZSBkb24ndCBnZXQKKwkgKiB0aGUgbG9jaywgYnV0IHdlIGFsc28gZG9uJ3Qgd2FudCB0byBzcGluCisJICogbm9yIGRvIHdlIHdhbnQgdG8gZGlzYWJsZSBpbnRlcnJ1cHRzLAorCSAqIHNvIGlmIHdlIG1pc3MgaGVyZSwgdGhlbiBiZXR0ZXIgbHVjayBuZXh0IHRpbWUuCisJICovCisJaWYgKCFzcGluX3RyeWxvY2soJnRyYWNlX2NtZGxpbmVfbG9jaykpCisJCXJldHVybjsKKworCWlkeCA9IG1hcF9waWRfdG9fY21kbGluZVt0c2stPnBpZF07CisJaWYgKGlkeCA+PSBTQVZFRF9DTURMSU5FUykgeworCQlpZHggPSAoY21kbGluZV9pZHggKyAxKSAlIFNBVkVEX0NNRExJTkVTOworCisJCW1hcCA9IG1hcF9jbWRsaW5lX3RvX3BpZFtpZHhdOworCQlpZiAobWFwIDw9IFBJRF9NQVhfREVGQVVMVCkKKwkJCW1hcF9waWRfdG9fY21kbGluZVttYXBdID0gKHVuc2lnbmVkKS0xOworCisJCW1hcF9waWRfdG9fY21kbGluZVt0c2stPnBpZF0gPSBpZHg7CisKKwkJY21kbGluZV9pZHggPSBpZHg7CisJfQorCisJbWVtY3B5KCZzYXZlZF9jbWRsaW5lc1tpZHhdLCB0c2stPmNvbW0sIFRBU0tfQ09NTV9MRU4pOworCisJc3Bpbl91bmxvY2soJnRyYWNlX2NtZGxpbmVfbG9jayk7Cit9CisKK3N0YXRpYyBjaGFyICp0cmFjZV9maW5kX2NtZGxpbmUoaW50IHBpZCkKK3sKKwljaGFyICpjbWRsaW5lID0gIjwuLi4+IjsKKwl1bnNpZ25lZCBtYXA7CisKKwlpZiAoIXBpZCkKKwkJcmV0dXJuICI8aWRsZT4iOworCisJaWYgKHBpZCA+IFBJRF9NQVhfREVGQVVMVCkKKwkJZ290byBvdXQ7CisKKwltYXAgPSBtYXBfcGlkX3RvX2NtZGxpbmVbcGlkXTsKKwlpZiAobWFwID49IFNBVkVEX0NNRExJTkVTKQorCQlnb3RvIG91dDsKKworCWNtZGxpbmUgPSBzYXZlZF9jbWRsaW5lc1ttYXBdOworCisgb3V0OgorCXJldHVybiBjbWRsaW5lOworfQorCit2b2lkIHRyYWNpbmdfcmVjb3JkX2NtZGxpbmUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCit7CisJaWYgKGF0b21pY19yZWFkKCZ0cmFjZV9yZWNvcmRfY21kbGluZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCXRyYWNlX3NhdmVfY21kbGluZSh0c2spOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBsaXN0X2hlYWQgKgordHJhY2VfbmV4dF9saXN0KHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsIHN0cnVjdCBsaXN0X2hlYWQgKm5leHQpCit7CisJLyoKKwkgKiBSb3VuZHJvYmluIC0gYnV0IHNraXAgdGhlIGhlYWQgKHdoaWNoIGlzIG5vdCBhIHJlYWwgcGFnZSk6CisJICovCisJbmV4dCA9IG5leHQtPm5leHQ7CisJaWYgKHVubGlrZWx5KG5leHQgPT0gJmRhdGEtPnRyYWNlX3BhZ2VzKSkKKwkJbmV4dCA9IG5leHQtPm5leHQ7CisJQlVHX09OKG5leHQgPT0gJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKworCXJldHVybiBuZXh0OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgKgordHJhY2VfbmV4dF9wYWdlKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsIHZvaWQgKmFkZHIpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqbmV4dDsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoYWRkcik7CisKKwluZXh0ID0gdHJhY2VfbmV4dF9saXN0KGRhdGEsICZwYWdlLT5scnUpOworCXBhZ2UgPSBsaXN0X2VudHJ5KG5leHQsIHN0cnVjdCBwYWdlLCBscnUpOworCisJcmV0dXJuIHBhZ2VfYWRkcmVzcyhwYWdlKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgdHJhY2VfZW50cnkgKgordHJhY2luZ19nZXRfdHJhY2VfZW50cnkoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIGlkeCwgaWR4X25leHQ7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKworCWRhdGEtPnRyYWNlX2lkeCsrOworCWlkeCA9IGRhdGEtPnRyYWNlX2hlYWRfaWR4OworCWlkeF9uZXh0ID0gaWR4ICsgMTsKKworCUJVR19PTihpZHggKiBUUkFDRV9FTlRSWV9TSVpFID49IFBBR0VfU0laRSk7CisKKwllbnRyeSA9IGRhdGEtPnRyYWNlX2hlYWQgKyBpZHggKiBUUkFDRV9FTlRSWV9TSVpFOworCisJaWYgKHVubGlrZWx5KGlkeF9uZXh0ID49IEVOVFJJRVNfUEVSX1BBR0UpKSB7CisJCWRhdGEtPnRyYWNlX2hlYWQgPSB0cmFjZV9uZXh0X3BhZ2UoZGF0YSwgZGF0YS0+dHJhY2VfaGVhZCk7CisJCWlkeF9uZXh0ID0gMDsKKwl9CisKKwlpZiAoZGF0YS0+dHJhY2VfaGVhZCA9PSBkYXRhLT50cmFjZV90YWlsICYmCisJICAgIGlkeF9uZXh0ID09IGRhdGEtPnRyYWNlX3RhaWxfaWR4KSB7CisJCS8qIG92ZXJydW4gKi8KKwkJZGF0YS0+b3ZlcnJ1bisrOworCQlkYXRhLT50cmFjZV90YWlsX2lkeCsrOworCQlpZiAoZGF0YS0+dHJhY2VfdGFpbF9pZHggPj0gRU5UUklFU19QRVJfUEFHRSkgeworCQkJZGF0YS0+dHJhY2VfdGFpbCA9CisJCQkJdHJhY2VfbmV4dF9wYWdlKGRhdGEsIGRhdGEtPnRyYWNlX3RhaWwpOworCQkJZGF0YS0+dHJhY2VfdGFpbF9pZHggPSAwOworCQl9CisJfQorCisJZGF0YS0+dHJhY2VfaGVhZF9pZHggPSBpZHhfbmV4dDsKKworCXJldHVybiBlbnRyeTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCit0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKHN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnksIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OworCXVuc2lnbmVkIGxvbmcgcGM7CisKKwlwYyA9IHByZWVtcHRfY291bnQoKTsKKworCWVudHJ5LT5wcmVlbXB0X2NvdW50CT0gcGMgJiAweGZmOworCWVudHJ5LT5waWQJCT0gKHRzaykgPyB0c2stPnBpZCA6IDA7CisJZW50cnktPnQJCT0gZnRyYWNlX25vdyhyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwllbnRyeS0+ZmxhZ3MgPSAoaXJxc19kaXNhYmxlZF9mbGFncyhmbGFncykgPyBUUkFDRV9GTEFHX0lSUVNfT0ZGIDogMCkgfAorCQkoKHBjICYgSEFSRElSUV9NQVNLKSA/IFRSQUNFX0ZMQUdfSEFSRElSUSA6IDApIHwKKwkJKChwYyAmIFNPRlRJUlFfTUFTSykgPyBUUkFDRV9GTEFHX1NPRlRJUlEgOiAwKSB8CisJCShuZWVkX3Jlc2NoZWQoKSA/IFRSQUNFX0ZMQUdfTkVFRF9SRVNDSEVEIDogMCk7Cit9CisKK3ZvaWQKK3RyYWNlX2Z1bmN0aW9uKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJICAgICAgIHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwLCB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgZmxhZ3MpOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX0ZOOworCWVudHJ5LT5mbi5pcAkJPSBpcDsKKwllbnRyeS0+Zm4ucGFyZW50X2lwCT0gcGFyZW50X2lwOworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKK30KKwordm9pZAorZnRyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisgICAgICAgdW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJaWYgKGxpa2VseSghYXRvbWljX3JlYWQoJmRhdGEtPmRpc2FibGVkKSkpCisJCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBpcCwgcGFyZW50X2lwLCBmbGFncyk7Cit9CisKKyNpZmRlZiBDT05GSUdfTU1JT1RSQUNFCit2b2lkIF9fdHJhY2VfbW1pb3RyYWNlX3J3KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkJCQlzdHJ1Y3QgbW1pb3RyYWNlX3J3ICpydykKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgMCk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfTU1JT19SVzsKKwllbnRyeS0+bW1pb3J3CQk9ICpydzsKKworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKKworCXRyYWNlX3dha2VfdXAoKTsKK30KKwordm9pZCBfX3RyYWNlX21taW90cmFjZV9tYXAoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQkJCXN0cnVjdCBtbWlvdHJhY2VfbWFwICptYXApCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShpcnFfZmxhZ3MpOworCV9fcmF3X3NwaW5fbG9jaygmZGF0YS0+bG9jayk7CisKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIDApOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX01NSU9fTUFQOworCWVudHJ5LT5tbWlvbWFwCQk9ICptYXA7CisKKwlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGlycV9mbGFncyk7CisKKwl0cmFjZV93YWtlX3VwKCk7Cit9CisjZW5kaWYKKwordm9pZCBfX3RyYWNlX3N0YWNrKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCSAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCSAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCisJCSAgIGludCBza2lwKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJc3RydWN0IHN0YWNrX3RyYWNlIHRyYWNlOworCisJaWYgKCEodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1NUQUNLVFJBQ0UpKQorCQlyZXR1cm47CisKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIGZsYWdzKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9TVEFDSzsKKworCW1lbXNldCgmZW50cnktPnN0YWNrLCAwLCBzaXplb2YoZW50cnktPnN0YWNrKSk7CisKKwl0cmFjZS5ucl9lbnRyaWVzCT0gMDsKKwl0cmFjZS5tYXhfZW50cmllcwk9IEZUUkFDRV9TVEFDS19FTlRSSUVTOworCXRyYWNlLnNraXAJCT0gc2tpcDsKKwl0cmFjZS5lbnRyaWVzCQk9IGVudHJ5LT5zdGFjay5jYWxsZXI7CisKKwlzYXZlX3N0YWNrX3RyYWNlKCZ0cmFjZSk7Cit9CisKK3ZvaWQKK19fdHJhY2Vfc3BlY2lhbCh2b2lkICpfX3RyLCB2b2lkICpfX2RhdGEsCisJCXVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IF9fZGF0YTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gX190cjsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIDApOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX1NQRUNJQUw7CisJZW50cnktPnNwZWNpYWwuYXJnMQk9IGFyZzE7CisJZW50cnktPnNwZWNpYWwuYXJnMgk9IGFyZzI7CisJZW50cnktPnNwZWNpYWwuYXJnMwk9IGFyZzM7CisJX190cmFjZV9zdGFjayh0ciwgZGF0YSwgaXJxX2ZsYWdzLCA0KTsKKwlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGlycV9mbGFncyk7CisKKwl0cmFjZV93YWtlX3VwKCk7Cit9CisKK3ZvaWQKK3RyYWNpbmdfc2NoZWRfc3dpdGNoX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJICAgc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LAorCQkJICAgc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0LAorCQkJICAgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIGZsYWdzKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9DVFg7CisJZW50cnktPmN0eC5wcmV2X3BpZAk9IHByZXYtPnBpZDsKKwllbnRyeS0+Y3R4LnByZXZfcHJpbwk9IHByZXYtPnByaW87CisJZW50cnktPmN0eC5wcmV2X3N0YXRlCT0gcHJldi0+c3RhdGU7CisJZW50cnktPmN0eC5uZXh0X3BpZAk9IG5leHQtPnBpZDsKKwllbnRyeS0+Y3R4Lm5leHRfcHJpbwk9IG5leHQtPnByaW87CisJZW50cnktPmN0eC5uZXh0X3N0YXRlCT0gbmV4dC0+c3RhdGU7CisJX190cmFjZV9zdGFjayh0ciwgZGF0YSwgZmxhZ3MsIDUpOworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKK30KKwordm9pZAordHJhY2luZ19zY2hlZF93YWtldXBfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCSAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKndha2VlLAorCQkJICAgc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyLAorCQkJICAgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIGZsYWdzKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9XQUtFOworCWVudHJ5LT5jdHgucHJldl9waWQJPSBjdXJyLT5waWQ7CisJZW50cnktPmN0eC5wcmV2X3ByaW8JPSBjdXJyLT5wcmlvOworCWVudHJ5LT5jdHgucHJldl9zdGF0ZQk9IGN1cnItPnN0YXRlOworCWVudHJ5LT5jdHgubmV4dF9waWQJPSB3YWtlZS0+cGlkOworCWVudHJ5LT5jdHgubmV4dF9wcmlvCT0gd2FrZWUtPnByaW87CisJZW50cnktPmN0eC5uZXh0X3N0YXRlCT0gd2FrZWUtPnN0YXRlOworCV9fdHJhY2Vfc3RhY2sodHIsIGRhdGEsIGZsYWdzLCA2KTsKKwlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGlycV9mbGFncyk7CisKKwl0cmFjZV93YWtlX3VwKCk7Cit9CisKK3ZvaWQKK2Z0cmFjZV9zcGVjaWFsKHVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICZnbG9iYWxfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IGNwdTsKKworCWlmICh0cmFjaW5nX2Rpc2FibGVkIHx8IGN1cnJlbnRfdHJhY2UgPT0gJm5vX3RyYWNlciB8fCAhdHItPmN0cmwpCisJCXJldHVybjsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKworCWlmIChsaWtlbHkoZGlzYWJsZWQgPT0gMSkpCisJCV9fdHJhY2Vfc3BlY2lhbCh0ciwgZGF0YSwgYXJnMSwgYXJnMiwgYXJnMyk7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorc3RhdGljIHZvaWQKK2Z1bmN0aW9uX3RyYWNlX2NhbGwodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICZnbG9iYWxfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IGNwdTsKKworCWlmICh1bmxpa2VseSghZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQpKQorCQlyZXR1cm47CisKKwlpZiAoc2tpcF90cmFjZShpcCkpCisJCXJldHVybjsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKworCWlmIChsaWtlbHkoZGlzYWJsZWQgPT0gMSkpCisJCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBpcCwgcGFyZW50X2lwLCBmbGFncyk7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9vcHMgdHJhY2Vfb3BzIF9fcmVhZF9tb3N0bHkgPQoreworCS5mdW5jID0gZnVuY3Rpb25fdHJhY2VfY2FsbCwKK307CisKK3ZvaWQgdHJhY2luZ19zdGFydF9mdW5jdGlvbl90cmFjZSh2b2lkKQoreworCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMDsKKwlyZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7CisJaWYgKHRyYWNlcl9lbmFibGVkKQorCQlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCA9IDE7Cit9CisKK3ZvaWQgdHJhY2luZ19zdG9wX2Z1bmN0aW9uX3RyYWNlKHZvaWQpCit7CisJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQgPSAwOworCXVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworfQorI2VuZGlmCisKK2VudW0gdHJhY2VfZmlsZV90eXBlIHsKKwlUUkFDRV9GSUxFX0xBVF9GTVQJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCB0cmFjZV9lbnRyeSAqCit0cmFjZV9lbnRyeV9pZHgoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyLCBpbnQgY3B1KQoreworCXN0cnVjdCBwYWdlICpwYWdlOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqYXJyYXk7CisKKwlpZiAoaXRlci0+bmV4dF9pZHhbY3B1XSA+PSB0ci0+ZW50cmllcyB8fAorCSAgICBpdGVyLT5uZXh0X2lkeFtjcHVdID49IGRhdGEtPnRyYWNlX2lkeCB8fAorCSAgICAoZGF0YS0+dHJhY2VfaGVhZCA9PSBkYXRhLT50cmFjZV90YWlsICYmCisJICAgICBkYXRhLT50cmFjZV9oZWFkX2lkeCA9PSBkYXRhLT50cmFjZV90YWlsX2lkeCkpCisJCXJldHVybiBOVUxMOworCisJaWYgKCFpdGVyLT5uZXh0X3BhZ2VbY3B1XSkgeworCQkvKiBJbml0aWFsaXplIHRoZSBpdGVyYXRvciBmb3IgdGhpcyBjcHUgdHJhY2UgYnVmZmVyICovCisJCVdBUk5fT04oIWRhdGEtPnRyYWNlX3RhaWwpOworCQlwYWdlID0gdmlydF90b19wYWdlKGRhdGEtPnRyYWNlX3RhaWwpOworCQlpdGVyLT5uZXh0X3BhZ2VbY3B1XSA9ICZwYWdlLT5scnU7CisJCWl0ZXItPm5leHRfcGFnZV9pZHhbY3B1XSA9IGRhdGEtPnRyYWNlX3RhaWxfaWR4OworCX0KKworCXBhZ2UgPSBsaXN0X2VudHJ5KGl0ZXItPm5leHRfcGFnZVtjcHVdLCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwlCVUdfT04oJmRhdGEtPnRyYWNlX3BhZ2VzID09ICZwYWdlLT5scnUpOworCisJYXJyYXkgPSBwYWdlX2FkZHJlc3MocGFnZSk7CisKKwlXQVJOX09OKGl0ZXItPm5leHRfcGFnZV9pZHhbY3B1XSA+PSBFTlRSSUVTX1BFUl9QQUdFKTsKKwlyZXR1cm4gJmFycmF5W2l0ZXItPm5leHRfcGFnZV9pZHhbY3B1XV07Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfZW50cnkgKgorZmluZF9uZXh0X2VudHJ5KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciwgaW50ICplbnRfY3B1KQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBpdGVyLT50cjsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudCwgKm5leHQgPSBOVUxMOworCWludCBuZXh0X2NwdSA9IC0xOworCWludCBjcHU7CisKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpIHsKKwkJaWYgKCFoZWFkX3BhZ2UodHItPmRhdGFbY3B1XSkpCisJCQljb250aW51ZTsKKwkJZW50ID0gdHJhY2VfZW50cnlfaWR4KHRyLCB0ci0+ZGF0YVtjcHVdLCBpdGVyLCBjcHUpOworCQkvKgorCQkgKiBQaWNrIHRoZSBlbnRyeSB3aXRoIHRoZSBzbWFsbGVzdCB0aW1lc3RhbXA6CisJCSAqLworCQlpZiAoZW50ICYmICghbmV4dCB8fCBlbnQtPnQgPCBuZXh0LT50KSkgeworCQkJbmV4dCA9IGVudDsKKwkJCW5leHRfY3B1ID0gY3B1OworCQl9CisJfQorCisJaWYgKGVudF9jcHUpCisJCSplbnRfY3B1ID0gbmV4dF9jcHU7CisKKwlyZXR1cm4gbmV4dDsKK30KKworc3RhdGljIHZvaWQgdHJhY2VfaXRlcmF0b3JfaW5jcmVtZW50KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlpdGVyLT5pZHgrKzsKKwlpdGVyLT5uZXh0X2lkeFtpdGVyLT5jcHVdKys7CisJaXRlci0+bmV4dF9wYWdlX2lkeFtpdGVyLT5jcHVdKys7CisKKwlpZiAoaXRlci0+bmV4dF9wYWdlX2lkeFtpdGVyLT5jcHVdID49IEVOVFJJRVNfUEVSX1BBR0UpIHsKKwkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2l0ZXItPmNwdV07CisKKwkJaXRlci0+bmV4dF9wYWdlX2lkeFtpdGVyLT5jcHVdID0gMDsKKwkJaXRlci0+bmV4dF9wYWdlW2l0ZXItPmNwdV0gPQorCQkJdHJhY2VfbmV4dF9saXN0KGRhdGEsIGl0ZXItPm5leHRfcGFnZVtpdGVyLT5jcHVdKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHRyYWNlX2NvbnN1bWUoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSBpdGVyLT50ci0+ZGF0YVtpdGVyLT5jcHVdOworCisJZGF0YS0+dHJhY2VfdGFpbF9pZHgrKzsKKwlpZiAoZGF0YS0+dHJhY2VfdGFpbF9pZHggPj0gRU5UUklFU19QRVJfUEFHRSkgeworCQlkYXRhLT50cmFjZV90YWlsID0gdHJhY2VfbmV4dF9wYWdlKGRhdGEsIGRhdGEtPnRyYWNlX3RhaWwpOworCQlkYXRhLT50cmFjZV90YWlsX2lkeCA9IDA7CisJfQorCisJLyogQ2hlY2sgaWYgd2UgZW1wdHkgaXQsIHRoZW4gcmVzZXQgdGhlIGluZGV4ICovCisJaWYgKGRhdGEtPnRyYWNlX2hlYWQgPT0gZGF0YS0+dHJhY2VfdGFpbCAmJgorCSAgICBkYXRhLT50cmFjZV9oZWFkX2lkeCA9PSBkYXRhLT50cmFjZV90YWlsX2lkeCkKKwkJZGF0YS0+dHJhY2VfaWR4ID0gMDsKK30KKworc3RhdGljIHZvaWQgKmZpbmRfbmV4dF9lbnRyeV9pbmMoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqbmV4dDsKKwlpbnQgbmV4dF9jcHUgPSAtMTsKKworCW5leHQgPSBmaW5kX25leHRfZW50cnkoaXRlciwgJm5leHRfY3B1KTsKKworCWl0ZXItPnByZXZfZW50ID0gaXRlci0+ZW50OworCWl0ZXItPnByZXZfY3B1ID0gaXRlci0+Y3B1OworCisJaXRlci0+ZW50ID0gbmV4dDsKKwlpdGVyLT5jcHUgPSBuZXh0X2NwdTsKKworCWlmIChuZXh0KQorCQl0cmFjZV9pdGVyYXRvcl9pbmNyZW1lbnQoaXRlcik7CisKKwlyZXR1cm4gbmV4dCA/IGl0ZXIgOiBOVUxMOworfQorCitzdGF0aWMgdm9pZCAqc19uZXh0KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdiwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gbS0+cHJpdmF0ZTsKKwl2b2lkICpsYXN0X2VudCA9IGl0ZXItPmVudDsKKwlpbnQgaSA9IChpbnQpKnBvczsKKwl2b2lkICplbnQ7CisKKwkoKnBvcykrKzsKKworCS8qIGNhbid0IGdvIGJhY2t3YXJkcyAqLworCWlmIChpdGVyLT5pZHggPiBpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChpdGVyLT5pZHggPCAwKQorCQllbnQgPSBmaW5kX25leHRfZW50cnlfaW5jKGl0ZXIpOworCWVsc2UKKwkJZW50ID0gaXRlcjsKKworCXdoaWxlIChlbnQgJiYgaXRlci0+aWR4IDwgaSkKKwkJZW50ID0gZmluZF9uZXh0X2VudHJ5X2luYyhpdGVyKTsKKworCWl0ZXItPnBvcyA9ICpwb3M7CisKKwlpZiAobGFzdF9lbnQgJiYgIWVudCkKKwkJc2VxX3B1dHMobSwgIlxuXG52aW06ZnQ9aGVscFxuIik7CisKKwlyZXR1cm4gZW50OworfQorCitzdGF0aWMgdm9pZCAqc19zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisJdm9pZCAqcCA9IE5VTEw7CisJbG9mZl90IGwgPSAwOworCWludCBpOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlpZiAoIWN1cnJlbnRfdHJhY2UgfHwgY3VycmVudF90cmFjZSAhPSBpdGVyLT50cmFjZSkgeworCQltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlhdG9taWNfaW5jKCZ0cmFjZV9yZWNvcmRfY21kbGluZV9kaXNhYmxlZCk7CisKKwkvKiBsZXQgdGhlIHRyYWNlciBncmFiIGxvY2tzIGhlcmUgaWYgbmVlZGVkICovCisJaWYgKGN1cnJlbnRfdHJhY2UtPnN0YXJ0KQorCQljdXJyZW50X3RyYWNlLT5zdGFydChpdGVyKTsKKworCWlmICgqcG9zICE9IGl0ZXItPnBvcykgeworCQlpdGVyLT5lbnQgPSBOVUxMOworCQlpdGVyLT5jcHUgPSAwOworCQlpdGVyLT5pZHggPSAtMTsKKwkJaXRlci0+cHJldl9lbnQgPSBOVUxMOworCQlpdGVyLT5wcmV2X2NwdSA9IC0xOworCisJCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJCWl0ZXItPm5leHRfaWR4W2ldID0gMDsKKwkJCWl0ZXItPm5leHRfcGFnZVtpXSA9IE5VTEw7CisJCX0KKworCQlmb3IgKHAgPSBpdGVyOyBwICYmIGwgPCAqcG9zOyBwID0gc19uZXh0KG0sIHAsICZsKSkKKwkJCTsKKworCX0gZWxzZSB7CisJCWwgPSAqcG9zIC0gMTsKKwkJcCA9IHNfbmV4dChtLCBwLCAmbCk7CisJfQorCisJcmV0dXJuIHA7Cit9CisKK3N0YXRpYyB2b2lkIHNfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnApCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gbS0+cHJpdmF0ZTsKKworCWF0b21pY19kZWMoJnRyYWNlX3JlY29yZF9jbWRsaW5lX2Rpc2FibGVkKTsKKworCS8qIGxldCB0aGUgdHJhY2VyIHJlbGVhc2UgbG9ja3MgaGVyZSBpZiBuZWVkZWQgKi8KKwlpZiAoY3VycmVudF90cmFjZSAmJiBjdXJyZW50X3RyYWNlID09IGl0ZXItPnRyYWNlICYmIGl0ZXItPnRyYWNlLT5zdG9wKQorCQlpdGVyLT50cmFjZS0+c3RvcChpdGVyKTsKKworCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7Cit9CisKKyNkZWZpbmUgS1JFVFBST0JFX01TRyAiW3Vua25vd24va3JldHByb2JlJ2RdIgorCisjaWZkZWYgQ09ORklHX0tSRVRQUk9CRVMKK3N0YXRpYyBpbmxpbmUgaW50IGtyZXRwcm9iZWQodW5zaWduZWQgbG9uZyBhZGRyKQoreworCXJldHVybiBhZGRyID09ICh1bnNpZ25lZCBsb25nKWtyZXRwcm9iZV90cmFtcG9saW5lOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGtyZXRwcm9iZWQodW5zaWduZWQgbG9uZyBhZGRyKQoreworCXJldHVybiAwOworfQorI2VuZGlmIC8qIENPTkZJR19LUkVUUFJPQkVTICovCisKK3N0YXRpYyBpbnQKK3NlcV9wcmludF9zeW1fc2hvcnQoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3QgY2hhciAqZm10LCB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCit7CisjaWZkZWYgQ09ORklHX0tBTExTWU1TCisJY2hhciBzdHJbS1NZTV9TWU1CT0xfTEVOXTsKKworCWthbGxzeW1zX2xvb2t1cChhZGRyZXNzLCBOVUxMLCBOVUxMLCBOVUxMLCBzdHIpOworCisJcmV0dXJuIHRyYWNlX3NlcV9wcmludGYocywgZm10LCBzdHIpOworI2VuZGlmCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQKK3NlcV9wcmludF9zeW1fb2Zmc2V0KHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNvbnN0IGNoYXIgKmZtdCwKKwkJICAgICB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCit7CisjaWZkZWYgQ09ORklHX0tBTExTWU1TCisJY2hhciBzdHJbS1NZTV9TWU1CT0xfTEVOXTsKKworCXNwcmludF9zeW1ib2woc3RyLCBhZGRyZXNzKTsKKwlyZXR1cm4gdHJhY2Vfc2VxX3ByaW50ZihzLCBmbXQsIHN0cik7CisjZW5kaWYKKwlyZXR1cm4gMTsKK30KKworI2lmbmRlZiBDT05GSUdfNjRCSVQKKyMgZGVmaW5lIElQX0ZNVCAiJTA4bHgiCisjZWxzZQorIyBkZWZpbmUgSVBfRk1UICIlMDE2bHgiCisjZW5kaWYKKworc3RhdGljIGludAorc2VxX3ByaW50X2lwX3N5bShzdHJ1Y3QgdHJhY2Vfc2VxICpzLCB1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHN5bV9mbGFncykKK3sKKwlpbnQgcmV0OworCisJaWYgKCFpcCkKKwkJcmV0dXJuIHRyYWNlX3NlcV9wcmludGYocywgIjAiKTsKKworCWlmIChzeW1fZmxhZ3MgJiBUUkFDRV9JVEVSX1NZTV9PRkZTRVQpCisJCXJldCA9IHNlcV9wcmludF9zeW1fb2Zmc2V0KHMsICIlcyIsIGlwKTsKKwllbHNlCisJCXJldCA9IHNlcV9wcmludF9zeW1fc2hvcnQocywgIiVzIiwgaXApOworCisJaWYgKCFyZXQpCisJCXJldHVybiAwOworCisJaWYgKHN5bV9mbGFncyAmIFRSQUNFX0lURVJfU1lNX0FERFIpCisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiA8IiBJUF9GTVQgIj4iLCBpcCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfbGF0X2hlbHBfaGVhZGVyKHN0cnVjdCBzZXFfZmlsZSAqbSkKK3sKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIyAgICAgICAgICAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmICAgICAgICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQgICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGggICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8fHx8IC8gICAgICAgICAgICAgICAgICAgICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5ICAgICAgICAgICAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIgICAgICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICBcXCAgIC8gICAgfHx8fHwgICBcXCAgIHwgICAvICAgICAgICAgICBcbiIpOworfQorCitzdGF0aWMgdm9pZCBwcmludF9mdW5jX2hlbHBfaGVhZGVyKHN0cnVjdCBzZXFfZmlsZSAqbSkKK3sKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT05cbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8XG4iKTsKK30KKworCitzdGF0aWMgdm9pZAorcHJpbnRfdHJhY2VfaGVhZGVyKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXVuc2lnbmVkIGxvbmcgc3ltX2ZsYWdzID0gKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9TWU1fTUFTSyk7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGl0ZXItPnRyOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSB0ci0+ZGF0YVt0ci0+Y3B1XTsKKwlzdHJ1Y3QgdHJhY2VyICp0eXBlID0gY3VycmVudF90cmFjZTsKKwl1bnNpZ25lZCBsb25nIHRvdGFsICAgPSAwOworCXVuc2lnbmVkIGxvbmcgZW50cmllcyA9IDA7CisJaW50IGNwdTsKKwljb25zdCBjaGFyICpuYW1lID0gInByZWVtcHRpb24iOworCisJaWYgKHR5cGUpCisJCW5hbWUgPSB0eXBlLT5uYW1lOworCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoY3B1KSB7CisJCWlmIChoZWFkX3BhZ2UodHItPmRhdGFbY3B1XSkpIHsKKwkJCXRvdGFsICs9IHRyLT5kYXRhW2NwdV0tPnRyYWNlX2lkeDsKKwkJCWlmICh0ci0+ZGF0YVtjcHVdLT50cmFjZV9pZHggPiB0ci0+ZW50cmllcykKKwkJCQllbnRyaWVzICs9IHRyLT5lbnRyaWVzOworCQkJZWxzZQorCQkJCWVudHJpZXMgKz0gdHItPmRhdGFbY3B1XS0+dHJhY2VfaWR4OworCQl9CisJfQorCisJc2VxX3ByaW50ZihtLCAiJXMgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gJXNcbiIsCisJCSAgIG5hbWUsIFVUU19SRUxFQVNFKTsKKwlzZXFfcHV0cyhtLCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCisJCSAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKKwlzZXFfcHJpbnRmKG0sICIgbGF0ZW5jeTogJWx1IHVzLCAjJWx1LyVsdSwgQ1BVIyVkIHwiCisJCSAgICIgKE06JXMgVlA6JWQsIEtQOiVkLCBTUDolZCBIUDolZCIsCisJCSAgIG5zZWNzX3RvX3VzZWNzKGRhdGEtPnNhdmVkX2xhdGVuY3kpLAorCQkgICBlbnRyaWVzLAorCQkgICB0b3RhbCwKKwkJICAgdHItPmNwdSwKKyNpZiBkZWZpbmVkKENPTkZJR19QUkVFTVBUX05PTkUpCisJCSAgICJzZXJ2ZXIiLAorI2VsaWYgZGVmaW5lZChDT05GSUdfUFJFRU1QVF9WT0xVTlRBUlkpCisJCSAgICJkZXNrdG9wIiwKKyNlbGlmIGRlZmluZWQoQ09ORklHX1BSRUVNUFQpCisJCSAgICJwcmVlbXB0IiwKKyNlbHNlCisJCSAgICJ1bmtub3duIiwKKyNlbmRpZgorCQkgICAvKiBUaGVzZSBhcmUgcmVzZXJ2ZWQgZm9yIGxhdGVyIHVzZSAqLworCQkgICAwLCAwLCAwLCAwKTsKKyNpZmRlZiBDT05GSUdfU01QCisJc2VxX3ByaW50ZihtLCAiICNQOiVkKVxuIiwgbnVtX29ubGluZV9jcHVzKCkpOworI2Vsc2UKKwlzZXFfcHV0cyhtLCAiKVxuIik7CisjZW5kaWYKKwlzZXFfcHV0cyhtLCAiICAgIC0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKKwlzZXFfcHJpbnRmKG0sICIgICAgfCB0YXNrOiAlLjE2cy0lZCAiCisJCSAgICIodWlkOiVkIG5pY2U6JWxkIHBvbGljeTolbGQgcnRfcHJpbzolbGQpXG4iLAorCQkgICBkYXRhLT5jb21tLCBkYXRhLT5waWQsIGRhdGEtPnVpZCwgZGF0YS0+bmljZSwKKwkJICAgZGF0YS0+cG9saWN5LCBkYXRhLT5ydF9wcmlvcml0eSk7CisJc2VxX3B1dHMobSwgIiAgICAtLS0tLS0tLS0tLS0tLS0tLVxuIik7CisKKwlpZiAoZGF0YS0+Y3JpdGljYWxfc3RhcnQpIHsKKwkJc2VxX3B1dHMobSwgIiA9PiBzdGFydGVkIGF0OiAiKTsKKwkJc2VxX3ByaW50X2lwX3N5bSgmaXRlci0+c2VxLCBkYXRhLT5jcml0aWNhbF9zdGFydCwgc3ltX2ZsYWdzKTsKKwkJdHJhY2VfcHJpbnRfc2VxKG0sICZpdGVyLT5zZXEpOworCQlzZXFfcHV0cyhtLCAiXG4gPT4gZW5kZWQgYXQ6ICAgIik7CisJCXNlcV9wcmludF9pcF9zeW0oJml0ZXItPnNlcSwgZGF0YS0+Y3JpdGljYWxfZW5kLCBzeW1fZmxhZ3MpOworCQl0cmFjZV9wcmludF9zZXEobSwgJml0ZXItPnNlcSk7CisJCXNlcV9wdXRzKG0sICJcbiIpOworCX0KKworCXNlcV9wdXRzKG0sICJcbiIpOworfQorCitzdGF0aWMgdm9pZAorbGF0X3ByaW50X2dlbmVyaWMoc3RydWN0IHRyYWNlX3NlcSAqcywgc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSwgaW50IGNwdSkKK3sKKwlpbnQgaGFyZGlycSwgc29mdGlycTsKKwljaGFyICpjb21tOworCisJY29tbSA9IHRyYWNlX2ZpbmRfY21kbGluZShlbnRyeS0+cGlkKTsKKworCXRyYWNlX3NlcV9wcmludGYocywgIiU4LjhzLSUtNWQgIiwgY29tbSwgZW50cnktPnBpZCk7CisJdHJhY2Vfc2VxX3ByaW50ZihzLCAiJWQiLCBjcHUpOworCXRyYWNlX3NlcV9wcmludGYocywgIiVjJWMiLAorCQkJKGVudHJ5LT5mbGFncyAmIFRSQUNFX0ZMQUdfSVJRU19PRkYpID8gJ2QnIDogJy4nLAorCQkJKChlbnRyeS0+ZmxhZ3MgJiBUUkFDRV9GTEFHX05FRURfUkVTQ0hFRCkgPyAnTicgOiAnLicpKTsKKworCWhhcmRpcnEgPSBlbnRyeS0+ZmxhZ3MgJiBUUkFDRV9GTEFHX0hBUkRJUlE7CisJc29mdGlycSA9IGVudHJ5LT5mbGFncyAmIFRSQUNFX0ZMQUdfU09GVElSUTsKKwlpZiAoaGFyZGlycSAmJiBzb2Z0aXJxKSB7CisJCXRyYWNlX3NlcV9wdXRjKHMsICdIJyk7CisJfSBlbHNlIHsKKwkJaWYgKGhhcmRpcnEpIHsKKwkJCXRyYWNlX3NlcV9wdXRjKHMsICdoJyk7CisJCX0gZWxzZSB7CisJCQlpZiAoc29mdGlycSkKKwkJCQl0cmFjZV9zZXFfcHV0YyhzLCAncycpOworCQkJZWxzZQorCQkJCXRyYWNlX3NlcV9wdXRjKHMsICcuJyk7CisJCX0KKwl9CisKKwlpZiAoZW50cnktPnByZWVtcHRfY291bnQpCisJCXRyYWNlX3NlcV9wcmludGYocywgIiV4IiwgZW50cnktPnByZWVtcHRfY291bnQpOworCWVsc2UKKwkJdHJhY2Vfc2VxX3B1dHMocywgIi4iKTsKK30KKwordW5zaWduZWQgbG9uZyBwcmVlbXB0X21hcmtfdGhyZXNoID0gMTAwOworCitzdGF0aWMgdm9pZAorbGF0X3ByaW50X3RpbWVzdGFtcChzdHJ1Y3QgdHJhY2Vfc2VxICpzLCB1bnNpZ25lZCBsb25nIGxvbmcgYWJzX3VzZWNzLAorCQkgICAgdW5zaWduZWQgbG9uZyByZWxfdXNlY3MpCit7CisJdHJhY2Vfc2VxX3ByaW50ZihzLCAiICU0bGxkdXMiLCBhYnNfdXNlY3MpOworCWlmIChyZWxfdXNlY3MgPiBwcmVlbXB0X21hcmtfdGhyZXNoKQorCQl0cmFjZV9zZXFfcHV0cyhzLCAiITogIik7CisJZWxzZSBpZiAocmVsX3VzZWNzID4gMSkKKwkJdHJhY2Vfc2VxX3B1dHMocywgIis6ICIpOworCWVsc2UKKwkJdHJhY2Vfc2VxX3B1dHMocywgIiA6ICIpOworfQorCitzdGF0aWMgY29uc3QgY2hhciBzdGF0ZV90b19jaGFyW10gPSBUQVNLX1NUQVRFX1RPX0NIQVJfU1RSOworCitzdGF0aWMgaW50CitwcmludF9sYXRfZm10KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciwgdW5zaWduZWQgaW50IHRyYWNlX2lkeCwgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBsb25nIHN5bV9mbGFncyA9ICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfU1lNX01BU0spOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqbmV4dF9lbnRyeSA9IGZpbmRfbmV4dF9lbnRyeShpdGVyLCBOVUxMKTsKKwl1bnNpZ25lZCBsb25nIHZlcmJvc2UgPSAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1ZFUkJPU0UpOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnkgPSBpdGVyLT5lbnQ7CisJdW5zaWduZWQgbG9uZyBhYnNfdXNlY3M7CisJdW5zaWduZWQgbG9uZyByZWxfdXNlY3M7CisJY2hhciAqY29tbTsKKwlpbnQgUywgVDsKKwlpbnQgaTsKKwl1bnNpZ25lZCBzdGF0ZTsKKworCWlmICghbmV4dF9lbnRyeSkKKwkJbmV4dF9lbnRyeSA9IGVudHJ5OworCXJlbF91c2VjcyA9IG5zMnVzZWNzKG5leHRfZW50cnktPnQgLSBlbnRyeS0+dCk7CisJYWJzX3VzZWNzID0gbnMydXNlY3MoZW50cnktPnQgLSBpdGVyLT50ci0+dGltZV9zdGFydCk7CisKKwlpZiAodmVyYm9zZSkgeworCQljb21tID0gdHJhY2VfZmluZF9jbWRsaW5lKGVudHJ5LT5waWQpOworCQl0cmFjZV9zZXFfcHJpbnRmKHMsICIlMTZzICU1ZCAlZCAlZCAlMDh4ICUwOHggWyUwOGx4XSIKKwkJCQkgIiAlbGQuJTAzbGRtcyAoKyVsZC4lMDNsZG1zKTogIiwKKwkJCQkgY29tbSwKKwkJCQkgZW50cnktPnBpZCwgY3B1LCBlbnRyeS0+ZmxhZ3MsCisJCQkJIGVudHJ5LT5wcmVlbXB0X2NvdW50LCB0cmFjZV9pZHgsCisJCQkJIG5zMnVzZWNzKGVudHJ5LT50KSwKKwkJCQkgYWJzX3VzZWNzLzEwMDAsCisJCQkJIGFic191c2VjcyAlIDEwMDAsIHJlbF91c2Vjcy8xMDAwLAorCQkJCSByZWxfdXNlY3MgJSAxMDAwKTsKKwl9IGVsc2UgeworCQlsYXRfcHJpbnRfZ2VuZXJpYyhzLCBlbnRyeSwgY3B1KTsKKwkJbGF0X3ByaW50X3RpbWVzdGFtcChzLCBhYnNfdXNlY3MsIHJlbF91c2Vjcyk7CisJfQorCXN3aXRjaCAoZW50cnktPnR5cGUpIHsKKwljYXNlIFRSQUNFX0ZOOgorCQlzZXFfcHJpbnRfaXBfc3ltKHMsIGVudHJ5LT5mbi5pcCwgc3ltX2ZsYWdzKTsKKwkJdHJhY2Vfc2VxX3B1dHMocywgIiAoIik7CisJCWlmIChrcmV0cHJvYmVkKGVudHJ5LT5mbi5wYXJlbnRfaXApKQorCQkJdHJhY2Vfc2VxX3B1dHMocywgS1JFVFBST0JFX01TRyk7CisJCWVsc2UKKwkJCXNlcV9wcmludF9pcF9zeW0ocywgZW50cnktPmZuLnBhcmVudF9pcCwgc3ltX2ZsYWdzKTsKKwkJdHJhY2Vfc2VxX3B1dHMocywgIilcbiIpOworCQlicmVhazsKKwljYXNlIFRSQUNFX0NUWDoKKwljYXNlIFRSQUNFX1dBS0U6CisJCVQgPSBlbnRyeS0+Y3R4Lm5leHRfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4Lm5leHRfc3RhdGVdIDogJ1gnOworCisJCXN0YXRlID0gZW50cnktPmN0eC5wcmV2X3N0YXRlID8gX19mZnMoZW50cnktPmN0eC5wcmV2X3N0YXRlKSArIDEgOiAwOworCQlTID0gc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgLSAxID8gc3RhdGVfdG9fY2hhcltzdGF0ZV0gOiAnWCc7CisJCWNvbW0gPSB0cmFjZV9maW5kX2NtZGxpbmUoZW50cnktPmN0eC5uZXh0X3BpZCk7CisJCXRyYWNlX3NlcV9wcmludGYocywgIiAlNWQ6JTNkOiVjICVzICU1ZDolM2Q6JWMgJXNcbiIsCisJCQkJIGVudHJ5LT5jdHgucHJldl9waWQsCisJCQkJIGVudHJ5LT5jdHgucHJldl9wcmlvLAorCQkJCSBTLCBlbnRyeS0+dHlwZSA9PSBUUkFDRV9DVFggPyAiPT0+IiA6ICIgICsiLAorCQkJCSBlbnRyeS0+Y3R4Lm5leHRfcGlkLAorCQkJCSBlbnRyeS0+Y3R4Lm5leHRfcHJpbywKKwkJCQkgVCwgY29tbSk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1BFQ0lBTDoKKwkJdHJhY2Vfc2VxX3ByaW50ZihzLCAiIyAlbGQgJWxkICVsZFxuIiwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMSwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMiwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMyk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1RBQ0s6CisJCWZvciAoaSA9IDA7IGkgPCBGVFJBQ0VfU1RBQ0tfRU5UUklFUzsgaSsrKSB7CisJCQlpZiAoaSkKKwkJCQl0cmFjZV9zZXFfcHV0cyhzLCAiIDw9ICIpOworCQkJc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+c3RhY2suY2FsbGVyW2ldLCBzeW1fZmxhZ3MpOworCQl9CisJCXRyYWNlX3NlcV9wdXRzKHMsICJcbiIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQl0cmFjZV9zZXFfcHJpbnRmKHMsICJVbmtub3duIHR5cGUgJWRcbiIsIGVudHJ5LT50eXBlKTsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfdHJhY2VfZm10KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBsb25nIHN5bV9mbGFncyA9ICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfU1lNX01BU0spOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyB1c2VjX3JlbTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgdDsKKwl1bnNpZ25lZCBsb25nIHNlY3M7CisJY2hhciAqY29tbTsKKwlpbnQgcmV0OworCWludCBTLCBUOworCWludCBpOworCisJZW50cnkgPSBpdGVyLT5lbnQ7CisKKwljb21tID0gdHJhY2VfZmluZF9jbWRsaW5lKGl0ZXItPmVudC0+cGlkKTsKKworCXQgPSBuczJ1c2VjcyhlbnRyeS0+dCk7CisJdXNlY19yZW0gPSBkb19kaXYodCwgMTAwMDAwMFVMTCk7CisJc2VjcyA9ICh1bnNpZ25lZCBsb25nKXQ7CisKKwlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIlMTZzLSUtNWQgIiwgY29tbSwgZW50cnktPnBpZCk7CisJaWYgKCFyZXQpCisJCXJldHVybiAwOworCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIlslMDJkXSAiLCBpdGVyLT5jcHUpOworCWlmICghcmV0KQorCQlyZXR1cm4gMDsKKwlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIlNWx1LiUwNmx1OiAiLCBzZWNzLCB1c2VjX3JlbSk7CisJaWYgKCFyZXQpCisJCXJldHVybiAwOworCisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJCXJldCA9IHNlcV9wcmludF9pcF9zeW0ocywgZW50cnktPmZuLmlwLCBzeW1fZmxhZ3MpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlpZiAoKHN5bV9mbGFncyAmIFRSQUNFX0lURVJfUFJJTlRfUEFSRU5UKSAmJgorCQkJCQkJZW50cnktPmZuLnBhcmVudF9pcCkgeworCQkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiIDwtIik7CisJCQlpZiAoIXJldCkKKwkJCQlyZXR1cm4gMDsKKwkJCWlmIChrcmV0cHJvYmVkKGVudHJ5LT5mbi5wYXJlbnRfaXApKQorCQkJCXJldCA9IHRyYWNlX3NlcV9wdXRzKHMsIEtSRVRQUk9CRV9NU0cpOworCQkJZWxzZQorCQkJCXJldCA9IHNlcV9wcmludF9pcF9zeW0ocywgZW50cnktPmZuLnBhcmVudF9pcCwKKwkJCQkJCSAgICAgICBzeW1fZmxhZ3MpOworCQkJaWYgKCFyZXQpCisJCQkJcmV0dXJuIDA7CisJCX0KKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiXG4iKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9DVFg6CisJY2FzZSBUUkFDRV9XQUtFOgorCQlTID0gZW50cnktPmN0eC5wcmV2X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5wcmV2X3N0YXRlXSA6ICdYJzsKKwkJVCA9IGVudHJ5LT5jdHgubmV4dF9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgubmV4dF9zdGF0ZV0gOiAnWCc7CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiAlNWQ6JTNkOiVjICVzICU1ZDolM2Q6JWNcbiIsCisJCQkJICAgICAgIGVudHJ5LT5jdHgucHJldl9waWQsCisJCQkJICAgICAgIGVudHJ5LT5jdHgucHJldl9wcmlvLAorCQkJCSAgICAgICBTLAorCQkJCSAgICAgICBlbnRyeS0+dHlwZSA9PSBUUkFDRV9DVFggPyAiPT0+IiA6ICIgICsiLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4Lm5leHRfcGlkLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4Lm5leHRfcHJpbywKKwkJCQkgICAgICAgVCk7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1BFQ0lBTDoKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiIyAlbGQgJWxkICVsZFxuIiwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMSwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMiwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMyk7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1RBQ0s6CisJCWZvciAoaSA9IDA7IGkgPCBGVFJBQ0VfU1RBQ0tfRU5UUklFUzsgaSsrKSB7CisJCQlpZiAoaSkgeworCQkJCXJldCA9IHRyYWNlX3NlcV9wdXRzKHMsICIgPD0gIik7CisJCQkJaWYgKCFyZXQpCisJCQkJCXJldHVybiAwOworCQkJfQorCQkJcmV0ID0gc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+c3RhY2suY2FsbGVyW2ldLAorCQkJCQkgICAgICAgc3ltX2ZsYWdzKTsKKwkJCWlmICghcmV0KQorCQkJCXJldHVybiAwOworCQl9CisJCXJldCA9IHRyYWNlX3NlcV9wdXRzKHMsICJcbiIpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfcmF3X2ZtdChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwlpbnQgcmV0OworCWludCBTLCBUOworCisJZW50cnkgPSBpdGVyLT5lbnQ7CisKKwlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIlZCAlZCAlbGx1ICIsCisJCWVudHJ5LT5waWQsIGl0ZXItPmNwdSwgZW50cnktPnQpOworCWlmICghcmV0KQorCQlyZXR1cm4gMDsKKworCXN3aXRjaCAoZW50cnktPnR5cGUpIHsKKwljYXNlIFRSQUNFX0ZOOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIleCAleFxuIiwKKwkJCQkJZW50cnktPmZuLmlwLCBlbnRyeS0+Zm4ucGFyZW50X2lwKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9DVFg6CisJY2FzZSBUUkFDRV9XQUtFOgorCQlTID0gZW50cnktPmN0eC5wcmV2X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5wcmV2X3N0YXRlXSA6ICdYJzsKKwkJVCA9IGVudHJ5LT5jdHgubmV4dF9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgubmV4dF9zdGF0ZV0gOiAnWCc7CisJCWlmIChlbnRyeS0+dHlwZSA9PSBUUkFDRV9XQUtFKQorCQkJUyA9ICcrJzsKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiJWQgJWQgJWMgJWQgJWQgJWNcbiIsCisJCQkJICAgICAgIGVudHJ5LT5jdHgucHJldl9waWQsCisJCQkJICAgICAgIGVudHJ5LT5jdHgucHJldl9wcmlvLAorCQkJCSAgICAgICBTLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4Lm5leHRfcGlkLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4Lm5leHRfcHJpbywKKwkJCQkgICAgICAgVCk7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1BFQ0lBTDoKKwljYXNlIFRSQUNFX1NUQUNLOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIjICVsZCAlbGQgJWxkXG4iLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcxLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcyLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmczKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJfQorCXJldHVybiAxOworfQorCisjZGVmaW5lIFNFUV9QVVRfRklFTERfUkVUKHMsIHgpCQkJCVwKK2RvIHsJCQkJCQkJXAorCWlmICghdHJhY2Vfc2VxX3B1dG1lbShzLCAmKHgpLCBzaXplb2YoeCkpKQlcCisJCXJldHVybiAwOwkJCQlcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIFNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCB4KQkJCVwKK2RvIHsJCQkJCQkJXAorCWlmICghdHJhY2Vfc2VxX3B1dG1lbV9oZXgocywgJih4KSwgc2l6ZW9mKHgpKSkJXAorCQlyZXR1cm4gMDsJCQkJXAorfSB3aGlsZSAoMCkKKworc3RhdGljIGludCBwcmludF9oZXhfZm10KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBjaGFyIG5ld2xpbmUgPSAnXG4nOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJaW50IFMsIFQ7CisKKwllbnRyeSA9IGl0ZXItPmVudDsKKworCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+cGlkKTsKKwlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgaXRlci0+Y3B1KTsKKwlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPnQpOworCisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Zm4uaXApOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPmZuLnBhcmVudF9pcCk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfQ1RYOgorCWNhc2UgVFJBQ0VfV0FLRToKKwkJUyA9IGVudHJ5LT5jdHgucHJldl9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgucHJldl9zdGF0ZV0gOiAnWCc7CisJCVQgPSBlbnRyeS0+Y3R4Lm5leHRfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4Lm5leHRfc3RhdGVdIDogJ1gnOworCQlpZiAoZW50cnktPnR5cGUgPT0gVFJBQ0VfV0FLRSkKKwkJCVMgPSAnKyc7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4LnByZXZfcGlkKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgucHJldl9wcmlvKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIFMpOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5uZXh0X3BpZCk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4Lm5leHRfcHJpbyk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Zm4ucGFyZW50X2lwKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIFQpOworCQlicmVhazsKKwljYXNlIFRSQUNFX1NQRUNJQUw6CisJY2FzZSBUUkFDRV9TVEFDSzoKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5zcGVjaWFsLmFyZzEpOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPnNwZWNpYWwuYXJnMik7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+c3BlY2lhbC5hcmczKTsKKwkJYnJlYWs7CisJfQorCVNFUV9QVVRfRklFTERfUkVUKHMsIG5ld2xpbmUpOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfYmluX2ZtdChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKworCWVudHJ5ID0gaXRlci0+ZW50OworCisJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPnBpZCk7CisJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmNwdSk7CisJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPnQpOworCisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5mbi5pcCk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5mbi5wYXJlbnRfaXApOworCQlicmVhazsKKwljYXNlIFRSQUNFX0NUWDoKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5wcmV2X3BpZCk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgucHJldl9wcmlvKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5wcmV2X3N0YXRlKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5uZXh0X3BpZCk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgubmV4dF9wcmlvKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5uZXh0X3N0YXRlKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCWNhc2UgVFJBQ0VfU1RBQ0s6CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5zcGVjaWFsLmFyZzEpOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+c3BlY2lhbC5hcmcyKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPnNwZWNpYWwuYXJnMyk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCB0cmFjZV9lbXB0eShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwlpbnQgY3B1OworCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoY3B1KSB7CisJCWRhdGEgPSBpdGVyLT50ci0+ZGF0YVtjcHVdOworCisJCWlmIChoZWFkX3BhZ2UoZGF0YSkgJiYgZGF0YS0+dHJhY2VfaWR4ICYmCisJCSAgICAoZGF0YS0+dHJhY2VfdGFpbCAhPSBkYXRhLT50cmFjZV9oZWFkIHx8CisJCSAgICAgZGF0YS0+dHJhY2VfdGFpbF9pZHggIT0gZGF0YS0+dHJhY2VfaGVhZF9pZHgpKQorCQkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHByaW50X3RyYWNlX2xpbmUoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCWlmIChpdGVyLT50cmFjZSAmJiBpdGVyLT50cmFjZS0+cHJpbnRfbGluZSkKKwkJcmV0dXJuIGl0ZXItPnRyYWNlLT5wcmludF9saW5lKGl0ZXIpOworCisJaWYgKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9CSU4pCisJCXJldHVybiBwcmludF9iaW5fZm10KGl0ZXIpOworCisJaWYgKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9IRVgpCisJCXJldHVybiBwcmludF9oZXhfZm10KGl0ZXIpOworCisJaWYgKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9SQVcpCisJCXJldHVybiBwcmludF9yYXdfZm10KGl0ZXIpOworCisJaWYgKGl0ZXItPml0ZXJfZmxhZ3MgJiBUUkFDRV9GSUxFX0xBVF9GTVQpCisJCXJldHVybiBwcmludF9sYXRfZm10KGl0ZXIsIGl0ZXItPmlkeCwgaXRlci0+Y3B1KTsKKworCXJldHVybiBwcmludF90cmFjZV9mbXQoaXRlcik7Cit9CisKK3N0YXRpYyBpbnQgc19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSB2OworCisJaWYgKGl0ZXItPmVudCA9PSBOVUxMKSB7CisJCWlmIChpdGVyLT50cikgeworCQkJc2VxX3ByaW50ZihtLCAiIyB0cmFjZXI6ICVzXG4iLCBpdGVyLT50cmFjZS0+bmFtZSk7CisJCQlzZXFfcHV0cyhtLCAiI1xuIik7CisJCX0KKwkJaWYgKGl0ZXItPml0ZXJfZmxhZ3MgJiBUUkFDRV9GSUxFX0xBVF9GTVQpIHsKKwkJCS8qIHByaW50IG5vdGhpbmcgaWYgdGhlIGJ1ZmZlcnMgYXJlIGVtcHR5ICovCisJCQlpZiAodHJhY2VfZW1wdHkoaXRlcikpCisJCQkJcmV0dXJuIDA7CisJCQlwcmludF90cmFjZV9oZWFkZXIobSwgaXRlcik7CisJCQlpZiAoISh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfVkVSQk9TRSkpCisJCQkJcHJpbnRfbGF0X2hlbHBfaGVhZGVyKG0pOworCQl9IGVsc2UgeworCQkJaWYgKCEodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1ZFUkJPU0UpKQorCQkJCXByaW50X2Z1bmNfaGVscF9oZWFkZXIobSk7CisJCX0KKwl9IGVsc2UgeworCQlwcmludF90cmFjZV9saW5lKGl0ZXIpOworCQl0cmFjZV9wcmludF9zZXEobSwgJml0ZXItPnNlcSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgdHJhY2VyX3NlcV9vcHMgPSB7CisJLnN0YXJ0CQk9IHNfc3RhcnQsCisJLm5leHQJCT0gc19uZXh0LAorCS5zdG9wCQk9IHNfc3RvcCwKKwkuc2hvdwkJPSBzX3Nob3csCit9OworCitzdGF0aWMgc3RydWN0IHRyYWNlX2l0ZXJhdG9yICoKK19fdHJhY2luZ19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgKnJldCkKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisKKwlpZiAodHJhY2luZ19kaXNhYmxlZCkgeworCQkqcmV0ID0gLUVOT0RFVjsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJaXRlciA9IGt6YWxsb2Moc2l6ZW9mKCppdGVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFpdGVyKSB7CisJCSpyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpZiAoY3VycmVudF90cmFjZSAmJiBjdXJyZW50X3RyYWNlLT5wcmludF9tYXgpCisJCWl0ZXItPnRyID0gJm1heF90cjsKKwllbHNlCisJCWl0ZXItPnRyID0gaW5vZGUtPmlfcHJpdmF0ZTsKKwlpdGVyLT50cmFjZSA9IGN1cnJlbnRfdHJhY2U7CisJaXRlci0+cG9zID0gLTE7CisKKwkvKiBUT0RPIHN0b3AgdHJhY2VyICovCisJKnJldCA9IHNlcV9vcGVuKGZpbGUsICZ0cmFjZXJfc2VxX29wcyk7CisJaWYgKCEqcmV0KSB7CisJCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwkJbS0+cHJpdmF0ZSA9IGl0ZXI7CisKKwkJLyogc3RvcCB0aGUgdHJhY2Ugd2hpbGUgZHVtcGluZyAqLworCQlpZiAoaXRlci0+dHItPmN0cmwpIHsKKwkJCXRyYWNlcl9lbmFibGVkID0gMDsKKwkJCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMDsKKwkJfQorCisJCWlmIChpdGVyLT50cmFjZSAmJiBpdGVyLT50cmFjZS0+b3BlbikKKwkJCWl0ZXItPnRyYWNlLT5vcGVuKGl0ZXIpOworCX0gZWxzZSB7CisJCWtmcmVlKGl0ZXIpOworCQlpdGVyID0gTlVMTDsKKwl9CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworIG91dDoKKwlyZXR1cm4gaXRlcjsKK30KKworaW50IHRyYWNpbmdfb3Blbl9nZW5lcmljKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQoreworCWlmICh0cmFjaW5nX2Rpc2FibGVkKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWZpbHAtPnByaXZhdGVfZGF0YSA9IGlub2RlLT5pX3ByaXZhdGU7CisJcmV0dXJuIDA7Cit9CisKK2ludCB0cmFjaW5nX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IHNlcV9maWxlICptID0gKHN0cnVjdCBzZXFfZmlsZSAqKWZpbGUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJaWYgKGl0ZXItPnRyYWNlICYmIGl0ZXItPnRyYWNlLT5jbG9zZSkKKwkJaXRlci0+dHJhY2UtPmNsb3NlKGl0ZXIpOworCisJLyogcmVlbmFibGUgdHJhY2luZyBpZiBpdCB3YXMgcHJldmlvdXNseSBlbmFibGVkICovCisJaWYgKGl0ZXItPnRyLT5jdHJsKSB7CisJCXRyYWNlcl9lbmFibGVkID0gMTsKKwkJLyoKKwkJICogSXQgaXMgc2FmZSB0byBlbmFibGUgZnVuY3Rpb24gdHJhY2luZyBldmVuIGlmIGl0CisJCSAqIGlzbid0IHVzZWQKKwkJICovCisJCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMTsKKwl9CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXNlcV9yZWxlYXNlKGlub2RlLCBmaWxlKTsKKwlrZnJlZShpdGVyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0cmFjaW5nX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJaW50IHJldDsKKworCV9fdHJhY2luZ19vcGVuKGlub2RlLCBmaWxlLCAmcmV0KTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgdHJhY2luZ19sdF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcjsKKwlpbnQgcmV0OworCisJaXRlciA9IF9fdHJhY2luZ19vcGVuKGlub2RlLCBmaWxlLCAmcmV0KTsKKworCWlmICghcmV0KQorCQlpdGVyLT5pdGVyX2ZsYWdzIHw9IFRSQUNFX0ZJTEVfTEFUX0ZNVDsKKworCXJldHVybiByZXQ7Cit9CisKKworc3RhdGljIHZvaWQgKgordF9uZXh0KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdiwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IHRyYWNlciAqdCA9IG0tPnByaXZhdGU7CisKKwkoKnBvcykrKzsKKworCWlmICh0KQorCQl0ID0gdC0+bmV4dDsKKworCW0tPnByaXZhdGUgPSB0OworCisJcmV0dXJuIHQ7Cit9CisKK3N0YXRpYyB2b2lkICp0X3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqbSwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IHRyYWNlciAqdCA9IG0tPnByaXZhdGU7CisJbG9mZl90IGwgPSAwOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJZm9yICg7IHQgJiYgbCA8ICpwb3M7IHQgPSB0X25leHQobSwgdCwgJmwpKQorCQk7CisKKwlyZXR1cm4gdDsKK30KKworc3RhdGljIHZvaWQgdF9zdG9wKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqcCkKK3sKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworfQorCitzdGF0aWMgaW50IHRfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCit7CisJc3RydWN0IHRyYWNlciAqdCA9IHY7CisKKwlpZiAoIXQpCisJCXJldHVybiAwOworCisJc2VxX3ByaW50ZihtLCAiJXMiLCB0LT5uYW1lKTsKKwlpZiAodC0+bmV4dCkKKwkJc2VxX3B1dGMobSwgJyAnKTsKKwllbHNlCisJCXNlcV9wdXRjKG0sICdcbicpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgc2hvd190cmFjZXNfc2VxX29wcyA9IHsKKwkuc3RhcnQJCT0gdF9zdGFydCwKKwkubmV4dAkJPSB0X25leHQsCisJLnN0b3AJCT0gdF9zdG9wLAorCS5zaG93CQk9IHRfc2hvdywKK307CisKK3N0YXRpYyBpbnQgc2hvd190cmFjZXNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlpbnQgcmV0OworCisJaWYgKHRyYWNpbmdfZGlzYWJsZWQpCisJCXJldHVybiAtRU5PREVWOworCisJcmV0ID0gc2VxX29wZW4oZmlsZSwgJnNob3dfdHJhY2VzX3NlcV9vcHMpOworCWlmICghcmV0KSB7CisJCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwkJbS0+cHJpdmF0ZSA9IHRyYWNlX3R5cGVzOworCX0KKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSB0cmFjaW5nX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX2x0X2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19sdF9vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gdHJhY2luZ19yZWxlYXNlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc2hvd190cmFjZXNfZm9wcyA9IHsKKwkub3BlbgkJPSBzaG93X3RyYWNlc19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5yZWxlYXNlCT0gc2VxX3JlbGVhc2UsCit9OworCisvKgorICogT25seSB0cmFjZSBvbiBhIENQVSBpZiB0aGUgYml0bWFzayBpcyBzZXQ6CisgKi8KK3N0YXRpYyBjcHVtYXNrX3QgdHJhY2luZ19jcHVtYXNrID0gQ1BVX01BU0tfQUxMOworCisvKgorICogV2hlbiB0cmFjaW5nL3RyYWNpbmdfY3B1X21hc2sgaXMgbW9kaWZpZWQgdGhlbiB0aGlzIGhvbGRzCisgKiB0aGUgbmV3IGJpdG1hc2sgd2UgYXJlIGFib3V0IHRvIGluc3RhbGw6CisgKi8KK3N0YXRpYyBjcHVtYXNrX3QgdHJhY2luZ19jcHVtYXNrX25ldzsKKworLyoKKyAqIFRoZSB0cmFjZXIgaXRzZWxmIHdpbGwgbm90IHRha2UgdGhpcyBsb2NrLCBidXQgc3RpbGwgd2Ugd2FudAorICogdG8gcHJvdmlkZSBhIGNvbnNpc3RlbnQgY3B1bWFzayB0byB1c2VyLXNwYWNlOgorICovCitzdGF0aWMgREVGSU5FX01VVEVYKHRyYWNpbmdfY3B1bWFza191cGRhdGVfbG9jayk7CisKKy8qCisgKiBUZW1wb3Jhcnkgc3RvcmFnZSBmb3IgdGhlIGNoYXJhY3RlciByZXByZXNlbnRhdGlvbiBvZiB0aGUKKyAqIENQVSBiaXRtYXNrIChhbmQgb25lIG1vcmUgYnl0ZSBmb3IgdGhlIG5ld2xpbmUpOgorICovCitzdGF0aWMgY2hhciBtYXNrX3N0cltOUl9DUFVTICsgMV07CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2NwdW1hc2tfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCit7CisJaW50IGxlbjsKKworCW11dGV4X2xvY2soJnRyYWNpbmdfY3B1bWFza191cGRhdGVfbG9jayk7CisKKwlsZW4gPSBjcHVtYXNrX3NjbnByaW50ZihtYXNrX3N0ciwgY291bnQsIHRyYWNpbmdfY3B1bWFzayk7CisJaWYgKGNvdW50IC0gbGVuIDwgMikgeworCQljb3VudCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0X2VycjsKKwl9CisJbGVuICs9IHNwcmludGYobWFza19zdHIgKyBsZW4sICJcbiIpOworCWNvdW50ID0gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY291bnQsIHBwb3MsIG1hc2tfc3RyLCBOUl9DUFVTKzEpOworCitvdXRfZXJyOgorCW11dGV4X3VubG9jaygmdHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKworCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfY3B1bWFza193cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQoreworCWludCBlcnIsIGNwdTsKKworCW11dGV4X2xvY2soJnRyYWNpbmdfY3B1bWFza191cGRhdGVfbG9jayk7CisJZXJyID0gY3B1bWFza19wYXJzZV91c2VyKHVidWYsIGNvdW50LCB0cmFjaW5nX2NwdW1hc2tfbmV3KTsKKwlpZiAoZXJyKQorCQlnb3RvIGVycl91bmxvY2s7CisKKwlyYXdfbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwlfX3Jhd19zcGluX2xvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJZm9yX2VhY2hfdHJhY2luZ19jcHUoY3B1KSB7CisJCS8qCisJCSAqIEluY3JlYXNlL2RlY3JlYXNlIHRoZSBkaXNhYmxlZCBjb3VudGVyIGlmIHdlIGFyZQorCQkgKiBhYm91dCB0byBmbGlwIGEgYml0IGluIHRoZSBjcHVtYXNrOgorCQkgKi8KKwkJaWYgKGNwdV9pc3NldChjcHUsIHRyYWNpbmdfY3B1bWFzaykgJiYKKwkJCQkhY3B1X2lzc2V0KGNwdSwgdHJhY2luZ19jcHVtYXNrX25ldykpIHsKKwkJCWF0b21pY19pbmMoJmdsb2JhbF90cmFjZS5kYXRhW2NwdV0tPmRpc2FibGVkKTsKKwkJfQorCQlpZiAoIWNwdV9pc3NldChjcHUsIHRyYWNpbmdfY3B1bWFzaykgJiYKKwkJCQljcHVfaXNzZXQoY3B1LCB0cmFjaW5nX2NwdW1hc2tfbmV3KSkgeworCQkJYXRvbWljX2RlYygmZ2xvYmFsX3RyYWNlLmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworCQl9CisJfQorCV9fcmF3X3NwaW5fdW5sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworCXJhd19sb2NhbF9pcnFfZW5hYmxlKCk7CisKKwl0cmFjaW5nX2NwdW1hc2sgPSB0cmFjaW5nX2NwdW1hc2tfbmV3OworCisJbXV0ZXhfdW5sb2NrKCZ0cmFjaW5nX2NwdW1hc2tfdXBkYXRlX2xvY2spOworCisJcmV0dXJuIGNvdW50OworCitlcnJfdW5sb2NrOgorCW11dGV4X3VubG9jaygmdHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfY3B1bWFza19mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfY3B1bWFza19yZWFkLAorCS53cml0ZQkJPSB0cmFjaW5nX2NwdW1hc2tfd3JpdGUsCit9OworCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19pdGVyX2N0cmxfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciAqYnVmOworCWludCByID0gMDsKKwlpbnQgbGVuID0gMDsKKwlpbnQgaTsKKworCS8qIGNhbHVsYXRlIG1heCBzaXplICovCisJZm9yIChpID0gMDsgdHJhY2Vfb3B0aW9uc1tpXTsgaSsrKSB7CisJCWxlbiArPSBzdHJsZW4odHJhY2Vfb3B0aW9uc1tpXSk7CisJCWxlbiArPSAzOyAvKiAibm8iIGFuZCBzcGFjZSAqLworCX0KKworCS8qICsyIGZvciBcbiBhbmQgXDAgKi8KKwlidWYgPSBrbWFsbG9jKGxlbiArIDIsIEdGUF9LRVJORUwpOworCWlmICghYnVmKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWZvciAoaSA9IDA7IHRyYWNlX29wdGlvbnNbaV07IGkrKykgeworCQlpZiAodHJhY2VfZmxhZ3MgJiAoMSA8PCBpKSkKKwkJCXIgKz0gc3ByaW50ZihidWYgKyByLCAiJXMgIiwgdHJhY2Vfb3B0aW9uc1tpXSk7CisJCWVsc2UKKwkJCXIgKz0gc3ByaW50ZihidWYgKyByLCAibm8lcyAiLCB0cmFjZV9vcHRpb25zW2ldKTsKKwl9CisKKwlyICs9IHNwcmludGYoYnVmICsgciwgIlxuIik7CisJV0FSTl9PTihyID49IGxlbiArIDIpOworCisJciA9IHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKKworCWtmcmVlKGJ1Zik7CisKKwlyZXR1cm4gcjsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfaXRlcl9jdHJsX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJCXNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyIGJ1Zls2NF07CisJY2hhciAqY21wID0gYnVmOworCWludCBuZWcgPSAwOworCWludCBpOworCisJaWYgKGNudCA+PSBzaXplb2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwlpZiAoc3RybmNtcChidWYsICJubyIsIDIpID09IDApIHsKKwkJbmVnID0gMTsKKwkJY21wICs9IDI7CisJfQorCisJZm9yIChpID0gMDsgdHJhY2Vfb3B0aW9uc1tpXTsgaSsrKSB7CisJCWludCBsZW4gPSBzdHJsZW4odHJhY2Vfb3B0aW9uc1tpXSk7CisKKwkJaWYgKHN0cm5jbXAoY21wLCB0cmFjZV9vcHRpb25zW2ldLCBsZW4pID09IDApIHsKKwkJCWlmIChuZWcpCisJCQkJdHJhY2VfZmxhZ3MgJj0gfigxIDw8IGkpOworCQkJZWxzZQorCQkJCXRyYWNlX2ZsYWdzIHw9ICgxIDw8IGkpOworCQkJYnJlYWs7CisJCX0KKwl9CisJLyoKKwkgKiBJZiBubyBvcHRpb24gY291bGQgYmUgc2V0LCByZXR1cm4gYW4gZXJyb3I6CisJICovCisJaWYgKCF0cmFjZV9vcHRpb25zW2ldKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWZpbHAtPmZfcG9zICs9IGNudDsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfaXRlcl9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfaXRlcl9jdHJsX3JlYWQsCisJLndyaXRlCQk9IHRyYWNpbmdfaXRlcl9jdHJsX3dyaXRlLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgcmVhZG1lX21zZ1tdID0KKwkidHJhY2luZyBtaW5pLUhPV1RPOlxuXG4iCisJIiMgbWtkaXIgL2RlYnVnXG4iCisJIiMgbW91bnQgLXQgZGVidWdmcyBub2RldiAvZGVidWdcblxuIgorCSIjIGNhdCAvZGVidWcvdHJhY2luZy9hdmFpbGFibGVfdHJhY2Vyc1xuIgorCSJ3YWtldXAgcHJlZW1wdGlycXNvZmYgcHJlZW1wdG9mZiBpcnFzb2ZmIGZ0cmFjZSBzY2hlZF9zd2l0Y2ggbm9uZVxuXG4iCisJIiMgY2F0IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyXG4iCisJIm5vbmVcbiIKKwkiIyBlY2hvIHNjaGVkX3N3aXRjaCA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyXG4iCisJIiMgY2F0IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyXG4iCisJInNjaGVkX3N3aXRjaFxuIgorCSIjIGNhdCAvZGVidWcvdHJhY2luZy9pdGVyX2N0cmxcbiIKKwkibm9wcmludC1wYXJlbnQgbm9zeW0tb2Zmc2V0IG5vc3ltLWFkZHIgbm92ZXJib3NlXG4iCisJIiMgZWNobyBwcmludC1wYXJlbnQgPiAvZGVidWcvdHJhY2luZy9pdGVyX2N0cmxcbiIKKwkiIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWRcbiIKKwkiIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2UgPiAvdG1wL3RyYWNlLnR4dFxuIgorCSJlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWRcbiIKKzsKKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfcmVhZG1lX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsCisJCQkJCXJlYWRtZV9tc2csIHN0cmxlbihyZWFkbWVfbXNnKSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfcmVhZG1lX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19yZWFkbWVfcmVhZCwKK307CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2N0cmxfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJY2hhciBidWZbNjRdOworCWludCByOworCisJciA9IHNwcmludGYoYnVmLCAiJWxkXG4iLCB0ci0+Y3RybCk7CisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfY3RybF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlsb25nIHZhbDsKKwlpbnQgcmV0OworCisJaWYgKGNudCA+PSBzaXplb2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwlyZXQgPSBzdHJpY3Rfc3RydG91bChidWYsIDEwLCAmdmFsKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCXZhbCA9ICEhdmFsOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJaWYgKHRyLT5jdHJsIF4gdmFsKSB7CisJCWlmICh2YWwpCisJCQl0cmFjZXJfZW5hYmxlZCA9IDE7CisJCWVsc2UKKwkJCXRyYWNlcl9lbmFibGVkID0gMDsKKworCQl0ci0+Y3RybCA9IHZhbDsKKworCQlpZiAoY3VycmVudF90cmFjZSAmJiBjdXJyZW50X3RyYWNlLT5jdHJsX3VwZGF0ZSkKKwkJCWN1cnJlbnRfdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwl9CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCWZpbHAtPmZfcG9zICs9IGNudDsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX3NldF90cmFjZV9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyIGJ1ZlttYXhfdHJhY2VyX3R5cGVfbGVuKzJdOworCWludCByOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJaWYgKGN1cnJlbnRfdHJhY2UpCisJCXIgPSBzcHJpbnRmKGJ1ZiwgIiVzXG4iLCBjdXJyZW50X3RyYWNlLT5uYW1lKTsKKwllbHNlCisJCXIgPSBzcHJpbnRmKGJ1ZiwgIlxuIik7CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX3NldF90cmFjZV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCQlzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICZnbG9iYWxfdHJhY2U7CisJc3RydWN0IHRyYWNlciAqdDsKKwljaGFyIGJ1ZlttYXhfdHJhY2VyX3R5cGVfbGVuKzFdOworCWludCBpOworCisJaWYgKGNudCA+IG1heF90cmFjZXJfdHlwZV9sZW4pCisJCWNudCA9IG1heF90cmFjZXJfdHlwZV9sZW47CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwkvKiBzdHJpcCBlbmRpbmcgd2hpdGVzcGFjZS4gKi8KKwlmb3IgKGkgPSBjbnQgLSAxOyBpID4gMCAmJiBpc3NwYWNlKGJ1ZltpXSk7IGktLSkKKwkJYnVmW2ldID0gMDsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWZvciAodCA9IHRyYWNlX3R5cGVzOyB0OyB0ID0gdC0+bmV4dCkgeworCQlpZiAoc3RyY21wKHQtPm5hbWUsIGJ1ZikgPT0gMCkKKwkJCWJyZWFrOworCX0KKwlpZiAoIXQgfHwgdCA9PSBjdXJyZW50X3RyYWNlKQorCQlnb3RvIG91dDsKKworCWlmIChjdXJyZW50X3RyYWNlICYmIGN1cnJlbnRfdHJhY2UtPnJlc2V0KQorCQljdXJyZW50X3RyYWNlLT5yZXNldCh0cik7CisKKwljdXJyZW50X3RyYWNlID0gdDsKKwlpZiAodC0+aW5pdCkKKwkJdC0+aW5pdCh0cik7CisKKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCWZpbHAtPmZfcG9zICs9IGNudDsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX21heF9sYXRfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXVuc2lnbmVkIGxvbmcgKnB0ciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwljaGFyIGJ1Zls2NF07CisJaW50IHI7CisKKwlyID0gc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVsZFxuIiwKKwkJICAgICAqcHRyID09ICh1bnNpZ25lZCBsb25nKS0xID8gLTEgOiBuc2Vjc190b191c2VjcygqcHRyKSk7CisJaWYgKHIgPiBzaXplb2YoYnVmKSkKKwkJciA9IHNpemVvZihidWYpOworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX21heF9sYXRfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJbG9uZyAqcHRyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlsb25nIHZhbDsKKwlpbnQgcmV0OworCisJaWYgKGNudCA+PSBzaXplb2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwlyZXQgPSBzdHJpY3Rfc3RydG91bChidWYsIDEwLCAmdmFsKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCSpwdHIgPSB2YWwgKiAxMDAwOworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIGF0b21pY190IHRyYWNpbmdfcmVhZGVyOworCitzdGF0aWMgaW50IHRyYWNpbmdfb3Blbl9waXBlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcjsKKworCWlmICh0cmFjaW5nX2Rpc2FibGVkKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCS8qIFdlIG9ubHkgYWxsb3cgZm9yIHJlYWRlciBvZiB0aGUgcGlwZSAqLworCWlmIChhdG9taWNfaW5jX3JldHVybigmdHJhY2luZ19yZWFkZXIpICE9IDEpIHsKKwkJYXRvbWljX2RlYygmdHJhY2luZ19yZWFkZXIpOworCQlyZXR1cm4gLUVCVVNZOworCX0KKworCS8qIGNyZWF0ZSBhIGJ1ZmZlciB0byBzdG9yZSB0aGUgaW5mb3JtYXRpb24gdG8gcGFzcyB0byB1c2Vyc3BhY2UgKi8KKwlpdGVyID0ga3phbGxvYyhzaXplb2YoKml0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWl0ZXIpCisJCXJldHVybiAtRU5PTUVNOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJaXRlci0+dHIgPSAmZ2xvYmFsX3RyYWNlOworCWl0ZXItPnRyYWNlID0gY3VycmVudF90cmFjZTsKKwlmaWxwLT5wcml2YXRlX2RhdGEgPSBpdGVyOworCisJaWYgKGl0ZXItPnRyYWNlLT5waXBlX29wZW4pCisJCWl0ZXItPnRyYWNlLT5waXBlX29wZW4oaXRlcik7CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRyYWNpbmdfcmVsZWFzZV9waXBlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKworCWtmcmVlKGl0ZXIpOworCWF0b21pY19kZWMoJnRyYWNpbmdfcmVhZGVyKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50Cit0cmFjaW5nX3BvbGxfcGlwZShzdHJ1Y3QgZmlsZSAqZmlscCwgcG9sbF90YWJsZSAqcG9sbF90YWJsZSkKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisKKwlpZiAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX0JMT0NLKSB7CisJCS8qCisJCSAqIEFsd2F5cyBzZWxlY3QgYXMgcmVhZGFibGUgd2hlbiBpbiBibG9ja2luZyBtb2RlCisJCSAqLworCQlyZXR1cm4gUE9MTElOIHwgUE9MTFJETk9STTsKKwl9IGVsc2UgeworCQlpZiAoIXRyYWNlX2VtcHR5KGl0ZXIpKQorCQkJcmV0dXJuIFBPTExJTiB8IFBPTExSRE5PUk07CisJCXBvbGxfd2FpdChmaWxwLCAmdHJhY2Vfd2FpdCwgcG9sbF90YWJsZSk7CisJCWlmICghdHJhY2VfZW1wdHkoaXRlcikpCisJCQlyZXR1cm4gUE9MTElOIHwgUE9MTFJETk9STTsKKworCQlyZXR1cm4gMDsKKwl9Cit9CisKKy8qCisgKiBDb25zdW1lciByZWFkZXIuCisgKi8KK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX3JlYWRfcGlwZShzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXN0YXRpYyBjcHVtYXNrX3QgbWFzazsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworI2lmZGVmIENPTkZJR19GVFJBQ0UKKwlpbnQgZnRyYWNlX3NhdmU7CisjZW5kaWYKKwlpbnQgY3B1OworCXNzaXplX3Qgc3JldDsKKworCS8qIHJldHVybiBhbnkgbGVmdG92ZXIgZGF0YSAqLworCXNyZXQgPSB0cmFjZV9zZXFfdG9fdXNlcigmaXRlci0+c2VxLCB1YnVmLCBjbnQpOworCWlmIChzcmV0ICE9IC1FQlVTWSkKKwkJcmV0dXJuIHNyZXQ7CisJc3JldCA9IDA7CisKKwl0cmFjZV9zZXFfcmVzZXQoJml0ZXItPnNlcSk7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpZiAoaXRlci0+dHJhY2UtPnJlYWQpIHsKKwkJc3JldCA9IGl0ZXItPnRyYWNlLT5yZWFkKGl0ZXIsIGZpbHAsIHVidWYsIGNudCwgcHBvcyk7CisJCWlmIChzcmV0KQorCQkJZ290byBvdXQ7CisJfQorCisJd2hpbGUgKHRyYWNlX2VtcHR5KGl0ZXIpKSB7CisKKwkJaWYgKChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykpIHsKKwkJCXNyZXQgPSAtRUFHQUlOOworCQkJZ290byBvdXQ7CisJCX0KKworCQkvKgorCQkgKiBUaGlzIGlzIGEgbWFrZS1zaGlmdCB3YWl0cXVldWUuIFRoZSByZWFzb24gd2UgZG9uJ3QgdXNlCisJCSAqIGFuIGFjdHVhbCB3YWl0IHF1ZXVlIGlzIGJlY2F1c2U6CisJCSAqICAxKSB3ZSBvbmx5IGV2ZXIgaGF2ZSBvbmUgd2FpdGVyCisJCSAqICAyKSB0aGUgdHJhY2luZywgdHJhY2VzIGFsbCBmdW5jdGlvbnMsIHdlIGRvbid0IHdhbnQKKwkJICogICAgIHRoZSBvdmVyaGVhZCBvZiBjYWxsaW5nIHdha2VfdXAgYW5kIGZyaWVuZHMKKwkJICogICAgIChhbmQgdHJhY2luZyB0aGVtIHRvbykKKwkJICogICAgIEFueXdheSwgdGhpcyBpcyByZWFsbHkgdmVyeSBwcmltaXRpdmUgd2FrZXVwLgorCQkgKi8KKwkJc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19JTlRFUlJVUFRJQkxFKTsKKwkJaXRlci0+dHItPndhaXRlciA9IGN1cnJlbnQ7CisKKwkJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCQkvKiBzbGVlcCBmb3IgMTAwIG1zZWNzLCBhbmQgdHJ5IGFnYWluLiAqLworCQlzY2hlZHVsZV90aW1lb3V0KEhaLzEwKTsKKworCQltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCQlpdGVyLT50ci0+d2FpdGVyID0gTlVMTDsKKworCQlpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkpIHsKKwkJCXNyZXQgPSAtRUlOVFI7CisJCQlnb3RvIG91dDsKKwkJfQorCisJCWlmIChpdGVyLT50cmFjZSAhPSBjdXJyZW50X3RyYWNlKQorCQkJZ290byBvdXQ7CisKKwkJLyoKKwkJICogV2UgYmxvY2sgdW50aWwgd2UgcmVhZCBzb21ldGhpbmcgYW5kIHRyYWNpbmcgaXMgZGlzYWJsZWQuCisJCSAqIFdlIHN0aWxsIGJsb2NrIGlmIHRyYWNpbmcgaXMgZGlzYWJsZWQsIGJ1dCB3ZSBoYXZlIG5ldmVyCisJCSAqIHJlYWQgYW55dGhpbmcuIFRoaXMgYWxsb3dzIGEgdXNlciB0byBjYXQgdGhpcyBmaWxlLCBhbmQKKwkJICogdGhlbiBlbmFibGUgdHJhY2luZy4gQnV0IGFmdGVyIHdlIGhhdmUgcmVhZCBzb21ldGhpbmcsCisJCSAqIHdlIGdpdmUgYW4gRU9GIHdoZW4gdHJhY2luZyBpcyBhZ2FpbiBkaXNhYmxlZC4KKwkJICoKKwkJICogaXRlci0+cG9zIHdpbGwgYmUgMCBpZiB3ZSBoYXZlbid0IHJlYWQgYW55dGhpbmcuCisJCSAqLworCQlpZiAoIXRyYWNlcl9lbmFibGVkICYmIGl0ZXItPnBvcykKKwkJCWJyZWFrOworCisJCWNvbnRpbnVlOworCX0KKworCS8qIHN0b3Agd2hlbiB0cmFjaW5nIGlzIGZpbmlzaGVkICovCisJaWYgKHRyYWNlX2VtcHR5KGl0ZXIpKQorCQlnb3RvIG91dDsKKworCWlmIChjbnQgPj0gUEFHRV9TSVpFKQorCQljbnQgPSBQQUdFX1NJWkUgLSAxOworCisJLyogcmVzZXQgYWxsIGJ1dCB0ciwgdHJhY2UsIGFuZCBvdmVycnVucyAqLworCW1lbXNldCgmaXRlci0+c2VxLCAwLAorCSAgICAgICBzaXplb2Yoc3RydWN0IHRyYWNlX2l0ZXJhdG9yKSAtCisJICAgICAgIG9mZnNldG9mKHN0cnVjdCB0cmFjZV9pdGVyYXRvciwgc2VxKSk7CisJaXRlci0+cG9zID0gLTE7CisKKwkvKgorCSAqIFdlIG5lZWQgdG8gc3RvcCBhbGwgdHJhY2luZyBvbiBhbGwgQ1BVUyB0byByZWFkIHRoZQorCSAqIHRoZSBuZXh0IGJ1ZmZlci4gVGhpcyBpcyBhIGJpdCBleHBlbnNpdmUsIGJ1dCBpcworCSAqIG5vdCBkb25lIG9mdGVuLiBXZSBmaWxsIGFsbCB3aGF0IHdlIGNhbiByZWFkLAorCSAqIGFuZCB0aGVuIHJlbGVhc2UgdGhlIGxvY2tzIGFnYWluLgorCSAqLworCisJY3B1c19jbGVhcihtYXNrKTsKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCWZ0cmFjZV9zYXZlID0gZnRyYWNlX2VuYWJsZWQ7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworI2VuZGlmCisJc21wX3dtYigpOworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGNwdSkgeworCQlkYXRhID0gaXRlci0+dHItPmRhdGFbY3B1XTsKKworCQlpZiAoIWhlYWRfcGFnZShkYXRhKSB8fCAhZGF0YS0+dHJhY2VfaWR4KQorCQkJY29udGludWU7CisKKwkJYXRvbWljX2luYygmZGF0YS0+ZGlzYWJsZWQpOworCQljcHVfc2V0KGNwdSwgbWFzayk7CisJfQorCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKSB7CisJCWRhdGEgPSBpdGVyLT50ci0+ZGF0YVtjcHVdOworCQlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCisJCWlmIChkYXRhLT5vdmVycnVuID4gaXRlci0+bGFzdF9vdmVycnVuW2NwdV0pCisJCQlpdGVyLT5vdmVycnVuW2NwdV0gKz0KKwkJCQlkYXRhLT5vdmVycnVuIC0gaXRlci0+bGFzdF9vdmVycnVuW2NwdV07CisJCWl0ZXItPmxhc3Rfb3ZlcnJ1bltjcHVdID0gZGF0YS0+b3ZlcnJ1bjsKKwl9CisKKwl3aGlsZSAoZmluZF9uZXh0X2VudHJ5X2luYyhpdGVyKSAhPSBOVUxMKSB7CisJCWludCByZXQ7CisJCWludCBsZW4gPSBpdGVyLT5zZXEubGVuOworCisJCXJldCA9IHByaW50X3RyYWNlX2xpbmUoaXRlcik7CisJCWlmICghcmV0KSB7CisJCQkvKiBkb24ndCBwcmludCBwYXJ0aWFsIGxpbmVzICovCisJCQlpdGVyLT5zZXEubGVuID0gbGVuOworCQkJYnJlYWs7CisJCX0KKworCQl0cmFjZV9jb25zdW1lKGl0ZXIpOworCisJCWlmIChpdGVyLT5zZXEubGVuID49IGNudCkKKwkJCWJyZWFrOworCX0KKworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykgeworCQlkYXRhID0gaXRlci0+dHItPmRhdGFbY3B1XTsKKwkJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCX0KKworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykgeworCQlkYXRhID0gaXRlci0+dHItPmRhdGFbY3B1XTsKKwkJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworCX0KKyNpZmRlZiBDT05GSUdfRlRSQUNFCisJZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2Vfc2F2ZTsKKyNlbmRpZgorCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKworCS8qIE5vdyBjb3B5IHdoYXQgd2UgaGF2ZSB0byB0aGUgdXNlciAqLworCXNyZXQgPSB0cmFjZV9zZXFfdG9fdXNlcigmaXRlci0+c2VxLCB1YnVmLCBjbnQpOworCWlmIChpdGVyLT5zZXEucmVhZHBvcyA+PSBpdGVyLT5zZXEubGVuKQorCQl0cmFjZV9zZXFfcmVzZXQoJml0ZXItPnNlcSk7CisJaWYgKHNyZXQgPT0gLUVCVVNZKQorCQlzcmV0ID0gMDsKKworb3V0OgorCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlyZXR1cm4gc3JldDsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfZW50cmllc19yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwljaGFyIGJ1Zls2NF07CisJaW50IHI7CisKKwlyID0gc3ByaW50ZihidWYsICIlbHVcbiIsIHRyLT5lbnRyaWVzKTsKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19lbnRyaWVzX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXVuc2lnbmVkIGxvbmcgdmFsOworCWNoYXIgYnVmWzY0XTsKKwlpbnQgaSwgcmV0OworCisJaWYgKGNudCA+PSBzaXplb2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwlyZXQgPSBzdHJpY3Rfc3RydG91bChidWYsIDEwLCAmdmFsKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCS8qIG11c3QgaGF2ZSBhdCBsZWFzdCAxIGVudHJ5ICovCisJaWYgKCF2YWwpCisJCXJldHVybiAtRUlOVkFMOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlpZiAoY3VycmVudF90cmFjZSAhPSAmbm9fdHJhY2VyKSB7CisJCWNudCA9IC1FQlVTWTsKKwkJcHJfaW5mbygiZnRyYWNlOiBzZXQgY3VycmVudF90cmFjZXIgdG8gbm9uZSIKKwkJCSIgYmVmb3JlIG1vZGlmeWluZyBidWZmZXIgc2l6ZVxuIik7CisJCWdvdG8gb3V0OworCX0KKworCWlmICh2YWwgPiBnbG9iYWxfdHJhY2UuZW50cmllcykgeworCQlsb25nIHBhZ2VzX3JlcXVlc3RlZDsKKwkJdW5zaWduZWQgbG9uZyBmcmVlYWJsZV9wYWdlczsKKworCQkvKiBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggbWVtb3J5IGJlZm9yZSBtYXBwaW5nICovCisJCXBhZ2VzX3JlcXVlc3RlZCA9CisJCQkodmFsICsgKEVOVFJJRVNfUEVSX1BBR0UtMSkpIC8gRU5UUklFU19QRVJfUEFHRTsKKworCQkvKiBhY2NvdW50IGZvciBlYWNoIGJ1ZmZlciAoYW5kIG1heF90cikgKi8KKwkJcGFnZXNfcmVxdWVzdGVkICo9IHRyYWNpbmdfbnJfYnVmZmVycyAqIDI7CisKKwkJLyogQ2hlY2sgZm9yIG92ZXJmbG93ICovCisJCWlmIChwYWdlc19yZXF1ZXN0ZWQgPCAwKSB7CisJCQljbnQgPSAtRU5PTUVNOworCQkJZ290byBvdXQ7CisJCX0KKworCQlmcmVlYWJsZV9wYWdlcyA9IGRldGVybWluZV9kaXJ0eWFibGVfbWVtb3J5KCk7CisKKwkJLyogd2Ugb25seSBhbGxvdyB0byByZXF1ZXN0IDEvNCBvZiB1c2VhYmxlIG1lbW9yeSAqLworCQlpZiAocGFnZXNfcmVxdWVzdGVkID4KKwkJICAgICgoZnJlZWFibGVfcGFnZXMgKyB0cmFjaW5nX3BhZ2VzX2FsbG9jYXRlZCkgLyA0KSkgeworCQkJY250ID0gLUVOT01FTTsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJd2hpbGUgKGdsb2JhbF90cmFjZS5lbnRyaWVzIDwgdmFsKSB7CisJCQlpZiAodHJhY2VfYWxsb2NfcGFnZSgpKSB7CisJCQkJY250ID0gLUVOT01FTTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJCS8qIGRvdWJsZSBjaGVjayB0aGF0IHdlIGRvbid0IGdvIG92ZXIgdGhlIGtub3duIHBhZ2VzICovCisJCQlpZiAodHJhY2luZ19wYWdlc19hbGxvY2F0ZWQgPiBwYWdlc19yZXF1ZXN0ZWQpCisJCQkJYnJlYWs7CisJCX0KKworCX0gZWxzZSB7CisJCS8qIGluY2x1ZGUgdGhlIG51bWJlciBvZiBlbnRyaWVzIGluIHZhbCAoaW5jIG9mIHBhZ2UgZW50cmllcykgKi8KKwkJd2hpbGUgKGdsb2JhbF90cmFjZS5lbnRyaWVzID4gdmFsICsgKEVOVFJJRVNfUEVSX1BBR0UgLSAxKSkKKwkJCXRyYWNlX2ZyZWVfcGFnZSgpOworCX0KKworCS8qIGNoZWNrIGludGVncml0eSAqLworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpCisJCWNoZWNrX3BhZ2VzKGdsb2JhbF90cmFjZS5kYXRhW2ldKTsKKworCWZpbHAtPmZfcG9zICs9IGNudDsKKworCS8qIElmIGNoZWNrIHBhZ2VzIGZhaWxlZCwgcmV0dXJuIEVOT01FTSAqLworCWlmICh0cmFjaW5nX2Rpc2FibGVkKQorCQljbnQgPSAtRU5PTUVNOworIG91dDoKKwltYXhfdHIuZW50cmllcyA9IGdsb2JhbF90cmFjZS5lbnRyaWVzOworCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX21heF9sYXRfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX21heF9sYXRfcmVhZCwKKwkud3JpdGUJCT0gdHJhY2luZ19tYXhfbGF0X3dyaXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19jdHJsX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19jdHJsX3JlYWQsCisJLndyaXRlCQk9IHRyYWNpbmdfY3RybF93cml0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHNldF90cmFjZXJfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX3NldF90cmFjZV9yZWFkLAorCS53cml0ZQkJPSB0cmFjaW5nX3NldF90cmFjZV93cml0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfcGlwZV9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9waXBlLAorCS5wb2xsCQk9IHRyYWNpbmdfcG9sbF9waXBlLAorCS5yZWFkCQk9IHRyYWNpbmdfcmVhZF9waXBlLAorCS5yZWxlYXNlCT0gdHJhY2luZ19yZWxlYXNlX3BpcGUsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX2VudHJpZXNfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX2VudHJpZXNfcmVhZCwKKwkud3JpdGUJCT0gdHJhY2luZ19lbnRyaWVzX3dyaXRlLAorfTsKKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19yZWFkX2xvbmcoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwl1bnNpZ25lZCBsb25nICpwID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlpbnQgcjsKKworCXIgPSBzcHJpbnRmKGJ1ZiwgIiVsZFxuIiwgKnApOworCisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19yZWFkX2xvbmdfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX3JlYWRfbG9uZywKK307CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBkZW50cnkgKmRfdHJhY2VyOworCitzdHJ1Y3QgZGVudHJ5ICp0cmFjaW5nX2luaXRfZGVudHJ5KHZvaWQpCit7CisJc3RhdGljIGludCBvbmNlOworCisJaWYgKGRfdHJhY2VyKQorCQlyZXR1cm4gZF90cmFjZXI7CisKKwlkX3RyYWNlciA9IGRlYnVnZnNfY3JlYXRlX2RpcigidHJhY2luZyIsIE5VTEwpOworCisJaWYgKCFkX3RyYWNlciAmJiAhb25jZSkgeworCQlvbmNlID0gMTsKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzIGRpcmVjdG9yeSAndHJhY2luZydcbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gZF90cmFjZXI7Cit9CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisvKiBMZXQgc2VsZnRlc3QgaGF2ZSBhY2Nlc3MgdG8gc3RhdGljIGZ1bmN0aW9ucyBpbiB0aGlzIGZpbGUgKi8KKyNpbmNsdWRlICJ0cmFjZV9zZWxmdGVzdC5jIgorI2VuZGlmCisKK3N0YXRpYyBfX2luaXQgdm9pZCB0cmFjZXJfaW5pdF9kZWJ1Z2ZzKHZvaWQpCit7CisJc3RydWN0IGRlbnRyeSAqZF90cmFjZXI7CisJc3RydWN0IGRlbnRyeSAqZW50cnk7CisKKwlkX3RyYWNlciA9IHRyYWNpbmdfaW5pdF9kZW50cnkoKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2luZ19lbmFibGVkIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZ0cmFjaW5nX2N0cmxfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICd0cmFjaW5nX2VuYWJsZWQnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiaXRlcl9jdHJsIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZ0cmFjaW5nX2l0ZXJfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICdpdGVyX2N0cmwnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2luZ19jcHVtYXNrIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZ0cmFjaW5nX2NwdW1hc2tfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICd0cmFjaW5nX2NwdW1hc2snIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgibGF0ZW5jeV90cmFjZSIsIDA0NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmdHJhY2luZ19sdF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ2xhdGVuY3lfdHJhY2UnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2UiLCAwNDQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJmdsb2JhbF90cmFjZSwgJnRyYWNpbmdfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICd0cmFjZScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJhdmFpbGFibGVfdHJhY2VycyIsIDA0NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmc2hvd190cmFjZXNfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICd0cmFjZScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJjdXJyZW50X3RyYWNlciIsIDA0NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmc2V0X3RyYWNlcl9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ3RyYWNlJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInRyYWNpbmdfbWF4X2xhdGVuY3kiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJnRyYWNpbmdfbWF4X2xhdGVuY3ksCisJCQkJICAgICZ0cmFjaW5nX21heF9sYXRfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICIndHJhY2luZ19tYXhfbGF0ZW5jeScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjaW5nX3RocmVzaCIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmdHJhY2luZ190aHJlc2gsICZ0cmFjaW5nX21heF9sYXRfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICIndHJhY2luZ190aHJlYXNoJyBlbnRyeVxuIik7CisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJSRUFETUUiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJnRyYWNpbmdfcmVhZG1lX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAnUkVBRE1FJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInRyYWNlX3BpcGUiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJnRyYWNpbmdfcGlwZV9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIid0cmFjaW5nX3RocmVhc2gnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2VfZW50cmllcyIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmdHJhY2luZ19lbnRyaWVzX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ3RyYWNpbmdfdGhyZWFzaCcgZW50cnlcbiIpOworCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJkeW5fZnRyYWNlX3RvdGFsX2luZm8iLCAwNDQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJmZ0cmFjZV91cGRhdGVfdG90X2NudCwKKwkJCQkgICAgJnRyYWNpbmdfcmVhZF9sb25nX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ2R5bl9mdHJhY2VfdG90YWxfaW5mbycgZW50cnlcbiIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1NZU1BST0ZfVFJBQ0VSCisJaW5pdF90cmFjZXJfc3lzcHJvZl9kZWJ1Z2ZzKGRfdHJhY2VyKTsKKyNlbmRpZgorfQorCitzdGF0aWMgaW50IHRyYWNlX2FsbG9jX3BhZ2Uodm9pZCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXN0cnVjdCBwYWdlICpwYWdlLCAqdG1wOworCUxJU1RfSEVBRChwYWdlcyk7CisJdm9pZCAqYXJyYXk7CisJdW5zaWduZWQgcGFnZXNfYWxsb2NhdGVkID0gMDsKKwlpbnQgaTsKKworCS8qIGZpcnN0IGFsbG9jYXRlIGEgcGFnZSBmb3IgZWFjaCBDUFUgKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCWFycmF5ID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmIChhcnJheSA9PSBOVUxMKSB7CisJCQlwcmludGsoS0VSTl9FUlIgInRyYWNlcjogZmFpbGVkIHRvIGFsbG9jYXRlIHBhZ2UiCisJCQkgICAgICAgImZvciB0cmFjZSBidWZmZXIhXG4iKTsKKwkJCWdvdG8gZnJlZV9wYWdlczsKKwkJfQorCisJCXBhZ2VzX2FsbG9jYXRlZCsrOworCQlwYWdlID0gdmlydF90b19wYWdlKGFycmF5KTsKKwkJbGlzdF9hZGQoJnBhZ2UtPmxydSwgJnBhZ2VzKTsKKworLyogT25seSBhbGxvY2F0ZSBpZiB3ZSBhcmUgYWN0dWFsbHkgdXNpbmcgdGhlIG1heCB0cmFjZSAqLworI2lmZGVmIENPTkZJR19UUkFDRVJfTUFYX1RSQUNFCisJCWFycmF5ID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmIChhcnJheSA9PSBOVUxMKSB7CisJCQlwcmludGsoS0VSTl9FUlIgInRyYWNlcjogZmFpbGVkIHRvIGFsbG9jYXRlIHBhZ2UiCisJCQkgICAgICAgImZvciB0cmFjZSBidWZmZXIhXG4iKTsKKwkJCWdvdG8gZnJlZV9wYWdlczsKKwkJfQorCQlwYWdlc19hbGxvY2F0ZWQrKzsKKwkJcGFnZSA9IHZpcnRfdG9fcGFnZShhcnJheSk7CisJCWxpc3RfYWRkKCZwYWdlLT5scnUsICZwYWdlcyk7CisjZW5kaWYKKwl9CisKKwkvKiBOb3cgdGhhdCB3ZSBzdWNjZXNzZnVsbHkgYWxsb2NhdGUgYSBwYWdlIHBlciBDUFUsIGFkZCB0aGVtICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQlkYXRhID0gZ2xvYmFsX3RyYWNlLmRhdGFbaV07CisJCXBhZ2UgPSBsaXN0X2VudHJ5KHBhZ2VzLm5leHQsIHN0cnVjdCBwYWdlLCBscnUpOworCQlsaXN0X2RlbF9pbml0KCZwYWdlLT5scnUpOworCQlsaXN0X2FkZF90YWlsKCZwYWdlLT5scnUsICZkYXRhLT50cmFjZV9wYWdlcyk7CisJCUNsZWFyUGFnZUxSVShwYWdlKTsKKworI2lmZGVmIENPTkZJR19UUkFDRVJfTUFYX1RSQUNFCisJCWRhdGEgPSBtYXhfdHIuZGF0YVtpXTsKKwkJcGFnZSA9IGxpc3RfZW50cnkocGFnZXMubmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisJCWxpc3RfZGVsX2luaXQoJnBhZ2UtPmxydSk7CisJCWxpc3RfYWRkX3RhaWwoJnBhZ2UtPmxydSwgJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKwkJU2V0UGFnZUxSVShwYWdlKTsKKyNlbmRpZgorCX0KKwl0cmFjaW5nX3BhZ2VzX2FsbG9jYXRlZCArPSBwYWdlc19hbGxvY2F0ZWQ7CisJZ2xvYmFsX3RyYWNlLmVudHJpZXMgKz0gRU5UUklFU19QRVJfUEFHRTsKKworCXJldHVybiAwOworCisgZnJlZV9wYWdlczoKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocGFnZSwgdG1wLCAmcGFnZXMsIGxydSkgeworCQlsaXN0X2RlbF9pbml0KCZwYWdlLT5scnUpOworCQlfX2ZyZWVfcGFnZShwYWdlKTsKKwl9CisJcmV0dXJuIC1FTk9NRU07Cit9CisKK3N0YXRpYyBpbnQgdHJhY2VfZnJlZV9wYWdlKHZvaWQpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCWludCBpOworCWludCByZXQgPSAwOworCisJLyogZnJlZSBvbmUgcGFnZSBmcm9tIGVhY2ggYnVmZmVyICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQlkYXRhID0gZ2xvYmFsX3RyYWNlLmRhdGFbaV07CisJCXAgPSBkYXRhLT50cmFjZV9wYWdlcy5uZXh0OworCQlpZiAocCA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpIHsKKwkJCS8qIHNob3VsZCBuZXZlciBoYXBwZW4gKi8KKwkJCVdBUk5fT04oMSk7CisJCQl0cmFjaW5nX2Rpc2FibGVkID0gMTsKKwkJCXJldCA9IC0xOworCQkJYnJlYWs7CisJCX0KKwkJcGFnZSA9IGxpc3RfZW50cnkocCwgc3RydWN0IHBhZ2UsIGxydSk7CisJCUNsZWFyUGFnZUxSVShwYWdlKTsKKwkJbGlzdF9kZWwoJnBhZ2UtPmxydSk7CisJCXRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkLS07CisJCXRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkLS07CisJCV9fZnJlZV9wYWdlKHBhZ2UpOworCisJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisKKyNpZmRlZiBDT05GSUdfVFJBQ0VSX01BWF9UUkFDRQorCQlkYXRhID0gbWF4X3RyLmRhdGFbaV07CisJCXAgPSBkYXRhLT50cmFjZV9wYWdlcy5uZXh0OworCQlpZiAocCA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpIHsKKwkJCS8qIHNob3VsZCBuZXZlciBoYXBwZW4gKi8KKwkJCVdBUk5fT04oMSk7CisJCQl0cmFjaW5nX2Rpc2FibGVkID0gMTsKKwkJCXJldCA9IC0xOworCQkJYnJlYWs7CisJCX0KKwkJcGFnZSA9IGxpc3RfZW50cnkocCwgc3RydWN0IHBhZ2UsIGxydSk7CisJCUNsZWFyUGFnZUxSVShwYWdlKTsKKwkJbGlzdF9kZWwoJnBhZ2UtPmxydSk7CisJCV9fZnJlZV9wYWdlKHBhZ2UpOworCisJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisjZW5kaWYKKwl9CisJZ2xvYmFsX3RyYWNlLmVudHJpZXMgLT0gRU5UUklFU19QRVJfUEFHRTsKKworCXJldHVybiByZXQ7Cit9CisKK19faW5pdCBzdGF0aWMgaW50IHRyYWNlcl9hbGxvY19idWZmZXJzKHZvaWQpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl2b2lkICphcnJheTsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgcGFnZXMgPSAwOworCWludCByZXQgPSAtRU5PTUVNOworCWludCBpOworCisJLyogVE9ETzogbWFrZSB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgaG90IHBsdWdnYWJsZSB3aXRoIENQVVMgKi8KKwl0cmFjaW5nX25yX2J1ZmZlcnMgPSBudW1fcG9zc2libGVfY3B1cygpOworCXRyYWNpbmdfYnVmZmVyX21hc2sgPSBjcHVfcG9zc2libGVfbWFwOworCisJLyogQWxsb2NhdGUgdGhlIGZpcnN0IHBhZ2UgZm9yIGFsbCBidWZmZXJzICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQlkYXRhID0gZ2xvYmFsX3RyYWNlLmRhdGFbaV0gPSAmcGVyX2NwdShnbG9iYWxfdHJhY2VfY3B1LCBpKTsKKwkJbWF4X3RyLmRhdGFbaV0gPSAmcGVyX2NwdShtYXhfZGF0YSwgaSk7CisKKwkJYXJyYXkgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKGFycmF5ID09IE5VTEwpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAidHJhY2VyOiBmYWlsZWQgdG8gYWxsb2NhdGUgcGFnZSIKKwkJCSAgICAgICAiZm9yIHRyYWNlIGJ1ZmZlciFcbiIpOworCQkJZ290byBmcmVlX2J1ZmZlcnM7CisJCX0KKworCQkvKiBzZXQgdGhlIGFycmF5IHRvIHRoZSBsaXN0ICovCisJCUlOSVRfTElTVF9IRUFEKCZkYXRhLT50cmFjZV9wYWdlcyk7CisJCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoYXJyYXkpOworCQlsaXN0X2FkZCgmcGFnZS0+bHJ1LCAmZGF0YS0+dHJhY2VfcGFnZXMpOworCQkvKiB1c2UgdGhlIExSVSBmbGFnIHRvIGRpZmZlcmVudGlhdGUgdGhlIHR3byBidWZmZXJzICovCisJCUNsZWFyUGFnZUxSVShwYWdlKTsKKworCQlkYXRhLT5sb2NrID0gKHJhd19zcGlubG9ja190KV9fUkFXX1NQSU5fTE9DS19VTkxPQ0tFRDsKKwkJbWF4X3RyLmRhdGFbaV0tPmxvY2sgPSAocmF3X3NwaW5sb2NrX3QpX19SQVdfU1BJTl9MT0NLX1VOTE9DS0VEOworCisvKiBPbmx5IGFsbG9jYXRlIGlmIHdlIGFyZSBhY3R1YWxseSB1c2luZyB0aGUgbWF4IHRyYWNlICovCisjaWZkZWYgQ09ORklHX1RSQUNFUl9NQVhfVFJBQ0UKKwkJYXJyYXkgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKGFycmF5ID09IE5VTEwpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAidHJhY2VyOiBmYWlsZWQgdG8gYWxsb2NhdGUgcGFnZSIKKwkJCSAgICAgICAiZm9yIHRyYWNlIGJ1ZmZlciFcbiIpOworCQkJZ290byBmcmVlX2J1ZmZlcnM7CisJCX0KKworCQlJTklUX0xJU1RfSEVBRCgmbWF4X3RyLmRhdGFbaV0tPnRyYWNlX3BhZ2VzKTsKKwkJcGFnZSA9IHZpcnRfdG9fcGFnZShhcnJheSk7CisJCWxpc3RfYWRkKCZwYWdlLT5scnUsICZtYXhfdHIuZGF0YVtpXS0+dHJhY2VfcGFnZXMpOworCQlTZXRQYWdlTFJVKHBhZ2UpOworI2VuZGlmCisJfQorCisJLyoKKwkgKiBTaW5jZSB3ZSBhbGxvY2F0ZSBieSBvcmRlcnMgb2YgcGFnZXMsIHdlIG1heSBiZSBhYmxlIHRvCisJICogcm91bmQgdXAgYSBiaXQuCisJICovCisJZ2xvYmFsX3RyYWNlLmVudHJpZXMgPSBFTlRSSUVTX1BFUl9QQUdFOworCXBhZ2VzKys7CisKKwl3aGlsZSAoZ2xvYmFsX3RyYWNlLmVudHJpZXMgPCB0cmFjZV9ucl9lbnRyaWVzKSB7CisJCWlmICh0cmFjZV9hbGxvY19wYWdlKCkpCisJCQlicmVhazsKKwkJcGFnZXMrKzsKKwl9CisJbWF4X3RyLmVudHJpZXMgPSBnbG9iYWxfdHJhY2UuZW50cmllczsKKworCXByX2luZm8oInRyYWNlcjogJWQgcGFnZXMgYWxsb2NhdGVkIGZvciAlbGQgZW50cmllcyBvZiAlbGQgYnl0ZXNcbiIsCisJCXBhZ2VzLCB0cmFjZV9ucl9lbnRyaWVzLCAobG9uZylUUkFDRV9FTlRSWV9TSVpFKTsKKwlwcl9pbmZvKCIgICBhY3R1YWwgZW50cmllcyAlbGRcbiIsIGdsb2JhbF90cmFjZS5lbnRyaWVzKTsKKworCXRyYWNlcl9pbml0X2RlYnVnZnMoKTsKKworCXRyYWNlX2luaXRfY21kbGluZXMoKTsKKworCXJlZ2lzdGVyX3RyYWNlcigmbm9fdHJhY2VyKTsKKwljdXJyZW50X3RyYWNlID0gJm5vX3RyYWNlcjsKKworCS8qIEFsbCBzZWVtcyBPSywgZW5hYmxlIHRyYWNpbmcgKi8KKwlnbG9iYWxfdHJhY2UuY3RybCA9IHRyYWNlcl9lbmFibGVkOworCXRyYWNpbmdfZGlzYWJsZWQgPSAwOworCisJcmV0dXJuIDA7CisKKyBmcmVlX2J1ZmZlcnM6CisJZm9yIChpLS0gOyBpID49IDA7IGktLSkgeworCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgKnRtcDsKKwkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IGdsb2JhbF90cmFjZS5kYXRhW2ldOworCisJCWlmIChkYXRhKSB7CisJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocGFnZSwgdG1wLAorCQkJCQkJICZkYXRhLT50cmFjZV9wYWdlcywgbHJ1KSB7CisJCQkJbGlzdF9kZWxfaW5pdCgmcGFnZS0+bHJ1KTsKKwkJCQlfX2ZyZWVfcGFnZShwYWdlKTsKKwkJCX0KKwkJfQorCisjaWZkZWYgQ09ORklHX1RSQUNFUl9NQVhfVFJBQ0UKKwkJZGF0YSA9IG1heF90ci5kYXRhW2ldOworCQlpZiAoZGF0YSkgeworCQkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBhZ2UsIHRtcCwKKwkJCQkJCSAmZGF0YS0+dHJhY2VfcGFnZXMsIGxydSkgeworCQkJCWxpc3RfZGVsX2luaXQoJnBhZ2UtPmxydSk7CisJCQkJX19mcmVlX3BhZ2UocGFnZSk7CisJCQl9CisJCX0KKyNlbmRpZgorCX0KKwlyZXR1cm4gcmV0OworfQorZnNfaW5pdGNhbGwodHJhY2VyX2FsbG9jX2J1ZmZlcnMpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlLmggYi9rZXJuZWwvdHJhY2UvdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjlmODY3Ci0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlLmgKQEAgLTAsMCArMSwzMzkgQEAKKyNpZm5kZWYgX0xJTlVYX0tFUk5FTF9UUkFDRV9ICisjZGVmaW5lIF9MSU5VWF9LRVJORUxfVFJBQ0VfSAorCisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgorI2luY2x1ZGUgPGxpbnV4L21taW90cmFjZS5oPgorCitlbnVtIHRyYWNlX3R5cGUgeworCV9fVFJBQ0VfRklSU1RfVFlQRSA9IDAsCisKKwlUUkFDRV9GTiwKKwlUUkFDRV9DVFgsCisJVFJBQ0VfV0FLRSwKKwlUUkFDRV9TVEFDSywKKwlUUkFDRV9TUEVDSUFMLAorCVRSQUNFX01NSU9fUlcsCisJVFJBQ0VfTU1JT19NQVAsCisKKwlfX1RSQUNFX0xBU1RfVFlQRQorfTsKKworLyoKKyAqIEZ1bmN0aW9uIHRyYWNlIGVudHJ5IC0gZnVuY3Rpb24gYWRkcmVzcyBhbmQgcGFyZW50IGZ1bmN0aW9uIGFkZHJlczoKKyAqLworc3RydWN0IGZ0cmFjZV9lbnRyeSB7CisJdW5zaWduZWQgbG9uZwkJaXA7CisJdW5zaWduZWQgbG9uZwkJcGFyZW50X2lwOworfTsKKworLyoKKyAqIENvbnRleHQgc3dpdGNoIHRyYWNlIGVudHJ5IC0gd2hpY2ggdGFzayAoYW5kIHByaW8pIHdlIHN3aXRjaGVkIGZyb20vdG86CisgKi8KK3N0cnVjdCBjdHhfc3dpdGNoX2VudHJ5IHsKKwl1bnNpZ25lZCBpbnQJCXByZXZfcGlkOworCXVuc2lnbmVkIGNoYXIJCXByZXZfcHJpbzsKKwl1bnNpZ25lZCBjaGFyCQlwcmV2X3N0YXRlOworCXVuc2lnbmVkIGludAkJbmV4dF9waWQ7CisJdW5zaWduZWQgY2hhcgkJbmV4dF9wcmlvOworCXVuc2lnbmVkIGNoYXIJCW5leHRfc3RhdGU7Cit9OworCisvKgorICogU3BlY2lhbCAoZnJlZS1mb3JtKSB0cmFjZSBlbnRyeToKKyAqLworc3RydWN0IHNwZWNpYWxfZW50cnkgeworCXVuc2lnbmVkIGxvbmcJCWFyZzE7CisJdW5zaWduZWQgbG9uZwkJYXJnMjsKKwl1bnNpZ25lZCBsb25nCQlhcmczOworfTsKKworLyoKKyAqIFN0YWNrLXRyYWNlIGVudHJ5OgorICovCisKKyNkZWZpbmUgRlRSQUNFX1NUQUNLX0VOVFJJRVMJOAorCitzdHJ1Y3Qgc3RhY2tfZW50cnkgeworCXVuc2lnbmVkIGxvbmcJCWNhbGxlcltGVFJBQ0VfU1RBQ0tfRU5UUklFU107Cit9OworCisvKgorICogVGhlIHRyYWNlIGVudHJ5IC0gdGhlIG1vc3QgYmFzaWMgdW5pdCBvZiB0cmFjaW5nLiBUaGlzIGlzIHdoYXQKKyAqIGlzIHByaW50ZWQgaW4gdGhlIGVuZCBhcyBhIHNpbmdsZSBsaW5lIGluIHRoZSB0cmFjZSBvdXRwdXQsIHN1Y2ggYXM6CisgKgorICogICAgIGJhc2gtMTU4MTYgWzAxXSAgIDIzNS4xOTc1ODU6IGlkbGVfY3B1IDwtIGlycV9lbnRlcgorICovCitzdHJ1Y3QgdHJhY2VfZW50cnkgeworCWNoYXIJCQl0eXBlOworCWNoYXIJCQljcHU7CisJY2hhcgkJCWZsYWdzOworCWNoYXIJCQlwcmVlbXB0X2NvdW50OworCWludAkJCXBpZDsKKwljeWNsZV90CQkJdDsKKwl1bmlvbiB7CisJCXN0cnVjdCBmdHJhY2VfZW50cnkJCWZuOworCQlzdHJ1Y3QgY3R4X3N3aXRjaF9lbnRyeQkJY3R4OworCQlzdHJ1Y3Qgc3BlY2lhbF9lbnRyeQkJc3BlY2lhbDsKKwkJc3RydWN0IHN0YWNrX2VudHJ5CQlzdGFjazsKKwkJc3RydWN0IG1taW90cmFjZV9ydwkJbW1pb3J3OworCQlzdHJ1Y3QgbW1pb3RyYWNlX21hcAkJbW1pb21hcDsKKwl9OworfTsKKworI2RlZmluZSBUUkFDRV9FTlRSWV9TSVpFCXNpemVvZihzdHJ1Y3QgdHJhY2VfZW50cnkpCisKKy8qCisgKiBUaGUgQ1BVIHRyYWNlIGFycmF5IC0gaXQgY29uc2lzdHMgb2YgdGhvdXNhbmRzIG9mIHRyYWNlIGVudHJpZXMKKyAqIHBsdXMgc29tZSBvdGhlciBkZXNjcmlwdG9yIGRhdGE6IChmb3IgZXhhbXBsZSB3aGljaCB0YXNrIHN0YXJ0ZWQKKyAqIHRoZSB0cmFjZSwgZXRjLikKKyAqLworc3RydWN0IHRyYWNlX2FycmF5X2NwdSB7CisJc3RydWN0IGxpc3RfaGVhZAl0cmFjZV9wYWdlczsKKwlhdG9taWNfdAkJZGlzYWJsZWQ7CisJcmF3X3NwaW5sb2NrX3QJCWxvY2s7CisJc3RydWN0IGxvY2tfY2xhc3Nfa2V5CWxvY2tfa2V5OworCisJLyogdGhlc2UgZmllbGRzIGdldCBjb3BpZWQgaW50byBtYXgtdHJhY2U6ICovCisJdW5zaWduZWQJCXRyYWNlX2hlYWRfaWR4OworCXVuc2lnbmVkCQl0cmFjZV90YWlsX2lkeDsKKwl2b2lkCQkJKnRyYWNlX2hlYWQ7IC8qIHByb2R1Y2VyICovCisJdm9pZAkJCSp0cmFjZV90YWlsOyAvKiBjb25zdW1lciAqLworCXVuc2lnbmVkIGxvbmcJCXRyYWNlX2lkeDsKKwl1bnNpZ25lZCBsb25nCQlvdmVycnVuOworCXVuc2lnbmVkIGxvbmcJCXNhdmVkX2xhdGVuY3k7CisJdW5zaWduZWQgbG9uZwkJY3JpdGljYWxfc3RhcnQ7CisJdW5zaWduZWQgbG9uZwkJY3JpdGljYWxfZW5kOworCXVuc2lnbmVkIGxvbmcJCWNyaXRpY2FsX3NlcXVlbmNlOworCXVuc2lnbmVkIGxvbmcJCW5pY2U7CisJdW5zaWduZWQgbG9uZwkJcG9saWN5OworCXVuc2lnbmVkIGxvbmcJCXJ0X3ByaW9yaXR5OworCWN5Y2xlX3QJCQlwcmVlbXB0X3RpbWVzdGFtcDsKKwlwaWRfdAkJCXBpZDsKKwl1aWRfdAkJCXVpZDsKKwljaGFyCQkJY29tbVtUQVNLX0NPTU1fTEVOXTsKK307CisKK3N0cnVjdCB0cmFjZV9pdGVyYXRvcjsKKworLyoKKyAqIFRoZSB0cmFjZSBhcnJheSAtIGFuIGFycmF5IG9mIHBlci1DUFUgdHJhY2UgYXJyYXlzLiBUaGlzIGlzIHRoZQorICogaGlnaGVzdCBsZXZlbCBkYXRhIHN0cnVjdHVyZSB0aGF0IGluZGl2aWR1YWwgdHJhY2VycyBkZWFsIHdpdGguCisgKiBUaGV5IGhhdmUgb24vb2ZmIHN0YXRlIGFzIHdlbGw6CisgKi8KK3N0cnVjdCB0cmFjZV9hcnJheSB7CisJdW5zaWduZWQgbG9uZwkJZW50cmllczsKKwlsb25nCQkJY3RybDsKKwlpbnQJCQljcHU7CisJY3ljbGVfdAkJCXRpbWVfc3RhcnQ7CisJc3RydWN0IHRhc2tfc3RydWN0CSp3YWl0ZXI7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdQkqZGF0YVtOUl9DUFVTXTsKK307CisKKy8qCisgKiBBIHNwZWNpZmljIHRyYWNlciwgcmVwcmVzZW50ZWQgYnkgbWV0aG9kcyB0aGF0IG9wZXJhdGUgb24gYSB0cmFjZSBhcnJheToKKyAqLworc3RydWN0IHRyYWNlciB7CisJY29uc3QgY2hhcgkJKm5hbWU7CisJdm9pZAkJCSgqaW5pdCkoc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisJdm9pZAkJCSgqcmVzZXQpKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworCXZvaWQJCQkoKm9wZW4pKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJdm9pZAkJCSgqcGlwZV9vcGVuKShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpOworCXZvaWQJCQkoKmNsb3NlKShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpOworCXZvaWQJCQkoKnN0YXJ0KShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpOworCXZvaWQJCQkoKnN0b3ApKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJc3NpemVfdAkJCSgqcmVhZCkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyLAorCQkJCQlzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCQkJCXNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcyk7CisJdm9pZAkJCSgqY3RybF91cGRhdGUpKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2lmZGVmIENPTkZJR19GVFJBQ0VfU1RBUlRVUF9URVNUCisJaW50CQkJKCpzZWxmdGVzdCkoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorCWludAkJCSgqcHJpbnRfbGluZSkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKTsKKwlzdHJ1Y3QgdHJhY2VyCQkqbmV4dDsKKwlpbnQJCQlwcmludF9tYXg7Cit9OworCitzdHJ1Y3QgdHJhY2Vfc2VxIHsKKwl1bnNpZ25lZCBjaGFyCQlidWZmZXJbUEFHRV9TSVpFXTsKKwl1bnNpZ25lZCBpbnQJCWxlbjsKKwl1bnNpZ25lZCBpbnQJCXJlYWRwb3M7Cit9OworCisvKgorICogVHJhY2UgaXRlcmF0b3IgLSB1c2VkIGJ5IHByaW50b3V0IHJvdXRpbmVzIHdobyBwcmVzZW50IHRyYWNlCisgKiByZXN1bHRzIHRvIHVzZXJzIGFuZCB3aGljaCByb3V0aW5lcyBtaWdodCBzbGVlcCwgZXRjOgorICovCitzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgeworCXN0cnVjdCB0cmFjZV9hcnJheQkqdHI7CisJc3RydWN0IHRyYWNlcgkJKnRyYWNlOworCXZvaWQJCQkqcHJpdmF0ZTsKKwlsb25nCQkJbGFzdF9vdmVycnVuW05SX0NQVVNdOworCWxvbmcJCQlvdmVycnVuW05SX0NQVVNdOworCisJLyogVGhlIGJlbG93IGlzIHplcm9lZCBvdXQgaW4gcGlwZV9yZWFkICovCisJc3RydWN0IHRyYWNlX3NlcQlzZXE7CisJc3RydWN0IHRyYWNlX2VudHJ5CSplbnQ7CisJaW50CQkJY3B1OworCisJc3RydWN0IHRyYWNlX2VudHJ5CSpwcmV2X2VudDsKKwlpbnQJCQlwcmV2X2NwdTsKKworCXVuc2lnbmVkIGxvbmcJCWl0ZXJfZmxhZ3M7CisJbG9mZl90CQkJcG9zOworCXVuc2lnbmVkIGxvbmcJCW5leHRfaWR4W05SX0NQVVNdOworCXN0cnVjdCBsaXN0X2hlYWQJKm5leHRfcGFnZVtOUl9DUFVTXTsKKwl1bnNpZ25lZAkJbmV4dF9wYWdlX2lkeFtOUl9DUFVTXTsKKwlsb25nCQkJaWR4OworfTsKKwordm9pZCB0cmFjaW5nX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpOworaW50IHRyYWNpbmdfb3Blbl9nZW5lcmljKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKTsKK3N0cnVjdCBkZW50cnkgKnRyYWNpbmdfaW5pdF9kZW50cnkodm9pZCk7Cit2b2lkIGluaXRfdHJhY2VyX3N5c3Byb2ZfZGVidWdmcyhzdHJ1Y3QgZGVudHJ5ICpkX3RyYWNlcik7CisKK3ZvaWQgZnRyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkgICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCSAgICB1bnNpZ25lZCBsb25nIGlwLAorCQkJICAgIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwLAorCQkJICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpOwordm9pZCB0cmFjaW5nX3NjaGVkX3N3aXRjaF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkJc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LAorCQkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dCwKKwkJCQl1bnNpZ25lZCBsb25nIGZsYWdzKTsKK3ZvaWQgdHJhY2luZ19yZWNvcmRfY21kbGluZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayk7CisKK3ZvaWQgdHJhY2luZ19zY2hlZF93YWtldXBfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqd2FrZWUsCisJCQkJc3RydWN0IHRhc2tfc3RydWN0ICpjdXIsCisJCQkJdW5zaWduZWQgbG9uZyBmbGFncyk7Cit2b2lkIHRyYWNlX3NwZWNpYWwoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJICAgdW5zaWduZWQgbG9uZyBhcmcxLAorCQkgICB1bnNpZ25lZCBsb25nIGFyZzIsCisJCSAgIHVuc2lnbmVkIGxvbmcgYXJnMyk7Cit2b2lkIHRyYWNlX2Z1bmN0aW9uKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCSAgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkgICAgdW5zaWduZWQgbG9uZyBpcCwKKwkJICAgIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwLAorCQkgICAgdW5zaWduZWQgbG9uZyBmbGFncyk7CisKK3ZvaWQgdHJhY2luZ19zdGFydF9jbWRsaW5lX3JlY29yZCh2b2lkKTsKK3ZvaWQgdHJhY2luZ19zdG9wX2NtZGxpbmVfcmVjb3JkKHZvaWQpOworaW50IHJlZ2lzdGVyX3RyYWNlcihzdHJ1Y3QgdHJhY2VyICp0eXBlKTsKK3ZvaWQgdW5yZWdpc3Rlcl90cmFjZXIoc3RydWN0IHRyYWNlciAqdHlwZSk7CisKK2V4dGVybiB1bnNpZ25lZCBsb25nIG5zZWNzX3RvX3VzZWNzKHVuc2lnbmVkIGxvbmcgbnNlY3MpOworCitleHRlcm4gdW5zaWduZWQgbG9uZyB0cmFjaW5nX21heF9sYXRlbmN5OworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdHJhY2luZ190aHJlc2g7CisKK3ZvaWQgdXBkYXRlX21heF90cihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNwdSk7Cit2b2lkIHVwZGF0ZV9tYXhfdHJfc2luZ2xlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkgIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgY3B1KTsKKworZXh0ZXJuIGN5Y2xlX3QgZnRyYWNlX25vdyhpbnQgY3B1KTsKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKK3ZvaWQgdHJhY2luZ19zdGFydF9mdW5jdGlvbl90cmFjZSh2b2lkKTsKK3ZvaWQgdHJhY2luZ19zdG9wX2Z1bmN0aW9uX3RyYWNlKHZvaWQpOworI2Vsc2UKKyMgZGVmaW5lIHRyYWNpbmdfc3RhcnRfZnVuY3Rpb25fdHJhY2UoKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgdHJhY2luZ19zdG9wX2Z1bmN0aW9uX3RyYWNlKCkJCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0NPTlRFWFRfU1dJVENIX1RSQUNFUgordHlwZWRlZiB2b2lkCisoKnRyYWNlcl9zd2l0Y2hfZnVuY190KSh2b2lkICpwcml2YXRlLAorCQkJdm9pZCAqX19ycSwKKwkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldiwKKwkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dCk7CisKK3N0cnVjdCB0cmFjZXJfc3dpdGNoX29wcyB7CisJdHJhY2VyX3N3aXRjaF9mdW5jX3QJCWZ1bmM7CisJdm9pZAkJCQkqcHJpdmF0ZTsKKwlzdHJ1Y3QgdHJhY2VyX3N3aXRjaF9vcHMJKm5leHQ7Cit9OworCisjZW5kaWYgLyogQ09ORklHX0NPTlRFWFRfU1dJVENIX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitleHRlcm4gdW5zaWduZWQgbG9uZyBmdHJhY2VfdXBkYXRlX3RvdF9jbnQ7CisjZGVmaW5lIERZTl9GVFJBQ0VfVEVTVF9OQU1FIHRyYWNlX3NlbGZ0ZXN0X2R5bmFtaWNfdGVzdF9mdW5jCitleHRlcm4gaW50IERZTl9GVFJBQ0VfVEVTVF9OQU1FKHZvaWQpOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfTU1JT1RSQUNFCitleHRlcm4gdm9pZCBfX3RyYWNlX21taW90cmFjZV9ydyhzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkJc3RydWN0IG1taW90cmFjZV9ydyAqcncpOworZXh0ZXJuIHZvaWQgX190cmFjZV9tbWlvdHJhY2VfbWFwKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQlzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqbWFwKTsKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TVEFSVFVQX1RFU1QKKyNpZmRlZiBDT05GSUdfRlRSQUNFCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZnVuY3Rpb24oc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX0lSUVNPRkZfVFJBQ0VSCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfaXJxc29mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19QUkVFTVBUX1RSQUNFUgorZXh0ZXJuIGludCB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgICAgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZiBkZWZpbmVkKENPTkZJR19JUlFTT0ZGX1RSQUNFUikgJiYgZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfcHJlZW1wdGlycXNvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCQkgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfU0NIRURfVFJBQ0VSCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfd2FrZXVwKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfc2NoZWRfc3dpdGNoKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgICAgICAgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfU1lTUFJPRl9UUkFDRVIKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zeXNwcm9mKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgICAgICAgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFX1NUQVJUVVBfVEVTVCAqLworCitleHRlcm4gdm9pZCAqaGVhZF9wYWdlKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpOworZXh0ZXJuIGludCB0cmFjZV9zZXFfcHJpbnRmKHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKK2V4dGVybiBzc2l6ZV90IHRyYWNlX3NlcV90b191c2VyKHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNoYXIgX191c2VyICp1YnVmLAorCQkJCSBzaXplX3QgY250KTsKK2V4dGVybiBsb25nIG5zMnVzZWNzKGN5Y2xlX3QgbnNlYyk7CisKK2V4dGVybiB1bnNpZ25lZCBsb25nIHRyYWNlX2ZsYWdzOworCisvKgorICogdHJhY2VfaXRlcmF0b3JfZmxhZ3MgaXMgYW4gZW51bWVyYXRpb24gdGhhdCBkZWZpbmVzIGJpdAorICogcG9zaXRpb25zIGludG8gdHJhY2VfZmxhZ3MgdGhhdCBjb250cm9scyB0aGUgb3V0cHV0LgorICoKKyAqIE5PVEU6IFRoZXNlIGJpdHMgbXVzdCBtYXRjaCB0aGUgdHJhY2Vfb3B0aW9ucyBhcnJheSBpbgorICogICAgICAgdHJhY2UuYy4KKyAqLworZW51bSB0cmFjZV9pdGVyYXRvcl9mbGFncyB7CisJVFJBQ0VfSVRFUl9QUklOVF9QQVJFTlQJCT0gMHgwMSwKKwlUUkFDRV9JVEVSX1NZTV9PRkZTRVQJCT0gMHgwMiwKKwlUUkFDRV9JVEVSX1NZTV9BRERSCQk9IDB4MDQsCisJVFJBQ0VfSVRFUl9WRVJCT1NFCQk9IDB4MDgsCisJVFJBQ0VfSVRFUl9SQVcJCQk9IDB4MTAsCisJVFJBQ0VfSVRFUl9IRVgJCQk9IDB4MjAsCisJVFJBQ0VfSVRFUl9CSU4JCQk9IDB4NDAsCisJVFJBQ0VfSVRFUl9CTE9DSwkJPSAweDgwLAorCVRSQUNFX0lURVJfU1RBQ0tUUkFDRQkJPSAweDEwMCwKKwlUUkFDRV9JVEVSX1NDSEVEX1RSRUUJCT0gMHgyMDAsCit9OworCisjZW5kaWYgLyogX0xJTlVYX0tFUk5FTF9UUkFDRV9IICovCmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2VfZnVuY3Rpb25zLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2VfZnVuY3Rpb25zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEyMTQ0OAotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9mdW5jdGlvbnMuYwpAQCAtMCwwICsxLDgxIEBACisvKgorICogcmluZyBidWZmZXIgYmFzZWQgZnVuY3Rpb24gdHJhY2VyCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CisgKgorICogQmFzZWQgb24gY29kZSBmcm9tIHRoZSBsYXRlbmN5X3RyYWNlciwgdGhhdCBpczoKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgSW5nbyBNb2xuYXIKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgV2lsbGlhbSBMZWUgSXJ3aW4gSUlJCisgKi8KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitzdGF0aWMgdm9pZCBmdW5jdGlvbl9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCBjcHU7CisKKwl0ci0+dGltZV9zdGFydCA9IGZ0cmFjZV9ub3codHItPmNwdSk7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKKwkJdHJhY2luZ19yZXNldCh0ci0+ZGF0YVtjcHVdKTsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfZnVuY3Rpb25fdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0ci0+Y3B1ID0gZ2V0X2NwdSgpOworCWZ1bmN0aW9uX3Jlc2V0KHRyKTsKKwlwdXRfY3B1KCk7CisKKwl0cmFjaW5nX3N0YXJ0X2NtZGxpbmVfcmVjb3JkKCk7CisJdHJhY2luZ19zdGFydF9mdW5jdGlvbl90cmFjZSgpOworfQorCitzdGF0aWMgdm9pZCBzdG9wX2Z1bmN0aW9uX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2luZ19zdG9wX2Z1bmN0aW9uX3RyYWNlKCk7CisJdHJhY2luZ19zdG9wX2NtZGxpbmVfcmVjb3JkKCk7Cit9CisKK3N0YXRpYyB2b2lkIGZ1bmN0aW9uX3RyYWNlX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X2Z1bmN0aW9uX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHZvaWQgZnVuY3Rpb25fdHJhY2VfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0b3BfZnVuY3Rpb25fdHJhY2UodHIpOworfQorCitzdGF0aWMgdm9pZCBmdW5jdGlvbl90cmFjZV9jdHJsX3VwZGF0ZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfZnVuY3Rpb25fdHJhY2UodHIpOworCWVsc2UKKwkJc3RvcF9mdW5jdGlvbl90cmFjZSh0cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIGZ1bmN0aW9uX3RyYWNlIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCSAgICAgPSAiZnRyYWNlIiwKKwkuaW5pdAkgICAgID0gZnVuY3Rpb25fdHJhY2VfaW5pdCwKKwkucmVzZXQJICAgICA9IGZ1bmN0aW9uX3RyYWNlX3Jlc2V0LAorCS5jdHJsX3VwZGF0ZSA9IGZ1bmN0aW9uX3RyYWNlX2N0cmxfdXBkYXRlLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2Z1bmN0aW9uLAorI2VuZGlmCit9OworCitzdGF0aWMgX19pbml0IGludCBpbml0X2Z1bmN0aW9uX3RyYWNlKHZvaWQpCit7CisJcmV0dXJuIHJlZ2lzdGVyX3RyYWNlcigmZnVuY3Rpb25fdHJhY2UpOworfQorCitkZXZpY2VfaW5pdGNhbGwoaW5pdF9mdW5jdGlvbl90cmFjZSk7CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2VfaXJxc29mZi5jIGIva2VybmVsL3RyYWNlL3RyYWNlX2lycXNvZmYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjFkNmZlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX2lycXNvZmYuYwpAQCAtMCwwICsxLDQ4NiBAQAorLyoKKyAqIHRyYWNlIGlycXMgb2ZmIGNyaXRpY2FsbCB0aW1pbmdzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CisgKgorICogRnJvbSBjb2RlIGluIHRoZSBsYXRlbmN5X3RyYWNlciwgdGhhdCBpczoKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgSW5nbyBNb2xuYXIKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgV2lsbGlhbSBMZWUgSXJ3aW4gSUlJCisgKi8KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJCSppcnFzb2ZmX3RyYWNlIF9fcmVhZF9tb3N0bHk7CitzdGF0aWMgaW50CQkJCXRyYWNlcl9lbmFibGVkIF9fcmVhZF9tb3N0bHk7CisKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIHRyYWNpbmdfY3B1KTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhtYXhfdHJhY2VfbG9jayk7CisKK2VudW0geworCVRSQUNFUl9JUlFTX09GRgkJPSAoMSA8PCAxKSwKKwlUUkFDRVJfUFJFRU1QVF9PRkYJPSAoMSA8PCAyKSwKK307CisKK3N0YXRpYyBpbnQgdHJhY2VfdHlwZSBfX3JlYWRfbW9zdGx5OworCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCitzdGF0aWMgaW5saW5lIGludAorcHJlZW1wdF90cmFjZSh2b2lkKQoreworCXJldHVybiAoKHRyYWNlX3R5cGUgJiBUUkFDRVJfUFJFRU1QVF9PRkYpICYmIHByZWVtcHRfY291bnQoKSk7Cit9CisjZWxzZQorIyBkZWZpbmUgcHJlZW1wdF90cmFjZSgpICgwKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfSVJRU09GRl9UUkFDRVIKK3N0YXRpYyBpbmxpbmUgaW50CitpcnFfdHJhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKCh0cmFjZV90eXBlICYgVFJBQ0VSX0lSUVNfT0ZGKSAmJgorCQlpcnFzX2Rpc2FibGVkKCkpOworfQorI2Vsc2UKKyMgZGVmaW5lIGlycV90cmFjZSgpICgwKQorI2VuZGlmCisKKy8qCisgKiBTZXF1ZW5jZSBjb3VudCAtIHdlIHJlY29yZCBpdCB3aGVuIHN0YXJ0aW5nIGEgbWVhc3VyZW1lbnQgYW5kCisgKiBza2lwIHRoZSBsYXRlbmN5IGlmIHRoZSBzZXF1ZW5jZSBoYXMgY2hhbmdlZCAtIHNvbWUgb3RoZXIgc2VjdGlvbgorICogZGlkIGEgbWF4aW11bSBhbmQgY291bGQgZGlzdHVyYiBvdXIgbWVhc3VyZW1lbnQgd2l0aCBzZXJpYWwgY29uc29sZQorICogcHJpbnRvdXRzLCBldGMuIFRydWx5IGNvaW5jaWRpbmcgbWF4aW11bSBsYXRlbmNpZXMgc2hvdWxkIGJlIHJhcmUKKyAqIGFuZCB3aGF0IGhhcHBlbnMgdG9nZXRoZXIgaGFwcGVucyBzZXBhcmF0ZWx5IGFzIHdlbGwsIHNvIHRoaXMgZG9lc250CisgKiBkZWNyZWFzZSB0aGUgdmFsaWRpdHkgb2YgdGhlIG1heGltdW0gZm91bmQ6CisgKi8KK3N0YXRpYyBfX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcAl1bnNpZ25lZCBsb25nIG1heF9zZXF1ZW5jZTsKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKy8qCisgKiBpcnFzb2ZmIHVzZXMgaXRzIG93biB0cmFjZXIgZnVuY3Rpb24gdG8ga2VlcCB0aGUgb3ZlcmhlYWQgZG93bjoKKyAqLworc3RhdGljIHZvaWQKK2lycXNvZmZfdHJhY2VyX2NhbGwodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGlycXNvZmZfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IGNwdTsKKworCS8qCisJICogRG9lcyBub3QgbWF0dGVyIGlmIHdlIHByZWVtcHQuIFdlIHRlc3QgdGhlIGZsYWdzCisJICogYWZ0ZXJ3YXJkLCB0byBzZWUgaWYgaXJxcyBhcmUgZGlzYWJsZWQgb3Igbm90LgorCSAqIElmIHdlIHByZWVtcHQgYW5kIGdldCBhIGZhbHNlIHBvc2l0aXZlLCB0aGUgZmxhZ3MKKwkgKiB0ZXN0IHdpbGwgZmFpbC4KKwkgKi8KKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWlmIChsaWtlbHkoIXBlcl9jcHUodHJhY2luZ19jcHUsIGNwdSkpKQorCQlyZXR1cm47CisKKwlsb2NhbF9zYXZlX2ZsYWdzKGZsYWdzKTsKKwkvKiBzbGlnaHQgY2hhbmNlIHRvIGdldCBhIGZhbHNlIHBvc2l0aXZlIG9uIHRyYWNpbmdfY3B1ICovCisJaWYgKCFpcnFzX2Rpc2FibGVkX2ZsYWdzKGZsYWdzKSkKKwkJcmV0dXJuOworCisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCisJaWYgKGxpa2VseShkaXNhYmxlZCA9PSAxKSkKKwkJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKK30KKworc3RhdGljIHN0cnVjdCBmdHJhY2Vfb3BzIHRyYWNlX29wcyBfX3JlYWRfbW9zdGx5ID0KK3sKKwkuZnVuYyA9IGlycXNvZmZfdHJhY2VyX2NhbGwsCit9OworI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKworLyoKKyAqIFNob3VsZCB0aGlzIG5ldyBsYXRlbmN5IGJlIHJlcG9ydGVkL3JlY29yZGVkPworICovCitzdGF0aWMgaW50IHJlcG9ydF9sYXRlbmN5KGN5Y2xlX3QgZGVsdGEpCit7CisJaWYgKHRyYWNpbmdfdGhyZXNoKSB7CisJCWlmIChkZWx0YSA8IHRyYWNpbmdfdGhyZXNoKQorCQkJcmV0dXJuIDA7CisJfSBlbHNlIHsKKwkJaWYgKGRlbHRhIDw9IHRyYWNpbmdfbWF4X2xhdGVuY3kpCisJCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB2b2lkCitjaGVja19jcml0aWNhbF90aW1pbmcoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJICAgICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJICAgICAgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsCisJCSAgICAgIGludCBjcHUpCit7CisJdW5zaWduZWQgbG9uZyBsYXRlbmN5LCB0MCwgdDE7CisJY3ljbGVfdCBUMCwgVDEsIGRlbHRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkvKgorCSAqIHVzZWNzIGNvbnZlcnNpb24gaXMgc2xvdyBzbyB3ZSB0cnkgdG8gZGVsYXkgdGhlIGNvbnZlcnNpb24KKwkgKiBhcyBsb25nIGFzIHBvc3NpYmxlOgorCSAqLworCVQwID0gZGF0YS0+cHJlZW1wdF90aW1lc3RhbXA7CisJVDEgPSBmdHJhY2Vfbm93KGNwdSk7CisJZGVsdGEgPSBUMS1UMDsKKworCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOworCisJaWYgKCFyZXBvcnRfbGF0ZW5jeShkZWx0YSkpCisJCWdvdG8gb3V0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJm1heF90cmFjZV9sb2NrLCBmbGFncyk7CisKKwkvKiBjaGVjayBpZiB3ZSBhcmUgc3RpbGwgdGhlIG1heCBsYXRlbmN5ICovCisJaWYgKCFyZXBvcnRfbGF0ZW5jeShkZWx0YSkpCisJCWdvdG8gb3V0X3VubG9jazsKKworCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBDQUxMRVJfQUREUjAsIHBhcmVudF9pcCwgZmxhZ3MpOworCisJbGF0ZW5jeSA9IG5zZWNzX3RvX3VzZWNzKGRlbHRhKTsKKworCWlmIChkYXRhLT5jcml0aWNhbF9zZXF1ZW5jZSAhPSBtYXhfc2VxdWVuY2UpCisJCWdvdG8gb3V0X3VubG9jazsKKworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSBkZWx0YTsKKwl0MCA9IG5zZWNzX3RvX3VzZWNzKFQwKTsKKwl0MSA9IG5zZWNzX3RvX3VzZWNzKFQxKTsKKworCWRhdGEtPmNyaXRpY2FsX2VuZCA9IHBhcmVudF9pcDsKKworCXVwZGF0ZV9tYXhfdHJfc2luZ2xlKHRyLCBjdXJyZW50LCBjcHUpOworCisJbWF4X3NlcXVlbmNlKys7CisKK291dF91bmxvY2s6CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbWF4X3RyYWNlX2xvY2ssIGZsYWdzKTsKKworb3V0OgorCWRhdGEtPmNyaXRpY2FsX3NlcXVlbmNlID0gbWF4X3NlcXVlbmNlOworCWRhdGEtPnByZWVtcHRfdGltZXN0YW1wID0gZnRyYWNlX25vdyhjcHUpOworCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIENBTExFUl9BRERSMCwgcGFyZW50X2lwLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc3RhcnRfY3JpdGljYWxfdGltaW5nKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKQoreworCWludCBjcHU7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGlycXNvZmZfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJaWYgKGxpa2VseSghdHJhY2VyX2VuYWJsZWQpKQorCQlyZXR1cm47CisKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJaWYgKHBlcl9jcHUodHJhY2luZ19jcHUsIGNwdSkpCisJCXJldHVybjsKKworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCisJaWYgKHVubGlrZWx5KCFkYXRhKSB8fCBhdG9taWNfcmVhZCgmZGF0YS0+ZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwlhdG9taWNfaW5jKCZkYXRhLT5kaXNhYmxlZCk7CisKKwlkYXRhLT5jcml0aWNhbF9zZXF1ZW5jZSA9IG1heF9zZXF1ZW5jZTsKKwlkYXRhLT5wcmVlbXB0X3RpbWVzdGFtcCA9IGZ0cmFjZV9ub3coY3B1KTsKKwlkYXRhLT5jcml0aWNhbF9zdGFydCA9IHBhcmVudF9pcCA/IDogaXA7CisJdHJhY2luZ19yZXNldChkYXRhKTsKKworCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOworCisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKworCXBlcl9jcHUodHJhY2luZ19jcHUsIGNwdSkgPSAxOworCisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3N0b3BfY3JpdGljYWxfdGltaW5nKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKQoreworCWludCBjcHU7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGlycXNvZmZfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwkvKiBBbHdheXMgY2xlYXIgdGhlIHRyYWNpbmcgY3B1IG9uIHN0b3BwaW5nIHRoZSB0cmFjZSAqLworCWlmICh1bmxpa2VseShwZXJfY3B1KHRyYWNpbmdfY3B1LCBjcHUpKSkKKwkJcGVyX2NwdSh0cmFjaW5nX2NwdSwgY3B1KSA9IDA7CisJZWxzZQorCQlyZXR1cm47CisKKwlpZiAoIXRyYWNlcl9lbmFibGVkKQorCQlyZXR1cm47CisKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKworCWlmICh1bmxpa2VseSghZGF0YSkgfHwgdW5saWtlbHkoIWhlYWRfcGFnZShkYXRhKSkgfHwKKwkgICAgIWRhdGEtPmNyaXRpY2FsX3N0YXJ0IHx8IGF0b21pY19yZWFkKCZkYXRhLT5kaXNhYmxlZCkpCisJCXJldHVybjsKKworCWF0b21pY19pbmMoJmRhdGEtPmRpc2FibGVkKTsKKworCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOworCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBpcCwgcGFyZW50X2lwLCBmbGFncyk7CisJY2hlY2tfY3JpdGljYWxfdGltaW5nKHRyLCBkYXRhLCBwYXJlbnRfaXAgPyA6IGlwLCBjcHUpOworCWRhdGEtPmNyaXRpY2FsX3N0YXJ0ID0gMDsKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7Cit9CisKKy8qIHN0YXJ0IGFuZCBzdG9wIGNyaXRpY2FsIHRpbWluZ3MgdXNlZCB0byBmb3Igc3RvcHBhZ2UgKGluIGlkbGUpICovCit2b2lkIHN0YXJ0X2NyaXRpY2FsX3RpbWluZ3Modm9pZCkKK3sKKwlpZiAocHJlZW1wdF90cmFjZSgpIHx8IGlycV90cmFjZSgpKQorCQlzdGFydF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBDQUxMRVJfQUREUjEpOworfQorCit2b2lkIHN0b3BfY3JpdGljYWxfdGltaW5ncyh2b2lkKQoreworCWlmIChwcmVlbXB0X3RyYWNlKCkgfHwgaXJxX3RyYWNlKCkpCisJCXN0b3BfY3JpdGljYWxfdGltaW5nKENBTExFUl9BRERSMCwgQ0FMTEVSX0FERFIxKTsKK30KKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgorI2lmZGVmIENPTkZJR19QUk9WRV9MT0NLSU5HCit2b2lkIHRpbWVfaGFyZGlycXNfb24odW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSkKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RvcF9jcml0aWNhbF90aW1pbmcoYTAsIGExKTsKK30KKwordm9pZCB0aW1lX2hhcmRpcnFzX29mZih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKQoreworCWlmICghcHJlZW1wdF90cmFjZSgpICYmIGlycV90cmFjZSgpKQorCQlzdGFydF9jcml0aWNhbF90aW1pbmcoYTAsIGExKTsKK30KKworI2Vsc2UgLyogIUNPTkZJR19QUk9WRV9MT0NLSU5HICovCisKKy8qCisgKiBTdHViczoKKyAqLworCit2b2lkIGVhcmx5X2Jvb3RfaXJxc19vZmYodm9pZCkKK3sKK30KKwordm9pZCBlYXJseV9ib290X2lycXNfb24odm9pZCkKK3sKK30KKwordm9pZCB0cmFjZV9zb2Z0aXJxc19vbih1bnNpZ25lZCBsb25nIGlwKQoreworfQorCit2b2lkIHRyYWNlX3NvZnRpcnFzX29mZih1bnNpZ25lZCBsb25nIGlwKQoreworfQorCitpbmxpbmUgdm9pZCBwcmludF9pcnF0cmFjZV9ldmVudHMoc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyKQoreworfQorCisvKgorICogV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBoYXJkaXJxIG9uL29mZiBldmVudHM6CisgKi8KK3ZvaWQgdHJhY2VfaGFyZGlycXNfb24odm9pZCkKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RvcF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBDQUxMRVJfQUREUjEpOworfQorRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vbik7CisKK3ZvaWQgdHJhY2VfaGFyZGlycXNfb2ZmKHZvaWQpCit7CisJaWYgKCFwcmVlbXB0X3RyYWNlKCkgJiYgaXJxX3RyYWNlKCkpCisJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZyhDQUxMRVJfQUREUjAsIENBTExFUl9BRERSMSk7Cit9CitFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29mZik7CisKK3ZvaWQgdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyKHVuc2lnbmVkIGxvbmcgY2FsbGVyX2FkZHIpCit7CisJaWYgKCFwcmVlbXB0X3RyYWNlKCkgJiYgaXJxX3RyYWNlKCkpCisJCXN0b3BfY3JpdGljYWxfdGltaW5nKENBTExFUl9BRERSMCwgY2FsbGVyX2FkZHIpOworfQorRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIpOworCit2b2lkIHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIodW5zaWduZWQgbG9uZyBjYWxsZXJfYWRkcikKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RhcnRfY3JpdGljYWxfdGltaW5nKENBTExFUl9BRERSMCwgY2FsbGVyX2FkZHIpOworfQorRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyKTsKKworI2VuZGlmIC8qIENPTkZJR19QUk9WRV9MT0NLSU5HICovCisjZW5kaWYgLyogIENPTkZJR19JUlFTT0ZGX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCit2b2lkIHRyYWNlX3ByZWVtcHRfb24odW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSkKK3sKKwlzdG9wX2NyaXRpY2FsX3RpbWluZyhhMCwgYTEpOworfQorCit2b2lkIHRyYWNlX3ByZWVtcHRfb2ZmKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpCit7CisJc3RhcnRfY3JpdGljYWxfdGltaW5nKGEwLCBhMSk7Cit9CisjZW5kaWYgLyogQ09ORklHX1BSRUVNUFRfVFJBQ0VSICovCisKK3N0YXRpYyB2b2lkIHN0YXJ0X2lycXNvZmZfdHJhY2VyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworCXRyYWNlcl9lbmFibGVkID0gMTsKK30KKworc3RhdGljIHZvaWQgc3RvcF9pcnFzb2ZmX3RyYWNlcihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyYWNlcl9lbmFibGVkID0gMDsKKwl1bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbigmdHJhY2Vfb3BzKTsKK30KKworc3RhdGljIHZvaWQgX19pcnFzb2ZmX3RyYWNlcl9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaXJxc29mZl90cmFjZSA9IHRyOworCS8qIG1ha2Ugc3VyZSB0aGF0IHRoZSB0cmFjZXIgaXMgdmlzaWJsZSAqLworCXNtcF93bWIoKTsKKworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfaXJxc29mZl90cmFjZXIodHIpOworfQorCitzdGF0aWMgdm9pZCBpcnFzb2ZmX3RyYWNlcl9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RvcF9pcnFzb2ZmX3RyYWNlcih0cik7Cit9CisKK3N0YXRpYyB2b2lkIGlycXNvZmZfdHJhY2VyX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9pcnFzb2ZmX3RyYWNlcih0cik7CisJZWxzZQorCQlzdG9wX2lycXNvZmZfdHJhY2VyKHRyKTsKK30KKworc3RhdGljIHZvaWQgaXJxc29mZl90cmFjZXJfb3BlbihzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJLyogc3RvcCB0aGUgdHJhY2Ugd2hpbGUgZHVtcGluZyAqLworCWlmIChpdGVyLT50ci0+Y3RybCkKKwkJc3RvcF9pcnFzb2ZmX3RyYWNlcihpdGVyLT50cik7Cit9CisKK3N0YXRpYyB2b2lkIGlycXNvZmZfdHJhY2VyX2Nsb3NlKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlpZiAoaXRlci0+dHItPmN0cmwpCisJCXN0YXJ0X2lycXNvZmZfdHJhY2VyKGl0ZXItPnRyKTsKK30KKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgorc3RhdGljIHZvaWQgaXJxc29mZl90cmFjZXJfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyYWNlX3R5cGUgPSBUUkFDRVJfSVJRU19PRkY7CisKKwlfX2lycXNvZmZfdHJhY2VyX2luaXQodHIpOworfQorc3RhdGljIHN0cnVjdCB0cmFjZXIgaXJxc29mZl90cmFjZXIgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gImlycXNvZmYiLAorCS5pbml0CQk9IGlycXNvZmZfdHJhY2VyX2luaXQsCisJLnJlc2V0CQk9IGlycXNvZmZfdHJhY2VyX3Jlc2V0LAorCS5vcGVuCQk9IGlycXNvZmZfdHJhY2VyX29wZW4sCisJLmNsb3NlCQk9IGlycXNvZmZfdHJhY2VyX2Nsb3NlLAorCS5jdHJsX3VwZGF0ZQk9IGlycXNvZmZfdHJhY2VyX2N0cmxfdXBkYXRlLAorCS5wcmludF9tYXgJPSAxLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2lycXNvZmYsCisjZW5kaWYKK307CisjIGRlZmluZSByZWdpc3Rlcl9pcnFzb2ZmKHRyYWNlKSByZWdpc3Rlcl90cmFjZXIoJnRyYWNlKQorI2Vsc2UKKyMgZGVmaW5lIHJlZ2lzdGVyX2lycXNvZmYodHJhY2UpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCitzdGF0aWMgdm9pZCBwcmVlbXB0b2ZmX3RyYWNlcl9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VfdHlwZSA9IFRSQUNFUl9QUkVFTVBUX09GRjsKKworCV9faXJxc29mZl90cmFjZXJfaW5pdCh0cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIHByZWVtcHRvZmZfdHJhY2VyIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJwcmVlbXB0b2ZmIiwKKwkuaW5pdAkJPSBwcmVlbXB0b2ZmX3RyYWNlcl9pbml0LAorCS5yZXNldAkJPSBpcnFzb2ZmX3RyYWNlcl9yZXNldCwKKwkub3BlbgkJPSBpcnFzb2ZmX3RyYWNlcl9vcGVuLAorCS5jbG9zZQkJPSBpcnFzb2ZmX3RyYWNlcl9jbG9zZSwKKwkuY3RybF91cGRhdGUJPSBpcnFzb2ZmX3RyYWNlcl9jdHJsX3VwZGF0ZSwKKwkucHJpbnRfbWF4CT0gMSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9wcmVlbXB0b2ZmLAorI2VuZGlmCit9OworIyBkZWZpbmUgcmVnaXN0ZXJfcHJlZW1wdG9mZih0cmFjZSkgcmVnaXN0ZXJfdHJhY2VyKCZ0cmFjZSkKKyNlbHNlCisjIGRlZmluZSByZWdpc3Rlcl9wcmVlbXB0b2ZmKHRyYWNlKSBkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKKworI2lmIGRlZmluZWQoQ09ORklHX0lSUVNPRkZfVFJBQ0VSKSAmJiBcCisJZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCisKK3N0YXRpYyB2b2lkIHByZWVtcHRpcnFzb2ZmX3RyYWNlcl9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VfdHlwZSA9IFRSQUNFUl9JUlFTX09GRiB8IFRSQUNFUl9QUkVFTVBUX09GRjsKKworCV9faXJxc29mZl90cmFjZXJfaW5pdCh0cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIHByZWVtcHRpcnFzb2ZmX3RyYWNlciBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkJPSAicHJlZW1wdGlycXNvZmYiLAorCS5pbml0CQk9IHByZWVtcHRpcnFzb2ZmX3RyYWNlcl9pbml0LAorCS5yZXNldAkJPSBpcnFzb2ZmX3RyYWNlcl9yZXNldCwKKwkub3BlbgkJPSBpcnFzb2ZmX3RyYWNlcl9vcGVuLAorCS5jbG9zZQkJPSBpcnFzb2ZmX3RyYWNlcl9jbG9zZSwKKwkuY3RybF91cGRhdGUJPSBpcnFzb2ZmX3RyYWNlcl9jdHJsX3VwZGF0ZSwKKwkucHJpbnRfbWF4CT0gMSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9wcmVlbXB0aXJxc29mZiwKKyNlbmRpZgorfTsKKworIyBkZWZpbmUgcmVnaXN0ZXJfcHJlZW1wdGlycXNvZmYodHJhY2UpIHJlZ2lzdGVyX3RyYWNlcigmdHJhY2UpCisjZWxzZQorIyBkZWZpbmUgcmVnaXN0ZXJfcHJlZW1wdGlycXNvZmYodHJhY2UpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCitfX2luaXQgc3RhdGljIGludCBpbml0X2lycXNvZmZfdHJhY2VyKHZvaWQpCit7CisJcmVnaXN0ZXJfaXJxc29mZihpcnFzb2ZmX3RyYWNlcik7CisJcmVnaXN0ZXJfcHJlZW1wdG9mZihwcmVlbXB0b2ZmX3RyYWNlcik7CisJcmVnaXN0ZXJfcHJlZW1wdGlycXNvZmYocHJlZW1wdGlycXNvZmZfdHJhY2VyKTsKKworCXJldHVybiAwOworfQorZGV2aWNlX2luaXRjYWxsKGluaXRfaXJxc29mZl90cmFjZXIpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX21taW90cmFjZS5jIGIva2VybmVsL3RyYWNlL3RyYWNlX21taW90cmFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxM2RjMTkKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2VfbW1pb3RyYWNlLmMKQEAgLTAsMCArMSwyOTUgQEAKKy8qCisgKiBNZW1vcnkgbWFwcGVkIEkvTyB0cmFjaW5nCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IFBla2thIFBhYWxhbmVuIDxwcUBpa2kuZmk+CisgKi8KKworI2RlZmluZSBERUJVRyAxCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tbWlvdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0cnVjdCBoZWFkZXJfaXRlciB7CisJc3RydWN0IHBjaV9kZXYgKmRldjsKK307CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkgKm1taW9fdHJhY2VfYXJyYXk7CitzdGF0aWMgYm9vbCBvdmVycnVuX2RldGVjdGVkOworCitzdGF0aWMgdm9pZCBtbWlvX3Jlc2V0X2RhdGEoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpbnQgY3B1OworCisJb3ZlcnJ1bl9kZXRlY3RlZCA9IGZhbHNlOworCXRyLT50aW1lX3N0YXJ0ID0gZnRyYWNlX25vdyh0ci0+Y3B1KTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQl0cmFjaW5nX3Jlc2V0KHRyLT5kYXRhW2NwdV0pOworfQorCitzdGF0aWMgdm9pZCBtbWlvX3RyYWNlX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlwcl9kZWJ1ZygiaW4gJXNcbiIsIF9fZnVuY19fKTsKKwltbWlvX3RyYWNlX2FycmF5ID0gdHI7CisJaWYgKHRyLT5jdHJsKSB7CisJCW1taW9fcmVzZXRfZGF0YSh0cik7CisJCWVuYWJsZV9tbWlvdHJhY2UoKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIG1taW9fdHJhY2VfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlwcl9kZWJ1ZygiaW4gJXNcbiIsIF9fZnVuY19fKTsKKwlpZiAodHItPmN0cmwpCisJCWRpc2FibGVfbW1pb3RyYWNlKCk7CisJbW1pb19yZXNldF9kYXRhKHRyKTsKKwltbWlvX3RyYWNlX2FycmF5ID0gTlVMTDsKK30KKworc3RhdGljIHZvaWQgbW1pb190cmFjZV9jdHJsX3VwZGF0ZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXByX2RlYnVnKCJpbiAlc1xuIiwgX19mdW5jX18pOworCWlmICh0ci0+Y3RybCkgeworCQltbWlvX3Jlc2V0X2RhdGEodHIpOworCQllbmFibGVfbW1pb3RyYWNlKCk7CisJfSBlbHNlIHsKKwkJZGlzYWJsZV9tbWlvdHJhY2UoKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgbW1pb19wcmludF9wY2lkZXYoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3Qgc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKwlpbnQgcmV0ID0gMDsKKwlpbnQgaTsKKwlyZXNvdXJjZV9zaXplX3Qgc3RhcnQsIGVuZDsKKwljb25zdCBzdHJ1Y3QgcGNpX2RyaXZlciAqZHJ2ID0gcGNpX2Rldl9kcml2ZXIoZGV2KTsKKworCS8qIFhYWDogaW5jb21wbGV0ZSBjaGVja3MgZm9yIHRyYWNlX3NlcV9wcmludGYoKSByZXR1cm4gdmFsdWUgKi8KKwlyZXQgKz0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiUENJREVWICUwMnglMDJ4ICUwNHglMDR4ICV4IiwKKwkJCQlkZXYtPmJ1cy0+bnVtYmVyLCBkZXYtPmRldmZuLAorCQkJCWRldi0+dmVuZG9yLCBkZXYtPmRldmljZSwgZGV2LT5pcnEpOworCS8qCisJICogWFhYOiBpcyBwY2lfcmVzb3VyY2VfdG9fdXNlcigpIGFwcHJvcHJpYXRlLCBzaW5jZSB3ZSBhcmUKKwkgKiBzdXBwb3NlZCB0byBpbnRlcnByZXQgdGhlIF9faW9yZW1hcCgpIHBoeXNfYWRkciBhcmd1bWVudCBiYXNlZCBvbgorCSAqIHRoZXNlIHByaW50ZWQgdmFsdWVzPworCSAqLworCWZvciAoaSA9IDA7IGkgPCA3OyBpKyspIHsKKwkJcGNpX3Jlc291cmNlX3RvX3VzZXIoZGV2LCBpLCAmZGV2LT5yZXNvdXJjZVtpXSwgJnN0YXJ0LCAmZW5kKTsKKwkJcmV0ICs9IHRyYWNlX3NlcV9wcmludGYocywgIiAlbGx4IiwKKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpKHN0YXJ0IHwKKwkJCShkZXYtPnJlc291cmNlW2ldLmZsYWdzICYgUENJX1JFR0lPTl9GTEFHX01BU0spKSk7CisJfQorCWZvciAoaSA9IDA7IGkgPCA3OyBpKyspIHsKKwkJcGNpX3Jlc291cmNlX3RvX3VzZXIoZGV2LCBpLCAmZGV2LT5yZXNvdXJjZVtpXSwgJnN0YXJ0LCAmZW5kKTsKKwkJcmV0ICs9IHRyYWNlX3NlcV9wcmludGYocywgIiAlbGx4IiwKKwkJCWRldi0+cmVzb3VyY2VbaV0uc3RhcnQgPCBkZXYtPnJlc291cmNlW2ldLmVuZCA/CisJCQkodW5zaWduZWQgbG9uZyBsb25nKShlbmQgLSBzdGFydCkgKyAxIDogMCk7CisJfQorCWlmIChkcnYpCisJCXJldCArPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIgJXNcbiIsIGRydi0+bmFtZSk7CisJZWxzZQorCQlyZXQgKz0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiIFxuIik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgZGVzdHJveV9oZWFkZXJfaXRlcihzdHJ1Y3QgaGVhZGVyX2l0ZXIgKmhpdGVyKQoreworCWlmICghaGl0ZXIpCisJCXJldHVybjsKKwlwY2lfZGV2X3B1dChoaXRlci0+ZGV2KTsKKwlrZnJlZShoaXRlcik7Cit9CisKK3N0YXRpYyB2b2lkIG1taW9fcGlwZV9vcGVuKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgaGVhZGVyX2l0ZXIgKmhpdGVyOworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCisJdHJhY2Vfc2VxX3ByaW50ZihzLCAiVkVSU0lPTiAyMDA3MDgyNFxuIik7CisKKwloaXRlciA9IGt6YWxsb2Moc2l6ZW9mKCpoaXRlciksIEdGUF9LRVJORUwpOworCWlmICghaGl0ZXIpCisJCXJldHVybjsKKworCWhpdGVyLT5kZXYgPSBwY2lfZ2V0X2RldmljZShQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBOVUxMKTsKKwlpdGVyLT5wcml2YXRlID0gaGl0ZXI7Cit9CisKKy8qIFhYWDogVGhpcyBpcyBub3QgY2FsbGVkIHdoZW4gdGhlIHBpcGUgaXMgY2xvc2VkISAqLworc3RhdGljIHZvaWQgbW1pb19jbG9zZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IGhlYWRlcl9pdGVyICpoaXRlciA9IGl0ZXItPnByaXZhdGU7CisJZGVzdHJveV9oZWFkZXJfaXRlcihoaXRlcik7CisJaXRlci0+cHJpdmF0ZSA9IE5VTEw7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNvdW50X292ZXJydW5zKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlpbnQgY3B1OworCXVuc2lnbmVkIGxvbmcgY250ID0gMDsKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQljbnQgKz0gaXRlci0+b3ZlcnJ1bltjcHVdOworCQlpdGVyLT5vdmVycnVuW2NwdV0gPSAwOworCX0KKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgc3NpemVfdCBtbWlvX3JlYWQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyLCBzdHJ1Y3QgZmlsZSAqZmlscCwKKwkJCQljaGFyIF9fdXNlciAqdWJ1Ziwgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXNzaXplX3QgcmV0OworCXN0cnVjdCBoZWFkZXJfaXRlciAqaGl0ZXIgPSBpdGVyLT5wcml2YXRlOworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGxvbmcgbjsKKworCW4gPSBjb3VudF9vdmVycnVucyhpdGVyKTsKKwlpZiAobikgeworCQkvKiBYWFg6IFRoaXMgaXMgbGF0ZXIgdGhhbiB3aGVyZSBldmVudHMgd2VyZSBsb3N0LiAqLworCQl0cmFjZV9zZXFfcHJpbnRmKHMsICJNQVJLIDAuMDAwMDAwIExvc3QgJWx1IGV2ZW50cy5cbiIsIG4pOworCQlpZiAoIW92ZXJydW5fZGV0ZWN0ZWQpCisJCQlwcl93YXJuaW5nKCJtbWlvdHJhY2UgaGFzIGxvc3QgZXZlbnRzLlxuIik7CisJCW92ZXJydW5fZGV0ZWN0ZWQgPSB0cnVlOworCQlnb3RvIHByaW50X291dDsKKwl9CisKKwlpZiAoIWhpdGVyKQorCQlyZXR1cm4gMDsKKworCW1taW9fcHJpbnRfcGNpZGV2KHMsIGhpdGVyLT5kZXYpOworCWhpdGVyLT5kZXYgPSBwY2lfZ2V0X2RldmljZShQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBoaXRlci0+ZGV2KTsKKworCWlmICghaGl0ZXItPmRldikgeworCQlkZXN0cm95X2hlYWRlcl9pdGVyKGhpdGVyKTsKKwkJaXRlci0+cHJpdmF0ZSA9IE5VTEw7CisJfQorCitwcmludF9vdXQ6CisJcmV0ID0gdHJhY2Vfc2VxX3RvX3VzZXIocywgdWJ1ZiwgY250KTsKKwlyZXR1cm4gKHJldCA9PSAtRUJVU1kpID8gMCA6IHJldDsKK30KKworc3RhdGljIGludCBtbWlvX3ByaW50X3J3KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5ID0gaXRlci0+ZW50OworCXN0cnVjdCBtbWlvdHJhY2VfcncgKnJ3CT0gJmVudHJ5LT5tbWlvcnc7CisJc3RydWN0IHRyYWNlX3NlcSAqcwk9ICZpdGVyLT5zZXE7CisJdW5zaWduZWQgbG9uZyBsb25nIHQJPSBuczJ1c2VjcyhlbnRyeS0+dCk7CisJdW5zaWduZWQgbG9uZyB1c2VjX3JlbQk9IGRvX2Rpdih0LCAxMDAwMDAwVUxMKTsKKwl1bnNpZ25lZCBzZWNzCQk9ICh1bnNpZ25lZCBsb25nKXQ7CisJaW50IHJldCA9IDE7CisKKwlzd2l0Y2ggKGVudHJ5LT5tbWlvcncub3Bjb2RlKSB7CisJY2FzZSBNTUlPX1JFQUQ6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywKKwkJCSJSICVkICVsdS4lMDZsdSAlZCAweCVsbHggMHglbHggMHglbHggJWRcbiIsCisJCQlydy0+d2lkdGgsIHNlY3MsIHVzZWNfcmVtLCBydy0+bWFwX2lkLAorCQkJKHVuc2lnbmVkIGxvbmcgbG9uZylydy0+cGh5cywKKwkJCXJ3LT52YWx1ZSwgcnctPnBjLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBNTUlPX1dSSVRFOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsCisJCQkiVyAlZCAlbHUuJTA2bHUgJWQgMHglbGx4IDB4JWx4IDB4JWx4ICVkXG4iLAorCQkJcnctPndpZHRoLCBzZWNzLCB1c2VjX3JlbSwgcnctPm1hcF9pZCwKKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpcnctPnBoeXMsCisJCQlydy0+dmFsdWUsIHJ3LT5wYywgMCk7CisJCWJyZWFrOworCWNhc2UgTU1JT19VTktOT1dOX09QOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsCisJCQkiVU5LTk9XTiAlbHUuJTA2bHUgJWQgMHglbGx4ICUwMngsJTAyeCwlMDJ4IDB4JWx4ICVkXG4iLAorCQkJc2VjcywgdXNlY19yZW0sIHJ3LT5tYXBfaWQsCisJCQkodW5zaWduZWQgbG9uZyBsb25nKXJ3LT5waHlzLAorCQkJKHJ3LT52YWx1ZSA+PiAxNikgJiAweGZmLCAocnctPnZhbHVlID4+IDgpICYgMHhmZiwKKwkJCShydy0+dmFsdWUgPj4gMCkgJiAweGZmLCBydy0+cGMsIDApOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICJydyB3aGF0P1xuIik7CisJCWJyZWFrOworCX0KKwlpZiAocmV0KQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtbWlvX3ByaW50X21hcChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSA9IGl0ZXItPmVudDsKKwlzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqbQk9ICZlbnRyeS0+bW1pb21hcDsKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzCT0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgdAk9IG5zMnVzZWNzKGVudHJ5LT50KTsKKwl1bnNpZ25lZCBsb25nIHVzZWNfcmVtCT0gZG9fZGl2KHQsIDEwMDAwMDBVTEwpOworCXVuc2lnbmVkIHNlY3MJCT0gKHVuc2lnbmVkIGxvbmcpdDsKKwlpbnQgcmV0ID0gMTsKKworCXN3aXRjaCAoZW50cnktPm1taW9ydy5vcGNvZGUpIHsKKwljYXNlIE1NSU9fUFJPQkU6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywKKwkJCSJNQVAgJWx1LiUwNmx1ICVkIDB4JWxseCAweCVseCAweCVseCAweCVseCAlZFxuIiwKKwkJCXNlY3MsIHVzZWNfcmVtLCBtLT5tYXBfaWQsCisJCQkodW5zaWduZWQgbG9uZyBsb25nKW0tPnBoeXMsIG0tPnZpcnQsIG0tPmxlbiwKKwkJCTBVTCwgMCk7CisJCWJyZWFrOworCWNhc2UgTU1JT19VTlBST0JFOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsCisJCQkiVU5NQVAgJWx1LiUwNmx1ICVkIDB4JWx4ICVkXG4iLAorCQkJc2VjcywgdXNlY19yZW0sIG0tPm1hcF9pZCwgMFVMLCAwKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAibWFwIHdoYXQ/XG4iKTsKKwkJYnJlYWs7CisJfQorCWlmIChyZXQpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCisvKiByZXR1cm4gMCB0byBhYm9ydCBwcmludGluZyB3aXRob3V0IGNvbnN1bWluZyBjdXJyZW50IGVudHJ5IGluIHBpcGUgbW9kZSAqLworc3RhdGljIGludCBtbWlvX3ByaW50X2xpbmUoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN3aXRjaCAoaXRlci0+ZW50LT50eXBlKSB7CisJY2FzZSBUUkFDRV9NTUlPX1JXOgorCQlyZXR1cm4gbW1pb19wcmludF9ydyhpdGVyKTsKKwljYXNlIFRSQUNFX01NSU9fTUFQOgorCQlyZXR1cm4gbW1pb19wcmludF9tYXAoaXRlcik7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDE7IC8qIGlnbm9yZSB1bmtub3duIGVudHJpZXMgKi8KKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIG1taW9fdHJhY2VyIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJtbWlvdHJhY2UiLAorCS5pbml0CQk9IG1taW9fdHJhY2VfaW5pdCwKKwkucmVzZXQJCT0gbW1pb190cmFjZV9yZXNldCwKKwkucGlwZV9vcGVuCT0gbW1pb19waXBlX29wZW4sCisJLmNsb3NlCQk9IG1taW9fY2xvc2UsCisJLnJlYWQJCT0gbW1pb19yZWFkLAorCS5jdHJsX3VwZGF0ZQk9IG1taW9fdHJhY2VfY3RybF91cGRhdGUsCisJLnByaW50X2xpbmUJPSBtbWlvX3ByaW50X2xpbmUsCit9OworCitfX2luaXQgc3RhdGljIGludCBpbml0X21taW9fdHJhY2Uodm9pZCkKK3sKKwlyZXR1cm4gcmVnaXN0ZXJfdHJhY2VyKCZtbWlvX3RyYWNlcik7Cit9CitkZXZpY2VfaW5pdGNhbGwoaW5pdF9tbWlvX3RyYWNlKTsKKwordm9pZCBtbWlvX3RyYWNlX3J3KHN0cnVjdCBtbWlvdHJhY2VfcncgKnJ3KQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBtbWlvX3RyYWNlX2FycmF5OworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSB0ci0+ZGF0YVtzbXBfcHJvY2Vzc29yX2lkKCldOworCV9fdHJhY2VfbW1pb3RyYWNlX3J3KHRyLCBkYXRhLCBydyk7Cit9CisKK3ZvaWQgbW1pb190cmFjZV9tYXBwaW5nKHN0cnVjdCBtbWlvdHJhY2VfbWFwICptYXApCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IG1taW9fdHJhY2VfYXJyYXk7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKworCXByZWVtcHRfZGlzYWJsZSgpOworCWRhdGEgPSB0ci0+ZGF0YVtzbXBfcHJvY2Vzc29yX2lkKCldOworCV9fdHJhY2VfbW1pb3RyYWNlX21hcCh0ciwgZGF0YSwgbWFwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworfQpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX3NjaGVkX3N3aXRjaC5jIGIva2VybmVsL3RyYWNlL3RyYWNlX3NjaGVkX3N3aXRjaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiODE3YTIKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfc3dpdGNoLmMKQEAgLTAsMCArMSwyODYgQEAKKy8qCisgKiB0cmFjZSBjb250ZXh0IHN3aXRjaAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9tYXJrZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJKmN0eF90cmFjZTsKK3N0YXRpYyBpbnQgX19yZWFkX21vc3RseQl0cmFjZXJfZW5hYmxlZDsKK3N0YXRpYyBhdG9taWNfdAkJCXNjaGVkX3JlZjsKKworc3RhdGljIHZvaWQKK3NjaGVkX3N3aXRjaF9mdW5jKHZvaWQgKnByaXZhdGUsIHZvaWQgKl9fcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldiwKKwkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKipwdHIgPSBwcml2YXRlOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAqcHRyOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCWludCBjcHU7CisKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKHByZXYpOworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUobmV4dCk7CisKKwlpZiAoIXRyYWNlcl9lbmFibGVkKQorCQlyZXR1cm47CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlkaXNhYmxlZCA9IGF0b21pY19pbmNfcmV0dXJuKCZkYXRhLT5kaXNhYmxlZCk7CisKKwlpZiAobGlrZWx5KGRpc2FibGVkID09IDEpKQorCQl0cmFjaW5nX3NjaGVkX3N3aXRjaF90cmFjZSh0ciwgZGF0YSwgcHJldiwgbmV4dCwgZmxhZ3MpOworCisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIG5vdHJhY2Ugdm9pZAorc2NoZWRfc3dpdGNoX2NhbGxiYWNrKHZvaWQgKnByb2JlX2RhdGEsIHZvaWQgKmNhbGxfZGF0YSwKKwkJICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0ICphcmdzKQoreworCXN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHQ7CisJc3RydWN0IHJxICpfX3JxOworCisJaWYgKCFhdG9taWNfcmVhZCgmc2NoZWRfcmVmKSkKKwkJcmV0dXJuOworCisJLyogc2tpcCBwcmV2X3BpZCAlZCBuZXh0X3BpZCAlZCBwcmV2X3N0YXRlICVsZCAqLworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGludCk7CisJKHZvaWQpdmFfYXJnKCphcmdzLCBsb25nKTsKKwlfX3JxID0gdmFfYXJnKCphcmdzLCB0eXBlb2YoX19ycSkpOworCXByZXYgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihwcmV2KSk7CisJbmV4dCA9IHZhX2FyZygqYXJncywgdHlwZW9mKG5leHQpKTsKKworCS8qCisJICogSWYgdHJhY2VyX3N3aXRjaF9mdW5jIG9ubHkgcG9pbnRzIHRvIHRoZSBsb2NhbAorCSAqIHN3aXRjaCBmdW5jLCBpdCBzdGlsbCBuZWVkcyB0aGUgcHRyIHBhc3NlZCB0byBpdC4KKwkgKi8KKwlzY2hlZF9zd2l0Y2hfZnVuYyhwcm9iZV9kYXRhLCBfX3JxLCBwcmV2LCBuZXh0KTsKK30KKworc3RhdGljIHZvaWQKK3dha2V1cF9mdW5jKHZvaWQgKnByaXZhdGUsIHZvaWQgKl9fcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqd2FrZWUsIHN0cnVjdAorCQkJdGFza19zdHJ1Y3QgKmN1cnIpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICoqcHRyID0gcHJpdmF0ZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gKnB0cjsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJaWYgKCF0cmFjZXJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJdHJhY2luZ19yZWNvcmRfY21kbGluZShjdXJyKTsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKworCWlmIChsaWtlbHkoZGlzYWJsZWQgPT0gMSkpCisJCXRyYWNpbmdfc2NoZWRfd2FrZXVwX3RyYWNlKHRyLCBkYXRhLCB3YWtlZSwgY3VyciwgZmxhZ3MpOworCisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIG5vdHJhY2Ugdm9pZAord2FrZV91cF9jYWxsYmFjayh2b2lkICpwcm9iZV9kYXRhLCB2b2lkICpjYWxsX2RhdGEsCisJCSBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgKmFyZ3MpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKKwlzdHJ1Y3QgcnEgKl9fcnE7CisKKwlpZiAobGlrZWx5KCF0cmFjZXJfZW5hYmxlZCkpCisJCXJldHVybjsKKworCS8qIFNraXAgcGlkICVkIHN0YXRlICVsZCAqLworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGxvbmcpOworCS8qIG5vdyBnZXQgdGhlIG1lYXQ6ICJycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiAqLworCV9fcnEgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihfX3JxKSk7CisJdGFzayA9IHZhX2FyZygqYXJncywgdHlwZW9mKHRhc2spKTsKKwljdXJyID0gdmFfYXJnKCphcmdzLCB0eXBlb2YoY3VycikpOworCisJdHJhY2luZ19yZWNvcmRfY21kbGluZSh0YXNrKTsKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKGN1cnIpOworCisJd2FrZXVwX2Z1bmMocHJvYmVfZGF0YSwgX19ycSwgdGFzaywgY3Vycik7Cit9CisKK3N0YXRpYyB2b2lkIHNjaGVkX3N3aXRjaF9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCBjcHU7CisKKwl0ci0+dGltZV9zdGFydCA9IGZ0cmFjZV9ub3codHItPmNwdSk7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKKwkJdHJhY2luZ19yZXNldCh0ci0+ZGF0YVtjcHVdKTsKK30KKworc3RhdGljIGludCB0cmFjaW5nX3NjaGVkX3JlZ2lzdGVyKHZvaWQpCit7CisJaW50IHJldDsKKworCXJldCA9IG1hcmtlcl9wcm9iZV9yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkicGlkICVkIHN0YXRlICVsZCAjIyBycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiwKKwkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkmY3R4X3RyYWNlKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oIndha2V1cCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3dha2V1cFxuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0ID0gbWFya2VyX3Byb2JlX3JlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkicGlkICVkIHN0YXRlICVsZCAjIyBycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiwKKwkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkmY3R4X3RyYWNlKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oIndha2V1cCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3dha2V1cF9uZXdcbiIpOworCQlnb3RvIGZhaWxfZGVwcm9iZTsKKwl9CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF9zY2hlZHVsZSIsCisJCSJwcmV2X3BpZCAlZCBuZXh0X3BpZCAlZCBwcmV2X3N0YXRlICVsZCAiCisJCSIjIyBycSAlcCBwcmV2ICVwIG5leHQgJXAiLAorCQlzY2hlZF9zd2l0Y2hfY2FsbGJhY2ssCisJCSZjdHhfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygic2NoZWQgdHJhY2U6IENvdWxkbid0IGFkZCBtYXJrZXIiCisJCQkiIHByb2JlIHRvIGtlcm5lbF9zY2hlZF9zY2hlZHVsZVxuIik7CisJCWdvdG8gZmFpbF9kZXByb2JlX3dha2VfbmV3OworCX0KKworCXJldHVybiByZXQ7CitmYWlsX2RlcHJvYmVfd2FrZV9uZXc6CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXBfbmV3IiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZjdHhfdHJhY2UpOworZmFpbF9kZXByb2JlOgorCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwIiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZjdHhfdHJhY2UpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIHRyYWNpbmdfc2NoZWRfdW5yZWdpc3Rlcih2b2lkKQoreworCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfc2NoZWR1bGUiLAorCQkJCXNjaGVkX3N3aXRjaF9jYWxsYmFjaywKKwkJCQkmY3R4X3RyYWNlKTsKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cF9uZXciLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJmN0eF90cmFjZSk7CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXAiLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJmN0eF90cmFjZSk7Cit9CisKK3N0YXRpYyB2b2lkIHRyYWNpbmdfc3RhcnRfc2NoZWRfc3dpdGNoKHZvaWQpCit7CisJbG9uZyByZWY7CisKKwlyZWYgPSBhdG9taWNfaW5jX3JldHVybigmc2NoZWRfcmVmKTsKKwlpZiAocmVmID09IDEpCisJCXRyYWNpbmdfc2NoZWRfcmVnaXN0ZXIoKTsKK30KKworc3RhdGljIHZvaWQgdHJhY2luZ19zdG9wX3NjaGVkX3N3aXRjaCh2b2lkKQoreworCWxvbmcgcmVmOworCisJcmVmID0gYXRvbWljX2RlY19hbmRfdGVzdCgmc2NoZWRfcmVmKTsKKwlpZiAocmVmKQorCQl0cmFjaW5nX3NjaGVkX3VucmVnaXN0ZXIoKTsKK30KKwordm9pZCB0cmFjaW5nX3N0YXJ0X2NtZGxpbmVfcmVjb3JkKHZvaWQpCit7CisJdHJhY2luZ19zdGFydF9zY2hlZF9zd2l0Y2goKTsKK30KKwordm9pZCB0cmFjaW5nX3N0b3BfY21kbGluZV9yZWNvcmQodm9pZCkKK3sKKwl0cmFjaW5nX3N0b3Bfc2NoZWRfc3dpdGNoKCk7Cit9CisKK3N0YXRpYyB2b2lkIHN0YXJ0X3NjaGVkX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJc2NoZWRfc3dpdGNoX3Jlc2V0KHRyKTsKKwl0cmFjaW5nX3N0YXJ0X2NtZGxpbmVfcmVjb3JkKCk7CisJdHJhY2VyX2VuYWJsZWQgPSAxOworfQorCitzdGF0aWMgdm9pZCBzdG9wX3NjaGVkX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VyX2VuYWJsZWQgPSAwOworCXRyYWNpbmdfc3RvcF9jbWRsaW5lX3JlY29yZCgpOworfQorCitzdGF0aWMgdm9pZCBzY2hlZF9zd2l0Y2hfdHJhY2VfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWN0eF90cmFjZSA9IHRyOworCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9zY2hlZF90cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIHNjaGVkX3N3aXRjaF90cmFjZV9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RvcF9zY2hlZF90cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIHNjaGVkX3N3aXRjaF90cmFjZV9jdHJsX3VwZGF0ZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCS8qIFdoZW4gc3RhcnRpbmcgYSBuZXcgdHJhY2UsIHJlc2V0IHRoZSBidWZmZXJzICovCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9zY2hlZF90cmFjZSh0cik7CisJZWxzZQorCQlzdG9wX3NjaGVkX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgc2NoZWRfc3dpdGNoX3RyYWNlIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJzY2hlZF9zd2l0Y2giLAorCS5pbml0CQk9IHNjaGVkX3N3aXRjaF90cmFjZV9pbml0LAorCS5yZXNldAkJPSBzY2hlZF9zd2l0Y2hfdHJhY2VfcmVzZXQsCisJLmN0cmxfdXBkYXRlCT0gc2NoZWRfc3dpdGNoX3RyYWNlX2N0cmxfdXBkYXRlLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3NjaGVkX3N3aXRjaCwKKyNlbmRpZgorfTsKKworX19pbml0IHN0YXRpYyBpbnQgaW5pdF9zY2hlZF9zd2l0Y2hfdHJhY2Uodm9pZCkKK3sKKwlpbnQgcmV0ID0gMDsKKworCWlmIChhdG9taWNfcmVhZCgmc2NoZWRfcmVmKSkKKwkJcmV0ID0gdHJhY2luZ19zY2hlZF9yZWdpc3RlcigpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygiZXJyb3IgcmVnaXN0ZXJpbmcgc2NoZWR1bGVyIHRyYWNlXG4iKTsKKwkJcmV0dXJuIHJldDsKKwl9CisJcmV0dXJuIHJlZ2lzdGVyX3RyYWNlcigmc2NoZWRfc3dpdGNoX3RyYWNlKTsKK30KK2RldmljZV9pbml0Y2FsbChpbml0X3NjaGVkX3N3aXRjaF90cmFjZSk7CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfd2FrZXVwLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfd2FrZXVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M4ZDYxZAotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9zY2hlZF93YWtldXAuYwpAQCAtMCwwICsxLDQ0OCBAQAorLyoKKyAqIHRyYWNlIHRhc2sgd2FrZXVwIHRpbWluZ3MKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKyAqCisgKiBCYXNlZCBvbiBjb2RlIGZyb20gdGhlIGxhdGVuY3lfdHJhY2VyLCB0aGF0IGlzOgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBJbmdvIE1vbG5hcgorICogIENvcHlyaWdodCAoQykgMjAwNCBXaWxsaWFtIExlZSBJcndpbiBJSUkKKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L21hcmtlci5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheQkqd2FrZXVwX3RyYWNlOworc3RhdGljIGludCBfX3JlYWRfbW9zdGx5CXRyYWNlcl9lbmFibGVkOworCitzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0CSp3YWtldXBfdGFzazsKK3N0YXRpYyBpbnQJCQl3YWtldXBfY3B1Oworc3RhdGljIHVuc2lnbmVkCQkJd2FrZXVwX3ByaW8gPSAtMTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyh3YWtldXBfbG9jayk7CisKK3N0YXRpYyB2b2lkIF9fd2FrZXVwX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorLyoKKyAqIGlycXNvZmYgdXNlcyBpdHMgb3duIHRyYWNlciBmdW5jdGlvbiB0byBrZWVwIHRoZSBvdmVyaGVhZCBkb3duOgorICovCitzdGF0aWMgdm9pZAord2FrZXVwX3RyYWNlcl9jYWxsKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSB3YWtldXBfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IHJlc2NoZWQ7CisJaW50IGNwdTsKKworCWlmIChsaWtlbHkoIXdha2V1cF90YXNrKSkKKwkJcmV0dXJuOworCisJcmVzY2hlZCA9IG5lZWRfcmVzY2hlZCgpOworCXByZWVtcHRfZGlzYWJsZV9ub3RyYWNlKCk7CisKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKwlpZiAodW5saWtlbHkoZGlzYWJsZWQgIT0gMSkpCisJCWdvdG8gb3V0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJndha2V1cF9sb2NrLCBmbGFncyk7CisKKwlpZiAodW5saWtlbHkoIXdha2V1cF90YXNrKSkKKwkJZ290byB1bmxvY2s7CisKKwkvKgorCSAqIFRoZSB0YXNrIGNhbid0IGRpc2FwcGVhciBiZWNhdXNlIGl0IG5lZWRzIHRvCisJICogd2FrZSB1cCBmaXJzdCwgYW5kIHdlIGhhdmUgdGhlIHdha2V1cF9sb2NrLgorCSAqLworCWlmICh0YXNrX2NwdSh3YWtldXBfdGFzaykgIT0gY3B1KQorCQlnb3RvIHVubG9jazsKKworCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBpcCwgcGFyZW50X2lwLCBmbGFncyk7CisKKyB1bmxvY2s6CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmd2FrZXVwX2xvY2ssIGZsYWdzKTsKKworIG91dDoKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisKKwkvKgorCSAqIFRvIHByZXZlbnQgcmVjdXJzaW9uIGZyb20gdGhlIHNjaGVkdWxlciwgaWYgdGhlCisJICogcmVzY2hlZCBmbGFnIHdhcyBzZXQgYmVmb3JlIHdlIGVudGVyZWQsIHRoZW4KKwkgKiBkb24ndCByZXNjaGVkdWxlLgorCSAqLworCWlmIChyZXNjaGVkKQorCQlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKTsKKwllbHNlCisJCXByZWVtcHRfZW5hYmxlX25vdHJhY2UoKTsKK30KKworc3RhdGljIHN0cnVjdCBmdHJhY2Vfb3BzIHRyYWNlX29wcyBfX3JlYWRfbW9zdGx5ID0KK3sKKwkuZnVuYyA9IHdha2V1cF90cmFjZXJfY2FsbCwKK307CisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCisvKgorICogU2hvdWxkIHRoaXMgbmV3IGxhdGVuY3kgYmUgcmVwb3J0ZWQvcmVjb3JkZWQ/CisgKi8KK3N0YXRpYyBpbnQgcmVwb3J0X2xhdGVuY3koY3ljbGVfdCBkZWx0YSkKK3sKKwlpZiAodHJhY2luZ190aHJlc2gpIHsKKwkJaWYgKGRlbHRhIDwgdHJhY2luZ190aHJlc2gpCisJCQlyZXR1cm4gMDsKKwl9IGVsc2UgeworCQlpZiAoZGVsdGEgPD0gdHJhY2luZ19tYXhfbGF0ZW5jeSkKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgbm90cmFjZQord2FrZXVwX3NjaGVkX3N3aXRjaCh2b2lkICpwcml2YXRlLCB2b2lkICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LAorCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dCkKK3sKKwl1bnNpZ25lZCBsb25nIGxhdGVuY3kgPSAwLCB0MCA9IDAsIHQxID0gMDsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKipwdHIgPSBwcml2YXRlOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAqcHRyOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJY3ljbGVfdCBUMCwgVDEsIGRlbHRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJaWYgKHVubGlrZWx5KCF0cmFjZXJfZW5hYmxlZCkpCisJCXJldHVybjsKKworCS8qCisJICogV2hlbiB3ZSBzdGFydCBhIG5ldyB0cmFjZSwgd2Ugc2V0IHdha2V1cF90YXNrIHRvIE5VTEwKKwkgKiBhbmQgdGhlbiBzZXQgdHJhY2VyX2VuYWJsZWQgPSAxLiBXZSB3YW50IHRvIG1ha2Ugc3VyZQorCSAqIHRoYXQgYW5vdGhlciBDUFUgZG9lcyBub3Qgc2VlIHRoZSB0cmFjZXJfZW5hYmxlZCA9IDEKKwkgKiBhbmQgdGhlIHdha2V1cF90YXNrIHdpdGggYW4gb2xkZXIgdGFzaywgdGhhdCBtaWdodAorCSAqIGFjdHVhbGx5IGJlIHRoZSBzYW1lIGFzIG5leHQuCisJICovCisJc21wX3JtYigpOworCisJaWYgKG5leHQgIT0gd2FrZXVwX3Rhc2spCisJCXJldHVybjsKKworCS8qIFRoZSB0YXNrIHdlIGFyZSB3YWl0aW5nIGZvciBpcyB3YWtpbmcgdXAgKi8KKwlkYXRhID0gdHItPmRhdGFbd2FrZXVwX2NwdV07CisKKwkvKiBkaXNhYmxlIGxvY2FsIGRhdGEsIG5vdCB3YWtldXBfY3B1IGRhdGEgKi8KKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJnRyLT5kYXRhW2NwdV0tPmRpc2FibGVkKTsKKwlpZiAobGlrZWx5KGRpc2FibGVkICE9IDEpKQorCQlnb3RvIG91dDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworCisJLyogV2UgY291bGQgcmFjZSB3aXRoIGdyYWJiaW5nIHdha2V1cF9sb2NrICovCisJaWYgKHVubGlrZWx5KCF0cmFjZXJfZW5hYmxlZCB8fCBuZXh0ICE9IHdha2V1cF90YXNrKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIENBTExFUl9BRERSMSwgQ0FMTEVSX0FERFIyLCBmbGFncyk7CisKKwkvKgorCSAqIHVzZWNzIGNvbnZlcnNpb24gaXMgc2xvdyBzbyB3ZSB0cnkgdG8gZGVsYXkgdGhlIGNvbnZlcnNpb24KKwkgKiBhcyBsb25nIGFzIHBvc3NpYmxlOgorCSAqLworCVQwID0gZGF0YS0+cHJlZW1wdF90aW1lc3RhbXA7CisJVDEgPSBmdHJhY2Vfbm93KGNwdSk7CisJZGVsdGEgPSBUMS1UMDsKKworCWlmICghcmVwb3J0X2xhdGVuY3koZGVsdGEpKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwlsYXRlbmN5ID0gbnNlY3NfdG9fdXNlY3MoZGVsdGEpOworCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IGRlbHRhOworCXQwID0gbnNlY3NfdG9fdXNlY3MoVDApOworCXQxID0gbnNlY3NfdG9fdXNlY3MoVDEpOworCisJdXBkYXRlX21heF90cih0ciwgd2FrZXVwX3Rhc2ssIHdha2V1cF9jcHUpOworCitvdXRfdW5sb2NrOgorCV9fd2FrZXVwX3Jlc2V0KHRyKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworb3V0OgorCWF0b21pY19kZWMoJnRyLT5kYXRhW2NwdV0tPmRpc2FibGVkKTsKK30KKworc3RhdGljIG5vdHJhY2Ugdm9pZAorc2NoZWRfc3dpdGNoX2NhbGxiYWNrKHZvaWQgKnByb2JlX2RhdGEsIHZvaWQgKmNhbGxfZGF0YSwKKwkJICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0ICphcmdzKQoreworCXN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHQ7CisJc3RydWN0IHJxICpfX3JxOworCisJLyogc2tpcCBwcmV2X3BpZCAlZCBuZXh0X3BpZCAlZCBwcmV2X3N0YXRlICVsZCAqLworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGludCk7CisJKHZvaWQpdmFfYXJnKCphcmdzLCBsb25nKTsKKwlfX3JxID0gdmFfYXJnKCphcmdzLCB0eXBlb2YoX19ycSkpOworCXByZXYgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihwcmV2KSk7CisJbmV4dCA9IHZhX2FyZygqYXJncywgdHlwZW9mKG5leHQpKTsKKworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUocHJldik7CisKKwkvKgorCSAqIElmIHRyYWNlcl9zd2l0Y2hfZnVuYyBvbmx5IHBvaW50cyB0byB0aGUgbG9jYWwKKwkgKiBzd2l0Y2ggZnVuYywgaXQgc3RpbGwgbmVlZHMgdGhlIHB0ciBwYXNzZWQgdG8gaXQuCisJICovCisJd2FrZXVwX3NjaGVkX3N3aXRjaChwcm9iZV9kYXRhLCBfX3JxLCBwcmV2LCBuZXh0KTsKK30KKworc3RhdGljIHZvaWQgX193YWtldXBfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCWludCBjcHU7CisKKwlhc3NlcnRfc3Bpbl9sb2NrZWQoJndha2V1cF9sb2NrKTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKwkJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisJfQorCisJd2FrZXVwX2NwdSA9IC0xOworCXdha2V1cF9wcmlvID0gLTE7CisKKwlpZiAod2FrZXVwX3Rhc2spCisJCXB1dF90YXNrX3N0cnVjdCh3YWtldXBfdGFzayk7CisKKwl3YWtldXBfdGFzayA9IE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIHdha2V1cF9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmd2FrZXVwX2xvY2ssIGZsYWdzKTsKKwlfX3dha2V1cF9yZXNldCh0cik7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmd2FrZXVwX2xvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQKK3dha2V1cF9jaGVja19zdGFydChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsCisJCSAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqY3VycikKK3sKKwlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKworCWlmIChsaWtlbHkoIXJ0X3Rhc2socCkpIHx8CisJCQlwLT5wcmlvID49IHdha2V1cF9wcmlvIHx8CisJCQlwLT5wcmlvID49IGN1cnItPnByaW8pCisJCXJldHVybjsKKworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJnRyLT5kYXRhW2NwdV0tPmRpc2FibGVkKTsKKwlpZiAodW5saWtlbHkoZGlzYWJsZWQgIT0gMSkpCisJCWdvdG8gb3V0OworCisJLyogaW50ZXJydXB0cyBzaG91bGQgYmUgb2ZmIGZyb20gdHJ5X3RvX3dha2VfdXAgKi8KKwlzcGluX2xvY2soJndha2V1cF9sb2NrKTsKKworCS8qIGNoZWNrIGZvciByYWNlcy4gKi8KKwlpZiAoIXRyYWNlcl9lbmFibGVkIHx8IHAtPnByaW8gPj0gd2FrZXVwX3ByaW8pCisJCWdvdG8gb3V0X2xvY2tlZDsKKworCS8qIHJlc2V0IHRoZSB0cmFjZSAqLworCV9fd2FrZXVwX3Jlc2V0KHRyKTsKKworCXdha2V1cF9jcHUgPSB0YXNrX2NwdShwKTsKKwl3YWtldXBfcHJpbyA9IHAtPnByaW87CisKKwl3YWtldXBfdGFzayA9IHA7CisJZ2V0X3Rhc2tfc3RydWN0KHdha2V1cF90YXNrKTsKKworCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOworCisJdHItPmRhdGFbd2FrZXVwX2NwdV0tPnByZWVtcHRfdGltZXN0YW1wID0gZnRyYWNlX25vdyhjcHUpOworCXRyYWNlX2Z1bmN0aW9uKHRyLCB0ci0+ZGF0YVt3YWtldXBfY3B1XSwKKwkJICAgICAgIENBTExFUl9BRERSMSwgQ0FMTEVSX0FERFIyLCBmbGFncyk7CisKK291dF9sb2NrZWQ6CisJc3Bpbl91bmxvY2soJndha2V1cF9sb2NrKTsKK291dDoKKwlhdG9taWNfZGVjKCZ0ci0+ZGF0YVtjcHVdLT5kaXNhYmxlZCk7Cit9CisKK3N0YXRpYyBub3RyYWNlIHZvaWQKK3dha2VfdXBfY2FsbGJhY2sodm9pZCAqcHJvYmVfZGF0YSwgdm9pZCAqY2FsbF9kYXRhLAorCQkgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0ICphcmdzKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqKnB0ciA9IHByb2JlX2RhdGE7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICpwdHI7CisJc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKKwlzdHJ1Y3QgcnEgKl9fcnE7CisKKwlpZiAobGlrZWx5KCF0cmFjZXJfZW5hYmxlZCkpCisJCXJldHVybjsKKworCS8qIFNraXAgcGlkICVkIHN0YXRlICVsZCAqLworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGxvbmcpOworCS8qIG5vdyBnZXQgdGhlIG1lYXQ6ICJycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiAqLworCV9fcnEgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihfX3JxKSk7CisJdGFzayA9IHZhX2FyZygqYXJncywgdHlwZW9mKHRhc2spKTsKKwljdXJyID0gdmFfYXJnKCphcmdzLCB0eXBlb2YoY3VycikpOworCisJdHJhY2luZ19yZWNvcmRfY21kbGluZSh0YXNrKTsKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKGN1cnIpOworCisJd2FrZXVwX2NoZWNrX3N0YXJ0KHRyLCB0YXNrLCBjdXJyKTsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfd2FrZXVwX3RyYWNlcihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCByZXQ7CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXAiLAorCQkJInBpZCAlZCBzdGF0ZSAlbGQgIyMgcnEgJXAgdGFzayAlcCBycS0+Y3VyciAlcCIsCisJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJJndha2V1cF90cmFjZSk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJ3YWtldXAgdHJhY2U6IENvdWxkbid0IGFkZCBtYXJrZXIiCisJCQkiIHByb2JlIHRvIGtlcm5lbF9zY2hlZF93YWtldXBcbiIpOworCQlyZXR1cm47CisJfQorCisJcmV0ID0gbWFya2VyX3Byb2JlX3JlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkicGlkICVkIHN0YXRlICVsZCAjIyBycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiwKKwkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkmd2FrZXVwX3RyYWNlKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oIndha2V1cCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3dha2V1cF9uZXdcbiIpOworCQlnb3RvIGZhaWxfZGVwcm9iZTsKKwl9CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF9zY2hlZHVsZSIsCisJCSJwcmV2X3BpZCAlZCBuZXh0X3BpZCAlZCBwcmV2X3N0YXRlICVsZCAiCisJCSIjIyBycSAlcCBwcmV2ICVwIG5leHQgJXAiLAorCQlzY2hlZF9zd2l0Y2hfY2FsbGJhY2ssCisJCSZ3YWtldXBfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygic2NoZWQgdHJhY2U6IENvdWxkbid0IGFkZCBtYXJrZXIiCisJCQkiIHByb2JlIHRvIGtlcm5lbF9zY2hlZF9zY2hlZHVsZVxuIik7CisJCWdvdG8gZmFpbF9kZXByb2JlX3dha2VfbmV3OworCX0KKworCXdha2V1cF9yZXNldCh0cik7CisKKwkvKgorCSAqIERvbid0IGxldCB0aGUgdHJhY2VyX2VuYWJsZWQgPSAxIHNob3cgdXAgYmVmb3JlCisJICogdGhlIHdha2V1cF90YXNrIGlzIHJlc2V0LiBUaGlzIG1heSBiZSBvdmVya2lsbCBzaW5jZQorCSAqIHdha2V1cF9yZXNldCBkb2VzIGEgc3Bpbl91bmxvY2sgYWZ0ZXIgc2V0dGluZyB0aGUKKwkgKiB3YWtldXBfdGFzayB0byBOVUxMLCBidXQgSSB3YW50IHRvIGJlIHNhZmUuCisJICogVGhpcyBpcyBhIHNsb3cgcGF0aCBhbnl3YXkuCisJICovCisJc21wX3dtYigpOworCisJcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworCisJdHJhY2VyX2VuYWJsZWQgPSAxOworCisJcmV0dXJuOworZmFpbF9kZXByb2JlX3dha2VfbmV3OgorCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmd2FrZXVwX3RyYWNlKTsKK2ZhaWxfZGVwcm9iZToKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmd2FrZXVwX3RyYWNlKTsKK30KKworc3RhdGljIHZvaWQgc3RvcF93YWtldXBfdHJhY2VyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VyX2VuYWJsZWQgPSAwOworCXVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfc2NoZWR1bGUiLAorCQkJCXNjaGVkX3N3aXRjaF9jYWxsYmFjaywKKwkJCQkmd2FrZXVwX3RyYWNlKTsKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cF9uZXciLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJndha2V1cF90cmFjZSk7CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXAiLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJndha2V1cF90cmFjZSk7Cit9CisKK3N0YXRpYyB2b2lkIHdha2V1cF90cmFjZXJfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXdha2V1cF90cmFjZSA9IHRyOworCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF93YWtldXBfdHJhY2VyKHRyKTsKK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3RyYWNlcl9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkgeworCQlzdG9wX3dha2V1cF90cmFjZXIodHIpOworCQkvKiBtYWtlIHN1cmUgd2UgcHV0IGJhY2sgYW55IHRhc2tzIHdlIGFyZSB0cmFjaW5nICovCisJCXdha2V1cF9yZXNldCh0cik7CisJfQorfQorCitzdGF0aWMgdm9pZCB3YWtldXBfdHJhY2VyX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF93YWtldXBfdHJhY2VyKHRyKTsKKwllbHNlCisJCXN0b3Bfd2FrZXVwX3RyYWNlcih0cik7Cit9CisKK3N0YXRpYyB2b2lkIHdha2V1cF90cmFjZXJfb3BlbihzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJLyogc3RvcCB0aGUgdHJhY2Ugd2hpbGUgZHVtcGluZyAqLworCWlmIChpdGVyLT50ci0+Y3RybCkKKwkJc3RvcF93YWtldXBfdHJhY2VyKGl0ZXItPnRyKTsKK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3RyYWNlcl9jbG9zZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJLyogZm9yZ2V0IGFib3V0IGFueSBwcm9jZXNzZXMgd2Ugd2VyZSByZWNvcmRpbmcgKi8KKwlpZiAoaXRlci0+dHItPmN0cmwpCisJCXN0YXJ0X3dha2V1cF90cmFjZXIoaXRlci0+dHIpOworfQorCitzdGF0aWMgc3RydWN0IHRyYWNlciB3YWtldXBfdHJhY2VyIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJ3YWtldXAiLAorCS5pbml0CQk9IHdha2V1cF90cmFjZXJfaW5pdCwKKwkucmVzZXQJCT0gd2FrZXVwX3RyYWNlcl9yZXNldCwKKwkub3BlbgkJPSB3YWtldXBfdHJhY2VyX29wZW4sCisJLmNsb3NlCQk9IHdha2V1cF90cmFjZXJfY2xvc2UsCisJLmN0cmxfdXBkYXRlCT0gd2FrZXVwX3RyYWNlcl9jdHJsX3VwZGF0ZSwKKwkucHJpbnRfbWF4CT0gMSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF93YWtldXAsCisjZW5kaWYKK307CisKK19faW5pdCBzdGF0aWMgaW50IGluaXRfd2FrZXVwX3RyYWNlcih2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSByZWdpc3Rlcl90cmFjZXIoJndha2V1cF90cmFjZXIpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlyZXR1cm4gMDsKK30KK2RldmljZV9pbml0Y2FsbChpbml0X3dha2V1cF90cmFjZXIpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX3NlbGZ0ZXN0LmMgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTExYjdlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX3NlbGZ0ZXN0LmMKQEAgLTAsMCArMSw1NjMgQEAKKy8qIEluY2x1ZGUgaW4gdHJhY2UuYyAqLworCisjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisKK3N0YXRpYyBpbmxpbmUgaW50IHRyYWNlX3ZhbGlkX2VudHJ5KHN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnkpCit7CisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJY2FzZSBUUkFDRV9DVFg6CisJY2FzZSBUUkFDRV9XQUtFOgorCWNhc2UgVFJBQ0VfU1RBQ0s6CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3RyYWNlX3Rlc3RfYnVmZmVyX2NwdShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cmllczsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgaWR4ID0gMDsKKwlpbnQgaTsKKworCUJVR19PTihsaXN0X2VtcHR5KCZkYXRhLT50cmFjZV9wYWdlcykpOworCXBhZ2UgPSBsaXN0X2VudHJ5KGRhdGEtPnRyYWNlX3BhZ2VzLm5leHQsIHN0cnVjdCBwYWdlLCBscnUpOworCWVudHJpZXMgPSBwYWdlX2FkZHJlc3MocGFnZSk7CisKKwljaGVja19wYWdlcyhkYXRhKTsKKwlpZiAoaGVhZF9wYWdlKGRhdGEpICE9IGVudHJpZXMpCisJCWdvdG8gZmFpbGVkOworCisJLyoKKwkgKiBUaGUgc3RhcnRpbmcgdHJhY2UgYnVmZmVyIGFsd2F5cyBoYXMgdmFsaWQgZWxlbWVudHMsCisJICogaWYgYW55IGVsZW1lbnQgZXhpc3RzLgorCSAqLworCWVudHJpZXMgPSBoZWFkX3BhZ2UoZGF0YSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgdHItPmVudHJpZXM7IGkrKykgeworCisJCWlmIChpIDwgZGF0YS0+dHJhY2VfaWR4ICYmICF0cmFjZV92YWxpZF9lbnRyeSgmZW50cmllc1tpZHhdKSkgeworCQkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gaW52YWxpZCBlbnRyeSAlZCAiLAorCQkJCWVudHJpZXNbaWR4XS50eXBlKTsKKwkJCWdvdG8gZmFpbGVkOworCQl9CisKKwkJaWR4Kys7CisJCWlmIChpZHggPj0gRU5UUklFU19QRVJfUEFHRSkgeworCQkJcGFnZSA9IHZpcnRfdG9fcGFnZShlbnRyaWVzKTsKKwkJCWlmIChwYWdlLT5scnUubmV4dCA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpIHsKKwkJCQlpZiAoaSAhPSB0ci0+ZW50cmllcyAtIDEpIHsKKwkJCQkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gZW50cmllcyBidWZmZXIgbWlzbWF0Y2giKTsKKwkJCQkJZ290byBmYWlsZWQ7CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJCQlwYWdlID0gbGlzdF9lbnRyeShwYWdlLT5scnUubmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisJCQkJZW50cmllcyA9IHBhZ2VfYWRkcmVzcyhwYWdlKTsKKwkJCX0KKwkJCWlkeCA9IDA7CisJCX0KKwl9CisKKwlwYWdlID0gdmlydF90b19wYWdlKGVudHJpZXMpOworCWlmIChwYWdlLT5scnUubmV4dCAhPSAmZGF0YS0+dHJhY2VfcGFnZXMpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gdG9vIG1hbnkgZW50cmllcyIpOworCQlnb3RvIGZhaWxlZDsKKwl9CisKKwlyZXR1cm4gMDsKKworIGZhaWxlZDoKKwkvKiBkaXNhYmxlIHRyYWNpbmcgKi8KKwl0cmFjaW5nX2Rpc2FibGVkID0gMTsKKwlwcmludGsoS0VSTl9DT05UICIuLiBjb3JydXB0ZWQgdHJhY2UgYnVmZmVyIC4uICIpOworCXJldHVybiAtMTsKK30KKworLyoKKyAqIFRlc3QgdGhlIHRyYWNlIGJ1ZmZlciB0byBzZWUgaWYgYWxsIHRoZSBlbGVtZW50cworICogYXJlIHN0aWxsIHNhbmUuCisgKi8KK3N0YXRpYyBpbnQgdHJhY2VfdGVzdF9idWZmZXIoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgdW5zaWduZWQgbG9uZyAqY291bnQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFncywgY250ID0gMDsKKwlpbnQgY3B1LCByZXQgPSAwOworCisJLyogRG9uJ3QgYWxsb3cgZmxpcHBpbmcgb2YgbWF4IHRyYWNlcyBub3cgKi8KKwlyYXdfbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCV9fcmF3X3NwaW5fbG9jaygmZnRyYWNlX21heF9sb2NrKTsKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7CisJCWlmICghaGVhZF9wYWdlKHRyLT5kYXRhW2NwdV0pKQorCQkJY29udGludWU7CisKKwkJY250ICs9IHRyLT5kYXRhW2NwdV0tPnRyYWNlX2lkeDsKKworCQlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcl9jcHUodHIsIHRyLT5kYXRhW2NwdV0pOworCQlpZiAocmV0KQorCQkJYnJlYWs7CisJfQorCV9fcmF3X3NwaW5fdW5sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwlpZiAoY291bnQpCisJCSpjb3VudCA9IGNudDsKKworCXJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKworI2RlZmluZSBfX1NUUih4KSAjeAorI2RlZmluZSBTVFIoeCkgX19TVFIoeCkKKworLyogVGVzdCBkeW5hbWljIGNvZGUgbW9kaWZpY2F0aW9uIGFuZCBmdHJhY2UgZmlsdGVycyAqLworaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZHluYW1pY190cmFjaW5nKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJCQkgICBpbnQgKCpmdW5jKSh2b2lkKSkKK3sKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisJaW50IHNhdmVfZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2VfZW5hYmxlZDsKKwlpbnQgc2F2ZV90cmFjZXJfZW5hYmxlZCA9IHRyYWNlcl9lbmFibGVkOworCWNoYXIgKmZ1bmNfbmFtZTsKKworCS8qIFRoZSBmdHJhY2UgdGVzdCBQQVNTRUQgKi8KKwlwcmludGsoS0VSTl9DT05UICJQQVNTRURcbiIpOworCXByX2luZm8oIlRlc3RpbmcgZHluYW1pYyBmdHJhY2U6ICIpOworCisJLyogZW5hYmxlIHRyYWNpbmcsIGFuZCByZWNvcmQgdGhlIGZpbHRlciBmdW5jdGlvbiAqLworCWZ0cmFjZV9lbmFibGVkID0gMTsKKwl0cmFjZXJfZW5hYmxlZCA9IDE7CisKKwkvKiBwYXNzZWQgaW4gYnkgcGFyYW1ldGVyIHRvIGZvb2wgZ2NjIGZyb20gb3B0aW1pemluZyAqLworCWZ1bmMoKTsKKworCS8qIHVwZGF0ZSB0aGUgcmVjb3JkcyAqLworCXJldCA9IGZ0cmFjZV9mb3JjZV91cGRhdGUoKTsKKwlpZiAocmV0KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIGZ0cmFjZWQgZmFpbGVkIC4uICIpOworCQlyZXR1cm4gcmV0OworCX0KKworCS8qCisJICogU29tZSBhcmNocyAqY291Z2gqUG93ZXJQQypjb3VnaCogYWRkIGNoYXJhY2h0ZXJzIHRvIHRoZQorCSAqIHN0YXJ0IG9mIHRoZSBmdW5jdGlvbiBuYW1lcy4gV2Ugc2ltcGx5IHB1dCBhICcqJyB0bworCSAqIGFjY29tb2RhdGUgdGhlbS4KKwkgKi8KKwlmdW5jX25hbWUgPSAiKiIgU1RSKERZTl9GVFJBQ0VfVEVTVF9OQU1FKTsKKworCS8qIGZpbHRlciBvbmx5IG9uIG91ciBmdW5jdGlvbiAqLworCWZ0cmFjZV9zZXRfZmlsdGVyKGZ1bmNfbmFtZSwgc3RybGVuKGZ1bmNfbmFtZSksIDEpOworCisJLyogZW5hYmxlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIFNsZWVwIGZvciBhIDEvMTAgb2YgYSBzZWNvbmQgKi8KKwltc2xlZXAoMTAwKTsKKworCS8qIHdlIHNob3VsZCBoYXZlIG5vdGhpbmcgaW4gdGhlIGJ1ZmZlciAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCAmY291bnQpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJaWYgKGNvdW50KSB7CisJCXJldCA9IC0xOworCQlwcmludGsoS0VSTl9DT05UICIuLiBmaWx0ZXIgZGlkIG5vdCBmaWx0ZXIgLi4gIik7CisJCWdvdG8gb3V0OworCX0KKworCS8qIGNhbGwgb3VyIGZ1bmN0aW9uIGFnYWluICovCisJZnVuYygpOworCisJLyogc2xlZXAgYWdhaW4gKi8KKwltc2xlZXAoMTAwKTsKKworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworCisJLyogY2hlY2sgdGhlIHRyYWNlIGJ1ZmZlciAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwkvKiB3ZSBzaG91bGQgb25seSBoYXZlIG9uZSBpdGVtICovCisJaWYgKCFyZXQgJiYgY291bnQgIT0gMSkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBmaWx0ZXIgZmFpbGVkIGNvdW50PSVsZCAuLiIsIGNvdW50KTsKKwkJcmV0ID0gLTE7CisJCWdvdG8gb3V0OworCX0KKyBvdXQ6CisJZnRyYWNlX2VuYWJsZWQgPSBzYXZlX2Z0cmFjZV9lbmFibGVkOworCXRyYWNlcl9lbmFibGVkID0gc2F2ZV90cmFjZXJfZW5hYmxlZDsKKworCS8qIEVuYWJsZSB0cmFjaW5nIG9uIGFsbCBmdW5jdGlvbnMgYWdhaW4gKi8KKwlmdHJhY2Vfc2V0X2ZpbHRlcihOVUxMLCAwLCAxKTsKKworCXJldHVybiByZXQ7Cit9CisjZWxzZQorIyBkZWZpbmUgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9keW5hbWljX3RyYWNpbmcodHJhY2UsIHRyLCBmdW5jKSAoeyAwOyB9KQorI2VuZGlmIC8qIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworLyoKKyAqIFNpbXBsZSB2ZXJpZmljYXRpb24gdGVzdCBvZiBmdHJhY2UgZnVuY3Rpb24gdHJhY2VyLgorICogRW5hYmxlIGZ0cmFjZSwgc2xlZXAgMS8xMCBzZWNvbmQsIGFuZCB0aGVuIHJlYWQgdGhlIHRyYWNlCisgKiBidWZmZXIgdG8gc2VlIGlmIGFsbCBpcyBpbiBvcmRlci4KKyAqLworaW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2Z1bmN0aW9uKHN0cnVjdCB0cmFjZXIgKnRyYWNlLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKwlpbnQgc2F2ZV9mdHJhY2VfZW5hYmxlZCA9IGZ0cmFjZV9lbmFibGVkOworCWludCBzYXZlX3RyYWNlcl9lbmFibGVkID0gdHJhY2VyX2VuYWJsZWQ7CisKKwkvKiBtYWtlIHN1cmUgbXNsZWVwIGhhcyBiZWVuIHJlY29yZGVkICovCisJbXNsZWVwKDEpOworCisJLyogZm9yY2UgdGhlIHJlY29yZGVkIGZ1bmN0aW9ucyB0byBiZSB0cmFjZWQgKi8KKwlyZXQgPSBmdHJhY2VfZm9yY2VfdXBkYXRlKCk7CisJaWYgKHJldCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBmdHJhY2VkIGZhaWxlZCAuLiAiKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCWZ0cmFjZV9lbmFibGVkID0gMTsKKwl0cmFjZXJfZW5hYmxlZCA9IDE7CisKKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIFNsZWVwIGZvciBhIDEvMTAgb2YgYSBzZWNvbmQgKi8KKwltc2xlZXAoMTAwKTsKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCWZ0cmFjZV9lbmFibGVkID0gMDsKKworCS8qIGNoZWNrIHRoZSB0cmFjZSBidWZmZXIgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgJmNvdW50KTsKKwl0cmFjZS0+cmVzZXQodHIpOworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJCWdvdG8gb3V0OworCX0KKworCXJldCA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZHluYW1pY190cmFjaW5nKHRyYWNlLCB0ciwKKwkJCQkJCSAgICAgRFlOX0ZUUkFDRV9URVNUX05BTUUpOworCisgb3V0OgorCWZ0cmFjZV9lbmFibGVkID0gc2F2ZV9mdHJhY2VfZW5hYmxlZDsKKwl0cmFjZXJfZW5hYmxlZCA9IHNhdmVfdHJhY2VyX2VuYWJsZWQ7CisKKwkvKiBraWxsIGZ0cmFjZSB0b3RhbGx5IGlmIHdlIGZhaWxlZCAqLworCWlmIChyZXQpCisJCWZ0cmFjZV9raWxsKCk7CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgoraW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2lycXNvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBzYXZlX21heCA9IHRyYWNpbmdfbWF4X2xhdGVuY3k7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIHJlc2V0IHRoZSBtYXggbGF0ZW5jeSAqLworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAwOworCS8qIGRpc2FibGUgaW50ZXJydXB0cyBmb3IgYSBiaXQgKi8KKwlsb2NhbF9pcnFfZGlzYWJsZSgpOworCXVkZWxheSgxMDApOworCWxvY2FsX2lycV9lbmFibGUoKTsKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIGJvdGggdHJhY2UgYnVmZmVycyAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCBOVUxMKTsKKwlpZiAoIXJldCkKKwkJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIoJm1heF90ciwgJmNvdW50KTsKKwl0cmFjZS0+cmVzZXQodHIpOworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJfQorCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IHNhdmVfbWF4OworCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBDT05GSUdfSVJRU09GRl9UUkFDRVIgKi8KKworI2lmZGVmIENPTkZJR19QUkVFTVBUX1RSQUNFUgoraW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBzYXZlX21heCA9IHRyYWNpbmdfbWF4X2xhdGVuY3k7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIHJlc2V0IHRoZSBtYXggbGF0ZW5jeSAqLworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAwOworCS8qIGRpc2FibGUgcHJlZW1wdGlvbiBmb3IgYSBiaXQgKi8KKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwl1ZGVsYXkoMTAwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgYm90aCB0cmFjZSBidWZmZXJzICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsIE5VTEwpOworCWlmICghcmV0KQorCQlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcigmbWF4X3RyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwl9CisKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gc2F2ZV9tYXg7CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19QUkVFTVBUX1RSQUNFUiAqLworCisjaWYgZGVmaW5lZChDT05GSUdfSVJRU09GRl9UUkFDRVIpICYmIGRlZmluZWQoQ09ORklHX1BSRUVNUFRfVFJBQ0VSKQoraW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRpcnFzb2ZmKHN0cnVjdCB0cmFjZXIgKnRyYWNlLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgc2F2ZV9tYXggPSB0cmFjaW5nX21heF9sYXRlbmN5OworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKworCS8qIHJlc2V0IHRoZSBtYXggbGF0ZW5jeSAqLworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAwOworCisJLyogZGlzYWJsZSBwcmVlbXB0aW9uIGFuZCBpbnRlcnJ1cHRzIGZvciBhIGJpdCAqLworCXByZWVtcHRfZGlzYWJsZSgpOworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJdWRlbGF5KDEwMCk7CisJcHJlZW1wdF9lbmFibGUoKTsKKwkvKiByZXZlcnNlIHRoZSBvcmRlciBvZiBwcmVlbXB0IHZzIGlycXMgKi8KKwlsb2NhbF9pcnFfZW5hYmxlKCk7CisKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIGJvdGggdHJhY2UgYnVmZmVycyAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCBOVUxMKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKCZtYXhfdHIsICZjb3VudCk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQorCisJLyogZG8gdGhlIHRlc3QgYnkgZGlzYWJsaW5nIGludGVycnVwdHMgZmlyc3QgdGhpcyB0aW1lICovCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IDA7CisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJcHJlZW1wdF9kaXNhYmxlKCk7CisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwl1ZGVsYXkoMTAwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworCS8qIHJldmVyc2UgdGhlIG9yZGVyIG9mIHByZWVtcHQgdnMgaXJxcyAqLworCWxvY2FsX2lycV9lbmFibGUoKTsKKworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgYm90aCB0cmFjZSBidWZmZXJzICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsIE5VTEwpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIoJm1heF90ciwgJmNvdW50KTsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCQlnb3RvIG91dDsKKwl9CisKKyBvdXQ6CisJdHJhY2UtPnJlc2V0KHRyKTsKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gc2F2ZV9tYXg7CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19JUlFTT0ZGX1RSQUNFUiAmJiBDT05GSUdfUFJFRU1QVF9UUkFDRVIgKi8KKworI2lmZGVmIENPTkZJR19TQ0hFRF9UUkFDRVIKK3N0YXRpYyBpbnQgdHJhY2Vfd2FrZXVwX3Rlc3RfdGhyZWFkKHZvaWQgKmRhdGEpCit7CisJLyogTWFrZSB0aGlzIGEgUlQgdGhyZWFkLCBkb2Vzbid0IG5lZWQgdG8gYmUgdG9vIGhpZ2ggKi8KKwlzdHJ1Y3Qgc2NoZWRfcGFyYW0gcGFyYW0gPSB7IC5zY2hlZF9wcmlvcml0eSA9IDUgfTsKKwlzdHJ1Y3QgY29tcGxldGlvbiAqeCA9IGRhdGE7CisKKwlzY2hlZF9zZXRzY2hlZHVsZXIoY3VycmVudCwgU0NIRURfRklGTywgJnBhcmFtKTsKKworCS8qIE1ha2UgaXQga25vdyB3ZSBoYXZlIGEgbmV3IHByaW8gKi8KKwljb21wbGV0ZSh4KTsKKworCS8qIG5vdyBnbyB0byBzbGVlcCBhbmQgbGV0IHRoZSB0ZXN0IHdha2UgdXMgdXAgKi8KKwlzZXRfY3VycmVudF9zdGF0ZShUQVNLX0lOVEVSUlVQVElCTEUpOworCXNjaGVkdWxlKCk7CisKKwkvKiB3ZSBhcmUgYXdha2UsIG5vdyB3YWl0IHRvIGRpc2FwcGVhciAqLworCXdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKSB7CisJCS8qCisJCSAqIFRoaXMgaXMgYW4gUlQgdGFzaywgZG8gc2hvcnQgc2xlZXBzIHRvIGxldAorCQkgKiBvdGhlcnMgcnVuLgorCQkgKi8KKwkJbXNsZWVwKDEwMCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK2ludAordHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF93YWtldXAoc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBzYXZlX21heCA9IHRyYWNpbmdfbWF4X2xhdGVuY3k7CisJc3RydWN0IHRhc2tfc3RydWN0ICpwOworCXN0cnVjdCBjb21wbGV0aW9uIGlzcnQ7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJaW5pdF9jb21wbGV0aW9uKCZpc3J0KTsKKworCS8qIGNyZWF0ZSBhIGhpZ2ggcHJpbyB0aHJlYWQgKi8KKwlwID0ga3RocmVhZF9ydW4odHJhY2Vfd2FrZXVwX3Rlc3RfdGhyZWFkLCAmaXNydCwgImZ0cmFjZS10ZXN0Iik7CisJaWYgKElTX0VSUihwKSkgeworCQlwcmludGsoS0VSTl9DT05UICJGYWlsZWQgdG8gY3JlYXRlIGZ0cmFjZSB3YWtldXAgdGVzdCB0aHJlYWQgIik7CisJCXJldHVybiAtMTsKKwl9CisKKwkvKiBtYWtlIHN1cmUgdGhlIHRocmVhZCBpcyBydW5uaW5nIGF0IGFuIFJUIHByaW8gKi8KKwl3YWl0X2Zvcl9jb21wbGV0aW9uKCZpc3J0KTsKKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKwkvKiByZXNldCB0aGUgbWF4IGxhdGVuY3kgKi8KKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gMDsKKworCS8qIHNsZWVwIHRvIGxldCB0aGUgUlQgdGhyZWFkIHNsZWVwIHRvbyAqLworCW1zbGVlcCgxMDApOworCisJLyoKKwkgKiBZZXMgdGhpcyBpcyBzbGlnaHRseSByYWN5LiBJdCBpcyBwb3NzaWJsZSB0aGF0IGZvciBzb21lCisJICogc3RyYW5nZSByZWFzb24gdGhhdCB0aGUgUlQgdGhyZWFkIHdlIGNyZWF0ZWQsIGRpZCBub3QKKwkgKiBjYWxsIHNjaGVkdWxlIGZvciAxMDBtcyBhZnRlciBkb2luZyB0aGUgY29tcGxldGlvbiwKKwkgKiBhbmQgd2UgZG8gYSB3YWtldXAgb24gYSB0YXNrIHRoYXQgYWxyZWFkeSBpcyBhd2FrZS4KKwkgKiBCdXQgdGhhdCBpcyBleHRyZW1lbHkgdW5saWtlbHksIGFuZCB0aGUgd29yc3QgdGhpbmcgdGhhdAorCSAqIGhhcHBlbnMgaW4gc3VjaCBhIGNhc2UsIGlzIHRoYXQgd2UgZGlzYWJsZSB0cmFjaW5nLgorCSAqIEhvbmVzdGx5LCBpZiB0aGlzIHJhY2UgZG9lcyBoYXBwZW4gc29tZXRoaW5nIGlzIGhvcnJpYmxlCisJICogd3Jvbmcgd2l0aCB0aGUgc3lzdGVtLgorCSAqLworCisJd2FrZV91cF9wcm9jZXNzKHApOworCisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayBib3RoIHRyYWNlIGJ1ZmZlcnMgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgTlVMTCk7CisJaWYgKCFyZXQpCisJCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKCZtYXhfdHIsICZjb3VudCk7CisKKworCXRyYWNlLT5yZXNldCh0cik7CisKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gc2F2ZV9tYXg7CisKKwkvKiBraWxsIHRoZSB0aHJlYWQgKi8KKwlrdGhyZWFkX3N0b3AocCk7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9UUkFDRVIgKi8KKworI2lmZGVmIENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIKK2ludAordHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zY2hlZF9zd2l0Y2goc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIFNsZWVwIGZvciBhIDEvMTAgb2YgYSBzZWNvbmQgKi8KKwltc2xlZXAoMTAwKTsKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIHRoZSB0cmFjZSBidWZmZXIgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgJmNvdW50KTsKKwl0cmFjZS0+cmVzZXQodHIpOworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJfQorCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSICovCisKKyNpZmRlZiBDT05GSUdfU1lTUFJPRl9UUkFDRVIKK2ludAordHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zeXNwcm9mKHN0cnVjdCB0cmFjZXIgKnRyYWNlLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKwkvKiBTbGVlcCBmb3IgYSAxLzEwIG9mIGEgc2Vjb25kICovCisJbXNsZWVwKDEwMCk7CisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayB0aGUgdHJhY2UgYnVmZmVyICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsICZjb3VudCk7CisJdHJhY2UtPnJlc2V0KHRyKTsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX1NZU1BST0ZfVFJBQ0VSICovCmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3RfZHluYW1pYy5jIGIva2VybmVsL3RyYWNlL3RyYWNlX3NlbGZ0ZXN0X2R5bmFtaWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGRkNzdjCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX3NlbGZ0ZXN0X2R5bmFtaWMuYwpAQCAtMCwwICsxLDcgQEAKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitpbnQgRFlOX0ZUUkFDRV9URVNUX05BTUUodm9pZCkKK3sKKwkvKiB1c2VkIHRvIGNhbGwgbWNvdW50ICovCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2Vfc3lzcHJvZi5jIGIva2VybmVsL3RyYWNlL3RyYWNlX3N5c3Byb2YuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzAxZTFlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX3N5c3Byb2YuYwpAQCAtMCwwICsxLDM2MyBAQAorLyoKKyAqIHRyYWNlIHN0YWNrIHRyYWNlcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA4LCBTb2VyZW4gU2FuZG1hbm4KKyAqIENvcHlyaWdodCAoQykgMjAwNyBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKyAqLworI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L2hydGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKworI2luY2x1ZGUgPGFzbS9zdGFja3RyYWNlLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitzdGF0aWMgc3RydWN0IHRyYWNlX2FycmF5CSpzeXNwcm9mX3RyYWNlOworc3RhdGljIGludCBfX3JlYWRfbW9zdGx5CXRyYWNlcl9lbmFibGVkOworCisvKgorICogMSBtc2VjIHNhbXBsZSBpbnRlcnZhbCBieSBkZWZhdWx0OgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBzYW1wbGVfcGVyaW9kID0gMTAwMDAwMDsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgc2FtcGxlX21heF9kZXB0aCA9IDUxMjsKKworc3RhdGljIERFRklORV9NVVRFWChzYW1wbGVfdGltZXJfbG9jayk7CisvKgorICogUGVyIENQVSBocnRpbWVycyB0aGF0IGRvIHRoZSBwcm9maWxpbmc6CisgKi8KK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgaHJ0aW1lciwgc3RhY2tfdHJhY2VfaHJ0aW1lcik7CisKK3N0cnVjdCBzdGFja19mcmFtZSB7CisJY29uc3Qgdm9pZCBfX3VzZXIJKm5leHRfZnA7CisJdW5zaWduZWQgbG9uZwkJcmV0dXJuX2FkZHJlc3M7Cit9OworCitzdGF0aWMgaW50IGNvcHlfc3RhY2tfZnJhbWUoY29uc3Qgdm9pZCBfX3VzZXIgKmZwLCBzdHJ1Y3Qgc3RhY2tfZnJhbWUgKmZyYW1lKQoreworCWludCByZXQ7CisKKwlpZiAoIWFjY2Vzc19vayhWRVJJRllfUkVBRCwgZnAsIHNpemVvZigqZnJhbWUpKSkKKwkJcmV0dXJuIDA7CisKKwlyZXQgPSAxOworCXBhZ2VmYXVsdF9kaXNhYmxlKCk7CisJaWYgKF9fY29weV9mcm9tX3VzZXJfaW5hdG9taWMoZnJhbWUsIGZwLCBzaXplb2YoKmZyYW1lKSkpCisJCXJldCA9IDA7CisJcGFnZWZhdWx0X2VuYWJsZSgpOworCisJcmV0dXJuIHJldDsKK30KKworc3RydWN0IGJhY2t0cmFjZV9pbmZvIHsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1CSpkYXRhOworCXN0cnVjdCB0cmFjZV9hcnJheQkqdHI7CisJaW50CQkJcG9zOworfTsKKworc3RhdGljIHZvaWQKK2JhY2t0cmFjZV93YXJuaW5nX3N5bWJvbCh2b2lkICpkYXRhLCBjaGFyICptc2csIHVuc2lnbmVkIGxvbmcgc3ltYm9sKQoreworCS8qIElnbm9yZSB3YXJuaW5ncyAqLworfQorCitzdGF0aWMgdm9pZCBiYWNrdHJhY2Vfd2FybmluZyh2b2lkICpkYXRhLCBjaGFyICptc2cpCit7CisJLyogSWdub3JlIHdhcm5pbmdzICovCit9CisKK3N0YXRpYyBpbnQgYmFja3RyYWNlX3N0YWNrKHZvaWQgKmRhdGEsIGNoYXIgKm5hbWUpCit7CisJLyogRG9uJ3QgYm90aGVyIHdpdGggSVJRIHN0YWNrcyBmb3Igbm93ICovCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCBiYWNrdHJhY2VfYWRkcmVzcyh2b2lkICpkYXRhLCB1bnNpZ25lZCBsb25nIGFkZHIsIGludCByZWxpYWJsZSkKK3sKKwlzdHJ1Y3QgYmFja3RyYWNlX2luZm8gKmluZm8gPSBkYXRhOworCisJaWYgKGluZm8tPnBvcyA8IHNhbXBsZV9tYXhfZGVwdGggJiYgcmVsaWFibGUpIHsKKwkJX190cmFjZV9zcGVjaWFsKGluZm8tPnRyLCBpbmZvLT5kYXRhLCAxLCBhZGRyLCAwKTsKKworCQlpbmZvLT5wb3MrKzsKKwl9Cit9CisKK2NvbnN0IHN0YXRpYyBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgYmFja3RyYWNlX29wcyA9IHsKKwkud2FybmluZwkJPSBiYWNrdHJhY2Vfd2FybmluZywKKwkud2FybmluZ19zeW1ib2wJCT0gYmFja3RyYWNlX3dhcm5pbmdfc3ltYm9sLAorCS5zdGFjawkJCT0gYmFja3RyYWNlX3N0YWNrLAorCS5hZGRyZXNzCQk9IGJhY2t0cmFjZV9hZGRyZXNzLAorfTsKKworc3RhdGljIGludAordHJhY2Vfa2VybmVsKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCSAgICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSkKK3sKKwlzdHJ1Y3QgYmFja3RyYWNlX2luZm8gaW5mbzsKKwl1bnNpZ25lZCBsb25nIGJwOworCWNoYXIgKnN0YWNrOworCisJaW5mby50ciA9IHRyOworCWluZm8uZGF0YSA9IGRhdGE7CisJaW5mby5wb3MgPSAxOworCisJX190cmFjZV9zcGVjaWFsKGluZm8udHIsIGluZm8uZGF0YSwgMSwgcmVncy0+aXAsIDApOworCisJc3RhY2sgPSAoKGNoYXIgKilyZWdzICsgc2l6ZW9mKHN0cnVjdCBwdF9yZWdzKSk7CisjaWZkZWYgQ09ORklHX0ZSQU1FX1BPSU5URVIKKwlicCA9IHJlZ3MtPmJwOworI2Vsc2UKKwlicCA9IDA7CisjZW5kaWYKKworCWR1bXBfdHJhY2UoTlVMTCwgcmVncywgKHZvaWQgKilzdGFjaywgYnAsICZiYWNrdHJhY2Vfb3BzLCAmaW5mbyk7CisKKwlyZXR1cm4gaW5mby5wb3M7Cit9CisKK3N0YXRpYyB2b2lkIHRpbWVyX25vdGlmeShzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXN0cnVjdCBzdGFja19mcmFtZSBmcmFtZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyOworCWNvbnN0IHZvaWQgX191c2VyICpmcDsKKwlpbnQgaXNfdXNlcjsKKwlpbnQgaTsKKworCWlmICghcmVncykKKwkJcmV0dXJuOworCisJdHIgPSBzeXNwcm9mX3RyYWNlOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWlzX3VzZXIgPSB1c2VyX21vZGUocmVncyk7CisKKwlpZiAoIWN1cnJlbnQgfHwgY3VycmVudC0+cGlkID09IDApCisJCXJldHVybjsKKworCWlmIChpc191c2VyICYmIGN1cnJlbnQtPnN0YXRlICE9IFRBU0tfUlVOTklORykKKwkJcmV0dXJuOworCisJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCAwLCAwLCBjdXJyZW50LT5waWQpOworCisJaWYgKCFpc191c2VyKQorCQlpID0gdHJhY2Vfa2VybmVsKHJlZ3MsIHRyLCBkYXRhKTsKKwllbHNlCisJCWkgPSAwOworCisJLyoKKwkgKiBUcmFjZSB1c2VyIHN0YWNrIGlmIHdlIGFyZSBub3QgYSBrZXJuZWwgdGhyZWFkCisJICovCisJaWYgKGN1cnJlbnQtPm1tICYmIGkgPCBzYW1wbGVfbWF4X2RlcHRoKSB7CisJCXJlZ3MgPSAoc3RydWN0IHB0X3JlZ3MgKiljdXJyZW50LT50aHJlYWQuc3AwIC0gMTsKKworCQlmcCA9ICh2b2lkIF9fdXNlciAqKXJlZ3MtPmJwOworCisJCV9fdHJhY2Vfc3BlY2lhbCh0ciwgZGF0YSwgMiwgcmVncy0+aXAsIDApOworCisJCXdoaWxlIChpIDwgc2FtcGxlX21heF9kZXB0aCkgeworCQkJZnJhbWUubmV4dF9mcCA9IDA7CisJCQlmcmFtZS5yZXR1cm5fYWRkcmVzcyA9IDA7CisJCQlpZiAoIWNvcHlfc3RhY2tfZnJhbWUoZnAsICZmcmFtZSkpCisJCQkJYnJlYWs7CisJCQlpZiAoKHVuc2lnbmVkIGxvbmcpZnAgPCByZWdzLT5zcCkKKwkJCQlicmVhazsKKworCQkJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCAyLCBmcmFtZS5yZXR1cm5fYWRkcmVzcywKKwkJCQkJKHVuc2lnbmVkIGxvbmcpZnApOworCQkJZnAgPSBmcmFtZS5uZXh0X2ZwOworCisJCQlpKys7CisJCX0KKworCX0KKworCS8qCisJICogU3BlY2lhbCB0cmFjZSBlbnRyeSBpZiB3ZSBvdmVyZmxvdyB0aGUgbWF4IGRlcHRoOgorCSAqLworCWlmIChpID09IHNhbXBsZV9tYXhfZGVwdGgpCisJCV9fdHJhY2Vfc3BlY2lhbCh0ciwgZGF0YSwgLTEsIC0xLCAtMSk7CisKKwlfX3RyYWNlX3NwZWNpYWwodHIsIGRhdGEsIDMsIGN1cnJlbnQtPnBpZCwgaSk7Cit9CisKK3N0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBzdGFja190cmFjZV90aW1lcl9mbihzdHJ1Y3QgaHJ0aW1lciAqaHJ0aW1lcikKK3sKKwkvKiB0cmFjZSBoZXJlICovCisJdGltZXJfbm90aWZ5KGdldF9pcnFfcmVncygpLCBzbXBfcHJvY2Vzc29yX2lkKCkpOworCisJaHJ0aW1lcl9mb3J3YXJkX25vdyhocnRpbWVyLCBuc190b19rdGltZShzYW1wbGVfcGVyaW9kKSk7CisKKwlyZXR1cm4gSFJUSU1FUl9SRVNUQVJUOworfQorCitzdGF0aWMgdm9pZCBzdGFydF9zdGFja190aW1lcihpbnQgY3B1KQoreworCXN0cnVjdCBocnRpbWVyICpocnRpbWVyID0gJnBlcl9jcHUoc3RhY2tfdHJhY2VfaHJ0aW1lciwgY3B1KTsKKworCWhydGltZXJfaW5pdChocnRpbWVyLCBDTE9DS19NT05PVE9OSUMsIEhSVElNRVJfTU9ERV9SRUwpOworCWhydGltZXItPmZ1bmN0aW9uID0gc3RhY2tfdHJhY2VfdGltZXJfZm47CisJaHJ0aW1lci0+Y2JfbW9kZSA9IEhSVElNRVJfQ0JfSVJRU0FGRV9OT19TT0ZUSVJROworCisJaHJ0aW1lcl9zdGFydChocnRpbWVyLCBuc190b19rdGltZShzYW1wbGVfcGVyaW9kKSwgSFJUSU1FUl9NT0RFX1JFTCk7Cit9CisKK3N0YXRpYyB2b2lkIHN0YXJ0X3N0YWNrX3RpbWVycyh2b2lkKQoreworCWNwdW1hc2tfdCBzYXZlZF9tYXNrID0gY3VycmVudC0+Y3B1c19hbGxvd2VkOworCWludCBjcHU7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQlzZXRfY3B1c19hbGxvd2VkX3B0cihjdXJyZW50LCAmY3B1bWFza19vZl9jcHUoY3B1KSk7CisJCXN0YXJ0X3N0YWNrX3RpbWVyKGNwdSk7CisJfQorCXNldF9jcHVzX2FsbG93ZWRfcHRyKGN1cnJlbnQsICZzYXZlZF9tYXNrKTsKK30KKworc3RhdGljIHZvaWQgc3RvcF9zdGFja190aW1lcihpbnQgY3B1KQoreworCXN0cnVjdCBocnRpbWVyICpocnRpbWVyID0gJnBlcl9jcHUoc3RhY2tfdHJhY2VfaHJ0aW1lciwgY3B1KTsKKworCWhydGltZXJfY2FuY2VsKGhydGltZXIpOworfQorCitzdGF0aWMgdm9pZCBzdG9wX3N0YWNrX3RpbWVycyh2b2lkKQoreworCWludCBjcHU7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKKwkJc3RvcF9zdGFja190aW1lcihjcHUpOworfQorCitzdGF0aWMgdm9pZCBzdGFja19yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCBjcHU7CisKKwl0ci0+dGltZV9zdGFydCA9IGZ0cmFjZV9ub3codHItPmNwdSk7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKKwkJdHJhY2luZ19yZXNldCh0ci0+ZGF0YVtjcHVdKTsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfc3RhY2tfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwltdXRleF9sb2NrKCZzYW1wbGVfdGltZXJfbG9jayk7CisJc3RhY2tfcmVzZXQodHIpOworCXN0YXJ0X3N0YWNrX3RpbWVycygpOworCXRyYWNlcl9lbmFibGVkID0gMTsKKwltdXRleF91bmxvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgc3RvcF9zdGFja190cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCW11dGV4X2xvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKKwlzdG9wX3N0YWNrX3RpbWVycygpOworCXRyYWNlcl9lbmFibGVkID0gMDsKKwltdXRleF91bmxvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgc3RhY2tfdHJhY2VfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXN5c3Byb2ZfdHJhY2UgPSB0cjsKKworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfc3RhY2tfdHJhY2UodHIpOworfQorCitzdGF0aWMgdm9pZCBzdGFja190cmFjZV9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RvcF9zdGFja190cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIHN0YWNrX3RyYWNlX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJLyogV2hlbiBzdGFydGluZyBhIG5ldyB0cmFjZSwgcmVzZXQgdGhlIGJ1ZmZlcnMgKi8KKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3N0YWNrX3RyYWNlKHRyKTsKKwllbHNlCisJCXN0b3Bfc3RhY2tfdHJhY2UodHIpOworfQorCitzdGF0aWMgc3RydWN0IHRyYWNlciBzdGFja190cmFjZSBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkJPSAic3lzcHJvZiIsCisJLmluaXQJCT0gc3RhY2tfdHJhY2VfaW5pdCwKKwkucmVzZXQJCT0gc3RhY2tfdHJhY2VfcmVzZXQsCisJLmN0cmxfdXBkYXRlCT0gc3RhY2tfdHJhY2VfY3RybF91cGRhdGUsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfc3lzcHJvZiwKKyNlbmRpZgorfTsKKworX19pbml0IHN0YXRpYyBpbnQgaW5pdF9zdGFja190cmFjZSh2b2lkKQoreworCXJldHVybiByZWdpc3Rlcl90cmFjZXIoJnN0YWNrX3RyYWNlKTsKK30KK2RldmljZV9pbml0Y2FsbChpbml0X3N0YWNrX3RyYWNlKTsKKworI2RlZmluZSBNQVhfTE9OR19ESUdJVFMgMjIKKworc3RhdGljIHNzaXplX3QKK3N5c3Byb2Zfc2FtcGxlX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgYnVmW01BWF9MT05HX0RJR0lUU107CisJaW50IHI7CisKKwlyID0gc3ByaW50ZihidWYsICIlbGRcbiIsIG5zZWNzX3RvX3VzZWNzKHNhbXBsZV9wZXJpb2QpKTsKKworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitzeXNwcm9mX3NhbXBsZV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgYnVmW01BWF9MT05HX0RJR0lUU107CisJdW5zaWduZWQgbG9uZyB2YWw7CisKKwlpZiAoY250ID4gTUFYX0xPTkdfRElHSVRTLTEpCisJCWNudCA9IE1BWF9MT05HX0RJR0lUUy0xOworCisJaWYgKGNvcHlfZnJvbV91c2VyKCZidWYsIHVidWYsIGNudCkpCisJCXJldHVybiAtRUZBVUxUOworCisJYnVmW2NudF0gPSAwOworCisJdmFsID0gc2ltcGxlX3N0cnRvdWwoYnVmLCBOVUxMLCAxMCk7CisJLyoKKwkgKiBFbmZvcmNlIGEgbWluaW11bSBzYW1wbGUgcGVyaW9kIG9mIDEwMCB1c2VjczoKKwkgKi8KKwlpZiAodmFsIDwgMTAwKQorCQl2YWwgPSAxMDA7CisKKwltdXRleF9sb2NrKCZzYW1wbGVfdGltZXJfbG9jayk7CisJc3RvcF9zdGFja190aW1lcnMoKTsKKwlzYW1wbGVfcGVyaW9kID0gdmFsICogMTAwMDsKKwlzdGFydF9zdGFja190aW1lcnMoKTsKKwltdXRleF91bmxvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHN5c3Byb2Zfc2FtcGxlX2ZvcHMgPSB7CisJLnJlYWQJCT0gc3lzcHJvZl9zYW1wbGVfcmVhZCwKKwkud3JpdGUJCT0gc3lzcHJvZl9zYW1wbGVfd3JpdGUsCit9OworCit2b2lkIGluaXRfdHJhY2VyX3N5c3Byb2ZfZGVidWdmcyhzdHJ1Y3QgZGVudHJ5ICpkX3RyYWNlcikKK3sKKwlzdHJ1Y3QgZGVudHJ5ICplbnRyeTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgic3lzcHJvZl9zYW1wbGVfcGVyaW9kIiwgMDY0NCwKKwkJCWRfdHJhY2VyLCBOVUxMLCAmc3lzcHJvZl9zYW1wbGVfZm9wcyk7CisJaWYgKGVudHJ5KQorCQlyZXR1cm47CisJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICdkeW5fZnRyYWNlX3RvdGFsX2luZm8nIGVudHJ5XG4iKTsKK30KZGlmZiAtLWdpdCBhL2xpYi9LY29uZmlnLmRlYnVnIGIvbGliL0tjb25maWcuZGVidWcKaW5kZXggZDIwOTlmNC4uZGYyNzEzMiAxMDA2NDQKLS0tIGEvbGliL0tjb25maWcuZGVidWcKKysrIGIvbGliL0tjb25maWcuZGVidWcKQEAgLTQxOSw3ICs0MTksNiBAQAogCiBjb25maWcgU1RBQ0tUUkFDRQogCWJvb2wKLQlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTAogCWRlcGVuZHMgb24gU1RBQ0tUUkFDRV9TVVBQT1JUCiAKIGNvbmZpZyBERUJVR19LT0JKRUNUCkBAIC01MzEsMTYgKzUzMCwzNCBAQAogY29uZmlnIFJDVV9UT1JUVVJFX1RFU1QKIAl0cmlzdGF0ZSAidG9ydHVyZSB0ZXN0cyBmb3IgUkNVIgogCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCi0JZGVwZW5kcyBvbiBtCiAJZGVmYXVsdCBuCiAJaGVscAogCSAgVGhpcyBvcHRpb24gcHJvdmlkZXMgYSBrZXJuZWwgbW9kdWxlIHRoYXQgcnVucyB0b3J0dXJlIHRlc3RzCiAJICBvbiB0aGUgUkNVIGluZnJhc3RydWN0dXJlLiAgVGhlIGtlcm5lbCBtb2R1bGUgbWF5IGJlIGJ1aWx0CiAJICBhZnRlciB0aGUgZmFjdCBvbiB0aGUgcnVubmluZyBrZXJuZWwgdG8gYmUgdGVzdGVkLCBpZiBkZXNpcmVkLgogCisJICBTYXkgWSBoZXJlIGlmIHlvdSB3YW50IFJDVSB0b3J0dXJlIHRlc3RzIHRvIGJlIGJ1aWx0IGludG8KKwkgIHRoZSBrZXJuZWwuCiAJICBTYXkgTSBpZiB5b3Ugd2FudCB0aGUgUkNVIHRvcnR1cmUgdGVzdHMgdG8gYnVpbGQgYXMgYSBtb2R1bGUuCiAJICBTYXkgTiBpZiB5b3UgYXJlIHVuc3VyZS4KIAorY29uZmlnIFJDVV9UT1JUVVJFX1RFU1RfUlVOTkFCTEUKKwlib29sICJ0b3J0dXJlIHRlc3RzIGZvciBSQ1UgcnVubmFibGUgYnkgZGVmYXVsdCIKKwlkZXBlbmRzIG9uIFJDVV9UT1JUVVJFX1RFU1QgPSB5CisJZGVmYXVsdCBuCisJaGVscAorCSAgVGhpcyBvcHRpb24gcHJvdmlkZXMgYSB3YXkgdG8gYnVpbGQgdGhlIFJDVSB0b3J0dXJlIHRlc3RzCisJICBkaXJlY3RseSBpbnRvIHRoZSBrZXJuZWwgd2l0aG91dCB0aGVtIHN0YXJ0aW5nIHVwIGF0IGJvb3QKKwkgIHRpbWUuICBZb3UgY2FuIHVzZSAvcHJvYy9zeXMva2VybmVsL3JjdXRvcnR1cmVfcnVubmFibGUKKwkgIHRvIG1hbnVhbGx5IG92ZXJyaWRlIHRoaXMgc2V0dGluZy4gIFRoaXMgL3Byb2MgZmlsZSBpcworCSAgYXZhaWxhYmxlIG9ubHkgd2hlbiB0aGUgUkNVIHRvcnR1cmUgdGVzdHMgaGF2ZSBiZWVuIGJ1aWx0CisJICBpbnRvIHRoZSBrZXJuZWwuCisKKwkgIFNheSBZIGhlcmUgaWYgeW91IHdhbnQgdGhlIFJDVSB0b3J0dXJlIHRlc3RzIHRvIHN0YXJ0IGR1cmluZworCSAgYm9vdCAoeW91IHByb2JhYmx5IGRvbid0KS4KKwkgIFNheSBOIGhlcmUgaWYgeW91IHdhbnQgdGhlIFJDVSB0b3J0dXJlIHRlc3RzIHRvIHN0YXJ0IG9ubHkKKwkgIGFmdGVyIGJlaW5nIG1hbnVhbGx5IGVuYWJsZWQgdmlhIC9wcm9jLgorCiBjb25maWcgS1BST0JFU19TQU5JVFlfVEVTVAogCWJvb2wgIktwcm9iZXMgc2FuaXR5IHRlc3RzIgogCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCkBAIC01NjMsNiArNTgwLDkgQEAKIAkgIGZvciBkaXN0cmlidXRpb25zIG9yIGdlbmVyYWwga2VybmVscywgYnV0IG9ubHkgZm9yIGtlcm5lbAogCSAgZGV2ZWxvcGVycyB3b3JraW5nIG9uIGFyY2hpdGVjdHVyZSBjb2RlLgogCisJICBOb3RlIHRoYXQgaWYgeW91IHdhbnQgdG8gYWxzbyB0ZXN0IHNhdmVkIGJhY2t0cmFjZXMsIHlvdSB3aWxsCisJICBoYXZlIHRvIGVuYWJsZSBTVEFDS1RSQUNFIGFzIHdlbGwuCisKIAkgIFNheSBOIGlmIHlvdSBhcmUgdW5zdXJlLgogCiBjb25maWcgTEtEVE0KQEAgLTYzNCw2ICs2NTQsOCBAQAogCSAgRW5hYmxlIHRoaXMgb3B0aW9uIGlmIHlvdSB3YW50IHRvIHVzZSB0aGUgTGF0ZW5jeVRPUCB0b29sCiAJICB0byBmaW5kIG91dCB3aGljaCB1c2Vyc3BhY2UgaXMgYmxvY2tpbmcgb24gd2hhdCBrZXJuZWwgb3BlcmF0aW9ucy4KIAorc291cmNlIGtlcm5lbC90cmFjZS9LY29uZmlnCisKIGNvbmZpZyBQUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCiAJYm9vbCAiUmVtb3RlIGRlYnVnZ2luZyBvdmVyIEZpcmVXaXJlIGVhcmx5IG9uIGJvb3QiCiAJZGVwZW5kcyBvbiBQQ0kgJiYgWDg2CmRpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUgYi9saWIvTWFrZWZpbGUKaW5kZXggNzRiMGNmYi4uNGI4MzZhNSAxMDA2NDQKLS0tIGEvbGliL01ha2VmaWxlCisrKyBiL2xpYi9NYWtlZmlsZQpAQCAtOCw2ICs4LDE1IEBACiAJIHNoYTEubyBpcnFfcmVncy5vIHJlY2lwcm9jYWxfZGl2Lm8gYXJndl9zcGxpdC5vIFwKIAkgcHJvcG9ydGlvbnMubyBwcmlvX2hlYXAubyByYXRlbGltaXQubwogCitpZmRlZiBDT05GSUdfRlRSQUNFCisjIERvIG5vdCBwcm9maWxlIHN0cmluZy5vLCBzaW5jZSBpdCBtYXkgYmUgdXNlZCBpbiBlYXJseSBib290IG9yIHZkc28KK0NGTEFHU19SRU1PVkVfc3RyaW5nLm8gPSAtcGcKKyMgQWxzbyBkbyBub3QgcHJvZmlsZSBhbnkgZGVidWcgdXRpbGl0aWVzCitDRkxBR1NfUkVNT1ZFX3NwaW5sb2NrX2RlYnVnLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfbGlzdF9kZWJ1Zy5vID0gLXBnCitDRkxBR1NfUkVNT1ZFX2RlYnVnb2JqZWN0cy5vID0gLXBnCitlbmRpZgorCiBsaWItJChDT05GSUdfTU1VKSArPSBpb3JlbWFwLm8KIGxpYi0kKENPTkZJR19TTVApICs9IGNwdW1hc2subwogCmRpZmYgLS1naXQgYS9saWIvcGVyY3B1X2NvdW50ZXIuYyBiL2xpYi9wZXJjcHVfY291bnRlci5jCmluZGV4IDExOTE3NDQuLjRhOGJhNGIgMTAwNjQ0Ci0tLSBhL2xpYi9wZXJjcHVfY291bnRlci5jCisrKyBiL2xpYi9wZXJjcHVfY291bnRlci5jCkBAIC01Miw3ICs1Miw3IEBACiAgKiBBZGQgdXAgYWxsIHRoZSBwZXItY3B1IGNvdW50cywgcmV0dXJuIHRoZSByZXN1bHQuICBUaGlzIGlzIGEgbW9yZSBhY2N1cmF0ZQogICogYnV0IG11Y2ggc2xvd2VyIHZlcnNpb24gb2YgcGVyY3B1X2NvdW50ZXJfcmVhZF9wb3NpdGl2ZSgpCiAgKi8KLXM2NCBfX3BlcmNwdV9jb3VudGVyX3N1bShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYykKK3M2NCBfX3BlcmNwdV9jb3VudGVyX3N1bShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYywgaW50IHNldCkKIHsKIAlzNjQgcmV0OwogCWludCBjcHU7CkBAIC02Miw3ICs2MiwxMiBAQAogCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CiAJCXMzMiAqcGNvdW50ID0gcGVyX2NwdV9wdHIoZmJjLT5jb3VudGVycywgY3B1KTsKIAkJcmV0ICs9ICpwY291bnQ7CisJCWlmIChzZXQpCisJCQkqcGNvdW50ID0gMDsKIAl9CisJaWYgKHNldCkKKwkJZmJjLT5jb3VudCA9IHJldDsKKwogCXNwaW5fdW5sb2NrKCZmYmMtPmxvY2spOwogCXJldHVybiByZXQ7CiB9CmRpZmYgLS1naXQgYS9saWIvc21wX3Byb2Nlc3Nvcl9pZC5jIGIvbGliL3NtcF9wcm9jZXNzb3JfaWQuYwppbmRleCA2YzkwZmI5Li4zYjRkYzA5IDEwMDY0NAotLS0gYS9saWIvc21wX3Byb2Nlc3Nvcl9pZC5jCisrKyBiL2xpYi9zbXBfcHJvY2Vzc29yX2lkLmMKQEAgLTcsNyArNyw3IEBACiAjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogCi11bnNpZ25lZCBpbnQgZGVidWdfc21wX3Byb2Nlc3Nvcl9pZCh2b2lkKQorbm90cmFjZSB1bnNpZ25lZCBpbnQgZGVidWdfc21wX3Byb2Nlc3Nvcl9pZCh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgcHJlZW1wdF9jb3VudCA9IHByZWVtcHRfY291bnQoKTsKIAlpbnQgdGhpc19jcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOwpAQCAtMzcsNyArMzcsNyBAQAogCS8qCiAJICogQXZvaWQgcmVjdXJzaW9uOgogCSAqLwotCXByZWVtcHRfZGlzYWJsZSgpOworCXByZWVtcHRfZGlzYWJsZV9ub3RyYWNlKCk7CiAKIAlpZiAoIXByaW50a19yYXRlbGltaXQoKSkKIAkJZ290byBvdXRfZW5hYmxlOwpAQCAtNDksNyArNDksNyBAQAogCWR1bXBfc3RhY2soKTsKIAogb3V0X2VuYWJsZToKLQlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkKCk7CisJcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZF9ub3RyYWNlKCk7CiBvdXQ6CiAJcmV0dXJuIHRoaXNfY3B1OwogfQpkaWZmIC0tZ2l0IGEvbGliL3RleHRzZWFyY2guYyBiL2xpYi90ZXh0c2VhcmNoLmMKaW5kZXggYmU4YmRhMy4uYTNlNTAwYSAxMDA2NDQKLS0tIGEvbGliL3RleHRzZWFyY2guYworKysgYi9saWIvdGV4dHNlYXJjaC5jCkBAIC05Nyw2ICs5Nyw3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvdGV4dHNlYXJjaC5oPgpkaWZmIC0tZ2l0IGEvbW0vS2NvbmZpZyBiL21tL0tjb25maWcKaW5kZXggM2FhODE5ZC4uYzRkZTg1MiAxMDA2NDQKLS0tIGEvbW0vS2NvbmZpZworKysgYi9tbS9LY29uZmlnCkBAIC0xMjksNyArMTI5LDcgQEAKIAlib29sICJBbGxvdyBmb3IgbWVtb3J5IGhvdC1hZGQiCiAJZGVwZW5kcyBvbiBTUEFSU0VNRU0gfHwgWDg2XzY0X0FDUElfTlVNQQogCWRlcGVuZHMgb24gSE9UUExVRyAmJiAhSElCRVJOQVRJT04gJiYgQVJDSF9FTkFCTEVfTUVNT1JZX0hPVFBMVUcKLQlkZXBlbmRzIG9uIChJQTY0IHx8IFg4NiB8fCBQUEM2NCB8fCBTVVBFUkgpCisJZGVwZW5kcyBvbiAoSUE2NCB8fCBYODYgfHwgUFBDNjQgfHwgU1VQRVJIIHx8IFMzOTApCiAKIGNvbW1lbnQgIk1lbW9yeSBob3RwbHVnIGlzIGN1cnJlbnRseSBpbmNvbXBhdGlibGUgd2l0aCBTb2Z0d2FyZSBTdXNwZW5kIgogCWRlcGVuZHMgb24gU1BBUlNFTUVNICYmIEhPVFBMVUcgJiYgSElCRVJOQVRJT04KQEAgLTE5OSw3ICsxOTksNyBAQAogY29uZmlnIE5SX1FVSUNLCiAJaW50CiAJZGVwZW5kcyBvbiBRVUlDS0xJU1QKLQlkZWZhdWx0ICIyIiBpZiBTVVBFUkgKKwlkZWZhdWx0ICIyIiBpZiBTVVBFUkggfHwgQVZSMzIKIAlkZWZhdWx0ICIxIgogCiBjb25maWcgVklSVF9UT19CVVMKZGlmZiAtLWdpdCBhL21tL2ZpbGVtYXAuYyBiL21tL2ZpbGVtYXAuYwppbmRleCAxZTZhN2QzLi42NWQ5ZDllIDEwMDY0NAotLS0gYS9tbS9maWxlbWFwLmMKKysrIGIvbW0vZmlsZW1hcC5jCkBAIC0yMzYsMTEgKzIzNiwxMiBAQAogfQogRVhQT1JUX1NZTUJPTChmaWxlbWFwX2ZkYXRhd3JpdGUpOwogCi1zdGF0aWMgaW50IGZpbGVtYXBfZmRhdGF3cml0ZV9yYW5nZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHN0YXJ0LAoraW50IGZpbGVtYXBfZmRhdGF3cml0ZV9yYW5nZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHN0YXJ0LAogCQkJCWxvZmZfdCBlbmQpCiB7CiAJcmV0dXJuIF9fZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKG1hcHBpbmcsIHN0YXJ0LCBlbmQsIFdCX1NZTkNfQUxMKTsKIH0KK0VYUE9SVF9TWU1CT0woZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKTsKIAogLyoqCiAgKiBmaWxlbWFwX2ZsdXNoIC0gbW9zdGx5IGEgbm9uLWJsb2NraW5nIGZsdXNoCmRpZmYgLS1naXQgYS9tbS9tcHJvdGVjdC5jIGIvbW0vbXByb3RlY3QuYwppbmRleCBhNWJmMzFjLi5hY2ZlN2M4IDEwMDY0NAotLS0gYS9tbS9tcHJvdGVjdC5jCisrKyBiL21tL21wcm90ZWN0LmMKQEAgLTQ3LDE5ICs0NywxNyBAQAogCQlpZiAocHRlX3ByZXNlbnQob2xkcHRlKSkgewogCQkJcHRlX3QgcHRlbnQ7CiAKLQkJCS8qIEF2b2lkIGFuIFNNUCByYWNlIHdpdGggaGFyZHdhcmUgdXBkYXRlZCBkaXJ0eS9jbGVhbgotCQkJICogYml0cyBieSB3aXBpbmcgdGhlIHB0ZSBhbmQgdGhlbiBzZXR0aW5nIHRoZSBuZXcgcHRlCi0JCQkgKiBpbnRvIHBsYWNlLgotCQkJICovCi0JCQlwdGVudCA9IHB0ZXBfZ2V0X2FuZF9jbGVhcihtbSwgYWRkciwgcHRlKTsKKwkJCXB0ZW50ID0gcHRlcF9tb2RpZnlfcHJvdF9zdGFydChtbSwgYWRkciwgcHRlKTsKIAkJCXB0ZW50ID0gcHRlX21vZGlmeShwdGVudCwgbmV3cHJvdCk7CisKIAkJCS8qCiAJCQkgKiBBdm9pZCB0YWtpbmcgd3JpdGUgZmF1bHRzIGZvciBwYWdlcyB3ZSBrbm93IHRvIGJlCiAJCQkgKiBkaXJ0eS4KIAkJCSAqLwogCQkJaWYgKGRpcnR5X2FjY291bnRhYmxlICYmIHB0ZV9kaXJ0eShwdGVudCkpCiAJCQkJcHRlbnQgPSBwdGVfbWt3cml0ZShwdGVudCk7Ci0JCQlzZXRfcHRlX2F0KG1tLCBhZGRyLCBwdGUsIHB0ZW50KTsKKworCQkJcHRlcF9tb2RpZnlfcHJvdF9jb21taXQobW0sIGFkZHIsIHB0ZSwgcHRlbnQpOwogI2lmZGVmIENPTkZJR19NSUdSQVRJT04KIAkJfSBlbHNlIGlmICghcHRlX2ZpbGUob2xkcHRlKSkgewogCQkJc3dwX2VudHJ5X3QgZW50cnkgPSBwdGVfdG9fc3dwX2VudHJ5KG9sZHB0ZSk7CmRpZmYgLS1naXQgYS9tbS9wYWdlLXdyaXRlYmFjay5jIGIvbW0vcGFnZS13cml0ZWJhY2suYwppbmRleCA3ODliNmFkLi45NGM2ZDg5IDEwMDY0NAotLS0gYS9tbS9wYWdlLXdyaXRlYmFjay5jCisrKyBiL21tL3BhZ2Utd3JpdGViYWNrLmMKQEAgLTEyNiw4ICsxMjYsNiBAQAogc3RhdGljIHN0cnVjdCBwcm9wX2Rlc2NyaXB0b3Igdm1fY29tcGxldGlvbnM7CiBzdGF0aWMgc3RydWN0IHByb3BfZGVzY3JpcHRvciB2bV9kaXJ0aWVzOwogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSh2b2lkKTsKLQogLyoKICAqIGNvdXBsZSB0aGUgcGVyaW9kIHRvIHRoZSBkaXJ0eV9yYXRpbzoKICAqCkBAIC0zNDcsNyArMzQ1LDEzIEBACiAjZW5kaWYKIH0KIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgZGV0ZXJtaW5lX2RpcnR5YWJsZV9tZW1vcnkodm9pZCkKKy8qKgorICogZGV0ZXJtaW5lX2RpcnR5YWJsZV9tZW1vcnkgLSBhbW91bnQgb2YgbWVtb3J5IHRoYXQgbWF5IGJlIHVzZWQKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1lYnIgb2YgcGFnZXMgdGhhdCBjYW4gY3VycmVudGx5IGJlIGZyZWVkIGFuZCB1c2VkCisgKiBieSB0aGUga2VybmVsIGZvciBkaXJlY3QgbWFwcGluZ3MuCisgKi8KK3Vuc2lnbmVkIGxvbmcgZGV0ZXJtaW5lX2RpcnR5YWJsZV9tZW1vcnkodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIHg7CiAKQEAgLTk1Niw2ICs5NjAsOSBAQAogCX0KIAlpZiAod2JjLT5yYW5nZV9jeWNsaWMgfHwgKHJhbmdlX3dob2xlICYmIHdiYy0+bnJfdG9fd3JpdGUgPiAwKSkKIAkJbWFwcGluZy0+d3JpdGViYWNrX2luZGV4ID0gaW5kZXg7CisKKwlpZiAod2JjLT5yYW5nZV9jb250KQorCQl3YmMtPnJhbmdlX3N0YXJ0ID0gaW5kZXggPDwgUEFHRV9DQUNIRV9TSElGVDsKIAlyZXR1cm4gcmV0OwogfQogRVhQT1JUX1NZTUJPTCh3cml0ZV9jYWNoZV9wYWdlcyk7CmRpZmYgLS1naXQgYS9tbS9wYWdlX2FsbG9jLmMgYi9tbS9wYWdlX2FsbG9jLmMKaW5kZXggZjMyZmFlMy4uNzlhYzRhZiAxMDA2NDQKLS0tIGEvbW0vcGFnZV9hbGxvYy5jCisrKyBiL21tL3BhZ2VfYWxsb2MuYwpAQCAtOTE4LDcgKzkxOCw3IEBACiAgKi8KIHZvaWQgZHJhaW5fYWxsX3BhZ2VzKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZHJhaW5fbG9jYWxfcGFnZXMsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KGRyYWluX2xvY2FsX3BhZ2VzLCBOVUxMLCAxKTsKIH0KIAogI2lmZGVmIENPTkZJR19ISUJFUk5BVElPTgpAQCAtMjkyOSw2ICsyOTI5LDE4IEBACiAJfQogfQogCit2b2lkIF9faW5pdCB3b3JrX3dpdGhfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgd29ya19mbl90IHdvcmtfZm4sIHZvaWQgKmRhdGEpCit7CisJaW50IGk7CisJaW50IHJldDsKKworCWZvcl9lYWNoX2FjdGl2ZV9yYW5nZV9pbmRleF9pbl9uaWQoaSwgbmlkKSB7CisJCXJldCA9IHdvcmtfZm4oZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuLAorCQkJICAgICAgZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiwgZGF0YSk7CisJCWlmIChyZXQpCisJCQlicmVhazsKKwl9Cit9CiAvKioKICAqIHNwYXJzZV9tZW1vcnlfcHJlc2VudF93aXRoX2FjdGl2ZV9yZWdpb25zIC0gQ2FsbCBtZW1vcnlfcHJlc2VudCBmb3IgZWFjaCBhY3RpdmUgcmFuZ2UKICAqIEBuaWQ6IFRoZSBub2RlIHRvIGNhbGwgbWVtb3J5X3ByZXNlbnQgZm9yLiBJZiBNQVhfTlVNTk9ERVMsIGFsbCBub2RlcyB3aWxsIGJlIHVzZWQuCkBAIC0zNDYxLDYgKzM0NzMsMTEgQEAKIAljYWxjdWxhdGVfbm9kZV90b3RhbHBhZ2VzKHBnZGF0LCB6b25lc19zaXplLCB6aG9sZXNfc2l6ZSk7CiAKIAlhbGxvY19ub2RlX21lbV9tYXAocGdkYXQpOworI2lmZGVmIENPTkZJR19GTEFUX05PREVfTUVNX01BUAorCXByaW50ayhLRVJOX0RFQlVHICJmcmVlX2FyZWFfaW5pdF9ub2RlOiBub2RlICVkLCBwZ2RhdCAlMDhseCwgbm9kZV9tZW1fbWFwICUwOGx4XG4iLAorCQluaWQsICh1bnNpZ25lZCBsb25nKXBnZGF0LAorCQkodW5zaWduZWQgbG9uZylwZ2RhdC0+bm9kZV9tZW1fbWFwKTsKKyNlbmRpZgogCiAJZnJlZV9hcmVhX2luaXRfY29yZShwZ2RhdCwgem9uZXNfc2l6ZSwgemhvbGVzX3NpemUpOwogfQpAQCAtMzUwMyw3ICszNTIwLDcgQEAKIHsKIAlpbnQgaTsKIAotCXByaW50ayhLRVJOX0RFQlVHICJFbnRlcmluZyBhZGRfYWN0aXZlX3JhbmdlKCVkLCAlbHUsICVsdSkgIgorCXByaW50ayhLRVJOX0RFQlVHICJFbnRlcmluZyBhZGRfYWN0aXZlX3JhbmdlKCVkLCAlI2x4LCAlI2x4KSAiCiAJCQkgICIlZCBlbnRyaWVzIG9mICVkIHVzZWRcbiIsCiAJCQkgIG5pZCwgc3RhcnRfcGZuLCBlbmRfcGZuLAogCQkJICBucl9ub2RlbWFwX2VudHJpZXMsIE1BWF9BQ1RJVkVfUkVHSU9OUyk7CkBAIC0zNTQ3LDI3ICszNTY0LDY4IEBACiB9CiAKIC8qKgotICogc2hyaW5rX2FjdGl2ZV9yYW5nZSAtIFNocmluayBhbiBleGlzdGluZyByZWdpc3RlcmVkIHJhbmdlIG9mIFBGTnMKKyAqIHJlbW92ZV9hY3RpdmVfcmFuZ2UgLSBTaHJpbmsgYW4gZXhpc3RpbmcgcmVnaXN0ZXJlZCByYW5nZSBvZiBQRk5zCiAgKiBAbmlkOiBUaGUgbm9kZSBpZCB0aGUgcmFuZ2UgaXMgb24gdGhhdCBzaG91bGQgYmUgc2hydW5rCi0gKiBAb2xkX2VuZF9wZm46IFRoZSBvbGQgZW5kIFBGTiBvZiB0aGUgcmFuZ2UKLSAqIEBuZXdfZW5kX3BmbjogVGhlIG5ldyBQRk4gb2YgdGhlIHJhbmdlCisgKiBAc3RhcnRfcGZuOiBUaGUgbmV3IFBGTiBvZiB0aGUgcmFuZ2UKKyAqIEBlbmRfcGZuOiBUaGUgbmV3IFBGTiBvZiB0aGUgcmFuZ2UKICAqCiAgKiBpMzg2IHdpdGggTlVNQSB1c2UgYWxsb2NfcmVtYXAoKSB0byBzdG9yZSBhIG5vZGVfbWVtX21hcCBvbiBhIGxvY2FsIG5vZGUuCi0gKiBUaGUgbWFwIGlzIGtlcHQgYXQgdGhlIGVuZCBwaHlzaWNhbCBwYWdlIHJhbmdlIHRoYXQgaGFzIGFscmVhZHkgYmVlbgotICogcmVnaXN0ZXJlZCB3aXRoIGFkZF9hY3RpdmVfcmFuZ2UoKS4gVGhpcyBmdW5jdGlvbiBhbGxvd3MgYW4gYXJjaCB0byBzaHJpbmsKLSAqIGFuIGV4aXN0aW5nIHJlZ2lzdGVyZWQgcmFuZ2UuCisgKiBUaGUgbWFwIGlzIGtlcHQgbmVhciB0aGUgZW5kIHBoeXNpY2FsIHBhZ2UgcmFuZ2UgdGhhdCBoYXMgYWxyZWFkeSBiZWVuCisgKiByZWdpc3RlcmVkLiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBhbiBhcmNoIHRvIHNocmluayBhbiBleGlzdGluZyByZWdpc3RlcmVkCisgKiByYW5nZS4KICAqLwotdm9pZCBfX2luaXQgc2hyaW5rX2FjdGl2ZV9yYW5nZSh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIG9sZF9lbmRfcGZuLAotCQkJCQkJdW5zaWduZWQgbG9uZyBuZXdfZW5kX3BmbikKK3ZvaWQgX19pbml0IHJlbW92ZV9hY3RpdmVfcmFuZ2UodW5zaWduZWQgaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKQogewotCWludCBpOworCWludCBpLCBqOworCWludCByZW1vdmVkID0gMDsKKworCXByaW50ayhLRVJOX0RFQlVHICJyZW1vdmVfYWN0aXZlX3JhbmdlICglZCwgJWx1LCAlbHUpXG4iLAorCQkJICBuaWQsIHN0YXJ0X3BmbiwgZW5kX3Bmbik7CiAKIAkvKiBGaW5kIHRoZSBvbGQgYWN0aXZlIHJlZ2lvbiBlbmQgYW5kIHNocmluayAqLwotCWZvcl9lYWNoX2FjdGl2ZV9yYW5nZV9pbmRleF9pbl9uaWQoaSwgbmlkKQotCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA9PSBvbGRfZW5kX3BmbikgewotCQkJZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA9IG5ld19lbmRfcGZuOwotCQkJYnJlYWs7CisJZm9yX2VhY2hfYWN0aXZlX3JhbmdlX2luZGV4X2luX25pZChpLCBuaWQpIHsKKwkJaWYgKGVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA+PSBzdGFydF9wZm4gJiYKKwkJICAgIGVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm4gPD0gZW5kX3BmbikgeworCQkJLyogY2xlYXIgaXQgKi8KKwkJCWVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA9IDA7CisJCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID0gMDsKKwkJCXJlbW92ZWQgPSAxOworCQkJY29udGludWU7CiAJCX0KKwkJaWYgKGVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA8IHN0YXJ0X3BmbiAmJgorCQkgICAgZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA+IHN0YXJ0X3BmbikgeworCQkJdW5zaWduZWQgbG9uZyB0ZW1wX2VuZF9wZm4gPSBlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuOworCQkJZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA9IHN0YXJ0X3BmbjsKKwkJCWlmICh0ZW1wX2VuZF9wZm4gPiBlbmRfcGZuKQorCQkJCWFkZF9hY3RpdmVfcmFuZ2UobmlkLCBlbmRfcGZuLCB0ZW1wX2VuZF9wZm4pOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA+PSBzdGFydF9wZm4gJiYKKwkJICAgIGVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm4gPiBlbmRfcGZuICYmCisJCSAgICBlYXJseV9ub2RlX21hcFtpXS5zdGFydF9wZm4gPCBlbmRfcGZuKSB7CisJCQllYXJseV9ub2RlX21hcFtpXS5zdGFydF9wZm4gPSBlbmRfcGZuOworCQkJY29udGludWU7CisJCX0KKwl9CisKKwlpZiAoIXJlbW92ZWQpCisJCXJldHVybjsKKworCS8qIHJlbW92ZSB0aGUgYmxhbmsgb25lcyAqLworCWZvciAoaSA9IG5yX25vZGVtYXBfZW50cmllcyAtIDE7IGkgPiAwOyBpLS0pIHsKKwkJaWYgKGVhcmx5X25vZGVfbWFwW2ldLm5pZCAhPSBuaWQpCisJCQljb250aW51ZTsKKwkJaWYgKGVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm4pCisJCQljb250aW51ZTsKKwkJLyogd2UgZm91bmQgaXQsIGdldCByaWQgb2YgaXQgKi8KKwkJZm9yIChqID0gaTsgaiA8IG5yX25vZGVtYXBfZW50cmllcyAtIDE7IGorKykKKwkJCW1lbWNweSgmZWFybHlfbm9kZV9tYXBbal0sICZlYXJseV9ub2RlX21hcFtqKzFdLAorCQkJCXNpemVvZihlYXJseV9ub2RlX21hcFtqXSkpOworCQlqID0gbnJfbm9kZW1hcF9lbnRyaWVzIC0gMTsKKwkJbWVtc2V0KCZlYXJseV9ub2RlX21hcFtqXSwgMCwgc2l6ZW9mKGVhcmx5X25vZGVfbWFwW2pdKSk7CisJCW5yX25vZGVtYXBfZW50cmllcy0tOworCX0KIH0KIAogLyoqCkBAIC0zNjExLDcgKzM2NjksNyBAQAogfQogCiAvKiBGaW5kIHRoZSBsb3dlc3QgcGZuIGZvciBhIG5vZGUgKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfbWluX3Bmbl9mb3Jfbm9kZSh1bnNpZ25lZCBsb25nIG5pZCkKK3Vuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfbWluX3Bmbl9mb3Jfbm9kZShpbnQgbmlkKQogewogCWludCBpOwogCXVuc2lnbmVkIGxvbmcgbWluX3BmbiA9IFVMT05HX01BWDsKQEAgLTM2MjIsNyArMzY4MCw3IEBACiAKIAlpZiAobWluX3BmbiA9PSBVTE9OR19NQVgpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORwotCQkJIkNvdWxkIG5vdCBmaW5kIHN0YXJ0X3BmbiBmb3Igbm9kZSAlbHVcbiIsIG5pZCk7CisJCQkiQ291bGQgbm90IGZpbmQgc3RhcnRfcGZuIGZvciBub2RlICVkXG4iLCBuaWQpOwogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTM4NzgsNyArMzkzNiw3IEBACiAJZm9yIChpID0gMDsgaSA8IE1BWF9OUl9aT05FUzsgaSsrKSB7CiAJCWlmIChpID09IFpPTkVfTU9WQUJMRSkKIAkJCWNvbnRpbnVlOwotCQlwcmludGsoIiAgJS04cyAlOGx1IC0+ICU4bHVcbiIsCisJCXByaW50aygiICAlLThzICUwIzEwbHggLT4gJTAjMTBseFxuIiwKIAkJCQl6b25lX25hbWVzW2ldLAogCQkJCWFyY2hfem9uZV9sb3dlc3RfcG9zc2libGVfcGZuW2ldLAogCQkJCWFyY2hfem9uZV9oaWdoZXN0X3Bvc3NpYmxlX3BmbltpXSk7CkBAIC0zODk0LDcgKzM5NTIsNyBAQAogCS8qIFByaW50IG91dCB0aGUgZWFybHlfbm9kZV9tYXBbXSAqLwogCXByaW50aygiZWFybHlfbm9kZV9tYXBbJWRdIGFjdGl2ZSBQRk4gcmFuZ2VzXG4iLCBucl9ub2RlbWFwX2VudHJpZXMpOwogCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlbWFwX2VudHJpZXM7IGkrKykKLQkJcHJpbnRrKCIgICUzZDogJThsdSAtPiAlOGx1XG4iLCBlYXJseV9ub2RlX21hcFtpXS5uaWQsCisJCXByaW50aygiICAlM2Q6ICUwIzEwbHggLT4gJTAjMTBseFxuIiwgZWFybHlfbm9kZV9tYXBbaV0ubmlkLAogCQkJCQkJZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuLAogCQkJCQkJZWFybHlfbm9kZV9tYXBbaV0uZW5kX3Bmbik7CiAKZGlmZiAtLWdpdCBhL21tL3NsYWIuYyBiL21tL3NsYWIuYwppbmRleCAwNDY2MDdmLi4wNTJlN2Q2IDEwMDY0NAotLS0gYS9tbS9zbGFiLmMKKysrIGIvbW0vc2xhYi5jCkBAIC0xOTAxLDE1ICsxOTAxLDcgQEAKICNlbmRpZgogCiAjaWYgREVCVUcKLS8qKgotICogc2xhYl9kZXN0cm95X29ianMgLSBkZXN0cm95IGEgc2xhYiBhbmQgaXRzIG9iamVjdHMKLSAqIEBjYWNoZXA6IGNhY2hlIHBvaW50ZXIgYmVpbmcgZGVzdHJveWVkCi0gKiBAc2xhYnA6IHNsYWIgcG9pbnRlciBiZWluZyBkZXN0cm95ZWQKLSAqCi0gKiBDYWxsIHRoZSByZWdpc3RlcmVkIGRlc3RydWN0b3IgZm9yIGVhY2ggb2JqZWN0IGluIGEgc2xhYiB0aGF0IGlzIGJlaW5nCi0gKiBkZXN0cm95ZWQuCi0gKi8KLXN0YXRpYyB2b2lkIHNsYWJfZGVzdHJveV9vYmpzKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZXAsIHN0cnVjdCBzbGFiICpzbGFicCkKK3N0YXRpYyB2b2lkIHNsYWJfZGVzdHJveV9kZWJ1Z2NoZWNrKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZXAsIHN0cnVjdCBzbGFiICpzbGFicCkKIHsKIAlpbnQgaTsKIAlmb3IgKGkgPSAwOyBpIDwgY2FjaGVwLT5udW07IGkrKykgewpAQCAtMTkzOCw3ICsxOTMwLDcgQEAKIAl9CiB9CiAjZWxzZQotc3RhdGljIHZvaWQgc2xhYl9kZXN0cm95X29ianMoc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlcCwgc3RydWN0IHNsYWIgKnNsYWJwKQorc3RhdGljIHZvaWQgc2xhYl9kZXN0cm95X2RlYnVnY2hlY2soc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlcCwgc3RydWN0IHNsYWIgKnNsYWJwKQogewogfQogI2VuZGlmCkBAIC0xOTU2LDcgKzE5NDgsNyBAQAogewogCXZvaWQgKmFkZHIgPSBzbGFicC0+c19tZW0gLSBzbGFicC0+Y29sb3Vyb2ZmOwogCi0Jc2xhYl9kZXN0cm95X29ianMoY2FjaGVwLCBzbGFicCk7CisJc2xhYl9kZXN0cm95X2RlYnVnY2hlY2soY2FjaGVwLCBzbGFicCk7CiAJaWYgKHVubGlrZWx5KGNhY2hlcC0+ZmxhZ3MgJiBTTEFCX0RFU1RST1lfQllfUkNVKSkgewogCQlzdHJ1Y3Qgc2xhYl9yY3UgKnNsYWJfcmN1OwogCkBAIC0yNDU0LDcgKzI0NDYsNyBAQAogCXN0cnVjdCBrbWVtX2xpc3QzICpsMzsKIAlpbnQgbm9kZTsKIAotCW9uX2VhY2hfY3B1KGRvX2RyYWluLCBjYWNoZXAsIDEsIDEpOworCW9uX2VhY2hfY3B1KGRvX2RyYWluLCBjYWNoZXAsIDEpOwogCWNoZWNrX2lycV9vbigpOwogCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpIHsKIAkJbDMgPSBjYWNoZXAtPm5vZGVsaXN0c1tub2RlXTsKQEAgLTM5MzksNyArMzkzMSw3IEBACiAJfQogCW5ldy0+Y2FjaGVwID0gY2FjaGVwOwogCi0Jb25fZWFjaF9jcHUoZG9fY2N1cGRhdGVfbG9jYWwsICh2b2lkICopbmV3LCAxLCAxKTsKKwlvbl9lYWNoX2NwdShkb19jY3VwZGF0ZV9sb2NhbCwgKHZvaWQgKiluZXcsIDEpOwogCiAJY2hlY2tfaXJxX29uKCk7CiAJY2FjaGVwLT5iYXRjaGNvdW50ID0gYmF0Y2hjb3VudDsKZGlmZiAtLWdpdCBhL21tL3NsdWIuYyBiL21tL3NsdWIuYwppbmRleCAxYTQyN2MwLi4zNWFiMzhhOSAxMDA2NDQKLS0tIGEvbW0vc2x1Yi5jCisrKyBiL21tL3NsdWIuYwpAQCAtNDExLDcgKzQxMSw3IEBACiAJaWYgKGFkZHIpIHsKIAkJcC0+YWRkciA9IGFkZHI7CiAJCXAtPmNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQkJcC0+cGlkID0gY3VycmVudCA/IGN1cnJlbnQtPnBpZCA6IC0xOworCQlwLT5waWQgPSBjdXJyZW50LT5waWQ7CiAJCXAtPndoZW4gPSBqaWZmaWVzOwogCX0gZWxzZQogCQltZW1zZXQocCwgMCwgc2l6ZW9mKHN0cnVjdCB0cmFjaykpOwpAQCAtNDMxLDkgKzQzMSw4IEBACiAJaWYgKCF0LT5hZGRyKQogCQlyZXR1cm47CiAKLQlwcmludGsoS0VSTl9FUlIgIklORk86ICVzIGluICIsIHMpOwotCV9fcHJpbnRfc3ltYm9sKCIlcyIsICh1bnNpZ25lZCBsb25nKXQtPmFkZHIpOwotCXByaW50aygiIGFnZT0lbHUgY3B1PSV1IHBpZD0lZFxuIiwgamlmZmllcyAtIHQtPndoZW4sIHQtPmNwdSwgdC0+cGlkKTsKKwlwcmludGsoS0VSTl9FUlIgIklORk86ICVzIGluICVwUyBhZ2U9JWx1IGNwdT0ldSBwaWQ9JWRcbiIsCisJCXMsIHQtPmFkZHIsIGppZmZpZXMgLSB0LT53aGVuLCB0LT5jcHUsIHQtPnBpZCk7CiB9CiAKIHN0YXRpYyB2b2lkIHByaW50X3RyYWNraW5nKHN0cnVjdCBrbWVtX2NhY2hlICpzLCB2b2lkICpvYmplY3QpCkBAIC0xNDk3LDcgKzE0OTYsNyBAQAogc3RhdGljIHZvaWQgZmx1c2hfYWxsKHN0cnVjdCBrbWVtX2NhY2hlICpzKQogewogI2lmZGVmIENPTkZJR19TTVAKLQlvbl9lYWNoX2NwdShmbHVzaF9jcHVfc2xhYiwgcywgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfY3B1X3NsYWIsIHMsIDEpOwogI2Vsc2UKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCkBAIC0xNjI4LDkgKzE2MjcsMTEgQEAKIAl2b2lkICoqb2JqZWN0OwogCXN0cnVjdCBrbWVtX2NhY2hlX2NwdSAqYzsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGludCBvYmpzaXplOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCWMgPSBnZXRfY3B1X3NsYWIocywgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwlvYmpzaXplID0gYy0+b2Jqc2l6ZTsKIAlpZiAodW5saWtlbHkoIWMtPmZyZWVsaXN0IHx8ICFub2RlX21hdGNoKGMsIG5vZGUpKSkKIAogCQlvYmplY3QgPSBfX3NsYWJfYWxsb2MocywgZ2ZwZmxhZ3MsIG5vZGUsIGFkZHIsIGMpOwpAQCAtMTY0Myw3ICsxNjQ0LDcgQEAKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiAKIAlpZiAodW5saWtlbHkoKGdmcGZsYWdzICYgX19HRlBfWkVSTykgJiYgb2JqZWN0KSkKLQkJbWVtc2V0KG9iamVjdCwgMCwgYy0+b2Jqc2l6ZSk7CisJCW1lbXNldChvYmplY3QsIDAsIG9ianNpemUpOwogCiAJcmV0dXJuIG9iamVjdDsKIH0KQEAgLTI3NjUsNiArMjc2Niw3IEBACiAKIAlwYWdlID0gdmlydF90b19oZWFkX3BhZ2UoeCk7CiAJaWYgKHVubGlrZWx5KCFQYWdlU2xhYihwYWdlKSkpIHsKKwkJQlVHX09OKCFQYWdlQ29tcG91bmQocGFnZSkpOwogCQlwdXRfcGFnZShwYWdlKTsKIAkJcmV0dXJuOwogCX0KZGlmZiAtLWdpdCBhL25ldC84MDIvcHNuYXAuYyBiL25ldC84MDIvcHNuYXAuYwppbmRleCAzMTEyOGNiLi5lYTQ2NDM5IDEwMDY0NAotLS0gYS9uZXQvODAyL3BzbmFwLmMKKysrIGIvbmV0LzgwMi9wc25hcC5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9pbi5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAKIHN0YXRpYyBMSVNUX0hFQUQoc25hcF9saXN0KTsKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0soc25hcF9sb2NrKTsKZGlmZiAtLWdpdCBhL25ldC84MDIxcS92bGFuLmMgYi9uZXQvODAyMXEvdmxhbi5jCmluZGV4IGFiMjIyNWQuLjA4ZjE0ZjYgMTAwNjQ0Ci0tLSBhL25ldC84MDIxcS92bGFuLmMKKysrIGIvbmV0LzgwMjFxL3ZsYW4uYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvaW4uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPG5ldC9wODAyMi5oPgogI2luY2x1ZGUgPG5ldC9hcnAuaD4KICNpbmNsdWRlIDxsaW51eC9ydG5ldGxpbmsuaD4KZGlmZiAtLWdpdCBhL25ldC9icmlkZ2UvYnJfZmRiLmMgYi9uZXQvYnJpZGdlL2JyX2ZkYi5jCmluZGV4IDcyYzU5NzYuLjE0MjA2MGYgMTAwNjQ0Ci0tLSBhL25ldC9icmlkZ2UvYnJfZmRiLmMKKysrIGIvbmV0L2JyaWRnZS9icl9mZGIuYwpAQCAtMTUsNiArMTUsNyBAQAogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVzLmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZGV2aWNlLmg+CmRpZmYgLS1naXQgYS9uZXQvYnJpZGdlL2JyX3N0cC5jIGIvbmV0L2JyaWRnZS9icl9zdHAuYwppbmRleCBlMzgwMzRhLi45ZTk2ZmZjIDEwMDY0NAotLS0gYS9uZXQvYnJpZGdlL2JyX3N0cC5jCisrKyBiL25ldC9icmlkZ2UvYnJfc3RwLmMKQEAgLTEzLDYgKzEzLDcgQEAKICAqCTIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKi8KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAKICNpbmNsdWRlICJicl9wcml2YXRlLmgiCiAjaW5jbHVkZSAiYnJfcHJpdmF0ZV9zdHAuaCIKZGlmZiAtLWdpdCBhL25ldC9jb3JlL2Rldi5jIGIvbmV0L2NvcmUvZGV2LmMKaW5kZXggZmNhMjNhMy4uODIxY2IxNiAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrIGIvbmV0L2NvcmUvZGV2LmMKQEAgLTQ1ODUsOCArNDU4NSw4IEBACiAKIAlkZXZfYm9vdF9waGFzZSA9IDA7CiAKLQlvcGVuX3NvZnRpcnEoTkVUX1RYX1NPRlRJUlEsIG5ldF90eF9hY3Rpb24sIE5VTEwpOwotCW9wZW5fc29mdGlycShORVRfUlhfU09GVElSUSwgbmV0X3J4X2FjdGlvbiwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKE5FVF9UWF9TT0ZUSVJRLCBuZXRfdHhfYWN0aW9uKTsKKwlvcGVuX3NvZnRpcnEoTkVUX1JYX1NPRlRJUlEsIG5ldF9yeF9hY3Rpb24pOwogCiAJaG90Y3B1X25vdGlmaWVyKGRldl9jcHVfY2FsbGJhY2ssIDApOwogCWRzdF9pbml0KCk7CmRpZmYgLS1naXQgYS9uZXQvY29yZS9mbG93LmMgYi9uZXQvY29yZS9mbG93LmMKaW5kZXggMTk5OTExNy4uNWNmODEwNSAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZmxvdy5jCisrKyBiL25ldC9jb3JlL2Zsb3cuYwpAQCAtMjk4LDcgKzI5OCw3IEBACiAJaW5pdF9jb21wbGV0aW9uKCZpbmZvLmNvbXBsZXRpb24pOwogCiAJbG9jYWxfYmhfZGlzYWJsZSgpOwotCXNtcF9jYWxsX2Z1bmN0aW9uKGZsb3dfY2FjaGVfZmx1c2hfcGVyX2NwdSwgJmluZm8sIDEsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKGZsb3dfY2FjaGVfZmx1c2hfcGVyX2NwdSwgJmluZm8sIDApOwogCWZsb3dfY2FjaGVfZmx1c2hfdGFza2xldCgodW5zaWduZWQgbG9uZykmaW5mbyk7CiAJbG9jYWxfYmhfZW5hYmxlKCk7CiAKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2ZpYl90cmllLmMgYi9uZXQvaXB2NC9maWJfdHJpZS5jCmluZGV4IDRiMDJkMTQuLmUxNjAwYWQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2ZpYl90cmllLmMKKysrIGIvbmV0L2lwdjQvZmliX3RyaWUuYwpAQCAtMTM1OSwxNyArMTM1OSwxNyBAQAogCQkJdC0+c3RhdHMuc2VtYW50aWNfbWF0Y2hfbWlzcysrOwogI2VuZGlmCiAJCWlmIChlcnIgPD0gMCkKLQkJCXJldHVybiBwbGVuOworCQkJcmV0dXJuIGVycjsKIAl9CiAKLQlyZXR1cm4gLTE7CisJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBpbnQgZm5fdHJpZV9sb29rdXAoc3RydWN0IGZpYl90YWJsZSAqdGIsIGNvbnN0IHN0cnVjdCBmbG93aSAqZmxwLAogCQkJICBzdHJ1Y3QgZmliX3Jlc3VsdCAqcmVzKQogewogCXN0cnVjdCB0cmllICp0ID0gKHN0cnVjdCB0cmllICopIHRiLT50Yl9kYXRhOwotCWludCBwbGVuLCByZXQgPSAwOworCWludCByZXQ7CiAJc3RydWN0IG5vZGUgKm47CiAJc3RydWN0IHRub2RlICpwbjsKIAlpbnQgcG9zLCBiaXRzOwpAQCAtMTM5MywxMCArMTM5Myw3IEBACiAKIAkvKiBKdXN0IGEgbGVhZj8gKi8KIAlpZiAoSVNfTEVBRihuKSkgewotCQlwbGVuID0gY2hlY2tfbGVhZih0LCAoc3RydWN0IGxlYWYgKiluLCBrZXksIGZscCwgcmVzKTsKLQkJaWYgKHBsZW4gPCAwKQotCQkJZ290byBmYWlsZWQ7Ci0JCXJldCA9IDA7CisJCXJldCA9IGNoZWNrX2xlYWYodCwgKHN0cnVjdCBsZWFmICopbiwga2V5LCBmbHAsIHJlcyk7CiAJCWdvdG8gZm91bmQ7CiAJfQogCkBAIC0xNDIxLDExICsxNDE4LDkgQEAKIAkJfQogCiAJCWlmIChJU19MRUFGKG4pKSB7Ci0JCQlwbGVuID0gY2hlY2tfbGVhZih0LCAoc3RydWN0IGxlYWYgKiluLCBrZXksIGZscCwgcmVzKTsKLQkJCWlmIChwbGVuIDwgMCkKKwkJCXJldCA9IGNoZWNrX2xlYWYodCwgKHN0cnVjdCBsZWFmICopbiwga2V5LCBmbHAsIHJlcyk7CisJCQlpZiAocmV0ID4gMCkKIAkJCQlnb3RvIGJhY2t0cmFjZTsKLQotCQkJcmV0ID0gMDsKIAkJCWdvdG8gZm91bmQ7CiAJCX0KIApkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvbmV0ZmlsdGVyL25mX25hdF9zbm1wX2Jhc2ljLmMgYi9uZXQvaXB2NC9uZXRmaWx0ZXIvbmZfbmF0X3NubXBfYmFzaWMuYwppbmRleCA3NzUwYzk3Li5mZmVhZmZjIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9uZXRmaWx0ZXIvbmZfbmF0X3NubXBfYmFzaWMuYworKysgYi9uZXQvaXB2NC9uZXRmaWx0ZXIvbmZfbmF0X3NubXBfYmFzaWMuYwpAQCAtNDM5LDggKzQzOSw4IEBACiAJCQkJICAgICB1bnNpZ25lZCBpbnQgKmxlbikKIHsKIAl1bnNpZ25lZCBsb25nIHN1YmlkOwotCXVuc2lnbmVkIGludCAgc2l6ZTsKIAl1bnNpZ25lZCBsb25nICpvcHRyOworCXNpemVfdCBzaXplOwogCiAJc2l6ZSA9IGVvYyAtIGN0eC0+cG9pbnRlciArIDE7CiAKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcF9wcm9iZS5jIGIvbmV0L2lwdjQvdGNwX3Byb2JlLmMKaW5kZXggNWZmMGNlNi4uN2RkYzMwZiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX3Byb2JlLmMKKysrIGIvbmV0L2lwdjQvdGNwX3Byb2JlLmMKQEAgLTIyNCw3ICsyMjQsNyBAQAogCWlmIChidWZzaXplIDwgMCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQl0Y3BfcHJvYmUubG9nID0ga2NhbGxvYyhzaXplb2Yoc3RydWN0IHRjcF9sb2cpLCBidWZzaXplLCBHRlBfS0VSTkVMKTsKKwl0Y3BfcHJvYmUubG9nID0ga2NhbGxvYyhidWZzaXplLCBzaXplb2Yoc3RydWN0IHRjcF9sb2cpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXRjcF9wcm9iZS5sb2cpCiAJCWdvdG8gZXJyMDsKIApkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvYWRkcmNvbmYuYyBiL25ldC9pcHY2L2FkZHJjb25mLmMKaW5kZXggMTQ3NTg4Zi4uZmY2MWE1YyAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvYWRkcmNvbmYuYworKysgYi9uZXQvaXB2Ni9hZGRyY29uZi5jCkBAIC03NDksMTIgKzc0OSwxMiBAQAogCX0KIAl3cml0ZV91bmxvY2tfYmgoJmlkZXYtPmxvY2spOwogCisJYWRkcmNvbmZfZGVsX3RpbWVyKGlmcCk7CisKIAlpcHY2X2lmYV9ub3RpZnkoUlRNX0RFTEFERFIsIGlmcCk7CiAKIAlhdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbigmaW5ldDZhZGRyX2NoYWluLCBORVRERVZfRE9XTiwgaWZwKTsKIAotCWFkZHJjb25mX2RlbF90aW1lcihpZnApOwotCiAJLyoKIAkgKiBQdXJnZSBvciB1cGRhdGUgY29ycmVzcG9uZGluZyBwcmVmaXgKIAkgKgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvZXh0aGRycy5jIGIvbmV0L2lwdjYvZXh0aGRycy5jCmluZGV4IDNjZDFjOTkuLmRjZjk0ZmQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2V4dGhkcnMuYworKysgYi9uZXQvaXB2Ni9leHRoZHJzLmMKQEAgLTQ0NSw3ICs0NDUsNyBAQAogCQkJa2ZyZWVfc2tiKHNrYik7CiAJCQlyZXR1cm4gLTE7CiAJCX0KLQkJaWYgKCFpcHY2X2Noa19ob21lX2FkZHIoJmluaXRfbmV0LCBhZGRyKSkgeworCQlpZiAoIWlwdjZfY2hrX2hvbWVfYWRkcihkZXZfbmV0KHNrYi0+ZHN0LT5kZXYpLCBhZGRyKSkgewogCQkJSVA2X0lOQ19TVEFUU19CSChpcDZfZHN0X2lkZXYoc2tiLT5kc3QpLAogCQkJCQkgSVBTVEFUU19NSUJfSU5BRERSRVJST1JTKTsKIAkJCWtmcmVlX3NrYihza2IpOwpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJuZXQvaXJuZXQuaCBiL25ldC9pcmRhL2lybmV0L2lybmV0LmgKaW5kZXggYjAwMWMzNi4uYmNjZjRkMCAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJuZXQvaXJuZXQuaAorKysgYi9uZXQvaXJkYS9pcm5ldC9pcm5ldC5oCkBAIC0yNDEsNiArMjQxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CiAjaW5jbHVkZSA8bGludXgvdHR5Lmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJuZXQvaXJuZXRfcHBwLmMgYi9uZXQvaXJkYS9pcm5ldC9pcm5ldF9wcHAuYwppbmRleCBlMGVhYjU5Li5lODRhNzBkIDEwMDY0NAotLS0gYS9uZXQvaXJkYS9pcm5ldC9pcm5ldF9wcHAuYworKysgYi9uZXQvaXJkYS9pcm5ldC9pcm5ldF9wcHAuYwpAQCAtNDc5LDYgKzQ3OSw3IEBACiAgIGFwID0ga3phbGxvYyhzaXplb2YoKmFwKSwgR0ZQX0tFUk5FTCk7CiAgIERBQk9SVChhcCA9PSBOVUxMLCAtRU5PTUVNLCBGU19FUlJPUiwgIkNhbid0IGFsbG9jYXRlIHN0cnVjdCBpcm5ldC4uLlxuIik7CiAKKyAgbG9ja19rZXJuZWwoKTsKICAgLyogaW5pdGlhbGl6ZSB0aGUgaXJuZXQgc3RydWN0dXJlICovCiAgIGFwLT5maWxlID0gZmlsZTsKIApAQCAtNTAwLDYgKzUwMSw3IEBACiAgICAgewogICAgICAgREVSUk9SKEZTX0VSUk9SLCAiQ2FuJ3Qgc2V0dXAgSXJEQSBsaW5rLi4uXG4iKTsKICAgICAgIGtmcmVlKGFwKTsKKyAgICAgIHVubG9ja19rZXJuZWwoKTsKICAgICAgIHJldHVybiBlcnI7CiAgICAgfQogCkBAIC01MTAsNiArNTEyLDcgQEAKICAgZmlsZS0+cHJpdmF0ZV9kYXRhID0gYXA7CiAKICAgREVYSVQoRlNfVFJBQ0UsICIgLSBhcD0weCVwXG4iLCBhcCk7CisgIHVubG9ja19rZXJuZWwoKTsKICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lybmV0bGluay5jIGIvbmV0L2lyZGEvaXJuZXRsaW5rLmMKaW5kZXggOWUxZmI4Mi4uMmYwNWVjMSAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJuZXRsaW5rLmMKKysrIGIvbmV0L2lyZGEvaXJuZXRsaW5rLmMKQEAgLTEwMSw4ICsxMDEsOCBAQAogCiAJaGRyID0gZ2VubG1zZ19wdXQobXNnLCBpbmZvLT5zbmRfcGlkLCBpbmZvLT5zbmRfc2VxLAogCQkJICAmaXJkYV9ubF9mYW1pbHksIDAsICBJUkRBX05MX0NNRF9HRVRfTU9ERSk7Ci0JaWYgKElTX0VSUihoZHIpKSB7Ci0JCXJldCA9IFBUUl9FUlIoaGRyKTsKKwlpZiAoaGRyID09IE5VTEwpIHsKKwkJcmV0ID0gLUVNU0dTSVpFOwogCQlnb3RvIGVycl9vdXQ7CiAJfQogCmRpZmYgLS1naXQgYS9uZXQvaXVjdi9hZl9pdWN2LmMgYi9uZXQvaXVjdi9hZl9pdWN2LmMKaW5kZXggN2IwMDM4Zi4uYmRhNzEwMSAxMDA2NDQKLS0tIGEvbmV0L2l1Y3YvYWZfaXVjdi5jCisrKyBiL25ldC9pdWN2L2FmX2l1Y3YuYwpAQCAtMTEzNSw4ICsxMTM1LDcgQEAKIAkJaWYgKHRoaXMpCiAJCQlrZnJlZV9za2IodGhpcyk7CiAJfQotCWlmICghdGhpcykKLQkJcHJpbnRrKEtFUk5fRVJSICJBRl9JVUNWIG1zZyB0YWcgJXUgbm90IGZvdW5kXG4iLCBtc2ctPnRhZyk7CisJQlVHX09OKCF0aGlzKTsKIAogCWlmIChzay0+c2tfc3RhdGUgPT0gSVVDVl9DTE9TSU5HKSB7CiAJCWlmIChza2JfcXVldWVfZW1wdHkoJml1Y3Zfc2soc2spLT5zZW5kX3NrYl9xKSkgewpAQCAtMTE5Niw3ICsxMTk1LDcgQEAKIAl9CiAJY3BjbWQoIlFVRVJZIFVTRVJJRCIsIGl1Y3ZfdXNlcmlkLCBzaXplb2YoaXVjdl91c2VyaWQpLCAmZXJyKTsKIAlpZiAodW5saWtlbHkoZXJyKSkgewotCQlwcmludGsoS0VSTl9FUlIgIkFGX0lVQ1YgbmVlZHMgdGhlIFZNIHVzZXJpZFxuIik7CisJCVdBUk5fT04oZXJyKTsKIAkJZXJyID0gLUVQUk9UT05PU1VQUE9SVDsKIAkJZ290byBvdXQ7CiAJfQpAQCAtMTIxMCw3ICsxMjA5LDYgQEAKIAllcnIgPSBzb2NrX3JlZ2lzdGVyKCZpdWN2X3NvY2tfZmFtaWx5X29wcyk7CiAJaWYgKGVycikKIAkJZ290byBvdXRfcHJvdG87Ci0JcHJpbnRrKEtFUk5fSU5GTyAiQUZfSVVDViBsb3dsZXZlbCBkcml2ZXIgaW5pdGlhbGl6ZWRcbiIpOwogCXJldHVybiAwOwogCiBvdXRfcHJvdG86CkBAIC0xMjI2LDggKzEyMjQsNiBAQAogCXNvY2tfdW5yZWdpc3RlcihQRl9JVUNWKTsKIAlwcm90b191bnJlZ2lzdGVyKCZpdWN2X3Byb3RvKTsKIAlpdWN2X3VucmVnaXN0ZXIoJmFmX2l1Y3ZfaGFuZGxlciwgMCk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJBRl9JVUNWIGxvd2xldmVsIGRyaXZlciB1bmxvYWRlZFxuIik7CiB9CiAKIG1vZHVsZV9pbml0KGFmaXVjdl9pbml0KTsKZGlmZiAtLWdpdCBhL25ldC9pdWN2L2l1Y3YuYyBiL25ldC9pdWN2L2l1Y3YuYwppbmRleCA5MTg5NzA3Li5jYzM0YWM3IDEwMDY0NAotLS0gYS9uZXQvaXVjdi9pdWN2LmMKKysrIGIvbmV0L2l1Y3YvaXVjdi5jCkBAIC00ODAsNyArNDgwLDcgQEAKIAkJaWYgKGNwdV9pc3NldChjcHUsIGl1Y3ZfYnVmZmVyX2NwdW1hc2spICYmCiAJCSAgICAhY3B1X2lzc2V0KGNwdSwgaXVjdl9pcnFfY3B1bWFzaykpCiAJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X2FsbG93X2NwdSwKLQkJCQkJCSBOVUxMLCAwLCAxKTsKKwkJCQkJCSBOVUxMLCAxKTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogfQogCkBAIC00OTgsNyArNDk4LDcgQEAKIAljcHVtYXNrID0gaXVjdl9pcnFfY3B1bWFzazsKIAljcHVfY2xlYXIoZmlyc3RfY3B1KGl1Y3ZfaXJxX2NwdW1hc2spLCBjcHVtYXNrKTsKIAlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIGNwdW1hc2spCi0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfYmxvY2tfY3B1LCBOVUxMLCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaXVjdl9ibG9ja19jcHUsIE5VTEwsIDEpOwogfQogCiAvKioKQEAgLTUyMyw3ICs1MjMsNyBAQAogCXJjID0gLUVJTzsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaXVjdl9kZWNsYXJlX2NwdSwgTlVMTCwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfZGVjbGFyZV9jcHUsIE5VTEwsIDEpOwogCXByZWVtcHRfZW5hYmxlKCk7CiAJaWYgKGNwdXNfZW1wdHkoaXVjdl9idWZmZXJfY3B1bWFzaykpCiAJCS8qIE5vIGNwdSBjb3VsZCBkZWNsYXJlIGFuIGl1Y3YgYnVmZmVyLiAqLwpAQCAtNTQ1LDcgKzU0NSw3IEBACiAgKi8KIHN0YXRpYyB2b2lkIGl1Y3ZfZGlzYWJsZSh2b2lkKQogewotCW9uX2VhY2hfY3B1KGl1Y3ZfcmV0cmlldmVfY3B1LCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShpdWN2X3JldHJpZXZlX2NwdSwgTlVMTCwgMSk7CiAJa2ZyZWUoaXVjdl9wYXRoX3RhYmxlKTsKIH0KIApAQCAtNTgwLDcgKzU4MCw3IEBACiAJY2FzZSBDUFVfT05MSU5FX0ZST1pFTjoKIAljYXNlIENQVV9ET1dOX0ZBSUxFRDoKIAljYXNlIENQVV9ET1dOX0ZBSUxFRF9GUk9aRU46Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfZGVjbGFyZV9jcHUsIE5VTEwsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X2RlY2xhcmVfY3B1LCBOVUxMLCAxKTsKIAkJYnJlYWs7CiAJY2FzZSBDUFVfRE9XTl9QUkVQQVJFOgogCWNhc2UgQ1BVX0RPV05fUFJFUEFSRV9GUk9aRU46CkBAIC01ODksMTAgKzU4OSwxMCBAQAogCQlpZiAoY3B1c19lbXB0eShjcHVtYXNrKSkKIAkJCS8qIENhbid0IG9mZmxpbmUgbGFzdCBJVUNWIGVuYWJsZWQgY3B1LiAqLwogCQkJcmV0dXJuIE5PVElGWV9CQUQ7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfcmV0cmlldmVfY3B1LCBOVUxMLCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaXVjdl9yZXRyaWV2ZV9jcHUsIE5VTEwsIDEpOwogCQlpZiAoY3B1c19lbXB0eShpdWN2X2lycV9jcHVtYXNrKSkKIAkJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShmaXJzdF9jcHUoaXVjdl9idWZmZXJfY3B1bWFzayksCi0JCQkJCQkgaXVjdl9hbGxvd19jcHUsIE5VTEwsIDAsIDEpOworCQkJCQkJIGl1Y3ZfYWxsb3dfY3B1LCBOVUxMLCAxKTsKIAkJYnJlYWs7CiAJfQogCXJldHVybiBOT1RJRllfT0s7CkBAIC02NTIsNyArNjUyLDcgQEAKIAkgKiBwZW5kaW5nIGludGVycnVwdHMgZm9yY2UgdGhlbSB0byB0aGUgd29yayBxdWV1ZSBieSBjYWxsaW5nCiAJICogYW4gZW1wdHkgZnVuY3Rpb24gb24gYWxsIGNwdXMuCiAJICovCi0Jc21wX2NhbGxfZnVuY3Rpb24oX19pdWN2X2NsZWFudXBfcXVldWUsIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKF9faXVjdl9jbGVhbnVwX3F1ZXVlLCBOVUxMLCAxKTsKIAlzcGluX2xvY2tfaXJxKCZpdWN2X3F1ZXVlX2xvY2spOwogCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwLCBuLCAmaXVjdl90YXNrX3F1ZXVlLCBsaXN0KSB7CiAJCS8qIFJlbW92ZSBzdGFsZSB3b3JrIGl0ZW1zIGZyb20gdGhlIHRhc2sgcXVldWUuICovCkBAIC0xNTU5LDE2ICsxNTU5LDExIEBACiAKIAlwID0gaXVjdl9pcnFfZGF0YVtzbXBfcHJvY2Vzc29yX2lkKCldOwogCWlmIChwLT5pcHBhdGhpZCA+PSBpdWN2X21heF9wYXRoaWQpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiaXVjdl9kb19pbnQ6IEdvdCBpbnRlcnJ1cHQgd2l0aCAiCi0JCSAgICAgICAicGF0aGlkICVkID4gbWF4X2Nvbm5lY3Rpb25zICglbGQpXG4iLAotCQkgICAgICAgcC0+aXBwYXRoaWQsIGl1Y3ZfbWF4X3BhdGhpZCAtIDEpOworCQlXQVJOX09OKHAtPmlwcGF0aGlkID49IGl1Y3ZfbWF4X3BhdGhpZCk7CiAJCWl1Y3Zfc2V2ZXJfcGF0aGlkKHAtPmlwcGF0aGlkLCBpdWN2X2Vycm9yX25vX2xpc3RlbmVyKTsKIAkJcmV0dXJuOwogCX0KLQlpZiAocC0+aXB0eXBlICA8IDB4MDEgfHwgcC0+aXB0eXBlID4gMHgwOSkgewotCQlwcmludGsoS0VSTl9FUlIgIml1Y3ZfZG9faW50OiB1bmtub3duIGl1Y3YgaW50ZXJydXB0XG4iKTsKLQkJcmV0dXJuOwotCX0KKwlCVUdfT04ocC0+aXB0eXBlICA8IDB4MDEgfHwgcC0+aXB0eXBlID4gMHgwOSk7CiAJd29yayA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBpdWN2X2lycV9saXN0KSwgR0ZQX0FUT01JQyk7CiAJaWYgKCF3b3JrKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIml1Y3ZfZXh0ZXJuYWxfaW50ZXJydXB0OiBvdXQgb2YgbWVtb3J5XG4iKTsKZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9tYWluLmMgYi9uZXQvbWFjODAyMTEvbWFpbi5jCmluZGV4IDk4YzBiNWUuLmRmMDgzNmYgMTAwNjQ0Ci0tLSBhL25ldC9tYWM4MDIxMS9tYWluLmMKKysrIGIvbmV0L21hYzgwMjExL21haW4uYwpAQCAtNTMwLDggKzUzMCw2IEBACiAJCQkJbG9jYWwtPnN0YV9od19zY2FubmluZyA9IDA7CiAJCX0KIAotCQlmbHVzaF93b3JrcXVldWUobG9jYWwtPmh3LndvcmtxdWV1ZSk7Ci0KIAkJc2RhdGEtPnUuc3RhLmZsYWdzICY9IH5JRUVFODAyMTFfU1RBX1BSSVZBQ1lfSU5WT0tFRDsKIAkJa2ZyZWUoc2RhdGEtPnUuc3RhLmV4dHJhX2llKTsKIAkJc2RhdGEtPnUuc3RhLmV4dHJhX2llID0gTlVMTDsKQEAgLTU1NSw2ICs1NTMsOCBAQAogCiAJCWllZWU4MDIxMV9sZWRfcmFkaW8obG9jYWwsIDApOwogCisJCWZsdXNoX3dvcmtxdWV1ZShsb2NhbC0+aHcud29ya3F1ZXVlKTsKKwogCQl0YXNrbGV0X2Rpc2FibGUoJmxvY2FsLT50eF9wZW5kaW5nX3Rhc2tsZXQpOwogCQl0YXNrbGV0X2Rpc2FibGUoJmxvY2FsLT50YXNrbGV0KTsKIAl9CmRpZmYgLS1naXQgYS9uZXQvbWFjODAyMTEvbWxtZS5jIGIvbmV0L21hYzgwMjExL21sbWUuYwppbmRleCA0ZDJiNTgyLi5iNDA0NTM3IDEwMDY0NAotLS0gYS9uZXQvbWFjODAyMTEvbWxtZS5jCisrKyBiL25ldC9tYWM4MDIxMS9tbG1lLmMKQEAgLTU0NywxNSArNTQ3LDE0IEBACiAJCQlzZGF0YS0+YnNzX2NvbmYuaHRfYnNzX2NvbmYgPSAmY29uZi0+aHRfYnNzX2NvbmY7CiAJCX0KIAotCQluZXRpZl9jYXJyaWVyX29uKGRldik7CiAJCWlmc3RhLT5mbGFncyB8PSBJRUVFODAyMTFfU1RBX1BSRVZfQlNTSURfU0VUOwogCQltZW1jcHkoaWZzdGEtPnByZXZfYnNzaWQsIHNkYXRhLT51LnN0YS5ic3NpZCwgRVRIX0FMRU4pOwogCQltZW1jcHkod3JxdS5hcF9hZGRyLnNhX2RhdGEsIHNkYXRhLT51LnN0YS5ic3NpZCwgRVRIX0FMRU4pOwogCQlpZWVlODAyMTFfc3RhX3NlbmRfYXNzb2NpbmZvKGRldiwgaWZzdGEpOwogCX0gZWxzZSB7CisJCW5ldGlmX2NhcnJpZXJfb2ZmKGRldik7CiAJCWllZWU4MDIxMV9zdGFfdGVhcl9kb3duX0JBX3Nlc3Npb25zKGRldiwgaWZzdGEtPmJzc2lkKTsKIAkJaWZzdGEtPmZsYWdzICY9IH5JRUVFODAyMTFfU1RBX0FTU09DSUFURUQ7Ci0JCW5ldGlmX2NhcnJpZXJfb2ZmKGRldik7CiAJCWllZWU4MDIxMV9yZXNldF9lcnBfaW5mbyhkZXYpOwogCiAJCXNkYXRhLT5ic3NfY29uZi5hc3NvY19odCA9IDA7CkBAIC01NjksNiArNTY4LDEwIEBACiAKIAlzZGF0YS0+YnNzX2NvbmYuYXNzb2MgPSBhc3NvYzsKIAlpZWVlODAyMTFfYnNzX2luZm9fY2hhbmdlX25vdGlmeShzZGF0YSwgY2hhbmdlZCk7CisKKwlpZiAoYXNzb2MpCisJCW5ldGlmX2NhcnJpZXJfb24oZGV2KTsKKwogCXdycXUuYXBfYWRkci5zYV9mYW1pbHkgPSBBUlBIUkRfRVRIRVI7CiAJd2lyZWxlc3Nfc2VuZF9ldmVudChkZXYsIFNJT0NHSVdBUCwgJndycXUsIE5VTEwpOwogfQpAQCAtMzYxMSw4ICszNjE0LDEwIEBACiAJc3Bpbl91bmxvY2tfYmgoJmxvY2FsLT5zdGFfYnNzX2xvY2spOwogCiAjaWZkZWYgQ09ORklHX01BQzgwMjExX0lCU1NfREVCVUcKLQlwcmludGsoS0VSTl9ERUJVRyAiICAgc3RhX2ZpbmRfaWJzczogc2VsZWN0ZWQgJXMgY3VycmVudCAiCi0JICAgICAgICIlc1xuIiwgcHJpbnRfbWFjKG1hYywgYnNzaWQpLCBwcmludF9tYWMobWFjMiwgaWZzdGEtPmJzc2lkKSk7CisJaWYgKGZvdW5kKQorCQlwcmludGsoS0VSTl9ERUJVRyAiICAgc3RhX2ZpbmRfaWJzczogc2VsZWN0ZWQgJXMgY3VycmVudCAiCisJCSAgICAgICAiJXNcbiIsIHByaW50X21hYyhtYWMsIGJzc2lkKSwKKwkJICAgICAgIHByaW50X21hYyhtYWMyLCBpZnN0YS0+YnNzaWQpKTsKICNlbmRpZiAvKiBDT05GSUdfTUFDODAyMTFfSUJTU19ERUJVRyAqLwogCWlmIChmb3VuZCAmJiBtZW1jbXAoaWZzdGEtPmJzc2lkLCBic3NpZCwgRVRIX0FMRU4pICE9IDAgJiYKIAkgICAgKGJzcyA9IGllZWU4MDIxMV9yeF9ic3NfZ2V0KGRldiwgYnNzaWQsCmRpZmYgLS1naXQgYS9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWQuaCBiL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZC5oCmluZGV4IDA0YWZjMTMuLjRlYTdiOTcgMTAwNjQ0Ci0tLSBhL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZC5oCisrKyBiL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZC5oCkBAIC0xNDEsNyArMTQxLDYgQEAKICAqCXJhdGUgYmVoYXZpb3VyIHZhbHVlcyAobG93ZXIgbWVhbnMgd2Ugc2hvdWxkIHRydXN0IG1vcmUgd2hhdCB3ZSBsZWFybnQKICAqCWFib3V0IGJlaGF2aW91ciBvZiByYXRlcywgaGlnaGVyIG1lYW5zIHdlIHNob3VsZCB0cnVzdCBtb3JlIHRoZSBuYXR1cmFsCiAgKglvcmRlcmluZyBvZiByYXRlcykKLSAqIEBmYXN0X3N0YXJ0OiBpZiBZLCBwdXNoIGhpZ2ggcmF0ZXMgcmlnaHQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24KICAqLwogc3RydWN0IHJjX3BpZF9kZWJ1Z2ZzX2VudHJpZXMgewogCXN0cnVjdCBkZW50cnkgKmRpcjsKQEAgLTE1NCw3ICsxNTMsNiBAQAogCXN0cnVjdCBkZW50cnkgKnNoYXJwZW5fZmFjdG9yOwogCXN0cnVjdCBkZW50cnkgKnNoYXJwZW5fZHVyYXRpb247CiAJc3RydWN0IGRlbnRyeSAqbm9ybV9vZmZzZXQ7Ci0Jc3RydWN0IGRlbnRyeSAqZmFzdF9zdGFydDsKIH07CiAKIHZvaWQgcmF0ZV9jb250cm9sX3BpZF9ldmVudF90eF9zdGF0dXMoc3RydWN0IHJjX3BpZF9ldmVudF9idWZmZXIgKmJ1ZiwKQEAgLTI2Nyw5ICsyNjUsNiBAQAogCS8qIE5vcm1hbGl6YXRpb24gb2Zmc2V0LiAqLwogCXVuc2lnbmVkIGludCBub3JtX29mZnNldDsKIAotCS8qIEZhc3Qgc3RhcnN0IHBhcmFtZXRlci4gKi8KLQl1bnNpZ25lZCBpbnQgZmFzdF9zdGFydDsKLQogCS8qIFJhdGVzIGluZm9ybWF0aW9uLiAqLwogCXN0cnVjdCByY19waWRfcmF0ZWluZm8gKnJpbmZvOwogCmRpZmYgLS1naXQgYS9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWRfYWxnby5jIGIvbmV0L21hYzgwMjExL3JjODAyMTFfcGlkX2FsZ28uYwppbmRleCBhODQ5Yjc0Li5iY2QyN2MxIDEwMDY0NAotLS0gYS9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWRfYWxnby5jCisrKyBiL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZF9hbGdvLmMKQEAgLTM5OCwxMyArMzk4LDI1IEBACiAJCXJldHVybiBOVUxMOwogCX0KIAorCXBpbmZvLT50YXJnZXQgPSBSQ19QSURfVEFSR0VUX1BGOworCXBpbmZvLT5zYW1wbGluZ19wZXJpb2QgPSBSQ19QSURfSU5URVJWQUw7CisJcGluZm8tPmNvZWZmX3AgPSBSQ19QSURfQ09FRkZfUDsKKwlwaW5mby0+Y29lZmZfaSA9IFJDX1BJRF9DT0VGRl9JOworCXBpbmZvLT5jb2VmZl9kID0gUkNfUElEX0NPRUZGX0Q7CisJcGluZm8tPnNtb290aGluZ19zaGlmdCA9IFJDX1BJRF9TTU9PVEhJTkdfU0hJRlQ7CisJcGluZm8tPnNoYXJwZW5fZmFjdG9yID0gUkNfUElEX1NIQVJQRU5JTkdfRkFDVE9SOworCXBpbmZvLT5zaGFycGVuX2R1cmF0aW9uID0gUkNfUElEX1NIQVJQRU5JTkdfRFVSQVRJT047CisJcGluZm8tPm5vcm1fb2Zmc2V0ID0gUkNfUElEX05PUk1fT0ZGU0VUOworCXBpbmZvLT5yaW5mbyA9IHJpbmZvOworCXBpbmZvLT5vbGRyYXRlID0gMDsKKwogCS8qIFNvcnQgdGhlIHJhdGVzLiBUaGlzIGlzIG9wdGltaXplZCBmb3IgdGhlIG1vc3QgY29tbW9uIGNhc2UgKGkuZS4KIAkgKiBhbG1vc3Qtc29ydGVkIENDSytPRkRNIHJhdGVzKS4gS2luZCBvZiBidWJibGUtc29ydCB3aXRoIHJldmVyc2VkCiAJICogbWFwcGluZyB0b28uICovCiAJZm9yIChpID0gMDsgaSA8IHNiYW5kLT5uX2JpdHJhdGVzOyBpKyspIHsKIAkJcmluZm9baV0uaW5kZXggPSBpOwogCQlyaW5mb1tpXS5yZXZfaW5kZXggPSBpOwotCQlpZiAocGluZm8tPmZhc3Rfc3RhcnQpCisJCWlmIChSQ19QSURfRkFTVF9TVEFSVCkKIAkJCXJpbmZvW2ldLmRpZmYgPSAwOwogCQllbHNlCiAJCQlyaW5mb1tpXS5kaWZmID0gaSAqIHBpbmZvLT5ub3JtX29mZnNldDsKQEAgLTQyNSwxOSArNDM3LDYgQEAKIAkJCWJyZWFrOwogCX0KIAotCXBpbmZvLT50YXJnZXQgPSBSQ19QSURfVEFSR0VUX1BGOwotCXBpbmZvLT5zYW1wbGluZ19wZXJpb2QgPSBSQ19QSURfSU5URVJWQUw7Ci0JcGluZm8tPmNvZWZmX3AgPSBSQ19QSURfQ09FRkZfUDsKLQlwaW5mby0+Y29lZmZfaSA9IFJDX1BJRF9DT0VGRl9JOwotCXBpbmZvLT5jb2VmZl9kID0gUkNfUElEX0NPRUZGX0Q7Ci0JcGluZm8tPnNtb290aGluZ19zaGlmdCA9IFJDX1BJRF9TTU9PVEhJTkdfU0hJRlQ7Ci0JcGluZm8tPnNoYXJwZW5fZmFjdG9yID0gUkNfUElEX1NIQVJQRU5JTkdfRkFDVE9SOwotCXBpbmZvLT5zaGFycGVuX2R1cmF0aW9uID0gUkNfUElEX1NIQVJQRU5JTkdfRFVSQVRJT047Ci0JcGluZm8tPm5vcm1fb2Zmc2V0ID0gUkNfUElEX05PUk1fT0ZGU0VUOwotCXBpbmZvLT5mYXN0X3N0YXJ0ID0gUkNfUElEX0ZBU1RfU1RBUlQ7Ci0JcGluZm8tPnJpbmZvID0gcmluZm87Ci0JcGluZm8tPm9sZHJhdGUgPSAwOwotCiAjaWZkZWYgQ09ORklHX01BQzgwMjExX0RFQlVHRlMKIAlkZSA9ICZwaW5mby0+ZGVudHJpZXM7CiAJZGUtPmRpciA9IGRlYnVnZnNfY3JlYXRlX2RpcigicmM4MDIxMV9waWQiLApAQCAtNDY1LDkgKzQ2NCw2IEBACiAJZGUtPm5vcm1fb2Zmc2V0ID0gZGVidWdmc19jcmVhdGVfdTMyKCJub3JtX29mZnNldCIsCiAJCQkJCSAgICAgU19JUlVTUiB8IFNfSVdVU1IsIGRlLT5kaXIsCiAJCQkJCSAgICAgJnBpbmZvLT5ub3JtX29mZnNldCk7Ci0JZGUtPmZhc3Rfc3RhcnQgPSBkZWJ1Z2ZzX2NyZWF0ZV9ib29sKCJmYXN0X3N0YXJ0IiwKLQkJCQkJICAgICBTX0lSVVNSIHwgU19JV1VTUiwgZGUtPmRpciwKLQkJCQkJICAgICAmcGluZm8tPmZhc3Rfc3RhcnQpOwogI2VuZGlmCiAKIAlyZXR1cm4gcGluZm87CkBAIC00NzksNyArNDc1LDYgQEAKICNpZmRlZiBDT05GSUdfTUFDODAyMTFfREVCVUdGUwogCXN0cnVjdCByY19waWRfZGVidWdmc19lbnRyaWVzICpkZSA9ICZwaW5mby0+ZGVudHJpZXM7CiAKLQlkZWJ1Z2ZzX3JlbW92ZShkZS0+ZmFzdF9zdGFydCk7CiAJZGVidWdmc19yZW1vdmUoZGUtPm5vcm1fb2Zmc2V0KTsKIAlkZWJ1Z2ZzX3JlbW92ZShkZS0+c2hhcnBlbl9kdXJhdGlvbik7CiAJZGVidWdmc19yZW1vdmUoZGUtPnNoYXJwZW5fZmFjdG9yKTsKZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMKaW5kZXggN2QxYjExNy4uOGUwYjRjOCAxMDA2NDQKLS0tIGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMKKysrIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAKICNpbmNsdWRlIDxuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFjay5oPgogI2luY2x1ZGUgPG5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2wzcHJvdG8uaD4KZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYwppbmRleCAwZWRlZmNmLi4wNzdiY2QyIDEwMDY0NAotLS0gYS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19uZXRsaW5rLmMKKysrIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CmRpZmYgLS1naXQgYS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcm90b190Y3AuYyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3Byb3RvX3RjcC5jCmluZGV4IDI3MWNkMDEuLmRkMjhmYjIgMTAwNjQ0Ci0tLSBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3Byb3RvX3RjcC5jCisrKyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3Byb3RvX3RjcC5jCkBAIC04NDQsOSArODQ0LDE1IEBACiAJCQkvKiBBdHRlbXB0IHRvIHJlb3BlbiBhIGNsb3NlZC9hYm9ydGVkIGNvbm5lY3Rpb24uCiAJCQkgKiBEZWxldGUgdGhpcyBjb25uZWN0aW9uIGFuZCBsb29rIHVwIGFnYWluLiAqLwogCQkJd3JpdGVfdW5sb2NrX2JoKCZ0Y3BfbG9jayk7Ci0JCQlpZiAoZGVsX3RpbWVyKCZjdC0+dGltZW91dCkpCisJCQkvKiBPbmx5IHJlcGVhdCBpZiB3ZSBjYW4gYWN0dWFsbHkgcmVtb3ZlIHRoZSB0aW1lci4KKwkJCSAqIERlc3RydWN0aW9uIG1heSBhbHJlYWR5IGJlIGluIHByb2dyZXNzIGluIHByb2Nlc3MKKwkJCSAqIGNvbnRleHQgYW5kIHdlIG11c3QgZ2l2ZSBpdCBhIGNoYW5jZSB0byB0ZXJtaW5hdGUuCisJCQkgKi8KKwkJCWlmIChkZWxfdGltZXIoJmN0LT50aW1lb3V0KSkgewogCQkJCWN0LT50aW1lb3V0LmZ1bmN0aW9uKCh1bnNpZ25lZCBsb25nKWN0KTsKLQkJCXJldHVybiAtTkZfUkVQRUFUOworCQkJCXJldHVybiAtTkZfUkVQRUFUOworCQkJfQorCQkJcmV0dXJuIC1ORl9EUk9QOwogCQl9CiAJCS8qIEZhbGwgdGhyb3VnaCAqLwogCWNhc2UgVENQX0NPTk5UUkFDS19JR05PUkU6CmRpZmYgLS1naXQgYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfY2lwc29fdjQuYyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9jaXBzb192NC5jCmluZGV4IGZkYzE0YTAuLjkwODBjNjEgMTAwNjQ0Ci0tLSBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9jaXBzb192NC5jCisrKyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9jaXBzb192NC5jCkBAIC01ODQsMTIgKzU4NCw3IEBACiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAKIAlnZW5sbXNnX2VuZChhbnNfc2tiLCBkYXRhKTsKLQotCXJldF92YWwgPSBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwotCWlmIChyZXRfdmFsICE9IDApCi0JCWdvdG8gbGlzdF9mYWlsdXJlOwotCi0JcmV0dXJuIDA7CisJcmV0dXJuIGdlbmxtc2dfcmVwbHkoYW5zX3NrYiwgaW5mbyk7CiAKIGxpc3RfcmV0cnk6CiAJLyogWFhYIC0gdGhpcyBsaW1pdCBpcyBhIGd1ZXNzdGltYXRlICovCmRpZmYgLS1naXQgYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfZG9tYWluaGFzaC5jIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX2RvbWFpbmhhc2guYwppbmRleCAwMmMyZjdjLi42NDNjMDMyIDEwMDY0NAotLS0gYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfZG9tYWluaGFzaC5jCisrKyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9kb21haW5oYXNoLmMKQEAgLTMwLDggKzMwLDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgotI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KZGlmZiAtLWdpdCBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9tZ210LmMgYi9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfbWdtdC5jCmluZGV4IDIyYzE5MTIuLjQ0YmU1ZDUgMTAwNjQ0Ci0tLSBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9tZ210LmMKKysrIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX21nbXQuYwpAQCAtMzg2LDExICszODYsNyBAQAogCXJjdV9yZWFkX3VubG9jaygpOwogCiAJZ2VubG1zZ19lbmQoYW5zX3NrYiwgZGF0YSk7Ci0KLQlyZXRfdmFsID0gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKLQlpZiAocmV0X3ZhbCAhPSAwKQotCQlnb3RvIGxpc3RkZWZfZmFpbHVyZTsKLQlyZXR1cm4gMDsKKwlyZXR1cm4gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKIAogbGlzdGRlZl9mYWlsdXJlX2xvY2s6CiAJcmN1X3JlYWRfdW5sb2NrKCk7CkBAIC01MDEsMTEgKzQ5Nyw3IEBACiAJCWdvdG8gdmVyc2lvbl9mYWlsdXJlOwogCiAJZ2VubG1zZ19lbmQoYW5zX3NrYiwgZGF0YSk7Ci0KLQlyZXRfdmFsID0gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKLQlpZiAocmV0X3ZhbCAhPSAwKQotCQlnb3RvIHZlcnNpb25fZmFpbHVyZTsKLQlyZXR1cm4gMDsKKwlyZXR1cm4gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKIAogdmVyc2lvbl9mYWlsdXJlOgogCWtmcmVlX3NrYihhbnNfc2tiKTsKZGlmZiAtLWdpdCBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF91bmxhYmVsZWQuYyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF91bmxhYmVsZWQuYwppbmRleCA1MmIyNjExLi41NmY4MDg3IDEwMDY0NAotLS0gYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfdW5sYWJlbGVkLmMKKysrIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX3VubGFiZWxlZC5jCkBAIC0xMTA3LDExICsxMTA3LDcgQEAKIAkJZ290byBsaXN0X2ZhaWx1cmU7CiAKIAlnZW5sbXNnX2VuZChhbnNfc2tiLCBkYXRhKTsKLQotCXJldF92YWwgPSBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwotCWlmIChyZXRfdmFsICE9IDApCi0JCWdvdG8gbGlzdF9mYWlsdXJlOwotCXJldHVybiAwOworCXJldHVybiBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwogCiBsaXN0X2ZhaWx1cmU6CiAJa2ZyZWVfc2tiKGFuc19za2IpOwpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAvc21fc3RhdGVmdW5zLmMgYi9uZXQvc2N0cC9zbV9zdGF0ZWZ1bnMuYwppbmRleCAwYzlkNWE2Li5mY2RiNDVkIDEwMDY0NAotLS0gYS9uZXQvc2N0cC9zbV9zdGF0ZWZ1bnMuYworKysgYi9uZXQvc2N0cC9zbV9zdGF0ZWZ1bnMuYwpAQCAtNTg5OSwxMiArNTg5OSw2IEBACiAJCXJldHVybiBTQ1RQX0lFUlJPUl9OT19EQVRBOwogCX0KIAotCS8qIElmIGRlZmluYXRlbHkgYWNjZXB0aW5nIHRoZSBEQVRBIGNodW5rLCByZWNvcmQgaXRzIFRTTiwgb3RoZXJ3aXNlCi0JICogd2FpdCBmb3IgcmVuZWdlIHByb2Nlc3NpbmcuCi0JICovCi0JaWYgKFNDVFBfQ01EX0NIVU5LX1VMUCA9PSBkZWxpdmVyKQotCQlzY3RwX2FkZF9jbWRfc2YoY29tbWFuZHMsIFNDVFBfQ01EX1JFUE9SVF9UU04sIFNDVFBfVTMyKHRzbikpOwotCiAJY2h1bmstPmRhdGFfYWNjZXB0ZWQgPSAxOwogCiAJLyogTm90ZTogU29tZSBjaHVua3MgbWF5IGdldCBvdmVyY291bnRlZCAoaWYgd2UgZHJvcCkgb3Igb3ZlcmNvdW50ZWQKQEAgLTU5MjQsNiArNTkxOCw5IEBACiAJICogYW5kIGRpc2NhcmQgdGhlIERBVEEgY2h1bmsuCiAJICovCiAJaWYgKG50b2hzKGRhdGFfaGRyLT5zdHJlYW0pID49IGFzb2MtPmMuc2luaXRfbWF4X2luc3RyZWFtcykgeworCQkvKiBNYXJrIHRzbiBhcyByZWNlaXZlZCBldmVuIHRob3VnaCB3ZSBkcm9wIGl0ICovCisJCXNjdHBfYWRkX2NtZF9zZihjb21tYW5kcywgU0NUUF9DTURfUkVQT1JUX1RTTiwgU0NUUF9VMzIodHNuKSk7CisKIAkJZXJyID0gc2N0cF9tYWtlX29wX2Vycm9yKGFzb2MsIGNodW5rLCBTQ1RQX0VSUk9SX0lOVl9TVFJNLAogCQkJCQkgJmRhdGFfaGRyLT5zdHJlYW0sCiAJCQkJCSBzaXplb2YoZGF0YV9oZHItPnN0cmVhbSkpOwpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAvdWxwZXZlbnQuYyBiL25ldC9zY3RwL3VscGV2ZW50LmMKaW5kZXggY2U2Y2RhNi4uYTFmNjU0YSAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvdWxwZXZlbnQuYworKysgYi9uZXQvc2N0cC91bHBldmVudC5jCkBAIC03MTAsNiArNzEwLDExIEBACiAJaWYgKCFza2IpCiAJCWdvdG8gZmFpbDsKIAorCS8qIE5vdyB0aGF0IGFsbCBtZW1vcnkgYWxsb2NhdGlvbnMgZm9yIHRoaXMgY2h1bmsgc3VjY2VlZGVkLCB3ZQorCSAqIGNhbiBtYXJrIGl0IGFzIHJlY2VpdmVkIHNvIHRoZSB0c25fbWFwIGlzIHVwZGF0ZWQgY29ycmVjdGx5LgorCSAqLworCXNjdHBfdHNubWFwX21hcmsoJmFzb2MtPnBlZXIudHNuX21hcCwgbnRvaGwoY2h1bmstPnN1YmguZGF0YV9oZHItPnRzbikpOworCiAJLyogRmlyc3QgY2FsY3VsYXRlIHRoZSBwYWRkaW5nLCBzbyB3ZSBkb24ndCBpbmFkdmVydGVudGx5CiAJICogcGFzcyB1cCB0aGUgd3JvbmcgbGVuZ3RoIHRvIHRoZSB1c2VyLgogCSAqCmRpZmYgLS1naXQgYS9uZXQveGZybS94ZnJtX3VzZXIuYyBiL25ldC94ZnJtL3hmcm1fdXNlci5jCmluZGV4IGI5NzZkOWUuLjA0YzQxNTAgMTAwNjQ0Ci0tLSBhL25ldC94ZnJtL3hmcm1fdXNlci5jCisrKyBiL25ldC94ZnJtL3hmcm1fdXNlci5jCkBAIC0yNzcsOSArMjc3LDggQEAKIAltZW1jcHkoJngtPnByb3BzLnNhZGRyLCAmcC0+c2FkZHIsIHNpemVvZih4LT5wcm9wcy5zYWRkcikpOwogCXgtPnByb3BzLmZsYWdzID0gcC0+ZmxhZ3M7CiAKLQlpZiAoIXgtPnNlbC5mYW1pbHkpCisJaWYgKCF4LT5zZWwuZmFtaWx5ICYmICEocC0+ZmxhZ3MgJiBYRlJNX1NUQVRFX0FGX1VOU1BFQykpCiAJCXgtPnNlbC5mYW1pbHkgPSBwLT5mYW1pbHk7Ci0KIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0IGIvc2NyaXB0cy9NYWtlZmlsZS5md2luc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2QyZjQ2MAotLS0gL2Rldi9udWxsCisrKyBiL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0CkBAIC0wLDAgKzEsNDUgQEAKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyMgSW5zdGFsbGluZyBmaXJtd2FyZQorIworIyBXZSBkb24ndCBpbmNsdWRlIHRoZSAuY29uZmlnLCBzbyBhbGwgZmlybXdhcmUgZmlsZXMgYXJlIGluICQoZnctc2hpcHBlZC0pCisjIHJhdGhlciB0aGFuIGluICQoZnctc2hpcHBlZC15KSBvciAkKGZ3LXNoaXBwZWQtbikuCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0lOU1RBTEwgOj0gaW5zdGFsbAorc3JjIDo9ICQob2JqKQorCisjIEZvciBtb2R1bGVzX2luc3RhbGwgaW5zdGFsbGluZyBmaXJtd2FyZSwgd2Ugd2FudCB0byBzZWUgLmNvbmZpZworIyBCdXQgZm9yIGZpcm13YXJlX2luc3RhbGwsIHdlIGRvbid0IGNhcmUsIGJ1dCBkb24ndCB3YW50IHRvIHJlcXVpcmUgaXQuCistaW5jbHVkZSAkKG9ianRyZWUpLy5jb25maWcKKworaW5jbHVkZSBzY3JpcHRzL0tidWlsZC5pbmNsdWRlCitpbmNsdWRlICQoc3JjdHJlZSkvJChvYmopL01ha2VmaWxlCisKK2luY2x1ZGUgc2NyaXB0cy9NYWtlZmlsZS5ob3N0CisKK21vZC1mdyA6PSAkKGFkZHByZWZpeCAkKElOU1RBTExfRldfUEFUSCkvLCQoZnctc2hpcHBlZC1tKSkKKworIyBJZiBDT05GSUdfRklSTVdBUkVfSU5fS0VSTkVMIGlzbid0IHNldCwgdGhlbiBpbnN0YWxsIHRoZSAKKyMgZmlybXdhcmUgZm9yIGluLWtlcm5lbCBkcml2ZXJzIHRvby4KK2lmbmRlZiBDT05GSUdfRklSTVdBUkVfSU5fS0VSTkVMCittb2QtZncgKz0gJChhZGRwcmVmaXggJChJTlNUQUxMX0ZXX1BBVEgpLywkKGZ3LXNoaXBwZWQteSkpCitlbmRpZgorCitpbnN0YWxsZWQtZncgOj0gJChhZGRwcmVmaXggJChJTlNUQUxMX0ZXX1BBVEgpLywkKGZ3LXNoaXBwZWQtYWxsKSkKK2luc3RhbGxlZC1mdy1kaXJzIDo9ICQoc29ydCAkKGRpciAkKGluc3RhbGxlZC1mdykpKSAkKElOU1RBTExfRldfUEFUSCkvLgorCitxdWlldF9jbWRfaW5zdGFsbCA9IElOU1RBTEwgJChzdWJzdCAkKHNyY3RyZWUpLywsJEApCisgICAgICBjbWRfaW5zdGFsbCA9ICQoSU5TVEFMTCkgLW0wNjQ0ICQ8ICRACisKKyQoaW5zdGFsbGVkLWZ3LWRpcnMpOgorCSQoY2FsbCBjbWQsbWtkaXIpCisKKyQoaW5zdGFsbGVkLWZ3KTogJChJTlNUQUxMX0ZXX1BBVEgpLyU6ICQob2JqKS8lIHwgJChJTlNUQUxMX0ZXX1BBVEgpLyQkKGRpciAlKS8KKwkkKGNhbGwgY21kLGluc3RhbGwpCisKKy5QSE9OWTogX19md19pbnN0YWxsIF9fZndfbW9kaW5zdCBGT1JDRQorCitfX2Z3X2luc3RhbGw6ICQoaW5zdGFsbGVkLWZ3KQorX19md19tb2RpbnN0OiAkKG1vZC1mdykKKworRk9SQ0U6CmRpZmYgLS1naXQgYS9zY3JpcHRzL01ha2VmaWxlLmxpYiBiL3NjcmlwdHMvTWFrZWZpbGUubGliCmluZGV4IDhlNDQwMjMuLmVhNDhiODIgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvTWFrZWZpbGUubGliCisrKyBiL3NjcmlwdHMvTWFrZWZpbGUubGliCkBAIC05Niw3ICs5Niw4IEBACiBtb2RuYW1lX2ZsYWdzICA9ICQoaWYgJChmaWx0ZXIgMSwkKHdvcmRzICQobW9kbmFtZSkpKSxcCiAgICAgICAgICAgICAgICAgIC1EIktCVUlMRF9NT0ROQU1FPUtCVUlMRF9TVFIoJChjYWxsIG5hbWUtZml4LCQobW9kbmFtZSkpKSIpCiAKLV9jX2ZsYWdzICAgICAgID0gJChLQlVJTERfQ0ZMQUdTKSAkKGNjZmxhZ3MteSkgJChDRkxBR1NfJChiYXNldGFyZ2V0KS5vKQorb3JpZ19jX2ZsYWdzICAgPSAkKEtCVUlMRF9DRkxBR1MpICQoY2NmbGFncy15KSAkKENGTEFHU18kKGJhc2V0YXJnZXQpLm8pCitfY19mbGFncyAgICAgICA9ICQoZmlsdGVyLW91dCAkKENGTEFHU19SRU1PVkVfJChiYXNldGFyZ2V0KS5vKSwgJChvcmlnX2NfZmxhZ3MpKQogX2FfZmxhZ3MgICAgICAgPSAkKEtCVUlMRF9BRkxBR1MpICQoYXNmbGFncy15KSAkKEFGTEFHU18kKGJhc2V0YXJnZXQpLm8pCiBfY3BwX2ZsYWdzICAgICA9ICQoS0JVSUxEX0NQUEZMQUdTKSAkKGNwcGZsYWdzLXkpICQoQ1BQRkxBR1NfJChARikpCiAKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbW9kL2ZpbGUyYWxpYXMuYyBiL3NjcmlwdHMvbW9kL2ZpbGUyYWxpYXMuYwppbmRleCBjZWE0YTc5Li4zN2Q1YzM2IDEwMDY0NAotLS0gYS9zY3JpcHRzL21vZC9maWxlMmFsaWFzLmMKKysrIGIvc2NyaXB0cy9tb2QvZmlsZTJhbGlhcy5jCkBAIC0zMDQsNiArMzA0LDE0IEBACiAJcmV0dXJuIDE7CiB9CiAKKy8qIGxvb2tzIGxpa2U6ICJjc3M6dE4iICovCitzdGF0aWMgaW50IGRvX2Nzc19lbnRyeShjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCXN0cnVjdCBjc3NfZGV2aWNlX2lkICppZCwgY2hhciAqYWxpYXMpCit7CisJc3ByaW50ZihhbGlhcywgImNzczp0JTAxWCIsIGlkLT50eXBlKTsKKwlyZXR1cm4gMTsKK30KKwogLyogTG9va3MgbGlrZTogInNlcmlvOnR5TnByTmlkTmV4TiIgKi8KIHN0YXRpYyBpbnQgZG9fc2VyaW9fZW50cnkoY29uc3QgY2hhciAqZmlsZW5hbWUsCiAJCQkgIHN0cnVjdCBzZXJpb19kZXZpY2VfaWQgKmlkLCBjaGFyICphbGlhcykKQEAgLTY4MCw2ICs2ODgsMTAgQEAKIAkJZG9fdGFibGUoc3ltdmFsLCBzeW0tPnN0X3NpemUsCiAJCQkgc2l6ZW9mKHN0cnVjdCBhcF9kZXZpY2VfaWQpLCAiYXAiLAogCQkJIGRvX2FwX2VudHJ5LCBtb2QpOworCWVsc2UgaWYgKHN5bV9pcyhzeW1uYW1lLCAiX19tb2RfY3NzX2RldmljZV90YWJsZSIpKQorCQlkb190YWJsZShzeW12YWwsIHN5bS0+c3Rfc2l6ZSwKKwkJCSBzaXplb2Yoc3RydWN0IGNzc19kZXZpY2VfaWQpLCAiY3NzIiwKKwkJCSBkb19jc3NfZW50cnksIG1vZCk7CiAJZWxzZSBpZiAoc3ltX2lzKHN5bW5hbWUsICJfX21vZF9zZXJpb19kZXZpY2VfdGFibGUiKSkKIAkJZG9fdGFibGUoc3ltdmFsLCBzeW0tPnN0X3NpemUsCiAJCQkgc2l6ZW9mKHN0cnVjdCBzZXJpb19kZXZpY2VfaWQpLCAic2VyaW8iLApkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvS2NvbmZpZyBiL3NlY3VyaXR5L0tjb25maWcKaW5kZXggNDliNTFmOS4uNjJlZDQ3MSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvS2NvbmZpZworKysgYi9zZWN1cml0eS9LY29uZmlnCkBAIC03MywxNyArNzMsOSBAQAogCSAgSVBTZWMuCiAJICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciBOLgogCi1jb25maWcgU0VDVVJJVFlfQ0FQQUJJTElUSUVTCi0JYm9vbCAiRGVmYXVsdCBMaW51eCBDYXBhYmlsaXRpZXMiCi0JZGVwZW5kcyBvbiBTRUNVUklUWQotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFRoaXMgZW5hYmxlcyB0aGUgImRlZmF1bHQiIExpbnV4IGNhcGFiaWxpdGllcyBmdW5jdGlvbmFsaXR5LgotCSAgSWYgeW91IGFyZSB1bnN1cmUgaG93IHRvIGFuc3dlciB0aGlzIHF1ZXN0aW9uLCBhbnN3ZXIgWS4KLQogY29uZmlnIFNFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTCiAJYm9vbCAiRmlsZSBQT1NJWCBDYXBhYmlsaXRpZXMgKEVYUEVSSU1FTlRBTCkiCi0JZGVwZW5kcyBvbiAoU0VDVVJJVFk9biB8fCBTRUNVUklUWV9DQVBBQklMSVRJRVMhPW4pICYmIEVYUEVSSU1FTlRBTAorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCiAJZGVmYXVsdCBuCiAJaGVscAogCSAgVGhpcyBlbmFibGVzIGZpbGVzeXN0ZW0gY2FwYWJpbGl0aWVzLCBhbGxvd2luZyB5b3UgdG8gZ2l2ZQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvTWFrZWZpbGUgYi9zZWN1cml0eS9NYWtlZmlsZQppbmRleCA3ZWYxMTA3Li5mNjU0MjYwIDEwMDY0NAotLS0gYS9zZWN1cml0eS9NYWtlZmlsZQorKysgYi9zZWN1cml0eS9NYWtlZmlsZQpAQCAtNiwxNiArNiwxMyBAQAogc3ViZGlyLSQoQ09ORklHX1NFQ1VSSVRZX1NFTElOVVgpCSs9IHNlbGludXgKIHN1YmRpci0kKENPTkZJR19TRUNVUklUWV9TTUFDSykJCSs9IHNtYWNrCiAKLSMgaWYgd2UgZG9uJ3Qgc2VsZWN0IGEgc2VjdXJpdHkgbW9kZWwsIHVzZSB0aGUgZGVmYXVsdCBjYXBhYmlsaXRpZXMKLWlmbmVxICgkKENPTkZJR19TRUNVUklUWSkseSkKKyMgYWx3YXlzIGVuYWJsZSBkZWZhdWx0IGNhcGFiaWxpdGllcwogb2JqLXkJCSs9IGNvbW1vbmNhcC5vCi1lbmRpZgogCiAjIE9iamVjdCBmaWxlIGxpc3RzCi1vYmotJChDT05GSUdfU0VDVVJJVFkpCQkJKz0gc2VjdXJpdHkubyBkdW1teS5vIGlub2RlLm8KK29iai0kKENPTkZJR19TRUNVUklUWSkJCQkrPSBzZWN1cml0eS5vIGNhcGFiaWxpdHkubyBpbm9kZS5vCiAjIE11c3QgcHJlY2VkZSBjYXBhYmlsaXR5Lm8gaW4gb3JkZXIgdG8gc3RhY2sgcHJvcGVybHkuCiBvYmotJChDT05GSUdfU0VDVVJJVFlfU0VMSU5VWCkJCSs9IHNlbGludXgvYnVpbHQtaW4ubwotb2JqLSQoQ09ORklHX1NFQ1VSSVRZX1NNQUNLKQkJKz0gY29tbW9uY2FwLm8gc21hY2svYnVpbHQtaW4ubwotb2JqLSQoQ09ORklHX1NFQ1VSSVRZX0NBUEFCSUxJVElFUykJKz0gY29tbW9uY2FwLm8gY2FwYWJpbGl0eS5vCi1vYmotJChDT05GSUdfU0VDVVJJVFlfUk9PVFBMVUcpCQkrPSBjb21tb25jYXAubyByb290X3BsdWcubworb2JqLSQoQ09ORklHX1NFQ1VSSVRZX1NNQUNLKQkJKz0gc21hY2svYnVpbHQtaW4ubworb2JqLSQoQ09ORklHX1NFQ1VSSVRZX1JPT1RQTFVHKQkJKz0gcm9vdF9wbHVnLm8KIG9iai0kKENPTkZJR19DR1JPVVBfREVWSUNFKQkJKz0gZGV2aWNlX2Nncm91cC5vCmRpZmYgLS1naXQgYS9zZWN1cml0eS9jYXBhYmlsaXR5LmMgYi9zZWN1cml0eS9jYXBhYmlsaXR5LmMKaW5kZXggMzhhYzU0ZS4uNWIwMWMwYiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvY2FwYWJpbGl0eS5jCisrKyBiL3NlY3VyaXR5L2NhcGFiaWxpdHkuYwpAQCAtMSw2ICsxLDggQEAKIC8qCiAgKiAgQ2FwYWJpbGl0aWVzIExpbnV4IFNlY3VyaXR5IE1vZHVsZQogICoKKyAqICBUaGlzIGlzIHRoZSBkZWZhdWx0IHNlY3VyaXR5IG1vZHVsZSBpbiBjYXNlIG5vIG90aGVyIG1vZHVsZSBpcyBsb2FkZWQuCisgKgogICoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAgKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgpAQCAtOCw3NSArMTAsOTg4IEBACiAgKgogICovCiAKLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KLSNpbmNsdWRlIDxsaW51eC9maWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KLSNpbmNsdWRlIDxsaW51eC9tbWFuLmg+Ci0jaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgotI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KLSNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KLSNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+Ci0jaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KIAotc3RhdGljIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIGNhcGFiaWxpdHlfb3BzID0gewotCS5wdHJhY2UgPQkJCWNhcF9wdHJhY2UsCi0JLmNhcGdldCA9CQkJY2FwX2NhcGdldCwKLQkuY2Fwc2V0X2NoZWNrID0JCQljYXBfY2Fwc2V0X2NoZWNrLAotCS5jYXBzZXRfc2V0ID0JCQljYXBfY2Fwc2V0X3NldCwKLQkuY2FwYWJsZSA9CQkJY2FwX2NhcGFibGUsCi0JLnNldHRpbWUgPQkJCWNhcF9zZXR0aW1lLAotCS5uZXRsaW5rX3NlbmQgPQkJCWNhcF9uZXRsaW5rX3NlbmQsCi0JLm5ldGxpbmtfcmVjdiA9CQkJY2FwX25ldGxpbmtfcmVjdiwKLQotCS5icHJtX2FwcGx5X2NyZWRzID0JCWNhcF9icHJtX2FwcGx5X2NyZWRzLAotCS5icHJtX3NldF9zZWN1cml0eSA9CQljYXBfYnBybV9zZXRfc2VjdXJpdHksCi0JLmJwcm1fc2VjdXJlZXhlYyA9CQljYXBfYnBybV9zZWN1cmVleGVjLAotCi0JLmlub2RlX3NldHhhdHRyID0JCWNhcF9pbm9kZV9zZXR4YXR0ciwKLQkuaW5vZGVfcmVtb3ZleGF0dHIgPQkJY2FwX2lub2RlX3JlbW92ZXhhdHRyLAotCS5pbm9kZV9uZWVkX2tpbGxwcml2ID0JCWNhcF9pbm9kZV9uZWVkX2tpbGxwcml2LAotCS5pbm9kZV9raWxscHJpdiA9CQljYXBfaW5vZGVfa2lsbHByaXYsCi0KLQkudGFza19zZXRzY2hlZHVsZXIgPQkJY2FwX3Rhc2tfc2V0c2NoZWR1bGVyLAotCS50YXNrX3NldGlvcHJpbyA9CQljYXBfdGFza19zZXRpb3ByaW8sCi0JLnRhc2tfc2V0bmljZSA9CQkJY2FwX3Rhc2tfc2V0bmljZSwKLQkudGFza19wb3N0X3NldHVpZCA9CQljYXBfdGFza19wb3N0X3NldHVpZCwKLQkudGFza19wcmN0bCA9ICAgICAgICAgICAgICAgICAgIGNhcF90YXNrX3ByY3RsLAotCS50YXNrX3JlcGFyZW50X3RvX2luaXQgPQljYXBfdGFza19yZXBhcmVudF90b19pbml0LAotCi0JLnN5c2xvZyA9ICAgICAgICAgICAgICAgICAgICAgICBjYXBfc3lzbG9nLAotCi0JLnZtX2Vub3VnaF9tZW1vcnkgPSAgICAgICAgICAgICBjYXBfdm1fZW5vdWdoX21lbW9yeSwKLX07Ci0KLS8qIGZsYWcgdG8ga2VlcCB0cmFjayBvZiBob3cgd2Ugd2VyZSByZWdpc3RlcmVkICovCi1zdGF0aWMgaW50IHNlY29uZGFyeTsKLQotc3RhdGljIGludCBjYXBhYmlsaXR5X2Rpc2FibGU7Ci1tb2R1bGVfcGFyYW1fbmFtZWQoZGlzYWJsZSwgY2FwYWJpbGl0eV9kaXNhYmxlLCBpbnQsIDApOwotCi1zdGF0aWMgaW50IF9faW5pdCBjYXBhYmlsaXR5X2luaXQgKHZvaWQpCitzdGF0aWMgaW50IGNhcF9hY2N0KHN0cnVjdCBmaWxlICpmaWxlKQogewotCWlmIChjYXBhYmlsaXR5X2Rpc2FibGUpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiQ2FwYWJpbGl0aWVzIGRpc2FibGVkIGF0IGluaXRpYWxpemF0aW9uXG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQotCS8qIHJlZ2lzdGVyIG91cnNlbHZlcyB3aXRoIHRoZSBzZWN1cml0eSBmcmFtZXdvcmsgKi8KLQlpZiAocmVnaXN0ZXJfc2VjdXJpdHkgKCZjYXBhYmlsaXR5X29wcykpIHsKLQkJLyogdHJ5IHJlZ2lzdGVyaW5nIHdpdGggcHJpbWFyeSBtb2R1bGUgKi8KLQkJaWYgKG1vZF9yZWdfc2VjdXJpdHkgKEtCVUlMRF9NT0ROQU1FLCAmY2FwYWJpbGl0eV9vcHMpKSB7Ci0JCQlwcmludGsgKEtFUk5fSU5GTyAiRmFpbHVyZSByZWdpc3RlcmluZyBjYXBhYmlsaXRpZXMgIgotCQkJCSJ3aXRoIHByaW1hcnkgc2VjdXJpdHkgbW9kdWxlLlxuIik7Ci0JCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCQlzZWNvbmRhcnkgPSAxOwotCX0KLQlwcmludGsgKEtFUk5fSU5GTyAiQ2FwYWJpbGl0eSBMU00gaW5pdGlhbGl6ZWQlc1xuIiwKLQkJc2Vjb25kYXJ5ID8gIiBhcyBzZWNvbmRhcnkiIDogIiIpOwogCXJldHVybiAwOwogfQogCi1zZWN1cml0eV9pbml0Y2FsbCAoY2FwYWJpbGl0eV9pbml0KTsKK3N0YXRpYyBpbnQgY2FwX3N5c2N0bChjdGxfdGFibGUgKnRhYmxlLCBpbnQgb3ApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3F1b3RhY3RsKGludCBjbWRzLCBpbnQgdHlwZSwgaW50IGlkLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9xdW90YV9vbihzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2Jwcm1fYWxsb2Nfc2VjdXJpdHkoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2Jwcm1fZnJlZV9zZWN1cml0eShzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfYnBybV9wb3N0X2FwcGx5X2NyZWRzKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2Jwcm1fY2hlY2tfc2VjdXJpdHkoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2JfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKK30KKworc3RhdGljIGludCBjYXBfc2JfY29weV9kYXRhKGNoYXIgKm9yaWcsIGNoYXIgKmNvcHkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX2tlcm5fbW91bnQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdm9pZCAqZGF0YSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2Jfc2hvd19vcHRpb25zKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2Jfc3RhdGZzKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2JfbW91bnQoY2hhciAqZGV2X25hbWUsIHN0cnVjdCBwYXRoICpwYXRoLCBjaGFyICp0eXBlLAorCQkJdW5zaWduZWQgbG9uZyBmbGFncywgdm9pZCAqZGF0YSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2JfY2hlY2tfc2Ioc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBwYXRoICpwYXRoKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zYl91bW91bnQoc3RydWN0IHZmc21vdW50ICptbnQsIGludCBmbGFncykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX3Vtb3VudF9jbG9zZShzdHJ1Y3QgdmZzbW91bnQgKm1udCkKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX3Vtb3VudF9idXN5KHN0cnVjdCB2ZnNtb3VudCAqbW50KQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfcG9zdF9yZW1vdW50KHN0cnVjdCB2ZnNtb3VudCAqbW50LCB1bnNpZ25lZCBsb25nIGZsYWdzLAorCQkJCXZvaWQgKmRhdGEpCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl9wb3N0X2FkZG1vdW50KHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgcGF0aCAqcGF0aCkKK3sKK30KKworc3RhdGljIGludCBjYXBfc2JfcGl2b3Ryb290KHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfcG9zdF9waXZvdHJvb3Qoc3RydWN0IHBhdGggKm9sZF9wYXRoLCBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3NldF9tbnRfb3B0cyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAorCQkJICAgICAgIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKK3sKKwlpZiAodW5saWtlbHkob3B0cy0+bnVtX21udF9vcHRzKSkKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfY2xvbmVfbW50X29wdHMoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpvbGRzYiwKKwkJCQkgIHN0cnVjdCBzdXBlcl9ibG9jayAqbmV3c2IpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3BhcnNlX29wdHNfc3RyKGNoYXIgKm9wdGlvbnMsIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2lub2RlX2ZyZWVfc2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSkKK3sKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfaW5pdF9zZWN1cml0eShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgaW5vZGUgKmRpciwKKwkJCQkgICBjaGFyICoqbmFtZSwgdm9pZCAqKnZhbHVlLCBzaXplX3QgKmxlbikKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2NyZWF0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkgICAgaW50IG1hc2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2xpbmsoc3RydWN0IGRlbnRyeSAqb2xkX2RlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSwKKwkJCSAgc3RydWN0IGRlbnRyeSAqbmV3X2RlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfdW5saW5rKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfc3ltbGluayhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX21rZGlyKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKwkJCSAgIGludCBtYXNrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9ybWRpcihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX21rbm9kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKwkJCSAgIGludCBtb2RlLCBkZXZfdCBkZXYpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3JlbmFtZShzdHJ1Y3QgaW5vZGUgKm9sZF9pbm9kZSwgc3RydWN0IGRlbnRyeSAqb2xkX2RlbnRyeSwKKwkJCSAgICBzdHJ1Y3QgaW5vZGUgKm5ld19pbm9kZSwgc3RydWN0IGRlbnRyeSAqbmV3X2RlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfcmVhZGxpbmsoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9mb2xsb3dfbGluayhzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkJIHN0cnVjdCBuYW1laWRhdGEgKm5hbWVpZGF0YSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaywKKwkJCQlzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfc2V0YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpYXR0ciAqaWF0dHIpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2dldGF0dHIoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2lub2RlX2RlbGV0ZShzdHJ1Y3QgaW5vZGUgKmlubykKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX2lub2RlX3Bvc3Rfc2V0eGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lLAorCQkJCSAgICBjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsIGludCBmbGFncykKK3sKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfZ2V0eGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9saXN0eGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9nZXRzZWN1cml0eShjb25zdCBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCSB2b2lkICoqYnVmZmVyLCBib29sIGFsbG9jKQoreworCXJldHVybiAtRU9QTk9UU1VQUDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfc2V0c2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIC1FT1BOT1RTVVBQOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9saXN0c2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSwgY2hhciAqYnVmZmVyLAorCQkJCSAgc2l6ZV90IGJ1ZmZlcl9zaXplKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfaW5vZGVfZ2V0c2VjaWQoY29uc3Qgc3RydWN0IGlub2RlICppbm9kZSwgdTMyICpzZWNpZCkKK3sKKwkqc2VjaWQgPSAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX3Blcm1pc3Npb24oc3RydWN0IGZpbGUgKmZpbGUsIGludCBtYXNrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfZmlsZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBmaWxlICpmaWxlKQoreworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY29tbWFuZCwKKwkJCSAgdW5zaWduZWQgbG9uZyBhcmcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfbW1hcChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgbG9uZyByZXFwcm90LAorCQkJIHVuc2lnbmVkIGxvbmcgcHJvdCwgdW5zaWduZWQgbG9uZyBmbGFncywKKwkJCSB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgYWRkcl9vbmx5KQoreworCWlmICgoYWRkciA8IG1tYXBfbWluX2FkZHIpICYmICFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQorCQlyZXR1cm4gLUVBQ0NFUzsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9tcHJvdGVjdChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyByZXFwcm90LAorCQkJICAgICB1bnNpZ25lZCBsb25nIHByb3QpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfbG9jayhzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9mY250bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKKwkJCSAgdW5zaWduZWQgbG9uZyBhcmcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfc2V0X2Zvd25lcihzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9zZW5kX3NpZ2lvdGFzayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywKKwkJCQkgICBzdHJ1Y3QgZm93bl9zdHJ1Y3QgKmZvd24sIGludCBzaWcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfcmVjZWl2ZShzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZGVudHJ5X29wZW4oc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfY3JlYXRlKHVuc2lnbmVkIGxvbmcgY2xvbmVfZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfdGFza19mcmVlX3NlY3VyaXR5KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKK30KKworc3RhdGljIGludCBjYXBfdGFza19zZXR1aWQodWlkX3QgaWQwLCB1aWRfdCBpZDEsIHVpZF90IGlkMiwgaW50IGZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX3NldGdpZChnaWRfdCBpZDAsIGdpZF90IGlkMSwgZ2lkX3QgaWQyLCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfc2V0cGdpZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHBpZF90IHBnaWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfZ2V0cGdpZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfZ2V0c2lkKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3Rhc2tfZ2V0c2VjaWQoc3RydWN0IHRhc2tfc3RydWN0ICpwLCB1MzIgKnNlY2lkKQoreworCSpzZWNpZCA9IDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfc2V0Z3JvdXBzKHN0cnVjdCBncm91cF9pbmZvICpncm91cF9pbmZvKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2dldGlvcHJpbyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfc2V0cmxpbWl0KHVuc2lnbmVkIGludCByZXNvdXJjZSwgc3RydWN0IHJsaW1pdCAqbmV3X3JsaW0pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfZ2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19tb3ZlbWVtb3J5KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza193YWl0KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19raWxsKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IHNpZ2luZm8gKmluZm8sCisJCQkgaW50IHNpZywgdTMyIHNlY2lkKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfdGFza190b19pbm9kZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lwY19wZXJtaXNzaW9uKHN0cnVjdCBrZXJuX2lwY19wZXJtICppcGNwLCBzaG9ydCBmbGFnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfaXBjX2dldHNlY2lkKHN0cnVjdCBrZXJuX2lwY19wZXJtICppcGNwLCB1MzIgKnNlY2lkKQoreworCSpzZWNpZCA9IDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX21zZ19tc2dfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IG1zZ19tc2cgKm1zZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX21zZ19tc2dfZnJlZV9zZWN1cml0eShzdHJ1Y3QgbXNnX21zZyAqbXNnKQoreworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfcXVldWVfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IG1zZ19xdWV1ZSAqbXNxKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfbXNnX3F1ZXVlX2ZyZWVfc2VjdXJpdHkoc3RydWN0IG1zZ19xdWV1ZSAqbXNxKQoreworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfcXVldWVfYXNzb2NpYXRlKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgaW50IG1zcWZsZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfbXNnX3F1ZXVlX21zZ2N0bChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIGludCBjbWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX21zZ19xdWV1ZV9tc2dzbmQoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBzdHJ1Y3QgbXNnX21zZyAqbXNnLAorCQkJCWludCBtc2dmbGcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX21zZ19xdWV1ZV9tc2dyY3Yoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBzdHJ1Y3QgbXNnX21zZyAqbXNnLAorCQkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBsb25nIHR5cGUsIGludCBtb2RlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zaG1fYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2htX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zaG1fYXNzb2NpYXRlKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCwgaW50IHNobWZsZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2htX3NobWN0bChzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHAsIGludCBjbWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NobV9zaG1hdChzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHAsIGNoYXIgX191c2VyICpzaG1hZGRyLAorCQkJIGludCBzaG1mbGcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NlbV9hbGxvY19zZWN1cml0eShzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zZW1fZnJlZV9zZWN1cml0eShzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NlbV9hc3NvY2lhdGUoc3RydWN0IHNlbV9hcnJheSAqc21hLCBpbnQgc2VtZmxnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zZW1fc2VtY3RsKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgaW50IGNtZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2VtX3NlbW9wKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgc3RydWN0IHNlbWJ1ZiAqc29wcywKKwkJCSB1bnNpZ25lZCBuc29wcywgaW50IGFsdGVyKQoreworCXJldHVybiAwOworfQorCisjaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUksKK3N0YXRpYyBpbnQgY2FwX3VuaXhfc3RyZWFtX2Nvbm5lY3Qoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2tldCAqb3RoZXIsCisJCQkJICAgc3RydWN0IHNvY2sgKm5ld3NrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF91bml4X21heV9zZW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXQgKm90aGVyKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfY3JlYXRlKGludCBmYW1pbHksIGludCB0eXBlLCBpbnQgcHJvdG9jb2wsIGludCBrZXJuKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfcG9zdF9jcmVhdGUoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGZhbWlseSwgaW50IHR5cGUsCisJCQkJICBpbnQgcHJvdG9jb2wsIGludCBrZXJuKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfYmluZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHJlc3MsCisJCQkgICBpbnQgYWRkcmxlbikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2Nvbm5lY3Qoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICphZGRyZXNzLAorCQkJICAgICAgaW50IGFkZHJsZW4pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9saXN0ZW4oc3RydWN0IHNvY2tldCAqc29jaywgaW50IGJhY2tsb2cpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9hY2NlcHQoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2tldCAqbmV3c29jaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NvY2tldF9wb3N0X2FjY2VwdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2V0ICpuZXdzb2NrKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfc2VuZG1zZyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csIGludCBzaXplKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfcmVjdm1zZyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csCisJCQkgICAgICBpbnQgc2l6ZSwgaW50IGZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfZ2V0c29ja25hbWUoc3RydWN0IHNvY2tldCAqc29jaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2dldHBlZXJuYW1lKHN0cnVjdCBzb2NrZXQgKnNvY2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9zZXRzb2Nrb3B0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBsZXZlbCwgaW50IG9wdG5hbWUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9nZXRzb2Nrb3B0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBsZXZlbCwgaW50IG9wdG5hbWUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9zaHV0ZG93bihzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgaG93KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfc29ja19yY3Zfc2tiKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2dldHBlZXJzZWNfc3RyZWFtKHN0cnVjdCBzb2NrZXQgKnNvY2ssCisJCQkJCWNoYXIgX191c2VyICpvcHR2YWwsCisJCQkJCWludCBfX3VzZXIgKm9wdGxlbiwgdW5zaWduZWQgbGVuKQoreworCXJldHVybiAtRU5PUFJPVE9PUFQ7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9nZXRwZWVyc2VjX2RncmFtKHN0cnVjdCBzb2NrZXQgKnNvY2ssCisJCQkJICAgICAgIHN0cnVjdCBza19idWZmICpza2IsIHUzMiAqc2VjaWQpCit7CisJcmV0dXJuIC1FTk9QUk9UT09QVDsKK30KKworc3RhdGljIGludCBjYXBfc2tfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHNvY2sgKnNrLCBpbnQgZmFtaWx5LCBnZnBfdCBwcmlvcml0eSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NrX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHNvY2sgKnNrKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc2tfY2xvbmVfc2VjdXJpdHkoY29uc3Qgc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc29jayAqbmV3c2spCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9za19nZXRzZWNpZChzdHJ1Y3Qgc29jayAqc2ssIHUzMiAqc2VjaWQpCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zb2NrX2dyYWZ0KHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNvY2tldCAqcGFyZW50KQoreworfQorCitzdGF0aWMgaW50IGNhcF9pbmV0X2Nvbm5fcmVxdWVzdChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IsCisJCQkJIHN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2luZXRfY3NrX2Nsb25lKHN0cnVjdCBzb2NrICpuZXdzaywKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXEpCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbmV0X2Nvbm5fZXN0YWJsaXNoZWQoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfcmVxX2NsYXNzaWZ5X2Zsb3coY29uc3Qgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxLAorCQkJCSAgc3RydWN0IGZsb3dpICpmbCkKK3sKK30KKyNlbmRpZgkvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSyAqLworCisjaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTQorc3RhdGljIGludCBjYXBfeGZybV9wb2xpY3lfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqKmN0eHAsCisJCQkJCSAgc3RydWN0IHhmcm1fdXNlcl9zZWNfY3R4ICpzZWNfY3R4KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3BvbGljeV9jbG9uZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICpvbGRfY3R4LAorCQkJCQkgIHN0cnVjdCB4ZnJtX3NlY19jdHggKipuZXdfY3R4cCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3hmcm1fcG9saWN5X2ZyZWVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4KQoreworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3BvbGljeV9kZWxldGVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3N0YXRlX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3N0YXRlICp4LAorCQkJCQkgc3RydWN0IHhmcm1fdXNlcl9zZWNfY3R4ICpzZWNfY3R4LAorCQkJCQkgdTMyIHNlY2lkKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfeGZybV9zdGF0ZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3N0YXRlICp4KQoreworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3N0YXRlX2RlbGV0ZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfeGZybV9wb2xpY3lfbG9va3VwKHN0cnVjdCB4ZnJtX3NlY19jdHggKmN0eCwgdTMyIHNrX3NpZCwgdTggZGlyKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3N0YXRlX3BvbF9mbG93X21hdGNoKHN0cnVjdCB4ZnJtX3N0YXRlICp4LAorCQkJCQkgc3RydWN0IHhmcm1fcG9saWN5ICp4cCwKKwkJCQkJIHN0cnVjdCBmbG93aSAqZmwpCit7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3hmcm1fZGVjb2RlX3Nlc3Npb24oc3RydWN0IHNrX2J1ZmYgKnNrYiwgdTMyICpmbCwgaW50IGNrYWxsKQoreworCXJldHVybiAwOworfQorCisjZW5kaWYgLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSAqLworc3RhdGljIHZvaWQgY2FwX2RfaW5zdGFudGlhdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworfQorCitzdGF0aWMgaW50IGNhcF9nZXRwcm9jYXR0cihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNoYXIgKm5hbWUsIGNoYXIgKip2YWx1ZSkKK3sKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGludCBjYXBfc2V0cHJvY2F0dHIoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBjaGFyICpuYW1lLCB2b2lkICp2YWx1ZSwKKwkJCSAgIHNpemVfdCBzaXplKQoreworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IGNhcF9zZWNpZF90b19zZWNjdHgodTMyIHNlY2lkLCBjaGFyICoqc2VjZGF0YSwgdTMyICpzZWNsZW4pCit7CisJcmV0dXJuIC1FT1BOT1RTVVBQOworfQorCitzdGF0aWMgaW50IGNhcF9zZWNjdHhfdG9fc2VjaWQoY29uc3QgY2hhciAqc2VjZGF0YSwgdTMyIHNlY2xlbiwgdTMyICpzZWNpZCkKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9yZWxlYXNlX3NlY2N0eChjaGFyICpzZWNkYXRhLCB1MzIgc2VjbGVuKQoreworfQorCisjaWZkZWYgQ09ORklHX0tFWVMKK3N0YXRpYyBpbnQgY2FwX2tleV9hbGxvYyhzdHJ1Y3Qga2V5ICprZXksIHN0cnVjdCB0YXNrX3N0cnVjdCAqY3R4LAorCQkJIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9rZXlfZnJlZShzdHJ1Y3Qga2V5ICprZXkpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2tleV9wZXJtaXNzaW9uKGtleV9yZWZfdCBrZXlfcmVmLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNvbnRleHQsCisJCQkgICAgICBrZXlfcGVybV90IHBlcm0pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2tleV9nZXRzZWN1cml0eShzdHJ1Y3Qga2V5ICprZXksIGNoYXIgKipfYnVmZmVyKQoreworCSpfYnVmZmVyID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIENPTkZJR19LRVlTICovCisKKyNpZmRlZiBDT05GSUdfQVVESVQKK3N0YXRpYyBpbnQgY2FwX2F1ZGl0X3J1bGVfaW5pdCh1MzIgZmllbGQsIHUzMiBvcCwgY2hhciAqcnVsZXN0ciwgdm9pZCAqKmxzbXJ1bGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2F1ZGl0X3J1bGVfa25vd24oc3RydWN0IGF1ZGl0X2tydWxlICprcnVsZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfYXVkaXRfcnVsZV9tYXRjaCh1MzIgc2VjaWQsIHUzMiBmaWVsZCwgdTMyIG9wLCB2b2lkICpsc21ydWxlLAorCQkJCXN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfYXVkaXRfcnVsZV9mcmVlKHZvaWQgKmxzbXJ1bGUpCit7Cit9CisjZW5kaWYgLyogQ09ORklHX0FVRElUICovCisKK3N0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIGRlZmF1bHRfc2VjdXJpdHlfb3BzID0geworCS5uYW1lCT0gImRlZmF1bHQiLAorfTsKKworI2RlZmluZSBzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmdW5jdGlvbikJCQkJXAorCWRvIHsJCQkJCQkJCVwKKwkJaWYgKCFvcHMtPmZ1bmN0aW9uKSB7CQkJCQlcCisJCQlvcHMtPmZ1bmN0aW9uID0gY2FwXyMjZnVuY3Rpb247CQkJXAorCQkJcHJfZGVidWcoIkhhZCB0byBvdmVycmlkZSB0aGUgIiAjZnVuY3Rpb24JXAorCQkJCSAiIHNlY3VyaXR5IG9wZXJhdGlvbiB3aXRoIHRoZSBkZWZhdWx0LlxuIik7XAorCQkJfQkJCQkJCVwKKwl9IHdoaWxlICgwKQorCit2b2lkIHNlY3VyaXR5X2ZpeHVwX29wcyhzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKQoreworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHB0cmFjZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgY2FwZ2V0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBjYXBzZXRfY2hlY2spOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGNhcHNldF9zZXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGFjY3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGNhcGFibGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHF1b3RhY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBxdW90YV9vbik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc3lzY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzeXNsb2cpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNldHRpbWUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHZtX2Vub3VnaF9tZW1vcnkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9hcHBseV9jcmVkcyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9wb3N0X2FwcGx5X2NyZWRzKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBicHJtX3NldF9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9jaGVja19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9zZWN1cmVleGVjKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfY29weV9kYXRhKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9rZXJuX21vdW50KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9zaG93X29wdGlvbnMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3N0YXRmcyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfbW91bnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX2NoZWNrX3NiKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl91bW91bnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Vtb3VudF9jbG9zZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfdW1vdW50X2J1c3kpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Bvc3RfcmVtb3VudCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfcG9zdF9hZGRtb3VudCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfcGl2b3Ryb290KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9wb3N0X3Bpdm90cm9vdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2Jfc2V0X21udF9vcHRzKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9jbG9uZV9tbnRfb3B0cyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfcGFyc2Vfb3B0c19zdHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9pbml0X3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9jcmVhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2xpbmspOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3VubGluayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfc3ltbGluayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbWtkaXIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3JtZGlyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9ta25vZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfcmVuYW1lKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9yZWFkbGluayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfZm9sbG93X2xpbmspOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3Blcm1pc3Npb24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3NldGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2dldGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2RlbGV0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfc2V0eGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3Bvc3Rfc2V0eGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2dldHhhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9saXN0eGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3JlbW92ZXhhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9uZWVkX2tpbGxwcml2KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9raWxscHJpdik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfZ2V0c2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3NldHNlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9saXN0c2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2dldHNlY2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX3Blcm1pc3Npb24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9pb2N0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9tbWFwKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX21wcm90ZWN0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX2xvY2spOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfZmNudGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfc2V0X2Zvd25lcik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9zZW5kX3NpZ2lvdGFzayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9yZWNlaXZlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBkZW50cnlfb3Blbik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19jcmVhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXR1aWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfcG9zdF9zZXR1aWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0Z2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldHBnaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfZ2V0cGdpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19nZXRzaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2VjaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0Z3JvdXBzKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldG5pY2UpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0aW9wcmlvKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2dldGlvcHJpbyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXRybGltaXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0c2NoZWR1bGVyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2dldHNjaGVkdWxlcik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19tb3ZlbWVtb3J5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3dhaXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfa2lsbCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19wcmN0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19yZXBhcmVudF90b19pbml0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3RvX2lub2RlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpcGNfcGVybWlzc2lvbik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaXBjX2dldHNlY2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfbXNnX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfbXNnX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9hc3NvY2lhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2djdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2dzbmQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2dyY3YpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNobV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2htX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNobV9hc3NvY2lhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNobV9zaG1jdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNobV9zaG1hdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VtX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZW1fZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VtX2Fzc29jaWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VtX3NlbWN0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VtX3NlbW9wKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBuZXRsaW5rX3NlbmQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG5ldGxpbmtfcmVjdik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZF9pbnN0YW50aWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZ2V0cHJvY2F0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNldHByb2NhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZWNpZF90b19zZWNjdHgpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlY2N0eF90b19zZWNpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgcmVsZWFzZV9zZWNjdHgpOworI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLCisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdW5peF9zdHJlYW1fY29ubmVjdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdW5peF9tYXlfc2VuZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2NyZWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3Bvc3RfY3JlYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfYmluZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2Nvbm5lY3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9saXN0ZW4pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9hY2NlcHQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9wb3N0X2FjY2VwdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3NlbmRtc2cpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9yZWN2bXNnKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfZ2V0c29ja25hbWUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVybmFtZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3NldHNvY2tvcHQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRzb2Nrb3B0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfc2h1dGRvd24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9zb2NrX3Jjdl9za2IpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVyc2VjX3N0cmVhbSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2dldHBlZXJzZWNfZGdyYW0pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNrX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBza19mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBza19jbG9uZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2tfZ2V0c2VjaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tfZ3JhZnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGluZXRfY29ubl9yZXF1ZXN0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbmV0X2Nza19jbG9uZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5ldF9jb25uX2VzdGFibGlzaGVkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCByZXFfY2xhc3NpZnlfZmxvdyk7CisjZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUksgKi8KKyNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNCisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2Nsb25lX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9kZWxldGVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9kZWxldGVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2xvb2t1cCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9wb2xfZmxvd19tYXRjaCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9kZWNvZGVfc2Vzc2lvbik7CisjZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSAqLworI2lmZGVmIENPTkZJR19LRVlTCisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywga2V5X2FsbG9jKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBrZXlfZnJlZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywga2V5X3Blcm1pc3Npb24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGtleV9nZXRzZWN1cml0eSk7CisjZW5kaWYJLyogQ09ORklHX0tFWVMgKi8KKyNpZmRlZiBDT05GSUdfQVVESVQKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2luaXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfa25vd24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfbWF0Y2gpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfZnJlZSk7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2NvbW1vbmNhcC5jIGIvc2VjdXJpdHkvY29tbW9uY2FwLmMKaW5kZXggMzNkMzQzMy4uMGI2NTM3YSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvY29tbW9uY2FwLmMKKysrIGIvc2VjdXJpdHkvY29tbW9uY2FwLmMKQEAgLTYzLDcgKzYzLDggQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IGNhcF9wdHJhY2UgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQoraW50IGNhcF9wdHJhY2UgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQl1bnNpZ25lZCBpbnQgbW9kZSkKIHsKIAkvKiBEZXJpdmVkIGZyb20gYXJjaC9pMzg2L2tlcm5lbC9wdHJhY2UuYzpzeXNfcHRyYWNlLiAqLwogCWlmICghY2FwX2lzc3Vic2V0KGNoaWxkLT5jYXBfcGVybWl0dGVkLCBwYXJlbnQtPmNhcF9wZXJtaXR0ZWQpICYmCmRpZmYgLS1naXQgYS9zZWN1cml0eS9kZXZpY2VfY2dyb3VwLmMgYi9zZWN1cml0eS9kZXZpY2VfY2dyb3VwLmMKaW5kZXggZmQ3NjRhMC4uZGRkOTJjZSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvZGV2aWNlX2Nncm91cC5jCisrKyBiL3NlY3VyaXR5L2RldmljZV9jZ3JvdXAuYwpAQCAtMjIyLDcgKzIyMiw3IEBACiAjZGVmaW5lIERFVkNHX0RFTlkgMgogI2RlZmluZSBERVZDR19MSVNUIDMKIAotI2RlZmluZSBNQUpNSU5MRU4gMTAKKyNkZWZpbmUgTUFKTUlOTEVOIDEzCiAjZGVmaW5lIEFDQ0xFTiA0CiAKIHN0YXRpYyB2b2lkIHNldF9hY2Nlc3MoY2hhciAqYWNjLCBzaG9ydCBhY2Nlc3MpCkBAIC0yNTQsNyArMjU0LDcgQEAKIAlpZiAobSA9PSB+MCkKIAkJc3ByaW50ZihzdHIsICIqIik7CiAJZWxzZQotCQlzbnByaW50ZihzdHIsIE1BSk1JTkxFTiwgIiVkIiwgbSk7CisJCXNucHJpbnRmKHN0ciwgTUFKTUlOTEVOLCAiJXUiLCBtKTsKIH0KIAogc3RhdGljIGludCBkZXZjZ3JvdXBfc2VxX3JlYWQoc3RydWN0IGNncm91cCAqY2dyb3VwLCBzdHJ1Y3QgY2Z0eXBlICpjZnQsCkBAIC0zMDAsNyArMzAwLDcgQEAKIAkJCWNvbnRpbnVlOwogCQlpZiAod2hpdGVtLT5taW5vciAhPSB+MCAmJiB3aGl0ZW0tPm1pbm9yICE9IHJlZndoLT5taW5vcikKIAkJCWNvbnRpbnVlOwotCQlpZiAocmVmd2gtPmFjY2VzcyAmICh+KHdoaXRlbS0+YWNjZXNzIHwgQUNDX01BU0spKSkKKwkJaWYgKHJlZndoLT5hY2Nlc3MgJiAofndoaXRlbS0+YWNjZXNzKSkKIAkJCWNvbnRpbnVlOwogCQlyZXR1cm4gMTsKIAl9CmRpZmYgLS1naXQgYS9zZWN1cml0eS9kdW1teS5jIGIvc2VjdXJpdHkvZHVtbXkuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjg5MTY4OC4uMDAwMDAwMAotLS0gYS9zZWN1cml0eS9kdW1teS5jCisrKyAvZGV2L251bGwKQEAgLTEsMTI1MSArMCwwIEBACi0vKgotICogU3R1YiBmdW5jdGlvbnMgZm9yIHRoZSBkZWZhdWx0IHNlY3VyaXR5IGZ1bmN0aW9uIHBvaW50ZXJzIGluIGNhc2Ugbm8KLSAqIHNlY3VyaXR5IG1vZGVsIGlzIGxvYWRlZC4KLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDEgV2lyZVggQ29tbXVuaWNhdGlvbnMsIEluYyA8Y2hyaXNAd2lyZXguY29tPgotICogQ29weXJpZ2h0IChDKSAyMDAxLTIwMDIgIEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ0Brcm9haC5jb20+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDEgTmV0d29ya3MgQXNzb2NpYXRlcyBUZWNobm9sb2d5LCBJbmMgPHNzbWFsbGV5QG5haS5jb20+Ci0gKgotICoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqLwotCi0jdW5kZWYgREVCVUcKLQotI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9tbWFuLmg+Ci0jaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgotI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KLSNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgotI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgotI2luY2x1ZGUgPGxpbnV4L25ldGxpbmsuaD4KLSNpbmNsdWRlIDxuZXQvc29jay5oPgotI2luY2x1ZGUgPGxpbnV4L3hhdHRyLmg+Ci0jaW5jbHVkZSA8bGludXgvaHVnZXRsYi5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KLSNpbmNsdWRlIDxsaW51eC9wcmN0bC5oPgotI2luY2x1ZGUgPGxpbnV4L3NlY3VyZWJpdHMuaD4KLQotc3RhdGljIGludCBkdW1teV9wdHJhY2UgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2NhcGdldCAoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsIGtlcm5lbF9jYXBfdCAqIGVmZmVjdGl2ZSwKLQkJCSBrZXJuZWxfY2FwX3QgKiBpbmhlcml0YWJsZSwga2VybmVsX2NhcF90ICogcGVybWl0dGVkKQotewotCWlmICh0YXJnZXQtPmV1aWQgPT0gMCkgewotCQljYXBfc2V0X2Z1bGwoKnBlcm1pdHRlZCk7Ci0JCWNhcF9zZXRfaW5pdF9lZmYoKmVmZmVjdGl2ZSk7Ci0JfSBlbHNlIHsKLQkJY2FwX2NsZWFyKCpwZXJtaXR0ZWQpOwotCQljYXBfY2xlYXIoKmVmZmVjdGl2ZSk7Ci0JfQotCi0JY2FwX2NsZWFyKCppbmhlcml0YWJsZSk7Ci0KLQlpZiAodGFyZ2V0LT5mc3VpZCAhPSAwKSB7Ci0JCSpwZXJtaXR0ZWQgPSBjYXBfZHJvcF9mc19zZXQoKnBlcm1pdHRlZCk7Ci0JCSplZmZlY3RpdmUgPSBjYXBfZHJvcF9mc19zZXQoKmVmZmVjdGl2ZSk7Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2NhcHNldF9jaGVjayAoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCi0JCQkgICAgICAga2VybmVsX2NhcF90ICogZWZmZWN0aXZlLAotCQkJICAgICAgIGtlcm5lbF9jYXBfdCAqIGluaGVyaXRhYmxlLAotCQkJICAgICAgIGtlcm5lbF9jYXBfdCAqIHBlcm1pdHRlZCkKLXsKLQlyZXR1cm4gLUVQRVJNOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9jYXBzZXRfc2V0IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKLQkJCSAgICAgIGtlcm5lbF9jYXBfdCAqIGVmZmVjdGl2ZSwKLQkJCSAgICAgIGtlcm5lbF9jYXBfdCAqIGluaGVyaXRhYmxlLAotCQkJICAgICAga2VybmVsX2NhcF90ICogcGVybWl0dGVkKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9hY2N0IChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9jYXBhYmxlIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNhcCkKLXsKLQlpZiAoY2FwX3JhaXNlZCAodHNrLT5jYXBfZWZmZWN0aXZlLCBjYXApKQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gLUVQRVJNOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3N5c2N0bCAoY3RsX3RhYmxlICogdGFibGUsIGludCBvcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9xdW90YWN0bCAoaW50IGNtZHMsIGludCB0eXBlLCBpbnQgaWQsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfcXVvdGFfb24gKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zeXNsb2cgKGludCB0eXBlKQotewotCWlmICgodHlwZSAhPSAzICYmIHR5cGUgIT0gMTApICYmIGN1cnJlbnQtPmV1aWQpCi0JCXJldHVybiAtRVBFUk07Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2V0dGltZShzdHJ1Y3QgdGltZXNwZWMgKnRzLCBzdHJ1Y3QgdGltZXpvbmUgKnR6KQotewotCWlmICghY2FwYWJsZShDQVBfU1lTX1RJTUUpKQotCQlyZXR1cm4gLUVQRVJNOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3ZtX2Vub3VnaF9tZW1vcnkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIGxvbmcgcGFnZXMpCi17Ci0JaW50IGNhcF9zeXNfYWRtaW4gPSAwOwotCi0JaWYgKGR1bW15X2NhcGFibGUoY3VycmVudCwgQ0FQX1NZU19BRE1JTikgPT0gMCkKLQkJY2FwX3N5c19hZG1pbiA9IDE7Ci0JcmV0dXJuIF9fdm1fZW5vdWdoX21lbW9yeShtbSwgcGFnZXMsIGNhcF9zeXNfYWRtaW4pOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2Jwcm1fYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2Jwcm1fZnJlZV9zZWN1cml0eSAoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2Jwcm1fYXBwbHlfY3JlZHMgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0sIGludCB1bnNhZmUpCi17Ci0JaWYgKGJwcm0tPmVfdWlkICE9IGN1cnJlbnQtPnVpZCB8fCBicHJtLT5lX2dpZCAhPSBjdXJyZW50LT5naWQpIHsKLQkJc2V0X2R1bXBhYmxlKGN1cnJlbnQtPm1tLCBzdWlkX2R1bXBhYmxlKTsKLQotCQlpZiAoKHVuc2FmZSAmIH5MU01fVU5TQUZFX1BUUkFDRV9DQVApICYmICFjYXBhYmxlKENBUF9TRVRVSUQpKSB7Ci0JCQlicHJtLT5lX3VpZCA9IGN1cnJlbnQtPnVpZDsKLQkJCWJwcm0tPmVfZ2lkID0gY3VycmVudC0+Z2lkOwotCQl9Ci0JfQotCi0JY3VycmVudC0+c3VpZCA9IGN1cnJlbnQtPmV1aWQgPSBjdXJyZW50LT5mc3VpZCA9IGJwcm0tPmVfdWlkOwotCWN1cnJlbnQtPnNnaWQgPSBjdXJyZW50LT5lZ2lkID0gY3VycmVudC0+ZnNnaWQgPSBicHJtLT5lX2dpZDsKLQotCWR1bW15X2NhcGdldChjdXJyZW50LCAmY3VycmVudC0+Y2FwX2VmZmVjdGl2ZSwgJmN1cnJlbnQtPmNhcF9pbmhlcml0YWJsZSwgJmN1cnJlbnQtPmNhcF9wZXJtaXR0ZWQpOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9icHJtX3Bvc3RfYXBwbHlfY3JlZHMgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2Jwcm1fc2V0X3NlY3VyaXR5IChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2Jwcm1fY2hlY2tfc2VjdXJpdHkgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfYnBybV9zZWN1cmVleGVjIChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCS8qIFRoZSBuZXcgdXNlcmxhbmQgd2lsbCBzaW1wbHkgdXNlIHRoZSB2YWx1ZSBwcm92aWRlZAotCSAgIGluIHRoZSBBVF9TRUNVUkUgZmllbGQgdG8gZGVjaWRlIHdoZXRoZXIgc2VjdXJlIG1vZGUKLQkgICBpcyByZXF1aXJlZC4gIEhlbmNlLCB0aGlzIGxvZ2ljIGlzIHJlcXVpcmVkIHRvIHByZXNlcnZlCi0JICAgdGhlIGxlZ2FjeSBkZWNpc2lvbiBhbGdvcml0aG0gdXNlZCBieSB0aGUgb2xkIHVzZXJsYW5kLiAqLwotCXJldHVybiAoY3VycmVudC0+ZXVpZCAhPSBjdXJyZW50LT51aWQgfHwKLQkJY3VycmVudC0+ZWdpZCAhPSBjdXJyZW50LT5naWQpOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl9mcmVlX3NlY3VyaXR5IChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9jb3B5X2RhdGEgKGNoYXIgKm9yaWcsIGNoYXIgKmNvcHkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2Jfa2Vybl9tb3VudCAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9zdGF0ZnMgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9tb3VudCAoY2hhciAqZGV2X25hbWUsIHN0cnVjdCBwYXRoICpwYXRoLCBjaGFyICp0eXBlLAotCQkJICAgdW5zaWduZWQgbG9uZyBmbGFncywgdm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9jaGVja19zYiAoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBwYXRoICpwYXRoKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX3Vtb3VudCAoc3RydWN0IHZmc21vdW50ICptbnQsIGludCBmbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfdW1vdW50X2Nsb3NlIChzdHJ1Y3QgdmZzbW91bnQgKm1udCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX3Vtb3VudF9idXN5IChzdHJ1Y3QgdmZzbW91bnQgKm1udCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX3Bvc3RfcmVtb3VudCAoc3RydWN0IHZmc21vdW50ICptbnQsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCi0JCQkJICAgdm9pZCAqZGF0YSkKLXsKLQlyZXR1cm47Ci19Ci0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfcG9zdF9hZGRtb3VudCAoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBwYXRoICpwYXRoKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9waXZvdHJvb3QgKHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl9wb3N0X3Bpdm90cm9vdCAoc3RydWN0IHBhdGggKm9sZF9wYXRoLCBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX2dldF9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAotCQkJCSBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCi17Ci0Jc2VjdXJpdHlfaW5pdF9tbnRfb3B0cyhvcHRzKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9zZXRfbW50X29wdHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKLQkJCQkgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQotewotCWlmICh1bmxpa2VseShvcHRzLT5udW1fbW50X29wdHMpKQotCQlyZXR1cm4gLUVPUE5PVFNVUFA7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX2Nsb25lX21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqb2xkc2IsCi0JCQkJICAgIHN0cnVjdCBzdXBlcl9ibG9jayAqbmV3c2IpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX3BhcnNlX29wdHNfc3RyKGNoYXIgKm9wdGlvbnMsIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9hbGxvY19zZWN1cml0eSAoc3RydWN0IGlub2RlICppbm9kZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfaW5vZGVfZnJlZV9zZWN1cml0eSAoc3RydWN0IGlub2RlICppbm9kZSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfaW5pdF9zZWN1cml0eSAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGlub2RlICpkaXIsCi0JCQkJICAgICAgY2hhciAqKm5hbWUsIHZvaWQgKip2YWx1ZSwgc2l6ZV90ICpsZW4pCi17Ci0JcmV0dXJuIC1FT1BOT1RTVVBQOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2NyZWF0ZSAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAotCQkJICAgICAgIGludCBtYXNrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2xpbmsgKHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQkgICAgIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfdW5saW5rIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfc3ltbGluayAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAotCQkJCWNvbnN0IGNoYXIgKm5hbWUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfbWtkaXIgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKLQkJCSAgICAgIGludCBtYXNrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3JtZGlyIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfbWtub2QgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKLQkJCSAgICAgIGludCBtb2RlLCBkZXZfdCBkZXYpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfcmVuYW1lIChzdHJ1Y3QgaW5vZGUgKm9sZF9pbm9kZSwKLQkJCSAgICAgICBzdHJ1Y3QgZGVudHJ5ICpvbGRfZGVudHJ5LAotCQkJICAgICAgIHN0cnVjdCBpbm9kZSAqbmV3X2lub2RlLAotCQkJICAgICAgIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfcmVhZGxpbmsgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9mb2xsb3dfbGluayAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LAotCQkJCSAgICBzdHJ1Y3QgbmFtZWlkYXRhICpuYW1laWRhdGEpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfcGVybWlzc2lvbiAoc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2ssIHN0cnVjdCBuYW1laWRhdGEgKm5kKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3NldGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlhdHRyICppYXR0cikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9nZXRhdHRyIChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9pbm9kZV9kZWxldGUgKHN0cnVjdCBpbm9kZSAqaW5vKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9zZXR4YXR0ciAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lLAotCQkJCSBjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsIGludCBmbGFncykKLXsKLQlpZiAoIXN0cm5jbXAobmFtZSwgWEFUVFJfU0VDVVJJVFlfUFJFRklYLAotCQkgICAgIHNpemVvZihYQVRUUl9TRUNVUklUWV9QUkVGSVgpIC0gMSkgJiYKLQkgICAgIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCi0JCXJldHVybiAtRVBFUk07Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2lub2RlX3Bvc3Rfc2V0eGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwKLQkJCQkgICAgICAgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLAotCQkJCSAgICAgICBpbnQgZmxhZ3MpCi17Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfZ2V0eGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9saXN0eGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9yZW1vdmV4YXR0ciAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lKQotewotCWlmICghc3RybmNtcChuYW1lLCBYQVRUUl9TRUNVUklUWV9QUkVGSVgsCi0JCSAgICAgc2l6ZW9mKFhBVFRSX1NFQ1VSSVRZX1BSRUZJWCkgLSAxKSAmJgotCSAgICAhY2FwYWJsZShDQVBfU1lTX0FETUlOKSkKLQkJcmV0dXJuIC1FUEVSTTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9uZWVkX2tpbGxwcml2KHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9raWxscHJpdihzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfZ2V0c2VjdXJpdHkoY29uc3Qgc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqKmJ1ZmZlciwgYm9vbCBhbGxvYykKLXsKLQlyZXR1cm4gLUVPUE5PVFNVUFA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfc2V0c2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIC1FT1BOT1RTVVBQOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2xpc3RzZWN1cml0eShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjaGFyICpidWZmZXIsIHNpemVfdCBidWZmZXJfc2l6ZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfaW5vZGVfZ2V0c2VjaWQoY29uc3Qgc3RydWN0IGlub2RlICppbm9kZSwgdTMyICpzZWNpZCkKLXsKLQkqc2VjaWQgPSAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfcGVybWlzc2lvbiAoc3RydWN0IGZpbGUgKmZpbGUsIGludCBtYXNrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBmaWxlICpmaWxlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9maWxlX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBmaWxlICpmaWxlKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX2lvY3RsIChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNvbW1hbmQsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfbW1hcCAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGxvbmcgcmVxcHJvdCwKLQkJCSAgICB1bnNpZ25lZCBsb25nIHByb3QsCi0JCQkgICAgdW5zaWduZWQgbG9uZyBmbGFncywKLQkJCSAgICB1bnNpZ25lZCBsb25nIGFkZHIsCi0JCQkgICAgdW5zaWduZWQgbG9uZyBhZGRyX29ubHkpCi17Ci0JaWYgKChhZGRyIDwgbW1hcF9taW5fYWRkcikgJiYgIWNhcGFibGUoQ0FQX1NZU19SQVdJTykpCi0JCXJldHVybiAtRUFDQ0VTOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfbXByb3RlY3QgKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAotCQkJCXVuc2lnbmVkIGxvbmcgcmVxcHJvdCwKLQkJCQl1bnNpZ25lZCBsb25nIHByb3QpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9sb2NrIChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX2ZjbnRsIChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKLQkJCSAgICAgdW5zaWduZWQgbG9uZyBhcmcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9zZXRfZm93bmVyIChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX3NlbmRfc2lnaW90YXNrIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywKLQkJCQkgICAgICBzdHJ1Y3QgZm93bl9zdHJ1Y3QgKmZvd24sIGludCBzaWcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9yZWNlaXZlIChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9kZW50cnlfb3BlbiAoc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19jcmVhdGUgKHVuc2lnbmVkIGxvbmcgY2xvbmVfZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19hbGxvY19zZWN1cml0eSAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV90YXNrX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXR1aWQgKHVpZF90IGlkMCwgdWlkX3QgaWQxLCB1aWRfdCBpZDIsIGludCBmbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3Bvc3Rfc2V0dWlkICh1aWRfdCBpZDAsIHVpZF90IGlkMSwgdWlkX3QgaWQyLCBpbnQgZmxhZ3MpCi17Ci0JZHVtbXlfY2FwZ2V0KGN1cnJlbnQsICZjdXJyZW50LT5jYXBfZWZmZWN0aXZlLCAmY3VycmVudC0+Y2FwX2luaGVyaXRhYmxlLCAmY3VycmVudC0+Y2FwX3Blcm1pdHRlZCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRnaWQgKGdpZF90IGlkMCwgZ2lkX3QgaWQxLCBnaWRfdCBpZDIsIGludCBmbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldHBnaWQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgcGlkX3QgcGdpZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX2dldHBnaWQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX2dldHNpZCAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV90YXNrX2dldHNlY2lkIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHUzMiAqc2VjaWQpCi17Ci0JKnNlY2lkID0gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldGdyb3VwcyAoc3RydWN0IGdyb3VwX2luZm8gKmdyb3VwX2luZm8pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRuaWNlIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBuaWNlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0aW9wcmlvIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBpb3ByaW8pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19nZXRpb3ByaW8gKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldHJsaW1pdCAodW5zaWduZWQgaW50IHJlc291cmNlLCBzdHJ1Y3QgcmxpbWl0ICpuZXdfcmxpbSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldHNjaGVkdWxlciAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgcG9saWN5LAotCQkJCSAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKmxwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfZ2V0c2NoZWR1bGVyIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19tb3ZlbWVtb3J5IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza193YWl0IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19raWxsIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHN0cnVjdCBzaWdpbmZvICppbmZvLAotCQkJICAgIGludCBzaWcsIHUzMiBzZWNpZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3ByY3RsIChpbnQgb3B0aW9uLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMywKLQkJCSAgICAgdW5zaWduZWQgbG9uZyBhcmc0LCB1bnNpZ25lZCBsb25nIGFyZzUsIGxvbmcgKnJjX3ApCi17Ci0Jc3dpdGNoIChvcHRpb24pIHsKLQljYXNlIFBSX0NBUEJTRVRfUkVBRDoKLQkJKnJjX3AgPSAoY2FwX3ZhbGlkKGFyZzIpID8gMSA6IC1FSU5WQUwpOwotCQlicmVhazsKLQljYXNlIFBSX0dFVF9LRUVQQ0FQUzoKLQkJKnJjX3AgPSBpc3NlY3VyZShTRUNVUkVfS0VFUF9DQVBTKTsKLQkJYnJlYWs7Ci0JY2FzZSBQUl9TRVRfS0VFUENBUFM6Ci0JCWlmIChhcmcyID4gMSkKLQkJCSpyY19wID0gLUVJTlZBTDsKLQkJZWxzZSBpZiAoYXJnMikKLQkJCWN1cnJlbnQtPnNlY3VyZWJpdHMgfD0gaXNzZWN1cmVfbWFzayhTRUNVUkVfS0VFUF9DQVBTKTsKLQkJZWxzZQotCQkJY3VycmVudC0+c2VjdXJlYml0cyAmPQotCQkJCX5pc3NlY3VyZV9tYXNrKFNFQ1VSRV9LRUVQX0NBUFMpOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQlyZXR1cm4gMDsKLQl9Ci0KLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfdGFza19yZXBhcmVudF90b19pbml0IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcC0+ZXVpZCA9IHAtPmZzdWlkID0gMDsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3Rhc2tfdG9faW5vZGUoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQoteyB9Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaXBjX3Blcm1pc3Npb24gKHN0cnVjdCBrZXJuX2lwY19wZXJtICppcGNwLCBzaG9ydCBmbGFnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9pcGNfZ2V0c2VjaWQoc3RydWN0IGtlcm5faXBjX3Blcm0gKmlwY3AsIHUzMiAqc2VjaWQpCi17Ci0JKnNlY2lkID0gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfbXNnX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3QgbXNnX21zZyAqbXNnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9tc2dfbXNnX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBtc2dfbXNnICptc2cpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X21zZ19xdWV1ZV9hbGxvY19zZWN1cml0eSAoc3RydWN0IG1zZ19xdWV1ZSAqbXNxKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9tc2dfcXVldWVfZnJlZV9zZWN1cml0eSAoc3RydWN0IG1zZ19xdWV1ZSAqbXNxKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfcXVldWVfYXNzb2NpYXRlIChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIAotCQkJCSAgICAgIGludCBtc3FmbGcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbXNnX3F1ZXVlX21zZ2N0bCAoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBpbnQgY21kKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X21zZ19xdWV1ZV9tc2dzbmQgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgc3RydWN0IG1zZ19tc2cgKm1zZywKLQkJCQkgICBpbnQgbXNnZmxnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X21zZ19xdWV1ZV9tc2dyY3YgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgc3RydWN0IG1zZ19tc2cgKm1zZywKLQkJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwgbG9uZyB0eXBlLAotCQkJCSAgIGludCBtb2RlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NobV9hbGxvY19zZWN1cml0eSAoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zaG1fZnJlZV9zZWN1cml0eSAoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zaG1fYXNzb2NpYXRlIChzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHAsIGludCBzaG1mbGcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2htX3NobWN0bCAoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBpbnQgY21kKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NobV9zaG1hdCAoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBjaGFyIF9fdXNlciAqc2htYWRkciwKLQkJCSAgICBpbnQgc2htZmxnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlbV9hbGxvY19zZWN1cml0eSAoc3RydWN0IHNlbV9hcnJheSAqc21hKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zZW1fZnJlZV9zZWN1cml0eSAoc3RydWN0IHNlbV9hcnJheSAqc21hKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZW1fYXNzb2NpYXRlIChzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEsIGludCBzZW1mbGcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2VtX3NlbWN0bCAoc3RydWN0IHNlbV9hcnJheSAqc21hLCBpbnQgY21kKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlbV9zZW1vcCAoc3RydWN0IHNlbV9hcnJheSAqc21hLCAKLQkJCSAgICBzdHJ1Y3Qgc2VtYnVmICpzb3BzLCB1bnNpZ25lZCBuc29wcywgaW50IGFsdGVyKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X25ldGxpbmtfc2VuZCAoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQotewotCU5FVExJTktfQ0Ioc2tiKS5lZmZfY2FwID0gY3VycmVudC0+Y2FwX2VmZmVjdGl2ZTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9uZXRsaW5rX3JlY3YgKHN0cnVjdCBza19idWZmICpza2IsIGludCBjYXApCi17Ci0JaWYgKCFjYXBfcmFpc2VkIChORVRMSU5LX0NCIChza2IpLmVmZl9jYXAsIGNhcCkpCi0JCXJldHVybiAtRVBFUk07Ci0JcmV0dXJuIDA7Ci19Ci0KLSNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSwotc3RhdGljIGludCBkdW1teV91bml4X3N0cmVhbV9jb25uZWN0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLAotCQkJCSAgICAgIHN0cnVjdCBzb2NrZXQgKm90aGVyLAotCQkJCSAgICAgIHN0cnVjdCBzb2NrICpuZXdzaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV91bml4X21heV9zZW5kIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLAotCQkJCXN0cnVjdCBzb2NrZXQgKm90aGVyKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9jcmVhdGUgKGludCBmYW1pbHksIGludCB0eXBlLAotCQkJCWludCBwcm90b2NvbCwgaW50IGtlcm4pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X3Bvc3RfY3JlYXRlIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgZmFtaWx5LCBpbnQgdHlwZSwKLQkJCQkgICAgIGludCBwcm90b2NvbCwgaW50IGtlcm4pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2JpbmQgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqYWRkcmVzcywKLQkJCSAgICAgIGludCBhZGRybGVuKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9jb25uZWN0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHJlc3MsCi0JCQkJIGludCBhZGRybGVuKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9saXN0ZW4gKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBiYWNrbG9nKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9hY2NlcHQgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXQgKm5ld3NvY2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NvY2tldF9wb3N0X2FjY2VwdCAoc3RydWN0IHNvY2tldCAqc29jaywgCi0JCQkJICAgICAgc3RydWN0IHNvY2tldCAqbmV3c29jaykKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X3NlbmRtc2cgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBtc2doZHIgKm1zZywKLQkJCQkgaW50IHNpemUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X3JlY3Ztc2cgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBtc2doZHIgKm1zZywKLQkJCQkgaW50IHNpemUsIGludCBmbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfZ2V0c29ja25hbWUgKHN0cnVjdCBzb2NrZXQgKnNvY2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2dldHBlZXJuYW1lIChzdHJ1Y3Qgc29ja2V0ICpzb2NrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9zZXRzb2Nrb3B0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGV2ZWwsIGludCBvcHRuYW1lKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9nZXRzb2Nrb3B0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGV2ZWwsIGludCBvcHRuYW1lKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9zaHV0ZG93biAoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGhvdykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfc29ja19yY3Zfc2tiIChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2dldHBlZXJzZWNfc3RyZWFtKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGNoYXIgX191c2VyICpvcHR2YWwsCi0JCQkJCSAgaW50IF9fdXNlciAqb3B0bGVuLCB1bnNpZ25lZCBsZW4pCi17Ci0JcmV0dXJuIC1FTk9QUk9UT09QVDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfZ2V0cGVlcnNlY19kZ3JhbShzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MzIgKnNlY2lkKQotewotCXJldHVybiAtRU5PUFJPVE9PUFQ7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X3NrX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3Qgc29jayAqc2ssIGludCBmYW1pbHksIGdmcF90IHByaW9yaXR5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfc2tfZnJlZV9zZWN1cml0eSAoc3RydWN0IHNvY2sgKnNrKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfc2tfY2xvbmVfc2VjdXJpdHkgKGNvbnN0IHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNvY2sgKm5ld3NrKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfc2tfZ2V0c2VjaWQoc3RydWN0IHNvY2sgKnNrLCB1MzIgKnNlY2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfc29ja19ncmFmdChzdHJ1Y3Qgc29jayogc2ssIHN0cnVjdCBzb2NrZXQgKnBhcmVudCkKLXsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfaW5ldF9jb25uX3JlcXVlc3Qoc3RydWN0IHNvY2sgKnNrLAotCQkJc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfaW5ldF9jc2tfY2xvbmUoc3RydWN0IHNvY2sgKm5ld3NrLAotCQkJY29uc3Qgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfaW5ldF9jb25uX2VzdGFibGlzaGVkKHN0cnVjdCBzb2NrICpzaywKLQkJCXN0cnVjdCBza19idWZmICpza2IpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9yZXFfY2xhc3NpZnlfZmxvdyhjb25zdCBzdHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXEsCi0JCQlzdHJ1Y3QgZmxvd2kgKmZsKQotewotfQotI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLICovCi0KLSNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fcG9saWN5X2FsbG9jX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKipjdHhwLAotCQkJCQkgICAgc3RydWN0IHhmcm1fdXNlcl9zZWNfY3R4ICpzZWNfY3R4KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV94ZnJtX3BvbGljeV9jbG9uZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICpvbGRfY3R4LAotCQkJCQkgICBzdHJ1Y3QgeGZybV9zZWNfY3R4ICoqbmV3X2N0eHApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3hmcm1fcG9saWN5X2ZyZWVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4KQotewotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fcG9saWN5X2RlbGV0ZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICpjdHgpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfeGZybV9zdGF0ZV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCwKLQlzdHJ1Y3QgeGZybV91c2VyX3NlY19jdHggKnNlY19jdHgsIHUzMiBzZWNpZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfeGZybV9zdGF0ZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3N0YXRlICp4KQotewotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fc3RhdGVfZGVsZXRlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3N0YXRlICp4KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fcG9saWN5X2xvb2t1cChzdHJ1Y3QgeGZybV9zZWNfY3R4ICpjdHgsCi0JCQkJICAgIHUzMiBza19zaWQsIHU4IGRpcikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV94ZnJtX3N0YXRlX3BvbF9mbG93X21hdGNoKHN0cnVjdCB4ZnJtX3N0YXRlICp4LAotCQkJCXN0cnVjdCB4ZnJtX3BvbGljeSAqeHAsIHN0cnVjdCBmbG93aSAqZmwpCi17Ci0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfeGZybV9kZWNvZGVfc2Vzc2lvbihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MzIgKmZsLCBpbnQgY2thbGwpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLSNlbmRpZiAvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNICovCi1zdGF0aWMgaW50IGR1bW15X3JlZ2lzdGVyX3NlY3VyaXR5IChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKQotewotCXJldHVybiAtRUlOVkFMOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9kX2luc3RhbnRpYXRlIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2dldHByb2NhdHRyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY2hhciAqbmFtZSwgY2hhciAqKnZhbHVlKQotewotCXJldHVybiAtRUlOVkFMOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NldHByb2NhdHRyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY2hhciAqbmFtZSwgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplKQotewotCXJldHVybiAtRUlOVkFMOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlY2lkX3RvX3NlY2N0eCh1MzIgc2VjaWQsIGNoYXIgKipzZWNkYXRhLCB1MzIgKnNlY2xlbikKLXsKLQlyZXR1cm4gLUVPUE5PVFNVUFA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2VjY3R4X3RvX3NlY2lkKGNvbnN0IGNoYXIgKnNlY2RhdGEsIHUzMiBzZWNsZW4sIHUzMiAqc2VjaWQpCi17Ci0JcmV0dXJuIC1FT1BOT1RTVVBQOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9yZWxlYXNlX3NlY2N0eChjaGFyICpzZWNkYXRhLCB1MzIgc2VjbGVuKQotewotfQotCi0jaWZkZWYgQ09ORklHX0tFWVMKLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2tleV9hbGxvYyhzdHJ1Y3Qga2V5ICprZXksIHN0cnVjdCB0YXNrX3N0cnVjdCAqY3R4LAotCQkJCSAgdW5zaWduZWQgbG9uZyBmbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X2tleV9mcmVlKHN0cnVjdCBrZXkgKmtleSkKLXsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfa2V5X3Blcm1pc3Npb24oa2V5X3JlZl90IGtleV9yZWYsCi0JCQkJICAgICAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqY29udGV4dCwKLQkJCQkgICAgICAga2V5X3Blcm1fdCBwZXJtKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2tleV9nZXRzZWN1cml0eShzdHJ1Y3Qga2V5ICprZXksIGNoYXIgKipfYnVmZmVyKQotewotCSpfYnVmZmVyID0gTlVMTDsKLQlyZXR1cm4gMDsKLX0KLQotI2VuZGlmIC8qIENPTkZJR19LRVlTICovCi0KLSNpZmRlZiBDT05GSUdfQVVESVQKLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2F1ZGl0X3J1bGVfaW5pdCh1MzIgZmllbGQsIHUzMiBvcCwgY2hhciAqcnVsZXN0ciwKLQkJCQkJdm9pZCAqKmxzbXJ1bGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2F1ZGl0X3J1bGVfa25vd24oc3RydWN0IGF1ZGl0X2tydWxlICprcnVsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfYXVkaXRfcnVsZV9tYXRjaCh1MzIgc2VjaWQsIHUzMiBmaWVsZCwgdTMyIG9wLAotCQkJCQkgdm9pZCAqbHNtcnVsZSwKLQkJCQkJIHN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfYXVkaXRfcnVsZV9mcmVlKHZvaWQgKmxzbXJ1bGUpCi17IH0KLQotI2VuZGlmIC8qIENPTkZJR19BVURJVCAqLwotCi1zdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBkdW1teV9zZWN1cml0eV9vcHMgPSB7Ci0JLm5hbWUgPSAiZHVtbXkiLAotfTsKLQotI2RlZmluZSBzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZ1bmN0aW9uKQkJCQlcCi0JZG8gewkJCQkJCQkJXAotCQlpZiAoIW9wcy0+ZnVuY3Rpb24pIHsJCQkJCVwKLQkJCW9wcy0+ZnVuY3Rpb24gPSBkdW1teV8jI2Z1bmN0aW9uOwkJXAotCQkJcHJfZGVidWcoIkhhZCB0byBvdmVycmlkZSB0aGUgIiAjZnVuY3Rpb24JXAotCQkJCSAiIHNlY3VyaXR5IG9wZXJhdGlvbiB3aXRoIHRoZSBkdW1teSBvbmUuXG4iKTtcCi0JCQl9CQkJCQkJXAotCX0gd2hpbGUgKDApCi0KLXZvaWQgc2VjdXJpdHlfZml4dXBfb3BzIChzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKQotewotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgcHRyYWNlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGNhcGdldCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBjYXBzZXRfY2hlY2spOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgY2Fwc2V0X3NldCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBhY2N0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGNhcGFibGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgcXVvdGFjdGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgcXVvdGFfb24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc3lzY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHN5c2xvZyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZXR0aW1lKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHZtX2Vub3VnaF9tZW1vcnkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBicHJtX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9hcHBseV9jcmVkcyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBicHJtX3Bvc3RfYXBwbHlfY3JlZHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9zZXRfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9jaGVja19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBicHJtX3NlY3VyZWV4ZWMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9jb3B5X2RhdGEpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2Jfa2Vybl9tb3VudCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9zdGF0ZnMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfbW91bnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfY2hlY2tfc2IpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfdW1vdW50KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Vtb3VudF9jbG9zZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl91bW91bnRfYnVzeSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9wb3N0X3JlbW91bnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfcG9zdF9hZGRtb3VudCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9waXZvdHJvb3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfcG9zdF9waXZvdHJvb3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfZ2V0X21udF9vcHRzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3NldF9tbnRfb3B0cyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9jbG9uZV9tbnRfb3B0cyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9wYXJzZV9vcHRzX3N0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2luaXRfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfY3JlYXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2xpbmspOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfdW5saW5rKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3N5bWxpbmspOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfbWtkaXIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfcm1kaXIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfbWtub2QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfcmVuYW1lKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3JlYWRsaW5rKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2ZvbGxvd19saW5rKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3Blcm1pc3Npb24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfc2V0YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9nZXRhdHRyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2RlbGV0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9zZXR4YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9wb3N0X3NldHhhdHRyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2dldHhhdHRyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2xpc3R4YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9yZW1vdmV4YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9uZWVkX2tpbGxwcml2KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2tpbGxwcml2KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2dldHNlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3NldHNlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2xpc3RzZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9nZXRzZWNpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX3Blcm1pc3Npb24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9pb2N0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX21tYXApOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9tcHJvdGVjdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX2xvY2spOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9mY250bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX3NldF9mb3duZXIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9zZW5kX3NpZ2lvdGFzayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX3JlY2VpdmUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZGVudHJ5X29wZW4pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19jcmVhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXR1aWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19wb3N0X3NldHVpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldGdpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldHBnaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19nZXRwZ2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2VjaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRncm91cHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRuaWNlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0aW9wcmlvKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZ2V0aW9wcmlvKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0cmxpbWl0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0c2NoZWR1bGVyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2NoZWR1bGVyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfbW92ZW1lbW9yeSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3dhaXQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19raWxsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfcHJjdGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19yZXBhcmVudF90b19pbml0KTsKLSAJc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3RvX2lub2RlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlwY19wZXJtaXNzaW9uKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlwY19nZXRzZWNpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfbXNnX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19tc2dfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfcXVldWVfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX2Fzc29jaWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNnY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2dzbmQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX21zZ3Jjdik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzaG1fYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2htX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2htX2Fzc29jaWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzaG1fc2htY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNobV9zaG1hdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZW1fYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VtX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VtX2Fzc29jaWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZW1fc2VtY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlbV9zZW1vcCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBuZXRsaW5rX3NlbmQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbmV0bGlua19yZWN2KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHJlZ2lzdGVyX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGRfaW5zdGFudGlhdGUpOwotIAlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGdldHByb2NhdHRyKTsKLSAJc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZXRwcm9jYXR0cik7Ci0gCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VjaWRfdG9fc2VjY3R4KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlY2N0eF90b19zZWNpZCk7Ci0gCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgcmVsZWFzZV9zZWNjdHgpOwotI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLCi0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB1bml4X3N0cmVhbV9jb25uZWN0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHVuaXhfbWF5X3NlbmQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2NyZWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfcG9zdF9jcmVhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2JpbmQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2Nvbm5lY3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2xpc3Rlbik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfYWNjZXB0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9wb3N0X2FjY2VwdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfc2VuZG1zZyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfcmVjdm1zZyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfZ2V0c29ja25hbWUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2dldHBlZXJuYW1lKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9zZXRzb2Nrb3B0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRzb2Nrb3B0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9zaHV0ZG93bik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfc29ja19yY3Zfc2tiKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVyc2VjX3N0cmVhbSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfZ2V0cGVlcnNlY19kZ3JhbSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBza19hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBza19mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNrX2Nsb25lX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNrX2dldHNlY2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tfZ3JhZnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5ldF9jb25uX3JlcXVlc3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5ldF9jc2tfY2xvbmUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5ldF9jb25uX2VzdGFibGlzaGVkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHJlcV9jbGFzc2lmeV9mbG93KTsKLSAjZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUksgKi8KLSNpZmRlZiAgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTQotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfY2xvbmVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9kZWxldGVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9kZWxldGVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfbG9va3VwKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfcG9sX2Zsb3dfbWF0Y2gpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9kZWNvZGVfc2Vzc2lvbik7Ci0jZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSAqLwotI2lmZGVmIENPTkZJR19LRVlTCi0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBrZXlfYWxsb2MpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywga2V5X2ZyZWUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywga2V5X3Blcm1pc3Npb24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywga2V5X2dldHNlY3VyaXR5KTsKLSNlbmRpZgkvKiBDT05GSUdfS0VZUyAqLwotI2lmZGVmIENPTkZJR19BVURJVAotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9pbml0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfa25vd24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9tYXRjaCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2ZyZWUpOwotI2VuZGlmCi19Ci0KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3Jvb3RfcGx1Zy5jIGIvc2VjdXJpdHkvcm9vdF9wbHVnLmMKaW5kZXggYTQxY2Y0Mi4uYmUwZWJlYyAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvcm9vdF9wbHVnLmMKKysrIGIvc2VjdXJpdHkvcm9vdF9wbHVnLmMKQEAgLTI4LDkgKzI4LDYgQEAKICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogCi0vKiBmbGFnIHRvIGtlZXAgdHJhY2sgb2YgaG93IHdlIHdlcmUgcmVnaXN0ZXJlZCAqLwotc3RhdGljIGludCBzZWNvbmRhcnk7Ci0KIC8qIGRlZmF1bHQgaXMgYSBnZW5lcmljIHR5cGUgb2YgdXNiIHRvIHNlcmlhbCBjb252ZXJ0ZXIgKi8KIHN0YXRpYyBpbnQgdmVuZG9yX2lkID0gMHgwNTU3Owogc3RhdGljIGludCBwcm9kdWN0X2lkID0gMHgyMDA4OwpAQCAtOTcsMTMgKzk0LDcgQEAKIAlpZiAocmVnaXN0ZXJfc2VjdXJpdHkgKCZyb290cGx1Z19zZWN1cml0eV9vcHMpKSB7CiAJCXByaW50ayAoS0VSTl9JTkZPIAogCQkJIkZhaWx1cmUgcmVnaXN0ZXJpbmcgUm9vdCBQbHVnIG1vZHVsZSB3aXRoIHRoZSBrZXJuZWxcbiIpOwotCQkvKiB0cnkgcmVnaXN0ZXJpbmcgd2l0aCBwcmltYXJ5IG1vZHVsZSAqLwotCQlpZiAobW9kX3JlZ19zZWN1cml0eSAoTVlfTkFNRSwgJnJvb3RwbHVnX3NlY3VyaXR5X29wcykpIHsKLQkJCXByaW50ayAoS0VSTl9JTkZPICJGYWlsdXJlIHJlZ2lzdGVyaW5nIFJvb3QgUGx1ZyAiCi0JCQkJIiBtb2R1bGUgd2l0aCBwcmltYXJ5IHNlY3VyaXR5IG1vZHVsZS5cbiIpOwogCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KLQkJc2Vjb25kYXJ5ID0gMTsKIAl9CiAJcHJpbnRrIChLRVJOX0lORk8gIlJvb3QgUGx1ZyBtb2R1bGUgaW5pdGlhbGl6ZWQsICIKIAkJInZlbmRvcl9pZCA9ICU0LjR4LCBwcm9kdWN0IGlkID0gJTQuNHhcbiIsIHZlbmRvcl9pZCwgcHJvZHVjdF9pZCk7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWN1cml0eS5jIGIvc2VjdXJpdHkvc2VjdXJpdHkuYwppbmRleCA1OTgzOGE5Li41OWYyM2I1IDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWN1cml0eS5jCisrKyBiL3NlY3VyaXR5L3NlY3VyaXR5LmMKQEAgLTIwLDggKzIwLDggQEAKIC8qIEJvb3QtdGltZSBMU00gdXNlciBjaG9pY2UgKi8KIHN0YXRpYyBfX2luaXRkYXRhIGNoYXIgY2hvc2VuX2xzbVtTRUNVUklUWV9OQU1FX01BWCArIDFdOwogCi0vKiB0aGluZ3MgdGhhdCBsaXZlIGluIGR1bW15LmMgKi8KLWV4dGVybiBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBkdW1teV9zZWN1cml0eV9vcHM7CisvKiB0aGluZ3MgdGhhdCBsaXZlIGluIGNhcGFiaWxpdHkuYyAqLworZXh0ZXJuIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIGRlZmF1bHRfc2VjdXJpdHlfb3BzOwogZXh0ZXJuIHZvaWQgc2VjdXJpdHlfZml4dXBfb3BzKHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpOwogCiBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqc2VjdXJpdHlfb3BzOwkvKiBJbml0aWFsaXplZCB0byBOVUxMICovCkBAIC01NywxMyArNTcsOCBAQAogewogCXByaW50ayhLRVJOX0lORk8gIlNlY3VyaXR5IEZyYW1ld29yayBpbml0aWFsaXplZFxuIik7CiAKLQlpZiAodmVyaWZ5KCZkdW1teV9zZWN1cml0eV9vcHMpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiJXMgY291bGQgbm90IHZlcmlmeSAiCi0JCSAgICAgICAiZHVtbXlfc2VjdXJpdHlfb3BzIHN0cnVjdHVyZS5cbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIC1FSU87Ci0JfQotCi0Jc2VjdXJpdHlfb3BzID0gJmR1bW15X3NlY3VyaXR5X29wczsKKwlzZWN1cml0eV9maXh1cF9vcHMoJmRlZmF1bHRfc2VjdXJpdHlfb3BzKTsKKwlzZWN1cml0eV9vcHMgPSAmZGVmYXVsdF9zZWN1cml0eV9vcHM7CiAJZG9fc2VjdXJpdHlfaW5pdGNhbGxzKCk7CiAKIAlyZXR1cm4gMDsKQEAgLTEyMiw3ICsxMTcsNyBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlpZiAoc2VjdXJpdHlfb3BzICE9ICZkdW1teV9zZWN1cml0eV9vcHMpCisJaWYgKHNlY3VyaXR5X29wcyAhPSAmZGVmYXVsdF9zZWN1cml0eV9vcHMpCiAJCXJldHVybiAtRUFHQUlOOwogCiAJc2VjdXJpdHlfb3BzID0gb3BzOwpAQCAtMTMwLDQwICsxMjUsMTIgQEAKIAlyZXR1cm4gMDsKIH0KIAotLyoqCi0gKiBtb2RfcmVnX3NlY3VyaXR5IC0gYWxsb3dzIHNlY3VyaXR5IG1vZHVsZXMgdG8gYmUgInN0YWNrZWQiCi0gKiBAbmFtZTogYSBwb2ludGVyIHRvIGEgc3RyaW5nIHdpdGggdGhlIG5hbWUgb2YgdGhlIHNlY3VyaXR5X29wdGlvbnMgdG8gYmUgcmVnaXN0ZXJlZAotICogQG9wczogYSBwb2ludGVyIHRvIHRoZSBzdHJ1Y3Qgc2VjdXJpdHlfb3B0aW9ucyB0aGF0IGlzIHRvIGJlIHJlZ2lzdGVyZWQKLSAqCi0gKiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBzZWN1cml0eSBtb2R1bGVzIHRvIGJlIHN0YWNrZWQgaWYgdGhlIGN1cnJlbnRseSBsb2FkZWQKLSAqIHNlY3VyaXR5IG1vZHVsZSBhbGxvd3MgdGhpcyB0byBoYXBwZW4uICBJdCBwYXNzZXMgdGhlIEBuYW1lIGFuZCBAb3BzIHRvIHRoZQotICogcmVnaXN0ZXJfc2VjdXJpdHkgZnVuY3Rpb24gb2YgdGhlIGN1cnJlbnRseSBsb2FkZWQgc2VjdXJpdHkgbW9kdWxlLgotICoKLSAqIFRoZSByZXR1cm4gdmFsdWUgZGVwZW5kcyBvbiB0aGUgY3VycmVudGx5IGxvYWRlZCBzZWN1cml0eSBtb2R1bGUsIHdpdGggMCBhcwotICogc3VjY2Vzcy4KLSAqLwotaW50IG1vZF9yZWdfc2VjdXJpdHkoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKLXsKLQlpZiAodmVyaWZ5KG9wcykpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiJXMgY291bGQgbm90IHZlcmlmeSAiCi0JCSAgICAgICAic2VjdXJpdHkgb3BlcmF0aW9ucy5cbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JaWYgKG9wcyA9PSBzZWN1cml0eV9vcHMpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiJXMgc2VjdXJpdHkgb3BlcmF0aW9ucyAiCi0JCSAgICAgICAiYWxyZWFkeSByZWdpc3RlcmVkLlxuIiwgX19mdW5jX18pOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlyZXR1cm4gc2VjdXJpdHlfb3BzLT5yZWdpc3Rlcl9zZWN1cml0eShuYW1lLCBvcHMpOwotfQotCiAvKiBTZWN1cml0eSBvcGVyYXRpb25zICovCiAKLWludCBzZWN1cml0eV9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpCitpbnQgc2VjdXJpdHlfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkgICAgdW5zaWduZWQgaW50IG1vZGUpCiB7Ci0JcmV0dXJuIHNlY3VyaXR5X29wcy0+cHRyYWNlKHBhcmVudCwgY2hpbGQpOworCXJldHVybiBzZWN1cml0eV9vcHMtPnB0cmFjZShwYXJlbnQsIGNoaWxkLCBtb2RlKTsKIH0KIAogaW50IHNlY3VyaXR5X2NhcGdldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKQEAgLTI5MSw2ICsyNTgsMTEgQEAKIAlyZXR1cm4gc2VjdXJpdHlfb3BzLT5zYl9rZXJuX21vdW50KHNiLCBkYXRhKTsKIH0KIAoraW50IHNlY3VyaXR5X3NiX3Nob3dfb3B0aW9ucyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJcmV0dXJuIHNlY3VyaXR5X29wcy0+c2Jfc2hvd19vcHRpb25zKG0sIHNiKTsKK30KKwogaW50IHNlY3VyaXR5X3NiX3N0YXRmcyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJcmV0dXJuIHNlY3VyaXR5X29wcy0+c2Jfc3RhdGZzKGRlbnRyeSk7CkBAIC0zNDIsMTIgKzMxNCw2IEBACiAJc2VjdXJpdHlfb3BzLT5zYl9wb3N0X3Bpdm90cm9vdChvbGRfcGF0aCwgbmV3X3BhdGgpOwogfQogCi1pbnQgc2VjdXJpdHlfc2JfZ2V0X21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCi0JCQkJc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQotewotCXJldHVybiBzZWN1cml0eV9vcHMtPnNiX2dldF9tbnRfb3B0cyhzYiwgb3B0cyk7Ci19Ci0KIGludCBzZWN1cml0eV9zYl9zZXRfbW50X29wdHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCQlzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCiB7CkBAIC04OTQsNyArODYwLDcgQEAKIAogdm9pZCBzZWN1cml0eV9yZWxlYXNlX3NlY2N0eChjaGFyICpzZWNkYXRhLCB1MzIgc2VjbGVuKQogewotCXJldHVybiBzZWN1cml0eV9vcHMtPnJlbGVhc2Vfc2VjY3R4KHNlY2RhdGEsIHNlY2xlbik7CisJc2VjdXJpdHlfb3BzLT5yZWxlYXNlX3NlY2N0eChzZWNkYXRhLCBzZWNsZW4pOwogfQogRVhQT1JUX1NZTUJPTChzZWN1cml0eV9yZWxlYXNlX3NlY2N0eCk7CiAKQEAgLTEwMTEsMTIgKzk3NywxMiBAQAogCiB2b2lkIHNlY3VyaXR5X3NrX2ZyZWUoc3RydWN0IHNvY2sgKnNrKQogewotCXJldHVybiBzZWN1cml0eV9vcHMtPnNrX2ZyZWVfc2VjdXJpdHkoc2spOworCXNlY3VyaXR5X29wcy0+c2tfZnJlZV9zZWN1cml0eShzayk7CiB9CiAKIHZvaWQgc2VjdXJpdHlfc2tfY2xvbmUoY29uc3Qgc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc29jayAqbmV3c2spCiB7Ci0JcmV0dXJuIHNlY3VyaXR5X29wcy0+c2tfY2xvbmVfc2VjdXJpdHkoc2ssIG5ld3NrKTsKKwlzZWN1cml0eV9vcHMtPnNrX2Nsb25lX3NlY3VyaXR5KHNrLCBuZXdzayk7CiB9CiAKIHZvaWQgc2VjdXJpdHlfc2tfY2xhc3NpZnlfZmxvdyhzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBmbG93aSAqZmwpCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMgYi9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMKaW5kZXggMWM4NjRjMC4uNjNmMTMxZiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYwpAQCAtOSw3ICs5LDggQEAKICAqCSAgICAgIEphbWVzIE1vcnJpcyA8am1vcnJpc0ByZWRoYXQuY29tPgogICoKICAqICBDb3B5cmlnaHQgKEMpIDIwMDEsMjAwMiBOZXR3b3JrcyBBc3NvY2lhdGVzIFRlY2hub2xvZ3ksIEluYy4KLSAqICBDb3B5cmlnaHQgKEMpIDIwMDMgUmVkIEhhdCwgSW5jLiwgSmFtZXMgTW9ycmlzIDxqbW9ycmlzQHJlZGhhdC5jb20+CisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLTIwMDggUmVkIEhhdCwgSW5jLiwgSmFtZXMgTW9ycmlzIDxqbW9ycmlzQHJlZGhhdC5jb20+CisgKgkJCQkJICAgRXJpYyBQYXJpcyA8ZXBhcmlzQHJlZGhhdC5jb20+CiAgKiAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDUgVHJ1c3RlZCBDb21wdXRlciBTb2x1dGlvbnMsIEluYy4KICAqCQkJICAgIDxkZ29lZGRlbEB0cnVzdGVkY3MuY29tPgogICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBIZXdsZXR0LVBhY2thcmQgRGV2ZWxvcG1lbnQgQ29tcGFueSwgTC5QLgpAQCAtNDIsOSArNDMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZkdGFibGUuaD4KICNpbmNsdWRlIDxsaW51eC9uYW1laS5oPgogI2luY2x1ZGUgPGxpbnV4L21vdW50Lmg+Ci0jaW5jbHVkZSA8bGludXgvZXh0Ml9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KLSNpbmNsdWRlIDxsaW51eC9rZC5oPgogI2luY2x1ZGUgPGxpbnV4L25ldGZpbHRlcl9pcHY0Lmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZmlsdGVyX2lwdjYuaD4KICNpbmNsdWRlIDxsaW51eC90dHkuaD4KQEAgLTUzLDcgKzUyLDcgQEAKICNpbmNsdWRlIDxuZXQvdGNwLmg+CQkvKiBzdHJ1Y3Qgb3JfY2FsbGFibGUgdXNlZCBpbiBzb2NrX3Jjdl9za2IgKi8KICNpbmNsdWRlIDxuZXQvbmV0X25hbWVzcGFjZS5oPgogI2luY2x1ZGUgPG5ldC9uZXRsYWJlbC5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pb2N0bHMuaD4KICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CkBAIC0xMDQsNyArMTAzLDkgQEAKIAogc3RhdGljIGludCBfX2luaXQgZW5mb3JjaW5nX3NldHVwKGNoYXIgKnN0cikKIHsKLQlzZWxpbnV4X2VuZm9yY2luZyA9IHNpbXBsZV9zdHJ0b2woc3RyLCBOVUxMLCAwKTsKKwl1bnNpZ25lZCBsb25nIGVuZm9yY2luZzsKKwlpZiAoIXN0cmljdF9zdHJ0b3VsKHN0ciwgMCwgJmVuZm9yY2luZykpCisJCXNlbGludXhfZW5mb3JjaW5nID0gZW5mb3JjaW5nID8gMSA6IDA7CiAJcmV0dXJuIDE7CiB9CiBfX3NldHVwKCJlbmZvcmNpbmc9IiwgZW5mb3JjaW5nX3NldHVwKTsKQEAgLTExNSw3ICsxMTYsOSBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBzZWxpbnV4X2VuYWJsZWRfc2V0dXAoY2hhciAqc3RyKQogewotCXNlbGludXhfZW5hYmxlZCA9IHNpbXBsZV9zdHJ0b2woc3RyLCBOVUxMLCAwKTsKKwl1bnNpZ25lZCBsb25nIGVuYWJsZWQ7CisJaWYgKCFzdHJpY3Rfc3RydG91bChzdHIsIDAsICZlbmFibGVkKSkKKwkJc2VsaW51eF9lbmFibGVkID0gZW5hYmxlZCA/IDEgOiAwOwogCXJldHVybiAxOwogfQogX19zZXR1cCgic2VsaW51eD0iLCBzZWxpbnV4X2VuYWJsZWRfc2V0dXApOwpAQCAtMTIzLDEzICsxMjYsMTEgQEAKIGludCBzZWxpbnV4X2VuYWJsZWQgPSAxOwogI2VuZGlmCiAKLS8qIE9yaWdpbmFsIChkdW1teSkgc2VjdXJpdHkgbW9kdWxlLiAqLwotc3RhdGljIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcmlnaW5hbF9vcHM7CiAKLS8qIE1pbmltYWwgc3VwcG9ydCBmb3IgYSBzZWNvbmRhcnkgc2VjdXJpdHkgbW9kdWxlLAotICAganVzdCB0byBhbGxvdyB0aGUgdXNlIG9mIHRoZSBkdW1teSBvciBjYXBhYmlsaXR5IG1vZHVsZXMuCi0gICBUaGUgb3dsc20gbW9kdWxlIGNhbiBhbHRlcm5hdGl2ZWx5IGJlIHVzZWQgYXMgYSBzZWNvbmRhcnkKLSAgIG1vZHVsZSBhcyBsb25nIGFzIENPTkZJR19PV0xTTV9GRCBpcyBub3QgZW5hYmxlZC4gKi8KKy8qCisgKiBNaW5pbWFsIHN1cHBvcnQgZm9yIGEgc2Vjb25kYXJ5IHNlY3VyaXR5IG1vZHVsZSwKKyAqIGp1c3QgdG8gYWxsb3cgdGhlIHVzZSBvZiB0aGUgY2FwYWJpbGl0eSBtb2R1bGUuCisgKi8KIHN0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqc2Vjb25kYXJ5X29wczsKIAogLyogTGlzdHMgb2YgaW5vZGUgYW5kIHN1cGVyYmxvY2sgc2VjdXJpdHkgc3RydWN0dXJlcyBpbml0aWFsaXplZApAQCAtNTk0LDcgKzU5NSw3IEBACiAJICovCiAJaWYgKHNic2VjLT5pbml0aWFsaXplZCAmJiAoc2ItPnNfdHlwZS0+ZnNfZmxhZ3MgJiBGU19CSU5BUllfTU9VTlREQVRBKQogCSAgICAmJiAobnVtX29wdHMgPT0gMCkpCi0JICAgICAgICBnb3RvIG91dDsKKwkJZ290byBvdXQ7CiAKIAkvKgogCSAqIHBhcnNlIHRoZSBtb3VudCBvcHRpb25zLCBjaGVjayBpZiB0aGV5IGFyZSB2YWxpZCBzaWRzLgpAQCAtOTU2LDYgKzk1Nyw1NyBAQAogCXJldHVybiByYzsKIH0KIAordm9pZCBzZWxpbnV4X3dyaXRlX29wdHMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCit7CisJaW50IGk7CisJY2hhciAqcHJlZml4OworCisJZm9yIChpID0gMDsgaSA8IG9wdHMtPm51bV9tbnRfb3B0czsgaSsrKSB7CisJCWNoYXIgKmhhc19jb21tYSA9IHN0cmNocihvcHRzLT5tbnRfb3B0c1tpXSwgJywnKTsKKworCQlzd2l0Y2ggKG9wdHMtPm1udF9vcHRzX2ZsYWdzW2ldKSB7CisJCWNhc2UgQ09OVEVYVF9NTlQ6CisJCQlwcmVmaXggPSBDT05URVhUX1NUUjsKKwkJCWJyZWFrOworCQljYXNlIEZTQ09OVEVYVF9NTlQ6CisJCQlwcmVmaXggPSBGU0NPTlRFWFRfU1RSOworCQkJYnJlYWs7CisJCWNhc2UgUk9PVENPTlRFWFRfTU5UOgorCQkJcHJlZml4ID0gUk9PVENPTlRFWFRfU1RSOworCQkJYnJlYWs7CisJCWNhc2UgREVGQ09OVEVYVF9NTlQ6CisJCQlwcmVmaXggPSBERUZDT05URVhUX1NUUjsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJQlVHKCk7CisJCX07CisJCS8qIHdlIG5lZWQgYSBjb21tYSBiZWZvcmUgZWFjaCBvcHRpb24gKi8KKwkJc2VxX3B1dGMobSwgJywnKTsKKwkJc2VxX3B1dHMobSwgcHJlZml4KTsKKwkJaWYgKGhhc19jb21tYSkKKwkJCXNlcV9wdXRjKG0sICdcIicpOworCQlzZXFfcHV0cyhtLCBvcHRzLT5tbnRfb3B0c1tpXSk7CisJCWlmIChoYXNfY29tbWEpCisJCQlzZXFfcHV0YyhtLCAnXCInKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgc2VsaW51eF9zYl9zaG93X29wdGlvbnMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworCXN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyBvcHRzOworCWludCByYzsKKworCXJjID0gc2VsaW51eF9nZXRfbW50X29wdHMoc2IsICZvcHRzKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXNlbGludXhfd3JpdGVfb3B0cyhtLCAmb3B0cyk7CisKKwlzZWN1cml0eV9mcmVlX21udF9vcHRzKCZvcHRzKTsKKworCXJldHVybiByYzsKK30KKwogc3RhdGljIGlubGluZSB1MTYgaW5vZGVfbW9kZV90b19zZWN1cml0eV9jbGFzcyh1bW9kZV90IG1vZGUpCiB7CiAJc3dpdGNoIChtb2RlICYgU19JRk1UKSB7CkBAIC0xNjgyLDE0ICsxNzM0LDIzIEBACiAKIC8qIEhvb2sgZnVuY3Rpb25zIGJlZ2luIGhlcmUuICovCiAKLXN0YXRpYyBpbnQgc2VsaW51eF9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpCitzdGF0aWMgaW50IHNlbGludXhfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LAorCQkJICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkJICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKIAlpbnQgcmM7CiAKLQlyYyA9IHNlY29uZGFyeV9vcHMtPnB0cmFjZShwYXJlbnQsIGNoaWxkKTsKKwlyYyA9IHNlY29uZGFyeV9vcHMtPnB0cmFjZShwYXJlbnQsIGNoaWxkLCBtb2RlKTsKIAlpZiAocmMpCiAJCXJldHVybiByYzsKIAorCWlmIChtb2RlID09IFBUUkFDRV9NT0RFX1JFQUQpIHsKKwkJc3RydWN0IHRhc2tfc2VjdXJpdHlfc3RydWN0ICp0c2VjID0gcGFyZW50LT5zZWN1cml0eTsKKwkJc3RydWN0IHRhc2tfc2VjdXJpdHlfc3RydWN0ICpjc2VjID0gY2hpbGQtPnNlY3VyaXR5OworCQlyZXR1cm4gYXZjX2hhc19wZXJtKHRzZWMtPnNpZCwgY3NlYy0+c2lkLAorCQkJCSAgICBTRUNDTEFTU19GSUxFLCBGSUxFX19SRUFELCBOVUxMKTsKKwl9CisKIAlyZXR1cm4gdGFza19oYXNfcGVybShwYXJlbnQsIGNoaWxkLCBQUk9DRVNTX19QVFJBQ0UpOwogfQogCkBAIC0yNDk1LDcgKzI1NTYsNyBAQAogCX0KIAogCWlmICh2YWx1ZSAmJiBsZW4pIHsKLQkJcmMgPSBzZWN1cml0eV9zaWRfdG9fY29udGV4dChuZXdzaWQsICZjb250ZXh0LCAmY2xlbik7CisJCXJjID0gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHRfZm9yY2UobmV3c2lkLCAmY29udGV4dCwgJmNsZW4pOwogCQlpZiAocmMpIHsKIAkJCWtmcmVlKG5hbWVwKTsKIAkJCXJldHVybiByYzsKQEAgLTI2NjksNiArMjczMCwxMSBAQAogCQlyZXR1cm4gcmM7CiAKIAlyYyA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkKHZhbHVlLCBzaXplLCAmbmV3c2lkKTsKKwlpZiAocmMgPT0gLUVJTlZBTCkgeworCQlpZiAoIWNhcGFibGUoQ0FQX01BQ19BRE1JTikpCisJCQlyZXR1cm4gcmM7CisJCXJjID0gc2VjdXJpdHlfY29udGV4dF90b19zaWRfZm9yY2UodmFsdWUsIHNpemUsICZuZXdzaWQpOworCX0KIAlpZiAocmMpCiAJCXJldHVybiByYzsKIApAQCAtMjY5MCw3ICsyNzU2LDcgQEAKIH0KIAogc3RhdGljIHZvaWQgc2VsaW51eF9pbm9kZV9wb3N0X3NldHhhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsCisJCQkJCWNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwKIAkJCQkJaW50IGZsYWdzKQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CkBAIC0yNzAzLDEwICsyNzY5LDExIEBACiAJCXJldHVybjsKIAl9CiAKLQlyYyA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkKHZhbHVlLCBzaXplLCAmbmV3c2lkKTsKKwlyYyA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2ZvcmNlKHZhbHVlLCBzaXplLCAmbmV3c2lkKTsKIAlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiJXM6ICB1bmFibGUgdG8gb2J0YWluIFNJRCBmb3IgY29udGV4dCAiCi0JCSAgICAgICAiJXMsIHJjPSVkXG4iLCBfX2Z1bmNfXywgKGNoYXIgKil2YWx1ZSwgLXJjKTsKKwkJcHJpbnRrKEtFUk5fRVJSICJTRUxpbnV4OiAgdW5hYmxlIHRvIG1hcCBjb250ZXh0IHRvIFNJRCIKKwkJICAgICAgICJmb3IgKCVzLCAlbHUpLCByYz0lZFxuIiwKKwkJICAgICAgIGlub2RlLT5pX3NiLT5zX2lkLCBpbm9kZS0+aV9pbm8sIC1yYyk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTI3MzUsOSArMjgwMiw3IEBACiB9CiAKIC8qCi0gKiBDb3B5IHRoZSBpbi1jb3JlIGlub2RlIHNlY3VyaXR5IGNvbnRleHQgdmFsdWUgdG8gdGhlIHVzZXIuICBJZiB0aGUKLSAqIGdldHhhdHRyKCkgcHJpb3IgdG8gdGhpcyBzdWNjZWVkZWQsIGNoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkIHRvCi0gKiBjYW5vbmljYWxpemUgdGhlIHZhbHVlIHRvIGJlIGZpbmFsbHkgcmV0dXJuZWQgdG8gdGhlIHVzZXIuCisgKiBDb3B5IHRoZSBpbm9kZSBzZWN1cml0eSBjb250ZXh0IHZhbHVlIHRvIHRoZSB1c2VyLgogICoKICAqIFBlcm1pc3Npb24gY2hlY2sgaXMgaGFuZGxlZCBieSBzZWxpbnV4X2lub2RlX2dldHhhdHRyIGhvb2suCiAgKi8KQEAgLTI3NDYsMTIgKzI4MTEsMzMgQEAKIAl1MzIgc2l6ZTsKIAlpbnQgZXJyb3I7CiAJY2hhciAqY29udGV4dCA9IE5VTEw7CisJc3RydWN0IHRhc2tfc2VjdXJpdHlfc3RydWN0ICp0c2VjID0gY3VycmVudC0+c2VjdXJpdHk7CiAJc3RydWN0IGlub2RlX3NlY3VyaXR5X3N0cnVjdCAqaXNlYyA9IGlub2RlLT5pX3NlY3VyaXR5OwogCiAJaWYgKHN0cmNtcChuYW1lLCBYQVRUUl9TRUxJTlVYX1NVRkZJWCkpCiAJCXJldHVybiAtRU9QTk9UU1VQUDsKIAotCWVycm9yID0gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQoaXNlYy0+c2lkLCAmY29udGV4dCwgJnNpemUpOworCS8qCisJICogSWYgdGhlIGNhbGxlciBoYXMgQ0FQX01BQ19BRE1JTiwgdGhlbiBnZXQgdGhlIHJhdyBjb250ZXh0CisJICogdmFsdWUgZXZlbiBpZiBpdCBpcyBub3QgZGVmaW5lZCBieSBjdXJyZW50IHBvbGljeTsgb3RoZXJ3aXNlLAorCSAqIHVzZSB0aGUgaW4tY29yZSB2YWx1ZSB1bmRlciBjdXJyZW50IHBvbGljeS4KKwkgKiBVc2UgdGhlIG5vbi1hdWRpdGluZyBmb3JtcyBvZiB0aGUgcGVybWlzc2lvbiBjaGVja3Mgc2luY2UKKwkgKiBnZXR4YXR0ciBtYXkgYmUgY2FsbGVkIGJ5IHVucHJpdmlsZWdlZCBwcm9jZXNzZXMgY29tbW9ubHkKKwkgKiBhbmQgbGFjayBvZiBwZXJtaXNzaW9uIGp1c3QgbWVhbnMgdGhhdCB3ZSBmYWxsIGJhY2sgdG8gdGhlCisJICogaW4tY29yZSBjb250ZXh0IHZhbHVlLCBub3QgYSBkZW5pYWwuCisJICovCisJZXJyb3IgPSBzZWNvbmRhcnlfb3BzLT5jYXBhYmxlKGN1cnJlbnQsIENBUF9NQUNfQURNSU4pOworCWlmICghZXJyb3IpCisJCWVycm9yID0gYXZjX2hhc19wZXJtX25vYXVkaXQodHNlYy0+c2lkLCB0c2VjLT5zaWQsCisJCQkJCSAgICAgU0VDQ0xBU1NfQ0FQQUJJTElUWTIsCisJCQkJCSAgICAgQ0FQQUJJTElUWTJfX01BQ19BRE1JTiwKKwkJCQkJICAgICAwLAorCQkJCQkgICAgIE5VTEwpOworCWlmICghZXJyb3IpCisJCWVycm9yID0gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHRfZm9yY2UoaXNlYy0+c2lkLCAmY29udGV4dCwKKwkJCQkJCSAgICAgICZzaXplKTsKKwllbHNlCisJCWVycm9yID0gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQoaXNlYy0+c2lkLCAmY29udGV4dCwgJnNpemUpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCWVycm9yID0gc2l6ZTsKQEAgLTI4NjUsNDYgKzI5NTEsMTYgQEAKIHN0YXRpYyBpbnQgc2VsaW51eF9maWxlX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAogCQkJICAgICAgdW5zaWduZWQgbG9uZyBhcmcpCiB7Ci0JaW50IGVycm9yID0gMDsKKwl1MzIgYXYgPSAwOwogCi0Jc3dpdGNoIChjbWQpIHsKLQljYXNlIEZJT05SRUFEOgotCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgRklCTUFQOgotCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgRklHRVRCU1o6Ci0JLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBFWFQyX0lPQ19HRVRGTEFHUzoKLQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEVYVDJfSU9DX0dFVFZFUlNJT046Ci0JCWVycm9yID0gZmlsZV9oYXNfcGVybShjdXJyZW50LCBmaWxlLCBGSUxFX19HRVRBVFRSKTsKLQkJYnJlYWs7CisJaWYgKF9JT0NfRElSKGNtZCkgJiBfSU9DX1dSSVRFKQorCQlhdiB8PSBGSUxFX19XUklURTsKKwlpZiAoX0lPQ19ESVIoY21kKSAmIF9JT0NfUkVBRCkKKwkJYXYgfD0gRklMRV9fUkVBRDsKKwlpZiAoIWF2KQorCQlhdiA9IEZJTEVfX0lPQ1RMOwogCi0JY2FzZSBFWFQyX0lPQ19TRVRGTEFHUzoKLQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEVYVDJfSU9DX1NFVFZFUlNJT046Ci0JCWVycm9yID0gZmlsZV9oYXNfcGVybShjdXJyZW50LCBmaWxlLCBGSUxFX19TRVRBVFRSKTsKLQkJYnJlYWs7Ci0KLQkvKiBzeXNfaW9jdGwoKSBjaGVja3MgKi8KLQljYXNlIEZJT05CSU86Ci0JLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBGSU9BU1lOQzoKLQkJZXJyb3IgPSBmaWxlX2hhc19wZXJtKGN1cnJlbnQsIGZpbGUsIDApOwotCQlicmVhazsKLQotCWNhc2UgS0RTS0JFTlQ6Ci0JY2FzZSBLRFNLQlNFTlQ6Ci0JCWVycm9yID0gdGFza19oYXNfY2FwYWJpbGl0eShjdXJyZW50LCBDQVBfU1lTX1RUWV9DT05GSUcpOwotCQlicmVhazsKLQotCS8qIGRlZmF1bHQgY2FzZSBhc3N1bWVzIHRoYXQgdGhlIGNvbW1hbmQgd2lsbCBnbwotCSAqIHRvIHRoZSBmaWxlJ3MgaW9jdGwoKSBmdW5jdGlvbi4KLQkgKi8KLQlkZWZhdWx0OgotCQllcnJvciA9IGZpbGVfaGFzX3Blcm0oY3VycmVudCwgZmlsZSwgRklMRV9fSU9DVEwpOwotCX0KLQlyZXR1cm4gZXJyb3I7CisJcmV0dXJuIGZpbGVfaGFzX3Blcm0oY3VycmVudCwgZmlsZSwgYXYpOwogfQogCiBzdGF0aWMgaW50IGZpbGVfbWFwX3Byb3RfY2hlY2soc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGxvbmcgcHJvdCwgaW50IHNoYXJlZCkKQEAgLTM2NjMsNyArMzcxOSw3IEBACiAJCXN0cnVjdCBzb2NrYWRkcl9pbjYgKmFkZHI2ID0gTlVMTDsKIAkJdW5zaWduZWQgc2hvcnQgc251bTsKIAkJc3RydWN0IHNvY2sgKnNrID0gc29jay0+c2s7Ci0JCXUzMiBzaWQsIG5vZGVfcGVybSwgYWRkcmxlbjsKKwkJdTMyIHNpZCwgbm9kZV9wZXJtOwogCiAJCXRzZWMgPSBjdXJyZW50LT5zZWN1cml0eTsKIAkJaXNlYyA9IFNPQ0tfSU5PREUoc29jayktPmlfc2VjdXJpdHk7CkBAIC0zNjcxLDEyICszNzI3LDEwIEBACiAJCWlmIChmYW1pbHkgPT0gUEZfSU5FVCkgewogCQkJYWRkcjQgPSAoc3RydWN0IHNvY2thZGRyX2luICopYWRkcmVzczsKIAkJCXNudW0gPSBudG9ocyhhZGRyNC0+c2luX3BvcnQpOwotCQkJYWRkcmxlbiA9IHNpemVvZihhZGRyNC0+c2luX2FkZHIuc19hZGRyKTsKIAkJCWFkZHJwID0gKGNoYXIgKikmYWRkcjQtPnNpbl9hZGRyLnNfYWRkcjsKIAkJfSBlbHNlIHsKIAkJCWFkZHI2ID0gKHN0cnVjdCBzb2NrYWRkcl9pbjYgKilhZGRyZXNzOwogCQkJc251bSA9IG50b2hzKGFkZHI2LT5zaW42X3BvcnQpOwotCQkJYWRkcmxlbiA9IHNpemVvZihhZGRyNi0+c2luNl9hZGRyLnM2X2FkZHIpOwogCQkJYWRkcnAgPSAoY2hhciAqKSZhZGRyNi0+c2luNl9hZGRyLnM2X2FkZHI7CiAJCX0KIApAQCAtNTA0NywyNCArNTEwMSw2IEBACiAJKnNlY2lkID0gaXNlYy0+c2lkOwogfQogCi0vKiBtb2R1bGUgc3RhY2tpbmcgb3BlcmF0aW9ucyAqLwotc3RhdGljIGludCBzZWxpbnV4X3JlZ2lzdGVyX3NlY3VyaXR5KGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpCi17Ci0JaWYgKHNlY29uZGFyeV9vcHMgIT0gb3JpZ2luYWxfb3BzKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiJXM6ICBUaGVyZSBpcyBhbHJlYWR5IGEgc2Vjb25kYXJ5IHNlY3VyaXR5ICIKLQkJICAgICAgICJtb2R1bGUgcmVnaXN0ZXJlZC5cbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0Jc2Vjb25kYXJ5X29wcyA9IG9wczsKLQotCXByaW50ayhLRVJOX0lORk8gIiVzOiAgUmVnaXN0ZXJpbmcgc2Vjb25kYXJ5IG1vZHVsZSAlc1xuIiwKLQkgICAgICAgX19mdW5jX18sCi0JICAgICAgIG5hbWUpOwotCi0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyB2b2lkIHNlbGludXhfZF9pbnN0YW50aWF0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUpCiB7CiAJaWYgKGlub2RlKQpAQCAtNTE1Myw2ICs1MTg5LDEyIEBACiAJCQlzaXplLS07CiAJCX0KIAkJZXJyb3IgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZCh2YWx1ZSwgc2l6ZSwgJnNpZCk7CisJCWlmIChlcnJvciA9PSAtRUlOVkFMICYmICFzdHJjbXAobmFtZSwgImZzY3JlYXRlIikpIHsKKwkJCWlmICghY2FwYWJsZShDQVBfTUFDX0FETUlOKSkKKwkJCQlyZXR1cm4gZXJyb3I7CisJCQllcnJvciA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2ZvcmNlKHZhbHVlLCBzaXplLAorCQkJCQkJCSAgICAgICZzaWQpOworCQl9CiAJCWlmIChlcnJvcikKIAkJCXJldHVybiBlcnJvcjsKIAl9CkBAIC01MTg2LDEyICs1MjI4LDEyIEBACiAJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmcsICp0OwogCQkJc3RydWN0IG1tX3N0cnVjdCAqbW0gPSBwLT5tbTsKIAkJCXJlYWRfbG9jaygmdGFza2xpc3RfbG9jayk7Ci0JCQlkb19lYWNoX3RocmVhZChnLCB0KQorCQkJZG9fZWFjaF90aHJlYWQoZywgdCkgewogCQkJCWlmICh0LT5tbSA9PSBtbSAmJiB0ICE9IHApIHsKIAkJCQkJcmVhZF91bmxvY2soJnRhc2tsaXN0X2xvY2spOwogCQkJCQlyZXR1cm4gLUVQRVJNOwogCQkJCX0KLQkJCXdoaWxlX2VhY2hfdGhyZWFkKGcsIHQpOworCQkJfSB3aGlsZV9lYWNoX3RocmVhZChnLCB0KTsKIAkJCXJlYWRfdW5sb2NrKCZ0YXNrbGlzdF9sb2NrKTsKIAkJfQogCkBAIC01MzQzLDEwICs1Mzg1LDEwIEBACiAJLnNiX2ZyZWVfc2VjdXJpdHkgPQkJc2VsaW51eF9zYl9mcmVlX3NlY3VyaXR5LAogCS5zYl9jb3B5X2RhdGEgPQkJCXNlbGludXhfc2JfY29weV9kYXRhLAogCS5zYl9rZXJuX21vdW50ID0JCXNlbGludXhfc2Jfa2Vybl9tb3VudCwKKwkuc2Jfc2hvd19vcHRpb25zID0JCXNlbGludXhfc2Jfc2hvd19vcHRpb25zLAogCS5zYl9zdGF0ZnMgPQkJCXNlbGludXhfc2Jfc3RhdGZzLAogCS5zYl9tb3VudCA9CQkJc2VsaW51eF9tb3VudCwKIAkuc2JfdW1vdW50ID0JCQlzZWxpbnV4X3Vtb3VudCwKLQkuc2JfZ2V0X21udF9vcHRzID0JCXNlbGludXhfZ2V0X21udF9vcHRzLAogCS5zYl9zZXRfbW50X29wdHMgPQkJc2VsaW51eF9zZXRfbW50X29wdHMsCiAJLnNiX2Nsb25lX21udF9vcHRzID0JCXNlbGludXhfc2JfY2xvbmVfbW50X29wdHMsCiAJLnNiX3BhcnNlX29wdHNfc3RyID0gCQlzZWxpbnV4X3BhcnNlX29wdHNfc3RyLApAQCAtNTM3OCw3ICs1NDIwLDcgQEAKIAkuaW5vZGVfbGlzdHNlY3VyaXR5ID0JCXNlbGludXhfaW5vZGVfbGlzdHNlY3VyaXR5LAogCS5pbm9kZV9uZWVkX2tpbGxwcml2ID0JCXNlbGludXhfaW5vZGVfbmVlZF9raWxscHJpdiwKIAkuaW5vZGVfa2lsbHByaXYgPQkJc2VsaW51eF9pbm9kZV9raWxscHJpdiwKLQkuaW5vZGVfZ2V0c2VjaWQgPSAgICAgICAgICAgICAgIHNlbGludXhfaW5vZGVfZ2V0c2VjaWQsCisJLmlub2RlX2dldHNlY2lkID0JCXNlbGludXhfaW5vZGVfZ2V0c2VjaWQsCiAKIAkuZmlsZV9wZXJtaXNzaW9uID0JCXNlbGludXhfZmlsZV9wZXJtaXNzaW9uLAogCS5maWxlX2FsbG9jX3NlY3VyaXR5ID0JCXNlbGludXhfZmlsZV9hbGxvY19zZWN1cml0eSwKQEAgLTU0MTksNyArNTQ2MSw3IEBACiAJLnRhc2tfdG9faW5vZGUgPQkJc2VsaW51eF90YXNrX3RvX2lub2RlLAogCiAJLmlwY19wZXJtaXNzaW9uID0JCXNlbGludXhfaXBjX3Blcm1pc3Npb24sCi0JLmlwY19nZXRzZWNpZCA9ICAgICAgICAgICAgICAgICBzZWxpbnV4X2lwY19nZXRzZWNpZCwKKwkuaXBjX2dldHNlY2lkID0JCQlzZWxpbnV4X2lwY19nZXRzZWNpZCwKIAogCS5tc2dfbXNnX2FsbG9jX3NlY3VyaXR5ID0Jc2VsaW51eF9tc2dfbXNnX2FsbG9jX3NlY3VyaXR5LAogCS5tc2dfbXNnX2ZyZWVfc2VjdXJpdHkgPQlzZWxpbnV4X21zZ19tc2dfZnJlZV9zZWN1cml0eSwKQEAgLTU0NDMsOCArNTQ4NSw2IEBACiAJLnNlbV9zZW1jdGwgPQkJCXNlbGludXhfc2VtX3NlbWN0bCwKIAkuc2VtX3NlbW9wID0JCQlzZWxpbnV4X3NlbV9zZW1vcCwKIAotCS5yZWdpc3Rlcl9zZWN1cml0eSA9CQlzZWxpbnV4X3JlZ2lzdGVyX3NlY3VyaXR5LAotCiAJLmRfaW5zdGFudGlhdGUgPQkJc2VsaW51eF9kX2luc3RhbnRpYXRlLAogCiAJLmdldHByb2NhdHRyID0JCQlzZWxpbnV4X2dldHByb2NhdHRyLApAQCAtNTUzOCw3ICs1NTc4LDcgQEAKIAkJCQkJICAgIDAsIFNMQUJfUEFOSUMsIE5VTEwpOwogCWF2Y19pbml0KCk7CiAKLQlvcmlnaW5hbF9vcHMgPSBzZWNvbmRhcnlfb3BzID0gc2VjdXJpdHlfb3BzOworCXNlY29uZGFyeV9vcHMgPSBzZWN1cml0eV9vcHM7CiAJaWYgKCFzZWNvbmRhcnlfb3BzKQogCQlwYW5pYygiU0VMaW51eDogTm8gaW5pdGlhbCBzZWN1cml0eSBvcGVyYXRpb25zXG4iKTsKIAlpZiAocmVnaXN0ZXJfc2VjdXJpdHkoJnNlbGludXhfb3BzKSkKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdWRpdC5oIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F1ZGl0LmgKaW5kZXggNmM4YjllZi4uMWJkZjk3MyAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F1ZGl0LmgKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F1ZGl0LmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogU0VMaW51eCBzdXBwb3J0IGZvciB0aGUgQXVkaXQgTFNNIGhvb2tzCiAgKgotICogTW9zdCBvZiBiZWxvdyBoZWFkZXIgd2FzIG1vdmVkIGZyb20gaW5jbHVkZS9saW51eC9zZWxpbnV4Lmggd2hpY2ggCisgKiBNb3N0IG9mIGJlbG93IGhlYWRlciB3YXMgbW92ZWQgZnJvbSBpbmNsdWRlL2xpbnV4L3NlbGludXguaCB3aGljaAogICogaXMgcmVsZWFzZWQgdW5kZXIgYmVsb3cgY29weXJpZ2h0czoKICAqCiAgKiBBdXRob3I6IEphbWVzIE1vcnJpcyA8am1vcnJpc0ByZWRoYXQuY29tPgpAQCAtNTIsNyArNTIsNyBAQAogICoJLWVycm5vIG9uIGZhaWx1cmUuCiAgKi8KIGludCBzZWxpbnV4X2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNpZCwgdTMyIGZpZWxkLCB1MzIgb3AsIHZvaWQgKnJ1bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KTsKKwkJCSAgICAgc3RydWN0IGF1ZGl0X2NvbnRleHQgKmFjdHgpOwogCiAvKioKICAqCXNlbGludXhfYXVkaXRfcnVsZV9rbm93biAtIGNoZWNrIHRvIHNlZSBpZiBydWxlIGNvbnRhaW5zIHNlbGludXggZmllbGRzLgpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F2Yy5oIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F2Yy5oCmluZGV4IDhlMjNkN2EuLjdiOTc2OWYgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdmMuaAorKysgYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXZjLmgKQEAgLTc1LDEzICs3NSwxMiBAQAogCiAvKiBJbml0aWFsaXplIGFuIEFWQyBhdWRpdCBkYXRhIHN0cnVjdHVyZS4gKi8KICNkZWZpbmUgQVZDX0FVRElUX0RBVEFfSU5JVChfZCxfdCkgXAotICAgICAgICB7IG1lbXNldCgoX2QpLCAwLCBzaXplb2Yoc3RydWN0IGF2Y19hdWRpdF9kYXRhKSk7IChfZCktPnR5cGUgPSBBVkNfQVVESVRfREFUQV8jI190OyB9CisJeyBtZW1zZXQoKF9kKSwgMCwgc2l6ZW9mKHN0cnVjdCBhdmNfYXVkaXRfZGF0YSkpOyAoX2QpLT50eXBlID0gQVZDX0FVRElUX0RBVEFfIyNfdDsgfQogCiAvKgogICogQVZDIHN0YXRpc3RpY3MKICAqLwotc3RydWN0IGF2Y19jYWNoZV9zdGF0cwoteworc3RydWN0IGF2Y19jYWNoZV9zdGF0cyB7CiAJdW5zaWduZWQgaW50IGxvb2t1cHM7CiAJdW5zaWduZWQgaW50IGhpdHM7CiAJdW5zaWduZWQgaW50IG1pc3NlczsKQEAgLTk3LDggKzk2LDggQEAKIHZvaWQgX19pbml0IGF2Y19pbml0KHZvaWQpOwogCiB2b2lkIGF2Y19hdWRpdCh1MzIgc3NpZCwgdTMyIHRzaWQsCi0gICAgICAgICAgICAgICB1MTYgdGNsYXNzLCB1MzIgcmVxdWVzdGVkLAotICAgICAgICAgICAgICAgc3RydWN0IGF2X2RlY2lzaW9uICphdmQsIGludCByZXN1bHQsIHN0cnVjdCBhdmNfYXVkaXRfZGF0YSAqYXVkaXRkYXRhKTsKKwkgICAgICAgdTE2IHRjbGFzcywgdTMyIHJlcXVlc3RlZCwKKwkgICAgICAgc3RydWN0IGF2X2RlY2lzaW9uICphdmQsIGludCByZXN1bHQsIHN0cnVjdCBhdmNfYXVkaXRfZGF0YSAqYXVkaXRkYXRhKTsKIAogI2RlZmluZSBBVkNfU1RSSUNUIDEgLyogSWdub3JlIHBlcm1pc3NpdmUgbW9kZS4gKi8KIGludCBhdmNfaGFzX3Blcm1fbm9hdWRpdCh1MzIgc3NpZCwgdTMyIHRzaWQsCkBAIC0xMDcsOCArMTA2LDggQEAKIAkJCSBzdHJ1Y3QgYXZfZGVjaXNpb24gKmF2ZCk7CiAKIGludCBhdmNfaGFzX3Blcm0odTMyIHNzaWQsIHUzMiB0c2lkLAotICAgICAgICAgICAgICAgICB1MTYgdGNsYXNzLCB1MzIgcmVxdWVzdGVkLAotICAgICAgICAgICAgICAgICBzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEgKmF1ZGl0ZGF0YSk7CisJCSB1MTYgdGNsYXNzLCB1MzIgcmVxdWVzdGVkLAorCQkgc3RydWN0IGF2Y19hdWRpdF9kYXRhICphdWRpdGRhdGEpOwogCiB1MzIgYXZjX3BvbGljeV9zZXFubyh2b2lkKTsKIApAQCAtMTIyLDcgKzEyMSw3IEBACiAjZGVmaW5lIEFWQ19DQUxMQkFDS19BVURJVERFTllfRElTQUJMRQkxMjgKIAogaW50IGF2Y19hZGRfY2FsbGJhY2soaW50ICgqY2FsbGJhY2spKHUzMiBldmVudCwgdTMyIHNzaWQsIHUzMiB0c2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUxNiB0Y2xhc3MsIHUzMiBwZXJtcywKKwkJCQkgICAgIHUxNiB0Y2xhc3MsIHUzMiBwZXJtcywKIAkJCQkgICAgIHUzMiAqb3V0X3JldGFpbmVkKSwKIAkJICAgICB1MzIgZXZlbnRzLCB1MzIgc3NpZCwgdTMyIHRzaWQsCiAJCSAgICAgdTE2IHRjbGFzcywgdTMyIHBlcm1zKTsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9vYmpzZWMuaCBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9vYmpzZWMuaAppbmRleCAwMzJjMjM1Li45MTA3MGFiIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvb2Jqc2VjLmgKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL29ianNlYy5oCkBAIC00NCw3ICs0NCw2IEBACiAJdTE2IHNjbGFzczsJCS8qIHNlY3VyaXR5IGNsYXNzIG9mIHRoaXMgb2JqZWN0ICovCiAJdW5zaWduZWQgY2hhciBpbml0aWFsaXplZDsJLyogaW5pdGlhbGl6YXRpb24gZmxhZyAqLwogCXN0cnVjdCBtdXRleCBsb2NrOwotCXVuc2lnbmVkIGNoYXIgaW5oZXJpdDsJLyogaW5oZXJpdCBTSUQgZnJvbSBwYXJlbnQgZW50cnkgKi8KIH07CiAKIHN0cnVjdCBmaWxlX3NlY3VyaXR5X3N0cnVjdCB7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvc2VjdXJpdHkuaCBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9zZWN1cml0eS5oCmluZGV4IGFkMzBhYzQuLjdjNTQzMDAgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9zZWN1cml0eS5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9zZWN1cml0eS5oCkBAIC05MywxMiArOTMsMTcgQEAKIGludCBzZWN1cml0eV9zaWRfdG9fY29udGV4dCh1MzIgc2lkLCBjaGFyICoqc2NvbnRleHQsCiAJdTMyICpzY29udGV4dF9sZW4pOwogCitpbnQgc2VjdXJpdHlfc2lkX3RvX2NvbnRleHRfZm9yY2UodTMyIHNpZCwgY2hhciAqKnNjb250ZXh0LCB1MzIgKnNjb250ZXh0X2xlbik7CisKIGludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZChjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwKIAl1MzIgKm91dF9zaWQpOwogCiBpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWRfZGVmYXVsdChjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwKIAkJCQkgICAgdTMyICpvdXRfc2lkLCB1MzIgZGVmX3NpZCwgZ2ZwX3QgZ2ZwX2ZsYWdzKTsKIAoraW50IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2ZvcmNlKGNvbnN0IGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLAorCQkJCSAgdTMyICpzaWQpOworCiBpbnQgc2VjdXJpdHlfZ2V0X3VzZXJfc2lkcyh1MzIgY2FsbHNpZCwgY2hhciAqdXNlcm5hbWUsCiAJCQkgICB1MzIgKipzaWRzLCB1MzIgKm5lbCk7CiAKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvbmV0bm9kZS5jIGIvc2VjdXJpdHkvc2VsaW51eC9uZXRub2RlLmMKaW5kZXggYjZjY2QwOS4uNzEwMDA3MiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9uZXRub2RlLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9uZXRub2RlLmMKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlIDxsaW51eC9pcHY2Lmg+CiAjaW5jbHVkZSA8bmV0L2lwLmg+CiAjaW5jbHVkZSA8bmV0L2lwdjYuaD4KLSNpbmNsdWRlIDxhc20vYnVnLmg+CiAKICNpbmNsdWRlICJuZXRub2RlLmgiCiAjaW5jbHVkZSAib2Jqc2VjLmgiCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L25ldHBvcnQuYyBiL3NlY3VyaXR5L3NlbGludXgvbmV0cG9ydC5jCmluZGV4IDkwYjRjZmYuLmZlN2ZiYTYgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvbmV0cG9ydC5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvbmV0cG9ydC5jCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8bGludXgvaXB2Ni5oPgogI2luY2x1ZGUgPG5ldC9pcC5oPgogI2luY2x1ZGUgPG5ldC9pcHY2Lmg+Ci0jaW5jbHVkZSA8YXNtL2J1Zy5oPgogCiAjaW5jbHVkZSAibmV0cG9ydC5oIgogI2luY2x1ZGUgIm9ianNlYy5oIgpAQCAtMjcyLDcgKzI3MSw3IEBACiAJfQogCiAJcmV0ID0gYXZjX2FkZF9jYWxsYmFjayhzZWxfbmV0cG9ydF9hdmNfY2FsbGJhY2ssIEFWQ19DQUxMQkFDS19SRVNFVCwKLQkgICAgICAgICAgICAgICAgICAgICAgIFNFQ1NJRF9OVUxMLCBTRUNTSURfTlVMTCwgU0VDQ0xBU1NfTlVMTCwgMCk7CisJCQkgICAgICAgU0VDU0lEX05VTEwsIFNFQ1NJRF9OVUxMLCBTRUNDTEFTU19OVUxMLCAwKTsKIAlpZiAocmV0ICE9IDApCiAJCXBhbmljKCJhdmNfYWRkX2NhbGxiYWNrKCkgZmFpbGVkLCBlcnJvciAlZFxuIiwgcmV0KTsKIApkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zZWxpbnV4ZnMuYyBiL3NlY3VyaXR5L3NlbGludXgvc2VsaW51eGZzLmMKaW5kZXggYWMxY2NjMS4uNjljOWRjYyAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zZWxpbnV4ZnMuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L3NlbGludXhmcy5jCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9hdWRpdC5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgogCiAvKiBzZWxpbnV4ZnMgcHNldWRvIGZpbGVzeXN0ZW0gZm9yIGV4cG9ydGluZyB0aGUgc2VjdXJpdHkgcG9saWN5IEFQSS4KICAgIEJhc2VkIG9uIHRoZSBwcm9jIGNvZGUgYW5kIHRoZSBmcy9uZnNkL25mc2N0bC5jIGNvZGUuICovCkBAIC01NywxNCArNTcsMTggQEAKIAogc3RhdGljIGludCBfX2luaXQgY2hlY2tyZXFwcm90X3NldHVwKGNoYXIgKnN0cikKIHsKLQlzZWxpbnV4X2NoZWNrcmVxcHJvdCA9IHNpbXBsZV9zdHJ0b3VsKHN0ciwgTlVMTCwgMCkgPyAxIDogMDsKKwl1bnNpZ25lZCBsb25nIGNoZWNrcmVxcHJvdDsKKwlpZiAoIXN0cmljdF9zdHJ0b3VsKHN0ciwgMCwgJmNoZWNrcmVxcHJvdCkpCisJCXNlbGludXhfY2hlY2tyZXFwcm90ID0gY2hlY2tyZXFwcm90ID8gMSA6IDA7CiAJcmV0dXJuIDE7CiB9CiBfX3NldHVwKCJjaGVja3JlcXByb3Q9IiwgY2hlY2tyZXFwcm90X3NldHVwKTsKIAogc3RhdGljIGludCBfX2luaXQgc2VsaW51eF9jb21wYXRfbmV0X3NldHVwKGNoYXIgKnN0cikKIHsKLQlzZWxpbnV4X2NvbXBhdF9uZXQgPSBzaW1wbGVfc3RydG91bChzdHIsIE5VTEwsIDApID8gMSA6IDA7CisJdW5zaWduZWQgbG9uZyBjb21wYXRfbmV0OworCWlmICghc3RyaWN0X3N0cnRvdWwoc3RyLCAwLCAmY29tcGF0X25ldCkpCisJCXNlbGludXhfY29tcGF0X25ldCA9IGNvbXBhdF9uZXQgPyAxIDogMDsKIAlyZXR1cm4gMTsKIH0KIF9fc2V0dXAoInNlbGludXhfY29tcGF0X25ldD0iLCBzZWxpbnV4X2NvbXBhdF9uZXRfc2V0dXApOwpAQCAtMzUyLDExICszNTYsNiBAQAogCQlsZW5ndGggPSBjb3VudDsKIAogb3V0MToKLQotCXByaW50ayhLRVJOX0lORk8gIlNFTGludXg6IHBvbGljeSBsb2FkZWQgd2l0aCBoYW5kbGVfdW5rbm93bj0lc1xuIiwKLQkgICAgICAgKHNlY3VyaXR5X2dldF9yZWplY3RfdW5rbm93bigpID8gInJlamVjdCIgOgotCQkoc2VjdXJpdHlfZ2V0X2FsbG93X3Vua25vd24oKSA/ICJhbGxvdyIgOiAiZGVueSIpKSk7Ci0KIAlhdWRpdF9sb2coY3VycmVudC0+YXVkaXRfY29udGV4dCwgR0ZQX0tFUk5FTCwgQVVESVRfTUFDX1BPTElDWV9MT0FELAogCQkicG9saWN5IGxvYWRlZCBhdWlkPSV1IHNlcz0ldSIsCiAJCWF1ZGl0X2dldF9sb2dpbnVpZChjdXJyZW50KSwKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3MvYXZ0YWIuYyBiL3NlY3VyaXR5L3NlbGludXgvc3MvYXZ0YWIuYwppbmRleCA5ZTY2MjYzLi5hMWJlOTdmIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL2F2dGFiLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9hdnRhYi5jCkBAIC0zMTEsNyArMzExLDcgQEAKIAl9CiAKIAlwcmludGsoS0VSTl9ERUJVRyAiU0VMaW51eDogJXM6ICAlZCBlbnRyaWVzIGFuZCAlZC8lZCBidWNrZXRzIHVzZWQsICIKLQkgICAgICAgImxvbmdlc3QgY2hhaW4gbGVuZ3RoICVkIHN1bSBvZiBjaGFpbiBsZW5ndGheMiAlTHVcbiIsCisJICAgICAgICJsb25nZXN0IGNoYWluIGxlbmd0aCAlZCBzdW0gb2YgY2hhaW4gbGVuZ3RoXjIgJWxsdVxuIiwKIAkgICAgICAgdGFnLCBoLT5uZWwsIHNsb3RzX3VzZWQsIGgtPm5zbG90LCBtYXhfY2hhaW5fbGVuLAogCSAgICAgICBjaGFpbjJfbGVuX3N1bSk7CiB9CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL2NvbnRleHQuaCBiL3NlY3VyaXR5L3NlbGludXgvc3MvY29udGV4dC5oCmluZGV4IGI5YTZmN2YuLjY1OGMyYmQgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3MvY29udGV4dC5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3MvY29udGV4dC5oCkBAIC0yOCw2ICsyOCw4IEBACiAJdTMyIHJvbGU7CiAJdTMyIHR5cGU7CiAJc3RydWN0IG1sc19yYW5nZSByYW5nZTsKKwljaGFyICpzdHI7CS8qIHN0cmluZyByZXByZXNlbnRhdGlvbiBpZiBjb250ZXh0IGNhbm5vdCBiZSBtYXBwZWQuICovCisJdTMyIGxlbjsgICAgICAgIC8qIGxlbmd0aCBvZiBzdHJpbmcgaW4gYnl0ZXMgKi8KIH07CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBtbHNfY29udGV4dF9pbml0KHN0cnVjdCBjb250ZXh0ICpjKQpAQCAtMTA2LDIwICsxMDgsNDMgQEAKIAogc3RhdGljIGlubGluZSBpbnQgY29udGV4dF9jcHkoc3RydWN0IGNvbnRleHQgKmRzdCwgc3RydWN0IGNvbnRleHQgKnNyYykKIHsKKwlpbnQgcmM7CisKIAlkc3QtPnVzZXIgPSBzcmMtPnVzZXI7CiAJZHN0LT5yb2xlID0gc3JjLT5yb2xlOwogCWRzdC0+dHlwZSA9IHNyYy0+dHlwZTsKLQlyZXR1cm4gbWxzX2NvbnRleHRfY3B5KGRzdCwgc3JjKTsKKwlpZiAoc3JjLT5zdHIpIHsKKwkJZHN0LT5zdHIgPSBrc3RyZHVwKHNyYy0+c3RyLCBHRlBfQVRPTUlDKTsKKwkJaWYgKCFkc3QtPnN0cikKKwkJCXJldHVybiAtRU5PTUVNOworCQlkc3QtPmxlbiA9IHNyYy0+bGVuOworCX0gZWxzZSB7CisJCWRzdC0+c3RyID0gTlVMTDsKKwkJZHN0LT5sZW4gPSAwOworCX0KKwlyYyA9IG1sc19jb250ZXh0X2NweShkc3QsIHNyYyk7CisJaWYgKHJjKSB7CisJCWtmcmVlKGRzdC0+c3RyKTsKKwkJcmV0dXJuIHJjOworCX0KKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGNvbnRleHRfZGVzdHJveShzdHJ1Y3QgY29udGV4dCAqYykKIHsKIAljLT51c2VyID0gYy0+cm9sZSA9IGMtPnR5cGUgPSAwOworCWtmcmVlKGMtPnN0cik7CisJYy0+c3RyID0gTlVMTDsKKwljLT5sZW4gPSAwOwogCW1sc19jb250ZXh0X2Rlc3Ryb3koYyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IGNvbnRleHRfY21wKHN0cnVjdCBjb250ZXh0ICpjMSwgc3RydWN0IGNvbnRleHQgKmMyKQogeworCWlmIChjMS0+bGVuICYmIGMyLT5sZW4pCisJCXJldHVybiAoYzEtPmxlbiA9PSBjMi0+bGVuICYmICFzdHJjbXAoYzEtPnN0ciwgYzItPnN0cikpOworCWlmIChjMS0+bGVuIHx8IGMyLT5sZW4pCisJCXJldHVybiAwOwogCXJldHVybiAoKGMxLT51c2VyID09IGMyLT51c2VyKSAmJgogCQkoYzEtPnJvbGUgPT0gYzItPnJvbGUpICYmCiAJCShjMS0+dHlwZSA9PSBjMi0+dHlwZSkgJiYKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5jCmluZGV4IDhiMTcwNmIuLjc3ZDc0NWQgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9tbHMuYwpAQCAtMjM5LDcgKzIzOSw4IEBACiAgKiBQb2xpY3kgcmVhZC1sb2NrIG11c3QgYmUgaGVsZCBmb3Igc2lkdGFiIGxvb2t1cC4KICAqCiAgKi8KLWludCBtbHNfY29udGV4dF90b19zaWQoY2hhciBvbGRjLAoraW50IG1sc19jb250ZXh0X3RvX3NpZChzdHJ1Y3QgcG9saWN5ZGIgKnBvbCwKKwkJICAgICAgIGNoYXIgb2xkYywKIAkJICAgICAgIGNoYXIgKipzY29udGV4dCwKIAkJICAgICAgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LAogCQkgICAgICAgc3RydWN0IHNpZHRhYiAqcywKQEAgLTI4Niw3ICsyODcsNyBAQAogCQkqcCsrID0gMDsKIAogCWZvciAobCA9IDA7IGwgPCAyOyBsKyspIHsKLQkJbGV2ZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2xpY3lkYi5wX2xldmVscy50YWJsZSwgc2NvbnRleHRwKTsKKwkJbGV2ZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2wtPnBfbGV2ZWxzLnRhYmxlLCBzY29udGV4dHApOwogCQlpZiAoIWxldmRhdHVtKSB7CiAJCQlyYyA9IC1FSU5WQUw7CiAJCQlnb3RvIG91dDsKQEAgLTMxMSw3ICszMTIsNyBAQAogCQkJCQkqcm5ncHRyKysgPSAwOwogCQkJCX0KIAotCQkJCWNhdGRhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9saWN5ZGIucF9jYXRzLnRhYmxlLAorCQkJCWNhdGRhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9sLT5wX2NhdHMudGFibGUsCiAJCQkJCQkJICBzY29udGV4dHApOwogCQkJCWlmICghY2F0ZGF0dW0pIHsKIAkJCQkJcmMgPSAtRUlOVkFMOwpAQCAtMzI3LDcgKzMyOCw3IEBACiAJCQkJaWYgKHJuZ3B0cikgewogCQkJCQlpbnQgaTsKIAotCQkJCQlybmdkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbGljeWRiLnBfY2F0cy50YWJsZSwgcm5ncHRyKTsKKwkJCQkJcm5nZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2wtPnBfY2F0cy50YWJsZSwgcm5ncHRyKTsKIAkJCQkJaWYgKCFybmdkYXR1bSkgewogCQkJCQkJcmMgPSAtRUlOVkFMOwogCQkJCQkJZ290byBvdXQ7CkBAIC0zOTUsNyArMzk2LDcgQEAKIAlpZiAoIXRtcHN0cikgewogCQlyYyA9IC1FTk9NRU07CiAJfSBlbHNlIHsKLQkJcmMgPSBtbHNfY29udGV4dF90b19zaWQoJzonLCAmdG1wc3RyLCBjb250ZXh0LAorCQlyYyA9IG1sc19jb250ZXh0X3RvX3NpZCgmcG9saWN5ZGIsICc6JywgJnRtcHN0ciwgY29udGV4dCwKIAkJCQkJTlVMTCwgU0VDU0lEX05VTEwpOwogCQlrZnJlZShmcmVlc3RyKTsKIAl9CkBAIC00MzYsMTMgKzQzNywxMyBAQAogCQlzdHJ1Y3QgbWxzX2xldmVsICp1c2VyY29uX2NsciA9ICYodXNlcmNvbi0+cmFuZ2UubGV2ZWxbMV0pOwogCiAJCS8qIEhvbm9yIHRoZSB1c2VyJ3MgZGVmYXVsdCBsZXZlbCBpZiB3ZSBjYW4gKi8KLQkJaWYgKG1sc19sZXZlbF9iZXR3ZWVuKHVzZXJfZGVmLCBmcm9tY29uX3NlbiwgZnJvbWNvbl9jbHIpKSB7CisJCWlmIChtbHNfbGV2ZWxfYmV0d2Vlbih1c2VyX2RlZiwgZnJvbWNvbl9zZW4sIGZyb21jb25fY2xyKSkKIAkJCSp1c2VyY29uX3NlbiA9ICp1c2VyX2RlZjsKLQkJfSBlbHNlIGlmIChtbHNfbGV2ZWxfYmV0d2Vlbihmcm9tY29uX3NlbiwgdXNlcl9kZWYsIHVzZXJfY2xyKSkgeworCQllbHNlIGlmIChtbHNfbGV2ZWxfYmV0d2Vlbihmcm9tY29uX3NlbiwgdXNlcl9kZWYsIHVzZXJfY2xyKSkKIAkJCSp1c2VyY29uX3NlbiA9ICpmcm9tY29uX3NlbjsKLQkJfSBlbHNlIGlmIChtbHNfbGV2ZWxfYmV0d2Vlbihmcm9tY29uX2NsciwgdXNlcl9sb3csIHVzZXJfZGVmKSkgeworCQllbHNlIGlmIChtbHNfbGV2ZWxfYmV0d2Vlbihmcm9tY29uX2NsciwgdXNlcl9sb3csIHVzZXJfZGVmKSkKIAkJCSp1c2VyY29uX3NlbiA9ICp1c2VyX2xvdzsKLQkJfSBlbHNlCisJCWVsc2UKIAkJCXJldHVybiAtRUlOVkFMOwogCiAJCS8qIExvd2VyIHRoZSBjbGVhcmFuY2Ugb2YgYXZhaWxhYmxlIGNvbnRleHRzCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5oIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9tbHMuaAppbmRleCAwZmRmNjI1Li4xMjc2NzE1IDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmgKQEAgLTMwLDcgKzMwLDggQEAKIGludCBtbHNfcmFuZ2VfaXN2YWxpZChzdHJ1Y3QgcG9saWN5ZGIgKnAsIHN0cnVjdCBtbHNfcmFuZ2UgKnIpOwogaW50IG1sc19sZXZlbF9pc3ZhbGlkKHN0cnVjdCBwb2xpY3lkYiAqcCwgc3RydWN0IG1sc19sZXZlbCAqbCk7CiAKLWludCBtbHNfY29udGV4dF90b19zaWQoY2hhciBvbGRjLAoraW50IG1sc19jb250ZXh0X3RvX3NpZChzdHJ1Y3QgcG9saWN5ZGIgKnAsCisJCSAgICAgICBjaGFyIG9sZGMsCiAJCSAgICAgICBjaGFyICoqc2NvbnRleHQsCiAJCSAgICAgICBzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKIAkJICAgICAgIHN0cnVjdCBzaWR0YWIgKnMsCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL3BvbGljeWRiLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3BvbGljeWRiLmMKaW5kZXggODRmOGNjNy4uMjM5MTc2MSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zcy9wb2xpY3lkYi5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3MvcG9saWN5ZGIuYwpAQCAtMTQ3OCw3ICsxNDc4LDggQEAKIAlzdHJ1Y3Qgb2NvbnRleHQgKmwsICpjLCAqbmV3YzsKIAlzdHJ1Y3QgZ2VuZnMgKmdlbmZzX3AsICpnZW5mcywgKm5ld2dlbmZzOwogCWludCBpLCBqLCByYzsKLQlfX2xlMzIgYnVmWzhdOworCV9fbGUzMiBidWZbNF07CisJdTMyIG5vZGVidWZbOF07CiAJdTMyIGxlbiwgbGVuMiwgY29uZmlnLCBucHJpbSwgbmVsLCBuZWwyOwogCWNoYXIgKnBvbGljeWRiX3N0cjsKIAlzdHJ1Y3QgcG9saWN5ZGJfY29tcGF0X2luZm8gKmluZm87CkBAIC0xNzQ5LDExICsxNzUwLDExIEBACiAJCQkJCWdvdG8gYmFkOwogCQkJCWJyZWFrOwogCQkJY2FzZSBPQ09OX05PREU6Ci0JCQkJcmMgPSBuZXh0X2VudHJ5KGJ1ZiwgZnAsIHNpemVvZih1MzIpICogMik7CisJCQkJcmMgPSBuZXh0X2VudHJ5KG5vZGVidWYsIGZwLCBzaXplb2YodTMyKSAqIDIpOwogCQkJCWlmIChyYyA8IDApCiAJCQkJCWdvdG8gYmFkOwotCQkJCWMtPnUubm9kZS5hZGRyID0gbGUzMl90b19jcHUoYnVmWzBdKTsKLQkJCQljLT51Lm5vZGUubWFzayA9IGxlMzJfdG9fY3B1KGJ1ZlsxXSk7CisJCQkJYy0+dS5ub2RlLmFkZHIgPSBub2RlYnVmWzBdOyAvKiBuZXR3b3JrIG9yZGVyICovCisJCQkJYy0+dS5ub2RlLm1hc2sgPSBub2RlYnVmWzFdOyAvKiBuZXR3b3JrIG9yZGVyICovCiAJCQkJcmMgPSBjb250ZXh0X3JlYWRfYW5kX3ZhbGlkYXRlKCZjLT5jb250ZXh0WzBdLCBwLCBmcCk7CiAJCQkJaWYgKHJjKQogCQkJCQlnb3RvIGJhZDsKQEAgLTE3ODIsMTMgKzE3ODMsMTMgQEAKIAkJCWNhc2UgT0NPTl9OT0RFNjogewogCQkJCWludCBrOwogCi0JCQkJcmMgPSBuZXh0X2VudHJ5KGJ1ZiwgZnAsIHNpemVvZih1MzIpICogOCk7CisJCQkJcmMgPSBuZXh0X2VudHJ5KG5vZGVidWYsIGZwLCBzaXplb2YodTMyKSAqIDgpOwogCQkJCWlmIChyYyA8IDApCiAJCQkJCWdvdG8gYmFkOwogCQkJCWZvciAoayA9IDA7IGsgPCA0OyBrKyspCi0JCQkJCWMtPnUubm9kZTYuYWRkcltrXSA9IGxlMzJfdG9fY3B1KGJ1ZltrXSk7CisJCQkJCWMtPnUubm9kZTYuYWRkcltrXSA9IG5vZGVidWZba107CiAJCQkJZm9yIChrID0gMDsgayA8IDQ7IGsrKykKLQkJCQkJYy0+dS5ub2RlNi5tYXNrW2tdID0gbGUzMl90b19jcHUoYnVmW2srNF0pOworCQkJCQljLT51Lm5vZGU2Lm1hc2tba10gPSBub2RlYnVmW2srNF07CiAJCQkJaWYgKGNvbnRleHRfcmVhZF9hbmRfdmFsaWRhdGUoJmMtPmNvbnRleHRbMF0sIHAsIGZwKSkKIAkJCQkJZ290byBiYWQ7CiAJCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL3NlcnZpY2VzLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3NlcnZpY2VzLmMKaW5kZXggZGNjMmUxYy4uYjUyZjkyMyAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zcy9zZXJ2aWNlcy5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3Mvc2VydmljZXMuYwpAQCAtNzEsMTQgKzcxLDYgQEAKIGV4dGVybiBjb25zdCBzdHJ1Y3Qgc2VsaW51eF9jbGFzc19wZXJtIHNlbGludXhfY2xhc3NfcGVybTsKIAogc3RhdGljIERFRklORV9SV0xPQ0socG9saWN5X3J3bG9jayk7Ci0jZGVmaW5lIFBPTElDWV9SRExPQ0sgcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKQotI2RlZmluZSBQT0xJQ1lfV1JMT0NLIHdyaXRlX2xvY2tfaXJxKCZwb2xpY3lfcndsb2NrKQotI2RlZmluZSBQT0xJQ1lfUkRVTkxPQ0sgcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spCi0jZGVmaW5lIFBPTElDWV9XUlVOTE9DSyB3cml0ZV91bmxvY2tfaXJxKCZwb2xpY3lfcndsb2NrKQotCi1zdGF0aWMgREVGSU5FX01VVEVYKGxvYWRfbXV0ZXgpOwotI2RlZmluZSBMT0FEX0xPQ0sgbXV0ZXhfbG9jaygmbG9hZF9tdXRleCkKLSNkZWZpbmUgTE9BRF9VTkxPQ0sgbXV0ZXhfdW5sb2NrKCZsb2FkX211dGV4KQogCiBzdGF0aWMgc3RydWN0IHNpZHRhYiBzaWR0YWI7CiBzdHJ1Y3QgcG9saWN5ZGIgcG9saWN5ZGI7CkBAIC0zMzIsNyArMzI0LDcgQEAKIAkJZ290byBpbnZhbF9jbGFzczsKIAlpZiAodW5saWtlbHkodGNsYXNzID4gcG9saWN5ZGIucF9jbGFzc2VzLm5wcmltKSkKIAkJaWYgKHRjbGFzcyA+IGtkZWZzLT5jdHNfbGVuIHx8Ci0JCSAgICAha2RlZnMtPmNsYXNzX3RvX3N0cmluZ1t0Y2xhc3MgLSAxXSB8fAorCQkgICAgIWtkZWZzLT5jbGFzc190b19zdHJpbmdbdGNsYXNzXSB8fAogCQkgICAgIXBvbGljeWRiLmFsbG93X3Vua25vd24pCiAJCQlnb3RvIGludmFsX2NsYXNzOwogCkBAIC00MTUsOSArNDA3LDE5IEBACiAJcmV0dXJuIDA7CiAKIGludmFsX2NsYXNzOgotCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogJXM6ICB1bnJlY29nbml6ZWQgY2xhc3MgJWRcbiIsIF9fZnVuY19fLAotCQl0Y2xhc3MpOwotCXJldHVybiAtRUlOVkFMOworCWlmICghdGNsYXNzIHx8IHRjbGFzcyA+IGtkZWZzLT5jdHNfbGVuIHx8CisJICAgICFrZGVmcy0+Y2xhc3NfdG9fc3RyaW5nW3RjbGFzc10pIHsKKwkJaWYgKHByaW50a19yYXRlbGltaXQoKSkKKwkJCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogJXM6ICB1bnJlY29nbml6ZWQgY2xhc3MgJWRcbiIsCisJCQkgICAgICAgX19mdW5jX18sIHRjbGFzcyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qCisJICogS25vd24gdG8gdGhlIGtlcm5lbCwgYnV0IG5vdCB0byB0aGUgcG9saWN5LgorCSAqIEhhbmRsZSBhcyBhIGRlbmlhbCAoYWxsb3dlZCBpcyAwKS4KKwkgKi8KKwlyZXR1cm4gMDsKIH0KIAogLyoKQEAgLTQyOSw3ICs0MzEsNyBAQAogCXUzMiB0eXBlOwogCWludCByYzsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWNvbnRleHQgPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNpZCk7CiAJQlVHX09OKCFjb250ZXh0KTsKQEAgLTQ0MSw3ICs0NDMsNyBAQAogCSAqLwogCXJjID0gZWJpdG1hcF9nZXRfYml0KCZwb2xpY3lkYi5wZXJtaXNzaXZlX21hcCwgdHlwZSk7CiAKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtNDg2LDcgKzQ4OCw3IEBACiAJaWYgKCFzc19pbml0aWFsaXplZCkKIAkJcmV0dXJuIDA7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAkvKgogCSAqIFJlbWFwIGV4dGVuZGVkIE5ldGxpbmsgY2xhc3NlcyBmb3Igb2xkIHBvbGljeSB2ZXJzaW9ucy4KQEAgLTU0Myw3ICs1NDUsNyBAQAogCX0KIAogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC01NzgsNyArNTgwLDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJc2NvbnRleHQgPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNzaWQpOwogCWlmICghc2NvbnRleHQpIHsKQEAgLTU5OCw3ICs2MDAsNyBAQAogCXJjID0gY29udGV4dF9zdHJ1Y3RfY29tcHV0ZV9hdihzY29udGV4dCwgdGNvbnRleHQsIHRjbGFzcywKIAkJCQkgICAgICAgcmVxdWVzdGVkLCBhdmQpOwogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC02MTYsNiArNjE4LDE0IEBACiAJKnNjb250ZXh0ID0gTlVMTDsKIAkqc2NvbnRleHRfbGVuID0gMDsKIAorCWlmIChjb250ZXh0LT5sZW4pIHsKKwkJKnNjb250ZXh0X2xlbiA9IGNvbnRleHQtPmxlbjsKKwkJKnNjb250ZXh0ID0ga3N0cmR1cChjb250ZXh0LT5zdHIsIEdGUF9BVE9NSUMpOworCQlpZiAoISgqc2NvbnRleHQpKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCXJldHVybiAwOworCX0KKwogCS8qIENvbXB1dGUgdGhlIHNpemUgb2YgdGhlIGNvbnRleHQuICovCiAJKnNjb250ZXh0X2xlbiArPSBzdHJsZW4ocG9saWN5ZGIucF91c2VyX3ZhbF90b19uYW1lW2NvbnRleHQtPnVzZXIgLSAxXSkgKyAxOwogCSpzY29udGV4dF9sZW4gKz0gc3RybGVuKHBvbGljeWRiLnBfcm9sZV92YWxfdG9fbmFtZVtjb250ZXh0LT5yb2xlIC0gMV0pICsgMTsKQEAgLTY1NSwxNyArNjY1LDggQEAKIAlyZXR1cm4gaW5pdGlhbF9zaWRfdG9fc3RyaW5nW3NpZF07CiB9CiAKLS8qKgotICogc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQgLSBPYnRhaW4gYSBjb250ZXh0IGZvciBhIGdpdmVuIFNJRC4KLSAqIEBzaWQ6IHNlY3VyaXR5IGlkZW50aWZpZXIsIFNJRAotICogQHNjb250ZXh0OiBzZWN1cml0eSBjb250ZXh0Ci0gKiBAc2NvbnRleHRfbGVuOiBsZW5ndGggaW4gYnl0ZXMKLSAqCi0gKiBXcml0ZSB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb250ZXh0IGFzc29jaWF0ZWQgd2l0aCBAc2lkCi0gKiBpbnRvIGEgZHluYW1pY2FsbHkgYWxsb2NhdGVkIHN0cmluZyBvZiB0aGUgY29ycmVjdCBzaXplLiAgU2V0IEBzY29udGV4dAotICogdG8gcG9pbnQgdG8gdGhpcyBzdHJpbmcgYW5kIHNldCBAc2NvbnRleHRfbGVuIHRvIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZy4KLSAqLwotaW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KHUzMiBzaWQsIGNoYXIgKipzY29udGV4dCwgdTMyICpzY29udGV4dF9sZW4pCitzdGF0aWMgaW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2NvcmUodTMyIHNpZCwgY2hhciAqKnNjb250ZXh0LAorCQkJCQl1MzIgKnNjb250ZXh0X2xlbiwgaW50IGZvcmNlKQogewogCXN0cnVjdCBjb250ZXh0ICpjb250ZXh0OwogCWludCByYyA9IDA7CkBAIC02OTIsOCArNjkzLDExIEBACiAJCXJjID0gLUVJTlZBTDsKIAkJZ290byBvdXQ7CiAJfQotCVBPTElDWV9SRExPQ0s7Ci0JY29udGV4dCA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgc2lkKTsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOworCWlmIChmb3JjZSkKKwkJY29udGV4dCA9IHNpZHRhYl9zZWFyY2hfZm9yY2UoJnNpZHRhYiwgc2lkKTsKKwllbHNlCisJCWNvbnRleHQgPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNpZCk7CiAJaWYgKCFjb250ZXh0KSB7CiAJCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogJXM6ICB1bnJlY29nbml6ZWQgU0lEICVkXG4iLAogCQkJX19mdW5jX18sIHNpZCk7CkBAIC03MDIsNTkgKzcwNiw1NCBAQAogCX0KIAlyYyA9IGNvbnRleHRfc3RydWN0X3RvX3N0cmluZyhjb250ZXh0LCBzY29udGV4dCwgc2NvbnRleHRfbGVuKTsKIG91dF91bmxvY2s6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIG91dDoKIAlyZXR1cm4gcmM7CiAKIH0KIAotc3RhdGljIGludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9jb3JlKGNvbnN0IGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLAotCQkJCQl1MzIgKnNpZCwgdTMyIGRlZl9zaWQsIGdmcF90IGdmcF9mbGFncykKKy8qKgorICogc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQgLSBPYnRhaW4gYSBjb250ZXh0IGZvciBhIGdpdmVuIFNJRC4KKyAqIEBzaWQ6IHNlY3VyaXR5IGlkZW50aWZpZXIsIFNJRAorICogQHNjb250ZXh0OiBzZWN1cml0eSBjb250ZXh0CisgKiBAc2NvbnRleHRfbGVuOiBsZW5ndGggaW4gYnl0ZXMKKyAqCisgKiBXcml0ZSB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb250ZXh0IGFzc29jaWF0ZWQgd2l0aCBAc2lkCisgKiBpbnRvIGEgZHluYW1pY2FsbHkgYWxsb2NhdGVkIHN0cmluZyBvZiB0aGUgY29ycmVjdCBzaXplLiAgU2V0IEBzY29udGV4dAorICogdG8gcG9pbnQgdG8gdGhpcyBzdHJpbmcgYW5kIHNldCBAc2NvbnRleHRfbGVuIHRvIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZy4KKyAqLworaW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KHUzMiBzaWQsIGNoYXIgKipzY29udGV4dCwgdTMyICpzY29udGV4dF9sZW4pCiB7Ci0JY2hhciAqc2NvbnRleHQyOwotCXN0cnVjdCBjb250ZXh0IGNvbnRleHQ7CisJcmV0dXJuIHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2NvcmUoc2lkLCBzY29udGV4dCwgc2NvbnRleHRfbGVuLCAwKTsKK30KKworaW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2ZvcmNlKHUzMiBzaWQsIGNoYXIgKipzY29udGV4dCwgdTMyICpzY29udGV4dF9sZW4pCit7CisJcmV0dXJuIHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2NvcmUoc2lkLCBzY29udGV4dCwgc2NvbnRleHRfbGVuLCAxKTsKK30KKworLyoKKyAqIENhdmVhdDogIE11dGF0ZXMgc2NvbnRleHQuCisgKi8KK3N0YXRpYyBpbnQgc3RyaW5nX3RvX2NvbnRleHRfc3RydWN0KHN0cnVjdCBwb2xpY3lkYiAqcG9sLAorCQkJCSAgICBzdHJ1Y3Qgc2lkdGFiICpzaWR0YWJwLAorCQkJCSAgICBjaGFyICpzY29udGV4dCwKKwkJCQkgICAgdTMyIHNjb250ZXh0X2xlbiwKKwkJCQkgICAgc3RydWN0IGNvbnRleHQgKmN0eCwKKwkJCQkgICAgdTMyIGRlZl9zaWQpCit7CiAJc3RydWN0IHJvbGVfZGF0dW0gKnJvbGU7CiAJc3RydWN0IHR5cGVfZGF0dW0gKnR5cGRhdHVtOwogCXN0cnVjdCB1c2VyX2RhdHVtICp1c3JkYXR1bTsKIAljaGFyICpzY29udGV4dHAsICpwLCBvbGRjOwogCWludCByYyA9IDA7CiAKLQlpZiAoIXNzX2luaXRpYWxpemVkKSB7Ci0JCWludCBpOwotCi0JCWZvciAoaSA9IDE7IGkgPCBTRUNJTklUU0lEX05VTTsgaSsrKSB7Ci0JCQlpZiAoIXN0cmNtcChpbml0aWFsX3NpZF90b19zdHJpbmdbaV0sIHNjb250ZXh0KSkgewotCQkJCSpzaWQgPSBpOwotCQkJCWdvdG8gb3V0OwotCQkJfQotCQl9Ci0JCSpzaWQgPSBTRUNJTklUU0lEX0tFUk5FTDsKLQkJZ290byBvdXQ7Ci0JfQotCSpzaWQgPSBTRUNTSURfTlVMTDsKLQotCS8qIENvcHkgdGhlIHN0cmluZyBzbyB0aGF0IHdlIGNhbiBtb2RpZnkgdGhlIGNvcHkgYXMgd2UgcGFyc2UgaXQuCi0JICAgVGhlIHN0cmluZyBzaG91bGQgYWxyZWFkeSBieSBudWxsIHRlcm1pbmF0ZWQsIGJ1dCB3ZSBhcHBlbmQgYQotCSAgIG51bGwgc3VmZml4IHRvIHRoZSBjb3B5IHRvIGF2b2lkIHByb2JsZW1zIHdpdGggdGhlIGV4aXN0aW5nCi0JICAgYXR0ciBwYWNrYWdlLCB3aGljaCBkb2Vzbid0IHZpZXcgdGhlIG51bGwgdGVybWluYXRvciBhcyBwYXJ0Ci0JICAgb2YgdGhlIGF0dHJpYnV0ZSB2YWx1ZS4gKi8KLQlzY29udGV4dDIgPSBrbWFsbG9jKHNjb250ZXh0X2xlbisxLCBnZnBfZmxhZ3MpOwotCWlmICghc2NvbnRleHQyKSB7Ci0JCXJjID0gLUVOT01FTTsKLQkJZ290byBvdXQ7Ci0JfQotCW1lbWNweShzY29udGV4dDIsIHNjb250ZXh0LCBzY29udGV4dF9sZW4pOwotCXNjb250ZXh0MltzY29udGV4dF9sZW5dID0gMDsKLQotCWNvbnRleHRfaW5pdCgmY29udGV4dCk7Ci0JKnNpZCA9IFNFQ1NJRF9OVUxMOwotCi0JUE9MSUNZX1JETE9DSzsKKwljb250ZXh0X2luaXQoY3R4KTsKIAogCS8qIFBhcnNlIHRoZSBzZWN1cml0eSBjb250ZXh0LiAqLwogCiAJcmMgPSAtRUlOVkFMOwotCXNjb250ZXh0cCA9IChjaGFyICopIHNjb250ZXh0MjsKKwlzY29udGV4dHAgPSAoY2hhciAqKSBzY29udGV4dDsKIAogCS8qIEV4dHJhY3QgdGhlIHVzZXIuICovCiAJcCA9IHNjb250ZXh0cDsKQEAgLTc2MiwxNSArNzYxLDE1IEBACiAJCXArKzsKIAogCWlmICgqcCA9PSAwKQotCQlnb3RvIG91dF91bmxvY2s7CisJCWdvdG8gb3V0OwogCiAJKnArKyA9IDA7CiAKLQl1c3JkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbGljeWRiLnBfdXNlcnMudGFibGUsIHNjb250ZXh0cCk7CisJdXNyZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2wtPnBfdXNlcnMudGFibGUsIHNjb250ZXh0cCk7CiAJaWYgKCF1c3JkYXR1bSkKLQkJZ290byBvdXRfdW5sb2NrOworCQlnb3RvIG91dDsKIAotCWNvbnRleHQudXNlciA9IHVzcmRhdHVtLT52YWx1ZTsKKwljdHgtPnVzZXIgPSB1c3JkYXR1bS0+dmFsdWU7CiAKIAkvKiBFeHRyYWN0IHJvbGUuICovCiAJc2NvbnRleHRwID0gcDsKQEAgLTc3OCwxNCArNzc3LDE0IEBACiAJCXArKzsKIAogCWlmICgqcCA9PSAwKQotCQlnb3RvIG91dF91bmxvY2s7CisJCWdvdG8gb3V0OwogCiAJKnArKyA9IDA7CiAKLQlyb2xlID0gaGFzaHRhYl9zZWFyY2gocG9saWN5ZGIucF9yb2xlcy50YWJsZSwgc2NvbnRleHRwKTsKKwlyb2xlID0gaGFzaHRhYl9zZWFyY2gocG9sLT5wX3JvbGVzLnRhYmxlLCBzY29udGV4dHApOwogCWlmICghcm9sZSkKLQkJZ290byBvdXRfdW5sb2NrOwotCWNvbnRleHQucm9sZSA9IHJvbGUtPnZhbHVlOworCQlnb3RvIG91dDsKKwljdHgtPnJvbGUgPSByb2xlLT52YWx1ZTsKIAogCS8qIEV4dHJhY3QgdHlwZS4gKi8KIAlzY29udGV4dHAgPSBwOwpAQCAtNzk0LDM2ICs3OTMsOTAgQEAKIAlvbGRjID0gKnA7CiAJKnArKyA9IDA7CiAKLQl0eXBkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbGljeWRiLnBfdHlwZXMudGFibGUsIHNjb250ZXh0cCk7CisJdHlwZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2wtPnBfdHlwZXMudGFibGUsIHNjb250ZXh0cCk7CiAJaWYgKCF0eXBkYXR1bSkKLQkJZ290byBvdXRfdW5sb2NrOworCQlnb3RvIG91dDsKIAotCWNvbnRleHQudHlwZSA9IHR5cGRhdHVtLT52YWx1ZTsKKwljdHgtPnR5cGUgPSB0eXBkYXR1bS0+dmFsdWU7CiAKLQlyYyA9IG1sc19jb250ZXh0X3RvX3NpZChvbGRjLCAmcCwgJmNvbnRleHQsICZzaWR0YWIsIGRlZl9zaWQpOworCXJjID0gbWxzX2NvbnRleHRfdG9fc2lkKHBvbCwgb2xkYywgJnAsIGN0eCwgc2lkdGFicCwgZGVmX3NpZCk7CiAJaWYgKHJjKQotCQlnb3RvIG91dF91bmxvY2s7CisJCWdvdG8gb3V0OwogCi0JaWYgKChwIC0gc2NvbnRleHQyKSA8IHNjb250ZXh0X2xlbikgeworCWlmICgocCAtIHNjb250ZXh0KSA8IHNjb250ZXh0X2xlbikgewogCQlyYyA9IC1FSU5WQUw7Ci0JCWdvdG8gb3V0X3VubG9jazsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyogQ2hlY2sgdGhlIHZhbGlkaXR5IG9mIHRoZSBuZXcgY29udGV4dC4gKi8KLQlpZiAoIXBvbGljeWRiX2NvbnRleHRfaXN2YWxpZCgmcG9saWN5ZGIsICZjb250ZXh0KSkgeworCWlmICghcG9saWN5ZGJfY29udGV4dF9pc3ZhbGlkKHBvbCwgY3R4KSkgewogCQlyYyA9IC1FSU5WQUw7Ci0JCWdvdG8gb3V0X3VubG9jazsKKwkJY29udGV4dF9kZXN0cm95KGN0eCk7CisJCWdvdG8gb3V0OwogCX0KLQkvKiBPYnRhaW4gdGhlIG5ldyBzaWQuICovCi0JcmMgPSBzaWR0YWJfY29udGV4dF90b19zaWQoJnNpZHRhYiwgJmNvbnRleHQsIHNpZCk7Ci1vdXRfdW5sb2NrOgotCVBPTElDWV9SRFVOTE9DSzsKLQljb250ZXh0X2Rlc3Ryb3koJmNvbnRleHQpOwotCWtmcmVlKHNjb250ZXh0Mik7CisJcmMgPSAwOwogb3V0OgogCXJldHVybiByYzsKIH0KIAorc3RhdGljIGludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9jb3JlKGNvbnN0IGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLAorCQkJCQl1MzIgKnNpZCwgdTMyIGRlZl9zaWQsIGdmcF90IGdmcF9mbGFncywKKwkJCQkJaW50IGZvcmNlKQoreworCWNoYXIgKnNjb250ZXh0MiwgKnN0ciA9IE5VTEw7CisJc3RydWN0IGNvbnRleHQgY29udGV4dDsKKwlpbnQgcmMgPSAwOworCisJaWYgKCFzc19pbml0aWFsaXplZCkgeworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAxOyBpIDwgU0VDSU5JVFNJRF9OVU07IGkrKykgeworCQkJaWYgKCFzdHJjbXAoaW5pdGlhbF9zaWRfdG9fc3RyaW5nW2ldLCBzY29udGV4dCkpIHsKKwkJCQkqc2lkID0gaTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfQorCQkqc2lkID0gU0VDSU5JVFNJRF9LRVJORUw7CisJCXJldHVybiAwOworCX0KKwkqc2lkID0gU0VDU0lEX05VTEw7CisKKwkvKiBDb3B5IHRoZSBzdHJpbmcgc28gdGhhdCB3ZSBjYW4gbW9kaWZ5IHRoZSBjb3B5IGFzIHdlIHBhcnNlIGl0LiAqLworCXNjb250ZXh0MiA9IGttYWxsb2Moc2NvbnRleHRfbGVuKzEsIGdmcF9mbGFncyk7CisJaWYgKCFzY29udGV4dDIpCisJCXJldHVybiAtRU5PTUVNOworCW1lbWNweShzY29udGV4dDIsIHNjb250ZXh0LCBzY29udGV4dF9sZW4pOworCXNjb250ZXh0MltzY29udGV4dF9sZW5dID0gMDsKKworCWlmIChmb3JjZSkgeworCQkvKiBTYXZlIGFub3RoZXIgY29weSBmb3Igc3RvcmluZyBpbiB1bmludGVycHJldGVkIGZvcm0gKi8KKwkJc3RyID0ga3N0cmR1cChzY29udGV4dDIsIGdmcF9mbGFncyk7CisJCWlmICghc3RyKSB7CisJCQlrZnJlZShzY29udGV4dDIpOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKwl9CisKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOworCXJjID0gc3RyaW5nX3RvX2NvbnRleHRfc3RydWN0KCZwb2xpY3lkYiwgJnNpZHRhYiwKKwkJCQkgICAgICBzY29udGV4dDIsIHNjb250ZXh0X2xlbiwKKwkJCQkgICAgICAmY29udGV4dCwgZGVmX3NpZCk7CisJaWYgKHJjID09IC1FSU5WQUwgJiYgZm9yY2UpIHsKKwkJY29udGV4dC5zdHIgPSBzdHI7CisJCWNvbnRleHQubGVuID0gc2NvbnRleHRfbGVuOworCQlzdHIgPSBOVUxMOworCX0gZWxzZSBpZiAocmMpCisJCWdvdG8gb3V0OworCXJjID0gc2lkdGFiX2NvbnRleHRfdG9fc2lkKCZzaWR0YWIsICZjb250ZXh0LCBzaWQpOworCWlmIChyYykKKwkJY29udGV4dF9kZXN0cm95KCZjb250ZXh0KTsKK291dDoKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CisJa2ZyZWUoc2NvbnRleHQyKTsKKwlrZnJlZShzdHIpOworCXJldHVybiByYzsKK30KKwogLyoqCiAgKiBzZWN1cml0eV9jb250ZXh0X3RvX3NpZCAtIE9idGFpbiBhIFNJRCBmb3IgYSBnaXZlbiBzZWN1cml0eSBjb250ZXh0LgogICogQHNjb250ZXh0OiBzZWN1cml0eSBjb250ZXh0CkBAIC04MzgsNyArODkxLDcgQEAKIGludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZChjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwgdTMyICpzaWQpCiB7CiAJcmV0dXJuIHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2NvcmUoc2NvbnRleHQsIHNjb250ZXh0X2xlbiwKLQkJCQkJICAgIHNpZCwgU0VDU0lEX05VTEwsIEdGUF9LRVJORUwpOworCQkJCQkgICAgc2lkLCBTRUNTSURfTlVMTCwgR0ZQX0tFUk5FTCwgMCk7CiB9CiAKIC8qKgpAQCAtODU1LDYgKzkwOCw3IEBACiAgKiBUaGUgZGVmYXVsdCBTSUQgaXMgcGFzc2VkIHRvIHRoZSBNTFMgbGF5ZXIgdG8gYmUgdXNlZCB0byBhbGxvdwogICoga2VybmVsIGxhYmVsaW5nIG9mIHRoZSBNTFMgZmllbGQgaWYgdGhlIE1MUyBmaWVsZCBpcyBub3QgcHJlc2VudAogICogKGZvciB1cGdyYWRpbmcgdG8gTUxTIHdpdGhvdXQgZnVsbCByZWxhYmVsKS4KKyAqIEltcGxpY2l0bHkgZm9yY2VzIGFkZGluZyBvZiB0aGUgY29udGV4dCBldmVuIGlmIGl0IGNhbm5vdCBiZSBtYXBwZWQgeWV0LgogICogUmV0dXJucyAtJUVJTlZBTCBpZiB0aGUgY29udGV4dCBpcyBpbnZhbGlkLCAtJUVOT01FTSBpZiBpbnN1ZmZpY2llbnQKICAqIG1lbW9yeSBpcyBhdmFpbGFibGUsIG9yIDAgb24gc3VjY2Vzcy4KICAqLwpAQCAtODYyLDcgKzkxNiwxNCBAQAogCQkJCSAgICB1MzIgKnNpZCwgdTMyIGRlZl9zaWQsIGdmcF90IGdmcF9mbGFncykKIHsKIAlyZXR1cm4gc2VjdXJpdHlfY29udGV4dF90b19zaWRfY29yZShzY29udGV4dCwgc2NvbnRleHRfbGVuLAotCQkJCQkgICAgc2lkLCBkZWZfc2lkLCBnZnBfZmxhZ3MpOworCQkJCQkgICAgc2lkLCBkZWZfc2lkLCBnZnBfZmxhZ3MsIDEpOworfQorCitpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWRfZm9yY2UoY29uc3QgY2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sCisJCQkJICB1MzIgKnNpZCkKK3sKKwlyZXR1cm4gc2VjdXJpdHlfY29udGV4dF90b19zaWRfY29yZShzY29udGV4dCwgc2NvbnRleHRfbGVuLAorCQkJCQkgICAgc2lkLCBTRUNTSURfTlVMTCwgR0ZQX0tFUk5FTCwgMSk7CiB9CiAKIHN0YXRpYyBpbnQgY29tcHV0ZV9zaWRfaGFuZGxlX2ludmFsaWRfY29udGV4dCgKQEAgLTkyMiw3ICs5ODMsNyBAQAogCiAJY29udGV4dF9pbml0KCZuZXdjb250ZXh0KTsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCXNjb250ZXh0ID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBzc2lkKTsKIAlpZiAoIXNjb250ZXh0KSB7CkBAIC0xMDI3LDcgKzEwODgsNyBAQAogCS8qIE9idGFpbiB0aGUgc2lkIGZvciB0aGUgY29udGV4dC4gKi8KIAlyYyA9IHNpZHRhYl9jb250ZXh0X3RvX3NpZCgmc2lkdGFiLCAmbmV3Y29udGV4dCwgb3V0X3NpZCk7CiBvdXRfdW5sb2NrOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJY29udGV4dF9kZXN0cm95KCZuZXdjb250ZXh0KTsKIG91dDoKIAlyZXR1cm4gcmM7CkBAIC0xMTEwLDYgKzExNzEsNyBAQAogCWNvbnN0IHN0cnVjdCBzZWxpbnV4X2NsYXNzX3Blcm0gKmtkZWZzID0gJnNlbGludXhfY2xhc3NfcGVybTsKIAljb25zdCBjaGFyICpkZWZfY2xhc3MsICpkZWZfcGVybSwgKnBvbF9jbGFzczsKIAlzdHJ1Y3Qgc3ltdGFiICpwZXJtczsKKwlib29sIHByaW50X3Vua25vd25faGFuZGxlID0gMDsKIAogCWlmIChwLT5hbGxvd191bmtub3duKSB7CiAJCXUzMiBudW1fY2xhc3NlcyA9IGtkZWZzLT5jdHNfbGVuOwpAQCAtMTEzMCw2ICsxMTkyLDcgQEAKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCWlmIChwLT5hbGxvd191bmtub3duKQogCQkJCXAtPnVuZGVmaW5lZF9wZXJtc1tpLTFdID0gfjBVOworCQkJcHJpbnRfdW5rbm93bl9oYW5kbGUgPSAxOwogCQkJY29udGludWU7CiAJCX0KIAkJcG9sX2NsYXNzID0gcC0+cF9jbGFzc192YWxfdG9fbmFtZVtpLTFdOwpAQCAtMTE1OSw2ICsxMjIyLDcgQEAKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCWlmIChwLT5hbGxvd191bmtub3duKQogCQkJCXAtPnVuZGVmaW5lZF9wZXJtc1tjbGFzc192YWwtMV0gfD0gcGVybV92YWw7CisJCQlwcmludF91bmtub3duX2hhbmRsZSA9IDE7CiAJCQljb250aW51ZTsKIAkJfQogCQlwZXJkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBlcm1zLT50YWJsZSwgZGVmX3Blcm0pOwpAQCAtMTIwNiw2ICsxMjcwLDcgQEAKIAkJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQkJaWYgKHAtPmFsbG93X3Vua25vd24pCiAJCQkJCXAtPnVuZGVmaW5lZF9wZXJtc1tjbGFzc192YWwtMV0gfD0gKDEgPDwgaik7CisJCQkJcHJpbnRfdW5rbm93bl9oYW5kbGUgPSAxOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJcGVyZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwZXJtcy0+dGFibGUsIGRlZl9wZXJtKTsKQEAgLTEyMjMsNiArMTI4OCw5IEBACiAJCQl9CiAJCX0KIAl9CisJaWYgKHByaW50X3Vua25vd25faGFuZGxlKQorCQlwcmludGsoS0VSTl9JTkZPICJTRUxpbnV4OiB0aGUgYWJvdmUgdW5rbm93biBjbGFzc2VzIGFuZCBwZXJtaXNzaW9ucyB3aWxsIGJlICVzXG4iLAorCQkJKHNlY3VyaXR5X2dldF9hbGxvd191bmtub3duKCkgPyAiYWxsb3dlZCIgOiAiZGVuaWVkIikpOwogCXJldHVybiAwOwogfQogCkBAIC0xMjQ2LDkgKzEzMTQsMTIgQEAKIAkJY2hhciAqczsKIAkJdTMyIGxlbjsKIAotCQljb250ZXh0X3N0cnVjdF90b19zdHJpbmcoY29udGV4dCwgJnMsICZsZW4pOwotCQlwcmludGsoS0VSTl9FUlIgIlNFTGludXg6ICBjb250ZXh0ICVzIGlzIGludmFsaWRcbiIsIHMpOwotCQlrZnJlZShzKTsKKwkJaWYgKCFjb250ZXh0X3N0cnVjdF90b19zdHJpbmcoY29udGV4dCwgJnMsICZsZW4pKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCSAgICAgICAiU0VMaW51eDogIENvbnRleHQgJXMgd291bGQgYmUgaW52YWxpZCBpZiBlbmZvcmNpbmdcbiIsCisJCQkgICAgICAgcyk7CisJCQlrZnJlZShzKTsKKwkJfQogCX0KIAlyZXR1cm4gcmM7CiB9CkBAIC0xMjgwLDYgKzEzNTEsMzcgQEAKIAogCWFyZ3MgPSBwOwogCisJaWYgKGMtPnN0cikgeworCQlzdHJ1Y3QgY29udGV4dCBjdHg7CisJCXMgPSBrc3RyZHVwKGMtPnN0ciwgR0ZQX0tFUk5FTCk7CisJCWlmICghcykgeworCQkJcmMgPSAtRU5PTUVNOworCQkJZ290byBvdXQ7CisJCX0KKwkJcmMgPSBzdHJpbmdfdG9fY29udGV4dF9zdHJ1Y3QoYXJncy0+bmV3cCwgTlVMTCwgcywKKwkJCQkJICAgICAgYy0+bGVuLCAmY3R4LCBTRUNTSURfTlVMTCk7CisJCWtmcmVlKHMpOworCQlpZiAoIXJjKSB7CisJCQlwcmludGsoS0VSTl9JTkZPCisJCSAgICAgICAiU0VMaW51eDogIENvbnRleHQgJXMgYmVjYW1lIHZhbGlkIChtYXBwZWQpLlxuIiwKKwkJCSAgICAgICBjLT5zdHIpOworCQkJLyogUmVwbGFjZSBzdHJpbmcgd2l0aCBtYXBwZWQgcmVwcmVzZW50YXRpb24uICovCisJCQlrZnJlZShjLT5zdHIpOworCQkJbWVtY3B5KGMsICZjdHgsIHNpemVvZigqYykpOworCQkJZ290byBvdXQ7CisJCX0gZWxzZSBpZiAocmMgPT0gLUVJTlZBTCkgeworCQkJLyogUmV0YWluIHN0cmluZyByZXByZXNlbnRhdGlvbiBmb3IgbGF0ZXIgbWFwcGluZy4gKi8KKwkJCXJjID0gMDsKKwkJCWdvdG8gb3V0OworCQl9IGVsc2UgeworCQkJLyogT3RoZXIgZXJyb3IgY29uZGl0aW9uLCBlLmcuIEVOT01FTS4gKi8KKwkJCXByaW50ayhLRVJOX0VSUgorCQkgICAgICAgIlNFTGludXg6ICAgVW5hYmxlIHRvIG1hcCBjb250ZXh0ICVzLCByYyA9ICVkLlxuIiwKKwkJCSAgICAgICBjLT5zdHIsIC1yYyk7CisJCQlnb3RvIG91dDsKKwkJfQorCX0KKwogCXJjID0gY29udGV4dF9jcHkoJm9sZGMsIGMpOwogCWlmIChyYykKIAkJZ290byBvdXQ7CkBAIC0xMzE5LDEzICsxNDIxLDIxIEBACiAJfQogCiAJY29udGV4dF9kZXN0cm95KCZvbGRjKTsKKwlyYyA9IDA7CiBvdXQ6CiAJcmV0dXJuIHJjOwogYmFkOgotCWNvbnRleHRfc3RydWN0X3RvX3N0cmluZygmb2xkYywgJnMsICZsZW4pOworCS8qIE1hcCBvbGQgcmVwcmVzZW50YXRpb24gdG8gc3RyaW5nIGFuZCBzYXZlIGl0LiAqLworCWlmIChjb250ZXh0X3N0cnVjdF90b19zdHJpbmcoJm9sZGMsICZzLCAmbGVuKSkKKwkJcmV0dXJuIC1FTk9NRU07CiAJY29udGV4dF9kZXN0cm95KCZvbGRjKTsKLQlwcmludGsoS0VSTl9FUlIgIlNFTGludXg6ICBpbnZhbGlkYXRpbmcgY29udGV4dCAlc1xuIiwgcyk7Ci0Ja2ZyZWUocyk7CisJY29udGV4dF9kZXN0cm95KGMpOworCWMtPnN0ciA9IHM7CisJYy0+bGVuID0gbGVuOworCXByaW50ayhLRVJOX0lORk8KKwkgICAgICAgIlNFTGludXg6ICBDb250ZXh0ICVzIGJlY2FtZSBpbnZhbGlkICh1bm1hcHBlZCkuXG4iLAorCSAgICAgICBjLT5zdHIpOworCXJjID0gMDsKIAlnb3RvIG91dDsKIH0KIApAQCAtMTM1OSwxNyArMTQ2OSwxMyBAQAogCWludCByYyA9IDA7CiAJc3RydWN0IHBvbGljeV9maWxlIGZpbGUgPSB7IGRhdGEsIGxlbiB9LCAqZnAgPSAmZmlsZTsKIAotCUxPQURfTE9DSzsKLQogCWlmICghc3NfaW5pdGlhbGl6ZWQpIHsKIAkJYXZ0YWJfY2FjaGVfaW5pdCgpOwogCQlpZiAocG9saWN5ZGJfcmVhZCgmcG9saWN5ZGIsIGZwKSkgewotCQkJTE9BRF9VTkxPQ0s7CiAJCQlhdnRhYl9jYWNoZV9kZXN0cm95KCk7CiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCQlpZiAocG9saWN5ZGJfbG9hZF9pc2lkcygmcG9saWN5ZGIsICZzaWR0YWIpKSB7Ci0JCQlMT0FEX1VOTE9DSzsKIAkJCXBvbGljeWRiX2Rlc3Ryb3koJnBvbGljeWRiKTsKIAkJCWF2dGFiX2NhY2hlX2Rlc3Ryb3koKTsKIAkJCXJldHVybiAtRUlOVkFMOwpAQCAtMTM3OCw3ICsxNDg0LDYgQEAKIAkJaWYgKHZhbGlkYXRlX2NsYXNzZXMoJnBvbGljeWRiKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSCiAJCQkgICAgICAgIlNFTGludXg6ICB0aGUgZGVmaW5pdGlvbiBvZiBhIGNsYXNzIGlzIGluY29ycmVjdFxuIik7Ci0JCQlMT0FEX1VOTE9DSzsKIAkJCXNpZHRhYl9kZXN0cm95KCZzaWR0YWIpOwogCQkJcG9saWN5ZGJfZGVzdHJveSgmcG9saWN5ZGIpOwogCQkJYXZ0YWJfY2FjaGVfZGVzdHJveSgpOwpAQCAtMTM4OCw3ICsxNDkzLDYgQEAKIAkJcG9saWN5ZGJfbG9hZGVkX3ZlcnNpb24gPSBwb2xpY3lkYi5wb2xpY3l2ZXJzOwogCQlzc19pbml0aWFsaXplZCA9IDE7CiAJCXNlcW5vID0gKytsYXRlc3RfZ3JhbnRpbmc7Ci0JCUxPQURfVU5MT0NLOwogCQlzZWxpbnV4X2NvbXBsZXRlX2luaXQoKTsKIAkJYXZjX3NzX3Jlc2V0KHNlcW5vKTsKIAkJc2Vsbmxfbm90aWZ5X3BvbGljeWxvYWQoc2Vxbm8pOwpAQCAtMTQwMSwxMiArMTUwNSwxMyBAQAogCXNpZHRhYl9oYXNoX2V2YWwoJnNpZHRhYiwgInNpZHMiKTsKICNlbmRpZgogCi0JaWYgKHBvbGljeWRiX3JlYWQoJm5ld3BvbGljeWRiLCBmcCkpIHsKLQkJTE9BRF9VTkxPQ0s7CisJaWYgKHBvbGljeWRiX3JlYWQoJm5ld3BvbGljeWRiLCBmcCkpCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAotCXNpZHRhYl9pbml0KCZuZXdzaWR0YWIpOworCWlmIChzaWR0YWJfaW5pdCgmbmV3c2lkdGFiKSkgeworCQlwb2xpY3lkYl9kZXN0cm95KCZuZXdwb2xpY3lkYik7CisJCXJldHVybiAtRU5PTUVNOworCX0KIAogCS8qIFZlcmlmeSB0aGF0IHRoZSBrZXJuZWwgZGVmaW5lZCBjbGFzc2VzIGFyZSBjb3JyZWN0LiAqLwogCWlmICh2YWxpZGF0ZV9jbGFzc2VzKCZuZXdwb2xpY3lkYikpIHsKQEAgLTE0MjksMjUgKzE1MzQsMjggQEAKIAkJZ290byBlcnI7CiAJfQogCi0JLyogQ29udmVydCB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb25zIG9mIGNvbnRleHRzCi0JICAgaW4gdGhlIG5ldyBTSUQgdGFibGUgYW5kIHJlbW92ZSBpbnZhbGlkIFNJRHMuICovCisJLyoKKwkgKiBDb252ZXJ0IHRoZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbnMgb2YgY29udGV4dHMKKwkgKiBpbiB0aGUgbmV3IFNJRCB0YWJsZS4KKwkgKi8KIAlhcmdzLm9sZHAgPSAmcG9saWN5ZGI7CiAJYXJncy5uZXdwID0gJm5ld3BvbGljeWRiOwotCXNpZHRhYl9tYXBfcmVtb3ZlX29uX2Vycm9yKCZuZXdzaWR0YWIsIGNvbnZlcnRfY29udGV4dCwgJmFyZ3MpOworCXJjID0gc2lkdGFiX21hcCgmbmV3c2lkdGFiLCBjb252ZXJ0X2NvbnRleHQsICZhcmdzKTsKKwlpZiAocmMpCisJCWdvdG8gZXJyOwogCiAJLyogU2F2ZSB0aGUgb2xkIHBvbGljeWRiIGFuZCBTSUQgdGFibGUgdG8gZnJlZSBsYXRlci4gKi8KIAltZW1jcHkoJm9sZHBvbGljeWRiLCAmcG9saWN5ZGIsIHNpemVvZiBwb2xpY3lkYik7CiAJc2lkdGFiX3NldCgmb2xkc2lkdGFiLCAmc2lkdGFiKTsKIAogCS8qIEluc3RhbGwgdGhlIG5ldyBwb2xpY3lkYiBhbmQgU0lEIHRhYmxlLiAqLwotCVBPTElDWV9XUkxPQ0s7CisJd3JpdGVfbG9ja19pcnEoJnBvbGljeV9yd2xvY2spOwogCW1lbWNweSgmcG9saWN5ZGIsICZuZXdwb2xpY3lkYiwgc2l6ZW9mIHBvbGljeWRiKTsKIAlzaWR0YWJfc2V0KCZzaWR0YWIsICZuZXdzaWR0YWIpOwogCXNlY3VyaXR5X2xvYWRfcG9saWN5Y2FwcygpOwogCXNlcW5vID0gKytsYXRlc3RfZ3JhbnRpbmc7CiAJcG9saWN5ZGJfbG9hZGVkX3ZlcnNpb24gPSBwb2xpY3lkYi5wb2xpY3l2ZXJzOwotCVBPTElDWV9XUlVOTE9DSzsKLQlMT0FEX1VOTE9DSzsKKwl3cml0ZV91bmxvY2tfaXJxKCZwb2xpY3lfcndsb2NrKTsKIAogCS8qIEZyZWUgdGhlIG9sZCBwb2xpY3lkYiBhbmQgU0lEIHRhYmxlLiAqLwogCXBvbGljeWRiX2Rlc3Ryb3koJm9sZHBvbGljeWRiKTsKQEAgLTE0NjEsNyArMTU2OSw2IEBACiAJcmV0dXJuIDA7CiAKIGVycjoKLQlMT0FEX1VOTE9DSzsKIAlzaWR0YWJfZGVzdHJveSgmbmV3c2lkdGFiKTsKIAlwb2xpY3lkYl9kZXN0cm95KCZuZXdwb2xpY3lkYik7CiAJcmV0dXJuIHJjOwpAQCAtMTQ3OSw3ICsxNTg2LDcgQEAKIAlzdHJ1Y3Qgb2NvbnRleHQgKmM7CiAJaW50IHJjID0gMDsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWMgPSBwb2xpY3lkYi5vY29udGV4dHNbT0NPTl9QT1JUXTsKIAl3aGlsZSAoYykgewpAQCAtMTUwNCw3ICsxNjExLDcgQEAKIAl9CiAKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtMTUxOCw3ICsxNjI1LDcgQEAKIAlpbnQgcmMgPSAwOwogCXN0cnVjdCBvY29udGV4dCAqYzsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWMgPSBwb2xpY3lkYi5vY29udGV4dHNbT0NPTl9ORVRJRl07CiAJd2hpbGUgKGMpIHsKQEAgLTE1NDUsNyArMTY1Miw3IEBACiAJCSppZl9zaWQgPSBTRUNJTklUU0lEX05FVElGOwogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTE1NzcsNyArMTY4NCw3IEBACiAJaW50IHJjID0gMDsKIAlzdHJ1Y3Qgb2NvbnRleHQgKmM7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlzd2l0Y2ggKGRvbWFpbikgewogCWNhc2UgQUZfSU5FVDogewpAQCAtMTYzMiw3ICsxNzM5LDcgQEAKIAl9CiAKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtMTY3MSw3ICsxNzc4LDkgQEAKIAlpZiAoIXNzX2luaXRpYWxpemVkKQogCQlnb3RvIG91dDsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKKworCWNvbnRleHRfaW5pdCgmdXNlcmNvbik7CiAKIAlmcm9tY29uID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBmcm9tc2lkKTsKIAlpZiAoIWZyb21jb24pIHsKQEAgLTE3MjIsNyArMTgzMSw3IEBACiAJfQogCiBvdXRfdW5sb2NrOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJaWYgKHJjIHx8ICFteW5lbCkgewogCQlrZnJlZShteXNpZHMpOwogCQlnb3RvIG91dDsKQEAgLTE3NzUsNyArMTg4NCw3IEBACiAJd2hpbGUgKHBhdGhbMF0gPT0gJy8nICYmIHBhdGhbMV0gPT0gJy8nKQogCQlwYXRoKys7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlmb3IgKGdlbmZzID0gcG9saWN5ZGIuZ2VuZnM7IGdlbmZzOyBnZW5mcyA9IGdlbmZzLT5uZXh0KSB7CiAJCWNtcCA9IHN0cmNtcChmc3R5cGUsIGdlbmZzLT5mc3R5cGUpOwpAQCAtMTgxMiw3ICsxOTIxLDcgQEAKIAogCSpzaWQgPSBjLT5zaWRbMF07CiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTE4MzAsNyArMTkzOSw3IEBACiAJaW50IHJjID0gMDsKIAlzdHJ1Y3Qgb2NvbnRleHQgKmM7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAljID0gcG9saWN5ZGIub2NvbnRleHRzW09DT05fRlNVU0VdOwogCXdoaWxlIChjKSB7CkBAIC0xODYwLDcgKzE5NjksNyBAQAogCX0KIAogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC0xODY4LDcgKzE5NzcsNyBAQAogewogCWludCBpLCByYyA9IC1FTk9NRU07CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAJKm5hbWVzID0gTlVMTDsKIAkqdmFsdWVzID0gTlVMTDsKIApAQCAtMTg5OCw3ICsyMDA3LDcgQEAKIAl9CiAJcmMgPSAwOwogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogZXJyOgogCWlmICgqbmFtZXMpIHsKQEAgLTE5MTYsNyArMjAyNSw3IEBACiAJaW50IGxlbnAsIHNlcW5vID0gMDsKIAlzdHJ1Y3QgY29uZF9ub2RlICpjdXI7CiAKLQlQT0xJQ1lfV1JMT0NLOworCXdyaXRlX2xvY2tfaXJxKCZwb2xpY3lfcndsb2NrKTsKIAogCWxlbnAgPSBwb2xpY3lkYi5wX2Jvb2xzLm5wcmltOwogCWlmIChsZW4gIT0gbGVucCkgewpAQCAtMTk1MCw3ICsyMDU5LDcgQEAKIAlzZXFubyA9ICsrbGF0ZXN0X2dyYW50aW5nOwogCiBvdXQ6Ci0JUE9MSUNZX1dSVU5MT0NLOworCXdyaXRlX3VubG9ja19pcnEoJnBvbGljeV9yd2xvY2spOwogCWlmICghcmMpIHsKIAkJYXZjX3NzX3Jlc2V0KHNlcW5vKTsKIAkJc2Vsbmxfbm90aWZ5X3BvbGljeWxvYWQoc2Vxbm8pOwpAQCAtMTk2NCw3ICsyMDczLDcgQEAKIAlpbnQgcmMgPSAwOwogCWludCBsZW47CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlsZW4gPSBwb2xpY3lkYi5wX2Jvb2xzLm5wcmltOwogCWlmIChib29sID49IGxlbikgewpAQCAtMTk3NCw3ICsyMDgzLDcgQEAKIAogCXJjID0gcG9saWN5ZGIuYm9vbF92YWxfdG9fc3RydWN0W2Jvb2xdLT5zdGF0ZTsKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtMjAyOSw3ICsyMTM4LDcgQEAKIAogCWNvbnRleHRfaW5pdCgmbmV3Y29uKTsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAljb250ZXh0MSA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgc2lkKTsKIAlpZiAoIWNvbnRleHQxKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogJXM6ICB1bnJlY29nbml6ZWQgU0lEICVkXG4iLApAQCAtMjA3MSw3ICsyMTgwLDcgQEAKIAl9CiAKIG91dF91bmxvY2s6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAljb250ZXh0X2Rlc3Ryb3koJm5ld2Nvbik7CiBvdXQ6CiAJcmV0dXJuIHJjOwpAQCAtMjEyOCw3ICsyMjM3LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJbmxibF9jdHggPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIG5sYmxfc2lkKTsKIAlpZiAoIW5sYmxfY3R4KSB7CkBAIC0yMTQ3LDcgKzIyNTYsNyBAQAogCXJjID0gKG1sc19jb250ZXh0X2NtcChubGJsX2N0eCwgeGZybV9jdHgpID8gMCA6IC1FQUNDRVMpOwogCiBvdXRfc2xvd3BhdGg6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlpZiAocmMgPT0gMCkKIAkJLyogYXQgcHJlc2VudCBOZXRMYWJlbCBTSURzL2xhYmVscyByZWFsbHkgb25seSBjYXJyeSBNTFMKIAkJICogaW5mb3JtYXRpb24gc28gaWYgdGhlIE1MUyBwb3J0aW9uIG9mIHRoZSBOZXRMYWJlbCBTSUQKQEAgLTIxNzcsNyArMjI4Niw3IEBACiB7CiAJaW50IHJjID0gLUVOT01FTTsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCSpuY2xhc3NlcyA9IHBvbGljeWRiLnBfY2xhc3Nlcy5ucHJpbTsKIAkqY2xhc3NlcyA9IGtjYWxsb2MoKm5jbGFzc2VzLCBzaXplb2YoKmNsYXNzZXMpLCBHRlBfQVRPTUlDKTsKQEAgLTIxOTQsNyArMjMwMyw3IEBACiAJfQogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTIyMTYsNyArMjMyNSw3IEBACiAJaW50IHJjID0gLUVOT01FTSwgaTsKIAlzdHJ1Y3QgY2xhc3NfZGF0dW0gKm1hdGNoOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJbWF0Y2ggPSBoYXNodGFiX3NlYXJjaChwb2xpY3lkYi5wX2NsYXNzZXMudGFibGUsIGNsYXNzKTsKIAlpZiAoIW1hdGNoKSB7CkBAIC0yMjQ0LDExICsyMzUzLDExIEBACiAJCWdvdG8gZXJyOwogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiAKIGVycjoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCWZvciAoaSA9IDA7IGkgPCAqbnBlcm1zOyBpKyspCiAJCWtmcmVlKCgqcGVybXMpW2ldKTsKIAlrZnJlZSgqcGVybXMpOwpAQCAtMjI3OSw5ICsyMzg4LDkgQEAKIHsKIAlpbnQgcmM7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmMgPSBlYml0bWFwX2dldF9iaXQoJnBvbGljeWRiLnBvbGljeWNhcHMsIHJlcV9jYXApOwotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlyZXR1cm4gcmM7CiB9CkBAIC0yMzQ1LDcgKzI0NTQsNyBAQAogCiAJY29udGV4dF9pbml0KCZ0bXBydWxlLT5hdV9jdHh0KTsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCXRtcHJ1bGUtPmF1X3NlcW5vID0gbGF0ZXN0X2dyYW50aW5nOwogCkBAIC0yMzgyLDcgKzI0OTEsNyBAQAogCQlicmVhazsKIAl9CiAKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCiAJaWYgKHJjKSB7CiAJCXNlbGludXhfYXVkaXRfcnVsZV9mcmVlKHRtcHJ1bGUpOwpAQCAtMjQyMCw3ICsyNTI5LDcgQEAKIH0KIAogaW50IHNlbGludXhfYXVkaXRfcnVsZV9tYXRjaCh1MzIgc2lkLCB1MzIgZmllbGQsIHUzMiBvcCwgdm9pZCAqdnJ1bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KQorCQkJICAgICBzdHJ1Y3QgYXVkaXRfY29udGV4dCAqYWN0eCkKIHsKIAlzdHJ1Y3QgY29udGV4dCAqY3R4dDsKIAlzdHJ1Y3QgbWxzX2xldmVsICpsZXZlbDsKQEAgLTI0MzMsNyArMjU0Miw3IEBACiAJCXJldHVybiAtRU5PRU5UOwogCX0KIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWlmIChydWxlLT5hdV9zZXFubyA8IGxhdGVzdF9ncmFudGluZykgewogCQlhdWRpdF9sb2coYWN0eCwgR0ZQX0FUT01JQywgQVVESVRfU0VMSU5VWF9FUlIsCkBAIC0yNTI3LDE0ICsyNjM2LDE0IEBACiAJfQogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gbWF0Y2g7CiB9CiAKIHN0YXRpYyBpbnQgKCphdXJ1bGVfY2FsbGJhY2spKHZvaWQpID0gYXVkaXRfdXBkYXRlX2xzbV9ydWxlczsKIAogc3RhdGljIGludCBhdXJ1bGVfYXZjX2NhbGxiYWNrKHUzMiBldmVudCwgdTMyIHNzaWQsIHUzMiB0c2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUxNiBjbGFzcywgdTMyIHBlcm1zLCB1MzIgKnJldGFpbmVkKQorCQkJICAgICAgIHUxNiBjbGFzcywgdTMyIHBlcm1zLCB1MzIgKnJldGFpbmVkKQogewogCWludCBlcnIgPSAwOwogCkBAIC0yNjE1LDcgKzI3MjQsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlpZiAoc2VjYXR0ci0+ZmxhZ3MgJiBORVRMQkxfU0VDQVRUUl9DQUNIRSkgewogCQkqc2lkID0gKih1MzIgKilzZWNhdHRyLT5jYWNoZS0+ZGF0YTsKQEAgLTI2NjAsNyArMjc2OSw3IEBACiAJfQogCiBuZXRsYmxfc2VjYXR0cl90b19zaWRfcmV0dXJuOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogbmV0bGJsX3NlY2F0dHJfdG9fc2lkX3JldHVybl9jbGVhbnVwOgogCWViaXRtYXBfZGVzdHJveSgmY3R4X25ldy5yYW5nZS5sZXZlbFswXS5jYXQpOwpAQCAtMjY4NSw3ICsyNzk0LDcgQEAKIAlpZiAoIXNzX2luaXRpYWxpemVkKQogCQlyZXR1cm4gMDsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAljdHggPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNpZCk7CiAJaWYgKGN0eCA9PSBOVUxMKQogCQlnb3RvIG5ldGxibF9zaWRfdG9fc2VjYXR0cl9mYWlsdXJlOwpAQCAtMjY5NiwxMiArMjgwNSwxMiBAQAogCXJjID0gbWxzX2V4cG9ydF9uZXRsYmxfY2F0KGN0eCwgc2VjYXR0cik7CiAJaWYgKHJjICE9IDApCiAJCWdvdG8gbmV0bGJsX3NpZF90b19zZWNhdHRyX2ZhaWx1cmU7Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCXJldHVybiAwOwogCiBuZXRsYmxfc2lkX3RvX3NlY2F0dHJfZmFpbHVyZToKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KICNlbmRpZiAvKiBDT05GSUdfTkVUTEFCRUwgKi8KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5jCmluZGV4IDRhNTE2ZmYuLmE4MWRlZDEgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9zaWR0YWIuYwpAQCAtMTQsMTAgKzE0LDYgQEAKICNkZWZpbmUgU0lEVEFCX0hBU0goc2lkKSBcCiAoc2lkICYgU0lEVEFCX0hBU0hfTUFTSykKIAotI2RlZmluZSBJTklUX1NJRFRBQl9MT0NLKHMpIHNwaW5fbG9ja19pbml0KCZzLT5sb2NrKQotI2RlZmluZSBTSURUQUJfTE9DSyhzLCB4KSBzcGluX2xvY2tfaXJxc2F2ZSgmcy0+bG9jaywgeCkKLSNkZWZpbmUgU0lEVEFCX1VOTE9DSyhzLCB4KSBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCB4KQotCiBpbnQgc2lkdGFiX2luaXQoc3RydWN0IHNpZHRhYiAqcykKIHsKIAlpbnQgaTsKQEAgLTMwLDcgKzI2LDcgQEAKIAlzLT5uZWwgPSAwOwogCXMtPm5leHRfc2lkID0gMTsKIAlzLT5zaHV0ZG93biA9IDA7Ci0JSU5JVF9TSURUQUJfTE9DSyhzKTsKKwlzcGluX2xvY2tfaW5pdCgmcy0+bG9jayk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTg2LDcgKzgyLDcgQEAKIAlyZXR1cm4gcmM7CiB9CiAKLXN0cnVjdCBjb250ZXh0ICpzaWR0YWJfc2VhcmNoKHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQpCitzdGF0aWMgc3RydWN0IGNvbnRleHQgKnNpZHRhYl9zZWFyY2hfY29yZShzdHJ1Y3Qgc2lkdGFiICpzLCB1MzIgc2lkLCBpbnQgZm9yY2UpCiB7CiAJaW50IGh2YWx1ZTsKIAlzdHJ1Y3Qgc2lkdGFiX25vZGUgKmN1cjsKQEAgLTk5LDcgKzk1LDEwIEBACiAJd2hpbGUgKGN1ciAhPSBOVUxMICYmIHNpZCA+IGN1ci0+c2lkKQogCQljdXIgPSBjdXItPm5leHQ7CiAKLQlpZiAoY3VyID09IE5VTEwgfHwgc2lkICE9IGN1ci0+c2lkKSB7CisJaWYgKGZvcmNlICYmIGN1ciAmJiBzaWQgPT0gY3VyLT5zaWQgJiYgY3VyLT5jb250ZXh0LmxlbikKKwkJcmV0dXJuICZjdXItPmNvbnRleHQ7CisKKwlpZiAoY3VyID09IE5VTEwgfHwgc2lkICE9IGN1ci0+c2lkIHx8IGN1ci0+Y29udGV4dC5sZW4pIHsKIAkJLyogUmVtYXAgaW52YWxpZCBTSURzIHRvIHRoZSB1bmxhYmVsZWQgU0lELiAqLwogCQlzaWQgPSBTRUNJTklUU0lEX1VOTEFCRUxFRDsKIAkJaHZhbHVlID0gU0lEVEFCX0hBU0goc2lkKTsKQEAgLTExMyw2ICsxMTIsMTYgQEAKIAlyZXR1cm4gJmN1ci0+Y29udGV4dDsKIH0KIAorc3RydWN0IGNvbnRleHQgKnNpZHRhYl9zZWFyY2goc3RydWN0IHNpZHRhYiAqcywgdTMyIHNpZCkKK3sKKwlyZXR1cm4gc2lkdGFiX3NlYXJjaF9jb3JlKHMsIHNpZCwgMCk7Cit9CisKK3N0cnVjdCBjb250ZXh0ICpzaWR0YWJfc2VhcmNoX2ZvcmNlKHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQpCit7CisJcmV0dXJuIHNpZHRhYl9zZWFyY2hfY29yZShzLCBzaWQsIDEpOworfQorCiBpbnQgc2lkdGFiX21hcChzdHJ1Y3Qgc2lkdGFiICpzLAogCSAgICAgICBpbnQgKCphcHBseSkgKHUzMiBzaWQsCiAJCQkgICAgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LApAQCAtMTM4LDQzICsxNDcsNiBAQAogCXJldHVybiByYzsKIH0KIAotdm9pZCBzaWR0YWJfbWFwX3JlbW92ZV9vbl9lcnJvcihzdHJ1Y3Qgc2lkdGFiICpzLAotCQkJCWludCAoKmFwcGx5KSAodTMyIHNpZCwKLQkJCQkJICAgICAgc3RydWN0IGNvbnRleHQgKmNvbnRleHQsCi0JCQkJCSAgICAgIHZvaWQgKmFyZ3MpLAotCQkJCXZvaWQgKmFyZ3MpCi17Ci0JaW50IGksIHJldDsKLQlzdHJ1Y3Qgc2lkdGFiX25vZGUgKmxhc3QsICpjdXIsICp0ZW1wOwotCi0JaWYgKCFzKQotCQlyZXR1cm47Ci0KLQlmb3IgKGkgPSAwOyBpIDwgU0lEVEFCX1NJWkU7IGkrKykgewotCQlsYXN0ID0gTlVMTDsKLQkJY3VyID0gcy0+aHRhYmxlW2ldOwotCQl3aGlsZSAoY3VyICE9IE5VTEwpIHsKLQkJCXJldCA9IGFwcGx5KGN1ci0+c2lkLCAmY3VyLT5jb250ZXh0LCBhcmdzKTsKLQkJCWlmIChyZXQpIHsKLQkJCQlpZiAobGFzdCkKLQkJCQkJbGFzdC0+bmV4dCA9IGN1ci0+bmV4dDsKLQkJCQllbHNlCi0JCQkJCXMtPmh0YWJsZVtpXSA9IGN1ci0+bmV4dDsKLQkJCQl0ZW1wID0gY3VyOwotCQkJCWN1ciA9IGN1ci0+bmV4dDsKLQkJCQljb250ZXh0X2Rlc3Ryb3koJnRlbXAtPmNvbnRleHQpOwotCQkJCWtmcmVlKHRlbXApOwotCQkJCXMtPm5lbC0tOwotCQkJfSBlbHNlIHsKLQkJCQlsYXN0ID0gY3VyOwotCQkJCWN1ciA9IGN1ci0+bmV4dDsKLQkJCX0KLQkJfQotCX0KLQotCXJldHVybjsKLX0KLQogc3RhdGljIGlubGluZSB1MzIgc2lkdGFiX3NlYXJjaF9jb250ZXh0KHN0cnVjdCBzaWR0YWIgKnMsCiAJCQkJCQkgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0KQogewpAQCAtMjA0LDcgKzE3Niw3IEBACiAKIAlzaWQgPSBzaWR0YWJfc2VhcmNoX2NvbnRleHQocywgY29udGV4dCk7CiAJaWYgKCFzaWQpIHsKLQkJU0lEVEFCX0xPQ0socywgZmxhZ3MpOworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcy0+bG9jaywgZmxhZ3MpOwogCQkvKiBSZXNjYW4gbm93IHRoYXQgd2UgaG9sZCB0aGUgbG9jay4gKi8KIAkJc2lkID0gc2lkdGFiX3NlYXJjaF9jb250ZXh0KHMsIGNvbnRleHQpOwogCQlpZiAoc2lkKQpAQCAtMjE1LDExICsxODcsMTUgQEAKIAkJCWdvdG8gdW5sb2NrX291dDsKIAkJfQogCQlzaWQgPSBzLT5uZXh0X3NpZCsrOworCQlpZiAoY29udGV4dC0+bGVuKQorCQkJcHJpbnRrKEtFUk5fSU5GTworCQkgICAgICAgIlNFTGludXg6ICBDb250ZXh0ICVzIGlzIG5vdCB2YWxpZCAobGVmdCB1bm1hcHBlZCkuXG4iLAorCQkJICAgICAgIGNvbnRleHQtPnN0cik7CiAJCXJldCA9IHNpZHRhYl9pbnNlcnQocywgc2lkLCBjb250ZXh0KTsKIAkJaWYgKHJldCkKIAkJCXMtPm5leHRfc2lkLS07CiB1bmxvY2tfb3V0OgotCQlTSURUQUJfVU5MT0NLKHMsIGZsYWdzKTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgZmxhZ3MpOwogCX0KIAogCWlmIChyZXQpCkBAIC0yODQsMTkgKzI2MCwxOSBAQAogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlTSURUQUJfTE9DSyhzcmMsIGZsYWdzKTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmc3JjLT5sb2NrLCBmbGFncyk7CiAJZHN0LT5odGFibGUgPSBzcmMtPmh0YWJsZTsKIAlkc3QtPm5lbCA9IHNyYy0+bmVsOwogCWRzdC0+bmV4dF9zaWQgPSBzcmMtPm5leHRfc2lkOwogCWRzdC0+c2h1dGRvd24gPSAwOwotCVNJRFRBQl9VTkxPQ0soc3JjLCBmbGFncyk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc3JjLT5sb2NrLCBmbGFncyk7CiB9CiAKIHZvaWQgc2lkdGFiX3NodXRkb3duKHN0cnVjdCBzaWR0YWIgKnMpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCVNJRFRBQl9MT0NLKHMsIGZsYWdzKTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcy0+bG9jaywgZmxhZ3MpOwogCXMtPnNodXRkb3duID0gMTsKLQlTSURUQUJfVU5MT0NLKHMsIGZsYWdzKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCBmbGFncyk7CiB9CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5oIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9zaWR0YWIuaAppbmRleCAyZmU5ZGZhLi42NGVhNWIxIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmgKQEAgLTMyLDYgKzMyLDcgQEAKIGludCBzaWR0YWJfaW5pdChzdHJ1Y3Qgc2lkdGFiICpzKTsKIGludCBzaWR0YWJfaW5zZXJ0KHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQsIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0KTsKIHN0cnVjdCBjb250ZXh0ICpzaWR0YWJfc2VhcmNoKHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQpOworc3RydWN0IGNvbnRleHQgKnNpZHRhYl9zZWFyY2hfZm9yY2Uoc3RydWN0IHNpZHRhYiAqcywgdTMyIHNpZCk7CiAKIGludCBzaWR0YWJfbWFwKHN0cnVjdCBzaWR0YWIgKnMsCiAJICAgICAgIGludCAoKmFwcGx5KSAodTMyIHNpZCwKQEAgLTM5LDEyICs0MCw2IEBACiAJCQkgICAgIHZvaWQgKmFyZ3MpLAogCSAgICAgICB2b2lkICphcmdzKTsKIAotdm9pZCBzaWR0YWJfbWFwX3JlbW92ZV9vbl9lcnJvcihzdHJ1Y3Qgc2lkdGFiICpzLAotCQkJCWludCAoKmFwcGx5KSAodTMyIHNpZCwKLQkJCQkJICAgICAgc3RydWN0IGNvbnRleHQgKmNvbnRleHQsCi0JCQkJCSAgICAgIHZvaWQgKmFyZ3MpLAotCQkJCXZvaWQgKmFyZ3MpOwotCiBpbnQgc2lkdGFiX2NvbnRleHRfdG9fc2lkKHN0cnVjdCBzaWR0YWIgKnMsCiAJCQkgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LAogCQkJICB1MzIgKnNpZCk7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zbWFjay9zbWFja19sc20uYyBiL3NlY3VyaXR5L3NtYWNrL3NtYWNrX2xzbS5jCmluZGV4IDRhMDkyOTMuLmVlNWE1MWMgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NtYWNrL3NtYWNrX2xzbS5jCisrKyBiL3NlY3VyaXR5L3NtYWNrL3NtYWNrX2xzbS5jCkBAIC05NSwxMSArOTUsMTIgQEAKICAqCiAgKiBEbyB0aGUgY2FwYWJpbGl0eSBjaGVja3MsIGFuZCByZXF1aXJlIHJlYWQgYW5kIHdyaXRlLgogICovCi1zdGF0aWMgaW50IHNtYWNrX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnB0cCwgc3RydWN0IHRhc2tfc3RydWN0ICpjdHApCitzdGF0aWMgaW50IHNtYWNrX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnB0cCwgc3RydWN0IHRhc2tfc3RydWN0ICpjdHAsCisJCQl1bnNpZ25lZCBpbnQgbW9kZSkKIHsKIAlpbnQgcmM7CiAKLQlyYyA9IGNhcF9wdHJhY2UocHRwLCBjdHApOworCXJjID0gY2FwX3B0cmFjZShwdHAsIGN0cCwgbW9kZSk7CiAJaWYgKHJjICE9IDApCiAJCXJldHVybiByYzsKIApAQCAtMTgyMSwyNyArMTgyMiw2IEBACiAJKnNlY2lkID0gc21hY2tfdG9fc2VjaWQoc21hY2spOwogfQogCi0vKiBtb2R1bGUgc3RhY2tpbmcgb3BlcmF0aW9ucyAqLwotCi0vKioKLSAqIHNtYWNrX3JlZ2lzdGVyX3NlY3VyaXR5IC0gc3RhY2sgY2FwYWJpbGl0eSBtb2R1bGUKLSAqIEBuYW1lOiBtb2R1bGUgbmFtZQotICogQG9wczogbW9kdWxlIG9wZXJhdGlvbnMgLSBpZ25vcmVkCi0gKgotICogQWxsb3cgdGhlIGNhcGFiaWxpdHkgbW9kdWxlIHRvIHJlZ2lzdGVyLgotICovCi1zdGF0aWMgaW50IHNtYWNrX3JlZ2lzdGVyX3NlY3VyaXR5KGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkJICAgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKLXsKLQlpZiAoc3RyY21wKG5hbWUsICJjYXBhYmlsaXR5IikgIT0gMCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlwcmludGsoS0VSTl9JTkZPICIlczogIFJlZ2lzdGVyaW5nIHNlY29uZGFyeSBtb2R1bGUgJXNcbiIsCi0JICAgICAgIF9fZnVuY19fLCBuYW1lKTsKLQotCXJldHVybiAwOwotfQotCiAvKioKICAqIHNtYWNrX2RfaW5zdGFudGlhdGUgLSBNYWtlIHN1cmUgdGhlIGJsb2IgaXMgY29ycmVjdCBvbiBhbiBpbm9kZQogICogQG9wdF9kZW50cnk6IHVudXNlZApAQCAtMjY3Miw4ICsyNjUyLDYgQEAKIAkubmV0bGlua19zZW5kID0JCQljYXBfbmV0bGlua19zZW5kLAogCS5uZXRsaW5rX3JlY3YgPSAJCWNhcF9uZXRsaW5rX3JlY3YsCiAKLQkucmVnaXN0ZXJfc2VjdXJpdHkgPSAJCXNtYWNrX3JlZ2lzdGVyX3NlY3VyaXR5LAotCiAJLmRfaW5zdGFudGlhdGUgPSAJCXNtYWNrX2RfaW5zdGFudGlhdGUsCiAKIAkuZ2V0cHJvY2F0dHIgPSAJCQlzbWFja19nZXRwcm9jYXR0ciwKZGlmZiAtLWdpdCBhL3NvdW5kL0tjb25maWcgYi9zb3VuZC9LY29uZmlnCmluZGV4IDQyNDc0MDYuLmEzN2JlZTAgMTAwNjQ0Ci0tLSBhL3NvdW5kL0tjb25maWcKKysrIGIvc291bmQvS2NvbmZpZwpAQCAtMSwxMSArMSw5IEBACiAjIHNvdW5kL0NvbmZpZy5pbgogIwogCi1tZW51ICJTb3VuZCIKLQlkZXBlbmRzIG9uIEhBU19JT01FTQotCi1jb25maWcgU09VTkQKK21lbnVjb25maWcgU09VTkQKIAl0cmlzdGF0ZSAiU291bmQgY2FyZCBzdXBwb3J0IgorCWRlcGVuZHMgb24gSEFTX0lPTUVNCiAJaGVscAogCSAgSWYgeW91IGhhdmUgYSBzb3VuZCBjYXJkIGluIHlvdXIgY29tcHV0ZXIsIGkuZS4gaWYgaXQgY2FuIHNheSBtb3JlCiAJICB0aGFuIGFuIG9jY2FzaW9uYWwgYmVlcCwgc2F5IFkuICBCZSBzdXJlIHRvIGhhdmUgYWxsIHRoZSBpbmZvcm1hdGlvbgpAQCAtMjgsMjIgKzI2LDIyIEBACiAJICBhbmQgcmVhZCA8ZmlsZTpEb2N1bWVudGF0aW9uL3NvdW5kL29zcy9SRUFETUUubW9kdWxlcz47IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNvdW5kY29yZS4KIAoraWYgU09VTkQKKwogc291cmNlICJzb3VuZC9vc3MvZG1hc291bmQvS2NvbmZpZyIKIAogaWYgIU02OEsKIAotbWVudSAiQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlIgotCWRlcGVuZHMgb24gU09VTkQhPW4KLQotY29uZmlnIFNORAorbWVudWNvbmZpZyBTTkQKIAl0cmlzdGF0ZSAiQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlIgotCWRlcGVuZHMgb24gU09VTkQKIAloZWxwCiAJICBTYXkgJ1knIG9yICdNJyB0byBlbmFibGUgQUxTQSAoQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlKSwKIAkgIHRoZSBuZXcgYmFzZSBzb3VuZCBzeXN0ZW0uCiAKIAkgIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgPGh0dHA6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZy8+CiAKK2lmIFNORAorCiBzb3VyY2UgInNvdW5kL2NvcmUvS2NvbmZpZyIKIAogc291cmNlICJzb3VuZC9kcml2ZXJzL0tjb25maWciCkBAIC01OCw5ICs1Niw3IEBACiAKIHNvdXJjZSAic291bmQvYXJtL0tjb25maWciCiAKLWlmIFNQSQogc291cmNlICJzb3VuZC9zcGkvS2NvbmZpZyIKLWVuZGlmCiAKIHNvdXJjZSAic291bmQvbWlwcy9LY29uZmlnIgogCkBAIC04MCwyMiArNzYsMjAgQEAKIAogc291cmNlICJzb3VuZC9zb2MvS2NvbmZpZyIKIAotZW5kbWVudQorZW5kaWYgIyBTTkQKIAotbWVudSAiT3BlbiBTb3VuZCBTeXN0ZW0iCi0JZGVwZW5kcyBvbiBTT1VORCE9bgotCi1jb25maWcgU09VTkRfUFJJTUUKK21lbnVjb25maWcgU09VTkRfUFJJTUUKIAl0cmlzdGF0ZSAiT3BlbiBTb3VuZCBTeXN0ZW0gKERFUFJFQ0FURUQpIgotCWRlcGVuZHMgb24gU09VTkQKIAloZWxwCiAJICBTYXkgJ1knIG9yICdNJyB0byBlbmFibGUgT3BlbiBTb3VuZCBTeXN0ZW0gZHJpdmVycy4KIAoraWYgU09VTkRfUFJJTUUKKwogc291cmNlICJzb3VuZC9vc3MvS2NvbmZpZyIKIAotZW5kbWVudQorZW5kaWYgIyBTT1VORF9QUklNRQogCi1lbmRpZgorZW5kaWYgIyAhTTY4SwogCiBjb25maWcgQUM5N19CVVMKIAl0cmlzdGF0ZQpAQCAtMTA1LDQgKzk5LDQgQEAKIAkgIHNvdW5kIGFsdGhvdWdoIHRoZXkncmUgc2hhcmluZyB0aGUgQUM5NyBidXMuIENvbmNlcm5lZCBkcml2ZXJzCiAJICBzaG91bGQgInNlbGVjdCIgdGhpcy4KIAotZW5kbWVudQorZW5kaWYgIyBTT1VORApkaWZmIC0tZ2l0IGEvc291bmQvYW9hL0tjb25maWcgYi9zb3VuZC9hb2EvS2NvbmZpZwppbmRleCA1ZDU4MTNjLi5jMDgxZTE4IDEwMDY0NAotLS0gYS9zb3VuZC9hb2EvS2NvbmZpZworKysgYi9zb3VuZC9hb2EvS2NvbmZpZwpAQCAtMSwxOCArMSwxNyBAQAotbWVudSAiQXBwbGUgT25ib2FyZCBBdWRpbyBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgUFBDX1BNQUMKLQotY29uZmlnIFNORF9BT0EKK21lbnVjb25maWcgU05EX0FPQQogCXRyaXN0YXRlICJBcHBsZSBPbmJvYXJkIEF1ZGlvIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAorCWRlcGVuZHMgb24gUFBDX1BNQUMKIAlzZWxlY3QgU05EX1BDTQogCS0tLWhlbHAtLS0KIAlUaGlzIG9wdGlvbiBlbmFibGVzIHRoZSBuZXcgZHJpdmVyIGZvciB0aGUgdmFyaW91cwogCUFwcGxlIE9uYm9hcmQgQXVkaW8gY29tcG9uZW50cy4KIAoraWYgU05EX0FPQQorCiBzb3VyY2UgInNvdW5kL2FvYS9mYWJyaWNzL0tjb25maWciCiAKIHNvdXJjZSAic291bmQvYW9hL2NvZGVjcy9LY29uZmlnIgogCiBzb3VyY2UgInNvdW5kL2FvYS9zb3VuZGJ1cy9LY29uZmlnIgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9BT0EKZGlmZiAtLWdpdCBhL3NvdW5kL2FvYS9jb2RlY3MvS2NvbmZpZyBiL3NvdW5kL2FvYS9jb2RlY3MvS2NvbmZpZwppbmRleCBkNWZiZDYwLi44MDhlYjExIDEwMDY0NAotLS0gYS9zb3VuZC9hb2EvY29kZWNzL0tjb25maWcKKysrIGIvc291bmQvYW9hL2NvZGVjcy9LY29uZmlnCkBAIC0xLDYgKzEsNSBAQAogY29uZmlnIFNORF9BT0FfT05ZWAogCXRyaXN0YXRlICJzdXBwb3J0IE9ueXggY2hpcCIKLQlkZXBlbmRzIG9uIFNORF9BT0EKIAlzZWxlY3QgSTJDCiAJc2VsZWN0IEkyQ19QT1dFUk1BQwogCS0tLWhlbHAtLS0KQEAgLTEwLDcgKzksNiBAQAogCiAjY29uZmlnIFNORF9BT0FfVE9QQVoKICMJdHJpc3RhdGUgInN1cHBvcnQgVG9wYXogY2hpcHMiCi0jCWRlcGVuZHMgb24gU05EX0FPQQogIwktLS1oZWxwLS0tCiAjCVRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIFRvcGF6IChDUzg0eHgpCiAjCWNvZGVjIGNoaXBzIGZvdW5kIGluIHRoZSBsYXRlc3QgQXBwbGUgbWFjaGluZXMsCkBAIC0xOSw3ICsxNyw2IEBACiAKIGNvbmZpZyBTTkRfQU9BX1RBUwogCXRyaXN0YXRlICJzdXBwb3J0IFRBUyBjaGlwcyIKLQlkZXBlbmRzIG9uIFNORF9BT0EKIAlzZWxlY3QgSTJDCiAJc2VsZWN0IEkyQ19QT1dFUk1BQwogCS0tLWhlbHAtLS0KQEAgLTI5LDcgKzI2LDYgQEAKIAogY29uZmlnIFNORF9BT0FfVE9PTklFCiAJdHJpc3RhdGUgInN1cHBvcnQgVG9vbmllIGNoaXAiCi0JZGVwZW5kcyBvbiBTTkRfQU9BCiAJLS0taGVscC0tLQogCVRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIHRvb25pZSBjb2RlYwogCWZvdW5kIGluIHRoZSBNYWMgTWluaS4gSWYgeW91IGhhdmUgYSBNYWMgTWluaSBhbmQKZGlmZiAtLWdpdCBhL3NvdW5kL2FvYS9mYWJyaWNzL0tjb25maWcgYi9zb3VuZC9hb2EvZmFicmljcy9LY29uZmlnCmluZGV4IDUwZDcwMjEuLjNjYTQ3NWEgMTAwNjQ0Ci0tLSBhL3NvdW5kL2FvYS9mYWJyaWNzL0tjb25maWcKKysrIGIvc291bmQvYW9hL2ZhYnJpY3MvS2NvbmZpZwpAQCAtMSw2ICsxLDUgQEAKIGNvbmZpZyBTTkRfQU9BX0ZBQlJJQ19MQVlPVVQKIAl0cmlzdGF0ZSAibGF5b3V0LWlkIGZhYnJpYyIKLQlkZXBlbmRzIG9uIFNORF9BT0EKIAlzZWxlY3QgU05EX0FPQV9TT1VOREJVUwogCXNlbGVjdCBTTkRfQU9BX1NPVU5EQlVTX0kyUwogCS0tLWhlbHAtLS0KZGlmZiAtLWdpdCBhL3NvdW5kL2FvYS9zb3VuZGJ1cy9LY29uZmlnIGIvc291bmQvYW9hL3NvdW5kYnVzL0tjb25maWcKaW5kZXggNzM2OGI3ZC4uODM5ZDExMyAxMDA2NDQKLS0tIGEvc291bmQvYW9hL3NvdW5kYnVzL0tjb25maWcKKysrIGIvc291bmQvYW9hL3NvdW5kYnVzL0tjb25maWcKQEAgLTEsNiArMSw1IEBACiBjb25maWcgU05EX0FPQV9TT1VOREJVUwogCXRyaXN0YXRlICJBcHBsZSBTb3VuZGJ1cyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkQKIAlzZWxlY3QgU05EX1BDTQogCS0tLWhlbHAtLS0KIAlUaGlzIG9wdGlvbiBlbmFibGVzIHRoZSBnZW5lcmljIGRyaXZlciBmb3IgdGhlIHNvdW5kYnVzCmRpZmYgLS1naXQgYS9zb3VuZC9hcm0vS2NvbmZpZyBiL3NvdW5kL2FybS9LY29uZmlnCmluZGV4IDJlNGE1ZTAuLjM1MWUxOWUgMTAwNjQ0Ci0tLSBhL3NvdW5kL2FybS9LY29uZmlnCisrKyBiL3NvdW5kL2FybS9LY29uZmlnCkBAIC0xLDExICsxLDE5IEBACiAjIEFMU0EgQVJNIGRyaXZlcnMKIAotbWVudSAiQUxTQSBBUk0gZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBBUk0KK21lbnVjb25maWcgU05EX0FSTQorCWJvb2wgIkFSTSBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gQVJNCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBzcGVjaWZpYyB0byBBUk0gYXJjaGl0ZWN0dXJlcy4KKwkgIERyaXZlcnMgdGhhdCBhcmUgaW1wbGVtZW50ZWQgb24gQVNvQyBjYW4gYmUgZm91bmQgaW4KKwkgICJBTFNBIGZvciBTb0MgYXVkaW8gc3VwcG9ydCIgc2VjdGlvbi4KKworaWYgU05EX0FSTQogCiBjb25maWcgU05EX1NBMTFYWF9VREExMzQxCiAJdHJpc3RhdGUgIlNBMTF4eCBVREExMzQxVFMgZHJpdmVyIChpUGFxIEgzNjAwKSIKLQlkZXBlbmRzIG9uIEFSQ0hfU0ExMTAwICYmIFNORCAmJiBMMworCWRlcGVuZHMgb24gQVJDSF9TQTExMDAgJiYgTDMKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgaWYgeW91IGhhdmUgYSBDb21wYXEgaVBhcSBIM3gwMCBoYW5kaGVsZCBjb21wdXRlcgpAQCAtMTYsNyArMjQsNyBAQAogCiBjb25maWcgU05EX0FSTUFBQ0kKIAl0cmlzdGF0ZSAiQVJNIFByaW1lQ2VsbCBQTDA0MSBBQyBMaW5rIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTTkQgJiYgQVJNX0FNQkEKKwlkZXBlbmRzIG9uIEFSTV9BTUJBCiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIApAQCAtMjYsMTEgKzM0LDEyIEBACiAKIGNvbmZpZyBTTkRfUFhBMlhYX0FDOTcKIAl0cmlzdGF0ZSAiQUM5NyBkcml2ZXIgZm9yIHRoZSBJbnRlbCBQWEEyeHggY2hpcCIKLQlkZXBlbmRzIG9uIEFSQ0hfUFhBICYmIFNORAorCWRlcGVuZHMgb24gQVJDSF9QWEEKIAlzZWxlY3QgU05EX1BYQTJYWF9QQ00KIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgYW55IEFDOTcgY29kZWMgYXR0YWNoZWQgdG8KIAkgIHRoZSBQWEEyeHggQUM5NyBpbnRlcmZhY2UuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX0FSTQorCmRpZmYgLS1naXQgYS9zb3VuZC9hcm0vc2ExMXh4LXVkYTEzNDEuYyBiL3NvdW5kL2FybS9zYTExeHgtdWRhMTM0MS5jCmluZGV4IDBlZmYzM2MuLmZhZWRkZjMgMTAwNjQ0Ci0tLSBhL3NvdW5kL2FybS9zYTExeHgtdWRhMTM0MS5jCisrKyBiL3NvdW5kL2FybS9zYTExeHgtdWRhMTM0MS5jCkBAIC0yMSw4ICsyMSw2IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlZCBIQUwgbGF5ZXIgKHBhdGNoZXMgZnJvbSBCcmlhbikKICAqLwogCi0vKiAkSWQ6IHNhMTF4eC11ZGExMzQxLmMsdiAxLjI3IDIwMDUvMTIvMDcgMDk6MTM6NDIgY2xhZGlzY2ggRXhwICQgKi8KLQogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgogKiBUbyB1bmRlcnN0YW5kIHdoYXQgQWxzYSBEcml2ZXJzIHNob3VsZCBiZSBkb2luZyBsb29rIGF0ICJXcml0aW5nIGFuIEFsc2EgRHJpdmVyIiBieSBUYWthc2hpIEl3YWkKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvS2NvbmZpZyBiL3NvdW5kL2NvcmUvS2NvbmZpZwppbmRleCBhOGQ3MWM2Li4zMzVkNDVlIDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL0tjb25maWcKKysrIGIvc291bmQvY29yZS9LY29uZmlnCkBAIC0xLDI0ICsxLDE5IEBACiAjIEFMU0Egc291bmRjYXJkLWNvbmZpZ3VyYXRpb24KIGNvbmZpZyBTTkRfVElNRVIKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05ECiAKIGNvbmZpZyBTTkRfUENNCiAJdHJpc3RhdGUKIAlzZWxlY3QgU05EX1RJTUVSCi0JZGVwZW5kcyBvbiBTTkQKIAogY29uZmlnIFNORF9IV0RFUAogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkQKIAogY29uZmlnIFNORF9SQVdNSURJCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORAogCiBjb25maWcgU05EX1NFUVVFTkNFUgogCXRyaXN0YXRlICJTZXF1ZW5jZXIgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfVElNRVIKIAloZWxwCiAJICBTYXkgWSBvciBNIHRvIGVuYWJsZSBNSURJIHNlcXVlbmNlciBhbmQgcm91dGVyIHN1cHBvcnQuICBUaGlzCkBAIC00NCwxMSArMzksOSBAQAogCiBjb25maWcgU05EX09TU0VNVUwKIAlib29sCi0JZGVwZW5kcyBvbiBTTkQKIAogY29uZmlnIFNORF9NSVhFUl9PU1MKIAl0cmlzdGF0ZSAiT1NTIE1peGVyIEFQSSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1NTRU1VTAogCWhlbHAKIAkgIFRvIGVuYWJsZSBPU1MgbWl4ZXIgQVBJIGVtdWxhdGlvbiAoL2Rldi9taXhlciopLCBzYXkgWSBoZXJlCkBAIC02MSw3ICs1NCw2IEBACiAKIGNvbmZpZyBTTkRfUENNX09TUwogCXRyaXN0YXRlICJPU1MgUENNIChkaWdpdGFsIGF1ZGlvKSBBUEkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09TU0VNVUwKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTg0LDcgKzc2LDcgQEAKIAogY29uZmlnIFNORF9TRVFVRU5DRVJfT1NTCiAJYm9vbCAiT1NTIFNlcXVlbmNlciBBUEkiCi0JZGVwZW5kcyBvbiBTTkQgJiYgU05EX1NFUVVFTkNFUgorCWRlcGVuZHMgb24gU05EX1NFUVVFTkNFUgogCXNlbGVjdCBTTkRfT1NTRU1VTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIE9TUyBzZXF1ZW5jZXIgZW11bGF0aW9uIChib3RoCkBAIC05OCw3ICs5MCw3IEBACiAKIGNvbmZpZyBTTkRfUlRDVElNRVIKIAl0cmlzdGF0ZSAiUlRDIFRpbWVyIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUlRDCisJZGVwZW5kcyBvbiBSVEMKIAlzZWxlY3QgU05EX1RJTUVSCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgUlRDIHRpbWVyIHN1cHBvcnQgZm9yIEFMU0EuICBBTFNBIHVzZXMKQEAgLTEyMyw3ICsxMTUsNiBAQAogCiBjb25maWcgU05EX0RZTkFNSUNfTUlOT1JTCiAJYm9vbCAiRHluYW1pYyBkZXZpY2UgZmlsZSBtaW5vciBudW1iZXJzIgotCWRlcGVuZHMgb24gU05ECiAJaGVscAogCSAgSWYgeW91IHNheSBZIGhlcmUsIHRoZSBtaW5vciBudW1iZXJzIG9mIEFMU0EgZGV2aWNlIGZpbGVzIGluCiAJICAvZGV2L3NuZC8gYXJlIGFsbG9jYXRlZCBkeW5hbWljYWxseS4gIFRoaXMgYWxsb3dzIHlvdSB0byBoYXZlCkBAIC0xMzQsNyArMTI1LDYgQEAKIAogY29uZmlnIFNORF9TVVBQT1JUX09MRF9BUEkKIAlib29sICJTdXBwb3J0IG9sZCBBTFNBIEFQSSIKLQlkZXBlbmRzIG9uIFNORAogCWRlZmF1bHQgeQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gc3VwcG9ydCB0aGUgb2Jzb2xldGUgQUxTQSBQQ00gQVBJICh2ZXIuMC45LjAgcmMzCkBAIC0xNDIsNyArMTMyLDcgQEAKIAogY29uZmlnIFNORF9WRVJCT1NFX1BST0NGUwogCWJvb2wgIlZlcmJvc2UgcHJvY2ZzIGNvbnRlbnRzIgotCWRlcGVuZHMgb24gU05EICYmIFBST0NfRlMKKwlkZXBlbmRzIG9uIFBST0NfRlMKIAlkZWZhdWx0IHkKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgY29kZSBmb3IgdmVyYm9zZSBwcm9jZnMgY29udGVudHMgKHByb3ZpZGVzCkBAIC0xNTEsNyArMTQxLDYgQEAKIAogY29uZmlnIFNORF9WRVJCT1NFX1BSSU5USwogCWJvb2wgIlZlcmJvc2UgcHJpbnRrIgotCWRlcGVuZHMgb24gU05ECiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgdmVyYm9zZSBsb2cgbWVzc2FnZXMuICBUaGVzZSBtZXNzYWdlcwogCSAgd2lsbCBoZWxwIHRvIGlkZW50aWZ5IHNvdXJjZSBmaWxlIGFuZCBwb3NpdGlvbiBjb250YWluaW5nCkBAIC0xNjEsMTYgKzE1MCwxNyBAQAogCiBjb25maWcgU05EX0RFQlVHCiAJYm9vbCAiRGVidWciCi0JZGVwZW5kcyBvbiBTTkQKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGVuYWJsZSBBTFNBIGRlYnVnIGNvZGUuCiAKLWNvbmZpZyBTTkRfREVCVUdfREVURUNUCi0JYm9vbCAiRGVidWcgZGV0ZWN0aW9uIgorY29uZmlnIFNORF9ERUJVR19WRVJCT1NFCisJYm9vbCAiTW9yZSB2ZXJib3NlIGRlYnVnIgogCWRlcGVuZHMgb24gU05EX0RFQlVHCiAJaGVscAotCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgZXh0cmEtdmVyYm9zZSBsb2cgbWVzc2FnZXMgcHJpbnRlZCB3aGVuCi0JICBkZXRlY3RpbmcgZGV2aWNlcy4KKwkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIGV4dHJhLXZlcmJvc2UgZGVidWdnaW5nIG1lc3NhZ2VzLgorCSAgCisJICBMZXQgbWUgcmVwZWF0OiBpdCBlbmFibGVzIEVYVFJBLVZFUkJPU0UgREVCVUdHSU5HIG1lc3NhZ2VzLgorCSAgU28sIHNheSBZIG9ubHkgaWYgeW91IGFyZSByZWFkeSB0byBiZSBhbm5veWVkLgogCiBjb25maWcgU05EX1BDTV9YUlVOX0RFQlVHCiAJYm9vbCAiRW5hYmxlIFBDTSByaW5nIGJ1ZmZlciBvdmVycnVuL3VuZGVycnVuIGRlYnVnZ2luZyIKQEAgLTE4NCw0ICsxNzQsMyBAQAogCiBjb25maWcgU05EX1ZNQVNURVIKIAlib29sCi0JZGVwZW5kcyBvbiBTTkQKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvY29udHJvbC5jIGIvc291bmQvY29yZS9jb250cm9sLmMKaW5kZXggMDFhMWE1YS4uMjgxYjJlMiAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9jb250cm9sLmMKKysrIGIvc291bmQvY29yZS9jb250cm9sLmMKQEAgLTY4NCw3ICs2ODQsOCBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLWludCBzbmRfY3RsX2VsZW1fcmVhZChzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKmNvbnRyb2wpCitzdGF0aWMgaW50IHNuZF9jdGxfZWxlbV9yZWFkKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKKwkJCSAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqY29udHJvbCkKIHsKIAlzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsOwogCXN0cnVjdCBzbmRfa2NvbnRyb2xfdm9sYXRpbGUgKnZkOwpAQCAtNzM0LDggKzczNSw4IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotaW50IHNuZF9jdGxfZWxlbV93cml0ZShzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfY3RsX2ZpbGUgKmZpbGUsCi0JCSAgICAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKQorc3RhdGljIGludCBzbmRfY3RsX2VsZW1fd3JpdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2N0bF9maWxlICpmaWxlLAorCQkJICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqY29udHJvbCkKIHsKIAlzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsOwogCXN0cnVjdCBzbmRfa2NvbnRyb2xfdm9sYXRpbGUgKnZkOwpkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9pbml0LmMgYi9zb3VuZC9jb3JlL2luaXQuYwppbmRleCBhYzA1NzM0Li41YzI1NGQ0IDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL2luaXQuYworKysgYi9zb3VuZC9jb3JlL2luaXQuYwpAQCAtNDYsMTcgKzQ2LDI0IEBACiBtb2R1bGVfcGFyYW1fYXJyYXkoc2xvdHMsIGNoYXJwLCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0Moc2xvdHMsICJNb2R1bGUgbmFtZXMgYXNzaWduZWQgdG8gdGhlIHNsb3RzLiIpOwogCi0vKiByZXR1cm4gbm9uLXplcm8gaWYgdGhlIGdpdmVuIGluZGV4IGlzIGFscmVhZHkgcmVzZXJ2ZWQgZm9yIGFub3RoZXIKKy8qIHJldHVybiBub24temVybyBpZiB0aGUgZ2l2ZW4gaW5kZXggaXMgcmVzZXJ2ZWQgZm9yIHRoZSBnaXZlbgogICogbW9kdWxlIHZpYSBzbG90cyBvcHRpb24KICAqLwotc3RhdGljIGludCBtb2R1bGVfc2xvdF9taXNtYXRjaChzdHJ1Y3QgbW9kdWxlICptb2R1bGUsIGludCBpZHgpCitzdGF0aWMgaW50IG1vZHVsZV9zbG90X21hdGNoKHN0cnVjdCBtb2R1bGUgKm1vZHVsZSwgaW50IGlkeCkKIHsKKwlpbnQgbWF0Y2ggPSAxOwogI2lmZGVmIE1PRFVMRQotCWNoYXIgKnMxLCAqczI7CisJY29uc3QgY2hhciAqczEsICpzMjsKKwogCWlmICghbW9kdWxlIHx8ICFtb2R1bGUtPm5hbWUgfHwgIXNsb3RzW2lkeF0pCiAJCXJldHVybiAwOwotCXMxID0gc2xvdHNbaWR4XTsKLQlzMiA9IG1vZHVsZS0+bmFtZTsKKworCXMxID0gbW9kdWxlLT5uYW1lOworCXMyID0gc2xvdHNbaWR4XTsKKwlpZiAoKnMyID09ICchJykgeworCQltYXRjaCA9IDA7IC8qIG5lZ2F0aXZlIG1hdGNoICovCisJCXMyKys7CisJfQogCS8qIGNvbXBhcmUgbW9kdWxlIG5hbWUgc3RyaW5ncwogCSAqIGh5cGhlbnMgYXJlIGhhbmRsZWQgYXMgZXF1aXZhbGVudCB3aXRoIHVuZGVyc2NvcmUKIAkgKi8KQEAgLTY4LDEyICs3NSwxMiBAQAogCQlpZiAoYzIgPT0gJy0nKQogCQkJYzIgPSAnXyc7CiAJCWlmIChjMSAhPSBjMikKLQkJCXJldHVybiAxOworCQkJcmV0dXJuICFtYXRjaDsKIAkJaWYgKCFjMSkKIAkJCWJyZWFrOwogCX0KLSNlbmRpZgotCXJldHVybiAwOworI2VuZGlmIC8qIE1PRFVMRSAqLworCXJldHVybiBtYXRjaDsKIH0KIAogI2lmIGRlZmluZWQoQ09ORklHX1NORF9NSVhFUl9PU1MpIHx8IGRlZmluZWQoQ09ORklHX1NORF9NSVhFUl9PU1NfTU9EVUxFKQpAQCAtMTI5LDcgKzEzNiw3IEBACiAJCQkgc3RydWN0IG1vZHVsZSAqbW9kdWxlLCBpbnQgZXh0cmFfc2l6ZSkKIHsKIAlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7Ci0JaW50IGVycjsKKwlpbnQgZXJyLCBpZHgyOwogCiAJaWYgKGV4dHJhX3NpemUgPCAwKQogCQlleHRyYV9zaXplID0gMDsKQEAgLTE0NCwzNSArMTUxLDQxIEBACiAJZXJyID0gMDsKIAltdXRleF9sb2NrKCZzbmRfY2FyZF9tdXRleCk7CiAJaWYgKGlkeCA8IDApIHsKLQkJaW50IGlkeDI7CiAJCWZvciAoaWR4MiA9IDA7IGlkeDIgPCBTTkRSVl9DQVJEUzsgaWR4MisrKQogCQkJLyogaWR4ID09IC0xID09IDB4ZmZmZiBtZWFuczogdGFrZSBhbnkgZnJlZSBzbG90ICovCiAJCQlpZiAofnNuZF9jYXJkc19sb2NrICYgaWR4ICYgMTw8aWR4MikgewotCQkJCWlmIChtb2R1bGVfc2xvdF9taXNtYXRjaChtb2R1bGUsIGlkeDIpKQotCQkJCQljb250aW51ZTsKLQkJCQlpZHggPSBpZHgyOwotCQkJCWlmIChpZHggPj0gc25kX2VjYXJkc19saW1pdCkKLQkJCQkJc25kX2VjYXJkc19saW1pdCA9IGlkeCArIDE7Ci0JCQkJYnJlYWs7CisJCQkJaWYgKG1vZHVsZV9zbG90X21hdGNoKG1vZHVsZSwgaWR4MikpIHsKKwkJCQkJaWR4ID0gaWR4MjsKKwkJCQkJYnJlYWs7CisJCQkJfQogCQkJfQotCX0gZWxzZSB7Ci0JCSBpZiAoaWR4IDwgc25kX2VjYXJkc19saW1pdCkgewotCQkJaWYgKHNuZF9jYXJkc19sb2NrICYgKDEgPDwgaWR4KSkKLQkJCQllcnIgPSAtRUJVU1k7CS8qIGludmFsaWQgKi8KLQkJfSBlbHNlIHsKLQkJCWlmIChpZHggPCBTTkRSVl9DQVJEUykKLQkJCQlzbmRfZWNhcmRzX2xpbWl0ID0gaWR4ICsgMTsgLyogaW5jcmVhc2UgdGhlIGxpbWl0ICovCi0JCQllbHNlCi0JCQkJZXJyID0gLUVOT0RFVjsKLQkJfQogCX0KLQlpZiAoaWR4IDwgMCB8fCBlcnIgPCAwKSB7CisJaWYgKGlkeCA8IDApIHsKKwkJZm9yIChpZHgyID0gMDsgaWR4MiA8IFNORFJWX0NBUkRTOyBpZHgyKyspCisJCQkvKiBpZHggPT0gLTEgPT0gMHhmZmZmIG1lYW5zOiB0YWtlIGFueSBmcmVlIHNsb3QgKi8KKwkJCWlmICh+c25kX2NhcmRzX2xvY2sgJiBpZHggJiAxPDxpZHgyKSB7CisJCQkJaWYgKCFzbG90c1tpZHgyXSB8fCAhKnNsb3RzW2lkeDJdKSB7CisJCQkJCWlkeCA9IGlkeDI7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwl9CisJaWYgKGlkeCA8IDApCisJCWVyciA9IC1FTk9ERVY7CisJZWxzZSBpZiAoaWR4IDwgc25kX2VjYXJkc19saW1pdCkgeworCQlpZiAoc25kX2NhcmRzX2xvY2sgJiAoMSA8PCBpZHgpKQorCQkJZXJyID0gLUVCVVNZOwkvKiBpbnZhbGlkICovCisJfSBlbHNlIGlmIChpZHggPj0gU05EUlZfQ0FSRFMpCisJCWVyciA9IC1FTk9ERVY7CisJaWYgKGVyciA8IDApIHsKIAkJbXV0ZXhfdW5sb2NrKCZzbmRfY2FyZF9tdXRleCk7CiAJCXNuZF9wcmludGsoS0VSTl9FUlIgImNhbm5vdCBmaW5kIHRoZSBzbG90IGZvciBpbmRleCAlZCAocmFuZ2UgMC0laSksIGVycm9yOiAlZFxuIiwKIAkJCSBpZHgsIHNuZF9lY2FyZHNfbGltaXQgLSAxLCBlcnIpOwogCQlnb3RvIF9fZXJyb3I7CiAJfQogCXNuZF9jYXJkc19sb2NrIHw9IDEgPDwgaWR4OwkJLyogbG9jayBpdCAqLworCWlmIChpZHggPj0gc25kX2VjYXJkc19saW1pdCkKKwkJc25kX2VjYXJkc19saW1pdCA9IGlkeCArIDE7IC8qIGluY3JlYXNlIHRoZSBsaW1pdCAqLwogCW11dGV4X3VubG9jaygmc25kX2NhcmRfbXV0ZXgpOwogCWNhcmQtPm51bWJlciA9IGlkeDsKIAljYXJkLT5tb2R1bGUgPSBtb2R1bGU7CmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL21lbWFsbG9jLmMgYi9zb3VuZC9jb3JlL21lbWFsbG9jLmMKaW5kZXggMjNiN2JjMC4uZjVkNmQ4ZCAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9tZW1hbGxvYy5jCisrKyBiL3NvdW5kL2NvcmUvbWVtYWxsb2MuYwpAQCAtODAsNjggKzgwLDYgQEAKICNlbmRpZgogCiAvKgotICogIEhhY2tzCi0gKi8KLQotI2lmIGRlZmluZWQoX19pMzg2X18pCi0vKgotICogQSBoYWNrIHRvIGFsbG9jYXRlIGxhcmdlIGJ1ZmZlcnMgdmlhIGRtYV9hbGxvY19jb2hlcmVudCgpCi0gKgotICogc2luY2UgZG1hX2FsbG9jX2NvaGVyZW50IGFsd2F5cyB0cmllcyBHRlBfRE1BIHdoZW4gdGhlIHJlcXVlc3RlZAotICogcGNpIG1lbW9yeSByZWdpb24gaXMgYmVsb3cgMzJiaXQsIGl0IGhhcHBlbnMgcXVpdGUgb2Z0ZW4gdGhhdCBldmVuCi0gKiAyIG9yZGVyIG9mIHBhZ2VzIGNhbm5vdCBiZSBhbGxvY2F0ZWQuCi0gKgotICogc28gaW4gdGhlIGZvbGxvd2luZywgd2UgYWxsb2NhdGUgYXQgZmlyc3Qgd2l0aG91dCBkbWFfbWFzaywgc28gdGhhdAotICogYWxsb2NhdGlvbiB3aWxsIGJlIGRvbmUgd2l0aG91dCBHRlBfRE1BLiAgaWYgdGhlIGFyZWEgZG9lc24ndCBtYXRjaAotICogd2l0aCB0aGUgcmVxdWVzdGVkIHJlZ2lvbiwgdGhlbiByZWFsbG9hdGUgd2l0aCB0aGUgb3JpZ2luYWwgZG1hX21hc2sKLSAqIGFnYWluLgotICoKLSAqIFJlYWxseSwgd2Ugd2FudCB0byBtb3ZlIHRoaXMgdHlwZSBvZiB0aGluZyBpbnRvIGRtYV9hbGxvY19jb2hlcmVudCgpCi0gKiBzbyBkbWFfbWFzayBkb2Vzbid0IGhhdmUgdG8gYmUgbWVzc2VkIHdpdGguCi0gKi8KLQotc3RhdGljIHZvaWQgKnNuZF9kbWFfaGFja19hbGxvY19jb2hlcmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHNpemVfdCBzaXplLAotCQkJCQkgZG1hX2FkZHJfdCAqZG1hX2hhbmRsZSwKLQkJCQkJIGdmcF90IGZsYWdzKQotewotCXZvaWQgKnJldDsKLQl1NjQgZG1hX21hc2ssIGNvaGVyZW50X2RtYV9tYXNrOwotCi0JaWYgKGRldiA9PSBOVUxMIHx8ICFkZXYtPmRtYV9tYXNrKQotCQlyZXR1cm4gZG1hX2FsbG9jX2NvaGVyZW50KGRldiwgc2l6ZSwgZG1hX2hhbmRsZSwgZmxhZ3MpOwotCWRtYV9tYXNrID0gKmRldi0+ZG1hX21hc2s7Ci0JY29oZXJlbnRfZG1hX21hc2sgPSBkZXYtPmNvaGVyZW50X2RtYV9tYXNrOwotCSpkZXYtPmRtYV9tYXNrID0gMHhmZmZmZmZmZjsgCS8qIGRvIHdpdGhvdXQgbWFza2luZyAqLwotCWRldi0+Y29oZXJlbnRfZG1hX21hc2sgPSAweGZmZmZmZmZmOyAJLyogZG8gd2l0aG91dCBtYXNraW5nICovCi0JcmV0ID0gZG1hX2FsbG9jX2NvaGVyZW50KGRldiwgc2l6ZSwgZG1hX2hhbmRsZSwgZmxhZ3MpOwotCSpkZXYtPmRtYV9tYXNrID0gZG1hX21hc2s7CS8qIHJlc3RvcmUgKi8KLQlkZXYtPmNvaGVyZW50X2RtYV9tYXNrID0gY29oZXJlbnRfZG1hX21hc2s7CS8qIHJlc3RvcmUgKi8KLQlpZiAocmV0KSB7Ci0JCS8qIG9idGFpbmVkIGFkZHJlc3MgaXMgb3V0IG9mIHJhbmdlPyAqLwotCQlpZiAoKCh1bnNpZ25lZCBsb25nKSpkbWFfaGFuZGxlICsgc2l6ZSAtIDEpICYgfmRtYV9tYXNrKSB7Ci0JCQkvKiByZWFsbG9jYXRlIHdpdGggdGhlIHByb3BlciBtYXNrICovCi0JCQlkbWFfZnJlZV9jb2hlcmVudChkZXYsIHNpemUsIHJldCwgKmRtYV9oYW5kbGUpOwotCQkJcmV0ID0gZG1hX2FsbG9jX2NvaGVyZW50KGRldiwgc2l6ZSwgZG1hX2hhbmRsZSwgZmxhZ3MpOwotCQl9Ci0JfSBlbHNlIHsKLQkJLyogd2lzaCB0byBzdWNjZXNzIG5vdyB3aXRoIHRoZSBwcm9wZXIgbWFzay4uLiAqLwotCQlpZiAoZG1hX21hc2sgIT0gMHhmZmZmZmZmZlVMKSB7Ci0JCQkvKiBhbGxvY2F0aW9uIHdpdGggR0ZQX0FUT01JQyB0byBhdm9pZCB0aGUgbG9uZyBzdGFsbCAqLwotCQkJZmxhZ3MgJj0gfkdGUF9LRVJORUw7Ci0JCQlmbGFncyB8PSBHRlBfQVRPTUlDOwotCQkJcmV0ID0gZG1hX2FsbG9jX2NvaGVyZW50KGRldiwgc2l6ZSwgZG1hX2hhbmRsZSwgZmxhZ3MpOwotCQl9Ci0JfQotCXJldHVybiByZXQ7Ci19Ci0KLS8qIHJlZGVmaW5lIGRtYV9hbGxvY19jb2hlcmVudCBmb3Igc29tZSBhcmNoaXRlY3R1cmVzICovCi0jdW5kZWYgZG1hX2FsbG9jX2NvaGVyZW50Ci0jZGVmaW5lIGRtYV9hbGxvY19jb2hlcmVudCBzbmRfZG1hX2hhY2tfYWxsb2NfY29oZXJlbnQKLQotI2VuZGlmIC8qIGFyY2ggKi8KLQotLyoKICAqCiAgKiAgR2VuZXJpYyBtZW1vcnkgYWxsb2NhdG9ycwogICoKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvcGNtX25hdGl2ZS5jIGIvc291bmQvY29yZS9wY21fbmF0aXZlLmMKaW5kZXggNjFmNWQ0Mi4uYzQ5YjlkOSAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9wY21fbmF0aXZlLmMKKysrIGIvc291bmQvY29yZS9wY21fbmF0aXZlLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90aW1lLmg+CiAjaW5jbHVkZSA8bGludXgvcG1fcW9zX3BhcmFtcy5oPgogI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgpAQCAtMzI0OSwxNCArMzI1MCwxNyBAQAogCXN0cnVjdCBzbmRfcGNtX2ZpbGUgKiBwY21fZmlsZTsKIAlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lOwotCWludCBlcnI7CisJaW50IGVyciA9IC1FTlhJTzsKIAorCWxvY2tfa2VybmVsKCk7CiAJcGNtX2ZpbGUgPSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJc3Vic3RyZWFtID0gcGNtX2ZpbGUtPnN1YnN0cmVhbTsKLQlzbmRfYXNzZXJ0KHN1YnN0cmVhbSAhPSBOVUxMLCByZXR1cm4gLUVOWElPKTsKKwlzbmRfYXNzZXJ0KHN1YnN0cmVhbSAhPSBOVUxMLCBnb3RvIG91dCk7CiAJcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAogCWVyciA9IGZhc3luY19oZWxwZXIoZmQsIGZpbGUsIG9uLCAmcnVudGltZS0+ZmFzeW5jKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJaWYgKGVyciA8IDApCiAJCXJldHVybiBlcnI7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL3NlcS9zZXFfY2xpZW50bWdyLmMgYi9zb3VuZC9jb3JlL3NlcS9zZXFfY2xpZW50bWdyLmMKaW5kZXggNDdjZmE1MS4uN2ExNTQ1ZCAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9zZXEvc2VxX2NsaWVudG1nci5jCisrKyBiL3NvdW5kL2NvcmUvc2VxL3NlcV9jbGllbnRtZ3IuYwpAQCAtMTQ4LDcgKzE0OCw3IEBACiAJCXJldHVybiBOVUxMOwogCX0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjbGllbnRzX2xvY2ssIGZsYWdzKTsKLSNpZmRlZiBDT05GSUdfS01PRAorI2lmZGVmIENPTkZJR19NT0RVTEVTCiAJaWYgKCFpbl9pbnRlcnJ1cHQoKSkgewogCQlzdGF0aWMgY2hhciBjbGllbnRfcmVxdWVzdGVkW1NORFJWX1NFUV9HTE9CQUxfQ0xJRU5UU107CiAJCXN0YXRpYyBjaGFyIGNhcmRfcmVxdWVzdGVkW1NORFJWX0NBUkRTXTsKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvc2VxL3NlcV9kZXZpY2UuYyBiL3NvdW5kL2NvcmUvc2VxL3NlcV9kZXZpY2UuYwppbmRleCAyZjAwYWQyLi4wNTQxMGU1IDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL3NlcS9zZXFfZGV2aWNlLmMKKysrIGIvc291bmQvY29yZS9zZXEvc2VxX2RldmljZS5jCkBAIC0xMjQsNyArMTI0LDcgQEAKICAqIGxvYWQgYWxsIHJlZ2lzdGVyZWQgZHJpdmVycyAoY2FsbGVkIGZyb20gc2VxX2NsaWVudG1nci5jKQogICovCiAKLSNpZmRlZiBDT05GSUdfS01PRAorI2lmZGVmIENPTkZJR19NT0RVTEVTCiAvKiBhdm9pZCBhdXRvLWxvYWRpbmcgZHVyaW5nIG1vZHVsZV9pbml0KCkgKi8KIHN0YXRpYyBpbnQgc25kX3NlcV9pbl9pbml0Owogdm9pZCBzbmRfc2VxX2F1dG9sb2FkX2xvY2sodm9pZCkKQEAgLTE0MCw3ICsxNDAsNyBAQAogCiB2b2lkIHNuZF9zZXFfZGV2aWNlX2xvYWRfZHJpdmVycyh2b2lkKQogewotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIAlzdHJ1Y3Qgb3BzX2xpc3QgKm9wczsKIAogCS8qIENhbGxpbmcgcmVxdWVzdF9tb2R1bGUgZHVyaW5nIG1vZHVsZV9pbml0KCkKQEAgLTU2Niw3ICs1NjYsNSBAQAogRVhQT1JUX1NZTUJPTChzbmRfc2VxX2RldmljZV9uZXcpOwogRVhQT1JUX1NZTUJPTChzbmRfc2VxX2RldmljZV9yZWdpc3Rlcl9kcml2ZXIpOwogRVhQT1JUX1NZTUJPTChzbmRfc2VxX2RldmljZV91bnJlZ2lzdGVyX2RyaXZlcik7Ci0jaWZkZWYgQ09ORklHX0tNT0QKIEVYUE9SVF9TWU1CT0woc25kX3NlcV9hdXRvbG9hZF9sb2NrKTsKIEVYUE9SVF9TWU1CT0woc25kX3NlcV9hdXRvbG9hZF91bmxvY2spOwotI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL3NvdW5kLmMgYi9zb3VuZC9jb3JlL3NvdW5kLmMKaW5kZXggNmM4YWI0OC4uMTAwM2FlMyAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9zb3VuZC5jCisrKyBiL3NvdW5kL2NvcmUvc291bmQuYwpAQCAtMjEsNiArMjEsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgpAQCAtNjAsMTQgKzYxLDE0IEBACiBzdGF0aWMgc3RydWN0IHNuZF9taW5vciAqc25kX21pbm9yc1tTTkRSVl9PU19NSU5PUlNdOwogc3RhdGljIERFRklORV9NVVRFWChzb3VuZF9tdXRleCk7CiAKLSNpZmRlZiBDT05GSUdfS01PRAorI2lmZGVmIENPTkZJR19NT0RVTEVTCiAKIC8qKgogICogc25kX3JlcXVlc3RfY2FyZCAtIHRyeSB0byBsb2FkIHRoZSBjYXJkIG1vZHVsZQogICogQGNhcmQ6IHRoZSBjYXJkIG51bWJlcgogICoKICAqIFRyaWVzIHRvIGxvYWQgdGhlIG1vZHVsZSAic25kLWNhcmQtWCIgZm9yIHRoZSBnaXZlbiBjYXJkIG51bWJlcgotICogdmlhIEtNT0QuICBSZXR1cm5zIGltbWVkaWF0ZWx5IGlmIGFscmVhZHkgbG9hZGVkLgorICogdmlhIHJlcXVlc3RfbW9kdWxlLiAgUmV0dXJucyBpbW1lZGlhdGVseSBpZiBhbHJlYWR5IGxvYWRlZC4KICAqLwogdm9pZCBzbmRfcmVxdWVzdF9jYXJkKGludCBjYXJkKQogewpAQCAtOTIsNyArOTMsNyBAQAogCXJlcXVlc3RfbW9kdWxlKHN0cik7CiB9CiAKLSNlbmRpZgkJCQkvKiByZXF1ZXN0X21vZHVsZSBzdXBwb3J0ICovCisjZW5kaWYJLyogbW9kdWxhciBrZXJuZWwgKi8KIAogLyoqCiAgKiBzbmRfbG9va3VwX21pbm9yX2RhdGEgLSBnZXQgdXNlciBkYXRhIG9mIGEgcmVnaXN0ZXJlZCBkZXZpY2UKQEAgLTEyMSw3ICsxMjIsNyBAQAogCiBFWFBPUlRfU1lNQk9MKHNuZF9sb29rdXBfbWlub3JfZGF0YSk7CiAKLXN0YXRpYyBpbnQgc25kX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCitzdGF0aWMgaW50IF9fc25kX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJdW5zaWduZWQgaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKIAlzdHJ1Y3Qgc25kX21pbm9yICptcHRyID0gTlVMTDsKQEAgLTEzMiw3ICsxMzMsNyBAQAogCQlyZXR1cm4gLUVOT0RFVjsKIAltcHRyID0gc25kX21pbm9yc1ttaW5vcl07CiAJaWYgKG1wdHIgPT0gTlVMTCkgewotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIAkJaW50IGRldiA9IFNORFJWX01JTk9SX0RFVklDRShtaW5vcik7CiAJCWlmIChkZXYgPT0gU05EUlZfTUlOT1JfQ09OVFJPTCkgewogCQkJLyogL2Rldi9hbG9hZEM/ICovCkBAIC0xNjMsNiArMTY0LDE4IEBACiAJcmV0dXJuIGVycjsKIH0KIAorCisvKiBCS0wgcHVzaGRvd246IG5hc3R5ICNpZmRlZiBhdm9pZGFuY2Ugd3JhcHBlciAqLworc3RhdGljIGludCBzbmRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBfX3NuZF9vcGVuKGlub2RlLCBmaWxlKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc25kX2ZvcHMgPQogewogCS5vd25lciA9CVRISVNfTU9EVUxFLApkaWZmIC0tZ2l0IGEvc291bmQvY29yZS90aW1lci5jIGIvc291bmQvY29yZS90aW1lci5jCmluZGV4IDlkODE4NGEuLjBhZjMzN2UgMTAwNjQ0Ci0tLSBhL3NvdW5kL2NvcmUvdGltZXIuYworKysgYi9zb3VuZC9jb3JlL3RpbWVyLmMKQEAgLTE0Niw3ICsxNDYsNyBAQAogCXJldHVybiBOVUxMOwogfQogCi0jaWZkZWYgQ09ORklHX0tNT0QKKyNpZmRlZiBDT05GSUdfTU9EVUxFUwogCiBzdGF0aWMgdm9pZCBzbmRfdGltZXJfcmVxdWVzdChzdHJ1Y3Qgc25kX3RpbWVyX2lkICp0aWQpCiB7CkBAIC0yNTksOCArMjU5LDggQEAKIAkvKiBvcGVuIGEgbWFzdGVyIGluc3RhbmNlICovCiAJbXV0ZXhfbG9jaygmcmVnaXN0ZXJfbXV0ZXgpOwogCXRpbWVyID0gc25kX3RpbWVyX2ZpbmQodGlkKTsKLSNpZmRlZiBDT05GSUdfS01PRAotCWlmICh0aW1lciA9PSBOVUxMKSB7CisjaWZkZWYgQ09ORklHX01PRFVMRVMKKwlpZiAoIXRpbWVyKSB7CiAJCW11dGV4X3VubG9jaygmcmVnaXN0ZXJfbXV0ZXgpOwogCQlzbmRfdGltZXJfcmVxdWVzdCh0aWQpOwogCQltdXRleF9sb2NrKCZyZWdpc3Rlcl9tdXRleCk7CmRpZmYgLS1naXQgYS9zb3VuZC9kcml2ZXJzL0tjb25maWcgYi9zb3VuZC9kcml2ZXJzL0tjb25maWcKaW5kZXggNjAyYjU4ZS4uMjU1ZmQxOCAxMDA2NDQKLS0tIGEvc291bmQvZHJpdmVycy9LY29uZmlnCisrKyBiL3NvdW5kL2RyaXZlcnMvS2NvbmZpZwpAQCAtMSwxNSArMSw0MSBAQAotIyBBTFNBIGdlbmVyaWMgZHJpdmVycworY29uZmlnIFNORF9NUFU0MDFfVUFSVAorICAgICAgICB0cmlzdGF0ZQorICAgICAgICBzZWxlY3QgU05EX1JBV01JREkKIAotbWVudSAiR2VuZXJpYyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uCitjb25maWcgU05EX09QTDNfTElCCisJdHJpc3RhdGUKKwlzZWxlY3QgU05EX1RJTUVSCisJc2VsZWN0IFNORF9IV0RFUAogCitjb25maWcgU05EX09QTDRfTElCCisJdHJpc3RhdGUKKwlzZWxlY3QgU05EX1RJTUVSCisJc2VsZWN0IFNORF9IV0RFUAorCitjb25maWcgU05EX1ZYX0xJQgorCXRyaXN0YXRlCisJc2VsZWN0IFNORF9IV0RFUAorCXNlbGVjdCBTTkRfUENNCisKK2NvbmZpZyBTTkRfQUM5N19DT0RFQworCXRyaXN0YXRlCisJc2VsZWN0IFNORF9QQ00KKwlzZWxlY3QgQUM5N19CVVMKKwlzZWxlY3QgU05EX1ZNQVNURVIKKworbWVudWNvbmZpZyBTTkRfRFJJVkVSUworCWJvb2wgIkdlbmVyaWMgc291bmQgZGV2aWNlcyIKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBnZW5lcmljIHNvdW5kIGRldmljZXMuCisgIAoraWYgU05EX0RSSVZFUlMKIAogY29uZmlnIFNORF9QQ1NQCiAJdHJpc3RhdGUgIlBDLVNwZWFrZXIgc3VwcG9ydCAoUkVBRCBIRUxQISkiCiAJZGVwZW5kcyBvbiBQQ1NQS1JfUExBVEZPUk0gJiYgWDg2X1BDICYmIEhJR0hfUkVTX1RJTUVSUwogCWRlcGVuZHMgb24gSU5QVVQKIAlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBJZiB5b3UgZG9uJ3QgaGF2ZSBhIHNvdW5kIGNhcmQgaW4geW91ciBjb21wdXRlciwgeW91IGNhbiBpbmNsdWRlIGEKQEAgLTM1LDMzICs2MSw4IEBACiAJICBTYXkgTSBpZiB5b3UgZG9uJ3QuCiAJICBTYXkgWSBvbmx5IGlmIHlvdSByZWFsbHkga25vdyB3aGF0IHlvdSBkby4KIAotY29uZmlnIFNORF9NUFU0MDFfVUFSVAotICAgICAgICB0cmlzdGF0ZQotICAgICAgICBzZWxlY3QgU05EX1JBV01JREkKLQotY29uZmlnIFNORF9PUEwzX0xJQgotCXRyaXN0YXRlCi0Jc2VsZWN0IFNORF9USU1FUgotCXNlbGVjdCBTTkRfSFdERVAKLQotY29uZmlnIFNORF9PUEw0X0xJQgotCXRyaXN0YXRlCi0Jc2VsZWN0IFNORF9USU1FUgotCXNlbGVjdCBTTkRfSFdERVAKLQotY29uZmlnIFNORF9WWF9MSUIKLQl0cmlzdGF0ZQotCXNlbGVjdCBTTkRfSFdERVAKLQlzZWxlY3QgU05EX1BDTQotCi1jb25maWcgU05EX0FDOTdfQ09ERUMKLQl0cmlzdGF0ZQotCXNlbGVjdCBTTkRfUENNCi0Jc2VsZWN0IEFDOTdfQlVTCi0KIGNvbmZpZyBTTkRfRFVNTVkKIAl0cmlzdGF0ZSAiRHVtbXkgKC9kZXYvbnVsbCkgc291bmRjYXJkIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgdGhlIGR1bW15IGRyaXZlci4gIFRoaXMgZHJpdmVyIGRvZXMKQEAgLTkwLDcgKzkxLDYgQEAKIAogY29uZmlnIFNORF9NVFBBVgogCXRyaXN0YXRlICJNT1RVIE1pZGlUaW1lUGllY2UgQVYgbXVsdGlwb3J0IE1JREkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAloZWxwCiAJICBUbyB1c2UgYSBNT1RVIE1pZGlUaW1lUGllY2UgQVYgbXVsdGlwb3J0IE1JREkgYWRhcHRlcgpAQCAtMTAyLDcgKzEwMiw3IEBACiAKIGNvbmZpZyBTTkRfTVRTNjQKIAl0cmlzdGF0ZSAiRVNJIE1pZGl0ZXJtaW5hbCA0MTQwIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORCAmJiBQQVJQT1JUCisJZGVwZW5kcyBvbiBQQVJQT1JUCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJaGVscAogCSAgVGhlIEVTSSBNaWRpdGVybWluYWwgNDE0MCBpcyBhIDQgSW4gNCBPdXQgTUlESSBJbnRlcmZhY2Ugd2l0aCAKQEAgLTExNSw3ICsxMTUsNiBAQAogCiBjb25maWcgU05EX1NFUklBTF9VMTY1NTAKIAl0cmlzdGF0ZSAiVUFSVDE2NTUwIHNlcmlhbCBNSURJIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUkFXTUlESQogCWhlbHAKIAkgIFRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgTUlESSBzZXJpYWwgcG9ydCBpbnRlcmZhY2VzLCBzYXkgWSBoZXJlCkBAIC0xMzEsNyArMTMwLDYgQEAKIAogY29uZmlnIFNORF9NUFU0MDEKIAl0cmlzdGF0ZSAiR2VuZXJpYyBNUFUtNDAxIFVBUlQgZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBNSURJIHBvcnRzIGNvbXBhdGlibGUgd2l0aApAQCAtMTQyLDcgKzE0MCw3IEBACiAKIGNvbmZpZyBTTkRfUE9SVE1BTjJYNAogCXRyaXN0YXRlICJQb3J0bWFuIDJ4NCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUEFSUE9SVAorCWRlcGVuZHMgb24gUEFSUE9SVAogCXNlbGVjdCBTTkRfUkFXTUlESQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBNaWRpbWFuIFBvcnRtYW4gMng0IHBhcmFsbGVsCkBAIC0xNTMsNyArMTUxLDcgQEAKIAogY29uZmlnIFNORF9NTDQwM19BQzk3Q1IKIAl0cmlzdGF0ZSAiWGlsaW54IE1MNDAzIEFDOTcgQ29udHJvbGxlciBSZWZlcmVuY2UiCi0JZGVwZW5kcyBvbiBTTkQgJiYgWElMSU5YX1ZJUlRFWAorCWRlcGVuZHMgb24gWElMSU5YX1ZJUlRFWAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUKQEAgLTE2Myw0ICsxNjEsMjUgQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC1tbDQwM19hYzk3Y3IuCiAKLWVuZG1lbnUKK2NvbmZpZyBTTkRfQUM5N19QT1dFUl9TQVZFCisJYm9vbCAiQUM5NyBQb3dlci1TYXZpbmcgTW9kZSIKKwlkZXBlbmRzIG9uIFNORF9BQzk3X0NPREVDICYmIEVYUEVSSU1FTlRBTAorCWRlZmF1bHQgbgorCWhlbHAKKwkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIHRoZSBhZ2dyZXNzaXZlIHBvd2VyLXNhdmluZyBzdXBwb3J0IG9mCisJICBBQzk3IGNvZGVjcy4gIEluIHRoaXMgbW9kZSwgdGhlIHBvd2VyLW1vZGUgaXMgZHluYW1pY2FsbHkKKwkgIGNvbnRyb2xsZWQgYXQgZWFjaCBvcGVuL2Nsb3NlLgorCisJICBUaGUgbW9kZSBpcyBhY3RpdmF0ZWQgYnkgcGFzc2luZyBwb3dlcl9zYXZlPTEgb3B0aW9uIHRvCisJICBzbmQtYWM5Ny1jb2RlYyBkcml2ZXIuICBZb3UgY2FuIHRvZ2dsZSBpdCBkeW5hbWljYWxseSBvdmVyCisJICBzeXNmcywgdG9vLgorCitjb25maWcgU05EX0FDOTdfUE9XRVJfU0FWRV9ERUZBVUxUCisJaW50ICJEZWZhdWx0IHRpbWUtb3V0IGZvciBBQzk3IHBvd2VyLXNhdmUgbW9kZSIKKwlkZXBlbmRzIG9uIFNORF9BQzk3X1BPV0VSX1NBVkUKKwlkZWZhdWx0IDAKKwloZWxwCisJICBUaGUgZGVmYXVsdCB0aW1lLW91dCB2YWx1ZSBpbiBzZWNvbmRzIGZvciBBQzk3IGF1dG9tYXRpYworCSAgcG93ZXItc2F2ZSBtb2RlLiAgMCBtZWFucyB0byBkaXNhYmxlIHRoZSBwb3dlci1zYXZlIG1vZGUuCisKK2VuZGlmCSMgU05EX0RSSVZFUlMKZGlmZiAtLWdpdCBhL3NvdW5kL2RyaXZlcnMvdngvdnhfY29yZS5jIGIvc291bmQvZHJpdmVycy92eC92eF9jb3JlLmMKaW5kZXggOTk1Mzg4Ni4uNTg1YWYyZSAxMDA2NDQKLS0tIGEvc291bmQvZHJpdmVycy92eC92eF9jb3JlLmMKKysrIGIvc291bmQvZHJpdmVycy92eC92eF9jb3JlLmMKQEAgLTQ1Myw3ICs0NTMsNyBAQAogCQkJdnhfb3V0YihjaGlwLCBUWE0sIDApOwogCQkJdnhfb3V0YihjaGlwLCBUWEwsIDApOwogCQl9IGVsc2UgewotCQkJdW5zaWduZWQgY2hhciAqaW1hZ2UgPSBib290LT5kYXRhICsgaTsKKwkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmltYWdlID0gYm9vdC0+ZGF0YSArIGk7CiAJCQlpZiAodnhfd2FpdF9pc3JfYml0KGNoaXAsIElTUl9UWF9FTVBUWSkgPCAwKSB7CiAJCQkJc25kX3ByaW50ayhLRVJOX0VSUiAiZHNwIGJvb3QgZmFpbGVkIGF0ICVkXG4iLCBpKTsKIAkJCQlyZXR1cm4gLUVJTzsKQEAgLTY3MSw3ICs2NzEsNyBAQAogCXVuc2lnbmVkIGludCBpOwogCWludCBlcnI7CiAJdW5zaWduZWQgaW50IGNzdW0gPSAwOwotCXVuc2lnbmVkIGNoYXIgKmltYWdlLCAqY3B0cjsKKwljb25zdCB1bnNpZ25lZCBjaGFyICppbWFnZSwgKmNwdHI7CiAKIAlzbmRfYXNzZXJ0KGRzcC0+c2l6ZSAlIDMgPT0gMCwgcmV0dXJuIC1FSU5WQUwpOwogCmRpZmYgLS1naXQgYS9zb3VuZC9kcml2ZXJzL3Z4L3Z4X2h3ZGVwLmMgYi9zb3VuZC9kcml2ZXJzL3Z4L3Z4X2h3ZGVwLmMKaW5kZXggMWRmZTY5NC4uZWZkMjJlOSAxMDA2NDQKLS0tIGEvc291bmQvZHJpdmVycy92eC92eF9od2RlcC5jCisrKyBiL3NvdW5kL2RyaXZlcnMvdngvdnhfaHdkZXAuYwpAQCAtMTgzLDcgKzE4Myw3IEBACiAJCWtmcmVlKGZ3KTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCWlmIChjb3B5X2Zyb21fdXNlcihmdy0+ZGF0YSwgZHNwLT5pbWFnZSwgZHNwLT5sZW5ndGgpKSB7CisJaWYgKGNvcHlfZnJvbV91c2VyKCh2b2lkICopZnctPmRhdGEsIGRzcC0+aW1hZ2UsIGRzcC0+bGVuZ3RoKSkgewogCQlmcmVlX2Z3KGZ3KTsKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJfQpkaWZmIC0tZ2l0IGEvc291bmQvaTJjL2NzODQyNy5jIGIvc291bmQvaTJjL2NzODQyNy5jCmluZGV4IGU1N2U5Y2IuLjljM2QzNjEgMTAwNjQ0Ci0tLSBhL3NvdW5kL2kyYy9jczg0MjcuYworKysgYi9zb3VuZC9pMmMvY3M4NDI3LmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8YXNtL3VuYWxpZ25lZC5oPgogI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KICNpbmNsdWRlIDxzb3VuZC9jb250cm9sLmg+CiAjaW5jbHVkZSA8c291bmQvcGNtLmg+CkBAIC0yNjQsMTAgKzI2NSw3IEBACiAJCWdvdG8gX19mYWlsOwogCX0KIAkvKiB3cml0ZSBkZWZhdWx0IGNoYW5uZWwgc3RhdHVzIGJ5dGVzICovCi0JYnVmWzBdID0gKCh1bnNpZ25lZCBjaGFyKShTTkRSVl9QQ01fREVGQVVMVF9DT05fU1BESUYgPj4gMCkpOwotCWJ1ZlsxXSA9ICgodW5zaWduZWQgY2hhcikoU05EUlZfUENNX0RFRkFVTFRfQ09OX1NQRElGID4+IDgpKTsKLQlidWZbMl0gPSAoKHVuc2lnbmVkIGNoYXIpKFNORFJWX1BDTV9ERUZBVUxUX0NPTl9TUERJRiA+PiAxNikpOwotCWJ1ZlszXSA9ICgodW5zaWduZWQgY2hhcikoU05EUlZfUENNX0RFRkFVTFRfQ09OX1NQRElGID4+IDI0KSk7CisJcHV0X3VuYWxpZ25lZF9sZTMyKFNORFJWX1BDTV9ERUZBVUxUX0NPTl9TUERJRiwgYnVmKTsKIAltZW1zZXQoYnVmICsgNCwgMCwgMjQgLSA0KTsKIAlpZiAoc25kX2NzODQyN19zZW5kX2NvcnVkYXRhKGRldmljZSwgMCwgYnVmLCAyNCkgPCAwKQogCQlnb3RvIF9fZmFpbDsKZGlmZiAtLWdpdCBhL3NvdW5kL2kyYy9sMy91ZGExMzQxLmMgYi9zb3VuZC9pMmMvbDMvdWRhMTM0MS5jCmluZGV4IGJmYTVkMmMuLjFmNDk0MmUgMTAwNjQ0Ci0tLSBhL3NvdW5kL2kyYy9sMy91ZGExMzQxLmMKKysrIGIvc291bmQvaTJjL2wzL3VkYTEzNDEuYwpAQCAtMTcsOCArMTcsNiBAQAogICogMjAwMi0wNS0xMiAgIFRvbWFzIEthc3BhcmVrICBhbm90aGVyIGNvZGUgY2xlYW51cAogICovCiAKLS8qICRJZDogdWRhMTM0MS5jLHYgMS4xOCAyMDA1LzExLzE3IDE0OjE3OjIxIHRpd2FpIEV4cCAkICovCi0KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KZGlmZiAtLWdpdCBhL3NvdW5kL2lzYS9LY29uZmlnIGIvc291bmQvaXNhL0tjb25maWcKaW5kZXggMjYzOWE2YS4uNTc2OWExMyAxMDA2NDQKLS0tIGEvc291bmQvaXNhL0tjb25maWcKKysrIGIvc291bmQvaXNhL0tjb25maWcKQEAgLTIxLDEyICsyMSwxNyBAQAogICAgICAgICBzZWxlY3QgU05EX1BDTQogICAgICAgICBzZWxlY3QgU05EX1NCX0NPTU1PTgogCi1tZW51ICJJU0EgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBJU0EgJiYgSVNBX0RNQV9BUEkKK21lbnVjb25maWcgU05EX0lTQQorCWJvb2wgIklTQSBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gSVNBICYmIElTQV9ETUFfQVBJCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBjb25uZWN0ZWQgdmlhIHRoZSBJU0EgYnVzLgorCitpZiBTTkRfSVNBCiAKIGNvbmZpZyBTTkRfQURMSUIKIAl0cmlzdGF0ZSAiQWRMaWIgRk0gY2FyZCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgQWRMaWIgRk0gY2FyZHMuCkBAIC0zNiw3ICs0MSw3IEBACiAKIGNvbmZpZyBTTkRfQUQxODE2QQogCXRyaXN0YXRlICJBbmFsb2cgRGV2aWNlcyBTb3VuZFBvcnQgQUQxODE2QSIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgSVNBUE5QCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTUwLDcgKzU1LDYgQEAKIAogY29uZmlnIFNORF9BRDE4NDgKIAl0cmlzdGF0ZSAiR2VuZXJpYyBBRDE4NDgvQ1M0MjQ4IGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUQxODQ4X0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBBRDE4NDggKEFuYWxvZyBEZXZpY2VzKSBvcgpAQCAtNjQsNyArNjgsNyBAQAogCiBjb25maWcgU05EX0FMUzEwMAogCXRyaXN0YXRlICJBdmFuY2UgTG9naWMgQUxTMTAwL0FMUzEyMCIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgSVNBUE5QCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTc4LDcgKzgyLDcgQEAKIAogY29uZmlnIFNORF9BWlQyMzIwCiAJdHJpc3RhdGUgIkF6dGVjaCBTeXN0ZW1zIEFaVDIzMjAiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUE5QICYmIElTQQorCWRlcGVuZHMgb24gUE5QCiAJc2VsZWN0IElTQVBOUAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC05Miw3ICs5Niw2IEBACiAKIGNvbmZpZyBTTkRfQ01JODMzMAogCXRyaXN0YXRlICJDLU1lZGlhIENNSTgzMzAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FEMTg0OF9MSUIKIAlzZWxlY3QgU05EX1NCMTZfRFNQCiAJaGVscApAQCAtMTA0LDcgKzEwNyw2IEBACiAKIGNvbmZpZyBTTkRfQ1M0MjMxCiAJdHJpc3RhdGUgIkdlbmVyaWMgQ2lycnVzIExvZ2ljIENTNDIzMSBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCiAJaGVscApAQCAtMTE2LDcgKzExOCw2IEBACiAKIGNvbmZpZyBTTkRfQ1M0MjMyCiAJdHJpc3RhdGUgIkdlbmVyaWMgQ2lycnVzIExvZ2ljIENTNDIzMiBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgpAQCAtMTI5LDcgKzEzMCw2IEBACiAKIGNvbmZpZyBTTkRfQ1M0MjM2CiAJdHJpc3RhdGUgIkdlbmVyaWMgQ2lycnVzIExvZ2ljIENTNDIzNisgZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKQEAgLTE0Miw3ICsxNDIsNyBAQAogCiBjb25maWcgU05EX0RUMDE5WAogCXRyaXN0YXRlICJEaWFtb25kIFRlY2hub2xvZ2llcyBEVC0wMTlYLCBBdmFuY2UgTG9naWMgQUxTLTAwNyIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgSVNBUE5QCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTE1Niw3ICsxNTYsNyBAQAogCiBjb25maWcgU05EX0VTOTY4CiAJdHJpc3RhdGUgIkdlbmVyaWMgRVNTIEVTOTY4IGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgSVNBUE5QCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfU0I4X0RTUApAQCAtMTY4LDcgKzE2OCw2IEBACiAKIGNvbmZpZyBTTkRfRVMxNjg4CiAJdHJpc3RhdGUgIkdlbmVyaWMgRVNTIEVTNjg4L0VTMTY4OCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfUENNCkBAIC0xODEsNyArMTgwLDYgQEAKIAogY29uZmlnIFNORF9FUzE4WFgKIAl0cmlzdGF0ZSAiR2VuZXJpYyBFU1MgRVMxOHh4IGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KQEAgLTE5Myw3ICsxOTEsNyBAQAogCiBjb25maWcgU05EX1NDNjAwMAogCXRyaXN0YXRlICJHYWxsYW50IFNDLTYwMDAsIEF1ZGlvIEV4Y2VsIERTUCAxNiIKLQlkZXBlbmRzIG9uIFNORCAmJiBIQVNfSU9QT1JUCisJZGVwZW5kcyBvbiBIQVNfSU9QT1JUCiAJc2VsZWN0IFNORF9BRDE4NDhfTElCCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTIwNCwxNSArMjAyLDEwIEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtc2M2MDAwLgogCi1jb25maWcgU05EX0dVU19TWU5USAotCXRyaXN0YXRlCi0KIGNvbmZpZyBTTkRfR1VTQ0xBU1NJQwogCXRyaXN0YXRlICJHcmF2aXMgVWx0cmFTb3VuZCBDbGFzc2ljIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KLQlzZWxlY3QgU05EX0dVU19TWU5USAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBHcmF2aXMgVWx0cmFTb3VuZCBDbGFzc2ljCiAJICBzb3VuZGNhcmRzLgpAQCAtMjIyLDExICsyMTUsOSBAQAogCiBjb25maWcgU05EX0dVU0VYVFJFTUUKIAl0cmlzdGF0ZSAiR3JhdmlzIFVsdHJhU291bmQgRXh0cmVtZSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KLQlzZWxlY3QgU05EX0dVU19TWU5USAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBHcmF2aXMgVWx0cmFTb3VuZCBFeHRyZW1lCiAJICBzb3VuZGNhcmRzLgpAQCAtMjM2LDEwICsyMjcsOCBAQAogCiBjb25maWcgU05EX0dVU01BWAogCXRyaXN0YXRlICJHcmF2aXMgVWx0cmFTb3VuZCBNQVgiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKLQlzZWxlY3QgU05EX0dVU19TWU5USAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBHcmF2aXMgVWx0cmFTb3VuZCBNQVgKIAkgIHNvdW5kY2FyZHMuCkBAIC0yNDksMTAgKzIzOCw5IEBACiAKIGNvbmZpZyBTTkRfSU5URVJXQVZFCiAJdHJpc3RhdGUgIkFNRCBJbnRlcldhdmUsIEdyYXZpcyBVbHRyYVNvdW5kIFBuUCIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKLQlzZWxlY3QgU05EX0dVU19TWU5USAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBBTUQgSW50ZXJXYXZlIGJhc2VkCiAJICBzb3VuZGNhcmRzIChHcmF2aXMgVWx0cmFTb3VuZCBQbHVnICYgUGxheSwgU1RCIFNvdW5kUmFnZTMyLApAQCAtMjYzLDEwICsyNTEsOSBAQAogCiBjb25maWcgU05EX0lOVEVSV0FWRV9TVEIKIAl0cmlzdGF0ZSAiQU1EIEludGVyV2F2ZSArIFRFQTYzMzBUIChVbHRyYVNvdW5kIDMyLVBybykiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUE5QICYmIElTQQorCWRlcGVuZHMgb24gUE5QCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCi0Jc2VsZWN0IFNORF9HVVNfU1lOVEgKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgQU1EIEludGVyV2F2ZSBiYXNlZAogCSAgc291bmRjYXJkcyB3aXRoIGEgVEVBNjMzMFQgYmFzcyBhbmQgdHJlYmxlIHJlZ3VsYXRvcgpAQCAtMjc3LDcgKzI2NCw2IEBACiAKIGNvbmZpZyBTTkRfT1BMM1NBMgogCXRyaXN0YXRlICJZYW1haGEgT1BMMy1TQTIvU0EzIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKQEAgLTI5MCw3ICsyNzYsNiBAQAogCiBjb25maWcgU05EX09QVEk5MlhfQUQxODQ4CiAJdHJpc3RhdGUgIk9QVGkgODJDOTJ4IC0gQUQxODQ4IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfT1BMNF9MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC0zMDQsNyArMjg5LDYgQEAKIAogY29uZmlnIFNORF9PUFRJOTJYX0NTNDIzMQogCXRyaXN0YXRlICJPUFRpIDgyQzkyeCAtIENTNDIzMSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX09QTDRfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtMzE4LDEwICszMDIsOSBAQAogCiBjb25maWcgU05EX09QVEk5M1gKIAl0cmlzdGF0ZSAiT1BUaSA4MkM5M3giCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAotCXNlbGVjdCBTTkRfUENNCisJc2VsZWN0IFNORF9DUzQyMzFfTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHNvdW5kY2FyZHMgYmFzZWQgb24gT3B0aQogCSAgODJDOTN4IGNoaXBzLgpAQCAtMzMxLDcgKzMxNCw2IEBACiAKIGNvbmZpZyBTTkRfTUlSTwogCXRyaXN0YXRlICJNaXJvIG1pcm9TT1VORCBQQ00xcHJvL1BDTTEyL1BDTTIwcmFkaW8gZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEw0X0xJQgogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTM0NSw3ICszMjcsNiBAQAogCiBjb25maWcgU05EX1NCOAogCXRyaXN0YXRlICJTb3VuZCBCbGFzdGVyIDEuMC8yLjAvUHJvICg4LWJpdCkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9TQjhfRFNQCkBAIC0zNTgsNyArMzM5LDYgQEAKIAogY29uZmlnIFNORF9TQjE2CiAJdHJpc3RhdGUgIlNvdW5kIEJsYXN0ZXIgMTYgKFBuUCkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfU0IxNl9EU1AKQEAgLTM3MSw3ICszNTEsNiBAQAogCiBjb25maWcgU05EX1NCQVdFCiAJdHJpc3RhdGUgIlNvdW5kIEJsYXN0ZXIgQVdFICgzMiw2NCkgKFBuUCkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfU0IxNl9EU1AKQEAgLTM5MSwxOCArMzcwLDggQEAKIAkgIGNvcHJvY2Vzc29yIGNhbiBkbyB2YXJpYWJsZSB0YXNrcyBsaWtlIHZhcmlvdXMgY29tcHJlc3Npb24gYW5kCiAJICBkZWNvbXByZXNzaW9uIGFsZ29yaXRobXMuCiAKLWNvbmZpZyBTTkRfU0IxNl9DU1BfRklSTVdBUkVfSU5fS0VSTkVMCi0JYm9vbCAiSW4ta2VybmVsIGZpcm13YXJlIGZvciBTQjE2IENTUCIKLQlkZXBlbmRzIG9uIFNORF9TQjE2X0NTUAotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSB0aGUgc3RhdGljIGZpcm13YXJlIGJ1aWx0IGluIHRoZSBrZXJuZWwKLQkgIGZvciB0aGUgU0IxNiBDU1AgY29udHJvbGxlci4gIElmIHlvdSBjaG9vc2UgTiBoZXJlLCB5b3UgbmVlZAotCSAgdG8gaW5zdGFsbCB0aGUgZmlybXdhcmUgZmlsZXMgZnJvbSB0aGUgYWxzYS1maXJtd2FyZSBwYWNrYWdlLgotCiBjb25maWcgU05EX1NHQUxBWFkKIAl0cmlzdGF0ZSAiQXp0ZWNoIFNvdW5kIEdhbGF4eSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUQxODQ4X0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBBenRlY2ggU291bmQgR2FsYXh5CkBAIC00MTMsNyArMzgyLDYgQEAKIAogY29uZmlnIFNORF9TU0NBUEUKIAl0cmlzdGF0ZSAiRW5zb25pcSBTb3VuZFNjYXBlIFBuUCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgpAQCAtNDI2LDcgKzM5NCw2IEBACiAKIGNvbmZpZyBTTkRfV0FWRUZST05UCiAJdHJpc3RhdGUgIlR1cnRsZSBCZWFjaCBNYXVpLFRyb3BleixUcm9wZXorIChXYXZlZnJvbnQpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC00NDgsNCArNDE1LDUgQEAKIAkgIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIGZpcm13YXJlIGZpbGVzIGZyb20gdGhlCiAJICBhbHNhLWZpcm13YXJlIHBhY2thZ2UuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX0lTQQorCmRpZmYgLS1naXQgYS9zb3VuZC9pc2EvY3M0MjN4L2NzNDIzMV9saWIuYyBiL3NvdW5kL2lzYS9jczQyM3gvY3M0MjMxX2xpYi5jCmluZGV4IDBhYTg2NDkuLjUyMWRiNzAgMTAwNjQ0Ci0tLSBhL3NvdW5kL2lzYS9jczQyM3gvY3M0MjMxX2xpYi5jCisrKyBiL3NvdW5kL2lzYS9jczQyM3gvY3M0MjMxX2xpYi5jCkBAIC0xMTksNiArMTE5LDQyIEBACiAJMHgwMCwJCQkvKiAxZi8zMSAtIGNicmwgKi8KIH07CiAKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIHNuZF9vcHRpOTN4X29yaWdpbmFsX2ltYWdlWzMyXSA9Cit7CisJMHgwMCwJCS8qIDAwLzAwIC0gbF9taXhvdXRfb3V0Y3RybCAqLworCTB4MDAsCQkvKiAwMS8wMSAtIHJfbWl4b3V0X291dGN0cmwgKi8KKwkweDg4LAkJLyogMDIvMDIgLSBsX2NkX2luY3RybCAqLworCTB4ODgsCQkvKiAwMy8wMyAtIHJfY2RfaW5jdHJsICovCisJMHg4OCwJCS8qIDA0LzA0IC0gbF9hMS9mbV9pbmN0cmwgKi8KKwkweDg4LAkJLyogMDUvMDUgLSByX2ExL2ZtX2luY3RybCAqLworCTB4ODAsCQkvKiAwNi8wNiAtIGxfZGFjX2luY3RybCAqLworCTB4ODAsCQkvKiAwNy8wNyAtIHJfZGFjX2luY3RybCAqLworCTB4MDAsCQkvKiAwOC8wOCAtIHBseV9kYXRhZm9ybV9yZWcgKi8KKwkweDAwLAkJLyogMDkvMDkgLSBpZl9jb25mICovCisJMHgwMCwJCS8qIDBhLzEwIC0gcGluX2N0cmwgKi8KKwkweDAwLAkJLyogMGIvMTEgLSBlcnJfaW5pdF9yZWcgKi8KKwkweDBhLAkJLyogMGMvMTIgLSBpZF9yZWcgKi8KKwkweDAwLAkJLyogMGQvMTMgLSByZXNlcnZlZCAqLworCTB4MDAsCQkvKiAwZS8xNCAtIHBseV91cGNvdW50X3JlZyAqLworCTB4MDAsCQkvKiAwZi8xNSAtIHBseV9sb3djb3VudF9yZWcgKi8KKwkweDg4LAkJLyogMTAvMTYgLSByZXNlcnZlZC9sX2ExX2luY3RybCAqLworCTB4ODgsCQkvKiAxMS8xNyAtIHJlc2VydmVkL3JfYTFfaW5jdHJsICovCisJMHg4OCwJCS8qIDEyLzE4IC0gbF9saW5lX2luY3RybCAqLworCTB4ODgsCQkvKiAxMy8xOSAtIHJfbGluZV9pbmN0cmwgKi8KKwkweDg4LAkJLyogMTQvMjAgLSBsX21pY19pbmN0cmwgKi8KKwkweDg4LAkJLyogMTUvMjEgLSByX21pY19pbmN0cmwgKi8KKwkweDgwLAkJLyogMTYvMjIgLSBsX291dF9vdXRjdHJsICovCisJMHg4MCwJCS8qIDE3LzIzIC0gcl9vdXRfb3V0Y3RybCAqLworCTB4MDAsCQkvKiAxOC8yNCAtIHJlc2VydmVkICovCisJMHgwMCwJCS8qIDE5LzI1IC0gcmVzZXJ2ZWQgKi8KKwkweDAwLAkJLyogMWEvMjYgLSByZXNlcnZlZCAqLworCTB4MDAsCQkvKiAxYi8yNyAtIHJlc2VydmVkICovCisJMHgwMCwJCS8qIDFjLzI4IC0gY2FwX2RhdGFmb3JtX3JlZyAqLworCTB4MDAsCQkvKiAxZC8yOSAtIHJlc2VydmVkICovCisJMHgwMCwJCS8qIDFlLzMwIC0gY2FwX3VwY291bnRfcmVnICovCisJMHgwMAkJLyogMWYvMzEgLSBjYXBfbG93Y291bnRfcmVnICovCit9OworCiAvKgogICogIEJhc2ljIEkvTyBmdW5jdGlvbnMKICAqLwpAQCAtODk1LDcgKzkzMSw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHNuZF9jczQyMzFfb3ZlcnJhbmdlKHN0cnVjdCBzbmRfY3M0MjMxICpjaGlwKQordm9pZCBzbmRfY3M0MjMxX292ZXJyYW5nZShzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXVuc2lnbmVkIGNoYXIgcmVzOwpAQCAtMTA1NCw4ICsxMDkwLDExIEBACiAJY2hpcC0+aW1hZ2VbQ1M0MjMxX0lGQUNFX0NUUkxdID0KIAkgICAgKGNoaXAtPmltYWdlW0NTNDIzMV9JRkFDRV9DVFJMXSAmIH5DUzQyMzFfU0lOR0xFX0RNQSkgfAogCSAgICAoY2hpcC0+c2luZ2xlX2RtYSA/IENTNDIzMV9TSU5HTEVfRE1BIDogMCk7Ci0JY2hpcC0+aW1hZ2VbQ1M0MjMxX0FMVF9GRUFUVVJFXzFdID0gMHg4MDsKLQljaGlwLT5pbWFnZVtDUzQyMzFfQUxUX0ZFQVRVUkVfMl0gPSBjaGlwLT5oYXJkd2FyZSA9PSBDUzQyMzFfSFdfSU5URVJXQVZFID8gMHhjMiA6IDB4MDE7CisJaWYgKGNoaXAtPmhhcmR3YXJlICE9IENTNDIzMV9IV19PUFRJOTNYKSB7CisJCWNoaXAtPmltYWdlW0NTNDIzMV9BTFRfRkVBVFVSRV8xXSA9IDB4ODA7CisJCWNoaXAtPmltYWdlW0NTNDIzMV9BTFRfRkVBVFVSRV8yXSA9CisJCQljaGlwLT5oYXJkd2FyZSA9PSBDUzQyMzFfSFdfSU5URVJXQVZFID8gMHhjMiA6IDB4MDE7CisJfQogCXB0ciA9ICh1bnNpZ25lZCBjaGFyICopICZjaGlwLT5pbWFnZTsKIAlzbmRfY3M0MjMxX21jZV9kb3duKGNoaXApOwogCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOwpAQCAtMTM3Niw2ICsxNDE1LDcgQEAKIAljYXNlIENTNDIzMV9IV19JTlRFUldBVkU6IHJldHVybiAiQU1EIEludGVyV2F2ZSI7CiAJY2FzZSBDUzQyMzFfSFdfT1BMM1NBMjogcmV0dXJuIGNoaXAtPmNhcmQtPnNob3J0bmFtZTsKIAljYXNlIENTNDIzMV9IV19BRDE4NDU6IHJldHVybiAiQUQxODQ1IjsKKwljYXNlIENTNDIzMV9IV19PUFRJOTNYOiByZXR1cm4gIk9QVGkgOTN4IjsKIAlkZWZhdWx0OiByZXR1cm4gIj8/PyI7CiAJfQogfQpAQCAtMTQwMSw4ICsxNDQxLDEzIEBACiAJY2hpcC0+cmF0ZV9jb25zdHJhaW50ID0gc25kX2NzNDIzMV94cmF0ZTsKIAljaGlwLT5zZXRfcGxheWJhY2tfZm9ybWF0ID0gc25kX2NzNDIzMV9wbGF5YmFja19mb3JtYXQ7CiAJY2hpcC0+c2V0X2NhcHR1cmVfZm9ybWF0ID0gc25kX2NzNDIzMV9jYXB0dXJlX2Zvcm1hdDsKLSAgICAgICAgbWVtY3B5KCZjaGlwLT5pbWFnZSwgJnNuZF9jczQyMzFfb3JpZ2luYWxfaW1hZ2UsIHNpemVvZihzbmRfY3M0MjMxX29yaWdpbmFsX2ltYWdlKSk7Ci0gICAgICAgIAorCWlmIChjaGlwLT5oYXJkd2FyZSA9PSBDUzQyMzFfSFdfT1BUSTkzWCkKKwkJbWVtY3B5KCZjaGlwLT5pbWFnZSwgJnNuZF9vcHRpOTN4X29yaWdpbmFsX2ltYWdlLAorCQkgICAgICAgc2l6ZW9mKHNuZF9vcHRpOTN4X29yaWdpbmFsX2ltYWdlKSk7CisJZWxzZQorCQltZW1jcHkoJmNoaXAtPmltYWdlLCAmc25kX2NzNDIzMV9vcmlnaW5hbF9pbWFnZSwKKwkJICAgICAgIHNpemVvZihzbmRfY3M0MjMxX29yaWdpbmFsX2ltYWdlKSk7CisKICAgICAgICAgKnJjaGlwID0gY2hpcDsKICAgICAgICAgcmV0dXJuIDA7CiB9CkBAIC0xNzkwLDYgKzE4MzUsNDggQEAKIENTNDIzMV9TSU5HTEUoIkxvb3BiYWNrIENhcHR1cmUgVm9sdW1lIiwgMCwgQ1M0MjMxX0xPT1BCQUNLLCAyLCA2MywgMSkKIH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc25kX29wdGk5M3hfY29udHJvbHNbXSA9IHsKK0NTNDIzMV9ET1VCTEUoIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLCAwLAorCSAgICAgIE9QVGk5M1hfT1VUX0xFRlQsIE9QVGk5M1hfT1VUX1JJR0hULCA3LCA3LCAxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiLCAwLAorCSAgICAgIE9QVGk5M1hfT1VUX0xFRlQsIE9QVGk5M1hfT1VUX1JJR0hULCAxLCAxLCAzMSwgMSksCitDUzQyMzFfRE9VQkxFKCJQQ00gUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBDUzQyMzFfTEVGVF9PVVRQVVQsIENTNDIzMV9SSUdIVF9PVVRQVVQsIDcsIDcsIDEsIDEpLAorQ1M0MjMxX0RPVUJMRSgiUENNIFBsYXliYWNrIFZvbHVtZSIsIDAsCisJICAgICAgQ1M0MjMxX0xFRlRfT1VUUFVULCBDUzQyMzFfUklHSFRfT1VUUFVULCAwLCAwLCAzMSwgMSksCitDUzQyMzFfRE9VQkxFKCJGTSBQbGF5YmFjayBTd2l0Y2giLCAwLAorCSAgICAgIENTNDIzMV9BVVgyX0xFRlRfSU5QVVQsIENTNDIzMV9BVVgyX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIkZNIFBsYXliYWNrIFZvbHVtZSIsIDAsCisJICAgICAgQ1M0MjMxX0FVWDJfTEVGVF9JTlBVVCwgQ1M0MjMxX0FVWDJfUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwKK0NTNDIzMV9ET1VCTEUoIkxpbmUgUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBDUzQyMzFfTEVGVF9MSU5FX0lOLCBDUzQyMzFfUklHSFRfTElORV9JTiwgNywgNywgMSwgMSksCitDUzQyMzFfRE9VQkxFKCJMaW5lIFBsYXliYWNrIFZvbHVtZSIsIDAsCisJICAgICAgQ1M0MjMxX0xFRlRfTElORV9JTiwgQ1M0MjMxX1JJR0hUX0xJTkVfSU4sIDAsIDAsIDE1LCAxKSwKK0NTNDIzMV9ET1VCTEUoIk1pYyBQbGF5YmFjayBTd2l0Y2giLCAwLAorCSAgICAgIE9QVGk5M1hfTUlDX0xFRlRfSU5QVVQsIE9QVGk5M1hfTUlDX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIk1pYyBQbGF5YmFjayBWb2x1bWUiLCAwLAorCSAgICAgIE9QVGk5M1hfTUlDX0xFRlRfSU5QVVQsIE9QVGk5M1hfTUlDX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksCitDUzQyMzFfRE9VQkxFKCJNaWMgQm9vc3QiLCAwLAorCSAgICAgIENTNDIzMV9MRUZUX0lOUFVULCBDUzQyMzFfUklHSFRfSU5QVVQsIDUsIDUsIDEsIDApLAorQ1M0MjMxX0RPVUJMRSgiQ0QgUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBDUzQyMzFfQVVYMV9MRUZUX0lOUFVULCBDUzQyMzFfQVVYMV9SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCitDUzQyMzFfRE9VQkxFKCJDRCBQbGF5YmFjayBWb2x1bWUiLCAwLAorCSAgICAgIENTNDIzMV9BVVgxX0xFRlRfSU5QVVQsIENTNDIzMV9BVVgxX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksCitDUzQyMzFfRE9VQkxFKCJBdXggUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBPUFRpOTMxX0FVWF9MRUZUX0lOUFVULCBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCitDUzQyMzFfRE9VQkxFKCJBdXggUGxheWJhY2sgVm9sdW1lIiwgMCwKKwkgICAgICBPUFRpOTMxX0FVWF9MRUZUX0lOUFVULCBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLAorQ1M0MjMxX0RPVUJMRSgiQ2FwdHVyZSBWb2x1bWUiLCAwLAorCSAgICAgIENTNDIzMV9MRUZUX0lOUFVULCBDUzQyMzFfUklHSFRfSU5QVVQsIDAsIDAsIDE1LCAwKSwKK3sKKwkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSA9ICJDYXB0dXJlIFNvdXJjZSIsCisJLmluZm8gPSBzbmRfY3M0MjMxX2luZm9fbXV4LAorCS5nZXQgPSBzbmRfY3M0MjMxX2dldF9tdXgsCisJLnB1dCA9IHNuZF9jczQyMzFfcHV0X211eCwKK30KK307CisKIGludCBzbmRfY3M0MjMxX21peGVyKHN0cnVjdCBzbmRfY3M0MjMxICpjaGlwKQogewogCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKQEAgLTE4MDIsMTAgKzE4ODksMjIgQEAKIAogCXN0cmNweShjYXJkLT5taXhlcm5hbWUsIGNoaXAtPnBjbS0+bmFtZSk7CiAKLQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2NzNDIzMV9jb250cm9scyk7IGlkeCsrKSB7Ci0JCWlmICgoZXJyID0gc25kX2N0bF9hZGQoY2FyZCwgc25kX2N0bF9uZXcxKCZzbmRfY3M0MjMxX2NvbnRyb2xzW2lkeF0sIGNoaXApKSkgPCAwKQotCQkJcmV0dXJuIGVycjsKLQl9CisJaWYgKGNoaXAtPmhhcmR3YXJlID09IENTNDIzMV9IV19PUFRJOTNYKQorCQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX29wdGk5M3hfY29udHJvbHMpOyBpZHgrKykgeworCQkJZXJyID0gc25kX2N0bF9hZGQoY2FyZCwKKwkJCQkJc25kX2N0bF9uZXcxKCZzbmRfb3B0aTkzeF9jb250cm9sc1tpZHhdLAorCQkJCQkJICAgICBjaGlwKSk7CisJCQlpZiAoZXJyIDwgMCkKKwkJCQlyZXR1cm4gZXJyOworCQl9CisJZWxzZQorCQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2NzNDIzMV9jb250cm9scyk7IGlkeCsrKSB7CisJCQllcnIgPSBzbmRfY3RsX2FkZChjYXJkLAorCQkJCQlzbmRfY3RsX25ldzEoJnNuZF9jczQyMzFfY29udHJvbHNbaWR4XSwKKwkJCQkJCSAgICAgY2hpcCkpOworCQkJaWYgKGVyciA8IDApCisJCQkJcmV0dXJuIGVycjsKKwkJfQogCXJldHVybiAwOwogfQogCkBAIC0xODE1LDYgKzE5MTQsNyBAQAogRVhQT1JUX1NZTUJPTChzbmRfY3M0MjM2X2V4dF9pbik7CiBFWFBPUlRfU1lNQk9MKHNuZF9jczQyMzFfbWNlX3VwKTsKIEVYUE9SVF9TWU1CT0woc25kX2NzNDIzMV9tY2VfZG93bik7CitFWFBPUlRfU1lNQk9MKHNuZF9jczQyMzFfb3ZlcnJhbmdlKTsKIEVYUE9SVF9TWU1CT0woc25kX2NzNDIzMV9pbnRlcnJ1cHQpOwogRVhQT1JUX1NZTUJPTChzbmRfY3M0MjMxX2NoaXBfaWQpOwogRVhQT1JUX1NZTUJPTChzbmRfY3M0MjMxX2NyZWF0ZSk7CmRpZmYgLS1naXQgYS9zb3VuZC9pc2Evb3B0aTl4eC9vcHRpOTJ4LWFkMTg0OC5jIGIvc291bmQvaXNhL29wdGk5eHgvb3B0aTkyeC1hZDE4NDguYwppbmRleCBmZTFhZmMxLi40MWMwNDdlIDEwMDY0NAotLS0gYS9zb3VuZC9pc2Evb3B0aTl4eC9vcHRpOTJ4LWFkMTg0OC5jCisrKyBiL3NvdW5kL2lzYS9vcHRpOXh4L29wdGk5MngtYWQxODQ4LmMKQEAgLTMzLDE1ICszMywxMCBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KICNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+Ci0jaWZkZWYgQ1M0MjMxCisjaWYgZGVmaW5lZChDUzQyMzEpIHx8IGRlZmluZWQoT1BUaTkzWCkKICNpbmNsdWRlIDxzb3VuZC9jczQyMzEuaD4KICNlbHNlCi0jaWZuZGVmIE9QVGk5M1gKICNpbmNsdWRlIDxzb3VuZC9hZDE4NDguaD4KLSNlbHNlCi0jaW5jbHVkZSA8c291bmQvY29udHJvbC5oPgotI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgotI2VuZGlmCS8qIE9QVGk5M1ggKi8KICNlbmRpZgkvKiBDUzQyMzEgKi8KICNpbmNsdWRlIDxzb3VuZC9tcHU0MDEuaD4KICNpbmNsdWRlIDxzb3VuZC9vcGwzLmg+CkBAIC0xMDksNyArMTA0LDYgQEAKIE1PRFVMRV9QQVJNX0RFU0MoZG1hMiwgIjJuZCBkbWEgIyBmb3Igb3B0aTl4eCBkcml2ZXIuIik7CiAjZW5kaWYJLyogQ1M0MjMxIHx8IE9QVGk5M1ggKi8KIAotI2RlZmluZSBPUFRpOVhYX0hXX0RFVEVDVAkwCiAjZGVmaW5lIE9QVGk5WFhfSFdfODJDOTI4CTEKICNkZWZpbmUgT1BUaTlYWF9IV184MkM5MjkJMgogI2RlZmluZSBPUFRpOVhYX0hXXzgyQzkyNAkzCkBAIC0xMjMsMTA1ICsxMTcsMTIgQEAKIAogI2lmZGVmIE9QVGk5M1gKIAotI2RlZmluZSBPUFRpOTNYX0lOREVYCQkJMHgwMAotI2RlZmluZSBPUFRpOTNYX0RBVEEJCQkweDAxCiAjZGVmaW5lIE9QVGk5M1hfU1RBVFVTCQkJMHgwMgotI2RlZmluZSBPUFRpOTNYX0REQVRBCQkJMHgwMwogI2RlZmluZSBPUFRpOTNYX1BPUlQoY2hpcCwgcikJCSgoY2hpcCktPnBvcnQgKyBPUFRpOTNYXyMjcikKIAotI2RlZmluZSBPUFRpOTNYX01JWE9VVF9MRUZUCQkweDAwCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX1JJR0hUCQkweDAxCi0jZGVmaW5lIE9QVGk5M1hfQ0RfTEVGVF9JTlBVVAkJMHgwMgotI2RlZmluZSBPUFRpOTNYX0NEX1JJR0hUX0lOUFVUCQkweDAzCi0jZGVmaW5lIE9QVGk5MzBfQVVYX0xFRlRfSU5QVVQJCTB4MDQKLSNkZWZpbmUgT1BUaTkzMF9BVVhfUklHSFRfSU5QVVQJCTB4MDUKLSNkZWZpbmUgT1BUaTkzMV9GTV9MRUZUX0lOUFVUCQkweDA0Ci0jZGVmaW5lIE9QVGk5MzFfRk1fUklHSFRfSU5QVVQJCTB4MDUKLSNkZWZpbmUgT1BUaTkzWF9EQUNfTEVGVAkJMHgwNgotI2RlZmluZSBPUFRpOTNYX0RBQ19SSUdIVAkJMHgwNwotI2RlZmluZSBPUFRpOTNYX1BMQVlfRk9STUFUCQkweDA4Ci0jZGVmaW5lIE9QVGk5M1hfSUZBQ0VfQ09ORgkJMHgwOQotI2RlZmluZSBPUFRpOTNYX1BJTl9DVFJMCQkweDBhCi0jZGVmaW5lIE9QVGk5M1hfRVJSX0lOSVQJCTB4MGIKLSNkZWZpbmUgT1BUaTkzWF9JRAkJCTB4MGMKLSNkZWZpbmUgT1BUaTkzWF9QTEFZX1VQUl9DTlQJCTB4MGUKLSNkZWZpbmUgT1BUaTkzWF9QTEFZX0xXUl9DTlQJCTB4MGYKLSNkZWZpbmUgT1BUaTkzMV9BVVhfTEVGVF9JTlBVVAkJMHgxMAotI2RlZmluZSBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVAkJMHgxMQotI2RlZmluZSBPUFRpOTNYX0xJTkVfTEVGVF9JTlBVVAkJMHgxMgotI2RlZmluZSBPUFRpOTNYX0xJTkVfUklHSFRfSU5QVVQJMHgxMwotI2RlZmluZSBPUFRpOTNYX01JQ19MRUZUX0lOUFVUCQkweDE0Ci0jZGVmaW5lIE9QVGk5M1hfTUlDX1JJR0hUX0lOUFVUCQkweDE1Ci0jZGVmaW5lIE9QVGk5M1hfT1VUX0xFRlQJCTB4MTYKLSNkZWZpbmUgT1BUaTkzWF9PVVRfUklHSFQJCTB4MTcKLSNkZWZpbmUgT1BUaTkzWF9DQVBUX0ZPUk1BVAkJMHgxYwotI2RlZmluZSBPUFRpOTNYX0NBUFRfVVBSX0NOVAkJMHgxZQotI2RlZmluZSBPUFRpOTNYX0NBUFRfTFdSX0NOVAkJMHgxZgotCi0jZGVmaW5lIE9QVGk5M1hfVFJECQkJMHgyMAotI2RlZmluZSBPUFRpOTNYX01DRQkJCTB4NDAKLSNkZWZpbmUgT1BUaTkzWF9JTklUCQkJMHg4MAotCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX01JQ19HQUlOCQkweDIwCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX0xJTkUJCTB4MDAKLSNkZWZpbmUgT1BUaTkzWF9NSVhPVVRfQ0QJCTB4NDAKLSNkZWZpbmUgT1BUaTkzWF9NSVhPVVRfTUlDCQkweDgwCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX01JWEVSCQkweGMwCi0KLSNkZWZpbmUgT1BUaTkzWF9TVEVSRU8JCQkweDEwCi0jZGVmaW5lIE9QVGk5M1hfTElORUFSXzgJCTB4MDAKLSNkZWZpbmUgT1BUaTkzWF9VTEFXXzgJCQkweDIwCi0jZGVmaW5lIE9QVGk5M1hfTElORUFSXzE2X0xJVAkJMHg0MAotI2RlZmluZSBPUFRpOTNYX0FMQVdfOAkJCTB4NjAKLSNkZWZpbmUgT1BUaTkzWF9BRFBDTV8xNgkJMHhhMAotI2RlZmluZSBPUFRpOTNYX0xJTkVBUl8xNl9CSUcJCTB4YzAKLQotI2RlZmluZSBPUFRpOTNYX0NBUFRVUkVfUElPCQkweDgwCi0jZGVmaW5lIE9QVGk5M1hfUExBWUJBQ0tfUElPCQkweDQwCi0jZGVmaW5lIE9QVGk5M1hfQVVUT0NBTElCCQkweDA4Ci0jZGVmaW5lIE9QVGk5M1hfU0lOR0xFX0RNQQkJMHgwNAotI2RlZmluZSBPUFRpOTNYX0NBUFRVUkVfRU5BQkxFCQkweDAyCi0jZGVmaW5lIE9QVGk5M1hfUExBWUJBQ0tfRU5BQkxFCQkweDAxCi0KLSNkZWZpbmUgT1BUaTkzWF9JUlFfRU5BQkxFCQkweDAyCi0KLSNkZWZpbmUgT1BUaTkzWF9ETUFfUkVRVUVTVAkJMHgxMAotI2RlZmluZSBPUFRpOTNYX0NBTElCX0lOX1BST0dSRVNTCTB4MjAKLQogI2RlZmluZSBPUFRpOTNYX0lSUV9QTEFZQkFDSwkJMHgwNAogI2RlZmluZSBPUFRpOTNYX0lSUV9DQVBUVVJFCQkweDA4CiAKLQotc3RydWN0IHNuZF9vcHRpOTN4IHsKLQl1bnNpZ25lZCBsb25nIHBvcnQ7Ci0Jc3RydWN0IHJlc291cmNlICpyZXNfcG9ydDsKLQlpbnQgaXJxOwotCWludCBkbWExOwotCWludCBkbWEyOwotCi0Jc3RydWN0IHNuZF9vcHRpOXh4ICpjaGlwOwotCXVuc2lnbmVkIHNob3J0IGhhcmR3YXJlOwotCXVuc2lnbmVkIGNoYXIgaW1hZ2VbMzJdOwotCi0JdW5zaWduZWQgY2hhciBtY2VfYml0OwotCXVuc2lnbmVkIHNob3J0IG1vZGU7Ci0JaW50IG11dGU7Ci0KLQlzcGlubG9ja190IGxvY2s7Ci0KLQlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7Ci0Jc3RydWN0IHNuZF9wY20gKnBjbTsKLQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnBsYXliYWNrX3N1YnN0cmVhbTsKLQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKmNhcHR1cmVfc3Vic3RyZWFtOwotCXVuc2lnbmVkIGludCBwX2RtYV9zaXplOwotCXVuc2lnbmVkIGludCBjX2RtYV9zaXplOwotfTsKLQotI2RlZmluZSBPUFRpOTNYX01PREVfTk9ORQkweDAwCi0jZGVmaW5lIE9QVGk5M1hfTU9ERV9QTEFZCTB4MDEKLSNkZWZpbmUgT1BUaTkzWF9NT0RFX0NBUFRVUkUJMHgwMgotI2RlZmluZSBPUFRpOTNYX01PREVfT1BFTgkoT1BUaTkzWF9NT0RFX1BMQVkgfCBPUFRpOTNYX01PREVfQ0FQVFVSRSkKLQogI2VuZGlmIC8qIE9QVGk5M1ggKi8KIAogc3RydWN0IHNuZF9vcHRpOXh4IHsKQEAgLTIzNCw2ICsxMzUsNyBAQAogCXVuc2lnbmVkIGxvbmcgbWNfYmFzZV9zaXplOwogI2lmZGVmIE9QVGk5M1gKIAl1bnNpZ25lZCBsb25nIG1jX2luZGlyX2luZGV4OworCXN0cnVjdCBzbmRfY3M0MjMxICpjb2RlYzsKICNlbmRpZgkvKiBPUFRpOTNYICovCiAJdW5zaWduZWQgbG9uZyBwd2RfcmVnOwogCkBAIC00OTEsMTYgKzM5Myw5IEBACiAJCWJyZWFrOwogCiAjZWxzZQkvKiBPUFRpOTNYICovCi0JY2FzZSBPUFRpOVhYX0hXXzgyQzkzMDoKIAljYXNlIE9QVGk5WFhfSFdfODJDOTMxOgogCWNhc2UgT1BUaTlYWF9IV184MkM5MzM6Ci0JCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoNiksIDB4MDIsIDB4MDMpOwotCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDMpLCAweDAwLCAweGZmKTsKLQkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRyg0KSwgMHgxMCB8Ci0JCQkoY2hpcC0+aGFyZHdhcmUgPT0gT1BUaTlYWF9IV184MkM5MzAgPyAweDAwIDogMHgwNCksCi0JCQkweDM0KTsKLQkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRyg1KSwgMHgyMCwgMHhiZik7Ci0JCS8qIAorCQkvKgogCQkgKiBUaGUgQlRDIDE4MTdEVyBoYXMgUVMxMDAwIHdhdmV0YWJsZSB3aGljaCBpcyBjb25uZWN0ZWQKIAkJICogdG8gdGhlIHNlcmlhbCBkaWdpdGFsIGlucHV0IG9mIHRoZSBPUFRJOTMxLgogCQkgKi8KQEAgLTUxMCw2ICs0MDUsMTMgQEAKIAkJICogb3IgZGlnaXRhbCBpbnB1dCBzaWduYWwuCiAJCSAqLwogCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDI2KSwgMHgwMSwgMHgwMSk7CisJY2FzZSBPUFRpOVhYX0hXXzgyQzkzMDogLyogRkFMTCBUSFJPVUdIICovCisJCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoNiksIDB4MDIsIDB4MDMpOworCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDMpLCAweDAwLCAweGZmKTsKKwkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRyg0KSwgMHgxMCB8CisJCQkoY2hpcC0+aGFyZHdhcmUgPT0gT1BUaTlYWF9IV184MkM5MzAgPyAweDAwIDogMHgwNCksCisJCQkweDM0KTsKKwkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRyg1KSwgMHgyMCwgMHhiZik7CiAJCWJyZWFrOwogI2VuZGlmCS8qIE9QVGk5M1ggKi8KIApAQCAtNjU0LDk3OSArNTU2LDIzIEBACiAKICNpZmRlZiBPUFRpOTNYCiAKLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNuZF9vcHRpOTN4X2RlZmF1bHRfaW1hZ2VbMzJdID0KLXsKLQkweDAwLAkJLyogMDAvMDAgLSBsX21peG91dF9vdXRjdHJsICovCi0JMHgwMCwJCS8qIDAxLzAxIC0gcl9taXhvdXRfb3V0Y3RybCAqLwotCTB4ODgsCQkvKiAwMi8wMiAtIGxfY2RfaW5jdHJsICovCi0JMHg4OCwJCS8qIDAzLzAzIC0gcl9jZF9pbmN0cmwgKi8KLQkweDg4LAkJLyogMDQvMDQgLSBsX2ExL2ZtX2luY3RybCAqLwotCTB4ODgsCQkvKiAwNS8wNSAtIHJfYTEvZm1faW5jdHJsICovCi0JMHg4MCwJCS8qIDA2LzA2IC0gbF9kYWNfaW5jdHJsICovCi0JMHg4MCwJCS8qIDA3LzA3IC0gcl9kYWNfaW5jdHJsICovCi0JMHgwMCwJCS8qIDA4LzA4IC0gcGx5X2RhdGFmb3JtX3JlZyAqLwotCTB4MDAsCQkvKiAwOS8wOSAtIGlmX2NvbmYgKi8KLQkweDAwLAkJLyogMGEvMTAgLSBwaW5fY3RybCAqLwotCTB4MDAsCQkvKiAwYi8xMSAtIGVycl9pbml0X3JlZyAqLwotCTB4MGEsCQkvKiAwYy8xMiAtIGlkX3JlZyAqLwotCTB4MDAsCQkvKiAwZC8xMyAtIHJlc2VydmVkICovCi0JMHgwMCwJCS8qIDBlLzE0IC0gcGx5X3VwY291bnRfcmVnICovCi0JMHgwMCwJCS8qIDBmLzE1IC0gcGx5X2xvd2NvdW50X3JlZyAqLwotCTB4ODgsCQkvKiAxMC8xNiAtIHJlc2VydmVkL2xfYTFfaW5jdHJsICovCi0JMHg4OCwJCS8qIDExLzE3IC0gcmVzZXJ2ZWQvcl9hMV9pbmN0cmwgKi8KLQkweDg4LAkJLyogMTIvMTggLSBsX2xpbmVfaW5jdHJsICovCi0JMHg4OCwJCS8qIDEzLzE5IC0gcl9saW5lX2luY3RybCAqLwotCTB4ODgsCQkvKiAxNC8yMCAtIGxfbWljX2luY3RybCAqLwotCTB4ODgsCQkvKiAxNS8yMSAtIHJfbWljX2luY3RybCAqLwotCTB4ODAsCQkvKiAxNi8yMiAtIGxfb3V0X291dGN0cmwgKi8KLQkweDgwLAkJLyogMTcvMjMgLSByX291dF9vdXRjdHJsICovCi0JMHgwMCwJCS8qIDE4LzI0IC0gcmVzZXJ2ZWQgKi8KLQkweDAwLAkJLyogMTkvMjUgLSByZXNlcnZlZCAqLwotCTB4MDAsCQkvKiAxYS8yNiAtIHJlc2VydmVkICovCi0JMHgwMCwJCS8qIDFiLzI3IC0gcmVzZXJ2ZWQgKi8KLQkweDAwLAkJLyogMWMvMjggLSBjYXBfZGF0YWZvcm1fcmVnICovCi0JMHgwMCwJCS8qIDFkLzI5IC0gcmVzZXJ2ZWQgKi8KLQkweDAwLAkJLyogMWUvMzAgLSBjYXBfdXBjb3VudF9yZWcgKi8KLQkweDAwCQkvKiAxZi8zMSAtIGNhcF9sb3djb3VudF9yZWcgKi8KLX07Ci0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9idXN5X3dhaXQoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCWludCB0aW1lb3V0OwotCi0JZm9yICh0aW1lb3V0ID0gMjUwOyB0aW1lb3V0LS0gPiAwOyB1ZGVsYXkoMTApKQotCQlpZiAoIShpbmIoT1BUaTkzWF9QT1JUKGNoaXAsIElOREVYKSkgJiBPUFRpOTNYX0lOSVQpKQotCQkJcmV0dXJuIDA7Ci0KLQlzbmRfcHJpbnRrKCJjaGlwIHN0aWxsIGJ1c3kuXG4iKTsKLQlyZXR1cm4gLUVCVVNZOwotfQotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzbmRfb3B0aTkzeF9pbihzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGNoYXIgcmVnKQotewotCXNuZF9vcHRpOTN4X2J1c3lfd2FpdChjaGlwKTsKLQlvdXRiKGNoaXAtPm1jZV9iaXQgfCAocmVnICYgMHgxZiksIE9QVGk5M1hfUE9SVChjaGlwLCBJTkRFWCkpOwotCXJldHVybiBpbmIoT1BUaTkzWF9QT1JUKGNoaXAsIERBVEEpKTsKLX0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfb3V0KHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgdW5zaWduZWQgY2hhciByZWcsCi0JCQkgICAgdW5zaWduZWQgY2hhciB2YWx1ZSkKLXsKLQlzbmRfb3B0aTkzeF9idXN5X3dhaXQoY2hpcCk7Ci0Jb3V0YihjaGlwLT5tY2VfYml0IHwgKHJlZyAmIDB4MWYpLCBPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKTsKLQlvdXRiKHZhbHVlLCBPUFRpOTNYX1BPUlQoY2hpcCwgREFUQSkpOwotfQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9vdXRfaW1hZ2Uoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBjaGFyIHJlZywKLQkJCQkgIHVuc2lnbmVkIGNoYXIgdmFsdWUpCi17Ci0Jc25kX29wdGk5M3hfb3V0KGNoaXAsIHJlZywgY2hpcC0+aW1hZ2VbcmVnXSA9IHZhbHVlKTsKLX0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfb3V0X21hc2soc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBjaGFyIHJlZywKLQkJCQkgdW5zaWduZWQgY2hhciBtYXNrLCB1bnNpZ25lZCBjaGFyIHZhbHVlKQotewotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCByZWcsCi0JCShjaGlwLT5pbWFnZVtyZWddICYgfm1hc2spIHwgKHZhbHVlICYgbWFzaykpOwotfQotCi0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X21jZV91cChzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXApCi17Ci0Jc25kX29wdGk5M3hfYnVzeV93YWl0KGNoaXApOwotCi0JY2hpcC0+bWNlX2JpdCA9IE9QVGk5M1hfTUNFOwotCWlmICghKGluYihPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKSAmIE9QVGk5M1hfTUNFKSkKLQkJb3V0YihjaGlwLT5tY2VfYml0LCBPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKTsKLX0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfbWNlX2Rvd24oc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXNuZF9vcHRpOTN4X2J1c3lfd2FpdChjaGlwKTsKLQotCWNoaXAtPm1jZV9iaXQgPSAwOwotCWlmIChpbmIoT1BUaTkzWF9QT1JUKGNoaXAsIElOREVYKSkgJiBPUFRpOTNYX01DRSkKLQkJb3V0YihjaGlwLT5tY2VfYml0LCBPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKTsKLX0KLQotI2RlZmluZSBzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCByZWcsIG11dGUpCVwKLQlzbmRfb3B0aTkzeF9vdXQoY2hpcCwgcmVnLCBtdXRlID8gMHg4MCA6IGNoaXAtPmltYWdlW3JlZ10pOwotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9tdXRlKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgaW50IG11dGUpCi17Ci0JbXV0ZSA9IG11dGUgPyAxIDogMDsKLQlpZiAoY2hpcC0+bXV0ZSA9PSBtdXRlKQotCQlyZXR1cm47Ci0KLQljaGlwLT5tdXRlID0gbXV0ZTsKLQotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfQ0RfTEVGVF9JTlBVVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9DRF9SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0Jc3dpdGNoIChjaGlwLT5oYXJkd2FyZSkgewotCWNhc2UgT1BUaTlYWF9IV184MkM5MzA6Ci0JCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5MzBfQVVYX0xFRlRfSU5QVVQsIG11dGUpOwotCQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTMwX0FVWF9SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0JCWJyZWFrOwotCWNhc2UgT1BUaTlYWF9IV184MkM5MzE6Ci0JY2FzZSBPUFRpOVhYX0hXXzgyQzkzMzoKLQkJc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzMV9GTV9MRUZUX0lOUFVULCBtdXRlKTsKLQkJc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzMV9GTV9SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0JCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5MzFfQVVYX0xFRlRfSU5QVVQsIG11dGUpOwotCQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0JfQotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfREFDX0xFRlQsIG11dGUpOwotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfREFDX1JJR0hULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX0xJTkVfTEVGVF9JTlBVVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9MSU5FX1JJR0hUX0lOUFVULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX01JQ19MRUZUX0lOUFVULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX01JQ19SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9PVVRfTEVGVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9PVVRfUklHSFQsIG11dGUpOwotfQotCi0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgc25kX29wdGk5M3hfZ2V0X2NvdW50KHVuc2lnbmVkIGNoYXIgZm9ybWF0LAotCQkJCQkgIHVuc2lnbmVkIGludCBzaXplKQotewotCXN3aXRjaCAoZm9ybWF0ICYgMHhlMCkgewotCWNhc2UgT1BUaTkzWF9MSU5FQVJfMTZfTElUOgotCWNhc2UgT1BUaTkzWF9MSU5FQVJfMTZfQklHOgotCQlzaXplID4+PSAxOwotCQlicmVhazsKLQljYXNlIE9QVGk5M1hfQURQQ01fMTY6Ci0JCXJldHVybiBzaXplID4+IDI7Ci0JfQotCXJldHVybiAoZm9ybWF0ICYgT1BUaTkzWF9TVEVSRU8pID8gKHNpemUgPj4gMSkgOiBzaXplOwotfQotCi1zdGF0aWMgdW5zaWduZWQgaW50IHJhdGVzW10gPSB7ICA1NTEyLCAgNjYxNSwgIDgwMDAsICA5NjAwLCAxMTAyNSwgMTYwMDAsIAotCQkJCTE4OTAwLCAyMjA1MCwgMjc0MjgsIDMyMDAwLCAzMzA3NSwgMzc4MDAsCi0JCQkJNDQxMDAsIDQ4MDAwIH07Ci0jZGVmaW5lIFJBVEVTIEFSUkFZX1NJWkUocmF0ZXMpCi0KLXN0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9od19jb25zdHJhaW50X2xpc3QgaHdfY29uc3RyYWludHNfcmF0ZXMgPSB7Ci0JLmNvdW50ID0gUkFURVMsCi0JLmxpc3QgPSByYXRlcywKLQkubWFzayA9IDAsCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBiaXRzW10gPSB7ICAweDAxLCAgMHgwZiwgIDB4MDAsICAweDBlLCAgMHgwMywgIDB4MDIsCi0JCQkJIDB4MDUsICAweDA3LCAgMHgwNCwgIDB4MDYsICAweDBkLCAgMHgwOSwKLQkJCQkgMHgwYiwgIDB4MGN9OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzbmRfb3B0aTkzeF9nZXRfZnJlcSh1bnNpZ25lZCBpbnQgcmF0ZSkKLXsKLQl1bnNpZ25lZCBpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBSQVRFUzsgaSsrKSB7Ci0JCWlmIChyYXRlID09IHJhdGVzW2ldKQotCQkJcmV0dXJuIGJpdHNbaV07Ci0JfQotCXNuZF9CVUcoKTsKLQlyZXR1cm4gYml0c1tSQVRFUy0xXTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc25kX29wdGk5M3hfZ2V0X2Zvcm1hdChzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsCi0JCQkJCSAgICB1bnNpZ25lZCBpbnQgZm9ybWF0LCBpbnQgY2hhbm5lbHMpCi17Ci0JdW5zaWduZWQgY2hhciByZXR2YWwgPSBPUFRpOTNYX0xJTkVBUl84OwotCi0Jc3dpdGNoIChmb3JtYXQpIHsKLQljYXNlIFNORFJWX1BDTV9GT1JNQVRfTVVfTEFXOgotCQlyZXR2YWwgPSBPUFRpOTNYX1VMQVdfODsKLQkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9QQ01fRk9STUFUX0FfTEFXOgotCQlyZXR2YWwgPSBPUFRpOTNYX0FMQVdfODsKLQkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MxNl9MRToKLQkJcmV0dmFsID0gT1BUaTkzWF9MSU5FQVJfMTZfTElUOwotCQlicmVhazsKLQljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzE2X0JFOgotCQlyZXR2YWwgPSBPUFRpOTNYX0xJTkVBUl8xNl9CSUc7Ci0JCWJyZWFrOwotCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9JTUFfQURQQ006Ci0JCXJldHZhbCA9IE9QVGk5M1hfQURQQ01fMTY7Ci0JfQotCXJldHVybiAoY2hhbm5lbHMgPiAxKSA/IChyZXR2YWwgfCBPUFRpOTNYX1NURVJFTykgOiByZXR2YWw7Ci19Ci0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfcGxheWJhY2tfZm9ybWF0KHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgdW5zaWduZWQgY2hhciBmbXQpCi17Ci0JdW5zaWduZWQgY2hhciBtYXNrOwotCi0Jc25kX29wdGk5M3hfbXV0ZShjaGlwLCAxKTsKLQotCXNuZF9vcHRpOTN4X21jZV91cChjaGlwKTsKLQltYXNrID0gKGNoaXAtPm1vZGUgJiBPUFRpOTNYX01PREVfQ0FQVFVSRSkgPyAweGYwIDogMHhmZjsKLQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX1BMQVlfRk9STUFULCBtYXNrLCBmbXQpOwotCXNuZF9vcHRpOTN4X21jZV9kb3duKGNoaXApOwotCi0Jc25kX29wdGk5M3hfbXV0ZShjaGlwLCAwKTsKLX0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfY2FwdHVyZV9mb3JtYXQoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBjaGFyIGZtdCkKLXsKLQlzbmRfb3B0aTkzeF9tdXRlKGNoaXAsIDEpOwotCi0Jc25kX29wdGk5M3hfbWNlX3VwKGNoaXApOwotCWlmICghKGNoaXAtPm1vZGUgJiBPUFRpOTNYX01PREVfUExBWSkpCi0JCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfUExBWV9GT1JNQVQsIDB4MGYsIGZtdCk7Ci0JZWxzZQotCQlmbXQgPSBjaGlwLT5pbWFnZVtPUFRpOTNYX1BMQVlfRk9STUFUXSAmIDB4ZjA7Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIE9QVGk5M1hfQ0FQVF9GT1JNQVQsIGZtdCk7Ci0Jc25kX29wdGk5M3hfbWNlX2Rvd24oY2hpcCk7Ci0KLQlzbmRfb3B0aTkzeF9tdXRlKGNoaXAsIDApOwotfQotCi0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfb3BlbihzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGludCBtb2RlKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCi0JaWYgKGNoaXAtPm1vZGUgJiBtb2RlKSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQkJcmV0dXJuIC1FQUdBSU47Ci0JfQotCi0JaWYgKCEoY2hpcC0+bW9kZSAmIE9QVGk5M1hfTU9ERV9PUEVOKSkgewotCQlvdXRiKDB4MDAsIE9QVGk5M1hfUE9SVChjaGlwLCBTVEFUVVMpKTsKLQkJc25kX29wdGk5M3hfb3V0X21hc2soY2hpcCwgT1BUaTkzWF9QSU5fQ1RSTCwKLQkJCU9QVGk5M1hfSVJRX0VOQUJMRSwgT1BUaTkzWF9JUlFfRU5BQkxFKTsKLQkJY2hpcC0+bW9kZSA9IG1vZGU7Ci0JfQotCWVsc2UKLQkJY2hpcC0+bW9kZSB8PSBtb2RlOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9jbG9zZShzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGludCBtb2RlKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCi0JY2hpcC0+bW9kZSAmPSB+bW9kZTsKLQlpZiAoY2hpcC0+bW9kZSAmIE9QVGk5M1hfTU9ERV9PUEVOKSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQkJcmV0dXJuOwotCX0KLQotCXNuZF9vcHRpOTN4X211dGUoY2hpcCwgMSk7Ci0KLQlvdXRiKDAsIE9QVGk5M1hfUE9SVChjaGlwLCBTVEFUVVMpKTsKLQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX1BJTl9DVFJMLCBPUFRpOTNYX0lSUV9FTkFCTEUsCi0JCX5PUFRpOTNYX0lSUV9FTkFCTEUpOwotCi0Jc25kX29wdGk5M3hfbWNlX3VwKGNoaXApOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX0lGQUNFX0NPTkYsIDB4MDApOwotCXNuZF9vcHRpOTN4X21jZV9kb3duKGNoaXApOwotCWNoaXAtPm1vZGUgPSAwOwotCi0Jc25kX29wdGk5M3hfbXV0ZShjaGlwLCAwKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgCi0JCQkgICAgICAgdW5zaWduZWQgY2hhciB3aGF0LCBpbnQgY21kKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQotCXN3aXRjaCAoY21kKSB7Ci0JY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKLQljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6Ci0JewotCQl1bnNpZ25lZCBpbnQgd2hhdCA9IDA7Ci0JCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqczsKLQkJc25kX3BjbV9ncm91cF9mb3JfZWFjaF9lbnRyeShzLCBzdWJzdHJlYW0pIHsKLQkJCWlmIChzID09IGNoaXAtPnBsYXliYWNrX3N1YnN0cmVhbSkgewotCQkJCXdoYXQgfD0gT1BUaTkzWF9QTEFZQkFDS19FTkFCTEU7Ci0JCQkJc25kX3BjbV90cmlnZ2VyX2RvbmUocywgc3Vic3RyZWFtKTsKLQkJCX0gZWxzZSBpZiAocyA9PSBjaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSkgewotCQkJCXdoYXQgfD0gT1BUaTkzWF9DQVBUVVJFX0VOQUJMRTsKLQkJCQlzbmRfcGNtX3RyaWdnZXJfZG9uZShzLCBzdWJzdHJlYW0pOwotCQkJfQotCQl9Ci0JCXNwaW5fbG9jaygmY2hpcC0+bG9jayk7Ci0JCWlmIChjbWQgPT0gU05EUlZfUENNX1RSSUdHRVJfU1RBUlQpIHsKLQkJCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfSUZBQ0VfQ09ORiwgd2hhdCwgd2hhdCk7Ci0JCQlpZiAod2hhdCAmIE9QVGk5M1hfQ0FQVFVSRV9FTkFCTEUpCi0JCQkJdWRlbGF5KDUwKTsKLQkJfSBlbHNlCi0JCQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX0lGQUNFX0NPTkYsIHdoYXQsIDB4MDApOwotCQlzcGluX3VubG9jaygmY2hpcC0+bG9jayk7Ci0JCWJyZWFrOwotCX0KLQlkZWZhdWx0OgotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcGxheWJhY2tfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKLXsKLQlyZXR1cm4gc25kX29wdGk5M3hfdHJpZ2dlcihzdWJzdHJlYW0sCi0JCQkJICAgT1BUaTkzWF9QTEFZQkFDS19FTkFCTEUsIGNtZCk7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfY2FwdHVyZV90cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQotewotCXJldHVybiBzbmRfb3B0aTkzeF90cmlnZ2VyKHN1YnN0cmVhbSwKLQkJCQkgICBPUFRpOTNYX0NBUFRVUkVfRU5BQkxFLCBjbWQpOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKLQkJCQkgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpod19wYXJhbXMpCi17Ci0JcmV0dXJuIHNuZF9wY21fbGliX21hbGxvY19wYWdlcyhzdWJzdHJlYW0sIHBhcmFtc19idWZmZXJfYnl0ZXMoaHdfcGFyYW1zKSk7Ci19Ci0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCXNuZF9wY21fbGliX2ZyZWVfcGFnZXMoc3Vic3RyZWFtKTsKLQlyZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3BsYXliYWNrX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBjaGFyIGZvcm1hdDsKLQl1bnNpZ25lZCBpbnQgY291bnQgPSBzbmRfcGNtX2xpYl9wZXJpb2RfYnl0ZXMoc3Vic3RyZWFtKTsKLQl1bnNpZ25lZCBpbnQgc2l6ZSA9IHNuZF9wY21fbGliX2J1ZmZlcl9ieXRlcyhzdWJzdHJlYW0pOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQotCWNoaXAtPnBfZG1hX3NpemUgPSBzaXplOwotCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfSUZBQ0VfQ09ORiwKLQkJT1BUaTkzWF9QTEFZQkFDS19FTkFCTEUgfCBPUFRpOTNYX1BMQVlCQUNLX1BJTywKLQkJfihPUFRpOTNYX1BMQVlCQUNLX0VOQUJMRSB8IE9QVGk5M1hfUExBWUJBQ0tfUElPKSk7Ci0KLQlzbmRfZG1hX3Byb2dyYW0oY2hpcC0+ZG1hMSwgcnVudGltZS0+ZG1hX2FkZHIsIHNpemUsCi0JCURNQV9NT0RFX1dSSVRFIHwgRE1BX0FVVE9JTklUKTsKLQotCWZvcm1hdCA9IHNuZF9vcHRpOTN4X2dldF9mcmVxKHJ1bnRpbWUtPnJhdGUpOwotCWZvcm1hdCB8PSBzbmRfb3B0aTkzeF9nZXRfZm9ybWF0KGNoaXAsIHJ1bnRpbWUtPmZvcm1hdCwKLQkJcnVudGltZS0+Y2hhbm5lbHMpOwotCXNuZF9vcHRpOTN4X3BsYXliYWNrX2Zvcm1hdChjaGlwLCBmb3JtYXQpOwotCWZvcm1hdCA9IGNoaXAtPmltYWdlW09QVGk5M1hfUExBWV9GT1JNQVRdOwotCi0JY291bnQgPSBzbmRfb3B0aTkzeF9nZXRfY291bnQoZm9ybWF0LCBjb3VudCkgLSAxOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX1BMQVlfTFdSX0NOVCwgY291bnQpOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX1BMQVlfVVBSX0NOVCwgY291bnQgPj4gOCk7Ci0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfY2FwdHVyZV9wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgY2hhciBmb3JtYXQ7Ci0JdW5zaWduZWQgaW50IGNvdW50ID0gc25kX3BjbV9saWJfcGVyaW9kX2J5dGVzKHN1YnN0cmVhbSk7Ci0JdW5zaWduZWQgaW50IHNpemUgPSBzbmRfcGNtX2xpYl9idWZmZXJfYnl0ZXMoc3Vic3RyZWFtKTsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0KLQljaGlwLT5jX2RtYV9zaXplID0gc2l6ZTsKLQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX0lGQUNFX0NPTkYsCi0JCU9QVGk5M1hfQ0FQVFVSRV9FTkFCTEUgfCBPUFRpOTNYX0NBUFRVUkVfUElPLCAwKTsKLQotCXNuZF9kbWFfcHJvZ3JhbShjaGlwLT5kbWEyLCBydW50aW1lLT5kbWFfYWRkciwgc2l6ZSwKLQkJRE1BX01PREVfUkVBRCB8IERNQV9BVVRPSU5JVCk7Ci0KLQlmb3JtYXQgPSBzbmRfb3B0aTkzeF9nZXRfZnJlcShydW50aW1lLT5yYXRlKTsKLQlmb3JtYXQgfD0gc25kX29wdGk5M3hfZ2V0X2Zvcm1hdChjaGlwLCBydW50aW1lLT5mb3JtYXQsCi0JCXJ1bnRpbWUtPmNoYW5uZWxzKTsKLQlzbmRfb3B0aTkzeF9jYXB0dXJlX2Zvcm1hdChjaGlwLCBmb3JtYXQpOwotCWZvcm1hdCA9IGNoaXAtPmltYWdlW09QVGk5M1hfQ0FQVF9GT1JNQVRdOwotCi0JY291bnQgPSBzbmRfb3B0aTkzeF9nZXRfY291bnQoZm9ybWF0LCBjb3VudCkgLSAxOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX0NBUFRfTFdSX0NOVCwgY291bnQpOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX0NBUFRfVVBSX0NOVCwgY291bnQgPj4gOCk7Ci0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBzbmRfb3B0aTkzeF9wbGF5YmFja19wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzaXplX3QgcHRyOwotCi0JaWYgKCEoY2hpcC0+aW1hZ2VbT1BUaTkzWF9JRkFDRV9DT05GXSAmIE9QVGk5M1hfUExBWUJBQ0tfRU5BQkxFKSkKLQkJcmV0dXJuIDA7Ci0KLQlwdHIgPSBzbmRfZG1hX3BvaW50ZXIoY2hpcC0+ZG1hMSwgY2hpcC0+cF9kbWFfc2l6ZSk7Ci0JcmV0dXJuIGJ5dGVzX3RvX2ZyYW1lcyhzdWJzdHJlYW0tPnJ1bnRpbWUsIHB0cik7Ci19Ci0KLXN0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBzbmRfb3B0aTkzeF9jYXB0dXJlX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCXNpemVfdCBwdHI7Ci0JCi0JaWYgKCEoY2hpcC0+aW1hZ2VbT1BUaTkzWF9JRkFDRV9DT05GXSAmIE9QVGk5M1hfQ0FQVFVSRV9FTkFCTEUpKQotCQlyZXR1cm4gMDsKLQotCXB0ciA9IHNuZF9kbWFfcG9pbnRlcihjaGlwLT5kbWEyLCBjaGlwLT5jX2RtYV9zaXplKTsKLQlyZXR1cm4gYnl0ZXNfdG9fZnJhbWVzKHN1YnN0cmVhbS0+cnVudGltZSwgcHRyKTsKLX0KLQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9vdmVycmFuZ2Uoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCi0JaWYgKHNuZF9vcHRpOTN4X2luKGNoaXAsIE9QVGk5M1hfRVJSX0lOSVQpICYgKDB4MDggfCAweDAyKSkKLQkJY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0tPnJ1bnRpbWUtPm92ZXJyYW5nZSsrOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotfQotCiBzdGF0aWMgaXJxcmV0dXJuX3Qgc25kX29wdGk5M3hfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKIHsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNvZGVjID0gZGV2X2lkOworCXN0cnVjdCBzbmRfY3M0MjMxICpjb2RlYyA9IGRldl9pZDsKKwlzdHJ1Y3Qgc25kX29wdGk5eHggKmNoaXAgPSBjb2RlYy0+Y2FyZC0+cHJpdmF0ZV9kYXRhOwogCXVuc2lnbmVkIGNoYXIgc3RhdHVzOwogCi0Jc3RhdHVzID0gc25kX29wdGk5eHhfcmVhZChjb2RlYy0+Y2hpcCwgT1BUaTlYWF9NQ19SRUcoMTEpKTsKKwlzdGF0dXMgPSBzbmRfb3B0aTl4eF9yZWFkKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDExKSk7CiAJaWYgKChzdGF0dXMgJiBPUFRpOTNYX0lSUV9QTEFZQkFDSykgJiYgY29kZWMtPnBsYXliYWNrX3N1YnN0cmVhbSkKIAkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChjb2RlYy0+cGxheWJhY2tfc3Vic3RyZWFtKTsKIAlpZiAoKHN0YXR1cyAmIE9QVGk5M1hfSVJRX0NBUFRVUkUpICYmIGNvZGVjLT5jYXB0dXJlX3N1YnN0cmVhbSkgewotCQlzbmRfb3B0aTkzeF9vdmVycmFuZ2UoY29kZWMpOworCQlzbmRfY3M0MjMxX292ZXJyYW5nZShjb2RlYyk7CiAJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY29kZWMtPmNhcHR1cmVfc3Vic3RyZWFtKTsKIAl9CiAJb3V0YigweDAwLCBPUFRpOTNYX1BPUlQoY29kZWMsIFNUQVRVUykpOwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAotCi1zdGF0aWMgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgc25kX29wdGk5M3hfcGxheWJhY2sgPSB7Ci0JLmluZm8gPQkJCShTTkRSVl9QQ01fSU5GT19NTUFQIHwgU05EUlZfUENNX0lORk9fSU5URVJMRUFWRUQgfAotCQkJCSBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwgU05EUlZfUENNX0lORk9fU1lOQ19TVEFSVCksCi0JLmZvcm1hdHMgPQkJKFNORFJWX1BDTV9GTVRCSVRfTVVfTEFXIHwgU05EUlZfUENNX0ZNVEJJVF9BX0xBVyB8IFNORFJWX1BDTV9GTVRCSVRfSU1BX0FEUENNIHwKLQkJCQkgU05EUlZfUENNX0ZNVEJJVF9VOCB8IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMTZfQkUpLAotCS5yYXRlcyA9CQlTTkRSVl9QQ01fUkFURV9LTk9UIHwgU05EUlZfUENNX1JBVEVfODAwMF80ODAwMCwKLQkucmF0ZV9taW4gPQkJNTUxMiwKLQkucmF0ZV9tYXggPQkJNDgwMDAsCi0JLmNoYW5uZWxzX21pbiA9CQkxLAotCS5jaGFubmVsc19tYXggPQkJMiwKLQkuYnVmZmVyX2J5dGVzX21heCA9CSgxMjgqMTAyNCksCi0JLnBlcmlvZF9ieXRlc19taW4gPQk2NCwKLQkucGVyaW9kX2J5dGVzX21heCA9CSgxMjgqMTAyNCksCi0JLnBlcmlvZHNfbWluID0JCTEsCi0JLnBlcmlvZHNfbWF4ID0JCTEwMjQsCi0JLmZpZm9fc2l6ZSA9CQkwLAotfTsKLQotc3RhdGljIHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIHNuZF9vcHRpOTN4X2NhcHR1cmUgPSB7Ci0JLmluZm8gPQkJCShTTkRSVl9QQ01fSU5GT19NTUFQIHwgU05EUlZfUENNX0lORk9fSU5URVJMRUFWRUQgfAotCQkJCSBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwgU05EUlZfUENNX0lORk9fU1lOQ19TVEFSVCksCi0JLmZvcm1hdHMgPQkJKFNORFJWX1BDTV9GTVRCSVRfTVVfTEFXIHwgU05EUlZfUENNX0ZNVEJJVF9BX0xBVyB8IFNORFJWX1BDTV9GTVRCSVRfSU1BX0FEUENNIHwKLQkJCQkgU05EUlZfUENNX0ZNVEJJVF9VOCB8IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMTZfQkUpLAotCS5yYXRlcyA9CQlTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwLAotCS5yYXRlX21pbiA9CQk1NTEyLAotCS5yYXRlX21heCA9CQk0ODAwMCwKLQkuY2hhbm5lbHNfbWluID0JCTEsCi0JLmNoYW5uZWxzX21heCA9CQkyLAotCS5idWZmZXJfYnl0ZXNfbWF4ID0JKDEyOCoxMDI0KSwKLQkucGVyaW9kX2J5dGVzX21pbiA9CTY0LAotCS5wZXJpb2RfYnl0ZXNfbWF4ID0JKDEyOCoxMDI0KSwKLQkucGVyaW9kc19taW4gPQkJMSwKLQkucGVyaW9kc19tYXggPQkJMTAyNCwKLQkuZmlmb19zaXplID0JCTAsCi19OwotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3BsYXliYWNrX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0JaW50IGVycm9yOwotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwotCi0JaWYgKChlcnJvciA9IHNuZF9vcHRpOTN4X29wZW4oY2hpcCwgT1BUaTkzWF9NT0RFX1BMQVkpKSA8IDApCi0JCXJldHVybiBlcnJvcjsKLQlzbmRfcGNtX3NldF9zeW5jKHN1YnN0cmVhbSk7Ci0JY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtID0gc3Vic3RyZWFtOwotCXJ1bnRpbWUtPmh3ID0gc25kX29wdGk5M3hfcGxheWJhY2s7Ci0Jc25kX3BjbV9saW1pdF9pc2FfZG1hX3NpemUoY2hpcC0+ZG1hMSwgJnJ1bnRpbWUtPmh3LmJ1ZmZlcl9ieXRlc19tYXgpOwotCXNuZF9wY21faHdfY29uc3RyYWludF9saXN0KHJ1bnRpbWUsIDAsIFNORFJWX1BDTV9IV19QQVJBTV9SQVRFLCAmaHdfY29uc3RyYWludHNfcmF0ZXMpOwotCXJldHVybiBlcnJvcjsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9jYXB0dXJlX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0JaW50IGVycm9yOwotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwotCi0JaWYgKChlcnJvciA9IHNuZF9vcHRpOTN4X29wZW4oY2hpcCwgT1BUaTkzWF9NT0RFX0NBUFRVUkUpKSA8IDApCi0JCXJldHVybiBlcnJvcjsKLQlydW50aW1lLT5odyA9IHNuZF9vcHRpOTN4X2NhcHR1cmU7Ci0Jc25kX3BjbV9zZXRfc3luYyhzdWJzdHJlYW0pOwotCWNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtID0gc3Vic3RyZWFtOwotCXNuZF9wY21fbGltaXRfaXNhX2RtYV9zaXplKGNoaXAtPmRtYTIsICZydW50aW1lLT5ody5idWZmZXJfYnl0ZXNfbWF4KTsKLQlzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbGlzdChydW50aW1lLCAwLCBTTkRSVl9QQ01fSFdfUEFSQU1fUkFURSwgJmh3X2NvbnN0cmFpbnRzX3JhdGVzKTsKLQlyZXR1cm4gZXJyb3I7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcGxheWJhY2tfY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCi0JY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtID0gTlVMTDsKLQlzbmRfb3B0aTkzeF9jbG9zZShjaGlwLCBPUFRpOTNYX01PREVfUExBWSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfY2FwdHVyZV9jbG9zZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0KLQljaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSA9IE5VTEw7Ci0Jc25kX29wdGk5M3hfY2xvc2UoY2hpcCwgT1BUaTkzWF9NT0RFX0NBUFRVUkUpOwotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X2luaXQoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IGk7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXNuZF9vcHRpOTN4X21jZV91cChjaGlwKTsKLQotCWZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKQotCQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgaSwgc25kX29wdGk5M3hfZGVmYXVsdF9pbWFnZVtpXSk7Ci0KLQlzbmRfb3B0aTkzeF9tY2VfZG93bihjaGlwKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcHJvYmUoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgY2hhciB2YWw7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXZhbCA9IHNuZF9vcHRpOTN4X2luKGNoaXAsIE9QVGk5M1hfSUQpICYgMHgwZjsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0KLQlyZXR1cm4gKHZhbCA9PSAweDBhKSA/IDAgOiAtRU5PREVWOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2ZyZWUoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXJlbGVhc2VfYW5kX2ZyZWVfcmVzb3VyY2UoY2hpcC0+cmVzX3BvcnQpOwotCWlmIChjaGlwLT5kbWExID49IDApIHsKLQkJZGlzYWJsZV9kbWEoY2hpcC0+ZG1hMSk7Ci0JCWZyZWVfZG1hKGNoaXAtPmRtYTEpOwotCX0KLQlpZiAoY2hpcC0+ZG1hMiA+PSAwKSB7Ci0JCWRpc2FibGVfZG1hKGNoaXAtPmRtYTIpOwotCQlmcmVlX2RtYShjaGlwLT5kbWEyKTsKLQl9Ci0JaWYgKGNoaXAtPmlycSA+PSAwKSB7Ci0JICBmcmVlX2lycShjaGlwLT5pcnEsIGNoaXApOwotCX0KLQlrZnJlZShjaGlwKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9kZXZfZnJlZShzdHJ1Y3Qgc25kX2RldmljZSAqZGV2aWNlKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IGRldmljZS0+ZGV2aWNlX2RhdGE7Ci0JcmV0dXJuIHNuZF9vcHRpOTN4X2ZyZWUoY2hpcCk7Ci19Ci0KLXN0YXRpYyBjb25zdCBjaGFyICpzbmRfb3B0aTkzeF9jaGlwX2lkKHN0cnVjdCBzbmRfb3B0aTkzeCAqY29kZWMpCi17Ci0Jc3dpdGNoIChjb2RlYy0+aGFyZHdhcmUpIHsKLQljYXNlIE9QVGk5WFhfSFdfODJDOTMwOiByZXR1cm4gIjgyQzkzMCI7Ci0JY2FzZSBPUFRpOVhYX0hXXzgyQzkzMTogcmV0dXJuICI4MkM5MzEiOwotCWNhc2UgT1BUaTlYWF9IV184MkM5MzM6IHJldHVybiAiODJDOTMzIjsKLQlkZWZhdWx0OgkJcmV0dXJuICI/Pz8iOwotCX0KLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9jcmVhdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX29wdGk5eHggKmNoaXAsCi0JCQkgICAgICBpbnQgZG1hMSwgaW50IGRtYTIsCi0JCQkgICAgICBzdHJ1Y3Qgc25kX29wdGk5M3ggKipyY29kZWMpCi17Ci0Jc3RhdGljIHN0cnVjdCBzbmRfZGV2aWNlX29wcyBvcHMgPSB7Ci0JCS5kZXZfZnJlZSA9CXNuZF9vcHRpOTN4X2Rldl9mcmVlLAotCX07Ci0JaW50IGVycm9yOwotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY29kZWM7Ci0KLQkqcmNvZGVjID0gTlVMTDsKLQljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKCpjb2RlYyksIEdGUF9LRVJORUwpOwotCWlmIChjb2RlYyA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT01FTTsKLQljb2RlYy0+aXJxID0gLTE7Ci0JY29kZWMtPmRtYTEgPSAtMTsKLQljb2RlYy0+ZG1hMiA9IC0xOwotCi0JaWYgKChjb2RlYy0+cmVzX3BvcnQgPSByZXF1ZXN0X3JlZ2lvbihjaGlwLT53c3NfYmFzZSArIDQsIDQsICJPUFRJOTN4IENPREVDIikpID09IE5VTEwpIHsKLQkJc25kX3ByaW50ayhLRVJOX0VSUiAib3B0aTl4eDogY2FuJ3QgZ3JhYiBwb3J0IDB4JWx4XG4iLCBjaGlwLT53c3NfYmFzZSArIDQpOwotCQlzbmRfb3B0aTkzeF9mcmVlKGNvZGVjKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0JaWYgKHJlcXVlc3RfZG1hKGRtYTEsICJPUFRJOTN4IC0gMSIpKSB7Ci0JCXNuZF9wcmludGsoS0VSTl9FUlIgIm9wdGk5eHg6IGNhbid0IGdyYWIgRE1BMSAlZFxuIiwgZG1hMSk7Ci0JCXNuZF9vcHRpOTN4X2ZyZWUoY29kZWMpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQljb2RlYy0+ZG1hMSA9IGNoaXAtPmRtYTE7Ci0JaWYgKHJlcXVlc3RfZG1hKGRtYTIsICJPUFRJOTN4IC0gMiIpKSB7Ci0JCXNuZF9wcmludGsoS0VSTl9FUlIgIm9wdGk5eHg6IGNhbid0IGdyYWIgRE1BMiAlZFxuIiwgZG1hMik7Ci0JCXNuZF9vcHRpOTN4X2ZyZWUoY29kZWMpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQljb2RlYy0+ZG1hMiA9IGNoaXAtPmRtYTI7Ci0KLQlpZiAocmVxdWVzdF9pcnEoY2hpcC0+aXJxLCBzbmRfb3B0aTkzeF9pbnRlcnJ1cHQsIElSUUZfRElTQUJMRUQsIERFVl9OQU1FIiAtIFdTUyIsIGNvZGVjKSkgewotCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJvcHRpOXh4OiBjYW4ndCBncmFiIElSUSAlZFxuIiwgY2hpcC0+aXJxKTsKLQkJc25kX29wdGk5M3hfZnJlZShjb2RlYyk7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQotCi0JY29kZWMtPmNhcmQgPSBjYXJkOwotCWNvZGVjLT5wb3J0ID0gY2hpcC0+d3NzX2Jhc2UgKyA0OwotCWNvZGVjLT5pcnEgPSBjaGlwLT5pcnE7Ci0KLQlzcGluX2xvY2tfaW5pdCgmY29kZWMtPmxvY2spOwotCWNvZGVjLT5oYXJkd2FyZSA9IGNoaXAtPmhhcmR3YXJlOwotCWNvZGVjLT5jaGlwID0gY2hpcDsKLQotCWlmICgoZXJyb3IgPSBzbmRfb3B0aTkzeF9wcm9iZShjb2RlYykpKSB7Ci0JCXNuZF9vcHRpOTN4X2ZyZWUoY29kZWMpOwotCQlyZXR1cm4gZXJyb3I7Ci0JfQotCi0Jc25kX29wdGk5M3hfaW5pdChjb2RlYyk7Ci0KLQkvKiBSZWdpc3RlciBkZXZpY2UgKi8KLQlpZiAoKGVycm9yID0gc25kX2RldmljZV9uZXcoY2FyZCwgU05EUlZfREVWX0xPV0xFVkVMLCBjb2RlYywgJm9wcykpIDwgMCkgewotCQlzbmRfb3B0aTkzeF9mcmVlKGNvZGVjKTsKLQkJcmV0dXJuIGVycm9yOwotCX0KLQotCSpyY29kZWMgPSBjb2RlYzsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBzbmRfb3B0aTkzeF9wbGF5YmFja19vcHMgPSB7Ci0JLm9wZW4gPQkJc25kX29wdGk5M3hfcGxheWJhY2tfb3BlbiwKLQkuY2xvc2UgPQlzbmRfb3B0aTkzeF9wbGF5YmFja19jbG9zZSwKLQkuaW9jdGwgPQlzbmRfcGNtX2xpYl9pb2N0bCwKLQkuaHdfcGFyYW1zID0Jc25kX29wdGk5M3hfaHdfcGFyYW1zLAotCS5od19mcmVlID0Jc25kX29wdGk5M3hfaHdfZnJlZSwKLQkucHJlcGFyZSA9CXNuZF9vcHRpOTN4X3BsYXliYWNrX3ByZXBhcmUsCi0JLnRyaWdnZXIgPQlzbmRfb3B0aTkzeF9wbGF5YmFja190cmlnZ2VyLAotCS5wb2ludGVyID0Jc25kX29wdGk5M3hfcGxheWJhY2tfcG9pbnRlciwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgc25kX29wdGk5M3hfY2FwdHVyZV9vcHMgPSB7Ci0JLm9wZW4gPQkJc25kX29wdGk5M3hfY2FwdHVyZV9vcGVuLAotCS5jbG9zZSA9CXNuZF9vcHRpOTN4X2NhcHR1cmVfY2xvc2UsCi0JLmlvY3RsID0Jc25kX3BjbV9saWJfaW9jdGwsCi0JLmh3X3BhcmFtcyA9CXNuZF9vcHRpOTN4X2h3X3BhcmFtcywKLQkuaHdfZnJlZSA9CXNuZF9vcHRpOTN4X2h3X2ZyZWUsCi0JLnByZXBhcmUgPQlzbmRfb3B0aTkzeF9jYXB0dXJlX3ByZXBhcmUsCi0JLnRyaWdnZXIgPQlzbmRfb3B0aTkzeF9jYXB0dXJlX3RyaWdnZXIsCi0JLnBvaW50ZXIgPQlzbmRfb3B0aTkzeF9jYXB0dXJlX3BvaW50ZXIsCi19OwotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3BjbShzdHJ1Y3Qgc25kX29wdGk5M3ggKmNvZGVjLCBpbnQgZGV2aWNlLCBzdHJ1Y3Qgc25kX3BjbSAqKnJwY20pCi17Ci0JaW50IGVycm9yOwotCXN0cnVjdCBzbmRfcGNtICpwY207Ci0KLQlpZiAoKGVycm9yID0gc25kX3BjbV9uZXcoY29kZWMtPmNhcmQsICJPUFRpIDgyQzkzWCIsIGRldmljZSwgMSwgMSwgJnBjbSkpIDwgMCkKLQkJcmV0dXJuIGVycm9yOwotCi0Jc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSywgJnNuZF9vcHRpOTN4X3BsYXliYWNrX29wcyk7Ci0Jc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFLCAmc25kX29wdGk5M3hfY2FwdHVyZV9vcHMpOwotCi0JcGNtLT5wcml2YXRlX2RhdGEgPSBjb2RlYzsKLQlwY20tPmluZm9fZmxhZ3MgPSBTTkRSVl9QQ01fSU5GT19KT0lOVF9EVVBMRVg7Ci0KLQlzdHJjcHkocGNtLT5uYW1lLCBzbmRfb3B0aTkzeF9jaGlwX2lkKGNvZGVjKSk7Ci0KLQlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlc19mb3JfYWxsKHBjbSwgU05EUlZfRE1BX1RZUEVfREVWLAotCQkJCQkgICAgICBzbmRfZG1hX2lzYV9kYXRhKCksCi0JCQkJCSAgICAgIDY0KjEwMjQsIGNvZGVjLT5kbWExID4gMyB8fCBjb2RlYy0+ZG1hMiA+IDMgPyAxMjgqMTAyNCA6IDY0KjEwMjQpOwotCi0JY29kZWMtPnBjbSA9IHBjbTsKLQlpZiAocnBjbSkKLQkJKnJwY20gPSBwY207Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiAgTUlYRVIgcGFydAotICovCi0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfaW5mb19tdXgoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCi17Ci0Jc3RhdGljIGNoYXIgKnRleHRzWzRdID0gewotCQkiTGluZTEiLCAiQXV4IiwgIk1pYyIsICJNaXgiCi0JfTsKLQotCXVpbmZvLT50eXBlID0gU05EUlZfQ1RMX0VMRU1fVFlQRV9FTlVNRVJBVEVEOwotCXVpbmZvLT5jb3VudCA9IDI7Ci0JdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbXMgPSA0OwotCWlmICh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtID4gMykKLQkJdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbSA9IDM7Ci0Jc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHRleHRzW3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9nZXRfbXV4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQkKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMF0gPSAoY2hpcC0+aW1hZ2VbT1BUaTkzWF9NSVhPVVRfTEVGVF0gJiBPUFRpOTNYX01JWE9VVF9NSVhFUikgPj4gNjsKLQl1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzFdID0gKGNoaXAtPmltYWdlW09QVGk5M1hfTUlYT1VUX1JJR0hUXSAmIE9QVGk5M1hfTUlYT1VUX01JWEVSKSA+PiA2OwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9wdXRfbXV4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBzaG9ydCBsZWZ0LCByaWdodDsKLQlpbnQgY2hhbmdlOwotCQotCWlmICh1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzBdID4gMyB8fAotCSAgICB1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzFdID4gMykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JbGVmdCA9IHVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMF0gPDwgNjsKLQlyaWdodCA9IHVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMV0gPDwgNjsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCWxlZnQgPSAoY2hpcC0+aW1hZ2VbT1BUaTkzWF9NSVhPVVRfTEVGVF0gJiB+T1BUaTkzWF9NSVhPVVRfTUlYRVIpIHwgbGVmdDsKLQlyaWdodCA9IChjaGlwLT5pbWFnZVtPUFRpOTNYX01JWE9VVF9SSUdIVF0gJiB+T1BUaTkzWF9NSVhPVVRfTUlYRVIpIHwgcmlnaHQ7Ci0JY2hhbmdlID0gbGVmdCAhPSBjaGlwLT5pbWFnZVtPUFRpOTNYX01JWE9VVF9MRUZUXSB8fAotCSAgICAgICAgIHJpZ2h0ICE9IGNoaXAtPmltYWdlW09QVGk5M1hfTUlYT1VUX1JJR0hUXTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgT1BUaTkzWF9NSVhPVVRfTEVGVCwgbGVmdCk7Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIE9QVGk5M1hfTUlYT1VUX1JJR0hULCByaWdodCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXJldHVybiBjaGFuZ2U7Ci19Ci0KLSNpZiAwCi0KLSNkZWZpbmUgT1BUaTkzWF9TSU5HTEUoeG5hbWUsIHhpbmRleCwgcmVnLCBzaGlmdCwgbWFzaywgaW52ZXJ0KSBcCi17IC5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9IHhuYW1lLCAuaW5kZXggPSB4aW5kZXgsIFwKLSAgLmluZm8gPSBzbmRfb3B0aTkzeF9pbmZvX3NpbmdsZSwgXAotICAuZ2V0ID0gc25kX29wdGk5M3hfZ2V0X3NpbmdsZSwgLnB1dCA9IHNuZF9vcHRpOTN4X3B1dF9zaW5nbGUsIFwKLSAgLnByaXZhdGVfdmFsdWUgPSByZWcgfCAoc2hpZnQgPDwgOCkgfCAobWFzayA8PCAxNikgfCAoaW52ZXJ0IDw8IDI0KSB9Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfaW5mb19zaW5nbGUoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCi17Ci0JaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHhmZjsKLQotCXVpbmZvLT50eXBlID0gbWFzayA9PSAxID8gU05EUlZfQ1RMX0VMRU1fVFlQRV9CT09MRUFOIDogU05EUlZfQ1RMX0VMRU1fVFlQRV9JTlRFR0VSOwotCXVpbmZvLT5jb3VudCA9IDE7Ci0JdWluZm8tPnZhbHVlLmludGVnZXIubWluID0gMDsKLQl1aW5mby0+dmFsdWUuaW50ZWdlci5tYXggPSBtYXNrOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2dldF9zaW5nbGUoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZWcgPSBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSAmIDB4ZmY7Ci0JaW50IHNoaWZ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDgpICYgMHhmZjsKLQlpbnQgbWFzayA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxNikgJiAweGZmOwotCWludCBpbnZlcnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjQpICYgMHhmZjsKLQkKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gKGNoaXAtPmltYWdlW3JlZ10gPj4gc2hpZnQpICYgbWFzazsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JaWYgKGludmVydCkKLQkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBtYXNrIC0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcHV0X3NpbmdsZShzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJlZyA9IGtjb250cm9sLT5wcml2YXRlX3ZhbHVlICYgMHhmZjsKLQlpbnQgc2hpZnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gOCkgJiAweGZmOwotCWludCBtYXNrID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE2KSAmIDB4ZmY7Ci0JaW50IGludmVydCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmOwotCWludCBjaGFuZ2U7Ci0JdW5zaWduZWQgc2hvcnQgdmFsOwotCQotCXZhbCA9ICh1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSAmIG1hc2spOwotCWlmIChpbnZlcnQpCi0JCXZhbCA9IG1hc2sgLSB2YWw7Ci0JdmFsIDw8PSBzaGlmdDsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXZhbCA9IChjaGlwLT5pbWFnZVtyZWddICYgfihtYXNrIDw8IHNoaWZ0KSkgfCB2YWw7Ci0JY2hhbmdlID0gdmFsICE9IGNoaXAtPmltYWdlW3JlZ107Ci0Jc25kX29wdGk5M3hfb3V0KGNoaXAsIHJlZywgdmFsKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIGNoYW5nZTsKLX0KLQotI2VuZGlmIC8qIHNpbmdsZSAqLwotCi0jZGVmaW5lIE9QVGk5M1hfRE9VQkxFKHhuYW1lLCB4aW5kZXgsIGxlZnRfcmVnLCByaWdodF9yZWcsIHNoaWZ0X2xlZnQsIHNoaWZ0X3JpZ2h0LCBtYXNrLCBpbnZlcnQpIFwKLXsgLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0geG5hbWUsIC5pbmRleCA9IHhpbmRleCwgXAotICAuaW5mbyA9IHNuZF9vcHRpOTN4X2luZm9fZG91YmxlLCBcCi0gIC5nZXQgPSBzbmRfb3B0aTkzeF9nZXRfZG91YmxlLCAucHV0ID0gc25kX29wdGk5M3hfcHV0X2RvdWJsZSwgXAotICAucHJpdmF0ZV92YWx1ZSA9IGxlZnRfcmVnIHwgKHJpZ2h0X3JlZyA8PCA4KSB8IChzaGlmdF9sZWZ0IDw8IDE2KSB8IChzaGlmdF9yaWdodCA8PCAxOSkgfCAobWFzayA8PCAyNCkgfCAoaW52ZXJ0IDw8IDIyKSB9Ci0KLSNkZWZpbmUgT1BUaTkzWF9ET1VCTEVfSU5WRVJUX0lOVkVSVCh4Y3RsKSBcCi0JZG8geyB4Y3RsLnByaXZhdGVfdmFsdWUgXj0gMjI7IH0gd2hpbGUgKDApCi0jZGVmaW5lIE9QVGk5M1hfRE9VQkxFX0NIQU5HRV9SRUdTKHhjdGwsIGxlZnRfcmVnLCByaWdodF9yZWcpIFwKLQlkbyB7IHhjdGwucHJpdmF0ZV92YWx1ZSAmPSB+MHgwMDAwZmZmZjsgXAotCSAgICAgeGN0bC5wcml2YXRlX3ZhbHVlIHw9IGxlZnRfcmVnIHwgKHJpZ2h0X3JlZyA8PCA4KTsgfSB3aGlsZSAoMCkKLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9pbmZvX2RvdWJsZShzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV9pbmZvICp1aW5mbykKLXsKLQlpbnQgbWFzayA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmOwotCi0JdWluZm8tPnR5cGUgPSBtYXNrID09IDEgPyBTTkRSVl9DVExfRUxFTV9UWVBFX0JPT0xFQU4gOiBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI7Ci0JdWluZm8tPmNvdW50ID0gMjsKLQl1aW5mby0+dmFsdWUuaW50ZWdlci5taW4gPSAwOwotCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1heCA9IG1hc2s7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfZ2V0X2RvdWJsZShzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IGxlZnRfcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOwotCWludCByaWdodF9yZWcgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gOCkgJiAweGZmOwotCWludCBzaGlmdF9sZWZ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE2KSAmIDB4MDc7Ci0JaW50IHNoaWZ0X3JpZ2h0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE5KSAmIDB4MDc7Ci0JaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjQpICYgMHhmZjsKLQlpbnQgaW52ZXJ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDIyKSAmIDE7Ci0JCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IChjaGlwLT5pbWFnZVtsZWZ0X3JlZ10gPj4gc2hpZnRfbGVmdCkgJiBtYXNrOwotCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdID0gKGNoaXAtPmltYWdlW3JpZ2h0X3JlZ10gPj4gc2hpZnRfcmlnaHQpICYgbWFzazsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JaWYgKGludmVydCkgewotCQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IG1hc2sgLSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKLQkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0gPSBtYXNrIC0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV07Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3B1dF9kb3VibGUoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCBsZWZ0X3JlZyA9IGtjb250cm9sLT5wcml2YXRlX3ZhbHVlICYgMHhmZjsKLQlpbnQgcmlnaHRfcmVnID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDgpICYgMHhmZjsKLQlpbnQgc2hpZnRfbGVmdCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxNikgJiAweDA3OwotCWludCBzaGlmdF9yaWdodCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxOSkgJiAweDA3OwotCWludCBtYXNrID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmY7Ci0JaW50IGludmVydCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyMikgJiAxOwotCWludCBjaGFuZ2U7Ci0JdW5zaWduZWQgc2hvcnQgdmFsMSwgdmFsMjsKLQkKLQl2YWwxID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gJiBtYXNrOwotCXZhbDIgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXSAmIG1hc2s7Ci0JaWYgKGludmVydCkgewotCQl2YWwxID0gbWFzayAtIHZhbDE7Ci0JCXZhbDIgPSBtYXNrIC0gdmFsMjsKLQl9Ci0JdmFsMSA8PD0gc2hpZnRfbGVmdDsKLQl2YWwyIDw8PSBzaGlmdF9yaWdodDsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXZhbDEgPSAoY2hpcC0+aW1hZ2VbbGVmdF9yZWddICYgfihtYXNrIDw8IHNoaWZ0X2xlZnQpKSB8IHZhbDE7Ci0JdmFsMiA9IChjaGlwLT5pbWFnZVtyaWdodF9yZWddICYgfihtYXNrIDw8IHNoaWZ0X3JpZ2h0KSkgfCB2YWwyOwotCWNoYW5nZSA9IHZhbDEgIT0gY2hpcC0+aW1hZ2VbbGVmdF9yZWddIHx8IHZhbDIgIT0gY2hpcC0+aW1hZ2VbcmlnaHRfcmVnXTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgbGVmdF9yZWcsIHZhbDEpOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCByaWdodF9yZWcsIHZhbDIpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gY2hhbmdlOwotfQotCi1zdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc25kX29wdGk5M3hfY29udHJvbHNbXSBfX2RldmluaXRkYXRhID0gewotT1BUaTkzWF9ET1VCTEUoIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLCAwLCBPUFRpOTNYX09VVF9MRUZULCBPUFRpOTNYX09VVF9SSUdIVCwgNywgNywgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiTWFzdGVyIFBsYXliYWNrIFZvbHVtZSIsIDAsIE9QVGk5M1hfT1VUX0xFRlQsIE9QVGk5M1hfT1VUX1JJR0hULCAxLCAxLCAzMSwgMSksIAotT1BUaTkzWF9ET1VCTEUoIlBDTSBQbGF5YmFjayBTd2l0Y2giLCAwLCBPUFRpOTNYX0RBQ19MRUZULCBPUFRpOTNYX0RBQ19SSUdIVCwgNywgNywgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiUENNIFBsYXliYWNrIFZvbHVtZSIsIDAsIE9QVGk5M1hfREFDX0xFRlQsIE9QVGk5M1hfREFDX1JJR0hULCAwLCAwLCAzMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiRk0gUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzMV9GTV9MRUZUX0lOUFVULCBPUFRpOTMxX0ZNX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJGTSBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTMxX0ZNX0xFRlRfSU5QVVQsIE9QVGk5MzFfRk1fUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJMaW5lIFBsYXliYWNrIFN3aXRjaCIsIDAsIE9QVGk5M1hfTElORV9MRUZUX0lOUFVULCBPUFRpOTNYX0xJTkVfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIkxpbmUgUGxheWJhY2sgVm9sdW1lIiwgMCwgT1BUaTkzWF9MSU5FX0xFRlRfSU5QVVQsIE9QVGk5M1hfTElORV9SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLCAKLU9QVGk5M1hfRE9VQkxFKCJNaWMgUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzWF9NSUNfTEVGVF9JTlBVVCwgT1BUaTkzWF9NSUNfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIk1pYyBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTNYX01JQ19MRUZUX0lOUFVULCBPUFRpOTNYX01JQ19SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLCAKLU9QVGk5M1hfRE9VQkxFKCJNaWMgQm9vc3QiLCAwLCBPUFRpOTNYX01JWE9VVF9MRUZULCBPUFRpOTNYX01JWE9VVF9SSUdIVCwgNSwgNSwgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiQ0QgUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzWF9DRF9MRUZUX0lOUFVULCBPUFRpOTNYX0NEX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJDRCBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTNYX0NEX0xFRlRfSU5QVVQsIE9QVGk5M1hfQ0RfUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJBdXggUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzMV9BVVhfTEVGVF9JTlBVVCwgT1BUaTkzMV9BVVhfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIkF1eCBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTMxX0FVWF9MRUZUX0lOUFVULCBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLCAKLU9QVGk5M1hfRE9VQkxFKCJDYXB0dXJlIFZvbHVtZSIsIDAsIE9QVGk5M1hfTUlYT1VUX0xFRlQsIE9QVGk5M1hfTUlYT1VUX1JJR0hULCAwLCAwLCAxNSwgMCksCi17Ci0JLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCi0JLm5hbWUgPSAiQ2FwdHVyZSBTb3VyY2UiLAotCS5pbmZvID0gc25kX29wdGk5M3hfaW5mb19tdXgsCi0JLmdldCA9IHNuZF9vcHRpOTN4X2dldF9tdXgsCi0JLnB1dCA9IHNuZF9vcHRpOTN4X3B1dF9tdXgsCi19Ci19OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotc3RhdGljIGludCBfX2RldmluaXQgc25kX29wdGk5M3hfbWl4ZXIoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKLQlzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBrbmV3OwotCWludCBlcnI7Ci0JdW5zaWduZWQgaW50IGlkeDsKLQotCXNuZF9hc3NlcnQoY2hpcCAhPSBOVUxMICYmIGNoaXAtPmNhcmQgIT0gTlVMTCwgcmV0dXJuIC1FSU5WQUwpOwotCi0JY2FyZCA9IGNoaXAtPmNhcmQ7Ci0KLQlzdHJjcHkoY2FyZC0+bWl4ZXJuYW1lLCBzbmRfb3B0aTkzeF9jaGlwX2lkKGNoaXApKTsKLQotCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfb3B0aTkzeF9jb250cm9scyk7IGlkeCsrKSB7Ci0JCWtuZXcgPSBzbmRfb3B0aTkzeF9jb250cm9sc1tpZHhdOwotCQlpZiAoY2hpcC0+aGFyZHdhcmUgPT0gT1BUaTlYWF9IV184MkM5MzApIHsKLQkJCWlmIChzdHJzdHIoa25ldy5uYW1lLCAiRk0iKSkJLyogc2tpcCBGTSBjb250cm9scyAqLwotCQkJCWNvbnRpbnVlOwotCQkJZWxzZSBpZiAoc3RyY21wKGtuZXcubmFtZSwgIk1pYyBQbGF5YmFjayBWb2x1bWUiKSkKLQkJCQlPUFRpOTNYX0RPVUJMRV9JTlZFUlRfSU5WRVJUKGtuZXcpOwotCQkJZWxzZSBpZiAoc3Ryc3RyKGtuZXcubmFtZSwgIkF1eCIpKQotCQkJCU9QVGk5M1hfRE9VQkxFX0NIQU5HRV9SRUdTKGtuZXcsIE9QVGk5MzBfQVVYX0xFRlRfSU5QVVQsIE9QVGk5MzBfQVVYX1JJR0hUX0lOUFVUKTsKLQkJCWVsc2UgaWYgKHN0cmNtcChrbmV3Lm5hbWUsICJQQ00gUGxheWJhY2sgVm9sdW1lIikpCi0JCQkJT1BUaTkzWF9ET1VCTEVfSU5WRVJUX0lOVkVSVChrbmV3KTsKLQkJCWVsc2UgaWYgKHN0cmNtcChrbmV3Lm5hbWUsICJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIikpCi0JCQkJT1BUaTkzWF9ET1VCTEVfSU5WRVJUX0lOVkVSVChrbmV3KTsKLQkJfQotCQlpZiAoKGVyciA9IHNuZF9jdGxfYWRkKGNhcmQsIHNuZF9jdGxfbmV3MSgmc25kX29wdGk5M3hfY29udHJvbHNbaWR4XSwgY2hpcCkpKSA8IDApCi0JCQlyZXR1cm4gZXJyOwotCX0KLQlyZXR1cm4gMDsKLX0KLQogI2VuZGlmIC8qIE9QVGk5M1ggKi8KIAogc3RhdGljIGludCBfX2RldmluaXQgc25kX2NhcmRfb3B0aTl4eF9kZXRlY3Qoc3RydWN0IHNuZF9jYXJkICpjYXJkLApAQCAtMTczOSw4ICs2ODUsMTYgQEAKIHsKIAlzdHJ1Y3Qgc25kX29wdGk5eHggKmNoaXAgPSBjYXJkLT5wcml2YXRlX2RhdGE7CiAgICAgICAgIAotCWlmIChjaGlwKQorCWlmIChjaGlwKSB7CisjaWZkZWYgT1BUaTkzWAorCQlzdHJ1Y3Qgc25kX2NzNDIzMSAqY29kZWMgPSBjaGlwLT5jb2RlYzsKKwkJaWYgKGNvZGVjLT5pcnEgPiAwKSB7CisJCQlkaXNhYmxlX2lycShjb2RlYy0+aXJxKTsKKwkJCWZyZWVfaXJxKGNvZGVjLT5pcnEsIGNvZGVjKTsKKwkJfQorI2VuZGlmCiAJCXJlbGVhc2VfYW5kX2ZyZWVfcmVzb3VyY2UoY2hpcC0+cmVzX21jX2Jhc2UpOworCX0KIH0KIAogc3RhdGljIGludCBfX2RldmluaXQgc25kX29wdGk5eHhfcHJvYmUoc3RydWN0IHNuZF9jYXJkICpjYXJkKQpAQCAtMTc0OCwxMSArNzAyLDExIEBACiAJc3RhdGljIGxvbmcgcG9zc2libGVfcG9ydHNbXSA9IHsweDUzMCwgMHhlODAsIDB4ZjQwLCAweDYwNCwgLTF9OwogCWludCBlcnJvcjsKIAlzdHJ1Y3Qgc25kX29wdGk5eHggKmNoaXAgPSBjYXJkLT5wcml2YXRlX2RhdGE7Ci0jaWYgZGVmaW5lZChPUFRpOTNYKQotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY29kZWM7Ci0jZWxpZiBkZWZpbmVkKENTNDIzMSkKKyNpZiBkZWZpbmVkKENTNDIzMSkgfHwgZGVmaW5lZChPUFRpOTNYKQogCXN0cnVjdCBzbmRfY3M0MjMxICpjb2RlYzsKKyNpZmRlZiBDUzQyMzEKIAlzdHJ1Y3Qgc25kX3RpbWVyICp0aW1lcjsKKyNlbmRpZgogI2Vsc2UKIAlzdHJ1Y3Qgc25kX2FkMTg0OCAqY29kZWM7CiAjZW5kaWYKQEAgLTE3ODQsMjYgKzczOCwzNCBAQAogCWlmICgoZXJyb3IgPSBzbmRfb3B0aTl4eF9jb25maWd1cmUoY2hpcCkpKQogCQlyZXR1cm4gZXJyb3I7CiAKLSNpZiBkZWZpbmVkKE9QVGk5M1gpCi0JaWYgKChlcnJvciA9IHNuZF9vcHRpOTN4X2NyZWF0ZShjYXJkLCBjaGlwLCBjaGlwLT5kbWExLCBjaGlwLT5kbWEyLCAmY29kZWMpKSkKLQkJcmV0dXJuIGVycm9yOwotCWlmICgoZXJyb3IgPSBzbmRfb3B0aTkzeF9wY20oY29kZWMsIDAsICZwY20pKSA8IDApCi0JCXJldHVybiBlcnJvcjsKLQlpZiAoKGVycm9yID0gc25kX29wdGk5M3hfbWl4ZXIoY29kZWMpKSA8IDApCi0JCXJldHVybiBlcnJvcjsKLSNlbGlmIGRlZmluZWQoQ1M0MjMxKQorI2lmIGRlZmluZWQoQ1M0MjMxKSB8fCBkZWZpbmVkKE9QVGk5M1gpCiAJaWYgKChlcnJvciA9IHNuZF9jczQyMzFfY3JlYXRlKGNhcmQsIGNoaXAtPndzc19iYXNlICsgNCwgLTEsCiAJCQkJICAgICAgIGNoaXAtPmlycSwgY2hpcC0+ZG1hMSwgY2hpcC0+ZG1hMiwKLQkJCQkgICAgICAgQ1M0MjMxX0hXX0RFVEVDVCwKLQkJCQkgICAgICAgMCwKKyNpZmRlZiBDUzQyMzEKKwkJCQkgICAgICAgQ1M0MjMxX0hXX0RFVEVDVCwgMCwKKyNlbHNlIC8qIE9QVGk5M3ggKi8KKwkJCQkgICAgICAgQ1M0MjMxX0hXX09QVEk5M1gsIENTNDIzMV9IV1NIQVJFX0lSUSwKKyNlbmRpZgogCQkJCSAgICAgICAmY29kZWMpKSA8IDApCiAJCXJldHVybiBlcnJvcjsKKyNpZmRlZiBPUFRpOTNYCisJY2hpcC0+Y29kZWMgPSBjb2RlYzsKKyNlbmRpZgogCWlmICgoZXJyb3IgPSBzbmRfY3M0MjMxX3BjbShjb2RlYywgMCwgJnBjbSkpIDwgMCkKIAkJcmV0dXJuIGVycm9yOwogCWlmICgoZXJyb3IgPSBzbmRfY3M0MjMxX21peGVyKGNvZGVjKSkgPCAwKQogCQlyZXR1cm4gZXJyb3I7CisjaWZkZWYgQ1M0MjMxCiAJaWYgKChlcnJvciA9IHNuZF9jczQyMzFfdGltZXIoY29kZWMsIDAsICZ0aW1lcikpIDwgMCkKIAkJcmV0dXJuIGVycm9yOworI2Vsc2UgLyogT1BUSTkzWCAqLworCWVycm9yID0gcmVxdWVzdF9pcnEoY2hpcC0+aXJxLCBzbmRfb3B0aTkzeF9pbnRlcnJ1cHQsCisJCQkgICAgSVJRRl9ESVNBQkxFRCwgREVWX05BTUUiIC0gV1NTIiwgY29kZWMpOworCWlmIChlcnJvciA8IDApIHsKKwkJc25kX3ByaW50ayhLRVJOX0VSUiAib3B0aTl4eDogY2FuJ3QgZ3JhYiBJUlEgJWRcbiIsIGNoaXAtPmlycSk7CisJCXJldHVybiBlcnJvcjsKKwl9CisjZW5kaWYKICNlbHNlCiAJaWYgKChlcnJvciA9IHNuZF9hZDE4NDhfY3JlYXRlKGNhcmQsIGNoaXAtPndzc19iYXNlICsgNCwKIAkJCQkgICAgICAgY2hpcC0+aXJxLCBjaGlwLT5kbWExLApkaWZmIC0tZ2l0IGEvc291bmQvaXNhL3NiL01ha2VmaWxlIGIvc291bmQvaXNhL3NiL01ha2VmaWxlCmluZGV4IGM5ZDFjOTguLjEwOThhNTYgMTAwNjQ0Ci0tLSBhL3NvdW5kL2lzYS9zYi9NYWtlZmlsZQorKysgYi9zb3VuZC9pc2Evc2IvTWFrZWZpbGUKQEAgLTM0LDUgKzM0LDMgQEAKICAgb2JqLSQoQ09ORklHX1NORF9TQkFXRSkgKz0gc25kLXNiMTYtY3NwLm8KIGVuZGlmCiBvYmotJChjYWxsIHNlcXVlbmNlciwkKENPTkZJR19TTkRfU0JBV0UpKSArPSBzbmQtZW11ODAwMC1zeW50aC5vCi0KLW9iai1tIDo9ICQoc29ydCAkKG9iai1tKSkKZGlmZiAtLWdpdCBhL3NvdW5kL2lzYS9zYi9zYjE2X2NzcC5jIGIvc291bmQvaXNhL3NiL3NiMTZfY3NwLmMKaW5kZXggZjNmZDdiNC4uMzVmM2Q3YiAxMDA2NDQKLS0tIGEvc291bmQvaXNhL3NiL3NiMTZfY3NwLmMKKysrIGIvc291bmQvaXNhL3NiL3NiMTZfY3NwLmMKQEAgLTM1LDEzICszNSwxMSBAQAogTU9EVUxFX0FVVEhPUigiVXJvcyBCaXpqYWsgPHVyb3NAa3NzLWxva2Euc2k+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkFMU0EgZHJpdmVyIGZvciBTQjE2IENyZWF0aXZlIFNpZ25hbCBQcm9jZXNzb3IiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLSNpZm5kZWYgQ09ORklHX1NORF9TQjE2X0NTUF9GSVJNV0FSRV9JTl9LRVJORUwKIE1PRFVMRV9GSVJNV0FSRSgic2IxNi9tdWxhd19tYWluLmNzcCIpOwogTU9EVUxFX0ZJUk1XQVJFKCJzYjE2L2FsYXdfbWFpbi5jc3AiKTsKIE1PRFVMRV9GSVJNV0FSRSgic2IxNi9pbWFfYWRwY21faW5pdC5jc3AiKTsKIE1PRFVMRV9GSVJNV0FSRSgic2IxNi9pbWFfYWRwY21fcGxheWJhY2suY3NwIik7CiBNT0RVTEVfRklSTVdBUkUoInNiMTYvaW1hX2FkcGNtX2NhcHR1cmUuY3NwIik7Ci0jZW5kaWYKIAogI2lmZGVmIFNORFJWX0xJVFRMRV9FTkRJQU4KICNkZWZpbmUgQ1NQX0hEUl9WQUxVRShhLGIsYyxkKQkoKGEpIHwgKChiKTw8OCkgfCAoKGMpPDwxNikgfCAoKGQpPDwyNCkpCkBAIC0xNjgsMTcgKzE2NiwxMyBAQAogICovCiBzdGF0aWMgdm9pZCBzbmRfc2JfY3NwX2ZyZWUoc3RydWN0IHNuZF9od2RlcCAqaHdkZXApCiB7Ci0jaWZuZGVmIENPTkZJR19TTkRfU0IxNl9DU1BfRklSTVdBUkVfSU5fS0VSTkVMCiAJaW50IGk7Ci0jZW5kaWYKIAlzdHJ1Y3Qgc25kX3NiX2NzcCAqcCA9IGh3ZGVwLT5wcml2YXRlX2RhdGE7CiAJaWYgKHApIHsKIAkJaWYgKHAtPnJ1bm5pbmcgJiBTTkRSVl9TQl9DU1BfU1RfUlVOTklORykKIAkJCXNuZF9zYl9jc3Bfc3RvcChwKTsKLSNpZm5kZWYgQ09ORklHX1NORF9TQjE2X0NTUF9GSVJNV0FSRV9JTl9LRVJORUwKIAkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocC0+Y3NwX3Byb2dyYW1zKTsgKytpKQogCQkJcmVsZWFzZV9maXJtd2FyZShwLT5jc3BfcHJvZ3JhbXNbaV0pOwotI2VuZGlmCiAJCWtmcmVlKHApOwogCX0KIH0KQEAgLTcwMSwxOCArNjk1LDYgQEAKIAlyZXR1cm4gZXJyOwogfQogCi0jaWZkZWYgQ09ORklHX1NORF9TQjE2X0NTUF9GSVJNV0FSRV9JTl9LRVJORUwKLSNpbmNsdWRlICJzYjE2X2NzcF9jb2RlY3MuaCIKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSBzbmRfc2JfY3NwX3N0YXRpY19wcm9ncmFtc1tdID0gewotCXsgLmRhdGEgPSBtdWxhd19tYWluLCAuc2l6ZSA9IHNpemVvZiBtdWxhd19tYWluIH0sCi0JeyAuZGF0YSA9IGFsYXdfbWFpbiwgLnNpemUgPSBzaXplb2YgYWxhd19tYWluIH0sCi0JeyAuZGF0YSA9IGltYV9hZHBjbV9pbml0LCAuc2l6ZSA9IHNpemVvZiBpbWFfYWRwY21faW5pdCB9LAotCXsgLmRhdGEgPSBpbWFfYWRwY21fcGxheWJhY2ssIC5zaXplID0gc2l6ZW9mIGltYV9hZHBjbV9wbGF5YmFjayB9LAotCXsgLmRhdGEgPSBpbWFfYWRwY21fY2FwdHVyZSwgLnNpemUgPSBzaXplb2YgaW1hX2FkcGNtX2NhcHR1cmUgfSwKLX07Ci0jZW5kaWYKLQogc3RhdGljIGludCBzbmRfc2JfY3NwX2Zpcm13YXJlX2xvYWQoc3RydWN0IHNuZF9zYl9jc3AgKnAsIGludCBpbmRleCwgaW50IGZsYWdzKQogewogCXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBuYW1lc1tdID0gewpAQCAtNzI3LDE0ICs3MDksMTAgQEAKIAlCVUlMRF9CVUdfT04oQVJSQVlfU0laRShuYW1lcykgIT0gQ1NQX1BST0dSQU1fQ09VTlQpOwogCXByb2dyYW0gPSBwLT5jc3BfcHJvZ3JhbXNbaW5kZXhdOwogCWlmICghcHJvZ3JhbSkgewotI2lmZGVmIENPTkZJR19TTkRfU0IxNl9DU1BfRklSTVdBUkVfSU5fS0VSTkVMCi0JCXByb2dyYW0gPSAmc25kX3NiX2NzcF9zdGF0aWNfcHJvZ3JhbXNbaW5kZXhdOwotI2Vsc2UKIAkJaW50IGVyciA9IHJlcXVlc3RfZmlybXdhcmUoJnByb2dyYW0sIG5hbWVzW2luZGV4XSwKIAkJCQkgICAgICAgcC0+Y2hpcC0+Y2FyZC0+ZGV2KTsKIAkJaWYgKGVyciA8IDApCiAJCQlyZXR1cm4gZXJyOwotI2VuZGlmCiAJCXAtPmNzcF9wcm9ncmFtc1tpbmRleF0gPSBwcm9ncmFtOwogCX0KIAlyZXR1cm4gc25kX3NiX2NzcF9sb2FkKHAsIHByb2dyYW0tPmRhdGEsIHByb2dyYW0tPnNpemUsIGZsYWdzKTsKZGlmZiAtLWdpdCBhL3NvdW5kL2lzYS9zYi9zYjE2X2NzcF9jb2RlY3MuaCBiL3NvdW5kL2lzYS9zYi9zYjE2X2NzcF9jb2RlY3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjBlOGIwZC4uMDAwMDAwMAotLS0gYS9zb3VuZC9pc2Evc2Ivc2IxNl9jc3BfY29kZWNzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5NDkgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCi0gKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKLSAqCi0gKiAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCi0gKgotICovCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIG11bGF3X21haW5bXSA9IHsKLQkweDAwLCAweDEwLCAweDAwLCAweDQ0LCAweDA4LCAweDAwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4YjEsIDB4MDAsIDB4NDQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NDQsCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwZCwgMHhmMiwgMHg2MSwgMHhhOCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4NDAsIDB4NDksIDB4MzksIDB4YWMsIDB4NTUsIDB4NTUsIDB4NzEsIDB4OGIsCi0JMHg1MCwgMHgwNSwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweGZmLCAweDJlLCAweDIxLCAweDQ5LCAweGZmLCAweDBmLCAweGQ0LCAweDQ5LAotCTB4MjAsIDB4MDEsIDB4MDksIDB4MGUsIDB4MjAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhhOCwgMHgwMSwgMHhhOCwgMHg4MCwgMHg4OCwgMHgwMSwgMHhhOCwgMHg4MCwKLQkweGE4LCAweDAwLCAweDAwLCAweDgwLCAweGQyLCAweDAwLCAweDcxLCAweDhiLAotCTB4ODgsIDB4MDAsIDB4YTgsIDB4ODAsIDB4YTgsIDB4MDQsIDB4YjMsIDB4ODAsCi0JMHgyMCwgMHgwNywgMHhiMywgMHg4MCwgMHg4OCwgMHgwMywgMHhiMSwgMHg4MCwKLQkweGMwLCAweDAwLCAweDA5LCAweDVjLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YTEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2QsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHhhMiwgMHgyMCwgMHg3MSwgMHg4YiwgMHhjZiwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGMyLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4NDAsIDB4MDAsIDB4MTQsIDB4MDgsIDB4NDAsIDB4MDQsIDB4MjQsCi0JMHgwMCwgMHgwMCwgMHgzNCwgMHg0OSwgMHgwYywgMHg0MCwgMHgwMCwgMHg0NCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDM5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MzIsIDB4MDAsIDB4MDksIDB4NWMsIDB4MDAsIDB4MDAsIDB4MGMsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHg0MCwgMHg0MCwgMHgwOSwgMHhlZiwKLQkweGZmLCAweDIwLCAweDA5LCAweGNmLCAweDAwLCAweDA0LCAweDYzLCAweGExLAotCTB4NTAsIDB4MDMsIDB4MzMsIDB4ODAsIDB4MDAsIDB4MDQsIDB4YTMsIDB4ODAsCi0JMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwgMHgwMCwgMHhkMCwgMHgwNCwgMHg1NCwKLQkweDA0LCAweGUwLCAweDAwLCAweGM0LCAweDIwLCAweDAzLCAweDgwLCAweGMwLAotCTB4MzAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGEsCi0JMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweGMwLCAweDAwLCAweDAwLCAweDk5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwZCwgMHg0MiwgMHg4YiwgMHgwOCwgMHgzMiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDBlLCAweDQyLCAweDhiLCAweDAwLCAweGEyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MWUsIDB4NDIsIDB4OGIsIDB4MGMsIDB4YjIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHg4ZSwgMHg0MiwgMHg4YiwgMHgwMCwgMHg2MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDllLCAweDQyLCAweDhiLCAweDA4LCAweDUyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4YmUsIDB4NDIsIDB4OGIsIDB4MDgsIDB4NTIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwNCwgMHg0MiwgMHg4YiwgMHgwNCwgMHg3MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDI0LCAweDQyLCAweDhiLCAweDAwLCAweGQyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4NTUsIDB4NDIsIDB4OGIsIDB4MDAsIDB4NjAsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgyMCwgMHgwMSwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDMwLCAweDQyLCAweDhiLCAweDA4LCAweDgyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDAwLCAweGUyLCAweGFiLCAweDAwLCAweGIyLCAweDAwLCAweGM0LAotCTB4MGYsIDB4ZjIsIDB4YTgsIDB4YTgsIDB4MjAsIDB4MDAsIDB4YjEsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg0MSwgMHgwMiwgMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwKLQkweGMwLCAweDAxLCAweDAwLCAweDgyLCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MGQsIDB4ZjIsIDB4YTMsIDB4YTgsIDB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwKLQkweDIwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAwLCAweDYxLCAweDAyLAotCTB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwgMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDYxLCAweDEwLCAweDRkLCAweGYyLCAweDA0LCAweDE5LAotCTB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MjAsIDB4ZTIsIDB4YWIsCi0JMHg2MCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg3MSwgMHhjMCwKLQkweDRkLCAweGYyLCAweDA0LCAweDE5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NzksIDB4ODAsIDB4MDAsIDB4ZTIsIDB4MDAsIDB4ODQsCi0JMHgwMywgMHgwMywgMHgwNCwgMHg0OSwgMHgwOCwgMHhjMiwgMHgwMCwgMHg1NCwKLQkweDAwLCAweDYwLCAweDA0LCAweDY0LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MTksCi0JMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDIwLCAweDAxLCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDE5LAotCTB4MDAsIDB4MjAsIDB4ZTIsIDB4OGIsIDB4MGMsIDB4ZjIsIDB4MDAsIDB4ODQsCi0JMHgzZSwgMHgwMCwgMHg1MSwgMHg4YiwgMHhjMCwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDA4LCAweDAxLCAweDAwLCAweDQ0LCAweDZjLCAweDAwLCAweDUxLCAweDhiLAotCTB4YzAsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDIsIDB4ZTIsIDB4OGIsCi0JMHgwNCwgMHgyMSwgMHgwMCwgMHg4NCwgMHhmZCwgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGMyLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDExLCAweDAwLCAweDQ0LAotCTB4ZmUsIDB4MDAsIDB4NTEsIDB4OGIsIDB4YzIsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHhlNSwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjZCwgMHgwMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGM5LCAweDIwLCAweDA0LCAweDE5LAotCTB4Y2IsIDB4MjAsIDB4MDQsIDB4MTksIDB4YzEsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHhjMywgMHgyMCwgMHgwNCwgMHgxOSwgMHgxMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGM3LCAweDIwLCAweDA0LCAweDE5LCAweDVlLCAweDAwLCAweDcxLCAweDhiLAotCTB4Y2YsIDB4MDAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsCi0JMHhjNCwgMHgyMCwgMHgwNCwgMHgxOSwgMHhjNiwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGM4LCAweDIwLCAweDA0LCAweDE5LCAweGNhLCAweDIwLCAweDA0LCAweDE5LAotCTB4MjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2MsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDA5LCAweDA0LCAweDYxLCAweGE4LCAweGMxLCAweDAwLCAweDA0LCAweDE5LAotCTB4MGIsIDB4MDQsIDB4NjEsIDB4YTgsIDB4Y2EsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHg2MCwgMHgwMCwgMHhkNCwgMHgwZCwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDkwLCAweDQwLCAweDA5LCAweDhmLCAweDAwLCAweDAxLCAweDAwLCAweDQ1LAotCTB4MGYsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MDAsIDB4NDAsIDB4MDksIDB4OGYsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHg4MiwgMHgwMCwgMHgwOSwgMHgyZSwKLQkweDgwLCAweDQwLCAweDA5LCAweGNmLCAweDAyLCAweDAwLCAweDYxLCAweDIyLAotCTB4NDMsIDB4MjUsIDB4NjEsIDB4MjIsIDB4NDAsIDB4MzMsIDB4MDAsIDB4ODAsCi0JMHgwOCwgMHhhOCwgMHgwMCwgMHg0NCwgMHgyMCwgMHgzMSwgMHg0OSwgMHg1YywKLQkweDkyLCAweDAwLCAweDA5LCAweDRlLCAweDAyLCAweDAzLCAweDA5LCAweDJlLAotCTB4MDAsIDB4MDAsIDB4YTMsIDB4MDIsIDB4YzAsIDB4MDAsIDB4NzEsIDB4YzAsCi0JMHgyMCwgMHgwMCwgMHhlYiwgMHg4MCwgMHgwMCwgMHgwNCwgMHhjMiwgMHg4YiwKLQkweDIwLCAweDA0LCAweDYxLCAweDgwLCAweDAwLCAweDA0LCAweDdhLCAweDAyLAotCTB4Y2IsIDB4MDAsIDB4YTgsIDB4NTgsIDB4YjAsIDB4MDUsIDB4ZjMsIDB4ODAsCi0JMHgyMCwgMHgwNCwgMHhhOCwgMHgxMCwgMHgwMCwgMHgwMCwgMHgxMCwgMHgzOSwKLQkweGIwLCAweDAwLCAweGUwLCAweDhiLCAweDIwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4Y2IsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDIsCi0JMHg0MCwgMHgwMCwgMHgwMSwgMHg1YiwgMHgyMCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDRhLCAweGNiLCAweDIwLCAweDAwLCAweDEzLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4N2EsIDB4ODAsIDB4ZTAsIDB4MjEsIDB4MDAsIDB4YzAsCi0JMHgwOCwgMHgwMCwgMHgwOCwgMHg0OSwgMHgxMCwgMHg0MSwgMHgwOSwgMHg4ZSwKLQkweGZmLCAweGZmLCAweDYyLCAweDhiLCAweDAwLCAweDA0LCAweDYxLCAweDIyLAotCTB4MDAsIDB4MDMsIDB4MDAsIDB4NDUsIDB4MjIsIDB4MDEsIDB4MzMsIDB4ODAsCi0JMHgyMCwgMHgwMSwgMHhhMywgMHgwMiwgMHgwMCwgMHgwMCwgMHg3YSwgMHg4MCwKLQkweGMwLCAweDAwLCAweDAwLCAweDgyLCAweDA3LCAweDIwLCAweDQwLCAweDBhLAotCTB4MDgsIDB4ODMsIDB4MDAsIDB4ODQsIDB4NDAsIDB4MjEsIDB4MDAsIDB4ODAsCi0JMHg0MCwgMHgwNSwgMHg5MywgMHgxMCwgMHhjNywgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDA3LCAweDIwLCAweDQwLCAweDBhLAotCTB4MGMsIDB4YTMsIDB4MDAsIDB4ODQsIDB4MDgsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHgwYywgMHgyNCwgMHg2MSwgMHg1MCwgMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweGM3LCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDQsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHg0MiwgMHgwMSwgMHgwOSwgMHgwZSwgMHgwMiwgMHgyMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDAxLCAweDAwLCAweDQ1LCAweDBjLCAweDIwLCAweDYwLCAweDBhLAotCTB4MDAsIDB4NzMsIDB4MDAsIDB4ODQsIDB4MDAsIDB4MDQsIDB4YjEsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwgMHgwYywgMHg2MSwgMHgwNCwgMHhkNCwKLQkweDAwLCAweDI0LCAweDcxLCAweGMwLCAweDIwLCAweDMzLCAweDMzLCAweGMwLAotCTB4ZTAsIDB4MDEsIDB4YTMsIDB4ODIsIDB4MjIsIDB4MDMsIDB4N2EsIDB4MDIsCi0JMHhjMywgMHgwMSwgMHhhMywgMHg4MiwgMHgyMCwgMHgwMSwgMHgzMywgMHg4MCwKLQkweDAwLCAweDAwLCAweDdhLCAweDgwLCAweGMyLCAweDAxLCAweGIzLCAweDUwLAotCTB4Y2MsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4NzEsIDB4ODAsCi0JMHgwMCwgMHhmMywgMHgwMCwgMHg0NCwgMHgwYywgMHgyMCwgMHg2MCwgMHgwYSwKLQkweDAwLCAweGQzLCAweDAwLCAweDg0LCAweDAwLCAweDA0LCAweGIxLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MzksIDB4MGMsIDB4NjEsIDB4MDQsIDB4ZDQsCi0JMHgwMCwgMHgwMCwgMHhiMywgMHgxMCwgMHhjYywgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweDcxLCAweGMwLCAweDAwLCAweGYzLCAweDAwLCAweDQ0LAotCTB4Y2MsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MjAsIDB4NzEsIDB4YzAsCi0JMHgwMCwgMHgzMCwgMHg3MSwgMHhjMCwgMHgwMCwgMHhmMywgMHgwMCwgMHg0NCwKLQkweDIwLCAweDAxLCAweDAwLCAweDgwLCAweGZmLCAweGZmLCAweDYyLCAweDhiLAotCTB4MjAsIDB4MDEsIDB4MzMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4ODMsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHgyMCwgMHhlMSwgMHgwOSwgMHg1YywKLQkweDgyLCAweDAwLCAweDA5LCAweDJmLCAweDgwLCAweDRhLCAweDA5LCAweDhlLAotCTB4ZTAsIDB4MDEsIDB4YjMsIDB4ODIsIDB4MjAsIDB4MDQsIDB4YTMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg3YSwgMHhjYiwgMHgwMywgMHgwMCwgMHhhOCwgMHgxOCwKLQkweDAwLCAweDAwLCAweDEwLCAweDM5LCAweDA4LCAweDA0LCAweGVhLCAweDEwLAotCTB4MDgsIDB4MDQsIDB4N2EsIDB4MTAsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg0MCwgMHgwMCwgMHgyMSwgMHhjYiwgMHgwYywgMHgwMCwgMHhlOCwgMHgxMCwKLQkweDAwLCAweDAwLCAweDQxLCAweDAyLCAweDBjLCAweDAwLCAweGViLCAweDEwLAotCTB4ZjIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4NDAsIDB4MjEsIDB4MzMsIDB4MDIsCi0JMHgwOCwgMHgyMCwgMHg2MSwgMHgwYSwgMHhjNCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweGM3LCAweDAwLCAweDAwLCAweDk5LCAweDAyLCAweDAwLCAweDYxLCAweDBhLAotCTB4MGMsIDB4ZTgsIDB4MDQsIDB4MTQsIDB4MDEsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwMywgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHhiOCwgMHgwNCwgMHg1NCwKLQkweGMzLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweGI4LCAweDAwLCAweDQ0LAotCTB4MDgsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4YjgsIDB4MDQsIDB4NTQsCi0JMHhjOCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYSwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDA5LCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweDY4LCAweDA0LCAweDU0LAotCTB4YzksIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4NjgsIDB4MDAsIDB4NDQsCi0JMHgwYiwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHg2OCwgMHgwNCwgMHg1NCwKLQkweGNiLCAweDAwLCAweDA0LCAweDE5LCAweDA0LCAweDAwLCAweDYxLCAweDBhLAotCTB4MDYsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4NzgsIDB4MDQsIDB4NTQsCi0JMHhjNiwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHg3OCwgMHgwMCwgMHg0NCwKLQkweDA1LCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweDc4LCAweDA0LCAweDU0LAotCTB4YzUsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDcsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHhlOCwgMHgwNCwgMHg1NCwKLQkweGNjLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweGU4LCAweDAwLCAweDQ0LAotCTB4MGUsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4ZTgsIDB4MDQsIDB4NTQsCi0JMHhjZSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDIwLCAweDEwLCAweDcxLCAweDhiLCAweDA5LCAweDNmLCAweDA3LCAweDAwCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBhbGF3X21haW5bXSA9IHsKLQkweDAwLCAweDEwLCAweDAwLCAweDQ0LCAweDA4LCAweDAwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4YjEsIDB4MDAsIDB4NDQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NDQsCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwZCwgMHhmMiwgMHg2MSwgMHhhOCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4NDAsIDB4NDksIDB4MzksIDB4YWMsIDB4NTUsIDB4NTUsIDB4NzEsIDB4OGIsCi0JMHg1MCwgMHgwNSwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweGZmLCAweDJlLCAweDIxLCAweDQ5LCAweGZmLCAweDBmLCAweGQ0LCAweDQ5LAotCTB4MjAsIDB4MDEsIDB4MDksIDB4MGUsIDB4MjAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhhOCwgMHgwMSwgMHhhOCwgMHg4MCwgMHg4OCwgMHgwMSwgMHhhOCwgMHg4MCwKLQkweGE4LCAweDAwLCAweDAwLCAweDgwLCAweGQyLCAweDAwLCAweDcxLCAweDhiLAotCTB4ODgsIDB4MDAsIDB4YTgsIDB4ODAsIDB4YTgsIDB4MDQsIDB4YjMsIDB4ODAsCi0JMHgyMCwgMHgwNywgMHhiMywgMHg4MCwgMHg4OCwgMHgwMywgMHhiMSwgMHg4MCwKLQkweGMwLCAweDAwLCAweDA5LCAweDVjLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YTEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2QsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgyMSwgMHgyMCwgMHg3MSwgMHg4YiwgMHhjZiwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGMyLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4NDAsIDB4MDAsIDB4MTQsIDB4MDgsIDB4NDAsIDB4MDQsIDB4MjQsCi0JMHgwMCwgMHgwMCwgMHgzNCwgMHg0OSwgMHgwYywgMHg0MCwgMHgwMCwgMHg0NCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDM5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MzIsIDB4MDAsIDB4MDksIDB4NWMsIDB4MDAsIDB4MDAsIDB4MGMsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHg0MCwgMHg0MCwgMHgwOSwgMHhlZiwKLQkweGZmLCAweDIwLCAweDA5LCAweGNmLCAweDAwLCAweDA0LCAweDYzLCAweGExLAotCTB4NTAsIDB4MDMsIDB4MzMsIDB4ODAsIDB4MDAsIDB4MDQsIDB4YTMsIDB4ODAsCi0JMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwgMHgwMCwgMHhkMCwgMHgwNCwgMHg1NCwKLQkweDA0LCAweGUwLCAweDAwLCAweGM0LCAweDIwLCAweDAzLCAweDgwLCAweGMwLAotCTB4MzAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGEsCi0JMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweGMwLCAweDAwLCAweDAwLCAweDk5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwZCwgMHg0MiwgMHg4YiwgMHgwOCwgMHgzMiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDBlLCAweDQyLCAweDhiLCAweDAwLCAweGEyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MWUsIDB4NDIsIDB4OGIsIDB4MGMsIDB4YjIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHg4ZSwgMHg0MiwgMHg4YiwgMHgwMCwgMHg2MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDllLCAweDQyLCAweDhiLCAweDA4LCAweDUyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4YmUsIDB4NDIsIDB4OGIsIDB4MDgsIDB4NTIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwNCwgMHg0MiwgMHg4YiwgMHgwNCwgMHg3MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDI0LCAweDQyLCAweDhiLCAweDAwLCAweGQyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4NTUsIDB4NDIsIDB4OGIsIDB4MDAsIDB4NjAsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgyMCwgMHgwMSwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDMwLCAweDQyLCAweDhiLCAweDA4LCAweDgyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDAwLCAweGUyLCAweGFiLCAweDAwLCAweGIyLCAweDAwLCAweGM0LAotCTB4MGYsIDB4ZjIsIDB4YTgsIDB4YTgsIDB4MjAsIDB4MDAsIDB4YjEsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg0MSwgMHgwMiwgMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwKLQkweGMwLCAweDAxLCAweDAwLCAweDgyLCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MGQsIDB4ZjIsIDB4YTMsIDB4YTgsIDB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwKLQkweDIwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAwLCAweDYxLCAweDAyLAotCTB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwgMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDYxLCAweDEwLCAweDRkLCAweGYyLCAweDA0LCAweDE5LAotCTB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MjAsIDB4ZTIsIDB4YWIsCi0JMHg2MCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg3MSwgMHhjMCwKLQkweDRkLCAweGYyLCAweDA0LCAweDE5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NzksIDB4ODAsIDB4MDAsIDB4ZTIsIDB4MDAsIDB4ODQsCi0JMHgwMywgMHgwMywgMHgwNCwgMHg0OSwgMHgwNCwgMHhjMiwgMHgwMCwgMHg1NCwKLQkweDAwLCAweDYwLCAweDA0LCAweDY0LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MTksCi0JMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDIwLCAweDAxLCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDE5LAotCTB4MDAsIDB4MjAsIDB4ZTIsIDB4OGIsIDB4MGMsIDB4ZjIsIDB4MDAsIDB4ODQsCi0JMHhiZSwgMHgwMCwgMHg1MSwgMHg4YiwgMHhjMCwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDA4LCAweDAxLCAweDAwLCAweDQ0LCAweGVjLCAweDAwLCAweDUxLCAweDhiLAotCTB4YzAsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDIsIDB4ZTIsIDB4OGIsCi0JMHgwNCwgMHgyMSwgMHgwMCwgMHg4NCwgMHgzZiwgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGMyLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDExLCAweDAwLCAweDQ0LAotCTB4M2QsIDB4MDAsIDB4NTEsIDB4OGIsIDB4YzIsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHhlNSwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjZCwgMHgwMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGM5LCAweDIwLCAweDA0LCAweDE5LAotCTB4Y2IsIDB4MjAsIDB4MDQsIDB4MTksIDB4YzEsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHhjMywgMHgyMCwgMHgwNCwgMHgxOSwgMHgxMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGM3LCAweDIwLCAweDA0LCAweDE5LCAweGRlLCAweDAwLCAweDUxLCAweDhiLAotCTB4Y2YsIDB4MDAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDEsIDB4YjEsIDB4ODAsCi0JMHhjNCwgMHgyMCwgMHgwNCwgMHgxOSwgMHhjNiwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGM4LCAweDIwLCAweDA0LCAweDE5LCAweGNhLCAweDIwLCAweDA0LCAweDE5LAotCTB4MjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2MsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDA5LCAweDA0LCAweDYxLCAweGE4LCAweGMxLCAweDAwLCAweDA0LCAweDE5LAotCTB4MGIsIDB4MDQsIDB4NjEsIDB4YTgsIDB4Y2EsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHg2MCwgMHgwMCwgMHhkNCwgMHgwZCwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDkwLCAweDQwLCAweDA5LCAweDhmLCAweDAwLCAweDAxLCAweDAwLCAweDQ1LAotCTB4MGYsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MDAsIDB4NDAsIDB4MDksIDB4OGYsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHg4MiwgMHgwMCwgMHgwOSwgMHgyZSwKLQkweDgwLCAweDQwLCAweDA5LCAweGNmLCAweDAyLCAweDAwLCAweDYxLCAweDIyLAotCTB4NDMsIDB4MjUsIDB4NjEsIDB4MjIsIDB4NDAsIDB4MzMsIDB4MDAsIDB4ODAsCi0JMHgwOCwgMHg0OCwgMHgwMCwgMHg0NCwgMHgyMCwgMHhiMSwgMHg0OSwgMHg1YywKLQkweDkyLCAweDAwLCAweDA5LCAweDRlLCAweDAyLCAweDAzLCAweDA5LCAweDJlLAotCTB4MDAsIDB4MDAsIDB4YTMsIDB4MDIsIDB4YzAsIDB4MDAsIDB4NzEsIDB4YzAsCi0JMHgyMCwgMHgwMCwgMHhlYiwgMHg4MCwgMHgwMCwgMHgwNCwgMHhjMiwgMHg4YiwKLQkweDIwLCAweDA0LCAweDYxLCAweDgwLCAweDAwLCAweDA0LCAweDdhLCAweDAyLAotCTB4YzAsIDB4MDAsIDB4MDAsIDB4ODIsIDB4MGMsIDB4YzMsIDB4MDgsIDB4NDksCi0JMHhiMCwgMHgwMSwgMHhmMywgMHg4MCwgMHgwMCwgMHgwMCwgMHgxMCwgMHgzOSwKLQkweDIwLCAweDAwLCAweDBjLCAweDg5LCAweDBjLCAweDg4LCAweDA4LCAweDQ5LAotCTB4MDMsIDB4MDAsIDB4YTgsIDB4MTgsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MzksCi0JMHhiZCwgMHhmZiwgMHg2MiwgMHg4YiwgMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDYzLCAweGNiLCAweDAwLCAweDAwLCAweDdhLCAweDAyLAotCTB4NDAsIDB4MDAsIDB4MDEsIDB4NWIsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg0YSwgMHhjYiwgMHgyMCwgMHgwMCwgMHgxMywgMHg4MCwKLQkweDIwLCAweDAwLCAweDdhLCAweDgwLCAweGUwLCAweDIxLCAweDAwLCAweGMwLAotCTB4MDgsIDB4MDAsIDB4MDgsIDB4NDksIDB4MTAsIDB4NDEsIDB4MDksIDB4OGUsCi0JMHhhZSwgMHhhZSwgMHg2MiwgMHg4YiwgMHgwMCwgMHgwNCwgMHg2MSwgMHgyMiwKLQkweDAwLCAweDAzLCAweDAwLCAweDQ1LCAweDIyLCAweDAxLCAweDMzLCAweDgwLAotCTB4MjAsIDB4MDEsIDB4YTMsIDB4MDIsIDB4MDAsIDB4MDAsIDB4N2EsIDB4ODAsCi0JMHhjMCwgMHgwMCwgMHgwMCwgMHg4MiwgMHgwNywgMHgyMCwgMHg0MCwgMHgwYSwKLQkweDA4LCAweGEzLCAweDAwLCAweDg0LCAweDQwLCAweDIxLCAweDAwLCAweDgwLAotCTB4NDAsIDB4MDUsIDB4OTMsIDB4MTAsIDB4YzcsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgwNywgMHgyMCwgMHg0MCwgMHgwYSwKLQkweDBjLCAweDkzLCAweDAwLCAweDg0LCAweDA4LCAweDAwLCAweDAwLCAweDgyLAotCTB4MGMsIDB4MjQsIDB4NjEsIDB4NTAsIDB4NDAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHhjNywgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDA0LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4NDIsIDB4MDEsIDB4MDksIDB4MGUsIDB4MDIsIDB4MjAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHgwYywgMHgyMCwgMHg2MCwgMHgwYSwKLQkweDAwLCAweGMzLCAweDAwLCAweDg0LCAweDAwLCAweDA0LCAweGIxLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MzksIDB4MGMsIDB4NjEsIDB4MDQsIDB4ZDQsCi0JMHgwMCwgMHgyNCwgMHg3MSwgMHhjMCwgMHgyMCwgMHgzMywgMHgzMywgMHhjMCwKLQkweGUwLCAweDAxLCAweGEzLCAweDgyLCAweDIyLCAweDAzLCAweDdhLCAweDAyLAotCTB4YzMsIDB4MDEsIDB4YTMsIDB4ODIsIDB4MjAsIDB4MDEsIDB4MzMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHhjMiwgMHgwMSwgMHhiMywgMHg1MCwKLQkweGNjLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDcxLCAweDgwLAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4NDQsIDB4MGMsIDB4MjAsIDB4NjAsIDB4MGEsCi0JMHgwMCwgMHhmMywgMHgwMCwgMHg4NCwgMHgwMCwgMHgwNCwgMHhiMSwgMHg4MCwKLQkweDAwLCAweDAwLCAweDA2LCAweDM5LCAweDBjLCAweDYxLCAweDA0LCAweGQ0LAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4YzAsIDB4MDAsIDB4MDAsIDB4OTMsIDB4MTAsCi0JMHhjYywgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwOCwgMHgwMCwgMHg0NCwKLQkweGNjLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDIwLCAweDAwLCAweGMwLAotCTB4MDAsIDB4MzAsIDB4NzEsIDB4YzAsIDB4MDAsIDB4MDgsIDB4MDAsIDB4NDQsCi0JMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwgMHhhZSwgMHhhZSwgMHg2MiwgMHg4YiwKLQkweDIwLCAweDAxLCAweDMzLCAweDgwLCAweDAwLCAweDAwLCAweDgzLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4N2EsIDB4ODAsIDB4MjAsIDB4YTEsIDB4NDksIDB4NWMsCi0JMHg4MiwgMHgwMCwgMHgwOSwgMHg2ZSwgMHg4MCwgMHg0YSwgMHgwOSwgMHg4ZSwKLQkweGUwLCAweDAxLCAweGIzLCAweDgyLCAweDIwLCAweDA0LCAweGEzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4N2EsIDB4Y2IsIDB4MjgsIDB4MDQsIDB4ZWEsIDB4MTAsCi0JMHgwYywgMHgwNCwgMHg3YSwgMHgxMCwgMHg3MCwgMHgwMCwgMHhjMCwgMHg4YiwKLQkweDAwLCAweDAwLCAweDEwLCAweDM5LCAweDkwLCAweDAzLCAweDAwLCAweDgwLAotCTB4NDAsIDB4MDAsIDB4MjEsIDB4NWIsIDB4OTAsIDB4MDAsIDB4NjEsIDB4ODAsCi0JMHgwYywgMHg4YSwgMHgwOCwgMHg0OSwgMHgwMCwgMHgwMCwgMHgxYywgMHgxOSwKLQkweDQwLCAweDAwLCAweDA4LCAweDViLCAweDA4LCAweDAwLCAweDA4LCAweDQ5LAotCTB4MjAsIDB4MDIsIDB4MDAsIDB4ODAsIDB4MDMsIDB4MDAsIDB4YTgsIDB4MTgsCi0JMHgwMCwgMHgwMCwgMHgxNCwgMHgxOSwgMHg0MCwgMHgwMCwgMHgyMSwgMHhjYiwKLQkweDAwLCAweDAwLCAweDQxLCAweDAyLCAweDAwLCAweDAwLCAweGViLCAweDgwLAotCTB4ZjIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4NDAsIDB4MjEsIDB4MzMsIDB4MDIsCi0JMHgwOCwgMHgyMCwgMHg2MSwgMHgwYSwgMHhjNCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweGM3LCAweDAwLCAweDAwLCAweDk5LCAweDAyLCAweDAwLCAweDYxLCAweDBhLAotCTB4MGMsIDB4MGEsIDB4MDQsIDB4MTQsIDB4MDEsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwMywgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHg1OCwgMHgwNCwgMHg1NCwKLQkweGMzLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweDU4LCAweDAwLCAweDQ0LAotCTB4MDgsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4NTgsIDB4MDQsIDB4NTQsCi0JMHhjOCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYSwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDA5LCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweGM4LCAweDA0LCAweDU0LAotCTB4YzksIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4YzgsIDB4MDAsIDB4NDQsCi0JMHgwYiwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHhjOCwgMHgwNCwgMHg1NCwKLQkweGNiLCAweDAwLCAweDA0LCAweDE5LCAweDA0LCAweDAwLCAweDYxLCAweDBhLAotCTB4MDYsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4ZDgsIDB4MDQsIDB4NTQsCi0JMHhjNiwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHhkOCwgMHgwMCwgMHg0NCwKLQkweDA1LCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweGQ4LCAweDA0LCAweDU0LAotCTB4YzUsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDcsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHgwYSwgMHgwNCwgMHg1NCwKLQkweGNjLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweDBhLCAweDAwLCAweDQ0LAotCTB4MGUsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4MGEsIDB4MDQsIDB4NTQsCi0JMHhjZSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDIwLCAweDEwLCAweDcxLCAweDhiLCAweDA4LCAweDQyLCAweDA2LCAweDAwCi19OwotCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGltYV9hZHBjbV9pbml0W10gPSB7Ci0JMHgwMCwgMHgxMCwgMHgwMCwgMHg0NCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4YWEsIDB4YWEsIDB4NzEsIDB4OGIsCi0JMHg0NCwgMHgwNCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweGZmLCAweDZlLCAweDIxLCAweDQ5LCAweGZmLCAweDBmLCAweGQ0LCAweDQ5LAotCTB4NDAsIDB4NDksIDB4MzksIDB4YWMsIDB4NTUsIDB4NTUsIDB4NzEsIDB4OGIsCi0JMHg1MCwgMHgwNSwgMHhiMSwgMHg4MCwgMHg2MiwgMHgwMCwgMHgxOSwgMHgwZSwKLQkweDIxLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg0MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDYwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NTAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg3MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGMwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZTAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhkMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MjIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgzMiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGEyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YjIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg2MiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGMyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZjIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgxMSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGExLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NjEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhlMSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDEzLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YjMsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjMywgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDE4LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NjgsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwYSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDRhLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MjksIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg3OSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDliLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTQsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhmNCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGU2LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZTUsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhkNywgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDJlLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4OWQsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhlZiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGIyLCAweDIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MzMsIDB4MjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgyYSwgMHgyMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDNiLCAweDIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NDYsIDB4MjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgyYywgMHgyMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGRkLCAweDIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MDEsIDB4MTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg5YSwgMHgxMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDE2LCAweDEwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4OGUsIDB4MTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjMiwgMHgzMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGM5LCAweDMwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4M2MsIDB4MzAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg4MSwgMHg4MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGQ0LCAweDgwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTAsIDB4YTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgzNCwgMHhhMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAyLCAweDkwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NzUsIDB4OTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg5YSwgMHhiMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDEyLCAweDQwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MGQsIDB4NDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgzYywgMHg2MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGU3LCAweDUwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MGUsIDB4NzAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhmZiwgMHhjMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGM4LCAweGQwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NTcsIDB4ZjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjOCwgMHgyMiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGIwLCAweDMyLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZGQsIDB4ODIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg5MCwgMHhiMiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDhhLCAweDYyLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4Y2UsIDB4NzIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhhNSwgMHhkMiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDk3LCAweDIxLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YTIsIDB4YTEsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg1YywgMHg0MSwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGZlLCAweGMxLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4N2EsIDB4MjMsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg3OCwgMHg5MywgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDY3LCAweDczLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTcsIDB4MjgsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg4OCwgMHg0OCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGRiLCAweGY4LCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MmIsIDB4YmEsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhmMSwgMHgwOSwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGRjLCAweDY5LCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTksIDB4OGIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhmZiwgMHhmYiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDIwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NTIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHhmZiwgMHhmZiwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4MTAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweDkwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4NDAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHhmZiwgMHhmZiwgMHg3MSwgMHg4YiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHgxMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDgwLCAweDAwLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4OTAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHg0MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweGZmLCAweGZiLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4MDAsIDB4MDQsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHg0YSwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDEwLCAweDAwLCAweDA5LCAweDRmLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAxLCAweDAwLCAweDgyLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAxLCAweDAwLCAweDgyLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4MDAsIDB4MTAsIDB4NzEsIDB4OGIsIDB4YzEsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwgMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweGNmLCAweDMwLCAweDAwLCAweDA5LCAweDAwLCAweDAwLCAweDM0LCAweDQ5LAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4NDQsIDB4YzgsIDB4NTQsIDB4MTEsIDB4MDAKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGltYV9hZHBjbV9wbGF5YmFja1tdID0gewotCTB4MDAsIDB4MTAsIDB4MDAsIDB4NDQsIDB4MDgsIDB4MDAsIDB4MDAsIDB4NDQsCi0JMHgwYywgMHg1MCwgMHgwMCwgMHg0NCwgMHgwMCwgMHg3MCwgMHgwMCwgMHg0NCwKLQkweDA0LCAweDcwLCAweDAwLCAweDQ0LCAweDBkLCAweGYyLCAweDYxLCAweGE4LAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MTksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwMCwgMHgwNCwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweGZmLCAweDJlLCAweDIxLCAweDQ5LCAweGZmLCAweDBkLCAweGQ0LCAweDQ5LAotCTB4NDAsIDB4NDksIDB4MzksIDB4YWMsIDB4NTUsIDB4NTUsIDB4NzEsIDB4OGIsCi0JMHg1MCwgMHgwMSwgMHhiMSwgMHg4MCwgMHgwMCwgMHgwMSwgMHhiMSwgMHg4MCwKLQkweGM5LCAweDIwLCAweDA0LCAweDE5LCAweDUxLCAweDAwLCAweDcxLCAweDhiLAotCTB4Y2QsIDB4MDAsIDB4MDQsIDB4MTksIDB4ZTQsIDB4MjAsIDB4NzEsIDB4OGIsCi0JMHhjZiwgMHgwMCwgMHgwNCwgMHgxOSwgMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGNiLCAweDIwLCAweDA0LCAweDE5LCAweDEwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzQsIDB4MjAsIDB4MDQsIDB4MTksIDB4NjUsIDB4MDAsIDB4NTEsIDB4OGIsCi0JMHhjMiwgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwKLQkweGMyLCAweDMwLCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDYzLCAweDgwLAotCTB4YzEsIDB4YTAsIDB4MDQsIDB4MTksIDB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsCi0JMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwgMHhjZiwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweDA0LCAweDQwLCAweDAwLCAweDE0LCAweDBjLCAweDQwLCAweDAwLCAweDE0LAotCTB4MDAsIDB4MDQsIDB4NjEsIDB4YTgsIDB4MDIsIDB4MDQsIDB4NjEsIDB4YTgsCi0JMHgwNCwgMHg2MCwgMHgwNCwgMHgyNCwgMHgwMCwgMHgwMCwgMHgzNCwgMHg0OSwKLQkweDAwLCAweDUwLCAweDAwLCAweDQ0LCAweDQ0LCAweDA0LCAweDA0LCAweDM5LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwZiwgMHgwMCwgMHg2MSwgMHgwYSwgMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwKLQkweDQwLCAweDQwLCAweDA5LCAweGVmLCAweGZmLCAweDIwLCAweDA5LCAweGNmLAotCTB4MDAsIDB4MDQsIDB4NjMsIDB4YTEsIDB4NTAsIDB4MDMsIDB4MzMsIDB4ODAsCi0JMHgwMCwgMHgwNCwgMHhhMywgMHg4MCwgMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwKLQkweDA4LCAweGYwLCAweDA0LCAweDU0LCAweDBjLCAweGQwLCAweDAwLCAweGM0LAotCTB4MjAsIDB4MDMsIDB4ODAsIDB4YzAsIDB4MzAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg3YSwgMHgwYSwgMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweGMwLCAweDAwLCAweDAwLCAweDk5LAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsCi0JMHgyMCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwZCwgMHg0MiwgMHg4YiwKLQkweDAwLCAweGEyLCAweDAwLCAweGM0LCAweDAwLCAweDBlLCAweDQyLCAweDhiLAotCTB4MGMsIDB4OTIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MWUsIDB4NDIsIDB4OGIsCi0JMHgwNCwgMHg2MiwgMHgwMCwgMHhjNCwgMHgwMCwgMHg4ZSwgMHg0MiwgMHg4YiwKLQkweDBjLCAweDUyLCAweDAwLCAweGM0LCAweDAwLCAweDllLCAweDQyLCAweDhiLAotCTB4MDAsIDB4YzIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4YmUsIDB4NDIsIDB4OGIsCi0JMHgwMCwgMHhjMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwNCwgMHg0MiwgMHg4YiwKLQkweDAwLCAweGYyLCAweDAwLCAweGM0LCAweDAwLCAweDI0LCAweDQyLCAweDhiLAotCTB4MDAsIDB4OTEsIDB4MDAsIDB4YzQsIDB4MDAsIDB4NTUsIDB4NDIsIDB4OGIsCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHhjNCwgMHgwMCwgMHgzZiwgMHg0MiwgMHg4YiwKLQkweDA4LCAweGUyLCAweDAwLCAweGM0LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MjAsIDB4MDEsIDB4NzksIDB4ODAsIDB4MDAsIDB4MzAsIDB4NDIsIDB4OGIsCi0JMHgwMCwgMHg5MiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDAwLCAweDcxLCAweDhiLCAweDQwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsCi0JMHgwYywgMHg0MiwgMHgwMCwgMHhjNCwgMHgwZiwgMHhmMiwgMHhhOCwgMHhhOCwKLQkweDIwLCAweDAwLCAweGIxLCAweDg4LCAweDAwLCAweDAwLCAweDQxLCAweDAyLAotCTB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksIDB4YzAsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwZCwgMHhmMiwgMHhhMywgMHhhOCwKLQkweDRkLCAweGYyLCAweDAwLCAweDM5LCAweDA4LCAweDUwLCAweDAwLCAweDQ0LAotCTB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg2MSwgMHgwMiwgMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweGZmLCAweDAwLCAweGUyLCAweGFiLAotCTB4YTAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4NjEsIDB4MTAsCi0JMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwgMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDIwLCAweGUyLCAweGFiLCAweDYwLCAweDAwLCAweDAwLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4YzAsIDB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwYSwKLQkweDIwLCAweDAxLCAweGYwLCAweDgwLCAweDAxLCAweGEwLCAweDQxLCAweDBhLAotCTB4MDQsIDB4ZDIsIDB4MDAsIDB4YzQsIDB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHhjMSwgMHgzMCwgMHgwNCwgMHgxOSwgMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDAwLCAweDc5LCAweDgwLCAweDAwLCAweGExLCAweDAwLCAweDg0LAotCTB4YjUsIDB4MDAsIDB4NTEsIDB4OGIsIDB4Y2YsIDB4MDAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMSwgMHhiMSwgMHg4MCwgMHg4OCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDhhLCAweDAwLCAweDA0LCAweDE5LCAweGM4LCAweDIwLCAweDA0LCAweDE5LAotCTB4Y2EsIDB4MjAsIDB4MDQsIDB4MTksIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHhjZCwgMHgxMCwgMHgwNCwgMHgxOSwgMHhjZiwgMHgxMCwgMHgwNCwgMHgxOSwKLQkweGIwLCAweDAwLCAweDcxLCAweDhiLCAweDhjLCAweDAwLCAweDA0LCAweDE5LAotCTB4OGUsIDB4MDAsIDB4MDQsIDB4MTksIDB4MTAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjNCwgMHgyMCwgMHgwNCwgMHgxOSwgMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwKLQkweGNkLCAweDMwLCAweDAwLCAweDA5LCAweGNmLCAweDMwLCAweDAwLCAweDA5LAotCTB4MDMsIDB4MDMsIDB4MDQsIDB4NDksIDB4MDQsIDB4ODEsIDB4MDAsIDB4NTQsCi0JMHgwOCwgMHg1MCwgMHgwNCwgMHg2NCwgMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDAwLCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDE5LAotCTB4MDMsIDB4MDAsIDB4MDQsIDB4NDksIDB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHgyMCwgMHgwMSwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwKLQkweDAwLCAweDAyLCAweGUyLCAweDhiLCAweDA4LCAweDQxLCAweDAwLCAweDg0LAotCTB4NjUsIDB4MDAsIDB4NTEsIDB4OGIsIDB4YzIsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg2MywgMHg4MCwgMHhjMSwgMHhhMCwgMHgwNCwgMHgxOSwKLQkweDA4LCAweDYxLCAweDAwLCAweDQ0LCAweDJkLCAweDAwLCAweDUxLCAweDhiLAotCTB4YzIsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsCi0JMHhjMSwgMHhhMCwgMHgwNCwgMHgxOSwgMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweDAyLCAweDIwLCAweDYxLCAweDBhLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsIDB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwNCwgMHgwMywgMHgwMCwgMHhjNCwgMHgwNSwgMHhiMCwgMHhjOCwgMHgxOCwKLQkweDA0LCAweDcxLCAweDAwLCAweGM0LCAweDAwLCAweDEzLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4NzksIDB4MDgsIDB4NDQsIDB4MDAsIDB4MDQsIDB4NzksIDB4ODAsCi0JMHgwMCwgMHg0OSwgMHgwMCwgMHhjNCwgMHhjYSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweDRhLCAweDA0LCAweDA0LCAweDE5LCAweGZmLCAweDAwLCAweGUyLCAweDhiLAotCTB4MGMsIDB4ZjksIDB4MDgsIDB4NDQsIDB4Y2YsIDB4MTAsIDB4MDQsIDB4MTksCi0JMHgwYywgMHgyYiwgMHgwOCwgMHg0NCwgMHg4ZSwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDAzLCAweDMwLCAweDYxLCAweDBhLCAweGM4LCAweDIwLCAweDAwLCAweDM5LAotCTB4NDgsIDB4MDQsIDB4MDAsIDB4MzksIDB4MGEsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHhmOSwgMHgwOCwgMHg0NCwgMHhjZCwgMHgxMCwgMHgwNCwgMHgxOSwKLQkweDBjLCAweDJiLCAweDA4LCAweDQ0LCAweDhjLCAweDAwLCAweDA0LCAweDE5LAotCTB4MGMsIDB4ZDksIDB4MDgsIDB4NDQsIDB4MGMsIDB4NWEsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHg3OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwNCwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDQ5LCAweDAwLCAweGM0LCAweGMzLCAweDMwLCAweDA0LCAweDE5LAotCTB4Y2EsIDB4MzAsIDB4MDAsIDB4OTksIDB4MGMsIDB4ZDksIDB4MDgsIDB4NDQsCi0JMHg0MiwgMHgwYSwgMHgwOSwgMHgwZSwgMHgwMCwgMHgwMSwgMHgzMywgMHgxMSwKLQkweDhjLCAweDAxLCAweGEzLCAweDgwLCAweDAwLCAweDAxLCAweDdhLCAweDEwLAotCTB4ODAsIDB4MDUsIDB4YjEsIDB4ODAsIDB4MDUsIDB4YjAsIDB4ZTAsIDB4MTgsCi0JMHgwMCwgMHg5MywgMHgwMCwgMHg4NCwgMHgwMCwgMHg3OSwgMHgwOCwgMHg0NCwKLQkweDAwLCAweDA0LCAweDc5LCAweDgwLCAweDAwLCAweDQ5LCAweDAwLCAweGM0LAotCTB4MGMsIDB4MWIsIDB4MDgsIDB4NDQsIDB4ODgsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHg4YSwgMHgwMCwgMHgwMCwgMHg5OSwgMHgwYywgMHhkOSwgMHgwOCwgMHg0NCwKLQkweDQyLCAweDBhLCAweDA5LCAweDBlLCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzAsIDB4MDQsIDB4YjEsIDB4ODIsIDB4MTAsIDB4MDAsIDB4ZTAsIDB4MGIsCi0JMHgwMCwgMHg0MywgMHgwMCwgMHg4NCwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDAxLCAweDMwLCAweGM4LCAweDBhLCAweDAwLCAweDQzLCAweDAwLCAweDg0LAotCTB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwYywgMHhhOCwgMHgwMCwgMHg0NCwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweGQzLCAweDAwLCAweGM0LCAweDA1LCAweGIwLCAweGM4LCAweDE4LAotCTB4MDQsIDB4NjMsIDB4MDAsIDB4YzQsIDB4MDgsIDB4ZjMsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHg3OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwNCwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDQ5LCAweDAwLCAweGM0LCAweDIwLCAweDAwLCAweDA0LCAweDE5LAotCTB4ZmYsIDB4MDAsIDB4ZTIsIDB4OGIsIDB4MGMsIDB4ZjksIDB4MDgsIDB4NDQsCi0JMHhjZCwgMHgxMCwgMHgwNCwgMHgxOSwgMHhjZiwgMHgxMCwgMHgwNCwgMHgxOSwKLQkweDBjLCAweDJiLCAweDA4LCAweDQ0LCAweDhjLCAweDAwLCAweDA0LCAweDE5LAotCTB4OGUsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDMsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHhjOCwgMHgyMCwgMHgwMCwgMHgzOSwgMHhjYSwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDQ4LCAweDA0LCAweDAwLCAweDM5LCAweDRhLCAweDA0LCAweDAwLCAweDM5LAotCTB4MGMsIDB4ZDksIDB4MDgsIDB4NDQsIDB4MGMsIDB4NWEsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHg3OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwNCwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDQ5LCAweDAwLCAweGM0LCAweGMzLCAweDMwLCAweDA0LCAweDE5LAotCTB4MGMsIDB4ZDksIDB4MDgsIDB4NDQsIDB4NDIsIDB4MGEsIDB4MDksIDB4MGUsCi0JMHgwNSwgMHhiMCwgMHhlMCwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHg4NCwKLQkweDAwLCAweDc5LCAweDA4LCAweDQ0LCAweDAwLCAweDA0LCAweDc5LCAweDgwLAotCTB4MDAsIDB4NDksIDB4MDAsIDB4YzQsIDB4MGMsIDB4MWIsIDB4MDgsIDB4NDQsCi0JMHg4MCwgMHgwMSwgMHgwMCwgMHg4MCwgMHgwYywgMHhkOSwgMHgwOCwgMHg0NCwKLQkweDQyLCAweDBhLCAweDA5LCAweDBlLCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzAsIDB4MDQsIDB4YjEsIDB4ODIsIDB4MTAsIDB4MDAsIDB4ZTAsIDB4MGIsCi0JMHgwMCwgMHg4OCwgMHgwMCwgMHg4NCwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDAxLCAweDMwLCAweGM4LCAweDBhLCAweDAwLCAweDg4LCAweDAwLCAweDg0LAotCTB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHgxMSwgMHgwMCwgMHgwZiwgMHhlMiwgMHg4YiwKLQkweDAwLCAweDAwLCAweDQxLCAweGNiLCAweDhjLCAweDAwLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4NDgsIDB4Y2IsIDB4MjAsIDB4MDAsIDB4N2EsIDB4ODAsCi0JMHg4MCwgMHgwMSwgMHgwMCwgMHg4MCwgMHg4MiwgMHgwYywgMHgwOSwgMHg2ZSwKLQkweDAzLCAweDA4LCAweDA5LCAweDBlLCAweDgwLCAweDQwLCAweDA5LCAweGNmLAotCTB4MDAsIDB4MDEsIDB4NzEsIDB4YzIsIDB4MDAsIDB4MDgsIDB4YzIsIDB4MWIsCi0JMHgwNCwgMHhiOCwgMHgwMCwgMHhjNCwgMHgyMCwgMHgwNSwgMHhhOCwgMHg4MCwKLQkweDIwLCAweDAxLCAweGYwLCAweDgwLCAweDAwLCAweDAxLCAweGMyLCAweDFiLAotCTB4MDQsIDB4NDgsIDB4MDAsIDB4YzQsIDB4MjAsIDB4MDUsIDB4YTgsIDB4ODAsCi0JMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwMCwgMHgwMiwgMHhjMiwgMHgxYiwKLQkweDA0LCAweDY4LCAweDAwLCAweGM0LCAweDIwLCAweDA1LCAweGE4LCAweDgwLAotCTB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MjAsIDB4MDMsIDB4YTgsIDB4ODAsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHgxMSwgMHgwMCwgMHgwNCwgMHhjMiwgMHg4YiwKLQkweDA4LCAweDc4LCAweDAwLCAweGM0LCAweDAwLCAweDAwLCAweGU5LCAweDgwLAotCTB4MDUsIDB4YjAsIDB4YTgsIDB4MTgsIDB4MDAsIDB4MDAsIDB4NGEsIDB4Y2IsCi0JMHgyMCwgMHgwMCwgMHhhOCwgMHgyMiwgMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweDQwLCAweDAxLCAweDAwLCAweDgwLCAweGM0LCAweDAwLCAweDA0LCAweDE5LAotCTB4YjAsIDB4MDAsIDB4ZTIsIDB4OGIsIDB4MDYsIDB4MjAsIDB4YTgsIDB4MGEsCi0JMHgyZCwgMHgxMCwgMHg2MSwgMHgwYSwgMHhkMSwgMHgwOCwgMHgwOSwgMHgyZSwKLQkweDAwLCAweDAxLCAweGE4LCAweDAyLCAweDBjLCAweGY5LCAweDA4LCAweDQ0LAotCTB4Y2QsIDB4MTAsIDB4MDQsIDB4MTksIDB4MGMsIDB4MmIsIDB4MDgsIDB4NDQsCi0JMHgwMywgMHgwOCwgMHgwOSwgMHgwZSwgMHg5YSwgMHgyNSwgMHhiMSwgMHg2MCwKLQkweGEyLCAweDBlLCAweDA5LCAweDZlLCAweDAzLCAweDAwLCAweDA5LCAweDBmLAotCTB4MDAsIDB4MDEsIDB4NzEsIDB4ODIsIDB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg2MSwgMHhjYiwgMHg4MCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDAzLCAweDAwLCAweDA5LCAweDBmLCAweDAwLCAweDAxLCAweDcxLCAweGMyLAotCTB4MDAsIDB4MDgsIDB4YzIsIDB4MWIsIDB4MGMsIDB4MmEsIDB4MDAsIDB4YzQsCi0JMHgyMCwgMHgwNSwgMHhhOCwgMHg4MCwgMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweDAwLCAweDAxLCAweGMyLCAweDFiLCAweDBjLCAweDFhLCAweDAwLCAweGM0LAotCTB4MjAsIDB4MDUsIDB4YTgsIDB4ODAsIDB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHgwMCwgMHgwMiwgMHhjMiwgMHgxYiwgMHgwYywgMHgzYSwgMHgwMCwgMHhjNCwKLQkweDIwLCAweDA1LCAweGE4LCAweDgwLCAweDIwLCAweDAxLCAweGYwLCAweDgwLAotCTB4MjAsIDB4MDMsIDB4YTgsIDB4ODAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MTEsCi0JMHgwMCwgMHgwNCwgMHhjMiwgMHg4YiwgMHgwNCwgMHhhYSwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDAwLCAweGU5LCAweDgwLCAweDA1LCAweGIwLCAweGE4LCAweDE4LAotCTB4MDAsIDB4MDAsIDB4NGEsIDB4Y2IsIDB4MjAsIDB4MDAsIDB4YTgsIDB4MjIsCi0JMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweGM3LCAweDAwLCAweDA0LCAweDE5LCAweGIwLCAweDAwLCAweGUyLCAweDhiLAotCTB4MDYsIDB4MjAsIDB4YTgsIDB4MGEsIDB4MmYsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHhmMSwgMHgwOCwgMHgwOSwgMHgyZSwgMHgwMCwgMHgwMSwgMHhhOCwgMHgwMiwKLQkweDBjLCAweGY5LCAweDA4LCAweDQ0LCAweGNmLCAweDEwLCAweDA0LCAweDE5LAotCTB4MGMsIDB4MmIsIDB4MDgsIDB4NDQsIDB4OWYsIDB4MzUsIDB4YjEsIDB4NjAsCi0JMHgwMywgMHgwOCwgMHgwOSwgMHgwZSwgMHgwMCwgMHgwMSwgMHg3MSwgMHg4MiwKLQkweDIwLCAweDAxLCAweDAwLCAweDgwLCAweDAwLCAweDAwLCAweDYxLCAweGNiLAotCTB4ODAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4ZTQsIDB4MjAsIDB4NzEsIDB4OGIsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHg5MCwgMHg0MCwgMHgwOSwgMHg4ZiwKLQkweDAwLCAweDA1LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4MDgsIDB4MTksIDB4MDQsIDB4ZDQsIDB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsCi0JMHhlNywgMHgwMCwgMHgwMSwgMHg2ZiwgMHgwZCwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDIwLCAweDA0LCAweDYxLCAweGE4LCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4MDIsIDB4MDQsIDB4NjEsIDB4YTgsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMiwKLQkweDAyLCAweDAwLCAweDAwLCAweDAyLCAweGMwLCAweDgwLCAweDAwLCAweDA5LAotCTB4MjAsIDB4MDAsIDB4MDksIDB4NDksIDB4MGYsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwZCwgMHgzMCwgMHhjOCwgMHgwYSwgMHgwMCwgMHgyOSwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDgwLCAweGM4LCAweDBhLCAweDAwLCAweDI5LCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDQsIDB4YjEsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHhjOSwgMHgyMCwgMHgwNCwgMHgzOSwgMHgwMCwgMHgzOSwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDA0LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4MDAsIDB4MDQsIDB4YjEsIDB4ODAsIDB4YzksIDB4MjAsIDB4MDQsIDB4MzksCi0JMHgwMCwgMHgzOSwgMHgwMCwgMHg0NCwgMHgwOSwgMHgyMCwgMHgyMywgMHgwYSwKLQkweDAwLCAweDAwLCAweDA2LCAweDE5LCAweGM5LCAweDIwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDIsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHhiOSwgMHgwNCwgMHgxNCwgMHgwNCwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDA2LCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweGE5LCAweDA0LCAweDU0LAotCTB4YzYsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4YTksIDB4MDAsIDB4NDQsCi0JMHgwNSwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHhhOSwgMHgwNCwgMHg1NCwKLQkweGM1LCAweDAwLCAweDA0LCAweDE5LCAweDA3LCAweDAwLCAweDYxLCAweDBhLAotCTB4MGMsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4YjksIDB4MDQsIDB4NTQsCi0JMHhjYywgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHhiOSwgMHgwMCwgMHg0NCwKLQkweDBlLCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweGI5LCAweDA0LCAweDU0LAotCTB4Y2UsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4NWEsIDB4MDAsIDB4NDQsCi0JMHg4MiwgMHgwZCwgMHgwOSwgMHgyZSwgMHg4MCwgMHg0MCwgMHgwOSwgMHhjZiwKLQkweDAwLCAweGRmLCAweDcxLCAweDhiLCAweDgwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDIsIDB4YzEsIDB4MDAsIDB4MjIsIDB4MDMsIDB4YzEsIDB4MDAsIDB4MjIsCi0JMHgwMCwgMHgwMSwgMHg2NSwgMHg4MCwgMHhkMiwgMHgwNSwgMHg2NSwgMHg4MiwKLQkweDQwLCAweDIxLCAweDAwLCAweDgwLCAweGQzLCAweDAzLCAweDAwLCAweDgyLAotCTB4NDAsIDB4MzMsIDB4MDAsIDB4ODAsIDB4MGMsIDB4NWEsIDB4MDAsIDB4NDQsCi0JMHgwZiwgMHgzMCwgMHg2MSwgMHgwYSwgMHgwZCwgMHgzMCwgMHhjOCwgMHgwYSwKLQkweDA4LCAweGQ5LCAweDAwLCAweGM0LCAweDkzLCAweDAwLCAweDAxLCAweDRmLAotCTB4ZTcsIDB4MDAsIDB4MDEsIDB4NmYsIDB4MGYsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgyMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMiwgMHgwMCwgMHg2MSwgMHgwMiwKLQkweDAyLCAweDAwLCAweDAwLCAweDAzLCAweGNmLCAweDMwLCAweDAwLCAweDA5LAotCTB4MjAsIDB4MDAsIDB4MDksIDB4NDksIDB4MDAsIDB4MDQsIDB4NjMsIDB4ODAsCi0JMHgwNCwgMHhkOSwgMHgwMCwgMHg0NCwgMHgwMCwgMHgwNCwgMHhiMSwgMHg4MCwKLQkweDAwLCAweDAwLCAweDAwLCAweDQ2LCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MDUsIDB4YjAsIDB4YTgsIDB4MTgsIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwgMHgwZSwgMHgxMCwgMHhjOCwgMHgwYSwKLQkweDBjLCAweDBiLCAweDA0LCAweDE0LCAweDBlLCAweDEwLCAweDYxLCAweDBhLAotCTB4MDQsIDB4MmIsIDB4MDAsIDB4NDQsIDB4MGMsIDB4MTAsIDB4YzgsIDB4MGEsCi0JMHgwNCwgMHgyYiwgMHgwNCwgMHg1NCwgMHgwYywgMHgxMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDAwLCAweDAwLCAweDQ2LCAweDAwLCAweDEwLCAweGE4LCAweDE4LAotCTB4YTAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDEsIDB4NzEsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwgMHgwMCwgMHgwNCwgMHgzMywgMHg4MCwKLQkweDAwLCAweDAwLCAweDgzLCAweDgwLCAweDIwLCAweDA0LCAweDdhLCAweDgwLAotCTB4MjAsIDB4MDEsIDB4MzMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4ODMsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHgyMCwgMHgwMywgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDAwLCAweDQ2LCAweDE2LCAweGNlLCAweDExLCAweDAwCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBpbWFfYWRwY21fY2FwdHVyZVtdID0gewotCTB4MDAsIDB4MTAsIDB4MDAsIDB4NDQsIDB4MDgsIDB4MDAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHg3MCwgMHgwMCwgMHg0NCwgMHgwOCwgMHhkMCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweGYwLCAweDAwLCAweDQ0LCAweDBkLCAweGYyLCAweDYxLCAweGE4LAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MTksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwMCwgMHgwNCwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweGZmLCAweDJlLCAweDIxLCAweDQ5LCAweGZmLCAweDBjLCAweGQ0LCAweDQ5LAotCTB4NDAsIDB4NDksIDB4MzksIDB4YWMsIDB4NTUsIDB4NTUsIDB4NzEsIDB4OGIsCi0JMHg1MCwgMHgwMSwgMHhiMSwgMHg4MCwgMHgwMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMyLCAweDMwLCAweDA0LCAweDE5LCAweGMwLCAweGEwLCAweDA0LCAweDE5LAotCTB4YzIsIDB4YTAsIDB4MDQsIDB4MTksIDB4ODksIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjOCwgMHgzMCwgMHgwNCwgMHgxOSwgMHg3MSwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGNkLCAweDAwLCAweDA0LCAweDE5LCAweGNmLCAweDAwLCAweDA0LCAweDE5LAotCTB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2IsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHgyMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjNCwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweDQ3LCAweDAwLCAweDUxLCAweDhiLCAweGMwLCAweDIwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsIDB4YzEsIDB4YTAsIDB4MDQsIDB4MTksCi0JMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwgMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweGNmLCAweDMwLCAweDAwLCAweDA5LCAweDBjLCAweDQwLCAweDAwLCAweDE0LAotCTB4MDAsIDB4NjAsIDB4MDAsIDB4MTQsIDB4MDAsIDB4MDQsIDB4NjEsIDB4YTgsCi0JMHgwMiwgMHgwNCwgMHg2MSwgMHhhOCwgMHgwYywgMHg2MCwgMHgwNCwgMHgyNCwKLQkweDAwLCAweDAwLCAweDM0LCAweDQ5LCAweDA4LCAweDUwLCAweDAwLCAweDQ0LAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MzksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwOCwgMHgzMCwgMHg2MSwgMHgwYSwgMHgwNSwgMHhiMCwgMHhlOCwgMHgxOCwKLQkweDBjLCAweGMwLCAweDA0LCAweDU0LCAweGM4LCAweDMwLCAweDA0LCAweDE5LAotCTB4MDksIDB4MDQsIDB4MDAsIDB4YTgsIDB4MGIsIDB4MDQsIDB4MDAsIDB4YTgsCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgwOSwgMHgwNCwgMHg2MSwgMHhhOCwKLQkweGMxLCAweDAwLCAweDA0LCAweDE5LCAweDBiLCAweDA0LCAweDYxLCAweGE4LAotCTB4Y2EsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGQsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHgwZiwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDQwLCAweDA5LCAweDhmLCAweDAwLCAweDAxLCAweDAwLCAweDQ1LAotCTB4NDAsIDB4NDAsIDB4MDksIDB4ZWYsIDB4ZmYsIDB4MjAsIDB4MDksIDB4Y2YsCi0JMHgwMCwgMHgwNCwgMHg2MywgMHhhMSwgMHg1MCwgMHgwMywgMHgzMywgMHg4MCwKLQkweDAwLCAweDA0LCAweGEzLCAweDgwLCAweDAwLCAweGZmLCAweGMyLCAweDhiLAotCTB4MGMsIDB4MTIsIDB4MDQsIDB4NTQsIDB4MDgsIDB4MTIsIDB4MDAsIDB4YzQsCi0JMHgyMCwgMHgwMywgMHg4MCwgMHhjMCwgMHgzMCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDdhLCAweDBhLCAweGQwLCAweDAxLCAweDAwLCAweDgyLAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4YzAsIDB4MDAsIDB4MDAsIDB4OTksCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwKLQkweDIwLCAweDAwLCAweDAwLCAweDgwLCAweDAwLCAweDBkLCAweDQyLCAweDhiLAotCTB4MDQsIDB4NDIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MGUsIDB4NDIsIDB4OGIsCi0JMHgwOCwgMHg1MiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgxZSwgMHg0MiwgMHg4YiwKLQkweDAwLCAweGUyLCAweDAwLCAweGM0LCAweDAwLCAweDhlLCAweDQyLCAweDhiLAotCTB4MDgsIDB4ZDIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4OWUsIDB4NDIsIDB4OGIsCi0JMHgwNCwgMHhmMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHhiZSwgMHg0MiwgMHg4YiwKLQkweDA0LCAweGYyLCAweDAwLCAweGM0LCAweDAwLCAweDA0LCAweDQyLCAweDhiLAotCTB4MDQsIDB4MTEsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MjQsIDB4NDIsIDB4OGIsCi0JMHgwYywgMHg2MSwgMHgwMCwgMHhjNCwgMHgwMCwgMHg1NSwgMHg0MiwgMHg4YiwKLQkweDA0LCAweDUwLCAweDAwLCAweGM0LCAweDAwLCAweDNmLCAweDQyLCAweDhiLAotCTB4MGMsIDB4MDEsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgyMCwgMHgwMSwgMHg3OSwgMHg4MCwgMHgwMCwgMHgzMCwgMHg0MiwgMHg4YiwKLQkweDA0LCAweDYyLCAweDAwLCAweGM0LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4NDAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwKLQkweDA4LCAweGMyLCAweDAwLCAweGM0LCAweDBmLCAweGYyLCAweGE4LCAweGE4LAotCTB4MjAsIDB4MDAsIDB4YjEsIDB4ODgsIDB4MDAsIDB4MDAsIDB4NDEsIDB4MDIsCi0JMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwgMHhjMCwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweDBkLCAweGYyLCAweGEzLCAweGE4LAotCTB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksIDB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwgMHgyMCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDYxLCAweDAyLCAweDRkLCAweGYyLCAweDA0LCAweDE5LAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsCi0JMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg2MSwgMHgxMCwKLQkweDRkLCAweGYyLCAweDA0LCAweDE5LCAweDA0LCAweDUwLCAweDAwLCAweDQ0LAotCTB4ZmYsIDB4MjAsIDB4ZTIsIDB4YWIsIDB4NjAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhjMCwgMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweDAwLCAweDAwLCAweDdhLCAweDBhLAotCTB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDEsIDB4YTAsIDB4NDEsIDB4MGEsCi0JMHgwMCwgMHgxMSwgMHgwMCwgMHhjNCwgMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweGMxLCAweDMwLCAweDA0LCAweDE5LCAweDA0LCAweDUwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NzksIDB4ODAsIDB4MGMsIDB4NDEsIDB4MDAsIDB4ODQsCi0JMHg4OSwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjOCwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDk3LCAweDAwLCAweDcxLCAweDhiLCAweGNkLCAweDAwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDEsIDB4YjEsIDB4ODAsIDB4ODAsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHg4MiwgMHgwMCwgMHgwNCwgMHgxOSwgMHhjMSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGMzLCAweDIwLCAweDA0LCAweDE5LCAweGMyLCAweDMwLCAweDA0LCAweDE5LAotCTB4Y2QsIDB4MTAsIDB4MDQsIDB4MTksIDB4Y2YsIDB4MTAsIDB4MDQsIDB4MTksCi0JMHhiMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4NCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDg2LCAweDAwLCAweDA0LCAweDE5LCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4Y2IsIDB4MjAsIDB4MDQsIDB4MTksIDB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsCi0JMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwgMHhjZiwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweDAzLCAweDAyLCAweDA0LCAweDQ5LCAweDA4LCAweDQxLCAweDAwLCAweDE0LAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwgMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweDIwLCAweDAxLCAweDYzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MTksIDB4MDAsIDB4MjAsIDB4ZTIsIDB4OGIsCi0JMHgwMCwgMHhjMSwgMHgwMCwgMHg4NCwgMHg0NywgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGMwLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDYzLCAweDgwLAotCTB4YzEsIDB4YTAsIDB4MDQsIDB4MTksIDB4MDAsIDB4ZTEsIDB4MDAsIDB4NDQsCi0JMHhiZCwgMHgwMCwgMHg1MSwgMHg4YiwgMHhjMCwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGMxLCAweGEwLCAweDA0LCAweDE5LAotCTB4MDMsIDB4MDAsIDB4MDQsIDB4NDksIDB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHgyMCwgMHg2MSwgMHgwYSwgMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwKLQkweDAyLCAweDMwLCAweDYxLCAweDBhLCAweDBjLCAweDgzLCAweDAwLCAweGM0LAotCTB4MGMsIDB4NzgsIDB4MDgsIDB4NDQsIDB4MDQsIDB4NWEsIDB4MDgsIDB4NDQsCi0JMHhiMiwgMHgwMCwgMHgwOSwgMHg0ZiwgMHgxMCwgMHg0MiwgMHgwOSwgMHg4ZSwKLQkweDA1LCAweGIwLCAweGUwLCAweDE4LCAweDA0LCAweDIzLCAweDAwLCAweDg0LAotCTB4MGMsIDB4MDEsIDB4MDAsIDB4MTEsIDB4MDgsIDB4MDUsIDB4NjEsIDB4MTAsCi0JMHgwMCwgMHg0OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHg0OCwgMHgwOCwgMHg0NCwKLQkweGIyLCAweDAwLCAweDA5LCAweDRmLCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzAsIDB4MDAsIDB4MDAsIDB4ODIsIDB4MGMsIDB4MDEsIDB4MzMsIDB4MTAsCi0JMHgyOCwgMHgwMSwgMHhhMywgMHgxMCwgMHgwMCwgMHgwMSwgMHg3YSwgMHg4MCwKLQkweDhjLCAweDAxLCAweDAwLCAweDgwLCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MjAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4ODMsIDB4MDAsIDB4YzQsCi0JMHgwNSwgMHhiMCwgMHhjOCwgMHgxOCwgMHgwOCwgMHg0MywgMHgwMCwgMHhjNCwKLQkweDAxLCAweDMwLCAweGM4LCAweDBhLCAweDBjLCAweDM4LCAweDAwLCAweGM0LAotCTB4MDgsIDB4ODgsIDB4MDAsIDB4NDQsIDB4MGMsIDB4NzgsIDB4MDgsIDB4NDQsCi0JMHgwNCwgMHg1YSwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwMCwgMHhhMywgMHgxOCwKLQkweDgwLCAweDAwLCAweDA0LCAweDE5LCAweDBiLCAweDA0LCAweDYxLCAweGE4LAotCTB4YzMsIDB4MjAsIDB4MDAsIDB4MzksIDB4YzMsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwZiwgMHgxMCwgMHg2MSwgMHgwYSwgMHhjYSwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDA5LCAweDA0LCAweDQxLCAweGE4LCAweGUxLCAweDIwLCAweDAwLCAweDM5LAotCTB4ZDEsIDB4MDAsIDB4MDksIDB4NGYsIDB4MDAsIDB4MDQsIDB4NjEsIDB4MDIsCi0JMHgwOCwgMHg2MywgMHgwMCwgMHg0NCwgMHgwMywgMHgzMCwgMHg0MSwgMHgwYSwKLQkweDIwLCAweDAwLCAweDAwLCAweDM5LCAweGEzLCAweDAwLCAweDA5LCAweDRmLAotCTB4MDAsIDB4MDQsIDB4NjEsIDB4MDIsIDB4MDAsIDB4NDgsIDB4MDgsIDB4NDQsCi0JMHgwOCwgMHg4OCwgMHgwMCwgMHg0NCwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDA4LCAweDAwLCAweGM0LCAweDBjLCAweDc4LCAweDA4LCAweDQ0LAotCTB4MDQsIDB4NWEsIDB4MDgsIDB4NDQsIDB4YjIsIDB4MDAsIDB4MDksIDB4MGYsCi0JMHgxMCwgMHg0MCwgMHgwOSwgMHg4ZSwgMHgwMCwgMHgwMCwgMHg2OCwgMHg1YiwKLQkweDIwLCAweDA0LCAweGIxLCAweDgwLCAweDAyLCAweDAwLCAweDYxLCAweDViLAotCTB4ODgsIDB4MDMsIDB4N2EsIDB4ODAsIDB4YWMsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwNSwgMHhiMCwgMHhlMCwgMHgxOCwgMHgwMCwgMHhkMywgMHgwMCwgMHg4NCwKLQkweDAwLCAweDQ5LCAweDA4LCAweDQ0LCAweDAwLCAweDQ4LCAweDA4LCAweDQ0LAotCTB4YjIsIDB4MDAsIDB4MDksIDB4MGYsIDB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMCwgMHgwMCwgMHgwMCwgMHg4MiwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDA4LCAweDAwLCAweGM0LCAweDA1LCAweGIwLCAweGM4LCAweDE4LAotCTB4MGMsIDB4MTgsIDB4MDAsIDB4YzQsIDB4MDEsIDB4MzAsIDB4YzgsIDB4MGEsCi0JMHgwYywgMHgzOCwgMHgwMCwgMHhjNCwgMHgwOCwgMHg4OCwgMHgwMCwgMHg0NCwKLQkweDBjLCAweDc4LCAweDA4LCAweDQ0LCAweDAwLCAweDAwLCAweDYxLCAweDE4LAotCTB4MjAsIDB4MDUsIDB4YjEsIDB4ODAsIDB4MDAsIDB4MDAsIDB4NjgsIDB4Y2IsCi0JMHg4MCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwZCwgMHgxMCwgMHg2MSwgMHgwYSwKLQkweGMzLCAweDMwLCAweDA0LCAweDE5LCAweDBiLCAweDA0LCAweDQxLCAweGE4LAotCTB4MDksIDB4MDQsIDB4NDEsIDB4YTgsIDB4ZTEsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwOCwgMHgzOCwgMHgwMCwgMHg0NCwgMHgwMywgMHgzMCwgMHg0MSwgMHgwYSwKLQkweDIwLCAweDA0LCAweGIxLCAweDgwLCAweDAwLCAweDQ4LCAweDA4LCAweDQ0LAotCTB4MDgsIDB4ODgsIDB4MDAsIDB4NDQsIDB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsCi0JMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwgMHgwYywgMHhiOCwgMHgwMCwgMHhkNCwKLQkweDBmLCAweDMwLCAweDYxLCAweDBhLCAweDBkLCAweDMwLCAweGM4LCAweDBhLAotCTB4MGMsIDB4YjgsIDB4MDAsIDB4YzQsIDB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsCi0JMHhlNywgMHgwMCwgMHgwMSwgMHg2ZiwgMHgwZiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDIwLCAweDAwLCAweDAwLCAweDg4LCAweDAyLCAweDAwLCAweDYxLCAweDAyLAotCTB4NDEsIDB4MDQsIDB4MDQsIDB4MTksIDB4MDIsIDB4MDQsIDB4NjEsIDB4MDIsCi0JMHg0MywgMHgwNCwgMHgwNCwgMHgzOSwgMHhjZiwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweDIwLCAweDAwLCAweDA5LCAweDQ5LCAweDAwLCAweDU5LCAweDAwLCAweDQ0LAotCTB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsIDB4ZTcsIDB4MDAsIDB4MDEsIDB4NmYsCi0JMHgwZCwgMHgzMCwgMHg2MSwgMHgwYSwgMHgyMCwgMHgwMCwgMHg2MSwgMHg4OCwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweGMyLCAweDAzLCAweDAwLCAweDgyLAotCTB4Y2QsIDB4MzAsIDB4MDAsIDB4MDksIDB4MjAsIDB4MDAsIDB4MDksIDB4NDksCi0JMHgwZiwgMHgzMCwgMHg2MSwgMHgwYSwgMHgwZCwgMHgzMCwgMHhjOCwgMHgwYSwKLQkweDBjLCAweDU4LCAweDAwLCAweDg0LCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MDUsIDB4YjAsIDB4YTgsIDB4MTgsIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwgMHg5MCwgMHg0MCwgMHgwOSwgMHg4ZiwKLQkweDEyLCAweDA0LCAweDA5LCAweDZlLCAweDAzLCAweDAwLCAweDA5LCAweDBlLAotCTB4MDAsIDB4MDEsIDB4NzEsIDB4ODIsIDB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg2MSwgMHhjYiwgMHg4MCwgMHgwNCwgMHhiMSwgMHg4MCwKLQkweDAwLCAweDAxLCAweGUwLCAweDYwLCAweDBjLCAweGQ4LCAweDA0LCAweDE0LAotCTB4MDAsIDB4MDEsIDB4ZWIsIDB4ODAsIDB4NDAsIDB4MDAsIDB4NTIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHg3OSwgMHg4MCwgMHhjMCwgMHgwMSwgMHg3MSwgMHhjMiwKLQkweDIwLCAweDAwLCAweGMwLCAweDgwLCAweDA4LCAweDBhLCAweDA0LCAweDU0LAotCTB4YzAsIDB4MDQsIDB4YTgsIDB4ODIsIDB4ODAsIDB4MDAsIDB4NzIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweDIwLCAweDAwLCAweGMwLCAweDgwLCAweDBjLCAweDJhLCAweDA0LCAweDU0LAotCTB4YzAsIDB4MDQsIDB4YTgsIDB4ODIsIDB4MTAsIDB4MDAsIDB4NzIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweDIwLCAweDAwLCAweGMwLCAweDgwLCAweDA4LCAweDNhLCAweDA0LCAweDU0LAotCTB4YzAsIDB4MDQsIDB4YTgsIDB4ODIsIDB4MjAsIDB4MDAsIDB4NzIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHhjMCwgMHgwMywgMHhmMCwgMHg4MiwKLQkweDIwLCAweDAwLCAweGEwLCAweDgwLCAweDAwLCAweDAxLCAweDAwLCAweDExLAotCTB4NDAsIDB4MDAsIDB4YzIsIDB4OGIsIDB4MDAsIDB4YWEsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwMCwgMHhlOSwgMHg4MCwgMHgwNSwgMHhiMCwgMHhhOCwgMHgxOCwKLQkweDAwLCAweDAxLCAweGE4LCAweDIyLCAweGQwLCAweDAxLCAweDAwLCAweDgyLAotCTB4ZjAsIDB4MDAsIDB4ZTIsIDB4MWIsIDB4MDYsIDB4MjAsIDB4YTgsIDB4MGEsCi0JMHgyZCwgMHgxMCwgMHg2MSwgMHgwYSwgMHhkMSwgMHgwMCwgMHgwOSwgMHgyZSwKLQkweDAwLCAweDAxLCAweGE4LCAweDAyLCAweDBlLCAweDEwLCAweGM4LCAweDBhLAotCTB4MGMsIDB4YmEsIDB4MDQsIDB4MTQsIDB4MGUsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHgwNCwgMHg0YSwgMHgwMCwgMHg0NCwgMHgwYywgMHgxMCwgMHhjOCwgMHgwYSwKLQkweDA0LCAweDRhLCAweDA0LCAweDU0LCAweDBjLCAweDEwLCAweDYxLCAweDBhLAotCTB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsIDB4MDAsIDB4MTAsIDB4YTgsIDB4MTgsCi0JMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMSwgMHg3MSwgMHg4MiwKLQkweDAzLCAweDAwLCAweDA5LCAweDBlLCAweDlhLCAweDAxLCAweDAwLCAweDYwLAotCTB4MzIsIDB4MDAsIDB4MDksIDB4MmUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsCi0JMHgwMCwgMHgwMSwgMHg3MSwgMHg4MiwgMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDYxLCAweGNiLCAweDgwLCAweDI0LCAweGIxLCAweGMwLAotCTB4MDAsIDB4MzEsIDB4ZTAsIDB4NjAsIDB4MGMsIDB4Y2EsIDB4MDQsIDB4MTQsCi0JMHgwMCwgMHgwMSwgMHhlYiwgMHg4MCwgMHg0MCwgMHgwMCwgMHg1MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDc5LCAweDgwLCAweGMwLCAweDAxLCAweDcxLCAweGMyLAotCTB4MjAsIDB4MDAsIDB4YzAsIDB4ODAsIDB4MDgsIDB4ZGEsIDB4MDQsIDB4NTQsCi0JMHhjMCwgMHgwNCwgMHhhOCwgMHg4MiwgMHg4MCwgMHgwMCwgMHg3MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDAwLCAweDgwLCAweDAwLCAweDAxLCAweGYwLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4YzAsIDB4ODAsIDB4MGMsIDB4ZmEsIDB4MDQsIDB4NTQsCi0JMHhjMCwgMHgwNCwgMHhhOCwgMHg4MiwgMHgxMCwgMHgwMCwgMHg3MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDAwLCAweDgwLCAweDAwLCAweDAxLCAweGYwLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4YzAsIDB4ODAsIDB4MDgsIDB4MjksIDB4MDQsIDB4NTQsCi0JMHhjMCwgMHgwNCwgMHhhOCwgMHg4MiwgMHgyMCwgMHgwMCwgMHg3MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDAwLCAweDgwLCAweGMwLCAweDAzLCAweGYwLCAweDgyLAotCTB4MjAsIDB4MDAsIDB4YTAsIDB4ODAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MTEsCi0JMHg0MCwgMHgwMCwgMHhjMiwgMHg4YiwgMHgwMCwgMHgzOSwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDAwLCAweGU5LCAweDgwLCAweDA1LCAweGIwLCAweGE4LCAweDE4LAotCTB4MDAsIDB4MDEsIDB4YTgsIDB4MjIsIDB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhiMCwgMHgwMCwgMHhlMiwgMHgxYiwgMHgwNiwgMHgyMCwgMHhhOCwgMHgwYSwKLQkweDJmLCAweDEwLCAweDYxLCAweDBhLCAweGYxLCAweDAwLCAweDA5LCAweDJlLAotCTB4MDAsIDB4MDEsIDB4YTgsIDB4MDIsIDB4MGUsIDB4MTAsIDB4YzgsIDB4MGEsCi0JMHgwYywgMHhhOSwgMHgwNCwgMHgxNCwgMHgwZSwgMHgxMCwgMHg2MSwgMHgwYSwKLQkweDA0LCAweDk5LCAweDAwLCAweDQ0LCAweDBjLCAweDEwLCAweGM4LCAweDBhLAotCTB4MDQsIDB4OTksIDB4MDQsIDB4NTQsIDB4MGMsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHgwMCwgMHgxMCwgMHhhOCwgMHgxOCwKLQkweGEwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAxLCAweDcxLCAweDgyLAotCTB4OWYsIDB4MDEsIDB4MDAsIDB4NjAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsCi0JMHgwMCwgMHgwMCwgMHgzMywgMHg4MCwgMHgwMCwgMHgwMCwgMHg4MywgMHg4MCwKLQkweDIwLCAweDAwLCAweDdhLCAweDgwLCAweDIwLCAweDA3LCAweDMzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4ODMsIDB4ODAsIDB4MjAsIDB4MDQsIDB4N2EsIDB4ODAsCi0JMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwKLQkweDAyLCAweDAwLCAweDYxLCAweDBhLCAweDA0LCAweDFiLCAweDA0LCAweDE0LAotCTB4MDEsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MDMsIDB4MDAsIDB4NDgsIDB4MGEsCi0JMHgwYywgMHg3OSwgMHgwNCwgMHg1NCwgMHhjMywgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA0LCAweGM5LCAweDAwLCAweDQ0LCAweDA4LCAweDAwLCAweGM4LCAweDBhLAotCTB4MDQsIDB4YzksIDB4MDQsIDB4NTQsIDB4YzgsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwYSwgMHgwMCwgMHg2MSwgMHgwYSwgMHgwOSwgMHgwMCwgMHg0OCwgMHgwYSwKLQkweDBjLCAweGU5LCAweDA0LCAweDU0LCAweGM5LCAweDAwLCAweDA0LCAweDE5LAotCTB4MDQsIDB4ZDksIDB4MDAsIDB4NDQsIDB4MGIsIDB4MDAsIDB4YzgsIDB4MGEsCi0JMHgwNCwgMHhkOSwgMHgwNCwgMHg1NCwgMHhjYiwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA0LCAweDAwLCAweDYxLCAweDBhLCAweDA2LCAweDAwLCAweDQ4LCAweDBhLAotCTB4MGMsIDB4ZjksIDB4MDQsIDB4NTQsIDB4YzYsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHgwYiwgMHgwMCwgMHg0NCwgMHgwNSwgMHgwMCwgMHhjOCwgMHgwYSwKLQkweDA0LCAweDBiLCAweDA0LCAweDU0LCAweGM1LCAweDAwLCAweDA0LCAweDE5LAotCTB4MDcsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MGMsIDB4MDAsIDB4NDgsIDB4MGEsCi0JMHgwYywgMHgyYiwgMHgwNCwgMHg1NCwgMHhjYywgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA0LCAweDFiLCAweDAwLCAweDQ0LCAweDBlLCAweDAwLCAweGM4LCAweDBhLAotCTB4MDQsIDB4MWIsIDB4MDQsIDB4NTQsIDB4Y2UsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHg5MiwgMHgyMCwgMHg3MSwgMHg4YiwKLQkweGE2LCAweGM1LCAweDExLCAweDAwCi19OwpkaWZmIC0tZ2l0IGEvc291bmQvaXNhL3dhdmVmcm9udC93YXZlZnJvbnRfc3ludGguYyBiL3NvdW5kL2lzYS93YXZlZnJvbnQvd2F2ZWZyb250X3N5bnRoLmMKaW5kZXggOTVlZWNhMS4uMGJiOWI5MiAxMDA2NDQKLS0tIGEvc291bmQvaXNhL3dhdmVmcm9udC93YXZlZnJvbnRfc3ludGguYworKysgYi9zb3VuZC9pc2Evd2F2ZWZyb250L3dhdmVmcm9udF9zeW50aC5jCkBAIC0xOTM5LDcgKzE5MzksNyBAQAogd2F2ZWZyb250X2Rvd25sb2FkX2Zpcm13YXJlIChzbmRfd2F2ZWZyb250X3QgKmRldiwgY2hhciAqcGF0aCkKIAogewotCXVuc2lnbmVkIGNoYXIgKmJ1ZjsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpidWY7CiAJaW50IGxlbiwgZXJyOwogCWludCBzZWN0aW9uX2NudF9kb3dubG9hZGVkID0gMDsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZpcm13YXJlOwpkaWZmIC0tZ2l0IGEvc291bmQvbWlwcy9LY29uZmlnIGIvc291bmQvbWlwcy9LY29uZmlnCmluZGV4IDUzMWY4YmEuLmE5ODIzZmEgMTAwNjQ0Ci0tLSBhL3NvdW5kL21pcHMvS2NvbmZpZworKysgYi9zb3VuZC9taXBzL0tjb25maWcKQEAgLTEsMTUgKzEsMzQgQEAKICMgQUxTQSBNSVBTIGRyaXZlcnMKIAotbWVudSAiQUxTQSBNSVBTIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgTUlQUworbWVudWNvbmZpZyBTTkRfTUlQUworCWJvb2wgIk1JUFMgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIE1JUFMKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIG9mIE1JUFMgYXJjaGl0ZWN0dXJlcy4KKworaWYgU05EX01JUFMKKworY29uZmlnIFNORF9TR0lfTzIKKwl0cmlzdGF0ZSAiU0dJIE8yIEF1ZGlvIgorCWRlcGVuZHMgb24gU0dJX0lQMzIKKyAgICAgICAgaGVscAorICAgICAgICAgICAgICAgIFNvdW5kIHN1cHBvcnQgZm9yIHRoZSBTR0kgTzIgV29ya3N0YXRpb24uIAorCitjb25maWcgU05EX1NHSV9IQUwyCisgICAgICAgIHRyaXN0YXRlICJTR0kgSEFMMiBBdWRpbyIKKyAgICAgICAgZGVwZW5kcyBvbiBTR0lfSEFTX0hBTDIKKyAgICAgICAgaGVscAorICAgICAgICAgICAgICAgIFNvdW5kIHN1cHBvcnQgZm9yIHRoZSBTR0kgSW5keSBhbmQgSW5kaWdvMiBXb3Jrc3RhdGlvbi4KKwogCiBjb25maWcgU05EX0FVMVgwMAogCXRyaXN0YXRlICJBdTF4MDAgQUM5NyBQb3J0IERyaXZlciIKLQlkZXBlbmRzIG9uIChTT0NfQVUxMDAwIHx8IFNPQ19BVTExMDAgfHwgU09DX0FVMTUwMCkgJiYgU05ECisJZGVwZW5kcyBvbiBTT0NfQVUxMDAwIHx8IFNPQ19BVTExMDAgfHwgU09DX0FVMTUwMAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgQUxTQSBTb3VuZCBkcml2ZXIgZm9yIHRoZSBBdTF4MDAncyBBQzk3IHBvcnQuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX01JUFMKIApkaWZmIC0tZ2l0IGEvc291bmQvbWlwcy9NYWtlZmlsZSBiL3NvdW5kL21pcHMvTWFrZWZpbGUKaW5kZXggNDdhZmVkOS4uODYxZWMwYSAxMDA2NDQKLS0tIGEvc291bmQvbWlwcy9NYWtlZmlsZQorKysgYi9zb3VuZC9taXBzL01ha2VmaWxlCkBAIC0zLDYgKzMsMTAgQEAKICMKIAogc25kLWF1MXgwMC1vYmpzIDo9IGF1MXgwMC5vCitzbmQtc2dpLW8yLW9ianMgOj0gc2dpbzJhdWRpby5vIGFkMTg0My5vCitzbmQtc2dpLWhhbDItb2JqcyA6PSBoYWwyLm8KIAogIyBUb3BsZXZlbCBNb2R1bGUgRGVwZW5kZW5jeQogb2JqLSQoQ09ORklHX1NORF9BVTFYMDApICs9IHNuZC1hdTF4MDAubworb2JqLSQoQ09ORklHX1NORF9TR0lfTzIpICs9IHNuZC1zZ2ktbzIubworb2JqLSQoQ09ORklHX1NORF9TR0lfSEFMMikgKz0gc25kLXNnaS1oYWwyLm8KZGlmZiAtLWdpdCBhL3NvdW5kL21pcHMvYWQxODQzLmMgYi9zb3VuZC9taXBzL2FkMTg0My5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2MjQ1MTAKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9taXBzL2FkMTg0My5jCkBAIC0wLDAgKzEsNTYxIEBACisvKgorICogICBBRDE4NDMgbG93IGxldmVsIGRyaXZlcgorICoKKyAqICAgQ29weXJpZ2h0IDIwMDMgVml2aWVuIENoYXBwZWxpZXIgPHZpdmllbi5jaGFwcGVsaWVyQGxpbnV4LW1pcHMub3JnPgorICogICBDb3B5cmlnaHQgMjAwOCBUaG9tYXMgQm9nZW5kb2VyZmVyIDx0c2JvZ2VuZEBhbHBoYS5mcmFua2VuLmRlPgorICoKKyAqICAgaW5zcGlyZWQgZnJvbSB2d3NuZC5jIChTR0kgVlcgYXVkaW8gZHJpdmVyKQorICogICAgIENvcHlyaWdodCAxOTk5IFNpbGljb24gR3JhcGhpY3MsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvYWQxODQzLmg+CisKKy8qCisgKiBBRDE4NDMgYml0ZmllbGQgZGVmaW5pdGlvbnMuICBBbGwgYXJlIG5hbWVkIGFzIGluIHRoZSBBRDE4NDMgZGF0YQorICogc2hlZXQsIHdpdGggYWQxODQzXyBwcmVwZW5kZWQgYW5kIGluZGl2aWR1YWwgYml0IG51bWJlcnMgcmVtb3ZlZC4KKyAqCisgKiBFLmcuLCBiaXRzIExTUzAgdGhyb3VnaCBMU1MyIGJlY29tZSBhZDE4NDNfTFNTLgorICoKKyAqIE9ubHkgdGhlIGJpdGZpZWxkcyB3ZSBuZWVkIGFyZSBkZWZpbmVkLgorICovCisKK3N0cnVjdCBhZDE4NDNfYml0ZmllbGQgeworCWNoYXIgcmVnOworCWNoYXIgbG9fYml0OworCWNoYXIgbmJpdHM7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZAorCWFkMTg0M19QRE5PICAgPSB7ICAwLCAxNCwgIDEgfSwJLyogQ29udmVydGVyIFBvd2VyLURvd24gRmxhZyAqLworCWFkMTg0M19JTklUICAgPSB7ICAwLCAxNSwgIDEgfSwJLyogQ2xvY2sgSW5pdGlhbGl6YXRpb24gRmxhZyAqLworCWFkMTg0M19SSUcgICAgPSB7ICAyLCAgMCwgIDQgfSwJLyogUmlnaHQgQURDIElucHV0IEdhaW4gKi8KKwlhZDE4NDNfUk1HRSAgID0geyAgMiwgIDQsICAxIH0sCS8qIFJpZ2h0IEFEQyBNaWMgR2FpbiBFbmFibGUgKi8KKwlhZDE4NDNfUlNTICAgID0geyAgMiwgIDUsICAzIH0sCS8qIFJpZ2h0IEFEQyBTb3VyY2UgU2VsZWN0ICovCisJYWQxODQzX0xJRyAgICA9IHsgIDIsICA4LCAgNCB9LAkvKiBMZWZ0IEFEQyBJbnB1dCBHYWluICovCisJYWQxODQzX0xNR0UgICA9IHsgIDIsIDEyLCAgMSB9LAkvKiBMZWZ0IEFEQyBNaWMgR2FpbiBFbmFibGUgKi8KKwlhZDE4NDNfTFNTICAgID0geyAgMiwgMTMsICAzIH0sCS8qIExlZnQgQURDIFNvdXJjZSBTZWxlY3QgKi8KKwlhZDE4NDNfUkQyTSAgID0geyAgMywgIDAsICA1IH0sCS8qIFJpZ2h0IERBQyAyIE1peCBHYWluL0F0dGVuICovCisJYWQxODQzX1JEMk1NICA9IHsgIDMsICA3LCAgMSB9LAkvKiBSaWdodCBEQUMgMiBNaXggTXV0ZSAqLworCWFkMTg0M19MRDJNICAgPSB7ICAzLCAgOCwgIDUgfSwJLyogTGVmdCBEQUMgMiBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19MRDJNTSAgPSB7ICAzLCAxNSwgIDEgfSwJLyogTGVmdCBEQUMgMiBNaXggTXV0ZSAqLworCWFkMTg0M19SWDFNICAgPSB7ICA0LCAgMCwgIDUgfSwJLyogUmlnaHQgQXV4IDEgTWl4IEdhaW4vQXR0ZW4gKi8KKwlhZDE4NDNfUlgxTU0gID0geyAgNCwgIDcsICAxIH0sCS8qIFJpZ2h0IEF1eCAxIE1peCBNdXRlICovCisJYWQxODQzX0xYMU0gICA9IHsgIDQsICA4LCAgNSB9LAkvKiBMZWZ0IEF1eCAxIE1peCBHYWluL0F0dGVuICovCisJYWQxODQzX0xYMU1NICA9IHsgIDQsIDE1LCAgMSB9LAkvKiBMZWZ0IEF1eCAxIE1peCBNdXRlICovCisJYWQxODQzX1JYMk0gICA9IHsgIDUsICAwLCAgNSB9LAkvKiBSaWdodCBBdXggMiBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19SWDJNTSAgPSB7ICA1LCAgNywgIDEgfSwJLyogUmlnaHQgQXV4IDIgTWl4IE11dGUgKi8KKwlhZDE4NDNfTFgyTSAgID0geyAgNSwgIDgsICA1IH0sCS8qIExlZnQgQXV4IDIgTWl4IEdhaW4vQXR0ZW4gKi8KKwlhZDE4NDNfTFgyTU0gID0geyAgNSwgMTUsICAxIH0sCS8qIExlZnQgQXV4IDIgTWl4IE11dGUgKi8KKwlhZDE4NDNfUk1DTSAgID0geyAgNywgIDAsICA1IH0sCS8qIFJpZ2h0IE1pYyBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19STUNNTSAgPSB7ICA3LCAgNywgIDEgfSwJLyogUmlnaHQgTWljIE1peCBNdXRlICovCisJYWQxODQzX0xNQ00gICA9IHsgIDcsICA4LCAgNSB9LAkvKiBMZWZ0IE1pYyBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19MTUNNTSAgPSB7ICA3LCAxNSwgIDEgfSwJLyogTGVmdCBNaWMgTWl4IE11dGUgKi8KKwlhZDE4NDNfSFBPUyAgID0geyAgOCwgIDQsICAxIH0sCS8qIEhlYWRwaG9uZSBPdXRwdXQgVm9sdGFnZSBTd2luZyAqLworCWFkMTg0M19IUE9NICAgPSB7ICA4LCAgNSwgIDEgfSwJLyogSGVhZHBob25lIE91dHB1dCBNdXRlICovCisJYWQxODQzX01QT00gICA9IHsgIDgsICA2LCAgMSB9LAkvKiBNb25vIE91dHB1dCBNdXRlICovCisJYWQxODQzX1JEQTFHICA9IHsgIDksICAwLCAgNiB9LAkvKiBSaWdodCBEQUMxIEFuYWxvZy9EaWdpdGFsIEdhaW4gKi8KKwlhZDE4NDNfUkRBMUdNID0geyAgOSwgIDcsICAxIH0sCS8qIFJpZ2h0IERBQzEgQW5hbG9nIE11dGUgKi8KKwlhZDE4NDNfTERBMUcgID0geyAgOSwgIDgsICA2IH0sCS8qIExlZnQgREFDMSBBbmFsb2cvRGlnaXRhbCBHYWluICovCisJYWQxODQzX0xEQTFHTSA9IHsgIDksIDE1LCAgMSB9LAkvKiBMZWZ0IERBQzEgQW5hbG9nIE11dGUgKi8KKwlhZDE4NDNfUkRBMkcgID0geyAxMCwgIDAsICA2IH0sCS8qIFJpZ2h0IERBQzIgQW5hbG9nL0RpZ2l0YWwgR2FpbiAqLworCWFkMTg0M19SREEyR00gPSB7IDEwLCAgNywgIDEgfSwJLyogUmlnaHQgREFDMiBBbmFsb2cgTXV0ZSAqLworCWFkMTg0M19MREEyRyAgPSB7IDEwLCAgOCwgIDYgfSwJLyogTGVmdCBEQUMyIEFuYWxvZy9EaWdpdGFsIEdhaW4gKi8KKwlhZDE4NDNfTERBMkdNID0geyAxMCwgMTUsICAxIH0sCS8qIExlZnQgREFDMiBBbmFsb2cgTXV0ZSAqLworCWFkMTg0M19SREExQU0gPSB7IDExLCAgNywgIDEgfSwJLyogUmlnaHQgREFDMSBEaWdpdGFsIE11dGUgKi8KKwlhZDE4NDNfTERBMUFNID0geyAxMSwgMTUsICAxIH0sCS8qIExlZnQgREFDMSBEaWdpdGFsIE11dGUgKi8KKwlhZDE4NDNfUkRBMkFNID0geyAxMiwgIDcsICAxIH0sCS8qIFJpZ2h0IERBQzIgRGlnaXRhbCBNdXRlICovCisJYWQxODQzX0xEQTJBTSA9IHsgMTIsIDE1LCAgMSB9LAkvKiBMZWZ0IERBQzIgRGlnaXRhbCBNdXRlICovCisJYWQxODQzX0FETEMgICA9IHsgMTUsICAwLCAgMiB9LAkvKiBBREMgTGVmdCBTYW1wbGUgUmF0ZSBTb3VyY2UgKi8KKwlhZDE4NDNfQURSQyAgID0geyAxNSwgIDIsICAyIH0sCS8qIEFEQyBSaWdodCBTYW1wbGUgUmF0ZSBTb3VyY2UgKi8KKwlhZDE4NDNfREExQyAgID0geyAxNSwgIDgsICAyIH0sCS8qIERBQzEgU2FtcGxlIFJhdGUgU291cmNlICovCisJYWQxODQzX0RBMkMgICA9IHsgMTUsIDEwLCAgMiB9LAkvKiBEQUMyIFNhbXBsZSBSYXRlIFNvdXJjZSAqLworCWFkMTg0M19DMUMgICAgPSB7IDE3LCAgMCwgMTYgfSwJLyogQ2xvY2sgMSBTYW1wbGUgUmF0ZSBTZWxlY3QgKi8KKwlhZDE4NDNfQzJDICAgID0geyAyMCwgIDAsIDE2IH0sCS8qIENsb2NrIDIgU2FtcGxlIFJhdGUgU2VsZWN0ICovCisJYWQxODQzX0MzQyAgICA9IHsgMjMsICAwLCAxNiB9LAkvKiBDbG9jayAzIFNhbXBsZSBSYXRlIFNlbGVjdCAqLworCWFkMTg0M19EQUFETCAgPSB7IDI1LCAgNCwgIDIgfSwJLyogRGlnaXRhbCBBREMgTGVmdCBTb3VyY2UgU2VsZWN0ICovCisJYWQxODQzX0RBQURSICA9IHsgMjUsICA2LCAgMiB9LAkvKiBEaWdpdGFsIEFEQyBSaWdodCBTb3VyY2UgU2VsZWN0ICovCisJYWQxODQzX0RBTUlYICA9IHsgMjUsIDE0LCAgMSB9LAkvKiBEQUMgRGlnaXRhbCBNaXggRW5hYmxlICovCisJYWQxODQzX0RSU0ZMVCA9IHsgMjUsIDE1LCAgMSB9LAkvKiBEaWdpdGFsIFJlYW1wbGVyIEZpbHRlciBNb2RlICovCisJYWQxODQzX0FETEYgICA9IHsgMjYsICAwLCAgMiB9LCAvKiBBREMgTGVmdCBDaGFubmVsIERhdGEgRm9ybWF0ICovCisJYWQxODQzX0FEUkYgICA9IHsgMjYsICAyLCAgMiB9LCAvKiBBREMgUmlnaHQgQ2hhbm5lbCBEYXRhIEZvcm1hdCAqLworCWFkMTg0M19BRFRMSyAgPSB7IDI2LCAgNCwgIDEgfSwJLyogQURDIFRyYW5zbWl0IExvY2sgTW9kZSBTZWxlY3QgKi8KKwlhZDE4NDNfU0NGICAgID0geyAyNiwgIDcsICAxIH0sCS8qIFNDTEsgRnJlcXVlbmN5IFNlbGVjdCAqLworCWFkMTg0M19EQTFGICAgPSB7IDI2LCAgOCwgIDIgfSwJLyogREFDMSBEYXRhIEZvcm1hdCBTZWxlY3QgKi8KKwlhZDE4NDNfREEyRiAgID0geyAyNiwgMTAsICAyIH0sCS8qIERBQzIgRGF0YSBGb3JtYXQgU2VsZWN0ICovCisJYWQxODQzX0RBMVNNICA9IHsgMjYsIDE0LCAgMSB9LAkvKiBEQUMxIFN0ZXJlby9Nb25vIE1vZGUgU2VsZWN0ICovCisJYWQxODQzX0RBMlNNICA9IHsgMjYsIDE1LCAgMSB9LAkvKiBEQUMyIFN0ZXJlby9Nb25vIE1vZGUgU2VsZWN0ICovCisJYWQxODQzX0FETEVOICA9IHsgMjcsICAwLCAgMSB9LAkvKiBBREMgTGVmdCBDaGFubmVsIEVuYWJsZSAqLworCWFkMTg0M19BRFJFTiAgPSB7IDI3LCAgMSwgIDEgfSwJLyogQURDIFJpZ2h0IENoYW5uZWwgRW5hYmxlICovCisJYWQxODQzX0FBTUVOICA9IHsgMjcsICA0LCAgMSB9LAkvKiBBbmFsb2cgdG8gQW5hbG9nIE1peCBFbmFibGUgKi8KKwlhZDE4NDNfQU5BRU4gID0geyAyNywgIDcsICAxIH0sCS8qIEFuYWxvZyBDaGFubmVsIEVuYWJsZSAqLworCWFkMTg0M19EQTFFTiAgPSB7IDI3LCAgOCwgIDEgfSwJLyogREFDMSBFbmFibGUgKi8KKwlhZDE4NDNfREEyRU4gID0geyAyNywgIDksICAxIH0sCS8qIERBQzIgRW5hYmxlICovCisJYWQxODQzX0RETUVOICA9IHsgMjcsIDEyLCAgMSB9LAkvKiBEQUMyIHRvIERBQzEgTWl4ICBFbmFibGUgKi8KKwlhZDE4NDNfQzFFTiAgID0geyAyOCwgMTEsICAxIH0sCS8qIENsb2NrIEdlbmVyYXRvciAxIEVuYWJsZSAqLworCWFkMTg0M19DMkVOICAgPSB7IDI4LCAxMiwgIDEgfSwJLyogQ2xvY2sgR2VuZXJhdG9yIDIgRW5hYmxlICovCisJYWQxODQzX0MzRU4gICA9IHsgMjgsIDEzLCAgMSB9LAkvKiBDbG9jayBHZW5lcmF0b3IgMyBFbmFibGUgKi8KKwlhZDE4NDNfUEROSSAgID0geyAyOCwgMTUsICAxIH07CS8qIENvbnZlcnRlciBQb3dlciBEb3duICovCisKKy8qCisgKiBUaGUgdmFyaW91cyByZWdpc3RlcnMgb2YgdGhlIEFEMTg0MyB1c2UgdGhyZWUgZGlmZmVyZW50IGZvcm1hdHMgZm9yCisgKiBzcGVjaWZ5aW5nIGdhaW4uICBUaGUgYWQxODQzX2dhaW4gc3RydWN0dXJlIHBhcmFtZXRlcml6ZXMgdGhlCisgKiBmb3JtYXRzLgorICovCisKK3N0cnVjdCBhZDE4NDNfZ2FpbiB7CisJaW50CW5lZ2F0aXZlOwkJLyogbm9uemVybyBpZiBnYWluIGlzIG5lZ2F0aXZlLiAqLworCWNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKmxmaWVsZDsKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpyZmllbGQ7CisJY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqbG11dGU7CisJY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqcm11dGU7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluIGFkMTg0M19nYWluX1JFQ0xFViA9IHsKKwkubmVnYXRpdmUgPSAwLAorCS5sZmllbGQgICA9ICZhZDE4NDNfTElHLAorCS5yZmllbGQgICA9ICZhZDE4NDNfUklHCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiBhZDE4NDNfZ2Fpbl9MSU5FID0geworCS5uZWdhdGl2ZSA9IDEsCisJLmxmaWVsZCAgID0gJmFkMTg0M19MWDFNLAorCS5yZmllbGQgICA9ICZhZDE4NDNfUlgxTSwKKwkubG11dGUgICAgPSAmYWQxODQzX0xYMU1NLAorCS5ybXV0ZSAgICA9ICZhZDE4NDNfUlgxTU0KK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluIGFkMTg0M19nYWluX0xJTkVfMiA9IHsKKwkubmVnYXRpdmUgPSAxLAorCS5sZmllbGQgICA9ICZhZDE4NDNfTERBMkcsCisJLnJmaWVsZCAgID0gJmFkMTg0M19SREEyRywKKwkubG11dGUgICAgPSAmYWQxODQzX0xEQTJHTSwKKwkucm11dGUgICAgPSAmYWQxODQzX1JEQTJHTQorfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gYWQxODQzX2dhaW5fTUlDID0geworCS5uZWdhdGl2ZSA9IDEsCisJLmxmaWVsZCAgID0gJmFkMTg0M19MTUNNLAorCS5yZmllbGQgICA9ICZhZDE4NDNfUk1DTSwKKwkubG11dGUgICAgPSAmYWQxODQzX0xNQ01NLAorCS5ybXV0ZSAgICA9ICZhZDE4NDNfUk1DTU0KK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluIGFkMTg0M19nYWluX1BDTV8wID0geworCS5uZWdhdGl2ZSA9IDEsCisJLmxmaWVsZCAgID0gJmFkMTg0M19MREExRywKKwkucmZpZWxkICAgPSAmYWQxODQzX1JEQTFHLAorCS5sbXV0ZSAgICA9ICZhZDE4NDNfTERBMUdNLAorCS5ybXV0ZSAgICA9ICZhZDE4NDNfUkRBMUdNCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiBhZDE4NDNfZ2Fpbl9QQ01fMSA9IHsKKwkubmVnYXRpdmUgPSAxLAorCS5sZmllbGQgICA9ICZhZDE4NDNfTEQyTSwKKwkucmZpZWxkICAgPSAmYWQxODQzX1JEMk0sCisJLmxtdXRlICAgID0gJmFkMTg0M19MRDJNTSwKKwkucm11dGUgICAgPSAmYWQxODQzX1JEMk1NCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluICphZDE4NDNfZ2FpbltBRDE4NDNfR0FJTl9TSVpFXSA9Cit7CisJJmFkMTg0M19nYWluX1JFQ0xFViwKKwkmYWQxODQzX2dhaW5fTElORSwKKwkmYWQxODQzX2dhaW5fTElORV8yLAorCSZhZDE4NDNfZ2Fpbl9NSUMsCisJJmFkMTg0M19nYWluX1BDTV8wLAorCSZhZDE4NDNfZ2Fpbl9QQ01fMSwKK307CisKKy8qIHJlYWQgdGhlIGN1cnJlbnQgdmFsdWUgb2YgYW4gQUQxODQzIGJpdGZpZWxkLiAqLworCitzdGF0aWMgaW50IGFkMTg0M19yZWFkX2JpdHMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywKKwkJCSAgICBjb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpmaWVsZCkKK3sKKwlpbnQgdzsKKworCXcgPSBhZDE4NDMtPnJlYWQoYWQxODQzLT5jaGlwLCBmaWVsZC0+cmVnKTsKKwlyZXR1cm4gdyA+PiBmaWVsZC0+bG9fYml0ICYgKCgxIDw8IGZpZWxkLT5uYml0cykgLSAxKTsKK30KKworLyoKKyAqIHdyaXRlIGEgbmV3IHZhbHVlIHRvIGFuIEFEMTg0MyBiaXRmaWVsZCBhbmQgcmV0dXJuIHRoZSBvbGQgdmFsdWUuCisgKi8KKworc3RhdGljIGludCBhZDE4NDNfd3JpdGVfYml0cyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkJICAgICBjb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpmaWVsZCwKKwkJCSAgICAgaW50IG5ld3ZhbCkKK3sKKwlpbnQgdywgbWFzaywgb2xkdmFsLCBuZXdiaXRzOworCisJdyA9IGFkMTg0My0+cmVhZChhZDE4NDMtPmNoaXAsIGZpZWxkLT5yZWcpOworCW1hc2sgPSAoKDEgPDwgZmllbGQtPm5iaXRzKSAtIDEpIDw8IGZpZWxkLT5sb19iaXQ7CisJb2xkdmFsID0gKHcgJiBtYXNrKSA+PiBmaWVsZC0+bG9fYml0OworCW5ld2JpdHMgPSAobmV3dmFsIDw8IGZpZWxkLT5sb19iaXQpICYgbWFzazsKKwl3ID0gKHcgJiB+bWFzaykgfCBuZXdiaXRzOworCWFkMTg0My0+d3JpdGUoYWQxODQzLT5jaGlwLCBmaWVsZC0+cmVnLCB3KTsKKworCXJldHVybiBvbGR2YWw7Cit9CisKKy8qCisgKiBhZDE4NDNfcmVhZF9tdWx0aSByZWFkcyBtdWx0aXBsZSBiaXRmaWVsZHMgZnJvbSB0aGUgc2FtZSBBRDE4NDMKKyAqIHJlZ2lzdGVyLiAgSXQgdXNlcyBhIHNpbmdsZSByZWFkIGN5Y2xlIHRvIGRvIGl0LiAgKFJlYWRpbmcgdGhlCisgKiBhZDE4NDMgcmVxdWlyZXMgMjU2IGJpdCB0aW1lcyBhdCAxMi4yODggTUh6LCBvciBuZWFybHkgMjAKKyAqIG1pY3Jvc2Vjb25kcy4pCisgKgorICogQ2FsbGVkIGxpa2UgdGhpcy4KKyAqCisgKiAgYWQxODQzX3JlYWRfbXVsdGkoYWQxODQzLCBuZmllbGRzLAorICoJCSAgICAgICZhZDE4NDNfRklFTEQxLCAmdmFsMSwKKyAqCQkgICAgICAmYWQxODQzX0ZJRUxEMiwgJnZhbDIsIC4uLik7CisgKi8KKworc3RhdGljIHZvaWQgYWQxODQzX3JlYWRfbXVsdGkoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGFyZ2NvdW50LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpmcDsKKwlpbnQgdyA9IDAsIG1hc2ssICp2YWx1ZSwgcmVnID0gLTE7CisKKwl2YV9zdGFydChhcCwgYXJnY291bnQpOworCXdoaWxlICgtLWFyZ2NvdW50ID49IDApIHsKKwkJZnAgPSB2YV9hcmcoYXAsIGNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKik7CisJCXZhbHVlID0gdmFfYXJnKGFwLCBpbnQgKik7CisJCWlmIChyZWcgPT0gLTEpIHsKKwkJCXJlZyA9IGZwLT5yZWc7CisJCQl3ID0gYWQxODQzLT5yZWFkKGFkMTg0My0+Y2hpcCwgcmVnKTsKKwkJfQorCisJCW1hc2sgPSAoMSA8PCBmcC0+bmJpdHMpIC0gMTsKKwkJKnZhbHVlID0gdyA+PiBmcC0+bG9fYml0ICYgbWFzazsKKwl9CisJdmFfZW5kKGFwKTsKK30KKworLyoKKyAqIGFkMTg0M193cml0ZV9tdWx0aSBzdG9yZXMgbXVsdGlwbGUgYml0ZmllbGRzIGludG8gdGhlIHNhbWUgQUQxODQzCisgKiByZWdpc3Rlci4gIEl0IHVzZXMgb25lIHJlYWQgYW5kIG9uZSB3cml0ZSBjeWNsZSB0byBkbyBpdC4KKyAqCisgKiBDYWxsZWQgbGlrZSB0aGlzLgorICoKKyAqICBhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCBuZmllbGRzLAorICoJCSAgICAgICAmYWQxODQzX0ZJRUxEMSwgdmFsMSwKKyAqCQkgICAgICAgJmFkMTg0M19GSUVMRjIsIHZhbDIsIC4uLik7CisgKi8KKworc3RhdGljIHZvaWQgYWQxODQzX3dyaXRlX211bHRpKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBhcmdjb3VudCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisJaW50IHJlZzsKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpmcDsKKwlpbnQgdmFsdWU7CisJaW50IHcsIG0sIG1hc2ssIGJpdHM7CisKKwltYXNrID0gMDsKKwliaXRzID0gMDsKKwlyZWcgPSAtMTsKKworCXZhX3N0YXJ0KGFwLCBhcmdjb3VudCk7CisJd2hpbGUgKC0tYXJnY291bnQgPj0gMCkgeworCQlmcCA9IHZhX2FyZyhhcCwgY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqKTsKKwkJdmFsdWUgPSB2YV9hcmcoYXAsIGludCk7CisJCWlmIChyZWcgPT0gLTEpCisJCQlyZWcgPSBmcC0+cmVnOworCQllbHNlCisJCQlCVUdfT04ocmVnICE9IGZwLT5yZWcpOworCQltID0gKCgxIDw8IGZwLT5uYml0cykgLSAxKSA8PCBmcC0+bG9fYml0OworCQltYXNrIHw9IG07CisJCWJpdHMgfD0gKHZhbHVlIDw8IGZwLT5sb19iaXQpICYgbTsKKwl9CisJdmFfZW5kKGFwKTsKKworCWlmICh+bWFzayAmIDB4RkZGRikKKwkJdyA9IGFkMTg0My0+cmVhZChhZDE4NDMtPmNoaXAsIHJlZyk7CisJZWxzZQorCQl3ID0gMDsKKwl3ID0gKHcgJiB+bWFzaykgfCBiaXRzOworCWFkMTg0My0+d3JpdGUoYWQxODQzLT5jaGlwLCByZWcsIHcpOworfQorCitpbnQgYWQxODQzX2dldF9nYWluX21heChzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgaWQpCit7CisJY29uc3Qgc3RydWN0IGFkMTg0M19nYWluICpncCA9IGFkMTg0M19nYWluW2lkXTsKKwlpbnQgcmV0OworCisJcmV0ID0gKDEgPDwgZ3AtPmxmaWVsZC0+bmJpdHMpOworCWlmICghZ3AtPmxtdXRlKQorCQlyZXQgLT0gMTsKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogYWQxODQzX2dldF9nYWluIHJlYWRzIHRoZSBzcGVjaWZpZWQgcmVnaXN0ZXIgYW5kIGV4dHJhY3RzIHRoZSBnYWluIHZhbHVlCisgKiB1c2luZyB0aGUgc3VwcGxpZWQgZ2FpbiB0eXBlLgorICovCisKK2ludCBhZDE4NDNfZ2V0X2dhaW4oc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkKQoreworCWludCBsZywgcmcsIGxtLCBybTsKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gKmdwID0gYWQxODQzX2dhaW5baWRdOworCXVuc2lnbmVkIHNob3J0IG1hc2sgPSAoMSA8PCBncC0+bGZpZWxkLT5uYml0cykgLSAxOworCisJYWQxODQzX3JlYWRfbXVsdGkoYWQxODQzLCAyLCBncC0+bGZpZWxkLCAmbGcsIGdwLT5yZmllbGQsICZyZyk7CisJaWYgKGdwLT5uZWdhdGl2ZSkgeworCQlsZyA9IG1hc2sgLSBsZzsKKwkJcmcgPSBtYXNrIC0gcmc7CisJfQorCWlmIChncC0+bG11dGUpIHsKKwkJYWQxODQzX3JlYWRfbXVsdGkoYWQxODQzLCAyLCBncC0+bG11dGUsICZsbSwgZ3AtPnJtdXRlLCAmcm0pOworCQlpZiAobG0pCisJCQlsZyA9IDA7CisJCWlmIChybSkKKwkJCXJnID0gMDsKKwl9CisJcmV0dXJuIGxnIDw8IDAgfCByZyA8PCA4OworfQorCisvKgorICogU2V0IGFuIGF1ZGlvIGNoYW5uZWwncyBnYWluLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBnYWluLCB3aGljaCBtYXkgYmUgbG93ZXIgdGhhbiB0aGUgb2xkIGdhaW4uCisgKi8KKworaW50IGFkMTg0M19zZXRfZ2FpbihzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgaWQsIGludCBuZXd2YWwpCit7CisJY29uc3Qgc3RydWN0IGFkMTg0M19nYWluICpncCA9IGFkMTg0M19nYWluW2lkXTsKKwl1bnNpZ25lZCBzaG9ydCBtYXNrID0gKDEgPDwgZ3AtPmxmaWVsZC0+bmJpdHMpIC0gMTsKKworCWludCBsZyA9IChuZXd2YWwgPj4gMCkgJiBtYXNrOworCWludCByZyA9IChuZXd2YWwgPj4gOCkgJiBtYXNrOworCWludCBsbSA9IChsZyA9PSAwKSA/IDEgOiAwOworCWludCBybSA9IChyZyA9PSAwKSA/IDEgOiAwOworCisJaWYgKGdwLT5uZWdhdGl2ZSkgeworCQlsZyA9IG1hc2sgLSBsZzsKKwkJcmcgPSBtYXNrIC0gcmc7CisJfQorCWlmIChncC0+bG11dGUpCisJCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsIGdwLT5sbXV0ZSwgbG0sIGdwLT5ybXV0ZSwgcm0pOworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsIGdwLT5sZmllbGQsIGxnLCBncC0+cmZpZWxkLCByZyk7CisJcmV0dXJuIGFkMTg0M19nZXRfZ2FpbihhZDE4NDMsIGlkKTsKK30KKworLyogUmV0dXJucyB0aGUgY3VycmVudCByZWNvcmRpbmcgc291cmNlICovCisKK2ludCBhZDE4NDNfZ2V0X3JlY3NyYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKQoreworCWludCB2YWwgPSBhZDE4NDNfcmVhZF9iaXRzKGFkMTg0MywgJmFkMTg0M19MU1MpOworCisJaWYgKHZhbCA8IDAgfHwgdmFsID4gMikgeworCQl2YWwgPSAyOworCQlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLAorCQkJCSAgICZhZDE4NDNfTFNTLCB2YWwsICZhZDE4NDNfUlNTLCB2YWwpOworCX0KKwlyZXR1cm4gdmFsOworfQorCisvKgorICogU2V0IHJlY29yZGluZyBzb3VyY2UuCisgKgorICogUmV0dXJucyBuZXdzcmMgb24gc3VjY2VzcywgLWVycm5vIG9uIGZhaWx1cmUuCisgKi8KKworaW50IGFkMTg0M19zZXRfcmVjc3JjKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBuZXdzcmMpCit7CisJaWYgKG5ld3NyYyA8IDAgfHwgbmV3c3JjID4gMikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLCAmYWQxODQzX0xTUywgbmV3c3JjLCAmYWQxODQzX1JTUywgbmV3c3JjKTsKKwlyZXR1cm4gbmV3c3JjOworfQorCisvKiBTZXR1cCBhZDE4NDMgZm9yIEQvQSBjb252ZXJzaW9uLiAqLworCit2b2lkIGFkMTg0M19zZXR1cF9kYWMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywKKwkJICAgICAgdW5zaWduZWQgaW50IGlkLAorCQkgICAgICB1bnNpZ25lZCBpbnQgZnJhbWVyYXRlLAorCQkgICAgICBzbmRfcGNtX2Zvcm1hdF90IGZtdCwKKwkJICAgICAgdW5zaWduZWQgaW50IGNoYW5uZWxzKQoreworCWludCBhZF9mbXQgPSAwLCBhZF9tb2RlID0gMDsKKworCXN3aXRjaCAoZm10KSB7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1M4OgorCQlhZF9mbXQgPSAwOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfVTg6CisJCWFkX2ZtdCA9IDA7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEU6CisJCWFkX2ZtdCA9IDE7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9NVV9MQVc6CisJCWFkX2ZtdCA9IDI7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9BX0xBVzoKKwkJYWRfZm10ID0gMzsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJc3dpdGNoIChjaGFubmVscykgeworCWNhc2UgMjoKKwkJYWRfbW9kZSA9IDA7CisJCWJyZWFrOworCWNhc2UgMToKKwkJYWRfbW9kZSA9IDE7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCWlmIChpZCkgeworCQlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfQzJDLCBmcmFtZXJhdGUpOworCQlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLAorCQkJCSAgICZhZDE4NDNfREEyU00sIGFkX21vZGUsCisJCQkJICAgJmFkMTg0M19EQTJGLCBhZF9mbXQpOworCX0gZWxzZSB7CisJCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19DMUMsIGZyYW1lcmF0ZSk7CisJCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsCisJCQkJICAgJmFkMTg0M19EQTFTTSwgYWRfbW9kZSwKKwkJCQkgICAmYWQxODQzX0RBMUYsIGFkX2ZtdCk7CisJfQorfQorCit2b2lkIGFkMTg0M19zaHV0ZG93bl9kYWMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgdW5zaWduZWQgaW50IGlkKQoreworCWlmIChpZCkKKwkJYWQxODQzX3dyaXRlX2JpdHMoYWQxODQzLCAmYWQxODQzX0RBMkYsIDEpOworCWVsc2UKKwkJYWQxODQzX3dyaXRlX2JpdHMoYWQxODQzLCAmYWQxODQzX0RBMUYsIDEpOworfQorCit2b2lkIGFkMTg0M19zZXR1cF9hZGMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywKKwkJICAgICAgdW5zaWduZWQgaW50IGZyYW1lcmF0ZSwKKwkJICAgICAgc25kX3BjbV9mb3JtYXRfdCBmbXQsCisJCSAgICAgIHVuc2lnbmVkIGludCBjaGFubmVscykKK3sKKwlpbnQgZGFfZm10ID0gMDsKKworCXN3aXRjaCAoZm10KSB7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1M4OglkYV9mbXQgPSAwOyBicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfVTg6CWRhX2ZtdCA9IDA7IGJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEU6CWRhX2ZtdCA9IDE7IGJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9NVV9MQVc6CWRhX2ZtdCA9IDI7IGJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9BX0xBVzoJZGFfZm10ID0gMzsgYnJlYWs7CisJZGVmYXVsdDoJCWJyZWFrOworCX0KKworCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19DM0MsIGZyYW1lcmF0ZSk7CisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwKKwkJCSAgICZhZDE4NDNfQURMRiwgZGFfZm10LCAmYWQxODQzX0FEUkYsIGRhX2ZtdCk7Cit9CisKK3ZvaWQgYWQxODQzX3NodXRkb3duX2FkYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKQoreworCS8qIG5vdGhpbmcgdG8gZG8gKi8KK30KKworLyoKKyAqIEZ1bGx5IGluaXRpYWxpemUgdGhlIGFkMTg0My4gIEFzIGRlc2NyaWJlZCBpbiB0aGUgQUQxODQzIGRhdGEKKyAqIHNoZWV0LCBzZWN0aW9uICJTVEFSVC1VUCBTRVFVRU5DRSIuICBUaGUgbnVtYmVyZWQgY29tbWVudHMgYXJlCisgKiBzdWJzZWN0aW9uIGhlYWRpbmdzIGZyb20gdGhlIGRhdGEgc2hlZXQuICBTZWUgdGhlIGRhdGEgc2hlZXQsIHBhZ2VzCisgKiA1Mi01NCwgZm9yIG1vcmUgaW5mby4KKyAqCisgKiByZXR1cm4gMCBvbiBzdWNjZXNzLCAtZXJybm8gb24gZmFpbHVyZS4gICovCisKK2ludCBhZDE4NDNfaW5pdChzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKQoreworCXVuc2lnbmVkIGxvbmcgbGF0ZXI7CisKKwlpZiAoYWQxODQzX3JlYWRfYml0cyhhZDE4NDMsICZhZDE4NDNfSU5JVCkgIT0gMCkgeworCQlwcmludGsoS0VSTl9FUlIgImFkMTg0MzogQUQxODQzIHdvbid0IGluaXRpYWxpemVcbiIpOworCQlyZXR1cm4gLUVJTzsKKwl9CisKKwlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfU0NGLCAxKTsKKworCS8qIDQuIFB1dCB0aGUgY29udmVyc2lvbiByZXNvdXJjZXMgaW50byBzdGFuZGJ5LiAqLworCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19QRE5JLCAwKTsKKwlsYXRlciA9IGppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKDUwMCk7CisKKwl3aGlsZSAoYWQxODQzX3JlYWRfYml0cyhhZDE4NDMsICZhZDE4NDNfUEROTykpIHsKKwkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgbGF0ZXIpKSB7CisJCQlwcmludGsoS0VSTl9FUlIKKwkJCSAgICAgICAiYWQxODQzOiBBRDE4NDMgd29uJ3QgcG93ZXIgdXBcbiIpOworCQkJcmV0dXJuIC1FSU87CisJCX0KKwkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKDUpOworCX0KKworCS8qIDUuIFBvd2VyIHVwIHRoZSBjbG9jayBnZW5lcmF0b3JzIGFuZCBlbmFibGUgY2xvY2sgb3V0cHV0IHBpbnMuICovCisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMywKKwkJCSAgICZhZDE4NDNfQzFFTiwgMSwKKwkJCSAgICZhZDE4NDNfQzJFTiwgMSwKKwkJCSAgICZhZDE4NDNfQzNFTiwgMSk7CisKKwkvKiA2LiBDb25maWd1cmUgY29udmVyc2lvbiByZXNvdXJjZXMgd2hpbGUgdGhleSBhcmUgaW4gc3RhbmRieS4gKi8KKworCS8qIERBQzEvMiB1c2UgY2xvY2sgMS8yIGFzIHNvdXJjZSwgQURDIHVzZXMgY2xvY2sgMy4gIEFsd2F5cy4gKi8KKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCA0LAorCQkJICAgJmFkMTg0M19EQTFDLCAxLAorCQkJICAgJmFkMTg0M19EQTJDLCAyLAorCQkJICAgJmFkMTg0M19BRExDLCAzLAorCQkJICAgJmFkMTg0M19BRFJDLCAzKTsKKworCS8qIDcuIEVuYWJsZSBjb252ZXJzaW9uIHJlc291cmNlcy4gKi8KKwlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfQURUTEssIDEpOworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDcsCisJCQkgICAmYWQxODQzX0FOQUVOLCAxLAorCQkJICAgJmFkMTg0M19BQU1FTiwgMSwKKwkJCSAgICZhZDE4NDNfREExRU4sIDEsCisJCQkgICAmYWQxODQzX0RBMkVOLCAxLAorCQkJICAgJmFkMTg0M19ERE1FTiwgMSwKKwkJCSAgICZhZDE4NDNfQURMRU4sIDEsCisJCQkgICAmYWQxODQzX0FEUkVOLCAxKTsKKworCS8qIDguIENvbmZpZ3VyZSBjb252ZXJzaW9uIHJlc291cmNlcyB3aGlsZSB0aGV5IGFyZSBlbmFibGVkLiAqLworCisJLyogc2V0IGdhaW4gdG8gMCBmb3IgYWxsIGNoYW5uZWxzICovCisJYWQxODQzX3NldF9nYWluKGFkMTg0MywgQUQxODQzX0dBSU5fUkVDTEVWLCAwKTsKKwlhZDE4NDNfc2V0X2dhaW4oYWQxODQzLCBBRDE4NDNfR0FJTl9MSU5FLCAwKTsKKwlhZDE4NDNfc2V0X2dhaW4oYWQxODQzLCBBRDE4NDNfR0FJTl9MSU5FXzIsIDApOworCWFkMTg0M19zZXRfZ2FpbihhZDE4NDMsIEFEMTg0M19HQUlOX01JQywgMCk7CisJYWQxODQzX3NldF9nYWluKGFkMTg0MywgQUQxODQzX0dBSU5fUENNXzAsIDApOworCWFkMTg0M19zZXRfZ2FpbihhZDE4NDMsIEFEMTg0M19HQUlOX1BDTV8xLCAwKTsKKworCS8qIFVubXV0ZSBhbGwgY2hhbm5lbHMuICovCisJLyogREFDMSAqLworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsICZhZDE4NDNfTERBMUdNLCAwLCAmYWQxODQzX1JEQTFHTSwgMCk7CisJLyogREFDMiAqLworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsICZhZDE4NDNfTERBMkdNLCAwLCAmYWQxODQzX1JEQTJHTSwgMCk7CisKKwkvKiBTZXQgZGVmYXVsdCByZWNvcmRpbmcgc291cmNlIHRvIExpbmUgSW4gYW5kIHNldAorCSAqIG1pYyBnYWluIHRvICsyMCBkQi4KKwkgKi8KKwlhZDE4NDNfc2V0X3JlY3NyYyhhZDE4NDMsIDIpOworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsICZhZDE4NDNfTE1HRSwgMSwgJmFkMTg0M19STUdFLCAxKTsKKworCS8qIFNldCBTcGVha2VyIE91dCBsZXZlbCB0byArLy0gNFYgYW5kIHVubXV0ZSBpdC4gKi8KKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAzLAorCQkJICAgJmFkMTg0M19IUE9TLCAxLAorCQkJICAgJmFkMTg0M19IUE9NLCAwLAorCQkJICAgJmFkMTg0M19NUE9NLCAwKTsKKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvc291bmQvbWlwcy9oYWwyLmMgYi9zb3VuZC9taXBzL2hhbDIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjQ5NWJlCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvbWlwcy9oYWwyLmMKQEAgLTAsMCArMSw5NDcgQEAKKy8qCisgKiAgRHJpdmVyIGZvciBBMiBhdWRpbyBzeXN0ZW0gdXNlZCBpbiBTR0kgbWFjaGluZXMKKyAqICBDb3B5cmlnaHQgKGMpIDIwMDggVGhvbWFzIEJvZ2VuZG9lcmZlciA8dHNib2dlbmRAYWxwaGEuZmFua2VuLmRlPgorICoKKyAqICBCYXNlZCBvbiBPU1MgY29kZSBmcm9tIExhZGlzbGF2IE1pY2hsIDxsYWRpc0BsaW51eC1taXBzLm9yZz4sIHdoaWNoCisgKiAgd2FzIGJhc2VkIG9uIGNvZGUgZnJvbSBVbGYgQ2FybHNzb24KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICovCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2luY2x1ZGUgPGFzbS9zZ2kvaHBjMy5oPgorI2luY2x1ZGUgPGFzbS9zZ2kvaXAyMi5oPgorCisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL2NvbnRyb2wuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20taW5kaXJlY3QuaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisKKyNpbmNsdWRlICJoYWwyLmgiCisKK3N0YXRpYyBpbnQgaW5kZXggPSBTTkRSVl9ERUZBVUxUX0lEWDE7ICAvKiBJbmRleCAwLU1BWCAqLworc3RhdGljIGNoYXIgKmlkID0gU05EUlZfREVGQVVMVF9TVFIxOyAgIC8qIElEIGZvciB0aGlzIGNhcmQgKi8KKworbW9kdWxlX3BhcmFtKGluZGV4LCBpbnQsIDA0NDQpOworTU9EVUxFX1BBUk1fREVTQyhpbmRleCwgIkluZGV4IHZhbHVlIGZvciBTR0kgSEFMMiBzb3VuZGNhcmQuIik7Cittb2R1bGVfcGFyYW0oaWQsIGNoYXJwLCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0MoaWQsICJJRCBzdHJpbmcgZm9yIFNHSSBIQUwyIHNvdW5kY2FyZC4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiQUxTQSBkcml2ZXIgZm9yIFNHSSBIQUwyIGF1ZGlvIik7CitNT0RVTEVfQVVUSE9SKCJUaG9tYXMgQm9nZW5kb2VyZmVyIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CisKKworI2RlZmluZSBIMl9CTE9DS19TSVpFCTEwMjQKKyNkZWZpbmUgSDJfQlVGX1NJWkUJMTYzODQKKworc3RydWN0IGhhbDJfcGJ1cyB7CisJc3RydWN0IGhwYzNfcGJ1c19kbWFjcmVncyAqcGJ1czsKKwlpbnQgcGJ1c25yOworCXVuc2lnbmVkIGludCBjdHJsOwkJLyogQ3VycmVudCBzdGF0ZSBvZiBwYnVzLT5wYmRtYV9jdHJsICovCit9OworCitzdHJ1Y3QgaGFsMl9kZXNjIHsKKwlzdHJ1Y3QgaHBjX2RtYV9kZXNjIGRlc2M7CisJdTMyIHBhZDsJCQkvKiBwYWRkaW5nICovCit9OworCitzdHJ1Y3QgaGFsMl9jb2RlYyB7CisJc3RydWN0IHNuZF9wY21faW5kaXJlY3QgcGNtX2luZGlyZWN0OworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCisJdW5zaWduZWQgY2hhciAqYnVmZmVyOworCWRtYV9hZGRyX3QgYnVmZmVyX2RtYTsKKwlzdHJ1Y3QgaGFsMl9kZXNjICpkZXNjOworCWRtYV9hZGRyX3QgZGVzY19kbWE7CisJaW50IGRlc2NfY291bnQ7CisJc3RydWN0IGhhbDJfcGJ1cyBwYnVzOworCWludCB2b2ljZXM7CQkJLyogbW9uby9zdGVyZW8gKi8KKwl1bnNpZ25lZCBpbnQgc2FtcGxlX3JhdGU7CisJdW5zaWduZWQgaW50IG1hc3RlcjsJCS8qIE1hc3RlciBmcmVxdWVuY3kgKi8KKwl1bnNpZ25lZCBzaG9ydCBtb2Q7CQkvKiBNT0QgdmFsdWUgKi8KKwl1bnNpZ25lZCBzaG9ydCBpbmM7CQkvKiBJTkMgdmFsdWUgKi8KK307CisKKyNkZWZpbmUgSDJfTUlYX09VVFBVVF9BVFQJMAorI2RlZmluZSBIMl9NSVhfSU5QVVRfR0FJTgkxCisKK3N0cnVjdCBzbmRfaGFsMiB7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkOworCisJc3RydWN0IGhhbDJfY3RsX3JlZ3MgKmN0bF9yZWdzOwkvKiBIQUwyIGN0bCByZWdpc3RlcnMgKi8KKwlzdHJ1Y3QgaGFsMl9hZXNfcmVncyAqYWVzX3JlZ3M7CS8qIEhBTDIgYWVzIHJlZ2lzdGVycyAqLworCXN0cnVjdCBoYWwyX3ZvbF9yZWdzICp2b2xfcmVnczsJLyogSEFMMiB2b2wgcmVnaXN0ZXJzICovCisJc3RydWN0IGhhbDJfc3luX3JlZ3MgKnN5bl9yZWdzOwkvKiBIQUwyIHN5biByZWdpc3RlcnMgKi8KKworCXN0cnVjdCBoYWwyX2NvZGVjIGRhYzsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyBhZGM7Cit9OworCisjZGVmaW5lIEgyX0lORElSRUNUX1dBSVQocmVncykJd2hpbGUgKGhhbDJfcmVhZCgmcmVncy0+aXNyKSAmIEgyX0lTUl9UU1RBVFVTKTsKKworI2RlZmluZSBIMl9SRUFEX0FERFIoYWRkcikJKGFkZHIgfCAoMTw8NykpCisjZGVmaW5lIEgyX1dSSVRFX0FERFIoYWRkcikJKGFkZHIpCisKK3N0YXRpYyBpbmxpbmUgdTMyIGhhbDJfcmVhZCh1MzIgKnJlZykKK3sKKwlyZXR1cm4gX19yYXdfcmVhZGwocmVnKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGhhbDJfd3JpdGUodTMyIHZhbCwgdTMyICpyZWcpCit7CisJX19yYXdfd3JpdGVsKHZhbCwgcmVnKTsKK30KKworCitzdGF0aWMgdTMyIGhhbDJfaV9yZWFkMzIoc3RydWN0IHNuZF9oYWwyICpoYWwyLCB1MTYgYWRkcikKK3sKKwl1MzIgcmV0OworCXN0cnVjdCBoYWwyX2N0bF9yZWdzICpyZWdzID0gaGFsMi0+Y3RsX3JlZ3M7CisKKwloYWwyX3dyaXRlKEgyX1JFQURfQUREUihhZGRyKSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKKwlyZXQgPSBoYWwyX3JlYWQoJnJlZ3MtPmlkcjApICYgMHhmZmZmOworCWhhbDJfd3JpdGUoSDJfUkVBRF9BRERSKGFkZHIpIHwgMHgxLCAmcmVncy0+aWFyKTsKKwlIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpOworCXJldCB8PSAoaGFsMl9yZWFkKCZyZWdzLT5pZHIwKSAmIDB4ZmZmZikgPDwgMTY7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgaGFsMl9pX3dyaXRlMTYoc3RydWN0IHNuZF9oYWwyICpoYWwyLCB1MTYgYWRkciwgdTE2IHZhbCkKK3sKKwlzdHJ1Y3QgaGFsMl9jdGxfcmVncyAqcmVncyA9IGhhbDItPmN0bF9yZWdzOworCisJaGFsMl93cml0ZSh2YWwsICZyZWdzLT5pZHIwKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIxKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIyKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIzKTsKKwloYWwyX3dyaXRlKEgyX1dSSVRFX0FERFIoYWRkciksICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfaV93cml0ZTMyKHN0cnVjdCBzbmRfaGFsMiAqaGFsMiwgdTE2IGFkZHIsIHUzMiB2YWwpCit7CisJc3RydWN0IGhhbDJfY3RsX3JlZ3MgKnJlZ3MgPSBoYWwyLT5jdGxfcmVnczsKKworCWhhbDJfd3JpdGUodmFsICYgMHhmZmZmLCAmcmVncy0+aWRyMCk7CisJaGFsMl93cml0ZSh2YWwgPj4gMTYsICZyZWdzLT5pZHIxKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIyKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIzKTsKKwloYWwyX3dyaXRlKEgyX1dSSVRFX0FERFIoYWRkciksICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfaV9zZXRiaXQxNihzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIsIHUxNiBhZGRyLCB1MTYgYml0KQoreworCXN0cnVjdCBoYWwyX2N0bF9yZWdzICpyZWdzID0gaGFsMi0+Y3RsX3JlZ3M7CisKKwloYWwyX3dyaXRlKEgyX1JFQURfQUREUihhZGRyKSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKKwloYWwyX3dyaXRlKChoYWwyX3JlYWQoJnJlZ3MtPmlkcjApICYgMHhmZmZmKSB8IGJpdCwgJnJlZ3MtPmlkcjApOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjEpOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjIpOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjMpOworCWhhbDJfd3JpdGUoSDJfV1JJVEVfQUREUihhZGRyKSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9pX2NsZWFyYml0MTYoc3RydWN0IHNuZF9oYWwyICpoYWwyLCB1MTYgYWRkciwgdTE2IGJpdCkKK3sKKwlzdHJ1Y3QgaGFsMl9jdGxfcmVncyAqcmVncyA9IGhhbDItPmN0bF9yZWdzOworCisJaGFsMl93cml0ZShIMl9SRUFEX0FERFIoYWRkciksICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7CisJaGFsMl93cml0ZSgoaGFsMl9yZWFkKCZyZWdzLT5pZHIwKSAmIDB4ZmZmZikgJiB+Yml0LCAmcmVncy0+aWRyMCk7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMSk7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMik7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMyk7CisJaGFsMl93cml0ZShIMl9XUklURV9BRERSKGFkZHIpLCAmcmVncy0+aWFyKTsKKwlIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpOworfQorCitzdGF0aWMgaW50IGhhbDJfZ2Fpbl9pbmZvKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCit7CisJdWluZm8tPnR5cGUgPSBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI7CisJdWluZm8tPmNvdW50ID0gMjsKKwl1aW5mby0+dmFsdWUuaW50ZWdlci5taW4gPSAwOworCXN3aXRjaCAoKGludClrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSkgeworCWNhc2UgSDJfTUlYX09VVFBVVF9BVFQ6CisJCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1heCA9IDMxOworCQlicmVhazsKKwljYXNlIEgyX01JWF9JTlBVVF9HQUlOOgorCQl1aW5mby0+dmFsdWUuaW50ZWdlci5tYXggPSAxNTsKKwkJYnJlYWs7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfZ2Fpbl9nZXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCXUzMiB0bXA7CisJaW50IGwsIHI7CisKKwlzd2l0Y2ggKChpbnQpa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpIHsKKwljYXNlIEgyX01JWF9PVVRQVVRfQVRUOgorCQl0bXAgPSBoYWwyX2lfcmVhZDMyKGhhbDIsIEgySV9EQUNfQzIpOworCQlpZiAodG1wICYgSDJJX0MyX01VVEUpIHsKKwkJCWwgPSAwOworCQkJciA9IDA7CisJCX0gZWxzZSB7CisJCQlsID0gMzEgLSAoKHRtcCA+PiBIMklfQzJfTF9BVFRfU0hJRlQpICYgMzEpOworCQkJciA9IDMxIC0gKCh0bXAgPj4gSDJJX0MyX1JfQVRUX1NISUZUKSAmIDMxKTsKKwkJfQorCQlicmVhazsKKwljYXNlIEgyX01JWF9JTlBVVF9HQUlOOgorCQl0bXAgPSBoYWwyX2lfcmVhZDMyKGhhbDIsIEgySV9BRENfQzIpOworCQlsID0gKHRtcCA+PiBIMklfQzJfTF9HQUlOX1NISUZUKSAmIDE1OworCQlyID0gKHRtcCA+PiBIMklfQzJfUl9HQUlOX1NISUZUKSAmIDE1OworCQlicmVhazsKKwl9CisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBsOworCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdID0gcjsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfZ2Fpbl9wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCXUzMiBvbGQsIG5ldzsKKwlpbnQgbCwgcjsKKworCWwgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKKwlyID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV07CisKKwlzd2l0Y2ggKChpbnQpa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpIHsKKwljYXNlIEgyX01JWF9PVVRQVVRfQVRUOgorCQlvbGQgPSBoYWwyX2lfcmVhZDMyKGhhbDIsIEgySV9EQUNfQzIpOworCQluZXcgPSBvbGQgJiB+KEgySV9DMl9MX0FUVF9NIHwgSDJJX0MyX1JfQVRUX00gfCBIMklfQzJfTVVURSk7CisJCWlmIChsIHwgcikgeworCQkJbCA9IDMxIC0gbDsKKwkJCXIgPSAzMSAtIHI7CisJCQluZXcgfD0gKGwgPDwgSDJJX0MyX0xfQVRUX1NISUZUKTsKKwkJCW5ldyB8PSAociA8PCBIMklfQzJfUl9BVFRfU0hJRlQpOworCQl9IGVsc2UKKwkJCW5ldyB8PSBIMklfQzJfTF9BVFRfTSB8IEgySV9DMl9SX0FUVF9NIHwgSDJJX0MyX01VVEU7CisJCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9EQUNfQzIsIG5ldyk7CisJCWJyZWFrOworCWNhc2UgSDJfTUlYX0lOUFVUX0dBSU46CisJCW9sZCA9IGhhbDJfaV9yZWFkMzIoaGFsMiwgSDJJX0FEQ19DMik7CisJCW5ldyA9IG9sZCAmIH4oSDJJX0MyX0xfR0FJTl9NIHwgSDJJX0MyX1JfR0FJTl9NKTsKKwkJbmV3IHw9IChsIDw8IEgySV9DMl9MX0dBSU5fU0hJRlQpOworCQluZXcgfD0gKHIgPDwgSDJJX0MyX1JfR0FJTl9TSElGVCk7CisJCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9BRENfQzIsIG5ldyk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gb2xkICE9IG5ldzsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGhhbDJfY3RybF9oZWFkcGhvbmUgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiSGVhZHBob25lIFBsYXliYWNrIFZvbHVtZSIsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBIMl9NSVhfT1VUUFVUX0FUVCwKKwkuaW5mbyAgICAgICAgICAgPSBoYWwyX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBoYWwyX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IGhhbDJfZ2Fpbl9wdXQsCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgaGFsMl9jdHJsX21pYyBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJNaWMgQ2FwdHVyZSBWb2x1bWUiLAorCS5hY2Nlc3MgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsCisJLnByaXZhdGVfdmFsdWUgID0gSDJfTUlYX0lOUFVUX0dBSU4sCisJLmluZm8gICAgICAgICAgID0gaGFsMl9nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gaGFsMl9nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBoYWwyX2dhaW5fcHV0LAorfTsKKworc3RhdGljIGludCBfX2RldmluaXQgaGFsMl9taXhlcl9jcmVhdGUoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCWludCBlcnI7CisKKwkvKiBtdXRlIERBQyAqLworCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9EQUNfQzIsCisJCSAgICAgICBIMklfQzJfTF9BVFRfTSB8IEgySV9DMl9SX0FUVF9NIHwgSDJJX0MyX01VVEUpOworCS8qIG11dGUgQURDICovCisJaGFsMl9pX3dyaXRlMzIoaGFsMiwgSDJJX0FEQ19DMiwgMCk7CisKKwllcnIgPSBzbmRfY3RsX2FkZChoYWwyLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJmhhbDJfY3RybF9oZWFkcGhvbmUsIGhhbDIpKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IHNuZF9jdGxfYWRkKGhhbDItPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmaGFsMl9jdHJsX21pYywgaGFsMikpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBoYWwyX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gZGV2X2lkOworCWlycXJldHVybl90IHJldCA9IElSUV9OT05FOworCisJLyogZGVjaWRlIHdoYXQgY2F1c2VkIHRoaXMgaW50ZXJydXB0ICovCisJaWYgKGhhbDItPmRhYy5wYnVzLnBidXMtPnBiZG1hX2N0cmwgJiBIUEMzX1BETUFDVFJMX0lOVCkgeworCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGhhbDItPmRhYy5zdWJzdHJlYW0pOworCQlyZXQgPSBJUlFfSEFORExFRDsKKwl9CisJaWYgKGhhbDItPmFkYy5wYnVzLnBidXMtPnBiZG1hX2N0cmwgJiBIUEMzX1BETUFDVFJMX0lOVCkgeworCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGhhbDItPmFkYy5zdWJzdHJlYW0pOworCQlyZXQgPSBJUlFfSEFORExFRDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBoYWwyX2NvbXB1dGVfcmF0ZShzdHJ1Y3QgaGFsMl9jb2RlYyAqY29kZWMsIHVuc2lnbmVkIGludCByYXRlKQoreworCXVuc2lnbmVkIHNob3J0IG1vZDsKKworCWlmICg0NDEwMCAlIHJhdGUgPCA0ODAwMCAlIHJhdGUpIHsKKwkJbW9kID0gNCAqIDQ0MTAwIC8gcmF0ZTsKKwkJY29kZWMtPm1hc3RlciA9IDQ0MTAwOworCX0gZWxzZSB7CisJCW1vZCA9IDQgKiA0ODAwMCAvIHJhdGU7CisJCWNvZGVjLT5tYXN0ZXIgPSA0ODAwMDsKKwl9CisKKwljb2RlYy0+aW5jID0gNDsKKwljb2RlYy0+bW9kID0gbW9kOworCXJhdGUgPSA0ICogY29kZWMtPm1hc3RlciAvIG1vZDsKKworCXJldHVybiByYXRlOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3NldF9kYWNfcmF0ZShzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJdW5zaWduZWQgaW50IG1hc3RlciA9IGhhbDItPmRhYy5tYXN0ZXI7CisJaW50IGluYyA9IGhhbDItPmRhYy5pbmM7CisJaW50IG1vZCA9IGhhbDItPmRhYy5tb2Q7CisKKwloYWwyX2lfd3JpdGUxNihoYWwyLCBIMklfQlJFUzFfQzEsIChtYXN0ZXIgPT0gNDQxMDApID8gMSA6IDApOworCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9CUkVTMV9DMiwKKwkJICAgICAgICgoMHhmZmZmICYgKGluYyAtIG1vZCAtIDEpKSA8PCAxNikgfCBpbmMpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3NldF9hZGNfcmF0ZShzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJdW5zaWduZWQgaW50IG1hc3RlciA9IGhhbDItPmFkYy5tYXN0ZXI7CisJaW50IGluYyA9IGhhbDItPmFkYy5pbmM7CisJaW50IG1vZCA9IGhhbDItPmFkYy5tb2Q7CisKKwloYWwyX2lfd3JpdGUxNihoYWwyLCBIMklfQlJFUzJfQzEsIChtYXN0ZXIgPT0gNDQxMDApID8gMSA6IDApOworCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9CUkVTMl9DMiwKKwkJICAgICAgICgoMHhmZmZmICYgKGluYyAtIG1vZCAtIDEpKSA8PCAxNikgfCBpbmMpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3NldHVwX2RhYyhzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJdW5zaWduZWQgaW50IGZpZm9iZWcsIGZpZm9lbmQsIGhpZ2h3YXRlciwgc2FtcGxlX3NpemU7CisJc3RydWN0IGhhbDJfcGJ1cyAqcGJ1cyA9ICZoYWwyLT5kYWMucGJ1czsKKworCS8qIE5vdyB3ZSBzZXQgdXAgc29tZSBQQlVTIGluZm9ybWF0aW9uLiBUaGUgUEJVUyBuZWVkcyBpbmZvcm1hdGlvbiBhYm91dAorCSAqIHdoYXQgcG9ydGlvbiBvZiB0aGUgZmlmbyBpdCB3aWxsIHVzZS4gSWYgaXQncyByZWNlaXZpbmcgb3IKKwkgKiB0cmFuc21pdHRpbmcsIGFuZCBmaW5hbGx5IHdoZXRoZXIgdGhlIHN0cmVhbSBpcyBsaXR0bGUgZW5kaWFuIG9yIGJpZworCSAqIGVuZGlhbi4gVGhlIGluZm9ybWF0aW9uIGlzIHdyaXR0ZW4gbGF0ZXIsIG9uIHRoZSBzdGFydCBjYWxsLgorCSAqLworCXNhbXBsZV9zaXplID0gMiAqIGhhbDItPmRhYy52b2ljZXM7CisJLyogRmlmbyBzaG91bGQgYmUgc2V0IHRvIGhvbGQgZXhhY3RseSBmb3VyIHNhbXBsZXMuIEhpZ2h3YXRlciBtYXJrCisJICogc2hvdWxkIGJlIHNldCB0byB0d28gc2FtcGxlcy4gKi8KKwloaWdod2F0ZXIgPSAoc2FtcGxlX3NpemUgKiAyKSA+PiAxOwkvKiBoYWxmd29yZHMgKi8KKwlmaWZvYmVnID0gMDsJCQkJLyogcGxheWJhY2sgaXMgZmlyc3QgKi8KKwlmaWZvZW5kID0gKHNhbXBsZV9zaXplICogNCkgPj4gMzsJLyogZG91Ymxld29yZHMgKi8KKwlwYnVzLT5jdHJsID0gSFBDM19QRE1BQ1RSTF9SVCB8IEhQQzNfUERNQUNUUkxfTEQgfAorCQkgICAgIChoaWdod2F0ZXIgPDwgOCkgfCAoZmlmb2JlZyA8PCAxNikgfCAoZmlmb2VuZCA8PCAyNCk7CisJLyogV2UgZGlzYWJsZSBldmVyeXRoaW5nIGJlZm9yZSB3ZSBkbyBhbnl0aGluZyBhdCBhbGwgKi8KKwlwYnVzLT5wYnVzLT5wYmRtYV9jdHJsID0gSFBDM19QRE1BQ1RSTF9MRDsKKwloYWwyX2lfY2xlYXJiaXQxNihoYWwyLCBIMklfRE1BX1BPUlRfRU4sIEgySV9ETUFfUE9SVF9FTl9DT0RFQ1RYKTsKKwkvKiBTZXR1cCB0aGUgSEFMMiBmb3IgcGxheWJhY2sgKi8KKwloYWwyX3NldF9kYWNfcmF0ZShoYWwyKTsKKwkvKiBTZXQgZW5kaWFuZXNzICovCisJaGFsMl9pX2NsZWFyYml0MTYoaGFsMiwgSDJJX0RNQV9FTkQsIEgySV9ETUFfRU5EX0NPREVDVFgpOworCS8qIFNldCBETUEgYnVzICovCisJaGFsMl9pX3NldGJpdDE2KGhhbDIsIEgySV9ETUFfRFJWLCAoMSA8PCBwYnVzLT5wYnVzbnIpKTsKKwkvKiBXZSBhcmUgdXNpbmcgMXN0IEJyZXNlbmhhbSBjbG9jayBnZW5lcmF0b3IgZm9yIHBsYXliYWNrICovCisJaGFsMl9pX3dyaXRlMTYoaGFsMiwgSDJJX0RBQ19DMSwgKHBidXMtPnBidXNuciA8PCBIMklfQzFfRE1BX1NISUZUKQorCQkJfCAoMSA8PCBIMklfQzFfQ0xLSURfU0hJRlQpCisJCQl8IChoYWwyLT5kYWMudm9pY2VzIDw8IEgySV9DMV9EQVRBVF9TSElGVCkpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3NldHVwX2FkYyhzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJdW5zaWduZWQgaW50IGZpZm9iZWcsIGZpZm9lbmQsIGhpZ2h3YXRlciwgc2FtcGxlX3NpemU7CisJc3RydWN0IGhhbDJfcGJ1cyAqcGJ1cyA9ICZoYWwyLT5hZGMucGJ1czsKKworCXNhbXBsZV9zaXplID0gMiAqIGhhbDItPmFkYy52b2ljZXM7CisJaGlnaHdhdGVyID0gKHNhbXBsZV9zaXplICogMikgPj4gMTsJCS8qIGhhbGZ3b3JkcyAqLworCWZpZm9iZWcgPSAoNCAqIDQpID4+IDM7CQkJCS8qIHJlY29yZCBpcyBzZWNvbmQgKi8KKwlmaWZvZW5kID0gKDQgKiA0ICsgc2FtcGxlX3NpemUgKiA0KSA+PiAzOwkvKiBkb3VibGV3b3JkcyAqLworCXBidXMtPmN0cmwgPSBIUEMzX1BETUFDVFJMX1JUIHwgSFBDM19QRE1BQ1RSTF9SQ1YgfCBIUEMzX1BETUFDVFJMX0xEIHwKKwkJICAgICAoaGlnaHdhdGVyIDw8IDgpIHwgKGZpZm9iZWcgPDwgMTYpIHwgKGZpZm9lbmQgPDwgMjQpOworCXBidXMtPnBidXMtPnBiZG1hX2N0cmwgPSBIUEMzX1BETUFDVFJMX0xEOworCWhhbDJfaV9jbGVhcmJpdDE2KGhhbDIsIEgySV9ETUFfUE9SVF9FTiwgSDJJX0RNQV9QT1JUX0VOX0NPREVDUik7CisJLyogU2V0dXAgdGhlIEhBTDIgZm9yIHJlY29yZCAqLworCWhhbDJfc2V0X2FkY19yYXRlKGhhbDIpOworCS8qIFNldCBlbmRpYW5lc3MgKi8KKwloYWwyX2lfY2xlYXJiaXQxNihoYWwyLCBIMklfRE1BX0VORCwgSDJJX0RNQV9FTkRfQ09ERUNSKTsKKwkvKiBTZXQgRE1BIGJ1cyAqLworCWhhbDJfaV9zZXRiaXQxNihoYWwyLCBIMklfRE1BX0RSViwgKDEgPDwgcGJ1cy0+cGJ1c25yKSk7CisJLyogV2UgYXJlIHVzaW5nIDJuZCBCcmVzZW5oYW0gY2xvY2sgZ2VuZXJhdG9yIGZvciByZWNvcmQgKi8KKwloYWwyX2lfd3JpdGUxNihoYWwyLCBIMklfQURDX0MxLCAocGJ1cy0+cGJ1c25yIDw8IEgySV9DMV9ETUFfU0hJRlQpCisJCQl8ICgyIDw8IEgySV9DMV9DTEtJRF9TSElGVCkKKwkJCXwgKGhhbDItPmFkYy52b2ljZXMgPDwgSDJJX0MxX0RBVEFUX1NISUZUKSk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfc3RhcnRfZGFjKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwlzdHJ1Y3QgaGFsMl9wYnVzICpwYnVzID0gJmhhbDItPmRhYy5wYnVzOworCisJcGJ1cy0+cGJ1cy0+cGJkbWFfZHB0ciA9IGhhbDItPmRhYy5kZXNjX2RtYTsKKwlwYnVzLT5wYnVzLT5wYmRtYV9jdHJsID0gcGJ1cy0+Y3RybCB8IEhQQzNfUERNQUNUUkxfQUNUOworCS8qIGVuYWJsZSBEQUMgKi8KKwloYWwyX2lfc2V0Yml0MTYoaGFsMiwgSDJJX0RNQV9QT1JUX0VOLCBIMklfRE1BX1BPUlRfRU5fQ09ERUNUWCk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfc3RhcnRfYWRjKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwlzdHJ1Y3QgaGFsMl9wYnVzICpwYnVzID0gJmhhbDItPmFkYy5wYnVzOworCisJcGJ1cy0+cGJ1cy0+cGJkbWFfZHB0ciA9IGhhbDItPmFkYy5kZXNjX2RtYTsKKwlwYnVzLT5wYnVzLT5wYmRtYV9jdHJsID0gcGJ1cy0+Y3RybCB8IEhQQzNfUERNQUNUUkxfQUNUOworCS8qIGVuYWJsZSBBREMgKi8KKwloYWwyX2lfc2V0Yml0MTYoaGFsMiwgSDJJX0RNQV9QT1JUX0VOLCBIMklfRE1BX1BPUlRfRU5fQ09ERUNSKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGhhbDJfc3RvcF9kYWMoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCWhhbDItPmRhYy5wYnVzLnBidXMtPnBiZG1hX2N0cmwgPSBIUEMzX1BETUFDVFJMX0xEOworCS8qIFRoZSBIQUwyIGl0c2VsZiBtYXkgcmVtYWluIGVuYWJsZWQgc2FmZWx5ICovCit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBoYWwyX3N0b3BfYWRjKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwloYWwyLT5hZGMucGJ1cy5wYnVzLT5wYmRtYV9jdHJsID0gSFBDM19QRE1BQ1RSTF9MRDsKK30KKworc3RhdGljIGludCBoYWwyX2FsbG9jX2RtYWJ1ZihzdHJ1Y3QgaGFsMl9jb2RlYyAqY29kZWMpCit7CisJc3RydWN0IGhhbDJfZGVzYyAqZGVzYzsKKwlkbWFfYWRkcl90IGRlc2NfZG1hLCBidWZmZXJfZG1hOworCWludCBjb3VudCA9IEgyX0JVRl9TSVpFIC8gSDJfQkxPQ0tfU0laRTsKKwlpbnQgaTsKKworCWNvZGVjLT5idWZmZXIgPSBkbWFfYWxsb2Nfbm9uY29oZXJlbnQoTlVMTCwgSDJfQlVGX1NJWkUsCisJCQkJCSAgICAgICZidWZmZXJfZG1hLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNvZGVjLT5idWZmZXIpCisJCXJldHVybiAtRU5PTUVNOworCWRlc2MgPSBkbWFfYWxsb2Nfbm9uY29oZXJlbnQoTlVMTCwgY291bnQgKiBzaXplb2Yoc3RydWN0IGhhbDJfZGVzYyksCisJCQkJICAgICAmZGVzY19kbWEsIEdGUF9LRVJORUwpOworCWlmICghZGVzYykgeworCQlkbWFfZnJlZV9ub25jb2hlcmVudChOVUxMLCBIMl9CVUZfU0laRSwKKwkJCQkgICAgIGNvZGVjLT5idWZmZXIsIGJ1ZmZlcl9kbWEpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJY29kZWMtPmJ1ZmZlcl9kbWEgPSBidWZmZXJfZG1hOworCWNvZGVjLT5kZXNjX2RtYSA9IGRlc2NfZG1hOworCWNvZGVjLT5kZXNjID0gZGVzYzsKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlkZXNjLT5kZXNjLnBidWYgPSBidWZmZXJfZG1hICsgaSAqIEgyX0JMT0NLX1NJWkU7CisJCWRlc2MtPmRlc2MuY250aW5mbyA9IEhQQ0RNQV9YSUUgfCBIMl9CTE9DS19TSVpFOworCQlkZXNjLT5kZXNjLnBuZXh0ID0gKGkgPT0gY291bnQgLSAxKSA/CisJCSAgICAgIGRlc2NfZG1hIDogZGVzY19kbWEgKyAoaSArIDEpICogc2l6ZW9mKHN0cnVjdCBoYWwyX2Rlc2MpOworCQlkZXNjKys7CisJfQorCWRtYV9jYWNoZV9zeW5jKE5VTEwsIGNvZGVjLT5kZXNjLCBjb3VudCAqIHNpemVvZihzdHJ1Y3QgaGFsMl9kZXNjKSwKKwkJICAgICAgIERNQV9UT19ERVZJQ0UpOworCWNvZGVjLT5kZXNjX2NvdW50ID0gY291bnQ7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfZnJlZV9kbWFidWYoc3RydWN0IGhhbDJfY29kZWMgKmNvZGVjKQoreworCWRtYV9mcmVlX25vbmNvaGVyZW50KE5VTEwsIGNvZGVjLT5kZXNjX2NvdW50ICogc2l6ZW9mKHN0cnVjdCBoYWwyX2Rlc2MpLAorCQkJICAgICBjb2RlYy0+ZGVzYywgY29kZWMtPmRlc2NfZG1hKTsKKwlkbWFfZnJlZV9ub25jb2hlcmVudChOVUxMLCBIMl9CVUZfU0laRSwgY29kZWMtPmJ1ZmZlciwKKwkJCSAgICAgY29kZWMtPmJ1ZmZlcl9kbWEpOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgaGFsMl9wY21faHcgPSB7CisJLmluZm8gPSAoU05EUlZfUENNX0lORk9fTU1BUCB8CisJCSBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwKKwkJIFNORFJWX1BDTV9JTkZPX0lOVEVSTEVBVkVEIHwKKwkJIFNORFJWX1BDTV9JTkZPX0JMT0NLX1RSQU5TRkVSKSwKKwkuZm9ybWF0cyA9ICAgICAgICAgIFNORFJWX1BDTV9GTVRCSVRfUzE2X0JFLAorCS5yYXRlcyA9ICAgICAgICAgICAgU05EUlZfUENNX1JBVEVfODAwMF80ODAwMCwKKwkucmF0ZV9taW4gPSAgICAgICAgIDgwMDAsCisJLnJhdGVfbWF4ID0gICAgICAgICA0ODAwMCwKKwkuY2hhbm5lbHNfbWluID0gICAgIDIsCisJLmNoYW5uZWxzX21heCA9ICAgICAyLAorCS5idWZmZXJfYnl0ZXNfbWF4ID0gNjU1MzYsCisJLnBlcmlvZF9ieXRlc19taW4gPSAxMDI0LAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gNjU1MzYsCisJLnBlcmlvZHNfbWluID0gICAgICAyLAorCS5wZXJpb2RzX21heCA9ICAgICAgMTAyNCwKK307CisKK3N0YXRpYyBpbnQgaGFsMl9wY21faHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJaW50IGVycjsKKworCWVyciA9IHNuZF9wY21fbGliX21hbGxvY19wYWdlcyhzdWJzdHJlYW0sIHBhcmFtc19idWZmZXJfYnl0ZXMocGFyYW1zKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX3BjbV9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXJldHVybiBzbmRfcGNtX2xpYl9mcmVlX3BhZ2VzKHN1YnN0cmVhbSk7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9wbGF5YmFja19vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCWludCBlcnI7CisKKwlydW50aW1lLT5odyA9IGhhbDJfcGNtX2h3OworCisJZXJyID0gaGFsMl9hbGxvY19kbWFidWYoJmhhbDItPmRhYyk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX3BsYXliYWNrX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKworCWhhbDJfZnJlZV9kbWFidWYoJmhhbDItPmRhYyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9wbGF5YmFja19wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBoYWwyX2NvZGVjICpkYWMgPSAmaGFsMi0+ZGFjOworCisJZGFjLT52b2ljZXMgPSBydW50aW1lLT5jaGFubmVsczsKKwlkYWMtPnNhbXBsZV9yYXRlID0gaGFsMl9jb21wdXRlX3JhdGUoZGFjLCBydW50aW1lLT5yYXRlKTsKKwltZW1zZXQoJmRhYy0+cGNtX2luZGlyZWN0LCAwLCBzaXplb2YoZGFjLT5wY21faW5kaXJlY3QpKTsKKwlkYWMtPnBjbV9pbmRpcmVjdC5od19idWZmZXJfc2l6ZSA9IEgyX0JVRl9TSVpFOworCWRhYy0+cGNtX2luZGlyZWN0LnN3X2J1ZmZlcl9zaXplID0gc25kX3BjbV9saWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSk7CisJZGFjLT5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisJaGFsMl9zZXR1cF9kYWMoaGFsMik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9wbGF5YmFja190cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKKwkJaGFsMi0+ZGFjLnBjbV9pbmRpcmVjdC5od19pbyA9IGhhbDItPmRhYy5idWZmZXJfZG1hOworCQloYWwyLT5kYWMucGNtX2luZGlyZWN0Lmh3X2RhdGEgPSAwOworCQlzdWJzdHJlYW0tPm9wcy0+YWNrKHN1YnN0cmVhbSk7CisJCWhhbDJfc3RhcnRfZGFjKGhhbDIpOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJCWhhbDJfc3RvcF9kYWMoaGFsMik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNuZF9wY21fdWZyYW1lc190CitoYWwyX3BsYXliYWNrX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBoYWwyX2NvZGVjICpkYWMgPSAmaGFsMi0+ZGFjOworCisJcmV0dXJuIHNuZF9wY21faW5kaXJlY3RfcGxheWJhY2tfcG9pbnRlcihzdWJzdHJlYW0sICZkYWMtPnBjbV9pbmRpcmVjdCwKKwkJCQkJCSBkYWMtPnBidXMucGJ1cy0+cGJkbWFfYnB0cik7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfcGxheWJhY2tfdHJhbnNmZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJICAgc3RydWN0IHNuZF9wY21faW5kaXJlY3QgKnJlYywgc2l6ZV90IGJ5dGVzKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwl1bnNpZ25lZCBjaGFyICpidWYgPSBoYWwyLT5kYWMuYnVmZmVyICsgcmVjLT5od19kYXRhOworCisJbWVtY3B5KGJ1Ziwgc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYXJlYSArIHJlYy0+c3dfZGF0YSwgYnl0ZXMpOworCWRtYV9jYWNoZV9zeW5jKE5VTEwsIGJ1ZiwgYnl0ZXMsIERNQV9UT19ERVZJQ0UpOworCit9CisKK3N0YXRpYyBpbnQgaGFsMl9wbGF5YmFja19hY2soc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBoYWwyX2NvZGVjICpkYWMgPSAmaGFsMi0+ZGFjOworCisJZGFjLT5wY21faW5kaXJlY3QuaHdfcXVldWVfc2l6ZSA9IEgyX0JVRl9TSVpFIC8gMjsKKwlzbmRfcGNtX2luZGlyZWN0X3BsYXliYWNrX3RyYW5zZmVyKHN1YnN0cmVhbSwKKwkJCQkJICAgJmRhYy0+cGNtX2luZGlyZWN0LAorCQkJCQkgICBoYWwyX3BsYXliYWNrX3RyYW5zZmVyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2NhcHR1cmVfb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyAqYWRjID0gJmhhbDItPmFkYzsKKwlpbnQgZXJyOworCisJcnVudGltZS0+aHcgPSBoYWwyX3BjbV9odzsKKworCWVyciA9IGhhbDJfYWxsb2NfZG1hYnVmKGFkYyk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2NhcHR1cmVfY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCisJaGFsMl9mcmVlX2RtYWJ1ZigmaGFsMi0+YWRjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2NhcHR1cmVfcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyAqYWRjID0gJmhhbDItPmFkYzsKKworCWFkYy0+dm9pY2VzID0gcnVudGltZS0+Y2hhbm5lbHM7CisJYWRjLT5zYW1wbGVfcmF0ZSA9IGhhbDJfY29tcHV0ZV9yYXRlKGFkYywgcnVudGltZS0+cmF0ZSk7CisJbWVtc2V0KCZhZGMtPnBjbV9pbmRpcmVjdCwgMCwgc2l6ZW9mKGFkYy0+cGNtX2luZGlyZWN0KSk7CisJYWRjLT5wY21faW5kaXJlY3QuaHdfYnVmZmVyX3NpemUgPSBIMl9CVUZfU0laRTsKKwlhZGMtPnBjbV9pbmRpcmVjdC5od19xdWV1ZV9zaXplID0gSDJfQlVGX1NJWkUgLyAyOworCWFkYy0+cGNtX2luZGlyZWN0LnN3X2J1ZmZlcl9zaXplID0gc25kX3BjbV9saWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSk7CisJYWRjLT5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisJaGFsMl9zZXR1cF9hZGMoaGFsMik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9jYXB0dXJlX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCQloYWwyLT5hZGMucGNtX2luZGlyZWN0Lmh3X2lvID0gaGFsMi0+YWRjLmJ1ZmZlcl9kbWE7CisJCWhhbDItPmFkYy5wY21faW5kaXJlY3QuaHdfZGF0YSA9IDA7CisJCXByaW50ayhLRVJOX0RFQlVHICJidWZmZXJfZG1hICV4XG4iLCBoYWwyLT5hZGMuYnVmZmVyX2RtYSk7CisJCWhhbDJfc3RhcnRfYWRjKGhhbDIpOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJCWhhbDJfc3RvcF9hZGMoaGFsMik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNuZF9wY21fdWZyYW1lc190CitoYWwyX2NhcHR1cmVfcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IGhhbDJfY29kZWMgKmFkYyA9ICZoYWwyLT5hZGM7CisKKwlyZXR1cm4gc25kX3BjbV9pbmRpcmVjdF9jYXB0dXJlX3BvaW50ZXIoc3Vic3RyZWFtLCAmYWRjLT5wY21faW5kaXJlY3QsCisJCQkJCQlhZGMtPnBidXMucGJ1cy0+cGJkbWFfYnB0cik7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfY2FwdHVyZV90cmFuc2ZlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgIHN0cnVjdCBzbmRfcGNtX2luZGlyZWN0ICpyZWMsIHNpemVfdCBieXRlcykKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJdW5zaWduZWQgY2hhciAqYnVmID0gaGFsMi0+YWRjLmJ1ZmZlciArIHJlYy0+aHdfZGF0YTsKKworCWRtYV9jYWNoZV9zeW5jKE5VTEwsIGJ1ZiwgYnl0ZXMsIERNQV9GUk9NX0RFVklDRSk7CisJbWVtY3B5KHN1YnN0cmVhbS0+cnVudGltZS0+ZG1hX2FyZWEgKyByZWMtPnN3X2RhdGEsIGJ1ZiwgYnl0ZXMpOworfQorCitzdGF0aWMgaW50IGhhbDJfY2FwdHVyZV9hY2soc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBoYWwyX2NvZGVjICphZGMgPSAmaGFsMi0+YWRjOworCisJc25kX3BjbV9pbmRpcmVjdF9jYXB0dXJlX3RyYW5zZmVyKHN1YnN0cmVhbSwKKwkJCQkJICAmYWRjLT5wY21faW5kaXJlY3QsCisJCQkJCSAgaGFsMl9jYXB0dXJlX3RyYW5zZmVyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBoYWwyX3BsYXliYWNrX29wcyA9IHsKKwkub3BlbiA9ICAgICAgICBoYWwyX3BsYXliYWNrX29wZW4sCisJLmNsb3NlID0gICAgICAgaGFsMl9wbGF5YmFja19jbG9zZSwKKwkuaW9jdGwgPSAgICAgICBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zID0gICBoYWwyX3BjbV9od19wYXJhbXMsCisJLmh3X2ZyZWUgPSAgICAgaGFsMl9wY21faHdfZnJlZSwKKwkucHJlcGFyZSA9ICAgICBoYWwyX3BsYXliYWNrX3ByZXBhcmUsCisJLnRyaWdnZXIgPSAgICAgaGFsMl9wbGF5YmFja190cmlnZ2VyLAorCS5wb2ludGVyID0gICAgIGhhbDJfcGxheWJhY2tfcG9pbnRlciwKKwkuYWNrID0gICAgICAgICBoYWwyX3BsYXliYWNrX2FjaywKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgaGFsMl9jYXB0dXJlX29wcyA9IHsKKwkub3BlbiA9ICAgICAgICBoYWwyX2NhcHR1cmVfb3BlbiwKKwkuY2xvc2UgPSAgICAgICBoYWwyX2NhcHR1cmVfY2xvc2UsCisJLmlvY3RsID0gICAgICAgc25kX3BjbV9saWJfaW9jdGwsCisJLmh3X3BhcmFtcyA9ICAgaGFsMl9wY21faHdfcGFyYW1zLAorCS5od19mcmVlID0gICAgIGhhbDJfcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUgPSAgICAgaGFsMl9jYXB0dXJlX3ByZXBhcmUsCisJLnRyaWdnZXIgPSAgICAgaGFsMl9jYXB0dXJlX3RyaWdnZXIsCisJLnBvaW50ZXIgPSAgICAgaGFsMl9jYXB0dXJlX3BvaW50ZXIsCisJLmFjayA9ICAgICAgICAgaGFsMl9jYXB0dXJlX2FjaywKK307CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IGhhbDJfcGNtX2NyZWF0ZShzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJc3RydWN0IHNuZF9wY20gKnBjbTsKKwlpbnQgZXJyOworCisJLyogY3JlYXRlIGZpcnN0IHBjbSBkZXZpY2Ugd2l0aCBvbmUgb3V0cHV0cyBhbmQgb25lIGlucHV0ICovCisJZXJyID0gc25kX3BjbV9uZXcoaGFsMi0+Y2FyZCwgIlNHSSBIQUwyIEF1ZGlvIiwgMCwgMSwgMSwgJnBjbSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwlwY20tPnByaXZhdGVfZGF0YSA9IGhhbDI7CisJc3RyY3B5KHBjbS0+bmFtZSwgIlNHSSBIQUwyIik7CisKKwkvKiBzZXQgb3BlcmF0b3JzICovCisJc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSywKKwkJCSZoYWwyX3BsYXliYWNrX29wcyk7CisJc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFLAorCQkJJmhhbDJfY2FwdHVyZV9vcHMpOworCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzX2Zvcl9hbGwocGNtLCBTTkRSVl9ETUFfVFlQRV9DT05USU5VT1VTLAorCQkJCQkgICBzbmRfZG1hX2NvbnRpbnVvdXNfZGF0YShHRlBfS0VSTkVMKSwKKwkJCQkJICAgMCwgMTAyNCAqIDEwMjQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9kZXZfZnJlZShzdHJ1Y3Qgc25kX2RldmljZSAqZGV2aWNlKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IGRldmljZS0+ZGV2aWNlX2RhdGE7CisKKwlmcmVlX2lycShTR0lfSFBDRE1BX0lSUSwgaGFsMik7CisJa2ZyZWUoaGFsMik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX2RldmljZV9vcHMgaGFsMl9vcHMgPSB7CisJLmRldl9mcmVlID0gaGFsMl9kZXZfZnJlZSwKK307CisKK3N0YXRpYyB2b2lkIGhhbDJfaW5pdF9jb2RlYyhzdHJ1Y3QgaGFsMl9jb2RlYyAqY29kZWMsIHN0cnVjdCBocGMzX3JlZ3MgKmhwYzMsCisJCQkgICAgaW50IGluZGV4KQoreworCWNvZGVjLT5wYnVzLnBidXNuciA9IGluZGV4OworCWNvZGVjLT5wYnVzLnBidXMgPSAmaHBjMy0+cGJkbWFbaW5kZXhdOworfQorCitzdGF0aWMgaW50IGhhbDJfZGV0ZWN0KHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwl1bnNpZ25lZCBzaG9ydCBib2FyZCwgbWFqb3IsIG1pbm9yOworCXVuc2lnbmVkIHNob3J0IHJldjsKKworCS8qIHJlc2V0IEhBTDIgKi8KKwloYWwyX3dyaXRlKDAsICZoYWwyLT5jdGxfcmVncy0+aXNyKTsKKworCS8qIHJlbGVhc2UgcmVzZXQgKi8KKwloYWwyX3dyaXRlKEgyX0lTUl9HTE9CQUxfUkVTRVRfTiB8IEgyX0lTUl9DT0RFQ19SRVNFVF9OLAorCQkgICAmaGFsMi0+Y3RsX3JlZ3MtPmlzcik7CisKKworCWhhbDJfaV93cml0ZTE2KGhhbDIsIEgySV9SRUxBWV9DLCBIMklfUkVMQVlfQ19TVEFURSk7CisJcmV2ID0gaGFsMl9yZWFkKCZoYWwyLT5jdGxfcmVncy0+cmV2KTsKKwlpZiAocmV2ICYgSDJfUkVWX0FVRElPX1BSRVNFTlQpCisJCXJldHVybiAtRU5PREVWOworCisJYm9hcmQgPSAocmV2ICYgSDJfUkVWX0JPQVJEX00pID4+IDEyOworCW1ham9yID0gKHJldiAmIEgyX1JFVl9NQUpPUl9DSElQX00pID4+IDQ7CisJbWlub3IgPSAocmV2ICYgSDJfUkVWX01JTk9SX0NISVBfTSk7CisKKwlwcmludGsoS0VSTl9JTkZPICJTR0kgSEFMMiByZXZpc2lvbiAlaS4laS4laVxuIiwKKwkgICAgICAgYm9hcmQsIG1ham9yLCBtaW5vcik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2NyZWF0ZShzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfaGFsMiAqKnJjaGlwKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMjsKKwlzdHJ1Y3QgaHBjM19yZWdzICpocGMzID0gaHBjM2MwOworCWludCBlcnI7CisKKwloYWwyID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9oYWwyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFoYWwyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWhhbDItPmNhcmQgPSBjYXJkOworCisJaWYgKHJlcXVlc3RfaXJxKFNHSV9IUENETUFfSVJRLCBoYWwyX2ludGVycnVwdCwgSVJRRl9TSEFSRUQsCisJCQkiU0dJIEhBTDIiLCBoYWwyKSkgeworCQlwcmludGsoS0VSTl9FUlIgIkhBTDI6IENhbid0IGdldCBpcnEgJWRcbiIsIFNHSV9IUENETUFfSVJRKTsKKwkJa2ZyZWUoaGFsMik7CisJCXJldHVybiAtRUFHQUlOOworCX0KKworCWhhbDItPmN0bF9yZWdzID0gKHN0cnVjdCBoYWwyX2N0bF9yZWdzICopaHBjMy0+cGJ1c19leHRyZWdzWzBdOworCWhhbDItPmFlc19yZWdzID0gKHN0cnVjdCBoYWwyX2Flc19yZWdzICopaHBjMy0+cGJ1c19leHRyZWdzWzFdOworCWhhbDItPnZvbF9yZWdzID0gKHN0cnVjdCBoYWwyX3ZvbF9yZWdzICopaHBjMy0+cGJ1c19leHRyZWdzWzJdOworCWhhbDItPnN5bl9yZWdzID0gKHN0cnVjdCBoYWwyX3N5bl9yZWdzICopaHBjMy0+cGJ1c19leHRyZWdzWzNdOworCisJaWYgKGhhbDJfZGV0ZWN0KGhhbDIpIDwgMCkgeworCQlrZnJlZShoYWwyKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJaGFsMl9pbml0X2NvZGVjKCZoYWwyLT5kYWMsIGhwYzMsIDApOworCWhhbDJfaW5pdF9jb2RlYygmaGFsMi0+YWRjLCBocGMzLCAxKTsKKworCS8qCisJICogQWxsIERNQSBjaGFubmVsIGludGVyZmFjZXMgaW4gSEFMMiBhcmUgZGVzaWduZWQgdG8gb3BlcmF0ZSB3aXRoCisJICogUEJVUyBwcm9ncmFtbWVkIGZvciAyIGN5Y2xlcyBpbiBEMywgMiBjeWNsZXMgaW4gRDQgYW5kIDIgY3ljbGVzCisJICogaW4gRDUuIEhBTDIgaXMgYSAxNi1iaXQgZGV2aWNlIHdoaWNoIGNhbiBhY2NlcHQgYm90aCBiaWcgYW5kIGxpdHRsZQorCSAqIGVuZGlhbiBmb3JtYXQuIEl0IGFzc3VtZXMgdGhhdCBldmVuIGFkZHJlc3MgYnl0ZXMgYXJlIG9uIGhpZ2gKKwkgKiBwb3J0aW9uIG9mIFBCVVMgKDE1OjgpIGFuZCBhc3N1bWVzIHRoYXQgSFBDMyBpcyBwcm9ncmFtbWVkIHRvCisJICogYWNjZXB0IGEgbGl2ZSAodW5zeW5jaHJvbml6ZWQpIHZlcnNpb24gb2YgUF9EUkVRX04gZnJvbSBIQUwyLgorCSAqLworI2RlZmluZSBIQUwyX1BCVVNfRE1BQ0ZHICgoMCA8PCBIUEMzX0RNQUNGR19EM1JfU0hJRlQpIHwgXAorCQkJICAoMiA8PCBIUEMzX0RNQUNGR19ENFJfU0hJRlQpIHwgXAorCQkJICAoMiA8PCBIUEMzX0RNQUNGR19ENVJfU0hJRlQpIHwgXAorCQkJICAoMCA8PCBIUEMzX0RNQUNGR19EM1dfU0hJRlQpIHwgXAorCQkJICAoMiA8PCBIUEMzX0RNQUNGR19ENFdfU0hJRlQpIHwgXAorCQkJICAoMiA8PCBIUEMzX0RNQUNGR19ENVdfU0hJRlQpIHwgXAorCQkJCUhQQzNfRE1BQ0ZHX0RTMTYgfCBcCisJCQkJSFBDM19ETUFDRkdfRVZFTkhJIHwgXAorCQkJCUhQQzNfRE1BQ0ZHX1JUSU1FIHwgXAorCQkJICAoOCA8PCBIUEMzX0RNQUNGR19CVVJTVF9TSElGVCkgfCBcCisJCQkJSFBDM19ETUFDRkdfRFJRTElWRSkKKwkvKgorCSAqIElnbm9yZSB3aGF0J3MgbWVudGlvbmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uIGFuZCB3cml0ZSB2YWx1ZSB3aGljaAorCSAqIHdvcmtzIGluIFRoZSBSZWFsIFdvcmxkIChUTSkKKwkgKi8KKwlocGMzLT5wYnVzX2RtYWNmZ1toYWwyLT5kYWMucGJ1cy5wYnVzbnJdWzBdID0gMHg4MjA4ODQ0OworCWhwYzMtPnBidXNfZG1hY2ZnW2hhbDItPmFkYy5wYnVzLnBidXNucl1bMF0gPSAweDgyMDg4NDQ7CisKKwllcnIgPSBzbmRfZGV2aWNlX25ldyhjYXJkLCBTTkRSVl9ERVZfTE9XTEVWRUwsIGhhbDIsICZoYWwyX29wcyk7CisJaWYgKGVyciA8IDApIHsKKwkJZnJlZV9pcnEoU0dJX0hQQ0RNQV9JUlEsIGhhbDIpOworCQlrZnJlZShoYWwyKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJKnJjaGlwID0gaGFsMjsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2RldmluaXQgaGFsMl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKKwlzdHJ1Y3Qgc25kX2hhbDIgKmNoaXA7CisJaW50IGVycjsKKworCWNhcmQgPSBzbmRfY2FyZF9uZXcoaW5kZXgsIGlkLCBUSElTX01PRFVMRSwgMCk7CisJaWYgKGNhcmQgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwllcnIgPSBoYWwyX2NyZWF0ZShjYXJkLCAmY2hpcCk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX2NhcmRfZnJlZShjYXJkKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJc25kX2NhcmRfc2V0X2RldihjYXJkLCAmcGRldi0+ZGV2KTsKKworCWVyciA9IGhhbDJfcGNtX2NyZWF0ZShjaGlwKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKwllcnIgPSBoYWwyX21peGVyX2NyZWF0ZShjaGlwKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKworCXN0cmNweShjYXJkLT5kcml2ZXIsICJTR0kgSEFMMiBBdWRpbyIpOworCXN0cmNweShjYXJkLT5zaG9ydG5hbWUsICJTR0kgSEFMMiBBdWRpbyIpOworCXNwcmludGYoY2FyZC0+bG9uZ25hbWUsICIlcyBpcnEgJWkiLAorCQljYXJkLT5zaG9ydG5hbWUsCisJCVNHSV9IUENETUFfSVJRKTsKKworCWVyciA9IHNuZF9jYXJkX3JlZ2lzdGVyKGNhcmQpOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJCXJldHVybiBlcnI7CisJfQorCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGNhcmQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fZXhpdCBoYWwyX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJc25kX2NhcmRfZnJlZShjYXJkKTsKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgaGFsMl9kcml2ZXIgPSB7CisJLnByb2JlCT0gaGFsMl9wcm9iZSwKKwkucmVtb3ZlCT0gX19kZXZleGl0X3AoaGFsMl9yZW1vdmUpLAorCS5kcml2ZXIgPSB7CisJCS5uYW1lCT0gInNnaWhhbDIiLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBhbHNhX2NhcmRfaGFsMl9pbml0KHZvaWQpCit7CisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmaGFsMl9kcml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgYWxzYV9jYXJkX2hhbDJfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZoYWwyX2RyaXZlcik7Cit9CisKK21vZHVsZV9pbml0KGFsc2FfY2FyZF9oYWwyX2luaXQpOworbW9kdWxlX2V4aXQoYWxzYV9jYXJkX2hhbDJfZXhpdCk7CmRpZmYgLS1naXQgYS9zb3VuZC9taXBzL2hhbDIuaCBiL3NvdW5kL21pcHMvaGFsMi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOTgyOGIKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9taXBzL2hhbDIuaApAQCAtMCwwICsxLDI0NSBAQAorI2lmbmRlZiBfX0hBTDJfSAorI2RlZmluZSBfX0hBTDJfSAorCisvKgorICogIERyaXZlciBmb3IgSEFMMiBzb3VuZCBwcm9jZXNzb3JzCisgKiAgQ29weXJpZ2h0IChjKSAxOTk5IFVsZiBDYXJsc3NvbiA8dWxmY0BidW4uZmFsa2VuYmVyZy5zZT4KKyAqICBDb3B5cmlnaHQgKGMpIDIwMDEsIDIwMDIsIDIwMDMgTGFkaXNsYXYgTWljaGwgPGxhZGlzQGxpbnV4LW1pcHMub3JnPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKKy8qIEluZGlyZWN0IHN0YXR1cyByZWdpc3RlciAqLworCisjZGVmaW5lIEgyX0lTUl9UU1RBVFVTCQkweDAxCS8qIFJPOiB0cmFuc2FjdGlvbiBzdGF0dXMgMT1idXN5ICovCisjZGVmaW5lIEgyX0lTUl9VU1RBVFVTCQkweDAyCS8qIFJPOiB1dGltZSBzdGF0dXMgYml0IDE9YXJtZWQgKi8KKyNkZWZpbmUgSDJfSVNSX1FVQURfTU9ERQkweDA0CS8qIGNvZGVjIG1vZGUgMD1pbmRpZ28gMT1xdWFkICovCisjZGVmaW5lIEgyX0lTUl9HTE9CQUxfUkVTRVRfTgkweDA4CS8qIGNoaXAgZ2xvYmFsIHJlc2V0IDA9cmVzZXQgKi8KKyNkZWZpbmUgSDJfSVNSX0NPREVDX1JFU0VUX04JMHgxMAkvKiBjb2RlYy9zeW50aCByZXNldCAwPXJlc2V0ICAqLworCisvKiBSZXZpc2lvbiByZWdpc3RlciAqLworCisjZGVmaW5lIEgyX1JFVl9BVURJT19QUkVTRU5UCTB4ODAwMAkvKiBSTzogYXVkaW8gcHJlc2VudCAwPXByZXNlbnQgKi8KKyNkZWZpbmUgSDJfUkVWX0JPQVJEX00JCTB4NzAwMAkvKiBSTzogYml0cyAxNDoxMiwgYm9hcmQgcmV2aXNpb24gKi8KKyNkZWZpbmUgSDJfUkVWX01BSk9SX0NISVBfTQkweDAwRjAJLyogUk86IGJpdHMgNzo0LCBtYWpvciBjaGlwIHJldmlzaW9uICovCisjZGVmaW5lIEgyX1JFVl9NSU5PUl9DSElQX00JMHgwMDBGCS8qIFJPOiBiaXRzIDM6MCwgbWlub3IgY2hpcCByZXZpc2lvbiAqLworCisvKiBJbmRpcmVjdCBhZGRyZXNzIHJlZ2lzdGVyICovCisKKy8qCisgKiBBZGRyZXNzIG9mIGluZGlyZWN0IGludGVybmFsIHJlZ2lzdGVyIHRvIGJlIGFjY2Vzc2VkLiBBIHdyaXRlIHRvIHRoaXMKKyAqIHJlZ2lzdGVyIGluaXRpYXRlcyByZWFkIG9yIHdyaXRlIGFjY2VzcyB0byB0aGUgaW5kaXJlY3QgcmVnaXN0ZXJzIGluIHRoZQorICogSEFMMi4gTm90ZSB0aGF0IHRoZXJlIGFmIGZvdXIgaW5kaXJlY3QgZGF0YSByZWdpc3RlcnMgZm9yIHdyaXRlIGFjY2VzcyB0bworICogcmVnaXN0ZXJzIGxhcmdlciB0aGFuIDE2IGJ5dGUuCisgKi8KKworI2RlZmluZSBIMl9JQVJfVFlQRV9NCQkweEYwMDAJLyogYml0cyAxNToxMiwgdHlwZSBvZiBmdW5jdGlvbmFsICovCisJCQkJCS8qIGJsb2NrIHRoZSByZWdpc3RlciByZXNpZGVzIGluICovCisJCQkJCS8qIDE9RE1BIFBvcnQgKi8KKwkJCQkJLyogOT1HbG9iYWwgRE1BIENvbnRyb2wgKi8KKwkJCQkJLyogMj1CcmVzZW5oYW0gKi8KKwkJCQkJLyogMz1Vbml4IFRpbWVyICovCisjZGVmaW5lIEgyX0lBUl9OVU1fTQkJMHgwRjAwCS8qIGJpdHMgMTE6OCBpbnN0YW5jZSBvZiB0aGUgKi8KKwkJCQkJLyogYmxvY2tpbiB3aGljaCB0aGUgaW5kaXJlY3QgKi8KKwkJCQkJLyogcmVnaXN0ZXIgcmVzaWRlcyAqLworCQkJCQkvKiBJZiBJQVJfVFlQRV9NPURNQSBQb3J0OiAqLworCQkJCQkvKiAxPVN5bnRoIEluICovCisJCQkJCS8qIDI9QUVTIEluICovCisJCQkJCS8qIDM9QUVTIE91dCAqLworCQkJCQkvKiA0PURBQyBPdXQgKi8KKwkJCQkJLyogNT1BREMgT3V0ICovCisJCQkJCS8qIDY9U3ludGggQ29udHJvbCAqLworCQkJCQkvKiBJZiBJQVJfVFlQRV9NPUdsb2JhbCBETUEgQ29udHJvbDogKi8KKwkJCQkJLyogMT1Db250cm9sICovCisJCQkJCS8qIElmIElBUl9UWVBFX009QnJlc2VuaGFtOiAqLworCQkJCQkvKiAxPUJyZXNlbmhhbSBDbG9jayBHZW4gMSAqLworCQkJCQkvKiAyPUJyZXNlbmhhbSBDbG9jayBHZW4gMiAqLworCQkJCQkvKiAzPUJyZXNlbmhhbSBDbG9jayBHZW4gMyAqLworCQkJCQkvKiBJZiBJQVJfVFlQRV9NPVVuaXggVGltZXI6ICovCisJCQkJCS8qIDE9VW5peCBUaW1lciAqLworI2RlZmluZSBIMl9JQVJfQUNDRVNTX1NFTEVDVAkweDAwODAJLyogMT1yZWFkIDA9d3JpdGUgKi8KKyNkZWZpbmUgSDJfSUFSX1BBUkFNCQkweDAwMEMJLyogUGFyYW1ldGVyIFNlbGVjdCAqLworI2RlZmluZSBIMl9JQVJfUkJfSU5ERVhfTQkweDAwMDMJLyogUmVhZCBCYWNrIEluZGV4ICovCisJCQkJCS8qIDAwOndvcmQwICovCisJCQkJCS8qIDAxOndvcmQxICovCisJCQkJCS8qIDEwOndvcmQyICovCisJCQkJCS8qIDExOndvcmQzICovCisvKgorICogSEFMMiBpbnRlcm5hbCBhZGRyZXNzaW5nCisgKgorICogVGhlIEhBTDIgaGFzICJpbmRpcmVjdCByZWdpc3RlcnMiIChpZHIpIHdoaWNoIGFyZSBhY2Nlc3NlZCBieSB3cml0aW5nIHRvIHRoZQorICogSW5kaXJlY3QgRGF0YSByZWdpc3RlcnMuIFdyaXRlIHRoZSBhZGRyZXNzIHRvIHRoZSBJbmRpcmVjdCBBZGRyZXNzIHJlZ2lzdGVyCisgKiB0byB0cmFuc2ZlciB0aGUgZGF0YS4KKyAqCisgKiBXZSBkZWZpbmUgdGhlIEgySVJfKiB0byB0aGUgcmVhZCBhZGRyZXNzIGFuZCBIMklXXyogdG8gdGhlIHdyaXRlIGFkZHJlc3MgYW5kCisgKiBIMklfKiB0byBiZSBmaWVsZHMgaW4gd2hhdGV2ZXIgcmVnaXN0ZXIgaXMgcmVmZXJyZWQgdG8uCisgKgorICogV2hlbiB3ZSB3cml0ZSB0byBpbmRpcmVjdCByZWdpc3RlcnMgd2hpY2ggYXJlIGxhcmdlciB0aGFuIG9uZSB3b3JkICgxNiBiaXQpCisgKiB3ZSBoYXZlIHRvIGZpbGwgbW9yZSB0aGFuIG9uZSBpbmRpcmVjdCByZWdpc3RlciBiZWZvcmUgd3JpdGluZy4gV2hlbiB3ZSByZWFkCisgKiBiYWNrIGhvd2V2ZXIgd2UgaGF2ZSB0byByZWFkIHNldmVyYWwgdGltZXMsIGVhY2ggdGltZSB3aXRoIGRpZmZlcmVudCBSZWFkCisgKiBCYWNrIEluZGV4ZXMgKHRoZXJlIGFyZSBkZWZzIGZvciBkb2luZyB0aGlzIGVhc2lseSkuCisgKi8KKworLyoKKyAqIFJlbGF5IENvbnRyb2wKKyAqLworI2RlZmluZSBIMklfUkVMQVlfQwkJMHg5MTAwCisjZGVmaW5lIEgySV9SRUxBWV9DX1NUQVRFCTB4MDEJCS8qIHN0YXRlIG9mIFJFTEFZIHBpbiBzaWduYWwgKi8KKworLyogRE1BIHBvcnQgZW5hYmxlICovCisKKyNkZWZpbmUgSDJJX0RNQV9QT1JUX0VOCQkweDkxMDQKKyNkZWZpbmUgSDJJX0RNQV9QT1JUX0VOX1NZX0lOCTB4MDEJCS8qIFN5bnRoX2luIERNQSBwb3J0ICovCisjZGVmaW5lIEgySV9ETUFfUE9SVF9FTl9BRVNSWAkweDAyCQkvKiBBRVMgcmVjZWl2ZXIgRE1BIHBvcnQgKi8KKyNkZWZpbmUgSDJJX0RNQV9QT1JUX0VOX0FFU1RYCTB4MDQJCS8qIEFFUyB0cmFuc21pdHRlciBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX1BPUlRfRU5fQ09ERUNUWAkweDA4CQkvKiBDT0RFQyB0cmFuc21pdCBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX1BPUlRfRU5fQ09ERUNSCTB4MTAJCS8qIENPREVDIHJlY2VpdmUgRE1BIHBvcnQgKi8KKworI2RlZmluZSBIMklfRE1BX0VORAkJMHg5MTA4IAkJLyogZ2xvYmFsIGRtYSBlbmRpYW4gc2VsZWN0ICovCisjZGVmaW5lIEgySV9ETUFfRU5EX1NZX0lOCTB4MDEJCS8qIFN5bnRoX2luIERNQSBwb3J0ICovCisjZGVmaW5lIEgySV9ETUFfRU5EX0FFU1JYCTB4MDIJCS8qIEFFUyByZWNlaXZlciBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX0VORF9BRVNUWAkweDA0CQkvKiBBRVMgdHJhbnNtaXR0ZXIgRE1BIHBvcnQgKi8KKyNkZWZpbmUgSDJJX0RNQV9FTkRfQ09ERUNUWAkweDA4CQkvKiBDT0RFQyB0cmFuc21pdCBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX0VORF9DT0RFQ1IJMHgxMAkJLyogQ09ERUMgcmVjZWl2ZSBETUEgcG9ydCAqLworCQkJCQkJLyogMD1iX2VuZCAxPWxfZW5kICovCisKKyNkZWZpbmUgSDJJX0RNQV9EUlYJCTB4OTEwQyAgCS8qIGdsb2JhbCBQQlVTIERNQSBlbmFibGUgKi8KKworI2RlZmluZSBIMklfU1lOVEhfQwkJMHgxMTA0CQkvKiBTeW50aCBETUEgY29udHJvbCAqLworCisjZGVmaW5lIEgySV9BRVNSWF9DCQkweDEyMDQJIAkvKiBBRVMgUlggZG1hIGNvbnRyb2wgKi8KKworI2RlZmluZSBIMklfQ19UU19FTgkJMHgyMAkJLyogVGltZXN0YW1wIGVuYWJsZSAqLworI2RlZmluZSBIMklfQ19UU19GUk1UCQkweDQwCQkvKiBUaW1lc3RhbXAgZm9ybWF0ICovCisjZGVmaW5lIEgySV9DX05BVURJTwkJMHg4MAkJLyogU2lnbiBleHRlbmQgKi8KKworLyogQUVTUlggQ1RMLCAxNiBiaXQgKi8KKworI2RlZmluZSBIMklfQUVTVFhfQwkJMHgxMzA0CQkvKiBBRVMgVFggRE1BIGNvbnRyb2wgKi8KKyNkZWZpbmUgSDJJX0FFU1RYX0NfQ0xLSURfU0hJRlQJMwkJLyogQnJlc2VuaGFtIENsb2NrIEdlbiAxLTMgKi8KKyNkZWZpbmUgSDJJX0FFU1RYX0NfQ0xLSURfTQkweDE4CisjZGVmaW5lIEgySV9BRVNUWF9DX0RBVEFUX1NISUZUCTgJCS8qIDE9bW9ubyAyPXN0ZXJlbyAoMz1xdWFkKSAqLworI2RlZmluZSBIMklfQUVTVFhfQ19EQVRBVF9NCTB4MzAwCisKKy8qIENPREVDIHJlZ2lzdGVycyAqLworCisjZGVmaW5lIEgySV9EQUNfQzEJCTB4MTQwNCAJCS8qIERBQyBETUEgY29udHJvbCwgMTYgYml0ICovCisjZGVmaW5lIEgySV9EQUNfQzIJCTB4MTQwOAkJLyogREFDIERNQSBjb250cm9sLCAzMiBiaXQgKi8KKyNkZWZpbmUgSDJJX0FEQ19DMQkJMHgxNTA0IAkJLyogQURDIERNQSBjb250cm9sLCAxNiBiaXQgKi8KKyNkZWZpbmUgSDJJX0FEQ19DMgkJMHgxNTA4CQkvKiBBREMgRE1BIGNvbnRyb2wsIDMyIGJpdCAqLworCisvKiBCaXRzIGluIENUTDEgcmVnaXN0ZXIgKi8KKworI2RlZmluZSBIMklfQzFfRE1BX1NISUZUCTAJCS8qIERNQSBjaGFubmVsICovCisjZGVmaW5lIEgySV9DMV9ETUFfTQkJMHg3CisjZGVmaW5lIEgySV9DMV9DTEtJRF9TSElGVAkzCQkvKiBCcmVzZW5oYW0gQ2xvY2sgR2VuIDEtMyAqLworI2RlZmluZSBIMklfQzFfQ0xLSURfTQkJMHgxOAorI2RlZmluZSBIMklfQzFfREFUQVRfU0hJRlQJOAkJLyogMT1tb25vIDI9c3RlcmVvICgzPXF1YWQpICovCisjZGVmaW5lIEgySV9DMV9EQVRBVF9NCQkweDMwMAorCisvKiBCaXRzIGluIENUTDIgcmVnaXN0ZXIgKi8KKworI2RlZmluZSBIMklfQzJfUl9HQUlOX1NISUZUCTAJCS8qIHJpZ2h0IGEvZCBpbnB1dCBnYWluICovCisjZGVmaW5lIEgySV9DMl9SX0dBSU5fTQkJMHhmCisjZGVmaW5lIEgySV9DMl9MX0dBSU5fU0hJRlQJNAkJLyogbGVmdCBhL2QgaW5wdXQgZ2FpbiAqLworI2RlZmluZSBIMklfQzJfTF9HQUlOX00JCTB4ZjAKKyNkZWZpbmUgSDJJX0MyX1JfU0VMCQkweDEwMAkJLyogcmlnaHQgaW5wdXQgc2VsZWN0ICovCisjZGVmaW5lIEgySV9DMl9MX1NFTAkJMHgyMDAJCS8qIGxlZnQgaW5wdXQgc2VsZWN0ICovCisjZGVmaW5lIEgySV9DMl9NVVRFCQkweDQwMAkJLyogbXV0ZSAqLworI2RlZmluZSBIMklfQzJfRE8xCQkweDAwMDEwMDAwCS8qIGRpZ2l0YWwgb3V0cHV0IHBvcnQgYml0IDAgKi8KKyNkZWZpbmUgSDJJX0MyX0RPMgkJMHgwMDAyMDAwMAkvKiBkaWdpdGFsIG91dHB1dCBwb3J0IGJpdCAxICovCisjZGVmaW5lIEgySV9DMl9SX0FUVF9TSElGVAkxOAkJLyogcmlnaHQgZC9hIG91dHB1dCAtICovCisjZGVmaW5lIEgySV9DMl9SX0FUVF9NCQkweDAwN2MwMDAwCS8qIGF0dGVudWF0aW9uICovCisjZGVmaW5lIEgySV9DMl9MX0FUVF9TSElGVAkyMwkJLyogbGVmdCBkL2Egb3V0cHV0IC0gKi8KKyNkZWZpbmUgSDJJX0MyX0xfQVRUX00JCTB4MGY4MDAwMDAJLyogYXR0ZW51YXRpb24gKi8KKworI2RlZmluZSBIMklfU1lOVEhfTUFQX0MJCTB4MTEwNAkJLyogc3ludGggZG1hIGhhbmRzaGFrZSBjdHJsICovCisKKy8qIENsb2NrIGdlbmVyYXRvciBDVEwgMSwgMTYgYml0ICovCisKKyNkZWZpbmUgSDJJX0JSRVMxX0MxCQkweDIxMDQKKyNkZWZpbmUgSDJJX0JSRVMyX0MxCQkweDIyMDQKKyNkZWZpbmUgSDJJX0JSRVMzX0MxCQkweDIzMDQKKworI2RlZmluZSBIMklfQlJFU19DMV9TSElGVAkwCQkvKiAwPTQ4LjAgMT00NC4xIDI9YWVzX3J4ICovCisjZGVmaW5lIEgySV9CUkVTX0MxX00JCTB4MDMKKworLyogQ2xvY2sgZ2VuZXJhdG9yIENUTCAyLCAzMiBiaXQgKi8KKworI2RlZmluZSBIMklfQlJFUzFfQzIJCTB4MjEwOAorI2RlZmluZSBIMklfQlJFUzJfQzIJCTB4MjIwOAorI2RlZmluZSBIMklfQlJFUzNfQzIJCTB4MjMwOAorCisjZGVmaW5lIEgySV9CUkVTX0MyX0lOQ19TSElGVAkwCQkvKiBpbmNyZW1lbnQgdmFsdWUgKi8KKyNkZWZpbmUgSDJJX0JSRVNfQzJfSU5DX00JMHhmZmZmCisjZGVmaW5lIEgySV9CUkVTX0MyX01PRF9TSElGVAkxNgkJLyogbW9kY29udHJvbCB2YWx1ZSAqLworI2RlZmluZSBIMklfQlJFU19DMl9NT0RfTQkweGZmZmYwMDAwCS8qIG1vZGN0cmw9MHhmZmZmJihtb2RpbmMtMSkgKi8KKworLyogVW5peCB0aW1lciwgNjQgYml0ICovCisKKyNkZWZpbmUgSDJJX1VUSU1FCQkweDMxMDQKKyNkZWZpbmUgSDJJX1VUSU1FXzBfTEQJCTB4ZmZmZgkJLyogbWljcm9zZWNvbmRzLCBMU0IncyAqLworI2RlZmluZSBIMklfVVRJTUVfMV9MRDAJCTB4MGYJCS8qIG1pY3Jvc2Vjb25kcywgTVNCJ3MgKi8KKyNkZWZpbmUgSDJJX1VUSU1FXzFfTEQxCQkweGYwCQkvKiB0ZW50aHMgb2YgbWljcm9zZWNvbmRzICovCisjZGVmaW5lIEgySV9VVElNRV8yX0xECQkweGZmZmYJCS8qIHNlY29uZHMsIExTQidzICovCisjZGVmaW5lIEgySV9VVElNRV8zX0xECQkweGZmZmYJCS8qIHNlY29uZHMsIE1TQidzICovCisKK3N0cnVjdCBoYWwyX2N0bF9yZWdzIHsKKwl1MzIgX3VudXNlZDBbNF07CisJdTMyIGlzcjsJCS8qIDB4MTAgU3RhdHVzIFJlZ2lzdGVyICovCisJdTMyIF91bnVzZWQxWzNdOworCXUzMiByZXY7CQkvKiAweDIwIFJldmlzaW9uIFJlZ2lzdGVyICovCisJdTMyIF91bnVzZWQyWzNdOworCXUzMiBpYXI7CQkvKiAweDMwIEluZGlyZWN0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKwl1MzIgX3VudXNlZDNbM107CisJdTMyIGlkcjA7CQkvKiAweDQwIEluZGlyZWN0IERhdGEgUmVnaXN0ZXIgMCAqLworCXUzMiBfdW51c2VkNFszXTsKKwl1MzIgaWRyMTsJCS8qIDB4NTAgSW5kaXJlY3QgRGF0YSBSZWdpc3RlciAxICovCisJdTMyIF91bnVzZWQ1WzNdOworCXUzMiBpZHIyOwkJLyogMHg2MCBJbmRpcmVjdCBEYXRhIFJlZ2lzdGVyIDIgKi8KKwl1MzIgX3VudXNlZDZbM107CisJdTMyIGlkcjM7CQkvKiAweDcwIEluZGlyZWN0IERhdGEgUmVnaXN0ZXIgMyAqLworfTsKKworc3RydWN0IGhhbDJfYWVzX3JlZ3MgeworCXUzMiByeF9zdGF0WzJdOwkvKiBTdGF0dXMgcmVnaXN0ZXJzICovCisJdTMyIHJ4X2NyWzJdOwkJLyogQ29udHJvbCByZWdpc3RlcnMgKi8KKwl1MzIgcnhfdWRbNF07CQkvKiBVc2VyIGRhdGEgd2luZG93ICovCisJdTMyIHJ4X3N0WzI0XTsJCS8qIENoYW5uZWwgc3RhdHVzIGRhdGEgKi8KKworCXUzMiB0eF9zdGF0WzFdOwkvKiBTdGF0dXMgcmVnaXN0ZXIgKi8KKwl1MzIgdHhfY3JbM107CQkvKiBDb250cm9sIHJlZ2lzdGVycyAqLworCXUzMiB0eF91ZFs0XTsJCS8qIFVzZXIgZGF0YSB3aW5kb3cgKi8KKwl1MzIgdHhfc3RbMjRdOwkJLyogQ2hhbm5lbCBzdGF0dXMgZGF0YSAqLworfTsKKworc3RydWN0IGhhbDJfdm9sX3JlZ3MgeworCXUzMiByaWdodDsJCS8qIFJpZ2h0IHZvbHVtZSAqLworCXUzMiBsZWZ0OwkJLyogTGVmdCB2b2x1bWUgKi8KK307CisKK3N0cnVjdCBoYWwyX3N5bl9yZWdzIHsKKwl1MzIgX3VudXNlZDBbMl07CisJdTMyIHBhZ2U7CQkvKiBET0MgUGFnZSByZWdpc3RlciAqLworCXUzMiByZWdzZWw7CQkvKiBET0MgUmVnaXN0ZXIgc2VsZWN0aW9uICovCisJdTMyIGRsb3c7CQkvKiBET0MgRGF0YSBsb3cgKi8KKwl1MzIgZGhpZ2g7CQkvKiBET0MgRGF0YSBoaWdoICovCisJdTMyIGlycTsJCS8qIElSUSBTdGF0dXMgKi8KKwl1MzIgZHJhbTsJCS8qIERSQU0gQWNjZXNzICovCit9OworCisjZW5kaWYJLyogX19IQUwyX0ggKi8KZGlmZiAtLWdpdCBhL3NvdW5kL21pcHMvc2dpbzJhdWRpby5jIGIvc291bmQvbWlwcy9zZ2lvMmF1ZGlvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM2MzUwNAotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL21pcHMvc2dpbzJhdWRpby5jCkBAIC0wLDAgKzEsMTAwNiBAQAorLyoKKyAqICAgU291bmQgZHJpdmVyIGZvciBTaWxpY29uIEdyYXBoaWNzIE8yIFdvcmtzdGF0aW9ucyBBL1YgYm9hcmQgYXVkaW8uCisgKgorICogICBDb3B5cmlnaHQgMjAwMyBWaXZpZW4gQ2hhcHBlbGllciA8dml2aWVuLmNoYXBwZWxpZXJAbGludXgtbWlwcy5vcmc+CisgKiAgIENvcHlyaWdodCAyMDA4IFRob21hcyBCb2dlbmRvZXJmZXIgPHRzYm9nZW5kQGFscGhhLmZyYW5rZW4uZGU+CisgKiAgIE14aWVyIHBhcnQgdGFrZW4gZnJvbSBtYWNlX2F1ZGlvLmM6CisgKiAgIENvcHlyaWdodCAyMDA3IFRob3JiZW4gSsOkbmRsaW5nIDx0ai50cmV2ZWx5YW5AZ21haWwuY29tPgorICoKKyAqICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EKKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvZ2ZwLmg+CisjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2luY2x1ZGUgPGFzbS9pcDMyL2lwMzJfaW50cy5oPgorI2luY2x1ZGUgPGFzbS9pcDMyL21hY2UuaD4KKworI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb250cm9sLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjZGVmaW5lIFNORFJWX0dFVF9JRAorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKyNpbmNsdWRlIDxzb3VuZC9hZDE4NDMuaD4KKworCitNT0RVTEVfQVVUSE9SKCJWaXZpZW4gQ2hhcHBlbGllciA8dml2aWVuLmNoYXBwZWxpZXJAbGludXgtbWlwcy5vcmc+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlNHSSBPMiBBdWRpbyIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7U2lsaWNvbiBHcmFwaGljcywgTzIgQXVkaW99fSIpOworCitzdGF0aWMgaW50IGluZGV4ID0gU05EUlZfREVGQVVMVF9JRFgxOyAgLyogSW5kZXggMC1NQVggKi8KK3N0YXRpYyBjaGFyICppZCA9IFNORFJWX0RFRkFVTFRfU1RSMTsgICAvKiBJRCBmb3IgdGhpcyBjYXJkICovCisKK21vZHVsZV9wYXJhbShpbmRleCwgaW50LCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0MoaW5kZXgsICJJbmRleCB2YWx1ZSBmb3IgU0dJIE8yIHNvdW5kY2FyZC4iKTsKK21vZHVsZV9wYXJhbShpZCwgY2hhcnAsIDA0NDQpOworTU9EVUxFX1BBUk1fREVTQyhpZCwgIklEIHN0cmluZyBmb3IgU0dJIE8yIHNvdW5kY2FyZC4iKTsKKworCisjZGVmaW5lIEFVRElPX0NPTlRST0xfUkVTRVQgICAgICAgICAgICAgIEJJVCgwKSAvKiAxOiByZXNldCBhdWRpbyBpbnRlcmZhY2UgKi8KKyNkZWZpbmUgQVVESU9fQ09OVFJPTF9DT0RFQ19QUkVTRU5UICAgICAgQklUKDEpIC8qIDE6IGNvZGVjIGRldGVjdGVkICovCisKKyNkZWZpbmUgQ09ERUNfQ09OVFJPTF9XT1JEX1NISUZUICAgICAgICAwCisjZGVmaW5lIENPREVDX0NPTlRST0xfUkVBRCAgICAgICAgICAgICAgQklUKDE2KQorI2RlZmluZSBDT0RFQ19DT05UUk9MX0FERFJFU1NfU0hJRlQgICAgIDE3CisKKyNkZWZpbmUgQ0hBTk5FTF9DT05UUk9MX1JFU0VUICAgICAgICAgICBCSVQoMTApIC8qIDE6IHJlc2V0IGNoYW5uZWwgKi8KKyNkZWZpbmUgQ0hBTk5FTF9ETUFfRU5BQkxFICAgICAgICAgICAgICBCSVQoOSkgIC8qIDE6IGVuYWJsZSBETUEgdHJhbnNmZXIgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEX0RJU0FCTEVEICAoMCA8PCA1KSAvKiBpbnRlcnJ1cHQgZGlzYWJsZWQgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEXzI1ICAgICAgICAoMSA8PCA1KSAvKiBpbnQgb24gYnVmZmVyID4yNSUgZnVsbCAqLworI2RlZmluZSBDSEFOTkVMX0lOVF9USFJFU0hPTERfNTAgICAgICAgICgyIDw8IDUpIC8qIGludCBvbiBidWZmZXIgPjUwJSBmdWxsICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF83NSAgICAgICAgKDMgPDwgNSkgLyogaW50IG9uIGJ1ZmZlciA+NzUlIGZ1bGwgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEX0VNUFRZICAgICAoNCA8PCA1KSAvKiBpbnQgb24gYnVmZmVyIGVtcHR5ICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF9OT1RfRU1QVFkgKDUgPDwgNSkgLyogaW50IG9uIGJ1ZmZlciAhZW1wdHkgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEX0ZVTEwgICAgICAoNiA8PCA1KSAvKiBpbnQgb24gYnVmZmVyIGVtcHR5ICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF9OT1RfRlVMTCAgKDcgPDwgNSkgLyogaW50IG9uIGJ1ZmZlciAhZW1wdHkgKi8KKworI2RlZmluZSBDSEFOTkVMX1JJTkdfU0hJRlQgICAgICAgICAgICAgIDEyCisjZGVmaW5lIENIQU5ORUxfUklOR19TSVpFICAgICAgICAgICAgICAgKDEgPDwgQ0hBTk5FTF9SSU5HX1NISUZUKQorI2RlZmluZSBDSEFOTkVMX1JJTkdfTUFTSyAgICAgICAgICAgICAgIChDSEFOTkVMX1JJTkdfU0laRSAtIDEpCisKKyNkZWZpbmUgQ0hBTk5FTF9MRUZUX1NISUZUIDQwCisjZGVmaW5lIENIQU5ORUxfUklHSFRfU0hJRlQgOAorCitzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiB7CisJaW50IGlkeDsKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwlpbnQgcG9zOworCXNuZF9wY21fdWZyYW1lc190IHNpemU7CisJc3BpbmxvY2tfdCBsb2NrOworfTsKKworLyogZGVmaW5pdGlvbiBvZiB0aGUgY2hpcC1zcGVjaWZpYyByZWNvcmQgKi8KK3N0cnVjdCBzbmRfc2dpbzJhdWRpbyB7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkOworCisJLyogY29kZWMgKi8KKwlzdHJ1Y3Qgc25kX2FkMTg0MyBhZDE4NDM7CisJc3BpbmxvY2tfdCBhZDE4NDNfbG9jazsKKworCS8qIGNoYW5uZWxzICovCisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvX2NoYW4gY2hhbm5lbFszXTsKKworCS8qIHJlc291cmNlcyAqLworCXZvaWQgKnJpbmdfYmFzZTsKKwlkbWFfYWRkcl90IHJpbmdfYmFzZV9kbWE7Cit9OworCisvKiBBRDE4NDMgYWNjZXNzICovCisKKy8qCisgKiByZWFkX2FkMTg0M19yZWcgcmV0dXJucyB0aGUgY3VycmVudCBjb250ZW50cyBvZiBhIDE2IGJpdCBBRDE4NDMgcmVnaXN0ZXIuCisgKgorICogUmV0dXJucyB1bnNpZ25lZCByZWdpc3RlciB2YWx1ZSBvbiBzdWNjZXNzLCAtZXJybm8gb24gZmFpbHVyZS4KKyAqLworc3RhdGljIGludCByZWFkX2FkMTg0M19yZWcodm9pZCAqcHJpdiwgaW50IHJlZykKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBwcml2OworCWludCB2YWw7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5hZDE4NDNfbG9jaywgZmxhZ3MpOworCisJd3JpdGVxKChyZWcgPDwgQ09ERUNfQ09OVFJPTF9BRERSRVNTX1NISUZUKSB8CisJICAgICAgIENPREVDX0NPTlRST0xfUkVBRCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNvZGVjX2NvbnRyb2wpOworCXdtYigpOworCXZhbCA9IHJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jb2RlY19jb250cm9sKTsgLyogZmx1c2ggYnVzICovCisJdWRlbGF5KDIwMCk7CisKKwl2YWwgPSByZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY29kZWNfcmVhZCk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5hZDE4NDNfbG9jaywgZmxhZ3MpOworCXJldHVybiB2YWw7Cit9CisKKy8qCisgKiB3cml0ZV9hZDE4NDNfcmVnIHdyaXRlcyB0aGUgc3BlY2lmaWVkIHZhbHVlIHRvIGEgMTYgYml0IEFEMTg0MyByZWdpc3Rlci4KKyAqLworc3RhdGljIGludCB3cml0ZV9hZDE4NDNfcmVnKHZvaWQgKnByaXYsIGludCByZWcsIGludCB3b3JkKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHByaXY7CisJaW50IHZhbDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmFkMTg0M19sb2NrLCBmbGFncyk7CisKKwl3cml0ZXEoKHJlZyA8PCBDT0RFQ19DT05UUk9MX0FERFJFU1NfU0hJRlQpIHwKKwkgICAgICAgKHdvcmQgPDwgQ09ERUNfQ09OVFJPTF9XT1JEX1NISUZUKSwKKwkgICAgICAgJm1hY2UtPnBlcmlmLmF1ZGlvLmNvZGVjX2NvbnRyb2wpOworCXdtYigpOworCXZhbCA9IHJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jb2RlY19jb250cm9sKTsgLyogZmx1c2ggYnVzICovCisJdWRlbGF5KDIwMCk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5hZDE4NDNfbG9jaywgZmxhZ3MpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNnaW8yYXVkaW9fZ2Fpbl9pbmZvKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCisJdWluZm8tPnR5cGUgPSBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI7CisJdWluZm8tPmNvdW50ID0gMjsKKwl1aW5mby0+dmFsdWUuaW50ZWdlci5taW4gPSAwOworCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1heCA9IGFkMTg0M19nZXRfZ2Fpbl9tYXgoJmNoaXAtPmFkMTg0MywKKwkJCQkJICAgICAoaW50KWtjb250cm9sLT5wcml2YXRlX3ZhbHVlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZ2lvMmF1ZGlvX2dhaW5fZ2V0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwlpbnQgdm9sOworCisJdm9sID0gYWQxODQzX2dldF9nYWluKCZjaGlwLT5hZDE4NDMsIChpbnQpa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpOworCisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSAodm9sID4+IDgpICYgMHhGRjsKKwl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXSA9IHZvbCAmIDB4RkY7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZ2lvMmF1ZGlvX2dhaW5fcHV0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCWludCBuZXd2b2wsIG9sZHZvbDsKKworCW9sZHZvbCA9IGFkMTg0M19nZXRfZ2FpbigmY2hpcC0+YWQxODQzLCBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSk7CisJbmV3dm9sID0gKHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdIDw8IDgpIHwKKwkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV07CisKKwluZXd2b2wgPSBhZDE4NDNfc2V0X2dhaW4oJmNoaXAtPmFkMTg0Mywga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUsCisJCW5ld3ZvbCk7CisKKwlyZXR1cm4gbmV3dm9sICE9IG9sZHZvbDsKK30KKworc3RhdGljIGludCBzZ2lvMmF1ZGlvX3NvdXJjZV9pbmZvKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCit7CisJc3RhdGljIGNvbnN0IGNoYXIgKnRleHRzWzNdID0geworCQkiQ2FtIE1pYyIsICJNaWMiLCAiTGluZSIKKwl9OworCXVpbmZvLT50eXBlID0gU05EUlZfQ1RMX0VMRU1fVFlQRV9FTlVNRVJBVEVEOworCXVpbmZvLT5jb3VudCA9IDE7CisJdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbXMgPSAzOworCWlmICh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtID49IDMpCisJCXVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW0gPSAxOworCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLAorCSAgICAgICB0ZXh0c1t1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2dpbzJhdWRpb19zb3VyY2VfZ2V0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKworCXVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMF0gPSBhZDE4NDNfZ2V0X3JlY3NyYygmY2hpcC0+YWQxODQzKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZ2lvMmF1ZGlvX3NvdXJjZV9wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisJaW50IG5ld3NyYywgb2xkc3JjOworCisJb2xkc3JjID0gYWQxODQzX2dldF9yZWNzcmMoJmNoaXAtPmFkMTg0Myk7CisJbmV3c3JjID0gYWQxODQzX3NldF9yZWNzcmMoJmNoaXAtPmFkMTg0MywKKwkJCQkgICB1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzBdKTsKKworCXJldHVybiBuZXdzcmMgIT0gb2xkc3JjOworfQorCisvKiBkYWMxL3BjbTAgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9wY20wIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIlBDTSBQbGF5YmFjayBWb2x1bWUiLAorCS5pbmRleCAgICAgICAgICA9IDAsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBBRDE4NDNfR0FJTl9QQ01fMCwKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9wdXQsCit9OworCisvKiBkYWMyL3BjbTEgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9wY20xIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIlBDTSBQbGF5YmFjayBWb2x1bWUiLAorCS5pbmRleCAgICAgICAgICA9IDEsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBBRDE4NDNfR0FJTl9QQ01fMSwKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9wdXQsCit9OworCisvKiByZWNvcmQgbGV2ZWwgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9yZWNsZXZlbCBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJDYXB0dXJlIFZvbHVtZSIsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBBRDE4NDNfR0FJTl9SRUNMRVYsCisJLmluZm8gICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fcHV0LAorfTsKKworLyogcmVjb3JkIGxldmVsIHNvdXJjZSBjb250cm9sICovCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc2dpbzJhdWRpb19jdHJsX3JlY3NvdXJjZSBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJDYXB0dXJlIFNvdXJjZSIsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX3NvdXJjZV9pbmZvLAorCS5nZXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fc291cmNlX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX3NvdXJjZV9wdXQsCit9OworCisvKiBsaW5lIG1peGVyIGNvbnRyb2wgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzZ2lvMmF1ZGlvX2N0cmxfbGluZSBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJMaW5lIFBsYXliYWNrIFZvbHVtZSIsCisJLmluZGV4ICAgICAgICAgID0gMCwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5wcml2YXRlX3ZhbHVlICA9IEFEMTg0M19HQUlOX0xJTkUsCisJLmluZm8gICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fcHV0LAorfTsKKworLyogY2QgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9jZCBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJMaW5lIFBsYXliYWNrIFZvbHVtZSIsCisJLmluZGV4ICAgICAgICAgID0gMSwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5wcml2YXRlX3ZhbHVlICA9IEFEMTg0M19HQUlOX0xJTkVfMiwKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9wdXQsCit9OworCisvKiBtaWMgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9taWMgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiTWljIFBsYXliYWNrIFZvbHVtZSIsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBBRDE4NDNfR0FJTl9NSUMsCisJLmluZm8gICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fcHV0LAorfTsKKworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBzbmRfc2dpbzJhdWRpb19uZXdfbWl4ZXIoc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwKQoreworCWludCBlcnI7CisKKwllcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJnNnaW8yYXVkaW9fY3RybF9wY20wLCBjaGlwKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJnNnaW8yYXVkaW9fY3RybF9wY20xLCBjaGlwKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJnNnaW8yYXVkaW9fY3RybF9yZWNsZXZlbCwgY2hpcCkpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZzZ2lvMmF1ZGlvX2N0cmxfcmVjc291cmNlLCBjaGlwKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisJZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZzZ2lvMmF1ZGlvX2N0cmxfbGluZSwgY2hpcCkpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZzZ2lvMmF1ZGlvX2N0cmxfY2QsIGNoaXApKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IHNuZF9jdGxfYWRkKGNoaXAtPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmc2dpbzJhdWRpb19jdHJsX21pYywgY2hpcCkpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJcmV0dXJuIDA7Cit9CisKKy8qIGxvdy1sZXZlbCBhdWRpbyBpbnRlcmZhY2UgRE1BICovCisKKy8qIGdldCBkYXRhIG91dCBvZiBib3VuY2UgYnVmZmVyLCBjb3VudCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzIgKi8KKy8qIHJldHVybnMgMSBpZiBhIHBlcmlvZCBoYXMgZWxhcHNlZCAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19kbWFfcHVsbF9mcmFnKHN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCwKKwkJCQkJdW5zaWduZWQgaW50IGNoLCB1bnNpZ25lZCBpbnQgY291bnQpCit7CisJaW50IHJldDsKKwl1bnNpZ25lZCBsb25nIHNyY19iYXNlLCBzcmNfcG9zLCBkc3RfbWFzazsKKwl1bnNpZ25lZCBjaGFyICpkc3RfYmFzZTsKKwlpbnQgZHN0X3BvczsKKwl1NjQgKnNyYzsKKwlzMTYgKmRzdDsKKwl1NjQgeDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBjaGlwLT5jaGFubmVsW2NoXS5zdWJzdHJlYW0tPnJ1bnRpbWU7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+Y2hhbm5lbFtjaF0ubG9jaywgZmxhZ3MpOworCisJc3JjX2Jhc2UgPSAodW5zaWduZWQgbG9uZykgY2hpcC0+cmluZ19iYXNlIHwgKGNoIDw8IENIQU5ORUxfUklOR19TSElGVCk7CisJc3JjX3BvcyA9IHJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS5yZWFkX3B0cik7CisJZHN0X2Jhc2UgPSBydW50aW1lLT5kbWFfYXJlYTsKKwlkc3RfcG9zID0gY2hpcC0+Y2hhbm5lbFtjaF0ucG9zOworCWRzdF9tYXNrID0gZnJhbWVzX3RvX2J5dGVzKHJ1bnRpbWUsIHJ1bnRpbWUtPmJ1ZmZlcl9zaXplKSAtIDE7CisKKwkvKiBjaGVjayBpZiBhIHBlcmlvZCBoYXMgZWxhcHNlZCAqLworCWNoaXAtPmNoYW5uZWxbY2hdLnNpemUgKz0gKGNvdW50ID4+IDMpOyAvKiBpbiBmcmFtZXMgKi8KKwlyZXQgPSBjaGlwLT5jaGFubmVsW2NoXS5zaXplID49IHJ1bnRpbWUtPnBlcmlvZF9zaXplOworCWNoaXAtPmNoYW5uZWxbY2hdLnNpemUgJT0gcnVudGltZS0+cGVyaW9kX3NpemU7CisKKwl3aGlsZSAoY291bnQpIHsKKwkJc3JjID0gKHU2NCAqKShzcmNfYmFzZSArIHNyY19wb3MpOworCQlkc3QgPSAoczE2ICopKGRzdF9iYXNlICsgZHN0X3Bvcyk7CisKKwkJeCA9ICpzcmM7CisJCWRzdFswXSA9ICh4ID4+IENIQU5ORUxfTEVGVF9TSElGVCkgJiAweGZmZmY7CisJCWRzdFsxXSA9ICh4ID4+IENIQU5ORUxfUklHSFRfU0hJRlQpICYgMHhmZmZmOworCisJCXNyY19wb3MgPSAoc3JjX3BvcyArIHNpemVvZih1NjQpKSAmIENIQU5ORUxfUklOR19NQVNLOworCQlkc3RfcG9zID0gKGRzdF9wb3MgKyAyICogc2l6ZW9mKHMxNikpICYgZHN0X21hc2s7CisJCWNvdW50IC09IHNpemVvZih1NjQpOworCX0KKworCXdyaXRlcShzcmNfcG9zLCAmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0ucmVhZF9wdHIpOyAvKiBpbiBieXRlcyAqLworCWNoaXAtPmNoYW5uZWxbY2hdLnBvcyA9IGRzdF9wb3M7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5jaGFubmVsW2NoXS5sb2NrLCBmbGFncyk7CisJcmV0dXJuIHJldDsKK30KKworLyogcHV0IHNvbWUgRE1BIGRhdGEgaW4gYm91bmNlIGJ1ZmZlciwgY291bnQgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMyICovCisvKiByZXR1cm5zIDEgaWYgYSBwZXJpb2QgaGFzIGVsYXBzZWQgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fZG1hX3B1c2hfZnJhZyhzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAsCisJCQkJCXVuc2lnbmVkIGludCBjaCwgdW5zaWduZWQgaW50IGNvdW50KQoreworCWludCByZXQ7CisJczY0IGwsIHI7CisJdW5zaWduZWQgbG9uZyBkc3RfYmFzZSwgZHN0X3Bvcywgc3JjX21hc2s7CisJdW5zaWduZWQgY2hhciAqc3JjX2Jhc2U7CisJaW50IHNyY19wb3M7CisJdTY0ICpkc3Q7CisJczE2ICpzcmM7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gY2hpcC0+Y2hhbm5lbFtjaF0uc3Vic3RyZWFtLT5ydW50aW1lOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmNoYW5uZWxbY2hdLmxvY2ssIGZsYWdzKTsKKworCWRzdF9iYXNlID0gKHVuc2lnbmVkIGxvbmcpY2hpcC0+cmluZ19iYXNlIHwgKGNoIDw8IENIQU5ORUxfUklOR19TSElGVCk7CisJZHN0X3BvcyA9IHJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS53cml0ZV9wdHIpOworCXNyY19iYXNlID0gcnVudGltZS0+ZG1hX2FyZWE7CisJc3JjX3BvcyA9IGNoaXAtPmNoYW5uZWxbY2hdLnBvczsKKwlzcmNfbWFzayA9IGZyYW1lc190b19ieXRlcyhydW50aW1lLCBydW50aW1lLT5idWZmZXJfc2l6ZSkgLSAxOworCisJLyogY2hlY2sgaWYgYSBwZXJpb2QgaGFzIGVsYXBzZWQgKi8KKwljaGlwLT5jaGFubmVsW2NoXS5zaXplICs9IChjb3VudCA+PiAzKTsgLyogaW4gZnJhbWVzICovCisJcmV0ID0gY2hpcC0+Y2hhbm5lbFtjaF0uc2l6ZSA+PSBydW50aW1lLT5wZXJpb2Rfc2l6ZTsKKwljaGlwLT5jaGFubmVsW2NoXS5zaXplICU9IHJ1bnRpbWUtPnBlcmlvZF9zaXplOworCisJd2hpbGUgKGNvdW50KSB7CisJCXNyYyA9IChzMTYgKikoc3JjX2Jhc2UgKyBzcmNfcG9zKTsKKwkJZHN0ID0gKHU2NCAqKShkc3RfYmFzZSArIGRzdF9wb3MpOworCisJCWwgPSBzcmNbMF07IC8qIHNpZ24gZXh0ZW5kICovCisJCXIgPSBzcmNbMV07IC8qIHNpZ24gZXh0ZW5kICovCisKKwkJKmRzdCA9ICgobCAmIDB4MDBmZmZmZmYpIDw8IENIQU5ORUxfTEVGVF9TSElGVCkgfAorCQkJKChyICYgMHgwMGZmZmZmZikgPDwgQ0hBTk5FTF9SSUdIVF9TSElGVCk7CisKKwkJZHN0X3BvcyA9IChkc3RfcG9zICsgc2l6ZW9mKHU2NCkpICYgQ0hBTk5FTF9SSU5HX01BU0s7CisJCXNyY19wb3MgPSAoc3JjX3BvcyArIDIgKiBzaXplb2YoczE2KSkgJiBzcmNfbWFzazsKKwkJY291bnQgLT0gc2l6ZW9mKHU2NCk7CisJfQorCisJd3JpdGVxKGRzdF9wb3MsICZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS53cml0ZV9wdHIpOyAvKiBpbiBieXRlcyAqLworCWNoaXAtPmNoYW5uZWxbY2hdLnBvcyA9IHNyY19wb3M7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5jaGFubmVsW2NoXS5sb2NrLCBmbGFncyk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19kbWFfc3RhcnQoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisJaW50IGNoID0gY2hhbi0+aWR4OworCisJLyogcmVzZXQgRE1BIGNoYW5uZWwgKi8KKwl3cml0ZXEoQ0hBTk5FTF9DT05UUk9MX1JFU0VULCAmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0uY29udHJvbCk7CisJdWRlbGF5KDEwKTsKKwl3cml0ZXEoMCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLmNvbnRyb2wpOworCisJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spIHsKKwkJLyogcHVzaCBhIGZ1bGwgYnVmZmVyICovCisJCXNuZF9zZ2lvMmF1ZGlvX2RtYV9wdXNoX2ZyYWcoY2hpcCwgY2gsIENIQU5ORUxfUklOR19TSVpFIC0gMzIpOworCX0KKwkvKiBzZXQgRE1BIHRvIHdha2Ugb24gNTAlIGVtcHR5IGFuZCBlbmFibGUgaW50ZXJydXB0ICovCisJd3JpdGVxKENIQU5ORUxfRE1BX0VOQUJMRSB8IENIQU5ORUxfSU5UX1RIUkVTSE9MRF81MCwKKwkgICAgICAgJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLmNvbnRyb2wpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX2RtYV9zdG9wKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisKKwl3cml0ZXEoMCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hhbi0+aWR4XS5jb250cm9sKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlycXJldHVybl90IHNuZF9zZ2lvMmF1ZGlvX2RtYV9pbl9pc3IoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gZGV2X2lkOworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcDsKKwlpbnQgY291bnQsIGNoOworCisJc3Vic3RyZWFtID0gY2hhbi0+c3Vic3RyZWFtOworCWNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJY2ggPSBjaGFuLT5pZHg7CisKKwkvKiBlbXB0eSB0aGUgcmluZyAqLworCWNvdW50ID0gQ0hBTk5FTF9SSU5HX1NJWkUgLQorCQlyZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0uZGVwdGgpIC0gMzI7CisJaWYgKHNuZF9zZ2lvMmF1ZGlvX2RtYV9wdWxsX2ZyYWcoY2hpcCwgY2gsIGNvdW50KSkKKwkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChzdWJzdHJlYW0pOworCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgaXJxcmV0dXJuX3Qgc25kX3NnaW8yYXVkaW9fZG1hX291dF9pc3IoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gZGV2X2lkOworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcDsKKwlpbnQgY291bnQsIGNoOworCisJc3Vic3RyZWFtID0gY2hhbi0+c3Vic3RyZWFtOworCWNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJY2ggPSBjaGFuLT5pZHg7CisJLyogZmlsbCB0aGUgcmluZyAqLworCWNvdW50ID0gQ0hBTk5FTF9SSU5HX1NJWkUgLQorCQlyZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0uZGVwdGgpIC0gMzI7CisJaWYgKHNuZF9zZ2lvMmF1ZGlvX2RtYV9wdXNoX2ZyYWcoY2hpcCwgY2gsIGNvdW50KSkKKwkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChzdWJzdHJlYW0pOworCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgaXJxcmV0dXJuX3Qgc25kX3NnaW8yYXVkaW9fZXJyb3JfaXNyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiAqY2hhbiA9IGRldl9pZDsKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKworCXN1YnN0cmVhbSA9IGNoYW4tPnN1YnN0cmVhbTsKKwlzbmRfc2dpbzJhdWRpb19kbWFfc3RvcChzdWJzdHJlYW0pOworCXNuZF9zZ2lvMmF1ZGlvX2RtYV9zdGFydChzdWJzdHJlYW0pOworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworLyogUENNIHBhcnQgKi8KKy8qIFBDTSBoYXJkd2FyZSBkZWZpbml0aW9uICovCitzdGF0aWMgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgc25kX3NnaW8yYXVkaW9fcGNtX2h3ID0geworCS5pbmZvID0gKFNORFJWX1BDTV9JTkZPX01NQVAgfAorCQkgU05EUlZfUENNX0lORk9fTU1BUF9WQUxJRCB8CisJCSBTTkRSVl9QQ01fSU5GT19JTlRFUkxFQVZFRCB8CisJCSBTTkRSVl9QQ01fSU5GT19CTE9DS19UUkFOU0ZFUiksCisJLmZvcm1hdHMgPSAgICAgICAgICBTTkRSVl9QQ01fRk1UQklUX1MxNl9CRSwKKwkucmF0ZXMgPSAgICAgICAgICAgIFNORFJWX1BDTV9SQVRFXzgwMDBfNDgwMDAsCisJLnJhdGVfbWluID0gICAgICAgICA4MDAwLAorCS5yYXRlX21heCA9ICAgICAgICAgNDgwMDAsCisJLmNoYW5uZWxzX21pbiA9ICAgICAyLAorCS5jaGFubmVsc19tYXggPSAgICAgMiwKKwkuYnVmZmVyX2J5dGVzX21heCA9IDY1NTM2LAorCS5wZXJpb2RfYnl0ZXNfbWluID0gMzI3NjgsCisJLnBlcmlvZF9ieXRlc19tYXggPSA2NTUzNiwKKwkucGVyaW9kc19taW4gPSAgICAgIDEsCisJLnBlcmlvZHNfbWF4ID0gICAgICAxMDI0LAorfTsKKworLyogUENNIHBsYXliYWNrIG9wZW4gY2FsbGJhY2sgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fcGxheWJhY2sxX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisKKwlydW50aW1lLT5odyA9IHNuZF9zZ2lvMmF1ZGlvX3BjbV9odzsKKwlydW50aW1lLT5wcml2YXRlX2RhdGEgPSAmY2hpcC0+Y2hhbm5lbFsxXTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wbGF5YmFjazJfb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKworCXJ1bnRpbWUtPmh3ID0gc25kX3NnaW8yYXVkaW9fcGNtX2h3OworCXJ1bnRpbWUtPnByaXZhdGVfZGF0YSA9ICZjaGlwLT5jaGFubmVsWzJdOworCXJldHVybiAwOworfQorCisvKiBQQ00gY2FwdHVyZSBvcGVuIGNhbGxiYWNrICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX2NhcHR1cmVfb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKworCXJ1bnRpbWUtPmh3ID0gc25kX3NnaW8yYXVkaW9fcGNtX2h3OworCXJ1bnRpbWUtPnByaXZhdGVfZGF0YSA9ICZjaGlwLT5jaGFubmVsWzBdOworCXJldHVybiAwOworfQorCisvKiBQQ00gY2xvc2UgY2FsbGJhY2sgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fcGNtX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisKKwlydW50aW1lLT5wcml2YXRlX2RhdGEgPSBOVUxMOworCXJldHVybiAwOworfQorCisKKy8qIGh3X3BhcmFtcyBjYWxsYmFjayAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wY21faHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCQlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKmh3X3BhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCWludCBzaXplID0gcGFyYW1zX2J1ZmZlcl9ieXRlcyhod19wYXJhbXMpOworCisJLyogYWxsb2MgdmlydHVhbCAnZG1hJyBhcmVhICovCisJaWYgKHJ1bnRpbWUtPmRtYV9hcmVhKQorCQl2ZnJlZShydW50aW1lLT5kbWFfYXJlYSk7CisJcnVudGltZS0+ZG1hX2FyZWEgPSB2bWFsbG9jKHNpemUpOworCWlmIChydW50aW1lLT5kbWFfYXJlYSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKwlydW50aW1lLT5kbWFfYnl0ZXMgPSBzaXplOworCXJldHVybiAwOworfQorCisvKiBod19mcmVlIGNhbGxiYWNrICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCWlmIChzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hcmVhKQorCQl2ZnJlZShzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hcmVhKTsKKwlzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hcmVhID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworLyogcHJlcGFyZSBjYWxsYmFjayAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wY21fcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiAqY2hhbiA9IHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhOworCWludCBjaCA9IGNoYW4tPmlkeDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmNoYW5uZWxbY2hdLmxvY2ssIGZsYWdzKTsKKworCS8qIFNldHVwIHRoZSBwc2V1ZG8tZG1hIHRyYW5zZmVyIHBvaW50ZXJzLiAgKi8KKwljaGlwLT5jaGFubmVsW2NoXS5wb3MgPSAwOworCWNoaXAtPmNoYW5uZWxbY2hdLnNpemUgPSAwOworCWNoaXAtPmNoYW5uZWxbY2hdLnN1YnN0cmVhbSA9IHN1YnN0cmVhbTsKKworCS8qIHNldCBBRDE4NDMgZm9ybWF0ICovCisJLyogaGFyZHdhcmUgZm9ybWF0IGlzIGFsd2F5cyBTMTZfTEUgKi8KKwlzd2l0Y2ggKHN1YnN0cmVhbS0+c3RyZWFtKSB7CisJY2FzZSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLOgorCQlhZDE4NDNfc2V0dXBfZGFjKCZjaGlwLT5hZDE4NDMsCisJCQkJIGNoIC0gMSwKKwkJCQkgcnVudGltZS0+cmF0ZSwKKwkJCQkgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEUsCisJCQkJIHJ1bnRpbWUtPmNoYW5uZWxzKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fU1RSRUFNX0NBUFRVUkU6CisJCWFkMTg0M19zZXR1cF9hZGMoJmNoaXAtPmFkMTg0MywKKwkJCQkgcnVudGltZS0+cmF0ZSwKKwkJCQkgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEUsCisJCQkJIHJ1bnRpbWUtPmNoYW5uZWxzKTsKKwkJYnJlYWs7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmNoYW5uZWxbY2hdLmxvY2ssIGZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKworLyogdHJpZ2dlciBjYWxsYmFjayAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wY21fdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgICAgICBpbnQgY21kKQoreworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKKwkJLyogc3RhcnQgdGhlIFBDTSBlbmdpbmUgKi8KKwkJc25kX3NnaW8yYXVkaW9fZG1hX3N0YXJ0KHN1YnN0cmVhbSk7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwkJLyogc3RvcCB0aGUgUENNIGVuZ2luZSAqLworCQlzbmRfc2dpbzJhdWRpb19kbWFfc3RvcChzdWJzdHJlYW0pOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIHBvaW50ZXIgY2FsbGJhY2sgKi8KK3N0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdAorc25kX3NnaW8yYXVkaW9fcGNtX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisKKwkvKiBnZXQgdGhlIGN1cnJlbnQgaGFyZHdhcmUgcG9pbnRlciAqLworCXJldHVybiBieXRlc190b19mcmFtZXMoc3Vic3RyZWFtLT5ydW50aW1lLAorCQkJICAgICAgIGNoaXAtPmNoYW5uZWxbY2hhbi0+aWR4XS5wb3MpOworfQorCisvKiBnZXQgdGhlIHBoeXNpY2FsIHBhZ2UgcG9pbnRlciBvbiB0aGUgZ2l2ZW4gb2Zmc2V0ICovCitzdGF0aWMgc3RydWN0IHBhZ2UgKnNuZF9zZ2lvMmF1ZGlvX3BhZ2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJCXVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCXJldHVybiB2bWFsbG9jX3RvX3BhZ2Uoc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYXJlYSArIG9mZnNldCk7Cit9CisKKy8qIG9wZXJhdG9ycyAqLworc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBzbmRfc2dpbzJhdWRpb19wbGF5YmFjazFfb3BzID0geworCS5vcGVuID0gICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMV9vcGVuLAorCS5jbG9zZSA9ICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9jbG9zZSwKKwkuaW9jdGwgPSAgICAgICBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zID0gICBzbmRfc2dpbzJhdWRpb19wY21faHdfcGFyYW1zLAorCS5od19mcmVlID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19mcmVlLAorCS5wcmVwYXJlID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9wcmVwYXJlLAorCS50cmlnZ2VyID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV90cmlnZ2VyLAorCS5wb2ludGVyID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9wb2ludGVyLAorCS5wYWdlID0gICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BhZ2UsCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIHNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMl9vcHMgPSB7CisJLm9wZW4gPSAgICAgICAgc25kX3NnaW8yYXVkaW9fcGxheWJhY2syX29wZW4sCisJLmNsb3NlID0gICAgICAgc25kX3NnaW8yYXVkaW9fcGNtX2Nsb3NlLAorCS5pb2N0bCA9ICAgICAgIHNuZF9wY21fbGliX2lvY3RsLAorCS5od19wYXJhbXMgPSAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19wYXJhbXMsCisJLmh3X2ZyZWUgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3ByZXBhcmUsCisJLnRyaWdnZXIgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3RyaWdnZXIsCisJLnBvaW50ZXIgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3BvaW50ZXIsCisJLnBhZ2UgPSAgICAgICAgc25kX3NnaW8yYXVkaW9fcGFnZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgc25kX3NnaW8yYXVkaW9fY2FwdHVyZV9vcHMgPSB7CisJLm9wZW4gPSAgICAgICAgc25kX3NnaW8yYXVkaW9fY2FwdHVyZV9vcGVuLAorCS5jbG9zZSA9ICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9jbG9zZSwKKwkuaW9jdGwgPSAgICAgICBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zID0gICBzbmRfc2dpbzJhdWRpb19wY21faHdfcGFyYW1zLAorCS5od19mcmVlID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19mcmVlLAorCS5wcmVwYXJlID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9wcmVwYXJlLAorCS50cmlnZ2VyID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV90cmlnZ2VyLAorCS5wb2ludGVyID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9wb2ludGVyLAorCS5wYWdlID0gICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BhZ2UsCit9OworCisvKgorICogIGRlZmluaXRpb25zIG9mIGNhcHR1cmUgYXJlIG9taXR0ZWQgaGVyZS4uLgorICovCisKKy8qIGNyZWF0ZSBhIHBjbSBkZXZpY2UgKi8KK3N0YXRpYyBpbnQgX19kZXZpbml0IHNuZF9zZ2lvMmF1ZGlvX25ld19wY20oc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwKQoreworCXN0cnVjdCBzbmRfcGNtICpwY207CisJaW50IGVycjsKKworCS8qIGNyZWF0ZSBmaXJzdCBwY20gZGV2aWNlIHdpdGggb25lIG91dHB1dHMgYW5kIG9uZSBpbnB1dCAqLworCWVyciA9IHNuZF9wY21fbmV3KGNoaXAtPmNhcmQsICJTR0kgTzIgQXVkaW8iLCAwLCAxLCAxLCAmcGNtKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCXBjbS0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKKwlzdHJjcHkocGNtLT5uYW1lLCAiU0dJIE8yIERBQzEiKTsKKworCS8qIHNldCBvcGVyYXRvcnMgKi8KKwlzbmRfcGNtX3NldF9vcHMocGNtLCBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLLAorCQkJJnNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMV9vcHMpOworCXNuZF9wY21fc2V0X29wcyhwY20sIFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSwKKwkJCSZzbmRfc2dpbzJhdWRpb19jYXB0dXJlX29wcyk7CisKKwkvKiBjcmVhdGUgc2Vjb25kICBwY20gZGV2aWNlIHdpdGggb25lIG91dHB1dHMgYW5kIG5vIGlucHV0ICovCisJZXJyID0gc25kX3BjbV9uZXcoY2hpcC0+Y2FyZCwgIlNHSSBPMiBBdWRpbyIsIDEsIDEsIDAsICZwY20pOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJcGNtLT5wcml2YXRlX2RhdGEgPSBjaGlwOworCXN0cmNweShwY20tPm5hbWUsICJTR0kgTzIgREFDMiIpOworCisJLyogc2V0IG9wZXJhdG9ycyAqLworCXNuZF9wY21fc2V0X29wcyhwY20sIFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0ssCisJCQkmc25kX3NnaW8yYXVkaW9fcGxheWJhY2syX29wcyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCB7CisJaW50IGlkeDsKKwlpbnQgaXJxOworCWlycXJldHVybl90ICgqaXNyKShpbnQsIHZvaWQgKik7CisJY29uc3QgY2hhciAqZGVzYzsKK30gc25kX3NnaW8yX2lzcl90YWJsZVtdID0geworCXsKKwkJLmlkeCA9IDAsCisJCS5pcnEgPSBNQUNFSVNBX0FVRElPMV9ETUFUX0lSUSwKKwkJLmlzciA9IHNuZF9zZ2lvMmF1ZGlvX2RtYV9pbl9pc3IsCisJCS5kZXNjID0gIkNhcHR1cmUgRE1BIENoYW5uZWwgMCIKKwl9LCB7CisJCS5pZHggPSAwLAorCQkuaXJxID0gTUFDRUlTQV9BVURJTzFfT0ZfSVJRLAorCQkuaXNyID0gc25kX3NnaW8yYXVkaW9fZXJyb3JfaXNyLAorCQkuZGVzYyA9ICJDYXB0dXJlIE92ZXJmbG93IgorCX0sIHsKKwkJLmlkeCA9IDEsCisJCS5pcnEgPSBNQUNFSVNBX0FVRElPMl9ETUFUX0lSUSwKKwkJLmlzciA9IHNuZF9zZ2lvMmF1ZGlvX2RtYV9vdXRfaXNyLAorCQkuZGVzYyA9ICJQbGF5YmFjayBETUEgQ2hhbm5lbCAxIgorCX0sIHsKKwkJLmlkeCA9IDEsCisJCS5pcnEgPSBNQUNFSVNBX0FVRElPMl9NRVJSX0lSUSwKKwkJLmlzciA9IHNuZF9zZ2lvMmF1ZGlvX2Vycm9yX2lzciwKKwkJLmRlc2MgPSAiTWVtb3J5IEVycm9yIENoYW5uZWwgMSIKKwl9LCB7CisJCS5pZHggPSAyLAorCQkuaXJxID0gTUFDRUlTQV9BVURJTzNfRE1BVF9JUlEsCisJCS5pc3IgPSBzbmRfc2dpbzJhdWRpb19kbWFfb3V0X2lzciwKKwkJLmRlc2MgPSAiUGxheWJhY2sgRE1BIENoYW5uZWwgMiIKKwl9LCB7CisJCS5pZHggPSAyLAorCQkuaXJxID0gTUFDRUlTQV9BVURJTzNfTUVSUl9JUlEsCisJCS5pc3IgPSBzbmRfc2dpbzJhdWRpb19lcnJvcl9pc3IsCisJCS5kZXNjID0gIk1lbW9yeSBFcnJvciBDaGFubmVsIDIiCisJfQorfTsKKworLyogQUxTQSBkcml2ZXIgKi8KKworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19mcmVlKHN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCkKK3sKKwlpbnQgaTsKKworCS8qIHJlc2V0IGludGVyZmFjZSAqLworCXdyaXRlcShBVURJT19DT05UUk9MX1JFU0VULCAmbWFjZS0+cGVyaWYuYXVkaW8uY29udHJvbCk7CisJdWRlbGF5KDEpOworCXdyaXRlcSgwLCAmbWFjZS0+cGVyaWYuYXVkaW8uY29udHJvbCk7CisKKwkvKiByZWxlYXNlIElSUSdzICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc25kX3NnaW8yX2lzcl90YWJsZSk7IGkrKykKKwkJZnJlZV9pcnEoc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pcnEsCisJCQkgJmNoaXAtPmNoYW5uZWxbc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pZHhdKTsKKworCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIE1BQ0VJU0FfUklOR0JVRkZFUlNfU0laRSwKKwkJCSAgY2hpcC0+cmluZ19iYXNlLCBjaGlwLT5yaW5nX2Jhc2VfZG1hKTsKKworCS8qIHJlbGVhc2UgY2FyZCBkYXRhICovCisJa2ZyZWUoY2hpcCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fZGV2X2ZyZWUoc3RydWN0IHNuZF9kZXZpY2UgKmRldmljZSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBkZXZpY2UtPmRldmljZV9kYXRhOworCisJcmV0dXJuIHNuZF9zZ2lvMmF1ZGlvX2ZyZWUoY2hpcCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX2RldmljZV9vcHMgb3BzID0geworCS5kZXZfZnJlZSA9IHNuZF9zZ2lvMmF1ZGlvX2Rldl9mcmVlLAorfTsKKworc3RhdGljIGludCBfX2RldmluaXQgc25kX3NnaW8yYXVkaW9fY3JlYXRlKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKKwkJCQkJICAgc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICoqcmNoaXApCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwOworCWludCBpLCBlcnI7CisKKwkqcmNoaXAgPSBOVUxMOworCisJLyogY2hlY2sgaWYgYSBjb2RlYyBpcyBhdHRhY2hlZCB0byB0aGUgaW50ZXJmYWNlICovCisJLyogKEF1ZGlvIG9yIEF1ZGlvL1ZpZGVvIGJvYXJkIHByZXNlbnQpICovCisJaWYgKCEocmVhZHEoJm1hY2UtPnBlcmlmLmF1ZGlvLmNvbnRyb2wpICYgQVVESU9fQ09OVFJPTF9DT0RFQ19QUkVTRU5UKSkKKwkJcmV0dXJuIC1FTk9FTlQ7CisKKwljaGlwID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zZ2lvMmF1ZGlvKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGNoaXAgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwljaGlwLT5jYXJkID0gY2FyZDsKKworCWNoaXAtPnJpbmdfYmFzZSA9IGRtYV9hbGxvY19jb2hlcmVudChOVUxMLCBNQUNFSVNBX1JJTkdCVUZGRVJTX1NJWkUsCisJCQkJCSAgICAgJmNoaXAtPnJpbmdfYmFzZV9kbWEsIEdGUF9VU0VSKTsKKwlpZiAoY2hpcC0+cmluZ19iYXNlID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fRVJSCisJCSAgICAgICAic2dpbzJhdWRpbzogY291bGQgbm90IGFsbG9jYXRlIHJpbmcgYnVmZmVyc1xuIik7CisJCWtmcmVlKGNoaXApOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlzcGluX2xvY2tfaW5pdCgmY2hpcC0+YWQxODQzX2xvY2spOworCisJLyogaW5pdGlhbGl6ZSBjaGFubmVscyAqLworCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHsKKwkJc3Bpbl9sb2NrX2luaXQoJmNoaXAtPmNoYW5uZWxbaV0ubG9jayk7CisJCWNoaXAtPmNoYW5uZWxbaV0uaWR4ID0gaTsKKwl9CisKKwkvKiBhbGxvY2F0ZSBJUlFzICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc25kX3NnaW8yX2lzcl90YWJsZSk7IGkrKykgeworCQlpZiAocmVxdWVzdF9pcnEoc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pcnEsCisJCQkJc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pc3IsCisJCQkJMCwKKwkJCQlzbmRfc2dpbzJfaXNyX3RhYmxlW2ldLmRlc2MsCisJCQkJJmNoaXAtPmNoYW5uZWxbc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pZHhdKSkgeworCQkJc25kX3NnaW8yYXVkaW9fZnJlZShjaGlwKTsKKwkJCXByaW50ayhLRVJOX0VSUiAic2dpbzJhdWRpbzogY2Fubm90IGFsbG9jYXRlIGlycSAlZFxuIiwKKwkJCSAgICAgICBzbmRfc2dpbzJfaXNyX3RhYmxlW2ldLmlycSk7CisJCQlyZXR1cm4gLUVCVVNZOworCQl9CisJfQorCisJLyogcmVzZXQgdGhlIGludGVyZmFjZSAqLworCXdyaXRlcShBVURJT19DT05UUk9MX1JFU0VULCAmbWFjZS0+cGVyaWYuYXVkaW8uY29udHJvbCk7CisJdWRlbGF5KDEpOworCXdyaXRlcSgwLCAmbWFjZS0+cGVyaWYuYXVkaW8uY29udHJvbCk7CisJbXNsZWVwX2ludGVycnVwdGlibGUoMSk7IC8qIGdpdmUgdGltZSB0byByZWNvdmVyICovCisKKwkvKiBzZXQgcmluZyBiYXNlICovCisJd3JpdGVxKGNoaXAtPnJpbmdfYmFzZV9kbWEsICZtYWNlLT5wZXJpZi5jdHJsLnJpbmdiYXNlKTsKKworCS8qIGF0dGFjaCB0aGUgQUQxODQzIGNvZGVjICovCisJY2hpcC0+YWQxODQzLnJlYWQgPSByZWFkX2FkMTg0M19yZWc7CisJY2hpcC0+YWQxODQzLndyaXRlID0gd3JpdGVfYWQxODQzX3JlZzsKKwljaGlwLT5hZDE4NDMuY2hpcCA9IGNoaXA7CisKKwkvKiBpbml0aWFsaXplIHRoZSBBRDE4NDMgY29kZWMgKi8KKwllcnIgPSBhZDE4NDNfaW5pdCgmY2hpcC0+YWQxODQzKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfc2dpbzJhdWRpb19mcmVlKGNoaXApOworCQlyZXR1cm4gZXJyOworCX0KKworCWVyciA9IHNuZF9kZXZpY2VfbmV3KGNhcmQsIFNORFJWX0RFVl9MT1dMRVZFTCwgY2hpcCwgJm9wcyk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX3NnaW8yYXVkaW9fZnJlZShjaGlwKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJKnJjaGlwID0gY2hpcDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2RldmluaXQgc25kX3NnaW8yYXVkaW9fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwOworCWludCBlcnI7CisKKwljYXJkID0gc25kX2NhcmRfbmV3KGluZGV4LCBpZCwgVEhJU19NT0RVTEUsIDApOworCWlmIChjYXJkID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJZXJyID0gc25kX3NnaW8yYXVkaW9fY3JlYXRlKGNhcmQsICZjaGlwKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKwlzbmRfY2FyZF9zZXRfZGV2KGNhcmQsICZwZGV2LT5kZXYpOworCisJZXJyID0gc25kX3NnaW8yYXVkaW9fbmV3X3BjbShjaGlwKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKwllcnIgPSBzbmRfc2dpbzJhdWRpb19uZXdfbWl4ZXIoY2hpcCk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX2NhcmRfZnJlZShjYXJkKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwlzdHJjcHkoY2FyZC0+ZHJpdmVyLCAiU0dJIE8yIEF1ZGlvIik7CisJc3RyY3B5KGNhcmQtPnNob3J0bmFtZSwgIlNHSSBPMiBBdWRpbyIpOworCXNwcmludGYoY2FyZC0+bG9uZ25hbWUsICIlcyBpcnEgJWktJWkiLAorCQljYXJkLT5zaG9ydG5hbWUsCisJCU1BQ0VJU0FfQVVESU8xX0RNQVRfSVJRLAorCQlNQUNFSVNBX0FVRElPM19NRVJSX0lSUSk7CisKKwllcnIgPSBzbmRfY2FyZF9yZWdpc3RlcihjYXJkKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBjYXJkKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2V4aXQgc25kX3NnaW8yYXVkaW9fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlzbmRfY2FyZF9mcmVlKGNhcmQpOworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBzZ2lvMmF1ZGlvX2RyaXZlciA9IHsKKwkucHJvYmUJPSBzbmRfc2dpbzJhdWRpb19wcm9iZSwKKwkucmVtb3ZlCT0gX19kZXZleGl0X3Aoc25kX3NnaW8yYXVkaW9fcmVtb3ZlKSwKKwkuZHJpdmVyID0geworCQkubmFtZQk9ICJzZ2lvMmF1ZGlvIiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfQorfTsKKworc3RhdGljIGludCBfX2luaXQgYWxzYV9jYXJkX3NnaW8yYXVkaW9faW5pdCh2b2lkKQoreworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoJnNnaW8yYXVkaW9fZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGFsc2FfY2FyZF9zZ2lvMmF1ZGlvX2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3Rlcigmc2dpbzJhdWRpb19kcml2ZXIpOworfQorCittb2R1bGVfaW5pdChhbHNhX2NhcmRfc2dpbzJhdWRpb19pbml0KQorbW9kdWxlX2V4aXQoYWxzYV9jYXJkX3NnaW8yYXVkaW9fZXhpdCkKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9LY29uZmlnIGIvc291bmQvb3NzL0tjb25maWcKaW5kZXggM2JlMmRjMS4uMzM5NDAxMyAxMDA2NDQKLS0tIGEvc291bmQvb3NzL0tjb25maWcKKysrIGIvc291bmQvb3NzL0tjb25maWcKQEAgLTcsNyArNyw3IEBACiAKIGNvbmZpZyBTT1VORF9CQ01fQ1M0Mjk3QQogCXRyaXN0YXRlICJDcnlzdGFsIFNvdW5kIENTNDI5N2EgKGZvciBTd2FybSkiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBTSUJZVEVfU1dBUk0KKwlkZXBlbmRzIG9uIFNJQllURV9TV0FSTQogCWhlbHAKIAkgIFRoZSBCQ005MTI1MEEgaGFzIGEgQ3J5c3RhbCBDUzQyOTdhIG9uIHN5bmNocm9ub3VzIHNlcmlhbAogCSAgcG9ydCBCIChpbiBhZGRpdGlvbiB0byB0aGUgREItOSBzZXJpYWwgcG9ydCkuICBTYXkgWSBvciBNCkBAIC0xNyw3ICsxNyw3IEBACiAKIGNvbmZpZyBTT1VORF9WV1NORAogCXRyaXN0YXRlICJTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIFNvdW5kIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgWDg2X1ZJU1dTCisJZGVwZW5kcyBvbiBYODZfVklTV1MKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSBoYXZlIGFuIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gYW5kIHlvdSB3YW50IHRvIGJlCiAJICBhYmxlIHRvIHVzZSBpdHMgb24tYm9hcmQgYXVkaW8uICBSZWFkCkBAIC0yNiwxOSArMjYsMTggQEAKIAogY29uZmlnIFNPVU5EX0hBTDIKIAl0cmlzdGF0ZSAiU0dJIEhBTDIgc291bmQgKEVYUEVSSU1FTlRBTCkiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBTR0lfSVAyMiAmJiBFWFBFUklNRU5UQUwKKwlkZXBlbmRzIG9uIFNHSV9JUDIyICYmIEVYUEVSSU1FTlRBTAogCWhlbHAKIAkgIFNheSBZIG9yIE0gaWYgeW91IGhhdmUgYW4gU0dJIEluZHkgb3IgSW5kaWdvMiBzeXN0ZW0gYW5kIHdhbnQgdG8gYmUgYWJsZSB0bwogCSAgdXNlIGl0cyBvbi1ib2FyZCBBMiBhdWRpbyBzeXN0ZW0uCiAKIGNvbmZpZyBTT1VORF9BVTE1NTBfQUM5NwogCXRyaXN0YXRlICJBdTE1NTAvQXUxMjAwIEFDOTcgU291bmQiCi0Jc2VsZWN0IFNORF9BQzk3X0NPREVDCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiAoU09DX0FVMTU1MCB8fCBTT0NfQVUxMjAwKQorCWRlcGVuZHMgb24gU09DX0FVMTU1MCB8fCBTT0NfQVUxMjAwCiAKIGNvbmZpZyBTT1VORF9UUklERU5UCiAJdHJpc3RhdGUgIlRyaWRlbnQgNERXYXZlIERYL05YLCBTaVMgNzAxOCBvciBBTGkgNTQ1MSBQQ0kgQXVkaW8gQ29yZSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFBDSQorCWRlcGVuZHMgb24gUENJCiAJLS0taGVscC0tLQogCSAgU2F5IFkgb3IgTSBpZiB5b3UgaGF2ZSBhIFBDSSBzb3VuZCBjYXJkIHV0aWxpemluZyB0aGUgVHJpZGVudAogCSAgNERXYXZlLURYL05YIGNoaXBzZXQgb3IgeW91ciBtb3RoZXIgYm9hcmQgY2hpcHNldCBoYXMgU2lTIDcwMTgKQEAgLTc5LDcgKzc4LDcgQEAKIAogY29uZmlnIFNPVU5EX01TTkRDTEFTCiAJdHJpc3RhdGUgIlN1cHBvcnQgZm9yIFR1cnRsZSBCZWFjaCBNdWx0aVNvdW5kIENsYXNzaWMsIFRhaGl0aSwgTW9udGVyZXkiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiAobSB8fCAhU1RBTkRBTE9ORSkgJiYgSVNBCisJZGVwZW5kcyBvbiAobSB8fCAhU1RBTkRBTE9ORSkgJiYgSVNBCiAJaGVscAogCSAgU2F5IE0gaGVyZSBpZiB5b3UgaGF2ZSBhIFR1cnRsZSBCZWFjaCBNdWx0aVNvdW5kIENsYXNzaWMsIFRhaGl0aSBvcgogCSAgTW9udGVyZXkgKG5vdCBmb3IgdGhlIFBpbm5hY2xlIG9yIEZpamkpLgpAQCAtMTQzLDcgKzE0Miw3IEBACiAKIGNvbmZpZyBTT1VORF9NU05EUElOCiAJdHJpc3RhdGUgIlN1cHBvcnQgZm9yIFR1cnRsZSBCZWFjaCBNdWx0aVNvdW5kIFBpbm5hY2xlLCBGaWppIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgKG0gfHwgIVNUQU5EQUxPTkUpICYmIElTQQorCWRlcGVuZHMgb24gKG0gfHwgIVNUQU5EQUxPTkUpICYmIElTQQogCWhlbHAKIAkgIFNheSBNIGhlcmUgaWYgeW91IGhhdmUgYSBUdXJ0bGUgQmVhY2ggTXVsdGlTb3VuZCBQaW5uYWNsZSBvciBGaWppLgogCSAgU2VlIDxmaWxlOkRvY3VtZW50YXRpb24vc291bmQvb3NzL011bHRpU291bmQ+IGZvciBpbXBvcnRhbnQgaW5mb3JtYXRpb24KQEAgLTIyOSw3ICsyMjgsNyBAQAogCSAgY29uZmlndXJlIHRoZSBjYXJkJ3MgcmVzb3VyY2VzLgogCiBjb21tZW50ICJNU05EIFBpbm5hY2xlIERTUCBzZWN0aW9uIHdpbGwgYmUgY29uZmlndXJlZCB0byBhYm92ZSBwYXJhbWV0ZXJzLiIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFNPVU5EX01TTkRQSU49eSAmJiBNU05EUElOX05PTlBOUAorCWRlcGVuZHMgb24gU09VTkRfTVNORFBJTj15ICYmIE1TTkRQSU5fTk9OUE5QCiAKIGNvbmZpZyBNU05EUElOX0NGRwogCWhleCAiTVNORCBQaW5uYWNsZSBjb25maWcgcG9ydCAyNTAsMjYwLDI3MCIKQEAgLTI0Miw3ICsyNDEsNyBAQAogCSAgTW9kZSIuCiAKIGNvbW1lbnQgIlBpbm5hY2xlLXNwZWNpZmljIERldmljZSBDb25maWd1cmF0aW9uICgwIGRpc2FibGVzKSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFNPVU5EX01TTkRQSU49eSAmJiBNU05EUElOX05PTlBOUAorCWRlcGVuZHMgb24gU09VTkRfTVNORFBJTj15ICYmIE1TTkRQSU5fTk9OUE5QCiAKIGNvbmZpZyBNU05EUElOX01QVV9JTwogCWhleCAiTVNORCBQaW5uYWNsZSBNUFUgSS9PIChlLmcuIDMzMCkiCkBAIC0yOTQsNyArMjkzLDcgQEAKIAogY29uZmlnIE1TTkRfRklGT1NJWkUKIAlpbnQgIk1TTkQgYnVmZmVyIHNpemUgKGtCKSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIChTT1VORF9NU05EUElOPXkgfHwgU09VTkRfTVNORENMQVM9eSkKKwlkZXBlbmRzIG9uIFNPVU5EX01TTkRQSU49eSB8fCBTT1VORF9NU05EQ0xBUz15CiAJZGVmYXVsdCAiMTI4IgogCWhlbHAKIAkgIENvbmZpZ3VyZXMgdGhlIHNpemUgb2YgZWFjaCBhdWRpbyBidWZmZXIsIGluIGtpbG9ieXRlcywgZm9yCkBAIC0zMDIsOSArMzAxLDkgQEAKIAkgIGFuZCBQaW5uYWNsZSkuIExhcmdlciB2YWx1ZXMgcmVkdWNlIHRoZSBjaGFuY2Ugb2YgZGF0YSBvdmVycnVucyBhdAogCSAgdGhlIGV4cGVuc2Ugb2Ygb3ZlcmFsbCBsYXRlbmN5LiBJZiB1bnN1cmUsIHVzZSB0aGUgZGVmYXVsdC4KIAotY29uZmlnIFNPVU5EX09TUworbWVudWNvbmZpZyBTT1VORF9PU1MKIAl0cmlzdGF0ZSAiT1NTIHNvdW5kIG1vZHVsZXMiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBJU0FfRE1BX0FQSSAmJiBWSVJUX1RPX0JVUworCWRlcGVuZHMgb24gSVNBX0RNQV9BUEkgJiYgVklSVF9UT19CVVMKIAloZWxwCiAJICBPU1MgaXMgdGhlIE9wZW4gU291bmQgU3lzdGVtIHN1aXRlIG9mIHNvdW5kIGNhcmQgZHJpdmVycy4gIFRoZXkgbWFrZQogCSAgc291bmQgcHJvZ3JhbW1pbmcgZWFzaWVyIHNpbmNlIHRoZXkgcHJvdmlkZSBhIGNvbW1vbiBBUEkuICBTYXkgWSBvcgpAQCAtMzEyLDE2ICszMTEsMTYgQEAKIAkgIGRyaXZlciBmb3IgeW91ciBzb3VuZCBjYXJkIGFib3ZlLCB0aGVuIHBpY2sgeW91ciBkcml2ZXIgZnJvbSB0aGUKIAkgIGxpc3QgYmVsb3cuCiAKK2lmIFNPVU5EX09TUworCiBjb25maWcgU09VTkRfVFJBQ0VJTklUCiAJYm9vbCAiVmVyYm9zZSBpbml0aWFsaXNhdGlvbiIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIFZlcmJvc2Ugc291bmRjYXJkIGluaXRpYWxpemF0aW9uIC0tIGFmZmVjdHMgdGhlIGZvcm1hdCBvZiBhdXRvcHJvYmUKIAkgIGFuZCBpbml0aWFsaXphdGlvbiBtZXNzYWdlcyBhdCBib290IHRpbWUuCiAKIGNvbmZpZyBTT1VORF9ETUFQCiAJYm9vbCAiUGVyc2lzdGVudCBETUEgYnVmZmVycyIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIExpbnV4IGNhbiBvZnRlbiBoYXZlIHByb2JsZW1zIGFsbG9jYXRpbmcgRE1BIGJ1ZmZlcnMgZm9yIElTQSBzb3VuZAogCSAgY2FyZHMgb24gbWFjaGluZXMgd2l0aCBtb3JlIHRoYW4gMTZNQiBvZiBSQU0uIFRoaXMgaXMgYmVjYXVzZSBJU0EKQEAgLTMzOCw4ICszMzcsNiBAQAogCiBjb25maWcgU09VTkRfU1NDQVBFCiAJdHJpc3RhdGUgIkVuc29uaXEgU291bmRTY2FwZSBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCi0JZGVwZW5kcyBvbiBWSVJUX1RPX0JVUwogCWhlbHAKIAkgIEFuc3dlciBZIGlmIHlvdSBoYXZlIGEgc291bmQgY2FyZCBiYXNlZCBvbiB0aGUgRW5zb25pcSBTb3VuZFNjYXBlCiAJICBjaGlwc2V0LiBTdWNoIGNhcmRzIGFyZSBiZWluZyBtYW51ZmFjdHVyZWQgYXQgbGVhc3QgYnkgRW5zb25pcSwgU3BlYQpAQCAtMzUyLDEzICszNDksMTEgQEAKIAogY29uZmlnIFNPVU5EX1ZNSURJCiAJdHJpc3RhdGUgIkxvb3BiYWNrIE1JREkgZGV2aWNlIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAloZWxwCiAJICBTdXBwb3J0IGZvciBNSURJIGxvb3BiYWNrIG9uIHBvcnQgMSBvciAyLgogCiBjb25maWcgU09VTkRfVFJJWAogCXRyaXN0YXRlICJNZWRpYVRyaXggQXVkaW9Ucml4IFBybyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJaGVscAogCSAgQW5zd2VyIFkgaWYgeW91IGhhdmUgdGhlIEF1ZGlvVHJpWCBQcm8gc291bmQgY2FyZCBtYW51ZmFjdHVyZWQKIAkgIGJ5IE1lZGlhVHJpeC4KQEAgLTM4Miw3ICszNzcsNiBAQAogCiBjb25maWcgU09VTkRfTVNTCiAJdHJpc3RhdGUgIk1pY3Jvc29mdCBTb3VuZCBTeXN0ZW0gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEFnYWluIHRoaW5rIGNhcmVmdWxseSBiZWZvcmUgYW5zd2VyaW5nIFkgdG8gdGhpcyBxdWVzdGlvbi4gIEl0J3MKIAkgIHNhZmUgdG8gYW5zd2VyIFkgaWYgeW91IGhhdmUgdGhlIG9yaWdpbmFsIFdpbmRvd3MgU291bmQgU3lzdGVtIGNhcmQKQEAgLTQxNCw3ICs0MDgsNiBAQAogCiBjb25maWcgU09VTkRfTVBVNDAxCiAJdHJpc3RhdGUgIk1QVS00MDEgc3VwcG9ydCAoTk9UIGZvciBTQjE2KSIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEJlIGNhcmVmdWwgd2l0aCB0aGlzIHF1ZXN0aW9uLiAgVGhlIE1QVTQwMSBpbnRlcmZhY2UgaXMgc3VwcG9ydGVkIGJ5CiAJICBhbGwgc291bmQgY2FyZHMuICBIb3dldmVyLCBzb21lIG5hdGl2ZWx5IHN1cHBvcnRlZCBjYXJkcyBoYXZlIHRoZWlyCkBAIC00MzAsNyArNDIzLDYgQEAKIAogY29uZmlnIFNPVU5EX1BBUwogCXRyaXN0YXRlICJQcm9BdWRpb1NwZWN0cnVtIDE2IHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBBbnN3ZXIgWSBvbmx5IGlmIHlvdSBoYXZlIGEgUHJvIEF1ZGlvIFNwZWN0cnVtIDE2LCBQcm9BdWRpbyBTdHVkaW8KIAkgIDE2IG9yIExvZ2l0ZWNoIFNvdW5kTWFuIDE2IHNvdW5kIGNhcmQuIEFuc3dlciBOIGlmIHlvdSBoYXZlIHNvbWUKQEAgLTQ1Miw3ICs0NDQsNiBAQAogCiBjb25maWcgU09VTkRfUFNTCiAJdHJpc3RhdGUgIlBTUyAoQUQxODQ4LCBBRFNQLTIxMTUsIEVTQzYxNCkgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIEFuc3dlciBZIG9yIE0gaWYgeW91IGhhdmUgYW4gT3JjaGlkIFNXMzIsIENhcmRpbmFsIERTUDE2LCBCZWV0aG92ZW4KIAkgIEFEU1AtMTYgb3Igc29tZSBvdGhlciBjYXJkIGJhc2VkIG9uIHRoZSBQU1MgY2hpcHNldCAoQUQxODQ4IGNvZGVjICsKQEAgLTQ5NSw3ICs0ODYsNiBAQAogCiBjb25maWcgU09VTkRfU0IKIAl0cmlzdGF0ZSAiMTAwJSBTb3VuZCBCbGFzdGVyIGNvbXBhdGlibGVzIChTQjE2LzMyLzY0LCBFU1MsIEphenoxNikgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEFuc3dlciBZIGlmIHlvdSBoYXZlIGFuIG9yaWdpbmFsIFNvdW5kIEJsYXN0ZXIgY2FyZCBtYWRlIGJ5IENyZWF0aXZlCiAJICBMYWJzIG9yIGEgMTAwJSBoYXJkd2FyZSBjb21wYXRpYmxlIGNsb25lIChsaWtlIHRoZSBUaHVuZGVyYm9hcmQgb3IKQEAgLTUyMiw3ICs1MTIsNiBAQAogCiBjb25maWcgU09VTkRfWU0zODEyCiAJdHJpc3RhdGUgIllhbWFoYSBGTSBzeW50aGVzaXplciAoWU0zODEyL09QTC0zKSBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJLS0taGVscC0tLQogCSAgQW5zd2VyIFkgaWYgeW91ciBjYXJkIGhhcyBhIEZNIGNoaXAgbWFkZSBieSBZYW1haGEgKE9QTDIvT1BMMy9PUEw0KS4KIAkgIEFuc3dlcmluZyBZIGlzIHVzdWFsbHkgYSBzYWZlIGFuZCByZWNvbW1lbmRlZCBjaG9pY2UsIGhvd2V2ZXIgc29tZQpAQCAtNTM4LDcgKzUyNyw2IEBACiAKIGNvbmZpZyBTT1VORF9VQVJUNjg1MAogCXRyaXN0YXRlICI2ODUwIFVBUlQgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBmb3IgTUlESSBpbnRlcmZhY2VzIGJhc2VkIG9uIHRoZSA2ODUwCiAJICBVQVJUIGNoaXAuIFRoaXMgaW50ZXJmYWNlIGlzIHJhcmVseSBmb3VuZCBvbiBzb3VuZCBjYXJkcy4gSXQncyBzYWZlCkBAIC01NDksNyArNTM3LDYgQEAKIAogY29uZmlnIFNPVU5EX0FFRFNQMTYKIAl0cmlzdGF0ZSAiR2FsbGFudCBBdWRpbyBDYXJkcyAoU0MtNjAwMCBhbmQgU0MtNjYwMCBiYXNlZCkiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBBbnN3ZXIgWSBpZiB5b3UgaGF2ZSBhIEdhbGxhbnQncyBBdWRpbyBFeGNlbCBEU1AgMTYgY2FyZC4gVGhpcwogCSAgZHJpdmVyIHN1cHBvcnRzIEF1ZGlvIEV4Y2VsIERTUCAxNiBidXQgbm90IHRoZSBJSUkgbm9yIFBuUCB2ZXJzaW9ucwpAQCAtNjMwLDE0ICs2MTcsMTQgQEAKIAogY29uZmlnIFNPVU5EX1ZJREMKIAl0cmlzdGF0ZSAiVklEQyAxNi1iaXQgc291bmQiCi0JZGVwZW5kcyBvbiBBUk0gJiYgKEFSQ0hfQUNPUk4gfHwgQVJDSF9DTFBTNzUwMCkgJiYgU09VTkRfT1NTCisJZGVwZW5kcyBvbiBBUk0gJiYgKEFSQ0hfQUNPUk4gfHwgQVJDSF9DTFBTNzUwMCkKIAloZWxwCiAJICAxNi1iaXQgc3VwcG9ydCBmb3IgdGhlIFZJREMgb25ib2FyZCBzb3VuZCBoYXJkd2FyZSBmb3VuZCBvbiBBY29ybgogCSAgbWFjaGluZXMuCiAKIGNvbmZpZyBTT1VORF9XQVZFQVJUSVNUCiAJdHJpc3RhdGUgIk5ldHdpbmRlciBXYXZlQXJ0aXN0IgotCWRlcGVuZHMgb24gQVJNICYmIFNPVU5EX09TUyAmJiBBUkNIX05FVFdJTkRFUgorCWRlcGVuZHMgb24gQVJNICYmIEFSQ0hfTkVUV0lOREVSCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBSb2Nrd2VsbCBXYXZlQXJ0aXN0IHNvdW5kCiAJICBzeXN0ZW0uICBUaGlzIGRyaXZlciBpcyBtYWlubHkgZm9yIHRoZSBOZXRXaW5kZXIuCkBAIC02NDYsOSArNjMzLDExIEBACiAJdHJpc3RhdGUgIlhwcmVzc0F1ZGlvIFNvdW5kIEJsYXN0ZXIgZW11bGF0aW9uIgogCWRlcGVuZHMgb24gU09VTkRfU0IKIAorZW5kaWYJIyBTT1VORF9PU1MKKwogY29uZmlnIFNPVU5EX1NIX0RBQ19BVURJTwogCXRyaXN0YXRlICJTdXBlckggREFDIGF1ZGlvIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBDUFVfU0gzCisJZGVwZW5kcyBvbiBDUFVfU0gzCiAKIGNvbmZpZyBTT1VORF9TSF9EQUNfQVVESU9fQ0hBTk5FTAogCWludCAiREFDIGNoYW5uZWwiCmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfY29yZS5jIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX2NvcmUuYwppbmRleCBhMDAzYzBlLi45NWZjNWM2IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfY29yZS5jCisrKyBiL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9jb3JlLmMKQEAgLTIxMSwxMCArMjExLDYgQEAKIHN0YXRpYyBpbnQgaXJxX2luc3RhbGxlZDsKICNlbmRpZiAvKiBNT0RVTEUgKi8KIAotLyogc29mdHdhcmUgaW1wbGVtZW50ZWQgcmVjb3JkaW5nIHZvbHVtZSEgKi8KLXVpbnQgc29mdHdhcmVfaW5wdXRfdm9sdW1lID0gU1dfSU5QVVRfVk9MVU1FX1NDQUxFICogU1dfSU5QVVRfVk9MVU1FX0RFRkFVTFQ7Ci1FWFBPUlRfU1lNQk9MKHNvZnR3YXJlX2lucHV0X3ZvbHVtZSk7Ci0KIC8qIGNvbnRyb2wgb3ZlciB3aG8gY2FuIG1vZGlmeSByZXNvdXJjZXMgc2hhcmVkIGJldHdlZW4gcGxheS9yZWNvcmQgKi8KIHN0YXRpYyBtb2RlX3Qgc2hhcmVkX3Jlc291cmNlX293bmVyOwogc3RhdGljIGludCBzaGFyZWRfcmVzb3VyY2VzX2luaXRpYWxpc2VkOwpAQCAtMTE4OCw3ICsxMTg0LDcgQEAKIAogLyogcHVibGlzaCB0aGlzIGZ1bmN0aW9uIGZvciB1c2UgYnkgbG93LWxldmVsIGNvZGUsIGlmIHJlcXVpcmVkICovCiAKLWNoYXIgKmdldF9hZm10X3N0cmluZyhpbnQgYWZtdCkKK3N0YXRpYyBjaGFyICpnZXRfYWZtdF9zdHJpbmcoaW50IGFmbXQpCiB7CiAgICAgICAgIHN3aXRjaChhZm10KSB7CiAgICAgICAgICAgICBjYXNlIEFGTVRfTVVfTEFXOgpAQCAtMTU1MSw0ICsxNTQ3LDMgQEAKIEVYUE9SVF9TWU1CT0woZG1hc291bmRfdWxhdzJkbWE4KTsKIEVYUE9SVF9TWU1CT0woZG1hc291bmRfYWxhdzJkbWE4KTsKICNlbmRpZgotRVhQT1JUX1NZTUJPTChnZXRfYWZtdF9zdHJpbmcpIDsKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9wYXVsYS5jIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3BhdWxhLmMKaW5kZXggMjAyZTgxMDMuLjA2ZTllODggMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9wYXVsYS5jCisrKyBiL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9wYXVsYS5jCkBAIC03MTAsNyArNzEwLDcgQEAKIC8qKiogQ29uZmlnICYgU2V0dXAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogCi1pbnQgX19pbml0IGRtYXNvdW5kX3BhdWxhX2luaXQodm9pZCkKK3N0YXRpYyBpbnQgX19pbml0IGRtYXNvdW5kX3BhdWxhX2luaXQodm9pZCkKIHsKIAlpbnQgZXJyOwogCmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcTQwLmMgYi9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcTQwLmMKaW5kZXggYjMzNzlkZC4uMTg1NWIxNCAxMDA2NDQKLS0tIGEvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3E0MC5jCisrKyBiL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9xNDAuYwpAQCAtNjExLDcgKzYxMSw3IEBACiAvKioqIENvbmZpZyAmIFNldHVwICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIAotaW50IF9faW5pdCBkbWFzb3VuZF9xNDBfaW5pdCh2b2lkKQorc3RhdGljIGludCBfX2luaXQgZG1hc291bmRfcTQwX2luaXQodm9pZCkKIHsKIAlpZiAoTUFDSF9JU19RNDApIHsKIAkgICAgZG1hc291bmQubWFjaCA9IG1hY2hRNDA7CmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvbXNuZC5jIGIvc291bmQvb3NzL21zbmQuYwppbmRleCBiYTM4ZDYyLi5lNDI4MmQ5IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvbXNuZC5jCisrKyBiL3NvdW5kL29zcy9tc25kLmMKQEAgLTIwLDggKzIwLDYgQEAKICAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KICAqCi0gKiAkSWQ6IG1zbmQuYyx2IDEuMTcgMTk5OS8wMy8yMSAxNjo1MDowOSBhbmRyZXd0diBFeHAgJAotICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvc291bmQvb3NzL21zbmQuaCBiL3NvdW5kL29zcy9tc25kLmgKaW5kZXggZDBjYTU4Mi4uNjFiMzk1NSAxMDA2NDQKLS0tIGEvc291bmQvb3NzL21zbmQuaAorKysgYi9zb3VuZC9vc3MvbXNuZC5oCkBAIC0yNCw4ICsyNCw2IEBACiAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCiAgKgotICogJElkOiBtc25kLmgsdiAxLjM2IDE5OTkvMDMvMjEgMTc6MDU6NDIgYW5kcmV3dHYgRXhwICQKLSAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9fTVNORF9ICiAjZGVmaW5lIF9fTVNORF9ICmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvbXNuZF9jbGFzc2ljLmggYi9zb3VuZC9vc3MvbXNuZF9jbGFzc2ljLmgKaW5kZXggN2ZmZWE1Mi4uMWExN2RkZSAxMDA2NDQKLS0tIGEvc291bmQvb3NzL21zbmRfY2xhc3NpYy5oCisrKyBiL3NvdW5kL29zcy9tc25kX2NsYXNzaWMuaApAQCAtMjQsOCArMjQsNiBAQAogICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgogICogCi0gKiAkSWQ6IG1zbmRfY2xhc3NpYy5oLHYgMS4xMCAxOTk5LzAzLzIxIDE3OjM2OjA5IGFuZHJld3R2IEV4cCAkCi0gKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfX01TTkRfQ0xBU1NJQ19ICiAjZGVmaW5lIF9fTVNORF9DTEFTU0lDX0gKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmMgYi9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5jCmluZGV4IGYxZjQ5ZWIuLmJmMjdlMDAgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmMKKysrIGIvc291bmQvb3NzL21zbmRfcGlubmFjbGUuYwpAQCAtMjksMTMgKzI5LDggQEAKICAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KICAqCi0gKiAkSWQ6IG1zbmRfcGlubmFjbGUuYyx2IDEuOCAyMDAwLzEyLzMwIDAwOjMzOjIxIHN5Y2Ftb3JlIEV4cCAkCi0gKgogICogMTItMy0yMDAwICBNb2RpZmllZCBJTyBwb3J0IHZhbGlkYXRpb24gIFN0ZXZlIFN5Y2Ftb3JlCiAgKgotICoKLSAqICQkJDogbXNuZF9waW5uYWNsZS5jLHYgMS43NSAxOTk5LzAzLzIxIDE2OjUwOjA5IGFuZHJld3R2ICQkJCAkCi0gKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5oIGIvc291bmQvb3NzL21zbmRfcGlubmFjbGUuaAppbmRleCBjY2U5MTE0Li5jMThkNjZjIDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5oCisrKyBiL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmgKQEAgLTI0LDggKzI0LDYgQEAKICAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KICAqCi0gKiAkSWQ6IG1zbmRfcGlubmFjbGUuaCx2IDEuMTEgMTk5OS8wMy8yMSAxNzozNjowOSBhbmRyZXd0diBFeHAgJAotICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX19NU05EX1BJTk5BQ0xFX0gKICNkZWZpbmUgX19NU05EX1BJTk5BQ0xFX0gKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy92d3NuZC5jIGIvc291bmQvb3NzL3Z3c25kLmMKaW5kZXggMmM1YWFhNS4uZGNiYjNmNyAxMDA2NDQKLS0tIGEvc291bmQvb3NzL3Z3c25kLmMKKysrIGIvc291bmQvb3NzL3Z3c25kLmMKQEAgLTE1MCw3ICsxNTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAKLSNpbmNsdWRlIDxhc20vbWFjaC12aXN3cy9jb2JhbHQuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvY29iYWx0Lmg+CiAKICNpbmNsdWRlICJzb3VuZF9jb25maWcuaCIKIApkaWZmIC0tZ2l0IGEvc291bmQvcGFyaXNjL0tjb25maWcgYi9zb3VuZC9wYXJpc2MvS2NvbmZpZwppbmRleCBhNWE3ZjlkLi45YjYxZDk1IDEwMDY0NAotLS0gYS9zb3VuZC9wYXJpc2MvS2NvbmZpZworKysgYi9zb3VuZC9wYXJpc2MvS2NvbmZpZwpAQCAtMSwxNSArMSwyMCBAQAogIyBBTFNBIFBBLVJJU0MgZHJpdmVycwogCi1tZW51ICJHU0MgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBHU0MKK21lbnVjb25maWcgU05EX0dTQworCWJvb2wgIkdTQyBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gR1NDCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3IgR1NDIHNvdW5kIGRldmljZXMgb24gUEEtUklTQyBhcmNoaXRlY3R1cmVzLgorCitpZiBTTkRfR1NDCiAKIGNvbmZpZyBTTkRfSEFSTU9OWQogCXRyaXN0YXRlICJIYXJtb255L1ZpdmFjZSBzb3VuZCBjaGlwIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgJ1knIG9yICdNJyB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBIYXJtb255L1ZpdmFjZSBzb3VuZAogCSAgY2hpcCBmb3VuZCBpbiBtb3N0IEdTQy1iYXNlZCBQQS1SSVNDIHdvcmtzdGF0aW9ucy4gIEl0J3MgZnJlcXVlbnRseQogCSAgcHJvdmlkZWQgYXMgcGFydCBvZiB0aGUgTGFzaSBtdWx0aS1mdW5jdGlvbiBJQy4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfR1NDCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvS2NvbmZpZyBiL3NvdW5kL3BjaS9LY29uZmlnCmluZGV4IDdlNDc0MjEuLmY3ZDk1YjIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9LY29uZmlnCisrKyBiL3NvdW5kL3BjaS9LY29uZmlnCkBAIC0xLDExICsxLDE2IEBACiAjIEFMU0EgUENJIGRyaXZlcnMKIAotbWVudSAiUENJIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgUENJCittZW51Y29uZmlnIFNORF9QQ0kKKwlib29sICJQQ0kgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIFBDSQorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgY29ubmVjdGVkIHZpYSB0aGUgUENJIGJ1cy4KKworaWYgU05EX1BDSQogCiBjb25maWcgU05EX0FEMTg4OQogCXRyaXN0YXRlICJBbmFsb2cgRGV2aWNlcyBBRDE4ODkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgQUM5NyBzb3VuZApAQCAtMTcsNyArMjIsNiBAQAogCiBjb25maWcgU05EX0FMUzMwMAogCXRyaXN0YXRlICJBdmFuY2UgTG9naWMgQUxTMzAwL0FMUzMwMCsiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCXNlbGVjdCBTTkRfT1BMM19MSUIKQEAgLTI5LDcgKzMzLDcgQEAKIAogY29uZmlnIFNORF9BTFM0MDAwCiAJdHJpc3RhdGUgIkF2YW5jZSBMb2dpYyBBTFM0MDAwIgotCWRlcGVuZHMgb24gU05EICYmIElTQV9ETUFfQVBJCisJZGVwZW5kcyBvbiBJU0FfRE1BX0FQSQogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KQEAgLTQzLDcgKzQ3LDYgQEAKIAogY29uZmlnIFNORF9BTEk1NDUxCiAJdHJpc3RhdGUgIkFMaSBNNTQ1MSBQQ0kgQXVkaW8gQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC01Nyw3ICs2MCw2IEBACiAKIGNvbmZpZyBTTkRfQVRJSVhQCiAJdHJpc3RhdGUgIkFUSSBJWFAgQUM5NyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIEFDOTcgc291bmQKQEAgLTY5LDcgKzcxLDYgQEAKIAogY29uZmlnIFNORF9BVElJWFBfTU9ERU0KIAl0cmlzdGF0ZSAiQVRJIElYUCBNb2RlbSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBNQzk3IG1vZGVtIG9uCkBAIC04MCw3ICs4MSw2IEBACiAKIGNvbmZpZyBTTkRfQVU4ODEwCiAJdHJpc3RhdGUgIkF1cmVhbCBBZHZhbnRhZ2UiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtOTUsNyArOTUsNiBAQAogCiBjb25maWcgU05EX0FVODgyMAogCXRyaXN0YXRlICJBdXJlYWwgVm9ydGV4IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTEwOSw3ICsxMDgsNiBAQAogCiBjb25maWcgU05EX0FVODgzMAogCXRyaXN0YXRlICJBdXJlYWwgVm9ydGV4IDIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtMTI0LDcgKzEyMiw2IEBACiAKIGNvbmZpZyBTTkRfQVcyCiAJdHJpc3RhdGUgIkVtYWdpYyBBdWRpb3dlcmsgMiIKLQlkZXBlbmRzIG9uIFNORAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBFbWFnaWMgQXVkaW93ZXJrIDIgc291bmRjYXJkcy4KIApAQCAtMTM5LDcgKzEzNiw3IEBACiAKIGNvbmZpZyBTTkRfQVpUMzMyOAogCXRyaXN0YXRlICJBenRlY2ggQVpGMzMyOCAvIFBDSTE2OCAoRVhQRVJJTUVOVEFMKSIKLQlkZXBlbmRzIG9uIFNORCAmJiBFWFBFUklNRU5UQUwKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KQEAgLTE1Miw3ICsxNDksNiBAQAogCiBjb25maWcgU05EX0JUODdYCiAJdHJpc3RhdGUgIkJ0ODd4IEF1ZGlvIENhcHR1cmUiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIElmIHlvdSB3YW50IHRvIHJlY29yZCBhdWRpbyBmcm9tIFRWIGNhcmRzIGJhc2VkIG9uCkBAIC0xNzQsNyArMTcwLDYgQEAKIAogY29uZmlnIFNORF9DQTAxMDYKIAl0cmlzdGF0ZSAiU0IgQXVkaWd5IExTIC8gTGl2ZSAyNGJpdCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfVk1BU1RFUgpAQCAtMTg3LDcgKzE4Miw2IEBACiAKIGNvbmZpZyBTTkRfQ01JUENJCiAJdHJpc3RhdGUgIkMtTWVkaWEgODMzOCwgODczOCwgODc2OCwgODc3MCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KQEAgLTIwMSwxMyArMTk1LDExIEBACiAKIGNvbmZpZyBTTkRfT1hZR0VOX0xJQgogICAgICAgICB0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAKIGNvbmZpZyBTTkRfT1hZR0VOCiAJdHJpc3RhdGUgIkMtTWVkaWEgODc4OCAoT3h5Z2VuKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1hZR0VOX0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBzb3VuZCBjYXJkcyBiYXNlZCBvbiB0aGUKQEAgLTIyNSw3ICsyMTcsNiBAQAogCiBjb25maWcgU05EX0NTNDI4MQogCXRyaXN0YXRlICJDaXJydXMgTG9naWMgKFNvdW5kIEZ1c2lvbikgQ1M0MjgxIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwpAQCAtMjM3LDcgKzIyOCw2IEBACiAKIGNvbmZpZyBTTkRfQ1M0NlhYCiAJdHJpc3RhdGUgIkNpcnJ1cyBMb2dpYyAoU291bmQgRnVzaW9uKSBDUzQyODAvQ1M0NjF4L0NTNDYyeC9DUzQ2M3giCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC0yNTgsNyArMjQ4LDcgQEAKIAogY29uZmlnIFNORF9DUzU1MzAKIAl0cmlzdGF0ZSAiQ1M1NTMwIEF1ZGlvIgotCWRlcGVuZHMgb24gU05EICYmIElTQV9ETUFfQVBJCisJZGVwZW5kcyBvbiBJU0FfRE1BX0FQSQogCXNlbGVjdCBTTkRfU0IxNl9EU1AKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgYXVkaW8gb24gQ3lyaXgvTmF0U2VtaSBDUzU1MzAgY2hpcHMuCkBAIC0yNjgsNyArMjU4LDcgQEAKIAogY29uZmlnIFNORF9DUzU1MzVBVURJTwogCXRyaXN0YXRlICJDUzU1MzUvQ1M1NTM2IEF1ZGlvIgotCWRlcGVuZHMgb24gU05EICYmIFg4NiAmJiAhWDg2XzY0CisJZGVwZW5kcyBvbiBYODYgJiYgIVg4Nl82NAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtMjg2LDcgKzI3Niw2IEBACiAKIGNvbmZpZyBTTkRfREFSTEEyMAogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBEYXJsYTIwIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtMjk3LDcgKzI4Niw2IEBACiAKIGNvbmZpZyBTTkRfR0lOQTIwCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIEdpbmEyMCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTMwOCw3ICsyOTYsNiBAQAogCiBjb25maWcgU05EX0xBWUxBMjAKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgTGF5bGEyMCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMzIwLDcgKzMwNyw2IEBACiAKIGNvbmZpZyBTTkRfREFSTEEyNAogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBEYXJsYTI0IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtMzMxLDcgKzMxNyw2IEBACiAKIGNvbmZpZyBTTkRfR0lOQTI0CiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIEdpbmEyNCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTM0Miw3ICszMjcsNiBAQAogCiBjb25maWcgU05EX0xBWUxBMjQKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgTGF5bGEyNCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMzU0LDcgKzMzOCw2IEBACiAKIGNvbmZpZyBTTkRfTU9OQQogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBNb25hIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC0zNjYsNyArMzQ5LDYgQEAKIAogY29uZmlnIFNORF9NSUEKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgTWlhIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC0zNzgsNyArMzYwLDYgQEAKIAogY29uZmlnIFNORF9FQ0hPM0cKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgM0cgY2FyZHMiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTM5MCw3ICszNzEsNiBAQAogCiBjb25maWcgU05EX0lORElHTwogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBJbmRpZ28iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC00MDEsNyArMzgxLDYgQEAKIAogY29uZmlnIFNORF9JTkRJR09JTwogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBJbmRpZ28gSU8iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC00MTIsNyArMzkxLDYgQEAKIAogY29uZmlnIFNORF9JTkRJR09ESgogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBJbmRpZ28gREoiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC00MjMsNyArNDAxLDYgQEAKIAogY29uZmlnIFNORF9FTVUxMEsxCiAJdHJpc3RhdGUgIkVtdTEwazEgKFNCIExpdmUhLCBBdWRpZ3ksIEUtbXUgQVBTKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9SQVdNSURJCkBAIC00NDEsNyArNDE4LDYgQEAKIAogY29uZmlnIFNORF9FTVUxMEsxWAogCXRyaXN0YXRlICJFbXUxMGsxWCAoRGVsbCBPRU0gVmVyc2lvbikiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAlzZWxlY3QgU05EX1JBV01JREkKIAloZWxwCkBAIC00NTMsNyArNDI5LDYgQEAKIAogY29uZmlnIFNORF9FTlMxMzcwCiAJdHJpc3RhdGUgIihDcmVhdGl2ZSkgRW5zb25pcSBBdWRpb1BDSSAxMzcwIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC00NjQsNyArNDM5LDYgQEAKIAogY29uZmlnIFNORF9FTlMxMzcxCiAJdHJpc3RhdGUgIihDcmVhdGl2ZSkgRW5zb25pcSBBdWRpb1BDSSAxMzcxLzEzNzMiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC00NzYsNyArNDUwLDYgQEAKIAogY29uZmlnIFNORF9FUzE5MzgKIAl0cmlzdGF0ZSAiRVNTIEVTMTkzOC8xOTQ2LzE5NjkgKFNvbG8tMSkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwpAQCAtNDg5LDcgKzQ2Miw2IEBACiAKIGNvbmZpZyBTTkRfRVMxOTY4CiAJdHJpc3RhdGUgIkVTUyBFUzE5NjgvMTk3OCAoTWFlc3Ryby0xLzIvMkUpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTUwMSw3ICs0NzMsNiBAQAogCiBjb25maWcgU05EX0ZNODAxCiAJdHJpc3RhdGUgIkZvcnRlTWVkaWEgRk04MDEiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwpAQCAtNTI4LDcgKzQ5OSw2IEBACiAKIGNvbmZpZyBTTkRfSERBX0lOVEVMCiAJdHJpc3RhdGUgIkludGVsIEhEIEF1ZGlvIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX1ZNQVNURVIKIAloZWxwCkBAIC02MzcsNyArNjA3LDYgQEAKIAogY29uZmlnIFNORF9IRFNQCiAJdHJpc3RhdGUgIlJNRSBIYW1tZXJmYWxsIERTUCBBdWRpbyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtNjUwLDcgKzYxOSw2IEBACiAKIGNvbmZpZyBTTkRfSERTUE0KIAl0cmlzdGF0ZSAiUk1FIEhhbW1lcmZhbGwgRFNQIE1BREkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTY2Myw3ICs2MzEsNiBAQAogCiBjb25maWcgU05EX0hJRklFUgogCXRyaXN0YXRlICJUZW1wb1RlYyBIaUZpZXIgRmFudGFzaWEiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09YWUdFTl9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIE1lZGlhVGVrL1RlbXBvVGVjIEhpRmllcgpAQCAtNjc0LDcgKzY0MSw2IEBACiAKIGNvbmZpZyBTTkRfSUNFMTcxMgogCXRyaXN0YXRlICJJQ0Vuc2VtYmxlIElDRTE3MTIgKEVudnkyNCkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtNjkxLDggKzY1Nyw3IEBACiAKIGNvbmZpZyBTTkRfSUNFMTcyNAogCXRyaXN0YXRlICJJQ0UvVlQxNzI0LzE3MjAgKEVudnkyNEhUL1BUKSIKLQlkZXBlbmRzIG9uIFNORAotCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKKwlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAlzZWxlY3QgU05EX1ZNQVNURVIKIAloZWxwCkBAIC03MDksNyArNjc0LDYgQEAKIAogY29uZmlnIFNORF9JTlRFTDhYMAogCXRyaXN0YXRlICJJbnRlbC9TaVMvblZpZGlhL0FNRC9BTGkgQUM5NyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIEFDOTcgc291bmQKQEAgLTcyMiw3ICs2ODYsNiBAQAogCiBjb25maWcgU05EX0lOVEVMOFgwTQogCXRyaXN0YXRlICJJbnRlbC9TaVMvblZpZGlhL0FNRCBNQzk3IE1vZGVtIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIE1DOTcgbW9kZW0gb24KQEAgLTczMyw4ICs2OTYsNiBAQAogCiBjb25maWcgU05EX0tPUkcxMjEyCiAJdHJpc3RhdGUgIktvcmcgMTIxMiBJTyIKLQlkZXBlbmRzIG9uIFNORAotCXNlbGVjdCBGV19MT0FERVIgaWYgIVNORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBLb3JnIDEyMTJJTyBzb3VuZGNhcmRzLgpAQCAtNzQyLDE5ICs3MDMsOCBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLWtvcmcxMjEyLgogCi1jb25maWcgU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWJvb2wgIkluLWtlcm5lbCBmaXJtd2FyZSBmb3IgS29yZzEyMTIgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EX0tPUkcxMjEyCi0JZGVmYXVsdCB5Ci0JaGVscAotCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHRoZSBzdGF0aWMgZmlybXdhcmUgYnVpbHQgaW4gdGhlIGtlcm5lbAotCSAgZm9yIHRoZSBLb3JnMTIxMiBkcml2ZXIuICBJZiB5b3UgY2hvb3NlIE4gaGVyZSwgeW91IG5lZWQgdG8KLQkgIGluc3RhbGwgdGhlIGZpcm13YXJlIGZpbGVzIGZyb20gdGhlIGFsc2EtZmlybXdhcmUgcGFja2FnZS4KLQogY29uZmlnIFNORF9NQUVTVFJPMwogCXRyaXN0YXRlICJFU1MgQWxsZWdyby9NYWVzdHJvMyIKLQlkZXBlbmRzIG9uIFNORAotCXNlbGVjdCBGV19MT0FERVIgaWYgIVNORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3Igc291bmRjYXJkcyBiYXNlZCBvbiBFU1MgTWFlc3RybyAzCkBAIC03NjMsMTggKzcxMyw4IEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtbWFlc3RybzMuCiAKLWNvbmZpZyBTTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCi0JYm9vbCAiSW4ta2VybmVsIGZpcm13YXJlIGZvciBNYWVzdHJvMyBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkRfTUFFU1RSTzMKLQlkZWZhdWx0IHkKLQloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgdGhlIHN0YXRpYyBmaXJtd2FyZSBidWlsdCBpbiB0aGUga2VybmVsCi0JICBmb3IgdGhlIE1hZXN0cm8zIGRyaXZlci4gIElmIHlvdSBjaG9vc2UgTiBoZXJlLCB5b3UgbmVlZCB0bwotCSAgaW5zdGFsbCB0aGUgZmlybXdhcmUgZmlsZXMgZnJvbSB0aGUgYWxzYS1maXJtd2FyZSBwYWNrYWdlLgotCiBjb25maWcgU05EX01JWEFSVAogCXRyaXN0YXRlICJEaWdpZ3JhbSBtaVhhcnQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC03ODYsNyArNzI2LDYgQEAKIAogY29uZmlnIFNORF9OTTI1NgogCXRyaXN0YXRlICJOZW9NYWdpYyBOTTI1NkFWL1pYIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIE5lb01hZ2ljIE5NMjU2QVYvWlggY2hpcHMuCkBAIC03OTYsNyArNzM1LDYgQEAKIAogY29uZmlnIFNORF9QQ1hIUgogCXRyaXN0YXRlICJEaWdpZ3JhbSBQQ1hIUiIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9IV0RFUAogCWhlbHAKQEAgLTgwNyw3ICs3NDUsNiBAQAogCiBjb25maWcgU05EX1JJUFRJREUKIAl0cmlzdGF0ZSAiQ29uZXhhbnQgUmlwdGlkZSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtODIwLDcgKzc1Nyw2IEBACiAKIGNvbmZpZyBTTkRfUk1FMzIKIAl0cmlzdGF0ZSAiUk1FIERpZ2kzMiwgMzIvOCwgMzIgUFJPIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIFJNRSBEaWdpMzIsIERpZ2kzMiBQUk8gYW5kCkBAIC04MzIsNyArNzY4LDYgQEAKIAogY29uZmlnIFNORF9STUU5NgogCXRyaXN0YXRlICJSTUUgRGlnaTk2LCA5Ni84LCA5Ni84IFBSTyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIFJNRSBEaWdpOTYsIERpZ2k5Ni84IGFuZApAQCAtODQzLDcgKzc3OCw2IEBACiAKIGNvbmZpZyBTTkRfUk1FOTY1MgogCXRyaXN0YXRlICJSTUUgRGlnaTk2NTIgKEhhbW1lcmZhbGwpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgUk1FIEhhbW1lcmZhbGwgKFJNRQpAQCAtODU0LDcgKzc4OCw3IEBACiAKIGNvbmZpZyBTTkRfU0lTNzAxOQogCXRyaXN0YXRlICJTaVMgNzAxOSBBdWRpbyBBY2NlbGVyYXRvciIKLQlkZXBlbmRzIG9uIFNORCAmJiBYODYgJiYgIVg4Nl82NAorCWRlcGVuZHMgb24gWDg2ICYmICFYODZfNjQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIFNpUyA3MDE5IEF1ZGlvIEFjY2VsZXJhdG9yLgpAQCAtODY0LDcgKzc5OCw2IEBACiAKIGNvbmZpZyBTTkRfU09OSUNWSUJFUwogCXRyaXN0YXRlICJTMyBTb25pY1ZpYmVzIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKQEAgLTg3Nyw3ICs4MTAsNiBAQAogCiBjb25maWcgU05EX1RSSURFTlQKIAl0cmlzdGF0ZSAiVHJpZGVudCA0RC1XYXZlIERYL05YOyBTaVMgNzAxOCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC04ODksNyArODIxLDYgQEAKIAogY29uZmlnIFNORF9WSUE4MlhYCiAJdHJpc3RhdGUgIlZJQSA4MkM2ODZBL0IsIDgyMzMvODIzNSBBQzk3IENvbnRyb2xsZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtOTAxLDcgKzgzMiw2IEBACiAKIGNvbmZpZyBTTkRfVklBODJYWF9NT0RFTQogCXRyaXN0YXRlICJWSUEgODJDNjg2QS9CLCA4MjMzIGJhc2VkIE1vZGVtcyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBNQzk3IG1vZGVtIG9uCkBAIC05MTIsNyArODQyLDYgQEAKIAogY29uZmlnIFNORF9WSVJUVU9TTwogCXRyaXN0YXRlICJBc3VzIFZpcnR1b3NvIDEwMC8yMDAgKFhvbmFyKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1hZR0VOX0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBzb3VuZCBjYXJkcyBiYXNlZCBvbiB0aGUKQEAgLTkyMyw3ICs4NTIsNiBAQAogCiBjb25maWcgU05EX1ZYMjIyCiAJdHJpc3RhdGUgIkRpZ2lncmFtIFZYMjIyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9WWF9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgRGlnaWdyYW0gVlgyMjIgc291bmRjYXJkcy4KQEAgLTkzMyw4ICs4NjEsNiBAQAogCiBjb25maWcgU05EX1lNRlBDSQogCXRyaXN0YXRlICJZYW1haGEgWU1GNzI0Lzc0MC83NDQvNzU0IgotCWRlcGVuZHMgb24gU05ECi0Jc2VsZWN0IEZXX0xPQURFUiBpZiAhU05EX1lNRlBDSV9GSVJNV0FSRV9JTl9LRVJORUwKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwpAQCAtOTQ1LDM0ICs4NzEsNCBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLXltZnBjaS4KIAotY29uZmlnIFNORF9ZTUZQQ0lfRklSTVdBUkVfSU5fS0VSTkVMCi0JYm9vbCAiSW4ta2VybmVsIGZpcm13YXJlIGZvciBZTUZQQ0kgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EX1lNRlBDSQotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSB0aGUgc3RhdGljIGZpcm13YXJlIGJ1aWx0IGluIHRoZSBrZXJuZWwKLQkgIGZvciB0aGUgWU1GUENJIGRyaXZlci4gIElmIHlvdSBjaG9vc2UgTiBoZXJlLCB5b3UgbmVlZCB0bwotCSAgaW5zdGFsbCB0aGUgZmlybXdhcmUgZmlsZXMgZnJvbSB0aGUgYWxzYS1maXJtd2FyZSBwYWNrYWdlLgotCi1jb25maWcgU05EX0FDOTdfUE9XRVJfU0FWRQotCWJvb2wgIkFDOTcgUG93ZXItU2F2aW5nIE1vZGUiCi0JZGVwZW5kcyBvbiBTTkRfQUM5N19DT0RFQyAmJiBFWFBFUklNRU5UQUwKLQlkZWZhdWx0IG4KLQloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGVuYWJsZSB0aGUgYWdncmVzc2l2ZSBwb3dlci1zYXZpbmcgc3VwcG9ydCBvZgotCSAgQUM5NyBjb2RlY3MuICBJbiB0aGlzIG1vZGUsIHRoZSBwb3dlci1tb2RlIGlzIGR5bmFtaWNhbGx5Ci0JICBjb250cm9sbGVkIGF0IGVhY2ggb3Blbi9jbG9zZS4KLQotCSAgVGhlIG1vZGUgaXMgYWN0aXZhdGVkIGJ5IHBhc3NpbmcgcG93ZXJfc2F2ZT0xIG9wdGlvbiB0bwotCSAgc25kLWFjOTctY29kZWMgZHJpdmVyLiAgWW91IGNhbiB0b2dnbGUgaXQgZHluYW1pY2FsbHkgb3ZlcgotCSAgc3lzZnMsIHRvby4KLQotY29uZmlnIFNORF9BQzk3X1BPV0VSX1NBVkVfREVGQVVMVAotCWludCAiRGVmYXVsdCB0aW1lLW91dCBmb3IgQUM5NyBwb3dlci1zYXZlIG1vZGUiCi0JZGVwZW5kcyBvbiBTTkRfQUM5N19QT1dFUl9TQVZFCi0JZGVmYXVsdCAwCi0JaGVscAotCSAgVGhlIGRlZmF1bHQgdGltZS1vdXQgdmFsdWUgaW4gc2Vjb25kcyBmb3IgQUM5NyBhdXRvbWF0aWMKLQkgIHBvd2VyLXNhdmUgbW9kZS4gIDAgbWVhbnMgdG8gZGlzYWJsZSB0aGUgcG93ZXItc2F2ZSBtb2RlLgotCi1lbmRtZW51CitlbmRpZgkjIFNORF9QQ0kKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9NYWtlZmlsZSBiL3NvdW5kL3BjaS9NYWtlZmlsZQppbmRleCA4NWVmMTRiLi42NWIyNWQyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvTWFrZWZpbGUKKysrIGIvc291bmQvcGNpL01ha2VmaWxlCkBAIC0xMyw3ICsxMyw3IEBACiBzbmQtY21pcGNpLW9ianMgOj0gY21pcGNpLm8KIHNuZC1jczQyODEtb2JqcyA6PSBjczQyODEubwogc25kLWNzNTUzMC1vYmpzIDo9IGNzNTUzMC5vCi1zbmQtZW5zMTM3MC1vYmpzIDo9IGVuczEzNzAubworc25kLWVuczEzNzAtb2JqcyA6PSBlbnMxMzcwLm8gYWs0NTMxX2NvZGVjLm8KIHNuZC1lbnMxMzcxLW9ianMgOj0gZW5zMTM3MS5vCiBzbmQtZXMxOTM4LW9ianMgOj0gZXMxOTM4Lm8KIHNuZC1lczE5Njgtb2JqcyA6PSBlczE5NjgubwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2FjOTcvTWFrZWZpbGUgYi9zb3VuZC9wY2kvYWM5Ny9NYWtlZmlsZQppbmRleCAwYmU0OGIxLi40MWZhMzIyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYWM5Ny9NYWtlZmlsZQorKysgYi9zb3VuZC9wY2kvYWM5Ny9NYWtlZmlsZQpAQCAtMywxNiArMyw4IEBACiAjIENvcHlyaWdodCAoYykgMjAwMSBieSBKYXJvc2xhdiBLeXNlbGEgPHBlcmV4QHBlcmV4LmN6PgogIwogCi1zbmQtYWM5Ny1jb2RlYy1vYmpzIDo9IGFjOTdfY29kZWMubyBhYzk3X3BjbS5vCi0KLWlmbmVxICgkKENPTkZJR19QUk9DX0ZTKSwpCi1zbmQtYWM5Ny1jb2RlYy1vYmpzICs9IGFjOTdfcHJvYy5vCi1lbmRpZgotCi1zbmQtYWs0NTMxLWNvZGVjLW9ianMgOj0gYWs0NTMxX2NvZGVjLm8KK3NuZC1hYzk3LWNvZGVjLXkgOj0gYWM5N19jb2RlYy5vIGFjOTdfcGNtLm8KK3NuZC1hYzk3LWNvZGVjLSQoQ09ORklHX1BST0NfRlMpICs9IGFjOTdfcHJvYy5vCiAKICMgVG9wbGV2ZWwgTW9kdWxlIERlcGVuZGVuY3kKIG9iai0kKENPTkZJR19TTkRfQUM5N19DT0RFQykgKz0gc25kLWFjOTctY29kZWMubwotb2JqLSQoQ09ORklHX1NORF9FTlMxMzcwKSArPSBzbmQtYWs0NTMxLWNvZGVjLm8KLQotb2JqLW0gOj0gJChzb3J0ICQob2JqLW0pKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2FjOTcvYWM5N19jb2RlYy5jIGIvc291bmQvcGNpL2FjOTcvYWM5N19jb2RlYy5jCmluZGV4IDQ1ZmQyOTAuLjA3MzY0YzAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9hYzk3L2FjOTdfY29kZWMuYworKysgYi9zb3VuZC9wY2kvYWM5Ny9hYzk3X2NvZGVjLmMKQEAgLTQ5LDggKzQ5LDkgQEAKIAogI2lmZGVmIENPTkZJR19TTkRfQUM5N19QT1dFUl9TQVZFCiBzdGF0aWMgaW50IHBvd2VyX3NhdmUgPSBDT05GSUdfU05EX0FDOTdfUE9XRVJfU0FWRV9ERUZBVUxUOwotbW9kdWxlX3BhcmFtKHBvd2VyX3NhdmUsIGJvb2wsIDA2NDQpOwotTU9EVUxFX1BBUk1fREVTQyhwb3dlcl9zYXZlLCAiRW5hYmxlIEFDOTcgcG93ZXItc2F2aW5nIGNvbnRyb2wiKTsKK21vZHVsZV9wYXJhbShwb3dlcl9zYXZlLCBpbnQsIDA2NDQpOworTU9EVUxFX1BBUk1fREVTQyhwb3dlcl9zYXZlLCAiQXV0b21hdGljIHBvd2VyLXNhdmluZyB0aW1lb3V0ICIKKwkJICIoaW4gc2Vjb25kLCAwID0gZGlzYWJsZSkuIik7CiAjZW5kaWYKIC8qCiAKQEAgLTIyOTQsOSArMjI5NSwxMSBAQAogCXBvd2VyIHw9IEFDOTdfUERfUFIwIHwgQUM5N19QRF9QUjE7CS8qIEFEQyAmIERBQyBwb3dlcmRvd24gKi8KIAlzbmRfYWM5N193cml0ZShhYzk3LCBBQzk3X1BPV0VSRE9XTiwgcG93ZXIpOwogCXVkZWxheSgxMDApOwotCXBvd2VyIHw9IEFDOTdfUERfUFIyIHwgQUM5N19QRF9QUjM7CS8qIEFuYWxvZyBNaXhlciBwb3dlcmRvd24gKi8KKwlwb3dlciB8PSBBQzk3X1BEX1BSMjsJLyogQW5hbG9nIE1peGVyIHBvd2VyZG93biAoVnJlZiBvbikgKi8KIAlzbmRfYWM5N193cml0ZShhYzk3LCBBQzk3X1BPV0VSRE9XTiwgcG93ZXIpOwogCWlmIChhYzk3X2lzX3Bvd2VyX3NhdmVfbW9kZShhYzk3KSkgeworCQlwb3dlciB8PSBBQzk3X1BEX1BSMzsJLyogQW5hbG9nIE1peGVyIHBvd2VyZG93biAqLworCQlzbmRfYWM5N193cml0ZShhYzk3LCBBQzk3X1BPV0VSRE9XTiwgcG93ZXIpOwogCQl1ZGVsYXkoMTAwKTsKIAkJLyogQUMtbGluayBwb3dlcmRvd24sIGludGVybmFsIENsayBkaXNhYmxlICovCiAJCS8qIEZJWE1FOiB0aGlzIG1heSBjYXVzZSBjbGljayBub2lzZXMgb24gc29tZSBib2FyZHMgKi8KQEAgLTIzNjIsNyArMjM2NSw3IEBACiAJCSAqICB0aGF0IG9wZW4vY2xvc2UgZnJlcXVlbnRseSkKIAkJICovCiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmYWM5Ny0+cG93ZXJfd29yaywKLQkJCQkgICAgICBtc2Vjc190b19qaWZmaWVzKDIwMDApKTsKKwkJCQkgICAgICBtc2Vjc190b19qaWZmaWVzKHBvd2VyX3NhdmUgKiAxMDAwKSk7CiAJZWxzZSB7CiAJCWNhbmNlbF9kZWxheWVkX3dvcmsoJmFjOTctPnBvd2VyX3dvcmspOwogCQl1cGRhdGVfcG93ZXJfcmVncyhhYzk3KTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9hYzk3L2FjOTdfcGF0Y2guYyBiL3NvdW5kL3BjaS9hYzk3L2FjOTdfcGF0Y2guYwppbmRleCAxMjkyZGNlLi4wNzQ2ZTljIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYWM5Ny9hYzk3X3BhdGNoLmMKKysrIGIvc291bmQvcGNpL2FjOTcvYWM5N19wYXRjaC5jCkBAIC02NjksNiArNjY5LDcgQEAKIEFDOTdfU0lOR0xFKCJNaWMgMiBWb2x1bWUiLCBBQzk3X01JQywgMCwgMzEsIDEpLAogQUM5N19TSU5HTEUoIk1pYyAyMGRCIEJvb3N0IFN3aXRjaCIsIEFDOTdfTUlDLCA3LCAxLCAwKSwKIAorQUM5N19TSU5HTEUoIk1hc3RlciBMZWZ0IEludiBTd2l0Y2giLCBBQzk3X01BU1RFUiwgNiwgMSwgMCksCiBBQzk3X1NJTkdMRSgiTWFzdGVyIFpDIFN3aXRjaCIsIEFDOTdfTUFTVEVSLCA3LCAxLCAwKSwKIEFDOTdfU0lOR0xFKCJIZWFkcGhvbmUgWkMgU3dpdGNoIiwgQUM5N19IRUFEUEhPTkUsIDcsIDEsIDApLAogQUM5N19TSU5HTEUoIk1vbm8gWkMgU3dpdGNoIiwgQUM5N19NQVNURVJfTU9OTywgNywgMSwgMCksCkBAIC0zMzUyLDggKzMzNTMsNjYgQEAKIEFDOTdfU0lOR0xFKCJEb3dubWl4IFN1cnJvdW5kIHRvIEZyb250IiwgMHg1YSwgMTEsIDEsIDApLAogfTsKIAorc3RhdGljIGNvbnN0IGNoYXIgKnNsYXZlX3ZvbHNfdnQxNjE2W10gPSB7CisJIkZyb250IFBsYXliYWNrIFZvbHVtZSIsCisJIlN1cnJvdW5kIFBsYXliYWNrIFZvbHVtZSIsCisJIkNlbnRlciBQbGF5YmFjayBWb2x1bWUiLAorCSJMRkUgUGxheWJhY2sgVm9sdW1lIiwKKwlOVUxMCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqc2xhdmVfc3dzX3Z0MTYxNltdID0geworCSJGcm9udCBQbGF5YmFjayBTd2l0Y2giLAorCSJTdXJyb3VuZCBQbGF5YmFjayBTd2l0Y2giLAorCSJDZW50ZXIgUGxheWJhY2sgU3dpdGNoIiwKKwkiTEZFIFBsYXliYWNrIFN3aXRjaCIsCisJTlVMTAorfTsKKworLyogZmluZCBhIG1peGVyIGNvbnRyb2wgZWxlbWVudCB3aXRoIHRoZSBnaXZlbiBuYW1lICovCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbCAqc25kX2FjOTdfZmluZF9taXhlcl9jdGwoc3RydWN0IHNuZF9hYzk3ICphYzk3LAorCQkJCQkJICAgIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IHNuZF9jdGxfZWxlbV9pZCBpZDsKKwltZW1zZXQoJmlkLCAwLCBzaXplb2YoaWQpKTsKKwlpZC5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSOworCXN0cmNweShpZC5uYW1lLCBuYW1lKTsKKwlyZXR1cm4gc25kX2N0bF9maW5kX2lkKGFjOTctPmJ1cy0+Y2FyZCwgJmlkKTsKK30KKworLyogY3JlYXRlIGEgdmlydHVhbCBtYXN0ZXIgY29udHJvbCBhbmQgYWRkIHNsYXZlcyAqLworaW50IHNuZF9hYzk3X2FkZF92bWFzdGVyKHN0cnVjdCBzbmRfYWM5NyAqYWM5NywgY2hhciAqbmFtZSwKKwkJCSBjb25zdCB1bnNpZ25lZCBpbnQgKnRsdiwgY29uc3QgY2hhciAqKnNsYXZlcykKK3sKKwlzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsOworCWNvbnN0IGNoYXIgKipzOworCWludCBlcnI7CisKKwlrY3RsID0gc25kX2N0bF9tYWtlX3ZpcnR1YWxfbWFzdGVyKG5hbWUsIHRsdik7CisJaWYgKCFrY3RsKQorCQlyZXR1cm4gLUVOT01FTTsKKwllcnIgPSBzbmRfY3RsX2FkZChhYzk3LT5idXMtPmNhcmQsIGtjdGwpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZm9yIChzID0gc2xhdmVzOyAqczsgcysrKSB7CisJCXN0cnVjdCBzbmRfa2NvbnRyb2wgKnNjdGw7CisKKwkJc2N0bCA9IHNuZF9hYzk3X2ZpbmRfbWl4ZXJfY3RsKGFjOTcsICpzKTsKKwkJaWYgKCFzY3RsKSB7CisJCQlzbmRfcHJpbnRkZCgiQ2Fubm90IGZpbmQgc2xhdmUgJXMsIHNraXBwZWRcbiIsICpzKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWVyciA9IHNuZF9jdGxfYWRkX3NsYXZlKGtjdGwsIHNjdGwpOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQorCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHBhdGNoX3Z0MTYxNl9zcGVjaWZpYyhzdHJ1Y3Qgc25kX2FjOTcgKiBhYzk3KQogeworCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjdGw7CiAJaW50IGVycjsKIAogCWlmIChzbmRfYWM5N190cnlfYml0KGFjOTcsIDB4NWEsIDkpKQpAQCAtMzM2MSw2ICszNDIwLDI0IEBACiAJCQlyZXR1cm4gZXJyOwogCWlmICgoZXJyID0gcGF0Y2hfYnVpbGRfY29udHJvbHMoYWM5NywgJnNuZF9hYzk3X2NvbnRyb2xzX3Z0MTYxNlsxXSwgQVJSQVlfU0laRShzbmRfYWM5N19jb250cm9sc192dDE2MTYpIC0gMSkpIDwgMCkKIAkJcmV0dXJuIGVycjsKKworCS8qIFRoZXJlIGlzIGFscmVhZHkgYSBtaXNuYW1lZCBtYXN0ZXIgc3dpdGNoLiAgUmVuYW1lIGl0LiAgKi8KKwlrY3RsID0gc25kX2FjOTdfZmluZF9taXhlcl9jdGwoYWM5NywgIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiKTsKKwlpZiAoIWtjdGwpCisJCXJldHVybiAtRUlOVkFMOworCisJc25kX2FjOTdfcmVuYW1lX3ZvbF9jdGwoYWM5NywgIk1hc3RlciBQbGF5YmFjayIsICJGcm9udCBQbGF5YmFjayIpOworCisJZXJyID0gc25kX2FjOTdfYWRkX3ZtYXN0ZXIoYWM5NywgIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiLAorCQkJCSAgIGtjdGwtPnRsdi5wLCBzbGF2ZV92b2xzX3Z0MTYxNik7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBzbmRfYWM5N19hZGRfdm1hc3RlcihhYzk3LCAiTWFzdGVyIFBsYXliYWNrIFN3aXRjaCIsCisJCQkJICAgTlVMTCwgc2xhdmVfc3dzX3Z0MTYxNik7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMzYzMyw3ICszNzEwLDcgQEAKIHsKIAlhYzk3LT5idWlsZF9vcHMgPSAmcGF0Y2hfdWNiMTQwMF9vcHM7CiAJLyogZW5hYmxlIGhlYWRwaG9uZSBkcml2ZXIgYW5kIHNtYXJ0IGxvdyBwb3dlciBtb2RlIGJ5IGRlZmF1bHQgKi8KLQlzbmRfYWM5N193cml0ZShhYzk3LCAweDZhLCAweDAwNTApOwotCXNuZF9hYzk3X3dyaXRlKGFjOTcsIDB4NmMsIDB4MDAzMCk7CisJc25kX2FjOTdfd3JpdGVfY2FjaGUoYWM5NywgMHg2YSwgMHgwMDUwKTsKKwlzbmRfYWM5N193cml0ZV9jYWNoZShhYzk3LCAweDZjLCAweDAwMzApOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2FjOTcvYWs0NTMxX2NvZGVjLmMgYi9zb3VuZC9wY2kvYWs0NTMxX2NvZGVjLmMKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gc291bmQvcGNpL2FjOTcvYWs0NTMxX2NvZGVjLmMKcmVuYW1lIHRvIHNvdW5kL3BjaS9hazQ1MzFfY29kZWMuYwppbmRleCBjMGMxNjMzOS4uMzNkMzdiMSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2FjOTcvYWs0NTMxX2NvZGVjLmMKKysrIGIvc291bmQvcGNpL2FrNDUzMV9jb2RlYy5jCkBAIC0yOCw5ICsyOCwxMSBAQAogI2luY2x1ZGUgPHNvdW5kL2FrNDUzMV9jb2RlYy5oPgogI2luY2x1ZGUgPHNvdW5kL3Rsdi5oPgogCisvKgogTU9EVUxFX0FVVEhPUigiSmFyb3NsYXYgS3lzZWxhIDxwZXJleEBwZXJleC5jej4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiVW5pdmVyc2FsIHJvdXRpbmVzIGZvciBBSzQ1MzEgY29kZWMiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKyovCiAKICNpZmRlZiBDT05GSUdfUFJPQ19GUwogc3RhdGljIHZvaWQgc25kX2FrNDUzMV9wcm9jX2luaXQoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2FrNDUzMSAqYWs0NTMxKTsKQEAgLTI3MCw3ICsyNzIsNyBAQAogc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKGRiX3NjYWxlX21vbm8sIC0yODAwLCA0MDAsIDApOwogc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKGRiX3NjYWxlX2lucHV0LCAtNTAwMCwgMjAwLCAwKTsKIAotc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNuZF9hazQ1MzFfY29udHJvbHNbXSA9IHsKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzbmRfYWs0NTMxX2NvbnRyb2xzW10gX19kZXZpbml0ZGF0YSA9IHsKIAogQUs0NTMxX0RPVUJMRV9UTFYoIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLCAwLAogCQkgIEFLNDUzMV9MTUFTVEVSLCBBSzQ1MzFfUk1BU1RFUiwgNywgNywgMSwgMSwKQEAgLTM3OSw4ICszODEsOSBAQAogCTB4MDEJCS8qIDE5OiBNaWMgQW1wIFNldHVwICovCiB9OwogCi1pbnQgc25kX2FrNDUzMV9taXhlcihzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfYWs0NTMxICpfYWs0NTMxLAotCQkgICAgIHN0cnVjdCBzbmRfYWs0NTMxICoqcmFrNDUzMSkKK2ludCBfX2RldmluaXQgc25kX2FrNDUzMV9taXhlcihzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCisJCQkgICAgICAgc3RydWN0IHNuZF9hazQ1MzEgKl9hazQ1MzEsCisJCQkgICAgICAgc3RydWN0IHNuZF9hazQ1MzEgKipyYWs0NTMxKQogewogCXVuc2lnbmVkIGludCBpZHg7CiAJaW50IGVycjsKQEAgLTQ3Niw3ICs0NzksOCBAQAogCQkgICAgYWs0NTMxLT5yZWdzW0FLNDUzMV9NSUNfR0FJTl0gJiAxID8gIiszMGRCIiA6ICIrMGRCIik7CiB9CiAKLXN0YXRpYyB2b2lkIHNuZF9hazQ1MzFfcHJvY19pbml0KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9hazQ1MzEgKmFrNDUzMSkKK3N0YXRpYyB2b2lkIF9fZGV2aW5pdAorc25kX2FrNDUzMV9wcm9jX2luaXQoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2FrNDUzMSAqYWs0NTMxKQogewogCXN0cnVjdCBzbmRfaW5mb19lbnRyeSAqZW50cnk7CiAKQEAgLTQ4NCwyNSArNDg4LDMgQEAKIAkJc25kX2luZm9fc2V0X3RleHRfb3BzKGVudHJ5LCBhazQ1MzEsIHNuZF9hazQ1MzFfcHJvY19yZWFkKTsKIH0KICNlbmRpZgotCi1FWFBPUlRfU1lNQk9MKHNuZF9hazQ1MzFfbWl4ZXIpOwotI2lmZGVmIENPTkZJR19QTQotRVhQT1JUX1NZTUJPTChzbmRfYWs0NTMxX3N1c3BlbmQpOwotRVhQT1JUX1NZTUJPTChzbmRfYWs0NTMxX3Jlc3VtZSk7Ci0jZW5kaWYKLQotLyoKLSAqICBJTklUIHBhcnQKLSAqLwotCi1zdGF0aWMgaW50IF9faW5pdCBhbHNhX2FrNDUzMV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBhbHNhX2FrNDUzMV9leGl0KHZvaWQpCi17Ci19Ci0KLW1vZHVsZV9pbml0KGFsc2FfYWs0NTMxX2luaXQpCi1tb2R1bGVfZXhpdChhbHNhX2FrNDUzMV9leGl0KQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2F1ODh4MC9hdTg4eDBfZ2FtZS5jIGIvc291bmQvcGNpL2F1ODh4MC9hdTg4eDBfZ2FtZS5jCmluZGV4IGJjMjEyZjQuLmUyOTFhYTUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9hdTg4eDAvYXU4OHgwX2dhbWUuYworKysgYi9zb3VuZC9wY2kvYXU4OHgwL2F1ODh4MF9nYW1lLmMKQEAgLTEsNiArMSw0IEBACiAvKgotICogJElkOiBhdTg4eDBfZ2FtZS5jLHYgMS45IDIwMDMvMDkvMjIgMDM6NTE6MjggbWphbmRlciBFeHAgJAotICoKICAqICBNYW51ZWwgSmFuZGVyLgogICoKICAqICBCYXNlZCBvbiB0aGUgd29yayBvZjoKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9henQzMzI4LmMgYi9zb3VuZC9wY2kvYXp0MzMyOC5jCmluZGV4IDVmNjNhZjYuLjIyZjE4ZjMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9henQzMzI4LmMKKysrIGIvc291bmQvcGNpL2F6dDMzMjguYwpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAgYXp0MzMyOC5jIC0gZHJpdmVyIGZvciBBenRlY2ggQVpGMzMyOCBiYXNlZCBzb3VuZGNhcmRzIChlLmcuIFBDSTE2OCkuCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDA3IGJ5IEFuZHJlYXMgTW9ociA8YW5kaSBBVCBsaXNhcy5kZT4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUgLSAyMDA4IGJ5IEFuZHJlYXMgTW9ociA8YW5kaSBBVCBsaXNhcy5kZT4KICAqCiAgKiAgRnJhbWV3b3JrIGJvcnJvd2VkIGZyb20gQmFydCBIYXJ0Z2VycydzIGFsczQwMDAuYy4KICAqICBEcml2ZXIgZGV2ZWxvcGVkIG9uIFBDSTE2OCBBUChXKSB2ZXJzaW9uIChQQ0kgcmV2LiAxMCwgc3Vic3lzdGVtIElEIDE4MDEpLApAQCAtMzUsOSArMzUsMjAgQEAKICAqICAoMyB3ZWVrcycgd29ydGggb2YgZXZlbmluZ3MgZmlsbGVkIHdpdGggZHJpdmVyIHdvcmspLgogICogIChhbmQgbm8sIEkgZGlkIE5PVCBnbyB0aGUgZWFzeSB3YXk6IHRvIHBpY2sgdXAgYSBTQiBQQ0kxMjggZm9yIDkgRXVyb3MpCiAgKgotICogIFRoZSBBWkYzMzI4IGNoaXAgKG5vdGU6IEFaRjMzMjgsICpub3QqIEFaVDMzMjgsIHRoYXQncyBqdXN0IHRoZSBkcml2ZXIgbmFtZQotICogIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMpIGhhcyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOgorICogIEl0IGlzIHF1aXRlIGxpa2VseSB0aGF0IHRoZSBBWkYzMzI4IGNoaXAgaXMgdGhlIFBDSSBjb3VzaW4gb2YgdGhlCisgKiAgQVpGMzMxOCAoImF6dDEwMjAgcG5wIiwgIk1NIFBybyAxNiIpIElTQSBjaGlwLCBnaXZlbiB2ZXJ5IHNpbWlsYXIgc3BlY3MuCiAgKgorICogIFRoZSBBWkYzMzI4IGNoaXAgKG5vdGU6IEFaRjMzMjgsICpub3QqIEFaVDMzMjgsIHRoYXQncyBqdXN0IHRoZSBkcml2ZXIgbmFtZQorICogIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMpIGZyb20gQXpmaW4gKGpvaW50LXZlbnR1cmUgb2YgQXp0ZWNoIGFuZCBGaW5jaXRlYywKKyAqICBGaW5jaXRlYyBhY3F1aXJlZCBieSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIGluIDIwMDIsIHRvZ2V0aGVyIHdpdGggdGhlCisgKiAgRmluY2l0ZWMtcmVsYXRlZCBjb21wYW55IEFSU21pa3JvKSBoYXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKKyAqCisgKiAgLSBjb21wYXRpYmlsaXR5ICYgY29tcGxpYW5jZToKKyAqICAgIC0gTWljcm9zb2Z0IFBDIDk3ICgiUEMgOTcgSGFyZHdhcmUgRGVzaWduIEd1aWRlIiwKKyAqICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vd2hkYy9hcmNoaXZlL3BjZ3VpZGVzLm1zcHgpCisgKiAgICAtIE1pY3Jvc29mdCBQQyA5OCBCYXNlbGluZSBBdWRpbworICogICAgLSBNUFU0MDEgVUFSVAorICogICAgLSBTb3VuZCBCbGFzdGVyIEVtdWxhdGlvbiAoRE9TIEJveCkKICAqICAtIGJ1aWx0aW4gQUM5NyBjb25mb3JtYW50IGNvZGVjIChTTlIgb3ZlciA4MGRCKQogICogICAgTm90ZSB0aGF0ICJjb25mb3JtYW50IiAhPSAiY29tcGxpYW50IiEhIHRoaXMgY2hpcCdzIG1peGVyIHJlZ2lzdGVyIGxheW91dAogICogICAgKmRpZmZlcnMqIGZyb20gdGhlIHN0YW5kYXJkIEFDOTcgbGF5b3V0OgpAQCAtNDgsMjEgKzU5LDI4IEBACiAgKiAgICBhZGRyZXNzZXMgaWxsZWdhbGx5LiBTbyBmYXIgdW5mb3J0dW5hdGVseSBpdCBsb29rcyBsaWtlIHRoZSB2ZXJ5IGZsZXhpYmxlCiAgKiAgICBBTFNBIEFDOTcgc3VwcG9ydCBpcyBzdGlsbCBub3QgZW5vdWdoIHRvIGVhc2lseSBjb21wZW5zYXRlIGZvciBzdWNoIGEKICAqICAgIGdyYXZlIGxheW91dCB2aW9sYXRpb24gZGVzcGl0ZSBhbGwgdHdlYWtzIGFuZCBxdWlya3MgbWVjaGFuaXNtcyBpdCBvZmZlcnMuCi0gKiAgLSBidWlsdGluIGdlbnVpbmUgT1BMMworICogIC0gYnVpbHRpbiBnZW51aW5lIE9QTDMgLSB2ZXJpZmllZCB0byB3b3JrIGZpbmUsIDIwMDgwNTA2CiAgKiAgLSBmdWxsIGR1cGxleCAxNmJpdCBwbGF5YmFjay9yZWNvcmQgYXQgaW5kZXBlbmRlbnQgc2FtcGxpbmcgcmF0ZQotICogIC0gTVBVNDAxICgrIGxlZ2FjeSBhZGRyZXNzIHN1cHBvcnQpIEZJWE1FOiBob3cgdG8gZW5hYmxlIGxlZ2FjeSBhZGRyPz8KKyAqICAtIE1QVTQwMSAoKyBsZWdhY3kgYWRkcmVzcyBzdXBwb3J0LCBjbGFpbWVkIGJ5IG9uZSBvZmZpY2lhbCBzcGVjIHNoZWV0KQorICogICAgRklYTUU6IGhvdyB0byBlbmFibGUgbGVnYWN5IGFkZHI/PwogICogIC0gZ2FtZSBwb3J0IChsZWdhY3kgYWRkcmVzcyBzdXBwb3J0KQotICogIC0gYnVpbHRpbiAzRCBlbmhhbmNlbWVudCAoc2FpZCB0byBiZSBZQU1BSEEgWW1lcnNpb24pCiAgKiAgLSBidWlsdGluIERpcmVjdElucHV0IHN1cHBvcnQsIGhlbHBzIHJlZHVjZSBDUFUgb3ZlcmhlYWQgKGludGVycnVwdC1kcml2ZW4KLSAqICAgIGZlYXR1cmVzIHN1cHBvcnRlZCkKKyAqICAgIGZlYXR1cmVzIHN1cHBvcnRlZCkuIC0gU2VlIGNvbW1vbiB0ZXJtICJEaWdpdGFsIEVuaGFuY2VkIEdhbWUgUG9ydCIuLi4KKyAqICAgIChwcm9iYWJseSBEaXJlY3RJbnB1dCAzLjAgc3BlYyAtIGNvbmZpcm0pCisgKiAgLSBidWlsdGluIDNEIGVuaGFuY2VtZW50IChzYWlkIHRvIGJlIFlBTUFIQSBZbWVyc2lvbikKICAqICAtIGJ1aWx0LWluIEdlbmVyYWwgRGlyZWN0WCB0aW1lciBoYXZpbmcgYSAyMCBiaXRzIGNvdW50ZXIKICAqICAgIHdpdGggMXVzIHJlc29sdXRpb24gKHNlZSBiZWxvdyEpCi0gKiAgLSBJMlMgc2VyaWFsIHBvcnQgZm9yIGV4dGVybmFsIERBQworICogIC0gSTJTIHNlcmlhbCBvdXRwdXQgcG9ydCBmb3IgZXh0ZXJuYWwgREFDCiAgKiAgLSBzdXBwb3J0cyAzM01IeiBQQ0kgc3BlYyAyLjEsIFBDSSBwb3dlciBtYW5hZ2VtZW50IDEuMCwgY29tcGxpYW50IHdpdGggQUNQSQogICogIC0gc3VwcG9ydHMgaGFyZHdhcmUgdm9sdW1lIGNvbnRyb2wKICAqICAtIHNpbmdsZSBjaGlwIGxvdyBjb3N0IHNvbHV0aW9uICgxMjggcGluIFFGUCkKICAqICAtIHN1cHBvcnRzIHByb2dyYW1tYWJsZSBTdWItdmVuZG9yIGFuZCBTdWItc3lzdGVtIElECiAgKiAgICByZXF1aXJlZCBmb3IgTWljcm9zb2Z0J3MgbG9nbyBjb21wbGlhbmNlIChGSVhNRTogd2hlcmU/KQorICogICAgQXQgbGVhc3QgdGhlIFRyaWRlbnQgNEQgV2F2ZSBEWCBoYXMgb25lIGJpdCBzb21ld2hlcmUKKyAqICAgIHRvIGVuYWJsZSB3cml0ZXMgdG8gUENJIHN1YnN5c3RlbSBWSUQgcmVnaXN0ZXJzLCB0aGF0IHNob3VsZCBiZSBpdC4KKyAqICAgIFRoaXMgbWlnaHQgZWFzaWx5IGJlIGluIGV4dGVuZGVkIFBDSSByZWcgc3BhY2UsIHNpbmNlIFBDSTE2OCBhbHNvIGhhcworICogICAgc29tZSBjdXN0b20gZGF0YSBzdGFydGluZyBhdCAweDgwLiBXaGF0IGtpbmQgb2YgY29uZmlnIHNldHRpbmdzCisgKiAgICBhcmUgbG9jYXRlZCBpbiBvdXIgZXh0ZW5kZWQgUENJIHNwYWNlIGFueXdheT8/CiAgKiAgLSBQQ0kxNjggQVAoVykgY2FyZDogcG93ZXIgYW1wbGlmaWVyIHdpdGggNCBXYXR0cy9jaGFubmVsIGF0IDQgT2htcwogICoKICAqICBOb3RlIHRoYXQgdGhpcyBkcml2ZXIgbm93IGlzIGFjdHVhbGx5ICpiZXR0ZXIqIHRoYW4gdGhlIFdpbmRvd3MgZHJpdmVyLApAQCAtNzQsNiArOTIsMjQgQEAKICAqICAtICJ0aW1pZGl0eSAtaUF2IC1CMiw4IC1PcyAtRUZyZXZlcmI9MCIKICAqICAtICJwbWlkaSAtcCAxMjg6MCBqYXp6Lm1pZCIKICAqCisgKiAgT1BMMyBoYXJkd2FyZSBwbGF5YmFjayB0ZXN0aW5nLCB0cnkgc29tZXRoaW5nIGxpa2U6CisgKiAgY2F0IC9wcm9jL2Fzb3VuZC9od2RlcAorICogIGFuZAorICogIGFjb25uZWN0IC1vCisgKiAgVGhlbiB1c2UKKyAqICBzYmlsb2FkIC1EaHc6eCx5IC0tb3BsMyAvdXNyL3NoYXJlL3NvdW5kcy9vcGwzL3N0ZC5vMyAuLi4uLi4uL2RydW1zLm8zCisgKiAgd2hlcmUgeCx5IGlzIHRoZSB4eC15eSBudW1iZXIgYXMgZ2l2ZW4gaW4gaHdkZXAuCisgKiAgVGhlbiB0cnkKKyAqICBwbWlkaSAtcCBhOmIgamF6ei5taWQKKyAqICB3aGVyZSBhOmIgaXMgdGhlIGNsaWVudCBudW1iZXIgcGx1cyAwIHVzdWFsbHksIGFzIGdpdmVuIGJ5IGFjb25uZWN0IGFib3ZlLgorICogIE9oLCBhbmQgbWFrZSBzdXJlIHRvIHVubXV0ZSB0aGUgRk0gbWl4ZXIgY29udHJvbCAoZG9oISkKKyAqICBOT1RFOiBwb3dlciB1c2UgZHVyaW5nIE9QTDMgcGxheWJhY2sgaXMgX1ZFUllfIGhpZ2ggKDcwVyAtLT4gOTBXISkKKyAqICBkZXNwaXRlIG5vIENQVSBhY3Rpdml0eSwgcG9zc2libHkgZHVlIHRvIGhpbmRlcmluZyBBQ1BJIGlkbGluZyBzb21laG93LgorICogIFNob3VsZG4ndCBiZSBhIHByb2JsZW0gb2YgdGhlIEFaRjMzMjggY2hpcCBpdHNlbGYsIEknZCBob3BlLgorICogIEhpZ2hlciBQQ00gLyBGTSBtaXhlciBsZXZlbHMgc2VlbSB0byBjb25mbGljdCAoY2F1c2VzIGNyYWNrbGluZyksCisgKiAgYXQgbGVhc3Qgc29tZXRpbWVzLiAgIE1heWJlIGV2ZW4gdXNlIHdpdGggaGFyZHdhcmUgc2VxdWVuY2VyIHRpbWVyIGFib3ZlIDopCisgKiAgYWRwbGF5L2FkcGx1Zy11dGlscyBtaWdodCBzb29uIG9mZmVyIGhhcmR3YXJlLWJhc2VkIE9QTDMgcGxheWJhY2ssIHRvby4KKyAqCiAgKiAgQ2VydGFpbiBQQ0kgdmVyc2lvbnMgb2YgdGhpcyBjYXJkIGFyZSBzdXNjZXB0aWJsZSB0byBETUEgdHJhZmZpYyB1bmRlcnJ1bnMKICAqICBpbiBzb21lIHN5c3RlbXMgKHJlc3VsdGluZyBpbiBzb3VuZCBjcmFja2xpbmcvY2xpY2tpbmcvcG9wcGluZyksCiAgKiAgcHJvYmFibHkgYmVjYXVzZSB0aGV5IGRvbid0IGhhdmUgYSBETUEgRklGTyBidWZmZXIgb3Igc28uCkBAIC04Nyw2ICsxMjMsOCBAQAogICogIGJldHRlciB0aGFuIGEgVklBLCB5ZXQgaXJvbmljYWxseSBJIHN0aWxsIGdldCBjcmFja2xpbmcsIGxpa2UgbWFueSBvdGhlcgogICogIHBlb3BsZSB3aXRoIHRoZSBzYW1lIGNoaXBzZXQuCiAgKiAgUG9zc2libGUgcmVtZWRpZXM6CisgKiAgLSB1c2Ugc3BlYWtlciAoYW1wbGlmaWVyKSBvdXRwdXQgaW5zdGVhZCBvZiBoZWFkcGhvbmUgb3V0cHV0CisgKiAgICAoaW4gY2FzZSBjcmFja2xpbmcgaXMgZHVlIHRvIG92ZXJsb2FkZWQgb3V0cHV0IGNsaXBwaW5nKQogICogIC0gcGx1ZyBjYXJkIGludG8gYSBkaWZmZXJlbnQgUENJIHNsb3QsIHByZWZlcnJhYmx5IG9uZSB0aGF0IGlzbid0IHNoYXJlZAogICogICAgdG9vIG11Y2ggKHRoaXMgaGVscHMgYSBsb3QsIGJ1dCBub3QgY29tcGxldGVseSEpCiAgKiAgLSBnZXQgcmlkIG9mIFBDSSBWR0EgY2FyZCwgdXNlIEFHUCBpbnN0ZWFkCkBAIC05NCwxOCArMTMyLDIzIEBACiAgKiAgLSBmaWRkbGUgd2l0aCBQQ0kgbGF0ZW5jeSBzZXR0aW5ncyAoc2V0cGNpIC12IC1zIEJVU0lEIGxhdGVuY3lfdGltZXI9WFgpCiAgKiAgICBOb3QgdG9vIGhlbHBmdWwuCiAgKiAgLSBEaXNhYmxlIEFDUEkvcG93ZXIgbWFuYWdlbWVudC8iQXV0byBEZXRlY3QgUkFNL1BDSSBDbGsiIGluIEJJT1MKLSAqIAorICoKICAqIEJVR1MKLSAqICAtIGZ1bGwtZHVwbGV4IG1pZ2h0ICpzdGlsbCogYmUgcHJvYmxlbWF0aWMsIG5vdCBmdWxseSB0ZXN0ZWQgcmVjZW50bHkKKyAqICAtIGZ1bGwtZHVwbGV4IG1pZ2h0ICpzdGlsbCogYmUgcHJvYmxlbWF0aWMsIGhvd2V2ZXIgYSByZWNlbnQgdGVzdCB3YXMgZmluZQogICogIC0gKG5vbi1idWcpICJCYXNzL1RyZWJsZSBvciAzRCBzZXR0aW5ncyBkb24ndCB3b3JrIiAtIHRoZXkgZG8gZ2V0IGV2YWx1YXRlZAogICogICAgaWYgeW91IHNldCBQQ00gb3V0cHV0IHN3aXRjaCB0byAicHJlIDNEIiBpbnN0ZWFkIG9mICJwb3N0IDNEIi4KICAqICAgIElmIHRoaXMgY2FuJ3QgYmUgc2V0LCB0aGVuIGdldCBhIG1peGVyIGFwcGxpY2F0aW9uIHRoYXQgSXNuJ3QgU3R1cGlkICh0bSkKICAqICAgIChlLmcuIGttaXgsIGdhbWl4KSAtIHVuZm9ydHVuYXRlbHkgc2V2ZXJhbCBhcmUhIQotICogCisgKiAgLSBsb2NraW5nIGlzIG5vdCBlbnRpcmVseSBjbGVhbiwgZXNwZWNpYWxseSB0aGUgYXVkaW8gc3RyZWFtIGFjdGl2aXR5CisgKiAgICBpbnRzIC0tPiBtYXkgYmUgcmFjeQorICogIC0gYW4gX3VuY29ubmVjdGVkXyBzZWNvbmRhcnkgam95c3RpY2sgYXQgdGhlIGdhbWVwb3J0IHdpbGwgYmUgcmVwb3J0ZWQKKyAqICAgIHRvIGJlICJhY3RpdmUiIChmbG9hdGluZyB2YWx1ZXMsIG5vdCBwcmVjaXNlbHkgLTEpIGR1ZSB0byB0aGUgd2F5IHdlIG5lZWQKKyAqICAgIHRvIHJlYWQgdGhlIERpZ2l0YWwgRW5oYW5jZWQgR2FtZSBQb3J0LiBOb3Qgc3VyZSB3aGV0aGVyIGl0IGlzIGZpeGFibGUuCisgKgogICogVE9ETwogICogIC0gdGVzdCBNUFU0MDEgTUlESSBwbGF5YmFjayBldGMuCi0gKiAgLSBhZGQgc29tZSBwb3dlciBtaWNyby1tYW5hZ2VtZW50IChkaXNhYmxlIHZhcmlvdXMgdW5pdHMgb2YgdGhlIGNhcmQKLSAqICAgIGFzIGxvbmcgYXMgdGhleSdyZSB1bnVzZWQpLiBIb3dldmVyIHRoaXMgcmVxdWlyZXMgSS9PIHBvcnRzIHdoaWNoIEkKKyAqICAtIGFkZCBtb3JlIHBvd2VyIG1pY3JvLW1hbmFnZW1lbnQgKGRpc2FibGUgdmFyaW91cyB1bml0cyBvZiB0aGUgY2FyZAorICogICAgYXMgbG9uZyBhcyB0aGV5J3JlIHVudXNlZCkuIEhvd2V2ZXIgdGhpcyByZXF1aXJlcyBtb3JlIEkvTyBwb3J0cyB3aGljaCBJCiAgKiAgICBoYXZlbid0IGZpZ3VyZWQgb3V0IHlldCBhbmQgd2hpY2ggdGh1cyBtaWdodCBub3QgZXZlbiBleGlzdC4uLgogICogICAgVGhlIHN0YW5kYXJkIHN1c3BlbmQvcmVzdW1lIGZ1bmN0aW9uYWxpdHkgY291bGQgcHJvYmFibHkgbWFrZSB1c2Ugb2YKICAqICAgIHNvbWUgaW1wcm92ZW1lbnQsIHRvby4uLgpAQCAtMTEzLDYgKzE1Niw3IEBACiAgKiAgLSBmaWd1cmUgb3V0IHNvbWUgY2xldmVybHkgZXZpbCBzY2hlbWUgdG8gcG9zc2libHkgbWFrZSBBTFNBIEFDOTcgY29kZQogICogICAgZnVsbHkgYWNjZXB0IG91ciBxdWl0ZSBpbmNvbXBhdGlibGUgIiJBQzk3IiIgbWl4ZXIgYW5kIHRodXMgc2F2ZSBzb21lCiAgKiAgICBjb2RlIChidXQgSSdtIG5vdCB0b28gb3B0aW1pc3RpYyB0aGF0IGRvaW5nIHRoaXMgaXMgcG9zc2libGUgYXQgYWxsKQorICogIC0gdXNlIE1NSU8gKG1lbW9yeS1tYXBwZWQgSS9PKT8gU2xpZ2h0bHkgZmFzdGVyIGFjY2VzcywgZS5nLiBmb3IgZ2FtZXBvcnQuCiAgKi8KIAogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtMTM4LDcgKzE4Miw3IEBACiBNT0RVTEVfU1VQUE9SVEVEX0RFVklDRSgie3tBenRlY2gsQVpGMzMyOH19Iik7CiAKICNpZiBkZWZpbmVkKENPTkZJR19HQU1FUE9SVCkgfHwgKGRlZmluZWQoTU9EVUxFKSAmJiBkZWZpbmVkKENPTkZJR19HQU1FUE9SVF9NT0RVTEUpKQotI2RlZmluZSBTVVBQT1JUX0pPWVNUSUNLIDEKKyNkZWZpbmUgU1VQUE9SVF9HQU1FUE9SVCAxCiAjZW5kaWYKIAogI2RlZmluZSBERUJVR19NSVNDCTAKQEAgLTE0NywxMyArMTkxLDE0IEBACiAjZGVmaW5lIERFQlVHX1BMQVlfUkVDCTAKICNkZWZpbmUgREVCVUdfSU8JMAogI2RlZmluZSBERUJVR19USU1FUgkwCisjZGVmaW5lIERFQlVHX0dBTUUJMAogI2RlZmluZSBNSVhFUl9URVNUSU5HCTAKIAogI2lmIERFQlVHX01JU0MKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnbWlzYyhmb3JtYXQsIGFyZ3MuLi4pIHByaW50ayhLRVJOX0VSUiBmb3JtYXQsICMjYXJncykKICNlbHNlCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ21pc2MoZm9ybWF0LCBhcmdzLi4uKQotI2VuZGlmCQkKKyNlbmRpZgogCiAjaWYgREVCVUdfQ0FMTFMKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnY2FsbHMoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoZm9ybWF0LCAjI2FyZ3MpCkBAIC0xNjMsMjUgKzIwOCwzMSBAQAogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdjYWxscyhmb3JtYXQsIGFyZ3MuLi4pCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpCi0jZW5kaWYJCQorI2VuZGlmCiAKICNpZiBERUJVR19NSVhFUgogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdtaXhlcihmb3JtYXQsIGFyZ3MuLi4pIHByaW50ayhmb3JtYXQsICMjYXJncykKICNlbHNlCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ21peGVyKGZvcm1hdCwgYXJncy4uLikKLSNlbmRpZgkJCisjZW5kaWYKIAogI2lmIERFQlVHX1BMQVlfUkVDCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ3BsYXkoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoS0VSTl9FUlIgZm9ybWF0LCAjI2FyZ3MpCiAjZWxzZQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdwbGF5KGZvcm1hdCwgYXJncy4uLikKLSNlbmRpZgkJCisjZW5kaWYKIAogI2lmIERFQlVHX01JU0MKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJndGltZXIoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoS0VSTl9FUlIgZm9ybWF0LCAjI2FyZ3MpCiAjZWxzZQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmd0aW1lcihmb3JtYXQsIGFyZ3MuLi4pCi0jZW5kaWYJCQorI2VuZGlmCisKKyNpZiBERUJVR19HQU1FCisjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ2dhbWUoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoS0VSTl9FUlIgZm9ybWF0LCAjI2FyZ3MpCisjZWxzZQorI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdnYW1lKGZvcm1hdCwgYXJncy4uLikKKyNlbmRpZgogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOwkvKiBJbmRleCAwLU1BWCAqLwogbW9kdWxlX3BhcmFtX2FycmF5KGluZGV4LCBpbnQsIE5VTEwsIDA0NDQpOwpAQCAtMTk1LDUxICsyNDYsNjIgQEAKIG1vZHVsZV9wYXJhbV9hcnJheShlbmFibGUsIGJvb2wsIE5VTEwsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhlbmFibGUsICJFbmFibGUgQVpGMzMyOCBzb3VuZGNhcmQuIik7CiAKLSNpZmRlZiBTVVBQT1JUX0pPWVNUSUNLCi1zdGF0aWMgaW50IGpveXN0aWNrW1NORFJWX0NBUkRTXTsKLW1vZHVsZV9wYXJhbV9hcnJheShqb3lzdGljaywgYm9vbCwgTlVMTCwgMDQ0NCk7Ci1NT0RVTEVfUEFSTV9ERVNDKGpveXN0aWNrLCAiRW5hYmxlIGpveXN0aWNrIGZvciBBWkYzMzI4IHNvdW5kY2FyZC4iKTsKLSNlbmRpZgotCiBzdGF0aWMgaW50IHNlcXRpbWVyX3NjYWxpbmcgPSAxMjg7CiBtb2R1bGVfcGFyYW0oc2VxdGltZXJfc2NhbGluZywgaW50LCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0Moc2VxdGltZXJfc2NhbGluZywgIlNldCAxMDI0MDAwSHogc2VxdWVuY2VyIHRpbWVyIHNjYWxlIGZhY3RvciAobG9ja3VwIGRhbmdlciEpLiBEZWZhdWx0IDEyOC4iKTsKIAorc3RydWN0IHNuZF9hemYzMzI4X2F1ZGlvX3N0cmVhbSB7CisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisJaW50IGVuYWJsZWQ7CisJaW50IHJ1bm5pbmc7CisJdW5zaWduZWQgbG9uZyBwb3J0YmFzZTsKK307CisKK2VudW0gc25kX2F6ZjMzMjhfc3RyZWFtX2luZGV4IHsKKyAgQVpGX1BMQVlCQUNLID0gMCwKKyAgQVpGX0NBUFRVUkUgPSAxLAorfTsKKwogc3RydWN0IHNuZF9hemYzMzI4IHsKIAkvKiBvZnRlbi11c2VkIGZpZWxkcyB0b3dhcmRzIGJlZ2lubmluZywgdGhlbiBncm91cGVkICovCi0JdW5zaWduZWQgbG9uZyBjb2RlY19wb3J0OwotCXVuc2lnbmVkIGxvbmcgaW8yX3BvcnQ7Ci0JdW5zaWduZWQgbG9uZyBtcHVfcG9ydDsKLQl1bnNpZ25lZCBsb25nIHN5bnRoX3BvcnQ7Ci0JdW5zaWduZWQgbG9uZyBtaXhlcl9wb3J0OworCisJdW5zaWduZWQgbG9uZyBjb2RlY19pbzsgLyogdXN1YWxseSAweGIwMDAsIHNpemUgMTI4ICovCisJdW5zaWduZWQgbG9uZyBnYW1lX2lvOyAgLyogdXN1YWxseSAweGI0MDAsIHNpemUgOCAqLworCXVuc2lnbmVkIGxvbmcgbXB1X2lvOyAgIC8qIHVzdWFsbHkgMHhiODAwLCBzaXplIDQgKi8KKwl1bnNpZ25lZCBsb25nIG9wbDNfaW87IC8qIHVzdWFsbHkgMHhiYzAwLCBzaXplIDggKi8KKwl1bnNpZ25lZCBsb25nIG1peGVyX2lvOyAvKiB1c3VhbGx5IDB4YzAwMCwgc2l6ZSA2NCAqLwogCiAJc3BpbmxvY2tfdCByZWdfbG9jazsKIAogCXN0cnVjdCBzbmRfdGltZXIgKnRpbWVyOwotCQorCiAJc3RydWN0IHNuZF9wY20gKnBjbTsKLQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnBsYXliYWNrX3N1YnN0cmVhbTsKLQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKmNhcHR1cmVfc3Vic3RyZWFtOwotCXVuc2lnbmVkIGludCBpc19wbGF5aW5nOwotCXVuc2lnbmVkIGludCBpc19yZWNvcmRpbmc7CisJc3RydWN0IHNuZF9hemYzMzI4X2F1ZGlvX3N0cmVhbSBhdWRpb19zdHJlYW1bMl07CiAKIAlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7CiAJc3RydWN0IHNuZF9yYXdtaWRpICpybWlkaTsKIAotI2lmZGVmIFNVUFBPUlRfSk9ZU1RJQ0sKKyNpZmRlZiBTVVBQT1JUX0dBTUVQT1JUCiAJc3RydWN0IGdhbWVwb3J0ICpnYW1lcG9ydDsKKwlpbnQgYXhlc1s0XTsKICNlbmRpZgogCiAJc3RydWN0IHBjaV9kZXYgKnBjaTsKIAlpbnQgaXJxOwogCisJLyogcmVnaXN0ZXIgMHg2YSBpcyB3cml0ZS1vbmx5LCB0aHVzIG5lZWQgdG8gcmVtZW1iZXIgc2V0dGluZy4KKwkgKiBJZiB3ZSBuZWVkIHRvIGFkZCBtb3JlIHJlZ2lzdGVycyBoZXJlLCB0aGVuIHdlIG1pZ2h0IHRyeSB0byBmb2xkIHRoaXMKKwkgKiBpbnRvIHNvbWUgdHJhbnNwYXJlbnQgY29tYmluZWQgc2hhZG93IHJlZ2lzdGVyIGhhbmRsaW5nIHdpdGgKKwkgKiBDT05GSUdfUE0gcmVnaXN0ZXIgc3RvcmFnZSBiZWxvdywgYnV0IHRoYXQncyBzbGlnaHRseSBkaWZmaWN1bHQuICovCisJdTE2IHNoYWRvd19yZWdfY29kZWNfNkFIOworCiAjaWZkZWYgQ09ORklHX1BNCiAJLyogcmVnaXN0ZXIgdmFsdWUgY29udGFpbmVycyBmb3IgcG93ZXIgbWFuYWdlbWVudAogCSAqIE5vdGU6IG5vdCBhbHdheXMgZnVsbCBJL08gcmFuZ2UgcHJlc2VydmVkIChqdXN0IGxpa2UgV2luIGRyaXZlciEpICovCi0JdTE2IHNhdmVkX3JlZ3NfY29kZWMgW0FaRl9JT19TSVpFX0NPREVDX1BNIC8gMl07Ci0JdTE2IHNhdmVkX3JlZ3NfaW8yICAgW0FaRl9JT19TSVpFX0lPMl9QTSAvIDJdOwotCXUxNiBzYXZlZF9yZWdzX21wdSAgIFtBWkZfSU9fU0laRV9NUFVfUE0gLyAyXTsKLQl1MTYgc2F2ZWRfcmVnc19zeW50aFtBWkZfSU9fU0laRV9TWU5USF9QTSAvIDJdOworCXUxNiBzYXZlZF9yZWdzX2NvZGVjW0FaRl9JT19TSVpFX0NPREVDX1BNIC8gMl07CisJdTE2IHNhdmVkX3JlZ3NfZ2FtZSBbQVpGX0lPX1NJWkVfR0FNRV9QTSAvIDJdOworCXUxNiBzYXZlZF9yZWdzX21wdSAgW0FaRl9JT19TSVpFX01QVV9QTSAvIDJdOworCXUxNiBzYXZlZF9yZWdzX29wbDMgW0FaRl9JT19TSVpFX09QTDNfUE0gLyAyXTsKIAl1MTYgc2F2ZWRfcmVnc19taXhlcltBWkZfSU9fU0laRV9NSVhFUl9QTSAvIDJdOwogI2VuZGlmCiB9OwpAQCAtMjUyLDEyNiArMzE0LDE2NiBAQAogCiBNT0RVTEVfREVWSUNFX1RBQkxFKHBjaSwgc25kX2F6ZjMzMjhfaWRzKTsKIAotc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdTggdmFsdWUpCisKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X2lvX3JlZ19zZXRiKHVuc2lnbmVkIHJlZywgdTggbWFzaywgaW50IGRvX3NldCkKIHsKLQlvdXRiKHZhbHVlLCBjaGlwLT5jb2RlY19wb3J0ICsgcmVnKTsKKwl1OCBwcmV2ID0gaW5iKHJlZyksIG5ldzsKKworCW5ldyA9IChkb19zZXQpID8gKHByZXZ8bWFzaykgOiAocHJldiAmIH5tYXNrKTsKKwkvKiB3ZSBuZWVkIHRvIGFsd2F5cyB3cml0ZSB0aGUgbmV3IHZhbHVlIG5vIG1hdHRlciB3aGV0aGVyIGl0IGRpZmZlcnMKKwkgKiBvciBub3QsIHNpbmNlIHNvbWUgcmVnaXN0ZXIgYml0cyBkb24ndCBpbmRpY2F0ZSB0aGVpciBzZXR0aW5nICovCisJb3V0YihuZXcsIHJlZyk7CisJaWYgKG5ldyAhPSBwcmV2KQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2NvZGVjX291dGIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcsIHU4IHZhbHVlKQoreworCW91dGIodmFsdWUsIGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB1OAotc25kX2F6ZjMzMjhfY29kZWNfaW5iKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZykKK3NuZF9hemYzMzI4X2NvZGVjX2luYihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZykKIHsKLQlyZXR1cm4gaW5iKGNoaXAtPmNvZGVjX3BvcnQgKyByZWcpOworCXJldHVybiBpbmIoY2hpcC0+Y29kZWNfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X2NvZGVjX291dHcoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnLCB1MTYgdmFsdWUpCitzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1MTYgdmFsdWUpCiB7Ci0Jb3V0dyh2YWx1ZSwgY2hpcC0+Y29kZWNfcG9ydCArIHJlZyk7CisJb3V0dyh2YWx1ZSwgY2hpcC0+Y29kZWNfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHUxNgotc25kX2F6ZjMzMjhfY29kZWNfaW53KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZykKK3NuZF9hemYzMzI4X2NvZGVjX2ludyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZykKIHsKLQlyZXR1cm4gaW53KGNoaXAtPmNvZGVjX3BvcnQgKyByZWcpOworCXJldHVybiBpbncoY2hpcC0+Y29kZWNfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X2NvZGVjX291dGwoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnLCB1MzIgdmFsdWUpCitzbmRfYXpmMzMyOF9jb2RlY19vdXRsKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1MzIgdmFsdWUpCiB7Ci0Jb3V0bCh2YWx1ZSwgY2hpcC0+Y29kZWNfcG9ydCArIHJlZyk7CisJb3V0bCh2YWx1ZSwgY2hpcC0+Y29kZWNfaW8gKyByZWcpOworfQorCitzdGF0aWMgaW5saW5lIHUzMgorc25kX2F6ZjMzMjhfY29kZWNfaW5sKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnKQoreworCXJldHVybiBpbmwoY2hpcC0+Y29kZWNfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X2lvMl9vdXRiKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdTggdmFsdWUpCitzbmRfYXpmMzMyOF9nYW1lX291dGIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcsIHU4IHZhbHVlKQogewotCW91dGIodmFsdWUsIGNoaXAtPmlvMl9wb3J0ICsgcmVnKTsKKwlvdXRiKHZhbHVlLCBjaGlwLT5nYW1lX2lvICsgcmVnKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lX291dHcoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcsIHUxNiB2YWx1ZSkKK3sKKwlvdXR3KHZhbHVlLCBjaGlwLT5nYW1lX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB1OAotc25kX2F6ZjMzMjhfaW8yX2luYihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcpCitzbmRfYXpmMzMyOF9nYW1lX2luYihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZykKIHsKLQlyZXR1cm4gaW5iKGNoaXAtPmlvMl9wb3J0ICsgcmVnKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9taXhlcl9vdXR3KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdTE2IHZhbHVlKQotewotCW91dHcodmFsdWUsIGNoaXAtPm1peGVyX3BvcnQgKyByZWcpOworCXJldHVybiBpbmIoY2hpcC0+Z2FtZV9pbyArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTE2Ci1zbmRfYXpmMzMyOF9taXhlcl9pbncoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnKQorc25kX2F6ZjMzMjhfZ2FtZV9pbncoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCiB7Ci0JcmV0dXJuIGludyhjaGlwLT5taXhlcl9wb3J0ICsgcmVnKTsKKwlyZXR1cm4gaW53KGNoaXAtPmdhbWVfaW8gKyByZWcpOwogfQogCi1zdGF0aWMgdm9pZAotc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnLCBpbnQgZG9fbXV0ZSkKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfbWl4ZXJfb3V0dyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZywgdTE2IHZhbHVlKQogewotCXVuc2lnbmVkIGxvbmcgcG9ydGJhc2UgPSBjaGlwLT5taXhlcl9wb3J0ICsgcmVnICsgMTsKLQl1bnNpZ25lZCBjaGFyIG9sZHZhbDsKKwlvdXR3KHZhbHVlLCBjaGlwLT5taXhlcl9pbyArIHJlZyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTE2CitzbmRfYXpmMzMyOF9taXhlcl9pbncoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCit7CisJcmV0dXJuIGludyhjaGlwLT5taXhlcl9pbyArIHJlZyk7Cit9CisKKyNkZWZpbmUgQVpGX01VVEVfQklUIDB4ODAKKworc3RhdGljIGludAorc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAorCQkJICAgdW5zaWduZWQgcmVnLCBpbnQgZG9fbXV0ZQorKQoreworCXVuc2lnbmVkIGxvbmcgcG9ydGJhc2UgPSBjaGlwLT5taXhlcl9pbyArIHJlZyArIDE7CisJaW50IHVwZGF0ZWQ7CiAKIAkvKiB0aGUgbXV0ZSBiaXQgaXMgb24gdGhlICpzZWNvbmQqIChpLmUuIHJpZ2h0KSByZWdpc3RlciBvZiBhCiAJICogbGVmdC9yaWdodCBjaGFubmVsIHNldHRpbmcgKi8KLQlvbGR2YWwgPSBpbmIocG9ydGJhc2UpOwotCWlmIChkb19tdXRlKQotCQlvbGR2YWwgfD0gMHg4MDsKLQllbHNlCi0JCW9sZHZhbCAmPSB+MHg4MDsKLQlvdXRiKG9sZHZhbCwgcG9ydGJhc2UpOworCXVwZGF0ZWQgPSBzbmRfYXpmMzMyOF9pb19yZWdfc2V0Yihwb3J0YmFzZSwgQVpGX01VVEVfQklULCBkb19tdXRlKTsKKworCS8qIGluZGljYXRlIHdoZXRoZXIgaXQgd2FzIG11dGVkIGJlZm9yZSAqLworCXJldHVybiAoZG9fbXV0ZSkgPyAhdXBkYXRlZCA6IHVwZGF0ZWQ7CiB9CiAKIHN0YXRpYyB2b2lkCi1zbmRfYXpmMzMyOF9taXhlcl93cml0ZV92b2x1bWVfZ3JhZHVhbGx5KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdW5zaWduZWQgY2hhciBkc3Rfdm9sX2xlZnQsIHVuc2lnbmVkIGNoYXIgZHN0X3ZvbF9yaWdodCwgaW50IGNoYW5fc2VsLCBpbnQgZGVsYXkpCitzbmRfYXpmMzMyOF9taXhlcl93cml0ZV92b2x1bWVfZ3JhZHVhbGx5KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCQkJIHVuc2lnbmVkIHJlZywKKwkJCQkJIHVuc2lnbmVkIGNoYXIgZHN0X3ZvbF9sZWZ0LAorCQkJCQkgdW5zaWduZWQgY2hhciBkc3Rfdm9sX3JpZ2h0LAorCQkJCQkgaW50IGNoYW5fc2VsLCBpbnQgZGVsYXkKKykKIHsKLQl1bnNpZ25lZCBsb25nIHBvcnRiYXNlID0gY2hpcC0+bWl4ZXJfcG9ydCArIHJlZzsKKwl1bnNpZ25lZCBsb25nIHBvcnRiYXNlID0gY2hpcC0+bWl4ZXJfaW8gKyByZWc7CiAJdW5zaWduZWQgY2hhciBjdXJyX3ZvbF9sZWZ0ID0gMCwgY3Vycl92b2xfcmlnaHQgPSAwOwotCWludCBsZWZ0X2RvbmUgPSAwLCByaWdodF9kb25lID0gMDsKLQkKKwlpbnQgbGVmdF9jaGFuZ2UgPSAwLCByaWdodF9jaGFuZ2UgPSAwOworCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7Ci0JaWYgKGNoYW5fc2VsICYgU0VUX0NIQU5fTEVGVCkKKworCWlmIChjaGFuX3NlbCAmIFNFVF9DSEFOX0xFRlQpIHsKIAkJY3Vycl92b2xfbGVmdCAgPSBpbmIocG9ydGJhc2UgKyAxKTsKLQllbHNlCi0JCWxlZnRfZG9uZSA9IDE7Ci0JaWYgKGNoYW5fc2VsICYgU0VUX0NIQU5fUklHSFQpCisKKwkJLyogdGFrZSBjYXJlIG9mIG11dGluZyBmbGFnIGNvbnRhaW5lZCBpbiBsZWZ0IGNoYW5uZWwgKi8KKwkJaWYgKGN1cnJfdm9sX2xlZnQgJiBBWkZfTVVURV9CSVQpCisJCQlkc3Rfdm9sX2xlZnQgfD0gQVpGX01VVEVfQklUOworCQllbHNlCisJCQlkc3Rfdm9sX2xlZnQgJj0gfkFaRl9NVVRFX0JJVDsKKworCQlsZWZ0X2NoYW5nZSA9IChjdXJyX3ZvbF9sZWZ0ID4gZHN0X3ZvbF9sZWZ0KSA/IC0xIDogMTsKKwl9CisKKwlpZiAoY2hhbl9zZWwgJiBTRVRfQ0hBTl9SSUdIVCkgewogCQljdXJyX3ZvbF9yaWdodCA9IGluYihwb3J0YmFzZSArIDApOwotCWVsc2UKLQkJcmlnaHRfZG9uZSA9IDE7Ci0JCi0JLyogdGFrZSBjYXJlIG9mIG11dGluZyBmbGFnICgweDgwKSBjb250YWluZWQgaW4gbGVmdCBjaGFubmVsICovCi0JaWYgKGN1cnJfdm9sX2xlZnQgJiAweDgwKQotCQlkc3Rfdm9sX2xlZnQgfD0gMHg4MDsKLQllbHNlCi0JCWRzdF92b2xfbGVmdCAmPSB+MHg4MDsKKworCQlyaWdodF9jaGFuZ2UgPSAoY3Vycl92b2xfcmlnaHQgPiBkc3Rfdm9sX3JpZ2h0KSA/IC0xIDogMTsKKwl9CiAKIAlkbyB7Ci0JCWlmICghbGVmdF9kb25lKSB7Ci0JCQlpZiAoY3Vycl92b2xfbGVmdCA+IGRzdF92b2xfbGVmdCkKLQkJCQljdXJyX3ZvbF9sZWZ0LS07Ci0JCQllbHNlCi0JCQlpZiAoY3Vycl92b2xfbGVmdCA8IGRzdF92b2xfbGVmdCkKLQkJCQljdXJyX3ZvbF9sZWZ0Kys7Ci0JCQllbHNlCi0JCQkgICAgbGVmdF9kb25lID0gMTsKLQkJCW91dGIoY3Vycl92b2xfbGVmdCwgcG9ydGJhc2UgKyAxKTsKKwkJaWYgKGxlZnRfY2hhbmdlKSB7CisJCQlpZiAoY3Vycl92b2xfbGVmdCAhPSBkc3Rfdm9sX2xlZnQpIHsKKwkJCQljdXJyX3ZvbF9sZWZ0ICs9IGxlZnRfY2hhbmdlOworCQkJCW91dGIoY3Vycl92b2xfbGVmdCwgcG9ydGJhc2UgKyAxKTsKKwkJCX0gZWxzZQorCQkJICAgIGxlZnRfY2hhbmdlID0gMDsKIAkJfQotCQlpZiAoIXJpZ2h0X2RvbmUpIHsKLQkJCWlmIChjdXJyX3ZvbF9yaWdodCA+IGRzdF92b2xfcmlnaHQpCi0JCQkJY3Vycl92b2xfcmlnaHQtLTsKLQkJCWVsc2UKLQkJCWlmIChjdXJyX3ZvbF9yaWdodCA8IGRzdF92b2xfcmlnaHQpCi0JCQkJY3Vycl92b2xfcmlnaHQrKzsKLQkJCWVsc2UKLQkJCSAgICByaWdodF9kb25lID0gMTsKKwkJaWYgKHJpZ2h0X2NoYW5nZSkgeworCQkJaWYgKGN1cnJfdm9sX3JpZ2h0ICE9IGRzdF92b2xfcmlnaHQpIHsKKwkJCQljdXJyX3ZvbF9yaWdodCArPSByaWdodF9jaGFuZ2U7CisKIAkJCS8qIGR1cmluZyB2b2x1bWUgY2hhbmdlLCB0aGUgcmlnaHQgY2hhbm5lbCBpcyBjcmFja2xpbmcKIAkJCSAqIHNvbWV3aGF0IG1vcmUgdGhhbiB0aGUgbGVmdCBjaGFubmVsLCB1bmZvcnR1bmF0ZWx5LgogCQkJICogVGhpcyBzZWVtcyB0byBiZSBhIGhhcmR3YXJlIGlzc3VlLiAqLwotCQkJb3V0YihjdXJyX3ZvbF9yaWdodCwgcG9ydGJhc2UgKyAwKTsKKwkJCQlvdXRiKGN1cnJfdm9sX3JpZ2h0LCBwb3J0YmFzZSArIDApOworCQkJfSBlbHNlCisJCQkgICAgcmlnaHRfY2hhbmdlID0gMDsKIAkJfQogCQlpZiAoZGVsYXkpCiAJCQltZGVsYXkoZGVsYXkpOwotCX0gd2hpbGUgKCghbGVmdF9kb25lKSB8fCAoIXJpZ2h0X2RvbmUpKTsKKwl9IHdoaWxlICgobGVmdF9jaGFuZ2UpIHx8IChyaWdodF9jaGFuZ2UpKTsKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIH0KIApAQCAtMzc5LDcgKzQ4MSw3IEBACiAgKiBnZW5lcmFsIG1peGVyIGVsZW1lbnQKICAqLwogc3RydWN0IGF6ZjMzMjhfbWl4ZXJfcmVnIHsKLQl1bnNpZ25lZCBpbnQgcmVnOworCXVuc2lnbmVkIHJlZzsKIAl1bnNpZ25lZCBpbnQgbGNoYW5fc2hpZnQsIHJjaGFuX3NoaWZ0OwogCXVuc2lnbmVkIGludCBtYXNrOwogCXVuc2lnbmVkIGludCBpbnZlcnQ6IDE7CkBAIC01NDQsMTMgKzY0NiwxNCBAQAogCQkiTWl4IiwgIk1pYyIKIAl9OwogCXN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdGV4dHMzW10gPSB7Ci0gICAgICAgICAgICAgICAgIk1pYyIsICJDRCIsICJWaWRlbyIsICJBdXgiLAorCQkiTWljIiwgIkNEIiwgIlZpZGVvIiwgIkF1eCIsCiAJCSJMaW5lIiwgIk1peCIsICJNaXggTW9ubyIsICJQaG9uZSIKICAgICAgICAgfTsKIAlzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHRleHRzNFtdID0gewogCQkicHJlIDNEIiwgInBvc3QgM0QiCiAgICAgICAgIH07CiAJc3RydWN0IGF6ZjMzMjhfbWl4ZXJfcmVnIHJlZzsKKwljb25zdCBjaGFyICogY29uc3QgKnAgPSBOVUxMOwogCiAJc25kX2F6ZjMzMjhfbWl4ZXJfcmVnX2RlY29kZSgmcmVnLCBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSk7CiAgICAgICAgIHVpbmZvLT50eXBlID0gU05EUlZfQ1RMX0VMRU1fVFlQRV9FTlVNRVJBVEVEOwpAQCAtNTYxLDE4ICs2NjQsMjAgQEAKIAlpZiAocmVnLnJlZyA9PSBJRFhfTUlYRVJfQURWQ1RMMikgewogCQlzd2l0Y2gocmVnLmxjaGFuX3NoaWZ0KSB7CiAJCWNhc2UgODogLyogbW9kZW0gb3V0IHNlbCAqLwotCQkJc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHRleHRzMVt1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7CisJCQlwID0gdGV4dHMxOwogCQkJYnJlYWs7CiAJCWNhc2UgOTogLyogbW9ubyBzZWwgc291cmNlICovCi0JCQlzdHJjcHkodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQubmFtZSwgdGV4dHMyW3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dKTsKKwkJCXAgPSB0ZXh0czI7CiAJCQlicmVhazsKIAkJY2FzZSAxNTogLyogUENNIE91dCBQYXRoICovCi0JCQlzdHJjcHkodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQubmFtZSwgdGV4dHM0W3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dKTsKKwkJCXAgPSB0ZXh0czQ7CiAJCQlicmVhazsKIAkJfQogCX0gZWxzZQotICAgICAgICAJc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHRleHRzM1t1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXQotKTsKKwlpZiAocmVnLnJlZyA9PSBJRFhfTUlYRVJfUkVDX1NFTEVDVCkKKwkJcCA9IHRleHRzMzsKKworCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLCBwW3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dKTsKICAgICAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTU4Myw3ICs2ODgsNyBAQAogICAgICAgICBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CiAJc3RydWN0IGF6ZjMzMjhfbWl4ZXJfcmVnIHJlZzsKICAgICAgICAgdW5zaWduZWQgc2hvcnQgdmFsOwotICAgICAgICAKKwogCXNuZF9hemYzMzI4X21peGVyX3JlZ19kZWNvZGUoJnJlZywga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpOwogCXZhbCA9IHNuZF9hemYzMzI4X21peGVyX2ludyhjaGlwLCByZWcucmVnKTsKIAlpZiAocmVnLnJlZyA9PSBJRFhfTUlYRVJfUkVDX1NFTEVDVCkgewpAQCAtNjA1LDcgKzcxMCw3IEBACiAgICAgICAgIHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKIAlzdHJ1Y3QgYXpmMzMyOF9taXhlcl9yZWcgcmVnOwogCXVuc2lnbmVkIGludCBvcmVnLCBucmVnLCB2YWw7Ci0gICAgICAgIAorCiAJc25kX2F6ZjMzMjhfbWl4ZXJfcmVnX2RlY29kZSgmcmVnLCBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSk7CiAJb3JlZyA9IHNuZF9hemYzMzI4X21peGVyX2ludyhjaGlwLCByZWcucmVnKTsKIAl2YWwgPSBvcmVnOwpAQCAtNjMxLDkgKzczNiwxMSBAQAogc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNuZF9hemYzMzI4X21peGVyX2NvbnRyb2xzW10gX19kZXZpbml0ZGF0YSA9IHsKIAlBWkYzMzI4X01JWEVSX1NXSVRDSCgiTWFzdGVyIFBsYXliYWNrIFN3aXRjaCIsIElEWF9NSVhFUl9QTEFZX01BU1RFUiwgMTUsIDEpLAogCUFaRjMzMjhfTUlYRVJfVk9MX1NURVJFTygiTWFzdGVyIFBsYXliYWNrIFZvbHVtZSIsIElEWF9NSVhFUl9QTEFZX01BU1RFUiwgMHgxZiwgMSksCi0JQVpGMzMyOF9NSVhFUl9TV0lUQ0goIldhdmUgUGxheWJhY2sgU3dpdGNoIiwgSURYX01JWEVSX1dBVkVPVVQsIDE1LCAxKSwKLQlBWkYzMzI4X01JWEVSX1ZPTF9TVEVSRU8oIldhdmUgUGxheWJhY2sgVm9sdW1lIiwgSURYX01JWEVSX1dBVkVPVVQsIDB4MWYsIDEpLAotCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJXYXZlIDNEIEJ5cGFzcyBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfQURWQ1RMMiwgNywgMSksCisJQVpGMzMyOF9NSVhFUl9TV0lUQ0goIlBDTSBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfV0FWRU9VVCwgMTUsIDEpLAorCUFaRjMzMjhfTUlYRVJfVk9MX1NURVJFTygiUENNIFBsYXliYWNrIFZvbHVtZSIsCisJCQkJCUlEWF9NSVhFUl9XQVZFT1VULCAweDFmLCAxKSwKKwlBWkYzMzI4X01JWEVSX1NXSVRDSCgiUENNIDNEIEJ5cGFzcyBQbGF5YmFjayBTd2l0Y2giLAorCQkJCQlJRFhfTUlYRVJfQURWQ1RMMiwgNywgMSksCiAJQVpGMzMyOF9NSVhFUl9TV0lUQ0goIkZNIFBsYXliYWNrIFN3aXRjaCIsIElEWF9NSVhFUl9GTVNZTlRILCAxNSwgMSksCiAJQVpGMzMyOF9NSVhFUl9WT0xfU1RFUkVPKCJGTSBQbGF5YmFjayBWb2x1bWUiLCBJRFhfTUlYRVJfRk1TWU5USCwgMHgxZiwgMSksCiAJQVpGMzMyOF9NSVhFUl9TV0lUQ0goIkNEIFBsYXliYWNrIFN3aXRjaCIsIElEWF9NSVhFUl9DREFVRElPLCAxNSwgMSksCkBAIC03MTcsMTUgKzgyNCwxNiBAQAogCXNuZF9hemYzMzI4X21peGVyX291dHcoY2hpcCwgSURYX01JWEVSX1JFU0VULCAweDAwMDApOwogCiAJLyogbXV0ZSBhbmQgemVybyB2b2x1bWUgY2hhbm5lbHMgKi8KLQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2F6ZjMzMjhfaW5pdF92YWx1ZXMpOyBpZHgrKykgeworCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfYXpmMzMyOF9pbml0X3ZhbHVlcyk7ICsraWR4KSB7CiAJCXNuZF9hemYzMzI4X21peGVyX291dHcoY2hpcCwKIAkJCXNuZF9hemYzMzI4X2luaXRfdmFsdWVzW2lkeF1bMF0sCiAJCQlzbmRfYXpmMzMyOF9pbml0X3ZhbHVlc1tpZHhdWzFdKTsKIAl9Ci0JCisKIAkvKiBhZGQgbWl4ZXIgY29udHJvbHMgKi8KIAlzdyA9IHNuZF9hemYzMzI4X21peGVyX2NvbnRyb2xzOwotCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfYXpmMzMyOF9taXhlcl9jb250cm9scyk7IGlkeCsrLCBzdysrKSB7CisJZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHNuZF9hemYzMzI4X21peGVyX2NvbnRyb2xzKTsKKwkJCSsraWR4LCArK3N3KSB7CiAJCWlmICgoZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwgc25kX2N0bF9uZXcxKHN3LCBjaGlwKSkpIDwgMCkKIAkJCXJldHVybiBlcnI7CiAJfQpAQCAtNzU3LDkgKzg2NSw5IEBACiB9CiAKIHN0YXRpYyB2b2lkCi1zbmRfYXpmMzMyOF9zZXRmbXQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAotCQkJICAgICAgIHVuc2lnbmVkIGludCByZWcsCi0JCQkgICAgICAgdW5zaWduZWQgaW50IGJpdHJhdGUsCitzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAorCQkJICAgICAgIHVuc2lnbmVkIHJlZywKKwkJCSAgICAgICBlbnVtIGF6Zl9mcmVxX3QgYml0cmF0ZSwKIAkJCSAgICAgICB1bnNpZ25lZCBpbnQgZm9ybWF0X3dpZHRoLAogCQkJICAgICAgIHVuc2lnbmVkIGludCBjaGFubmVscwogKQpAQCAtNzY5LDI0ICs4NzcsMjUgQEAKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwogCXN3aXRjaCAoYml0cmF0ZSkgewotCWNhc2UgIDQwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF80MDAwOyBicmVhazsKLQljYXNlICA0ODAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDgwMDsgYnJlYWs7Ci0JY2FzZSAgNTUxMjogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNTUxMDsgYnJlYWs7IC8qIHRoZSBBWkYzMzI4IG5hbWVzIGl0ICI1NTEwIiBmb3Igc29tZSBzdHJhbmdlIHJlYXNvbiAqLwotCWNhc2UgIDY2MjA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzY2MjA7IGJyZWFrOwotCWNhc2UgIDgwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzgwMDA7IGJyZWFrOwotCWNhc2UgIDk2MDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzk2MDA7IGJyZWFrOwotCWNhc2UgMTEwMjU6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzExMDI1OyBicmVhazsKLQljYXNlIDEzMjQwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfMTMyNDA7IGJyZWFrOwotCWNhc2UgMTYwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzE2MDAwOyBicmVhazsKLQljYXNlIDIyMDUwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8yMjA1MDsgYnJlYWs7Ci0JY2FzZSAzMjAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMzIwMDA7IGJyZWFrOwotCWNhc2UgNDQxMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzQ0MTAwOyBicmVhazsKLQljYXNlIDQ4MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV80ODAwMDsgYnJlYWs7Ci0JY2FzZSA2NjIwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzY2MjAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzQwMDA6ICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDAwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV80ODAwOiAgdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzQ4MDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNTUxMjoKKwkJLyogdGhlIEFaRjMzMjggbmFtZXMgaXQgIjU1MTAiIGZvciBzb21lIHN0cmFuZ2UgcmVhc29uICovCisJCQkgICAgIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzU1MTA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNjYyMDogIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzY2MjA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfODAwMDogIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzgwMDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfOTYwMDogIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzk2MDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfMTEwMjU6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzExMDI1OyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzEzMjQwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfMTMyNDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfMTYwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzE2MDAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzIyMDUwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8yMjA1MDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV8zMjAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMzIwMDA7IGJyZWFrOwogCWRlZmF1bHQ6CiAJCXNuZF9wcmludGsoS0VSTl9XQVJOSU5HICJ1bmtub3duIGJpdHJhdGUgJWQsIGFzc3VtaW5nIDQ0LjFrSHohXG4iLCBiaXRyYXRlKTsKLQkJdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNDQxMDA7Ci0JCWJyZWFrOworCQkvKiBmYWxsLXRocm91Z2ggKi8KKwljYXNlIEFaRl9GUkVRXzQ0MTAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV80NDEwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV80ODAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNDgwMDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNjYyMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF82NjIwMDsgYnJlYWs7CiAJfQogCS8qIHZhbCA9IDB4ZmYwNzsgM20yNy45OTNzICg2NTMwMUh6OyAtPiA2NDAwMEh6Pz8/KSBobW0sIDY2MTIwLCA2NTk2NywgNjYxMjMgKi8KIAkvKiB2YWwgPSAweGZmMDk7IDE3bTE1LjA5OHMgKDEzMTIzLDQ3OEh6OyAtPiAxMjAwMEh6Pz8/KSBobW0sIDEzMjM3LjJIej8gKi8KQEAgLTgwNSwxMCArOTE0LDEwIEBACiAJCXZhbCB8PSBTT1VOREZPUk1BVF9GTEFHXzE2QklUOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7Ci0JCisKIAkvKiBzZXQgYml0cmF0ZS9mb3JtYXQgKi8KIAlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIHJlZywgdmFsKTsKLQkKKwogCS8qIGNoYW5naW5nIHRoZSBiaXRyYXRlL2Zvcm1hdCBzZXR0aW5ncyBzd2l0Y2hlcyBvZmYgdGhlCiAJICogYXVkaW8gb3V0cHV0IHdpdGggYW4gYW5ub3lpbmcgY2xpY2sgaW4gY2FzZSBvZiA4LzE2Yml0IGZvcm1hdCBjaGFuZ2UKIAkgKiAobWF5YmUgc2h1dHRpbmcgZG93biBEQUMvQURDPyksIHRodXMgaW1tZWRpYXRlbHkKQEAgLTgzMCwzMSArOTM5LDk1IEBACiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10X2xvd3Bvd2VyKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCSAgICB1bnNpZ25lZCByZWcKKykKK3sKKwkvKiBjaG9vc2UgbG93ZXN0IGZyZXF1ZW5jeSBmb3IgbG93IHBvd2VyIGNvbnN1bXB0aW9uLgorCSAqIFdoaWxlIHRoaXMgd2lsbCBjYXVzZSBsb3VkZXIgbm9pc2UgZHVlIHRvIHJhdGhlciBjb2Fyc2UgZnJlcXVlbmN5LAorCSAqIGl0IHNob3VsZCBuZXZlciBtYXR0ZXIgc2luY2Ugb3V0cHV0IHNob3VsZCBhbHdheXMKKwkgKiBnZXQgZGlzYWJsZWQgcHJvcGVybHkgd2hlbiBpZGxlIGFueXdheS4gKi8KKwlzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoY2hpcCwgcmVnLCBBWkZfRlJFUV80MDAwLCA4LCAxKTsKK30KKworc3RhdGljIHZvaWQKK3NuZF9hemYzMzI4X2NvZGVjX3JlZ182QUhfdXBkYXRlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCQkJdW5zaWduZWQgYml0bWFzaywKKwkJCQkJaW50IGVuYWJsZQorKQoreworCWlmIChlbmFibGUpCisJCWNoaXAtPnNoYWRvd19yZWdfY29kZWNfNkFIICY9IH5iaXRtYXNrOworCWVsc2UKKwkJY2hpcC0+c2hhZG93X3JlZ19jb2RlY182QUggfD0gYml0bWFzazsKKwlzbmRfYXpmMzMyOF9kYmdwbGF5KCI2QUhfdXBkYXRlIG1hc2sgMHglMDR4IGVuYWJsZSAlZDogdmFsIDB4JTA0eFxuIiwKKwkJCWJpdG1hc2ssIGVuYWJsZSwgY2hpcC0+c2hhZG93X3JlZ19jb2RlY182QUgpOworCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPXzZBSCwgY2hpcC0+c2hhZG93X3JlZ19jb2RlY182QUgpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2NvZGVjX2VuYWJsZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBlbmFibGUpCit7CisJc25kX2F6ZjMzMjhfZGJncGxheSgiY29kZWNfZW5hYmxlICVkXG4iLCBlbmFibGUpOworCS8qIG5vIGlkZWEgd2hhdCBleGFjdGx5IGlzIGJlaW5nIGRvbmUgaGVyZSwgYnV0IEkgc3Ryb25nbHkgYXNzdW1lIGl0J3MKKwkgKiBQTSByZWxhdGVkICovCisJc25kX2F6ZjMzMjhfY29kZWNfcmVnXzZBSF91cGRhdGUoCisJCWNoaXAsIElPXzZBX1BBVVNFX1BMQVlCQUNLX0JJVDgsIGVuYWJsZQorCSk7Cit9CisKK3N0YXRpYyB2b2lkCitzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCisJCQkJZW51bSBzbmRfYXpmMzMyOF9zdHJlYW1faW5kZXggc3RyZWFtX3R5cGUsCisJCQkJaW50IGVuYWJsZQorKQoreworCWludCBuZWVkX2NoYW5nZSA9IChjaGlwLT5hdWRpb19zdHJlYW1bc3RyZWFtX3R5cGVdLnJ1bm5pbmcgIT0gZW5hYmxlKTsKKworCXNuZF9hemYzMzI4X2RiZ3BsYXkoCisJCSJjb2RlY19hY3Rpdml0eTogdHlwZSAlZCwgZW5hYmxlICVkLCBuZWVkX2NoYW5nZSAlZFxuIiwKKwkJCQlzdHJlYW1fdHlwZSwgZW5hYmxlLCBuZWVkX2NoYW5nZQorCSk7CisJaWYgKG5lZWRfY2hhbmdlKSB7CisJCWVudW0gc25kX2F6ZjMzMjhfc3RyZWFtX2luZGV4IG90aGVyID0KKwkJCShzdHJlYW1fdHlwZSA9PSBBWkZfUExBWUJBQ0spID8KKwkJCQlBWkZfQ0FQVFVSRSA6IEFaRl9QTEFZQkFDSzsKKwkJLyogc21hbGwgY2hlY2sgdG8gcHJldmVudCBzaHV0dGluZyBkb3duIHRoZSBvdGhlciBwYXJ0eQorCQkgKiBpbiBjYXNlIGl0J3MgYWN0aXZlICovCisJCWlmICgoZW5hYmxlKSB8fCAhKGNoaXAtPmF1ZGlvX3N0cmVhbVtvdGhlcl0ucnVubmluZykpCisJCQlzbmRfYXpmMzMyOF9jb2RlY19lbmFibGUoY2hpcCwgZW5hYmxlKTsKKworCQkvKiAuLi5hbmQgYWRqdXN0IGNsb2NrLCB0b28KKwkJICogKHJlZHVjZSBub2lzZSBhbmQgcG93ZXIgY29uc3VtcHRpb24pICovCisJCWlmICghZW5hYmxlKQorCQkJc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10X2xvd3Bvd2VyKAorCQkJCWNoaXAsCisJCQkJY2hpcC0+YXVkaW9fc3RyZWFtW3N0cmVhbV90eXBlXS5wb3J0YmFzZQorCQkJCQkrIElEWF9JT19QTEFZX1NPVU5ERk9STUFUCisJCQkpOworCX0KKwljaGlwLT5hdWRpb19zdHJlYW1bc3RyZWFtX3R5cGVdLnJ1bm5pbmcgPSBlbmFibGU7Cit9CisKIHN0YXRpYyB2b2lkCiBzbmRfYXpmMzMyOF9zZXRkbWFhKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKIAkJCQlsb25nIHVuc2lnbmVkIGludCBhZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzaXplLAotCQkJCWludCBkb19yZWNvcmRpbmcpCisJCQkJZW51bSBzbmRfYXpmMzMyOF9zdHJlYW1faW5kZXggc3RyZWFtX3R5cGUKKykKIHsKLQl1bnNpZ25lZCBsb25nIGZsYWdzLCBwb3J0YmFzZTsKLQl1bnNpZ25lZCBpbnQgaXNfcnVubmluZzsKLQogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwotCWlmIChkb19yZWNvcmRpbmcpIHsKLQkJLyogYWNjZXNzIGNhcHR1cmUgcmVnaXN0ZXJzLCBpLmUuIHNraXAgcGxheWJhY2sgcmVnIHNlY3Rpb24gKi8KLQkJcG9ydGJhc2UgPSBjaGlwLT5jb2RlY19wb3J0ICsgMHgyMDsKLQkJaXNfcnVubmluZyA9IGNoaXAtPmlzX3JlY29yZGluZzsKLQl9IGVsc2UgewotCQkvKiBhY2Nlc3MgdGhlIHBsYXliYWNrIHJlZ2lzdGVyIHNlY3Rpb24gKi8KLQkJcG9ydGJhc2UgPSBjaGlwLT5jb2RlY19wb3J0ICsgMHgwMDsKLQkJaXNfcnVubmluZyA9IGNoaXAtPmlzX3BsYXlpbmc7Ci0JfQorCWlmICghY2hpcC0+YXVkaW9fc3RyZWFtW3N0cmVhbV90eXBlXS5ydW5uaW5nKSB7CisJCS8qIEFaRjMzMjggdXNlcyBhIHR3byBidWZmZXIgcG9pbnRlciBETUEgcGxheWJhY2sgYXBwcm9hY2ggKi8KIAotCS8qIEFaRjMzMjggdXNlcyBhIHR3byBidWZmZXIgcG9pbnRlciBETUEgcGxheWJhY2sgYXBwcm9hY2ggKi8KLQlpZiAoIWlzX3J1bm5pbmcpIHsKLQkJdW5zaWduZWQgbG9uZyBhZGRyX2FyZWEyOwotCQl1bnNpZ25lZCBsb25nIGNvdW50X2FyZWFzLCBjb3VudF90bXA7IC8qIHdpZHRoIDMyYml0IC0tIG92ZXJmbG93ISEgKi8KKwkJdW5zaWduZWQgbG9uZyBmbGFncywgcG9ydGJhc2UsIGFkZHJfYXJlYTI7CisKKwkJLyogd2lkdGggMzJiaXQgKHByZXZlbnQgb3ZlcmZsb3cpOiAqLworCQl1bnNpZ25lZCBsb25nIGNvdW50X2FyZWFzLCBjb3VudF90bXA7CisKKwkJcG9ydGJhc2UgPSBjaGlwLT5hdWRpb19zdHJlYW1bc3RyZWFtX3R5cGVdLnBvcnRiYXNlOwogCQljb3VudF9hcmVhcyA9IHNpemUvMjsKIAkJYWRkcl9hcmVhMiA9IGFkZHIrY291bnRfYXJlYXM7CiAJCWNvdW50X2FyZWFzLS07IC8qIG1heC4gaW5kZXggKi8KQEAgLTg4NCwxMSArMTA1NywxMSBAQAogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7CiAjaWYgMAotCXNuZF9hemYzMzI4X3NldGZtdChjaGlwLCBJRFhfSU9fUExBWV9TT1VOREZPUk1BVCwKKwlzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoY2hpcCwgSURYX0lPX1BMQVlfU09VTkRGT1JNQVQsCiAJCXJ1bnRpbWUtPnJhdGUsCiAJCXNuZF9wY21fZm9ybWF0X3dpZHRoKHJ1bnRpbWUtPmZvcm1hdCksCiAJCXJ1bnRpbWUtPmNoYW5uZWxzKTsKLQlzbmRfYXpmMzMyOF9zZXRkbWFhKGNoaXAsIHJ1bnRpbWUtPmRtYV9hZGRyLCBjb3VudCwgc2l6ZSwgMCk7CisJc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwgY291bnQsIHNpemUsIEFaRl9QTEFZQkFDSyk7CiAjZW5kaWYKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gMDsKQEAgLTkwNiwxMSArMTA3OSwxMSBAQAogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7CiAjaWYgMAotCXNuZF9hemYzMzI4X3NldGZtdChjaGlwLCBJRFhfSU9fUkVDX1NPVU5ERk9STUFULAorCXNuZF9hemYzMzI4X2NvZGVjX3NldGZtdChjaGlwLCBJRFhfSU9fUkVDX1NPVU5ERk9STUFULAogCQlydW50aW1lLT5yYXRlLAogCQlzbmRfcGNtX2Zvcm1hdF93aWR0aChydW50aW1lLT5mb3JtYXQpLAogCQlydW50aW1lLT5jaGFubmVscyk7Ci0Jc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwgY291bnQsIHNpemUsIDEpOworCXNuZF9hemYzMzI4X3NldGRtYWEoY2hpcCwgcnVudGltZS0+ZG1hX2FkZHIsIGNvdW50LCBzaXplLCBBWkZfQ0FQVFVSRSk7CiAjZW5kaWYKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gMDsKQEAgLTkyMyw2ICsxMDk2LDcgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwogCWludCByZXN1bHQgPSAwOwogCXVuc2lnbmVkIGludCBzdGF0dXMxOworCWludCBwcmV2aW91c2x5X211dGVkOwogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbHMoInNuZF9hemYzMzI4X3BsYXliYWNrX3RyaWdnZXIgY21kICVkXG4iLCBjbWQpOwogCkBAIC05MzAsMjAgKzExMDQsMjMgQEAKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVEFSVCBQTEFZQkFDS1xuIik7CiAKLQkJLyogbXV0ZSBXYXZlT3V0ICovCi0JCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAxKTsKKwkJLyogbXV0ZSBXYXZlT3V0IChhdm9pZCBjbGlja2luZyBkdXJpbmcgc2V0dXApICovCisJCXByZXZpb3VzbHlfbXV0ZWQgPQorCQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDEpOwogCi0JCXNuZF9hemYzMzI4X3NldGZtdChjaGlwLCBJRFhfSU9fUExBWV9TT1VOREZPUk1BVCwKKwkJc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10KGNoaXAsIElEWF9JT19QTEFZX1NPVU5ERk9STUFULAogCQkJcnVudGltZS0+cmF0ZSwKIAkJCXNuZF9wY21fZm9ybWF0X3dpZHRoKHJ1bnRpbWUtPmZvcm1hdCksCiAJCQlydW50aW1lLT5jaGFubmVscyk7CiAKIAkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7Ci0JCS8qIHN0b3AgcGxheWJhY2sgKi8KKwkJLyogZmlyc3QsIHJlbWVtYmVyIGN1cnJlbnQgdmFsdWU6ICovCiAJCXN0YXR1czEgPSBzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MpOworCisJCS8qIHN0b3AgcGxheWJhY2sgKi8KIAkJc3RhdHVzMSAmPSB+RE1BX1JFU1VNRTsKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUywgc3RhdHVzMSk7Ci0JICAgIAorCiAJCS8qIEZJWE1FOiBjbGVhciBpbnRlcnJ1cHRzIG9yIHdoYXQ/Pz8gKi8KIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUExBWV9JUlFUWVBFLCAweGZmZmYpOwogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwpAQCAtOTUxLDcgKzExMjgsNyBAQAogCQlzbmRfYXpmMzMyOF9zZXRkbWFhKGNoaXAsIHJ1bnRpbWUtPmRtYV9hZGRyLAogCQkJc25kX3BjbV9saWJfcGVyaW9kX2J5dGVzKHN1YnN0cmVhbSksCiAJCQlzbmRfcGNtX2xpYl9idWZmZXJfYnl0ZXMoc3Vic3RyZWFtKSwKLQkJCTApOworCQkJQVpGX1BMQVlCQUNLKTsKIAogCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKICNpZmRlZiBXSU45WApAQCAtOTc4LDMwICsxMTU1LDM1IEBACiAJCQlETUFfU09NRVRISU5HX0VMU0UpOwogI2VuZGlmCiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCXNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KGNoaXAsIEFaRl9QTEFZQkFDSywgMSk7CiAKIAkJLyogbm93IHVubXV0ZSBXYXZlT3V0ICovCi0JCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAwKTsKKwkJaWYgKCFwcmV2aW91c2x5X211dGVkKQorCQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDApOwogCi0JCWNoaXAtPmlzX3BsYXlpbmcgPSAxOwogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVEFSVEVEIFBMQVlCQUNLXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlJFU1VNRSBQTEFZQkFDS1xuIik7CiAJCS8qIHJlc3VtZSBwbGF5YmFjayBpZiB3ZSB3ZXJlIGFjdGl2ZSAqLwotCQlpZiAoY2hpcC0+aXNfcGxheWluZykKKwkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCWlmIChjaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5ydW5uaW5nKQogCQkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUywKIAkJCQlzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MpIHwgRE1BX1JFU1VNRSk7CisJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAJCWJyZWFrOwogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RPUCBQTEFZQkFDS1xuIik7CiAKLQkJLyogbXV0ZSBXYXZlT3V0ICovCi0JCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAxKTsKKwkJLyogbXV0ZSBXYXZlT3V0IChhdm9pZCBjbGlja2luZyBkdXJpbmcgc2V0dXApICovCisJCXByZXZpb3VzbHlfbXV0ZWQgPQorCQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDEpOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwotCQkvKiBzdG9wIHBsYXliYWNrICovCisJCS8qIGZpcnN0LCByZW1lbWJlciBjdXJyZW50IHZhbHVlOiAqLwogCQlzdGF0dXMxID0gc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTKTsKIAorCQkvKiBzdG9wIHBsYXliYWNrICovCiAJCXN0YXR1czEgJj0gfkRNQV9SRVNVTUU7CiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MsIHN0YXR1czEpOwogCkBAIC0xMDEzLDEwICsxMTk1LDEyIEBACiAJCXN0YXR1czEgJj0gfkRNQV9QTEFZX1NPTUVUSElORzE7CiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MsIHN0YXR1czEpOwogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwotCSAgICAKKwkJc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoY2hpcCwgQVpGX1BMQVlCQUNLLCAwKTsKKwogCQkvKiBub3cgdW5tdXRlIFdhdmVPdXQgKi8KLQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDApOwotCQljaGlwLT5pc19wbGF5aW5nID0gMDsKKwkJaWYgKCFwcmV2aW91c2x5X211dGVkKQorCQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDApOworCiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUT1BQRUQgUExBWUJBQ0tcbiIpOwogCQlicmVhazsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CkBAIC0xMDM1LDcgKzEyMTksNyBAQAogCQlwcmludGsoS0VSTl9FUlIgIkZJWE1FOiB1bmtub3duIHRyaWdnZXIgbW9kZSFcbiIpOwogICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCX0KLQkKKwogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiByZXN1bHQ7CiB9CkBAIC0xMDU3LDE3ICsxMjQxLDE5IEBACiAKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RBUlQgQ0FQVFVSRVxuIik7CiAKLQkJc25kX2F6ZjMzMjhfc2V0Zm10KGNoaXAsIElEWF9JT19SRUNfU09VTkRGT1JNQVQsCisJCXNuZF9hemYzMzI4X2NvZGVjX3NldGZtdChjaGlwLCBJRFhfSU9fUkVDX1NPVU5ERk9STUFULAogCQkJcnVudGltZS0+cmF0ZSwKIAkJCXNuZF9wY21fZm9ybWF0X3dpZHRoKHJ1bnRpbWUtPmZvcm1hdCksCiAJCQlydW50aW1lLT5jaGFubmVscyk7CiAKIAkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7Ci0JCS8qIHN0b3AgcmVjb3JkaW5nICovCisJCS8qIGZpcnN0LCByZW1lbWJlciBjdXJyZW50IHZhbHVlOiAqLwogCQlzdGF0dXMxID0gc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19SRUNfRkxBR1MpOworCisJCS8qIHN0b3AgcmVjb3JkaW5nICovCiAJCXN0YXR1czEgJj0gfkRNQV9SRVNVTUU7CiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1JFQ19GTEFHUywgc3RhdHVzMSk7Ci0JICAgIAorCiAJCS8qIEZJWE1FOiBjbGVhciBpbnRlcnJ1cHRzIG9yIHdoYXQ/Pz8gKi8KIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUkVDX0lSUVRZUEUsIDB4ZmZmZik7CiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CkBAIC0xMDc1LDcgKzEyNjEsNyBAQAogCQlzbmRfYXpmMzMyOF9zZXRkbWFhKGNoaXAsIHJ1bnRpbWUtPmRtYV9hZGRyLAogCQkJc25kX3BjbV9saWJfcGVyaW9kX2J5dGVzKHN1YnN0cmVhbSksCiAJCQlzbmRfcGNtX2xpYl9idWZmZXJfYnl0ZXMoc3Vic3RyZWFtKSwKLQkJCTEpOworCQkJQVpGX0NBUFRVUkUpOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwogI2lmZGVmIFdJTjlYCkBAIC0xMTAyLDI0ICsxMjg4LDI3IEBACiAJCQlETUFfU09NRVRISU5HX0VMU0UpOwogI2VuZGlmCiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCXNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KGNoaXAsIEFaRl9DQVBUVVJFLCAxKTsKIAotCQljaGlwLT5pc19yZWNvcmRpbmcgPSAxOwogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVEFSVEVEIENBUFRVUkVcbiIpOwogCQlicmVhazsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1JFU1VNRToKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiUkVTVU1FIENBUFRVUkVcbiIpOwogCQkvKiByZXN1bWUgcmVjb3JkaW5nIGlmIHdlIHdlcmUgYWN0aXZlICovCi0JCWlmIChjaGlwLT5pc19yZWNvcmRpbmcpCisJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOworCQlpZiAoY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5ydW5uaW5nKQogCQkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTLAogCQkJCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTKSB8IERNQV9SRVNVTUUpOworCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwogCQlicmVhazsKICAgICAgICAgY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVE9QIENBUFRVUkVcbiIpOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwotCQkvKiBzdG9wIHJlY29yZGluZyAqLworCQkvKiBmaXJzdCwgcmVtZW1iZXIgY3VycmVudCB2YWx1ZTogKi8KIAkJc3RhdHVzMSA9IHNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTKTsKIAorCQkvKiBzdG9wIHJlY29yZGluZyAqLwogCQlzdGF0dXMxICY9IH5ETUFfUkVTVU1FOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19SRUNfRkxBR1MsIHN0YXR1czEpOwogCkBAIC0xMTI5LDggKzEzMTgsOCBAQAogCQlzdGF0dXMxICY9IH5ETUFfUExBWV9TT01FVEhJTkcxOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19SRUNfRkxBR1MsIHN0YXR1czEpOwogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwotCSAgICAKLQkJY2hpcC0+aXNfcmVjb3JkaW5nID0gMDsKKwkJc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoY2hpcCwgQVpGX0NBUFRVUkUsIDApOworCiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUT1BQRUQgQ0FQVFVSRVxuIik7CiAJCWJyZWFrOwogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKQEAgLTExNDksNyArMTMzOCw3IEBACiAJCXByaW50ayhLRVJOX0VSUiAiRklYTUU6IHVua25vd24gdHJpZ2dlciBtb2RlIVxuIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAJfQotCQorCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTExNjIsMTEgKzEzNTEsMTEgQEAKIAlzbmRfcGNtX3VmcmFtZXNfdCBmcm1yZXM7CiAKICNpZmRlZiBRVUVSWV9IQVJEV0FSRQotCWJ1ZnB0ciA9IGlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19QTEFZX0RNQV9TVEFSVF8xKTsKKwlidWZwdHIgPSBzbmRfYXpmMzMyOF9jb2RlY19pbmwoY2hpcCwgSURYX0lPX1BMQVlfRE1BX1NUQVJUXzEpOwogI2Vsc2UKIAlidWZwdHIgPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hZGRyOwogI2VuZGlmCi0JcmVzdWx0ID0gaW5sKGNoaXAtPmNvZGVjX3BvcnQrSURYX0lPX1BMQVlfRE1BX0NVUlJQT1MpOworCXJlc3VsdCA9IHNuZF9hemYzMzI4X2NvZGVjX2lubChjaGlwLCBJRFhfSU9fUExBWV9ETUFfQ1VSUlBPUyk7CiAKIAkvKiBjYWxjdWxhdGUgb2Zmc2V0ICovCiAJcmVzdWx0IC09IGJ1ZnB0cjsKQEAgLTExODMsMTEgKzEzNzIsMTEgQEAKIAlzbmRfcGNtX3VmcmFtZXNfdCBmcm1yZXM7CiAKICNpZmRlZiBRVUVSWV9IQVJEV0FSRQotCWJ1ZnB0ciA9IGlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19SRUNfRE1BX1NUQVJUXzEpOworCWJ1ZnB0ciA9IHNuZF9hemYzMzI4X2NvZGVjX2lubChjaGlwLCBJRFhfSU9fUkVDX0RNQV9TVEFSVF8xKTsKICNlbHNlCiAJYnVmcHRyID0gc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYWRkcjsKICNlbmRpZgotCXJlc3VsdCA9IGlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19SRUNfRE1BX0NVUlJQT1MpOworCXJlc3VsdCA9IHNuZF9hemYzMzI4X2NvZGVjX2lubChjaGlwLCBJRFhfSU9fUkVDX0RNQV9DVVJSUE9TKTsKIAogCS8qIGNhbGN1bGF0ZSBvZmZzZXQgKi8KIAlyZXN1bHQgLT0gYnVmcHRyOwpAQCAtMTE5NiwyNyArMTM4NSwyNDEgQEAKIAlyZXR1cm4gZnJtcmVzOwogfQogCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZkZWYgU1VQUE9SVF9HQU1FUE9SVAorc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9pcnFfZW5hYmxlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGVuYWJsZSkKK3sKKwlzbmRfYXpmMzMyOF9pb19yZWdfc2V0YigKKwkJY2hpcC0+Z2FtZV9pbytJRFhfR0FNRV9IV0NPTkZJRywKKwkJR0FNRV9IV0NGR19JUlFfRU5BQkxFLAorCQllbmFibGUKKwkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2xlZ2FjeV9hZGRyZXNzX2VuYWJsZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBlbmFibGUpCit7CisJc25kX2F6ZjMzMjhfaW9fcmVnX3NldGIoCisJCWNoaXAtPmdhbWVfaW8rSURYX0dBTUVfSFdDT05GSUcsCisJCUdBTUVfSFdDRkdfTEVHQUNZX0FERFJFU1NfRU5BQkxFLAorCQllbmFibGUKKwkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2F4aXNfY2lyY3VpdF9lbmFibGUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZW5hYmxlKQoreworCXNuZF9hemYzMzI4X2NvZGVjX3JlZ182QUhfdXBkYXRlKAorCQljaGlwLCBJT182QV9TT01FVEhJTkcyX0dBTUVQT1JULCBlbmFibGUKKwkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2ludGVycnVwdChzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCit7CisJLyoKKwkgKiBza2VsZXRvbiBoYW5kbGVyIG9ubHkKKwkgKiAod2UgZG8gbm90IHdhbnQgYXhpcyByZWFkaW5nIGluIGludGVycnVwdCBoYW5kbGVyIC0gdG9vIG11Y2ggbG9hZCEpCisJICovCisJc25kX2F6ZjMzMjhfZGJnZ2FtZSgiZ2FtZXBvcnQgaXJxXG4iKTsKKworCSAvKiB0aGlzIHNob3VsZCBBQ0sgdGhlIGdhbWVwb3J0IElSUSBwcm9wZXJseSwgaG9wZWZ1bGx5LiAqLworCXNuZF9hemYzMzI4X2dhbWVfaW53KGNoaXAsIElEWF9HQU1FX0FYSVNfVkFMVUUpOworfQorCitzdGF0aWMgaW50CitzbmRfYXpmMzMyOF9nYW1lcG9ydF9vcGVuKHN0cnVjdCBnYW1lcG9ydCAqZ2FtZXBvcnQsIGludCBtb2RlKQoreworCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGdhbWVwb3J0X2dldF9wb3J0X2RhdGEoZ2FtZXBvcnQpOworCWludCByZXM7CisKKwlzbmRfYXpmMzMyOF9kYmdnYW1lKCJnYW1lcG9ydF9vcGVuLCBtb2RlICVkXG4iLCBtb2RlKTsKKwlzd2l0Y2ggKG1vZGUpIHsKKwljYXNlIEdBTUVQT1JUX01PREVfQ09PS0VEOgorCWNhc2UgR0FNRVBPUlRfTU9ERV9SQVc6CisJCXJlcyA9IDA7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJlcyA9IC0xOworCQlicmVhazsKKwl9CisKKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9heGlzX2NpcmN1aXRfZW5hYmxlKGNoaXAsIChyZXMgPT0gMCkpOworCisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2Nsb3NlKHN0cnVjdCBnYW1lcG9ydCAqZ2FtZXBvcnQpCit7CisJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZ2FtZXBvcnRfZ2V0X3BvcnRfZGF0YShnYW1lcG9ydCk7CisKKwlzbmRfYXpmMzMyOF9kYmdnYW1lKCJnYW1lcG9ydF9jbG9zZVxuIik7CisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfYXhpc19jaXJjdWl0X2VuYWJsZShjaGlwLCAwKTsKK30KKworc3RhdGljIGludAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfY29va2VkX3JlYWQoc3RydWN0IGdhbWVwb3J0ICpnYW1lcG9ydCwKKwkJCQkgaW50ICpheGVzLAorCQkJCSBpbnQgKmJ1dHRvbnMKKykKK3sKKwlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBnYW1lcG9ydF9nZXRfcG9ydF9kYXRhKGdhbWVwb3J0KTsKKwlpbnQgaTsKKwl1OCB2YWw7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNuZF9hc3NlcnQoY2hpcCwgcmV0dXJuIDApOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CisJdmFsID0gc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgSURYX0dBTUVfTEVHQUNZX0NPTVBBVElCTEUpOworCSpidXR0b25zID0gKH4odmFsKSA+PiA0KSAmIDB4ZjsKKworCS8qIG9rLCB0aGlzIG9uZSBpcyBhIGJpdCBkaXJ0eTogY29va2VkX3JlYWQgaXMgYmVpbmcgcG9sbGVkIGJ5IGEgdGltZXIsCisJICogdGh1cyB3ZSdyZSBhdG9taWMgYW5kIGNhbm5vdCBhY3RpdmVseSB3YWl0IGluIGhlcmUKKwkgKiAod2hpY2ggd291bGQgYmUgdXNlZnVsIGZvciB1cyBzaW5jZSBpdCBwcm9iYWJseSB3b3VsZCBiZSBiZXR0ZXIKKwkgKiB0byB0cmlnZ2VyIGEgbWVhc3VyZW1lbnQgaW4gaGVyZSwgdGhlbiB3YWl0IGEgc2hvcnQgYW1vdW50IG9mCisJICogdGltZSB1bnRpbCBpdCdzIGZpbmlzaGVkLCB0aGVuIHJlYWQgdmFsdWVzIG9mIF90aGlzXyBtZWFzdXJlbWVudCkuCisJICoKKwkgKiBUaHVzIHdlIHNpbXBseSByZXNvcnQgdG8gcmVhZGluZyB2YWx1ZXMgaWYgdGhleSdyZSBhdmFpbGFibGUgYWxyZWFkeQorCSAqIGFuZCB0cmlnZ2VyIHRoZSBuZXh0IG1lYXN1cmVtZW50LgorCSAqLworCisJdmFsID0gc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgSURYX0dBTUVfQVhFU19DT05GSUcpOworCWlmICh2YWwgJiBHQU1FX0FYRVNfU0FNUExJTkdfUkVBRFkpIHsKKwkJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgeworCQkJLyogY29uZmlndXJlIHRoZSBheGlzIHRvIHJlYWQgKi8KKwkJCXZhbCA9IChpIDw8IDQpIHwgMHgwZjsKKwkJCXNuZF9hemYzMzI4X2dhbWVfb3V0YihjaGlwLCBJRFhfR0FNRV9BWEVTX0NPTkZJRywgdmFsKTsKKworCQkJY2hpcC0+YXhlc1tpXSA9IHNuZF9hemYzMzI4X2dhbWVfaW53KAorCQkJCQkJY2hpcCwgSURYX0dBTUVfQVhJU19WQUxVRQorCQkJCQkpOworCQl9CisJfQorCisJLyogdHJpZ2dlciBuZXh0IGF4ZXMgc2FtcGxpbmcsIHRvIGJlIGV2YWx1YXRlZCB0aGUgbmV4dCB0aW1lIHdlCisJICogZW50ZXIgdGhpcyBmdW5jdGlvbiAqLworCisJLyogZm9yIHNvbWUgdmVyeSwgdmVyeSBzdHJhbmdlIHJlYXNvbiB3ZSBjYW5ub3QgZW5hYmxlCisJICogTWVhc3VyZW1lbnQgUmVhZHkgbW9uaXRvcmluZyBmb3IgYWxsIGF4ZXMgaGVyZSwKKwkgKiBhdCBsZWFzdCBub3Qgd2hlbiBvbmx5IG9uZSBqb3lzdGljayBjb25uZWN0ZWQgKi8KKwl2YWwgPSAweDAzOyAvKiB3ZSdyZSBhYmxlIHRvIG1vbml0b3IgYXhlcyAxIGFuZCAyIG9ubHkgKi8KKwlzbmRfYXpmMzMyOF9nYW1lX291dGIoY2hpcCwgSURYX0dBTUVfQVhFU19DT05GSUcsIHZhbCk7CisKKwlzbmRfYXpmMzMyOF9nYW1lX291dHcoY2hpcCwgSURYX0dBTUVfQVhJU19WQUxVRSwgMHhmZmZmKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOworCisJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeworCQlheGVzW2ldID0gY2hpcC0+YXhlc1tpXTsKKwkJaWYgKGF4ZXNbaV0gPT0gMHhmZmZmKQorCQkJYXhlc1tpXSA9IC0xOworCX0KKworCXNuZF9hemYzMzI4X2RiZ2dhbWUoImNvb2tlZF9yZWFkOiBheGVzICVkICVkICVkICVkIGJ1dHRvbnMgJWRcbiIsCisJCWF4ZXNbMF0sIGF4ZXNbMV0sIGF4ZXNbMl0sIGF4ZXNbM10sICpidXR0b25zCisJKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fZGV2aW5pdAorc25kX2F6ZjMzMjhfZ2FtZXBvcnQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZGV2KQoreworCXN0cnVjdCBnYW1lcG9ydCAqZ3A7CisKKwljaGlwLT5nYW1lcG9ydCA9IGdwID0gZ2FtZXBvcnRfYWxsb2NhdGVfcG9ydCgpOworCWlmICghZ3ApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJhenQzMzI4OiBjYW5ub3QgYWxsb2MgbWVtb3J5IGZvciBnYW1lcG9ydFxuIik7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCWdhbWVwb3J0X3NldF9uYW1lKGdwLCAiQVpGMzMyOCBHYW1lcG9ydCIpOworCWdhbWVwb3J0X3NldF9waHlzKGdwLCAicGNpJXMvZ2FtZXBvcnQwIiwgcGNpX25hbWUoY2hpcC0+cGNpKSk7CisJZ2FtZXBvcnRfc2V0X2Rldl9wYXJlbnQoZ3AsICZjaGlwLT5wY2ktPmRldik7CisJZ3AtPmlvID0gY2hpcC0+Z2FtZV9pbzsKKwlnYW1lcG9ydF9zZXRfcG9ydF9kYXRhKGdwLCBjaGlwKTsKKworCWdwLT5vcGVuID0gc25kX2F6ZjMzMjhfZ2FtZXBvcnRfb3BlbjsKKwlncC0+Y2xvc2UgPSBzbmRfYXpmMzMyOF9nYW1lcG9ydF9jbG9zZTsKKwlncC0+ZnV6eiA9IDE2OyAvKiBzZWVtcyBvayAqLworCWdwLT5jb29rZWRfcmVhZCA9IHNuZF9hemYzMzI4X2dhbWVwb3J0X2Nvb2tlZF9yZWFkOworCisJLyogRElTQUJMRSBsZWdhY3kgYWRkcmVzczogd2UgZG9uJ3QgbmVlZCBpdCEgKi8KKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9sZWdhY3lfYWRkcmVzc19lbmFibGUoY2hpcCwgMCk7CisKKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9heGlzX2NpcmN1aXRfZW5hYmxlKGNoaXAsIDApOworCisJZ2FtZXBvcnRfcmVnaXN0ZXJfcG9ydChjaGlwLT5nYW1lcG9ydCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2ZyZWUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQoreworCWlmIChjaGlwLT5nYW1lcG9ydCkgeworCQlnYW1lcG9ydF91bnJlZ2lzdGVyX3BvcnQoY2hpcC0+Z2FtZXBvcnQpOworCQljaGlwLT5nYW1lcG9ydCA9IE5VTEw7CisJfQorCXNuZF9hemYzMzI4X2dhbWVwb3J0X2lycV9lbmFibGUoY2hpcCwgMCk7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQKK3NuZF9hemYzMzI4X2dhbWVwb3J0KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGRldikgeyByZXR1cm4gLUVOT1NZUzsgfQorc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9mcmVlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkgeyB9CitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2ludGVycnVwdChzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCit7CisJcHJpbnRrKEtFUk5fV0FSTklORyAiaHVoLCBnYW1lIHBvcnQgSVJRIG9jY3VycmVkIT9cbiIpOworfQorI2VuZGlmIC8qIFNVUFBPUlRfR0FNRVBPUlQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9pcnFfbG9nX3Vua25vd25fdHlwZSh1OCB3aGljaCkKK3sKKwlzbmRfYXpmMzMyOF9kYmdwbGF5KAorCSJhenQzMzI4OiB1bmtub3duIElSUSB0eXBlICgleCkgb2NjdXJyZWQsIHBsZWFzZSByZXBvcnQhXG4iLAorCQl3aGljaAorCSk7Cit9CisKIHN0YXRpYyBpcnFyZXR1cm5fdAogc25kX2F6ZjMzMjhfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKIHsKIAlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBkZXZfaWQ7CiAJdTggc3RhdHVzLCB3aGljaDsKKyNpZiBERUJVR19QTEFZX1JFQwogCXN0YXRpYyB1bnNpZ25lZCBsb25nIGlycV9jb3VudDsKKyNlbmRpZgogCiAJc3RhdHVzID0gc25kX2F6ZjMzMjhfY29kZWNfaW5iKGNoaXAsIElEWF9JT19JUlFTVEFUVVMpOwogCiAgICAgICAgIC8qIGZhc3QgcGF0aCBvdXQsIHRvIGVhc2UgaW50ZXJydXB0IHNoYXJpbmcgKi8KLQlpZiAoIShzdGF0dXMgJiAoSVJRX1BMQVlCQUNLfElSUV9SRUNPUkRJTkd8SVJRX01QVTQwMXxJUlFfVElNRVIpKSkKKwlpZiAoIShzdGF0dXMgJgorCQkoSVJRX1BMQVlCQUNLfElSUV9SRUNPUkRJTkd8SVJRX0dBTUVQT1JUfElSUV9NUFU0MDF8SVJRX1RJTUVSKQorCSkpCiAJCXJldHVybiBJUlFfTk9ORTsgLyogbXVzdCBiZSBpbnRlcnJ1cHQgZm9yIGFub3RoZXIgZGV2aWNlICovCiAKLQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJJbnRlcnJ1cHQgJWxkIVxuSURYX0lPX1BMQVlfRkxBR1MgJTA0eCwgSURYX0lPX1BMQVlfSVJRVFlQRSAlMDR4LCBJRFhfSU9fSVJRU1RBVFVTICUwNHhcbiIsCi0JCWlycV9jb3VudCwKLQkJc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTKSwKLQkJc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0lSUVRZUEUpLAotCQlzdGF0dXMpOwotCQkKKwlzbmRfYXpmMzMyOF9kYmdwbGF5KAorCQkiaXJxX2NvdW50ICVsZCEgSURYX0lPX1BMQVlfRkxBR1MgJTA0eCwgIgorCQkiSURYX0lPX1BMQVlfSVJRVFlQRSAlMDR4LCBJRFhfSU9fSVJRU1RBVFVTICUwNHhcbiIsCisJCQlpcnFfY291bnQrKyAvKiBkZWJ1Zy1vbmx5ICovLAorCQkJc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTKSwKKwkJCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9JUlFUWVBFKSwKKwkJCXN0YXR1cworCSk7CisKIAlpZiAoc3RhdHVzICYgSVJRX1RJTUVSKSB7Ci0JCS8qIHNuZF9hemYzMzI4X2RiZ3BsYXkoInRpbWVyICVsZFxuIiwgaW5sKGNoaXAtPmNvZGVjX3BvcnQrSURYX0lPX1RJTUVSX1ZBTFVFKSAmIFRJTUVSX1ZBTFVFX01BU0spOyAqLworCQkvKiBzbmRfYXpmMzMyOF9kYmdwbGF5KCJ0aW1lciAlbGRcbiIsCisJCQlzbmRfYXpmMzMyOF9jb2RlY19pbmwoY2hpcCwgSURYX0lPX1RJTUVSX1ZBTFVFKQorCQkJCSYgVElNRVJfVkFMVUVfTUFTSworCQkpOyAqLwogCQlpZiAoY2hpcC0+dGltZXIpCiAJCQlzbmRfdGltZXJfaW50ZXJydXB0KGNoaXAtPnRpbWVyLCBjaGlwLT50aW1lci0+c3RpY2tzKTsKIAkJLyogQUNLIHRpbWVyICovCkBAIC0xMjMyLDE1ICsxNjM1LDIwIEBACiAJCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1BMQVlfSVJRVFlQRSwgd2hpY2gpOwogICAgICAgICAgICAgICAgCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAKLQkJaWYgKGNoaXAtPnBjbSAmJiBjaGlwLT5wbGF5YmFja19zdWJzdHJlYW0pIHsKLQkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtKTsKKwkJaWYgKGNoaXAtPnBjbSAmJiBjaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5zdWJzdHJlYW0pIHsKKwkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoCisJCQkJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10uc3Vic3RyZWFtCisJCQkpOwogCQkJc25kX2F6ZjMzMjhfZGJncGxheSgiUExBWSBwZXJpb2QgZG9uZSAoIyV4KSwgQCAleFxuIiwKIAkJCQl3aGljaCwKLQkJCQlpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUExBWV9ETUFfQ1VSUlBPUykpOworCQkJCXNuZF9hemYzMzI4X2NvZGVjX2lubCgKKwkJCQkJY2hpcCwgSURYX0lPX1BMQVlfRE1BX0NVUlJQT1MKKwkJCQkpCisJCQkpOwogCQl9IGVsc2UKLQkJCXNuZF9hemYzMzI4X2RiZ3BsYXkoImF6dDMzMjg6IG91Y2gsIGlycSBoYW5kbGVyIHByb2JsZW0hXG4iKTsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgImF6dDMzMjg6IGlycSBoYW5kbGVyIHByb2JsZW0hXG4iKTsKIAkJaWYgKHdoaWNoICYgSVJRX1BMQVlfU09NRVRISU5HKQotCQkJc25kX2F6ZjMzMjhfZGJncGxheSgiYXp0MzMyODogdW5rbm93biBwbGF5IElSUSB0eXBlIG9jY3VycmVkLCBwbGVhc2UgcmVwb3J0IVxuIik7CisJCQlzbmRfYXpmMzMyOF9pcnFfbG9nX3Vua25vd25fdHlwZSh3aGljaCk7CiAJfQogCWlmIChzdGF0dXMgJiBJUlFfUkVDT1JESU5HKSB7CiAgICAgICAgICAgICAgICAgc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CkBAIC0xMjQ5LDE2ICsxNjU3LDIzIEBACiAJCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1JFQ19JUlFUWVBFLCB3aGljaCk7CiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAKLQkJaWYgKGNoaXAtPnBjbSAmJiBjaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSkgewotCQkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChjaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSk7CisJCWlmIChjaGlwLT5wY20gJiYgY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5zdWJzdHJlYW0pIHsKKwkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoCisJCQkJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5zdWJzdHJlYW0KKwkJCSk7CiAJCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJSRUMgIHBlcmlvZCBkb25lICgjJXgpLCBAICV4XG4iLAogCQkJCXdoaWNoLAotCQkJCWlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19SRUNfRE1BX0NVUlJQT1MpKTsKKwkJCQlzbmRfYXpmMzMyOF9jb2RlY19pbmwoCisJCQkJCWNoaXAsIElEWF9JT19SRUNfRE1BX0NVUlJQT1MKKwkJCQkpCisJCQkpOwogCQl9IGVsc2UKLQkJCXNuZF9hemYzMzI4X2RiZ3BsYXkoImF6dDMzMjg6IG91Y2gsIGlycSBoYW5kbGVyIHByb2JsZW0hXG4iKTsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgImF6dDMzMjg6IGlycSBoYW5kbGVyIHByb2JsZW0hXG4iKTsKIAkJaWYgKHdoaWNoICYgSVJRX1JFQ19TT01FVEhJTkcpCi0JCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJhenQzMzI4OiB1bmtub3duIHJlYyBJUlEgdHlwZSBvY2N1cnJlZCwgcGxlYXNlIHJlcG9ydCFcbiIpOworCQkJc25kX2F6ZjMzMjhfaXJxX2xvZ191bmtub3duX3R5cGUod2hpY2gpOwogCX0KKwlpZiAoc3RhdHVzICYgSVJRX0dBTUVQT1JUKQorCQlzbmRfYXpmMzMyOF9nYW1lcG9ydF9pbnRlcnJ1cHQoY2hpcCk7CiAJLyogTVBVNDAxIGhhcyBsZXNzIGNyaXRpY2FsIElSUSByZXF1aXJlbWVudHMKIAkgKiB0aGFuIHRpbWVyIGFuZCBwbGF5YmFjay9yZWNvcmRpbmcsIHJpZ2h0PyAqLwogCWlmIChzdGF0dXMgJiBJUlFfTVBVNDAxKSB7CkBAIC0xMjY4LDcgKzE2ODMsNiBAQAogCQkgKiBJZiBzbywgdGhlbiBJIGRvbid0IGtub3cgaG93Li4uICovCiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoImF6dDMzMjg6IE1QVTQwMSBJUlFcbiIpOwogCX0KLQlpcnFfY291bnQrKzsKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKQEAgLTEyODcsOCArMTcwMSw4IEBACiAJLnJhdGVzID0JCVNORFJWX1BDTV9SQVRFXzU1MTIgfAogCQkJCVNORFJWX1BDTV9SQVRFXzgwMDBfNDgwMDAgfAogCQkJCVNORFJWX1BDTV9SQVRFX0tOT1QsCi0JLnJhdGVfbWluID0JCTQwMDAsCi0JLnJhdGVfbWF4ID0JCTY2MjAwLAorCS5yYXRlX21pbiA9CQlBWkZfRlJFUV80MDAwLAorCS5yYXRlX21heCA9CQlBWkZfRlJFUV82NjIwMCwKIAkuY2hhbm5lbHNfbWluID0JCTEsCiAJLmNoYW5uZWxzX21heCA9CQkyLAogCS5idWZmZXJfYnl0ZXNfbWF4ID0JNjU1MzYsCkBAIC0xMzE1LDggKzE3MjksOCBAQAogCS5yYXRlcyA9CQlTTkRSVl9QQ01fUkFURV81NTEyIHwKIAkJCQlTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwIHwKIAkJCQlTTkRSVl9QQ01fUkFURV9LTk9ULAotCS5yYXRlX21pbiA9CQk0MDAwLAotCS5yYXRlX21heCA9CQk2NjIwMCwKKwkucmF0ZV9taW4gPQkJQVpGX0ZSRVFfNDAwMCwKKwkucmF0ZV9tYXggPQkJQVpGX0ZSRVFfNjYyMDAsCiAJLmNoYW5uZWxzX21pbiA9CQkxLAogCS5jaGFubmVsc19tYXggPQkJMiwKIAkuYnVmZmVyX2J5dGVzX21heCA9CTY1NTM2LApAQCAtMTMyOSwxMCArMTc0MywyNCBAQAogCiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgc25kX2F6ZjMzMjhfZml4ZWRfcmF0ZXNbXSA9IHsKLQk0MDAwLCA0ODAwLCA1NTEyLCA2NjIwLCA4MDAwLCA5NjAwLCAxMTAyNSwgMTMyNDAsIDE2MDAwLCAyMjA1MCwgMzIwMDAsCi0JNDQxMDAsIDQ4MDAwLCA2NjIwMCB9OworCUFaRl9GUkVRXzQwMDAsCisJQVpGX0ZSRVFfNDgwMCwKKwlBWkZfRlJFUV81NTEyLAorCUFaRl9GUkVRXzY2MjAsCisJQVpGX0ZSRVFfODAwMCwKKwlBWkZfRlJFUV85NjAwLAorCUFaRl9GUkVRXzExMDI1LAorCUFaRl9GUkVRXzEzMjQwLAorCUFaRl9GUkVRXzE2MDAwLAorCUFaRl9GUkVRXzIyMDUwLAorCUFaRl9GUkVRXzMyMDAwLAorCUFaRl9GUkVRXzQ0MTAwLAorCUFaRl9GUkVRXzQ4MDAwLAorCUFaRl9GUkVRXzY2MjAwCit9OworCiBzdGF0aWMgc3RydWN0IHNuZF9wY21faHdfY29uc3RyYWludF9saXN0IHNuZF9hemYzMzI4X2h3X2NvbnN0cmFpbnRzX3JhdGVzID0gewotCS5jb3VudCA9IEFSUkFZX1NJWkUoc25kX2F6ZjMzMjhfZml4ZWRfcmF0ZXMpLCAKKwkuY291bnQgPSBBUlJBWV9TSVpFKHNuZF9hemYzMzI4X2ZpeGVkX3JhdGVzKSwKIAkubGlzdCA9IHNuZF9hemYzMzI4X2ZpeGVkX3JhdGVzLAogCS5tYXNrID0gMCwKIH07CkBAIC0xMzQ2LDcgKzE3NzQsNyBAQAogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQljaGlwLT5wbGF5YmFja19zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10uc3Vic3RyZWFtID0gc3Vic3RyZWFtOwogCXJ1bnRpbWUtPmh3ID0gc25kX2F6ZjMzMjhfcGxheWJhY2s7CiAJc25kX3BjbV9od19jb25zdHJhaW50X2xpc3QocnVudGltZSwgMCwgU05EUlZfUENNX0hXX1BBUkFNX1JBVEUsCiAJCQkJICAgJnNuZF9hemYzMzI4X2h3X2NvbnN0cmFpbnRzX3JhdGVzKTsKQEAgLTEzNjEsNyArMTc4OSw3IEBACiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwotCWNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtID0gc3Vic3RyZWFtOworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfQ0FQVFVSRV0uc3Vic3RyZWFtID0gc3Vic3RyZWFtOwogCXJ1bnRpbWUtPmh3ID0gc25kX2F6ZjMzMjhfY2FwdHVyZTsKIAlzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbGlzdChydW50aW1lLCAwLCBTTkRSVl9QQ01fSFdfUEFSQU1fUkFURSwKIAkJCQkgICAmc25kX2F6ZjMzMjhfaHdfY29uc3RyYWludHNfcmF0ZXMpOwpAQCAtMTM3NSw3ICsxODAzLDcgQEAKIAlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQljaGlwLT5wbGF5YmFja19zdWJzdHJlYW0gPSBOVUxMOworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnN1YnN0cmVhbSA9IE5VTEw7CiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIDA7CiB9CkBAIC0xMzg2LDcgKzE4MTQsNyBAQAogCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwotCWNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtID0gTlVMTDsKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX0NBUFRVUkVdLnN1YnN0cmVhbSA9IE5VTEw7CiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIDA7CiB9CkBAIC0xNDQxLDEwMiArMTg2OSw4IEBACiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLSNpZmRlZiBTVVBQT1JUX0pPWVNUSUNLCi1zdGF0aWMgaW50IF9fZGV2aW5pdAotc25kX2F6ZjMzMjhfY29uZmlnX2pveXN0aWNrKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGRldikKLXsKLQlzdHJ1Y3QgZ2FtZXBvcnQgKmdwOwotCXN0cnVjdCByZXNvdXJjZSAqcjsKLQotCWlmICgham95c3RpY2tbZGV2XSkKLQkJcmV0dXJuIC1FTk9ERVY7Ci0KLQlpZiAoIShyID0gcmVxdWVzdF9yZWdpb24oMHgyMDAsIDgsICJBWkYzMzI4IGdhbWVwb3J0IikpKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgImF6dDMzMjg6IGNhbm5vdCByZXNlcnZlIGpveXN0aWNrIHBvcnRzXG4iKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0KLQljaGlwLT5nYW1lcG9ydCA9IGdwID0gZ2FtZXBvcnRfYWxsb2NhdGVfcG9ydCgpOwotCWlmICghZ3ApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJhenQzMzI4OiBjYW5ub3QgYWxsb2NhdGUgbWVtb3J5IGZvciBnYW1lcG9ydFxuIik7Ci0JCXJlbGVhc2VfYW5kX2ZyZWVfcmVzb3VyY2Uocik7Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KLQotCWdhbWVwb3J0X3NldF9uYW1lKGdwLCAiQVpGMzMyOCBHYW1lcG9ydCIpOwotCWdhbWVwb3J0X3NldF9waHlzKGdwLCAicGNpJXMvZ2FtZXBvcnQwIiwgcGNpX25hbWUoY2hpcC0+cGNpKSk7Ci0JZ2FtZXBvcnRfc2V0X2Rldl9wYXJlbnQoZ3AsICZjaGlwLT5wY2ktPmRldik7Ci0JZ3AtPmlvID0gMHgyMDA7Ci0JZ2FtZXBvcnRfc2V0X3BvcnRfZGF0YShncCwgcik7Ci0KLQlzbmRfYXpmMzMyOF9pbzJfb3V0YihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSLAotCQkJICAgICAgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSKSB8IExFR0FDWV9KT1kpOwotCi0JZ2FtZXBvcnRfcmVnaXN0ZXJfcG9ydChjaGlwLT5nYW1lcG9ydCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQKLXNuZF9hemYzMzI4X2ZyZWVfam95c3RpY2soc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQotewotCWlmIChjaGlwLT5nYW1lcG9ydCkgewotCQlzdHJ1Y3QgcmVzb3VyY2UgKnIgPSBnYW1lcG9ydF9nZXRfcG9ydF9kYXRhKGNoaXAtPmdhbWVwb3J0KTsKLQotCQlnYW1lcG9ydF91bnJlZ2lzdGVyX3BvcnQoY2hpcC0+Z2FtZXBvcnQpOwotCQljaGlwLT5nYW1lcG9ydCA9IE5VTEw7Ci0JCS8qIGRpc2FibGUgZ2FtZXBvcnQgKi8KLQkJc25kX2F6ZjMzMjhfaW8yX291dGIoY2hpcCwgSURYX0lPMl9MRUdBQ1lfQUREUiwKLQkJCQkgICAgICBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIElEWF9JTzJfTEVHQUNZX0FERFIpICYgfkxFR0FDWV9KT1kpOwotCQlyZWxlYXNlX2FuZF9mcmVlX3Jlc291cmNlKHIpOwotCX0KLX0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIGludAotc25kX2F6ZjMzMjhfY29uZmlnX2pveXN0aWNrKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGRldikgeyByZXR1cm4gLUVOT1NZUzsgfQotc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9mcmVlX2pveXN0aWNrKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkgeyB9Ci0jZW5kaWYKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotc3RhdGljIGludAotc25kX2F6ZjMzMjhfZnJlZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCi17Ci0gICAgICAgIGlmIChjaGlwLT5pcnEgPCAwKQotICAgICAgICAgICAgICAgIGdvdG8gX19lbmRfaHc7Ci0KLQkvKiByZXNldCAoY2xvc2UpIG1peGVyICovCi0Jc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1BMQVlfTUFTVEVSLCAxKTsgLyogZmlyc3QgbXV0ZSBtYXN0ZXIgdm9sdW1lICovCi0Jc25kX2F6ZjMzMjhfbWl4ZXJfb3V0dyhjaGlwLCBJRFhfTUlYRVJfUkVTRVQsIDB4MDAwMCk7Ci0KLSAgICAgICAgLyogaW50ZXJydXB0IHNldHVwIC0gbWFzayBldmVyeXRoaW5nIChGSVhNRSEpICovCi0JLyogd2VsbCwgYXQgbGVhc3Qgd2Uga25vdyBob3cgdG8gZGlzYWJsZSB0aGUgdGltZXIgSVJRICovCi0Jc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fVElNRVJfVkFMVUUgKyAzLCAweDAwKTsKLQotCWlmIChjaGlwLT5pcnEgPj0gMCkKLSAgICAgICAgCXN5bmNocm9uaXplX2lycShjaGlwLT5pcnEpOwotX19lbmRfaHc6Ci0Jc25kX2F6ZjMzMjhfZnJlZV9qb3lzdGljayhjaGlwKTsKLSAgICAgICAgaWYgKGNoaXAtPmlycSA+PSAwKQotCQlmcmVlX2lycShjaGlwLT5pcnEsIGNoaXApOwotCXBjaV9yZWxlYXNlX3JlZ2lvbnMoY2hpcC0+cGNpKTsKLQlwY2lfZGlzYWJsZV9kZXZpY2UoY2hpcC0+cGNpKTsKLQotICAgICAgICBrZnJlZShjaGlwKTsKLSAgICAgICAgcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQKLXNuZF9hemYzMzI4X2Rldl9mcmVlKHN0cnVjdCBzbmRfZGV2aWNlICpkZXZpY2UpCi17Ci0Jc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZGV2aWNlLT5kZXZpY2VfZGF0YTsKLQlyZXR1cm4gc25kX2F6ZjMzMjhfZnJlZShjaGlwKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotLyoqKiBOT1RFOiB0aGUgcGh5c2ljYWwgdGltZXIgcmVzb2x1dGlvbiBhY3R1YWxseSBpcyAxMDI0MDAwIHRpY2tzIHBlciBzZWNvbmQsCisvKioqIE5PVEU6IHRoZSBwaHlzaWNhbCB0aW1lciByZXNvbHV0aW9uIGFjdHVhbGx5IGlzIDEwMjQwMDAgdGlja3MgcGVyIHNlY29uZAorICoqKiAocHJvYmFibHkgZGVyaXZlZCBmcm9tIG1haW4gY3J5c3RhbCB2aWEgYSBkaXZpZGVyIG9mIDI0KSwKICAqKiogYnV0IGFubm91bmNpbmcgdGhvc2UgYXR0cmlidXRlcyB0byB1c2VyLXNwYWNlIHdvdWxkIG1ha2UgcHJvZ3JhbXMKICAqKiogY29uZmlndXJlIHRoZSB0aW1lciB0byBhIDEgdGljayB2YWx1ZSwgcmVzdWx0aW5nIGluIGFuIGFic29sdXRlbHkgZmF0YWwKICAqKiogdGltZXIgSVJRIHN0b3JtLgpAQCAtMTU2NCw3ICsxODk4LDcgQEAKIAkJZGVsYXkgPSA0OTsgLyogbWluaW11bSB0aW1lIGlzIDQ5IHRpY2tzICovCiAJfQogCXNuZF9hemYzMzI4X2RiZ3RpbWVyKCJzZXR0aW5nIHRpbWVyIGNvdW50ZG93biB2YWx1ZSAlZCwgYWRkIENPVU5URE9XTnxJUlFcbiIsIGRlbGF5KTsKLQlkZWxheSB8PSBUSU1FUl9FTkFCTEVfQ09VTlRET1dOIHwgVElNRVJfRU5BQkxFX0lSUTsKKwlkZWxheSB8PSBUSU1FUl9DT1VOVERPV05fRU5BQkxFIHwgVElNRVJfSVJRX0VOQUJMRTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKIAlzbmRfYXpmMzMyOF9jb2RlY19vdXRsKGNoaXAsIElEWF9JT19USU1FUl9WQUxVRSwgZGVsYXkpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CkBAIC0xNTgyLDcgKzE5MTYsNyBAQAogCWNoaXAgPSBzbmRfdGltZXJfY2hpcCh0aW1lcik7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CiAJLyogZGlzYWJsZSB0aW1lciBjb3VudGRvd24gYW5kIGludGVycnVwdCAqLwotCS8qIEZJWE1FOiBzaG91bGQgd2Ugd3JpdGUgVElNRVJfQUNLX0lSUSBoZXJlPyAqLworCS8qIEZJWE1FOiBzaG91bGQgd2Ugd3JpdGUgVElNRVJfSVJRX0FDSyBoZXJlPyAqLwogCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1RJTUVSX1ZBTFVFICsgMywgMCk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKQEAgLTE2MjYsOSArMTk2MCwxMCBAQAogCiAJc25kX2F6ZjMzMjhfdGltZXJfaHcucmVzb2x1dGlvbiAqPSBzZXF0aW1lcl9zY2FsaW5nOwogCXNuZF9hemYzMzI4X3RpbWVyX2h3LnRpY2tzIC89IHNlcXRpbWVyX3NjYWxpbmc7Ci0JaWYgKChlcnIgPSBzbmRfdGltZXJfbmV3KGNoaXAtPmNhcmQsICJBWkYzMzI4IiwgJnRpZCwgJnRpbWVyKSkgPCAwKSB7CisKKwllcnIgPSBzbmRfdGltZXJfbmV3KGNoaXAtPmNhcmQsICJBWkYzMzI4IiwgJnRpZCwgJnRpbWVyKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXQ7Ci0JfQogCiAJc3RyY3B5KHRpbWVyLT5uYW1lLCAiQVpGMzMyOCB0aW1lciIpOwogCXRpbWVyLT5wcml2YXRlX2RhdGEgPSBjaGlwOwpAQCAtMTYzNiw2ICsxOTcxLDggQEAKIAogCWNoaXAtPnRpbWVyID0gdGltZXI7CiAKKwlzbmRfYXpmMzMyOF90aW1lcl9zdG9wKHRpbWVyKTsKKwogCWVyciA9IDA7CiAKIG91dDoKQEAgLTE2NDUsMTAgKzE5ODIsNDQgQEAKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAorc3RhdGljIGludAorc25kX2F6ZjMzMjhfZnJlZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCit7CisJaWYgKGNoaXAtPmlycSA8IDApCisJCWdvdG8gX19lbmRfaHc7CisKKwkvKiByZXNldCAoY2xvc2UpIG1peGVyOgorCSAqIGZpcnN0IG11dGUgbWFzdGVyIHZvbHVtZSwgdGhlbiByZXNldAorCSAqLworCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9QTEFZX01BU1RFUiwgMSk7CisJc25kX2F6ZjMzMjhfbWl4ZXJfb3V0dyhjaGlwLCBJRFhfTUlYRVJfUkVTRVQsIDB4MDAwMCk7CisKKwlzbmRfYXpmMzMyOF90aW1lcl9zdG9wKGNoaXAtPnRpbWVyKTsKKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9mcmVlKGNoaXApOworCisJaWYgKGNoaXAtPmlycSA+PSAwKQorCQlzeW5jaHJvbml6ZV9pcnEoY2hpcC0+aXJxKTsKK19fZW5kX2h3OgorCWlmIChjaGlwLT5pcnEgPj0gMCkKKwkJZnJlZV9pcnEoY2hpcC0+aXJxLCBjaGlwKTsKKwlwY2lfcmVsZWFzZV9yZWdpb25zKGNoaXAtPnBjaSk7CisJcGNpX2Rpc2FibGVfZGV2aWNlKGNoaXAtPnBjaSk7CisKKwlrZnJlZShjaGlwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorc25kX2F6ZjMzMjhfZGV2X2ZyZWUoc3RydWN0IHNuZF9kZXZpY2UgKmRldmljZSkKK3sKKwlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBkZXZpY2UtPmRldmljZV9kYXRhOworCXJldHVybiBzbmRfYXpmMzMyOF9mcmVlKGNoaXApOworfQorCiAjaWYgMAogLyogY2hlY2sgd2hldGhlciBhIGJpdCBjYW4gYmUgbW9kaWZpZWQgKi8KIHN0YXRpYyB2b2lkCi1zbmRfYXpmMzMyOF90ZXN0X2JpdCh1bnNpZ25lZCBpbnQgcmVnLCBpbnQgYml0KQorc25kX2F6ZjMzMjhfdGVzdF9iaXQodW5zaWduZWQgdW5zaWduZWQgcmVnLCBpbnQgYml0KQogewogCXVuc2lnbmVkIGNoYXIgdmFsLCB2YWxvZmYsIHZhbG9uOwogCkBAIC0xNjU5LDQyICsyMDMwLDc0IEBACiAKIAlvdXRiKHZhbHwoMSA8PCBiaXQpLCByZWcpOwogCXZhbG9uID0gaW5iKHJlZyk7Ci0JCisKIAlvdXRiKHZhbCwgcmVnKTsKIAotCXByaW50ayhLRVJOX0VSUiAicmVnICUwNHggYml0ICVkOiAlMDJ4ICUwMnggJTAyeFxuIiwgcmVnLCBiaXQsIHZhbCwgdmFsb2ZmLCB2YWxvbik7CisJcHJpbnRrKEtFUk5fRVJSICJyZWcgJTA0eCBiaXQgJWQ6ICUwMnggJTAyeCAlMDJ4XG4iLAorCQkJCXJlZywgYml0LCB2YWwsIHZhbG9mZiwgdmFsb24KKwkpOwogfQogI2VuZGlmCiAKLSNpZiBERUJVR19NSVNDCi1zdGF0aWMgdm9pZAorc3RhdGljIGlubGluZSB2b2lkCiBzbmRfYXpmMzMyOF9kZWJ1Z19zaG93X3BvcnRzKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkKIHsKKyNpZiBERUJVR19NSVNDCiAJdTE2IHRtcDsKIAotCXNuZF9hemYzMzI4X2RiZ21pc2MoImNvZGVjX3BvcnQgMHglbHgsIGlvMl9wb3J0IDB4JWx4LCBtcHVfcG9ydCAweCVseCwgc3ludGhfcG9ydCAweCVseCwgbWl4ZXJfcG9ydCAweCVseCwgaXJxICVkXG4iLCBjaGlwLT5jb2RlY19wb3J0LCBjaGlwLT5pbzJfcG9ydCwgY2hpcC0+bXB1X3BvcnQsIGNoaXAtPnN5bnRoX3BvcnQsIGNoaXAtPm1peGVyX3BvcnQsIGNoaXAtPmlycSk7CisJc25kX2F6ZjMzMjhfZGJnbWlzYygKKwkJImNvZGVjX2lvIDB4JWx4LCBnYW1lX2lvIDB4JWx4LCBtcHVfaW8gMHglbHgsICIKKwkJIm9wbDNfaW8gMHglbHgsIG1peGVyX2lvIDB4JWx4LCBpcnEgJWRcbiIsCisJCWNoaXAtPmNvZGVjX2lvLCBjaGlwLT5nYW1lX2lvLCBjaGlwLT5tcHVfaW8sCisJCWNoaXAtPm9wbDNfaW8sIGNoaXAtPm1peGVyX2lvLCBjaGlwLT5pcnEKKwkpOwogCi0Jc25kX2F6ZjMzMjhfZGJnbWlzYygiaW8yICUwMnggJTAyeCAlMDJ4ICUwMnggJTAyeCAlMDJ4XG4iLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDApLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDEpLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDIpLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDMpLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDQpLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDUpKTsKKwlzbmRfYXpmMzMyOF9kYmdtaXNjKCJnYW1lICUwMnggJTAyeCAlMDJ4ICUwMnggJTAyeCAlMDJ4XG4iLAorCQlzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCAwKSwKKwkJc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgMSksCisJCXNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIDIpLAorCQlzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCAzKSwKKwkJc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgNCksCisJCXNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIDUpCisJKTsKIAotCWZvciAodG1wPTA7IHRtcCA8PSAweDAxOyB0bXAgKz0gMSkKLQkJc25kX2F6ZjMzMjhfZGJnbWlzYygiMHglMDJ4OiBvcGwgMHglMDR4LCBtcHUzMDAgMHglMDR4LCBtcHUzMTAgMHglMDR4LCBtcHUzMjAgMHglMDR4LCBtcHUzMzAgMHglMDR4XG4iLCB0bXAsIGluYigweDM4OCArIHRtcCksIGluYigweDMwMCArIHRtcCksIGluYigweDMxMCArIHRtcCksIGluYigweDMyMCArIHRtcCksIGluYigweDMzMCArIHRtcCkpOworCWZvciAodG1wID0gMDsgdG1wIDwgMHgwNzsgdG1wICs9IDEpCisJCXNuZF9hemYzMzI4X2RiZ21pc2MoIm1wdV9pbyAweCUwNHhcbiIsIGluYihjaGlwLT5tcHVfaW8gKyB0bXApKTsKKworCWZvciAodG1wID0gMDsgdG1wIDw9IDB4MDc7IHRtcCArPSAxKQorCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCIweCUwMng6IGdhbWUyMDAgMHglMDR4LCBnYW1lMjA4IDB4JTA0eFxuIiwKKwkJCXRtcCwgaW5iKDB4MjAwICsgdG1wKSwgaW5iKDB4MjA4ICsgdG1wKSk7CisKKwlmb3IgKHRtcCA9IDA7IHRtcCA8PSAweDAxOyB0bXAgKz0gMSkKKwkJc25kX2F6ZjMzMjhfZGJnbWlzYygKKwkJCSIweCUwMng6IG1wdTMwMCAweCUwNHgsIG1wdTMxMCAweCUwNHgsIG1wdTMyMCAweCUwNHgsICIKKwkJCSJtcHUzMzAgMHglMDR4IG9wbDM4OCAweCUwNHggb3BsMzhjIDB4JTA0eFxuIiwKKwkJCQl0bXAsCisJCQkJaW5iKDB4MzAwICsgdG1wKSwKKwkJCQlpbmIoMHgzMTAgKyB0bXApLAorCQkJCWluYigweDMyMCArIHRtcCksCisJCQkJaW5iKDB4MzMwICsgdG1wKSwKKwkJCQlpbmIoMHgzODggKyB0bXApLAorCQkJCWluYigweDM4YyArIHRtcCkKKwkJKTsKIAogCWZvciAodG1wID0gMDsgdG1wIDwgQVpGX0lPX1NJWkVfQ09ERUM7IHRtcCArPSAyKQotCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJjb2RlYyAweCUwMng6IDB4JTA0eFxuIiwgdG1wLCBzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgdG1wKSk7CisJCXNuZF9hemYzMzI4X2RiZ21pc2MoImNvZGVjIDB4JTAyeDogMHglMDR4XG4iLAorCQkJdG1wLCBzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgdG1wKQorCQkpOwogCiAJZm9yICh0bXAgPSAwOyB0bXAgPCBBWkZfSU9fU0laRV9NSVhFUjsgdG1wICs9IDIpCi0JCXNuZF9hemYzMzI4X2RiZ21pc2MoIm1peGVyIDB4JTAyeDogMHglMDR4XG4iLCB0bXAsIHNuZF9hemYzMzI4X21peGVyX2ludyhjaGlwLCB0bXApKTsKKwkJc25kX2F6ZjMzMjhfZGJnbWlzYygibWl4ZXIgMHglMDJ4OiAweCUwNHhcbiIsCisJCQl0bXAsIHNuZF9hemYzMzI4X21peGVyX2ludyhjaGlwLCB0bXApCisJCSk7CisjZW5kaWYgLyogREVCVUdfTUlTQyAqLwogfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfZGVidWdfc2hvd19wb3J0cyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApIHt9Ci0jZW5kaWYKIAogc3RhdGljIGludCBfX2RldmluaXQKIHNuZF9hemYzMzI4X2NyZWF0ZShzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwY2lfZGV2ICpwY2ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZGV2aWNlX3R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzbmRfYXpmMzMyOCAqKiByY2hpcCkKKwkJICAgc3RydWN0IHBjaV9kZXYgKnBjaSwKKwkJICAgdW5zaWduZWQgbG9uZyBkZXZpY2VfdHlwZSwKKwkJICAgc3RydWN0IHNuZF9hemYzMzI4ICoqcmNoaXApCiB7CiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwOwogCWludCBlcnI7CkBAIC0xNzA1LDcgKzIxMDgsOCBAQAogCiAJKnJjaGlwID0gTlVMTDsKIAotCWlmICgoZXJyID0gcGNpX2VuYWJsZV9kZXZpY2UocGNpKSkgPCAwKQorCWVyciA9IHBjaV9lbmFibGVfZGV2aWNlKHBjaSk7CisJaWYgKGVyciA8IDApCiAJCXJldHVybiBlcnI7CiAKIAljaGlwID0ga3phbGxvYyhzaXplb2YoKmNoaXApLCBHRlBfS0VSTkVMKTsKQEAgLTE3MjEsMjAgKzIxMjUsMjUgQEAKIAkvKiBjaGVjayBpZiB3ZSBjYW4gcmVzdHJpY3QgUENJIERNQSB0cmFuc2ZlcnMgdG8gMjQgYml0cyAqLwogCWlmIChwY2lfc2V0X2RtYV9tYXNrKHBjaSwgRE1BXzI0QklUX01BU0spIDwgMCB8fAogCSAgICBwY2lfc2V0X2NvbnNpc3RlbnRfZG1hX21hc2socGNpLCBETUFfMjRCSVRfTUFTSykgPCAwKSB7Ci0JCXNuZF9wcmludGsoS0VSTl9FUlIgImFyY2hpdGVjdHVyZSBkb2VzIG5vdCBzdXBwb3J0IDI0Yml0IFBDSSBidXNtYXN0ZXIgRE1BXG4iKTsKKwkJc25kX3ByaW50ayhLRVJOX0VSUiAiYXJjaGl0ZWN0dXJlIGRvZXMgbm90IHN1cHBvcnQgIgorCQkJCQkiMjRiaXQgUENJIGJ1c21hc3RlciBETUFcbiIKKwkJKTsKIAkJZXJyID0gLUVOWElPOwogCQlnb3RvIG91dF9lcnI7CiAJfQogCi0JaWYgKChlcnIgPSBwY2lfcmVxdWVzdF9yZWdpb25zKHBjaSwgIkF6dGVjaCBBWkYzMzI4IikpIDwgMCkgeworCWVyciA9IHBjaV9yZXF1ZXN0X3JlZ2lvbnMocGNpLCAiQXp0ZWNoIEFaRjMzMjgiKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAotCWNoaXAtPmNvZGVjX3BvcnQgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAwKTsKLQljaGlwLT5pbzJfcG9ydCAgID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMSk7Ci0JY2hpcC0+bXB1X3BvcnQgICA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDIpOwotCWNoaXAtPnN5bnRoX3BvcnQgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAzKTsKLQljaGlwLT5taXhlcl9wb3J0ID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgNCk7CisJY2hpcC0+Y29kZWNfaW8gPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAwKTsKKwljaGlwLT5nYW1lX2lvICA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDEpOworCWNoaXAtPm1wdV9pbyAgID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMik7CisJY2hpcC0+b3BsM19pbyA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDMpOworCWNoaXAtPm1peGVyX2lvID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgNCk7CisKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5wb3J0YmFzZSA9IGNoaXAtPmNvZGVjX2lvICsgMHgwMDsKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX0NBUFRVUkVdLnBvcnRiYXNlICAgPSBjaGlwLT5jb2RlY19pbyArIDB4MjA7CiAKIAlpZiAocmVxdWVzdF9pcnEocGNpLT5pcnEsIHNuZF9hemYzMzI4X2ludGVycnVwdCwKIAkJCUlSUUZfU0hBUkVELCBjYXJkLT5zaG9ydG5hbWUsIGNoaXApKSB7CkBAIC0xNzQ3LDI5ICsyMTU2LDI5IEBACiAJc3luY2hyb25pemVfaXJxKGNoaXAtPmlycSk7CiAKIAlzbmRfYXpmMzMyOF9kZWJ1Z19zaG93X3BvcnRzKGNoaXApOwotCQotCWlmICgoZXJyID0gc25kX2RldmljZV9uZXcoY2FyZCwgU05EUlZfREVWX0xPV0xFVkVMLCBjaGlwLCAmb3BzKSkgPCAwKSB7CisKKwllcnIgPSBzbmRfZGV2aWNlX25ldyhjYXJkLCBTTkRSVl9ERVZfTE9XTEVWRUwsIGNoaXAsICZvcHMpOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7Ci0JfQogCiAJLyogY3JlYXRlIG1peGVyIGludGVyZmFjZSAmIHN3aXRjaGVzICovCi0JaWYgKChlcnIgPSBzbmRfYXpmMzMyOF9taXhlcl9uZXcoY2hpcCkpIDwgMCkKKwllcnIgPSBzbmRfYXpmMzMyOF9taXhlcl9uZXcoY2hpcCk7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKIAotI2lmIDAKLQkvKiBzZXQgdmVyeSBsb3cgYml0cmF0ZSB0byByZWR1Y2Ugbm9pc2UgYW5kIHBvd2VyIGNvbnN1bXB0aW9uPyAqLwotCXNuZF9hemYzMzI4X3NldGZtdChjaGlwLCBJRFhfSU9fUExBWV9TT1VOREZPUk1BVCwgNTUxMiwgOCwgMSk7Ci0jZW5kaWYKKwkvKiBzaHV0ZG93biBjb2RlY3MgdG8gc2F2ZSBwb3dlciAqLworCQkvKiBoYXZlIHNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KCkgYWN0IHByb3Blcmx5ICovCisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10ucnVubmluZyA9IDE7CisJc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoY2hpcCwgQVpGX1BMQVlCQUNLLCAwKTsKIAogCS8qIHN0YW5kYXJkIGNoaXAgaW5pdCBzdHVmZiAqLwotCS8qIGRlZmF1bHQgSVJRIGluaXQgdmFsdWUgKi8KKwkJLyogZGVmYXVsdCBJUlEgaW5pdCB2YWx1ZSAqLwogCXRtcCA9IERNQV9QTEFZX1NPTUVUSElORzJ8RE1BX0VQSUxPR1VFX1NPTUVUSElOR3xETUFfU09NRVRISU5HX0VMU0U7CiAKIAlzcGluX2xvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fUExBWV9GTEFHUywgdG1wKTsKIAlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19SRUNfRkxBR1MsIHRtcCk7CiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fU09NRVRISU5HX0ZMQUdTLCB0bXApOwotCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1RJTUVSX1ZBTFVFICsgMywgMHgwMCk7IC8qIGRpc2FibGUgdGltZXIgKi8KIAlzcGluX3VubG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKIAogCXNuZF9jYXJkX3NldF9kZXYoY2FyZCwgJnBjaS0+ZGV2KTsKQEAgLTE4MDUsNTIgKzIyMTQsNjEgQEAKIAkJcmV0dXJuIC1FTk9FTlQ7CiAJfQogCi0JY2FyZCA9IHNuZF9jYXJkX25ldyhpbmRleFtkZXZdLCBpZFtkZXZdLCBUSElTX01PRFVMRSwgMCApOworCWNhcmQgPSBzbmRfY2FyZF9uZXcoaW5kZXhbZGV2XSwgaWRbZGV2XSwgVEhJU19NT0RVTEUsIDApOwogCWlmIChjYXJkID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCiAJc3RyY3B5KGNhcmQtPmRyaXZlciwgIkFaRjMzMjgiKTsKIAlzdHJjcHkoY2FyZC0+c2hvcnRuYW1lLCAiQXp0ZWNoIEFaRjMzMjggKFBDSTE2OCkiKTsKIAotICAgICAgICBpZiAoKGVyciA9IHNuZF9hemYzMzI4X2NyZWF0ZShjYXJkLCBwY2ksIHBjaV9pZC0+ZHJpdmVyX2RhdGEsICZjaGlwKSkgPCAwKSB7CisJZXJyID0gc25kX2F6ZjMzMjhfY3JlYXRlKGNhcmQsIHBjaSwgcGNpX2lkLT5kcml2ZXJfZGF0YSwgJmNoaXApOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7Ci0JfQogCiAJY2FyZC0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKIAotCWlmICgoZXJyID0gc25kX21wdTQwMV91YXJ0X25ldyggY2FyZCwgMCwgTVBVNDAxX0hXX01QVTQwMSwKLQkJCQkgICAgICAgIGNoaXAtPm1wdV9wb3J0LCBNUFU0MDFfSU5GT19JTlRFR1JBVEVELAotCQkJCQlwY2ktPmlycSwgMCwgJmNoaXAtPnJtaWRpKSkgPCAwKSB7Ci0JCXNuZF9wcmludGsoS0VSTl9FUlIgImF6ZjMzMjg6IG5vIE1QVS00MDEgZGV2aWNlIGF0IDB4JWx4P1xuIiwgY2hpcC0+bXB1X3BvcnQpOworCWVyciA9IHNuZF9tcHU0MDFfdWFydF9uZXcoCisJCWNhcmQsIDAsIE1QVTQwMV9IV19NUFU0MDEsIGNoaXAtPm1wdV9pbywgTVBVNDAxX0lORk9fSU5URUdSQVRFRCwKKwkJcGNpLT5pcnEsIDAsICZjaGlwLT5ybWlkaQorCSk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX3ByaW50ayhLRVJOX0VSUiAiYXpmMzMyODogbm8gTVBVLTQwMSBkZXZpY2UgYXQgMHglbHg/XG4iLAorCQkJCWNoaXAtPm1wdV9pbworCQkpOwogCQlnb3RvIG91dF9lcnI7CiAJfQogCi0JaWYgKChlcnIgPSBzbmRfYXpmMzMyOF90aW1lcihjaGlwLCAwKSkgPCAwKSB7CisJZXJyID0gc25kX2F6ZjMzMjhfdGltZXIoY2hpcCwgMCk7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKLQl9CiAKLQlpZiAoKGVyciA9IHNuZF9hemYzMzI4X3BjbShjaGlwLCAwKSkgPCAwKSB7CisJZXJyID0gc25kX2F6ZjMzMjhfcGNtKGNoaXAsIDApOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7Ci0JfQogCi0JaWYgKHNuZF9vcGwzX2NyZWF0ZShjYXJkLCBjaGlwLT5zeW50aF9wb3J0LCBjaGlwLT5zeW50aF9wb3J0KzIsCisJaWYgKHNuZF9vcGwzX2NyZWF0ZShjYXJkLCBjaGlwLT5vcGwzX2lvLCBjaGlwLT5vcGwzX2lvKzIsCiAJCQkgICAgT1BMM19IV19BVVRPLCAxLCAmb3BsMykgPCAwKSB7CiAJCXNuZF9wcmludGsoS0VSTl9FUlIgImF6ZjMzMjg6IG5vIE9QTDMgZGV2aWNlIGF0IDB4JWx4LTB4JWx4P1xuIiwKLQkJCSAgIGNoaXAtPnN5bnRoX3BvcnQsIGNoaXAtPnN5bnRoX3BvcnQrMiApOworCQkJICAgY2hpcC0+b3BsM19pbywgY2hpcC0+b3BsM19pbysyCisJCSk7CiAJfSBlbHNlIHsKLQkJaWYgKChlcnIgPSBzbmRfb3BsM19od2RlcF9uZXcob3BsMywgMCwgMSwgTlVMTCkpIDwgMCkgeworCQkvKiBuZWVkIHRvIHVzZSBJRHMgMSwgMiBzaW5jZSBJRCAwIGlzIHNuZF9hemYzMzI4X3RpbWVyIGFib3ZlICovCisJCWVyciA9IHNuZF9vcGwzX3RpbWVyX25ldyhvcGwzLCAxLCAyKTsKKwkJaWYgKGVyciA8IDApCiAJCQlnb3RvIG91dF9lcnI7Ci0JCX0KKwkJZXJyID0gc25kX29wbDNfaHdkZXBfbmV3KG9wbDMsIDAsIDEsIE5VTEwpOworCQlpZiAoZXJyIDwgMCkKKwkJCWdvdG8gb3V0X2VycjsKIAl9CiAKIAlvcGwzLT5wcml2YXRlX2RhdGEgPSBjaGlwOwogCiAJc3ByaW50ZihjYXJkLT5sb25nbmFtZSwgIiVzIGF0IDB4JWx4LCBpcnEgJWkiLAotCQljYXJkLT5zaG9ydG5hbWUsIGNoaXAtPmNvZGVjX3BvcnQsIGNoaXAtPmlycSk7CisJCWNhcmQtPnNob3J0bmFtZSwgY2hpcC0+Y29kZWNfaW8sIGNoaXAtPmlycSk7CiAKLQlpZiAoKGVyciA9IHNuZF9jYXJkX3JlZ2lzdGVyKGNhcmQpKSA8IDApIHsKKwllcnIgPSBzbmRfY2FyZF9yZWdpc3RlcihjYXJkKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAogI2lmZGVmIE1PRFVMRQogCXByaW50aygKQEAgLTE4NjEsMTkgKzIyNzksMTggQEAKIAkxMDI0MDAwIC8gc2VxdGltZXJfc2NhbGluZywgc2VxdGltZXJfc2NhbGluZyk7CiAjZW5kaWYKIAotCWlmIChzbmRfYXpmMzMyOF9jb25maWdfam95c3RpY2soY2hpcCwgZGV2KSA8IDApCi0JCXNuZF9hemYzMzI4X2lvMl9vdXRiKGNoaXAsIElEWF9JTzJfTEVHQUNZX0FERFIsCi0JCQkgICAgICBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIElEWF9JTzJfTEVHQUNZX0FERFIpICYgfkxFR0FDWV9KT1kpOworCXNuZF9hemYzMzI4X2dhbWVwb3J0KGNoaXAsIGRldik7CiAKIAlwY2lfc2V0X2RydmRhdGEocGNpLCBjYXJkKTsKIAlkZXYrKzsKIAogCWVyciA9IDA7CiAJZ290byBvdXQ7Ci0JCisKIG91dF9lcnI6CisJc25kX3ByaW50ayhLRVJOX0VSUiAiYXpmMzMyODogc29tZXRoaW5nIGZhaWxlZCwgZXhpdGluZ1xuIik7CiAJc25kX2NhcmRfZnJlZShjYXJkKTsKLQkKKwogb3V0OgogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiBlcnI7CkBAIC0xODk0LDI3ICsyMzExLDMxIEBACiB7CiAJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGNpX2dldF9kcnZkYXRhKHBjaSk7CiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gY2FyZC0+cHJpdmF0ZV9kYXRhOwotCWludCByZWc7CisJdW5zaWduZWQgcmVnOwogCiAJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOwotCQorCiAJc25kX3BjbV9zdXNwZW5kX2FsbChjaGlwLT5wY20pOwogCi0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NSVhFUl9QTSAvIDI7IHJlZysrKQotCQljaGlwLT5zYXZlZF9yZWdzX21peGVyW3JlZ10gPSBpbncoY2hpcC0+bWl4ZXJfcG9ydCArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTUlYRVJfUE0gLyAyOyArK3JlZykKKwkJY2hpcC0+c2F2ZWRfcmVnc19taXhlcltyZWddID0gaW53KGNoaXAtPm1peGVyX2lvICsgcmVnICogMik7CiAKIAkvKiBtYWtlIHN1cmUgdG8gZGlzYWJsZSBtYXN0ZXIgdm9sdW1lIGV0Yy4gdG8gcHJldmVudCBsb29waW5nIHNvdW5kICovCiAJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1BMQVlfTUFTVEVSLCAxKTsKIAlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMSk7Ci0JCi0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9DT0RFQ19QTSAvIDI7IHJlZysrKQotCQljaGlwLT5zYXZlZF9yZWdzX2NvZGVjW3JlZ10gPSBpbncoY2hpcC0+Y29kZWNfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfSU8yX1BNIC8gMjsgcmVnKyspCi0JCWNoaXAtPnNhdmVkX3JlZ3NfaW8yW3JlZ10gPSBpbncoY2hpcC0+aW8yX3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01QVV9QTSAvIDI7IHJlZysrKQotCQljaGlwLT5zYXZlZF9yZWdzX21wdVtyZWddID0gaW53KGNoaXAtPm1wdV9wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9TWU5USF9QTSAvIDI7IHJlZysrKQotCQljaGlwLT5zYXZlZF9yZWdzX3N5bnRoW3JlZ10gPSBpbncoY2hpcC0+c3ludGhfcG9ydCArIHJlZyAqIDIpOworCisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9DT0RFQ19QTSAvIDI7ICsrcmVnKQorCQljaGlwLT5zYXZlZF9yZWdzX2NvZGVjW3JlZ10gPSBpbncoY2hpcC0+Y29kZWNfaW8gKyByZWcgKiAyKTsKKworCS8qIG1hbnVhbGx5IHN0b3JlIHRoZSBvbmUgY3VycmVudGx5IHJlbGV2YW50IHdyaXRlLW9ubHkgcmVnLCB0b28gKi8KKwljaGlwLT5zYXZlZF9yZWdzX2NvZGVjW0lEWF9JT182QUggLyAyXSA9IGNoaXAtPnNoYWRvd19yZWdfY29kZWNfNkFIOworCisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9HQU1FX1BNIC8gMjsgKytyZWcpCisJCWNoaXAtPnNhdmVkX3JlZ3NfZ2FtZVtyZWddID0gaW53KGNoaXAtPmdhbWVfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01QVV9QTSAvIDI7ICsrcmVnKQorCQljaGlwLT5zYXZlZF9yZWdzX21wdVtyZWddID0gaW53KGNoaXAtPm1wdV9pbyArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfT1BMM19QTSAvIDI7ICsrcmVnKQorCQljaGlwLT5zYXZlZF9yZWdzX29wbDNbcmVnXSA9IGludyhjaGlwLT5vcGwzX2lvICsgcmVnICogMik7CiAKIAlwY2lfZGlzYWJsZV9kZXZpY2UocGNpKTsKIAlwY2lfc2F2ZV9zdGF0ZShwY2kpOwpAQCAtMTkyNyw3ICsyMzQ4LDcgQEAKIHsKIAlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQgPSBwY2lfZ2V0X2RydmRhdGEocGNpKTsKIAlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBjYXJkLT5wcml2YXRlX2RhdGE7Ci0JaW50IHJlZzsKKwl1bnNpZ25lZCByZWc7CiAKIAlwY2lfc2V0X3Bvd2VyX3N0YXRlKHBjaSwgUENJX0QwKTsKIAlwY2lfcmVzdG9yZV9zdGF0ZShwY2kpOwpAQCAtMTkzOSwyMyArMjM2MCwyMSBAQAogCX0KIAlwY2lfc2V0X21hc3RlcihwY2kpOwogCi0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9JTzJfUE0gLyAyOyByZWcrKykKLQkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX2lvMltyZWddLCBjaGlwLT5pbzJfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTVBVX1BNIC8gMjsgcmVnKyspCi0JCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19tcHVbcmVnXSwgY2hpcC0+bXB1X3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX1NZTlRIX1BNIC8gMjsgcmVnKyspCi0JCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19zeW50aFtyZWddLCBjaGlwLT5zeW50aF9wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NSVhFUl9QTSAvIDI7IHJlZysrKQotCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfbWl4ZXJbcmVnXSwgY2hpcC0+bWl4ZXJfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfQ09ERUNfUE0gLyAyOyByZWcrKykKLQkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX2NvZGVjW3JlZ10sIGNoaXAtPmNvZGVjX3BvcnQgKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0dBTUVfUE0gLyAyOyArK3JlZykKKwkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX2dhbWVbcmVnXSwgY2hpcC0+Z2FtZV9pbyArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTVBVX1BNIC8gMjsgKytyZWcpCisJCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19tcHVbcmVnXSwgY2hpcC0+bXB1X2lvICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9PUEwzX1BNIC8gMjsgKytyZWcpCisJCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19vcGwzW3JlZ10sIGNoaXAtPm9wbDNfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01JWEVSX1BNIC8gMjsgKytyZWcpCisJCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19taXhlcltyZWddLCBjaGlwLT5taXhlcl9pbyArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfQ09ERUNfUE0gLyAyOyArK3JlZykKKwkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX2NvZGVjW3JlZ10sIGNoaXAtPmNvZGVjX2lvICsgcmVnICogMik7CiAKIAlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNhcmQsIFNORFJWX0NUTF9QT1dFUl9EMCk7CiAJcmV0dXJuIDA7CiB9Ci0jZW5kaWYKLQotCisjZW5kaWYgLyogQ09ORklHX1BNICovCiAKIAogc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGRyaXZlciA9IHsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9henQzMzI4LmggYi9zb3VuZC9wY2kvYXp0MzMyOC5oCmluZGV4IDY3OWZhOTkuLjdlM2U4OTQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9henQzMzI4LmgKKysrIGIvc291bmQvcGNpL2F6dDMzMjguaApAQCAtMSw3ICsxLDggQEAKICNpZm5kZWYgX19TT1VORF9BWlQzMzI4X0gKICNkZWZpbmUgX19TT1VORF9BWlQzMzI4X0gKIAotLyogIlBVIiA9PSAicG93ZXItdXAgdmFsdWUiLCBhcyB0ZXN0ZWQgb24gUENJMTY4IFBDSSByZXYuIDEwICovCisvKiAiUFUiID09ICJwb3dlci11cCB2YWx1ZSIsIGFzIHRlc3RlZCBvbiBQQ0kxNjggUENJIHJldi4gMTAKKyAqICJXUklURV9PTkxZIiAgPT0gcmVnaXN0ZXIgZG9lcyBub3QgaW5kaWNhdGUgYWN0dWFsIGJpdCB2YWx1ZXMgKi8KIAogLyoqKiBtYWluIEkvTyBhcmVhIHBvcnQgaW5kaWNlcyAqKiovCiAvKiAob25seSAweDcwIG9mIDB4ODAgYnl0ZXMgc2F2ZWQvcmVzdG9yZWQgYnkgV2luZG93cyBkcml2ZXIpICovCkBAIC01NCw3ICs1NSwxMCBAQAogICAjZGVmaW5lIFNPVU5ERk9STUFUX1hUQUwxCQkweDAwCiAgICNkZWZpbmUgU09VTkRGT1JNQVRfWFRBTDIJCTB4MDEKICAgICAvKiBhbGwgX1NVU1BFQ1RFRF8gdmFsdWVzIGFyZSBub3QgdXNlZCBieSBXaW5kb3dzIGRyaXZlcnMsIHNvIHdlIGRvbid0Ci0gICAgICogaGF2ZSBhbnkgaGFyZCBmYWN0cywgb25seSByb3VnaCBtZWFzdXJlbWVudHMgKi8KKyAgICAgKiBoYXZlIGFueSBoYXJkIGZhY3RzLCBvbmx5IHJvdWdoIG1lYXN1cmVtZW50cy4KKyAgICAgKiBBbGwgd2Uga25vdyBpcyB0aGF0IHRoZSBjcnlzdGFsIHVzZWQgb24gdGhlIGJvYXJkIGhhcyAyNC41NzZNSHosCisgICAgICogbGlrZSBtYW55IHNvdW5kY2FyZHMgKHdoaWNoIHJlc3VsdHMgaW4gdGhlIGZyZXF1ZW5jaWVzIGJlbG93IHdoZW4KKyAgICAgKiB1c2luZyBjZXJ0YWluIGRpdmlkZXIgdmFsdWVzIHNlbGVjdGVkIGJ5IHRoZSB2YWx1ZXMgYmVsb3cpICovCiAgICAgI2RlZmluZSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF80MDAwCTB4MGMgfCBTT1VOREZPUk1BVF9YVEFMMQogICAgICNkZWZpbmUgU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDgwMAkweDBhIHwgU09VTkRGT1JNQVRfWFRBTDEKICAgICAjZGVmaW5lIFNPVU5ERk9STUFUX0ZSRVFfNTUxMAkJMHgwYyB8IFNPVU5ERk9STUFUX1hUQUwyCkBAIC03Miw2ICs3NiwyNiBAQAogICAjZGVmaW5lIFNPVU5ERk9STUFUX0ZMQUdfMTZCSVQJMHgwMDEwCiAgICNkZWZpbmUgU09VTkRGT1JNQVRfRkxBR18yQ0hBTk5FTFMJMHgwMDIwCiAKKy8qIGRlZmluZSBmcmVxdWVuY3kgaGVscGVycywgZm9yIG1heGltdW0gdmFsdWUgc2FmZXR5ICovCitlbnVtIGF6Zl9mcmVxX3QgeworI2RlZmluZSBBWkZfRlJFUShyYXRlKSBBWkZfRlJFUV8jI3JhdGUgPSByYXRlCisgIEFaRl9GUkVRKDQwMDApLAorICBBWkZfRlJFUSg0ODAwKSwKKyAgQVpGX0ZSRVEoNTUxMiksCisgIEFaRl9GUkVRKDY2MjApLAorICBBWkZfRlJFUSg4MDAwKSwKKyAgQVpGX0ZSRVEoOTYwMCksCisgIEFaRl9GUkVRKDExMDI1KSwKKyAgQVpGX0ZSRVEoMTMyNDApLAorICBBWkZfRlJFUSgxNjAwMCksCisgIEFaRl9GUkVRKDIyMDUwKSwKKyAgQVpGX0ZSRVEoMzIwMDApLAorICBBWkZfRlJFUSg0NDEwMCksCisgIEFaRl9GUkVRKDQ4MDAwKSwKKyAgQVpGX0ZSRVEoNjYyMDApLAorI3VuZGVmIEFaRl9GUkVRCit9IEFaRl9GUkVRVUVOQ0lFUzsKKwogLyoqIHJlY29yZGluZyBhcmVhIChzZWUgYWxzbzogcGxheWJhY2sgYml0IGZsYWcgZGVmaW5pdGlvbnMpICoqLwogI2RlZmluZSBJRFhfSU9fUkVDX0ZMQUdTCTB4MjAgLyogPz8sIFBVOjB4MDAwMCAqLwogI2RlZmluZSBJRFhfSU9fUkVDX0lSUVRZUEUJMHgyMiAvKiA/PywgUFU6MHgwMDAwICovCkBAIC05Nyw0MCArMTIxLDE3MSBAQAogCiAvKiogRGlyZWN0WCB0aW1lciwgbWFpbiBpbnRlcnJ1cHQgYXJlYSAoRklYTUU6IGFuZCBzb21ldGhpbmcgZWxzZT8pICoqLyAKICNkZWZpbmUgSURYX0lPX1RJTUVSX1ZBTFVFCTB4NjAgLyogZm91bmQgdGhpcyB0aW1lciBhcmVhIGJ5IHB1cmUgbHVjayA6LSkgKi8KLSAgI2RlZmluZSBUSU1FUl9WQUxVRV9NQVNLCQkweDAwMGZmZmZmVUwgLyogdGltZXIgY291bnRkb3duIHZhbHVlOyB0cmlnZ2VycyBJUlEgd2hlbiB0aW1lciBpcyBmaW5pc2hlZCAqLwotICAjZGVmaW5lIFRJTUVSX0VOQUJMRV9DT1VOVERPV04JMHgwMTAwMDAwMFVMIC8qIGFjdGl2YXRlIHRoZSB0aW1lciBjb3VudGRvd24gKi8KLSAgI2RlZmluZSBUSU1FUl9FTkFCTEVfSVJRCQkweDAyMDAwMDAwVUwgLyogdHJpZ2dlciB0aW1lciBJUlEgb24gemVybyB0cmFuc2l0aW9uICovCi0gICNkZWZpbmUgVElNRVJfQUNLX0lSUQkJCTB4MDQwMDAwMDBVTCAvKiBiZWluZyBzZXQgaW4gSVJRIGhhbmRsZXIgaW4gY2FzZSBwb3J0IDB4MDAgKGhtbSwgbm90IHBvcnQgMHg2NCE/IT8pIGhhZCAweDAwMjAgc2V0IHVwb24gSVJRIGhhbmRsZXIgKi8KKyAgLyogdGltZXIgY291bnRkb3duIHZhbHVlOyB0cmlnZ2VycyBJUlEgd2hlbiB0aW1lciBpcyBmaW5pc2hlZCAqLworICAjZGVmaW5lIFRJTUVSX1ZBTFVFX01BU0sJCTB4MDAwZmZmZmZVTAorICAvKiBhY3RpdmF0ZSB0aW1lciBjb3VudGRvd24gKi8KKyAgI2RlZmluZSBUSU1FUl9DT1VOVERPV05fRU5BQkxFCTB4MDEwMDAwMDBVTAorICAvKiB0cmlnZ2VyIHRpbWVyIElSUSBvbiB6ZXJvIHRyYW5zaXRpb24gKi8KKyAgI2RlZmluZSBUSU1FUl9JUlFfRU5BQkxFCQkweDAyMDAwMDAwVUwKKyAgLyogYmVpbmcgc2V0IGluIElSUSBoYW5kbGVyIGluIGNhc2UgcG9ydCAweDAwIChobW0sIG5vdCBwb3J0IDB4NjQhPyE/KQorICAgKiBoYWQgMHgwMDIwIHNldCB1cG9uIElSUSBoYW5kbGVyICovCisgICNkZWZpbmUgVElNRVJfSVJRX0FDSwkJCTB4MDQwMDAwMDBVTAogI2RlZmluZSBJRFhfSU9fSVJRU1RBVFVTICAgICAgICAweDY0Ci0gICNkZWZpbmUgSVJRX1BMQVlCQUNLCQkJMHgwMDAxCi0gICNkZWZpbmUgSVJRX1JFQ09SRElORwkJCTB4MDAwMgotICAjZGVmaW5lIElSUV9NUFU0MDEJCQkweDAwMTAKLSAgI2RlZmluZSBJUlFfVElNRVIJCQkweDAwMjAgLyogRGlyZWN0WCB0aW1lciAqLwotICAjZGVmaW5lIElSUV9VTktOT1dOMQkJCTB4MDA0MCAvKiBwcm9iYWJseSB1bnVzZWQsIG9yIHBvc3NpYmx5IEkyUyBwb3J0PyBvciBnYW1lcG9ydCBJUlE/ICovCi0gICNkZWZpbmUgSVJRX1VOS05PV04yCQkJMHgwMDgwIC8qIHByb2JhYmx5IHVudXNlZCwgb3IgcG9zc2libHkgSTJTIHBvcnQ/IG9yIGdhbWVwb3J0IElSUT8gKi8KKyAgLyogc29tZSBJUlEgYml0IGluIGhlcmUgbWlnaHQgYWxzbyBiZSB1c2VkIHRvIHNpZ25hbCBhIHBvd2VyLW1hbmFnZW1lbnQgdGltZXIKKyAgICogdGltZW91dCwgdG8gcmVxdWVzdCBzaHV0ZG93biBvZiB0aGUgY2hpcCAoZS5nLiBBRDE4MTVKUyBoYXMgc3VjaCBhIHRoaW5nKS4KKyAgICogU29tZSBPUEwzIGhhcmR3YXJlIChlLmcuIGluIExNNDU2MCkgaGFzIHNvbWUgc3BlY2lhbCB0aW1lciBoYXJkd2FyZSB3aGljaAorICAgKiBjYW4gdHJpZ2dlciBhbiBPUEwzIHRpbWVyIElSUSwgc28gbWF5YmUgdGhlcmUncyBzdWNoIGEgdGhpbmcgYXMgd2VsbC4uLiAqLworCisgICNkZWZpbmUgSVJRX1BMQVlCQUNLCTB4MDAwMQorICAjZGVmaW5lIElSUV9SRUNPUkRJTkcJMHgwMDAyCisgICNkZWZpbmUgSVJRX1VOS05PV04xCTB4MDAwNCAvKiBtb3N0IHByb2JhYmx5IEkyUyBwb3J0ICovCisgICNkZWZpbmUgSVJRX0dBTUVQT1JUCTB4MDAwOCAvKiBJbnRlcnJ1cHQgb2YgRGlnaXRhbChseSkgRW5oYW5jZWQgR2FtZSBQb3J0ICovCisgICNkZWZpbmUgSVJRX01QVTQwMQkweDAwMTAKKyAgI2RlZmluZSBJUlFfVElNRVIJMHgwMDIwIC8qIERpcmVjdFggdGltZXIgKi8KKyAgI2RlZmluZSBJUlFfVU5LTk9XTjIJMHgwMDQwIC8qIHByb2JhYmx5IHVudXNlZCwgb3IgcG9zc2libHkgSTJTIHBvcnQ/ICovCisgICNkZWZpbmUgSVJRX1VOS05PV04zCTB4MDA4MCAvKiBwcm9iYWJseSB1bnVzZWQsIG9yIHBvc3NpYmx5IEkyUyBwb3J0PyAqLwogI2RlZmluZSBJRFhfSU9fNjZICQkweDY2ICAgIC8qIHdyaXRpbmcgMHhmZmZmIHJldHVybnMgMHgwMDAwICovCi0jZGVmaW5lIElEWF9JT19TT01FX1ZBTFVFCTB4NjgJLyogdGhpcyBpcyBzZXQgdG8gZS5nLiAweDNmZiBvciAweDMwMCwgYW5kIHdyaXRhYmxlOyBtYXliZSBzb21lIGJ1ZmZlciBsaW1pdCwgYnV0IEkgY291bGRuJ3QgZmluZCBvdXQgbW9yZSwgUFU6MHgwMGZmICovCi0jZGVmaW5lIElEWF9JT182QUgJCTB4NkEJLyogdGhpcyBXT1JEIGNhbiBiZSBzZXQgdG8gaGF2ZSBiaXRzIDB4MDAyOCBhY3RpdmF0ZWQgKEZJWE1FOiBjb3JyZWN0Pz8pOyBhY3R1YWxseSBpbmhpYml0cyBQQ00gcGxheWJhY2shISEgbWF5YmUgcG93ZXIgbWFuYWdlbWVudD8/ICovCi0gICNkZWZpbmUgSU9fNkFfUEFVU0VfUExBWUJBQ0sJCTB4MDIwMCAvKiBiaXQgOTsgc3VyZSwgdGhpcyBwYXVzZXMgcGxheWJhY2ssIGJ1dCB3aGF0IHRoZSBoZWNrIGlzIHRoaXMgcmVhbGx5IGFib3V0Pz8gKi8KLSNkZWZpbmUgSURYX0lPXzZDSAkJMHg2QwotI2RlZmluZSBJRFhfSU9fNkVICQkweDZFCS8qIHdyaXRpbmcgMHhmZmZmIHJldHVybnMgMHg4M2ZlICovCi0vKiBmdXJ0aGVyIEkvTyBpbmRpY2VzIG5vdCBzYXZlZC9yZXN0b3JlZCwgc28gcHJvYmFibHkgbm90IHVzZWQgKi8KKyAgLyogdGhpcyBpcyBzZXQgdG8gZS5nLiAweDNmZiBvciAweDMwMCwgYW5kIHdyaXRhYmxlOworICAgKiBtYXliZSBzb21lIGJ1ZmZlciBsaW1pdCwgYnV0IEkgY291bGRuJ3QgZmluZCBvdXQgbW9yZSwgUFU6MHgwMGZmOiAqLworI2RlZmluZSBJRFhfSU9fU09NRV9WQUxVRQkweDY4CisgICNkZWZpbmUgSU9fNjhfUkFORE9NX1RPR0dMRTEJMHgwMTAwCS8qIHRvZ2dsZXMgcmFuZG9tbHkgKi8KKyAgI2RlZmluZSBJT182OF9SQU5ET01fVE9HR0xFMgkweDAyMDAJLyogdG9nZ2xlcyByYW5kb21seSAqLworICAvKiB1bW0sIG5vcGUsIGJlaGF2aW91ciBvZiB0aGVzZSBiaXRzIGNoYW5nZXMgZGVwZW5kaW5nIG9uIHdoYXQgd2Ugd3JvdGUKKyAgICogdG8gMHg2YiEhCisgICAqIEFuZCB0aGV5IGNoYW5nZSB1cG9uIHBsYXliYWNrL3N0b3AsIHRvbzoKKyAgICogV3JpdGluZyBhIHZhbHVlIHRvIDB4Njggd2lsbCBkaXNwbGF5IHRoaXMgZXhhY3QgdmFsdWUgZHVyaW5nIHBsYXliYWNrLAorICAgKiB0b28gYnV0IHdoZW4gc3RvcHBlZCBpdCBjYW4gZmFsbCBiYWNrIHRvIGEgcmF0aGVyIGRpZmZlcmVudAorICAgKiBzZWVtaW5nbHkgcmFuZG9tIHZhbHVlKS4gSG1tLCBwb3NzaWJseSB0aGlzIGlzIGEgcmVnaXN0ZXIgd2hpY2gKKyAgICogaGFzIGEgcmVtb3RlIHNoYWRvdyB3aGljaCBuZWVkcyBwcm9wZXIgZGV2aWNlIHN1cHBseSB3aGljaCBvbmx5IGV4aXN0cworICAgKiBpbiBjYXNlIHBsYXliYWNrIGlzIGFjdGl2ZT8gT3IgaXMgdGhpcyBkcml2ZXItaW5kdWNlZD8KKyAgICovCisKKy8qIHRoaXMgV09SRCBjYW4gYmUgc2V0IHRvIGhhdmUgYml0cyAweDAwMjggYWN0aXZhdGVkIChGSVhNRTogY29ycmVjdD8/KTsKKyAqIGFjdHVhbGx5IGluaGliaXRzIFBDTSBwbGF5YmFjayEhISBtYXliZSBwb3dlciBtYW5hZ2VtZW50Pz86ICovCisjZGVmaW5lIElEWF9JT182QUgJCTB4NkEgLyogV1JJVEVfT05MWSEgKi8KKyAgLyogYml0IDU6IGVuYWJsaW5nIHRoaXMgd2lsbCBhY3RpdmF0ZSBwZXJtYW5lbnQgY291bnRpbmcgb2YgYnl0ZXMgMi8zCisgICAqIGF0IGdhbWVwb3J0IEkvTyAoMHhiNDAyLzMpIChlcXVhbCB2YWx1ZXMgZWFjaCkgYW5kIGNhdXNlCisgICAqIGdhbWVwb3J0IGxlZ2FjeSBJL08gYXQgMHgwMjAwIHRvIGJlIF9ESVNBQkxFRF8hCisgICAqIElzIHRoaXMgRGlnaXRhbCBFbmhhbmNlZCBHYW1lIFBvcnQgRW5hYmxlPz8/IE9yIG1heWJlIGl0J3MgVGVzdG1vZGUKKyAgICogZm9yIEVuaGFuY2VkIERpZ2l0YWwgR2FtZXBvcnQgKHNlZSA0RCBXYXZlIERYIGNhcmQpOiAqLworICAjZGVmaW5lIElPXzZBX1NPTUVUSElORzFfR0FNRVBPUlQJMHgwMDIwCisgIC8qIGJpdCA4OyBzdXJlLCB0aGlzIF9wYXVzZXNfIHBsYXliYWNrIChsYXRlciByZXN1bWVzIGF0IHNhbWUgc3BvdCEpLAorICAgKiBidXQgd2hhdCB0aGUgaGVjayBpcyB0aGlzIHJlYWxseSBhYm91dD8/OiAqLworICAjZGVmaW5lIElPXzZBX1BBVVNFX1BMQVlCQUNLX0JJVDgJMHgwMTAwCisgIC8qIGJpdCA5OyBzdXJlLCB0aGlzIF9wYXVzZXNfIHBsYXliYWNrIChsYXRlciByZXN1bWVzIGF0IHNhbWUgc3BvdCEpLAorICAgKiBidXQgd2hhdCB0aGUgaGVjayBpcyB0aGlzIHJlYWxseSBhYm91dD8/OiAqLworICAjZGVmaW5lIElPXzZBX1BBVVNFX1BMQVlCQUNLX0JJVDkJMHgwMjAwCisJLyogQklUOCBhbmQgQklUOSBhcmUgX05PVF8gYWJsZSB0byBhZmZlY3QgT1BMMyBNSURJIHBsYXliYWNrLAorCSAqIHRodXMgaXQgc3VnZ2VzdHMgaW5mbHVlbmNlIG9uIFBDTSBvbmx5ISEKKwkgKiBIb3dldmVyIE9UT0ggdGhlcmUgc2VlbXMgdG8gYmUgbm8gYml0IGFueXdoZXJlIGFyb3VuZCBoZXJlCisJICogd2hpY2ggaXMgYWJsZSB0byBkaXNhYmxlIE9QTDMuLi4gKi8KKyAgLyogYml0IDEwOiBlbmFibGluZyB0aGlzIGFjdHVhbGx5IGNoYW5nZXMgdmFsdWVzIGF0IGxlZ2FjeSBnYW1lcG9ydAorICAgKiBJL08gYWRkcmVzcyAoMHgyMDApOyBpcyB0aGlzIGVuYWJsaW5nIG9mIHRoZSBEaWdpdGFsIEVuaGFuY2VkIEdhbWUgUG9ydD8/PworICAgKiBPciBtYXliZSB0aGlzIHNpbXBseSBzd2l0Y2hlcyBvZmYgdGhlIE5FNTU4IGNpcmN1aXQsIHNpbmNlIGVuYWJsaW5nIHRoaXMKKyAgICogc3RpbGwgbGV0cyB1cyBldmFsdWF0ZSBidXR0b24gc3RhdGVzLCBidXQgbm90IGF4aXMgc3RhdGVzICovCisgICNkZWZpbmUgSU9fNkFfU09NRVRISU5HMl9HQU1FUE9SVCAgICAgIDB4MDQwMAorCS8qIHdyaXRpbmcgMHgwMzAwOiBjYXVzZXMgcXVpdGUgc29tZSBjcmFja2xpbmcgZHVyaW5nCisJICogUEMgYWN0aXZpdHkgc3VjaCBhcyBzd2l0Y2hpbmcgd2luZG93cyAoUENJIHRyYWZmaWM/PworCSAqIC0tPiBGSUZPL3RpbWluZyBzZXR0aW5ncz8/PykgKi8KKwkvKiB3cml0aW5nIDB4MDEwMCBwbHVzL29yIDB4MDIwMCBpbmhpYml0cyBwbGF5YmFjayAqLworCS8qIHNpbmNlIHRoZSBXaW5kb3dzIC5JTkYgZmlsZSBoYXMgRmxhZ19FbmFibGVfSm95U3RpY2sgYW5kCisJICogRmxhZ19FbmFibGVfU0JfRE9TX0VtdWxhdGlvbiBkaXJlY3RseSB0b2dldGhlciwgaXQgc3RhbmRzIHRvIHJlYXNvbgorCSAqIHRoYXQgc29tZSBvdGhlciBiaXQgaW4gdGhpcyBzYW1lIHJlZ2lzdGVyIG1pZ2h0IGJlIHJlc3BvbnNpYmxlCisJICogZm9yIFNCIERPUyBFbXVsYXRpb24gYWN0aXZhdGlvbiAobm90ZSB0aGF0IHRoZSBmaWxlIGRpZCBOT1QgZGVmaW5lCisJICogYSBzd2l0Y2ggZm9yIE9QTDMhKSAqLworI2RlZmluZSBJRFhfSU9fNkNICQkweDZDCS8qIHVua25vd247IGZ1bGx5IHJlYWQtd3JpdGFibGUgKi8KKyNkZWZpbmUgSURYX0lPXzZFSAkJMHg2RQorCS8qIHdyaXRpbmcgMHhmZmZmIHJldHVybnMgMHg4M2ZlIChvciAweDAzZmUgb25seSkuCisJICogd3JpdGluZyAweDgzIChhbmQgb25seSAweDgzISEpIHRvIDB4NmYgd2lsbCBjYXVzZSAweDZjIHRvIHN3aXRjaAorCSAqIGZyb20gMDAwMCB0byBmZmZmLiAqLworCisvKiBmdXJ0aGVyIEkvTyBpbmRpY2VzIG5vdCBzYXZlZC9yZXN0b3JlZCBhbmQgbm90IHJlYWRhYmxlIGFmdGVyIHdyaXRpbmcsCisgKiBzbyBwcm9iYWJseSBub3QgdXNlZCAqLwogCiAKLS8qKiogSS9PIDIgYXJlYSBwb3J0IGluZGljZXMgKioqLworLyoqKiBHYW1lcG9ydCBhcmVhIHBvcnQgaW5kaWNlcyAqKiovCiAvKiAob25seSAweDA2IG9mIDB4MDggYnl0ZXMgc2F2ZWQvcmVzdG9yZWQgYnkgV2luZG93cyBkcml2ZXIpICovIAotI2RlZmluZSBBWkZfSU9fU0laRV9JTzIJCTB4MDgKLSNkZWZpbmUgQVpGX0lPX1NJWkVfSU8yX1BNCTB4MDYKKyNkZWZpbmUgQVpGX0lPX1NJWkVfR0FNRQkJMHgwOAorI2RlZmluZSBBWkZfSU9fU0laRV9HQU1FX1BNCTB4MDYKIAotI2RlZmluZSBJRFhfSU8yX0xFR0FDWV9BRERSCTB4MDQKLSAgI2RlZmluZSBMRUdBQ1lfU09NRVRISU5HCQkweDAxIC8qIE9QTDM/PyAqLwotICAjZGVmaW5lIExFR0FDWV9KT1kJCQkweDA4CitlbnVtIHsKKwlBWkZfR0FNRV9MRUdBQ1lfSU9fUE9SVCA9IDB4MjAwCit9IEFaRl9HQU1FX0NPTkZJR1M7CiAKKyNkZWZpbmUgSURYX0dBTUVfTEVHQUNZX0NPTVBBVElCTEUJMHgwMAorCS8qIGluIHNvbWUgb3BlcmF0aW9uIG1vZGUsIHdyaXRpbmcgYW55dGhpbmcgdG8gdGhpcyBwb3J0CisJICogdHJpZ2dlcnMgYW4gaW50ZXJydXB0OgorCSAqIHl1cCwgdGhhdCdzIGluIGNhc2UgSURYX0dBTUVfMDFIIGhhcyBvbmUgb2YgdGhlCisJICogYXhpcyBtZWFzdXJlbWVudCBiaXRzIGVuYWJsZWQKKwkgKiAoYW5kIG9mIGNvdXJzZSBvbmUgbmVlZHMgdG8gaGF2ZSBHQU1FX0hXQ0ZHX0lSUV9FTkFCTEUsIHRvbykgKi8KKworI2RlZmluZSBJRFhfR0FNRV9BWEVTX0NPTkZJRyAgICAgICAgICAgIDB4MDEKKwkvKiBOT1RFOiBsYXlvdXQgb2YgdGhpcyByZWdpc3RlciBhd2Z1bGx5IHNpbWlsYXIgKHJlYWQ6ICJpZGVudGljYWw/PyIpCisJICogdG8gQUQxODE1SlMucGRmIChwLjI5KSAqLworCisgIC8qIGVuYWJsZXMgYXhpcyAxIChYIGF4aXMpIG1lYXN1cmVtZW50OiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19FTkFCTEVfMQkJMHgwMQorICAvKiBlbmFibGVzIGF4aXMgMiAoWSBheGlzKSBtZWFzdXJlbWVudDogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfRU5BQkxFXzIJCTB4MDIKKyAgLyogZW5hYmxlcyBheGlzIDMgKFggYXhpcykgbWVhc3VyZW1lbnQ6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX0VOQUJMRV8zCQkweDA0CisgIC8qIGVuYWJsZXMgYXhpcyA0IChZIGF4aXMpIG1lYXN1cmVtZW50OiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19FTkFCTEVfNAkJMHgwOAorICAvKiBzZWxlY3RzIHRoZSBjdXJyZW50IGF4aXMgdG8gcmVhZCB0aGUgbWVhc3VyZWQgdmFsdWUgb2YKKyAgICogKGF0IElEWF9HQU1FX0FYSVNfVkFMVUUpOgorICAgKiAwMCA9IGF4aXMgMSwgMDEgPSBheGlzIDIsIDEwID0gYXhpcyAzLCAxMSA9IGF4aXMgNDogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfUkVBRF9NQVNLCQkweDMwCisgIC8qIGVuYWJsZSB0byBoYXZlIHRoZSBsYXRjaCBjb250aW51b3VzbHkgYWNjZXB0IEFEQyB2YWx1ZXMKKyAgICogKGFuZCBjb250aW51b3VzbHkgY2F1c2UgaW50ZXJydXB0cyBpbiBjYXNlIGludGVycnVwdHMgYXJlIGVuYWJsZWQpOworICAgKiBBRDE4MTVKUy5wZGYgc2F5cyBpdCdzIH4xNm1zIGludGVydmFsIHRoZXJlOiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19MQVRDSF9FTkFCTEUJMHg0MAorICAvKiBqb3lzdGljayBkYXRhIChtZWFzdXJlZCBheGVzKSByZWFkeSBmb3IgcmVhZGluZzogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfU0FNUExJTkdfUkVBRFkJMHg4MAorCisgIC8qIE5PVEU6IG90aGVyIGNhcmQgc3BlY3MgKFNpUzk2MCBhbmQgb3RoZXJzISkgc3RhdGUgdGhhdCB0aGUKKyAgICogZ2FtZSBwb3NpdGlvbiBsYXRjaGVzIHNob3VsZCBiZSBmcm96ZW4gd2hlbiByZWFkaW5nIGFuZCBiZSBmcmVlZAorICAgKiAoPT0gcmVzZXQ/KSBhZnRlciByZWFkaW5nISEhCisgICAqIEZyZWV6aW5nIG1vc3QgbGlrZWx5IG1lYW5zIGRpc2FibGluZyAweDQwIChHQU1FX0FYRVNfTEFUQ0hfRU5BQkxFKSwKKyAgICogIGJ1dCBob3cgdG8gZnJlZSB0aGUgdmFsdWU/ICovCisgIC8qIEFuIGludGVybmV0IHNlYXJjaCBmb3IgImdhbWVwb3J0IGxhdGNoIEFEQyIgc2hvdWxkIHByb3ZpZGUgc29tZSBpbnNpZ2h0CisgICAqIGludG8gaG93IHRvIHByb2dyYW0gc3VjaCBhIGdhbWVwb3J0IHN5c3RlbS4gKi8KKworICAvKiB3cml0aW5nIDB4ZjAgdG8gMDFIIG9uY2UgcmVzZXQgYm90aCBjb3VudGVycyB0byAwLCBpbiBzb21lIHNwZWNpYWwgbW9kZSE/CisgICAqIHl1cCwgaW4gY2FzZSA2QUggMHgyMCBpcyBub3QgZW5hYmxlZAorICAgKiAoYW5kIDB4NDAgaXMgc3VmZmljaWVudCwgMHhmMCBpcyBub3QgbmVlZGVkKSAqLworCisjZGVmaW5lIElEWF9HQU1FX0FYSVNfVkFMVUUJMHgwMgorCS8qIFI6IHZhbHVlIG9mIGN1cnJlbnRseSBjb25maWd1cmVkIGF4aXMgKHdvcmQgdmFsdWUhKTsKKwkgKiBXOiB0cmlnZ2VyIGF4aXMgbWVhc3VyZW1lbnQgKi8KKworI2RlZmluZSBJRFhfR0FNRV9IV0NPTkZJRwkweDA0CisJLyogbm90ZTogYml0cyA0IHRvIDcgYXJlIG5ldmVyIHNldCAoPT0gMCkgd2hlbiByZWFkaW5nIQorCSAqIC0tPiByZXNlcnZlZCBiaXRzPyAqLworICAvKiBlbmFibGVzIElSUSBub3RpZmljYXRpb24gdXBvbiBheGVzIG1lYXN1cmVtZW50IHJlYWR5OiAqLworICAjZGVmaW5lIEdBTUVfSFdDRkdfSVJRX0VOQUJMRQkJCTB4MDEKKyAgLyogdGhlc2UgYml0cyBjaG9vc2UgYSBkaWZmZXJlbnQgZnJlcXVlbmN5IGZvciB0aGUKKyAgICogIGludGVybmFsIEFEQyBjb3VudGVyIGluY3JlbWVudC4KKyAgICogaG1tLCBzZWVtcyB0byBiZSBhIGNvbWJvIG9mIGJpdHM6CisgICAqIDAwIC0tPiBzdGFuZGFyZCBmcmVxdWVuY3kKKyAgICogMTAgLS0+IDEvMgorICAgKiAwMSAtLT4gMS8yMAorICAgKiAxMSAtLT4gMS8yMDA6ICovCisgICNkZWZpbmUgR0FNRV9IV0NGR19BRENfQ09VTlRFUl9GUkVRX01BU0sJMHgwNgorCisgIC8qIGVuYWJsZSBnYW1lcG9ydCBsZWdhY3kgSS9PIGFkZHJlc3MgKDB4MjAwKQorICAgKiBJIHdhcyB1bmFibGUgdG8gbG9jYXRlIGFueSBjb25maWd1cmFiaWxpdHkgZm9yIGEgZGlmZmVyZW50IGFkZHJlc3M6ICovCisgICNkZWZpbmUgR0FNRV9IV0NGR19MRUdBQ1lfQUREUkVTU19FTkFCTEUJMHgwOAorCisvKioqIE1QVTQwMSAqKiovCiAjZGVmaW5lIEFaRl9JT19TSVpFX01QVQkJMHgwNAogI2RlZmluZSBBWkZfSU9fU0laRV9NUFVfUE0JMHgwNAogCi0jZGVmaW5lIEFaRl9JT19TSVpFX1NZTlRICTB4MDgKLSNkZWZpbmUgQVpGX0lPX1NJWkVfU1lOVEhfUE0JMHgwNgorLyoqKiBPUEwzIHN5bnRoICoqKi8KKyNkZWZpbmUgQVpGX0lPX1NJWkVfT1BMMwkweDA4CisjZGVmaW5lIEFaRl9JT19TSVpFX09QTDNfUE0JMHgwNgorLyogaG1tLCBnaXZlbiB0aGF0IGEgc3RhbmRhcmQgT1BMMyBoYXMgNCByZWdpc3RlcnMgb25seSwKKyAqIHRoZXJlIG1pZ2h0IGJlIHNvbWUgZW5oYW5jZWQgZnVuY3Rpb25hbGl0eSBsdXJraW5nIGF0IHRoZSBlbmQKKyAqIChlc3BlY2lhbGx5IHNpbmNlIHJlZ2lzdGVyIDB4MDQgaGFzIGEgIm5vbi1lbXB0eSIgdmFsdWUgMHhmZSkgKi8KIAogLyoqKiBtaXhlciBJL08gYXJlYSBwb3J0IGluZGljZXMgKioqLwogLyogKG9ubHkgMHgyMiBvZiAweDQwIGJ5dGVzIHNhdmVkL3Jlc3RvcmVkIGJ5IFdpbmRvd3MgZHJpdmVyKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2NhMDEwNi9jYTAxMDZfbWFpbi5jIGIvc291bmQvcGNpL2NhMDEwNi9jYTAxMDZfbWFpbi5jCmluZGV4IGVjYmU3OWIuLjJmOGIyOGEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9jYTAxMDYvY2EwMTA2X21haW4uYworKysgYi9zb3VuZC9wY2kvY2EwMTA2L2NhMDEwNl9tYWluLmMKQEAgLTI0OSw2ICsyNDksMTEgQEAKIAkgICAubmFtZSAgID0gIk1TSSBLOE4gRGlhbW9uZCBNQiBbU0IwNDM4XSIsCiAJICAgLmdwaW9fdHlwZSA9IDIsCiAJICAgLmkyY19hZGMgPSAxIH0gLAorCSAvKiBBbm90aGVyIE1TSSBLOE4gRGlhbW9uZCBNQiwgd2hpY2ggaGFzIGFwcHJlbnRseSBhIGRpZmZlcmVudCBTU0lEICovCisJIHsgLnNlcmlhbCA9IDB4MTAwOTExMDIsCisJICAgLm5hbWUgICA9ICJNU0kgSzhOIERpYW1vbmQgTUIiLAorCSAgIC5ncGlvX3R5cGUgPSAyLAorCSAgIC5pMmNfYWRjID0gMSB9ICwKIAkgLyogU2h1dHRsZSBYUEMgU0QzMVAgd2hpY2ggaGFzIGFuIG9uYm9hcmQgQ3JlYXRpdmUgTGFicwogCSAgKiBTb3VuZCBCbGFzdGVyIExpdmUhIDI0LWJpdCBFQVgKIAkgICogaGlnaC1kZWZpbml0aW9uIDcuMSBhdWRpbyBwcm9jZXNzb3IiLgpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2VtdTEwazEvZW11MTBrMV9tYWluLmMgYi9zb3VuZC9wY2kvZW11MTBrMS9lbXUxMGsxX21haW4uYwppbmRleCA1NDhjOWNjLi4yZjI4M2VhIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvZW11MTBrMS9lbXUxMGsxX21haW4uYworKysgYi9zb3VuZC9wY2kvZW11MTBrMS9lbXUxMGsxX21haW4uYwpAQCAtMTUyOCw2ICsxNTI4LDcgQEAKIAkgLmNhMDE1MV9jaGlwID0gMSwKIAkgLnNwazcxID0gMSwKIAkgLnNwZGlmX2J1ZyA9IDEsCisJIC5pbnZlcnRfc2hhcmVkX3NwZGlmID0gMSwJLyogZGlnaXRhbC9hbmFsb2cgc3dpdGNoIHN3YXBwZWQgKi8KIAkgLmFkY18xMzYxdCA9IDEsICAvKiAyNCBiaXQgY2FwdHVyZSBpbnN0ZWFkIG9mIDE2Yml0LiBGaXhlcyBBTFNBIGJ1ZyMzMjQgKi8KIAkgLmFjOTdfY2hpcCA9IDF9ICwKIAl7LnZlbmRvciA9IDB4MTEwMiwgLmRldmljZSA9IDB4MDAwNCwgLnJldmlzaW9uID0gMHgwNCwKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9lbXUxMGsxL2VtdW1peGVyLmMgYi9zb3VuZC9wY2kvZW11MTBrMS9lbXVtaXhlci5jCmluZGV4IGZkMjIxMjAuLmYzNGJiZmIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9lbXUxMGsxL2VtdW1peGVyLmMKKysrIGIvc291bmQvcGNpL2VtdTEwazEvZW11bWl4ZXIuYwpAQCAtMTU3OCw2ICsxNTc4LDEwIEBACiAJCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gaW5sKGVtdS0+cG9ydCArIEFfSU9DRkcpICYgQV9JT0NGR19HUE9VVDAgPyAxIDogMDsKIAllbHNlCiAJCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gaW5sKGVtdS0+cG9ydCArIEhDRkcpICYgSENGR19HUE9VVDAgPyAxIDogMDsKKwlpZiAoZW11LT5jYXJkX2NhcGFiaWxpdGllcy0+aW52ZXJ0X3NoYXJlZF9zcGRpZikKKwkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPQorCQkJIXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdOworCQkKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTU4NiwxNSArMTU5MCwxOCBAQAogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IHNuZF9lbXUxMGsxICplbXUgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7Ci0JdW5zaWduZWQgaW50IHJlZywgdmFsOworCXVuc2lnbmVkIGludCByZWcsIHZhbCwgc3c7CiAJaW50IGNoYW5nZSA9IDA7CiAKKwlzdyA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdOworCWlmIChlbXUtPmNhcmRfY2FwYWJpbGl0aWVzLT5pbnZlcnRfc2hhcmVkX3NwZGlmKQorCQlzdyA9ICFzdzsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZW11LT5yZWdfbG9jaywgZmxhZ3MpOwogCWlmICggZW11LT5jYXJkX2NhcGFiaWxpdGllcy0+aTJjX2FkYykgewogCQkvKiBEbyBub3RoaW5nIGZvciBBdWRpZ3kgMiBaUyBOb3RlYm9vayAqLwogCX0gZWxzZSBpZiAoZW11LT5hdWRpZ3kpIHsKIAkJcmVnID0gaW5sKGVtdS0+cG9ydCArIEFfSU9DRkcpOwotCQl2YWwgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA/IEFfSU9DRkdfR1BPVVQwIDogMDsKKwkJdmFsID0gc3cgPyBBX0lPQ0ZHX0dQT1VUMCA6IDA7CiAJCWNoYW5nZSA9IChyZWcgJiBBX0lPQ0ZHX0dQT1VUMCkgIT0gdmFsOwogCQlpZiAoY2hhbmdlKSB7CiAJCQlyZWcgJj0gfkFfSU9DRkdfR1BPVVQwOwpAQCAtMTYwMyw3ICsxNjEwLDcgQEAKIAkJfQogCX0KIAlyZWcgPSBpbmwoZW11LT5wb3J0ICsgSENGRyk7Ci0JdmFsID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPyBIQ0ZHX0dQT1VUMCA6IDA7CisJdmFsID0gc3cgPyBIQ0ZHX0dQT1VUMCA6IDA7CiAJY2hhbmdlIHw9IChyZWcgJiBIQ0ZHX0dQT1VUMCkgIT0gdmFsOwogCWlmIChjaGFuZ2UpIHsKIAkJcmVnICY9IH5IQ0ZHX0dQT1VUMDsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9lbXUxMGsxL21lbW9yeS5jIGIvc291bmQvcGNpL2VtdTEwazEvbWVtb3J5LmMKaW5kZXggOTE2YzFkYi4uN2QzNzlmNSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2VtdTEwazEvbWVtb3J5LmMKKysrIGIvc291bmQvcGNpL2VtdTEwazEvbWVtb3J5LmMKQEAgLTQzNyw0MyArNDM3LDQ5IEBACiAJKmxhc3RfcGFnZV9yZXQgPSBsYXN0X3BhZ2U7CiB9CiAKKy8qIHJlbGVhc2UgYWxsb2NhdGVkIHBhZ2VzICovCitzdGF0aWMgdm9pZCBfX3N5bnRoX2ZyZWVfcGFnZXMoc3RydWN0IHNuZF9lbXUxMGsxICplbXUsIGludCBmaXJzdF9wYWdlLAorCQkJICAgICAgIGludCBsYXN0X3BhZ2UpCit7CisJaW50IHBhZ2U7CisKKwlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKSB7CisJCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZyllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdKTsKKwkJZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV0gPSAwOworCQllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID0gTlVMTDsKKwl9Cit9CisKIC8qCiAgKiBhbGxvY2F0ZSBrZXJuZWwgcGFnZXMKICAqLwogc3RhdGljIGludCBzeW50aF9hbGxvY19wYWdlcyhzdHJ1Y3Qgc25kX2VtdTEwazEgKmVtdSwgc3RydWN0IHNuZF9lbXUxMGsxX21lbWJsayAqYmxrKQogewogCWludCBwYWdlLCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7Ci0Jc3RydWN0IHNuZF9kbWFfYnVmZmVyIGRtYWI7CiAKIAllbXUxMGsxX21lbWJsa19pbml0KGJsayk7CiAJZ2V0X3NpbmdsZV9wYWdlX3JhbmdlKGVtdS0+bWVtaGRyLCBibGssICZmaXJzdF9wYWdlLCAmbGFzdF9wYWdlKTsKIAkvKiBhbGxvY2F0ZSBrZXJuZWwgcGFnZXMgKi8KIAlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKSB7Ci0JCWlmIChzbmRfZG1hX2FsbG9jX3BhZ2VzKFNORFJWX0RNQV9UWVBFX0RFViwgc25kX2RtYV9wY2lfZGF0YShlbXUtPnBjaSksCi0JCQkJCVBBR0VfU0laRSwgJmRtYWIpIDwgMCkKLQkJCWdvdG8gX19mYWlsOwotCQlpZiAoISBpc192YWxpZF9wYWdlKGVtdSwgZG1hYi5hZGRyKSkgewotCQkJc25kX2RtYV9mcmVlX3BhZ2VzKCZkbWFiKTsKLQkJCWdvdG8gX19mYWlsOworCQkvKiBmaXJzdCB0cnkgdG8gYWxsb2NhdGUgZnJvbSA8NEdCIHpvbmUgKi8KKwkJc3RydWN0IHBhZ2UgKnAgPSBhbGxvY19wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BMzIgfAorCQkJCQkgICAgX19HRlBfTk9XQVJOKTsKKwkJaWYgKCFwIHx8IChwYWdlX3RvX3BmbihwKSAmIH4oZW11LT5kbWFfbWFzayA+PiBQQUdFX1NISUZUKSkpIHsKKwkJCWlmIChwKQorCQkJCV9fZnJlZV9wYWdlKHApOworCQkJLyogdHJ5IHRvIGFsbG9jYXRlIGZyb20gPDE2TUIgem9uZSAqLworCQkJcCA9IGFsbG9jX3BhZ2UoR0ZQX0FUT01JQyB8IEdGUF9ETUEgfAorCQkJCSAgICAgICBfX0dGUF9OT1JFVFJZIHwgLyogbm8gT09NLWtpbGxlciAqLworCQkJCSAgICAgICBfX0dGUF9OT1dBUk4pOwogCQl9Ci0JCWVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdID0gZG1hYi5hZGRyOwotCQllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID0gZG1hYi5hcmVhOworCQlpZiAoIXApIHsKKwkJCV9fc3ludGhfZnJlZV9wYWdlcyhlbXUsIGZpcnN0X3BhZ2UsIHBhZ2UgLSAxKTsKKwkJCXJldHVybiAtRU5PTUVNOworCQl9CisJCWVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdID0gcGFnZV90b19waHlzKHApOworCQllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID0gcGFnZV9hZGRyZXNzKHApOwogCX0KIAlyZXR1cm4gMDsKLQotX19mYWlsOgotCS8qIHJlbGVhc2UgYWxsb2NhdGVkIHBhZ2VzICovCi0JbGFzdF9wYWdlID0gcGFnZSAtIDE7Ci0JZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykgewotCQlkbWFiLmFyZWEgPSBlbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdOwotCQlkbWFiLmFkZHIgPSBlbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXTsKLQkJZG1hYi5ieXRlcyA9IFBBR0VfU0laRTsKLQkJc25kX2RtYV9mcmVlX3BhZ2VzKCZkbWFiKTsKLQkJZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV0gPSAwOwotCQllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID0gTlVMTDsKLQl9Ci0KLQlyZXR1cm4gLUVOT01FTTsKIH0KIAogLyoKQEAgLTQ4MSwyMyArNDg3LDEwIEBACiAgKi8KIHN0YXRpYyBpbnQgc3ludGhfZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX2VtdTEwazEgKmVtdSwgc3RydWN0IHNuZF9lbXUxMGsxX21lbWJsayAqYmxrKQogewotCWludCBwYWdlLCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7Ci0Jc3RydWN0IHNuZF9kbWFfYnVmZmVyIGRtYWI7CisJaW50IGZpcnN0X3BhZ2UsIGxhc3RfcGFnZTsKIAogCWdldF9zaW5nbGVfcGFnZV9yYW5nZShlbXUtPm1lbWhkciwgYmxrLCAmZmlyc3RfcGFnZSwgJmxhc3RfcGFnZSk7Ci0JZG1hYi5kZXYudHlwZSA9IFNORFJWX0RNQV9UWVBFX0RFVjsKLQlkbWFiLmRldi5kZXYgPSBzbmRfZG1hX3BjaV9kYXRhKGVtdS0+cGNpKTsKLQlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKSB7Ci0JCWlmIChlbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID09IE5VTEwpCi0JCQljb250aW51ZTsKLQkJZG1hYi5hcmVhID0gZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXTsKLQkJZG1hYi5hZGRyID0gZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV07Ci0JCWRtYWIuYnl0ZXMgPSBQQUdFX1NJWkU7Ci0JCXNuZF9kbWFfZnJlZV9wYWdlcygmZG1hYik7Ci0JCWVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdID0gMDsKLQkJZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9IE5VTEw7Ci0JfQotCisJX19zeW50aF9mcmVlX3BhZ2VzKGVtdSwgZmlyc3RfcGFnZSwgbGFzdF9wYWdlKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuYyBiL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmMKaW5kZXggYTZiZTZlMy4uZDJlMTA5MyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuYworKysgYi9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5jCkBAIC0yMzM1LDcgKzIzMzUsNyBAQAogCWlmICghdGJsKQogCQlyZXR1cm4gLTE7CiAJaWYgKHRibC0+dmFsdWUgPj0gMCAmJiB0YmwtPnZhbHVlIDwgbnVtX2NvbmZpZ3MpIHsKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCQljaGFyIHRtcFsxMF07CiAJCWNvbnN0IGNoYXIgKm1vZGVsID0gTlVMTDsKIAkJaWYgKG1vZGVscykKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmggYi9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5oCmluZGV4IGRjZDM5MGIuLmVmYzY4MjggMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmgKKysrIGIvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuaApAQCAtNzgsNyArNzgsNyBAQAogI2RlZmluZSBBQ19WRVJCX0dFVF9CRUVQX0NPTlRST0wJCTB4MGYwYQogI2RlZmluZSBBQ19WRVJCX0dFVF9FQVBEX0JUTEVOQUJMRQkJMHgwZjBjCiAjZGVmaW5lIEFDX1ZFUkJfR0VUX0RJR0lfQ09OVkVSVF8xCQkweDBmMGQKLSNkZWZpbmUgQUNfVkVSQl9HRVRfRElHSV9DT05WRVJUXzIJCTB4MGYwZQorI2RlZmluZSBBQ19WRVJCX0dFVF9ESUdJX0NPTlZFUlRfMgkJMHgwZjBlIC8qIHVudXNlZCAqLwogI2RlZmluZSBBQ19WRVJCX0dFVF9WT0xVTUVfS05PQl9DT05UUk9MCQkweDBmMGYKIC8qIGYxMC1mMWE6IEdQSU8gKi8KICNkZWZpbmUgQUNfVkVSQl9HRVRfR1BJT19EQVRBCQkJMHgwZjE1CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL2hkYV9od2RlcC5jIGIvc291bmQvcGNpL2hkYS9oZGFfaHdkZXAuYwppbmRleCAyMTc3ZDlhLi42ZTE4YTQyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL2hkYV9od2RlcC5jCisrKyBiL3NvdW5kL3BjaS9oZGEvaGRhX2h3ZGVwLmMKQEAgLTg4LDcgKzg4LDcgQEAKIAogc3RhdGljIGludCBoZGFfaHdkZXBfb3BlbihzdHJ1Y3Qgc25kX2h3ZGVwICpodywgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0jaWZuZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZuZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWlmICghY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkKIAkJcmV0dXJuIC1FQUNDRVM7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvaGRhX2ludGVsLmMgYi9zb3VuZC9wY2kvaGRhL2hkYV9pbnRlbC5jCmluZGV4IGIzYTYxOGUuLjE2NzE1YTYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvaGRhX2ludGVsLmMKKysrIGIvc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYwpAQCAtNTUsNiArNTUsNyBAQAogc3RhdGljIGludCBlbmFibGVbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9FTkFCTEVfUE5QOwogc3RhdGljIGNoYXIgKm1vZGVsW1NORFJWX0NBUkRTXTsKIHN0YXRpYyBpbnQgcG9zaXRpb25fZml4W1NORFJWX0NBUkRTXTsKK3N0YXRpYyBpbnQgYmRsX3Bvc19hZGpbU05EUlZfQ0FSRFNdID0ge1swIC4uLiAoU05EUlZfQ0FSRFMtMSldID0gLTF9Owogc3RhdGljIGludCBwcm9iZV9tYXNrW1NORFJWX0NBUkRTXSA9IHtbMCAuLi4gKFNORFJWX0NBUkRTLTEpXSA9IC0xfTsKIHN0YXRpYyBpbnQgc2luZ2xlX2NtZDsKIHN0YXRpYyBpbnQgZW5hYmxlX21zaTsKQEAgLTY5LDcgKzcwLDkgQEAKIE1PRFVMRV9QQVJNX0RFU0MobW9kZWwsICJVc2UgdGhlIGdpdmVuIGJvYXJkIG1vZGVsLiIpOwogbW9kdWxlX3BhcmFtX2FycmF5KHBvc2l0aW9uX2ZpeCwgaW50LCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MocG9zaXRpb25fZml4LCAiRml4IERNQSBwb2ludGVyICIKLQkJICIoMCA9IGF1dG8sIDEgPSBub25lLCAyID0gUE9TQlVGLCAzID0gRklGTyBzaXplKS4iKTsKKwkJICIoMCA9IGF1dG8sIDEgPSBub25lLCAyID0gUE9TQlVGKS4iKTsKK21vZHVsZV9wYXJhbV9hcnJheShiZGxfcG9zX2FkaiwgaW50LCBOVUxMLCAwNjQ0KTsKK01PRFVMRV9QQVJNX0RFU0MoYmRsX3Bvc19hZGosICJCREwgcG9zaXRpb24gYWRqdXN0bWVudCBvZmZzZXQuIik7CiBtb2R1bGVfcGFyYW1fYXJyYXkocHJvYmVfbWFzaywgaW50LCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MocHJvYmVfbWFzaywgIkJpdG1hc2sgdG8gcHJvYmUgY29kZWNzIChkZWZhdWx0ID0gLTEpLiIpOwogbW9kdWxlX3BhcmFtKHNpbmdsZV9jbWQsIGJvb2wsIDA0NDQpOwpAQCAtMTk3LDYgKzIwMCwxMCBAQAogI2RlZmluZSBBVElIRE1JX05VTV9DQVBUVVJFCTAKICNkZWZpbmUgQVRJSERNSV9OVU1fUExBWUJBQ0sJMQogCisvKiBURVJBIGhhcyA0IHBsYXliYWNrIGFuZCAzIGNhcHR1cmUgKi8KKyNkZWZpbmUgVEVSQV9OVU1fQ0FQVFVSRQkzCisjZGVmaW5lIFRFUkFfTlVNX1BMQVlCQUNLCTQKKwogLyogdGhpcyBudW1iZXIgaXMgc3RhdGljYWxseSBkZWZpbmVkIGZvciBzaW1wbGljaXR5ICovCiAjZGVmaW5lIE1BWF9BWlhfREVWCQkxNgogCkBAIC0yNTksOSArMjY2LDggQEAKIC8qIHBvc2l0aW9uIGZpeCBtb2RlICovCiBlbnVtIHsKIAlQT1NfRklYX0FVVE8sCi0JUE9TX0ZJWF9OT05FLAorCVBPU19GSVhfTFBJQiwKIAlQT1NfRklYX1BPU0JVRiwKLQlQT1NfRklYX0ZJRk8sCiB9OwogCiAvKiBEZWZpbmVzIGZvciBBVEkgSEQgQXVkaW8gc3VwcG9ydCBpbiBTQjQ1MCBzb3V0aCBicmlkZ2UgKi8KQEAgLTI4NSw2ICsyOTEsNyBAQAogCXUzMiAqcG9zYnVmOwkJLyogcG9zaXRpb24gYnVmZmVyIHBvaW50ZXIgKi8KIAogCXVuc2lnbmVkIGludCBidWZzaXplOwkvKiBzaXplIG9mIHRoZSBwbGF5IGJ1ZmZlciBpbiBieXRlcyAqLworCXVuc2lnbmVkIGludCBwZXJpb2RfYnl0ZXM7IC8qIHNpemUgb2YgdGhlIHBlcmlvZCBpbiBieXRlcyAqLwogCXVuc2lnbmVkIGludCBmcmFnczsJLyogbnVtYmVyIGZvciBwZXJpb2QgaW4gdGhlIHBsYXkgYnVmZmVyICovCiAJdW5zaWduZWQgaW50IGZpZm9fc2l6ZTsJLyogRklGTyBzaXplICovCiAKQEAgLTMwMSwxMSArMzA4LDExIEBACiAJCQkJCSAqLwogCXVuc2lnbmVkIGNoYXIgc3RyZWFtX3RhZzsJLyogYXNzaWduZWQgc3RyZWFtICovCiAJdW5zaWduZWQgY2hhciBpbmRleDsJCS8qIHN0cmVhbSBpbmRleCAqLwotCS8qIGZvciBzYW5pdHkgY2hlY2sgb2YgcG9zaXRpb24gYnVmZmVyICovCi0JdW5zaWduZWQgaW50IHBlcmlvZF9pbnRyOwogCiAJdW5zaWduZWQgaW50IG9wZW5lZCA6MTsKIAl1bnNpZ25lZCBpbnQgcnVubmluZyA6MTsKKwl1bnNpZ25lZCBpbnQgaXJxX3BlbmRpbmcgOjE7CisJdW5zaWduZWQgaW50IGlycV9pZ25vcmUgOjE7CiB9OwogCiAvKiBDT1JCL1JJUkIgKi8KQEAgLTMyMyw2ICszMzAsNyBAQAogc3RydWN0IGF6eCB7CiAJc3RydWN0IHNuZF9jYXJkICpjYXJkOwogCXN0cnVjdCBwY2lfZGV2ICpwY2k7CisJaW50IGRldl9pbmRleDsKIAogCS8qIGNoaXAgdHlwZSBzcGVjaWZpYyAqLwogCWludCBkcml2ZXJfdHlwZTsKQEAgLTM2Niw5ICszNzQsMTMgQEAKIAl1bnNpZ25lZCBpbnQgc2luZ2xlX2NtZCA6MTsKIAl1bnNpZ25lZCBpbnQgcG9sbGluZ19tb2RlIDoxOwogCXVuc2lnbmVkIGludCBtc2kgOjE7CisJdW5zaWduZWQgaW50IGlycV9wZW5kaW5nX3dhcm5lZCA6MTsKIAogCS8qIGZvciBkZWJ1Z2dpbmcgKi8KIAl1bnNpZ25lZCBpbnQgbGFzdF9jbWQ7CS8qIGxhc3QgaXNzdWVkIGNvbW1hbmQgKHRvIHN5bmMpICovCisKKwkvKiBmb3IgcGVuZGluZyBpcnFzICovCisJc3RydWN0IHdvcmtfc3RydWN0IGlycV9wZW5kaW5nX3dvcms7CiB9OwogCiAvKiBkcml2ZXIgdHlwZXMgKi8KQEAgLTM4MSw2ICszOTMsNyBAQAogCUFaWF9EUklWRVJfU0lTLAogCUFaWF9EUklWRVJfVUxJLAogCUFaWF9EUklWRVJfTlZJRElBLAorCUFaWF9EUklWRVJfVEVSQSwKIH07CiAKIHN0YXRpYyBjaGFyICpkcml2ZXJfc2hvcnRfbmFtZXNbXSBfX2RldmluaXRkYXRhID0gewpAQCAtMzkyLDYgKzQwNSw3IEBACiAJW0FaWF9EUklWRVJfU0lTXSA9ICJIREEgU0lTOTY2IiwKIAlbQVpYX0RSSVZFUl9VTEldID0gIkhEQSBVTEkgTTU0NjEiLAogCVtBWlhfRFJJVkVSX05WSURJQV0gPSAiSERBIE5WaWRpYSIsCisJW0FaWF9EUklWRVJfVEVSQV0gPSAiSERBIFRlcmFkaWNpIiwgCiB9OwogCiAvKgpAQCAtNDI2LDExICs0NDAsNiBAQAogLyogZm9yIHBjbSBzdXBwb3J0ICovCiAjZGVmaW5lIGdldF9henhfZGV2KHN1YnN0cmVhbSkgKHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhKQogCi0vKiBHZXQgdGhlIHVwcGVyIDMyYml0IG9mIHRoZSBnaXZlbiBkbWFfYWRkcl90Ci0gKiBDb21waWxlciBzaG91bGQgb3B0aW1pemUgYW5kIGVsaW1pbmF0ZSB0aGUgY29kZSBpZiBkbWFfYWRkcl90IGlzIDMyYml0Ci0gKi8KLSNkZWZpbmUgdXBwZXJfMzJiaXQoYWRkcikgKHNpemVvZihhZGRyKSA+IDQgPyAodTMyKSgoYWRkcikgPj4gMzIpIDogKHUzMikwKQotCiBzdGF0aWMgaW50IGF6eF9hY3F1aXJlX2lycShzdHJ1Y3QgYXp4ICpjaGlwLCBpbnQgZG9fZGlzY29ubmVjdCk7CiAKIC8qCkBAIC00NjEsNyArNDcwLDcgQEAKIAljaGlwLT5jb3JiLmFkZHIgPSBjaGlwLT5yYi5hZGRyOwogCWNoaXAtPmNvcmIuYnVmID0gKHUzMiAqKWNoaXAtPnJiLmFyZWE7CiAJYXp4X3dyaXRlbChjaGlwLCBDT1JCTEJBU0UsICh1MzIpY2hpcC0+Y29yYi5hZGRyKTsKLQlhenhfd3JpdGVsKGNoaXAsIENPUkJVQkFTRSwgdXBwZXJfMzJiaXQoY2hpcC0+Y29yYi5hZGRyKSk7CisJYXp4X3dyaXRlbChjaGlwLCBDT1JCVUJBU0UsIHVwcGVyXzMyX2JpdHMoY2hpcC0+Y29yYi5hZGRyKSk7CiAKIAkvKiBzZXQgdGhlIGNvcmIgc2l6ZSB0byAyNTYgZW50cmllcyAoVUxJIHJlcXVpcmVzIGV4cGxpY2l0bHkpICovCiAJYXp4X3dyaXRlYihjaGlwLCBDT1JCU0laRSwgMHgwMik7CkBAIC00NzYsNyArNDg1LDcgQEAKIAljaGlwLT5yaXJiLmFkZHIgPSBjaGlwLT5yYi5hZGRyICsgMjA0ODsKIAljaGlwLT5yaXJiLmJ1ZiA9ICh1MzIgKikoY2hpcC0+cmIuYXJlYSArIDIwNDgpOwogCWF6eF93cml0ZWwoY2hpcCwgUklSQkxCQVNFLCAodTMyKWNoaXAtPnJpcmIuYWRkcik7Ci0JYXp4X3dyaXRlbChjaGlwLCBSSVJCVUJBU0UsIHVwcGVyXzMyYml0KGNoaXAtPnJpcmIuYWRkcikpOworCWF6eF93cml0ZWwoY2hpcCwgUklSQlVCQVNFLCB1cHBlcl8zMl9iaXRzKGNoaXAtPnJpcmIuYWRkcikpOwogCiAJLyogc2V0IHRoZSByaXJiIHNpemUgdG8gMjU2IGVudHJpZXMgKFVMSSByZXF1aXJlcyBleHBsaWNpdGx5KSAqLwogCWF6eF93cml0ZWIoY2hpcCwgUklSQlNJWkUsIDB4MDIpOwpAQCAtODQ3LDcgKzg1Niw3IEBACiAKIAkvKiBwcm9ncmFtIHRoZSBwb3NpdGlvbiBidWZmZXIgKi8KIAlhenhfd3JpdGVsKGNoaXAsIERQTEJBU0UsICh1MzIpY2hpcC0+cG9zYnVmLmFkZHIpOwotCWF6eF93cml0ZWwoY2hpcCwgRFBVQkFTRSwgdXBwZXJfMzJiaXQoY2hpcC0+cG9zYnVmLmFkZHIpKTsKKwlhenhfd3JpdGVsKGNoaXAsIERQVUJBU0UsIHVwcGVyXzMyX2JpdHMoY2hpcC0+cG9zYnVmLmFkZHIpKTsKIAogCWNoaXAtPmluaXRpYWxpemVkID0gMTsKIH0KQEAgLTkwOCw2ICs5MTcsOCBAQAogfQogCiAKK3N0YXRpYyBpbnQgYXp4X3Bvc2l0aW9uX29rKHN0cnVjdCBhenggKmNoaXAsIHN0cnVjdCBhenhfZGV2ICphenhfZGV2KTsKKwogLyoKICAqIGludGVycnVwdCBoYW5kbGVyCiAgKi8KQEAgLTkzMCwxMSArOTQxLDIzIEBACiAJCWF6eF9kZXYgPSAmY2hpcC0+YXp4X2RldltpXTsKIAkJaWYgKHN0YXR1cyAmIGF6eF9kZXYtPnNkX2ludF9zdGFfbWFzaykgewogCQkJYXp4X3NkX3dyaXRlYihhenhfZGV2LCBTRF9TVFMsIFNEX0lOVF9NQVNLKTsKLQkJCWlmIChhenhfZGV2LT5zdWJzdHJlYW0gJiYgYXp4X2Rldi0+cnVubmluZykgewotCQkJCWF6eF9kZXYtPnBlcmlvZF9pbnRyKys7CisJCQlpZiAoIWF6eF9kZXYtPnN1YnN0cmVhbSB8fCAhYXp4X2Rldi0+cnVubmluZykKKwkJCQljb250aW51ZTsKKwkJCS8qIGlnbm9yZSB0aGUgZmlyc3QgZHVtbXkgSVJRIChkdWUgdG8gcG9zX2FkaikgKi8KKwkJCWlmIChhenhfZGV2LT5pcnFfaWdub3JlKSB7CisJCQkJYXp4X2Rldi0+aXJxX2lnbm9yZSA9IDA7CisJCQkJY29udGludWU7CisJCQl9CisJCQkvKiBjaGVjayB3aGV0aGVyIHRoaXMgSVJRIGlzIHJlYWxseSBhY2NlcHRhYmxlICovCisJCQlpZiAoYXp4X3Bvc2l0aW9uX29rKGNoaXAsIGF6eF9kZXYpKSB7CisJCQkJYXp4X2Rldi0+aXJxX3BlbmRpbmcgPSAwOwogCQkJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAJCQkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChhenhfZGV2LT5zdWJzdHJlYW0pOwogCQkJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOworCQkJfSBlbHNlIHsKKwkJCQkvKiBib2d1cyBJUlEsIHByb2Nlc3MgaXQgbGF0ZXIgKi8KKwkJCQlhenhfZGV2LT5pcnFfcGVuZGluZyA9IDE7CisJCQkJc2NoZWR1bGVfd29yaygmY2hpcC0+aXJxX3BlbmRpbmdfd29yayk7CiAJCQl9CiAJCX0KIAl9CkBAIC05NTksNTkgKzk4MiwxMDcgQEAKIAogCiAvKgotICogc2V0IHVwIEJETCBlbnRyaWVzCisgKiBzZXQgdXAgYSBCREwgZW50cnkKICAqLwotc3RhdGljIGludCBhenhfc2V0dXBfcGVyaW9kcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKLQkJCSAgICAgc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYpCitzdGF0aWMgaW50IHNldHVwX2JkbGUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCSAgICAgIHN0cnVjdCBhenhfZGV2ICphenhfZGV2LCB1MzIgKipiZGxwLAorCQkgICAgICBpbnQgb2ZzLCBpbnQgc2l6ZSwgaW50IHdpdGhfaW9jKQogewogCXN0cnVjdCBzbmRfc2dfYnVmICpzZ2J1ZiA9IHNuZF9wY21fc3Vic3RyZWFtX3NnYnVmKHN1YnN0cmVhbSk7CisJdTMyICpiZGwgPSAqYmRscDsKKworCXdoaWxlIChzaXplID4gMCkgeworCQlkbWFfYWRkcl90IGFkZHI7CisJCWludCBjaHVuazsKKworCQlpZiAoYXp4X2Rldi0+ZnJhZ3MgPj0gQVpYX01BWF9CRExfRU5UUklFUykKKwkJCXJldHVybiAtRUlOVkFMOworCisJCWFkZHIgPSBzbmRfcGNtX3NnYnVmX2dldF9hZGRyKHNnYnVmLCBvZnMpOworCQkvKiBwcm9ncmFtIHRoZSBhZGRyZXNzIGZpZWxkIG9mIHRoZSBCREwgZW50cnkgKi8KKwkJYmRsWzBdID0gY3B1X3RvX2xlMzIoKHUzMilhZGRyKTsKKwkJYmRsWzFdID0gY3B1X3RvX2xlMzIodXBwZXJfMzJfYml0cyhhZGRyKSk7CisJCS8qIHByb2dyYW0gdGhlIHNpemUgZmllbGQgb2YgdGhlIEJETCBlbnRyeSAqLworCQljaHVuayA9IFBBR0VfU0laRSAtIChvZnMgJSBQQUdFX1NJWkUpOworCQlpZiAoc2l6ZSA8IGNodW5rKQorCQkJY2h1bmsgPSBzaXplOworCQliZGxbMl0gPSBjcHVfdG9fbGUzMihjaHVuayk7CisJCS8qIHByb2dyYW0gdGhlIElPQyB0byBlbmFibGUgaW50ZXJydXB0CisJCSAqIG9ubHkgd2hlbiB0aGUgd2hvbGUgZnJhZ21lbnQgaXMgcHJvY2Vzc2VkCisJCSAqLworCQlzaXplIC09IGNodW5rOworCQliZGxbM10gPSAoc2l6ZSB8fCAhd2l0aF9pb2MpID8gMCA6IGNwdV90b19sZTMyKDB4MDEpOworCQliZGwgKz0gNDsKKwkJYXp4X2Rldi0+ZnJhZ3MrKzsKKwkJb2ZzICs9IGNodW5rOworCX0KKwkqYmRscCA9IGJkbDsKKwlyZXR1cm4gb2ZzOworfQorCisvKgorICogc2V0IHVwIEJETCBlbnRyaWVzCisgKi8KK3N0YXRpYyBpbnQgYXp4X3NldHVwX3BlcmlvZHMoc3RydWN0IGF6eCAqY2hpcCwKKwkJCSAgICAgc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkgICAgIHN0cnVjdCBhenhfZGV2ICphenhfZGV2KQorewogCXUzMiAqYmRsOwogCWludCBpLCBvZnMsIHBlcmlvZHMsIHBlcmlvZF9ieXRlczsKKwlpbnQgcG9zX2FkajsKIAogCS8qIHJlc2V0IEJETCBhZGRyZXNzICovCiAJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQTCwgMCk7CiAJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQVSwgMCk7CiAKIAlwZXJpb2RfYnl0ZXMgPSBzbmRfcGNtX2xpYl9wZXJpb2RfYnl0ZXMoc3Vic3RyZWFtKTsKKwlhenhfZGV2LT5wZXJpb2RfYnl0ZXMgPSBwZXJpb2RfYnl0ZXM7CiAJcGVyaW9kcyA9IGF6eF9kZXYtPmJ1ZnNpemUgLyBwZXJpb2RfYnl0ZXM7CiAKIAkvKiBwcm9ncmFtIHRoZSBpbml0aWFsIEJETCBlbnRyaWVzICovCiAJYmRsID0gKHUzMiAqKWF6eF9kZXYtPmJkbC5hcmVhOwogCW9mcyA9IDA7CiAJYXp4X2Rldi0+ZnJhZ3MgPSAwOwotCWZvciAoaSA9IDA7IGkgPCBwZXJpb2RzOyBpKyspIHsKLQkJaW50IHNpemUsIHJlc3Q7Ci0JCWlmIChpID49IEFaWF9NQVhfQkRMX0VOVFJJRVMpIHsKLQkJCXNuZF9wcmludGsoS0VSTl9FUlIgIlRvbyBtYW55IEJETCBlbnRyaWVzOiAiCi0JCQkJICAgImJ1ZmZlcj0lZCwgcGVyaW9kPSVkXG4iLAotCQkJCSAgIGF6eF9kZXYtPmJ1ZnNpemUsIHBlcmlvZF9ieXRlcyk7Ci0JCQkvKiByZXNldCAqLwotCQkJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQTCwgMCk7Ci0JCQlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBVLCAwKTsKLQkJCXJldHVybiAtRUlOVkFMOworCWF6eF9kZXYtPmlycV9pZ25vcmUgPSAwOworCXBvc19hZGogPSBiZGxfcG9zX2FkaltjaGlwLT5kZXZfaW5kZXhdOworCWlmIChwb3NfYWRqID4gMCkgeworCQlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCQlwb3NfYWRqID0gKHBvc19hZGogKiBydW50aW1lLT5yYXRlICsgNDc5OTkpIC8gNDgwMDA7CisJCWlmICghcG9zX2FkaikKKwkJCXBvc19hZGogPSAxOworCQlwb3NfYWRqID0gZnJhbWVzX3RvX2J5dGVzKHJ1bnRpbWUsIHBvc19hZGopOworCQlpZiAocG9zX2FkaiA+PSBwZXJpb2RfYnl0ZXMpIHsKKwkJCXNuZF9wcmludGsoS0VSTl9XQVJOSU5HICJUb28gYmlnIGFkanVzdG1lbnQgJWRcbiIsCisJCQkJICAgYmRsX3Bvc19hZGpbY2hpcC0+ZGV2X2luZGV4XSk7CisJCQlwb3NfYWRqID0gMDsKKwkJfSBlbHNlIHsKKwkJCW9mcyA9IHNldHVwX2JkbGUoc3Vic3RyZWFtLCBhenhfZGV2LAorCQkJCQkgJmJkbCwgb2ZzLCBwb3NfYWRqLCAxKTsKKwkJCWlmIChvZnMgPCAwKQorCQkJCWdvdG8gZXJyb3I7CisJCQlhenhfZGV2LT5pcnFfaWdub3JlID0gMTsKIAkJfQotCQlyZXN0ID0gcGVyaW9kX2J5dGVzOwotCQlkbyB7Ci0JCQlkbWFfYWRkcl90IGFkZHIgPSBzbmRfcGNtX3NnYnVmX2dldF9hZGRyKHNnYnVmLCBvZnMpOwotCQkJLyogcHJvZ3JhbSB0aGUgYWRkcmVzcyBmaWVsZCBvZiB0aGUgQkRMIGVudHJ5ICovCi0JCQliZGxbMF0gPSBjcHVfdG9fbGUzMigodTMyKWFkZHIpOwotCQkJYmRsWzFdID0gY3B1X3RvX2xlMzIodXBwZXJfMzJiaXQoYWRkcikpOwotCQkJLyogcHJvZ3JhbSB0aGUgc2l6ZSBmaWVsZCBvZiB0aGUgQkRMIGVudHJ5ICovCi0JCQlzaXplID0gUEFHRV9TSVpFIC0gKG9mcyAlIFBBR0VfU0laRSk7Ci0JCQlpZiAocmVzdCA8IHNpemUpCi0JCQkJc2l6ZSA9IHJlc3Q7Ci0JCQliZGxbMl0gPSBjcHVfdG9fbGUzMihzaXplKTsKLQkJCS8qIHByb2dyYW0gdGhlIElPQyB0byBlbmFibGUgaW50ZXJydXB0Ci0JCQkgKiBvbmx5IHdoZW4gdGhlIHdob2xlIGZyYWdtZW50IGlzIHByb2Nlc3NlZAotCQkJICovCi0JCQlyZXN0IC09IHNpemU7Ci0JCQliZGxbM10gPSByZXN0ID8gMCA6IGNwdV90b19sZTMyKDB4MDEpOwotCQkJYmRsICs9IDQ7Ci0JCQlhenhfZGV2LT5mcmFncysrOwotCQkJb2ZzICs9IHNpemU7Ci0JCX0gd2hpbGUgKHJlc3QgPiAwKTsKKwl9IGVsc2UKKwkJcG9zX2FkaiA9IDA7CisJZm9yIChpID0gMDsgaSA8IHBlcmlvZHM7IGkrKykgeworCQlpZiAoaSA9PSBwZXJpb2RzIC0gMSAmJiBwb3NfYWRqKQorCQkJb2ZzID0gc2V0dXBfYmRsZShzdWJzdHJlYW0sIGF6eF9kZXYsICZiZGwsIG9mcywKKwkJCQkJIHBlcmlvZF9ieXRlcyAtIHBvc19hZGosIDApOworCQllbHNlCisJCQlvZnMgPSBzZXR1cF9iZGxlKHN1YnN0cmVhbSwgYXp4X2RldiwgJmJkbCwgb2ZzLAorCQkJCQkgcGVyaW9kX2J5dGVzLCAxKTsKKwkJaWYgKG9mcyA8IDApCisJCQlnb3RvIGVycm9yOwogCX0KIAlyZXR1cm4gMDsKKworIGVycm9yOgorCXNuZF9wcmludGsoS0VSTl9FUlIgIlRvbyBtYW55IEJETCBlbnRyaWVzOiBidWZmZXI9JWQsIHBlcmlvZD0lZFxuIiwKKwkJICAgYXp4X2Rldi0+YnVmc2l6ZSwgcGVyaW9kX2J5dGVzKTsKKwkvKiByZXNldCAqLworCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUEwsIDApOworCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUFUsIDApOworCXJldHVybiAtRUlOVkFMOwogfQogCiAvKgpAQCAtMTA2Miw3ICsxMTMzLDcgQEAKIAkvKiBsb3dlciBCREwgYWRkcmVzcyAqLwogCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUEwsICh1MzIpYXp4X2Rldi0+YmRsLmFkZHIpOwogCS8qIHVwcGVyIEJETCBhZGRyZXNzICovCi0JYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQVSwgdXBwZXJfMzJiaXQoYXp4X2Rldi0+YmRsLmFkZHIpKTsKKwlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBVLCB1cHBlcl8zMl9iaXRzKGF6eF9kZXYtPmJkbC5hZGRyKSk7CiAKIAkvKiBlbmFibGUgdGhlIHBvc2l0aW9uIGJ1ZmZlciAqLwogCWlmIChjaGlwLT5wb3NpdGlvbl9maXggPT0gUE9TX0ZJWF9QT1NCVUYgfHwKQEAgLTEwODUsNyArMTE1Niw3IEBACiAgKi8KIAogc3RhdGljIHVuc2lnbmVkIGludCBhenhfbWF4X2NvZGVjc1tdIF9fZGV2aW5pdGRhdGEgPSB7Ci0JW0FaWF9EUklWRVJfSUNIXSA9IDMsCisJW0FaWF9EUklWRVJfSUNIXSA9IDQsCQkvKiBTb21lIElDSDkgYm9hcmRzIHVzZSBTRDMgKi8KIAlbQVpYX0RSSVZFUl9TQ0hdID0gMywKIAlbQVpYX0RSSVZFUl9BVEldID0gNCwKIAlbQVpYX0RSSVZFUl9BVElIRE1JXSA9IDQsCkBAIC0xMDkzLDYgKzExNjQsNyBAQAogCVtBWlhfRFJJVkVSX1NJU10gPSAzLAkJLyogRklYTUU6IGNvcnJlY3Q/ICovCiAJW0FaWF9EUklWRVJfVUxJXSA9IDMsCQkvKiBGSVhNRTogY29ycmVjdD8gKi8KIAlbQVpYX0RSSVZFUl9OVklESUFdID0gMywJLyogRklYTUU6IGNvcnJlY3Q/ICovCisJW0FaWF9EUklWRVJfVEVSQV0gPSAxLAogfTsKIAogc3RhdGljIGludCBfX2RldmluaXQgYXp4X2NvZGVjX2NyZWF0ZShzdHJ1Y3QgYXp4ICpjaGlwLCBjb25zdCBjaGFyICptb2RlbCwKQEAgLTEzMTYsNyArMTM4OCw3IEBACiAKIAlzbmRfcHJpbnRkZCgiYXp4X3BjbV9wcmVwYXJlOiBidWZzaXplPTB4JXgsIGZvcm1hdD0weCV4XG4iLAogCQkgICAgYXp4X2Rldi0+YnVmc2l6ZSwgYXp4X2Rldi0+Zm9ybWF0X3ZhbCk7Ci0JaWYgKGF6eF9zZXR1cF9wZXJpb2RzKHN1YnN0cmVhbSwgYXp4X2RldikgPCAwKQorCWlmIChhenhfc2V0dXBfcGVyaW9kcyhjaGlwLCBzdWJzdHJlYW0sIGF6eF9kZXYpIDwgMCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAJYXp4X3NldHVwX2NvbnRyb2xsZXIoY2hpcCwgYXp4X2Rldik7CiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCkBAIC0xNDIxLDM1ICsxNDkzLDExMyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc25kX3BjbV91ZnJhbWVzX3QgYXp4X3BjbV9wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQorc3RhdGljIHVuc2lnbmVkIGludCBhenhfZ2V0X3Bvc2l0aW9uKHN0cnVjdCBhenggKmNoaXAsCisJCQkJICAgICBzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldikKIHsKLQlzdHJ1Y3QgYXp4X3BjbSAqYXBjbSA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzdHJ1Y3QgYXp4ICpjaGlwID0gYXBjbS0+Y2hpcDsKLQlzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldiA9IGdldF9henhfZGV2KHN1YnN0cmVhbSk7CiAJdW5zaWduZWQgaW50IHBvczsKIAogCWlmIChjaGlwLT5wb3NpdGlvbl9maXggPT0gUE9TX0ZJWF9QT1NCVUYgfHwKIAkgICAgY2hpcC0+cG9zaXRpb25fZml4ID09IFBPU19GSVhfQVVUTykgewogCQkvKiB1c2UgdGhlIHBvc2l0aW9uIGJ1ZmZlciAqLwogCQlwb3MgPSBsZTMyX3RvX2NwdSgqYXp4X2Rldi0+cG9zYnVmKTsKLQkJaWYgKGNoaXAtPnBvc2l0aW9uX2ZpeCA9PSBQT1NfRklYX0FVVE8gJiYKLQkJICAgIGF6eF9kZXYtPnBlcmlvZF9pbnRyID09IDEgJiYgIXBvcykgewotCQkJcHJpbnRrKEtFUk5fV0FSTklORwotCQkJICAgICAgICJoZGEtaW50ZWw6IEludmFsaWQgcG9zaXRpb24gYnVmZmVyLCAiCi0JCQkgICAgICAgInVzaW5nIExQSUIgcmVhZCBtZXRob2QgaW5zdGVhZC5cbiIpOwotCQkJY2hpcC0+cG9zaXRpb25fZml4ID0gUE9TX0ZJWF9OT05FOwotCQkJZ290byByZWFkX2xwaWI7Ci0JCX0KIAl9IGVsc2UgewotCXJlYWRfbHBpYjoKIAkJLyogcmVhZCBMUElCICovCiAJCXBvcyA9IGF6eF9zZF9yZWFkbChhenhfZGV2LCBTRF9MUElCKTsKLQkJaWYgKGNoaXAtPnBvc2l0aW9uX2ZpeCA9PSBQT1NfRklYX0ZJRk8pCi0JCQlwb3MgKz0gYXp4X2Rldi0+Zmlmb19zaXplOwogCX0KIAlpZiAocG9zID49IGF6eF9kZXYtPmJ1ZnNpemUpCiAJCXBvcyA9IDA7Ci0JcmV0dXJuIGJ5dGVzX3RvX2ZyYW1lcyhzdWJzdHJlYW0tPnJ1bnRpbWUsIHBvcyk7CisJcmV0dXJuIHBvczsKK30KKworc3RhdGljIHNuZF9wY21fdWZyYW1lc190IGF6eF9wY21fcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3QgYXp4X3BjbSAqYXBjbSA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3QgYXp4ICpjaGlwID0gYXBjbS0+Y2hpcDsKKwlzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldiA9IGdldF9henhfZGV2KHN1YnN0cmVhbSk7CisJcmV0dXJuIGJ5dGVzX3RvX2ZyYW1lcyhzdWJzdHJlYW0tPnJ1bnRpbWUsCisJCQkgICAgICAgYXp4X2dldF9wb3NpdGlvbihjaGlwLCBhenhfZGV2KSk7Cit9CisKKy8qCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IERNQSBwb3NpdGlvbiBpcyBhY2NlcHRhYmxlIGZvciB1cGRhdGluZworICogcGVyaW9kcy4gIFJldHVybnMgbm9uLXplcm8gaWYgaXQncyBPSy4KKyAqCisgKiBNYW55IEhELWF1ZGlvIGNvbnRyb2xsZXJzIGFwcGVhciBwcmV0dHkgaW5hY2N1cmF0ZSBhYm91dAorICogdGhlIHVwZGF0ZS1JUlEgdGltaW5nLiAgVGhlIElSUSBpcyBpc3N1ZWQgYmVmb3JlIGFjdHVhbGx5IHRoZQorICogZGF0YSBpcyBwcm9jZXNzZWQuICBTbywgd2UgbmVlZCB0byBwcm9jZXNzIGl0IGFmdGVyd29yZHMgaW4gYQorICogd29ya3F1ZXVlLgorICovCitzdGF0aWMgaW50IGF6eF9wb3NpdGlvbl9vayhzdHJ1Y3QgYXp4ICpjaGlwLCBzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldikKK3sKKwl1bnNpZ25lZCBpbnQgcG9zOworCisJcG9zID0gYXp4X2dldF9wb3NpdGlvbihjaGlwLCBhenhfZGV2KTsKKwlpZiAoY2hpcC0+cG9zaXRpb25fZml4ID09IFBPU19GSVhfQVVUTykgeworCQlpZiAoIXBvcykgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJICAgICAgICJoZGEtaW50ZWw6IEludmFsaWQgcG9zaXRpb24gYnVmZmVyLCAiCisJCQkgICAgICAgInVzaW5nIExQSUIgcmVhZCBtZXRob2QgaW5zdGVhZC5cbiIpOworCQkJY2hpcC0+cG9zaXRpb25fZml4ID0gUE9TX0ZJWF9MUElCOworCQkJcG9zID0gYXp4X2dldF9wb3NpdGlvbihjaGlwLCBhenhfZGV2KTsKKwkJfSBlbHNlCisJCQljaGlwLT5wb3NpdGlvbl9maXggPSBQT1NfRklYX1BPU0JVRjsKKwl9CisKKwlpZiAocG9zICUgYXp4X2Rldi0+cGVyaW9kX2J5dGVzID4gYXp4X2Rldi0+cGVyaW9kX2J5dGVzIC8gMikKKwkJcmV0dXJuIDA7IC8qIE5HIC0gaXQncyBiZWxvdyB0aGUgcGVyaW9kIGJvdW5kYXJ5ICovCisJcmV0dXJuIDE7IC8qIE9LLCBpdCdzIGZpbmUgKi8KK30KKworLyoKKyAqIFRoZSB3b3JrIGZvciBwZW5kaW5nIFBDTSBwZXJpb2QgdXBkYXRlcy4KKyAqLworc3RhdGljIHZvaWQgYXp4X2lycV9wZW5kaW5nX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBhenggKmNoaXAgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGF6eCwgaXJxX3BlbmRpbmdfd29yayk7CisJaW50IGksIHBlbmRpbmc7CisKKwlpZiAoIWNoaXAtPmlycV9wZW5kaW5nX3dhcm5lZCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCSAgICAgICAiaGRhLWludGVsOiBJUlEgdGltaW5nIHdvcmthcm91bmQgaXMgYWN0aXZhdGVkICIKKwkJICAgICAgICJmb3IgY2FyZCAjJWQuIFN1Z2dlc3QgYSBiaWdnZXIgYmRsX3Bvc19hZGouXG4iLAorCQkgICAgICAgY2hpcC0+Y2FyZC0+bnVtYmVyKTsKKwkJY2hpcC0+aXJxX3BlbmRpbmdfd2FybmVkID0gMTsKKwl9CisKKwlmb3IgKDs7KSB7CisJCXBlbmRpbmcgPSAwOworCQlzcGluX2xvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CisJCWZvciAoaSA9IDA7IGkgPCBjaGlwLT5udW1fc3RyZWFtczsgaSsrKSB7CisJCQlzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldiA9ICZjaGlwLT5henhfZGV2W2ldOworCQkJaWYgKCFhenhfZGV2LT5pcnFfcGVuZGluZyB8fAorCQkJICAgICFhenhfZGV2LT5zdWJzdHJlYW0gfHwKKwkJCSAgICAhYXp4X2Rldi0+cnVubmluZykKKwkJCQljb250aW51ZTsKKwkJCWlmIChhenhfcG9zaXRpb25fb2soY2hpcCwgYXp4X2RldikpIHsKKwkJCQlhenhfZGV2LT5pcnFfcGVuZGluZyA9IDA7CisJCQkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGF6eF9kZXYtPnN1YnN0cmVhbSk7CisJCQkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCQl9IGVsc2UKKwkJCQlwZW5kaW5nKys7CisJCX0KKwkJc3Bpbl91bmxvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CisJCWlmICghcGVuZGluZykKKwkJCXJldHVybjsKKwkJY29uZF9yZXNjaGVkKCk7CisJfQorfQorCisvKiBjbGVhciBpcnFfcGVuZGluZyBmbGFncyBhbmQgYXNzdXJlIG5vIG9uLWdvaW5nIHdvcmtxICovCitzdGF0aWMgdm9pZCBhenhfY2xlYXJfaXJxX3BlbmRpbmcoc3RydWN0IGF6eCAqY2hpcCkKK3sKKwlpbnQgaTsKKworCXNwaW5fbG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKKwlmb3IgKGkgPSAwOyBpIDwgY2hpcC0+bnVtX3N0cmVhbXM7IGkrKykKKwkJY2hpcC0+YXp4X2RldltpXS5pcnFfcGVuZGluZyA9IDA7CisJc3Bpbl91bmxvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CisJZmx1c2hfc2NoZWR1bGVkX3dvcmsoKTsKIH0KIAogc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBhenhfcGNtX29wcyA9IHsKQEAgLTE2NzYsNiArMTgyNiw3IEBACiAJaW50IGk7CiAKIAlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNhcmQsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJYXp4X2NsZWFyX2lycV9wZW5kaW5nKGNoaXApOwogCWZvciAoaSA9IDA7IGkgPCBBWlhfTUFYX1BDTVM7IGkrKykKIAkJc25kX3BjbV9zdXNwZW5kX2FsbChjaGlwLT5wY21baV0pOwogCWlmIChjaGlwLT5pbml0aWFsaXplZCkKQEAgLTE3MzIsNiArMTg4Myw3IEBACiAJaW50IGk7CiAKIAlpZiAoY2hpcC0+aW5pdGlhbGl6ZWQpIHsKKwkJYXp4X2NsZWFyX2lycV9wZW5kaW5nKGNoaXApOwogCQlmb3IgKGkgPSAwOyBpIDwgY2hpcC0+bnVtX3N0cmVhbXM7IGkrKykKIAkJCWF6eF9zdHJlYW1fc3RvcChjaGlwLCAmY2hpcC0+YXp4X2RldltpXSk7CiAJCWF6eF9zdG9wX2NoaXAoY2hpcCk7CkBAIC0xNzcwLDkgKzE5MjIsOSBAQAogICogd2hpdGUvYmxhY2stbGlzdGluZyBmb3IgcG9zaXRpb25fZml4CiAgKi8KIHN0YXRpYyBzdHJ1Y3Qgc25kX3BjaV9xdWlyayBwb3NpdGlvbl9maXhfbGlzdFtdIF9fZGV2aW5pdGRhdGEgPSB7Ci0JU05EX1BDSV9RVUlSSygweDEwMjgsIDB4MDFjYywgIkRlbGwgRDgyMCIsIFBPU19GSVhfTk9ORSksCi0JU05EX1BDSV9RVUlSSygweDEwMjgsIDB4MDFkZSwgIkRlbGwgUHJlY2lzaW9uIDM5MCIsIFBPU19GSVhfTk9ORSksCi0JU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODEzZCwgIkFTVVMgUDVBRDIiLCBQT1NfRklYX05PTkUpLAorCVNORF9QQ0lfUVVJUksoMHgxMDI4LCAweDAxY2MsICJEZWxsIEQ4MjAiLCBQT1NfRklYX0xQSUIpLAorCVNORF9QQ0lfUVVJUksoMHgxMDI4LCAweDAxZGUsICJEZWxsIFByZWNpc2lvbiAzOTAiLCBQT1NfRklYX0xQSUIpLAorCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDgxM2QsICJBU1VTIFA1QUQyIiwgUE9TX0ZJWF9MUElCKSwKIAl7fQogfTsKIApAQCAtMTg1NywxMiArMjAwOSwyNSBAQAogCWNoaXAtPmlycSA9IC0xOwogCWNoaXAtPmRyaXZlcl90eXBlID0gZHJpdmVyX3R5cGU7CiAJY2hpcC0+bXNpID0gZW5hYmxlX21zaTsKKwljaGlwLT5kZXZfaW5kZXggPSBkZXY7CisJSU5JVF9XT1JLKCZjaGlwLT5pcnFfcGVuZGluZ193b3JrLCBhenhfaXJxX3BlbmRpbmdfd29yayk7CiAKIAljaGlwLT5wb3NpdGlvbl9maXggPSBjaGVja19wb3NpdGlvbl9maXgoY2hpcCwgcG9zaXRpb25fZml4W2Rldl0pOwogCWNoZWNrX3Byb2JlX21hc2soY2hpcCwgZGV2KTsKIAogCWNoaXAtPnNpbmdsZV9jbWQgPSBzaW5nbGVfY21kOwogCisJaWYgKGJkbF9wb3NfYWRqW2Rldl0gPCAwKSB7CisJCXN3aXRjaCAoY2hpcC0+ZHJpdmVyX3R5cGUpIHsKKwkJY2FzZSBBWlhfRFJJVkVSX0lDSDoKKwkJCWJkbF9wb3NfYWRqW2Rldl0gPSAxOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQliZGxfcG9zX2FkaltkZXZdID0gMzI7CisJCQlicmVhazsKKwkJfQorCX0KKwogI2lmIEJJVFNfUEVSX0xPTkcgIT0gNjQKIAkvKiBGaXggdXAgYmFzZSBhZGRyZXNzIG9uIFVMSSBNNTQ2MSAqLwogCWlmIChjaGlwLT5kcml2ZXJfdHlwZSA9PSBBWlhfRFJJVkVSX1VMSSkgewpAQCAtMjA4OSw2ICsyMjU0LDcgQEAKIAl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDI3ZDgpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LAogCXsgUENJX0RFVklDRSgweDgwODYsIDB4MjY5YSksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCiAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgyODRiKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKKwl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDI5MTEpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LAogCXsgUENJX0RFVklDRSgweDgwODYsIDB4MjkzZSksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCiAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgyOTNmKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKIAl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDNhM2UpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LApAQCAtMjE0MSw2ICsyMzA3LDggQEAKIAl7IFBDSV9ERVZJQ0UoMHgxMGRlLCAweDBiZDUpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX05WSURJQSB9LAogCXsgUENJX0RFVklDRSgweDEwZGUsIDB4MGJkNiksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfTlZJRElBIH0sCiAJeyBQQ0lfREVWSUNFKDB4MTBkZSwgMHgwYmQ3KSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9OVklESUEgfSwKKwkvKiBUZXJhZGljaSAqLworCXsgUENJX0RFVklDRSgweDY1NDksIDB4MTIwMCksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfVEVSQSB9LAogCXsgMCwgfQogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBhenhfaWRzKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvaGRhX3Byb2MuYyBiL3NvdW5kL3BjaS9oZGEvaGRhX3Byb2MuYwppbmRleCA1NjMzZjc3Li4xZTVhZmY1IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL2hkYV9wcm9jLmMKKysrIGIvc291bmQvcGNpL2hkYS9oZGFfcHJvYy5jCkBAIC0zNjYsOCArMzY2LDYgQEAKIHsKIAl1bnNpZ25lZCBpbnQgZGlnaTEgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIG5pZCwgMCwKIAkJCQkJCUFDX1ZFUkJfR0VUX0RJR0lfQ09OVkVSVF8xLCAwKTsKLQl1bnNpZ25lZCBpbnQgZGlnaTIgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIG5pZCwgMCwKLQkJCQkJCUFDX1ZFUkJfR0VUX0RJR0lfQ09OVkVSVF8yLCAwKTsKIAlzbmRfaXByaW50ZihidWZmZXIsICIgIERpZ2l0YWw6Iik7CiAJaWYgKGRpZ2kxICYgQUNfRElHMV9FTkFCTEUpCiAJCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIiBFbmFibGVkIik7CkBAIC0zODYsNyArMzg0LDggQEAKIAlpZiAoZGlnaTEgJiBBQ19ESUcxX0xFVkVMKQogCQlzbmRfaXByaW50ZihidWZmZXIsICIgR2VuTGV2ZWwiKTsKIAlzbmRfaXByaW50ZihidWZmZXIsICJcbiIpOwotCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIiAgRGlnaXRhbCBjYXRlZ29yeTogMHgleFxuIiwgZGlnaTIgJiBBQ19ESUcyX0NDKTsKKwlzbmRfaXByaW50ZihidWZmZXIsICIgIERpZ2l0YWwgY2F0ZWdvcnk6IDB4JXhcbiIsCisJCSAgICAoZGlnaTEgPj4gOCkgJiBBQ19ESUcyX0NDKTsKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKmdldF9wd3Jfc3RhdGUodTMyIHN0YXRlKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9wYXRjaF9hbmFsb2cuYyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfYW5hbG9nLmMKaW5kZXggYTk5ZTg2ZC4uZTgwMDNkOSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9wYXRjaF9hbmFsb2cuYworKysgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX2FuYWxvZy5jCkBAIC0yMyw3ICsyMyw2IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KIAogI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KICNpbmNsdWRlICJoZGFfY29kZWMuaCIKQEAgLTY0LDcgKzYzLDYgQEAKIAkvKiBQQ00gaW5mb3JtYXRpb24gKi8KIAlzdHJ1Y3QgaGRhX3BjbSBwY21fcmVjWzNdOwkvKiB1c2VkIGluIGFsY19idWlsZF9wY21zKCkgKi8KIAotCXN0cnVjdCBtdXRleCBhbXBfbXV0ZXg7CS8qIFBDTSB2b2x1bWUvbXV0ZSBjb250cm9sIG11dGV4ICovCiAJdW5zaWduZWQgaW50IHNwZGlmX3JvdXRlOwogCiAJLyogZHluYW1pYyBjb250cm9scywgaW5pdF92ZXJicyBhbmQgaW5wdXRfbXV4ICovCkBAIC0xNjE4LDYgKzE2MTYsNyBAQAogCiBzdGF0aWMgc3RydWN0IHNuZF9wY2lfcXVpcmsgYWQxOTgxX2NmZ190YmxbXSA9IHsKIAlTTkRfUENJX1FVSVJLKDB4MTAxNCwgMHgwNTk3LCAiTGVub3ZvIFo2MCIsIEFEMTk4MV9USElOS1BBRCksCisJU05EX1BDSV9RVUlSSygweDEwMTQsIDB4MDViNywgIkxlbm92byBaNjBtIiwgQUQxOTgxX1RISU5LUEFEKSwKIAkvKiBBbGwgSFAgbW9kZWxzICovCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDAsICJIUCBueCIsIEFEMTk4MV9IUCksCiAJU05EX1BDSV9RVUlSSygweDExNzksIDB4MDAwMSwgIlRvc2hpYmEgVTIwNSIsIEFEMTk4MV9UT1NISUJBKSwKQEAgLTI2MjMsNyArMjYyMiw3IEBACiB7CiAJc3RydWN0IGFkMTk4eF9zcGVjICpzcGVjID0gY29kZWMtPnNwZWM7CiAJaGRhX25pZF90IG5pZDsKLQlpbnQgaWR4LCBlcnI7CisJaW50IGksIGlkeCwgZXJyOwogCWNoYXIgbmFtZVszMl07CiAKIAlpZiAoISBwaW4pCkBAIC0yNjMxLDE2ICsyNjMwLDI2IEBACiAKIAlpZHggPSBhZDE5ODhfcGluX2lkeChwaW4pOwogCW5pZCA9IGFkMTk4OF9pZHhfdG9fZGFjKGNvZGVjLCBpZHgpOwotCS8qIHNwZWNpZnkgdGhlIERBQyBhcyB0aGUgZXh0cmEgb3V0cHV0ICovCi0JaWYgKCEgc3BlYy0+bXVsdGlvdXQuaHBfbmlkKQotCQlzcGVjLT5tdWx0aW91dC5ocF9uaWQgPSBuaWQ7Ci0JZWxzZQotCQlzcGVjLT5tdWx0aW91dC5leHRyYV9vdXRfbmlkWzBdID0gbmlkOwotCS8qIGNvbnRyb2wgSFAgdm9sdW1lL3N3aXRjaCBvbiB0aGUgb3V0cHV0IG1peGVyIGFtcCAqLwotCXNwcmludGYobmFtZSwgIiVzIFBsYXliYWNrIFZvbHVtZSIsIHBmeCk7Ci0JaWYgKChlcnIgPSBhZGRfY29udHJvbChzcGVjLCBBRF9DVExfV0lER0VUX1ZPTCwgbmFtZSwKLQkJCSAgICAgICBIREFfQ09NUE9TRV9BTVBfVkFMKG5pZCwgMywgMCwgSERBX09VVFBVVCkpKSA8IDApCi0JCXJldHVybiBlcnI7CisJLyogY2hlY2sgd2hldGhlciB0aGUgY29ycmVzcG9uZGluZyBEQUMgd2FzIGFscmVhZHkgdGFrZW4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgc3BlYy0+YXV0b2NmZy5saW5lX291dHM7IGkrKykgeworCQloZGFfbmlkX3QgcGluID0gc3BlYy0+YXV0b2NmZy5saW5lX291dF9waW5zW2ldOworCQloZGFfbmlkX3QgZGFjID0gYWQxOTg4X2lkeF90b19kYWMoY29kZWMsIGFkMTk4OF9waW5faWR4KHBpbikpOworCQlpZiAoZGFjID09IG5pZCkKKwkJCWJyZWFrOworCX0KKwlpZiAoaSA+PSBzcGVjLT5hdXRvY2ZnLmxpbmVfb3V0cykgeworCQkvKiBzcGVjaWZ5IHRoZSBEQUMgYXMgdGhlIGV4dHJhIG91dHB1dCAqLworCQlpZiAoIXNwZWMtPm11bHRpb3V0LmhwX25pZCkKKwkJCXNwZWMtPm11bHRpb3V0LmhwX25pZCA9IG5pZDsKKwkJZWxzZQorCQkJc3BlYy0+bXVsdGlvdXQuZXh0cmFfb3V0X25pZFswXSA9IG5pZDsKKwkJLyogY29udHJvbCBIUCB2b2x1bWUvc3dpdGNoIG9uIHRoZSBvdXRwdXQgbWl4ZXIgYW1wICovCisJCXNwcmludGYobmFtZSwgIiVzIFBsYXliYWNrIFZvbHVtZSIsIHBmeCk7CisJCWVyciA9IGFkZF9jb250cm9sKHNwZWMsIEFEX0NUTF9XSURHRVRfVk9MLCBuYW1lLAorCQkJCSAgSERBX0NPTVBPU0VfQU1QX1ZBTChuaWQsIDMsIDAsIEhEQV9PVVRQVVQpKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KIAluaWQgPSBhZDE5ODhfbWl4ZXJfbmlkc1tpZHhdOwogCXNwcmludGYobmFtZSwgIiVzIFBsYXliYWNrIFN3aXRjaCIsIHBmeCk7CiAJaWYgKChlcnIgPSBhZGRfY29udHJvbChzcGVjLCBBRF9DVExfQklORF9NVVRFLCBuYW1lLApAQCAtMzE3Nyw3ICszMTg2LDYgQEAKIAlpZiAoc3BlYyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJc3BlYy0+bXVsdGlvdXQubWF4X2NoYW5uZWxzID0gMjsKQEAgLTM4NDcsNyArMzg1NSw2IEBACiAJaWYgKHNwZWMgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQltdXRleF9pbml0KCZzcGVjLT5hbXBfbXV0ZXgpOwogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAogCXNwZWMtPm11bHRpb3V0Lm1heF9jaGFubmVscyA9IDI7CkBAIC00MTUyLDcgKzQxNTksNiBAQAogCWlmIChzcGVjID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JbXV0ZXhfaW5pdCgmc3BlYy0+YW1wX211dGV4KTsKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKIAlzcGVjLT5tdWx0aW91dC5tYXhfY2hhbm5lbHMgPSA2OwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9wYXRjaF9jb25leGFudC5jIGIvc291bmQvcGNpL2hkYS9wYXRjaF9jb25leGFudC5jCmluZGV4IDM2ZmQ4NTIuLjdjMWViMjMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfY29uZXhhbnQuYworKysgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX2NvbmV4YW50LmMKQEAgLTgyLDcgKzgyLDYgQEAKIAkvKiBQQ00gaW5mb3JtYXRpb24gKi8KIAlzdHJ1Y3QgaGRhX3BjbSBwY21fcmVjWzJdOwkvKiB1c2VkIGluIGJ1aWxkX3BjbXMoKSAqLwogCi0Jc3RydWN0IG11dGV4IGFtcF9tdXRleDsJLyogUENNIHZvbHVtZS9tdXRlIGNvbnRyb2wgbXV0ZXggKi8KIAl1bnNpZ25lZCBpbnQgc3BkaWZfcm91dGU7CiAKIAkvKiBkeW5hbWljIGNvbnRyb2xzLCBpbml0X3ZlcmJzIGFuZCBpbnB1dF9tdXggKi8KQEAgLTY4Nyw3ICs2ODYsNyBAQAogCiBzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGN4dDUwNDVfaW5pdF92ZXJic1tdID0gewogCS8qIExpbmUgaW4sIE1pYyAqLwotCXsweDEyLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9JTiB9LAorCXsweDEyLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9JTnxBQ19QSU5DVExfVlJFRl84MCB9LAogCXsweDE0LCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9JTnxBQ19QSU5DVExfVlJFRl84MCB9LAogCS8qIEhQLCBBbXAgICovCiAJezB4MTAsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVH0sCkBAIC05MDcsMTAgKzkwNiwxMiBAQAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwY2YsICJIUCBEVjk1MzNFRyIsIENYVDUwNDVfTEFQVE9QX0hQU0VOU0UpLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwZDUsICJIUCA1MzAiLCBDWFQ1MDQ1X0xBUFRPUF9IUDUzMCksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzBkOSwgIkhQIFNwYXJ0YW4iLCBDWFQ1MDQ1X0xBUFRPUF9IUFNFTlNFKSwKKwlTTkRfUENJX1FVSVJLKDB4MTE3OSwgMHhmZjMxLCAiVG9zaGliYSBQMTA1IiwgQ1hUNTA0NV9MQVBUT1BfTUlDU0VOU0UpLAogCVNORF9QQ0lfUVVJUksoMHgxNTJkLCAweDA3NTMsICJCZW5xIFI1NUUiLCBDWFQ1MDQ1X0JFTlEpLAogCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDEwYWQsICJGdWppdHN1IFNpMTUyMCIsIENYVDUwNDVfTEFQVE9QX01JQ1NFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMGNiLCAiRnVqaXRzdSBTaTM1MTUiLCBDWFQ1MDQ1X0xBUFRPUF9IUE1JQ1NFTlNFKSwKLQlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMTBlLCAiRnVqaXRzdSBWNTUwNSIsIENYVDUwNDVfTEFQVE9QX0hQU0VOU0UpLAorCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDExMGUsICJGdWppdHN1IFY1NTA1IiwKKwkJICAgICAgQ1hUNTA0NV9MQVBUT1BfSFBNSUNTRU5TRSksCiAJU05EX1BDSV9RVUlSSygweDE1MDksIDB4MWU0MCwgIkZJQyIsIENYVDUwNDVfTEFQVE9QX0hQTUlDU0VOU0UpLAogCVNORF9QQ0lfUVVJUksoMHgxNTA5LCAweDJmMDUsICJGSUMiLCBDWFQ1MDQ1X0xBUFRPUF9IUE1JQ1NFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTUwOSwgMHgyZjA2LCAiRklDIiwgQ1hUNTA0NV9MQVBUT1BfSFBNSUNTRU5TRSksCkBAIC05MjgsNyArOTI5LDYgQEAKIAlzcGVjID0ga3phbGxvYyhzaXplb2YoKnNwZWMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNwZWMpCiAJCXJldHVybiAtRU5PTUVNOwotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJc3BlYy0+bXVsdGlvdXQubWF4X2NoYW5uZWxzID0gMjsKQEAgLTk2Myw2ICs5NjMsNyBAQAogCQljb2RlYy0+cGF0Y2hfb3BzLmluaXQgPSBjeHQ1MDQ1X2luaXQ7CiAJCWJyZWFrOwogCWNhc2UgQ1hUNTA0NV9MQVBUT1BfTUlDU0VOU0U6CisJCWNvZGVjLT5wYXRjaF9vcHMudW5zb2xfZXZlbnQgPSBjeHQ1MDQ1X2hwX3Vuc29sX2V2ZW50OwogCQlzcGVjLT5pbnB1dF9tdXggPSAmY3h0NTA0NV9jYXB0dXJlX3NvdXJjZTsKIAkJc3BlYy0+bnVtX2luaXRfdmVyYnMgPSAyOwogCQlzcGVjLT5pbml0X3ZlcmJzWzFdID0gY3h0NTA0NV9taWNfc2Vuc2VfaW5pdF92ZXJiczsKQEAgLTEwMDcsMTUgKzEwMDgsMTkgQEAKICNlbmRpZgkKIAl9CiAKLQkvKgotCSAqIEZpeCBtYXggUENNIGxldmVsIHRvIDAgZEIKLQkgKiAob3JpZ2luYWxsIGl0IGhhcyAweDJiIHN0ZXBzIHdpdGggMGRCIG9mZnNldCAweDE0KQotCSAqLwotCXNuZF9oZGFfb3ZlcnJpZGVfYW1wX2NhcHMoY29kZWMsIDB4MTcsIEhEQV9JTlBVVCwKLQkJCQkgICgweDE0IDw8IEFDX0FNUENBUF9PRkZTRVRfU0hJRlQpIHwKLQkJCQkgICgweDE0IDw8IEFDX0FNUENBUF9OVU1fU1RFUFNfU0hJRlQpIHwKLQkJCQkgICgweDA1IDw8IEFDX0FNUENBUF9TVEVQX1NJWkVfU0hJRlQpIHwKLQkJCQkgICgxIDw8IEFDX0FNUENBUF9NVVRFX1NISUZUKSk7CisJc3dpdGNoIChjb2RlYy0+c3Vic3lzdGVtX2lkID4+IDE2KSB7CisJY2FzZSAweDEwM2M6CisJCS8qIEhQIGxhcHRvcCBoYXMgYSByZWFsbHkgYmFkIHNvdW5kIG92ZXIgMGRCIG9uIE5JRCAweDE3LgorCQkgKiBGaXggbWF4IFBDTSBsZXZlbCB0byAwIGRCCisJCSAqIChvcmlnaW5hbGwgaXQgaGFzIDB4MmIgc3RlcHMgd2l0aCAwZEIgb2Zmc2V0IDB4MTQpCisJCSAqLworCQlzbmRfaGRhX292ZXJyaWRlX2FtcF9jYXBzKGNvZGVjLCAweDE3LCBIREFfSU5QVVQsCisJCQkJCSAgKDB4MTQgPDwgQUNfQU1QQ0FQX09GRlNFVF9TSElGVCkgfAorCQkJCQkgICgweDE0IDw8IEFDX0FNUENBUF9OVU1fU1RFUFNfU0hJRlQpIHwKKwkJCQkJICAoMHgwNSA8PCBBQ19BTVBDQVBfU1RFUF9TSVpFX1NISUZUKSB8CisJCQkJCSAgKDEgPDwgQUNfQU1QQ0FQX01VVEVfU0hJRlQpKTsKKwkJYnJlYWs7CisJfQogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNDc3LDcgKzE0ODIsNiBAQAogCXNwZWMgPSBremFsbG9jKHNpemVvZigqc3BlYyksIEdGUF9LRVJORUwpOwogCWlmICghc3BlYykKIAkJcmV0dXJuIC1FTk9NRU07Ci0JbXV0ZXhfaW5pdCgmc3BlYy0+YW1wX211dGV4KTsKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKIAlzcGVjLT5tdWx0aW91dC5tYXhfY2hhbm5lbHMgPSAyOwpAQCAtMTczNiw3ICsxNzQwLDYgQEAKIAlzcGVjID0ga3phbGxvYyhzaXplb2YoKnNwZWMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNwZWMpCiAJCXJldHVybiAtRU5PTUVNOwotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJY29kZWMtPnBhdGNoX29wcyA9IGNvbmV4YW50X3BhdGNoX29wczsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfcmVhbHRlay5jIGIvc291bmQvcGNpL2hkYS9wYXRjaF9yZWFsdGVrLmMKaW5kZXggYjBhMmEyNi4uMjgwN2JjOCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9wYXRjaF9yZWFsdGVrLmMKKysrIGIvc291bmQvcGNpL2hkYS9wYXRjaF9yZWFsdGVrLmMKQEAgLTE2Myw2ICsxNjMsMTAgQEAKIAlBTEM2NjJfTEVOT1ZPXzEwMUUsCiAJQUxDNjYyX0FTVVNfRUVFUENfUDcwMSwKIAlBTEM2NjJfQVNVU19FRUVQQ19FUDIwLAorCUFMQzY2M19BU1VTX001MVZBLAorCUFMQzY2M19BU1VTX0c3MVYsCisJQUxDNjYzX0FTVVNfSDEzLAorCUFMQzY2M19BU1VTX0c1MFYsCiAJQUxDNjYyX0FVVE8sCiAJQUxDNjYyX01PREVMX0xBU1QsCiB9OwpAQCAtMjA1LDYgKzIwOSw3IEBACiAJQUxDODgzX01JVEFDLAogCUFMQzg4M19DTEVWT19NNzIwLAogCUFMQzg4M19GVUpJVFNVX1BJMjUxNSwKKwlBTEM4ODNfM1NUXzZjaF9JTlRFTCwKIAlBTEM4ODNfQVVUTywKIAlBTEM4ODNfTU9ERUxfTEFTVCwKIH07CkBAIC0yODAsNiArMjg1LDEwIEBACiAjaWZkZWYgQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRQogCXN0cnVjdCBoZGFfbG9vcGJhY2tfY2hlY2sgbG9vcGJhY2s7CiAjZW5kaWYKKworCS8qIGZvciBQTEwgZml4ICovCisJaGRhX25pZF90IHBsbF9uaWQ7CisJdW5zaWduZWQgaW50IHBsbF9jb2VmX2lkeCwgcGxsX2NvZWZfYml0OwogfTsKIAogLyoKQEAgLTc0Nyw2ICs3NTYsMzggQEAKIAl7IH0KIH07CiAKKy8qCisgKiBGaXggaGFyZHdhcmUgUExMIGlzc3VlCisgKiBPbiBzb21lIGNvZGVjcywgdGhlIGFuYWxvZyBQTEwgZ2F0aW5nIGNvbnRyb2wgbXVzdCBiZSBvZmYgd2hpbGUKKyAqIHRoZSBkZWZhdWx0IHZhbHVlIGlzIDEuCisgKi8KK3N0YXRpYyB2b2lkIGFsY19maXhfcGxsKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXN0cnVjdCBhbGNfc3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVjOworCXVuc2lnbmVkIGludCB2YWw7CisKKwlpZiAoIXNwZWMtPnBsbF9uaWQpCisJCXJldHVybjsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCBzcGVjLT5wbGxfbmlkLCAwLCBBQ19WRVJCX1NFVF9DT0VGX0lOREVYLAorCQkJICAgIHNwZWMtPnBsbF9jb2VmX2lkeCk7CisJdmFsID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCBzcGVjLT5wbGxfbmlkLCAwLAorCQkJCSBBQ19WRVJCX0dFVF9QUk9DX0NPRUYsIDApOworCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIHNwZWMtPnBsbF9uaWQsIDAsIEFDX1ZFUkJfU0VUX0NPRUZfSU5ERVgsCisJCQkgICAgc3BlYy0+cGxsX2NvZWZfaWR4KTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCBzcGVjLT5wbGxfbmlkLCAwLCBBQ19WRVJCX1NFVF9QUk9DX0NPRUYsCisJCQkgICAgdmFsICYgfigxIDw8IHNwZWMtPnBsbF9jb2VmX2JpdCkpOworfQorCitzdGF0aWMgdm9pZCBhbGNfZml4X3BsbF9pbml0KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLCBoZGFfbmlkX3QgbmlkLAorCQkJICAgICB1bnNpZ25lZCBpbnQgY29lZl9pZHgsIHVuc2lnbmVkIGludCBjb2VmX2JpdCkKK3sKKwlzdHJ1Y3QgYWxjX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKKwlzcGVjLT5wbGxfbmlkID0gbmlkOworCXNwZWMtPnBsbF9jb2VmX2lkeCA9IGNvZWZfaWR4OworCXNwZWMtPnBsbF9jb2VmX2JpdCA9IGNvZWZfYml0OworCWFsY19maXhfcGxsKGNvZGVjKTsKK30KKwogc3RhdGljIHZvaWQgYWxjX3NrdV9hdXRvbXV0ZShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKIHsKIAlzdHJ1Y3QgYWxjX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKQEAgLTc3Niw2ICs4MTcsMjQgQEAKIAlhbGNfc2t1X2F1dG9tdXRlKGNvZGVjKTsKIH0KIAorLyogYWRkaXRpb25hbCBpbml0aWFsaXphdGlvbiBmb3IgQUxDODg4IHZhcmlhbnRzICovCitzdGF0aWMgdm9pZCBhbGM4ODhfY29lZl9pbml0KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXVuc2lnbmVkIGludCB0bXA7CisKKwlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCAweDIwLCAwLCBBQ19WRVJCX1NFVF9DT0VGX0lOREVYLCAwKTsKKwl0bXAgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MjAsIDAsIEFDX1ZFUkJfR0VUX1BST0NfQ09FRiwgMCk7CisJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgMHgyMCwgMCwgQUNfVkVSQl9TRVRfQ09FRl9JTkRFWCwgNyk7CisJaWYgKCh0bXAgJiAweGYwKSA9PSAyKQorCQkvKiBhbGM4ODhTLVZDICovCisJCXNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgMHgyMCwgMCwKKwkJCQkgICBBQ19WRVJCX1NFVF9QUk9DX0NPRUYsIDB4ODMwKTsKKwkgZWxzZQorCQkgLyogYWxjODg4LVZCICovCisJCSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MjAsIDAsCisJCQkJICAgIEFDX1ZFUkJfU0VUX1BST0NfQ09FRiwgMHgzMDMwKTsKK30KKwogLyogMzItYml0IHN1YnN5c3RlbSBJRCBmb3IgQklPUyBsb2FkaW5nIGluIEhEIEF1ZGlvIGNvZGVjLgogICoJMzEgfiAxNiA6CU1hbnVmYWN0dXJlIElECiAgKgkxNSB+IDgJOglTS1UgSUQKQEAgLTg1MSw4ICs5MTAsMTAgQEAKIAkJY2FzZSAweDEwZWMwMjY3OgogCQljYXNlIDB4MTBlYzAyNjg6CiAJCWNhc2UgMHgxMGVjMDI2OToKKwkJY2FzZSAweDEwZWMwNjYwOgorCQljYXNlIDB4MTBlYzA2NjI6CisJCWNhc2UgMHgxMGVjMDY2MzoKIAkJY2FzZSAweDEwZWMwODYyOgotCQljYXNlIDB4MTBlYzA2NjI6CQogCQljYXNlIDB4MTBlYzA4ODk6CiAJCQlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCAweDE0LCAwLAogCQkJCQkgICAgQUNfVkVSQl9TRVRfRUFQRF9CVExFTkFCTEUsIDIpOwpAQCAtODc3LDcgKzkzOCw2IEBACiAJCWNhc2UgMHgxMGVjMDg4MjoKIAkJY2FzZSAweDEwZWMwODgzOgogCQljYXNlIDB4MTBlYzA4ODU6Ci0JCWNhc2UgMHgxMGVjMDg4ODoKIAkJY2FzZSAweDEwZWMwODg5OgogCQkJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgMHgyMCwgMCwKIAkJCQkJICAgIEFDX1ZFUkJfU0VUX0NPRUZfSU5ERVgsIDcpOwpAQCAtODg5LDYgKzk0OSw5IEBACiAJCQkJCSAgICBBQ19WRVJCX1NFVF9QUk9DX0NPRUYsCiAJCQkJCSAgICB0bXAgfCAweDIwMTApOwogCQkJYnJlYWs7CisJCWNhc2UgMHgxMGVjMDg4ODoKKwkJCWFsYzg4OF9jb2VmX2luaXQoY29kZWMpOworCQkJYnJlYWs7CiAJCWNhc2UgMHgxMGVjMDI2NzoKIAkJY2FzZSAweDEwZWMwMjY4OgogCQkJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgMHgyMCwgMCwKQEAgLTIzNzMsNiArMjQzNiw4IEBACiAJc3RydWN0IGFsY19zcGVjICpzcGVjID0gY29kZWMtPnNwZWM7CiAJdW5zaWduZWQgaW50IGk7CiAKKwlhbGNfZml4X3BsbChjb2RlYyk7CisKIAlmb3IgKGkgPSAwOyBpIDwgc3BlYy0+bnVtX2luaXRfdmVyYnM7IGkrKykKIAkJc25kX2hkYV9zZXF1ZW5jZV93cml0ZShjb2RlYywgc3BlYy0+aW5pdF92ZXJic1tpXSk7CiAKQEAgLTMwMDksNiArMzA3NCw3IEBACiAJU05EX1BDSV9RVUlSSygweDE2OTUsIDB4NDAwZCwgIkVQb1giLCBBTEM4ODBfNVNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDE2OTUsIDB4NDAxMiwgIkVQb3ggRVAtNUxEQSIsIEFMQzg4MF81U1RfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMDdjLCAiRlNDIEYxNzM0IiwgQUxDODgwX0YxNzM0KSwKKwlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMDk0LCAiRlNDIEFtaWxvIE0xNDUxRyIsIEFMQzg4MF9GVUpJVFNVKSwKIAlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMGFjLCAiRlNDIiwgQUxDODgwX1VOSVdJTEwpLAogCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDEwYjAsICJGdWppdHN1IiwgQUxDODgwX0ZVSklUU1UpLAogCVNORF9QQ0lfUVVJUksoMHgxODU0LCAweDAwMTgsICJMRyBMVzIwIiwgQUxDODgwX0xHX0xXKSwKQEAgLTUxMDEsNyArNTE2Nyw3IEBACiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MjgwOCwgIkhQIGQ1NzAwIiwgQUxDMjYwX0hQXzMwMTMpLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDI4MGEsICJIUCBkNTc1MCIsIEFMQzI2MF9IUF8zMDEzKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMDEwLCAiSFAiLCBBTEMyNjBfSFBfMzAxMyksCi0JU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxMSwgIkhQIiwgQUxDMjYwX0hQKSwKKwlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMDExLCAiSFAiLCBBTEMyNjBfSFBfMzAxMyksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxMiwgIkhQIiwgQUxDMjYwX0hQXzMwMTMpLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwMTMsICJIUCIsIEFMQzI2MF9IUF8zMDEzKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMDE0LCAiSFAiLCBBTEMyNjBfSFApLApAQCAtNjEyNyw2ICs2MTkzLDcgQEAKIAlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MTdmLCAiQXN1cyBQNUxEMiIsIEFMQzg4Ml82U1RfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MWQ4LCAiQXN1cyBQNVdEIiwgQUxDODgyXzZTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxMDViLCAweDY2NjgsICJGb3hjb25uIiwgQUxDODgyXzZTVF9ESUcpLAorCVNORF9QQ0lfUVVJUksoMHgxMDZiLCAweDAwYTAsICJBcHBsZSBpTWFjIDI0JyciLCBBTEM4ODVfSU1BQzI0KSwKIAlTTkRfUENJX1FVSVJLKDB4MTQ1OCwgMHhhMDAyLCAiR2lnYWJ5dGUgUDM1IERTM1IiLCBBTEM4ODJfNlNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDE0NjIsIDB4MjhmYiwgIlRhcmdhIFQ4IiwgQUxDODgyX1RBUkdBKSwgLyogTVNJLTEwNDkgVDggICovCiAJU05EX1BDSV9RVUlSSygweDE0NjIsIDB4NjY2OCwgIk1TSSIsIEFMQzg4Ml82U1RfRElHKSwKQEAgLTYzNTMsNyArNjQyMCw5IEBACiAJCQljb250aW51ZTsKIAkJdnJlZiA9IFBJTl9JTjsKIAkJaWYgKDEgLyppIDw9IEFVVE9fUElOX0ZST05UX01JQyovKSB7Ci0JCQlpZiAoc25kX2hkYV9wYXJhbV9yZWFkKGNvZGVjLCBuaWQsIEFDX1BBUl9QSU5fQ0FQKSAmCisJCQl1bnNpZ25lZCBpbnQgcGluY2FwOworCQkJcGluY2FwID0gc25kX2hkYV9wYXJhbV9yZWFkKGNvZGVjLCBuaWQsIEFDX1BBUl9QSU5fQ0FQKTsKKwkJCWlmICgocGluY2FwID4+IEFDX1BJTkNBUF9WUkVGX1NISUZUKSAmCiAJCQkgICAgQUNfUElOQ0FQX1ZSRUZfODApCiAJCQkJdnJlZiA9IFBJTl9WUkVGODA7CiAJCX0KQEAgLTY0NTAsOCArNjUxOSw5IEBACiAJCWNhc2UgMHgxMDZiMTAwMDogLyogaU1hYyAyNCAqLwogCQkJYm9hcmRfY29uZmlnID0gQUxDODg1X0lNQUMyNDsKIAkJCWJyZWFrOwotCQljYXNlIDB4MTA2YjAwYTE6IC8qIE1hY2Jvb2sgKi8KKwkJY2FzZSAweDEwNmIwMGExOiAvKiBNYWNib29rIChtaWdodCBiZSB3cm9uZyAtIFBDSSBTU0lEPykgKi8KIAkJY2FzZSAweDEwNmIyYzAwOiAvKiBNYWNib29rIFBybyByZXYzICovCisJCWNhc2UgMHgxMDZiMzYwMDogLyogTWFjYm9vayAzLjEgKi8KIAkJCWJvYXJkX2NvbmZpZyA9IEFMQzg4NV9NQlAzOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CkBAIC02NDg1LDE0ICs2NTU1LDIwIEBACiAJaWYgKGJvYXJkX2NvbmZpZyAhPSBBTEM4ODJfQVVUTykKIAkJc2V0dXBfcHJlc2V0KHNwZWMsICZhbGM4ODJfcHJlc2V0c1tib2FyZF9jb25maWddKTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODIgQW5hbG9nIjsKKwlpZiAoY29kZWMtPnZlbmRvcl9pZCA9PSAweDEwZWMwODg1KSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODUgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODUgRGlnaXRhbCI7CisJfSBlbHNlIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg4MiBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg4MiBEaWdpdGFsIjsKKwl9CisKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX3BsYXliYWNrID0gJmFsYzg4Ml9wY21fYW5hbG9nX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfY2FwdHVyZSA9ICZhbGM4ODJfcGNtX2FuYWxvZ19jYXB0dXJlOwogCS8qIEZJWE1FOiBzZXR1cCBEQUM1ICovCiAJLypzcGVjLT5zdHJlYW1fYW5hbG9nX2FsdF9wbGF5YmFjayA9ICZhbGM4ODBfcGNtX2FuYWxvZ19hbHRfcGxheWJhY2s7Ki8KIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2FsdF9jYXB0dXJlID0gJmFsYzg4MF9wY21fYW5hbG9nX2FsdF9jYXB0dXJlOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODIgRGlnaXRhbCI7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfcGxheWJhY2sgPSAmYWxjODgyX3BjbV9kaWdpdGFsX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX2NhcHR1cmUgPSAmYWxjODgyX3BjbV9kaWdpdGFsX2NhcHR1cmU7CiAKQEAgLTY1NjksNiArNjY0NSwxNiBAQAogCX0sCiB9OwogCitzdGF0aWMgc3RydWN0IGhkYV9pbnB1dF9tdXggYWxjODgzXzNzdGFja182Y2hfaW50ZWwgPSB7CisJLm51bV9pdGVtcyA9IDQsCisJLml0ZW1zID0geworCQl7ICJNaWMiLCAweDEgfSwKKwkJeyAiRnJvbnQgTWljIiwgMHgwIH0sCisJCXsgIkxpbmUiLCAweDIgfSwKKwkJeyAiQ0QiLCAweDQgfSwKKwl9LAorfTsKKwogc3RhdGljIHN0cnVjdCBoZGFfaW5wdXRfbXV4IGFsYzg4M19sZW5vdm9fMTAxZV9jYXB0dXJlX3NvdXJjZSA9IHsKIAkubnVtX2l0ZW1zID0gMiwKIAkuaXRlbXMgPSB7CkBAIC02NjUwLDYgKzY3MzYsNDggQEAKIH07CiAKIC8qCisgKiAyY2ggbW9kZQorICovCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzg4M18zU1RfY2gyX2ludGVsX2luaXRbXSA9IHsKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX1ZSRUY4MCB9LAorCXsgMHgxOSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9NVVRFIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9JTiB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9NVVRFIH0sCisJeyB9IC8qIGVuZCAqLworfTsKKworLyoKKyAqIDRjaCBtb2RlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjODgzXzNTVF9jaDRfaW50ZWxfaW5pdFtdID0geworCXsgMHgxOSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fVlJFRjgwIH0sCisJeyAweDE5LCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX01VVEUgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVCB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEUgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAxIH0sCisJeyB9IC8qIGVuZCAqLworfTsKKworLyoKKyAqIDZjaCBtb2RlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjODgzXzNTVF9jaDZfaW50ZWxfaW5pdFtdID0geworCXsgMHgxOSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUIH0sCisJeyAweDE5LCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURSB9LAorCXsgMHgxOSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDIgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVCB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEUgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAxIH0sCisJeyB9IC8qIGVuZCAqLworfTsKKworc3RhdGljIHN0cnVjdCBoZGFfY2hhbm5lbF9tb2RlIGFsYzg4M18zU1RfNmNoX2ludGVsX21vZGVzWzNdID0geworCXsgMiwgYWxjODgzXzNTVF9jaDJfaW50ZWxfaW5pdCB9LAorCXsgNCwgYWxjODgzXzNTVF9jaDRfaW50ZWxfaW5pdCB9LAorCXsgNiwgYWxjODgzXzNTVF9jaDZfaW50ZWxfaW5pdCB9LAorfTsKKworLyoKICAqIDZjaCBtb2RlCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjODgzX3NpeHN0YWNrX2NoNl9pbml0W10gPSB7CkBAIC02ODgxLDE1ICs3MDA5LDU0IEBACiAJeyB9IC8qIGVuZCAqLwogfTsKIAorc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzg4M18zU1RfNmNoX2ludGVsX21peGVyW10gPSB7CisJSERBX0NPREVDX1ZPTFVNRSgiRnJvbnQgUGxheWJhY2sgVm9sdW1lIiwgMHgwYywgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQklORF9NVVRFKCJGcm9udCBQbGF5YmFjayBTd2l0Y2giLCAweDBjLCAyLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIlN1cnJvdW5kIFBsYXliYWNrIFZvbHVtZSIsIDB4MGQsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURSgiU3Vycm91bmQgUGxheWJhY2sgU3dpdGNoIiwgMHgwZCwgMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FX01PTk8oIkNlbnRlciBQbGF5YmFjayBWb2x1bWUiLCAweDBlLCAxLCAweDAsCisJCQkgICAgICBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FX01PTk8oIkxGRSBQbGF5YmFjayBWb2x1bWUiLCAweDBlLCAyLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9CSU5EX01VVEVfTU9OTygiQ2VudGVyIFBsYXliYWNrIFN3aXRjaCIsIDB4MGUsIDEsIDIsIEhEQV9JTlBVVCksCisJSERBX0JJTkRfTVVURV9NT05PKCJMRkUgUGxheWJhY2sgU3dpdGNoIiwgMHgwZSwgMiwgMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiSGVhZHBob25lIFBsYXliYWNrIFN3aXRjaCIsIDB4MTUsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiQ0QgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwNCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiQ0QgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwNCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJMaW5lIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkxpbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJNaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgxLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIk1pYyBCb29zdCIsIDB4MTksIDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIk1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDEsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiRnJvbnQgTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJGcm9udCBNaWMgQm9vc3QiLCAweDE4LCAwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJGcm9udCBNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIlBDIFNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwNSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiUEMgU3BlYWtlciBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDA1LCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkNhcHR1cmUgVm9sdW1lIiwgMHgwOCwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJDYXB0dXJlIFN3aXRjaCIsIDB4MDgsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FX0lEWCgiQ2FwdHVyZSBWb2x1bWUiLCAxLCAweDA5LCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEVfSURYKCJDYXB0dXJlIFN3aXRjaCIsIDEsIDB4MDksIDB4MCwgSERBX0lOUFVUKSwKKwl7CisJCS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCQkvKiAubmFtZSA9ICJDYXB0dXJlIFNvdXJjZSIsICovCisJCS5uYW1lID0gIklucHV0IFNvdXJjZSIsCisJCS5jb3VudCA9IDIsCisJCS5pbmZvID0gYWxjODgzX211eF9lbnVtX2luZm8sCisJCS5nZXQgPSBhbGM4ODNfbXV4X2VudW1fZ2V0LAorCQkucHV0ID0gYWxjODgzX211eF9lbnVtX3B1dCwKKwl9LAorCXsgfSAvKiBlbmQgKi8KK307CisKIHN0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM4ODNfZml2ZXN0YWNrX21peGVyW10gPSB7CiAJSERBX0NPREVDX1ZPTFVNRSgiRnJvbnQgUGxheWJhY2sgVm9sdW1lIiwgMHgwYywgMHgwLCBIREFfT1VUUFVUKSwKLQlIREFfQ09ERUNfTVVURSgiRnJvbnQgUGxheWJhY2sgU3dpdGNoIiwgMHgxNCwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQklORF9NVVRFKCJGcm9udCBQbGF5YmFjayBTd2l0Y2giLCAweDBjLCAyLCBIREFfSU5QVVQpLAogCUhEQV9DT0RFQ19WT0xVTUUoIlN1cnJvdW5kIFBsYXliYWNrIFZvbHVtZSIsIDB4MGQsIDB4MCwgSERBX09VVFBVVCksCi0JSERBX0NPREVDX01VVEUoIlN1cnJvdW5kIFBsYXliYWNrIFN3aXRjaCIsIDB4MTUsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURSgiU3Vycm91bmQgUGxheWJhY2sgU3dpdGNoIiwgMHgwZCwgMiwgSERBX0lOUFVUKSwKIAlIREFfQ09ERUNfVk9MVU1FX01PTk8oIkNlbnRlciBQbGF5YmFjayBWb2x1bWUiLCAweDBlLCAxLCAweDAsIEhEQV9PVVRQVVQpLAogCUhEQV9DT0RFQ19WT0xVTUVfTU9OTygiTEZFIFBsYXliYWNrIFZvbHVtZSIsIDB4MGUsIDIsIDB4MCwgSERBX09VVFBVVCksCi0JSERBX0NPREVDX01VVEVfTU9OTygiQ2VudGVyIFBsYXliYWNrIFN3aXRjaCIsIDB4MTYsIDEsIDB4MCwgSERBX09VVFBVVCksCi0JSERBX0NPREVDX01VVEVfTU9OTygiTEZFIFBsYXliYWNrIFN3aXRjaCIsIDB4MTYsIDIsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURV9NT05PKCJDZW50ZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgwZSwgMSwgMiwgSERBX0lOUFVUKSwKKwlIREFfQklORF9NVVRFX01PTk8oIkxGRSBQbGF5YmFjayBTd2l0Y2giLCAweDBlLCAyLCAyLCBIREFfSU5QVVQpLAogCUhEQV9DT0RFQ19NVVRFKCJIZWFkcGhvbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgxYiwgMHgwLCBIREFfT1VUUFVUKSwKIAlIREFfQ09ERUNfVk9MVU1FKCJDRCBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDA0LCBIREFfSU5QVVQpLAogCUhEQV9DT0RFQ19NVVRFKCJDRCBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDA0LCBIREFfSU5QVVQpLApAQCAtNzcyOSw2ICs3ODk2LDcgQEAKIAlbQUxDODgzX01JVEFDXQkJPSAibWl0YWMiLAogCVtBTEM4ODNfQ0xFVk9fTTcyMF0JPSAiY2xldm8tbTcyMCIsCiAJW0FMQzg4M19GVUpJVFNVX1BJMjUxNV0gPSAiZnVqaXRzdS1waTI1MTUiLAorCVtBTEM4ODNfM1NUXzZjaF9JTlRFTF0JPSAiM3N0YWNrLTZjaC1pbnRlbCIsCiAJW0FMQzg4M19BVVRPXQkJPSAiYXV0byIsCiB9OwogCkBAIC03Nzg2LDYgKzc5NTQsOCBAQAogCVNORF9QQ0lfUVVJUksoMHgxN2MwLCAweDQwNzEsICJNRURJT04gTUQyIiwgQUxDODgzX01FRElPTl9NRDIpLAogCVNORF9QQ0lfUVVJUksoMHgxN2YyLCAweDUwMDAsICJBbGJhdHJvbiBLSTY5MC1BTTIiLCBBTEM4ODNfNlNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDE5OTEsIDB4NTYyNSwgIkhhaWVyIFc2NiIsIEFMQzg4M19IQUlFUl9XNjYpLAorCVNORF9QQ0lfUVVJUksoMHg4MDg2LCAweDAwMDEsICJERzMzQlVDIiwgQUxDODgzXzNTVF82Y2hfSU5URUwpLAorCVNORF9QQ0lfUVVJUksoMHg4MDg2LCAweDAwMDIsICJERzMzRkJDIiwgQUxDODgzXzNTVF82Y2hfSU5URUwpLAogCVNORF9QQ0lfUVVJUksoMHg4MDg2LCAweGQ2MDEsICJEMTAyR0dDIiwgQUxDODgzXzNTVF82Y2gpLAogCXt9CiB9OwpAQCAtNzgyNCw2ICs3OTk0LDE4IEBACiAJCS5uZWVkX2RhY19maXggPSAxLAogCQkuaW5wdXRfbXV4ID0gJmFsYzg4M19jYXB0dXJlX3NvdXJjZSwKIAl9LAorCVtBTEM4ODNfM1NUXzZjaF9JTlRFTF0gPSB7CisJCS5taXhlcnMgPSB7IGFsYzg4M18zU1RfNmNoX2ludGVsX21peGVyLCBhbGM4ODNfY2htb2RlX21peGVyIH0sCisJCS5pbml0X3ZlcmJzID0geyBhbGM4ODNfaW5pdF92ZXJicyB9LAorCQkubnVtX2RhY3MgPSBBUlJBWV9TSVpFKGFsYzg4M19kYWNfbmlkcyksCisJCS5kYWNfbmlkcyA9IGFsYzg4M19kYWNfbmlkcywKKwkJLmRpZ19vdXRfbmlkID0gQUxDODgzX0RJR09VVF9OSUQsCisJCS5kaWdfaW5fbmlkID0gQUxDODgzX0RJR0lOX05JRCwKKwkJLm51bV9jaGFubmVsX21vZGUgPSBBUlJBWV9TSVpFKGFsYzg4M18zU1RfNmNoX2ludGVsX21vZGVzKSwKKwkJLmNoYW5uZWxfbW9kZSA9IGFsYzg4M18zU1RfNmNoX2ludGVsX21vZGVzLAorCQkubmVlZF9kYWNfZml4ID0gMSwKKwkJLmlucHV0X211eCA9ICZhbGM4ODNfM3N0YWNrXzZjaF9pbnRlbCwKKwl9LAogCVtBTEM4ODNfNlNUX0RJR10gPSB7CiAJCS5taXhlcnMgPSB7IGFsYzg4M19iYXNlX21peGVyLCBhbGM4ODNfY2htb2RlX21peGVyIH0sCiAJCS5pbml0X3ZlcmJzID0geyBhbGM4ODNfaW5pdF92ZXJicyB9LApAQCAtODE0NSw2ICs4MzI3LDggQEAKIAogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAorCWFsY19maXhfcGxsX2luaXQoY29kZWMsIDB4MjAsIDB4MGEsIDEwKTsKKwogCWJvYXJkX2NvbmZpZyA9IHNuZF9oZGFfY2hlY2tfYm9hcmRfY29uZmlnKGNvZGVjLCBBTEM4ODNfTU9ERUxfTEFTVCwKIAkJCQkJCSAgYWxjODgzX21vZGVscywKIAkJCQkJCSAgYWxjODgzX2NmZ190YmwpOwpAQCAtODE3MSwxMiArODM1NSwyNSBAQAogCWlmIChib2FyZF9jb25maWcgIT0gQUxDODgzX0FVVE8pCiAJCXNldHVwX3ByZXNldChzcGVjLCAmYWxjODgzX3ByZXNldHNbYm9hcmRfY29uZmlnXSk7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODgzIEFuYWxvZyI7CisJc3dpdGNoIChjb2RlYy0+dmVuZG9yX2lkKSB7CisJY2FzZSAweDEwZWMwODg4OgorCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODg4IEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODg4IERpZ2l0YWwiOworCQlicmVhazsKKwljYXNlIDB4MTBlYzA4ODk6CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODkgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODkgRGlnaXRhbCI7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODMgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODMgRGlnaXRhbCI7CisJCWJyZWFrOworCX0KKwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfcGxheWJhY2sgPSAmYWxjODgzX3BjbV9hbmFsb2dfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19jYXB0dXJlID0gJmFsYzg4M19wY21fYW5hbG9nX2NhcHR1cmU7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19hbHRfY2FwdHVyZSA9ICZhbGM4ODNfcGNtX2FuYWxvZ19hbHRfY2FwdHVyZTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODgzIERpZ2l0YWwiOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX3BsYXliYWNrID0gJmFsYzg4M19wY21fZGlnaXRhbF9wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9jYXB0dXJlID0gJmFsYzg4M19wY21fZGlnaXRhbF9jYXB0dXJlOwogCkBAIC04MTg5LDYgKzgzODYsOSBAQAogCWNvZGVjLT5wYXRjaF9vcHMgPSBhbGNfcGF0Y2hfb3BzOwogCWlmIChib2FyZF9jb25maWcgPT0gQUxDODgzX0FVVE8pCiAJCXNwZWMtPmluaXRfaG9vayA9IGFsYzg4M19hdXRvX2luaXQ7CisJZWxzZSBpZiAoY29kZWMtPnZlbmRvcl9pZCA9PSAweDEwZWMwODg4KQorCQlzcGVjLT5pbml0X2hvb2sgPSBhbGM4ODhfY29lZl9pbml0OworCiAjaWZkZWYgQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRQogCWlmICghc3BlYy0+bG9vcGJhY2suYW1wbGlzdCkKIAkJc3BlYy0+bG9vcGJhY2suYW1wbGlzdCA9IGFsYzg4M19sb29wYmFja3M7CkBAIC05NTIyLDYgKzk3MjIsOCBAQAogCVNORF9QQ0lfUVVJUksoMHgxMDRkLCAweDgyMGYsICJTb255IEFTU0FNRCIsIEFMQzI2Ml9TT05ZX0FTU0FNRCksCiAJU05EX1BDSV9RVUlSSygweDEwNGQsIDB4OTAwZSwgIlNvbnkgQVNTQU1EIiwgQUxDMjYyX1NPTllfQVNTQU1EKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0ZCwgMHg5MDE1LCAiU29ueSAweDkwMTUiLCBBTEMyNjJfU09OWV9BU1NBTUQpLAorCVNORF9QQ0lfUVVJUksoMHgxMTc5LCAweDAwMDEsICJUb3NoaWJhIGR5bmFib29rIFNTIFJYMSIsCisJCSAgICAgIEFMQzI2Ml9TT05ZX0FTU0FNRCksCiAJU05EX1BDSV9RVUlSSygweDEwY2YsIDB4MTM5NywgIkZ1aml0c3UiLCBBTEMyNjJfRlVKSVRTVSksCiAJU05EX1BDSV9RVUlSSygweDEwY2YsIDB4MTQyZCwgIkZ1aml0c3UgTGlmZWJvb2sgRTg0MTAiLCBBTEMyNjJfRlVKSVRTVSksCiAJU05EX1BDSV9RVUlSSygweDE0NGQsIDB4YzAzMiwgIlNhbXN1bmcgUTEgVWx0cmEiLCBBTEMyNjJfVUxUUkEpLApAQCAtOTcyOSw2ICs5OTMxLDggQEAKIAl9CiAjZW5kaWYKIAorCWFsY19maXhfcGxsX2luaXQoY29kZWMsIDB4MjAsIDB4MGEsIDEwKTsKKwogCWJvYXJkX2NvbmZpZyA9IHNuZF9oZGFfY2hlY2tfYm9hcmRfY29uZmlnKGNvZGVjLCBBTEMyNjJfTU9ERUxfTEFTVCwKIAkJCQkJCSAgYWxjMjYyX21vZGVscywKIAkJCQkJCSAgYWxjMjYyX2NmZ190YmwpOwpAQCAtMTA2NzQsMTIgKzEwODc4LDE4IEBACiAJaWYgKGJvYXJkX2NvbmZpZyAhPSBBTEMyNjhfQVVUTykKIAkJc2V0dXBfcHJlc2V0KHNwZWMsICZhbGMyNjhfcHJlc2V0c1tib2FyZF9jb25maWddKTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEMyNjggQW5hbG9nIjsKKwlpZiAoY29kZWMtPnZlbmRvcl9pZCA9PSAweDEwZWMwMjY3KSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEMyNjcgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEMyNjcgRGlnaXRhbCI7CisJfSBlbHNlIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzI2OCBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzI2OCBEaWdpdGFsIjsKKwl9CisKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX3BsYXliYWNrID0gJmFsYzI2OF9wY21fYW5hbG9nX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfY2FwdHVyZSA9ICZhbGMyNjhfcGNtX2FuYWxvZ19jYXB0dXJlOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfYWx0X2NhcHR1cmUgPSAmYWxjMjY4X3BjbV9hbmFsb2dfYWx0X2NhcHR1cmU7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzI2OCBEaWdpdGFsIjsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9wbGF5YmFjayA9ICZhbGMyNjhfcGNtX2RpZ2l0YWxfcGxheWJhY2s7CiAKIAlpZiAoIXF1ZXJ5X2FtcF9jYXBzKGNvZGVjLCAweDFkLCBIREFfSU5QVVQpKQpAQCAtMTEwMzMsNiArMTEyNDMsOCBAQAogCiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCisJYWxjX2ZpeF9wbGxfaW5pdChjb2RlYywgMHgyMCwgMHgwNCwgMTUpOworCiAJYm9hcmRfY29uZmlnID0gc25kX2hkYV9jaGVja19ib2FyZF9jb25maWcoY29kZWMsIEFMQzI2OV9NT0RFTF9MQVNULAogCQkJCQkJICBhbGMyNjlfbW9kZWxzLAogCQkJCQkJICBhbGMyNjlfY2ZnX3RibCk7CkBAIC0xMjYzMSw2ICsxMjg0MywxMiBAQAogCXsgfQogfTsKIAorc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM2NjB2ZF9lYXBkX3ZlcmJzW10gPSB7CisJezB4MTQsIEFDX1ZFUkJfU0VUX0VBUERfQlRMRU5BQkxFLCAyfSwKKwl7MHgxNSwgQUNfVkVSQl9TRVRfRUFQRF9CVExFTkFCTEUsIDJ9LAorCXsgfQorfTsKKwogc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM4NjF2ZF9sZW5vdm9fdW5zb2xfdmVyYnNbXSA9IHsKIAl7MHgwYywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgwKX0sCiAJezB4MGMsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMSl9LApAQCAtMTI3ODYsNiArMTMwMDQsNyBAQAogCVNORF9QQ0lfUVVJUksoMHgxNTY1LCAweDgyMGQsICJCaW9zdGFyIE5GNjFTIFNFIiwgQUxDODYxVkRfNlNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDE3YWEsIDB4MjA2NiwgIkxlbm92byIsIEFMQzg2MVZEX0xFTk9WTyksCiAJU05EX1BDSV9RVUlSSygweDE3YWEsIDB4MzgwMiwgIkxlbm92byAzMDAwIEMyMDAiLCBBTEM4NjFWRF9MRU5PVk8pLAorCVNORF9QQ0lfUVVJUksoMHgxN2FhLCAweDM4NGUsICJMZW5vdm8gMzAwMCBOMjAwIiwgQUxDODYxVkRfTEVOT1ZPKSwKIAlTTkRfUENJX1FVSVJLKDB4MTg0OSwgMHgwODYyLCAiQVNSb2NrIEs4TkY2Ry1WU1RBIiwgQUxDODYxVkRfNlNUX0RJRyksCiAJe30KIH07CkBAIC0xMzE2OCwxMSArMTMzODcsMTkgQEAKIAlpZiAoYm9hcmRfY29uZmlnICE9IEFMQzg2MVZEX0FVVE8pCiAJCXNldHVwX3ByZXNldChzcGVjLCAmYWxjODYxdmRfcHJlc2V0c1tib2FyZF9jb25maWddKTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4NjFWRCBBbmFsb2ciOworCWlmIChjb2RlYy0+dmVuZG9yX2lkID09IDB4MTBlYzA2NjApIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzY2MC1WRCBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzY2MC1WRCBEaWdpdGFsIjsKKwkJLyogYWx3YXlzIHR1cm4gb24gRUFQRCAqLworCQlzcGVjLT5pbml0X3ZlcmJzW3NwZWMtPm51bV9pbml0X3ZlcmJzKytdID0gYWxjNjYwdmRfZWFwZF92ZXJiczsKKwl9IGVsc2UgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODYxVkQgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4NjFWRCBEaWdpdGFsIjsKKwl9CisKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX3BsYXliYWNrID0gJmFsYzg2MXZkX3BjbV9hbmFsb2dfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19jYXB0dXJlID0gJmFsYzg2MXZkX3BjbV9hbmFsb2dfY2FwdHVyZTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODYxVkQgRGlnaXRhbCI7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfcGxheWJhY2sgPSAmYWxjODYxdmRfcGNtX2RpZ2l0YWxfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfY2FwdHVyZSA9ICZhbGM4NjF2ZF9wY21fZGlnaXRhbF9jYXB0dXJlOwogCkBAIC0xMzI1MSw2ICsxMzQ3OCwyMyBAQAogCX0sCiB9OwogCitzdGF0aWMgc3RydWN0IGhkYV9pbnB1dF9tdXggYWxjNjYzX2NhcHR1cmVfc291cmNlID0geworCS5udW1faXRlbXMgPSAzLAorCS5pdGVtcyA9IHsKKwkJeyAiTWljIiwgMHgwIH0sCisJCXsgIkZyb250IE1pYyIsIDB4MSB9LAorCQl7ICJMaW5lIiwgMHgyIH0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaGRhX2lucHV0X211eCBhbGM2NjNfbTUxdmFfY2FwdHVyZV9zb3VyY2UgPSB7CisJLm51bV9pdGVtcyA9IDIsCisJLml0ZW1zID0geworCQl7ICJFeHQtTWljIiwgMHgwIH0sCisJCXsgIkQtTWljIiwgMHg5IH0sCisJfSwKK307CisKICNkZWZpbmUgYWxjNjYyX211eF9lbnVtX2luZm8gYWxjX211eF9lbnVtX2luZm8KICNkZWZpbmUgYWxjNjYyX211eF9lbnVtX2dldCBhbGNfbXV4X2VudW1fZ2V0CiAjZGVmaW5lIGFsYzY2Ml9tdXhfZW51bV9wdXQgYWxjODgyX211eF9lbnVtX3B1dApAQCAtMTM0MzEsNiArMTM2NzUsNDQgQEAKIAl7IH0gLyogZW5kICovCiB9OwogCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjNjYzX201MXZhX21peGVyW10gPSB7CisJSERBX0NPREVDX1ZPTFVNRSgiU3BlYWtlciBQbGF5YmFjayBWb2x1bWUiLCAweDAyLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJTcGVha2VyIFBsYXliYWNrIFN3aXRjaCIsIDB4MTQsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIkhlYWRwaG9uZSBQbGF5YmFjayBTd2l0Y2giLCAweDIxLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIk1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIk1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkRNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgyMywgMHg5LCBIREFfSU5QVVQpLAorCXsgfSAvKiBlbmQgKi8KK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM2NjNfZzcxdl9taXhlcltdID0geworCUhEQV9DT0RFQ19WT0xVTUUoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwMiwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiU3BlYWtlciBQbGF5YmFjayBTd2l0Y2giLCAweDE0LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkZyb250IFBsYXliYWNrIFZvbHVtZSIsIDB4MDMsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIkZyb250IFBsYXliYWNrIFN3aXRjaCIsIDB4MTUsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIkhlYWRwaG9uZSBQbGF5YmFjayBTd2l0Y2giLCAweDIxLCAweDAsIEhEQV9PVVRQVVQpLAorCisJSERBX0NPREVDX1ZPTFVNRSgiTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJpLU1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDEsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoImktTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MSwgSERBX0lOUFVUKSwKKwl7IH0gLyogZW5kICovCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjNjYzX2c1MHZfbWl4ZXJbXSA9IHsKKwlIREFfQ09ERUNfVk9MVU1FKCJTcGVha2VyIFBsYXliYWNrIFZvbHVtZSIsIDB4MDIsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIlNwZWFrZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgxNCwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiSGVhZHBob25lIFBsYXliYWNrIFN3aXRjaCIsIDB4MjEsIDB4MCwgSERBX09VVFBVVCksCisKKwlIREFfQ09ERUNfVk9MVU1FKCJNaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoImktTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiaS1NaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgxLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkxpbmUgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiTGluZSBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDAyLCBIREFfSU5QVVQpLAorCXsgfSAvKiBlbmQgKi8KK307CisKIHN0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM2NjJfY2htb2RlX21peGVyW10gPSB7CiAJewogCQkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKQEAgLTEzNTAxLDYgKzEzNzgzLDExIEBACiAJezB4MjMsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMSl9LAogCXsweDIzLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDIpfSwKIAl7MHgyMywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSg0KX0sCisKKwkvKiBhbHdheXMgdHJ1biBvbiBFQVBEICovCisJezB4MTQsIEFDX1ZFUkJfU0VUX0VBUERfQlRMRU5BQkxFLCAyfSwKKwl7MHgxNSwgQUNfVkVSQl9TRVRfRUFQRF9CVExFTkFCTEUsIDJ9LAorCiAJeyB9CiB9OwogCkBAIC0xMzU3MSw2ICsxMzg1OCw0MyBAQAogCXsgfQogfTsKIAorc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM2NjNfbTUxdmFfaW5pdF92ZXJic1tdID0geworCXsweDIxLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9IUH0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDB9LAkvKiBIZWFkcGhvbmUgKi8KKworCXsweDIzLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDkpfSwKKworCXsweDE4LCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOIHwgQUxDODgwX01JQ19FVkVOVH0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX1VOU09MSUNJVEVEX0VOQUJMRSwgQUNfVVNSU1BfRU4gfCBBTEM4ODBfSFBfRVZFTlR9LAorCXt9Cit9OworCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzY2M19nNzF2X2luaXRfdmVyYnNbXSA9IHsKKwl7MHgxNSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSFB9LAorCS8qIHsweDE1LCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURX0sICovCisJLyogezB4MTUsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAxfSwgKi8gLyogSGVhZHBob25lICovCisKKwl7MHgyMSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSFB9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURX0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAwfSwJLyogSGVhZHBob25lICovCisKKwl7MHgxNSwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTnxBTEM4ODBfRlJPTlRfRVZFTlR9LAorCXsweDE4LCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOfEFMQzg4MF9NSUNfRVZFTlR9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOfEFMQzg4MF9IUF9FVkVOVH0sCisJe30KK307CisKK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjNjYzX2c1MHZfaW5pdF92ZXJic1tdID0geworCXsweDIxLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9IUH0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDB9LAkvKiBIZWFkcGhvbmUgKi8KKworCXsweDE4LCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOIHwgQUxDODgwX01JQ19FVkVOVH0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX1VOU09MSUNJVEVEX0VOQUJMRSwgQUNfVVNSU1BfRU4gfCBBTEM4ODBfSFBfRVZFTlR9LAorCXt9Cit9OworCiAvKiBjYXB0dXJlIG1peGVyIGVsZW1lbnRzICovCiBzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjNjYyX2NhcHR1cmVfbWl4ZXJbXSA9IHsKIAlIREFfQ09ERUNfVk9MVU1FKCJDYXB0dXJlIFZvbHVtZSIsIDB4MDksIDB4MCwgSERBX0lOUFVUKSwKQEAgLTEzNjkyLDYgKzE0MDE2LDEyNSBAQAogCWFsYzY2Ml9lZWVwY19lcDIwX2F1dG9tdXRlKGNvZGVjKTsKIH0KIAorc3RhdGljIHZvaWQgYWxjNjYzX201MXZhX3NwZWFrZXJfYXV0b211dGUoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJdW5zaWduZWQgaW50IHByZXNlbnQ7CisJdW5zaWduZWQgY2hhciBiaXRzOworCisJcHJlc2VudCA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgMHgyMSwgMCwKKwkJCQkgICAgIEFDX1ZFUkJfR0VUX1BJTl9TRU5TRSwgMCkKKwkJJiBBQ19QSU5TRU5TRV9QUkVTRU5DRTsKKwliaXRzID0gcHJlc2VudCA/IEhEQV9BTVBfTVVURSA6IDA7CisJc25kX2hkYV9jb2RlY19hbXBfc3RlcmVvKGNvZGVjLCAweDE0LCBIREFfT1VUUFVULCAwLAorCQkJCSBIREFfQU1QX01VVEUsIGJpdHMpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfbTUxdmFfbWljX2F1dG9tdXRlKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXVuc2lnbmVkIGludCBwcmVzZW50OworCisJcHJlc2VudCA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgMHgxOCwgMCwKKwkJCQkgICAgIEFDX1ZFUkJfR0VUX1BJTl9TRU5TRSwgMCkKKwkJJiBBQ19QSU5TRU5TRV9QUkVTRU5DRTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlX2NhY2hlKGNvZGVjLCAweDIyLCAwLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLAorCQkJICAgIDB4NzAwMCB8ICgweDAwIDw8IDgpIHwgKHByZXNlbnQgPyAwIDogMHg4MCkpOworCXNuZF9oZGFfY29kZWNfd3JpdGVfY2FjaGUoY29kZWMsIDB4MjMsIDAsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsCisJCQkgICAgMHg3MDAwIHwgKDB4MDAgPDwgOCkgfCAocHJlc2VudCA/IDAgOiAweDgwKSk7CisJc25kX2hkYV9jb2RlY193cml0ZV9jYWNoZShjb2RlYywgMHgyMiwgMCwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwKKwkJCSAgICAweDcwMDAgfCAoMHgwOSA8PCA4KSB8IChwcmVzZW50ID8gMHg4MCA6IDApKTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlX2NhY2hlKGNvZGVjLCAweDIzLCAwLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLAorCQkJICAgIDB4NzAwMCB8ICgweDA5IDw8IDgpIHwgKHByZXNlbnQgPyAweDgwIDogMCkpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfbTUxdmFfdW5zb2xfZXZlbnQoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMsCisJCQkJCSAgIHVuc2lnbmVkIGludCByZXMpCit7CisJc3dpdGNoIChyZXMgPj4gMjYpIHsKKwljYXNlIEFMQzg4MF9IUF9FVkVOVDoKKwkJYWxjNjYzX201MXZhX3NwZWFrZXJfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwljYXNlIEFMQzg4MF9NSUNfRVZFTlQ6CisJCWFsYzY2M19tNTF2YV9taWNfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19tNTF2YV9pbml0aG9vayhzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwlhbGM2NjNfbTUxdmFfc3BlYWtlcl9hdXRvbXV0ZShjb2RlYyk7CisJYWxjNjYzX201MXZhX21pY19hdXRvbXV0ZShjb2RlYyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNzF2X2hwX2F1dG9tdXRlKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXVuc2lnbmVkIGludCBwcmVzZW50OworCXVuc2lnbmVkIGNoYXIgYml0czsKKworCXByZXNlbnQgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MjEsIDAsCisJCQkJICAgICBBQ19WRVJCX0dFVF9QSU5fU0VOU0UsIDApCisJCSYgQUNfUElOU0VOU0VfUFJFU0VOQ0U7CisJYml0cyA9IHByZXNlbnQgPyBIREFfQU1QX01VVEUgOiAwOworCXNuZF9oZGFfY29kZWNfYW1wX3N0ZXJlbyhjb2RlYywgMHgxNSwgSERBX09VVFBVVCwgMCwKKwkJCQkgSERBX0FNUF9NVVRFLCBiaXRzKTsKKwlzbmRfaGRhX2NvZGVjX2FtcF9zdGVyZW8oY29kZWMsIDB4MTQsIEhEQV9PVVRQVVQsIDAsCisJCQkJIEhEQV9BTVBfTVVURSwgYml0cyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNzF2X2Zyb250X2F1dG9tdXRlKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXVuc2lnbmVkIGludCBwcmVzZW50OworCXVuc2lnbmVkIGNoYXIgYml0czsKKworCXByZXNlbnQgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MTUsIDAsCisJCQkJICAgICBBQ19WRVJCX0dFVF9QSU5fU0VOU0UsIDApCisJCSYgQUNfUElOU0VOU0VfUFJFU0VOQ0U7CisJYml0cyA9IHByZXNlbnQgPyBIREFfQU1QX01VVEUgOiAwOworCXNuZF9oZGFfY29kZWNfYW1wX3N0ZXJlbyhjb2RlYywgMHgxNCwgSERBX09VVFBVVCwgMCwKKwkJCQkgSERBX0FNUF9NVVRFLCBiaXRzKTsKK30KKworc3RhdGljIHZvaWQgYWxjNjYzX2c3MXZfdW5zb2xfZXZlbnQoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMsCisJCQkJCSAgIHVuc2lnbmVkIGludCByZXMpCit7CisJc3dpdGNoIChyZXMgPj4gMjYpIHsKKwljYXNlIEFMQzg4MF9IUF9FVkVOVDoKKwkJYWxjNjYzX2c3MXZfaHBfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwljYXNlIEFMQzg4MF9GUk9OVF9FVkVOVDoKKwkJYWxjNjYzX2c3MXZfZnJvbnRfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwljYXNlIEFMQzg4MF9NSUNfRVZFTlQ6CisJCWFsYzY2Ml9lZWVwY19taWNfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNzF2X2luaXRob29rKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCWFsYzY2M19nNzF2X2Zyb250X2F1dG9tdXRlKGNvZGVjKTsKKwlhbGM2NjNfZzcxdl9ocF9hdXRvbXV0ZShjb2RlYyk7CisJYWxjNjYyX2VlZXBjX21pY19hdXRvbXV0ZShjb2RlYyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNTB2X3Vuc29sX2V2ZW50KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLAorCQkJCQkgICB1bnNpZ25lZCBpbnQgcmVzKQoreworCXN3aXRjaCAocmVzID4+IDI2KSB7CisJY2FzZSBBTEM4ODBfSFBfRVZFTlQ6CisJCWFsYzY2M19tNTF2YV9zcGVha2VyX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJY2FzZSBBTEM4ODBfTUlDX0VWRU5UOgorCQlhbGM2NjJfZWVlcGNfbWljX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzUwdl9pbml0aG9vayhzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwlhbGM2NjNfbTUxdmFfc3BlYWtlcl9hdXRvbXV0ZShjb2RlYyk7CisJYWxjNjYyX2VlZXBjX21pY19hdXRvbXV0ZShjb2RlYyk7Cit9CisKICNpZmRlZiBDT05GSUdfU05EX0hEQV9QT1dFUl9TQVZFCiAjZGVmaW5lIGFsYzY2Ml9sb29wYmFja3MJYWxjODgwX2xvb3BiYWNrcwogI2VuZGlmCkBAIC0xMzcxNCwxNCArMTQxNTcsMjQgQEAKIAlbQUxDNjYyX0xFTk9WT18xMDFFXQk9ICJsZW5vdm8tMTAxZSIsCiAJW0FMQzY2Ml9BU1VTX0VFRVBDX1A3MDFdID0gImVlZXBjLXA3MDEiLAogCVtBTEM2NjJfQVNVU19FRUVQQ19FUDIwXSA9ICJlZWVwYy1lcDIwIiwKKwlbQUxDNjYzX0FTVVNfTTUxVkFdID0gIm01MXZhIiwKKwlbQUxDNjYzX0FTVVNfRzcxVl0gPSAiZzcxdiIsCisJW0FMQzY2M19BU1VTX0gxM10gPSAiaDEzIiwKKwlbQUxDNjYzX0FTVVNfRzUwVl0gPSAiZzUwdiIsCiAJW0FMQzY2Ml9BVVRPXQkJPSAiYXV0byIsCiB9OwogCiBzdGF0aWMgc3RydWN0IHNuZF9wY2lfcXVpcmsgYWxjNjYyX2NmZ190YmxbXSA9IHsKKwlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHgxMWMzLCAiQVNVUyBHNzFWIiwgQUxDNjYzX0FTVVNfRzcxViksCisJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4MTg3OCwgIkFTVVMgTTUxVkEiLCBBTEM2NjNfQVNVU19NNTFWQSksCisJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4MTlhMywgIkFTVVMgTTUxVkEiLCBBTEM2NjNfQVNVU19HNTBWKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MjkwLCAiQVNVUyBQNUdDLU1YIiwgQUxDNjYyXzNTVF82Y2hfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MmExLCAiQVNVUyBFZWVwYyIsIEFMQzY2Ml9BU1VTX0VFRVBDX1A3MDEpLAogCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDgyZDEsICJBU1VTIEVlZXBjIEVQMjAiLCBBTEM2NjJfQVNVU19FRUVQQ19FUDIwKSwKIAlTTkRfUENJX1FVSVJLKDB4MTdhYSwgMHgxMDFlLCAiTGVub3ZvIiwgQUxDNjYyX0xFTk9WT18xMDFFKSwKKwlTTkRfUENJX1FVSVJLKDB4MTg1NCwgMHgyMDAwLCAiQVNVUyBIMTMtMjAwMCIsIEFMQzY2M19BU1VTX0gxMyksCisJU05EX1BDSV9RVUlSSygweDE4NTQsIDB4MjAwMSwgIkFTVVMgSDEzLTIwMDEiLCBBTEM2NjNfQVNVU19IMTMpLAorCVNORF9QQ0lfUVVJUksoMHgxODU0LCAweDIwMDIsICJBU1VTIEgxMy0yMDAyIiwgQUxDNjYzX0FTVVNfSDEzKSwKIAl7fQogfTsKIApAQCAtMTM4MDksNyArMTQyNjIsNTMgQEAKIAkJLnVuc29sX2V2ZW50ID0gYWxjNjYyX2VlZXBjX2VwMjBfdW5zb2xfZXZlbnQsCiAJCS5pbml0X2hvb2sgPSBhbGM2NjJfZWVlcGNfZXAyMF9pbml0aG9vaywKIAl9LAotCisJW0FMQzY2M19BU1VTX001MVZBXSA9IHsKKwkJLm1peGVycyA9IHsgYWxjNjYzX201MXZhX21peGVyLCBhbGM2NjJfY2FwdHVyZV9taXhlcn0sCisJCS5pbml0X3ZlcmJzID0geyBhbGM2NjJfaW5pdF92ZXJicywgYWxjNjYzX201MXZhX2luaXRfdmVyYnMgfSwKKwkJLm51bV9kYWNzID0gQVJSQVlfU0laRShhbGM2NjJfZGFjX25pZHMpLAorCQkuZGFjX25pZHMgPSBhbGM2NjJfZGFjX25pZHMsCisJCS5kaWdfb3V0X25pZCA9IEFMQzY2Ml9ESUdPVVRfTklELAorCQkubnVtX2NoYW5uZWxfbW9kZSA9IEFSUkFZX1NJWkUoYWxjNjYyXzNTVF8yY2hfbW9kZXMpLAorCQkuY2hhbm5lbF9tb2RlID0gYWxjNjYyXzNTVF8yY2hfbW9kZXMsCisJCS5pbnB1dF9tdXggPSAmYWxjNjYzX201MXZhX2NhcHR1cmVfc291cmNlLAorCQkudW5zb2xfZXZlbnQgPSBhbGM2NjNfbTUxdmFfdW5zb2xfZXZlbnQsCisJCS5pbml0X2hvb2sgPSBhbGM2NjNfbTUxdmFfaW5pdGhvb2ssCisJfSwKKwlbQUxDNjYzX0FTVVNfRzcxVl0gPSB7CisJCS5taXhlcnMgPSB7IGFsYzY2M19nNzF2X21peGVyLCBhbGM2NjJfY2FwdHVyZV9taXhlcn0sCisJCS5pbml0X3ZlcmJzID0geyBhbGM2NjJfaW5pdF92ZXJicywgYWxjNjYzX2c3MXZfaW5pdF92ZXJicyB9LAorCQkubnVtX2RhY3MgPSBBUlJBWV9TSVpFKGFsYzY2Ml9kYWNfbmlkcyksCisJCS5kYWNfbmlkcyA9IGFsYzY2Ml9kYWNfbmlkcywKKwkJLmRpZ19vdXRfbmlkID0gQUxDNjYyX0RJR09VVF9OSUQsCisJCS5udW1fY2hhbm5lbF9tb2RlID0gQVJSQVlfU0laRShhbGM2NjJfM1NUXzJjaF9tb2RlcyksCisJCS5jaGFubmVsX21vZGUgPSBhbGM2NjJfM1NUXzJjaF9tb2RlcywKKwkJLmlucHV0X211eCA9ICZhbGM2NjJfZWVlcGNfY2FwdHVyZV9zb3VyY2UsCisJCS51bnNvbF9ldmVudCA9IGFsYzY2M19nNzF2X3Vuc29sX2V2ZW50LAorCQkuaW5pdF9ob29rID0gYWxjNjYzX2c3MXZfaW5pdGhvb2ssCisJfSwKKwlbQUxDNjYzX0FTVVNfSDEzXSA9IHsKKwkJLm1peGVycyA9IHsgYWxjNjYzX201MXZhX21peGVyLCBhbGM2NjJfY2FwdHVyZV9taXhlcn0sCisJCS5pbml0X3ZlcmJzID0geyBhbGM2NjJfaW5pdF92ZXJicywgYWxjNjYzX201MXZhX2luaXRfdmVyYnMgfSwKKwkJLm51bV9kYWNzID0gQVJSQVlfU0laRShhbGM2NjJfZGFjX25pZHMpLAorCQkuZGFjX25pZHMgPSBhbGM2NjJfZGFjX25pZHMsCisJCS5udW1fY2hhbm5lbF9tb2RlID0gQVJSQVlfU0laRShhbGM2NjJfM1NUXzJjaF9tb2RlcyksCisJCS5jaGFubmVsX21vZGUgPSBhbGM2NjJfM1NUXzJjaF9tb2RlcywKKwkJLmlucHV0X211eCA9ICZhbGM2NjNfbTUxdmFfY2FwdHVyZV9zb3VyY2UsCisJCS51bnNvbF9ldmVudCA9IGFsYzY2M19tNTF2YV91bnNvbF9ldmVudCwKKwkJLmluaXRfaG9vayA9IGFsYzY2M19tNTF2YV9pbml0aG9vaywKKwl9LAorCVtBTEM2NjNfQVNVU19HNTBWXSA9IHsKKwkJLm1peGVycyA9IHsgYWxjNjYzX2c1MHZfbWl4ZXIsIGFsYzY2Ml9jYXB0dXJlX21peGVyfSwKKwkJLmluaXRfdmVyYnMgPSB7IGFsYzY2Ml9pbml0X3ZlcmJzLCBhbGM2NjNfZzUwdl9pbml0X3ZlcmJzIH0sCisJCS5udW1fZGFjcyA9IEFSUkFZX1NJWkUoYWxjNjYyX2RhY19uaWRzKSwKKwkJLmRhY19uaWRzID0gYWxjNjYyX2RhY19uaWRzLAorCQkuZGlnX291dF9uaWQgPSBBTEM2NjJfRElHT1VUX05JRCwKKwkJLm51bV9jaGFubmVsX21vZGUgPSBBUlJBWV9TSVpFKGFsYzY2Ml8zU1RfNmNoX21vZGVzKSwKKwkJLmNoYW5uZWxfbW9kZSA9IGFsYzY2Ml8zU1RfNmNoX21vZGVzLAorCQkuaW5wdXRfbXV4ID0gJmFsYzY2M19jYXB0dXJlX3NvdXJjZSwKKwkJLnVuc29sX2V2ZW50ID0gYWxjNjYzX2c1MHZfdW5zb2xfZXZlbnQsCisJCS5pbml0X2hvb2sgPSBhbGM2NjNfZzUwdl9pbml0aG9vaywKKwl9LAogfTsKIAogCkBAIC0xNDA4Miw2ICsxNDU4MSw4IEBACiAKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKKwlhbGNfZml4X3BsbF9pbml0KGNvZGVjLCAweDIwLCAweDA0LCAxNSk7CisKIAlib2FyZF9jb25maWcgPSBzbmRfaGRhX2NoZWNrX2JvYXJkX2NvbmZpZyhjb2RlYywgQUxDNjYyX01PREVMX0xBU1QsCiAJCQkJCQkgIGFsYzY2Ml9tb2RlbHMsCiAJCQkgIAkgICAgICAgICAgICAgICAgICBhbGM2NjJfY2ZnX3RibCk7CkBAIC0xNDEwOCwxMSArMTQ2MDksMTcgQEAKIAlpZiAoYm9hcmRfY29uZmlnICE9IEFMQzY2Ml9BVVRPKQogCQlzZXR1cF9wcmVzZXQoc3BlYywgJmFsYzY2Ml9wcmVzZXRzW2JvYXJkX2NvbmZpZ10pOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzY2MiBBbmFsb2ciOworCWlmIChjb2RlYy0+dmVuZG9yX2lkID09IDB4MTBlYzA2NjMpIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzY2MyBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzY2MyBEaWdpdGFsIjsKKwl9IGVsc2UgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDNjYyIEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDNjYyIERpZ2l0YWwiOworCX0KKwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfcGxheWJhY2sgPSAmYWxjNjYyX3BjbV9hbmFsb2dfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19jYXB0dXJlID0gJmFsYzY2Ml9wY21fYW5hbG9nX2NhcHR1cmU7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzY2MiBEaWdpdGFsIjsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9wbGF5YmFjayA9ICZhbGM2NjJfcGNtX2RpZ2l0YWxfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfY2FwdHVyZSA9ICZhbGM2NjJfcGNtX2RpZ2l0YWxfY2FwdHVyZTsKIApAQCAtMTQxNTEsNiArMTQ2NTgsNyBAQAogCSAgLnBhdGNoID0gcGF0Y2hfYWxjODgzIH0sCiAJeyAuaWQgPSAweDEwZWMwNjYyLCAucmV2ID0gMHgxMDAxMDEsIC5uYW1lID0gIkFMQzY2MiByZXYxIiwKIAkgIC5wYXRjaCA9IHBhdGNoX2FsYzY2MiB9LAorCXsgLmlkID0gMHgxMGVjMDY2MywgLm5hbWUgPSAiQUxDNjYzIiwgLnBhdGNoID0gcGF0Y2hfYWxjNjYyIH0sCiAJeyAuaWQgPSAweDEwZWMwODgwLCAubmFtZSA9ICJBTEM4ODAiLCAucGF0Y2ggPSBwYXRjaF9hbGM4ODAgfSwKIAl7IC5pZCA9IDB4MTBlYzA4ODIsIC5uYW1lID0gIkFMQzg4MiIsIC5wYXRjaCA9IHBhdGNoX2FsYzg4MiB9LAogCXsgLmlkID0gMHgxMGVjMDg4MywgLm5hbWUgPSAiQUxDODgzIiwgLnBhdGNoID0gcGF0Y2hfYWxjODgzIH0sCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL3BhdGNoX3NpZ21hdGVsLmMgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX3NpZ21hdGVsLmMKaW5kZXggYTRmNDRhMC4uMDhjYjc3ZiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9wYXRjaF9zaWdtYXRlbC5jCisrKyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfc2lnbWF0ZWwuYwpAQCAtNjM2LDIxICs2MzYsMjggQEAKIAl7IDB4MGYsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMCl9LAogfTsKIAorI2RlZmluZSBIRF9ESVNBQkxFX1BPUlRGIDMKIHN0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgc3RhYzkyaGQ3MWJ4eF9hbmFsb2dfY29yZV9pbml0W10gPSB7CisJLyogc3RhcnQgb2YgY29uZmlnICMxICovCisKKwkvKiBjb25uZWN0IHBvcnQgMGYgdG8gYXVkaW8gbWl4ZXIgKi8KKwl7IDB4MGYsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDJ9LAorCXsgMHgwZiwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUfSwgLyogU3BlYWtlciAqLworCS8qIHVubXV0ZSByaWdodCBhbmQgbGVmdCBjaGFubmVscyBmb3Igbm9kZSAweDBmICovCisJeyAweDBmLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDApfSwKKwkvKiBzdGFydCBvZiBjb25maWcgIzIgKi8KKwogCS8qIHNldCBtYXN0ZXIgdm9sdW1lIGFuZCBkaXJlY3QgY29udHJvbCAqLwogCXsgMHgyOCwgQUNfVkVSQl9TRVRfVk9MVU1FX0tOT0JfQ09OVFJPTCwgMHhmZn0sCiAJLyogY29ubmVjdCBoZWFkcGhvbmUgamFjayB0byBkYWMxICovCiAJeyAweDBhLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMX0sCi0JLyogY29ubmVjdCBwb3J0cyAwZCBhbmQgMGYgdG8gYXVkaW8gbWl4ZXIgKi8KKwkvKiBjb25uZWN0IHBvcnQgMGQgdG8gYXVkaW8gbWl4ZXIgKi8KIAl7IDB4MGQsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDJ9LAotCXsgMHgwZiwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4Mn0sCi0JeyAweDBmLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVR9LCAvKiBTcGVha2VyICovCiAJLyogdW5tdXRlIGRhYzAgaW5wdXQgaW4gYXVkaW8gbWl4ZXIgKi8KIAl7IDB4MTcsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIDB4NzAxZn0sCi0JLyogdW5tdXRlIHJpZ2h0IGFuZCBsZWZ0IGNoYW5uZWxzIGZvciBub2RlcyAweDBhLCAweGQsIDB4MGYgKi8KKwkvKiB1bm11dGUgcmlnaHQgYW5kIGxlZnQgY2hhbm5lbHMgZm9yIG5vZGVzIDB4MGEsIDB4ZCAqLwogCXsgMHgwYSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgwKX0sCiAJeyAweDBkLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDApfSwKLQl7IDB4MGYsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMCl9LAogCXt9CiB9OwogCkBAIC04MTgsNiArODI1LDkgQEAKIAlIREFfQ09ERUNfTVVURV9JRFgoIkNhcHR1cmUgU3dpdGNoIiwgMHgxLCAweDFkLCAweDAsIEhEQV9PVVRQVVQpLAogCUhEQV9DT0RFQ19WT0xVTUVfSURYKCJDYXB0dXJlIE11eCBWb2x1bWUiLCAweDEsIDB4MWIsIDB4MCwgSERBX09VVFBVVCksCiAKKwlIREFfQ09ERUNfVk9MVU1FKCJQQyBCZWVwIFZvbHVtZSIsIDB4MTcsIDB4MiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiUEMgQmVlcCBTd2l0Y2giLCAweDE3LCAweDIsIEhEQV9JTlBVVCksCisKIAlIREFfQ09ERUNfTVVURSgiQW5hbG9nIExvb3BiYWNrIDEiLCAweDE3LCAweDMsIEhEQV9JTlBVVCksCiAJSERBX0NPREVDX01VVEUoIkFuYWxvZyBMb29wYmFjayAyIiwgMHgxNywgMHg0LCBIREFfSU5QVVQpLAogCXsgfSAvKiBlbmQgKi8KQEAgLTEzMTcsMTMgKzEzMjcsMTMgQEAKIAkweDkwYTAwMGYwLCAweDAxNDUyMDUwLAogfTsKIAotc3RhdGljIHVuc2lnbmVkIGludCBkZWxsX200XzFfcGluX2NvbmZpZ3NbMTNdID0geworc3RhdGljIHVuc2lnbmVkIGludCBkZWxsX200XzFfcGluX2NvbmZpZ3NbMTBdID0gewogCTB4MDQyMTEwMWYsIDB4MDRhMTEyMjEsIDB4NDBmMDAwZjAsIDB4OTAxNzAxMTAsCiAJMHgyM2ExOTAyZSwgMHgyMzAxNDI1MCwgMHg0MGYwMDBmMCwgMHg5MGEwMDBmMCwKIAkweDQwZjAwMGYwLCAweDRmMDAwMGYwLAogfTsKIAotc3RhdGljIHVuc2lnbmVkIGludCBkZWxsX200XzJfcGluX2NvbmZpZ3NbMTNdID0geworc3RhdGljIHVuc2lnbmVkIGludCBkZWxsX200XzJfcGluX2NvbmZpZ3NbMTBdID0gewogCTB4MDQyMTEwMWYsIDB4MDRhMTEyMjEsIDB4OTBhNzAzMzAsIDB4OTAxNzAxMTAsCiAJMHgyM2ExOTAyZSwgMHgyMzAxNDI1MCwgMHg0MGYwMDBmMCwgMHg0MGYwMDBmMCwKIAkweDQwZjAwMGYwLCAweDA0NDQxM2IwLApAQCAtMTc1NCwxMiArMTc2NCw4IEBACiAJCSAgICAgICJ1bmtub3duIERlbGwiLCBTVEFDXzkyMDVfREVMTF9NNDIpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZjgsCiAJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIxYywKLQkJCSAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWY5LAogCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMWIsCi0JCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmYSwKIAkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWZjLApAQCAtMTc3MCwxOCArMTc3NiwxNCBAQAogCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZmYsCiAJCSAgICAgICJEZWxsIFByZWNpc2lvbiBNNDMwMCIsIFNUQUNfOTIwNV9ERUxMX000MyksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIwNiwKLQkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWYxLAotCQkgICAgICAiRGVsbCBJbnNwaXJvbiIsIFNUQUNfOTIwNV9ERUxMX000NCksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmMiwKLQkJICAgICAgIkRlbGwgSW5zcGlyb24iLCBTVEFDXzkyMDVfREVMTF9NNDQpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZmMsCi0JCSAgICAgICJEZWxsIEluc3Bpcm9uIiwgU1RBQ185MjA1X0RFTExfTTQ0KSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWZkLAotCQkgICAgICAiRGVsbCBJbnNwaXJvbiIsIFNUQUNfOTIwNV9ERUxMX000NCksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIwNCwKIAkJICAgICAgInVua25vd24gRGVsbCIsIFNUQUNfOTIwNV9ERUxMX000MiksCisJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIwNiwKKwkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKKwlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjFiLAorCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAorCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMWMsCisJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIxZiwKIAkJICAgICAgIkRlbGwgSW5zcGlyb24iLCBTVEFDXzkyMDVfREVMTF9NNDQpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMjgsCkBAIC0zMTAzLDEzICszMTA1LDE2IEBACiAJCQkJCTAsIEFDX1ZFUkJfR0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgMCk7CiAJCWludCBkZWZfY29uZiA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgc3BlYy0+cHdyX25pZHNbaV0sCiAJCQkJCTAsIEFDX1ZFUkJfR0VUX0NPTkZJR19ERUZBVUxULCAwKTsKKwkJZGVmX2NvbmYgPSBnZXRfZGVmY2ZnX2Nvbm5lY3QoZGVmX2NvbmYpOwogCQkvKiBvdXRwdXRzIGFyZSBvbmx5IHBvcnRzIGNhcGFibGUgb2YgcG93ZXIgbWFuYWdlbWVudAogCQkgKiBhbnkgYXR0ZW1wdHMgb24gcG93ZXJpbmcgZG93biBhIGlucHV0IHBvcnQgY2F1c2UgdGhlCiAJCSAqIHJlZmVyZW5jZWQgVlJFRiB0byBhY3QgcXVpcmt5LgogCQkgKi8KIAkJaWYgKHBpbmN0bCAmIEFDX1BJTkNUTF9JTl9FTikKIAkJCWNvbnRpbnVlOwotCQlpZiAoZ2V0X2RlZmNmZ19jb25uZWN0KGRlZl9jb25mKSAhPSBBQ19KQUNLX1BPUlRfRklYRUQpCisJCS8qIHNraXAgYW55IHBvcnRzIHRoYXQgZG9uJ3QgaGF2ZSBqYWNrcyBzaW5jZSBwcmVzZW5jZQorIAkJICogZGV0ZWN0aW9uIGlzIHVzZWxlc3MgKi8KKwkJaWYgKGRlZl9jb25mICYmIGRlZl9jb25mICE9IEFDX0pBQ0tfUE9SVF9GSVhFRCkKIAkJCWNvbnRpbnVlOwogCQllbmFibGVfcGluX2RldGVjdChjb2RlYywgc3BlYy0+cHdyX25pZHNbaV0sIGV2ZW50IHwgaSk7CiAJCWNvZGVjLT5wYXRjaF9vcHMudW5zb2xfZXZlbnQoY29kZWMsIChldmVudCB8IGkpIDw8IDI2KTsKQEAgLTM2MTQsNiArMzYxOSw3IEBACiAKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAJc3BlYy0+bnVtX3BpbnMgPSBBUlJBWV9TSVpFKHN0YWM5MmhkNzFieHhfcGluX25pZHMpOworCXNwZWMtPm51bV9wd3JzID0gQVJSQVlfU0laRShzdGFjOTJoZDcxYnh4X3B3cl9uaWRzKTsKIAlzcGVjLT5waW5fbmlkcyA9IHN0YWM5MmhkNzFieHhfcGluX25pZHM7CiAJc3BlYy0+Ym9hcmRfY29uZmlnID0gc25kX2hkYV9jaGVja19ib2FyZF9jb25maWcoY29kZWMsCiAJCQkJCQkJU1RBQ185MkhENzFCWFhfTU9ERUxTLApAQCAtMzY0Miw2ICszNjQ4LDE5IEBACiAJCXNwZWMtPm1peGVyID0gc3RhYzkyaGQ3MWJ4eF9taXhlcjsKIAkJc3BlYy0+aW5pdCA9IHN0YWM5MmhkNzFieHhfY29yZV9pbml0OwogCQlicmVhazsKKwljYXNlIDB4MTExZDc2MDg6IC8qIDUgUG9ydCB3aXRoIEFuYWxvZyBNaXhlciAqLworCQkvKiBubyBvdXRwdXQgYW1wcyAqLworCQlzcGVjLT5udW1fcHdycyA9IDA7CisJCXNwZWMtPm1peGVyID0gc3RhYzkyaGQ3MWJ4eF9hbmFsb2dfbWl4ZXI7CisKKwkJLyogZGlzYWJsZSBWU1cgKi8KKwkJc3BlYy0+aW5pdCA9ICZzdGFjOTJoZDcxYnh4X2FuYWxvZ19jb3JlX2luaXRbSERfRElTQUJMRV9QT1JURl07CisJCXN0YWM5Mnh4X3NldF9jb25maWdfcmVnKGNvZGVjLCAweGYsIDB4NDBmMDAwZjApOworCQlicmVhazsKKwljYXNlIDB4MTExZDc2MDM6IC8qIDYgUG9ydCB3aXRoIEFuYWxvZyBNaXhlciAqLworCQkvKiBubyBvdXRwdXQgYW1wcyAqLworCQlzcGVjLT5udW1fcHdycyA9IDA7CisJCS8qIGZhbGx0aHJ1ICovCiAJZGVmYXVsdDoKIAkJc3BlYy0+bWl4ZXIgPSBzdGFjOTJoZDcxYnh4X2FuYWxvZ19taXhlcjsKIAkJc3BlYy0+aW5pdCA9IHN0YWM5MmhkNzFieHhfYW5hbG9nX2NvcmVfaW5pdDsKQEAgLTM2NTMsMjIgKzM2NzIsMTkgQEAKIAkvKiBHUElPMCBIaWdoID0gRUFQRCAqLwogCXNwZWMtPmdwaW9fbWFzayA9IDB4MDE7CiAJc3BlYy0+Z3Bpb19kaXIgPSAweDAxOwotCXNwZWMtPmdwaW9fbWFzayA9IDB4MDE7CiAJc3BlYy0+Z3Bpb19kYXRhID0gMHgwMTsKIAogCXNwZWMtPm11eF9uaWRzID0gc3RhYzkyaGQ3MWJ4eF9tdXhfbmlkczsKIAlzcGVjLT5hZGNfbmlkcyA9IHN0YWM5MmhkNzFieHhfYWRjX25pZHM7CiAJc3BlYy0+ZG1pY19uaWRzID0gc3RhYzkyaGQ3MWJ4eF9kbWljX25pZHM7CiAJc3BlYy0+ZG11eF9uaWRzID0gc3RhYzkyaGQ3MWJ4eF9kbXV4X25pZHM7CisJc3BlYy0+cHdyX25pZHMgPSBzdGFjOTJoZDcxYnh4X3B3cl9uaWRzOwogCiAJc3BlYy0+bnVtX211eGVzID0gQVJSQVlfU0laRShzdGFjOTJoZDcxYnh4X211eF9uaWRzKTsKIAlzcGVjLT5udW1fYWRjcyA9IEFSUkFZX1NJWkUoc3RhYzkyaGQ3MWJ4eF9hZGNfbmlkcyk7CiAJc3BlYy0+bnVtX2RtaWNzID0gU1RBQzkySEQ3MUJYWF9OVU1fRE1JQ1M7CiAJc3BlYy0+bnVtX2RtdXhlcyA9IEFSUkFZX1NJWkUoc3RhYzkyaGQ3MWJ4eF9kbXV4X25pZHMpOwogCi0Jc3BlYy0+bnVtX3B3cnMgPSBBUlJBWV9TSVpFKHN0YWM5MmhkNzFieHhfcHdyX25pZHMpOwotCXNwZWMtPnB3cl9uaWRzID0gc3RhYzkyaGQ3MWJ4eF9wd3JfbmlkczsKLQogCXNwZWMtPm11bHRpb3V0Lm51bV9kYWNzID0gMTsKIAlzcGVjLT5tdWx0aW91dC5ocF9uaWQgPSAweDExOwogCXNwZWMtPm11bHRpb3V0LmRhY19uaWRzID0gc3RhYzkyaGQ3MWJ4eF9kYWNfbmlkczsKQEAgLTQzMDYsMTAgKzQzMjIsMTEgQEAKICAJeyAuaWQgPSAweDgzODQ3NmE1LCAubmFtZSA9ICJTVEFDOTI1NUQiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTIwNSB9LAogIAl7IC5pZCA9IDB4ODM4NDc2YTYsIC5uYW1lID0gIlNUQUM5MjU0IiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyMDUgfSwKICAJeyAuaWQgPSAweDgzODQ3NmE3LCAubmFtZSA9ICJTVEFDOTI1NEQiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTIwNSB9LAorCXsgLmlkID0gMHgxMTFkNzYwMywgLm5hbWUgPSAiOTJIRDc1QjNYNSIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHh9LAorCXsgLmlkID0gMHgxMTFkNzYwOCwgLm5hbWUgPSAiOTJIRDc1QjJYNSIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHh9LAogCXsgLmlkID0gMHgxMTFkNzY3NCwgLm5hbWUgPSAiOTJIRDczRDFYNSIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzN4eCB9LAogCXsgLmlkID0gMHgxMTFkNzY3NSwgLm5hbWUgPSAiOTJIRDczQzFYNSIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzN4eCB9LAogCXsgLmlkID0gMHgxMTFkNzY3NiwgLm5hbWUgPSAiOTJIRDczRTFYNSIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzN4eCB9LAotCXsgLmlkID0gMHgxMTFkNzYwOCwgLm5hbWUgPSAiOTJIRDcxQlhYIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3MWJ4eCB9LAogCXsgLmlkID0gMHgxMTFkNzZiMCwgLm5hbWUgPSAiOTJIRDcxQjhYIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3MWJ4eCB9LAogCXsgLmlkID0gMHgxMTFkNzZiMSwgLm5hbWUgPSAiOTJIRDcxQjhYIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3MWJ4eCB9LAogCXsgLmlkID0gMHgxMTFkNzZiMiwgLm5hbWUgPSAiOTJIRDcxQjdYIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3MWJ4eCB9LApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2ljZTE3MTIvZW52eTI0aHQuaCBiL3NvdW5kL3BjaS9pY2UxNzEyL2VudnkyNGh0LmgKaW5kZXggNDNiOWUzZS4uYTBjNWUwMCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2ljZTE3MTIvZW52eTI0aHQuaAorKysgYi9zb3VuZC9wY2kvaWNlMTcxMi9lbnZ5MjRodC5oCkBAIC05Myw5ICs5MywxMyBAQAogI2RlZmluZSBWVDE3MjRfUkVHX01QVV9UWEZJRk8JCTB4MGEJLypieXRlIHJvLiBudW1iZXIgb2YgYnl0ZXMgaW4gVFggZmlmbyovCiAjZGVmaW5lIFZUMTcyNF9SRUdfTVBVX1JYRklGTwkJMHgwYgkvKmJ5dGUgcm8uIG51bWJlciBvZiBieXRlcyBpbiBSWCBmaWZvKi8KIAotLy9hcmUgdGhlc2UgMiB0aGUgd3Jvbmcgd2F5IGFyb3VuZD8gdGhleSBkb24ndCBzZWVtIHRvIGJlIHVzZWQgeWV0IGFueXdheQotI2RlZmluZSBWVDE3MjRfUkVHX01QVV9DVFJMCQkweDBjCS8qIGJ5dGUgKi8KLSNkZWZpbmUgVlQxNzI0X1JFR19NUFVfREFUQQkJMHgwZAkvKiBieXRlICovCisjZGVmaW5lIFZUMTcyNF9SRUdfTVBVX0RBVEEJCTB4MGMJLyogYnl0ZSAqLworI2RlZmluZSBWVDE3MjRfUkVHX01QVV9DVFJMCQkweDBkCS8qIGJ5dGUgKi8KKyNkZWZpbmUgICBWVDE3MjRfTVBVX1VBUlQJMHgwMQorI2RlZmluZSAgIFZUMTcyNF9NUFVfVFhfRU1QVFkJMHgwMgorI2RlZmluZSAgIFZUMTcyNF9NUFVfVFhfRlVMTAkweDA0CisjZGVmaW5lICAgVlQxNzI0X01QVV9SWF9FTVBUWQkweDA4CisjZGVmaW5lICAgVlQxNzI0X01QVV9SWF9GVUxMCTB4MTAKIAogI2RlZmluZSBWVDE3MjRfUkVHX01QVV9GSUZPX1dNCTB4MGUJLypieXRlIHNldCB0aGUgaGlnaC9sb3cgd2F0ZXJtYXJrcyBmb3IgUlgvVFggZmlmb3MqLwogI2RlZmluZSAgIFZUMTcyNF9NUFVfUlhfRklGTwkweDIwCS8vMT1yeCBmaWZvIHdhdGVybWFyayAwPXR4IGZpZm8gd2F0ZXJtYXJrCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzEyLmggYi9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzEyLmgKaW5kZXggMzIwODkwMS4uNzYyZmJkNyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcxMi5oCisrKyBiL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MTIuaApAQCAtMzMzLDYgKzMzMyw4IEBACiAJdW5zaWduZWQgaW50IGhhc19zcGRpZjogMTsJLyogVlQxNzIwLzQgLSBoYXMgU1BESUYgSS9PICovCiAJdW5zaWduZWQgaW50IGZvcmNlX3BkbWE0OiAxOwkvKiBWVDE3MjAvNCAtIFBETUE0IGFzIG5vbi1zcGRpZiAqLwogCXVuc2lnbmVkIGludCBmb3JjZV9yZG1hMTogMTsJLyogVlQxNzIwLzQgLSBSRE1BMSBhcyBub24tc3BkaWYgKi8KKwl1bnNpZ25lZCBpbnQgbWlkaV9vdXRwdXQ6IDE7CS8qIFZUMTcyMC80OiBNSURJIG91dHB1dCB0cmlnZ2VyZWQgKi8KKwl1bnNpZ25lZCBpbnQgbWlkaV9pbnB1dDogMTsJLyogVlQxNzIwLzQ6IE1JREkgaW5wdXQgdHJpZ2dlcmVkICovCiAJdW5zaWduZWQgaW50IG51bV90b3RhbF9kYWNzOwkvKiB0b3RhbCBEQUNzICovCiAJdW5zaWduZWQgaW50IG51bV90b3RhbF9hZGNzOwkvKiB0b3RhbCBBRENzICovCiAJdW5zaWduZWQgaW50IGN1cl9yYXRlOwkJLyogY3VycmVudCByYXRlICovCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzI0LmMgYi9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzI0LmMKaW5kZXggNjczNTA5MC4uZTU5NmQ3NyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcyNC5jCisrKyBiL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MjQuYwpAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8c291bmQvY29yZS5oPgogI2luY2x1ZGUgPHNvdW5kL2luZm8uaD4KLSNpbmNsdWRlIDxzb3VuZC9tcHU0MDEuaD4KKyNpbmNsdWRlIDxzb3VuZC9yYXdtaWRpLmg+CiAjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgogCiAjaW5jbHVkZSA8c291bmQvYXNvdW5kZWYuaD4KQEAgLTIyMywzMCArMjIzLDE1MyBAQAogfQogCiAvKgotICogTVBVNDAxIGFjY2Vzc29yCisgKiBNSURJCiAgKi8KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNuZF92dDE3MjRfbXB1NDAxX3JlYWQoc3RydWN0IHNuZF9tcHU0MDEgKm1wdSwKLQkJCQkJICAgIHVuc2lnbmVkIGxvbmcgYWRkcikKKworc3RhdGljIHZvaWQgdnQxNzI0X21pZGlfY2xlYXJfcngoc3RydWN0IHNuZF9pY2UxNzEyICppY2UpCiB7Ci0JLyogZml4IHN0YXR1cyBiaXRzIHRvIHRoZSBzdGFuZGFyZCBwb3NpdGlvbiAqLwotCS8qIG9ubHkgUlhfRU1QVFkgYW5kIFRYX0ZVTEwgYXJlIGNoZWNrZWQgKi8KLQlpZiAoYWRkciA9PSBNUFU0MDFDKG1wdSkpCi0JCXJldHVybiAoaW5iKGFkZHIpICYgMHgwYykgPDwgNDsKLQllbHNlCi0JCXJldHVybiBpbmIoYWRkcik7CisJdW5zaWduZWQgaW50IGNvdW50OworCisJZm9yIChjb3VudCA9IGluYihJQ0VSRUcxNzI0KGljZSwgTVBVX1JYRklGTykpOyBjb3VudCA+IDA7IC0tY291bnQpCisJCWluYihJQ0VSRUcxNzI0KGljZSwgTVBVX0RBVEEpKTsKIH0KIAotc3RhdGljIHZvaWQgc25kX3Z0MTcyNF9tcHU0MDFfd3JpdGUoc3RydWN0IHNuZF9tcHU0MDEgKm1wdSwKLQkJCQkgICAgdW5zaWduZWQgY2hhciBkYXRhLCB1bnNpZ25lZCBsb25nIGFkZHIpCitzdGF0aWMgaW5saW5lIHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKgorZ2V0X3Jhd21pZGlfc3Vic3RyZWFtKHN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlLCB1bnNpZ25lZCBpbnQgc3RyZWFtKQogewotCWlmIChhZGRyID09IE1QVTQwMUMobXB1KSkgewotCQlpZiAoZGF0YSA9PSBNUFU0MDFfRU5URVJfVUFSVCkKLQkJCW91dGIoMHgwMSwgYWRkcik7Ci0JCS8qIHdoYXQgZWxzZT8gKi8KLQl9IGVsc2UKLQkJb3V0YihkYXRhLCBhZGRyKTsKKwlyZXR1cm4gbGlzdF9maXJzdF9lbnRyeSgmaWNlLT5ybWlkaVswXS0+c3RyZWFtc1tzdHJlYW1dLnN1YnN0cmVhbXMsCisJCQkJc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSwgbGlzdCk7CiB9CiAKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX3dyaXRlKHN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlKQoreworCXN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnM7CisJaW50IGNvdW50LCBpOworCXU4IGJ1ZmZlclszMl07CisKKwlzID0gZ2V0X3Jhd21pZGlfc3Vic3RyZWFtKGljZSwgU05EUlZfUkFXTUlESV9TVFJFQU1fT1VUUFVUKTsKKwljb3VudCA9IDMxIC0gaW5iKElDRVJFRzE3MjQoaWNlLCBNUFVfVFhGSUZPKSk7CisJaWYgKGNvdW50ID4gMCkgeworCQljb3VudCA9IHNuZF9yYXdtaWRpX3RyYW5zbWl0KHMsIGJ1ZmZlciwgY291bnQpOworCQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKwkJCW91dGIoYnVmZmVyW2ldLCBJQ0VSRUcxNzI0KGljZSwgTVBVX0RBVEEpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX3JlYWQoc3RydWN0IHNuZF9pY2UxNzEyICppY2UpCit7CisJc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqczsKKwlpbnQgY291bnQsIGk7CisJdTggYnVmZmVyWzMyXTsKKworCXMgPSBnZXRfcmF3bWlkaV9zdWJzdHJlYW0oaWNlLCBTTkRSVl9SQVdNSURJX1NUUkVBTV9JTlBVVCk7CisJY291bnQgPSBpbmIoSUNFUkVHMTcyNChpY2UsIE1QVV9SWEZJRk8pKTsKKwlpZiAoY291bnQgPiAwKSB7CisJCWNvdW50ID0gbWluKGNvdW50LCAzMik7CisJCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgKytpKQorCQkJYnVmZmVyW2ldID0gaW5iKElDRVJFRzE3MjQoaWNlLCBNUFVfREFUQSkpOworCQlzbmRfcmF3bWlkaV9yZWNlaXZlKHMsIGJ1ZmZlciwgY291bnQpOworCX0KK30KKworc3RhdGljIHZvaWQgdnQxNzI0X2VuYWJsZV9taWRpX2lycShzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJICAgdTggZmxhZywgaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSA9IHN1YnN0cmVhbS0+cm1pZGktPnByaXZhdGVfZGF0YTsKKwl1OCBtYXNrOworCisJc3Bpbl9sb2NrX2lycSgmaWNlLT5yZWdfbG9jayk7CisJbWFzayA9IGluYihJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpOworCWlmIChlbmFibGUpCisJCW1hc2sgJj0gfmZsYWc7CisJZWxzZQorCQltYXNrIHw9IGZsYWc7CisJb3V0YihtYXNrLCBJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpOworCXNwaW5fdW5sb2NrX2lycSgmaWNlLT5yZWdfbG9jayk7Cit9CisKK3N0YXRpYyBpbnQgdnQxNzI0X21pZGlfb3V0cHV0X29wZW4oc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcykKK3sKKwl2dDE3MjRfZW5hYmxlX21pZGlfaXJxKHMsIFZUMTcyNF9JUlFfTVBVX1RYLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2dDE3MjRfbWlkaV9vdXRwdXRfY2xvc2Uoc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcykKK3sKKwl2dDE3MjRfZW5hYmxlX21pZGlfaXJxKHMsIFZUMTcyNF9JUlFfTVBVX1RYLCAwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdnQxNzI0X21pZGlfb3V0cHV0X3RyaWdnZXIoc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcywgaW50IHVwKQoreworCXN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlID0gcy0+cm1pZGktPnByaXZhdGVfZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmljZS0+cmVnX2xvY2ssIGZsYWdzKTsKKwlpZiAodXApIHsKKwkJaWNlLT5taWRpX291dHB1dCA9IDE7CisJCXZ0MTcyNF9taWRpX3dyaXRlKGljZSk7CisJfSBlbHNlIHsKKwkJaWNlLT5taWRpX291dHB1dCA9IDA7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmljZS0+cmVnX2xvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgdnQxNzI0X21pZGlfb3V0cHV0X2RyYWluKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMpCit7CisJc3RydWN0IHNuZF9pY2UxNzEyICppY2UgPSBzLT5ybWlkaS0+cHJpdmF0ZV9kYXRhOworCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKKworCS8qIDMyIGJ5dGVzIHNob3VsZCBiZSB0cmFuc21pdHRlZCBpbiBsZXNzIHRoYW4gYWJvdXQgMTIgbXMgKi8KKwl0aW1lb3V0ID0gamlmZmllcyArIG1zZWNzX3RvX2ppZmZpZXMoMTUpOworCWRvIHsKKwkJaWYgKGluYihJQ0VSRUcxNzI0KGljZSwgTVBVX0NUUkwpKSAmIFZUMTcyNF9NUFVfVFhfRU1QVFkpCisJCQlicmVhazsKKwkJc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUoMSk7CisJfSB3aGlsZSAodGltZV9hZnRlcih0aW1lb3V0LCBqaWZmaWVzKSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3Jhd21pZGlfb3BzIHZ0MTcyNF9taWRpX291dHB1dF9vcHMgPSB7CisJLm9wZW4gPSB2dDE3MjRfbWlkaV9vdXRwdXRfb3BlbiwKKwkuY2xvc2UgPSB2dDE3MjRfbWlkaV9vdXRwdXRfY2xvc2UsCisJLnRyaWdnZXIgPSB2dDE3MjRfbWlkaV9vdXRwdXRfdHJpZ2dlciwKKwkuZHJhaW4gPSB2dDE3MjRfbWlkaV9vdXRwdXRfZHJhaW4sCit9OworCitzdGF0aWMgaW50IHZ0MTcyNF9taWRpX2lucHV0X29wZW4oc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcykKK3sKKwl2dDE3MjRfbWlkaV9jbGVhcl9yeChzLT5ybWlkaS0+cHJpdmF0ZV9kYXRhKTsKKwl2dDE3MjRfZW5hYmxlX21pZGlfaXJxKHMsIFZUMTcyNF9JUlFfTVBVX1JYLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2dDE3MjRfbWlkaV9pbnB1dF9jbG9zZShzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzKQoreworCXZ0MTcyNF9lbmFibGVfbWlkaV9pcnEocywgVlQxNzI0X0lSUV9NUFVfUlgsIDApOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCB2dDE3MjRfbWlkaV9pbnB1dF90cmlnZ2VyKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMsIGludCB1cCkKK3sKKwlzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSA9IHMtPnJtaWRpLT5wcml2YXRlX2RhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZpY2UtPnJlZ19sb2NrLCBmbGFncyk7CisJaWYgKHVwKSB7CisJCWljZS0+bWlkaV9pbnB1dCA9IDE7CisJCXZ0MTcyNF9taWRpX3JlYWQoaWNlKTsKKwl9IGVsc2UgeworCQlpY2UtPm1pZGlfaW5wdXQgPSAwOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpY2UtPnJlZ19sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3Jhd21pZGlfb3BzIHZ0MTcyNF9taWRpX2lucHV0X29wcyA9IHsKKwkub3BlbiA9IHZ0MTcyNF9taWRpX2lucHV0X29wZW4sCisJLmNsb3NlID0gdnQxNzI0X21pZGlfaW5wdXRfY2xvc2UsCisJLnRyaWdnZXIgPSB2dDE3MjRfbWlkaV9pbnB1dF90cmlnZ2VyLAorfTsKKwogCiAvKgogICogIEludGVycnVwdCBoYW5kbGVyCkBAIC0yNzgsMTMgKzQwMSwxMCBAQAogI2VuZGlmCiAJCWhhbmRsZWQgPSAxOwkJCiAJCWlmIChzdGF0dXMgJiBWVDE3MjRfSVJRX01QVV9UWCkgewotCQkJaWYgKGljZS0+cm1pZGlbMF0pCi0JCQkJc25kX21wdTQwMV91YXJ0X2ludGVycnVwdF90eChpcnEsCi0JCQkJCWljZS0+cm1pZGlbMF0tPnByaXZhdGVfZGF0YSk7Ci0JCQllbHNlIC8qIGRpc2FibGUgVFggdG8gYmUgc3VyZSAqLwotCQkJCW91dGIoaW5iKElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSkgfAotCQkJCSAgICAgVlQxNzI0X0lSUV9NUFVfVFgsCi0JCQkJICAgICBJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpOworCQkJc3Bpbl9sb2NrKCZpY2UtPnJlZ19sb2NrKTsKKwkJCWlmIChpY2UtPm1pZGlfb3V0cHV0KQorCQkJCXZ0MTcyNF9taWRpX3dyaXRlKGljZSk7CisJCQlzcGluX3VubG9jaygmaWNlLT5yZWdfbG9jayk7CiAJCQkvKiBEdWUgdG8gbXlzdGVyaWNhbCByZWFzb25zLCBNUFVfVFggaXMgYWx3YXlzCiAJCQkgKiBnZW5lcmF0ZWQgKGFuZCBjYW4ndCBiZSBjbGVhcmVkKSB3aGVuIGEgUENNCiAJCQkgKiBwbGF5YmFjayBpcyBnb2luZy4gIFNvIGxldCdzIGlnbm9yZSBhdCB0aGUKQEAgLTI5MywxMyArNDEzLDEyIEBACiAJCQlzdGF0dXNfbWFzayAmPSB+VlQxNzI0X0lSUV9NUFVfVFg7CiAJCX0KIAkJaWYgKHN0YXR1cyAmIFZUMTcyNF9JUlFfTVBVX1JYKSB7Ci0JCQlpZiAoaWNlLT5ybWlkaVswXSkKLQkJCQlzbmRfbXB1NDAxX3VhcnRfaW50ZXJydXB0KGlycSwKLQkJCQkJaWNlLT5ybWlkaVswXS0+cHJpdmF0ZV9kYXRhKTsKLQkJCWVsc2UgLyogZGlzYWJsZSBSWCB0byBiZSBzdXJlICovCi0JCQkJb3V0YihpbmIoSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKSB8Ci0JCQkJICAgICBWVDE3MjRfSVJRX01QVV9SWCwKLQkJCQkgICAgIElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSk7CisJCQlzcGluX2xvY2soJmljZS0+cmVnX2xvY2spOworCQkJaWYgKGljZS0+bWlkaV9pbnB1dCkKKwkJCQl2dDE3MjRfbWlkaV9yZWFkKGljZSk7CisJCQllbHNlCisJCQkJdnQxNzI0X21pZGlfY2xlYXJfcngoaWNlKTsKKwkJCXNwaW5fdW5sb2NrKCZpY2UtPnJlZ19sb2NrKTsKIAkJfQogCQkvKiBhY2sgTVBVIGlycSAqLwogCQlvdXRiKHN0YXR1cywgSUNFUkVHMTcyNChpY2UsIElSUVNUQVQpKTsKQEAgLTI0MjUsMjggKzI1NDQsMzAgQEAKIAogCWlmICghIGMtPm5vX21wdTQwMSkgewogCQlpZiAoaWNlLT5lZXByb20uZGF0YVtJQ0VfRUVQMl9TWVNDT05GXSAmIFZUMTcyNF9DRkdfTVBVNDAxKSB7Ci0JCQlzdHJ1Y3Qgc25kX21wdTQwMSAqbXB1OwotCQkJaWYgKChlcnIgPSBzbmRfbXB1NDAxX3VhcnRfbmV3KGNhcmQsIDAsIE1QVTQwMV9IV19JQ0UxNzEyLAotCQkJCQkJICAgICAgIElDRVJFRzE3MjQoaWNlLCBNUFVfQ1RSTCksCi0JCQkJCQkgICAgICAgKE1QVTQwMV9JTkZPX0lOVEVHUkFURUQgfAotCQkJCQkJCU1QVTQwMV9JTkZPX05PX0FDSyB8Ci0JCQkJCQkJTVBVNDAxX0lORk9fVFhfSVJRKSwKLQkJCQkJCSAgICAgICBpY2UtPmlycSwgMCwKLQkJCQkJCSAgICAgICAmaWNlLT5ybWlkaVswXSkpIDwgMCkgeworCQkJc3RydWN0IHNuZF9yYXdtaWRpICpybWlkaTsKKworCQkJZXJyID0gc25kX3Jhd21pZGlfbmV3KGNhcmQsICJNSURJIiwgMCwgMSwgMSwgJnJtaWRpKTsKKwkJCWlmIChlcnIgPCAwKSB7CiAJCQkJc25kX2NhcmRfZnJlZShjYXJkKTsKIAkJCQlyZXR1cm4gZXJyOwogCQkJfQotCQkJbXB1ID0gaWNlLT5ybWlkaVswXS0+cHJpdmF0ZV9kYXRhOwotCQkJbXB1LT5yZWFkID0gc25kX3Z0MTcyNF9tcHU0MDFfcmVhZDsKLQkJCW1wdS0+d3JpdGUgPSBzbmRfdnQxNzI0X21wdTQwMV93cml0ZTsKLQkJCS8qIHVubWFzayBNUFUgUlgvVFggaXJxcyAqLwotCQkJb3V0YihpbmIoSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKSAmCi0JCQkgICAgIH4oVlQxNzI0X0lSUV9NUFVfUlggfCBWVDE3MjRfSVJRX01QVV9UWCksCi0JCQkgICAgIElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSk7CisJCQlpY2UtPnJtaWRpWzBdID0gcm1pZGk7CisJCQlybWlkaS0+cHJpdmF0ZV9kYXRhID0gaWNlOworCQkJc3RyY3B5KHJtaWRpLT5uYW1lLCAiSUNFMTcyNCBNSURJIik7CisJCQlybWlkaS0+aW5mb19mbGFncyA9IFNORFJWX1JBV01JRElfSU5GT19PVVRQVVQgfAorCQkJCQkgICAgU05EUlZfUkFXTUlESV9JTkZPX0lOUFVUIHwKKwkJCQkJICAgIFNORFJWX1JBV01JRElfSU5GT19EVVBMRVg7CisJCQlzbmRfcmF3bWlkaV9zZXRfb3BzKHJtaWRpLCBTTkRSVl9SQVdNSURJX1NUUkVBTV9PVVRQVVQsCisJCQkJCSAgICAmdnQxNzI0X21pZGlfb3V0cHV0X29wcyk7CisJCQlzbmRfcmF3bWlkaV9zZXRfb3BzKHJtaWRpLCBTTkRSVl9SQVdNSURJX1NUUkVBTV9JTlBVVCwKKwkJCQkJICAgICZ2dDE3MjRfbWlkaV9pbnB1dF9vcHMpOworCiAJCQkvKiBzZXQgd2F0ZXJtYXJrcyAqLwogCQkJb3V0YihWVDE3MjRfTVBVX1JYX0ZJRk8gfCAweDEsCiAJCQkgICAgIElDRVJFRzE3MjQoaWNlLCBNUFVfRklGT19XTSkpOwogCQkJb3V0YigweDEsIElDRVJFRzE3MjQoaWNlLCBNUFVfRklGT19XTSkpOworCQkJLyogc2V0IFVBUlQgbW9kZSAqLworCQkJb3V0YihWVDE3MjRfTVBVX1VBUlQsIElDRVJFRzE3MjQoaWNlLCBNUFVfQ1RSTCkpOwogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTItZmlybXdhcmUuaCBiL3NvdW5kL3BjaS9rb3JnMTIxMi9rb3JnMTIxMi1maXJtd2FyZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNmY1YjkxLi4wMDAwMDAwCi0tLSBhL3NvdW5kL3BjaS9rb3JnMTIxMi9rb3JnMTIxMi1maXJtd2FyZS5oCisrKyAvZGV2L251bGwKQEAgLTEsOTg3ICswLDAgQEAKLXN0YXRpYyBjaGFyIGRzcENvZGUgW10gPSB7Ci0weDAxLDB4ZmYsMHgxOCwweGZmLDB4ZjUsMHhmZiwweGNmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MjYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgzOCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDMsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4ZmMsMHhmZiwweDY3LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwYywweGZmLAotMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweDQ3LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDBhLDB4ZmYsCi0weDgyLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3YSwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDcyLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDVmLDB4ZmYsMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MDIsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDIsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4ZmYsMHhmZiwweDQ3LDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDE3LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgxNywweGZmLAotMHg4MCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4ODQsMHhmZiwweDNiLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4MDIsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDAyLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDAxLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDJiLDB4ZmYsMHgwMSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgyYiwweGZmLAotMHg4MCwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ODIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4ODEsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDgyLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDg0LDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg4NSwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4ODIsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4ODEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDg4LDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4MiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4OGMsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDgzLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4YSwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDhlLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4MiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODMsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLDB4MjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4ODAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGI2LDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg2MiwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhNiwweGZmLDB4NjIsMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTYsMHhmZiwweDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDQwLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhiNiwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NjIsMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTYsMHhmZiwweDYyLDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsMHgwNSwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YmIsMHhmZiwKLTB4MDIsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ODIsMHhmZiwweGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGNiLDB4ZmYsMHgwNSwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZGIsMHhmZiwKLTB4MjAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsMHgwMCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODIsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4OWIsMHhmZiwweDAzLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhMiwweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhiYiwweGZmLDB4MjAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ0LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgyMSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4NDAsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDIsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsMHgwYSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhhZSwweGZmLAotMHgwMCwweGZmLDB4YTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsCi0weDBhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGZlLDB4ZmYsMHgwMCwweGZmLDB4YTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMywweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDBiLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsCi0weDAwLDB4ZmYsMHhhMCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg3OCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg1ZiwweGZmLDB4MDMsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4NzgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4NWYsMHhmZiwweDViLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsMHg4MCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ZGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ZmUsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDgwLDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHhjMSwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDMsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4ZmMsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweDAyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDIzLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg1OSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkZiwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDE4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDBjLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGU0LDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHgwMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDEwLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MjIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDg0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgyMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHgwYywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg2ZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDc2LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDlmLDB4ZmYsCi0weDg2LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHg4NiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg2NCwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ODEsMHhmZiwKLTB4MDAsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDYxLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGFmLDB4ZmYsMHg3NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhhZiwweGZmLAotMHg2MywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4MDUsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OTIsMHhmZiwweDNiLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg2NSwweGZmLAotMHgwZiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg2ZSwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwNSwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg3ZiwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDY1LDB4ZmYsCi0weDEwLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDBlLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDc5LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MTUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwweDc1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDhmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MTYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDBlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDc1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDhmLDB4ZmYsMHg4MCwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDExLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4NywweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4OTAsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDIsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHg4NiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHgwMywweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4NjMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4ODMsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4NzUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDgzLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDg3LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHg2YSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0MCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4ODAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0MCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NTUsMHhmZiwweDEzLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGJlLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4YiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4MDUsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OTIsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUxLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwKLTB4NzUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4OGYsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1MywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLAotMHg3MiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgxNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLAotMHgzOCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4NDgsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgzMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDFlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDIwLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGNmLDB4ZmYsMHgxNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDZhLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGJmLDB4ZmYsCi0weDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLAotMHg2NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MDgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg2OSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1ZCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLDB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwKLTB4NzksMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVkLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDJmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1ZCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWQsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDY2LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsMHgxNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLAotMHg4YiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHg2MSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4MzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MTksMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHgwNCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDA4LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDQ2LDB4ZmYsCi0weDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHg4YiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg2MSwweGZmLAotMHg4MywweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4ODMsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZTEsMHhmZiwKLTB4ODcsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDZlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGJmLDB4ZmYsCi0weDg3LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg5MiwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg3ZiwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4N2UsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4MjMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDgzLDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweGYxLDB4ZmYsMHg4NiwweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHg0MSwweGZmLAotMHg2YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLDB4ODcsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDQwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg1NSwweGZmLAotMHgxYiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhjZSwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTEsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4YiwweGZmLDB4OWIsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg4YiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4N2UsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDU1LDB4ZmYsMHgxZCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgzZSwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4OGIsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhiLDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweDYxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MSwweGZmLAotMHg3OSwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwKLTB4MzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDFlLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGQ1LDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4MDQsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHgwOCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUxLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDQ2LDB4ZmYsMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHg4YiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg2MSwweGZmLDB4ODMsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4ODMsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZTEsMHhmZiwweDg3LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDZlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGJmLDB4ZmYsMHg4NywweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg5MiwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4N2YsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MjMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDgzLDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweGYxLDB4ZmYsMHg4NiwweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHg0MSwweGZmLAotMHg2YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGQsMHhmZiwweDhmLDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwweDIwLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGFlLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg4NCwweGZmLDB4MDAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4OGEsMHhmZiwweDY0LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHhlNSwweGZmLDB4MjEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4NWUsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4NzgsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4NDgsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4YjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTEsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4MGMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NmYsMHhmZiwweDIwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDksMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsCi0weDk4LDB4ZmYsMHhjYywweGZmLDB4ZmYsMHhmZiwweDM3LDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHhhNSwweGZmLAotMHgyNCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhmZSwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwKLTB4MDgsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsMHg2OSwweGZmLDB4Y2MsMHhmZiwweGZmLDB4ZmYsMHgzNywweGZmLAotMHgwMCwweGZmLDB4MDUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4OTgsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDcyLDB4ZmYsCi0weDA4LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLAotMHg2OSwweGZmLDB4Y2MsMHhmZiwweGZmLDB4ZmYsMHgzNywweGZmLDB4MDAsMHhmZiwweDA1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwweDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsMHgwOCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLDB4NjksMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDA1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4NDcsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NTgsMHhmZiwKLTB4MTAsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDY2LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDI2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDk0LDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4ODAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDE2LDB4ZmYsMHgwZiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weDY2LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzOCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLAotMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLDB4NDcsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MGEsMHhmZiwKLTB4ODIsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDdhLDB4ZmYsCi0weDdhLDB4ZmYsMHgyNiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzOCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLDB4MjcsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDIsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgyOSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5MiwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MGQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDMxLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDEyLDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4OTAsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAyLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDM0LDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg1NSwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxOCwweGZmLDB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWUsMHhmZiwweGFmLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg0OCwweGZmLDB4MTAsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4ZmUsMHhmZiwKLTB4ODcsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmUsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDJlLDB4ZmYsCi0weDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMSwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MjgsMHhmZiwKLTB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsCi0weGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MzgsMHhmZiwKLTB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVlLDB4ZmYsCi0weGFmLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDMyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDQyLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4MDgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDhhLDB4ZmYsMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzNSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkMiwweGZmLAotMHgwMCwweGZmLDB4NGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MGIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwYSwweGZmLDB4N2EsMHhmZiwweDI2LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDMzLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzNCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwZCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weGZmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg5MCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzcsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NDIsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MzksMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MjIsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ODQsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQxLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGQ0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDgsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGE0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0YSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4OTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDRjLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NGQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0ZiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDRmLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBlLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGU0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDNkLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwYSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4M2YsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBhLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzZiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MzQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDNmLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwYSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDIxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDI1LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHhlOSwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHhlZCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDQsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZjEsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDQ2LDB4ZmYsMHg4NCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDg0LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MjIsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MiwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDQ2LDB4ZmYsMHg4OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHgyMywweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MiwweGZmLAotMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHhmZiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MiwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAzLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZjIsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZTMsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODQsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDIyLDB4ZmYsCi0weDY3LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYyLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDg0LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MzIsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDcyLDB4ZmYsCi0weDY3LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDY3LDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDAzLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MGMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhjNywweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjcsMHhmZiwKLTB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTcsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2NywweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweDE4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDUxLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDgxLDB4ZmYsMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4MCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNiwweGZmLDB4MTAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4OTAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NzEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsCi0weDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4OCwweGZmLDB4NjMsMHhmZiwweGZmLDB4ZmYsMHgyNywweGZmLDB4ZTgsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4NjIsMHhmZiwweDYxLDB4ZmYsMHhmZiwweGZmLDB4MjcsMHhmZiwweDg4LDB4ZmYsMHgyYiwweGZmLDB4ZmYsMHhmZiwweDhiLDB4ZmYsCi0weGU4LDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHg2MiwweGZmLDB4NjEsMHhmZiwweGZmLDB4ZmYsMHgxNywweGZmLAotMHg4OCwweGZmLDB4MmYsMHhmZiwweGZmLDB4ZmYsMHhmYiwweGZmLDB4ODksMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OTgsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweGVhLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGFiLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhiOCwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhjZiwweGZmLDB4NjIsMHhmZiwweDIxLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDYyLDB4ZmYsMHgyMSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4MCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTEsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZWIsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1MSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhYywweGZmLDB4ODIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwKLTB4NTQsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MmUsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsCi0weDU0LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDFlLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NTEsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGMsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGE0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1MywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiMywweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGJhLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLDB4MTgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NTUsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MjEsMHhmZiwweDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDgwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTQsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDYwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0OSwweGZmLDB4MmEsMHhmZiwweGZmLDB4ZmYsMHhlYSwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZWUsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZhLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgzMSwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4YzksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwKLTB4NTQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDUsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHg4MiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmMSwweGZmLDB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4YzksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwweDU2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGI0LDB4ZmYsCi0weDU0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGRmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDE2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weDE4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1NywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg5MSwweGZmLAotMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTYsMHhmZiwKLTB4MTAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDkwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDcxLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4ODgsMHhmZiwweDYzLDB4ZmYsMHhmZiwweGZmLDB4MjcsMHhmZiwKLTB4ZTgsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDYyLDB4ZmYsMHg2MSwweGZmLDB4ZmYsMHhmZiwweDI3LDB4ZmYsCi0weDg4LDB4ZmYsMHgyYiwweGZmLDB4ZmYsMHhmZiwweDhiLDB4ZmYsMHhlOCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg2MiwweGZmLDB4NjEsMHhmZiwweGZmLDB4ZmYsMHgxNywweGZmLDB4ODgsMHhmZiwweDJmLDB4ZmYsMHhmZiwweGZmLDB4ZmIsMHhmZiwKLTB4ODksMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weGVhLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhhYiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhiOCwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4Y2YsMHhmZiwKLTB4NjIsMHhmZiwweDIxLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDEwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDYyLDB4ZmYsMHgyMSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NTcsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGViLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZjLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTcsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YWMsMHhmZiwweDgyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsCi0weDVhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLAotMHg1YSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgzZSwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDU3LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBjLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhhNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTksMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDMsMHhmZiwKLTB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhiYSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwKLTB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZiLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHgxOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1YiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg2MSwweGZmLDB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ5LDB4ZmYsMHgyYSwweGZmLDB4ZmYsMHhmZiwweGVhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlZSwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmYSwweGZmLDB4NWUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NWIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwZCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmMSwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmEsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGVlLDB4ZmYsCi0weDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGYxLDB4ZmYsMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0OSwweGZmLDB4MmEsMHhmZiwweGZmLDB4ZmYsMHhlYSwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmEsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZWUsMHhmZiwweDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1ZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1ZiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg1NCwweGZmLAotMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4YTgsMHhmZiwKLTB4MTAsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDg4LDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHhiNiwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmYSwweGZmLDB4ZjIsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGEsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weGUyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHgzOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4ZTIsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGUyLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLAotMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4ODgsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHhlOCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhhYywweGZmLDB4ZjIsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGEsMHhmZiwweDAxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGUyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHgzOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4ZTIsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGUyLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHhkNCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwKLTB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwweDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGI4LDB4ZmYsMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGE4LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMiwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwweDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQ4LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YzgsMHhmZiwweDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weDAxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHgzMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDAwLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMSwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHgwMCwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MDcsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDMsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDAyLDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwOCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMywweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDEsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDA0LDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwNCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NjIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMSwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NjIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHgwNSwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OTIsMHhmZiwweDNiLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDY1LDB4ZmYsMHg2NSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg5ZSwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAxLDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg2MiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDgxLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDIxLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDcxLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0OSwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg0OCwweGZmLAotMHgxMCwweGZmLDB4MGYsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4NjYsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NTQsMHhmZiwweDg2LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg2MiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLAotMHg4NiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4MDEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDhhLDB4ZmYsCi0weDY3LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4NiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg3NSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDgyLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4NiwweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NTUsMHhmZiwKLTB4NjAsMHhmZiwweDI2LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ5LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgxMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDM1LDB4ZmYsMHg2MCwweGZmLDB4MjYsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0OSwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgyMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4NiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDEsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4NywweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg4OCwweGZmLDB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4NywweGZmLDB4OWIsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDEsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDZhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDllLDB4ZmYsCi0weDY3LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsMHg2OSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg2NiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NmEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDZhLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4ODcsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg4NiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4MDIsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg2NCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MzUsMHhmZiwKLTB4MDEsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4OTYsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDM0LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDY1LDB4ZmYsMHgwMSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg5NiwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDIsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NDksMHhmZiwKLTB4MDIsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4NDksMHhmZiwweDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgyNSwweGZmLDB4NmQsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4YmUsMHhmZiwKLTB4OTgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwweDg4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsCi0weDgzLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsMHg4OCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLAotMHg4MywweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4OTgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwweDg4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsCi0weDgzLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsMHg4OCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLAotMHg4MywweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4OTgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwweDg4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsCi0weDgzLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsMHg4OCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLAotMHg4MywweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MjUsMHhmZiwweDZlLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDhlLDB4ZmYsCi0weDk4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsMHg4OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLAotMHg4MywweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLDB4ODgsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwweDIwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHhlOSwweGZmLAotMHgwMSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgyOCwweGZmLDB4MDEsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MjksMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4NjYsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDM0LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDc1LDB4ZmYsMHgxMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHgwMCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OTgsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDI1LDB4ZmYsCi0weDcwLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDJlLDB4ZmYsMHg4MCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0MiwweGZmLAotMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4ODAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDEsMHhmZiwweDYzLDB4ZmYsMHg3MiwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0NiwweGZmLAotMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4ODAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwweDYzLDB4ZmYsMHg3MiwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsMHg4MCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0MiwweGZmLAotMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4ODAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDEsMHhmZiwKLTB4NjMsMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwweDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4ODAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4ZjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDAwLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBiLDB4ZmYsMHg4MCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4OCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ZWEsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NzQsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHg4MCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4ODAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4MDAsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBiLDB4ZmYsCi0weDgwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4OCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHhlYSwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3MiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgzNSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDBlLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDEwLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgxMCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDEwLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGIwLDB4ZmYsMHhiMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4MzAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDc4LDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDQ4LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg0MCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MTgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDE4LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgxOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDBiLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MjIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OWYsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDlmLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MjIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OWYsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDlmLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg0OCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4MCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4ODQsMHhmZiwweDNiLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MGIsMHhmZiwweDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDBiLDB4ZmYsMHgwYywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLAotMHg4OCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4OGMsMHhmZiwweDNiLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUxLDB4ZmYsCi0weDgyLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MGMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4MCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwKLTB4NzYsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ZGUsMHhmZiwweDAwLDB4ZmYsMHhhMCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDg0LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg0NSwweGZmLDB4NzcsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MmUsMHhmZiwKLTB4MDAsMHhmZiwweGEwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHhlNSwweGZmLAotMHg3NywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg4ZSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDY0LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsMHgzOCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg3NywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhlNSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDY0LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDhmLDB4ZmYsCi0weDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3OCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgzNSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg1NiwweGZmLAotMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4MjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YzEsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQ0LDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgxNSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDg2LDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDg2LDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHhjOCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHhjOCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4NiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4NiwweGZmLDB4OWIsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4MDUsMHhmZiwweDgxLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDIxLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDcxLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3ZiwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4N2UsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGIxLDB4ZmYsCi0weDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLAotMHg3YSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhiZSwweGZmLDB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NDYsMHhmZiwKLTB4ZTEsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDdhLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDYwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLAotMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLAotMHhmZiwweGZmLDB4ZmYsMHhmZiB9OwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLmMgYi9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTIuYwppbmRleCBmNGM4NWI1Li40YTQ0YzBmIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTIuYworKysgYi9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTIuYwpAQCAtMjYwLDE0ICsyNjAsNiBAQAogI2RlZmluZSBDT01NQU5EX0FDS19ERUxBWSAgIDEzICAgICAgICAgLy8gbnVtYmVyIG9mIFJUQyB0aWNrcyB0byB3YWl0IGZvciBhbiBhY2tub3dsZWRnZW1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgIGZyb20gdGhlIGNhcmQgYWZ0ZXIgc2VuZGluZyBhIGNvbW1hbmQuCiAKLSNpZmRlZiBDT05GSUdfU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAotI2luY2x1ZGUgImtvcmcxMjEyLWZpcm13YXJlLmgiCi1zdGF0aWMgY29uc3Qgc3RydWN0IGZpcm13YXJlIHN0YXRpY19kc3BfY29kZSA9IHsKLQkuZGF0YSA9ICh1OCAqKWRzcENvZGUsCi0JLnNpemUgPSBzaXplb2YgZHNwQ29kZQotfTsKLSNlbmRpZgotCiBlbnVtIENsb2NrU291cmNlSW5kZXggewogICAgSzEyMTJfQ0xLSURYX0FkYXRBdDQ0XzFLID0gMCwgICAgLy8gc2VsZWN0cyBzb3VyY2UgYXMgQURBVCBhdCA0NC4xIGtIegogICAgSzEyMTJfQ0xLSURYX0FkYXRBdDQ4SywgICAgICAgICAgLy8gc2VsZWN0cyBzb3VyY2UgYXMgQURBVCBhdCA0OCBrSHoKQEAgLTQxMiw5ICs0MDQsNyBAQAogTU9EVUxFX0RFU0NSSVBUSU9OKCJrb3JnMTIxMiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7S09SRyxrb3JnMTIxMn19Iik7Ci0jaWZuZGVmIENPTkZJR19TTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCiBNT0RVTEVfRklSTVdBUkUoImtvcmcvazEyMTIuZHNwIik7Ci0jZW5kaWYKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsgICAgIC8qIEluZGV4IDAtTUFYICovCiBzdGF0aWMgY2hhciAqaWRbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9TVFI7CSAgIC8qIElEIGZvciB0aGlzIGNhcmQgKi8KQEAgLTIzNDgsOSArMjMzOCw2IEBACiAgICAgICAgIGtvcmcxMjEyLT5BZGF0VGltZUNvZGVQaHkgPSBrb3JnMTIxMi0+c2hhcmVkQnVmZmVyUGh5ICsKIAkJb2Zmc2V0b2Yoc3RydWN0IEtvcmdTaGFyZWRCdWZmZXIsIEFkYXRUaW1lQ29kZSk7CiAKLSNpZmRlZiBDT05GSUdfU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWRzcF9jb2RlID0gJnN0YXRpY19kc3BfY29kZTsKLSNlbHNlCiAJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmZHNwX2NvZGUsICJrb3JnL2sxMjEyLmRzcCIsICZwY2ktPmRldik7CiAJaWYgKGVyciA8IDApIHsKIAkJcmVsZWFzZV9maXJtd2FyZShkc3BfY29kZSk7CkBAIC0yMzU4LDE1ICsyMzQ1LDEyIEBACiAJCXNuZF9rb3JnMTIxMl9mcmVlKGtvcmcxMjEyKTsKIAkJcmV0dXJuIGVycjsKIAl9Ci0jZW5kaWYKIAogCWlmIChzbmRfZG1hX2FsbG9jX3BhZ2VzKFNORFJWX0RNQV9UWVBFX0RFViwgc25kX2RtYV9wY2lfZGF0YShwY2kpLAogCQkJCWRzcF9jb2RlLT5zaXplLCAma29yZzEyMTItPmRtYV9kc3ApIDwgMCkgewogCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJrb3JnMTIxMjogY2Fubm90IGFsbG9jYXRlIGRzcCBjb2RlIG1lbW9yeSAoJXpkIGJ5dGVzKVxuIiwgZHNwX2NvZGUtPnNpemUpOwogICAgICAgICAgICAgICAgIHNuZF9rb3JnMTIxMl9mcmVlKGtvcmcxMjEyKTsKLSNpZm5kZWYgQ09ORklHX1NORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKIAkJcmVsZWFzZV9maXJtd2FyZShkc3BfY29kZSk7Ci0jZW5kaWYKICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKICAgICAgICAgfQogCkBAIC0yMzc2LDkgKzIzNjAsNyBAQAogCiAJbWVtY3B5KGtvcmcxMjEyLT5kbWFfZHNwLmFyZWEsIGRzcF9jb2RlLT5kYXRhLCBkc3BfY29kZS0+c2l6ZSk7CiAKLSNpZm5kZWYgQ09ORklHX1NORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKIAlyZWxlYXNlX2Zpcm13YXJlKGRzcF9jb2RlKTsKLSNlbmRpZgogCiAJcmMgPSBzbmRfa29yZzEyMTJfU2VuZDEyMTJDb21tYW5kKGtvcmcxMjEyLCBLMTIxMl9EQl9SZWJvb3RDYXJkLCAwLCAwLCAwLCAwKTsKIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL21hZXN0cm8zLmMgYi9zb3VuZC9wY2kvbWFlc3RybzMuYwppbmRleCBhNTM2YzU5Li4wMDM3YmU3IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvbWFlc3RybzMuYworKysgYi9zb3VuZC9wY2kvbWFlc3RybzMuYwpAQCAtNTgsMTAgKzU4LDggQEAKIAkJIntFU1MsQWxsZWdybyBQQ0l9LCIKIAkJIntFU1MsQWxsZWdyby0xIFBDSX0sIgogCSAgICAgICAgIntFU1MsQ2FueW9uM0QtMi9MRSBQQ0l9fSIpOwotI2lmbmRlZiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAogTU9EVUxFX0ZJUk1XQVJFKCJlc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZnciKTsKIE1PRFVMRV9GSVJNV0FSRSgiZXNzL21hZXN0cm8zX2Fzc3BfbWluaXNyYy5mdyIpOwotI2VuZGlmCiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7CS8qIEluZGV4IDAtTUFYICovCiBzdGF0aWMgY2hhciAqaWRbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9TVFI7CS8qIElEIGZvciB0aGlzIGNhcmQgKi8KQEAgLTIxMDEsMTYzICsyMDk5LDYgQEAKIH0KIAogCi0jaWZkZWYgQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwKLQotLyoKLSAqIERTUCBDb2RlIGltYWdlcwotICovCi0KLXN0YXRpYyBjb25zdCB1MTYgYXNzcF9rZXJuZWxfaW1hZ2VbXSA9IHsKLSAgICAweDc5ODAsIDB4MDAzMCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDBGQiwgMHg3OTgwLCAweDAwREQsIDB4Nzk4MCwgMHgwM0I0LCAKLSAgICAweDc5ODAsIDB4MDMzMiwgMHg3OTgwLCAweDAyODcsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAKLSAgICAweDc5ODAsIDB4MDMxQSwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwMjJGLCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAKLSAgICAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwMDYzLCAweDc5ODAsIDB4MDA2QiwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAKLSAgICAweEJGODAsIDB4MkM3QywgMHg4ODA2LCAweDg4MDQsIDB4QkU0MCwgMHhCQzIwLCAweEFFMDksIDB4MTAwMCwgMHhBRTBBLCAweDAwMDEsIDB4NjkzOCwgMHhFQjA4LCAKLSAgICAweDAwNTMsIDB4Njk1QSwgMHhFQjA4LCAweDAwRDYsIDB4MDAwOSwgMHg4Qjg4LCAweDY5ODAsIDB4RTM4OCwgMHgwMDM2LCAweEJFMzAsIDB4QkMyMCwgMHg2OTA5LCAKLSAgICAweEI4MDEsIDB4OTAwOSwgMHhCRTQxLCAweEJFNDEsIDB4NjkyOCwgMHhFQjg4LCAweDAwNzgsIDB4QkU0MSwgMHhCRTQwLCAweDc5ODAsIDB4MDAzOCwgMHhCRTQxLCAKLSAgICAweEJFNDEsIDB4OTAzQSwgMHg2OTM4LCAweEUzMDgsIDB4MDA1NiwgMHg5MDNBLCAweEJFNDEsIDB4QkU0MCwgMHhFRjAwLCAweDkwM0EsIDB4NjkzOSwgMHhFMzA4LCAKLSAgICAweDAwNUUsIDB4OTAzQSwgMHhFRjAwLCAweDY5MEIsIDB4NjYwQywgMHhFRjhDLCAweDY5MEEsIDB4NjYwQywgMHg2MjBCLCAweDY2MDksIDB4RUYwMCwgMHg2OTEwLCAKLSAgICAweDY2MEYsIDB4RUYwNCwgMHhFMzg4LCAweDAwNzUsIDB4NjkwRSwgMHg2NjBGLCAweDYyMTAsIDB4NjYwRCwgMHhFRjAwLCAweDY5MEUsIDB4NjYwRCwgMHhFRjAwLCAKLSAgICAweEFFNzAsIDB4MDAwMSwgMHhCQzIwLCAweEFFMjcsIDB4MDAwMSwgMHg2OTM5LCAweEVCMDgsIDB4MDA1RCwgMHg2OTI2LCAweEI4MDEsIDB4OTAyNiwgMHgwMDI2LCAKLSAgICAweDhCODgsIDB4Njk4MCwgMHhFMzg4LCAweDAwQ0IsIDB4OTAyOCwgMHgwRDI4LCAweDQyMTEsIDB4RTEwMCwgMHgwMDdBLCAweDQ3MTEsIDB4RTEwMCwgMHgwMEEwLCAKLSAgICAweDdBODAsIDB4MDA2MywgMHhCODExLCAweDY2MEEsIDB4NjIwOSwgMHhFMzA0LCAweDAwN0EsIDB4MEMwQiwgMHg0MDA1LCAweDEwMEEsIDB4QkEwMSwgMHg5MDEyLCAKLSAgICAweDBDMTIsIDB4NDAwMiwgMHg3OTgwLCAweDAwQUYsIDB4N0E4MCwgMHgwMDZCLCAweEJFMDIsIDB4NjIwRSwgMHg2NjBELCAweEJBMTAsIDB4RTM0NCwgMHgwMDdBLCAKLSAgICAweDBDMTAsIDB4NDAwNSwgMHgxMDBFLCAweEJBMDEsIDB4OTAxMiwgMHgwQzEyLCAweDQwMDIsIDB4MTAwMywgMHhCQTAyLCAweDkwMTIsIDB4MEMxMiwgMHg0MDAwLCAKLSAgICAweDEwMDMsIDB4RTM4OCwgMHgwMEJBLCAweDEwMDQsIDB4Nzk4MCwgMHgwMEJDLCAweDEwMDQsIDB4QkEwMSwgMHg5MDEyLCAweDBDMTIsIDB4NDAwMSwgMHgwQzA1LCAKLSAgICAweDQwMDMsIDB4MEMwNiwgMHg0MDA0LCAweDEwMTEsIDB4QkZCMCwgMHgwMUZGLCAweDkwMTIsIDB4MEMxMiwgMHg0MDA2LCAweEJDMjAsIDB4RUYwMCwgMHhBRTI2LCAKLSAgICAweDEwMjgsIDB4Njk3MCwgMHhCRkQwLCAweDAwMDEsIDB4OTA3MCwgMHhFMzg4LCAweDAwN0EsIDB4QUUyOCwgMHgwMDAwLCAweEVGMDAsIDB4QUU3MCwgMHgwMzAwLCAKLSAgICAweDBDNzAsIDB4QjAwQywgMHhBRTVBLCAweDAwMDAsIDB4RUYwMCwgMHg3QTgwLCAweDAzOEEsIDB4Njk3RiwgMHhCODAxLCAweDkwN0YsIDB4MDA1NiwgMHg4Qjg4LCAKLSAgICAweDBDQTAsIDB4QjAwOCwgMHhBRjcxLCAweEIwMDAsIDB4NEU3MSwgMHhFMjAwLCAweDAwRjMsIDB4QUU1NiwgMHgxMDU3LCAweDAwNTYsIDB4MENBMCwgMHhCMDA4LCAKLSAgICAweDgwNTYsIDB4Nzk4MCwgMHgwM0ExLCAweDA4MTAsIDB4QkZBMCwgMHgxMDU5LCAweEUzMDQsIDB4MDNBMSwgMHg4MDU2LCAweDc5ODAsIDB4MDNBMSwgMHg3QTgwLCAKLSAgICAweDAzOEEsIDB4QkYwMSwgMHhCRTQzLCAweEJFNTksIDB4OTA3QywgMHg2OTM3LCAweEUzODgsIDB4MDEwRCwgMHhCQTAxLCAweEUzMDgsIDB4MDEwQywgMHhBRTcxLCAKLSAgICAweDAwMDQsIDB4MEM3MSwgMHg1MDAwLCAweDY5MzYsIDB4OTAzNywgMHhCRjBBLCAweDEwOUUsIDB4OEI4QSwgMHhBRjgwLCAweDgwMTQsIDB4NEM4MCwgMHhCRjBBLCAKLSAgICAweDA1NjAsIDB4RjUwMCwgMHhCRjBBLCAweDA1MjAsIDB4QjkwMCwgMHhCQjE3LCAweDkwQTAsIDB4NjkxNywgMHhFMzg4LCAweDAxNDgsIDB4MEQxNywgMHhFMTAwLCAKLSAgICAweDAxMjcsIDB4QkYwQywgMHgwNTc4LCAweEJGMEQsIDB4MDU3QywgMHg3OTgwLCAweDAxMkIsIDB4QkYwQywgMHgwNTM4LCAweEJGMEQsIDB4MDUzQywgMHg2OTAwLCAKLSAgICAweEUzMDgsIDB4MDEzNSwgMHg4QjhDLCAweEJFNTksIDB4QkIwNywgMHg5MEEwLCAweEJDMjAsIDB4Nzk4MCwgMHgwMTU3LCAweDAzMEMsIDB4OEI4QiwgMHhCOTAzLCAKLSAgICAweDg4MDksIDB4QkVDNiwgMHgwMTNFLCAweDY5QUMsIDB4OTBBQiwgMHg2OUFELCAweDkwQUIsIDB4MDgxMywgMHg2NjBBLCAweEUzNDQsIDB4MDE0NCwgMHgwMzA5LCAKLSAgICAweDgzMEMsIDB4QkMyMCwgMHg3OTgwLCAweDAxNTcsIDB4Njk1NSwgMHhFMzg4LCAweDAxNTcsIDB4N0MzOCwgMHhCRjBCLCAweDA1NzgsIDB4RjUwMCwgMHhCRjBCLCAKLSAgICAweDA1MzgsIDB4QjkwNywgMHg4ODA5LCAweEJFQzYsIDB4MDE1NiwgMHgxMEFCLCAweDkwQUEsIDB4Njk3NCwgMHhFMzg4LCAweDAxNjMsIDB4QUU3MiwgMHgwNTQwLCAKLSAgICAweEY1MDAsIDB4QUU3MiwgMHgwNTAwLCAweEFFNjEsIDB4MTAzQiwgMHg3QTgwLCAweDAyRjYsIDB4Njk3OCwgMHhFMzg4LCAweDAxODIsIDB4OEI4QywgMHhCRjBDLCAKLSAgICAweDA1NjAsIDB4RTUwMCwgMHg3QzQwLCAweDA4MTQsIDB4QkEyMCwgMHg4ODEyLCAweDczM0QsIDB4N0E4MCwgMHgwMzgwLCAweDczM0UsIDB4N0E4MCwgMHgwMzgwLCAKLSAgICAweDhCOEMsIDB4QkYwQywgMHgwNTZDLCAweEU1MDAsIDB4N0M0MCwgMHgwODE0LCAweEJBMkMsIDB4ODgxMiwgMHg3MzNGLCAweDdBODAsIDB4MDM4MCwgMHg3MzQwLCAKLSAgICAweDdBODAsIDB4MDM4MCwgMHg2OTc1LCAweEUzODgsIDB4MDE4RSwgMHhBRTcyLCAweDA1NDgsIDB4RjUwMCwgMHhBRTcyLCAweDA1MDgsIDB4QUU2MSwgMHgxMDQxLCAKLSAgICAweDdBODAsIDB4MDJGNiwgMHg2OTc5LCAweEUzODgsIDB4MDFBRCwgMHg4QjhDLCAweEJGMEMsIDB4MDU2MCwgMHhFNTAwLCAweDdDNDAsIDB4MDgxNCwgMHhCQTE4LCAKLSAgICAweDg4MTIsIDB4NzM0MywgMHg3QTgwLCAweDAzODAsIDB4NzM0NCwgMHg3QTgwLCAweDAzODAsIDB4OEI4QywgMHhCRjBDLCAweDA1NkMsIDB4RTUwMCwgMHg3QzQwLCAKLSAgICAweDA4MTQsIDB4QkEyNCwgMHg4ODEyLCAweDczNDUsIDB4N0E4MCwgMHgwMzgwLCAweDczNDYsIDB4N0E4MCwgMHgwMzgwLCAweDY5NzYsIDB4RTM4OCwgMHgwMUI5LCAKLSAgICAweEFFNzIsIDB4MDU1OCwgMHhGNTAwLCAweEFFNzIsIDB4MDUxOCwgMHhBRTYxLCAweDEwNDcsIDB4N0E4MCwgMHgwMkY2LCAweDY5N0EsIDB4RTM4OCwgMHgwMUQ4LCAKLSAgICAweDhCOEMsIDB4QkYwQywgMHgwNTYwLCAweEU1MDAsIDB4N0M0MCwgMHgwODE0LCAweEJBMDgsIDB4ODgxMiwgMHg3MzQ5LCAweDdBODAsIDB4MDM4MCwgMHg3MzRBLCAKLSAgICAweDdBODAsIDB4MDM4MCwgMHg4QjhDLCAweEJGMEMsIDB4MDU2QywgMHhFNTAwLCAweDdDNDAsIDB4MDgxNCwgMHhCQTE0LCAweDg4MTIsIDB4NzM0QiwgMHg3QTgwLCAKLSAgICAweDAzODAsIDB4NzM0QywgMHg3QTgwLCAweDAzODAsIDB4QkMyMSwgMHhBRTFDLCAweDEwOTAsIDB4OEI4QSwgMHhCRjBBLCAweDA1NjAsIDB4RTUwMCwgMHg3QzQwLCAKLSAgICAweDA4MTIsIDB4QjgwNCwgMHg4ODEzLCAweDhCOEQsIDB4QkYwRCwgMHgwNTZDLCAweEU1MDAsIDB4N0M0MCwgMHgwODE1LCAweEI4MDQsIDB4ODgxMSwgMHg3QTgwLCAKLSAgICAweDAzNEEsIDB4OEI4QSwgMHhCRjBBLCAweDA1NjAsIDB4RTUwMCwgMHg3QzQwLCAweDczMUYsIDB4QjkwMywgMHg4ODA5LCAweEJFQzYsIDB4MDFGOSwgMHg1NDhBLCAKLSAgICAweEJFMDMsIDB4OThBMCwgMHg3MzIwLCAweEI5MDMsIDB4ODgwOSwgMHhCRUM2LCAweDAyMDEsIDB4NTQ4QSwgMHhCRTAzLCAweDk4QTAsIDB4MUYyMCwgMHgyRjFGLCAKLSAgICAweDk4MjYsIDB4QkMyMCwgMHg2OTM1LCAweEUzODgsIDB4MDNBMSwgMHg2OTMzLCAweEI4MDEsIDB4OTAzMywgMHhCRkEwLCAweDAyRUUsIDB4RTMwOCwgMHgwM0ExLCAKLSAgICAweDkwMzMsIDB4QkYwMCwgMHg2OTUxLCAweEUzODgsIDB4MDIxRiwgMHg3MzM0LCAweEJFODAsIDB4NTc2MCwgMHhCRTAzLCAweDlGN0UsIDB4QkU1OSwgMHg5MDM0LCAKLSAgICAweDY5N0UsIDB4MEQ1MSwgMHg5MDEzLCAweEJDMjAsIDB4Njk1QywgMHhFMzg4LCAweDAzQTEsIDB4NzM1RSwgMHhCRTgwLCAweDU3NjAsIDB4QkUwMywgMHg5RjdFLCAKLSAgICAweEJFNTksIDB4OTA1RSwgMHg2OTdFLCAweDBENUMsIDB4OTAxMywgMHg3OTgwLCAweDAzQTEsIDB4N0E4MCwgMHgwMzhBLCAweEJGMDEsIDB4QkU0MywgMHg2OTc3LCAKLSAgICAweEUzODgsIDB4MDI0RSwgMHhBRTYxLCAweDEwNEQsIDB4MDA2MSwgMHg4Qjg4LCAweDY5ODAsIDB4RTM4OCwgMHgwMjRFLCAweDkwNzEsIDB4MEQ3MSwgMHgwMDBCLCAKLSAgICAweEFGQTAsIDB4ODAxMCwgMHhBRkEwLCAweDgwMTAsIDB4MDgxMCwgMHg2NjBBLCAweEUzMDgsIDB4MDI0OSwgMHgwMDA5LCAweDA4MTAsIDB4NjYwQywgMHhFMzg4LCAKLSAgICAweDAyNEUsIDB4ODAwQiwgMHhCQzIwLCAweDY5N0IsIDB4RTM4OCwgMHgwM0ExLCAweEJGMEEsIDB4MTA5RSwgMHg4QjhBLCAweEFGODAsIDB4ODAxNCwgMHg0QzgwLCAKLSAgICAweEUxMDAsIDB4MDI2NiwgMHg2OTdDLCAweEJGOTAsIDB4MDU2MCwgMHg5MDcyLCAweDAzNzIsIDB4Njk3QywgMHhCRjkwLCAweDA1NjQsIDB4OTA3MywgMHgwNDczLCAKLSAgICAweDc5ODAsIDB4MDI3MCwgMHg2OTdDLCAweEJGOTAsIDB4MDUyMCwgMHg5MDcyLCAweDAzNzIsIDB4Njk3QywgMHhCRjkwLCAweDA1MjQsIDB4OTA3MywgMHgwNDczLCAKLSAgICAweDY5N0MsIDB4QjgwMSwgMHg5MDdDLCAweEJGMEEsIDB4MTBGRCwgMHg4QjhBLCAweEFGODAsIDB4ODAxMCwgMHg3MzRGLCAweDU0OEEsIDB4QkUwMywgMHg5ODgwLCAKLSAgICAweEJDMjEsIDB4NzMyNiwgMHg1NDhCLCAweEJFMDMsIDB4NjE4QiwgMHg5ODhDLCAweEJFMDMsIDB4NjE4MCwgMHg5ODgwLCAweDc5ODAsIDB4MDNBMSwgMHg3QTgwLCAKLSAgICAweDAzOEEsIDB4MEQyOCwgMHg0NzExLCAweEUxMDAsIDB4MDJCRSwgMHhBRjEyLCAweDQwMDYsIDB4NjkxMiwgMHhCRkIwLCAweDBDMDAsIDB4RTM4OCwgMHgwMkI2LCAKLSAgICAweEJGQTAsIDB4MDgwMCwgMHhFMzg4LCAweDAyQjIsIDB4NjkxMiwgMHhCRkIwLCAweDBDMDAsIDB4QkZBMCwgMHgwNDAwLCAweEUzODgsIDB4MDJBMywgMHg2OTA5LCAKLSAgICAweDkwMEIsIDB4Nzk4MCwgMHgwMkE1LCAweEFGMEIsIDB4NDAwNSwgMHg2OTAxLCAweDkwMDUsIDB4NjkwMiwgMHg5MDA2LCAweDQzMTEsIDB4RTEwMCwgMHgwMkVELCAKLSAgICAweDY5MTEsIDB4QkZDMCwgMHgyMDAwLCAweDkwMTEsIDB4Nzk4MCwgMHgwMkVELCAweDY5MDksIDB4OTAwQiwgMHg3OTgwLCAweDAyQjgsIDB4QUYwQiwgMHg0MDA1LCAKLSAgICAweEFGMDUsIDB4NDAwMywgMHhBRjA2LCAweDQwMDQsIDB4Nzk4MCwgMHgwMkVELCAweEFGMTIsIDB4NDAwNiwgMHg2OTEyLCAweEJGQjAsIDB4MEMwMCwgMHhFMzg4LCAKLSAgICAweDAyRTcsIDB4QkZBMCwgMHgwODAwLCAweEUzODgsIDB4MDJFMywgMHg2OTEyLCAweEJGQjAsIDB4MEMwMCwgMHhCRkEwLCAweDA0MDAsIDB4RTM4OCwgMHgwMkQ0LCAKLSAgICAweDY5MEQsIDB4OTAxMCwgMHg3OTgwLCAweDAyRDYsIDB4QUYxMCwgMHg0MDA1LCAweDY5MDEsIDB4OTAwNSwgMHg2OTAyLCAweDkwMDYsIDB4NDMxMSwgMHhFMTAwLCAKLSAgICAweDAyRUQsIDB4NjkxMSwgMHhCRkMwLCAweDIwMDAsIDB4OTAxMSwgMHg3OTgwLCAweDAyRUQsIDB4NjkwRCwgMHg5MDEwLCAweDc5ODAsIDB4MDJFOSwgMHhBRjEwLCAKLSAgICAweDQwMDUsIDB4QUYwNSwgMHg0MDAzLCAweEFGMDYsIDB4NDAwNCwgMHhCQzIwLCAweDY5NzAsIDB4OTA3MSwgMHg3QTgwLCAweDAwNzgsIDB4Njk3MSwgMHg5MDcwLCAKLSAgICAweDc5ODAsIDB4MDNBMSwgMHhCQzIwLCAweDAzNjEsIDB4OEI4QiwgMHg2OTgwLCAweEVGODgsIDB4MDI3MiwgMHgwMzcyLCAweDc4MDQsIDB4OTA3MSwgMHgwRDcxLCAKLSAgICAweDhCOEEsIDB4MDAwQiwgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgMHgwMzA5LCAweDY5QTgsIDB4OTBBQiwgMHg2OUE4LCAweDkwQUEsIDB4MDgxMCwgMHg2NjBBLCAKLSAgICAweEUzNDQsIDB4MDMwRiwgMHgwMDA5LCAweDA4MTAsIDB4NjYwQywgMHhFMzg4LCAweDAzMTQsIDB4ODAwQiwgMHhCQzIwLCAweDY5NjEsIDB4QjgwMSwgMHg5MDYxLCAKLSAgICAweDc5ODAsIDB4MDJGNywgMHg3QTgwLCAweDAzOEEsIDB4NUQzNSwgMHgwMDAxLCAweDY5MzQsIDB4QjgwMSwgMHg5MDM0LCAweEJGMEEsIDB4MTA5RSwgMHg4QjhBLCAKLSAgICAweEFGODAsIDB4ODAxNCwgMHg0ODgwLCAweEFFNzIsIDB4MDU1MCwgMHhGNTAwLCAweEFFNzIsIDB4MDUxMCwgMHhBRTYxLCAweDEwNTEsIDB4N0E4MCwgMHgwMkY2LCAKLSAgICAweDc5ODAsIDB4MDNBMSwgMHg3QTgwLCAweDAzOEEsIDB4NUQzNSwgMHgwMDAyLCAweDY5NUUsIDB4QjgwMSwgMHg5MDVFLCAweEJGMEEsIDB4MTA5RSwgMHg4QjhBLCAKLSAgICAweEFGODAsIDB4ODAxNCwgMHg0NzgwLCAweEFFNzIsIDB4MDU1OCwgMHhGNTAwLCAweEFFNzIsIDB4MDUxOCwgMHhBRTYxLCAweDEwNUMsIDB4N0E4MCwgMHgwMkY2LCAKLSAgICAweDc5ODAsIDB4MDNBMSwgMHgwMDFDLCAweDhCODgsIDB4Njk4MCwgMHhFRjg4LCAweDkwMUQsIDB4MEQxRCwgMHgxMDBGLCAweDY2MTAsIDB4RTM4QywgMHgwMzU4LCAKLSAgICAweDY5MEUsIDB4NjYxMCwgMHg2MjBGLCAweDY2MEQsIDB4QkEwRiwgMHhFMzAxLCAweDAzN0EsIDB4MDQxMCwgMHg4QjhBLCAweEI5MDMsIDB4ODgwOSwgMHhCRUM2LCAKLSAgICAweDAzNkMsIDB4NkE4QywgMHg2MUFBLCAweDk4QUIsIDB4NkE4QywgMHg2MUFCLCAweDk4QUQsIDB4NkE4QywgMHg2MUFELCAweDk4QTksIDB4NkE4QywgMHg2MUE5LCAKLSAgICAweDk4QUEsIDB4N0MwNCwgMHg4QjhCLCAweDdDMDQsIDB4OEI4RCwgMHg3QzA0LCAweDhCODksIDB4N0MwNCwgMHgwODE0LCAweDY2MEUsIDB4RTMwOCwgMHgwMzc5LCAKLSAgICAweDA0MEQsIDB4ODQxMCwgMHhCQzIxLCAweDY5MUMsIDB4QjgwMSwgMHg5MDFDLCAweDc5ODAsIDB4MDM0QSwgMHhCOTAzLCAweDg4MDksIDB4OEI4QSwgMHhCRUM2LCAKLSAgICAweDAzODgsIDB4NTRBQywgMHhCRTAzLCAweDYxOEMsIDB4OThBQSwgMHhFRjAwLCAweEJDMjAsIDB4QkU0NiwgMHgwODA5LCAweDkwNkIsIDB4MDgwQSwgMHg5MDZDLCAKLSAgICAweDA4MEIsIDB4OTA2RCwgMHgwODFBLCAweDkwNjIsIDB4MDgxQiwgMHg5MDYzLCAweDA4MUUsIDB4OTA2NCwgMHhCRTU5LCAweDg4MUUsIDB4ODA2NSwgMHg4MTY2LCAKLSAgICAweDgyNjcsIDB4ODM2OCwgMHg4NDY5LCAweDg1NkEsIDB4RUYwMCwgMHhCQzIwLCAweDY5NkIsIDB4ODgwOSwgMHg2OTZDLCAweDg4MEEsIDB4Njk2RCwgMHg4ODBCLCAKLSAgICAweDY5NjIsIDB4ODgxQSwgMHg2OTYzLCAweDg4MUIsIDB4Njk2NCwgMHg4ODFFLCAweDAwNjUsIDB4MDE2NiwgMHgwMjY3LCAweDAzNjgsIDB4MDQ2OSwgMHgwNTZBLCAKLSAgICAweEJFM0EsIAotfTsKLQotLyoKLSAqIE1pbmkgc2FtcGxlIHJhdGUgY29udmVydGVyIGNvZGUgaW1hZ2UKLSAqIHRoYXQgaXMgdG8gYmUgbG9hZGVkIGF0IDB4NDAwIG9uIHRoZSBEU1AuCi0gKi8KLXN0YXRpYyBjb25zdCB1MTYgYXNzcF9taW5pc3JjX2ltYWdlW10gPSB7Ci0KLSAgICAweEJGODAsIDB4MTAxRSwgMHg5MDZFLCAweDAwNkUsIDB4OEI4OCwgMHg2OTgwLCAweEVGODgsIDB4OTA2RiwgMHgwRDZGLCAweDY5MDAsIDB4RUIwOCwgMHgwNDEyLCAKLSAgICAweEJDMjAsIDB4Njk2RSwgMHhCODAxLCAweDkwNkUsIDB4Nzk4MCwgMHgwNDAzLCAweEI5MEUsIDB4ODgwNywgMHhCRTQzLCAweEJGMDEsIDB4QkU0NywgMHhCRTQxLCAKLSAgICAweDdBODAsIDB4MDAyQSwgMHhCRTQwLCAweDMwMjksIDB4RUZDQywgMHhCRTQxLCAweDdBODAsIDB4MDAyOCwgMHhCRTQwLCAweDMwMjgsIDB4RUZDQywgMHg2OTA3LCAKLSAgICAweEUzMDgsIDB4MDQyQSwgMHg2OTA5LCAweDkwMkMsIDB4Nzk4MCwgMHgwNDJDLCAweDY5MEQsIDB4OTAyQywgMHgxMDA5LCAweDg4MUEsIDB4MTAwQSwgMHhCQTAxLCAKLSAgICAweDg4MUIsIDB4MTAwRCwgMHg4ODFDLCAweDEwMEUsIDB4QkEwMSwgMHg4ODFELCAweEJGODAsIDB4MDBFRCwgMHg4ODFFLCAweDA1MEMsIDB4MDEyNCwgMHhCOTA0LCAKLSAgICAweDkwMjcsIDB4NjkxOCwgMHhFMzA4LCAweDA0QjMsIDB4OTAyRCwgMHg2OTEzLCAweEJGQTAsIDB4NzU5OCwgMHhGNzA0LCAweEFFMkQsIDB4MDBGRiwgMHg4QjhELCAKLSAgICAweDY5MTksIDB4RTMwOCwgMHgwNDYzLCAweDY5MUEsIDB4RTMwOCwgMHgwNDU2LCAweEI5MDcsIDB4ODgwOSwgMHhCRUM2LCAweDA0NTMsIDB4MTBBOSwgMHg5MEFELCAKLSAgICAweDc5ODAsIDB4MDQ3QywgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgMHgwNDYwLCAweDE4ODksIDB4NkMyMiwgMHg5MEFELCAweDEwQTksIDB4NkUyMywgMHg2QzIyLCAKLSAgICAweDkwQUQsIDB4Nzk4MCwgMHgwNDdDLCAweDEwMUEsIDB4RTMwOCwgMHgwNDZGLCAweEI5MDMsIDB4ODgwOSwgMHhCRUM2LCAweDA0NkMsIDB4MTBBOSwgMHg5MEEwLCAKLSAgICAweDkwQUQsIDB4Nzk4MCwgMHgwNDdDLCAweEI5MDEsIDB4ODgwOSwgMHhCRUM2LCAweDA0N0IsIDB4MTg4OSwgMHg2QzIyLCAweDkwQTAsIDB4OTBBRCwgMHgxMEE5LCAKLSAgICAweDZFMjMsIDB4NkMyMiwgMHg5MEEwLCAweDkwQUQsIDB4NjkyRCwgMHhFMzA4LCAweDA0OUMsIDB4MDEyNCwgMHhCNzAzLCAweEI5MDIsIDB4ODgxOCwgMHg4Qjg5LCAKLSAgICAweDAyMkMsIDB4MTA4QSwgMHg3QzA0LCAweDkwQTAsIDB4NjkyQiwgMHg4ODFGLCAweDdFODAsIDB4MDU1QiwgMHg2OTJBLCAweDg4MDksIDB4OEI4OSwgMHg5OUEwLCAKLSAgICAweDEwOEEsIDB4OTBBMCwgMHg2OTJCLCAweDg4MUYsIDB4N0U4MCwgMHgwNTVCLCAweDY5MkEsIDB4ODgwOSwgMHg4Qjg5LCAweDk5QUYsIDB4N0I5OSwgMHgwNDg0LCAKLSAgICAweDAxMjQsIDB4MDYwRiwgMHgxMDFCLCAweDIwMTMsIDB4OTAxQiwgMHhCRkEwLCAweDdGRkYsIDB4RTM0NCwgMHgwNEFDLCAweDkwMUIsIDB4OEI4OSwgMHg3QTgwLCAKLSAgICAweDA1MUEsIDB4NjkyNywgMHhCQTAxLCAweDkwMjcsIDB4N0E4MCwgMHgwNTIzLCAweDY5MjcsIDB4RTMwOCwgMHgwNDlFLCAweDc5ODAsIDB4MDUwRiwgMHgwNjI0LCAKLSAgICAweDEwMjYsIDB4MjAxMywgMHg5MDI2LCAweEJGQTAsIDB4N0ZGRiwgMHhFMzA0LCAweDA0QzAsIDB4OEI4RCwgMHg3QTgwLCAweDA1MUEsIDB4Nzk4MCwgMHgwNEI0LCAKLSAgICAweDkwMjYsIDB4MTAxMywgMHgzMDI2LCAweDkwMUIsIDB4OEI4RCwgMHg3QTgwLCAweDA1MUEsIDB4N0E4MCwgMHgwNTIzLCAweDEwMjcsIDB4QkEwMSwgMHg5MDI3LCAKLSAgICAweEUzMDgsIDB4MDRCNCwgMHgwMTI0LCAweDA2MEYsIDB4OEI4OSwgMHg2OTFBLCAweEUzMDgsIDB4MDRFQSwgMHg2OTE5LCAweEUzODgsIDB4MDRFMCwgMHhCOTAzLCAKLSAgICAweDg4MDksIDB4QkVDNiwgMHgwNERELCAweDFGQTAsIDB4MkZBRSwgMHg5OEE5LCAweDc5ODAsIDB4MDUwRiwgMHhCOTAxLCAweDg4MTgsIDB4QjkwNywgMHg4ODA5LCAKLSAgICAweEJFQzYsIDB4MDRFNywgMHgxMEVFLCAweDkwQTksIDB4Nzk4MCwgMHgwNTBGLCAweDY5MTksIDB4RTMwOCwgMHgwNEZFLCAweEI5MDMsIDB4ODgwOSwgMHhCRTQ2LCAKLSAgICAweEJFQzYsIDB4MDRGQSwgMHgxN0EwLCAweEJFMUUsIDB4MUZBRSwgMHhCRkJGLCAweEZGMDAsIDB4QkUxMywgMHhCRkRGLCAweDgwODAsIDB4OTlBOSwgMHhCRTQ3LCAKLSAgICAweDc5ODAsIDB4MDUwRiwgMHhCOTAxLCAweDg4MDksIDB4QkVDNiwgMHgwNTBFLCAweDE2QTAsIDB4MjZBMCwgMHhCRkI3LCAweEZGMDAsIDB4QkUxRSwgMHgxRUEwLCAKLSAgICAweDJFQUUsIDB4QkZCRiwgMHhGRjAwLCAweEJFMTMsIDB4QkZERiwgMHg4MDgwLCAweDk5QTksIDB4ODUwQywgMHg4NjBGLCAweDY5MDcsIDB4RTM4OCwgMHgwNTE2LCAKLSAgICAweDBEMDcsIDB4ODUxMCwgMHhCRTU5LCAweDg4MUUsIDB4QkU0QSwgMHhFRjAwLCAweDEwMUUsIDB4OTAxQywgMHgxMDFGLCAweDkwMUQsIDB4MTBBMCwgMHg5MDFFLCAKLSAgICAweDEwQTAsIDB4OTAxRiwgMHhFRjAwLCAweDEwMUUsIDB4MzAxQywgMHg5MDIwLCAweDczMUIsIDB4NTQyMCwgMHhCRTAzLCAweDk4MjUsIDB4MTAyNSwgMHgyMDFDLCAKLSAgICAweDkwMjUsIDB4NzMyNSwgMHg1NDE0LCAweEJFMDMsIDB4OEI4RSwgMHg5ODgwLCAweDY5MkYsIDB4RTM4OCwgMHgwNTM5LCAweEJFNTksIDB4QkIwNywgMHg2MTgwLCAKLSAgICAweDk4ODAsIDB4OEJBMCwgMHgxMDFGLCAweDMwMUQsIDB4OTAyMSwgMHg3MzFCLCAweDU0MjEsIDB4QkUwMywgMHg5ODJFLCAweDEwMkUsIDB4MjAxRCwgMHg5MDJFLCAKLSAgICAweDczMkUsIDB4NTQxNSwgMHhCRTAzLCAweDk4ODAsIDB4NjkyRiwgMHhFMzg4LCAweDA1NEYsIDB4QkU1OSwgMHhCQjA3LCAweDYxODAsIDB4OTg4MCwgMHg4QkEwLCAKLSAgICAweDY5MTgsIDB4RUYwOCwgMHg3MzI1LCAweDU0MTYsIDB4QkUwMywgMHg5OEEwLCAweDczMkUsIDB4NTQxNywgMHhCRTAzLCAweDk4QTAsIDB4RUYwMCwgMHg4QkEwLCAKLSAgICAweEJFQzYsIDB4MDU2QiwgMHhCRTU5LCAweEJCMDQsIDB4QUE5MCwgMHhCRTA0LCAweEJFMUUsIDB4OTlFMCwgMHg4QkUwLCAweDY5QTAsIDB4OTBEMCwgMHg2OUEwLCAKLSAgICAweDkwRDAsIDB4MDgxRiwgMHhCODA1LCAweDg4MUYsIDB4OEI5MCwgMHg2OUEwLCAweDkwRDAsIDB4NjlBMCwgMHg5MDkwLCAweDhCRDAsIDB4OEJEOCwgMHhCRTFGLCAKLSAgICAweEVGMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAKLSAgICAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAKLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgYXNzcF9rZXJuZWwgPSB7Ci0JLmRhdGEgPSAodTggKilhc3NwX2tlcm5lbF9pbWFnZSwKLQkuc2l6ZSA9IHNpemVvZiBhc3NwX2tlcm5lbF9pbWFnZQotfTsKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgYXNzcF9taW5pc3JjID0gewotCS5kYXRhID0gKHU4ICopYXNzcF9taW5pc3JjX2ltYWdlLAotCS5zaXplID0gc2l6ZW9mIGFzc3BfbWluaXNyY19pbWFnZQotfTsKLQotI2Vsc2UgLyogQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwgKi8KLQotI2lmZGVmIF9fTElUVExFX0VORElBTgotc3RhdGljIGlubGluZSB2b2lkIHNuZF9tM19jb252ZXJ0X2Zyb21fbGUoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykgeyB9Ci0jZWxzZQotc3RhdGljIHZvaWQgc25kX20zX2NvbnZlcnRfZnJvbV9sZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQotewotCWludCBpOwotCXUxNiAqZGF0YSA9ICh1MTYgKilmdy0+ZGF0YTsKLQotCWZvciAoaSA9IDA7IGkgPCBmdy0+c2l6ZSAvIDI7ICsraSkKLQkJbGUxNl90b19jcHVzKCZkYXRhW2ldKTsKLX0KLSNlbmRpZgotCi0jZW5kaWYgLyogQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwgKi8KLQotCiAvKgogICogaW5pdGlhbGl6ZSBBU1NQCiAgKi8KQEAgLTIyNzEsNyArMjExMiw3IEBACiBzdGF0aWMgdm9pZCBzbmRfbTNfYXNzcF9pbml0KHN0cnVjdCBzbmRfbTMgKmNoaXApCiB7CiAJdW5zaWduZWQgaW50IGk7Ci0JdTE2ICpkYXRhOworCWNvbnN0IHUxNiAqZGF0YTsKIAogCS8qIHplcm8ga2VybmVsIGRhdGEgKi8KIAlmb3IgKGkgPSAwOyBpIDwgKFJFVl9CX0RBVEFfTUVNT1JZX1VOSVRfTEVOR1RIICogTlVNX1VOSVRTX0tFUk5FTF9EQVRBKSAvIDI7IGkrKykKQEAgLTIyODksMTAgKzIxMzAsMTEgQEAKIAkJCSAgS0RBVEFfRE1BX1hGRVIwKTsKIAogCS8qIHdyaXRlIGtlcm5lbCBpbnRvIGNvZGUgbWVtb3J5Li4gKi8KLQlkYXRhID0gKHUxNiAqKWNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlLT5kYXRhOworCWRhdGEgPSAoY29uc3QgdTE2ICopY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UtPmRhdGE7CiAJZm9yIChpID0gMCA7IGkgKiAyIDwgY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UtPnNpemU7IGkrKykgewogCQlzbmRfbTNfYXNzcF93cml0ZShjaGlwLCBNRU1UWVBFX0lOVEVSTkFMX0NPREUsIAotCQkJCSAgUkVWX0JfQ09ERV9NRU1PUllfQkVHSU4gKyBpLCBkYXRhW2ldKTsKKwkJCQkgIFJFVl9CX0NPREVfTUVNT1JZX0JFR0lOICsgaSwKKwkJCQkgIGxlMTZfdG9fY3B1KGRhdGFbaV0pKTsKIAl9CiAKIAkvKgpAQCAtMjMwMSwxMCArMjE0MywxMCBAQAogCSAqIGRyb3AgaXQgdGhlcmUuICBJdCBzZWVtcyB0aGF0IHRoZSBtaW5pc3JjIGRvZXNuJ3QKIAkgKiBuZWVkIHZlY3RvcnMsIHNvIHdlIHdvbid0IGJvdGhlciB3aXRoIHRoZW0uLgogCSAqLwotCWRhdGEgPSAodTE2ICopY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlLT5kYXRhOworCWRhdGEgPSAoY29uc3QgdTE2ICopY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlLT5kYXRhOwogCWZvciAoaSA9IDA7IGkgKiAyIDwgY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlLT5zaXplOyBpKyspIHsKIAkJc25kX20zX2Fzc3Bfd3JpdGUoY2hpcCwgTUVNVFlQRV9JTlRFUk5BTF9DT0RFLCAKLQkJCQkgIDB4NDAwICsgaSwgZGF0YVtpXSk7CisJCQkJICAweDQwMCArIGksIGxlMTZfdG9fY3B1KGRhdGFbaV0pKTsKIAl9CiAKIAkvKgpAQCAtMjQyNyw2ICsyMjY5LDI5IEBACiAJb3V0dygweGZmZmYsIGlvICsgR1BJT19NQVNLKTsKIH0KIAorc3RhdGljIHZvaWQKK3NuZF9tM19odl9pbml0KHN0cnVjdCBzbmRfbTMgKmNoaXApCit7CisJdW5zaWduZWQgbG9uZyBpbyA9IGNoaXAtPmlvYmFzZTsKKwl1MTYgdmFsID0gR1BJX1ZPTF9ET1dOIHwgR1BJX1ZPTF9VUDsKKworCWlmICghY2hpcC0+aXNfb21uaWJvb2spCisJCXJldHVybjsKKworCS8qCisJICogVm9sdW1lIGJ1dHRvbnMgb24gc29tZSBIUCBPbW5pQm9vayBsYXB0b3BzCisJICogcmVxdWlyZSBzb21lIEdQSU8gbWFnaWMgdG8gd29yayBjb3JyZWN0bHkuCisJICovCisJb3V0dygweGZmZmYsIGlvICsgR1BJT19NQVNLKTsKKwlvdXR3KDB4MDAwMCwgaW8gKyBHUElPX0RBVEEpOworCisJb3V0dyh+dmFsLCBpbyArIEdQSU9fTUFTSyk7CisJb3V0dyhpbncoaW8gKyBHUElPX0RJUkVDVElPTikgJiB+dmFsLCBpbyArIEdQSU9fRElSRUNUSU9OKTsKKwlvdXR3KHZhbCwgaW8gKyBHUElPX01BU0spOworCisJb3V0dygweGZmZmYsIGlvICsgR1BJT19NQVNLKTsKK30KKwogc3RhdGljIGludAogc25kX20zX2NoaXBfaW5pdChzdHJ1Y3Qgc25kX20zICpjaGlwKQogewpAQCAtMjQ0MiwyMSArMjMwNyw2IEBACiAJICAgICAgIERJU0FCTEVfTEVHQUNZKTsKIAlwY2lfd3JpdGVfY29uZmlnX3dvcmQocGNpZGV2LCBQQ0lfTEVHQUNZX0FVRElPX0NUUkwsIHcpOwogCi0JaWYgKGNoaXAtPmlzX29tbmlib29rKSB7Ci0JCS8qCi0JCSAqIFZvbHVtZSBidXR0b25zIG9uIHNvbWUgSFAgT21uaUJvb2sgbGFwdG9wcyBkb24ndCB3b3JrCi0JCSAqIGNvcnJlY3RseS4gVGhpcyBtYWtlcyB0aGVtIHdvcmsgZm9yIHRoZSBtb3N0IHBhcnQuCi0JCSAqCi0JCSAqIFZvbHVtZSB1cCBhbmQgZG93biBidXR0b25zIG9uIHRoZSBsYXB0b3Agc2lkZSB3b3JrLgotCQkgKiBGbitjdXJzb3JfdXAgKHZvbG1lIHVwKSB3b3Jrcy4KLQkJICogRm4rY3Vyc29yX2Rvd24gKHZvbHVtZSBkb3duKSBkb2Vzbid0IHdvcmsuCi0JCSAqIEZuK0Y3IChtdXRlKSB3b3JrcyBhY3RzIGFzIHZvbHVtZSB1cC4KLQkJICovCi0JCW91dHcofihHUElfVk9MX0RPV058R1BJX1ZPTF9VUCksIGlvICsgR1BJT19NQVNLKTsKLQkJb3V0dyhpbncoaW8gKyBHUElPX0RJUkVDVElPTikgJiB+KEdQSV9WT0xfRE9XTnxHUElfVk9MX1VQKSwgaW8gKyBHUElPX0RJUkVDVElPTik7Ci0JCW91dHcoKEdQSV9WT0xfRE9XTnxHUElfVk9MX1VQKSwgaW8gKyBHUElPX0RBVEEpOwotCQlvdXR3KDB4ZmZmZiwgaW8gKyBHUElPX01BU0spOwotCX0KIAlwY2lfcmVhZF9jb25maWdfZHdvcmQocGNpZGV2LCBQQ0lfQUxMRUdST19DT05GSUcsICZuKTsKIAluICY9IH4oSFZfQ1RSTF9FTkFCTEUgfCBSRURVQ0VEX0RFQk9VTkNFIHwgSFZfQlVUVE9OX0ZST01fR0QpOwogCW4gfD0gY2hpcC0+aHZfY29uZmlnOwpAQCAtMjU0OCwxMCArMjM5OCw4IEBACiAJaWYgKGNoaXAtPmlvYmFzZSkKIAkJcGNpX3JlbGVhc2VfcmVnaW9ucyhjaGlwLT5wY2kpOwogCi0jaWZuZGVmIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCiAJcmVsZWFzZV9maXJtd2FyZShjaGlwLT5hc3NwX2tlcm5lbF9pbWFnZSk7CiAJcmVsZWFzZV9maXJtd2FyZShjaGlwLT5hc3NwX21pbmlzcmNfaW1hZ2UpOwotI2VuZGlmCiAKIAlwY2lfZGlzYWJsZV9kZXZpY2UoY2hpcC0+cGNpKTsKIAlrZnJlZShjaGlwKTsKQEAgLTI2NDIsNiArMjQ5MCw4IEBACiAJc25kX20zX2VuYWJsZV9pbnRzKGNoaXApOwogCXNuZF9tM19hbXBfZW5hYmxlKGNoaXAsIDEpOwogCisJc25kX20zX2h2X2luaXQoY2hpcCk7CisKIAlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNhcmQsIFNORFJWX0NUTF9QT1dFUl9EMCk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yNzQxLDI5ICsyNTkxLDE5IEBACiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAotI2lmZGVmIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCi0JY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UgPSAmYXNzcF9rZXJuZWw7Ci0jZWxzZQogCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlLAogCQkJICAgICAgICJlc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZnciLCAmcGNpLT5kZXYpOwogCWlmIChlcnIgPCAwKSB7CiAJCXNuZF9tM19mcmVlKGNoaXApOwogCQlyZXR1cm4gZXJyOwotCX0gZWxzZQotCQlzbmRfbTNfY29udmVydF9mcm9tX2xlKGNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlKTsKLSNlbmRpZgorCX0KIAotI2lmZGVmIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCi0JY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlID0gJmFzc3BfbWluaXNyYzsKLSNlbHNlCiAJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlLAogCQkJICAgICAgICJlc3MvbWFlc3RybzNfYXNzcF9taW5pc3JjLmZ3IiwgJnBjaS0+ZGV2KTsKIAlpZiAoZXJyIDwgMCkgewogCQlzbmRfbTNfZnJlZShjaGlwKTsKIAkJcmV0dXJuIGVycjsKLQl9IGVsc2UKLQkJc25kX20zX2NvbnZlcnRfZnJvbV9sZShjaGlwLT5hc3NwX21pbmlzcmNfaW1hZ2UpOwotI2VuZGlmCisJfQogCiAJaWYgKChlcnIgPSBwY2lfcmVxdWVzdF9yZWdpb25zKHBjaSwgY2FyZC0+ZHJpdmVyKSkgPCAwKSB7CiAJCXNuZF9tM19mcmVlKGNoaXApOwpAQCAtMjc4MSw2ICsyNjIxLDggQEAKIAogCXNuZF9tM19hbXBfZW5hYmxlKGNoaXAsIDEpOwogCisJc25kX20zX2h2X2luaXQoY2hpcCk7CisKIAl0YXNrbGV0X2luaXQoJmNoaXAtPmh3dm9sX3RxLCBzbmRfbTNfdXBkYXRlX2h3X3ZvbHVtZSwgKHVuc2lnbmVkIGxvbmcpY2hpcCk7CiAKIAlpZiAocmVxdWVzdF9pcnEocGNpLT5pcnEsIHNuZF9tM19pbnRlcnJ1cHQsIElSUUZfU0hBUkVELApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL21peGFydC9taXhhcnRfaHdkZXAuYyBiL3NvdW5kL3BjaS9taXhhcnQvbWl4YXJ0X2h3ZGVwLmMKaW5kZXggMTIyYzI4ZS4uZjk4NjAzMSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL21peGFydC9taXhhcnRfaHdkZXAuYworKysgYi9zb3VuZC9wY2kvbWl4YXJ0L21peGFydF9od2RlcC5jCkBAIC02MTMsNyArNjEzLDcgQEAKIAkJCSAgIChpbnQpZHNwLT5sZW5ndGgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9Ci0JaWYgKGNvcHlfZnJvbV91c2VyKGZ3LmRhdGEsIGRzcC0+aW1hZ2UsIGRzcC0+bGVuZ3RoKSkgeworCWlmIChjb3B5X2Zyb21fdXNlcigodm9pZCAqKSBmdy5kYXRhLCBkc3AtPmltYWdlLCBkc3AtPmxlbmd0aCkpIHsKIAkJdmZyZWUoZncuZGF0YSk7CiAJCXJldHVybiAtRUZBVUxUOwogCX0KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9ubTI1Ni9ubTI1Ni5jIGIvc291bmQvcGNpL25tMjU2L25tMjU2LmMKaW5kZXggN2VmYjgzOC4uMDZkMTNlNyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL25tMjU2L25tMjU2LmMKKysrIGIvc291bmQvcGNpL25tMjU2L25tMjU2LmMKQEAgLTEzMDIsOCArMTMwMiw4IEBACiAJCS5yZWFkID0gc25kX25tMjU2X2FjOTdfcmVhZCwKIAl9OwogCi0JY2hpcC0+YWM5N19yZWdzID0ga2NhbGxvYyhzaXplb2Yoc2hvcnQpLAotCQkJCSAgQVJSQVlfU0laRShubTI1Nl9hYzk3X2luaXRfdmFsKSwgR0ZQX0tFUk5FTCk7CisJY2hpcC0+YWM5N19yZWdzID0ga2NhbGxvYyhBUlJBWV9TSVpFKG5tMjU2X2FjOTdfaW5pdF92YWwpLAorCQkJCSAgc2l6ZW9mKHNob3J0KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCEgY2hpcC0+YWM5N19yZWdzKQogCQlyZXR1cm4gLUVOT01FTTsKIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9oaWZpZXIuYyBiL3NvdW5kL3BjaS9veHlnZW4vaGlmaWVyLmMKaW5kZXggMDkwZGQ0My4uNzQ0MjQ2MCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL294eWdlbi9oaWZpZXIuYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL2hpZmllci5jCkBAIC0yOCw3ICsyOCw3IEBACiAKIE1PRFVMRV9BVVRIT1IoIkNsZW1lbnMgTGFkaXNjaCA8Y2xlbWVuc0BsYWRpc2NoLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJUZW1wb1RlYyBIaUZpZXIgZHJpdmVyIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7CiBzdGF0aWMgY2hhciAqaWRbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9TVFI7CkBAIC02MiwxNiArNjIsMjggQEAKIAkJCSBBSzQzOTZfV1JJVEUgfCAocmVnIDw8IDgpIHwgdmFsdWUpOwogfQogCitzdGF0aWMgdm9pZCB1cGRhdGVfYWs0Mzk2X3ZvbHVtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfTENIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVswXSk7CisJYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9SQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lWzFdKTsKK30KKworc3RhdGljIHZvaWQgaGlmaWVyX3JlZ2lzdGVyc19pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IGhpZmllcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8xLCBBSzQzOTZfRElGXzI0X01TQiB8IEFLNDM5Nl9SU1ROKTsKKwlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMiwgZGF0YS0+YWs0Mzk2X2N0bDIpOworCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8zLCBBSzQzOTZfUENNKTsKKwl1cGRhdGVfYWs0Mzk2X3ZvbHVtZShjaGlwKTsKK30KKwogc3RhdGljIHZvaWQgaGlmaWVyX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgaGlmaWVyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwogCiAJZGF0YS0+YWs0Mzk2X2N0bDIgPSBBSzQzOTZfU01VVEUgfCBBSzQzOTZfREVNX09GRiB8IEFLNDM5Nl9ERlNfTk9STUFMOwotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8xLCBBSzQzOTZfRElGXzI0X01TQiB8IEFLNDM5Nl9SU1ROKTsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMiwgZGF0YS0+YWs0Mzk2X2N0bDIpOwotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8zLCBBSzQzOTZfUENNKTsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0xDSF9BVFQsIDApOwotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfUkNIX0FUVCwgMCk7CisJaGlmaWVyX3JlZ2lzdGVyc19pbml0KGNoaXApOwogCiAJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkFLNDM5NiIpOwogCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzUzNDAiKTsKQEAgLTEwMCwxMiArMTEyLDYgQEAKIAlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMSwgQUs0Mzk2X0RJRl8yNF9NU0IgfCBBSzQzOTZfUlNUTik7CiB9CiAKLXN0YXRpYyB2b2lkIHVwZGF0ZV9hazQzOTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9MQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lWzBdKTsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X1JDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbMV0pOwotfQotCiBzdGF0aWMgdm9pZCB1cGRhdGVfYWs0Mzk2X211dGUoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgaGlmaWVyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwpAQCAtMTQwLDYgKzE0Niw3IEBACiAJLmluaXQgPSBoaWZpZXJfaW5pdCwKIAkuY29udHJvbF9maWx0ZXIgPSBoaWZpZXJfY29udHJvbF9maWx0ZXIsCiAJLmNsZWFudXAgPSBoaWZpZXJfY2xlYW51cCwKKwkucmVzdW1lID0gaGlmaWVyX3JlZ2lzdGVyc19pbml0LAogCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9hazQzOTZfcGFyYW1zLAogCS5zZXRfYWRjX3BhcmFtcyA9IHNldF9jczUzNDBfcGFyYW1zLAogCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9hazQzOTZfdm9sdW1lLApAQCAtMTgwLDYgKzE4NywxMCBAQAogCS5pZF90YWJsZSA9IGhpZmllcl9pZHMsCiAJLnByb2JlID0gaGlmaWVyX3Byb2JlLAogCS5yZW1vdmUgPSBfX2RldmV4aXRfcChveHlnZW5fcGNpX3JlbW92ZSksCisjaWZkZWYgQ09ORklHX1BNCisJLnN1c3BlbmQgPSBveHlnZW5fcGNpX3N1c3BlbmQsCisJLnJlc3VtZSA9IG94eWdlbl9wY2lfcmVzdW1lLAorI2VuZGlmCiB9OwogCiBzdGF0aWMgaW50IF9faW5pdCBhbHNhX2NhcmRfaGlmaWVyX2luaXQodm9pZCkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmMgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5jCmluZGV4IDYzZjE4NWMuLjdjOGFlMzEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmMKKysrIGIvc291bmQvcGNpL294eWdlbi9veHlnZW4uYwpAQCAtNDMsNyArNDMsNyBAQAogCiBNT0RVTEVfQVVUSE9SKCJDbGVtZW5zIExhZGlzY2ggPGNsZW1lbnNAbGFkaXNjaC5kZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiQy1NZWRpYSBDTUk4Nzg4IGRyaXZlciIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7Qy1NZWRpYSxDTUk4Nzg4fX0iKTsKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsKQEAgLTgwLDYgKzgwLDcgQEAKIAogc3RydWN0IGdlbmVyaWNfZGF0YSB7CiAJdTggYWs0Mzk2X2N0bDI7CisJdTE2IHNhdmVkX3dtODc4NV9yZWdpc3RlcnNbMl07CiB9OwogCiBzdGF0aWMgdm9pZCBhazQzOTZfd3JpdGUoc3RydWN0IG94eWdlbiAqY2hpcCwgdW5zaWduZWQgaW50IGNvZGVjLApAQCAtOTksMjAgKzEwMCwzNSBAQAogCiBzdGF0aWMgdm9pZCB3bTg3ODVfd3JpdGUoc3RydWN0IG94eWdlbiAqY2hpcCwgdTggcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpCiB7CisJc3RydWN0IGdlbmVyaWNfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKIAlveHlnZW5fd3JpdGVfc3BpKGNoaXAsIE9YWUdFTl9TUElfVFJJR0dFUiB8CiAJCQkgT1hZR0VOX1NQSV9EQVRBX0xFTkdUSF8yIHwKIAkJCSBPWFlHRU5fU1BJX0NMT0NLXzE2MCB8CiAJCQkgKDMgPDwgT1hZR0VOX1NQSV9DT0RFQ19TSElGVCkgfAogCQkJIE9YWUdFTl9TUElfQ0VOX0xBVENIX0NMT0NLX0xPLAogCQkJIChyZWcgPDwgOSkgfCB2YWx1ZSk7CisJaWYgKHJlZyA8IEFSUkFZX1NJWkUoZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVycykpCisJCWRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnNbcmVnXSA9IHZhbHVlOwogfQogCi1zdGF0aWMgdm9pZCBhazQzOTZfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQorc3RhdGljIHZvaWQgdXBkYXRlX2FrNDM5Nl92b2x1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKKwkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksCisJCQkgICAgIEFLNDM5Nl9MQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyXSk7CisJCWFrNDM5Nl93cml0ZShjaGlwLCBpLAorCQkJICAgICBBSzQzOTZfUkNIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMiArIDFdKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGFrNDM5Nl9yZWdpc3RlcnNfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwogCXVuc2lnbmVkIGludCBpOwogCi0JZGF0YS0+YWs0Mzk2X2N0bDIgPSBBSzQzOTZfU01VVEUgfCBBSzQzOTZfREVNX09GRiB8IEFLNDM5Nl9ERlNfTk9STUFMOwogCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKIAkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksCiAJCQkgICAgIEFLNDM5Nl9DT05UUk9MXzEsIEFLNDM5Nl9ESUZfMjRfTVNCIHwgQUs0Mzk2X1JTVE4pOwpAQCAtMTIwLDkgKzEzNiwxNiBAQAogCQkJICAgICBBSzQzOTZfQ09OVFJPTF8yLCBkYXRhLT5hazQzOTZfY3RsMik7CiAJCWFrNDM5Nl93cml0ZShjaGlwLCBpLAogCQkJICAgICBBSzQzOTZfQ09OVFJPTF8zLCBBSzQzOTZfUENNKTsKLQkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksIEFLNDM5Nl9MQ0hfQVRULCAwKTsKLQkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksIEFLNDM5Nl9SQ0hfQVRULCAwKTsKIAl9CisJdXBkYXRlX2FrNDM5Nl92b2x1bWUoY2hpcCk7Cit9CisKK3N0YXRpYyB2b2lkIGFrNDM5Nl9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IGdlbmVyaWNfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwlkYXRhLT5hazQzOTZfY3RsMiA9IEFLNDM5Nl9TTVVURSB8IEFLNDM5Nl9ERU1fT0ZGIHwgQUs0Mzk2X0RGU19OT1JNQUw7CisJYWs0Mzk2X3JlZ2lzdGVyc19pbml0KGNoaXApOwogCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJBSzQzOTYiKTsKIH0KIApAQCAtMTMzLDEyICsxNTYsMjMgQEAKIAlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQUs1Mzg1Iik7CiB9CiAKK3N0YXRpYyB2b2lkIHdtODc4NV9yZWdpc3RlcnNfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SNywgMCk7CisJd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SMCwgZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVyc1swXSk7CisJd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SMSwgZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVyc1sxXSk7Cit9CisKIHN0YXRpYyB2b2lkIHdtODc4NV9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCiB7Ci0Jd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SNywgMCk7Ci0Jd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SMCwgV004Nzg1X01DUl9TTEFWRSB8Ci0JCSAgICAgV004Nzg1X09TUl9TSU5HTEUgfCBXTTg3ODVfRk9STUFUX0xKVVNUKTsKLQl3bTg3ODVfd3JpdGUoY2hpcCwgV004Nzg1X1IxLCBXTTg3ODVfV0xfMjQpOworCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVyc1swXSA9IFdNODc4NV9NQ1JfU0xBVkUgfAorCQlXTTg3ODVfT1NSX1NJTkdMRSB8IFdNODc4NV9GT1JNQVRfTEpVU1Q7CisJZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVyc1sxXSA9IFdNODc4NV9XTF8yNDsKKwl3bTg3ODVfcmVnaXN0ZXJzX2luaXQoY2hpcCk7CiAJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIldNODc4NSIpOwogfQogCkBAIC0xNTgsNiArMTkyLDEyIEBACiB7CiB9CiAKK3N0YXRpYyB2b2lkIGdlbmVyaWNfcmVzdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJYWs0Mzk2X3JlZ2lzdGVyc19pbml0KGNoaXApOworCXdtODc4NV9yZWdpc3RlcnNfaW5pdChjaGlwKTsKK30KKwogc3RhdGljIHZvaWQgc2V0X2FrNDM5Nl9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKIAkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewpAQCAtMTgzLDE4ICsyMjMsNiBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlX2FrNDM5Nl92b2x1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKLXsKLQl1bnNpZ25lZCBpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKLQkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksCi0JCQkgICAgIEFLNDM5Nl9MQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyXSk7Ci0JCWFrNDM5Nl93cml0ZShjaGlwLCBpLAotCQkJICAgICBBSzQzOTZfUkNIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMiArIDFdKTsKLQl9Ci19Ci0KIHN0YXRpYyB2b2lkIHVwZGF0ZV9hazQzOTZfbXV0ZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwpAQCAtMjU2LDYgKzI4NCw3IEBACiAJLm93bmVyID0gVEhJU19NT0RVTEUsCiAJLmluaXQgPSBnZW5lcmljX2luaXQsCiAJLmNsZWFudXAgPSBnZW5lcmljX2NsZWFudXAsCisJLnJlc3VtZSA9IGdlbmVyaWNfcmVzdW1lLAogCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9hazQzOTZfcGFyYW1zLAogCS5zZXRfYWRjX3BhcmFtcyA9IHNldF93bTg3ODVfcGFyYW1zLAogCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9hazQzOTZfdm9sdW1lLApAQCAtMjgzLDYgKzMxMiw3IEBACiAJLm93bmVyID0gVEhJU19NT0RVTEUsCiAJLmluaXQgPSBtZXJpZGlhbl9pbml0LAogCS5jbGVhbnVwID0gZ2VuZXJpY19jbGVhbnVwLAorCS5yZXN1bWUgPSBhazQzOTZfcmVnaXN0ZXJzX2luaXQsCiAJLnNldF9kYWNfcGFyYW1zID0gc2V0X2FrNDM5Nl9wYXJhbXMsCiAJLnNldF9hZGNfcGFyYW1zID0gc2V0X2FrNTM4NV9wYXJhbXMsCiAJLnVwZGF0ZV9kYWNfdm9sdW1lID0gdXBkYXRlX2FrNDM5Nl92b2x1bWUsCkBAIC0zMzEsNiArMzYxLDEwIEBACiAJLmlkX3RhYmxlID0gb3h5Z2VuX2lkcywKIAkucHJvYmUgPSBnZW5lcmljX294eWdlbl9wcm9iZSwKIAkucmVtb3ZlID0gX19kZXZleGl0X3Aob3h5Z2VuX3BjaV9yZW1vdmUpLAorI2lmZGVmIENPTkZJR19QTQorCS5zdXNwZW5kID0gb3h5Z2VuX3BjaV9zdXNwZW5kLAorCS5yZXN1bWUgPSBveHlnZW5fcGNpX3Jlc3VtZSwKKyNlbmRpZgogfTsKIAogc3RhdGljIGludCBfX2luaXQgYWxzYV9jYXJkX294eWdlbl9pbml0KHZvaWQpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5oIGIvc291bmQvcGNpL294eWdlbi9veHlnZW4uaAppbmRleCBhNzFjNmUwLi43NGE2NDQ4IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5oCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmgKQEAgLTE2LDYgKzE2LDggQEAKICNkZWZpbmUgUENNX0FDOTcJNQogI2RlZmluZSBQQ01fQ09VTlQJNgogCisjZGVmaW5lIE9YWUdFTl9JT19TSVpFCTB4MTAwCisKIC8qIG1vZGVsLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb2Ygb3V0cHV0cy9pbnB1dHMgKi8KICNkZWZpbmUgUExBWUJBQ0tfMF9UT19JMlMJMHgwMDEKICNkZWZpbmUgUExBWUJBQ0tfMV9UT19TUERJRgkweDAwNApAQCAtNzgsNiArODAsMTIgQEAKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgc3BkaWZfaW5wdXRfYml0c193b3JrOwogCXN0cnVjdCB3b3JrX3N0cnVjdCBncGlvX3dvcms7CiAJd2FpdF9xdWV1ZV9oZWFkX3QgYWM5N193YWl0cXVldWU7CisJdW5pb24geworCQl1OCBfOFtPWFlHRU5fSU9fU0laRV07CisJCV9fbGUxNiBfMTZbT1hZR0VOX0lPX1NJWkUgLyAyXTsKKwkJX19sZTMyIF8zMltPWFlHRU5fSU9fU0laRSAvIDRdOworCX0gc2F2ZWRfcmVnaXN0ZXJzOworCXUxNiBzYXZlZF9hYzk3X3JlZ2lzdGVyc1syXVsweDQwXTsKIH07CiAKIHN0cnVjdCBveHlnZW5fbW9kZWwgewpAQCAtODksNiArOTcsOCBAQAogCWludCAoKmNvbnRyb2xfZmlsdGVyKShzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyAqdGVtcGxhdGUpOwogCWludCAoKm1peGVyX2luaXQpKHN0cnVjdCBveHlnZW4gKmNoaXApOwogCXZvaWQgKCpjbGVhbnVwKShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKTsKKwl2b2lkICgqc3VzcGVuZCkoc3RydWN0IG94eWdlbiAqY2hpcCk7CisJdm9pZCAoKnJlc3VtZSkoc3RydWN0IG94eWdlbiAqY2hpcCk7CiAJdm9pZCAoKnBjbV9oYXJkd2FyZV9maWx0ZXIpKHVuc2lnbmVkIGludCBjaGFubmVsLAogCQkJCSAgICBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSAqaGFyZHdhcmUpOwogCXZvaWQgKCpzZXRfZGFjX3BhcmFtcykoc3RydWN0IG94eWdlbiAqY2hpcCwKQEAgLTExNyw2ICsxMjcsMTAgQEAKIGludCBveHlnZW5fcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwY2ksIGludCBpbmRleCwgY2hhciAqaWQsCiAJCSAgICAgY29uc3Qgc3RydWN0IG94eWdlbl9tb2RlbCAqbW9kZWwpOwogdm9pZCBveHlnZW5fcGNpX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGNpKTsKKyNpZmRlZiBDT05GSUdfUE0KK2ludCBveHlnZW5fcGNpX3N1c3BlbmQoc3RydWN0IHBjaV9kZXYgKnBjaSwgcG1fbWVzc2FnZV90IHN0YXRlKTsKK2ludCBveHlnZW5fcGNpX3Jlc3VtZShzdHJ1Y3QgcGNpX2RldiAqcGNpKTsKKyNlbmRpZgogCiAvKiBveHlnZW5fbWl4ZXIuYyAqLwogCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9pby5jIGIvc291bmQvcGNpL294eWdlbi9veHlnZW5faW8uYwppbmRleCA1NTY5NjA2Li44M2YxMzVmIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9pby5jCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2lvLmMKQEAgLTQ0LDE4ICs0NCwyMSBAQAogdm9pZCBveHlnZW5fd3JpdGU4KHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCByZWcsIHU4IHZhbHVlKQogewogCW91dGIodmFsdWUsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fOFtyZWddID0gdmFsdWU7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl93cml0ZTgpOwogCiB2b2lkIG94eWdlbl93cml0ZTE2KHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCByZWcsIHUxNiB2YWx1ZSkKIHsKIAlvdXR3KHZhbHVlLCBjaGlwLT5hZGRyICsgcmVnKTsKKwljaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzE2W3JlZyAvIDJdID0gY3B1X3RvX2xlMTYodmFsdWUpOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGUxNik7CiAKIHZvaWQgb3h5Z2VuX3dyaXRlMzIoc3RydWN0IG94eWdlbiAqY2hpcCwgdW5zaWduZWQgaW50IHJlZywgdTMyIHZhbHVlKQogewogCW91dGwodmFsdWUsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fMzJbcmVnIC8gNF0gPSBjcHVfdG9fbGUzMih2YWx1ZSk7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl93cml0ZTMyKTsKIApAQCAtNjMsNyArNjYsMTAgQEAKIAkJCSAgdTggdmFsdWUsIHU4IG1hc2spCiB7CiAJdTggdG1wID0gaW5iKGNoaXAtPmFkZHIgKyByZWcpOwotCW91dGIoKHRtcCAmIH5tYXNrKSB8ICh2YWx1ZSAmIG1hc2spLCBjaGlwLT5hZGRyICsgcmVnKTsKKwl0bXAgJj0gfm1hc2s7CisJdG1wIHw9IHZhbHVlICYgbWFzazsKKwlvdXRiKHRtcCwgY2hpcC0+YWRkciArIHJlZyk7CisJY2hpcC0+c2F2ZWRfcmVnaXN0ZXJzLl84W3JlZ10gPSB0bXA7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl93cml0ZThfbWFza2VkKTsKIApAQCAtNzEsNyArNzcsMTAgQEAKIAkJCSAgIHUxNiB2YWx1ZSwgdTE2IG1hc2spCiB7CiAJdTE2IHRtcCA9IGludyhjaGlwLT5hZGRyICsgcmVnKTsKLQlvdXR3KCh0bXAgJiB+bWFzaykgfCAodmFsdWUgJiBtYXNrKSwgY2hpcC0+YWRkciArIHJlZyk7CisJdG1wICY9IH5tYXNrOworCXRtcCB8PSB2YWx1ZSAmIG1hc2s7CisJb3V0dyh0bXAsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fMTZbcmVnIC8gMl0gPSBjcHVfdG9fbGUxNih0bXApOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGUxNl9tYXNrZWQpOwogCkBAIC03OSw3ICs4OCwxMCBAQAogCQkJICAgdTMyIHZhbHVlLCB1MzIgbWFzaykKIHsKIAl1MzIgdG1wID0gaW5sKGNoaXAtPmFkZHIgKyByZWcpOwotCW91dGwoKHRtcCAmIH5tYXNrKSB8ICh2YWx1ZSAmIG1hc2spLCBjaGlwLT5hZGRyICsgcmVnKTsKKwl0bXAgJj0gfm1hc2s7CisJdG1wIHw9IHZhbHVlICYgbWFzazsKKwlvdXRsKHRtcCwgY2hpcC0+YWRkciArIHJlZyk7CisJY2hpcC0+c2F2ZWRfcmVnaXN0ZXJzLl8zMltyZWcgLyA0XSA9IGNwdV90b19sZTMyKHRtcCk7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl93cml0ZTMyX21hc2tlZCk7CiAKQEAgLTEyOCw4ICsxNDAsMTAgQEAKIAkJb3h5Z2VuX3dyaXRlMzIoY2hpcCwgT1hZR0VOX0FDOTdfUkVHUywgcmVnKTsKIAkJLyogcmVxdWlyZSB0d28gImNvbXBsZXRlZCIgd3JpdGVzLCBqdXN0IHRvIGJlIHN1cmUgKi8KIAkJaWYgKG94eWdlbl9hYzk3X3dhaXQoY2hpcCwgT1hZR0VOX0FDOTdfSU5UX1dSSVRFX0RPTkUpID49IDAgJiYKLQkJICAgICsrc3VjY2VlZGVkID49IDIpCisJCSAgICArK3N1Y2NlZWRlZCA+PSAyKSB7CisJCQljaGlwLT5zYXZlZF9hYzk3X3JlZ2lzdGVyc1tjb2RlY11baW5kZXggLyAyXSA9IGRhdGE7CiAJCQlyZXR1cm47CisJCX0KIAl9CiAJc25kX3ByaW50ayhLRVJOX0VSUiAiQUMnOTcgd3JpdGUgdGltZW91dFxuIik7CiB9CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9saWIuYyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2xpYi5jCmluZGV4IDg5NzY5N2QuLjIyZjM3ODUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2xpYi5jCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2xpYi5jCkBAIC0zMiw3ICszMiw3IEBACiAKIE1PRFVMRV9BVVRIT1IoIkNsZW1lbnMgTGFkaXNjaCA8Y2xlbWVuc0BsYWRpc2NoLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJDLU1lZGlhIENNSTg3ODggaGVscGVyIGxpYnJhcnkiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKIAogCiBzdGF0aWMgaXJxcmV0dXJuX3Qgb3h5Z2VuX2ludGVycnVwdChpbnQgZHVtbXksIHZvaWQgKmRldl9pZCkKQEAgLTE3Myw3ICsxNzMsNyBAQAogCWludCBpLCBqOwogCiAJc25kX2lwcmludGYoYnVmZmVyLCAiQ01JODc4OFxuXG4iKTsKLQlmb3IgKGkgPSAwOyBpIDwgMHgxMDA7IGkgKz0gMHgxMCkgeworCWZvciAoaSA9IDA7IGkgPCBPWFlHRU5fSU9fU0laRTsgaSArPSAweDEwKSB7CiAJCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIiUwMng6IiwgaSk7CiAJCWZvciAoaiA9IDA7IGogPCAweDEwOyArK2opCiAJCQlzbmRfaXByaW50ZihidWZmZXIsICIgJTAyeCIsIG94eWdlbl9yZWFkOChjaGlwLCBpICsgaikpOwpAQCAtMzE0LDYgKzMxNCwxMCBAQAogCQkJCSAgICBPWFlHRU5fU1BESUZfTE9DS19NQVNLIHwKIAkJCQkgICAgT1hZR0VOX1NQRElGX1JBVEVfTUFTSyk7CiAJb3h5Z2VuX3dyaXRlMzIoY2hpcCwgT1hZR0VOX1NQRElGX09VVFBVVF9CSVRTLCBjaGlwLT5zcGRpZl9iaXRzKTsKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fMldJUkVfQlVTX1NUQVRVUywKKwkJICAgICAgIE9YWUdFTl8yV0lSRV9MRU5HVEhfOCB8CisJCSAgICAgICBPWFlHRU5fMldJUkVfSU5URVJSVVBUX01BU0sgfAorCQkgICAgICAgT1hZR0VOXzJXSVJFX1NQRUVEX1NUQU5EQVJEKTsKIAlveHlnZW5fY2xlYXJfYml0czgoY2hpcCwgT1hZR0VOX01QVTQwMV9DT05UUk9MLCBPWFlHRU5fTVBVNDAxX0xPT1BCQUNLKTsKIAlveHlnZW5fd3JpdGU4KGNoaXAsIE9YWUdFTl9HUElfSU5URVJSVVBUX01BU0ssIDApOwogCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl9HUElPX0lOVEVSUlVQVF9NQVNLLCAwKTsKQEAgLTQ1NSw3ICs0NTksNyBAQAogCX0KIAogCWlmICghKHBjaV9yZXNvdXJjZV9mbGFncyhwY2ksIDApICYgSU9SRVNPVVJDRV9JTykgfHwKLQkgICAgcGNpX3Jlc291cmNlX2xlbihwY2ksIDApIDwgMHgxMDApIHsKKwkgICAgcGNpX3Jlc291cmNlX2xlbihwY2ksIDApIDwgT1hZR0VOX0lPX1NJWkUpIHsKIAkJc25kX3ByaW50ayhLRVJOX0VSUiAiaW52YWxpZCBQQ0kgSS9PIHJhbmdlXG4iKTsKIAkJZXJyID0gLUVOWElPOwogCQlnb3RvIGVycl9wY2lfcmVnaW9uczsKQEAgLTUzNCwzICs1MzgsOTkgQEAKIAlwY2lfc2V0X2RydmRhdGEocGNpLCBOVUxMKTsKIH0KIEVYUE9SVF9TWU1CT0wob3h5Z2VuX3BjaV9yZW1vdmUpOworCisjaWZkZWYgQ09ORklHX1BNCitpbnQgb3h5Z2VuX3BjaV9zdXNwZW5kKHN0cnVjdCBwY2lfZGV2ICpwY2ksIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQgPSBwY2lfZ2V0X2RydmRhdGEocGNpKTsKKwlzdHJ1Y3Qgb3h5Z2VuICpjaGlwID0gY2FyZC0+cHJpdmF0ZV9kYXRhOworCXVuc2lnbmVkIGludCBpLCBzYXZlZF9pbnRlcnJ1cHRfbWFzazsKKworCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKworCWZvciAoaSA9IDA7IGkgPCBQQ01fQ09VTlQ7ICsraSkKKwkJaWYgKGNoaXAtPnN0cmVhbXNbaV0pCisJCQlzbmRfcGNtX3N1c3BlbmQoY2hpcC0+c3RyZWFtc1tpXSk7CisKKwlpZiAoY2hpcC0+bW9kZWwtPnN1c3BlbmQpCisJCWNoaXAtPm1vZGVsLT5zdXNwZW5kKGNoaXApOworCisJc3Bpbl9sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCXNhdmVkX2ludGVycnVwdF9tYXNrID0gY2hpcC0+aW50ZXJydXB0X21hc2s7CisJY2hpcC0+aW50ZXJydXB0X21hc2sgPSAwOworCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl9ETUFfU1RBVFVTLCAwKTsKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fSU5URVJSVVBUX01BU0ssIDApOworCXNwaW5fdW5sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCisJc3luY2hyb25pemVfaXJxKGNoaXAtPmlycSk7CisJZmx1c2hfc2NoZWR1bGVkX3dvcmsoKTsKKwljaGlwLT5pbnRlcnJ1cHRfbWFzayA9IHNhdmVkX2ludGVycnVwdF9tYXNrOworCisJcGNpX2Rpc2FibGVfZGV2aWNlKHBjaSk7CisJcGNpX3NhdmVfc3RhdGUocGNpKTsKKwlwY2lfc2V0X3Bvd2VyX3N0YXRlKHBjaSwgcGNpX2Nob29zZV9zdGF0ZShwY2ksIHN0YXRlKSk7CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKG94eWdlbl9wY2lfc3VzcGVuZCk7CisKK3N0YXRpYyBjb25zdCB1MzIgcmVnaXN0ZXJzX3RvX3Jlc3RvcmVbT1hZR0VOX0lPX1NJWkUgLyAzMl0gPSB7CisJMHhmZmZmZmZmZiwgMHgwMGZmMDc3ZiwgMHgwMDAxMWQwOCwgMHgwMDdmMDBmZiwKKwkweDAwMzAwMDAwLCAweDAwMDAwZmU0LCAweDBmZjcwMDFmLCAweDAwMDAwMDAwCit9Oworc3RhdGljIGNvbnN0IHUzMiBhYzk3X3JlZ2lzdGVyc190b19yZXN0b3JlWzJdWzB4NDAgLyAzMl0gPSB7CisJeyAweDE4Mjg0ZmEyLCAweDAzMDYwMDAwIH0sCisJeyAweDAwMDA3ZmE2LCAweDAwMjAwMDAwIH0KK307CisKK3N0YXRpYyBpbmxpbmUgaW50IGlzX2JpdF9zZXQoY29uc3QgdTMyICpiaXRtYXAsIHVuc2lnbmVkIGludCBiaXQpCit7CisJcmV0dXJuIGJpdG1hcFtiaXQgLyAzMl0gJiAoMSA8PCAoYml0ICYgMzEpKTsKK30KKworc3RhdGljIHZvaWQgb3h5Z2VuX3Jlc3RvcmVfYWM5NyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLCB1bnNpZ25lZCBpbnQgY29kZWMpCit7CisJdW5zaWduZWQgaW50IGk7CisKKwlveHlnZW5fd3JpdGVfYWM5NyhjaGlwLCBjb2RlYywgQUM5N19SRVNFVCwgMCk7CisJbXNsZWVwKDEpOworCWZvciAoaSA9IDE7IGkgPCAweDQwOyArK2kpCisJCWlmIChpc19iaXRfc2V0KGFjOTdfcmVnaXN0ZXJzX3RvX3Jlc3RvcmVbY29kZWNdLCBpKSkKKwkJCW94eWdlbl93cml0ZV9hYzk3KGNoaXAsIGNvZGVjLCBpICogMiwKKwkJCQkJICBjaGlwLT5zYXZlZF9hYzk3X3JlZ2lzdGVyc1tjb2RlY11baV0pOworfQorCitpbnQgb3h5Z2VuX3BjaV9yZXN1bWUoc3RydWN0IHBjaV9kZXYgKnBjaSkKK3sKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQgPSBwY2lfZ2V0X2RydmRhdGEocGNpKTsKKwlzdHJ1Y3Qgb3h5Z2VuICpjaGlwID0gY2FyZC0+cHJpdmF0ZV9kYXRhOworCXVuc2lnbmVkIGludCBpOworCisJcGNpX3NldF9wb3dlcl9zdGF0ZShwY2ksIFBDSV9EMCk7CisJcGNpX3Jlc3RvcmVfc3RhdGUocGNpKTsKKwlpZiAocGNpX2VuYWJsZV9kZXZpY2UocGNpKSA8IDApIHsKKwkJc25kX3ByaW50ayhLRVJOX0VSUiAiY2Fubm90IHJlZW5hYmxlIGRldmljZSIpOworCQlzbmRfY2FyZF9kaXNjb25uZWN0KGNhcmQpOworCQlyZXR1cm4gLUVJTzsKKwl9CisJcGNpX3NldF9tYXN0ZXIocGNpKTsKKworCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl9ETUFfU1RBVFVTLCAwKTsKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fSU5URVJSVVBUX01BU0ssIDApOworCWZvciAoaSA9IDA7IGkgPCBPWFlHRU5fSU9fU0laRTsgKytpKQorCQlpZiAoaXNfYml0X3NldChyZWdpc3RlcnNfdG9fcmVzdG9yZSwgaSkpCisJCQlveHlnZW5fd3JpdGU4KGNoaXAsIGksIGNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fOFtpXSk7CisJaWYgKGNoaXAtPmhhc19hYzk3XzApCisJCW94eWdlbl9yZXN0b3JlX2FjOTcoY2hpcCwgMCk7CisJaWYgKGNoaXAtPmhhc19hYzk3XzEpCisJCW94eWdlbl9yZXN0b3JlX2FjOTcoY2hpcCwgMSk7CisKKwlpZiAoY2hpcC0+bW9kZWwtPnJlc3VtZSkKKwkJY2hpcC0+bW9kZWwtPnJlc3VtZShjaGlwKTsKKworCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl9JTlRFUlJVUFRfTUFTSywgY2hpcC0+aW50ZXJydXB0X21hc2spOworCisJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDApOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChveHlnZW5fcGNpX3Jlc3VtZSk7CisjZW5kaWYgLyogQ09ORklHX1BNICovCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9wY20uYyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX3BjbS5jCmluZGV4IGIxN2M0MDUuLmM0YWQ2NWEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX3BjbS5jCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX3BjbS5jCkBAIC0yNCw2ICsyNCwxNiBAQAogI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KICNpbmNsdWRlICJveHlnZW4uaCIKIAorLyogbW9zdCBETUEgY2hhbm5lbHMgaGF2ZSBhIDE2LWJpdCBjb3VudGVyIGZvciAzMi1iaXQgd29yZHMgKi8KKyNkZWZpbmUgQlVGRkVSX0JZVEVTX01BWAkJKCgxIDw8IDE2KSAqIDQpCisvKiB0aGUgbXVsdGljaGFubmVsIERNQSBjaGFubmVsIGhhcyBhIDI0LWJpdCBjb3VudGVyICovCisjZGVmaW5lIEJVRkZFUl9CWVRFU19NQVhfTVVMVElDSAkoKDEgPDwgMjQpICogNCkKKworI2RlZmluZSBQRVJJT0RfQllURVNfTUlOCQk2NAorCisjZGVmaW5lIERFRkFVTFRfQlVGRkVSX0JZVEVTCQkoQlVGRkVSX0JZVEVTX01BWCAvIDIpCisjZGVmaW5lIERFRkFVTFRfQlVGRkVSX0JZVEVTX01VTFRJQ0gJKDEwMjQgKiAxMDI0KQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgb3h5Z2VuX3N0ZXJlb19oYXJkd2FyZSA9IHsKIAkuaW5mbyA9IFNORFJWX1BDTV9JTkZPX01NQVAgfAogCQlTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwKQEAgLTQ0LDExICs1NCwxMSBAQAogCS5yYXRlX21heCA9IDE5MjAwMCwKIAkuY2hhbm5lbHNfbWluID0gMiwKIAkuY2hhbm5lbHNfbWF4ID0gMiwKLQkuYnVmZmVyX2J5dGVzX21heCA9IDI1NiAqIDEwMjQsCi0JLnBlcmlvZF9ieXRlc19taW4gPSAxMjgsCi0JLnBlcmlvZF9ieXRlc19tYXggPSAxMjggKiAxMDI0LAorCS5idWZmZXJfYnl0ZXNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCwKKwkucGVyaW9kX2J5dGVzX21pbiA9IFBFUklPRF9CWVRFU19NSU4sCisJLnBlcmlvZF9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYIC8gMiwKIAkucGVyaW9kc19taW4gPSAyLAotCS5wZXJpb2RzX21heCA9IDIwNDgsCisJLnBlcmlvZHNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCAvIFBFUklPRF9CWVRFU19NSU4sCiB9Owogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIG94eWdlbl9tdWx0aWNoYW5uZWxfaGFyZHdhcmUgPSB7CiAJLmluZm8gPSBTTkRSVl9QQ01fSU5GT19NTUFQIHwKQEAgLTcwLDExICs4MCwxMSBAQAogCS5yYXRlX21heCA9IDE5MjAwMCwKIAkuY2hhbm5lbHNfbWluID0gMiwKIAkuY2hhbm5lbHNfbWF4ID0gOCwKLQkuYnVmZmVyX2J5dGVzX21heCA9IDIwNDggKiAxMDI0LAotCS5wZXJpb2RfYnl0ZXNfbWluID0gMTI4LAotCS5wZXJpb2RfYnl0ZXNfbWF4ID0gMjU2ICogMTAyNCwKKwkuYnVmZmVyX2J5dGVzX21heCA9IEJVRkZFUl9CWVRFU19NQVhfTVVMVElDSCwKKwkucGVyaW9kX2J5dGVzX21pbiA9IFBFUklPRF9CWVRFU19NSU4sCisJLnBlcmlvZF9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYX01VTFRJQ0ggLyAyLAogCS5wZXJpb2RzX21pbiA9IDIsCi0JLnBlcmlvZHNfbWF4ID0gMTYzODQsCisJLnBlcmlvZHNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWF9NVUxUSUNIIC8gUEVSSU9EX0JZVEVTX01JTiwKIH07CiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgb3h5Z2VuX2FjOTdfaGFyZHdhcmUgPSB7CiAJLmluZm8gPSBTTkRSVl9QQ01fSU5GT19NTUFQIHwKQEAgLTg4LDExICs5OCwxMSBAQAogCS5yYXRlX21heCA9IDQ4MDAwLAogCS5jaGFubmVsc19taW4gPSAyLAogCS5jaGFubmVsc19tYXggPSAyLAotCS5idWZmZXJfYnl0ZXNfbWF4ID0gMjU2ICogMTAyNCwKLQkucGVyaW9kX2J5dGVzX21pbiA9IDEyOCwKLQkucGVyaW9kX2J5dGVzX21heCA9IDEyOCAqIDEwMjQsCisJLmJ1ZmZlcl9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYLAorCS5wZXJpb2RfYnl0ZXNfbWluID0gUEVSSU9EX0JZVEVTX01JTiwKKwkucGVyaW9kX2J5dGVzX21heCA9IEJVRkZFUl9CWVRFU19NQVggLyAyLAogCS5wZXJpb2RzX21pbiA9IDIsCi0JLnBlcmlvZHNfbWF4ID0gMjA0OCwKKwkucGVyaW9kc19tYXggPSBCVUZGRVJfQllURVNfTUFYIC8gUEVSSU9EX0JZVEVTX01JTiwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSAqY29uc3Qgb3h5Z2VuX2hhcmR3YXJlW1BDTV9DT1VOVF0gPSB7CkBAIC0xNTUsNiArMTY1LDEyIEBACiAJCWlmIChlcnIgPCAwKQogCQkJcmV0dXJuIGVycjsKIAl9CisJaWYgKGNoYW5uZWwgPT0gUENNX01VTFRJQ0gpIHsKKwkJZXJyID0gc25kX3BjbV9od19jb25zdHJhaW50X21pbm1heAorCQkJKHJ1bnRpbWUsIFNORFJWX1BDTV9IV19QQVJBTV9QRVJJT0RfVElNRSwgMCwgODE5MjAwMCk7CisJCWlmIChlcnIgPCAwKQorCQkJcmV0dXJuIGVycjsKKwl9CiAJc25kX3BjbV9zZXRfc3luYyhzdWJzdHJlYW0pOwogCWNoaXAtPnN0cmVhbXNbY2hhbm5lbF0gPSBzdWJzdHJlYW07CiAKQEAgLTUxNyw2ICs1MzMsNyBAQAogCXN3aXRjaCAoY21kKSB7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgogCQlwYXVzaW5nID0gMDsKIAkJYnJlYWs7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9QQVVTRV9QVVNIOgpAQCAtNjYzLDEyICs2ODAsMTQgQEAKIAkJCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzKHBjbS0+c3RyZWFtc1tTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLXS5zdWJzdHJlYW0sCiAJCQkJCQkgICAgICBTTkRSVl9ETUFfVFlQRV9ERVYsCiAJCQkJCQkgICAgICBzbmRfZG1hX3BjaV9kYXRhKGNoaXAtPnBjaSksCi0JCQkJCQkgICAgICA1MTIgKiAxMDI0LCAyMDQ4ICogMTAyNCk7CisJCQkJCQkgICAgICBERUZBVUxUX0JVRkZFUl9CWVRFU19NVUxUSUNILAorCQkJCQkJICAgICAgQlVGRkVSX0JZVEVTX01BWF9NVUxUSUNIKTsKIAkJaWYgKGlucykKIAkJCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzKHBjbS0+c3RyZWFtc1tTTkRSVl9QQ01fU1RSRUFNX0NBUFRVUkVdLnN1YnN0cmVhbSwKIAkJCQkJCSAgICAgIFNORFJWX0RNQV9UWVBFX0RFViwKIAkJCQkJCSAgICAgIHNuZF9kbWFfcGNpX2RhdGEoY2hpcC0+cGNpKSwKLQkJCQkJCSAgICAgIDEyOCAqIDEwMjQsIDI1NiAqIDEwMjQpOworCQkJCQkJICAgICAgREVGQVVMVF9CVUZGRVJfQllURVMsCisJCQkJCQkgICAgICBCVUZGRVJfQllURVNfTUFYKTsKIAl9CiAKIAlvdXRzID0gISEoY2hpcC0+bW9kZWwtPnBjbV9kZXZfY2ZnICYgUExBWUJBQ0tfMV9UT19TUERJRik7CkBAIC02ODgsNyArNzA3LDggQEAKIAkJc3RyY3B5KHBjbS0+bmFtZSwgIkRpZ2l0YWwiKTsKIAkJc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfcGFnZXNfZm9yX2FsbChwY20sIFNORFJWX0RNQV9UWVBFX0RFViwKIAkJCQkJCSAgICAgIHNuZF9kbWFfcGNpX2RhdGEoY2hpcC0+cGNpKSwKLQkJCQkJCSAgICAgIDEyOCAqIDEwMjQsIDI1NiAqIDEwMjQpOworCQkJCQkJICAgICAgREVGQVVMVF9CVUZGRVJfQllURVMsCisJCQkJCQkgICAgICBCVUZGRVJfQllURVNfTUFYKTsKIAl9CiAKIAlpZiAoY2hpcC0+aGFzX2FjOTdfMSkgewpAQCAtNzE4LDcgKzczOCw4IEBACiAJCXN0cmNweShwY20tPm5hbWUsIG91dHMgPyAiRnJvbnQgUGFuZWwiIDogIkFuYWxvZyAyIik7CiAJCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzX2Zvcl9hbGwocGNtLCBTTkRSVl9ETUFfVFlQRV9ERVYsCiAJCQkJCQkgICAgICBzbmRfZG1hX3BjaV9kYXRhKGNoaXAtPnBjaSksCi0JCQkJCQkgICAgICAxMjggKiAxMDI0LCAyNTYgKiAxMDI0KTsKKwkJCQkJCSAgICAgIERFRkFVTFRfQlVGRkVSX0JZVEVTLAorCQkJCQkJICAgICAgQlVGRkVSX0JZVEVTX01BWCk7CiAJfQogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi92aXJ0dW9zby5jIGIvc291bmQvcGNpL294eWdlbi92aXJ0dW9zby5jCmluZGV4IDdmODRmYTUuLjlhMmMxNmIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vdmlydHVvc28uYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL3ZpcnR1b3NvLmMKQEAgLTc5LDcgKzc5LDcgQEAKIAogTU9EVUxFX0FVVEhPUigiQ2xlbWVucyBMYWRpc2NoIDxjbGVtZW5zQGxhZGlzY2guZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkFzdXMgQVZ4MDAgZHJpdmVyIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CiBNT0RVTEVfU1VQUE9SVEVEX0RFVklDRSgie3tBc3VzLEFWMTAwfSx7QXN1cyxBVjIwMH19Iik7CiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7CkBAIC0xMzIsNiArMTMyLDkgQEAKIAl1OCBleHRfcG93ZXJfaW50X3JlZzsKIAl1OCBleHRfcG93ZXJfYml0OwogCXU4IGhhc19wb3dlcjsKKwl1OCBwY20xNzk2X292ZXJzYW1wbGluZzsKKwl1OCBjczQzOThfZm07CisJdTggY3M0MzYyYV9mbTsKIH07CiAKIHN0YXRpYyB2b2lkIHBjbTE3OTZfd3JpdGUoc3RydWN0IG94eWdlbiAqY2hpcCwgdW5zaWduZWQgaW50IGNvZGVjLApAQCAtMTU5LDYgKzE2MiwxNCBAQAogCW94eWdlbl93cml0ZV9pMmMoY2hpcCwgSTJDX0RFVklDRV9DUzQzNjJBLCByZWcsIHZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgeG9uYXJfZW5hYmxlX291dHB1dChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCW1zbGVlcChkYXRhLT5hbnRpX3BvcF9kZWxheSk7CisJb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOworfQorCiBzdGF0aWMgdm9pZCB4b25hcl9jb21tb25faW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKQEAgLTE3MCwzMiArMTgxLDU5IEBACiAJCWRhdGEtPmhhc19wb3dlciA9ICEhKG94eWdlbl9yZWFkOChjaGlwLCBkYXRhLT5leHRfcG93ZXJfcmVnKQogCQkJCSAgICAgJiBkYXRhLT5leHRfcG93ZXJfYml0KTsKIAl9Ci0Jb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwgR1BJT19DUzUzeDFfTV9NQVNLKTsKKwlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19DT05UUk9MLAorCQkJICBHUElPX0NTNTN4MV9NX01BU0sgfCBkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCk7CiAJb3h5Z2VuX3dyaXRlMTZfbWFza2VkKGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsCiAJCQkgICAgICBHUElPX0NTNTN4MV9NX1NJTkdMRSwgR1BJT19DUzUzeDFfTV9NQVNLKTsKIAlveHlnZW5fYWM5N19zZXRfYml0cyhjaGlwLCAwLCBDTTk3ODBfSkFDSywgQ005NzgwX0ZNSUMyTUlDKTsKLQltc2xlZXAoZGF0YS0+YW50aV9wb3BfZGVsYXkpOwotCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0NPTlRST0wsIGRhdGEtPm91dHB1dF9lbmFibGVfYml0KTsKLQlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19EQVRBLCBkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCk7CisJeG9uYXJfZW5hYmxlX291dHB1dChjaGlwKTsKK30KKworc3RhdGljIHZvaWQgdXBkYXRlX3BjbTE3OTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJdW5zaWduZWQgaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTYsIGNoaXAtPmRhY192b2x1bWVbaSAqIDJdKTsKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxNywgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMiArIDFdKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9wY20xNzk2X211dGUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKwl1OCB2YWx1ZTsKKworCXZhbHVlID0gUENNMTc5Nl9ETUZfRElTQUJMRUQgfCBQQ00xNzk2X0ZNVF8yNF9MSlVTVCB8IFBDTTE3OTZfQVRMRDsKKwlpZiAoY2hpcC0+ZGFjX211dGUpCisJCXZhbHVlIHw9IFBDTTE3OTZfTVVURTsKKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKQorCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE4LCB2YWx1ZSk7Cit9CisKK3N0YXRpYyB2b2lkIHBjbTE3OTZfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKwl1bnNpZ25lZCBpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxOSwgUENNMTc5Nl9GTFRfU0hBUlAgfCBQQ00xNzk2X0FUU18xKTsKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAyMCwgZGF0YS0+cGNtMTc5Nl9vdmVyc2FtcGxpbmcpOworCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDIxLCAwKTsKKwl9CisJdXBkYXRlX3BjbTE3OTZfbXV0ZShjaGlwKTsgLyogc2V0IEFUTEQgYmVmb3JlIEFUTC9BVFIgKi8KKwl1cGRhdGVfcGNtMTc5Nl92b2x1bWUoY2hpcCk7CiB9CiAKIHN0YXRpYyB2b2lkIHhvbmFyX2QyX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7Ci0JdW5zaWduZWQgaW50IGk7CiAKIAlkYXRhLT5hbnRpX3BvcF9kZWxheSA9IDMwMDsKIAlkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCA9IEdQSU9fRDJfT1VUUFVUX0VOQUJMRTsKKwlkYXRhLT5wY20xNzk2X292ZXJzYW1wbGluZyA9IFBDTTE3OTZfT1NfNjQ7CiAKLQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTgsIFBDTTE3OTZfTVVURSB8IFBDTTE3OTZfRE1GX0RJU0FCTEVEIHwKLQkJCSAgICAgIFBDTTE3OTZfRk1UXzI0X0xKVVNUIHwgUENNMTc5Nl9BVExEKTsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxOSwgUENNMTc5Nl9GTFRfU0hBUlAgfCBQQ00xNzk2X0FUU18xKTsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAyMCwgUENNMTc5Nl9PU182NCk7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMjEsIDApOwotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE2LCAweDBmKTsgLyogc2V0IEFUTC9BVFIgYWZ0ZXIgQVRMRCAqLwotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE3LCAweDBmKTsKLQl9CisJcGNtMTc5Nl9pbml0KGNoaXApOwogCiAJb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwgR1BJT19EMl9BTFQpOwogCW94eWdlbl9jbGVhcl9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwgR1BJT19EMl9BTFQpOwpAQCAtMjE3LDE1MSArMjU1LDYgQEAKIAl4b25hcl9kMl9pbml0KGNoaXApOwogfQogCi1zdGF0aWMgdm9pZCB4b25hcl9keF9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0Jc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwotCi0JZGF0YS0+YW50aV9wb3BfZGVsYXkgPSA4MDA7Ci0JZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQgPSBHUElPX0RYX09VVFBVVF9FTkFCTEU7Ci0JZGF0YS0+ZXh0X3Bvd2VyX3JlZyA9IE9YWUdFTl9HUElfREFUQTsKLQlkYXRhLT5leHRfcG93ZXJfaW50X3JlZyA9IE9YWUdFTl9HUElfSU5URVJSVVBUX01BU0s7Ci0JZGF0YS0+ZXh0X3Bvd2VyX2JpdCA9IEdQSV9EWF9FWFRfUE9XRVI7Ci0KLQlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fMldJUkVfQlVTX1NUQVRVUywKLQkJICAgICAgIE9YWUdFTl8yV0lSRV9MRU5HVEhfOCB8Ci0JCSAgICAgICBPWFlHRU5fMldJUkVfSU5URVJSVVBUX01BU0sgfAotCQkgICAgICAgT1hZR0VOXzJXSVJFX1NQRUVEX0ZBU1QpOwotCi0JLyogc2V0IENQRU4gKGNvbnRyb2wgcG9ydCBtb2RlKSBhbmQgcG93ZXIgZG93biAqLwotCWNzNDM5OF93cml0ZShjaGlwLCA4LCBDUzQzOThfQ1BFTiB8IENTNDM5OF9QRE4pOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9QRE4gfCBDUzQzNjJBX0NQRU4pOwotCS8qIGNvbmZpZ3VyZSAqLwotCWNzNDM5OF93cml0ZShjaGlwLCAyLCBDUzQzOThfRk1fU0lOR0xFIHwKLQkJICAgICBDUzQzOThfREVNX05PTkUgfCBDUzQzOThfRElGX0xKVVNUKTsKLQljczQzOThfd3JpdGUoY2hpcCwgMywgQ1M0Mzk4X0FUQVBJX0JfUiB8IENTNDM5OF9BVEFQSV9BX0wpOwotCWNzNDM5OF93cml0ZShjaGlwLCA0LCBDUzQzOThfTVVURVBfTE9XIHwgQ1M0Mzk4X1BBTVVURSk7Ci0JY3M0Mzk4X3dyaXRlKGNoaXAsIDUsIDB4ZmUpOwotCWNzNDM5OF93cml0ZShjaGlwLCA2LCAweGZlKTsKLQljczQzOThfd3JpdGUoY2hpcCwgNywgQ1M0Mzk4X1JNUF9ETiB8IENTNDM5OF9STVBfVVAgfAotCQkgICAgIENTNDM5OF9aRVJPX0NST1NTIHwgQ1M0Mzk4X1NPRlRfUkFNUCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDAyLCBDUzQzNjJBX0RJRl9MSlVTVCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDAzLCBDUzQzNjJBX01VVEVDXzYgfCBDUzQzNjJBX0FNVVRFIHwKLQkJICAgICAgQ1M0MzYyQV9STVBfVVAgfCBDUzQzNjJBX1pFUk9fQ1JPU1MgfCBDUzQzNjJBX1NPRlRfUkFNUCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA0LCBDUzQzNjJBX1JNUF9ETiB8IENTNDM2MkFfREVNX05PTkUpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNSwgMCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA2LCBDUzQzNjJBX0ZNX1NJTkdMRSB8Ci0JCSAgICAgIENTNDM2MkFfQVRBUElfQl9SIHwgQ1M0MzYyQV9BVEFQSV9BX0wpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNywgMHg3ZiB8IENTNDM2MkFfTVVURSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA4LCAweDdmIHwgQ1M0MzYyQV9NVVRFKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDksIENTNDM2MkFfRk1fU0lOR0xFIHwKLQkJICAgICAgQ1M0MzYyQV9BVEFQSV9CX1IgfCBDUzQzNjJBX0FUQVBJX0FfTCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDBhLCAweDdmIHwgQ1M0MzYyQV9NVVRFKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGIsIDB4N2YgfCBDUzQzNjJBX01VVEUpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwYywgQ1M0MzYyQV9GTV9TSU5HTEUgfAotCQkgICAgICBDUzQzNjJBX0FUQVBJX0JfUiB8IENTNDM2MkFfQVRBUElfQV9MKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGQsIDB4N2YgfCBDUzQzNjJBX01VVEUpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwZSwgMHg3ZiB8IENTNDM2MkFfTVVURSk7Ci0JLyogY2xlYXIgcG93ZXIgZG93biAqLwotCWNzNDM5OF93cml0ZShjaGlwLCA4LCBDUzQzOThfQ1BFTik7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDAxLCBDUzQzNjJBX0NQRU4pOwotCi0Jb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwKLQkJCSAgR1BJT19EWF9GUk9OVF9QQU5FTCB8IEdQSU9fRFhfSU5QVVRfUk9VVEUpOwotCW94eWdlbl9jbGVhcl9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwKLQkJCSAgICBHUElPX0RYX0ZST05UX1BBTkVMIHwgR1BJT19EWF9JTlBVVF9ST1VURSk7Ci0KLQl4b25hcl9jb21tb25faW5pdChjaGlwKTsKLQotCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzQzOTgiKTsKLQlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M0MzYyQSIpOwotCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzUzNjEiKTsKLX0KLQotc3RhdGljIHZvaWQgeG9uYXJfY2xlYW51cChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKLQotCW94eWdlbl9jbGVhcl9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOwotfQotCi1zdGF0aWMgdm9pZCB4b25hcl9keF9jbGVhbnVwKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0JeG9uYXJfY2xlYW51cChjaGlwKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDEsIENTNDM2MkFfUEROIHwgQ1M0MzYyQV9DUEVOKTsKLQlveHlnZW5fY2xlYXJfYml0czgoY2hpcCwgT1hZR0VOX0ZVTkNUSU9OLCBPWFlHRU5fRlVOQ1RJT05fUkVTRVRfQ09ERUMpOwotfQotCi1zdGF0aWMgdm9pZCBzZXRfcGNtMTc5Nl9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKLQkJCSAgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKLXsKLQl1bnNpZ25lZCBpbnQgaTsKLQl1OCB2YWx1ZTsKLQotCXZhbHVlID0gcGFyYW1zX3JhdGUocGFyYW1zKSA+PSA5NjAwMCA/IFBDTTE3OTZfT1NfMzIgOiBQQ00xNzk2X09TXzY0OwotCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpCi0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMjAsIHZhbHVlKTsKLX0KLQotc3RhdGljIHZvaWQgdXBkYXRlX3BjbTE3OTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTYsIGNoaXAtPmRhY192b2x1bWVbaSAqIDJdKTsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxNywgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMiArIDFdKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9wY20xNzk2X211dGUoc3RydWN0IG94eWdlbiAqY2hpcCkKLXsKLQl1bnNpZ25lZCBpbnQgaTsKLQl1OCB2YWx1ZTsKLQotCXZhbHVlID0gUENNMTc5Nl9GTVRfMjRfTEpVU1QgfCBQQ00xNzk2X0FUTEQ7Ci0JaWYgKGNoaXAtPmRhY19tdXRlKQotCQl2YWx1ZSB8PSBQQ00xNzk2X01VVEU7Ci0JZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxOCwgdmFsdWUpOwotfQotCi1zdGF0aWMgdm9pZCBzZXRfY3M1M3gxX3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAotCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCi17Ci0JdW5zaWduZWQgaW50IHZhbHVlOwotCi0JaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gNTQwMDApCi0JCXZhbHVlID0gR1BJT19DUzUzeDFfTV9TSU5HTEU7Ci0JZWxzZSBpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSAxMDgwMDApCi0JCXZhbHVlID0gR1BJT19DUzUzeDFfTV9ET1VCTEU7Ci0JZWxzZQotCQl2YWx1ZSA9IEdQSU9fQ1M1M3gxX01fUVVBRDsKLQlveHlnZW5fd3JpdGUxNl9tYXNrZWQoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwKLQkJCSAgICAgIHZhbHVlLCBHUElPX0NTNTN4MV9NX01BU0spOwotfQotCi1zdGF0aWMgdm9pZCBzZXRfY3M0M3h4X3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAotCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCi17Ci0JdTggZm1fY3M0Mzk4LCBmbV9jczQzNjJhOwotCi0JZm1fY3M0Mzk4ID0gQ1M0Mzk4X0RFTV9OT05FIHwgQ1M0Mzk4X0RJRl9MSlVTVDsKLQlmbV9jczQzNjJhID0gQ1M0MzYyQV9BVEFQSV9CX1IgfCBDUzQzNjJBX0FUQVBJX0FfTDsKLQlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSA1MDAwMCkgewotCQlmbV9jczQzOTggfD0gQ1M0Mzk4X0ZNX1NJTkdMRTsKLQkJZm1fY3M0MzYyYSB8PSBDUzQzNjJBX0ZNX1NJTkdMRTsKLQl9IGVsc2UgaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gMTAwMDAwKSB7Ci0JCWZtX2NzNDM5OCB8PSBDUzQzOThfRk1fRE9VQkxFOwotCQlmbV9jczQzNjJhIHw9IENTNDM2MkFfRk1fRE9VQkxFOwotCX0gZWxzZSB7Ci0JCWZtX2NzNDM5OCB8PSBDUzQzOThfRk1fUVVBRDsKLQkJZm1fY3M0MzYyYSB8PSBDUzQzNjJBX0ZNX1FVQUQ7Ci0JfQotCWNzNDM5OF93cml0ZShjaGlwLCAyLCBmbV9jczQzOTgpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNiwgZm1fY3M0MzYyYSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA5LCBmbV9jczQzNjJhKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGMsIGZtX2NzNDM2MmEpOwotfQotCiBzdGF0aWMgdm9pZCB1cGRhdGVfY3M0MzYyYV92b2x1bWVzKHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJdTggbXV0ZTsKQEAgLTM5Myw2ICsyODYsMTQxIEBACiAJdXBkYXRlX2NzNDM2MmFfdm9sdW1lcyhjaGlwKTsKIH0KIAorc3RhdGljIHZvaWQgY3M0M3h4X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwkvKiBzZXQgQ1BFTiAoY29udHJvbCBwb3J0IG1vZGUpIGFuZCBwb3dlciBkb3duICovCisJY3M0Mzk4X3dyaXRlKGNoaXAsIDgsIENTNDM5OF9DUEVOIHwgQ1M0Mzk4X1BETik7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDAxLCBDUzQzNjJBX1BETiB8IENTNDM2MkFfQ1BFTik7CisJLyogY29uZmlndXJlICovCisJY3M0Mzk4X3dyaXRlKGNoaXAsIDIsIGRhdGEtPmNzNDM5OF9mbSk7CisJY3M0Mzk4X3dyaXRlKGNoaXAsIDMsIENTNDM5OF9BVEFQSV9CX1IgfCBDUzQzOThfQVRBUElfQV9MKTsKKwljczQzOThfd3JpdGUoY2hpcCwgNywgQ1M0Mzk4X1JNUF9ETiB8IENTNDM5OF9STVBfVVAgfAorCQkgICAgIENTNDM5OF9aRVJPX0NST1NTIHwgQ1M0Mzk4X1NPRlRfUkFNUCk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDAyLCBDUzQzNjJBX0RJRl9MSlVTVCk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDAzLCBDUzQzNjJBX01VVEVDXzYgfCBDUzQzNjJBX0FNVVRFIHwKKwkJICAgICAgQ1M0MzYyQV9STVBfVVAgfCBDUzQzNjJBX1pFUk9fQ1JPU1MgfCBDUzQzNjJBX1NPRlRfUkFNUCk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA0LCBDUzQzNjJBX1JNUF9ETiB8IENTNDM2MkFfREVNX05PTkUpOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNSwgMCk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA2LCBkYXRhLT5jczQzNjJhX2ZtKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDksIGRhdGEtPmNzNDM2MmFfZm0pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwYywgZGF0YS0+Y3M0MzYyYV9mbSk7CisJdXBkYXRlX2NzNDN4eF92b2x1bWUoY2hpcCk7CisJdXBkYXRlX2NzNDN4eF9tdXRlKGNoaXApOworCS8qIGNsZWFyIHBvd2VyIGRvd24gKi8KKwljczQzOThfd3JpdGUoY2hpcCwgOCwgQ1M0Mzk4X0NQRU4pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9DUEVOKTsKK30KKworc3RhdGljIHZvaWQgeG9uYXJfZHhfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCWRhdGEtPmFudGlfcG9wX2RlbGF5ID0gODAwOworCWRhdGEtPm91dHB1dF9lbmFibGVfYml0ID0gR1BJT19EWF9PVVRQVVRfRU5BQkxFOworCWRhdGEtPmV4dF9wb3dlcl9yZWcgPSBPWFlHRU5fR1BJX0RBVEE7CisJZGF0YS0+ZXh0X3Bvd2VyX2ludF9yZWcgPSBPWFlHRU5fR1BJX0lOVEVSUlVQVF9NQVNLOworCWRhdGEtPmV4dF9wb3dlcl9iaXQgPSBHUElfRFhfRVhUX1BPV0VSOworCWRhdGEtPmNzNDM5OF9mbSA9IENTNDM5OF9GTV9TSU5HTEUgfCBDUzQzOThfREVNX05PTkUgfCBDUzQzOThfRElGX0xKVVNUOworCWRhdGEtPmNzNDM2MmFfZm0gPSBDUzQzNjJBX0ZNX1NJTkdMRSB8CisJCUNTNDM2MkFfQVRBUElfQl9SIHwgQ1M0MzYyQV9BVEFQSV9BX0w7CisKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fMldJUkVfQlVTX1NUQVRVUywKKwkJICAgICAgIE9YWUdFTl8yV0lSRV9MRU5HVEhfOCB8CisJCSAgICAgICBPWFlHRU5fMldJUkVfSU5URVJSVVBUX01BU0sgfAorCQkgICAgICAgT1hZR0VOXzJXSVJFX1NQRUVEX0ZBU1QpOworCisJY3M0M3h4X2luaXQoY2hpcCk7CisKKwlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19DT05UUk9MLAorCQkJICBHUElPX0RYX0ZST05UX1BBTkVMIHwgR1BJT19EWF9JTlBVVF9ST1VURSk7CisJb3h5Z2VuX2NsZWFyX2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19EQVRBLAorCQkJICAgIEdQSU9fRFhfRlJPTlRfUEFORUwgfCBHUElPX0RYX0lOUFVUX1JPVVRFKTsKKworCXhvbmFyX2NvbW1vbl9pbml0KGNoaXApOworCisJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkNTNDM5OCIpOworCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzQzNjJBIik7CisJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkNTNTM2MSIpOworfQorCitzdGF0aWMgdm9pZCB4b25hcl9jbGVhbnVwKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJb3h5Z2VuX2NsZWFyX2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19EQVRBLCBkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCk7Cit9CisKK3N0YXRpYyB2b2lkIHhvbmFyX2R4X2NsZWFudXAoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwl4b25hcl9jbGVhbnVwKGNoaXApOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9QRE4gfCBDUzQzNjJBX0NQRU4pOworCW94eWdlbl9jbGVhcl9iaXRzOChjaGlwLCBPWFlHRU5fRlVOQ1RJT04sIE9YWUdFTl9GVU5DVElPTl9SRVNFVF9DT0RFQyk7Cit9CisKK3N0YXRpYyB2b2lkIHhvbmFyX2QyX3Jlc3VtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXBjbTE3OTZfaW5pdChjaGlwKTsKKwl4b25hcl9lbmFibGVfb3V0cHV0KGNoaXApOworfQorCitzdGF0aWMgdm9pZCB4b25hcl9keF9yZXN1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwljczQzeHhfaW5pdChjaGlwKTsKKwl4b25hcl9lbmFibGVfb3V0cHV0KGNoaXApOworfQorCitzdGF0aWMgdm9pZCBzZXRfcGNtMTc5Nl9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisJdW5zaWduZWQgaW50IGk7CisKKwlkYXRhLT5wY20xNzk2X292ZXJzYW1wbGluZyA9CisJCXBhcmFtc19yYXRlKHBhcmFtcykgPj0gOTYwMDAgPyBQQ00xNzk2X09TXzMyIDogUENNMTc5Nl9PU182NDsKKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKQorCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDIwLCBkYXRhLT5wY20xNzk2X292ZXJzYW1wbGluZyk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9jczUzeDFfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCisJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwl1bnNpZ25lZCBpbnQgdmFsdWU7CisKKwlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSA1NDAwMCkKKwkJdmFsdWUgPSBHUElPX0NTNTN4MV9NX1NJTkdMRTsKKwllbHNlIGlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDEwODAwMCkKKwkJdmFsdWUgPSBHUElPX0NTNTN4MV9NX0RPVUJMRTsKKwllbHNlCisJCXZhbHVlID0gR1BJT19DUzUzeDFfTV9RVUFEOworCW94eWdlbl93cml0ZTE2X21hc2tlZChjaGlwLCBPWFlHRU5fR1BJT19EQVRBLAorCQkJICAgICAgdmFsdWUsIEdQSU9fQ1M1M3gxX01fTUFTSyk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9jczQzeHhfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCisJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwlkYXRhLT5jczQzOThfZm0gPSBDUzQzOThfREVNX05PTkUgfCBDUzQzOThfRElGX0xKVVNUOworCWRhdGEtPmNzNDM2MmFfZm0gPSBDUzQzNjJBX0FUQVBJX0JfUiB8IENTNDM2MkFfQVRBUElfQV9MOworCWlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDUwMDAwKSB7CisJCWRhdGEtPmNzNDM5OF9mbSB8PSBDUzQzOThfRk1fU0lOR0xFOworCQlkYXRhLT5jczQzNjJhX2ZtIHw9IENTNDM2MkFfRk1fU0lOR0xFOworCX0gZWxzZSBpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSAxMDAwMDApIHsKKwkJZGF0YS0+Y3M0Mzk4X2ZtIHw9IENTNDM5OF9GTV9ET1VCTEU7CisJCWRhdGEtPmNzNDM2MmFfZm0gfD0gQ1M0MzYyQV9GTV9ET1VCTEU7CisJfSBlbHNlIHsKKwkJZGF0YS0+Y3M0Mzk4X2ZtIHw9IENTNDM5OF9GTV9RVUFEOworCQlkYXRhLT5jczQzNjJhX2ZtIHw9IENTNDM2MkFfRk1fUVVBRDsKKwl9CisJY3M0Mzk4X3dyaXRlKGNoaXAsIDIsIGRhdGEtPmNzNDM5OF9mbSk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA2LCBkYXRhLT5jczQzNjJhX2ZtKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDksIGRhdGEtPmNzNDM2MmFfZm0pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwYywgZGF0YS0+Y3M0MzYyYV9mbSk7Cit9CisKIHN0YXRpYyB2b2lkIHhvbmFyX2dwaW9fY2hhbmdlZChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKQEAgLTUzNSw2ICs1NjMsOCBAQAogCQkuY29udHJvbF9maWx0ZXIgPSB4b25hcl9kMl9jb250cm9sX2ZpbHRlciwKIAkJLm1peGVyX2luaXQgPSB4b25hcl9taXhlcl9pbml0LAogCQkuY2xlYW51cCA9IHhvbmFyX2NsZWFudXAsCisJCS5zdXNwZW5kID0geG9uYXJfY2xlYW51cCwKKwkJLnJlc3VtZSA9IHhvbmFyX2QyX3Jlc3VtZSwKIAkJLnNldF9kYWNfcGFyYW1zID0gc2V0X3BjbTE3OTZfcGFyYW1zLAogCQkuc2V0X2FkY19wYXJhbXMgPSBzZXRfY3M1M3gxX3BhcmFtcywKIAkJLnVwZGF0ZV9kYWNfdm9sdW1lID0gdXBkYXRlX3BjbTE3OTZfdm9sdW1lLApAQCAtNTYzLDYgKzU5Myw4IEBACiAJCS5jb250cm9sX2ZpbHRlciA9IHhvbmFyX2QyX2NvbnRyb2xfZmlsdGVyLAogCQkubWl4ZXJfaW5pdCA9IHhvbmFyX21peGVyX2luaXQsCiAJCS5jbGVhbnVwID0geG9uYXJfY2xlYW51cCwKKwkJLnN1c3BlbmQgPSB4b25hcl9jbGVhbnVwLAorCQkucmVzdW1lID0geG9uYXJfZDJfcmVzdW1lLAogCQkuc2V0X2RhY19wYXJhbXMgPSBzZXRfcGNtMTc5Nl9wYXJhbXMsCiAJCS5zZXRfYWRjX3BhcmFtcyA9IHNldF9jczUzeDFfcGFyYW1zLAogCQkudXBkYXRlX2RhY192b2x1bWUgPSB1cGRhdGVfcGNtMTc5Nl92b2x1bWUsCkBAIC01OTIsNiArNjI0LDggQEAKIAkJLmNvbnRyb2xfZmlsdGVyID0geG9uYXJfZHhfY29udHJvbF9maWx0ZXIsCiAJCS5taXhlcl9pbml0ID0geG9uYXJfZHhfbWl4ZXJfaW5pdCwKIAkJLmNsZWFudXAgPSB4b25hcl9keF9jbGVhbnVwLAorCQkuc3VzcGVuZCA9IHhvbmFyX2R4X2NsZWFudXAsCisJCS5yZXN1bWUgPSB4b25hcl9keF9yZXN1bWUsCiAJCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9jczQzeHhfcGFyYW1zLAogCQkuc2V0X2FkY19wYXJhbXMgPSBzZXRfY3M1M3gxX3BhcmFtcywKIAkJLnVwZGF0ZV9kYWNfdm9sdW1lID0gdXBkYXRlX2NzNDN4eF92b2x1bWUsCkBAIC02MzYsNiArNjcwLDEwIEBACiAJLmlkX3RhYmxlID0geG9uYXJfaWRzLAogCS5wcm9iZSA9IHhvbmFyX3Byb2JlLAogCS5yZW1vdmUgPSBfX2RldmV4aXRfcChveHlnZW5fcGNpX3JlbW92ZSksCisjaWZkZWYgQ09ORklHX1BNCisJLnN1c3BlbmQgPSBveHlnZW5fcGNpX3N1c3BlbmQsCisJLnJlc3VtZSA9IG94eWdlbl9wY2lfcmVzdW1lLAorI2VuZGlmCiB9OwogCiBzdGF0aWMgaW50IF9faW5pdCBhbHNhX2NhcmRfeG9uYXJfaW5pdCh2b2lkKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3BjeGhyL3BjeGhyLmMgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHIuYwppbmRleCA3ZmRjZGM4Li4yYzdlMjUzIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvcGN4aHIvcGN4aHIuYworKysgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHIuYwpAQCAtNTE2LDcgKzUxNiw3IEBACiAJaW50IGNhcHR1cmVfbWFzayA9IDA7CiAJaW50IHBsYXliYWNrX21hc2sgPSAwOwogCi0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAlzdHJ1Y3QgdGltZXZhbCBteV90djEsIG15X3R2MjsKIAlkb19nZXR0aW1lb2ZkYXkoJm15X3R2MSk7CiAjZW5kaWYKQEAgLTYyMyw3ICs2MjMsNyBAQAogCiAJbXV0ZXhfdW5sb2NrKCZtZ3ItPnNldHVwX211dGV4KTsKIAotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJZG9fZ2V0dGltZW9mZGF5KCZteV90djIpOwogCXNuZF9wcmludGRkKCIqKipUUklHR0VSIFRBU0tMRVQqKiogVElNRSA9ICVsZCAoZXJyID0gJXgpXG4iLAogCQkgICAgKGxvbmcpKG15X3R2Mi50dl91c2VjIC0gbXlfdHYxLnR2X3VzZWMpLCBlcnIpOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3BjeGhyL3BjeGhyX2NvcmUuYyBiL3NvdW5kL3BjaS9wY3hoci9wY3hocl9jb3JlLmMKaW5kZXggNzhhYTgxZi4uMDAwZTZmZSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3BjeGhyL3BjeGhyX2NvcmUuYworKysgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfY29yZS5jCkBAIC0yNjksNyArMjY5LDcgQEAKIAl1bnNpZ25lZCBpbnQgY2hpcHNjOwogCXVuc2lnbmVkIGNoYXIgZGF0YTsKIAl1bnNpZ25lZCBjaGFyIG1hc2s7Ci0JdW5zaWduZWQgY2hhciAqaW1hZ2U7CisJY29uc3QgdW5zaWduZWQgY2hhciAqaW1hZ2U7CiAKIAkvKiB0ZXN0IGZpcnN0IHhpbGlueCAqLwogCWNoaXBzYyA9IFBDWEhSX0lOUEwobWdyLCBQQ1hIUl9QTFhfQ0hJUFNDKTsKQEAgLTMxNiw3ICszMTYsNyBAQAogCWludCBlcnI7CiAJdW5zaWduZWQgaW50IGk7CiAJdW5zaWduZWQgaW50IGxlbjsKLQl1bnNpZ25lZCBjaGFyICpkYXRhOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGE7CiAJdW5zaWduZWQgY2hhciBkdW1teTsKIAkvKiBjaGVjayB0aGUgbGVuZ3RoIG9mIGJvb3QgaW1hZ2UgKi8KIAlzbmRfYXNzZXJ0KGRzcC0+c2l6ZSA+IDAsIHJldHVybiAtRUlOVkFMKTsKQEAgLTQ3Myw3ICs0NzMsNyBAQAogW0NNRF9BVURJT19MRVZFTF9BREpVU1RdID0JCXsgMHhjMjIwMDAsIDAsIFJNSF9TU0laRV9GSVhFRCB9LAogfTsKIAotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiBzdGF0aWMgY2hhciogY21kX25hbWVzW10gPSB7CiBbQ01EX1ZFUlNJT05dID0JCQkJIkNNRF9WRVJTSU9OIiwKIFtDTURfU1VQUE9SVEVEXSA9CQkJIkNNRF9TVVBQT1JURUQiLApAQCAtNTQ5LDcgKzU0OSw3IEBACiAJCQkJfQogCQkJfQogCQl9Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAkJaWYgKHJtaC0+Y21kX2lkeCA8IENNRF9MQVNUX0lOREVYKQogCQkJc25kX3ByaW50ZGQoIiAgICBzdGF0WyVkXT0leFxuIiwgaSwgZGF0YSk7CiAjZW5kaWYKQEAgLTU5Nyw3ICs1OTcsNyBAQAogCQlkYXRhIHw9IDB4MDA4MDAwOwkvKiBNQVNLX01PUkVfVEhBTl8xX1dPUkRfQ09NTUFORCAqLwogCWVsc2UKIAkJZGF0YSAmPSAweGZmN2ZmZjsJLyogTUFTS18xX1dPUkRfQ09NTUFORCAqLwotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJaWYgKHJtaC0+Y21kX2lkeCA8IENNRF9MQVNUX0lOREVYKQogCQlzbmRfcHJpbnRkZCgiTVNHIGNtZFswXT0leCAoJXMpXG4iLCBkYXRhLCBjbWRfbmFtZXNbcm1oLT5jbWRfaWR4XSk7CiAjZW5kaWYKQEAgLTYyNCw3ICs2MjQsNyBAQAogCQlmb3IgKGk9MTsgaSA8IHJtaC0+Y21kX2xlbjsgaSsrKSB7CiAJCQkvKiBzZW5kIG90aGVyIHdvcmRzICovCiAJCQlkYXRhID0gcm1oLT5jbWRbaV07Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAkJCWlmIChybWgtPmNtZF9pZHggPCBDTURfTEFTVF9JTkRFWCkKIAkJCQlzbmRfcHJpbnRkZCgiICAgIGNtZFslZF09JXhcbiIsIGksIGRhdGEpOwogI2VuZGlmCkBAIC04NDcsNyArODQ3LDcgQEAKIAlpbnQgc3RhdGUsIGksIGVycjsKIAlpbnQgYXVkaW9fbWFzazsKIAotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJc3RydWN0IHRpbWV2YWwgbXlfdHYxLCBteV90djI7CiAJZG9fZ2V0dGltZW9mZGF5KCZteV90djEpOwogI2VuZGlmCkBAIC04OTQsNyArODk0LDcgQEAKIAkJaWYgKGVycikKIAkJCXJldHVybiBlcnI7CiAJfQotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJZG9fZ2V0dGltZW9mZGF5KCZteV90djIpOwogCXNuZF9wcmludGRkKCIqKipTRVQgUElQRSBTVEFURSoqKiBUSU1FID0gJWxkIChlcnIgPSAleClcbiIsCiAJCSAgICAobG9uZykobXlfdHYyLnR2X3VzZWMgLSBteV90djEudHZfdXNlYyksIGVycik7CkBAIC05NTEsNyArOTUxLDcgQEAKIAkJCQkgIGVudW0gcGN4aHJfYXN5bmNfZXJyX3NyYyBlcnJfc3JjLCBpbnQgcGlwZSwKIAkJCQkgIGludCBpc19jYXB0dXJlKQogewotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJc3RhdGljIGNoYXIqIGVycl9zcmNfbmFtZVtdID0gewogCQlbUENYSFJfRVJSX1BJUEVdCT0gIlBpcGUiLAogCQlbUENYSFJfRVJSX1NUUkVBTV0JPSAiU3RyZWFtIiwKQEAgLTExNjksNyArMTE2OSw3IEBACiAJCQkJICAgIG1nci0+ZHNwX3RpbWVfbGFzdCwgZHNwX3RpbWVfbmV3KTsKIAkJCW1nci0+ZHNwX3RpbWVfZXJyKys7CiAJCX0KLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCQlpZiAoZHNwX3RpbWVfZGlmZiA9PSAwKQogCQkJc25kX3ByaW50ZGQoIkVSUk9SIERTUCBUSU1FIE5PIERJRkYgdGltZSglZClcbiIsIGRzcF90aW1lX25ldyk7CiAJCWVsc2UgaWYgKGRzcF90aW1lX2RpZmYgPj0gKDIqUENYSFJfR1JBTlVMQVJJVFkpKQpAQCAtMTIwOCw3ICsxMjA4LDcgQEAKIAkJbWdyLT5zcmNfaXRfZHNwID0gcmVnOwogCQl0YXNrbGV0X2hpX3NjaGVkdWxlKCZtZ3ItPm1zZ190YXNrcSk7CiAJfQotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJaWYgKHJlZyAmIFBDWEhSX0ZBVEFMX0RTUF9FUlIpCiAJCXNuZF9wcmludGRkKCJGQVRBTCBEU1AgRVJST1IgOiAleFxuIiwgcmVnKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3BjeGhyL3BjeGhyX2h3ZGVwLmMgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfaHdkZXAuYwppbmRleCBlNmE0YmZiLi5kMmYwNDMyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfaHdkZXAuYworKysgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfaHdkZXAuYwpAQCAtMzk0LDcgKzM5NCw3IEBACiAJCQkgICAodW5zaWduZWQgbG9uZylmdy5zaXplKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCWlmIChjb3B5X2Zyb21fdXNlcihmdy5kYXRhLCBkc3AtPmltYWdlLCBkc3AtPmxlbmd0aCkpIHsKKwlpZiAoY29weV9mcm9tX3VzZXIoKHZvaWQgKilmdy5kYXRhLCBkc3AtPmltYWdlLCBkc3AtPmxlbmd0aCkpIHsKIAkJdmZyZWUoZncuZGF0YSk7CiAJCXJldHVybiAtRUZBVUxUOwogCX0KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9yaXB0aWRlL3JpcHRpZGUuYyBiL3NvdW5kL3BjaS9yaXB0aWRlL3JpcHRpZGUuYwppbmRleCA5NzlmN2RhLi42YTM1OTYyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvcmlwdGlkZS9yaXB0aWRlLmMKKysrIGIvc291bmQvcGNpL3JpcHRpZGUvcmlwdGlkZS5jCkBAIC02ODIsNyArNjgyLDcgQEAKIAl9LAogfTsKIAotc3RhdGljIHUzMiBhdG9oKHVuc2lnbmVkIGNoYXIgKmluLCB1bnNpZ25lZCBpbnQgbGVuKQorc3RhdGljIHUzMiBhdG9oKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluLCB1bnNpZ25lZCBpbnQgbGVuKQogewogCXUzMiBzdW0gPSAwOwogCXVuc2lnbmVkIGludCBtdWx0ID0gMTsKQEAgLTcwMiwxMiArNzAyLDEyIEBACiAJcmV0dXJuIHN1bTsKIH0KIAotc3RhdGljIGludCBzZW5kZGF0YShzdHJ1Y3QgY21kaWYgKmNpZiwgdW5zaWduZWQgY2hhciAqaW4sIHUzMiBvZmZzZXQpCitzdGF0aWMgaW50IHNlbmRkYXRhKHN0cnVjdCBjbWRpZiAqY2lmLCBjb25zdCB1bnNpZ25lZCBjaGFyICppbiwgdTMyIG9mZnNldCkKIHsKIAl1MzIgYWRkcjsKIAl1MzIgZGF0YTsKIAl1MzIgaTsKLQl1bnNpZ25lZCBjaGFyICpwOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnA7CiAKIAlpID0gYXRvaCgmaW5bMV0sIDIpOwogCWFkZHIgPSBvZmZzZXQgKyBhdG9oKCZpblszXSwgNCk7CkBAIC03MjYsMTAgKzcyNiwxMCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGxvYWRmaXJtd2FyZShzdHJ1Y3QgY21kaWYgKmNpZiwgdW5zaWduZWQgY2hhciAqaW1nLAorc3RhdGljIGludCBsb2FkZmlybXdhcmUoc3RydWN0IGNtZGlmICpjaWYsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmltZywKIAkJCXVuc2lnbmVkIGludCBzaXplKQogewotCXVuc2lnbmVkIGNoYXIgKmluOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmluOwogCXUzMiBsYWRkciwgc2FkZHIsIHQsIHZhbDsKIAlpbnQgZXJyID0gMDsKIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tYWluLmMgYi9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21haW4uYwppbmRleCBiYmNlZTJjLi5hNjliNDIwIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21haW4uYworKysgYi9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21haW4uYwpAQCAtMTU5MCw3ICsxNTkwLDEwIEBACiAJaWYgKHNwZGlmX2ZsYWcpIHsKIAkJaWYgKHRyaWRlbnQtPmRldmljZSAhPSBUUklERU5UX0RFVklDRV9JRF9TSTcwMTgpIHsKIAkJCW91dGwodHJpZGVudC0+c3BkaWZfcGNtX2JpdHMsIFRSSURfUkVHKHRyaWRlbnQsIE5YX1NQQ1NUQVRVUykpOwotCQkJb3V0Yih0cmlkZW50LT5zcGRpZl9wY21fY3RybCwgVFJJRF9SRUcodHJpZGVudCwgTlhfU1BDVFJMX1NQQ1NPICsgMykpOworCQkJdmFsID0gdHJpZGVudC0+c3BkaWZfcGNtX2N0cmw7CisJCQlpZiAoIWdvKQorCQkJCXZhbCAmPSB+KDB4MjgpOworCQkJb3V0Yih2YWwsIFRSSURfUkVHKHRyaWRlbnQsIE5YX1NQQ1RSTF9TUENTTyArIDMpKTsKIAkJfSBlbHNlIHsKIAkJCW91dGwodHJpZGVudC0+c3BkaWZfcGNtX2JpdHMsIFRSSURfUkVHKHRyaWRlbnQsIFNJX1NQRElGX0NTKSk7CiAJCQl2YWwgPSBpbmwoVFJJRF9SRUcodHJpZGVudCwgU0lfU0VSSUFMX0lOVEZfQ1RSTCkpIHwgU1BESUZfRU47CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21lbW9yeS5jIGIvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tZW1vcnkuYwppbmRleCBkZjliNDg3Li4zZmQ3ZjFiIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21lbW9yeS5jCisrKyBiL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWVtb3J5LmMKQEAgLTMxMCwxODEgKzMxMCwzIEBACiAJbXV0ZXhfdW5sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKIAlyZXR1cm4gMDsKIH0KLQotCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqIG1lbW9yeSBhbGxvY2F0aW9uIHVzaW5nIG11bHRpcGxlIHBhZ2VzIChmb3Igc3ludGgpCi0gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqIFVubGlrZSB0aGUgRE1BIGFsbG9jYXRpb24gYWJvdmUsIG5vbi1jb250aWd1b3VzIHBhZ2VzIGFyZQotICogYXNzaWduZWQgdG8gVExCLgotICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLQotLyoKLSAqLwotc3RhdGljIGludCBzeW50aF9hbGxvY19wYWdlcyhzdHJ1Y3Qgc25kX3RyaWRlbnQgKmh3LCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGspOwotc3RhdGljIGludCBzeW50aF9mcmVlX3BhZ2VzKHN0cnVjdCBzbmRfdHJpZGVudCAqaHcsIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsayk7Ci0KLS8qCi0gKiBhbGxvY2F0ZSBhIHN5bnRoIHNhbXBsZSBhcmVhCi0gKi8KLXN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKgotc25kX3RyaWRlbnRfc3ludGhfYWxsb2Moc3RydWN0IHNuZF90cmlkZW50ICpodywgdW5zaWduZWQgaW50IHNpemUpCi17Ci0Jc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrOwotCXN0cnVjdCBzbmRfdXRpbF9tZW1oZHIgKmhkciA9IGh3LT50bGIubWVtaGRyOyAKLQotCW11dGV4X2xvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCWJsayA9IF9fc25kX3V0aWxfbWVtX2FsbG9jKGhkciwgc2l6ZSk7Ci0JaWYgKGJsayA9PSBOVUxMKSB7Ci0JCW11dGV4X3VubG9jaygmaGRyLT5ibG9ja19tdXRleCk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQlpZiAoc3ludGhfYWxsb2NfcGFnZXMoaHcsIGJsaykpIHsKLQkJX19zbmRfdXRpbF9tZW1fZnJlZShoZHIsIGJsayk7Ci0JCW11dGV4X3VubG9jaygmaGRyLT5ibG9ja19tdXRleCk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQltdXRleF91bmxvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCXJldHVybiBibGs7Ci19Ci0KLUVYUE9SVF9TWU1CT0woc25kX3RyaWRlbnRfc3ludGhfYWxsb2MpOwotCi0vKgotICogZnJlZSBhIHN5bnRoIHNhbXBsZSBhcmVhCi0gKi8KLWludAotc25kX3RyaWRlbnRfc3ludGhfZnJlZShzdHJ1Y3Qgc25kX3RyaWRlbnQgKmh3LCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGspCi17Ci0Jc3RydWN0IHNuZF91dGlsX21lbWhkciAqaGRyID0gaHctPnRsYi5tZW1oZHI7IAotCi0JbXV0ZXhfbG9jaygmaGRyLT5ibG9ja19tdXRleCk7Ci0Jc3ludGhfZnJlZV9wYWdlcyhodywgYmxrKTsKLQkgX19zbmRfdXRpbF9tZW1fZnJlZShoZHIsIGJsayk7Ci0JbXV0ZXhfdW5sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKLQlyZXR1cm4gMDsKLX0KLQotRVhQT1JUX1NZTUJPTChzbmRfdHJpZGVudF9zeW50aF9mcmVlKTsKLQotLyoKLSAqIHJlc2V0IFRMQiBlbnRyeSBhbmQgZnJlZSBrZXJuZWwgcGFnZQotICovCi1zdGF0aWMgdm9pZCBjbGVhcl90bGIoc3RydWN0IHNuZF90cmlkZW50ICp0cmlkZW50LCBpbnQgcGFnZSkKLXsKLQl2b2lkICpwdHIgPSBwYWdlX3RvX3B0cih0cmlkZW50LCBwYWdlKTsKLQlkbWFfYWRkcl90IGFkZHIgPSBwYWdlX3RvX2FkZHIodHJpZGVudCwgcGFnZSk7Ci0Jc2V0X3NpbGVudF90bGIodHJpZGVudCwgcGFnZSk7Ci0JaWYgKHB0cikgewotCQlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgZG1hYjsKLQkJZG1hYi5kZXYudHlwZSA9IFNORFJWX0RNQV9UWVBFX0RFVjsKLQkJZG1hYi5kZXYuZGV2ID0gc25kX2RtYV9wY2lfZGF0YSh0cmlkZW50LT5wY2kpOwotCQlkbWFiLmFyZWEgPSBwdHI7Ci0JCWRtYWIuYWRkciA9IGFkZHI7Ci0JCWRtYWIuYnl0ZXMgPSBBTElHTl9QQUdFX1NJWkU7Ci0JCXNuZF9kbWFfZnJlZV9wYWdlcygmZG1hYik7Ci0JfQotfQotCi0vKiBjaGVjayBuZXcgYWxsb2NhdGlvbiByYW5nZSAqLwotc3RhdGljIHZvaWQgZ2V0X3NpbmdsZV9wYWdlX3JhbmdlKHN0cnVjdCBzbmRfdXRpbF9tZW1oZHIgKmhkciwKLQkJCQkgIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsaywKLQkJCQkgIGludCAqZmlyc3RfcGFnZV9yZXQsIGludCAqbGFzdF9wYWdlX3JldCkKLXsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpwOwotCXN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKnE7Ci0JaW50IGZpcnN0X3BhZ2UsIGxhc3RfcGFnZTsKLQlmaXJzdF9wYWdlID0gZmlyc3RwZyhibGspOwotCWlmICgocCA9IGJsay0+bGlzdC5wcmV2KSAhPSAmaGRyLT5ibG9jaykgewotCQlxID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrLCBsaXN0KTsKLQkJaWYgKGxhc3RwZyhxKSA9PSBmaXJzdF9wYWdlKQotCQkJZmlyc3RfcGFnZSsrOyAgLyogZmlyc3QgcGFnZSB3YXMgYWxyZWFkeSBhbGxvY2F0ZWQgKi8KLQl9Ci0JbGFzdF9wYWdlID0gbGFzdHBnKGJsayk7Ci0JaWYgKChwID0gYmxrLT5saXN0Lm5leHQpICE9ICZoZHItPmJsb2NrKSB7Ci0JCXEgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGssIGxpc3QpOwotCQlpZiAoZmlyc3RwZyhxKSA9PSBsYXN0X3BhZ2UpCi0JCQlsYXN0X3BhZ2UtLTsgLyogbGFzdCBwYWdlIHdhcyBhbHJlYWR5IGFsbG9jYXRlZCAqLwotCX0KLQkqZmlyc3RfcGFnZV9yZXQgPSBmaXJzdF9wYWdlOwotCSpsYXN0X3BhZ2VfcmV0ID0gbGFzdF9wYWdlOwotfQotCi0vKgotICogYWxsb2NhdGUga2VybmVsIHBhZ2VzIGFuZCBhc3NpZ24gdGhlbSB0byBUTEIKLSAqLwotc3RhdGljIGludCBzeW50aF9hbGxvY19wYWdlcyhzdHJ1Y3Qgc25kX3RyaWRlbnQgKmh3LCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGspCi17Ci0JaW50IHBhZ2UsIGZpcnN0X3BhZ2UsIGxhc3RfcGFnZTsKLQlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgZG1hYjsKLQotCWZpcnN0cGcoYmxrKSA9IGdldF9hbGlnbmVkX3BhZ2UoYmxrLT5vZmZzZXQpOwotCWxhc3RwZyhibGspID0gZ2V0X2FsaWduZWRfcGFnZShibGstPm9mZnNldCArIGJsay0+c2l6ZSAtIDEpOwotCWdldF9zaW5nbGVfcGFnZV9yYW5nZShody0+dGxiLm1lbWhkciwgYmxrLCAmZmlyc3RfcGFnZSwgJmxhc3RfcGFnZSk7Ci0KLQkvKiBhbGxvY2F0ZSBhIGtlcm5lbCBwYWdlIGZvciBlYWNoIFRyaWRlbnQgcGFnZSAtCi0JICogZm9ydHVuYXRlbHkgVHJpZGVudCBwYWdlIHNpemUgYW5kIGtlcm5lbCBQQUdFX1NJWkUgaXMgaWRlbnRpY2FsIQotCSAqLwotCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspIHsKLQkJaWYgKHNuZF9kbWFfYWxsb2NfcGFnZXMoU05EUlZfRE1BX1RZUEVfREVWLCBzbmRfZG1hX3BjaV9kYXRhKGh3LT5wY2kpLAotCQkJCQlBTElHTl9QQUdFX1NJWkUsICZkbWFiKSA8IDApCi0JCQlnb3RvIF9fZmFpbDsKLQkJaWYgKCEgaXNfdmFsaWRfcGFnZShkbWFiLmFkZHIpKSB7Ci0JCQlzbmRfZG1hX2ZyZWVfcGFnZXMoJmRtYWIpOwotCQkJZ290byBfX2ZhaWw7Ci0JCX0KLQkJc2V0X3RsYl9idXMoaHcsIHBhZ2UsICh1bnNpZ25lZCBsb25nKWRtYWIuYXJlYSwgZG1hYi5hZGRyKTsKLQl9Ci0JcmV0dXJuIDA7Ci0KLV9fZmFpbDoKLQkvKiByZWxlYXNlIGFsbG9jYXRlZCBwYWdlcyAqLwotCWxhc3RfcGFnZSA9IHBhZ2UgLSAxOwotCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspCi0JCWNsZWFyX3RsYihodywgcGFnZSk7Ci0KLQlyZXR1cm4gLUVOT01FTTsKLX0KLQotLyoKLSAqIGZyZWUgcGFnZXMKLSAqLwotc3RhdGljIGludCBzeW50aF9mcmVlX3BhZ2VzKHN0cnVjdCBzbmRfdHJpZGVudCAqdHJpZGVudCwgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrKQotewotCWludCBwYWdlLCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7Ci0KLQlnZXRfc2luZ2xlX3BhZ2VfcmFuZ2UodHJpZGVudC0+dGxiLm1lbWhkciwgYmxrLCAmZmlyc3RfcGFnZSwgJmxhc3RfcGFnZSk7Ci0JZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykKLQkJY2xlYXJfdGxiKHRyaWRlbnQsIHBhZ2UpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBjb3B5X2Zyb21fdXNlcihibGsgKyBvZmZzZXQsIGRhdGEsIHNpemUpCi0gKi8KLWludCBzbmRfdHJpZGVudF9zeW50aF9jb3B5X2Zyb21fdXNlcihzdHJ1Y3Qgc25kX3RyaWRlbnQgKnRyaWRlbnQsCi0JCQkJICAgICBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGssCi0JCQkJICAgICBpbnQgb2Zmc2V0LCBjb25zdCBjaGFyIF9fdXNlciAqZGF0YSwgaW50IHNpemUpCi17Ci0JaW50IHBhZ2UsIG5leHRvZnMsIGVuZF9vZmZzZXQsIHRlbXAsIHRlbXAxOwotCi0Jb2Zmc2V0ICs9IGJsay0+b2Zmc2V0OwotCWVuZF9vZmZzZXQgPSBvZmZzZXQgKyBzaXplOwotCXBhZ2UgPSBnZXRfYWxpZ25lZF9wYWdlKG9mZnNldCkgKyAxOwotCWRvIHsKLQkJbmV4dG9mcyA9IGFsaWduZWRfcGFnZV9vZmZzZXQocGFnZSk7Ci0JCXRlbXAgPSBuZXh0b2ZzIC0gb2Zmc2V0OwotCQl0ZW1wMSA9IGVuZF9vZmZzZXQgLSBvZmZzZXQ7Ci0JCWlmICh0ZW1wMSA8IHRlbXApCi0JCQl0ZW1wID0gdGVtcDE7Ci0JCWlmIChjb3B5X2Zyb21fdXNlcihvZmZzZXRfcHRyKHRyaWRlbnQsIG9mZnNldCksIGRhdGEsIHRlbXApKQotCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCW9mZnNldCA9IG5leHRvZnM7Ci0JCWRhdGEgKz0gdGVtcDsKLQkJcGFnZSsrOwotCX0gd2hpbGUgKG9mZnNldCA8IGVuZF9vZmZzZXQpOwotCXJldHVybiAwOwotfQotCi1FWFBPUlRfU1lNQk9MKHNuZF90cmlkZW50X3N5bnRoX2NvcHlfZnJvbV91c2VyKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS92aWE4Mnh4LmMgYi9zb3VuZC9wY2kvdmlhODJ4eC5jCmluZGV4IGI1ODVjYzMuLjY3ODFiZTkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS92aWE4Mnh4LmMKKysrIGIvc291bmQvcGNpL3ZpYTgyeHguYwpAQCAtMTc1Nyw2ICsxNzU3LDEyIEBACiAJCS50eXBlID0gQUM5N19UVU5FX0hQX09OTFkKIAl9LAogCXsKKwkJLnN1YnZlbmRvciA9IDB4MTAxOSwKKwkJLnN1YmRldmljZSA9IDB4MTg0MSwKKwkJLm5hbWUgPSAiRUNTIEs3VlRBMyIsCisJCS50eXBlID0gQUM5N19UVU5FX0hQX09OTFkKKwl9LAorCXsKIAkJLnN1YnZlbmRvciA9IDB4MTg0OSwKIAkJLnN1YmRldmljZSA9IDB4MzA1OSwKIAkJLm5hbWUgPSAiQVNSb2NrIEs3Vk0yIiwKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS92eDIyMi92eDIyMl9vcHMuYyBiL3NvdW5kL3BjaS92eDIyMi92eDIyMl9vcHMuYwppbmRleCBiNGJmYzFhLi42MzFmM2E2IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvdngyMjIvdngyMjJfb3BzLmMKKysrIGIvc291bmQvcGNpL3Z4MjIyL3Z4MjIyX29wcy5jCkBAIC0zNTksNyArMzU5LDcgQEAKIHsKIAl1bnNpZ25lZCBpbnQgaTsKIAl1bnNpZ25lZCBpbnQgcG9ydDsKLQl1bnNpZ25lZCBjaGFyICppbWFnZTsKKwljb25zdCB1bnNpZ25lZCBjaGFyICppbWFnZTsKIAogCS8qIFhJTElOWCByZXNldCAod2FpdCBhdCBsZWFzdCAxIG1pbGlzZWNvbmQgYmV0d2VlbiByZXNldCBvbiBhbmQgb2ZmKS4gKi8KIAl2eF9vdXRsKGNoaXAsIENOVFJMLCBWWF9DTlRSTF9SRUdJU1RFUl9WQUxVRSB8IFZYX1hJTElOWF9SRVNFVF9NQVNLKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX2ltYWdlLmggYi9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9pbWFnZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTJmMmZmLi4wMDAwMDAwCi0tLSBhL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX2ltYWdlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNTY1ICswLDAgQEAKLSNpZm5kZWYgX0hXTUNPREVfCi0jZGVmaW5lIF9IV01DT0RFXwotCi1zdGF0aWMgdTMyIERzcEluc3RbWURTWEdfRFNQTEVOR1RIIC8gNF0gPSB7Ci0JMHgwMDAwMDA4MSwgMHgwMDAwMDFhNCwgMHgwMDAwMDAwYSwgMHgwMDAwMDAyZiwKLQkweDAwMDgwMjUzLCAweDAxODAwMzE3LCAweDAwMDA0MDdiLCAweDAwMDA4NDNmLAotCTB4MDAwMTQ4M2MsIDB4MDAwMTk0M2MsIDB4MDAwNWQ4M2MsIDB4MDAwMDFjM2MsCi0JMHgwMDAwYzA3YiwgMHgwMDA1MGMzZiwgMHgwMTIxNTAzYywgMHgwMDAwMDAwMCwKLQkweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLAotCTB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsCi0JMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwKLQkweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwCi19OwotCi1zdGF0aWMgdTMyIENudHJsSW5zdFtZRFNYR19DVFJMTEVOR1RIIC8gNF0gPSB7Ci0JMHgwMDAwMDcsIDB4MjQwMDA3LCAweDBDMDAwNywgMHgxQzAwMDcsCi0JMHgwNjAwMDcsIDB4NzAwMDAyLCAweDAwMDAyMCwgMHgwMzAwNDAsCi0JMHgwMDcxMDQsIDB4MDA0Mjg2LCAweDAzMDA0MCwgMHgwMDBGMEQsCi0JMHgwMDA4MTAsIDB4MjAwNDNBLCAweDAwMDI4MiwgMHgwMDAyMEQsCi0JMHgwMDA4MTAsIDB4MjAwNDNBLCAweDAwMTI4MiwgMHgyMDBFODIsCi0JMHgwMDFBODIsIDB4MDMyRDBELCAweDAwMDgxMCwgMHgxMDA0M0EsCi0JMHgwMkQzOEQsIDB4MDAwODEwLCAweDE4MDQzQSwgMHgwMDAxMEQsCi0JMHgwMjAwMTUsIDB4MDAwMEZELCAweDAwMDAyMCwgMHgwMzg4NjAsCi0JMHgwMzkwNjAsIDB4MDM4MDYwLCAweDAzODA0MCwgMHgwMzgwNDAsCi0JMHgwMzgwNDAsIDB4MDE4MDQwLCAweDAwMEE3RCwgMHgwMzgwNDAsCi0JMHgwMzgwNDAsIDB4MDE4MDQwLCAweDIwMDQwMiwgMHgwMDA4ODIsCi0JMHgwODAwMUEsIDB4MDAwOTA0LCAweDAxNTk4NiwgMHgwMDAwMDcsCi0JMHgyNjAwMDcsIDB4MDAwMDA3LCAweDAwMDAwNywgMHgwMThBMDYsCi0JMHgwMDAwMDcsIDB4MDMwQzhELCAweDAwMDgxMCwgMHgxODA0M0EsCi0JMHgyNjAwMDcsIDB4MDAwODdELCAweDAxODA0MiwgMHgwMDE2MEEsCi0JMHgwNEEyMDYsIDB4MDAwMDA3LCAweDAwMjE4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MjFDMjA2LCAweDAwMDAwNywgMHgwMDA3RkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgwMjkzODYsCi0JMHgwMDAxOTUsIDB4MDkwRDA0LCAweDAwMDAwNywgMHgwMDA4MjAsCi0JMHgwMDAwRjUsIDB4MDAwQjdELCAweDAxRjA2MCwgMHgwMDAwRkQsCi0JMHgwMzIyMDYsIDB4MDE4MDQwLCAweDAwMEE3RCwgMHgwMzgwNDIsCi0JMHgxMzgwNEEsIDB4MTgwMDBBLCAweDAwMTgyMCwgMHgwNTkwNjAsCi0JMHgwNTg4NjAsIDB4MDE4MDQwLCAweDAwMDBGRCwgMHgwMTgwNDIsCi0JMHg3MDAwMEEsIDB4MDAwMTE1LCAweDA3MTE0NCwgMHgwMzIzODYsCi0JMHgwMzAwMDAsIDB4MDA3MDIwLCAweDAzNEEwNiwgMHgwMTgwNDAsCi0JMHgwMDM0OEQsIDB4MDAwODEwLCAweDA4MDQzQSwgMHgyMUVBMDYsCi0JMHgwMDAwMDcsIDB4MDJEMzhELCAweDAwMDgxMCwgMHgxODA0M0EsCi0JMHgwMTgyMDYsIDB4MDAwMDA3LCAweDI0MDAwNywgMHgwMDBGOEQsCi0JMHgwMDA4MTAsIDB4MDAxNjNBLCAweDAwMjQwMiwgMHgwMDVDMDIsCi0JMHgwMDI4RkQsIDB4MDAwMDIwLCAweDAxODA0MCwgMHgwODAwMEQsCi0JMHgwMDA4MTUsIDB4NTEwOTg0LCAweDAwMDAwNywgMHgwMDAwNEQsCi0JMHgwMDBFNUQsIDB4MDAwRTAyLCAweDAwNDE4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MkM4QTA2LCAweDAwMDAwNywgMHgwMDAwOEQsCi0JMHgwMDA5MjQsIDB4MDAwRjAyLCAweDAwNDU4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MkM4QTA2LCAweDAwMDAwNywgMHgwMDM4N0QsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMTAxNSwgMHgwMTA5ODQsCi0JMHgwMTgzODYsIDB4MDAwMDA3LCAweDAxQUEwNiwgMHgwMDAwMDcsCi0JMHgwMDA4RkQsIDB4MDE4MDQyLCAweDE4MDAwQSwgMHgwMDE5MDQsCi0JMHgyMTgwODYsIDB4MjgwMDA3LCAweDAwMTgxMCwgMHgyODA0M0EsCi0JMHgyODBDMDIsIDB4MDAwMDBELCAweDAwMDgxMCwgMHgyODE0M0EsCi0JMHgwODgwOEQsIDB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsCi0JMHgyMDAwMDcsIDB4MDAwMjBELCAweDE4OTkwNCwgMHgwMDAwMDcsCi0JMHgwMDQwMkQsIDB4MDAwMEJELCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDA1NUE4NiwgMHgwMDAwMDcsCi0JMHgwMDAxMDAsIDB4MDAwQTIwLCAweDAwMDQ3RCwgMHgwMTgwNDAsCi0JMHgwMTgwNDIsIDB4MjAwMDBBLCAweDAwMzAxNSwgMHgwMTIxNDQsCi0JMHgwMzQ5ODYsIDB4MDAwMDA3LCAweDAwMjEwNCwgMHgwMzQ5ODYsCi0JMHgwMDAwMDcsIDB4MDAwRjhELCAweDAwMDgxMCwgMHgyODBDM0EsCi0JMHgwMjM5NDQsIDB4MDZDOTg2LCAweDAwMDAwNywgMHgwMDE4MTAsCi0JMHgyODA0M0EsIDB4MDg4MTBELCAweDAwMDgyMCwgMHgwMDAyRkQsCi0JMHgwMTgwNDAsIDB4MjAwMDA3LCAweDAwMjgxMCwgMHg3ODAwM0EsCi0JMHgwMDY4OEQsIDB4MDAwODEwLCAweDA4MDQzQSwgMHgyODhBMDYsCi0JMHgwMDAwMDcsIDB4MDA0MDBELCAweDAwMTAxNSwgMHgxODk5MDQsCi0JMHgyOTI5MDQsIDB4MzkzOTA0LCAweDAwMDAwNywgMHgwNjAyMDYsCi0JMHgwMDAwMDcsIDB4MDAwNEY1LCAweDAwMDA3RCwgMHgwMDAwMjAsCi0JMHgwMDAwOEQsIDB4MDEwODYwLCAweDAxODA0MCwgMHgwMDA0N0QsCi0JMHgwMzgwNDIsIDB4MjE4MDRBLCAweDE4MDAwQSwgMHgwMjE5NDQsCi0JMHgyMTU4ODYsIDB4MDAwMDA3LCAweDAwNDA3NSwgMHg3MUYxMDQsCi0JMHgwMDAwMDcsIDB4MDEwMDQyLCAweDI4MDAwQSwgMHgwMDI5MDQsCi0JMHgyMTIwODYsIDB4MDAwMDA3LCAweDAwM0MwRCwgMHgzMEE5MDQsCi0JMHgwMDAwMDcsIDB4MDAwNzdELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MDdEQTg2LCAweDAwMDU3RCwgMHgwMDI4MjAsCi0JMHgwM0IwNjAsIDB4MDdGMjA2LCAweDAxODA0MCwgMHgwMDMwMjAsCi0JMHgwM0E4NjAsIDB4MDE4MDQwLCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDA3RkE4NiwgMHgwMDAwMDcsCi0JMHgwMDA1N0QsIDB4MDE4MDQyLCAweDI4MDQwQSwgMHgwMDBFOEQsCi0JMHgwMDA4MTAsIDB4MjgwQzNBLCAweDAwMDAwRCwgMHgwMDA4MTAsCi0JMHgyODE0M0EsIDB4MDkwMDBELCAweDAwMDgyMCwgMHgwMDAyRkQsCi0JMHgwMTgwNDAsIDB4MjAwMDA3LCAweDAwM0RGRCwgMHgwMDAwMjAsCi0JMHgwMTgwNDAsIDB4MDAxMDdELCAweDAwOEQ4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4Mjg4QTA2LCAweDAwMDAwNywgMHgwMDA4MTUsCi0JMHgwODAwMUEsIDB4MDEwOTg0LCAweDA5NTE4NiwgMHgwMDEzN0QsCi0JMHgyMDA1MDAsIDB4MjgwRjIwLCAweDMzOEY2MCwgMHgzQjhGNjAsCi0JMHg0MzhGNjAsIDB4NEI4RjYwLCAweDUzOEY2MCwgMHg1QjhGNjAsCi0JMHgwMzhBNjAsIDB4MDE4MDQwLCAweDAwN0ZCRCwgMHgzODNEQzQsCi0JMHgwMDAwMDcsIDB4MDAxQTdELCAweDAwMTM3NSwgMHgwMTgwNDIsCi0JMHgwOTAwNEEsIDB4MTAwMDBBLCAweDBCOEQwNCwgMHgxMzk1MDQsCi0JMHgwMDAwMDcsIDB4MDAwODIwLCAweDAxOTA2MCwgMHgwMDExMDQsCi0JMHgyMTIwODYsIDB4MDEwMDQwLCAweDAwMTdGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDIxMjI4NiwgMHgwMDAwMDcsCi0JMHgwMDE5N0QsIDB4MDM4MDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsCi0JMHgwMDA5MjQsIDB4MDAxNjY0LCAweDAwMTFGRCwgMHgwMzgwNDIsCi0JMHgyQjgwNEEsIDB4MTk4MDRBLCAweDAwMDA4RCwgMHgyMTg5NDQsCi0JMHgwMDAwMDcsIDB4MDAyMjQ0LCAweDBBRTE4NiwgMHgwMDAwMDcsCi0JMHgwMDFBNjQsIDB4MDAyQTI0LCAweDAwMTk3RCwgMHgwODAxMDIsCi0JMHgxMDAxMjIsIDB4MDAwODIwLCAweDAzOTA2MCwgMHgwMTgwNDAsCi0JMHgwMDNERkQsIDB4MDAwMDhELCAweDAwMDgyMCwgMHgwMTgwNDAsCi0JMHgwMDEzNzUsIDB4MDAxQTdELCAweDAxMDA0MiwgMHgwOTgwNEEsCi0JMHgxMDAwMEEsIDB4MDAwMjFELCAweDAxODlFNCwgMHgyOTkyRTQsCi0JMHgzMDkxNDQsIDB4MDAwMDA3LCAweDAwMDYwRCwgMHgwMDBBMTUsCi0JMHgwMDBDMUQsIDB4MDAxMDI1LCAweDAwQTlFNCwgMHgwMTJCRTQsCi0JMHgwMDA0NjQsIDB4MDFCM0U0LCAweDAyMzJFNCwgMHgwMDA0NjQsCi0JMHgwMDA0NjQsIDB4MDAwNDY0LCAweDAwMDQ2NCwgMHgwMDA0MEQsCi0JMHgwOEIxQzQsIDB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMDBCRjUsCi0JMHgwMzAwNDAsIDB4MDAxOTdELCAweDAzODA0MiwgMHgwOTgwNEEsCi0JMHgwMDBBMjQsIDB4MDgwMDBBLCAweDA4MEU2NCwgMHgwMDAwMDcsCi0JMHgxMDAxMjIsIDB4MDAwODIwLCAweDAzMTA2MCwgMHgwMTAwNDAsCi0JMHgwMDY0QUMsIDB4MDAwMjdELCAweDAwMDAyMCwgMHgwMTgwNDAsCi0JMHgwMDEwN0QsIDB4MDE4MDQyLCAweDAwMTFGRCwgMHgzQjgwNEEsCi0JMHgwOTgwNEEsIDB4MjAwMDBBLCAweDAwMDA5NSwgMHgxQTExNDQsCi0JMHgwMEExNDQsIDB4MEQyMDg2LCAweDAwMDQwRCwgMHgwMEI5ODQsCi0JMHgwRDIxODYsIDB4MDAxOEZELCAweDAxODA0MiwgMHgwMDEwRkQsCi0JMHgwOTgwNEEsIDB4MjgwMDBBLCAweDAwMDA5NSwgMHgwMTA5MjQsCi0JMHgwMDJBNjQsIDB4MEQxMTg2LCAweDAwMDAwNywgMHgwMDI5MDQsCi0JMHgwRDIyODYsIDB4MDAwMDA3LCAweDBEMkEwNiwgMHgwODAwMDIsCi0JMHgwMDAwOEQsIDB4MDAzODdELCAweDAwMDgyMCwgMHgwMTgwNDAsCi0JMHgwMDEyN0QsIDB4MDE4MDQyLCAweDEwMDAwQSwgMHgwMDM5MDQsCi0JMHgwREQxODYsIDB4MDAwODBELCAweDdGRkZCNSwgMHgwMEI5ODQsCi0JMHgwREExODYsIDB4MDAwMDI1LCAweDBFN0EwNiwgMHgwMDAwMkQsCi0JMHgwMDAwMTUsIDB4MDAwODJELCAweDAyQzc4RCwgMHgwMDA4MjAsCi0JMHgwRUMyMDYsIDB4MDAwMDBELCAweDdGODAzNSwgMHgwMEI5ODQsCi0JMHgwRTcxODYsIDB4NDAwMDI1LCAweDAwMDA4RCwgMHgxMTA5NDQsCi0JMHgwMDAwMDcsIDB4MDAwMThELCAweDEwOTUwNCwgMHgwMDAwMDcsCi0JMHgwMDkxNjQsIDB4MDAwNDI0LCAweDAwMDQyNCwgMHgwMDA0MjQsCi0JMHgxMDAxMDIsIDB4MjgwMDAyLCAweDAyQzY4RCwgMHgwMDA4MjAsCi0JMHgwRUMyMDYsIDB4MDAwMThELCAweDAwMDQyRCwgMHgwMDAwOEQsCi0JMHgxMDk1MDQsIDB4MDAwMDA3LCAweDAwMDIwRCwgMHgxMDkxODQsCi0JMHgwMDAwMDcsIDB4MDJDNzBELCAweDAwMDgyMCwgMHgwMDAwOEQsCi0JMHgwMDM4RkQsIDB4MDE4MDQwLCAweDAwM0JGRCwgMHgwMDEwMjAsCi0JMHgwM0E4NjAsIDB4MDAwODE1LCAweDMxMzE4NCwgMHgyMTIxODQsCi0JMHgwMDAwMDcsIDB4MDNCMDYwLCAweDAzQTA2MCwgMHgwMTgwNDAsCi0JMHgwMDIyRkQsIDB4MDAwMDk1LCAweDAxMDkyNCwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MDAxMjY0LCAweDEwMDEwMiwgMHgwMDA4MjAsCi0JMHgwMzkwNjAsIDB4MDE4MDQwLCAweDAwMTkyNCwgMHgwMEZCOEQsCi0JMHgwMDM5N0QsIDB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsCi0JMHgwOTg0NEEsIDB4MDAwNjA2LCAweDA4MDQwQSwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MDAxMTdELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDBBMjQsIDB4MjgwNTAyLCAweDI4MEMwMiwgMHgwOTgwMEQsCi0JMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwgMHgyMDAwMDcsCi0JMHgwMDIyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDAwOTUsCi0JMHgyODBEQzQsIDB4MDExOTI0LCAweDAwMTk3RCwgMHgwMTgwNDIsCi0JMHgwMDExRkQsIDB4MDk4MDRBLCAweDEwMDAwQSwgMHgwMDAwQjUsCi0JMHgxMTMxNDQsIDB4MEE4RDA0LCAweDAwMDAwNywgMHgwODBBNDQsCi0JMHgxMjk1MDQsIDB4MDAwMDA3LCAweDAwMjNGRCwgMHgwMDEwMjAsCi0JMHgwMzgwNDAsIDB4MTAxMjQ0LCAweDAwMDAwNywgMHgwMDA4MjAsCi0JMHgwMzkwNjAsIDB4MDE4MDQwLCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDEwRkE4NiwgMHgwMDAwMDcsCi0JMHgwMDNCRkQsIDB4MDAwMTAwLCAweDAwMEExMCwgMHgwQjgwN0EsCi0JMHgxMzgwNEEsIDB4MDkwOTg0LCAweDAwMDAwNywgMHgwMDAwOTUsCi0JMHgwMTNEMDQsIDB4MTE4MDg2LCAweDEwMDAwQSwgMHgxMDAwMDIsCi0JMHgwOTA5ODQsIDB4MDAwMDA3LCAweDAzODA0MiwgMHgxMTgwNEEsCi0JMHgwOTBEMDQsIDB4MDAwMDA3LCAweDEwMDAwQSwgMHgwOTBEODQsCi0JMHgwMDAwMDcsIDB4MDAyNTdELCAweDAwMDgyMCwgMHgwMTgwNDAsCi0JMHgwMDAxMEQsIDB4MDAwODEwLCAweDI4MTQzQSwgMHgwMDEyN0QsCi0JMHgwMTgwNDIsIDB4MjAwMDBBLCAweDAwMTk3RCwgMHgwMTgwNDIsCi0JMHgwMDExN0QsIDB4MzE4MDRBLCAweDEwMDAwQSwgMHgwMDMxMjQsCi0JMHgwMTI4MEQsIDB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsCi0JMHgwMzgwNDIsIDB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsCi0JMHgzMDAxMDIsIDB4MDAzMTI0LCAweDAwMDQyNCwgMHgwMDA0MjQsCi0JMHgwMDEyMjQsIDB4MjgwNTAyLCAweDAwMUE0QywgMHgxMzAxODYsCi0JMHg3MDAwMDIsIDB4MDAwMDJELCAweDAzMDAwMCwgMHgwMDM4N0QsCi0JMHgwMTgwNDIsIDB4MTAwMDBBLCAweDEzMkEwNiwgMHgwMDIxMjQsCi0JMHgwMDAwQUQsIDB4MTAwMDAyLCAweDAwMDEwRCwgMHgwMDA5MjQsCi0JMHgwMDZCMjQsIDB4MDEzNjhELCAweDAwMzk3RCwgMHgwMDA4MjAsCi0JMHgwNTgwNDAsIDB4MDM4MDQyLCAweDA5ODQ0QSwgMHgwMDA2MDYsCi0JMHgwODA0MEEsIDB4MDAzMjY0LCAweDAwMDA4RCwgMHgwMDBBMjQsCi0JMHgwMDEwMjAsIDB4MDAyMjdELCAweDAxODA0MCwgMHgwMTNDMEQsCi0JMHgwMDA4MTAsIDB4MDgwNDNBLCAweDI5RDIwNiwgMHgwMDAwMDcsCi0JMHgwMDI4MjAsIDB4MDAyMDdELCAweDAxODA0MCwgMHgwMDExN0QsCi0JMHgwMzgwNDIsIDB4MTM4MDRBLCAweDMzODAwQSwgMHgwMDM4N0QsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgxNjNBODYsCi0JMHgwMDAwMDcsIDB4MDAwMDhELCAweDAzMDk2NCwgMHgwMTQ3OEQsCi0JMHgwMDM5N0QsIDB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsCi0JMHgwOTg0NEEsIDB4MDAwNjA2LCAweDA4MDQwQSwgMHgzODAxMDIsCi0JMHgwMDA0MjQsIDB4MDAwNDI0LCAweDAwMTIyNCwgMHgwMDAyRkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgxNEEyODYsCi0JMHgwMDAwMDcsIDB4MjgwNTAyLCAweDAwMUE0QywgMHgxNjM5ODYsCi0JMHgwMDAwMDcsIDB4MDMyMTY0LCAweDAwNjMyQywgMHgwMDNERkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDA5NSwgMHgwOTA5MDQsCi0JMHgwMDAwMDcsIDB4MDAwODIwLCAweDAwMUE0QywgMHgxNTYxODYsCi0JMHgwMTgwNDAsIDB4MDMwMDAwLCAweDE1N0EwNiwgMHgwMDIxMjQsCi0JMHgwMDAxMEQsIDB4MDAwOTI0LCAweDAwNkIyNCwgMHgwMTVCOEQsCi0JMHgwMDM5N0QsIDB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsCi0JMHgwOTg0NEEsIDB4MDAwNjA2LCAweDA4MDQwQSwgMHgwMDNBNjQsCi0JMHgwMDAwOTUsIDB4MDAxMjI0LCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDE1REE4NiwgMHgwMDAwMDcsCi0JMHgwMTYyOEQsIDB4MDAwODEwLCAweDA4MDQzQSwgMHgyOUQyMDYsCi0JMHgwMDAwMDcsIDB4MTREMjA2LCAweDAwMDAwNywgMHgwMDcwMjAsCi0JMHgwODAxMEEsIDB4MTAwMTJBLCAweDAwMjBGRCwgMHgwMzg4NjAsCi0JMHgwMzkwNjAsIDB4MDE4MDQwLCAweDAwMjI3RCwgMHgwMTgwNDIsCi0JMHgwMDNERkQsIDB4MDgwMDBBLCAweDMxODQ0QSwgMHgwMDA5MDQsCi0JMHgxNkQ4ODYsIDB4MTgwMDhCLCAweDAwMDA4RCwgMHgxODk5MDQsCi0JMHgwMDMxMkMsIDB4MTdBQTA2LCAweDAwMDAwNywgMHgwMDMyNEMsCi0JMHgxNzMzODYsIDB4MDAwMDA3LCAweDAwMTkwNCwgMHgxNzMwODYsCi0JMHgwMDAwMDcsIDB4MDAwMDk1LCAweDE5OTE0NCwgMHgwMDIyMkMsCi0JMHgwMDMxMjQsIDB4MDA2MzZDLCAweDAwMEUzRCwgMHgwMDEzNzUsCi0JMHgwMDBCRkQsIDB4MDEwMDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsCi0JMHgwMzhBRUMsIDB4MDM5M0VDLCAweDAwMjI0QywgMHgxN0E5ODYsCi0JMHgwMDAwMDcsIDB4MDAwMDhELCAweDE4OTkwNCwgMHgwMDIyNkMsCi0JMHgwMDMyMkMsIDB4MzAwNTBBLCAweDMwMURBQiwgMHgwMDIwODMsCi0JMHgwMDE4RkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMTg5MjQsCi0JMHgzMDA1MDIsIDB4MDAxMDgzLCAweDAwMTg3NSwgMHgwMTAwNDIsCi0JMHgxMDAwMEEsIDB4MDAwMDhELCAweDAxMDkyNCwgMHgwMDEzNzUsCi0JMHgzMzA1NDIsIDB4MzMwQ0NCLCAweDMzMkNDQiwgMHgzMzM0Q0IsCi0JMHgzMzNDQ0IsIDB4MzM0NENCLCAweDMzNENDQiwgMHgzMzU0Q0IsCi0JMHgzMDVDOEIsIDB4MDA2MDgzLCAweDAwMDJGNSwgMHgwMTAwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDE4N0E4NiwgMHgwMDAwMDcsCi0JMHgwMDFFMkQsIDB4MDAwNUZELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMjg5MjQsIDB4MjgwNTAyLCAweDAwMDYwRCwgMHgwMDA4MTAsCi0JMHgyODBDM0EsIDB4MDAwMDhELCAweDAwMDgxMCwgMHgyODE0M0EsCi0JMHgwQTgwOEQsIDB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsCi0JMHgyMjAwMDcsIDB4MDAxMjc1LCAweDAzMDA0MiwgMHgyMTAwNEEsCi0JMHgwMDAwOEQsIDB4MUEwOTQ0LCAweDAwMDAwNywgMHgwMTk4MEQsCi0JMHgwMDA4MTAsIDB4MDgwNDNBLCAweDJCMjIwNiwgMHgwMDAwMDcsCi0JMHgwMDAxRjUsIDB4MDMwMDQyLCAweDBEMDA0QSwgMHgxMDAwMEEsCi0JMHgwODkxNDQsIDB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTAwNDAsCi0JMHgwMDI1RjUsIDB4MEEzMTQ0LCAweDAwMDAwNywgMHgwMDA4MjAsCi0JMHgwMzI4NjAsIDB4MDMwMDQwLCAweDAwMjE3RCwgMHgwMzgwNDIsCi0JMHgwQjgwNEEsIDB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsCi0JMHgwMzAwNDAsIDB4MDAwMDhELCAweDAwMDEyNCwgMHgwMDAxMkMsCi0JMHgwMDBFNjQsIDB4MDAxQTY0LCAweDAwNjM2QywgMHgwODAxMEEsCi0JMHgxMDAxMkEsIDB4MDAwODIwLCAweDAzMTA2MCwgMHgwMzAwNDAsCi0JMHgwMDIwRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDIyN0QsCi0JMHgwMTgwNDIsIDB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsCi0JMHgwMzAwNDAsIDB4MDAxOTdELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDIyRkQsIDB4MDM4MDQyLCAweDEwMDAwQSwgMHgwMDA4MjAsCi0JMHgwMzEwNjAsIDB4MDMwMDQwLCAweDA5MEQwNCwgMHgwMDAwMDcsCi0JMHgwMDA4MjAsIDB4MDMwMDQwLCAweDAzODA0MiwgMHgwQjgwNEEsCi0JMHgxMDAwMEEsIDB4MDAwODIwLCAweDAzMTA2MCwgMHgwMzAwNDAsCi0JMHgwMzgwNDIsIDB4MTM4MDRBLCAweDE5ODA0QSwgMHgxMTBEMDQsCi0JMHgxOThEMDQsIDB4MDAwMDA3LCAweDA4MDAwQSwgMHgwMDEwMjAsCi0JMHgwMzE4NjAsIDB4MDMwODYwLCAweDAzMDA0MCwgMHgwMDAwOEQsCi0JMHgwQjA5NDQsIDB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTAwNDAsCi0JMHgwMDA1RjUsIDB4MDMwMDQyLCAweDA4MDAwQSwgMHgwMDA4MjAsCi0JMHgwMTAwNDAsIDB4MDAwMEY1LCAweDAxMDA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MUM2MDg2LCAweDAwMUU3NSwgMHgwMzAwNDIsCi0JMHgwMTA0NEEsIDB4MDAwQzBBLCAweDFDNzIwNiwgMHgwMDAwMDcsCi0JMHgwMDA0MDIsIDB4MDAwQzAyLCAweDAwMTc3RCwgMHgwMDFBRjUsCi0JMHgwMTgwNDIsIDB4MDMxNDRBLCAweDAzMUM0QSwgMHgwMzI0NEEsCi0JMHgwMzJDNEEsIDB4MDMzNDRBLCAweDAzM0M0QSwgMHgwMzQ0NEEsCi0JMHgwMDRDMEEsIDB4MDAwNDNELCAweDAwMTNGNSwgMHgwMDFBRkQsCi0JMHgwMzAwNDIsIDB4MEIwMDRBLCAweDFCODA0QSwgMHgxMzgwNEEsCi0JMHgyMDAwMEEsIDB4MDg5MTQ0LCAweDE5QTE0NCwgMHgwMzg5RTQsCi0JMHgwMzk5RUMsIDB4MDA1NTAyLCAweDAwNUQwQSwgMHgwMzAwNDIsCi0JMHgwQjAwNEEsIDB4MUI4MDRBLCAweDEzODA0QSwgMHgyMDAwMEEsCi0JMHgwODkxNDQsIDB4MTlBMTQ0LCAweDAzODlFNCwgMHgwMzk5RUMsCi0JMHgwMDY1MDIsIDB4MDA2RDBBLCAweDAzMDA0MiwgMHgwQjAwNEEsCi0JMHgxOTAwNEEsIDB4MkI4MDRBLCAweDEzODA0QSwgMHgyMTgwNEEsCi0JMHgzMDAwMEEsIDB4MDg5MTQ0LCAweDE5QTE0NCwgMHgyQUIxNDQsCi0JMHgwMzg5RTQsIDB4MDM5OUVDLCAweDAwNzUwMiwgMHgwMDdEMEEsCi0JMHgwM0E5RTQsIDB4MDAwNzAyLCAweDAwMTA3RCwgMHgwMDA0MTUsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAxMDlFNCwgMHgwMDBGMDIsCi0JMHgwMDJBRjUsIDB4MDAxOUZELCAweDAxMDA0MiwgMHgwOTgwNEEsCi0JMHgxMDAwMEEsIDB4MDAwOTM0LCAweDAwMTY3NCwgMHgwMDI5RjUsCi0JMHgwMTAwNDIsIDB4MTAwMDBBLCAweDAwOTE3QywgMHgwMDIwNzUsCi0JMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgxRUQyODYsCi0JMHgwMDI2RjUsIDB4MDAyN0Y1LCAweDAzMDA0MiwgMHgwOTAwNEEsCi0JMHgxMDAwMEEsIDB4MDAwQTNDLCAweDAwMTY3QywgMHgwMDFBNzUsCi0JMHgwMDBCRkQsIDB4MDEwMDQyLCAweDUxODA0QSwgMHg0ODAwMEEsCi0JMHgxNjAwMDcsIDB4MDAxMDc1LCAweDAxMDA0MiwgMHgyODJDMEEsCi0JMHgyODFEMTIsIDB4MjgyNTEyLCAweDAwMUYzMiwgMHgxRTAwMDcsCi0JMHgwRTAwMDcsIDB4MDAxOTc1LCAweDAxMDA0MiwgMHgwMDJERjUsCi0JMHgwRDAwNEEsIDB4MTAwMDBBLCAweDAwOTE0NCwgMHgxRkIyODYsCi0JMHgwMTAwNDIsIDB4MjgzNDBBLCAweDAwMEU1RCwgMHgwMDAwOEQsCi0JMHgwMDAzNzUsIDB4MDAwODIwLCAweDAxMDA0MCwgMHgwNUQyRjQsCi0JMHg1NEQxMDQsIDB4MDA3MzVDLCAweDIwNTM4NiwgMHgwMDAwMDcsCi0JMHgwQzAwMDcsIDB4MDgwMDA3LCAweDBBMDAwNywgMHgwMjA0MEQsCi0JMHgwMDA4MTAsIDB4MDgwNDNBLCAweDMzMjIwNiwgMHgwMDAwMDcsCi0JMHgyMDVBMDYsIDB4MDAwMDA3LCAweDA4MDAwNywgMHgwMDIyNzUsCi0JMHgwMTAwNDIsIDB4MjAwMDBBLCAweDAwMjEwNCwgMHgyMTIwODYsCi0JMHgwMDFFMkQsIDB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MjA5Mjg2LCAweDAwMDAwNywgMHgwMDIwMTAsCi0JMHgzMDA0M0EsIDB4MDAwNTdELCAweDAxODBDMywgMHgwODAwMEEsCi0JMHgwMjg5MjQsIDB4MjgwNTAyLCAweDI4MEMwMiwgMHgwQTgxMEQsCi0JMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwgMHgyMjAwMDcsCi0JMHgwMDA0RkQsIDB4MDE4MDQyLCAweDcwMDAwQSwgMHgwMzAwMDAsCi0JMHgwMDcwMjAsIDB4MDZGQTA2LCAweDAxODA0MCwgMHgwMjE4MEQsCi0JMHgwMDA4MTAsIDB4MDgwNDNBLCAweDJCMjIwNiwgMHgwMDAwMDcsCi0JMHgwMDAyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyMThBODYsIDB4MDAwMDA3LCAweDAxRjIwNiwgMHgwMDAwMDcsCi0JMHgwMDA4NzUsIDB4MDAwOUZELCAweDAwMDEwRCwgMHgyMjBBMDYsCi0JMHgwMDAyOTUsIDB4MDAwQjc1LCAweDAwMDk3RCwgMHgwMDAwMEQsCi0JMHgwMDA1MTUsIDB4MDEwMDQyLCAweDE4MDAwQSwgMHgwMDE5MDQsCi0JMHgyODc4ODYsIDB4MDAwNkY1LCAweDAwMTAyMCwgMHgwMTAwNDAsCi0JMHgwMDA0RjUsIDB4MDAwODIwLCAweDAxMDA0MCwgMHgwMDA3NzUsCi0JMHgwMTAwNDIsIDB4MDk4MDRBLCAweDEwMDAwQSwgMHgwMDExMjQsCi0JMHgwMDA5MDQsIDB4MjJCQTg2LCAweDAwMDgxNSwgMHgwODAxMDIsCi0JMHgxMDEyMDQsIDB4MjJEQTA2LCAweDAwMDU3NSwgMHgwODEyMDQsCi0JMHgwMDAwMDcsIDB4MTAwMTAyLCAweDAwMDU3NSwgMHgwMDA0MjUsCi0JMHgwMjExMjQsIDB4MTAwMTAyLCAweDAwMDgyMCwgMHgwMzEwNjAsCi0JMHgwMTAwNDAsIDB4MDAxOTI0LCAweDI4Nzg4NiwgMHgwMDAwOEQsCi0JMHgwMDA0NjQsIDB4MDA5RDA0LCAweDI3ODg4NiwgMHgxODAxMDIsCi0JMHgwMDA1NzUsIDB4MDEwMDQyLCAweDI4MDQwQSwgMHgwMDAxOEQsCi0JMHgwMDA5MjQsIDB4MjgwRDAyLCAweDAwMDAwRCwgMHgwMDA5MjQsCi0JMHgyODE1MDIsIDB4MTAwMDBELCAweDAwMDgyMCwgMHgwMDAyRjUsCi0JMHgwMTAwNDAsIDB4MjAwMDA3LCAweDAwMTE3NSwgMHgwMDAyRkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgyM0MyODYsCi0JMHgwMDAwMDcsIDB4MDAwMTAwLCAweDA4MEIyMCwgMHgxMzBCNjAsCi0JMHgxQjBCNjAsIDB4MDMwQTYwLCAweDAxMDA0MCwgMHgwNTAwNDIsCi0JMHgzRDAwNEEsIDB4MzUwMDRBLCAweDJEMDA0QSwgMHgyMDAwMEEsCi0JMHgwMDA2RjUsIDB4MDEwMDQyLCAweDI4MTQwQSwgMHgwMDA0RjUsCi0JMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDMxNSwgMHgwMTBEMDQsCi0JMHgyNENBODYsIDB4MDA0MDE1LCAweDAwMDA5NSwgMHgwMTBEMDQsCi0JMHgyNEI4ODYsIDB4MTAwMDIyLCAweDEwMDAyQSwgMHgyNEUyMDYsCi0JMHgwMDAwMDcsIDB4MzMzMTA0LCAweDJBQTkwNCwgMHgwMDAwMDcsCi0JMHgwMzIxMjQsIDB4MjgwNTAyLCAweDAwMTEyNCwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MDAzMjI0LCAweDAwMjkyQywgMHgwMDYzNkMsCi0JMHgyNUYzODYsIDB4MDAwMDA3LCAweDAyQjE2NCwgMHgwMDA0NjQsCi0JMHgwMDA0NjQsIDB4MDAwMDhELCAweDAwMEE2NCwgMHgyODBEMDIsCi0JMHgxMDAwOEQsIDB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsCi0JMHgyMjAwMDcsIDB4MDAwMDhELCAweDM4QjkwNCwgMHgwMDAwMDcsCi0JMHgwMzI5NkMsIDB4MzAwMTBBLCAweDAwMDJGNSwgMHgwMTAwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDI1QkE4NiwgMHgwMDAwMDcsCi0JMHgwMjMxMkMsIDB4MjgwNTBBLCAweDAwMDA4RCwgMHgwMTA5NkMsCi0JMHgyODBEMEEsIDB4MTAwMTBELCAweDAwMDgyMCwgMHgwMDAyRjUsCi0JMHgwMTAwNDAsIDB4MjIwMDA3LCAweDAwMTEyNCwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MDAzMjI0LCAweDMwMDEwMiwgMHgwMzI5NDQsCi0JMHgyNjdBODYsIDB4MDAwMDA3LCAweDMwMDAwMiwgMHgwMDA0RjUsCi0JMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDMxNSwgMHgwMTBEMDQsCi0JMHgyNkMwODYsIDB4MDAzMTI0LCAweDAwMDQ2NCwgMHgzMDAxMDIsCi0JMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyNkNBODYsIDB4MDAwMDA3LCAweDAwMzEyNCwgMHgzMDA1MDIsCi0JMHgwMDM5MjQsIDB4MzAwNTgzLCAweDAwMDg4MywgMHgwMDA1RjUsCi0JMHgwMTAwNDIsIDB4MjgwNDBBLCAweDAwMDA4RCwgMHgwMDgxMjQsCi0JMHgyODBEMDIsIDB4MDAwMDhELCAweDAwODEyNCwgMHgyODE1MDIsCi0JMHgxMDAxOEQsIDB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsCi0JMHgyMjAwMDcsIDB4MDAxMDI1LCAweDAwMDU3NSwgMHgwMzAwNDIsCi0JMHgwOTAwNEEsIDB4MTAwMDBBLCAweDBBMDkwNCwgMHgxMjExMDQsCi0JMHgwMDAwMDcsIDB4MDAxMDIwLCAweDA1MDg2MCwgMHgwNTAwNDAsCi0JMHgwMDA2RkQsIDB4MDE4MDQyLCAweDA5MDA0QSwgMHgxMDAwMEEsCi0JMHgwMDAwQTUsIDB4MEEwOTA0LCAweDEyMTEwNCwgMHgwMDAwMDcsCi0JMHgwMDA4MjAsIDB4MDE5MDYwLCAweDAxMDA0MCwgMHgwMDAyRjUsCi0JMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgyODQyODYsCi0JMHgwMDAwMDcsIDB4MjMwQTA2LCAweDAwMDAwNywgMHgwMDA2MDYsCi0JMHgwMDAwMDcsIDB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4Mjg5Mjg2LCAweDAwMDAwNywgMHgwMDAxMDAsCi0JMHgwODBCMjAsIDB4MTM4QjYwLCAweDFCOEI2MCwgMHgyMzhCNjAsCi0JMHgyQjhCNjAsIDB4MzM4QjYwLCAweDNCOEI2MCwgMHg0MzhCNjAsCi0JMHg0QjhCNjAsIDB4NTM4QjYwLCAweDVCOEI2MCwgMHg2MzhCNjAsCi0JMHg2QjhCNjAsIDB4NzM4QjYwLCAweDdCOEI2MCwgMHgwMzhGNjAsCi0JMHgwQjhGNjAsIDB4MTM4RjYwLCAweDFCOEY2MCwgMHgyMzhGNjAsCi0JMHgyQjhGNjAsIDB4MzM4RjYwLCAweDNCOEY2MCwgMHg0MzhGNjAsCi0JMHg0QjhGNjAsIDB4NTM4RjYwLCAweDVCOEY2MCwgMHg2MzhGNjAsCi0JMHg2QjhGNjAsIDB4NzM4RjYwLCAweDdCOEY2MCwgMHgwMzhBNjAsCi0JMHgwMDA2MDYsIDB4MDE4MDQwLCAweDAwMDA4RCwgMHgwMDBBNjQsCi0JMHgyODBEMDIsIDB4MDAwQTI0LCAweDAwMDI3RCwgMHgwMTgwNDIsCi0JMHgxMDAwMEEsIDB4MDAxMjI0LCAweDAwMDNGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDJBODI4NiwgMHgwMDAwMDcsCi0JMHgwMDAxOEQsIDB4MDAwQTI0LCAweDAwMDQ2NCwgMHgwMDA0NjQsCi0JMHgwODAxMDIsIDB4MDAwOTI0LCAweDAwMDQyNCwgMHgwMDA0MjQsCi0JMHgxMDAxMDIsIDB4MDIwMDBELCAweDAwOTE0NCwgMHgyQUQ5ODYsCi0JMHgwMDAwMDcsIDB4MDAwMUZELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDBBNDQsIDB4MkFCQjg2LCAweDAxODA0MiwgMHgwQTAwMEQsCi0JMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwgMHgyMDAwMDcsCi0JMHgwMDAyN0QsIDB4MDAxMDIwLCAweDAwMDYwNiwgMHgwMTgwNDAsCi0JMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyQjJBODYsIDB4MDAwMDA3LCAweDAwMDM3RCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDJCNUE4NiwgMHgwMDAwMDcsCi0JMHgwMDAwNzUsIDB4MDAyRTdELCAweDAxMDA0MiwgMHgwQjgwNEEsCi0JMHgwMDAwMjAsIDB4MDAwOTA0LCAweDAwMDY4NiwgMHgwMTAwNDAsCi0JMHgzMTg0NEEsIDB4MzAwNDhCLCAweDAwMDg4MywgMHgwMDAwOEQsCi0JMHgwMDA4MTAsIDB4MjgxNDNBLCAweDAwMDA4RCwgMHgwMDA4MTAsCi0JMHgyODBDM0EsIDB4MDAwNjc1LCAweDAxMDA0MiwgMHgwODAwMEEsCi0JMHgwMDM4MTUsIDB4MDEwOTI0LCAweDI4MDUwMiwgMHgwQjAwMEQsCi0JMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwgMHgwMDA2MDYsCi0JMHgyMjAwMDcsIDB4MDAwNDY0LCAweDAwMDQ2NCwgMHgwMDA2MDYsCi0JMHgwMDAwMDcsIDB4MDAwMTM0LCAweDAwN0Y4RCwgMHgwMDA5M0MsCi0JMHgyODFEMTIsIDB4MjgyNTEyLCAweDAwMUYzMiwgMHgwRTAwMDcsCi0JMHgwMDAxMEQsIDB4MDAwMzdELCAweDAwMDgyMCwgMHgwMTgwNDAsCi0JMHgwNUQyRjQsIDB4MDAwMDA3LCAweDA4MDAwNywgMHgwMDAzN0QsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgyRDAyODYsCi0JMHgwMDAwMDcsIDB4MDAwNjA2LCAweDAwMDAwNywgMHgwMDAwMDcsCi0JMHgwMDAwMTIsIDB4MTAwMDA3LCAweDMyMDAwNywgMHg2MDAwMDcsCi0JMHgxMDAwODAsIDB4NDgwMDFBLCAweDAwNDkwNCwgMHgyRDYxODYsCi0JMHgwMDAwMDcsIDB4MDAxMjEwLCAweDU4MDAzQSwgMHgwMDAxNDUsCi0JMHg1QzVEMDQsIDB4MDAwMDA3LCAweDAwMDA4MCwgMHg0ODAwMUEsCi0JMHgwMDQ5MDQsIDB4MkRCMTg2LCAweDAwMDAwNywgMHgwMDEyMTAsCi0JMHg1MDAwM0EsIDB4MDA1OTA0LCAweDJFMDg4NiwgMHgwMDAwNDUsCi0JMHgwMDAwQzUsIDB4N0ZGRkY1LCAweDdGRkY3RCwgMHgwN0Q1MjQsCi0JMHgwMDQyMjQsIDB4NTAwMTAyLCAweDIwMDUwMiwgMHgwMDAwODIsCi0JMHg0MDAwMUEsIDB4MDA0MTA0LCAweDJFMzk4NiwgMHgwMDAwMDcsCi0JMHgwMDM4NjUsIDB4NDAwMDFBLCAweDAwNDAyMCwgMHgwMDEwNEQsCi0JMHgwNEMxODQsIDB4MzAxQjg2LCAweDAwMDA0MCwgMHgwNDAwMDcsCi0JMHgwMDAxNjUsIDB4MDAwMTQ1LCAweDAwNDAyMCwgMHgwMDAwNDAsCi0JMHgwMDA3NjUsIDB4MDgwMDgwLCAweDQwMDAxQSwgMHgwMDQxMDQsCi0JMHgyRUM5ODYsIDB4MDAwMDA3LCAweDAwMTIxMCwgMHg0MDAwM0EsCi0JMHgwMDQxMDQsIDB4MkYyMjg2LCAweDAwMDA0RCwgMHgwMDAwQ0QsCi0JMHgwMDQ4MTAsIDB4MjAwNDNBLCAweDAwMDg4MiwgMHg0MDAwMUEsCi0JMHgwMDQxMDQsIDB4MkYzMTg2LCAweDAwMDAwNywgMHgwMDQ4MjAsCi0JMHgwMDU5MDQsIDB4MzAwODg2LCAweDAwMDA0MCwgMHgwMDA3RTUsCi0JMHgyMDA0ODAsIDB4MjgxNkEwLCAweDMyMTZFMCwgMHgzQTE2RTAsCi0JMHg0MjE2RTAsIDB4MDIxMjYwLCAweDAwMDA0MCwgMHgwMDAwMzIsCi0JMHg0MDAwNzUsIDB4MDAwMDdELCAweDA3RDU3NCwgMHgyMDA1MTIsCi0JMHgwMDAwODIsIDB4NDAwMDFBLCAweDAwNDEwNCwgMHgyRkUxODYsCi0JMHgwMDAwMDcsIDB4MDM3MjA2LCAweDY0MDAwNywgMHgwNjAwMDcsCi0JMHgwMDAwRTUsIDB4MDAwMDIwLCAweDAwMDA0MCwgMHgwMDBBNjUsCi0JMHgwMDAwMjAsIDB4MDIwMDQwLCAweDAyMDA0MCwgMHgwMDAwNDAsCi0JMHgwMDAxNjUsIDB4MDAwMDQyLCAweDcwMDAwQSwgMHgwMDcxMDQsCi0JMHgzMEEyODYsIDB4MDAwMDA3LCAweDAxODIwNiwgMHg2NDAwMDcsCi0JMHgwNTAwMDAsIDB4MDA3MDIwLCAweDAwMDA0MCwgMHgwMzcyMDYsCi0JMHg2NDAwMDcsIDB4MDAwMDA3LCAweDAwMzA2RCwgMHgwMjg4NjAsCi0JMHgwMjkwNjAsIDB4MDgwMDBBLCAweDAyODg2MCwgMHgwMDgwNDAsCi0JMHgxMDAwMTIsIDB4MDAxMDBELCAweDAwOTE4NCwgMHgzMTQxODYsCi0JMHgwMDBFMEQsIDB4MDA5MTg0LCAweDMyNTE4NiwgMHgwMDAwMDcsCi0JMHgzMDAwMDcsIDB4MDAxMDIwLCAweDAwM0I2RCwgMHgwMDgwNDAsCi0JMHgwMDAwODAsIDB4MDgwMDFBLCAweDAwMDkwNCwgMHgzMTYxODYsCi0JMHgwMDAwMDcsIDB4MDAxMjIwLCAweDAwMERFRCwgMHgwMDgwNDAsCi0JMHgwMDgwNDIsIDB4MTAwMDBBLCAweDQwMDAwRCwgMHgxMDk1NDQsCi0JMHgwMDAwMDcsIDB4MDAxMDIwLCAweDAwMERFRCwgMHgwMDgwNDAsCi0JMHgwMDgwNDIsIDB4MjAwNDBBLCAweDAwMDA4MiwgMHgwODAwMUEsCi0JMHgwMDA5MDQsIDB4MzFGMTg2LCAweDAwMDAwNywgMHgwMDNCNkQsCi0JMHgwMDgwNDIsIDB4MDgwMDBBLCAweDAwMEUxNSwgMHgwMTA5ODQsCi0JMHgzMjlCODYsIDB4NjAwMDA3LCAweDA4MDAxQSwgMHgwMDBDMTUsCi0JMHgwMTA5ODQsIDB4MzI4Mzg2LCAweDAwMDAyMCwgMHgxQTAwMDcsCi0JMHgwMDAyRUQsIDB4MDA4MDQwLCAweDYyMDAwNywgMHgwMDMwNkQsCi0JMHgwMjgwNDIsIDB4MEE4MDRBLCAweDAwMDgyMCwgMHgwQTgwNEEsCi0JMHgwMDA2MDYsIDB4MTA4MDRBLCAweDAwMDAwNywgMHgyODI1MTIsCi0JMHgwMDFGMzIsIDB4MDVEMkY0LCAweDU0RDEwNCwgMHgwMDczNUMsCi0JMHgwMDA3ODYsIDB4MDAwMDA3LCAweDBDMDAwNywgMHgwQTAwMDcsCi0JMHgxQzAwMDcsIDB4MDAzNDY1LCAweDAyMDA0MCwgMHgwMDQ4MjAsCi0JMHgwMjUwNjAsIDB4NDAwMDBBLCAweDAyNDA2MCwgMHgwMDAwNDAsCi0JMHg0NTQ5NDQsIDB4MDAwMDA3LCAweDAwNDAyMCwgMHgwMDNBRTUsCi0JMHgwMDAwNDAsIDB4MDAyOEU1LCAweDAwMDA0MiwgMHg0ODAwMEEsCi0JMHgwMDQ5MDQsIDB4Mzg2ODg2LCAweDAwMkM2NSwgMHgwMDAwNDIsCi0JMHg0MDAwMEEsIDB4MDAwMEQ1LCAweDQ1NDEwNCwgMHgwMDAwMDcsCi0JMHgwMDA2NTUsIDB4MDU0NTA0LCAweDM0RjI4NiwgMHgwMDAxRDUsCi0JMHgwNTQ1MDQsIDB4MzRGMDg2LCAweDAwMkI2NSwgMHgwMDAwNDIsCi0JMHgwMDNBRTUsIDB4NTAwMDRBLCAweDQwMDAwQSwgMHg0NUMzRDQsCi0JMHgwMDAwMDcsIDB4NDU0NTA0LCAweDAwMDAwNywgMHgwMDAwQ0QsCi0JMHg0NDQ5NDQsIDB4MDAwMDA3LCAweDQ1NDUwNCwgMHgwMDAwMDcsCi0JMHgwMDAxNEQsIDB4NTU0OTQ0LCAweDAwMDAwNywgMHgwNDUxNDQsCi0JMHgzNEU5ODYsIDB4MDAyQzY1LCAweDAwMDA0MiwgMHg0ODAwMEEsCi0JMHg0Q0QxMDQsIDB4MDAwMDA3LCAweDA0QzE0NCwgMHgzNEYzODYsCi0JMHgwMDAwMDcsIDB4MTYwMDA3LCAweDAwMkNFNSwgMHgwNDAwNDIsCi0JMHg0MDAwMEEsIDB4MDA0MDIwLCAweDAwMDA0MCwgMHgwMDI5NjUsCi0JMHgwMDAwNDIsIDB4NDAwMDBBLCAweDAwNDEwNCwgMHgzNTYwODYsCi0JMHgwMDAwMDcsIDB4MDAyNDAyLCAweDM2QTIwNiwgMHgwMDVDMDIsCi0JMHgwMDI1RTUsIDB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQyNzQsCi0JMHgwMDJBRTUsIDB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQyNzQsCi0JMHg1MDAxMTIsIDB4MDAyOUU1LCAweDAwMDA0MiwgMHg0MDAwMEEsCi0JMHgwMDQyMzQsIDB4NDU0MTA0LCAweDAwMDAwNywgMHgwMDQwMjAsCi0JMHgwMDAwNDAsIDB4MDAzRUU1LCAweDAwMDAyMCwgMHgwMDAwNDAsCi0JMHgwMDJERTUsIDB4NDAwMTUyLCAweDUwMDAwQSwgMHgwNDUxNDQsCi0JMHgzNjRBODYsIDB4MDAwMEM1LCAweDAwM0VFNSwgMHgwMDQwMjAsCi0JMHgwMDAwNDAsIDB4MDAyQkU1LCAweDAwMDA0MiwgMHg0MDAwMEEsCi0JMHg0MDQyNTQsIDB4MDAwMDA3LCAweDAwMkFFNSwgMHgwMDQwMjAsCi0JMHgwMDAwNDAsIDB4NTAwMTMyLCAweDA0MDEzNCwgMHgwMDU2NzQsCi0JMHgwMDI5RTUsIDB4MDIwMDQyLCAweDQyMDAwQSwgMHgwMDAwNDIsCi0JMHg1MDAwMEEsIDB4MDU0MTdDLCAweDAwMjhFNSwgMHgwMDAwNDIsCi0JMHg0ODAwMEEsIDB4MDAwMEM1LCAweDRDQzE0NCwgMHgzNzEwODYsCi0JMHgwMDI2RTUsIDB4MDAyN0U1LCAweDAyMDA0MiwgMHg0MDAwNEEsCi0JMHg1MDAwMEEsIDB4MDA0MjNDLCAweDAwNTY3QywgMHgwMDI4RTUsCi0JMHgwMDQ4MjAsIDB4MDAwMDQwLCAweDI4MUQxMiwgMHgyODI1MTIsCi0JMHgwMDFGNzIsIDB4MDAyOTY1LCAweDAwMDA0MiwgMHg0MDAwMEEsCi0JMHgwMDQxMDQsIDB4MzdBQTg2LCAweDBFMDAwNywgMHgxNjAwMDcsCi0JMHgxRTAwMDcsIDB4MDAzRUU1LCAweDAwMDA0MiwgMHg0MDAwMEEsCi0JMHgwMDQxMDQsIDB4MzdFODg2LCAweDAwMkQ2NSwgMHgwMDAwNDIsCi0JMHgyODM0MEEsIDB4MDAzNDY1LCAweDAyMDA0MiwgMHg0MjAwNEEsCi0JMHgwMDQwMjAsIDB4NEEwMDRBLCAweDUwMDA0QSwgMHgwNUQyRjQsCi0JMHg1NEQxMDQsIDB4MDA3MzVDLCAweDM4NTE4NiwgMHgwMDAwMDcsCi0JMHgwMDA2MDYsIDB4MDgwMDA3LCAweDBDMDAwNywgMHgwODAwMDcsCi0JMHgwQTAwMDcsIDB4MDAwMUU1LCAweDAyMDA0NSwgMHgwMDQwMjAsCi0JMHgwMDAwNjAsIDB4MDAwMzY1LCAweDAwMDA0MCwgMHgwMDJFNjUsCi0JMHgwMDFBMjAsIDB4MEExQTYwLCAweDAwMDA0MCwgMHgwMDM0NjUsCi0JMHgwMjAwNDIsIDB4NDIwMDRBLCAweDAwNDAyMCwgMHg0QTAwNEEsCi0JMHgwMDA2MDYsIDB4NTAwMDRBLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAKLX07Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyAgRFMtMUUgQ29udHJvbGxlciBJbnN0cnVjdGlvblJBTSBDb2RlCi0vLwkxOTk5LzA2LzIxCi0vLwlCdWY0NDEgc2xvdCBpcyBFbmFibGVkLgotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIDA0LzA5ICBjcmVhdAotLy8gMDQvMTIgIHN0b3AgbmlzZSBmaXgKLS8vIDA2LzIxICBXb3JraW5nT2ZmIHRpbW1pbmcKLXN0YXRpYyB1MzIgQ250cmxJbnN0MUVbWURTWEdfQ1RSTExFTkdUSCAvIDRdID0gewotCTB4MDAwMDA3LCAweDI0MDAwNywgMHgwQzAwMDcsIDB4MUMwMDA3LAotCTB4MDYwMDA3LCAweDcwMDAwMiwgMHgwMDAwMjAsIDB4MDMwMDQwLAotCTB4MDA3MTA0LCAweDAwNDI4NiwgMHgwMzAwNDAsIDB4MDAwRjBELAotCTB4MDAwODEwLCAweDIwMDQzQSwgMHgwMDAyODIsIDB4MDAwMjBELAotCTB4MDAwODEwLCAweDIwMDQzQSwgMHgwMDEyODIsIDB4MjAwRTgyLAotCTB4MDA4MDBELCAweDAwMDgxMCwgMHgyMDA0M0EsIDB4MDAxQTgyLAotCTB4MDM0NjBELCAweDAwMDgxMCwgMHgxMDA0M0EsIDB4MDJFQzBELAotCTB4MDAwODEwLCAweDE4MDQzQSwgMHgwMDAxMEQsIDB4MDIwMDE1LAotCTB4MDAwMEZELCAweDAwMDAyMCwgMHgwMzg4NjAsIDB4MDM5MDYwLAotCTB4MDM4MDYwLCAweDAzODA0MCwgMHgwMzgwNDAsIDB4MDM4MDQwLAotCTB4MDE4MDQwLCAweDAwMEE3RCwgMHgwMzgwNDAsIDB4MDM4MDQwLAotCTB4MDE4MDQwLCAweDIwMDQwMiwgMHgwMDA4ODIsIDB4MDgwMDFBLAotCTB4MDAwOTA0LCAweDAxNzE4NiwgMHgwMDAwMDcsIDB4MjYwMDA3LAotCTB4NDAwMDA3LCAweDAwMDAwNywgMHgwMzI1OEQsIDB4MDAwODEwLAotCTB4MTgwNDNBLCAweDI2MDAwNywgMHgyODQ0MDIsIDB4MDAwODdELAotCTB4MDE4MDQyLCAweDAwMTYwQSwgMHgwNUEyMDYsIDB4MDAwMDA3LAotCTB4NDQwMDA3LCAweDAwMjMwRCwgMHgwMDA4MTAsIDB4MDgwNDNBLAotCTB4MjJGQTA2LCAweDAwMDAwNywgMHgwMDA3RkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgwMkFCODYsIDB4MDAwMTk1LAotCTB4MDkwRDA0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDAwMEY1LAotCTB4MDAwQjdELCAweDAxRjA2MCwgMHgwMDAwRkQsIDB4MDMzQTA2LAotCTB4MDE4MDQwLCAweDAwMEE3RCwgMHgwMzgwNDIsIDB4MTM4MDRBLAotCTB4MTgwMDBBLCAweDAwMTgyMCwgMHgwNTkwNjAsIDB4MDU4ODYwLAotCTB4MDE4MDQwLCAweDAwMDBGRCwgMHgwMTgwNDIsIDB4NzAwMDBBLAotCTB4MDAwMTE1LCAweDA3MTE0NCwgMHgwMzNCODYsIDB4MDMwMDAwLAotCTB4MDA3MDIwLCAweDAzNjIwNiwgMHgwMTgwNDAsIDB4MDAzNjBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgyMzIyMDYsIDB4MDAwMDA3LAotCTB4MDJFQzBELCAweDAwMDgxMCwgMHgxODA0M0EsIDB4MDE5QTA2LAotCTB4MDAwMDA3LCAweDI0MDAwNywgMHgwMDBGOEQsIDB4MDAwODEwLAotCTB4MDAxNjNBLCAweDAwMjQwMiwgMHgwMDVDMDIsIDB4MDAyOEZELAotCTB4MDAwMDIwLCAweDAxODA0MCwgMHgwODAwMEQsIDB4MDAwODE1LAotCTB4NTEwOTg0LCAweDAwMDAwNywgMHgwMDAwNEQsIDB4MDAwRTVELAotCTB4MDAwRTAyLCAweDAwNDMwRCwgMHgwMDA4MTAsIDB4MDgwNDNBLAotCTB4MkUxMjA2LCAweDAwMDAwNywgMHgwMDAwOEQsIDB4MDAwOTI0LAotCTB4MDAwRjAyLCAweDAwNDcwRCwgMHgwMDA4MTAsIDB4MDgwNDNBLAotCTB4MkUxMjA2LCAweDAwMDAwNywgMHg0ODA0ODAsIDB4MDAxMjEwLAotCTB4MjgwNDNBLCAweDAwNzc4RCwgMHgwMDA4MTAsIDB4MjgwQzNBLAotCTB4MDAwNjhELCAweDAwMDgxMCwgMHgyODE0M0EsIDB4Mjg0NDAyLAotCTB4MDMyNThELCAweDAwMDgxMCwgMHgxODA0M0EsIDB4MDdGRjhELAotCTB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjYwMDA3LAotCTB4MjAwMDA3LCAweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDA1MTI4NiwgMHgwMDAwMDcsIDB4MjQwMDA3LAotCTB4MDJFQzBELCAweDAwMDgxMCwgMHgxODA0M0EsIDB4MDAzODdELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDEwMTUsIDB4MDEwOTg0LAotCTB4MDE5Qjg2LCAweDAwMDAwNywgMHgwMUIyMDYsIDB4MDAwMDA3LAotCTB4MDAwOEZELCAweDAxODA0MiwgMHgxODAwMEEsIDB4MDAxOTA0LAotCTB4MjJCODg2LCAweDI4MDAwNywgMHgwMDE4MTAsIDB4MjgwNDNBLAotCTB4MjgwQzAyLCAweDAwMDAwRCwgMHgwMDA4MTAsIDB4MjgxNDNBLAotCTB4MDg4MDhELCAweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLAotCTB4MjAwMDA3LCAweDAwMDIwRCwgMHgxODk5MDQsIDB4MDAwMDA3LAotCTB4MDA0MDJELCAweDAwMDBCRCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgwNjVBODYsIDB4MDAwMDA3LAotCTB4MDAwMTAwLCAweDAwMEEyMCwgMHgwMDA0N0QsIDB4MDE4MDQwLAotCTB4MDE4MDQyLCAweDIwMDAwQSwgMHgwMDMwMTUsIDB4MDEyMTQ0LAotCTB4MDM2MTg2LCAweDAwMDAwNywgMHgwMDIxMDQsIDB4MDM2MTg2LAotCTB4MDAwMDA3LCAweDAwMEY4RCwgMHgwMDA4MTAsIDB4MjgwQzNBLAotCTB4MDIzOTQ0LCAweDA3Qzk4NiwgMHgwMDAwMDcsIDB4MDAxODEwLAotCTB4MjgwNDNBLCAweDA4ODEwRCwgMHgwMDA4MjAsIDB4MDAwMkZELAotCTB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDI4MTAsIDB4NzgwMDNBLAotCTB4MDA3ODhELCAweDAwMDgxMCwgMHgwODA0M0EsIDB4MkExMjA2LAotCTB4MDAwMDA3LCAweDAwNDAwRCwgMHgwMDEwMTUsIDB4MTg5OTA0LAotCTB4MjkyOTA0LCAweDM5MzkwNCwgMHgwMDAwMDcsIDB4MDcwMjA2LAotCTB4MDAwMDA3LCAweDAwMDRGNSwgMHgwMDAwN0QsIDB4MDAwMDIwLAotCTB4MDAwMDhELCAweDAxMDg2MCwgMHgwMTgwNDAsIDB4MDAwNDdELAotCTB4MDM4MDQyLCAweDIxODA0QSwgMHgxODAwMEEsIDB4MDIxOTQ0LAotCTB4MjI5MDg2LCAweDAwMDAwNywgMHgwMDQwNzUsIDB4NzFGMTA0LAotCTB4MDAwMDA3LCAweDAxMDA0MiwgMHgyODAwMEEsIDB4MDAyOTA0LAotCTB4MjI1ODg2LCAweDAwMDAwNywgMHgwMDNDMEQsIDB4MzBBOTA0LAotCTB4MDAwMDA3LCAweDAwMDc3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDA4REE4NiwgMHgwMDA1N0QsIDB4MDAyODIwLAotCTB4MDNCMDYwLCAweDA4RjIwNiwgMHgwMTgwNDAsIDB4MDAzMDIwLAotCTB4MDNBODYwLCAweDAxODA0MCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgwOEZBODYsIDB4MDAwMDA3LAotCTB4MDAwNTdELCAweDAxODA0MiwgMHgyODA0MEEsIDB4MDAwRThELAotCTB4MDAwODEwLCAweDI4MEMzQSwgMHgwMDAwMEQsIDB4MDAwODEwLAotCTB4MjgxNDNBLCAweDA5MDAwRCwgMHgwMDA4MjAsIDB4MDAwMkZELAotCTB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDNERkQsIDB4MDAwMDIwLAotCTB4MDE4MDQwLCAweDAwMTA3RCwgMHgwMDlEOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJBMTIwNiwgMHgwMDAwMDcsIDB4MDAwODE1LAotCTB4MDgwMDFBLCAweDAxMDk4NCwgMHgwQTUxODYsIDB4MDAxMzdELAotCTB4MjAwNTAwLCAweDI4MEYyMCwgMHgzMzhGNjAsIDB4M0I4RjYwLAotCTB4NDM4RjYwLCAweDRCOEY2MCwgMHg1MzhGNjAsIDB4NUI4RjYwLAotCTB4MDM4QTYwLCAweDAxODA0MCwgMHgwMDEwN0QsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDIxNSwgMHgwMTA5ODQsIDB4M0E4MTg2LAotCTB4MDAwMDA3LCAweDAwN0ZCRCwgMHgzODNEQzQsIDB4MDAwMDA3LAotCTB4MDAxQTdELCAweDAwMTM3NSwgMHgwMTgwNDIsIDB4MDkwMDRBLAotCTB4MTAwMDBBLCAweDBCOEQwNCwgMHgxMzk1MDQsIDB4MDAwMDA3LAotCTB4MDAwODIwLCAweDAxOTA2MCwgMHgwMDExMDQsIDB4MjI1ODg2LAotCTB4MDEwMDQwLCAweDAwMTdGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDIyNUE4NiwgMHgwMDAwMDcsIDB4MDAxOTdELAotCTB4MDM4MDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDAwOTI0LAotCTB4MDAxNjY0LCAweDAwMTFGRCwgMHgwMzgwNDIsIDB4MkI4MDRBLAotCTB4MTk4MDRBLCAweDAwMDA4RCwgMHgyMTg5NDQsIDB4MDAwMDA3LAotCTB4MDAyMjQ0LCAweDBDMTk4NiwgMHgwMDAwMDcsIDB4MDAxQTY0LAotCTB4MDAyQTI0LCAweDAwMTk3RCwgMHgwODAxMDIsIDB4MTAwMTIyLAotCTB4MDAwODIwLCAweDAzOTA2MCwgMHgwMTgwNDAsIDB4MDAzREZELAotCTB4MDAwMDhELCAweDAwMDgyMCwgMHgwMTgwNDAsIDB4MDAxMzc1LAotCTB4MDAxQTdELCAweDAxMDA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLAotCTB4MDAwMjFELCAweDAxODlFNCwgMHgyOTkyRTQsIDB4MzA5MTQ0LAotCTB4MDAwMDA3LCAweDAwMDYwRCwgMHgwMDBBMTUsIDB4MDAwQzFELAotCTB4MDAxMDI1LCAweDAwQTlFNCwgMHgwMTJCRTQsIDB4MDAwNDY0LAotCTB4MDFCM0U0LCAweDAyMzJFNCwgMHgwMDA0NjQsIDB4MDAwNDY0LAotCTB4MDAwNDY0LCAweDAwMDQ2NCwgMHgwMDA0MEQsIDB4MDhCMUM0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMDBCRjUsIDB4MDMwMDQwLAotCTB4MDAxOTdELCAweDAzODA0MiwgMHgwOTgwNEEsIDB4MDAwQTI0LAotCTB4MDgwMDBBLCAweDA4MEU2NCwgMHgwMDAwMDcsIDB4MTAwMTIyLAotCTB4MDAwODIwLCAweDAzMTA2MCwgMHgwMTAwNDAsIDB4MDA2NEFDLAotCTB4MDAwMjdELCAweDAwMDAyMCwgMHgwMTgwNDAsIDB4MDAxMDdELAotCTB4MDE4MDQyLCAweDAwMTFGRCwgMHgzQjgwNEEsIDB4MDk4MDRBLAotCTB4MjAwMDBBLCAweDAwMDA5NSwgMHgxQTExNDQsIDB4MDBBMTQ0LAotCTB4MEU1ODg2LCAweDAwMDQwRCwgMHgwMEI5ODQsIDB4MEU1OTg2LAotCTB4MDAxOEZELCAweDAxODA0MiwgMHgwMDEwRkQsIDB4MDk4MDRBLAotCTB4MjgwMDBBLCAweDAwMDA5NSwgMHgwMTA5MjQsIDB4MDAyQTY0LAotCTB4MEU0OTg2LCAweDAwMDAwNywgMHgwMDI5MDQsIDB4MEU1QTg2LAotCTB4MDAwMDA3LCAweDBFNjIwNiwgMHgwODAwMDIsIDB4MDAwMDhELAotCTB4MDAzODdELCAweDAwMDgyMCwgMHgwMTgwNDAsIDB4MDAxMjdELAotCTB4MDE4MDQyLCAweDEwMDAwQSwgMHgwMDM5MDQsIDB4MEYwOTg2LAotCTB4MDAwODBELCAweDdGRkZCNSwgMHgwMEI5ODQsIDB4MEVEOTg2LAotCTB4MDAwMDI1LCAweDBGQjIwNiwgMHgwMDAwMkQsIDB4MDAwMDE1LAotCTB4MDAwODJELCAweDAyRTAwRCwgMHgwMDA4MjAsIDB4MEZGQTA2LAotCTB4MDAwMDBELCAweDdGODAzNSwgMHgwMEI5ODQsIDB4MEZBOTg2LAotCTB4NDAwMDI1LCAweDAwMDA4RCwgMHgxMTA5NDQsIDB4MDAwMDA3LAotCTB4MDAwMThELCAweDEwOTUwNCwgMHgwMDAwMDcsIDB4MDA5MTY0LAotCTB4MDAwNDI0LCAweDAwMDQyNCwgMHgwMDA0MjQsIDB4MTAwMTAyLAotCTB4MjgwMDAyLCAweDAyREYwRCwgMHgwMDA4MjAsIDB4MEZGQTA2LAotCTB4MDAwMThELCAweDAwMDQyRCwgMHgwMDAwOEQsIDB4MTA5NTA0LAotCTB4MDAwMDA3LCAweDAwMDIwRCwgMHgxMDkxODQsIDB4MDAwMDA3LAotCTB4MDJERjhELCAweDAwMDgyMCwgMHgwMDAwOEQsIDB4MDAzOEZELAotCTB4MDE4MDQwLCAweDAwM0JGRCwgMHgwMDEwMjAsIDB4MDNBODYwLAotCTB4MDAwODE1LCAweDMxMzE4NCwgMHgyMTIxODQsIDB4MDAwMDA3LAotCTB4MDNCMDYwLCAweDAzQTA2MCwgMHgwMTgwNDAsIDB4MDAyMkZELAotCTB4MDAwMDk1LCAweDAxMDkyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MDAxMjY0LCAweDEwMDEwMiwgMHgwMDA4MjAsIDB4MDM5MDYwLAotCTB4MDE4MDQwLCAweDAwMTkyNCwgMHgwMTBGMEQsIDB4MDAzOTdELAotCTB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsIDB4MDk4NDRBLAotCTB4MDAwNjA2LCAweDA4MDQwQSwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MDAxMTdELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwQTI0LAotCTB4MjgwNTAyLCAweDI4MEMwMiwgMHgwOTgwMEQsIDB4MDAwODIwLAotCTB4MDAwMkZELCAweDAxODA0MCwgMHgyMDAwMDcsIDB4MDAyMkZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDAwOTUsIDB4MjgwREM0LAotCTB4MDExOTI0LCAweDAwMTk3RCwgMHgwMTgwNDIsIDB4MDAxMUZELAotCTB4MDk4MDRBLCAweDEwMDAwQSwgMHgwMDAwQjUsIDB4MTEzMTQ0LAotCTB4MEE4RDA0LCAweDAwMDAwNywgMHgwODBBNDQsIDB4MTI5NTA0LAotCTB4MDAwMDA3LCAweDAwMjNGRCwgMHgwMDEwMjAsIDB4MDM4MDQwLAotCTB4MTAxMjQ0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDM5MDYwLAotCTB4MDE4MDQwLCAweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDEyMzI4NiwgMHgwMDAwMDcsIDB4MDAzQkZELAotCTB4MDAwMTAwLCAweDAwMEExMCwgMHgwQjgwN0EsIDB4MTM4MDRBLAotCTB4MDkwOTg0LCAweDAwMDAwNywgMHgwMDAwOTUsIDB4MDEzRDA0LAotCTB4MTJCODg2LCAweDEwMDAwQSwgMHgxMDAwMDIsIDB4MDkwOTg0LAotCTB4MDAwMDA3LCAweDAzODA0MiwgMHgxMTgwNEEsIDB4MDkwRDA0LAotCTB4MDAwMDA3LCAweDEwMDAwQSwgMHgwOTBEODQsIDB4MDAwMDA3LAotCTB4MDAyNTdELCAweDAwMDgyMCwgMHgwMTgwNDAsIDB4MDAwMTBELAotCTB4MDAwODEwLCAweDI4MTQzQSwgMHgwMDEyN0QsIDB4MDE4MDQyLAotCTB4MjAwMDBBLCAweDAwMTk3RCwgMHgwMTgwNDIsIDB4MDAxMTdELAotCTB4MzE4MDRBLCAweDEwMDAwQSwgMHgwMDMxMjQsIDB4MDEzQjhELAotCTB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLAotCTB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsIDB4MzAwMTAyLAotCTB4MDAzMTI0LCAweDAwMDQyNCwgMHgwMDA0MjQsIDB4MDAxMjI0LAotCTB4MjgwNTAyLCAweDAwMUE0QywgMHgxNDM5ODYsIDB4NzAwMDAyLAotCTB4MDAwMDJELCAweDAzMDAwMCwgMHgwMDM4N0QsIDB4MDE4MDQyLAotCTB4MTAwMDBBLCAweDE0NjIwNiwgMHgwMDIxMjQsIDB4MDAwMEFELAotCTB4MTAwMDAyLCAweDAwMDEwRCwgMHgwMDA5MjQsIDB4MDA2QjI0LAotCTB4MDE0QTBELCAweDAwMzk3RCwgMHgwMDA4MjAsIDB4MDU4MDQwLAotCTB4MDM4MDQyLCAweDA5ODQ0QSwgMHgwMDA2MDYsIDB4MDgwNDBBLAotCTB4MDAzMjY0LCAweDAwMDA4RCwgMHgwMDBBMjQsIDB4MDAxMDIwLAotCTB4MDAyMjdELCAweDAxODA0MCwgMHgwMTRGOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJCNUEwNiwgMHgwMDAwMDcsIDB4MDAyODIwLAotCTB4MDAyMDdELCAweDAxODA0MCwgMHgwMDExN0QsIDB4MDM4MDQyLAotCTB4MTM4MDRBLCAweDMzODAwQSwgMHgwMDM4N0QsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgxNzcyODYsIDB4MDAwMDA3LAotCTB4MDAwMDhELCAweDAzMDk2NCwgMHgwMTVCMEQsIDB4MDAzOTdELAotCTB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsIDB4MDk4NDRBLAotCTB4MDAwNjA2LCAweDA4MDQwQSwgMHgzODAxMDIsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMTIyNCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgxNURBODYsIDB4MDAwMDA3LAotCTB4MjgwNTAyLCAweDAwMUE0QywgMHgxNzcxODYsIDB4MDAwMDA3LAotCTB4MDMyMTY0LCAweDAwNjMyQywgMHgwMDNERkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDA5NSwgMHgwOTA5MDQsIDB4MDAwMDA3LAotCTB4MDAwODIwLCAweDAwMUE0QywgMHgxNjk5ODYsIDB4MDE4MDQwLAotCTB4MDMwMDAwLCAweDE2QjIwNiwgMHgwMDIxMjQsIDB4MDAwMTBELAotCTB4MDAwOTI0LCAweDAwNkIyNCwgMHgwMTZGMEQsIDB4MDAzOTdELAotCTB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsIDB4MDk4NDRBLAotCTB4MDAwNjA2LCAweDA4MDQwQSwgMHgwMDNBNjQsIDB4MDAwMDk1LAotCTB4MDAxMjI0LCAweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDE3MTI4NiwgMHgwMDAwMDcsIDB4MDE3NjBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgyQjVBMDYsIDB4MDAwMDA3LAotCTB4MTYwQTA2LCAweDAwMDAwNywgMHgwMDcwMjAsIDB4MDgwMTBBLAotCTB4MTAwMTJBLCAweDAwMjBGRCwgMHgwMzg4NjAsIDB4MDM5MDYwLAotCTB4MDE4MDQwLCAweDAwMjI3RCwgMHgwMTgwNDIsIDB4MDAzREZELAotCTB4MDgwMDBBLCAweDMxODQ0QSwgMHgwMDA5MDQsIDB4MTgxMDg2LAotCTB4MTgwMDhCLCAweDAwMDA4RCwgMHgxODk5MDQsIDB4MDAzMTJDLAotCTB4MThFMjA2LCAweDAwMDAwNywgMHgwMDMyNEMsIDB4MTg2Qjg2LAotCTB4MDAwMDA3LCAweDAwMTkwNCwgMHgxODY4ODYsIDB4MDAwMDA3LAotCTB4MDAwMDk1LCAweDE5OTE0NCwgMHgwMDIyMkMsIDB4MDAzMTI0LAotCTB4MDA2MzZDLCAweDAwMEUzRCwgMHgwMDEzNzUsIDB4MDAwQkZELAotCTB4MDEwMDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDM4QUVDLAotCTB4MDM5M0VDLCAweDAwMjI0QywgMHgxOEUxODYsIDB4MDAwMDA3LAotCTB4MDAwMDhELCAweDE4OTkwNCwgMHgwMDIyNkMsIDB4MDAzMjJDLAotCTB4MzAwNTBBLCAweDMwMURBQiwgMHgwMDIwODMsIDB4MDAxOEZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMTg5MjQsIDB4MzAwNTAyLAotCTB4MDAxMDgzLCAweDAwMTg3NSwgMHgwMTAwNDIsIDB4MTAwMDBBLAotCTB4MDAwMDhELCAweDAxMDkyNCwgMHgwMDEzNzUsIDB4MzMwNTQyLAotCTB4MzMwQ0NCLCAweDMzMkNDQiwgMHgzMzM0Q0IsIDB4MzMzQ0NCLAotCTB4MzM0NENCLCAweDMzNENDQiwgMHgzMzU0Q0IsIDB4MzA1QzhCLAotCTB4MDA2MDgzLCAweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDE5QjI4NiwgMHgwMDAwMDcsIDB4MDAxRTJELAotCTB4MDAwNUZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDI4OTI0LAotCTB4MjgwNTAyLCAweDAwMDYwRCwgMHgwMDA4MTAsIDB4MjgwQzNBLAotCTB4MDAwMDhELCAweDAwMDgxMCwgMHgyODE0M0EsIDB4MEE4MDhELAotCTB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsIDB4MjIwMDA3LAotCTB4MDAxMjc1LCAweDAzMDA0MiwgMHgyMTAwNEEsIDB4MDAwMDhELAotCTB4MUEwOTQ0LCAweDAwMDAwNywgMHgwMUFCOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJDQUEwNiwgMHgwMDAwMDcsIDB4MDAwMUY1LAotCTB4MDMwMDQyLCAweDBEMDA0QSwgMHgxMDAwMEEsIDB4MDg5MTQ0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDAyNUY1LAotCTB4MEEzMTQ0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDMyODYwLAotCTB4MDMwMDQwLCAweDAwMjE3RCwgMHgwMzgwNDIsIDB4MEI4MDRBLAotCTB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLAotCTB4MDAwMDhELCAweDAwMDEyNCwgMHgwMDAxMkMsIDB4MDAwRTY0LAotCTB4MDAxQTY0LCAweDAwNjM2QywgMHgwODAxMEEsIDB4MTAwMTJBLAotCTB4MDAwODIwLCAweDAzMTA2MCwgMHgwMzAwNDAsIDB4MDAyMEZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDIyN0QsIDB4MDE4MDQyLAotCTB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLAotCTB4MDAxOTdELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAyMkZELAotCTB4MDM4MDQyLCAweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLAotCTB4MDMwMDQwLCAweDA5MEQwNCwgMHgwMDAwMDcsIDB4MDAwODIwLAotCTB4MDMwMDQwLCAweDAzODA0MiwgMHgwQjgwNEEsIDB4MTAwMDBBLAotCTB4MDAwODIwLCAweDAzMTA2MCwgMHgwMzAwNDAsIDB4MDM4MDQyLAotCTB4MTM4MDRBLCAweDE5ODA0QSwgMHgxMTBEMDQsIDB4MTk4RDA0LAotCTB4MDAwMDA3LCAweDA4MDAwQSwgMHgwMDEwMjAsIDB4MDMxODYwLAotCTB4MDMwODYwLCAweDAzMDA0MCwgMHgwMDAwOEQsIDB4MEIwOTQ0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDAwNUY1LAotCTB4MDMwMDQyLCAweDA4MDAwQSwgMHgwMDA4MjAsIDB4MDEwMDQwLAotCTB4MDAwMEY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MUQ5ODg2LCAweDAwMUU3NSwgMHgwMzAwNDIsIDB4MDEwNDRBLAotCTB4MDAwQzBBLCAweDFEQUEwNiwgMHgwMDAwMDcsIDB4MDAwNDAyLAotCTB4MDAwQzAyLCAweDAwMTc3RCwgMHgwMDFBRjUsIDB4MDE4MDQyLAotCTB4MDMxNDRBLCAweDAzMUM0QSwgMHgwMzI0NEEsIDB4MDMyQzRBLAotCTB4MDMzNDRBLCAweDAzM0M0QSwgMHgwMzQ0NEEsIDB4MDA0QzBBLAotCTB4MDAwNDNELCAweDAwMTNGNSwgMHgwMDFBRkQsIDB4MDMwMDQyLAotCTB4MEIwMDRBLCAweDFCODA0QSwgMHgxMzgwNEEsIDB4MjAwMDBBLAotCTB4MDg5MTQ0LCAweDE5QTE0NCwgMHgwMzg5RTQsIDB4MDM5OUVDLAotCTB4MDA1NTAyLCAweDAwNUQwQSwgMHgwMzAwNDIsIDB4MEIwMDRBLAotCTB4MUI4MDRBLCAweDEzODA0QSwgMHgyMDAwMEEsIDB4MDg5MTQ0LAotCTB4MTlBMTQ0LCAweDAzODlFNCwgMHgwMzk5RUMsIDB4MDA2NTAyLAotCTB4MDA2RDBBLCAweDAzMDA0MiwgMHgwQjAwNEEsIDB4MTkwMDRBLAotCTB4MkI4MDRBLCAweDEzODA0QSwgMHgyMTgwNEEsIDB4MzAwMDBBLAotCTB4MDg5MTQ0LCAweDE5QTE0NCwgMHgyQUIxNDQsIDB4MDM4OUU0LAotCTB4MDM5OUVDLCAweDAwNzUwMiwgMHgwMDdEMEEsIDB4MDNBOUU0LAotCTB4MDAwNzAyLCAweDAwMTA3RCwgMHgwMDA0MTUsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAxMDlFNCwgMHgwMDBGMDIsIDB4MDAyQUY1LAotCTB4MDAxOUZELCAweDAxMDA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLAotCTB4MDAwOTM0LCAweDAwMTY3NCwgMHgwMDI5RjUsIDB4MDEwMDQyLAotCTB4MTAwMDBBLCAweDAwOTE3QywgMHgwMDIwNzUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyMDBBODYsIDB4MDAyNkY1LAotCTB4MDAyN0Y1LCAweDAzMDA0MiwgMHgwOTAwNEEsIDB4MTAwMDBBLAotCTB4MDAwQTNDLCAweDAwMTY3QywgMHgwMDFBNzUsIDB4MDAwQkZELAotCTB4MDEwMDQyLCAweDUxODA0QSwgMHg0ODAwMEEsIDB4MTYwMDA3LAotCTB4MDAxMDc1LCAweDAxMDA0MiwgMHgyODJDMEEsIDB4MjgxRDEyLAotCTB4MjgyNTEyLCAweDAwMUYzMiwgMHgxRTAwMDcsIDB4MEUwMDA3LAotCTB4MDAxOTc1LCAweDAxMDA0MiwgMHgwMDJERjUsIDB4MEQwMDRBLAotCTB4MTAwMDBBLCAweDAwOTE0NCwgMHgyMEVBODYsIDB4MDEwMDQyLAotCTB4MjgzNDBBLCAweDAwMEU1RCwgMHgwMDAwOEQsIDB4MDAwMzc1LAotCTB4MDAwODIwLCAweDAxMDA0MCwgMHgwNUQyRjQsIDB4NTREMTA0LAotCTB4MDA3MzVDLCAweDIxOEI4NiwgMHgwMDAwMDcsIDB4MEMwMDA3LAotCTB4MDgwMDA3LCAweDBBMDAwNywgMHgwMjE3OEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDM0QjIwNiwgMHgwMDAwMDcsIDB4MjE5MjA2LAotCTB4MDAwMDA3LCAweDA4MDAwNywgMHgwMDIyNzUsIDB4MDEwMDQyLAotCTB4MjAwMDBBLCAweDAwMjEwNCwgMHgyMjU4ODYsIDB4MDAxRTJELAotCTB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MjFDQTg2LCAweDAwMDAwNywgMHgwMDIwMTAsIDB4MzAwNDNBLAotCTB4MDAwNTdELCAweDAxODBDMywgMHgwODAwMEEsIDB4MDI4OTI0LAotCTB4MjgwNTAyLCAweDI4MEMwMiwgMHgwQTgxMEQsIDB4MDAwODIwLAotCTB4MDAwMkY1LCAweDAxMDA0MCwgMHgyMjAwMDcsIDB4MDAwNEZELAotCTB4MDE4MDQyLCAweDcwMDAwQSwgMHgwMzAwMDAsIDB4MDA3MDIwLAotCTB4MDdGQTA2LCAweDAxODA0MCwgMHgwMjJCOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJDQUEwNiwgMHgwMDAwMDcsIDB4MDAwMkZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjJDMjg2LAotCTB4MDAwMDA3LCAweDAyMDIwNiwgMHgwMDAwMDcsIDB4MDAwODc1LAotCTB4MDAwOUZELCAweDAwMDEwRCwgMHgyMzQyMDYsIDB4MDAwMjk1LAotCTB4MDAwQjc1LCAweDAwMDk3RCwgMHgwMDAwMEQsIDB4MDAwNTE1LAotCTB4MDEwMDQyLCAweDE4MDAwQSwgMHgwMDE5MDQsIDB4MkEwMDg2LAotCTB4MDAwNkY1LCAweDAwMTAyMCwgMHgwMTAwNDAsIDB4MDAwNEY1LAotCTB4MDAwODIwLCAweDAxMDA0MCwgMHgwMDA3NzUsIDB4MDEwMDQyLAotCTB4MDk4MDRBLCAweDEwMDAwQSwgMHgwMDExMjQsIDB4MDAwOTA0LAotCTB4MjNGMjg2LCAweDAwMDgxNSwgMHgwODAxMDIsIDB4MTAxMjA0LAotCTB4MjQxMjA2LCAweDAwMDU3NSwgMHgwODEyMDQsIDB4MDAwMDA3LAotCTB4MTAwMTAyLCAweDAwMDU3NSwgMHgwMDA0MjUsIDB4MDIxMTI0LAotCTB4MTAwMTAyLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDEwMDQwLAotCTB4MDAxOTI0LCAweDJBMDA4NiwgMHgwMDAwOEQsIDB4MDAwNDY0LAotCTB4MDA5RDA0LCAweDI5MTA4NiwgMHgxODAxMDIsIDB4MDAwNTc1LAotCTB4MDEwMDQyLCAweDI4MDQwQSwgMHgwMDAxOEQsIDB4MDAwOTI0LAotCTB4MjgwRDAyLCAweDAwMDAwRCwgMHgwMDA5MjQsIDB4MjgxNTAyLAotCTB4MTAwMDBELCAweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLAotCTB4MjAwMDA3LCAweDAwMTE3NSwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyNEZBODYsIDB4MDAwMDA3LAotCTB4MDAwMTAwLCAweDA4MEIyMCwgMHgxMzBCNjAsIDB4MUIwQjYwLAotCTB4MDMwQTYwLCAweDAxMDA0MCwgMHgwNTAwNDIsIDB4M0QwMDRBLAotCTB4MzUwMDRBLCAweDJEMDA0QSwgMHgyMDAwMEEsIDB4MDAwNkY1LAotCTB4MDEwMDQyLCAweDI4MTQwQSwgMHgwMDA0RjUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMDMxNSwgMHgwMTBEMDQsIDB4MjYwMjg2LAotCTB4MDA0MDE1LCAweDAwMDA5NSwgMHgwMTBEMDQsIDB4MjVGMDg2LAotCTB4MTAwMDIyLCAweDEwMDAyQSwgMHgyNjFBMDYsIDB4MDAwMDA3LAotCTB4MzMzMTA0LCAweDJBQTkwNCwgMHgwMDAwMDcsIDB4MDMyMTI0LAotCTB4MjgwNTAyLCAweDI4NDQwMiwgMHgwMDExMjQsIDB4NDAwMTAyLAotCTB4MDAwNDI0LCAweDAwMDQyNCwgMHgwMDMyMjQsIDB4MDAyOTJDLAotCTB4MDA2MzZDLCAweDI3NzM4NiwgMHgwMDAwMDcsIDB4MDJCMTY0LAotCTB4MDAwNDY0LCAweDAwMDQ2NCwgMHgwMDAwOEQsIDB4MDAwQTY0LAotCTB4MjgwRDAyLCAweDEwMDA4RCwgMHgwMDA4MjAsIDB4MDAwMkY1LAotCTB4MDEwMDQwLCAweDIyMDAwNywgMHgwMDAwOEQsIDB4MzhCOTA0LAotCTB4MDAwMDA3LCAweDAzMjk2QywgMHgzMDAxMEEsIDB4MDAwMkY1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjcwMjg2LAotCTB4MDAwMDA3LCAweDAwMjEyQywgMHgyODA1MEEsIDB4MDAzMTZDLAotCTB4MDAwNDZDLCAweDAwMDQ2QywgMHgyODQ1MEEsIDB4MDAxMTI0LAotCTB4MDA2QjY0LCAweDEwMDEwMiwgMHgwMDAwOEQsIDB4MDEwOTZDLAotCTB4MjgwRDBBLCAweDEwMDEwRCwgMHgwMDA4MjAsIDB4MDAwMkY1LAotCTB4MDEwMDQwLCAweDIyMDAwNywgMHgwMDQxMjQsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMzIyNCwgMHgzMDAxMDIsIDB4MDMyOTQ0LAotCTB4MjdGQTg2LCAweDAwMDAwNywgMHgzMDAwMDIsIDB4MDAwNEY1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDAzMTUsIDB4MDEwRDA0LAotCTB4Mjg0MDg2LCAweDAwMzEyNCwgMHgwMDA0NjQsIDB4MzAwMTAyLAotCTB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4Mjg0QTg2LCAweDAwMDAwNywgMHgyODQ0MDIsIDB4MDAzMTI0LAotCTB4MzAwNTAyLCAweDAwMzkyNCwgMHgzMDA1ODMsIDB4MDAwODgzLAotCTB4MDAwNUY1LCAweDAxMDA0MiwgMHgyODA0MEEsIDB4MDAwMDhELAotCTB4MDA4MTI0LCAweDI4MEQwMiwgMHgwMDAwOEQsIDB4MDA4MTI0LAotCTB4MjgxNTAyLCAweDEwMDE4RCwgMHgwMDA4MjAsIDB4MDAwMkY1LAotCTB4MDEwMDQwLCAweDIyMDAwNywgMHgwMDEwMjUsIDB4MDAwNTc1LAotCTB4MDMwMDQyLCAweDA5MDA0QSwgMHgxMDAwMEEsIDB4MEEwOTA0LAotCTB4MTIxMTA0LCAweDAwMDAwNywgMHgwMDEwMjAsIDB4MDUwODYwLAotCTB4MDUwMDQwLCAweDAwMDZGRCwgMHgwMTgwNDIsIDB4MDkwMDRBLAotCTB4MTAwMDBBLCAweDAwMDBBNSwgMHgwQTA5MDQsIDB4MTIxMTA0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTkwNjAsIDB4MDEwMDQwLAotCTB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MjlDQTg2LCAweDAwMDAwNywgMHgyNDQyMDYsIDB4MDAwMDA3LAotCTB4MDAwNjA2LCAweDAwMDAwNywgMHgwMDAyRjUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyQTFBODYsIDB4MDAwMDA3LAotCTB4MDAwMTAwLCAweDA4MEIyMCwgMHgxMzhCNjAsIDB4MUI4QjYwLAotCTB4MjM4QjYwLCAweDJCOEI2MCwgMHgzMzhCNjAsIDB4M0I4QjYwLAotCTB4NDM4QjYwLCAweDRCOEI2MCwgMHg1MzhCNjAsIDB4NUI4QjYwLAotCTB4NjM4QjYwLCAweDZCOEI2MCwgMHg3MzhCNjAsIDB4N0I4QjYwLAotCTB4MDM4RjYwLCAweDBCOEY2MCwgMHgxMzhGNjAsIDB4MUI4RjYwLAotCTB4MjM4RjYwLCAweDJCOEY2MCwgMHgzMzhGNjAsIDB4M0I4RjYwLAotCTB4NDM4RjYwLCAweDRCOEY2MCwgMHg1MzhGNjAsIDB4NUI4RjYwLAotCTB4NjM4RjYwLCAweDZCOEY2MCwgMHg3MzhGNjAsIDB4N0I4RjYwLAotCTB4MDM4QTYwLCAweDAwMDYwNiwgMHgwMTgwNDAsIDB4MDAwMDhELAotCTB4MDAwQTY0LCAweDI4MEQwMiwgMHgwMDBBMjQsIDB4MDAwMjdELAotCTB4MDE4MDQyLCAweDEwMDAwQSwgMHgwMDEyMjQsIDB4MDAwM0ZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MkMwQTg2LAotCTB4MDAwMDA3LCAweDAwMDE4RCwgMHgwMDBBMjQsIDB4MDAwNDY0LAotCTB4MDAwNDY0LCAweDA4MDEwMiwgMHgwMDA5MjQsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDEwMDEwMiwgMHgwMjAwMEQsIDB4MDA5MTQ0LAotCTB4MkM2MTg2LCAweDAwMDAwNywgMHgwMDAxRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMEE0NCwgMHgyQzQzODYsIDB4MDE4MDQyLAotCTB4MEEwMDBELCAweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLAotCTB4MjAwMDA3LCAweDAwMDI3RCwgMHgwMDEwMjAsIDB4MDAwNjA2LAotCTB4MDE4MDQwLCAweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDJDQjI4NiwgMHgwMDAwMDcsIDB4MDAwMzdELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MkNFMjg2LAotCTB4MDAwMDA3LCAweDAwMDA3NSwgMHgwMDJFN0QsIDB4MDEwMDQyLAotCTB4MEI4MDRBLCAweDAwMDAyMCwgMHgwMDA5MDQsIDB4MDAwNjg2LAotCTB4MDEwMDQwLCAweDMxODQ0QSwgMHgzMDA0OEIsIDB4MDAwODgzLAotCTB4MDAwMDhELCAweDAwMDgxMCwgMHgyODE0M0EsIDB4MDAwMDhELAotCTB4MDAwODEwLCAweDI4MEMzQSwgMHgwMDA2NzUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMzgxNSwgMHgwMTA5MjQsIDB4MjgwNTAyLAotCTB4MEIwMDBELCAweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLAotCTB4MDAwNjA2LCAweDIyMDAwNywgMHgwMDA0NjQsIDB4MDAwNDY0LAotCTB4MDAwNjA2LCAweDAwMDAwNywgMHgwMDAxMzQsIDB4MDA3RjhELAotCTB4MDAwOTNDLCAweDI4MUQxMiwgMHgyODI1MTIsIDB4MDAxRjMyLAotCTB4MEUwMDA3LCAweDAwMDEwRCwgMHgwMDAzN0QsIDB4MDAwODIwLAotCTB4MDE4MDQwLCAweDA1RDJGNCwgMHgwMDAwMDcsIDB4MDgwMDA3LAotCTB4MDAwMzdELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MkU4QTg2LCAweDAwMDAwNywgMHgwMDA2MDYsIDB4MDAwMDA3LAotCTB4MDAwMDA3LCAweDAwMDAxMiwgMHgxMDAwMDcsIDB4MzIwMDA3LAotCTB4NjAwMDA3LCAweDQ2MDAwNywgMHgxMDAwODAsIDB4NDgwMDFBLAotCTB4MDA0OTA0LCAweDJFRjE4NiwgMHgwMDAwMDcsIDB4MDAxMjEwLAotCTB4NTgwMDNBLCAweDAwMDE0NSwgMHg1QzVEMDQsIDB4MDAwMDA3LAotCTB4MDAwMDgwLCAweDQ4MDAxQSwgMHgwMDQ5MDQsIDB4MkY0MTg2LAotCTB4MDAwMDA3LCAweDAwMTIxMCwgMHg1MDAwM0EsIDB4MDA1OTA0LAotCTB4MkY5ODg2LCAweDAwMDA0NSwgMHgwMDAwQzUsIDB4N0ZGRkY1LAotCTB4N0ZGRjdELCAweDA3RDUyNCwgMHgwMDQyMjQsIDB4NTAwMTAyLAotCTB4MjAwNTAyLCAweDAwMDA4MiwgMHg0MDAwMUEsIDB4MDA0MTA0LAotCTB4MkZDOTg2LCAweDAwMDAwNywgMHgwMDM4NjUsIDB4NDAwMDFBLAotCTB4MDA0MDIwLCAweDAwMTA0RCwgMHgwNEMxODQsIDB4MzFBQjg2LAotCTB4MDAwMDQwLCAweDA0MDAwNywgMHgwMDAxNjUsIDB4MDAwMTQ1LAotCTB4MDA0MDIwLCAweDAwMDA0MCwgMHgwMDA3NjUsIDB4MDgwMDgwLAotCTB4NDAwMDFBLCAweDAwNDEwNCwgMHgzMDU5ODYsIDB4MDAwMDA3LAotCTB4MDAxMjEwLCAweDQwMDAzQSwgMHgwMDQxMDQsIDB4MzBCMjg2LAotCTB4MDAwMDRELCAweDAwMDBDRCwgMHgwMDQ4MTAsIDB4MjAwNDNBLAotCTB4MDAwODgyLCAweDQwMDAxQSwgMHgwMDQxMDQsIDB4MzBDMTg2LAotCTB4MDAwMDA3LCAweDAwNDgyMCwgMHgwMDU5MDQsIDB4MzE5ODg2LAotCTB4MDAwMDQwLCAweDAwMDdFNSwgMHgyMDA0ODAsIDB4MjgxNkEwLAotCTB4MzIxNkUwLCAweDNBMTZFMCwgMHg0MjE2RTAsIDB4MDIxMjYwLAotCTB4MDAwMDQwLCAweDAwMDAzMiwgMHg0MDAwNzUsIDB4MDAwMDdELAotCTB4MDdENTc0LCAweDIwMDUxMiwgMHgwMDAwODIsIDB4NDAwMDFBLAotCTB4MDA0MTA0LCAweDMxNzE4NiwgMHgwMDAwMDcsIDB4MDM4QTA2LAotCTB4NjQwMDA3LCAweDAwMDBFNSwgMHgwMDAwMjAsIDB4MDAwMDQwLAotCTB4MDAwQTY1LCAweDAwMDAyMCwgMHgwMjAwNDAsIDB4MDIwMDQwLAotCTB4MDAwMDQwLCAweDAwMDE2NSwgMHgwMDAwNDIsIDB4NzAwMDBBLAotCTB4MDA3MTA0LCAweDMyMzI4NiwgMHgwMDAwMDcsIDB4MDYwMDA3LAotCTB4MDE5QTA2LCAweDY0MDAwNywgMHgwNTAwMDAsIDB4MDA3MDIwLAotCTB4MDAwMDQwLCAweDAzOEEwNiwgMHg2NDAwMDcsIDB4MDAwMDA3LAotCTB4MDAzMDZELCAweDAyODg2MCwgMHgwMjkwNjAsIDB4MDgwMDBBLAotCTB4MDI4ODYwLCAweDAwODA0MCwgMHgxMDAwMTIsIDB4MDAxMDBELAotCTB4MDA5MTg0LCAweDMyRDE4NiwgMHgwMDBFMEQsIDB4MDA5MTg0LAotCTB4MzNFMTg2LCAweDAwMDAwNywgMHgzMDAwMDcsIDB4MDAxMDIwLAotCTB4MDAzQjZELCAweDAwODA0MCwgMHgwMDAwODAsIDB4MDgwMDFBLAotCTB4MDAwOTA0LCAweDMyRjE4NiwgMHgwMDAwMDcsIDB4MDAxMjIwLAotCTB4MDAwREVELCAweDAwODA0MCwgMHgwMDgwNDIsIDB4MTAwMDBBLAotCTB4NDAwMDBELCAweDEwOTU0NCwgMHgwMDAwMDcsIDB4MDAxMDIwLAotCTB4MDAwREVELCAweDAwODA0MCwgMHgwMDgwNDIsIDB4MjAwNDBBLAotCTB4MDAwMDgyLCAweDA4MDAxQSwgMHgwMDA5MDQsIDB4MzM4MTg2LAotCTB4MDAwMDA3LCAweDAwM0I2RCwgMHgwMDgwNDIsIDB4MDgwMDBBLAotCTB4MDAwRTE1LCAweDAxMDk4NCwgMHgzNDJCODYsIDB4NjAwMDA3LAotCTB4MDgwMDFBLCAweDAwMEMxNSwgMHgwMTA5ODQsIDB4MzQxMzg2LAotCTB4MDAwMDIwLCAweDFBMDAwNywgMHgwMDAyRUQsIDB4MDA4MDQwLAotCTB4NjIwMDA3LCAweDAwMzA2RCwgMHgwMjgwNDIsIDB4MEE4MDRBLAotCTB4MDAwODIwLCAweDBBODA0QSwgMHgwMDA2MDYsIDB4MTA4MDRBLAotCTB4MDAwMDA3LCAweDI4MjUxMiwgMHgwMDFGMzIsIDB4MDVEMkY0LAotCTB4NTREMTA0LCAweDAwNzM1QywgMHgwMDA3ODYsIDB4MDAwMDA3LAotCTB4MEMwMDA3LCAweDBBMDAwNywgMHgxQzAwMDcsIDB4MDAzNDY1LAotCTB4MDIwMDQwLCAweDAwNDgyMCwgMHgwMjUwNjAsIDB4NDAwMDBBLAotCTB4MDI0MDYwLCAweDAwMDA0MCwgMHg0NTQ5NDQsIDB4MDAwMDA3LAotCTB4MDA0MDIwLCAweDAwM0FFNSwgMHgwMDAwNDAsIDB4MDAyOEU1LAotCTB4MDAwMDQyLCAweDQ4MDAwQSwgMHgwMDQ5MDQsIDB4MzlGODg2LAotCTB4MDAyQzY1LCAweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDAwMEQ1LAotCTB4NDU0MTA0LCAweDAwMDAwNywgMHgwMDA2NTUsIDB4MDU0NTA0LAotCTB4MzY4Mjg2LCAweDAwMDFENSwgMHgwNTQ1MDQsIDB4MzY4MDg2LAotCTB4MDAyQjY1LCAweDAwMDA0MiwgMHgwMDNBRTUsIDB4NTAwMDRBLAotCTB4NDAwMDBBLCAweDQ1QzNENCwgMHgwMDAwMDcsIDB4NDU0NTA0LAotCTB4MDAwMDA3LCAweDAwMDBDRCwgMHg0NDQ5NDQsIDB4MDAwMDA3LAotCTB4NDU0NTA0LCAweDAwMDAwNywgMHgwMDAxNEQsIDB4NTU0OTQ0LAotCTB4MDAwMDA3LCAweDA0NTE0NCwgMHgzNjc5ODYsIDB4MDAyQzY1LAotCTB4MDAwMDQyLCAweDQ4MDAwQSwgMHg0Q0QxMDQsIDB4MDAwMDA3LAotCTB4MDRDMTQ0LCAweDM2ODM4NiwgMHgwMDAwMDcsIDB4MTYwMDA3LAotCTB4MDAyQ0U1LCAweDA0MDA0MiwgMHg0MDAwMEEsIDB4MDA0MDIwLAotCTB4MDAwMDQwLCAweDAwMjk2NSwgMHgwMDAwNDIsIDB4NDAwMDBBLAotCTB4MDA0MTA0LCAweDM2RjA4NiwgMHgwMDAwMDcsIDB4MDAyNDAyLAotCTB4MzgzMjA2LCAweDAwNUMwMiwgMHgwMDI1RTUsIDB4MDAwMDQyLAotCTB4NDAwMDBBLCAweDAwNDI3NCwgMHgwMDJBRTUsIDB4MDAwMDQyLAotCTB4NDAwMDBBLCAweDAwNDI3NCwgMHg1MDAxMTIsIDB4MDAyOUU1LAotCTB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQyMzQsIDB4NDU0MTA0LAotCTB4MDAwMDA3LCAweDAwNDAyMCwgMHgwMDAwNDAsIDB4MDAzRUU1LAotCTB4MDAwMDIwLCAweDAwMDA0MCwgMHgwMDJERTUsIDB4NDAwMTUyLAotCTB4NTAwMDBBLCAweDA0NTE0NCwgMHgzN0RBODYsIDB4MDAwMEM1LAotCTB4MDAzRUU1LCAweDAwNDAyMCwgMHgwMDAwNDAsIDB4MDAyQkU1LAotCTB4MDAwMDQyLCAweDQwMDAwQSwgMHg0MDQyNTQsIDB4MDAwMDA3LAotCTB4MDAyQUU1LCAweDAwNDAyMCwgMHgwMDAwNDAsIDB4NTAwMTMyLAotCTB4MDQwMTM0LCAweDAwNTY3NCwgMHgwMDI5RTUsIDB4MDIwMDQyLAotCTB4NDIwMDBBLCAweDAwMDA0MiwgMHg1MDAwMEEsIDB4MDU0MTdDLAotCTB4MDAyOEU1LCAweDAwMDA0MiwgMHg0ODAwMEEsIDB4MDAwMEM1LAotCTB4NENDMTQ0LCAweDM4QTA4NiwgMHgwMDI2RTUsIDB4MDAyN0U1LAotCTB4MDIwMDQyLCAweDQwMDA0QSwgMHg1MDAwMEEsIDB4MDA0MjNDLAotCTB4MDA1NjdDLCAweDAwMjhFNSwgMHgwMDQ4MjAsIDB4MDAwMDQwLAotCTB4MjgxRDEyLCAweDI4MjUxMiwgMHgwMDFGNzIsIDB4MDAyOTY1LAotCTB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQxMDQsIDB4MzkzQTg2LAotCTB4MEUwMDA3LCAweDE2MDAwNywgMHgxRTAwMDcsIDB4MDAzRUU1LAotCTB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQxMDQsIDB4Mzk3ODg2LAotCTB4MDAyRDY1LCAweDAwMDA0MiwgMHgyODM0MEEsIDB4MDAzNDY1LAotCTB4MDIwMDQyLCAweDQyMDA0QSwgMHgwMDQwMjAsIDB4NEEwMDRBLAotCTB4NTAwMDRBLCAweDA1RDJGNCwgMHg1NEQxMDQsIDB4MDA3MzVDLAotCTB4MzlFMTg2LCAweDAwMDAwNywgMHgwMDA2MDYsIDB4MDgwMDA3LAotCTB4MEMwMDA3LCAweDA4MDAwNywgMHgwQTAwMDcsIDB4MDAwMUU1LAotCTB4MDIwMDQ1LCAweDAwNDAyMCwgMHgwMDAwNjAsIDB4MDAwMzY1LAotCTB4MDAwMDQwLCAweDAwMkU2NSwgMHgwMDFBMjAsIDB4MEExQTYwLAotCTB4MDAwMDQwLCAweDAwMzQ2NSwgMHgwMjAwNDIsIDB4NDIwMDRBLAotCTB4MDA0MDIwLCAweDRBMDA0QSwgMHgwMDA2MDYsIDB4NTAwMDRBLAotCTB4MDAxN0ZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MjI1QTg2LCAweDAwMDAwNywgMHgwMDEwN0QsIDB4MDE4MDQyLAotCTB4MDAxMUZELCAweDMzODA0QSwgMHgxOTgwNEEsIDB4MjAwMDBBLAotCTB4MDAwMDk1LCAweDJBMTE0NCwgMHgwMUExNDQsIDB4M0I5MDg2LAotCTB4MDAwNDBELCAweDAwQjE4NCwgMHgzQjkxODYsIDB4MDAxOEZELAotCTB4MDE4MDQyLCAweDAwMTBGRCwgMHgwOTgwNEEsIDB4MzgwMDBBLAotCTB4MDAwMDk1LCAweDAxMDkyNCwgMHgwMDNBNjQsIDB4M0I4MTg2LAotCTB4MDAwMDA3LCAweDAwMzkwNCwgMHgzQjkyODYsIDB4MDAwMDA3LAotCTB4M0I5QTA2LCAweDAwMDAwRCwgMHgwMDAwOEQsIDB4MDAwODIwLAotCTB4MDAzODdELCAweDAxODA0MCwgMHg3MDAwMDIsIDB4MDAxMTdELAotCTB4MDE4MDQyLCAweDAwMTk3RCwgMHgyOTgwNEEsIDB4MzAwMDBBLAotCTB4MzgwMDAyLCAweDAwMzEyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MDAyQTI0LCAweDI4MDUwMiwgMHgwMDA2OEQsIDB4MDAwODEwLAotCTB4MjgxNDNBLCAweDAwNzUwRCwgMHgwMEIxMjQsIDB4MDAyMjY0LAotCTB4M0QwMzg2LCAweDI4NDQwMiwgMHgwMDA4MTAsIDB4MjgwQzNBLAotCTB4MEI4MDBELCAweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLAotCTB4MjAwMDA3LCAweDAwNzU4RCwgMHgwMEIxMjQsIDB4MTAwMTAyLAotCTB4MDEyMTQ0LCAweDNFNDk4NiwgMHgwMDE4MTAsIDB4MTAwMDNBLAotCTB4MDAzODdELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4M0U0ODg2LCAweDAzMDAwMCwgMHgzRTRBMDYsIDB4MDAwMEJELAotCTB4MDAwMDhELCAweDAyMzE2NCwgMHgwMDBBNjQsIDB4MjgwRDAyLAotCTB4MEI4MDhELCAweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLAotCTB4MjAwMDA3LCAweDAwMzg3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDNFMzI4NiwgMHgwMzAwMDAsIDB4MDAwMkZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4M0Q4Mjg2LAotCTB4MDAwMDA3LCAweDAwMjgxMCwgMHgyODA0M0EsIDB4MDA3NTBELAotCTB4MDMwOTI0LCAweDAwMjI2NCwgMHgyODBEMDIsIDB4MDIzMTZDLAotCTB4Mjg0NTBBLCAweDBCODEwRCwgMHgwMDA4MjAsIDB4MDAwMkZELAotCTB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDAwOEQsIDB4MDAwQTI0LAotCTB4M0U0QTA2LCAweDEwMDEwMiwgMHgwMDE4MTAsIDB4MTAwMDNBLAotCTB4MDAwMEJELCAweDAwMzgxMCwgMHgzMDA0M0EsIDB4MDAxODdELAotCTB4MDE4MDQyLCAweDAwMThGRCwgMHgwOTgwNEEsIDB4MjAwMDBBLAotCTB4MDAwMEFELCAweDAyODkyNCwgMHgwNzIxMkMsIDB4MDAxMDEwLAotCTB4MzAwNTgzLCAweDMwMEQ4QiwgMHgzMDE0QkIsIDB4MzAxQzgzLAotCTB4MDAyMDgzLCAweDAwMTM3RCwgMHgwMzgwNDIsIDB4MzM4NDRBLAotCTB4MzNBQ0NCLCAweDMzQjRDQiwgMHgzM0JDQ0IsIDB4MzNDNENCLAotCTB4MzNDQ0NCLCAweDMzRDRDQiwgMHgzMDVDOEIsIDB4MDA2MDgzLAotCTB4MDAxRTBELCAweDAwMDVGRCwgMHgwMTgwNDIsIDB4MjAwMDBBLAotCTB4MDIwOTI0LCAweDAwMDY4RCwgMHgwMEE5NkMsIDB4MDAwMDlELAotCTB4MDAwMkZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4M0Y2QTg2LCAweDAwMDAwNywgMHgyODA1MDIsIDB4MjgwRDBBLAotCTB4Mjg0NDAyLCAweDAwMTgxMCwgMHgyODE0M0EsIDB4MEMwMDhELAotCTB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjIwMDA3LAotCTB4MDAzOTA0LCAweDIyNTg4NiwgMHgwMDFFMEQsIDB4MDAwNTdELAotCTB4MDE4MDQyLCAweDIwMDAwQSwgMHgwMjA5MjQsIDB4MDAwMEE1LAotCTB4MDAwMkZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4NDAyQTg2LCAweDAwMDAwNywgMHgyODA1MDIsIDB4MjgwQzAyLAotCTB4MDAyMDEwLCAweDI4MTQzQSwgMHgwQzAxMEQsIDB4MDAwODIwLAotCTB4MDAwMkZELCAweDAxODA0MCwgMHgyMjVBMDYsIDB4MjIwMDA3LAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwCi19OwotCi0jZW5kaWYJLy9fSFdNQ09ERV8KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX21haW4uYyBiL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX21haW4uYwppbmRleCAyOWIzMDU2Li45MmQ0OWFhIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9tYWluLmMKKysrIGIvc291bmQvcGNpL3ltZnBjaS95bWZwY2lfbWFpbi5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgorI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAKICNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CiAjaW5jbHVkZSA8c291bmQvY29udHJvbC5oPgpAQCAtMTk5Myw1NSArMTk5NCw2IEBACiAJfQogfQogCi0jaWZkZWYgQ09ORklHX1NORF9ZTUZQQ0lfRklSTVdBUkVfSU5fS0VSTkVMCi0KLSNpbmNsdWRlICJ5bWZwY2lfaW1hZ2UuaCIKLQotc3RhdGljIHN0cnVjdCBmaXJtd2FyZSBzbmRfeW1mcGNpX2RzcF9taWNyb2NvZGUgPSB7Ci0JLnNpemUgPSBZRFNYR19EU1BMRU5HVEgsCi0JLmRhdGEgPSAodTggKilEc3BJbnN0LAotfTsKLXN0YXRpYyBzdHJ1Y3QgZmlybXdhcmUgc25kX3ltZnBjaV9jb250cm9sbGVyX21pY3JvY29kZSA9IHsKLQkuc2l6ZSA9IFlEU1hHX0NUUkxMRU5HVEgsCi0JLmRhdGEgPSAodTggKilDbnRybEluc3QsCi19Owotc3RhdGljIHN0cnVjdCBmaXJtd2FyZSBzbmRfeW1mcGNpX2NvbnRyb2xsZXJfMWVfbWljcm9jb2RlID0gewotCS5zaXplID0gWURTWEdfQ1RSTExFTkdUSCwKLQkuZGF0YSA9ICh1OCAqKUNudHJsSW5zdDFFLAotfTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1NORF9ZTUZQQ0lfRklSTVdBUkVfSU5fS0VSTkVMCi1zdGF0aWMgaW50IHNuZF95bWZwY2lfcmVxdWVzdF9maXJtd2FyZShzdHJ1Y3Qgc25kX3ltZnBjaSAqY2hpcCkKLXsKLQljaGlwLT5kc3BfbWljcm9jb2RlID0gJnNuZF95bWZwY2lfZHNwX21pY3JvY29kZTsKLQlpZiAoY2hpcC0+ZGV2aWNlX2lkID09IFBDSV9ERVZJQ0VfSURfWUFNQUhBXzcyNEYgfHwKLQkgICAgY2hpcC0+ZGV2aWNlX2lkID09IFBDSV9ERVZJQ0VfSURfWUFNQUhBXzc0MEMgfHwKLQkgICAgY2hpcC0+ZGV2aWNlX2lkID09IFBDSV9ERVZJQ0VfSURfWUFNQUhBXzc0NCB8fAotCSAgICBjaGlwLT5kZXZpY2VfaWQgPT0gUENJX0RFVklDRV9JRF9ZQU1BSEFfNzU0KQotCQljaGlwLT5jb250cm9sbGVyX21pY3JvY29kZSA9Ci0JCQkmc25kX3ltZnBjaV9jb250cm9sbGVyXzFlX21pY3JvY29kZTsKLQllbHNlCi0JCWNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlID0KLQkJCSZzbmRfeW1mcGNpX2NvbnRyb2xsZXJfbWljcm9jb2RlOwotCXJldHVybiAwOwotfQotCi0jZWxzZSAvKiB1c2UgZndfbG9hZGVyICovCi0KLSNpZmRlZiBfX0xJVFRMRV9FTkRJQU4KLXN0YXRpYyBpbmxpbmUgdm9pZCBzbmRfeW1mcGNpX2NvbnZlcnRfZnJvbV9sZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KSB7IH0KLSNlbHNlCi1zdGF0aWMgdm9pZCBzbmRfeW1mcGNpX2NvbnZlcnRfZnJvbV9sZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQotewotCWludCBpOwotCXUzMiAqZGF0YSA9ICh1MzIgKilmdy0+ZGF0YTsKLQotCWZvciAoaSA9IDA7IGkgPCBmdy0+c2l6ZSAvIDQ7ICsraSkKLQkJbGUzMl90b19jcHVzKCZkYXRhW2ldKTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgaW50IHNuZF95bWZwY2lfcmVxdWVzdF9maXJtd2FyZShzdHJ1Y3Qgc25kX3ltZnBjaSAqY2hpcCkKIHsKIAlpbnQgZXJyLCBpc18xZTsKQEAgLTIwNTAsOSArMjAwMiw3IEBACiAJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmY2hpcC0+ZHNwX21pY3JvY29kZSwgInlhbWFoYS9kczFfZHNwLmZ3IiwKIAkJCSAgICAgICAmY2hpcC0+cGNpLT5kZXYpOwogCWlmIChlcnIgPj0gMCkgewotCQlpZiAoY2hpcC0+ZHNwX21pY3JvY29kZS0+c2l6ZSA9PSBZRFNYR19EU1BMRU5HVEgpCi0JCQlzbmRfeW1mcGNpX2NvbnZlcnRfZnJvbV9sZShjaGlwLT5kc3BfbWljcm9jb2RlKTsKLQkJZWxzZSB7CisJCWlmIChjaGlwLT5kc3BfbWljcm9jb2RlLT5zaXplICE9IFlEU1hHX0RTUExFTkdUSCkgewogCQkJc25kX3ByaW50ayhLRVJOX0VSUiAiRFNQIG1pY3JvY29kZSBoYXMgd3Jvbmcgc2l6ZVxuIik7CiAJCQllcnIgPSAtRUlOVkFMOwogCQl9CkBAIC0yMDY3LDkgKzIwMTcsNyBAQAogCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlLCBuYW1lLAogCQkJICAgICAgICZjaGlwLT5wY2ktPmRldik7CiAJaWYgKGVyciA+PSAwKSB7Ci0JCWlmIChjaGlwLT5jb250cm9sbGVyX21pY3JvY29kZS0+c2l6ZSA9PSBZRFNYR19DVFJMTEVOR1RIKQotCQkJc25kX3ltZnBjaV9jb252ZXJ0X2Zyb21fbGUoY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUpOwotCQllbHNlIHsKKwkJaWYgKGNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlLT5zaXplICE9IFlEU1hHX0NUUkxMRU5HVEgpIHsKIAkJCXNuZF9wcmludGsoS0VSTl9FUlIgImNvbnRyb2xsZXIgbWljcm9jb2RlIgogCQkJCSAgICIgaGFzIHdyb25nIHNpemVcbiIpOwogCQkJZXJyID0gLUVJTlZBTDsKQEAgLTIwODQsMTMgKzIwMzIsMTEgQEAKIE1PRFVMRV9GSVJNV0FSRSgieWFtYWhhL2RzMV9jdHJsLmZ3Iik7CiBNT0RVTEVfRklSTVdBUkUoInlhbWFoYS9kczFlX2N0cmwuZnciKTsKIAotI2VuZGlmCi0KIHN0YXRpYyB2b2lkIHNuZF95bWZwY2lfZG93bmxvYWRfaW1hZ2Uoc3RydWN0IHNuZF95bWZwY2kgKmNoaXApCiB7CiAJaW50IGk7CiAJdTE2IGN0cmw7Ci0JdTMyICppbnN0OworCWNvbnN0IF9fbGUzMiAqaW5zdDsKIAogCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9OQVRJVkVEQUNPVVRWT0wsIDB4MDAwMDAwMDApOwogCXNuZF95bWZwY2lfZGlzYWJsZV9kc3AoY2hpcCk7CkBAIC0yMTA1LDE0ICsyMDUxLDE2IEBACiAJc25kX3ltZnBjaV93cml0ZXcoY2hpcCwgWURTWEdSX0dMT0JBTENUUkwsIGN0cmwgJiB+MHgwMDA3KTsKIAogCS8qIHNldHVwIERTUCBpbnN0cnVjdGlvbiBjb2RlICovCi0JaW5zdCA9ICh1MzIgKiljaGlwLT5kc3BfbWljcm9jb2RlLT5kYXRhOworCWluc3QgPSAoY29uc3QgX19sZTMyICopY2hpcC0+ZHNwX21pY3JvY29kZS0+ZGF0YTsKIAlmb3IgKGkgPSAwOyBpIDwgWURTWEdfRFNQTEVOR1RIIC8gNDsgaSsrKQotCQlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfRFNQSU5TVFJBTSArIChpIDw8IDIpLCBpbnN0W2ldKTsKKwkJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0RTUElOU1RSQU0gKyAoaSA8PCAyKSwKKwkJCQkgIGxlMzJfdG9fY3B1KGluc3RbaV0pKTsKIAogCS8qIHNldHVwIGNvbnRyb2wgaW5zdHJ1Y3Rpb24gY29kZSAqLwotCWluc3QgPSAodTMyICopY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUtPmRhdGE7CisJaW5zdCA9IChjb25zdCBfX2xlMzIgKiljaGlwLT5jb250cm9sbGVyX21pY3JvY29kZS0+ZGF0YTsKIAlmb3IgKGkgPSAwOyBpIDwgWURTWEdfQ1RSTExFTkdUSCAvIDQ7IGkrKykKLQkJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0NUUkxJTlNUUkFNICsgKGkgPDwgMiksIGluc3RbaV0pOworCQlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfQ1RSTElOU1RSQU0gKyAoaSA8PCAyKSwKKwkJCQkgIGxlMzJfdG9fY3B1KGluc3RbaV0pKTsKIAogCXNuZF95bWZwY2lfZW5hYmxlX2RzcChjaGlwKTsKIH0KQEAgLTIyMDUsNiArMjE1Myw3IEBACiAJZm9yIChyZWcgPSAweDgwOyByZWcgPCAweGMwOyByZWcgKz0gNCkKIAkJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgcmVnLCAwKTsKIAlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfTkFUSVZFREFDT1VUVk9MLCAweDNmZmYzZmZmKTsKKwlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfQlVGNDQxT1VUVk9MLCAweDNmZmYzZmZmKTsKIAlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfWlZPVVRWT0wsIDB4M2ZmZjNmZmYpOwogCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9TUERJRk9VVFZPTCwgMHgzZmZmM2ZmZik7CiAJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX05BVElWRUFEQ0lOVk9MLCAweDNmZmYzZmZmKTsKQEAgLTIyNjQsMTAgKzIyMTMsOCBAQAogCXBjaV93cml0ZV9jb25maWdfd29yZChjaGlwLT5wY2ksIDB4NDAsIGNoaXAtPm9sZF9sZWdhY3lfY3RybCk7CiAJCiAJcGNpX2Rpc2FibGVfZGV2aWNlKGNoaXAtPnBjaSk7Ci0jaWZuZGVmIENPTkZJR19TTkRfWU1GUENJX0ZJUk1XQVJFX0lOX0tFUk5FTAogCXJlbGVhc2VfZmlybXdhcmUoY2hpcC0+ZHNwX21pY3JvY29kZSk7CiAJcmVsZWFzZV9maXJtd2FyZShjaGlwLT5jb250cm9sbGVyX21pY3JvY29kZSk7Ci0jZW5kaWYKIAlrZnJlZShjaGlwKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTIzMjQsNiArMjI3MSw3IEBACiAJCWNoaXAtPnNhdmVkX3JlZ3NbaV0gPSBzbmRfeW1mcGNpX3JlYWRsKGNoaXAsIHNhdmVkX3JlZ3NfaW5kZXhbaV0pOwogCWNoaXAtPnNhdmVkX3lkc3hncl9tb2RlID0gc25kX3ltZnBjaV9yZWFkbChjaGlwLCBZRFNYR1JfTU9ERSk7CiAJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX05BVElWRURBQ09VVFZPTCwgMCk7CisJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0JVRjQ0MU9VVFZPTCwgMCk7CiAJc25kX3ltZnBjaV9kaXNhYmxlX2RzcChjaGlwKTsKIAlwY2lfZGlzYWJsZV9kZXZpY2UocGNpKTsKIAlwY2lfc2F2ZV9zdGF0ZShwY2kpOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNtY2lhL0tjb25maWcgYi9zb3VuZC9wY21jaWEvS2NvbmZpZwppbmRleCBjOWZhMWEyLi43ZmJiMTkwIDEwMDY0NAotLS0gYS9zb3VuZC9wY21jaWEvS2NvbmZpZworKysgYi9zb3VuZC9wY21jaWEvS2NvbmZpZwpAQCAtMSwxMSArMSwxNiBAQAogIyBBTFNBIFBDTUNJQSBkcml2ZXJzCiAKLW1lbnUgIlBDTUNJQSBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFBDTUNJQQorbWVudWNvbmZpZyBTTkRfUENNQ0lBCisJYm9vbCAiUENNQ0lBIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBQQ01DSUEKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIGNvbm5lY3RlZCB2aWEgdGhlIFBDTUNJQSBidXMuCisKK2lmIFNORF9QQ01DSUEgJiYgUENNQ0lBCiAKIGNvbmZpZyBTTkRfVlhQT0NLRVQKIAl0cmlzdGF0ZSAiRGlnaWdyYW0gVlhwb2NrZXQiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUENNQ0lBCiAJc2VsZWN0IFNORF9WWF9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgRGlnaWdyYW0gVlhwb2NrZXQgYW5kCkBAIC0xNiw3ICsyMSw2IEBACiAKIGNvbmZpZyBTTkRfUERBVURJT0NGCiAJdHJpc3RhdGUgIlNvdW5kIENvcmUgUERBdWRpb0NGIgotCWRlcGVuZHMgb24gU05EICYmIFBDTUNJQQogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIFNvdW5kIENvcmUgUERBdWRpb0NGCkBAIC0yNSw0ICsyOSw1IEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtcGRhdWRpb2NmLgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9QQ01DSUEKKwpkaWZmIC0tZ2l0IGEvc291bmQvcGNtY2lhL3Z4L3Z4cF9vcHMuYyBiL3NvdW5kL3BjbWNpYS92eC92eHBfb3BzLmMKaW5kZXggMTU3YjBiNS4uOTliZjJhNiAxMDA2NDQKLS0tIGEvc291bmQvcGNtY2lhL3Z4L3Z4cF9vcHMuYworKysgYi9zb3VuZC9wY21jaWEvdngvdnhwX29wcy5jCkBAIC0xNTEsNyArMTUxLDcgQEAKIAl1bnNpZ25lZCBpbnQgaTsKIAlpbnQgYzsKIAlpbnQgcmVnQ1NVRVIsIHJlZ1JVRVI7Ci0JdW5zaWduZWQgY2hhciAqaW1hZ2U7CisJY29uc3QgdW5zaWduZWQgY2hhciAqaW1hZ2U7CiAJdW5zaWduZWQgY2hhciBkYXRhOwogCiAJLyogU3dpdGNoIHRvIHByb2dyYW1tYXRpb24gbW9kZSAqLwpkaWZmIC0tZ2l0IGEvc291bmQvcHBjL0tjb25maWcgYi9zb3VuZC9wcGMvS2NvbmZpZwppbmRleCBjYWNiMGIxLi43NzdkZTJiIDEwMDY0NAotLS0gYS9zb3VuZC9wcGMvS2NvbmZpZworKysgYi9zb3VuZC9wcGMvS2NvbmZpZwpAQCAtMSwxNyArMSwxNyBAQAogIyBBTFNBIFBvd2VyTWFjIGRyaXZlcnMKIAotbWVudSAiQUxTQSBQb3dlck1hYyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFBQQworbWVudWNvbmZpZyBTTkRfUFBDCisJYm9vbCAiUG93ZXJQQyBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gUFBDNjQgfHwgUFBDMzIKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIHNwZWNpZmljIHRvIFBvd2VyUEMgYXJjaGl0ZWN0dXJlcy4KIAotY29tbWVudCAiQUxTQSBQb3dlck1hYyByZXF1aXJlcyBJMkMiCi0JZGVwZW5kcyBvbiBTTkQgJiYgSTJDPW4KLQotY29tbWVudCAiQUxTQSBQb3dlck1hYyByZXF1aXJlcyBJTlBVVCIKLQlkZXBlbmRzIG9uIFNORCAmJiBJTlBVVD1uCitpZiBTTkRfUFBDCiAKIGNvbmZpZyBTTkRfUE9XRVJNQUMKIAl0cmlzdGF0ZSAiUG93ZXJNYWMgKEFXQUNTLCBEQUNBLCBCdXJndW5keSwgVHVtYmxlciwgS2V5d2VzdCkiCi0JZGVwZW5kcyBvbiBTTkQgJiYgSTJDICYmIElOUFVUICYmIFBQQ19QTUFDCisJZGVwZW5kcyBvbiBJMkMgJiYgSU5QVVQgJiYgUFBDX1BNQUMKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBzb3VuZCBkZXZpY2UuCkBAIC0zMiwxNCArMzIsOSBAQAogCSAgTm90ZSB0aGF0IHlvdSBjYW4gdHVybiBvbi9vZmYgRFJDIG1hbnVhbGx5IGV2ZW4gd2l0aG91dCB0aGlzCiAJICBvcHRpb24uCiAKLWVuZG1lbnUKLQotbWVudSAiQUxTQSBQb3dlclBDIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgKCBQUEM2NCB8fCBQUEMzMiApCi0KIGNvbmZpZyBTTkRfUFMzCiAJdHJpc3RhdGUgIlBTMyBBdWRpbyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU05EICYmIFBTM19QUzNBVgorCWRlcGVuZHMgb24gUFMzX1BTM0FWCiAJc2VsZWN0IFNORF9QQ00KIAlkZWZhdWx0IG0KIAloZWxwCkBAIC01Miw0ICs0Nyw1IEBACiAJaW50ICJTdGFydHVwIGRlbGF5IHRpbWUgaW4gbXMiCiAJZGVwZW5kcyBvbiBTTkRfUFMzCiAJZGVmYXVsdCAiMjAwMCIKLWVuZG1lbnUKKworZW5kaWYJIyBTTkRfUFBDCmRpZmYgLS1naXQgYS9zb3VuZC9wcGMvZGFjYS5jIGIvc291bmQvcHBjL2RhY2EuYwppbmRleCBjYTk0NTI5Li44YTViMjkwIDEwMDY0NAotLS0gYS9zb3VuZC9wcGMvZGFjYS5jCisrKyBiL3NvdW5kL3BwYy9kYWNhLmMKQEAgLTI0OSw5ICsyNDksNyBAQAogCWludCBpLCBlcnI7CiAJc3RydWN0IHBtYWNfZGFjYSAqbWl4OwogCi0jaWZkZWYgQ09ORklHX0tNT0QKIAlyZXF1ZXN0X21vZHVsZSgiaTJjLXBvd2VybWFjIik7Ci0jZW5kaWYgLyogQ09ORklHX0tNT0QgKi8KIAogCW1peCA9IGt6YWxsb2Moc2l6ZW9mKCptaXgpLCBHRlBfS0VSTkVMKTsKIAlpZiAoISBtaXgpCmRpZmYgLS1naXQgYS9zb3VuZC9wcGMvdHVtYmxlci5jIGIvc291bmQvcHBjL3R1bWJsZXIuYwppbmRleCAzZjhkNzE2Li4wMDlkZjhkIDEwMDY0NAotLS0gYS9zb3VuZC9wcGMvdHVtYmxlci5jCisrKyBiL3NvdW5kL3BwYy90dW1ibGVyLmMKQEAgLTEzNTAsOSArMTM1MCw3IEBACiAJc3RydWN0IGRldmljZV9ub2RlICp0YXNfbm9kZSwgKm5wOwogCWNoYXIgKmNoaXBuYW1lOwogCi0jaWZkZWYgQ09ORklHX0tNT0QKIAlyZXF1ZXN0X21vZHVsZSgiaTJjLXBvd2VybWFjIik7Ci0jZW5kaWYgLyogQ09ORklHX0tNT0QgKi8KIAogCW1peCA9IGt6YWxsb2Moc2l6ZW9mKCptaXgpLCBHRlBfS0VSTkVMKTsKIAlpZiAoISBtaXgpCmRpZmYgLS1naXQgYS9zb3VuZC9zaC9LY29uZmlnIGIvc291bmQvc2gvS2NvbmZpZwppbmRleCBiN2UwOGVmLi5jZmMxNDM5IDEwMDY0NAotLS0gYS9zb3VuZC9zaC9LY29uZmlnCisrKyBiL3NvdW5kL3NoL0tjb25maWcKQEAgLTEsMTQgKzEsMjIgQEAKICMgQUxTQSBTSCBkcml2ZXJzCiAKLW1lbnUgIlNVUEVSSCBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFNVUEVSSAorbWVudWNvbmZpZyBTTkRfU1VQRVJICisJYm9vbCAiU1VQRVJIIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBTVVBFUkgKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIHNwZWNpZmljIHRvIFNVUEVSSCBhcmNoaXRlY3R1cmVzLgorCSAgRHJpdmVycyB0aGF0IGFyZSBpbXBsZW1lbnRlZCBvbiBBU29DIGNhbiBiZSBmb3VuZCBpbgorCSAgIkFMU0EgZm9yIFNvQyBhdWRpbyBzdXBwb3J0IiBzZWN0aW9uLgorCitpZiBTTkRfU1VQRVJICiAKIGNvbmZpZyBTTkRfQUlDQQogCXRyaXN0YXRlICJEcmVhbWNhc3QgWWFtYWhhIEFJQ0Egc291bmQiCi0JZGVwZW5kcyBvbiBTSF9EUkVBTUNBU1QgJiYgU05ECisJZGVwZW5kcyBvbiBTSF9EUkVBTUNBU1QKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIEFMU0EgU291bmQgZHJpdmVyIGZvciB0aGUgU0VHQSBEcmVhbWNhc3QgY29uc29sZS4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfU1VQRVJICiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9LY29uZmlnIGIvc291bmQvc29jL0tjb25maWcKaW5kZXggMThmMjhhYy4uZjc0MzUzMCAxMDA2NDQKLS0tIGEvc291bmQvc29jL0tjb25maWcKKysrIGIvc291bmQvc29jL0tjb25maWcKQEAgLTIsMTUgKzIsOCBAQAogIyBTb0MgYXVkaW8gY29uZmlndXJhdGlvbgogIwogCi1tZW51ICJTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU05EIT1uCi0KLWNvbmZpZyBTTkRfU09DX0FDOTdfQlVTCi0JYm9vbAotCi1jb25maWcgU05EX1NPQworbWVudWNvbmZpZyBTTkRfU09DCiAJdHJpc3RhdGUgIkFMU0EgZm9yIFNvQyBhdWRpbyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAktLS1oZWxwLS0tCiAKQEAgLTIzLDggKzE2LDE1IEBACiAJICBUaGlzIEFTb0MgYXVkaW8gc3VwcG9ydCBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtc29jLWNvcmUuCiAKK2lmIFNORF9TT0MKKworY29uZmlnIFNORF9TT0NfQUM5N19CVVMKKwlib29sCisKICMgQWxsIHRoZSBzdXBwb3J0ZWQgU29jJ3MKK3NvdXJjZSAic291bmQvc29jL2F0MzIvS2NvbmZpZyIKIHNvdXJjZSAic291bmQvc29jL2F0OTEvS2NvbmZpZyIKK3NvdXJjZSAic291bmQvc29jL2F1MXgvS2NvbmZpZyIKIHNvdXJjZSAic291bmQvc29jL3B4YS9LY29uZmlnIgogc291cmNlICJzb3VuZC9zb2MvczNjMjR4eC9LY29uZmlnIgogc291cmNlICJzb3VuZC9zb2Mvc2gvS2NvbmZpZyIKQEAgLTM1LDQgKzM1LDUgQEAKICMgU3VwcG9ydGVkIGNvZGVjcwogc291cmNlICJzb3VuZC9zb2MvY29kZWNzL0tjb25maWciCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1NPQworCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvTWFrZWZpbGUgYi9zb3VuZC9zb2MvTWFrZWZpbGUKaW5kZXggNzgyZGIyMS4uOTMzYTY2ZCAxMDA2NDQKLS0tIGEvc291bmQvc29jL01ha2VmaWxlCisrKyBiL3NvdW5kL3NvYy9NYWtlZmlsZQpAQCAtMSw0ICsxLDUgQEAKIHNuZC1zb2MtY29yZS1vYmpzIDo9IHNvYy1jb3JlLm8gc29jLWRhcG0ubwogCiBvYmotJChDT05GSUdfU05EX1NPQykJKz0gc25kLXNvYy1jb3JlLm8KLW9iai0kKENPTkZJR19TTkRfU09DKQkrPSBjb2RlY3MvIGF0OTEvIHB4YS8gczNjMjR4eC8gc2gvIGZzbC8gZGF2aW5jaS8gb21hcC8KK29iai0kKENPTkZJR19TTkRfU09DKQkrPSBjb2RlY3MvIGF0MzIvIGF0OTEvIHB4YS8gczNjMjR4eC8gc2gvIGZzbC8gZGF2aW5jaS8KK29iai0kKENPTkZJR19TTkRfU09DKQkrPSBvbWFwLyBhdTF4LwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvS2NvbmZpZyBiL3NvdW5kL3NvYy9hdDMyL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA3NjVlOAotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL0tjb25maWcKQEAgLTAsMCArMSwzNCBAQAorY29uZmlnIFNORF9BVDMyX1NPQworICAgICAgICB0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciB0aGUgQXRtZWwgQVQzMiBTeXN0ZW0tb24tYS1DaGlwIgorICAgICAgICBkZXBlbmRzIG9uIEFWUjMyICYmIFNORF9TT0MKKyAgICAgICAgaGVscAorICAgICAgICAgIFNheSBZIG9yIE0gaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIGNvZGVjcyBhdHRhY2hlZCB0byAKKyAgICAgICAgICB0aGUgQVQzMiBTU0MgaW50ZXJmYWNlLiAgWW91IHdpbGwgYWxzbyBuZWVkIHRvCisgICAgICAgICAgdG8gc2VsZWN0IHRoZSBhdWRpbyBpbnRlcmZhY2VzIHRvIHN1cHBvcnQgYmVsb3cuCisKKworY29uZmlnIFNORF9BVDMyX1NPQ19TU0MKKyAgICAgICAgdHJpc3RhdGUKKworCisKK2NvbmZpZyBTTkRfQVQzMl9TT0NfUExBWVBBUQorICAgICAgICB0cmlzdGF0ZSAiU29DIEF1ZGlvIHN1cHBvcnQgZm9yIFBsYXlQYXEgd2l0aCBXTTg1MTAiCisgICAgICAgIGRlcGVuZHMgb24gU05EX0FUMzJfU09DICYmIEJPQVJEX1BMQVlQQVEKKyAgICAgICAgc2VsZWN0IFNORF9BVDMyX1NPQ19TU0MKKyAgICAgICAgc2VsZWN0IFNORF9TT0NfV004NTEwCisgICAgICAgIGhlbHAKKyAgICAgICAgICBTYXkgWSBvciBNIGhlcmUgaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIFNvQyBhdWRpbworICAgICAgICAgIG9uIHRoZSBMUlMgUGxheVBhcS4KKworCisKK2NvbmZpZyBTTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRQorICAgICAgICBib29sICJSdW4gQ09ERUMgb24gUGxheVBhcSBpbiBzbGF2ZSBtb2RlIgorICAgICAgICBkZXBlbmRzIG9uIFNORF9BVDMyX1NPQ19QTEFZUEFRCisgICAgICAgIGRlZmF1bHQgbgorICAgICAgICBoZWxwCisgICAgICAgICAgU2F5IFkgaWYgeW91IHdhbnQgdG8gcnVuIHdpdGggdGhlIEFUMzIgU1NDIGdlbmVyYXRpbmcgdGhlIEJDTEsKKyAgICAgICAgICBhbmQgRlJBTUUgc2lnbmFscyBvbiB0aGUgUGxheVBhcS4gIFVubGVzcyB5b3Ugd2FudCB0byBwbGF5CisgICAgICAgICAgd2l0aCB0aGUgQVQzMiBhcyB0aGUgU1NDIG1hc3RlciwgeW91IHByb2JhYmx5IHdhbnQgdG8gc2F5IE4gaGVyZSwKKyAgICAgICAgICBhcyB0aGlzIHdpbGwgZ2l2ZSB5b3UgYmV0dGVyIHNvdW5kIHF1YWxpdHkuCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9NYWtlZmlsZSBiL3NvdW5kL3NvYy9hdDMyL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwM2U1NWUKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9NYWtlZmlsZQpAQCAtMCwwICsxLDExIEBACisjIEFUMzIgUGxhdGZvcm0gU3VwcG9ydAorc25kLXNvYy1hdDMyLW9ianMgOj0gYXQzMi1wY20ubworc25kLXNvYy1hdDMyLXNzYy1vYmpzIDo9IGF0MzItc3NjLm8KKworb2JqLSQoQ09ORklHX1NORF9BVDMyX1NPQykgKz0gc25kLXNvYy1hdDMyLm8KK29iai0kKENPTkZJR19TTkRfQVQzMl9TT0NfU1NDKSArPSBzbmQtc29jLWF0MzItc3NjLm8KKworIyBBVDMyIE1hY2hpbmUgU3VwcG9ydAorc25kLXNvYy1wbGF5cGFxLW9ianMgOj0gcGxheXBhcV93bTg1MTAubworCitvYmotJChDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVEpICs9IHNuZC1zb2MtcGxheXBhcS5vCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5jIGIvc291bmQvc29jL2F0MzIvYXQzMi1wY20uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzVmMWRhCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvYXQzMi1wY20uYwpAQCAtMCwwICsxLDQ5MSBAQAorLyogc291bmQvc29jL2F0MzIvYXQzMi1wY20uYworICogQVNvQyBQQ00gaW50ZXJmYWNlIGZvciBBdG1lbCBBVDMyIFNvQworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBMb25nIFJhbmdlIFN5c3RlbXMKKyAqICAgIEdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogTm90ZSB0aGF0IHRoaXMgaXMgYmFzaWNhbGx5IGEgcG9ydCBvZiB0aGUgc291bmQvc29jL2F0OTEtcGNtLmMgdG8KKyAqIHRoZSBBVlIzMiBrZXJuZWwuICBUaGFua3MgdG8gRnJhbmsgTWFuZGFyaW5vIGZvciB0aGF0IGNvZGUuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9hdG1lbF9wZGMuaD4KKworI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisKKyNpbmNsdWRlICJhdDMyLXBjbS5oIgorCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBIYXJkd2FyZSBkZWZpbml0aW9uCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIFRPRE86IFRoZXNlIHZhbHVlcyB3ZXJlIHRha2VuIGZyb20gdGhlIEFUOTEgcGxhdGZvcm0gZHJpdmVyLCBjaGVjaworICoJIHRoZW0gYWdhaW5zdCByZWFsIHZhbHVlcyBmb3IgQVQzMgorICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgYXQzMl9wY21faGFyZHdhcmUgPSB7CisJLmluZm8gPSAoU05EUlZfUENNX0lORk9fTU1BUCB8CisJCSBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwKKwkJIFNORFJWX1BDTV9JTkZPX0lOVEVSTEVBVkVEIHwKKwkJIFNORFJWX1BDTV9JTkZPX0JMT0NLX1RSQU5TRkVSIHwKKwkJIFNORFJWX1BDTV9JTkZPX1BBVVNFKSwKKworCS5mb3JtYXRzID0gU05EUlZfUENNX0ZNVEJJVF9TMTYsCisJLnBlcmlvZF9ieXRlc19taW4gPSAzMiwKKwkucGVyaW9kX2J5dGVzX21heCA9IDgxOTIsCS8qIDUxMiBmcmFtZXMgKiAxNiBieXRlcyAvIGZyYW1lICovCisJLnBlcmlvZHNfbWluID0gMiwKKwkucGVyaW9kc19tYXggPSAxMDI0LAorCS5idWZmZXJfYnl0ZXNfbWF4ID0gMzIgKiAxMDI0LAorfTsKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogRGF0YSB0eXBlcworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgeworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXM7CisJZG1hX2FkZHJfdCBkbWFfYnVmZmVyOwkvKiBwaHlzaWNhbCBhZGRyZXNzIG9mIERNQSBidWZmZXIgKi8KKwlkbWFfYWRkcl90IGRtYV9idWZmZXJfZW5kOyAvKiBmaXJzdCBhZGRyZXNzIGJleW9uZCBETUEgYnVmZmVyICovCisJc2l6ZV90IHBlcmlvZF9zaXplOworCisJZG1hX2FkZHJfdCBwZXJpb2RfcHRyOwkvKiBwaHlzaWNhbCBhZGRyZXNzIG9mIG5leHQgcGVyaW9kICovCisJaW50IHBlcmlvZHM7CQkvKiBwZXJpb2QgaW5kZXggb2YgcGVyaW9kX3B0ciAqLworCisJLyogU2F2ZSBQREMgcmVnaXN0ZXJzIChmb3IgcG93ZXIgbWFuYWdlbWVudCkgKi8KKwl1MzIgcGRjX3hwcl9zYXZlOworCXUzMiBwZGNfeGNyX3NhdmU7CisJdTMyIHBkY194bnByX3NhdmU7CisJdTMyIHBkY194bmNyX3NhdmU7Cit9OworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBIZWxwZXIgZnVuY3Rpb25zCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyBpbnQgYXQzMl9wY21fcHJlYWxsb2NhdGVfZG1hX2J1ZmZlcihzdHJ1Y3Qgc25kX3BjbSAqcGNtLCBpbnQgc3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtID0gcGNtLT5zdHJlYW1zW3N0cmVhbV0uc3Vic3RyZWFtOworCXN0cnVjdCBzbmRfZG1hX2J1ZmZlciAqZG1hYnVmID0gJnN1YnN0cmVhbS0+ZG1hX2J1ZmZlcjsKKwlzaXplX3Qgc2l6ZSA9IGF0MzJfcGNtX2hhcmR3YXJlLmJ1ZmZlcl9ieXRlc19tYXg7CisKKwlkbWFidWYtPmRldi50eXBlID0gU05EUlZfRE1BX1RZUEVfREVWOworCWRtYWJ1Zi0+ZGV2LmRldiA9IHBjbS0+Y2FyZC0+ZGV2OworCWRtYWJ1Zi0+cHJpdmF0ZV9kYXRhID0gTlVMTDsKKwlkbWFidWYtPmFyZWEgPSBkbWFfYWxsb2NfY29oZXJlbnQocGNtLT5jYXJkLT5kZXYsIHNpemUsCisJCQkJCSAgJmRtYWJ1Zi0+YWRkciwgR0ZQX0tFUk5FTCk7CisJcHJfZGVidWcoImF0MzJfcGNtOiBwcmVhbGxvY2F0ZV9kbWFfYnVmZmVyOiAiCisJCSAiYXJlYT0lcCwgYWRkcj0lcCwgc2l6ZT0lbGRcbiIsCisJCSAodm9pZCAqKWRtYWJ1Zi0+YXJlYSwgKHZvaWQgKilkbWFidWYtPmFkZHIsIHNpemUpOworCisJaWYgKCFkbWFidWYtPmFyZWEpCisJCXJldHVybiAtRU5PTUVNOworCisJZG1hYnVmLT5ieXRlcyA9IHNpemU7CisJcmV0dXJuIDA7Cit9CisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIElTUgorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdm9pZCBhdDMyX3BjbV9kbWFfaXJxKHUzMiBzc2Nfc3IsIHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBydGQtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCXN0YXRpYyBpbnQgY291bnQ7CisKKwljb3VudCsrOworCWlmIChzc2Nfc3IgJiBwYXJhbXMtPm1hc2stPnNzY19lbmRidWYpIHsKKwkJcHJfd2FybmluZygiYXQzMi1wY206IGJ1ZmZlciAlcyBvbiAlcyAoU1NDX1NSPSUjeCwgY291bnQ9JWQpXG4iLAorCQkJICAgc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSyA/CisJCQkgICAidW5kZXJydW4iIDogIm92ZXJydW4iLCBwYXJhbXMtPm5hbWUsIHNzY19zciwgY291bnQpOworCisJCS8qIHJlLXN0YXJ0IHRoZSBQREMgKi8KKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgQVRNRUxfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19kaXNhYmxlKTsKKwkJcHJ0ZC0+cGVyaW9kX3B0ciArPSBwcnRkLT5wZXJpb2Rfc2l6ZTsKKwkJaWYgKHBydGQtPnBlcmlvZF9wdHIgPj0gcHJ0ZC0+ZG1hX2J1ZmZlcl9lbmQpCisJCQlwcnRkLT5wZXJpb2RfcHRyID0gcHJ0ZC0+ZG1hX2J1ZmZlcjsKKworCisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIsCisJCQkgICBwcnRkLT5wZXJpb2RfcHRyKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhjciwKKwkJCSAgIHBydGQtPnBlcmlvZF9zaXplIC8gcGFyYW1zLT5wZGNfeGZlcl9zaXplKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgQVRNRUxfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19lbmFibGUpOworCX0KKworCisJaWYgKHNzY19zciAmIHBhcmFtcy0+bWFzay0+c3NjX2VuZHgpIHsKKwkJLyogTG9hZCB0aGUgUERDIG5leHQgcG9pbnRlciBhbmQgY291bnRlciByZWdpc3RlcnMgKi8KKwkJcHJ0ZC0+cGVyaW9kX3B0ciArPSBwcnRkLT5wZXJpb2Rfc2l6ZTsKKwkJaWYgKHBydGQtPnBlcmlvZF9wdHIgPj0gcHJ0ZC0+ZG1hX2J1ZmZlcl9lbmQpCisJCQlwcnRkLT5wZXJpb2RfcHRyID0gcHJ0ZC0+ZG1hX2J1ZmZlcjsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhucHIsCisJCQkgICBwcnRkLT5wZXJpb2RfcHRyKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhuY3IsCisJCQkgICBwcnRkLT5wZXJpb2Rfc2l6ZSAvIHBhcmFtcy0+cGRjX3hmZXJfc2l6ZSk7CisJfQorCisKKwlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKHN1YnN0cmVhbSk7Cit9CisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIFBDTSBvcGVyYXRpb25zCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyBpbnQgYXQzMl9wY21faHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBydW50aW1lLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCisJLyogdGhpcyBtYXkgZ2V0IGNhbGxlZCBzZXZlcmFsIHRpbWVzIGJ5IG9zcyBlbXVsYXRpb24KKwkgKiB3aXRoIGRpZmZlcmVudCBwYXJhbXMKKwkgKi8KKwlzbmRfcGNtX3NldF9ydW50aW1lX2J1ZmZlcihzdWJzdHJlYW0sICZzdWJzdHJlYW0tPmRtYV9idWZmZXIpOworCXJ1bnRpbWUtPmRtYV9ieXRlcyA9IHBhcmFtc19idWZmZXJfYnl0ZXMocGFyYW1zKTsKKworCXBydGQtPnBhcmFtcyA9IHJ0ZC0+ZGFpLT5jcHVfZGFpLT5kbWFfZGF0YTsKKwlwcnRkLT5wYXJhbXMtPmRtYV9pbnRyX2hhbmRsZXIgPSBhdDMyX3BjbV9kbWFfaXJxOworCisJcHJ0ZC0+ZG1hX2J1ZmZlciA9IHJ1bnRpbWUtPmRtYV9hZGRyOworCXBydGQtPmRtYV9idWZmZXJfZW5kID0gcnVudGltZS0+ZG1hX2FkZHIgKyBydW50aW1lLT5kbWFfYnl0ZXM7CisJcHJ0ZC0+cGVyaW9kX3NpemUgPSBwYXJhbXNfcGVyaW9kX2J5dGVzKHBhcmFtcyk7CisKKwlwcl9kZWJ1ZygiaHdfcGFyYW1zOiBETUEgZm9yICVzIGluaXRpYWxpemVkICIKKwkJICIoZG1hX2J5dGVzPSVsZCwgcGVyaW9kX3NpemU9JWxkKVxuIiwKKwkJIHBydGQtPnBhcmFtcy0+bmFtZSwgcnVudGltZS0+ZG1hX2J5dGVzLCBwcnRkLT5wZXJpb2Rfc2l6ZSk7CisKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9wY21faHdfZnJlZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCisJaWYgKHBhcmFtcyAhPSBOVUxMKSB7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFNTQ19QRENfUFRDUiwKKwkJCSAgIHBhcmFtcy0+bWFzay0+cGRjX2Rpc2FibGUpOworCQlwcnRkLT5wYXJhbXMtPmRtYV9pbnRyX2hhbmRsZXIgPSBOVUxMOworCX0KKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIGludCBhdDMyX3BjbV9wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfSURSLAorCQkgICBwYXJhbXMtPm1hc2stPnNzY19lbmR4IHwgcGFyYW1zLT5tYXNrLT5zc2NfZW5kYnVmKTsKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBBVE1FTF9QRENfUFRDUiwKKwkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZGlzYWJsZSk7CisKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IGF0MzJfcGNtX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHJ0ZC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisJaW50IHJldCA9IDA7CisKKwlwcl9kZWJ1ZygiYXQzMl9wY21fdHJpZ2dlcjogYnVmZmVyX3NpemUgPSAlbGQsICIKKwkJICJkbWFfYXJlYSA9ICVwLCBkbWFfYnl0ZXMgPSAlbGRcbiIsCisJCSBydGQtPmJ1ZmZlcl9zaXplLCBydGQtPmRtYV9hcmVhLCBydGQtPmRtYV9ieXRlcyk7CisKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJCXBydGQtPnBlcmlvZF9wdHIgPSBwcnRkLT5kbWFfYnVmZmVyOworCisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIsCisJCQkgICBwcnRkLT5wZXJpb2RfcHRyKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhjciwKKwkJCSAgIHBydGQtPnBlcmlvZF9zaXplIC8gcGFyYW1zLT5wZGNfeGZlcl9zaXplKTsKKworCQlwcnRkLT5wZXJpb2RfcHRyICs9IHBydGQtPnBlcmlvZF9zaXplOworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5wciwKKwkJCSAgIHBydGQtPnBlcmlvZF9wdHIpOworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5jciwKKwkJCSAgIHBydGQtPnBlcmlvZF9zaXplIC8gcGFyYW1zLT5wZGNfeGZlcl9zaXplKTsKKworCQlwcl9kZWJ1ZygidHJpZ2dlcjogcGVyaW9kX3B0cj0lbHgsIHhwcj0leCwgIgorCQkJICJ4Y3I9JWQsIHhucHI9JXgsIHhuY3I9JWRcbiIsCisJCQkgKHVuc2lnbmVkIGxvbmcpcHJ0ZC0+cGVyaW9kX3B0ciwKKwkJCSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIpLAorCQkJIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhjciksCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5wciksCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5jcikpOworCisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFNTQ19JRVIsCisJCQkgICBwYXJhbXMtPm1hc2stPnNzY19lbmR4IHwgcGFyYW1zLT5tYXNrLT5zc2NfZW5kYnVmKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgU1NDX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZW5hYmxlKTsKKworCQlwcl9kZWJ1Zygic3I9JXgsIGltcj0leFxuIiwKKwkJCSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIFNTQ19TUiksCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfSUVSKSk7CisJCWJyZWFrOwkJLyogU05EUlZfUENNX1RSSUdHRVJfU1RBUlQgKi8KKworCisKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUEFVU0VfUFVTSDoKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgQVRNRUxfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19kaXNhYmxlKTsKKwkJYnJlYWs7CisKKworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUEFVU0VfUkVMRUFTRToKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgQVRNRUxfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19lbmFibGUpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXJldCA9IC1FSU5WQUw7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworCisKK3N0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBhdDMyX3BjbV9wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gcnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisJZG1hX2FkZHJfdCBwdHI7CisJc25kX3BjbV91ZnJhbWVzX3QgeDsKKworCXB0ciA9IChkbWFfYWRkcl90KSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIpOworCXggPSBieXRlc190b19mcmFtZXMocnVudGltZSwgcHRyIC0gcHJ0ZC0+ZG1hX2J1ZmZlcik7CisKKwlpZiAoeCA9PSBydW50aW1lLT5idWZmZXJfc2l6ZSkKKwkJeCA9IDA7CisKKwlyZXR1cm4geDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9wY21fb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZDsKKwlpbnQgcmV0ID0gMDsKKworCXNuZF9zb2Nfc2V0X3J1bnRpbWVfaHdwYXJhbXMoc3Vic3RyZWFtLCAmYXQzMl9wY21faGFyZHdhcmUpOworCisJLyogZW5zdXJlIHRoYXQgYnVmZmVyIHNpemUgaXMgYSBtdWx0aXBsZSBvZiBwZXJpb2Qgc2l6ZSAqLworCXJldCA9IHNuZF9wY21faHdfY29uc3RyYWludF9pbnRlZ2VyKHJ1bnRpbWUsCisJCQkJCSAgICBTTkRSVl9QQ01fSFdfUEFSQU1fUEVSSU9EUyk7CisJaWYgKHJldCA8IDApCisJCWdvdG8gb3V0OworCisJcHJ0ZCA9IGt6YWxsb2Moc2l6ZW9mKCpwcnRkKSwgR0ZQX0tFUk5FTCk7CisJaWYgKHBydGQgPT0gTlVMTCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CisJcnVudGltZS0+cHJpdmF0ZV9kYXRhID0gcHJ0ZDsKKworCitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9wY21fY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisKKwlrZnJlZShwcnRkKTsKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IGF0MzJfcGNtX21tYXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCit7CisJcmV0dXJuIHJlbWFwX3Bmbl9yYW5nZSh2bWEsIHZtYS0+dm1fc3RhcnQsCisJCQkgICAgICAgc3Vic3RyZWFtLT5kbWFfYnVmZmVyLmFkZHIgPj4gUEFHRV9TSElGVCwKKwkJCSAgICAgICB2bWEtPnZtX2VuZCAtIHZtYS0+dm1fc3RhcnQsIHZtYS0+dm1fcGFnZV9wcm90KTsKK30KKworCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgYXQzMl9wY21fb3BzID0geworCS5vcGVuID0gYXQzMl9wY21fb3BlbiwKKwkuY2xvc2UgPSBhdDMyX3BjbV9jbG9zZSwKKwkuaW9jdGwgPSBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zID0gYXQzMl9wY21faHdfcGFyYW1zLAorCS5od19mcmVlID0gYXQzMl9wY21faHdfZnJlZSwKKwkucHJlcGFyZSA9IGF0MzJfcGNtX3ByZXBhcmUsCisJLnRyaWdnZXIgPSBhdDMyX3BjbV90cmlnZ2VyLAorCS5wb2ludGVyID0gYXQzMl9wY21fcG9pbnRlciwKKwkubW1hcCA9IGF0MzJfcGNtX21tYXAsCit9OworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBBU29DIHBsYXRmb3JtIGRyaXZlcgorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdTY0IGF0MzJfcGNtX2RtYW1hc2sgPSAweGZmZmZmZmZmOworCitzdGF0aWMgaW50IGF0MzJfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCisJCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKKwkJCXN0cnVjdCBzbmRfcGNtICpwY20pCit7CisJaW50IHJldCA9IDA7CisKKwlpZiAoIWNhcmQtPmRldi0+ZG1hX21hc2spCisJCWNhcmQtPmRldi0+ZG1hX21hc2sgPSAmYXQzMl9wY21fZG1hbWFzazsKKwlpZiAoIWNhcmQtPmRldi0+Y29oZXJlbnRfZG1hX21hc2spCisJCWNhcmQtPmRldi0+Y29oZXJlbnRfZG1hX21hc2sgPSAweGZmZmZmZmZmOworCisJaWYgKGRhaS0+cGxheWJhY2suY2hhbm5lbHNfbWluKSB7CisJCXJldCA9IGF0MzJfcGNtX3ByZWFsbG9jYXRlX2RtYV9idWZmZXIoCisJCQkgIHBjbSwgU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSyk7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoZGFpLT5jYXB0dXJlLmNoYW5uZWxzX21pbikgeworCQlwcl9kZWJ1ZygiYXQzMi1wY206IEFsbG9jYXRpbmcgUENNIGNhcHR1cmUgRE1BIGJ1ZmZlclxuIik7CisJCXJldCA9IGF0MzJfcGNtX3ByZWFsbG9jYXRlX2RtYV9idWZmZXIoCisJCQkgIHBjbSwgU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gb3V0OworCX0KKworCitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworCisKK3N0YXRpYyB2b2lkIGF0MzJfcGNtX2ZyZWVfZG1hX2J1ZmZlcnMoc3RydWN0IHNuZF9wY20gKnBjbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgKmJ1ZjsKKwlpbnQgc3RyZWFtOworCisJZm9yIChzdHJlYW0gPSAwOyBzdHJlYW0gPCAyOyBzdHJlYW0rKykgeworCQlzdWJzdHJlYW0gPSBwY20tPnN0cmVhbXNbc3RyZWFtXS5zdWJzdHJlYW07CisJCWlmIChzdWJzdHJlYW0gPT0gTlVMTCkKKwkJCWNvbnRpbnVlOworCisJCWJ1ZiA9ICZzdWJzdHJlYW0tPmRtYV9idWZmZXI7CisJCWlmICghYnVmLT5hcmVhKQorCQkJY29udGludWU7CisJCWRtYV9mcmVlX2NvaGVyZW50KHBjbS0+Y2FyZC0+ZGV2LCBidWYtPmJ5dGVzLAorCQkJCSAgYnVmLT5hcmVhLCBidWYtPmFkZHIpOworCQlidWYtPmFyZWEgPSBOVUxMOworCX0KK30KKworCisKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgYXQzMl9wY21fc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBkYWktPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXM7CisKKwlpZiAocnVudGltZSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlwcnRkID0gcnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXBhcmFtcyA9IHBydGQtPnBhcmFtczsKKworCS8qIERpc2FibGUgdGhlIFBEQyBhbmQgc2F2ZSB0aGUgUERDIHJlZ2lzdGVycyAqLworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFBEQ19QVENSLCBwYXJhbXMtPm1hc2stPnBkY19kaXNhYmxlKTsKKworCXBydGQtPnBkY194cHJfc2F2ZSA9IHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhwcik7CisJcHJ0ZC0+cGRjX3hjcl9zYXZlID0gc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eGNyKTsKKwlwcnRkLT5wZGNfeG5wcl9zYXZlID0gc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5wcik7CisJcHJ0ZC0+cGRjX3huY3Jfc2F2ZSA9IHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhuY3IpOworCisJcmV0dXJuIDA7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfcGNtX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IGRhaS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQ7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtczsKKworCWlmIChydW50aW1lID09IE5VTEwpCisJCXJldHVybiAwOworCXBydGQgPSBydW50aW1lLT5wcml2YXRlX2RhdGE7CisJcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCisJLyogUmVzdG9yZSB0aGUgUERDIHJlZ2lzdGVycyBhbmQgZW5hYmxlIHRoZSBQREMgKi8KKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByLCBwcnRkLT5wZGNfeHByX3NhdmUpOworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54Y3IsIHBydGQtPnBkY194Y3Jfc2F2ZSk7CisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhucHIsIHBydGQtPnBkY194bnByX3NhdmUpOworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bmNyLCBwcnRkLT5wZGNfeG5jcl9zYXZlKTsKKworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFBEQ19QVENSLCBwYXJhbXMtPm1hc2stPnBkY19lbmFibGUpOworCXJldHVybiAwOworfQorI2Vsc2UgLyogQ09ORklHX1BNICovCisjICBkZWZpbmUgYXQzMl9wY21fc3VzcGVuZAlOVUxMCisjICBkZWZpbmUgYXQzMl9wY21fcmVzdW1lCU5VTEwKKyNlbmRpZiAvKiBDT05GSUdfUE0gKi8KKworCisKK3N0cnVjdCBzbmRfc29jX3BsYXRmb3JtIGF0MzJfc29jX3BsYXRmb3JtID0geworCS5uYW1lID0gImF0MzItYXVkaW8iLAorCS5wY21fb3BzID0gJmF0MzJfcGNtX29wcywKKwkucGNtX25ldyA9IGF0MzJfcGNtX25ldywKKwkucGNtX2ZyZWUgPSBhdDMyX3BjbV9mcmVlX2RtYV9idWZmZXJzLAorCS5zdXNwZW5kID0gYXQzMl9wY21fc3VzcGVuZCwKKwkucmVzdW1lID0gYXQzMl9wY21fcmVzdW1lLAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGF0MzJfc29jX3BsYXRmb3JtKTsKKworCisKK01PRFVMRV9BVVRIT1IoIkdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBdG1lbCBBVDMyIFBDTSBtb2R1bGUiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmggYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNTI0MzAKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qIHNvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmgKKyAqIEFTb0MgUENNIGludGVyZmFjZSBmb3IgQXRtZWwgQVQzMiBTb0MKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTG9uZyBSYW5nZSBTeXN0ZW1zCisgKiAgICBHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpZm5kZWYgX19TT1VORF9TT0NfQVQzMl9BVDMyX1BDTV9ICisjZGVmaW5lIF9fU09VTkRfU09DX0FUMzJfQVQzMl9QQ01fSCBfX0ZJTEVfXworCisjaW5jbHVkZSA8bGludXgvYXRtZWwtc3NjLmg+CisKKworLyoKKyAqIFJlZ2lzdGVycyBhbmQgc3RhdHVzIGJpdHMgdGhhdCBhcmUgcmVxdWlyZWQgYnkgdGhlIFBDTSBkcml2ZXIKKyAqIFRPRE86IElzIHB0Y3IgcmVhbGx5IHVzZWQ/CisgKi8KK3N0cnVjdCBhdDMyX3BkY19yZWdzIHsKKwl1MzIgeHByOwkJLyogUERDIFJYL1RYIHBvaW50ZXIgKi8KKwl1MzIgeGNyOwkJLyogUERDIFJYL1RYIGNvdW50ZXIgKi8KKwl1MzIgeG5wcjsJCS8qIFBEQyBuZXh0IFJYL1RYIHBvaW50ZXIgKi8KKwl1MzIgeG5jcjsJCS8qIFBEQyBuZXh0IFJYL1RYIGNvdW50ZXIgKi8KKwl1MzIgcHRjcjsJCS8qIFBEQyB0cmFuc2ZlciBjb250cm9sICovCit9OworCisKKworLyoKKyAqIFNTQyBtYXNrIGluZm8KKyAqLworc3RydWN0IGF0MzJfc3NjX21hc2sgeworCXUzMiBzc2NfZW5hYmxlOwkJLyogU1NDIFJYL1RYIGVuYWJsZSAqLworCXUzMiBzc2NfZGlzYWJsZTsJLyogU1NDIFJYL1RYIGRpc2FibGUgKi8KKwl1MzIgc3NjX2VuZHg7CQkvKiBTU0MgRU5EVFggb3IgRU5EUlggKi8KKwl1MzIgc3NjX2VuZGJ1ZjsJCS8qIFNTQyBUWEJVRkYgb3IgUlhCVUZGICovCisJdTMyIHBkY19lbmFibGU7CQkvKiBQREMgUlgvVFggZW5hYmxlICovCisJdTMyIHBkY19kaXNhYmxlOwkvKiBQREMgUlgvVFggZGlzYWJsZSAqLworfTsKKworCisKKy8qCisgKiBUaGlzIHN0cnVjdHVyZSwgc2hhcmVkIGJldHdlZW4gdGhlIFBDTSBkcml2ZXIgYW5kIHRoZSBpbnRlcmZhY2UsCisgKiBjb250YWlucyBhbGwgaW5mb3JtYXRpb24gcmVxdWlyZWQgYnkgdGhlIFBDTSBkcml2ZXIgdG8gcGVyZm9ybSB0aGUKKyAqIFBEQyBETUEgb3BlcmF0aW9uLiAgQWxsIGZpZWxkcyBleGNlcHQgZG1hX2ludHJfaGFuZGxlcigpIGFyZSBpbml0aWFsaXplZAorICogYnkgdGhlIGludGVyZmFjZS4gIFRoZSBkbXNfaW50cl9oYW5kbGVyKCkgcG9pbnRlciBpcyBzZXQgYnkgdGhlIFBDTQorICogZHJpdmVyIGFuZCBjYWxsZWQgYnkgdGhlIGludGVyZmFjZSBTU0MgaW50ZXJydXB0IGhhbmRsZXIgaWYgaXQgaXMKKyAqIG5vbi1OVUxMLgorICovCitzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyB7CisJY2hhciAqbmFtZTsJCS8qIHN0cmVhbSBpZGVudGlmaWVyICovCisJaW50IHBkY194ZmVyX3NpemU7CS8qIFBEQyBjb3VudGVyIGluY3JlbWVudCBpbiBieXRlcyAqLworCXN0cnVjdCBzc2NfZGV2aWNlICpzc2M7CS8qIFNTQyBkZXZpY2UgZm9yIHN0cmVhbSAqLworCXN0cnVjdCBhdDMyX3BkY19yZWdzICpwZGM7CS8qIFBEQyByZWdpc3RlciBpbmZvICovCisJc3RydWN0IGF0MzJfc3NjX21hc2sgKm1hc2s7CS8qIFNTQyBtYXNrIGluZm8gKi8KKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwl2b2lkICgqZG1hX2ludHJfaGFuZGxlcikgKHUzMiwgc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICopOworfTsKKworCisKKy8qCisgKiBUaGUgQVQzMiBBU29DIHBsYXRmb3JtIGRyaXZlcgorICovCitleHRlcm4gc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gYXQzMl9zb2NfcGxhdGZvcm07CisKKworCisvKgorICogU1NDIHJlZ2lzdGVyIGFjY2VzcyAoc2luY2Ugc3NjX3dyaXRlbCgpIC8gc3NjX3JlYWRsKCkgcmVxdWlyZSBsaXRlcmFsIG5hbWUpCisgKi8KKyNkZWZpbmUgc3NjX3JlYWR4KGJhc2UsIHJlZykgICAgICAgICAgICAoX19yYXdfcmVhZGwoKGJhc2UpICsgKHJlZykpKQorI2RlZmluZSBzc2Nfd3JpdGV4KGJhc2UsIHJlZywgdmFsdWUpICAgIF9fcmF3X3dyaXRlbCgodmFsdWUpLCAoYmFzZSkgKyAocmVnKSkKKworI2VuZGlmIC8qIF9fU09VTkRfU09DX0FUMzJfQVQzMl9QQ01fSCAqLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvYXQzMi1zc2MuYyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVmNjQ5MgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmMKQEAgLTAsMCArMSw4NDkgQEAKKy8qIHNvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmMKKyAqIEFTb0MgcGxhdGZvcm0gZHJpdmVyIGZvciBBVDMyIHVzaW5nIFNTQyBhcyBEQUkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTG9uZyBSYW5nZSBTeXN0ZW1zCisgKiAgICBHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGlzIGJhc2ljYWxseSBhIHBvcnQgb2YgdGhlIHNvdW5kL3NvYy9hdDkxLXNzYy5jIHRvCisgKiB0aGUgQVZSMzIga2VybmVsLiAgVGhhbmtzIHRvIEZyYW5rIE1hbmRhcmlubyBmb3IgdGhhdCBjb2RlLgorICovCisKKy8qICNkZWZpbmUgREVCVUcgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvYXRtZWxfcGRjLmg+CisjaW5jbHVkZSA8bGludXgvYXRtZWwtc3NjLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKworI2luY2x1ZGUgImF0MzItcGNtLmgiCisjaW5jbHVkZSAiYXQzMi1zc2MuaCIKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBDb25zdGFudHMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIE5VTV9TU0NfREVWSUNFUwkJMworCisvKgorICogU1NDIGRpcmVjdGlvbiBtYXNrcworICovCisjZGVmaW5lIFNTQ19ESVJfTUFTS19VTlVTRUQJMAorI2RlZmluZSBTU0NfRElSX01BU0tfUExBWUJBQ0sJMQorI2RlZmluZSBTU0NfRElSX01BU0tfQ0FQVFVSRQkyCisKKy8qCisgKiBTU0MgcmVnaXN0ZXIgdmFsdWVzIHRoYXQgQXRtZWwgbGVmdCBvdXQgb2YgPGxpbnV4L2F0bWVsLXNzYy5oPi4gIFRoZXNlCisgKiBhcmUgZXhwZWN0ZWQgdG8gYmUgdXNlZCB3aXRoIFNTQ19CRgorICovCisvKiBTVEFSVCBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19TVEFSVF9DT05USU5VT1VTCTAKKyNkZWZpbmUgU1NDX1NUQVJUX1RYX1JYCQkxCisjZGVmaW5lIFNTQ19TVEFSVF9MT1dfUkYJMgorI2RlZmluZSBTU0NfU1RBUlRfSElHSF9SRgkzCisjZGVmaW5lIFNTQ19TVEFSVF9GQUxMSU5HX1JGCTQKKyNkZWZpbmUgU1NDX1NUQVJUX1JJU0lOR19SRgk1CisjZGVmaW5lIFNTQ19TVEFSVF9MRVZFTF9SRgk2CisjZGVmaW5lIFNTQ19TVEFSVF9FREdFX1JGCTcKKyNkZWZpbmUgU1NTX1NUQVJUX0NPTVBBUkVfMAk4CisKKy8qIENLSSBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19DS0lfRkFMTElORwkJMAorI2RlZmluZSBTU0NfQ0tJX1JJU0lORwkJMQorCisvKiBDS08gYml0IGZpZWxkIHZhbHVlcyAqLworI2RlZmluZSBTU0NfQ0tPX05PTkUJCTAKKyNkZWZpbmUgU1NDX0NLT19DT05USU5VT1VTCTEKKyNkZWZpbmUgU1NDX0NLT19UUkFOU0ZFUgkyCisKKy8qIENLUyBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19DS1NfRElWCQkwCisjZGVmaW5lIFNTQ19DS1NfQ0xPQ0sJCTEKKyNkZWZpbmUgU1NDX0NLU19QSU4JCTIKKworLyogRlNFREdFIGJpdCBmaWVsZCB2YWx1ZXMgKi8KKyNkZWZpbmUgU1NDX0ZTRURHRV9QT1NJVElWRQkwCisjZGVmaW5lIFNTQ19GU0VER0VfTkVHQVRJVkUJMQorCisvKiBGU09TIGJpdCBmaWVsZCB2YWx1ZXMgKi8KKyNkZWZpbmUgU1NDX0ZTT1NfTk9ORQkJMAorI2RlZmluZSBTU0NfRlNPU19ORUdBVElWRQkxCisjZGVmaW5lIFNTQ19GU09TX1BPU0lUSVZFCTIKKyNkZWZpbmUgU1NDX0ZTT1NfTE9XCQkzCisjZGVmaW5lIFNTQ19GU09TX0hJR0gJCTQKKyNkZWZpbmUgU1NDX0ZTT1NfVE9HR0xFCQk1CisKKyNkZWZpbmUgU1RBUlRfREVMQVkJCTEKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBNb2R1bGUgZGF0YQorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qCisgKiBTU0MgUERDIHJlZ2lzdGVyZWQgcmVxdWlyZWQgYnkgdGhlIFBDTSBETUEgZW5naW5lCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQzMl9wZGNfcmVncyBwZGNfdHhfcmVnID0geworCS54cHIgPSBTU0NfUERDX1RQUiwKKwkueGNyID0gU1NDX1BEQ19UQ1IsCisJLnhucHIgPSBTU0NfUERDX1ROUFIsCisJLnhuY3IgPSBTU0NfUERDX1ROQ1IsCit9OworCisKKworc3RhdGljIHN0cnVjdCBhdDMyX3BkY19yZWdzIHBkY19yeF9yZWcgPSB7CisJLnhwciA9IFNTQ19QRENfUlBSLAorCS54Y3IgPSBTU0NfUERDX1JDUiwKKwkueG5wciA9IFNTQ19QRENfUk5QUiwKKwkueG5jciA9IFNTQ19QRENfUk5DUiwKK307CisKKworCisvKgorICogU1NDIGFuZCBQREMgc3RhdHVzIGJpdHMgZm9yIHRyYW5zbWl0IGFuZCByZWNlaXZlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQzMl9zc2NfbWFzayBzc2NfdHhfbWFzayA9IHsKKwkuc3NjX2VuYWJsZSA9IFNTQ19CSVQoQ1JfVFhFTiksCisJLnNzY19kaXNhYmxlID0gU1NDX0JJVChDUl9UWERJUyksCisJLnNzY19lbmR4ID0gU1NDX0JJVChTUl9FTkRUWCksCisJLnNzY19lbmRidWYgPSBTU0NfQklUKFNSX1RYQlVGRSksCisJLnBkY19lbmFibGUgPSBTU0NfQklUKFBEQ19QVENSX1RYVEVOKSwKKwkucGRjX2Rpc2FibGUgPSBTU0NfQklUKFBEQ19QVENSX1RYVERJUyksCit9OworCisKKworc3RhdGljIHN0cnVjdCBhdDMyX3NzY19tYXNrIHNzY19yeF9tYXNrID0geworCS5zc2NfZW5hYmxlID0gU1NDX0JJVChDUl9SWEVOKSwKKwkuc3NjX2Rpc2FibGUgPSBTU0NfQklUKENSX1JYRElTKSwKKwkuc3NjX2VuZHggPSBTU0NfQklUKFNSX0VORFJYKSwKKwkuc3NjX2VuZGJ1ZiA9IFNTQ19CSVQoU1JfUlhCVUZGKSwKKwkucGRjX2VuYWJsZSA9IFNTQ19CSVQoUERDX1BUQ1JfUlhURU4pLAorCS5wZGNfZGlzYWJsZSA9IFNTQ19CSVQoUERDX1BUQ1JfUlhURElTKSwKK307CisKKworCisvKgorICogRE1BIHBhcmFtZXRlcnMgZm9yIGVhY2ggU1NDCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyBzc2NfZG1hX3BhcmFtc1tOVU1fU1NDX0RFVklDRVNdWzJdID0geworCXsKKwkgeworCSAgLm5hbWUgPSAiU1NDMCBQQ00gb3V0IiwKKwkgIC5wZGMgPSAmcGRjX3R4X3JlZywKKwkgIC5tYXNrID0gJnNzY190eF9tYXNrLAorCSAgfSwKKwkgeworCSAgLm5hbWUgPSAiU1NDMCBQQ00gaW4iLAorCSAgLnBkYyA9ICZwZGNfcnhfcmVnLAorCSAgLm1hc2sgPSAmc3NjX3J4X21hc2ssCisJICB9LAorCSB9LAorCXsKKwkgeworCSAgLm5hbWUgPSAiU1NDMSBQQ00gb3V0IiwKKwkgIC5wZGMgPSAmcGRjX3R4X3JlZywKKwkgIC5tYXNrID0gJnNzY190eF9tYXNrLAorCSAgfSwKKwkgeworCSAgLm5hbWUgPSAiU1NDMSBQQ00gaW4iLAorCSAgLnBkYyA9ICZwZGNfcnhfcmVnLAorCSAgLm1hc2sgPSAmc3NjX3J4X21hc2ssCisJICB9LAorCSB9LAorCXsKKwkgeworCSAgLm5hbWUgPSAiU1NDMiBQQ00gb3V0IiwKKwkgIC5wZGMgPSAmcGRjX3R4X3JlZywKKwkgIC5tYXNrID0gJnNzY190eF9tYXNrLAorCSAgfSwKKwkgeworCSAgLm5hbWUgPSAiU1NDMiBQQ00gaW4iLAorCSAgLnBkYyA9ICZwZGNfcnhfcmVnLAorCSAgLm1hc2sgPSAmc3NjX3J4X21hc2ssCisJICB9LAorCSB9LAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3QgYXQzMl9zc2NfaW5mbyBzc2NfaW5mb1tOVU1fU1NDX0RFVklDRVNdID0geworCXsKKwkgLm5hbWUgPSAic3NjMCIsCisJIC5sb2NrID0gX19TUElOX0xPQ0tfVU5MT0NLRUQoc3NjX2luZm9bMF0ubG9jayksCisJIC5kaXJfbWFzayA9IFNTQ19ESVJfTUFTS19VTlVTRUQsCisJIC5pbml0aWFsaXplZCA9IDAsCisJIH0sCisJeworCSAubmFtZSA9ICJzc2MxIiwKKwkgLmxvY2sgPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzc2NfaW5mb1sxXS5sb2NrKSwKKwkgLmRpcl9tYXNrID0gU1NDX0RJUl9NQVNLX1VOVVNFRCwKKwkgLmluaXRpYWxpemVkID0gMCwKKwkgfSwKKwl7CisJIC5uYW1lID0gInNzYzIiLAorCSAubG9jayA9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHNzY19pbmZvWzJdLmxvY2spLAorCSAuZGlyX21hc2sgPSBTU0NfRElSX01BU0tfVU5VU0VELAorCSAuaW5pdGlhbGl6ZWQgPSAwLAorCSB9LAorfTsKKworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIElTUgorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qCisgKiBTU0MgaW50ZXJydXB0IGhhbmRsZXIuICBQYXNzZXMgUERDIGludGVycnVwdHMgdG8gdGhlIERNQSBpbnRlcnJ1cHQKKyAqIGhhbmRsZXIgaW4gdGhlIFBDTSBkcml2ZXIuCisgKi8KK3N0YXRpYyBpcnFyZXR1cm5fdCBhdDMyX3NzY19pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9IGRldl9pZDsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqZG1hX3BhcmFtczsKKwl1MzIgc3NjX3NyOworCXUzMiBzc2Nfc3Vic3RyZWFtX21hc2s7CisJaW50IGk7CisKKwlzc2Nfc3IgPSAoc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFNSKSAmCisJCSAgc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIElNUikpOworCisJLyoKKwkgKiBMb29wIHRocm91Z2ggc3Vic3RyZWFtcyBhdHRhY2hlZCB0byB0aGlzIFNTQy4gIElmIGEgRE1BLXJlbGF0ZWQKKwkgKiBpbnRlcnJ1cHQgb2NjdXJlZCBvbiB0aGF0IHN1YnN0cmVhbSwgY2FsbCB0aGUgRE1BIGludGVycnVwdAorCSAqIGhhbmRsZXIgZnVuY3Rpb24sIGlmIG9uZSBoYXMgYmVlbiByZWdpc3RlcmVkIGluIHRoZSBkbWFfcGFyYW0KKwkgKiBzdHJ1Y3R1cmUgYnkgdGhlIFBDTSBkcml2ZXIuCisJICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3NjX3AtPmRtYV9wYXJhbXMpOyBpKyspIHsKKwkJZG1hX3BhcmFtcyA9IHNzY19wLT5kbWFfcGFyYW1zW2ldOworCisJCWlmICgoZG1hX3BhcmFtcyAhPSBOVUxMKSAmJgorCQkgICAgKGRtYV9wYXJhbXMtPmRtYV9pbnRyX2hhbmRsZXIgIT0gTlVMTCkpIHsKKwkJCXNzY19zdWJzdHJlYW1fbWFzayA9IChkbWFfcGFyYW1zLT5tYXNrLT5zc2NfZW5keCB8CisJCQkJCSAgICAgIGRtYV9wYXJhbXMtPm1hc2stPnNzY19lbmRidWYpOworCQkJaWYgKHNzY19zciAmIHNzY19zdWJzdHJlYW1fbWFzaykgeworCQkJCWRtYV9wYXJhbXMtPmRtYV9pbnRyX2hhbmRsZXIoc3NjX3NyLAorCQkJCQkJCSAgICAgZG1hX3BhcmFtcy0+CisJCQkJCQkJICAgICBzdWJzdHJlYW0pOworCQkJfQorCQl9CisJfQorCisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBEQUkgZnVuY3Rpb25zCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoKKyAqIFN0YXJ0dXAuICBPbmx5IHRoYXQgb25lIHN1YnN0cmVhbSBhbGxvd2VkIGluIGVhY2ggZGlyZWN0aW9uLgorICovCitzdGF0aWMgaW50IGF0MzJfc3NjX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tydGQtPmRhaS0+Y3B1X2RhaS0+aWRdOworCWludCBkaXJfbWFzazsKKworCWRpcl9tYXNrID0gKChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKSA/CisJCSAgICBTU0NfRElSX01BU0tfUExBWUJBQ0sgOiBTU0NfRElSX01BU0tfQ0FQVFVSRSk7CisKKwlzcGluX2xvY2tfaXJxKCZzc2NfcC0+bG9jayk7CisJaWYgKHNzY19wLT5kaXJfbWFzayAmIGRpcl9tYXNrKSB7CisJCXNwaW5fdW5sb2NrX2lycSgmc3NjX3AtPmxvY2spOworCQlyZXR1cm4gLUVCVVNZOworCX0KKwlzc2NfcC0+ZGlyX21hc2sgfD0gZGlyX21hc2s7CisJc3Bpbl91bmxvY2tfaXJxKCZzc2NfcC0+bG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworCisKKy8qCisgKiBTaHV0ZG93bi4gIENsZWFyIERNQSBwYXJhbWV0ZXJzIGFuZCBzaHV0ZG93biB0aGUgU1NDIGlmIHRoZXJlCisgKiBhcmUgbm8gb3RoZXIgc3Vic3RyZWFtcyBvcGVuLgorICovCitzdGF0aWMgdm9pZCBhdDMyX3NzY19zaHV0ZG93bihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW3J0ZC0+ZGFpLT5jcHVfZGFpLT5pZF07CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKmRtYV9wYXJhbXM7CisJaW50IGRpcl9tYXNrOworCisJZG1hX3BhcmFtcyA9IHNzY19wLT5kbWFfcGFyYW1zW3N1YnN0cmVhbS0+c3RyZWFtXTsKKworCWlmIChkbWFfcGFyYW1zICE9IE5VTEwpIHsKKwkJc3NjX3dyaXRlbChkbWFfcGFyYW1zLT5zc2MtPnJlZ3MsIENSLAorCQkJICAgZG1hX3BhcmFtcy0+bWFzay0+c3NjX2Rpc2FibGUpOworCQlwcl9kZWJ1ZygiJXMgZGlzYWJsZWQgU1NDX1NSPTB4JTA4eFxuIiwKKwkJCSAoc3Vic3RyZWFtLT5zdHJlYW0gPyAicmVjZWl2ZXIiIDogInRyYW5zbWl0IiksCisJCQkgc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFNSKSk7CisKKwkJZG1hX3BhcmFtcy0+c3NjID0gTlVMTDsKKwkJZG1hX3BhcmFtcy0+c3Vic3RyZWFtID0gTlVMTDsKKwkJc3NjX3AtPmRtYV9wYXJhbXNbc3Vic3RyZWFtLT5zdHJlYW1dID0gTlVMTDsKKwl9CisKKworCWRpcl9tYXNrID0gMSA8PCBzdWJzdHJlYW0tPnN0cmVhbTsKKwlzcGluX2xvY2tfaXJxKCZzc2NfcC0+bG9jayk7CisJc3NjX3AtPmRpcl9tYXNrICY9IH5kaXJfbWFzazsKKwlpZiAoIXNzY19wLT5kaXJfbWFzaykgeworCQkvKiBTaHV0ZG93biB0aGUgU1NDIGNsb2NrICovCisJCXByX2RlYnVnKCJhdDMyLXNzYzogU3RvcHBpbmcgdXNlciAlZCBjbG9ja1xuIiwKKwkJCSBzc2NfcC0+c3NjLT51c2VyKTsKKwkJY2xrX2Rpc2FibGUoc3NjX3AtPnNzYy0+Y2xrKTsKKworCQlpZiAoc3NjX3AtPmluaXRpYWxpemVkKSB7CisJCQlmcmVlX2lycShzc2NfcC0+c3NjLT5pcnEsIHNzY19wKTsKKwkJCXNzY19wLT5pbml0aWFsaXplZCA9IDA7CisJCX0KKworCQkvKiBSZXNldCB0aGUgU1NDICovCisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ1IsIFNTQ19CSVQoQ1JfU1dSU1QpKTsKKworCQkvKiBjbGVhciB0aGUgU1NDIGRpdmlkZXJzICovCisJCXNzY19wLT5jbXJfZGl2ID0gMDsKKwkJc3NjX3AtPnRjbXJfcGVyaW9kID0gMDsKKwkJc3NjX3AtPnJjbXJfcGVyaW9kID0gMDsKKwl9CisJc3Bpbl91bmxvY2tfaXJxKCZzc2NfcC0+bG9jayk7Cit9CisKKworCisvKgorICogU2V0IHRoZSBTU0Mgc3lzdGVtIGNsb2NrIHJhdGUKKyAqLworc3RhdGljIGludCBhdDMyX3NzY19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCisJCQkJICAgaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCit7CisJLyogVE9ETzogV2hhdCB0aGUgaGVjayBkbyBJIGRvIGhlcmU/ICovCisJcmV0dXJuIDA7Cit9CisKKworCisvKgorICogUmVjb3JkIERBSSBmb3JtYXQgZm9yIHVzZSBieSBod19wYXJhbXMoKQorICovCitzdGF0aWMgaW50IGF0MzJfc3NjX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKKwkJCQl1bnNpZ25lZCBpbnQgZm10KQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tjcHVfZGFpLT5pZF07CisKKwlzc2NfcC0+ZGFpZm10ID0gZm10OworCXJldHVybiAwOworfQorCisKKworLyoKKyAqIFJlY29yZCBTU0MgY2xvY2sgZGl2aWRlcnMgZm9yIHVzZSBpbiBod19wYXJhbXMoKQorICovCitzdGF0aWMgaW50IGF0MzJfc3NjX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKKwkJCQkgICBpbnQgZGl2X2lkLCBpbnQgZGl2KQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tjcHVfZGFpLT5pZF07CisKKwlzd2l0Y2ggKGRpdl9pZCkgeworCWNhc2UgQVQzMl9TU0NfQ01SX0RJVjoKKwkJLyoKKwkJICogVGhlIHNhbWUgbWFzdGVyIGNsb2NrIGRpdmlkZXIgaXMgdXNlZCBmb3IgYm90aAorCQkgKiB0cmFuc21pdCBhbmQgcmVjZWl2ZSwgc28gaWYgYSB2YWx1ZSBoYXMgYWxyZWFkeQorCQkgKiBiZWVuIHNldCwgaXQgbXVzdCBtYXRjaCB0aGlzIHZhbHVlCisJCSAqLworCQlpZiAoc3NjX3AtPmNtcl9kaXYgPT0gMCkKKwkJCXNzY19wLT5jbXJfZGl2ID0gZGl2OworCQllbHNlIGlmIChkaXYgIT0gc3NjX3AtPmNtcl9kaXYpCisJCQlyZXR1cm4gLUVCVVNZOworCQlicmVhazsKKworCWNhc2UgQVQzMl9TU0NfVENNUl9QRVJJT0Q6CisJCXNzY19wLT50Y21yX3BlcmlvZCA9IGRpdjsKKwkJYnJlYWs7CisKKwljYXNlIEFUMzJfU1NDX1JDTVJfUEVSSU9EOgorCQlzc2NfcC0+cmNtcl9wZXJpb2QgPSBkaXY7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKworCisvKgorICogQ29uZmlndXJlIHRoZSBTU0MKKyAqLworc3RhdGljIGludCBhdDMyX3NzY19od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJaW50IGlkID0gcnRkLT5kYWktPmNwdV9kYWktPmlkOworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tpZF07CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKmRtYV9wYXJhbXM7CisJaW50IGNoYW5uZWxzLCBiaXRzOworCXUzMiB0Zm1yLCByZm1yLCB0Y21yLCByY21yOworCWludCBzdGFydF9ldmVudDsKKwlpbnQgcmV0OworCisKKwkvKgorCSAqIEN1cnJlbnRseSwgdGhlcmUgaXMgb25seSBvbmUgc2V0IG9mIGRtYV9wYXJhbXMgZm9yIGVhY2ggZGlyZWN0aW9uLgorCSAqIElmIG1vcmUgYXJlIGFkZGVkLCB0aGlzIGNvZGUgd2lsbCBoYXZlIHRvIGJlIGNoYW5nZWQgdG8gc2VsZWN0CisJICogdGhlIHByb3BlciBzZXQKKwkgKi8KKwlkbWFfcGFyYW1zID0gJnNzY19kbWFfcGFyYW1zW2lkXVtzdWJzdHJlYW0tPnN0cmVhbV07CisJZG1hX3BhcmFtcy0+c3NjID0gc3NjX3AtPnNzYzsKKwlkbWFfcGFyYW1zLT5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisKKwlzc2NfcC0+ZG1hX3BhcmFtc1tzdWJzdHJlYW0tPnN0cmVhbV0gPSBkbWFfcGFyYW1zOworCisKKwkvKgorCSAqIFRoZSBjcHVfZGFpLT5kbWFfZGF0YSBmaWVsZCBpcyBvbmx5IHVzZWQgdG8gY29tbXVuaWNhdGUgdGhlCisJICogYXBwcm9wcmlhdGUgRE1BIHBhcmFtZXRlcnMgdG8gdGhlIFBDTSBkcml2ZXIncyBod19wYXJhbXMoKQorCSAqIGZ1bmN0aW9uLiAgSXQgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBvdGhlciBwdXJwb3NlcyBhcyBpdAorCSAqIGlzIGNvbW1vbiB0byBhbGwgc3Vic3RyZWFtcy4KKwkgKi8KKwlydGQtPmRhaS0+Y3B1X2RhaS0+ZG1hX2RhdGEgPSBkbWFfcGFyYW1zOworCisJY2hhbm5lbHMgPSBwYXJhbXNfY2hhbm5lbHMocGFyYW1zKTsKKworCisJLyoKKwkgKiBEZXRlcm1pbmUgc2FtcGxlIHNpemUgaW4gYml0cyBhbmQgdGhlIFBEQyBpbmNyZW1lbnQKKwkgKi8KKwlzd2l0Y2ggKHBhcmFtc19mb3JtYXQocGFyYW1zKSkgeworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TODoKKwkJYml0cyA9IDg7CisJCWRtYV9wYXJhbXMtPnBkY194ZmVyX3NpemUgPSAxOworCQlicmVhazsKKworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMTY6CisJCWJpdHMgPSAxNjsKKwkJZG1hX3BhcmFtcy0+cGRjX3hmZXJfc2l6ZSA9IDI7CisJCWJyZWFrOworCisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MyNDoKKwkJYml0cyA9IDI0OworCQlkbWFfcGFyYW1zLT5wZGNfeGZlcl9zaXplID0gNDsKKwkJYnJlYWs7CisKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzMyOgorCQliaXRzID0gMzI7CisJCWRtYV9wYXJhbXMtPnBkY194ZmVyX3NpemUgPSA0OworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXByX3dhcm5pbmcoImF0MzItc3NjOiBVbnN1cHBvcnRlZCBQQ00gZm9ybWF0ICVkIiwKKwkJCSAgIHBhcmFtc19mb3JtYXQocGFyYW1zKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlwcl9kZWJ1ZygiYXQzMi1zc2M6IGJpdHMgPSAlZCwgcGRjX3hmZXJfc2l6ZSA9ICVkLCBjaGFubmVscyA9ICVkXG4iLAorCQkgYml0cywgZG1hX3BhcmFtcy0+cGRjX3hmZXJfc2l6ZSwgY2hhbm5lbHMpOworCisKKwkvKgorCSAqIFRoZSBTU0Mgb25seSBzdXBwb3J0cyB1cCB0byAxNi1iaXQgc2FtcGxlcyBpbiBJMlMgZm9ybWF0LCBkdWUKKwkgKiB0byB0aGUgc2l6ZSBvZiB0aGUgRnJhbWUgTW9kZSBSZWdpc3RlciBGU0xFTiBmaWVsZC4KKwkgKi8KKwlpZiAoKHNzY19wLT5kYWlmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgPT0gU05EX1NPQ19EQUlGTVRfSTJTKQorCQlpZiAoYml0cyA+IDE2KSB7CisJCQlwcl93YXJuaW5nKCJhdDMyLXNzYzogIgorCQkJCSAgICJzYW1wbGUgc2l6ZSAlZCBpcyB0b28gbGFyZ2UgZm9yIEkyU1xuIiwKKwkJCQkgICBiaXRzKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKworCS8qCisJICogQ29tcHV0ZSB0aGUgU1NDIHJlZ2lzdGVyIHNldHRpbmdzCisJICovCisJc3dpdGNoIChzc2NfcC0+ZGFpZm10ICYgKFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLIHwKKwkJCQkgU05EX1NPQ19EQUlGTVRfTUFTVEVSX01BU0spKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTOgorCQkvKgorCQkgKiBJMlMgZm9ybWF0LCBTU0MgcHJvdmlkZXMgQkNMSyBhbmQgTFJTIGNsb2Nrcy4KKwkJICoKKwkJICogVGhlIFNTQyB0cmFuc21pdCBhbmQgcmVjZWl2ZSBjbG9ja3MgYXJlIGdlbmVyYXRlZCBmcm9tIHRoZQorCQkgKiBNQ0sgZGl2aWRlciwgYW5kIHRoZSBCQ0xLIHNpZ25hbCBpcyBvdXRwdXQgb24gdGhlIFNTQyBUSyBsaW5lCisJCSAqLworCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFNTQyBtb2RlIGlzIEkyUyBCQ0xLIC8gRlJBTUUgbWFzdGVyXG4iKTsKKwkJcmNtciA9IChTU0NfQkYoUkNNUl9QRVJJT0QsIHNzY19wLT5yY21yX3BlcmlvZCkgfAorCQkJU1NDX0JGKFJDTVJfU1RURExZLCBTVEFSVF9ERUxBWSkgfAorCQkJU1NDX0JGKFJDTVJfU1RBUlQsIFNTQ19TVEFSVF9GQUxMSU5HX1JGKSB8CisJCQlTU0NfQkYoUkNNUl9DS0ksIFNTQ19DS0lfUklTSU5HKSB8CisJCQlTU0NfQkYoUkNNUl9DS08sIFNTQ19DS09fTk9ORSkgfAorCQkJU1NDX0JGKFJDTVJfQ0tTLCBTU0NfQ0tTX0RJVikpOworCisJCXJmbXIgPSAoU1NDX0JGKFJGTVJfRlNFREdFLCBTU0NfRlNFREdFX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoUkZNUl9GU09TLCBTU0NfRlNPU19ORUdBVElWRSkgfAorCQkJU1NDX0JGKFJGTVJfRlNMRU4sIGJpdHMgLSAxKSB8CisJCQlTU0NfQkYoUkZNUl9EQVROQiwgY2hhbm5lbHMgLSAxKSB8CisJCQlTU0NfQklUKFJGTVJfTVNCRikgfCBTU0NfQkYoUkZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisKKwkJdGNtciA9IChTU0NfQkYoVENNUl9QRVJJT0QsIHNzY19wLT50Y21yX3BlcmlvZCkgfAorCQkJU1NDX0JGKFRDTVJfU1RURExZLCBTVEFSVF9ERUxBWSkgfAorCQkJU1NDX0JGKFRDTVJfU1RBUlQsIFNTQ19TVEFSVF9GQUxMSU5HX1JGKSB8CisJCQlTU0NfQkYoVENNUl9DS0ksIFNTQ19DS0lfRkFMTElORykgfAorCQkJU1NDX0JGKFRDTVJfQ0tPLCBTU0NfQ0tPX0NPTlRJTlVPVVMpIHwKKwkJCVNTQ19CRihUQ01SX0NLUywgU1NDX0NLU19ESVYpKTsKKworCQl0Zm1yID0gKFNTQ19CRihURk1SX0ZTRURHRSwgU1NDX0ZTRURHRV9QT1NJVElWRSkgfAorCQkJU1NDX0JGKFRGTVJfRlNPUywgU1NDX0ZTT1NfTkVHQVRJVkUpIHwKKwkJCVNTQ19CRihURk1SX0ZTTEVOLCBiaXRzIC0gMSkgfAorCQkJU1NDX0JGKFRGTVJfREFUTkIsIGNoYW5uZWxzIC0gMSkgfCBTU0NfQklUKFRGTVJfTVNCRikgfAorCQkJU1NDX0JGKFRGTVJfREFUTEVOLCBiaXRzIC0gMSkpOworCQlicmVhazsKKworCisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNOgorCQkvKgorCQkgKiBJMlMgZm9ybWF0LCBDT0RFQyBzdXBwbGllcyBCQ0xLIGFuZCBMUkMgY2xvY2suCisJCSAqCisJCSAqIFRoZSBTU0MgdHJhbnNtaXQgY2xvY2sgaXMgb2J0YWluZWQgZnJvbSB0aGUgQkNMSyBzaWduYWwKKwkJICogb24gdGhlIFRLIGxpbmUsIGFuZCB0aGUgU1NDIHJlY2VpdmUgY2xvY2sgaXMgZ2VuZXJhdGVkIGZyb20KKwkJICogdGhlIHRyYW5zbWl0IGNsb2NrLgorCQkgKgorCQkgKiBGb3Igc2luZ2xlIGNoYW5uZWwgZGF0YSwgb25lIHNhbXBsZSBpcyB0cmFuc2ZlcnJlZCBvbiB0aGUKKwkJICogZmFsbGluZyBlZGdlIG9mIHRoZSBMUkMgY2xvY2suICBGb3IgdHdvIGNoYW5uZWwgZGF0YSwgb25lCisJCSAqIHNhbXBsZSBpcyB0cmFuc2ZlcnJlZCBvbiBib3RoIGVkZ2VzIG9mIHRoZSBMUkMgY2xvY2suCisJCSAqLworCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFNTQyBtb2RlIGlzIEkyUyBCQ0xLIC8gRlJBTUUgc2xhdmVcbiIpOworCQlzdGFydF9ldmVudCA9ICgoY2hhbm5lbHMgPT0gMSkgPworCQkJICAgICAgIFNTQ19TVEFSVF9GQUxMSU5HX1JGIDogU1NDX1NUQVJUX0VER0VfUkYpOworCisJCXJjbXIgPSAoU1NDX0JGKFJDTVJfU1RURExZLCBTVEFSVF9ERUxBWSkgfAorCQkJU1NDX0JGKFJDTVJfU1RBUlQsIHN0YXJ0X2V2ZW50KSB8CisJCQlTU0NfQkYoUkNNUl9DS0ksIFNTQ19DS0lfUklTSU5HKSB8CisJCQlTU0NfQkYoUkNNUl9DS08sIFNTQ19DS09fTk9ORSkgfAorCQkJU1NDX0JGKFJDTVJfQ0tTLCBTU0NfQ0tTX0NMT0NLKSk7CisKKwkJcmZtciA9IChTU0NfQkYoUkZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihSRk1SX0ZTT1MsIFNTQ19GU09TX05PTkUpIHwKKwkJCVNTQ19CSVQoUkZNUl9NU0JGKSB8IFNTQ19CRihSRk1SX0RBVExFTiwgYml0cyAtIDEpKTsKKworCQl0Y21yID0gKFNTQ19CRihUQ01SX1NUVERMWSwgU1RBUlRfREVMQVkpIHwKKwkJCVNTQ19CRihUQ01SX1NUQVJULCBzdGFydF9ldmVudCkgfAorCQkJU1NDX0JGKFRDTVJfQ0tJLCBTU0NfQ0tJX0ZBTExJTkcpIHwKKwkJCVNTQ19CRihUQ01SX0NLTywgU1NDX0NLT19OT05FKSB8CisJCQlTU0NfQkYoVENNUl9DS1MsIFNTQ19DS1NfUElOKSk7CisKKwkJdGZtciA9IChTU0NfQkYoVEZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihURk1SX0ZTT1MsIFNTQ19GU09TX05PTkUpIHwKKwkJCVNTQ19CSVQoVEZNUl9NU0JGKSB8IFNTQ19CRihURk1SX0RBVExFTiwgYml0cyAtIDEpKTsKKwkJYnJlYWs7CisKKworCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0EgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTOgorCQkvKgorCQkgKiBEU1AvUENNIE1vZGUgQSBmb3JtYXQsIFNTQyBwcm92aWRlcyBCQ0xLIGFuZCBMUkMgY2xvY2tzLgorCQkgKgorCQkgKiBUaGUgU1NDIHRyYW5zbWl0IGFuZCByZWNlaXZlIGNsb2NrcyBhcmUgZ2VuZXJhdGVkIGZyb20gdGhlCisJCSAqIE1DSyBkaXZpZGVyLCBhbmQgdGhlIEJDTEsgc2lnbmFsIGlzIG91dHB1dCBvbiB0aGUgU1NDIFRLIGxpbmUKKwkJICovCisJCXByX2RlYnVnKCJhdDMyLXNzYzogU1NDIG1vZGUgaXMgRFNQIEEgQkNMSyAvIEZSQU1FIG1hc3RlclxuIik7CisJCXJjbXIgPSAoU1NDX0JGKFJDTVJfUEVSSU9ELCBzc2NfcC0+cmNtcl9wZXJpb2QpIHwKKwkJCVNTQ19CRihSQ01SX1NUVERMWSwgMSkgfAorCQkJU1NDX0JGKFJDTVJfU1RBUlQsIFNTQ19TVEFSVF9SSVNJTkdfUkYpIHwKKwkJCVNTQ19CRihSQ01SX0NLSSwgU1NDX0NLSV9SSVNJTkcpIHwKKwkJCVNTQ19CRihSQ01SX0NLTywgU1NDX0NLT19OT05FKSB8CisJCQlTU0NfQkYoUkNNUl9DS1MsIFNTQ19DS1NfRElWKSk7CisKKwkJcmZtciA9IChTU0NfQkYoUkZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihSRk1SX0ZTT1MsIFNTQ19GU09TX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoUkZNUl9EQVROQiwgY2hhbm5lbHMgLSAxKSB8CisJCQlTU0NfQklUKFJGTVJfTVNCRikgfCBTU0NfQkYoUkZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisKKwkJdGNtciA9IChTU0NfQkYoVENNUl9QRVJJT0QsIHNzY19wLT50Y21yX3BlcmlvZCkgfAorCQkJU1NDX0JGKFRDTVJfU1RURExZLCAxKSB8CisJCQlTU0NfQkYoVENNUl9TVEFSVCwgU1NDX1NUQVJUX1JJU0lOR19SRikgfAorCQkJU1NDX0JGKFRDTVJfQ0tJLCBTU0NfQ0tJX1JJU0lORykgfAorCQkJU1NDX0JGKFRDTVJfQ0tPLCBTU0NfQ0tPX0NPTlRJTlVPVVMpIHwKKwkJCVNTQ19CRihUQ01SX0NLUywgU1NDX0NLU19ESVYpKTsKKworCQl0Zm1yID0gKFNTQ19CRihURk1SX0ZTRURHRSwgU1NDX0ZTRURHRV9QT1NJVElWRSkgfAorCQkJU1NDX0JGKFRGTVJfRlNPUywgU1NDX0ZTT1NfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihURk1SX0RBVE5CLCBjaGFubmVscyAtIDEpIHwKKwkJCVNTQ19CSVQoVEZNUl9NU0JGKSB8IFNTQ19CRihURk1SX0RBVExFTiwgYml0cyAtIDEpKTsKKwkJYnJlYWs7CisKKworCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0EgfCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNOgorCWRlZmF1bHQ6CisJCXByX3dhcm5pbmcoImF0MzItc3NjOiB1bnN1cHBvcnRlZCBEQUkgZm9ybWF0IDB4JXhcbiIsCisJCQkgICBzc2NfcC0+ZGFpZm10KTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJCWJyZWFrOworCX0KKwlwcl9kZWJ1ZygiYXQzMi1zc2M6IFJDTVI9JTA4eCBSRk1SPSUwOHggVENNUj0lMDh4IFRGTVI9JTA4eFxuIiwKKwkJIHJjbXIsIHJmbXIsIHRjbXIsIHRmbXIpOworCisKKwlpZiAoIXNzY19wLT5pbml0aWFsaXplZCkgeworCQkvKiBlbmFibGUgcGVyaXBoZXJhbCBjbG9jayAqLworCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFN0YXJ0aW5nIGNsb2NrXG4iKTsKKwkJY2xrX2VuYWJsZShzc2NfcC0+c3NjLT5jbGspOworCisJCS8qIFJlc2V0IHRoZSBTU0MgYW5kIGl0cyBQREMgcmVnaXN0ZXJzICovCisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ1IsIFNTQ19CSVQoQ1JfU1dSU1QpKTsKKworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19SUFIsIDApOworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19SQ1IsIDApOworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19STlBSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfUk5DUiwgMCk7CisKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfVFBSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfVENSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfVE5QUiwgMCk7CisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1ROQ1IsIDApOworCisJCXJldCA9IHJlcXVlc3RfaXJxKHNzY19wLT5zc2MtPmlycSwgYXQzMl9zc2NfaW50ZXJydXB0LCAwLAorCQkJCSAgc3NjX3AtPm5hbWUsIHNzY19wKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXByX3dhcm5pbmcoImF0MzItc3NjOiByZXF1ZXN0IGlycSBmYWlsZWQgKCVkKVxuIiwgcmV0KTsKKwkJCXByX2RlYnVnKCJhdDMyLXNzYzogU3RvcHBpbmcgY2xvY2tcbiIpOworCQkJY2xrX2Rpc2FibGUoc3NjX3AtPnNzYy0+Y2xrKTsKKwkJCXJldHVybiByZXQ7CisJCX0KKworCQlzc2NfcC0+aW5pdGlhbGl6ZWQgPSAxOworCX0KKworCS8qIFNldCBTU0MgY2xvY2sgbW9kZSByZWdpc3RlciAqLworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ01SLCBzc2NfcC0+Y21yX2Rpdik7CisKKwkvKiBzZXQgcmVjZWl2ZSBjbG9jayBtb2RlIGFuZCBmb3JtYXQgKi8KKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFJDTVIsIHJjbXIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUkZNUiwgcmZtcik7CisKKwkvKiBzZXQgdHJhbnNtaXQgY2xvY2sgbW9kZSBhbmQgZm9ybWF0ICovCisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBUQ01SLCB0Y21yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFRGTVIsIHRmbXIpOworCisJcHJfZGVidWcoImF0MzItc3NjOiBTU0MgaW5pdGlhbGl6ZWRcbiIpOworCXJldHVybiAwOworfQorCisKKworc3RhdGljIGludCBhdDMyX3NzY19wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bcnRkLT5kYWktPmNwdV9kYWktPmlkXTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqZG1hX3BhcmFtczsKKworCWRtYV9wYXJhbXMgPSBzc2NfcC0+ZG1hX3BhcmFtc1tzdWJzdHJlYW0tPnN0cmVhbV07CisKKwlzc2Nfd3JpdGVsKGRtYV9wYXJhbXMtPnNzYy0+cmVncywgQ1IsIGRtYV9wYXJhbXMtPm1hc2stPnNzY19lbmFibGUpOworCisJcmV0dXJuIDA7Cit9CisKKworCisjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgaW50IGF0MzJfc3NjX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wOworCisJaWYgKCFjcHVfZGFpLT5hY3RpdmUpCisJCXJldHVybiAwOworCisJc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOworCisJLyogU2F2ZSB0aGUgc3RhdHVzIHJlZ2lzdGVyIGJlZm9yZSBkaXNhYmxpbmcgdHJhbnNtaXQgYW5kIHJlY2VpdmUgKi8KKwlzc2NfcC0+c3NjX3N0YXRlLnNzY19zciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBTUik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBDUiwgU1NDX0JJVChDUl9UWERJUykgfCBTU0NfQklUKENSX1JYRElTKSk7CisKKwkvKiBTYXZlIHRoZSBjdXJyZW50IGludGVycnVwdCBtYXNrLCB0aGVuIGRpc2FibGUgdW5tYXNrZWQgaW50ZXJydXB0cyAqLworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX2ltciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBJTVIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgSURSLCBzc2NfcC0+c3NjX3N0YXRlLnNzY19pbXIpOworCisJc3NjX3AtPnNzY19zdGF0ZS5zc2NfY21yID0gc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIENNUik7CisJc3NjX3AtPnNzY19zdGF0ZS5zc2NfcmNtciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBSQ01SKTsKKwlzc2NfcC0+c3NjX3N0YXRlLnNzY19yZm1yID0gc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFJGTVIpOworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX3RjbXIgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgVENNUik7CisJc3NjX3AtPnNzY19zdGF0ZS5zc2NfdGZtciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBURk1SKTsKKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIGludCBhdDMyX3NzY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgIHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3A7CisJdTMyIGNyOworCisJaWYgKCFjcHVfZGFpLT5hY3RpdmUpCisJCXJldHVybiAwOworCisJc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOworCisJLyogcmVzdG9yZSBTU0MgcmVnaXN0ZXIgc2V0dGluZ3MgKi8KKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFRGTVIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX3RmbXIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgVENNUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfdGNtcik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBSRk1SLCBzc2NfcC0+c3NjX3N0YXRlLnNzY19yZm1yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFJDTVIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX3JjbXIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ01SLCBzc2NfcC0+c3NjX3N0YXRlLnNzY19jbXIpOworCisJLyogcmUtZW5hYmxlIGludGVycnVwdHMgKi8KKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIElFUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfaW1yKTsKKworCS8qIFJlLWVuYWJsZSByZWNpZXZlIGFuZCB0cmFuc21pdCBhcyBhcHByb3ByaWF0ZSAqLworCWNyID0gMDsKKwljciB8PQorCSAgICAoc3NjX3AtPnNzY19zdGF0ZS5zc2Nfc3IgJiBTU0NfQklUKFNSX1JYRU4pKSA/IFNTQ19CSVQoQ1JfUlhFTikgOiAwOworCWNyIHw9CisJICAgIChzc2NfcC0+c3NjX3N0YXRlLnNzY19zciAmIFNTQ19CSVQoU1JfVFhFTikpID8gU1NDX0JJVChDUl9UWEVOKSA6IDA7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBDUiwgY3IpOworCisJcmV0dXJuIDA7Cit9CisjZWxzZSAvKiBDT05GSUdfUE0gKi8KKyMgIGRlZmluZSBhdDMyX3NzY19zdXNwZW5kCU5VTEwKKyMgIGRlZmluZSBhdDMyX3NzY19yZXN1bWUJTlVMTAorI2VuZGlmIC8qIENPTkZJR19QTSAqLworCisKKyNkZWZpbmUgQVQzMl9TU0NfUkFURVMgXAorICAgIChTTkRSVl9QQ01fUkFURV84MDAwICB8IFNORFJWX1BDTV9SQVRFXzExMDI1IHwgU05EUlZfUENNX1JBVEVfMTYwMDAgfCBcCisgICAgIFNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfMzIwMDAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8IFwKKyAgICAgU05EUlZfUENNX1JBVEVfNDgwMDAgfCBTTkRSVl9QQ01fUkFURV84ODIwMCB8IFNORFJWX1BDTV9SQVRFXzk2MDAwKQorCisKKyNkZWZpbmUgQVQzMl9TU0NfRk9STUFUUyBcCisgICAgKFNORFJWX1BDTV9GTVRCSVRfUzggIHwgU05EUlZfUENNX0ZNVEJJVF9TMTYgfCBcCisgICAgIFNORFJWX1BDTV9GTVRCSVRfUzI0IHwgU05EUlZfUENNX0ZNVEJJVF9TMzIpCisKKworc3RydWN0IHNuZF9zb2NfZGFpIGF0MzJfc3NjX2RhaVtOVU1fU1NDX0RFVklDRVNdID0geworCXsKKwkgLm5hbWUgPSAiYXQzMi1zc2MwIiwKKwkgLmlkID0gMCwKKwkgLnR5cGUgPSBTTkRfU09DX0RBSV9QQ00sCisJIC5zdXNwZW5kID0gYXQzMl9zc2Nfc3VzcGVuZCwKKwkgLnJlc3VtZSA9IGF0MzJfc3NjX3Jlc3VtZSwKKwkgLnBsYXliYWNrID0geworCQkgICAgICAuY2hhbm5lbHNfbWluID0gMSwKKwkJICAgICAgLmNoYW5uZWxzX21heCA9IDIsCisJCSAgICAgIC5yYXRlcyA9IEFUMzJfU1NDX1JBVEVTLAorCQkgICAgICAuZm9ybWF0cyA9IEFUMzJfU1NDX0ZPUk1BVFMsCisJCSAgICAgIH0sCisJIC5jYXB0dXJlID0geworCQkgICAgIC5jaGFubmVsc19taW4gPSAxLAorCQkgICAgIC5jaGFubmVsc19tYXggPSAyLAorCQkgICAgIC5yYXRlcyA9IEFUMzJfU1NDX1JBVEVTLAorCQkgICAgIC5mb3JtYXRzID0gQVQzMl9TU0NfRk9STUFUUywKKwkJICAgICB9LAorCSAub3BzID0geworCQkgLnN0YXJ0dXAgPSBhdDMyX3NzY19zdGFydHVwLAorCQkgLnNodXRkb3duID0gYXQzMl9zc2Nfc2h1dGRvd24sCisJCSAucHJlcGFyZSA9IGF0MzJfc3NjX3ByZXBhcmUsCisJCSAuaHdfcGFyYW1zID0gYXQzMl9zc2NfaHdfcGFyYW1zLAorCQkgfSwKKwkgLmRhaV9vcHMgPSB7CisJCSAgICAgLnNldF9zeXNjbGsgPSBhdDMyX3NzY19zZXRfZGFpX3N5c2NsaywKKwkJICAgICAuc2V0X2ZtdCA9IGF0MzJfc3NjX3NldF9kYWlfZm10LAorCQkgICAgIC5zZXRfY2xrZGl2ID0gYXQzMl9zc2Nfc2V0X2RhaV9jbGtkaXYsCisJCSAgICAgfSwKKwkgLnByaXZhdGVfZGF0YSA9ICZzc2NfaW5mb1swXSwKKwkgfSwKKwl7CisJIC5uYW1lID0gImF0MzItc3NjMSIsCisJIC5pZCA9IDEsCisJIC50eXBlID0gU05EX1NPQ19EQUlfUENNLAorCSAuc3VzcGVuZCA9IGF0MzJfc3NjX3N1c3BlbmQsCisJIC5yZXN1bWUgPSBhdDMyX3NzY19yZXN1bWUsCisJIC5wbGF5YmFjayA9IHsKKwkJICAgICAgLmNoYW5uZWxzX21pbiA9IDEsCisJCSAgICAgIC5jaGFubmVsc19tYXggPSAyLAorCQkgICAgICAucmF0ZXMgPSBBVDMyX1NTQ19SQVRFUywKKwkJICAgICAgLmZvcm1hdHMgPSBBVDMyX1NTQ19GT1JNQVRTLAorCQkgICAgICB9LAorCSAuY2FwdHVyZSA9IHsKKwkJICAgICAuY2hhbm5lbHNfbWluID0gMSwKKwkJICAgICAuY2hhbm5lbHNfbWF4ID0gMiwKKwkJICAgICAucmF0ZXMgPSBBVDMyX1NTQ19SQVRFUywKKwkJICAgICAuZm9ybWF0cyA9IEFUMzJfU1NDX0ZPUk1BVFMsCisJCSAgICAgfSwKKwkgLm9wcyA9IHsKKwkJIC5zdGFydHVwID0gYXQzMl9zc2Nfc3RhcnR1cCwKKwkJIC5zaHV0ZG93biA9IGF0MzJfc3NjX3NodXRkb3duLAorCQkgLnByZXBhcmUgPSBhdDMyX3NzY19wcmVwYXJlLAorCQkgLmh3X3BhcmFtcyA9IGF0MzJfc3NjX2h3X3BhcmFtcywKKwkJIH0sCisJIC5kYWlfb3BzID0geworCQkgICAgIC5zZXRfc3lzY2xrID0gYXQzMl9zc2Nfc2V0X2RhaV9zeXNjbGssCisJCSAgICAgLnNldF9mbXQgPSBhdDMyX3NzY19zZXRfZGFpX2ZtdCwKKwkJICAgICAuc2V0X2Nsa2RpdiA9IGF0MzJfc3NjX3NldF9kYWlfY2xrZGl2LAorCQkgICAgIH0sCisJIC5wcml2YXRlX2RhdGEgPSAmc3NjX2luZm9bMV0sCisJIH0sCisJeworCSAubmFtZSA9ICJhdDMyLXNzYzIiLAorCSAuaWQgPSAyLAorCSAudHlwZSA9IFNORF9TT0NfREFJX1BDTSwKKwkgLnN1c3BlbmQgPSBhdDMyX3NzY19zdXNwZW5kLAorCSAucmVzdW1lID0gYXQzMl9zc2NfcmVzdW1lLAorCSAucGxheWJhY2sgPSB7CisJCSAgICAgIC5jaGFubmVsc19taW4gPSAxLAorCQkgICAgICAuY2hhbm5lbHNfbWF4ID0gMiwKKwkJICAgICAgLnJhdGVzID0gQVQzMl9TU0NfUkFURVMsCisJCSAgICAgIC5mb3JtYXRzID0gQVQzMl9TU0NfRk9STUFUUywKKwkJICAgICAgfSwKKwkgLmNhcHR1cmUgPSB7CisJCSAgICAgLmNoYW5uZWxzX21pbiA9IDEsCisJCSAgICAgLmNoYW5uZWxzX21heCA9IDIsCisJCSAgICAgLnJhdGVzID0gQVQzMl9TU0NfUkFURVMsCisJCSAgICAgLmZvcm1hdHMgPSBBVDMyX1NTQ19GT1JNQVRTLAorCQkgICAgIH0sCisJIC5vcHMgPSB7CisJCSAuc3RhcnR1cCA9IGF0MzJfc3NjX3N0YXJ0dXAsCisJCSAuc2h1dGRvd24gPSBhdDMyX3NzY19zaHV0ZG93biwKKwkJIC5wcmVwYXJlID0gYXQzMl9zc2NfcHJlcGFyZSwKKwkJIC5od19wYXJhbXMgPSBhdDMyX3NzY19od19wYXJhbXMsCisJCSB9LAorCSAuZGFpX29wcyA9IHsKKwkJICAgICAuc2V0X3N5c2NsayA9IGF0MzJfc3NjX3NldF9kYWlfc3lzY2xrLAorCQkgICAgIC5zZXRfZm10ID0gYXQzMl9zc2Nfc2V0X2RhaV9mbXQsCisJCSAgICAgLnNldF9jbGtkaXYgPSBhdDMyX3NzY19zZXRfZGFpX2Nsa2RpdiwKKwkJICAgICB9LAorCSAucHJpdmF0ZV9kYXRhID0gJnNzY19pbmZvWzJdLAorCSB9LAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGF0MzJfc3NjX2RhaSk7CisKKworTU9EVUxFX0FVVEhPUigiR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkFUMzIgU1NDIEFTb0MgSW50ZXJmYWNlIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5oIGIvc291bmQvc29jL2F0MzIvYXQzMi1zc2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzA1MmRiCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvYXQzMi1zc2MuaApAQCAtMCwwICsxLDU5IEBACisvKiBzb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5oCisgKiBBU29DIFNTQyBpbnRlcmZhY2UgZm9yIEF0bWVsIEFUMzIgU29DCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IExvbmcgUmFuZ2UgU3lzdGVtcworICogICAgR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fU09VTkRfU09DX0FUMzJfQVQzMl9TU0NfSAorI2RlZmluZSBfX1NPVU5EX1NPQ19BVDMyX0FUMzJfU1NDX0ggX19GSUxFX18KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvYXRtZWwtc3NjLmg+CisKKyNpbmNsdWRlICJhdDMyLXBjbS5oIgorCisKKworc3RydWN0IGF0MzJfc3NjX3N0YXRlIHsKKwl1MzIgc3NjX2NtcjsKKwl1MzIgc3NjX3JjbXI7CisJdTMyIHNzY19yZm1yOworCXUzMiBzc2NfdGNtcjsKKwl1MzIgc3NjX3RmbXI7CisJdTMyIHNzY19zcjsKKwl1MzIgc3NjX2ltcjsKK307CisKKworCitzdHJ1Y3QgYXQzMl9zc2NfaW5mbyB7CisJY2hhciAqbmFtZTsKKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjOworCXNwaW5sb2NrX3QgbG9jazsJLyogbG9jayBmb3IgZGlyX21hc2sgKi8KKwl1bnNpZ25lZCBzaG9ydCBkaXJfbWFzazsJLyogMD11bnVzZWQsIDE9cGxheWJhY2ssIDI9Y2FwdHVyZSAqLworCXVuc2lnbmVkIHNob3J0IGluaXRpYWxpemVkOwkvKiB0cnVlIGlmIFNTQyBoYXMgYmVlbiBpbml0aWFsaXplZCAqLworCXVuc2lnbmVkIHNob3J0IGRhaWZtdDsKKwl1bnNpZ25lZCBzaG9ydCBjbXJfZGl2OworCXVuc2lnbmVkIHNob3J0IHRjbXJfcGVyaW9kOworCXVuc2lnbmVkIHNob3J0IHJjbXJfcGVyaW9kOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpkbWFfcGFyYW1zWzJdOworCXN0cnVjdCBhdDMyX3NzY19zdGF0ZSBzc2Nfc3RhdGU7Cit9OworCisKKy8qIFNTQyBkaXZpZGVyIGlkcyAqLworI2RlZmluZSBBVDMyX1NTQ19DTVJfRElWICAgICAgICAwCS8qIE1DSyBkaXZpZGVyIGZvciBCQ0xLICovCisjZGVmaW5lIEFUMzJfU1NDX1RDTVJfUEVSSU9EICAgIDEJLyogQkNMSyBkaXZpZGVyIGZvciB0cmFuc21pdCBGUyAqLworI2RlZmluZSBBVDMyX1NTQ19SQ01SX1BFUklPRCAgICAyCS8qIEJDTEsgZGl2aWRlciBmb3IgcmVjZWl2ZSBGUyAqLworCisKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYXQzMl9zc2NfZGFpW107CisKKworCisjZW5kaWYgLyogX19TT1VORF9TT0NfQVQzMl9BVDMyX1NTQ19IICovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9wbGF5cGFxX3dtODUxMC5jIGIvc291bmQvc29jL2F0MzIvcGxheXBhcV93bTg1MTAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWU1ZjhlCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvcGxheXBhcV93bTg1MTAuYwpAQCAtMCwwICsxLDUyMiBAQAorLyogc291bmQvc29jL2F0MzIvcGxheXBhcV93bTg1MTAuYworICogQVNvQyBtYWNoaW5lIGRyaXZlciBmb3IgUGxheVBhcSB1c2luZyBXTTg1MTAgY29kZWMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTG9uZyBSYW5nZSBTeXN0ZW1zCisgKiAgICBHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgY29kZSBpcyBsYXJnZWx5IGluc3BpcmVkIGJ5IHNvdW5kL3NvYy9hdDkxL2V0aV9iMV93bTg3MzEuYworICoKKyAqIE5PVEU6IElmIHlvdSBkb24ndCBoYXZlIHRoZSBBVDMyIGVuaGFuY2VkIHBvcnRtdXggY29uZmlndXJlZCAod2hpY2gKKyAqIGlzbid0IGN1cnJlbnRseSBpbiB0aGUgbWFpbmxpbmUgb3IgQXRtZWwgcGF0Y2hlZCBrZXJuZWwpLCB5b3Ugd2lsbAorICogbmVlZCB0byBzZXQgdGhlIE1DTEsgcGluIChQQTMwKSB0byBwZXJpcGhlcmFsIEEgaW4geW91ciBib2FyZCBpbml0aWFsaXphdGlvbgorICogY29kZS4gIFNvbWV0aGluZyBsaWtlOgorICoJYXQzMl9zZWxlY3RfcGVyaXBoKEdQSU9fUElOX1BBKDMwKSwgR1BJT19QRVJJUEhfQSwgMCk7CisgKgorICovCisKKy8qICNkZWZpbmUgREVCVUcgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CisjaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKworI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2F0MzJhcDcwMHguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9wb3J0bXV4Lmg+CisKKyNpbmNsdWRlICIuLi9jb2RlY3Mvd204NTEwLmgiCisjaW5jbHVkZSAiYXQzMi1wY20uaCIKKyNpbmNsdWRlICJhdDMyLXNzYy5oIgorCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBjb25zdGFudHMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIE1DTEtfUElOCQlHUElPX1BJTl9QQSgzMCkKKyNkZWZpbmUgTUNMS19QRVJJUEgJCUdQSU9fUEVSSVBIX0EKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogZGF0YSB0eXBlcworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIFNTQyBjbG9ja2luZyBkYXRhICovCitzdHJ1Y3Qgc3NjX2Nsb2NrX2RhdGEgeworCS8qIENNUiBkaXYgKi8KKwl1bnNpZ25lZCBpbnQgY21yX2RpdjsKKworCS8qIEZyYW1lIHBlcmlvZCAoYXMgbmVlZGVkIGJ5IHhDTVIuUEVSSU9EKSAqLworCXVuc2lnbmVkIGludCBwZXJpb2Q7CisKKwkvKiBUaGUgU1NDIGNsb2NrIHJhdGUgdGhlc2Ugc2V0dGluZ3Mgd2hlcmUgY2FsY3VsYXRlZCBmb3IgKi8KKwl1bnNpZ25lZCBsb25nIHNzY19yYXRlOworfTsKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogbW9kdWxlIGRhdGEKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgc3RydWN0IGNsayAqX2djbGswOworc3RhdGljIHN0cnVjdCBjbGsgKl9wbGwwOworCisjZGVmaW5lIENPREVDX0NMSyAoX2djbGswKQorCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBTb3VuZCBTT0Mgb3BlcmF0aW9ucworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpZiBkZWZpbmVkIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRQorc3RhdGljIHN0cnVjdCBzc2NfY2xvY2tfZGF0YSBwbGF5cGFxX3dtODUxMF9jYWxjX3NzY19jbG9jaygKKwlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcywKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gY3B1X2RhaS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzc2NfZGV2aWNlICpzc2MgPSBzc2NfcC0+c3NjOworCXN0cnVjdCBzc2NfY2xvY2tfZGF0YSBjZDsKKwl1bnNpZ25lZCBpbnQgcmF0ZSwgd2lkdGhfYml0cywgY2hhbm5lbHM7CisJdW5zaWduZWQgaW50IGJpdHJhdGUsIHNzY19kaXY7CisJdW5zaWduZWQgYWN0dWFsX3JhdGU7CisKKworCS8qCisJICogRmlndXJlIG91dCByZXF1aXJlZCBiaXRyYXRlCisJICovCisJcmF0ZSA9IHBhcmFtc19yYXRlKHBhcmFtcyk7CisJY2hhbm5lbHMgPSBwYXJhbXNfY2hhbm5lbHMocGFyYW1zKTsKKwl3aWR0aF9iaXRzID0gc25kX3BjbV9mb3JtYXRfcGh5c2ljYWxfd2lkdGgocGFyYW1zX2Zvcm1hdChwYXJhbXMpKTsKKwliaXRyYXRlID0gcmF0ZSAqIHdpZHRoX2JpdHMgKiBjaGFubmVsczsKKworCisJLyoKKwkgKiBGaWd1cmUgb3V0IHJlcXVpcmVkIFNTQyBkaXZpZGVyIGFuZCBwZXJpb2QgZm9yIHJlcXVpcmVkIGJpdHJhdGUKKwkgKi8KKwljZC5zc2NfcmF0ZSA9IGNsa19nZXRfcmF0ZShzc2MtPmNsayk7CisJc3NjX2RpdiA9IGNkLnNzY19yYXRlIC8gYml0cmF0ZTsKKwljZC5jbXJfZGl2ID0gc3NjX2RpdiAvIDI7CisJaWYgKHNzY19kaXYgJiAxKSB7CisJCS8qIHJvdW5kIGNtcl9kaXYgdXAgKi8KKwkJY2QuY21yX2RpdisrOworCX0KKwljZC5wZXJpb2QgPSB3aWR0aF9iaXRzIC0gMTsKKworCisJLyoKKwkgKiBGaW5kIGFjdHVhbCByYXRlLCBjb21wYXJlIHRvIHJlcXVlc3RlZCByYXRlCisJICovCisJYWN0dWFsX3JhdGUgPSAoY2Quc3NjX3JhdGUgLyAoY2QuY21yX2RpdiAqIDIpKSAvICgyICogKGNkLnBlcmlvZCArIDEpKTsKKwlwcl9kZWJ1ZygicGxheXBhcV93bTg1MTA6IFJlcXVlc3QgcmF0ZSA9ICVkLCBhY3R1YWwgcmF0ZSA9ICVkXG4iLAorCQkgcmF0ZSwgYWN0dWFsX3JhdGUpOworCisKKwlyZXR1cm4gY2Q7Cit9CisjZW5kaWYgLyogQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFICovCisKKworCitzdGF0aWMgaW50IHBsYXlwYXFfd204NTEwX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSBjcHVfZGFpLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNzY19kZXZpY2UgKnNzYyA9IHNzY19wLT5zc2M7CisJdW5zaWduZWQgaW50IHBsbF9vdXQgPSAwLCBiY2xrID0gMCwgbWNsa19kaXYgPSAwOworCWludCByZXQ7CisKKworCS8qIER1ZSB0byBkaWZmaWN1bHRpZXMgd2l0aCBnZXR0aW5nIHRoZSBjb3JyZWN0IGNsb2NrcyBmcm9tIHRoZSBBVDMyJ3MKKwkgKiBQTEwwLCB3ZSdyZSBnb2luZyB0byBsZXQgdGhlIENPREVDIGJlIGluIGNoYXJnZSBvZiBhbGwgdGhlIGNsb2NrcworCSAqLworI2lmICFkZWZpbmVkIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRQorCWNvbnN0IHVuc2lnbmVkIGludCBmbXQgPSAoU05EX1NPQ19EQUlGTVRfSTJTIHwKKwkJCQkgIFNORF9TT0NfREFJRk1UX05CX05GIHwKKwkJCQkgIFNORF9TT0NfREFJRk1UX0NCTV9DRk0pOworI2Vsc2UKKwlzdHJ1Y3Qgc3NjX2Nsb2NrX2RhdGEgY2Q7CisJY29uc3QgdW5zaWduZWQgaW50IGZtdCA9IChTTkRfU09DX0RBSUZNVF9JMlMgfAorCQkJCSAgU05EX1NPQ19EQUlGTVRfTkJfTkYgfAorCQkJCSAgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CisjZW5kaWYKKworCWlmIChzc2MgPT0gTlVMTCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMF9od19wYXJhbXM6IHNzYyBpcyBOVUxMIVxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCisJLyoKKwkgKiBGaWd1cmUgb3V0IFBMTCBhbmQgQkNMSyBkaXZpZGVycyBmb3IgV004NTEwCisJICovCisJc3dpdGNoIChwYXJhbXNfcmF0ZShwYXJhbXMpKSB7CisJY2FzZSA0ODAwMDoKKwkJcGxsX291dCA9IDEyMjg4MDAwOworCQltY2xrX2RpdiA9IFdNODUxMF9NQ0xLRElWXzE7CisJCWJjbGsgPSBXTTg1MTBfQkNMS0RJVl84OworCQlicmVhazsKKworCWNhc2UgNDQxMDA6CisJCXBsbF9vdXQgPSAxMTI4OTYwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl8xOworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwljYXNlIDIyMDUwOgorCQlwbGxfb3V0ID0gMTEyODk2MDA7CisJCW1jbGtfZGl2ID0gV004NTEwX01DTEtESVZfMjsKKwkJYmNsayA9IFdNODUxMF9CQ0xLRElWXzg7CisJCWJyZWFrOworCisJY2FzZSAxNjAwMDoKKwkJcGxsX291dCA9IDEyMjg4MDAwOworCQltY2xrX2RpdiA9IFdNODUxMF9NQ0xLRElWXzM7CisJCWJjbGsgPSBXTTg1MTBfQkNMS0RJVl84OworCQlicmVhazsKKworCWNhc2UgMTEwMjU6CisJCXBsbF9vdXQgPSAxMTI4OTYwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl80OworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwljYXNlIDgwMDA6CisJCXBsbF9vdXQgPSAxMjI4ODAwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl82OworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogVW5zdXBwb3J0ZWQgc2FtcGxlIHJhdGUgJWRcbiIsCisJCQkgICBwYXJhbXNfcmF0ZShwYXJhbXMpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisKKwkvKgorCSAqIHNldCBDUFUgYW5kIENPREVDIERBSSBjb25maWd1cmF0aW9uCisJICovCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIGZtdCk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6ICIKKwkJCSAgICJGYWlsZWQgdG8gc2V0IENPREVDIERBSSBmb3JtYXQgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgZm10KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogIgorCQkJICAgIkZhaWxlZCB0byBzZXQgQ1BVIERBSSBmb3JtYXQgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisKKwkvKgorCSAqIFNldCBDUFUgY2xvY2sgY29uZmlndXJhdGlvbgorCSAqLworI2lmIGRlZmluZWQgQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFCisJY2QgPSBwbGF5cGFxX3dtODUxMF9jYWxjX3NzY19jbG9jayhwYXJhbXMsIGNwdV9kYWkpOworCXByX2RlYnVnKCJwbGF5cGFxX3dtODUxMDogY21yX2RpdiA9ICVkLCBwZXJpb2QgPSAlZFxuIiwKKwkJIGNkLmNtcl9kaXYsIGNkLnBlcmlvZCk7CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLCBBVDMyX1NTQ19DTVJfRElWLCBjZC5jbXJfZGl2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogRmFpbGVkIHRvIHNldCBDUFUgQ01SX0RJViAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLCBBVDMyX1NTQ19UQ01SX1BFUklPRCwKKwkJCQkJICBjZC5wZXJpb2QpOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiAiCisJCQkgICAiRmFpbGVkIHRvIHNldCBDUFUgdHJhbnNtaXQgcGVyaW9kICglZClcbiIsCisJCQkgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKyNlbmRpZiAvKiBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUgKi8KKworCisJLyoKKwkgKiBTZXQgQ09ERUMgY2xvY2sgY29uZmlndXJhdGlvbgorCSAqLworCXByX2RlYnVnKCJwbGF5cGFxX3dtODUxMDogIgorCQkgInBsbF9pbiA9ICVsZCwgcGxsX291dCA9ICV1LCBiY2xrID0gJXgsIG1jbGsgPSAleFxuIiwKKwkJIGNsa19nZXRfcmF0ZShDT0RFQ19DTEspLCBwbGxfb3V0LCBiY2xrLCBtY2xrX2Rpdik7CisKKworI2lmICFkZWZpbmVkIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY29kZWNfZGFpLCBXTTg1MTBfQkNMS0RJViwgYmNsayk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZworCQkgICAgKCJwbGF5cGFxX3dtODUxMDogRmFpbGVkIHRvIHNldCBDT0RFQyBEQUkgQkNMS0RJViAoJWQpXG4iLAorCQkgICAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorI2VuZGlmIC8qIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRSAqLworCisKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfcGxsKGNvZGVjX2RhaSwgMCwKKwkJCQkJIGNsa19nZXRfcmF0ZShDT0RFQ19DTEspLCBwbGxfb3V0KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogRmFpbGVkIHRvIHNldCBDT0RFQyBEQUkgUExMICglZClcbiIsCisJCQkgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKworCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2Rpdihjb2RlY19kYWksIFdNODUxMF9NQ0xLRElWLCBtY2xrX2Rpdik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6IEZhaWxlZCB0byBzZXQgQ09ERUMgTUNMS0RJViAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX29wcyBwbGF5cGFxX3dtODUxMF9vcHMgPSB7CisJLmh3X3BhcmFtcyA9IHBsYXlwYXFfd204NTEwX2h3X3BhcmFtcywKK307CisKKworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgcGxheXBhcV9kYXBtX3dpZGdldHNbXSA9IHsKKwlTTkRfU09DX0RBUE1fTUlDKCJJbnQgTWljIiwgTlVMTCksCisJU05EX1NPQ19EQVBNX1NQSygiRXh0IFNwayIsIE5VTEwpLAorfTsKKworCisKK3N0YXRpYyBjb25zdCBjaGFyICppbnRlcmNvbltdWzNdID0geworCS8qIHNwZWFrZXIgY29ubmVjdGVkIHRvIFNQS09VVCAqLworCXsiRXh0IFNwayIsIE5VTEwsICJTUEtPVVRQIn0sCisJeyJFeHQgU3BrIiwgTlVMTCwgIlNQS09VVE4ifSwKKworCXsiTWljIEJpYXMiLCBOVUxMLCAiSW50IE1pYyJ9LAorCXsiTUlDTiIsIE5VTEwsICJNaWMgQmlhcyJ9LAorCXsiTUlDUCIsIE5VTEwsICJNaWMgQmlhcyJ9LAorCisJLyogVGVybWluYXRvciAqLworCXtOVUxMLCBOVUxMLCBOVUxMfSwKK307CisKKworCitzdGF0aWMgaW50IHBsYXlwYXFfd204NTEwX2luaXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCWludCBpOworCisJLyoKKwkgKiBBZGQgREFQTSB3aWRnZXRzCisJICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGxheXBhcV9kYXBtX3dpZGdldHMpOyBpKyspCisJCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJnBsYXlwYXFfZGFwbV93aWRnZXRzW2ldKTsKKworCisKKwkvKgorCSAqIFNldHVwIGF1ZGlvIHBhdGggaW50ZXJjb25uZWN0cworCSAqLworCWZvciAoaSA9IDA7IGludGVyY29uW2ldWzBdICE9IE5VTEw7IGkrKykgeworCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywKKwkJCQkJICAgaW50ZXJjb25baV1bMF0sCisJCQkJCSAgIGludGVyY29uW2ldWzFdLCBpbnRlcmNvbltpXVsyXSk7CisJfQorCisKKwkvKiBhbHdheXMgY29ubmVjdGVkIHBpbnMgKi8KKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkludCBNaWMiKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CisKKworCisJLyogTWFrZSBDU0Igc2hvdyBQTEwgcmF0ZSAqLworCXNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY29kZWMtPmRhaSwgV004NTEwX09QQ0xLRElWLAorCQkJCSAgICAgICBXTTg1MTBfT1BDTEtESVZfMSB8IDQpOworCisJcmV0dXJuIDA7Cit9CisKKworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgcGxheXBhcV93bTg1MTBfZGFpID0geworCS5uYW1lID0gIldNODUxMCIsCisJLnN0cmVhbV9uYW1lID0gIldNODUxMCBQQ00iLAorCS5jcHVfZGFpID0gJmF0MzJfc3NjX2RhaVswXSwKKwkuY29kZWNfZGFpID0gJndtODUxMF9kYWksCisJLmluaXQgPSBwbGF5cGFxX3dtODUxMF9pbml0LAorCS5vcHMgPSAmcGxheXBhcV93bTg1MTBfb3BzLAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lIHNuZF9zb2NfbWFjaGluZV9wbGF5cGFxID0geworCS5uYW1lID0gIkxSU19QbGF5UGFxX1dNODUxMCIsCisJLmRhaV9saW5rID0gJnBsYXlwYXFfd204NTEwX2RhaSwKKwkubnVtX2xpbmtzID0gMSwKK307CisKKworCitzdGF0aWMgc3RydWN0IHdtODUxMF9zZXR1cF9kYXRhIHBsYXlwYXFfd204NTEwX3NldHVwID0geworCS5pMmNfYWRkcmVzcyA9IDB4MWEsCit9OworCisKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSBwbGF5cGFxX3dtODUxMF9zbmRfZGV2ZGF0YSA9IHsKKwkubWFjaGluZSA9ICZzbmRfc29jX21hY2hpbmVfcGxheXBhcSwKKwkucGxhdGZvcm0gPSAmYXQzMl9zb2NfcGxhdGZvcm0sCisJLmNvZGVjX2RldiA9ICZzb2NfY29kZWNfZGV2X3dtODUxMCwKKwkuY29kZWNfZGF0YSA9ICZwbGF5cGFxX3dtODUxMF9zZXR1cCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF5cGFxX3NuZF9kZXZpY2U7CisKKworc3RhdGljIGludCBfX2luaXQgcGxheXBhcV9hc29jX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0ID0gMDsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSBwbGF5cGFxX3dtODUxMF9kYWkuY3B1X2RhaS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzc2NfZGV2aWNlICpzc2MgPSBOVUxMOworCisKKwkvKgorCSAqIFJlcXVlc3QgU1NDIGRldmljZQorCSAqLworCXNzYyA9IHNzY19yZXF1ZXN0KDApOworCWlmIChJU19FUlIoc3NjKSkgeworCQlyZXQgPSBQVFJfRVJSKHNzYyk7CisJCXNzYyA9IE5VTEw7CisJCWdvdG8gZXJyX3NzYzsKKwl9CisJc3NjX3AtPnNzYyA9IHNzYzsKKworCisJLyoKKwkgKiBDb25maWd1cmUgTUNMSyBmb3IgV004NTEwCisJICovCisJX2djbGswID0gY2xrX2dldChOVUxMLCAiZ2NsazAiKTsKKwlpZiAoSVNfRVJSKF9nY2xrMCkpIHsKKwkJX2djbGswID0gTlVMTDsKKwkJZ290byBlcnJfZ2NsazA7CisJfQorCV9wbGwwID0gY2xrX2dldChOVUxMLCAicGxsMCIpOworCWlmIChJU19FUlIoX3BsbDApKSB7CisJCV9wbGwwID0gTlVMTDsKKwkJZ290byBlcnJfcGxsMDsKKwl9CisJaWYgKGNsa19zZXRfcGFyZW50KF9nY2xrMCwgX3BsbDApKSB7CisJCXByX3dhcm5pbmcoInNuZC1zb2MtcGxheXBhcTogIgorCQkJICAgIkZhaWxlZCB0byBzZXQgUExMMCBhcyBwYXJlbnQgZm9yIERBQyBjbG9ja1xuIik7CisJCWdvdG8gZXJyX3NldF9jbGs7CisJfQorCWNsa19zZXRfcmF0ZShDT0RFQ19DTEssIDEyMDAwMDAwKTsKKwljbGtfZW5hYmxlKENPREVDX0NMSyk7CisKKyNpZiBkZWZpbmVkIENPTkZJR19BVDMyX0VOSEFOQ0VEX1BPUlRNVVgKKwlhdDMyX3NlbGVjdF9wZXJpcGgoTUNMS19QSU4sIE1DTEtfUEVSSVBILCAwKTsKKyNlbmRpZgorCisKKwkvKgorCSAqIENyZWF0ZSBhbmQgcmVnaXN0ZXIgcGxhdGZvcm0gZGV2aWNlCisJICovCisJcGxheXBhcV9zbmRfZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzb2MtYXVkaW8iLCAwKTsKKwlpZiAocGxheXBhcV9zbmRfZGV2aWNlID09IE5VTEwpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnJfZGV2aWNlX2FsbG9jOworCX0KKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBsYXlwYXFfc25kX2RldmljZSwgJnBsYXlwYXFfd204NTEwX3NuZF9kZXZkYXRhKTsKKwlwbGF5cGFxX3dtODUxMF9zbmRfZGV2ZGF0YS5kZXYgPSAmcGxheXBhcV9zbmRfZGV2aWNlLT5kZXY7CisKKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkKHBsYXlwYXFfc25kX2RldmljZSk7CisJaWYgKHJldCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogcGxhdGZvcm1fZGV2aWNlX2FkZCBmYWlsZWQgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCWdvdG8gZXJyX2RldmljZV9hZGQ7CisJfQorCisJcmV0dXJuIDA7CisKKworZXJyX2RldmljZV9hZGQ6CisJaWYgKHBsYXlwYXFfc25kX2RldmljZSAhPSBOVUxMKSB7CisJCXBsYXRmb3JtX2RldmljZV9wdXQocGxheXBhcV9zbmRfZGV2aWNlKTsKKwkJcGxheXBhcV9zbmRfZGV2aWNlID0gTlVMTDsKKwl9CitlcnJfZGV2aWNlX2FsbG9jOgorZXJyX3NldF9jbGs6CisJaWYgKF9wbGwwICE9IE5VTEwpIHsKKwkJY2xrX3B1dChfcGxsMCk7CisJCV9wbGwwID0gTlVMTDsKKwl9CitlcnJfcGxsMDoKKwlpZiAoX2djbGswICE9IE5VTEwpIHsKKwkJY2xrX3B1dChfZ2NsazApOworCQlfZ2NsazAgPSBOVUxMOworCX0KK2Vycl9nY2xrMDoKKwlpZiAoc3NjICE9IE5VTEwpIHsKKwkJc3NjX2ZyZWUoc3NjKTsKKwkJc3NjID0gTlVMTDsKKwl9CitlcnJfc3NjOgorCXJldHVybiByZXQ7Cit9CisKKworc3RhdGljIHZvaWQgX19leGl0IHBsYXlwYXFfYXNvY19leGl0KHZvaWQpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gcGxheXBhcV93bTg1MTBfZGFpLmNwdV9kYWktPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjOworCisJaWYgKHNzY19wICE9IE5VTEwpIHsKKwkJc3NjID0gc3NjX3AtPnNzYzsKKwkJaWYgKHNzYyAhPSBOVUxMKQorCQkJc3NjX2ZyZWUoc3NjKTsKKwkJc3NjX3AtPnNzYyA9IE5VTEw7CisJfQorCisJaWYgKF9nY2xrMCAhPSBOVUxMKSB7CisJCWNsa19wdXQoX2djbGswKTsKKwkJX2djbGswID0gTlVMTDsKKwl9CisJaWYgKF9wbGwwICE9IE5VTEwpIHsKKwkJY2xrX3B1dChfcGxsMCk7CisJCV9wbGwwID0gTlVMTDsKKwl9CisKKyNpZiBkZWZpbmVkIENPTkZJR19BVDMyX0VOSEFOQ0VEX1BPUlRNVVgKKwlhdDMyX2ZyZWVfcGluKE1DTEtfUElOKTsKKyNlbmRpZgorCisJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIocGxheXBhcV9zbmRfZGV2aWNlKTsKKwlwbGF5cGFxX3NuZF9kZXZpY2UgPSBOVUxMOworfQorCittb2R1bGVfaW5pdChwbGF5cGFxX2Fzb2NfaW5pdCk7Cittb2R1bGVfZXhpdChwbGF5cGFxX2Fzb2NfZXhpdCk7CisKK01PRFVMRV9BVVRIT1IoIkdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBU29DIG1hY2hpbmUgZHJpdmVyIGZvciBMUlMgUGxheVBhcSIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0OTEvS2NvbmZpZyBiL3NvdW5kL3NvYy9hdDkxL0tjb25maWcKaW5kZXggNWNiOTNmZC4uOTA1MTg2NSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2F0OTEvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvYXQ5MS9LY29uZmlnCkBAIC0xLDYgKzEsNiBAQAogY29uZmlnIFNORF9BVDkxX1NPQwogCXRyaXN0YXRlICJTb0MgQXVkaW8gZm9yIHRoZSBBdG1lbCBBVDkxIFN5c3RlbS1vbi1DaGlwIgotCWRlcGVuZHMgb24gQVJDSF9BVDkxICYmIFNORF9TT0MKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MQogCWhlbHAKIAkgIFNheSBZIG9yIE0gaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIGNvZGVjcyBhdHRhY2hlZCB0bwogCSAgdGhlIEFUOTEgU1NDIGludGVyZmFjZS4gWW91IHdpbGwgYWxzbyBuZWVkCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQ5MS9hdDkxLXBjbS5jIGIvc291bmQvc29jL2F0OTEvYXQ5MS1wY20uYwppbmRleCBjY2FjNmJkLi5kNDc0OTJiIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvYXQ5MS9hdDkxLXBjbS5jCisrKyBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtcGNtLmMKQEAgLTMxOCw3ICszMTgsNyBAQAogc3RhdGljIHU2NCBhdDkxX3BjbV9kbWFtYXNrID0gMHhmZmZmZmZmZjsKIAogc3RhdGljIGludCBhdDkxX3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLCBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCWludCByZXQgPSAwOwogCkBAIC0zNjcsNyArMzY3LDcgQEAKIAogI2lmZGVmIENPTkZJR19QTQogc3RhdGljIGludCBhdDkxX3BjbV9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBkYWktPnJ1bnRpbWU7CiAJc3RydWN0IGF0OTFfcnVudGltZV9kYXRhICpwcnRkOwpAQCAtMzkyLDcgKzM5Miw3IEBACiB9CiAKIHN0YXRpYyBpbnQgYXQ5MV9wY21fcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBkYWktPnJ1bnRpbWU7CiAJc3RydWN0IGF0OTFfcnVudGltZV9kYXRhICpwcnRkOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuYyBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmMKaW5kZXggYmMzNWQwMC4uMDkwZTYwNyAxMDA2NDQKLS0tIGEvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuYworKysgYi9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5jCkBAIC00MSw3ICs0MSw3IEBACiAjZGVmaW5lCURCRyh4Li4uKQogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKQorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApCiAjZGVmaW5lIE5VTV9TU0NfREVWSUNFUwkJMQogI2Vsc2UKICNkZWZpbmUgTlVNX1NTQ19ERVZJQ0VTCQkzCkBAIC0yODEsNyArMjgxLDcgQEAKIC8qCiAgKiBSZWNvcmQgdGhlIFNTQyBzeXN0ZW0gY2xvY2sgcmF0ZS4KICAqLwotc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCS8qCkBAIC0zMDMsNyArMzAzLDcgQEAKIC8qCiAgKiBSZWNvcmQgdGhlIERBSSBmb3JtYXQgZm9yIHVzZSBpbiBod19wYXJhbXMoKS4KICAqLwotc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IGF0OTFfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW2NwdV9kYWktPmlkXTsKQEAgLTMxNSw3ICszMTUsNyBAQAogLyoKICAqIFJlY29yZCBTU0MgY2xvY2sgZGl2aWRlcnMgZm9yIHVzZSBpbiBod19wYXJhbXMoKS4KICAqLwotc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3QgYXQ5MV9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOwpAQCAtNjM0LDcgKzYzNCw3IEBACiAKICNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQgYXQ5MV9zc2Nfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQogewogCXN0cnVjdCBhdDkxX3NzY19pbmZvICpzc2NfcDsKIApAQCAtNjYyLDcgKzY2Miw3IEBACiB9CiAKIHN0YXRpYyBpbnQgYXQ5MV9zc2NfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCiB7CiAJc3RydWN0IGF0OTFfc3NjX2luZm8gKnNzY19wOwogCkBAIC03MDAsNyArNzAwLDcgQEAKICNkZWZpbmUgQVQ5MV9TU0NfRk9STUFUUyAoU05EUlZfUENNX0ZNVEJJVF9TOCAgICAgfCBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8XAogCQkJICBTTkRSVl9QQ01fRk1UQklUX1MyNF9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzMyX0xFKQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIGF0OTFfc3NjX2RhaVtOVU1fU1NDX0RFVklDRVNdID0geworc3RydWN0IHNuZF9zb2NfZGFpIGF0OTFfc3NjX2RhaVtOVU1fU1NDX0RFVklDRVNdID0gewogCXsJLm5hbWUgPSAiYXQ5MS1zc2MwIiwKIAkJLmlkID0gMCwKIAkJLnR5cGUgPSBTTkRfU09DX0RBSV9QQ00sCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5oIGIvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuaAppbmRleCBiMTg4Zjk3Li42YjdiZjM4IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5oCisrKyBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmgKQEAgLTIxLDcgKzIxLDcgQEAKICNkZWZpbmUgQVQ5MVNTQ19UQ01SX1BFUklPRAkxIC8qIEJDTEsgZGl2aWRlciBmb3IgdHJhbnNtaXQgRlMgKi8KICNkZWZpbmUgQVQ5MVNTQ19SQ01SX1BFUklPRAkyIC8qIEJDTEsgZGl2aWRlciBmb3IgcmVjZWl2ZSBGUyAqLwogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBhdDkxX3NzY19kYWlbXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYXQ5MV9zc2NfZGFpW107CiAKICNlbmRpZiAvKiBfQVQ5MV9TU0NfSCAqLwogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQ5MS9ldGlfYjFfd204NzMxLmMgYi9zb3VuZC9zb2MvYXQ5MS9ldGlfYjFfd204NzMxLmMKaW5kZXggMTM0N2RjZi4uZDUzMmRlOSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2F0OTEvZXRpX2IxX3dtODczMS5jCisrKyBiL3NvdW5kL3NvYy9hdDkxL2V0aV9iMV93bTg3MzEuYwpAQCAtNTMsMTggKzUzLDE4IEBACiBzdGF0aWMgaW50IGV0aV9iMV9zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlpbnQgcmV0OwogCiAJLyogY3B1IGNsb2NrIGlzIHRoZSBBVDkxIG1hc3RlciBjbG9jayBzZW50IHRvIHRoZSBTU0MgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY3B1X2RhaSwgQVQ5MV9TWVNDTEtfTUNLLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY3B1X2RhaSwgQVQ5MV9TWVNDTEtfTUNLLAogCQk2MDAwMDAwMCwgU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBjb2RlYyBzeXN0ZW0gY2xvY2sgaXMgc3VwcGxpZWQgYnkgUENLMSwgc2V0IHRvIDEyTUh6ICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3MzFfU1lTQ0xLLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3MzFfU1lTQ0xLLAogCQkxMjAwMDAwMCwgU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC04Nyw4ICs4Nyw4IEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCWludCByZXQ7CiAKICNpZmRlZiBDT05GSUdfU05EX0FUOTFfU09DX0VUSV9TTEFWRQpAQCAtOTYsMTMgKzk2LDEzIEBACiAJaW50IGNtcl9kaXYsIHBlcmlvZDsKIAogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjcHUgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0xNDEsMTcgKzE0MSwxNyBAQAogCX0KIAogCS8qIHNldCB0aGUgTUNLIGRpdmlkZXIgZm9yIEJDTEsgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY3B1X2RhaSwgQVQ5MVNTQ19DTVJfRElWLCBjbXJfZGl2KTsKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNwdV9kYWksIEFUOTFTU0NfQ01SX0RJViwgY21yX2Rpdik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykgewogCQkvKiBzZXQgdGhlIEJDTEsgZGl2aWRlciBmb3IgREFDTFJDICovCi0JCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2Nsa2RpdihjcHVfZGFpLAorCQlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNwdV9kYWksCiAJCQkJCQlBVDkxU1NDX1RDTVJfUEVSSU9ELCBwZXJpb2QpOwogCX0gZWxzZSB7CiAJCS8qIHNldCB0aGUgQkNMSyBkaXZpZGVyIGZvciBBRENMUkMgKi8KLQkJcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KGNwdV9kYWksCisJCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwKIAkJCQkJCUFUOTFTU0NfUkNNUl9QRVJJT0QsIHBlcmlvZCk7CiAJfQogCWlmIChyZXQgPCAwKQpAQCAtMTYzLDEzICsxNjMsMTMgQEAKIAkgKi8KIAogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjcHUgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0xOTEsNyArMTkxLDcgQEAKIAlTTkRfU09DX0RBUE1fU1BLKCJFeHQgU3BrIiwgTlVMTCksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqaW50ZXJjb25bXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGludGVyY29uW10gPSB7CiAKIAkvKiBzcGVha2VyIGNvbm5lY3RlZCB0byBMSFBPVVQgKi8KIAl7IkV4dCBTcGsiLCBOVUxMLCAiTEhQT1VUIn0sCkBAIC0xOTksOSArMTk5LDYgQEAKIAkvKiBtaWMgaXMgY29ubmVjdGVkIHRvIE1pYyBKYWNrLCB3aXRoIFdNODczMSBNaWMgQmlhcyAqLwogCXsiTUlDSU4iLCBOVUxMLCAiTWljIEJpYXMifSwKIAl7Ik1pYyBCaWFzIiwgTlVMTCwgIkludCBNaWMifSwKLQotCS8qIHRlcm1pbmF0b3IgKi8KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiAvKgpAQCAtMjA5LDMwICsyMDYsMjQgQEAKICAqLwogc3RhdGljIGludCBldGlfYjFfd204NzMxX2luaXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOwotCiAJREJHKCJldGlfYjFfd204NzMxX2luaXQoKSBjYWxsZWRcbiIpOwogCiAJLyogQWRkIHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGV0aV9iMV9kYXBtX3dpZGdldHMpOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmZXRpX2IxX2RhcG1fd2lkZ2V0c1tpXSk7Ci0JfQorCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIGV0aV9iMV9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKGV0aV9iMV9kYXBtX3dpZGdldHMpKTsKIAogCS8qIFNldCB1cCBzcGVjaWZpYyBhdWRpbyBwYXRoIGludGVyY29ubmVjdHMgKi8KLQlmb3IoaSA9IDA7IGludGVyY29uW2ldWzBdICE9IE5VTEw7IGkrKykgewotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgaW50ZXJjb25baV1bMF0sCi0JCQlpbnRlcmNvbltpXVsxXSwgaW50ZXJjb25baV1bMl0pOwotCX0KKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlKGNvZGVjLCBpbnRlcmNvbiwgQVJSQVlfU0laRShpbnRlcmNvbikpOwogCiAJLyogbm90IGNvbm5lY3RlZCAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJSTElORUlOIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxMSU5FSU4iLCAwKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJSTElORUlOIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTExJTkVJTiIpOwogCiAJLyogYWx3YXlzIGNvbm5lY3RlZCAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJJbnQgTWljIiwgMSk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkV4dCBTcGsiLCAxKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkludCBNaWMiKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9LY29uZmlnIGIvc291bmQvc29jL2F1MXgvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTBhODkzCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvS2NvbmZpZwpAQCAtMCwwICsxLDMyIEBACisjIworIyMgQXUxMjAwL0F1MTU1MCBQU0MgKyBEQkRNQQorIyMKK2NvbmZpZyBTTkRfU09DX0FVMVhQU0MKKwl0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciBBdTEyMDAvQXUxMjUwL0F1MTU1MCIKKwlkZXBlbmRzIG9uIFNPQ19BVTEyMDAgfHwgU09DX0FVMTU1MAorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIFByb2dyYW1tYWJsZSBTZXJpYWwKKwkgIENvbnRyb2xsZXJzIGluIEFDOTcgYW5kIEkyUyBtb2RlLCBhbmQgdGhlIERlc2NyaXB0b3ItQmFzZWQgRE1BCisJICBDb250cm9sbGVyIChEQkRNQSkgYXMgZm91bmQgb24gdGhlIEF1MTIwMC9BdTEyNTAvQXUxNTUwIFNvQy4KKworY29uZmlnIFNORF9TT0NfQVUxWFBTQ19JMlMKKwl0cmlzdGF0ZQorCitjb25maWcgU05EX1NPQ19BVTFYUFNDX0FDOTcKKwl0cmlzdGF0ZQorCXNlbGVjdCBBQzk3X0JVUworCXNlbGVjdCBTTkRfQUM5N19DT0RFQworCXNlbGVjdCBTTkRfU09DX0FDOTdfQlVTCisKKworIyMKKyMjIEJvYXJkcworIyMKK2NvbmZpZyBTTkRfU09DX1NBTVBMRV9QU0NfQUM5NworCXRyaXN0YXRlICJTYW1wbGUgQXUxMngwL0F1MTU1MCBQU0MgQUM5NyBzb3VuZCBtYWNoaW5lIgorCWRlcGVuZHMgb24gU05EX1NPQ19BVTFYUFNDCisJc2VsZWN0IFNORF9TT0NfQVUxWFBTQ19BQzk3CisJc2VsZWN0IFNORF9TT0NfQUM5N19DT0RFQworCWhlbHAKKwkgIFRoaXMgaXMgYSBzYW1wbGUgQUM5NyBzb3VuZCBtYWNoaW5lIGZvciB1c2UgaW4gQXUxMngwL0F1MTU1MAorCSAgYmFzZWQgc3lzdGVtcyB3aGljaCBoYXZlIGF1ZGlvIG9uIFBTQzEgKGUuZy4gRGIxMjAwIGRlbW9ib2FyZCkuCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9NYWtlZmlsZSBiL3NvdW5kL3NvYy9hdTF4L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjNjk1MGIKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9NYWtlZmlsZQpAQCAtMCwwICsxLDEzIEBACisjIEF1MTIwMC9BdTE1NTAgUFNDIGF1ZGlvCitzbmQtc29jLWF1MXhwc2MtZGJkbWEtb2JqcyA6PSBkYmRtYTIubworc25kLXNvYy1hdTF4cHNjLWkycy1vYmpzIDo9IHBzYy1pMnMubworc25kLXNvYy1hdTF4cHNjLWFjOTctb2JqcyA6PSBwc2MtYWM5Ny5vCisKK29iai0kKENPTkZJR19TTkRfU09DX0FVMVhQU0MpICs9IHNuZC1zb2MtYXUxeHBzYy1kYmRtYS5vCitvYmotJChDT05GSUdfU05EX1NPQ19BVTFYUFNDX0kyUykgKz0gc25kLXNvYy1hdTF4cHNjLWkycy5vCitvYmotJChDT05GSUdfU05EX1NPQ19BVTFYUFNDX0FDOTcpICs9IHNuZC1zb2MtYXUxeHBzYy1hYzk3Lm8KKworIyBCb2FyZHMKK3NuZC1zb2Mtc2FtcGxlLWFjOTctb2JqcyA6PSBzYW1wbGUtYWM5Ny5vCisKK29iai0kKENPTkZJR19TTkRfU09DX1NBTVBMRV9QU0NfQUM5NykgKz0gc25kLXNvYy1zYW1wbGUtYWM5Ny5vCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9kYmRtYTIuYyBiL3NvdW5kL3NvYy9hdTF4L2RiZG1hMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0NjZkOTMKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9kYmRtYTIuYwpAQCAtMCwwICsxLDQyMSBAQAorLyoKKyAqIEF1MTJ4MC9BdTE1NTAgUFNDIEFMU0EgQVNvQyBhdWRpbyBzdXBwb3J0LgorICoKKyAqIChjKSAyMDA3LTIwMDggTVNDIFZlcnRyaWVic2dlcy5tLmIuSC4sCisgKglNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBETUEgZ2x1ZSBmb3IgQXUxeC1QU0MgYXVkaW8uCisgKgorICogTk9URTogYWxsIG9mIHRoZXNlIGRyaXZlcnMgY2FuIG9ubHkgd29yayB3aXRoIGEgU0lOR0xFIGluc3RhbmNlCisgKgkgb2YgYSBQU0MuIE11bHRpcGxlIGluZGVwZW5kZW50IGF1ZGlvIGRldmljZXMgYXJlIGltcG9zc2libGUKKyAqCSB3aXRoIEFTb0MgdjEuCisgKi8KKworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorCisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTEwMDAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxeHh4X2RiZG1hLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MXh4eF9wc2MuaD4KKworI2luY2x1ZGUgInBzYy5oIgorCisvKiNkZWZpbmUgUENNX0RFQlVHKi8KKworI2RlZmluZSBNU0coeC4uLikJcHJpbnRrKEtFUk5fSU5GTyAiYXUxeHBzY19wY206ICIgeCkKKyNpZmRlZiBQQ01fREVCVUcKKyNkZWZpbmUgREJHCQlNU0cKKyNlbHNlCisjZGVmaW5lIERCRyh4Li4uKQlkbyB7fSB3aGlsZSAoMCkKKyNlbmRpZgorCitzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhIHsKKwkvKiBERE1BIGNvbnRyb2wgZGF0YSAqLworCXVuc2lnbmVkIGludCBkZG1hX2lkOwkJLyogRERNQSBkaXJlY3Rpb24gSUQgZm9yIHRoaXMgUFNDICovCisJdTMyIGRkbWFfY2hhbjsJCQkvKiBERE1BIGNvbnRleHQgKi8KKworCS8qIFBDTSBjb250ZXh0IChmb3IgaXJxIGhhbmRsZXJzKSAqLworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCXVuc2lnbmVkIGxvbmcgY3Vycl9wZXJpb2Q7CS8qIGN1cnJlbnQgc2VnbWVudCBERE1BIGlzIHdvcmtpbmcgb24gKi8KKwl1bnNpZ25lZCBsb25nIHFfcGVyaW9kOwkJLyogcXVldWUgcGVyaW9kKHMpICovCisJdW5zaWduZWQgbG9uZyBkbWFfYXJlYTsJCS8qIGFkZHJlc3Mgb2YgcXVldWVkIERNQSBhcmVhICovCisJdW5zaWduZWQgbG9uZyBkbWFfYXJlYV9zOwkvKiBzdGFydCBhZGRyZXNzIG9mIERNQSBhcmVhICovCisJdW5zaWduZWQgbG9uZyBwb3M7CQkvKiBjdXJyZW50IGJ5dGUgcG9zaXRpb24gYmVpbmcgcGxheWVkICovCisJdW5zaWduZWQgbG9uZyBwZXJpb2RzOwkJLyogbnVtYmVyIG9mIFNHIHNlZ21lbnRzIGluIHRvdGFsICovCisJdW5zaWduZWQgbG9uZyBwZXJpb2RfYnl0ZXM7CS8qIHNpemUgaW4gYnl0ZXMgb2Ygb25lIFNHIHNlZ21lbnQgKi8KKworCS8qIHJ1bnRpbWUgZGF0YSAqLworCWludCBtc2JpdHM7Cit9OworCisvKiBpbnN0YW5jZSBkYXRhLiBUaGVyZSBjYW4gYmUgb25seSBvbmUsIE1hY0xlb2QhISEhICovCitzdGF0aWMgc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqYXUxeHBzY19hdWRpb19wY21kbWFbMl07CisKKy8qCisgKiBUaGVzZSBzZXR0aW5ncyBhcmUgc29tZXdoYXQgb2theSwgYXQgbGVhc3Qgb24gbXkgbWFjaGluZSBhdWRpbyBwbGF5cworICogYWxtb3N0IHNraXAtZnJlZS4gRXNwZWNpYWxseSB0aGUgNjRrQiBidWZmZXIgc2VlbXMgdG8gaGVscCBhIExPVC4KKyAqLworI2RlZmluZSBBVTFYUFNDX1BFUklPRF9NSU5fQllURVMJMTAyNAorI2RlZmluZSBBVTFYUFNDX0JVRkZFUl9NSU5fQllURVMJNjU1MzYKKworI2RlZmluZSBBVTFYUFNDX1BDTV9GTVRTCQkJCQlcCisJKFNORFJWX1BDTV9GTVRCSVRfUzggICAgIHwgU05EUlZfUENNX0ZNVEJJVF9VOCB8CVwKKwkgU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MxNl9CRSB8CVwKKwkgU05EUlZfUENNX0ZNVEJJVF9VMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1UxNl9CRSB8CVwKKwkgU05EUlZfUENNX0ZNVEJJVF9TMzJfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MzMl9CRSB8CVwKKwkgU05EUlZfUENNX0ZNVEJJVF9VMzJfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1UzMl9CRSB8CVwKKwkgMCkKKworLyogUENNIGhhcmR3YXJlIERNQSBjYXBhYmlsaXRpZXMgLSBwbGF0Zm9ybSBzcGVjaWZpYyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIGF1MXhwc2NfcGNtX2hhcmR3YXJlID0geworCS5pbmZvCQkgID0gU05EUlZfUENNX0lORk9fTU1BUCB8IFNORFJWX1BDTV9JTkZPX01NQVBfVkFMSUQgfAorCQkJICAgIFNORFJWX1BDTV9JTkZPX0lOVEVSTEVBVkVELAorCS5mb3JtYXRzCSAgPSBBVTFYUFNDX1BDTV9GTVRTLAorCS5wZXJpb2RfYnl0ZXNfbWluID0gQVUxWFBTQ19QRVJJT0RfTUlOX0JZVEVTLAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gNDA5NiAqIDEwMjQgLSAxLAorCS5wZXJpb2RzX21pbgkgID0gMiwKKwkucGVyaW9kc19tYXgJICA9IDQwOTYsCS8qIDIgdG8gYXMtbXVjaC1hcy15b3UtbGlrZSAqLworCS5idWZmZXJfYnl0ZXNfbWF4ID0gNDA5NiAqIDEwMjQgLSAxLAorCS5maWZvX3NpemUJICA9IDE2LAkJLyogZmlmbyBlbnRyaWVzIG9mIEFDOTcvSTJTIFBTQyAqLworfTsKKworc3RhdGljIHZvaWQgYXUxeF9wY21fcXVldWVfdHgoc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqY2QpCit7CisJYXUxeHh4X2RiZG1hX3B1dF9zb3VyY2VfZmxhZ3MoY2QtPmRkbWFfY2hhbiwKKwkJCQkodm9pZCAqKXBoeXNfdG9fdmlydChjZC0+ZG1hX2FyZWEpLAorCQkJCWNkLT5wZXJpb2RfYnl0ZXMsIERETUFfRkxBR1NfSUUpOworCisJLyogdXBkYXRlIG5leHQtdG8tcXVldWUgcGVyaW9kICovCisJKytjZC0+cV9wZXJpb2Q7CisJY2QtPmRtYV9hcmVhICs9IGNkLT5wZXJpb2RfYnl0ZXM7CisJaWYgKGNkLT5xX3BlcmlvZCA+PSBjZC0+cGVyaW9kcykgeworCQljZC0+cV9wZXJpb2QgPSAwOworCQljZC0+ZG1hX2FyZWEgPSBjZC0+ZG1hX2FyZWFfczsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhfcGNtX3F1ZXVlX3J4KHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKmNkKQoreworCWF1MXh4eF9kYmRtYV9wdXRfZGVzdF9mbGFncyhjZC0+ZGRtYV9jaGFuLAorCQkJCSh2b2lkICopcGh5c190b192aXJ0KGNkLT5kbWFfYXJlYSksCisJCQkJY2QtPnBlcmlvZF9ieXRlcywgRERNQV9GTEFHU19JRSk7CisKKwkvKiB1cGRhdGUgbmV4dC10by1xdWV1ZSBwZXJpb2QgKi8KKwkrK2NkLT5xX3BlcmlvZDsKKwljZC0+ZG1hX2FyZWEgKz0gY2QtPnBlcmlvZF9ieXRlczsKKwlpZiAoY2QtPnFfcGVyaW9kID49IGNkLT5wZXJpb2RzKSB7CisJCWNkLT5xX3BlcmlvZCA9IDA7CisJCWNkLT5kbWFfYXJlYSA9IGNkLT5kbWFfYXJlYV9zOworCX0KK30KKworc3RhdGljIHZvaWQgYXUxeF9wY21fZG1hdHhfY2IoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKmNkID0gZGV2X2lkOworCisJY2QtPnBvcyArPSBjZC0+cGVyaW9kX2J5dGVzOworCWlmICgrK2NkLT5jdXJyX3BlcmlvZCA+PSBjZC0+cGVyaW9kcykgeworCQljZC0+cG9zID0gMDsKKwkJY2QtPmN1cnJfcGVyaW9kID0gMDsKKwl9CisJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChjZC0+c3Vic3RyZWFtKTsKKwlhdTF4X3BjbV9xdWV1ZV90eChjZCk7Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhfcGNtX2RtYXJ4X2NiKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpjZCA9IGRldl9pZDsKKworCWNkLT5wb3MgKz0gY2QtPnBlcmlvZF9ieXRlczsKKwlpZiAoKytjZC0+Y3Vycl9wZXJpb2QgPj0gY2QtPnBlcmlvZHMpIHsKKwkJY2QtPnBvcyA9IDA7CisJCWNkLT5jdXJyX3BlcmlvZCA9IDA7CisJfQorCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY2QtPnN1YnN0cmVhbSk7CisJYXUxeF9wY21fcXVldWVfcngoY2QpOworfQorCitzdGF0aWMgdm9pZCBhdTF4X3BjbV9kYmRtYV9mcmVlKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKnBjZCkKK3sKKwlpZiAocGNkLT5kZG1hX2NoYW4pIHsKKwkJYXUxeHh4X2RiZG1hX3N0b3AocGNkLT5kZG1hX2NoYW4pOworCQlhdTF4eHhfZGJkbWFfcmVzZXQocGNkLT5kZG1hX2NoYW4pOworCQlhdTF4eHhfZGJkbWFfY2hhbl9mcmVlKHBjZC0+ZGRtYV9jaGFuKTsKKwkJcGNkLT5kZG1hX2NoYW4gPSAwOworCQlwY2QtPm1zYml0cyA9IDA7CisJfQorfQorCisvKiBpbiBjYXNlIG9mIG1pc3NpbmcgRE1BIHJpbmcgb3IgY2hhbmdlZCBUWC1zb3VyY2UgLyBSWC1kZXN0IGJpdCB3aWR0aHMsCisgKiBhbGxvY2F0ZSAob3IgcmVhbGxvY2F0ZSkgYSAyLWRlc2NyaXB0b3IgRE1BIHJpbmcgd2l0aCBiaXQgZGVwdGggYWNjb3JkaW5nCisgKiB0byBBTFNBLXN1cHBsaWVkIHNhbXBsZSBkZXB0aC4gIFRoaXMgaXMgZHVlIHRvIGxpbWl0YXRpb25zIGluIHRoZSBkYmRtYSBhcGkKKyAqIChjYW5ub3QgYWRqdXN0IHNvdXJjZS9kZXN0IHdpZHRocyBvZiBhbHJlYWR5IGFsbG9jYXRlZCBkZXNjcmlwdG9yIHJpbmcpLgorICovCitzdGF0aWMgaW50IGF1MXhfcGNtX2RiZG1hX3JlYWxsb2Moc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqcGNkLAorCQkJCSBpbnQgc3R5cGUsIGludCBtc2JpdHMpCit7CisJLyogRE1BIG9ubHkgaW4gOC8xNi8zMiBiaXQgd2lkdGhzICovCisJaWYgKG1zYml0cyA9PSAyNCkKKwkJbXNiaXRzID0gMzI7CisKKwkvKiBjaGVjayBjdXJyZW50IGNvbmZpZzogY29ycmVjdCBiaXRzIGFuZCBkZXNjcmlwdG9ycyBhbGxvY2F0ZWQ/ICovCisJaWYgKChwY2QtPmRkbWFfY2hhbikgJiYgKG1zYml0cyA9PSBwY2QtPm1zYml0cykpCisJCWdvdG8gb3V0OwkvKiBhbGwgb2shICovCisKKwlhdTF4X3BjbV9kYmRtYV9mcmVlKHBjZCk7CisKKwlpZiAoc3R5cGUgPT0gUENNX1JYKQorCQlwY2QtPmRkbWFfY2hhbiA9IGF1MXh4eF9kYmRtYV9jaGFuX2FsbG9jKHBjZC0+ZGRtYV9pZCwKKwkJCQkJRFNDUl9DTUQwX0FMV0FZUywKKwkJCQkJYXUxeF9wY21fZG1hcnhfY2IsICh2b2lkICopcGNkKTsKKwllbHNlCisJCXBjZC0+ZGRtYV9jaGFuID0gYXUxeHh4X2RiZG1hX2NoYW5fYWxsb2MoRFNDUl9DTUQwX0FMV0FZUywKKwkJCQkJcGNkLT5kZG1hX2lkLAorCQkJCQlhdTF4X3BjbV9kbWF0eF9jYiwgKHZvaWQgKilwY2QpOworCisJaWYgKCFwY2QtPmRkbWFfY2hhbikKKwkJcmV0dXJuIC1FTk9NRU07OworCisJYXUxeHh4X2RiZG1hX3NldF9kZXZ3aWR0aChwY2QtPmRkbWFfY2hhbiwgbXNiaXRzKTsKKwlhdTF4eHhfZGJkbWFfcmluZ19hbGxvYyhwY2QtPmRkbWFfY2hhbiwgMik7CisKKwlwY2QtPm1zYml0cyA9IG1zYml0czsKKworCWF1MXh4eF9kYmRtYV9zdG9wKHBjZC0+ZGRtYV9jaGFuKTsKKwlhdTF4eHhfZGJkbWFfcmVzZXQocGNkLT5kZG1hX2NoYW4pOworCitvdXQ6CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21faHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKnBjZDsKKwlpbnQgc3R5cGUsIHJldDsKKworCXJldCA9IHNuZF9wY21fbGliX21hbGxvY19wYWdlcyhzdWJzdHJlYW0sIHBhcmFtc19idWZmZXJfYnl0ZXMocGFyYW1zKSk7CisJaWYgKHJldCA8IDApCisJCWdvdG8gb3V0OworCisJc3R5cGUgPSBTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pOworCXBjZCA9IGF1MXhwc2NfYXVkaW9fcGNtZG1hW3N0eXBlXTsKKworCURCRygicnVudGltZS0+ZG1hX2FyZWEgPSAweCUwOGx4IGRtYV9hZGRyX3QgPSAweCUwOGx4IGRtYV9zaXplID0gJWQgIgorCSAgICAicnVudGltZS0+bWluX2FsaWduICVkXG4iLAorCQkodW5zaWduZWQgbG9uZylydW50aW1lLT5kbWFfYXJlYSwKKwkJKHVuc2lnbmVkIGxvbmcpcnVudGltZS0+ZG1hX2FkZHIsIHJ1bnRpbWUtPmRtYV9ieXRlcywKKwkJcnVudGltZS0+bWluX2FsaWduKTsKKworCURCRygiYml0cyAlZCAgZnJhZ3MgJWQgIGZyYWdfYnl0ZXMgJWQgIGlzX3J4ICVkXG4iLCBwYXJhbXMtPm1zYml0cywKKwkJcGFyYW1zX3BlcmlvZHMocGFyYW1zKSwgcGFyYW1zX3BlcmlvZF9ieXRlcyhwYXJhbXMpLCBzdHlwZSk7CisKKwlyZXQgPSBhdTF4X3BjbV9kYmRtYV9yZWFsbG9jKHBjZCwgc3R5cGUsIHBhcmFtcy0+bXNiaXRzKTsKKwlpZiAocmV0KSB7CisJCU1TRygiRERNQSBjaGFubmVsIChyZSlhbGxvYyBmYWlsZWQhXG4iKTsKKwkJZ290byBvdXQ7CisJfQorCisJcGNkLT5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisJcGNkLT5wZXJpb2RfYnl0ZXMgPSBwYXJhbXNfcGVyaW9kX2J5dGVzKHBhcmFtcyk7CisJcGNkLT5wZXJpb2RzID0gcGFyYW1zX3BlcmlvZHMocGFyYW1zKTsKKwlwY2QtPmRtYV9hcmVhX3MgPSBwY2QtPmRtYV9hcmVhID0gKHVuc2lnbmVkIGxvbmcpcnVudGltZS0+ZG1hX2FkZHI7CisJcGNkLT5xX3BlcmlvZCA9IDA7CisJcGNkLT5jdXJyX3BlcmlvZCA9IDA7CisJcGNkLT5wb3MgPSAwOworCisJcmV0ID0gMDsKK291dDoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX2h3X2ZyZWUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc25kX3BjbV9saWJfZnJlZV9wYWdlcyhzdWJzdHJlYW0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqcGNkID0KKwkJCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1NVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSldOworCisJYXUxeHh4X2RiZG1hX3Jlc2V0KHBjZC0+ZGRtYV9jaGFuKTsKKworCWlmIChTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pID09IFBDTV9SWCkgeworCQlhdTF4X3BjbV9xdWV1ZV9yeChwY2QpOworCQlhdTF4X3BjbV9xdWV1ZV9yeChwY2QpOworCX0gZWxzZSB7CisJCWF1MXhfcGNtX3F1ZXVlX3R4KHBjZCk7CisJCWF1MXhfcGNtX3F1ZXVlX3R4KHBjZCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKK3sKKwl1MzIgYyA9IGF1MXhwc2NfYXVkaW9fcGNtZG1hW1NVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSldLT5kZG1hX2NoYW47CisKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CisJCWF1MXh4eF9kYmRtYV9zdGFydChjKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKKwkJYXUxeHh4X2RiZG1hX3N0b3AoYyk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNuZF9wY21fdWZyYW1lc190CithdTF4cHNjX3BjbV9wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXJldHVybiBieXRlc190b19mcmFtZXMoc3Vic3RyZWFtLT5ydW50aW1lLAorCQlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pXS0+cG9zKTsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXNuZF9zb2Nfc2V0X3J1bnRpbWVfaHdwYXJhbXMoc3Vic3RyZWFtLCAmYXUxeHBzY19wY21faGFyZHdhcmUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCWF1MXhfcGNtX2RiZG1hX2ZyZWUoYXUxeHBzY19hdWRpb19wY21kbWFbU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKV0pOworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3BjbV9vcHMgYXUxeHBzY19wY21fb3BzID0geworCS5vcGVuCQk9IGF1MXhwc2NfcGNtX29wZW4sCisJLmNsb3NlCQk9IGF1MXhwc2NfcGNtX2Nsb3NlLAorCS5pb2N0bAkJPSBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zCT0gYXUxeHBzY19wY21faHdfcGFyYW1zLAorCS5od19mcmVlCT0gYXUxeHBzY19wY21faHdfZnJlZSwKKwkucHJlcGFyZQk9IGF1MXhwc2NfcGNtX3ByZXBhcmUsCisJLnRyaWdnZXIJPSBhdTF4cHNjX3BjbV90cmlnZ2VyLAorCS5wb2ludGVyCT0gYXUxeHBzY19wY21fcG9pbnRlciwKK307CisKK3N0YXRpYyB2b2lkIGF1MXhwc2NfcGNtX2ZyZWVfZG1hX2J1ZmZlcnMoc3RydWN0IHNuZF9wY20gKnBjbSkKK3sKKwlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9mcmVlX2Zvcl9hbGwocGNtKTsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAorCQkJICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJCQkgICBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQoreworCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzX2Zvcl9hbGwocGNtLCBTTkRSVl9ETUFfVFlQRV9ERVYsCisJCWNhcmQtPmRldiwgQVUxWFBTQ19CVUZGRVJfTUlOX0JZVEVTLCAoNDA5NiAqIDEwMjQpIC0gMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCByZXNvdXJjZSAqcjsKKwlpbnQgcmV0OworCisJaWYgKGF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0gfHwgYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXSkKKwkJcmV0dXJuIC1FQlVTWTsKKworCS8qIFRYIERNQSAqLworCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0KKwkJPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9ETUEsIDApOworCWlmICghcikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDE7CisJfQorCShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdKS0+ZGRtYV9pZCA9IHItPnN0YXJ0OworCisJLyogUlggRE1BICovCisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXQorCQk9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0pCisJCXJldHVybiAtRU5PTUVNOworCisJciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX0RNQSwgMSk7CisJaWYgKCFyKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0MjsKKwl9CisJKGF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0pLT5kZG1hX2lkID0gci0+c3RhcnQ7CisKKwlyZXR1cm4gMDsKKworb3V0MjoKKwlrZnJlZShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdKTsKKwlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdID0gTlVMTDsKK291dDE6CisJa2ZyZWUoYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSk7CisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSA9IE5VTEw7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKKwkJaWYgKGF1MXhwc2NfYXVkaW9fcGNtZG1hW2ldKSB7CisJCQlhdTF4X3BjbV9kYmRtYV9mcmVlKGF1MXhwc2NfYXVkaW9fcGNtZG1hW2ldKTsKKwkJCWtmcmVlKGF1MXhwc2NfYXVkaW9fcGNtZG1hW2ldKTsKKwkJCWF1MXhwc2NfYXVkaW9fcGNtZG1hW2ldID0gTlVMTDsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCisvKiBhdTF4cHNjIGF1ZGlvIHBsYXRmb3JtICovCitzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSBhdTF4cHNjX3NvY19wbGF0Zm9ybSA9IHsKKwkubmFtZQkJPSAiYXUxeHBzYy1wY20tZGJkbWEiLAorCS5wcm9iZQkJPSBhdTF4cHNjX3BjbV9wcm9iZSwKKwkucmVtb3ZlCQk9IGF1MXhwc2NfcGNtX3JlbW92ZSwKKwkucGNtX29wcyAJPSAmYXUxeHBzY19wY21fb3BzLAorCS5wY21fbmV3CT0gYXUxeHBzY19wY21fbmV3LAorCS5wY21fZnJlZQk9IGF1MXhwc2NfcGNtX2ZyZWVfZG1hX2J1ZmZlcnMsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoYXUxeHBzY19zb2NfcGxhdGZvcm0pOworCitzdGF0aWMgaW50IF9faW5pdCBhdTF4cHNjX2F1ZGlvX2RiZG1hX2luaXQodm9pZCkKK3sKKwlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdID0gTlVMTDsKKwlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGF1MXhwc2NfYXVkaW9fZGJkbWFfZXhpdCh2b2lkKQoreworfQorCittb2R1bGVfaW5pdChhdTF4cHNjX2F1ZGlvX2RiZG1hX2luaXQpOworbW9kdWxlX2V4aXQoYXUxeHBzY19hdWRpb19kYmRtYV9leGl0KTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBdTEyeDAvQXUxNTUwIFBTQyBBdWRpbyBETUEgZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+Iik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9wc2MtYWM5Ny5jIGIvc291bmQvc29jL2F1MXgvcHNjLWFjOTcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2ZhY2JhCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvcHNjLWFjOTcuYwpAQCAtMCwwICsxLDM4NyBAQAorLyoKKyAqIEF1MTJ4MC9BdTE1NTAgUFNDIEFMU0EgQVNvQyBhdWRpbyBzdXBwb3J0LgorICoKKyAqIChjKSAyMDA3LTIwMDggTVNDIFZlcnRyaWVic2dlcy5tLmIuSC4sCisgKglNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBBdTF4eHgtUFNDIEFDOTcgZ2x1ZS4KKyAqCisgKiBOT1RFOiBhbGwgb2YgdGhlc2UgZHJpdmVycyBjYW4gb25seSB3b3JrIHdpdGggYSBTSU5HTEUgaW5zdGFuY2UKKyAqCSBvZiBhIFBTQy4gTXVsdGlwbGUgaW5kZXBlbmRlbnQgYXVkaW8gZGV2aWNlcyBhcmUgaW1wb3NzaWJsZQorICoJIHdpdGggQVNvQyB2MS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MTAwMC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmg+CisKKyNpbmNsdWRlICJwc2MuaCIKKworI2RlZmluZSBBQzk3X0RJUglcCisJKFNORF9TT0NfREFJRElSX1BMQVlCQUNLIHwgU05EX1NPQ19EQUlESVJfQ0FQVFVSRSkKKworI2RlZmluZSBBQzk3X1JBVEVTCVwKKwlTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwCisKKyNkZWZpbmUgQUM5N19GTVRTCVwKKwkoU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MyMF8zQkUpCisKKyNkZWZpbmUgQUM5N1BDUl9TVEFSVChzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19BQzk3UENSX1RTIDogUFNDX0FDOTdQQ1JfUlMpCisjZGVmaW5lIEFDOTdQQ1JfU1RPUChzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19BQzk3UENSX1RQIDogUFNDX0FDOTdQQ1JfUlApCisjZGVmaW5lIEFDOTdQQ1JfQ0xSRklGTyhzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19BQzk3UENSX1RDIDogUFNDX0FDOTdQQ1JfUkMpCisKKy8qIGluc3RhbmNlIGRhdGEuIFRoZXJlIGNhbiBiZSBvbmx5IG9uZSwgTWFjTGVvZCEhISEgKi8KK3N0YXRpYyBzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICphdTF4cHNjX2FjOTdfd29ya2RhdGE7CisKKy8qIEFDOTcgY29udHJvbGxlciByZWFkcyBjb2RlYyByZWdpc3RlciAqLworc3RhdGljIHVuc2lnbmVkIHNob3J0IGF1MXhwc2NfYWM5N19yZWFkKHN0cnVjdCBzbmRfYWM5NyAqYWM5NywKKwkJCQkJdW5zaWduZWQgc2hvcnQgcmVnKQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKwl1bnNpZ25lZCBzaG9ydCBkYXRhLCB0bW87CisKKwlhdV93cml0ZWwoUFNDX0FDOTdDRENfUkQgfCBQU0NfQUM5N0NEQ19JTkRYKHJlZyksIEFDOTdfQ0RDKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwl0bW8gPSAxMDAwOworCXdoaWxlICgoIShhdV9yZWFkbChBQzk3X0VWTlQocHNjZGF0YSkpICYgUFNDX0FDOTdFVk5UX0NEKSkgJiYgLS10bW8pCisJCXVkZWxheSgyKTsKKworCWlmICghdG1vKQorCQlkYXRhID0gMHhmZmZmOworCWVsc2UKKwkJZGF0YSA9IGF1X3JlYWRsKEFDOTdfQ0RDKHBzY2RhdGEpKSAmIDB4ZmZmZjsKKworCWF1X3dyaXRlbChQU0NfQUM5N0VWTlRfQ0QsIEFDOTdfRVZOVChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJcmV0dXJuIGRhdGE7Cit9CisKKy8qIEFDOTcgY29udHJvbGxlciB3cml0ZXMgdG8gY29kZWMgcmVnaXN0ZXIgKi8KK3N0YXRpYyB2b2lkIGF1MXhwc2NfYWM5N193cml0ZShzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcsIHVuc2lnbmVkIHNob3J0IHJlZywKKwkJCQl1bnNpZ25lZCBzaG9ydCB2YWwpCit7CisJLyogRklYTUUgKi8KKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCXVuc2lnbmVkIGludCB0bW87CisKKwlhdV93cml0ZWwoUFNDX0FDOTdDRENfSU5EWChyZWcpIHwgKHZhbCAmIDB4ZmZmZiksIEFDOTdfQ0RDKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJdG1vID0gMTAwMDsKKwl3aGlsZSAoKCEoYXVfcmVhZGwoQUM5N19FVk5UKHBzY2RhdGEpKSAmIFBTQ19BQzk3RVZOVF9DRCkpICYmIC0tdG1vKQorCQlhdV9zeW5jKCk7CisKKwlhdV93cml0ZWwoUFNDX0FDOTdFVk5UX0NELCBBQzk3X0VWTlQocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKK30KKworLyogQUM5NyBjb250cm9sbGVyIGFzc2VydHMgYSB3YXJtIHJlc2V0ICovCitzdGF0aWMgdm9pZCBhdTF4cHNjX2FjOTdfd2FybV9yZXNldChzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcpCit7CisJLyogRklYTUUgKi8KKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCisJYXVfd3JpdGVsKFBTQ19BQzk3UlNUX1NOQywgQUM5N19SU1QocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKwltc2xlZXAoMTApOworCWF1X3dyaXRlbCgwLCBBQzk3X1JTVChwc2NkYXRhKSk7CisJYXVfc3luYygpOworfQorCitzdGF0aWMgdm9pZCBhdTF4cHNjX2FjOTdfY29sZF9yZXNldChzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcpCit7CisJLyogRklYTUUgKi8KKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCWludCBpOworCisJLyogZGlzYWJsZSBQU0MgZHVyaW5nIGNvbGQgcmVzZXQgKi8KKwlhdV93cml0ZWwoMCwgQUM5N19DRkcoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogaXNzdWUgY29sZCByZXNldCAqLworCWF1X3dyaXRlbChQU0NfQUM5N1JTVF9SU1QsIEFDOTdfUlNUKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJbXNsZWVwKDUwMCk7CisJYXVfd3JpdGVsKDAsIEFDOTdfUlNUKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiBlbmFibGUgUFNDICovCisJYXVfd3JpdGVsKFBTQ19DVFJMX0VOQUJMRSwgUFNDX0NUUkwocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHdhaXQgZm9yIFBTQyB0byBpbmRpY2F0ZSBpdCdzIHJlYWR5ICovCisJaSA9IDEwMDAwMDsKKwl3aGlsZSAoISgoYXVfcmVhZGwoQUM5N19TVEFUKHBzY2RhdGEpKSAmIFBTQ19BQzk3U1RBVF9TUikpICYmICgtLWkpKQorCQlhdV9zeW5jKCk7CisKKwlpZiAoaSA9PSAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiYXUxeHBzYy1hYzk3OiBQU0Mgbm90IHJlYWR5IVxuIik7CisJCXJldHVybjsKKwl9CisKKwkvKiBlbmFibGUgdGhlIGFjOTcgZnVuY3Rpb24gKi8KKwlhdV93cml0ZWwocHNjZGF0YS0+Y2ZnIHwgUFNDX0FDOTdDRkdfREVfRU5BQkxFLCBBQzk3X0NGRyhwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogd2FpdCBmb3IgQUM5NyBjb3JlIHRvIGJlY29tZSByZWFkeSAqLworCWkgPSAxMDAwMDA7CisJd2hpbGUgKCEoKGF1X3JlYWRsKEFDOTdfU1RBVChwc2NkYXRhKSkgJiBQU0NfQUM5N1NUQVRfRFIpKSAmJiAoLS1pKSkKKwkJYXVfc3luYygpOworCWlmIChpID09IDApCisJCXByaW50ayhLRVJOX0VSUiAiYXUxeHBzYy1hYzk3OiBBQzk3IGN0cmwgbm90IHJlYWR5XG4iKTsKK30KKworLyogQUM5NyBjb250cm9sbGVyIG9wZXJhdGlvbnMgKi8KK3N0cnVjdCBzbmRfYWM5N19idXNfb3BzIHNvY19hYzk3X29wcyA9IHsKKwkucmVhZAkJPSBhdTF4cHNjX2FjOTdfcmVhZCwKKwkud3JpdGUJCT0gYXUxeHBzY19hYzk3X3dyaXRlLAorCS5yZXNldAkJPSBhdTF4cHNjX2FjOTdfY29sZF9yZXNldCwKKwkud2FybV9yZXNldAk9IGF1MXhwc2NfYWM5N193YXJtX3Jlc2V0LAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKHNvY19hYzk3X29wcyk7CisKK3N0YXRpYyBpbnQgYXUxeHBzY19hYzk3X2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKwl1bnNpZ25lZCBsb25nIHIsIHN0YXQ7CisJaW50IGNoYW5zLCBzdHlwZSA9IFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSk7CisKKwljaGFucyA9IHBhcmFtc19jaGFubmVscyhwYXJhbXMpOworCisJciA9IGF1X3JlYWRsKEFDOTdfQ0ZHKHBzY2RhdGEpKTsKKwlzdGF0ID0gYXVfcmVhZGwoQUM5N19TVEFUKHBzY2RhdGEpKTsKKworCS8qIGFscmVhZHkgYWN0aXZlPyAqLworCWlmIChzdGF0ICYgKFBTQ19BQzk3U1RBVF9UQiB8IFBTQ19BQzk3U1RBVF9SQikpIHsKKwkJLyogcmVqZWN0IHBhcmFtZXRlcnMgbm90IGN1cnJlbnRseSBzZXQgdXAgKi8KKwkJaWYgKChQU0NfQUM5N0NGR19HRVRfTEVOKHIpICE9IHBhcmFtcy0+bXNiaXRzKSB8fAorCQkgICAgKHBzY2RhdGEtPnJhdGUgIT0gcGFyYW1zX3JhdGUocGFyYW1zKSkpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9IGVsc2UgeworCQkvKiBkaXNhYmxlIEFDOTcgZGV2aWNlIGNvbnRyb2xsZXIgZmlyc3QgKi8KKwkJYXVfd3JpdGVsKHIgJiB+UFNDX0FDOTdDRkdfREVfRU5BQkxFLCBBQzk3X0NGRyhwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKworCQkvKiBzZXQgc2FtcGxlIGJpdGRlcHRoOiBSRUdbMjQ6MjFdPShCSVRTLTIpLzIgKi8KKwkJciAmPSB+UFNDX0FDOTdDRkdfTEVOX01BU0s7CisJCXIgfD0gUFNDX0FDOTdDRkdfU0VUX0xFTihwYXJhbXMtPm1zYml0cyk7CisKKwkJLyogY2hhbm5lbHM6IGVuYWJsZSBzbG90cyBmb3IgZnJvbnQgTC9SIGNoYW5uZWwgKi8KKwkJaWYgKHN0eXBlID09IFBDTV9UWCkgeworCQkJciAmPSB+UFNDX0FDOTdDRkdfVFhTTE9UX01BU0s7CisJCQlyIHw9IFBTQ19BQzk3Q0ZHX1RYU0xPVF9FTkEoMyk7CisJCQlyIHw9IFBTQ19BQzk3Q0ZHX1RYU0xPVF9FTkEoNCk7CisJCX0gZWxzZSB7CisJCQlyICY9IH5QU0NfQUM5N0NGR19SWFNMT1RfTUFTSzsKKwkJCXIgfD0gUFNDX0FDOTdDRkdfUlhTTE9UX0VOQSgzKTsKKwkJCXIgfD0gUFNDX0FDOTdDRkdfUlhTTE9UX0VOQSg0KTsKKwkJfQorCisJCS8qIGZpbmFsbHkgZW5hYmxlIHRoZSBBQzk3IGNvbnRyb2xsZXIgYWdhaW4gKi8KKwkJYXVfd3JpdGVsKHIgfCBQU0NfQUM5N0NGR19ERV9FTkFCTEUsIEFDOTdfQ0ZHKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCisJCXBzY2RhdGEtPmNmZyA9IHI7CisJCXBzY2RhdGEtPnJhdGUgPSBwYXJhbXNfcmF0ZShwYXJhbXMpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfYWM5N190cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCWludCBjbWQpCit7CisJLyogRklYTUUgKi8KKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCWludCByZXQsIHN0eXBlID0gU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKTsKKworCXJldCA9IDA7CisKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CisJCWF1X3dyaXRlbChBQzk3UENSX1NUQVJUKHN0eXBlKSwgQUM5N19QQ1IocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CisJCWF1X3dyaXRlbChBQzk3UENSX1NUT1Aoc3R5cGUpLCBBQzk3X1BDUihwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0ID0gLUVJTlZBTDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2FjOTdfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCWludCByZXQ7CisJc3RydWN0IHJlc291cmNlICpyOworCXVuc2lnbmVkIGxvbmcgc2VsOworCisJaWYgKGF1MXhwc2NfYWM5N193b3JrZGF0YSkKKwkJcmV0dXJuIC1FQlVTWTsKKworCWF1MXhwc2NfYWM5N193b3JrZGF0YSA9CisJCWt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWF1MXhwc2NfYWM5N193b3JrZGF0YSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKwlpZiAoIXIpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQwOworCX0KKworCXJldCA9IC1FQlVTWTsKKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmlvYXJlYSA9CisJCXJlcXVlc3RfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxLAorCQkJCQkiYXUxeHBzY19hYzk3Iik7CisJaWYgKCFhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmlvYXJlYSkKKwkJZ290byBvdXQwOworCisJYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5tbWlvID0gaW9yZW1hcChyLT5zdGFydCwgMHhmZmZmKTsKKwlpZiAoIWF1MXhwc2NfYWM5N193b3JrZGF0YS0+bW1pbykKKwkJZ290byBvdXQxOworCisJLyogY29uZmlndXJhdGlvbjogbWF4IGRtYSB0cmlnZ2VyIHRocmVzaG9sZCwgZW5hYmxlIGFjOTcgKi8KKwkgYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5jZmcgPSBQU0NfQUM5N0NGR19SVF9GSUZPOCB8CisJCQkJICAgICAgUFNDX0FDOTdDRkdfVFRfRklGTzggfAorCQkJCSAgICAgIFBTQ19BQzk3Q0ZHX0RFX0VOQUJMRTsKKworCS8qIHByZXNlcnZlIFBTQyBjbG9jayBzb3VyY2Ugc2V0IHVwIGJ5IHBsYXRmb3JtIChkZXYucGxhdGZvcm1fZGF0YQorCSAqIGlzIGFscmVhZHkgb2NjdXBpZWQgYnkgc29jIGxheWVyKQorCSAqLworCXNlbCA9IGF1X3JlYWRsKFBTQ19TRUwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSkgJiBQU0NfU0VMX0NMS19NQVNLOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKDAsIFBTQ19TRUwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfU0VMX1BTX0FDOTdNT0RFIHwgc2VsLCBQU0NfU0VMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwkvKiBuZXh0IHVwOiBjb2xkIHJlc2V0LiAgRG9udCBjaGVjayBmb3IgUFNDLXJlYWR5IG5vdyBzaW5jZQorCSAqIHRoZXJlIG1heSBub3QgYmUgYW55IGNvZGVjIGNsb2NrIHlldC4KKwkgKi8KKworCXJldHVybiAwOworCitvdXQxOgorCXJlbGVhc2VfcmVzb3VyY2UoYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5pb2FyZWEpOworCWtmcmVlKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+aW9hcmVhKTsKK291dDA6CisJa2ZyZWUoYXUxeHBzY19hYzk3X3dvcmtkYXRhKTsKKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEgPSBOVUxMOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhwc2NfYWM5N19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwkvKiBkaXNhYmxlIFBTQyBjb21wbGV0ZWx5ICovCisJYXVfd3JpdGVsKDAsIEFDOTdfQ0ZHKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJaW91bm1hcChhdTF4cHNjX2FjOTdfd29ya2RhdGEtPm1taW8pOworCXJlbGVhc2VfcmVzb3VyY2UoYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5pb2FyZWEpOworCWtmcmVlKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2FjOTdfd29ya2RhdGEpOworCWF1MXhwc2NfYWM5N193b3JrZGF0YSA9IE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19hYzk3X3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwkvKiBzYXZlIGludGVyZXN0aW5nIHJlZ2lzdGVycyBhbmQgZGlzYWJsZSBQU0MgKi8KKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEtPnBtWzBdID0KKwkJCWF1X3JlYWRsKFBTQ19TRUwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisKKwlhdV93cml0ZWwoMCwgQUM5N19DRkcoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2FjOTdfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJLyogcmVzdG9yZSBQU0MgY2xvY2sgY29uZmlnICovCisJYXVfd3JpdGVsKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+cG1bMF0gfCBQU0NfU0VMX1BTX0FDOTdNT0RFLAorCQkJUFNDX1NFTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiBhZnRlciB0aGlzIHBvaW50IHRoZSBhYzk3IGNvcmUgd2lsbCBjb2xkLXJlc2V0IHRoZSBjb2RlYy4KKwkgKiBEdXJpbmcgY29sZC1yZXNldCB0aGUgUFNDIGlzIHJlaW5pdGlhbGl6ZWQgYW5kIHRoZSBsYXN0CisJICogY29uZmlndXJhdGlvbiBzZXQgdXAgaW4gaHdfcGFyYW1zKCkgaXMgcmVzdG9yZWQuCisJICovCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBzbmRfc29jX2RhaSBhdTF4cHNjX2FjOTdfZGFpID0geworCS5uYW1lCQkJPSAiYXUxeHBzY19hYzk3IiwKKwkudHlwZQkJCT0gU05EX1NPQ19EQUlfQUM5NywKKwkucHJvYmUJCQk9IGF1MXhwc2NfYWM5N19wcm9iZSwKKwkucmVtb3ZlCQkJPSBhdTF4cHNjX2FjOTdfcmVtb3ZlLAorCS5zdXNwZW5kCQk9IGF1MXhwc2NfYWM5N19zdXNwZW5kLAorCS5yZXN1bWUJCQk9IGF1MXhwc2NfYWM5N19yZXN1bWUsCisJLnBsYXliYWNrID0geworCQkucmF0ZXMJCT0gQUM5N19SQVRFUywKKwkJLmZvcm1hdHMJPSBBQzk3X0ZNVFMsCisJCS5jaGFubmVsc19taW4JPSAyLAorCQkuY2hhbm5lbHNfbWF4CT0gMiwKKwl9LAorCS5jYXB0dXJlID0geworCQkucmF0ZXMJCT0gQUM5N19SQVRFUywKKwkJLmZvcm1hdHMJPSBBQzk3X0ZNVFMsCisJCS5jaGFubmVsc19taW4JPSAyLAorCQkuY2hhbm5lbHNfbWF4CT0gMiwKKwl9LAorCS5vcHMgPSB7CisJCS50cmlnZ2VyCT0gYXUxeHBzY19hYzk3X3RyaWdnZXIsCisJCS5od19wYXJhbXMJPSBhdTF4cHNjX2FjOTdfaHdfcGFyYW1zLAorCX0sCit9OworRVhQT1JUX1NZTUJPTF9HUEwoYXUxeHBzY19hYzk3X2RhaSk7CisKK3N0YXRpYyBpbnQgX19pbml0IGF1MXhwc2NfYWM5N19pbml0KHZvaWQpCit7CisJYXUxeHBzY19hYzk3X3dvcmtkYXRhID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGF1MXhwc2NfYWM5N19leGl0KHZvaWQpCit7Cit9CisKK21vZHVsZV9pbml0KGF1MXhwc2NfYWM5N19pbml0KTsKK21vZHVsZV9leGl0KGF1MXhwc2NfYWM5N19leGl0KTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBdTEyeDAvQXUxNTUwIFBTQyBBQzk3IEFMU0EgQVNvQyBhdWRpbyBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIk1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4iKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdTF4L3BzYy1pMnMuYyBiL3NvdW5kL3NvYy9hdTF4L3BzYy1pMnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTRiNWMxCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvcHNjLWkycy5jCkBAIC0wLDAgKzEsNDE0IEBACisvKgorICogQXUxMngwL0F1MTU1MCBQU0MgQUxTQSBBU29DIGF1ZGlvIHN1cHBvcnQuCisgKgorICogKGMpIDIwMDctMjAwOCBNU0MgVmVydHJpZWJzZ2VzLm0uYi5ILiwKKyAqCU1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIEF1MXh4eC1QU0MgSTJTIGdsdWUuCisgKgorICogTk9URTogYWxsIG9mIHRoZXNlIGRyaXZlcnMgY2FuIG9ubHkgd29yayB3aXRoIGEgU0lOR0xFIGluc3RhbmNlCisgKgkgb2YgYSBQU0MuIE11bHRpcGxlIGluZGVwZW5kZW50IGF1ZGlvIGRldmljZXMgYXJlIGltcG9zc2libGUKKyAqCSB3aXRoIEFTb0MgdjEuCisgKiBOT1RFOiBzbyBmYXIgb25seSBQU0Mgc2xhdmUgbW9kZSAoYml0LSBhbmQgZnJhbWVjbG9jaykgaXMgc3VwcG9ydGVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MTAwMC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmg+CisKKyNpbmNsdWRlICJwc2MuaCIKKworLyogc3VwcG9ydGVkIEkyUyBEQUkgaGFyZHdhcmUgZm9ybWF0cyAqLworI2RlZmluZSBBVTFYUFNDX0kyU19EQUlGTVQgXAorCShTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9MRUZUX0ogfAlcCisJIFNORF9TT0NfREFJRk1UX05CX05GKQorCisvKiBzdXBwb3J0ZWQgSTJTIGRpcmVjdGlvbiAqLworI2RlZmluZSBBVTFYUFNDX0kyU19ESVIgXAorCShTTkRfU09DX0RBSURJUl9QTEFZQkFDSyB8IFNORF9TT0NfREFJRElSX0NBUFRVUkUpCisKKyNkZWZpbmUgQVUxWFBTQ19JMlNfUkFURVMgXAorCVNORFJWX1BDTV9SQVRFXzgwMDBfMTkyMDAwCisKKyNkZWZpbmUgQVUxWFBTQ19JMlNfRk1UUyBcCisJKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUpCisKKyNkZWZpbmUgSTJTU1RBVF9CVVNZKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0kyU1NUQVRfVEIgOiBQU0NfSTJTU1RBVF9SQikKKyNkZWZpbmUgSTJTUENSX1NUQVJUKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0kyU1BDUl9UUyA6IFBTQ19JMlNQQ1JfUlMpCisjZGVmaW5lIEkyU1BDUl9TVE9QKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0kyU1BDUl9UUCA6IFBTQ19JMlNQQ1JfUlApCisjZGVmaW5lIEkyU1BDUl9DTFJGSUZPKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0kyU1BDUl9UQyA6IFBTQ19JMlNQQ1JfUkMpCisKKworLyogaW5zdGFuY2UgZGF0YS4gVGhlcmUgY2FuIGJlIG9ubHkgb25lLCBNYWNMZW9kISEhISAqLworc3RhdGljIHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKmF1MXhwc2NfaTJzX3dvcmtkYXRhOworCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAorCQkJICAgICAgIHVuc2lnbmVkIGludCBmbXQpCit7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfaTJzX3dvcmtkYXRhOworCXVuc2lnbmVkIGxvbmcgY3Q7CisJaW50IHJldDsKKworCXJldCA9IC1FSU5WQUw7CisKKwljdCA9IHBzY2RhdGEtPmNmZzsKKworCWN0ICY9IH4oUFNDX0kyU0NGR19YTSB8IFBTQ19JMlNDRkdfTUxKKTsJLyogbGVmdC1qdXN0aWZpZWQgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWN0IHw9IFBTQ19JMlNDRkdfWE07CS8qIGVuYWJsZSBJMlMgbW9kZSAqLworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX01TQjoKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9MU0I6CisJCWN0IHw9IFBTQ19JMlNDRkdfTUxKOwkvKiBMU0IgKHJpZ2h0LSkganVzdGlmaWVkICovCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWdvdG8gb3V0OworCX0KKworCWN0ICY9IH4oUFNDX0kyU0NGR19CSSB8IFBTQ19JMlNDRkdfV0kpOwkJLyogSUItSUYgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0lOVl9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9OQl9ORjoKKwkJY3QgfD0gUFNDX0kyU0NGR19CSSB8IFBTQ19JMlNDRkdfV0k7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTkJfSUY6CisJCWN0IHw9IFBTQ19JMlNDRkdfQkk7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfSUJfTkY6CisJCWN0IHw9IFBTQ19JMlNDRkdfV0k7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfSUJfSUY6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWdvdG8gb3V0OworCX0KKworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfTUFTVEVSX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCTV9DRk06CS8qIENPREVDIG1hc3RlciAqLworCQljdCB8PSBQU0NfSTJTQ0ZHX01TOwkvKiBQU0MgSTJTIHNsYXZlIG1vZGUgKi8KKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTOgkvKiBDT0RFQyBzbGF2ZSAqLworCQljdCAmPSB+UFNDX0kyU0NGR19NUzsJLyogUFNDIEkyUyBNYXN0ZXIgbW9kZSAqLworCQlicmVhazsKKwlkZWZhdWx0OgorCQlnb3RvIG91dDsKKwl9CisKKwlwc2NkYXRhLT5jZmcgPSBjdDsKKwlyZXQgPSAwOworb3V0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19pMnNfd29ya2RhdGE7CisKKwlpbnQgY2ZnYml0czsKKwl1bnNpZ25lZCBsb25nIHN0YXQ7CisKKwkvKiBjaGVjayBpZiB0aGUgUFNDIGlzIGFscmVhZHkgc3RyZWFtaW5nIGRhdGEgKi8KKwlzdGF0ID0gYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpOworCWlmIChzdGF0ICYgKFBTQ19JMlNTVEFUX1RCIHwgUFNDX0kyU1NUQVRfUkIpKSB7CisJCS8qIHJlamVjdCBwYXJhbWV0ZXJzIG5vdCBjdXJyZW50bHkgc2V0IHVwIGluIGhhcmR3YXJlICovCisJCWNmZ2JpdHMgPSBhdV9yZWFkbChJMlNfQ0ZHKHBzY2RhdGEpKTsKKwkJaWYgKChQU0NfSTJTQ0ZHX0dFVF9MRU4oY2ZnYml0cykgIT0gcGFyYW1zLT5tc2JpdHMpIHx8CisJCSAgICAocGFyYW1zX3JhdGUocGFyYW1zKSAhPSBwc2NkYXRhLT5yYXRlKSkKKwkJCXJldHVybiAtRUlOVkFMOworCX0gZWxzZSB7CisJCS8qIHNldCBzYW1wbGUgYml0ZGVwdGggKi8KKwkJcHNjZGF0YS0+Y2ZnICY9IH4oMHgxZiA8PCA0KTsKKwkJcHNjZGF0YS0+Y2ZnIHw9IFBTQ19JMlNDRkdfU0VUX0xFTihwYXJhbXMtPm1zYml0cyk7CisJCS8qIHJlbWVtYmVyIGN1cnJlbnQgcmF0ZSBmb3Igb3RoZXIgc3RyZWFtICovCisJCXBzY2RhdGEtPnJhdGUgPSBwYXJhbXNfcmF0ZShwYXJhbXMpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyogQ29uZmlndXJlIFBTQyBsYXRlOiAgb24gbXkgZGV2ZWwgc3lzdGVtcyB0aGUgY29kZWMgIGlzIEkyUyBtYXN0ZXIgYW5kCisgKiBzdXBwbGllcyB0aGUgaTJzYml0Y2xvY2sgX19BTkRfXyBpMnNNY2xrICghKSB0byB0aGUgUFNDIHVuaXQuICBBU29DCisgKiB1c2VzIGFnZ3Jlc3NpdmUgUE0gYW5kICBzd2l0Y2hlcyB0aGUgY29kZWMgb2ZmICB3aGVuIGl0IGlzIG5vdCBpbiB1c2UKKyAqIHdoaWNoIGFsc28gbWVhbnMgdGhlIFBTQyB1bml0IGRvZXNuJ3QgZ2V0IGFueSBjbG9ja3MgYW5kIGlzIHRoZXJlZm9yZQorICogZGVhZC4gVGhhdCdzIHdoeSB0aGlzIGNodW5rIGhlcmUgZ2V0cyBjYWxsZWQgZnJvbSB0aGUgdHJpZ2dlciBjYWxsYmFjaworICogYmVjYXVzZSBJIGNhbiBiZSByZWFzb25hYmx5IGNlcnRhaW4gdGhlIGNvZGVjIGlzIGRyaXZpbmcgdGhlIGNsb2Nrcy4KKyAqLworc3RhdGljIGludCBhdTF4cHNjX2kyc19jb25maWd1cmUoc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIHRtbzsKKworCS8qIGJyaW5nIFBTQyBvdXQgb2Ygc2xlZXAsIGFuZCBjb25maWd1cmUgSTJTIHVuaXQgKi8KKwlhdV93cml0ZWwoUFNDX0NUUkxfRU5BQkxFLCBQU0NfQ1RSTChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJdG1vID0gMTAwMDAwMDsKKwl3aGlsZSAoIShhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSkgJiBQU0NfSTJTU1RBVF9TUikgJiYgdG1vKQorCQl0bW8tLTsKKworCWlmICghdG1vKQorCQlnb3RvIHBzY19lcnI7CisKKwlhdV93cml0ZWwoMCwgSTJTX0NGRyhwc2NkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChwc2NkYXRhLT5jZmcgfCBQU0NfSTJTQ0ZHX0RFX0VOQUJMRSwgSTJTX0NGRyhwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogd2FpdCBmb3IgSTJTIGNvbnRyb2xsZXIgdG8gYmVjb21lIHJlYWR5ICovCisJdG1vID0gMTAwMDAwMDsKKwl3aGlsZSAoIShhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSkgJiBQU0NfSTJTU1RBVF9EUikgJiYgdG1vKQorCQl0bW8tLTsKKworCWlmICh0bW8pCisJCXJldHVybiAwOworCitwc2NfZXJyOgorCWF1X3dyaXRlbCgwLCBJMlNfQ0ZHKHBzY2RhdGEpKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfU1VTUEVORCwgUFNDX0NUUkwocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKwlyZXR1cm4gLUVUSU1FRE9VVDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc19zdGFydChzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhLCBpbnQgc3R5cGUpCit7CisJdW5zaWduZWQgbG9uZyB0bW8sIHN0YXQ7CisJaW50IHJldDsKKworCXJldCA9IDA7CisKKwkvKiBpZiBib3RoIFRYIGFuZCBSWCBhcmUgaWRsZSwgY29uZmlndXJlIHRoZSBQU0MgICovCisJc3RhdCA9IGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKTsKKwlpZiAoIShzdGF0ICYgKFBTQ19JMlNTVEFUX1RCIHwgUFNDX0kyU1NUQVRfUkIpKSkgeworCQlyZXQgPSBhdTF4cHNjX2kyc19jb25maWd1cmUocHNjZGF0YSk7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dDsKKwl9CisKKwlhdV93cml0ZWwoSTJTUENSX0NMUkZJRk8oc3R5cGUpLCBJMlNfUENSKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKEkyU1BDUl9TVEFSVChzdHlwZSksIEkyU19QQ1IocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHdhaXQgZm9yIHN0YXJ0IGNvbmZpcm1hdGlvbiAqLworCXRtbyA9IDEwMDAwMDA7CisJd2hpbGUgKCEoYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpICYgSTJTU1RBVF9CVVNZKHN0eXBlKSkgJiYgdG1vKQorCQl0bW8tLTsKKworCWlmICghdG1vKSB7CisJCWF1X3dyaXRlbChJMlNQQ1JfU1RPUChzdHlwZSksIEkyU19QQ1IocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisJCXJldCA9IC1FVElNRURPVVQ7CisJfQorb3V0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfc3RvcChzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhLCBpbnQgc3R5cGUpCit7CisJdW5zaWduZWQgbG9uZyB0bW8sIHN0YXQ7CisKKwlhdV93cml0ZWwoSTJTUENSX1NUT1Aoc3R5cGUpLCBJMlNfUENSKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiB3YWl0IGZvciBzdG9wIGNvbmZpcm1hdGlvbiAqLworCXRtbyA9IDEwMDAwMDA7CisJd2hpbGUgKChhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSkgJiBJMlNTVEFUX0JVU1koc3R5cGUpKSAmJiB0bW8pCisJCXRtby0tOworCisJLyogaWYgYm90aCBUWCBhbmQgUlggYXJlIGlkbGUsIGRpc2FibGUgUFNDICovCisJc3RhdCA9IGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKTsKKwlpZiAoIShzdGF0ICYgKFBTQ19JMlNTVEFUX1JCIHwgUFNDX0kyU1NUQVRfUkIpKSkgeworCQlhdV93cml0ZWwoMCwgSTJTX0NGRyhwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKwkJYXVfd3JpdGVsKFBTQ19DVFJMX1NVU1BFTkQsIFBTQ19DVFJMKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc190cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQoreworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2kyc193b3JrZGF0YTsKKwlpbnQgcmV0LCBzdHlwZSA9IFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSk7CisKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CisJCXJldCA9IGF1MXhwc2NfaTJzX3N0YXJ0KHBzY2RhdGEsIHN0eXBlKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKKwkJcmV0ID0gYXUxeHBzY19pMnNfc3RvcChwc2NkYXRhLCBzdHlwZSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldCA9IC1FSU5WQUw7CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJc3RydWN0IHJlc291cmNlICpyOworCXVuc2lnbmVkIGxvbmcgc2VsOworCWludCByZXQ7CisKKwlpZiAoYXUxeHBzY19pMnNfd29ya2RhdGEpCisJCXJldHVybiAtRUJVU1k7CisKKwlhdTF4cHNjX2kyc193b3JrZGF0YSA9CisJCWt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWF1MXhwc2NfaTJzX3dvcmtkYXRhKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWlmICghcikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDA7CisJfQorCisJcmV0ID0gLUVCVVNZOworCWF1MXhwc2NfaTJzX3dvcmtkYXRhLT5pb2FyZWEgPQorCQlyZXF1ZXN0X21lbV9yZWdpb24oci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSwKKwkJCQkJImF1MXhwc2NfaTJzIik7CisJaWYgKCFhdTF4cHNjX2kyc193b3JrZGF0YS0+aW9hcmVhKQorCQlnb3RvIG91dDA7CisKKwlhdTF4cHNjX2kyc193b3JrZGF0YS0+bW1pbyA9IGlvcmVtYXAoci0+c3RhcnQsIDB4ZmZmZik7CisJaWYgKCFhdTF4cHNjX2kyc193b3JrZGF0YS0+bW1pbykKKwkJZ290byBvdXQxOworCisJLyogcHJlc2VydmUgUFNDIGNsb2NrIHNvdXJjZSBzZXQgdXAgYnkgcGxhdGZvcm0gKGRldi5wbGF0Zm9ybV9kYXRhCisJICogaXMgYWxyZWFkeSBvY2N1cGllZCBieSBzb2MgbGF5ZXIpCisJICovCisJc2VsID0gYXVfcmVhZGwoUFNDX1NFTChhdTF4cHNjX2kyc193b3JrZGF0YSkpICYgUFNDX1NFTF9DTEtfTUFTSzsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19TRUxfUFNfSTJTTU9ERSB8IHNlbCwgUFNDX1NFTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3dyaXRlbCgwLCBJMlNfQ0ZHKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogcHJlY29uZmlndXJlOiBzZXQgbWF4IHJ4L3R4IGZpZm8gZGVwdGhzICovCisJYXUxeHBzY19pMnNfd29ya2RhdGEtPmNmZyB8PQorCQkJUFNDX0kyU0NGR19SVF9GSUZPOCB8IFBTQ19JMlNDRkdfVFRfRklGTzg7CisKKwkvKiBkb24ndCB3YWl0IGZvciBJMlMgY29yZSB0byBiZWNvbWUgcmVhZHkgbm93OyBjbG9ja3MgbWF5IG5vdAorCSAqIGJlIHJ1bm5pbmcgeWV0OyBkZXBlbmRpbmcgb24gY2xvY2sgaW5wdXQgZm9yIFBTQyBhIHdhaXQgbWlnaHQKKwkgKiB0aW1lIG91dC4KKwkgKi8KKworCXJldHVybiAwOworCitvdXQxOgorCXJlbGVhc2VfcmVzb3VyY2UoYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSk7CisJa2ZyZWUoYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSk7CitvdXQwOgorCWtmcmVlKGF1MXhwc2NfaTJzX3dvcmtkYXRhKTsKKwlhdTF4cHNjX2kyc193b3JrZGF0YSA9IE5VTEw7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgYXUxeHBzY19pMnNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJYXVfd3JpdGVsKDAsIEkyU19DRkcoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJaW91bm1hcChhdTF4cHNjX2kyc193b3JrZGF0YS0+bW1pbyk7CisJcmVsZWFzZV9yZXNvdXJjZShhdTF4cHNjX2kyc193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2kyc193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2kyc193b3JrZGF0YSk7CisJYXUxeHBzY19pMnNfd29ya2RhdGEgPSBOVUxMOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCit7CisJLyogc2F2ZSBpbnRlcmVzdGluZyByZWdpc3RlciBhbmQgZGlzYWJsZSBQU0MgKi8KKwlhdTF4cHNjX2kyc193b3JrZGF0YS0+cG1bMF0gPQorCQlhdV9yZWFkbChQU0NfU0VMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisKKwlhdV93cml0ZWwoMCwgSTJTX0NGRyhhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKK3sKKwkvKiBzZWxlY3QgSTJTIG1vZGUgYW5kIFBTQyBjbG9jayAqLworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoMCwgUFNDX1NFTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoYXUxeHBzY19pMnNfd29ya2RhdGEtPnBtWzBdLAorCQkJUFNDX1NFTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19kYWkgYXUxeHBzY19pMnNfZGFpID0geworCS5uYW1lCQkJPSAiYXUxeHBzY19pMnMiLAorCS50eXBlCQkJPSBTTkRfU09DX0RBSV9JMlMsCisJLnByb2JlCQkJPSBhdTF4cHNjX2kyc19wcm9iZSwKKwkucmVtb3ZlCQkJPSBhdTF4cHNjX2kyc19yZW1vdmUsCisJLnN1c3BlbmQJCT0gYXUxeHBzY19pMnNfc3VzcGVuZCwKKwkucmVzdW1lCQkJPSBhdTF4cHNjX2kyc19yZXN1bWUsCisJLnBsYXliYWNrID0geworCQkucmF0ZXMJCT0gQVUxWFBTQ19JMlNfUkFURVMsCisJCS5mb3JtYXRzCT0gQVUxWFBTQ19JMlNfRk1UUywKKwkJLmNoYW5uZWxzX21pbgk9IDIsCisJCS5jaGFubmVsc19tYXgJPSA4LAkvKiAyIHdpdGhvdXQgZXh0ZXJuYWwgaGVscCAqLworCX0sCisJLmNhcHR1cmUgPSB7CisJCS5yYXRlcwkJPSBBVTFYUFNDX0kyU19SQVRFUywKKwkJLmZvcm1hdHMJPSBBVTFYUFNDX0kyU19GTVRTLAorCQkuY2hhbm5lbHNfbWluCT0gMiwKKwkJLmNoYW5uZWxzX21heAk9IDgsCS8qIDIgd2l0aG91dCBleHRlcm5hbCBoZWxwICovCisJfSwKKwkub3BzID0geworCQkudHJpZ2dlcgk9IGF1MXhwc2NfaTJzX3RyaWdnZXIsCisJCS5od19wYXJhbXMJPSBhdTF4cHNjX2kyc19od19wYXJhbXMsCisJfSwKKwkuZGFpX29wcyA9IHsKKwkJLnNldF9mbXQJPSBhdTF4cHNjX2kyc19zZXRfZm10LAorCX0sCit9OworRVhQT1JUX1NZTUJPTChhdTF4cHNjX2kyc19kYWkpOworCitzdGF0aWMgaW50IF9faW5pdCBhdTF4cHNjX2kyc19pbml0KHZvaWQpCit7CisJYXUxeHBzY19pMnNfd29ya2RhdGEgPSBOVUxMOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgYXUxeHBzY19pMnNfZXhpdCh2b2lkKQoreworfQorCittb2R1bGVfaW5pdChhdTF4cHNjX2kyc19pbml0KTsKK21vZHVsZV9leGl0KGF1MXhwc2NfaTJzX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkF1MTJ4MC9BdTE1NTAgUFNDIEkyUyBBTFNBIEFTb0MgYXVkaW8gZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+Iik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9wc2MuaCBiL3NvdW5kL3NvYy9hdTF4L3BzYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmZGIxYTAKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9wc2MuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQXUxMngwL0F1MTU1MCBQU0MgQUxTQSBBU29DIGF1ZGlvIHN1cHBvcnQuCisgKgorICogKGMpIDIwMDctMjAwOCBNU0MgVmVydHJpZWJzZ2VzLm0uYi5ILiwKKyAqCU1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE5PVEU6IGFsbCBvZiB0aGVzZSBkcml2ZXJzIGNhbiBvbmx5IHdvcmsgd2l0aCBhIFNJTkdMRSBpbnN0YW5jZQorICoJIG9mIGEgUFNDLiBNdWx0aXBsZSBpbmRlcGVuZGVudCBhdWRpbyBkZXZpY2VzIGFyZSBpbXBvc3NpYmxlCisgKgkgd2l0aCBBU29DIHYxLgorICovCisKKyNpZm5kZWYgX0FVMVhfUENNX0gKKyNkZWZpbmUgX0FVMVhfUENNX0gKKworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhdTF4cHNjX2FjOTdfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhdTF4cHNjX2kyc19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gYXUxeHBzY19zb2NfcGxhdGZvcm07CitleHRlcm4gc3RydWN0IHNuZF9hYzk3X2J1c19vcHMgc29jX2FjOTdfb3BzOworCitzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhIHsKKwl2b2lkIF9faW9tZW0gKm1taW87CisKKwl1bnNpZ25lZCBsb25nIGNmZzsKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisKKwl1bnNpZ25lZCBsb25nIHBtWzJdOworCXN0cnVjdCByZXNvdXJjZSAqaW9hcmVhOworfTsKKworI2RlZmluZSBQQ01fVFgJMAorI2RlZmluZSBQQ01fUlgJMQorCisjZGVmaW5lIFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSkgXAorCSgoc3Vic3RyZWFtKS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0sgPyBQQ01fVFggOiBQQ01fUlgpCisKKy8qIGVhc3kgYWNjZXNzIG1hY3JvcyAqLworI2RlZmluZSBQU0NfQ1RSTCh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQ1RSTF9PRkZTRVQpCisjZGVmaW5lIFBTQ19TRUwoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX1NFTF9PRkZTRVQpCisjZGVmaW5lIEkyU19TVEFUKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19JMlNTVEFUX09GRlNFVCkKKyNkZWZpbmUgSTJTX0NGRyh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfSTJTQ0ZHX09GRlNFVCkKKyNkZWZpbmUgSTJTX1BDUih4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfSTJTUENSX09GRlNFVCkKKyNkZWZpbmUgQUM5N19DRkcoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0FDOTdDRkdfT0ZGU0VUKQorI2RlZmluZSBBQzk3X0NEQyh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N0NEQ19PRkZTRVQpCisjZGVmaW5lIEFDOTdfRVZOVCh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N0VWTlRfT0ZGU0VUKQorI2RlZmluZSBBQzk3X1BDUih4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N1BDUl9PRkZTRVQpCisjZGVmaW5lIEFDOTdfUlNUKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19BQzk3UlNUX09GRlNFVCkKKyNkZWZpbmUgQUM5N19TVEFUKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19BQzk3U1RBVF9PRkZTRVQpCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvc2FtcGxlLWFjOTcuYyBiL3NvdW5kL3NvYy9hdTF4L3NhbXBsZS1hYzk3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc1YWU3ZgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L3NhbXBsZS1hYzk3LmMKQEAgLTAsMCArMSwxNDQgQEAKKy8qCisgKiBTYW1wbGUgQXUxMngwL0F1MTU1MCBQU0MgQUM5NyBzb3VuZCBtYWNoaW5lLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwNy0yMDA4IE1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb3V0bGluZWQgaW4gdGhlIGZpbGUgQ09QWUlORyBhdCB0aGUgcm9vdCBvZiB0aGlzCisgKiAgc291cmNlIGFyY2hpdmUuCisgKgorICogVGhpcyBpcyBhIHZlcnkgZ2VuZXJpYyBBQzk3IHNvdW5kIG1hY2hpbmUgZHJpdmVyIGZvciBib2FyZHMgd2hpY2gKKyAqIGhhdmUgKEFDOTcpIGF1ZGlvIGF0IFBTQzEgKGUuZy4gREIxMjAwIGRlbW9ib2FyZHMpLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MTAwMC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MXh4eF9kYmRtYS5oPgorCisjaW5jbHVkZSAiLi4vY29kZWNzL2FjOTcuaCIKKyNpbmNsdWRlICJwc2MuaCIKKworc3RhdGljIGludCBhdTF4cHNjX3NhbXBsZV9hYzk3X2luaXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RhaV9saW5rIGF1MXhwc2Nfc2FtcGxlX2FjOTdfZGFpID0geworCS5uYW1lCQk9ICJBQzk3IiwKKwkuc3RyZWFtX25hbWUJPSAiQUM5NyBIaUZpIiwKKwkuY3B1X2RhaQk9ICZhdTF4cHNjX2FjOTdfZGFpLAkvKiBzZWUgcHNjLWFjOTcuYyAqLworCS5jb2RlY19kYWkJPSAmYWM5N19kYWksCQkvKiBzZWUgY29kZWNzL2FjOTcuYyAqLworCS5pbml0CQk9IGF1MXhwc2Nfc2FtcGxlX2FjOTdfaW5pdCwKKwkub3BzCQk9IE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfbWFjaGluZSBhdTF4cHNjX3NhbXBsZV9hYzk3X21hY2hpbmUgPSB7CisJLm5hbWUJCT0gIkF1MXh4eCBQU0MgQUM5NyBBdWRpbyIsCisJLmRhaV9saW5rCT0gJmF1MXhwc2Nfc2FtcGxlX2FjOTdfZGFpLAorCS5udW1fbGlua3MJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSBhdTF4cHNjX3NhbXBsZV9hYzk3X2RldmRhdGEgPSB7CisJLm1hY2hpbmUJPSAmYXUxeHBzY19zYW1wbGVfYWM5N19tYWNoaW5lLAorCS5wbGF0Zm9ybQk9ICZhdTF4cHNjX3NvY19wbGF0Zm9ybSwgLyogc2VlIGRiZG1hMi5jICovCisJLmNvZGVjX2Rldgk9ICZzb2NfY29kZWNfZGV2X2FjOTcsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGF1MXhwc2NfcHNjMV9yZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IENQSFlTQUREUihQU0MxX0JBU0VfQUREUiksCisJCS5lbmQJPSBDUEhZU0FERFIoUFNDMV9CQVNFX0FERFIpICsgMHgwMDBmZmZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0gPSB7CisjaWZkZWYgQ09ORklHX1NPQ19BVTEyMDAKKwkJLnN0YXJ0CT0gQVUxMjAwX1BTQzFfSU5ULAorCQkuZW5kCT0gQVUxMjAwX1BTQzFfSU5ULAorI2VsaWYgZGVmaW5lZChDT05GSUdfU09DX0FVMTU1MCkKKwkJLnN0YXJ0CT0gQVUxNTUwX1BTQzFfSU5ULAorCQkuZW5kCT0gQVUxNTUwX1BTQzFfSU5ULAorI2VuZGlmCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCisJWzJdID0geworCQkuc3RhcnQJPSBEU0NSX0NNRDBfUFNDMV9UWCwKKwkJLmVuZAk9IERTQ1JfQ01EMF9QU0MxX1RYLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0RNQSwKKwl9LAorCVszXSA9IHsKKwkJLnN0YXJ0CT0gRFNDUl9DTUQwX1BTQzFfUlgsCisJCS5lbmQJPSBEU0NSX0NNRDBfUFNDMV9SWCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9ETUEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdTF4cHNjX3NhbXBsZV9hYzk3X2RldjsKKworc3RhdGljIGludCBfX2luaXQgYXUxeHBzY19zYW1wbGVfYWM5N19sb2FkKHZvaWQpCit7CisJaW50IHJldDsKKworI2lmZGVmIENPTkZJR19TT0NfQVUxMjAwCisJdW5zaWduZWQgbG9uZyBpbzsKKworCS8qIG1vZGlmeSBzeXNfcGluZnVuYyBmb3IgQUM5NyBvbiBQU0MxICovCisJaW8gPSBhdV9yZWFkbChTWVNfUElORlVOQyk7CisJaW8gfD0gU1lTX1BJTkZVTkNfUDFDOworCWlvICY9IH4oU1lTX1BJTkZVTkNfUDFBIHwgU1lTX1BJTkZVTkNfUDFCKTsKKwlhdV93cml0ZWwoaW8sIFNZU19QSU5GVU5DKTsKKwlhdV9zeW5jKCk7CisjZW5kaWYKKworCXJldCA9IC1FTk9NRU07CisKKwkvKiBzZXR1cCBQU0MgY2xvY2sgc291cmNlIGZvciBBQzk3IHBhcnQ6IGV4dGVybmFsIGNsb2NrIHByb3ZpZGVkCisJICogYnkgY29kZWMuICBUaGUgcHNjLWFjOTcuYyBkcml2ZXIgZGVwZW5kcyBvbiB0aGlzIHNldHRpbmchCisJICovCisJYXVfd3JpdGVsKFBTQ19TRUxfQ0xLX1NFUkNMSywgUFNDMV9CQVNFX0FERFIgKyBQU0NfU0VMX09GRlNFVCk7CisJYXVfc3luYygpOworCisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNvYy1hdWRpbyIsIC0xKTsKKwlpZiAoIWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2KQorCQlnb3RvIG91dDsKKworCWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2LT5yZXNvdXJjZSA9CisJCWttZW1kdXAoYXUxeHBzY19wc2MxX3Jlcywgc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSkgKgorCQkJQVJSQVlfU0laRShhdTF4cHNjX3BzYzFfcmVzKSwgR0ZQX0tFUk5FTCk7CisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYtPm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKGF1MXhwc2NfcHNjMV9yZXMpOworCWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2LT5pZCA9IDE7CisKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShhdTF4cHNjX3NhbXBsZV9hYzk3X2RldiwKKwkJCSAgICAgJmF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2ZGF0YSk7CisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXZkYXRhLmRldiA9ICZhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldi0+ZGV2OworCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQoYXUxeHBzY19zYW1wbGVfYWM5N19kZXYpOworCisJaWYgKHJldCkgeworCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KGF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2KTsKKwkJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYgPSBOVUxMOworCX0KKworb3V0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdTF4cHNjX3NhbXBsZV9hYzk3X2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldik7Cit9CisKK21vZHVsZV9pbml0KGF1MXhwc2Nfc2FtcGxlX2FjOTdfbG9hZCk7Cittb2R1bGVfZXhpdChhdTF4cHNjX3NhbXBsZV9hYzk3X2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkF1MXh4eCBQU0Mgc2FtcGxlIEFDOTcgbWFjaGluZSIpOworTU9EVUxFX0FVVEhPUigiTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PiIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9LY29uZmlnIGIvc291bmQvc29jL2NvZGVjcy9LY29uZmlnCmluZGV4IDM5MDNhYjcuLjFkYjA0YTIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvY29kZWNzL0tjb25maWcKQEAgLTEsMzEgKzEsMzcgQEAKIGNvbmZpZyBTTkRfU09DX0FDOTdfQ09ERUMKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQworCXNlbGVjdCBTTkRfQUM5N19DT0RFQworCitjb25maWcgU05EX1NPQ19BSzQ1MzUKKwl0cmlzdGF0ZQorCitjb25maWcgU05EX1NPQ19VREExMzgwCisgICAgICAgIHRyaXN0YXRlCisKK2NvbmZpZyBTTkRfU09DX1dNODUxMAorCXRyaXN0YXRlCiAKIGNvbmZpZyBTTkRfU09DX1dNODczMQogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKIGNvbmZpZyBTTkRfU09DX1dNODc1MAogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKIGNvbmZpZyBTTkRfU09DX1dNODc1MwogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCisKK2NvbmZpZyBTTkRfU09DX1dNODk5MAorCXRyaXN0YXRlCiAKIGNvbmZpZyBTTkRfU09DX1dNOTcxMgogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKIGNvbmZpZyBTTkRfU09DX1dNOTcxMwogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKICMgQ2lycnVzIExvZ2ljIENTNDI3MCBDb2RlYwogY29uZmlnIFNORF9TT0NfQ1M0MjcwCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORF9TT0MKIAogIyBDaXJydXMgTG9naWMgQ1M0MjcwIENvZGVjIEhhcmR3YXJlIE11dGUgU3VwcG9ydAogIyBTZWxlY3QgaWYgeW91IGhhdmUgZXh0ZXJuYWwgbXV0aW5nIGNpcmN1aXRyeSBhdHRhY2hlZCB0byB5b3VyIENTNDI3MC4KQEAgLTQzLDQgKzQ5LDQgQEAKIAogY29uZmlnIFNORF9TT0NfVExWMzIwQUlDM1gKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQyAmJiBJMkMKKwlkZXBlbmRzIG9uIEkyQwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZSBiL3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUKaW5kZXggNGUxMzE0Yy4uZDdiOTdhYiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZQorKysgYi9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlCkBAIC0xLDE2ICsxLDI0IEBACiBzbmQtc29jLWFjOTctb2JqcyA6PSBhYzk3Lm8KK3NuZC1zb2MtYWs0NTM1LW9ianMgOj0gYWs0NTM1Lm8KK3NuZC1zb2MtdWRhMTM4MC1vYmpzIDo9IHVkYTEzODAubworc25kLXNvYy13bTg1MTAtb2JqcyA6PSB3bTg1MTAubwogc25kLXNvYy13bTg3MzEtb2JqcyA6PSB3bTg3MzEubwogc25kLXNvYy13bTg3NTAtb2JqcyA6PSB3bTg3NTAubwogc25kLXNvYy13bTg3NTMtb2JqcyA6PSB3bTg3NTMubworc25kLXNvYy13bTg5OTAtb2JqcyA6PSB3bTg5OTAubwogc25kLXNvYy13bTk3MTItb2JqcyA6PSB3bTk3MTIubwogc25kLXNvYy13bTk3MTMtb2JqcyA6PSB3bTk3MTMubwogc25kLXNvYy1jczQyNzAtb2JqcyA6PSBjczQyNzAubwogc25kLXNvYy10bHYzMjBhaWMzeC1vYmpzIDo9IHRsdjMyMGFpYzN4Lm8KIAogb2JqLSQoQ09ORklHX1NORF9TT0NfQUM5N19DT0RFQykJKz0gc25kLXNvYy1hYzk3Lm8KK29iai0kKENPTkZJR19TTkRfU09DX0FLNDUzNSkJKz0gc25kLXNvYy1hazQ1MzUubworb2JqLSQoQ09ORklHX1NORF9TT0NfVURBMTM4MCkJKz0gc25kLXNvYy11ZGExMzgwLm8KK29iai0kKENPTkZJR19TTkRfU09DX1dNODUxMCkJKz0gc25kLXNvYy13bTg1MTAubwogb2JqLSQoQ09ORklHX1NORF9TT0NfV004NzMxKQkrPSBzbmQtc29jLXdtODczMS5vCiBvYmotJChDT05GSUdfU05EX1NPQ19XTTg3NTApCSs9IHNuZC1zb2Mtd204NzUwLm8KIG9iai0kKENPTkZJR19TTkRfU09DX1dNODc1MykJKz0gc25kLXNvYy13bTg3NTMubworb2JqLSQoQ09ORklHX1NORF9TT0NfV004OTkwKQkrPSBzbmQtc29jLXdtODk5MC5vCiBvYmotJChDT05GSUdfU05EX1NPQ19XTTk3MTIpCSs9IHNuZC1zb2Mtd205NzEyLm8KIG9iai0kKENPTkZJR19TTkRfU09DX1dNOTcxMykJKz0gc25kLXNvYy13bTk3MTMubwogb2JqLSQoQ09ORklHX1NORF9TT0NfQ1M0MjcwKQkrPSBzbmQtc29jLWNzNDI3MC5vCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2FjOTcuYyBiL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5jCmluZGV4IDJhMWZmZTMuLjYxZmQ5NmMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5jCkBAIC0xMCw5ICsxMCw2IEBACiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMTd0aCBPY3QgMjAwNSAgIEluaXRpYWwgdmVyc2lvbi4KLSAqCiAgKiBHZW5lcmljIEFDOTcgc3VwcG9ydC4KICAqLwogCkBAIC0yNCw2ICsyMSw3IEBACiAjaW5jbHVkZSA8c291bmQvYWM5N19jb2RlYy5oPgogI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KICNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlICJhYzk3LmgiCiAKICNkZWZpbmUgQUM5N19WRVJTSU9OICIwLjYiCiAKQEAgLTQzLDcgKzQxLDcgQEAKIAkJU05EUlZfUENNX1JBVEVfMjIwNTAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8XAogCQlTTkRSVl9QQ01fUkFURV80ODAwMCkKIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIGFjOTdfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIGFjOTdfZGFpID0gewogCS5uYW1lID0gIkFDOTcgSGlGaSIsCiAJLnR5cGUgPSBTTkRfU09DX0RBSV9BQzk3LAogCS5wbGF5YmFjayA9IHsKQEAgLTE0Niw5ICsxNDQsMzQgQEAKIAlyZXR1cm4gMDsKIH0KIAorI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBhYzk3X3NvY19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBtc2cpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCXNuZF9hYzk3X3N1c3BlbmQoc29jZGV2LT5jb2RlYy0+YWM5Nyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhYzk3X3NvY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJc25kX2FjOTdfcmVzdW1lKHNvY2Rldi0+Y29kZWMtPmFjOTcpOworCisJcmV0dXJuIDA7Cit9CisjZWxzZQorI2RlZmluZSBhYzk3X3NvY19zdXNwZW5kIE5VTEwKKyNkZWZpbmUgYWM5N19zb2NfcmVzdW1lIE5VTEwKKyNlbmRpZgorCiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl9hYzk3ID0gewogCS5wcm9iZSA9IAlhYzk3X3NvY19wcm9iZSwKIAkucmVtb3ZlID0gCWFjOTdfc29jX3JlbW92ZSwKKwkuc3VzcGVuZCA9CWFjOTdfc29jX3N1c3BlbmQsCisJLnJlc3VtZSA9CWFjOTdfc29jX3Jlc3VtZSwKIH07CiBFWFBPUlRfU1lNQk9MX0dQTChzb2NfY29kZWNfZGV2X2FjOTcpOwogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2FjOTcuaCBiL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5oCmluZGV4IDJiZjZkNjkuLjI4MWFhNDIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5oCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5oCkBAIC0xNCw2ICsxNCw2IEBACiAjZGVmaW5lIF9fTElOVVhfU05EX1NPQ19BQzk3X0gKIAogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X2FjOTc7Ci1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIGFjOTdfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhYzk3X2RhaTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2FrNDUzNS5jIGIvc291bmQvc29jL2NvZGVjcy9hazQ1MzUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjYwMDNjCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2NvZGVjcy9hazQ1MzUuYwpAQCAtMCwwICsxLDY5NiBAQAorLyoKKyAqIGFrNDUzNS5jICAtLSAgQUs0NTM1IEFMU0EgU29jIEF1ZGlvIGRyaXZlcgorICoKKyAqIENvcHlyaWdodCAyMDA1IE9wZW5lZGhhbmQgTHRkLgorICoKKyAqIEF1dGhvcjogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmRAb3BlbmVkaGFuZC5jb20+CisgKgorICogQmFzZWQgb24gd204NzUzLmMgYnkgTGlhbSBHaXJkd29vZAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvcG0uaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorCisjaW5jbHVkZSAiYWs0NTM1LmgiCisKKyNkZWZpbmUgQVVESU9fTkFNRSAiYWs0NTM1IgorI2RlZmluZSBBSzQ1MzVfVkVSU0lPTiAiMC4zIgorCitzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl9hazQ1MzU7CisKKy8qIGNvZGVjIHByaXZhdGUgZGF0YSAqLworc3RydWN0IGFrNDUzNV9wcml2IHsKKwl1bnNpZ25lZCBpbnQgc3lzY2xrOworfTsKKworLyoKKyAqIGFrNDUzNSByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgY29uc3QgdTE2IGFrNDUzNV9yZWdbQUs0NTM1X0NBQ0hFUkVHTlVNXSA9IHsKKyAgICAweDAwMDAsIDB4MDA4MCwgMHgwMDAwLCAweDAwMDMsCisgICAgMHgwMDAyLCAweDAwMDAsIDB4MDAxMSwgMHgwMDAxLAorICAgIDB4MDAwMCwgMHgwMDQwLCAweDAwMzYsIDB4MDAxMCwKKyAgICAweDAwMDAsIDB4MDAwMCwgMHgwMDU3LCAweDAwMDAsCit9OworCisvKgorICogcmVhZCBhazQ1MzUgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYWs0NTM1X3JlYWRfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1bnNpZ25lZCBpbnQgcmVnKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWlmIChyZWcgPj0gQUs0NTM1X0NBQ0hFUkVHTlVNKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIGNhY2hlW3JlZ107Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGFrNDUzNV9yZWFkKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1bnNpZ25lZCBpbnQgcmVnKQoreworCXU4IGRhdGE7CisJZGF0YSA9IHJlZzsKKworCWlmIChjb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgJmRhdGEsIDEpICE9IDEpCisJCXJldHVybiAtRUlPOworCisJaWYgKGNvZGVjLT5od19yZWFkKGNvZGVjLT5jb250cm9sX2RhdGEsICZkYXRhLCAxKSAhPSAxKQorCQlyZXR1cm4gLUVJTzsKKworCXJldHVybiBkYXRhOworfTsKKworLyoKKyAqIHdyaXRlIGFrNDUzNSByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHZvaWQgYWs0NTM1X3dyaXRlX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdTE2IHJlZywgdW5zaWduZWQgaW50IHZhbHVlKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWlmIChyZWcgPj0gQUs0NTM1X0NBQ0hFUkVHTlVNKQorCQlyZXR1cm47CisJY2FjaGVbcmVnXSA9IHZhbHVlOworfQorCisvKgorICogd3JpdGUgdG8gdGhlIEFLNDUzNSByZWdpc3RlciBzcGFjZQorICovCitzdGF0aWMgaW50IGFrNDUzNV93cml0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIHVuc2lnbmVkIGludCByZWcsCisJdW5zaWduZWQgaW50IHZhbHVlKQoreworCXU4IGRhdGFbMl07CisKKwkvKiBkYXRhIGlzCisJICogICBEMTUuLkQ4IEFLNDUzNSByZWdpc3RlciBvZmZzZXQKKwkgKiAgIEQ3Li4uRDAgcmVnaXN0ZXIgZGF0YQorCSAqLworCWRhdGFbMF0gPSByZWcgJiAweGZmOworCWRhdGFbMV0gPSB2YWx1ZSAmIDB4ZmY7CisKKwlhazQ1MzVfd3JpdGVfcmVnX2NhY2hlKGNvZGVjLCByZWcsIHZhbHVlKTsKKwlpZiAoY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpID09IDIpCisJCXJldHVybiAwOworCWVsc2UKKwkJcmV0dXJuIC1FSU87Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X3N5bmMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWludCBpLCByID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBBSzQ1MzVfQ0FDSEVSRUdOVU07IGkrKykKKwkJciB8PSBhazQ1MzVfd3JpdGUoY29kZWMsIGksIGNhY2hlW2ldKTsKKworCXJldHVybiByOworfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKmFrNDUzNV9tb25vX2dhaW5bXSA9IHsiKzZkQiIsICItMTdkQiJ9Oworc3RhdGljIGNvbnN0IGNoYXIgKmFrNDUzNV9tb25vX291dFtdID0geyIoTCArIFIpLzIiLCAiSGktWiJ9Oworc3RhdGljIGNvbnN0IGNoYXIgKmFrNDUzNV9ocF9vdXRbXSA9IHsiU3RlcmVvIiwgIk1vbm8ifTsKK3N0YXRpYyBjb25zdCBjaGFyICphazQ1MzVfZGVlbXBbXSA9IHsiNDQuMWtIeiIsICJPZmYiLCAiNDhrSHoiLCAiMzJrSHoifTsKK3N0YXRpYyBjb25zdCBjaGFyICphazQ1MzVfbWljX3NlbGVjdFtdID0geyJJbnRlcm5hbCIsICJFeHRlcm5hbCJ9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIGFrNDUzNV9lbnVtW10gPSB7CisJU09DX0VOVU1fU0lOR0xFKEFLNDUzNV9TSUcxLCA3LCAyLCBhazQ1MzVfbW9ub19nYWluKSwKKwlTT0NfRU5VTV9TSU5HTEUoQUs0NTM1X1NJRzEsIDYsIDIsIGFrNDUzNV9tb25vX291dCksCisJU09DX0VOVU1fU0lOR0xFKEFLNDUzNV9NT0RFMiwgMiwgMiwgYWs0NTM1X2hwX291dCksCisJU09DX0VOVU1fU0lOR0xFKEFLNDUzNV9EQUMsIDAsIDQsIGFrNDUzNV9kZWVtcCksCisJU09DX0VOVU1fU0lOR0xFKEFLNDUzNV9NSUMsIDEsIDIsIGFrNDUzNV9taWNfc2VsZWN0KSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfc25kX2NvbnRyb2xzW10gPSB7CisJU09DX1NJTkdMRSgiQUxDMiBTd2l0Y2giLCBBSzQ1MzVfU0lHMSwgMSwgMSwgMCksCisJU09DX0VOVU0oIk1vbm8gMSBPdXRwdXQiLCBhazQ1MzVfZW51bVsxXSksCisJU09DX0VOVU0oIk1vbm8gMSBHYWluIiwgYWs0NTM1X2VudW1bMF0pLAorCVNPQ19FTlVNKCJIZWFkcGhvbmUgT3V0cHV0IiwgYWs0NTM1X2VudW1bMl0pLAorCVNPQ19FTlVNKCJQbGF5YmFjayBEZWVtcGhhc2lzIiwgYWs0NTM1X2VudW1bM10pLAorCVNPQ19TSU5HTEUoIkJhc3MgVm9sdW1lIiwgQUs0NTM1X0RBQywgMiwgMywgMCksCisJU09DX1NJTkdMRSgiTWljIEJvb3N0ICgrMjBkQikgU3dpdGNoIiwgQUs0NTM1X01JQywgMCwgMSwgMCksCisJU09DX0VOVU0oIk1pYyBTZWxlY3QiLCBhazQ1MzVfZW51bVs0XSksCisJU09DX1NJTkdMRSgiQUxDIE9wZXJhdGlvbiBUaW1lIiwgQUs0NTM1X1RJTUVSLCAwLCAzLCAwKSwKKwlTT0NfU0lOR0xFKCJBTEMgUmVjb3ZlcnkgVGltZSIsIEFLNDUzNV9USU1FUiwgMiwgMywgMCksCisJU09DX1NJTkdMRSgiQUxDIFpDIFRpbWUiLCBBSzQ1MzVfVElNRVIsIDQsIDMsIDApLAorCVNPQ19TSU5HTEUoIkFMQyAxIFN3aXRjaCIsIEFLNDUzNV9BTEMxLCA1LCAxLCAwKSwKKwlTT0NfU0lOR0xFKCJBTEMgMiBTd2l0Y2giLCBBSzQ1MzVfQUxDMSwgNiwgMSwgMCksCisJU09DX1NJTkdMRSgiQUxDIFZvbHVtZSIsIEFLNDUzNV9BTEMyLCAwLCAxMjcsIDApLAorCVNPQ19TSU5HTEUoIkNhcHR1cmUgVm9sdW1lIiwgQUs0NTM1X1BHQSwgMCwgMTI3LCAwKSwKKwlTT0NfU0lOR0xFKCJMZWZ0IFBsYXliYWNrIFZvbHVtZSIsIEFLNDUzNV9MQVRULCAwLCAxMjcsIDEpLAorCVNPQ19TSU5HTEUoIlJpZ2h0IFBsYXliYWNrIFZvbHVtZSIsIEFLNDUzNV9SQVRULCAwLCAxMjcsIDEpLAorCVNPQ19TSU5HTEUoIkFVWCBCeXBhc3MgVm9sdW1lIiwgQUs0NTM1X1ZPTCwgMCwgMTUsIDApLAorCVNPQ19TSU5HTEUoIk1pYyBTaWRldG9uZSBWb2x1bWUiLCBBSzQ1MzVfVk9MLCA0LCA3LCAwKSwKK307CisKKy8qIGFkZCBub24gZGFwbSBjb250cm9scyAqLworc3RhdGljIGludCBhazQ1MzVfYWRkX2NvbnRyb2xzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlpbnQgZXJyLCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWs0NTM1X3NuZF9jb250cm9scyk7IGkrKykgeworCQllcnIgPSBzbmRfY3RsX2FkZChjb2RlYy0+Y2FyZCwKKwkJCXNuZF9zb2NfY25ldygmYWs0NTM1X3NuZF9jb250cm9sc1tpXSwgY29kZWMsIE5VTEwpKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KKworCXJldHVybiAwOworfQorCisvKiBNb25vIDEgTWl4ZXIgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfbW9ubzFfbWl4ZXJfY29udHJvbHNbXSA9IHsKKwlTT0NfREFQTV9TSU5HTEUoIk1pYyBTaWRldG9uZSBTd2l0Y2giLCBBSzQ1MzVfU0lHMSwgNCwgMSwgMCksCisJU09DX0RBUE1fU0lOR0xFKCJNb25vIFBsYXliYWNrIFN3aXRjaCIsIEFLNDUzNV9TSUcxLCA1LCAxLCAwKSwKK307CisKKy8qIFN0ZXJlbyBNaXhlciAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFrNDUzNV9zdGVyZW9fbWl4ZXJfY29udHJvbHNbXSA9IHsKKwlTT0NfREFQTV9TSU5HTEUoIk1pYyBTaWRldG9uZSBTd2l0Y2giLCBBSzQ1MzVfU0lHMiwgNCwgMSwgMCksCisJU09DX0RBUE1fU0lOR0xFKCJQbGF5YmFjayBTd2l0Y2giLCBBSzQ1MzVfU0lHMiwgNywgMSwgMCksCisJU09DX0RBUE1fU0lOR0xFKCJBdXggQnlwYXNzIFN3aXRjaCIsIEFLNDUzNV9TSUcyLCA1LCAxLCAwKSwKK307CisKKy8qIElucHV0IE1peGVyICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X2lucHV0X21peGVyX2NvbnRyb2xzW10gPSB7CisJU09DX0RBUE1fU0lOR0xFKCJNaWMgQ2FwdHVyZSBTd2l0Y2giLCBBSzQ1MzVfTUlDLCAyLCAxLCAwKSwKKwlTT0NfREFQTV9TSU5HTEUoIkF1eCBDYXB0dXJlIFN3aXRjaCIsIEFLNDUzNV9NSUMsIDUsIDEsIDApLAorfTsKKworLyogSW5wdXQgbXV4ICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X2lucHV0X211eF9jb250cm9sID0KKwlTT0NfREFQTV9FTlVNKCJJbnB1dCBTZWxlY3QiLCBhazQ1MzVfZW51bVs0XSk7CisKKy8qIEhQIEwgc3dpdGNoICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X2hwbF9jb250cm9sID0KKwlTT0NfREFQTV9TSU5HTEUoIlN3aXRjaCIsIEFLNDUzNV9TSUcyLCAxLCAxLCAxKTsKKworLyogSFAgUiBzd2l0Y2ggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfaHByX2NvbnRyb2wgPQorCVNPQ19EQVBNX1NJTkdMRSgiU3dpdGNoIiwgQUs0NTM1X1NJRzIsIDAsIDEsIDEpOworCisvKiBtb25vIDIgc3dpdGNoICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X21vbm8yX2NvbnRyb2wgPQorCVNPQ19EQVBNX1NJTkdMRSgiU3dpdGNoIiwgQUs0NTM1X1NJRzEsIDAsIDEsIDApOworCisvKiBMaW5lIG91dCBzd2l0Y2ggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfbGluZV9jb250cm9sID0KKwlTT0NfREFQTV9TSU5HTEUoIlN3aXRjaCIsIEFLNDUzNV9TSUcyLCA2LCAxLCAwKTsKKworLyogYWs0NTM1IGRhcG0gd2lkZ2V0cyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IGFrNDUzNV9kYXBtX3dpZGdldHNbXSA9IHsKKwlTTkRfU09DX0RBUE1fTUlYRVIoIlN0ZXJlbyBNaXhlciIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9zdGVyZW9fbWl4ZXJfY29udHJvbHNbMF0sCisJCUFSUkFZX1NJWkUoYWs0NTM1X3N0ZXJlb19taXhlcl9jb250cm9scykpLAorCVNORF9TT0NfREFQTV9NSVhFUigiTW9ubzEgTWl4ZXIiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfbW9ubzFfbWl4ZXJfY29udHJvbHNbMF0sCisJCUFSUkFZX1NJWkUoYWs0NTM1X21vbm8xX21peGVyX2NvbnRyb2xzKSksCisJU05EX1NPQ19EQVBNX01JWEVSKCJJbnB1dCBNaXhlciIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9pbnB1dF9taXhlcl9jb250cm9sc1swXSwKKwkJQVJSQVlfU0laRShhazQ1MzVfaW5wdXRfbWl4ZXJfY29udHJvbHMpKSwKKwlTTkRfU09DX0RBUE1fTVVYKCJJbnB1dCBNdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfaW5wdXRfbXV4X2NvbnRyb2wpLAorCVNORF9TT0NfREFQTV9EQUMoIkRBQyIsICJQbGF5YmFjayIsIEFLNDUzNV9QTTIsIDAsIDApLAorCVNORF9TT0NfREFQTV9TV0lUQ0goIk1vbm8gMiBFbmFibGUiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfbW9ubzJfY29udHJvbCksCisJLyogc3BlYWtlciBwb3dlcnNhdmUgYml0ICovCisJU05EX1NPQ19EQVBNX1BHQSgiU3BlYWtlciBFbmFibGUiLCBBSzQ1MzVfTU9ERTIsIDAsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9TV0lUQ0goIkxpbmUgT3V0IEVuYWJsZSIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9saW5lX2NvbnRyb2wpLAorCVNORF9TT0NfREFQTV9TV0lUQ0goIkxlZnQgSFAgRW5hYmxlIiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmYWs0NTM1X2hwbF9jb250cm9sKSwKKwlTTkRfU09DX0RBUE1fU1dJVENIKCJSaWdodCBIUCBFbmFibGUiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfaHByX2NvbnRyb2wpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIkxPVVQiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJIUEwiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJST1VUIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiSFBSIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiU1BQIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiU1BOIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiTU9VVDEiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJNT1VUMiIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIk1JQ09VVCIpLAorCVNORF9TT0NfREFQTV9BREMoIkFEQyIsICJDYXB0dXJlIiwgQUs0NTM1X1BNMSwgMCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiU3BrIEFtcCIsIEFLNDUzNV9QTTIsIDMsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIkhQIFIgQW1wIiwgQUs0NTM1X1BNMiwgMSwgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiSFAgTCBBbXAiLCBBSzQ1MzVfUE0yLCAyLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJNaWMiLCBBSzQ1MzVfUE0xLCAxLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJMaW5lIE91dCIsIEFLNDUzNV9QTTEsIDQsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIk1vbm8gT3V0IiwgQUs0NTM1X1BNMSwgMywgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiQVVYIEluIiwgQUs0NTM1X1BNMSwgMiwgMCwgTlVMTCwgMCksCisKKwlTTkRfU09DX0RBUE1fTUlDQklBUygiTWljIEludCBCaWFzIiwgQUs0NTM1X01JQywgMywgMCksCisJU05EX1NPQ19EQVBNX01JQ0JJQVMoIk1pYyBFeHQgQmlhcyIsIEFLNDUzNV9NSUMsIDQsIDApLAorCVNORF9TT0NfREFQTV9JTlBVVCgiTUlDSU4iKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIk1JQ0VYVCIpLAorCVNORF9TT0NfREFQTV9JTlBVVCgiQVVYIiksCisJU05EX1NPQ19EQVBNX0lOUFVUKCJNSU4iKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIkFJTiIpLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CisJLypzdGVyZW8gbWl4ZXIgKi8KKwl7IlN0ZXJlbyBNaXhlciIsICJQbGF5YmFjayBTd2l0Y2giLCAiREFDIn0sCisJeyJTdGVyZW8gTWl4ZXIiLCAiTWljIFNpZGV0b25lIFN3aXRjaCIsICJNaWMifSwKKwl7IlN0ZXJlbyBNaXhlciIsICJBdXggQnlwYXNzIFN3aXRjaCIsICJBVVggSW4ifSwKKworCS8qIG1vbm8xIG1peGVyICovCisJeyJNb25vMSBNaXhlciIsICJNaWMgU2lkZXRvbmUgU3dpdGNoIiwgIk1pYyJ9LAorCXsiTW9ubzEgTWl4ZXIiLCAiTW9ubyBQbGF5YmFjayBTd2l0Y2giLCAiREFDIn0sCisKKwkvKiBNaWMgKi8KKwl7Ik1pYyIsIE5VTEwsICJBSU4ifSwKKwl7IklucHV0IE11eCIsICJJbnRlcm5hbCIsICJNaWMgSW50IEJpYXMifSwKKwl7IklucHV0IE11eCIsICJFeHRlcm5hbCIsICJNaWMgRXh0IEJpYXMifSwKKwl7Ik1pYyBJbnQgQmlhcyIsIE5VTEwsICJNSUNJTiJ9LAorCXsiTWljIEV4dCBCaWFzIiwgTlVMTCwgIk1JQ0VYVCJ9LAorCXsiTUlDT1VUIiwgTlVMTCwgIklucHV0IE11eCJ9LAorCisJLyogbGluZSBvdXQgKi8KKwl7IkxPVVQiLCBOVUxMLCAiTGluZSBPdXQgRW5hYmxlIn0sCisJeyJST1VUIiwgTlVMTCwgIkxpbmUgT3V0IEVuYWJsZSJ9LAorCXsiTGluZSBPdXQgRW5hYmxlIiwgIlN3aXRjaCIsICJMaW5lIE91dCJ9LAorCXsiTGluZSBPdXQiLCBOVUxMLCAiU3RlcmVvIE1peGVyIn0sCisKKwkvKiBtb25vMSBvdXQgKi8KKwl7Ik1PVVQxIiwgTlVMTCwgIk1vbm8gT3V0In0sCisJeyJNb25vIE91dCIsIE5VTEwsICJNb25vMSBNaXhlciJ9LAorCisJLyogbGVmdCBIUCAqLworCXsiSFBMIiwgTlVMTCwgIkxlZnQgSFAgRW5hYmxlIn0sCisJeyJMZWZ0IEhQIEVuYWJsZSIsICJTd2l0Y2giLCAiSFAgTCBBbXAifSwKKwl7IkhQIEwgQW1wIiwgTlVMTCwgIlN0ZXJlbyBNaXhlciJ9LAorCisJLyogcmlnaHQgSFAgKi8KKwl7IkhQUiIsIE5VTEwsICJSaWdodCBIUCBFbmFibGUifSwKKwl7IlJpZ2h0IEhQIEVuYWJsZSIsICJTd2l0Y2giLCAiSFAgUiBBbXAifSwKKwl7IkhQIFIgQW1wIiwgTlVMTCwgIlN0ZXJlbyBNaXhlciJ9LAorCisJLyogc3BlYWtlciAqLworCXsiU1BQIiwgTlVMTCwgIlNwZWFrZXIgRW5hYmxlIn0sCisJeyJTUE4iLCBOVUxMLCAiU3BlYWtlciBFbmFibGUifSwKKwl7IlNwZWFrZXIgRW5hYmxlIiwgIlN3aXRjaCIsICJTcGsgQW1wIn0sCisJeyJTcGsgQW1wIiwgTlVMTCwgIk1JTiJ9LAorCisJLyogbW9ubyAyICovCisJeyJNT1VUMiIsIE5VTEwsICJNb25vIDIgRW5hYmxlIn0sCisJeyJNb25vIDIgRW5hYmxlIiwgIlN3aXRjaCIsICJTdGVyZW8gTWl4ZXIifSwKKworCS8qIEF1eCBJbiAqLworCXsiQXV4IEluIiwgTlVMTCwgIkFVWCJ9LAorCisJLyogQURDICovCisJeyJBREMiLCBOVUxMLCAiSW5wdXQgTWl4ZXIifSwKKwl7IklucHV0IE1peGVyIiwgIk1pYyBDYXB0dXJlIFN3aXRjaCIsICJNaWMifSwKKwl7IklucHV0IE1peGVyIiwgIkF1eCBDYXB0dXJlIFN3aXRjaCIsICJBdXggSW4ifSwKK307CisKK3N0YXRpYyBpbnQgYWs0NTM1X2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCBhazQ1MzVfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRShhazQ1MzVfZGFwbV93aWRnZXRzKSk7CisKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOworCisJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhazQ1MzVfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwlzdHJ1Y3QgYWs0NTM1X3ByaXYgKmFrNDUzNSA9IGNvZGVjLT5wcml2YXRlX2RhdGE7CisKKwlhazQ1MzUtPnN5c2NsayA9IGZyZXE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXN0cnVjdCBhazQ1MzVfcHJpdiAqYWs0NTM1ID0gY29kZWMtPnByaXZhdGVfZGF0YTsKKwl1OCBtb2RlMiA9IGFrNDUzNV9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUs0NTM1X01PREUyKSAmIH4oMHgzIDw8IDUpOworCWludCByYXRlID0gcGFyYW1zX3JhdGUocGFyYW1zKSwgZnMgPSAyNTY7CisKKwlpZiAocmF0ZSkKKwkJZnMgPSBhazQ1MzUtPnN5c2NsayAvIHJhdGU7CisKKwkvKiBzZXQgZnMgKi8KKwlzd2l0Y2ggKGZzKSB7CisJY2FzZSAxMDI0OgorCQltb2RlMiB8PSAoMHgyIDw8IDUpOworCQlicmVhazsKKwljYXNlIDUxMjoKKwkJbW9kZTIgfD0gKDB4MSA8PCA1KTsKKwkJYnJlYWs7CisJY2FzZSAyNTY6CisJCWJyZWFrOworCX0KKworCS8qIHNldCByYXRlICovCisJYWs0NTM1X3dyaXRlKGNvZGVjLCBBSzQ1MzVfTU9ERTIsIG1vZGUyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhazQ1MzVfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJCXVuc2lnbmVkIGludCBmbXQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwl1OCBtb2RlMSA9IDA7CisKKwkvKiBpbnRlcmZhY2UgZm9ybWF0ICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTOgorCQltb2RlMSA9IDB4MDAwMjsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9MRUZUX0o6CisJCW1vZGUxID0gMHgwMDAxOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiB1c2UgMzIgZnMgZm9yIEJDTEsgdG8gc2F2ZSBwb3dlciAqLworCW1vZGUxIHw9IDB4NDsKKworCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X01PREUxLCBtb2RlMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CisJdTE2IG11dGVfcmVnID0gYWs0NTM1X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSzQ1MzVfREFDKSAmIDB4ZmZkZjsKKwlpZiAoIW11dGUpCisJCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X0RBQywgbXV0ZV9yZWcpOworCWVsc2UKKwkJYWs0NTM1X3dyaXRlKGNvZGVjLCBBSzQ1MzVfREFDLCBtdXRlX3JlZyB8IDB4MjApOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFrNDUzNV9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCit7CisJdTE2IGk7CisKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CisJCWFrNDUzNV9tdXRlKGNvZGVjLT5kYWksIDApOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgorCQlhazQ1MzVfbXV0ZShjb2RlYy0+ZGFpLCAxKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKKwkJaSA9IGFrNDUzNV9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUs0NTM1X1BNMSk7CisJCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X1BNMSwgaSB8IDB4ODApOworCQlpID0gYWs0NTM1X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSzQ1MzVfUE0yKTsKKwkJYWs0NTM1X3dyaXRlKGNvZGVjLCBBSzQ1MzVfUE0yLCBpICYgKH4weDgwKSk7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKKwkJaSA9IGFrNDUzNV9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUs0NTM1X1BNMSk7CisJCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X1BNMSwgaSAmICh+MHg4MCkpOworCQlicmVhazsKKwl9CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKKwlyZXR1cm4gMDsKK30KKworI2RlZmluZSBBSzQ1MzVfUkFURVMgKFNORFJWX1BDTV9SQVRFXzgwMDAgfCBTTkRSVl9QQ01fUkFURV8xMTAyNSB8XAorCQlTTkRSVl9QQ01fUkFURV8xNjAwMCB8IFNORFJWX1BDTV9SQVRFXzIyMDUwIHxcCisJCVNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgU05EUlZfUENNX1JBVEVfNDgwMDApCisKK3N0cnVjdCBzbmRfc29jX2RhaSBhazQ1MzVfZGFpID0geworCS5uYW1lID0gIkFLNDUzNSIsCisJLnBsYXliYWNrID0geworCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLAorCQkuY2hhbm5lbHNfbWluID0gMSwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IEFLNDUzNV9SQVRFUywKKwkJLmZvcm1hdHMgPSBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSx9LAorCS5jYXB0dXJlID0geworCQkuc3RyZWFtX25hbWUgPSAiQ2FwdHVyZSIsCisJCS5jaGFubmVsc19taW4gPSAxLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gQUs0NTM1X1JBVEVTLAorCQkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFLH0sCisJLm9wcyA9IHsKKwkJLmh3X3BhcmFtcyA9IGFrNDUzNV9od19wYXJhbXMsCisJfSwKKwkuZGFpX29wcyA9IHsKKwkJLnNldF9mbXQgPSBhazQ1MzVfc2V0X2RhaV9mbXQsCisJCS5kaWdpdGFsX211dGUgPSBhazQ1MzVfbXV0ZSwKKwkJLnNldF9zeXNjbGsgPSBhazQ1MzVfc2V0X2RhaV9zeXNjbGssCisJfSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChhazQ1MzVfZGFpKTsKKworc3RhdGljIGludCBhazQ1MzVfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCisJYWs0NTM1X3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhazQ1MzVfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWFrNDUzNV9zeW5jKGNvZGVjKTsKKwlhazQ1MzVfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKwlhazQ1MzVfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwpOworCXJldHVybiAwOworfQorCisvKgorICogaW5pdGlhbGlzZSB0aGUgQUs0NTM1IGRyaXZlcgorICogcmVnaXN0ZXIgdGhlIG1peGVyIGFuZCBkc3AgaW50ZXJmYWNlcyB3aXRoIHRoZSBrZXJuZWwKKyAqLworc3RhdGljIGludCBhazQ1MzVfaW5pdChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWludCByZXQgPSAwOworCisJY29kZWMtPm5hbWUgPSAiQUs0NTM1IjsKKwljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKKwljb2RlYy0+cmVhZCA9IGFrNDUzNV9yZWFkX3JlZ19jYWNoZTsKKwljb2RlYy0+d3JpdGUgPSBhazQ1MzVfd3JpdGU7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gYWs0NTM1X3NldF9iaWFzX2xldmVsOworCWNvZGVjLT5kYWkgPSAmYWs0NTM1X2RhaTsKKwljb2RlYy0+bnVtX2RhaSA9IDE7CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRShhazQ1MzVfcmVnKTsKKwljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cChhazQ1MzVfcmVnLCBzaXplb2YoYWs0NTM1X3JlZyksIEdGUF9LRVJORUwpOworCisJaWYgKGNvZGVjLT5yZWdfY2FjaGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkvKiByZWdpc3RlciBwY21zICovCisJcmV0ID0gc25kX3NvY19uZXdfcGNtcyhzb2NkZXYsIFNORFJWX0RFRkFVTFRfSURYMSwgU05EUlZfREVGQVVMVF9TVFIxKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgImFrNDUzNTogZmFpbGVkIHRvIGNyZWF0ZSBwY21zXG4iKTsKKwkJZ290byBwY21fZXJyOworCX0KKworCS8qIHBvd2VyIG9uIGRldmljZSAqLworCWFrNDUzNV9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCisJYWs0NTM1X2FkZF9jb250cm9scyhjb2RlYyk7CisJYWs0NTM1X2FkZF93aWRnZXRzKGNvZGVjKTsKKwlyZXQgPSBzbmRfc29jX3JlZ2lzdGVyX2NhcmQoc29jZGV2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgImFrNDUzNTogZmFpbGVkIHRvIHJlZ2lzdGVyIGNhcmRcbiIpOworCQlnb3RvIGNhcmRfZXJyOworCX0KKworCXJldHVybiByZXQ7CisKK2NhcmRfZXJyOgorCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKK3BjbV9lcnI6CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGV2aWNlICphazQ1MzVfc29jZGV2OworCisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCisjZGVmaW5lIEkyQ19EUklWRVJJRF9BSzQ1MzUgMHhmZWZlIC8qIGxpYW0gLSAgbmVlZCBhIHByb3BlciBpZCAqLworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgbm9ybWFsX2kyY1tdID0geyAwLCBJMkNfQ0xJRU5UX0VORCB9OworCisvKiBNYWdpYyBkZWZpbml0aW9uIG9mIGFsbCBvdGhlciB2YXJpYWJsZXMgYW5kIHRoaW5ncyAqLworSTJDX0NMSUVOVF9JTlNNT0Q7CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBhazQ1MzVfaTJjX2RyaXZlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGU7CisKKy8qIElmIHRoZSBpMmMgbGF5ZXIgd2VyZW4ndCBzbyBicm9rZW4sIHdlIGNvdWxkIHBhc3MgdGhpcyBraW5kIG9mIGRhdGEKKyAgIGFyb3VuZCAqLworc3RhdGljIGludCBhazQ1MzVfY29kZWNfcHJvYmUoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCBpbnQgYWRkciwgaW50IGtpbmQpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBhazQ1MzVfc29jZGV2OworCXN0cnVjdCBhazQ1MzVfc2V0dXBfZGF0YSAqc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjOworCWludCByZXQ7CisKKwlpZiAoYWRkciAhPSBzZXR1cC0+aTJjX2FkZHJlc3MpCisJCXJldHVybiAtRU5PREVWOworCisJY2xpZW50X3RlbXBsYXRlLmFkYXB0ZXIgPSBhZGFwOworCWNsaWVudF90ZW1wbGF0ZS5hZGRyID0gYWRkcjsKKworCWkyYyA9IGttZW1kdXAoJmNsaWVudF90ZW1wbGF0ZSwgc2l6ZW9mKGNsaWVudF90ZW1wbGF0ZSksIEdGUF9LRVJORUwpOworCWlmIChpMmMgPT0gTlVMTCkgeworCQlrZnJlZShjb2RlYyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwlpMmNfc2V0X2NsaWVudGRhdGEoaTJjLCBjb2RlYyk7CisJY29kZWMtPmNvbnRyb2xfZGF0YSA9IGkyYzsKKworCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlnb3RvIGVycjsKKwl9CisKKwlyZXQgPSBhazQ1MzVfaW5pdChzb2NkZXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIGluaXRpYWxpc2UgQUs0NTM1XG4iKTsKKwkJZ290byBlcnI7CisJfQorCXJldHVybiByZXQ7CisKK2VycjoKKwlrZnJlZShjb2RlYyk7CisJa2ZyZWUoaTJjKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGFrNDUzNV9pMmNfZGV0YWNoKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7CisJaTJjX2RldGFjaF9jbGllbnQoY2xpZW50KTsKKwlrZnJlZShjb2RlYy0+cmVnX2NhY2hlKTsKKwlrZnJlZShjbGllbnQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFrNDUzNV9pMmNfYXR0YWNoKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKK3sKKwlyZXR1cm4gaTJjX3Byb2JlKGFkYXAsICZhZGRyX2RhdGEsIGFrNDUzNV9jb2RlY19wcm9iZSk7Cit9CisKKy8qIGNvcmdpIGkyYyBjb2RlYyBjb250cm9sIGxheWVyICovCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgYWs0NTM1X2kyY19kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAiQUs0NTM1IEkyQyBDb2RlYyIsCisJCS5vd25lciA9IFRISVNfTU9EVUxFLAorCX0sCisJLmlkID0gICAgICAgICAgICAgSTJDX0RSSVZFUklEX0FLNDUzNSwKKwkuYXR0YWNoX2FkYXB0ZXIgPSBhazQ1MzVfaTJjX2F0dGFjaCwKKwkuZGV0YWNoX2NsaWVudCA9ICBhazQ1MzVfaTJjX2RldGFjaCwKKwkuY29tbWFuZCA9ICAgICAgICBOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50IGNsaWVudF90ZW1wbGF0ZSA9IHsKKwkubmFtZSA9ICAgIkFLNDUzNSIsCisJLmRyaXZlciA9ICZhazQ1MzVfaTJjX2RyaXZlciwKK307CisjZW5kaWYKKworc3RhdGljIGludCBhazQ1MzVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBhazQ1MzVfc2V0dXBfZGF0YSAqc2V0dXA7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjOworCXN0cnVjdCBhazQ1MzVfcHJpdiAqYWs0NTM1OworCWludCByZXQgPSAwOworCisJcHJpbnRrKEtFUk5fSU5GTyAiQUs0NTM1IEF1ZGlvIENvZGVjICVzIiwgQUs0NTM1X1ZFUlNJT04pOworCisJc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJY29kZWMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jb2RlYyksIEdGUF9LRVJORUwpOworCWlmIChjb2RlYyA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWFrNDUzNSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhazQ1MzVfcHJpdiksIEdGUF9LRVJORUwpOworCWlmIChhazQ1MzUgPT0gTlVMTCkgeworCQlrZnJlZShjb2RlYyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCWNvZGVjLT5wcml2YXRlX2RhdGEgPSBhazQ1MzU7CisJc29jZGV2LT5jb2RlYyA9IGNvZGVjOworCW11dGV4X2luaXQoJmNvZGVjLT5tdXRleCk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3dpZGdldHMpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV9wYXRocyk7CisKKwlhazQ1MzVfc29jZGV2ID0gc29jZGV2OworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKwlpZiAoc2V0dXAtPmkyY19hZGRyZXNzKSB7CisJCW5vcm1hbF9pMmNbMF0gPSBzZXR1cC0+aTJjX2FkZHJlc3M7CisJCWNvZGVjLT5od193cml0ZSA9IChod193cml0ZV90KWkyY19tYXN0ZXJfc2VuZDsKKwkJY29kZWMtPmh3X3JlYWQgPSAoaHdfcmVhZF90KWkyY19tYXN0ZXJfcmVjdjsKKwkJcmV0ID0gaTJjX2FkZF9kcml2ZXIoJmFrNDUzNV9pMmNfZHJpdmVyKTsKKwkJaWYgKHJldCAhPSAwKQorCQkJcHJpbnRrKEtFUk5fRVJSICJjYW4ndCBhZGQgaTJjIGRyaXZlciIpOworCX0KKyNlbHNlCisJLyogQWRkIG90aGVyIGludGVyZmFjZXMgaGVyZSAqLworI2VuZGlmCisJcmV0dXJuIHJldDsKK30KKworLyogcG93ZXIgZG93biBjaGlwICovCitzdGF0aWMgaW50IGFrNDUzNV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKKwkJYWs0NTM1X3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKworCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaTJjX2RlbF9kcml2ZXIoJmFrNDUzNV9pMmNfZHJpdmVyKTsKKyNlbmRpZgorCWtmcmVlKGNvZGVjLT5wcml2YXRlX2RhdGEpOworCWtmcmVlKGNvZGVjKTsKKworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl9hazQ1MzUgPSB7CisJLnByb2JlID0gCWFrNDUzNV9wcm9iZSwKKwkucmVtb3ZlID0gCWFrNDUzNV9yZW1vdmUsCisJLnN1c3BlbmQgPSAJYWs0NTM1X3N1c3BlbmQsCisJLnJlc3VtZSA9CWFrNDUzNV9yZXN1bWUsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoc29jX2NvZGVjX2Rldl9hazQ1MzUpOworCitNT0RVTEVfREVTQ1JJUFRJT04oIlNvYyBBSzQ1MzUgZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJSaWNoYXJkIFB1cmRpZSIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9hazQ1MzUuaCBiL3NvdW5kL3NvYy9jb2RlY3MvYWs0NTM1LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlmZTMwZQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvYWs0NTM1LmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIGFrNDUzNS5oICAtLSAgQUs0NTM1IFNvYyBBdWRpbyBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgMjAwNSBPcGVuZWRoYW5kIEx0ZC4KKyAqCisgKiBBdXRob3I6IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkQG9wZW5lZGhhbmQuY29tPgorICoKKyAqIEJhc2VkIG9uIHdtODc1My5oCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9BSzQ1MzVfSAorI2RlZmluZSBfQUs0NTM1X0gKKworLyogQUs0NTM1IHJlZ2lzdGVyIHNwYWNlICovCisKKyNkZWZpbmUgQUs0NTM1X1BNMQkJMHgwCisjZGVmaW5lIEFLNDUzNV9QTTIJCTB4MQorI2RlZmluZSBBSzQ1MzVfU0lHMQkJMHgyCisjZGVmaW5lIEFLNDUzNV9TSUcyCQkweDMKKyNkZWZpbmUgQUs0NTM1X01PREUxCQkweDQKKyNkZWZpbmUgQUs0NTM1X01PREUyCQkweDUKKyNkZWZpbmUgQUs0NTM1X0RBQwkJMHg2CisjZGVmaW5lIEFLNDUzNV9NSUMJCTB4NworI2RlZmluZSBBSzQ1MzVfVElNRVIJCTB4OAorI2RlZmluZSBBSzQ1MzVfQUxDMQkJMHg5CisjZGVmaW5lIEFLNDUzNV9BTEMyCQkweGEKKyNkZWZpbmUgQUs0NTM1X1BHQQkJMHhiCisjZGVmaW5lIEFLNDUzNV9MQVRUCQkweGMKKyNkZWZpbmUgQUs0NTM1X1JBVFQJCTB4ZAorI2RlZmluZSBBSzQ1MzVfVk9MCQkweGUKKyNkZWZpbmUgQUs0NTM1X1NUQVRVUwkJMHhmCisKKyNkZWZpbmUgQUs0NTM1X0NBQ0hFUkVHTlVNIAkweDEwCisKK3N0cnVjdCBhazQ1MzVfc2V0dXBfZGF0YSB7CisJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7Cit9OworCitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGFrNDUzNV9kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfYWs0NTM1OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmMgYi9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5jCmluZGV4IGU3M2ZjZmQuLjlkZWI4YzcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmMKKysrIGIvc291bmQvc29jL2NvZGVjcy9jczQyNzAuYwpAQCAtMjAxLDcgKzIwMSw3IEBACiAgKiBkcml2ZXIgd2hhdCB0aGUgaW5wdXQgc2V0dGluZ3MgY2FuIGJlLiAgVGhpcyB3b3VsZCBuZWVkIHRvIGJlIGltcGxlbWVudGVkCiAgKiBmb3Igc3RhbmQtYWxvbmUgbW9kZSB0byB3b3JrLgogICovCi1zdGF0aWMgaW50IGNzNDI3MF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgY3M0MjcwX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQkJCSBpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMjUxLDcgKzI1MSw3IEBACiAgKiBkYXRhIGZvciBwbGF5YmFjayBvbmx5LCBidXQgQVNvQyBjdXJyZW50bHkgZG9lcyBub3Qgc3VwcG9ydCBkaWZmZXJlbnQKICAqIGZvcm1hdHMgZm9yIHBsYXliYWNrIHZzLiByZWNvcmQuCiAgKi8KLXN0YXRpYyBpbnQgY3M0MjcwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCBjczQyNzBfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCQkgICAgICB1bnNpZ25lZCBpbnQgZm9ybWF0KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC00NzEsNyArNDcxLDcgQEAKICAqIGJvYXJkIGRvZXMgbm90IGhhdmUgdGhlIE1VVEVBIG9yIE1VVEVCIHBpbnMgY29ubmVjdGVkIHRvIHN1Y2ggY2lyY3VpdHJ5LAogICogdGhlbiB0aGlzIGZ1bmN0aW9uIHdpbGwgZG8gbm90aGluZy4KICAqLwotc3RhdGljIGludCBjczQyNzBfbXV0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgaW50IG11dGUpCitzdGF0aWMgaW50IGNzNDI3MF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOwogCWludCByZWc2OwpAQCAtNjY3LDcgKzY2Nyw3IEBACiAKICNlbmRpZiAvKiBVU0VfSTJDKi8KIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIGNzNDI3MF9kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgY3M0MjcwX2RhaSA9IHsKIAkubmFtZSA9ICJDUzQyNzAiLAogCS5wbGF5YmFjayA9IHsKIAkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmggYi9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5oCmluZGV4IDBjZWQ0OWIuLmFkYzZjZDkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmgKKysrIGIvc291bmQvc29jL2NvZGVjcy9jczQyNzAuaApAQCAtMTYsNyArMTYsNyBAQAogICogVGhlIEFTb0MgY29kZWMgREFJIHN0cnVjdHVyZSBmb3IgdGhlIENTNDI3MC4gIEFzc2lnbiB0aGlzIHN0cnVjdHVyZSB0bwogICogdGhlIC5jb2RlY19kYWkgZmllbGQgb2YgeW91ciBtYWNoaW5lIGRyaXZlcidzIHNuZF9zb2NfZGFpX2xpbmsgc3RydWN0dXJlLgogICovCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIGNzNDI3MF9kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGNzNDI3MF9kYWk7CiAKIC8qCiAgKiBUaGUgQVNvQyBjb2RlYyBkZXZpY2Ugc3RydWN0dXJlIGZvciB0aGUgQ1M0MjcwLiAgQXNzaWduIHRoaXMgc3RydWN0dXJlCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmMgYi9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmMKaW5kZXggMDliMTY2MS4uYjFkY2U1ZiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guYwpAQCAtMjksNyArMjksNyBAQAogICogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICoKICAqICBIZW5jZSB0aGUgbWFjaGluZSBsYXllciBzaG91bGQgZGlzYWJsZSB1bnN1cHBvcnRlZCBpbnB1dHMvb3V0cHV0cyBieQotICogIHNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNT05PX0xPVVQiLCAwKSwgZXRjLgorICogIHNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1PTk9fTE9VVCIpLCBldGMuCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNDksNyArNDksNyBAQAogI2luY2x1ZGUgInRsdjMyMGFpYzN4LmgiCiAKICNkZWZpbmUgQVVESU9fTkFNRSAiYWljM3giCi0jZGVmaW5lIEFJQzNYX1ZFUlNJT04gIjAuMSIKKyNkZWZpbmUgQUlDM1hfVkVSU0lPTiAiMC4yIgogCiAvKiBjb2RlYyBwcml2YXRlIGRhdGEgKi8KIHN0cnVjdCBhaWMzeF9wcml2IHsKQEAgLTEzOCw2ICsxMzgsMjAgQEAKIAkJcmV0dXJuIC1FSU87CiB9CiAKKy8qCisgKiByZWFkIGZyb20gdGhlIGFpYzN4IHJlZ2lzdGVyIHNwYWNlCisgKi8KK3N0YXRpYyBpbnQgYWljM3hfcmVhZChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIHVuc2lnbmVkIGludCByZWcsCisJCSAgICAgIHU4ICp2YWx1ZSkKK3sKKwkqdmFsdWUgPSByZWcgJiAweGZmOworCWlmIChjb2RlYy0+aHdfcmVhZChjb2RlYy0+Y29udHJvbF9kYXRhLCB2YWx1ZSwgMSkgIT0gMSkKKwkJcmV0dXJuIC1FSU87CisKKwlhaWMzeF93cml0ZV9yZWdfY2FjaGUoY29kZWMsIHJlZywgKnZhbHVlKTsKKwlyZXR1cm4gMDsKK30KKwogI2RlZmluZSBTT0NfREFQTV9TSU5HTEVfQUlDM1goeG5hbWUsIHJlZywgc2hpZnQsIG1hc2ssIGludmVydCkgXAogewkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSB4bmFtZSwgXAogCS5pbmZvID0gc25kX3NvY19pbmZvX3ZvbHN3LCBcCkBAIC0xOTIsNyArMjA2LDcgQEAKIAkJfQogCiAJCWlmIChmb3VuZCkKLQkJCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyh3aWRnZXQtPmNvZGVjKTsKKwkJCXNuZF9zb2NfZGFwbV9zeW5jKHdpZGdldC0+Y29kZWMpOwogCX0KIAogCXJldCA9IHNuZF9zb2NfdXBkYXRlX2JpdHMod2lkZ2V0LT5jb2RlYywgcmVnLCB2YWxfbWFzaywgdmFsKTsKQEAgLTIwOSw2ICsyMjMsOCBAQAogICAgIHsgImRpZmZlcmVudGlhbCBvZiBIUFJPVVQiLCAiY29uc3RhbnQgVkNNIiwgInNpbmdsZS1lbmRlZCIsCiAgICAgICAiZGlmZmVyZW50aWFsIG9mIEhQTENPTSIsICJleHRlcm5hbCBmZWVkYmFjayIgfTsKIHN0YXRpYyBjb25zdCBjaGFyICphaWMzeF9saW5laW5fbW9kZV9tdXhbXSA9IHsgInNpbmdsZS1lbmRlZCIsICJkaWZmZXJlbnRpYWwiIH07CitzdGF0aWMgY29uc3QgY2hhciAqYWljM3hfYWRjX2hwZltdID0KKyAgICB7ICJEaXNhYmxlZCIsICIwLjAwNDV4RnMiLCAiMC4wMTI1eEZzIiwgIjAuMDI1eEZzIiB9OwogCiAjZGVmaW5lIExEQUNfRU5VTQkwCiAjZGVmaW5lIFJEQUNfRU5VTQkxCkBAIC0yMTgsNiArMjM0LDcgQEAKICNkZWZpbmUgTElORTFSX0VOVU0JNQogI2RlZmluZSBMSU5FMkxfRU5VTQk2CiAjZGVmaW5lIExJTkUyUl9FTlVNCTcKKyNkZWZpbmUgQURDX0hQRl9FTlVNCTgKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSBhaWMzeF9lbnVtW10gPSB7CiAJU09DX0VOVU1fU0lOR0xFKERBQ19MSU5FX01VWCwgNiwgMywgYWljM3hfbGVmdF9kYWNfbXV4KSwKQEAgLTIyOCw2ICsyNDUsNyBAQAogCVNPQ19FTlVNX1NJTkdMRShMSU5FMVJfMl9SQURDX0NUUkwsIDcsIDIsIGFpYzN4X2xpbmVpbl9tb2RlX211eCksCiAJU09DX0VOVU1fU0lOR0xFKExJTkUyTF8yX0xBRENfQ1RSTCwgNywgMiwgYWljM3hfbGluZWluX21vZGVfbXV4KSwKIAlTT0NfRU5VTV9TSU5HTEUoTElORTJSXzJfUkFEQ19DVFJMLCA3LCAyLCBhaWMzeF9saW5laW5fbW9kZV9tdXgpLAorCVNPQ19FTlVNX0RPVUJMRShBSUMzWF9DT0RFQ19ERklMVF9DVFJMLCA2LCA0LCA0LCBhaWMzeF9hZGNfaHBmKSwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhaWMzeF9zbmRfY29udHJvbHNbXSA9IHsKQEAgLTI3OCw2ICsyOTYsOCBAQAogCS8qIElucHV0ICovCiAJU09DX0RPVUJMRV9SKCJQR0EgQ2FwdHVyZSBWb2x1bWUiLCBMQURDX1ZPTCwgUkFEQ19WT0wsIDAsIDB4N2YsIDApLAogCVNPQ19ET1VCTEVfUigiUEdBIENhcHR1cmUgU3dpdGNoIiwgTEFEQ19WT0wsIFJBRENfVk9MLCA3LCAweDAxLCAxKSwKKworCVNPQ19FTlVNKCJBREMgSFBGIEN1dC1vZmYiLCBhaWMzeF9lbnVtW0FEQ19IUEZfRU5VTV0pLAogfTsKIAogLyogYWRkIG5vbiBkYXBtIGNvbnRyb2xzICovCkBAIC00NDEsMTEgKzQ2MSwzNCBAQAogCVNORF9TT0NfREFQTV9NVVgoIlJpZ2h0IExpbmUyUiBNdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsCiAJCQkgJmFpYzN4X3JpZ2h0X2xpbmUyX211eF9jb250cm9scyksCiAKKwkvKgorCSAqIE5vdCBhIHJlYWwgbWljIGJpYXMgd2lkZ2V0IGJ1dCBzaW1pbGFyIGZ1bmN0aW9uLiBUaGlzIGlzIGZvciBkeW5hbWljCisJICogY29udHJvbCBvZiBHUElPMSBkaWdpdGFsIG1pYyBtb2R1bGF0b3IgY2xvY2sgb3V0cHV0IGZ1bmN0aW9uIHdoZW4KKwkgKiB1c2luZyBkaWdpdGFsIG1pYy4KKwkgKi8KKwlTTkRfU09DX0RBUE1fUkVHKHNuZF9zb2NfZGFwbV9taWNiaWFzLCAiR1BJTzEgZG1pYyBtb2RjbGsiLAorCQkJIEFJQzNYX0dQSU8xX1JFRywgNCwgMHhmLAorCQkJIEFJQzNYX0dQSU8xX0ZVTkNfRElHSVRBTF9NSUNfTU9EQ0xLLAorCQkJIEFJQzNYX0dQSU8xX0ZVTkNfRElTQUJMRUQpLAorCisJLyoKKwkgKiBBbHNvIHNpbWlsYXIgZnVuY3Rpb24gbGlrZSBtaWMgYmlhcy4gU2VsZWN0cyBkaWdpdGFsIG1pYyB3aXRoCisJICogY29uZmlndXJhYmxlIG92ZXJzYW1wbGluZyByYXRlIGluc3RlYWQgb2YgQURDIGNvbnZlcnRlci4KKwkgKi8KKwlTTkRfU09DX0RBUE1fUkVHKHNuZF9zb2NfZGFwbV9taWNiaWFzLCAiRE1pYyBSYXRlIDEyOCIsCisJCQkgQUlDM1hfQVNEX0lOVEZfQ1RSTEEsIDAsIDMsIDEsIDApLAorCVNORF9TT0NfREFQTV9SRUcoc25kX3NvY19kYXBtX21pY2JpYXMsICJETWljIFJhdGUgNjQiLAorCQkJIEFJQzNYX0FTRF9JTlRGX0NUUkxBLCAwLCAzLCAyLCAwKSwKKwlTTkRfU09DX0RBUE1fUkVHKHNuZF9zb2NfZGFwbV9taWNiaWFzLCAiRE1pYyBSYXRlIDMyIiwKKwkJCSBBSUMzWF9BU0RfSU5URl9DVFJMQSwgMCwgMywgMywgMCksCisKIAkvKiBNaWMgQmlhcyAqLwotCVNORF9TT0NfREFQTV9NSUNCSUFTKCJNaWMgQmlhcyAyViIsIE1JQ0JJQVNfQ1RSTCwgNiwgMCksCi0JU05EX1NPQ19EQVBNX01JQ0JJQVMoIk1pYyBCaWFzIDIuNVYiLCBNSUNCSUFTX0NUUkwsIDcsIDApLAotCVNORF9TT0NfREFQTV9NSUNCSUFTKCJNaWMgQmlhcyBBVkREIiwgTUlDQklBU19DVFJMLCA2LCAwKSwKLQlTTkRfU09DX0RBUE1fTUlDQklBUygiTWljIEJpYXMgQVZERCIsIE1JQ0JJQVNfQ1RSTCwgNywgMCksCisJU05EX1NPQ19EQVBNX1JFRyhzbmRfc29jX2RhcG1fbWljYmlhcywgIk1pYyBCaWFzIDJWIiwKKwkJCSBNSUNCSUFTX0NUUkwsIDYsIDMsIDEsIDApLAorCVNORF9TT0NfREFQTV9SRUcoc25kX3NvY19kYXBtX21pY2JpYXMsICJNaWMgQmlhcyAyLjVWIiwKKwkJCSBNSUNCSUFTX0NUUkwsIDYsIDMsIDIsIDApLAorCVNORF9TT0NfREFQTV9SRUcoc25kX3NvY19kYXBtX21pY2JpYXMsICJNaWMgQmlhcyBBVkREIiwKKwkJCSBNSUNCSUFTX0NUUkwsIDYsIDMsIDMsIDApLAogCiAJLyogTGVmdCBQR0EgdG8gTGVmdCBPdXRwdXQgYnlwYXNzICovCiAJU05EX1NPQ19EQVBNX01JWEVSKCJMZWZ0IFBHQSBCeXBhc3MgTWl4ZXIiLCBTTkRfU09DX05PUE0sIDAsIDAsCkBAIC00ODMsNyArNTI2LDcgQEAKIAlTTkRfU09DX0RBUE1fSU5QVVQoIkxJTkUyUiIpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmludGVyY29uW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBpbnRlcmNvbltdID0gewogCS8qIExlZnQgT3V0cHV0ICovCiAJeyJMZWZ0IERBQyBNdXgiLCAiREFDX0wxIiwgIkxlZnQgREFDIn0sCiAJeyJMZWZ0IERBQyBNdXgiLCAiREFDX0wyIiwgIkxlZnQgREFDIn0sCkBAIC01NTQsNiArNTk3LDcgQEAKIAl7IkxlZnQgUEdBIE1peGVyIiwgIk1pYzNMIFN3aXRjaCIsICJNSUMzTCJ9LAogCiAJeyJMZWZ0IEFEQyIsIE5VTEwsICJMZWZ0IFBHQSBNaXhlciJ9LAorCXsiTGVmdCBBREMiLCBOVUxMLCAiR1BJTzEgZG1pYyBtb2RjbGsifSwKIAogCS8qIFJpZ2h0IElucHV0ICovCiAJeyJSaWdodCBMaW5lMVIgTXV4IiwgInNpbmdsZS1lbmRlZCIsICJMSU5FMVIifSwKQEAgLTU2Nyw2ICs2MTEsNyBAQAogCXsiUmlnaHQgUEdBIE1peGVyIiwgIk1pYzNSIFN3aXRjaCIsICJNSUMzUiJ9LAogCiAJeyJSaWdodCBBREMiLCBOVUxMLCAiUmlnaHQgUEdBIE1peGVyIn0sCisJeyJSaWdodCBBREMiLCBOVUxMLCAiR1BJTzEgZG1pYyBtb2RjbGsifSwKIAogCS8qIExlZnQgUEdBIEJ5cGFzcyAqLwogCXsiTGVmdCBQR0EgQnlwYXNzIE1peGVyIiwgIkxpbmUgU3dpdGNoIiwgIkxlZnQgUEdBIE1peGVyIn0sCkBAIC02MjgsMTAxICs2NzMsMjcgQEAKIAl7Ik1vbm8gT3V0IiwgTlVMTCwgIlJpZ2h0IExpbmUyIEJ5cGFzcyBNaXhlciJ9LAogCXsiUmlnaHQgSFAgT3V0IiwgTlVMTCwgIlJpZ2h0IExpbmUyIEJ5cGFzcyBNaXhlciJ9LAogCi0JLyogdGVybWluYXRvciAqLwotCXtOVUxMLCBOVUxMLCBOVUxMfSwKKwkvKgorCSAqIExvZ2ljYWwgcGF0aCBiZXR3ZWVuIGRpZ2l0YWwgbWljIGVuYWJsZSBhbmQgR1BJTzEgbW9kdWxhdG9yIGNsb2NrCisJICogb3V0cHV0IGZ1bmN0aW9uCisJICovCisJeyJHUElPMSBkbWljIG1vZGNsayIsIE5VTEwsICJETWljIFJhdGUgMTI4In0sCisJeyJHUElPMSBkbWljIG1vZGNsayIsIE5VTEwsICJETWljIFJhdGUgNjQifSwKKwl7IkdQSU8xIGRtaWMgbW9kY2xrIiwgTlVMTCwgIkRNaWMgUmF0ZSAzMiJ9LAogfTsKIAogc3RhdGljIGludCBhaWMzeF9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhaWMzeF9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJmFpYzN4X2RhcG1fd2lkZ2V0c1tpXSk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgYWljM3hfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRShhaWMzeF9kYXBtX3dpZGdldHMpKTsKIAogCS8qIHNldCB1cCBhdWRpbyBwYXRoIGludGVyY29ubmVjdHMgKi8KLQlmb3IgKGkgPSAwOyBpbnRlcmNvbltpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBpbnRlcmNvbltpXVswXSwKLQkJCQkJICAgaW50ZXJjb25baV1bMV0sIGludGVyY29uW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgaW50ZXJjb24sIEFSUkFZX1NJWkUoaW50ZXJjb24pKTsKIAogCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0cnVjdCBhaWMzeF9yYXRlX2RpdnMgewotCXUzMiBtY2xrOwotCXUzMiByYXRlOwotCXUzMiBmc3JlZl9yZWc7Ci0JdTggc3JfcmVnOjQ7Ci0JdTggcGxsal9yZWc7Ci0JdTE2IHBsbGRfcmVnOwotfTsKLQotLyogQUlDM1ggY29kZWMgbWNsayBjbG9jayBkaXZpZGVyIGNvZWZmaWNpZW50cyAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBhaWMzeF9yYXRlX2RpdnMgYWljM3hfZGl2c1tdID0gewotCS8qIDhrICovCi0JezEyMDAwMDAwLCA4MDAwLCA0ODAwMCwgMHhhLCAxNiwgMzg0MH0sCi0JezE5MjAwMDAwLCA4MDAwLCA0ODAwMCwgMHhhLCAxMCwgMjQwMH0sCi0JezIyNTc5MjAwLCA4MDAwLCA0ODAwMCwgMHhhLCA4LCA3MDc1fSwKLQl7MzM4Njg4MDAsIDgwMDAsIDQ4MDAwLCAweGEsIDUsIDgwNDl9LAotCS8qIDExLjAyNWsgKi8KLQl7MTIwMDAwMDAsIDExMDI1LCA0NDEwMCwgMHg2LCAxNSwgNTI4fSwKLQl7MTkyMDAwMDAsIDExMDI1LCA0NDEwMCwgMHg2LCA5LCA0MDgwfSwKLQl7MjI1NzkyMDAsIDExMDI1LCA0NDEwMCwgMHg2LCA4LCAwfSwKLQl7MzM4Njg4MDAsIDExMDI1LCA0NDEwMCwgMHg2LCA1LCAzMzMzfSwKLQkvKiAxNmsgKi8KLQl7MTIwMDAwMDAsIDE2MDAwLCA0ODAwMCwgMHg0LCAxNiwgMzg0MH0sCi0JezE5MjAwMDAwLCAxNjAwMCwgNDgwMDAsIDB4NCwgMTAsIDI0MDB9LAotCXsyMjU3OTIwMCwgMTYwMDAsIDQ4MDAwLCAweDQsIDgsIDcwNzV9LAotCXszMzg2ODgwMCwgMTYwMDAsIDQ4MDAwLCAweDQsIDUsIDgwNDl9LAotCS8qIDIyLjA1ayAqLwotCXsxMjAwMDAwMCwgMjIwNTAsIDQ0MTAwLCAweDIsIDE1LCA1Mjh9LAotCXsxOTIwMDAwMCwgMjIwNTAsIDQ0MTAwLCAweDIsIDksIDQwODB9LAotCXsyMjU3OTIwMCwgMjIwNTAsIDQ0MTAwLCAweDIsIDgsIDB9LAotCXszMzg2ODgwMCwgMjIwNTAsIDQ0MTAwLCAweDIsIDUsIDMzMzN9LAotCS8qIDMyayAqLwotCXsxMjAwMDAwMCwgMzIwMDAsIDQ4MDAwLCAweDEsIDE2LCAzODQwfSwKLQl7MTkyMDAwMDAsIDMyMDAwLCA0ODAwMCwgMHgxLCAxMCwgMjQwMH0sCi0JezIyNTc5MjAwLCAzMjAwMCwgNDgwMDAsIDB4MSwgOCwgNzA3NX0sCi0JezMzODY4ODAwLCAzMjAwMCwgNDgwMDAsIDB4MSwgNSwgODA0OX0sCi0JLyogNDQuMWsgKi8KLQl7MTIwMDAwMDAsIDQ0MTAwLCA0NDEwMCwgMHgwLCAxNSwgNTI4fSwKLQl7MTkyMDAwMDAsIDQ0MTAwLCA0NDEwMCwgMHgwLCA5LCA0MDgwfSwKLQl7MjI1NzkyMDAsIDQ0MTAwLCA0NDEwMCwgMHgwLCA4LCAwfSwKLQl7MzM4Njg4MDAsIDQ0MTAwLCA0NDEwMCwgMHgwLCA1LCAzMzMzfSwKLQkvKiA0OGsgKi8KLQl7MTIwMDAwMDAsIDQ4MDAwLCA0ODAwMCwgMHgwLCAxNiwgMzg0MH0sCi0JezE5MjAwMDAwLCA0ODAwMCwgNDgwMDAsIDB4MCwgMTAsIDI0MDB9LAotCXsyMjU3OTIwMCwgNDgwMDAsIDQ4MDAwLCAweDAsIDgsIDcwNzV9LAotCXszMzg2ODgwMCwgNDgwMDAsIDQ4MDAwLCAweDAsIDUsIDgwNDl9LAotCS8qIDY0ayAqLwotCXsxMjAwMDAwMCwgNjQwMDAsIDk2MDAwLCAweDEsIDE2LCAzODQwfSwKLQl7MTkyMDAwMDAsIDY0MDAwLCA5NjAwMCwgMHgxLCAxMCwgMjQwMH0sCi0JezIyNTc5MjAwLCA2NDAwMCwgOTYwMDAsIDB4MSwgOCwgNzA3NX0sCi0JezMzODY4ODAwLCA2NDAwMCwgOTYwMDAsIDB4MSwgNSwgODA0OX0sCi0JLyogODguMmsgKi8KLQl7MTIwMDAwMDAsIDg4MjAwLCA4ODIwMCwgMHgwLCAxNSwgNTI4fSwKLQl7MTkyMDAwMDAsIDg4MjAwLCA4ODIwMCwgMHgwLCA5LCA0MDgwfSwKLQl7MjI1NzkyMDAsIDg4MjAwLCA4ODIwMCwgMHgwLCA4LCAwfSwKLQl7MzM4Njg4MDAsIDg4MjAwLCA4ODIwMCwgMHgwLCA1LCAzMzMzfSwKLQkvKiA5NmsgKi8KLQl7MTIwMDAwMDAsIDk2MDAwLCA5NjAwMCwgMHgwLCAxNiwgMzg0MH0sCi0JezE5MjAwMDAwLCA5NjAwMCwgOTYwMDAsIDB4MCwgMTAsIDI0MDB9LAotCXsyMjU3OTIwMCwgOTYwMDAsIDk2MDAwLCAweDAsIDgsIDcwNzV9LAotCXszMzg2ODgwMCwgOTYwMDAsIDk2MDAwLCAweDAsIDUsIDgwNDl9LAotfTsKLQotc3RhdGljIGlubGluZSBpbnQgYWljM3hfZ2V0X2RpdnMoaW50IG1jbGssIGludCByYXRlKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWljM3hfZGl2cyk7IGkrKykgewotCQlpZiAoYWljM3hfZGl2c1tpXS5yYXRlID09IHJhdGUgJiYgYWljM3hfZGl2c1tpXS5tY2xrID09IG1jbGspCi0JCQlyZXR1cm4gaTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIGludCBhaWMzeF9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCiAJCQkgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKQEAgLTczMCw1NyArNzAxLDkgQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAJc3RydWN0IGFpYzN4X3ByaXYgKmFpYzN4ID0gY29kZWMtPnByaXZhdGVfZGF0YTsKLQlpbnQgaTsKLQl1OCBkYXRhLCBwbGxfcCwgcGxsX3IsIHBsbF9qOwotCXUxNiBwbGxfZDsKLQotCWkgPSBhaWMzeF9nZXRfZGl2cyhhaWMzeC0+c3lzY2xrLCBwYXJhbXNfcmF0ZShwYXJhbXMpKTsKLQotCS8qIFJvdXRlIExlZnQgREFDIHRvIGxlZnQgY2hhbm5lbCBpbnB1dCBhbmQKLQkgKiByaWdodCBEQUMgdG8gcmlnaHQgY2hhbm5lbCBpbnB1dCAqLwotCWRhdGEgPSAoTERBQzJMQ0ggfCBSREFDMlJDSCk7Ci0Jc3dpdGNoIChhaWMzeF9kaXZzW2ldLmZzcmVmX3JlZykgewotCWNhc2UgNDQxMDA6Ci0JCWRhdGEgfD0gRlNSRUZfNDQxMDA7Ci0JCWJyZWFrOwotCWNhc2UgNDgwMDA6Ci0JCWRhdGEgfD0gRlNSRUZfNDgwMDA7Ci0JCWJyZWFrOwotCWNhc2UgODgyMDA6Ci0JCWRhdGEgfD0gRlNSRUZfNDQxMDAgfCBEVUFMX1JBVEVfTU9ERTsKLQkJYnJlYWs7Ci0JY2FzZSA5NjAwMDoKLQkJZGF0YSB8PSBGU1JFRl80ODAwMCB8IERVQUxfUkFURV9NT0RFOwotCQlicmVhazsKLQl9Ci0JYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0NPREVDX0RBVEFQQVRIX1JFRywgZGF0YSk7Ci0KLQkvKiBjb2RlYyBzYW1wbGUgcmF0ZSBzZWxlY3QgKi8KLQlkYXRhID0gYWljM3hfZGl2c1tpXS5zcl9yZWc7Ci0JZGF0YSB8PSAoZGF0YSA8PCA0KTsKLQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfU0FNUExFX1JBVEVfU0VMX1JFRywgZGF0YSk7Ci0KLQkvKiBVc2UgUExMIGZvciBnZW5lcmF0aW9uIEZzcmVmIGJ5IGVxdWF0aW9uOgotCSAqIEZzcmVmID0gKE1DTEsgKiBLICogUikvKDIwNDggKiBQKTsKLQkgKiBGaXggUCA9IDIgYW5kIFIgPSAxIGFuZCBjYWxjdWxhdGUgSywgaWYKLQkgKiBLID0gSi5ELCBpLmUuIEogLSBhbiBpbnRlcmdlciBwb3J0aW9uIG9mIEsgYW5kIEQgaXMgdGhlIGZyYWN0aW9uYWwKLQkgKiBvbmUgd2l0aCA0IGRpZ2l0cyBvZiBwcmVjaXNpb247Ci0JICogRXhhbXBsZToKLQkgKiBGb3IgTUNMSyA9IDIyLjU3OTIgTUh6IGFuZCBGc3JlZiA9IDQ4a0h6OgotCSAqIFNlbGVjdCBQID0gMiwgUj0gMSwgSyA9IDguNzA3NCwgd2hpY2ggcmVzdWx0cyBpbiBKID0gOCwgRCA9IDcwNzQKLQkgKi8KLQlwbGxfcCA9IDI7Ci0JcGxsX3IgPSAxOwotCXBsbF9qID0gYWljM3hfZGl2c1tpXS5wbGxqX3JlZzsKLQlwbGxfZCA9IGFpYzN4X2RpdnNbaV0ucGxsZF9yZWc7Ci0KLQlkYXRhID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQV9SRUcpOwotCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0FfUkVHLCBkYXRhIHwgKHBsbF9wIDw8IFBMTFBfU0hJRlQpKTsKLQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfT1ZSRl9TVEFUVVNfQU5EX1BMTFJfUkVHLCBwbGxfciA8PCBQTExSX1NISUZUKTsKLQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dCX1JFRywgcGxsX2ogPDwgUExMSl9TSElGVCk7Ci0JYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQ19SRUcsIChwbGxfZCA+PiA2KSA8PCBQTExEX01TQl9TSElGVCk7Ci0JYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HRF9SRUcsCi0JCSAgICAocGxsX2QgJiAweDNGKSA8PCBQTExEX0xTQl9TSElGVCk7CisJaW50IGNvZGVjX2NsayA9IDAsIGJ5cGFzc19wbGwgPSAwLCBmc3JlZiwgbGFzdF9jbGsgPSAwOworCXU4IGRhdGEsIHIsIHAsIHBsbF9xLCBwbGxfcCA9IDEsIHBsbF9yID0gMSwgcGxsX2ogPSAxOworCXUxNiBwbGxfZCA9IDE7CiAKIAkvKiBzZWxlY3QgZGF0YSB3b3JkIGxlbmd0aCAqLwogCWRhdGEgPQpAQCAtODAwLDEwICs3MjMsOTggQEAKIAl9CiAJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0FTRF9JTlRGX0NUUkxCLCBkYXRhKTsKIAorCS8qIEZzcmVmIGNhbiBiZSA0NDEwMCBvciA0ODAwMCAqLworCWZzcmVmID0gKHBhcmFtc19yYXRlKHBhcmFtcykgJSAxMTAyNSA9PSAwKSA/IDQ0MTAwIDogNDgwMDA7CisKKwkvKiBUcnkgdG8gZmluZCBhIHZhbHVlIGZvciBRIHdoaWNoIGFsbG93cyB1cyB0byBieXBhc3MgdGhlIFBMTCBhbmQKKwkgKiBnZW5lcmF0ZSBDT0RFQ19DTEsgZGlyZWN0bHkuICovCisJZm9yIChwbGxfcSA9IDI7IHBsbF9xIDwgMTg7IHBsbF9xKyspCisJCWlmIChhaWMzeC0+c3lzY2xrIC8gKDEyOCAqIHBsbF9xKSA9PSBmc3JlZikgeworCQkJYnlwYXNzX3BsbCA9IDE7CisJCQlicmVhazsKKwkJfQorCisJaWYgKGJ5cGFzc19wbGwpIHsKKwkJcGxsX3EgJj0gMHhmOworCQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dBX1JFRywgcGxsX3EgPDwgUExMUV9TSElGVCk7CisJCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9HUElPQl9SRUcsIENPREVDX0NMS0lOX0NMS0RJVik7CisJfSBlbHNlCisJCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9HUElPQl9SRUcsIENPREVDX0NMS0lOX1BMTERJVik7CisKKwkvKiBSb3V0ZSBMZWZ0IERBQyB0byBsZWZ0IGNoYW5uZWwgaW5wdXQgYW5kCisJICogcmlnaHQgREFDIHRvIHJpZ2h0IGNoYW5uZWwgaW5wdXQgKi8KKwlkYXRhID0gKExEQUMyTENIIHwgUkRBQzJSQ0gpOworCWRhdGEgfD0gKGZzcmVmID09IDQ0MTAwKSA/IEZTUkVGXzQ0MTAwIDogRlNSRUZfNDgwMDA7CisJaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPj0gNjQwMDApCisJCWRhdGEgfD0gRFVBTF9SQVRFX01PREU7CisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0NPREVDX0RBVEFQQVRIX1JFRywgZGF0YSk7CisKKwkvKiBjb2RlYyBzYW1wbGUgcmF0ZSBzZWxlY3QgKi8KKwlkYXRhID0gKGZzcmVmICogMjApIC8gcGFyYW1zX3JhdGUocGFyYW1zKTsKKwlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8IDY0MDAwKQorCQlkYXRhIC89IDI7CisJZGF0YSAvPSA1OworCWRhdGEgLT0gMjsKKwlkYXRhIHw9IChkYXRhIDw8IDQpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9TQU1QTEVfUkFURV9TRUxfUkVHLCBkYXRhKTsKKworCWlmIChieXBhc3NfcGxsKQorCQlyZXR1cm4gMDsKKworCS8qIFVzZSBQTEwKKwkgKiBmaW5kIGFuIGFwcm9wcmlhdGUgc2V0dXAgZm9yIGosIGQsIHIgYW5kIHAgYnkgaXRlcmF0aW5nIG92ZXIKKwkgKiBwIGFuZCByIC0gaiBhbmQgZCBhcmUgY2FsY3VsYXRlZCBmb3IgZWFjaCBmcmFjdGlvbi4KKwkgKiBVcCB0byAxMjggdmFsdWVzIGFyZSBwcm9iZWQsIHRoZSBjbG9zZXN0IG9uZSB3aW5zIHRoZSBnYW1lLgorCSAqIFRoZSBzeXNjbGsgaXMgZGl2aWRlZCBieSAxMDAwIHRvIHByZXZlbnQgaW50ZWdlciBvdmVyZmxvd3MuCisJICovCisJY29kZWNfY2xrID0gKDIwNDggKiBmc3JlZikgLyAoYWljM3gtPnN5c2NsayAvIDEwMDApOworCisJZm9yIChyID0gMTsgciA8PSAxNjsgcisrKQorCQlmb3IgKHAgPSAxOyBwIDw9IDg7IHArKykgeworCQkJaW50IGNsaywgdG1wID0gKGNvZGVjX2NsayAqIHBsbF9yICogMTApIC8gcGxsX3A7CisJCQl1OCBqID0gdG1wIC8gMTAwMDA7CisJCQl1MTYgZCA9IHRtcCAlIDEwMDAwOworCisJCQlpZiAoaiA+IDYzKQorCQkJCWNvbnRpbnVlOworCisJCQlpZiAoZCAhPSAwICYmIGFpYzN4LT5zeXNjbGsgPCAxMDAwMDAwMCkKKwkJCQljb250aW51ZTsKKworCQkJLyogVGhpcyBpcyBhY3R1YWxseSAxMDAwICogKChqICsgKGQvMTAwMDApKSAqIHIpIC8gcAorCQkJICogVGhlIHRlcm0gaGFkIHRvIGJlIGNvbnZlcnRlZCB0byBnZXQgcmlkIG9mIHRoZQorCQkJICogZGl2aXNpb24gYnkgMTAwMDAgKi8KKwkJCWNsayA9ICgoMTAwMDAgKiBqICogcikgKyAoZCAqIHIpKSAvICgxMCAqIHApOworCisJCQkvKiBjaGVjayB3aGV0aGVyIHRoaXMgdmFsdWVzIGdldCBjbG9zZXIgdGhhbiB0aGUgYmVzdAorCQkJICogb25lcyB3ZSBoYWQgYmVmb3JlICovCisJCQlpZiAoYWJzKGNvZGVjX2NsayAtIGNsaykgPCBhYnMoY29kZWNfY2xrIC0gbGFzdF9jbGspKSB7CisJCQkJcGxsX2ogPSBqOyBwbGxfZCA9IGQ7IHBsbF9yID0gcjsgcGxsX3AgPSBwOworCQkJCWxhc3RfY2xrID0gY2xrOworCQkJfQorCisJCQkvKiBFYXJseSBleGl0IGZvciBleGFjdCBtYXRjaGVzICovCisJCQlpZiAoY2xrID09IGNvZGVjX2NsaykKKwkJCQlicmVhazsKKwkJfQorCisJaWYgKGxhc3RfY2xrID09IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlcygpOiB1bmFibGUgdG8gc2V0dXAgUExMXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWRhdGEgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUlDM1hfUExMX1BST0dBX1JFRyk7CisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQV9SRUcsIGRhdGEgfCAocGxsX3AgPDwgUExMUF9TSElGVCkpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9PVlJGX1NUQVRVU19BTkRfUExMUl9SRUcsIHBsbF9yIDw8IFBMTFJfU0hJRlQpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0JfUkVHLCBwbGxfaiA8PCBQTExKX1NISUZUKTsKKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dDX1JFRywgKHBsbF9kID4+IDYpIDw8IFBMTERfTVNCX1NISUZUKTsKKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dEX1JFRywKKwkJICAgIChwbGxfZCAmIDB4M0YpIDw8IFBMTERfTFNCX1NISUZUKTsKKwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGFpYzN4X211dGUoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIGludCBtdXRlKQorc3RhdGljIGludCBhaWMzeF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOwogCXU4IGxkYWNfcmVnID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIExEQUNfVk9MKSAmIH5NVVRFX09OOwpAQCAtODIwLDMxICs4MzEsMjUgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBhaWMzeF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgYWljM3hfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCQkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKIAlzdHJ1Y3QgYWljM3hfcHJpdiAqYWljM3ggPSBjb2RlYy0+cHJpdmF0ZV9kYXRhOwogCi0Jc3dpdGNoIChmcmVxKSB7Ci0JY2FzZSAxMjAwMDAwMDoKLQljYXNlIDE5MjAwMDAwOgotCWNhc2UgMjI1NzkyMDA6Ci0JY2FzZSAzMzg2ODgwMDoKLQkJYWljM3gtPnN5c2NsayA9IGZyZXE7Ci0JCXJldHVybiAwOwotCX0KLQotCXJldHVybiAtRUlOVkFMOworCWFpYzN4LT5zeXNjbGsgPSBmcmVxOworCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGFpYzN4X3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCBhaWMzeF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJCSAgICAgdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwogCXN0cnVjdCBhaWMzeF9wcml2ICphaWMzeCA9IGNvZGVjLT5wcml2YXRlX2RhdGE7Ci0JdTggaWZhY2VfYXJlZyA9IDA7Ci0JdTggaWZhY2VfYnJlZyA9IDA7CisJdTggaWZhY2VfYXJlZywgaWZhY2VfYnJlZzsKKworCWlmYWNlX2FyZWcgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUlDM1hfQVNEX0lOVEZfQ1RSTEEpICYgMHgzZjsKKwlpZmFjZV9icmVnID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFJQzNYX0FTRF9JTlRGX0NUUkxCKSAmIDB4M2Y7CiAKIAkvKiBzZXQgbWFzdGVyL3NsYXZlIGF1ZGlvIGludGVyZmFjZSAqLwogCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfTUFTVEVSX01BU0spIHsKQEAgLTg4MywxMyArODg4LDE0IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgYWljM3hfZGFwbV9ldmVudChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCkKK3N0YXRpYyBpbnQgYWljM3hfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJCWVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQogewogCXN0cnVjdCBhaWMzeF9wcml2ICphaWMzeCA9IGNvZGVjLT5wcml2YXRlX2RhdGE7CiAJdTggcmVnOwogCi0Jc3dpdGNoIChldmVudCkgewotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QwOgorCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKIAkJLyogYWxsIHBvd2VyIGlzIGRyaXZlbiBieSBEQVBNIHN5c3RlbSAqLwogCQlpZiAoYWljM3gtPm1hc3RlcikgewogCQkJLyogZW5hYmxlIHBsbCAqLwpAQCAtODk4LDEwICs5MDQsOSBAQAogCQkJCSAgICByZWcgfCBQTExfRU5BQkxFKTsKIAkJfQogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMToKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMjoKKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2hvdDoKKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgogCQkvKgogCQkgKiBhbGwgcG93ZXIgaXMgZHJpdmVuIGJ5IERBUE0gc3lzdGVtLAogCQkgKiBzbyBvdXRwdXQgcG93ZXIgaXMgc2FmZSBpZiBieXBhc3Mgd2FzIHNldApAQCAtOTEzLDcgKzkxOCw3IEBACiAJCQkJICAgIHJlZyAmIH5QTExfRU5BQkxFKTsKIAkJfQogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6CisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgogCQkvKiBmb3JjZSBhbGwgcG93ZXIgb2ZmICovCiAJCXJlZyA9IGFpYzN4X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBMSU5FMUxfMl9MQURDX0NUUkwpOwogCQlhaWMzeF93cml0ZShjb2RlYywgTElORTFMXzJfTEFEQ19DVFJMLCByZWcgJiB+TEFEQ19QV1JfT04pOwpAQCAtOTQ5LDE2ICs5NTQsNDMgQEAKIAkJfQogCQlicmVhazsKIAl9Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBldmVudDsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOwogCiAJcmV0dXJuIDA7CiB9CiAKK3ZvaWQgYWljM3hfc2V0X2dwaW8oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZ3BpbywgaW50IHN0YXRlKQoreworCXU4IHJlZyA9IGdwaW8gPyBBSUMzWF9HUElPMl9SRUcgOiBBSUMzWF9HUElPMV9SRUc7CisJdTggYml0ID0gZ3BpbyA/IDM6IDA7CisJdTggdmFsID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIHJlZykgJiB+KDEgPDwgYml0KTsKKwlhaWMzeF93cml0ZShjb2RlYywgcmVnLCB2YWwgfCAoISFzdGF0ZSA8PCBiaXQpKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGFpYzN4X3NldF9ncGlvKTsKKworaW50IGFpYzN4X2dldF9ncGlvKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGdwaW8pCit7CisJdTggcmVnID0gZ3BpbyA/IEFJQzNYX0dQSU8yX1JFRyA6IEFJQzNYX0dQSU8xX1JFRzsKKwl1OCB2YWwsIGJpdCA9IGdwaW8gPyAyOiAxOworCisJYWljM3hfcmVhZChjb2RlYywgcmVnLCAmdmFsKTsKKwlyZXR1cm4gKHZhbCA+PiBiaXQpICYgMTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGFpYzN4X2dldF9ncGlvKTsKKworaW50IGFpYzN4X2hlYWRzZXRfZGV0ZWN0ZWQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXU4IHZhbDsKKwlhaWMzeF9yZWFkKGNvZGVjLCBBSUMzWF9SVF9JUlFfRkxBR1NfUkVHLCAmdmFsKTsKKwlyZXR1cm4gKHZhbCA+PiAyKSAmIDE7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChhaWMzeF9oZWFkc2V0X2RldGVjdGVkKTsKKwogI2RlZmluZSBBSUMzWF9SQVRFUwlTTkRSVl9QQ01fUkFURV84MDAwXzk2MDAwCiAjZGVmaW5lIEFJQzNYX0ZPUk1BVFMJKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjBfM0xFIHwgXAogCQkJIFNORFJWX1BDTV9GTVRCSVRfUzI0XzNMRSB8IFNORFJWX1BDTV9GTVRCSVRfUzMyX0xFKQogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgYWljM3hfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIGFpYzN4X2RhaSA9IHsKIAkubmFtZSA9ICJhaWMzeCIsCiAJLnBsYXliYWNrID0gewogCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLApAQCAtOTg4LDcgKzEwMjAsNyBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAotCWFpYzN4X2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCWFpYzN4X3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTAwOCw3ICsxMDQwLDcgQEAKIAkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOwogCX0KIAotCWFpYzN4X2RhcG1fZXZlbnQoY29kZWMsIGNvZGVjLT5zdXNwZW5kX2RhcG1fc3RhdGUpOworCWFpYzN4X3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTAyMCwxNiArMTA1MiwxNyBAQAogc3RhdGljIGludCBhaWMzeF9pbml0KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJc3RydWN0IGFpYzN4X3NldHVwX2RhdGEgKnNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOwogCWludCByZWcsIHJldCA9IDA7CiAKIAljb2RlYy0+bmFtZSA9ICJhaWMzeCI7CiAJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CiAJY29kZWMtPnJlYWQgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZTsKIAljb2RlYy0+d3JpdGUgPSBhaWMzeF93cml0ZTsKLQljb2RlYy0+ZGFwbV9ldmVudCA9IGFpYzN4X2RhcG1fZXZlbnQ7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gYWljM3hfc2V0X2JpYXNfbGV2ZWw7CiAJY29kZWMtPmRhaSA9ICZhaWMzeF9kYWk7CiAJY29kZWMtPm51bV9kYWkgPSAxOwotCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IHNpemVvZihhaWMzeF9yZWcpOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUoYWljM3hfcmVnKTsKIAljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cChhaWMzeF9yZWcsIHNpemVvZihhaWMzeF9yZWcpLCBHRlBfS0VSTkVMKTsKIAlpZiAoY29kZWMtPnJlZ19jYWNoZSA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTExMDgsNyArMTE0MSwxMSBAQAogCWFpYzN4X3dyaXRlKGNvZGVjLCBMSU5FMlJfMl9NT05PTE9QTV9WT0wsIERFRkFVTFRfVk9MKTsKIAogCS8qIG9mZiwgd2l0aCBwb3dlciBvbiAqLwotCWFpYzN4X2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJYWljM3hfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKworCS8qIHNldHVwIEdQSU8gZnVuY3Rpb25zICovCisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0dQSU8xX1JFRywgKHNldHVwLT5ncGlvX2Z1bmNbMF0gJiAweGYpIDw8IDQpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9HUElPMl9SRUcsIChzZXR1cC0+Z3Bpb19mdW5jWzFdICYgMHhmKSA8PCA0KTsKIAogCWFpYzN4X2FkZF9jb250cm9scyhjb2RlYyk7CiAJYWljM3hfYWRkX3dpZGdldHMoY29kZWMpOwpAQCAtMTIxNyw2ICsxMjU0LDEyIEBACiAJLm5hbWUgPSAiQUlDM1giLAogCS5kcml2ZXIgPSAmYWljM3hfaTJjX2RyaXZlciwKIH07CisKK3N0YXRpYyBpbnQgYWljM3hfaTJjX3JlYWQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggKnZhbHVlLCBpbnQgbGVuKQoreworCXZhbHVlWzBdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgdmFsdWVbMF0pOworCXJldHVybiAobGVuID09IDEpOworfQogI2VuZGlmCiAKIHN0YXRpYyBpbnQgYWljM3hfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKQEAgLTEyNTEsNiArMTI5NCw3IEBACiAJaWYgKHNldHVwLT5pMmNfYWRkcmVzcykgewogCQlub3JtYWxfaTJjWzBdID0gc2V0dXAtPmkyY19hZGRyZXNzOwogCQljb2RlYy0+aHdfd3JpdGUgPSAoaHdfd3JpdGVfdCkgaTJjX21hc3Rlcl9zZW5kOworCQljb2RlYy0+aHdfcmVhZCA9IChod19yZWFkX3QpIGFpYzN4X2kyY19yZWFkOwogCQlyZXQgPSBpMmNfYWRkX2RyaXZlcigmYWljM3hfaTJjX2RyaXZlcik7CiAJCWlmIChyZXQgIT0gMCkKIAkJCXByaW50ayhLRVJOX0VSUiAiY2FuJ3QgYWRkIGkyYyBkcml2ZXIiKTsKQEAgLTEyNjgsNyArMTMxMiw3IEBACiAKIAkvKiBwb3dlciBkb3duIGNoaXAgKi8KIAlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKLQkJYWljM3hfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzKTsKKwkJYWljM3hfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCiAJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKIAlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5oIGIvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5oCmluZGV4IGQwY2RlZWIuLmQ3NmMwNzkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmgKQEAgLTM3LDYgKzM3LDggQEAKICNkZWZpbmUgQUlDM1hfQVNEX0lOVEZfQ1RSTEIJCTkKIC8qIEF1ZGlvIG92ZXJmbG93IHN0YXR1cyBhbmQgUExMIFIgdmFsdWUgcHJvZ3JhbW1pbmcgcmVnaXN0ZXIgKi8KICNkZWZpbmUgQUlDM1hfT1ZSRl9TVEFUVVNfQU5EX1BMTFJfUkVHCTExCisvKiBBdWRpbyBjb2RlYyBkaWdpdGFsIGZpbHRlciBjb250cm9sIHJlZ2lzdGVyICovCisjZGVmaW5lIEFJQzNYX0NPREVDX0RGSUxUX0NUUkwJCTEyCiAKIC8qIEFEQyBQR0EgR2FpbiBjb250cm9sIHJlZ2lzdGVycyAqLwogI2RlZmluZSBMQURDX1ZPTAkJCTE1CkBAIC0xMDgsNiArMTEwLDEzIEBACiAjZGVmaW5lIERBQ1IxXzJfUkxPUE1fVk9MCQk5MgogI2RlZmluZSBMTE9QTV9DVFJMCQkJODYKICNkZWZpbmUgUkxPUE1fQ1RSTAkJCTkzCisvKiBHUElPL0lSUSByZWdpc3RlcnMgKi8KKyNkZWZpbmUgQUlDM1hfU1RJQ0tZX0lSUV9GTEFHU19SRUcJOTYKKyNkZWZpbmUgQUlDM1hfUlRfSVJRX0ZMQUdTX1JFRwkJOTcKKyNkZWZpbmUgQUlDM1hfR1BJTzFfUkVHCQkJOTgKKyNkZWZpbmUgQUlDM1hfR1BJTzJfUkVHCQkJOTkKKyNkZWZpbmUgQUlDM1hfR1BJT0FfUkVHCQkJMTAwCisjZGVmaW5lIEFJQzNYX0dQSU9CX1JFRwkJCTEwMQogLyogQ2xvY2sgZ2VuZXJhdGlvbiBjb250cm9sIHJlZ2lzdGVyICovCiAjZGVmaW5lIEFJQzNYX0NMS0dFTl9DVFJMX1JFRwkJMTAyCiAKQEAgLTEyOCwxMiArMTM3LDE1IEBACiAKIC8qIFBMTCByZWdpc3RlcnMgYml0ZmllbGRzICovCiAjZGVmaW5lIFBMTFBfU0hJRlQJCTAKKyNkZWZpbmUgUExMUV9TSElGVAkJMwogI2RlZmluZSBQTExSX1NISUZUCQkwCiAjZGVmaW5lIFBMTEpfU0hJRlQJCTIKICNkZWZpbmUgUExMRF9NU0JfU0hJRlQJCTAKICNkZWZpbmUgUExMRF9MU0JfU0hJRlQJCTIKIAogLyogQ2xvY2sgZ2VuZXJhdGlvbiByZWdpc3RlciBiaXRzICovCisjZGVmaW5lIENPREVDX0NMS0lOX1BMTERJVgkwCisjZGVmaW5lIENPREVDX0NMS0lOX0NMS0RJVgkxCiAjZGVmaW5lIFBMTF9DTEtJTl9TSElGVAkJNAogI2RlZmluZSBNQ0xLX1NPVVJDRQkJMHgwCiAjZGVmaW5lIFBMTF9DTEtESVZfU0hJRlQJMApAQCAtMTcxLDExICsxODMsNTIgQEAKIC8qIERlZmF1bHQgaW5wdXQgdm9sdW1lICovCiAjZGVmaW5lIERFRkFVTFRfR0FJTiAgICAweDIwCiAKLXN0cnVjdCBhaWMzeF9zZXR1cF9kYXRhIHsKLQl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKKy8qIEdQSU8gQVBJICovCitlbnVtIHsKKwlBSUMzWF9HUElPMV9GVU5DX0RJU0FCTEVECQk9IDAsCisJQUlDM1hfR1BJTzFfRlVOQ19BVURJT19XT1JEQ0xLX0FEQwk9IDEsCisJQUlDM1hfR1BJTzFfRlVOQ19DTE9DS19NVVgJCT0gMiwKKwlBSUMzWF9HUElPMV9GVU5DX0NMT0NLX01VWF9ESVYyCQk9IDMsCisJQUlDM1hfR1BJTzFfRlVOQ19DTE9DS19NVVhfRElWNAkJPSA0LAorCUFJQzNYX0dQSU8xX0ZVTkNfQ0xPQ0tfTVVYX0RJVjgJCT0gNSwKKwlBSUMzWF9HUElPMV9GVU5DX1NIT1JUX0NJUkNVSVRfSVJRCT0gNiwKKwlBSUMzWF9HUElPMV9GVU5DX0FHQ19OT0lTRV9JUlEJCT0gNywKKwlBSUMzWF9HUElPMV9GVU5DX0lOUFVUCQkJPSA4LAorCUFJQzNYX0dQSU8xX0ZVTkNfT1VUUFVUCQkJPSA5LAorCUFJQzNYX0dQSU8xX0ZVTkNfRElHSVRBTF9NSUNfTU9EQ0xLCT0gMTAsCisJQUlDM1hfR1BJTzFfRlVOQ19BVURJT19XT1JEQ0xLCQk9IDExLAorCUFJQzNYX0dQSU8xX0ZVTkNfQlVUVE9OX0lSUQkJPSAxMiwKKwlBSUMzWF9HUElPMV9GVU5DX0hFQURTRVRfREVURUNUX0lSUQk9IDEzLAorCUFJQzNYX0dQSU8xX0ZVTkNfSEVBRFNFVF9ERVRFQ1RfT1JfQlVUVE9OX0lSUQk9IDE0LAorCUFJQzNYX0dQSU8xX0ZVTkNfQUxMX0lSUQkJPSAxNgogfTsKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSBhaWMzeF9kYWk7CitlbnVtIHsKKwlBSUMzWF9HUElPMl9GVU5DX0RJU0FCTEVECQk9IDAsCisJQUlDM1hfR1BJTzJfRlVOQ19IRUFEU0VUX0RFVEVDVF9JUlEJPSAyLAorCUFJQzNYX0dQSU8yX0ZVTkNfSU5QVVQJCQk9IDMsCisJQUlDM1hfR1BJTzJfRlVOQ19PVVRQVVQJCQk9IDQsCisJQUlDM1hfR1BJTzJfRlVOQ19ESUdJVEFMX01JQ19JTlBVVAk9IDUsCisJQUlDM1hfR1BJTzJfRlVOQ19BVURJT19CSVRDTEsJCT0gOCwKKwlBSUMzWF9HUElPMl9GVU5DX0hFQURTRVRfREVURUNUX09SX0JVVFRPTl9JUlEgPSA5LAorCUFJQzNYX0dQSU8yX0ZVTkNfQUxMX0lSUQkJPSAxMCwKKwlBSUMzWF9HUElPMl9GVU5DX1NIT1JUX0NJUkNVSVRfT1JfQUdDX0lSUSA9IDExLAorCUFJQzNYX0dQSU8yX0ZVTkNfSEVBRFNFVF9PUl9CVVRUT05fUFJFU1NfT1JfU0hPUlRfQ0lSQ1VJVF9JUlEgPSAxMiwKKwlBSUMzWF9HUElPMl9GVU5DX1NIT1JUX0NJUkNVSVRfSVJRCT0gMTMsCisJQUlDM1hfR1BJTzJfRlVOQ19BR0NfTk9JU0VfSVJRCQk9IDE0LAorCUFJQzNYX0dQSU8yX0ZVTkNfQlVUVE9OX1BSRVNTX0lSUQk9IDE1Cit9OworCit2b2lkIGFpYzN4X3NldF9ncGlvKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGdwaW8sIGludCBzdGF0ZSk7CitpbnQgYWljM3hfZ2V0X2dwaW8oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZ3Bpbyk7CitpbnQgYWljM3hfaGVhZHNldF9kZXRlY3RlZChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpOworCitzdHJ1Y3QgYWljM3hfc2V0dXBfZGF0YSB7CisJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7CisJdW5zaWduZWQgaW50IGdwaW9fZnVuY1syXTsKK307CisKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYWljM3hfZGFpOwogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X2FpYzN4OwogCiAjZW5kaWYgLyogX0FJQzNYX0ggKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvdWRhMTM4MC5jIGIvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTUyZDZkOQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvdWRhMTM4MC5jCkBAIC0wLDAgKzEsODUyIEBACisvKgorICogdWRhMTM4MC5jIC0gUGhpbGlwcyBVREExMzgwIEFMU0EgU29DIGF1ZGlvIGRyaXZlcgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA3IFBoaWxpcHAgWmFiZWwgPHBoaWxpcHAuemFiZWxAZ21haWwuY29tPgorICogSW1wcm92ZWQgc3VwcG9ydCBmb3IgREFQTSBhbmQgYXVkaW8gcm91dGluZy9taXhpbmcgY2FwYWJpbGl0aWVzLAorICogYWRkZWQgVExWIHN1cHBvcnQuCisgKgorICogTW9kaWZpZWQgYnkgUmljaGFyZCBQdXJkaWUgPHJpY2hhcmRAb3BlbmVkaGFuZC5jb20+IHRvIGZpdCBpbnRvIFNvQworICogY29kZWMgbW9kZWwuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA1IEdpb3JnaW8gUGFkcmluIDxnaW9yZ2lvQG1hbmRhcmlubG9naXEub3JnPgorICogQ29weXJpZ2h0IDIwMDUgT3BlbmVkaGFuZCBMdGQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvY29udHJvbC5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKyNpbmNsdWRlIDxzb3VuZC9pbmZvLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKyNpbmNsdWRlIDxzb3VuZC90bHYuaD4KKworI2luY2x1ZGUgInVkYTEzODAuaCIKKworI2RlZmluZSBVREExMzgwX1ZFUlNJT04gIjAuNiIKKyNkZWZpbmUgQVVESU9fTkFNRSAidWRhMTM4MCIKKworLyoKKyAqIHVkYTEzODAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGNvbnN0IHUxNiB1ZGExMzgwX3JlZ1tVREExMzgwX0NBQ0hFUkVHTlVNXSA9IHsKKwkweDA1MDIsIDB4MDAwMCwgMHgwMDAwLCAweDNmM2YsCisJMHgwMjAyLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweGZmMDAsIDB4MDAwMCwgMHg0ODAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHg4MDAwLCAweDAwMDIsIDB4MDAwMCwKK307CisKKy8qCisgKiByZWFkIHVkYTEzODAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdW5zaWduZWQgaW50IHJlZykKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlpZiAocmVnID09IFVEQTEzODBfUkVTRVQpCisJCXJldHVybiAwOworCWlmIChyZWcgPj0gVURBMTM4MF9DQUNIRVJFR05VTSkKKwkJcmV0dXJuIC0xOworCXJldHVybiBjYWNoZVtyZWddOworfQorCisvKgorICogd3JpdGUgdWRhMTM4MCByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHZvaWQgdWRhMTM4MF93cml0ZV9yZWdfY2FjaGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCXUxNiByZWcsIHVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlpZiAocmVnID49IFVEQTEzODBfQ0FDSEVSRUdOVU0pCisJCXJldHVybjsKKwljYWNoZVtyZWddID0gdmFsdWU7Cit9CisKKy8qCisgKiB3cml0ZSB0byB0aGUgVURBMTM4MCByZWdpc3RlciBzcGFjZQorICovCitzdGF0aWMgaW50IHVkYTEzODBfd3JpdGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCB1bnNpZ25lZCBpbnQgcmVnLAorCXVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKwl1OCBkYXRhWzNdOworCisJLyogZGF0YSBpcworCSAqICAgZGF0YVswXSBpcyByZWdpc3RlciBvZmZzZXQKKwkgKiAgIGRhdGFbMV0gaXMgTVMgYnl0ZQorCSAqICAgZGF0YVsyXSBpcyBMUyBieXRlCisJICovCisJZGF0YVswXSA9IHJlZzsKKwlkYXRhWzFdID0gKHZhbHVlICYgMHhmZjAwKSA+PiA4OworCWRhdGFbMl0gPSB2YWx1ZSAmIDB4MDBmZjsKKworCXVkYTEzODBfd3JpdGVfcmVnX2NhY2hlKGNvZGVjLCByZWcsIHZhbHVlKTsKKworCS8qIHRoZSBpbnRlcnBvbGF0b3IgJiBkZWNpbWF0b3IgcmVncyBtdXN0IG9ubHkgYmUgd3JpdHRlbiB3aGVuIHRoZQorCSAqIGNvZGVjIERBSSBpcyBhY3RpdmUuCisJICovCisJaWYgKCFjb2RlYy0+YWN0aXZlICYmIChyZWcgPj0gVURBMTM4MF9NVk9MKSkKKwkJcmV0dXJuIDA7CisJcHJfZGVidWcoInVkYTEzODA6IGh3IHdyaXRlICV4IHZhbCAleFxuIiwgcmVnLCB2YWx1ZSk7CisJaWYgKGNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAzKSA9PSAzKSB7CisJCXVuc2lnbmVkIGludCB2YWw7CisJCWkyY19tYXN0ZXJfc2VuZChjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAxKTsKKwkJaTJjX21hc3Rlcl9yZWN2KGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOworCQl2YWwgPSAoZGF0YVswXTw8OCkgfCBkYXRhWzFdOworCQlpZiAodmFsICE9IHZhbHVlKSB7CisJCQlwcl9kZWJ1ZygidWRhMTM4MDogUkVBRCBCQUNLIFZBTCAleFxuIiwKKwkJCQkJKGRhdGFbMF08PDgpIHwgZGF0YVsxXSk7CisJCQlyZXR1cm4gLUVJTzsKKwkJfQorCQlyZXR1cm4gMDsKKwl9IGVsc2UKKwkJcmV0dXJuIC1FSU87Cit9CisKKyNkZWZpbmUgdWRhMTM4MF9yZXNldChjKQl1ZGExMzgwX3dyaXRlKGMsIFVEQTEzODBfUkVTRVQsIDApCisKKy8qIGRlY2xhcmF0aW9ucyBvZiBBTFNBIHJlZ19lbGVtX1JFQUwgY29udHJvbHMgKi8KK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX2RlZW1wW10gPSB7CisJIk5vbmUiLAorCSIzMmtIeiIsCisJIjQ0LjFrSHoiLAorCSI0OGtIeiIsCisJIjk2a0h6IiwKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9pbnB1dF9zZWxbXSA9IHsKKwkiTGluZSIsCisJIk1pYyArIExpbmUgUiIsCisJIkxpbmUgTCIsCisJIk1pYyIsCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfb3V0cHV0X3NlbFtdID0geworCSJEQUMiLAorCSJBbmFsb2cgTWl4ZXIiLAorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX3NwZl9tb2RlW10gPSB7CisJIkZsYXQiLAorCSJNaW5pbXVtMSIsCisJIk1pbmltdW0yIiwKKwkiTWF4aW11bSIKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9jYXB0dXJlX3NlbFtdID0geworCSJBREMiLAorCSJEaWdpdGFsIE1peGVyIgorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX3NlbF9uc1tdID0geworCSIzcmQtb3JkZXIiLAorCSI1dGgtb3JkZXIiCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfbWl4X2NvbnRyb2xbXSA9IHsKKwkib2ZmIiwKKwkiUENNIG9ubHkiLAorCSJiZWZvcmUgc291bmQgcHJvY2Vzc2luZyIsCisJImFmdGVyIHNvdW5kIHByb2Nlc3NpbmciCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfc2RldF9zZXR0aW5nW10gPSB7CisJIjMyMDAiLAorCSI0ODAwIiwKKwkiOTYwMCIsCisJIjE5MjAwIgorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX29zX3NldHRpbmdbXSA9IHsKKwkic2luZ2xlLXNwZWVkIiwKKwkiZG91YmxlLXNwZWVkIChubyBtaXhpbmcpIiwKKwkicXVhZC1zcGVlZCAobm8gbWl4aW5nKSIKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9kZWVtcF9lbnVtW10gPSB7CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfREVFTVAsIDgsIDUsIHVkYTEzODBfZGVlbXApLAorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX0RFRU1QLCAwLCA1LCB1ZGExMzgwX2RlZW1wKSwKK307CitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfaW5wdXRfc2VsX2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX0FEQywgMiwgNCwgdWRhMTM4MF9pbnB1dF9zZWwpOwkJLyogU0VMX01JQywgU0VMX0xOQSAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX291dHB1dF9zZWxfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfUE0sIDcsIDIsIHVkYTEzODBfb3V0cHV0X3NlbCk7CQkvKiBSMDJfRU5fQVZDICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfc3BmX2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX01PREUsIDE0LCA0LCB1ZGExMzgwX3NwZl9tb2RlKTsJCS8qIE0gKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9jYXB0dXJlX3NlbF9lbnVtID0KKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9JRkFDRSwgNiwgMiwgdWRhMTM4MF9jYXB0dXJlX3NlbCk7CS8qIFNFTF9TT1VSQ0UgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9zZWxfbnNfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfTUlYRVIsIDE0LCAyLCB1ZGExMzgwX3NlbF9ucyk7CQkvKiBTRUxfTlMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9taXhfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfTUlYRVIsIDEyLCA0LCB1ZGExMzgwX21peF9jb250cm9sKTsJLyogTUlYLCBNSVhfUE9TICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfc2RldF9lbnVtID0KKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9NSVhFUiwgNCwgNCwgdWRhMTM4MF9zZGV0X3NldHRpbmcpOwkvKiBTRF9WQUxVRSAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX29zX2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX01JWEVSLCAwLCAzLCB1ZGExMzgwX29zX3NldHRpbmcpOwkvKiBPUyAqLworCisvKgorICogZnJvbSAtNDggZEIgaW4gMS41IGRCIHN0ZXBzIChtdXRlIGluc3RlYWQgb2YgLTQ5LjUgZEIpCisgKi8KK3N0YXRpYyBERUNMQVJFX1RMVl9EQl9TQ0FMRShhbWl4X3RsdiwgLTQ5NTAsIDE1MCwgMSk7CisKKy8qCisgKiBmcm9tIC03OCBkQiBpbiAxIGRCIHN0ZXBzICgzIGRCIHN0ZXBzLCByZWFsbHkuIExTQiBhcmUgaWdub3JlZCksCisgKiBmcm9tIC02NiBkQiBpbiAwLjUgZEIgc3RlcHMgKDIgZEIgc3RlcHMsIHJlYWxseSkgYW5kCisgKiBmcm9tIC01MiBkQiBpbiAwLjI1IGRCIHN0ZXBzCisgKi8KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbXZvbF90bHZbXSA9IHsKKwlUTFZfREJfUkFOR0VfSEVBRCgzKSwKKwkwLCAxNSwgVExWX0RCX1NDQUxFX0lURU0oLTgyMDAsIDEwMCwgMSksCisJMTYsIDQzLCBUTFZfREJfU0NBTEVfSVRFTSgtNjYwMCwgNTAsIDApLAorCTQ0LCAyNTIsIFRMVl9EQl9TQ0FMRV9JVEVNKC01MjAwLCAyNSwgMCksCit9OworCisvKgorICogZnJvbSAtNzIgZEIgaW4gMS41IGRCIHN0ZXBzICg2IGRCIHN0ZXBzIHJlYWxseSksCisgKiBmcm9tIC02NiBkQiBpbiAwLjc1IGRCIHN0ZXBzICgzIGRCIHN0ZXBzIHJlYWxseSksCisgKiBmcm9tIC02MCBkQiBpbiAwLjUgZEIgc3RlcHMgKDIgZEIgc3RlcHMgcmVhbGx5KSBhbmQKKyAqIGZyb20gLTQ2IGRCIGluIDAuMjUgZEIgc3RlcHMKKyAqLworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCB2Y190bHZbXSA9IHsKKwlUTFZfREJfUkFOR0VfSEVBRCg0KSwKKwkwLCA3LCBUTFZfREJfU0NBTEVfSVRFTSgtNzgwMCwgMTUwLCAxKSwKKwk4LCAxNSwgVExWX0RCX1NDQUxFX0lURU0oLTY2MDAsIDc1LCAwKSwKKwkxNiwgNDMsIFRMVl9EQl9TQ0FMRV9JVEVNKC02MDAwLCA1MCwgMCksCisJNDQsIDIyOCwgVExWX0RCX1NDQUxFX0lURU0oLTQ2MDAsIDI1LCAwKSwKK307CisKKy8qIGZyb20gMCB0byA2IGRCIGluIDIgZEIgc3RlcHMgaWYgU1BGIG1vZGUgIT0gZmxhdCAqLworc3RhdGljIERFQ0xBUkVfVExWX0RCX1NDQUxFKHRyX3RsdiwgMCwgMjAwLCAwKTsKKworLyogZnJvbSAwIHRvIDI0IGRCIGluIDIgZEIgc3RlcHMsIGlmIFNQRiBtb2RlID09IG1heGltdW0sIG90aGVyd2lzZSBjdXRzCisgKiBvZmYgYXQgMTggZEIgbWF4KSAqLworc3RhdGljIERFQ0xBUkVfVExWX0RCX1NDQUxFKGJiX3RsdiwgMCwgMjAwLCAwKTsKKworLyogZnJvbSAtNjMgdG8gMjQgZEIgaW4gMC41IGRCIHN0ZXBzICgtMTI4Li4uNDgpICovCitzdGF0aWMgREVDTEFSRV9UTFZfREJfU0NBTEUoZGVjX3RsdiwgLTY0MDAsIDUwLCAxKTsKKworLyogZnJvbSAwIHRvIDI0IGRCIGluIDMgZEIgc3RlcHMgKi8KK3N0YXRpYyBERUNMQVJFX1RMVl9EQl9TQ0FMRShwZ2FfdGx2LCAwLCAzMDAsIDApOworCisvKiBmcm9tIDAgdG8gMzAgZEIgaW4gMiBkQiBzdGVwcyAqLworc3RhdGljIERFQ0xBUkVfVExWX0RCX1NDQUxFKHZnYV90bHYsIDAsIDIwMCwgMCk7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB1ZGExMzgwX3NuZF9jb250cm9sc1tdID0geworCVNPQ19ET1VCTEVfVExWKCJBbmFsb2cgTWl4ZXIgVm9sdW1lIiwgVURBMTM4MF9BTUlYLCAwLCA4LCA0NCwgMSwgYW1peF90bHYpLAkvKiBBVkNSLCBBVkNMICovCisJU09DX0RPVUJMRV9UTFYoIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiLCBVREExMzgwX01WT0wsIDAsIDgsIDI1MiwgMSwgbXZvbF90bHYpLAkvKiBNVkNMLCBNVkNSICovCisJU09DX1NJTkdMRV9UTFYoIkFEQyBQbGF5YmFjayBWb2x1bWUiLCBVREExMzgwX01JWFZPTCwgOCwgMjI4LCAxLCB2Y190bHYpLAkvKiBWQzIgKi8KKwlTT0NfU0lOR0xFX1RMVigiUENNIFBsYXliYWNrIFZvbHVtZSIsIFVEQTEzODBfTUlYVk9MLCAwLCAyMjgsIDEsIHZjX3RsdiksCS8qIFZDMSAqLworCVNPQ19FTlVNKCJTb3VuZCBQcm9jZXNzaW5nIEZpbHRlciIsIHVkYTEzODBfc3BmX2VudW0pLAkJCQkvKiBNICovCisJU09DX0RPVUJMRV9UTFYoIlRvbmUgQ29udHJvbCAtIFRyZWJsZSIsIFVEQTEzODBfTU9ERSwgNCwgMTIsIDMsIDAsIHRyX3RsdiksIAkvKiBUUkwsIFRSUiAqLworCVNPQ19ET1VCTEVfVExWKCJUb25lIENvbnRyb2wgLSBCYXNzIiwgVURBMTM4MF9NT0RFLCAwLCA4LCAxNSwgMCwgYmJfdGx2KSwJLyogQkJMLCBCQlIgKi8KKy8qKi8JU09DX1NJTkdMRSgiTWFzdGVyIFBsYXliYWNrIFN3aXRjaCIsIFVEQTEzODBfREVFTVAsIDE0LCAxLCAxKSwJCS8qIE1UTSAqLworCVNPQ19TSU5HTEUoIkFEQyBQbGF5YmFjayBTd2l0Y2giLCBVREExMzgwX0RFRU1QLCAxMSwgMSwgMSksCQkvKiBNVDIgZnJvbSBkZWNpbWF0aW9uIGZpbHRlciAqLworCVNPQ19FTlVNKCJBREMgUGxheWJhY2sgRGUtZW1waGFzaXMiLCB1ZGExMzgwX2RlZW1wX2VudW1bMF0pLAkJLyogREUyICovCisJU09DX1NJTkdMRSgiUENNIFBsYXliYWNrIFN3aXRjaCIsIFVEQTEzODBfREVFTVAsIDMsIDEsIDEpLAkJLyogTVQxLCBmcm9tIGRpZ2l0YWwgZGF0YSBpbnB1dCAqLworCVNPQ19FTlVNKCJQQ00gUGxheWJhY2sgRGUtZW1waGFzaXMiLCB1ZGExMzgwX2RlZW1wX2VudW1bMV0pLAkJLyogREUxICovCisJU09DX1NJTkdMRSgiREFDIFBvbGFyaXR5IGludmVydGluZyBTd2l0Y2giLCBVREExMzgwX01JWEVSLCAxNSwgMSwgMCksCS8qIERBX1BPTF9JTlYgKi8KKwlTT0NfRU5VTSgiTm9pc2UgU2hhcGVyIiwgdWRhMTM4MF9zZWxfbnNfZW51bSksCQkJCS8qIFNFTF9OUyAqLworCVNPQ19FTlVNKCJEaWdpdGFsIE1peGVyIFNpZ25hbCBDb250cm9sIiwgdWRhMTM4MF9taXhfZW51bSksCQkvKiBNSVhfUE9TLCBNSVggKi8KKwlTT0NfU0lOR0xFKCJTaWxlbmNlIFN3aXRjaCIsIFVEQTEzODBfTUlYRVIsIDcsIDEsIDApLAkJCS8qIFNJTEVOQ0UsIGZvcmNlIERBQyBvdXRwdXQgdG8gc2lsZW5jZSAqLworCVNPQ19TSU5HTEUoIlNpbGVuY2UgRGV0ZWN0b3IgU3dpdGNoIiwgVURBMTM4MF9NSVhFUiwgNiwgMSwgMCksCQkvKiBTREVUX09OICovCisJU09DX0VOVU0oIlNpbGVuY2UgRGV0ZWN0b3IgU2V0dGluZyIsIHVkYTEzODBfc2RldF9lbnVtKSwJCS8qIFNEX1ZBTFVFICovCisJU09DX0VOVU0oIk92ZXJzYW1wbGluZyBJbnB1dCIsIHVkYTEzODBfb3NfZW51bSksCQkJLyogT1MgKi8KKwlTT0NfRE9VQkxFX1M4X1RMVigiQURDIENhcHR1cmUgVm9sdW1lIiwgVURBMTM4MF9ERUMsIC0xMjgsIDQ4LCBkZWNfdGx2KSwJLyogTUxfREVDLCBNUl9ERUMgKi8KKy8qKi8JU09DX1NJTkdMRSgiQURDIENhcHR1cmUgU3dpdGNoIiwgVURBMTM4MF9QR0EsIDE1LCAxLCAxKSwJCS8qIE1UX0FEQyAqLworCVNPQ19ET1VCTEVfVExWKCJMaW5lIENhcHR1cmUgVm9sdW1lIiwgVURBMTM4MF9QR0EsIDAsIDgsIDgsIDAsIHBnYV90bHYpLCAvKiBQR0FfR0FJTkNUUkxMLCBQR0FfR0FJTkNUUkxSICovCisJU09DX1NJTkdMRSgiQURDIFBvbGFyaXR5IGludmVydGluZyBTd2l0Y2giLCBVREExMzgwX0FEQywgMTIsIDEsIDApLAkvKiBBRENQT0xfSU5WICovCisJU09DX1NJTkdMRV9UTFYoIk1pYyBDYXB0dXJlIFZvbHVtZSIsIFVEQTEzODBfQURDLCA4LCAxNSwgMCwgdmdhX3RsdiksCS8qIFZHQV9DVFJMICovCisJU09DX1NJTkdMRSgiREMgRmlsdGVyIEJ5cGFzcyBTd2l0Y2giLCBVREExMzgwX0FEQywgMSwgMSwgMCksCQkvKiBTS0lQX0RDRklMIChiZWZvcmUgZGVjaW1hdG9yKSAqLworCVNPQ19TSU5HTEUoIkRDIEZpbHRlciBFbmFibGUgU3dpdGNoIiwgVURBMTM4MF9BREMsIDAsIDEsIDApLAkJLyogRU5fRENGSUwgKGF0IG91dHB1dCBvZiBkZWNpbWF0b3IpICovCisJU09DX1NJTkdMRSgiQUdDIFRpbWluZyIsIFVEQTEzODBfQUdDLCA4LCA3LCAwKSwJCQkvKiBUT0RPOiBlbnVtLCBzZWUgdGFibGUgNjIgKi8KKwlTT0NfU0lOR0xFKCJBR0MgVGFyZ2V0IGxldmVsIiwgVURBMTM4MF9BR0MsIDIsIDMsIDEpLAkJCS8qIEFHQ19MRVZFTCAqLworCS8qIC01LjUsIC04LCAtMTEuNSwgLTE0IGRCRlMgKi8KKwlTT0NfU0lOR0xFKCJBR0MgU3dpdGNoIiwgVURBMTM4MF9BR0MsIDAsIDEsIDApLAorfTsKKworLyogYWRkIG5vbiBkYXBtIGNvbnRyb2xzICovCitzdGF0aWMgaW50IHVkYTEzODBfYWRkX2NvbnRyb2xzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlpbnQgZXJyLCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodWRhMTM4MF9zbmRfY29udHJvbHMpOyBpKyspIHsKKwkJZXJyID0gc25kX2N0bF9hZGQoY29kZWMtPmNhcmQsCisJCQlzbmRfc29jX2NuZXcoJnVkYTEzODBfc25kX2NvbnRyb2xzW2ldLCBjb2RlYywgTlVMTCkpOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qIElucHV0IG11eCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHVkYTEzODBfaW5wdXRfbXV4X2NvbnRyb2wgPQorCVNPQ19EQVBNX0VOVU0oIlJvdXRlIiwgdWRhMTM4MF9pbnB1dF9zZWxfZW51bSk7CisKKy8qIE91dHB1dCBtdXggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB1ZGExMzgwX291dHB1dF9tdXhfY29udHJvbCA9CisJU09DX0RBUE1fRU5VTSgiUm91dGUiLCB1ZGExMzgwX291dHB1dF9zZWxfZW51bSk7CisKKy8qIENhcHR1cmUgbXV4ICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgdWRhMTM4MF9jYXB0dXJlX211eF9jb250cm9sID0KKwlTT0NfREFQTV9FTlVNKCJSb3V0ZSIsIHVkYTEzODBfY2FwdHVyZV9zZWxfZW51bSk7CisKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IHVkYTEzODBfZGFwbV93aWRnZXRzW10gPSB7CisJU05EX1NPQ19EQVBNX01VWCgiSW5wdXQgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmdWRhMTM4MF9pbnB1dF9tdXhfY29udHJvbCksCisJU05EX1NPQ19EQVBNX01VWCgiT3V0cHV0IE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJnVkYTEzODBfb3V0cHV0X211eF9jb250cm9sKSwKKwlTTkRfU09DX0RBUE1fTVVYKCJDYXB0dXJlIE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJnVkYTEzODBfY2FwdHVyZV9tdXhfY29udHJvbCksCisJU05EX1NPQ19EQVBNX1BHQSgiTGVmdCBQR0EiLCBVREExMzgwX1BNLCAzLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJSaWdodCBQR0EiLCBVREExMzgwX1BNLCAxLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJNaWMgTE5BIiwgVURBMTM4MF9QTSwgNCwgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX0FEQygiTGVmdCBBREMiLCAiTGVmdCBDYXB0dXJlIiwgVURBMTM4MF9QTSwgMiwgMCksCisJU05EX1NPQ19EQVBNX0FEQygiUmlnaHQgQURDIiwgIlJpZ2h0IENhcHR1cmUiLCBVREExMzgwX1BNLCAwLCAwKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIlZJTk0iKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIlZJTkwiKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIlZJTlIiKSwKKwlTTkRfU09DX0RBUE1fTUlYRVIoIkFuYWxvZyBNaXhlciIsIFVEQTEzODBfUE0sIDYsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIlZPVVRMSFAiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJWT1VUUkhQIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiVk9VVEwiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJWT1VUUiIpLAorCVNORF9TT0NfREFQTV9EQUMoIkRBQyIsICJQbGF5YmFjayIsIFVEQTEzODBfUE0sIDEwLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJIZWFkUGhvbmUgRHJpdmVyIiwgVURBMTM4MF9QTSwgMTMsIDAsIE5VTEwsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CisKKwkvKiBvdXRwdXQgbXV4ICovCisJeyJIZWFkUGhvbmUgRHJpdmVyIiwgTlVMTCwgIk91dHB1dCBNdXgifSwKKwl7IlZPVVRSIiwgTlVMTCwgIk91dHB1dCBNdXgifSwKKwl7IlZPVVRMIiwgTlVMTCwgIk91dHB1dCBNdXgifSwKKworCXsiQW5hbG9nIE1peGVyIiwgTlVMTCwgIlZJTlIifSwKKwl7IkFuYWxvZyBNaXhlciIsIE5VTEwsICJWSU5MIn0sCisJeyJBbmFsb2cgTWl4ZXIiLCBOVUxMLCAiREFDIn0sCisKKwl7Ik91dHB1dCBNdXgiLCAiREFDIiwgIkRBQyJ9LAorCXsiT3V0cHV0IE11eCIsICJBbmFsb2cgTWl4ZXIiLCAiQW5hbG9nIE1peGVyIn0sCisKKwkvKiB7IkRBQyIsICJEaWdpdGFsIE1peGVyIiwgIkkyUyIgfSAqLworCisJLyogaGVhZHBob25lIGRyaXZlciAqLworCXsiVk9VVExIUCIsIE5VTEwsICJIZWFkUGhvbmUgRHJpdmVyIn0sCisJeyJWT1VUUkhQIiwgTlVMTCwgIkhlYWRQaG9uZSBEcml2ZXIifSwKKworCS8qIGlucHV0IG11eCAqLworCXsiTGVmdCBBREMiLCBOVUxMLCAiSW5wdXQgTXV4In0sCisJeyJJbnB1dCBNdXgiLCAiTWljIiwgIk1pYyBMTkEifSwKKwl7IklucHV0IE11eCIsICJNaWMgKyBMaW5lIFIiLCAiTWljIExOQSJ9LAorCXsiSW5wdXQgTXV4IiwgIkxpbmUgTCIsICJMZWZ0IFBHQSJ9LAorCXsiSW5wdXQgTXV4IiwgIkxpbmUiLCAiTGVmdCBQR0EifSwKKworCS8qIHJpZ2h0IGlucHV0ICovCisJeyJSaWdodCBBREMiLCAiTWljICsgTGluZSBSIiwgIlJpZ2h0IFBHQSJ9LAorCXsiUmlnaHQgQURDIiwgIkxpbmUiLCAiUmlnaHQgUEdBIn0sCisKKwkvKiBpbnB1dHMgKi8KKwl7Ik1pYyBMTkEiLCBOVUxMLCAiVklOTSJ9LAorCXsiTGVmdCBQR0EiLCBOVUxMLCAiVklOTCJ9LAorCXsiUmlnaHQgUEdBIiwgTlVMTCwgIlZJTlIifSwKK307CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgdWRhMTM4MF9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHVkYTEzODBfZGFwbV93aWRnZXRzKSk7CisKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOworCisJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1ZGExMzgwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQl1bnNpZ25lZCBpbnQgZm10KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJaW50IGlmYWNlOworCisJLyogc2V0IHVwIERBSSBiYXNlZCB1cG9uIGZtdCAqLworCWlmYWNlID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9JRkFDRSk7CisJaWZhY2UgJj0gfihSMDFfU0ZPUklfTUFTSyB8IFIwMV9TSU0gfCBSMDFfU0ZPUk9fTUFTSyk7CisKKwkvKiBGSVhNRTogaG93IHRvIHNlbGVjdCBJMlMgZm9yIERBVEFPIGFuZCBNU0IgZm9yIERBVEFJIGNvcnJlY3RseT8gKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWlmYWNlIHw9IFIwMV9TRk9SSV9JMlMgfCBSMDFfU0ZPUk9fSTJTOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0xTQjoKKwkJaWZhY2UgfD0gUjAxX1NGT1JJX0xTQjE2IHwgUjAxX1NGT1JPX0kyUzsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9NU0I6CisJCWlmYWNlIHw9IFIwMV9TRk9SSV9NU0IgfCBSMDFfU0ZPUk9fSTJTOworCX0KKworCWlmICgoZm10ICYgU05EX1NPQ19EQUlGTVRfTUFTVEVSX01BU0spID09IFNORF9TT0NfREFJRk1UX0NCTV9DRk0pCisJCWlmYWNlIHw9IFIwMV9TSU07CisKKwl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0lGQUNFLCBpZmFjZSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEZsdXNoIHJlZyBjYWNoZQorICogV2UgY2FuIG9ubHkgd3JpdGUgdGhlIGludGVycG9sYXRvciBhbmQgZGVjaW1hdG9yIHJlZ2lzdGVycworICogd2hlbiB0aGUgREFJIGlzIGJlaW5nIGNsb2NrZWQgYnkgdGhlIENQVSBEQUkuIEl0J3MgdXAgdG8gdGhlCisgKiBtYWNoaW5lIGFuZCBjcHUgREFJIGRyaXZlciB0byBkbyB0aGlzIGJlZm9yZSB3ZSBhcmUgY2FsbGVkLgorICovCitzdGF0aWMgaW50IHVkYTEzODBfcGNtX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgcmVnLCByZWdfc3RhcnQsIHJlZ19lbmQsIGNsazsKKworCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKSB7CisJCXJlZ19zdGFydCA9IFVEQTEzODBfTVZPTDsKKwkJcmVnX2VuZCA9IFVEQTEzODBfTUlYRVI7CisJfSBlbHNlIHsKKwkJcmVnX3N0YXJ0ID0gVURBMTM4MF9ERUM7CisJCXJlZ19lbmQgPSBVREExMzgwX0FHQzsKKwl9CisKKwkvKiBGSVhNRSBkaXNhYmxlIERBQ19DTEsgKi8KKwljbGsgPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX0NMSyk7CisJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIGNsayAmIH5SMDBfREFDX0NMSyk7CisKKwlmb3IgKHJlZyA9IHJlZ19zdGFydDsgcmVnIDw9IHJlZ19lbmQ7IHJlZysrKSB7CisJCXByX2RlYnVnKCJ1ZGExMzgwOiBmbHVzaCByZWcgJXggdmFsICV4OiIsIHJlZywKKwkJCQl1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCByZWcpKTsKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgcmVnLCB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCByZWcpKTsKKwl9CisKKwkvKiBGSVhNRSBlbmFibGUgREFDX0NMSyAqLworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCBjbGsgfCBSMDBfREFDX0NMSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1ZGExMzgwX3BjbV9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwl1MTYgY2xrID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9DTEspOworCisJLyogc2V0IFdTUExMIHBvd2VyIGFuZCBkaXZpZGVyIGlmIHJ1bm5pbmcgZnJvbSB0aGlzIGNsb2NrICovCisJaWYgKGNsayAmIFIwMF9EQUNfQ0xLKSB7CisJCWludCByYXRlID0gcGFyYW1zX3JhdGUocGFyYW1zKTsKKwkJdTE2IHBtID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9QTSk7CisJCWNsayAmPSB+MHgzOyAvKiBjbGVhciBTRUxfTE9PUF9ESVYgKi8KKwkJc3dpdGNoIChyYXRlKSB7CisJCWNhc2UgNjI1MCAuLi4gMTI1MDA6CisJCQljbGsgfD0gMHgwOworCQkJYnJlYWs7CisJCWNhc2UgMTI1MDEgLi4uIDI1MDAwOgorCQkJY2xrIHw9IDB4MTsKKwkJCWJyZWFrOworCQljYXNlIDI1MDAxIC4uLiA1MDAwMDoKKwkJCWNsayB8PSAweDI7CisJCQlicmVhazsKKwkJY2FzZSA1MDAwMSAuLi4gMTAwMDAwOgorCQkJY2xrIHw9IDB4MzsKKwkJCWJyZWFrOworCQl9CisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfUE0sIFIwMl9QT05fUExMIHwgcG0pOworCX0KKworCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQorCQljbGsgfD0gUjAwX0VOX0RBQyB8IFIwMF9FTl9JTlQ7CisJZWxzZQorCQljbGsgfD0gUjAwX0VOX0FEQyB8IFIwMF9FTl9ERUM7CisKKwl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0NMSywgY2xrKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdWRhMTM4MF9wY21fc2h1dGRvd24oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwl1MTYgY2xrID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9DTEspOworCisJLyogc2h1dCBkb3duIFdTUExMIHBvd2VyIGlmIHJ1bm5pbmcgZnJvbSB0aGlzIGNsb2NrICovCisJaWYgKGNsayAmIFIwMF9EQUNfQ0xLKSB7CisJCXUxNiBwbSA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfUE0pOworCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX1BNLCB+UjAyX1BPTl9QTEwgJiBwbSk7CisJfQorCisJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCisJCWNsayAmPSB+KFIwMF9FTl9EQUMgfCBSMDBfRU5fSU5UKTsKKwllbHNlCisJCWNsayAmPSB+KFIwMF9FTl9BREMgfCBSMDBfRU5fREVDKTsKKworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCBjbGspOworfQorCitzdGF0aWMgaW50IHVkYTEzODBfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwgaW50IG11dGUpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwl1MTYgbXV0ZV9yZWcgPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX0RFRU1QKSAmIH5SMTNfTVRNOworCisJLyogRklYTUU6IG11dGUoY29kZWMsMCkgaXMgY2FsbGVkIHdoZW4gdGhlIG1hZ2ljaWFuIGNsb2NrIGlzIGFscmVhZHkKKwkgKiBzZXQgdG8gV1NQTEwsIGJ1dCBmb3Igc29tZSB1bmtub3duIHJlYXNvbiB3cml0aW5nIHRvIGludGVycG9sYXRvcgorCSAqIHJlZ2lzdGVycyB3b3JrcyBvbmx5IHdoZW4gY2xvY2tlZCBieSBTWVNDTEsgKi8KKwl1MTYgY2xrID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9DTEspOworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCB+UjAwX0RBQ19DTEsgJiBjbGspOworCWlmIChtdXRlKQorCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0RFRU1QLCBtdXRlX3JlZyB8IFIxM19NVE0pOworCWVsc2UKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9ERUVNUCwgbXV0ZV9yZWcpOworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCBjbGspOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHVkYTEzODBfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCWVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQoreworCWludCBwbSA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfUE0pOworCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgorCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfUE0sIFIwMl9QT05fQklBUyB8IHBtKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9QTSwgUjAyX1BPTl9CSUFTKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgorCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX1BNLCAweDApOworCQlicmVhazsKKwl9CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKKwlyZXR1cm4gMDsKK30KKworI2RlZmluZSBVREExMzgwX1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwIHwgU05EUlZfUENNX1JBVEVfMTEwMjUgfFwKKwkJICAgICAgIFNORFJWX1BDTV9SQVRFXzE2MDAwIHwgU05EUlZfUENNX1JBVEVfMjIwNTAgfFwKKwkJICAgICAgIFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgU05EUlZfUENNX1JBVEVfNDgwMDApCisKK3N0cnVjdCBzbmRfc29jX2RhaSB1ZGExMzgwX2RhaVtdID0geworeworCS5uYW1lID0gIlVEQTEzODAiLAorCS5wbGF5YmFjayA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBVREExMzgwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFLH0sCisJLmNhcHR1cmUgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJDYXB0dXJlIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBVREExMzgwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFLH0sCisJLm9wcyA9IHsKKwkJLmh3X3BhcmFtcyA9IHVkYTEzODBfcGNtX2h3X3BhcmFtcywKKwkJLnNodXRkb3duID0gdWRhMTM4MF9wY21fc2h1dGRvd24sCisJCS5wcmVwYXJlID0gdWRhMTM4MF9wY21fcHJlcGFyZSwKKwl9LAorCS5kYWlfb3BzID0geworCQkuZGlnaXRhbF9tdXRlID0gdWRhMTM4MF9tdXRlLAorCQkuc2V0X2ZtdCA9IHVkYTEzODBfc2V0X2RhaV9mbXQsCisJfSwKK30sCit7IC8qIHBsYXliYWNrIG9ubHkgLSBkdWFsIGludGVyZmFjZSAqLworCS5uYW1lID0gIlVEQTEzODAiLAorCS5wbGF5YmFjayA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBVREExMzgwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFLAorCX0sCisJLm9wcyA9IHsKKwkJLmh3X3BhcmFtcyA9IHVkYTEzODBfcGNtX2h3X3BhcmFtcywKKwkJLnNodXRkb3duID0gdWRhMTM4MF9wY21fc2h1dGRvd24sCisJCS5wcmVwYXJlID0gdWRhMTM4MF9wY21fcHJlcGFyZSwKKwl9LAorCS5kYWlfb3BzID0geworCQkuZGlnaXRhbF9tdXRlID0gdWRhMTM4MF9tdXRlLAorCQkuc2V0X2ZtdCA9IHVkYTEzODBfc2V0X2RhaV9mbXQsCisJfSwKK30sCit7IC8qIGNhcHR1cmUgb25seSAtIGR1YWwgaW50ZXJmYWNlKi8KKwkubmFtZSA9ICJVREExMzgwIiwKKwkuY2FwdHVyZSA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIkNhcHR1cmUiLAorCQkuY2hhbm5lbHNfbWluID0gMSwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IFVEQTEzODBfUkFURVMsCisJCS5mb3JtYXRzID0gU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUsCisJfSwKKwkub3BzID0geworCQkuaHdfcGFyYW1zID0gdWRhMTM4MF9wY21faHdfcGFyYW1zLAorCQkuc2h1dGRvd24gPSB1ZGExMzgwX3BjbV9zaHV0ZG93biwKKwkJLnByZXBhcmUgPSB1ZGExMzgwX3BjbV9wcmVwYXJlLAorCX0sCisJLmRhaV9vcHMgPSB7CisJCS5zZXRfZm10ID0gdWRhMTM4MF9zZXRfZGFpX2ZtdCwKKwl9LAorfSwKK307CitFWFBPUlRfU1lNQk9MX0dQTCh1ZGExMzgwX2RhaSk7CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwl1ZGExMzgwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1ZGExMzgwX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgaTsKKwl1OCBkYXRhWzJdOworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCisJLyogU3luYyByZWdfY2FjaGUgd2l0aCB0aGUgaGFyZHdhcmUgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh1ZGExMzgwX3JlZyk7IGkrKykgeworCQlkYXRhWzBdID0gKGkgPDwgMSkgfCAoKGNhY2hlW2ldID4+IDgpICYgMHgwMDAxKTsKKwkJZGF0YVsxXSA9IGNhY2hlW2ldICYgMHgwMGZmOworCQljb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CisJfQorCXVkYTEzODBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKwl1ZGExMzgwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGluaXRpYWxpc2UgdGhlIFVEQTEzODAgZHJpdmVyCisgKiByZWdpc3RlciBtaXhlciBhbmQgZHNwIGludGVyZmFjZXMgd2l0aCB0aGUga2VybmVsCisgKi8KK3N0YXRpYyBpbnQgdWRhMTM4MF9pbml0KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2LCBpbnQgZGFjX2NsaykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWludCByZXQgPSAwOworCisJY29kZWMtPm5hbWUgPSAiVURBMTM4MCI7CisJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CisJY29kZWMtPnJlYWQgPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlOworCWNvZGVjLT53cml0ZSA9IHVkYTEzODBfd3JpdGU7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gdWRhMTM4MF9zZXRfYmlhc19sZXZlbDsKKwljb2RlYy0+ZGFpID0gdWRhMTM4MF9kYWk7CisJY29kZWMtPm51bV9kYWkgPSBBUlJBWV9TSVpFKHVkYTEzODBfZGFpKTsKKwljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cCh1ZGExMzgwX3JlZywgc2l6ZW9mKHVkYTEzODBfcmVnKSwKKwkJCQkgICBHRlBfS0VSTkVMKTsKKwlpZiAoY29kZWMtPnJlZ19jYWNoZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKwljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBBUlJBWV9TSVpFKHVkYTEzODBfcmVnKTsKKwljb2RlYy0+cmVnX2NhY2hlX3N0ZXAgPSAxOworCXVkYTEzODBfcmVzZXQoY29kZWMpOworCisJLyogcmVnaXN0ZXIgcGNtcyAqLworCXJldCA9IHNuZF9zb2NfbmV3X3BjbXMoc29jZGV2LCBTTkRSVl9ERUZBVUxUX0lEWDEsIFNORFJWX0RFRkFVTFRfU1RSMSk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJ1ZGExMzgwOiBmYWlsZWQgdG8gY3JlYXRlIHBjbXNcbiIpOworCQlnb3RvIHBjbV9lcnI7CisJfQorCisJLyogcG93ZXIgb24gZGV2aWNlICovCisJdWRhMTM4MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCS8qIHNldCBjbG9jayBpbnB1dCAqLworCXN3aXRjaCAoZGFjX2NsaykgeworCWNhc2UgVURBMTM4MF9EQUNfQ0xLX1NZU0NMSzoKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIDApOworCQlicmVhazsKKwljYXNlIFVEQTEzODBfREFDX0NMS19XU1BMTDoKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIFIwMF9EQUNfQ0xLKTsKKwkJYnJlYWs7CisJfQorCisJLyogdWRhMTM4MCBpbml0ICovCisJdWRhMTM4MF9hZGRfY29udHJvbHMoY29kZWMpOworCXVkYTEzODBfYWRkX3dpZGdldHMoY29kZWMpOworCXJldCA9IHNuZF9zb2NfcmVnaXN0ZXJfY2FyZChzb2NkZXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByX2VycigidWRhMTM4MDogZmFpbGVkIHRvIHJlZ2lzdGVyIGNhcmRcbiIpOworCQlnb3RvIGNhcmRfZXJyOworCX0KKworCXJldHVybiByZXQ7CisKK2NhcmRfZXJyOgorCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKK3BjbV9lcnI6CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSAqdWRhMTM4MF9zb2NkZXY7CisKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisKKyNkZWZpbmUgSTJDX0RSSVZFUklEX1VEQTEzODAgMHhmZWZlIC8qIGxpYW0gLSAgbmVlZCBhIHByb3BlciBpZCAqLworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgbm9ybWFsX2kyY1tdID0geyAwLCBJMkNfQ0xJRU5UX0VORCB9OworCisvKiBNYWdpYyBkZWZpbml0aW9uIG9mIGFsbCBvdGhlciB2YXJpYWJsZXMgYW5kIHRoaW5ncyAqLworSTJDX0NMSUVOVF9JTlNNT0Q7CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB1ZGExMzgwX2kyY19kcml2ZXI7CitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlOworCisvKiBJZiB0aGUgaTJjIGxheWVyIHdlcmVuJ3Qgc28gYnJva2VuLCB3ZSBjb3VsZCBwYXNzIHRoaXMga2luZCBvZiBkYXRhCisgICBhcm91bmQgKi8KKworc3RhdGljIGludCB1ZGExMzgwX2NvZGVjX3Byb2JlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgaW50IGFkZHIsIGludCBraW5kKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gdWRhMTM4MF9zb2NkZXY7CisJc3RydWN0IHVkYTEzODBfc2V0dXBfZGF0YSAqc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjOworCWludCByZXQ7CisKKwlpZiAoYWRkciAhPSBzZXR1cC0+aTJjX2FkZHJlc3MpCisJCXJldHVybiAtRU5PREVWOworCisJY2xpZW50X3RlbXBsYXRlLmFkYXB0ZXIgPSBhZGFwOworCWNsaWVudF90ZW1wbGF0ZS5hZGRyID0gYWRkcjsKKworCWkyYyA9IGttZW1kdXAoJmNsaWVudF90ZW1wbGF0ZSwgc2l6ZW9mKGNsaWVudF90ZW1wbGF0ZSksIEdGUF9LRVJORUwpOworCWlmIChpMmMgPT0gTlVMTCkgeworCQlrZnJlZShjb2RlYyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwlpMmNfc2V0X2NsaWVudGRhdGEoaTJjLCBjb2RlYyk7CisJY29kZWMtPmNvbnRyb2xfZGF0YSA9IGkyYzsKKworCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJ1ZGExMzgwOiBmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlnb3RvIGVycjsKKwl9CisKKwlyZXQgPSB1ZGExMzgwX2luaXQoc29jZGV2LCBzZXR1cC0+ZGFjX2Nsayk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJ1ZGExMzgwOiBmYWlsZWQgdG8gaW5pdGlhbGlzZSBVREExMzgwXG4iKTsKKwkJZ290byBlcnI7CisJfQorCXJldHVybiByZXQ7CisKK2VycjoKKwlrZnJlZShjb2RlYyk7CisJa2ZyZWUoaTJjKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHVkYTEzODBfaTJjX2RldGFjaChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisJa2ZyZWUoY2xpZW50KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1ZGExMzgwX2kyY19hdHRhY2goc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCXJldHVybiBpMmNfcHJvYmUoYWRhcCwgJmFkZHJfZGF0YSwgdWRhMTM4MF9jb2RlY19wcm9iZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB1ZGExMzgwX2kyY19kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAgIlVEQTEzODAgSTJDIENvZGVjIiwKKwkJLm93bmVyID0gVEhJU19NT0RVTEUsCisJfSwKKwkuaWQgPSAgICAgICAgICAgICBJMkNfRFJJVkVSSURfVURBMTM4MCwKKwkuYXR0YWNoX2FkYXB0ZXIgPSB1ZGExMzgwX2kyY19hdHRhY2gsCisJLmRldGFjaF9jbGllbnQgPSAgdWRhMTM4MF9pMmNfZGV0YWNoLAorCS5jb21tYW5kID0gICAgICAgIE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlID0geworCS5uYW1lID0gICAiVURBMTM4MCIsCisJLmRyaXZlciA9ICZ1ZGExMzgwX2kyY19kcml2ZXIsCit9OworI2VuZGlmCisKK3N0YXRpYyBpbnQgdWRhMTM4MF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHVkYTEzODBfc2V0dXBfZGF0YSAqc2V0dXA7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjOworCWludCByZXQgPSAwOworCisJcHJfaW5mbygiVURBMTM4MCBBdWRpbyBDb2RlYyAlcyIsIFVEQTEzODBfVkVSU0lPTik7CisKKwlzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NvZGVjKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGNvZGVjID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJc29jZGV2LT5jb2RlYyA9IGNvZGVjOworCW11dGV4X2luaXQoJmNvZGVjLT5tdXRleCk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3dpZGdldHMpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV9wYXRocyk7CisKKwl1ZGExMzgwX3NvY2RldiA9IHNvY2RldjsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaWYgKHNldHVwLT5pMmNfYWRkcmVzcykgeworCQlub3JtYWxfaTJjWzBdID0gc2V0dXAtPmkyY19hZGRyZXNzOworCQljb2RlYy0+aHdfd3JpdGUgPSAoaHdfd3JpdGVfdClpMmNfbWFzdGVyX3NlbmQ7CisJCXJldCA9IGkyY19hZGRfZHJpdmVyKCZ1ZGExMzgwX2kyY19kcml2ZXIpOworCQlpZiAocmV0ICE9IDApCisJCQlwcmludGsoS0VSTl9FUlIgImNhbid0IGFkZCBpMmMgZHJpdmVyIik7CisJfQorI2Vsc2UKKwkvKiBBZGQgb3RoZXIgaW50ZXJmYWNlcyBoZXJlICovCisjZW5kaWYKKwlyZXR1cm4gcmV0OworfQorCisvKiBwb3dlciBkb3duIGNoaXAgKi8KK3N0YXRpYyBpbnQgdWRhMTM4MF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKKwkJdWRhMTM4MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisKKwlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOworCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCWkyY19kZWxfZHJpdmVyKCZ1ZGExMzgwX2kyY19kcml2ZXIpOworI2VuZGlmCisJa2ZyZWUoY29kZWMpOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3VkYTEzODAgPSB7CisJLnByb2JlID0gCXVkYTEzODBfcHJvYmUsCisJLnJlbW92ZSA9IAl1ZGExMzgwX3JlbW92ZSwKKwkuc3VzcGVuZCA9IAl1ZGExMzgwX3N1c3BlbmQsCisJLnJlc3VtZSA9CXVkYTEzODBfcmVzdW1lLAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKHNvY19jb2RlY19kZXZfdWRhMTM4MCk7CisKK01PRFVMRV9BVVRIT1IoIkdpb3JnaW8gUGFkcmluIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkF1ZGlvIHN1cHBvcnQgZm9yIGNvZGVjIFBoaWxpcHMgVURBMTM4MCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmggYi9zb3VuZC9zb2MvY29kZWNzL3VkYTEzODAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGM2MDNlCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmgKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAqIEF1ZGlvIHN1cHBvcnQgZm9yIFBoaWxpcHMgVURBMTM4MAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA1IEdpb3JnaW8gUGFkcmluIDxnaW9yZ2lvQG1hbmRhcmlubG9naXEub3JnPgorICovCisKKyNpZm5kZWYgX1VEQTEzODBfSAorI2RlZmluZSBfVURBMTM4MF9ICisKKyNkZWZpbmUgVURBMTM4MF9DTEsJMHgwMAorI2RlZmluZSBVREExMzgwX0lGQUNFCTB4MDEKKyNkZWZpbmUgVURBMTM4MF9QTQkweDAyCisjZGVmaW5lIFVEQTEzODBfQU1JWAkweDAzCisjZGVmaW5lIFVEQTEzODBfSFAJMHgwNAorI2RlZmluZSBVREExMzgwX01WT0wJMHgxMAorI2RlZmluZSBVREExMzgwX01JWFZPTAkweDExCisjZGVmaW5lIFVEQTEzODBfTU9ERQkweDEyCisjZGVmaW5lIFVEQTEzODBfREVFTVAJMHgxMworI2RlZmluZSBVREExMzgwX01JWEVSCTB4MTQKKyNkZWZpbmUgVURBMTM4MF9JTlRTVEFUCTB4MTgKKyNkZWZpbmUgVURBMTM4MF9ERUMJMHgyMAorI2RlZmluZSBVREExMzgwX1BHQQkweDIxCisjZGVmaW5lIFVEQTEzODBfQURDCTB4MjIKKyNkZWZpbmUgVURBMTM4MF9BR0MJMHgyMworI2RlZmluZSBVREExMzgwX0RFQ1NUQVQJMHgyOAorI2RlZmluZSBVREExMzgwX1JFU0VUCTB4N2YKKworI2RlZmluZSBVREExMzgwX0NBQ0hFUkVHTlVNIDB4MjQKKworLyogUmVnaXN0ZXIgZmxhZ3MgKi8KKyNkZWZpbmUgUjAwX0VOX0FEQwkweDA4MDAKKyNkZWZpbmUgUjAwX0VOX0RFQwkweDA0MDAKKyNkZWZpbmUgUjAwX0VOX0RBQwkweDAyMDAKKyNkZWZpbmUgUjAwX0VOX0lOVAkweDAxMDAKKyNkZWZpbmUgUjAwX0RBQ19DTEsJMHgwMDEwCisjZGVmaW5lIFIwMV9TRk9SSV9JMlMgICAweDAwMDAKKyNkZWZpbmUgUjAxX1NGT1JJX0xTQjE2IDB4MDEwMAorI2RlZmluZSBSMDFfU0ZPUklfTFNCMTggMHgwMjAwCisjZGVmaW5lIFIwMV9TRk9SSV9MU0IyMCAweDAzMDAKKyNkZWZpbmUgUjAxX1NGT1JJX01TQiAgIDB4MDUwMAorI2RlZmluZSBSMDFfU0ZPUklfTUFTSyAgMHgwNzAwCisjZGVmaW5lIFIwMV9TRk9ST19JMlMgICAweDAwMDAKKyNkZWZpbmUgUjAxX1NGT1JPX0xTQjE2IDB4MDAwMQorI2RlZmluZSBSMDFfU0ZPUk9fTFNCMTggMHgwMDAyCisjZGVmaW5lIFIwMV9TRk9ST19MU0IyMCAweDAwMDMKKyNkZWZpbmUgUjAxX1NGT1JPX0xTQjI0IDB4MDAwNAorI2RlZmluZSBSMDFfU0ZPUk9fTVNCICAgMHgwMDA1CisjZGVmaW5lIFIwMV9TRk9ST19NQVNLICAweDAwMDcKKyNkZWZpbmUgUjAxX1NFTF9TT1VSQ0UgIDB4MDA0MAorI2RlZmluZSBSMDFfU0lNCQkweDAwMTAKKyNkZWZpbmUgUjAyX1BPTl9QTEwJMHg4MDAwCisjZGVmaW5lIFIwMl9QT05fSFAJMHgyMDAwCisjZGVmaW5lIFIwMl9QT05fREFDCTB4MDQwMAorI2RlZmluZSBSMDJfUE9OX0JJQVMJMHgwMTAwCisjZGVmaW5lIFIwMl9FTl9BVkMJMHgwMDgwCisjZGVmaW5lIFIwMl9QT05fQVZDCTB4MDA0MAorI2RlZmluZSBSMDJfUE9OX0xOQQkweDAwMTAKKyNkZWZpbmUgUjAyX1BPTl9QR0FMCTB4MDAwOAorI2RlZmluZSBSMDJfUE9OX0FEQ0wJMHgwMDA0CisjZGVmaW5lIFIwMl9QT05fUEdBUgkweDAwMDIKKyNkZWZpbmUgUjAyX1BPTl9BRENSCTB4MDAwMQorI2RlZmluZSBSMTNfTVRNCQkweDQwMDAKKyNkZWZpbmUgUjE0X1NJTEVOQ0UJMHgwMDgwCisjZGVmaW5lIFIxNF9TREVUX09OCTB4MDA0MAorI2RlZmluZSBSMjFfTVRfQURDCTB4ODAwMAorI2RlZmluZSBSMjJfU0VMX0xOQQkweDAwMDgKKyNkZWZpbmUgUjIyX1NFTF9NSUMJMHgwMDA0CisjZGVmaW5lIFIyMl9TS0lQX0RDRklMCTB4MDAwMgorI2RlZmluZSBSMjNfQUdDX0VOCTB4MDAwMQorCitzdHJ1Y3QgdWRhMTM4MF9zZXR1cF9kYXRhIHsKKwl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKKwlpbnQgICAgICAgICAgICBkYWNfY2xrOworI2RlZmluZSBVREExMzgwX0RBQ19DTEtfU1lTQ0xLIDAKKyNkZWZpbmUgVURBMTM4MF9EQUNfQ0xLX1dTUExMICAxCit9OworCisjZGVmaW5lIFVEQTEzODBfREFJX0RVUExFWAkwIC8qIHBsYXliYWNrIGFuZCBjYXB0dXJlIG9uIHNpbmdsZSBEQUkgKi8KKyNkZWZpbmUgVURBMTM4MF9EQUlfUExBWUJBQ0sJMSAvKiBwbGF5YmFjayBEQUkgKi8KKyNkZWZpbmUgVURBMTM4MF9EQUlfQ0FQVFVSRQkyIC8qIGNhcHR1cmUgREFJICovCisKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgdWRhMTM4MF9kYWlbM107CitleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfdWRhMTM4MDsKKworI2VuZGlmIC8qIF9VREExMzgwX0ggKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NTEwLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtODUxMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MzI1ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODUxMC5jCkBAIC0wLDAgKzEsODE3IEBACisvKgorICogd204NTEwLmMgIC0tICBXTTg1MTAgQUxTQSBTb2MgQXVkaW8gZHJpdmVyCisgKgorICogQ29weXJpZ2h0IDIwMDYgV29sZnNvbiBNaWNyb2VsZWN0cm9uaWNzIFBMQy4KKyAqCisgKiBBdXRob3I6IExpYW0gR2lyZHdvb2QgPGxpYW0uZ2lyZHdvb2RAd29sZnNvbm1pY3JvLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3BtLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKworI2luY2x1ZGUgIndtODUxMC5oIgorCisjZGVmaW5lIEFVRElPX05BTUUgIndtODUxMCIKKyNkZWZpbmUgV004NTEwX1ZFUlNJT04gIjAuNiIKKworc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204NTEwOworCisvKgorICogd204NTEwIHJlZ2lzdGVyIGNhY2hlCisgKiBXZSBjYW4ndCByZWFkIHRoZSBXTTg1MTAgcmVnaXN0ZXIgc3BhY2Ugd2hlbiB3ZSBhcmUKKyAqIHVzaW5nIDIgd2lyZSBmb3IgZGV2aWNlIGNvbnRyb2wsIHNvIHdlIGNhY2hlIHRoZW0gaW5zdGVhZC4KKyAqLworc3RhdGljIGNvbnN0IHUxNiB3bTg1MTBfcmVnW1dNODUxMF9DQUNIRVJFR05VTV0gPSB7CisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDA1MCwgMHgwMDAwLCAweDAxNDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwZmYsCisJMHgwMDAwLCAweDAwMDAsIDB4MDEwMCwgMHgwMGZmLAorCTB4MDAwMCwgMHgwMDAwLCAweDAxMmMsIDB4MDAyYywKKwkweDAwMmMsIDB4MDAyYywgMHgwMDJjLCAweDAwMDAsCisJMHgwMDMyLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMzgsIDB4MDAwYiwgMHgwMDMyLCAweDAwMDAsCisJMHgwMDA4LCAweDAwMGMsIDB4MDA5MywgMHgwMGU5LAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDMsIDB4MDAxMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweDAwMDIsIDB4MDAwMSwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMzksIDB4MDAwMCwKKwkweDAwMDEsCit9OworCisvKgorICogcmVhZCB3bTg1MTAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgd204NTEwX3JlYWRfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1bnNpZ25lZCBpbnQgcmVnKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWlmIChyZWcgPT0gV004NTEwX1JFU0VUKQorCQlyZXR1cm4gMDsKKwlpZiAocmVnID49IFdNODUxMF9DQUNIRVJFR05VTSkKKwkJcmV0dXJuIC0xOworCXJldHVybiBjYWNoZVtyZWddOworfQorCisvKgorICogd3JpdGUgd204NTEwIHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB3bTg1MTBfd3JpdGVfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1MTYgcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisJaWYgKHJlZyA+PSBXTTg1MTBfQ0FDSEVSRUdOVU0pCisJCXJldHVybjsKKwljYWNoZVtyZWddID0gdmFsdWU7Cit9CisKKy8qCisgKiB3cml0ZSB0byB0aGUgV004NTEwIHJlZ2lzdGVyIHNwYWNlCisgKi8KK3N0YXRpYyBpbnQgd204NTEwX3dyaXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgdW5zaWduZWQgaW50IHJlZywKKwl1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTggZGF0YVsyXTsKKworCS8qIGRhdGEgaXMKKwkgKiAgIEQxNS4uRDkgV004NTEwIHJlZ2lzdGVyIG9mZnNldAorCSAqICAgRDguLi5EMCByZWdpc3RlciBkYXRhCisJICovCisJZGF0YVswXSA9IChyZWcgPDwgMSkgfCAoKHZhbHVlID4+IDgpICYgMHgwMDAxKTsKKwlkYXRhWzFdID0gdmFsdWUgJiAweDAwZmY7CisKKwl3bTg1MTBfd3JpdGVfcmVnX2NhY2hlKGNvZGVjLCByZWcsIHZhbHVlKTsKKwlpZiAoY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpID09IDIpCisJCXJldHVybiAwOworCWVsc2UKKwkJcmV0dXJuIC1FSU87Cit9CisKKyNkZWZpbmUgd204NTEwX3Jlc2V0KGMpCXdtODUxMF93cml0ZShjLCBXTTg1MTBfUkVTRVQsIDApCisKK3N0YXRpYyBjb25zdCBjaGFyICp3bTg1MTBfY29tcGFuZGluZ1tdID0geyAiT2ZmIiwgIk5DIiwgInUtbGF3IiwgIkEtbGF3IiB9Oworc3RhdGljIGNvbnN0IGNoYXIgKndtODUxMF9kZWVtcFtdID0geyAiTm9uZSIsICIzMmtIeiIsICI0NC4xa0h6IiwgIjQ4a0h6IiB9Oworc3RhdGljIGNvbnN0IGNoYXIgKndtODUxMF9hbGNbXSA9IHsgIkFMQyIsICJMaW1pdGVyIiB9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHdtODUxMF9lbnVtW10gPSB7CisJU09DX0VOVU1fU0lOR0xFKFdNODUxMF9DT01QLCAxLCA0LCB3bTg1MTBfY29tcGFuZGluZyksIC8qIGFkYyAqLworCVNPQ19FTlVNX1NJTkdMRShXTTg1MTBfQ09NUCwgMywgNCwgd204NTEwX2NvbXBhbmRpbmcpLCAvKiBkYWMgKi8KKwlTT0NfRU5VTV9TSU5HTEUoV004NTEwX0RBQywgIDQsIDQsIHdtODUxMF9kZWVtcCksCisJU09DX0VOVU1fU0lOR0xFKFdNODUxMF9BTEMzLCAgOCwgMiwgd204NTEwX2FsYyksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204NTEwX3NuZF9jb250cm9sc1tdID0geworCitTT0NfU0lOR0xFKCJEaWdpdGFsIExvb3BiYWNrIFN3aXRjaCIsIFdNODUxMF9DT01QLCAwLCAxLCAwKSwKKworU09DX0VOVU0oIkRBQyBDb21wYW5kaW5nIiwgd204NTEwX2VudW1bMV0pLAorU09DX0VOVU0oIkFEQyBDb21wYW5kaW5nIiwgd204NTEwX2VudW1bMF0pLAorCitTT0NfRU5VTSgiUGxheWJhY2sgRGUtZW1waGFzaXMiLCB3bTg1MTBfZW51bVsyXSksCitTT0NfU0lOR0xFKCJEQUMgSW52ZXJzaW9uIFN3aXRjaCIsIFdNODUxMF9EQUMsIDAsIDEsIDApLAorCitTT0NfU0lOR0xFKCJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIiwgV004NTEwX0RBQ1ZPTCwgMCwgMTI3LCAwKSwKKworU09DX1NJTkdMRSgiSGlnaCBQYXNzIEZpbHRlciBTd2l0Y2giLCBXTTg1MTBfQURDLCA4LCAxLCAwKSwKK1NPQ19TSU5HTEUoIkhpZ2ggUGFzcyBDdXQgT2ZmIiwgV004NTEwX0FEQywgNCwgNywgMCksCitTT0NfU0lOR0xFKCJBREMgSW52ZXJzaW9uIFN3aXRjaCIsIFdNODUxMF9DT01QLCAwLCAxLCAwKSwKKworU09DX1NJTkdMRSgiQ2FwdHVyZSBWb2x1bWUiLCBXTTg1MTBfQURDVk9MLCAgMCwgMTI3LCAwKSwKKworU09DX1NJTkdMRSgiREFDIFBsYXliYWNrIExpbWl0ZXIgU3dpdGNoIiwgV004NTEwX0RBQ0xJTTEsICA4LCAxLCAwKSwKK1NPQ19TSU5HTEUoIkRBQyBQbGF5YmFjayBMaW1pdGVyIERlY2F5IiwgV004NTEwX0RBQ0xJTTEsICA0LCAxNSwgMCksCitTT0NfU0lOR0xFKCJEQUMgUGxheWJhY2sgTGltaXRlciBBdHRhY2siLCBXTTg1MTBfREFDTElNMSwgIDAsIDE1LCAwKSwKKworU09DX1NJTkdMRSgiREFDIFBsYXliYWNrIExpbWl0ZXIgVGhyZXNob2xkIiwgV004NTEwX0RBQ0xJTTIsICA0LCA3LCAwKSwKK1NPQ19TSU5HTEUoIkRBQyBQbGF5YmFjayBMaW1pdGVyIEJvb3N0IiwgV004NTEwX0RBQ0xJTTIsICAwLCAxNSwgMCksCisKK1NPQ19TSU5HTEUoIkFMQyBFbmFibGUgU3dpdGNoIiwgV004NTEwX0FMQzEsICA4LCAxLCAwKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIE1heCBHYWluIiwgV004NTEwX0FMQzEsICAzLCA3LCAwKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIE1pbiBHYWluIiwgV004NTEwX0FMQzEsICAwLCA3LCAwKSwKKworU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgWkMgU3dpdGNoIiwgV004NTEwX0FMQzIsICA4LCAxLCAwKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIEhvbGQiLCBXTTg1MTBfQUxDMiwgIDQsIDcsIDApLAorU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgVGFyZ2V0IiwgV004NTEwX0FMQzIsICAwLCAxNSwgMCksCisKK1NPQ19FTlVNKCJBTEMgQ2FwdHVyZSBNb2RlIiwgd204NTEwX2VudW1bM10pLAorU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgRGVjYXkiLCBXTTg1MTBfQUxDMywgIDQsIDE1LCAwKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIEF0dGFjayIsIFdNODUxMF9BTEMzLCAgMCwgMTUsIDApLAorCitTT0NfU0lOR0xFKCJBTEMgQ2FwdHVyZSBOb2lzZSBHYXRlIFN3aXRjaCIsIFdNODUxMF9OR0FURSwgIDMsIDEsIDApLAorU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgTm9pc2UgR2F0ZSBUaHJlc2hvbGQiLCBXTTg1MTBfTkdBVEUsICAwLCA3LCAwKSwKKworU09DX1NJTkdMRSgiQ2FwdHVyZSBQR0EgWkMgU3dpdGNoIiwgV004NTEwX0lOUFBHQSwgIDcsIDEsIDApLAorU09DX1NJTkdMRSgiQ2FwdHVyZSBQR0EgVm9sdW1lIiwgV004NTEwX0lOUFBHQSwgIDAsIDYzLCAwKSwKKworU09DX1NJTkdMRSgiU3BlYWtlciBQbGF5YmFjayBaQyBTd2l0Y2giLCBXTTg1MTBfU1BLVk9MLCAgNywgMSwgMCksCitTT0NfU0lOR0xFKCJTcGVha2VyIFBsYXliYWNrIFN3aXRjaCIsIFdNODUxMF9TUEtWT0wsICA2LCAxLCAxKSwKK1NPQ19TSU5HTEUoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgV004NTEwX1NQS1ZPTCwgIDAsIDYzLCAwKSwKK1NPQ19TSU5HTEUoIlNwZWFrZXIgQm9vc3QiLCBXTTg1MTBfT1VUUFVULCAyLCAxLCAwKSwKKworU09DX1NJTkdMRSgiQ2FwdHVyZSBCb29zdCgrMjBkQikiLCBXTTg1MTBfQURDQk9PU1QsICA4LCAxLCAwKSwKK1NPQ19TSU5HTEUoIk1vbm8gUGxheWJhY2sgU3dpdGNoIiwgV004NTEwX01PTk9NSVgsIDYsIDEsIDEpLAorfTsKKworLyogYWRkIG5vbiBkYXBtIGNvbnRyb2xzICovCitzdGF0aWMgaW50IHdtODUxMF9hZGRfY29udHJvbHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCWludCBlcnIsIGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg1MTBfc25kX2NvbnRyb2xzKTsgaSsrKSB7CisJCWVyciA9IHNuZF9jdGxfYWRkKGNvZGVjLT5jYXJkLAorCQkJCXNuZF9zb2NfY25ldygmd204NTEwX3NuZF9jb250cm9sc1tpXSwgY29kZWMsCisJCQkJCU5VTEwpKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KKworCXJldHVybiAwOworfQorCisvKiBTcGVha2VyIE91dHB1dCBNaXhlciAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODUxMF9zcGVha2VyX21peGVyX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIkxpbmUgQnlwYXNzIFN3aXRjaCIsIFdNODUxMF9TUEtNSVgsIDEsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJBdXggUGxheWJhY2sgU3dpdGNoIiwgV004NTEwX1NQS01JWCwgNSwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlBDTSBQbGF5YmFjayBTd2l0Y2giLCBXTTg1MTBfU1BLTUlYLCAwLCAxLCAwKSwKK307CisKKy8qIE1vbm8gT3V0cHV0IE1peGVyICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204NTEwX21vbm9fbWl4ZXJfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTGluZSBCeXBhc3MgU3dpdGNoIiwgV004NTEwX01PTk9NSVgsIDEsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJBdXggUGxheWJhY2sgU3dpdGNoIiwgV004NTEwX01PTk9NSVgsIDIsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJQQ00gUGxheWJhY2sgU3dpdGNoIiwgV004NTEwX01PTk9NSVgsIDAsIDEsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODUxMF9ib29zdF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJNaWMgUEdBIFN3aXRjaCIsIFdNODUxMF9JTlBQR0EsICA2LCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiQXV4IFZvbHVtZSIsIFdNODUxMF9BRENCT09TVCwgMCwgNywgMCksCitTT0NfREFQTV9TSU5HTEUoIk1pYyBWb2x1bWUiLCBXTTg1MTBfQURDQk9PU1QsIDQsIDcsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODUxMF9taWNwZ2FfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTUlDUCBTd2l0Y2giLCBXTTg1MTBfSU5QVVQsIDAsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJNSUNOIFN3aXRjaCIsIFdNODUxMF9JTlBVVCwgMSwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkFVWCBTd2l0Y2giLCBXTTg1MTBfSU5QVVQsIDIsIDEsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IHdtODUxMF9kYXBtX3dpZGdldHNbXSA9IHsKK1NORF9TT0NfREFQTV9NSVhFUigiU3BlYWtlciBNaXhlciIsIFdNODUxMF9QT1dFUjMsIDIsIDAsCisJJndtODUxMF9zcGVha2VyX21peGVyX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204NTEwX3NwZWFrZXJfbWl4ZXJfY29udHJvbHMpKSwKK1NORF9TT0NfREFQTV9NSVhFUigiTW9ubyBNaXhlciIsIFdNODUxMF9QT1dFUjMsIDMsIDAsCisJJndtODUxMF9tb25vX21peGVyX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204NTEwX21vbm9fbWl4ZXJfY29udHJvbHMpKSwKK1NORF9TT0NfREFQTV9EQUMoIkRBQyIsICJIaUZpIFBsYXliYWNrIiwgV004NTEwX1BPV0VSMywgMCwgMCksCitTTkRfU09DX0RBUE1fQURDKCJBREMiLCAiSGlGaSBDYXB0dXJlIiwgV004NTEwX1BPV0VSMiwgMCwgMCksCitTTkRfU09DX0RBUE1fUEdBKCJBdXggSW5wdXQiLCBXTTg1MTBfUE9XRVIxLCA2LCAwLCBOVUxMLCAwKSwKK1NORF9TT0NfREFQTV9QR0EoIlNwa04gT3V0IiwgV004NTEwX1BPV0VSMywgNSwgMCwgTlVMTCwgMCksCitTTkRfU09DX0RBUE1fUEdBKCJTcGtQIE91dCIsIFdNODUxMF9QT1dFUjMsIDYsIDAsIE5VTEwsIDApLAorU05EX1NPQ19EQVBNX1BHQSgiTW9ubyBPdXQiLCBXTTg1MTBfUE9XRVIzLCA3LCAwLCBOVUxMLCAwKSwKKworU05EX1NPQ19EQVBNX1BHQSgiTWljIFBHQSIsIFdNODUxMF9QT1dFUjIsIDIsIDAsCisJCSAmd204NTEwX21pY3BnYV9jb250cm9sc1swXSwKKwkJIEFSUkFZX1NJWkUod204NTEwX21pY3BnYV9jb250cm9scykpLAorU05EX1NPQ19EQVBNX01JWEVSKCJCb29zdCBNaXhlciIsIFdNODUxMF9QT1dFUjIsIDQsIDAsCisJJndtODUxMF9ib29zdF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODUxMF9ib29zdF9jb250cm9scykpLAorCitTTkRfU09DX0RBUE1fTUlDQklBUygiTWljIEJpYXMiLCBXTTg1MTBfUE9XRVIxLCA0LCAwKSwKKworU05EX1NPQ19EQVBNX0lOUFVUKCJNSUNOIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIk1JQ1AiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiQVVYIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJNT05PT1VUIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJTUEtPVVRQIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJTUEtPVVROIiksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKKwkvKiBNb25vIG91dHB1dCBtaXhlciAqLworCXsiTW9ubyBNaXhlciIsICJQQ00gUGxheWJhY2sgU3dpdGNoIiwgIkRBQyJ9LAorCXsiTW9ubyBNaXhlciIsICJBdXggUGxheWJhY2sgU3dpdGNoIiwgIkF1eCBJbnB1dCJ9LAorCXsiTW9ubyBNaXhlciIsICJMaW5lIEJ5cGFzcyBTd2l0Y2giLCAiQm9vc3QgTWl4ZXIifSwKKworCS8qIFNwZWFrZXIgb3V0cHV0IG1peGVyICovCisJeyJTcGVha2VyIE1peGVyIiwgIlBDTSBQbGF5YmFjayBTd2l0Y2giLCAiREFDIn0sCisJeyJTcGVha2VyIE1peGVyIiwgIkF1eCBQbGF5YmFjayBTd2l0Y2giLCAiQXV4IElucHV0In0sCisJeyJTcGVha2VyIE1peGVyIiwgIkxpbmUgQnlwYXNzIFN3aXRjaCIsICJCb29zdCBNaXhlciJ9LAorCisJLyogT3V0cHV0cyAqLworCXsiTW9ubyBPdXQiLCBOVUxMLCAiTW9ubyBNaXhlciJ9LAorCXsiTU9OT09VVCIsIE5VTEwsICJNb25vIE91dCJ9LAorCXsiU3BrTiBPdXQiLCBOVUxMLCAiU3BlYWtlciBNaXhlciJ9LAorCXsiU3BrUCBPdXQiLCBOVUxMLCAiU3BlYWtlciBNaXhlciJ9LAorCXsiU1BLT1VUTiIsIE5VTEwsICJTcGtOIE91dCJ9LAorCXsiU1BLT1VUUCIsIE5VTEwsICJTcGtQIE91dCJ9LAorCisJLyogTWljcm9waG9uZSBQR0EgKi8KKwl7Ik1pYyBQR0EiLCAiTUlDTiBTd2l0Y2giLCAiTUlDTiJ9LAorCXsiTWljIFBHQSIsICJNSUNQIFN3aXRjaCIsICJNSUNQIn0sCisJeyAiTWljIFBHQSIsICJBVVggU3dpdGNoIiwgIkF1eCBJbnB1dCIgfSwKKworCS8qIEJvb3N0IE1peGVyICovCisJeyJCb29zdCBNaXhlciIsICJNaWMgUEdBIFN3aXRjaCIsICJNaWMgUEdBIn0sCisJeyJCb29zdCBNaXhlciIsICJNaWMgVm9sdW1lIiwgIk1JQ1AifSwKKwl7IkJvb3N0IE1peGVyIiwgIkF1eCBWb2x1bWUiLCAiQXV4IElucHV0In0sCisKKwl7IkFEQyIsIE5VTEwsICJCb29zdCBNaXhlciJ9LAorfTsKKworc3RhdGljIGludCB3bTg1MTBfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODUxMF9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODUxMF9kYXBtX3dpZGdldHMpKTsKKworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CisKKwlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOworCXJldHVybiAwOworfQorCitzdHJ1Y3QgcGxsXyB7CisJdW5zaWduZWQgaW50IHByZV9kaXY6NDsgLyogcHJlc2NhbGUgLSAxICovCisJdW5zaWduZWQgaW50IG46NDsKKwl1bnNpZ25lZCBpbnQgazsKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxsXyBwbGxfZGl2OworCisvKiBUaGUgc2l6ZSBpbiBiaXRzIG9mIHRoZSBwbGwgZGl2aWRlIG11bHRpcGxpZWQgYnkgMTAKKyAqIHRvIGFsbG93IHJvdW5kaW5nIGxhdGVyICovCisjZGVmaW5lIEZJWEVEX1BMTF9TSVpFICgoMSA8PCAyNCkgKiAxMCkKKworc3RhdGljIHZvaWQgcGxsX2ZhY3RvcnModW5zaWduZWQgaW50IHRhcmdldCwgdW5zaWduZWQgaW50IHNvdXJjZSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgS3BhcnQ7CisJdW5zaWduZWQgaW50IEssIE5kaXYsIE5tb2Q7CisKKwlOZGl2ID0gdGFyZ2V0IC8gc291cmNlOworCWlmIChOZGl2IDwgNikgeworCQlzb3VyY2UgPj49IDE7CisJCXBsbF9kaXYucHJlX2RpdiA9IDE7CisJCU5kaXYgPSB0YXJnZXQgLyBzb3VyY2U7CisJfSBlbHNlCisJCXBsbF9kaXYucHJlX2RpdiA9IDA7CisKKwlpZiAoKE5kaXYgPCA2KSB8fCAoTmRpdiA+IDEyKSkKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIldNODUxMCBOIHZhbHVlICVkIG91dHdpdGggcmVjb21tZW5kZWQgcmFuZ2UhZFxuIiwKKwkJCU5kaXYpOworCisJcGxsX2Rpdi5uID0gTmRpdjsKKwlObW9kID0gdGFyZ2V0ICUgc291cmNlOworCUtwYXJ0ID0gRklYRURfUExMX1NJWkUgKiAobG9uZyBsb25nKU5tb2Q7CisKKwlkb19kaXYoS3BhcnQsIHNvdXJjZSk7CisKKwlLID0gS3BhcnQgJiAweEZGRkZGRkZGOworCisJLyogQ2hlY2sgaWYgd2UgbmVlZCB0byByb3VuZCAqLworCWlmICgoSyAlIDEwKSA+PSA1KQorCQlLICs9IDU7CisKKwkvKiBNb3ZlIGRvd24gdG8gcHJvcGVyIHJhbmdlIG5vdyByb3VuZGluZyBpcyBkb25lICovCisJSyAvPSAxMDsKKworCXBsbF9kaXYuayA9IEs7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX3NldF9kYWlfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTE2IHJlZzsKKworCWlmIChmcmVxX2luID09IDAgfHwgZnJlcV9vdXQgPT0gMCkgeworCQkvKiBDbG9jayBDT0RFQyBkaXJlY3RseSBmcm9tIE1DTEsgKi8KKwkJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfQ0xPQ0spOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9DTE9DSywgcmVnICYgMHgwZmYpOworCisJCS8qIFR1cm4gb2ZmIFBMTCAqLworCQlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9QT1dFUjEpOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjEsIHJlZyAmIDB4MWRmKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcGxsX2ZhY3RvcnMoZnJlcV9vdXQqOCwgZnJlcV9pbik7CisKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QTExOLCAocGxsX2Rpdi5wcmVfZGl2IDw8IDQpIHwgcGxsX2Rpdi5uKTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QTExLMSwgcGxsX2Rpdi5rID4+IDE4KTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QTExLMiwgKHBsbF9kaXYuayA+PiA5KSAmIDB4MWZmKTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QTExLMywgcGxsX2Rpdi5rICYgMHgxZmYpOworCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX1BPV0VSMSk7CisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIxLCByZWcgfCAweDAyMCk7CisKKwkvKiBSdW4gQ09ERUMgZnJvbSBQTEwgaW5zdGVhZCBvZiBNQ0xLICovCisJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfQ0xPQ0spOworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0NMT0NLLCByZWcgfCAweDEwMCk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENvbmZpZ3VyZSBXTTg1MTAgY2xvY2sgZGl2aWRlcnMuCisgKi8KK3N0YXRpYyBpbnQgd204NTEwX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQlpbnQgZGl2X2lkLCBpbnQgZGl2KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTE2IHJlZzsKKworCXN3aXRjaCAoZGl2X2lkKSB7CisJY2FzZSBXTTg1MTBfT1BDTEtESVY6CisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0dQSU8pICYgMHgxY2Y7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0dQSU8sIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWNhc2UgV004NTEwX01DTEtESVY6CisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0NMT0NLKSAmIDB4MWY7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0NMT0NLLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODUxMF9BRENDTEs6CisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0FEQykgJiAweDFmNzsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfQURDLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODUxMF9EQUNDTEs6CisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0RBQykgJiAweDFmNzsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfREFDLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODUxMF9CQ0xLRElWOgorCQlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9DTE9DSykgJiAweDFlMzsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfQ0xPQ0ssIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODUxMF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJdW5zaWduZWQgaW50IGZtdCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXUxNiBpZmFjZSA9IDA7CisJdTE2IGNsayA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0NMT0NLKSAmIDB4MWZlOworCisJLyogc2V0IG1hc3Rlci9zbGF2ZSBhdWRpbyBpbnRlcmZhY2UgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX01BU1RFUl9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNOgorCQljbGsgfD0gMHgwMDAxOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCU19DRlM6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIGludGVyZmFjZSBmb3JtYXQgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWlmYWNlIHw9IDB4MDAxMDsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9SSUdIVF9KOgorCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0xFRlRfSjoKKwkJaWZhY2UgfD0gMHgwMDA4OworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9BOgorCQlpZmFjZSB8PSAweDAwMDE4OworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBjbG9jayBpbnZlcnNpb24gKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0lOVl9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9OQl9ORjoKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JQl9JRjoKKwkJaWZhY2UgfD0gMHgwMTgwOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0lCX05GOgorCQlpZmFjZSB8PSAweDAxMDA7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTkJfSUY6CisJCWlmYWNlIHw9IDB4MDA4MDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfSUZBQ0UsIGlmYWNlKTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9DTE9DSywgY2xrKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg1MTBfcGNtX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXUxNiBpZmFjZSA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0lGQUNFKSAmIDB4MTlmOworCXUxNiBhZG4gPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9BREQpICYgMHgxZjE7CisKKwkvKiBiaXQgc2l6ZSAqLworCXN3aXRjaCAocGFyYW1zX2Zvcm1hdChwYXJhbXMpKSB7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MxNl9MRToKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MyMF8zTEU6CisJCWlmYWNlIHw9IDB4MDAyMDsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MyNF9MRToKKwkJaWZhY2UgfD0gMHgwMDQwOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzMyX0xFOgorCQlpZmFjZSB8PSAweDAwNjA7CisJCWJyZWFrOworCX0KKworCS8qIGZpbHRlciBjb2VmZmljaWVudCAqLworCXN3aXRjaCAocGFyYW1zX3JhdGUocGFyYW1zKSkgeworCWNhc2UgU05EUlZfUENNX1JBVEVfODAwMDoKKwkJYWRuIHw9IDB4NSA8PCAxOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9SQVRFXzExMDI1OgorCQlhZG4gfD0gMHg0IDw8IDE7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1JBVEVfMTYwMDA6CisJCWFkbiB8PSAweDMgPDwgMTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fUkFURV8yMjA1MDoKKwkJYWRuIHw9IDB4MiA8PCAxOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9SQVRFXzMyMDAwOgorCQlhZG4gfD0gMHgxIDw8IDE7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1JBVEVfNDQxMDA6CisJY2FzZSBTTkRSVl9QQ01fUkFURV80ODAwMDoKKwkJYnJlYWs7CisJfQorCisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfSUZBQ0UsIGlmYWNlKTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9BREQsIGFkbik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CisJdTE2IG11dGVfcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfREFDKSAmIDB4ZmZiZjsKKworCWlmIChtdXRlKQorCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9EQUMsIG11dGVfcmVnIHwgMHg0MCk7CisJZWxzZQorCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9EQUMsIG11dGVfcmVnKTsKKwlyZXR1cm4gMDsKK30KKworLyogbGlhbSBuZWVkIHRvIG1ha2UgdGhpcyBsb3dlciBwb3dlciB3aXRoIGRhcG0gKi8KK3N0YXRpYyBpbnQgd204NTEwX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKK3sKKworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIxLCAweDFmZik7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BPV0VSMiwgMHgxZmYpOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjMsIDB4MWZmKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgorCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19PRkY6CisJCS8qIGV2ZXJ5dGhpbmcgb2ZmLCBkYWMgbXV0ZSwgaW5hY3RpdmUgKi8KKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIxLCAweDApOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjIsIDB4MCk7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BPV0VSMywgMHgwKTsKKwkJYnJlYWs7CisJfQorCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgV004NTEwX1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwIHwgU05EUlZfUENNX1JBVEVfMTEwMjUgfFwKKwkJU05EUlZfUENNX1JBVEVfMTYwMDAgfCBTTkRSVl9QQ01fUkFURV8yMjA1MCB8XAorCQlTTkRSVl9QQ01fUkFURV80NDEwMCB8IFNORFJWX1BDTV9SQVRFXzQ4MDAwKQorCisjZGVmaW5lIFdNODUxMF9GT1JNQVRTIChTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzIwXzNMRSB8XAorCVNORFJWX1BDTV9GTVRCSVRfUzI0X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMzJfTEUpCisKK3N0cnVjdCBzbmRfc29jX2RhaSB3bTg1MTBfZGFpID0geworCS5uYW1lID0gIldNODUxMCBIaUZpIiwKKwkucGxheWJhY2sgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCisJCS5jaGFubmVsc19taW4gPSAyLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gV004NTEwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFdNODUxMF9GT1JNQVRTLH0sCisJLmNhcHR1cmUgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJDYXB0dXJlIiwKKwkJLmNoYW5uZWxzX21pbiA9IDIsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBXTTg1MTBfUkFURVMsCisJCS5mb3JtYXRzID0gV004NTEwX0ZPUk1BVFMsfSwKKwkub3BzID0geworCQkuaHdfcGFyYW1zID0gd204NTEwX3BjbV9od19wYXJhbXMsCisJfSwKKwkuZGFpX29wcyA9IHsKKwkJLmRpZ2l0YWxfbXV0ZSA9IHdtODUxMF9tdXRlLAorCQkuc2V0X2ZtdCA9IHdtODUxMF9zZXRfZGFpX2ZtdCwKKwkJLnNldF9jbGtkaXYgPSB3bTg1MTBfc2V0X2RhaV9jbGtkaXYsCisJCS5zZXRfcGxsID0gd204NTEwX3NldF9kYWlfcGxsLAorCX0sCit9OworRVhQT1JUX1NZTUJPTF9HUEwod204NTEwX2RhaSk7CisKK3N0YXRpYyBpbnQgd204NTEwX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCXdtODUxMF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgaTsKKwl1OCBkYXRhWzJdOworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCisJLyogU3luYyByZWdfY2FjaGUgd2l0aCB0aGUgaGFyZHdhcmUgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg1MTBfcmVnKTsgaSsrKSB7CisJCWRhdGFbMF0gPSAoaSA8PCAxKSB8ICgoY2FjaGVbaV0gPj4gOCkgJiAweDAwMDEpOworCQlkYXRhWzFdID0gY2FjaGVbaV0gJiAweDAwZmY7CisJCWNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKTsKKwl9CisJd204NTEwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJd204NTEwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGluaXRpYWxpc2UgdGhlIFdNODUxMCBkcml2ZXIKKyAqIHJlZ2lzdGVyIHRoZSBtaXhlciBhbmQgZHNwIGludGVyZmFjZXMgd2l0aCB0aGUga2VybmVsCisgKi8KK3N0YXRpYyBpbnQgd204NTEwX2luaXQoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgcmV0ID0gMDsKKworCWNvZGVjLT5uYW1lID0gIldNODUxMCI7CisJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CisJY29kZWMtPnJlYWQgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGU7CisJY29kZWMtPndyaXRlID0gd204NTEwX3dyaXRlOworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtODUxMF9zZXRfYmlhc19sZXZlbDsKKwljb2RlYy0+ZGFpID0gJndtODUxMF9kYWk7CisJY29kZWMtPm51bV9kYWkgPSAxOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUod204NTEwX3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAod204NTEwX3JlZywgc2l6ZW9mKHdtODUxMF9yZWcpLCBHRlBfS0VSTkVMKTsKKworCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJd204NTEwX3Jlc2V0KGNvZGVjKTsKKworCS8qIHJlZ2lzdGVyIHBjbXMgKi8KKwlyZXQgPSBzbmRfc29jX25ld19wY21zKHNvY2RldiwgU05EUlZfREVGQVVMVF9JRFgxLCBTTkRSVl9ERUZBVUxUX1NUUjEpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAid204NTEwOiBmYWlsZWQgdG8gY3JlYXRlIHBjbXNcbiIpOworCQlnb3RvIHBjbV9lcnI7CisJfQorCisJLyogcG93ZXIgb24gZGV2aWNlICovCisJd204NTEwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJd204NTEwX2FkZF9jb250cm9scyhjb2RlYyk7CisJd204NTEwX2FkZF93aWRnZXRzKGNvZGVjKTsKKwlyZXQgPSBzbmRfc29jX3JlZ2lzdGVyX2NhcmQoc29jZGV2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgIndtODUxMDogZmFpbGVkIHRvIHJlZ2lzdGVyIGNhcmRcbiIpOworCQlnb3RvIGNhcmRfZXJyOworCX0KKwlyZXR1cm4gcmV0OworCitjYXJkX2VycjoKKwlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOworCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CitwY21fZXJyOgorCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKndtODUxMF9zb2NkZXY7CisKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisKKy8qCisgKiBXTTg1MTAgMiB3aXJlIGFkZHJlc3MgaXMgMHgxYQorICovCisjZGVmaW5lIEkyQ19EUklWRVJJRF9XTTg1MTAgMHhmZWZlIC8qIGxpYW0gLSAgbmVlZCBhIHByb3BlciBpZCAqLworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgbm9ybWFsX2kyY1tdID0geyAwLCBJMkNfQ0xJRU5UX0VORCB9OworCisvKiBNYWdpYyBkZWZpbml0aW9uIG9mIGFsbCBvdGhlciB2YXJpYWJsZXMgYW5kIHRoaW5ncyAqLworSTJDX0NMSUVOVF9JTlNNT0Q7CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB3bTg1MTBfaTJjX2RyaXZlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGU7CisKKy8qIElmIHRoZSBpMmMgbGF5ZXIgd2VyZW4ndCBzbyBicm9rZW4sIHdlIGNvdWxkIHBhc3MgdGhpcyBraW5kIG9mIGRhdGEKKyAgIGFyb3VuZCAqLworCitzdGF0aWMgaW50IHdtODUxMF9jb2RlY19wcm9iZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIGludCBhZGRyLCBpbnQga2luZCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHdtODUxMF9zb2NkZXY7CisJc3RydWN0IHdtODUxMF9zZXR1cF9kYXRhICpzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXN0cnVjdCBpMmNfY2xpZW50ICppMmM7CisJaW50IHJldDsKKworCWlmIChhZGRyICE9IHNldHVwLT5pMmNfYWRkcmVzcykKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwljbGllbnRfdGVtcGxhdGUuYWRhcHRlciA9IGFkYXA7CisJY2xpZW50X3RlbXBsYXRlLmFkZHIgPSBhZGRyOworCisJaTJjID0ga21lbWR1cCgmY2xpZW50X3RlbXBsYXRlLCBzaXplb2YoY2xpZW50X3RlbXBsYXRlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGkyYyA9PSBOVUxMKSB7CisJCWtmcmVlKGNvZGVjKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCWkyY19zZXRfY2xpZW50ZGF0YShpMmMsIGNvZGVjKTsKKwljb2RlYy0+Y29udHJvbF9kYXRhID0gaTJjOworCisJcmV0ID0gaTJjX2F0dGFjaF9jbGllbnQoaTJjKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CisJCWdvdG8gZXJyOworCX0KKworCXJldCA9IHdtODUxMF9pbml0KHNvY2Rldik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg1MTBcbiIpOworCQlnb3RvIGVycjsKKwl9CisJcmV0dXJuIHJldDsKKworZXJyOgorCWtmcmVlKGNvZGVjKTsKKwlrZnJlZShpMmMpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX2kyY19kZXRhY2goc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOworCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCWtmcmVlKGNsaWVudCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX2kyY19hdHRhY2goc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCXJldHVybiBpMmNfcHJvYmUoYWRhcCwgJmFkZHJfZGF0YSwgd204NTEwX2NvZGVjX3Byb2JlKTsKK30KKworLyogY29yZ2kgaTJjIGNvZGVjIGNvbnRyb2wgbGF5ZXIgKi8KK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB3bTg1MTBfaTJjX2RyaXZlciA9IHsKKwkuZHJpdmVyID0geworCQkubmFtZSA9ICJXTTg1MTAgSTJDIENvZGVjIiwKKwkJLm93bmVyID0gVEhJU19NT0RVTEUsCisJfSwKKwkuaWQgPSAgICAgICAgICAgICBJMkNfRFJJVkVSSURfV004NTEwLAorCS5hdHRhY2hfYWRhcHRlciA9IHdtODUxMF9pMmNfYXR0YWNoLAorCS5kZXRhY2hfY2xpZW50ID0gIHdtODUxMF9pMmNfZGV0YWNoLAorCS5jb21tYW5kID0gICAgICAgIE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlID0geworCS5uYW1lID0gICAiV004NTEwIiwKKwkuZHJpdmVyID0gJndtODUxMF9pMmNfZHJpdmVyLAorfTsKKyNlbmRpZgorCitzdGF0aWMgaW50IHdtODUxMF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHdtODUxMF9zZXR1cF9kYXRhICpzZXR1cDsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CisJaW50IHJldCA9IDA7CisKKwlwcl9pbmZvKCJXTTg1MTAgQXVkaW8gQ29kZWMgJXMiLCBXTTg1MTBfVkVSU0lPTik7CisKKwlzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NvZGVjKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGNvZGVjID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJc29jZGV2LT5jb2RlYyA9IGNvZGVjOworCW11dGV4X2luaXQoJmNvZGVjLT5tdXRleCk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3dpZGdldHMpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV9wYXRocyk7CisKKwl3bTg1MTBfc29jZGV2ID0gc29jZGV2OworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKwlpZiAoc2V0dXAtPmkyY19hZGRyZXNzKSB7CisJCW5vcm1hbF9pMmNbMF0gPSBzZXR1cC0+aTJjX2FkZHJlc3M7CisJCWNvZGVjLT5od193cml0ZSA9IChod193cml0ZV90KWkyY19tYXN0ZXJfc2VuZDsKKwkJcmV0ID0gaTJjX2FkZF9kcml2ZXIoJndtODUxMF9pMmNfZHJpdmVyKTsKKwkJaWYgKHJldCAhPSAwKQorCQkJcHJpbnRrKEtFUk5fRVJSICJjYW4ndCBhZGQgaTJjIGRyaXZlciIpOworCX0KKyNlbHNlCisJLyogQWRkIG90aGVyIGludGVyZmFjZXMgaGVyZSAqLworI2VuZGlmCisJcmV0dXJuIHJldDsKK30KKworLyogcG93ZXIgZG93biBjaGlwICovCitzdGF0aWMgaW50IHdtODUxMF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKKwkJd204NTEwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKworCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaTJjX2RlbF9kcml2ZXIoJndtODUxMF9pMmNfZHJpdmVyKTsKKyNlbmRpZgorCWtmcmVlKGNvZGVjKTsKKworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg1MTAgPSB7CisJLnByb2JlID0gCXdtODUxMF9wcm9iZSwKKwkucmVtb3ZlID0gCXdtODUxMF9yZW1vdmUsCisJLnN1c3BlbmQgPSAJd204NTEwX3N1c3BlbmQsCisJLnJlc3VtZSA9CXdtODUxMF9yZXN1bWUsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoc29jX2NvZGVjX2Rldl93bTg1MTApOworCitNT0RVTEVfREVTQ1JJUFRJT04oIkFTb0MgV004NTEwIGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiTGlhbSBHaXJkd29vZCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg1MTAuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NTEwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVkMmU0MgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NTEwLmgKQEAgLTAsMCArMSwxMDMgQEAKKy8qCisgKiB3bTg1MTAuaCAgLS0gIFdNODUxMCBTb2MgQXVkaW8gZHJpdmVyCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9XTTg1MTBfSAorI2RlZmluZSBfV004NTEwX0gKKworLyogV004NTEwIHJlZ2lzdGVyIHNwYWNlICovCisKKyNkZWZpbmUgV004NTEwX1JFU0VUCQkweDAKKyNkZWZpbmUgV004NTEwX1BPV0VSMQkJMHgxCisjZGVmaW5lIFdNODUxMF9QT1dFUjIJCTB4MgorI2RlZmluZSBXTTg1MTBfUE9XRVIzCQkweDMKKyNkZWZpbmUgV004NTEwX0lGQUNFCQkweDQKKyNkZWZpbmUgV004NTEwX0NPTVAJCQkweDUKKyNkZWZpbmUgV004NTEwX0NMT0NLCQkweDYKKyNkZWZpbmUgV004NTEwX0FERAkJCTB4NworI2RlZmluZSBXTTg1MTBfR1BJTwkJCTB4OAorI2RlZmluZSBXTTg1MTBfREFDCQkJMHhhCisjZGVmaW5lIFdNODUxMF9EQUNWT0wJCTB4YgorI2RlZmluZSBXTTg1MTBfQURDCQkJMHhlCisjZGVmaW5lIFdNODUxMF9BRENWT0wJCTB4ZgorI2RlZmluZSBXTTg1MTBfRVExCQkJMHgxMgorI2RlZmluZSBXTTg1MTBfRVEyCQkJMHgxMworI2RlZmluZSBXTTg1MTBfRVEzCQkJMHgxNAorI2RlZmluZSBXTTg1MTBfRVE0CQkJMHgxNQorI2RlZmluZSBXTTg1MTBfRVE1CQkJMHgxNgorI2RlZmluZSBXTTg1MTBfREFDTElNMQkJMHgxOAorI2RlZmluZSBXTTg1MTBfREFDTElNMgkJMHgxOQorI2RlZmluZSBXTTg1MTBfTk9UQ0gxCQkweDFiCisjZGVmaW5lIFdNODUxMF9OT1RDSDIJCTB4MWMKKyNkZWZpbmUgV004NTEwX05PVENIMwkJMHgxZAorI2RlZmluZSBXTTg1MTBfTk9UQ0g0CQkweDFlCisjZGVmaW5lIFdNODUxMF9BTEMxCQkJMHgyMAorI2RlZmluZSBXTTg1MTBfQUxDMgkJCTB4MjEKKyNkZWZpbmUgV004NTEwX0FMQzMJCQkweDIyCisjZGVmaW5lIFdNODUxMF9OR0FURQkJMHgyMworI2RlZmluZSBXTTg1MTBfUExMTgkJCTB4MjQKKyNkZWZpbmUgV004NTEwX1BMTEsxCQkweDI1CisjZGVmaW5lIFdNODUxMF9QTExLMgkJMHgyNgorI2RlZmluZSBXTTg1MTBfUExMSzMJCTB4MjcKKyNkZWZpbmUgV004NTEwX0FUVEVOCQkweDI4CisjZGVmaW5lIFdNODUxMF9JTlBVVAkJMHgyYworI2RlZmluZSBXTTg1MTBfSU5QUEdBCQkweDJkCisjZGVmaW5lIFdNODUxMF9BRENCT09TVAkJMHgyZgorI2RlZmluZSBXTTg1MTBfT1VUUFVUCQkweDMxCisjZGVmaW5lIFdNODUxMF9TUEtNSVgJCTB4MzIKKyNkZWZpbmUgV004NTEwX1NQS1ZPTAkJMHgzNgorI2RlZmluZSBXTTg1MTBfTU9OT01JWAkJMHgzOAorCisjZGVmaW5lIFdNODUxMF9DQUNIRVJFR05VTSAJNTcKKworLyogQ2xvY2sgZGl2aWRlciBJZCdzICovCisjZGVmaW5lIFdNODUxMF9PUENMS0RJVgkJMAorI2RlZmluZSBXTTg1MTBfTUNMS0RJVgkJMQorI2RlZmluZSBXTTg1MTBfQURDQ0xLCQkyCisjZGVmaW5lIFdNODUxMF9EQUNDTEsJCTMKKyNkZWZpbmUgV004NTEwX0JDTEtESVYJCTQKKworLyogREFDIGNsb2NrIGRpdmlkZXJzICovCisjZGVmaW5lIFdNODUxMF9EQUNDTEtfRjIJKDEgPDwgMykKKyNkZWZpbmUgV004NTEwX0RBQ0NMS19GNAkoMCA8PCAzKQorCisvKiBBREMgY2xvY2sgZGl2aWRlcnMgKi8KKyNkZWZpbmUgV004NTEwX0FEQ0NMS19GMgkoMSA8PCAzKQorI2RlZmluZSBXTTg1MTBfQURDQ0xLX0Y0CSgwIDw8IDMpCisKKy8qIFBMTCBPdXQgZGl2aWRlcnMgKi8KKyNkZWZpbmUgV004NTEwX09QQ0xLRElWXzEJKDAgPDwgNCkKKyNkZWZpbmUgV004NTEwX09QQ0xLRElWXzIJKDEgPDwgNCkKKyNkZWZpbmUgV004NTEwX09QQ0xLRElWXzMJKDIgPDwgNCkKKyNkZWZpbmUgV004NTEwX09QQ0xLRElWXzQJKDMgPDwgNCkKKworLyogQkNMSyBjbG9jayBkaXZpZGVycyAqLworI2RlZmluZSBXTTg1MTBfQkNMS0RJVl8xCSgwIDw8IDIpCisjZGVmaW5lIFdNODUxMF9CQ0xLRElWXzIJKDEgPDwgMikKKyNkZWZpbmUgV004NTEwX0JDTEtESVZfNAkoMiA8PCAyKQorI2RlZmluZSBXTTg1MTBfQkNMS0RJVl84CSgzIDw8IDIpCisjZGVmaW5lIFdNODUxMF9CQ0xLRElWXzE2CSg0IDw8IDIpCisjZGVmaW5lIFdNODUxMF9CQ0xLRElWXzMyCSg1IDw8IDIpCisKKy8qIE1DTEsgY2xvY2sgZGl2aWRlcnMgKi8KKyNkZWZpbmUgV004NTEwX01DTEtESVZfMQkoMCA8PCA1KQorI2RlZmluZSBXTTg1MTBfTUNMS0RJVl8xXzUJKDEgPDwgNSkKKyNkZWZpbmUgV004NTEwX01DTEtESVZfMgkoMiA8PCA1KQorI2RlZmluZSBXTTg1MTBfTUNMS0RJVl8zCSgzIDw8IDUpCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWXzQJKDQgPDwgNSkKKyNkZWZpbmUgV004NTEwX01DTEtESVZfNgkoNSA8PCA1KQorI2RlZmluZSBXTTg1MTBfTUNMS0RJVl84CSg2IDw8IDUpCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWXzEyCSg3IDw8IDUpCisKK3N0cnVjdCB3bTg1MTBfc2V0dXBfZGF0YSB7CisJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7Cit9OworCitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHdtODUxMF9kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204NTEwOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtODczMS5jCmluZGV4IDBjZjkyNjUuLjM2OWQzOWMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmMKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg3MzEuYwpAQCAtMzEsMjUgKzMxLDYgQEAKICNkZWZpbmUgQVVESU9fTkFNRSAid204NzMxIgogI2RlZmluZSBXTTg3MzFfVkVSU0lPTiAiMC4xMyIKIAotLyoKLSAqIERlYnVnCi0gKi8KLQotI2RlZmluZSBXTTg3MzFfREVCVUcgMAotCi0jaWZkZWYgV004NzMxX0RFQlVHCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0RFQlVHIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNlbHNlCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgZG8ge30gd2hpbGUgKDApCi0jZW5kaWYKLSNkZWZpbmUgZXJyKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fRVJSIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNkZWZpbmUgaW5mbyhmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0lORk8gQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2RlZmluZSB3YXJuKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fV0FSTklORyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0KIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODczMTsKIAogLyogY29kZWMgcHJpdmF0ZSBkYXRhICovCkBAIC0xOTMsNyArMTc0LDcgQEAKIFNORF9TT0NfREFQTV9JTlBVVCgiTExJTkVJTiIpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmludGVyY29uW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBpbnRlcmNvbltdID0gewogCS8qIG91dHB1dCBtaXhlciAqLwogCXsiT3V0cHV0IE1peGVyIiwgIkxpbmUgQnlwYXNzIFN3aXRjaCIsICJMaW5lIElucHV0In0sCiAJeyJPdXRwdXQgTWl4ZXIiLCAiSGlGaSBQbGF5YmFjayBTd2l0Y2giLCAiREFDIn0sCkBAIC0yMTQsMjIgKzE5NSwxNCBAQAogCXsiTGluZSBJbnB1dCIsIE5VTEwsICJMTElORUlOIn0sCiAJeyJMaW5lIElucHV0IiwgTlVMTCwgIlJMSU5FSU4ifSwKIAl7Ik1pYyBCaWFzIiwgTlVMTCwgIk1JQ0lOIn0sCi0KLQkvKiB0ZXJtaW5hdG9yICovCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGludCB3bTg3MzFfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODczMV9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpKTsKIAotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtODczMV9kYXBtX3dpZGdldHNbaV0pOwotCi0JLyogc2V0IHVwIGF1ZGlvIHBhdGggaW50ZXJjb25uZWN0cyAqLwotCWZvciAoaSA9IDA7IGludGVyY29uW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGludGVyY29uW2ldWzBdLAotCQkJaW50ZXJjb25baV1bMV0sIGludGVyY29uW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgaW50ZXJjb24sIEFSUkFZX1NJWkUoaW50ZXJjb24pKTsKIAogCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0dXJuIDA7CkBAIC0zNDUsNyArMzE4LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgd204NzMxX211dGUoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIGludCBtdXRlKQorc3RhdGljIGludCB3bTg3MzFfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gZGFpLT5jb2RlYzsKIAl1MTYgbXV0ZV9yZWcgPSB3bTg3MzFfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODczMV9BUERJR0kpICYgMHhmZmY3OwpAQCAtMzU3LDcgKzMzMCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd204NzMxX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3MzFfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0zNzYsNyArMzQ5LDcgQEAKIH0KIAogCi1zdGF0aWMgaW50IHdtODczMV9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzMxX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC00MzUsMjkgKzQwOCwyOSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtODczMV9kYXBtX2V2ZW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGV2ZW50KQorc3RhdGljIGludCB3bTg3MzFfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJCSBlbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKIHsKIAl1MTYgcmVnID0gd204NzMxX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg3MzFfUFdSKSAmIDB4ZmY3ZjsKIAotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMDogLyogZnVsbCBPbiAqLworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKIAkJLyogdnJlZi9taWQsIG9zYyBvbiwgZGFjIHVubXV0ZSAqLwogCQl3bTg3MzFfd3JpdGUoY29kZWMsIFdNODczMV9QV1IsIHJlZyk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOiAvKiBwYXJ0aWFsIE9uICovCi0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDI6IC8qIHBhcnRpYWwgT24gKi8KKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2hvdDogLyogT2ZmLCB3aXRoIHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKIAkJLyogZXZlcnl0aGluZyBvZmYgZXhjZXB0IHZyZWYvdm1pZCwgKi8KIAkJd204NzMxX3dyaXRlKGNvZGVjLCBXTTg3MzFfUFdSLCByZWcgfCAweDAwNDApOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6IC8qIE9mZiwgd2l0aG91dCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKIAkJLyogZXZlcnl0aGluZyBvZmYsIGRhYyBtdXRlLCBpbmFjdGl2ZSAqLwogCQl3bTg3MzFfd3JpdGUoY29kZWMsIFdNODczMV9BQ1RJVkUsIDB4MCk7CiAJCXdtODczMV93cml0ZShjb2RlYywgV004NzMxX1BXUiwgMHhmZmZmKTsKIAkJYnJlYWs7CiAJfQotCWNvZGVjLT5kYXBtX3N0YXRlID0gZXZlbnQ7CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDcwLDcgKzQ0Myw3IEBACiAjZGVmaW5lIFdNODczMV9GT1JNQVRTIChTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzIwXzNMRSB8XAogCVNORFJWX1BDTV9GTVRCSVRfUzI0X0xFKQogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzMxX2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSB3bTg3MzFfZGFpID0gewogCS5uYW1lID0gIldNODczMSIsCiAJLnBsYXliYWNrID0gewogCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLApAQCAtNTAzLDcgKzQ3Niw3IEBACiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAogCXdtODczMV93cml0ZShjb2RlYywgV004NzMxX0FDVElWRSwgMHgwKTsKLQl3bTg3MzFfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzY29sZCk7CisJd204NzMxX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNTIxLDggKzQ5NCw4IEBACiAJCWRhdGFbMV0gPSBjYWNoZVtpXSAmIDB4MDBmZjsKIAkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOwogCX0KLQl3bTg3MzFfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKLQl3bTg3MzFfZGFwbV9ldmVudChjb2RlYywgY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSk7CisJd204NzMxX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJd204NzMxX3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNTM5LDEwICs1MTIsMTAgQEAKIAljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKIAljb2RlYy0+cmVhZCA9IHdtODczMV9yZWFkX3JlZ19jYWNoZTsKIAljb2RlYy0+d3JpdGUgPSB3bTg3MzFfd3JpdGU7Ci0JY29kZWMtPmRhcG1fZXZlbnQgPSB3bTg3MzFfZGFwbV9ldmVudDsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSB3bTg3MzFfc2V0X2JpYXNfbGV2ZWw7CiAJY29kZWMtPmRhaSA9ICZ3bTg3MzFfZGFpOwogCWNvZGVjLT5udW1fZGFpID0gMTsKLQljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBzaXplb2Yod204NzMxX3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRSh3bTg3MzFfcmVnKTsKIAljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cCh3bTg3MzFfcmVnLCBzaXplb2Yod204NzMxX3JlZyksIEdGUF9LRVJORUwpOwogCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtNTU3LDcgKzUzMCw3IEBACiAJfQogCiAJLyogcG93ZXIgb24gZGV2aWNlICovCi0Jd204NzMxX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd204NzMxX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAKIAkvKiBzZXQgdGhlIHVwZGF0ZSBiaXRzICovCiAJcmVnID0gd204NzMxX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg3MzFfTE9VVDFWKTsKQEAgLTYzMiwxMyArNjA1LDEzIEBACiAKIAlyZXQgPSBpMmNfYXR0YWNoX2NsaWVudChpMmMpOwogCWlmIChyZXQgPCAwKSB7Ci0JCWVycigiZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOwogCQlnb3RvIGVycjsKIAl9CiAKIAlyZXQgPSB3bTg3MzFfaW5pdChzb2NkZXYpOwogCWlmIChyZXQgPCAwKSB7Ci0JCWVycigiZmFpbGVkIHRvIGluaXRpYWxpc2UgV004NzMxXG4iKTsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg3MzFcbiIpOwogCQlnb3RvIGVycjsKIAl9CiAJcmV0dXJuIHJldDsKQEAgLTY4OSw3ICs2NjIsNyBAQAogCXN0cnVjdCB3bTg3MzFfcHJpdiAqd204NzMxOwogCWludCByZXQgPSAwOwogCi0JaW5mbygiV004NzMxIEF1ZGlvIENvZGVjICVzIiwgV004NzMxX1ZFUlNJT04pOworCXByX2luZm8oIldNODczMSBBdWRpbyBDb2RlYyAlcyIsIFdNODczMV9WRVJTSU9OKTsKIAogCXNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOwogCWNvZGVjID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zb2NfY29kZWMpLCBHRlBfS0VSTkVMKTsKQEAgLTczMCw3ICs3MDMsNyBAQAogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKIAlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKLQkJd204NzMxX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCQl3bTg3MzFfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCiAJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKIAlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg3MzEuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmgKaW5kZXggNWJjYWI2YS4uOTlmMmUzYyAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg3MzEuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODczMS5oCkBAIC0zOCw3ICszOCw3IEBACiAJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7CiB9OwogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtODczMV9kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHdtODczMV9kYWk7CiBleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204NzMxOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5jCmluZGV4IDE2Y2Q1ZDQuLmUyM2NiMDkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmMKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTAuYwpAQCAtMzEsMjUgKzMxLDYgQEAKICNkZWZpbmUgQVVESU9fTkFNRSAiV004NzUwIgogI2RlZmluZSBXTTg3NTBfVkVSU0lPTiAiMC4xMiIKIAotLyoKLSAqIERlYnVnCi0gKi8KLQotI2RlZmluZSBXTTg3NTBfREVCVUcgMAotCi0jaWZkZWYgV004NzUwX0RFQlVHCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0RFQlVHIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNlbHNlCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgZG8ge30gd2hpbGUgKDApCi0jZW5kaWYKLSNkZWZpbmUgZXJyKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fRVJSIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNkZWZpbmUgaW5mbyhmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0lORk8gQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2RlZmluZSB3YXJuKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fV0FSTklORyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0KIC8qIGNvZGVjIHByaXZhdGUgZGF0YSAqLwogc3RydWN0IHdtODc1MF9wcml2IHsKIAl1bnNpZ25lZCBpbnQgc3lzY2xrOwpAQCAtMzc4LDcgKzM1OSw3IEBACiAJU05EX1NPQ19EQVBNX0lOUFVUKCJSSU5QVVQzIiksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAkvKiBsZWZ0IG1peGVyICovCiAJeyJMZWZ0IE1peGVyIiwgIlBsYXliYWNrIFN3aXRjaCIsICJMZWZ0IERBQyJ9LAogCXsiTGVmdCBNaXhlciIsICJMZWZ0IEJ5cGFzcyBTd2l0Y2giLCAiTGVmdCBMaW5lIE11eCJ9LApAQCAtNDcwLDIyICs0NTEsMTQgQEAKIAkvKiBBREMgKi8KIAl7IkxlZnQgQURDIiwgTlVMTCwgIkxlZnQgQURDIE11eCJ9LAogCXsiUmlnaHQgQURDIiwgTlVMTCwgIlJpZ2h0IEFEQyBNdXgifSwKLQotCS8qIHRlcm1pbmF0b3IgKi8KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgaW50IHdtODc1MF9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204NzUwX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204NzUwX2RhcG1fd2lkZ2V0cykpOwogCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzUwX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd204NzUwX2RhcG1fd2lkZ2V0c1tpXSk7Ci0KLQkvKiBzZXQgdXAgYXVkaW8gcGF0aCBhdWRpb19tYXBuZWN0cyAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAogCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0dXJuIDA7CkBAIC01NjMsNyArNTM2LDcgQEAKIAlyZXR1cm4gLUVJTlZBTDsKIH0KIAotc3RhdGljIGludCB3bTg3NTBfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1MF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTU4MSw3ICs1NTQsNyBAQAogCXJldHVybiAtRUlOVkFMOwogfQogCi1zdGF0aWMgaW50IHdtODc1MF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC02NzQsNyArNjQ3LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB3bTg3NTBfbXV0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgaW50IG11dGUpCitzdGF0aWMgaW50IHdtODc1MF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOwogCXUxNiBtdXRlX3JlZyA9IHdtODc1MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NzUwX0FEQ0RBQykgJiAweGZmZjc7CkBAIC02ODYsMjkgKzY1OSwyOSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtODc1MF9kYXBtX2V2ZW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGV2ZW50KQorc3RhdGljIGludCB3bTg3NTBfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJCSBlbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKIHsKIAl1MTYgcHdyX3JlZyA9IHdtODc1MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NzUwX1BXUjEpICYgMHhmZTNlOwogCi0Jc3dpdGNoIChldmVudCkgewotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QwOiAvKiBmdWxsIE9uICovCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgogCQkvKiBzZXQgdm1pZCB0byA1MGsgYW5kIHVubXV0ZSBkYWMgKi8KIAkJd204NzUwX3dyaXRlKGNvZGVjLCBXTTg3NTBfUFdSMSwgcHdyX3JlZyB8IDB4MDBjMCk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOiAvKiBwYXJ0aWFsIE9uICovCi0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDI6IC8qIHBhcnRpYWwgT24gKi8KKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgogCQkvKiBzZXQgdm1pZCB0byA1ayBmb3IgcXVpY2sgcG93ZXIgdXAgKi8KIAkJd204NzUwX3dyaXRlKGNvZGVjLCBXTTg3NTBfUFdSMSwgcHdyX3JlZyB8IDB4MDFjMSk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzaG90OiAvKiBPZmYsIHdpdGggcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgogCQkvKiBtdXRlIGRhYyBhbmQgc2V0IHZtaWQgdG8gNTAwaywgZW5hYmxlIFZSRUYgKi8KIAkJd204NzUwX3dyaXRlKGNvZGVjLCBXTTg3NTBfUFdSMSwgcHdyX3JlZyB8IDB4MDE0MSk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzY29sZDogLyogT2ZmLCB3aXRob3V0IHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgogCQl3bTg3NTBfd3JpdGUoY29kZWMsIFdNODc1MF9QV1IxLCAweDAwMDEpOwogCQlicmVhazsKIAl9Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBldmVudDsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOwogCXJldHVybiAwOwogfQogCkBAIC03MTksNyArNjkyLDcgQEAKICNkZWZpbmUgV004NzUwX0ZPUk1BVFMgKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjBfM0xFIHxcCiAJU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUpCiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTg3NTBfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIHdtODc1MF9kYWkgPSB7CiAJLm5hbWUgPSAiV004NzUwIiwKIAkucGxheWJhY2sgPSB7CiAJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCkBAIC03NDgsNyArNzIxLDcgQEAKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPQogCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IHNuZF9zb2NfY29kZWMsIGRlbGF5ZWRfd29yay53b3JrKTsKLQl3bTg3NTBfZGFwbV9ldmVudChjb2RlYywgY29kZWMtPmRhcG1fc3RhdGUpOworCXdtODc1MF9zZXRfYmlhc19sZXZlbChjb2RlYywgY29kZWMtPmJpYXNfbGV2ZWwpOwogfQogCiBzdGF0aWMgaW50IHdtODc1MF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKQEAgLTc1Niw3ICs3MjksNyBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAotCXdtODc1MF9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNjb2xkKTsKKwl3bTg3NTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCXJldHVybiAwOwogfQogCkBAIC03NzcsMTIgKzc1MCwxMiBAQAogCQljb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CiAJfQogCi0Jd204NzUwX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd204NzUwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAKIAkvKiBjaGFyZ2Ugd204NzUwIGNhcHMgKi8KLQlpZiAoY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSA9PSBTTkRSVl9DVExfUE9XRVJfRDApIHsKLQkJd204NzUwX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EMik7Ci0JCWNvZGVjLT5kYXBtX3N0YXRlID0gU05EUlZfQ1RMX1BPV0VSX0QwOworCWlmIChjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsID09IFNORF9TT0NfQklBU19PTikgeworCQl3bTg3NTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19QUkVQQVJFKTsKKwkJY29kZWMtPmJpYXNfbGV2ZWwgPSBTTkRfU09DX0JJQVNfT047CiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmY29kZWMtPmRlbGF5ZWRfd29yaywKIAkJCQkJbXNlY3NfdG9famlmZmllcygxMDAwKSk7CiAJfQpAQCAtODAzLDEwICs3NzYsMTAgQEAKIAljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKIAljb2RlYy0+cmVhZCA9IHdtODc1MF9yZWFkX3JlZ19jYWNoZTsKIAljb2RlYy0+d3JpdGUgPSB3bTg3NTBfd3JpdGU7Ci0JY29kZWMtPmRhcG1fZXZlbnQgPSB3bTg3NTBfZGFwbV9ldmVudDsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSB3bTg3NTBfc2V0X2JpYXNfbGV2ZWw7CiAJY29kZWMtPmRhaSA9ICZ3bTg3NTBfZGFpOwogCWNvZGVjLT5udW1fZGFpID0gMTsKLQljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBzaXplb2Yod204NzUwX3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRSh3bTg3NTBfcmVnKTsKIAljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cCh3bTg3NTBfcmVnLCBzaXplb2Yod204NzUwX3JlZyksIEdGUF9LRVJORUwpOwogCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtODIxLDggKzc5NCw4IEBACiAJfQogCiAJLyogY2hhcmdlIG91dHB1dCBjYXBzICovCi0Jd204NzUwX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EMik7Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBTTkRSVl9DVExfUE9XRVJfRDNob3Q7CisJd204NzUwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfUFJFUEFSRSk7CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBTTkRfU09DX0JJQVNfU1RBTkRCWTsKIAlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmNvZGVjLT5kZWxheWVkX3dvcmssIG1zZWNzX3RvX2ppZmZpZXMoMTAwMCkpOwogCiAJLyogc2V0IHRoZSB1cGRhdGUgYml0cyAqLwpAQCAtOTA0LDEzICs4NzcsMTMgQEAKIAogCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CiAJaWYgKHJldCA8IDApIHsKLQkJZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlwcl9lcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CiAJCWdvdG8gZXJyOwogCX0KIAogCXJldCA9IHdtODc1MF9pbml0KHNvY2Rldik7CiAJaWYgKHJldCA8IDApIHsKLQllcnIoImZhaWxlZCB0byBpbml0aWFsaXNlIFdNODc1MFxuIik7CisJCXByX2VycigiZmFpbGVkIHRvIGluaXRpYWxpc2UgV004NzUwXG4iKTsKIAkJZ290byBlcnI7CiAJfQogCXJldHVybiByZXQ7CkBAIC05NjEsNyArOTM0LDcgQEAKIAlzdHJ1Y3Qgd204NzUwX3ByaXYgKndtODc1MDsKIAlpbnQgcmV0ID0gMDsKIAotCWluZm8oIldNODc1MCBBdWRpbyBDb2RlYyAlcyIsIFdNODc1MF9WRVJTSU9OKTsKKwlwcl9pbmZvKCJXTTg3NTAgQXVkaW8gQ29kZWMgJXMiLCBXTTg3NTBfVkVSU0lPTik7CiAJY29kZWMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jb2RlYyksIEdGUF9LRVJORUwpOwogCWlmIChjb2RlYyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTEwMjEsNyArOTk0LDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJaWYgKGNvZGVjLT5jb250cm9sX2RhdGEpCi0JCXdtODc1MF9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNjb2xkKTsKKwkJd204NzUwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAlydW5fZGVsYXllZF93b3JrKCZjb2RlYy0+ZGVsYXllZF93b3JrKTsKIAlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOwogCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5oIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTAuaAppbmRleCBhOTdhNTRhLi44ZWYzMGU2IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5oCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmgKQEAgLTYxLDcgKzYxLDcgQEAKIAl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKIH07CiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzUwX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgd204NzUwX2RhaTsKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg3NTA7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg3NTMuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmMKaW5kZXggZmI0MTgyNi4uODYwNDgwOSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg3NTMuYworKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1My5jCkBAIC01NSwyNSArNTUsNiBAQAogI2RlZmluZSBBVURJT19OQU1FICJ3bTg3NTMiCiAjZGVmaW5lIFdNODc1M19WRVJTSU9OICIwLjE2IgogCi0vKgotICogRGVidWcKLSAqLwotCi0jZGVmaW5lIFdNODc1M19ERUJVRyAwCi0KLSNpZmRlZiBXTTg3NTNfREVCVUcKLSNkZWZpbmUgZGJnKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fREVCVUcgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2Vsc2UKLSNkZWZpbmUgZGJnKGZvcm1hdCwgYXJnLi4uKSBkbyB7fSB3aGlsZSAoMCkKLSNlbmRpZgotI2RlZmluZSBlcnIoZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9FUlIgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2RlZmluZSBpbmZvKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fSU5GTyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0jZGVmaW5lIHdhcm4oZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9XQVJOSU5HIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLQogc3RhdGljIGludCBjYXBzX2NoYXJnZSA9IDIwMDA7CiBtb2R1bGVfcGFyYW0oY2Fwc19jaGFyZ2UsIGludCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGNhcHNfY2hhcmdlLCAiV004NzUzIGNhcCBjaGFyZ2UgdGltZSAobXNlY3MpIik7CkBAIC0yNjAsMjggKzI0MSw1MCBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKHJlY19taXhfdGx2LCAtMTUwMCwgNjAwKTsKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShyZWNfbWl4X3RsdiwgLTE1MDAsIDMwMCwgMCk7CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUobWljX3ByZWFtcF90bHYsIDEyMDAsIDYwMCwgMCk7CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUoYWRjX3RsdiwgLTk3NTAsIDUwLCAxKTsKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShkYWNfdGx2LCAtMTI3NTAsIDUwLCAxKTsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgb3V0X3RsdltdID0geworCVRMVl9EQl9SQU5HRV9IRUFEKDIpLAorCS8qIDAwMDAwMDAgLSAwMTAxMTExID0gIkFuYWxvZ3VlIG11dGUiICovCisJMCwgNDgsIFRMVl9EQl9TQ0FMRV9JVEVNKC0yNTUwMCwgMCwgMCksCisJNDgsIDEyNywgVExWX0RCX1NDQUxFX0lURU0oLTczMDAsIDEwMCwgMCksCit9Oworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKG1peF90bHYsIC0xNTAwLCAzMDAsIDApOworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKHZvaWNlX21peF90bHYsIC0xMjAwLCAzMDAsIDApOworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKHBnYV90bHYsIC0xNzI1LCA3NSwgMCk7CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg3NTNfc25kX2NvbnRyb2xzW10gPSB7Ci1TT0NfRE9VQkxFX1IoIlBDTSBWb2x1bWUiLCBXTTg3NTNfTERBQywgV004NzUzX1JEQUMsIDAsIDI1NSwgMCksCitTT0NfRE9VQkxFX1JfVExWKCJQQ00gVm9sdW1lIiwgV004NzUzX0xEQUMsIFdNODc1M19SREFDLCAwLCAyNTUsIDAsIGRhY190bHYpLAogCi1TT0NfRE9VQkxFX1IoIkFEQyBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19MQURDLCBXTTg3NTNfUkFEQywgMCwgMjU1LCAwKSwKK1NPQ19ET1VCTEVfUl9UTFYoIkFEQyBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19MQURDLCBXTTg3NTNfUkFEQywgMCwgMjU1LCAwLAorCQkgYWRjX3RsdiksCiAKLVNPQ19ET1VCTEVfUigiSGVhZHBob25lIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUMVYsIFdNODc1M19ST1VUMVYsIDAsIDEyNywgMCksCi1TT0NfRE9VQkxFX1IoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVQyViwgV004NzUzX1JPVVQyViwgMCwgMTI3LCAwKSwKK1NPQ19ET1VCTEVfUl9UTFYoIkhlYWRwaG9uZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVDFWLCBXTTg3NTNfUk9VVDFWLAorCQkgMCwgMTI3LCAwLCBvdXRfdGx2KSwKK1NPQ19ET1VCTEVfUl9UTFYoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVQyViwgV004NzUzX1JPVVQyViwgMCwKKwkJIDEyNywgMCwgb3V0X3RsdiksCiAKLVNPQ19TSU5HTEUoIk1vbm8gUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRWLCAwLCAxMjcsIDApLAorU09DX1NJTkdMRV9UTFYoIk1vbm8gUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRWLCAwLCAxMjcsIDAsIG91dF90bHYpLAogCi1TT0NfRE9VQkxFX1IoIkJ5cGFzcyBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVE0xLCBXTTg3NTNfUk9VVE0xLCA0LCA3LCAxKSwKLVNPQ19ET1VCTEVfUigiU2lkZXRvbmUgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVRNMiwgV004NzUzX1JPVVRNMiwgNCwgNywgMSksCi1TT0NfRE9VQkxFX1IoIlZvaWNlIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUTTIsIFdNODc1M19ST1VUTTIsIDAsIDcsIDEpLAorU09DX0RPVUJMRV9SX1RMVigiQnlwYXNzIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUTTEsIFdNODc1M19ST1VUTTEsIDQsIDcsCisJCSAxLCBtaXhfdGx2KSwKK1NPQ19ET1VCTEVfUl9UTFYoIlNpZGV0b25lIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUTTIsIFdNODc1M19ST1VUTTIsIDQsCisJCSA3LCAxLCBtaXhfdGx2KSwKK1NPQ19ET1VCTEVfUl9UTFYoIlZvaWNlIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUTTIsIFdNODc1M19ST1VUTTIsIDAsIDcsCisJCSAxLCB2b2ljZV9taXhfdGx2KSwKIAotU09DX0RPVUJMRV9SKCJIZWFkcGhvbmUgUGxheWJhY2sgWkMgU3dpdGNoIiwgV004NzUzX0xPVVQxViwgV004NzUzX1JPVVQxViwgNywgMSwgMCksCi1TT0NfRE9VQkxFX1IoIlNwZWFrZXIgUGxheWJhY2sgWkMgU3dpdGNoIiwgV004NzUzX0xPVVQyViwgV004NzUzX1JPVVQyViwgNywgMSwgMCksCitTT0NfRE9VQkxFX1IoIkhlYWRwaG9uZSBQbGF5YmFjayBaQyBTd2l0Y2giLCBXTTg3NTNfTE9VVDFWLCBXTTg3NTNfUk9VVDFWLCA3LAorCSAgICAgMSwgMCksCitTT0NfRE9VQkxFX1IoIlNwZWFrZXIgUGxheWJhY2sgWkMgU3dpdGNoIiwgV004NzUzX0xPVVQyViwgV004NzUzX1JPVVQyViwgNywKKwkgICAgIDEsIDApLAogCi1TT0NfU0lOR0xFKCJNb25vIEJ5cGFzcyBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTU9VVE0xLCA0LCA3LCAxKSwKLVNPQ19TSU5HTEUoIk1vbm8gU2lkZXRvbmUgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRNMiwgNCwgNywgMSksCi1TT0NfU0lOR0xFKCJNb25vIFZvaWNlIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19NT1VUTTIsIDAsIDcsIDEpLAorU09DX1NJTkdMRV9UTFYoIk1vbm8gQnlwYXNzIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19NT1VUTTEsIDQsIDcsIDEsIG1peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIk1vbm8gU2lkZXRvbmUgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRNMiwgNCwgNywgMSwKKwkgICAgICAgbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiTW9ubyBWb2ljZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTU9VVE0yLCAwLCA3LCAxLAorCSAgICAgICB2b2ljZV9taXhfdGx2KSwKIFNPQ19TSU5HTEUoIk1vbm8gUGxheWJhY2sgWkMgU3dpdGNoIiwgV004NzUzX01PVVRWLCA3LCAxLCAwKSwKIAogU09DX0VOVU0oIkJhc3MgQm9vc3QiLCB3bTg3NTNfZW51bVswXSksCkBAIC0yOTEsMTAgKzI5NCwxMyBAQAogU09DX1NJTkdMRSgiVHJlYmxlIFZvbHVtZSIsIFdNODc1M19UUkVCTEUsIDAsIDE1LCAxKSwKIFNPQ19FTlVNKCJUcmVibGUgQ3V0LW9mZiIsIHdtODc1M19lbnVtWzJdKSwKIAotU09DX0RPVUJMRV9UTFYoIlNpZGV0b25lIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX1JFQ01JWDEsIDAsIDQsIDcsIDEsIHJlY19taXhfdGx2KSwKLVNPQ19TSU5HTEVfVExWKCJWb2ljZSBTaWRldG9uZSBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19SRUNNSVgyLCAwLCA3LCAxLCByZWNfbWl4X3RsdiksCitTT0NfRE9VQkxFX1RMVigiU2lkZXRvbmUgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfUkVDTUlYMSwgMCwgNCwgNywgMSwKKwkgICAgICAgcmVjX21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIlZvaWNlIFNpZGV0b25lIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX1JFQ01JWDIsIDAsIDcsIDEsCisJICAgICAgIHJlY19taXhfdGx2KSwKIAotU09DX0RPVUJMRV9SKCJDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19MSU5WT0wsIFdNODc1M19SSU5WT0wsIDAsIDYzLCAwKSwKK1NPQ19ET1VCTEVfUl9UTFYoIkNhcHR1cmUgVm9sdW1lIiwgV004NzUzX0xJTlZPTCwgV004NzUzX1JJTlZPTCwgMCwgNjMsIDAsCisJCSBwZ2FfdGx2KSwKIFNPQ19ET1VCTEVfUigiQ2FwdHVyZSBaQyBTd2l0Y2giLCBXTTg3NTNfTElOVk9MLCBXTTg3NTNfUklOVk9MLCA2LCAxLCAwKSwKIFNPQ19ET1VCTEVfUigiQ2FwdHVyZSBTd2l0Y2giLCBXTTg3NTNfTElOVk9MLCBXTTg3NTNfUklOVk9MLCA3LCAxLCAxKSwKIApAQCAtMzI2LDggKzMzMiw4IEBACiBTT0NfRU5VTSgiUGxheWJhY2sgTW9ubyBNaXgiLCB3bTg3NTNfZW51bVs5XSksCiBTT0NfRU5VTSgiUGxheWJhY2sgUGhhc2UiLCB3bTg3NTNfZW51bVsxMF0pLAogCi1TT0NfU0lOR0xFKCJNaWMyIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX0lOQ1RMMSwgNywgMywgMCksCi1TT0NfU0lOR0xFKCJNaWMxIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX0lOQ1RMMSwgNSwgMywgMCksCitTT0NfU0lOR0xFX1RMVigiTWljMiBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19JTkNUTDEsIDcsIDMsIDAsIG1pY19wcmVhbXBfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJNaWMxIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX0lOQ1RMMSwgNSwgMywgMCwgbWljX3ByZWFtcF90bHYpLAogCiBTT0NfRU5VTV9FWFQoIkRBSSBNb2RlIiwgd204NzUzX2VudW1bMjZdLCB3bTg3NTNfZ2V0X2RhaSwgd204NzUzX3NldF9kYWkpLAogCkBAIC01MjMsNyArNTI5LDcgQEAKIFNORF9TT0NfREFQTV9WTUlEKCJWUkVGIiksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAkvKiBsZWZ0IG1peGVyICovCiAJeyJMZWZ0IE1peGVyIiwgIkxlZnQgUGxheWJhY2sgU3dpdGNoIiwgIkxlZnQgREFDIn0sCiAJeyJMZWZ0IE1peGVyIiwgIlZvaWNlIFBsYXliYWNrIFN3aXRjaCIsICJWb2ljZSBEQUMifSwKQEAgLTY3NCwyMyArNjgwLDE0IEBACiAKIAkvKiBBQ09QICovCiAJeyJBQ09QIiwgTlVMTCwgIkFMQyBNaXhlciJ9LAotCi0JLyogdGVybWluYXRvciAqLwotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBpbnQgd204NzUzX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg3NTNfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg3NTNfZGFwbV93aWRnZXRzKSk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3NTNfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTg3NTNfZGFwbV93aWRnZXRzW2ldKTsKLQotCS8qIHNldCB1cCB0aGUgV004NzUzIGF1ZGlvIG1hcCAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKLQl9CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAogCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0dXJuIDA7CkBAIC03NDMsNyArNzQwLDcgQEAKIAlwbGxfZGl2LT5rID0gSzsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfc2V0X2RhaV9wbGwoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19zZXRfZGFpX3BsbChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJaW50IHBsbF9pZCwgdW5zaWduZWQgaW50IGZyZXFfaW4sIHVuc2lnbmVkIGludCBmcmVxX291dCkKIHsKIAl1MTYgcmVnLCBlbmFibGU7CkBAIC04NjYsNyArODYzLDcgQEAKIC8qCiAgKiBDbG9jayBhZnRlciBQTEwgYW5kIGRpdmlkZXJzCiAgKi8KLXN0YXRpYyBpbnQgd204NzUzX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC04OTMsNyArODkwLDcgQEAKIC8qCiAgKiBTZXQncyBBREMgYW5kIFZvaWNlIERBQyBmb3JtYXQuCiAgKi8KLXN0YXRpYyBpbnQgd204NzUzX3ZkYWNfYWRjX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfdmRhY19hZGNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTk2Myw3ICs5NjAsNyBAQAogLyoKICAqIFNldCdzIFBDTSBkYWkgZm10IGFuZCBCQ0xLLgogICovCi1zdGF0aWMgaW50IHdtODc1M19wY21fc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19wY21fc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTEwMjksNyArMTAyNiw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBkaXZfaWQsIGludCBkaXYpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTEwNTcsNyArMTA1NCw3IEBACiAvKgogICogU2V0J3MgSGlGaSBEQUMgZm9ybWF0LgogICovCi1zdGF0aWMgaW50IHdtODc1M19oZGFjX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfaGRhY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMTA5MCw3ICsxMDg3LDcgQEAKIC8qCiAgKiBTZXQncyBJMlMgREFJIGZvcm1hdC4KICAqLwotc3RhdGljIGludCB3bTg3NTNfaTJzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfaTJzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0xMTk4LDcgKzExOTUsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtODc1M19tb2RlMXZfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19tb2RlMXZfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTEyMTMsNyArMTIxMCw3IEBACiAJcmV0dXJuIHdtODc1M19wY21fc2V0X2RhaV9mbXQoY29kZWNfZGFpLCBmbXQpOwogfQogCi1zdGF0aWMgaW50IHdtODc1M19tb2RlMWhfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19tb2RlMWhfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJaWYgKHdtODc1M19oZGFjX3NldF9kYWlfZm10KGNvZGVjX2RhaSwgZm10KSA8IDApCkBAIC0xMjIxLDcgKzEyMTgsNyBAQAogCXJldHVybiB3bTg3NTNfaTJzX3NldF9kYWlfZm10KGNvZGVjX2RhaSwgZm10KTsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfbW9kZTJfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19tb2RlMl9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMTIzNiw3ICsxMjMzLDcgQEAKIAlyZXR1cm4gd204NzUzX2kyc19zZXRfZGFpX2ZtdChjb2RlY19kYWksIGZtdCk7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX21vZGUzXzRfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19tb2RlM180X3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0xMjUzLDcgKzEyNTAsNyBAQAogCXJldHVybiB3bTg3NTNfaTJzX3NldF9kYWlfZm10KGNvZGVjX2RhaSwgZm10KTsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfbXV0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgaW50IG11dGUpCitzdGF0aWMgaW50IHdtODc1M19tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOwogCXUxNiBtdXRlX3JlZyA9IHdtODc1M19yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NzUzX0RBQykgJiAweGZmZjc7CkBAIC0xMjc0LDI5ICsxMjcxLDI5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX2RhcG1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZXZlbnQpCitzdGF0aWMgaW50IHdtODc1M19zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkJIGVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQogewogCXUxNiBwd3JfcmVnID0gd204NzUzX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg3NTNfUFdSMSkgJiAweGZlM2U7CiAKLQlzd2l0Y2ggKGV2ZW50KSB7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDA6IC8qIGZ1bGwgT24gKi8KKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CiAJCS8qIHNldCB2bWlkIHRvIDUwayBhbmQgdW5tdXRlIGRhYyAqLwogCQl3bTg3NTNfd3JpdGUoY29kZWMsIFdNODc1M19QV1IxLCBwd3JfcmVnIHwgMHgwMGMwKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDE6IC8qIHBhcnRpYWwgT24gKi8KLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMjogLyogcGFydGlhbCBPbiAqLworCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CiAJCS8qIHNldCB2bWlkIHRvIDVrIGZvciBxdWljayBwb3dlciB1cCAqLwogCQl3bTg3NTNfd3JpdGUoY29kZWMsIFdNODc1M19QV1IxLCBwd3JfcmVnIHwgMHgwMWMxKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNob3Q6IC8qIE9mZiwgd2l0aCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CiAJCS8qIG11dGUgZGFjIGFuZCBzZXQgdm1pZCB0byA1MDBrLCBlbmFibGUgVlJFRiAqLwogCQl3bTg3NTNfd3JpdGUoY29kZWMsIFdNODc1M19QV1IxLCBwd3JfcmVnIHwgMHgwMTQxKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNjb2xkOiAvKiBPZmYsIHdpdGhvdXQgcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19PRkY6CiAJCXdtODc1M193cml0ZShjb2RlYywgV004NzUzX1BXUjEsIDB4MDAwMSk7CiAJCWJyZWFrOwogCX0KLQljb2RlYy0+ZGFwbV9zdGF0ZSA9IGV2ZW50OworCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEzMTksNyArMTMxNiw3IEBACiAgKiAzLiBWb2ljZSBkaXNhYmxlZCAtIEhJRkkgb3ZlciBISUZJCiAgKiA0LiBWb2ljZSBkaXNhYmxlZCAtIEhJRkkgb3ZlciBISUZJLCB1c2VzIHZvaWNlIERBSSBMUkMgZm9yIGNhcHR1cmUKICAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTg3NTNfYWxsX2RhaVtdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhaSB3bTg3NTNfYWxsX2RhaVtdID0gewogLyogREFJIEhpRmkgbW9kZSAxICovCiB7CS5uYW1lID0gIldNODc1MyBIaUZpIiwKIAkuaWQgPSAxLApAQCAtMTQ1OSw3ICsxNDU2LDcgQEAKIH0sCiB9OwogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzUzX2RhaVsyXTsKK3N0cnVjdCBzbmRfc29jX2RhaSB3bTg3NTNfZGFpWzJdOwogRVhQT1JUX1NZTUJPTF9HUEwod204NzUzX2RhaSk7CiAKIHN0YXRpYyB2b2lkIHdtODc1M19zZXRfZGFpX21vZGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCB1bnNpZ25lZCBpbnQgbW9kZSkKQEAgLTE1MDAsNyArMTQ5Nyw3IEBACiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0KIAkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBzbmRfc29jX2NvZGVjLCBkZWxheWVkX3dvcmsud29yayk7Ci0Jd204NzUzX2RhcG1fZXZlbnQoY29kZWMsIGNvZGVjLT5kYXBtX3N0YXRlKTsKKwl3bTg3NTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIGNvZGVjLT5iaWFzX2xldmVsKTsKIH0KIAogc3RhdGljIGludCB3bTg3NTNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCkBAIC0xNTEyLDcgKzE1MDksNyBAQAogCWlmICghY29kZWMtPmNhcmQpCiAJCXJldHVybiAwOwogCi0Jd204NzUzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCXdtODc1M19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE1MzcsMTIgKzE1MzQsMTIgQEAKIAkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOwogCX0KIAotCXdtODc1M19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCXdtODc1M19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCiAJLyogY2hhcmdlIHdtODc1MyBjYXBzICovCi0JaWYgKGNvZGVjLT5zdXNwZW5kX2RhcG1fc3RhdGUgPT0gU05EUlZfQ1RMX1BPV0VSX0QwKSB7Ci0JCXdtODc1M19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDIpOwotCQljb2RlYy0+ZGFwbV9zdGF0ZSA9IFNORFJWX0NUTF9QT1dFUl9EMDsKKwlpZiAoY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCA9PSBTTkRfU09DX0JJQVNfT04pIHsKKwkJd204NzUzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfUFJFUEFSRSk7CisJCWNvZGVjLT5iaWFzX2xldmVsID0gU05EX1NPQ19CSUFTX09OOwogCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmNvZGVjLT5kZWxheWVkX3dvcmssCiAJCQltc2Vjc190b19qaWZmaWVzKGNhcHNfY2hhcmdlKSk7CiAJfQpAQCAtMTU2MywxMCArMTU2MCwxMCBAQAogCWNvZGVjLT5vd25lciA9IFRISVNfTU9EVUxFOwogCWNvZGVjLT5yZWFkID0gd204NzUzX3JlYWRfcmVnX2NhY2hlOwogCWNvZGVjLT53cml0ZSA9IHdtODc1M193cml0ZTsKLQljb2RlYy0+ZGFwbV9ldmVudCA9IHdtODc1M19kYXBtX2V2ZW50OworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtODc1M19zZXRfYmlhc19sZXZlbDsKIAljb2RlYy0+ZGFpID0gd204NzUzX2RhaTsKIAljb2RlYy0+bnVtX2RhaSA9IDI7Ci0JY29kZWMtPnJlZ19jYWNoZV9zaXplID0gc2l6ZW9mKHdtODc1M19yZWcpOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUod204NzUzX3JlZyk7CiAJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAod204NzUzX3JlZywgc2l6ZW9mKHdtODc1M19yZWcpLCBHRlBfS0VSTkVMKTsKIAogCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCkBAIC0xNTg0LDggKzE1ODEsOCBAQAogCX0KIAogCS8qIGNoYXJnZSBvdXRwdXQgY2FwcyAqLwotCXdtODc1M19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDIpOwotCWNvZGVjLT5kYXBtX3N0YXRlID0gU05EUlZfQ1RMX1BPV0VSX0QzaG90OworCXdtODc1M19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1BSRVBBUkUpOworCWNvZGVjLT5iaWFzX2xldmVsID0gU05EX1NPQ19CSUFTX1NUQU5EQlk7CiAJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZjb2RlYy0+ZGVsYXllZF93b3JrLAogCQltc2Vjc190b19qaWZmaWVzKGNhcHNfY2hhcmdlKSk7CiAKQEAgLTE2NzMsMTMgKzE2NzAsMTMgQEAKIAogCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CiAJaWYgKHJldCA8IDApIHsKLQkJZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlwcl9lcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CiAJCWdvdG8gZXJyOwogCX0KIAogCXJldCA9IHdtODc1M19pbml0KHNvY2Rldik7CiAJaWYgKHJldCA8IDApIHsKLQkJZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg3NTNcbiIpOworCQlwcl9lcnIoImZhaWxlZCB0byBpbml0aWFsaXNlIFdNODc1M1xuIik7CiAJCWdvdG8gZXJyOwogCX0KIApAQCAtMTczMSw3ICsxNzI4LDcgQEAKIAlzdHJ1Y3Qgd204NzUzX3ByaXYgKndtODc1MzsKIAlpbnQgcmV0ID0gMDsKIAotCWluZm8oIldNODc1MyBBdWRpbyBDb2RlYyAlcyIsIFdNODc1M19WRVJTSU9OKTsKKwlwcl9pbmZvKCJXTTg3NTMgQXVkaW8gQ29kZWMgJXMiLCBXTTg3NTNfVkVSU0lPTik7CiAKIAlzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKIAljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NvZGVjKSwgR0ZQX0tFUk5FTCk7CkBAIC0xNzkyLDcgKzE3ODksNyBAQAogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKIAlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKLQkJd204NzUzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCQl3bTg3NTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCXJ1bl9kZWxheWVkX3dvcmsoJmNvZGVjLT5kZWxheWVkX3dvcmspOwogCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CiAJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmggYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1My5oCmluZGV4IDk1ZTJhMWYuLjQ0ZjVmMWYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmgKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTMuaApAQCAtMTIwLDcgKzEyMCw3IEBACiAjZGVmaW5lIFdNODc1M19EQUlfSElGSQkJMAogI2RlZmluZSBXTTg3NTNfREFJX1ZPSUNFCQkxCiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzUzX2RhaVsyXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgd204NzUzX2RhaVsyXTsKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg3NTM7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg5OTAuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VjY2U1MQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkwLmMKQEAgLTAsMCArMSwxNjI2IEBACisvKgorICogd204OTkwLmMgIC0tICBXTTg5OTAgQUxTQSBTb2MgQXVkaW8gZHJpdmVyCisgKgorICogQ29weXJpZ2h0IDIwMDggV29sZnNvbiBNaWNyb2VsZWN0cm9uaWNzIFBMQy4KKyAqIEF1dGhvcjogTGlhbSBHaXJkd29vZAorICogICAgICAgICBsZ0BvcGVuc291cmNlLndvbGZzb25taWNyby5jb20gb3IgbGludXhAd29sZnNvbm1pY3JvLmNvbQorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKyAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3BtLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKyNpbmNsdWRlIDxzb3VuZC90bHYuaD4KKyNpbmNsdWRlIDxhc20vZGl2NjQuaD4KKworI2luY2x1ZGUgIndtODk5MC5oIgorCisjZGVmaW5lIEFVRElPX05BTUUgIndtODk5MCIKKyNkZWZpbmUgV004OTkwX1ZFUlNJT04gIjAuMiIKKworLyogY29kZWMgcHJpdmF0ZSBkYXRhICovCitzdHJ1Y3Qgd204OTkwX3ByaXYgeworCXVuc2lnbmVkIGludCBzeXNjbGs7CisJdW5zaWduZWQgaW50IHBjbWNsazsKK307CisKKy8qCisgKiB3bTg5OTAgcmVnaXN0ZXIgY2FjaGUuICBOb3RlIHRoYXQgcmVnaXN0ZXIgMCBpcyBub3QgaW5jbHVkZWQgaW4gdGhlCisgKiBjYWNoZS4KKyAqLworc3RhdGljIGNvbnN0IHUxNiB3bTg5OTBfcmVnW10gPSB7CisJMHg4OTkwLCAgICAgLyogUjAgIC0gUmVzZXQgKi8KKwkweDAwMDAsICAgICAvKiBSMSAgLSBQb3dlciBNYW5hZ2VtZW50ICgxKSAqLworCTB4NjAwMCwgICAgIC8qIFIyICAtIFBvd2VyIE1hbmFnZW1lbnQgKDIpICovCisJMHgwMDAwLCAgICAgLyogUjMgIC0gUG93ZXIgTWFuYWdlbWVudCAoMykgKi8KKwkweDQwNTAsICAgICAvKiBSNCAgLSBBdWRpbyBJbnRlcmZhY2UgKDEpICovCisJMHg0MDAwLCAgICAgLyogUjUgIC0gQXVkaW8gSW50ZXJmYWNlICgyKSAqLworCTB4MDFDOCwgICAgIC8qIFI2ICAtIENsb2NraW5nICgxKSAqLworCTB4MDAwMCwgICAgIC8qIFI3ICAtIENsb2NraW5nICgyKSAqLworCTB4MDA0MCwgICAgIC8qIFI4ICAtIEF1ZGlvIEludGVyZmFjZSAoMykgKi8KKwkweDAwNDAsICAgICAvKiBSOSAgLSBBdWRpbyBJbnRlcmZhY2UgKDQpICovCisJMHgwMDA0LCAgICAgLyogUjEwIC0gREFDIENUUkwgKi8KKwkweDAwQzAsICAgICAvKiBSMTEgLSBMZWZ0IERBQyBEaWdpdGFsIFZvbHVtZSAqLworCTB4MDBDMCwgICAgIC8qIFIxMiAtIFJpZ2h0IERBQyBEaWdpdGFsIFZvbHVtZSAqLworCTB4MDAwMCwgICAgIC8qIFIxMyAtIERpZ2l0YWwgU2lkZSBUb25lICovCisJMHgwMTAwLCAgICAgLyogUjE0IC0gQURDIENUUkwgKi8KKwkweDAwQzAsICAgICAvKiBSMTUgLSBMZWZ0IEFEQyBEaWdpdGFsIFZvbHVtZSAqLworCTB4MDBDMCwgICAgIC8qIFIxNiAtIFJpZ2h0IEFEQyBEaWdpdGFsIFZvbHVtZSAqLworCTB4MDAwMCwgICAgIC8qIFIxNyAqLworCTB4MDAwMCwgICAgIC8qIFIxOCAtIEdQSU8gQ1RSTCAxICovCisJMHgxMDAwLCAgICAgLyogUjE5IC0gR1BJTzEgJiBHUElPMiAqLworCTB4MTAxMCwgICAgIC8qIFIyMCAtIEdQSU8zICYgR1BJTzQgKi8KKwkweDEwMTAsICAgICAvKiBSMjEgLSBHUElPNSAmIEdQSU82ICovCisJMHg4MDAwLCAgICAgLyogUjIyIC0gR1BJT0NUUkwgMiAqLworCTB4MDgwMCwgICAgIC8qIFIyMyAtIEdQSU9fUE9MICovCisJMHgwMDhCLCAgICAgLyogUjI0IC0gTGVmdCBMaW5lIElucHV0IDEmMiBWb2x1bWUgKi8KKwkweDAwOEIsICAgICAvKiBSMjUgLSBMZWZ0IExpbmUgSW5wdXQgMyY0IFZvbHVtZSAqLworCTB4MDA4QiwgICAgIC8qIFIyNiAtIFJpZ2h0IExpbmUgSW5wdXQgMSYyIFZvbHVtZSAqLworCTB4MDA4QiwgICAgIC8qIFIyNyAtIFJpZ2h0IExpbmUgSW5wdXQgMyY0IFZvbHVtZSAqLworCTB4MDAwMCwgICAgIC8qIFIyOCAtIExlZnQgT3V0cHV0IFZvbHVtZSAqLworCTB4MDAwMCwgICAgIC8qIFIyOSAtIFJpZ2h0IE91dHB1dCBWb2x1bWUgKi8KKwkweDAwNjYsICAgICAvKiBSMzAgLSBMaW5lIE91dHB1dHMgVm9sdW1lICovCisJMHgwMDIyLCAgICAgLyogUjMxIC0gT3V0My80IFZvbHVtZSAqLworCTB4MDA3OSwgICAgIC8qIFIzMiAtIExlZnQgT1BHQSBWb2x1bWUgKi8KKwkweDAwNzksICAgICAvKiBSMzMgLSBSaWdodCBPUEdBIFZvbHVtZSAqLworCTB4MDAwMywgICAgIC8qIFIzNCAtIFNwZWFrZXIgVm9sdW1lICovCisJMHgwMDAzLCAgICAgLyogUjM1IC0gQ2xhc3NEMSAqLworCTB4MDAwMCwgICAgIC8qIFIzNiAqLworCTB4MDEwMCwgICAgIC8qIFIzNyAtIENsYXNzRDMgKi8KKwkweDAwMDAsICAgICAvKiBSMzggKi8KKwkweDAwMDAsICAgICAvKiBSMzkgLSBJbnB1dCBNaXhlcjEgKi8KKwkweDAwMDAsICAgICAvKiBSNDAgLSBJbnB1dCBNaXhlcjIgKi8KKwkweDAwMDAsICAgICAvKiBSNDEgLSBJbnB1dCBNaXhlcjMgKi8KKwkweDAwMDAsICAgICAvKiBSNDIgLSBJbnB1dCBNaXhlcjQgKi8KKwkweDAwMDAsICAgICAvKiBSNDMgLSBJbnB1dCBNaXhlcjUgKi8KKwkweDAwMDAsICAgICAvKiBSNDQgLSBJbnB1dCBNaXhlcjYgKi8KKwkweDAwMDAsICAgICAvKiBSNDUgLSBPdXRwdXQgTWl4ZXIxICovCisJMHgwMDAwLCAgICAgLyogUjQ2IC0gT3V0cHV0IE1peGVyMiAqLworCTB4MDAwMCwgICAgIC8qIFI0NyAtIE91dHB1dCBNaXhlcjMgKi8KKwkweDAwMDAsICAgICAvKiBSNDggLSBPdXRwdXQgTWl4ZXI0ICovCisJMHgwMDAwLCAgICAgLyogUjQ5IC0gT3V0cHV0IE1peGVyNSAqLworCTB4MDAwMCwgICAgIC8qIFI1MCAtIE91dHB1dCBNaXhlcjYgKi8KKwkweDAxODAsICAgICAvKiBSNTEgLSBPdXQzLzQgTWl4ZXIgKi8KKwkweDAwMDAsICAgICAvKiBSNTIgLSBMaW5lIE1peGVyMSAqLworCTB4MDAwMCwgICAgIC8qIFI1MyAtIExpbmUgTWl4ZXIyICovCisJMHgwMDAwLCAgICAgLyogUjU0IC0gU3BlYWtlciBNaXhlciAqLworCTB4MDAwMCwgICAgIC8qIFI1NSAtIEFkZGl0aW9uYWwgQ29udHJvbCAqLworCTB4MDAwMCwgICAgIC8qIFI1NiAtIEFudGlQT1AxICovCisJMHgwMDAwLCAgICAgLyogUjU3IC0gQW50aVBPUDIgKi8KKwkweDAwMDAsICAgICAvKiBSNTggLSBNSUNCSUFTICovCisJMHgwMDAwLCAgICAgLyogUjU5ICovCisJMHgwMDA4LCAgICAgLyogUjYwIC0gUExMMSAqLworCTB4MDAzMSwgICAgIC8qIFI2MSAtIFBMTDIgKi8KKwkweDAwMjYsICAgICAvKiBSNjIgLSBQTEwzICovCit9OworCisvKgorICogcmVhZCB3bTg5OTAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgd204OTkwX3JlYWRfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1bnNpZ25lZCBpbnQgcmVnKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCUJVR19PTihyZWcgPiAoQVJSQVlfU0laRSh3bTg5OTBfcmVnKSkgLSAxKTsKKwlyZXR1cm4gY2FjaGVbcmVnXTsKK30KKworLyoKKyAqIHdyaXRlIHdtODk5MCByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHZvaWQgd204OTkwX3dyaXRlX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgaW50IHZhbHVlKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCUJVR19PTihyZWcgPiAoQVJSQVlfU0laRSh3bTg5OTBfcmVnKSkgLSAxKTsKKworCS8qIFJlc2V0IHJlZ2lzdGVyIGlzIHVuY2FjaGVkICovCisJaWYgKHJlZyA9PSAwKQorCQlyZXR1cm47CisKKwljYWNoZVtyZWddID0gdmFsdWU7Cit9CisKKy8qCisgKiB3cml0ZSB0byB0aGUgd204OTkwIHJlZ2lzdGVyIHNwYWNlCisgKi8KK3N0YXRpYyBpbnQgd204OTkwX3dyaXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgdW5zaWduZWQgaW50IHJlZywKKwl1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTggZGF0YVszXTsKKworCWRhdGFbMF0gPSByZWcgJiAweEZGOworCWRhdGFbMV0gPSAodmFsdWUgPj4gOCkgJiAweEZGOworCWRhdGFbMl0gPSB2YWx1ZSAmIDB4RkY7CisKKwl3bTg5OTBfd3JpdGVfcmVnX2NhY2hlKGNvZGVjLCByZWcsIHZhbHVlKTsKKworCWlmIChjb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMykgPT0gMikKKwkJcmV0dXJuIDA7CisJZWxzZQorCQlyZXR1cm4gLUVJTzsKK30KKworI2RlZmluZSB3bTg5OTBfcmVzZXQoYykgd204OTkwX3dyaXRlKGMsIFdNODk5MF9SRVNFVCwgMCkKKworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihyZWNfbWl4X3RsdiwgLTE1MDAsIDYwMCk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIoaW5fcGdhX3RsdiwgLTE2NTAsIDMwMDApOworCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKG91dF9taXhfdGx2LCAwLCAtMjEwMCk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIob3V0X3BnYV90bHYsIC03MzAwLCA2MDApOworCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKG91dF9vbWl4X3RsdiwgLTYwMCwgMCk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIob3V0X2RhY190bHYsIC03MTYzLCAwKTsKKworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihpbl9hZGNfdGx2LCAtNzE2MywgMTc2Myk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIob3V0X3NpZGV0b25lX3RsdiwgLTM2MDAsIDApOworCitzdGF0aWMgaW50IHdtODk5eF9vdXRwZ2FfcHV0X3ZvbHN3X3Z1KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwlpbnQgcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOworCWludCByZXQ7CisJdTE2IHZhbDsKKworCXJldCA9IHNuZF9zb2NfcHV0X3ZvbHN3KGtjb250cm9sLCB1Y29udHJvbCk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwkvKiBub3cgaGl0IHRoZSB2b2x1bWUgdXBkYXRlIGJpdHMgKGFsd2F5cyBiaXQgOCkgKi8KKwl2YWwgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIHJlZyk7CisJcmV0dXJuIHdtODk5MF93cml0ZShjb2RlYywgcmVnLCB2YWwgfCAweDAxMDApOworfQorCisjZGVmaW5lIFNPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVih4bmFtZSwgcmVnLCBzaGlmdCwgbWF4LCBpbnZlcnQsXAorCSB0bHZfYXJyYXkpIHtcCisJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0gKHhuYW1lKSwgXAorCS5hY2Nlc3MgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX1JFQUQgfFwKKwkJICBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLFwKKwkudGx2LnAgPSAodGx2X2FycmF5KSwgXAorCS5pbmZvID0gc25kX3NvY19pbmZvX3ZvbHN3LCBcCisJLmdldCA9IHNuZF9zb2NfZ2V0X3ZvbHN3LCAucHV0ID0gd204OTl4X291dHBnYV9wdXRfdm9sc3dfdnUsIFwKKwkucHJpdmF0ZV92YWx1ZSA9IFNPQ19TSU5HTEVfVkFMVUUocmVnLCBzaGlmdCwgbWF4LCBpbnZlcnQpIH0KKworCitzdGF0aWMgY29uc3QgY2hhciAqd204OTkwX2RpZ2l0YWxfc2lkZXRvbmVbXSA9CisJeyJOb25lIiwgIkxlZnQgQURDIiwgIlJpZ2h0IEFEQyIsICJSZXNlcnZlZCJ9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHdtODk5MF9sZWZ0X2RpZ2l0YWxfc2lkZXRvbmVfZW51bSA9CitTT0NfRU5VTV9TSU5HTEUoV004OTkwX0RJR0lUQUxfU0lERV9UT05FLAorCVdNODk5MF9BRENfVE9fREFDTF9TSElGVCwKKwlXTTg5OTBfQURDX1RPX0RBQ0xfTUFTSywKKwl3bTg5OTBfZGlnaXRhbF9zaWRldG9uZSk7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gd204OTkwX3JpZ2h0X2RpZ2l0YWxfc2lkZXRvbmVfZW51bSA9CitTT0NfRU5VTV9TSU5HTEUoV004OTkwX0RJR0lUQUxfU0lERV9UT05FLAorCVdNODk5MF9BRENfVE9fREFDUl9TSElGVCwKKwlXTTg5OTBfQURDX1RPX0RBQ1JfTUFTSywKKwl3bTg5OTBfZGlnaXRhbF9zaWRldG9uZSk7CisKK3N0YXRpYyBjb25zdCBjaGFyICp3bTg5OTBfYWRjbW9kZVtdID0KKwl7IkhpLWZpIG1vZGUiLCAiVm9pY2UgbW9kZSAxIiwgIlZvaWNlIG1vZGUgMiIsICJWb2ljZSBtb2RlIDMifTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB3bTg5OTBfcmlnaHRfYWRjbW9kZV9lbnVtID0KK1NPQ19FTlVNX1NJTkdMRShXTTg5OTBfQURDX0NUUkwsCisJV004OTkwX0FEQ19IUEZfQ1VUX1NISUZULAorCVdNODk5MF9BRENfSFBGX0NVVF9NQVNLLAorCXdtODk5MF9hZGNtb2RlKTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9zbmRfY29udHJvbHNbXSA9IHsKKy8qIElOTUlYTCAqLworU09DX1NJTkdMRSgiTElOMTIgUEdBIEJvb3N0IiwgV004OTkwX0lOUFVUX01JWEVSMywgV004OTkwX0wxMk1OQlNUX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJMSU4zNCBQR0EgQm9vc3QiLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfTDM0TU5CU1RfQklULCAxLCAwKSwKKy8qIElOTUlYUiAqLworU09DX1NJTkdMRSgiUklOMTIgUEdBIEJvb3N0IiwgV004OTkwX0lOUFVUX01JWEVSMywgV004OTkwX1IxMk1OQlNUX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJSSU4zNCBQR0EgQm9vc3QiLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfUjM0TU5CU1RfQklULCAxLCAwKSwKKworLyogTE9NSVggKi8KK1NPQ19TSU5HTEVfVExWKCJMT01JWCBMSU4zIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSMywKKwlXTTg5OTBfTExJM0xPVk9MX1NISUZULCBXTTg5OTBfTExJM0xPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJMT01JWCBSSU4xMiBQR0EgQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVIzLAorCVdNODk5MF9MUjEyTE9WT0xfU0hJRlQsIFdNODk5MF9MUjEyTE9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIkxPTUlYIExJTjEyIFBHQSBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjMsCisJV004OTkwX0xMMTJMT1ZPTF9TSElGVCwgV004OTkwX0xMMTJMT1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiTE9NSVggUklOMyBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjUsCisJV004OTkwX0xSSTNMT1ZPTF9TSElGVCwgV004OTkwX0xSSTNMT1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiTE9NSVggQUlOUk1VWCBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjUsCisJV004OTkwX0xSQkxPVk9MX1NISUZULCBXTTg5OTBfTFJCTE9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIkxPTUlYIEFJTkxNVVggQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI1LAorCVdNODk5MF9MUkJMT1ZPTF9TSElGVCwgV004OTkwX0xSQkxPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKKworLyogUk9NSVggKi8KK1NPQ19TSU5HTEVfVExWKCJST01JWCBSSU4zIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSNCwKKwlXTTg5OTBfUlJJM1JPVk9MX1NISUZULCBXTTg5OTBfUlJJM1JPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJST01JWCBMSU4xMiBQR0EgQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI0LAorCVdNODk5MF9STDEyUk9WT0xfU0hJRlQsIFdNODk5MF9STDEyUk9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIlJPTUlYIFJJTjEyIFBHQSBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjQsCisJV004OTkwX1JSMTJST1ZPTF9TSElGVCwgV004OTkwX1JSMTJST1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiUk9NSVggTElOMyBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjYsCisJV004OTkwX1JMSTNST1ZPTF9TSElGVCwgV004OTkwX1JMSTNST1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiUk9NSVggQUlOTE1VWCBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjYsCisJV004OTkwX1JMQlJPVk9MX1NISUZULCBXTTg5OTBfUkxCUk9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIlJPTUlYIEFJTlJNVVggQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI2LAorCVdNODk5MF9SUkJST1ZPTF9TSElGVCwgV004OTkwX1JSQlJPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKKworLyogTE9VVCAqLworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJMT1VUIFZvbHVtZSIsIFdNODk5MF9MRUZUX09VVFBVVF9WT0xVTUUsCisJV004OTkwX0xPVVRWT0xfU0hJRlQsIFdNODk5MF9MT1VUVk9MX01BU0ssIDAsIG91dF9wZ2FfdGx2KSwKK1NPQ19TSU5HTEUoIkxPVVQgWkMiLCBXTTg5OTBfTEVGVF9PVVRQVVRfVk9MVU1FLCBXTTg5OTBfTE9aQ19CSVQsIDEsIDApLAorCisvKiBST1VUICovCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIlJPVVQgVm9sdW1lIiwgV004OTkwX1JJR0hUX09VVFBVVF9WT0xVTUUsCisJV004OTkwX1JPVVRWT0xfU0hJRlQsIFdNODk5MF9ST1VUVk9MX01BU0ssIDAsIG91dF9wZ2FfdGx2KSwKK1NPQ19TSU5HTEUoIlJPVVQgWkMiLCBXTTg5OTBfUklHSFRfT1VUUFVUX1ZPTFVNRSwgV004OTkwX1JPWkNfQklULCAxLCAwKSwKKworLyogTE9QR0EgKi8KK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiTE9QR0EgVm9sdW1lIiwgV004OTkwX0xFRlRfT1BHQV9WT0xVTUUsCisJV004OTkwX0xPUEdBVk9MX1NISUZULCBXTTg5OTBfTE9QR0FWT0xfTUFTSywgMCwgb3V0X3BnYV90bHYpLAorU09DX1NJTkdMRSgiTE9QR0EgWkMgU3dpdGNoIiwgV004OTkwX0xFRlRfT1BHQV9WT0xVTUUsCisJV004OTkwX0xPUEdBWkNfQklULCAxLCAwKSwKKworLyogUk9QR0EgKi8KK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiUk9QR0EgVm9sdW1lIiwgV004OTkwX1JJR0hUX09QR0FfVk9MVU1FLAorCVdNODk5MF9ST1BHQVZPTF9TSElGVCwgV004OTkwX1JPUEdBVk9MX01BU0ssIDAsIG91dF9wZ2FfdGx2KSwKK1NPQ19TSU5HTEUoIlJPUEdBIFpDIFN3aXRjaCIsIFdNODk5MF9SSUdIVF9PUEdBX1ZPTFVNRSwKKwlXTTg5OTBfUk9QR0FaQ19CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJMT04gTXV0ZSBTd2l0Y2giLCBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSwKKwlXTTg5OTBfTE9OTVVURV9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiTE9QIE11dGUgU3dpdGNoIiwgV004OTkwX0xJTkVfT1VUUFVUU19WT0xVTUUsCisJV004OTkwX0xPUE1VVEVfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIkxPUCBBdHRlbnVhdGlvbiBTd2l0Y2giLCBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSwKKwlXTTg5OTBfTE9BVFROX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJST04gTXV0ZSBTd2l0Y2giLCBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSwKKwlXTTg5OTBfUk9OTVVURV9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiUk9QIE11dGUgU3dpdGNoIiwgV004OTkwX0xJTkVfT1VUUFVUU19WT0xVTUUsCisJV004OTkwX1JPUE1VVEVfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIlJPUCBBdHRlbnVhdGlvbiBTd2l0Y2giLCBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSwKKwlXTTg5OTBfUk9BVFROX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIk9VVDMgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfT1VUM180X1ZPTFVNRSwKKwlXTTg5OTBfT1VUM01VVEVfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIk9VVDMgQXR0ZW51YXRpb24gU3dpdGNoIiwgV004OTkwX09VVDNfNF9WT0xVTUUsCisJV004OTkwX09VVDNBVFROX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIk9VVDQgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfT1VUM180X1ZPTFVNRSwKKwlXTTg5OTBfT1VUNE1VVEVfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIk9VVDQgQXR0ZW51YXRpb24gU3dpdGNoIiwgV004OTkwX09VVDNfNF9WT0xVTUUsCisJV004OTkwX09VVDRBVFROX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIlNwZWFrZXIgTW9kZSBTd2l0Y2giLCBXTTg5OTBfQ0xBU1NEMSwKKwlXTTg5OTBfQ0RNT0RFX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIlNwZWFrZXIgT3V0cHV0IEF0dGVudWF0aW9uIFZvbHVtZSIsIFdNODk5MF9TUEVBS0VSX1ZPTFVNRSwKKwlXTTg5OTBfU1BLVk9MX1NISUZULCBXTTg5OTBfU1BLVk9MX01BU0ssIDApLAorU09DX1NJTkdMRSgiU3BlYWtlciBEQyBCb29zdCBWb2x1bWUiLCBXTTg5OTBfQ0xBU1NEMywKKwlXTTg5OTBfRENHQUlOX1NISUZULCBXTTg5OTBfRENHQUlOX01BU0ssIDApLAorU09DX1NJTkdMRSgiU3BlYWtlciBBQyBCb29zdCBWb2x1bWUiLCBXTTg5OTBfQ0xBU1NEMywKKwlXTTg5OTBfQUNHQUlOX1NISUZULCBXTTg5OTBfQUNHQUlOX01BU0ssIDApLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIkxlZnQgREFDIERpZ2l0YWwgVm9sdW1lIiwKKwlXTTg5OTBfTEVGVF9EQUNfRElHSVRBTF9WT0xVTUUsCisJV004OTkwX0RBQ0xfVk9MX1NISUZULAorCVdNODk5MF9EQUNMX1ZPTF9NQVNLLAorCTAsCisJb3V0X2RhY190bHYpLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIlJpZ2h0IERBQyBEaWdpdGFsIFZvbHVtZSIsCisJV004OTkwX1JJR0hUX0RBQ19ESUdJVEFMX1ZPTFVNRSwKKwlXTTg5OTBfREFDUl9WT0xfU0hJRlQsCisJV004OTkwX0RBQ1JfVk9MX01BU0ssCisJMCwKKwlvdXRfZGFjX3RsdiksCisKK1NPQ19FTlVNKCJMZWZ0IERpZ2l0YWwgU2lkZXRvbmUiLCB3bTg5OTBfbGVmdF9kaWdpdGFsX3NpZGV0b25lX2VudW0pLAorU09DX0VOVU0oIlJpZ2h0IERpZ2l0YWwgU2lkZXRvbmUiLCB3bTg5OTBfcmlnaHRfZGlnaXRhbF9zaWRldG9uZV9lbnVtKSwKKworU09DX1NJTkdMRV9UTFYoIkxlZnQgRGlnaXRhbCBTaWRldG9uZSBWb2x1bWUiLCBXTTg5OTBfRElHSVRBTF9TSURFX1RPTkUsCisJV004OTkwX0FEQ0xfREFDX1NWT0xfU0hJRlQsIFdNODk5MF9BRENMX0RBQ19TVk9MX01BU0ssIDAsCisJb3V0X3NpZGV0b25lX3RsdiksCitTT0NfU0lOR0xFX1RMVigiUmlnaHQgRGlnaXRhbCBTaWRldG9uZSBWb2x1bWUiLCBXTTg5OTBfRElHSVRBTF9TSURFX1RPTkUsCisJV004OTkwX0FEQ1JfREFDX1NWT0xfU0hJRlQsIFdNODk5MF9BRENSX0RBQ19TVk9MX01BU0ssIDAsCisJb3V0X3NpZGV0b25lX3RsdiksCisKK1NPQ19TSU5HTEUoIkFEQyBEaWdpdGFsIEhpZ2ggUGFzcyBGaWx0ZXIgU3dpdGNoIiwgV004OTkwX0FEQ19DVFJMLAorCVdNODk5MF9BRENfSFBGX0VOQV9CSVQsIDEsIDApLAorCitTT0NfRU5VTSgiQURDIEhQRiBNb2RlIiwgd204OTkwX3JpZ2h0X2FkY21vZGVfZW51bSksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiTGVmdCBBREMgRGlnaXRhbCBWb2x1bWUiLAorCVdNODk5MF9MRUZUX0FEQ19ESUdJVEFMX1ZPTFVNRSwKKwlXTTg5OTBfQURDTF9WT0xfU0hJRlQsCisJV004OTkwX0FEQ0xfVk9MX01BU0ssCisJMCwKKwlpbl9hZGNfdGx2KSwKKworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJSaWdodCBBREMgRGlnaXRhbCBWb2x1bWUiLAorCVdNODk5MF9SSUdIVF9BRENfRElHSVRBTF9WT0xVTUUsCisJV004OTkwX0FEQ1JfVk9MX1NISUZULAorCVdNODk5MF9BRENSX1ZPTF9NQVNLLAorCTAsCisJaW5fYWRjX3RsdiksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiTElOMTIgVm9sdW1lIiwKKwlXTTg5OTBfTEVGVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUsCisJV004OTkwX0xJTjEyVk9MX1NISUZULAorCVdNODk5MF9MSU4xMlZPTF9NQVNLLAorCTAsCisJaW5fcGdhX3RsdiksCisKK1NPQ19TSU5HTEUoIkxJTjEyIFpDIFN3aXRjaCIsIFdNODk5MF9MRUZUX0xJTkVfSU5QVVRfMV8yX1ZPTFVNRSwKKwlXTTg5OTBfTEkxMlpDX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIkxJTjEyIE11dGUgU3dpdGNoIiwgV004OTkwX0xFRlRfTElORV9JTlBVVF8xXzJfVk9MVU1FLAorCVdNODk5MF9MSTEyTVVURV9CSVQsIDEsIDApLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIkxJTjM0IFZvbHVtZSIsCisJV004OTkwX0xFRlRfTElORV9JTlBVVF8zXzRfVk9MVU1FLAorCVdNODk5MF9MSU4zNFZPTF9TSElGVCwKKwlXTTg5OTBfTElOMzRWT0xfTUFTSywKKwkwLAorCWluX3BnYV90bHYpLAorCitTT0NfU0lOR0xFKCJMSU4zNCBaQyBTd2l0Y2giLCBXTTg5OTBfTEVGVF9MSU5FX0lOUFVUXzNfNF9WT0xVTUUsCisJV004OTkwX0xJMzRaQ19CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJMSU4zNCBNdXRlIFN3aXRjaCIsIFdNODk5MF9MRUZUX0xJTkVfSU5QVVRfM180X1ZPTFVNRSwKKwlXTTg5OTBfTEkzNE1VVEVfQklULCAxLCAwKSwKKworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJSSU4xMiBWb2x1bWUiLAorCVdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUsCisJV004OTkwX1JJTjEyVk9MX1NISUZULAorCVdNODk5MF9SSU4xMlZPTF9NQVNLLAorCTAsCisJaW5fcGdhX3RsdiksCisKK1NPQ19TSU5HTEUoIlJJTjEyIFpDIFN3aXRjaCIsIFdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUsCisJV004OTkwX1JJMTJaQ19CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJSSU4xMiBNdXRlIFN3aXRjaCIsIFdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUsCisJV004OTkwX1JJMTJNVVRFX0JJVCwgMSwgMCksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiUklOMzQgVm9sdW1lIiwKKwlXTTg5OTBfUklHSFRfTElORV9JTlBVVF8zXzRfVk9MVU1FLAorCVdNODk5MF9SSU4zNFZPTF9TSElGVCwKKwlXTTg5OTBfUklOMzRWT0xfTUFTSywKKwkwLAorCWluX3BnYV90bHYpLAorCitTT0NfU0lOR0xFKCJSSU4zNCBaQyBTd2l0Y2giLCBXTTg5OTBfUklHSFRfTElORV9JTlBVVF8zXzRfVk9MVU1FLAorCVdNODk5MF9SSTM0WkNfQklULCAxLCAwKSwKKworU09DX1NJTkdMRSgiUklOMzQgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfUklHSFRfTElORV9JTlBVVF8zXzRfVk9MVU1FLAorCVdNODk5MF9SSTM0TVVURV9CSVQsIDEsIDApLAorCit9OworCisvKiBhZGQgbm9uIGRhcG0gY29udHJvbHMgKi8KK3N0YXRpYyBpbnQgd204OTkwX2FkZF9jb250cm9scyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJaW50IGVyciwgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODk5MF9zbmRfY29udHJvbHMpOyBpKyspIHsKKwkJZXJyID0gc25kX2N0bF9hZGQoY29kZWMtPmNhcmQsCisJCQkJc25kX3NvY19jbmV3KCZ3bTg5OTBfc25kX2NvbnRyb2xzW2ldLCBjb2RlYywKKwkJCQkJTlVMTCkpOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogX0RBUE1fIENvbnRyb2xzCisgKi8KKworc3RhdGljIGludCBpbm1peGVyX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LAorCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBpbnQgZXZlbnQpCit7CisJdTE2IHJlZywgZmFrZXBvd2VyOworCisJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKHctPmNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yKTsKKwlmYWtlcG93ZXIgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUody0+Y29kZWMsIFdNODk5MF9JTlREUklWQklUUyk7CisKKwlpZiAoZmFrZXBvd2VyICYgKCgxIDw8IFdNODk5MF9JTk1JWExfUFdSX0JJVCkgfAorCQkoMSA8PCBXTTg5OTBfQUlOTE1VWF9QV1JfQklUKSkpIHsKKwkJcmVnIHw9IFdNODk5MF9BSU5MX0VOQTsKKwl9IGVsc2UgeworCQlyZWcgJj0gfldNODk5MF9BSU5MX0VOQTsKKwl9CisKKwlpZiAoZmFrZXBvd2VyICYgKCgxIDw8IFdNODk5MF9JTk1JWFJfUFdSX0JJVCkgfAorCQkoMSA8PCBXTTg5OTBfQUlOUk1VWF9QV1JfQklUKSkpIHsKKwkJcmVnIHw9IFdNODk5MF9BSU5SX0VOQTsKKwl9IGVsc2UgeworCQlyZWcgJj0gfldNODk5MF9BSU5MX0VOQTsKKwl9CisJd204OTkwX3dyaXRlKHctPmNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCByZWcpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgb3V0bWl4ZXJfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsCisJc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIGludCBldmVudCkKK3sKKwl1MzIgcmVnX3NoaWZ0ID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmZjsKKwlpbnQgcmV0ID0gMDsKKwl1MTYgcmVnOworCisJc3dpdGNoIChyZWdfc2hpZnQpIHsKKwljYXNlIFdNODk5MF9TUEVBS0VSX01JWEVSIHwgKFdNODk5MF9MRFNQS19CSVQgPDwgOCkgOgorCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUody0+Y29kZWMsIFdNODk5MF9PVVRQVVRfTUlYRVIxKTsKKwkJaWYgKHJlZyAmIFdNODk5MF9MRExPKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiQ2Fubm90IHNldCBhcyBPdXRwdXQgTWl4ZXIgMSBMRExPIFNldFxuIik7CisJCQlyZXQgPSAtMTsKKwkJfQorCQlicmVhazsKKwljYXNlIFdNODk5MF9TUEVBS0VSX01JWEVSIHwgKFdNODk5MF9SRFNQS19CSVQgPDwgOCk6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZSh3LT5jb2RlYywgV004OTkwX09VVFBVVF9NSVhFUjIpOworCQlpZiAocmVnICYgV004OTkwX1JEUk8pIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJDYW5ub3Qgc2V0IGFzIE91dHB1dCBNaXhlciAyIFJEUk8gU2V0XG4iKTsKKwkJCXJldCA9IC0xOworCQl9CisJCWJyZWFrOworCWNhc2UgV004OTkwX09VVFBVVF9NSVhFUjEgfCAoV004OTkwX0xETE9fQklUIDw8IDgpOgorCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUody0+Y29kZWMsIFdNODk5MF9TUEVBS0VSX01JWEVSKTsKKwkJaWYgKHJlZyAmIFdNODk5MF9MRFNQSykgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIkNhbm5vdCBzZXQgYXMgU3BlYWtlciBNaXhlciBMRFNQSyBTZXRcbiIpOworCQkJcmV0ID0gLTE7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBXTTg5OTBfT1VUUFVUX01JWEVSMiB8IChXTTg5OTBfUkRST19CSVQgPDwgOCk6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZSh3LT5jb2RlYywgV004OTkwX1NQRUFLRVJfTUlYRVIpOworCQlpZiAocmVnICYgV004OTkwX1JEU1BLKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiQ2Fubm90IHNldCBhcyBTcGVha2VyIE1peGVyIFJEU1BLIFNldFxuIik7CisJCQlyZXQgPSAtMTsKKwkJfQorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCisvKiBJTk1JWCBkQiB2YWx1ZXMgKi8KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgaW5fbWl4X3RsdltdID0geworCVRMVl9EQl9SQU5HRV9IRUFEKDEpLAorCTAsIDcsIFRMVl9EQl9MSU5FQVJfSVRFTSgtMTIwMCwgNjAwKSwKK307CisKKy8qIExlZnQgSW4gUEdBIENvbm5lY3Rpb25zICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fbGluMTJfcGdhX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIkxJTjEgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX0xNTjFfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTElOMiBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIyLCBXTTg5OTBfTE1QMl9CSVQsIDEsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2xpbjM0X3BnYV9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJMSU4zIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9MTU4zX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxJTjQgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX0xNUDRfQklULCAxLCAwKSwKK307CisKKy8qIFJpZ2h0IEluIFBHQSBDb25uZWN0aW9ucyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX3JpbjEyX3BnYV9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJSSU4xIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9STU4xX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJJTjIgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX1JNUDJfQklULCAxLCAwKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9yaW4zNF9wZ2FfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiUklOMyBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIyLCBXTTg5OTBfUk1OM19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJSSU40IFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9STVA0X0JJVCwgMSwgMCksCit9OworCisvKiBJTk1JWEwgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9pbm1peGxfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRV9UTFYoIlJlY29yZCBMZWZ0IFZvbHVtZSIsIFdNODk5MF9JTlBVVF9NSVhFUjMsCisJV004OTkwX0xEQlZPTF9TSElGVCwgV004OTkwX0xEQlZPTF9NQVNLLCAwLCBpbl9taXhfdGx2KSwKK1NPQ19EQVBNX1NJTkdMRV9UTFYoIkxJTjIgVm9sdW1lIiwgV004OTkwX0lOUFVUX01JWEVSNSwgV004OTkwX0xJMkJWT0xfU0hJRlQsCisJNywgMCwgaW5fbWl4X3RsdiksCitTT0NfREFQTV9TSU5HTEUoIkxJTlBHQTEyIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjMsIFdNODk5MF9MMTJNTkJfQklULAorCTEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMSU5QR0EzNCBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfTDM0TU5CX0JJVCwKKwkxLCAwKSwKK307CisKKy8qIElOTUlYUiAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2lubWl4cl9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFX1RMVigiUmVjb3JkIFJpZ2h0IFZvbHVtZSIsIFdNODk5MF9JTlBVVF9NSVhFUjQsCisJV004OTkwX1JEQlZPTF9TSElGVCwgV004OTkwX1JEQlZPTF9NQVNLLCAwLCBpbl9taXhfdGx2KSwKK1NPQ19EQVBNX1NJTkdMRV9UTFYoIlJJTjIgVm9sdW1lIiwgV004OTkwX0lOUFVUX01JWEVSNiwgV004OTkwX1JJMkJWT0xfU0hJRlQsCisJNywgMCwgaW5fbWl4X3RsdiksCitTT0NfREFQTV9TSU5HTEUoIlJJTlBHQTEyIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjMsIFdNODk5MF9MMTJNTkJfQklULAorCTEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJSSU5QR0EzNCBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfTDM0TU5CX0JJVCwKKwkxLCAwKSwKK307CisKKy8qIEFJTkxNVVggKi8KK3N0YXRpYyBjb25zdCBjaGFyICp3bTg5OTBfYWlubG11eFtdID0KKwl7IklOTUlYTCBNaXgiLCAiUlhWT0lDRSBNaXgiLCAiRElGRklOTCBNaXgifTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB3bTg5OTBfYWlubG11eF9lbnVtID0KK1NPQ19FTlVNX1NJTkdMRShXTTg5OTBfSU5QVVRfTUlYRVIxLCBXTTg5OTBfQUlOTE1PREVfU0hJRlQsCisJQVJSQVlfU0laRSh3bTg5OTBfYWlubG11eCksIHdtODk5MF9haW5sbXV4KTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2FpbmxtdXhfY29udHJvbHMgPQorU09DX0RBUE1fRU5VTSgiUm91dGUiLCB3bTg5OTBfYWlubG11eF9lbnVtKTsKKworLyogRElGRklOTCAqLworCisvKiBBSU5STVVYICovCitzdGF0aWMgY29uc3QgY2hhciAqd204OTkwX2FpbnJtdXhbXSA9CisJeyJJTk1JWFIgTWl4IiwgIlJYVk9JQ0UgTWl4IiwgIkRJRkZJTlIgTWl4In07CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gd204OTkwX2FpbnJtdXhfZW51bSA9CitTT0NfRU5VTV9TSU5HTEUoV004OTkwX0lOUFVUX01JWEVSMSwgV004OTkwX0FJTlJNT0RFX1NISUZULAorCUFSUkFZX1NJWkUod204OTkwX2FpbnJtdXgpLCB3bTg5OTBfYWlucm11eCk7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9haW5ybXV4X2NvbnRyb2xzID0KK1NPQ19EQVBNX0VOVU0oIlJvdXRlIiwgd204OTkwX2FpbnJtdXhfZW51bSk7CisKKy8qIFJYVk9JQ0UgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9yeHZvaWNlX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEVfVExWKCJMSU40L1JYTiIsIFdNODk5MF9JTlBVVF9NSVhFUjUsIFdNODk5MF9MUjRCVk9MX1NISUZULAorCQkJV004OTkwX0xSNEJWT0xfTUFTSywgMCwgaW5fbWl4X3RsdiksCitTT0NfREFQTV9TSU5HTEVfVExWKCJSSU40L1JYUCIsIFdNODk5MF9JTlBVVF9NSVhFUjYsIFdNODk5MF9STDRCVk9MX1NISUZULAorCQkJV004OTkwX1JMNEJWT0xfTUFTSywgMCwgaW5fbWl4X3RsdiksCit9OworCisvKiBMT01JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2xvbWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIkxPTUlYIFJpZ2h0IEFEQyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xSQkxPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPTUlYIExlZnQgQURDIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMSwKKwlXTTg5OTBfTExCTE9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9NSVggUklOMyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xSSTNMT19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT01JWCBMSU4zIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMSwKKwlXTTg5OTBfTExJM0xPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPTUlYIFJJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xSMTJMT19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT01JWCBMSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIxLAorCVdNODk5MF9MTDEyTE9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9NSVggTGVmdCBEQUMgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xETE9fQklULCAxLCAwKSwKK307CisKKy8qIFJPTUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fcm9taXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiUk9NSVggTGVmdCBBREMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIyLAorCVdNODk5MF9STEJST19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST01JWCBSaWdodCBBREMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIyLAorCVdNODk5MF9SUkJST19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST01JWCBMSU4zIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMiwKKwlXTTg5OTBfUkxJM1JPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTUlYIFJJTjMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIyLAorCVdNODk5MF9SUkkzUk9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9NSVggTElOMTIgUEdBIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMiwKKwlXTTg5OTBfUkwxMlJPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTUlYIFJJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjIsCisJV004OTkwX1JSMTJST19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST01JWCBSaWdodCBEQUMgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjIsCisJV004OTkwX1JEUk9fQklULCAxLCAwKSwKK307CisKKy8qIExPTk1JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2xvbm1peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJMT05NSVggTGVmdCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIxLAorCVdNODk5MF9MTE9QR0FMT05fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9OTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjEsCisJV004OTkwX0xST1BHQUxPTl9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT05NSVggSW52ZXJ0ZWQgTE9QIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMSwKKwlXTTg5OTBfTE9QTE9OX0JJVCwgMSwgMCksCit9OworCisvKiBMT1BNSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9sb3BtaXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTE9QTUlYIFJpZ2h0IE1pYyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIxLAorCVdNODk5MF9MUjEyTE9QX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPUE1JWCBMZWZ0IE1pYyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIxLAorCVdNODk5MF9MTDEyTE9QX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPUE1JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjEsCisJV004OTkwX0xMT1BHQUxPUF9CSVQsIDEsIDApLAorfTsKKworLyogUk9OTUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fcm9ubWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIlJPTk1JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIyLAorCVdNODk5MF9SUk9QR0FST05fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9OTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMiwKKwlXTTg5OTBfUkxPUEdBUk9OX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTk1JWCBJbnZlcnRlZCBST1AgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIyLAorCVdNODk5MF9ST1BST05fQklULCAxLCAwKSwKK307CisKKy8qIFJPUE1JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX3JvcG1peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJST1BNSVggTGVmdCBNaWMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMiwKKwlXTTg5OTBfUkwxMlJPUF9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST1BNSVggUmlnaHQgTWljIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjIsCisJV004OTkwX1JSMTJST1BfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9QTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjIsCisJV004OTkwX1JST1BHQVJPUF9CSVQsIDEsIDApLAorfTsKKworLyogT1VUM01JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX291dDNtaXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiT1VUM01JWCBMSU40L1JYUCBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVDNfNF9NSVhFUiwKKwlXTTg5OTBfTEk0TzNfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiT1VUM01JWCBMZWZ0IE91dCBQR0EgU3dpdGNoIiwgV004OTkwX09VVDNfNF9NSVhFUiwKKwlXTTg5OTBfTFBHQU8zX0JJVCwgMSwgMCksCit9OworCisvKiBPVVQ0TUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fb3V0NG1peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJPVVQ0TUlYIFJpZ2h0IE91dCBQR0EgU3dpdGNoIiwgV004OTkwX09VVDNfNF9NSVhFUiwKKwlXTTg5OTBfUlBHQU80X0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIk9VVDRNSVggUklONC9SWFAgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVQzXzRfTUlYRVIsCisJV004OTkwX1JJNE80X0JJVCwgMSwgMCksCit9OworCisvKiBTUEtNSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9zcGttaXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIExJTjIgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9MSTJTUEtfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIExBREMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9MQjJTUEtfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9MT1BHQVNQS19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJTUEtNSVggTGVmdCBEQUMgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX0xEU1BLX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBSaWdodCBEQUMgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX1JEU1BLX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX1JPUEdBU1BLX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBSQURDIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfU1BFQUtFUl9NSVhFUiwKKwlXTTg5OTBfUkwxMlJPUF9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJTUEtNSVggUklOMiBCeXBhc3MgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX1JJMlNQS19CSVQsIDEsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IHdtODk5MF9kYXBtX3dpZGdldHNbXSA9IHsKKy8qIElucHV0IFNpZGUgKi8KKy8qIElucHV0IExpbmVzICovCitTTkRfU09DX0RBUE1fSU5QVVQoIkxJTjEiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiTElOMiIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJMSU4zIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIkxJTjQvUlhOIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIlJJTjMiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiUklONC9SWFAiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiUklOMSIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJSSU4yIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIkludGVybmFsIEFEQyBTb3VyY2UiKSwKKworLyogREFDcyAqLworU05EX1NPQ19EQVBNX0FEQygiTGVmdCBBREMiLCAiTGVmdCBDYXB0dXJlIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwKKwlXTTg5OTBfQURDTF9FTkFfQklULCAwKSwKK1NORF9TT0NfREFQTV9BREMoIlJpZ2h0IEFEQyIsICJSaWdodCBDYXB0dXJlIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwKKwlXTTg5OTBfQURDUl9FTkFfQklULCAwKSwKKworLyogSW5wdXQgUEdBcyAqLworU05EX1NPQ19EQVBNX01JWEVSKCJMSU4xMiBQR0EiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCBXTTg5OTBfTElOMTJfRU5BX0JJVCwKKwkwLCAmd204OTkwX2RhcG1fbGluMTJfcGdhX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fbGluMTJfcGdhX2NvbnRyb2xzKSksCitTTkRfU09DX0RBUE1fTUlYRVIoIkxJTjM0IFBHQSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIFdNODk5MF9MSU4zNF9FTkFfQklULAorCTAsICZ3bTg5OTBfZGFwbV9saW4zNF9wZ2FfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9saW4zNF9wZ2FfY29udHJvbHMpKSwKK1NORF9TT0NfREFQTV9NSVhFUigiUklOMTIgUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwgV004OTkwX1JJTjEyX0VOQV9CSVQsCisJMCwgJndtODk5MF9kYXBtX3JpbjEyX3BnYV9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX3JpbjEyX3BnYV9jb250cm9scykpLAorU05EX1NPQ19EQVBNX01JWEVSKCJSSU4zNCBQR0EiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCBXTTg5OTBfUklOMzRfRU5BX0JJVCwKKwkwLCAmd204OTkwX2RhcG1fcmluMzRfcGdhX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fcmluMzRfcGdhX2NvbnRyb2xzKSksCisKKy8qIElOTUlYTCAqLworU05EX1NPQ19EQVBNX01JWEVSX0UoIklOTUlYTCIsIFdNODk5MF9JTlREUklWQklUUywgV004OTkwX0lOTUlYTF9QV1JfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9pbm1peGxfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9pbm1peGxfY29udHJvbHMpLAorCWlubWl4ZXJfZXZlbnQsIFNORF9TT0NfREFQTV9QT1NUX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksCisKKy8qIEFJTkxNVVggKi8KK1NORF9TT0NfREFQTV9NVVhfRSgiQUlMTk1VWCIsIFdNODk5MF9JTlREUklWQklUUywgV004OTkwX0FJTkxNVVhfUFdSX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fYWlubG11eF9jb250cm9scywgaW5taXhlcl9ldmVudCwKKwlTTkRfU09DX0RBUE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLAorCisvKiBJTk1JWFIgKi8KK1NORF9TT0NfREFQTV9NSVhFUl9FKCJJTk1JWFIiLCBXTTg5OTBfSU5URFJJVkJJVFMsIFdNODk5MF9JTk1JWFJfUFdSX0JJVCwgMCwKKwkmd204OTkwX2RhcG1faW5taXhyX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1faW5taXhyX2NvbnRyb2xzKSwKKwlpbm1peGVyX2V2ZW50LCBTTkRfU09DX0RBUE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLAorCisvKiBBSU5STVVYICovCitTTkRfU09DX0RBUE1fTVVYX0UoIkFJUk5NVVgiLCBXTTg5OTBfSU5URFJJVkJJVFMsIFdNODk5MF9BSU5STVVYX1BXUl9CSVQsIDAsCisJJndtODk5MF9kYXBtX2FpbnJtdXhfY29udHJvbHMsIGlubWl4ZXJfZXZlbnQsCisJU05EX1NPQ19EQVBNX1BPU1RfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwKKworLyogT3V0cHV0IFNpZGUgKi8KKy8qIERBQ3MgKi8KK1NORF9TT0NfREFQTV9EQUMoIkxlZnQgREFDIiwgIkxlZnQgUGxheWJhY2siLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLAorCVdNODk5MF9EQUNMX0VOQV9CSVQsIDApLAorU05EX1NPQ19EQVBNX0RBQygiUmlnaHQgREFDIiwgIlJpZ2h0IFBsYXliYWNrIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywKKwlXTTg5OTBfREFDUl9FTkFfQklULCAwKSwKKworLyogTE9NSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUl9FKCJMT01JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9MT01JWF9FTkFfQklULAorCTAsICZ3bTg5OTBfZGFwbV9sb21peF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX2xvbWl4X2NvbnRyb2xzKSwKKwlvdXRtaXhlcl9ldmVudCwgU05EX1NPQ19EQVBNX1BSRV9SRUcpLAorCisvKiBMT05NSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUigiTE9OTUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX0xPTl9FTkFfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9sb25taXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9sb25taXhfY29udHJvbHMpKSwKKworLyogTE9QTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVIoIkxPUE1JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9MT1BfRU5BX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fbG9wbWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fbG9wbWl4X2NvbnRyb2xzKSksCisKKy8qIE9VVDNNSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUigiT1VUM01JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIFdNODk5MF9PVVQzX0VOQV9CSVQsIDAsCisJJndtODk5MF9kYXBtX291dDNtaXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9vdXQzbWl4X2NvbnRyb2xzKSksCisKKy8qIFNQS01JWCAqLworU05EX1NPQ19EQVBNX01JWEVSX0UoIlNQS01JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIFdNODk5MF9TUEtfRU5BX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fc3BrbWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fc3BrbWl4X2NvbnRyb2xzKSwgb3V0bWl4ZXJfZXZlbnQsCisJU05EX1NPQ19EQVBNX1BSRV9SRUcpLAorCisvKiBPVVQ0TUlYICovCitTTkRfU09DX0RBUE1fTUlYRVIoIk9VVDRNSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCBXTTg5OTBfT1VUNF9FTkFfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9vdXQ0bWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fb3V0NG1peF9jb250cm9scykpLAorCisvKiBST1BNSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUigiUk9QTUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX1JPUF9FTkFfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9yb3BtaXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9yb3BtaXhfY29udHJvbHMpKSwKKworLyogUk9OTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVIoIlJPTk1JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9ST05fRU5BX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fcm9ubWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fcm9ubWl4X2NvbnRyb2xzKSksCisKKy8qIFJPTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVJfRSgiUk9NSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLCBXTTg5OTBfUk9NSVhfRU5BX0JJVCwKKwkwLCAmd204OTkwX2RhcG1fcm9taXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9yb21peF9jb250cm9scyksCisJb3V0bWl4ZXJfZXZlbnQsIFNORF9TT0NfREFQTV9QUkVfUkVHKSwKKworLyogTE9VVCBQR0EgKi8KK1NORF9TT0NfREFQTV9QR0EoIkxPVVQgUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgV004OTkwX0xPVVRfRU5BX0JJVCwgMCwKKwlOVUxMLCAwKSwKKworLyogUk9VVCBQR0EgKi8KK1NORF9TT0NfREFQTV9QR0EoIlJPVVQgUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgV004OTkwX1JPVVRfRU5BX0JJVCwgMCwKKwlOVUxMLCAwKSwKKworLyogTE9QR0EgKi8KK1NORF9TT0NfREFQTV9QR0EoIkxPUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX0xPUEdBX0VOQV9CSVQsIDAsCisJTlVMTCwgMCksCisKKy8qIFJPUEdBICovCitTTkRfU09DX0RBUE1fUEdBKCJST1BHQSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9ST1BHQV9FTkFfQklULCAwLAorCU5VTEwsIDApLAorCisvKiBNSUNCSUFTICovCitTTkRfU09DX0RBUE1fTUlDQklBUygiTUlDQklBUyIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsCisJV004OTkwX01JQ0JJQVNfRU5BX0JJVCwgMCksCisKK1NORF9TT0NfREFQTV9PVVRQVVQoIkxPTiIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiTE9QIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJPVVQzIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJMT1VUIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJTUEtOIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJTUEtQIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJST1VUIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJPVVQ0IiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJST1AiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIlJPTiIpLAorCitTTkRfU09DX0RBUE1fT1VUUFVUKCJJbnRlcm5hbCBEQUMgU2luayIpLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CisJLyogTWFrZSBEQUNzIHR1cm4gb24gd2hlbiBwbGF5aW5nIGV2ZW4gaWYgbm90IG1peGVkIGludG8gYW55IG91dHB1dHMgKi8KKwl7IkludGVybmFsIERBQyBTaW5rIiwgTlVMTCwgIkxlZnQgREFDIn0sCisJeyJJbnRlcm5hbCBEQUMgU2luayIsIE5VTEwsICJSaWdodCBEQUMifSwKKworCS8qIE1ha2UgQURDcyB0dXJuIG9uIHdoZW4gcmVjb3JkaW5nIGV2ZW4gaWYgbm90IG1peGVkIGZyb20gYW55IGlucHV0cyAqLworCXsiTGVmdCBBREMiLCBOVUxMLCAiSW50ZXJuYWwgQURDIFNvdXJjZSJ9LAorCXsiUmlnaHQgQURDIiwgTlVMTCwgIkludGVybmFsIEFEQyBTb3VyY2UifSwKKworCS8qIElucHV0IFNpZGUgKi8KKwkvKiBMSU4xMiBQR0EgKi8KKwl7IkxJTjEyIFBHQSIsICJMSU4xIFN3aXRjaCIsICJMSU4xIn0sCisJeyJMSU4xMiBQR0EiLCAiTElOMiBTd2l0Y2giLCAiTElOMiJ9LAorCS8qIExJTjM0IFBHQSAqLworCXsiTElOMzQgUEdBIiwgIkxJTjMgU3dpdGNoIiwgIkxJTjMifSwKKwl7IkxJTjM0IFBHQSIsICJMSU40IFN3aXRjaCIsICJMSU40In0sCisJLyogSU5NSVhMICovCisJeyJJTk1JWEwiLCAiUmVjb3JkIExlZnQgVm9sdW1lIiwgIkxPTUlYIn0sCisJeyJJTk1JWEwiLCAiTElOMiBWb2x1bWUiLCAiTElOMiJ9LAorCXsiSU5NSVhMIiwgIkxJTlBHQTEyIFN3aXRjaCIsICJMSU4xMiBQR0EifSwKKwl7IklOTUlYTCIsICJMSU5QR0EzNCBTd2l0Y2giLCAiTElOMzQgUEdBIn0sCisJLyogQUlMTk1VWCAqLworCXsiQUlMTk1VWCIsICJJTk1JWEwgTWl4IiwgIklOTUlYTCJ9LAorCXsiQUlMTk1VWCIsICJESUZGSU5MIE1peCIsICJMSU4xMlBHQSJ9LAorCXsiQUlMTk1VWCIsICJESUZGSU5MIE1peCIsICJMSU4zNFBHQSJ9LAorCXsiQUlMTk1VWCIsICJSWFZPSUNFIE1peCIsICJMSU40L1JYTiJ9LAorCXsiQUlMTk1VWCIsICJSWFZPSUNFIE1peCIsICJSSU40L1JYUCJ9LAorCS8qIEFEQyAqLworCXsiTGVmdCBBREMiLCBOVUxMLCAiQUlMTk1VWCJ9LAorCisJLyogUklOMTIgUEdBICovCisJeyJSSU4xMiBQR0EiLCAiUklOMSBTd2l0Y2giLCAiUklOMSJ9LAorCXsiUklOMTIgUEdBIiwgIlJJTjIgU3dpdGNoIiwgIlJJTjIifSwKKwkvKiBSSU4zNCBQR0EgKi8KKwl7IlJJTjM0IFBHQSIsICJSSU4zIFN3aXRjaCIsICJSSU4zIn0sCisJeyJSSU4zNCBQR0EiLCAiUklONCBTd2l0Y2giLCAiUklONCJ9LAorCS8qIElOTUlYTCAqLworCXsiSU5NSVhSIiwgIlJlY29yZCBSaWdodCBWb2x1bWUiLCAiUk9NSVgifSwKKwl7IklOTUlYUiIsICJSSU4yIFZvbHVtZSIsICJSSU4yIn0sCisJeyJJTk1JWFIiLCAiUklOUEdBMTIgU3dpdGNoIiwgIlJJTjEyIFBHQSJ9LAorCXsiSU5NSVhSIiwgIlJJTlBHQTM0IFN3aXRjaCIsICJSSU4zNCBQR0EifSwKKwkvKiBBSVJOTVVYICovCisJeyJBSVJOTVVYIiwgIklOTUlYUiBNaXgiLCAiSU5NSVhSIn0sCisJeyJBSVJOTVVYIiwgIkRJRkZJTlIgTWl4IiwgIlJJTjEyUEdBIn0sCisJeyJBSVJOTVVYIiwgIkRJRkZJTlIgTWl4IiwgIlJJTjM0UEdBIn0sCisJeyJBSVJOTVVYIiwgIlJYVk9JQ0UgTWl4IiwgIlJJTjQvUlhOIn0sCisJeyJBSVJOTVVYIiwgIlJYVk9JQ0UgTWl4IiwgIlJJTjQvUlhQIn0sCisJLyogQURDICovCisJeyJSaWdodCBBREMiLCBOVUxMLCAiQUlSTk1VWCJ9LAorCisJLyogTE9NSVggKi8KKwl7IkxPTUlYIiwgIkxPTUlYIFJJTjMgQnlwYXNzIFN3aXRjaCIsICJSSU4zIn0sCisJeyJMT01JWCIsICJMT01JWCBMSU4zIEJ5cGFzcyBTd2l0Y2giLCAiTElOMyJ9LAorCXsiTE9NSVgiLCAiTE9NSVggTElOMTIgUEdBIEJ5cGFzcyBTd2l0Y2giLCAiTElOMTIgUEdBIn0sCisJeyJMT01JWCIsICJMT01JWCBSSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsICJSSU4xMiBQR0EifSwKKwl7IkxPTUlYIiwgIkxPTUlYIFJpZ2h0IEFEQyBCeXBhc3MgU3dpdGNoIiwgIkFJTlJNVVgifSwKKwl7IkxPTUlYIiwgIkxPTUlYIExlZnQgQURDIEJ5cGFzcyBTd2l0Y2giLCAiQUlOTE1VWCJ9LAorCXsiTE9NSVgiLCAiTE9NSVggTGVmdCBEQUMgU3dpdGNoIiwgIkxlZnQgREFDIn0sCisKKwkvKiBST01JWCAqLworCXsiUk9NSVgiLCAiUk9NSVggUklOMyBCeXBhc3MgU3dpdGNoIiwgIlJJTjMifSwKKwl7IlJPTUlYIiwgIlJPTUlYIExJTjMgQnlwYXNzIFN3aXRjaCIsICJMSU4zIn0sCisJeyJST01JWCIsICJST01JWCBMSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsICJMSU4xMiBQR0EifSwKKwl7IlJPTUlYIiwgIlJPTUlYIFJJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgIlJJTjEyIFBHQSJ9LAorCXsiUk9NSVgiLCAiUk9NSVggUmlnaHQgQURDIEJ5cGFzcyBTd2l0Y2giLCAiQUlOUk1VWCJ9LAorCXsiUk9NSVgiLCAiUk9NSVggTGVmdCBBREMgQnlwYXNzIFN3aXRjaCIsICJBSU5MTVVYIn0sCisJeyJST01JWCIsICJST01JWCBSaWdodCBEQUMgU3dpdGNoIiwgIlJpZ2h0IERBQyJ9LAorCisJLyogU1BLTUlYICovCisJeyJTUEtNSVgiLCAiU1BLTUlYIExJTjIgQnlwYXNzIFN3aXRjaCIsICJMSU4yIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIFJJTjIgQnlwYXNzIFN3aXRjaCIsICJSSU4yIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIExBREMgQnlwYXNzIFN3aXRjaCIsICJBSU5MTVVYIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIFJBREMgQnlwYXNzIFN3aXRjaCIsICJBSU5STVVYIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsICJMT1BHQSJ9LAorCXsiU1BLTUlYIiwgIlNQS01JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgIlJPUEdBIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIFJpZ2h0IERBQyBTd2l0Y2giLCAiUmlnaHQgREFDIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIExlZnQgREFDIFN3aXRjaCIsICJSaWdodCBEQUMifSwKKworCS8qIExPTk1JWCAqLworCXsiTE9OTUlYIiwgIkxPTk1JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCAiTE9QR0EifSwKKwl7IkxPTk1JWCIsICJMT05NSVggUmlnaHQgTWl4ZXIgUEdBIFN3aXRjaCIsICJST1BHQSJ9LAorCXsiTE9OTUlYIiwgIkxPTk1JWCBJbnZlcnRlZCBMT1AgU3dpdGNoIiwgIkxPUE1JWCJ9LAorCisJLyogTE9QTUlYICovCisJeyJMT1BNSVgiLCAiTE9QTUlYIFJpZ2h0IE1pYyBCeXBhc3MgU3dpdGNoIiwgIlJJTjEyIFBHQSJ9LAorCXsiTE9QTUlYIiwgIkxPUE1JWCBMZWZ0IE1pYyBCeXBhc3MgU3dpdGNoIiwgIkxJTjEyIFBHQSJ9LAorCXsiTE9QTUlYIiwgIkxPUE1JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCAiTE9QR0EifSwKKworCS8qIE9VVDNNSVggKi8KKwl7Ik9VVDNNSVgiLCAiT1VUM01JWCBMSU40L1JYUCBCeXBhc3MgU3dpdGNoIiwgIkxJTjQvUlhQIn0sCisJeyJPVVQzTUlYIiwgIk9VVDNNSVggTGVmdCBPdXQgUEdBIFN3aXRjaCIsICJMT1BHQSJ9LAorCisJLyogT1VUNE1JWCAqLworCXsiT1VUNE1JWCIsICJPVVQ0TUlYIFJpZ2h0IE91dCBQR0EgU3dpdGNoIiwgIlJPUEdBIn0sCisJeyJPVVQ0TUlYIiwgIk9VVDRNSVggUklONC9SWFAgQnlwYXNzIFN3aXRjaCIsICJSSU40L1JYUCJ9LAorCisJLyogUk9OTUlYICovCisJeyJST05NSVgiLCAiUk9OTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCAiUk9QR0EifSwKKwl7IlJPTk1JWCIsICJST05NSVggTGVmdCBNaXhlciBQR0EgU3dpdGNoIiwgIkxPUEdBIn0sCisJeyJST05NSVgiLCAiUk9OTUlYIEludmVydGVkIFJPUCBTd2l0Y2giLCAiUk9QTUlYIn0sCisKKwkvKiBST1BNSVggKi8KKwl7IlJPUE1JWCIsICJST1BNSVggTGVmdCBNaWMgQnlwYXNzIFN3aXRjaCIsICJMSU4xMiBQR0EifSwKKwl7IlJPUE1JWCIsICJST1BNSVggUmlnaHQgTWljIEJ5cGFzcyBTd2l0Y2giLCAiUklOMTIgUEdBIn0sCisJeyJST1BNSVgiLCAiUk9QTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCAiUk9QR0EifSwKKworCS8qIE91dCBNaXhlciBQR0FzICovCisJeyJMT1BHQSIsIE5VTEwsICJMT01JWCJ9LAorCXsiUk9QR0EiLCBOVUxMLCAiUk9NSVgifSwKKworCXsiTE9VVCBQR0EiLCBOVUxMLCAiTE9NSVgifSwKKwl7IlJPVVQgUEdBIiwgTlVMTCwgIlJPTUlYIn0sCisKKwkvKiBPdXRwdXQgUGlucyAqLworCXsiTE9OIiwgTlVMTCwgIkxPTk1JWCJ9LAorCXsiTE9QIiwgTlVMTCwgIkxPUE1JWCJ9LAorCXsiT1VUIiwgTlVMTCwgIk9VVDNNSVgifSwKKwl7IkxPVVQiLCBOVUxMLCAiTE9VVCBQR0EifSwKKwl7IlNQS04iLCBOVUxMLCAiU1BLTUlYIn0sCisJeyJST1VUIiwgTlVMTCwgIlJPVVQgUEdBIn0sCisJeyJPVVQ0IiwgTlVMTCwgIk9VVDRNSVgifSwKKwl7IlJPUCIsIE5VTEwsICJST1BNSVgifSwKKwl7IlJPTiIsIE5VTEwsICJST05NSVgifSwKK307CisKK3N0YXRpYyBpbnQgd204OTkwX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg5OTBfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg5OTBfZGFwbV93aWRnZXRzKSk7CisKKwkvKiBzZXQgdXAgdGhlIFdNODk5MCBhdWRpbyBtYXAgKi8KKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOworCisJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKKwlyZXR1cm4gMDsKK30KKworLyogUExMIGRpdmlzb3JzICovCitzdHJ1Y3QgX3BsbF9kaXYgeworCXUzMiBkaXYyOworCXUzMiBuOworCXUzMiBrOworfTsKKworLyogVGhlIHNpemUgaW4gYml0cyBvZiB0aGUgcGxsIGRpdmlkZSBtdWx0aXBsaWVkIGJ5IDEwCisgKiB0byBhbGxvdyByb3VuZGluZyBsYXRlciAqLworI2RlZmluZSBGSVhFRF9QTExfU0laRSAoKDEgPDwgMTYpICogMTApCisKK3N0YXRpYyB2b2lkIHBsbF9mYWN0b3JzKHN0cnVjdCBfcGxsX2RpdiAqcGxsX2RpdiwgdW5zaWduZWQgaW50IHRhcmdldCwKKwl1bnNpZ25lZCBpbnQgc291cmNlKQoreworCXU2NCBLcGFydDsKKwl1bnNpZ25lZCBpbnQgSywgTmRpdiwgTm1vZDsKKworCisJTmRpdiA9IHRhcmdldCAvIHNvdXJjZTsKKwlpZiAoTmRpdiA8IDYpIHsKKwkJc291cmNlID4+PSAxOworCQlwbGxfZGl2LT5kaXYyID0gMTsKKwkJTmRpdiA9IHRhcmdldCAvIHNvdXJjZTsKKwl9IGVsc2UKKwkJcGxsX2Rpdi0+ZGl2MiA9IDA7CisKKwlpZiAoKE5kaXYgPCA2KSB8fCAoTmRpdiA+IDEyKSkKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkiV004OTkwIE4gdmFsdWUgb3V0d2l0aCByZWNvbW1lbmRlZCByYW5nZSEgTiA9ICVkXG4iLCBOZGl2KTsKKworCXBsbF9kaXYtPm4gPSBOZGl2OworCU5tb2QgPSB0YXJnZXQgJSBzb3VyY2U7CisJS3BhcnQgPSBGSVhFRF9QTExfU0laRSAqIChsb25nIGxvbmcpTm1vZDsKKworCWRvX2RpdihLcGFydCwgc291cmNlKTsKKworCUsgPSBLcGFydCAmIDB4RkZGRkZGRkY7CisKKwkvKiBDaGVjayBpZiB3ZSBuZWVkIHRvIHJvdW5kICovCisJaWYgKChLICUgMTApID49IDUpCisJCUsgKz0gNTsKKworCS8qIE1vdmUgZG93biB0byBwcm9wZXIgcmFuZ2Ugbm93IHJvdW5kaW5nIGlzIGRvbmUgKi8KKwlLIC89IDEwOworCisJcGxsX2Rpdi0+ayA9IEs7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX3NldF9kYWlfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KQoreworCXUxNiByZWc7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwlzdHJ1Y3QgX3BsbF9kaXYgcGxsX2RpdjsKKworCWlmIChmcmVxX2luICYmIGZyZXFfb3V0KSB7CisJCXBsbF9mYWN0b3JzKCZwbGxfZGl2LCBmcmVxX291dCAqIDQsIGZyZXFfaW4pOworCisJCS8qIFR1cm4gb24gUExMICovCisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMik7CisJCXJlZyB8PSBXTTg5OTBfUExMX0VOQTsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCByZWcpOworCisJCS8qIHN5c2NsayBjb21lcyBmcm9tIFBMTCAqLworCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18yKTsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMiwgcmVnIHwgV004OTkwX1NZU0NMS19TUkMpOworCisJCS8qIHNldCB1cCBOICwgZnJhY3Rpb25hbCBtb2RlIGFuZCBwcmUtZGl2aXNvciBpZiBuZWNjZXNzYXJ5ICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BMTDEsIHBsbF9kaXYubiB8IFdNODk5MF9TRE0gfAorCQkJKHBsbF9kaXYuZGl2Mj9XTTg5OTBfUFJFU0NBTEU6MCkpOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QTEwyLCAodTgpKHBsbF9kaXYuaz4+OCkpOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QTEwzLCAodTgpKHBsbF9kaXYuayAmIDB4RkYpKTsKKwl9IGVsc2UgeworCQkvKiBUdXJuIG9uIFBMTCAqLworCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIpOworCQlyZWcgJj0gfldNODk5MF9QTExfRU5BOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIHJlZyk7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogQ2xvY2sgYWZ0ZXIgUExMIGFuZCBkaXZpZGVycworICovCitzdGF0aWMgaW50IHdtODk5MF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwlzdHJ1Y3Qgd204OTkwX3ByaXYgKndtODk5MCA9IGNvZGVjLT5wcml2YXRlX2RhdGE7CisKKwl3bTg5OTAtPnN5c2NsayA9IGZyZXE7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTZXQncyBBREMgYW5kIFZvaWNlIERBQyBmb3JtYXQuCisgKi8KK3N0YXRpYyBpbnQgd204OTkwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQl1bnNpZ25lZCBpbnQgZm10KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTE2IGF1ZGlvMSwgYXVkaW8zOworCisJYXVkaW8xID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzEpOworCWF1ZGlvMyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV8zKTsKKworCS8qIHNldCBtYXN0ZXIvc2xhdmUgYXVkaW8gaW50ZXJmYWNlICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9NQVNURVJfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoKKwkJYXVkaW8zICY9IH5XTTg5OTBfQUlGX01TVFIxOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCTV9DRk06CisJCWF1ZGlvMyB8PSBXTTg5OTBfQUlGX01TVFIxOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlhdWRpbzEgJj0gfldNODk5MF9BSUZfRk1UX01BU0s7CisKKwkvKiBpbnRlcmZhY2UgZm9ybWF0ICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTOgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9UTUZfSTJTOworCQlhdWRpbzEgJj0gfldNODk5MF9BSUZfTFJDTEtfSU5WOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX1JJR0hUX0o6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1RNRl9SSUdIVEo7CisJCWF1ZGlvMSAmPSB+V004OTkwX0FJRl9MUkNMS19JTlY7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTEVGVF9KOgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9UTUZfTEVGVEo7CisJCWF1ZGlvMSAmPSB+V004OTkwX0FJRl9MUkNMS19JTlY7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0E6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1RNRl9EU1A7CisJCWF1ZGlvMSAmPSB+V004OTkwX0FJRl9MUkNMS19JTlY7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0I6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1RNRl9EU1AgfCBXTTg5OTBfQUlGX0xSQ0xLX0lOVjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzEsIGF1ZGlvMSk7CisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzMsIGF1ZGlvMyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQlpbnQgZGl2X2lkLCBpbnQgZGl2KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTE2IHJlZzsKKworCXN3aXRjaCAoZGl2X2lkKSB7CisJY2FzZSBXTTg5OTBfTUNMS19ESVY6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIpICYKKwkJCX5XTTg5OTBfTUNMS19ESVZfTUFTSzsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMiwgcmVnIHwgZGl2KTsKKwkJYnJlYWs7CisJY2FzZSBXTTg5OTBfREFDQ0xLX0RJVjoKKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMikgJgorCQkJfldNODk5MF9EQUNfQ0xLRElWX01BU0s7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIsIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWNhc2UgV004OTkwX0FEQ0NMS19ESVY6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIpICYKKwkJCX5XTTg5OTBfQURDX0NMS0RJVl9NQVNLOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18yLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODk5MF9CQ0xLX0RJVjoKKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMSkgJgorCQkJfldNODk5MF9CQ0xLX0RJVl9NQVNLOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18xLCByZWcgfCBkaXYpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNldCBQQ00gREFJIGJpdCBzaXplIGFuZCBzYW1wbGUgcmF0ZS4KKyAqLworc3RhdGljIGludCB3bTg5OTBfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJdTE2IGF1ZGlvMSA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV8xKTsKKworCWF1ZGlvMSAmPSB+V004OTkwX0FJRl9XTF9NQVNLOworCS8qIGJpdCBzaXplICovCisJc3dpdGNoIChwYXJhbXNfZm9ybWF0KHBhcmFtcykpIHsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFOgorCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzIwXzNMRToKKwkJYXVkaW8xIHw9IFdNODk5MF9BSUZfV0xfMjBCSVRTOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzI0X0xFOgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9XTF8yNEJJVFM7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMzJfTEU6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1dMXzMyQklUUzsKKwkJYnJlYWs7CisJfQorCisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzEsIGF1ZGlvMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CisJdTE2IHZhbDsKKworCXZhbCAgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9EQUNfQ1RSTCkgJiB+V004OTkwX0RBQ19NVVRFOworCisJaWYgKG11dGUpCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0RBQ19DVFJMLCB2YWwgfCBXTTg5OTBfREFDX01VVEUpOworCWVsc2UKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfREFDX0NUUkwsIHZhbCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg5OTBfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCWVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQoreworCXUxNiB2YWw7CisKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CisJCWlmIChjb2RlYy0+Ymlhc19sZXZlbCA9PSBTTkRfU09DX0JJQVNfT0ZGKSB7CisJCQkvKiBFbmFibGUgYWxsIG91dHB1dCBkaXNjaGFyZ2UgYml0cyAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDEsIFdNODk5MF9ESVNfTExJTkUgfAorCQkJCVdNODk5MF9ESVNfUkxJTkUgfCBXTTg5OTBfRElTX09VVDMgfAorCQkJCVdNODk5MF9ESVNfT1VUNCB8IFdNODk5MF9ESVNfTE9VVCB8CisJCQkJV004OTkwX0RJU19ST1VUKTsKKworCQkJLyogRW5hYmxlIFBPQkNUUkwsIFNPRlRfU1QsIFZNSURUT0cgYW5kIEJVRkRDT1BFTiAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIFdNODk5MF9TT0ZUU1QgfAorCQkJCSAgICAgV004OTkwX0JVRkRDT1BFTiB8IFdNODk5MF9QT0JDVFJMIHwKKwkJCQkgICAgIFdNODk5MF9WTUlEVE9HKTsKKworCQkJLyogRGVsYXkgdG8gYWxsb3cgb3V0cHV0IGNhcHMgdG8gZGlzY2hhcmdlICovCisJCQltc2xlZXAobXNlY3NfdG9famlmZmllcygzMDApKTsKKworCQkJLyogRGlzYWJsZSBWTUlEVE9HICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMiwgV004OTkwX1NPRlRTVCB8CisJCQkJICAgICBXTTg5OTBfQlVGRENPUEVOIHwgV004OTkwX1BPQkNUUkwpOworCisJCQkvKiBkaXNhYmxlIGFsbCBvdXRwdXQgZGlzY2hhcmdlIGJpdHMgKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AxLCAwKTsKKworCQkJLyogRW5hYmxlIG91dHB1dHMgKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgMHgxYjAwKTsKKworCQkJbXNsZWVwKG1zZWNzX3RvX2ppZmZpZXMoNTApKTsKKworCQkJLyogRW5hYmxlIFZNSUQgYXQgMng1MGsgKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgMHgxZjAyKTsKKworCQkJbXNsZWVwKG1zZWNzX3RvX2ppZmZpZXMoMTAwKSk7CisKKwkJCS8qIEVuYWJsZSBWUkVGICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4MWYwMyk7CisKKwkJCW1zbGVlcChtc2Vjc190b19qaWZmaWVzKDYwMCkpOworCisJCQkvKiBFbmFibGUgQlVGSU9FTiAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIFdNODk5MF9TT0ZUU1QgfAorCQkJCSAgICAgV004OTkwX0JVRkRDT1BFTiB8IFdNODk5MF9QT0JDVFJMIHwKKwkJCQkgICAgIFdNODk5MF9CVUZJT0VOKTsKKworCQkJLyogRGlzYWJsZSBvdXRwdXRzICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4Myk7CisKKwkJCS8qIGRpc2FibGUgUE9CQ1RSTCwgU09GVF9TVCBhbmQgQlVGRENPUEVOICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMiwgV004OTkwX0JVRklPRU4pOworCQl9IGVsc2UgeworCQkJLyogT04gLT4gc3RhbmRieSAqLworCisJCX0KKwkJYnJlYWs7CisKKwljYXNlIFNORF9TT0NfQklBU19PRkY6CisJCS8qIEVuYWJsZSBQT0JDVFJMIGFuZCBTT0ZUX1NUICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AyLCBXTTg5OTBfU09GVFNUIHwKKwkJCVdNODk5MF9QT0JDVFJMIHwgV004OTkwX0JVRklPRU4pOworCisJCS8qIEVuYWJsZSBQT0JDVFJMLCBTT0ZUX1NUIGFuZCBCVUZEQ09QRU4gKi8KKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIFdNODk5MF9TT0ZUU1QgfAorCQkJV004OTkwX0JVRkRDT1BFTiB8IFdNODk5MF9QT0JDVFJMIHwKKwkJCVdNODk5MF9CVUZJT0VOKTsKKworCQkvKiBtdXRlIERBQyAqLworCQl2YWwgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9EQUNfQ1RSTCk7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0RBQ19DVFJMLCB2YWwgfCBXTTg5OTBfREFDX01VVEUpOworCisJCS8qIEVuYWJsZSBhbnkgZGlzYWJsZWQgb3V0cHV0cyAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4MWYwMyk7CisKKwkJLyogRGlzYWJsZSBWTUlEICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgMHgxZjAxKTsKKworCQltc2xlZXAobXNlY3NfdG9famlmZmllcygzMDApKTsKKworCQkvKiBFbmFibGUgYWxsIG91dHB1dCBkaXNjaGFyZ2UgYml0cyAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMSwgV004OTkwX0RJU19MTElORSB8CisJCQlXTTg5OTBfRElTX1JMSU5FIHwgV004OTkwX0RJU19PVVQzIHwKKwkJCVdNODk5MF9ESVNfT1VUNCB8IFdNODk5MF9ESVNfTE9VVCB8CisJCQlXTTg5OTBfRElTX1JPVVQpOworCisJCS8qIERpc2FibGUgVlJFRiAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4MCk7CisKKwkJLyogZGlzYWJsZSBQT0JDVFJMLCBTT0ZUX1NUIGFuZCBCVUZEQ09QRU4gKi8KKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIDB4MCk7CisJCWJyZWFrOworCX0KKworCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgV004OTkwX1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwIHwgU05EUlZfUENNX1JBVEVfMTEwMjUgfFwKKwlTTkRSVl9QQ01fUkFURV8xNjAwMCB8IFNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfCBcCisJU05EUlZfUENNX1JBVEVfNDgwMDApCisKKyNkZWZpbmUgV004OTkwX0ZPUk1BVFMgKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjBfM0xFIHxcCisJU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MzMl9MRSkKKworLyoKKyAqIFRoZSBXTTg5OTAgc3VwcG9ydHMgMiBkaWZmZXJlbnQgYW5kIG11dHVhbGx5IGV4Y2x1c2l2ZSBEQUkKKyAqIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIDEuIEFEQy9EQUMgb24gUHJpbWFyeSBJbnRlcmZhY2UKKyAqIDIuIEFEQyBvbiBQcmltYXJ5IEludGVyZmFjZS9EQUMgb24gc2Vjb25kYXJ5CisgKi8KK3N0cnVjdCBzbmRfc29jX2RhaSB3bTg5OTBfZGFpID0geworLyogQURDL0RBQyBvbiBwcmltYXJ5ICovCisJLm5hbWUgPSAiV004OTkwIEFEQy9EQUMgUHJpbWFyeSIsCisJLmlkID0gMSwKKwkucGxheWJhY2sgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCisJCS5jaGFubmVsc19taW4gPSAxLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gV004OTkwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFdNODk5MF9GT1JNQVRTLH0sCisJLmNhcHR1cmUgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJDYXB0dXJlIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBXTTg5OTBfUkFURVMsCisJCS5mb3JtYXRzID0gV004OTkwX0ZPUk1BVFMsfSwKKwkub3BzID0geworCQkuaHdfcGFyYW1zID0gd204OTkwX2h3X3BhcmFtcyx9LAorCS5kYWlfb3BzID0geworCQkuZGlnaXRhbF9tdXRlID0gd204OTkwX211dGUsCisJCS5zZXRfZm10ID0gd204OTkwX3NldF9kYWlfZm10LAorCQkuc2V0X2Nsa2RpdiA9IHdtODk5MF9zZXRfZGFpX2Nsa2RpdiwKKwkJLnNldF9wbGwgPSB3bTg5OTBfc2V0X2RhaV9wbGwsCisJCS5zZXRfc3lzY2xrID0gd204OTkwX3NldF9kYWlfc3lzY2xrLAorCX0sCit9OworRVhQT1JUX1NZTUJPTF9HUEwod204OTkwX2RhaSk7CisKK3N0YXRpYyBpbnQgd204OTkwX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCS8qIHdlIG9ubHkgbmVlZCB0byBzdXNwZW5kIGlmIHdlIGFyZSBhIHZhbGlkIGNhcmQgKi8KKwlpZiAoIWNvZGVjLT5jYXJkKQorCQlyZXR1cm4gMDsKKworCXdtODk5MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgaTsKKwl1OCBkYXRhWzJdOworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCisJLyogd2Ugb25seSBuZWVkIHRvIHJlc3VtZSBpZiB3ZSBhcmUgYSB2YWxpZCBjYXJkICovCisJaWYgKCFjb2RlYy0+Y2FyZCkKKwkJcmV0dXJuIDA7CisKKwkvKiBTeW5jIHJlZ19jYWNoZSB3aXRoIHRoZSBoYXJkd2FyZSAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODk5MF9yZWcpOyBpKyspIHsKKwkJaWYgKGkgKyAxID09IFdNODk5MF9SRVNFVCkKKwkJCWNvbnRpbnVlOworCQlkYXRhWzBdID0gKChpICsgMSkgPDwgMSkgfCAoKGNhY2hlW2ldID4+IDgpICYgMHgwMDAxKTsKKwkJZGF0YVsxXSA9IGNhY2hlW2ldICYgMHgwMGZmOworCQljb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CisJfQorCisJd204OTkwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBpbml0aWFsaXNlIHRoZSBXTTg5OTAgZHJpdmVyCisgKiByZWdpc3RlciB0aGUgbWl4ZXIgYW5kIGRzcCBpbnRlcmZhY2VzIHdpdGggdGhlIGtlcm5lbAorICovCitzdGF0aWMgaW50IHdtODk5MF9pbml0KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJdTE2IHJlZzsKKwlpbnQgcmV0ID0gMDsKKworCWNvZGVjLT5uYW1lID0gIldNODk5MCI7CisJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CisJY29kZWMtPnJlYWQgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGU7CisJY29kZWMtPndyaXRlID0gd204OTkwX3dyaXRlOworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtODk5MF9zZXRfYmlhc19sZXZlbDsKKwljb2RlYy0+ZGFpID0gJndtODk5MF9kYWk7CisJY29kZWMtPm51bV9kYWkgPSAyOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUod204OTkwX3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAod204OTkwX3JlZywgc2l6ZW9mKHdtODk5MF9yZWcpLCBHRlBfS0VSTkVMKTsKKworCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJd204OTkwX3Jlc2V0KGNvZGVjKTsKKworCS8qIHJlZ2lzdGVyIHBjbXMgKi8KKwlyZXQgPSBzbmRfc29jX25ld19wY21zKHNvY2RldiwgU05EUlZfREVGQVVMVF9JRFgxLCBTTkRSVl9ERUZBVUxUX1NUUjEpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAid204OTkwOiBmYWlsZWQgdG8gY3JlYXRlIHBjbXNcbiIpOworCQlnb3RvIHBjbV9lcnI7CisJfQorCisJLyogY2hhcmdlIG91dHB1dCBjYXBzICovCisJY29kZWMtPmJpYXNfbGV2ZWwgPSBTTkRfU09DX0JJQVNfT0ZGOworCXdtODk5MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCisJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzQpOworCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV80LCByZWcgfCBXTTg5OTBfQUxSQ0dQSU8xKTsKKworCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0dQSU8xX0dQSU8yKSAmCisJCX5XTTg5OTBfR1BJTzFfU0VMX01BU0s7CisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfR1BJTzFfR1BJTzIsIHJlZyB8IDEpOworCisJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yKTsKKwl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIHJlZyB8IFdNODk5MF9PUENMS19FTkEpOworCisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfTEVGVF9PVVRQVVRfVk9MVU1FLCAweDUwIHwgKDE8PDgpKTsKKwl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9SSUdIVF9PVVRQVVRfVk9MVU1FLCAweDUwIHwgKDE8PDgpKTsKKworCXdtODk5MF9hZGRfY29udHJvbHMoY29kZWMpOworCXdtODk5MF9hZGRfd2lkZ2V0cyhjb2RlYyk7CisJcmV0ID0gc25kX3NvY19yZWdpc3Rlcl9jYXJkKHNvY2Rldik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ3bTg5OTA6IGZhaWxlZCB0byByZWdpc3RlciBjYXJkXG4iKTsKKwkJZ290byBjYXJkX2VycjsKKwl9CisJcmV0dXJuIHJldDsKKworY2FyZF9lcnI6CisJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKKwlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOworcGNtX2VycjoKKwlrZnJlZShjb2RlYy0+cmVnX2NhY2hlKTsKKwlyZXR1cm4gcmV0OworfQorCisvKiBJZiB0aGUgaTJjIGxheWVyIHdlcmVuJ3Qgc28gYnJva2VuLCB3ZSBjb3VsZCBwYXNzIHRoaXMga2luZCBvZiBkYXRhCisgICBhcm91bmQgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKndtODk5MF9zb2NkZXY7CisKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisKKy8qCisgKiBXTTg5MSAyIHdpcmUgYWRkcmVzcyBpcyBkZXRlcm1pbmVkIGJ5IEdQSU81CisgKiBzdGF0ZSBkdXJpbmcgcG93ZXJ1cC4KKyAqICAgIGxvdyAgPSAweDM0CisgKiAgICBoaWdoID0gMHgzNgorICovCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgbm9ybWFsX2kyY1tdID0geyAwLCBJMkNfQ0xJRU5UX0VORCB9OworCisvKiBNYWdpYyBkZWZpbml0aW9uIG9mIGFsbCBvdGhlciB2YXJpYWJsZXMgYW5kIHRoaW5ncyAqLworSTJDX0NMSUVOVF9JTlNNT0Q7CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB3bTg5OTBfaTJjX2RyaXZlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGU7CisKK3N0YXRpYyBpbnQgd204OTkwX2NvZGVjX3Byb2JlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgaW50IGFkZHIsIGludCBraW5kKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gd204OTkwX3NvY2RldjsKKwlzdHJ1Y3Qgd204OTkwX3NldHVwX2RhdGEgKnNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJc3RydWN0IGkyY19jbGllbnQgKmkyYzsKKwlpbnQgcmV0OworCisJaWYgKGFkZHIgIT0gc2V0dXAtPmkyY19hZGRyZXNzKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWNsaWVudF90ZW1wbGF0ZS5hZGFwdGVyID0gYWRhcDsKKwljbGllbnRfdGVtcGxhdGUuYWRkciA9IGFkZHI7CisKKwlpMmMgPSAga21lbWR1cCgmY2xpZW50X3RlbXBsYXRlLCBzaXplb2YoY2xpZW50X3RlbXBsYXRlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGkyYyA9PSBOVUxMKSB7CisJCWtmcmVlKGNvZGVjKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCWkyY19zZXRfY2xpZW50ZGF0YShpMmMsIGNvZGVjKTsKKwljb2RlYy0+Y29udHJvbF9kYXRhID0gaTJjOworCisJcmV0ID0gaTJjX2F0dGFjaF9jbGllbnQoaTJjKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CisJCWdvdG8gZXJyOworCX0KKworCXJldCA9IHdtODk5MF9pbml0KHNvY2Rldik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg5OTBcbiIpOworCQlnb3RvIGVycjsKKwl9CisJcmV0dXJuIHJldDsKKworZXJyOgorCWtmcmVlKGNvZGVjKTsKKwlrZnJlZShpMmMpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX2kyY19kZXRhY2goc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOworCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCWtmcmVlKGNsaWVudCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX2kyY19hdHRhY2goc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCXJldHVybiBpMmNfcHJvYmUoYWRhcCwgJmFkZHJfZGF0YSwgd204OTkwX2NvZGVjX3Byb2JlKTsKK30KKworc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHdtODk5MF9pMmNfZHJpdmVyID0geworCS5kcml2ZXIgPSB7CisJCS5uYW1lID0gIldNODk5MCBJMkMgQ29kZWMiLAorCQkub3duZXIgPSBUSElTX01PRFVMRSwKKwl9LAorCS5hdHRhY2hfYWRhcHRlciA9IHdtODk5MF9pMmNfYXR0YWNoLAorCS5kZXRhY2hfY2xpZW50ID0gIHdtODk5MF9pMmNfZGV0YWNoLAorCS5jb21tYW5kID0gICAgICAgIE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlID0geworCS5uYW1lID0gICAiV004OTkwIiwKKwkuZHJpdmVyID0gJndtODk5MF9pMmNfZHJpdmVyLAorfTsKKyNlbmRpZgorCitzdGF0aWMgaW50IHdtODk5MF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHdtODk5MF9zZXR1cF9kYXRhICpzZXR1cDsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CisJc3RydWN0IHdtODk5MF9wcml2ICp3bTg5OTA7CisJaW50IHJldCA9IDA7CisKKwlwcl9pbmZvKCJXTTg5OTAgQXVkaW8gQ29kZWMgJXNcbiIsIFdNODk5MF9WRVJTSU9OKTsKKworCXNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOworCWNvZGVjID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zb2NfY29kZWMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoY29kZWMgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwl3bTg5OTAgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgd204OTkwX3ByaXYpLCBHRlBfS0VSTkVMKTsKKwlpZiAod204OTkwID09IE5VTEwpIHsKKwkJa2ZyZWUoY29kZWMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwljb2RlYy0+cHJpdmF0ZV9kYXRhID0gd204OTkwOworCXNvY2Rldi0+Y29kZWMgPSBjb2RlYzsKKwltdXRleF9pbml0KCZjb2RlYy0+bXV0ZXgpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV93aWRnZXRzKTsKKwlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fcGF0aHMpOworCXdtODk5MF9zb2NkZXYgPSBzb2NkZXY7CisKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaWYgKHNldHVwLT5pMmNfYWRkcmVzcykgeworCQlub3JtYWxfaTJjWzBdID0gc2V0dXAtPmkyY19hZGRyZXNzOworCQljb2RlYy0+aHdfd3JpdGUgPSAoaHdfd3JpdGVfdClpMmNfbWFzdGVyX3NlbmQ7CisJCXJldCA9IGkyY19hZGRfZHJpdmVyKCZ3bTg5OTBfaTJjX2RyaXZlcik7CisJCWlmIChyZXQgIT0gMCkKKwkJCXByaW50ayhLRVJOX0VSUiAiY2FuJ3QgYWRkIGkyYyBkcml2ZXIiKTsKKwl9CisjZWxzZQorCQkvKiBBZGQgb3RoZXIgaW50ZXJmYWNlcyBoZXJlICovCisjZW5kaWYKKwlyZXR1cm4gcmV0OworfQorCisvKiBwb3dlciBkb3duIGNoaXAgKi8KK3N0YXRpYyBpbnQgd204OTkwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCWlmIChjb2RlYy0+Y29udHJvbF9kYXRhKQorCQl3bTg5OTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOworCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaTJjX2RlbF9kcml2ZXIoJndtODk5MF9pMmNfZHJpdmVyKTsKKyNlbmRpZgorCWtmcmVlKGNvZGVjLT5wcml2YXRlX2RhdGEpOworCWtmcmVlKGNvZGVjKTsKKworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg5OTAgPSB7CisJLnByb2JlID0Jd204OTkwX3Byb2JlLAorCS5yZW1vdmUgPQl3bTg5OTBfcmVtb3ZlLAorCS5zdXNwZW5kID0Jd204OTkwX3N1c3BlbmQsCisJLnJlc3VtZSA9CXdtODk5MF9yZXN1bWUsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoc29jX2NvZGVjX2Rldl93bTg5OTApOworCitNT0RVTEVfREVTQ1JJUFRJT04oIkFTb0MgV004OTkwIGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiTGlhbSBHaXJkd29vZCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg5OTAuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJlYTU3NAotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkwLmgKQEAgLTAsMCArMSw4MzIgQEAKKy8qCisgKiB3bTg5OTAuaCAgLS0gIGF1ZGlvIGRyaXZlciBmb3IgV004OTkwCisgKgorICogQ29weXJpZ2h0IDIwMDcgV29sZnNvbiBNaWNyb2VsZWN0cm9uaWNzIFBMQy4KKyAqIEF1dGhvcjogR3JhZW1lIEdyZWdvcnkKKyAqICAgICAgICAgZ3JhZW1lLmdyZWdvcnlAd29sZnNvbm1pY3JvLmNvbSBvciBsaW51eEB3b2xmc29ubWljcm8uY29tCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSAgaXQgYW5kL29yIG1vZGlmeSBpdAorICogIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgorICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisKKyNpZm5kZWYgX19XTTg5OTBSRUdJU1RFUkRFRlNfSF9fCisjZGVmaW5lIF9fV004OTkwUkVHSVNURVJERUZTX0hfXworCisvKgorICogUmVnaXN0ZXIgdmFsdWVzLgorICovCisjZGVmaW5lIFdNODk5MF9SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCisjZGVmaW5lIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMgICAgICAgICAgICAgICAweDAzCisjZGVmaW5lIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMSAgICAgICAgICAgICAgICAweDA0CisjZGVmaW5lIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMiAgICAgICAgICAgICAgICAweDA1CisjZGVmaW5lIFdNODk5MF9DTE9DS0lOR18xICAgICAgICAgICAgICAgICAgICAgICAweDA2CisjZGVmaW5lIFdNODk5MF9DTE9DS0lOR18yICAgICAgICAgICAgICAgICAgICAgICAweDA3CisjZGVmaW5lIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMyAgICAgICAgICAgICAgICAweDA4CisjZGVmaW5lIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfNCAgICAgICAgICAgICAgICAweDA5CisjZGVmaW5lIFdNODk5MF9EQUNfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAweDBBCisjZGVmaW5lIFdNODk5MF9MRUZUX0RBQ19ESUdJVEFMX1ZPTFVNRSAgICAgICAgICAweDBCCisjZGVmaW5lIFdNODk5MF9SSUdIVF9EQUNfRElHSVRBTF9WT0xVTUUgICAgICAgICAweDBDCisjZGVmaW5lIFdNODk5MF9ESUdJVEFMX1NJREVfVE9ORSAgICAgICAgICAgICAgICAweDBECisjZGVmaW5lIFdNODk5MF9BRENfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAweDBFCisjZGVmaW5lIFdNODk5MF9MRUZUX0FEQ19ESUdJVEFMX1ZPTFVNRSAgICAgICAgICAweDBGCisjZGVmaW5lIFdNODk5MF9SSUdIVF9BRENfRElHSVRBTF9WT0xVTUUgICAgICAgICAweDEwCisjZGVmaW5lIFdNODk5MF9HUElPX0NUUkxfMSAgICAgICAgICAgICAgICAgICAgICAweDEyCisjZGVmaW5lIFdNODk5MF9HUElPMV9HUElPMiAgICAgICAgICAgICAgICAgICAgICAweDEzCisjZGVmaW5lIFdNODk5MF9HUElPM19HUElPNCAgICAgICAgICAgICAgICAgICAgICAweDE0CisjZGVmaW5lIFdNODk5MF9HUElPNV9HUElPNiAgICAgICAgICAgICAgICAgICAgICAweDE1CisjZGVmaW5lIFdNODk5MF9HUElPQ1RSTF8yICAgICAgICAgICAgICAgICAgICAgICAweDE2CisjZGVmaW5lIFdNODk5MF9HUElPX1BPTCAgICAgICAgICAgICAgICAgICAgICAgICAweDE3CisjZGVmaW5lIFdNODk5MF9MRUZUX0xJTkVfSU5QVVRfMV8yX1ZPTFVNRSAgICAgICAweDE4CisjZGVmaW5lIFdNODk5MF9MRUZUX0xJTkVfSU5QVVRfM180X1ZPTFVNRSAgICAgICAweDE5CisjZGVmaW5lIFdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUgICAgICAweDFBCisjZGVmaW5lIFdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzNfNF9WT0xVTUUgICAgICAweDFCCisjZGVmaW5lIFdNODk5MF9MRUZUX09VVFBVVF9WT0xVTUUgICAgICAgICAgICAgICAweDFDCisjZGVmaW5lIFdNODk5MF9SSUdIVF9PVVRQVVRfVk9MVU1FICAgICAgICAgICAgICAweDFECisjZGVmaW5lIFdNODk5MF9MSU5FX09VVFBVVFNfVk9MVU1FICAgICAgICAgICAgICAweDFFCisjZGVmaW5lIFdNODk5MF9PVVQzXzRfVk9MVU1FICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIFdNODk5MF9MRUZUX09QR0FfVk9MVU1FICAgICAgICAgICAgICAgICAweDIwCisjZGVmaW5lIFdNODk5MF9SSUdIVF9PUEdBX1ZPTFVNRSAgICAgICAgICAgICAgICAweDIxCisjZGVmaW5lIFdNODk5MF9TUEVBS0VSX1ZPTFVNRSAgICAgICAgICAgICAgICAgICAweDIyCisjZGVmaW5lIFdNODk5MF9DTEFTU0QxICAgICAgICAgICAgICAgICAgICAgICAgICAweDIzCisjZGVmaW5lIFdNODk5MF9DTEFTU0QzICAgICAgICAgICAgICAgICAgICAgICAgICAweDI1CisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjEgICAgICAgICAgICAgICAgICAgICAweDI3CisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjIgICAgICAgICAgICAgICAgICAgICAweDI4CisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjMgICAgICAgICAgICAgICAgICAgICAweDI5CisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjQgICAgICAgICAgICAgICAgICAgICAweDJBCisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjUgICAgICAgICAgICAgICAgICAgICAweDJCCisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjYgICAgICAgICAgICAgICAgICAgICAweDJDCisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVIxICAgICAgICAgICAgICAgICAgICAweDJECisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVIyICAgICAgICAgICAgICAgICAgICAweDJFCisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVIzICAgICAgICAgICAgICAgICAgICAweDJGCisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVI0ICAgICAgICAgICAgICAgICAgICAweDMwCisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVI1ICAgICAgICAgICAgICAgICAgICAweDMxCisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVI2ICAgICAgICAgICAgICAgICAgICAweDMyCisjZGVmaW5lIFdNODk5MF9PVVQzXzRfTUlYRVIgICAgICAgICAgICAgICAgICAgICAweDMzCisjZGVmaW5lIFdNODk5MF9MSU5FX01JWEVSMSAgICAgICAgICAgICAgICAgICAgICAweDM0CisjZGVmaW5lIFdNODk5MF9MSU5FX01JWEVSMiAgICAgICAgICAgICAgICAgICAgICAweDM1CisjZGVmaW5lIFdNODk5MF9TUEVBS0VSX01JWEVSICAgICAgICAgICAgICAgICAgICAweDM2CisjZGVmaW5lIFdNODk5MF9BRERJVElPTkFMX0NPTlRST0wgICAgICAgICAgICAgICAweDM3CisjZGVmaW5lIFdNODk5MF9BTlRJUE9QMSAgICAgICAgICAgICAgICAgICAgICAgICAweDM4CisjZGVmaW5lIFdNODk5MF9BTlRJUE9QMiAgICAgICAgICAgICAgICAgICAgICAgICAweDM5CisjZGVmaW5lIFdNODk5MF9NSUNCSUFTICAgICAgICAgICAgICAgICAgICAgICAgICAweDNBCisjZGVmaW5lIFdNODk5MF9QTEwxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNDCisjZGVmaW5lIFdNODk5MF9QTEwyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNECisjZGVmaW5lIFdNODk5MF9QTEwzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNFCisjZGVmaW5lIFdNODk5MF9JTlREUklWQklUUwkJCTB4M0YKKworI2RlZmluZSBXTTg5OTBfUkVHSVNURVJfQ09VTlQgICAgICAgICAgICAgICAgICAgNjAKKyNkZWZpbmUgV004OTkwX01BWF9SRUdJU1RFUiAgICAgICAgICAgICAgICAgICAgIDB4M0YKKworLyoKKyAqIEZpZWxkIERlZmluaXRpb25zLgorICovCisKKy8qCisgKiBSMCAoMHgwMCkgLSBSZXNldAorICovCisjZGVmaW5lIFdNODk5MF9TV19SRVNFVF9DSElQX0lEX01BU0sgICAgICAgICAgICAweEZGRkYgIC8qIFNXX1JFU0VUX0NISVBfSUQgKi8KKworLyoKKyAqIFIxICgweDAxKSAtIFBvd2VyIE1hbmFnZW1lbnQgKDEpCisgKi8KKyNkZWZpbmUgV004OTkwX1NQS19FTkEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogU1BLX0VOQSAqLworI2RlZmluZSBXTTg5OTBfU1BLX0VOQV9CSVQJCQkxMgorI2RlZmluZSBXTTg5OTBfT1VUM19FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBPVVQzX0VOQSAqLworI2RlZmluZSBXTTg5OTBfT1VUM19FTkFfQklUCQkJMTEKKyNkZWZpbmUgV004OTkwX09VVDRfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQwMCAgLyogT1VUNF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX09VVDRfRU5BX0JJVAkJCTEwCisjZGVmaW5lIFdNODk5MF9MT1VUX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAyMDAgIC8qIExPVVRfRU5BICovCisjZGVmaW5lIFdNODk5MF9MT1VUX0VOQV9CSVQJCQk5CisjZGVmaW5lIFdNODk5MF9ST1VUX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIFJPVVRfRU5BICovCisjZGVmaW5lIFdNODk5MF9ST1VUX0VOQV9CSVQJCQk4CisjZGVmaW5lIFdNODk5MF9NSUNCSUFTX0VOQSAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIE1JQ0JJQVNfRU5BICovCisjZGVmaW5lIFdNODk5MF9NSUNCSUFTX0VOQV9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9WTUlEX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMDYgIC8qIFZNSURfTU9ERSAtIFsyOjFdICovCisjZGVmaW5lIFdNODk5MF9WUkVGX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFZSRUZfRU5BICovCisjZGVmaW5lIFdNODk5MF9WUkVGX0VOQV9CSVQJCQkwCisKKy8qCisgKiBSMiAoMHgwMikgLSBQb3dlciBNYW5hZ2VtZW50ICgyKQorICovCisjZGVmaW5lIFdNODk5MF9QTExfRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIFBMTF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1BMTF9FTkFfQklUCQkJMTUKKyNkZWZpbmUgV004OTkwX1RTSFVUX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogVFNIVVRfRU5BICovCisjZGVmaW5lIFdNODk5MF9UU0hVVF9FTkFfQklUCQkJMTQKKyNkZWZpbmUgV004OTkwX1RTSFVUX09QRElTICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogVFNIVVRfT1BESVMgKi8KKyNkZWZpbmUgV004OTkwX1RTSFVUX09QRElTX0JJVAkJCTEzCisjZGVmaW5lIFdNODk5MF9PUENMS19FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIE9QQ0xLX0VOQSAqLworI2RlZmluZSBXTTg5OTBfT1BDTEtfRU5BX0JJVAkJCTExCisjZGVmaW5lIFdNODk5MF9BSU5MX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAyMDAgIC8qIEFJTkxfRU5BICovCisjZGVmaW5lIFdNODk5MF9BSU5MX0VOQV9CSVQJCQk5CisjZGVmaW5lIFdNODk5MF9BSU5SX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIEFJTlJfRU5BICovCisjZGVmaW5lIFdNODk5MF9BSU5SX0VOQV9CSVQJCQk4CisjZGVmaW5lIFdNODk5MF9MSU4zNF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExJTjM0X0VOQSAqLworI2RlZmluZSBXTTg5OTBfTElOMzRfRU5BX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0xJTjEyX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTElOMTJfRU5BICovCisjZGVmaW5lIFdNODk5MF9MSU4xMl9FTkFfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfUklOMzRfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBSSU4zNF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1JJTjM0X0VOQV9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9SSU4xMl9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIFJJTjEyX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUklOMTJfRU5BX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX0FEQ0xfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogQURDTF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xfRU5BX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX0FEQ1JfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogQURDUl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0FEQ1JfRU5BX0JJVAkJCTAKKworLyoKKyAqIFIzICgweDAzKSAtIFBvd2VyIE1hbmFnZW1lbnQgKDMpCisgKi8KKyNkZWZpbmUgV004OTkwX0xPTl9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogTE9OX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTE9OX0VOQV9CSVQJCQkxMworI2RlZmluZSBXTTg5OTBfTE9QX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBMT1BfRU5BICovCisjZGVmaW5lIFdNODk5MF9MT1BfRU5BX0JJVAkJCTEyCisjZGVmaW5lIFdNODk5MF9ST05fRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIFJPTl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1JPTl9FTkFfQklUCQkJMTEKKyNkZWZpbmUgV004OTkwX1JPUF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQwMCAgLyogUk9QX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUk9QX0VOQV9CSVQJCQkxMAorI2RlZmluZSBXTTg5OTBfTE9QR0FfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMT1BHQV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0xPUEdBX0VOQV9CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9ST1BHQV9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFJPUEdBX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUk9QR0FfRU5BX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX0xPTUlYX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTE9NSVhfRU5BICovCisjZGVmaW5lIFdNODk5MF9MT01JWF9FTkFfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfUk9NSVhfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBST01JWF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1JPTUlYX0VOQV9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9EQUNMX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIERBQ0xfRU5BICovCisjZGVmaW5lIFdNODk5MF9EQUNMX0VOQV9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9EQUNSX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIERBQ1JfRU5BICovCisjZGVmaW5lIFdNODk5MF9EQUNSX0VOQV9CSVQJCQkwCisKKy8qCisgKiBSNCAoMHgwNCkgLSBBdWRpbyBJbnRlcmZhY2UgKDEpCisgKi8KKyNkZWZpbmUgV004OTkwX0FJRkFEQ0xfU1JDICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogQUlGQURDTF9TUkMgKi8KKyNkZWZpbmUgV004OTkwX0FJRkFEQ1JfU1JDICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogQUlGQURDUl9TUkMgKi8KKyNkZWZpbmUgV004OTkwX0FJRkFEQ19URE0gICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogQUlGQURDX1RETSAqLworI2RlZmluZSBXTTg5OTBfQUlGQURDX1RETV9DSEFOICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBBSUZBRENfVERNX0NIQU4gKi8KKyNkZWZpbmUgV004OTkwX0FJRl9CQ0xLX0lOViAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogQUlGX0JDTEtfSU5WICovCisjZGVmaW5lIFdNODk5MF9BSUZfTFJDTEtfSU5WICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIEFJRl9MUkNMS19JTlYgKi8KKyNkZWZpbmUgV004OTkwX0FJRl9XTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDA2MCAgLyogQUlGX1dMIC0gWzY6NV0gKi8KKyNkZWZpbmUgV004OTkwX0FJRl9XTF8xNkJJVFMJCQkoMCA8PCA1KQorI2RlZmluZSBXTTg5OTBfQUlGX1dMXzIwQklUUwkJCSgxIDw8IDUpCisjZGVmaW5lIFdNODk5MF9BSUZfV0xfMjRCSVRTCQkJKDIgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FJRl9XTF8zMkJJVFMJCQkoMyA8PCA1KQorI2RlZmluZSBXTTg5OTBfQUlGX0ZNVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMDE4ICAvKiBBSUZfRk1UIC0gWzQ6M10gKi8KKyNkZWZpbmUgV004OTkwX0FJRl9UTUZfUklHSFRKCQkJKDAgPDwgMykKKyNkZWZpbmUgV004OTkwX0FJRl9UTUZfTEVGVEoJCQkoMSA8PCAzKQorI2RlZmluZSBXTTg5OTBfQUlGX1RNRl9JMlMJCQkoMiA8PCAzKQorI2RlZmluZSBXTTg5OTBfQUlGX1RNRl9EU1AJCQkoMyA8PCAzKQorCisvKgorICogUjUgKDB4MDUpIC0gQXVkaW8gSW50ZXJmYWNlICgyKQorICovCisjZGVmaW5lIFdNODk5MF9EQUNMX1NSQyAgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIERBQ0xfU1JDICovCisjZGVmaW5lIFdNODk5MF9EQUNSX1NSQyAgICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIERBQ1JfU1JDICovCisjZGVmaW5lIFdNODk5MF9BSUZEQUNfVERNICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEFJRkRBQ19URE0gKi8KKyNkZWZpbmUgV004OTkwX0FJRkRBQ19URE1fQ0hBTiAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogQUlGREFDX1RETV9DSEFOICovCisjZGVmaW5lIFdNODk5MF9EQUNfQk9PU1RfTUFTSyAgICAgICAgICAgICAgICAgICAweDBDMDAgIC8qIERBQ19CT09TVCAqLworI2RlZmluZSBXTTg5OTBfREFDX0NPTVAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBEQUNfQ09NUCAqLworI2RlZmluZSBXTTg5OTBfREFDX0NPTVBNT0RFICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBEQUNfQ09NUE1PREUgKi8KKyNkZWZpbmUgV004OTkwX0FEQ19DT01QICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogQURDX0NPTVAgKi8KKyNkZWZpbmUgV004OTkwX0FEQ19DT01QTU9ERSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogQURDX0NPTVBNT0RFICovCisjZGVmaW5lIFdNODk5MF9MT09QQkFDSyAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIExPT1BCQUNLICovCisKKy8qCisgKiBSNiAoMHgwNikgLSBDbG9ja2luZyAoMSkKKyAqLworI2RlZmluZSBXTTg5OTBfVE9DTEtfUkFURSAgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBUT0NMS19SQVRFICovCisjZGVmaW5lIFdNODk5MF9UT0NMS19FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIFRPQ0xLX0VOQSAqLworI2RlZmluZSBXTTg5OTBfT1BDTEtESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxRTAwICAvKiBPUENMS0RJViAtIFsxMjo5XSAqLworI2RlZmluZSBXTTg5OTBfRENMS0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMUMwICAvKiBEQ0xLRElWIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX0JDTEtfRElWX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAxRSAgLyogQkNMS19ESVYgLSBbNDoxXSAqLworI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMQkJCSgweDAgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzFfNQkJCSgweDEgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzIJCQkoMHgyIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8zCQkJKDB4MyA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfNAkJCSgweDQgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzVfNQkJCSgweDUgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzYJCQkoMHg2IDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl84CQkJKDB4NyA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMTEJCQkoMHg4IDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8xMgkJCSgweDkgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzE2CQkJKDB4QSA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMjIJCQkoMHhCIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8yNAkJCSgweEMgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzMyCQkJKDB4RCA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfNDQJCQkoMHhFIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl80OAkJCSgweEYgPDwgMSkKKworLyoKKyAqIFI3ICgweDA3KSAtIENsb2NraW5nICgyKQorICovCisjZGVmaW5lIFdNODk5MF9NQ0xLX1NSQyAgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIE1DTEtfU1JDICovCisjZGVmaW5lIFdNODk5MF9TWVNDTEtfU1JDICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIFNZU0NMS19TUkMgKi8KKyNkZWZpbmUgV004OTkwX0NMS19GT1JDRSAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogQ0xLX0ZPUkNFICovCisjZGVmaW5lIFdNODk5MF9NQ0xLX0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAweDE4MDAgIC8qIE1DTEtfRElWIC0gWzEyOjExXSAqLworI2RlZmluZSBXTTg5OTBfTUNMS19ESVZfMQkJCSgwIDw8IDExKQorI2RlZmluZSBXTTg5OTBfTUNMS19ESVZfMgkJCSgyIDw8IDExKQorI2RlZmluZSBXTTg5OTBfTUNMS19JTlYgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNDAwICAvKiBNQ0xLX0lOViAqLworI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl9NQVNLICAgICAgICAgICAgICAgICAgMHgwMEUwICAvKiBBRENfQ0xLRElWICovCisjZGVmaW5lIFdNODk5MF9BRENfQ0xLRElWXzEJCQkoMCA8PCA1KQorI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl8xXzUJCQkoMSA8PCA1KQorI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl8yCQkJKDIgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FEQ19DTEtESVZfMwkJCSgzIDw8IDUpCisjZGVmaW5lIFdNODk5MF9BRENfQ0xLRElWXzQJCQkoNCA8PCA1KQorI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl81XzUJCQkoNSA8PCA1KQorI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl82CQkJKDYgPDwgNSkKKyNkZWZpbmUgV004OTkwX0RBQ19DTEtESVZfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAxQyAgLyogREFDX0NMS0RJViAtIFs0OjJdICovCisjZGVmaW5lIFdNODk5MF9EQUNfQ0xLRElWXzEJCQkoMCA8PCAyKQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl8xXzUJCQkoMSA8PCAyKQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl8yCQkJKDIgPDwgMikKKyNkZWZpbmUgV004OTkwX0RBQ19DTEtESVZfMwkJCSgzIDw8IDIpCisjZGVmaW5lIFdNODk5MF9EQUNfQ0xLRElWXzQJCQkoNCA8PCAyKQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl81XzUJCQkoNSA8PCAyKQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl82CQkJKDYgPDwgMikKKworLyoKKyAqIFI4ICgweDA4KSAtIEF1ZGlvIEludGVyZmFjZSAoMykKKyAqLworI2RlZmluZSBXTTg5OTBfQUlGX01TVFIxICAgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBBSUZfTVNUUjEgKi8KKyNkZWZpbmUgV004OTkwX0FJRl9NU1RSMiAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogQUlGX01TVFIyICovCisjZGVmaW5lIFdNODk5MF9BSUZfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEFJRl9TRUwgKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xSQ19ESVIgICAgICAgICAgICAgICAgICAgICAgIDB4MDgwMCAgLyogQURDTFJDX0RJUiAqLworI2RlZmluZSBXTTg5OTBfQURDTFJDX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgMHgwN0ZGICAvKiBBRENMUkNfUkFURSAqLworCisvKgorICogUjkgKDB4MDkpIC0gQXVkaW8gSW50ZXJmYWNlICg0KQorICovCisjZGVmaW5lIFdNODk5MF9BTFJDR1BJTzEgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIEFMUkNHUElPMSAqLworI2RlZmluZSBXTTg5OTBfQUxSQ0JHUElPNiAgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBBTFJDQkdQSU82ICovCisjZGVmaW5lIFdNODk5MF9BSUZfVFJJUyAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEFJRl9UUklTICovCisjZGVmaW5lIFdNODk5MF9EQUNMUkNfRElSICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIERBQ0xSQ19ESVIgKi8KKyNkZWZpbmUgV004OTkwX0RBQ0xSQ19SQVRFX01BU0sgICAgICAgICAgICAgICAgIDB4MDdGRiAgLyogREFDTFJDX1JBVEUgKi8KKworLyoKKyAqIFIxMCAoMHgwQSkgLSBEQUMgQ1RSTAorICovCisjZGVmaW5lIFdNODk5MF9BSUZfTFJDTEtSQVRFICAgICAgICAgICAgICAgICAgICAweDA0MDAgIC8qIEFJRl9MUkNMS1JBVEUgKi8KKyNkZWZpbmUgV004OTkwX0RBQ19NT05PICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIwMCAgLyogREFDX01PTk8gKi8KKyNkZWZpbmUgV004OTkwX0RBQ19TQl9GSUxUICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogREFDX1NCX0ZJTFQgKi8KKyNkZWZpbmUgV004OTkwX0RBQ19NVVRFUkFURSAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogREFDX01VVEVSQVRFICovCisjZGVmaW5lIFdNODk5MF9EQUNfTVVURU1PREUgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIERBQ19NVVRFTU9ERSAqLworI2RlZmluZSBXTTg5OTBfREVFTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgwMDMwICAvKiBERUVNUCAtIFs1OjRdICovCisjZGVmaW5lIFdNODk5MF9EQUNfTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIERBQ19NVVRFICovCisjZGVmaW5lIFdNODk5MF9EQUNMX0RBVElOViAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIERBQ0xfREFUSU5WICovCisjZGVmaW5lIFdNODk5MF9EQUNSX0RBVElOViAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIERBQ1JfREFUSU5WICovCisKKy8qCisgKiBSMTEgKDB4MEIpIC0gTGVmdCBEQUMgRGlnaXRhbCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfREFDX1ZVICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBEQUNfVlUgKi8KKyNkZWZpbmUgV004OTkwX0RBQ0xfVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDBGRiAgLyogREFDTF9WT0wgLSBbNzowXSAqLworI2RlZmluZSBXTTg5OTBfREFDTF9WT0xfU0hJRlQJCQkwCisvKgorICogUjEyICgweDBDKSAtIFJpZ2h0IERBQyBEaWdpdGFsIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9EQUNfVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIERBQ19WVSAqLworI2RlZmluZSBXTTg5OTBfREFDUl9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMEZGICAvKiBEQUNSX1ZPTCAtIFs3OjBdICovCisjZGVmaW5lIFdNODk5MF9EQUNSX1ZPTF9TSElGVAkJCTAKKy8qCisgKiBSMTMgKDB4MEQpIC0gRGlnaXRhbCBTaWRlIFRvbmUKKyAqLworI2RlZmluZSBXTTg5OTBfQURDTF9EQUNfU1ZPTF9NQVNLICAgICAgICAgICAgICAgMHgwRiAgLyogQURDTF9EQUNfU1ZPTCAqLworI2RlZmluZSBXTTg5OTBfQURDTF9EQUNfU1ZPTF9TSElGVAkJOQorI2RlZmluZSBXTTg5OTBfQURDUl9EQUNfU1ZPTF9NQVNLICAgICAgICAgICAgICAgMHgwRiAgLyogQURDUl9EQUNfU1ZPTCAqLworI2RlZmluZSBXTTg5OTBfQURDUl9EQUNfU1ZPTF9TSElGVAkJNQorI2RlZmluZSBXTTg5OTBfQURDX1RPX0RBQ0xfTUFTSyAgICAgICAgICAgICAgICAgMHgwMyAgLyogQURDX1RPX0RBQ0wgLSBbMzoyXSAqLworI2RlZmluZSBXTTg5OTBfQURDX1RPX0RBQ0xfU0hJRlQJCTIKKyNkZWZpbmUgV004OTkwX0FEQ19UT19EQUNSX01BU0sgICAgICAgICAgICAgICAgIDB4MDMgIC8qIEFEQ19UT19EQUNSIC0gWzE6MF0gKi8KKyNkZWZpbmUgV004OTkwX0FEQ19UT19EQUNSX1NISUZUCQkwCisKKy8qCisgKiBSMTQgKDB4MEUpIC0gQURDIENUUkwKKyAqLworI2RlZmluZSBXTTg5OTBfQURDX0hQRl9FTkEgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBBRENfSFBGX0VOQSAqLworI2RlZmluZSBXTTg5OTBfQURDX0hQRl9FTkFfQklUCQkJOAorI2RlZmluZSBXTTg5OTBfQURDX0hQRl9DVVRfTUFTSyAgICAgICAgICAgICAgICAgMHgwMyAgLyogQURDX0hQRl9DVVQgLSBbNjo1XSAqLworI2RlZmluZSBXTTg5OTBfQURDX0hQRl9DVVRfU0hJRlQJCTUKKyNkZWZpbmUgV004OTkwX0FEQ0xfREFUSU5WICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogQURDTF9EQVRJTlYgKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xfREFUSU5WX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX0FEQ1JfREFUSU5WICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogQURDUl9EQVRJTlYgKi8KKyNkZWZpbmUgV004OTkwX0FEQ1JfREFUSU5WX0JJVAkJCTAKKworLyoKKyAqIFIxNSAoMHgwRikgLSBMZWZ0IEFEQyBEaWdpdGFsIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9BRENfVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIEFEQ19WVSAqLworI2RlZmluZSBXTTg5OTBfQURDTF9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMEZGICAvKiBBRENMX1ZPTCAtIFs3OjBdICovCisjZGVmaW5lIFdNODk5MF9BRENMX1ZPTF9TSElGVAkJCTAKKworLyoKKyAqIFIxNiAoMHgxMCkgLSBSaWdodCBBREMgRGlnaXRhbCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfQURDX1ZVICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBBRENfVlUgKi8KKyNkZWZpbmUgV004OTkwX0FEQ1JfVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDBGRiAgLyogQURDUl9WT0wgLSBbNzowXSAqLworI2RlZmluZSBXTTg5OTBfQURDUl9WT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSMTggKDB4MTIpIC0gR1BJTyBDVFJMIDEKKyAqLworI2RlZmluZSBXTTg5OTBfSVJRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBJUlEgKi8KKyNkZWZpbmUgV004OTkwX1RFTVBPSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgwMCAgLyogVEVNUE9LICovCisjZGVmaW5lIFdNODk5MF9NSUNTSFJUICAgICAgICAgICAgICAgICAgICAgICAgICAweDA0MDAgIC8qIE1JQ1NIUlQgKi8KKyNkZWZpbmUgV004OTkwX01JQ0RFVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIwMCAgLyogTUlDREVUICovCisjZGVmaW5lIFdNODk5MF9QTExfTENLICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIFBMTF9MQ0sgKi8KKyNkZWZpbmUgV004OTkwX0dQSThfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogR1BJOF9TVEFUVVMgKi8KKyNkZWZpbmUgV004OTkwX0dQSTdfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogR1BJN19TVEFUVVMgKi8KKyNkZWZpbmUgV004OTkwX0dQSU82X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogR1BJTzZfU1RBVFVTICovCisjZGVmaW5lIFdNODk5MF9HUElPNV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIEdQSU81X1NUQVRVUyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzRfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBHUElPNF9TVEFUVVMgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogR1BJTzNfU1RBVFVTICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIEdQSU8yX1NUQVRVUyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzFfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBHUElPMV9TVEFUVVMgKi8KKworLyoKKyAqIFIxOSAoMHgxMykgLSBHUElPMSAmIEdQSU8yCisgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8yX0RFQl9FTkEgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogR1BJTzJfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzJfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBHUElPMl9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9QVSAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEdQSU8yX1BVICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9QRCAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIEdQSU8yX1BEICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDBGMDAgIC8qIEdQSU8yX1NFTCAtIFsxMTo4XSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzFfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBHUElPMV9ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPMV9JUlFfRU5BICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIEdQSU8xX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8xX1BVICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogR1BJTzFfUFUgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8xX1BEICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogR1BJTzFfUEQgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8xX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwRiAgLyogR1BJTzFfU0VMIC0gWzM6MF0gKi8KKworLyoKKyAqIFIyMCAoMHgxNCkgLSBHUElPMyAmIEdQSU80CisgKi8KKyNkZWZpbmUgV004OTkwX0dQSU80X0RFQl9FTkEgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogR1BJTzRfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzRfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBHUElPNF9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPNF9QVSAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEdQSU80X1BVICovCisjZGVmaW5lIFdNODk5MF9HUElPNF9QRCAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIEdQSU80X1BEICovCisjZGVmaW5lIFdNODk5MF9HUElPNF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDBGMDAgIC8qIEdQSU80X1NFTCAtIFsxMTo4XSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzNfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBHUElPM19ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPM19JUlFfRU5BICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIEdQSU8zX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX1BVICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogR1BJTzNfUFUgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX1BEICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogR1BJTzNfUEQgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwRiAgLyogR1BJTzNfU0VMIC0gWzM6MF0gKi8KKworLyoKKyAqIFIyMSAoMHgxNSkgLSBHUElPNSAmIEdQSU82CisgKi8KKyNkZWZpbmUgV004OTkwX0dQSU82X0RFQl9FTkEgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogR1BJTzZfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzZfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBHUElPNl9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPNl9QVSAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEdQSU82X1BVICovCisjZGVmaW5lIFdNODk5MF9HUElPNl9QRCAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIEdQSU82X1BEICovCisjZGVmaW5lIFdNODk5MF9HUElPNl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDBGMDAgIC8qIEdQSU82X1NFTCAtIFsxMTo4XSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzVfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBHUElPNV9ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPNV9JUlFfRU5BICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIEdQSU81X0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU81X1BVICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogR1BJTzVfUFUgKi8KKyNkZWZpbmUgV004OTkwX0dQSU81X1BEICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogR1BJTzVfUEQgKi8KKyNkZWZpbmUgV004OTkwX0dQSU81X1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwRiAgLyogR1BJTzVfU0VMIC0gWzM6MF0gKi8KKworLyoKKyAqIFIyMiAoMHgxNikgLSBHUElPQ1RSTCAyCisgKi8KKyNkZWZpbmUgV004OTkwX1JEXzNXX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogUkRfM1dfRU5BICovCisjZGVmaW5lIFdNODk5MF9NT0RFXzNXNFcgICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIE1PREVfM1c0VyAqLworI2RlZmluZSBXTTg5OTBfVEVNUE9LX0lSUV9FTkEgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBURU1QT0tfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTUlDU0hSVF9JUlFfRU5BICAgICAgICAgICAgICAgICAgMHgwNDAwICAvKiBNSUNTSFJUX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX01JQ0RFVF9JUlFfRU5BICAgICAgICAgICAgICAgICAgIDB4MDIwMCAgLyogTUlDREVUX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1BMTF9MQ0tfSVJRX0VOQSAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogUExMX0xDS19JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUEk4X0RFQl9FTkEgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIEdQSThfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJOF9JUlFfRU5BICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBHUEk4X0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSThfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogR1BJOF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSTdfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogR1BJN19ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUEk3X0lSUV9FTkEgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIEdQSTdfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJN19FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBHUEk3X0VOQSAqLworCisvKgorICogUjIzICgweDE3KSAtIEdQSU9fUE9MCisgKi8KKyNkZWZpbmUgV004OTkwX0lSUV9JTlYgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogSVJRX0lOViAqLworI2RlZmluZSBXTTg5OTBfVEVNUE9LX1BPTCAgICAgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBURU1QT0tfUE9MICovCisjZGVmaW5lIFdNODk5MF9NSUNTSFJUX1BPTCAgICAgICAgICAgICAgICAgICAgICAweDA0MDAgIC8qIE1JQ1NIUlRfUE9MICovCisjZGVmaW5lIFdNODk5MF9NSUNERVRfUE9MICAgICAgICAgICAgICAgICAgICAgICAweDAyMDAgIC8qIE1JQ0RFVF9QT0wgKi8KKyNkZWZpbmUgV004OTkwX1BMTF9MQ0tfUE9MICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogUExMX0xDS19QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSThfUE9MICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogR1BJOF9QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSTdfUE9MICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogR1BJN19QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSU82X1BPTCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogR1BJTzZfUE9MICovCisjZGVmaW5lIFdNODk5MF9HUElPNV9QT0wgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIEdQSU81X1BPTCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzRfUE9MICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBHUElPNF9QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX1BPTCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogR1BJTzNfUE9MICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9QT0wgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIEdQSU8yX1BPTCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzFfUE9MICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBHUElPMV9QT0wgKi8KKworLyoKKyAqIFIyNCAoMHgxOCkgLSBMZWZ0IExpbmUgSW5wdXQgMSYyIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9JUFZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIElQVlUgKi8KKyNkZWZpbmUgV004OTkwX0xJMTJNVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTEkxMk1VVEUgKi8KKyNkZWZpbmUgV004OTkwX0xJMTJNVVRFX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0xJMTJaQyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTEkxMlpDICovCisjZGVmaW5lIFdNODk5MF9MSTEyWkNfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTElOMTJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDFGICAvKiBMSU4xMlZPTCAtIFs0OjBdICovCisjZGVmaW5lIFdNODk5MF9MSU4xMlZPTF9TSElGVAkJCTAKKy8qCisgKiBSMjUgKDB4MTkpIC0gTGVmdCBMaW5lIElucHV0IDMmNCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfSVBWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBJUFZVICovCisjZGVmaW5lIFdNODk5MF9MSTM0TVVURSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExJMzRNVVRFICovCisjZGVmaW5lIFdNODk5MF9MSTM0TVVURV9CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9MSTM0WkMgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIExJMzRaQyAqLworI2RlZmluZSBXTTg5OTBfTEkzNFpDX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX0xJTjM0Vk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAxRiAgLyogTElOMzRWT0wgLSBbNDowXSAqLworI2RlZmluZSBXTTg5OTBfTElOMzRWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSMjYgKDB4MUEpIC0gUmlnaHQgTGluZSBJbnB1dCAxJjIgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX0lQVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogSVBWVSAqLworI2RlZmluZSBXTTg5OTBfUkkxMk1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBSSTEyTVVURSAqLworI2RlZmluZSBXTTg5OTBfUkkxMk1VVEVfQklUCQkJNworI2RlZmluZSBXTTg5OTBfUkkxMlpDICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBSSTEyWkMgKi8KKyNkZWZpbmUgV004OTkwX1JJMTJaQ19CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9SSU4xMlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMUYgIC8qIFJJTjEyVk9MIC0gWzQ6MF0gKi8KKyNkZWZpbmUgV004OTkwX1JJTjEyVk9MX1NISUZUCQkJMAorCisvKgorICogUjI3ICgweDFCKSAtIFJpZ2h0IExpbmUgSW5wdXQgMyY0IFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9JUFZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIElQVlUgKi8KKyNkZWZpbmUgV004OTkwX1JJMzRNVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogUkkzNE1VVEUgKi8KKyNkZWZpbmUgV004OTkwX1JJMzRNVVRFX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX1JJMzRaQyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogUkkzNFpDICovCisjZGVmaW5lIFdNODk5MF9SSTM0WkNfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfUklOMzRWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDFGICAvKiBSSU4zNFZPTCAtIFs0OjBdICovCisjZGVmaW5lIFdNODk5MF9SSU4zNFZPTF9TSElGVAkJCTAKKworLyoKKyAqIFIyOCAoMHgxQykgLSBMZWZ0IE91dHB1dCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfT1BWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBPUFZVICovCisjZGVmaW5lIFdNODk5MF9MT1pDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExPWkMgKi8KKyNkZWZpbmUgV004OTkwX0xPWkNfQklUCQkJCTcKKyNkZWZpbmUgV004OTkwX0xPVVRWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDA3RiAgLyogTE9VVFZPTCAtIFs2OjBdICovCisjZGVmaW5lIFdNODk5MF9MT1VUVk9MX1NISUZUCQkJMAorLyoKKyAqIFIyOSAoMHgxRCkgLSBSaWdodCBPdXRwdXQgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX09QVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogT1BWVSAqLworI2RlZmluZSBXTTg5OTBfUk9aQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBST1pDICovCisjZGVmaW5lIFdNODk5MF9ST1pDX0JJVAkJCQk3CisjZGVmaW5lIFdNODk5MF9ST1VUVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwN0YgIC8qIFJPVVRWT0wgLSBbNjowXSAqLworI2RlZmluZSBXTTg5OTBfUk9VVFZPTF9TSElGVAkJCTAKKy8qCisgKiBSMzAgKDB4MUUpIC0gTGluZSBPdXRwdXRzIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9MT05NVVRFICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIExPTk1VVEUgKi8KKyNkZWZpbmUgV004OTkwX0xPTk1VVEVfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTE9QTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMT1BNVVRFICovCisjZGVmaW5lIFdNODk5MF9MT1BNVVRFX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX0xPQVRUTiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogTE9BVFROICovCisjZGVmaW5lIFdNODk5MF9MT0FUVE5fQklUCQkJNAorI2RlZmluZSBXTTg5OTBfUk9OTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBST05NVVRFICovCisjZGVmaW5lIFdNODk5MF9ST05NVVRFX0JJVAkJCTIKKyNkZWZpbmUgV004OTkwX1JPUE1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogUk9QTVVURSAqLworI2RlZmluZSBXTTg5OTBfUk9QTVVURV9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9ST0FUVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFJPQVRUTiAqLworI2RlZmluZSBXTTg5OTBfUk9BVFROX0JJVAkJCTAKKworLyoKKyAqIFIzMSAoMHgxRikgLSBPdXQzLzQgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX09VVDNNVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogT1VUM01VVEUgKi8KKyNkZWZpbmUgV004OTkwX09VVDNNVVRFX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX09VVDNBVFROICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogT1VUM0FUVE4gKi8KKyNkZWZpbmUgV004OTkwX09VVDNBVFROX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX09VVDRNVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogT1VUNE1VVEUgKi8KKyNkZWZpbmUgV004OTkwX09VVDRNVVRFX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX09VVDRBVFROICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogT1VUNEFUVE4gKi8KKyNkZWZpbmUgV004OTkwX09VVDRBVFROX0JJVAkJCTAKKworLyoKKyAqIFIzMiAoMHgyMCkgLSBMZWZ0IE9QR0EgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX09QVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogT1BWVSAqLworI2RlZmluZSBXTTg5OTBfTE9QR0FaQyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMT1BHQVpDICovCisjZGVmaW5lIFdNODk5MF9MT1BHQVpDX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0xPUEdBVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDA3RiAgLyogTE9QR0FWT0wgLSBbNjowXSAqLworI2RlZmluZSBXTTg5OTBfTE9QR0FWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSMzMgKDB4MjEpIC0gUmlnaHQgT1BHQSBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfT1BWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBPUFZVICovCisjZGVmaW5lIFdNODk5MF9ST1BHQVpDICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIFJPUEdBWkMgKi8KKyNkZWZpbmUgV004OTkwX1JPUEdBWkNfQklUCQkJNworI2RlZmluZSBXTTg5OTBfUk9QR0FWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDdGICAvKiBST1BHQVZPTCAtIFs2OjBdICovCisjZGVmaW5lIFdNODk5MF9ST1BHQVZPTF9TSElGVAkJCTAKKy8qCisgKiBSMzQgKDB4MjIpIC0gU3BlYWtlciBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfU1BLVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDAzICAvKiBTUEtWT0wgLSBbMTowXSAqLworI2RlZmluZSBXTTg5OTBfU1BLVk9MX1NISUZUCQkJMAorCisvKgorICogUjM1ICgweDIzKSAtIENsYXNzRDEKKyAqLworI2RlZmluZSBXTTg5OTBfQ0RNT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBDRE1PREUgKi8KKyNkZWZpbmUgV004OTkwX0NETU9ERV9CSVQJCQk4CisKKy8qCisgKiBSMzcgKDB4MjUpIC0gQ2xhc3NEMworICovCisjZGVmaW5lIFdNODk5MF9EQ0dBSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDcgIC8qIERDR0FJTiAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9EQ0dBSU5fU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9BQ0dBSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDcgIC8qIEFDR0FJTiAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9BQ0dBSU5fU0hJRlQJCQkwCisvKgorICogUjM5ICgweDI3KSAtIElucHV0IE1peGVyMQorICovCisjZGVmaW5lIFdNODk5MF9BSU5MTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMEMgIC8qIEFJTkxNT0RFIC0gWzM6Ml0gKi8KKyNkZWZpbmUgV004OTkwX0FJTkxNT0RFX1NISUZUCQkJMgorI2RlZmluZSBXTTg5OTBfQUlOUk1PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDAzICAvKiBBSU5STU9ERSAtIFsxOjBdICovCisjZGVmaW5lIFdNODk5MF9BSU5STU9ERV9TSElGVAkJCTAKKworLyoKKyAqIFI0MCAoMHgyOCkgLSBJbnB1dCBNaXhlcjIKKyAqLworI2RlZmluZSBXTTg5OTBfTE1QNAkJCQkweDAwODAJLyogTE1QNCAqLworI2RlZmluZSBXTTg5OTBfTE1QNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgNwkvKiBMTVA0ICovCisjZGVmaW5lIFdNODk5MF9MTU4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIExNTjMgKi8KKyNkZWZpbmUgV004OTkwX0xNTjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDYgICAgICAgLyogTE1OMyAqLworI2RlZmluZSBXTTg5OTBfTE1QMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMTVAyICovCisjZGVmaW5lIFdNODk5MF9MTVAyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICA1ICAgICAgIC8qIExNUDIgKi8KKyNkZWZpbmUgV004OTkwX0xNTjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogTE1OMSAqLworI2RlZmluZSBXTTg5OTBfTE1OMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgNCAgICAgICAvKiBMTU4xICovCisjZGVmaW5lIFdNODk5MF9STVA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIFJNUDQgKi8KKyNkZWZpbmUgV004OTkwX1JNUDRfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDMgICAgICAgLyogUk1QNCAqLworI2RlZmluZSBXTTg5OTBfUk1OMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBSTU4zICovCisjZGVmaW5lIFdNODk5MF9STU4zX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAyICAgICAgIC8qIFJNTjMgKi8KKyNkZWZpbmUgV004OTkwX1JNUDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogUk1QMiAqLworI2RlZmluZSBXTTg5OTBfUk1QMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgMSAgICAgICAvKiBSTVAyICovCisjZGVmaW5lIFdNODk5MF9STU4xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFJNTjEgKi8KKyNkZWZpbmUgV004OTkwX1JNTjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDAgICAgICAgLyogUk1OMSAqLworCisvKgorICogUjQxICgweDI5KSAtIElucHV0IE1peGVyMworICovCisjZGVmaW5lIFdNODk5MF9MMzRNTkIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIEwzNE1OQiAqLworI2RlZmluZSBXTTg5OTBfTDM0TU5CX0JJVAkJCTgKKyNkZWZpbmUgV004OTkwX0wzNE1OQlNUICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTDM0TU5CU1QgKi8KKyNkZWZpbmUgV004OTkwX0wzNE1OQlNUX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0wxMk1OQiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTDEyTU5CICovCisjZGVmaW5lIFdNODk5MF9MMTJNTkJfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfTDEyTU5CU1QgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBMMTJNTkJTVCAqLworI2RlZmluZSBXTTg5OTBfTDEyTU5CU1RfQklUCQkJNAorI2RlZmluZSBXTTg5OTBfTERCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDA3ICAvKiBMREJWT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfTERCVk9MX1NISUZUCQkJMAorCisvKgorICogUjQyICgweDJBKSAtIElucHV0IE1peGVyNAorICovCisjZGVmaW5lIFdNODk5MF9SMzRNTkIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIFIzNE1OQiAqLworI2RlZmluZSBXTTg5OTBfUjM0TU5CX0JJVAkJCTgKKyNkZWZpbmUgV004OTkwX1IzNE1OQlNUICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogUjM0TU5CU1QgKi8KKyNkZWZpbmUgV004OTkwX1IzNE1OQlNUX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX1IxMk1OQiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogUjEyTU5CICovCisjZGVmaW5lIFdNODk5MF9SMTJNTkJfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfUjEyTU5CU1QgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBSMTJNTkJTVCAqLworI2RlZmluZSBXTTg5OTBfUjEyTU5CU1RfQklUCQkJNAorI2RlZmluZSBXTTg5OTBfUkRCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDA3ICAvKiBSREJWT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfUkRCVk9MX1NISUZUCQkJMAorCisvKgorICogUjQzICgweDJCKSAtIElucHV0IE1peGVyNQorICovCisjZGVmaW5lIFdNODk5MF9MSTJCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMSTJCVk9MIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX0xJMkJWT0xfU0hJRlQJCQk2CisjZGVmaW5lIFdNODk5MF9MUjRCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMUjRCVk9MIC0gWzU6M10gKi8KKyNkZWZpbmUgV004OTkwX0xSNEJWT0xfU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9MTDRCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMTDRCVk9MIC0gWzI6MF0gKi8KKyNkZWZpbmUgV004OTkwX0xMNEJWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSNDQgKDB4MkMpIC0gSW5wdXQgTWl4ZXI2CisgKi8KKyNkZWZpbmUgV004OTkwX1JJMkJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJJMkJWT0wgLSBbODo2XSAqLworI2RlZmluZSBXTTg5OTBfUkkyQlZPTF9TSElGVAkJCTYKKyNkZWZpbmUgV004OTkwX1JMNEJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJMNEJWT0wgLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfUkw0QlZPTF9TSElGVAkJCTMKKyNkZWZpbmUgV004OTkwX1JSNEJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJSNEJWT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfUlI0QlZPTF9TSElGVAkJCTAKKworLyoKKyAqIFI0NSAoMHgyRCkgLSBPdXRwdXQgTWl4ZXIxCisgKi8KKyNkZWZpbmUgV004OTkwX0xSQkxPICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTFJCTE8gKi8KKyNkZWZpbmUgV004OTkwX0xSQkxPX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0xMQkxPICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTExCTE8gKi8KKyNkZWZpbmUgV004OTkwX0xMQkxPX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX0xSSTNMTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTFJJM0xPICovCisjZGVmaW5lIFdNODk5MF9MUkkzTE9fQklUCQkJNQorI2RlZmluZSBXTTg5OTBfTExJM0xPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBMTEkzTE8gKi8KKyNkZWZpbmUgV004OTkwX0xMSTNMT19CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9MUjEyTE8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIExSMTJMTyAqLworI2RlZmluZSBXTTg5OTBfTFIxMkxPX0JJVAkJCTMKKyNkZWZpbmUgV004OTkwX0xMMTJMTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogTEwxMkxPICovCisjZGVmaW5lIFdNODk5MF9MTDEyTE9fQklUCQkJMgorI2RlZmluZSBXTTg5OTBfTERMTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBMRExPICovCisjZGVmaW5lIFdNODk5MF9MRExPX0JJVAkJCQkwCisKKy8qCisgKiBSNDYgKDB4MkUpIC0gT3V0cHV0IE1peGVyMgorICovCisjZGVmaW5lIFdNODk5MF9STEJSTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIFJMQlJPICovCisjZGVmaW5lIFdNODk5MF9STEJST19CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9SUkJSTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFJSQlJPICovCisjZGVmaW5lIFdNODk5MF9SUkJST19CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9STEkzUk8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIFJMSTNSTyAqLworI2RlZmluZSBXTTg5OTBfUkxJM1JPX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX1JSSTNSTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogUlJJM1JPICovCisjZGVmaW5lIFdNODk5MF9SUkkzUk9fQklUCQkJNAorI2RlZmluZSBXTTg5OTBfUkwxMlJPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBSTDEyUk8gKi8KKyNkZWZpbmUgV004OTkwX1JMMTJST19CSVQJCQkzCisjZGVmaW5lIFdNODk5MF9SUjEyUk8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIFJSMTJSTyAqLworI2RlZmluZSBXTTg5OTBfUlIxMlJPX0JJVAkJCTIKKyNkZWZpbmUgV004OTkwX1JEUk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogUkRSTyAqLworI2RlZmluZSBXTTg5OTBfUkRST19CSVQJCQkJMAorCisvKgorICogUjQ3ICgweDJGKSAtIE91dHB1dCBNaXhlcjMKKyAqLworI2RlZmluZSBXTTg5OTBfTExJM0xPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTExJM0xPVk9MIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX0xMSTNMT1ZPTF9TSElGVAkJCTYKKyNkZWZpbmUgV004OTkwX0xSMTJMT1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExSMTJMT1ZPTCAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9MUjEyTE9WT0xfU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9MTDEyTE9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMTDEyTE9WT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfTEwxMkxPVk9MX1NISUZUCQkJMAorCisvKgorICogUjQ4ICgweDMwKSAtIE91dHB1dCBNaXhlcjQKKyAqLworI2RlZmluZSBXTTg5OTBfUlJJM1JPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUlJJM1JPVk9MIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX1JSSTNST1ZPTF9TSElGVAkJCTYKKyNkZWZpbmUgV004OTkwX1JMMTJST1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJMMTJST1ZPTCAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9STDEyUk9WT0xfU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9SUjEyUk9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSUjEyUk9WT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfUlIxMlJPVk9MX1NISUZUCQkJMAorCisvKgorICogUjQ5ICgweDMxKSAtIE91dHB1dCBNaXhlcjUKKyAqLworI2RlZmluZSBXTTg5OTBfTFJJM0xPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTFJJM0xPVk9MIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX0xSSTNMT1ZPTF9TSElGVAkJCTYKKyNkZWZpbmUgV004OTkwX0xSQkxPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExSQkxPVk9MIC0gWzU6M10gKi8KKyNkZWZpbmUgV004OTkwX0xSQkxPVk9MX1NISUZUCQkJMworI2RlZmluZSBXTTg5OTBfTExCTE9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTExCTE9WT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfTExCTE9WT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSNTAgKDB4MzIpIC0gT3V0cHV0IE1peGVyNgorICovCisjZGVmaW5lIFdNODk5MF9STEkzUk9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSTEkzUk9WT0wgLSBbODo2XSAqLworI2RlZmluZSBXTTg5OTBfUkxJM1JPVk9MX1NISUZUCQkJNgorI2RlZmluZSBXTTg5OTBfUkxCUk9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUkxCUk9WT0wgLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfUkxCUk9WT0xfU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9SUkJST1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSUkJST1ZPTCAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9SUkJST1ZPTF9TSElGVAkJCTAKKworLyoKKyAqIFI1MSAoMHgzMykgLSBPdXQzLzQgTWl4ZXIKKyAqLworI2RlZmluZSBXTTg5OTBfVlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTgwICAvKiBWU0VMIC0gWzg6N10gKi8KKyNkZWZpbmUgV004OTkwX0xJNE8zICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTEk0TzMgKi8KKyNkZWZpbmUgV004OTkwX0xJNE8zX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX0xQR0FPMyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogTFBHQU8zICovCisjZGVmaW5lIFdNODk5MF9MUEdBTzNfQklUCQkJNAorI2RlZmluZSBXTTg5OTBfUkk0TzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBSSTRPNCAqLworI2RlZmluZSBXTTg5OTBfUkk0TzRfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfUlBHQU80ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBSUEdBTzQgKi8KKyNkZWZpbmUgV004OTkwX1JQR0FPNF9CSVQJCQkwCisvKgorICogUjUyICgweDM0KSAtIExpbmUgTWl4ZXIxCisgKi8KKyNkZWZpbmUgV004OTkwX0xMT1BHQUxPTiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTExPUEdBTE9OICovCisjZGVmaW5lIFdNODk5MF9MTE9QR0FMT05fQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTFJPUEdBTE9OICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMUk9QR0FMT04gKi8KKyNkZWZpbmUgV004OTkwX0xST1BHQUxPTl9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9MT1BMT04gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIExPUExPTiAqLworI2RlZmluZSBXTTg5OTBfTE9QTE9OX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX0xSMTJMT1AgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogTFIxMkxPUCAqLworI2RlZmluZSBXTTg5OTBfTFIxMkxPUF9CSVQJCQkyCisjZGVmaW5lIFdNODk5MF9MTDEyTE9QICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIExMMTJMT1AgKi8KKyNkZWZpbmUgV004OTkwX0xMMTJMT1BfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfTExPUEdBTE9QICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBMTE9QR0FMT1AgKi8KKyNkZWZpbmUgV004OTkwX0xMT1BHQUxPUF9CSVQJCQkwCisvKgorICogUjUzICgweDM1KSAtIExpbmUgTWl4ZXIyCisgKi8KKyNkZWZpbmUgV004OTkwX1JST1BHQVJPTiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogUlJPUEdBUk9OICovCisjZGVmaW5lIFdNODk5MF9SUk9QR0FST05fQklUCQkJNgorI2RlZmluZSBXTTg5OTBfUkxPUEdBUk9OICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBSTE9QR0FST04gKi8KKyNkZWZpbmUgV004OTkwX1JMT1BHQVJPTl9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9ST1BST04gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIFJPUFJPTiAqLworI2RlZmluZSBXTTg5OTBfUk9QUk9OX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX1JMMTJST1AgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogUkwxMlJPUCAqLworI2RlZmluZSBXTTg5OTBfUkwxMlJPUF9CSVQJCQkyCisjZGVmaW5lIFdNODk5MF9SUjEyUk9QICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIFJSMTJST1AgKi8KKyNkZWZpbmUgV004OTkwX1JSMTJST1BfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfUlJPUEdBUk9QICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBSUk9QR0FST1AgKi8KKyNkZWZpbmUgV004OTkwX1JST1BHQVJPUF9CSVQJCQkwCisKKy8qCisgKiBSNTQgKDB4MzYpIC0gU3BlYWtlciBNaXhlcgorICovCisjZGVmaW5lIFdNODk5MF9MQjJTUEsgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExCMlNQSyAqLworI2RlZmluZSBXTTg5OTBfTEIyU1BLX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX1JCMlNQSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogUkIyU1BLICovCisjZGVmaW5lIFdNODk5MF9SQjJTUEtfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTEkyU1BLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMSTJTUEsgKi8KKyNkZWZpbmUgV004OTkwX0xJMlNQS19CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9SSTJTUEsgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIFJJMlNQSyAqLworI2RlZmluZSBXTTg5OTBfUkkyU1BLX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX0xPUEdBU1BLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogTE9QR0FTUEsgKi8KKyNkZWZpbmUgV004OTkwX0xPUEdBU1BLX0JJVAkJCTMKKyNkZWZpbmUgV004OTkwX1JPUEdBU1BLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogUk9QR0FTUEsgKi8KKyNkZWZpbmUgV004OTkwX1JPUEdBU1BLX0JJVAkJCTIKKyNkZWZpbmUgV004OTkwX0xEU1BLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogTERTUEsgKi8KKyNkZWZpbmUgV004OTkwX0xEU1BLX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX1JEU1BLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogUkRTUEsgKi8KKyNkZWZpbmUgV004OTkwX1JEU1BLX0JJVAkJCTAKKworLyoKKyAqIFI1NSAoMHgzNykgLSBBZGRpdGlvbmFsIENvbnRyb2wKKyAqLworI2RlZmluZSBXTTg5OTBfVlJPSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBWUk9JICovCisKKy8qCisgKiBSNTYgKDB4MzgpIC0gQW50aVBPUDEKKyAqLworI2RlZmluZSBXTTg5OTBfRElTX0xMSU5FICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBESVNfTExJTkUgKi8KKyNkZWZpbmUgV004OTkwX0RJU19STElORSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogRElTX1JMSU5FICovCisjZGVmaW5lIFdNODk5MF9ESVNfT1VUMyAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIERJU19PVVQzICovCisjZGVmaW5lIFdNODk5MF9ESVNfT1VUNCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIERJU19PVVQ0ICovCisjZGVmaW5lIFdNODk5MF9ESVNfTE9VVCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIERJU19MT1VUICovCisjZGVmaW5lIFdNODk5MF9ESVNfUk9VVCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIERJU19ST1VUICovCisKKy8qCisgKiBSNTcgKDB4MzkpIC0gQW50aVBPUDIKKyAqLworI2RlZmluZSBXTTg5OTBfU09GVFNUICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBTT0ZUU1QgKi8KKyNkZWZpbmUgV004OTkwX0JVRklPRU4gICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogQlVGSU9FTiAqLworI2RlZmluZSBXTTg5OTBfQlVGRENPUEVOICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBCVUZEQ09QRU4gKi8KKyNkZWZpbmUgV004OTkwX1BPQkNUUkwgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogUE9CQ1RSTCAqLworI2RlZmluZSBXTTg5OTBfVk1JRFRPRyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBWTUlEVE9HICovCisKKy8qCisgKiBSNTggKDB4M0EpIC0gTUlDQklBUworICovCisjZGVmaW5lIFdNODk5MF9NQ0RTQ1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwQzAgIC8qIE1DRFNDVEggLSBbNzo2XSAqLworI2RlZmluZSBXTTg5OTBfTUNEVEhSX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDM4ICAvKiBNQ0RUSFIgLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfTUNEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBNQ0QgKi8KKyNkZWZpbmUgV004OTkwX01CU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogTUJTRUwgKi8KKworLyoKKyAqIFI2MCAoMHgzQykgLSBQTEwxCisgKi8KKyNkZWZpbmUgV004OTkwX1NETSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogU0RNICovCisjZGVmaW5lIFdNODk5MF9QUkVTQ0FMRSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFBSRVNDQUxFICovCisjZGVmaW5lIFdNODk5MF9QTExOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDAwMEYgIC8qIFBMTE4gLSBbMzowXSAqLworCisvKgorICogUjYxICgweDNEKSAtIFBMTDIKKyAqLworI2RlZmluZSBXTTg5OTBfUExMSzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgwMEZGICAvKiBQTExLMSAtIFs3OjBdICovCisKKy8qCisgKiBSNjIgKDB4M0UpIC0gUExMMworICovCisjZGVmaW5lIFdNODk5MF9QTExLMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDAwRkYgIC8qIFBMTEsyIC0gWzc6MF0gKi8KKworLyoKKyAqIFI2MyAoMHgzRikgLSBJbnRlcm5hbCBEcml2ZXIgQml0cworICovCisjZGVmaW5lIFdNODk5MF9JTk1JWExfUFdSX0JJVAkJCTAKKyNkZWZpbmUgV004OTkwX0FJTkxNVVhfUFdSX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX0lOTUlYUl9QV1JfQklUCQkJMgorI2RlZmluZSBXTTg5OTBfQUlOUk1VWF9QV1JfQklUCQkJMworCitzdHJ1Y3Qgd204OTkwX3NldHVwX2RhdGEgeworCXVuc2lnbmVkIHNob3J0IGkyY19hZGRyZXNzOworfTsKKworI2RlZmluZSBXTTg5OTBfTUNMS19ESVYgMAorI2RlZmluZSBXTTg5OTBfREFDQ0xLX0RJViAxCisjZGVmaW5lIFdNODk5MF9BRENDTEtfRElWIDIKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWIDMKKworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSB3bTg5OTBfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODk5MDsKKworI2VuZGlmCS8qIF9fV004OTkwUkVHSVNURVJERUZTX0hfXyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRU5EIE9GIEZJTEUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMi5jCmluZGV4IDc2YzFlMmQuLjlmYzhlZGQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmMKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTk3MTIuYwpAQCAtOSw5ICs5LDYgQEAKICAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICA0dGggRmViIDIwMDYgICBJbml0aWFsIHZlcnNpb24uCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTI1LDYgKzIyLDcgQEAKICNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CiAjaW5jbHVkZSA8c291bmQvc29jLmg+CiAjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKyNpbmNsdWRlICJ3bTk3MTIuaCIKIAogI2RlZmluZSBXTTk3MTJfVkVSU0lPTiAiMC40IgogCkBAIC0zNTEsNyArMzQ5LDcgQEAKIFNORF9TT0NfREFQTV9JTlBVVCgiTUlDMiIpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAJLyogdmlydHVhbCBtaXhlciAtIG1peGVzIGxlZnQgJiByaWdodCBjaGFubmVscyBmb3Igc3BrIGFuZCBtb25vICovCiAJeyJBQzk3IE1peGVyIiwgTlVMTCwgIkxlZnQgREFDIn0sCiAJeyJBQzk3IE1peGVyIiwgTlVMTCwgIlJpZ2h0IERBQyJ9LApAQCAtNDQ2LDIxICs0NDQsMTQgQEAKIAl7IlNwZWFrZXIgUEdBIiwgTlVMTCwgIlNwZWFrZXIgTXV4In0sCiAJeyJMT1VUMiIsIE5VTEwsICJTcGVha2VyIFBHQSJ9LAogCXsiUk9VVDIiLCBOVUxMLCAiU3BlYWtlciBQR0EifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBpbnQgd205NzEyX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTk3MTJfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTk3MTJfZGFwbV93aWRnZXRzKSk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTk3MTJfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTk3MTJfZGFwbV93aWRnZXRzW2ldKTsKLQotCS8qIHNldCB1cCBhdWRpbyBwYXRoIGNvbm5lY3RzICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCQkJICAgYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKIAlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOwogCXJldHVybiAwOwpAQCAtNTQxLDcgKzUzMiw3IEBACiAJCVNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfFwKIAkJU05EUlZfUENNX1JBVEVfNDgwMDApCiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTk3MTJfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgd205NzEyX2RhaVtdID0gewogewogCS5uYW1lID0gIkFDOTcgSGlGaSIsCiAJLnR5cGUgPSBTTkRfU09DX0RBSV9BQzk3X0JVUywKQEAgLTU3NCwyMyArNTY1LDIzIEBACiB9OwogRVhQT1JUX1NZTUJPTF9HUEwod205NzEyX2RhaSk7CiAKLXN0YXRpYyBpbnQgd205NzEyX2RhcG1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZXZlbnQpCitzdGF0aWMgaW50IHdtOTcxMl9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkJIGVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQogewotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMDogLyogZnVsbCBPbiAqLwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOiAvKiBwYXJ0aWFsIE9uICovCi0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDI6IC8qIHBhcnRpYWwgT24gKi8KKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNob3Q6IC8qIE9mZiwgd2l0aCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfUE9XRVJET1dOLCAweDAwMDApOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6IC8qIE9mZiwgd2l0aG91dCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKIAkJLyogZGlzYWJsZSBldmVyeXRoaW5nIGluY2x1ZGluZyBBQyBsaW5rICovCiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfRVhURU5ERURfTVNUQVRVUywgMHhmZmZmKTsKIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19QT1dFUkRPV04sIDB4ZmZmZik7CiAJCWJyZWFrOwogCX0KLQljb2RlYy0+ZGFwbV9zdGF0ZSA9IGV2ZW50OworCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTU5OCwxMiArNTg5LDEyIEBACiB7CiAJaWYgKHRyeV93YXJtICYmIHNvY19hYzk3X29wcy53YXJtX3Jlc2V0KSB7CiAJCXNvY19hYzk3X29wcy53YXJtX3Jlc2V0KGNvZGVjLT5hYzk3KTsKLQkJaWYgKCEoYWM5N19yZWFkKGNvZGVjLCAwKSAmIDB4ODAwMCkpCisJCWlmIChhYzk3X3JlYWQoY29kZWMsIDApID09IHdtOTcxMl9yZWdbMF0pCiAJCQlyZXR1cm4gMTsKIAl9CiAKIAlzb2NfYWM5N19vcHMucmVzZXQoY29kZWMtPmFjOTcpOwotCWlmIChhYzk3X3JlYWQoY29kZWMsIDApICYgMHg4MDAwKQorCWlmIChhYzk3X3JlYWQoY29kZWMsIDApICE9IHdtOTcxMl9yZWdbMF0pCiAJCWdvdG8gZXJyOwogCXJldHVybiAwOwogCkBAIC02MTgsNyArNjA5LDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKLQl3bTk3MTJfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzY29sZCk7CisJd205NzEyX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNjM1LDcgKzYyNiw3IEBACiAJCXJldHVybiByZXQ7CiAJfQogCi0Jd205NzEyX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd205NzEyX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAKIAlpZiAocmV0ID09IDApIHsKIAkJLyogU3luYyByZWdfY2FjaGUgd2l0aCB0aGUgaGFyZHdhcmUgYWZ0ZXIgY29sZCByZXNldCAqLwpAQCAtNjQ3LDggKzYzOCw4IEBACiAJCX0KIAl9CiAKLQlpZiAoY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSA9PSBTTkRSVl9DVExfUE9XRVJfRDApCi0JCXdtOTcxMl9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDApOworCWlmIChjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsID09IFNORF9TT0NfQklBU19PTikKKwkJd205NzEyX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT04pOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTY4Miw3ICs2NzMsNyBAQAogCWNvZGVjLT5udW1fZGFpID0gQVJSQVlfU0laRSh3bTk3MTJfZGFpKTsKIAljb2RlYy0+d3JpdGUgPSBhYzk3X3dyaXRlOwogCWNvZGVjLT5yZWFkID0gYWM5N19yZWFkOwotCWNvZGVjLT5kYXBtX2V2ZW50ID0gd205NzEyX2RhcG1fZXZlbnQ7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gd205NzEyX3NldF9iaWFzX2xldmVsOwogCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV93aWRnZXRzKTsKIAlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fcGF0aHMpOwogCkBAIC03MDYsNyArNjk3LDcgQEAKIAkvKiBzZXQgYWxjIG11eCB0byBub25lICovCiAJYWM5N193cml0ZShjb2RlYywgQUM5N19WSURFTywgYWM5N19yZWFkKGNvZGVjLCBBQzk3X1ZJREVPKSB8IDB4MzAwMCk7CiAKLQl3bTk3MTJfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwl3bTk3MTJfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKIAl3bTk3MTJfYWRkX2NvbnRyb2xzKGNvZGVjKTsKIAl3bTk3MTJfYWRkX3dpZGdldHMoY29kZWMpOwogCXJldCA9IHNuZF9zb2NfcmVnaXN0ZXJfY2FyZChzb2NkZXYpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTk3MTIuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmgKaW5kZXggNzE5MTA1ZC4uZDI5ZThhMSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTk3MTIuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMi5oCkBAIC04LDcgKzgsNyBAQAogI2RlZmluZSBXTTk3MTJfREFJX0FDOTdfSElGSQkwCiAjZGVmaW5lIFdNOTcxMl9EQUlfQUM5N19BVVgJCTEKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTk3MTJfZGFpWzJdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSB3bTk3MTJfZGFpWzJdOwogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtOTcxMjsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5jIGIvc291bmQvc29jL2NvZGVjcy93bTk3MTMuYwppbmRleCAxZjI0MTE2Li4zOGQxZmUwIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEzLmMKQEAgLTEwLDkgKzEwLDYgQEAKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICA0dGggRmViIDIwMDYgICBJbml0aWFsIHZlcnNpb24uCi0gKgogICogIEZlYXR1cmVzOi0KICAqCiAgKiAgIG8gU3VwcG9ydCBmb3IgQUM5NyBDb2RlYywgVm9pY2UgREFDIGFuZCBBdXggREFDCkBAIC00NTYsNyArNDUzLDcgQEAKIFNORF9TT0NfREFQTV9WTUlEKCJWTUlEIiksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAkvKiBsZWZ0IEhQIG1peGVyICovCiAJeyJMZWZ0IEhQIE1peGVyIiwgIlBDIEJlZXAgUGxheWJhY2sgU3dpdGNoIiwgIlBDQkVFUCJ9LAogCXsiTGVmdCBIUCBNaXhlciIsICJWb2ljZSBQbGF5YmFjayBTd2l0Y2giLCAgICJWb2ljZSBEQUMifSwKQEAgLTYwNywyMSArNjA0LDE0IEBACiAJeyJDYXB0dXJlIE1vbm8gTXV4IiwgIlN0ZXJlbyIsICJDYXB0dXJlIE1peGVyIn0sCiAJeyJDYXB0dXJlIE1vbm8gTXV4IiwgIkxlZnQiLCAiTGVmdCBDYXB0dXJlIFNvdXJjZSJ9LAogCXsiQ2FwdHVyZSBNb25vIE11eCIsICJSaWdodCIsICJSaWdodCBDYXB0dXJlIFNvdXJjZSJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGludCB3bTk3MTNfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtOTcxM19kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtOTcxM19kYXBtX3dpZGdldHMpKTsKIAotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtOTcxM19kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtOTcxM19kYXBtX3dpZGdldHNbaV0pOwotCi0JLyogc2V0IHVwIGF1ZGlvIHBhdGggYXVkaW9fbWFwbmVjdHMgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKIAlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOwogCXJldHVybiAwOwpAQCAtNzk5LDcgKzc4OSw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd205NzEzX3NldF9kYWlfcGxsKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV9wbGwoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTgxMCw3ICs4MDAsNyBAQAogICogVHJpc3RhdGUgdGhlIFBDTSBEQUkgbGluZXMsIHRyaXN0YXRlIGNhbiBiZSBkaXNhYmxlZCBieSBjYWxsaW5nCiAgKiB3bTk3MTNfc2V0X2RhaV9mbXQoKQogICovCi1zdGF0aWMgaW50IHdtOTcxM19zZXRfZGFpX3RyaXN0YXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV90cmlzdGF0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAlpbnQgdHJpc3RhdGUpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTgyNiw3ICs4MTYsNyBAQAogICogQ29uZmlndXJlIFdNOTcxMyBjbG9jayBkaXZpZGVycy4KICAqIFZvaWNlIERBQyBuZWVkcyAyNTYgRlMKICAqLwotc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtOTcxM19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtODY4LDcgKzg1OCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd205NzEzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTg4Niw3ICs4NzYsNyBAQAogCQlncGlvIHw9IDB4MDAxODsKIAkJYnJlYWs7CiAJY2FzZSBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTOgotCQlyZWcgfD0gMHgwMjAwOworCQlyZWcgfD0gMHgyMDAwOwogCQlncGlvIHw9IDB4MDAxYTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZNOgpAQCAtMTAxMSwxNSArMTAwMSwyNCBAQAogCXJldHVybiBhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X1BDTV9TVVJSX0RBQ19SQVRFLCBydW50aW1lLT5yYXRlKTsKIH0KIAotI2RlZmluZSBXTTk3MTNfUkFURVMgKFNORFJWX1BDTV9SQVRFXzgwMDAgfCBTTkRSVl9QQ01fUkFURV8xMTAyNSB8XAotCQlTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHxcCi0JCVNORFJWX1BDTV9SQVRFXzQ4MDAwKQorI2RlZmluZSBXTTk3MTNfUkFURVMgKFNORFJWX1BDTV9SQVRFXzgwMDAgIHwJXAorCQkgICAgICBTTkRSVl9QQ01fUkFURV8xMTAyNSB8CVwKKwkJICAgICAgU05EUlZfUENNX1JBVEVfMjIwNTAgfAlcCisJCSAgICAgIFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwJXAorCQkgICAgICBTTkRSVl9QQ01fUkFURV80ODAwMCkKKworI2RlZmluZSBXTTk3MTNfUENNX1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwICB8CVwKKwkJCSAgU05EUlZfUENNX1JBVEVfMTEwMjUgfAlcCisJCQkgIFNORFJWX1BDTV9SQVRFXzE2MDAwIHwJXAorCQkJICBTTkRSVl9QQ01fUkFURV8yMjA1MCB8CVwKKwkJCSAgU05EUlZfUENNX1JBVEVfNDQxMDAgfAlcCisJCQkgIFNORFJWX1BDTV9SQVRFXzQ4MDAwKQogCiAjZGVmaW5lIFdNOTcxM19QQ01fRk9STUFUUyBcCiAJKFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFIHwgU05EUlZfUENNX0ZPUk1BVF9TMjBfM0xFIHwgXAogCSBTTkRSVl9QQ01fRk9STUFUX1MyNF9MRSkKIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtOTcxM19kYWlbXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSB3bTk3MTNfZGFpW10gPSB7CiB7CiAJLm5hbWUgPSAiQUM5NyBIaUZpIiwKIAkudHlwZSA9IFNORF9TT0NfREFJX0FDOTdfQlVTLApAQCAtMTA2MSwxMyArMTA2MCwxMyBAQAogCQkuc3RyZWFtX25hbWUgPSAiVm9pY2UgUGxheWJhY2siLAogCQkuY2hhbm5lbHNfbWluID0gMSwKIAkJLmNoYW5uZWxzX21heCA9IDEsCi0JCS5yYXRlcyA9IFdNOTcxM19SQVRFUywKKwkJLnJhdGVzID0gV005NzEzX1BDTV9SQVRFUywKIAkJLmZvcm1hdHMgPSBXTTk3MTNfUENNX0ZPUk1BVFMsfSwKIAkuY2FwdHVyZSA9IHsKIAkJLnN0cmVhbV9uYW1lID0gIlZvaWNlIENhcHR1cmUiLAogCQkuY2hhbm5lbHNfbWluID0gMSwKIAkJLmNoYW5uZWxzX21heCA9IDIsCi0JCS5yYXRlcyA9IFdNOTcxM19SQVRFUywKKwkJLnJhdGVzID0gV005NzEzX1BDTV9SQVRFUywKIAkJLmZvcm1hdHMgPSBXTTk3MTNfUENNX0ZPUk1BVFMsfSwKIAkub3BzID0gewogCQkuaHdfcGFyYW1zID0gd205NzEzX3BjbV9od19wYXJhbXMsCkBAIC0xMDg2LDQ0ICsxMDg1LDQ0IEBACiB7CiAJaWYgKHRyeV93YXJtICYmIHNvY19hYzk3X29wcy53YXJtX3Jlc2V0KSB7CiAJCXNvY19hYzk3X29wcy53YXJtX3Jlc2V0KGNvZGVjLT5hYzk3KTsKLQkJaWYgKCEoYWM5N19yZWFkKGNvZGVjLCAwKSAmIDB4ODAwMCkpCisJCWlmIChhYzk3X3JlYWQoY29kZWMsIDApID09IHdtOTcxM19yZWdbMF0pCiAJCQlyZXR1cm4gMTsKIAl9CiAKIAlzb2NfYWM5N19vcHMucmVzZXQoY29kZWMtPmFjOTcpOwotCWlmIChhYzk3X3JlYWQoY29kZWMsIDApICYgMHg4MDAwKQorCWlmIChhYzk3X3JlYWQoY29kZWMsIDApICE9IHdtOTcxM19yZWdbMF0pCiAJCXJldHVybiAtRUlPOwogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTF9HUEwod205NzEzX3Jlc2V0KTsKIAotc3RhdGljIGludCB3bTk3MTNfZGFwbV9ldmVudChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCkKK3N0YXRpYyBpbnQgd205NzEzX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwkJCQkgZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCiB7CiAJdTE2IHJlZzsKIAotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMDogLyogZnVsbCBPbiAqLworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKIAkJLyogZW5hYmxlIHRoZXJtYWwgc2h1dGRvd24gKi8KIAkJcmVnID0gYWM5N19yZWFkKGNvZGVjLCBBQzk3X0VYVEVOREVEX01JRCkgJiAweDFiZmY7CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfRVhURU5ERURfTUlELCByZWcpOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMTogLyogcGFydGlhbCBPbiAqLwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QyOiAvKiBwYXJ0aWFsIE9uICovCisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNob3Q6IC8qIE9mZiwgd2l0aCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CiAJCS8qIGVuYWJsZSBtYXN0ZXIgYmlhcyBhbmQgdm1pZCAqLwogCQlyZWcgPSBhYzk3X3JlYWQoY29kZWMsIEFDOTdfRVhURU5ERURfTUlEKSAmIDB4M2JmZjsKIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19FWFRFTkRFRF9NSUQsIHJlZyk7CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfUE9XRVJET1dOLCAweDAwMDApOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6IC8qIE9mZiwgd2l0aG91dCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKIAkJLyogZGlzYWJsZSBldmVyeXRoaW5nIGluY2x1ZGluZyBBQyBsaW5rICovCiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfRVhURU5ERURfTUlELCAweGZmZmYpOwogCQlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X0VYVEVOREVEX01TVEFUVVMsIDB4ZmZmZik7CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfUE9XRVJET1dOLCAweGZmZmYpOwogCQlicmVhazsKIAl9Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBldmVudDsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOwogCXJldHVybiAwOwogfQogCkBAIC0xMTYwLDcgKzExNTksNyBAQAogCQlyZXR1cm4gcmV0OwogCX0KIAotCXdtOTcxM19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCXdtOTcxM19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCiAJLyogZG8gd2UgbmVlZCB0byByZS1zdGFydCB0aGUgUExMID8gKi8KIAlpZiAod205NzEzLT5wbGxfb3V0KQpAQCAtMTE3Niw4ICsxMTc1LDggQEAKIAkJfQogCX0KIAotCWlmIChjb2RlYy0+c3VzcGVuZF9kYXBtX3N0YXRlID09IFNORFJWX0NUTF9QT1dFUl9EMCkKLQkJd205NzEzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EMCk7CisJaWYgKGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwgPT0gU05EX1NPQ19CSUFTX09OKQorCQl3bTk3MTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PTik7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTIxNiw3ICsxMjE1LDcgQEAKIAljb2RlYy0+bnVtX2RhaSA9IEFSUkFZX1NJWkUod205NzEzX2RhaSk7CiAJY29kZWMtPndyaXRlID0gYWM5N193cml0ZTsKIAljb2RlYy0+cmVhZCA9IGFjOTdfcmVhZDsKLQljb2RlYy0+ZGFwbV9ldmVudCA9IHdtOTcxM19kYXBtX2V2ZW50OworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtOTcxM19zZXRfYmlhc19sZXZlbDsKIAlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fd2lkZ2V0cyk7CiAJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3BhdGhzKTsKIApAQCAtMTIzOCw3ICsxMjM3LDcgQEAKIAkJZ290byByZXNldF9lcnI7CiAJfQogCi0Jd205NzEzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd205NzEzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAKIAkvKiB1bm11dGUgdGhlIGFkYyAtIG1vdmUgdG8ga2NvbnRyb2wgKi8KIAlyZWcgPSBhYzk3X3JlYWQoY29kZWMsIEFDOTdfQ0QpICYgMHg3ZmZmOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTk3MTMuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEzLmgKaW5kZXggZDM1N2I2Yy4uNjNiOGQ4MSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTk3MTMuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5oCkBAIC00Niw3ICs0Niw3IEBACiAjZGVmaW5lIFdNOTcxM19EQUlfUENNX1ZPSUNFCTIKIAogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtOTcxMzsKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd205NzEzX2RhaVszXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgd205NzEzX2RhaVszXTsKIAogaW50IHdtOTcxM19yZXNldChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsICBpbnQgdHJ5X3dhcm0pOwogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZGF2aW5jaS9LY29uZmlnIGIvc291bmQvc29jL2RhdmluY2kvS2NvbmZpZwppbmRleCAyMDY4MGM1Li44ZjdlMzM4IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZGF2aW5jaS9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9kYXZpbmNpL0tjb25maWcKQEAgLTEsNiArMSw2IEBACiBjb25maWcgU05EX0RBVklOQ0lfU09DCiAJdHJpc3RhdGUgIlNvQyBBdWRpbyBmb3IgdGhlIFRJIERBVklOQ0kgY2hpcCIKLQlkZXBlbmRzIG9uIEFSQ0hfREFWSU5DSSAmJiBTTkRfU09DCisJZGVwZW5kcyBvbiBBUkNIX0RBVklOQ0kKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBjb2RlY3MgYXR0YWNoZWQgdG8KIAkgIHRoZSBEQVZJTkNJIEFDOTcgb3IgSTJTIGludGVyZmFjZS4gWW91IHdpbGwgYWxzbyBuZWVkCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWV2bS5jIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1ldm0uYwppbmRleCBmY2QxNjUyLi41ZTJjMzA2IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWV2bS5jCisrKyBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktZXZtLmMKQEAgLTMzLDI0ICszMywyNCBAQAogCQkJIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlpbnQgcmV0ID0gMDsKIAogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJCQkJIFNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0NCTV9DRk0gfAogCQkJCSAgICAgICBTTkRfU09DX0RBSUZNVF9JQl9ORik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIGNvZGVjIHN5c3RlbSBjbG9jayAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgMCwgRVZNX0NPREVDX0NMT0NLLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCAwLCBFVk1fQ09ERUNfQ0xPQ0ssCiAJCQkJCSAgICBTTkRfU09DX0NMT0NLX09VVCk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC03MSw3ICs3MSw3IEBACiB9OwogCiAvKiBkYXZpbmNpLWV2bSBtYWNoaW5lIGF1ZGlvX21hcG5lY3Rpb25zIHRvIHRoZSBjb2RlYyBwaW5zICovCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAkvKiBIZWFkcGhvbmUgY29ubmVjdGVkIHRvIEhQTE9VVCwgSFBST1VUICovCiAJeyJIZWFkcGhvbmUgSmFjayIsIE5VTEwsICJIUExPVVQifSwKIAl7IkhlYWRwaG9uZSBKYWNrIiwgTlVMTCwgIkhQUk9VVCJ9LApAQCAtOTAsMzYgKzkwLDMwIEBACiAJeyJMSU5FMkwiLCBOVUxMLCAiTGluZSBJbiJ9LAogCXsiTElORTFSIiwgTlVMTCwgIkxpbmUgSW4ifSwKIAl7IkxJTkUyUiIsIE5VTEwsICJMaW5lIEluIn0sCi0KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiAvKiBMb2dpYyBmb3IgYSBhaWMzeCBhcyBjb25uZWN0ZWQgb24gYSBkYXZpbmNpLWV2bSAqLwogc3RhdGljIGludCBldm1fYWljM3hfaW5pdChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7Ci0KIAkvKiBBZGQgZGF2aW5jaS1ldm0gc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGFpYzN4X2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmYWljM3hfZGFwbV93aWRnZXRzW2ldKTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCBhaWMzeF9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKGFpYzN4X2RhcG1fd2lkZ2V0cykpOwogCiAJLyogU2V0IHVwIGRhdmluY2ktZXZtIHNwZWNpZmljIGF1ZGlvIHBhdGggYXVkaW9fbWFwICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCQkJICAgYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKIAkvKiBub3QgY29ubmVjdGVkICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1PTk9fTE9VVCIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIUExDT00iLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSFBSQ09NIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTU9OT19MT1VUIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSFBMQ09NIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSFBSQ09NIik7CiAKIAkvKiBhbHdheXMgY29ubmVjdGVkICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgMSk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgT3V0IiwgMSk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyBKYWNrIiwgMSk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgSW4iLCAxKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJMaW5lIE91dCIpOworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkxpbmUgSW4iKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5jIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1pMnMuYwppbmRleCBjNDIxNzc0Li41ZWJmMWZmIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5jCisrKyBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmMKQEAgLTE0Nyw3ICsxNDcsNyBAQAogc3RhdGljIGludCBkYXZpbmNpX2kyc19zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJc3RydWN0IGRhdmluY2lfbWNic3BfZGV2ICpkZXYgPSBydGQtPmRhaS0+Y3B1X2RhaS0+cHJpdmF0ZV9kYXRhOwogCiAJY3B1X2RhaS0+ZG1hX2RhdGEgPSBkZXYtPmRtYV9wYXJhbXNbc3Vic3RyZWFtLT5zdHJlYW1dOwpAQCAtMTU1LDcgKzE1NSw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZGF2aW5jaV9pMnNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgZGF2aW5jaV9pMnNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJCSAgIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IGRhdmluY2lfbWNic3BfZGV2ICpkZXYgPSBjcHVfZGFpLT5wcml2YXRlX2RhdGE7CkBAIC0yOTUsMTEgKzI5NSwxMiBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgZGF2aW5jaV9pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgZGF2aW5jaV9pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1twZGV2LT5pZF0uY3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1twZGV2LT5pZF0uY3B1X2RhaTsKIAlzdHJ1Y3QgZGF2aW5jaV9tY2JzcF9kZXYgKmRldjsKIAlzdHJ1Y3QgcmVzb3VyY2UgKm1lbSwgKmlvYXJlYTsKIAlzdHJ1Y3QgZXZtX3NuZF9wbGF0Zm9ybV9kYXRhICpwZGF0YTsKQEAgLTM1NiwxMSArMzU3LDEyIEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHZvaWQgZGF2aW5jaV9pMnNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgdm9pZCBkYXZpbmNpX2kyc19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW3BkZXYtPmlkXS5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW3BkZXYtPmlkXS5jcHVfZGFpOwogCXN0cnVjdCBkYXZpbmNpX21jYnNwX2RldiAqZGV2ID0gY3B1X2RhaS0+cHJpdmF0ZV9kYXRhOwogCXN0cnVjdCByZXNvdXJjZSAqbWVtOwogCkBAIC0zNzYsNyArMzc4LDcgQEAKIAogI2RlZmluZSBEQVZJTkNJX0kyU19SQVRFUwlTTkRSVl9QQ01fUkFURV84MDAwXzk2MDAwCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgZGF2aW5jaV9pMnNfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIGRhdmluY2lfaTJzX2RhaSA9IHsKIAkubmFtZSA9ICJkYXZpbmNpLWkycyIsCiAJLmlkID0gMCwKIAkudHlwZSA9IFNORF9TT0NfREFJX0kyUywKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmggYi9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5oCmluZGV4IDk1OTJkMTcuLmM1YjA5MTggMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmgKKysrIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1pMnMuaApAQCAtMTIsNiArMTIsNiBAQAogI2lmbmRlZiBfREFWSU5DSV9JMlNfSAogI2RlZmluZSBfREFWSU5DSV9JMlNfSAogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBkYXZpbmNpX2kyc19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGRhdmluY2lfaTJzX2RhaTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLXBjbS5jIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1wY20uYwppbmRleCA2YTc2OTI3Li42YTVlNTZhIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLXBjbS5jCisrKyBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktcGNtLmMKQEAgLTM1MCw3ICszNTAsNyBAQAogc3RhdGljIHU2NCBkYXZpbmNpX3BjbV9kbWFtYXNrID0gMHhmZmZmZmZmZjsKIAogc3RhdGljIGludCBkYXZpbmNpX3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAotCQkJICAgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIHN0cnVjdCBzbmRfcGNtICpwY20pCisJCQkgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKIHsKIAlpbnQgcmV0OwogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZnNsL0tjb25maWcgYi9zb3VuZC9zb2MvZnNsL0tjb25maWcKaW5kZXggMjU3MTAxZi4uMzM2OGFjZSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ZzbC9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9mc2wvS2NvbmZpZwpAQCAtMSw4ICsxLDYgQEAKLW1lbnUgIkFMU0EgU29DIGF1ZGlvIGZvciBGcmVlc2NhbGUgU09DcyIKLQogY29uZmlnIFNORF9TT0NfTVBDODYxMAogCWJvb2wgIkFMU0EgU29DIHN1cHBvcnQgZm9yIHRoZSBNUEM4NjEwIFNPQyIKLQlkZXBlbmRzIG9uIFNORF9TT0MgJiYgTVBDODYxMF9IUENECisJZGVwZW5kcyBvbiBNUEM4NjEwX0hQQ0QKIAlkZWZhdWx0IHkgaWYgTVBDODYxMAogCWhlbHAKIAkgIFNheSBZIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBjb2RlY3MgYXR0YWNoZWQgdG8gdGhlIFNTSQpAQCAtMTYsNSArMTQsMyBAQAogCWRlZmF1bHQgeSBpZiBNUEM4NjEwX0hQQ0QKIAloZWxwCiAJICBTYXkgWSBpZiB5b3Ugd2FudCB0byBlbmFibGUgYXVkaW8gb24gdGhlIEZyZWVzY2FsZSBNUEM4NjEwIEhQQ0QuCi0KLWVuZG1lbnUKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5jIGIvc291bmQvc29jL2ZzbC9mc2xfZG1hLmMKaW5kZXggNzhkZTcxNi4uZGEyYmM1OSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ZzbC9mc2xfZG1hLmMKKysrIGIvc291bmQvc29jL2ZzbC9mc2xfZG1hLmMKQEAgLTI4Miw3ICsyODIsNyBAQAogICogb25jZSBmb3IgZWFjaCAuZGFpX2xpbmsgaW4gdGhlIG1hY2hpbmUgZHJpdmVyJ3Mgc25kX3NvY19tYWNoaW5lCiAgKiBzdHJ1Y3R1cmUuCiAgKi8KLXN0YXRpYyBpbnQgZnNsX2RtYV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwKK3N0YXRpYyBpbnQgZnNsX2RtYV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKIAlzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCXN0YXRpYyB1NjQgZnNsX2RtYV9kbWFtYXNrID0gRE1BX0JJVF9NQVNLKDMyKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5oIGIvc291bmQvc29jL2ZzbC9mc2xfZG1hLmgKaW5kZXggNDMwYTZjZS4uMzg1ZDRhNCAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ZzbC9mc2xfZG1hLmgKKysrIGIvc291bmQvc29jL2ZzbC9mc2xfZG1hLmgKQEAgLTEyNiw3ICsxMjYsNyBAQAogCXU4IHJlc1s0XTsgICAgICAvKiBSZXNlcnZlZCAqLwogfSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCgzMiksIHBhY2tlZCkpOwogCi0vKiBETUEgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGNyZWF0ZSBhIHNuZF9zb2NfY3B1X2RhaSBvYmplY3QKKy8qIERNQSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gY3JlYXRlIGEgc25kX3NvY19kYWkgb2JqZWN0CiAgKgogICogc3NpX3N0eF9waHlzOiBidXMgYWRkcmVzcyBvZiBTU0kgU1RYIHJlZ2lzdGVyIHRvIHVzZQogICogc3NpX3NyeF9waHlzOiBidXMgYWRkcmVzcyBvZiBTU0kgU1JYIHJlZ2lzdGVyIHRvIHVzZQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2ZzbC9mc2xfc3NpLmMgYi9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuYwppbmRleCBmNTg4NTQ1Li43MWJmZjMzIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuYworKysgYi9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuYwpAQCAtODIsNyArODIsNyBAQAogCXN0cnVjdCBkZXZpY2UgKmRldjsKIAl1bnNpZ25lZCBpbnQgcGxheWJhY2s7CiAJdW5zaWduZWQgaW50IGNhcHR1cmU7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBjcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSBjcHVfZGFpOwogCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGRldl9hdHRyOwogCiAJc3RydWN0IHsKQEAgLTQ3OSw3ICs0NzksNyBAQAogICogQGZyZXE6IHRoZSBmcmVxdWVuY3kgb2YgdGhlIGdpdmVuIGNsb2NrIElELCBjdXJyZW50bHkgaWdub3JlZAogICogQGRpcjogU05EX1NPQ19DTE9DS19JTiAoY2xvY2sgc2xhdmUpIG9yIFNORF9TT0NfQ0xPQ0tfT1VUIChjbG9jayBtYXN0ZXIpCiAgKi8KLXN0YXRpYyBpbnQgZnNsX3NzaV9zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IGZzbF9zc2lfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCQkgICAgICBpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIApAQCAtNDk3LDcgKzQ5Nyw3IEBACiAgKgogICogQGZvcm1hdDogb25lIG9mIFNORF9TT0NfREFJRk1UX3h4eAogICovCi1zdGF0aWMgaW50IGZzbF9zc2lfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLCB1bnNpZ25lZCBpbnQgZm9ybWF0KQorc3RhdGljIGludCBmc2xfc3NpX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLCB1bnNpZ25lZCBpbnQgZm9ybWF0KQogewogCXJldHVybiAoZm9ybWF0ID09IFNORF9TT0NfREFJRk1UX0kyUykgPyAwIDogLUVJTlZBTDsKIH0KQEAgLTUwNSw3ICs1MDUsNyBAQAogLyoqCiAgKiBmc2xfc3NpX2RhaV90ZW1wbGF0ZTogdGVtcGxhdGUgQ1BVIERBSSBmb3IgdGhlIFNTSQogICovCi1zdGF0aWMgc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBmc2xfc3NpX2RhaV90ZW1wbGF0ZSA9IHsKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kYWkgZnNsX3NzaV9kYWlfdGVtcGxhdGUgPSB7CiAJLnBsYXliYWNrID0gewogCQkvKiBUaGUgU1NJIGRvZXMgbm90IHN1cHBvcnQgbW9uYXVyYWwgYXVkaW8uICovCiAJCS5jaGFubmVsc19taW4gPSAyLApAQCAtNTY5LDE1ICs1NjksMTUgQEAKIH0KIAogLyoqCi0gKiBmc2xfc3NpX2NyZWF0ZV9kYWk6IGNyZWF0ZSBhIHNuZF9zb2NfY3B1X2RhaSBzdHJ1Y3R1cmUKKyAqIGZzbF9zc2lfY3JlYXRlX2RhaTogY3JlYXRlIGEgc25kX3NvY19kYWkgc3RydWN0dXJlCiAgKgotICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgdGhlIG1hY2hpbmUgZHJpdmVyIHRvIGNyZWF0ZSBhIHNuZF9zb2NfY3B1X2RhaQorICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgdGhlIG1hY2hpbmUgZHJpdmVyIHRvIGNyZWF0ZSBhIHNuZF9zb2NfZGFpCiAgKiBzdHJ1Y3R1cmUuICBUaGUgZnVuY3Rpb24gY3JlYXRlcyBhbiBzc2lfcHJpdmF0ZSBvYmplY3QsIHdoaWNoIGNvbnRhaW5zCi0gKiB0aGUgc25kX3NvY19jcHVfZGFpLiAgSXQgYWxzbyBjcmVhdGVzIHRoZSBzeXNmcyBzdGF0aXN0aWNzIGRldmljZS4KKyAqIHRoZSBzbmRfc29jX2RhaS4gIEl0IGFsc28gY3JlYXRlcyB0aGUgc3lzZnMgc3RhdGlzdGljcyBkZXZpY2UuCiAgKi8KLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmZzbF9zc2lfY3JlYXRlX2RhaShzdHJ1Y3QgZnNsX3NzaV9pbmZvICpzc2lfaW5mbykKK3N0cnVjdCBzbmRfc29jX2RhaSAqZnNsX3NzaV9jcmVhdGVfZGFpKHN0cnVjdCBmc2xfc3NpX2luZm8gKnNzaV9pbmZvKQogewotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmZzbF9zc2lfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqZnNsX3NzaV9kYWk7CiAJc3RydWN0IGZzbF9zc2lfcHJpdmF0ZSAqc3NpX3ByaXZhdGU7CiAJaW50IHJldCA9IDA7CiAJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmRldl9hdHRyOwpAQCAtNTg4LDcgKzU4OCw3IEBACiAJCXJldHVybiBOVUxMOwogCX0KIAltZW1jcHkoJnNzaV9wcml2YXRlLT5jcHVfZGFpLCAmZnNsX3NzaV9kYWlfdGVtcGxhdGUsCi0JICAgICAgIHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpKSk7CisJICAgICAgIHNpemVvZihzdHJ1Y3Qgc25kX3NvY19kYWkpKTsKIAogCWZzbF9zc2lfZGFpID0gJnNzaV9wcml2YXRlLT5jcHVfZGFpOwogCWRldl9hdHRyID0gJnNzaV9wcml2YXRlLT5kZXZfYXR0cjsKQEAgLTYyMywxMSArNjIzLDExIEBACiBFWFBPUlRfU1lNQk9MX0dQTChmc2xfc3NpX2NyZWF0ZV9kYWkpOwogCiAvKioKLSAqIGZzbF9zc2lfZGVzdHJveV9kYWk6IGRlc3Ryb3kgdGhlIHNuZF9zb2NfY3B1X2RhaSBvYmplY3QKKyAqIGZzbF9zc2lfZGVzdHJveV9kYWk6IGRlc3Ryb3kgdGhlIHNuZF9zb2NfZGFpIG9iamVjdAogICoKICAqIFRoaXMgZnVuY3Rpb24gdW5kb2VzIHRoZSBvcGVyYXRpb25zIG9mIGZzbF9zc2lfY3JlYXRlX2RhaSgpCiAgKi8KLXZvaWQgZnNsX3NzaV9kZXN0cm95X2RhaShzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpmc2xfc3NpX2RhaSkKK3ZvaWQgZnNsX3NzaV9kZXN0cm95X2RhaShzdHJ1Y3Qgc25kX3NvY19kYWkgKmZzbF9zc2lfZGFpKQogewogCXN0cnVjdCBmc2xfc3NpX3ByaXZhdGUgKnNzaV9wcml2YXRlID0KIAljb250YWluZXJfb2YoZnNsX3NzaV9kYWksIHN0cnVjdCBmc2xfc3NpX3ByaXZhdGUsIGNwdV9kYWkpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2ZzbC9mc2xfc3NpLmggYi9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuaAppbmRleCBjNWNlODhlLi44M2I0NGQ3IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuaAorKysgYi9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuaApAQCAtMjE3LDggKzIxNyw4IEBACiAJc3RydWN0IGRldmljZSAqZGV2OwogfTsKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZnNsX3NzaV9jcmVhdGVfZGFpKHN0cnVjdCBmc2xfc3NpX2luZm8gKnNzaV9pbmZvKTsKLXZvaWQgZnNsX3NzaV9kZXN0cm95X2RhaShzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpmc2xfc3NpX2RhaSk7CitzdHJ1Y3Qgc25kX3NvY19kYWkgKmZzbF9zc2lfY3JlYXRlX2RhaShzdHJ1Y3QgZnNsX3NzaV9pbmZvICpzc2lfaW5mbyk7Cit2b2lkIGZzbF9zc2lfZGVzdHJveV9kYWkoc3RydWN0IHNuZF9zb2NfZGFpICpmc2xfc3NpX2RhaSk7CiAKICNlbmRpZgogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZnNsL21wYzg2MTBfaHBjZC5jIGIvc291bmQvc29jL2ZzbC9tcGM4NjEwX2hwY2QuYwppbmRleCBhMDBhYWM3Li40YmRjOWQ4IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZnNsL21wYzg2MTBfaHBjZC5jCisrKyBiL3NvdW5kL3NvYy9mc2wvbXBjODYxMF9ocGNkLmMKQEAgLTU4LDkgKzU4LDkgQEAKIAkJc291bmRfZGV2aWNlLT5kZXYucGxhdGZvcm1fZGF0YTsKIAogCS8qIFByb2dyYW0gdGhlIHNpZ25hbCByb3V0aW5nIGJldHdlZW4gdGhlIFNTSSBhbmQgdGhlIERNQSAqLwotCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQgKyAxLAorCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQsCiAJCW1hY2hpbmVfZGF0YS0+ZG1hX2NoYW5uZWxfaWRbMF0sIENDU1JfR1VUU19ETUFDUl9ERVZfU1NJKTsKLQlndXRzX3NldF9kbWFjcihtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkICsgMSwKKwlndXRzX3NldF9kbWFjcihtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkLAogCQltYWNoaW5lX2RhdGEtPmRtYV9jaGFubmVsX2lkWzFdLCBDQ1NSX0dVVFNfRE1BQ1JfREVWX1NTSSk7CiAKIAlndXRzX3NldF9wbXV4Y3JfZG1hKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQsCkBAIC05Niw2MiArOTYsNTIgQEAKIHN0YXRpYyBpbnQgbXBjODYxMF9ocGNkX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXN0cnVjdCBtcGM4NjEwX2hwY2RfZGF0YSAqbWFjaGluZV9kYXRhID0KIAkJcnRkLT5zb2NkZXYtPmRldi0+cGxhdGZvcm1fZGF0YTsKIAlpbnQgcmV0ID0gMDsKIAogCS8qIFRlbGwgdGhlIENQVSBkcml2ZXIgd2hhdCB0aGUgc2VyaWFsIHByb3RvY29sIGlzLiAqLwotCWlmIChjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQpIHsKLQkJcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksCi0JCQltYWNoaW5lX2RhdGEtPmRhaV9mb3JtYXQpOwotCQlpZiAocmV0IDwgMCkgewotCQkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAotCQkJCSJjb3VsZCBub3Qgc2V0IENQVSBkcml2ZXIgYXVkaW8gZm9ybWF0XG4iKTsKLQkJCXJldHVybiByZXQ7Ci0JCX0KKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIG1hY2hpbmVfZGF0YS0+ZGFpX2Zvcm1hdCk7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAorCQkJImNvdWxkIG5vdCBzZXQgQ1BVIGRyaXZlciBhdWRpbyBmb3JtYXRcbiIpOworCQlyZXR1cm4gcmV0OwogCX0KIAogCS8qIFRlbGwgdGhlIGNvZGVjIGRyaXZlciB3aGF0IHRoZSBzZXJpYWwgcHJvdG9jb2wgaXMuICovCi0JaWYgKGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KSB7Ci0JCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwKLQkJCW1hY2hpbmVfZGF0YS0+ZGFpX2Zvcm1hdCk7Ci0JCWlmIChyZXQgPCAwKSB7Ci0JCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCi0JCQkJImNvdWxkIG5vdCBzZXQgY29kZWMgZHJpdmVyIGF1ZGlvIGZvcm1hdFxuIik7Ci0JCQlyZXR1cm4gcmV0OwotCQl9CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIG1hY2hpbmVfZGF0YS0+ZGFpX2Zvcm1hdCk7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAorCQkJImNvdWxkIG5vdCBzZXQgY29kZWMgZHJpdmVyIGF1ZGlvIGZvcm1hdFxuIik7CisJCXJldHVybiByZXQ7CiAJfQogCiAJLyoKIAkgKiBUZWxsIHRoZSBDUFUgZHJpdmVyIHdoYXQgdGhlIGNsb2NrIGZyZXF1ZW5jeSBpcywgYW5kIHdoZXRoZXIgaXQncyBhCiAJICogc2xhdmUgb3IgbWFzdGVyLgogCSAqLwotCWlmIChjcHVfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGspIHsKLQkJcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNwdV9kYWksIDAsCi0JCQltYWNoaW5lX2RhdGEtPmNsa19mcmVxdWVuY3ksCi0JCQltYWNoaW5lX2RhdGEtPmNwdV9jbGtfZGlyZWN0aW9uKTsKLQkJaWYgKHJldCA8IDApIHsKLQkJCWRldl9lcnIoc3Vic3RyZWFtLT5wY20tPmNhcmQtPmRldiwKLQkJCQkiY291bGQgbm90IHNldCBDUFUgZHJpdmVyIGNsb2NrIHBhcmFtZXRlcnNcbiIpOwotCQkJcmV0dXJuIHJldDsKLQkJfQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY3B1X2RhaSwgMCwKKwkJCQkJbWFjaGluZV9kYXRhLT5jbGtfZnJlcXVlbmN5LAorCQkJCQltYWNoaW5lX2RhdGEtPmNwdV9jbGtfZGlyZWN0aW9uKTsKKwlpZiAocmV0IDwgMCkgeworCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCisJCQkiY291bGQgbm90IHNldCBDUFUgZHJpdmVyIGNsb2NrIHBhcmFtZXRlcnNcbiIpOworCQlyZXR1cm4gcmV0OwogCX0KIAogCS8qCiAJICogVGVsbCB0aGUgY29kZWMgZHJpdmVyIHdoYXQgdGhlIE1DTEsgZnJlcXVlbmN5IGlzLCBhbmQgd2hldGhlciBpdCdzCiAJICogYSBzbGF2ZSBvciBtYXN0ZXIuCiAJICovCi0JaWYgKGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKSB7Ci0JCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgMCwKLQkJCW1hY2hpbmVfZGF0YS0+Y2xrX2ZyZXF1ZW5jeSwKLQkJCW1hY2hpbmVfZGF0YS0+Y29kZWNfY2xrX2RpcmVjdGlvbik7Ci0JCWlmIChyZXQgPCAwKSB7Ci0JCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCi0JCQkJImNvdWxkIG5vdCBzZXQgY29kZWMgZHJpdmVyIGNsb2NrIHBhcmFtc1xuIik7Ci0JCQlyZXR1cm4gcmV0OwotCQl9CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIDAsCisJCQkJCW1hY2hpbmVfZGF0YS0+Y2xrX2ZyZXF1ZW5jeSwKKwkJCQkJbWFjaGluZV9kYXRhLT5jb2RlY19jbGtfZGlyZWN0aW9uKTsKKwlpZiAocmV0IDwgMCkgeworCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCisJCQkiY291bGQgbm90IHNldCBjb2RlYyBkcml2ZXIgY2xvY2sgcGFyYW1zXG4iKTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTE3MCw5ICsxNjAsOSBAQAogCiAJLyogUmVzdG9yZSB0aGUgc2lnbmFsIHJvdXRpbmcgKi8KIAotCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQgKyAxLAorCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQsCiAJCW1hY2hpbmVfZGF0YS0+ZG1hX2NoYW5uZWxfaWRbMF0sIDApOwotCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQgKyAxLAorCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQsCiAJCW1hY2hpbmVfZGF0YS0+ZG1hX2NoYW5uZWxfaWRbMV0sIDApOwogCiAJc3dpdGNoIChtYWNoaW5lX2RhdGEtPnNzaV9pZCkgewpAQCAtMTgyLDcgKzE3Miw3IEBACiAJCWJyZWFrOwogCWNhc2UgMToKIAkJY2xyc2V0Yml0c19iZTMyKCZtYWNoaW5lX2RhdGEtPmd1dHMtPnBtdXhjciwKLQkJCUNDU1JfR1VUU19QTVVYQ1JfU1NJMl9NQVNLLCBDQ1NSX0dVVFNfUE1VWENSX1NTSTFfTEEpOworCQkJQ0NTUl9HVVRTX1BNVVhDUl9TU0kyX01BU0ssIENDU1JfR1VUU19QTVVYQ1JfU1NJMl9MQSk7CiAJCWJyZWFrOwogCX0KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL29tYXAvS2NvbmZpZyBiL3NvdW5kL3NvYy9vbWFwL0tjb25maWcKaW5kZXggMDIzMGQ4My4uYWVhMjdlNyAxMDA2NDQKLS0tIGEvc291bmQvc29jL29tYXAvS2NvbmZpZworKysgYi9zb3VuZC9zb2Mvb21hcC9LY29uZmlnCkBAIC0xLDUgKzEsMyBAQAotbWVudSAiU29DIEF1ZGlvIGZvciB0aGUgVGV4YXMgSW5zdHJ1bWVudHMgT01BUCIKLQogY29uZmlnIFNORF9PTUFQX1NPQwogCXRyaXN0YXRlICJTb0MgQXVkaW8gZm9yIHRoZSBUZXhhcyBJbnN0cnVtZW50cyBPTUFQIGNoaXBzIgogCWRlcGVuZHMgb24gQVJDSF9PTUFQICYmIFNORF9TT0MKQEAgLTE1LDUgKzEzLDMgQEAKIAlzZWxlY3QgU05EX1NPQ19UTFYzMjBBSUMzWAogCWhlbHAKIAkgIFNheSBZIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBTb0MgYXVkaW8gb24gTm9raWEgTjgxMC4KLQotZW5kbWVudQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL29tYXAvbjgxMC5jIGIvc291bmQvc29jL29tYXAvbjgxMC5jCmluZGV4IDY1MzM1NjMuLjAyY2VjOTY4IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvb21hcC9uODEwLmMKKysrIGIvc291bmQvc29jL29tYXAvbjgxMC5jCkBAIC0zMCwxNSArMzAsMTUgQEAKIAogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21jYnNwLmg+CiAKICNpbmNsdWRlICJvbWFwLW1jYnNwLmgiCiAjaW5jbHVkZSAib21hcC1wY20uaCIKICNpbmNsdWRlICIuLi9jb2RlY3MvdGx2MzIwYWljM3guaCIKIAotI2RlZmluZSBSWDQ0X0hFQURTRVRfQU1QX0dQSU8JMTAKLSNkZWZpbmUgUlg0NF9TUEVBS0VSX0FNUF9HUElPCTEwMQorI2RlZmluZSBOODEwX0hFQURTRVRfQU1QX0dQSU8JMTAKKyNkZWZpbmUgTjgxMF9TUEVBS0VSX0FNUF9HUElPCTEwMQogCiBzdGF0aWMgc3RydWN0IGNsayAqc3lzX2Nsa291dDI7CiBzdGF0aWMgc3RydWN0IGNsayAqc3lzX2Nsa291dDJfc3JjOwpAQCAtNDYsMTMgKzQ2LDI2IEBACiAKIHN0YXRpYyBpbnQgbjgxMF9zcGtfZnVuYzsKIHN0YXRpYyBpbnQgbjgxMF9qYWNrX2Z1bmM7CitzdGF0aWMgaW50IG44MTBfZG1pY19mdW5jOwogCiBzdGF0aWMgdm9pZCBuODEwX2V4dF9jb250cm9sKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiRXh0IFNwayIsIG44MTBfc3BrX2Z1bmMpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIG44MTBfamFja19mdW5jKTsKKwlpZiAobjgxMF9zcGtfZnVuYykKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CisJZWxzZQorCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCWlmIChuODEwX2phY2tfZnVuYykKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCWVsc2UKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKworCWlmIChuODEwX2RtaWNfZnVuYykKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJETWljIik7CisJZWxzZQorCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJETWljIik7CisKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiB9CiAKIHN0YXRpYyBpbnQgbjgxMF9zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQpAQCAtNzMsMTIgKzg2LDEyIEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCWludCBlcnI7CiAKIAkvKiBTZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQllcnIgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksCisJZXJyID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksCiAJCQkJCSBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQkJCQkgU05EX1NPQ19EQUlGTVRfTkJfTkYgfAogCQkJCQkgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CkBAIC04Niw3ICs5OSw3IEBACiAJCXJldHVybiBlcnI7CiAKIAkvKiBTZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JZXJyID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksCisJZXJyID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLAogCQkJCSAgICAgICBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQkJCSAgICAgICBTTkRfU09DX0RBSUZNVF9OQl9ORiB8CiAJCQkJICAgICAgIFNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwpAQCAtOTQsNyArMTA3LDcgQEAKIAkJcmV0dXJuIGVycjsKIAogCS8qIFNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCWVyciA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgMCwgMTIwMDAwMDAsCisJZXJyID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIDAsIDEyMDAwMDAwLAogCQkJCQkgICAgU05EX1NPQ19DTE9DS19JTik7CiAKIAlyZXR1cm4gZXJyOwpAQCAtMTUwLDEzICsxNjMsMzUgQEAKIAlyZXR1cm4gMTsKIH0KIAorc3RhdGljIGludCBuODEwX2dldF9pbnB1dChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCSAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBuODEwX2RtaWNfZnVuYzsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG44MTBfc2V0X2lucHV0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSAgc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCisJaWYgKG44MTBfZG1pY19mdW5jID09IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdKQorCQlyZXR1cm4gMDsKKworCW44MTBfZG1pY19mdW5jID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07CisJbjgxMF9leHRfY29udHJvbChjb2RlYyk7CisKKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIGludCBuODEwX3Nwa19ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywKIAkJCSAgc3RydWN0IHNuZF9rY29udHJvbCAqaywgaW50IGV2ZW50KQogewogCWlmIChTTkRfU09DX0RBUE1fRVZFTlRfT04oZXZlbnQpKQotCQlvbWFwX3NldF9ncGlvX2RhdGFvdXQoUlg0NF9TUEVBS0VSX0FNUF9HUElPLCAxKTsKKwkJZ3Bpb19zZXRfdmFsdWUoTjgxMF9TUEVBS0VSX0FNUF9HUElPLCAxKTsKIAllbHNlCi0JCW9tYXBfc2V0X2dwaW9fZGF0YW91dChSWDQ0X1NQRUFLRVJfQU1QX0dQSU8sIDApOworCQlncGlvX3NldF92YWx1ZShOODEwX1NQRUFLRVJfQU1QX0dQSU8sIDApOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNjUsOSArMjAwLDkgQEAKIAkJCSAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmssIGludCBldmVudCkKIHsKIAlpZiAoU05EX1NPQ19EQVBNX0VWRU5UX09OKGV2ZW50KSkKLQkJb21hcF9zZXRfZ3Bpb19kYXRhb3V0KFJYNDRfSEVBRFNFVF9BTVBfR1BJTywgMSk7CisJCWdwaW9fc2V0X3ZhbHVlKE44MTBfSEVBRFNFVF9BTVBfR1BJTywgMSk7CiAJZWxzZQotCQlvbWFwX3NldF9ncGlvX2RhdGFvdXQoUlg0NF9IRUFEU0VUX0FNUF9HUElPLCAwKTsKKwkJZ3Bpb19zZXRfdmFsdWUoTjgxMF9IRUFEU0VUX0FNUF9HUElPLCAwKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTc1LDIxICsyMTAsMjcgQEAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCBhaWMzM19kYXBtX3dpZGdldHNbXSA9IHsKIAlTTkRfU09DX0RBUE1fU1BLKCJFeHQgU3BrIiwgbjgxMF9zcGtfZXZlbnQpLAogCVNORF9TT0NfREFQTV9IUCgiSGVhZHBob25lIEphY2siLCBuODEwX2phY2tfZXZlbnQpLAorCVNORF9TT0NfREFQTV9NSUMoIkRNaWMiLCBOVUxMKSwKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCXsiSGVhZHBob25lIEphY2siLCBOVUxMLCAiSFBMT1VUIn0sCiAJeyJIZWFkcGhvbmUgSmFjayIsIE5VTEwsICJIUFJPVVQifSwKIAogCXsiRXh0IFNwayIsIE5VTEwsICJMTE9VVCJ9LAogCXsiRXh0IFNwayIsIE5VTEwsICJSTE9VVCJ9LAorCisJeyJETWljIFJhdGUgNjQiLCBOVUxMLCAiTWljIEJpYXMgMlYifSwKKwl7Ik1pYyBCaWFzIDJWIiwgTlVMTCwgIkRNaWMifSwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICpzcGtfZnVuY3Rpb25bXSA9IHsiT2ZmIiwgIk9uIn07CiBzdGF0aWMgY29uc3QgY2hhciAqamFja19mdW5jdGlvbltdID0geyJPZmYiLCAiSGVhZHBob25lIn07CitzdGF0aWMgY29uc3QgY2hhciAqaW5wdXRfZnVuY3Rpb25bXSA9IHsiQURDIiwgIkRpZ2l0YWwgTWljIn07CiBzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIG44MTBfZW51bVtdID0gewogCVNPQ19FTlVNX1NJTkdMRV9FWFQoQVJSQVlfU0laRShzcGtfZnVuY3Rpb24pLCBzcGtfZnVuY3Rpb24pLAogCVNPQ19FTlVNX1NJTkdMRV9FWFQoQVJSQVlfU0laRShqYWNrX2Z1bmN0aW9uKSwgamFja19mdW5jdGlvbiksCisJU09DX0VOVU1fU0lOR0xFX0VYVChBUlJBWV9TSVpFKGlucHV0X2Z1bmN0aW9uKSwgaW5wdXRfZnVuY3Rpb24pLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFpYzMzX244MTBfY29udHJvbHNbXSA9IHsKQEAgLTE5Nyw2ICsyMzgsOCBAQAogCQkgICAgIG44MTBfZ2V0X3NwaywgbjgxMF9zZXRfc3BrKSwKIAlTT0NfRU5VTV9FWFQoIkphY2sgRnVuY3Rpb24iLCBuODEwX2VudW1bMV0sCiAJCSAgICAgbjgxMF9nZXRfamFjaywgbjgxMF9zZXRfamFjayksCisJU09DX0VOVU1fRVhUKCJJbnB1dCBTZWxlY3QiLCAgbjgxMF9lbnVtWzJdLAorCQkgICAgIG44MTBfZ2V0X2lucHV0LCBuODEwX3NldF9pbnB1dCksCiB9OwogCiBzdGF0aWMgaW50IG44MTBfYWljMzNfaW5pdChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCkBAIC0yMDQsOSArMjQ3LDkgQEAKIAlpbnQgaSwgZXJyOwogCiAJLyogTm90IGNvbm5lY3RlZCAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNT05PX0xPVVQiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSFBMQ09NIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhQUkNPTSIsIDApOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1PTk9fTE9VVCIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhQTENPTSIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhQUkNPTSIpOwogCiAJLyogQWRkIE44MTAgc3BlY2lmaWMgY29udHJvbHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhaWMzM19uODEwX2NvbnRyb2xzKTsgaSsrKSB7CkBAIC0yMTcsMTUgKzI2MCwxMyBAQAogCX0KIAogCS8qIEFkZCBOODEwIHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhaWMzM19kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJmFpYzMzX2RhcG1fd2lkZ2V0c1tpXSk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgYWljMzNfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRShhaWMzM19kYXBtX3dpZGdldHMpKTsKIAogCS8qIFNldCB1cCBOODEwIHNwZWNpZmljIGF1ZGlvIHBhdGggYXVkaW9fbWFwICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYXVkaW9fbWFwKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAogCXJldHVybiAwOwogfQpAQCAtMjUwLDYgKzI5MSw4IEBACiAvKiBBdWRpbyBwcml2YXRlIGRhdGEgKi8KIHN0YXRpYyBzdHJ1Y3QgYWljM3hfc2V0dXBfZGF0YSBuODEwX2FpYzMzX3NldHVwID0gewogCS5pMmNfYWRkcmVzcyA9IDB4MTgsCisJLmdwaW9fZnVuY1swXSA9IEFJQzNYX0dQSU8xX0ZVTkNfRElTQUJMRUQsCisJLmdwaW9fZnVuY1sxXSA9IEFJQzNYX0dQSU8yX0ZVTkNfRElHSVRBTF9NSUNfSU5QVVQsCiB9OwogCiAvKiBBdWRpbyBzdWJzeXN0ZW0gKi8KQEAgLTI2Nyw3ICszMTAsNyBAQAogCWludCBlcnI7CiAJc3RydWN0IGRldmljZSAqZGV2OwogCi0JaWYgKCFtYWNoaW5lX2lzX25va2lhX244MTAoKSkKKwlpZiAoIShtYWNoaW5lX2lzX25va2lhX244MTAoKSB8fCBtYWNoaW5lX2lzX25va2lhX244MTBfd2ltYXgoKSkpCiAJCXJldHVybiAtRU5PREVWOwogCiAJbjgxMF9zbmRfZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzb2MtYXVkaW8iLCAtMSk7CkBAIC0zMDUsMTIgKzM0OCwxMiBAQAogCWNsa19zZXRfcGFyZW50KHN5c19jbGtvdXQyX3NyYywgZnVuYzk2bV9jbGspOwogCWNsa19zZXRfcmF0ZShzeXNfY2xrb3V0MiwgMTIwMDAwMDApOwogCi0JaWYgKG9tYXBfcmVxdWVzdF9ncGlvKFJYNDRfSEVBRFNFVF9BTVBfR1BJTykgPCAwKQorCWlmIChncGlvX3JlcXVlc3QoTjgxMF9IRUFEU0VUX0FNUF9HUElPLCAiaHNfYW1wIikgPCAwKQogCQlCVUcoKTsKLQlpZiAob21hcF9yZXF1ZXN0X2dwaW8oUlg0NF9TUEVBS0VSX0FNUF9HUElPKSA8IDApCisJaWYgKGdwaW9fcmVxdWVzdChOODEwX1NQRUFLRVJfQU1QX0dQSU8sICJzcGtfYW1wIikgPCAwKQogCQlCVUcoKTsKLQlvbWFwX3NldF9ncGlvX2RpcmVjdGlvbihSWDQ0X0hFQURTRVRfQU1QX0dQSU8sIDApOwotCW9tYXBfc2V0X2dwaW9fZGlyZWN0aW9uKFJYNDRfU1BFQUtFUl9BTVBfR1BJTywgMCk7CisJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KE44MTBfSEVBRFNFVF9BTVBfR1BJTywgMCk7CisJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KE44MTBfU1BFQUtFUl9BTVBfR1BJTywgMCk7CiAKIAlyZXR1cm4gMDsKIGVycjI6CkBAIC0zMjUsNiArMzY4LDkgQEAKIAogc3RhdGljIHZvaWQgX19leGl0IG44MTBfc29jX2V4aXQodm9pZCkKIHsKKwlncGlvX2ZyZWUoTjgxMF9TUEVBS0VSX0FNUF9HUElPKTsKKwlncGlvX2ZyZWUoTjgxMF9IRUFEU0VUX0FNUF9HUElPKTsKKwogCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKG44MTBfc25kX2RldmljZSk7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuYyBiL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuYwppbmRleCA0MGQ4N2U2Li4wMGIwYzlkIDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvb21hcC9vbWFwLW1jYnNwLmMKKysrIGIvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5jCkBAIC0xMDMsNyArMTAzLDcgQEAKIHN0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXN0cnVjdCBvbWFwX21jYnNwX2RhdGEgKm1jYnNwX2RhdGEgPSB0b19tY2JzcChjcHVfZGFpLT5wcml2YXRlX2RhdGEpOwogCWludCBlcnIgPSAwOwogCkBAIC0xMTYsNyArMTE2LDcgQEAKIHN0YXRpYyB2b2lkIG9tYXBfbWNic3BfZGFpX3NodXRkb3duKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJc3RydWN0IG9tYXBfbWNic3BfZGF0YSAqbWNic3BfZGF0YSA9IHRvX21jYnNwKGNwdV9kYWktPnByaXZhdGVfZGF0YSk7CiAKIAlpZiAoIWNwdV9kYWktPmFjdGl2ZSkgewpAQCAtMTI4LDcgKzEyOCw3IEBACiBzdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9kYXRhICptY2JzcF9kYXRhID0gdG9fbWNic3AoY3B1X2RhaS0+cHJpdmF0ZV9kYXRhKTsKIAlpbnQgZXJyID0gMDsKIApAQCAtMTU3LDcgKzE1Nyw3IEBACiAJCQkJICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJc3RydWN0IG9tYXBfbWNic3BfZGF0YSAqbWNic3BfZGF0YSA9IHRvX21jYnNwKGNwdV9kYWktPnByaXZhdGVfZGF0YSk7CiAJc3RydWN0IG9tYXBfbWNic3BfcmVnX2NmZyAqcmVncyA9ICZtY2JzcF9kYXRhLT5yZWdzOwogCWludCBkbWEsIGJ1c19pZCA9IG1jYnNwX2RhdGEtPmJ1c19pZCwgaWQgPSBjcHVfZGFpLT5pZDsKQEAgLTIyMyw3ICsyMjMsNyBAQAogICogVGhpcyBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgX3NldF9jbGtkaXYgYW5kIF9zZXRfc3lzY2xrIHNpbmNlIE1jQlNQIHJlZ2lzdGVyCiAgKiBjYWNoZSBpcyBpbml0aWFsaXplZCBoZXJlCiAgKi8KLXN0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJCSAgICAgIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IG9tYXBfbWNic3BfZGF0YSAqbWNic3BfZGF0YSA9IHRvX21jYnNwKGNwdV9kYWktPnByaXZhdGVfZGF0YSk7CkBAIC0yOTIsNyArMjkyLDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBvbWFwX21jYnNwX2RhaV9zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJCSAgICAgaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9kYXRhICptY2JzcF9kYXRhID0gdG9fbWNic3AoY3B1X2RhaS0+cHJpdmF0ZV9kYXRhKTsKQEAgLTM0Nyw3ICszNDcsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJCQkJIGludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLAogCQkJCQkgaW50IGRpcikKIHsKQEAgLTM3Niw3ICszNzYsNyBAQAogCXJldHVybiBlcnI7CiB9CiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgb21hcF9tY2JzcF9kYWlbTlVNX0xJTktTXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBvbWFwX21jYnNwX2RhaVtOVU1fTElOS1NdID0gewogewogCS5uYW1lID0gIm9tYXAtbWNic3AtZGFpIiwKIAkuaWQgPSAwLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5oIGIvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5oCmluZGV4IDk5NjVmZDQuLmVkOGFmYjUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuaAorKysgYi9zb3VuZC9zb2Mvb21hcC9vbWFwLW1jYnNwLmgKQEAgLTQ0LDYgKzQ0LDYgQEAKICAqLwogI2RlZmluZSBOVU1fTElOS1MJMQogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBvbWFwX21jYnNwX2RhaVtOVU1fTElOS1NdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBvbWFwX21jYnNwX2RhaVtOVU1fTElOS1NdOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9vbWFwL29tYXAtcGNtLmMgYi9zb3VuZC9zb2Mvb21hcC9vbWFwLXBjbS5jCmluZGV4IDYyMzcwMjAuLmUwOTJmM2QgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9vbWFwL29tYXAtcGNtLmMKKysrIGIvc291bmQvc29jL29tYXAvb21hcC1wY20uYwpAQCAtMzE2LDcgKzMxNiw3IEBACiAJfQogfQogCi1pbnQgb21hcF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksCitpbnQgb21hcF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCiAJCSBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCWludCByZXQgPSAwOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9LY29uZmlnIGIvc291bmQvc29jL3B4YS9LY29uZmlnCmluZGV4IDQ4NGY4ODMuLjEyZjZhYzkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvcHhhL0tjb25maWcKQEAgLTEsNiArMSw2IEBACiBjb25maWcgU05EX1BYQTJYWF9TT0MKIAl0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciB0aGUgSW50ZWwgUFhBMnh4IGNoaXAiCi0JZGVwZW5kcyBvbiBBUkNIX1BYQSAmJiBTTkRfU09DCisJZGVwZW5kcyBvbiBBUkNIX1BYQQogCWhlbHAKIAkgIFNheSBZIG9yIE0gaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIGNvZGVjcyBhdHRhY2hlZCB0bwogCSAgdGhlIFBYQTJ4eCBBQzk3LCBJMlMgb3IgU1NQIGludGVyZmFjZS4gWW91IHdpbGwgYWxzbyBuZWVkCkBAIC02MiwzICs2MiwxMiBAQAogCWhlbHAKIAkgIFNheSBZIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBTb0MgYXVkaW8gb24gdGhlCiAJICBUb3NoaWJhIGU4MDAgUERBCisKK2NvbmZpZyBTTkRfUFhBMlhYX1NPQ19FTV9YMjcwCisJdHJpc3RhdGUgIlNvQyBBdWRpbyBzdXBwb3J0IGZvciBDb21wdUxhYiBFTS14MjcwIgorCWRlcGVuZHMgb24gU05EX1BYQTJYWF9TT0MgJiYgTUFDSF9FTV9YMjcwCisJc2VsZWN0IFNORF9QWEEyWFhfU09DX0FDOTcKKwlzZWxlY3QgU05EX1NPQ19XTTk3MTIKKwloZWxwCisJICBTYXkgWSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgU29DIGF1ZGlvIG9uCisJICBDb21wdUxhYiBFTS14MjcwLgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9NYWtlZmlsZSBiL3NvdW5kL3NvYy9weGEvTWFrZWZpbGUKaW5kZXggMDRlNTY0Ni4uNWJjOGVkZiAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9NYWtlZmlsZQorKysgYi9zb3VuZC9zb2MvcHhhL01ha2VmaWxlCkBAIC0xMywxMCArMTMsMTEgQEAKIHNuZC1zb2MtdG9zYS1vYmpzIDo9IHRvc2Eubwogc25kLXNvYy1lODAwLW9ianMgOj0gZTgwMF93bTk3MTIubwogc25kLXNvYy1zcGl0ei1vYmpzIDo9IHNwaXR6Lm8KK3NuZC1zb2MtZW0teDI3MC1vYmpzIDo9IGVtLXgyNzAubwogCiBvYmotJChDT05GSUdfU05EX1BYQTJYWF9TT0NfQ09SR0kpICs9IHNuZC1zb2MtY29yZ2kubwogb2JqLSQoQ09ORklHX1NORF9QWEEyWFhfU09DX1BPT0RMRSkgKz0gc25kLXNvYy1wb29kbGUubwogb2JqLSQoQ09ORklHX1NORF9QWEEyWFhfU09DX1RPU0EpICs9IHNuZC1zb2MtdG9zYS5vCiBvYmotJChDT05GSUdfU05EX1BYQTJYWF9TT0NfRTgwMCkgKz0gc25kLXNvYy1lODAwLm8KIG9iai0kKENPTkZJR19TTkRfUFhBMlhYX1NPQ19TUElUWikgKz0gc25kLXNvYy1zcGl0ei5vCi0KK29iai0kKENPTkZJR19TTkRfUFhBMlhYX1NPQ19FTV9YMjcwKSArPSBzbmQtc29jLWVtLXgyNzAubwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9jb3JnaS5jIGIvc291bmQvc29jL3B4YS9jb3JnaS5jCmluZGV4IDdmMzJhMTEuLmMwMjk0NDYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvY29yZ2kuYworKysgYi9zb3VuZC9zb2MvcHhhL2NvcmdpLmMKQEAgLTExLDEwICsxMSw2IEBACiAgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMzB0aCBOb3YgMjAwNSAgIEluaXRpYWwgdmVyc2lvbi4KLSAqCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNTQsNDcgKzUwLDUxIEBACiAKIHN0YXRpYyB2b2lkIGNvcmdpX2V4dF9jb250cm9sKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgc3BrID0gMCwgbWljID0gMCwgbGluZSA9IDAsIGhwID0gMCwgaHMgPSAwOwotCiAJLyogc2V0IHVwIGphY2sgY29ubmVjdGlvbiAqLwogCXN3aXRjaCAoY29yZ2lfamFja19mdW5jKSB7CiAJY2FzZSBDT1JHSV9IUDoKLQkJaHAgPSAxOwogCQkvKiBzZXQgPSB1bm11dGUgaGVhZHBob25lICovCiAJCXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX0wpOwogCQlzZXRfc2Nvb3BfZ3BpbygmY29yZ2lzY29vcF9kZXZpY2UuZGV2LCBDT1JHSV9TQ1BfTVVURV9SKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCWJyZWFrOwogCWNhc2UgQ09SR0lfTUlDOgotCQltaWMgPSAxOwogCQkvKiByZXNldCA9IG11dGUgaGVhZHBob25lICovCiAJCXJlc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfTCk7CiAJCXJlc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfUik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlicmVhazsKIAljYXNlIENPUkdJX0xJTkU6Ci0JCWxpbmUgPSAxOwogCQlyZXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX0wpOwogCQlyZXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX1IpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKIAkJYnJlYWs7CiAJY2FzZSBDT1JHSV9IRUFEU0VUOgotCQlocyA9IDE7Ci0JCW1pYyA9IDE7CiAJCXJlc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfTCk7CiAJCXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX1IpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlicmVhazsKIAl9CiAKIAlpZiAoY29yZ2lfc3BrX2Z1bmMgPT0gQ09SR0lfU1BLX09OKQotCQlzcGsgPSAxOwotCi0JLyogc2V0IHRoZSBlbnBvaW50cyB0byB0aGVpciBuZXcgY29ubmV0aW9uIHN0YXRlcyAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJFeHQgU3BrIiwgc3BrKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIEphY2siLCBtaWMpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIEphY2siLCBsaW5lKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCBocCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgSmFjayIsIGhzKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CisJZWxzZQorCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CiAKIAkvKiBzaWduYWwgYSBEQVBNIGV2ZW50ICovCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiB9CiAKIHN0YXRpYyBpbnQgY29yZ2lfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKQEAgLTEyMyw4ICsxMjMsOCBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAl1bnNpZ25lZCBpbnQgY2xrID0gMDsKIAlpbnQgcmV0ID0gMDsKIApAQCAtMTQzLDI1ICsxNDMsMjUgQEAKIAl9CiAKIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBjb2RlYyBzeXN0ZW0gY2xvY2sgZm9yIERBQyBhbmQgQURDICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3MzFfU1lTQ0xLLCBjbGssCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODczMV9TWVNDTEssIGNsaywKIAkJU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIEkyUyBzeXN0ZW0gY2xvY2sgYXMgaW5wdXQgKHVudXNlZCkgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY3B1X2RhaSwgUFhBMlhYX0kyU19TWVNDTEssIDAsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2NsayhjcHVfZGFpLCBQWEEyWFhfSTJTX1NZU0NMSywgMCwKIAkJU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0yNDcsNyArMjQ3LDcgQEAKIH07CiAKIC8qIENvcmdpIG1hY2hpbmUgYXVkaW8gbWFwIChjb25uZWN0aW9ucyB0byB0aGUgY29kZWMgcGlucykgKi8KLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCiAJLyogaGVhZHNldCBKYWNrICAtIGluID0gbWljaW4sIG91dCA9IExIUE9VVCovCiAJeyJIZWFkc2V0IEphY2siLCBOVUxMLCAiTEhQT1VUIn0sCkBAIC0yNjUsOCArMjY1LDYgQEAKIAogCS8qIFNhbWUgYXMgdGhlIGFib3ZlIGJ1dCBubyBtaWMgYmlhcyBmb3IgbGluZSBzaWduYWxzICovCiAJeyJNSUNJTiIsIE5VTEwsICJMaW5lIEphY2sifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICpqYWNrX2Z1bmN0aW9uW10gPSB7IkhlYWRwaG9uZSIsICJNaWMiLCAiTGluZSIsICJIZWFkc2V0IiwKQEAgLTI5MSw4ICsyODksOCBAQAogewogCWludCBpLCBlcnI7CiAKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTExJTkVJTiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJSTElORUlOIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTExJTkVJTiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlJMSU5FSU4iKTsKIAogCS8qIEFkZCBjb3JnaSBzcGVjaWZpYyBjb250cm9scyAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODczMV9jb3JnaV9jb250cm9scyk7IGkrKykgewpAQCAtMzAzLDE1ICszMDEsMTMgQEAKIAl9CiAKIAkvKiBBZGQgY29yZ2kgc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtODczMV9kYXBtX3dpZGdldHNbaV0pOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODczMV9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpKTsKIAogCS8qIFNldCB1cCBjb3JnaSBzcGVjaWZpYyBhdWRpbyBwYXRoIGF1ZGlvX21hcCAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL2VtLXgyNzAuYyBiL3NvdW5kL3NvYy9weGEvZW0teDI3MC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyZGNhYzMKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvcHhhL2VtLXgyNzAuYwpAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIGVtLXgyNzAuYyAgLS0gIFNvQyBhdWRpbyBmb3IgRU0tWDI3MAorICoKKyAqIENvcHlyaWdodCAyMDA3IENvbXB1TGFiLCBMdGQuCisgKgorICogQXV0aG9yOiBNaWtlIFJhcG9wb3J0IDxtaWtlQGNvbXB1bGFiLmNvLmlsPgorICoKKyAqIENvcGllZCBmcm9tIHRvc2EuYzoKKyAqIENvcHlyaWdodCAyMDA1IFdvbGZzb24gTWljcm9lbGVjdHJvbmljcyBQTEMuCisgKiBDb3B5cmlnaHQgMjAwNSBPcGVuZWRoYW5kIEx0ZC4KKyAqCisgKiBBdXRob3JzOiBMaWFtIEdpcmR3b29kIDxsaWFtLmdpcmR3b29kQHdvbGZzb25taWNyby5jb20+CisgKiAgICAgICAgICBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZEBvcGVuZWRoYW5kLmNvbT4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlICBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCisgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9kcml2ZXIuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CisKKyNpbmNsdWRlICIuLi9jb2RlY3Mvd205NzEyLmgiCisjaW5jbHVkZSAicHhhMnh4LXBjbS5oIgorI2luY2x1ZGUgInB4YTJ4eC1hYzk3LmgiCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayBlbV94MjcwX2RhaVtdID0geworCXsKKwkJLm5hbWUgPSAiQUM5NyIsCisJCS5zdHJlYW1fbmFtZSA9ICJBQzk3IEhpRmkiLAorCQkuY3B1X2RhaSA9ICZweGFfYWM5N19kYWlbUFhBMlhYX0RBSV9BQzk3X0hJRkldLAorCQkuY29kZWNfZGFpID0gJndtOTcxMl9kYWlbV005NzEyX0RBSV9BQzk3X0hJRkldLAorCX0sCisJeworCQkubmFtZSA9ICJBQzk3IEF1eCIsCisJCS5zdHJlYW1fbmFtZSA9ICJBQzk3IEF1eCIsCisJCS5jcHVfZGFpID0gJnB4YV9hYzk3X2RhaVtQWEEyWFhfREFJX0FDOTdfQVVYXSwKKwkJLmNvZGVjX2RhaSA9ICZ3bTk3MTJfZGFpW1dNOTcxMl9EQUlfQUM5N19BVVhdLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfbWFjaGluZSBlbV94MjcwID0geworCS5uYW1lID0gIkVNLVgyNzAiLAorCS5kYWlfbGluayA9IGVtX3gyNzBfZGFpLAorCS5udW1fbGlua3MgPSBBUlJBWV9TSVpFKGVtX3gyNzBfZGFpKSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgZW1feDI3MF9zbmRfZGV2ZGF0YSA9IHsKKwkubWFjaGluZSA9ICZlbV94MjcwLAorCS5wbGF0Zm9ybSA9ICZweGEyeHhfc29jX3BsYXRmb3JtLAorCS5jb2RlY19kZXYgPSAmc29jX2NvZGVjX2Rldl93bTk3MTIsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZW1feDI3MF9zbmRfZGV2aWNlOworCitzdGF0aWMgaW50IF9faW5pdCBlbV94MjcwX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0OworCisJaWYgKCFtYWNoaW5lX2lzX2VtX3gyNzAoKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwllbV94MjcwX3NuZF9kZXZpY2UgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNvYy1hdWRpbyIsIC0xKTsKKwlpZiAoIWVtX3gyNzBfc25kX2RldmljZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShlbV94MjcwX3NuZF9kZXZpY2UsICZlbV94MjcwX3NuZF9kZXZkYXRhKTsKKwllbV94MjcwX3NuZF9kZXZkYXRhLmRldiA9ICZlbV94MjcwX3NuZF9kZXZpY2UtPmRldjsKKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkKGVtX3gyNzBfc25kX2RldmljZSk7CisKKwlpZiAocmV0KQorCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KGVtX3gyNzBfc25kX2RldmljZSk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgZW1feDI3MF9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoZW1feDI3MF9zbmRfZGV2aWNlKTsKK30KKworbW9kdWxlX2luaXQoZW1feDI3MF9pbml0KTsKK21vZHVsZV9leGl0KGVtX3gyNzBfZXhpdCk7CisKKy8qIE1vZHVsZSBpbmZvcm1hdGlvbiAqLworTU9EVUxFX0FVVEhPUigiTWlrZSBSYXBvcG9ydCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBTFNBIFNvQyBFTS1YMjcwIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3Bvb2RsZS5jIGIvc291bmQvc29jL3B4YS9wb29kbGUuYwppbmRleCA3ZTgzMGIyLi42NWE0ZTlhIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL3Bvb2RsZS5jCisrKyBiL3NvdW5kL3NvYy9weGEvcG9vZGxlLmMKQEAgLTQ4LDggKzQ4LDYgQEAKIAogc3RhdGljIHZvaWQgcG9vZGxlX2V4dF9jb250cm9sKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgc3BrID0gMDsKLQogCS8qIHNldCB1cCBqYWNrIGNvbm5lY3Rpb24gKi8KIAlpZiAocG9vZGxlX2phY2tfZnVuYyA9PSBQT09ETEVfSFApIHsKIAkJLyogc2V0ID0gdW5tdXRlIGhlYWRwaG9uZSAqLwpAQCAtNTcsMjMgKzU1LDIzIEBACiAJCQlQT09ETEVfTE9DT01PX0dQSU9fTVVURV9MLCAxKTsKIAkJbG9jb21vX2dwaW9fd3JpdGUoJnBvb2RsZV9sb2NvbW9fZGV2aWNlLmRldiwKIAkJCVBPT0RMRV9MT0NPTU9fR1BJT19NVVRFX1IsIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCAxKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOwogCX0gZWxzZSB7CiAJCWxvY29tb19ncGlvX3dyaXRlKCZwb29kbGVfbG9jb21vX2RldmljZS5kZXYsCiAJCQlQT09ETEVfTE9DT01PX0dQSU9fTVVURV9MLCAwKTsKIAkJbG9jb21vX2dwaW9fd3JpdGUoJnBvb2RsZV9sb2NvbW9fZGV2aWNlLmRldiwKIAkJCVBPT0RMRV9MT0NPTU9fR1BJT19NVVRFX1IsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKIAl9CiAKLQlpZiAocG9vZGxlX3Nwa19mdW5jID09IFBPT0RMRV9TUEtfT04pCi0JCXNwayA9IDE7Ci0KIAkvKiBzZXQgdGhlIGVucG9pbnRzIHRvIHRoZWlyIG5ldyBjb25uZXRpb24gc3RhdGVzICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkV4dCBTcGsiLCBzcGspOworCWlmIChwb29kbGVfc3BrX2Z1bmMgPT0gUE9PRExFX1NQS19PTikKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CisJZWxzZQorCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CiAKIAkvKiBzaWduYWwgYSBEQVBNIGV2ZW50ICovCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiB9CiAKIHN0YXRpYyBpbnQgcG9vZGxlX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCkBAIC0xMDQsOCArMTAyLDggQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJdW5zaWduZWQgaW50IGNsayA9IDA7CiAJaW50IHJldCA9IDA7CiAKQEAgLTEyNCwyNSArMTIyLDI1IEBACiAJfQogCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzMxX1NZU0NMSywgY2xrLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3MzFfU1lTQ0xLLCBjbGssCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBJMlMgc3lzdGVtIGNsb2NrIGFzIGlucHV0ICh1bnVzZWQpICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNwdV9kYWksIFBYQTJYWF9JMlNfU1lTQ0xLLCAwLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY3B1X2RhaSwgUFhBMlhYX0kyU19TWVNDTEssIDAsCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMjE1LDggKzIxMyw4IEBACiBTTkRfU09DX0RBUE1fU1BLKCJFeHQgU3BrIiwgcG9vZGxlX2FtcF9ldmVudCksCiB9OwogCi0vKiBDb3JnaSBtYWNoaW5lIGF1ZGlvX21hcG5lY3Rpb25zIHRvIHRoZSBjb2RlYyBwaW5zICovCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CisvKiBDb3JnaSBtYWNoaW5lIGNvbm5lY3Rpb25zIHRvIHRoZSBjb2RlYyBwaW5zICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAogCS8qIGhlYWRwaG9uZSBjb25uZWN0ZWQgdG8gTEhQT1VUMSwgUkhQT1VUMSAqLwogCXsiSGVhZHBob25lIEphY2siLCBOVUxMLCAiTEhQT1VUIn0sCkBAIC0yMjUsOCArMjIzLDYgQEAKIAkvKiBzcGVha2VyIGNvbm5lY3RlZCB0byBMT1VULCBST1VUICovCiAJeyJFeHQgU3BrIiwgTlVMTCwgIlJPVVQifSwKIAl7IkV4dCBTcGsiLCBOVUxMLCAiTE9VVCJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKmphY2tfZnVuY3Rpb25bXSA9IHsiT2ZmIiwgIkhlYWRwaG9uZSJ9OwpAQCAtMjUwLDkgKzI0Niw5IEBACiB7CiAJaW50IGksIGVycjsKIAotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMTElORUlOIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIlJMSU5FSU4iLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTUlDSU4iLCAxKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMTElORUlOIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiUkxJTkVJTiIpOworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTUlDSU4iKTsKIAogCS8qIEFkZCBwb29kbGUgc3BlY2lmaWMgY29udHJvbHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3MzFfcG9vZGxlX2NvbnRyb2xzKTsgaSsrKSB7CkBAIC0yNjMsMTUgKzI1OSwxMyBAQAogCX0KIAogCS8qIEFkZCBwb29kbGUgc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtODczMV9kYXBtX3dpZGdldHNbaV0pOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODczMV9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpKTsKIAogCS8qIFNldCB1cCBwb29kbGUgc3BlY2lmaWMgYXVkaW8gcGF0aCBhdWRpb19tYXAgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5jIGIvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5jCmluZGV4IDk3ZWMyZDkuLjA1OWFmODEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWFjOTcuYworKysgYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmMKQEAgLTI4Myw3ICsyODMsNyBAQAogCiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IHB4YTJ4eF9hYzk3X3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJR0NSIHw9IEdDUl9BQ0xJTktfT0ZGOwogCWNsa19kaXNhYmxlKGFjOTdfY2xrKTsKQEAgLTI5MSw3ICsyOTEsNyBAQAogfQogCiBzdGF0aWMgaW50IHB4YTJ4eF9hYzk3X3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlweGFfZ3Bpb19tb2RlKEdQSU8zMV9TWU5DX0FDOTdfTUQpOwogCXB4YV9ncGlvX21vZGUoR1BJTzMwX1NEQVRBX09VVF9BQzk3X01EKTsKQEAgLTMxMCw3ICszMTAsOCBAQAogI2RlZmluZSBweGEyeHhfYWM5N19yZXN1bWUJTlVMTAogI2VuZGlmCiAKLXN0YXRpYyBpbnQgcHhhMnh4X2FjOTdfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgcHhhMnh4X2FjOTdfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJaW50IHJldDsKIApAQCAtMzU1LDcgKzM1Niw4IEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHZvaWQgcHhhMnh4X2FjOTdfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgdm9pZCBweGEyeHhfYWM5N19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlHQ1IgfD0gR0NSX0FDTElOS19PRkY7CiAJZnJlZV9pcnEoSVJRX0FDOTcsIE5VTEwpOwpAQCAtMzcyLDcgKzM3NCw3IEBACiAJCQkJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQogCQljcHVfZGFpLT5kbWFfZGF0YSA9ICZweGEyeHhfYWM5N19wY21fc3RlcmVvX291dDsKQEAgLTM4Niw3ICszODgsNyBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKIAkJY3B1X2RhaS0+ZG1hX2RhdGEgPSAmcHhhMnh4X2FjOTdfcGNtX2F1eF9tb25vX291dDsKQEAgLTQwMCw3ICs0MDIsNyBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC00MTgsNyArNDIwLDcgQEAKICAqIFRoZXJlIGlzIG9ubHkgMSBwaHlzaWNhbCBBQzk3IGludGVyZmFjZSBmb3IgcHhhMnh4LCBidXQgaXQKICAqIGhhcyBleHRyYSBmaWZvJ3MgdGhhdCBjYW4gYmUgdXNlZCBmb3IgYXV4IERBQ3MgYW5kIEFEQ3MuCiAgKi8KLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgcHhhX2FjOTdfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgcHhhX2FjOTdfZGFpW10gPSB7CiB7CiAJLm5hbWUgPSAicHhhMnh4LWFjOTciLAogCS5pZCA9IDAsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmggYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmgKaW5kZXggYjhjY2ZlZS4uZTM5MGRlOCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5oCisrKyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWFjOTcuaApAQCAtMTQsNyArMTQsNyBAQAogI2RlZmluZSBQWEEyWFhfREFJX0FDOTdfQVVYCQkxCiAjZGVmaW5lIFBYQTJYWF9EQUlfQUM5N19NSUMJCTIKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgcHhhX2FjOTdfZGFpWzNdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBweGFfYWM5N19kYWlbM107CiAKIC8qIHBsYXRmb3JtIGRhdGEgKi8KIGV4dGVybiBzdHJ1Y3Qgc25kX2FjOTdfYnVzX29wcyBweGEyeHhfYWM5N19vcHM7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1pMnMuYyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5jCmluZGV4IDQyNTA3MTAuLjhmOTZkODcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5jCisrKyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5jCkBAIC05LDE1ICs5LDEzIEBACiAgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMTJ0aCBBdWcgMjAwNSAgIEluaXRpYWwgdmVyc2lvbi4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVkZSA8c291bmQvY29yZS5oPgogI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgogI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KQEAgLTQwLDYgKzM4LDcgQEAKIAl1MzIgZm10OwogfTsKIHN0YXRpYyBzdHJ1Y3QgcHhhX2kyc19wb3J0IHB4YV9pMnM7CitzdGF0aWMgc3RydWN0IGNsayAqY2xrX2kyczsKIAogc3RhdGljIHN0cnVjdCBweGEyeHhfcGNtX2RtYV9wYXJhbXMgcHhhMnh4X2kyc19wY21fc3RlcmVvX291dCA9IHsKIAkubmFtZQkJCT0gIkkyUyBQQ00gU3RlcmVvIG91dCIsCkBAIC04MCw3ICs3OSwxMSBAQAogc3RhdGljIGludCBweGEyeHhfaTJzX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKworCWNsa19pMnMgPSBjbGtfZ2V0KE5VTEwsICJJMlNDTEsiKTsKKwlpZiAoSVNfRVJSKGNsa19pMnMpKQorCQlyZXR1cm4gUFRSX0VSUihjbGtfaTJzKTsKIAogCWlmICghY3B1X2RhaS0+YWN0aXZlKSB7CiAJCVNBQ1IwIHw9IFNBQ1IwX1JTVDsKQEAgLTEwMSw3ICsxMDQsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHB4YTJ4eF9pMnNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgcHhhMnh4X2kyc19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJLyogaW50ZXJmYWNlIGZvcm1hdCAqLwpAQCAtMTI3LDcgKzEzMCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcHhhMnh4X2kyc19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBweGEyeHhfaTJzX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJaWYgKGNsa19pZCAhPSBQWEEyWFhfSTJTX1NZU0NMSykKQEAgLTE0MywxMyArMTQ2LDEzIEBACiAJCQkJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAogCXB4YV9ncGlvX21vZGUoZ3Bpb19idXNbcHhhX2kycy5tYXN0ZXJdLnJ4KTsKIAlweGFfZ3Bpb19tb2RlKGdwaW9fYnVzW3B4YV9pMnMubWFzdGVyXS50eCk7CiAJcHhhX2dwaW9fbW9kZShncGlvX2J1c1tweGFfaTJzLm1hc3Rlcl0uZnJtKTsKIAlweGFfZ3Bpb19tb2RlKGdwaW9fYnVzW3B4YV9pMnMubWFzdGVyXS5jbGspOwotCXB4YV9zZXRfY2tlbihDS0VOX0kyUywgMSk7CisJY2xrX2VuYWJsZShjbGtfaTJzKTsKIAlweGFfaTJzX3dhaXQoKTsKIAogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQpAQCAtMjM0LDEzICsyMzcsMTUgQEAKIAlpZiAoU0FDUjEgJiAoU0FDUjFfRFJFQyB8IFNBQ1IxX0RSUEwpKSB7CiAJCVNBQ1IwICY9IH5TQUNSMF9FTkI7CiAJCXB4YV9pMnNfd2FpdCgpOwotCQlweGFfc2V0X2NrZW4oQ0tFTl9JMlMsIDApOworCQljbGtfZGlzYWJsZShjbGtfaTJzKTsKIAl9CisKKwljbGtfcHV0KGNsa19pMnMpOwogfQogCiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IHB4YTJ4eF9pMnNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCWlmICghZGFpLT5hY3RpdmUpCiAJCXJldHVybiAwOwpAQCAtMjU4LDcgKzI2Myw3IEBACiB9CiAKIHN0YXRpYyBpbnQgcHhhMnh4X2kyc19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJaWYgKCFkYWktPmFjdGl2ZSkKIAkJcmV0dXJuIDA7CkBAIC0yODMsNyArMjg4LDcgQEAKIAkJU05EUlZfUENNX1JBVEVfMTYwMDAgfCBTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgXAogCQlTTkRSVl9QQ01fUkFURV80ODAwMCB8IFNORFJWX1BDTV9SQVRFXzk2MDAwKQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHB4YV9pMnNfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIHB4YV9pMnNfZGFpID0gewogCS5uYW1lID0gInB4YTJ4eC1pMnMiLAogCS5pZCA9IDAsCiAJLnR5cGUgPSBTTkRfU09DX0RBSV9JMlMsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1pMnMuaCBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5oCmluZGV4IDQ0MzViZDkuLmUyZGVmNDQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5oCisrKyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5oCkBAIC0xNSw2ICsxNSw2IEBACiAvKiBJMlMgY2xvY2sgKi8KICNkZWZpbmUgUFhBMlhYX0kyU19TWVNDTEsJCTAKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgcHhhX2kyc19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHB4YV9pMnNfZGFpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LXBjbS5jIGIvc291bmQvc29jL3B4YS9weGEyeHgtcGNtLmMKaW5kZXggMDFhZDdiZi4uMmRmMDNlZSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9weGEyeHgtcGNtLmMKKysrIGIvc291bmQvc29jL3B4YS9weGEyeHgtcGNtLmMKQEAgLTMzMCw3ICszMzAsNyBAQAogCiBzdGF0aWMgdTY0IHB4YTJ4eF9wY21fZG1hbWFzayA9IERNQV8zMkJJVF9NQVNLOwogCi1pbnQgcHhhMnh4X3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwKK2ludCBweGEyeHhfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCXN0cnVjdCBzbmRfcGNtICpwY20pCiB7CiAJaW50IHJldCA9IDA7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3NwaXR6LmMgYi9zb3VuZC9zb2MvcHhhL3NwaXR6LmMKaW5kZXggZDhiODM3Mi4uNjQzODU3OSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9zcGl0ei5jCisrKyBiL3NvdW5kL3NvYy9weGEvc3BpdHouYwpAQCAtMTIsOSArMTIsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDMwdGggTm92IDIwMDUgICBJbml0aWFsIHZlcnNpb24uCi0gKgogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTU0LDYwICs1MSw2MCBAQAogc3RhdGljIHZvaWQgc3BpdHpfZXh0X2NvbnRyb2woc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewogCWlmIChzcGl0el9zcGtfZnVuYyA9PSBTUElUWl9TUEtfT04pCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJFeHQgU3BrIiwgMSk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOwogCWVsc2UKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkV4dCBTcGsiLCAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOwogCiAJLyogc2V0IHVwIGphY2sgY29ubmVjdGlvbiAqLwogCXN3aXRjaCAoc3BpdHpfamFja19mdW5jKSB7CiAJY2FzZSBTUElUWl9IUDoKIAkJLyogZW5hYmxlIGFuZCB1bm11dGUgaHAgamFjaywgZGlzYWJsZSBtaWMgYmlhcyAqLwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNaWMgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTGluZSBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDEpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKIAkJc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfTCk7CiAJCXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX1IpOwogCQlicmVhazsKIAljYXNlIFNQSVRaX01JQzoKIAkJLyogZW5hYmxlIG1pYyBqYWNrIGFuZCBiaWFzLCBtdXRlIGhwICovCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyBKYWNrIiwgMSk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOwogCQlyZXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX0wpOwogCQlyZXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX1IpOwogCQlicmVhazsKIAljYXNlIFNQSVRaX0xJTkU6CiAJCS8qIGVuYWJsZSBsaW5lIGphY2ssIGRpc2FibGUgbWljIGJpYXMgYW5kIG11dGUgaHAgKi8KLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIEphY2siLCAxKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CiAJCXJlc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfTCk7CiAJCXJlc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfUik7CiAJCWJyZWFrOwogCWNhc2UgU1BJVFpfSEVBRFNFVDoKIAkJLyogZW5hYmxlIGFuZCB1bm11dGUgaGVhZHNldCBqYWNrIGVuYWJsZSBtaWMgYmlhcywgbXV0ZSBMIGhwICovCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIEphY2siLCAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgMSk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCXJlc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfTCk7CiAJCXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX1IpOwogCQlicmVhazsKIAljYXNlIFNQSVRaX0hQX09GRjoKIAogCQkvKiBqYWNrIHJlbW92ZWQsIGV2ZXJ5dGhpbmcgb2ZmICovCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNaWMgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTGluZSBKYWNrIiwgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKIAkJcmVzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9MKTsKIAkJcmVzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9SKTsKIAkJYnJlYWs7CiAJfQotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogfQogCiBzdGF0aWMgaW50IHNwaXR6X3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCkBAIC0xMjQsOCArMTIxLDggQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJdW5zaWduZWQgaW50IGNsayA9IDA7CiAJaW50IHJldCA9IDA7CiAKQEAgLTE0NCwyNSArMTQxLDI1IEBACiAJfQogCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzUwX1NZU0NMSywgY2xrLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3NTBfU1lTQ0xLLCBjbGssCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBJMlMgc3lzdGVtIGNsb2NrIGFzIGlucHV0ICh1bnVzZWQpICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNwdV9kYWksIFBYQTJYWF9JMlNfU1lTQ0xLLCAwLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY3B1X2RhaSwgUFhBMlhYX0kyU19TWVNDTEssIDAsCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMjUwLDcgKzI0Nyw3IEBACiB9OwogCiAvKiBTcGl0eiBtYWNoaW5lIGF1ZGlvX21hcCAqLwotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAKIAkvKiBoZWFkcGhvbmUgY29ubmVjdGVkIHRvIExPVVQxLCBST1VUMSAqLwogCXsiSGVhZHBob25lIEphY2siLCBOVUxMLCAiTE9VVDEifSwKQEAgLTI2OSw4ICsyNjYsNiBAQAogCiAJLyogbGluZSBpcyBjb25uZWN0ZWQgdG8gaW5wdXQgMSAtIG5vIGJpYXMgKi8KIAl7IkxJTlBVVDEiLCBOVUxMLCAiTGluZSBKYWNrIn0sCi0KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqamFja19mdW5jdGlvbltdID0geyJIZWFkcGhvbmUiLCAiTWljIiwgIkxpbmUiLCAiSGVhZHNldCIsCkBAIC0yOTYsMTMgKzI5MSwxMyBAQAogCWludCBpLCBlcnI7CiAKIAkvKiBOQyBjb2RlYyBwaW5zICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIlJJTlBVVDEiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTElOUFVUMiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJSSU5QVVQyIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxJTlBVVDMiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiUklOUFVUMyIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJPVVQzIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1PTk8iLCAwKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJSSU5QVVQxIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTElOUFVUMiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlJJTlBVVDIiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMSU5QVVQzIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiUklOUFVUMyIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk9VVDMiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNT05PIik7CiAKIAkvKiBBZGQgc3BpdHogc3BlY2lmaWMgY29udHJvbHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3NTBfc3BpdHpfY29udHJvbHMpOyBpKyspIHsKQEAgLTMxMywxNSArMzA4LDEzIEBACiAJfQogCiAJLyogQWRkIHNwaXR6IHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3NTBfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTg3NTBfZGFwbV93aWRnZXRzW2ldKTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg3NTBfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg3NTBfZGFwbV93aWRnZXRzKSk7CiAKLQkvKiBTZXQgdXAgc3BpdHogc3BlY2lmaWMgYXVkaW8gcGF0aCBhdWRpb19tYXAgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCS8qIFNldCB1cCBzcGl0eiBzcGVjaWZpYyBhdWRpbyBwYXRocyAqLworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS90b3NhLmMgYi9zb3VuZC9zb2MvcHhhL3Rvc2EuYwppbmRleCA3MzQ2ZDdlLi5iNmVkYjYxIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL3Rvc2EuYworKysgYi9zb3VuZC9zb2MvcHhhL3Rvc2EuYwpAQCAtMTIsOSArMTIsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDMwdGggTm92IDIwMDUgICBJbml0aWFsIHZlcnNpb24uCi0gKgogICogR1BJTydzCiAgKiAgMSAtIEphY2sgSW5zZXJ0aW9uCiAgKiAgNSAtIEhvb2tzd2l0Y2ggKGhlYWRzZXQgYW5zd2VyL2hhbmcgdXAgc3dpdGNoKQpAQCAtNTUsMjkgKzUyLDMxIEBACiAKIHN0YXRpYyB2b2lkIHRvc2FfZXh0X2NvbnRyb2woc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBzcGsgPSAwLCBtaWNfaW50ID0gMCwgaHAgPSAwLCBocyA9IDA7Ci0KIAkvKiBzZXQgdXAgamFjayBjb25uZWN0aW9uICovCiAJc3dpdGNoICh0b3NhX2phY2tfZnVuYykgewogCWNhc2UgVE9TQV9IUDoKLQkJaHAgPSAxOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNaWMgKEludGVybmFsKSIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlicmVhazsKIAljYXNlIFRPU0FfTUlDX0lOVDoKLQkJbWljX2ludCA9IDE7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTWljIChJbnRlcm5hbCkiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCWJyZWFrOwogCWNhc2UgVE9TQV9IRUFEU0VUOgotCQlocyA9IDE7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1pYyAoSW50ZXJuYWwpIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCWJyZWFrOwogCX0KIAogCWlmICh0b3NhX3Nwa19mdW5jID09IFRPU0FfU1BLX09OKQotCQlzcGsgPSAxOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIlNwZWFrZXIiKTsKKwllbHNlCisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlNwZWFrZXIiKTsKIAotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJTcGVha2VyIiwgc3BrKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIChJbnRlcm5hbCkiLCBtaWNfaW50KTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCBocCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgSmFjayIsIGhzKTsKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIH0KIAogc3RhdGljIGludCB0b3NhX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCkBAIC0xNTQsNyArMTUzLDcgQEAKIH07CiAKIC8qIHRvc2EgYXVkaW8gbWFwICovCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAogCS8qIGhlYWRwaG9uZSBjb25uZWN0ZWQgdG8gSFBPVVRMLCBIUE9VVFIgKi8KIAl7IkhlYWRwaG9uZSBKYWNrIiwgTlVMTCwgIkhQT1VUTCJ9LApAQCAtMTczLDggKzE3Miw2IEBACiAJeyJIZWFkc2V0IEphY2siLCBOVUxMLCAiSFBPVVRSIn0sCiAJeyJMSU5FSU5SIiwgTlVMTCwgIk1pYyBCaWFzIn0sCiAJeyJNaWMgQmlhcyIsIE5VTEwsICJIZWFkc2V0IEphY2sifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICpqYWNrX2Z1bmN0aW9uW10gPSB7IkhlYWRwaG9uZSIsICJNaWMiLCAiTGluZSIsICJIZWFkc2V0IiwKQEAgLTE5Niw4ICsxOTMsOCBAQAogewogCWludCBpLCBlcnI7CiAKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiT1VUMyIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNT05PT1VUIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiT1VUMyIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1PTk9PVVQiKTsKIAogCS8qIGFkZCB0b3NhIHNwZWNpZmljIGNvbnRyb2xzICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodG9zYV9jb250cm9scyk7IGkrKykgewpAQCAtMjA4LDE3ICsyMDUsMTMgQEAKIAl9CiAKIAkvKiBhZGQgdG9zYSBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodG9zYV9kYXBtX3dpZGdldHMpOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmdG9zYV9kYXBtX3dpZGdldHNbaV0pOwotCX0KKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB0b3NhX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUodG9zYV9kYXBtX3dpZGdldHMpKTsKIAogCS8qIHNldCB1cCB0b3NhIHNwZWNpZmljIGF1ZGlvIHBhdGggYXVkaW9fbWFwICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykgewotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOwotCX0KKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L0tjb25maWcgYi9zb3VuZC9zb2MvczNjMjR4eC9LY29uZmlnCmluZGV4IDFmNmRiZmMuLmI5ZjIzNTMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L0tjb25maWcKKysrIGIvc291bmQvc29jL3MzYzI0eHgvS2NvbmZpZwpAQCAtMSw3ICsxLDYgQEAKIGNvbmZpZyBTTkRfUzNDMjRYWF9TT0MKIAl0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciB0aGUgU2Ftc3VuZyBTM0MyNFhYIGNoaXBzIgotCWRlcGVuZHMgb24gQVJDSF9TM0MyNDEwICYmIFNORF9TT0MKLQlzZWxlY3QgU05EX1BDTQorCWRlcGVuZHMgb24gQVJDSF9TM0MyNDEwCiAJaGVscAogCSAgU2F5IFkgb3IgTSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgY29kZWNzIGF0dGFjaGVkIHRvCiAJICB0aGUgUzNDMjRYWCBBQzk3LCBJMlMgb3IgU1NQIGludGVyZmFjZS4gWW91IHdpbGwgYWxzbyBuZWVkCkBAIC0xNiw3ICsxNSw2IEBACiBjb25maWcgU05EX1MzQzI0NDNfU09DX0FDOTcKIAl0cmlzdGF0ZQogCXNlbGVjdCBBQzk3X0JVUwotCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCXNlbGVjdCBTTkRfU09DX0FDOTdfQlVTCiAJCiBjb25maWcgU05EX1MzQzI0WFhfU09DX05FTzE5NzNfV004NzUzCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9uZW8xOTczX3dtODc1My5jIGIvc291bmQvc29jL3MzYzI0eHgvbmVvMTk3M193bTg3NTMuYwppbmRleCAwZTlkMWM1Li40ZDdhOWFhIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9uZW8xOTczX3dtODc1My5jCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L25lbzE5NzNfd204NzUzLmMKQEAgLTEwLDEwICsxMCw2IEBACiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMjB0aCBKYW4gMjAwNyAgIEluaXRpYWwgdmVyc2lvbi4KLSAqICAgIDA1dGggRmViIDIwMDcgICBSZW5hbWUgYWxsIHRvIE5lbzE5NzMKLSAqCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtMjYsNiArMjIsNyBAQAogI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgogI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgogI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSA8c291bmQvdGx2Lmg+CiAKICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9zY29vcC5oPgpAQCAtNDMsNiArNDAsMTQgQEAKICNpbmNsdWRlICJzM2MyNHh4LXBjbS5oIgogI2luY2x1ZGUgInMzYzI0eHgtaTJzLmgiCiAKKy8qIERlYnVnZ2luZyBzdHVmZiAqLworI2RlZmluZSBTM0MyNFhYX1NPQ19ORU8xOTczX1dNODc1M19ERUJVRyAwCisjaWYgUzNDMjRYWF9TT0NfTkVPMTk3M19XTTg3NTNfREVCVUcKKyNkZWZpbmUgREJHKHguLi4pIHByaW50ayhLRVJOX0RFQlVHICJzM2MyNHh4LXNvYy1uZW8xOTczLXdtODc1MzogIiB4KQorI2Vsc2UKKyNkZWZpbmUgREJHKHguLi4pCisjZW5kaWYKKwogLyogZGVmaW5lIHRoZSBzY2VuYXJpb3MgKi8KICNkZWZpbmUgTkVPX0FVRElPX09GRgkJCTAKICNkZWZpbmUgTkVPX0dTTV9DQUxMX0FVRElPX0hBTkRTRVQJMQpAQCAtNjEsMTIgKzY2LDE0IEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXVuc2lnbmVkIGludCBwbGxfb3V0ID0gMCwgYmNsayA9IDA7CiAJaW50IHJldCA9IDA7CiAJdW5zaWduZWQgbG9uZyBpaXNfY2xrcmF0ZTsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaWlzX2Nsa3JhdGUgPSBzM2MyNHh4X2kyc19nZXRfY2xvY2tyYXRlKCk7CiAKIAlzd2l0Y2ggKHBhcmFtc19yYXRlKHBhcmFtcykpIHsKQEAgLTEwMSw0NCArMTA4LDQ0IEBACiAJfQogCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLAogCQlTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9OQl9ORiB8CiAJCVNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwKIAkJU05EX1NPQ19EQUlGTVRfSTJTIHwgU05EX1NPQ19EQUlGTVRfTkJfTkYgfAogCQlTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzUzX01DTEssIHBsbF9vdXQsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODc1M19NQ0xLLCBwbGxfb3V0LAogCQlTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBNQ0xLIGRpdmlzaW9uIGZvciBzYW1wbGUgcmF0ZSAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2Nsa2RpdihjcHVfZGFpLCBTM0MyNFhYX0RJVl9NQ0xLLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwgUzNDMjRYWF9ESVZfTUNMSywKIAkJUzNDMjQxMF9JSVNNT0RfMzJGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY29kZWMgQkNMSyBkaXZpc2lvbiBmb3Igc2FtcGxlIHJhdGUgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2Nsa2Rpdihjb2RlY19kYWksIFdNODc1M19CQ0xLRElWLCBiY2xrKTsKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNvZGVjX2RhaSwgV004NzUzX0JDTEtESVYsIGJjbGspOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHByZXNjYWxlciBkaXZpc2lvbiBmb3Igc2FtcGxlIHJhdGUgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY3B1X2RhaSwgUzNDMjRYWF9ESVZfUFJFU0NBTEVSLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwgUzNDMjRYWF9ESVZfUFJFU0NBTEVSLAogCQlTM0MyNFhYX1BSRVNDQUxFKDQsIDQpKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIGNvZGVjIFBMTCBpbnB1dCBpcyBQQ0xLLzQgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwxLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMSwKIAkJaWlzX2Nsa3JhdGUgLyA0LCBwbGxfb3V0KTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTE0OSwxMCArMTU2LDEyIEBACiBzdGF0aWMgaW50IG5lbzE5NzNfaGlmaV9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKIAkvKiBkaXNhYmxlIHRoZSBQTEwgKi8KLQlyZXR1cm4gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMSwgMCwgMCk7CisJcmV0dXJuIHNuZF9zb2NfZGFpX3NldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMSwgMCwgMCk7CiB9CiAKIC8qCkBAIC0xNjcsMTEgKzE3NiwxMyBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwogCXVuc2lnbmVkIGludCBwY21kaXYgPSAwOwogCWludCByZXQgPSAwOwogCXVuc2lnbmVkIGxvbmcgaWlzX2Nsa3JhdGU7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWlpc19jbGtyYXRlID0gczNjMjR4eF9pMnNfZ2V0X2Nsb2NrcmF0ZSgpOwogCiAJaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgIT0gODAwMCkKQEAgLTE4MywyNCArMTk0LDI0IEBACiAKIAkvKiB0b2RvOiBnZyBjaGVjayBtb2RlIChEU1BfQikgYWdhaW5zdCBDU1IgZGF0YXNoZWV0ICovCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9EU1BfQiB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0RTUF9CIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzUzX1BDTUNMSywgMTIyODgwMDAsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODc1M19QQ01DTEssIDEyMjg4MDAwLAogCQlTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjb2RlYyBQQ00gZGl2aXNpb24gZm9yIHNhbXBsZSByYXRlICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY29kZWNfZGFpLCBXTTg3NTNfUENNRElWLCBwY21kaXYpOworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY29kZWNfZGFpLCBXTTg3NTNfUENNRElWLCBwY21kaXYpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogY29uZmlndWUgYW5kIGVuYWJsZSBQTEwgZm9yIDEyLjI4OE1IeiBvdXRwdXQgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwyLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMiwKIAkJaWlzX2Nsa3JhdGUgLyA0LCAxMjI4ODAwMCk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0yMTEsMTAgKzIyMiwxMiBAQAogc3RhdGljIGludCBuZW8xOTczX3ZvaWNlX2h3X2ZyZWUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIAogCS8qIGRpc2FibGUgdGhlIFBMTCAqLwotCXJldHVybiBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwyLCAwLCAwKTsKKwlyZXR1cm4gc25kX3NvY19kYWlfc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwyLCAwLCAwKTsKIH0KIAogc3RhdGljIHN0cnVjdCBzbmRfc29jX29wcyBuZW8xOTczX3ZvaWNlX29wcyA9IHsKQEAgLTIzMyw3OSArMjQ2LDgxIEBACiAKIHN0YXRpYyBpbnQgc2V0X3NjZW5hcmlvX2VuZHBvaW50cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBzY2VuYXJpbykKIHsKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCXN3aXRjaCAobmVvMTk3M19zY2VuYXJpbykgewogCWNhc2UgTkVPX0FVRElPX09GRjoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJY2FzZSBORU9fR1NNX0NBTExfQVVESU9fSEFORFNFVDoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMSk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19HU01fQ0FMTF9BVURJT19IRUFEU0VUOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX0dTTV9DQUxMX0FVRElPX0JMVUVUT09USDoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX1NURVJFT19UT19TUEVBS0VSUzoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19TVEVSRU9fVE9fSEVBRFBIT05FUzoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19DQVBUVVJFX0hBTkRTRVQ6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDEpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJY2FzZSBORU9fQ0FQVFVSRV9IRUFEU0VUOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX0NBUFRVUkVfQkxVRVRPT1RIOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCX0KIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0zMTUsNiArMzMwLDggQEAKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWlmIChuZW8xOTczX3NjZW5hcmlvID09IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdKQogCQlyZXR1cm4gMDsKIApAQCAtMzI3LDYgKzM0NCw4IEBACiAKIHN0YXRpYyB2b2lkIGxtNDg1N193cml0ZV9yZWdzKHZvaWQpCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpZiAoaTJjX21hc3Rlcl9zZW5kKGkyYywgbG00ODU3X3JlZ3MsIDQpICE9IDQpCiAJCXByaW50ayhLRVJOX0VSUiAibG00ODU3OiBpMmMgd3JpdGUgZmFpbGVkXG4iKTsKIH0KQEAgLTMzOCw2ICszNTcsOCBAQAogCWludCBzaGlmdCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiA4KSAmIDB4MEY7CiAJaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHhGRjsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSAobG00ODU3X3JlZ3NbcmVnXSA+PiBzaGlmdCkgJiBtYXNrOwogCXJldHVybiAwOwogfQpAQCAtMzY0LDYgKzM4NSw4IEBACiB7CiAJdTggdmFsdWUgPSBsbTQ4NTdfcmVnc1tMTTQ4NTdfQ1RSTF0gJiAweDBGOwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpZiAodmFsdWUpCiAJCXZhbHVlIC09IDU7CiAKQEAgLTM3Niw2ICszOTksOCBAQAogewogCXU4IHZhbHVlID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWlmICh2YWx1ZSkKIAkJdmFsdWUgKz0gNTsKIApAQCAtMzk3LDggKzQyMiw3IEBACiB9OwogCiAKLS8qIGV4YW1wbGUgbWFjaGluZSBhdWRpb19tYXBuZWN0aW9ucyAqLwotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgZGFwbV9yb3V0ZXNbXSA9IHsKIAogCS8qIENvbm5lY3Rpb25zIHRvIHRoZSBsbTQ4NTcgYW1wICovCiAJeyJBdWRpbyBPdXQiLCBOVUxMLCAiTE9VVDEifSwKQEAgLTQyMSw4ICs0NDUsNiBAQAogCiAJLyogQ29ubmVjdCB0aGUgQUxDIHBpbnMgKi8KIAl7IkFDSU4iLCBOVUxMLCAiQUNPUCJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKmxtNDg1N19tb2RlW10gPSB7CkBAIC00NTMsMTMgKzQ3NSwxNiBAQAogCVNPQ19FTlVNX1NJTkdMRV9FWFQoQVJSQVlfU0laRShuZW9fc2NlbmFyaW9zKSwgbmVvX3NjZW5hcmlvcyksCiB9OwogCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUoc3RlcmVvX3RsdiwgLTQwNTAsIDE1MCwgMCk7CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUobW9ub190bHYsIC0zNDUwLCAxNTAsIDApOworCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204NzUzX25lbzE5NzNfY29udHJvbHNbXSA9IHsKLQlTT0NfU0lOR0xFX0VYVCgiQW1wIExlZnQgUGxheWJhY2sgVm9sdW1lIiwgTE00ODU3X0xWT0wsIDAsIDMxLCAwLAotCQlsbTQ4NTdfZ2V0X3JlZywgbG00ODU3X3NldF9yZWcpLAotCVNPQ19TSU5HTEVfRVhUKCJBbXAgUmlnaHQgUGxheWJhY2sgVm9sdW1lIiwgTE00ODU3X1JWT0wsIDAsIDMxLCAwLAotCQlsbTQ4NTdfZ2V0X3JlZywgbG00ODU3X3NldF9yZWcpLAotCVNPQ19TSU5HTEVfRVhUKCJBbXAgTW9ubyBQbGF5YmFjayBWb2x1bWUiLCBMTTQ4NTdfTVZPTCwgMCwgMzEsIDAsCi0JCWxtNDg1N19nZXRfcmVnLCBsbTQ4NTdfc2V0X3JlZyksCisJU09DX1NJTkdMRV9FWFRfVExWKCJBbXAgTGVmdCBQbGF5YmFjayBWb2x1bWUiLCBMTTQ4NTdfTFZPTCwgMCwgMzEsIDAsCisJCWxtNDg1N19nZXRfcmVnLCBsbTQ4NTdfc2V0X3JlZywgc3RlcmVvX3RsdiksCisJU09DX1NJTkdMRV9FWFRfVExWKCJBbXAgUmlnaHQgUGxheWJhY2sgVm9sdW1lIiwgTE00ODU3X1JWT0wsIDAsIDMxLCAwLAorCQlsbTQ4NTdfZ2V0X3JlZywgbG00ODU3X3NldF9yZWcsIHN0ZXJlb190bHYpLAorCVNPQ19TSU5HTEVfRVhUX1RMVigiQW1wIE1vbm8gUGxheWJhY2sgVm9sdW1lIiwgTE00ODU3X01WT0wsIDAsIDMxLCAwLAorCQlsbTQ4NTdfZ2V0X3JlZywgbG00ODU3X3NldF9yZWcsIG1vbm9fdGx2KSwKIAlTT0NfRU5VTV9FWFQoIkFtcCBNb2RlIiwgbG00ODU3X21vZGVfZW51bVswXSwKIAkJbG00ODU3X2dldF9tb2RlLCBsbTQ4NTdfc2V0X21vZGUpLAogCVNPQ19FTlVNX0VYVCgiTmVvIE1vZGUiLCBuZW9fc2NlbmFyaW9fZW51bVswXSwKQEAgLTQ4MywyMSArNTA4LDIzIEBACiB7CiAJaW50IGksIGVycjsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJLyogc2V0IHVwIE5DIGNvZGVjIHBpbnMgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTE9VVDIiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiUk9VVDIiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiT1VUMyIsICAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiT1VUNCIsICAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTElORTEiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTElORTIiLCAwKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMT1VUMiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlJPVVQyIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiT1VUMyIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk9VVDQiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMSU5FMSIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxJTkUyIik7CiAKIAogCS8qIHNldCBlbmRwb2ludHMgdG8gZGVmYXVsdCBtb2RlICovCiAJc2V0X3NjZW5hcmlvX2VuZHBvaW50cyhjb2RlYywgTkVPX0FVRElPX09GRik7CiAKIAkvKiBBZGQgbmVvMTk3MyBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzUzX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd204NzUzX2RhcG1fd2lkZ2V0c1tpXSk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204NzUzX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204NzUzX2RhcG1fd2lkZ2V0cykpOwogCiAJLyogYWRkIG5lbzE5NzMgc3BlY2lmaWMgY29udHJvbHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3NTNfbmVvMTk3M19jb250cm9scyk7IGkrKykgewpAQCAtNTA4LDIwICs1MzUsMTggQEAKIAkJCXJldHVybiBlcnI7CiAJfQogCi0JLyogc2V0IHVwIG5lbzE5NzMgc3BlY2lmaWMgYXVkaW8gcGF0aCBhdWRpb19tYXBuZWN0cyAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKLQl9CisJLyogc2V0IHVwIG5lbzE5NzMgc3BlY2lmaWMgYXVkaW8gcm91dGVzICovCisJZXJyID0gc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGRhcG1fcm91dGVzLAorCQkJCSAgICAgIEFSUkFZX1NJWkUoZGFwbV9yb3V0ZXMpKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCXJldHVybiAwOwogfQogCiAvKgogICogQlQgQ29kZWMgREFJCiAgKi8KLXN0YXRpYyBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIGJ0X2RhaSA9IHsKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kYWkgYnRfZGFpID0gewogCS5uYW1lID0gIkJsdWV0b290aCIsCiAJLmlkID0gMCwKIAkudHlwZSA9IFNORF9TT0NfREFJX1BDTSwKQEAgLTU4Myw2ICs2MDgsOCBAQAogewogCWludCByZXQ7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWNsaWVudF90ZW1wbGF0ZS5hZGFwdGVyID0gYWRhcDsKIAljbGllbnRfdGVtcGxhdGUuYWRkciA9IGFkZHI7CiAKQEAgLTYwNiw2ICs2MzMsOCBAQAogCiBzdGF0aWMgaW50IGxtNDg1N19pMmNfZGV0YWNoKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOwogCWtmcmVlKGNsaWVudCk7CiAJcmV0dXJuIDA7CkBAIC02MTMsNiArNjQyLDggQEAKIAogc3RhdGljIGludCBsbTQ4NTdfaTJjX2F0dGFjaChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlyZXR1cm4gaTJjX3Byb2JlKGFkYXAsICZhZGRyX2RhdGEsIGxtNDg1N19hbXBfcHJvYmUpOwogfQogCkBAIC02MjAsNiArNjUxLDggQEAKIAogc3RhdGljIGludCBsbTQ4NTdfc3VzcGVuZChzdHJ1Y3QgaTJjX2NsaWVudCAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlkZXZfZGJnKCZkZXYtPmRldiwgImxtNDg1N19zdXNwZW5kXG4iKTsKIAlsbTQ4NTdfc3RhdGUgPSBsbTQ4NTdfcmVnc1tMTTQ4NTdfQ1RSTF0gJiAweGY7CiAJaWYgKGxtNDg1N19zdGF0ZSkgewpAQCAtNjMxLDYgKzY2NCw4IEBACiAKIHN0YXRpYyBpbnQgbG00ODU3X3Jlc3VtZShzdHJ1Y3QgaTJjX2NsaWVudCAqZGV2KQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaWYgKGxtNDg1N19zdGF0ZSkgewogCQlsbTQ4NTdfcmVnc1tMTTQ4NTdfQ1RSTF0gfD0gKGxtNDg1N19zdGF0ZSAmIDB4MGYpOwogCQlsbTQ4NTdfd3JpdGVfcmVncygpOwpAQCAtNjQwLDYgKzY3NSw4IEBACiAKIHN0YXRpYyB2b2lkIGxtNDg1N19zaHV0ZG93bihzdHJ1Y3QgaTJjX2NsaWVudCAqZGV2KQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJZGV2X2RiZygmZGV2LT5kZXYsICJsbTQ4NTdfc2h1dGRvd25cbiIpOwogCWxtNDg1N19yZWdzW0xNNDg1N19DVFJMXSAmPSAweGYwOwogCWxtNDg1N193cml0ZV9yZWdzKCk7CkBAIC02NzEsNiArNzA4LDggQEAKIHsKIAlpbnQgcmV0OwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAluZW8xOTczX3NuZF9kZXZpY2UgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNvYy1hdWRpbyIsIC0xKTsKIAlpZiAoIW5lbzE5NzNfc25kX2RldmljZSkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC02OTEsNiArNzMwLDggQEAKIAogc3RhdGljIHZvaWQgX19leGl0IG5lbzE5NzNfZXhpdCh2b2lkKQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaTJjX2RlbF9kcml2ZXIoJmxtNDg1N19pMmNfZHJpdmVyKTsKIAlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihuZW8xOTczX3NuZF9kZXZpY2UpOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuYyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0MTItaTJzLmMKaW5kZXggYzRhNDZkZC4uZWU0Njc2ZSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuYworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5jCkBAIC0yOTUsNyArMjk1LDcgQEAKIC8qCiAgKiBTZXQgUzNDMjQxMiBJMlMgREFJIGZvcm1hdAogICovCi1zdGF0aWMgaW50IHMzYzI0MTJfaTJzX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgczNjMjQxMl9pMnNfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCQkgICAgICAgdW5zaWduZWQgaW50IGZtdCkKIHsKIAl1MzIgaWlzbW9kOwpAQCAtNTAwLDcgKzUwMCw3IEBACiAvKgogICogU2V0IFMzQzI0MTIgQ2xvY2sgc291cmNlCiAgKi8KLXN0YXRpYyBpbnQgczNjMjQxMl9pMnNfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBzM2MyNDEyX2kyc19zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJCQkgIGludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXUzMiBpaXNtb2QgPSByZWFkbChzM2MyNDEyX2kycy5yZWdzICsgUzNDMjQxMl9JSVNNT0QpOwpAQCAtNTI4LDcgKzUyOCw3IEBACiAvKgogICogU2V0IFMzQzI0MTIgQ2xvY2sgZGl2aWRlcnMKICAqLwotc3RhdGljIGludCBzM2MyNDEyX2kyc19zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IHMzYzI0MTJfaTJzX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJCSAgaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3QgczNjMjQxMl9pMnNfaW5mbyAqaTJzID0gJnMzYzI0MTJfaTJzOwpAQCAtNjAxLDcgKzYwMSw4IEBACiBFWFBPUlRfU1lNQk9MX0dQTChzM2MyNDEyX2dldF9paXNjbGspOwogCiAKLXN0YXRpYyBpbnQgczNjMjQxMl9pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgczNjMjQxMl9pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKQEAgLTY0Nyw3ICs2NDgsNyBAQAogCiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IHMzYzI0MTJfaTJzX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LAotCQkJICAgICAgc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJc3RydWN0IHMzYzI0MTJfaTJzX2luZm8gKmkycyA9ICZzM2MyNDEyX2kyczsKIAl1MzIgaWlzbW9kOwpAQCAtNjc1LDcgKzY3Niw3IEBACiB9CiAKIHN0YXRpYyBpbnQgczNjMjQxMl9pMnNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlzdHJ1Y3QgczNjMjQxMl9pMnNfaW5mbyAqaTJzID0gJnMzYzI0MTJfaTJzOwogCkBAIC03MDcsNyArNzA4LDcgQEAKIAlTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzMyMDAwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfCBcCiAJU05EUlZfUENNX1JBVEVfNDgwMDAgfCBTTkRSVl9QQ01fUkFURV84ODIwMCB8IFNORFJWX1BDTV9SQVRFXzk2MDAwKQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHMzYzI0MTJfaTJzX2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBzM2MyNDEyX2kyc19kYWkgPSB7CiAJLm5hbWUJPSAiczNjMjQxMi1pMnMiLAogCS5pZAk9IDAsCiAJLnR5cGUJPSBTTkRfU09DX0RBSV9JMlMsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5oIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuaAppbmRleCAyN2Y0OGUxLi5hYWMwOGEyIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5oCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0MTItaTJzLmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogZXh0ZXJuIHN0cnVjdCBjbGsgKnMzYzI0MTJfZ2V0X2lpc2Nsayh2b2lkKTsKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjQxMl9pMnNfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBzM2MyNDEyX2kyc19kYWk7CiAKIHN0cnVjdCBzM2MyNDEyX3JhdGVfY2FsYyB7CiAJdW5zaWduZWQgaW50CWNsa19kaXY7CS8qIGZvciBwcmVzY2FsZXIgKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0NDMtYWM5Ny5jIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjQ0My1hYzk3LmMKaW5kZXggZTgxZDlhNi4uNzgzMzQ5YiAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjQ0My1hYzk3LmMKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjQ0My1hYzk3LmMKQEAgLTEwLDkgKzEwLDYgQEAKICAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCiAgKiAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqCTIxc3QgTWFyIDIwMDcgICBJbml0aWFsIFZlcnNpb24KICAqLwogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMjEyLDcgKzIwOSw4IEBACiAJLmRtYV9zaXplCT0gNCwKIH07CiAKLXN0YXRpYyBpbnQgczNjMjQ0M19hYzk3X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgaW50IHMzYzI0NDNfYWM5N19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJaW50IHJldDsKIAl1MzIgYWNfZ2xiY3RybDsKQEAgLTI2Myw3ICsyNjEsOCBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIHMzYzI0NDNfYWM5N19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyB2b2lkIHMzYzI0NDNfYWM5N19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlmcmVlX2lycShJUlFfUzNDMjQ0eF9BQzk3LCBOVUxMKTsKIAljbGtfZGlzYWJsZShzM2MyNHh4X2FjOTcuYWM5N19jbGspOwpAQCAtMjc1LDcgKzI3NCw3IEBACiAJCQkJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQogCQljcHVfZGFpLT5kbWFfZGF0YSA9ICZzM2MyNDQzX2FjOTdfcGNtX3N0ZXJlb19vdXQ7CkBAIC0zMTcsNyArMzE2LDcgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCiAJCXJldHVybiAtRU5PREVWOwpAQCAtMzUzLDcgKzM1Miw3IEBACiAJCVNORFJWX1BDTV9SQVRFXzE2MDAwIHwgU05EUlZfUENNX1JBVEVfMjIwNTAgfCBcCiAJCVNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgU05EUlZfUENNX1JBVEVfNDgwMDApCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjQ0M19hYzk3X2RhaVtdID0geworc3RydWN0IHNuZF9zb2NfZGFpIHMzYzI0NDNfYWM5N19kYWlbXSA9IHsKIHsKIAkubmFtZSA9ICJzM2MyNDQzLWFjOTciLAogCS5pZCA9IDAsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWFjOTcuaCBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtYWM5Ny5oCmluZGV4IGJmMDNlOGUuLmE5NmRjYWQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtYWM5Ny5oCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtYWM5Ny5oCkBAIC0yNiw2ICsyNiw2IEBACiAjZGVmaW5lIElSUV9TM0MyNDR4X0FDOTcgSVJRX1MzQzI0NDNfQUM5NwogI2VuZGlmCiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHMzYzI0NDNfYWM5N19kYWlbXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgczNjMjQ0M19hYzk3X2RhaVtdOwogCiAjZW5kaWYgLypTM0MyNFhYQUM5N19IXyovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5jIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuYwppbmRleCAxZWQ2YWZkLi4zOTc1MjQyIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5jCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmMKQEAgLTEyLDExICsxMiw2IEBACiAgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDExdGggRGVjIDIwMDYgICBNZXJnZWQgd2l0aCBTaW10ZWMgZHJpdmVyCi0gKiAgICAxMHRoIE5vdiAyMDA2ICAgSW5pdGlhbCB2ZXJzaW9uLgogICovCiAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0xODAsNyArMTc1LDcgQEAKIHN0YXRpYyBpbnQgczNjMjR4eF9zbmRfbHJzeW5jKHZvaWQpCiB7CiAJdTMyIGlpc2NvbjsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQgPSBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcyg1KTsKKwlpbnQgdGltZW91dCA9IDUwOyAvKiA1bXMgKi8KIAogCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOwogCkBAIC0xODksOCArMTg0LDkgQEAKIAkJaWYgKGlpc2NvbiAmIFMzQzI0MTBfSUlTQ09OX0xSSU5ERVgpCiAJCQlicmVhazsKIAotCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCB0aW1lb3V0KSkKKwkJaWYgKCF0aW1lb3V0LS0pCiAJCQlyZXR1cm4gLUVUSU1FRE9VVDsKKwkJdWRlbGF5KDEwMCk7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0yMDksNyArMjA1LDcgQEAKIC8qCiAgKiBTZXQgUzNDMjR4eCBJMlMgREFJIGZvcm1hdAogICovCi1zdGF0aWMgaW50IHMzYzI0eHhfaTJzX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJdTMyIGlpc21vZDsKQEAgLTMxNyw3ICszMTMsNyBAQAogLyoKICAqIFNldCBTM0MyNHh4IENsb2NrIHNvdXJjZQogICovCi1zdGF0aWMgaW50IHMzYzI0eHhfaTJzX3NldF9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJdTMyIGlpc21vZCA9IHJlYWRsKHMzYzI0eHhfaTJzLnJlZ3MgKyBTM0MyNDEwX0lJU01PRCk7CkBAIC0zNDMsNyArMzM5LDcgQEAKIC8qCiAgKiBTZXQgUzNDMjR4eCBDbG9jayBkaXZpZGVycwogICovCi1zdGF0aWMgaW50IHMzYzI0eHhfaTJzX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAl1MzIgcmVnOwpAQCAtMzgxLDcgKzM3Nyw4IEBACiB9CiBFWFBPUlRfU1lNQk9MX0dQTChzM2MyNHh4X2kyc19nZXRfY2xvY2tyYXRlKTsKIAotc3RhdGljIGludCBzM2MyNHh4X2kyc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIGludCBzM2MyNHh4X2kyc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIApAQCAtNDE0LDcgKzQxMSw3IEBACiAKICNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQgczNjMjR4eF9pMnNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKQorCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCiB7CiAJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKQEAgLTQyOSw3ICs0MjYsNyBAQAogfQogCiBzdGF0aWMgaW50IHMzYzI0eHhfaTJzX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKQorCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCiB7CiAJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAJY2xrX2VuYWJsZShzM2MyNHh4X2kycy5paXNfY2xrKTsKQEAgLTQ1Miw3ICs0NDksNyBAQAogCVNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfMzIwMDAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8IFwKIAlTTkRSVl9QQ01fUkFURV80ODAwMCB8IFNORFJWX1BDTV9SQVRFXzg4MjAwIHwgU05EUlZfUENNX1JBVEVfOTYwMDApCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjR4eF9pMnNfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIHMzYzI0eHhfaTJzX2RhaSA9IHsKIAkubmFtZSA9ICJzM2MyNHh4LWkycyIsCiAJLmlkID0gMCwKIAkudHlwZSA9IFNORF9TT0NfREFJX0kyUywKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmggYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5oCmluZGV4IDUzN2I0ZWMuLjcyNmQ5MWMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmgKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuaApAQCAtMzIsNiArMzIsNiBAQAogCiB1MzIgczNjMjR4eF9pMnNfZ2V0X2Nsb2NrcmF0ZSh2b2lkKTsKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjR4eF9pMnNfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBzM2MyNHh4X2kyc19kYWk7CiAKICNlbmRpZiAvKlMzQzI0WFhJMlNfSF8qLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1wY20uYyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtcGNtLmMKaW5kZXggNzgwNmFlNi4uY2VmNzliMyAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1wY20uYworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LXBjbS5jCkBAIC0xMiwxMCArMTIsNiBAQAogICogIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDExdGggRGVjIDIwMDYgICBNZXJnZWQgd2l0aCBTaW10ZWMgZHJpdmVyCi0gKiAgICAxMHRoIE5vdiAyMDA2ICAgSW5pdGlhbCB2ZXJzaW9uLgogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTQzMyw3ICs0MjksNyBAQAogc3RhdGljIHU2NCBzM2MyNHh4X3BjbV9kbWFtYXNrID0gRE1BXzMyQklUX01BU0s7CiAKIHN0YXRpYyBpbnQgczNjMjR4eF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKIHsKIAlpbnQgcmV0ID0gMDsKIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvc21kazI0NDNfd205NzEwLmMgYi9zb3VuZC9zb2MvczNjMjR4eC9zbWRrMjQ0M193bTk3MTAuYwppbmRleCBiNGE1NjMwLi44NTE1ZDZmIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zbWRrMjQ0M193bTk3MTAuYworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zbWRrMjQ0M193bTk3MTAuYwpAQCAtMTAsOSArMTAsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDh0aCBNYXIgMjAwNyAgIEluaXRpYWwgdmVyc2lvbi4KLSAqCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NoL0tjb25maWcgYi9zb3VuZC9zb2Mvc2gvS2NvbmZpZwppbmRleCA0YzFlMDEzLi41NGJkNjA0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvS2NvbmZpZworKysgYi9zb3VuZC9zb2Mvc2gvS2NvbmZpZwpAQCAtMyw3ICszLDcgQEAKIAogY29uZmlnIFNORF9TT0NfUENNX1NINzc2MAogCXRyaXN0YXRlICJTb0MgQXVkaW8gc3VwcG9ydCBmb3IgUmVuZXNhcyBTSDc3NjAiCi0JZGVwZW5kcyBvbiBDUFVfU1VCVFlQRV9TSDc3NjAgJiYgU05EX1NPQyAmJiBTSF9ETUFCUkcKKwlkZXBlbmRzIG9uIENQVV9TVUJUWVBFX1NINzc2MCAmJiBTSF9ETUFCUkcKIAloZWxwCiAJICBFbmFibGUgdGhpcyBvcHRpb24gZm9yIFNINzc2MCBBQzk3L0kyUyBhdWRpbyBzdXBwb3J0LgogCkBAIC0xMywxMCArMTMsOSBAQAogIyMKIAogY29uZmlnIFNORF9TT0NfU0g0X0hBQworCXRyaXN0YXRlCiAJc2VsZWN0IEFDOTdfQlVTCiAJc2VsZWN0IFNORF9TT0NfQUM5N19CVVMKLQlzZWxlY3QgU05EX0FDOTdfQ09ERUMKLQl0cmlzdGF0ZQogCiBjb25maWcgU05EX1NPQ19TSDRfU1NJCiAJdHJpc3RhdGUKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9kbWEtc2g3NzYwLmMgYi9zb3VuZC9zb2Mvc2gvZG1hLXNoNzc2MC5jCmluZGV4IDdhM2NlODAuLjlmYWExMjYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zaC9kbWEtc2g3NzYwLmMKKysrIGIvc291bmQvc29jL3NoL2RtYS1zaDc3NjAuYwpAQCAtMzI2LDcgKzMyNiw3IEBACiB9CiAKIHN0YXRpYyBpbnQgY2FtZWxvdF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKLQkJCSAgIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLAorCQkJICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCiAJCQkgICBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCS8qIGRvbnQgdXNlIFNORFJWX0RNQV9UWVBFX0RFViwgc2luY2UgaXQgd2lsbCBvb3BzIHRoZSBTSCBrZXJuZWwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9oYWMuYyBiL3NvdW5kL3NvYy9zaC9oYWMuYwppbmRleCBiN2I2NzZiLi5kZjdiYzM0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvaGFjLmMKKysrIGIvc291bmQvc29jL3NoL2hhYy5jCkBAIC0yNjYsNyArMjY2LDcgQEAKICNkZWZpbmUgQUM5N19GTVRTCVwKIAlTTkRSVl9QQ01fRk1UQklUX1MxNl9MRQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHNoNF9oYWNfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgc2g0X2hhY19kYWlbXSA9IHsKIHsKIAkubmFtZQkJCT0gIkhBQzAiLAogCS5pZAkJCT0gMCwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9zaDc3NjAtYWM5Ny5jIGIvc291bmQvc29jL3NoL3NoNzc2MC1hYzk3LmMKaW5kZXggMmY5MWRlOC4uOTJiZmFmNCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3NoL3NoNzc2MC1hYzk3LmMKKysrIGIvc291bmQvc29jL3NoL3NoNzc2MC1hYzk3LmMKQEAgLTIwLDEyICsyMCwxMiBAQAogI2RlZmluZSBJUFNFTCAweEZFNDAwMDM0CiAKIC8qIHBsYXRmb3JtIHNwZWNpZmljIHN0cnVjdHMgY2FuIGJlIGRlY2xhcmVkIGhlcmUgKi8KLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHNoNF9oYWNfZGFpWzJdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBzaDRfaGFjX2RhaVsyXTsKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSBzaDc3NjBfc29jX3BsYXRmb3JtOwogCiBzdGF0aWMgaW50IG1hY2hpbmVfaW5pdChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9zc2kuYyBiL3NvdW5kL3NvYy9zaC9zc2kuYwppbmRleCAzMzg4YmMzLi41NWMzNDY0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvc3NpLmMKKysrIGIvc291bmQvc29jL3NoL3NzaS5jCkBAIC0yMDgsNyArMjA4LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzc2lfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLCBpbnQgY2xrX2lkLAorc3RhdGljIGludCBzc2lfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksIGludCBjbGtfaWQsCiAJCQkgIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXN0cnVjdCBzc2lfcHJpdiAqc3NpID0gJnNzaV9jcHVfZGF0YVtjcHVfZGFpLT5pZF07CkBAIC0yMjIsNyArMjIyLDcgQEAKICAqIFRoaXMgZGl2aWRlciBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBTU0lfU0NLIChJMlMgYml0Y2xvY2spIGZyb20gdGhlCiAgKiBjbG9jayBhdCB0aGUgSEFDX0JJVF9DTEsgKCJvdmVyc2FtcGxpbmcgY2xvY2siKSBwaW4uCiAgKi8KLXN0YXRpYyBpbnQgc3NpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpLCBpbnQgZGlkLCBpbnQgZGl2KQorc3RhdGljIGludCBzc2lfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IGRpZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3Qgc3NpX3ByaXYgKnNzaSA9ICZzc2lfY3B1X2RhdGFbZGFpLT5pZF07CiAJdW5zaWduZWQgbG9uZyBzc2ljcjsKQEAgLTI0NSw3ICsyNDUsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHNzaV9zZXRfZm10KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCkKK3N0YXRpYyBpbnQgc3NpX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNzaV9wcml2ICpzc2kgPSAmc3NpX2NwdV9kYXRhW2RhaS0+aWRdOwogCXVuc2lnbmVkIGxvbmcgc3NpY3IgPSBTU0lSRUcoU1NJQ1IpOwpAQCAtMzMyLDcgKzMzMiw3IEBACiAJIFNORFJWX1BDTV9GTVRCSVRfUzI0XzNMRSB8IFNORFJWX1BDTV9GTVRCSVRfVTI0XzNMRSB8CVwKIAkgU05EUlZfUENNX0ZNVEJJVF9TMzJfTEUgIHwgU05EUlZfUENNX0ZNVEJJVF9VMzJfTEUpCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgc2g0X3NzaV9kYWlbXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBzaDRfc3NpX2RhaVtdID0gewogewogCS5uYW1lCQkJPSAiU1NJMCIsCiAJLmlkCQkJPSAwLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NvYy1jb3JlLmMgYi9zb3VuZC9zb2Mvc29jLWNvcmUuYwppbmRleCBlMTQ4ZGI5Li44M2YxMTkwIDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc29jLWNvcmUuYworKysgYi9zb3VuZC9zb2Mvc29jLWNvcmUuYwpAQCAtMTQsMTAgKzE0LDYgQEAKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAxMnRoIEF1ZyAyMDA1ICAgSW5pdGlhbCB2ZXJzaW9uLgotICogICAgMjV0aCBPY3QgMjAwNSAgIFdvcmtpbmcgQ29kZWMsIEludGVyZmFjZSBhbmQgUGxhdGZvcm0gcmVnaXN0cmF0aW9uLgotICoKICAqICBUT0RPOgogICogICBvIEFkZCBodyBydWxlcyB0byBlbmZvcmNlIHJhdGVzLCBldGMuCiAgKiAgIG8gTW9yZSB0ZXN0aW5nIHdpdGggb3RoZXIgY29kZWNzL21hY2hpbmVzLgpAQCAtMTEyLDkgKzEwOCw5IEBACiB9CiAjZW5kaWYKIAotc3RhdGljIGlubGluZSBjb25zdCBjaGFyKiBnZXRfZGFpX25hbWUoaW50IHR5cGUpCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKmdldF9kYWlfbmFtZShpbnQgdHlwZSkKIHsKLQlzd2l0Y2godHlwZSkgeworCXN3aXRjaCAodHlwZSkgewogCWNhc2UgU05EX1NPQ19EQUlfQUM5N19CVVM6CiAJY2FzZSBTTkRfU09DX0RBSV9BQzk3OgogCQlyZXR1cm4gIkFDOTciOwpAQCAtMTM4LDggKzEzNCw4IEBACiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqbWFjaGluZSA9IHJ0ZC0+ZGFpOwogCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKIAlpbnQgcmV0ID0gMDsKIAogCW11dGV4X2xvY2soJnBjbV9tdXRleCk7CkBAIC0xODIsOSArMTc4LDExIEBACiAJLyogQ2hlY2sgdGhhdCB0aGUgY29kZWMgYW5kIGNwdSBEQUkncyBhcmUgY29tcGF0aWJsZSAqLwogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKSB7CiAJCXJ1bnRpbWUtPmh3LnJhdGVfbWluID0KLQkJCW1heChjb2RlY19kYWktPnBsYXliYWNrLnJhdGVfbWluLCBjcHVfZGFpLT5wbGF5YmFjay5yYXRlX21pbik7CisJCQltYXgoY29kZWNfZGFpLT5wbGF5YmFjay5yYXRlX21pbiwKKwkJCSAgICBjcHVfZGFpLT5wbGF5YmFjay5yYXRlX21pbik7CiAJCXJ1bnRpbWUtPmh3LnJhdGVfbWF4ID0KLQkJCW1pbihjb2RlY19kYWktPnBsYXliYWNrLnJhdGVfbWF4LCBjcHVfZGFpLT5wbGF5YmFjay5yYXRlX21heCk7CisJCQltaW4oY29kZWNfZGFpLT5wbGF5YmFjay5yYXRlX21heCwKKwkJCSAgICBjcHVfZGFpLT5wbGF5YmFjay5yYXRlX21heCk7CiAJCXJ1bnRpbWUtPmh3LmNoYW5uZWxzX21pbiA9CiAJCQltYXgoY29kZWNfZGFpLT5wbGF5YmFjay5jaGFubmVsc19taW4sCiAJCQkJY3B1X2RhaS0+cGxheWJhY2suY2hhbm5lbHNfbWluKTsKQEAgLTE5Nyw5ICsxOTUsMTEgQEAKIAkJCWNvZGVjX2RhaS0+cGxheWJhY2sucmF0ZXMgJiBjcHVfZGFpLT5wbGF5YmFjay5yYXRlczsKIAl9IGVsc2UgewogCQlydW50aW1lLT5ody5yYXRlX21pbiA9Ci0JCQltYXgoY29kZWNfZGFpLT5jYXB0dXJlLnJhdGVfbWluLCBjcHVfZGFpLT5jYXB0dXJlLnJhdGVfbWluKTsKKwkJCW1heChjb2RlY19kYWktPmNhcHR1cmUucmF0ZV9taW4sCisJCQkgICAgY3B1X2RhaS0+Y2FwdHVyZS5yYXRlX21pbik7CiAJCXJ1bnRpbWUtPmh3LnJhdGVfbWF4ID0KLQkJCW1pbihjb2RlY19kYWktPmNhcHR1cmUucmF0ZV9tYXgsIGNwdV9kYWktPmNhcHR1cmUucmF0ZV9tYXgpOworCQkJbWluKGNvZGVjX2RhaS0+Y2FwdHVyZS5yYXRlX21heCwKKwkJCSAgICBjcHVfZGFpLT5jYXB0dXJlLnJhdGVfbWF4KTsKIAkJcnVudGltZS0+aHcuY2hhbm5lbHNfbWluID0KIAkJCW1heChjb2RlY19kYWktPmNhcHR1cmUuY2hhbm5lbHNfbWluLAogCQkJCWNwdV9kYWktPmNhcHR1cmUuY2hhbm5lbHNfbWluKTsKQEAgLTIyOSw3ICsyMjksNyBAQAogCQlnb3RvIG1hY2hpbmVfZXJyOwogCX0KIAotCWRiZygiYXNvYzogJXMgPC0+ICVzIGluZm86XG4iLGNvZGVjX2RhaS0+bmFtZSwgY3B1X2RhaS0+bmFtZSk7CisJZGJnKCJhc29jOiAlcyA8LT4gJXMgaW5mbzpcbiIsIGNvZGVjX2RhaS0+bmFtZSwgY3B1X2RhaS0+bmFtZSk7CiAJZGJnKCJhc29jOiByYXRlIG1hc2sgMHgleFxuIiwgcnVudGltZS0+aHcucmF0ZXMpOwogCWRiZygiYXNvYzogbWluIGNoICVkIG1heCBjaCAlZFxuIiwgcnVudGltZS0+aHcuY2hhbm5lbHNfbWluLAogCQlydW50aW1lLT5ody5jaGFubmVsc19tYXgpOwpAQCAtMjcyLDExICsyNzIsMTEgQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9CiAJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UsIGRlbGF5ZWRfd29yay53b3JrKTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpOwogCWludCBpOwogCiAJbXV0ZXhfbG9jaygmcGNtX211dGV4KTsKLQlmb3IoaSA9IDA7IGkgPCBjb2RlYy0+bnVtX2RhaTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKIAkJY29kZWNfZGFpID0gJmNvZGVjLT5kYWlbaV07CiAKIAkJZGJnKCJwb3Agd3EgY2hlY2tpbmc6ICVzIHN0YXR1czogJXMgd2FpdGluZzogJXNcbiIsCkBAIC0yODcsMTIgKzI4NywxMiBAQAogCQkvKiBhcmUgd2Ugd2FpdGluZyBvbiB0aGlzIGNvZGVjIERBSSBzdHJlYW0gKi8KIAkJaWYgKGNvZGVjX2RhaS0+cG9wX3dhaXQgPT0gMSkgewogCi0JCQkvKiBwb3dlciBkb3duIHRoZSBjb2RlYyB0byBEMSBpZiBubyBsb25nZXIgYWN0aXZlICovCisJCQkvKiBSZWR1Y2UgcG93ZXIgaWYgbm8gbG9uZ2VyIGFjdGl2ZSAqLwogCQkJaWYgKGNvZGVjLT5hY3RpdmUgPT0gMCkgewogCQkJCWRiZygicG9wIHdxIEQxICVzICVzXG4iLCBjb2RlYy0+bmFtZSwKIAkJCQkJY29kZWNfZGFpLT5wbGF5YmFjay5zdHJlYW1fbmFtZSk7Ci0JCQkJc25kX3NvY19kYXBtX2RldmljZV9ldmVudChzb2NkZXYsCi0JCQkJCVNORFJWX0NUTF9QT1dFUl9EMSk7CisJCQkJc25kX3NvY19kYXBtX3NldF9iaWFzX2xldmVsKHNvY2RldiwKKwkJCQkJU05EX1NPQ19CSUFTX1BSRVBBUkUpOwogCQkJfQogCiAJCQljb2RlY19kYWktPnBvcF93YWl0ID0gMDsKQEAgLTMwMCwxMiArMzAwLDEyIEBACiAJCQkJY29kZWNfZGFpLT5wbGF5YmFjay5zdHJlYW1fbmFtZSwKIAkJCQlTTkRfU09DX0RBUE1fU1RSRUFNX1NUT1ApOwogCi0JCQkvKiBwb3dlciBkb3duIHRoZSBjb2RlYyBwb3dlciBkb21haW4gaWYgbm8gbG9uZ2VyIGFjdGl2ZSAqLworCQkJLyogRmFsbCBpbnRvIHN0YW5kYnkgaWYgbm8gbG9uZ2VyIGFjdGl2ZSAqLwogCQkJaWYgKGNvZGVjLT5hY3RpdmUgPT0gMCkgewogCQkJCWRiZygicG9wIHdxIEQzICVzICVzXG4iLCBjb2RlYy0+bmFtZSwKIAkJCQkJY29kZWNfZGFpLT5wbGF5YmFjay5zdHJlYW1fbmFtZSk7Ci0JCQkJc25kX3NvY19kYXBtX2RldmljZV9ldmVudChzb2NkZXYsCi0JCQkJCVNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJCQkJc25kX3NvY19kYXBtX3NldF9iaWFzX2xldmVsKHNvY2RldiwKKwkJCQkJU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCQkJfQogCQl9CiAJfQpAQCAtMzIzLDggKzMyMyw4IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqbWFjaGluZSA9IHJ0ZC0+ZGFpOwogCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJbXV0ZXhfbG9jaygmcGNtX211dGV4KTsKQEAgLTM2NSw4ICszNjUsOCBAQAogCQkJU05EX1NPQ19EQVBNX1NUUkVBTV9TVE9QKTsKIAogCQlpZiAoY29kZWMtPmFjdGl2ZSA9PSAwICYmIGNvZGVjX2RhaS0+cG9wX3dhaXQgPT0gMCkKLQkJCXNuZF9zb2NfZGFwbV9kZXZpY2VfZXZlbnQoc29jZGV2LAotCQkJCQkJU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwkJCXNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzb2NkZXYsCisJCQkJCQlTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAJfQogCiAJbXV0ZXhfdW5sb2NrKCZwY21fbXV0ZXgpOwpAQCAtMzg0LDggKzM4NCw4IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqbWFjaGluZSA9IHJ0ZC0+ZGFpOwogCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCWludCByZXQgPSAwOwogCkBAIC00MzQsMTQgKzQzNCwxNCBAQAogCQllbHNlIHsKIAkJCWNvZGVjX2RhaS0+cG9wX3dhaXQgPSAwOwogCQkJY2FuY2VsX2RlbGF5ZWRfd29yaygmc29jZGV2LT5kZWxheWVkX3dvcmspOwotCQkJaWYgKGNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUpCi0JCQkJY29kZWNfZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZShjb2RlY19kYWksIDApOworCQkJc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMCk7CiAJCX0KIAl9IGVsc2UgewogCQkvKiBubyBkZWxheWVkIHdvcmsgLSBkbyB3ZSBuZWVkIHRvIHBvd2VyIHVwIGNvZGVjICovCi0JCWlmIChjb2RlYy0+ZGFwbV9zdGF0ZSAhPSBTTkRSVl9DVExfUE9XRVJfRDApIHsKKwkJaWYgKGNvZGVjLT5iaWFzX2xldmVsICE9IFNORF9TT0NfQklBU19PTikgewogCi0JCQlzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHNvY2RldiwgIFNORFJWX0NUTF9QT1dFUl9EMSk7CisJCQlzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwoc29jZGV2LAorCQkJCQkJICAgIFNORF9TT0NfQklBU19QUkVQQVJFKTsKIAogCQkJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCiAJCQkJc25kX3NvY19kYXBtX3N0cmVhbV9ldmVudChjb2RlYywKQEAgLTQ1Miw5ICs0NTIsOCBAQAogCQkJCQljb2RlY19kYWktPmNhcHR1cmUuc3RyZWFtX25hbWUsCiAJCQkJCVNORF9TT0NfREFQTV9TVFJFQU1fU1RBUlQpOwogCi0JCQlzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHNvY2RldiwgU05EUlZfQ1RMX1BPV0VSX0QwKTsKLQkJCWlmIChjb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKQotCQkJCWNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUoY29kZWNfZGFpLCAwKTsKKwkJCXNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzb2NkZXYsIFNORF9TT0NfQklBU19PTik7CisJCQlzbmRfc29jX2RhaV9kaWdpdGFsX211dGUoY29kZWNfZGFpLCAwKTsKIAogCQl9IGVsc2UgewogCQkJLyogY29kZWMgYWxyZWFkeSBwb3dlcmVkIC0gcG93ZXIgb24gd2lkZ2V0cyAqLwpAQCAtNDY2LDggKzQ2NSw4IEBACiAJCQkJc25kX3NvY19kYXBtX3N0cmVhbV9ldmVudChjb2RlYywKIAkJCQkJY29kZWNfZGFpLT5jYXB0dXJlLnN0cmVhbV9uYW1lLAogCQkJCQlTTkRfU09DX0RBUE1fU1RSRUFNX1NUQVJUKTsKLQkJCWlmIChjb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKQotCQkJCWNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUoY29kZWNfZGFpLCAwKTsKKworCQkJc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMCk7CiAJCX0KIAl9CiAKQEAgLTQ4OCw4ICs0ODcsOCBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CiAJc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgKm1hY2hpbmUgPSBydGQtPmRhaTsKIAlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CiAJaW50IHJldCA9IDA7CiAKIAltdXRleF9sb2NrKCZwY21fbXV0ZXgpOwpAQCAtNTE0LDcgKzUxMyw3IEBACiAJaWYgKGNwdV9kYWktPm9wcy5od19wYXJhbXMpIHsKIAkJcmV0ID0gY3B1X2RhaS0+b3BzLmh3X3BhcmFtcyhzdWJzdHJlYW0sIHBhcmFtcyk7CiAJCWlmIChyZXQgPCAwKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGNhbid0IHNldCBpbnRlcmZhY2UgJXMgaHcgcGFyYW1zXG4iLAorCQkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBpbnRlcmZhY2UgJXMgaHcgcGFyYW1zIGZhaWxlZFxuIiwKIAkJCQljcHVfZGFpLT5uYW1lKTsKIAkJCWdvdG8gaW50ZXJmYWNlX2VycjsKIAkJfQpAQCAtNTIzLDcgKzUyMiw3IEBACiAJaWYgKHBsYXRmb3JtLT5wY21fb3BzLT5od19wYXJhbXMpIHsKIAkJcmV0ID0gcGxhdGZvcm0tPnBjbV9vcHMtPmh3X3BhcmFtcyhzdWJzdHJlYW0sIHBhcmFtcyk7CiAJCWlmIChyZXQgPCAwKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGNhbid0IHNldCBwbGF0Zm9ybSAlcyBodyBwYXJhbXNcbiIsCisJCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IHBsYXRmb3JtICVzIGh3IHBhcmFtcyBmYWlsZWRcbiIsCiAJCQkJcGxhdGZvcm0tPm5hbWUpOwogCQkJZ290byBwbGF0Zm9ybV9lcnI7CiAJCX0KQEAgLTU0Miw3ICs1NDEsNyBAQAogCQljb2RlY19kYWktPm9wcy5od19mcmVlKHN1YnN0cmVhbSk7CiAKIGNvZGVjX2VycjoKLQlpZihtYWNoaW5lLT5vcHMgJiYgbWFjaGluZS0+b3BzLT5od19mcmVlKQorCWlmIChtYWNoaW5lLT5vcHMgJiYgbWFjaGluZS0+b3BzLT5od19mcmVlKQogCQltYWNoaW5lLT5vcHMtPmh3X2ZyZWUoc3Vic3RyZWFtKTsKIAogCW11dGV4X3VubG9jaygmcGNtX211dGV4KTsKQEAgLTU1OCwxNSArNTU3LDE1IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqbWFjaGluZSA9IHJ0ZC0+ZGFpOwogCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJbXV0ZXhfbG9jaygmcGNtX211dGV4KTsKIAogCS8qIGFwcGx5IGNvZGVjIGRpZ2l0YWwgbXV0ZSAqLwotCWlmICghY29kZWMtPmFjdGl2ZSAmJiBjb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKQotCQljb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMSk7CisJaWYgKCFjb2RlYy0+YWN0aXZlKQorCQlzbmRfc29jX2RhaV9kaWdpdGFsX211dGUoY29kZWNfZGFpLCAxKTsKIAogCS8qIGZyZWUgYW55IG1hY2hpbmUgaHcgcGFyYW1zICovCiAJaWYgKG1hY2hpbmUtPm9wcyAmJiBtYWNoaW5lLT5vcHMtPmh3X2ZyZWUpCkBAIC01OTMsOCArNTkyLDggQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OwogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICptYWNoaW5lID0gcnRkLT5kYWk7CiAJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOwogCWludCByZXQ7CiAKIAlpZiAoY29kZWNfZGFpLT5vcHMudHJpZ2dlcikgewpAQCAtNjMxLDE2ICs2MzAsMjYgQEAKIC8qIHBvd2VycyBkb3duIGF1ZGlvIHN1YnN5c3RlbSBmb3Igc3VzcGVuZCAqLwogc3RhdGljIGludCBzb2Nfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7Ci0gCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Ci0gCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7Ci0gCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0gCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSAqY29kZWNfZGV2ID0gc29jZGV2LT5jb2RlY19kZXY7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOworCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07CisJc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlICpjb2RlY19kZXYgPSBzb2NkZXYtPmNvZGVjX2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCWludCBpOwogCisJLyogRHVlIHRvIHRoZSByZXN1bWUgYmVpbmcgc2NoZWR1bGVkIGludG8gYSB3b3JrcXVldWUgd2UgY291bGQKKwkqIHN1c3BlbmQgYmVmb3JlIHRoYXQncyBmaW5pc2hlZCAtIHdhaXQgZm9yIGl0IHRvIGNvbXBsZXRlLgorCSAqLworCXNuZF9wb3dlcl9sb2NrKGNvZGVjLT5jYXJkKTsKKwlzbmRfcG93ZXJfd2FpdChjb2RlYy0+Y2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QwKTsKKwlzbmRfcG93ZXJfdW5sb2NrKGNvZGVjLT5jYXJkKTsKKworCS8qIHdlJ3JlIGdvaW5nIHRvIGJsb2NrIHVzZXJzcGFjZSB0b3VjaGluZyB1cyB1bnRpbCByZXN1bWUgY29tcGxldGVzICovCisJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjb2RlYy0+Y2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwogCS8qIG11dGUgYW55IGFjdGl2ZSBEQUMncyAqLwotCWZvcihpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY29kZWNfZGFpOworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNvZGVjX2RhaTsKIAkJaWYgKGRhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUgJiYgZGFpLT5wbGF5YmFjay5hY3RpdmUpCiAJCQlkYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKGRhaSwgMSk7CiAJfQpAQCAtNjUyLDggKzY2MSw4IEBACiAJaWYgKG1hY2hpbmUtPnN1c3BlbmRfcHJlKQogCQltYWNoaW5lLT5zdXNwZW5kX3ByZShwZGV2LCBzdGF0ZSk7CiAKLQlmb3IoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOwogCQlpZiAoY3B1X2RhaS0+c3VzcGVuZCAmJiBjcHVfZGFpLT50eXBlICE9IFNORF9TT0NfREFJX0FDOTcpCiAJCQljcHVfZGFpLT5zdXNwZW5kKHBkZXYsIGNwdV9kYWkpOwogCQlpZiAocGxhdGZvcm0tPnN1c3BlbmQpCkBAIC02NjIsOSArNjcxLDkgQEAKIAogCS8qIGNsb3NlIGFueSB3YWl0aW5nIHN0cmVhbXMgYW5kIHNhdmUgc3RhdGUgKi8KIAlydW5fZGVsYXllZF93b3JrKCZzb2NkZXYtPmRlbGF5ZWRfd29yayk7Ci0JY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSA9IGNvZGVjLT5kYXBtX3N0YXRlOworCWNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwgPSBjb2RlYy0+Ymlhc19sZXZlbDsKIAotCWZvcihpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgY29kZWMtPm51bV9kYWk7IGkrKykgewogCQljaGFyICpzdHJlYW0gPSBjb2RlYy0+ZGFpW2ldLnBsYXliYWNrLnN0cmVhbV9uYW1lOwogCQlpZiAoc3RyZWFtICE9IE5VTEwpCiAJCQlzbmRfc29jX2RhcG1fc3RyZWFtX2V2ZW50KGNvZGVjLCBzdHJlYW0sCkBAIC02NzgsOCArNjg3LDggQEAKIAlpZiAoY29kZWNfZGV2LT5zdXNwZW5kKQogCQljb2RlY19kZXYtPnN1c3BlbmQocGRldiwgc3RhdGUpOwogCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5zdXNwZW5kICYmIGNwdV9kYWktPnR5cGUgPT0gU05EX1NPQ19EQUlfQUM5NykKIAkJCWNwdV9kYWktPnN1c3BlbmQocGRldiwgY3B1X2RhaSk7CiAJfQpAQCAtNjkwLDIxICs2OTksMzIgQEAKIAlyZXR1cm4gMDsKIH0KIAotLyogcG93ZXJzIHVwIGF1ZGlvIHN1YnN5c3RlbSBhZnRlciBhIHN1c3BlbmQgKi8KLXN0YXRpYyBpbnQgc29jX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorLyogZGVmZXJyZWQgcmVzdW1lIHdvcmssIHNvIHJlc3VtZSBjYW4gY29tcGxldGUgYmVmb3JlIHdlIGZpbmlzaGVkCisgKiBzZXR0aW5nIG91ciBjb2RlYyBiYWNrIHVwLCB3aGljaCBjYW4gYmUgdmVyeSBzbG93IG9uIEkyQworICovCitzdGF0aWMgdm9pZCBzb2NfcmVzdW1lX2RlZmVycmVkKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLSAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKLSAJc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqbWFjaGluZSA9IHNvY2Rldi0+bWFjaGluZTsKLSAJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKLSAJc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlICpjb2RlY19kZXYgPSBzb2NkZXYtPmNvZGVjX2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IGNvbnRhaW5lcl9vZih3b3JrLAorCQkJCQkJICAgICBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UsCisJCQkJCQkgICAgIGRlZmVycmVkX3Jlc3VtZV93b3JrKTsKKwlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOworCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07CisJc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlICpjb2RlY19kZXYgPSBzb2NkZXYtPmNvZGVjX2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSB0b19wbGF0Zm9ybV9kZXZpY2Uoc29jZGV2LT5kZXYpOwogCWludCBpOwogCisJLyogb3VyIHBvd2VyIHN0YXRlIGlzIHN0aWxsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCBmcm9tIHN1c3BlbmQgdGltZSwKKwkgKiBzbyB1c2Vyc3BhY2UgYXBwcyBhcmUgYmxvY2tlZCBmcm9tIHRvdWNoaW5nIHVzCisJICovCisKKwlkZXZfaW5mbyhzb2NkZXYtPmRldiwgInN0YXJ0aW5nIHJlc3VtZSB3b3JrXG4iKTsKKwogCWlmIChtYWNoaW5lLT5yZXN1bWVfcHJlKQogCQltYWNoaW5lLT5yZXN1bWVfcHJlKHBkZXYpOwogCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5yZXN1bWUgJiYgY3B1X2RhaS0+dHlwZSA9PSBTTkRfU09DX0RBSV9BQzk3KQogCQkJY3B1X2RhaS0+cmVzdW1lKHBkZXYsIGNwdV9kYWkpOwogCX0KQEAgLTcxMiw4ICs3MzIsOCBAQAogCWlmIChjb2RlY19kZXYtPnJlc3VtZSkKIAkJY29kZWNfZGV2LT5yZXN1bWUocGRldik7CiAKLQlmb3IoaSA9IDA7IGkgPCBjb2RlYy0+bnVtX2RhaTsgaSsrKSB7Ci0JCWNoYXIqIHN0cmVhbSA9IGNvZGVjLT5kYWlbaV0ucGxheWJhY2suc3RyZWFtX25hbWU7CisJZm9yIChpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKKwkJY2hhciAqc3RyZWFtID0gY29kZWMtPmRhaVtpXS5wbGF5YmFjay5zdHJlYW1fbmFtZTsKIAkJaWYgKHN0cmVhbSAhPSBOVUxMKQogCQkJc25kX3NvY19kYXBtX3N0cmVhbV9ldmVudChjb2RlYywgc3RyZWFtLAogCQkJCVNORF9TT0NfREFQTV9TVFJFQU1fUkVTVU1FKTsKQEAgLTcyMywxNSArNzQzLDE1IEBACiAJCQkJU05EX1NPQ19EQVBNX1NUUkVBTV9SRVNVTUUpOwogCX0KIAotCS8qIHVubXV0ZSBhbnkgYWN0aXZlIERBQydzICovCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jb2RlY19kYWk7CisJLyogdW5tdXRlIGFueSBhY3RpdmUgREFDcyAqLworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNvZGVjX2RhaTsKIAkJaWYgKGRhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUgJiYgZGFpLT5wbGF5YmFjay5hY3RpdmUpCiAJCQlkYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKGRhaSwgMCk7CiAJfQogCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5yZXN1bWUgJiYgY3B1X2RhaS0+dHlwZSAhPSBTTkRfU09DX0RBSV9BQzk3KQogCQkJY3B1X2RhaS0+cmVzdW1lKHBkZXYsIGNwdV9kYWkpOwogCQlpZiAocGxhdGZvcm0tPnJlc3VtZSkKQEAgLTc0MSw2ICs3NjEsMjIgQEAKIAlpZiAobWFjaGluZS0+cmVzdW1lX3Bvc3QpCiAJCW1hY2hpbmUtPnJlc3VtZV9wb3N0KHBkZXYpOwogCisJZGV2X2luZm8oc29jZGV2LT5kZXYsICJyZXN1bWUgd29yayBjb21wbGV0ZWRcbiIpOworCisJLyogdXNlcnNwYWNlIGNhbiBhY2Nlc3MgdXMgbm93IHdlIGFyZSBiYWNrIGFzIHdlIHdlcmUgYmVmb3JlICovCisJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjb2RlYy0+Y2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QwKTsKK30KKworLyogcG93ZXJzIHVwIGF1ZGlvIHN1YnN5c3RlbSBhZnRlciBhIHN1c3BlbmQgKi8KK3N0YXRpYyBpbnQgc29jX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlkZXZfaW5mbyhzb2NkZXYtPmRldiwgInNjaGVkdWxpbmcgcmVzdW1lIHdvcmtcbiIpOworCisJaWYgKCFzY2hlZHVsZV93b3JrKCZzb2NkZXYtPmRlZmVycmVkX3Jlc3VtZV93b3JrKSkKKwkJZGV2X2Vycihzb2NkZXYtPmRldiwgIndvcmsgaXRlbSBtYXkgYmUgbG9zdFxuIik7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtNzYwLDMzICs3OTYsMzggQEAKIAogCWlmIChtYWNoaW5lLT5wcm9iZSkgewogCQlyZXQgPSBtYWNoaW5lLT5wcm9iZShwZGV2KTsKLQkJaWYocmV0IDwgMCkKKwkJaWYgKHJldCA8IDApCiAJCQlyZXR1cm4gcmV0OwogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKIAkJaWYgKGNwdV9kYWktPnByb2JlKSB7Ci0JCQlyZXQgPSBjcHVfZGFpLT5wcm9iZShwZGV2KTsKLQkJCWlmKHJldCA8IDApCisJCQlyZXQgPSBjcHVfZGFpLT5wcm9iZShwZGV2LCBjcHVfZGFpKTsKKwkJCWlmIChyZXQgPCAwKQogCQkJCWdvdG8gY3B1X2RhaV9lcnI7CiAJCX0KIAl9CiAKIAlpZiAoY29kZWNfZGV2LT5wcm9iZSkgewogCQlyZXQgPSBjb2RlY19kZXYtPnByb2JlKHBkZXYpOwotCQlpZihyZXQgPCAwKQorCQlpZiAocmV0IDwgMCkKIAkJCWdvdG8gY3B1X2RhaV9lcnI7CiAJfQogCiAJaWYgKHBsYXRmb3JtLT5wcm9iZSkgewogCQlyZXQgPSBwbGF0Zm9ybS0+cHJvYmUocGRldik7Ci0JCWlmKHJldCA8IDApCisJCWlmIChyZXQgPCAwKQogCQkJZ290byBwbGF0Zm9ybV9lcnI7CiAJfQogCiAJLyogREFQTSBzdHJlYW0gd29yayAqLwogCUlOSVRfREVMQVlFRF9XT1JLKCZzb2NkZXYtPmRlbGF5ZWRfd29yaywgY2xvc2VfZGVsYXllZF93b3JrKTsKKyNpZmRlZiBDT05GSUdfUE0KKwkvKiBkZWZlcnJlZCByZXN1bWUgd29yayAqLworCUlOSVRfV09SSygmc29jZGV2LT5kZWZlcnJlZF9yZXN1bWVfd29yaywgc29jX3Jlc3VtZV9kZWZlcnJlZCk7CisjZW5kaWYKKwogCXJldHVybiAwOwogCiBwbGF0Zm9ybV9lcnI6CkBAIC03OTUsOSArODM2LDkgQEAKIAogY3B1X2RhaV9lcnI6CiAJZm9yIChpLS07IGkgPj0gMDsgaS0tKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOwogCQlpZiAoY3B1X2RhaS0+cmVtb3ZlKQotCQkJY3B1X2RhaS0+cmVtb3ZlKHBkZXYpOworCQkJY3B1X2RhaS0+cmVtb3ZlKHBkZXYsIGNwdV9kYWkpOwogCX0KIAogCWlmIChtYWNoaW5lLT5yZW1vdmUpCkBAIC04MjQsOSArODY1LDkgQEAKIAkJY29kZWNfZGV2LT5yZW1vdmUocGRldik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5yZW1vdmUpCi0JCQljcHVfZGFpLT5yZW1vdmUocGRldik7CisJCQljcHVfZGFpLT5yZW1vdmUocGRldiwgY3B1X2RhaSk7CiAJfQogCiAJaWYgKG1hY2hpbmUtPnJlbW92ZSkKQEAgLTg1Miw4ICs4OTMsOCBAQAogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICpkYWlfbGluaywgaW50IG51bSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gZGFpX2xpbmstPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gZGFpX2xpbmstPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBkYWlfbGluay0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IGRhaV9saW5rLT5jcHVfZGFpOwogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQ7CiAJc3RydWN0IHNuZF9wY20gKnBjbTsKIAljaGFyIG5ld19uYW1lWzY0XTsKQEAgLTg2OCw3ICs5MDksNyBAQAogCWNvZGVjX2RhaS0+Y29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJLyogY2hlY2sgY2xpZW50IGFuZCBpbnRlcmZhY2UgaHcgY2FwYWJpbGl0aWVzICovCi0Jc3ByaW50ZihuZXdfbmFtZSwgIiVzICVzLSVzLSVkIixkYWlfbGluay0+c3RyZWFtX25hbWUsIGNvZGVjX2RhaS0+bmFtZSwKKwlzcHJpbnRmKG5ld19uYW1lLCAiJXMgJXMtJXMtJWQiLCBkYWlfbGluay0+c3RyZWFtX25hbWUsIGNvZGVjX2RhaS0+bmFtZSwKIAkJZ2V0X2RhaV9uYW1lKGNwdV9kYWktPnR5cGUpLCBudW0pOwogCiAJaWYgKGNvZGVjX2RhaS0+cGxheWJhY2suY2hhbm5lbHNfbWluKQpAQCAtODc5LDcgKzkyMCw4IEBACiAJcmV0ID0gc25kX3BjbV9uZXcoY29kZWMtPmNhcmQsIG5ld19uYW1lLCBjb2RlYy0+cGNtX2RldnMrKywgcGxheWJhY2ssCiAJCWNhcHR1cmUsICZwY20pOwogCWlmIChyZXQgPCAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiYXNvYzogY2FuJ3QgY3JlYXRlIHBjbSBmb3IgY29kZWMgJXNcbiIsIGNvZGVjLT5uYW1lKTsKKwkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBjYW4ndCBjcmVhdGUgcGNtIGZvciBjb2RlYyAlc1xuIiwKKwkJCWNvZGVjLT5uYW1lKTsKIAkJa2ZyZWUocnRkKTsKIAkJcmV0dXJuIHJldDsKIAl9CkBAIC05MjgsOCArOTcwLDkgQEAKIAkJc3RlcCA9IGNvZGVjLT5yZWdfY2FjaGVfc3RlcDsKIAogCWNvdW50ICs9IHNwcmludGYoYnVmLCAiJXMgcmVnaXN0ZXJzXG4iLCBjb2RlYy0+bmFtZSk7Ci0JZm9yKGkgPSAwOyBpIDwgY29kZWMtPnJlZ19jYWNoZV9zaXplOyBpICs9IHN0ZXApCi0JCWNvdW50ICs9IHNwcmludGYoYnVmICsgY291bnQsICIlMng6ICU0eFxuIiwgaSwgY29kZWMtPnJlYWQoY29kZWMsIGkpKTsKKwlmb3IgKGkgPSAwOyBpIDwgY29kZWMtPnJlZ19jYWNoZV9zaXplOyBpICs9IHN0ZXApCisJCWNvdW50ICs9IHNwcmludGYoYnVmICsgY291bnQsICIlMng6ICU0eFxuIiwgaSwKKwkJCWNvZGVjLT5yZWFkKGNvZGVjLCBpKSk7CiAKIAlyZXR1cm4gY291bnQ7CiB9CkBAIC0xMDcyLDcgKzExMTUsNyBAQAogCXN0cm5jcHkoY29kZWMtPmNhcmQtPmRyaXZlciwgY29kZWMtPm5hbWUsIHNpemVvZihjb2RlYy0+Y2FyZC0+ZHJpdmVyKSk7CiAKIAkvKiBjcmVhdGUgdGhlIHBjbXMgKi8KLQlmb3IoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewogCQlyZXQgPSBzb2NfbmV3X3BjbShzb2NkZXYsICZtYWNoaW5lLT5kYWlfbGlua1tpXSwgaSk7CiAJCWlmIChyZXQgPCAwKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGNhbid0IGNyZWF0ZSBwY20gJXNcbiIsCkBAIC0xMTAyLDcgKzExNDUsNyBAQAogCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7CiAJaW50IHJldCA9IDAsIGksIGFjOTcgPSAwLCBlcnIgPSAwOwogCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKIAkJaWYgKHNvY2Rldi0+bWFjaGluZS0+ZGFpX2xpbmtbaV0uaW5pdCkgewogCQkJZXJyID0gc29jZGV2LT5tYWNoaW5lLT5kYWlfbGlua1tpXS5pbml0KGNvZGVjKTsKIAkJCWlmIChlcnIgPCAwKSB7CkBAIC0xMTExLDcgKzExNTQsNyBAQAogCQkJCWNvbnRpbnVlOwogCQkJfQogCQl9Ci0JCWlmIChzb2NkZXYtPm1hY2hpbmUtPmRhaV9saW5rW2ldLmNvZGVjX2RhaS0+dHlwZSA9PSAKKwkJaWYgKHNvY2Rldi0+bWFjaGluZS0+ZGFpX2xpbmtbaV0uY29kZWNfZGFpLT50eXBlID09CiAJCQlTTkRfU09DX0RBSV9BQzk3X0JVUykKIAkJCWFjOTcgPSAxOwogCX0KQEAgLTExMjIsNyArMTE2NSw3IEBACiAKIAlyZXQgPSBzbmRfY2FyZF9yZWdpc3Rlcihjb2RlYy0+Y2FyZCk7CiAJaWYgKHJldCA8IDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBmYWlsZWQgdG8gcmVnaXN0ZXIgc291bmRjYXJkIGZvciBjb2RlYyAlc1xuIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBmYWlsZWQgdG8gcmVnaXN0ZXIgc291bmRjYXJkIGZvciAlc1xuIiwKIAkJCQljb2RlYy0+bmFtZSk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTExNDYsNyArMTE4OSw3IEBACiAKIAllcnIgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoc29jZGV2LT5kZXYsICZkZXZfYXR0cl9jb2RlY19yZWcpOwogCWlmIChlcnIgPCAwKQotCQlwcmludGsoS0VSTl9XQVJOSU5HICJhc29jOiBmYWlsZWQgdG8gYWRkIGNvZGVjIHN5c2ZzIGVudHJpZXNcbiIpOworCQlwcmludGsoS0VSTl9XQVJOSU5HICJhc29jOiBmYWlsZWQgdG8gYWRkIGNvZGVjIHN5c2ZzIGZpbGVzXG4iKTsKIAogCW11dGV4X3VubG9jaygmY29kZWMtPm11dGV4KTsKIApAQCAtMTE2NiwxMyArMTIwOSwxMyBAQAogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAjaWZkZWYgQ09ORklHX1NORF9TT0NfQUM5N19CVVMKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaTsKIAlpbnQgaTsKICNlbmRpZgogCiAJbXV0ZXhfbG9jaygmY29kZWMtPm11dGV4KTsKICNpZmRlZiBDT05GSUdfU05EX1NPQ19BQzk3X0JVUwotCWZvcihpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgY29kZWMtPm51bV9kYWk7IGkrKykgewogCQljb2RlY19kYWkgPSAmY29kZWMtPmRhaVtpXTsKIAkJaWYgKGNvZGVjX2RhaS0+dHlwZSA9PSBTTkRfU09DX0RBSV9BQzk3X0JVUyAmJiBjb2RlYy0+YWM5NykgewogCQkJc29jX2FjOTdfZGV2X3VucmVnaXN0ZXIoY29kZWMpOwpAQCAtMTI4Miw3ICsxMzI1LDggQEAKIAlmb3IgKGJpdG1hc2sgPSAxOyBiaXRtYXNrIDwgZS0+bWFzazsgYml0bWFzayA8PD0gMSkKIAkJOwogCXZhbCA9IHNuZF9zb2NfcmVhZChjb2RlYywgZS0+cmVnKTsKLQl1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzBdID0gKHZhbCA+PiBlLT5zaGlmdF9sKSAmIChiaXRtYXNrIC0gMSk7CisJdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVswXQorCQk9ICh2YWwgPj4gZS0+c2hpZnRfbCkgJiAoYml0bWFzayAtIDEpOwogCWlmIChlLT5zaGlmdF9sICE9IGUtPnNoaWZ0X3IpCiAJCXVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMV0gPQogCQkJKHZhbCA+PiBlLT5zaGlmdF9yKSAmIChiaXRtYXNrIC0gMSk7CkBAIC0xNTc2LDcgKzE2MjAsOCBAQAogCXZhbCA9IHZhbCA8PCBzaGlmdDsKIAl2YWwyID0gdmFsMiA8PCBzaGlmdDsKIAotCWlmICgoZXJyID0gc25kX3NvY191cGRhdGVfYml0cyhjb2RlYywgcmVnLCB2YWxfbWFzaywgdmFsKSkgPCAwKQorCWVyciA9IHNuZF9zb2NfdXBkYXRlX2JpdHMoY29kZWMsIHJlZywgdmFsX21hc2ssIHZhbCk7CisJaWYgKGVyciA8IDApCiAJCXJldHVybiBlcnI7CiAKIAllcnIgPSBzbmRfc29jX3VwZGF0ZV9iaXRzKGNvZGVjLCByZWcyLCB2YWxfbWFzaywgdmFsMik7CkBAIC0xNTg0LDYgKzE2MjksMjA0IEBACiB9CiBFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX3B1dF92b2xzd18ycik7CiAKKy8qKgorICogc25kX3NvY19pbmZvX3ZvbHN3X3M4IC0gc2lnbmVkIG1peGVyIGluZm8gY2FsbGJhY2sKKyAqIEBrY29udHJvbDogbWl4ZXIgY29udHJvbAorICogQHVpbmZvOiBjb250cm9sIGVsZW1lbnQgaW5mb3JtYXRpb24KKyAqCisgKiBDYWxsYmFjayB0byBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IGEgc2lnbmVkIG1peGVyIGNvbnRyb2wuCisgKgorICogUmV0dXJucyAwIGZvciBzdWNjZXNzLgorICovCitpbnQgc25kX3NvY19pbmZvX3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCit7CisJaW50IG1heCA9IChzaWduZWQgY2hhcikoKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE2KSAmIDB4ZmYpOworCWludCBtaW4gPSAoc2lnbmVkIGNoYXIpKChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmKTsKKworCXVpbmZvLT50eXBlID0gU05EUlZfQ1RMX0VMRU1fVFlQRV9JTlRFR0VSOworCXVpbmZvLT5jb3VudCA9IDI7CisJdWluZm8tPnZhbHVlLmludGVnZXIubWluID0gMDsKKwl1aW5mby0+dmFsdWUuaW50ZWdlci5tYXggPSBtYXgtbWluOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19pbmZvX3ZvbHN3X3M4KTsKKworLyoqCisgKiBzbmRfc29jX2dldF92b2xzd19zOCAtIHNpZ25lZCBtaXhlciBnZXQgY2FsbGJhY2sKKyAqIEBrY29udHJvbDogbWl4ZXIgY29udHJvbAorICogQHVpbmZvOiBjb250cm9sIGVsZW1lbnQgaW5mb3JtYXRpb24KKyAqCisgKiBDYWxsYmFjayB0byBnZXQgdGhlIHZhbHVlIG9mIGEgc2lnbmVkIG1peGVyIGNvbnRyb2wuCisgKgorICogUmV0dXJucyAwIGZvciBzdWNjZXNzLgorICovCitpbnQgc25kX3NvY19nZXRfdm9sc3dfczgoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCWludCByZWcgPSBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSAmIDB4ZmY7CisJaW50IG1pbiA9IChzaWduZWQgY2hhcikoKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmYpOworCWludCB2YWwgPSBzbmRfc29jX3JlYWQoY29kZWMsIHJlZyk7CisKKwl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9CisJCSgoc2lnbmVkIGNoYXIpKHZhbCAmIDB4ZmYpKS1taW47CisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0gPQorCQkoKHNpZ25lZCBjaGFyKSgodmFsID4+IDgpICYgMHhmZikpLW1pbjsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZ2V0X3ZvbHN3X3M4KTsKKworLyoqCisgKiBzbmRfc29jX3B1dF92b2xzd19zZ24gLSBzaWduZWQgbWl4ZXIgcHV0IGNhbGxiYWNrCisgKiBAa2NvbnRyb2w6IG1peGVyIGNvbnRyb2wKKyAqIEB1aW5mbzogY29udHJvbCBlbGVtZW50IGluZm9ybWF0aW9uCisgKgorICogQ2FsbGJhY2sgdG8gc2V0IHRoZSB2YWx1ZSBvZiBhIHNpZ25lZCBtaXhlciBjb250cm9sLgorICoKKyAqIFJldHVybnMgMCBmb3Igc3VjY2Vzcy4KKyAqLworaW50IHNuZF9zb2NfcHV0X3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwlpbnQgcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOworCWludCBtaW4gPSAoc2lnbmVkIGNoYXIpKChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmKTsKKwl1bnNpZ25lZCBzaG9ydCB2YWw7CisKKwl2YWwgPSAodWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0rbWluKSAmIDB4ZmY7CisJdmFsIHw9ICgodWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0rbWluKSAmIDB4ZmYpIDw8IDg7CisKKwlyZXR1cm4gc25kX3NvY191cGRhdGVfYml0cyhjb2RlYywgcmVnLCAweGZmZmYsIHZhbCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX3B1dF92b2xzd19zOCk7CisKKy8qKgorICogc25kX3NvY19kYWlfc2V0X3N5c2NsayAtIGNvbmZpZ3VyZSBEQUkgc3lzdGVtIG9yIG1hc3RlciBjbG9jay4KKyAqIEBkYWk6IERBSQorICogQGNsa19pZDogREFJIHNwZWNpZmljIGNsb2NrIElECisgKiBAZnJlcTogbmV3IGNsb2NrIGZyZXF1ZW5jeSBpbiBIegorICogQGRpcjogbmV3IGNsb2NrIGRpcmVjdGlvbiAtIGlucHV0L291dHB1dC4KKyAqCisgKiBDb25maWd1cmVzIHRoZSBEQUkgbWFzdGVyIChNQ0xLKSBvciBzeXN0ZW0gKFNZU0NMSykgY2xvY2tpbmcuCisgKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgY2xrX2lkLAorCXVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQoreworCWlmIChkYWktPmRhaV9vcHMuc2V0X3N5c2NsaykKKwkJcmV0dXJuIGRhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGRhaSwgY2xrX2lkLCBmcmVxLCBkaXIpOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhaV9zZXRfc3lzY2xrKTsKKworLyoqCisgKiBzbmRfc29jX2RhaV9zZXRfY2xrZGl2IC0gY29uZmlndXJlIERBSSBjbG9jayBkaXZpZGVycy4KKyAqIEBkYWk6IERBSQorICogQGNsa19pZDogREFJIHNwZWNpZmljIGNsb2NrIGRpdmlkZXIgSUQKKyAqIEBkaXY6IG5ldyBjbG9jayBkaXZpc29yLgorICoKKyAqIENvbmZpZ3VyZXMgdGhlIGNsb2NrIGRpdmlkZXJzLiBUaGlzIGlzIHVzZWQgdG8gZGVyaXZlIHRoZSBiZXN0IERBSSBiaXQgYW5kCisgKiBmcmFtZSBjbG9ja3MgZnJvbSB0aGUgc3lzdGVtIG9yIG1hc3RlciBjbG9jay4gSXQncyBiZXN0IHRvIHNldCB0aGUgREFJIGJpdAorICogYW5kIGZyYW1lIGNsb2NrcyBhcyBsb3cgYXMgcG9zc2libGUgdG8gc2F2ZSBzeXN0ZW0gcG93ZXIuCisgKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCWludCBkaXZfaWQsIGludCBkaXYpCit7CisJaWYgKGRhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KQorCQlyZXR1cm4gZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoZGFpLCBkaXZfaWQsIGRpdik7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFpX3NldF9jbGtkaXYpOworCisvKioKKyAqIHNuZF9zb2NfZGFpX3NldF9wbGwgLSBjb25maWd1cmUgREFJIFBMTC4KKyAqIEBkYWk6IERBSQorICogQHBsbF9pZDogREFJIHNwZWNpZmljIFBMTCBJRAorICogQGZyZXFfaW46IFBMTCBpbnB1dCBjbG9jayBmcmVxdWVuY3kgaW4gSHoKKyAqIEBmcmVxX291dDogcmVxdWVzdGVkIFBMTCBvdXRwdXQgY2xvY2sgZnJlcXVlbmN5IGluIEh6CisgKgorICogQ29uZmlndXJlcyBhbmQgZW5hYmxlcyBQTEwgdG8gZ2VuZXJhdGUgb3V0cHV0IGNsb2NrIGJhc2VkIG9uIGlucHV0IGNsb2NrLgorICovCitpbnQgc25kX3NvY19kYWlfc2V0X3BsbChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKKwlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KQoreworCWlmIChkYWktPmRhaV9vcHMuc2V0X3BsbCkKKwkJcmV0dXJuIGRhaS0+ZGFpX29wcy5zZXRfcGxsKGRhaSwgcGxsX2lkLCBmcmVxX2luLCBmcmVxX291dCk7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFpX3NldF9wbGwpOworCisvKioKKyAqIHNuZF9zb2NfZGFpX3NldF9mbXQgLSBjb25maWd1cmUgREFJIGhhcmR3YXJlIGF1ZGlvIGZvcm1hdC4KKyAqIEBkYWk6IERBSQorICogQGNsa19pZDogREFJIHNwZWNpZmljIGNsb2NrIElECisgKiBAZm10OiBTTkRfU09DX0RBSUZNVF8gZm9ybWF0IHZhbHVlLgorICoKKyAqIENvbmZpZ3VyZXMgdGhlIERBSSBoYXJkd2FyZSBmb3JtYXQgYW5kIGNsb2NraW5nLgorICovCitpbnQgc25kX3NvY19kYWlfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCkKK3sKKwlpZiAoZGFpLT5kYWlfb3BzLnNldF9mbXQpCisJCXJldHVybiBkYWktPmRhaV9vcHMuc2V0X2ZtdChkYWksIGZtdCk7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFpX3NldF9mbXQpOworCisvKioKKyAqIHNuZF9zb2NfZGFpX3NldF90ZG1fc2xvdCAtIGNvbmZpZ3VyZSBEQUkgVERNLgorICogQGRhaTogREFJCisgKiBAbWFzazogREFJIHNwZWNpZmljIG1hc2sgcmVwcmVzZW50aW5nIHVzZWQgc2xvdHMuCisgKiBAc2xvdHM6IE51bWJlciBvZiBzbG90cyBpbiB1c2UuCisgKgorICogQ29uZmlndXJlcyBhIERBSSBmb3IgVERNIG9wZXJhdGlvbi4gQm90aCBtYXNrIGFuZCBzbG90cyBhcmUgY29kZWMgYW5kIERBSQorICogc3BlY2lmaWMuCisgKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfdGRtX3Nsb3Qoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJdW5zaWduZWQgaW50IG1hc2ssIGludCBzbG90cykKK3sKKwlpZiAoZGFpLT5kYWlfb3BzLnNldF9zeXNjbGspCisJCXJldHVybiBkYWktPmRhaV9vcHMuc2V0X3RkbV9zbG90KGRhaSwgbWFzaywgc2xvdHMpOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhaV9zZXRfdGRtX3Nsb3QpOworCisvKioKKyAqIHNuZF9zb2NfZGFpX3NldF90cmlzdGF0ZSAtIGNvbmZpZ3VyZSBEQUkgc3lzdGVtIG9yIG1hc3RlciBjbG9jay4KKyAqIEBkYWk6IERBSQorICogQHRyaXN0YXRlOiB0cmlzdGF0ZSBlbmFibGUKKyAqCisgKiBUcmlzdGF0ZXMgdGhlIERBSSBzbyB0aGF0IG90aGVycyBjYW4gdXNlIGl0LgorICovCitpbnQgc25kX3NvY19kYWlfc2V0X3RyaXN0YXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgdHJpc3RhdGUpCit7CisJaWYgKGRhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKQorCQlyZXR1cm4gZGFpLT5kYWlfb3BzLnNldF90cmlzdGF0ZShkYWksIHRyaXN0YXRlKTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYWlfc2V0X3RyaXN0YXRlKTsKKworLyoqCisgKiBzbmRfc29jX2RhaV9kaWdpdGFsX211dGUgLSBjb25maWd1cmUgREFJIHN5c3RlbSBvciBtYXN0ZXIgY2xvY2suCisgKiBAZGFpOiBEQUkKKyAqIEBtdXRlOiBtdXRlIGVuYWJsZQorICoKKyAqIE11dGVzIHRoZSBEQUkgREFDLgorICovCitpbnQgc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKK3sKKwlpZiAoZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZSkKKwkJcmV0dXJuIGRhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUoZGFpLCBtdXRlKTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKTsKKwogc3RhdGljIGludCBfX2RldmluaXQgc25kX3NvY19pbml0KHZvaWQpCiB7CiAJcHJpbnRrKEtFUk5fSU5GTyAiQVNvQyB2ZXJzaW9uICVzXG4iLCBTTkRfU09DX1ZFUlNJT04pOwpAQCAtMTU5Miw3ICsxODM1LDcgQEAKIAogc3RhdGljIHZvaWQgc25kX3NvY19leGl0KHZvaWQpCiB7Ci0gCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzb2NfZHJpdmVyKTsKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3Rlcigmc29jX2RyaXZlcik7CiB9CiAKIG1vZHVsZV9pbml0KHNuZF9zb2NfaW5pdCk7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc29jLWRhcG0uYyBiL3NvdW5kL3NvYy9zb2MtZGFwbS5jCmluZGV4IGFmMzMyNmMuLjJjODcwNjEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zb2MtZGFwbS5jCisrKyBiL3NvdW5kL3NvYy9zb2MtZGFwbS5jCkBAIC0xMCwxMSArMTAsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDEydGggQXVnIDIwMDUgICBJbml0aWFsIHZlcnNpb24uCi0gKiAgICAyNXRoIE9jdCAyMDA1ICAgSW1wbGVtZW50ZWQgcGF0aCBwb3dlciBkb21haW4uCi0gKiAgICAxOHRoIERlYyAyMDA1ICAgSW1wbGVtZW50ZWQgbWFjaGluZSBhbmQgc3RyZWFtIGxldmVsIHBvd2VyIGRvbWFpbi4KLSAqCiAgKiAgRmVhdHVyZXM6CiAgKiAgICBvIENoYW5nZXMgcG93ZXIgc3RhdHVzIG9mIGludGVybmFsIGNvZGVjIGJsb2NrcyBkZXBlbmRpbmcgb24gdGhlCiAgKiAgICAgIGR5bmFtaWMgY29uZmlndXJhdGlvbiBvZiBjb2RlYyBpbnRlcm5hbCBhdWRpbyBwYXRocyBhbmQgYWN0aXZlCkBAIC01MCwyMyArNDUsMTAgQEAKICNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CiAKIC8qIGRlYnVnICovCi0jZGVmaW5lIERBUE1fREVCVUcgMAotI2lmIERBUE1fREVCVUcKKyNpZmRlZiBERUJVRwogI2RlZmluZSBkdW1wX2RhcG0oY29kZWMsIGFjdGlvbikgZGJnX2R1bXBfZGFwbShjb2RlYywgYWN0aW9uKQotI2RlZmluZSBkYmcoZm9ybWF0LCBhcmcuLi4pIHByaW50ayhmb3JtYXQsICMjIGFyZykKICNlbHNlCiAjZGVmaW5lIGR1bXBfZGFwbShjb2RlYywgYWN0aW9uKQotI2RlZmluZSBkYmcoZm9ybWF0LCBhcmcuLi4pCi0jZW5kaWYKLQotI2RlZmluZSBQT1BfREVCVUcgMAotI2lmIFBPUF9ERUJVRwotI2RlZmluZSBQT1BfVElNRSA1MDAgLyogNTAwIG1zZWNzIC0gY2hhbmdlIGlmIHBvcCBkZWJ1ZyBpcyB0b28gZmFzdCAqLwotI2RlZmluZSBwb3Bfd2FpdCh0aW1lKSBzY2hlZHVsZV90aW1lb3V0X3VuaW50ZXJydXB0aWJsZShtc2Vjc190b19qaWZmaWVzKHRpbWUpKQotI2RlZmluZSBwb3BfZGJnKGZvcm1hdCwgYXJnLi4uKSBwcmludGsoZm9ybWF0LCAjIyBhcmcpOyBwb3Bfd2FpdChQT1BfVElNRSkKLSNlbHNlCi0jZGVmaW5lIHBvcF9kYmcoZm9ybWF0LCBhcmcuLi4pCi0jZGVmaW5lIHBvcF93YWl0KHRpbWUpCiAjZW5kaWYKIAogLyogZGFwbSBwb3dlciBzZXF1ZW5jZXMgLSBtYWtlIHRoaXMgcGVyIGNvZGVjIGluIHRoZSBmdXR1cmUgKi8KQEAgLTg1LDYgKzY3LDI4IEBACiBtb2R1bGVfcGFyYW0oZGFwbV9zdGF0dXMsIGludCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGRhcG1fc3RhdHVzLCAiZW5hYmxlIERQTSBzeXNmcyBlbnRyaWVzIik7CiAKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcG9wX3RpbWU7CisKK3N0YXRpYyB2b2lkIHBvcF93YWl0KHZvaWQpCit7CisJaWYgKHBvcF90aW1lKQorCQlzY2hlZHVsZV90aW1lb3V0X3VuaW50ZXJydXB0aWJsZShtc2Vjc190b19qaWZmaWVzKHBvcF90aW1lKSk7Cit9CisKK3N0YXRpYyB2b2lkIHBvcF9kYmcoY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcmdzOworCisJdmFfc3RhcnQoYXJncywgZm10KTsKKworCWlmIChwb3BfdGltZSkgeworCQl2cHJpbnRrKGZtdCwgYXJncyk7CisJCXBvcF93YWl0KCk7CisJfQorCisJdmFfZW5kKGFyZ3MpOworfQorCiAvKiBjcmVhdGUgYSBuZXcgZGFwbSB3aWRnZXQgKi8KIHN0YXRpYyBpbmxpbmUgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKmRhcG1fY25ld193aWRnZXQoCiAJY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKl93aWRnZXQpCkBAIC0yMjIsMTEgKzIyNiwxMiBAQAogCWNoYW5nZSA9IG9sZCAhPSBuZXc7CiAJaWYgKGNoYW5nZSkgewogCQlwb3BfZGJnKCJwb3AgdGVzdCAlcyA6ICVzIGluICVkIG1zXG4iLCB3aWRnZXQtPm5hbWUsCi0JCQl3aWRnZXQtPnBvd2VyID8gIm9uIiA6ICJvZmYiLCBQT1BfVElNRSk7CisJCQl3aWRnZXQtPnBvd2VyID8gIm9uIiA6ICJvZmYiLCBwb3BfdGltZSk7CiAJCXNuZF9zb2Nfd3JpdGUoY29kZWMsIHdpZGdldC0+cmVnLCBuZXcpOwotCQlwb3Bfd2FpdChQT1BfVElNRSk7CisJCXBvcF93YWl0KCk7CiAJfQotCWRiZygicmVnICV4IG9sZCAleCBuZXcgJXggY2hhbmdlICVkXG4iLCB3aWRnZXQtPnJlZywgb2xkLCBuZXcsIGNoYW5nZSk7CisJcHJfZGVidWcoInJlZyAleCBvbGQgJXggbmV3ICV4IGNoYW5nZSAlZFxuIiwgd2lkZ2V0LT5yZWcsCisJCSBvbGQsIG5ldywgY2hhbmdlKTsKIAlyZXR1cm4gY2hhbmdlOwogfQogCkBAIC00NDgsNiArNDUzLDI1IEBACiB9CiAKIC8qCisgKiBIYW5kbGVyIGZvciBnZW5lcmljIHJlZ2lzdGVyIG1vZGlmaWVyIHdpZGdldC4KKyAqLworaW50IGRhcG1fcmVnX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LAorCQkgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgaW50IGV2ZW50KQoreworCXVuc2lnbmVkIGludCB2YWw7CisKKwlpZiAoU05EX1NPQ19EQVBNX0VWRU5UX09OKGV2ZW50KSkKKwkJdmFsID0gdy0+b25fdmFsOworCWVsc2UKKwkJdmFsID0gdy0+b2ZmX3ZhbDsKKworCXNuZF9zb2NfdXBkYXRlX2JpdHMody0+Y29kZWMsIC0ody0+cmVnICsgMSksCisJCQkgICAgdy0+bWFzayA8PCB3LT5zaGlmdCwgdmFsIDw8IHctPnNoaWZ0KTsKKworCXJldHVybiAwOworfQorCisvKgogICogU2NhbiBlYWNoIGRhcG0gd2lkZ2V0IGZvciBjb21wbGV0ZSBhdWRpbyBwYXRoLgogICogQSBjb21wbGV0ZSBwYXRoIGlzIGEgcm91dGUgdGhhdCBoYXMgdmFsaWQgZW5kcG9pbnRzIGkuZS46LQogICoKQEAgLTU2NSw4ICs1ODksOCBAQAogCQkJLyogY2FsbCBhbnkgcG93ZXIgY2hhbmdlIGV2ZW50IGhhbmRsZXJzICovCiAJCQlpZiAocG93ZXJfY2hhbmdlKSB7CiAJCQkJaWYgKHctPmV2ZW50KSB7Ci0JCQkJCWRiZygicG93ZXIgJXMgZXZlbnQgZm9yICVzIGZsYWdzICV4XG4iLAotCQkJCQkJdy0+cG93ZXIgPyAib24iIDogIm9mZiIsIHctPm5hbWUsIHctPmV2ZW50X2ZsYWdzKTsKKwkJCQkJcHJfZGVidWcoInBvd2VyICVzIGV2ZW50IGZvciAlcyBmbGFncyAleFxuIiwKKwkJCQkJCSB3LT5wb3dlciA/ICJvbiIgOiAib2ZmIiwgdy0+bmFtZSwgdy0+ZXZlbnRfZmxhZ3MpOwogCQkJCQlpZiAocG93ZXIpIHsKIAkJCQkJCS8qIHBvd2VyIHVwIGV2ZW50ICovCiAJCQkJCQlpZiAody0+ZXZlbnRfZmxhZ3MgJiBTTkRfU09DX0RBUE1fUFJFX1BNVSkgewpAQCAtNjA4LDcgKzYzMiw3IEBACiAJcmV0dXJuIHJldDsKIH0KIAotI2lmIERBUE1fREVCVUcKKyNpZmRlZiBERUJVRwogc3RhdGljIHZvaWQgZGJnX2R1bXBfZGFwbShzdHJ1Y3Qgc25kX3NvY19jb2RlYyogY29kZWMsIGNvbnN0IGNoYXIgKmFjdGlvbikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdzsKQEAgLTY5Myw4ICs3MTcsMTAgQEAKIAkJCXBhdGgtPmNvbm5lY3QgPSAwOyAvKiBvbGQgY29ubmVjdGlvbiBtdXN0IGJlIHBvd2VyZWQgZG93biAqLwogCX0KIAotCWlmIChmb3VuZCkKKwlpZiAoZm91bmQpIHsKIAkJZGFwbV9wb3dlcl93aWRnZXRzKHdpZGdldC0+Y29kZWMsIFNORF9TT0NfREFQTV9TVFJFQU1fTk9QKTsKKwkJZHVtcF9kYXBtKHdpZGdldC0+Y29kZWMsICJtdXggcG93ZXIgdXBkYXRlIik7CisJfQogCiAJcmV0dXJuIDA7CiB9CkBAIC03MzAsOCArNzU2LDEwIEBACiAJCWJyZWFrOwogCX0KIAotCWlmIChmb3VuZCkKKwlpZiAoZm91bmQpIHsKIAkJZGFwbV9wb3dlcl93aWRnZXRzKHdpZGdldC0+Y29kZWMsIFNORF9TT0NfREFQTV9TVFJFQU1fTk9QKTsKKwkJZHVtcF9kYXBtKHdpZGdldC0+Y29kZWMsICJtaXhlciBwb3dlciB1cGRhdGUiKTsKKwl9CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTc2OCwyMSArNzk2LDE4IEBACiAJCX0KIAl9CiAKLQlzd2l0Y2goY29kZWMtPmRhcG1fc3RhdGUpewotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QwOgotCQlzdGF0ZSA9ICJEMCI7CisJc3dpdGNoIChjb2RlYy0+Ymlhc19sZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgorCQlzdGF0ZSA9ICJPbiI7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOgotCQlzdGF0ZSA9ICJEMSI7CisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKKwkJc3RhdGUgPSAiUHJlcGFyZSI7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QyOgotCQlzdGF0ZSA9ICJEMiI7CisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKKwkJc3RhdGUgPSAiU3RhbmRieSI7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzaG90OgotCQlzdGF0ZSA9ICJEM2hvdCI7Ci0JCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzY29sZDoKLQkJc3RhdGUgPSAiRDNjb2xkIjsKKwljYXNlIFNORF9TT0NfQklBU19PRkY6CisJCXN0YXRlID0gIk9mZiI7CiAJCWJyZWFrOwogCX0KIAljb3VudCArPSBzcHJpbnRmKGJ1ZiArIGNvdW50LCAiUE0gU3RhdGU6ICVzXG4iLCBzdGF0ZSk7CkBAIC03OTIsMjAgKzgxNyw1MSBAQAogCiBzdGF0aWMgREVWSUNFX0FUVFIoZGFwbV93aWRnZXQsIDA0NDQsIGRhcG1fd2lkZ2V0X3Nob3csIE5VTEwpOwogCisvKiBwb3AvY2xpY2sgZGVsYXkgdGltZXMgKi8KK3N0YXRpYyBzc2l6ZV90IGRhcG1fcG9wX3RpbWVfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsCisJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgcG9wX3RpbWUpOworfQorCitzdGF0aWMgc3NpemVfdCBkYXBtX3BvcF90aW1lX3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCQkgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBjb3VudCkKKworeworCXVuc2lnbmVkIGxvbmcgdmFsOworCisJaWYgKHN0cmljdF9zdHJ0b3VsKGJ1ZiwgMTAsICZ2YWwpID49IDApCisJCXBvcF90aW1lID0gdmFsOworCWVsc2UKKwkJcHJpbnRrKEtFUk5fRVJSICJVbmFibGUgdG8gcGFyc2UgcG9wX3RpbWUgc2V0dGluZ1xuIik7CisKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBERVZJQ0VfQVRUUihkYXBtX3BvcF90aW1lLCAwNzQ0LCBkYXBtX3BvcF90aW1lX3Nob3csCisJCSAgIGRhcG1fcG9wX3RpbWVfc3RvcmUpOworCiBpbnQgc25kX3NvY19kYXBtX3N5c19hZGQoc3RydWN0IGRldmljZSAqZGV2KQogewogCWludCByZXQgPSAwOwogCi0JaWYgKGRhcG1fc3RhdHVzKQorCWlmIChkYXBtX3N0YXR1cykgewogCQlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoZGV2LCAmZGV2X2F0dHJfZGFwbV93aWRnZXQpOwogCisJCWlmIChyZXQgPT0gMCkKKwkJCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZShkZXYsICZkZXZfYXR0cl9kYXBtX3BvcF90aW1lKTsKKwl9CisKIAlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgdm9pZCBzbmRfc29jX2RhcG1fc3lzX3JlbW92ZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7Ci0JaWYgKGRhcG1fc3RhdHVzKQorCWlmIChkYXBtX3N0YXR1cykgeworCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoZGV2LCAmZGV2X2F0dHJfZGFwbV9wb3BfdGltZSk7CiAJCWRldmljZV9yZW1vdmVfZmlsZShkZXYsICZkZXZfYXR0cl9kYXBtX3dpZGdldCk7CisJfQogfQogCiAvKiBmcmVlIGFsbCBkYXBtIHdpZGdldHMgYW5kIHJlc291cmNlcyAqLwpAQCAtODI2LDggKzg4MiwyNSBAQAogCX0KIH0KIAorc3RhdGljIGludCBzbmRfc29jX2RhcG1fc2V0X3BpbihzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJY2hhciAqcGluLCBpbnQgc3RhdHVzKQoreworCXN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeSh3LCAmY29kZWMtPmRhcG1fd2lkZ2V0cywgbGlzdCkgeworCQlpZiAoIXN0cmNtcCh3LT5uYW1lLCBwaW4pKSB7CisJCQlwcl9kZWJ1ZygiZGFwbTogJXM6IHBpbiAlc1xuIiwgY29kZWMtPm5hbWUsIHBpbik7CisJCQl3LT5jb25uZWN0ZWQgPSBzdGF0dXM7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCXByX2VycigiZGFwbTogJXM6IGNvbmZpZ3VyaW5nIHVua25vd24gcGluICVzXG4iLCBjb2RlYy0+bmFtZSwgcGluKTsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKwogLyoqCi0gKiBzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMgLSBzY2FuIGFuZCBwb3dlciBkYXBtIHBhdGhzCisgKiBzbmRfc29jX2RhcG1fc3luYyAtIHNjYW4gYW5kIHBvd2VyIGRhcG0gcGF0aHMKICAqIEBjb2RlYzogYXVkaW8gY29kZWMKICAqCiAgKiBXYWxrcyBhbGwgZGFwbSBhdWRpbyBwYXRocyBhbmQgcG93ZXJzIHdpZGdldHMgYWNjb3JkaW5nIHRvIHRoZWlyCkBAIC04MzUsMjcgKzkwOCwxNiBAQAogICoKICAqIFJldHVybnMgMCBmb3Igc3VjY2Vzcy4KICAqLwotaW50IHNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCitpbnQgc25kX3NvY19kYXBtX3N5bmMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCXJldHVybiBkYXBtX3Bvd2VyX3dpZGdldHMoY29kZWMsIFNORF9TT0NfREFQTV9TVFJFQU1fTk9QKTsKKwlpbnQgcmV0ID0gZGFwbV9wb3dlcl93aWRnZXRzKGNvZGVjLCBTTkRfU09DX0RBUE1fU1RSRUFNX05PUCk7CisJZHVtcF9kYXBtKGNvZGVjLCAic3luYyIpOworCXJldHVybiByZXQ7CiB9Ci1FWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMpOworRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX3N5bmMpOwogCi0vKioKLSAqIHNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0IC0gY29ubmVjdCBkYXBtIHdpZGdldHMKLSAqIEBjb2RlYzogYXVkaW8gY29kZWMKLSAqIEBzaW5rOiBuYW1lIG9mIHRhcmdldCB3aWRnZXQKLSAqIEBjb250cm9sOiBtaXhlciBjb250cm9sIG5hbWUKLSAqIEBzb3VyY2U6IG5hbWUgb2Ygc291cmNlIG5hbWUKLSAqCi0gKiBDb25uZWN0cyAyIGRhcG0gd2lkZ2V0cyB0b2dldGhlciB2aWEgYSBuYW1lZCBhdWRpbyBwYXRoLiBUaGUgc2luayBpcwotICogdGhlIHdpZGdldCByZWNlaXZpbmcgdGhlIGF1ZGlvIHNpZ25hbCwgd2hpbHN0IHRoZSBzb3VyY2UgaXMgdGhlIHNlbmRlcgotICogb2YgdGhlIGF1ZGlvIHNpZ25hbC4KLSAqCi0gKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MgZWxzZSBlcnJvci4KLSAqLwotaW50IHNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY29uc3QgY2hhciAqc2luaywKLQljb25zdCBjaGFyICogY29udHJvbCwgY29uc3QgY2hhciAqc291cmNlKQorc3RhdGljIGludCBzbmRfc29jX2RhcG1fYWRkX3JvdXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwljb25zdCBjaGFyICpzaW5rLCBjb25zdCBjaGFyICpjb250cm9sLCBjb25zdCBjaGFyICpzb3VyY2UpCiB7CiAJc3RydWN0IHNuZF9zb2NfZGFwbV9wYXRoICpwYXRoOwogCXN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3c291cmNlID0gTlVMTCwgKndzaW5rID0gTlVMTCwgKnc7CkBAIC05NTcsOSArMTAxOSw2NCBAQAogCWtmcmVlKHBhdGgpOwogCXJldHVybiByZXQ7CiB9CisKKy8qKgorICogc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQgLSBjb25uZWN0IGRhcG0gd2lkZ2V0cworICogQGNvZGVjOiBhdWRpbyBjb2RlYworICogQHNpbms6IG5hbWUgb2YgdGFyZ2V0IHdpZGdldAorICogQGNvbnRyb2w6IG1peGVyIGNvbnRyb2wgbmFtZQorICogQHNvdXJjZTogbmFtZSBvZiBzb3VyY2UgbmFtZQorICoKKyAqIENvbm5lY3RzIDIgZGFwbSB3aWRnZXRzIHRvZ2V0aGVyIHZpYSBhIG5hbWVkIGF1ZGlvIHBhdGguIFRoZSBzaW5rIGlzCisgKiB0aGUgd2lkZ2V0IHJlY2VpdmluZyB0aGUgYXVkaW8gc2lnbmFsLCB3aGlsc3QgdGhlIHNvdXJjZSBpcyB0aGUgc2VuZGVyCisgKiBvZiB0aGUgYXVkaW8gc2lnbmFsLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2Ygc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoKS4KKyAqCisgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MgZWxzZSBlcnJvci4KKyAqLworaW50IHNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY29uc3QgY2hhciAqc2luaywKKwljb25zdCBjaGFyICpjb250cm9sLCBjb25zdCBjaGFyICpzb3VyY2UpCit7CisJcmV0dXJuIHNuZF9zb2NfZGFwbV9hZGRfcm91dGUoY29kZWMsIHNpbmssIGNvbnRyb2wsIHNvdXJjZSk7Cit9CiBFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dCk7CiAKIC8qKgorICogc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMgLSBBZGQgcm91dGVzIGJldHdlZW4gREFQTSB3aWRnZXRzCisgKiBAY29kZWM6IGNvZGVjCisgKiBAcm91dGU6IGF1ZGlvIHJvdXRlcworICogQG51bTogbnVtYmVyIG9mIHJvdXRlcworICoKKyAqIENvbm5lY3RzIDIgZGFwbSB3aWRnZXRzIHRvZ2V0aGVyIHZpYSBhIG5hbWVkIGF1ZGlvIHBhdGguIFRoZSBzaW5rIGlzCisgKiB0aGUgd2lkZ2V0IHJlY2VpdmluZyB0aGUgYXVkaW8gc2lnbmFsLCB3aGlsc3QgdGhlIHNvdXJjZSBpcyB0aGUgc2VuZGVyCisgKiBvZiB0aGUgYXVkaW8gc2lnbmFsLgorICoKKyAqIFJldHVybnMgMCBmb3Igc3VjY2VzcyBlbHNlIGVycm9yLiBPbiBlcnJvciBhbGwgcmVzb3VyY2VzIGNhbiBiZSBmcmVlZAorICogd2l0aCBhIGNhbGwgdG8gc25kX3NvY19jYXJkX2ZyZWUoKS4KKyAqLworaW50IHNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwkJCSAgICBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlICpyb3V0ZSwgaW50IG51bSkKK3sKKwlpbnQgaSwgcmV0OworCisJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CisJCXJldCA9IHNuZF9zb2NfZGFwbV9hZGRfcm91dGUoY29kZWMsIHJvdXRlLT5zaW5rLAorCQkJCQkgICAgIHJvdXRlLT5jb250cm9sLCByb3V0ZS0+c291cmNlKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGFkZCByb3V0ZSAlcy0+JXNcbiIsCisJCQkgICAgICAgcm91dGUtPnNvdXJjZSwKKwkJCSAgICAgICByb3V0ZS0+c2luayk7CisJCQlyZXR1cm4gcmV0OworCQl9CisJCXJvdXRlKys7CisJfQorCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyk7CisKKy8qKgogICogc25kX3NvY19kYXBtX25ld193aWRnZXRzIC0gYWRkIG5ldyBkYXBtIHdpZGdldHMKICAqIEBjb2RlYzogYXVkaW8gY29kZWMKICAqCkBAIC0xMjM0LDYgKzEzNTEsMzMgQEAKIEVYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbCk7CiAKIC8qKgorICogc25kX3NvY19kYXBtX25ld19jb250cm9scyAtIGNyZWF0ZSBuZXcgZGFwbSBjb250cm9scworICogQGNvZGVjOiBhdWRpbyBjb2RlYworICogQHdpZGdldDogd2lkZ2V0IGFycmF5CisgKiBAbnVtOiBudW1iZXIgb2Ygd2lkZ2V0cworICoKKyAqIENyZWF0ZXMgbmV3IERBUE0gY29udHJvbHMgYmFzZWQgdXBvbiB0aGUgdGVtcGxhdGVzLgorICoKKyAqIFJldHVybnMgMCBmb3Igc3VjY2VzcyBlbHNlIGVycm9yLgorICovCitpbnQgc25kX3NvY19kYXBtX25ld19jb250cm9scyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKndpZGdldCwKKwlpbnQgbnVtKQoreworCWludCBpLCByZXQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKwkJcmV0ID0gc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCB3aWRnZXQpOworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVybiByZXQ7CisJCXdpZGdldCsrOworCX0KKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMpOworCisKKy8qKgogICogc25kX3NvY19kYXBtX3N0cmVhbV9ldmVudCAtIHNlbmQgYSBzdHJlYW0gZXZlbnQgdG8gdGhlIGRhcG0gY29yZQogICogQGNvZGVjOiBhdWRpbyBjb2RlYwogICogQHN0cmVhbTogc3RyZWFtIG5hbWUKQEAgLTEyNTcsOCArMTQwMSw4IEBACiAJewogCQlpZiAoIXctPnNuYW1lKQogCQkJY29udGludWU7Ci0JCWRiZygid2lkZ2V0ICVzXG4gJXMgc3RyZWFtICVzIGV2ZW50ICVkXG4iLCB3LT5uYW1lLCB3LT5zbmFtZSwKLQkJCXN0cmVhbSwgZXZlbnQpOworCQlwcl9kZWJ1Zygid2lkZ2V0ICVzXG4gJXMgc3RyZWFtICVzIGV2ZW50ICVkXG4iLAorCQkJIHctPm5hbWUsIHctPnNuYW1lLCBzdHJlYW0sIGV2ZW50KTsKIAkJaWYgKHN0cnN0cih3LT5zbmFtZSwgc3RyZWFtKSkgewogCQkJc3dpdGNoKGV2ZW50KSB7CiAJCQljYXNlIFNORF9TT0NfREFQTV9TVFJFQU1fU1RBUlQ6CkBAIC0xMjk0LDUzICsxNDM4LDgxIEBACiBFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fc3RyZWFtX2V2ZW50KTsKIAogLyoqCi0gKiBzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50IC0gc2VuZCBhIGRldmljZSBldmVudCB0byB0aGUgZGFwbSBjb3JlCisgKiBzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwgLSBzZXQgdGhlIGJpYXMgbGV2ZWwgZm9yIHRoZSBzeXN0ZW0KICAqIEBzb2NkZXY6IGF1ZGlvIGRldmljZQotICogQGV2ZW50OiBkZXZpY2UgZXZlbnQKKyAqIEBsZXZlbDogbGV2ZWwgdG8gY29uZmlndXJlCiAgKgotICogU2VuZHMgYSBkZXZpY2UgZXZlbnQgdG8gdGhlIGRhcG0gY29yZS4gVGhlIGNvcmUgdGhlbiBtYWtlcyBhbnkKLSAqIG5lY2Vzc2FyeSBtYWNoaW5lIG9yIGNvZGVjIHBvd2VyIGNoYW5nZXMuLgorICogQ29uZmlndXJlIHRoZSBiaWFzIChwb3dlcikgbGV2ZWxzIGZvciB0aGUgU29DIGF1ZGlvIGRldmljZS4KICAqCiAgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MgZWxzZSBlcnJvci4KICAqLwotaW50IHNuZF9zb2NfZGFwbV9kZXZpY2VfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYsIGludCBldmVudCkKK2ludCBzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYsCisJCQkJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOworCWludCByZXQgPSAwOwogCi0JaWYgKG1hY2hpbmUtPmRhcG1fZXZlbnQpCi0JCW1hY2hpbmUtPmRhcG1fZXZlbnQobWFjaGluZSwgZXZlbnQpOwotCWlmIChjb2RlYy0+ZGFwbV9ldmVudCkKLQkJY29kZWMtPmRhcG1fZXZlbnQoY29kZWMsIGV2ZW50KTsKLQlyZXR1cm4gMDsKKwlpZiAobWFjaGluZS0+c2V0X2JpYXNfbGV2ZWwpCisJCXJldCA9IG1hY2hpbmUtPnNldF9iaWFzX2xldmVsKG1hY2hpbmUsIGxldmVsKTsKKwlpZiAocmV0ID09IDAgJiYgY29kZWMtPnNldF9iaWFzX2xldmVsKQorCQlyZXQgPSBjb2RlYy0+c2V0X2JpYXNfbGV2ZWwoY29kZWMsIGxldmVsKTsKKworCXJldHVybiByZXQ7CiB9Ci1FWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KTsKIAogLyoqCi0gKiBzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50IC0gc2V0IGF1ZGlvIGVuZHBvaW50IHN0YXR1cwotICogQGNvZGVjOiBhdWRpbyBjb2RlYwotICogQGVuZHBvaW50OiBhdWRpbyBzaWduYWwgZW5kcG9pbnQgKG9yIHN0YXJ0IHBvaW50KQotICogQHN0YXR1czogcG9pbnQgc3RhdHVzCisgKiBzbmRfc29jX2RhcG1fZW5hYmxlX3BpbiAtIGVuYWJsZSBwaW4uCisgKiBAc25kX3NvY19jb2RlYzogU29DIGNvZGVjCisgKiBAcGluOiBwaW4gbmFtZQogICoKLSAqIFNldCBhdWRpbyBlbmRwb2ludCBzdGF0dXMgLSBjb25uZWN0ZWQgb3IgZGlzY29ubmVjdGVkLgotICoKLSAqIFJldHVybnMgMCBmb3Igc3VjY2VzcyBlbHNlIGVycm9yLgorICogRW5hYmxlcyBpbnB1dC9vdXRwdXQgcGluIGFuZCBpdCdzIHBhcmVudHMgb3IgY2hpbGRyZW4gd2lkZ2V0cyBpZmYgdGhlcmUgaXMKKyAqIGEgdmFsaWQgYXVkaW8gcm91dGUgYW5kIGFjdGl2ZSBhdWRpbyBzdHJlYW0uCisgKiBOT1RFOiBzbmRfc29jX2RhcG1fc3luYygpIG5lZWRzIHRvIGJlIGNhbGxlZCBhZnRlciB0aGlzIGZvciBEQVBNIHRvCisgKiBkbyBhbnkgd2lkZ2V0IHBvd2VyIHN3aXRjaGluZy4KICAqLwotaW50IHNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAotCWNoYXIgKmVuZHBvaW50LCBpbnQgc3RhdHVzKQoraW50IHNuZF9zb2NfZGFwbV9lbmFibGVfcGluKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY2hhciAqcGluKQoreworCXJldHVybiBzbmRfc29jX2RhcG1fc2V0X3Bpbihjb2RlYywgcGluLCAxKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9lbmFibGVfcGluKTsKKworLyoqCisgKiBzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4gLSBkaXNhYmxlIHBpbi4KKyAqIEBjb2RlYzogU29DIGNvZGVjCisgKiBAcGluOiBwaW4gbmFtZQorICoKKyAqIERpc2FibGVzIGlucHV0L291dHB1dCBwaW4gYW5kIGl0J3MgcGFyZW50cyBvciBjaGlsZHJlbiB3aWRnZXRzLgorICogTk9URTogc25kX3NvY19kYXBtX3N5bmMoKSBuZWVkcyB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhpcyBmb3IgREFQTSB0bworICogZG8gYW55IHdpZGdldCBwb3dlciBzd2l0Y2hpbmcuCisgKi8KK2ludCBzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpwaW4pCit7CisJcmV0dXJuIHNuZF9zb2NfZGFwbV9zZXRfcGluKGNvZGVjLCBwaW4sIDApOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKTsKKworLyoqCisgKiBzbmRfc29jX2RhcG1fZ2V0X3Bpbl9zdGF0dXMgLSBnZXQgYXVkaW8gcGluIHN0YXR1cworICogQGNvZGVjOiBhdWRpbyBjb2RlYworICogQHBpbjogYXVkaW8gc2lnbmFsIHBpbiBlbmRwb2ludCAob3Igc3RhcnQgcG9pbnQpCisgKgorICogR2V0IGF1ZGlvIHBpbiBzdGF0dXMgLSBjb25uZWN0ZWQgb3IgZGlzY29ubmVjdGVkLgorICoKKyAqIFJldHVybnMgMSBmb3IgY29ubmVjdGVkIG90aGVyd2lzZSAwLgorICovCitpbnQgc25kX3NvY19kYXBtX2dldF9waW5fc3RhdHVzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY2hhciAqcGluKQogewogCXN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3OwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeSh3LCAmY29kZWMtPmRhcG1fd2lkZ2V0cywgbGlzdCkgewotCQlpZiAoIXN0cmNtcCh3LT5uYW1lLCBlbmRwb2ludCkpIHsKLQkJCXctPmNvbm5lY3RlZCA9IHN0YXR1czsKLQkJCXJldHVybiAwOwotCQl9CisJCWlmICghc3RyY21wKHctPm5hbWUsIHBpbikpCisJCQlyZXR1cm4gdy0+Y29ubmVjdGVkOwogCX0KIAotCXJldHVybiAtRU5PREVWOworCXJldHVybiAwOwogfQotRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX3NldF9lbmRwb2ludCk7CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fZ2V0X3Bpbl9zdGF0dXMpOwogCiAvKioKICAqIHNuZF9zb2NfZGFwbV9mcmVlIC0gZnJlZSBkYXBtIHJlc291cmNlcwpkaWZmIC0tZ2l0IGEvc291bmQvc291bmRfY29yZS5jIGIvc291bmQvc291bmRfY29yZS5jCmluZGV4IDQ2ZGFjYTEuLmRjZmMxZDUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvdW5kX2NvcmUuYworKysgYi9zb3VuZC9zb3VuZF9jb3JlLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgpAQCAtNDY0LDYgKzQ2NSw4IEBACiAJc3RydWN0IHNvdW5kX3VuaXQgKnM7CiAJY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyAqbmV3X2ZvcHMgPSBOVUxMOwogCisJbG9ja19rZXJuZWwgKCk7CisKIAljaGFpbj11bml0JjB4MEY7CiAJaWYoY2hhaW49PTQgfHwgY2hhaW49PTUpCS8qIGRzcC9hdWRpby9kc3AxNiAqLwogCXsKQEAgLTUxMSw5ICs1MTQsMTEgQEAKIAkJCWZpbGUtPmZfb3AgPSBmb3BzX2dldChvbGRfZm9wcyk7CiAJCX0KIAkJZm9wc19wdXQob2xkX2ZvcHMpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiBlcnI7CiAJfQogCXNwaW5fdW5sb2NrKCZzb3VuZF9sb2FkZXJfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAtRU5PREVWOwogfQogCmRpZmYgLS1naXQgYS9zb3VuZC9zcGFyYy9LY29uZmlnIGIvc291bmQvc3BhcmMvS2NvbmZpZwppbmRleCAwNzllMjJhLi5kNzVkZWJhIDEwMDY0NAotLS0gYS9zb3VuZC9zcGFyYy9LY29uZmlnCisrKyBiL3NvdW5kL3NwYXJjL0tjb25maWcKQEAgLTEsMTEgKzEsMTcgQEAKICMgQUxTQSBTcGFyYyBkcml2ZXJzCiAKLW1lbnUgIkFMU0EgU3BhcmMgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBTUEFSQworbWVudWNvbmZpZyBTTkRfU1BBUkMKKwlib29sICJTcGFyYyBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gU1BBUkMKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIHNwZWNpZmljIHRvIFN1biBTUEFSQyBhcmNoaXRlY3R1cmVzLgorCitpZiBTTkRfU1BBUkMKIAogY29uZmlnIFNORF9TVU5fQU1ENzkzMAogCXRyaXN0YXRlICJTdW4gQU1ENzkzMCIKLQlkZXBlbmRzIG9uIFNCVVMgJiYgU05ECisJZGVwZW5kcyBvbiBTQlVTCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgQU1ENzkzMCBzb3VuZCBkZXZpY2Ugb24gU3VuLgpAQCAtMTUsNyArMjEsNiBAQAogCiBjb25maWcgU05EX1NVTl9DUzQyMzEKIAl0cmlzdGF0ZSAiU3VuIENTNDIzMSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIENTNDIzMSBzb3VuZCBkZXZpY2Ugb24gU3VuLgpAQCAtMjUsNyArMzAsNyBAQAogCiBjb25maWcgU05EX1NVTl9EQlJJCiAJdHJpc3RhdGUgIlN1biBEQlJJIgotCWRlcGVuZHMgb24gU05EICYmIFNCVVMKKwlkZXBlbmRzIG9uIFNCVVMKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBEQlJJIHNvdW5kIGRldmljZSBvbiBTdW4uCkBAIC0zMyw0ICszOCw0IEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtc3VuLWRicmkuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1NQQVJDCmRpZmYgLS1naXQgYS9zb3VuZC9zcGFyYy9kYnJpLmMgYi9zb3VuZC9zcGFyYy9kYnJpLmMKaW5kZXggM2QwMGUwNy4uZWUyZTFiNCAxMDA2NDQKLS0tIGEvc291bmQvc3BhcmMvZGJyaS5jCisrKyBiL3NvdW5kL3NwYXJjL2RicmkuYwpAQCAtMjQ5MCw3ICsyNDkwLDcgQEAKIH0KICNlbmRpZgogCi12b2lkIF9fZGV2aW5pdCBzbmRfZGJyaV9wcm9jKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCkKK3N0YXRpYyB2b2lkIF9fZGV2aW5pdCBzbmRfZGJyaV9wcm9jKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCkKIHsKIAlzdHJ1Y3Qgc25kX2RicmkgKmRicmkgPSBjYXJkLT5wcml2YXRlX2RhdGE7CiAJc3RydWN0IHNuZF9pbmZvX2VudHJ5ICplbnRyeTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NwaS9LY29uZmlnIGIvc291bmQvc3BpL0tjb25maWcKaW5kZXggMGQwOGMyOS4uZTY0ODViZSAxMDA2NDQKLS0tIGEvc291bmQvc3BpL0tjb25maWcKKysrIGIvc291bmQvc3BpL0tjb25maWcKQEAgLTEsNyArMSwxMyBAQAogI1NQSSBkcml2ZXJzCiAKLW1lbnUgIlNQSSBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EICE9IG4KK21lbnVjb25maWcgU05EX1NQSQorCWJvb2wgIlNQSSBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gU1BJCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBjb25uZWN0ZWQgdmlhIHRoZSBTUEkgYnVzLgorCitpZiBTTkRfU1BJCiAKIGNvbmZpZyBTTkRfQVQ3M0MyMTMKIAl0cmlzdGF0ZSAiQXRtZWwgQVQ3M0MyMTMgREFDIGRyaXZlciIKQEAgLTI4LDQgKzM0LDUgQEAKIAogCSAgU2V0IHRvIDQ4MDAwIEh6IGJ5IGRlZmF1bHQuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1NQSQorCmRpZmYgLS1naXQgYS9zb3VuZC91c2IvS2NvbmZpZyBiL3NvdW5kL3VzYi9LY29uZmlnCmluZGV4IDkzNTFiOGEuLmZmY2RjOGYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi9LY29uZmlnCisrKyBiL3NvdW5kL3VzYi9LY29uZmlnCkBAIC0xLDExICsxLDE2IEBACiAjIEFMU0EgVVNCIGRyaXZlcnMKIAotbWVudSAiVVNCIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgVVNCIT1uCittZW51Y29uZmlnIFNORF9VU0IKKwlib29sICJVU0Igc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIFVTQgorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgY29ubmVjdGVkIHZpYSB0aGUgVVNCIGJ1cy4KKworaWYgU05EX1VTQiAmJiBVU0IKIAogY29uZmlnIFNORF9VU0JfQVVESU8KIAl0cmlzdGF0ZSAiVVNCIEF1ZGlvL01JREkgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EICYmIFVTQgogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMTgsNyArMjMsNyBAQAogCiBjb25maWcgU05EX1VTQl9VU1gyWQogCXRyaXN0YXRlICJUYXNjYW0gVVMtMTIyLCBVUy0yMjQgYW5kIFVTLTQyOCBVU0IgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EICYmIFVTQiAmJiAoWDg2IHx8IFBQQyB8fCBBTFBIQSkKKwlkZXBlbmRzIG9uIFg4NiB8fCBQUEMgfHwgQUxQSEEKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTMxLDcgKzM2LDYgQEAKIAogY29uZmlnIFNORF9VU0JfQ0FJQVEKIAl0cmlzdGF0ZSAiTmF0aXZlIEluc3RydW1lbnRzIFVTQiBhdWRpbyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EICYmIFVTQgogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtNjMsNSArNjcsNSBAQAogCSAgICogTmF0aXZlIEluc3RydW1lbnRzIEtvcmUgQ29udHJvbGxlciAyCiAJICAgKiBOYXRpdmUgSW5zdHJ1bWVudHMgQXVkaW8gS29udHJvbCAxCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1VTQgogCmRpZmYgLS1naXQgYS9zb3VuZC91c2IvY2FpYXEvY2FpYXEtYXVkaW8uYyBiL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1hdWRpby5jCmluZGV4IDI0OTcwYTUuLmIzYTYwMzMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1hdWRpby5jCisrKyBiL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1hdWRpby5jCkBAIC02MzcsNiArNjM3LDcgQEAKIAlzd2l0Y2ggKGRldi0+Y2hpcC51c2JfaWQpIHsKIAljYXNlIFVTQl9JRChVU0JfVklEX05BVElWRUlOU1RSVU1FTlRTLCBVU0JfUElEX0FLMSk6CiAJY2FzZSBVU0JfSUQoVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywgVVNCX1BJRF9SSUdLT05UUk9MMyk6CisJY2FzZSBVU0JfSUQoVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywgVVNCX1BJRF9TRVNTSU9OSU8pOgogCQlkZXYtPnNhbXBsZXJhdGVzIHw9IFNORFJWX1BDTV9SQVRFXzg4MjAwOwogCQlkZXYtPnNhbXBsZXJhdGVzIHw9IFNORFJWX1BDTV9SQVRFXzE5MjAwMDsKIAkJYnJlYWs7CmRpZmYgLS1naXQgYS9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmMgYi9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmMKaW5kZXggYTk3MmY3Ny4uODMxNzUwOCAxMDA2NDQKLS0tIGEvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5jCisrKyBiL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuYwpAQCAtNDIsMTQgKzQyLDE1IEBACiAjZW5kaWYKIAogTU9EVUxFX0FVVEhPUigiRGFuaWVsIE1hY2sgPGRhbmllbEBjYWlhcS5kZT4iKTsKLU1PRFVMRV9ERVNDUklQVElPTigiY2FpYXEgVVNCIGF1ZGlvLCB2ZXJzaW9uIDEuMy42Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oImNhaWFxIFVTQiBhdWRpbywgdmVyc2lvbiAxLjMuOCIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7TmF0aXZlIEluc3RydW1lbnRzLCBSaWdLb250cm9sMn0sIgogCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBSaWdLb250cm9sM30sIgogCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBLb3JlIENvbnRyb2xsZXJ9LCIKIAkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgS29yZSBDb250cm9sbGVyIDJ9LCIKLQkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgQXVkaW8gS29udHJvbCAxfSIKLQkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgQXVkaW8gOCBESn19Iik7CisJCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIEF1ZGlvIEtvbnRyb2wgMX0sIgorCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBBdWRpbyA4IERKfSwiCisJCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIFNlc3Npb24gSS9PfX0iKTsKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsgLyogSW5kZXggMC1tYXggKi8KIHN0YXRpYyBjaGFyKiBpZFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX1NUUjsgLyogSWQgZm9yIHRoaXMgY2FyZCAqLwpAQCAtMTEwLDYgKzExMSwxMSBAQAogCQkuaWRWZW5kb3IgPSAgICAgVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywKIAkJLmlkUHJvZHVjdCA9ICAgIFVTQl9QSURfQVVESU84REoKIAl9LAorCXsKKwkJLm1hdGNoX2ZsYWdzID0gIFVTQl9ERVZJQ0VfSURfTUFUQ0hfREVWSUNFLAorCQkuaWRWZW5kb3IgPSAgICAgVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywKKwkJLmlkUHJvZHVjdCA9ICAgIFVTQl9QSURfU0VTU0lPTklPCisJfSwKIAl7IC8qIHRlcm1pbmF0b3IgKi8gfQogfTsKIApkaWZmIC0tZ2l0IGEvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5oIGIvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5oCmluZGV4IDk2YTQ5MTMuLmY5ZmJkYmEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuaAorKysgYi9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmgKQEAgLTExLDYgKzExLDcgQEAKICNkZWZpbmUgVVNCX1BJRF9LT1JFQ09OVFJPTExFUjIJMHg0NzEyCiAjZGVmaW5lIFVTQl9QSURfQUsxCQkweDA4MTUKICNkZWZpbmUgVVNCX1BJRF9BVURJTzhESgkweDE5NzgKKyNkZWZpbmUgVVNCX1BJRF9TRVNTSU9OSU8JMHgxOTE1CiAKICNkZWZpbmUgRVAxX0JVRlNJWkUgNjQKICNkZWZpbmUgQ0FJQVFfVVNCX1NUUl9MRU4gMHhmZgpkaWZmIC0tZ2l0IGEvc291bmQvdXNiL3VzYmF1ZGlvLmMgYi9zb3VuZC91c2IvdXNiYXVkaW8uYwppbmRleCA0MTBiZTRhLi5iOGNmYjdjIDEwMDY0NAotLS0gYS9zb3VuZC91c2IvdXNiYXVkaW8uYworKysgYi9zb3VuZC91c2IvdXNiYXVkaW8uYwpAQCAtODE5LDEwICs4MTksNiBAQAogCQlyZXR1cm4gImRldmljZSBkaXNhYmxlZCI7CiAJY2FzZSAtRUhPU1RVTlJFQUNIOgogCQlyZXR1cm4gImRldmljZSBzdXNwZW5kZWQiOwotI2lmbmRlZiBDT05GSUdfVVNCX0VIQ0lfU1BMSVRfSVNPCi0JY2FzZSAtRU5PU1lTOgotCQlyZXR1cm4gImVuYWJsZSBDT05GSUdfVVNCX0VIQ0lfU1BMSVRfSVNPIHRvIHBsYXkgdGhyb3VnaCBhIGh1YiI7Ci0jZW5kaWYKIAljYXNlIC1FSU5WQUw6CiAJY2FzZSAtRUFHQUlOOgogCWNhc2UgLUVGQklHOgpkaWZmIC0tZ2l0IGEvc291bmQvdXNiL3VzYnF1aXJrcy5oIGIvc291bmQvdXNiL3VzYnF1aXJrcy5oCmluZGV4IDgyYThkMTQuLjllYTcyNmMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi91c2JxdWlya3MuaAorKysgYi9zb3VuZC91c2IvdXNicXVpcmtzLmgKQEAgLTIxMCw2ICsyMTAsMTEgQEAKIFlBTUFIQV9ERVZJQ0UoMHgxMDQzLCBOVUxMKSwKIFlBTUFIQV9ERVZJQ0UoMHgxMDQ0LCBOVUxMKSwKIFlBTUFIQV9ERVZJQ0UoMHgxMDQ1LCBOVUxMKSwKK1lBTUFIQV9JTlRFUkZBQ0UoMHgxMDRlLCAwLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDRmLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDUwLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDUxLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDUyLCBOVUxMKSwKIFlBTUFIQV9ERVZJQ0UoMHgyMDAwLCAiREdQLTciKSwKIFlBTUFIQV9ERVZJQ0UoMHgyMDAxLCAiREdQLTUiKSwKIFlBTUFIQV9ERVZJQ0UoMHgyMDAyLCBOVUxMKSwKQEAgLTEzNzksNiArMTM4NCwzOSBAQAogCX0KIH0sCiAKK3sKKwkvKiBSb2xhbmQgU29uaWNDZWxsICovCisJVVNCX0RFVklDRSgweDA1ODIsIDB4MDBjMiksCisJLmRyaXZlcl9pbmZvID0gKHVuc2lnbmVkIGxvbmcpICYgKGNvbnN0IHN0cnVjdCBzbmRfdXNiX2F1ZGlvX3F1aXJrKSB7CisJCS52ZW5kb3JfbmFtZSA9ICJSb2xhbmQiLAorCQkucHJvZHVjdF9uYW1lID0gIlNvbmljQ2VsbCIsCisJCS5pZm51bSA9IFFVSVJLX0FOWV9JTlRFUkZBQ0UsCisJCS50eXBlID0gUVVJUktfQ09NUE9TSVRFLAorCQkuZGF0YSA9IChjb25zdCBzdHJ1Y3Qgc25kX3VzYl9hdWRpb19xdWlya1tdKSB7CisJCQl7CisJCQkJLmlmbnVtID0gMCwKKwkJCQkudHlwZSA9IFFVSVJLX0FVRElPX1NUQU5EQVJEX0lOVEVSRkFDRQorCQkJfSwKKwkJCXsKKwkJCQkuaWZudW0gPSAxLAorCQkJCS50eXBlID0gUVVJUktfQVVESU9fU1RBTkRBUkRfSU5URVJGQUNFCisJCQl9LAorCQkJeworCQkJCS5pZm51bSA9IDIsCisJCQkJLnR5cGUgPSBRVUlSS19NSURJX0ZJWEVEX0VORFBPSU5ULAorCQkJCS5kYXRhID0gJiAoY29uc3Qgc3RydWN0IHNuZF91c2JfbWlkaV9lbmRwb2ludF9pbmZvKSB7CisJCQkJCS5vdXRfY2FibGVzID0gMHgwMDAxLAorCQkJCQkuaW5fY2FibGVzICA9IDB4MDAwMQorCQkJCX0KKwkJCX0sCisJCQl7CisJCQkJLmlmbnVtID0gLTEKKwkJCX0KKwkJfQorCX0KK30sCisKKwogLyogR3VpbGxlbW90IGRldmljZXMgKi8KIHsKIAkvKgpkaWZmIC0tZ2l0IGEvdmlydC9rdm0va3ZtX21haW4uYyBiL3ZpcnQva3ZtL2t2bV9tYWluLmMKaW5kZXggMmQyOWUyNi4uZDRlYWU2YSAxMDA2NDQKLS0tIGEvdmlydC9rdm0va3ZtX21haW4uYworKysgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCkBAIC0xMjY2LDEyICsxMjY2LDEyIEBACiAJY2FzZSBDUFVfVVBfQ0FOQ0VMRUQ6CiAJCXByaW50ayhLRVJOX0lORk8gImt2bTogZGlzYWJsaW5nIHZpcnR1YWxpemF0aW9uIG9uIENQVSVkXG4iLAogCQkgICAgICAgY3B1KTsKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaGFyZHdhcmVfZGlzYWJsZSwgTlVMTCwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDEpOwogCQlicmVhazsKIAljYXNlIENQVV9PTkxJTkU6CiAJCXByaW50ayhLRVJOX0lORk8gImt2bTogZW5hYmxpbmcgdmlydHVhbGl6YXRpb24gb24gQ1BVJWRcbiIsCiAJCSAgICAgICBjcHUpOwotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBoYXJkd2FyZV9lbmFibGUsIE5VTEwsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBoYXJkd2FyZV9lbmFibGUsIE5VTEwsIDEpOwogCQlicmVhazsKIAl9CiAJcmV0dXJuIE5PVElGWV9PSzsKQEAgLTEyODYsNyArMTI4Niw3IEBACiAJCSAqIGluIHZteCByb290IG1vZGUuCiAJCSAqLwogCQlwcmludGsoS0VSTl9JTkZPICJrdm06IGV4aXRpbmcgaGFyZHdhcmUgdmlydHVhbGl6YXRpb25cbiIpOwotCQlvbl9lYWNoX2NwdShoYXJkd2FyZV9kaXNhYmxlLCBOVUxMLCAwLCAxKTsKKwkJb25fZWFjaF9jcHUoaGFyZHdhcmVfZGlzYWJsZSwgTlVMTCwgMSk7CiAJfQogCXJldHVybiBOT1RJRllfT0s7CiB9CkBAIC0xNDc0LDEyICsxNDc0LDEyIEBACiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKIAkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwKIAkJCQlrdm1fYXJjaF9jaGVja19wcm9jZXNzb3JfY29tcGF0LAotCQkJCSZyLCAwLCAxKTsKKwkJCQkmciwgMSk7CiAJCWlmIChyIDwgMCkKIAkJCWdvdG8gb3V0X2ZyZWVfMTsKIAl9CiAKLQlvbl9lYWNoX2NwdShoYXJkd2FyZV9lbmFibGUsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2VuYWJsZSwgTlVMTCwgMSk7CiAJciA9IHJlZ2lzdGVyX2NwdV9ub3RpZmllcigma3ZtX2NwdV9ub3RpZmllcik7CiAJaWYgKHIpCiAJCWdvdG8gb3V0X2ZyZWVfMjsKQEAgLTE1MjUsNyArMTUyNSw3IEBACiAJdW5yZWdpc3Rlcl9yZWJvb3Rfbm90aWZpZXIoJmt2bV9yZWJvb3Rfbm90aWZpZXIpOwogCXVucmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZrdm1fY3B1X25vdGlmaWVyKTsKIG91dF9mcmVlXzI6Ci0Jb25fZWFjaF9jcHUoaGFyZHdhcmVfZGlzYWJsZSwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoaGFyZHdhcmVfZGlzYWJsZSwgTlVMTCwgMSk7CiBvdXRfZnJlZV8xOgogCWt2bV9hcmNoX2hhcmR3YXJlX3Vuc2V0dXAoKTsKIG91dF9mcmVlXzA6CkBAIC0xNTQ3LDcgKzE1NDcsNyBAQAogCXN5c2Rldl9jbGFzc191bnJlZ2lzdGVyKCZrdm1fc3lzZGV2X2NsYXNzKTsKIAl1bnJlZ2lzdGVyX3JlYm9vdF9ub3RpZmllcigma3ZtX3JlYm9vdF9ub3RpZmllcik7CiAJdW5yZWdpc3Rlcl9jcHVfbm90aWZpZXIoJmt2bV9jcHVfbm90aWZpZXIpOwotCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDEpOwogCWt2bV9hcmNoX2hhcmR3YXJlX3Vuc2V0dXAoKTsKIAlrdm1fYXJjaF9leGl0KCk7CiAJa3ZtX2V4aXRfZGVidWcoKTsK